summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/Makefile3
-rw-r--r--sys/amd64/acpica/acpi_wakecode.S9
-rw-r--r--sys/amd64/amd64/cpu_switch.S2
-rw-r--r--sys/amd64/amd64/efirt.c7
-rw-r--r--sys/amd64/amd64/pmap.c114
-rw-r--r--sys/amd64/conf/GENERIC1
-rw-r--r--sys/amd64/conf/MINIMAL1
-rw-r--r--sys/amd64/conf/NOTES1
-rw-r--r--sys/amd64/include/pmap.h1
-rw-r--r--sys/amd64/include/vmparam.h2
-rw-r--r--sys/amd64/pci/pci_cfgreg.c13
-rw-r--r--sys/arm/allwinner/a10_mmc.c8
-rw-r--r--sys/arm/amlogic/aml8726/aml8726_mmc.c7
-rw-r--r--sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c6
-rw-r--r--sys/arm/arm/busdma_machdep-v4.c6
-rw-r--r--sys/arm/arm/busdma_machdep-v6.c10
-rw-r--r--sys/arm/arm/gic.c6
-rw-r--r--sys/arm/arm/pmap-v6.c36
-rw-r--r--sys/arm/at91/at91_mci.c12
-rw-r--r--sys/arm/broadcom/bcm2835/bcm2835_sdhci.c12
-rw-r--r--sys/arm/include/efi.h27
-rw-r--r--sys/arm/include/pmap-v6.h1
-rw-r--r--sys/arm/include/vmparam.h2
-rw-r--r--sys/arm/lpc/lpc_mmc.c19
-rw-r--r--sys/arm/nvidia/tegra_sdhci.c6
-rw-r--r--sys/arm/ti/ti_sdhci.c12
-rw-r--r--sys/arm64/arm64/busdma_bounce.c29
-rw-r--r--sys/arm64/arm64/copyinout.S12
-rw-r--r--sys/arm64/arm64/exception.S11
-rw-r--r--sys/arm64/arm64/genassym.c2
-rw-r--r--sys/arm64/arm64/locore.S13
-rw-r--r--sys/arm64/arm64/machdep.c34
-rw-r--r--sys/arm64/arm64/mp_machdep.c1
-rw-r--r--sys/arm64/arm64/pmap.c203
-rw-r--r--sys/arm64/arm64/support.S26
-rw-r--r--sys/arm64/arm64/trap.c51
-rw-r--r--sys/arm64/arm64/vm_machdep.c12
-rw-r--r--sys/arm64/include/armreg.h13
-rw-r--r--sys/arm64/include/asm.h19
-rw-r--r--sys/arm64/include/cpufunc.h2
-rw-r--r--sys/arm64/include/efi.h27
-rw-r--r--sys/arm64/include/frame.h3
-rw-r--r--sys/arm64/include/pte.h5
-rw-r--r--sys/arm64/include/vm.h12
-rw-r--r--sys/boot/Makefile.inc7
-rw-r--r--sys/boot/efi/boot1/Makefile5
-rw-r--r--sys/boot/efi/boot1/boot1.c1
-rw-r--r--sys/boot/efi/boot1/boot_module.h2
-rw-r--r--sys/boot/efi/include/efichar.h35
-rw-r--r--sys/boot/efi/libefi/efichar.c186
-rw-r--r--sys/boot/efi/loader/main.c2
-rw-r--r--sys/boot/i386/boot2/Makefile8
-rw-r--r--sys/boot/i386/pxeldr/Makefile2
-rw-r--r--sys/boot/i386/zfsboot/Makefile4
-rw-r--r--sys/boot/pc98/boot0.5/Makefile2
-rw-r--r--sys/boot/pc98/boot2/Makefile4
-rw-r--r--sys/boot/pc98/pc98boot/Makefile2
-rw-r--r--sys/boot/powerpc/boot1.chrp/Makefile4
-rw-r--r--sys/boot/sparc64/boot1/Makefile6
-rw-r--r--sys/cam/cam_periph.c14
-rw-r--r--sys/cam/ctl/ctl_frontend_iscsi.c4
-rw-r--r--sys/cam/scsi/scsi_da.c1
-rw-r--r--sys/cam/scsi/scsi_enc_ses.c3
-rw-r--r--sys/cam/scsi/scsi_sa.c13
-rw-r--r--sys/cddl/compat/opensolaris/sys/vnode.h3
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c5
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c6
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c3
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c114
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c10
-rw-r--r--sys/cddl/dev/dtrace/powerpc/dtrace_isa.c57
-rw-r--r--sys/cddl/dev/fbt/powerpc/fbt_isa.c2
-rw-r--r--sys/compat/freebsd32/capabilities.conf4
-rw-r--r--sys/compat/freebsd32/freebsd32_misc.c26
-rw-r--r--sys/compat/freebsd32/freebsd32_proto.h7
-rw-r--r--sys/compat/freebsd32/freebsd32_syscall.h2
-rw-r--r--sys/compat/freebsd32/freebsd32_syscalls.c2
-rw-r--r--sys/compat/freebsd32/freebsd32_sysent.c6
-rw-r--r--sys/compat/freebsd32/freebsd32_systrace_args.c12
-rw-r--r--sys/compat/freebsd32/syscalls.master4
-rw-r--r--sys/compat/linux/linux_file.c10
-rw-r--r--sys/compat/linux/linux_ioctl.c48
-rw-r--r--sys/compat/linux/linux_ioctl.h1
-rw-r--r--sys/compat/linux/linux_misc.c6
-rw-r--r--sys/compat/ndis/kern_ndis.c19
-rw-r--r--sys/compat/ndis/subr_ndis.c11
-rw-r--r--sys/conf/files23
-rw-r--r--sys/conf/files.amd649
-rw-r--r--sys/conf/files.arm641
-rw-r--r--sys/conf/files.i3865
-rw-r--r--sys/conf/kern.opts.mk1
-rw-r--r--sys/conf/kern.post.mk8
-rw-r--r--sys/conf/kmod.mk2
-rw-r--r--sys/conf/newvers.sh4
-rw-r--r--sys/conf/options.amd643
-rw-r--r--sys/conf/options.arm642
-rw-r--r--sys/contrib/edk2/Include/Base.h1270
-rw-r--r--sys/contrib/edk2/Include/Guid/HiiFormMapMethodGuid.h25
-rw-r--r--sys/contrib/edk2/Include/Guid/PcAnsi.h58
-rw-r--r--sys/contrib/edk2/Include/Guid/WinCertificate.h128
-rw-r--r--sys/contrib/edk2/Include/IndustryStandard/Acpi10.h661
-rw-r--r--sys/contrib/edk2/Include/IndustryStandard/Acpi20.h545
-rw-r--r--sys/contrib/edk2/Include/IndustryStandard/Acpi30.h729
-rw-r--r--sys/contrib/edk2/Include/IndustryStandard/Acpi40.h1309
-rw-r--r--sys/contrib/edk2/Include/IndustryStandard/Acpi50.h2119
-rw-r--r--sys/contrib/edk2/Include/IndustryStandard/Acpi51.h2139
-rw-r--r--sys/contrib/edk2/Include/IndustryStandard/Acpi60.h2346
-rw-r--r--sys/contrib/edk2/Include/IndustryStandard/AcpiAml.h175
-rw-r--r--sys/contrib/edk2/Include/IndustryStandard/Bluetooth.h47
-rw-r--r--sys/contrib/edk2/Include/Library/BaseLib.h8910
-rw-r--r--sys/contrib/edk2/Include/Library/BaseMemoryLib.h489
-rw-r--r--sys/contrib/edk2/Include/Library/DebugLib.h529
-rw-r--r--sys/contrib/edk2/Include/Library/DevicePathLib.h566
-rw-r--r--sys/contrib/edk2/Include/Library/MemoryAllocationLib.h493
-rw-r--r--sys/contrib/edk2/Include/Library/PcdLib.h2260
-rw-r--r--sys/contrib/edk2/Include/Library/PrintLib.h1052
-rw-r--r--sys/contrib/edk2/Include/Library/UefiBootServicesTableLib.h34
-rw-r--r--sys/contrib/edk2/Include/Protocol/DebugPort.h146
-rw-r--r--sys/contrib/edk2/Include/Protocol/DevicePath.h1331
-rw-r--r--sys/contrib/edk2/Include/Protocol/DevicePathFromText.h72
-rw-r--r--sys/contrib/edk2/Include/Protocol/DevicePathToText.h85
-rw-r--r--sys/contrib/edk2/Include/Protocol/DevicePathUtilities.h192
-rw-r--r--sys/contrib/edk2/Include/Protocol/SimpleTextIn.h133
-rw-r--r--sys/contrib/edk2/Include/Protocol/SimpleTextInEx.h325
-rw-r--r--sys/contrib/edk2/Include/Protocol/SimpleTextOut.h415
-rw-r--r--sys/contrib/edk2/Include/Uefi.h27
-rw-r--r--sys/contrib/edk2/Include/Uefi/UefiBaseType.h299
-rw-r--r--sys/contrib/edk2/Include/Uefi/UefiGpt.h141
-rw-r--r--sys/contrib/edk2/Include/Uefi/UefiInternalFormRepresentation.h2135
-rw-r--r--sys/contrib/edk2/Include/Uefi/UefiMultiPhase.h231
-rw-r--r--sys/contrib/edk2/Include/Uefi/UefiPxe.h1792
-rw-r--r--sys/contrib/edk2/Include/Uefi/UefiSpec.h2194
-rw-r--r--sys/contrib/edk2/MdePkg.dec2140
-rw-r--r--sys/contrib/ipfilter/netinet/ip_fil.h16
-rw-r--r--sys/contrib/ipfilter/netinet/ip_nat.c4
-rw-r--r--sys/contrib/ipfilter/netinet/ip_sync.c4
-rw-r--r--sys/contrib/octeon-sdk/cvmx-app-init.h2
-rw-r--r--sys/contrib/octeon-sdk/cvmx-helper-board.c5
-rw-r--r--sys/dev/acpica/acpi_container.c166
-rw-r--r--sys/dev/acpica/acpi_pcib_acpi.c1
-rw-r--r--sys/dev/atkbdc/psm.c182
-rw-r--r--sys/dev/bhnd/bhnd_debug.h2
-rw-r--r--sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c2
-rw-r--r--sys/dev/cxgbe/adapter.h79
-rw-r--r--sys/dev/cxgbe/common/common.h12
-rw-r--r--sys/dev/cxgbe/common/t4_hw.c99
-rw-r--r--sys/dev/cxgbe/common/t4_msg.h595
-rw-r--r--sys/dev/cxgbe/firmware/t4fw-1.16.26.0.bin.uu9603
-rw-r--r--sys/dev/cxgbe/firmware/t4fw-1.16.45.0.bin.uu9729
-rw-r--r--sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt6
-rw-r--r--sys/dev/cxgbe/firmware/t4fw_interface.h150
-rw-r--r--sys/dev/cxgbe/firmware/t5fw-1.16.26.0.bin.uu10681
-rw-r--r--sys/dev/cxgbe/firmware/t5fw-1.16.45.0.bin.uu10824
-rw-r--r--sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt30
-rw-r--r--sys/dev/cxgbe/firmware/t6fw-1.16.26.0.bin.uu9001
-rw-r--r--sys/dev/cxgbe/firmware/t6fw-1.16.45.0.bin.uu11363
-rw-r--r--sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt46
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/cm.c8
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/device.c2
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h63
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/mem.c16
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/provider.c17
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/qp.c19
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/t4.h20
-rw-r--r--sys/dev/cxgbe/offload.h1
-rw-r--r--sys/dev/cxgbe/t4_iov.c14
-rw-r--r--sys/dev/cxgbe/t4_main.c450
-rw-r--r--sys/dev/cxgbe/t4_netmap.c2
-rw-r--r--sys/dev/cxgbe/t4_sched.c463
-rw-r--r--sys/dev/cxgbe/t4_sge.c155
-rw-r--r--sys/dev/cxgbe/t4_vf.c17
-rw-r--r--sys/dev/cxgbe/tom/t4_connect.c2
-rw-r--r--sys/dev/cxgbe/tom/t4_listen.c4
-rw-r--r--sys/dev/cxgbe/tom/t4_tom.c6
-rw-r--r--sys/dev/cxgbe/tom/t4_tom.h3
-rw-r--r--sys/dev/drm2/ttm/ttm_bo_vm.c4
-rw-r--r--sys/dev/drm2/ttm/ttm_page_alloc.c2
-rw-r--r--sys/dev/e1000/if_em.c2
-rw-r--r--sys/dev/efidev/efidev.c216
-rw-r--r--sys/dev/hyperv/pcib/vmbus_pcib.c2
-rw-r--r--sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c31
-rw-r--r--sys/dev/hyperv/vmbus/vmbus.c102
-rw-r--r--sys/dev/hyperv/vmbus/vmbus_res.c98
-rw-r--r--sys/dev/if_ndis/if_ndis.c81
-rw-r--r--sys/dev/if_ndis/if_ndisvar.h1
-rw-r--r--sys/dev/ixl/i40e_adminq.c4
-rw-r--r--sys/dev/ixl/i40e_adminq_cmd.h39
-rw-r--r--sys/dev/ixl/i40e_common.c407
-rw-r--r--sys/dev/ixl/i40e_devids.h1
-rw-r--r--sys/dev/ixl/i40e_lan_hmc.c5
-rw-r--r--sys/dev/ixl/i40e_nvm.c35
-rw-r--r--sys/dev/ixl/i40e_osdep.c58
-rw-r--r--sys/dev/ixl/i40e_osdep.h5
-rw-r--r--sys/dev/ixl/i40e_prototype.h24
-rw-r--r--sys/dev/ixl/i40e_type.h52
-rw-r--r--sys/dev/ixl/i40e_virtchnl.h5
-rw-r--r--sys/dev/ixl/if_ixl.c135
-rw-r--r--sys/dev/ixl/if_ixlv.c154
-rw-r--r--sys/dev/ixl/ixl.h31
-rw-r--r--sys/dev/ixl/ixl_iw.c469
-rw-r--r--sys/dev/ixl/ixl_iw.h75
-rw-r--r--sys/dev/ixl/ixl_iw_int.h71
-rw-r--r--sys/dev/ixl/ixl_pf.h57
-rw-r--r--sys/dev/ixl/ixl_pf_i2c.c605
-rw-r--r--sys/dev/ixl/ixl_pf_iov.c68
-rw-r--r--sys/dev/ixl/ixl_pf_iov.h3
-rw-r--r--sys/dev/ixl/ixl_pf_main.c1254
-rw-r--r--sys/dev/ixl/ixl_txrx.c73
-rw-r--r--sys/dev/ixl/ixlv.h3
-rw-r--r--sys/dev/ixl/ixlvc.c17
-rw-r--r--sys/dev/jedec_ts/jedec_ts.c2
-rw-r--r--sys/dev/md/md.c62
-rw-r--r--sys/dev/mmc/bridge.h63
-rw-r--r--sys/dev/mmc/host/dwmmc.c10
-rw-r--r--sys/dev/mmc/mmc.c837
-rw-r--r--sys/dev/mmc/mmc_ioctl.h64
-rw-r--r--sys/dev/mmc/mmc_private.h69
-rw-r--r--sys/dev/mmc/mmc_subr.c252
-rw-r--r--sys/dev/mmc/mmc_subr.h72
-rw-r--r--sys/dev/mmc/mmcbr_if.m29
-rw-r--r--sys/dev/mmc/mmcbrvar.h25
-rw-r--r--sys/dev/mmc/mmcreg.h194
-rw-r--r--sys/dev/mmc/mmcsd.c1052
-rw-r--r--sys/dev/mmc/mmcvar.h6
-rw-r--r--sys/dev/mpr/mpi/mpi2.h74
-rw-r--r--sys/dev/mpr/mpi/mpi2_cnfg.h545
-rw-r--r--sys/dev/mpr/mpi/mpi2_hbd.h4
-rw-r--r--sys/dev/mpr/mpi/mpi2_history.txt124
-rw-r--r--sys/dev/mpr/mpi/mpi2_init.h17
-rw-r--r--sys/dev/mpr/mpi/mpi2_ioc.h246
-rwxr-xr-xsys/dev/mpr/mpi/mpi2_pci.h151
-rw-r--r--sys/dev/mpr/mpi/mpi2_tool.h14
-rw-r--r--sys/dev/mpr/mpr.c705
-rw-r--r--sys/dev/mpr/mpr_config.c301
-rw-r--r--sys/dev/mpr/mpr_mapping.c1603
-rw-r--r--sys/dev/mpr/mpr_mapping.h51
-rw-r--r--sys/dev/mpr/mpr_pci.c56
-rw-r--r--sys/dev/mpr/mpr_sas.c514
-rw-r--r--sys/dev/mpr/mpr_sas.h2
-rw-r--r--sys/dev/mpr/mpr_sas_lsi.c286
-rw-r--r--sys/dev/mpr/mpr_table.c133
-rw-r--r--sys/dev/mpr/mpr_table.h65
-rw-r--r--sys/dev/mpr/mpr_user.c84
-rw-r--r--sys/dev/mpr/mprvar.h174
-rw-r--r--sys/dev/mps/mps.c15
-rw-r--r--sys/dev/mps/mps_mapping.c1095
-rw-r--r--sys/dev/mps/mps_sas.c51
-rw-r--r--sys/dev/mps/mps_sas_lsi.c91
-rw-r--r--sys/dev/mps/mps_table.c115
-rw-r--r--sys/dev/mps/mps_table.h64
-rw-r--r--sys/dev/mps/mps_user.c2
-rw-r--r--sys/dev/mps/mpsvar.h49
-rw-r--r--sys/dev/nand/nandsim.c3
-rw-r--r--sys/dev/psci/psci.c7
-rw-r--r--sys/dev/psci/psci.h2
-rw-r--r--sys/dev/qlnx/qlnxe/bcm_osal.h10
-rw-r--r--sys/dev/qlnx/qlnxe/common_hsi.h143
-rw-r--r--sys/dev/qlnx/qlnxe/ecore.h59
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_chain.h5
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_cxt.c125
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_cxt.h7
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c746
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.h15
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_dbg_values.h4691
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_dcbx.c186
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_dcbx.h1
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_dev.c724
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_dev_api.h73
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_fcoe_api.h1
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_gtt_reg_addr.h1
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_hsi_common.h1781
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_hsi_debug_tools.h5
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_hsi_eth.h1117
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_hsi_fcoe.h734
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_hsi_iscsi.h630
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_hsi_iwarp.h808
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_hsi_rdma.h866
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_hsi_roce.h50
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_hw.c14
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_hw.h38
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.c272
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.h131
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_init_ops.c65
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_init_ops.h4
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_init_values.h93770
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_int.c179
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_int.h3
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_int_api.h11
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_iov_api.h105
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_iro.h1
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_iro_values.h5
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_iscsi.h1
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_iscsi_api.h28
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_l2.c36
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_l2.h29
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_l2_api.h47
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_ll2.h11
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_ll2_api.h15
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_mcp.c1166
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_mcp.h106
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_mcp_api.h142
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_ooo.h30
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_proto_if.h9
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_roce.h20
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_roce_api.h25
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_rt_defs.h759
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_sp_api.h2
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_sp_commands.c41
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_sp_commands.h15
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_spq.c40
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_sriov.h44
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_vf.h65
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_vf_api.h34
-rw-r--r--sys/dev/qlnx/qlnxe/ecore_vfpf_if.h10
-rw-r--r--sys/dev/qlnx/qlnxe/eth_common.h1
-rw-r--r--sys/dev/qlnx/qlnxe/fcoe_common.h905
-rw-r--r--sys/dev/qlnx/qlnxe/iscsi_common.h1444
-rw-r--r--sys/dev/qlnx/qlnxe/mcp_private.h56
-rw-r--r--sys/dev/qlnx/qlnxe/mcp_public.h273
-rw-r--r--sys/dev/qlnx/qlnxe/mfw_hsi.h1
-rw-r--r--sys/dev/qlnx/qlnxe/nvm_cfg.h15
-rw-r--r--sys/dev/qlnx/qlnxe/nvm_map.h1
-rw-r--r--sys/dev/qlnx/qlnxe/pcics_reg_driver.h4
-rw-r--r--sys/dev/qlnx/qlnxe/qlnx_def.h166
-rw-r--r--sys/dev/qlnx/qlnxe/qlnx_ioctl.c93
-rw-r--r--sys/dev/qlnx/qlnxe/qlnx_os.c937
-rw-r--r--sys/dev/qlnx/qlnxe/qlnx_os.h5
-rw-r--r--sys/dev/qlnx/qlnxe/qlnx_ver.h4
-rw-r--r--sys/dev/qlnx/qlnxe/rdma_common.h1
-rw-r--r--sys/dev/qlnx/qlnxe/reg_addr.h12241
-rw-r--r--sys/dev/qlnx/qlnxe/spad_layout.h14
-rw-r--r--sys/dev/qlnx/qlnxe/storage_common.h59
-rw-r--r--sys/dev/qlnx/qlnxe/tcp_common.h1
-rw-r--r--sys/dev/qlxgbe/ql_hw.c2
-rw-r--r--sys/dev/qlxgbe/ql_hw.h1
-rw-r--r--sys/dev/qlxgbe/ql_isr.c3
-rw-r--r--sys/dev/qlxgbe/ql_os.c24
-rw-r--r--sys/dev/sdhci/fsl_sdhci.c15
-rw-r--r--sys/dev/sdhci/sdhci.c449
-rw-r--r--sys/dev/sdhci/sdhci.h485
-rw-r--r--sys/dev/sdhci/sdhci_acpi.c87
-rw-r--r--sys/dev/sdhci/sdhci_fdt.c72
-rw-r--r--sys/dev/sdhci/sdhci_fdt_gpio.c8
-rw-r--r--sys/dev/sdhci/sdhci_if.m18
-rw-r--r--sys/dev/sdhci/sdhci_pci.c149
-rw-r--r--sys/dev/sound/pcm/buffer.c1
-rw-r--r--sys/dev/sound/pcm/feeder_mixer.c8
-rw-r--r--sys/dev/tws/tws.h2
-rw-r--r--sys/dev/uart/uart_bus_pci.c1
-rw-r--r--sys/dev/uart/uart_dev_lpc.c12
-rw-r--r--sys/dev/uart/uart_dev_ns8250.c12
-rw-r--r--sys/dev/usb/controller/xhci_pci.c6
-rw-r--r--sys/dev/vmware/vmxnet3/if_vmx.c14
-rw-r--r--sys/dev/vt/vt_core.c71
-rw-r--r--sys/dev/xen/blkfront/blkfront.c11
-rw-r--r--sys/dev/xen/evtchn/evtchn_dev.c6
-rw-r--r--sys/dev/xen/netfront/netfront.c83
-rw-r--r--sys/fs/cuse/cuse.c4
-rw-r--r--sys/fs/nfsclient/nfs_clcomsubs.c1
-rw-r--r--sys/fs/nfsclient/nfs_clrpcops.c4
-rw-r--r--sys/fs/tmpfs/tmpfs_subr.c9
-rw-r--r--sys/geom/mirror/g_mirror.c27
-rw-r--r--sys/geom/mirror/g_mirror.h8
-rw-r--r--sys/geom/mirror/g_mirror_ctl.c223
-rw-r--r--sys/geom/part/g_part.c5
-rw-r--r--sys/i386/conf/GENERIC1
-rw-r--r--sys/i386/i386/pmap.c111
-rw-r--r--sys/i386/include/efi.h14
-rw-r--r--sys/i386/include/pmap.h1
-rw-r--r--sys/i386/isa/npx.c13
-rw-r--r--sys/kern/capabilities.conf7
-rw-r--r--sys/kern/imgact_binmisc.c2
-rw-r--r--sys/kern/imgact_elf.c20
-rw-r--r--sys/kern/init_sysent.c4
-rw-r--r--sys/kern/kern_cpuset.c20
-rw-r--r--sys/kern/kern_event.c15
-rw-r--r--sys/kern/kern_exec.c2
-rw-r--r--sys/kern/kern_fail.c2
-rw-r--r--sys/kern/kern_fork.c2
-rw-r--r--sys/kern/kern_mutex.c13
-rw-r--r--sys/kern/kern_proc.c2
-rw-r--r--sys/kern/kern_rwlock.c9
-rw-r--r--sys/kern/kern_sendfile.c4
-rw-r--r--sys/kern/kern_sig.c34
-rw-r--r--sys/kern/kern_sx.c8
-rw-r--r--sys/kern/kern_thread.c12
-rw-r--r--sys/kern/subr_blist.c29
-rw-r--r--sys/kern/subr_kobj.c12
-rw-r--r--sys/kern/subr_prf.c1
-rw-r--r--sys/kern/uipc_shm.c9
-rw-r--r--sys/kern/uipc_socket.c25
-rw-r--r--sys/kern/vfs_aio.c4
-rw-r--r--sys/kern/vfs_bio.c20
-rw-r--r--sys/kern/vfs_cache.c7
-rw-r--r--sys/libkern/arm64/crc32c_armv8.S78
-rw-r--r--sys/libkern/bcmp.c2
-rw-r--r--sys/libkern/bsearch.c14
-rw-r--r--sys/libkern/crc32.c18
-rw-r--r--sys/libkern/iconv_ucs.c4
-rw-r--r--sys/libkern/iconv_xlat16.c8
-rw-r--r--sys/libkern/memmem.c2
-rw-r--r--sys/libkern/qdivrem.c8
-rw-r--r--sys/libkern/qsort.c129
-rw-r--r--sys/libkern/random.c2
-rw-r--r--sys/libkern/scanc.c6
-rw-r--r--sys/libkern/strcmp.c2
-rw-r--r--sys/libkern/strncpy.c4
-rw-r--r--sys/mips/include/efi.h14
-rw-r--r--sys/mips/mips/busdma_machdep.c10
-rw-r--r--sys/modules/3dfx/Makefile3
-rw-r--r--sys/modules/3dfx_linux/Makefile2
-rw-r--r--sys/modules/Makefile19
-rw-r--r--sys/modules/aac/Makefile2
-rw-r--r--sys/modules/aac/aac_linux/Makefile2
-rw-r--r--sys/modules/aacraid/Makefile2
-rw-r--r--sys/modules/aacraid/aacraid_linux/Makefile2
-rw-r--r--sys/modules/accf_data/Makefile2
-rw-r--r--sys/modules/accf_dns/Makefile2
-rw-r--r--sys/modules/accf_http/Makefile2
-rw-r--r--sys/modules/acl_nfs4/Makefile2
-rw-r--r--sys/modules/acl_posix1e/Makefile2
-rw-r--r--sys/modules/acpi/acpi_asus/Makefile2
-rw-r--r--sys/modules/acpi/acpi_asus_wmi/Makefile4
-rw-r--r--sys/modules/acpi/acpi_dock/Makefile2
-rw-r--r--sys/modules/acpi/acpi_fujitsu/Makefile4
-rw-r--r--sys/modules/acpi/acpi_hp/Makefile4
-rw-r--r--sys/modules/acpi/acpi_ibm/Makefile2
-rw-r--r--sys/modules/acpi/acpi_panasonic/Makefile2
-rw-r--r--sys/modules/acpi/acpi_rapidstart/Makefile2
-rw-r--r--sys/modules/acpi/acpi_sony/Makefile2
-rw-r--r--sys/modules/acpi/acpi_toshiba/Makefile2
-rw-r--r--sys/modules/acpi/acpi_video/Makefile2
-rw-r--r--sys/modules/acpi/acpi_wmi/Makefile4
-rw-r--r--sys/modules/acpi/aibs/Makefile2
-rw-r--r--sys/modules/ae/Makefile2
-rw-r--r--sys/modules/aesni/Makefile2
-rw-r--r--sys/modules/age/Makefile2
-rw-r--r--sys/modules/agp/Makefile2
-rw-r--r--sys/modules/aha/Makefile2
-rw-r--r--sys/modules/ahci/Makefile2
-rw-r--r--sys/modules/aic/Makefile2
-rw-r--r--sys/modules/aic7xxx/ahc/Makefile2
-rw-r--r--sys/modules/aic7xxx/ahc/ahc_isa/Makefile4
-rw-r--r--sys/modules/aic7xxx/ahc/ahc_pci/Makefile4
-rw-r--r--sys/modules/aic7xxx/ahd/Makefile14
-rw-r--r--sys/modules/aic7xxx/aicasm/Makefile4
-rw-r--r--sys/modules/alc/Makefile2
-rw-r--r--sys/modules/ale/Makefile2
-rw-r--r--sys/modules/alq/Makefile2
-rw-r--r--sys/modules/am335x_dmtpps/Makefile2
-rw-r--r--sys/modules/amd_ecc_inject/Makefile2
-rw-r--r--sys/modules/amdsbwd/Makefile2
-rw-r--r--sys/modules/amdtemp/Makefile2
-rw-r--r--sys/modules/amr/Makefile2
-rw-r--r--sys/modules/amr/amr_cam/Makefile2
-rw-r--r--sys/modules/amr/amr_linux/Makefile2
-rw-r--r--sys/modules/an/Makefile2
-rw-r--r--sys/modules/aout/Makefile2
-rw-r--r--sys/modules/apm/Makefile2
-rw-r--r--sys/modules/ar71xx/ar71xx_ehci/Makefile6
-rw-r--r--sys/modules/ar71xx/ar71xx_ohci/Makefile6
-rw-r--r--sys/modules/arcmsr/Makefile2
-rw-r--r--sys/modules/arcnet/Makefile2
-rw-r--r--sys/modules/asmc/Makefile2
-rw-r--r--sys/modules/ata/atacard/Makefile2
-rw-r--r--sys/modules/ata/atacore/Makefile2
-rw-r--r--sys/modules/ata/ataisa/Makefile2
-rw-r--r--sys/modules/ata/atapci/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/ataacard/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/ataacerlabs/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/ataamd/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/ataati/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atacenatek/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atacypress/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atacyrix/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atahighpoint/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/ataintel/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/ataite/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atajmicron/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atamarvell/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atamicron/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atanational/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atanetcell/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atanvidia/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atapromise/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/ataserverworks/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atasiliconimage/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atasis/Makefile2
-rw-r--r--sys/modules/ata/atapci/chipsets/atavia/Makefile2
-rw-r--r--sys/modules/ath_ahb/Makefile6
-rw-r--r--sys/modules/ath_pci/Makefile6
-rw-r--r--sys/modules/autofs/Makefile2
-rw-r--r--sys/modules/auxio/Makefile2
-rw-r--r--sys/modules/bce/Makefile2
-rw-r--r--sys/modules/bfe/Makefile2
-rw-r--r--sys/modules/bge/Makefile2
-rw-r--r--sys/modules/bhnd/Makefile4
-rw-r--r--sys/modules/bhnd/bcma/Makefile2
-rw-r--r--sys/modules/bhnd/bcma_bhndb/Makefile2
-rw-r--r--sys/modules/bhnd/bhndb/Makefile2
-rw-r--r--sys/modules/bhnd/bhndb_pci/Makefile2
-rw-r--r--sys/modules/bhnd/cores/bhnd_pci/Makefile4
-rw-r--r--sys/modules/bhnd/cores/bhnd_pci_hostb/Makefile4
-rw-r--r--sys/modules/bhnd/cores/bhnd_pcib/Makefile4
-rw-r--r--sys/modules/bhnd/siba/Makefile2
-rw-r--r--sys/modules/bhnd/siba_bhndb/Makefile2
-rw-r--r--sys/modules/bios/smapi/Makefile2
-rw-r--r--sys/modules/bios/smbios/Makefile2
-rw-r--r--sys/modules/bios/vpd/Makefile2
-rw-r--r--sys/modules/bktr/bktr/Makefile2
-rw-r--r--sys/modules/bktr/bktr_mem/Makefile2
-rw-r--r--sys/modules/bm/Makefile2
-rw-r--r--sys/modules/bnxt/Makefile2
-rw-r--r--sys/modules/bridgestp/Makefile2
-rw-r--r--sys/modules/bwi/Makefile2
-rw-r--r--sys/modules/bwn/Makefile4
-rw-r--r--sys/modules/bwn_pci/Makefile2
-rw-r--r--sys/modules/bxe/Makefile2
-rw-r--r--sys/modules/bytgpio/Makefile2
-rw-r--r--sys/modules/cam/Makefile2
-rw-r--r--sys/modules/cardbus/Makefile2
-rw-r--r--sys/modules/carp/Makefile4
-rw-r--r--sys/modules/cas/Makefile2
-rw-r--r--sys/modules/cbb/Makefile2
-rw-r--r--sys/modules/cc/cc_cdg/Makefile2
-rw-r--r--sys/modules/cc/cc_chd/Makefile2
-rw-r--r--sys/modules/cc/cc_cubic/Makefile2
-rw-r--r--sys/modules/cc/cc_dctcp/Makefile2
-rw-r--r--sys/modules/cc/cc_hd/Makefile2
-rw-r--r--sys/modules/cc/cc_htcp/Makefile2
-rw-r--r--sys/modules/cc/cc_vegas/Makefile2
-rw-r--r--sys/modules/cd9660/Makefile2
-rw-r--r--sys/modules/cd9660_iconv/Makefile2
-rw-r--r--sys/modules/ce/Makefile2
-rw-r--r--sys/modules/cfi/Makefile2
-rw-r--r--sys/modules/cfiscsi/Makefile12
-rw-r--r--sys/modules/chromebook_platform/Makefile6
-rw-r--r--sys/modules/ciss/Makefile2
-rw-r--r--sys/modules/cloudabi/Makefile2
-rw-r--r--sys/modules/cloudabi32/Makefile2
-rw-r--r--sys/modules/cloudabi64/Makefile2
-rw-r--r--sys/modules/cm/Makefile2
-rw-r--r--sys/modules/cmx/Makefile2
-rw-r--r--sys/modules/coff/Makefile2
-rw-r--r--sys/modules/coretemp/Makefile2
-rw-r--r--sys/modules/cp/Makefile2
-rw-r--r--sys/modules/cpsw/Makefile2
-rw-r--r--sys/modules/cpuctl/Makefile2
-rw-r--r--sys/modules/cpufreq/Makefile8
-rw-r--r--sys/modules/crypto/Makefile20
-rw-r--r--sys/modules/cryptodev/Makefile2
-rw-r--r--sys/modules/cs/Makefile2
-rw-r--r--sys/modules/ctau/Makefile2
-rw-r--r--sys/modules/ctl/Makefile6
-rw-r--r--sys/modules/cuse/Makefile2
-rw-r--r--sys/modules/cx/Makefile2
-rw-r--r--sys/modules/cxgb/Makefile2
-rw-r--r--sys/modules/cxgb/cxgb/Makefile2
-rw-r--r--sys/modules/cxgb/cxgb_t3fw/Makefile2
-rw-r--r--sys/modules/cxgb/iw_cxgb/Makefile6
-rw-r--r--sys/modules/cxgb/tom/Makefile2
-rw-r--r--sys/modules/cxgbe/Makefile2
-rw-r--r--sys/modules/cxgbe/cxgbei/Makefile2
-rw-r--r--sys/modules/cxgbe/if_cc/Makefile2
-rw-r--r--sys/modules/cxgbe/if_ccv/Makefile2
-rw-r--r--sys/modules/cxgbe/if_cxgbe/Makefile3
-rw-r--r--sys/modules/cxgbe/if_cxgbev/Makefile2
-rw-r--r--sys/modules/cxgbe/if_cxl/Makefile2
-rw-r--r--sys/modules/cxgbe/if_cxlv/Makefile2
-rw-r--r--sys/modules/cxgbe/iw_cxgbe/Makefile6
-rw-r--r--sys/modules/cxgbe/t4_firmware/Makefile4
-rw-r--r--sys/modules/cxgbe/t5_firmware/Makefile4
-rw-r--r--sys/modules/cxgbe/t6_firmware/Makefile4
-rw-r--r--sys/modules/cxgbe/tom/Makefile2
-rw-r--r--sys/modules/dc/Makefile2
-rw-r--r--sys/modules/dcons/Makefile4
-rw-r--r--sys/modules/dcons_crom/Makefile4
-rw-r--r--sys/modules/de/Makefile2
-rw-r--r--sys/modules/dpms/Makefile2
-rw-r--r--sys/modules/dpt/Makefile2
-rw-r--r--sys/modules/drm/Makefile2
-rw-r--r--sys/modules/drm/drm/Makefile2
-rw-r--r--sys/modules/drm/i915/Makefile2
-rw-r--r--sys/modules/drm/mach64/Makefile2
-rw-r--r--sys/modules/drm/mga/Makefile2
-rw-r--r--sys/modules/drm/r128/Makefile2
-rw-r--r--sys/modules/drm/radeon/Makefile2
-rw-r--r--sys/modules/drm/savage/Makefile4
-rw-r--r--sys/modules/drm/sis/Makefile2
-rw-r--r--sys/modules/drm/tdfx/Makefile2
-rw-r--r--sys/modules/drm/via/Makefile2
-rw-r--r--sys/modules/drm2/Makefile2
-rw-r--r--sys/modules/drm2/drm2/Makefile2
-rw-r--r--sys/modules/drm2/i915kms/Makefile2
-rw-r--r--sys/modules/drm2/radeonkms/Makefile4
-rw-r--r--sys/modules/drm2/radeonkmsfw/Makefile.inc2
-rw-r--r--sys/modules/dtrace/dtmalloc/Makefile2
-rw-r--r--sys/modules/dtrace/dtnfscl/Makefile2
-rw-r--r--sys/modules/dtrace/dtrace/Makefile2
-rw-r--r--sys/modules/dtrace/dtrace_test/Makefile2
-rw-r--r--sys/modules/dtrace/dtraceall/Makefile2
-rw-r--r--sys/modules/dtrace/fasttrap/Makefile2
-rw-r--r--sys/modules/dtrace/fbt/Makefile2
-rw-r--r--sys/modules/dtrace/profile/Makefile2
-rw-r--r--sys/modules/dtrace/prototype/Makefile2
-rw-r--r--sys/modules/dtrace/sdt/Makefile2
-rw-r--r--sys/modules/dtrace/systrace/Makefile2
-rw-r--r--sys/modules/dtrace/systrace_freebsd32/Makefile2
-rw-r--r--sys/modules/dtrace/systrace_linux/Makefile2
-rw-r--r--sys/modules/dtrace/systrace_linux32/Makefile2
-rw-r--r--sys/modules/dummynet/Makefile2
-rw-r--r--sys/modules/ed/Makefile2
-rw-r--r--sys/modules/efirt/Makefile5
-rw-r--r--sys/modules/elink/Makefile2
-rw-r--r--sys/modules/em/Makefile4
-rw-r--r--sys/modules/en/Makefile2
-rw-r--r--sys/modules/ep/Makefile2
-rw-r--r--sys/modules/epic/Makefile2
-rw-r--r--sys/modules/esp/Makefile2
-rw-r--r--sys/modules/et/Makefile2
-rw-r--r--sys/modules/evdev/Makefile2
-rw-r--r--sys/modules/ex/Makefile2
-rw-r--r--sys/modules/exca/Makefile2
-rw-r--r--sys/modules/ext2fs/Makefile2
-rw-r--r--sys/modules/fatm/Makefile2
-rw-r--r--sys/modules/fdc/Makefile2
-rw-r--r--sys/modules/fdescfs/Makefile2
-rw-r--r--sys/modules/fe/Makefile2
-rw-r--r--sys/modules/filemon/Makefile2
-rw-r--r--sys/modules/firewire/firewire/Makefile2
-rw-r--r--sys/modules/firewire/fwe/Makefile2
-rw-r--r--sys/modules/firewire/fwip/Makefile2
-rw-r--r--sys/modules/firewire/sbp/Makefile2
-rw-r--r--sys/modules/firewire/sbp_targ/Makefile2
-rw-r--r--sys/modules/firmware/Makefile2
-rw-r--r--sys/modules/fuse/Makefile2
-rw-r--r--sys/modules/fxp/Makefile2
-rw-r--r--sys/modules/gem/Makefile2
-rw-r--r--sys/modules/geom/Makefile2
-rw-r--r--sys/modules/geom/geom_bde/Makefile6
-rw-r--r--sys/modules/geom/geom_bsd/Makefile2
-rw-r--r--sys/modules/geom/geom_cache/Makefile2
-rw-r--r--sys/modules/geom/geom_ccd/Makefile2
-rw-r--r--sys/modules/geom/geom_concat/Makefile2
-rw-r--r--sys/modules/geom/geom_eli/Makefile2
-rw-r--r--sys/modules/geom/geom_flashmap/Makefile2
-rw-r--r--sys/modules/geom/geom_fox/Makefile2
-rw-r--r--sys/modules/geom/geom_gate/Makefile2
-rw-r--r--sys/modules/geom/geom_journal/Makefile2
-rw-r--r--sys/modules/geom/geom_label/Makefile2
-rw-r--r--sys/modules/geom/geom_linux_lvm/Makefile2
-rw-r--r--sys/modules/geom/geom_map/Makefile2
-rw-r--r--sys/modules/geom/geom_mbr/Makefile2
-rw-r--r--sys/modules/geom/geom_mirror/Makefile2
-rw-r--r--sys/modules/geom/geom_mountver/Makefile2
-rw-r--r--sys/modules/geom/geom_multipath/Makefile2
-rw-r--r--sys/modules/geom/geom_nop/Makefile2
-rw-r--r--sys/modules/geom/geom_part/geom_part_apm/Makefile2
-rw-r--r--sys/modules/geom/geom_part/geom_part_bsd/Makefile2
-rw-r--r--sys/modules/geom/geom_part/geom_part_bsd64/Makefile2
-rw-r--r--sys/modules/geom/geom_part/geom_part_ebr/Makefile2
-rw-r--r--sys/modules/geom/geom_part/geom_part_gpt/Makefile2
-rw-r--r--sys/modules/geom/geom_part/geom_part_ldm/Makefile2
-rw-r--r--sys/modules/geom/geom_part/geom_part_mbr/Makefile2
-rw-r--r--sys/modules/geom/geom_part/geom_part_vtoc8/Makefile2
-rw-r--r--sys/modules/geom/geom_raid/Makefile2
-rw-r--r--sys/modules/geom/geom_raid3/Makefile2
-rw-r--r--sys/modules/geom/geom_sched/Makefile.inc4
-rw-r--r--sys/modules/geom/geom_shsec/Makefile2
-rw-r--r--sys/modules/geom/geom_stripe/Makefile2
-rw-r--r--sys/modules/geom/geom_sunlabel/Makefile2
-rw-r--r--sys/modules/geom/geom_uzip/Makefile14
-rw-r--r--sys/modules/geom/geom_vinum/Makefile2
-rw-r--r--sys/modules/geom/geom_virstor/Makefile2
-rw-r--r--sys/modules/geom/geom_vol_ffs/Makefile2
-rw-r--r--sys/modules/geom/geom_zero/Makefile2
-rw-r--r--sys/modules/glxiic/Makefile2
-rw-r--r--sys/modules/glxsb/Makefile2
-rw-r--r--sys/modules/gpio/gpiobus/Makefile4
-rw-r--r--sys/modules/gpio/gpioiic/Makefile4
-rw-r--r--sys/modules/gpio/gpiokeys/Makefile4
-rw-r--r--sys/modules/gpio/gpioled/Makefile4
-rw-r--r--sys/modules/gpio/gpiopps/Makefile4
-rw-r--r--sys/modules/gpio/gpiospi/Makefile6
-rw-r--r--sys/modules/hatm/Makefile2
-rw-r--r--sys/modules/hifn/Makefile2
-rw-r--r--sys/modules/hme/Makefile2
-rw-r--r--sys/modules/hpt27xx/Makefile2
-rw-r--r--sys/modules/hptiop/Makefile2
-rw-r--r--sys/modules/hptmv/Makefile2
-rw-r--r--sys/modules/hptnr/Makefile2
-rw-r--r--sys/modules/hptrr/Makefile2
-rw-r--r--sys/modules/hwpmc/Makefile2
-rw-r--r--sys/modules/hyperv/netvsc/Makefile6
-rw-r--r--sys/modules/hyperv/pcib/Makefile6
-rw-r--r--sys/modules/hyperv/storvsc/Makefile10
-rw-r--r--sys/modules/hyperv/utilities/Makefile6
-rw-r--r--sys/modules/hyperv/vmbus/Makefile9
-rw-r--r--sys/modules/i2c/controllers/alpm/Makefile2
-rw-r--r--sys/modules/i2c/controllers/amdpm/Makefile2
-rw-r--r--sys/modules/i2c/controllers/amdsmb/Makefile2
-rw-r--r--sys/modules/i2c/controllers/ichiic/Makefile2
-rw-r--r--sys/modules/i2c/controllers/ichsmb/Makefile2
-rw-r--r--sys/modules/i2c/controllers/intpm/Makefile2
-rw-r--r--sys/modules/i2c/controllers/ismt/Makefile2
-rw-r--r--sys/modules/i2c/controllers/lpbb/Makefile2
-rw-r--r--sys/modules/i2c/controllers/nfsmb/Makefile2
-rw-r--r--sys/modules/i2c/controllers/pcf/Makefile2
-rw-r--r--sys/modules/i2c/controllers/viapm/Makefile2
-rw-r--r--sys/modules/i2c/cyapa/Makefile2
-rw-r--r--sys/modules/i2c/if_ic/Makefile2
-rw-r--r--sys/modules/i2c/iic/Makefile2
-rw-r--r--sys/modules/i2c/iicbb/Makefile2
-rw-r--r--sys/modules/i2c/iicbus/Makefile2
-rw-r--r--sys/modules/i2c/iicsmb/Makefile2
-rw-r--r--sys/modules/i2c/isl/Makefile2
-rw-r--r--sys/modules/i2c/jedec_ts/Makefile2
-rw-r--r--sys/modules/i2c/smb/Makefile2
-rw-r--r--sys/modules/i2c/smbus/Makefile2
-rw-r--r--sys/modules/ibcore/Makefile8
-rw-r--r--sys/modules/ibcs2/Makefile2
-rw-r--r--sys/modules/ichwd/Makefile2
-rw-r--r--sys/modules/ida/Makefile2
-rw-r--r--sys/modules/if_bridge/Makefile2
-rw-r--r--sys/modules/if_disc/Makefile2
-rw-r--r--sys/modules/if_edsc/Makefile2
-rw-r--r--sys/modules/if_enc/Makefile2
-rw-r--r--sys/modules/if_epair/Makefile2
-rw-r--r--sys/modules/if_gif/Makefile2
-rw-r--r--sys/modules/if_gre/Makefile2
-rw-r--r--sys/modules/if_lagg/Makefile2
-rw-r--r--sys/modules/if_me/Makefile2
-rw-r--r--sys/modules/if_ndis/Makefile2
-rw-r--r--sys/modules/if_stf/Makefile2
-rw-r--r--sys/modules/if_tap/Makefile2
-rw-r--r--sys/modules/if_tun/Makefile2
-rw-r--r--sys/modules/if_vlan/Makefile2
-rw-r--r--sys/modules/if_vxlan/Makefile2
-rw-r--r--sys/modules/iir/Makefile2
-rw-r--r--sys/modules/imgact_binmisc/Makefile2
-rw-r--r--sys/modules/intelspi/Makefile2
-rw-r--r--sys/modules/io/Makefile4
-rw-r--r--sys/modules/ioat/Makefile2
-rw-r--r--sys/modules/ip6_mroute_mod/Makefile2
-rw-r--r--sys/modules/ip_mroute_mod/Makefile2
-rw-r--r--sys/modules/ipdivert/Makefile2
-rw-r--r--sys/modules/ipfilter/Makefile6
-rw-r--r--sys/modules/ipfw/Makefile2
-rw-r--r--sys/modules/ipfw_nat/Makefile2
-rw-r--r--sys/modules/ipfw_nat64/Makefile2
-rw-r--r--sys/modules/ipfw_nptv6/Makefile2
-rw-r--r--sys/modules/ipmi/Makefile2
-rw-r--r--sys/modules/ipmi/ipmi_linux/Makefile2
-rw-r--r--sys/modules/ipoib/Makefile8
-rw-r--r--sys/modules/ips/Makefile2
-rw-r--r--sys/modules/ipsec/Makefile2
-rw-r--r--sys/modules/ipw/Makefile2
-rw-r--r--sys/modules/ipwfw/ipw_bss/Makefile6
-rw-r--r--sys/modules/ipwfw/ipw_ibss/Makefile6
-rw-r--r--sys/modules/ipwfw/ipw_monitor/Makefile6
-rw-r--r--sys/modules/isci/Makefile2
-rw-r--r--sys/modules/iscsi/Makefile4
-rw-r--r--sys/modules/iscsi_initiator/Makefile2
-rw-r--r--sys/modules/iser/Makefile4
-rw-r--r--sys/modules/isp/Makefile2
-rw-r--r--sys/modules/ispfw/isp_1000/Makefile2
-rw-r--r--sys/modules/ispfw/isp_1040/Makefile2
-rw-r--r--sys/modules/ispfw/isp_1080/Makefile2
-rw-r--r--sys/modules/ispfw/isp_12160/Makefile2
-rw-r--r--sys/modules/ispfw/isp_2100/Makefile2
-rw-r--r--sys/modules/ispfw/isp_2200/Makefile2
-rw-r--r--sys/modules/ispfw/isp_2300/Makefile2
-rw-r--r--sys/modules/ispfw/isp_2322/Makefile2
-rw-r--r--sys/modules/ispfw/isp_2400/Makefile2
-rw-r--r--sys/modules/ispfw/isp_2500/Makefile2
-rw-r--r--sys/modules/ispfw/ispfw/Makefile2
-rw-r--r--sys/modules/iwi/Makefile2
-rw-r--r--sys/modules/iwifw/iwi_bss/Makefile6
-rw-r--r--sys/modules/iwifw/iwi_ibss/Makefile6
-rw-r--r--sys/modules/iwifw/iwi_monitor/Makefile7
-rw-r--r--sys/modules/iwm/Makefile2
-rw-r--r--sys/modules/iwmfw/Makefile.inc2
-rw-r--r--sys/modules/iwn/Makefile2
-rw-r--r--sys/modules/iwnfw/Makefile.inc2
-rw-r--r--sys/modules/ix/Makefile4
-rw-r--r--sys/modules/ixgb/Makefile2
-rw-r--r--sys/modules/ixl/Makefile8
-rw-r--r--sys/modules/ixlv/Makefile6
-rw-r--r--sys/modules/ixv/Makefile4
-rw-r--r--sys/modules/jme/Makefile2
-rw-r--r--sys/modules/joy/Makefile2
-rw-r--r--sys/modules/kbdmux/Makefile2
-rw-r--r--sys/modules/kgssapi/Makefile4
-rw-r--r--sys/modules/kgssapi_krb5/Makefile4
-rw-r--r--sys/modules/khelp/h_ertt/Makefile2
-rw-r--r--sys/modules/krpc/Makefile2
-rw-r--r--sys/modules/ksyms/Makefile2
-rw-r--r--sys/modules/le/Makefile2
-rw-r--r--sys/modules/lge/Makefile2
-rw-r--r--sys/modules/libalias/libalias/Makefile2
-rw-r--r--sys/modules/libalias/modules/Makefile.inc2
-rw-r--r--sys/modules/libiconv/Makefile4
-rw-r--r--sys/modules/libmbpool/Makefile2
-rw-r--r--sys/modules/libmchain/Makefile2
-rw-r--r--sys/modules/linprocfs/Makefile2
-rw-r--r--sys/modules/linsysfs/Makefile2
-rw-r--r--sys/modules/linux/Makefile8
-rw-r--r--sys/modules/linux64/Makefile7
-rw-r--r--sys/modules/linux_common/Makefile2
-rw-r--r--sys/modules/linuxkpi/Makefile4
-rw-r--r--sys/modules/lmc/Makefile2
-rw-r--r--sys/modules/lpt/Makefile2
-rw-r--r--sys/modules/mac_biba/Makefile2
-rw-r--r--sys/modules/mac_bsdextended/Makefile2
-rw-r--r--sys/modules/mac_ifoff/Makefile2
-rw-r--r--sys/modules/mac_lomac/Makefile2
-rw-r--r--sys/modules/mac_mls/Makefile2
-rw-r--r--sys/modules/mac_none/Makefile2
-rw-r--r--sys/modules/mac_partition/Makefile2
-rw-r--r--sys/modules/mac_portacl/Makefile2
-rw-r--r--sys/modules/mac_seeotheruids/Makefile2
-rw-r--r--sys/modules/mac_stub/Makefile2
-rw-r--r--sys/modules/mac_test/Makefile2
-rw-r--r--sys/modules/malo/Makefile2
-rw-r--r--sys/modules/md/Makefile2
-rw-r--r--sys/modules/mdio/Makefile2
-rw-r--r--sys/modules/mem/Makefile8
-rw-r--r--sys/modules/mfi/Makefile2
-rw-r--r--sys/modules/mfi/mfi_linux/Makefile2
-rw-r--r--sys/modules/mfi/mfip/Makefile2
-rw-r--r--sys/modules/mii/Makefile2
-rw-r--r--sys/modules/mlx/Makefile2
-rw-r--r--sys/modules/mlx4/Makefile8
-rw-r--r--sys/modules/mlx4ib/Makefile8
-rw-r--r--sys/modules/mlx5/Makefile6
-rw-r--r--sys/modules/mlx5en/Makefile6
-rw-r--r--sys/modules/mly/Makefile2
-rw-r--r--sys/modules/mmc/Makefile4
-rw-r--r--sys/modules/mmcsd/Makefile2
-rw-r--r--sys/modules/mpr/Makefile2
-rw-r--r--sys/modules/mps/Makefile2
-rw-r--r--sys/modules/mpt/Makefile2
-rw-r--r--sys/modules/mqueue/Makefile2
-rw-r--r--sys/modules/mrsas/Makefile2
-rw-r--r--sys/modules/mrsas/mrsas_linux/Makefile2
-rw-r--r--sys/modules/msdosfs/Makefile2
-rw-r--r--sys/modules/msdosfs_iconv/Makefile2
-rw-r--r--sys/modules/mse/Makefile2
-rw-r--r--sys/modules/msk/Makefile2
-rw-r--r--sys/modules/mthca/Makefile6
-rw-r--r--sys/modules/mvs/Makefile2
-rw-r--r--sys/modules/mwl/Makefile2
-rw-r--r--sys/modules/mwlfw/Makefile4
-rw-r--r--sys/modules/mxge/mxge/Makefile2
-rw-r--r--sys/modules/mxge/mxge_eth_z8e/Makefile2
-rw-r--r--sys/modules/mxge/mxge_ethp_z8e/Makefile2
-rw-r--r--sys/modules/mxge/mxge_rss_eth_z8e/Makefile2
-rw-r--r--sys/modules/mxge/mxge_rss_ethp_z8e/Makefile2
-rw-r--r--sys/modules/my/Makefile2
-rw-r--r--sys/modules/nand/Makefile2
-rw-r--r--sys/modules/nandfs/Makefile2
-rw-r--r--sys/modules/nandsim/Makefile2
-rw-r--r--sys/modules/ncr/Makefile2
-rw-r--r--sys/modules/nctgpio/Makefile2
-rw-r--r--sys/modules/ncv/Makefile2
-rw-r--r--sys/modules/ndis/Makefile2
-rw-r--r--sys/modules/netfpga10g/nf10bmac/Makefile2
-rw-r--r--sys/modules/netgraph/Makefile2
-rw-r--r--sys/modules/netgraph/Makefile.inc2
-rw-r--r--sys/modules/netgraph/atm/atm/Makefile2
-rw-r--r--sys/modules/netgraph/atm/atmbase/Makefile4
-rw-r--r--sys/modules/netgraph/atm/ccatm/Makefile4
-rw-r--r--sys/modules/netgraph/atm/sscfu/Makefile4
-rw-r--r--sys/modules/netgraph/atm/sscop/Makefile4
-rw-r--r--sys/modules/netgraph/atm/uni/Makefile4
-rw-r--r--sys/modules/netgraph/bluetooth/bluetooth/Makefile4
-rw-r--r--sys/modules/netgraph/bluetooth/bt3c/Makefile6
-rw-r--r--sys/modules/netgraph/bluetooth/h4/Makefile6
-rw-r--r--sys/modules/netgraph/bluetooth/hci/Makefile6
-rw-r--r--sys/modules/netgraph/bluetooth/l2cap/Makefile6
-rw-r--r--sys/modules/netgraph/bluetooth/socket/Makefile4
-rw-r--r--sys/modules/netgraph/bluetooth/ubt/Makefile6
-rw-r--r--sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile6
-rw-r--r--sys/modules/netgraph/bpf/Makefile2
-rw-r--r--sys/modules/netgraph/mppc/Makefile4
-rw-r--r--sys/modules/netgraph/netflow/Makefile2
-rw-r--r--sys/modules/netgraph/vjc/Makefile2
-rw-r--r--sys/modules/netmap/Makefile6
-rw-r--r--sys/modules/nfe/Makefile2
-rw-r--r--sys/modules/nfscl/Makefile2
-rw-r--r--sys/modules/nfscommon/Makefile2
-rw-r--r--sys/modules/nfsd/Makefile2
-rw-r--r--sys/modules/nfslock/Makefile2
-rw-r--r--sys/modules/nfslockd/Makefile2
-rw-r--r--sys/modules/nfssvc/Makefile3
-rw-r--r--sys/modules/nge/Makefile2
-rw-r--r--sys/modules/nmdm/Makefile2
-rw-r--r--sys/modules/nsp/Makefile2
-rw-r--r--sys/modules/ntb/if_ntb/Makefile2
-rw-r--r--sys/modules/ntb/ntb/Makefile2
-rw-r--r--sys/modules/ntb/ntb_hw/Makefile2
-rw-r--r--sys/modules/ntb/ntb_transport/Makefile2
-rw-r--r--sys/modules/nullfs/Makefile2
-rw-r--r--sys/modules/nvd/Makefile2
-rw-r--r--sys/modules/nvme/Makefile2
-rw-r--r--sys/modules/nvram/Makefile2
-rw-r--r--sys/modules/nxge/Makefile4
-rw-r--r--sys/modules/oce/Makefile4
-rw-r--r--sys/modules/opensolaris/Makefile2
-rw-r--r--sys/modules/otus/Makefile2
-rw-r--r--sys/modules/otusfw/otusfw_init/Makefile4
-rw-r--r--sys/modules/otusfw/otusfw_main/Makefile4
-rw-r--r--sys/modules/ow/Makefile2
-rw-r--r--sys/modules/ow/ow/Makefile2
-rw-r--r--sys/modules/ow/ow_temp/Makefile2
-rw-r--r--sys/modules/ow/owc/Makefile2
-rw-r--r--sys/modules/padlock/Makefile2
-rw-r--r--sys/modules/padlock_rng/Makefile4
-rw-r--r--sys/modules/patm/Makefile2
-rw-r--r--sys/modules/pccard/Makefile2
-rw-r--r--sys/modules/pcfclock/Makefile2
-rw-r--r--sys/modules/pcn/Makefile2
-rw-r--r--sys/modules/pf/Makefile2
-rw-r--r--sys/modules/pflog/Makefile2
-rw-r--r--sys/modules/pfsync/Makefile2
-rw-r--r--sys/modules/plip/Makefile2
-rw-r--r--sys/modules/pms/Makefile32
-rw-r--r--sys/modules/powermac_nvram/Makefile2
-rw-r--r--sys/modules/ppbus/Makefile2
-rw-r--r--sys/modules/ppc/Makefile2
-rw-r--r--sys/modules/ppi/Makefile2
-rw-r--r--sys/modules/pps/Makefile2
-rw-r--r--sys/modules/procfs/Makefile2
-rw-r--r--sys/modules/proto/Makefile2
-rw-r--r--sys/modules/pseudofs/Makefile2
-rw-r--r--sys/modules/pst/Makefile2
-rw-r--r--sys/modules/pty/Makefile2
-rw-r--r--sys/modules/puc/Makefile2
-rw-r--r--sys/modules/qlnx/qlnxe/Makefile2
-rw-r--r--sys/modules/qlxgb/Makefile2
-rw-r--r--sys/modules/qlxgbe/Makefile2
-rw-r--r--sys/modules/qlxge/Makefile2
-rw-r--r--sys/modules/ral/Makefile2
-rw-r--r--sys/modules/ralfw/Makefile.inc2
-rw-r--r--sys/modules/random_fortuna/Makefile2
-rw-r--r--sys/modules/random_other/Makefile2
-rw-r--r--sys/modules/random_yarrow/Makefile2
-rw-r--r--sys/modules/rc/Makefile2
-rw-r--r--sys/modules/rc4/Makefile2
-rw-r--r--sys/modules/rccgpio/Makefile2
-rw-r--r--sys/modules/rdma/krping/Makefile6
-rw-r--r--sys/modules/rdrand_rng/Makefile4
-rw-r--r--sys/modules/re/Makefile2
-rw-r--r--sys/modules/rl/Makefile2
-rw-r--r--sys/modules/rndtest/Makefile2
-rw-r--r--sys/modules/rp/Makefile2
-rw-r--r--sys/modules/rpi_ft5406/Makefile2
-rw-r--r--sys/modules/rtwn/Makefile2
-rw-r--r--sys/modules/rtwnfw/Makefile.inc2
-rw-r--r--sys/modules/s3/Makefile2
-rw-r--r--sys/modules/safe/Makefile2
-rw-r--r--sys/modules/sbni/Makefile2
-rw-r--r--sys/modules/scc/Makefile2
-rw-r--r--sys/modules/scsi_low/Makefile2
-rw-r--r--sys/modules/sdhci/Makefile2
-rw-r--r--sys/modules/sdhci_acpi/Makefile2
-rw-r--r--sys/modules/sdhci_pci/Makefile2
-rw-r--r--sys/modules/sem/Makefile2
-rw-r--r--sys/modules/send/Makefile2
-rw-r--r--sys/modules/sf/Makefile2
-rw-r--r--sys/modules/sfxge/Makefile6
-rw-r--r--sys/modules/sge/Makefile2
-rw-r--r--sys/modules/siba_bwn/Makefile2
-rw-r--r--sys/modules/siftr/Makefile2
-rw-r--r--sys/modules/siis/Makefile2
-rw-r--r--sys/modules/sio/Makefile4
-rw-r--r--sys/modules/sis/Makefile2
-rw-r--r--sys/modules/sk/Makefile2
-rw-r--r--sys/modules/smbfs/Makefile12
-rw-r--r--sys/modules/sn/Makefile2
-rw-r--r--sys/modules/snp/Makefile2
-rw-r--r--sys/modules/sound/driver/Makefile2
-rw-r--r--sys/modules/sound/driver/ad1816/Makefile2
-rw-r--r--sys/modules/sound/driver/ai2s/Makefile2
-rw-r--r--sys/modules/sound/driver/als4000/Makefile2
-rw-r--r--sys/modules/sound/driver/atiixp/Makefile2
-rw-r--r--sys/modules/sound/driver/audiocs/Makefile2
-rw-r--r--sys/modules/sound/driver/cmi/Makefile2
-rw-r--r--sys/modules/sound/driver/cs4281/Makefile2
-rw-r--r--sys/modules/sound/driver/csa/Makefile2
-rw-r--r--sys/modules/sound/driver/davbus/Makefile2
-rw-r--r--sys/modules/sound/driver/driver/Makefile2
-rw-r--r--sys/modules/sound/driver/ds1/Makefile2
-rw-r--r--sys/modules/sound/driver/emu10k1/Makefile2
-rw-r--r--sys/modules/sound/driver/emu10kx/Makefile2
-rw-r--r--sys/modules/sound/driver/envy24/Makefile2
-rw-r--r--sys/modules/sound/driver/envy24ht/Makefile2
-rw-r--r--sys/modules/sound/driver/es137x/Makefile2
-rw-r--r--sys/modules/sound/driver/ess/Makefile2
-rw-r--r--sys/modules/sound/driver/fm801/Makefile2
-rw-r--r--sys/modules/sound/driver/hda/Makefile2
-rw-r--r--sys/modules/sound/driver/hdspe/Makefile2
-rw-r--r--sys/modules/sound/driver/ich/Makefile2
-rw-r--r--sys/modules/sound/driver/maestro/Makefile2
-rw-r--r--sys/modules/sound/driver/maestro3/Makefile2
-rw-r--r--sys/modules/sound/driver/mss/Makefile2
-rw-r--r--sys/modules/sound/driver/neomagic/Makefile2
-rw-r--r--sys/modules/sound/driver/sb16/Makefile2
-rw-r--r--sys/modules/sound/driver/sb8/Makefile2
-rw-r--r--sys/modules/sound/driver/sbc/Makefile2
-rw-r--r--sys/modules/sound/driver/solo/Makefile2
-rw-r--r--sys/modules/sound/driver/spicds/Makefile2
-rw-r--r--sys/modules/sound/driver/t4dwave/Makefile2
-rw-r--r--sys/modules/sound/driver/uaudio/Makefile6
-rw-r--r--sys/modules/sound/driver/via8233/Makefile2
-rw-r--r--sys/modules/sound/driver/via82c686/Makefile2
-rw-r--r--sys/modules/sound/driver/vibes/Makefile2
-rw-r--r--sys/modules/sound/sound/Makefile2
-rw-r--r--sys/modules/speaker/Makefile2
-rw-r--r--sys/modules/splash/bmp/Makefile2
-rw-r--r--sys/modules/splash/pcx/Makefile2
-rw-r--r--sys/modules/splash/txt/Makefile2
-rw-r--r--sys/modules/sppp/Makefile2
-rw-r--r--sys/modules/ste/Makefile2
-rw-r--r--sys/modules/stg/Makefile2
-rw-r--r--sys/modules/stge/Makefile2
-rw-r--r--sys/modules/svr4/Makefile2
-rw-r--r--sys/modules/sym/Makefile2
-rw-r--r--sys/modules/syscons/apm/Makefile2
-rw-r--r--sys/modules/syscons/beastie/Makefile2
-rw-r--r--sys/modules/syscons/blank/Makefile2
-rw-r--r--sys/modules/syscons/daemon/Makefile2
-rw-r--r--sys/modules/syscons/dragon/Makefile2
-rw-r--r--sys/modules/syscons/fade/Makefile2
-rw-r--r--sys/modules/syscons/fire/Makefile2
-rw-r--r--sys/modules/syscons/green/Makefile2
-rw-r--r--sys/modules/syscons/logo/Makefile2
-rw-r--r--sys/modules/syscons/plasma/Makefile2
-rw-r--r--sys/modules/syscons/rain/Makefile2
-rw-r--r--sys/modules/syscons/snake/Makefile2
-rw-r--r--sys/modules/syscons/star/Makefile2
-rw-r--r--sys/modules/syscons/warp/Makefile2
-rw-r--r--sys/modules/sysvipc/sysvmsg/Makefile2
-rw-r--r--sys/modules/sysvipc/sysvsem/Makefile2
-rw-r--r--sys/modules/sysvipc/sysvshm/Makefile2
-rw-r--r--sys/modules/tcp/Makefile23
-rw-r--r--sys/modules/tcp/fastpath/Makefile2
-rw-r--r--sys/modules/tcp/tcpmd5/Makefile2
-rw-r--r--sys/modules/tests/Makefile9
-rw-r--r--sys/modules/tests/callout_test/Makefile2
-rw-r--r--sys/modules/tests/framework/Makefile2
-rw-r--r--sys/modules/ti/Makefile2
-rw-r--r--sys/modules/tl/Makefile2
-rw-r--r--sys/modules/tmpfs/Makefile2
-rw-r--r--sys/modules/toecore/Makefile2
-rw-r--r--sys/modules/tpm/Makefile2
-rw-r--r--sys/modules/trm/Makefile2
-rw-r--r--sys/modules/tsec/Makefile2
-rw-r--r--sys/modules/twa/Makefile4
-rw-r--r--sys/modules/twe/Makefile2
-rw-r--r--sys/modules/tws/Makefile2
-rw-r--r--sys/modules/tx/Makefile2
-rw-r--r--sys/modules/txp/Makefile2
-rw-r--r--sys/modules/uart/Makefile2
-rw-r--r--sys/modules/ubsec/Makefile2
-rw-r--r--sys/modules/ubser/Makefile2
-rw-r--r--sys/modules/uchcom/Makefile2
-rw-r--r--sys/modules/ucycom/Makefile2
-rw-r--r--sys/modules/udf/Makefile2
-rw-r--r--sys/modules/udf_iconv/Makefile4
-rw-r--r--sys/modules/ufs/Makefile2
-rw-r--r--sys/modules/uinput/Makefile2
-rw-r--r--sys/modules/unionfs/Makefile2
-rw-r--r--sys/modules/usb/Makefile2
-rw-r--r--sys/modules/usb/at91dci/Makefile2
-rw-r--r--sys/modules/usb/atmegadci/Makefile2
-rw-r--r--sys/modules/usb/atp/Makefile2
-rw-r--r--sys/modules/usb/aue/Makefile2
-rw-r--r--sys/modules/usb/avr32dci/Makefile2
-rw-r--r--sys/modules/usb/axe/Makefile2
-rw-r--r--sys/modules/usb/axge/Makefile2
-rw-r--r--sys/modules/usb/cdce/Makefile2
-rw-r--r--sys/modules/usb/cfumass/Makefile2
-rw-r--r--sys/modules/usb/cue/Makefile2
-rw-r--r--sys/modules/usb/dwc_otg/Makefile2
-rw-r--r--sys/modules/usb/ehci/Makefile2
-rw-r--r--sys/modules/usb/g_audio/Makefile2
-rw-r--r--sys/modules/usb/g_keyboard/Makefile2
-rw-r--r--sys/modules/usb/g_modem/Makefile2
-rw-r--r--sys/modules/usb/g_mouse/Makefile2
-rw-r--r--sys/modules/usb/ipheth/Makefile2
-rw-r--r--sys/modules/usb/kue/Makefile2
-rw-r--r--sys/modules/usb/mos/Makefile2
-rw-r--r--sys/modules/usb/musb/Makefile2
-rw-r--r--sys/modules/usb/ohci/Makefile2
-rw-r--r--sys/modules/usb/quirk/Makefile2
-rw-r--r--sys/modules/usb/rsu/Makefile2
-rw-r--r--sys/modules/usb/rsufw/Makefile.inc2
-rw-r--r--sys/modules/usb/rue/Makefile2
-rw-r--r--sys/modules/usb/rum/Makefile2
-rw-r--r--sys/modules/usb/run/Makefile2
-rw-r--r--sys/modules/usb/runfw/Makefile2
-rw-r--r--sys/modules/usb/saf1761otg/Makefile2
-rw-r--r--sys/modules/usb/smsc/Makefile2
-rw-r--r--sys/modules/usb/template/Makefile2
-rw-r--r--sys/modules/usb/u3g/Makefile2
-rw-r--r--sys/modules/usb/uark/Makefile2
-rw-r--r--sys/modules/usb/uath/Makefile2
-rw-r--r--sys/modules/usb/ubsa/Makefile2
-rw-r--r--sys/modules/usb/ubser/Makefile2
-rw-r--r--sys/modules/usb/uchcom/Makefile2
-rw-r--r--sys/modules/usb/ucom/Makefile2
-rw-r--r--sys/modules/usb/ucycom/Makefile2
-rw-r--r--sys/modules/usb/udav/Makefile2
-rw-r--r--sys/modules/usb/udbp/Makefile2
-rw-r--r--sys/modules/usb/udl/Makefile2
-rw-r--r--sys/modules/usb/uep/Makefile2
-rw-r--r--sys/modules/usb/uether/Makefile2
-rw-r--r--sys/modules/usb/ufm/Makefile2
-rw-r--r--sys/modules/usb/ufoma/Makefile2
-rw-r--r--sys/modules/usb/uftdi/Makefile2
-rw-r--r--sys/modules/usb/ugensa/Makefile2
-rw-r--r--sys/modules/usb/ugold/Makefile2
-rw-r--r--sys/modules/usb/uhci/Makefile2
-rw-r--r--sys/modules/usb/uhid/Makefile2
-rw-r--r--sys/modules/usb/uhso/Makefile2
-rw-r--r--sys/modules/usb/uipaq/Makefile2
-rw-r--r--sys/modules/usb/ukbd/Makefile2
-rw-r--r--sys/modules/usb/uled/Makefile2
-rw-r--r--sys/modules/usb/ulpt/Makefile2
-rw-r--r--sys/modules/usb/umass/Makefile2
-rw-r--r--sys/modules/usb/umcs/Makefile2
-rw-r--r--sys/modules/usb/umct/Makefile2
-rw-r--r--sys/modules/usb/umodem/Makefile2
-rw-r--r--sys/modules/usb/umoscom/Makefile2
-rw-r--r--sys/modules/usb/ums/Makefile2
-rw-r--r--sys/modules/usb/upgt/Makefile2
-rw-r--r--sys/modules/usb/uplcom/Makefile2
-rw-r--r--sys/modules/usb/ural/Makefile2
-rw-r--r--sys/modules/usb/ure/Makefile2
-rw-r--r--sys/modules/usb/urio/Makefile2
-rw-r--r--sys/modules/usb/urndis/Makefile2
-rw-r--r--sys/modules/usb/urtw/Makefile2
-rw-r--r--sys/modules/usb/usb/Makefile2
-rw-r--r--sys/modules/usb/usfs/Makefile2
-rw-r--r--sys/modules/usb/usie/Makefile2
-rw-r--r--sys/modules/usb/uslcom/Makefile2
-rw-r--r--sys/modules/usb/uss820dci/Makefile2
-rw-r--r--sys/modules/usb/uvisor/Makefile2
-rw-r--r--sys/modules/usb/uvscom/Makefile2
-rw-r--r--sys/modules/usb/wsp/Makefile2
-rw-r--r--sys/modules/usb/xhci/Makefile2
-rw-r--r--sys/modules/usb/zyd/Makefile2
-rw-r--r--sys/modules/utopia/Makefile2
-rw-r--r--sys/modules/vesa/Makefile4
-rw-r--r--sys/modules/vge/Makefile2
-rw-r--r--sys/modules/viawd/Makefile2
-rw-r--r--sys/modules/videomode/Makefile2
-rw-r--r--sys/modules/virtio/balloon/Makefile2
-rw-r--r--sys/modules/virtio/block/Makefile2
-rw-r--r--sys/modules/virtio/console/Makefile2
-rw-r--r--sys/modules/virtio/network/Makefile2
-rw-r--r--sys/modules/virtio/pci/Makefile2
-rw-r--r--sys/modules/virtio/random/Makefile2
-rw-r--r--sys/modules/virtio/scsi/Makefile2
-rw-r--r--sys/modules/virtio/virtio/Makefile2
-rw-r--r--sys/modules/vkbd/Makefile2
-rw-r--r--sys/modules/vmm/Makefile20
-rw-r--r--sys/modules/vmware/vmxnet3/Makefile2
-rw-r--r--sys/modules/vnic/Makefile2
-rw-r--r--sys/modules/vnic/mrmlbus/Makefile4
-rw-r--r--sys/modules/vnic/thunder_bgx/Makefile4
-rw-r--r--sys/modules/vnic/thunder_mdio/Makefile4
-rw-r--r--sys/modules/vnic/vnicpf/Makefile4
-rw-r--r--sys/modules/vnic/vnicvf/Makefile4
-rw-r--r--sys/modules/vpo/Makefile2
-rw-r--r--sys/modules/vr/Makefile2
-rw-r--r--sys/modules/vte/Makefile2
-rw-r--r--sys/modules/vx/Makefile2
-rw-r--r--sys/modules/vxge/Makefile4
-rw-r--r--sys/modules/wb/Makefile2
-rw-r--r--sys/modules/wbwd/Makefile2
-rw-r--r--sys/modules/wi/Makefile2
-rw-r--r--sys/modules/wlan/Makefile2
-rw-r--r--sys/modules/wlan_acl/Makefile2
-rw-r--r--sys/modules/wlan_amrr/Makefile2
-rw-r--r--sys/modules/wlan_ccmp/Makefile4
-rw-r--r--sys/modules/wlan_rssadapt/Makefile2
-rw-r--r--sys/modules/wlan_tkip/Makefile2
-rw-r--r--sys/modules/wlan_wep/Makefile2
-rw-r--r--sys/modules/wlan_xauth/Makefile2
-rw-r--r--sys/modules/wpi/Makefile2
-rw-r--r--sys/modules/wpifw/Makefile6
-rw-r--r--sys/modules/wtap/Makefile6
-rw-r--r--sys/modules/x86bios/Makefile4
-rw-r--r--sys/modules/xe/Makefile2
-rw-r--r--sys/modules/xl/Makefile2
-rw-r--r--sys/modules/zfs/Makefile2
-rw-r--r--sys/modules/zlib/Makefile2
-rw-r--r--sys/net/bpf.h1052
-rw-r--r--sys/net/dlt.h1338
-rw-r--r--sys/net/ethernet.h2
-rw-r--r--sys/net/ieee8023ad_lacp.c4
-rw-r--r--sys/net/if.c34
-rw-r--r--sys/net/if_ethersubr.c3
-rw-r--r--sys/net/if_lagg.c588
-rw-r--r--sys/net/if_lagg.h36
-rw-r--r--sys/net/if_media.h12
-rw-r--r--sys/net/if_var.h4
-rw-r--r--sys/net/if_vlan.c114
-rw-r--r--sys/net/iflib.c1
-rw-r--r--sys/net/route.c24
-rw-r--r--sys/net/route.h2
-rw-r--r--sys/netinet/ip_divert.c8
-rw-r--r--sys/netinet/libalias/alias.c4
-rw-r--r--sys/netinet/raw_ip.c2
-rw-r--r--sys/netinet/sctp_auth.c53
-rw-r--r--sys/netinet/sctp_constants.h2
-rw-r--r--sys/netinet/sctp_input.c20
-rw-r--r--sys/netinet/sctp_output.c122
-rw-r--r--sys/netinet/sctp_pcb.c69
-rw-r--r--sys/netinet/sctp_timer.c16
-rw-r--r--sys/netinet/sctp_usrreq.c13
-rw-r--r--sys/netinet/sctp_var.h2
-rw-r--r--sys/netinet/sctputil.c94
-rw-r--r--sys/netinet/sctputil.h5
-rw-r--r--sys/netinet/tcp_input.c27
-rw-r--r--sys/netinet/tcp_lro.c13
-rw-r--r--sys/netinet/tcp_output.c2
-rw-r--r--sys/netinet/tcp_stacks/fastpath.c73
-rw-r--r--sys/netinet/tcp_subr.c73
-rw-r--r--sys/netinet/tcp_syncache.c31
-rw-r--r--sys/netinet/tcp_syncache.h3
-rw-r--r--sys/netinet/tcp_usrreq.c9
-rw-r--r--sys/netinet6/ip6_output.c1
-rw-r--r--sys/netinet6/sctp6_usrreq.c10
-rw-r--r--sys/netinet6/sctp6_var.h2
-rw-r--r--sys/netinet6/udp6_usrreq.c9
-rw-r--r--sys/netipsec/ipsec.h6
-rw-r--r--sys/netipsec/ipsec_input.c8
-rw-r--r--sys/netipsec/ipsec_output.c28
-rw-r--r--sys/netipsec/key_debug.c6
-rw-r--r--sys/netipsec/key_debug.h4
-rw-r--r--sys/netipsec/xform_ah.c33
-rw-r--r--sys/netipsec/xform_esp.c33
-rw-r--r--sys/netipsec/xform_ipcomp.c28
-rw-r--r--sys/netpfil/ipfw/dn_aqm_pie.c70
-rw-r--r--sys/netpfil/ipfw/dn_sched_fq_pie.c70
-rw-r--r--sys/netpfil/ipfw/nat64/nat64_translate.c2
-rw-r--r--sys/netpfil/ipfw/nptv6/nptv6.c2
-rw-r--r--sys/netpfil/ipfw/pmod/tcpmod.c2
-rw-r--r--sys/ofed/drivers/infiniband/core/uverbs_main.c4
-rw-r--r--sys/ofed/drivers/net/mlx4/en_netdev.c22
-rw-r--r--sys/ofed/drivers/net/mlx4/en_tx.c42
-rw-r--r--sys/ofed/drivers/net/mlx4/eq.c14
-rw-r--r--sys/ofed/drivers/net/mlx4/fw.c122
-rw-r--r--sys/ofed/drivers/net/mlx4/fw.h14
-rw-r--r--sys/ofed/drivers/net/mlx4/main.c63
-rw-r--r--sys/ofed/drivers/net/mlx4/mlx4_en.h3
-rw-r--r--sys/ofed/drivers/net/mlx4/profile.c15
-rw-r--r--sys/ofed/drivers/net/mlx4/qp.c3
-rw-r--r--sys/ofed/drivers/net/mlx4/resource_tracker.c5
-rw-r--r--sys/ofed/include/linux/mlx4/device.h20
-rw-r--r--sys/opencrypto/cryptosoft.c5
-rw-r--r--sys/pc98/include/efi.h14
-rw-r--r--sys/powerpc/booke/trap_subr.S12
-rw-r--r--sys/powerpc/include/efi.h14
-rw-r--r--sys/powerpc/include/trap.h2
-rw-r--r--sys/riscv/include/efi.h14
-rw-r--r--sys/rpc/clnt_vc.c22
-rw-r--r--sys/rpc/rpc_generic.c8
-rw-r--r--sys/rpc/rpcb_clnt.c5
-rw-r--r--sys/rpc/rpcb_prot.c15
-rw-r--r--sys/sparc64/include/efi.h14
-rw-r--r--sys/sparc64/pci/psycho.c14
-rw-r--r--sys/sys/_termios.h44
-rw-r--r--sys/sys/ata.h2
-rw-r--r--sys/sys/bitset.h30
-rw-r--r--sys/sys/blist.h4
-rw-r--r--sys/sys/efiio.h59
-rw-r--r--sys/sys/elf32.h6
-rw-r--r--sys/sys/elf64.h7
-rw-r--r--sys/sys/elf_common.h7
-rw-r--r--sys/sys/kobj.h6
-rw-r--r--sys/sys/libkern.h3
-rw-r--r--sys/sys/mbuf.h2
-rw-r--r--sys/sys/mman.h1
-rw-r--r--sys/sys/param.h4
-rw-r--r--sys/sys/proc.h15
-rw-r--r--sys/sys/sockio.h1
-rw-r--r--sys/sys/syscallsubr.h2
-rw-r--r--sys/sys/vmmeter.h24
-rw-r--r--sys/tests/callout_test/callout_test.c12
-rw-r--r--sys/tests/framework/kern_testfrwk.c6
-rwxr-xr-xsys/tools/fdt/make_dtb.sh2
-rw-r--r--sys/tools/sound/snd_fxdiv_gen.awk13
-rw-r--r--sys/ufs/ffs/ffs_rawread.c6
-rw-r--r--sys/ufs/ffs/ffs_softdep.c99
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c4
-rw-r--r--sys/ufs/ffs/softdep.h1
-rw-r--r--sys/vm/_vm_radix.h4
-rw-r--r--sys/vm/swap_pager.c60
-rw-r--r--sys/vm/vm.h1
-rw-r--r--sys/vm/vm_fault.c12
-rw-r--r--sys/vm/vm_map.c54
-rw-r--r--sys/vm/vm_meter.c38
-rw-r--r--sys/vm/vm_mmap.c3
-rw-r--r--sys/vm/vm_object.c56
-rw-r--r--sys/vm/vm_object.h19
-rw-r--r--sys/vm/vm_page.c800
-rw-r--r--sys/vm/vm_page.h49
-rw-r--r--sys/vm/vm_pageout.c693
-rw-r--r--sys/vm/vm_phys.c2
-rw-r--r--sys/vm/vm_radix.c75
-rw-r--r--sys/vm/vm_radix.h2
-rw-r--r--sys/vm/vm_reserv.c109
-rw-r--r--sys/vm/vm_reserv.h3
-rw-r--r--sys/vm/vnode_pager.c56
-rw-r--r--sys/x86/acpica/acpi_wakeup.c5
-rw-r--r--sys/x86/iommu/intel_ctx.c29
-rw-r--r--sys/x86/iommu/intel_dmar.h2
-rw-r--r--sys/x86/iommu/intel_qi.c28
-rw-r--r--sys/x86/x86/busdma_bounce.c31
-rw-r--r--sys/x86/x86/intr_machdep.c6
-rw-r--r--sys/x86/x86/mp_x86.c21
-rw-r--r--sys/x86/xen/xen_apic.c5
-rw-r--r--sys/x86/xen/xen_intr.c51
-rw-r--r--sys/xdr/xdr.c30
-rw-r--r--sys/xen/xen_intr.h5
1329 files changed, 156279 insertions, 98339 deletions
diff --git a/sys/Makefile b/sys/Makefile
index fa8941e..263c3e9 100644
--- a/sys/Makefile
+++ b/sys/Makefile
@@ -32,7 +32,8 @@ ${.CURDIR}/cscope.files: .PHONY
find ${CSCOPEDIRS} -name "*.[chSsly]" -a -type f > ${.TARGET}
cscope-clean:
- rm -f cscope.files cscope.out cscope.in.out cscope.po.out
+ cd ${.CURDIR}; \
+ rm -f cscope.files cscope.out cscope.in.out cscope.po.out
#
# Installs SCM hooks to update the cscope database every time the source tree
diff --git a/sys/amd64/acpica/acpi_wakecode.S b/sys/amd64/acpica/acpi_wakecode.S
index 6b36d55..a63b5b8 100644
--- a/sys/amd64/acpica/acpi_wakecode.S
+++ b/sys/amd64/acpica/acpi_wakecode.S
@@ -156,11 +156,12 @@ wakeup_32:
/*
* Enable EFER.LME so that we get long mode when all the prereqs are
* in place. In this case, it turns on when CR0_PG is finally enabled.
- * Pick up a few other EFER bits that we'll use need we're here.
+ * Also it picks up a few other EFER bits that we'll use need we're
+ * here, like SYSCALL and NX enable.
*/
movl $MSR_EFER, %ecx
- rdmsr
- orl $EFER_LME | EFER_SCE, %eax
+ movl wakeup_efer - wakeup_start(%ebx), %eax
+ movl wakeup_efer + 4 - wakeup_start(%ebx), %edx
wrmsr
/*
@@ -276,6 +277,8 @@ wakeup_pcb:
.quad 0
wakeup_ret:
.quad 0
+wakeup_efer:
+ .quad 0
wakeup_gdt:
.word 0
.quad 0
diff --git a/sys/amd64/amd64/cpu_switch.S b/sys/amd64/amd64/cpu_switch.S
index e292797..64a3485 100644
--- a/sys/amd64/amd64/cpu_switch.S
+++ b/sys/amd64/amd64/cpu_switch.S
@@ -396,7 +396,7 @@ ENTRY(resumectx)
movl 4 + PCB_KGSBASE(%rdi),%edx
wrmsr
- /* Restore EFER. */
+ /* Restore EFER one more time. */
movl $MSR_EFER,%ecx
movl PCB_EFER(%rdi),%eax
wrmsr
diff --git a/sys/amd64/amd64/efirt.c b/sys/amd64/amd64/efirt.c
index 8db768b..db40cdf 100644
--- a/sys/amd64/amd64/efirt.c
+++ b/sys/amd64/amd64/efirt.c
@@ -355,14 +355,14 @@ efi_init(void)
if (efi_systbl_phys == 0) {
if (bootverbose)
printf("EFI systbl not available\n");
- return (ENXIO);
+ return (0);
}
efi_systbl = (struct efi_systbl *)PHYS_TO_DMAP(efi_systbl_phys);
if (efi_systbl->st_hdr.th_sig != EFI_SYSTBL_SIG) {
efi_systbl = NULL;
if (bootverbose)
printf("EFI systbl signature invalid\n");
- return (ENXIO);
+ return (0);
}
efi_cfgtbl = (efi_systbl->st_cfgtbl == 0) ? NULL :
(struct efi_cfgtbl *)efi_systbl->st_cfgtbl;
@@ -379,7 +379,7 @@ efi_init(void)
if (efihdr == NULL) {
if (bootverbose)
printf("EFI map is not present\n");
- return (ENXIO);
+ return (0);
}
efisz = (sizeof(struct efi_map_header) + 0xf) & ~0xf;
map = (struct efi_md *)((uint8_t *)efihdr + efisz);
@@ -563,7 +563,6 @@ efirt_modevents(module_t m, int event, void *arg __unused)
switch (event) {
case MOD_LOAD:
return (efi_init());
- break;
case MOD_UNLOAD:
efi_uninit();
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 612421e..a7ce847 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -613,8 +613,9 @@ static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va,
vm_page_t m, vm_prot_t prot, vm_page_t mpte, struct rwlock **lockp);
static void pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte);
static int pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte);
+static void pmap_invalidate_pde_page(pmap_t pmap, vm_offset_t va,
+ pd_entry_t pde);
static void pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode);
-static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va);
static void pmap_pde_attr(pd_entry_t *pde, int cache_bits, int mask);
static void pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va,
struct rwlock **lockp);
@@ -625,7 +626,7 @@ static int pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva,
struct spglist *free, struct rwlock **lockp);
static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva,
pd_entry_t ptepde, struct spglist *free, struct rwlock **lockp);
-static void pmap_remove_pt_page(pmap_t pmap, vm_page_t mpte);
+static vm_page_t pmap_remove_pt_page(pmap_t pmap, vm_offset_t va);
static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde,
struct spglist *free);
static boolean_t pmap_try_insert_pv_entry(pmap_t pmap, vm_offset_t va,
@@ -1839,6 +1840,27 @@ pmap_update_pde(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, pd_entry_t newpde)
}
#endif /* !SMP */
+static void
+pmap_invalidate_pde_page(pmap_t pmap, vm_offset_t va, pd_entry_t pde)
+{
+
+ /*
+ * When the PDE has PG_PROMOTED set, the 2MB page mapping was created
+ * by a promotion that did not invalidate the 512 4KB page mappings
+ * that might exist in the TLB. Consequently, at this point, the TLB
+ * may hold both 4KB and 2MB page mappings for the address range [va,
+ * va + NBPDR). Therefore, the entire range must be invalidated here.
+ * In contrast, when PG_PROMOTED is clear, the TLB will not hold any
+ * 4KB page mappings for the address range [va, va + NBPDR), and so a
+ * single INVLPG suffices to invalidate the 2MB page mapping from the
+ * TLB.
+ */
+ if ((pde & PG_PROMOTED) != 0)
+ pmap_invalidate_range(pmap, va, va + NBPDR - 1);
+ else
+ pmap_invalidate_page(pmap, va);
+}
+
#define PMAP_CLFLUSH_THRESHOLD (2 * 1024 * 1024)
void
@@ -2218,29 +2240,17 @@ pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte)
}
/*
- * Looks for a page table page mapping the specified virtual address in the
- * specified pmap's collection of idle page table pages. Returns NULL if there
- * is no page table page corresponding to the specified virtual address.
+ * Removes the page table page mapping the specified virtual address from the
+ * specified pmap's collection of idle page table pages, and returns it.
+ * Otherwise, returns NULL if there is no page table page corresponding to the
+ * specified virtual address.
*/
static __inline vm_page_t
-pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va)
-{
-
- PMAP_LOCK_ASSERT(pmap, MA_OWNED);
- return (vm_radix_lookup(&pmap->pm_root, pmap_pde_pindex(va)));
-}
-
-/*
- * Removes the specified page table page from the specified pmap's collection
- * of idle page table pages. The specified page table page must be a member of
- * the pmap's collection.
- */
-static __inline void
-pmap_remove_pt_page(pmap_t pmap, vm_page_t mpte)
+pmap_remove_pt_page(pmap_t pmap, vm_offset_t va)
{
PMAP_LOCK_ASSERT(pmap, MA_OWNED);
- vm_radix_remove(&pmap->pm_root, mpte->pindex);
+ return (vm_radix_remove(&pmap->pm_root, pmap_pde_pindex(va)));
}
/*
@@ -3460,10 +3470,8 @@ pmap_demote_pde_locked(pmap_t pmap, pd_entry_t *pde, vm_offset_t va,
oldpde = *pde;
KASSERT((oldpde & (PG_PS | PG_V)) == (PG_PS | PG_V),
("pmap_demote_pde: oldpde is missing PG_PS and/or PG_V"));
- if ((oldpde & PG_A) != 0 && (mpte = pmap_lookup_pt_page(pmap, va)) !=
- NULL)
- pmap_remove_pt_page(pmap, mpte);
- else {
+ if ((oldpde & PG_A) == 0 || (mpte = pmap_remove_pt_page(pmap, va)) ==
+ NULL) {
KASSERT((oldpde & PG_W) == 0,
("pmap_demote_pde: page table page for a wired mapping"
" is missing"));
@@ -3487,7 +3495,8 @@ pmap_demote_pde_locked(pmap_t pmap, pd_entry_t *pde, vm_offset_t va,
SLIST_INIT(&free);
sva = trunc_2mpage(va);
pmap_remove_pde(pmap, pde, sva, &free, lockp);
- pmap_invalidate_range(pmap, sva, sva + NBPDR - 1);
+ if ((oldpde & PG_G) == 0)
+ pmap_invalidate_pde_page(pmap, sva, oldpde);
pmap_free_zero_pages(&free);
CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx"
" in pmap %p", va, pmap);
@@ -3577,11 +3586,10 @@ pmap_remove_kernel_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va)
KASSERT(pmap == kernel_pmap, ("pmap %p is not kernel_pmap", pmap));
PMAP_LOCK_ASSERT(pmap, MA_OWNED);
- mpte = pmap_lookup_pt_page(pmap, va);
+ mpte = pmap_remove_pt_page(pmap, va);
if (mpte == NULL)
panic("pmap_remove_kernel_pde: Missing pt page.");
- pmap_remove_pt_page(pmap, mpte);
mptepa = VM_PAGE_TO_PHYS(mpte);
newpde = mptepa | X86_PG_M | X86_PG_A | X86_PG_RW | X86_PG_V;
@@ -3628,25 +3636,8 @@ pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva,
oldpde = pte_load_clear(pdq);
if (oldpde & PG_W)
pmap->pm_stats.wired_count -= NBPDR / PAGE_SIZE;
-
- /*
- * When workaround_erratum383 is false, a promotion to a 2M
- * page mapping does not invalidate the 512 4K page mappings
- * from the TLB. Consequently, at this point, the TLB may
- * hold both 4K and 2M page mappings. Therefore, the entire
- * range of addresses must be invalidated here. In contrast,
- * when workaround_erratum383 is true, a promotion does
- * invalidate the 512 4K page mappings, and so a single INVLPG
- * suffices to invalidate the 2M page mapping.
- */
- if ((oldpde & PG_G) != 0) {
- if (workaround_erratum383)
- pmap_invalidate_page(kernel_pmap, sva);
- else
- pmap_invalidate_range(kernel_pmap, sva,
- sva + NBPDR - 1);
- }
-
+ if ((oldpde & PG_G) != 0)
+ pmap_invalidate_pde_page(kernel_pmap, sva, oldpde);
pmap_resident_count_dec(pmap, NBPDR / PAGE_SIZE);
if (oldpde & PG_MANAGED) {
CHANGE_PV_LIST_LOCK_TO_PHYS(lockp, oldpde & PG_PS_FRAME);
@@ -3668,9 +3659,8 @@ pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva,
if (pmap == kernel_pmap) {
pmap_remove_kernel_pde(pmap, pdq, sva);
} else {
- mpte = pmap_lookup_pt_page(pmap, sva);
+ mpte = pmap_remove_pt_page(pmap, sva);
if (mpte != NULL) {
- pmap_remove_pt_page(pmap, mpte);
pmap_resident_count_dec(pmap, 1);
KASSERT(mpte->wire_count == NPTEPG,
("pmap_remove_pde: pte page wire count error"));
@@ -4027,16 +4017,16 @@ retry:
if ((prot & VM_PROT_EXECUTE) == 0)
newpde |= pg_nx;
if (newpde != oldpde) {
- if (!atomic_cmpset_long(pde, oldpde, newpde))
+ /*
+ * As an optimization to future operations on this PDE, clear
+ * PG_PROMOTED. The impending invalidation will remove any
+ * lingering 4KB page mappings from the TLB.
+ */
+ if (!atomic_cmpset_long(pde, oldpde, newpde & ~PG_PROMOTED))
goto retry;
- if (oldpde & PG_G) {
- /* See pmap_remove_pde() for explanation. */
- if (workaround_erratum383)
- pmap_invalidate_page(kernel_pmap, sva);
- else
- pmap_invalidate_range(kernel_pmap, sva,
- sva + NBPDR - 1);
- } else
+ if ((oldpde & PG_G) != 0)
+ pmap_invalidate_pde_page(kernel_pmap, sva, oldpde);
+ else
anychanged = TRUE;
}
return (anychanged);
@@ -4289,7 +4279,7 @@ setpte:
if (workaround_erratum383)
pmap_update_pde(pmap, va, pde, PG_PS | newpde);
else
- pde_store(pde, PG_PS | newpde);
+ pde_store(pde, PG_PROMOTED | PG_PS | newpde);
atomic_add_long(&pmap_pde_promotions, 1);
CTR2(KTR_PMAP, "pmap_promote_pde: success for va %#lx"
@@ -4602,7 +4592,8 @@ pmap_enter_pde(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
pmap_resident_count_inc(pmap, NBPDR / PAGE_SIZE);
/*
- * Map the superpage.
+ * Map the superpage. (This is not a promoted mapping; there will not
+ * be any lingering 4KB page mappings in the TLB.)
*/
pde_store(pde, newpde);
@@ -5533,9 +5524,8 @@ pmap_remove_pages(pmap_t pmap)
TAILQ_EMPTY(&mt->md.pv_list))
vm_page_aflag_clear(mt, PGA_WRITEABLE);
}
- mpte = pmap_lookup_pt_page(pmap, pv->pv_va);
+ mpte = pmap_remove_pt_page(pmap, pv->pv_va);
if (mpte != NULL) {
- pmap_remove_pt_page(pmap, mpte);
pmap_resident_count_dec(pmap, 1);
KASSERT(mpte->wire_count == NPTEPG,
("pmap_remove_pages: pte page wire count error"));
@@ -6727,7 +6717,7 @@ pmap_change_attr_locked(vm_offset_t va, vm_size_t size, int mode)
changed = TRUE;
}
if (tmpva >= VM_MIN_KERNEL_ADDRESS &&
- (*pte & PG_PS_FRAME) < dmaplimit) {
+ (*pte & PG_FRAME) < dmaplimit) {
if (pa_start == pa_end) {
/* Start physical address run. */
pa_start = *pte & PG_FRAME;
diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC
index 6f68eb3..de7cbe6 100644
--- a/sys/amd64/conf/GENERIC
+++ b/sys/amd64/conf/GENERIC
@@ -85,6 +85,7 @@ options KDB_TRACE # Print a stack trace for a panic.
# Make an SMP-capable kernel by default
options SMP # Symmetric MultiProcessor Kernel
options DEVICE_NUMA # I/O Device Affinity
+options EARLY_AP_STARTUP
# CPU frequency control
device cpufreq
diff --git a/sys/amd64/conf/MINIMAL b/sys/amd64/conf/MINIMAL
index 2caf958..7e7b037 100644
--- a/sys/amd64/conf/MINIMAL
+++ b/sys/amd64/conf/MINIMAL
@@ -93,6 +93,7 @@ options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
# Make an SMP-capable kernel by default
options SMP # Symmetric MultiProcessor Kernel
options DEVICE_NUMA # I/O Device Affinity
+options EARLY_AP_STARTUP
# CPU frequency control
device cpufreq
diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES
index a7095e3..64be12a 100644
--- a/sys/amd64/conf/NOTES
+++ b/sys/amd64/conf/NOTES
@@ -341,6 +341,7 @@ device ipw # Intel 2100 wireless NICs.
device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs.
device iwn # Intel 4965/1000/5000/6000 wireless NICs.
device ixl # Intel XL710 40Gbe PCIE Ethernet
+options IXL_IW # Enable iWARP Client Interface in ixl(4)
device ixlv # Intel XL710 40Gbe VF PCIE Ethernet
device mlx4ib # Mellanox ConnectX HCA InfiniBand
device mlxen # Mellanox ConnectX HCA Ethernet
diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h
index 99285a9..a0b8ee3 100644
--- a/sys/amd64/include/pmap.h
+++ b/sys/amd64/include/pmap.h
@@ -109,6 +109,7 @@
#define PG_MANAGED X86_PG_AVAIL2
#define EPT_PG_EMUL_V X86_PG_AVAIL(52)
#define EPT_PG_EMUL_RW X86_PG_AVAIL(53)
+#define PG_PROMOTED X86_PG_AVAIL(54) /* PDE only */
#define PG_FRAME (0x000ffffffffff000ul)
#define PG_PS_FRAME (0x000fffffffe00000ul)
diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h
index 07158e8..381097a 100644
--- a/sys/amd64/include/vmparam.h
+++ b/sys/amd64/include/vmparam.h
@@ -52,7 +52,7 @@
/*
* Virtual memory related constants, all in bytes
*/
-#define MAXTSIZ (128UL*1024*1024) /* max text size */
+#define MAXTSIZ (32768UL*1024*1024) /* max text size */
#ifndef DFLDSIZ
#define DFLDSIZ (32768UL*1024*1024) /* initial data size limit */
#endif
diff --git a/sys/amd64/pci/pci_cfgreg.c b/sys/amd64/pci/pci_cfgreg.c
index 0039008..2e6e728 100644
--- a/sys/amd64/pci/pci_cfgreg.c
+++ b/sys/amd64/pci/pci_cfgreg.c
@@ -64,6 +64,7 @@ static vm_offset_t pcie_base;
static int pcie_minbus, pcie_maxbus;
static uint32_t pcie_badslots;
static struct mtx pcicfg_mtx;
+MTX_SYSINIT(pcicfg_mtx, &pcicfg_mtx, "pcicfg_mtx", MTX_SPIN);
static int mcfg_enable = 1;
SYSCTL_INT(_hw_pci, OID_AUTO, mcfg, CTLFLAG_RDTUN, &mcfg_enable, 0,
"Enable support for PCI-e memory mapped config access");
@@ -74,15 +75,9 @@ SYSCTL_INT(_hw_pci, OID_AUTO, mcfg, CTLFLAG_RDTUN, &mcfg_enable, 0,
int
pci_cfgregopen(void)
{
- static int once = 0;
uint64_t pciebar;
uint16_t did, vid;
- if (!once) {
- mtx_init(&pcicfg_mtx, "pcicfg", NULL, MTX_SPIN);
- once = 1;
- }
-
if (cfgmech != CFGMECH_NONE)
return (1);
cfgmech = CFGMECH_1;
@@ -138,6 +133,9 @@ pci_cfgregread(int bus, int slot, int func, int reg, int bytes)
{
uint32_t line;
+ if (cfgmech == CFGMECH_NONE)
+ return (0xffffffff);
+
/*
* Some BIOS writers seem to want to ignore the spec and put
* 0 in the intline rather than 255 to indicate none. Some use
@@ -162,6 +160,9 @@ void
pci_cfgregwrite(int bus, int slot, int func, int reg, u_int32_t data, int bytes)
{
+ if (cfgmech == CFGMECH_NONE)
+ return;
+
if (cfgmech == CFGMECH_PCIE &&
(bus >= pcie_minbus && bus <= pcie_maxbus) &&
(bus != 0 || !(1 << slot & pcie_badslots)))
diff --git a/sys/arm/allwinner/a10_mmc.c b/sys/arm/allwinner/a10_mmc.c
index 3c94bba..5db8684 100644
--- a/sys/arm/allwinner/a10_mmc.c
+++ b/sys/arm/allwinner/a10_mmc.c
@@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$");
#include <dev/ofw/ofw_bus_subr.h>
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
#include <dev/mmc/mmcbrvar.h>
#include <arm/allwinner/a10_mmc.h>
@@ -897,7 +896,6 @@ static device_method_t a10_mmc_methods[] = {
/* Bus interface */
DEVMETHOD(bus_read_ivar, a10_mmc_read_ivar),
DEVMETHOD(bus_write_ivar, a10_mmc_write_ivar),
- DEVMETHOD(bus_print_child, bus_generic_print_child),
/* MMC bridge interface */
DEVMETHOD(mmcbr_update_ios, a10_mmc_update_ios),
@@ -917,6 +915,6 @@ static driver_t a10_mmc_driver = {
sizeof(struct a10_mmc_softc),
};
-DRIVER_MODULE(a10_mmc, simplebus, a10_mmc_driver, a10_mmc_devclass, 0, 0);
-DRIVER_MODULE(mmc, a10_mmc, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(a10_mmc, mmc, 1, 1, 1);
+DRIVER_MODULE(a10_mmc, simplebus, a10_mmc_driver, a10_mmc_devclass, NULL,
+ NULL);
+MMC_DECLARE_BRIDGE(a10_mmc);
diff --git a/sys/arm/amlogic/aml8726/aml8726_mmc.c b/sys/arm/amlogic/aml8726/aml8726_mmc.c
index 3cc0744..40e7c06 100644
--- a/sys/arm/amlogic/aml8726/aml8726_mmc.c
+++ b/sys/arm/amlogic/aml8726/aml8726_mmc.c
@@ -33,7 +33,6 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/conf.h>
#include <sys/bus.h>
#include <sys/kernel.h>
#include <sys/module.h>
@@ -52,7 +51,6 @@ __FBSDID("$FreeBSD$");
#include <dev/ofw/ofw_bus_subr.h>
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
#include <dev/mmc/mmcbrvar.h>
#include <arm/amlogic/aml8726/aml8726_mmc.h>
@@ -1096,7 +1094,6 @@ static driver_t aml8726_mmc_driver = {
static devclass_t aml8726_mmc_devclass;
DRIVER_MODULE(aml8726_mmc, simplebus, aml8726_mmc_driver,
- aml8726_mmc_devclass, 0, 0);
+ aml8726_mmc_devclass, NULL, NULL);
MODULE_DEPEND(aml8726_mmc, aml8726_gpio, 1, 1, 1);
-DRIVER_MODULE(mmc, aml8726_mmc, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(aml8726_mmc, mmc, 1, 1, 1);
+MMC_DECLARE_BRIDGE(aml8726_mmc);
diff --git a/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c b/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c
index fc22535..09e4814 100644
--- a/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c
+++ b/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c
@@ -33,7 +33,6 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/conf.h>
#include <sys/bus.h>
#include <sys/kernel.h>
#include <sys/module.h>
@@ -1375,7 +1374,6 @@ static driver_t aml8726_sdxc_driver = {
static devclass_t aml8726_sdxc_devclass;
DRIVER_MODULE(aml8726_sdxc, simplebus, aml8726_sdxc_driver,
- aml8726_sdxc_devclass, 0, 0);
+ aml8726_sdxc_devclass, NULL, NULL);
MODULE_DEPEND(aml8726_sdxc, aml8726_gpio, 1, 1, 1);
-DRIVER_MODULE(mmc, aml8726_sdxc, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(aml8726_sdxc, mmc, 1, 1, 1);
+MMC_DECLARE_BRIDGE(aml8726_sdxc);
diff --git a/sys/arm/arm/busdma_machdep-v4.c b/sys/arm/arm/busdma_machdep-v4.c
index f7e0e26..9e98b4a 100644
--- a/sys/arm/arm/busdma_machdep-v4.c
+++ b/sys/arm/arm/busdma_machdep-v4.c
@@ -736,8 +736,10 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void **vaddr, int flags,
if (bufzone != NULL && dmat->alignment <= bufzone->size &&
!_bus_dma_can_bounce(dmat->lowaddr, dmat->highaddr)) {
*vaddr = uma_zalloc(bufzone->umazone, mflags);
- } else if (dmat->nsegments >= btoc(dmat->maxsize) &&
- dmat->alignment <= PAGE_SIZE && dmat->boundary == 0) {
+ } else if (dmat->nsegments >=
+ howmany(dmat->maxsize, MIN(dmat->maxsegsz, PAGE_SIZE)) &&
+ dmat->alignment <= PAGE_SIZE &&
+ (dmat->boundary % PAGE_SIZE) == 0) {
*vaddr = (void *)kmem_alloc_attr(kernel_arena, dmat->maxsize,
mflags, 0, dmat->lowaddr, memattr);
} else {
diff --git a/sys/arm/arm/busdma_machdep-v6.c b/sys/arm/arm/busdma_machdep-v6.c
index 5bf4626..58e2012 100644
--- a/sys/arm/arm/busdma_machdep-v6.c
+++ b/sys/arm/arm/busdma_machdep-v6.c
@@ -779,7 +779,9 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void **vaddr, int flags,
* (the allocator aligns buffers to their size boundaries).
* - There's no need to handle lowaddr/highaddr exclusion zones.
* else allocate non-contiguous pages if...
- * - The page count that could get allocated doesn't exceed nsegments.
+ * - The page count that could get allocated doesn't exceed
+ * nsegments also when the maximum segment size is less
+ * than PAGE_SIZE.
* - The alignment constraint isn't larger than a page boundary.
* - There are no boundary-crossing constraints.
* else allocate a block of contiguous pages because one or more of the
@@ -788,8 +790,10 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void **vaddr, int flags,
if (bufzone != NULL && dmat->alignment <= bufzone->size &&
!exclusion_bounce(dmat)) {
*vaddr = uma_zalloc(bufzone->umazone, mflags);
- } else if (dmat->nsegments >= btoc(dmat->maxsize) &&
- dmat->alignment <= PAGE_SIZE && dmat->boundary == 0) {
+ } else if (dmat->nsegments >=
+ howmany(dmat->maxsize, MIN(dmat->maxsegsz, PAGE_SIZE)) &&
+ dmat->alignment <= PAGE_SIZE &&
+ (dmat->boundary % PAGE_SIZE) == 0) {
*vaddr = (void *)kmem_alloc_attr(kernel_arena, dmat->maxsize,
mflags, 0, dmat->lowaddr, memattr);
} else {
diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c
index ce8c28e..7fe5f2d 100644
--- a/sys/arm/arm/gic.c
+++ b/sys/arm/arm/gic.c
@@ -1640,7 +1640,7 @@ arm_gicv2m_alloc_msi(device_t dev, device_t child, int count, int maxcount,
mtx_lock(&sc->sc_mutex);
found = false;
- for (irq = sc->sc_spi_start; irq < sc->sc_spi_end && !found; irq++) {
+ for (irq = sc->sc_spi_start; irq < sc->sc_spi_end; irq++) {
/* Start on an aligned interrupt */
if ((irq & (maxcount - 1)) != 0)
continue;
@@ -1649,7 +1649,7 @@ arm_gicv2m_alloc_msi(device_t dev, device_t child, int count, int maxcount,
found = true;
/* Check this range is valid */
- for (end_irq = irq; end_irq != irq + count - 1; end_irq++) {
+ for (end_irq = irq; end_irq != irq + count; end_irq++) {
/* No free interrupts */
if (end_irq == sc->sc_spi_end) {
found = false;
@@ -1666,6 +1666,8 @@ arm_gicv2m_alloc_msi(device_t dev, device_t child, int count, int maxcount,
break;
}
}
+ if (found)
+ break;
}
/* Not enough interrupts were found */
diff --git a/sys/arm/arm/pmap-v6.c b/sys/arm/arm/pmap-v6.c
index 1293147..3f41192 100644
--- a/sys/arm/arm/pmap-v6.c
+++ b/sys/arm/arm/pmap-v6.c
@@ -497,6 +497,42 @@ pmap_set_tex(void)
}
/*
+ * Remap one vm_meattr class to another one. This can be useful as
+ * workaround for SOC errata, e.g. if devices must be accessed using
+ * SO memory class.
+ *
+ * !!! Please note that this function is absolutely last resort thing.
+ * It should not be used under normal circumstances. !!!
+ *
+ * Usage rules:
+ * - it shall be called after pmap_bootstrap_prepare() and before
+ * cpu_mp_start() (thus only on boot CPU). In practice, it's expected
+ * to be called from platform_attach() or platform_late_init().
+ *
+ * - if remapping doesn't change caching mode, or until uncached class
+ * is remapped to any kind of cached one, then no other restriction exists.
+ *
+ * - if pmap_remap_vm_attr() changes caching mode, but both (original and
+ * remapped) remain cached, then caller is resposible for calling
+ * of dcache_wbinv_poc_all().
+ *
+ * - remapping of any kind of cached class to uncached is not permitted.
+ */
+void
+pmap_remap_vm_attr(vm_memattr_t old_attr, vm_memattr_t new_attr)
+{
+ int old_idx, new_idx;
+
+ /* Map VM memattrs to indexes to tex_class table. */
+ old_idx = pte2_attr_tab[(int)old_attr];
+ new_idx = pte2_attr_tab[(int)new_attr];
+
+ /* Replace TEX attribute and apply it. */
+ tex_class[old_idx] = tex_class[new_idx];
+ pmap_set_tex();
+}
+
+/*
* KERNBASE must be multiple of NPT2_IN_PG * PTE1_SIZE. In other words,
* KERNBASE is mapped by first L2 page table in L2 page table page. It
* meets same constrain due to PT2MAP being placed just under KERNBASE.
diff --git a/sys/arm/at91/at91_mci.c b/sys/arm/at91/at91_mci.c
index 2049fc7..f05fee6 100644
--- a/sys/arm/at91/at91_mci.c
+++ b/sys/arm/at91/at91_mci.c
@@ -32,23 +32,16 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/bio.h>
#include <sys/bus.h>
-#include <sys/conf.h>
#include <sys/endian.h>
#include <sys/kernel.h>
-#include <sys/kthread.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/module.h>
#include <sys/mutex.h>
-#include <sys/queue.h>
#include <sys/resource.h>
#include <sys/rman.h>
#include <sys/sysctl.h>
-#include <sys/time.h>
-#include <sys/timetc.h>
-#include <sys/watchdog.h>
#include <machine/bus.h>
#include <machine/resource.h>
@@ -59,7 +52,6 @@ __FBSDID("$FreeBSD$");
#include <arm/at91/at91_pdcreg.h>
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
#include <dev/mmc/mmcbrvar.h>
#ifdef FDT
@@ -1409,5 +1401,5 @@ DRIVER_MODULE(at91_mci, simplebus, at91_mci_driver, at91_mci_devclass, NULL,
DRIVER_MODULE(at91_mci, atmelarm, at91_mci_driver, at91_mci_devclass, NULL,
NULL);
#endif
-DRIVER_MODULE(mmc, at91_mci, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(at91_mci, mmc, 1, 1, 1);
+
+MMC_DECLARE_BRIDGE(at91_mci);
diff --git a/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c b/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
index b74fefd..2a1b2a9 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
+++ b/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
@@ -47,9 +47,10 @@ __FBSDID("$FreeBSD$");
#include <dev/mmc/bridge.h>
#include <dev/mmc/mmcreg.h>
-#include <dev/mmc/mmcbrvar.h>
#include <dev/sdhci/sdhci.h>
+
+#include "mmcbr_if.h"
#include "sdhci_if.h"
#include "bcm2835_dma.h"
@@ -643,7 +644,6 @@ static device_method_t bcm_sdhci_methods[] = {
/* Bus interface */
DEVMETHOD(bus_read_ivar, sdhci_generic_read_ivar),
DEVMETHOD(bus_write_ivar, sdhci_generic_write_ivar),
- DEVMETHOD(bus_print_child, bus_generic_print_child),
/* MMC bridge interface */
DEVMETHOD(mmcbr_update_ios, sdhci_generic_update_ios),
@@ -666,7 +666,7 @@ static device_method_t bcm_sdhci_methods[] = {
DEVMETHOD(sdhci_write_4, bcm_sdhci_write_4),
DEVMETHOD(sdhci_write_multi_4, bcm_sdhci_write_multi_4),
- { 0, 0 }
+ DEVMETHOD_END
};
static devclass_t bcm_sdhci_devclass;
@@ -677,7 +677,7 @@ static driver_t bcm_sdhci_driver = {
sizeof(struct bcm_sdhci_softc),
};
-DRIVER_MODULE(sdhci_bcm, simplebus, bcm_sdhci_driver, bcm_sdhci_devclass, 0, 0);
+DRIVER_MODULE(sdhci_bcm, simplebus, bcm_sdhci_driver, bcm_sdhci_devclass,
+ NULL, NULL);
MODULE_DEPEND(sdhci_bcm, sdhci, 1, 1, 1);
-DRIVER_MODULE(mmc, sdhci_bcm, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(sdhci_bcm, mmc, 1, 1, 1);
+MMC_DECLARE_BRIDGE(sdhci_bcm);
diff --git a/sys/arm/include/efi.h b/sys/arm/include/efi.h
index 476e184..02e1e7e 100644
--- a/sys/arm/include/efi.h
+++ b/sys/arm/include/efi.h
@@ -1,30 +1,5 @@
/*-
- * Copyright (c) 2016 The FreeBSD Foundation
- * All rights reserved.
- *
- * This software was developed by Konstantin Belousov <kib@FreeBSD.org>
- * under sponsorship from the FreeBSD Foundation.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
+ * This file is in the public domain since it's just boilerplate.
*
* $FreeBSD$
*/
diff --git a/sys/arm/include/pmap-v6.h b/sys/arm/include/pmap-v6.h
index 10296db..e25f7f0 100644
--- a/sys/arm/include/pmap-v6.h
+++ b/sys/arm/include/pmap-v6.h
@@ -189,6 +189,7 @@ vm_offset_t pmap_preboot_reserve_pages(u_int);
vm_offset_t pmap_preboot_get_vpages(u_int);
void pmap_preboot_map_attr(vm_paddr_t, vm_offset_t, vm_size_t, vm_prot_t,
vm_memattr_t);
+void pmap_remap_vm_attr(vm_memattr_t old_attr, vm_memattr_t new_attr);
#endif /* _KERNEL */
#endif /* !_MACHINE_PMAP_V6_H_ */
diff --git a/sys/arm/include/vmparam.h b/sys/arm/include/vmparam.h
index c28b28e..061ccab 100644
--- a/sys/arm/include/vmparam.h
+++ b/sys/arm/include/vmparam.h
@@ -42,7 +42,7 @@
* Virtual memory related constants, all in bytes
*/
#ifndef MAXTSIZ
-#define MAXTSIZ (64UL*1024*1024) /* max text size */
+#define MAXTSIZ (256UL*1024*1024) /* max text size */
#endif
#ifndef DFLDSIZ
#define DFLDSIZ (128UL*1024*1024) /* initial data size limit */
diff --git a/sys/arm/lpc/lpc_mmc.c b/sys/arm/lpc/lpc_mmc.c
index c337d72..5f028a0 100644
--- a/sys/arm/lpc/lpc_mmc.c
+++ b/sys/arm/lpc/lpc_mmc.c
@@ -29,24 +29,14 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/bio.h>
#include <sys/bus.h>
-#include <sys/conf.h>
-#include <sys/endian.h>
#include <sys/kernel.h>
-#include <sys/kthread.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/module.h>
#include <sys/mutex.h>
-#include <sys/queue.h>
#include <sys/resource.h>
#include <sys/rman.h>
-#include <sys/time.h>
-#include <sys/timetc.h>
-#include <sys/watchdog.h>
-
-#include <sys/kdb.h>
#include <machine/bus.h>
#include <machine/resource.h>
@@ -56,7 +46,6 @@ __FBSDID("$FreeBSD$");
#include <dev/ofw/ofw_bus_subr.h>
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
#include <dev/mmc/mmcbrvar.h>
#include <arm/lpc/lpcreg.h>
@@ -752,7 +741,6 @@ static device_method_t lpc_mmc_methods[] = {
/* Bus interface */
DEVMETHOD(bus_read_ivar, lpc_mmc_read_ivar),
DEVMETHOD(bus_write_ivar, lpc_mmc_write_ivar),
- DEVMETHOD(bus_print_child, bus_generic_print_child),
/* MMC bridge interface */
DEVMETHOD(mmcbr_update_ios, lpc_mmc_update_ios),
@@ -761,7 +749,7 @@ static device_method_t lpc_mmc_methods[] = {
DEVMETHOD(mmcbr_acquire_host, lpc_mmc_acquire_host),
DEVMETHOD(mmcbr_release_host, lpc_mmc_release_host),
- { 0, 0 }
+ DEVMETHOD_END
};
static devclass_t lpc_mmc_devclass;
@@ -772,6 +760,5 @@ static driver_t lpc_mmc_driver = {
sizeof(struct lpc_mmc_softc),
};
-DRIVER_MODULE(lpcmmc, simplebus, lpc_mmc_driver, lpc_mmc_devclass, 0, 0);
-DRIVER_MODULE(mmc, lpcmmc, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(lpcmmc, mmc, 1, 1, 1);
+DRIVER_MODULE(lpcmmc, simplebus, lpc_mmc_driver, lpc_mmc_devclass, NULL, NULL);
+MMC_DECLARE_BRIDGE(lpcmmc);
diff --git a/sys/arm/nvidia/tegra_sdhci.c b/sys/arm/nvidia/tegra_sdhci.c
index 07c0fa8..7c18437 100644
--- a/sys/arm/nvidia/tegra_sdhci.c
+++ b/sys/arm/nvidia/tegra_sdhci.c
@@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/types.h>
#include <sys/bus.h>
-#include <sys/callout.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/malloc.h>
@@ -45,7 +44,6 @@ __FBSDID("$FreeBSD$");
#include <sys/rman.h>
#include <sys/sysctl.h>
#include <sys/taskqueue.h>
-#include <sys/time.h>
#include <machine/bus.h>
#include <machine/resource.h>
@@ -55,7 +53,6 @@ __FBSDID("$FreeBSD$");
#include <dev/extres/hwreset/hwreset.h>
#include <dev/gpio/gpiobusvar.h>
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
#include <dev/mmc/mmcbrvar.h>
#include <dev/ofw/ofw_bus.h>
#include <dev/ofw/ofw_bus_subr.h>
@@ -457,5 +454,4 @@ static DEFINE_CLASS_0(sdhci, tegra_sdhci_driver, tegra_sdhci_methods,
DRIVER_MODULE(sdhci_tegra, simplebus, tegra_sdhci_driver, tegra_sdhci_devclass,
NULL, NULL);
MODULE_DEPEND(sdhci_tegra, sdhci, 1, 1, 1);
-DRIVER_MODULE(mmc, sdhci, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(sdhci_tegra, mmc, 1, 1, 1);
+MMC_DECLARE_BRIDGE(sdhci);
diff --git a/sys/arm/ti/ti_sdhci.c b/sys/arm/ti/ti_sdhci.c
index 16fa956..6b188dd 100644
--- a/sys/arm/ti/ti_sdhci.c
+++ b/sys/arm/ti/ti_sdhci.c
@@ -606,6 +606,11 @@ ti_sdhci_attach(device_t dev)
* before waiting to see them de-asserted.
*/
sc->slot.quirks |= SDHCI_QUIRK_WAITFOR_RESET_ASSERTED;
+
+ /*
+ * The controller waits for busy responses.
+ */
+ sc->slot.quirks |= SDHCI_QUIRK_WAIT_WHILE_BUSY;
/*
* DMA is not really broken, I just haven't implemented it yet.
@@ -692,7 +697,6 @@ static device_method_t ti_sdhci_methods[] = {
/* Bus interface */
DEVMETHOD(bus_read_ivar, sdhci_generic_read_ivar),
DEVMETHOD(bus_write_ivar, sdhci_generic_write_ivar),
- DEVMETHOD(bus_print_child, bus_generic_print_child),
/* MMC bridge interface */
DEVMETHOD(mmcbr_update_ios, ti_sdhci_update_ios),
@@ -723,7 +727,7 @@ static driver_t ti_sdhci_driver = {
sizeof(struct ti_sdhci_softc),
};
-DRIVER_MODULE(sdhci_ti, simplebus, ti_sdhci_driver, ti_sdhci_devclass, 0, 0);
+DRIVER_MODULE(sdhci_ti, simplebus, ti_sdhci_driver, ti_sdhci_devclass, NULL,
+ NULL);
MODULE_DEPEND(sdhci_ti, sdhci, 1, 1, 1);
-DRIVER_MODULE(mmc, sdhci_ti, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(sdhci_ti, mmc, 1, 1, 1);
+MMC_DECLARE_BRIDGE(sdhci_ti);
diff --git a/sys/arm64/arm64/busdma_bounce.c b/sys/arm64/arm64/busdma_bounce.c
index aff1e23..31eaf05 100644
--- a/sys/arm64/arm64/busdma_bounce.c
+++ b/sys/arm64/arm64/busdma_bounce.c
@@ -461,22 +461,35 @@ bounce_bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags,
(*mapp)->flags = DMAMAP_FROM_DMAMEM;
/*
- * XXX:
- * (dmat->alignment <= dmat->maxsize) is just a quick hack; the exact
- * alignment guarantees of malloc need to be nailed down, and the
- * code below should be rewritten to take that into account.
+ * Allocate the buffer from the malloc(9) allocator if...
+ * - It's small enough to fit into a single power of two sized bucket.
+ * - The alignment is less than or equal to the maximum size
+ * - The low address requirement is fulfilled.
+ * else allocate non-contiguous pages if...
+ * - The page count that could get allocated doesn't exceed
+ * nsegments also when the maximum segment size is less
+ * than PAGE_SIZE.
+ * - The alignment constraint isn't larger than a page boundary.
+ * - There are no boundary-crossing constraints.
+ * else allocate a block of contiguous pages because one or more of the
+ * constraints is something that only the contig allocator can fulfill.
*
- * In the meantime, we'll warn the user if malloc gets it wrong.
+ * NOTE: The (dmat->common.alignment <= dmat->maxsize) check
+ * below is just a quick hack. The exact alignment guarantees
+ * of malloc(9) need to be nailed down, and the code below
+ * should be rewritten to take that into account.
+ *
+ * In the meantime warn the user if malloc gets it wrong.
*/
if ((dmat->common.maxsize <= PAGE_SIZE) &&
(dmat->common.alignment <= dmat->common.maxsize) &&
dmat->common.lowaddr >= ptoa((vm_paddr_t)Maxmem) &&
attr == VM_MEMATTR_DEFAULT) {
*vaddr = malloc(dmat->common.maxsize, M_DEVBUF, mflags);
- } else if (dmat->common.nsegments >= btoc(dmat->common.maxsize) &&
+ } else if (dmat->common.nsegments >=
+ howmany(dmat->common.maxsize, MIN(dmat->common.maxsegsz, PAGE_SIZE)) &&
dmat->common.alignment <= PAGE_SIZE &&
- (dmat->common.boundary == 0 ||
- dmat->common.boundary >= dmat->common.lowaddr)) {
+ (dmat->common.boundary % PAGE_SIZE) == 0) {
/* Page-based multi-segment allocations allowed */
*vaddr = (void *)kmem_alloc_attr(kernel_arena,
dmat->common.maxsize, mflags, 0ul, dmat->common.lowaddr,
diff --git a/sys/arm64/arm64/copyinout.S b/sys/arm64/arm64/copyinout.S
index 86711fc..64e0a4b 100644
--- a/sys/arm64/arm64/copyinout.S
+++ b/sys/arm64/arm64/copyinout.S
@@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$");
*/
ENTRY(copyio_fault)
SET_FAULT_HANDLER(xzr, x1) /* Clear the handler */
+ EXIT_USER_ACCESS_CHECK(w0, x1)
copyio_fault_nopcb:
mov x0, #EFAULT
ret
@@ -99,18 +100,22 @@ ENTRY(copyinstr)
adr x6, copyio_fault /* Get the handler address */
SET_FAULT_HANDLER(x6, x7) /* Set the handler */
+ ENTER_USER_ACCESS(w6, x7)
ldr x7, =VM_MAXUSER_ADDRESS
1: cmp x0, x7
b.cs copyio_fault
- ldrb w4, [x0], #1 /* Load from uaddr */
+ ldtrb w4, [x0] /* Load from uaddr */
+ add x0, x0, #1 /* Next char */
strb w4, [x1], #1 /* Store in kaddr */
add x5, x5, #1 /* count++ */
cbz w4, 2f /* Break when NUL-terminated */
sub x2, x2, #1 /* len-- */
cbnz x2, 1b
-2: SET_FAULT_HANDLER(xzr, x7) /* Clear the handler */
+2: EXIT_USER_ACCESS(w6)
+ SET_FAULT_HANDLER(xzr, x7) /* Clear the handler */
+
3: cbz x3, 4f /* Check if done != NULL */
str x5, [x3] /* done = count */
@@ -144,7 +149,7 @@ END(copyinstr)
copycommon:
adr x6, copyio_fault /* Get the handler address */
SET_FAULT_HANDLER(x6, x7) /* Set the handler */
-
+ ENTER_USER_ACCESS(w6, x7)
/* Check alignment */
orr x3, x0, x1
@@ -213,6 +218,7 @@ last_byte:
strb w3, [x1]
ending:
+ EXIT_USER_ACCESS_CHECK(w6, x7)
SET_FAULT_HANDLER(xzr, x7) /* Clear the handler */
mov x0, xzr /* return 0 */
diff --git a/sys/arm64/arm64/exception.S b/sys/arm64/arm64/exception.S
index 63aa04c..515d3fe 100644
--- a/sys/arm64/arm64/exception.S
+++ b/sys/arm64/arm64/exception.S
@@ -56,10 +56,12 @@ __FBSDID("$FreeBSD$");
stp x0, x1, [sp, #(TF_X + 0 * 8)]
mrs x10, elr_el1
mrs x11, spsr_el1
+ mrs x12, esr_el1
.if \el == 0
mrs x18, sp_el0
.endif
- stp x10, x11, [sp, #(TF_ELR)]
+ str x10, [sp, #(TF_ELR)]
+ stp w11, w12, [sp, #(TF_SPSR)]
stp x18, lr, [sp, #(TF_SP)]
mrs x18, tpidr_el1
add x29, sp, #(TF_SIZE)
@@ -141,7 +143,8 @@ __FBSDID("$FreeBSD$");
ENTRY(handle_el1h_sync)
save_registers 1
- mov x0, sp
+ ldr x0, [x18, #PC_CURTHREAD]
+ mov x1, sp
bl do_el1h_sync
restore_registers 1
eret
@@ -161,7 +164,9 @@ END(handle_el1h_error)
ENTRY(handle_el0_sync)
save_registers 0
- mov x0, sp
+ ldr x0, [x18, #PC_CURTHREAD]
+ mov x1, sp
+ str x1, [x0, #TD_FRAME]
bl do_el0_sync
do_ast
restore_registers 0
diff --git a/sys/arm64/arm64/genassym.c b/sys/arm64/arm64/genassym.c
index 36ad877..6d68d75 100644
--- a/sys/arm64/arm64/genassym.c
+++ b/sys/arm64/arm64/genassym.c
@@ -57,9 +57,11 @@ ASSYM(SF_UC, offsetof(struct sigframe, sf_uc));
ASSYM(TD_PCB, offsetof(struct thread, td_pcb));
ASSYM(TD_FLAGS, offsetof(struct thread, td_flags));
+ASSYM(TD_FRAME, offsetof(struct thread, td_frame));
ASSYM(TD_LOCK, offsetof(struct thread, td_lock));
ASSYM(TF_SIZE, sizeof(struct trapframe));
ASSYM(TF_SP, offsetof(struct trapframe, tf_sp));
ASSYM(TF_ELR, offsetof(struct trapframe, tf_elr));
+ASSYM(TF_SPSR, offsetof(struct trapframe, tf_spsr));
ASSYM(TF_X, offsetof(struct trapframe, tf_x));
diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S
index 215975f..f324aa5 100644
--- a/sys/arm64/arm64/locore.S
+++ b/sys/arm64/arm64/locore.S
@@ -617,19 +617,22 @@ start_mmu:
.align 3
mair:
- /* Device Normal, no cache Normal, write-back */
- .quad MAIR_ATTR(0x00, 0) | MAIR_ATTR(0x44, 1) | MAIR_ATTR(0xff, 2)
+ .quad MAIR_ATTR(MAIR_DEVICE_nGnRnE, 0) | \
+ MAIR_ATTR(MAIR_NORMAL_NC, 1) | \
+ MAIR_ATTR(MAIR_NORMAL_WB, 2) | \
+ MAIR_ATTR(MAIR_NORMAL_WT, 3)
tcr:
.quad (TCR_TxSZ(64 - VIRT_BITS) | TCR_ASID_16 | TCR_TG1_4K | \
TCR_CACHE_ATTRS | TCR_SMP_ATTRS)
sctlr_set:
/* Bits to set */
- .quad (SCTLR_UCI | SCTLR_nTWE | SCTLR_nTWI | SCTLR_UCT | SCTLR_DZE | \
+ .quad (SCTLR_LSMAOE | SCTLR_nTLSMD | SCTLR_UCI | SCTLR_SPAN | \
+ SCTLR_nTWE | SCTLR_nTWI | SCTLR_UCT | SCTLR_DZE | \
SCTLR_I | SCTLR_SED | SCTLR_SA0 | SCTLR_SA | SCTLR_C | SCTLR_M)
sctlr_clear:
/* Bits to clear */
- .quad (SCTLR_EE | SCTLR_EOE | SCTLR_WXN | SCTLR_UMA | SCTLR_ITD | \
- SCTLR_THEE | SCTLR_CP15BEN | SCTLR_A)
+ .quad (SCTLR_EE | SCTLR_EOE | SCTLR_IESB | SCTLR_WXN | SCTLR_UMA | \
+ SCTLR_ITD | SCTLR_THEE | SCTLR_CP15BEN | SCTLR_A)
.globl abort
abort:
diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c
index 3063bb3..70cd12f 100644
--- a/sys/arm64/arm64/machdep.c
+++ b/sys/arm64/arm64/machdep.c
@@ -109,6 +109,7 @@ int64_t dcache_line_size; /* The minimum D cache line size */
int64_t icache_line_size; /* The minimum I cache line size */
int64_t idcache_line_size; /* The minimum cache line size */
int64_t dczva_line_size; /* The size of cache line the dc zva zeroes */
+int has_pan;
/* pagezero_* implementations are provided in support.S */
void pagezero_simple(void *);
@@ -118,6 +119,37 @@ void pagezero_cache(void *);
void (*pagezero)(void *p) = pagezero_simple;
static void
+pan_setup(void)
+{
+ uint64_t id_aa64mfr1;
+
+ id_aa64mfr1 = READ_SPECIALREG(id_aa64mmfr1_el1);
+ if (ID_AA64MMFR1_PAN(id_aa64mfr1) != ID_AA64MMFR1_PAN_NONE)
+ has_pan = 1;
+}
+
+void
+pan_enable(void)
+{
+
+ /*
+ * The LLVM integrated assembler doesn't understand the PAN
+ * PSTATE field. Because of this we need to manually create
+ * the instruction in an asm block. This is equivalent to:
+ * msr pan, #1
+ *
+ * This sets the PAN bit, stopping the kernel from accessing
+ * memory when userspace can also access it unless the kernel
+ * uses the userspace load/store instructions.
+ */
+ if (has_pan) {
+ WRITE_SPECIALREG(sctlr_el1,
+ READ_SPECIALREG(sctlr_el1) & ~SCTLR_SPAN);
+ __asm __volatile(".inst 0xd500409f | (0x1 << 8)");
+ }
+}
+
+static void
cpu_startup(void *dummy)
{
@@ -920,6 +952,7 @@ initarm(struct arm64_bootparams *abp)
init_param1();
cache_setup();
+ pan_setup();
/* Bootstrap enough of pmap to enter the kernel proper */
pmap_bootstrap(abp->kern_l0pt, abp->kern_l1pt,
@@ -936,6 +969,7 @@ initarm(struct arm64_bootparams *abp)
dbg_monitor_init();
kdb_init();
+ pan_enable();
early_boot = 0;
}
diff --git a/sys/arm64/arm64/mp_machdep.c b/sys/arm64/arm64/mp_machdep.c
index b8e0394..135d6ea 100644
--- a/sys/arm64/arm64/mp_machdep.c
+++ b/sys/arm64/arm64/mp_machdep.c
@@ -278,6 +278,7 @@ init_secondary(uint64_t cpu)
#endif
dbg_monitor_init();
+ pan_enable();
/* Enable interrupts */
intr_enable();
diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
index 6839758..fef977c 100644
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -606,7 +606,7 @@ pmap_bootstrap_dmap(vm_offset_t kern_l1, vm_paddr_t min_pa, vm_paddr_t max_pa)
l1_slot = ((va - DMAP_MIN_ADDRESS) >> L1_SHIFT);
pmap_load_store(&pagetable_dmap[l1_slot],
- (pa & ~L1_OFFSET) | ATTR_DEFAULT |
+ (pa & ~L1_OFFSET) | ATTR_DEFAULT | ATTR_XN |
ATTR_IDX(CACHED_MEMORY) | L1_BLOCK);
}
@@ -1127,7 +1127,7 @@ static void
pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode)
{
pd_entry_t *pde;
- pt_entry_t *pte;
+ pt_entry_t *pte, attr;
vm_offset_t va;
int lvl;
@@ -1138,6 +1138,10 @@ pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode)
KASSERT((size & PAGE_MASK) == 0,
("pmap_kenter: Mapping is not page-sized"));
+ attr = ATTR_DEFAULT | ATTR_IDX(mode) | L3_PAGE;
+ if (mode == DEVICE_MEMORY)
+ attr |= ATTR_XN;
+
va = sva;
while (size != 0) {
pde = pmap_pde(kernel_pmap, va, &lvl);
@@ -1146,8 +1150,7 @@ pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode)
KASSERT(lvl == 2, ("pmap_kenter: Invalid level %d", lvl));
pte = pmap_l2_to_l3(pde, va);
- pmap_load_store(pte, (pa & ~L3_OFFSET) | ATTR_DEFAULT |
- ATTR_IDX(mode) | L3_PAGE);
+ pmap_load_store(pte, (pa & ~L3_OFFSET) | attr);
PTE_SYNC(pte);
va += PAGE_SIZE;
@@ -1259,6 +1262,8 @@ pmap_qenter(vm_offset_t sva, vm_page_t *ma, int count)
m = ma[i];
pa = VM_PAGE_TO_PHYS(m) | ATTR_DEFAULT | ATTR_AP(ATTR_AP_RW) |
ATTR_IDX(m->md.pv_memattr) | L3_PAGE;
+ if (m->md.pv_memattr == DEVICE_MEMORY)
+ pa |= ATTR_XN;
pte = pmap_l2_to_l3(pde, va);
pmap_load_store(pte, pa);
PTE_SYNC(pte);
@@ -1844,8 +1849,129 @@ SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_spare, CTLFLAG_RD, &pv_entry_spare, 0,
static vm_page_t
reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **lockp)
{
+ struct pch new_tail;
+ struct pv_chunk *pc;
+ struct md_page *pvh;
+ pd_entry_t *pde;
+ pmap_t pmap;
+ pt_entry_t *pte, tpte;
+ pv_entry_t pv;
+ vm_offset_t va;
+ vm_page_t m, m_pc;
+ struct spglist free;
+ uint64_t inuse;
+ int bit, field, freed, lvl;
- panic("ARM64TODO: reclaim_pv_chunk");
+ PMAP_LOCK_ASSERT(locked_pmap, MA_OWNED);
+ KASSERT(lockp != NULL, ("reclaim_pv_chunk: lockp is NULL"));
+ pmap = NULL;
+ m_pc = NULL;
+ SLIST_INIT(&free);
+ TAILQ_INIT(&new_tail);
+ mtx_lock(&pv_chunks_mutex);
+ while ((pc = TAILQ_FIRST(&pv_chunks)) != NULL && SLIST_EMPTY(&free)) {
+ TAILQ_REMOVE(&pv_chunks, pc, pc_lru);
+ mtx_unlock(&pv_chunks_mutex);
+ if (pmap != pc->pc_pmap) {
+ if (pmap != NULL && pmap != locked_pmap)
+ PMAP_UNLOCK(pmap);
+ pmap = pc->pc_pmap;
+ /* Avoid deadlock and lock recursion. */
+ if (pmap > locked_pmap) {
+ RELEASE_PV_LIST_LOCK(lockp);
+ PMAP_LOCK(pmap);
+ } else if (pmap != locked_pmap &&
+ !PMAP_TRYLOCK(pmap)) {
+ pmap = NULL;
+ TAILQ_INSERT_TAIL(&new_tail, pc, pc_lru);
+ mtx_lock(&pv_chunks_mutex);
+ continue;
+ }
+ }
+
+ /*
+ * Destroy every non-wired, 4 KB page mapping in the chunk.
+ */
+ freed = 0;
+ for (field = 0; field < _NPCM; field++) {
+ for (inuse = ~pc->pc_map[field] & pc_freemask[field];
+ inuse != 0; inuse &= ~(1UL << bit)) {
+ bit = ffsl(inuse) - 1;
+ pv = &pc->pc_pventry[field * 64 + bit];
+ va = pv->pv_va;
+ pde = pmap_pde(pmap, va, &lvl);
+ if (lvl != 2)
+ continue;
+ pte = pmap_l2_to_l3(pde, va);
+ tpte = pmap_load(pte);
+ if ((tpte & ATTR_SW_WIRED) != 0)
+ continue;
+ tpte = pmap_load_clear(pte);
+ PTE_SYNC(pte);
+ pmap_invalidate_page(pmap, va);
+ m = PHYS_TO_VM_PAGE(tpte & ~ATTR_MASK);
+ if (pmap_page_dirty(tpte))
+ vm_page_dirty(m);
+ if ((tpte & ATTR_AF) != 0)
+ vm_page_aflag_set(m, PGA_REFERENCED);
+ CHANGE_PV_LIST_LOCK_TO_VM_PAGE(lockp, m);
+ TAILQ_REMOVE(&m->md.pv_list, pv, pv_next);
+ m->md.pv_gen++;
+ if (TAILQ_EMPTY(&m->md.pv_list) &&
+ (m->flags & PG_FICTITIOUS) == 0) {
+ pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
+ if (TAILQ_EMPTY(&pvh->pv_list)) {
+ vm_page_aflag_clear(m,
+ PGA_WRITEABLE);
+ }
+ }
+ pc->pc_map[field] |= 1UL << bit;
+ pmap_unuse_l3(pmap, va, pmap_load(pde), &free);
+ freed++;
+ }
+ }
+ if (freed == 0) {
+ TAILQ_INSERT_TAIL(&new_tail, pc, pc_lru);
+ mtx_lock(&pv_chunks_mutex);
+ continue;
+ }
+ /* Every freed mapping is for a 4 KB page. */
+ pmap_resident_count_dec(pmap, freed);
+ PV_STAT(atomic_add_long(&pv_entry_frees, freed));
+ PV_STAT(atomic_add_int(&pv_entry_spare, freed));
+ PV_STAT(atomic_subtract_long(&pv_entry_count, freed));
+ TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list);
+ if (pc->pc_map[0] == PC_FREE0 && pc->pc_map[1] == PC_FREE1 &&
+ pc->pc_map[2] == PC_FREE2) {
+ PV_STAT(atomic_subtract_int(&pv_entry_spare, _NPCPV));
+ PV_STAT(atomic_subtract_int(&pc_chunk_count, 1));
+ PV_STAT(atomic_add_int(&pc_chunk_frees, 1));
+ /* Entire chunk is free; return it. */
+ m_pc = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pc));
+ dump_drop_page(m_pc->phys_addr);
+ mtx_lock(&pv_chunks_mutex);
+ break;
+ }
+ TAILQ_INSERT_HEAD(&pmap->pm_pvchunk, pc, pc_list);
+ TAILQ_INSERT_TAIL(&new_tail, pc, pc_lru);
+ mtx_lock(&pv_chunks_mutex);
+ /* One freed pv entry in locked_pmap is sufficient. */
+ if (pmap == locked_pmap)
+ break;
+ }
+ TAILQ_CONCAT(&pv_chunks, &new_tail, pc_lru);
+ mtx_unlock(&pv_chunks_mutex);
+ if (pmap != NULL && pmap != locked_pmap)
+ PMAP_UNLOCK(pmap);
+ if (m_pc == NULL && !SLIST_EMPTY(&free)) {
+ m_pc = SLIST_FIRST(&free);
+ SLIST_REMOVE_HEAD(&free, plinks.s.ss);
+ /* Recycle a freed page table page. */
+ m_pc->wire_count = 1;
+ atomic_add_int(&vm_cnt.v_wire_count, 1);
+ }
+ pmap_free_zero_pages(&free);
+ return (m_pc);
}
/*
@@ -2428,14 +2554,16 @@ pmap_protect(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, vm_prot_t prot)
{
vm_offset_t va, va_next;
pd_entry_t *l0, *l1, *l2;
- pt_entry_t *l3p, l3;
+ pt_entry_t *l3p, l3, nbits;
- if ((prot & VM_PROT_READ) == VM_PROT_NONE) {
+ KASSERT((prot & ~VM_PROT_ALL) == 0, ("invalid prot %x", prot));
+ if (prot == VM_PROT_NONE) {
pmap_remove(pmap, sva, eva);
return;
}
- if ((prot & VM_PROT_WRITE) == VM_PROT_WRITE)
+ if ((prot & (VM_PROT_WRITE | VM_PROT_EXECUTE)) ==
+ (VM_PROT_WRITE | VM_PROT_EXECUTE))
return;
PMAP_LOCK(pmap);
@@ -2480,17 +2608,25 @@ pmap_protect(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, vm_prot_t prot)
for (l3p = pmap_l2_to_l3(l2, sva); sva != va_next; l3p++,
sva += L3_SIZE) {
l3 = pmap_load(l3p);
- if (pmap_l3_valid(l3)) {
+ if (!pmap_l3_valid(l3))
+ continue;
+
+ nbits = 0;
+ if ((prot & VM_PROT_WRITE) == 0) {
if ((l3 & ATTR_SW_MANAGED) &&
pmap_page_dirty(l3)) {
vm_page_dirty(PHYS_TO_VM_PAGE(l3 &
~ATTR_MASK));
}
- pmap_set(l3p, ATTR_AP(ATTR_AP_RO));
- PTE_SYNC(l3p);
- /* XXX: Use pmap_invalidate_range */
- pmap_invalidate_page(pmap, va);
+ nbits |= ATTR_AP(ATTR_AP_RO);
}
+ if ((prot & VM_PROT_EXECUTE) == 0)
+ nbits |= ATTR_XN;
+
+ pmap_set(l3p, nbits);
+ PTE_SYNC(l3p);
+ /* XXX: Use pmap_invalidate_range */
+ pmap_invalidate_page(pmap, va);
}
}
PMAP_UNLOCK(pmap);
@@ -2514,29 +2650,17 @@ pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte)
}
/*
- * Looks for a page table page mapping the specified virtual address in the
- * specified pmap's collection of idle page table pages. Returns NULL if there
- * is no page table page corresponding to the specified virtual address.
+ * Removes the page table page mapping the specified virtual address from the
+ * specified pmap's collection of idle page table pages, and returns it.
+ * Otherwise, returns NULL if there is no page table page corresponding to the
+ * specified virtual address.
*/
static __inline vm_page_t
-pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va)
+pmap_remove_pt_page(pmap_t pmap, vm_offset_t va)
{
PMAP_LOCK_ASSERT(pmap, MA_OWNED);
- return (vm_radix_lookup(&pmap->pm_root, pmap_l2_pindex(va)));
-}
-
-/*
- * Removes the specified page table page from the specified pmap's collection
- * of idle page table pages. The specified page table page must be a member of
- * the pmap's collection.
- */
-static __inline void
-pmap_remove_pt_page(pmap_t pmap, vm_page_t mpte)
-{
-
- PMAP_LOCK_ASSERT(pmap, MA_OWNED);
- vm_radix_remove(&pmap->pm_root, mpte->pindex);
+ return (vm_radix_remove(&pmap->pm_root, pmap_l2_pindex(va)));
}
/*
@@ -2721,10 +2845,12 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
L3_PAGE);
if ((prot & VM_PROT_WRITE) == 0)
new_l3 |= ATTR_AP(ATTR_AP_RO);
+ if ((prot & VM_PROT_EXECUTE) == 0 || m->md.pv_memattr == DEVICE_MEMORY)
+ new_l3 |= ATTR_XN;
if ((flags & PMAP_ENTER_WIRED) != 0)
new_l3 |= ATTR_SW_WIRED;
if ((va >> 63) == 0)
- new_l3 |= ATTR_AP(ATTR_AP_USER);
+ new_l3 |= ATTR_AP(ATTR_AP_USER) | ATTR_PXN;
CTR2(KTR_PMAP, "pmap_enter: %.16lx -> %.16lx", va, pa);
@@ -3127,6 +3253,10 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
pa = VM_PAGE_TO_PHYS(m) | ATTR_DEFAULT | ATTR_IDX(m->md.pv_memattr) |
ATTR_AP(ATTR_AP_RO) | L3_PAGE;
+ if ((prot & VM_PROT_EXECUTE) == 0 || m->md.pv_memattr == DEVICE_MEMORY)
+ pa |= ATTR_XN;
+ else if (va < VM_MAXUSER_ADDRESS)
+ pa |= ATTR_PXN;
/*
* Now validate mapping with RO protection
@@ -3605,10 +3735,9 @@ pmap_remove_pages(pmap_t pmap)
TAILQ_EMPTY(&mt->md.pv_list))
vm_page_aflag_clear(mt, PGA_WRITEABLE);
}
- ml3 = pmap_lookup_pt_page(pmap,
+ ml3 = pmap_remove_pt_page(pmap,
pv->pv_va);
if (ml3 != NULL) {
- pmap_remove_pt_page(pmap, ml3);
pmap_resident_count_dec(pmap,1);
KASSERT(ml3->wire_count == NL3PG,
("pmap_remove_pages: l3 page wire count error"));
@@ -4264,6 +4393,8 @@ pmap_change_attr_locked(vm_offset_t va, vm_size_t size, int mode)
l3 = pmap_load(pte);
l3 &= ~ATTR_IDX_MASK;
l3 |= ATTR_IDX(mode);
+ if (mode == DEVICE_MEMORY)
+ l3 |= ATTR_XN;
pmap_update_entry(kernel_pmap, pte, l3, tmpva,
PAGE_SIZE);
@@ -4381,9 +4512,7 @@ pmap_demote_l2_locked(pmap_t pmap, pt_entry_t *l2, vm_offset_t va,
return (NULL);
}
- if ((ml3 = pmap_lookup_pt_page(pmap, va)) != NULL) {
- pmap_remove_pt_page(pmap, ml3);
- } else {
+ if ((ml3 = pmap_remove_pt_page(pmap, va)) == NULL) {
ml3 = vm_page_alloc(NULL, pmap_l2_pindex(va),
(VIRT_IN_DMAP(va) ? VM_ALLOC_INTERRUPT : VM_ALLOC_NORMAL) |
VM_ALLOC_NOOBJ | VM_ALLOC_WIRED);
diff --git a/sys/arm64/arm64/support.S b/sys/arm64/arm64/support.S
index 1ca8c2b..ddbf1b2 100644
--- a/sys/arm64/arm64/support.S
+++ b/sys/arm64/arm64/support.S
@@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$");
*/
ENTRY(fsu_fault)
SET_FAULT_HANDLER(xzr, x1) /* Reset the handler function */
+ EXIT_USER_ACCESS_CHECK(w0, x1)
fsu_fault_nopcb:
mov x0, #-1
ret
@@ -57,11 +58,13 @@ ENTRY(casueword32)
b.cs fsu_fault_nopcb
adr x6, fsu_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x4) /* And set it */
+ ENTER_USER_ACCESS(w6, x4)
1: ldxr w4, [x0] /* Load-exclusive the data */
cmp w4, w1 /* Compare */
b.ne 2f /* Not equal, exit */
stxr w5, w3, [x0] /* Store the new data */
cbnz w5, 1b /* Retry on failure */
+ EXIT_USER_ACCESS(w6)
2: SET_FAULT_HANDLER(xzr, x5) /* Reset the fault handler */
str w4, [x2] /* Store the read data */
mov x0, #0 /* Success */
@@ -77,11 +80,13 @@ ENTRY(casueword)
b.cs fsu_fault_nopcb
adr x6, fsu_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x4) /* And set it */
+ ENTER_USER_ACCESS(w6, x4)
1: ldxr x4, [x0] /* Load-exclusive the data */
cmp x4, x1 /* Compare */
b.ne 2f /* Not equal, exit */
stxr w5, x3, [x0] /* Store the new data */
cbnz w5, 1b /* Retry on failure */
+ EXIT_USER_ACCESS(w6)
2: SET_FAULT_HANDLER(xzr, x5) /* Reset the fault handler */
str x4, [x2] /* Store the read data */
mov x0, #0 /* Success */
@@ -97,7 +102,7 @@ ENTRY(fubyte)
b.cs fsu_fault_nopcb
adr x6, fsu_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x1) /* And set it */
- ldrb w0, [x0] /* Try loading the data */
+ ldtrb w0, [x0] /* Try loading the data */
SET_FAULT_HANDLER(xzr, x1) /* Reset the fault handler */
ret /* Return */
END(fubyte)
@@ -111,7 +116,7 @@ ENTRY(fuword16)
b.cs fsu_fault_nopcb
adr x6, fsu_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x1) /* And set it */
- ldrh w0, [x0] /* Try loading the data */
+ ldtrh w0, [x0] /* Try loading the data */
SET_FAULT_HANDLER(xzr, x1) /* Reset the fault handler */
ret /* Return */
END(fuword16)
@@ -125,7 +130,7 @@ ENTRY(fueword32)
b.cs fsu_fault_nopcb
adr x6, fsu_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x2) /* And set it */
- ldr w0, [x0] /* Try loading the data */
+ ldtr w0, [x0] /* Try loading the data */
SET_FAULT_HANDLER(xzr, x2) /* Reset the fault handler */
str w0, [x1] /* Save the data in kernel space */
mov w0, #0 /* Success */
@@ -143,7 +148,7 @@ EENTRY(fueword64)
b.cs fsu_fault_nopcb
adr x6, fsu_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x2) /* And set it */
- ldr x0, [x0] /* Try loading the data */
+ ldtr x0, [x0] /* Try loading the data */
SET_FAULT_HANDLER(xzr, x2) /* Reset the fault handler */
str x0, [x1] /* Save the data in kernel space */
mov x0, #0 /* Success */
@@ -160,7 +165,7 @@ ENTRY(subyte)
b.cs fsu_fault_nopcb
adr x6, fsu_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x2) /* And set it */
- strb w1, [x0] /* Try storing the data */
+ sttrb w1, [x0] /* Try storing the data */
SET_FAULT_HANDLER(xzr, x2) /* Reset the fault handler */
mov x0, #0 /* Success */
ret /* Return */
@@ -175,7 +180,7 @@ ENTRY(suword16)
b.cs fsu_fault_nopcb
adr x6, fsu_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x2) /* And set it */
- strh w1, [x0] /* Try storing the data */
+ sttrh w1, [x0] /* Try storing the data */
SET_FAULT_HANDLER(xzr, x2) /* Reset the fault handler */
mov x0, #0 /* Success */
ret /* Return */
@@ -190,7 +195,7 @@ ENTRY(suword32)
b.cs fsu_fault_nopcb
adr x6, fsu_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x2) /* And set it */
- str w1, [x0] /* Try storing the data */
+ sttr w1, [x0] /* Try storing the data */
SET_FAULT_HANDLER(xzr, x2) /* Reset the fault handler */
mov x0, #0 /* Success */
ret /* Return */
@@ -206,7 +211,7 @@ EENTRY(suword64)
b.cs fsu_fault_nopcb
adr x6, fsu_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x2) /* And set it */
- str x1, [x0] /* Try storing the data */
+ sttr x1, [x0] /* Try storing the data */
SET_FAULT_HANDLER(xzr, x2) /* Reset the fault handler */
mov x0, #0 /* Success */
ret /* Return */
@@ -224,6 +229,7 @@ END(suword)
*/
ENTRY(fsu_intr_fault)
SET_FAULT_HANDLER(xzr, x1) /* Reset the handler function */
+ EXIT_USER_ACCESS_CHECK(w0, x1)
mov x0, #-1
ret
END(fsu_fault)
@@ -237,7 +243,7 @@ ENTRY(fuswintr)
b.cs fsu_fault_nopcb
adr x6, fsu_intr_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x1) /* And set it */
- ldr w0, [x0] /* Try loading the data */
+ ldtr w0, [x0] /* Try loading the data */
SET_FAULT_HANDLER(xzr, x1) /* Reset the fault handler */
ret /* Return */
END(fuswintr)
@@ -251,7 +257,7 @@ ENTRY(suswintr)
b.cs fsu_fault_nopcb
adr x6, fsu_intr_fault /* Load the fault handler */
SET_FAULT_HANDLER(x6, x2) /* And set it */
- str w1, [x0] /* Try storing the data */
+ sttr w1, [x0] /* Try storing the data */
SET_FAULT_HANDLER(xzr, x2) /* Reset the fault handler */
mov x0, #0 /* Success */
ret /* Return */
diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c
index 33002f7..d7209de1 100644
--- a/sys/arm64/arm64/trap.c
+++ b/sys/arm64/arm64/trap.c
@@ -72,8 +72,8 @@ __FBSDID("$FreeBSD$");
extern register_t fsu_intr_fault;
/* Called from exception.S */
-void do_el1h_sync(struct trapframe *);
-void do_el0_sync(struct trapframe *);
+void do_el1h_sync(struct thread *, struct trapframe *);
+void do_el0_sync(struct thread *, struct trapframe *);
void do_el0_error(struct trapframe *);
static void print_registers(struct trapframe *frame);
@@ -130,23 +130,25 @@ cpu_fetch_syscall_args(struct thread *td, struct syscall_args *sa)
#include "../../kern/subr_syscall.c"
static void
-svc_handler(struct trapframe *frame)
+svc_handler(struct thread *td, struct trapframe *frame)
{
struct syscall_args sa;
- struct thread *td;
int error;
- td = curthread;
-
- error = syscallenter(td, &sa);
- syscallret(td, error, &sa);
+ if ((frame->tf_esr & ESR_ELx_ISS_MASK) == 0) {
+ error = syscallenter(td, &sa);
+ syscallret(td, error, &sa);
+ } else {
+ call_trapsignal(td, SIGILL, ILL_ILLOPN, (void *)frame->tf_elr);
+ userret(td, frame);
+ }
}
static void
-data_abort(struct trapframe *frame, uint64_t esr, uint64_t far, int lower)
+data_abort(struct thread *td, struct trapframe *frame, uint64_t esr,
+ uint64_t far, int lower)
{
struct vm_map *map;
- struct thread *td;
struct proc *p;
struct pcb *pcb;
vm_prot_t ftype;
@@ -167,7 +169,6 @@ data_abort(struct trapframe *frame, uint64_t esr, uint64_t far, int lower)
}
#endif
- td = curthread;
pcb = td->td_pcb;
/*
@@ -254,17 +255,17 @@ print_registers(struct trapframe *frame)
printf(" sp: %16lx\n", frame->tf_sp);
printf(" lr: %16lx\n", frame->tf_lr);
printf(" elr: %16lx\n", frame->tf_elr);
- printf("spsr: %16lx\n", frame->tf_spsr);
+ printf("spsr: %8x\n", frame->tf_spsr);
}
void
-do_el1h_sync(struct trapframe *frame)
+do_el1h_sync(struct thread *td, struct trapframe *frame)
{
uint32_t exception;
uint64_t esr, far;
/* Read the esr register to get the exception details */
- esr = READ_SPECIALREG(esr_el1);
+ esr = frame->tf_esr;
exception = ESR_ELx_EXCEPTION(esr);
#ifdef KDTRACE_HOOKS
@@ -273,8 +274,8 @@ do_el1h_sync(struct trapframe *frame)
#endif
CTR4(KTR_TRAP,
- "do_el1_sync: curthread: %p, esr %lx, elr: %lx, frame: %p",
- curthread, esr, frame->tf_elr, frame);
+ "do_el1_sync: curthread: %p, esr %lx, elr: %lx, frame: %p", td,
+ esr, frame->tf_elr, frame);
switch(exception) {
case EXCP_FP_SIMD:
@@ -286,7 +287,7 @@ do_el1h_sync(struct trapframe *frame)
case EXCP_DATA_ABORT:
far = READ_SPECIALREG(far_el1);
intr_enable();
- data_abort(frame, esr, far, 0);
+ data_abort(td, frame, esr, far, 0);
break;
case EXCP_BRK:
#ifdef KDTRACE_HOOKS
@@ -327,9 +328,8 @@ el0_excp_unknown(struct trapframe *frame, uint64_t far)
}
void
-do_el0_sync(struct trapframe *frame)
+do_el0_sync(struct thread *td, struct trapframe *frame)
{
- struct thread *td;
uint32_t exception;
uint64_t esr, far;
@@ -338,10 +338,7 @@ do_el0_sync(struct trapframe *frame)
("Invalid pcpu address from userland: %p (tpidr %lx)",
get_pcpu(), READ_SPECIALREG(tpidr_el1)));
- td = curthread;
- td->td_frame = frame;
-
- esr = READ_SPECIALREG(esr_el1);
+ esr = frame->tf_esr;
exception = ESR_ELx_EXCEPTION(esr);
switch (exception) {
case EXCP_UNKNOWN:
@@ -353,8 +350,8 @@ do_el0_sync(struct trapframe *frame)
intr_enable();
CTR4(KTR_TRAP,
- "do_el0_sync: curthread: %p, esr %lx, elr: %lx, frame: %p",
- curthread, esr, frame->tf_elr, frame);
+ "do_el0_sync: curthread: %p, esr %lx, elr: %lx, frame: %p", td, esr,
+ frame->tf_elr, frame);
switch(exception) {
case EXCP_FP_SIMD:
@@ -366,12 +363,12 @@ do_el0_sync(struct trapframe *frame)
#endif
break;
case EXCP_SVC:
- svc_handler(frame);
+ svc_handler(td, frame);
break;
case EXCP_INSN_ABORT_L:
case EXCP_DATA_ABORT_L:
case EXCP_DATA_ABORT:
- data_abort(frame, esr, far, 1);
+ data_abort(td, frame, esr, far, 1);
break;
case EXCP_UNKNOWN:
el0_excp_unknown(frame, far);
diff --git a/sys/arm64/arm64/vm_machdep.c b/sys/arm64/arm64/vm_machdep.c
index 1f8466d..acce93c 100644
--- a/sys/arm64/arm64/vm_machdep.c
+++ b/sys/arm64/arm64/vm_machdep.c
@@ -25,6 +25,8 @@
*
*/
+#include "opt_platform.h"
+
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
@@ -52,6 +54,10 @@ __FBSDID("$FreeBSD$");
#include <machine/vfp.h>
#endif
+#ifdef DEV_PSCI
+#include <dev/psci/psci.h>
+#endif
+
/*
* Finish a fork operation, with process p2 nearly set up.
* Copy and update the pcb, set up the stack so that the child
@@ -112,7 +118,11 @@ void
cpu_reset(void)
{
- printf("cpu_reset");
+#ifdef DEV_PSCI
+ psci_reset();
+#endif
+
+ printf("cpu_reset failed");
while(1)
__asm volatile("wfi" ::: "memory");
}
diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h
index d812124..04a2800 100644
--- a/sys/arm64/include/armreg.h
+++ b/sys/arm64/include/armreg.h
@@ -312,6 +312,7 @@
#define ID_AA64MMFR1_PAN(x) ((x) & ID_AA64MMFR1_PAN_MASK)
#define ID_AA64MMFR1_PAN_NONE (0x0 << ID_AA64MMFR1_PAN_SHIFT)
#define ID_AA64MMFR1_PAN_IMPL (0x1 << ID_AA64MMFR1_PAN_SHIFT)
+#define ID_AA64MMFR1_PAN_ATS1E1 (0x2 << ID_AA64MMFR1_PAN_SHIFT)
/* ID_AA64PFR0_EL1 */
#define ID_AA64PFR0_MASK 0x0fffffff
@@ -357,6 +358,10 @@
/* MAIR_EL1 - Memory Attribute Indirection Register */
#define MAIR_ATTR_MASK(idx) (0xff << ((n)* 8))
#define MAIR_ATTR(attr, idx) ((attr) << ((idx) * 8))
+#define MAIR_DEVICE_nGnRnE 0x00
+#define MAIR_NORMAL_NC 0x44
+#define MAIR_NORMAL_WT 0x88
+#define MAIR_NORMAL_WB 0xff
/* PAR_EL1 - Physical Address Register */
#define PAR_F_SHIFT 0
@@ -380,8 +385,8 @@
#define PAR_S_MASK (0x1 << PAR_S_SHIFT)
/* SCTLR_EL1 - System Control Register */
-#define SCTLR_RES0 0xc8222400 /* Reserved, write 0 */
-#define SCTLR_RES1 0x30d00800 /* Reserved, write 1 */
+#define SCTLR_RES0 0xc8222400 /* Reserved ARMv8.0, write 0 */
+#define SCTLR_RES1 0x30d00800 /* Reserved ARMv8.0, write 1 */
#define SCTLR_M 0x00000001
#define SCTLR_A 0x00000002
@@ -399,9 +404,13 @@
#define SCTLR_nTWI 0x00010000
#define SCTLR_nTWE 0x00040000
#define SCTLR_WXN 0x00080000
+#define SCTLR_IESB 0x00200000
+#define SCTLR_SPAN 0x00800000
#define SCTLR_EOE 0x01000000
#define SCTLR_EE 0x02000000
#define SCTLR_UCI 0x04000000
+#define SCTLR_nTLSMD 0x10000000
+#define SCTLR_LSMAOE 0x20000000
/* SPSR_EL1 */
/*
diff --git a/sys/arm64/include/asm.h b/sys/arm64/include/asm.h
index 8bd47ed..9ae2230 100644
--- a/sys/arm64/include/asm.h
+++ b/sys/arm64/include/asm.h
@@ -68,4 +68,23 @@
ldr tmp, [tmp, #TD_PCB]; /* Load the pcb */ \
str handler, [tmp, #PCB_ONFAULT] /* Set the handler */
+#define ENTER_USER_ACCESS(reg, tmp) \
+ ldr tmp, =has_pan; /* Get the addr of has_pan */ \
+ ldr reg, [tmp]; /* Read it */ \
+ cbz reg, 997f; /* If no PAN skip */ \
+ .inst 0xd500409f | (0 << 8); /* Clear PAN */ \
+ 997:
+
+#define EXIT_USER_ACCESS(reg) \
+ cbz reg, 998f; /* If no PAN skip */ \
+ .inst 0xd500409f | (1 << 8); /* Set PAN */ \
+ 998:
+
+#define EXIT_USER_ACCESS_CHECK(reg, tmp) \
+ ldr tmp, =has_pan; /* Get the addr of has_pan */ \
+ ldr reg, [tmp]; /* Read it */ \
+ cbz reg, 999f; /* If no PAN skip */ \
+ .inst 0xd500409f | (1 << 8); /* Set PAN */ \
+ 999:
+
#endif /* _MACHINE_ASM_H_ */
diff --git a/sys/arm64/include/cpufunc.h b/sys/arm64/include/cpufunc.h
index 905d222..35e5406 100644
--- a/sys/arm64/include/cpufunc.h
+++ b/sys/arm64/include/cpufunc.h
@@ -33,6 +33,8 @@
#include <machine/armreg.h>
+void pan_enable(void);
+
static __inline void
breakpoint(void)
{
diff --git a/sys/arm64/include/efi.h b/sys/arm64/include/efi.h
index 5b5a7c4..026a182 100644
--- a/sys/arm64/include/efi.h
+++ b/sys/arm64/include/efi.h
@@ -1,30 +1,5 @@
/*-
- * Copyright (c) 2016 The FreeBSD Foundation
- * All rights reserved.
- *
- * This software was developed by Konstantin Belousov <kib@FreeBSD.org>
- * under sponsorship from the FreeBSD Foundation.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
+ * This file is in the public domain since it's just boilerplate.
*
* $FreeBSD$
*/
diff --git a/sys/arm64/include/frame.h b/sys/arm64/include/frame.h
index 6d43e13..198ae69 100644
--- a/sys/arm64/include/frame.h
+++ b/sys/arm64/include/frame.h
@@ -45,7 +45,8 @@ struct trapframe {
uint64_t tf_sp;
uint64_t tf_lr;
uint64_t tf_elr;
- uint64_t tf_spsr;
+ uint32_t tf_spsr;
+ uint32_t tf_esr;
uint64_t tf_x[30];
};
diff --git a/sys/arm64/include/pte.h b/sys/arm64/include/pte.h
index 72d0e62..50cf3d7 100644
--- a/sys/arm64/include/pte.h
+++ b/sys/arm64/include/pte.h
@@ -46,6 +46,11 @@ typedef uint64_t pt_entry_t; /* page table entry */
/* Bits 58:55 are reserved for software */
#define ATTR_SW_MANAGED (1UL << 56)
#define ATTR_SW_WIRED (1UL << 55)
+#define ATTR_UXN (1UL << 54)
+#define ATTR_PXN (1UL << 53)
+#define ATTR_XN (ATTR_PXN | ATTR_UXN)
+#define ATTR_CONTIGUOUS (1UL << 52)
+#define ATTR_DBM (1UL << 51)
#define ATTR_nG (1 << 11)
#define ATTR_AF (1 << 10)
#define ATTR_SH(x) ((x) << 8)
diff --git a/sys/arm64/include/vm.h b/sys/arm64/include/vm.h
index 182313e..dac1398 100644
--- a/sys/arm64/include/vm.h
+++ b/sys/arm64/include/vm.h
@@ -30,9 +30,15 @@
#define _MACHINE_VM_H_
/* Memory attribute configuration. */
-#define VM_MEMATTR_DEVICE 0
-#define VM_MEMATTR_UNCACHEABLE 1
-#define VM_MEMATTR_WRITE_BACK 2
+#define VM_MEMATTR_DEVICE 0
+#define VM_MEMATTR_UNCACHEABLE 1
+#define VM_MEMATTR_WRITE_BACK 2
+#define VM_MEMATTR_WRITE_THROUGH 3
+
+#ifdef _KERNEL
+/* If defined vmstat will try to use both of these in a switch statement */
+#define VM_MEMATTR_WRITE_COMBINING VM_MEMATTR_WRITE_THROUGH
+#endif
#define VM_MEMATTR_DEFAULT VM_MEMATTR_WRITE_BACK
diff --git a/sys/boot/Makefile.inc b/sys/boot/Makefile.inc
index 9c39953..1f1ccc2 100644
--- a/sys/boot/Makefile.inc
+++ b/sys/boot/Makefile.inc
@@ -15,3 +15,10 @@ CFLAGS.clang+= -mno-movt
.endif
CFLAGS.clang+= -mfpu=none
.endif
+
+# The boot loader build uses dd status=none, where possible, for reproducible
+# build output (since performance varies from run to run). Trouble is that
+# option was recently (10.3) added to FreeBSD and is non-standard. Only use it
+# when this test succeeds rather than require dd to be a bootstrap tool.
+DD_NOSTATUS!=(dd status=none count=0 2> /dev/null && echo status=none) || true
+DD=dd ${DD_NOSTATUS}
diff --git a/sys/boot/efi/boot1/Makefile b/sys/boot/efi/boot1/Makefile
index 11d604d..8ae1b76 100644
--- a/sys/boot/efi/boot1/Makefile
+++ b/sys/boot/efi/boot1/Makefile
@@ -107,7 +107,7 @@ boot1.o: ${.CURDIR}/../../common/ufsread.c
BOOT1_MAXSIZE?= 131072
boot1.efifat: boot1.efi
- @set -- `ls -l boot1.efi`; \
+ @set -- `ls -l ${.ALLSRC}`; \
x=$$(($$5-${BOOT1_MAXSIZE})); \
if [ $$x -ge 0 ]; then \
echo "boot1 $$x bytes too large; regenerate FAT templates?" >&2 ;\
@@ -117,8 +117,7 @@ boot1.efifat: boot1.efi
uudecode ${.CURDIR}/fat-${MACHINE}.tmpl.bz2.uu
mv fat-${MACHINE}.tmpl.bz2 ${.TARGET}.bz2
bzip2 -f -d ${.TARGET}.bz2
- dd if=boot1.efi of=${.TARGET} seek=${BOOT1_OFFSET} conv=notrunc \
- status=none
+ ${DD} if=${.ALLSRC} of=${.TARGET} seek=${BOOT1_OFFSET} conv=notrunc
CLEANFILES= boot1.efi boot1.efifat
diff --git a/sys/boot/efi/boot1/boot1.c b/sys/boot/efi/boot1/boot1.c
index 92eb345..d6293fe 100644
--- a/sys/boot/efi/boot1/boot1.c
+++ b/sys/boot/efi/boot1/boot1.c
@@ -47,7 +47,6 @@ static const boot_module_t *boot_modules[] =
/* The initial number of handles used to query EFI for partitions. */
#define NUM_HANDLES_INIT 24
-void putchar(int c);
EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE* Xsystab);
EFI_SYSTEM_TABLE *systab;
diff --git a/sys/boot/efi/boot1/boot_module.h b/sys/boot/efi/boot1/boot_module.h
index 3a6b827..1917da2 100644
--- a/sys/boot/efi/boot1/boot_module.h
+++ b/sys/boot/efi/boot1/boot_module.h
@@ -105,8 +105,6 @@ extern const boot_module_t zfs_module;
/* Functions available to modules. */
extern void add_device(dev_info_t **devinfop, dev_info_t *devinfo);
-extern void panic(const char *fmt, ...) __dead2;
-extern int printf(const char *fmt, ...);
extern int vsnprintf(char *str, size_t sz, const char *fmt, va_list ap);
extern EFI_SYSTEM_TABLE *systab;
diff --git a/sys/boot/efi/include/efichar.h b/sys/boot/efi/include/efichar.h
new file mode 100644
index 0000000..49952e9
--- /dev/null
+++ b/sys/boot/efi/include/efichar.h
@@ -0,0 +1,35 @@
+/*-
+ * Copyright (c) 2010 Marcel Moolenaar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _BOOT_EFI_EFICHAR_H_
+#define _BOOT_EFI_EFICHAR_H_
+
+int ucs2_to_utf8(const efi_char *, char **);
+int utf8_to_ucs2(const char *, efi_char **, size_t *);
+
+#endif /* _BOOT_EFI_EFICHAR_H_ */
diff --git a/sys/boot/efi/libefi/efichar.c b/sys/boot/efi/libefi/efichar.c
new file mode 100644
index 0000000..2002271
--- /dev/null
+++ b/sys/boot/efi/libefi/efichar.c
@@ -0,0 +1,186 @@
+/*-
+ * Copyright (c) 2010 Marcel Moolenaar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/types.h>
+#include <errno.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/efi.h>
+#include <machine/efi.h>
+
+#include "efichar.h"
+
+/*
+ * If nm were converted to utf8, what what would strlen
+ * return on the resulting string?
+ */
+static size_t
+utf8_len_of_ucs2(const efi_char *nm)
+{
+ size_t len;
+ efi_char c;
+
+ len = 0;
+ while (*nm) {
+ c = *nm++;
+ if (c > 0x7ff)
+ len += 3;
+ else if (c > 0x7f)
+ len += 2;
+ else
+ len++;
+ }
+
+ return (len);
+}
+
+int
+ucs2_to_utf8(const efi_char *nm, char **name)
+{
+ size_t len, sz;
+ efi_char c;
+ char *cp;
+ int freeit = *name == NULL;
+
+ sz = utf8_len_of_ucs2(nm) + 1;
+ len = 0;
+ if (*name != NULL)
+ cp = *name;
+ else
+ cp = *name = malloc(sz);
+ if (*name == NULL)
+ return (ENOMEM);
+
+ while (*nm) {
+ c = *nm++;
+ if (c > 0x7ff) {
+ if (len++ < sz)
+ *cp++ = (char)(0xE0 | (c >> 12));
+ if (len++ < sz)
+ *cp++ = (char)(0x80 | ((c >> 6) & 0x3f));
+ if (len++ < sz)
+ *cp++ = (char)(0x80 | (c & 0x3f));
+ } else if (c > 0x7f) {
+ if (len++ < sz)
+ *cp++ = (char)(0xC0 | ((c >> 6) & 0x1f));
+ if (len++ < sz)
+ *cp++ = (char)(0x80 | (c & 0x3f));
+ } else {
+ if (len++ < sz)
+ *cp++ = (char)(c & 0x7f);
+ }
+ }
+
+ if (len >= sz) {
+ /* Absent bugs, we'll never return EOVERFLOW */
+ if (freeit)
+ free(*name);
+ return (EOVERFLOW);
+ }
+ *cp++ = '\0';
+
+ return (0);
+}
+
+int
+utf8_to_ucs2(const char *name, efi_char **nmp, size_t *len)
+{
+ efi_char *nm;
+ size_t sz;
+ uint32_t ucs4;
+ int c, bytes;
+ int freeit = *nmp == NULL;
+
+ sz = strlen(name) * 2 + 2;
+ if (*nmp == NULL)
+ *nmp = malloc(sz);
+ nm = *nmp;
+ *len = sz;
+
+ ucs4 = 0;
+ bytes = 0;
+ while (sz > 1 && *name != '\0') {
+ c = *name++;
+ /*
+ * Conditionalize on the two major character types:
+ * initial and followup characters.
+ */
+ if ((c & 0xc0) != 0x80) {
+ /* Initial characters. */
+ if (bytes != 0) {
+ if (freeit)
+ free(nm);
+ return (EILSEQ);
+ }
+ if ((c & 0xf8) == 0xf0) {
+ ucs4 = c & 0x07;
+ bytes = 3;
+ } else if ((c & 0xf0) == 0xe0) {
+ ucs4 = c & 0x0f;
+ bytes = 2;
+ } else if ((c & 0xe0) == 0xc0) {
+ ucs4 = c & 0x1f;
+ bytes = 1;
+ } else {
+ ucs4 = c & 0x7f;
+ bytes = 0;
+ }
+ } else {
+ /* Followup characters. */
+ if (bytes > 0) {
+ ucs4 = (ucs4 << 6) + (c & 0x3f);
+ bytes--;
+ } else if (bytes == 0) {
+ if (freeit)
+ free(nm);
+ return (EILSEQ);
+ }
+ }
+ if (bytes == 0) {
+ if (ucs4 > 0xffff) {
+ if (freeit)
+ free(nm);
+ return (EILSEQ);
+ }
+ *nm++ = (efi_char)ucs4;
+ sz -= 2;
+ }
+ }
+ if (sz < 2) {
+ if (freeit)
+ free(nm);
+ return (EDOOFUS);
+ }
+ sz -= 2;
+ *nm = 0;
+ *len -= sz;
+ return (0);
+}
diff --git a/sys/boot/efi/loader/main.c b/sys/boot/efi/loader/main.c
index 0490d9b..2054955 100644
--- a/sys/boot/efi/loader/main.c
+++ b/sys/boot/efi/loader/main.c
@@ -314,7 +314,7 @@ main(int argc, CHAR16 *argv[])
} else {
cpy16to8(&argv[i + 1][0], var,
sizeof(var));
- setenv("comconsole_speedspeed", var, 1);
+ setenv("comconsole_speed", var, 1);
}
i++;
break;
diff --git a/sys/boot/i386/boot2/Makefile b/sys/boot/i386/boot2/Makefile
index 16ed404..c524be0 100644
--- a/sys/boot/i386/boot2/Makefile
+++ b/sys/boot/i386/boot2/Makefile
@@ -69,17 +69,19 @@ boot1.out: boot1.o
CLEANFILES+= boot2 boot2.ld boot2.ldr boot2.bin boot2.out boot2.o \
boot2.s boot2.s.tmp boot2.h sio.o
+BOOT2SIZE= 7680
+
boot2: boot2.ld
- @set -- `ls -l boot2.ld`; x=$$((7680-$$5)); \
+ @set -- `ls -l ${.ALLSRC}`; x=$$((${BOOT2SIZE}-$$5)); \
echo "$$x bytes available"; test $$x -ge 0
- dd if=boot2.ld of=${.TARGET} obs=7680 conv=osync status=none
+ ${DD} if=${.ALLSRC} of=${.TARGET} obs=${BOOT2SIZE} conv=osync
boot2.ld: boot2.ldr boot2.bin ${BTXKERN}
btxld -v -E ${ORG2} -f bin -b ${BTXKERN} -l boot2.ldr \
-o ${.TARGET} -P 1 boot2.bin
boot2.ldr:
- dd if=/dev/zero of=${.TARGET} bs=512 count=1 status=none
+ ${DD} if=/dev/zero of=${.TARGET} bs=512 count=1
boot2.bin: boot2.out
${OBJCOPY} -S -O binary boot2.out ${.TARGET}
diff --git a/sys/boot/i386/pxeldr/Makefile b/sys/boot/i386/pxeldr/Makefile
index 8de2139..c0b7504 100644
--- a/sys/boot/i386/pxeldr/Makefile
+++ b/sys/boot/i386/pxeldr/Makefile
@@ -31,7 +31,7 @@ CLEANFILES+= ${BOOT}.tmp
${BOOT}: ${LDR} ${LOADER}
cat ${LDR} ${LOADER} > ${.TARGET}.tmp
- dd if=${.TARGET}.tmp of=${.TARGET} obs=2k conv=osync status=none
+ ${DD} if=${.TARGET}.tmp of=${.TARGET} obs=2k conv=osync
rm ${.TARGET}.tmp
LDFLAGS+=-e start -Ttext ${ORG} -Wl,-N,-S,--oformat,binary
diff --git a/sys/boot/i386/zfsboot/Makefile b/sys/boot/i386/zfsboot/Makefile
index ee83e04..d7b6636 100644
--- a/sys/boot/i386/zfsboot/Makefile
+++ b/sys/boot/i386/zfsboot/Makefile
@@ -63,9 +63,9 @@ CLEANFILES+= zfsboot2 zfsboot.ld zfsboot.ldr zfsboot.bin zfsboot.out \
BOOT2SIZE= 65536
zfsboot2: zfsboot.ld
- @set -- `ls -l zfsboot.ld`; x=$$((${BOOT2SIZE}-$$5)); \
+ @set -- `ls -l ${.ALLSRC}`; x=$$((${BOOT2SIZE}-$$5)); \
echo "$$x bytes available"; test $$x -ge 0
- dd if=zfsboot.ld of=${.TARGET} obs=${BOOT2SIZE} conv=osync status=none
+ ${DD} if=${.ALLSRC} of=${.TARGET} obs=${BOOT2SIZE} conv=osync
zfsboot.ld: zfsboot.ldr zfsboot.bin ${BTXKERN}
btxld -v -E ${ORG2} -f bin -b ${BTXKERN} -l zfsboot.ldr \
diff --git a/sys/boot/pc98/boot0.5/Makefile b/sys/boot/pc98/boot0.5/Makefile
index 9a9d94f..ec40fe5 100644
--- a/sys/boot/pc98/boot0.5/Makefile
+++ b/sys/boot/pc98/boot0.5/Makefile
@@ -18,7 +18,7 @@ LDFLAGS=-e start -Ttext ${BOOT_BOOT0_ORG} -Wl,-N,-T,${.CURDIR}/ldscript
# The size of boot0.5 must be 7168 bytes
${BOOT}: ${BOOT}.bin
- cat ${BOOT}.bin /dev/zero | dd of=${BOOT} bs=1 count=7168
+ cat ${BOOT}.bin /dev/zero | ${DD} of=${BOOT} bs=1 count=7168
${BOOT}.bin: ${BOOT}.out
${OBJCOPY} -S -O binary ${BOOT}.out ${.TARGET}
diff --git a/sys/boot/pc98/boot2/Makefile b/sys/boot/pc98/boot2/Makefile
index 8d5e791..2c26468 100644
--- a/sys/boot/pc98/boot2/Makefile
+++ b/sys/boot/pc98/boot2/Makefile
@@ -78,14 +78,14 @@ CLEANFILES+= boot2 boot2.ld boot2.ldr boot2.bin boot2.out boot2.o \
boot2: boot2.ld
@set -- `ls -l boot2.ld`; x=$$((7680-$$5)); \
echo "$$x bytes available"; test $$x -ge 0
- dd if=boot2.ld of=${.TARGET} obs=7680 conv=osync
+ ${DD} if=boot2.ld of=${.TARGET} obs=7680 conv=osync
boot2.ld: boot2.ldr boot2.bin ${BTXKERN}
btxld -v -E ${ORG2} -f bin -b ${BTXKERN} -l boot2.ldr \
-o ${.TARGET} -P 1 boot2.bin
boot2.ldr:
- dd if=/dev/zero of=${.TARGET} bs=276 count=1
+ ${DD} if=/dev/zero of=${.TARGET} bs=276 count=1
boot2.bin: boot2.out
${OBJCOPY} -S -O binary boot2.out ${.TARGET}
diff --git a/sys/boot/pc98/pc98boot/Makefile b/sys/boot/pc98/pc98boot/Makefile
index 73bfba5..f33b15f 100644
--- a/sys/boot/pc98/pc98boot/Makefile
+++ b/sys/boot/pc98/pc98boot/Makefile
@@ -20,6 +20,6 @@ ${BOOT}: ${BOOT0} ${BOOT05} ${BOOT}.part
cat ${BOOT0} ${BOOT}.part ${BOOT05} > ${.TARGET}
${BOOT}.part:
- dd if=/dev/zero of=${.TARGET} bs=512 count=1
+ ${DD} if=/dev/zero of=${.TARGET} bs=512 count=1
.include <bsd.prog.mk>
diff --git a/sys/boot/powerpc/boot1.chrp/Makefile b/sys/boot/powerpc/boot1.chrp/Makefile
index 381d2a8..a642f6c 100644
--- a/sys/boot/powerpc/boot1.chrp/Makefile
+++ b/sys/boot/powerpc/boot1.chrp/Makefile
@@ -30,8 +30,8 @@ boot1.hfs: boot1.elf bootinfo.txt
uudecode ${.CURDIR}/hfs.tmpl.bz2.uu
mv hfs.tmpl.bz2 ${.TARGET}.bz2
bzip2 -f -d ${.TARGET}.bz2
- dd if=boot1.elf of=${.TARGET} seek=${BOOT1_OFFSET} conv=notrunc
- dd if=${.CURDIR}/bootinfo.txt of=${.TARGET} seek=${BOOTINFO_OFFSET} \
+ ${DD} if=boot1.elf of=${.TARGET} seek=${BOOT1_OFFSET} conv=notrunc
+ ${DD} if=${.CURDIR}/bootinfo.txt of=${.TARGET} seek=${BOOTINFO_OFFSET} \
conv=notrunc
CLEANFILES= boot1.hfs
diff --git a/sys/boot/sparc64/boot1/Makefile b/sys/boot/sparc64/boot1/Makefile
index 5150c3b..3453b28 100644
--- a/sys/boot/sparc64/boot1/Makefile
+++ b/sys/boot/sparc64/boot1/Makefile
@@ -17,10 +17,10 @@ LDFLAGS=-Ttext ${BOOTBLOCKBASE} -Wl,-N
# Construct boot1. sunlabel expects it to contain zeroed-out space for the
# label, and to be of the correct size.
${FILES}: boot1.aout
- @set -- `ls -l boot1.aout`; x=$$((7680-$$5)); \
+ @set -- `ls -l ${.ALLSRC}`; x=$$((7680-$$5)); \
echo "$$x bytes available"; test $$x -ge 0
- dd if=/dev/zero of=${.TARGET} bs=512 count=16
- dd if=boot1.aout of=${.TARGET} bs=512 oseek=1 conv=notrunc
+ ${DD} if=/dev/zero of=${.TARGET} bs=512 count=16
+ ${DD} if=${.ALLSRC} of=${.TARGET} bs=512 oseek=1 conv=notrunc
boot1.aout: boot1.elf
elf2aout -o ${.TARGET} ${.ALLSRC}
diff --git a/sys/cam/cam_periph.c b/sys/cam/cam_periph.c
index cd096a4..0d3627e 100644
--- a/sys/cam/cam_periph.c
+++ b/sys/cam/cam_periph.c
@@ -654,6 +654,7 @@ static void
camperiphfree(struct cam_periph *periph)
{
struct periph_driver **p_drv;
+ struct periph_driver *drv;
cam_periph_assert(periph, MA_OWNED);
KASSERT(periph->periph_allocating == 0, ("%s%d: freed while allocating",
@@ -666,6 +667,15 @@ camperiphfree(struct cam_periph *periph)
printf("camperiphfree: attempt to free non-existant periph\n");
return;
}
+ /*
+ * Cache a pointer to the periph_driver structure. If a
+ * periph_driver is added or removed from the array (see
+ * periphdriver_register()) while we drop the toplogy lock
+ * below, p_drv may change. This doesn't protect against this
+ * particular periph_driver going away. That will require full
+ * reference counting in the periph_driver infrastructure.
+ */
+ drv = *p_drv;
/*
* We need to set this flag before dropping the topology lock, to
@@ -701,8 +711,8 @@ camperiphfree(struct cam_periph *periph)
*/
xpt_lock_buses();
- TAILQ_REMOVE(&(*p_drv)->units, periph, unit_links);
- (*p_drv)->generation++;
+ TAILQ_REMOVE(&drv->units, periph, unit_links);
+ drv->generation++;
xpt_remove_periph(periph);
diff --git a/sys/cam/ctl/ctl_frontend_iscsi.c b/sys/cam/ctl/ctl_frontend_iscsi.c
index 591e83d..021c850 100644
--- a/sys/cam/ctl/ctl_frontend_iscsi.c
+++ b/sys/cam/ctl/ctl_frontend_iscsi.c
@@ -184,8 +184,8 @@ static struct ctl_frontend cfiscsi_frontend =
.ioctl = cfiscsi_ioctl,
.shutdown = cfiscsi_shutdown,
};
-CTL_FRONTEND_DECLARE(ctlcfiscsi, cfiscsi_frontend);
-MODULE_DEPEND(ctlcfiscsi, icl, 1, 1, 1);
+CTL_FRONTEND_DECLARE(cfiscsi, cfiscsi_frontend);
+MODULE_DEPEND(cfiscsi, icl, 1, 1, 1);
static struct icl_pdu *
cfiscsi_pdu_new_response(struct icl_pdu *request, int flags)
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index 9b10230..1529580 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -5748,6 +5748,7 @@ scsi_zbc_in(struct ccb_scsiio *csio, uint32_t retries,
scsi_cmd = (struct scsi_zbc_in *)&csio->cdb_io.cdb_bytes;
scsi_cmd->opcode = ZBC_IN;
scsi_cmd->service_action = service_action;
+ scsi_ulto4b(dxfer_len, scsi_cmd->length);
scsi_u64to8b(zone_start_lba, scsi_cmd->zone_start_lba);
scsi_cmd->zone_options = zone_options;
diff --git a/sys/cam/scsi/scsi_enc_ses.c b/sys/cam/scsi/scsi_enc_ses.c
index 7f931b4..2aee34b 100644
--- a/sys/cam/scsi/scsi_enc_ses.c
+++ b/sys/cam/scsi/scsi_enc_ses.c
@@ -2684,10 +2684,11 @@ ses_get_elm_devnames(enc_softc_t *enc, encioc_elm_devnames_t *elmdn)
cam_periph_unlock(enc->periph);
sbuf_new(&sb, NULL, len, SBUF_FIXEDLEN);
ses_paths_iter(enc, &enc->enc_cache.elm_map[elmdn->elm_idx],
- ses_elmdevname_callback, &sb);
+ ses_elmdevname_callback, &sb);
sbuf_finish(&sb);
elmdn->elm_names_len = sbuf_len(&sb);
copyout(sbuf_data(&sb), elmdn->elm_devnames, elmdn->elm_names_len + 1);
+ sbuf_delete(&sb);
cam_periph_lock(enc->periph);
return (elmdn->elm_names_len > 0 ? 0 : ENODEV);
}
diff --git a/sys/cam/scsi/scsi_sa.c b/sys/cam/scsi/scsi_sa.c
index 0f43e9e..fd25e4f 100644
--- a/sys/cam/scsi/scsi_sa.c
+++ b/sys/cam/scsi/scsi_sa.c
@@ -4465,7 +4465,18 @@ saextget(struct cdev *dev, struct cam_periph *periph, struct sbuf *sb,
if (cgd.serial_num_len > sizeof(tmpstr)) {
ts2_len = cgd.serial_num_len + 1;
ts2_malloc = 1;
- tmpstr2 = malloc(ts2_len, M_SCSISA, M_WAITOK | M_ZERO);
+ tmpstr2 = malloc(ts2_len, M_SCSISA, M_NOWAIT | M_ZERO);
+ /*
+ * The 80 characters allocated on the stack above
+ * will handle the vast majority of serial numbers.
+ * If we run into one that is larger than that, and
+ * we can't malloc the length without blocking,
+ * bail out with an out of memory error.
+ */
+ if (tmpstr2 == NULL) {
+ error = ENOMEM;
+ goto extget_bailout;
+ }
} else {
ts2_len = sizeof(tmpstr);
ts2_malloc = 0;
diff --git a/sys/cddl/compat/opensolaris/sys/vnode.h b/sys/cddl/compat/opensolaris/sys/vnode.h
index e7a92ae..d15cd88 100644
--- a/sys/cddl/compat/opensolaris/sys/vnode.h
+++ b/sys/cddl/compat/opensolaris/sys/vnode.h
@@ -75,8 +75,7 @@ vn_is_readonly(vnode_t *vp)
#define vn_mountedvfs(vp) ((vp)->v_mountedhere)
#define vn_has_cached_data(vp) \
((vp)->v_object != NULL && \
- ((vp)->v_object->resident_page_count > 0 || \
- !vm_object_cache_is_empty((vp)->v_object)))
+ (vp)->v_object->resident_page_count > 0)
#define vn_exists(vp) do { } while (0)
#define vn_invalid(vp) do { } while (0)
#define vn_renamepath(tdvp, svp, tnm, lentnm) do { } while (0)
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c
index 9b3b79b..10e5b15 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c
@@ -227,9 +227,6 @@ sysctl_zfs_delay_scale(SYSCTL_HANDLER_ARGS)
}
#endif
-hrtime_t zfs_throttle_delay = MSEC2NSEC(10);
-hrtime_t zfs_throttle_resolution = MSEC2NSEC(10);
-
int
dsl_pool_open_special_dir(dsl_pool_t *dp, const char *name, dsl_dir_t **ddp)
{
@@ -548,7 +545,7 @@ dsl_pool_dirty_delta(dsl_pool_t *dp, int64_t delta)
* Note: we signal even when increasing dp_dirty_total.
* This ensures forward progress -- each thread wakes the next waiter.
*/
- if (dp->dp_dirty_total <= zfs_dirty_data_max)
+ if (dp->dp_dirty_total < zfs_dirty_data_max)
cv_signal(&dp->dp_spaceavail_cv);
}
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
index f543138..96fe20b 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
@@ -353,9 +353,13 @@ sysctl_vfs_zfs_debug_flags(SYSCTL_HANDLER_ARGS)
return (0);
}
-SYSCTL_PROC(_vfs_zfs, OID_AUTO, debug_flags,
+SYSCTL_PROC(_vfs_zfs, OID_AUTO, debugflags,
CTLTYPE_UINT | CTLFLAG_MPSAFE | CTLFLAG_RWTUN, 0, sizeof(int),
sysctl_vfs_zfs_debug_flags, "IU", "Debug flags for ZFS testing.");
+SYSCTL_PROC(_vfs_zfs, OID_AUTO, debug_flags,
+ CTLTYPE_UINT | CTLFLAG_MPSAFE | CTLFLAG_RW, 0, sizeof(int),
+ sysctl_vfs_zfs_debug_flags, "IU",
+ "Debug flags for ZFS testing (deprecated, see vfs.zfs.debugflags).");
SYSCTL_UQUAD(_vfs_zfs, OID_AUTO, deadman_synctime_ms, CTLFLAG_RDTUN,
&zfs_deadman_synctime_ms, 0,
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
index 9df0019..bf264e6 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
@@ -1929,6 +1929,9 @@ vdev_dtl_should_excise(vdev_t *vd)
ASSERT0(scn->scn_phys.scn_errors);
ASSERT0(vd->vdev_children);
+ if (vd->vdev_state < VDEV_STATE_DEGRADED)
+ return (B_FALSE);
+
if (vd->vdev_resilver_txg == 0 ||
range_tree_space(vd->vdev_dtl[DTL_MISSING]) == 0)
return (B_TRUE);
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
index 22b48e8..c6e3030 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
@@ -49,6 +49,16 @@ struct g_class zfs_vdev_class = {
.attrchanged = vdev_geom_attrchanged,
};
+struct consumer_vdev_elem {
+ SLIST_ENTRY(consumer_vdev_elem) elems;
+ vdev_t *vd;
+};
+
+SLIST_HEAD(consumer_priv_t, consumer_vdev_elem);
+_Static_assert(sizeof(((struct g_consumer*)NULL)->private)
+ == sizeof(struct consumer_priv_t*),
+ "consumer_priv_t* can't be stored in g_consumer.private");
+
DECLARE_GEOM_CLASS(zfs_vdev_class, zfs_vdev);
SYSCTL_DECL(_vfs_zfs_vdev);
@@ -85,21 +95,16 @@ vdev_geom_set_rotation_rate(vdev_t *vd, struct g_consumer *cp)
}
static void
-vdev_geom_set_physpath(struct g_consumer *cp, boolean_t do_null_update)
+vdev_geom_set_physpath(vdev_t *vd, struct g_consumer *cp,
+ boolean_t do_null_update)
{
boolean_t needs_update = B_FALSE;
- vdev_t *vd;
char *physpath;
int error, physpath_len;
- if (g_access(cp, 1, 0, 0) != 0)
- return;
-
- vd = cp->private;
physpath_len = MAXPATHLEN;
physpath = g_malloc(physpath_len, M_WAITOK|M_ZERO);
error = g_io_getattr("GEOM::physpath", cp, &physpath_len, physpath);
- g_access(cp, -1, 0, 0);
if (error == 0) {
char *old_physpath;
@@ -130,37 +135,40 @@ vdev_geom_set_physpath(struct g_consumer *cp, boolean_t do_null_update)
static void
vdev_geom_attrchanged(struct g_consumer *cp, const char *attr)
{
- vdev_t *vd;
char *old_physpath;
+ struct consumer_priv_t *priv;
+ struct consumer_vdev_elem *elem;
int error;
- vd = cp->private;
- if (vd == NULL)
+ priv = (struct consumer_priv_t*)&cp->private;
+ if (SLIST_EMPTY(priv))
return;
- if (strcmp(attr, "GEOM::rotation_rate") == 0) {
- vdev_geom_set_rotation_rate(vd, cp);
- return;
- }
-
- if (strcmp(attr, "GEOM::physpath") == 0) {
- vdev_geom_set_physpath(cp, /*do_null_update*/B_TRUE);
- return;
+ SLIST_FOREACH(elem, priv, elems) {
+ vdev_t *vd = elem->vd;
+ if (strcmp(attr, "GEOM::rotation_rate") == 0) {
+ vdev_geom_set_rotation_rate(vd, cp);
+ return;
+ }
+ if (strcmp(attr, "GEOM::physpath") == 0) {
+ vdev_geom_set_physpath(vd, cp, /*null_update*/B_TRUE);
+ return;
+ }
}
}
static void
vdev_geom_orphan(struct g_consumer *cp)
{
- vdev_t *vd;
+ struct consumer_priv_t *priv;
+ struct consumer_vdev_elem *elem;
g_topology_assert();
- vd = cp->private;
- if (vd == NULL) {
+ priv = (struct consumer_priv_t*)&cp->private;
+ if (SLIST_EMPTY(priv))
/* Vdev close in progress. Ignore the event. */
return;
- }
/*
* Orphan callbacks occur from the GEOM event thread.
@@ -176,8 +184,12 @@ vdev_geom_orphan(struct g_consumer *cp)
* async removal support to invoke a close on this
* vdev once it is safe to do so.
*/
- vd->vdev_remove_wanted = B_TRUE;
- spa_async_request(vd->vdev_spa, SPA_ASYNC_REMOVE);
+ SLIST_FOREACH(elem, priv, elems) {
+ vdev_t *vd = elem->vd;
+
+ vd->vdev_remove_wanted = B_TRUE;
+ spa_async_request(vd->vdev_spa, SPA_ASYNC_REMOVE);
+ }
}
static struct g_consumer *
@@ -265,21 +277,8 @@ vdev_geom_attach(struct g_provider *pp, vdev_t *vd)
}
}
- /*
- * BUG: cp may already belong to a vdev. This could happen if:
- * 1) That vdev is a shared spare, or
- * 2) We are trying to reopen a missing vdev and we are scanning by
- * guid. In that case, we'll ultimately fail to open this consumer,
- * but not until after setting the private field.
- * The solution is to:
- * 1) Don't set the private field until after the open succeeds, and
- * 2) Set it to a linked list of vdevs, not just a single vdev
- */
- cp->private = vd;
- if (vd != NULL) {
+ if (vd != NULL)
vd->vdev_tsd = cp;
- vdev_geom_set_physpath(cp, /*do_null_update*/B_FALSE);
- }
cp->flags |= G_CF_DIRECT_SEND | G_CF_DIRECT_RECEIVE;
return (cp);
@@ -289,16 +288,12 @@ static void
vdev_geom_detach(struct g_consumer *cp, boolean_t open_for_read)
{
struct g_geom *gp;
- vdev_t *vd;
g_topology_assert();
ZFS_LOG(1, "Detaching from %s.",
cp->provider && cp->provider->name ? cp->provider->name : "NULL");
- vd = cp->private;
- cp->private = NULL;
-
gp = cp->geom;
if (open_for_read)
g_access(cp, -1, 0, -1);
@@ -324,16 +319,26 @@ static void
vdev_geom_close_locked(vdev_t *vd)
{
struct g_consumer *cp;
+ struct consumer_priv_t *priv;
+ struct consumer_vdev_elem *elem, *elem_temp;
g_topology_assert();
cp = vd->vdev_tsd;
- vd->vdev_tsd = NULL;
vd->vdev_delayed_close = B_FALSE;
if (cp == NULL)
return;
ZFS_LOG(1, "Closing access to %s.", cp->provider->name);
+ KASSERT(cp->private != NULL, ("%s: cp->private is NULL", __func__));
+ priv = (struct consumer_priv_t*)&cp->private;
+ vd->vdev_tsd = NULL;
+ SLIST_FOREACH_SAFE(elem, priv, elems, elem_temp) {
+ if (elem->vd == vd) {
+ SLIST_REMOVE(priv, elem, consumer_vdev_elem, elems);
+ g_free(elem);
+ }
+ }
vdev_geom_detach(cp, B_TRUE);
}
@@ -870,11 +875,27 @@ vdev_geom_open(vdev_t *vd, uint64_t *psize, uint64_t *max_psize,
cp = NULL;
}
}
+ if (cp != NULL) {
+ struct consumer_priv_t *priv;
+ struct consumer_vdev_elem *elem;
+
+ priv = (struct consumer_priv_t*)&cp->private;
+ if (cp->private == NULL)
+ SLIST_INIT(priv);
+ elem = g_malloc(sizeof(*elem), M_WAITOK|M_ZERO);
+ elem->vd = vd;
+ SLIST_INSERT_HEAD(priv, elem, elems);
+ }
/* Fetch initial physical path information for this device. */
- if (cp != NULL)
+ if (cp != NULL) {
vdev_geom_attrchanged(cp, "GEOM::physpath");
+ /* Set other GEOM characteristics */
+ vdev_geom_set_physpath(vd, cp, /*do_null_update*/B_FALSE);
+ vdev_geom_set_rotation_rate(vd, cp);
+ }
+
g_topology_unlock();
PICKUP_GIANT();
if (cp == NULL) {
@@ -905,11 +926,6 @@ skip_open:
*/
vd->vdev_nowritecache = B_FALSE;
- /*
- * Determine the device's rotation rate.
- */
- vdev_geom_set_rotation_rate(vd, cp);
-
return (0);
}
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
index 3a44201..17819bc 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
@@ -426,12 +426,8 @@ page_busy(vnode_t *vp, int64_t start, int64_t off, int64_t nbytes)
continue;
}
vm_page_sbusy(pp);
- } else if (pp == NULL) {
- pp = vm_page_alloc(obj, OFF_TO_IDX(start),
- VM_ALLOC_SYSTEM | VM_ALLOC_IFCACHED |
- VM_ALLOC_SBUSY);
- } else {
- ASSERT(pp != NULL && !pp->valid);
+ } else if (pp != NULL) {
+ ASSERT(!pp->valid);
pp = NULL;
}
@@ -1629,7 +1625,7 @@ zfs_lookup(vnode_t *dvp, char *nm, vnode_t **vpp, struct componentname *cnp,
cn.cn_nameptr = "snapshot";
cn.cn_namelen = strlen(cn.cn_nameptr);
cn.cn_nameiop = cnp->cn_nameiop;
- cn.cn_flags = cnp->cn_flags;
+ cn.cn_flags = cnp->cn_flags & ~ISDOTDOT;
cn.cn_lkflags = cnp->cn_lkflags;
error = VOP_LOOKUP(zfsctl_vp, vpp, &cn);
vput(zfsctl_vp);
diff --git a/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c b/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c
index 950e9ac..c6c72a3 100644
--- a/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c
+++ b/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c
@@ -38,6 +38,7 @@
#include <machine/frame.h>
#include <machine/md_var.h>
+#include <machine/psl.h>
#include <machine/reg.h>
#include <machine/stack.h>
@@ -54,16 +55,19 @@
#ifdef __powerpc64__
#define OFFSET 4 /* Account for the TOC reload slot */
+#define FRAME_OFFSET 48
#else
#define OFFSET 0
+#define FRAME_OFFSET 8
#endif
#define INKERNEL(x) ((x) <= VM_MAX_KERNEL_ADDRESS && \
(x) >= VM_MIN_KERNEL_ADDRESS)
static __inline int
-dtrace_sp_inkernel(uintptr_t sp, int aframes)
+dtrace_sp_inkernel(uintptr_t sp)
{
+ struct trapframe *frame;
vm_offset_t callpc;
#ifdef __powerpc64__
@@ -77,14 +81,15 @@ dtrace_sp_inkernel(uintptr_t sp, int aframes)
/*
* trapexit() and asttrapexit() are sentinels
* for kernel stack tracing.
- *
- * Special-case this for 'aframes == 0', because fbt sets aframes to the
- * trap callchain depth, so we want to break out of it.
*/
- if ((callpc + OFFSET == (vm_offset_t) &trapexit ||
- callpc + OFFSET == (vm_offset_t) &asttrapexit) &&
- aframes != 0)
- return (0);
+ if (callpc + OFFSET == (vm_offset_t) &trapexit ||
+ callpc + OFFSET == (vm_offset_t) &asttrapexit) {
+ if (sp == 0)
+ return (0);
+ frame = (struct trapframe *)(sp + FRAME_OFFSET);
+
+ return ((frame->srr1 & PSL_PR) == 0);
+ }
return (1);
}
@@ -93,6 +98,7 @@ static __inline uintptr_t
dtrace_next_sp(uintptr_t sp)
{
vm_offset_t callpc;
+ struct trapframe *frame;
#ifdef __powerpc64__
callpc = *(vm_offset_t *)(sp + RETURN_OFFSET64);
@@ -103,18 +109,13 @@ dtrace_next_sp(uintptr_t sp)
/*
* trapexit() and asttrapexit() are sentinels
* for kernel stack tracing.
- *
- * Special-case this for 'aframes == 0', because fbt sets aframes to the
- * trap callchain depth, so we want to break out of it.
*/
if ((callpc + OFFSET == (vm_offset_t) &trapexit ||
- callpc + OFFSET == (vm_offset_t) &asttrapexit))
- /* Access the trap frame */
-#ifdef __powerpc64__
- return (*(uintptr_t *)sp + 48 + sizeof(register_t));
-#else
- return (*(uintptr_t *)sp + 8 + sizeof(register_t));
-#endif
+ callpc + OFFSET == (vm_offset_t) &asttrapexit)) {
+ /* Access the trap frame */
+ frame = (struct trapframe *)(sp + FRAME_OFFSET);
+ return (*(uintptr_t *)(frame->fixreg[1]));
+ }
return (*(uintptr_t*)sp);
}
@@ -122,6 +123,7 @@ dtrace_next_sp(uintptr_t sp)
static __inline uintptr_t
dtrace_get_pc(uintptr_t sp)
{
+ struct trapframe *frame;
vm_offset_t callpc;
#ifdef __powerpc64__
@@ -133,18 +135,13 @@ dtrace_get_pc(uintptr_t sp)
/*
* trapexit() and asttrapexit() are sentinels
* for kernel stack tracing.
- *
- * Special-case this for 'aframes == 0', because fbt sets aframes to the
- * trap callchain depth, so we want to break out of it.
*/
if ((callpc + OFFSET == (vm_offset_t) &trapexit ||
- callpc + OFFSET == (vm_offset_t) &asttrapexit))
- /* Access the trap frame */
-#ifdef __powerpc64__
- return (*(uintptr_t *)sp + 48 + offsetof(struct trapframe, lr));
-#else
- return (*(uintptr_t *)sp + 8 + offsetof(struct trapframe, lr));
-#endif
+ callpc + OFFSET == (vm_offset_t) &asttrapexit)) {
+ /* Access the trap frame */
+ frame = (struct trapframe *)(sp + FRAME_OFFSET);
+ return (frame->srr0);
+ }
return (callpc);
}
@@ -176,7 +173,7 @@ dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes,
if (sp <= osp)
break;
- if (!dtrace_sp_inkernel(sp, aframes))
+ if (!dtrace_sp_inkernel(sp))
break;
callpc = dtrace_get_pc(sp);
@@ -537,7 +534,7 @@ dtrace_getstackdepth(int aframes)
if (sp <= osp)
break;
- if (!dtrace_sp_inkernel(sp, aframes))
+ if (!dtrace_sp_inkernel(sp))
break;
if (aframes == 0)
diff --git a/sys/cddl/dev/fbt/powerpc/fbt_isa.c b/sys/cddl/dev/fbt/powerpc/fbt_isa.c
index e67e837..fa9b1d6 100644
--- a/sys/cddl/dev/fbt/powerpc/fbt_isa.c
+++ b/sys/cddl/dev/fbt/powerpc/fbt_isa.c
@@ -37,7 +37,7 @@
#include "fbt.h"
-#define FBT_PATCHVAL 0x7c810808
+#define FBT_PATCHVAL 0x7ffff808
#define FBT_MFLR_R0 0x7c0802a6
#define FBT_MTLR_R0 0x7c0803a6
#define FBT_BLR 0x4e800020
diff --git a/sys/compat/freebsd32/capabilities.conf b/sys/compat/freebsd32/capabilities.conf
index e14ff2d..3acb6ad 100644
--- a/sys/compat/freebsd32/capabilities.conf
+++ b/sys/compat/freebsd32/capabilities.conf
@@ -76,9 +76,9 @@ close
closefrom
connectat
#cpuset
-#freebsd32_cpuset_getaffinity
+freebsd32_cpuset_getaffinity
#freebsd32_cpuset_getid
-#freebsd32_cpuset_setaffinity
+freebsd32_cpuset_setaffinity
#freebsd32_cpuset_setid
dup
dup2
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index 08a072f..a8e69b7 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -2477,6 +2477,32 @@ siginfo_to_siginfo32(const siginfo_t *src, struct siginfo32 *dst)
dst->si_overrun = src->si_overrun;
}
+#ifndef _FREEBSD32_SYSPROTO_H_
+struct freebsd32_sigqueue_args {
+ pid_t pid;
+ int signum;
+ /* union sigval32 */ int value;
+};
+#endif
+int
+freebsd32_sigqueue(struct thread *td, struct freebsd32_sigqueue_args *uap)
+{
+ union sigval sv;
+
+ /*
+ * On 32-bit ABIs, sival_int and sival_ptr are the same.
+ * On 64-bit little-endian ABIs, the low bits are the same.
+ * In 64-bit big-endian ABIs, sival_int overlaps with
+ * sival_ptr's HIGH bits. We choose to support sival_int
+ * rather than sival_ptr in this case as it seems to be
+ * more common.
+ */
+ bzero(&sv, sizeof(sv));
+ sv.sival_int = uap->value;
+
+ return (kern_sigqueue(td, uap->pid, uap->signum, &sv));
+}
+
int
freebsd32_sigtimedwait(struct thread *td, struct freebsd32_sigtimedwait_args *uap)
{
diff --git a/sys/compat/freebsd32/freebsd32_proto.h b/sys/compat/freebsd32/freebsd32_proto.h
index a41063f..1620e59 100644
--- a/sys/compat/freebsd32/freebsd32_proto.h
+++ b/sys/compat/freebsd32/freebsd32_proto.h
@@ -382,6 +382,11 @@ struct freebsd32_thr_new_args {
char param_l_[PADL_(struct thr_param32 *)]; struct thr_param32 * param; char param_r_[PADR_(struct thr_param32 *)];
char param_size_l_[PADL_(int)]; int param_size; char param_size_r_[PADR_(int)];
};
+struct freebsd32_sigqueue_args {
+ char pid_l_[PADL_(pid_t)]; pid_t pid; char pid_r_[PADR_(pid_t)];
+ char signum_l_[PADL_(int)]; int signum; char signum_r_[PADR_(int)];
+ char value_l_[PADL_(int)]; int value; char value_r_[PADR_(int)];
+};
struct freebsd32_kmq_open_args {
char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
@@ -764,6 +769,7 @@ int freebsd32_ksem_timedwait(struct thread *, struct freebsd32_ksem_timedwait_ar
int freebsd32_thr_suspend(struct thread *, struct freebsd32_thr_suspend_args *);
int freebsd32_umtx_op(struct thread *, struct freebsd32_umtx_op_args *);
int freebsd32_thr_new(struct thread *, struct freebsd32_thr_new_args *);
+int freebsd32_sigqueue(struct thread *, struct freebsd32_sigqueue_args *);
int freebsd32_kmq_open(struct thread *, struct freebsd32_kmq_open_args *);
int freebsd32_kmq_setattr(struct thread *, struct freebsd32_kmq_setattr_args *);
int freebsd32_kmq_timedreceive(struct thread *, struct freebsd32_kmq_timedreceive_args *);
@@ -1230,6 +1236,7 @@ int freebsd10_freebsd32_pipe(struct thread *, struct freebsd10_freebsd32_pipe_ar
#define FREEBSD32_SYS_AUE_freebsd32_thr_suspend AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_umtx_op AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_thr_new AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_sigqueue AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_kmq_open AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_kmq_setattr AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_kmq_timedreceive AUE_NULL
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index 6b06353..1445a19 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -358,7 +358,7 @@
#define FREEBSD32_SYS_auditctl 453
#define FREEBSD32_SYS_freebsd32_umtx_op 454
#define FREEBSD32_SYS_freebsd32_thr_new 455
-#define FREEBSD32_SYS_sigqueue 456
+#define FREEBSD32_SYS_freebsd32_sigqueue 456
#define FREEBSD32_SYS_freebsd32_kmq_open 457
#define FREEBSD32_SYS_freebsd32_kmq_setattr 458
#define FREEBSD32_SYS_freebsd32_kmq_timedreceive 459
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index 9ffbf2c..40edf40 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -465,7 +465,7 @@ const char *freebsd32_syscallnames[] = {
"auditctl", /* 453 = auditctl */
"freebsd32_umtx_op", /* 454 = freebsd32_umtx_op */
"freebsd32_thr_new", /* 455 = freebsd32_thr_new */
- "sigqueue", /* 456 = sigqueue */
+ "freebsd32_sigqueue", /* 456 = freebsd32_sigqueue */
"freebsd32_kmq_open", /* 457 = freebsd32_kmq_open */
"freebsd32_kmq_setattr", /* 458 = freebsd32_kmq_setattr */
"freebsd32_kmq_timedreceive", /* 459 = freebsd32_kmq_timedreceive */
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index a8b207f..d11c233 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -508,7 +508,7 @@ struct sysent freebsd32_sysent[] = {
{ AS(auditctl_args), (sy_call_t *)sys_auditctl, AUE_AUDITCTL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 453 = auditctl */
{ AS(freebsd32_umtx_op_args), (sy_call_t *)freebsd32_umtx_op, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 454 = freebsd32_umtx_op */
{ AS(freebsd32_thr_new_args), (sy_call_t *)freebsd32_thr_new, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 455 = freebsd32_thr_new */
- { AS(sigqueue_args), (sy_call_t *)sys_sigqueue, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 456 = sigqueue */
+ { AS(freebsd32_sigqueue_args), (sy_call_t *)freebsd32_sigqueue, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 456 = freebsd32_sigqueue */
{ AS(freebsd32_kmq_open_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 457 = freebsd32_kmq_open */
{ AS(freebsd32_kmq_setattr_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 458 = freebsd32_kmq_setattr */
{ AS(freebsd32_kmq_timedreceive_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 459 = freebsd32_kmq_timedreceive */
@@ -552,8 +552,8 @@ struct sysent freebsd32_sysent[] = {
{ AS(freebsd32_cpuset_setid_args), (sy_call_t *)freebsd32_cpuset_setid, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 485 = freebsd32_cpuset_setid */
#endif
{ AS(freebsd32_cpuset_getid_args), (sy_call_t *)freebsd32_cpuset_getid, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 486 = freebsd32_cpuset_getid */
- { AS(freebsd32_cpuset_getaffinity_args), (sy_call_t *)freebsd32_cpuset_getaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 487 = freebsd32_cpuset_getaffinity */
- { AS(freebsd32_cpuset_setaffinity_args), (sy_call_t *)freebsd32_cpuset_setaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 488 = freebsd32_cpuset_setaffinity */
+ { AS(freebsd32_cpuset_getaffinity_args), (sy_call_t *)freebsd32_cpuset_getaffinity, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 487 = freebsd32_cpuset_getaffinity */
+ { AS(freebsd32_cpuset_setaffinity_args), (sy_call_t *)freebsd32_cpuset_setaffinity, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 488 = freebsd32_cpuset_setaffinity */
{ AS(faccessat_args), (sy_call_t *)sys_faccessat, AUE_FACCESSAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 489 = faccessat */
{ AS(fchmodat_args), (sy_call_t *)sys_fchmodat, AUE_FCHMODAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 490 = fchmodat */
{ AS(fchownat_args), (sy_call_t *)sys_fchownat, AUE_FCHOWNAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 491 = fchownat */
diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c
index 002d4a2..85d3486 100644
--- a/sys/compat/freebsd32/freebsd32_systrace_args.c
+++ b/sys/compat/freebsd32/freebsd32_systrace_args.c
@@ -2364,12 +2364,12 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 2;
break;
}
- /* sigqueue */
+ /* freebsd32_sigqueue */
case 456: {
- struct sigqueue_args *p = params;
+ struct freebsd32_sigqueue_args *p = params;
iarg[0] = p->pid; /* pid_t */
iarg[1] = p->signum; /* int */
- uarg[2] = (intptr_t) p->value; /* void * */
+ iarg[2] = p->value; /* int */
*n_args = 3;
break;
}
@@ -7155,7 +7155,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
- /* sigqueue */
+ /* freebsd32_sigqueue */
case 456:
switch(ndx) {
case 0:
@@ -7165,7 +7165,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "int";
break;
case 2:
- p = "void *";
+ p = "int";
break;
default:
break;
@@ -10335,7 +10335,7 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
- /* sigqueue */
+ /* freebsd32_sigqueue */
case 456:
if (ndx == 0 || ndx == 1)
p = "int";
diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master
index d9afd24..91e3066 100644
--- a/sys/compat/freebsd32/syscalls.master
+++ b/sys/compat/freebsd32/syscalls.master
@@ -820,8 +820,8 @@
455 AUE_NULL STD { int freebsd32_thr_new( \
struct thr_param32 *param, \
int param_size); }
-456 AUE_NULL NOPROTO { int sigqueue(pid_t pid, int signum, \
- void *value); }
+456 AUE_NULL STD { int freebsd32_sigqueue(pid_t pid, \
+ int signum, int value); }
457 AUE_NULL NOSTD { int freebsd32_kmq_open( \
const char *path, int flags, mode_t mode, \
const struct mq_attr32 *attr); }
diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c
index 37b8595..a3c28e8 100644
--- a/sys/compat/linux/linux_file.c
+++ b/sys/compat/linux/linux_file.c
@@ -394,9 +394,9 @@ linux_getdents(struct thread *td, struct linux_getdents_args *args)
td->td_retval[0] = retval;
out:
- free(lbuf, M_LINUX);
+ free(lbuf, M_TEMP);
out1:
- free(buf, M_LINUX);
+ free(buf, M_TEMP);
return (error);
}
@@ -522,9 +522,9 @@ linux_readdir(struct thread *td, struct linux_readdir_args *args)
if (error == 0)
td->td_retval[0] = linuxreclen;
- free(lbuf, M_LINUX);
+ free(lbuf, M_TEMP);
out:
- free(buf, M_LINUX);
+ free(buf, M_TEMP);
return (error);
}
#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */
@@ -826,7 +826,7 @@ linux_symlinkat(struct thread *td, struct linux_symlinkat_args *args)
int error, dfd;
dfd = (args->newdfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->newdfd;
- LCONVPATHEXIST_AT(td, args->oldname, &path, dfd);
+ LCONVPATHEXIST(td, args->oldname, &path);
/* Expand LCONVPATHCREATE so that `path' can be freed on errors */
error = linux_emul_convpath(td, args->newname, UIO_USERSPACE, &to, 1, dfd);
if (to == NULL) {
diff --git a/sys/compat/linux/linux_ioctl.c b/sys/compat/linux/linux_ioctl.c
index 867cdd2..b77db6c 100644
--- a/sys/compat/linux/linux_ioctl.c
+++ b/sys/compat/linux/linux_ioctl.c
@@ -2173,6 +2173,49 @@ ifname_linux_to_bsd(struct thread *td, const char *lxname, char *bsdname)
}
/*
+ * Implement the SIOCGIFNAME ioctl
+ */
+
+static int
+linux_ioctl_ifname(struct thread *td, struct l_ifreq *uifr)
+{
+ struct l_ifreq ifr;
+ struct ifnet *ifp;
+ int error, ethno, index;
+
+ error = copyin(uifr, &ifr, sizeof(ifr));
+ if (error != 0)
+ return (error);
+
+ CURVNET_SET(TD_TO_VNET(curthread));
+ IFNET_RLOCK();
+ index = 1; /* ifr.ifr_ifindex starts from 1 */
+ ethno = 0;
+ error = ENODEV;
+ TAILQ_FOREACH(ifp, &V_ifnet, if_link) {
+ if (ifr.ifr_ifindex == index) {
+ if (IFP_IS_ETH(ifp))
+ snprintf(ifr.ifr_name, LINUX_IFNAMSIZ,
+ "eth%d", ethno);
+ else
+ strlcpy(ifr.ifr_name, ifp->if_xname,
+ LINUX_IFNAMSIZ);
+ error = 0;
+ break;
+ }
+ if (IFP_IS_ETH(ifp))
+ ethno++;
+ index++;
+ }
+ IFNET_RUNLOCK();
+ if (error == 0)
+ error = copyout(&ifr, uifr, sizeof(ifr));
+ CURVNET_RESTORE();
+
+ return (error);
+}
+
+/*
* Implement the SIOCGIFCONF ioctl
*/
@@ -2399,6 +2442,7 @@ linux_ioctl_socket(struct thread *td, struct linux_ioctl_args *args)
case LINUX_SIOCADDMULTI:
case LINUX_SIOCATMARK:
case LINUX_SIOCDELMULTI:
+ case LINUX_SIOCGIFNAME:
case LINUX_SIOCGIFCONF:
case LINUX_SIOCGPGRP:
case LINUX_SIOCSPGRP:
@@ -2484,6 +2528,10 @@ linux_ioctl_socket(struct thread *td, struct linux_ioctl_args *args)
/* LINUX_SIOCGSTAMP */
+ case LINUX_SIOCGIFNAME:
+ error = linux_ioctl_ifname(td, (struct l_ifreq *)args->arg);
+ break;
+
case LINUX_SIOCGIFCONF:
error = linux_ifconf(td, (struct ifconf *)args->arg);
break;
diff --git a/sys/compat/linux/linux_ioctl.h b/sys/compat/linux/linux_ioctl.h
index 630e5fb..dc0b946 100644
--- a/sys/compat/linux/linux_ioctl.h
+++ b/sys/compat/linux/linux_ioctl.h
@@ -226,6 +226,7 @@
#define LINUX_SIOCGPGRP 0x8904
#define LINUX_SIOCATMARK 0x8905
#define LINUX_SIOCGSTAMP 0x8906
+#define LINUX_SIOCGIFNAME 0x8910
#define LINUX_SIOCGIFCONF 0x8912
#define LINUX_SIOCGIFFLAGS 0x8913
#define LINUX_SIOCGIFADDR 0x8915
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index 9db1767..7d44fb9 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -2516,6 +2516,7 @@ linux_getrandom(struct thread *td, struct linux_getrandom_args *args)
{
struct uio uio;
struct iovec iov;
+ int error;
if (args->flags & ~(LINUX_GRND_NONBLOCK|LINUX_GRND_RANDOM))
return (EINVAL);
@@ -2532,7 +2533,10 @@ linux_getrandom(struct thread *td, struct linux_getrandom_args *args)
uio.uio_rw = UIO_READ;
uio.uio_td = td;
- return (read_random_uio(&uio, args->flags & LINUX_GRND_NONBLOCK));
+ error = read_random_uio(&uio, args->flags & LINUX_GRND_NONBLOCK);
+ if (error == 0)
+ td->td_retval[0] = args->count - uio.uio_resid;
+ return (error);
}
int
diff --git a/sys/compat/ndis/kern_ndis.c b/sys/compat/ndis/kern_ndis.c
index 47874e8..55b22a2 100644
--- a/sys/compat/ndis/kern_ndis.c
+++ b/sys/compat/ndis/kern_ndis.c
@@ -210,8 +210,8 @@ ndis_status_func(adapter, status, sbuf, slen)
block = adapter;
sc = device_get_softc(block->nmb_physdeviceobj->do_devext);
- ifp = sc->ifp;
- if (ifp->if_flags & IFF_DEBUG)
+ ifp = NDISUSB_GET_IFNET(sc);
+ if ( ifp && ifp->if_flags & IFF_DEBUG)
device_printf(sc->ndis_dev, "status: %x\n", status);
}
@@ -225,8 +225,8 @@ ndis_statusdone_func(adapter)
block = adapter;
sc = device_get_softc(block->nmb_physdeviceobj->do_devext);
- ifp = sc->ifp;
- if (ifp->if_flags & IFF_DEBUG)
+ ifp = NDISUSB_GET_IFNET(sc);
+ if (ifp && ifp->if_flags & IFF_DEBUG)
device_printf(sc->ndis_dev, "status complete\n");
}
@@ -264,9 +264,9 @@ ndis_resetdone_func(ndis_handle adapter, ndis_status status,
block = adapter;
sc = device_get_softc(block->nmb_physdeviceobj->do_devext);
- ifp = sc->ifp;
+ ifp = NDISUSB_GET_IFNET(sc);
- if (ifp->if_flags & IFF_DEBUG)
+ if (ifp && ifp->if_flags & IFF_DEBUG)
device_printf(sc->ndis_dev, "reset done...\n");
KeSetEvent(&block->nmb_resetevent, IO_NO_INCREMENT, FALSE);
}
@@ -285,6 +285,9 @@ ndis_create_sysctls(arg)
return (EINVAL);
sc = arg;
+ /*
+ device_printf(sc->ndis_dev, "ndis_create_sysctls() sc=%p\n", sc);
+ */
vals = sc->ndis_regvals;
TAILQ_INIT(&sc->ndis_cfglist_head);
@@ -698,8 +701,8 @@ ndis_ptom(m0, p)
*/
eh = mtod((*m0), struct ether_header *);
- ifp = ((struct ndis_softc *)p->np_softc)->ifp;
- if (totlen > ETHER_MAX_FRAME(ifp, eh->ether_type, FALSE)) {
+ ifp = NDISUSB_GET_IFNET((struct ndis_softc *)p->np_softc);
+ if (ifp && totlen > ETHER_MAX_FRAME(ifp, eh->ether_type, FALSE)) {
diff = totlen - ETHER_MAX_FRAME(ifp, eh->ether_type, FALSE);
totlen -= diff;
m->m_len -= diff;
diff --git a/sys/compat/ndis/subr_ndis.c b/sys/compat/ndis/subr_ndis.c
index c898f06..98a0a28 100644
--- a/sys/compat/ndis/subr_ndis.c
+++ b/sys/compat/ndis/subr_ndis.c
@@ -626,6 +626,9 @@ NdisReadConfiguration(status, parm, cfg, key, type)
block = (ndis_miniport_block *)cfg;
sc = device_get_softc(block->nmb_physdeviceobj->do_devext);
+ /*
+ device_printf(sc->ndis_dev, "NdisReadConfiguration sc=%p\n", sc);
+ */
if (key->us_len == 0 || key->us_buf == NULL) {
*status = NDIS_STATUS_FAILURE;
@@ -984,7 +987,7 @@ NdisWriteErrorLogEntry(ndis_handle adapter, ndis_error_code code,
dev = block->nmb_physdeviceobj->do_devext;
drv = block->nmb_deviceobj->do_drvobj;
sc = device_get_softc(dev);
- ifp = sc->ifp;
+ ifp = NDISUSB_GET_IFNET(sc);
if (ifp != NULL && ifp->if_flags & IFF_DEBUG) {
error = pe_get_message((vm_offset_t)drv->dro_driverstart,
@@ -1304,17 +1307,19 @@ NdisReadNetworkAddress(status, addr, addrlen, adapter)
ndis_handle adapter;
{
struct ndis_softc *sc;
+ struct ifnet *ifp;
ndis_miniport_block *block;
uint8_t empty[] = { 0, 0, 0, 0, 0, 0 };
block = (ndis_miniport_block *)adapter;
sc = device_get_softc(block->nmb_physdeviceobj->do_devext);
- if (sc->ifp == NULL) {
+ ifp = NDISUSB_GET_IFNET(sc);
+ if (ifp == NULL) {
*status = NDIS_STATUS_FAILURE;
return;
}
- if (sc->ifp->if_addr == NULL ||
+ if (ifp->if_addr == NULL ||
bcmp(IF_LLADDR(sc->ifp), empty, ETHER_ADDR_LEN) == 0)
*status = NDIS_STATUS_FAILURE;
else {
diff --git a/sys/conf/files b/sys/conf/files
index d5dfe37..b24a187 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -102,7 +102,7 @@ cam/ctl/ctl_cmd_table.c optional ctl
cam/ctl/ctl_frontend.c optional ctl
cam/ctl/ctl_frontend_cam_sim.c optional ctl
cam/ctl/ctl_frontend_ioctl.c optional ctl
-cam/ctl/ctl_frontend_iscsi.c optional ctl
+cam/ctl/ctl_frontend_iscsi.c optional ctl cfiscsi
cam/ctl/ctl_ha.c optional ctl
cam/ctl/ctl_scsi_all.c optional ctl
cam/ctl/ctl_tpc.c optional ctl
@@ -664,6 +664,7 @@ dev/acpica/acpi_perf.c optional acpi
dev/acpica/acpi_powerres.c optional acpi
dev/acpica/acpi_quirk.c optional acpi
dev/acpica/acpi_resource.c optional acpi
+dev/acpica/acpi_container.c optional acpi
dev/acpica/acpi_smbat.c optional acpi
dev/acpica/acpi_thermal.c optional acpi
dev/acpica/acpi_throttle.c optional acpi
@@ -1268,6 +1269,8 @@ dev/cxgbe/t4_main.c optional cxgbe pci \
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
dev/cxgbe/t4_netmap.c optional cxgbe pci \
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
+dev/cxgbe/t4_sched.c optional cxgbe pci \
+ compile-with "${NORMAL_C} -I$S/dev/cxgbe"
dev/cxgbe/t4_sge.c optional cxgbe pci \
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
dev/cxgbe/t4_l2t.c optional cxgbe pci \
@@ -1310,7 +1313,7 @@ t4fw.fwo optional cxgbe \
no-implicit-rule \
clean "t4fw.fwo"
t4fw.fw optional cxgbe \
- dependency "$S/dev/cxgbe/firmware/t4fw-1.16.26.0.bin.uu" \
+ dependency "$S/dev/cxgbe/firmware/t4fw-1.16.45.0.bin.uu" \
compile-with "${NORMAL_FW}" \
no-obj no-implicit-rule \
clean "t4fw.fw"
@@ -1334,7 +1337,7 @@ t5fw.fwo optional cxgbe \
no-implicit-rule \
clean "t5fw.fwo"
t5fw.fw optional cxgbe \
- dependency "$S/dev/cxgbe/firmware/t5fw-1.16.26.0.bin.uu" \
+ dependency "$S/dev/cxgbe/firmware/t5fw-1.16.45.0.bin.uu" \
compile-with "${NORMAL_FW}" \
no-obj no-implicit-rule \
clean "t5fw.fw"
@@ -1358,7 +1361,7 @@ t6fw.fwo optional cxgbe \
no-implicit-rule \
clean "t6fw.fwo"
t6fw.fw optional cxgbe \
- dependency "$S/dev/cxgbe/firmware/t6fw-1.16.26.0.bin.uu" \
+ dependency "$S/dev/cxgbe/firmware/t6fw-1.16.45.0.bin.uu" \
compile-with "${NORMAL_FW}" \
no-obj no-implicit-rule \
clean "t6fw.fw"
@@ -1500,6 +1503,7 @@ dev/ed/if_ed_novell.c optional ed
dev/ed/if_ed_rtl80x9.c optional ed
dev/ed/if_ed_pccard.c optional ed pccard
dev/ed/if_ed_pci.c optional ed pci
+dev/efidev/efidev.c optional efirt
dev/eisa/eisa_if.m standard
dev/eisa/eisaconf.c optional eisa
dev/e1000/if_em.c optional em \
@@ -1746,10 +1750,10 @@ ipw_monitor.fw optional ipwmonitorfw | ipwfw \
compile-with "${NORMAL_FW}" \
no-obj no-implicit-rule \
clean "ipw_monitor.fw"
-dev/iscsi/icl.c optional iscsi | ctl
-dev/iscsi/icl_conn_if.m optional iscsi | ctl
-dev/iscsi/icl_soft.c optional iscsi | ctl
-dev/iscsi/icl_soft_proxy.c optional iscsi | ctl
+dev/iscsi/icl.c optional iscsi
+dev/iscsi/icl_conn_if.m optional cfiscsi | iscsi
+dev/iscsi/icl_soft.c optional iscsi
+dev/iscsi/icl_soft_proxy.c optional iscsi
dev/iscsi/iscsi.c optional iscsi scbus
dev/iscsi_initiator/iscsi.c optional iscsi_initiator scbus
dev/iscsi_initiator/iscsi_subr.c optional iscsi_initiator scbus
@@ -2169,6 +2173,7 @@ dev/mlx/mlx.c optional mlx
dev/mlx/mlx_disk.c optional mlx
dev/mlx/mlx_pci.c optional mlx pci
dev/mly/mly.c optional mly
+dev/mmc/mmc_subr.c optional mmc | mmcsd
dev/mmc/mmc.c optional mmc
dev/mmc/mmcbr_if.m standard
dev/mmc/mmcbus_if.m standard
@@ -3209,7 +3214,7 @@ geom/geom_disk.c standard
geom/geom_dump.c standard
geom/geom_event.c standard
geom/geom_fox.c optional geom_fox
-geom/geom_flashmap.c optional fdt cfi | fdt nand | fdt mx25l
+geom/geom_flashmap.c optional fdt cfi | fdt nand | fdt mx25l | mmcsd
geom/geom_io.c standard
geom/geom_kern.c standard
geom/geom_map.c optional geom_map
diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index 2271e1c..1e304bd 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -34,7 +34,7 @@ cloudabi64_vdso_blob.o optional compat_cloudabi64 \
#
linux32_genassym.o optional compat_linux32 \
dependency "$S/amd64/linux32/linux32_genassym.c" \
- compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
+ compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \
no-obj no-implicit-rule \
clean "linux32_genassym.o"
#
@@ -58,7 +58,7 @@ linux32_vdso.so optional compat_linux32 \
#
ia32_genassym.o standard \
dependency "$S/compat/ia32/ia32_genassym.c" \
- compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
+ compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \
no-obj no-implicit-rule \
clean "ia32_genassym.o"
#
@@ -249,6 +249,10 @@ dev/ixl/ixl_pf_qmgr.c optional ixl pci \
compile-with "${NORMAL_C} -I$S/dev/ixl"
dev/ixl/ixl_pf_iov.c optional ixl pci \
compile-with "${NORMAL_C} -I$S/dev/ixl"
+dev/ixl/ixl_pf_i2c.c optional ixl pci \
+ compile-with "${NORMAL_C} -I$S/dev/ixl"
+dev/ixl/ixl_iw.c optional ixl pci \
+ compile-with "${NORMAL_C} -I$S/dev/ixl"
dev/ixl/if_ixlv.c optional ixlv pci \
compile-with "${NORMAL_C} -I$S/dev/ixl"
dev/ixl/ixlvc.c optional ixlv pci \
@@ -313,6 +317,7 @@ dev/hyperv/vmbus/vmbus_br.c optional hyperv
dev/hyperv/vmbus/vmbus_chan.c optional hyperv
dev/hyperv/vmbus/vmbus_et.c optional hyperv
dev/hyperv/vmbus/vmbus_if.m optional hyperv
+dev/hyperv/vmbus/vmbus_res.c optional hyperv
dev/hyperv/vmbus/vmbus_xact.c optional hyperv
dev/hyperv/vmbus/amd64/hyperv_machdep.c optional hyperv
dev/hyperv/vmbus/amd64/vmbus_vector.S optional hyperv
diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64
index 10eb61f..16880f4 100644
--- a/sys/conf/files.arm64
+++ b/sys/conf/files.arm64
@@ -107,6 +107,7 @@ libkern/flsl.c standard
libkern/flsll.c standard
libkern/memmove.c standard
libkern/memset.c standard
+libkern/arm64/crc32c_armv8.S standard
cddl/contrib/opensolaris/common/atomic/aarch64/opensolaris_atomic.S optional zfs | dtrace compile-with "${CDDL_C}"
cddl/dev/dtrace/aarch64/dtrace_asm.S optional dtrace compile-with "${DTRACE_S}"
cddl/dev/dtrace/aarch64/dtrace_subr.c optional dtrace compile-with "${DTRACE_C}"
diff --git a/sys/conf/files.i386 b/sys/conf/files.i386
index c25a989..ca871ab 100644
--- a/sys/conf/files.i386
+++ b/sys/conf/files.i386
@@ -21,7 +21,7 @@ cloudabi32_vdso_blob.o optional compat_cloudabi32 \
#
linux_genassym.o optional compat_linux \
dependency "$S/i386/linux/linux_genassym.c" \
- compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
+ compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \
no-obj no-implicit-rule \
clean "linux_genassym.o"
#
@@ -45,7 +45,7 @@ linux_vdso.so optional compat_linux \
#
svr4_genassym.o optional compat_svr4 \
dependency "$S/i386/svr4/svr4_genassym.c" \
- compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
+ compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \
no-obj no-implicit-rule \
clean "svr4_genassym.o"
#
@@ -267,6 +267,7 @@ dev/hyperv/vmbus/vmbus_br.c optional hyperv
dev/hyperv/vmbus/vmbus_chan.c optional hyperv
dev/hyperv/vmbus/vmbus_et.c optional hyperv
dev/hyperv/vmbus/vmbus_if.m optional hyperv
+dev/hyperv/vmbus/vmbus_res.c optional hyperv
dev/hyperv/vmbus/vmbus_xact.c optional hyperv
dev/hyperv/vmbus/i386/hyperv_machdep.c optional hyperv
dev/hyperv/vmbus/i386/vmbus_vector.S optional hyperv
diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk
index 81d16df..0843f7f 100644
--- a/sys/conf/kern.opts.mk
+++ b/sys/conf/kern.opts.mk
@@ -41,6 +41,7 @@ __DEFAULT_YES_OPTIONS = \
PF \
SOURCELESS_HOST \
SOURCELESS_UCODE \
+ TESTS \
USB_GADGET_EXAMPLES \
ZFS
diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk
index 1891277..3d03363 100644
--- a/sys/conf/kern.post.mk
+++ b/sys/conf/kern.post.mk
@@ -189,7 +189,7 @@ assym.s: $S/kern/genassym.sh genassym.o
NM='${NM}' NMFLAGS='${NMFLAGS}' sh $S/kern/genassym.sh genassym.o > ${.TARGET}
genassym.o: $S/$M/$M/genassym.c
- ${CC} -c ${CFLAGS:N-fno-common} $S/$M/$M/genassym.c
+ ${CC} -c ${CFLAGS:N-flto:N-fno-common} $S/$M/$M/genassym.c
${SYSTEM_OBJS} genassym.o vers.o: opt_global.h
@@ -200,10 +200,10 @@ _meta_filemon= 1
# lookups. For install, only do this if no other targets are specified.
# Also skip generating or including .depend.* files if in meta+filemon mode
# since it will track dependencies itself. OBJS_DEPEND_GUESS is still used.
-.if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(obj) || make(clean*) || \
+.if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(*obj) || \
+ ${.TARGETS:M*clean*} == ${.TARGETS} || \
${.TARGETS:M*install*} == ${.TARGETS} || \
- make(kernel-obj) || make(kernel-clean*) || \
- make(kernel-install*) || defined(_meta_filemon)
+ defined(_meta_filemon)
_SKIP_READ_DEPEND= 1
.MAKE.DEPENDFILE= /dev/null
.endif
diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk
index 73b2626..4c3204c 100644
--- a/sys/conf/kmod.mk
+++ b/sys/conf/kmod.mk
@@ -462,7 +462,7 @@ assym.s: ${SYSDIR}/kern/genassym.sh
sh ${SYSDIR}/kern/genassym.sh genassym.o > ${.TARGET}
genassym.o: ${SYSDIR}/${MACHINE}/${MACHINE}/genassym.c
genassym.o: ${SRCS:Mopt_*.h}
- ${CC} -c ${CFLAGS:N-fno-common} \
+ ${CC} -c ${CFLAGS:N-flto:N-fno-common} \
${SYSDIR}/${MACHINE}/${MACHINE}/genassym.c
.endif
diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
index fa05d7d..0b22d0b 100644
--- a/sys/conf/newvers.sh
+++ b/sys/conf/newvers.sh
@@ -43,8 +43,8 @@
# included if the tree is modified.
TYPE="FreeBSD"
-REVISION="11.0"
-BRANCH="STABLE"
+REVISION="11.1"
+BRANCH="RC1"
if [ -n "${BRANCH_OVERRIDE}" ]; then
BRANCH=${BRANCH_OVERRIDE}
fi
diff --git a/sys/conf/options.amd64 b/sys/conf/options.amd64
index a582553..fa5ef84 100644
--- a/sys/conf/options.amd64
+++ b/sys/conf/options.amd64
@@ -49,6 +49,9 @@ AGP_DEBUG opt_agp.h
ATKBD_DFLT_KEYMAP opt_atkbd.h
+# iWARP client interface support in ixl
+IXL_IW opt_ixl.h
+
# -------------------------------
# EOF
# -------------------------------
diff --git a/sys/conf/options.arm64 b/sys/conf/options.arm64
index f5c276c..7bdf96e 100644
--- a/sys/conf/options.arm64
+++ b/sys/conf/options.arm64
@@ -7,6 +7,8 @@ SOCDEV_VA opt_global.h
THUNDERX_PASS_1_1_ERRATA opt_global.h
VFP opt_global.h
+DEV_PSCI opt_platform.h
+
# SoC Support
SOC_CAVM_THUNDERX opt_soc.h
SOC_HISI_HI6220 opt_soc.h
diff --git a/sys/contrib/edk2/Include/Base.h b/sys/contrib/edk2/Include/Base.h
new file mode 100644
index 0000000..70cb999
--- /dev/null
+++ b/sys/contrib/edk2/Include/Base.h
@@ -0,0 +1,1270 @@
+/** @file
+ Root include file for Mde Package Base type modules
+
+ This is the include file for any module of type base. Base modules only use
+ types defined via this include file and can be ported easily to any
+ environment. There are a set of base libraries in the Mde Package that can
+ be used to implement base modules.
+
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
+Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+
+#ifndef __BASE_H__
+#define __BASE_H__
+
+//
+// Include processor specific binding
+//
+#include <ProcessorBind.h>
+
+#if defined(_MSC_EXTENSIONS)
+//
+// Disable warning when last field of data structure is a zero sized array.
+//
+#pragma warning ( disable : 4200 )
+#endif
+
+/**
+ Verifies the storage size of a given data type.
+
+ This macro generates a divide by zero error or a zero size array declaration in
+ the preprocessor if the size is incorrect. These are declared as "extern" so
+ the space for these arrays will not be in the modules.
+
+ @param TYPE The date type to determine the size of.
+ @param Size The expected size for the TYPE.
+
+**/
+#define VERIFY_SIZE_OF(TYPE, Size) extern UINT8 _VerifySizeof##TYPE[(sizeof(TYPE) == (Size)) / (sizeof(TYPE) == (Size))]
+
+//
+// Verify that ProcessorBind.h produced UEFI Data Types that are compliant with
+// Section 2.3.1 of the UEFI 2.3 Specification.
+//
+VERIFY_SIZE_OF (BOOLEAN, 1);
+VERIFY_SIZE_OF (INT8, 1);
+VERIFY_SIZE_OF (UINT8, 1);
+VERIFY_SIZE_OF (INT16, 2);
+VERIFY_SIZE_OF (UINT16, 2);
+VERIFY_SIZE_OF (INT32, 4);
+VERIFY_SIZE_OF (UINT32, 4);
+VERIFY_SIZE_OF (INT64, 8);
+VERIFY_SIZE_OF (UINT64, 8);
+VERIFY_SIZE_OF (CHAR8, 1);
+VERIFY_SIZE_OF (CHAR16, 2);
+
+//
+// The following three enum types are used to verify that the compiler
+// configuration for enum types is compliant with Section 2.3.1 of the
+// UEFI 2.3 Specification. These enum types and enum values are not
+// intended to be used. A prefix of '__' is used avoid conflicts with
+// other types.
+//
+typedef enum {
+ __VerifyUint8EnumValue = 0xff
+} __VERIFY_UINT8_ENUM_SIZE;
+
+typedef enum {
+ __VerifyUint16EnumValue = 0xffff
+} __VERIFY_UINT16_ENUM_SIZE;
+
+typedef enum {
+ __VerifyUint32EnumValue = 0xffffffff
+} __VERIFY_UINT32_ENUM_SIZE;
+
+VERIFY_SIZE_OF (__VERIFY_UINT8_ENUM_SIZE, 4);
+VERIFY_SIZE_OF (__VERIFY_UINT16_ENUM_SIZE, 4);
+VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);
+
+//
+// The Microsoft* C compiler can removed references to unreferenced data items
+// if the /OPT:REF linker option is used. We defined a macro as this is a
+// a non standard extension
+//
+#if defined(_MSC_EXTENSIONS) && !defined (MDE_CPU_EBC)
+ ///
+ /// Remove global variable from the linked image if there are no references to
+ /// it after all compiler and linker optimizations have been performed.
+ ///
+ ///
+ #define GLOBAL_REMOVE_IF_UNREFERENCED __declspec(selectany)
+#else
+ ///
+ /// Remove the global variable from the linked image if there are no references
+ /// to it after all compiler and linker optimizations have been performed.
+ ///
+ ///
+ #define GLOBAL_REMOVE_IF_UNREFERENCED
+#endif
+
+//
+// Should be used in combination with NORETURN to avoid 'noreturn' returns
+// warnings.
+//
+#ifndef UNREACHABLE
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
+ ///
+ /// Signal compilers and analyzers that this call is not reachable. It is
+ /// up to the compiler to remove any code past that point.
+ /// Not implemented by GCC 4.4 or earlier.
+ ///
+ #define UNREACHABLE() __builtin_unreachable ()
+ #elif defined (__has_feature)
+ #if __has_builtin (__builtin_unreachable)
+ ///
+ /// Signal compilers and analyzers that this call is not reachable. It is
+ /// up to the compiler to remove any code past that point.
+ ///
+ #define UNREACHABLE() __builtin_unreachable ()
+ #endif
+ #endif
+
+ #ifndef UNREACHABLE
+ ///
+ /// Signal compilers and analyzers that this call is not reachable. It is
+ /// up to the compiler to remove any code past that point.
+ ///
+ #define UNREACHABLE()
+ #endif
+#endif
+
+//
+// Signaling compilers and analyzers that a certain function cannot return may
+// remove all following code and thus lead to better optimization and less
+// false positives.
+//
+#ifndef NORETURN
+ #if defined (__GNUC__) || defined (__clang__)
+ ///
+ /// Signal compilers and analyzers that the function cannot return.
+ /// It is up to the compiler to remove any code past a call to functions
+ /// flagged with this attribute.
+ ///
+ #define NORETURN __attribute__((noreturn))
+ #elif defined(_MSC_EXTENSIONS) && !defined(MDE_CPU_EBC)
+ ///
+ /// Signal compilers and analyzers that the function cannot return.
+ /// It is up to the compiler to remove any code past a call to functions
+ /// flagged with this attribute.
+ ///
+ #define NORETURN __declspec(noreturn)
+ #else
+ ///
+ /// Signal compilers and analyzers that the function cannot return.
+ /// It is up to the compiler to remove any code past a call to functions
+ /// flagged with this attribute.
+ ///
+ #define NORETURN
+ #endif
+#endif
+
+//
+// Should be used in combination with ANALYZER_NORETURN to avoid 'noreturn'
+// returns warnings.
+//
+#ifndef ANALYZER_UNREACHABLE
+ #ifdef __clang_analyzer__
+ #if __has_builtin (__builtin_unreachable)
+ ///
+ /// Signal the analyzer that this call is not reachable.
+ /// This excludes compilers.
+ ///
+ #define ANALYZER_UNREACHABLE() __builtin_unreachable ()
+ #endif
+ #endif
+
+ #ifndef ANALYZER_UNREACHABLE
+ ///
+ /// Signal the analyzer that this call is not reachable.
+ /// This excludes compilers.
+ ///
+ #define ANALYZER_UNREACHABLE()
+ #endif
+#endif
+
+//
+// Static Analyzers may issue errors about potential NULL-dereferences when
+// dereferencing a pointer, that has been checked before, outside of a
+// NULL-check. This may lead to false positives, such as when using ASSERT()
+// for verification.
+//
+#ifndef ANALYZER_NORETURN
+ #ifdef __has_feature
+ #if __has_feature (attribute_analyzer_noreturn)
+ ///
+ /// Signal analyzers that the function cannot return.
+ /// This excludes compilers.
+ ///
+ #define ANALYZER_NORETURN __attribute__((analyzer_noreturn))
+ #endif
+ #endif
+
+ #ifndef ANALYZER_NORETURN
+ ///
+ /// Signal the analyzer that the function cannot return.
+ /// This excludes compilers.
+ ///
+ #define ANALYZER_NORETURN
+ #endif
+#endif
+
+//
+// For symbol name in assembly code, an extra "_" is sometimes necessary
+//
+
+///
+/// Private worker functions for ASM_PFX()
+///
+#define _CONCATENATE(a, b) __CONCATENATE(a, b)
+#define __CONCATENATE(a, b) a ## b
+
+///
+/// The __USER_LABEL_PREFIX__ macro predefined by GNUC represents the prefix
+/// on symbols in assembly language.
+///
+#define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)
+
+#if __APPLE__
+ //
+ // Apple extension that is used by the linker to optimize code size
+ // with assembly functions. Put at the end of your .S files
+ //
+ #define ASM_FUNCTION_REMOVE_IF_UNREFERENCED .subsections_via_symbols
+#else
+ #define ASM_FUNCTION_REMOVE_IF_UNREFERENCED
+#endif
+
+#ifdef __CC_ARM
+ //
+ // Older RVCT ARM compilers don't fully support #pragma pack and require __packed
+ // as a prefix for the structure.
+ //
+ #define PACKED __packed
+#else
+ #define PACKED
+#endif
+
+///
+/// 128 bit buffer containing a unique identifier value.
+/// Unless otherwise specified, aligned on a 64 bit boundary.
+///
+typedef struct {
+ UINT32 Data1;
+ UINT16 Data2;
+ UINT16 Data3;
+ UINT8 Data4[8];
+} GUID;
+
+///
+/// 4-byte buffer. An IPv4 internet protocol address.
+///
+typedef struct {
+ UINT8 Addr[4];
+} IPv4_ADDRESS;
+
+///
+/// 16-byte buffer. An IPv6 internet protocol address.
+///
+typedef struct {
+ UINT8 Addr[16];
+} IPv6_ADDRESS;
+
+//
+// 8-bytes unsigned value that represents a physical system address.
+//
+typedef UINT64 PHYSICAL_ADDRESS;
+
+///
+/// LIST_ENTRY structure definition.
+///
+typedef struct _LIST_ENTRY LIST_ENTRY;
+
+///
+/// _LIST_ENTRY structure definition.
+///
+struct _LIST_ENTRY {
+ LIST_ENTRY *ForwardLink;
+ LIST_ENTRY *BackLink;
+};
+
+//
+// Modifiers to abstract standard types to aid in debug of problems
+//
+
+///
+/// Datum is read-only.
+///
+#define CONST const
+
+///
+/// Datum is scoped to the current file or function.
+///
+#define STATIC static
+
+///
+/// Undeclared type.
+///
+#define VOID void
+
+//
+// Modifiers for Data Types used to self document code.
+// This concept is borrowed for UEFI specification.
+//
+
+///
+/// Datum is passed to the function.
+///
+#define IN
+
+///
+/// Datum is returned from the function.
+///
+#define OUT
+
+///
+/// Passing the datum to the function is optional, and a NULL
+/// is passed if the value is not supplied.
+///
+#define OPTIONAL
+
+//
+// UEFI specification claims 1 and 0. We are concerned about the
+// compiler portability so we did it this way.
+//
+
+///
+/// Boolean true value. UEFI Specification defines this value to be 1,
+/// but this form is more portable.
+///
+#define TRUE ((BOOLEAN)(1==1))
+
+///
+/// Boolean false value. UEFI Specification defines this value to be 0,
+/// but this form is more portable.
+///
+#define FALSE ((BOOLEAN)(0==1))
+
+///
+/// NULL pointer (VOID *)
+///
+#define NULL ((VOID *) 0)
+
+//
+// Null character
+//
+#define CHAR_NULL 0x0000
+
+///
+/// Maximum values for common UEFI Data Types
+///
+#define MAX_INT8 ((INT8)0x7F)
+#define MAX_UINT8 ((UINT8)0xFF)
+#define MAX_INT16 ((INT16)0x7FFF)
+#define MAX_UINT16 ((UINT16)0xFFFF)
+#define MAX_INT32 ((INT32)0x7FFFFFFF)
+#define MAX_UINT32 ((UINT32)0xFFFFFFFF)
+#define MAX_INT64 ((INT64)0x7FFFFFFFFFFFFFFFULL)
+#define MAX_UINT64 ((UINT64)0xFFFFFFFFFFFFFFFFULL)
+
+#define BIT0 0x00000001
+#define BIT1 0x00000002
+#define BIT2 0x00000004
+#define BIT3 0x00000008
+#define BIT4 0x00000010
+#define BIT5 0x00000020
+#define BIT6 0x00000040
+#define BIT7 0x00000080
+#define BIT8 0x00000100
+#define BIT9 0x00000200
+#define BIT10 0x00000400
+#define BIT11 0x00000800
+#define BIT12 0x00001000
+#define BIT13 0x00002000
+#define BIT14 0x00004000
+#define BIT15 0x00008000
+#define BIT16 0x00010000
+#define BIT17 0x00020000
+#define BIT18 0x00040000
+#define BIT19 0x00080000
+#define BIT20 0x00100000
+#define BIT21 0x00200000
+#define BIT22 0x00400000
+#define BIT23 0x00800000
+#define BIT24 0x01000000
+#define BIT25 0x02000000
+#define BIT26 0x04000000
+#define BIT27 0x08000000
+#define BIT28 0x10000000
+#define BIT29 0x20000000
+#define BIT30 0x40000000
+#define BIT31 0x80000000
+#define BIT32 0x0000000100000000ULL
+#define BIT33 0x0000000200000000ULL
+#define BIT34 0x0000000400000000ULL
+#define BIT35 0x0000000800000000ULL
+#define BIT36 0x0000001000000000ULL
+#define BIT37 0x0000002000000000ULL
+#define BIT38 0x0000004000000000ULL
+#define BIT39 0x0000008000000000ULL
+#define BIT40 0x0000010000000000ULL
+#define BIT41 0x0000020000000000ULL
+#define BIT42 0x0000040000000000ULL
+#define BIT43 0x0000080000000000ULL
+#define BIT44 0x0000100000000000ULL
+#define BIT45 0x0000200000000000ULL
+#define BIT46 0x0000400000000000ULL
+#define BIT47 0x0000800000000000ULL
+#define BIT48 0x0001000000000000ULL
+#define BIT49 0x0002000000000000ULL
+#define BIT50 0x0004000000000000ULL
+#define BIT51 0x0008000000000000ULL
+#define BIT52 0x0010000000000000ULL
+#define BIT53 0x0020000000000000ULL
+#define BIT54 0x0040000000000000ULL
+#define BIT55 0x0080000000000000ULL
+#define BIT56 0x0100000000000000ULL
+#define BIT57 0x0200000000000000ULL
+#define BIT58 0x0400000000000000ULL
+#define BIT59 0x0800000000000000ULL
+#define BIT60 0x1000000000000000ULL
+#define BIT61 0x2000000000000000ULL
+#define BIT62 0x4000000000000000ULL
+#define BIT63 0x8000000000000000ULL
+
+#define SIZE_1KB 0x00000400
+#define SIZE_2KB 0x00000800
+#define SIZE_4KB 0x00001000
+#define SIZE_8KB 0x00002000
+#define SIZE_16KB 0x00004000
+#define SIZE_32KB 0x00008000
+#define SIZE_64KB 0x00010000
+#define SIZE_128KB 0x00020000
+#define SIZE_256KB 0x00040000
+#define SIZE_512KB 0x00080000
+#define SIZE_1MB 0x00100000
+#define SIZE_2MB 0x00200000
+#define SIZE_4MB 0x00400000
+#define SIZE_8MB 0x00800000
+#define SIZE_16MB 0x01000000
+#define SIZE_32MB 0x02000000
+#define SIZE_64MB 0x04000000
+#define SIZE_128MB 0x08000000
+#define SIZE_256MB 0x10000000
+#define SIZE_512MB 0x20000000
+#define SIZE_1GB 0x40000000
+#define SIZE_2GB 0x80000000
+#define SIZE_4GB 0x0000000100000000ULL
+#define SIZE_8GB 0x0000000200000000ULL
+#define SIZE_16GB 0x0000000400000000ULL
+#define SIZE_32GB 0x0000000800000000ULL
+#define SIZE_64GB 0x0000001000000000ULL
+#define SIZE_128GB 0x0000002000000000ULL
+#define SIZE_256GB 0x0000004000000000ULL
+#define SIZE_512GB 0x0000008000000000ULL
+#define SIZE_1TB 0x0000010000000000ULL
+#define SIZE_2TB 0x0000020000000000ULL
+#define SIZE_4TB 0x0000040000000000ULL
+#define SIZE_8TB 0x0000080000000000ULL
+#define SIZE_16TB 0x0000100000000000ULL
+#define SIZE_32TB 0x0000200000000000ULL
+#define SIZE_64TB 0x0000400000000000ULL
+#define SIZE_128TB 0x0000800000000000ULL
+#define SIZE_256TB 0x0001000000000000ULL
+#define SIZE_512TB 0x0002000000000000ULL
+#define SIZE_1PB 0x0004000000000000ULL
+#define SIZE_2PB 0x0008000000000000ULL
+#define SIZE_4PB 0x0010000000000000ULL
+#define SIZE_8PB 0x0020000000000000ULL
+#define SIZE_16PB 0x0040000000000000ULL
+#define SIZE_32PB 0x0080000000000000ULL
+#define SIZE_64PB 0x0100000000000000ULL
+#define SIZE_128PB 0x0200000000000000ULL
+#define SIZE_256PB 0x0400000000000000ULL
+#define SIZE_512PB 0x0800000000000000ULL
+#define SIZE_1EB 0x1000000000000000ULL
+#define SIZE_2EB 0x2000000000000000ULL
+#define SIZE_4EB 0x4000000000000000ULL
+#define SIZE_8EB 0x8000000000000000ULL
+
+#define BASE_1KB 0x00000400
+#define BASE_2KB 0x00000800
+#define BASE_4KB 0x00001000
+#define BASE_8KB 0x00002000
+#define BASE_16KB 0x00004000
+#define BASE_32KB 0x00008000
+#define BASE_64KB 0x00010000
+#define BASE_128KB 0x00020000
+#define BASE_256KB 0x00040000
+#define BASE_512KB 0x00080000
+#define BASE_1MB 0x00100000
+#define BASE_2MB 0x00200000
+#define BASE_4MB 0x00400000
+#define BASE_8MB 0x00800000
+#define BASE_16MB 0x01000000
+#define BASE_32MB 0x02000000
+#define BASE_64MB 0x04000000
+#define BASE_128MB 0x08000000
+#define BASE_256MB 0x10000000
+#define BASE_512MB 0x20000000
+#define BASE_1GB 0x40000000
+#define BASE_2GB 0x80000000
+#define BASE_4GB 0x0000000100000000ULL
+#define BASE_8GB 0x0000000200000000ULL
+#define BASE_16GB 0x0000000400000000ULL
+#define BASE_32GB 0x0000000800000000ULL
+#define BASE_64GB 0x0000001000000000ULL
+#define BASE_128GB 0x0000002000000000ULL
+#define BASE_256GB 0x0000004000000000ULL
+#define BASE_512GB 0x0000008000000000ULL
+#define BASE_1TB 0x0000010000000000ULL
+#define BASE_2TB 0x0000020000000000ULL
+#define BASE_4TB 0x0000040000000000ULL
+#define BASE_8TB 0x0000080000000000ULL
+#define BASE_16TB 0x0000100000000000ULL
+#define BASE_32TB 0x0000200000000000ULL
+#define BASE_64TB 0x0000400000000000ULL
+#define BASE_128TB 0x0000800000000000ULL
+#define BASE_256TB 0x0001000000000000ULL
+#define BASE_512TB 0x0002000000000000ULL
+#define BASE_1PB 0x0004000000000000ULL
+#define BASE_2PB 0x0008000000000000ULL
+#define BASE_4PB 0x0010000000000000ULL
+#define BASE_8PB 0x0020000000000000ULL
+#define BASE_16PB 0x0040000000000000ULL
+#define BASE_32PB 0x0080000000000000ULL
+#define BASE_64PB 0x0100000000000000ULL
+#define BASE_128PB 0x0200000000000000ULL
+#define BASE_256PB 0x0400000000000000ULL
+#define BASE_512PB 0x0800000000000000ULL
+#define BASE_1EB 0x1000000000000000ULL
+#define BASE_2EB 0x2000000000000000ULL
+#define BASE_4EB 0x4000000000000000ULL
+#define BASE_8EB 0x8000000000000000ULL
+
+//
+// Support for variable length argument lists using the ANSI standard.
+//
+// Since we are using the ANSI standard we used the standard naming and
+// did not follow the coding convention
+//
+// VA_LIST - typedef for argument list.
+// VA_START (VA_LIST Marker, argument before the ...) - Init Marker for use.
+// VA_END (VA_LIST Marker) - Clear Marker
+// VA_ARG (VA_LIST Marker, var arg size) - Use Marker to get an argument from
+// the ... list. You must know the size and pass it in this macro.
+// VA_COPY (VA_LIST Dest, VA_LIST Start) - Initialize Dest as a copy of Start.
+//
+// example:
+//
+// UINTN
+// ExampleVarArg (
+// IN UINTN NumberOfArgs,
+// ...
+// )
+// {
+// VA_LIST Marker;
+// UINTN Index;
+// UINTN Result;
+//
+// //
+// // Initialize the Marker
+// //
+// VA_START (Marker, NumberOfArgs);
+// for (Index = 0, Result = 0; Index < NumberOfArgs; Index++) {
+// //
+// // The ... list is a series of UINTN values, so average them up.
+// //
+// Result += VA_ARG (Marker, UINTN);
+// }
+//
+// VA_END (Marker);
+// return Result
+// }
+//
+
+/**
+ Return the size of argument that has been aligned to sizeof (UINTN).
+
+ @param n The parameter size to be aligned.
+
+ @return The aligned size.
+**/
+#define _INT_SIZE_OF(n) ((sizeof (n) + sizeof (UINTN) - 1) &~(sizeof (UINTN) - 1))
+
+#if defined(__CC_ARM)
+//
+// RVCT ARM variable argument list support.
+//
+
+///
+/// Variable used to traverse the list of arguments. This type can vary by
+/// implementation and could be an array or structure.
+///
+#ifdef __APCS_ADSABI
+ typedef int *va_list[1];
+ #define VA_LIST va_list
+#else
+ typedef struct __va_list { void *__ap; } va_list;
+ #define VA_LIST va_list
+#endif
+
+#define VA_START(Marker, Parameter) __va_start(Marker, Parameter)
+
+#define VA_ARG(Marker, TYPE) __va_arg(Marker, TYPE)
+
+#define VA_END(Marker) ((void)0)
+
+// For some ARM RVCT compilers, __va_copy is not defined
+#ifndef __va_copy
+ #define __va_copy(dest, src) ((void)((dest) = (src)))
+#endif
+
+#define VA_COPY(Dest, Start) __va_copy (Dest, Start)
+
+#elif defined(__GNUC__)
+
+#if defined(MDE_CPU_X64) && !defined(NO_MSABI_VA_FUNCS)
+//
+// X64 only. Use MS ABI version of GCC built-in macros for variable argument lists.
+//
+///
+/// Both GCC and LLVM 3.8 for X64 support new variable argument intrinsics for Microsoft ABI
+///
+
+///
+/// Variable used to traverse the list of arguments. This type can vary by
+/// implementation and could be an array or structure.
+///
+typedef __builtin_ms_va_list VA_LIST;
+
+#define VA_START(Marker, Parameter) __builtin_ms_va_start (Marker, Parameter)
+
+#define VA_ARG(Marker, TYPE) ((sizeof (TYPE) < sizeof (UINTN)) ? (TYPE)(__builtin_va_arg (Marker, UINTN)) : (TYPE)(__builtin_va_arg (Marker, TYPE)))
+
+#define VA_END(Marker) __builtin_ms_va_end (Marker)
+
+#define VA_COPY(Dest, Start) __builtin_ms_va_copy (Dest, Start)
+
+#else
+//
+// Use GCC built-in macros for variable argument lists.
+//
+
+///
+/// Variable used to traverse the list of arguments. This type can vary by
+/// implementation and could be an array or structure.
+///
+typedef __builtin_va_list VA_LIST;
+
+#define VA_START(Marker, Parameter) __builtin_va_start (Marker, Parameter)
+
+#define VA_ARG(Marker, TYPE) ((sizeof (TYPE) < sizeof (UINTN)) ? (TYPE)(__builtin_va_arg (Marker, UINTN)) : (TYPE)(__builtin_va_arg (Marker, TYPE)))
+
+#define VA_END(Marker) __builtin_va_end (Marker)
+
+#define VA_COPY(Dest, Start) __builtin_va_copy (Dest, Start)
+
+#endif
+
+#else
+///
+/// Variable used to traverse the list of arguments. This type can vary by
+/// implementation and could be an array or structure.
+///
+typedef CHAR8 *VA_LIST;
+
+/**
+ Retrieves a pointer to the beginning of a variable argument list, based on
+ the name of the parameter that immediately precedes the variable argument list.
+
+ This function initializes Marker to point to the beginning of the variable
+ argument list that immediately follows Parameter. The method for computing the
+ pointer to the next argument in the argument list is CPU-specific following the
+ EFIAPI ABI.
+
+ @param Marker The VA_LIST used to traverse the list of arguments.
+ @param Parameter The name of the parameter that immediately precedes
+ the variable argument list.
+
+ @return A pointer to the beginning of a variable argument list.
+
+**/
+#define VA_START(Marker, Parameter) (Marker = (VA_LIST) ((UINTN) & (Parameter) + _INT_SIZE_OF (Parameter)))
+
+/**
+ Returns an argument of a specified type from a variable argument list and updates
+ the pointer to the variable argument list to point to the next argument.
+
+ This function returns an argument of the type specified by TYPE from the beginning
+ of the variable argument list specified by Marker. Marker is then updated to point
+ to the next argument in the variable argument list. The method for computing the
+ pointer to the next argument in the argument list is CPU-specific following the EFIAPI ABI.
+
+ @param Marker VA_LIST used to traverse the list of arguments.
+ @param TYPE The type of argument to retrieve from the beginning
+ of the variable argument list.
+
+ @return An argument of the type specified by TYPE.
+
+**/
+#define VA_ARG(Marker, TYPE) (*(TYPE *) ((Marker += _INT_SIZE_OF (TYPE)) - _INT_SIZE_OF (TYPE)))
+
+/**
+ Terminates the use of a variable argument list.
+
+ This function initializes Marker so it can no longer be used with VA_ARG().
+ After this macro is used, the only way to access the variable argument list is
+ by using VA_START() again.
+
+ @param Marker VA_LIST used to traverse the list of arguments.
+
+**/
+#define VA_END(Marker) (Marker = (VA_LIST) 0)
+
+/**
+ Initializes a VA_LIST as a copy of an existing VA_LIST.
+
+ This macro initializes Dest as a copy of Start, as if the VA_START macro had been applied to Dest
+ followed by the same sequence of uses of the VA_ARG macro as had previously been used to reach
+ the present state of Start.
+
+ @param Dest VA_LIST used to traverse the list of arguments.
+ @param Start VA_LIST used to traverse the list of arguments.
+
+**/
+#define VA_COPY(Dest, Start) ((void)((Dest) = (Start)))
+
+#endif
+
+///
+/// Pointer to the start of a variable argument list stored in a memory buffer. Same as UINT8 *.
+///
+typedef UINTN *BASE_LIST;
+
+/**
+ Returns the size of a data type in sizeof(UINTN) units rounded up to the nearest UINTN boundary.
+
+ @param TYPE The date type to determine the size of.
+
+ @return The size of TYPE in sizeof (UINTN) units rounded up to the nearest UINTN boundary.
+**/
+#define _BASE_INT_SIZE_OF(TYPE) ((sizeof (TYPE) + sizeof (UINTN) - 1) / sizeof (UINTN))
+
+/**
+ Returns an argument of a specified type from a variable argument list and updates
+ the pointer to the variable argument list to point to the next argument.
+
+ This function returns an argument of the type specified by TYPE from the beginning
+ of the variable argument list specified by Marker. Marker is then updated to point
+ to the next argument in the variable argument list. The method for computing the
+ pointer to the next argument in the argument list is CPU specific following the EFIAPI ABI.
+
+ @param Marker The pointer to the beginning of a variable argument list.
+ @param TYPE The type of argument to retrieve from the beginning
+ of the variable argument list.
+
+ @return An argument of the type specified by TYPE.
+
+**/
+#define BASE_ARG(Marker, TYPE) (*(TYPE *) ((Marker += _BASE_INT_SIZE_OF (TYPE)) - _BASE_INT_SIZE_OF (TYPE)))
+
+/**
+ The macro that returns the byte offset of a field in a data structure.
+
+ This function returns the offset, in bytes, of field specified by Field from the
+ beginning of the data structure specified by TYPE. If TYPE does not contain Field,
+ the module will not compile.
+
+ @param TYPE The name of the data structure that contains the field specified by Field.
+ @param Field The name of the field in the data structure.
+
+ @return Offset, in bytes, of field.
+
+**/
+#ifdef __GNUC__
+#if __GNUC__ >= 4
+#define OFFSET_OF(TYPE, Field) ((UINTN) __builtin_offsetof(TYPE, Field))
+#endif
+#endif
+
+#ifndef OFFSET_OF
+#define OFFSET_OF(TYPE, Field) ((UINTN) &(((TYPE *)0)->Field))
+#endif
+
+/**
+ Macro that returns a pointer to the data structure that contains a specified field of
+ that data structure. This is a lightweight method to hide information by placing a
+ public data structure inside a larger private data structure and using a pointer to
+ the public data structure to retrieve a pointer to the private data structure.
+
+ This function computes the offset, in bytes, of field specified by Field from the beginning
+ of the data structure specified by TYPE. This offset is subtracted from Record, and is
+ used to return a pointer to a data structure of the type specified by TYPE. If the data type
+ specified by TYPE does not contain the field specified by Field, then the module will not compile.
+
+ @param Record Pointer to the field specified by Field within a data structure of type TYPE.
+ @param TYPE The name of the data structure type to return. This data structure must
+ contain the field specified by Field.
+ @param Field The name of the field in the data structure specified by TYPE to which Record points.
+
+ @return A pointer to the structure from one of it's elements.
+
+**/
+#define BASE_CR(Record, TYPE, Field) ((TYPE *) ((CHAR8 *) (Record) - (CHAR8 *) &(((TYPE *) 0)->Field)))
+
+/**
+ Rounds a value up to the next boundary using a specified alignment.
+
+ This function rounds Value up to the next boundary using the specified Alignment.
+ This aligned value is returned.
+
+ @param Value The value to round up.
+ @param Alignment The alignment boundary used to return the aligned value.
+
+ @return A value up to the next boundary.
+
+**/
+#define ALIGN_VALUE(Value, Alignment) ((Value) + (((Alignment) - (Value)) & ((Alignment) - 1)))
+
+/**
+ Adjust a pointer by adding the minimum offset required for it to be aligned on
+ a specified alignment boundary.
+
+ This function rounds the pointer specified by Pointer to the next alignment boundary
+ specified by Alignment. The pointer to the aligned address is returned.
+
+ @param Pointer The pointer to round up.
+ @param Alignment The alignment boundary to use to return an aligned pointer.
+
+ @return Pointer to the aligned address.
+
+**/
+#define ALIGN_POINTER(Pointer, Alignment) ((VOID *) (ALIGN_VALUE ((UINTN)(Pointer), (Alignment))))
+
+/**
+ Rounds a value up to the next natural boundary for the current CPU.
+ This is 4-bytes for 32-bit CPUs and 8-bytes for 64-bit CPUs.
+
+ This function rounds the value specified by Value up to the next natural boundary for the
+ current CPU. This rounded value is returned.
+
+ @param Value The value to round up.
+
+ @return Rounded value specified by Value.
+
+**/
+#define ALIGN_VARIABLE(Value) ALIGN_VALUE ((Value), sizeof (UINTN))
+
+
+/**
+ Return the maximum of two operands.
+
+ This macro returns the maximum of two operand specified by a and b.
+ Both a and b must be the same numerical types, signed or unsigned.
+
+ @param a The first operand with any numerical type.
+ @param b The second operand. Can be any numerical type as long as is
+ the same type as a.
+
+ @return Maximum of two operands.
+
+**/
+#define MAX(a, b) \
+ (((a) > (b)) ? (a) : (b))
+
+/**
+ Return the minimum of two operands.
+
+ This macro returns the minimal of two operand specified by a and b.
+ Both a and b must be the same numerical types, signed or unsigned.
+
+ @param a The first operand with any numerical type.
+ @param b The second operand. It should be the same any numerical type with a.
+
+ @return Minimum of two operands.
+
+**/
+#define MIN(a, b) \
+ (((a) < (b)) ? (a) : (b))
+
+/**
+ Return the absolute value of a signed operand.
+
+ This macro returns the absolute value of the signed operand specified by a.
+
+ @param a The signed operand.
+
+ @return The absolute value of the signed operand.
+
+**/
+#define ABS(a) \
+ (((a) < 0) ? (-(a)) : (a))
+
+//
+// Status codes common to all execution phases
+//
+typedef UINTN RETURN_STATUS;
+
+/**
+ Produces a RETURN_STATUS code with the highest bit set.
+
+ @param StatusCode The status code value to convert into a warning code.
+ StatusCode must be in the range 0x00000000..0x7FFFFFFF.
+
+ @return The value specified by StatusCode with the highest bit set.
+
+**/
+#define ENCODE_ERROR(StatusCode) ((RETURN_STATUS)(MAX_BIT | (StatusCode)))
+
+/**
+ Produces a RETURN_STATUS code with the highest bit clear.
+
+ @param StatusCode The status code value to convert into a warning code.
+ StatusCode must be in the range 0x00000000..0x7FFFFFFF.
+
+ @return The value specified by StatusCode with the highest bit clear.
+
+**/
+#define ENCODE_WARNING(StatusCode) ((RETURN_STATUS)(StatusCode))
+
+/**
+ Returns TRUE if a specified RETURN_STATUS code is an error code.
+
+ This function returns TRUE if StatusCode has the high bit set. Otherwise, FALSE is returned.
+
+ @param StatusCode The status code value to evaluate.
+
+ @retval TRUE The high bit of StatusCode is set.
+ @retval FALSE The high bit of StatusCode is clear.
+
+**/
+#define RETURN_ERROR(StatusCode) (((INTN)(RETURN_STATUS)(StatusCode)) < 0)
+
+///
+/// The operation completed successfully.
+///
+#define RETURN_SUCCESS 0
+
+///
+/// The image failed to load.
+///
+#define RETURN_LOAD_ERROR ENCODE_ERROR (1)
+
+///
+/// The parameter was incorrect.
+///
+#define RETURN_INVALID_PARAMETER ENCODE_ERROR (2)
+
+///
+/// The operation is not supported.
+///
+#define RETURN_UNSUPPORTED ENCODE_ERROR (3)
+
+///
+/// The buffer was not the proper size for the request.
+///
+#define RETURN_BAD_BUFFER_SIZE ENCODE_ERROR (4)
+
+///
+/// The buffer was not large enough to hold the requested data.
+/// The required buffer size is returned in the appropriate
+/// parameter when this error occurs.
+///
+#define RETURN_BUFFER_TOO_SMALL ENCODE_ERROR (5)
+
+///
+/// There is no data pending upon return.
+///
+#define RETURN_NOT_READY ENCODE_ERROR (6)
+
+///
+/// The physical device reported an error while attempting the
+/// operation.
+///
+#define RETURN_DEVICE_ERROR ENCODE_ERROR (7)
+
+///
+/// The device can not be written to.
+///
+#define RETURN_WRITE_PROTECTED ENCODE_ERROR (8)
+
+///
+/// The resource has run out.
+///
+#define RETURN_OUT_OF_RESOURCES ENCODE_ERROR (9)
+
+///
+/// An inconsistency was detected on the file system causing the
+/// operation to fail.
+///
+#define RETURN_VOLUME_CORRUPTED ENCODE_ERROR (10)
+
+///
+/// There is no more space on the file system.
+///
+#define RETURN_VOLUME_FULL ENCODE_ERROR (11)
+
+///
+/// The device does not contain any medium to perform the
+/// operation.
+///
+#define RETURN_NO_MEDIA ENCODE_ERROR (12)
+
+///
+/// The medium in the device has changed since the last
+/// access.
+///
+#define RETURN_MEDIA_CHANGED ENCODE_ERROR (13)
+
+///
+/// The item was not found.
+///
+#define RETURN_NOT_FOUND ENCODE_ERROR (14)
+
+///
+/// Access was denied.
+///
+#define RETURN_ACCESS_DENIED ENCODE_ERROR (15)
+
+///
+/// The server was not found or did not respond to the request.
+///
+#define RETURN_NO_RESPONSE ENCODE_ERROR (16)
+
+///
+/// A mapping to the device does not exist.
+///
+#define RETURN_NO_MAPPING ENCODE_ERROR (17)
+
+///
+/// A timeout time expired.
+///
+#define RETURN_TIMEOUT ENCODE_ERROR (18)
+
+///
+/// The protocol has not been started.
+///
+#define RETURN_NOT_STARTED ENCODE_ERROR (19)
+
+///
+/// The protocol has already been started.
+///
+#define RETURN_ALREADY_STARTED ENCODE_ERROR (20)
+
+///
+/// The operation was aborted.
+///
+#define RETURN_ABORTED ENCODE_ERROR (21)
+
+///
+/// An ICMP error occurred during the network operation.
+///
+#define RETURN_ICMP_ERROR ENCODE_ERROR (22)
+
+///
+/// A TFTP error occurred during the network operation.
+///
+#define RETURN_TFTP_ERROR ENCODE_ERROR (23)
+
+///
+/// A protocol error occurred during the network operation.
+///
+#define RETURN_PROTOCOL_ERROR ENCODE_ERROR (24)
+
+///
+/// A function encountered an internal version that was
+/// incompatible with a version requested by the caller.
+///
+#define RETURN_INCOMPATIBLE_VERSION ENCODE_ERROR (25)
+
+///
+/// The function was not performed due to a security violation.
+///
+#define RETURN_SECURITY_VIOLATION ENCODE_ERROR (26)
+
+///
+/// A CRC error was detected.
+///
+#define RETURN_CRC_ERROR ENCODE_ERROR (27)
+
+///
+/// The beginning or end of media was reached.
+///
+#define RETURN_END_OF_MEDIA ENCODE_ERROR (28)
+
+///
+/// The end of the file was reached.
+///
+#define RETURN_END_OF_FILE ENCODE_ERROR (31)
+
+///
+/// The language specified was invalid.
+///
+#define RETURN_INVALID_LANGUAGE ENCODE_ERROR (32)
+
+///
+/// The security status of the data is unknown or compromised
+/// and the data must be updated or replaced to restore a valid
+/// security status.
+///
+#define RETURN_COMPROMISED_DATA ENCODE_ERROR (33)
+
+///
+/// A HTTP error occurred during the network operation.
+///
+#define RETURN_HTTP_ERROR ENCODE_ERROR (35)
+
+///
+/// The string contained one or more characters that
+/// the device could not render and were skipped.
+///
+#define RETURN_WARN_UNKNOWN_GLYPH ENCODE_WARNING (1)
+
+///
+/// The handle was closed, but the file was not deleted.
+///
+#define RETURN_WARN_DELETE_FAILURE ENCODE_WARNING (2)
+
+///
+/// The handle was closed, but the data to the file was not
+/// flushed properly.
+///
+#define RETURN_WARN_WRITE_FAILURE ENCODE_WARNING (3)
+
+///
+/// The resulting buffer was too small, and the data was
+/// truncated to the buffer size.
+///
+#define RETURN_WARN_BUFFER_TOO_SMALL ENCODE_WARNING (4)
+
+///
+/// The data has not been updated within the timeframe set by
+/// local policy for this type of data.
+///
+#define RETURN_WARN_STALE_DATA ENCODE_WARNING (5)
+
+///
+/// The resulting buffer contains UEFI-compliant file system.
+///
+#define RETURN_WARN_FILE_SYSTEM ENCODE_WARNING (6)
+
+
+/**
+ Returns a 16-bit signature built from 2 ASCII characters.
+
+ This macro returns a 16-bit value built from the two ASCII characters specified
+ by A and B.
+
+ @param A The first ASCII character.
+ @param B The second ASCII character.
+
+ @return A 16-bit value built from the two ASCII characters specified by A and B.
+
+**/
+#define SIGNATURE_16(A, B) ((A) | (B << 8))
+
+/**
+ Returns a 32-bit signature built from 4 ASCII characters.
+
+ This macro returns a 32-bit value built from the four ASCII characters specified
+ by A, B, C, and D.
+
+ @param A The first ASCII character.
+ @param B The second ASCII character.
+ @param C The third ASCII character.
+ @param D The fourth ASCII character.
+
+ @return A 32-bit value built from the two ASCII characters specified by A, B,
+ C and D.
+
+**/
+#define SIGNATURE_32(A, B, C, D) (SIGNATURE_16 (A, B) | (SIGNATURE_16 (C, D) << 16))
+
+/**
+ Returns a 64-bit signature built from 8 ASCII characters.
+
+ This macro returns a 64-bit value built from the eight ASCII characters specified
+ by A, B, C, D, E, F, G,and H.
+
+ @param A The first ASCII character.
+ @param B The second ASCII character.
+ @param C The third ASCII character.
+ @param D The fourth ASCII character.
+ @param E The fifth ASCII character.
+ @param F The sixth ASCII character.
+ @param G The seventh ASCII character.
+ @param H The eighth ASCII character.
+
+ @return A 64-bit value built from the two ASCII characters specified by A, B,
+ C, D, E, F, G and H.
+
+**/
+#define SIGNATURE_64(A, B, C, D, E, F, G, H) \
+ (SIGNATURE_32 (A, B, C, D) | ((UINT64) (SIGNATURE_32 (E, F, G, H)) << 32))
+
+#if defined(_MSC_EXTENSIONS) && !defined (__INTEL_COMPILER) && !defined (MDE_CPU_EBC)
+ #pragma intrinsic(_ReturnAddress)
+ /**
+ Get the return address of the calling function.
+
+ Based on intrinsic function _ReturnAddress that provides the address of
+ the instruction in the calling function that will be executed after
+ control returns to the caller.
+
+ @param L Return Level.
+
+ @return The return address of the calling function or 0 if L != 0.
+
+ **/
+ #define RETURN_ADDRESS(L) ((L == 0) ? _ReturnAddress() : (VOID *) 0)
+#elif defined(__GNUC__)
+ void * __builtin_return_address (unsigned int level);
+ /**
+ Get the return address of the calling function.
+
+ Based on built-in Function __builtin_return_address that returns
+ the return address of the current function, or of one of its callers.
+
+ @param L Return Level.
+
+ @return The return address of the calling function.
+
+ **/
+ #define RETURN_ADDRESS(L) __builtin_return_address (L)
+#else
+ /**
+ Get the return address of the calling function.
+
+ @param L Return Level.
+
+ @return 0 as compilers don't support this feature.
+
+ **/
+ #define RETURN_ADDRESS(L) ((VOID *) 0)
+#endif
+
+/**
+ Return the number of elements in an array.
+
+ @param Array An object of array type. Array is only used as an argument to
+ the sizeof operator, therefore Array is never evaluated. The
+ caller is responsible for ensuring that Array's type is not
+ incomplete; that is, Array must have known constant size.
+
+ @return The number of elements in Array. The result has type UINTN.
+
+**/
+#define ARRAY_SIZE(Array) (sizeof (Array) / sizeof ((Array)[0]))
+
+#endif
+
diff --git a/sys/contrib/edk2/Include/Guid/HiiFormMapMethodGuid.h b/sys/contrib/edk2/Include/Guid/HiiFormMapMethodGuid.h
new file mode 100644
index 0000000..8b37807
--- /dev/null
+++ b/sys/contrib/edk2/Include/Guid/HiiFormMapMethodGuid.h
@@ -0,0 +1,25 @@
+/** @file
+ Guid used to identify HII FormMap configuration method.
+
+ Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ @par Revision Reference:
+ GUID defined in UEFI 2.2 spec.
+**/
+
+#ifndef __EFI_HII_FORMMAP_GUID_H__
+#define __EFI_HII_FORMMAP_GUID_H__
+
+#define EFI_HII_STANDARD_FORM_GUID \
+ { 0x3bd2f4ec, 0xe524, 0x46e4, { 0xa9, 0xd8, 0x51, 0x1, 0x17, 0x42, 0x55, 0x62 } }
+
+extern EFI_GUID gEfiHiiStandardFormGuid;
+
+#endif
diff --git a/sys/contrib/edk2/Include/Guid/PcAnsi.h b/sys/contrib/edk2/Include/Guid/PcAnsi.h
new file mode 100644
index 0000000..7ff878d
--- /dev/null
+++ b/sys/contrib/edk2/Include/Guid/PcAnsi.h
@@ -0,0 +1,58 @@
+/** @file
+ Terminal Device Path Vendor Guid.
+
+ Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ @par Revision Reference:
+ GUIDs defined in UEFI 2.0 spec.
+
+**/
+
+#ifndef __PC_ANSI_H__
+#define __PC_ANSI_H__
+
+#define EFI_PC_ANSI_GUID \
+ { \
+ 0xe0c14753, 0xf9be, 0x11d2, {0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
+ }
+
+#define EFI_VT_100_GUID \
+ { \
+ 0xdfa66065, 0xb419, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
+ }
+
+#define EFI_VT_100_PLUS_GUID \
+ { \
+ 0x7baec70b, 0x57e0, 0x4c76, {0x8e, 0x87, 0x2f, 0x9e, 0x28, 0x08, 0x83, 0x43 } \
+ }
+
+#define EFI_VT_UTF8_GUID \
+ { \
+ 0xad15a0d6, 0x8bec, 0x4acf, {0xa0, 0x73, 0xd0, 0x1d, 0xe7, 0x7e, 0x2d, 0x88 } \
+ }
+
+#define DEVICE_PATH_MESSAGING_UART_FLOW_CONTROL \
+ { \
+ 0x37499a9d, 0x542f, 0x4c89, {0xa0, 0x26, 0x35, 0xda, 0x14, 0x20, 0x94, 0xe4 } \
+ }
+
+#define EFI_SAS_DEVICE_PATH_GUID \
+ { \
+ 0xd487ddb4, 0x008b, 0x11d9, {0xaf, 0xdc, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d } \
+ }
+
+extern EFI_GUID gEfiPcAnsiGuid;
+extern EFI_GUID gEfiVT100Guid;
+extern EFI_GUID gEfiVT100PlusGuid;
+extern EFI_GUID gEfiVTUTF8Guid;
+extern EFI_GUID gEfiUartDevicePathGuid;
+extern EFI_GUID gEfiSasDevicePathGuid;
+
+#endif
diff --git a/sys/contrib/edk2/Include/Guid/WinCertificate.h b/sys/contrib/edk2/Include/Guid/WinCertificate.h
new file mode 100644
index 0000000..6dea446
--- /dev/null
+++ b/sys/contrib/edk2/Include/Guid/WinCertificate.h
@@ -0,0 +1,128 @@
+/** @file
+ GUID for UEFI WIN_CERTIFICATE structure.
+
+ Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ @par Revision Reference:
+ GUID defined in UEFI 2.0 spec.
+**/
+
+#ifndef __EFI_WIN_CERTIFICATE_H__
+#define __EFI_WIN_CERTIFICATE_H__
+
+//
+// _WIN_CERTIFICATE.wCertificateType
+//
+#define WIN_CERT_TYPE_PKCS_SIGNED_DATA 0x0002
+#define WIN_CERT_TYPE_EFI_PKCS115 0x0EF0
+#define WIN_CERT_TYPE_EFI_GUID 0x0EF1
+
+///
+/// The WIN_CERTIFICATE structure is part of the PE/COFF specification.
+///
+typedef struct {
+ ///
+ /// The length of the entire certificate,
+ /// including the length of the header, in bytes.
+ ///
+ UINT32 dwLength;
+ ///
+ /// The revision level of the WIN_CERTIFICATE
+ /// structure. The current revision level is 0x0200.
+ ///
+ UINT16 wRevision;
+ ///
+ /// The certificate type. See WIN_CERT_TYPE_xxx for the UEFI
+ /// certificate types. The UEFI specification reserves the range of
+ /// certificate type values from 0x0EF0 to 0x0EFF.
+ ///
+ UINT16 wCertificateType;
+ ///
+ /// The following is the actual certificate. The format of
+ /// the certificate depends on wCertificateType.
+ ///
+ /// UINT8 bCertificate[ANYSIZE_ARRAY];
+ ///
+} WIN_CERTIFICATE;
+
+///
+/// WIN_CERTIFICATE_UEFI_GUID.CertType
+///
+#define EFI_CERT_TYPE_RSA2048_SHA256_GUID \
+ {0xa7717414, 0xc616, 0x4977, {0x94, 0x20, 0x84, 0x47, 0x12, 0xa7, 0x35, 0xbf } }
+
+///
+/// WIN_CERTIFICATE_UEFI_GUID.CertData
+///
+typedef struct {
+ EFI_GUID HashType;
+ UINT8 PublicKey[256];
+ UINT8 Signature[256];
+} EFI_CERT_BLOCK_RSA_2048_SHA256;
+
+
+///
+/// Certificate which encapsulates a GUID-specific digital signature
+///
+typedef struct {
+ ///
+ /// This is the standard WIN_CERTIFICATE header, where
+ /// wCertificateType is set to WIN_CERT_TYPE_EFI_GUID.
+ ///
+ WIN_CERTIFICATE Hdr;
+ ///
+ /// This is the unique id which determines the
+ /// format of the CertData. .
+ ///
+ EFI_GUID CertType;
+ ///
+ /// The following is the certificate data. The format of
+ /// the data is determined by the CertType.
+ /// If CertType is EFI_CERT_TYPE_RSA2048_SHA256_GUID,
+ /// the CertData will be EFI_CERT_BLOCK_RSA_2048_SHA256 structure.
+ ///
+ UINT8 CertData[1];
+} WIN_CERTIFICATE_UEFI_GUID;
+
+
+///
+/// Certificate which encapsulates the RSASSA_PKCS1-v1_5 digital signature.
+///
+/// The WIN_CERTIFICATE_UEFI_PKCS1_15 structure is derived from
+/// WIN_CERTIFICATE and encapsulate the information needed to
+/// implement the RSASSA-PKCS1-v1_5 digital signature algorithm as
+/// specified in RFC2437.
+///
+typedef struct {
+ ///
+ /// This is the standard WIN_CERTIFICATE header, where
+ /// wCertificateType is set to WIN_CERT_TYPE_UEFI_PKCS1_15.
+ ///
+ WIN_CERTIFICATE Hdr;
+ ///
+ /// This is the hashing algorithm which was performed on the
+ /// UEFI executable when creating the digital signature.
+ ///
+ EFI_GUID HashAlgorithm;
+ ///
+ /// The following is the actual digital signature. The
+ /// size of the signature is the same size as the key
+ /// (1024-bit key is 128 bytes) and can be determined by
+ /// subtracting the length of the other parts of this header
+ /// from the total length of the certificate as found in
+ /// Hdr.dwLength.
+ ///
+ /// UINT8 Signature[];
+ ///
+} WIN_CERTIFICATE_EFI_PKCS1_15;
+
+extern EFI_GUID gEfiCertTypeRsa2048Sha256Guid;
+
+#endif
diff --git a/sys/contrib/edk2/Include/IndustryStandard/Acpi10.h b/sys/contrib/edk2/Include/IndustryStandard/Acpi10.h
new file mode 100644
index 0000000..5a17db6
--- /dev/null
+++ b/sys/contrib/edk2/Include/IndustryStandard/Acpi10.h
@@ -0,0 +1,661 @@
+/** @file
+ ACPI 1.0b definitions from the ACPI Specification, revision 1.0b
+
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+**/
+
+#ifndef _ACPI_1_0_H_
+#define _ACPI_1_0_H_
+
+#include <IndustryStandard/AcpiAml.h>
+
+///
+/// Common table header, this prefaces all ACPI tables, including FACS, but
+/// excluding the RSD PTR structure.
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+} EFI_ACPI_COMMON_HEADER;
+
+#pragma pack(1)
+///
+/// The common ACPI description table header. This structure prefaces most ACPI tables.
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+ UINT8 Revision;
+ UINT8 Checksum;
+ UINT8 OemId[6];
+ UINT64 OemTableId;
+ UINT32 OemRevision;
+ UINT32 CreatorId;
+ UINT32 CreatorRevision;
+} EFI_ACPI_DESCRIPTION_HEADER;
+#pragma pack()
+
+//
+// Define for Desriptor
+//
+#define ACPI_SMALL_ITEM_FLAG 0x00
+#define ACPI_LARGE_ITEM_FLAG 0x01
+
+//
+// Small Item Descriptor Name
+//
+#define ACPI_SMALL_IRQ_DESCRIPTOR_NAME 0x04
+#define ACPI_SMALL_DMA_DESCRIPTOR_NAME 0x05
+#define ACPI_SMALL_START_DEPENDENT_DESCRIPTOR_NAME 0x06
+#define ACPI_SMALL_END_DEPENDENT_DESCRIPTOR_NAME 0x07
+#define ACPI_SMALL_IO_PORT_DESCRIPTOR_NAME 0x08
+#define ACPI_SMALL_FIXED_IO_PORT_DESCRIPTOR_NAME 0x09
+#define ACPI_SMALL_VENDOR_DEFINED_DESCRIPTOR_NAME 0x0E
+#define ACPI_SMALL_END_TAG_DESCRIPTOR_NAME 0x0F
+
+//
+// Large Item Descriptor Name
+//
+#define ACPI_LARGE_24_BIT_MEMORY_RANGE_DESCRIPTOR_NAME 0x01
+#define ACPI_LARGE_VENDOR_DEFINED_DESCRIPTOR_NAME 0x04
+#define ACPI_LARGE_32_BIT_MEMORY_RANGE_DESCRIPTOR_NAME 0x05
+#define ACPI_LARGE_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR_NAME 0x06
+#define ACPI_LARGE_DWORD_ADDRESS_SPACE_DESCRIPTOR_NAME 0x07
+#define ACPI_LARGE_WORD_ADDRESS_SPACE_DESCRIPTOR_NAME 0x08
+#define ACPI_LARGE_EXTENDED_IRQ_DESCRIPTOR_NAME 0x09
+#define ACPI_LARGE_QWORD_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0A
+
+//
+// Small Item Descriptor Value
+//
+#define ACPI_IRQ_NOFLAG_DESCRIPTOR 0x22
+#define ACPI_IRQ_DESCRIPTOR 0x23
+#define ACPI_DMA_DESCRIPTOR 0x2A
+#define ACPI_START_DEPENDENT_DESCRIPTOR 0x30
+#define ACPI_START_DEPENDENT_EX_DESCRIPTOR 0x31
+#define ACPI_END_DEPENDENT_DESCRIPTOR 0x38
+#define ACPI_IO_PORT_DESCRIPTOR 0x47
+#define ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR 0x4B
+#define ACPI_END_TAG_DESCRIPTOR 0x79
+
+//
+// Large Item Descriptor Value
+//
+#define ACPI_24_BIT_MEMORY_RANGE_DESCRIPTOR 0x81
+#define ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR 0x85
+#define ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR 0x86
+#define ACPI_DWORD_ADDRESS_SPACE_DESCRIPTOR 0x87
+#define ACPI_WORD_ADDRESS_SPACE_DESCRIPTOR 0x88
+#define ACPI_EXTENDED_INTERRUPT_DESCRIPTOR 0x89
+#define ACPI_QWORD_ADDRESS_SPACE_DESCRIPTOR 0x8A
+#define ACPI_ADDRESS_SPACE_DESCRIPTOR 0x8A
+
+//
+// Resource Type
+//
+#define ACPI_ADDRESS_SPACE_TYPE_MEM 0x00
+#define ACPI_ADDRESS_SPACE_TYPE_IO 0x01
+#define ACPI_ADDRESS_SPACE_TYPE_BUS 0x02
+
+///
+/// Power Management Timer frequency is fixed at 3.579545MHz.
+///
+#define ACPI_TIMER_FREQUENCY 3579545
+
+//
+// Ensure proper structure formats
+//
+#pragma pack(1)
+
+///
+/// The commond definition of QWORD, DWORD, and WORD
+/// Address Space Descriptors.
+///
+typedef PACKED struct {
+ UINT8 Desc;
+ UINT16 Len;
+ UINT8 ResType;
+ UINT8 GenFlag;
+ UINT8 SpecificFlag;
+ UINT64 AddrSpaceGranularity;
+ UINT64 AddrRangeMin;
+ UINT64 AddrRangeMax;
+ UINT64 AddrTranslationOffset;
+ UINT64 AddrLen;
+} EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR;
+
+typedef PACKED union {
+ UINT8 Byte;
+ PACKED struct {
+ UINT8 Length : 3;
+ UINT8 Name : 4;
+ UINT8 Type : 1;
+ } Bits;
+} ACPI_SMALL_RESOURCE_HEADER;
+
+typedef PACKED struct {
+ PACKED union {
+ UINT8 Byte;
+ PACKED struct {
+ UINT8 Name : 7;
+ UINT8 Type : 1;
+ }Bits;
+ } Header;
+ UINT16 Length;
+} ACPI_LARGE_RESOURCE_HEADER;
+
+///
+/// IRQ Descriptor.
+///
+typedef PACKED struct {
+ ACPI_SMALL_RESOURCE_HEADER Header;
+ UINT16 Mask;
+} EFI_ACPI_IRQ_NOFLAG_DESCRIPTOR;
+
+///
+/// IRQ Descriptor.
+///
+typedef PACKED struct {
+ ACPI_SMALL_RESOURCE_HEADER Header;
+ UINT16 Mask;
+ UINT8 Information;
+} EFI_ACPI_IRQ_DESCRIPTOR;
+
+///
+/// DMA Descriptor.
+///
+typedef PACKED struct {
+ ACPI_SMALL_RESOURCE_HEADER Header;
+ UINT8 ChannelMask;
+ UINT8 Information;
+} EFI_ACPI_DMA_DESCRIPTOR;
+
+///
+/// I/O Port Descriptor
+///
+typedef PACKED struct {
+ ACPI_SMALL_RESOURCE_HEADER Header;
+ UINT8 Information;
+ UINT16 BaseAddressMin;
+ UINT16 BaseAddressMax;
+ UINT8 Alignment;
+ UINT8 Length;
+} EFI_ACPI_IO_PORT_DESCRIPTOR;
+
+///
+/// Fixed Location I/O Port Descriptor.
+///
+typedef PACKED struct {
+ ACPI_SMALL_RESOURCE_HEADER Header;
+ UINT16 BaseAddress;
+ UINT8 Length;
+} EFI_ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR;
+
+///
+/// 24-Bit Memory Range Descriptor
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 Information;
+ UINT16 BaseAddressMin;
+ UINT16 BaseAddressMax;
+ UINT16 Alignment;
+ UINT16 Length;
+} EFI_ACPI_24_BIT_MEMORY_RANGE_DESCRIPTOR;
+
+///
+/// 32-Bit Memory Range Descriptor
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 Information;
+ UINT32 BaseAddressMin;
+ UINT32 BaseAddressMax;
+ UINT32 Alignment;
+ UINT32 Length;
+} EFI_ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR;
+
+///
+/// Fixed 32-Bit Fixed Memory Range Descriptor
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 Information;
+ UINT32 BaseAddress;
+ UINT32 Length;
+} EFI_ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR;
+
+///
+/// QWORD Address Space Descriptor
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 ResType;
+ UINT8 GenFlag;
+ UINT8 SpecificFlag;
+ UINT64 AddrSpaceGranularity;
+ UINT64 AddrRangeMin;
+ UINT64 AddrRangeMax;
+ UINT64 AddrTranslationOffset;
+ UINT64 AddrLen;
+} EFI_ACPI_QWORD_ADDRESS_SPACE_DESCRIPTOR;
+
+///
+/// DWORD Address Space Descriptor
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 ResType;
+ UINT8 GenFlag;
+ UINT8 SpecificFlag;
+ UINT32 AddrSpaceGranularity;
+ UINT32 AddrRangeMin;
+ UINT32 AddrRangeMax;
+ UINT32 AddrTranslationOffset;
+ UINT32 AddrLen;
+} EFI_ACPI_DWORD_ADDRESS_SPACE_DESCRIPTOR;
+
+///
+/// WORD Address Space Descriptor
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 ResType;
+ UINT8 GenFlag;
+ UINT8 SpecificFlag;
+ UINT16 AddrSpaceGranularity;
+ UINT16 AddrRangeMin;
+ UINT16 AddrRangeMax;
+ UINT16 AddrTranslationOffset;
+ UINT16 AddrLen;
+} EFI_ACPI_WORD_ADDRESS_SPACE_DESCRIPTOR;
+
+///
+/// Extended Interrupt Descriptor
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 InterruptVectorFlags;
+ UINT8 InterruptTableLength;
+ UINT32 InterruptNumber[1];
+} EFI_ACPI_EXTENDED_INTERRUPT_DESCRIPTOR;
+
+#pragma pack()
+
+///
+/// The End tag identifies an end of resource data.
+///
+typedef struct {
+ UINT8 Desc;
+ UINT8 Checksum;
+} EFI_ACPI_END_TAG_DESCRIPTOR;
+
+//
+// General use definitions
+//
+#define EFI_ACPI_RESERVED_BYTE 0x00
+#define EFI_ACPI_RESERVED_WORD 0x0000
+#define EFI_ACPI_RESERVED_DWORD 0x00000000
+#define EFI_ACPI_RESERVED_QWORD 0x0000000000000000
+
+//
+// Resource Type Specific Flags
+// Ref ACPI specification 6.4.3.5.5
+//
+// Bit [0] : Write Status, _RW
+//
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_WRITE (1 << 0)
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_ONLY (0 << 0)
+//
+// Bit [2:1] : Memory Attributes, _MEM
+//
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_NON_CACHEABLE (0 << 1)
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE (1 << 1)
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_WRITE_COMBINING (2 << 1)
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE (3 << 1)
+//
+// Bit [4:3] : Memory Attributes, _MTP
+//
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_MEMORY (0 << 3)
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_RESERVED (1 << 3)
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_ACPI (2 << 3)
+#define EFI_APCI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_NVS (3 << 3)
+//
+// Bit [5] : Memory to I/O Translation, _TTP
+//
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_TRANSLATION (1 << 5)
+#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_STATIC (0 << 5)
+
+//
+// IRQ Information
+// Ref ACPI specification 6.4.2.1
+//
+#define EFI_ACPI_IRQ_SHARABLE_MASK 0x10
+#define EFI_ACPI_IRQ_SHARABLE 0x10
+
+#define EFI_ACPI_IRQ_POLARITY_MASK 0x08
+#define EFI_ACPI_IRQ_HIGH_TRUE 0x00
+#define EFI_ACPI_IRQ_LOW_FALSE 0x08
+
+#define EFI_ACPI_IRQ_MODE 0x01
+#define EFI_ACPI_IRQ_LEVEL_TRIGGERED 0x00
+#define EFI_ACPI_IRQ_EDGE_TRIGGERED 0x01
+
+//
+// DMA Information
+// Ref ACPI specification 6.4.2.2
+//
+#define EFI_ACPI_DMA_SPEED_TYPE_MASK 0x60
+#define EFI_ACPI_DMA_SPEED_TYPE_COMPATIBILITY 0x00
+#define EFI_ACPI_DMA_SPEED_TYPE_A 0x20
+#define EFI_ACPI_DMA_SPEED_TYPE_B 0x40
+#define EFI_ACPI_DMA_SPEED_TYPE_F 0x60
+
+#define EFI_ACPI_DMA_BUS_MASTER_MASK 0x04
+#define EFI_ACPI_DMA_BUS_MASTER 0x04
+
+#define EFI_ACPI_DMA_TRANSFER_TYPE_MASK 0x03
+#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT 0x00
+#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT 0x01
+#define EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x10
+
+//
+// IO Information
+// Ref ACPI specification 6.4.2.5
+//
+#define EFI_ACPI_IO_DECODE_MASK 0x01
+#define EFI_ACPI_IO_DECODE_16_BIT 0x01
+#define EFI_ACPI_IO_DECODE_10_BIT 0x00
+
+//
+// Memory Information
+// Ref ACPI specification 6.4.3.4
+//
+#define EFI_ACPI_MEMORY_WRITE_STATUS_MASK 0x01
+#define EFI_ACPI_MEMORY_WRITABLE 0x01
+#define EFI_ACPI_MEMORY_NON_WRITABLE 0x00
+
+//
+// Ensure proper structure formats
+//
+#pragma pack(1)
+//
+// ACPI 1.0b table structures
+//
+
+///
+/// Root System Description Pointer Structure.
+///
+typedef struct {
+ UINT64 Signature;
+ UINT8 Checksum;
+ UINT8 OemId[6];
+ UINT8 Reserved;
+ UINT32 RsdtAddress;
+} EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER;
+
+//
+// Root System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
+//
+
+///
+/// RSDT Revision (as defined in ACPI 1.0b specification).
+///
+#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Fixed ACPI Description Table Structure (FADT).
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 FirmwareCtrl;
+ UINT32 Dsdt;
+ UINT8 IntModel;
+ UINT8 Reserved1;
+ UINT16 SciInt;
+ UINT32 SmiCmd;
+ UINT8 AcpiEnable;
+ UINT8 AcpiDisable;
+ UINT8 S4BiosReq;
+ UINT8 Reserved2;
+ UINT32 Pm1aEvtBlk;
+ UINT32 Pm1bEvtBlk;
+ UINT32 Pm1aCntBlk;
+ UINT32 Pm1bCntBlk;
+ UINT32 Pm2CntBlk;
+ UINT32 PmTmrBlk;
+ UINT32 Gpe0Blk;
+ UINT32 Gpe1Blk;
+ UINT8 Pm1EvtLen;
+ UINT8 Pm1CntLen;
+ UINT8 Pm2CntLen;
+ UINT8 PmTmLen;
+ UINT8 Gpe0BlkLen;
+ UINT8 Gpe1BlkLen;
+ UINT8 Gpe1Base;
+ UINT8 Reserved3;
+ UINT16 PLvl2Lat;
+ UINT16 PLvl3Lat;
+ UINT16 FlushSize;
+ UINT16 FlushStride;
+ UINT8 DutyOffset;
+ UINT8 DutyWidth;
+ UINT8 DayAlrm;
+ UINT8 MonAlrm;
+ UINT8 Century;
+ UINT8 Reserved4;
+ UINT8 Reserved5;
+ UINT8 Reserved6;
+ UINT32 Flags;
+} EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE;
+
+///
+/// FADT Version (as defined in ACPI 1.0b specification).
+///
+#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x01
+
+#define EFI_ACPI_1_0_INT_MODE_DUAL_PIC 0
+#define EFI_ACPI_1_0_INT_MODE_MULTIPLE_APIC 1
+
+//
+// Fixed ACPI Description Table Fixed Feature Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_1_0_WBINVD BIT0
+#define EFI_ACPI_1_0_WBINVD_FLUSH BIT1
+#define EFI_ACPI_1_0_PROC_C1 BIT2
+#define EFI_ACPI_1_0_P_LVL2_UP BIT3
+#define EFI_ACPI_1_0_PWR_BUTTON BIT4
+#define EFI_ACPI_1_0_SLP_BUTTON BIT5
+#define EFI_ACPI_1_0_FIX_RTC BIT6
+#define EFI_ACPI_1_0_RTC_S4 BIT7
+#define EFI_ACPI_1_0_TMR_VAL_EXT BIT8
+#define EFI_ACPI_1_0_DCK_CAP BIT9
+
+///
+/// Firmware ACPI Control Structure.
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+ UINT32 HardwareSignature;
+ UINT32 FirmwareWakingVector;
+ UINT32 GlobalLock;
+ UINT32 Flags;
+ UINT8 Reserved[40];
+} EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
+
+///
+/// Firmware Control Structure Feature Flags.
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_1_0_S4BIOS_F BIT0
+
+///
+/// Multiple APIC Description Table header definition. The rest of the table
+/// must be defined in a platform-specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 LocalApicAddress;
+ UINT32 Flags;
+} EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
+
+///
+/// MADT Revision (as defined in ACPI 1.0b specification).
+///
+#define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Multiple APIC Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_1_0_PCAT_COMPAT BIT0
+
+//
+// Multiple APIC Description Table APIC structure types
+// All other values between 0x05 an 0xFF are reserved and
+// will be ignored by OSPM.
+//
+#define EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC 0x00
+#define EFI_ACPI_1_0_IO_APIC 0x01
+#define EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE 0x02
+#define EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
+#define EFI_ACPI_1_0_LOCAL_APIC_NMI 0x04
+
+//
+// APIC Structure Definitions
+//
+
+///
+/// Processor Local APIC Structure Definition.
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 ApicId;
+ UINT32 Flags;
+} EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
+
+///
+/// Local APIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_1_0_LOCAL_APIC_ENABLED BIT0
+
+///
+/// IO APIC Structure.
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 IoApicAddress;
+ UINT32 SystemVectorBase;
+} EFI_ACPI_1_0_IO_APIC_STRUCTURE;
+
+///
+/// Interrupt Source Override Structure.
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Bus;
+ UINT8 Source;
+ UINT32 GlobalSystemInterruptVector;
+ UINT16 Flags;
+} EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
+
+///
+/// Non-Maskable Interrupt Source Structure.
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 GlobalSystemInterruptVector;
+} EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
+
+///
+/// Local APIC NMI Structure.
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT16 Flags;
+ UINT8 LocalApicInti;
+} EFI_ACPI_1_0_LOCAL_APIC_NMI_STRUCTURE;
+
+///
+/// Smart Battery Description Table (SBST)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 WarningEnergyLevel;
+ UINT32 LowEnergyLevel;
+ UINT32 CriticalEnergyLevel;
+} EFI_ACPI_1_0_SMART_BATTERY_DESCRIPTION_TABLE;
+
+//
+// Known table signatures
+//
+
+///
+/// "RSD PTR " Root System Description Pointer.
+///
+#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
+
+///
+/// "APIC" Multiple APIC Description Table.
+///
+#define EFI_ACPI_1_0_APIC_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
+
+///
+/// "DSDT" Differentiated System Description Table.
+///
+#define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
+
+///
+/// "FACS" Firmware ACPI Control Structure.
+///
+#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
+
+///
+/// "FACP" Fixed ACPI Description Table.
+///
+#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
+
+///
+/// "PSDT" Persistent System Description Table.
+///
+#define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
+
+///
+/// "RSDT" Root System Description Table.
+///
+#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
+
+///
+/// "SBST" Smart Battery Specification Table.
+///
+#define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
+
+///
+/// "SSDT" Secondary System Description Table.
+///
+#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
+
+#pragma pack()
+
+#endif
diff --git a/sys/contrib/edk2/Include/IndustryStandard/Acpi20.h b/sys/contrib/edk2/Include/IndustryStandard/Acpi20.h
new file mode 100644
index 0000000..d84b7db
--- /dev/null
+++ b/sys/contrib/edk2/Include/IndustryStandard/Acpi20.h
@@ -0,0 +1,545 @@
+/** @file
+ ACPI 2.0 definitions from the ACPI Specification, revision 2.0
+
+ Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+**/
+
+#ifndef _ACPI_2_0_H_
+#define _ACPI_2_0_H_
+
+#include <IndustryStandard/Acpi10.h>
+
+//
+// Define for Desriptor
+//
+#define ACPI_LARGE_GENERIC_REGISTER_DESCRIPTOR_NAME 0x02
+
+#define ACPI_GENERIC_REGISTER_DESCRIPTOR 0x82
+
+//
+// Ensure proper structure formats
+//
+#pragma pack(1)
+
+///
+/// Generic Register Descriptor
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 AddressSpaceId;
+ UINT8 RegisterBitWidth;
+ UINT8 RegisterBitOffset;
+ UINT8 AddressSize;
+ UINT64 RegisterAddress;
+} EFI_ACPI_GENERIC_REGISTER_DESCRIPTOR;
+
+#pragma pack()
+
+//
+// Ensure proper structure formats
+//
+#pragma pack(1)
+
+///
+/// ACPI 2.0 Generic Address Space definition
+///
+typedef struct {
+ UINT8 AddressSpaceId;
+ UINT8 RegisterBitWidth;
+ UINT8 RegisterBitOffset;
+ UINT8 Reserved;
+ UINT64 Address;
+} EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE;
+
+//
+// Generic Address Space Address IDs
+//
+#define EFI_ACPI_2_0_SYSTEM_MEMORY 0
+#define EFI_ACPI_2_0_SYSTEM_IO 1
+#define EFI_ACPI_2_0_PCI_CONFIGURATION_SPACE 2
+#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER 3
+#define EFI_ACPI_2_0_SMBUS 4
+#define EFI_ACPI_2_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
+
+//
+// ACPI 2.0 table structures
+//
+
+///
+/// Root System Description Pointer Structure
+///
+typedef struct {
+ UINT64 Signature;
+ UINT8 Checksum;
+ UINT8 OemId[6];
+ UINT8 Revision;
+ UINT32 RsdtAddress;
+ UINT32 Length;
+ UINT64 XsdtAddress;
+ UINT8 ExtendedChecksum;
+ UINT8 Reserved[3];
+} EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER;
+
+///
+/// RSD_PTR Revision (as defined in ACPI 2.0 spec.)
+///
+#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02
+
+///
+/// Common table header, this prefaces all ACPI tables, including FACS, but
+/// excluding the RSD PTR structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+} EFI_ACPI_2_0_COMMON_HEADER;
+
+//
+// Root System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
+//
+
+///
+/// RSDT Revision (as defined in ACPI 2.0 spec.)
+///
+#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+//
+// Extended System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
+//
+
+///
+/// XSDT Revision (as defined in ACPI 2.0 spec.)
+///
+#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Fixed ACPI Description Table Structure (FADT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 FirmwareCtrl;
+ UINT32 Dsdt;
+ UINT8 Reserved0;
+ UINT8 PreferredPmProfile;
+ UINT16 SciInt;
+ UINT32 SmiCmd;
+ UINT8 AcpiEnable;
+ UINT8 AcpiDisable;
+ UINT8 S4BiosReq;
+ UINT8 PstateCnt;
+ UINT32 Pm1aEvtBlk;
+ UINT32 Pm1bEvtBlk;
+ UINT32 Pm1aCntBlk;
+ UINT32 Pm1bCntBlk;
+ UINT32 Pm2CntBlk;
+ UINT32 PmTmrBlk;
+ UINT32 Gpe0Blk;
+ UINT32 Gpe1Blk;
+ UINT8 Pm1EvtLen;
+ UINT8 Pm1CntLen;
+ UINT8 Pm2CntLen;
+ UINT8 PmTmrLen;
+ UINT8 Gpe0BlkLen;
+ UINT8 Gpe1BlkLen;
+ UINT8 Gpe1Base;
+ UINT8 CstCnt;
+ UINT16 PLvl2Lat;
+ UINT16 PLvl3Lat;
+ UINT16 FlushSize;
+ UINT16 FlushStride;
+ UINT8 DutyOffset;
+ UINT8 DutyWidth;
+ UINT8 DayAlrm;
+ UINT8 MonAlrm;
+ UINT8 Century;
+ UINT16 IaPcBootArch;
+ UINT8 Reserved1;
+ UINT32 Flags;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE ResetReg;
+ UINT8 ResetValue;
+ UINT8 Reserved2[3];
+ UINT64 XFirmwareCtrl;
+ UINT64 XDsdt;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
+} EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE;
+
+///
+/// FADT Version (as defined in ACPI 2.0 spec.)
+///
+#define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x03
+
+//
+// Fixed ACPI Description Table Preferred Power Management Profile
+//
+#define EFI_ACPI_2_0_PM_PROFILE_UNSPECIFIED 0
+#define EFI_ACPI_2_0_PM_PROFILE_DESKTOP 1
+#define EFI_ACPI_2_0_PM_PROFILE_MOBILE 2
+#define EFI_ACPI_2_0_PM_PROFILE_WORKSTATION 3
+#define EFI_ACPI_2_0_PM_PROFILE_ENTERPRISE_SERVER 4
+#define EFI_ACPI_2_0_PM_PROFILE_SOHO_SERVER 5
+#define EFI_ACPI_2_0_PM_PROFILE_APPLIANCE_PC 6
+
+//
+// Fixed ACPI Description Table Boot Architecture Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_2_0_LEGACY_DEVICES BIT0
+#define EFI_ACPI_2_0_8042 BIT1
+
+//
+// Fixed ACPI Description Table Fixed Feature Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_2_0_WBINVD BIT0
+#define EFI_ACPI_2_0_WBINVD_FLUSH BIT1
+#define EFI_ACPI_2_0_PROC_C1 BIT2
+#define EFI_ACPI_2_0_P_LVL2_UP BIT3
+#define EFI_ACPI_2_0_PWR_BUTTON BIT4
+#define EFI_ACPI_2_0_SLP_BUTTON BIT5
+#define EFI_ACPI_2_0_FIX_RTC BIT6
+#define EFI_ACPI_2_0_RTC_S4 BIT7
+#define EFI_ACPI_2_0_TMR_VAL_EXT BIT8
+#define EFI_ACPI_2_0_DCK_CAP BIT9
+#define EFI_ACPI_2_0_RESET_REG_SUP BIT10
+#define EFI_ACPI_2_0_SEALED_CASE BIT11
+#define EFI_ACPI_2_0_HEADLESS BIT12
+#define EFI_ACPI_2_0_CPU_SW_SLP BIT13
+
+///
+/// Firmware ACPI Control Structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+ UINT32 HardwareSignature;
+ UINT32 FirmwareWakingVector;
+ UINT32 GlobalLock;
+ UINT32 Flags;
+ UINT64 XFirmwareWakingVector;
+ UINT8 Version;
+ UINT8 Reserved[31];
+} EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
+
+///
+/// FACS Version (as defined in ACPI 2.0 spec.)
+///
+#define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01
+
+///
+/// Firmware Control Structure Feature Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_2_0_S4BIOS_F BIT0
+
+///
+/// Multiple APIC Description Table header definition. The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 LocalApicAddress;
+ UINT32 Flags;
+} EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
+
+///
+/// MADT Revision (as defined in ACPI 2.0 spec.)
+///
+#define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Multiple APIC Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_2_0_PCAT_COMPAT BIT0
+
+//
+// Multiple APIC Description Table APIC structure types
+// All other values between 0x09 an 0xFF are reserved and
+// will be ignored by OSPM.
+//
+#define EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC 0x00
+#define EFI_ACPI_2_0_IO_APIC 0x01
+#define EFI_ACPI_2_0_INTERRUPT_SOURCE_OVERRIDE 0x02
+#define EFI_ACPI_2_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
+#define EFI_ACPI_2_0_LOCAL_APIC_NMI 0x04
+#define EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
+#define EFI_ACPI_2_0_IO_SAPIC 0x06
+#define EFI_ACPI_2_0_PROCESSOR_LOCAL_SAPIC 0x07
+#define EFI_ACPI_2_0_PLATFORM_INTERRUPT_SOURCES 0x08
+
+//
+// APIC Structure Definitions
+//
+
+///
+/// Processor Local APIC Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 ApicId;
+ UINT32 Flags;
+} EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
+
+///
+/// Local APIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_2_0_LOCAL_APIC_ENABLED BIT0
+
+///
+/// IO APIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 IoApicAddress;
+ UINT32 GlobalSystemInterruptBase;
+} EFI_ACPI_2_0_IO_APIC_STRUCTURE;
+
+///
+/// Interrupt Source Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Bus;
+ UINT8 Source;
+ UINT32 GlobalSystemInterrupt;
+ UINT16 Flags;
+} EFI_ACPI_2_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
+
+///
+/// Non-Maskable Interrupt Source Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 GlobalSystemInterrupt;
+} EFI_ACPI_2_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
+
+///
+/// Local APIC NMI Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT16 Flags;
+ UINT8 LocalApicLint;
+} EFI_ACPI_2_0_LOCAL_APIC_NMI_STRUCTURE;
+
+///
+/// Local APIC Address Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT64 LocalApicAddress;
+} EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
+
+///
+/// IO SAPIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 GlobalSystemInterruptBase;
+ UINT64 IoSapicAddress;
+} EFI_ACPI_2_0_IO_SAPIC_STRUCTURE;
+
+///
+/// Local SAPIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 LocalSapicId;
+ UINT8 LocalSapicEid;
+ UINT8 Reserved[3];
+ UINT32 Flags;
+} EFI_ACPI_2_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 Reserved;
+} EFI_ACPI_2_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
+
+///
+/// Smart Battery Description Table (SBST)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 WarningEnergyLevel;
+ UINT32 LowEnergyLevel;
+ UINT32 CriticalEnergyLevel;
+} EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE;
+
+///
+/// SBST Version (as defined in ACPI 2.0 spec.)
+///
+#define EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Embedded Controller Boot Resources Table (ECDT)
+/// The table is followed by a null terminated ASCII string that contains
+/// a fully qualified reference to the name space object.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE EcControl;
+ EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE EcData;
+ UINT32 Uid;
+ UINT8 GpeBit;
+} EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE;
+
+///
+/// ECDT Version (as defined in ACPI 2.0 spec.)
+///
+#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
+
+//
+// Known table signatures
+//
+
+///
+/// "RSD PTR " Root System Description Pointer
+///
+#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
+
+///
+/// "SPIC" Multiple SAPIC Description Table
+///
+/// BUGBUG: Don't know where this came from except SR870BN4 uses it.
+/// #define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE 0x43495053
+///
+#define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
+
+///
+/// "BOOT" MS Simple Boot Spec
+///
+#define EFI_ACPI_2_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
+
+///
+/// "DBGP" MS Bebug Port Spec
+///
+#define EFI_ACPI_2_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
+
+///
+/// "DSDT" Differentiated System Description Table
+///
+#define EFI_ACPI_2_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
+
+///
+/// "ECDT" Embedded Controller Boot Resources Table
+///
+#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
+
+///
+/// "ETDT" Event Timer Description Table
+///
+#define EFI_ACPI_2_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
+
+///
+/// "FACS" Firmware ACPI Control Structure
+///
+#define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
+
+///
+/// "FACP" Fixed ACPI Description Table
+///
+#define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
+
+///
+/// "APIC" Multiple APIC Description Table
+///
+#define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
+
+///
+/// "PSDT" Persistent System Description Table
+///
+#define EFI_ACPI_2_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
+
+///
+/// "RSDT" Root System Description Table
+///
+#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
+
+///
+/// "SBST" Smart Battery Specification Table
+///
+#define EFI_ACPI_2_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
+
+///
+/// "SLIT" System Locality Information Table
+///
+#define EFI_ACPI_2_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
+
+///
+/// "SPCR" Serial Port Concole Redirection Table
+///
+#define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
+
+///
+/// "SRAT" Static Resource Affinity Table
+///
+#define EFI_ACPI_2_0_STATIC_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
+
+///
+/// "SSDT" Secondary System Description Table
+///
+#define EFI_ACPI_2_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
+
+///
+/// "SPMI" Server Platform Management Interface Table
+///
+#define EFI_ACPI_2_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
+
+///
+/// "XSDT" Extended System Description Table
+///
+#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
+
+///
+/// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
+///
+#define EFI_ACPI_2_0_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
+
+#pragma pack()
+
+#endif
diff --git a/sys/contrib/edk2/Include/IndustryStandard/Acpi30.h b/sys/contrib/edk2/Include/IndustryStandard/Acpi30.h
new file mode 100644
index 0000000..d510d8b
--- /dev/null
+++ b/sys/contrib/edk2/Include/IndustryStandard/Acpi30.h
@@ -0,0 +1,729 @@
+/** @file
+ ACPI 3.0 definitions from the ACPI Specification Revision 3.0b October 10, 2006
+
+ Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+**/
+
+#ifndef _ACPI_3_0_H_
+#define _ACPI_3_0_H_
+
+#include <IndustryStandard/Acpi20.h>
+
+//
+// Define for Desriptor
+//
+#define ACPI_LARGE_EXTENDED_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0B
+
+#define ACPI_EXTENDED_ADDRESS_SPACE_DESCRIPTOR 0x8B
+
+//
+// Ensure proper structure formats
+//
+#pragma pack(1)
+
+///
+/// Extended Address Space Descriptor
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 ResType;
+ UINT8 GenFlag;
+ UINT8 SpecificFlag;
+ UINT8 RevisionId;
+ UINT8 Reserved;
+ UINT64 AddrSpaceGranularity;
+ UINT64 AddrRangeMin;
+ UINT64 AddrRangeMax;
+ UINT64 AddrTranslationOffset;
+ UINT64 AddrLen;
+ UINT64 TypeSpecificAttribute;
+} EFI_ACPI_EXTENDED_ADDRESS_SPACE_DESCRIPTOR;
+
+#pragma pack()
+
+//
+// Memory Type Specific Flags
+//
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_UC 0x0000000000000001
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WC 0x0000000000000002
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WT 0x0000000000000004
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WB 0x0000000000000008
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_UCE 0x0000000000000010
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_NV 0x0000000000008000
+
+//
+// Ensure proper structure formats
+//
+#pragma pack(1)
+
+///
+/// ACPI 3.0 Generic Address Space definition
+///
+typedef struct {
+ UINT8 AddressSpaceId;
+ UINT8 RegisterBitWidth;
+ UINT8 RegisterBitOffset;
+ UINT8 AccessSize;
+ UINT64 Address;
+} EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE;
+
+//
+// Generic Address Space Address IDs
+//
+#define EFI_ACPI_3_0_SYSTEM_MEMORY 0
+#define EFI_ACPI_3_0_SYSTEM_IO 1
+#define EFI_ACPI_3_0_PCI_CONFIGURATION_SPACE 2
+#define EFI_ACPI_3_0_EMBEDDED_CONTROLLER 3
+#define EFI_ACPI_3_0_SMBUS 4
+#define EFI_ACPI_3_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
+
+//
+// Generic Address Space Access Sizes
+//
+#define EFI_ACPI_3_0_UNDEFINED 0
+#define EFI_ACPI_3_0_BYTE 1
+#define EFI_ACPI_3_0_WORD 2
+#define EFI_ACPI_3_0_DWORD 3
+#define EFI_ACPI_3_0_QWORD 4
+
+//
+// ACPI 3.0 table structures
+//
+
+///
+/// Root System Description Pointer Structure
+///
+typedef struct {
+ UINT64 Signature;
+ UINT8 Checksum;
+ UINT8 OemId[6];
+ UINT8 Revision;
+ UINT32 RsdtAddress;
+ UINT32 Length;
+ UINT64 XsdtAddress;
+ UINT8 ExtendedChecksum;
+ UINT8 Reserved[3];
+} EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER;
+
+///
+/// RSD_PTR Revision (as defined in ACPI 3.0b spec.)
+///
+#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 3.0b) says current value is 2
+
+///
+/// Common table header, this prefaces all ACPI tables, including FACS, but
+/// excluding the RSD PTR structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+} EFI_ACPI_3_0_COMMON_HEADER;
+
+//
+// Root System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
+//
+
+///
+/// RSDT Revision (as defined in ACPI 3.0 spec.)
+///
+#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+//
+// Extended System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
+//
+
+///
+/// XSDT Revision (as defined in ACPI 3.0 spec.)
+///
+#define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Fixed ACPI Description Table Structure (FADT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 FirmwareCtrl;
+ UINT32 Dsdt;
+ UINT8 Reserved0;
+ UINT8 PreferredPmProfile;
+ UINT16 SciInt;
+ UINT32 SmiCmd;
+ UINT8 AcpiEnable;
+ UINT8 AcpiDisable;
+ UINT8 S4BiosReq;
+ UINT8 PstateCnt;
+ UINT32 Pm1aEvtBlk;
+ UINT32 Pm1bEvtBlk;
+ UINT32 Pm1aCntBlk;
+ UINT32 Pm1bCntBlk;
+ UINT32 Pm2CntBlk;
+ UINT32 PmTmrBlk;
+ UINT32 Gpe0Blk;
+ UINT32 Gpe1Blk;
+ UINT8 Pm1EvtLen;
+ UINT8 Pm1CntLen;
+ UINT8 Pm2CntLen;
+ UINT8 PmTmrLen;
+ UINT8 Gpe0BlkLen;
+ UINT8 Gpe1BlkLen;
+ UINT8 Gpe1Base;
+ UINT8 CstCnt;
+ UINT16 PLvl2Lat;
+ UINT16 PLvl3Lat;
+ UINT16 FlushSize;
+ UINT16 FlushStride;
+ UINT8 DutyOffset;
+ UINT8 DutyWidth;
+ UINT8 DayAlrm;
+ UINT8 MonAlrm;
+ UINT8 Century;
+ UINT16 IaPcBootArch;
+ UINT8 Reserved1;
+ UINT32 Flags;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE ResetReg;
+ UINT8 ResetValue;
+ UINT8 Reserved2[3];
+ UINT64 XFirmwareCtrl;
+ UINT64 XDsdt;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
+} EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE;
+
+///
+/// FADT Version (as defined in ACPI 3.0 spec.)
+///
+#define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x04
+
+//
+// Fixed ACPI Description Table Preferred Power Management Profile
+//
+#define EFI_ACPI_3_0_PM_PROFILE_UNSPECIFIED 0
+#define EFI_ACPI_3_0_PM_PROFILE_DESKTOP 1
+#define EFI_ACPI_3_0_PM_PROFILE_MOBILE 2
+#define EFI_ACPI_3_0_PM_PROFILE_WORKSTATION 3
+#define EFI_ACPI_3_0_PM_PROFILE_ENTERPRISE_SERVER 4
+#define EFI_ACPI_3_0_PM_PROFILE_SOHO_SERVER 5
+#define EFI_ACPI_3_0_PM_PROFILE_APPLIANCE_PC 6
+#define EFI_ACPI_3_0_PM_PROFILE_PERFORMANCE_SERVER 7
+
+//
+// Fixed ACPI Description Table Boot Architecture Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_3_0_LEGACY_DEVICES BIT0
+#define EFI_ACPI_3_0_8042 BIT1
+#define EFI_ACPI_3_0_VGA_NOT_PRESENT BIT2
+#define EFI_ACPI_3_0_MSI_NOT_SUPPORTED BIT3
+#define EFI_ACPI_3_0_PCIE_ASPM_CONTROLS BIT4
+
+//
+// Fixed ACPI Description Table Fixed Feature Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_3_0_WBINVD BIT0
+#define EFI_ACPI_3_0_WBINVD_FLUSH BIT1
+#define EFI_ACPI_3_0_PROC_C1 BIT2
+#define EFI_ACPI_3_0_P_LVL2_UP BIT3
+#define EFI_ACPI_3_0_PWR_BUTTON BIT4
+#define EFI_ACPI_3_0_SLP_BUTTON BIT5
+#define EFI_ACPI_3_0_FIX_RTC BIT6
+#define EFI_ACPI_3_0_RTC_S4 BIT7
+#define EFI_ACPI_3_0_TMR_VAL_EXT BIT8
+#define EFI_ACPI_3_0_DCK_CAP BIT9
+#define EFI_ACPI_3_0_RESET_REG_SUP BIT10
+#define EFI_ACPI_3_0_SEALED_CASE BIT11
+#define EFI_ACPI_3_0_HEADLESS BIT12
+#define EFI_ACPI_3_0_CPU_SW_SLP BIT13
+#define EFI_ACPI_3_0_PCI_EXP_WAK BIT14
+#define EFI_ACPI_3_0_USE_PLATFORM_CLOCK BIT15
+#define EFI_ACPI_3_0_S4_RTC_STS_VALID BIT16
+#define EFI_ACPI_3_0_REMOTE_POWER_ON_CAPABLE BIT17
+#define EFI_ACPI_3_0_FORCE_APIC_CLUSTER_MODEL BIT18
+#define EFI_ACPI_3_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
+
+///
+/// Firmware ACPI Control Structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+ UINT32 HardwareSignature;
+ UINT32 FirmwareWakingVector;
+ UINT32 GlobalLock;
+ UINT32 Flags;
+ UINT64 XFirmwareWakingVector;
+ UINT8 Version;
+ UINT8 Reserved[31];
+} EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
+
+///
+/// FACS Version (as defined in ACPI 3.0 spec.)
+///
+#define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01
+
+///
+/// Firmware Control Structure Feature Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_3_0_S4BIOS_F BIT0
+
+//
+// Differentiated System Description Table,
+// Secondary System Description Table
+// and Persistent System Description Table,
+// no definition needed as they are common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
+//
+#define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
+#define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
+
+///
+/// Multiple APIC Description Table header definition. The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 LocalApicAddress;
+ UINT32 Flags;
+} EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
+
+///
+/// MADT Revision (as defined in ACPI 3.0 spec.)
+///
+#define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x02
+
+///
+/// Multiple APIC Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_3_0_PCAT_COMPAT BIT0
+
+//
+// Multiple APIC Description Table APIC structure types
+// All other values between 0x09 an 0xFF are reserved and
+// will be ignored by OSPM.
+//
+#define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC 0x00
+#define EFI_ACPI_3_0_IO_APIC 0x01
+#define EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE 0x02
+#define EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
+#define EFI_ACPI_3_0_LOCAL_APIC_NMI 0x04
+#define EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
+#define EFI_ACPI_3_0_IO_SAPIC 0x06
+#define EFI_ACPI_3_0_LOCAL_SAPIC 0x07
+#define EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES 0x08
+
+//
+// APIC Structure Definitions
+//
+
+///
+/// Processor Local APIC Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 ApicId;
+ UINT32 Flags;
+} EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
+
+///
+/// Local APIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_3_0_LOCAL_APIC_ENABLED BIT0
+
+///
+/// IO APIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 IoApicAddress;
+ UINT32 GlobalSystemInterruptBase;
+} EFI_ACPI_3_0_IO_APIC_STRUCTURE;
+
+///
+/// Interrupt Source Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Bus;
+ UINT8 Source;
+ UINT32 GlobalSystemInterrupt;
+ UINT16 Flags;
+} EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 PlatformInterruptSourceFlags;
+ UINT8 CpeiProcessorOverride;
+ UINT8 Reserved[31];
+} EFI_ACPI_3_0_PLATFORM_INTERRUPT_APIC_STRUCTURE;
+
+//
+// MPS INTI flags.
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_3_0_POLARITY (3 << 0)
+#define EFI_ACPI_3_0_TRIGGER_MODE (3 << 2)
+
+///
+/// Non-Maskable Interrupt Source Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 GlobalSystemInterrupt;
+} EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
+
+///
+/// Local APIC NMI Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT16 Flags;
+ UINT8 LocalApicLint;
+} EFI_ACPI_3_0_LOCAL_APIC_NMI_STRUCTURE;
+
+///
+/// Local APIC Address Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT64 LocalApicAddress;
+} EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
+
+///
+/// IO SAPIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 GlobalSystemInterruptBase;
+ UINT64 IoSapicAddress;
+} EFI_ACPI_3_0_IO_SAPIC_STRUCTURE;
+
+///
+/// Local SAPIC Structure
+/// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 LocalSapicId;
+ UINT8 LocalSapicEid;
+ UINT8 Reserved[3];
+ UINT32 Flags;
+ UINT32 ACPIProcessorUIDValue;
+} EFI_ACPI_3_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 PlatformInterruptSourceFlags;
+} EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
+
+///
+/// Platform Interrupt Source Flags.
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_3_0_CPEI_PROCESSOR_OVERRIDE BIT0
+
+///
+/// Smart Battery Description Table (SBST)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 WarningEnergyLevel;
+ UINT32 LowEnergyLevel;
+ UINT32 CriticalEnergyLevel;
+} EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE;
+
+///
+/// SBST Version (as defined in ACPI 3.0 spec.)
+///
+#define EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Embedded Controller Boot Resources Table (ECDT)
+/// The table is followed by a null terminated ASCII string that contains
+/// a fully qualified reference to the name space object.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcControl;
+ EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcData;
+ UINT32 Uid;
+ UINT8 GpeBit;
+} EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE;
+
+///
+/// ECDT Version (as defined in ACPI 3.0 spec.)
+///
+#define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
+
+///
+/// System Resource Affinity Table (SRAT. The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Reserved1; ///< Must be set to 1
+ UINT64 Reserved2;
+} EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER;
+
+///
+/// SRAT Version (as defined in ACPI 3.0 spec.)
+///
+#define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x02
+
+//
+// SRAT structure types.
+// All other values between 0x02 an 0xFF are reserved and
+// will be ignored by OSPM.
+//
+#define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
+#define EFI_ACPI_3_0_MEMORY_AFFINITY 0x01
+
+///
+/// Processor Local APIC/SAPIC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 ProximityDomain7To0;
+ UINT8 ApicId;
+ UINT32 Flags;
+ UINT8 LocalSapicEid;
+ UINT8 ProximityDomain31To8[3];
+ UINT8 Reserved[4];
+} EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE;
+
+///
+/// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
+
+///
+/// Memory Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT32 ProximityDomain;
+ UINT16 Reserved1;
+ UINT32 AddressBaseLow;
+ UINT32 AddressBaseHigh;
+ UINT32 LengthLow;
+ UINT32 LengthHigh;
+ UINT32 Reserved2;
+ UINT32 Flags;
+ UINT64 Reserved3;
+} EFI_ACPI_3_0_MEMORY_AFFINITY_STRUCTURE;
+
+//
+// Memory Flags. All other bits are reserved and must be 0.
+//
+#define EFI_ACPI_3_0_MEMORY_ENABLED (1 << 0)
+#define EFI_ACPI_3_0_MEMORY_HOT_PLUGGABLE (1 << 1)
+#define EFI_ACPI_3_0_MEMORY_NONVOLATILE (1 << 2)
+
+///
+/// System Locality Distance Information Table (SLIT).
+/// The rest of the table is a matrix.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT64 NumberOfSystemLocalities;
+} EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER;
+
+///
+/// SLIT Version (as defined in ACPI 3.0 spec.)
+///
+#define EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
+
+//
+// Known table signatures
+//
+
+///
+/// "RSD PTR " Root System Description Pointer
+///
+#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
+
+///
+/// "APIC" Multiple APIC Description Table
+///
+#define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
+
+///
+/// "DSDT" Differentiated System Description Table
+///
+#define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
+
+///
+/// "ECDT" Embedded Controller Boot Resources Table
+///
+#define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
+
+///
+/// "FACP" Fixed ACPI Description Table
+///
+#define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
+
+///
+/// "FACS" Firmware ACPI Control Structure
+///
+#define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
+
+///
+/// "PSDT" Persistent System Description Table
+///
+#define EFI_ACPI_3_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
+
+///
+/// "RSDT" Root System Description Table
+///
+#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
+
+///
+/// "SBST" Smart Battery Specification Table
+///
+#define EFI_ACPI_3_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
+
+///
+/// "SLIT" System Locality Information Table
+///
+#define EFI_ACPI_3_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
+
+///
+/// "SRAT" System Resource Affinity Table
+///
+#define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
+
+///
+/// "SSDT" Secondary System Description Table
+///
+#define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
+
+///
+/// "XSDT" Extended System Description Table
+///
+#define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
+
+///
+/// "BOOT" MS Simple Boot Spec
+///
+#define EFI_ACPI_3_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
+
+///
+/// "CPEP" Corrected Platform Error Polling Table
+///
+#define EFI_ACPI_3_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
+
+///
+/// "DBGP" MS Debug Port Spec
+///
+#define EFI_ACPI_3_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
+
+///
+/// "ETDT" Event Timer Description Table
+///
+#define EFI_ACPI_3_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
+
+///
+/// "HPET" IA-PC High Precision Event Timer Table
+///
+#define EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
+
+///
+/// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
+///
+#define EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
+
+///
+/// "SPCR" Serial Port Concole Redirection Table
+///
+#define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
+
+///
+/// "SPMI" Server Platform Management Interface Table
+///
+#define EFI_ACPI_3_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
+
+///
+/// "TCPA" Trusted Computing Platform Alliance Capabilities Table
+///
+#define EFI_ACPI_3_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
+
+///
+/// "WDRT" Watchdog Resource Table
+///
+#define EFI_ACPI_3_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
+
+///
+/// "WDAT" Watchdog Action Table
+///
+#define EFI_ACPI_3_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
+
+///
+/// "WSPT" Windows Specific Properties Table
+///
+#define EFI_ACPI_3_0_WINDOWS_SPECIFIC_PROPERTIES_TABLE_SIGNATURE SIGNATURE_32('W', 'S', 'P', 'T')
+
+///
+/// "iBFT" iSCSI Boot Firmware Table
+///
+#define EFI_ACPI_3_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
+
+#pragma pack()
+
+#endif
diff --git a/sys/contrib/edk2/Include/IndustryStandard/Acpi40.h b/sys/contrib/edk2/Include/IndustryStandard/Acpi40.h
new file mode 100644
index 0000000..94ae5fc
--- /dev/null
+++ b/sys/contrib/edk2/Include/IndustryStandard/Acpi40.h
@@ -0,0 +1,1309 @@
+/** @file
+ ACPI 4.0 definitions from the ACPI Specification Revision 4.0a April 5, 2010
+
+ Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+**/
+
+#ifndef _ACPI_4_0_H_
+#define _ACPI_4_0_H_
+
+#include <IndustryStandard/Acpi30.h>
+
+//
+// Ensure proper structure formats
+//
+#pragma pack(1)
+
+///
+/// ACPI 4.0 Generic Address Space definition
+///
+typedef struct {
+ UINT8 AddressSpaceId;
+ UINT8 RegisterBitWidth;
+ UINT8 RegisterBitOffset;
+ UINT8 AccessSize;
+ UINT64 Address;
+} EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE;
+
+//
+// Generic Address Space Address IDs
+//
+#define EFI_ACPI_4_0_SYSTEM_MEMORY 0
+#define EFI_ACPI_4_0_SYSTEM_IO 1
+#define EFI_ACPI_4_0_PCI_CONFIGURATION_SPACE 2
+#define EFI_ACPI_4_0_EMBEDDED_CONTROLLER 3
+#define EFI_ACPI_4_0_SMBUS 4
+#define EFI_ACPI_4_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
+
+//
+// Generic Address Space Access Sizes
+//
+#define EFI_ACPI_4_0_UNDEFINED 0
+#define EFI_ACPI_4_0_BYTE 1
+#define EFI_ACPI_4_0_WORD 2
+#define EFI_ACPI_4_0_DWORD 3
+#define EFI_ACPI_4_0_QWORD 4
+
+//
+// ACPI 4.0 table structures
+//
+
+///
+/// Root System Description Pointer Structure
+///
+typedef struct {
+ UINT64 Signature;
+ UINT8 Checksum;
+ UINT8 OemId[6];
+ UINT8 Revision;
+ UINT32 RsdtAddress;
+ UINT32 Length;
+ UINT64 XsdtAddress;
+ UINT8 ExtendedChecksum;
+ UINT8 Reserved[3];
+} EFI_ACPI_4_0_ROOT_SYSTEM_DESCRIPTION_POINTER;
+
+///
+/// RSD_PTR Revision (as defined in ACPI 4.0b spec.)
+///
+#define EFI_ACPI_4_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 4.0a) says current value is 2
+
+///
+/// Common table header, this prefaces all ACPI tables, including FACS, but
+/// excluding the RSD PTR structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+} EFI_ACPI_4_0_COMMON_HEADER;
+
+//
+// Root System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
+//
+
+///
+/// RSDT Revision (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+//
+// Extended System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
+//
+
+///
+/// XSDT Revision (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Fixed ACPI Description Table Structure (FADT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 FirmwareCtrl;
+ UINT32 Dsdt;
+ UINT8 Reserved0;
+ UINT8 PreferredPmProfile;
+ UINT16 SciInt;
+ UINT32 SmiCmd;
+ UINT8 AcpiEnable;
+ UINT8 AcpiDisable;
+ UINT8 S4BiosReq;
+ UINT8 PstateCnt;
+ UINT32 Pm1aEvtBlk;
+ UINT32 Pm1bEvtBlk;
+ UINT32 Pm1aCntBlk;
+ UINT32 Pm1bCntBlk;
+ UINT32 Pm2CntBlk;
+ UINT32 PmTmrBlk;
+ UINT32 Gpe0Blk;
+ UINT32 Gpe1Blk;
+ UINT8 Pm1EvtLen;
+ UINT8 Pm1CntLen;
+ UINT8 Pm2CntLen;
+ UINT8 PmTmrLen;
+ UINT8 Gpe0BlkLen;
+ UINT8 Gpe1BlkLen;
+ UINT8 Gpe1Base;
+ UINT8 CstCnt;
+ UINT16 PLvl2Lat;
+ UINT16 PLvl3Lat;
+ UINT16 FlushSize;
+ UINT16 FlushStride;
+ UINT8 DutyOffset;
+ UINT8 DutyWidth;
+ UINT8 DayAlrm;
+ UINT8 MonAlrm;
+ UINT8 Century;
+ UINT16 IaPcBootArch;
+ UINT8 Reserved1;
+ UINT32 Flags;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE ResetReg;
+ UINT8 ResetValue;
+ UINT8 Reserved2[3];
+ UINT64 XFirmwareCtrl;
+ UINT64 XDsdt;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
+} EFI_ACPI_4_0_FIXED_ACPI_DESCRIPTION_TABLE;
+
+///
+/// FADT Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x04
+
+//
+// Fixed ACPI Description Table Preferred Power Management Profile
+//
+#define EFI_ACPI_4_0_PM_PROFILE_UNSPECIFIED 0
+#define EFI_ACPI_4_0_PM_PROFILE_DESKTOP 1
+#define EFI_ACPI_4_0_PM_PROFILE_MOBILE 2
+#define EFI_ACPI_4_0_PM_PROFILE_WORKSTATION 3
+#define EFI_ACPI_4_0_PM_PROFILE_ENTERPRISE_SERVER 4
+#define EFI_ACPI_4_0_PM_PROFILE_SOHO_SERVER 5
+#define EFI_ACPI_4_0_PM_PROFILE_APPLIANCE_PC 6
+#define EFI_ACPI_4_0_PM_PROFILE_PERFORMANCE_SERVER 7
+
+//
+// Fixed ACPI Description Table Boot Architecture Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_4_0_LEGACY_DEVICES BIT0
+#define EFI_ACPI_4_0_8042 BIT1
+#define EFI_ACPI_4_0_VGA_NOT_PRESENT BIT2
+#define EFI_ACPI_4_0_MSI_NOT_SUPPORTED BIT3
+#define EFI_ACPI_4_0_PCIE_ASPM_CONTROLS BIT4
+
+//
+// Fixed ACPI Description Table Fixed Feature Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_4_0_WBINVD BIT0
+#define EFI_ACPI_4_0_WBINVD_FLUSH BIT1
+#define EFI_ACPI_4_0_PROC_C1 BIT2
+#define EFI_ACPI_4_0_P_LVL2_UP BIT3
+#define EFI_ACPI_4_0_PWR_BUTTON BIT4
+#define EFI_ACPI_4_0_SLP_BUTTON BIT5
+#define EFI_ACPI_4_0_FIX_RTC BIT6
+#define EFI_ACPI_4_0_RTC_S4 BIT7
+#define EFI_ACPI_4_0_TMR_VAL_EXT BIT8
+#define EFI_ACPI_4_0_DCK_CAP BIT9
+#define EFI_ACPI_4_0_RESET_REG_SUP BIT10
+#define EFI_ACPI_4_0_SEALED_CASE BIT11
+#define EFI_ACPI_4_0_HEADLESS BIT12
+#define EFI_ACPI_4_0_CPU_SW_SLP BIT13
+#define EFI_ACPI_4_0_PCI_EXP_WAK BIT14
+#define EFI_ACPI_4_0_USE_PLATFORM_CLOCK BIT15
+#define EFI_ACPI_4_0_S4_RTC_STS_VALID BIT16
+#define EFI_ACPI_4_0_REMOTE_POWER_ON_CAPABLE BIT17
+#define EFI_ACPI_4_0_FORCE_APIC_CLUSTER_MODEL BIT18
+#define EFI_ACPI_4_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
+
+///
+/// Firmware ACPI Control Structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+ UINT32 HardwareSignature;
+ UINT32 FirmwareWakingVector;
+ UINT32 GlobalLock;
+ UINT32 Flags;
+ UINT64 XFirmwareWakingVector;
+ UINT8 Version;
+ UINT8 Reserved0[3];
+ UINT32 OspmFlags;
+ UINT8 Reserved1[24];
+} EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
+
+///
+/// FACS Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x02
+
+///
+/// Firmware Control Structure Feature Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_4_0_S4BIOS_F BIT0
+#define EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F BIT1
+
+///
+/// OSPM Enabled Firmware Control Structure Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_4_0_OSPM_64BIT_WAKE__F BIT0
+
+//
+// Differentiated System Description Table,
+// Secondary System Description Table
+// and Persistent System Description Table,
+// no definition needed as they are common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
+//
+#define EFI_ACPI_4_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
+#define EFI_ACPI_4_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
+
+///
+/// Multiple APIC Description Table header definition. The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 LocalApicAddress;
+ UINT32 Flags;
+} EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
+
+///
+/// MADT Revision (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x03
+
+///
+/// Multiple APIC Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_4_0_PCAT_COMPAT BIT0
+
+//
+// Multiple APIC Description Table APIC structure types
+// All other values between 0x0B an 0xFF are reserved and
+// will be ignored by OSPM.
+//
+#define EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC 0x00
+#define EFI_ACPI_4_0_IO_APIC 0x01
+#define EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE 0x02
+#define EFI_ACPI_4_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
+#define EFI_ACPI_4_0_LOCAL_APIC_NMI 0x04
+#define EFI_ACPI_4_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
+#define EFI_ACPI_4_0_IO_SAPIC 0x06
+#define EFI_ACPI_4_0_LOCAL_SAPIC 0x07
+#define EFI_ACPI_4_0_PLATFORM_INTERRUPT_SOURCES 0x08
+#define EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC 0x09
+#define EFI_ACPI_4_0_LOCAL_X2APIC_NMI 0x0A
+
+//
+// APIC Structure Definitions
+//
+
+///
+/// Processor Local APIC Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 ApicId;
+ UINT32 Flags;
+} EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
+
+///
+/// Local APIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_4_0_LOCAL_APIC_ENABLED BIT0
+
+///
+/// IO APIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 IoApicAddress;
+ UINT32 GlobalSystemInterruptBase;
+} EFI_ACPI_4_0_IO_APIC_STRUCTURE;
+
+///
+/// Interrupt Source Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Bus;
+ UINT8 Source;
+ UINT32 GlobalSystemInterrupt;
+ UINT16 Flags;
+} EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 PlatformInterruptSourceFlags;
+ UINT8 CpeiProcessorOverride;
+ UINT8 Reserved[31];
+} EFI_ACPI_4_0_PLATFORM_INTERRUPT_APIC_STRUCTURE;
+
+//
+// MPS INTI flags.
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_4_0_POLARITY (3 << 0)
+#define EFI_ACPI_4_0_TRIGGER_MODE (3 << 2)
+
+///
+/// Non-Maskable Interrupt Source Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 GlobalSystemInterrupt;
+} EFI_ACPI_4_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
+
+///
+/// Local APIC NMI Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT16 Flags;
+ UINT8 LocalApicLint;
+} EFI_ACPI_4_0_LOCAL_APIC_NMI_STRUCTURE;
+
+///
+/// Local APIC Address Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT64 LocalApicAddress;
+} EFI_ACPI_4_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
+
+///
+/// IO SAPIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 GlobalSystemInterruptBase;
+ UINT64 IoSapicAddress;
+} EFI_ACPI_4_0_IO_SAPIC_STRUCTURE;
+
+///
+/// Local SAPIC Structure
+/// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 LocalSapicId;
+ UINT8 LocalSapicEid;
+ UINT8 Reserved[3];
+ UINT32 Flags;
+ UINT32 ACPIProcessorUIDValue;
+} EFI_ACPI_4_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 PlatformInterruptSourceFlags;
+} EFI_ACPI_4_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
+
+///
+/// Platform Interrupt Source Flags.
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_4_0_CPEI_PROCESSOR_OVERRIDE BIT0
+
+///
+/// Processor Local x2APIC Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved[2];
+ UINT32 X2ApicId;
+ UINT32 Flags;
+ UINT32 AcpiProcessorUid;
+} EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE;
+
+///
+/// Local x2APIC NMI Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 AcpiProcessorUid;
+ UINT8 LocalX2ApicLint;
+ UINT8 Reserved[3];
+} EFI_ACPI_4_0_LOCAL_X2APIC_NMI_STRUCTURE;
+
+///
+/// Smart Battery Description Table (SBST)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 WarningEnergyLevel;
+ UINT32 LowEnergyLevel;
+ UINT32 CriticalEnergyLevel;
+} EFI_ACPI_4_0_SMART_BATTERY_DESCRIPTION_TABLE;
+
+///
+/// SBST Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Embedded Controller Boot Resources Table (ECDT)
+/// The table is followed by a null terminated ASCII string that contains
+/// a fully qualified reference to the name space object.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE EcControl;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE EcData;
+ UINT32 Uid;
+ UINT8 GpeBit;
+} EFI_ACPI_4_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE;
+
+///
+/// ECDT Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
+
+///
+/// System Resource Affinity Table (SRAT. The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Reserved1; ///< Must be set to 1
+ UINT64 Reserved2;
+} EFI_ACPI_4_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER;
+
+///
+/// SRAT Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x03
+
+//
+// SRAT structure types.
+// All other values between 0x03 an 0xFF are reserved and
+// will be ignored by OSPM.
+//
+#define EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
+#define EFI_ACPI_4_0_MEMORY_AFFINITY 0x01
+#define EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_AFFINITY 0x02
+
+///
+/// Processor Local APIC/SAPIC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 ProximityDomain7To0;
+ UINT8 ApicId;
+ UINT32 Flags;
+ UINT8 LocalSapicEid;
+ UINT8 ProximityDomain31To8[3];
+ UINT32 ClockDomain;
+} EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE;
+
+///
+/// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
+
+///
+/// Memory Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT32 ProximityDomain;
+ UINT16 Reserved1;
+ UINT32 AddressBaseLow;
+ UINT32 AddressBaseHigh;
+ UINT32 LengthLow;
+ UINT32 LengthHigh;
+ UINT32 Reserved2;
+ UINT32 Flags;
+ UINT64 Reserved3;
+} EFI_ACPI_4_0_MEMORY_AFFINITY_STRUCTURE;
+
+//
+// Memory Flags. All other bits are reserved and must be 0.
+//
+#define EFI_ACPI_4_0_MEMORY_ENABLED (1 << 0)
+#define EFI_ACPI_4_0_MEMORY_HOT_PLUGGABLE (1 << 1)
+#define EFI_ACPI_4_0_MEMORY_NONVOLATILE (1 << 2)
+
+///
+/// Processor Local x2APIC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved1[2];
+ UINT32 ProximityDomain;
+ UINT32 X2ApicId;
+ UINT32 Flags;
+ UINT32 ClockDomain;
+ UINT8 Reserved2[4];
+} EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_AFFINITY_STRUCTURE;
+
+///
+/// System Locality Distance Information Table (SLIT).
+/// The rest of the table is a matrix.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT64 NumberOfSystemLocalities;
+} EFI_ACPI_4_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER;
+
+///
+/// SLIT Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
+
+///
+/// Corrected Platform Error Polling Table (CPEP)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT8 Reserved[8];
+} EFI_ACPI_4_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_HEADER;
+
+///
+/// CPEP Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_REVISION 0x01
+
+//
+// CPEP processor structure types.
+//
+#define EFI_ACPI_4_0_CPEP_PROCESSOR_APIC_SAPIC 0x00
+
+///
+/// Corrected Platform Error Polling Processor Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT32 PollingInterval;
+} EFI_ACPI_4_0_CPEP_PROCESSOR_APIC_SAPIC_STRUCTURE;
+
+///
+/// Maximum System Characteristics Table (MSCT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 OffsetProxDomInfo;
+ UINT32 MaximumNumberOfProximityDomains;
+ UINT32 MaximumNumberOfClockDomains;
+ UINT64 MaximumPhysicalAddress;
+} EFI_ACPI_4_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_HEADER;
+
+///
+/// MSCT Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION 0x01
+
+///
+/// Maximum Proximity Domain Information Structure Definition
+///
+typedef struct {
+ UINT8 Revision;
+ UINT8 Length;
+ UINT32 ProximityDomainRangeLow;
+ UINT32 ProximityDomainRangeHigh;
+ UINT32 MaximumProcessorCapacity;
+ UINT64 MaximumMemoryCapacity;
+} EFI_ACPI_4_0_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE;
+
+///
+/// Boot Error Record Table (BERT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 BootErrorRegionLength;
+ UINT64 BootErrorRegion;
+} EFI_ACPI_4_0_BOOT_ERROR_RECORD_TABLE_HEADER;
+
+///
+/// BERT Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_BOOT_ERROR_RECORD_TABLE_REVISION 0x01
+
+///
+/// Boot Error Region Block Status Definition
+///
+typedef struct {
+ UINT32 UncorrectableErrorValid:1;
+ UINT32 CorrectableErrorValid:1;
+ UINT32 MultipleUncorrectableErrors:1;
+ UINT32 MultipleCorrectableErrors:1;
+ UINT32 ErrorDataEntryCount:10;
+ UINT32 Reserved:18;
+} EFI_ACPI_4_0_ERROR_BLOCK_STATUS;
+
+///
+/// Boot Error Region Definition
+///
+typedef struct {
+ EFI_ACPI_4_0_ERROR_BLOCK_STATUS BlockStatus;
+ UINT32 RawDataOffset;
+ UINT32 RawDataLength;
+ UINT32 DataLength;
+ UINT32 ErrorSeverity;
+} EFI_ACPI_4_0_BOOT_ERROR_REGION_STRUCTURE;
+
+//
+// Boot Error Severity types
+//
+#define EFI_ACPI_4_0_ERROR_SEVERITY_CORRECTABLE 0x00
+#define EFI_ACPI_4_0_ERROR_SEVERITY_FATAL 0x01
+#define EFI_ACPI_4_0_ERROR_SEVERITY_CORRECTED 0x02
+#define EFI_ACPI_4_0_ERROR_SEVERITY_NONE 0x03
+
+///
+/// Generic Error Data Entry Definition
+///
+typedef struct {
+ UINT8 SectionType[16];
+ UINT32 ErrorSeverity;
+ UINT16 Revision;
+ UINT8 ValidationBits;
+ UINT8 Flags;
+ UINT32 ErrorDataLength;
+ UINT8 FruId[16];
+ UINT8 FruText[20];
+} EFI_ACPI_4_0_GENERIC_ERROR_DATA_ENTRY_STRUCTURE;
+
+///
+/// Generic Error Data Entry Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_GENERIC_ERROR_DATA_ENTRY_REVISION 0x0201
+
+///
+/// HEST - Hardware Error Source Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 ErrorSourceCount;
+} EFI_ACPI_4_0_HARDWARE_ERROR_SOURCE_TABLE_HEADER;
+
+///
+/// HEST Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_HARDWARE_ERROR_SOURCE_TABLE_REVISION 0x01
+
+//
+// Error Source structure types.
+//
+#define EFI_ACPI_4_0_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION 0x00
+#define EFI_ACPI_4_0_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK 0x01
+#define EFI_ACPI_4_0_IA32_ARCHITECTURE_NMI_ERROR 0x02
+#define EFI_ACPI_4_0_PCI_EXPRESS_ROOT_PORT_AER 0x06
+#define EFI_ACPI_4_0_PCI_EXPRESS_DEVICE_AER 0x07
+#define EFI_ACPI_4_0_PCI_EXPRESS_BRIDGE_AER 0x08
+#define EFI_ACPI_4_0_GENERIC_HARDWARE_ERROR 0x09
+
+//
+// Error Source structure flags.
+//
+#define EFI_ACPI_4_0_ERROR_SOURCE_FLAG_FIRMWARE_FIRST (1 << 0)
+#define EFI_ACPI_4_0_ERROR_SOURCE_FLAG_GLOBAL (1 << 1)
+
+///
+/// IA-32 Architecture Machine Check Exception Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT64 GlobalCapabilityInitData;
+ UINT64 GlobalControlInitData;
+ UINT8 NumberOfHardwareBanks;
+ UINT8 Reserved1[7];
+} EFI_ACPI_4_0_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION_STRUCTURE;
+
+///
+/// IA-32 Architecture Machine Check Bank Structure Definition
+///
+typedef struct {
+ UINT8 BankNumber;
+ UINT8 ClearStatusOnInitialization;
+ UINT8 StatusDataFormat;
+ UINT8 Reserved0;
+ UINT32 ControlRegisterMsrAddress;
+ UINT64 ControlInitData;
+ UINT32 StatusRegisterMsrAddress;
+ UINT32 AddressRegisterMsrAddress;
+ UINT32 MiscRegisterMsrAddress;
+} EFI_ACPI_4_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_BANK_STRUCTURE;
+
+///
+/// IA-32 Architecture Machine Check Bank Structure MCA data format
+///
+#define EFI_ACPI_4_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_IA32 0x00
+#define EFI_ACPI_4_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_INTEL64 0x01
+#define EFI_ACPI_4_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_AMD64 0x02
+
+//
+// Hardware Error Notification types. All other values are reserved
+//
+#define EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_POLLED 0x00
+#define EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_EXTERNAL_INTERRUPT 0x01
+#define EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT 0x02
+#define EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_SCI 0x03
+#define EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_NMI 0x04
+
+///
+/// Hardware Error Notification Configuration Write Enable Structure Definition
+///
+typedef struct {
+ UINT16 Type:1;
+ UINT16 PollInterval:1;
+ UINT16 SwitchToPollingThresholdValue:1;
+ UINT16 SwitchToPollingThresholdWindow:1;
+ UINT16 ErrorThresholdValue:1;
+ UINT16 ErrorThresholdWindow:1;
+ UINT16 Reserved:10;
+} EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
+
+///
+/// Hardware Error Notification Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable;
+ UINT32 PollInterval;
+ UINT32 Vector;
+ UINT32 SwitchToPollingThresholdValue;
+ UINT32 SwitchToPollingThresholdWindow;
+ UINT32 ErrorThresholdValue;
+ UINT32 ErrorThresholdWindow;
+} EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE;
+
+///
+/// IA-32 Architecture Corrected Machine Check Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure;
+ UINT8 NumberOfHardwareBanks;
+ UINT8 Reserved1[3];
+} EFI_ACPI_4_0_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK_STRUCTURE;
+
+///
+/// IA-32 Architecture NMI Error Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 MaxRawDataLength;
+} EFI_ACPI_4_0_IA32_ARCHITECTURE_NMI_ERROR_STRUCTURE;
+
+///
+/// PCI Express Root Port AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+ UINT32 RootErrorCommand;
+} EFI_ACPI_4_0_PCI_EXPRESS_ROOT_PORT_AER_STRUCTURE;
+
+///
+/// PCI Express Device AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+} EFI_ACPI_4_0_PCI_EXPRESS_DEVICE_AER_STRUCTURE;
+
+///
+/// PCI Express Bridge AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+ UINT32 SecondaryUncorrectableErrorMask;
+ UINT32 SecondaryUncorrectableErrorSeverity;
+ UINT32 SecondaryAdvancedErrorCapabilitiesAndControl;
+} EFI_ACPI_4_0_PCI_EXPRESS_BRIDGE_AER_STRUCTURE;
+
+///
+/// Generic Hardware Error Source Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT16 RelatedSourceId;
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 MaxRawDataLength;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress;
+ EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure;
+ UINT32 ErrorStatusBlockLength;
+} EFI_ACPI_4_0_GENERIC_HARDWARE_ERROR_SOURCE_STRUCTURE;
+
+///
+/// Generic Error Status Definition
+///
+typedef struct {
+ EFI_ACPI_4_0_ERROR_BLOCK_STATUS BlockStatus;
+ UINT32 RawDataOffset;
+ UINT32 RawDataLength;
+ UINT32 DataLength;
+ UINT32 ErrorSeverity;
+} EFI_ACPI_4_0_GENERIC_ERROR_STATUS_STRUCTURE;
+
+///
+/// ERST - Error Record Serialization Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 SerializationHeaderSize;
+ UINT8 Reserved0[4];
+ UINT32 InstructionEntryCount;
+} EFI_ACPI_4_0_ERROR_RECORD_SERIALIZATION_TABLE_HEADER;
+
+///
+/// ERST Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_ERROR_RECORD_SERIALIZATION_TABLE_REVISION 0x01
+
+///
+/// ERST Serialization Actions
+///
+#define EFI_ACPI_4_0_ERST_BEGIN_WRITE_OPERATION 0x00
+#define EFI_ACPI_4_0_ERST_BEGIN_READ_OPERATION 0x01
+#define EFI_ACPI_4_0_ERST_BEGIN_CLEAR_OPERATION 0x02
+#define EFI_ACPI_4_0_ERST_END_OPERATION 0x03
+#define EFI_ACPI_4_0_ERST_SET_RECORD_OFFSET 0x04
+#define EFI_ACPI_4_0_ERST_EXECUTE_OPERATION 0x05
+#define EFI_ACPI_4_0_ERST_CHECK_BUSY_STATUS 0x06
+#define EFI_ACPI_4_0_ERST_GET_COMMAND_STATUS 0x07
+#define EFI_ACPI_4_0_ERST_GET_RECORD_IDENTIFIER 0x08
+#define EFI_ACPI_4_0_ERST_SET_RECORD_IDENTIFIER 0x09
+#define EFI_ACPI_4_0_ERST_GET_RECORD_COUNT 0x0A
+#define EFI_ACPI_4_0_ERST_BEGIN_DUMMY_WRITE_OPERATION 0x0B
+#define EFI_ACPI_4_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
+#define EFI_ACPI_4_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
+#define EFI_ACPI_4_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
+
+///
+/// ERST Action Command Status
+///
+#define EFI_ACPI_4_0_EINJ_STATUS_SUCCESS 0x00
+#define EFI_ACPI_4_0_EINJ_STATUS_NOT_ENOUGH_SPACE 0x01
+#define EFI_ACPI_4_0_EINJ_STATUS_HARDWARE_NOT_AVAILABLE 0x02
+#define EFI_ACPI_4_0_EINJ_STATUS_FAILED 0x03
+#define EFI_ACPI_4_0_EINJ_STATUS_RECORD_STORE_EMPTY 0x04
+#define EFI_ACPI_4_0_EINJ_STATUS_RECORD_NOT_FOUND 0x05
+
+///
+/// ERST Serialization Instructions
+///
+#define EFI_ACPI_4_0_ERST_READ_REGISTER 0x00
+#define EFI_ACPI_4_0_ERST_READ_REGISTER_VALUE 0x01
+#define EFI_ACPI_4_0_ERST_WRITE_REGISTER 0x02
+#define EFI_ACPI_4_0_ERST_WRITE_REGISTER_VALUE 0x03
+#define EFI_ACPI_4_0_ERST_NOOP 0x04
+#define EFI_ACPI_4_0_ERST_LOAD_VAR1 0x05
+#define EFI_ACPI_4_0_ERST_LOAD_VAR2 0x06
+#define EFI_ACPI_4_0_ERST_STORE_VAR1 0x07
+#define EFI_ACPI_4_0_ERST_ADD 0x08
+#define EFI_ACPI_4_0_ERST_SUBTRACT 0x09
+#define EFI_ACPI_4_0_ERST_ADD_VALUE 0x0A
+#define EFI_ACPI_4_0_ERST_SUBTRACT_VALUE 0x0B
+#define EFI_ACPI_4_0_ERST_STALL 0x0C
+#define EFI_ACPI_4_0_ERST_STALL_WHILE_TRUE 0x0D
+#define EFI_ACPI_4_0_ERST_SKIP_NEXT_INSTRUCTION_IF_TRUE 0x0E
+#define EFI_ACPI_4_0_ERST_GOTO 0x0F
+#define EFI_ACPI_4_0_ERST_SET_SRC_ADDRESS_BASE 0x10
+#define EFI_ACPI_4_0_ERST_SET_DST_ADDRESS_BASE 0x11
+#define EFI_ACPI_4_0_ERST_MOVE_DATA 0x12
+
+///
+/// ERST Instruction Flags
+///
+#define EFI_ACPI_4_0_ERST_PRESERVE_REGISTER 0x01
+
+///
+/// ERST Serialization Instruction Entry
+///
+typedef struct {
+ UINT8 SerializationAction;
+ UINT8 Instruction;
+ UINT8 Flags;
+ UINT8 Reserved0;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion;
+ UINT64 Value;
+ UINT64 Mask;
+} EFI_ACPI_4_0_ERST_SERIALIZATION_INSTRUCTION_ENTRY;
+
+///
+/// EINJ - Error Injection Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 InjectionHeaderSize;
+ UINT8 InjectionFlags;
+ UINT8 Reserved0[3];
+ UINT32 InjectionEntryCount;
+} EFI_ACPI_4_0_ERROR_INJECTION_TABLE_HEADER;
+
+///
+/// EINJ Version (as defined in ACPI 4.0 spec.)
+///
+#define EFI_ACPI_4_0_ERROR_INJECTION_TABLE_REVISION 0x01
+
+///
+/// EINJ Error Injection Actions
+///
+#define EFI_ACPI_4_0_EINJ_BEGIN_INJECTION_OPERATION 0x00
+#define EFI_ACPI_4_0_EINJ_GET_TRIGGER_ERROR_ACTION_TABLE 0x01
+#define EFI_ACPI_4_0_EINJ_SET_ERROR_TYPE 0x02
+#define EFI_ACPI_4_0_EINJ_GET_ERROR_TYPE 0x03
+#define EFI_ACPI_4_0_EINJ_END_OPERATION 0x04
+#define EFI_ACPI_4_0_EINJ_EXECUTE_OPERATION 0x05
+#define EFI_ACPI_4_0_EINJ_CHECK_BUSY_STATUS 0x06
+#define EFI_ACPI_4_0_EINJ_GET_COMMAND_STATUS 0x07
+#define EFI_ACPI_4_0_EINJ_TRIGGER_ERROR 0xFF
+
+///
+/// EINJ Action Command Status
+///
+#define EFI_ACPI_4_0_EINJ_STATUS_SUCCESS 0x00
+#define EFI_ACPI_4_0_EINJ_STATUS_UNKNOWN_FAILURE 0x01
+#define EFI_ACPI_4_0_EINJ_STATUS_INVALID_ACCESS 0x02
+
+///
+/// EINJ Error Type Definition
+///
+#define EFI_ACPI_4_0_EINJ_ERROR_PROCESSOR_CORRECTABLE (1 << 0)
+#define EFI_ACPI_4_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_NONFATAL (1 << 1)
+#define EFI_ACPI_4_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_FATAL (1 << 2)
+#define EFI_ACPI_4_0_EINJ_ERROR_MEMORY_CORRECTABLE (1 << 3)
+#define EFI_ACPI_4_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_NONFATAL (1 << 4)
+#define EFI_ACPI_4_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_FATAL (1 << 5)
+#define EFI_ACPI_4_0_EINJ_ERROR_PCI_EXPRESS_CORRECTABLE (1 << 6)
+#define EFI_ACPI_4_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_NONFATAL (1 << 7)
+#define EFI_ACPI_4_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_FATAL (1 << 8)
+#define EFI_ACPI_4_0_EINJ_ERROR_PLATFORM_CORRECTABLE (1 << 9)
+#define EFI_ACPI_4_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_NONFATAL (1 << 10)
+#define EFI_ACPI_4_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_FATAL (1 << 11)
+
+///
+/// EINJ Injection Instructions
+///
+#define EFI_ACPI_4_0_EINJ_READ_REGISTER 0x00
+#define EFI_ACPI_4_0_EINJ_READ_REGISTER_VALUE 0x01
+#define EFI_ACPI_4_0_EINJ_WRITE_REGISTER 0x02
+#define EFI_ACPI_4_0_EINJ_WRITE_REGISTER_VALUE 0x03
+#define EFI_ACPI_4_0_EINJ_NOOP 0x04
+
+///
+/// EINJ Instruction Flags
+///
+#define EFI_ACPI_4_0_EINJ_PRESERVE_REGISTER 0x01
+
+///
+/// EINJ Injection Instruction Entry
+///
+typedef struct {
+ UINT8 InjectionAction;
+ UINT8 Instruction;
+ UINT8 Flags;
+ UINT8 Reserved0;
+ EFI_ACPI_4_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion;
+ UINT64 Value;
+ UINT64 Mask;
+} EFI_ACPI_4_0_EINJ_INJECTION_INSTRUCTION_ENTRY;
+
+///
+/// EINJ Trigger Action Table
+///
+typedef struct {
+ UINT32 HeaderSize;
+ UINT32 Revision;
+ UINT32 TableSize;
+ UINT32 EntryCount;
+} EFI_ACPI_4_0_EINJ_TRIGGER_ACTION_TABLE;
+
+//
+// Known table signatures
+//
+
+///
+/// "RSD PTR " Root System Description Pointer
+///
+#define EFI_ACPI_4_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
+
+///
+/// "APIC" Multiple APIC Description Table
+///
+#define EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
+
+///
+/// "BERT" Boot Error Record Table
+///
+#define EFI_ACPI_4_0_BOOT_ERROR_RECORD_TABLE_SIGNATURE SIGNATURE_32('B', 'E', 'R', 'T')
+
+///
+/// "CPEP" Corrected Platform Error Polling Table
+///
+#define EFI_ACPI_4_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
+
+///
+/// "DSDT" Differentiated System Description Table
+///
+#define EFI_ACPI_4_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
+
+///
+/// "ECDT" Embedded Controller Boot Resources Table
+///
+#define EFI_ACPI_4_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
+
+///
+/// "EINJ" Error Injection Table
+///
+#define EFI_ACPI_4_0_ERROR_INJECTION_TABLE_SIGNATURE SIGNATURE_32('E', 'I', 'N', 'J')
+
+///
+/// "ERST" Error Record Serialization Table
+///
+#define EFI_ACPI_4_0_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE SIGNATURE_32('E', 'R', 'S', 'T')
+
+///
+/// "FACP" Fixed ACPI Description Table
+///
+#define EFI_ACPI_4_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
+
+///
+/// "FACS" Firmware ACPI Control Structure
+///
+#define EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
+
+///
+/// "HEST" Hardware Error Source Table
+///
+#define EFI_ACPI_4_0_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('H', 'E', 'S', 'T')
+
+///
+/// "MSCT" Maximum System Characteristics Table
+///
+#define EFI_ACPI_4_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'C', 'T')
+
+///
+/// "PSDT" Persistent System Description Table
+///
+#define EFI_ACPI_4_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
+
+///
+/// "RSDT" Root System Description Table
+///
+#define EFI_ACPI_4_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
+
+///
+/// "SBST" Smart Battery Specification Table
+///
+#define EFI_ACPI_4_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
+
+///
+/// "SLIT" System Locality Information Table
+///
+#define EFI_ACPI_4_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
+
+///
+/// "SRAT" System Resource Affinity Table
+///
+#define EFI_ACPI_4_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
+
+///
+/// "SSDT" Secondary System Description Table
+///
+#define EFI_ACPI_4_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
+
+///
+/// "XSDT" Extended System Description Table
+///
+#define EFI_ACPI_4_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
+
+///
+/// "BOOT" MS Simple Boot Spec
+///
+#define EFI_ACPI_4_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
+
+///
+/// "DBGP" MS Debug Port Spec
+///
+#define EFI_ACPI_4_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
+
+///
+/// "DMAR" DMA Remapping Table
+///
+#define EFI_ACPI_4_0_DMA_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('D', 'M', 'A', 'R')
+
+///
+/// "ETDT" Event Timer Description Table
+///
+#define EFI_ACPI_4_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
+
+///
+/// "HPET" IA-PC High Precision Event Timer Table
+///
+#define EFI_ACPI_4_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
+
+///
+/// "iBFT" iSCSI Boot Firmware Table
+///
+#define EFI_ACPI_4_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
+
+///
+/// "IVRS" I/O Virtualization Reporting Structure
+///
+#define EFI_ACPI_4_0_IO_VIRTUALIZATION_REPORTING_STRUCTURE_SIGNATURE SIGNATURE_32('I', 'V', 'R', 'S')
+
+///
+/// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
+///
+#define EFI_ACPI_4_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
+
+///
+/// "MCHI" Management Controller Host Interface Table
+///
+#define EFI_ACPI_4_0_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
+
+///
+/// "SPCR" Serial Port Concole Redirection Table
+///
+#define EFI_ACPI_4_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
+
+///
+/// "SPMI" Server Platform Management Interface Table
+///
+#define EFI_ACPI_4_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
+
+///
+/// "TCPA" Trusted Computing Platform Alliance Capabilities Table
+///
+#define EFI_ACPI_4_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
+
+///
+/// "UEFI" UEFI ACPI Data Table
+///
+#define EFI_ACPI_4_0_UEFI_ACPI_DATA_TABLE_SIGNATURE SIGNATURE_32('U', 'E', 'F', 'I')
+
+///
+/// "WAET" Windows ACPI Enlightenment Table
+///
+#define EFI_ACPI_4_0_WINDOWS_ACPI_ENLIGHTENMENT_TABLE_SIGNATURE SIGNATURE_32('W', 'A', 'E', 'T')
+
+///
+/// "WDAT" Watchdog Action Table
+///
+#define EFI_ACPI_4_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
+
+///
+/// "WDRT" Watchdog Resource Table
+///
+#define EFI_ACPI_4_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
+
+#pragma pack()
+
+#endif
diff --git a/sys/contrib/edk2/Include/IndustryStandard/Acpi50.h b/sys/contrib/edk2/Include/IndustryStandard/Acpi50.h
new file mode 100644
index 0000000..a371c9a
--- /dev/null
+++ b/sys/contrib/edk2/Include/IndustryStandard/Acpi50.h
@@ -0,0 +1,2119 @@
+/** @file
+ ACPI 5.0 definitions from the ACPI Specification Revision 5.0a November 13, 2013.
+
+ Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
+ Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+**/
+
+#ifndef _ACPI_5_0_H_
+#define _ACPI_5_0_H_
+
+#include <IndustryStandard/Acpi40.h>
+
+//
+// Define for Desriptor
+//
+#define ACPI_SMALL_FIXED_DMA_DESCRIPTOR_NAME 0x0A
+#define ACPI_LARGE_GPIO_CONNECTION_DESCRIPTOR_NAME 0x0C
+#define ACPI_LARGE_GENERIC_SERIAL_BUS_CONNECTION_DESCRIPTOR_NAME 0x0E
+
+#define ACPI_FIXED_DMA_DESCRIPTOR 0x55
+#define ACPI_GPIO_CONNECTION_DESCRIPTOR 0x8C
+#define ACPI_GENERIC_SERIAL_BUS_CONNECTION_DESCRIPTOR 0x8E
+
+#pragma pack(1)
+
+///
+/// Generic DMA Descriptor.
+///
+typedef PACKED struct {
+ ACPI_SMALL_RESOURCE_HEADER Header;
+ UINT16 DmaRequestLine;
+ UINT16 DmaChannel;
+ UINT8 DmaTransferWidth;
+} EFI_ACPI_FIXED_DMA_DESCRIPTOR;
+
+///
+/// GPIO Connection Descriptor
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 RevisionId;
+ UINT8 ConnectionType;
+ UINT16 GeneralFlags;
+ UINT16 InterruptFlags;
+ UINT8 PinConfiguration;
+ UINT16 OutputDriveStrength;
+ UINT16 DebounceTimeout;
+ UINT16 PinTableOffset;
+ UINT8 ResourceSourceIndex;
+ UINT16 ResourceSourceNameOffset;
+ UINT16 VendorDataOffset;
+ UINT16 VendorDataLength;
+} EFI_ACPI_GPIO_CONNECTION_DESCRIPTOR;
+
+#define EFI_ACPI_GPIO_CONNECTION_TYPE_INTERRUPT 0x0
+#define EFI_ACPI_GPIO_CONNECTION_TYPE_IO 0x1
+
+///
+/// Serial Bus Resource Descriptor (Generic)
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 RevisionId;
+ UINT8 ResourceSourceIndex;
+ UINT8 SerialBusType;
+ UINT8 GeneralFlags;
+ UINT16 TypeSpecificFlags;
+ UINT8 TypeSpecificRevisionId;
+ UINT16 TypeDataLength;
+// Type specific data
+} EFI_ACPI_SERIAL_BUS_RESOURCE_DESCRIPTOR;
+
+#define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_I2C 0x1
+#define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_SPI 0x2
+#define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_UART 0x3
+
+///
+/// Serial Bus Resource Descriptor (I2C)
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 RevisionId;
+ UINT8 ResourceSourceIndex;
+ UINT8 SerialBusType;
+ UINT8 GeneralFlags;
+ UINT16 TypeSpecificFlags;
+ UINT8 TypeSpecificRevisionId;
+ UINT16 TypeDataLength;
+ UINT32 ConnectionSpeed;
+ UINT16 SlaveAddress;
+} EFI_ACPI_SERIAL_BUS_RESOURCE_I2C_DESCRIPTOR;
+
+///
+/// Serial Bus Resource Descriptor (SPI)
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 RevisionId;
+ UINT8 ResourceSourceIndex;
+ UINT8 SerialBusType;
+ UINT8 GeneralFlags;
+ UINT16 TypeSpecificFlags;
+ UINT8 TypeSpecificRevisionId;
+ UINT16 TypeDataLength;
+ UINT32 ConnectionSpeed;
+ UINT8 DataBitLength;
+ UINT8 Phase;
+ UINT8 Polarity;
+ UINT16 DeviceSelection;
+} EFI_ACPI_SERIAL_BUS_RESOURCE_SPI_DESCRIPTOR;
+
+///
+/// Serial Bus Resource Descriptor (UART)
+///
+typedef PACKED struct {
+ ACPI_LARGE_RESOURCE_HEADER Header;
+ UINT8 RevisionId;
+ UINT8 ResourceSourceIndex;
+ UINT8 SerialBusType;
+ UINT8 GeneralFlags;
+ UINT16 TypeSpecificFlags;
+ UINT8 TypeSpecificRevisionId;
+ UINT16 TypeDataLength;
+ UINT32 DefaultBaudRate;
+ UINT16 RxFIFO;
+ UINT16 TxFIFO;
+ UINT8 Parity;
+ UINT8 SerialLinesEnabled;
+} EFI_ACPI_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR;
+
+#pragma pack()
+
+//
+// Ensure proper structure formats
+//
+#pragma pack(1)
+
+///
+/// ACPI 5.0 Generic Address Space definition
+///
+typedef struct {
+ UINT8 AddressSpaceId;
+ UINT8 RegisterBitWidth;
+ UINT8 RegisterBitOffset;
+ UINT8 AccessSize;
+ UINT64 Address;
+} EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE;
+
+//
+// Generic Address Space Address IDs
+//
+#define EFI_ACPI_5_0_SYSTEM_MEMORY 0
+#define EFI_ACPI_5_0_SYSTEM_IO 1
+#define EFI_ACPI_5_0_PCI_CONFIGURATION_SPACE 2
+#define EFI_ACPI_5_0_EMBEDDED_CONTROLLER 3
+#define EFI_ACPI_5_0_SMBUS 4
+#define EFI_ACPI_5_0_PLATFORM_COMMUNICATION_CHANNEL 0x0A
+#define EFI_ACPI_5_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
+
+//
+// Generic Address Space Access Sizes
+//
+#define EFI_ACPI_5_0_UNDEFINED 0
+#define EFI_ACPI_5_0_BYTE 1
+#define EFI_ACPI_5_0_WORD 2
+#define EFI_ACPI_5_0_DWORD 3
+#define EFI_ACPI_5_0_QWORD 4
+
+//
+// ACPI 5.0 table structures
+//
+
+///
+/// Root System Description Pointer Structure
+///
+typedef struct {
+ UINT64 Signature;
+ UINT8 Checksum;
+ UINT8 OemId[6];
+ UINT8 Revision;
+ UINT32 RsdtAddress;
+ UINT32 Length;
+ UINT64 XsdtAddress;
+ UINT8 ExtendedChecksum;
+ UINT8 Reserved[3];
+} EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER;
+
+///
+/// RSD_PTR Revision (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 5.0) says current value is 2
+
+///
+/// Common table header, this prefaces all ACPI tables, including FACS, but
+/// excluding the RSD PTR structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+} EFI_ACPI_5_0_COMMON_HEADER;
+
+//
+// Root System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
+//
+
+///
+/// RSDT Revision (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+//
+// Extended System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
+//
+
+///
+/// XSDT Revision (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Fixed ACPI Description Table Structure (FADT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 FirmwareCtrl;
+ UINT32 Dsdt;
+ UINT8 Reserved0;
+ UINT8 PreferredPmProfile;
+ UINT16 SciInt;
+ UINT32 SmiCmd;
+ UINT8 AcpiEnable;
+ UINT8 AcpiDisable;
+ UINT8 S4BiosReq;
+ UINT8 PstateCnt;
+ UINT32 Pm1aEvtBlk;
+ UINT32 Pm1bEvtBlk;
+ UINT32 Pm1aCntBlk;
+ UINT32 Pm1bCntBlk;
+ UINT32 Pm2CntBlk;
+ UINT32 PmTmrBlk;
+ UINT32 Gpe0Blk;
+ UINT32 Gpe1Blk;
+ UINT8 Pm1EvtLen;
+ UINT8 Pm1CntLen;
+ UINT8 Pm2CntLen;
+ UINT8 PmTmrLen;
+ UINT8 Gpe0BlkLen;
+ UINT8 Gpe1BlkLen;
+ UINT8 Gpe1Base;
+ UINT8 CstCnt;
+ UINT16 PLvl2Lat;
+ UINT16 PLvl3Lat;
+ UINT16 FlushSize;
+ UINT16 FlushStride;
+ UINT8 DutyOffset;
+ UINT8 DutyWidth;
+ UINT8 DayAlrm;
+ UINT8 MonAlrm;
+ UINT8 Century;
+ UINT16 IaPcBootArch;
+ UINT8 Reserved1;
+ UINT32 Flags;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ResetReg;
+ UINT8 ResetValue;
+ UINT8 Reserved2[3];
+ UINT64 XFirmwareCtrl;
+ UINT64 XDsdt;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepControlReg;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepStatusReg;
+} EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE;
+
+///
+/// FADT Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x05
+
+//
+// Fixed ACPI Description Table Preferred Power Management Profile
+//
+#define EFI_ACPI_5_0_PM_PROFILE_UNSPECIFIED 0
+#define EFI_ACPI_5_0_PM_PROFILE_DESKTOP 1
+#define EFI_ACPI_5_0_PM_PROFILE_MOBILE 2
+#define EFI_ACPI_5_0_PM_PROFILE_WORKSTATION 3
+#define EFI_ACPI_5_0_PM_PROFILE_ENTERPRISE_SERVER 4
+#define EFI_ACPI_5_0_PM_PROFILE_SOHO_SERVER 5
+#define EFI_ACPI_5_0_PM_PROFILE_APPLIANCE_PC 6
+#define EFI_ACPI_5_0_PM_PROFILE_PERFORMANCE_SERVER 7
+#define EFI_ACPI_5_0_PM_PROFILE_TABLET 8
+
+//
+// Fixed ACPI Description Table Boot Architecture Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_5_0_LEGACY_DEVICES BIT0
+#define EFI_ACPI_5_0_8042 BIT1
+#define EFI_ACPI_5_0_VGA_NOT_PRESENT BIT2
+#define EFI_ACPI_5_0_MSI_NOT_SUPPORTED BIT3
+#define EFI_ACPI_5_0_PCIE_ASPM_CONTROLS BIT4
+#define EFI_ACPI_5_0_CMOS_RTC_NOT_PRESENT BIT5
+
+//
+// Fixed ACPI Description Table Fixed Feature Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_5_0_WBINVD BIT0
+#define EFI_ACPI_5_0_WBINVD_FLUSH BIT1
+#define EFI_ACPI_5_0_PROC_C1 BIT2
+#define EFI_ACPI_5_0_P_LVL2_UP BIT3
+#define EFI_ACPI_5_0_PWR_BUTTON BIT4
+#define EFI_ACPI_5_0_SLP_BUTTON BIT5
+#define EFI_ACPI_5_0_FIX_RTC BIT6
+#define EFI_ACPI_5_0_RTC_S4 BIT7
+#define EFI_ACPI_5_0_TMR_VAL_EXT BIT8
+#define EFI_ACPI_5_0_DCK_CAP BIT9
+#define EFI_ACPI_5_0_RESET_REG_SUP BIT10
+#define EFI_ACPI_5_0_SEALED_CASE BIT11
+#define EFI_ACPI_5_0_HEADLESS BIT12
+#define EFI_ACPI_5_0_CPU_SW_SLP BIT13
+#define EFI_ACPI_5_0_PCI_EXP_WAK BIT14
+#define EFI_ACPI_5_0_USE_PLATFORM_CLOCK BIT15
+#define EFI_ACPI_5_0_S4_RTC_STS_VALID BIT16
+#define EFI_ACPI_5_0_REMOTE_POWER_ON_CAPABLE BIT17
+#define EFI_ACPI_5_0_FORCE_APIC_CLUSTER_MODEL BIT18
+#define EFI_ACPI_5_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
+#define EFI_ACPI_5_0_HW_REDUCED_ACPI BIT20
+#define EFI_ACPI_5_0_LOW_POWER_S0_IDLE_CAPABLE BIT21
+
+///
+/// Firmware ACPI Control Structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+ UINT32 HardwareSignature;
+ UINT32 FirmwareWakingVector;
+ UINT32 GlobalLock;
+ UINT32 Flags;
+ UINT64 XFirmwareWakingVector;
+ UINT8 Version;
+ UINT8 Reserved0[3];
+ UINT32 OspmFlags;
+ UINT8 Reserved1[24];
+} EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
+
+///
+/// FACS Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x02
+
+///
+/// Firmware Control Structure Feature Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_5_0_S4BIOS_F BIT0
+#define EFI_ACPI_5_0_64BIT_WAKE_SUPPORTED_F BIT1
+
+///
+/// OSPM Enabled Firmware Control Structure Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_5_0_OSPM_64BIT_WAKE_F BIT0
+
+//
+// Differentiated System Description Table,
+// Secondary System Description Table
+// and Persistent System Description Table,
+// no definition needed as they are common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
+//
+#define EFI_ACPI_5_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
+#define EFI_ACPI_5_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
+
+///
+/// Multiple APIC Description Table header definition. The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 LocalApicAddress;
+ UINT32 Flags;
+} EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
+
+///
+/// MADT Revision (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x03
+
+///
+/// Multiple APIC Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_5_0_PCAT_COMPAT BIT0
+
+//
+// Multiple APIC Description Table APIC structure types
+// All other values between 0x0D and 0x7F are reserved and
+// will be ignored by OSPM. 0x80 ~ 0xFF are reserved for OEM.
+//
+#define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC 0x00
+#define EFI_ACPI_5_0_IO_APIC 0x01
+#define EFI_ACPI_5_0_INTERRUPT_SOURCE_OVERRIDE 0x02
+#define EFI_ACPI_5_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
+#define EFI_ACPI_5_0_LOCAL_APIC_NMI 0x04
+#define EFI_ACPI_5_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
+#define EFI_ACPI_5_0_IO_SAPIC 0x06
+#define EFI_ACPI_5_0_LOCAL_SAPIC 0x07
+#define EFI_ACPI_5_0_PLATFORM_INTERRUPT_SOURCES 0x08
+#define EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC 0x09
+#define EFI_ACPI_5_0_LOCAL_X2APIC_NMI 0x0A
+#define EFI_ACPI_5_0_GIC 0x0B
+#define EFI_ACPI_5_0_GICD 0x0C
+
+//
+// APIC Structure Definitions
+//
+
+///
+/// Processor Local APIC Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 ApicId;
+ UINT32 Flags;
+} EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
+
+///
+/// Local APIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_0_LOCAL_APIC_ENABLED BIT0
+
+///
+/// IO APIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 IoApicAddress;
+ UINT32 GlobalSystemInterruptBase;
+} EFI_ACPI_5_0_IO_APIC_STRUCTURE;
+
+///
+/// Interrupt Source Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Bus;
+ UINT8 Source;
+ UINT32 GlobalSystemInterrupt;
+ UINT16 Flags;
+} EFI_ACPI_5_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 PlatformInterruptSourceFlags;
+ UINT8 CpeiProcessorOverride;
+ UINT8 Reserved[31];
+} EFI_ACPI_5_0_PLATFORM_INTERRUPT_APIC_STRUCTURE;
+
+//
+// MPS INTI flags.
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_5_0_POLARITY (3 << 0)
+#define EFI_ACPI_5_0_TRIGGER_MODE (3 << 2)
+
+///
+/// Non-Maskable Interrupt Source Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 GlobalSystemInterrupt;
+} EFI_ACPI_5_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
+
+///
+/// Local APIC NMI Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT16 Flags;
+ UINT8 LocalApicLint;
+} EFI_ACPI_5_0_LOCAL_APIC_NMI_STRUCTURE;
+
+///
+/// Local APIC Address Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT64 LocalApicAddress;
+} EFI_ACPI_5_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
+
+///
+/// IO SAPIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 GlobalSystemInterruptBase;
+ UINT64 IoSapicAddress;
+} EFI_ACPI_5_0_IO_SAPIC_STRUCTURE;
+
+///
+/// Local SAPIC Structure
+/// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 LocalSapicId;
+ UINT8 LocalSapicEid;
+ UINT8 Reserved[3];
+ UINT32 Flags;
+ UINT32 ACPIProcessorUIDValue;
+} EFI_ACPI_5_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 PlatformInterruptSourceFlags;
+} EFI_ACPI_5_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
+
+///
+/// Platform Interrupt Source Flags.
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_5_0_CPEI_PROCESSOR_OVERRIDE BIT0
+
+///
+/// Processor Local x2APIC Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved[2];
+ UINT32 X2ApicId;
+ UINT32 Flags;
+ UINT32 AcpiProcessorUid;
+} EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE;
+
+///
+/// Local x2APIC NMI Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 AcpiProcessorUid;
+ UINT8 LocalX2ApicLint;
+ UINT8 Reserved[3];
+} EFI_ACPI_5_0_LOCAL_X2APIC_NMI_STRUCTURE;
+
+///
+/// GIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT32 GicId;
+ UINT32 AcpiProcessorUid;
+ UINT32 Flags;
+ UINT32 ParkingProtocolVersion;
+ UINT32 PerformanceInterruptGsiv;
+ UINT64 ParkedAddress;
+ UINT64 PhysicalBaseAddress;
+} EFI_ACPI_5_0_GIC_STRUCTURE;
+
+///
+/// GIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_0_GIC_ENABLED BIT0
+#define EFI_ACPI_5_0_PERFORMANCE_INTERRUPT_MODEL BIT1
+
+///
+/// GIC Distributor Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved1;
+ UINT32 GicId;
+ UINT64 PhysicalBaseAddress;
+ UINT32 SystemVectorBase;
+ UINT32 Reserved2;
+} EFI_ACPI_5_0_GIC_DISTRIBUTOR_STRUCTURE;
+
+///
+/// Smart Battery Description Table (SBST)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 WarningEnergyLevel;
+ UINT32 LowEnergyLevel;
+ UINT32 CriticalEnergyLevel;
+} EFI_ACPI_5_0_SMART_BATTERY_DESCRIPTION_TABLE;
+
+///
+/// SBST Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Embedded Controller Boot Resources Table (ECDT)
+/// The table is followed by a null terminated ASCII string that contains
+/// a fully qualified reference to the name space object.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE EcControl;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE EcData;
+ UINT32 Uid;
+ UINT8 GpeBit;
+} EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE;
+
+///
+/// ECDT Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
+
+///
+/// System Resource Affinity Table (SRAT). The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Reserved1; ///< Must be set to 1
+ UINT64 Reserved2;
+} EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER;
+
+///
+/// SRAT Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x03
+
+//
+// SRAT structure types.
+// All other values between 0x03 an 0xFF are reserved and
+// will be ignored by OSPM.
+//
+#define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
+#define EFI_ACPI_5_0_MEMORY_AFFINITY 0x01
+#define EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC_AFFINITY 0x02
+
+///
+/// Processor Local APIC/SAPIC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 ProximityDomain7To0;
+ UINT8 ApicId;
+ UINT32 Flags;
+ UINT8 LocalSapicEid;
+ UINT8 ProximityDomain31To8[3];
+ UINT32 ClockDomain;
+} EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE;
+
+///
+/// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
+
+///
+/// Memory Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT32 ProximityDomain;
+ UINT16 Reserved1;
+ UINT32 AddressBaseLow;
+ UINT32 AddressBaseHigh;
+ UINT32 LengthLow;
+ UINT32 LengthHigh;
+ UINT32 Reserved2;
+ UINT32 Flags;
+ UINT64 Reserved3;
+} EFI_ACPI_5_0_MEMORY_AFFINITY_STRUCTURE;
+
+//
+// Memory Flags. All other bits are reserved and must be 0.
+//
+#define EFI_ACPI_5_0_MEMORY_ENABLED (1 << 0)
+#define EFI_ACPI_5_0_MEMORY_HOT_PLUGGABLE (1 << 1)
+#define EFI_ACPI_5_0_MEMORY_NONVOLATILE (1 << 2)
+
+///
+/// Processor Local x2APIC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved1[2];
+ UINT32 ProximityDomain;
+ UINT32 X2ApicId;
+ UINT32 Flags;
+ UINT32 ClockDomain;
+ UINT8 Reserved2[4];
+} EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC_AFFINITY_STRUCTURE;
+
+///
+/// System Locality Distance Information Table (SLIT).
+/// The rest of the table is a matrix.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT64 NumberOfSystemLocalities;
+} EFI_ACPI_5_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER;
+
+///
+/// SLIT Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
+
+///
+/// Corrected Platform Error Polling Table (CPEP)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT8 Reserved[8];
+} EFI_ACPI_5_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_HEADER;
+
+///
+/// CPEP Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_REVISION 0x01
+
+//
+// CPEP processor structure types.
+//
+#define EFI_ACPI_5_0_CPEP_PROCESSOR_APIC_SAPIC 0x00
+
+///
+/// Corrected Platform Error Polling Processor Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT32 PollingInterval;
+} EFI_ACPI_5_0_CPEP_PROCESSOR_APIC_SAPIC_STRUCTURE;
+
+///
+/// Maximum System Characteristics Table (MSCT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 OffsetProxDomInfo;
+ UINT32 MaximumNumberOfProximityDomains;
+ UINT32 MaximumNumberOfClockDomains;
+ UINT64 MaximumPhysicalAddress;
+} EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_HEADER;
+
+///
+/// MSCT Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION 0x01
+
+///
+/// Maximum Proximity Domain Information Structure Definition
+///
+typedef struct {
+ UINT8 Revision;
+ UINT8 Length;
+ UINT32 ProximityDomainRangeLow;
+ UINT32 ProximityDomainRangeHigh;
+ UINT32 MaximumProcessorCapacity;
+ UINT64 MaximumMemoryCapacity;
+} EFI_ACPI_5_0_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE;
+
+///
+/// ACPI RAS Feature Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT8 PlatformCommunicationChannelIdentifier[12];
+} EFI_ACPI_5_0_RAS_FEATURE_TABLE;
+
+///
+/// RASF Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_RAS_FEATURE_TABLE_REVISION 0x01
+
+///
+/// ACPI RASF Platform Communication Channel Shared Memory Region definition.
+///
+typedef struct {
+ UINT32 Signature;
+ UINT16 Command;
+ UINT16 Status;
+ UINT16 Version;
+ UINT8 RASCapabilities[16];
+ UINT8 SetRASCapabilities[16];
+ UINT16 NumberOfRASFParameterBlocks;
+ UINT32 SetRASCapabilitiesStatus;
+} EFI_ACPI_5_0_RASF_PLATFORM_COMMUNICATION_CHANNEL_SHARED_MEMORY_REGION;
+
+///
+/// ACPI RASF PCC command code
+///
+#define EFI_ACPI_5_0_RASF_PCC_COMMAND_CODE_EXECUTE_RASF_COMMAND 0x01
+
+///
+/// ACPI RASF Platform RAS Capabilities
+///
+#define EFI_ACPI_5_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED 0x01
+#define EFI_ACPI_5_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED_AND_EXPOSED_TO_SOFTWARE 0x02
+
+///
+/// ACPI RASF Parameter Block structure for PATROL_SCRUB
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 Version;
+ UINT16 Length;
+ UINT16 PatrolScrubCommand;
+ UINT64 RequestedAddressRange[2];
+ UINT64 ActualAddressRange[2];
+ UINT16 Flags;
+ UINT8 RequestedSpeed;
+} EFI_ACPI_5_0_RASF_PATROL_SCRUB_PLATFORM_BLOCK_STRUCTURE;
+
+///
+/// ACPI RASF Patrol Scrub command
+///
+#define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_GET_PATROL_PARAMETERS 0x01
+#define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_START_PATROL_SCRUBBER 0x02
+#define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_STOP_PATROL_SCRUBBER 0x03
+
+///
+/// Memory Power State Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT8 PlatformCommunicationChannelIdentifier;
+ UINT8 Reserved[3];
+// Memory Power Node Structure
+// Memory Power State Characteristics
+} EFI_ACPI_5_0_MEMORY_POWER_STATUS_TABLE;
+
+///
+/// MPST Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_MEMORY_POWER_STATE_TABLE_REVISION 0x01
+
+///
+/// MPST Platform Communication Channel Shared Memory Region definition.
+///
+typedef struct {
+ UINT32 Signature;
+ UINT16 Command;
+ UINT16 Status;
+ UINT32 MemoryPowerCommandRegister;
+ UINT32 MemoryPowerStatusRegister;
+ UINT32 PowerStateId;
+ UINT32 MemoryPowerNodeId;
+ UINT64 MemoryEnergyConsumed;
+ UINT64 ExpectedAveragePowerComsuned;
+} EFI_ACPI_5_0_MPST_PLATFORM_COMMUNICATION_CHANNEL_SHARED_MEMORY_REGION;
+
+///
+/// ACPI MPST PCC command code
+///
+#define EFI_ACPI_5_0_MPST_PCC_COMMAND_CODE_EXECUTE_MPST_COMMAND 0x03
+
+///
+/// ACPI MPST Memory Power command
+///
+#define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_POWER_STATE 0x01
+#define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_SET_MEMORY_POWER_STATE 0x02
+#define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_AVERAGE_POWER_CONSUMED 0x03
+#define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_ENERGY_CONSUMED 0x04
+
+///
+/// MPST Memory Power Node Table
+///
+typedef struct {
+ UINT8 PowerStateValue;
+ UINT8 PowerStateInformationIndex;
+} EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE;
+
+typedef struct {
+ UINT8 Flag;
+ UINT8 Reserved;
+ UINT16 MemoryPowerNodeId;
+ UINT32 Length;
+ UINT64 AddressBase;
+ UINT64 AddressLength;
+ UINT32 NumberOfPowerStates;
+ UINT32 NumberOfPhysicalComponents;
+//EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE MemoryPowerState[NumberOfPowerStates];
+//UINT16 PhysicalComponentIdentifier[NumberOfPhysicalComponents];
+} EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE;
+
+#define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_ENABLE 0x01
+#define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_POWER_MANAGED 0x02
+#define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_HOT_PLUGGABLE 0x04
+
+typedef struct {
+ UINT16 MemoryPowerNodeCount;
+ UINT8 Reserved[2];
+} EFI_ACPI_5_0_MPST_MEMORY_POWER_NODE_TABLE;
+
+///
+/// MPST Memory Power State Characteristics Table
+///
+typedef struct {
+ UINT8 PowerStateStructureID;
+ UINT8 Flag;
+ UINT16 Reserved;
+ UINT32 AveragePowerConsumedInMPS0;
+ UINT32 RelativePowerSavingToMPS0;
+ UINT64 ExitLatencyToMPS0;
+} EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE;
+
+#define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_MEMORY_CONTENT_PRESERVED 0x01
+#define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_ENTRY 0x02
+#define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_EXIT 0x04
+
+typedef struct {
+ UINT16 MemoryPowerStateCharacteristicsCount;
+ UINT8 Reserved[2];
+} EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_TABLE;
+
+///
+/// Memory Topology Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Reserved;
+} EFI_ACPI_5_0_MEMORY_TOPOLOGY_TABLE;
+
+///
+/// PMTT Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_MEMORY_TOPOLOGY_TABLE_REVISION 0x01
+
+///
+/// Common Memory Aggregator Device Structure.
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Reserved;
+ UINT16 Length;
+ UINT16 Flags;
+ UINT16 Reserved1;
+} EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// Memory Aggregator Device Type
+///
+#define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
+#define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
+#define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
+
+///
+/// Socket Memory Aggregator Device Structure.
+///
+typedef struct {
+ EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;
+ UINT16 SocketIdentifier;
+ UINT16 Reserved;
+//EFI_ACPI_5_0_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];
+} EFI_ACPI_5_0_PMMT_SOCKET_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// MemoryController Memory Aggregator Device Structure.
+///
+typedef struct {
+ EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;
+ UINT32 ReadLatency;
+ UINT32 WriteLatency;
+ UINT32 ReadBandwidth;
+ UINT32 WriteBandwidth;
+ UINT16 OptimalAccessUnit;
+ UINT16 OptimalAccessAlignment;
+ UINT16 Reserved;
+ UINT16 NumberOfProximityDomains;
+//UINT32 ProximityDomain[NumberOfProximityDomains];
+//EFI_ACPI_5_0_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE PhysicalComponent[];
+} EFI_ACPI_5_0_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// DIMM Memory Aggregator Device Structure.
+///
+typedef struct {
+ EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;
+ UINT16 PhysicalComponentIdentifier;
+ UINT16 Reserved;
+ UINT32 SizeOfDimm;
+ UINT32 SmbiosHandle;
+} EFI_ACPI_5_0_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// Boot Graphics Resource Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ ///
+ /// 2-bytes (16 bit) version ID. This value must be 1.
+ ///
+ UINT16 Version;
+ ///
+ /// 1-byte status field indicating current status about the table.
+ /// Bits[7:1] = Reserved (must be zero)
+ /// Bit [0] = Valid. A one indicates the boot image graphic is valid.
+ ///
+ UINT8 Status;
+ ///
+ /// 1-byte enumerated type field indicating format of the image.
+ /// 0 = Bitmap
+ /// 1 - 255 Reserved (for future use)
+ ///
+ UINT8 ImageType;
+ ///
+ /// 8-byte (64 bit) physical address pointing to the firmware's in-memory copy
+ /// of the image bitmap.
+ ///
+ UINT64 ImageAddress;
+ ///
+ /// A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
+ /// (X, Y) display offset of the top left corner of the boot image.
+ /// The top left corner of the display is at offset (0, 0).
+ ///
+ UINT32 ImageOffsetX;
+ ///
+ /// A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
+ /// (X, Y) display offset of the top left corner of the boot image.
+ /// The top left corner of the display is at offset (0, 0).
+ ///
+ UINT32 ImageOffsetY;
+} EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE;
+
+///
+/// BGRT Revision
+///
+#define EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION 1
+
+///
+/// BGRT Version
+///
+#define EFI_ACPI_5_0_BGRT_VERSION 0x01
+
+///
+/// BGRT Status
+///
+#define EFI_ACPI_5_0_BGRT_STATUS_NOT_DISPLAYED 0x00
+#define EFI_ACPI_5_0_BGRT_STATUS_DISPLAYED 0x01
+#define EFI_ACPI_5_0_BGRT_STATUS_INVALID EFI_ACPI_5_0_BGRT_STATUS_NOT_DISPLAYED
+#define EFI_ACPI_5_0_BGRT_STATUS_VALID EFI_ACPI_5_0_BGRT_STATUS_DISPLAYED
+
+///
+/// BGRT Image Type
+///
+#define EFI_ACPI_5_0_BGRT_IMAGE_TYPE_BMP 0x00
+
+///
+/// FPDT Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_REVISION 0x01
+
+///
+/// FPDT Performance Record Types
+///
+#define EFI_ACPI_5_0_FPDT_RECORD_TYPE_FIRMWARE_BASIC_BOOT_POINTER 0x0000
+#define EFI_ACPI_5_0_FPDT_RECORD_TYPE_S3_PERFORMANCE_TABLE_POINTER 0x0001
+
+///
+/// FPDT Performance Record Revision
+///
+#define EFI_ACPI_5_0_FPDT_RECORD_REVISION_FIRMWARE_BASIC_BOOT_POINTER 0x01
+#define EFI_ACPI_5_0_FPDT_RECORD_REVISION_S3_PERFORMANCE_TABLE_POINTER 0x01
+
+///
+/// FPDT Runtime Performance Record Types
+///
+#define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_S3_RESUME 0x0000
+#define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_S3_SUSPEND 0x0001
+#define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_FIRMWARE_BASIC_BOOT 0x0002
+
+///
+/// FPDT Runtime Performance Record Revision
+///
+#define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_S3_RESUME 0x01
+#define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_S3_SUSPEND 0x01
+#define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_FIRMWARE_BASIC_BOOT 0x02
+
+///
+/// FPDT Performance Record header
+///
+typedef struct {
+ UINT16 Type;
+ UINT8 Length;
+ UINT8 Revision;
+} EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER;
+
+///
+/// FPDT Performance Table header
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+} EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER;
+
+///
+/// FPDT Firmware Basic Boot Performance Pointer Record Structure
+///
+typedef struct {
+ EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ UINT32 Reserved;
+ ///
+ /// 64-bit processor-relative physical address of the Basic Boot Performance Table.
+ ///
+ UINT64 BootPerformanceTablePointer;
+} EFI_ACPI_5_0_FPDT_BOOT_PERFORMANCE_TABLE_POINTER_RECORD;
+
+///
+/// FPDT S3 Performance Table Pointer Record Structure
+///
+typedef struct {
+ EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ UINT32 Reserved;
+ ///
+ /// 64-bit processor-relative physical address of the S3 Performance Table.
+ ///
+ UINT64 S3PerformanceTablePointer;
+} EFI_ACPI_5_0_FPDT_S3_PERFORMANCE_TABLE_POINTER_RECORD;
+
+///
+/// FPDT Firmware Basic Boot Performance Record Structure
+///
+typedef struct {
+ EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ UINT32 Reserved;
+ ///
+ /// Timer value logged at the beginning of firmware image execution.
+ /// This may not always be zero or near zero.
+ ///
+ UINT64 ResetEnd;
+ ///
+ /// Timer value logged just prior to loading the OS boot loader into memory.
+ /// For non-UEFI compatible boots, this field must be zero.
+ ///
+ UINT64 OsLoaderLoadImageStart;
+ ///
+ /// Timer value logged just prior to launching the previously loaded OS boot loader image.
+ /// For non-UEFI compatible boots, the timer value logged will be just prior
+ /// to the INT 19h handler invocation.
+ ///
+ UINT64 OsLoaderStartImageStart;
+ ///
+ /// Timer value logged at the point when the OS loader calls the
+ /// ExitBootServices function for UEFI compatible firmware.
+ /// For non-UEFI compatible boots, this field must be zero.
+ ///
+ UINT64 ExitBootServicesEntry;
+ ///
+ /// Timer value logged at the point just prior towhen the OS loader gaining
+ /// control back from calls the ExitBootServices function for UEFI compatible firmware.
+ /// For non-UEFI compatible boots, this field must be zero.
+ ///
+ UINT64 ExitBootServicesExit;
+} EFI_ACPI_5_0_FPDT_FIRMWARE_BASIC_BOOT_RECORD;
+
+///
+/// FPDT Firmware Basic Boot Performance Table signature
+///
+#define EFI_ACPI_5_0_FPDT_BOOT_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('F', 'B', 'P', 'T')
+
+//
+// FPDT Firmware Basic Boot Performance Table
+//
+typedef struct {
+ EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header;
+ //
+ // one or more Performance Records.
+ //
+} EFI_ACPI_5_0_FPDT_FIRMWARE_BASIC_BOOT_TABLE;
+
+///
+/// FPDT "S3PT" S3 Performance Table
+///
+#define EFI_ACPI_5_0_FPDT_S3_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('S', '3', 'P', 'T')
+
+//
+// FPDT Firmware S3 Boot Performance Table
+//
+typedef struct {
+ EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header;
+ //
+ // one or more Performance Records.
+ //
+} EFI_ACPI_5_0_FPDT_FIRMWARE_S3_BOOT_TABLE;
+
+///
+/// FPDT Basic S3 Resume Performance Record
+///
+typedef struct {
+ EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ ///
+ /// A count of the number of S3 resume cycles since the last full boot sequence.
+ ///
+ UINT32 ResumeCount;
+ ///
+ /// Timer recorded at the end of BIOS S3 resume, just prior to handoff to the
+ /// OS waking vector. Only the most recent resume cycle's time is retained.
+ ///
+ UINT64 FullResume;
+ ///
+ /// Average timer value of all resume cycles logged since the last full boot
+ /// sequence, including the most recent resume. Note that the entire log of
+ /// timer values does not need to be retained in order to calculate this average.
+ ///
+ UINT64 AverageResume;
+} EFI_ACPI_5_0_FPDT_S3_RESUME_RECORD;
+
+///
+/// FPDT Basic S3 Suspend Performance Record
+///
+typedef struct {
+ EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ ///
+ /// Timer value recorded at the OS write to SLP_TYP upon entry to S3.
+ /// Only the most recent suspend cycle's timer value is retained.
+ ///
+ UINT64 SuspendStart;
+ ///
+ /// Timer value recorded at the final firmware write to SLP_TYP (or other
+ /// mechanism) used to trigger hardware entry to S3.
+ /// Only the most recent suspend cycle's timer value is retained.
+ ///
+ UINT64 SuspendEnd;
+} EFI_ACPI_5_0_FPDT_S3_SUSPEND_RECORD;
+
+///
+/// Firmware Performance Record Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+} EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_RECORD_TABLE;
+
+///
+/// Generic Timer Description Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT64 PhysicalAddress;
+ UINT32 GlobalFlags;
+ UINT32 SecurePL1TimerGSIV;
+ UINT32 SecurePL1TimerFlags;
+ UINT32 NonSecurePL1TimerGSIV;
+ UINT32 NonSecurePL1TimerFlags;
+ UINT32 VirtualTimerGSIV;
+ UINT32 VirtualTimerFlags;
+ UINT32 NonSecurePL2TimerGSIV;
+ UINT32 NonSecurePL2TimerFlags;
+} EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE;
+
+///
+/// GTDT Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Global Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_0_GTDT_GLOBAL_FLAG_MEMORY_MAPPED_BLOCK_PRESENT BIT0
+#define EFI_ACPI_5_0_GTDT_GLOBAL_FLAG_INTERRUPT_MODE BIT1
+
+///
+/// Timer Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
+#define EFI_ACPI_5_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
+
+///
+/// Boot Error Record Table (BERT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 BootErrorRegionLength;
+ UINT64 BootErrorRegion;
+} EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_HEADER;
+
+///
+/// BERT Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_REVISION 0x01
+
+///
+/// Boot Error Region Block Status Definition
+///
+typedef struct {
+ UINT32 UncorrectableErrorValid:1;
+ UINT32 CorrectableErrorValid:1;
+ UINT32 MultipleUncorrectableErrors:1;
+ UINT32 MultipleCorrectableErrors:1;
+ UINT32 ErrorDataEntryCount:10;
+ UINT32 Reserved:18;
+} EFI_ACPI_5_0_ERROR_BLOCK_STATUS;
+
+///
+/// Boot Error Region Definition
+///
+typedef struct {
+ EFI_ACPI_5_0_ERROR_BLOCK_STATUS BlockStatus;
+ UINT32 RawDataOffset;
+ UINT32 RawDataLength;
+ UINT32 DataLength;
+ UINT32 ErrorSeverity;
+} EFI_ACPI_5_0_BOOT_ERROR_REGION_STRUCTURE;
+
+//
+// Boot Error Severity types
+//
+#define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTABLE 0x00
+#define EFI_ACPI_5_0_ERROR_SEVERITY_FATAL 0x01
+#define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTED 0x02
+#define EFI_ACPI_5_0_ERROR_SEVERITY_NONE 0x03
+
+///
+/// Generic Error Data Entry Definition
+///
+typedef struct {
+ UINT8 SectionType[16];
+ UINT32 ErrorSeverity;
+ UINT16 Revision;
+ UINT8 ValidationBits;
+ UINT8 Flags;
+ UINT32 ErrorDataLength;
+ UINT8 FruId[16];
+ UINT8 FruText[20];
+} EFI_ACPI_5_0_GENERIC_ERROR_DATA_ENTRY_STRUCTURE;
+
+///
+/// Generic Error Data Entry Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_GENERIC_ERROR_DATA_ENTRY_REVISION 0x0201
+
+///
+/// HEST - Hardware Error Source Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 ErrorSourceCount;
+} EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_HEADER;
+
+///
+/// HEST Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_REVISION 0x01
+
+//
+// Error Source structure types.
+//
+#define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION 0x00
+#define EFI_ACPI_5_0_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK 0x01
+#define EFI_ACPI_5_0_IA32_ARCHITECTURE_NMI_ERROR 0x02
+#define EFI_ACPI_5_0_PCI_EXPRESS_ROOT_PORT_AER 0x06
+#define EFI_ACPI_5_0_PCI_EXPRESS_DEVICE_AER 0x07
+#define EFI_ACPI_5_0_PCI_EXPRESS_BRIDGE_AER 0x08
+#define EFI_ACPI_5_0_GENERIC_HARDWARE_ERROR 0x09
+
+//
+// Error Source structure flags.
+//
+#define EFI_ACPI_5_0_ERROR_SOURCE_FLAG_FIRMWARE_FIRST (1 << 0)
+#define EFI_ACPI_5_0_ERROR_SOURCE_FLAG_GLOBAL (1 << 1)
+
+///
+/// IA-32 Architecture Machine Check Exception Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT64 GlobalCapabilityInitData;
+ UINT64 GlobalControlInitData;
+ UINT8 NumberOfHardwareBanks;
+ UINT8 Reserved1[7];
+} EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION_STRUCTURE;
+
+///
+/// IA-32 Architecture Machine Check Bank Structure Definition
+///
+typedef struct {
+ UINT8 BankNumber;
+ UINT8 ClearStatusOnInitialization;
+ UINT8 StatusDataFormat;
+ UINT8 Reserved0;
+ UINT32 ControlRegisterMsrAddress;
+ UINT64 ControlInitData;
+ UINT32 StatusRegisterMsrAddress;
+ UINT32 AddressRegisterMsrAddress;
+ UINT32 MiscRegisterMsrAddress;
+} EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_BANK_STRUCTURE;
+
+///
+/// IA-32 Architecture Machine Check Bank Structure MCA data format
+///
+#define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_IA32 0x00
+#define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_INTEL64 0x01
+#define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_AMD64 0x02
+
+//
+// Hardware Error Notification types. All other values are reserved
+//
+#define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_POLLED 0x00
+#define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_EXTERNAL_INTERRUPT 0x01
+#define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT 0x02
+#define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_SCI 0x03
+#define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_NMI 0x04
+
+///
+/// Hardware Error Notification Configuration Write Enable Structure Definition
+///
+typedef struct {
+ UINT16 Type:1;
+ UINT16 PollInterval:1;
+ UINT16 SwitchToPollingThresholdValue:1;
+ UINT16 SwitchToPollingThresholdWindow:1;
+ UINT16 ErrorThresholdValue:1;
+ UINT16 ErrorThresholdWindow:1;
+ UINT16 Reserved:10;
+} EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
+
+///
+/// Hardware Error Notification Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable;
+ UINT32 PollInterval;
+ UINT32 Vector;
+ UINT32 SwitchToPollingThresholdValue;
+ UINT32 SwitchToPollingThresholdWindow;
+ UINT32 ErrorThresholdValue;
+ UINT32 ErrorThresholdWindow;
+} EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE;
+
+///
+/// IA-32 Architecture Corrected Machine Check Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure;
+ UINT8 NumberOfHardwareBanks;
+ UINT8 Reserved1[3];
+} EFI_ACPI_5_0_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK_STRUCTURE;
+
+///
+/// IA-32 Architecture NMI Error Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 MaxRawDataLength;
+} EFI_ACPI_5_0_IA32_ARCHITECTURE_NMI_ERROR_STRUCTURE;
+
+///
+/// PCI Express Root Port AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+ UINT32 RootErrorCommand;
+} EFI_ACPI_5_0_PCI_EXPRESS_ROOT_PORT_AER_STRUCTURE;
+
+///
+/// PCI Express Device AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+} EFI_ACPI_5_0_PCI_EXPRESS_DEVICE_AER_STRUCTURE;
+
+///
+/// PCI Express Bridge AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+ UINT32 SecondaryUncorrectableErrorMask;
+ UINT32 SecondaryUncorrectableErrorSeverity;
+ UINT32 SecondaryAdvancedErrorCapabilitiesAndControl;
+} EFI_ACPI_5_0_PCI_EXPRESS_BRIDGE_AER_STRUCTURE;
+
+///
+/// Generic Hardware Error Source Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT16 RelatedSourceId;
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 MaxRawDataLength;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress;
+ EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure;
+ UINT32 ErrorStatusBlockLength;
+} EFI_ACPI_5_0_GENERIC_HARDWARE_ERROR_SOURCE_STRUCTURE;
+
+///
+/// Generic Error Status Definition
+///
+typedef struct {
+ EFI_ACPI_5_0_ERROR_BLOCK_STATUS BlockStatus;
+ UINT32 RawDataOffset;
+ UINT32 RawDataLength;
+ UINT32 DataLength;
+ UINT32 ErrorSeverity;
+} EFI_ACPI_5_0_GENERIC_ERROR_STATUS_STRUCTURE;
+
+///
+/// ERST - Error Record Serialization Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 SerializationHeaderSize;
+ UINT8 Reserved0[4];
+ UINT32 InstructionEntryCount;
+} EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_HEADER;
+
+///
+/// ERST Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_REVISION 0x01
+
+///
+/// ERST Serialization Actions
+///
+#define EFI_ACPI_5_0_ERST_BEGIN_WRITE_OPERATION 0x00
+#define EFI_ACPI_5_0_ERST_BEGIN_READ_OPERATION 0x01
+#define EFI_ACPI_5_0_ERST_BEGIN_CLEAR_OPERATION 0x02
+#define EFI_ACPI_5_0_ERST_END_OPERATION 0x03
+#define EFI_ACPI_5_0_ERST_SET_RECORD_OFFSET 0x04
+#define EFI_ACPI_5_0_ERST_EXECUTE_OPERATION 0x05
+#define EFI_ACPI_5_0_ERST_CHECK_BUSY_STATUS 0x06
+#define EFI_ACPI_5_0_ERST_GET_COMMAND_STATUS 0x07
+#define EFI_ACPI_5_0_ERST_GET_RECORD_IDENTIFIER 0x08
+#define EFI_ACPI_5_0_ERST_SET_RECORD_IDENTIFIER 0x09
+#define EFI_ACPI_5_0_ERST_GET_RECORD_COUNT 0x0A
+#define EFI_ACPI_5_0_ERST_BEGIN_DUMMY_WRITE_OPERATION 0x0B
+#define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
+#define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
+#define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
+
+///
+/// ERST Action Command Status
+///
+#define EFI_ACPI_5_0_ERST_STATUS_SUCCESS 0x00
+#define EFI_ACPI_5_0_ERST_STATUS_NOT_ENOUGH_SPACE 0x01
+#define EFI_ACPI_5_0_ERST_STATUS_HARDWARE_NOT_AVAILABLE 0x02
+#define EFI_ACPI_5_0_ERST_STATUS_FAILED 0x03
+#define EFI_ACPI_5_0_ERST_STATUS_RECORD_STORE_EMPTY 0x04
+#define EFI_ACPI_5_0_ERST_STATUS_RECORD_NOT_FOUND 0x05
+
+///
+/// ERST Serialization Instructions
+///
+#define EFI_ACPI_5_0_ERST_READ_REGISTER 0x00
+#define EFI_ACPI_5_0_ERST_READ_REGISTER_VALUE 0x01
+#define EFI_ACPI_5_0_ERST_WRITE_REGISTER 0x02
+#define EFI_ACPI_5_0_ERST_WRITE_REGISTER_VALUE 0x03
+#define EFI_ACPI_5_0_ERST_NOOP 0x04
+#define EFI_ACPI_5_0_ERST_LOAD_VAR1 0x05
+#define EFI_ACPI_5_0_ERST_LOAD_VAR2 0x06
+#define EFI_ACPI_5_0_ERST_STORE_VAR1 0x07
+#define EFI_ACPI_5_0_ERST_ADD 0x08
+#define EFI_ACPI_5_0_ERST_SUBTRACT 0x09
+#define EFI_ACPI_5_0_ERST_ADD_VALUE 0x0A
+#define EFI_ACPI_5_0_ERST_SUBTRACT_VALUE 0x0B
+#define EFI_ACPI_5_0_ERST_STALL 0x0C
+#define EFI_ACPI_5_0_ERST_STALL_WHILE_TRUE 0x0D
+#define EFI_ACPI_5_0_ERST_SKIP_NEXT_INSTRUCTION_IF_TRUE 0x0E
+#define EFI_ACPI_5_0_ERST_GOTO 0x0F
+#define EFI_ACPI_5_0_ERST_SET_SRC_ADDRESS_BASE 0x10
+#define EFI_ACPI_5_0_ERST_SET_DST_ADDRESS_BASE 0x11
+#define EFI_ACPI_5_0_ERST_MOVE_DATA 0x12
+
+///
+/// ERST Instruction Flags
+///
+#define EFI_ACPI_5_0_ERST_PRESERVE_REGISTER 0x01
+
+///
+/// ERST Serialization Instruction Entry
+///
+typedef struct {
+ UINT8 SerializationAction;
+ UINT8 Instruction;
+ UINT8 Flags;
+ UINT8 Reserved0;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion;
+ UINT64 Value;
+ UINT64 Mask;
+} EFI_ACPI_5_0_ERST_SERIALIZATION_INSTRUCTION_ENTRY;
+
+///
+/// EINJ - Error Injection Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 InjectionHeaderSize;
+ UINT8 InjectionFlags;
+ UINT8 Reserved0[3];
+ UINT32 InjectionEntryCount;
+} EFI_ACPI_5_0_ERROR_INJECTION_TABLE_HEADER;
+
+///
+/// EINJ Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_ERROR_INJECTION_TABLE_REVISION 0x01
+
+///
+/// EINJ Error Injection Actions
+///
+#define EFI_ACPI_5_0_EINJ_BEGIN_INJECTION_OPERATION 0x00
+#define EFI_ACPI_5_0_EINJ_GET_TRIGGER_ERROR_ACTION_TABLE 0x01
+#define EFI_ACPI_5_0_EINJ_SET_ERROR_TYPE 0x02
+#define EFI_ACPI_5_0_EINJ_GET_ERROR_TYPE 0x03
+#define EFI_ACPI_5_0_EINJ_END_OPERATION 0x04
+#define EFI_ACPI_5_0_EINJ_EXECUTE_OPERATION 0x05
+#define EFI_ACPI_5_0_EINJ_CHECK_BUSY_STATUS 0x06
+#define EFI_ACPI_5_0_EINJ_GET_COMMAND_STATUS 0x07
+#define EFI_ACPI_5_0_EINJ_TRIGGER_ERROR 0xFF
+
+///
+/// EINJ Action Command Status
+///
+#define EFI_ACPI_5_0_EINJ_STATUS_SUCCESS 0x00
+#define EFI_ACPI_5_0_EINJ_STATUS_UNKNOWN_FAILURE 0x01
+#define EFI_ACPI_5_0_EINJ_STATUS_INVALID_ACCESS 0x02
+
+///
+/// EINJ Error Type Definition
+///
+#define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_CORRECTABLE (1 << 0)
+#define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_NONFATAL (1 << 1)
+#define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_FATAL (1 << 2)
+#define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_CORRECTABLE (1 << 3)
+#define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_NONFATAL (1 << 4)
+#define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_FATAL (1 << 5)
+#define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_CORRECTABLE (1 << 6)
+#define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_NONFATAL (1 << 7)
+#define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_FATAL (1 << 8)
+#define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_CORRECTABLE (1 << 9)
+#define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_NONFATAL (1 << 10)
+#define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_FATAL (1 << 11)
+
+///
+/// EINJ Injection Instructions
+///
+#define EFI_ACPI_5_0_EINJ_READ_REGISTER 0x00
+#define EFI_ACPI_5_0_EINJ_READ_REGISTER_VALUE 0x01
+#define EFI_ACPI_5_0_EINJ_WRITE_REGISTER 0x02
+#define EFI_ACPI_5_0_EINJ_WRITE_REGISTER_VALUE 0x03
+#define EFI_ACPI_5_0_EINJ_NOOP 0x04
+
+///
+/// EINJ Instruction Flags
+///
+#define EFI_ACPI_5_0_EINJ_PRESERVE_REGISTER 0x01
+
+///
+/// EINJ Injection Instruction Entry
+///
+typedef struct {
+ UINT8 InjectionAction;
+ UINT8 Instruction;
+ UINT8 Flags;
+ UINT8 Reserved0;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion;
+ UINT64 Value;
+ UINT64 Mask;
+} EFI_ACPI_5_0_EINJ_INJECTION_INSTRUCTION_ENTRY;
+
+///
+/// EINJ Trigger Action Table
+///
+typedef struct {
+ UINT32 HeaderSize;
+ UINT32 Revision;
+ UINT32 TableSize;
+ UINT32 EntryCount;
+} EFI_ACPI_5_0_EINJ_TRIGGER_ACTION_TABLE;
+
+///
+/// Platform Communications Channel Table (PCCT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Flags;
+ UINT64 Reserved;
+} EFI_ACPI_5_0_PLATFORM_COMMUNICATION_CHANNEL_TABLE_HEADER;
+
+///
+/// PCCT Version (as defined in ACPI 5.0 spec.)
+///
+#define EFI_ACPI_5_0_PLATFORM_COMMUNICATION_CHANNEL_TABLE_REVISION 0x01
+
+///
+/// PCCT Global Flags
+///
+#define EFI_ACPI_5_0_PCCT_FLAGS_SCI_DOORBELL BIT0
+
+//
+// PCCT Subspace type
+//
+#define EFI_ACPI_5_0_PCCT_SUBSPACE_TYPE_GENERIC 0x00
+
+///
+/// PCC Subspace Structure Header
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+} EFI_ACPI_5_0_PCCT_SUBSPACE_HEADER;
+
+///
+/// Generic Communications Subspace Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved[6];
+ UINT64 BaseAddress;
+ UINT64 AddressLength;
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister;
+ UINT64 DoorbellPreserve;
+ UINT64 DoorbellWrite;
+ UINT32 NominalLatency;
+ UINT32 MaximumPeriodicAccessRate;
+ UINT16 MinimumRequestTurnaroundTime;
+} EFI_ACPI_5_0_PCCT_SUBSPACE_GENERIC;
+
+///
+/// Generic Communications Channel Shared Memory Region
+///
+
+typedef struct {
+ UINT8 Command;
+ UINT8 Reserved:7;
+ UINT8 GenerateSci:1;
+} EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND;
+
+typedef struct {
+ UINT8 CommandComplete:1;
+ UINT8 SciDoorbell:1;
+ UINT8 Error:1;
+ UINT8 PlatformNotification:1;
+ UINT8 Reserved:4;
+ UINT8 Reserved1;
+} EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
+
+typedef struct {
+ UINT32 Signature;
+ EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND Command;
+ EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status;
+} EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_HEADER;
+
+//
+// Known table signatures
+//
+
+///
+/// "RSD PTR " Root System Description Pointer
+///
+#define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
+
+///
+/// "APIC" Multiple APIC Description Table
+///
+#define EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
+
+///
+/// "BERT" Boot Error Record Table
+///
+#define EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_SIGNATURE SIGNATURE_32('B', 'E', 'R', 'T')
+
+///
+/// "BGRT" Boot Graphics Resource Table
+///
+#define EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('B', 'G', 'R', 'T')
+
+///
+/// "CPEP" Corrected Platform Error Polling Table
+///
+#define EFI_ACPI_5_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
+
+///
+/// "DSDT" Differentiated System Description Table
+///
+#define EFI_ACPI_5_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
+
+///
+/// "ECDT" Embedded Controller Boot Resources Table
+///
+#define EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
+
+///
+/// "EINJ" Error Injection Table
+///
+#define EFI_ACPI_5_0_ERROR_INJECTION_TABLE_SIGNATURE SIGNATURE_32('E', 'I', 'N', 'J')
+
+///
+/// "ERST" Error Record Serialization Table
+///
+#define EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE SIGNATURE_32('E', 'R', 'S', 'T')
+
+///
+/// "FACP" Fixed ACPI Description Table
+///
+#define EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
+
+///
+/// "FACS" Firmware ACPI Control Structure
+///
+#define EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
+
+///
+/// "FPDT" Firmware Performance Data Table
+///
+#define EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE SIGNATURE_32('F', 'P', 'D', 'T')
+
+///
+/// "GTDT" Generic Timer Description Table
+///
+#define EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('G', 'T', 'D', 'T')
+
+///
+/// "HEST" Hardware Error Source Table
+///
+#define EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('H', 'E', 'S', 'T')
+
+///
+/// "MPST" Memory Power State Table
+///
+#define EFI_ACPI_5_0_MEMORY_POWER_STATE_TABLE_SIGNATURE SIGNATURE_32('M', 'P', 'S', 'T')
+
+///
+/// "MSCT" Maximum System Characteristics Table
+///
+#define EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'C', 'T')
+
+///
+/// "PMTT" Platform Memory Topology Table
+///
+#define EFI_ACPI_5_0_PLATFORM_MEMORY_TOPOLOGY_TABLE_SIGNATURE SIGNATURE_32('P', 'M', 'T', 'T')
+
+///
+/// "PSDT" Persistent System Description Table
+///
+#define EFI_ACPI_5_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
+
+///
+/// "RASF" ACPI RAS Feature Table
+///
+#define EFI_ACPI_5_0_ACPI_RAS_FEATURE_TABLE_SIGNATURE SIGNATURE_32('R', 'A', 'S', 'F')
+
+///
+/// "RSDT" Root System Description Table
+///
+#define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
+
+///
+/// "SBST" Smart Battery Specification Table
+///
+#define EFI_ACPI_5_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
+
+///
+/// "SLIT" System Locality Information Table
+///
+#define EFI_ACPI_5_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
+
+///
+/// "SRAT" System Resource Affinity Table
+///
+#define EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
+
+///
+/// "SSDT" Secondary System Description Table
+///
+#define EFI_ACPI_5_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
+
+///
+/// "XSDT" Extended System Description Table
+///
+#define EFI_ACPI_5_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
+
+///
+/// "BOOT" MS Simple Boot Spec
+///
+#define EFI_ACPI_5_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
+
+///
+/// "CSRT" MS Core System Resource Table
+///
+#define EFI_ACPI_5_0_CORE_SYSTEM_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('C', 'S', 'R', 'T')
+
+///
+/// "DBG2" MS Debug Port 2 Spec
+///
+#define EFI_ACPI_5_0_DEBUG_PORT_2_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', '2')
+
+///
+/// "DBGP" MS Debug Port Spec
+///
+#define EFI_ACPI_5_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
+
+///
+/// "DMAR" DMA Remapping Table
+///
+#define EFI_ACPI_5_0_DMA_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('D', 'M', 'A', 'R')
+
+///
+/// "DRTM" Dynamic Root of Trust for Measurement Table
+///
+#define EFI_ACPI_5_0_DYNAMIC_ROOT_OF_TRUST_FOR_MEASUREMENT_TABLE_SIGNATURE SIGNATURE_32('D', 'R', 'T', 'M')
+
+///
+/// "ETDT" Event Timer Description Table
+///
+#define EFI_ACPI_5_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
+
+///
+/// "HPET" IA-PC High Precision Event Timer Table
+///
+#define EFI_ACPI_5_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
+
+///
+/// "iBFT" iSCSI Boot Firmware Table
+///
+#define EFI_ACPI_5_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
+
+///
+/// "IVRS" I/O Virtualization Reporting Structure
+///
+#define EFI_ACPI_5_0_IO_VIRTUALIZATION_REPORTING_STRUCTURE_SIGNATURE SIGNATURE_32('I', 'V', 'R', 'S')
+
+///
+/// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
+///
+#define EFI_ACPI_5_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
+
+///
+/// "MCHI" Management Controller Host Interface Table
+///
+#define EFI_ACPI_5_0_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
+
+///
+/// "MSDM" MS Data Management Table
+///
+#define EFI_ACPI_5_0_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
+
+///
+/// "SLIC" MS Software Licensing Table Specification
+///
+#define EFI_ACPI_5_0_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
+
+///
+/// "SPCR" Serial Port Concole Redirection Table
+///
+#define EFI_ACPI_5_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
+
+///
+/// "SPMI" Server Platform Management Interface Table
+///
+#define EFI_ACPI_5_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
+
+///
+/// "TCPA" Trusted Computing Platform Alliance Capabilities Table
+///
+#define EFI_ACPI_5_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
+
+///
+/// "TPM2" Trusted Computing Platform 1 Table
+///
+#define EFI_ACPI_5_0_TRUSTED_COMPUTING_PLATFORM_2_TABLE_SIGNATURE SIGNATURE_32('T', 'P', 'M', '2')
+
+///
+/// "UEFI" UEFI ACPI Data Table
+///
+#define EFI_ACPI_5_0_UEFI_ACPI_DATA_TABLE_SIGNATURE SIGNATURE_32('U', 'E', 'F', 'I')
+
+///
+/// "WAET" Windows ACPI Emulated Devices Table
+///
+#define EFI_ACPI_5_0_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE SIGNATURE_32('W', 'A', 'E', 'T')
+#define EFI_ACPI_5_0_WINDOWS_ACPI_ENLIGHTENMENT_TABLE_SIGNATURE EFI_ACPI_5_0_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE
+
+///
+/// "WDAT" Watchdog Action Table
+///
+#define EFI_ACPI_5_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
+
+///
+/// "WDRT" Watchdog Resource Table
+///
+#define EFI_ACPI_5_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
+
+///
+/// "WPBT" MS Platform Binary Table
+///
+#define EFI_ACPI_5_0_PLATFORM_BINARY_TABLE_SIGNATURE SIGNATURE_32('W', 'P', 'B', 'T')
+
+#pragma pack()
+
+#endif
diff --git a/sys/contrib/edk2/Include/IndustryStandard/Acpi51.h b/sys/contrib/edk2/Include/IndustryStandard/Acpi51.h
new file mode 100644
index 0000000..457706b
--- /dev/null
+++ b/sys/contrib/edk2/Include/IndustryStandard/Acpi51.h
@@ -0,0 +1,2139 @@
+/** @file
+ ACPI 5.1 definitions from the ACPI Specification Revision 5.1 Errata B January, 2016.
+
+ Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
+ Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
+ (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+**/
+
+#ifndef _ACPI_5_1_H_
+#define _ACPI_5_1_H_
+
+#include <IndustryStandard/Acpi50.h>
+
+//
+// Ensure proper structure formats
+//
+#pragma pack(1)
+
+///
+/// ACPI 5.1 Generic Address Space definition
+///
+typedef struct {
+ UINT8 AddressSpaceId;
+ UINT8 RegisterBitWidth;
+ UINT8 RegisterBitOffset;
+ UINT8 AccessSize;
+ UINT64 Address;
+} EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE;
+
+//
+// Generic Address Space Address IDs
+//
+#define EFI_ACPI_5_1_SYSTEM_MEMORY 0
+#define EFI_ACPI_5_1_SYSTEM_IO 1
+#define EFI_ACPI_5_1_PCI_CONFIGURATION_SPACE 2
+#define EFI_ACPI_5_1_EMBEDDED_CONTROLLER 3
+#define EFI_ACPI_5_1_SMBUS 4
+#define EFI_ACPI_5_1_PLATFORM_COMMUNICATION_CHANNEL 0x0A
+#define EFI_ACPI_5_1_FUNCTIONAL_FIXED_HARDWARE 0x7F
+
+//
+// Generic Address Space Access Sizes
+//
+#define EFI_ACPI_5_1_UNDEFINED 0
+#define EFI_ACPI_5_1_BYTE 1
+#define EFI_ACPI_5_1_WORD 2
+#define EFI_ACPI_5_1_DWORD 3
+#define EFI_ACPI_5_1_QWORD 4
+
+//
+// ACPI 5.1 table structures
+//
+
+///
+/// Root System Description Pointer Structure
+///
+typedef struct {
+ UINT64 Signature;
+ UINT8 Checksum;
+ UINT8 OemId[6];
+ UINT8 Revision;
+ UINT32 RsdtAddress;
+ UINT32 Length;
+ UINT64 XsdtAddress;
+ UINT8 ExtendedChecksum;
+ UINT8 Reserved[3];
+} EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_POINTER;
+
+///
+/// RSD_PTR Revision (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 5.1) says current value is 2
+
+///
+/// Common table header, this prefaces all ACPI tables, including FACS, but
+/// excluding the RSD PTR structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+} EFI_ACPI_5_1_COMMON_HEADER;
+
+//
+// Root System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
+//
+
+///
+/// RSDT Revision (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+//
+// Extended System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
+//
+
+///
+/// XSDT Revision (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Fixed ACPI Description Table Structure (FADT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 FirmwareCtrl;
+ UINT32 Dsdt;
+ UINT8 Reserved0;
+ UINT8 PreferredPmProfile;
+ UINT16 SciInt;
+ UINT32 SmiCmd;
+ UINT8 AcpiEnable;
+ UINT8 AcpiDisable;
+ UINT8 S4BiosReq;
+ UINT8 PstateCnt;
+ UINT32 Pm1aEvtBlk;
+ UINT32 Pm1bEvtBlk;
+ UINT32 Pm1aCntBlk;
+ UINT32 Pm1bCntBlk;
+ UINT32 Pm2CntBlk;
+ UINT32 PmTmrBlk;
+ UINT32 Gpe0Blk;
+ UINT32 Gpe1Blk;
+ UINT8 Pm1EvtLen;
+ UINT8 Pm1CntLen;
+ UINT8 Pm2CntLen;
+ UINT8 PmTmrLen;
+ UINT8 Gpe0BlkLen;
+ UINT8 Gpe1BlkLen;
+ UINT8 Gpe1Base;
+ UINT8 CstCnt;
+ UINT16 PLvl2Lat;
+ UINT16 PLvl3Lat;
+ UINT16 FlushSize;
+ UINT16 FlushStride;
+ UINT8 DutyOffset;
+ UINT8 DutyWidth;
+ UINT8 DayAlrm;
+ UINT8 MonAlrm;
+ UINT8 Century;
+ UINT16 IaPcBootArch;
+ UINT8 Reserved1;
+ UINT32 Flags;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE ResetReg;
+ UINT8 ResetValue;
+ UINT16 ArmBootArch;
+ UINT8 MinorVersion;
+ UINT64 XFirmwareCtrl;
+ UINT64 XDsdt;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XGpe0Blk;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE SleepControlReg;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE SleepStatusReg;
+} EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE;
+
+///
+/// FADT Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x05
+#define EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION 0x01
+
+//
+// Fixed ACPI Description Table Preferred Power Management Profile
+//
+#define EFI_ACPI_5_1_PM_PROFILE_UNSPECIFIED 0
+#define EFI_ACPI_5_1_PM_PROFILE_DESKTOP 1
+#define EFI_ACPI_5_1_PM_PROFILE_MOBILE 2
+#define EFI_ACPI_5_1_PM_PROFILE_WORKSTATION 3
+#define EFI_ACPI_5_1_PM_PROFILE_ENTERPRISE_SERVER 4
+#define EFI_ACPI_5_1_PM_PROFILE_SOHO_SERVER 5
+#define EFI_ACPI_5_1_PM_PROFILE_APPLIANCE_PC 6
+#define EFI_ACPI_5_1_PM_PROFILE_PERFORMANCE_SERVER 7
+#define EFI_ACPI_5_1_PM_PROFILE_TABLET 8
+
+//
+// Fixed ACPI Description Table Boot Architecture Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_5_1_LEGACY_DEVICES BIT0
+#define EFI_ACPI_5_1_8042 BIT1
+#define EFI_ACPI_5_1_VGA_NOT_PRESENT BIT2
+#define EFI_ACPI_5_1_MSI_NOT_SUPPORTED BIT3
+#define EFI_ACPI_5_1_PCIE_ASPM_CONTROLS BIT4
+#define EFI_ACPI_5_1_CMOS_RTC_NOT_PRESENT BIT5
+
+//
+// Fixed ACPI Description Table Arm Boot Architecture Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_5_1_ARM_PSCI_COMPLIANT BIT0
+#define EFI_ACPI_5_1_ARM_PSCI_USE_HVC BIT1
+
+//
+// Fixed ACPI Description Table Fixed Feature Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_5_1_WBINVD BIT0
+#define EFI_ACPI_5_1_WBINVD_FLUSH BIT1
+#define EFI_ACPI_5_1_PROC_C1 BIT2
+#define EFI_ACPI_5_1_P_LVL2_UP BIT3
+#define EFI_ACPI_5_1_PWR_BUTTON BIT4
+#define EFI_ACPI_5_1_SLP_BUTTON BIT5
+#define EFI_ACPI_5_1_FIX_RTC BIT6
+#define EFI_ACPI_5_1_RTC_S4 BIT7
+#define EFI_ACPI_5_1_TMR_VAL_EXT BIT8
+#define EFI_ACPI_5_1_DCK_CAP BIT9
+#define EFI_ACPI_5_1_RESET_REG_SUP BIT10
+#define EFI_ACPI_5_1_SEALED_CASE BIT11
+#define EFI_ACPI_5_1_HEADLESS BIT12
+#define EFI_ACPI_5_1_CPU_SW_SLP BIT13
+#define EFI_ACPI_5_1_PCI_EXP_WAK BIT14
+#define EFI_ACPI_5_1_USE_PLATFORM_CLOCK BIT15
+#define EFI_ACPI_5_1_S4_RTC_STS_VALID BIT16
+#define EFI_ACPI_5_1_REMOTE_POWER_ON_CAPABLE BIT17
+#define EFI_ACPI_5_1_FORCE_APIC_CLUSTER_MODEL BIT18
+#define EFI_ACPI_5_1_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
+#define EFI_ACPI_5_1_HW_REDUCED_ACPI BIT20
+#define EFI_ACPI_5_1_LOW_POWER_S0_IDLE_CAPABLE BIT21
+
+///
+/// Firmware ACPI Control Structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+ UINT32 HardwareSignature;
+ UINT32 FirmwareWakingVector;
+ UINT32 GlobalLock;
+ UINT32 Flags;
+ UINT64 XFirmwareWakingVector;
+ UINT8 Version;
+ UINT8 Reserved0[3];
+ UINT32 OspmFlags;
+ UINT8 Reserved1[24];
+} EFI_ACPI_5_1_FIRMWARE_ACPI_CONTROL_STRUCTURE;
+
+///
+/// FACS Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x02
+
+///
+/// Firmware Control Structure Feature Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_5_1_S4BIOS_F BIT0
+#define EFI_ACPI_5_1_64BIT_WAKE_SUPPORTED_F BIT1
+
+///
+/// OSPM Enabled Firmware Control Structure Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_5_1_OSPM_64BIT_WAKE_F BIT0
+
+//
+// Differentiated System Description Table,
+// Secondary System Description Table
+// and Persistent System Description Table,
+// no definition needed as they are common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
+//
+#define EFI_ACPI_5_1_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
+#define EFI_ACPI_5_1_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
+
+///
+/// Multiple APIC Description Table header definition. The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 LocalApicAddress;
+ UINT32 Flags;
+} EFI_ACPI_5_1_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
+
+///
+/// MADT Revision (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x03
+
+///
+/// Multiple APIC Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_5_1_PCAT_COMPAT BIT0
+
+//
+// Multiple APIC Description Table APIC structure types
+// All other values between 0x0D and 0x7F are reserved and
+// will be ignored by OSPM. 0x80 ~ 0xFF are reserved for OEM.
+//
+#define EFI_ACPI_5_1_PROCESSOR_LOCAL_APIC 0x00
+#define EFI_ACPI_5_1_IO_APIC 0x01
+#define EFI_ACPI_5_1_INTERRUPT_SOURCE_OVERRIDE 0x02
+#define EFI_ACPI_5_1_NON_MASKABLE_INTERRUPT_SOURCE 0x03
+#define EFI_ACPI_5_1_LOCAL_APIC_NMI 0x04
+#define EFI_ACPI_5_1_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
+#define EFI_ACPI_5_1_IO_SAPIC 0x06
+#define EFI_ACPI_5_1_LOCAL_SAPIC 0x07
+#define EFI_ACPI_5_1_PLATFORM_INTERRUPT_SOURCES 0x08
+#define EFI_ACPI_5_1_PROCESSOR_LOCAL_X2APIC 0x09
+#define EFI_ACPI_5_1_LOCAL_X2APIC_NMI 0x0A
+#define EFI_ACPI_5_1_GIC 0x0B
+#define EFI_ACPI_5_1_GICD 0x0C
+#define EFI_ACPI_5_1_GIC_MSI_FRAME 0x0D
+#define EFI_ACPI_5_1_GICR 0x0E
+
+//
+// APIC Structure Definitions
+//
+
+///
+/// Processor Local APIC Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 ApicId;
+ UINT32 Flags;
+} EFI_ACPI_5_1_PROCESSOR_LOCAL_APIC_STRUCTURE;
+
+///
+/// Local APIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_1_LOCAL_APIC_ENABLED BIT0
+
+///
+/// IO APIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 IoApicAddress;
+ UINT32 GlobalSystemInterruptBase;
+} EFI_ACPI_5_1_IO_APIC_STRUCTURE;
+
+///
+/// Interrupt Source Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Bus;
+ UINT8 Source;
+ UINT32 GlobalSystemInterrupt;
+ UINT16 Flags;
+} EFI_ACPI_5_1_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 PlatformInterruptSourceFlags;
+ UINT8 CpeiProcessorOverride;
+ UINT8 Reserved[31];
+} EFI_ACPI_5_1_PLATFORM_INTERRUPT_APIC_STRUCTURE;
+
+//
+// MPS INTI flags.
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_5_1_POLARITY (3 << 0)
+#define EFI_ACPI_5_1_TRIGGER_MODE (3 << 2)
+
+///
+/// Non-Maskable Interrupt Source Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 GlobalSystemInterrupt;
+} EFI_ACPI_5_1_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
+
+///
+/// Local APIC NMI Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT16 Flags;
+ UINT8 LocalApicLint;
+} EFI_ACPI_5_1_LOCAL_APIC_NMI_STRUCTURE;
+
+///
+/// Local APIC Address Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT64 LocalApicAddress;
+} EFI_ACPI_5_1_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
+
+///
+/// IO SAPIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 GlobalSystemInterruptBase;
+ UINT64 IoSapicAddress;
+} EFI_ACPI_5_1_IO_SAPIC_STRUCTURE;
+
+///
+/// Local SAPIC Structure
+/// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 LocalSapicId;
+ UINT8 LocalSapicEid;
+ UINT8 Reserved[3];
+ UINT32 Flags;
+ UINT32 ACPIProcessorUIDValue;
+} EFI_ACPI_5_1_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 PlatformInterruptSourceFlags;
+} EFI_ACPI_5_1_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
+
+///
+/// Platform Interrupt Source Flags.
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_5_1_CPEI_PROCESSOR_OVERRIDE BIT0
+
+///
+/// Processor Local x2APIC Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved[2];
+ UINT32 X2ApicId;
+ UINT32 Flags;
+ UINT32 AcpiProcessorUid;
+} EFI_ACPI_5_1_PROCESSOR_LOCAL_X2APIC_STRUCTURE;
+
+///
+/// Local x2APIC NMI Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 AcpiProcessorUid;
+ UINT8 LocalX2ApicLint;
+ UINT8 Reserved[3];
+} EFI_ACPI_5_1_LOCAL_X2APIC_NMI_STRUCTURE;
+
+///
+/// GIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT32 CPUInterfaceNumber;
+ UINT32 AcpiProcessorUid;
+ UINT32 Flags;
+ UINT32 ParkingProtocolVersion;
+ UINT32 PerformanceInterruptGsiv;
+ UINT64 ParkedAddress;
+ UINT64 PhysicalBaseAddress;
+ UINT64 GICV;
+ UINT64 GICH;
+ UINT32 VGICMaintenanceInterrupt;
+ UINT64 GICRBaseAddress;
+ UINT64 MPIDR;
+} EFI_ACPI_5_1_GIC_STRUCTURE;
+
+///
+/// GIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_1_GIC_ENABLED BIT0
+#define EFI_ACPI_5_1_PERFORMANCE_INTERRUPT_MODEL BIT1
+#define EFI_ACPI_5_1_VGIC_MAINTENANCE_INTERRUPT_MODE_FLAGS BIT2
+
+///
+/// GIC Distributor Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved1;
+ UINT32 GicId;
+ UINT64 PhysicalBaseAddress;
+ UINT32 SystemVectorBase;
+ UINT8 GicVersion;
+ UINT8 Reserved2[3];
+} EFI_ACPI_5_1_GIC_DISTRIBUTOR_STRUCTURE;
+
+///
+/// GIC Version
+///
+#define EFI_ACPI_5_1_GIC_V1 0x01
+#define EFI_ACPI_5_1_GIC_V2 0x02
+#define EFI_ACPI_5_1_GIC_V3 0x03
+#define EFI_ACPI_5_1_GIC_V4 0x04
+
+///
+/// GIC MSI Frame Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved1;
+ UINT32 GicMsiFrameId;
+ UINT64 PhysicalBaseAddress;
+ UINT32 Flags;
+ UINT16 SPICount;
+ UINT16 SPIBase;
+} EFI_ACPI_5_1_GIC_MSI_FRAME_STRUCTURE;
+
+///
+/// GIC MSI Frame Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_1_SPI_COUNT_BASE_SELECT BIT0
+
+///
+/// GICR Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT64 DiscoveryRangeBaseAddress;
+ UINT32 DiscoveryRangeLength;
+} EFI_ACPI_5_1_GICR_STRUCTURE;
+
+///
+/// Smart Battery Description Table (SBST)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 WarningEnergyLevel;
+ UINT32 LowEnergyLevel;
+ UINT32 CriticalEnergyLevel;
+} EFI_ACPI_5_1_SMART_BATTERY_DESCRIPTION_TABLE;
+
+///
+/// SBST Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Embedded Controller Boot Resources Table (ECDT)
+/// The table is followed by a null terminated ASCII string that contains
+/// a fully qualified reference to the name space object.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE EcControl;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE EcData;
+ UINT32 Uid;
+ UINT8 GpeBit;
+} EFI_ACPI_5_1_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE;
+
+///
+/// ECDT Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
+
+///
+/// System Resource Affinity Table (SRAT). The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Reserved1; ///< Must be set to 1
+ UINT64 Reserved2;
+} EFI_ACPI_5_1_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER;
+
+///
+/// SRAT Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x03
+
+//
+// SRAT structure types.
+// All other values between 0x04 an 0xFF are reserved and
+// will be ignored by OSPM.
+//
+#define EFI_ACPI_5_1_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
+#define EFI_ACPI_5_1_MEMORY_AFFINITY 0x01
+#define EFI_ACPI_5_1_PROCESSOR_LOCAL_X2APIC_AFFINITY 0x02
+#define EFI_ACPI_5_1_GICC_AFFINITY 0x03
+
+///
+/// Processor Local APIC/SAPIC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 ProximityDomain7To0;
+ UINT8 ApicId;
+ UINT32 Flags;
+ UINT8 LocalSapicEid;
+ UINT8 ProximityDomain31To8[3];
+ UINT32 ClockDomain;
+} EFI_ACPI_5_1_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE;
+
+///
+/// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_1_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
+
+///
+/// Memory Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT32 ProximityDomain;
+ UINT16 Reserved1;
+ UINT32 AddressBaseLow;
+ UINT32 AddressBaseHigh;
+ UINT32 LengthLow;
+ UINT32 LengthHigh;
+ UINT32 Reserved2;
+ UINT32 Flags;
+ UINT64 Reserved3;
+} EFI_ACPI_5_1_MEMORY_AFFINITY_STRUCTURE;
+
+//
+// Memory Flags. All other bits are reserved and must be 0.
+//
+#define EFI_ACPI_5_1_MEMORY_ENABLED (1 << 0)
+#define EFI_ACPI_5_1_MEMORY_HOT_PLUGGABLE (1 << 1)
+#define EFI_ACPI_5_1_MEMORY_NONVOLATILE (1 << 2)
+
+///
+/// Processor Local x2APIC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved1[2];
+ UINT32 ProximityDomain;
+ UINT32 X2ApicId;
+ UINT32 Flags;
+ UINT32 ClockDomain;
+ UINT8 Reserved2[4];
+} EFI_ACPI_5_1_PROCESSOR_LOCAL_X2APIC_AFFINITY_STRUCTURE;
+
+///
+/// GICC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT32 ProximityDomain;
+ UINT32 AcpiProcessorUid;
+ UINT32 Flags;
+ UINT32 ClockDomain;
+} EFI_ACPI_5_1_GICC_AFFINITY_STRUCTURE;
+
+///
+/// GICC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_1_GICC_ENABLED (1 << 0)
+
+///
+/// System Locality Distance Information Table (SLIT).
+/// The rest of the table is a matrix.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT64 NumberOfSystemLocalities;
+} EFI_ACPI_5_1_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER;
+
+///
+/// SLIT Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
+
+///
+/// Corrected Platform Error Polling Table (CPEP)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT8 Reserved[8];
+} EFI_ACPI_5_1_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_HEADER;
+
+///
+/// CPEP Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_REVISION 0x01
+
+//
+// CPEP processor structure types.
+//
+#define EFI_ACPI_5_1_CPEP_PROCESSOR_APIC_SAPIC 0x00
+
+///
+/// Corrected Platform Error Polling Processor Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT32 PollingInterval;
+} EFI_ACPI_5_1_CPEP_PROCESSOR_APIC_SAPIC_STRUCTURE;
+
+///
+/// Maximum System Characteristics Table (MSCT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 OffsetProxDomInfo;
+ UINT32 MaximumNumberOfProximityDomains;
+ UINT32 MaximumNumberOfClockDomains;
+ UINT64 MaximumPhysicalAddress;
+} EFI_ACPI_5_1_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_HEADER;
+
+///
+/// MSCT Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION 0x01
+
+///
+/// Maximum Proximity Domain Information Structure Definition
+///
+typedef struct {
+ UINT8 Revision;
+ UINT8 Length;
+ UINT32 ProximityDomainRangeLow;
+ UINT32 ProximityDomainRangeHigh;
+ UINT32 MaximumProcessorCapacity;
+ UINT64 MaximumMemoryCapacity;
+} EFI_ACPI_5_1_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE;
+
+///
+/// ACPI RAS Feature Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT8 PlatformCommunicationChannelIdentifier[12];
+} EFI_ACPI_5_1_RAS_FEATURE_TABLE;
+
+///
+/// RASF Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_RAS_FEATURE_TABLE_REVISION 0x01
+
+///
+/// ACPI RASF Platform Communication Channel Shared Memory Region definition.
+///
+typedef struct {
+ UINT32 Signature;
+ UINT16 Command;
+ UINT16 Status;
+ UINT16 Version;
+ UINT8 RASCapabilities[16];
+ UINT8 SetRASCapabilities[16];
+ UINT16 NumberOfRASFParameterBlocks;
+ UINT32 SetRASCapabilitiesStatus;
+} EFI_ACPI_5_1_RASF_PLATFORM_COMMUNICATION_CHANNEL_SHARED_MEMORY_REGION;
+
+///
+/// ACPI RASF PCC command code
+///
+#define EFI_ACPI_5_1_RASF_PCC_COMMAND_CODE_EXECUTE_RASF_COMMAND 0x01
+
+///
+/// ACPI RASF Platform RAS Capabilities
+///
+#define EFI_ACPI_5_1_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED 0x01
+#define EFI_ACPI_5_1_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED_AND_EXPOSED_TO_SOFTWARE 0x02
+
+///
+/// ACPI RASF Parameter Block structure for PATROL_SCRUB
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 Version;
+ UINT16 Length;
+ UINT16 PatrolScrubCommand;
+ UINT64 RequestedAddressRange[2];
+ UINT64 ActualAddressRange[2];
+ UINT16 Flags;
+ UINT8 RequestedSpeed;
+} EFI_ACPI_5_1_RASF_PATROL_SCRUB_PLATFORM_BLOCK_STRUCTURE;
+
+///
+/// ACPI RASF Patrol Scrub command
+///
+#define EFI_ACPI_5_1_RASF_PATROL_SCRUB_COMMAND_GET_PATROL_PARAMETERS 0x01
+#define EFI_ACPI_5_1_RASF_PATROL_SCRUB_COMMAND_START_PATROL_SCRUBBER 0x02
+#define EFI_ACPI_5_1_RASF_PATROL_SCRUB_COMMAND_STOP_PATROL_SCRUBBER 0x03
+
+///
+/// Memory Power State Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT8 PlatformCommunicationChannelIdentifier;
+ UINT8 Reserved[3];
+// Memory Power Node Structure
+// Memory Power State Characteristics
+} EFI_ACPI_5_1_MEMORY_POWER_STATUS_TABLE;
+
+///
+/// MPST Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_MEMORY_POWER_STATE_TABLE_REVISION 0x01
+
+///
+/// MPST Platform Communication Channel Shared Memory Region definition.
+///
+typedef struct {
+ UINT32 Signature;
+ UINT16 Command;
+ UINT16 Status;
+ UINT32 MemoryPowerCommandRegister;
+ UINT32 MemoryPowerStatusRegister;
+ UINT32 PowerStateId;
+ UINT32 MemoryPowerNodeId;
+ UINT64 MemoryEnergyConsumed;
+ UINT64 ExpectedAveragePowerComsuned;
+} EFI_ACPI_5_1_MPST_PLATFORM_COMMUNICATION_CHANNEL_SHARED_MEMORY_REGION;
+
+///
+/// ACPI MPST PCC command code
+///
+#define EFI_ACPI_5_1_MPST_PCC_COMMAND_CODE_EXECUTE_MPST_COMMAND 0x03
+
+///
+/// ACPI MPST Memory Power command
+///
+#define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_POWER_STATE 0x01
+#define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_SET_MEMORY_POWER_STATE 0x02
+#define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_GET_AVERAGE_POWER_CONSUMED 0x03
+#define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_ENERGY_CONSUMED 0x04
+
+///
+/// MPST Memory Power Node Table
+///
+typedef struct {
+ UINT8 PowerStateValue;
+ UINT8 PowerStateInformationIndex;
+} EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE;
+
+typedef struct {
+ UINT8 Flag;
+ UINT8 Reserved;
+ UINT16 MemoryPowerNodeId;
+ UINT32 Length;
+ UINT64 AddressBase;
+ UINT64 AddressLength;
+ UINT32 NumberOfPowerStates;
+ UINT32 NumberOfPhysicalComponents;
+//EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE MemoryPowerState[NumberOfPowerStates];
+//UINT16 PhysicalComponentIdentifier[NumberOfPhysicalComponents];
+} EFI_ACPI_5_1_MPST_MEMORY_POWER_STRUCTURE;
+
+#define EFI_ACPI_5_1_MPST_MEMORY_POWER_STRUCTURE_FLAG_ENABLE 0x01
+#define EFI_ACPI_5_1_MPST_MEMORY_POWER_STRUCTURE_FLAG_POWER_MANAGED 0x02
+#define EFI_ACPI_5_1_MPST_MEMORY_POWER_STRUCTURE_FLAG_HOT_PLUGGABLE 0x04
+
+typedef struct {
+ UINT16 MemoryPowerNodeCount;
+ UINT8 Reserved[2];
+} EFI_ACPI_5_1_MPST_MEMORY_POWER_NODE_TABLE;
+
+///
+/// MPST Memory Power State Characteristics Table
+///
+typedef struct {
+ UINT8 PowerStateStructureID;
+ UINT8 Flag;
+ UINT16 Reserved;
+ UINT32 AveragePowerConsumedInMPS0;
+ UINT32 RelativePowerSavingToMPS0;
+ UINT64 ExitLatencyToMPS0;
+} EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE;
+
+#define EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_MEMORY_CONTENT_PRESERVED 0x01
+#define EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_ENTRY 0x02
+#define EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_EXIT 0x04
+
+typedef struct {
+ UINT16 MemoryPowerStateCharacteristicsCount;
+ UINT8 Reserved[2];
+} EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_TABLE;
+
+///
+/// Memory Topology Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Reserved;
+} EFI_ACPI_5_1_MEMORY_TOPOLOGY_TABLE;
+
+///
+/// PMTT Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_MEMORY_TOPOLOGY_TABLE_REVISION 0x01
+
+///
+/// Common Memory Aggregator Device Structure.
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Reserved;
+ UINT16 Length;
+ UINT16 Flags;
+ UINT16 Reserved1;
+} EFI_ACPI_5_1_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// Memory Aggregator Device Type
+///
+#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
+#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
+#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
+
+///
+/// Socket Memory Aggregator Device Structure.
+///
+typedef struct {
+ EFI_ACPI_5_1_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;
+ UINT16 SocketIdentifier;
+ UINT16 Reserved;
+//EFI_ACPI_5_1_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];
+} EFI_ACPI_5_1_PMMT_SOCKET_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// MemoryController Memory Aggregator Device Structure.
+///
+typedef struct {
+ EFI_ACPI_5_1_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;
+ UINT32 ReadLatency;
+ UINT32 WriteLatency;
+ UINT32 ReadBandwidth;
+ UINT32 WriteBandwidth;
+ UINT16 OptimalAccessUnit;
+ UINT16 OptimalAccessAlignment;
+ UINT16 Reserved;
+ UINT16 NumberOfProximityDomains;
+//UINT32 ProximityDomain[NumberOfProximityDomains];
+//EFI_ACPI_5_1_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE PhysicalComponent[];
+} EFI_ACPI_5_1_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// DIMM Memory Aggregator Device Structure.
+///
+typedef struct {
+ EFI_ACPI_5_1_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;
+ UINT16 PhysicalComponentIdentifier;
+ UINT16 Reserved;
+ UINT32 SizeOfDimm;
+ UINT32 SmbiosHandle;
+} EFI_ACPI_5_1_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// Boot Graphics Resource Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ ///
+ /// 2-bytes (16 bit) version ID. This value must be 1.
+ ///
+ UINT16 Version;
+ ///
+ /// 1-byte status field indicating current status about the table.
+ /// Bits[7:1] = Reserved (must be zero)
+ /// Bit [0] = Valid. A one indicates the boot image graphic is valid.
+ ///
+ UINT8 Status;
+ ///
+ /// 1-byte enumerated type field indicating format of the image.
+ /// 0 = Bitmap
+ /// 1 - 255 Reserved (for future use)
+ ///
+ UINT8 ImageType;
+ ///
+ /// 8-byte (64 bit) physical address pointing to the firmware's in-memory copy
+ /// of the image bitmap.
+ ///
+ UINT64 ImageAddress;
+ ///
+ /// A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
+ /// (X, Y) display offset of the top left corner of the boot image.
+ /// The top left corner of the display is at offset (0, 0).
+ ///
+ UINT32 ImageOffsetX;
+ ///
+ /// A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
+ /// (X, Y) display offset of the top left corner of the boot image.
+ /// The top left corner of the display is at offset (0, 0).
+ ///
+ UINT32 ImageOffsetY;
+} EFI_ACPI_5_1_BOOT_GRAPHICS_RESOURCE_TABLE;
+
+///
+/// BGRT Revision
+///
+#define EFI_ACPI_5_1_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION 1
+
+///
+/// BGRT Version
+///
+#define EFI_ACPI_5_1_BGRT_VERSION 0x01
+
+///
+/// BGRT Status
+///
+#define EFI_ACPI_5_1_BGRT_STATUS_NOT_DISPLAYED 0x00
+#define EFI_ACPI_5_1_BGRT_STATUS_DISPLAYED 0x01
+
+///
+/// BGRT Image Type
+///
+#define EFI_ACPI_5_1_BGRT_IMAGE_TYPE_BMP 0x00
+
+///
+/// FPDT Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_FIRMWARE_PERFORMANCE_DATA_TABLE_REVISION 0x01
+
+///
+/// FPDT Performance Record Types
+///
+#define EFI_ACPI_5_1_FPDT_RECORD_TYPE_FIRMWARE_BASIC_BOOT_POINTER 0x0000
+#define EFI_ACPI_5_1_FPDT_RECORD_TYPE_S3_PERFORMANCE_TABLE_POINTER 0x0001
+
+///
+/// FPDT Performance Record Revision
+///
+#define EFI_ACPI_5_1_FPDT_RECORD_REVISION_FIRMWARE_BASIC_BOOT_POINTER 0x01
+#define EFI_ACPI_5_1_FPDT_RECORD_REVISION_S3_PERFORMANCE_TABLE_POINTER 0x01
+
+///
+/// FPDT Runtime Performance Record Types
+///
+#define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_TYPE_S3_RESUME 0x0000
+#define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_TYPE_S3_SUSPEND 0x0001
+#define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_TYPE_FIRMWARE_BASIC_BOOT 0x0002
+
+///
+/// FPDT Runtime Performance Record Revision
+///
+#define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_REVISION_S3_RESUME 0x01
+#define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_REVISION_S3_SUSPEND 0x01
+#define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_REVISION_FIRMWARE_BASIC_BOOT 0x02
+
+///
+/// FPDT Performance Record header
+///
+typedef struct {
+ UINT16 Type;
+ UINT8 Length;
+ UINT8 Revision;
+} EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER;
+
+///
+/// FPDT Performance Table header
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+} EFI_ACPI_5_1_FPDT_PERFORMANCE_TABLE_HEADER;
+
+///
+/// FPDT Firmware Basic Boot Performance Pointer Record Structure
+///
+typedef struct {
+ EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ UINT32 Reserved;
+ ///
+ /// 64-bit processor-relative physical address of the Basic Boot Performance Table.
+ ///
+ UINT64 BootPerformanceTablePointer;
+} EFI_ACPI_5_1_FPDT_BOOT_PERFORMANCE_TABLE_POINTER_RECORD;
+
+///
+/// FPDT S3 Performance Table Pointer Record Structure
+///
+typedef struct {
+ EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ UINT32 Reserved;
+ ///
+ /// 64-bit processor-relative physical address of the S3 Performance Table.
+ ///
+ UINT64 S3PerformanceTablePointer;
+} EFI_ACPI_5_1_FPDT_S3_PERFORMANCE_TABLE_POINTER_RECORD;
+
+///
+/// FPDT Firmware Basic Boot Performance Record Structure
+///
+typedef struct {
+ EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ UINT32 Reserved;
+ ///
+ /// Timer value logged at the beginning of firmware image execution.
+ /// This may not always be zero or near zero.
+ ///
+ UINT64 ResetEnd;
+ ///
+ /// Timer value logged just prior to loading the OS boot loader into memory.
+ /// For non-UEFI compatible boots, this field must be zero.
+ ///
+ UINT64 OsLoaderLoadImageStart;
+ ///
+ /// Timer value logged just prior to launching the previously loaded OS boot loader image.
+ /// For non-UEFI compatible boots, the timer value logged will be just prior
+ /// to the INT 19h handler invocation.
+ ///
+ UINT64 OsLoaderStartImageStart;
+ ///
+ /// Timer value logged at the point when the OS loader calls the
+ /// ExitBootServices function for UEFI compatible firmware.
+ /// For non-UEFI compatible boots, this field must be zero.
+ ///
+ UINT64 ExitBootServicesEntry;
+ ///
+ /// Timer value logged at the point just prior towhen the OS loader gaining
+ /// control back from calls the ExitBootServices function for UEFI compatible firmware.
+ /// For non-UEFI compatible boots, this field must be zero.
+ ///
+ UINT64 ExitBootServicesExit;
+} EFI_ACPI_5_1_FPDT_FIRMWARE_BASIC_BOOT_RECORD;
+
+///
+/// FPDT Firmware Basic Boot Performance Table signature
+///
+#define EFI_ACPI_5_1_FPDT_BOOT_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('F', 'B', 'P', 'T')
+
+//
+// FPDT Firmware Basic Boot Performance Table
+//
+typedef struct {
+ EFI_ACPI_5_1_FPDT_PERFORMANCE_TABLE_HEADER Header;
+ //
+ // one or more Performance Records.
+ //
+} EFI_ACPI_5_1_FPDT_FIRMWARE_BASIC_BOOT_TABLE;
+
+///
+/// FPDT "S3PT" S3 Performance Table
+///
+#define EFI_ACPI_5_1_FPDT_S3_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('S', '3', 'P', 'T')
+
+//
+// FPDT Firmware S3 Boot Performance Table
+//
+typedef struct {
+ EFI_ACPI_5_1_FPDT_PERFORMANCE_TABLE_HEADER Header;
+ //
+ // one or more Performance Records.
+ //
+} EFI_ACPI_5_1_FPDT_FIRMWARE_S3_BOOT_TABLE;
+
+///
+/// FPDT Basic S3 Resume Performance Record
+///
+typedef struct {
+ EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ ///
+ /// A count of the number of S3 resume cycles since the last full boot sequence.
+ ///
+ UINT32 ResumeCount;
+ ///
+ /// Timer recorded at the end of BIOS S3 resume, just prior to handoff to the
+ /// OS waking vector. Only the most recent resume cycle's time is retained.
+ ///
+ UINT64 FullResume;
+ ///
+ /// Average timer value of all resume cycles logged since the last full boot
+ /// sequence, including the most recent resume. Note that the entire log of
+ /// timer values does not need to be retained in order to calculate this average.
+ ///
+ UINT64 AverageResume;
+} EFI_ACPI_5_1_FPDT_S3_RESUME_RECORD;
+
+///
+/// FPDT Basic S3 Suspend Performance Record
+///
+typedef struct {
+ EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ ///
+ /// Timer value recorded at the OS write to SLP_TYP upon entry to S3.
+ /// Only the most recent suspend cycle's timer value is retained.
+ ///
+ UINT64 SuspendStart;
+ ///
+ /// Timer value recorded at the final firmware write to SLP_TYP (or other
+ /// mechanism) used to trigger hardware entry to S3.
+ /// Only the most recent suspend cycle's timer value is retained.
+ ///
+ UINT64 SuspendEnd;
+} EFI_ACPI_5_1_FPDT_S3_SUSPEND_RECORD;
+
+///
+/// Firmware Performance Record Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+} EFI_ACPI_5_1_FIRMWARE_PERFORMANCE_RECORD_TABLE;
+
+///
+/// Generic Timer Description Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT64 CntControlBasePhysicalAddress;
+ UINT32 Reserved;
+ UINT32 SecurePL1TimerGSIV;
+ UINT32 SecurePL1TimerFlags;
+ UINT32 NonSecurePL1TimerGSIV;
+ UINT32 NonSecurePL1TimerFlags;
+ UINT32 VirtualTimerGSIV;
+ UINT32 VirtualTimerFlags;
+ UINT32 NonSecurePL2TimerGSIV;
+ UINT32 NonSecurePL2TimerFlags;
+ UINT64 CntReadBasePhysicalAddress;
+ UINT32 PlatformTimerCount;
+ UINT32 PlatformTimerOffset;
+} EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE;
+
+///
+/// GTDT Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION 0x02
+
+///
+/// Timer Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_1_GTDT_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
+#define EFI_ACPI_5_1_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
+#define EFI_ACPI_5_1_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY BIT2
+
+///
+/// Platform Timer Type
+///
+#define EFI_ACPI_5_1_GTDT_GT_BLOCK 0
+#define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG 1
+
+///
+/// GT Block Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT16 Length;
+ UINT8 Reserved;
+ UINT64 CntCtlBase;
+ UINT32 GTBlockTimerCount;
+ UINT32 GTBlockTimerOffset;
+} EFI_ACPI_5_1_GTDT_GT_BLOCK_STRUCTURE;
+
+///
+/// GT Block Timer Structure
+///
+typedef struct {
+ UINT8 GTFrameNumber;
+ UINT8 Reserved[3];
+ UINT64 CntBaseX;
+ UINT64 CntEL0BaseX;
+ UINT32 GTxPhysicalTimerGSIV;
+ UINT32 GTxPhysicalTimerFlags;
+ UINT32 GTxVirtualTimerGSIV;
+ UINT32 GTxVirtualTimerFlags;
+ UINT32 GTxCommonFlags;
+} EFI_ACPI_5_1_GTDT_GT_BLOCK_TIMER_STRUCTURE;
+
+///
+/// GT Block Physical Timers and Virtual Timers Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_1_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
+#define EFI_ACPI_5_1_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
+
+///
+/// Common Flags Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_1_GTDT_GT_BLOCK_COMMON_FLAG_SECURE_TIMER BIT0
+#define EFI_ACPI_5_1_GTDT_GT_BLOCK_COMMON_FLAG_ALWAYS_ON_CAPABILITY BIT1
+
+///
+/// SBSA Generic Watchdog Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT16 Length;
+ UINT8 Reserved;
+ UINT64 RefreshFramePhysicalAddress;
+ UINT64 WatchdogControlFramePhysicalAddress;
+ UINT32 WatchdogTimerGSIV;
+ UINT32 WatchdogTimerFlags;
+} EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE;
+
+///
+/// SBSA Generic Watchdog Timer Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_MODE BIT0
+#define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_POLARITY BIT1
+#define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER BIT2
+
+///
+/// Boot Error Record Table (BERT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 BootErrorRegionLength;
+ UINT64 BootErrorRegion;
+} EFI_ACPI_5_1_BOOT_ERROR_RECORD_TABLE_HEADER;
+
+///
+/// BERT Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_BOOT_ERROR_RECORD_TABLE_REVISION 0x01
+
+///
+/// Boot Error Region Block Status Definition
+///
+typedef struct {
+ UINT32 UncorrectableErrorValid:1;
+ UINT32 CorrectableErrorValid:1;
+ UINT32 MultipleUncorrectableErrors:1;
+ UINT32 MultipleCorrectableErrors:1;
+ UINT32 ErrorDataEntryCount:10;
+ UINT32 Reserved:18;
+} EFI_ACPI_5_1_ERROR_BLOCK_STATUS;
+
+///
+/// Boot Error Region Definition
+///
+typedef struct {
+ EFI_ACPI_5_1_ERROR_BLOCK_STATUS BlockStatus;
+ UINT32 RawDataOffset;
+ UINT32 RawDataLength;
+ UINT32 DataLength;
+ UINT32 ErrorSeverity;
+} EFI_ACPI_5_1_BOOT_ERROR_REGION_STRUCTURE;
+
+//
+// Boot Error Severity types
+//
+#define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTABLE 0x00
+#define EFI_ACPI_5_1_ERROR_SEVERITY_FATAL 0x01
+#define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTED 0x02
+#define EFI_ACPI_5_1_ERROR_SEVERITY_NONE 0x03
+
+///
+/// Generic Error Data Entry Definition
+///
+typedef struct {
+ UINT8 SectionType[16];
+ UINT32 ErrorSeverity;
+ UINT16 Revision;
+ UINT8 ValidationBits;
+ UINT8 Flags;
+ UINT32 ErrorDataLength;
+ UINT8 FruId[16];
+ UINT8 FruText[20];
+} EFI_ACPI_5_1_GENERIC_ERROR_DATA_ENTRY_STRUCTURE;
+
+///
+/// Generic Error Data Entry Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_GENERIC_ERROR_DATA_ENTRY_REVISION 0x0201
+
+///
+/// HEST - Hardware Error Source Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 ErrorSourceCount;
+} EFI_ACPI_5_1_HARDWARE_ERROR_SOURCE_TABLE_HEADER;
+
+///
+/// HEST Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_HARDWARE_ERROR_SOURCE_TABLE_REVISION 0x01
+
+//
+// Error Source structure types.
+//
+#define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION 0x00
+#define EFI_ACPI_5_1_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK 0x01
+#define EFI_ACPI_5_1_IA32_ARCHITECTURE_NMI_ERROR 0x02
+#define EFI_ACPI_5_1_PCI_EXPRESS_ROOT_PORT_AER 0x06
+#define EFI_ACPI_5_1_PCI_EXPRESS_DEVICE_AER 0x07
+#define EFI_ACPI_5_1_PCI_EXPRESS_BRIDGE_AER 0x08
+#define EFI_ACPI_5_1_GENERIC_HARDWARE_ERROR 0x09
+
+//
+// Error Source structure flags.
+//
+#define EFI_ACPI_5_1_ERROR_SOURCE_FLAG_FIRMWARE_FIRST (1 << 0)
+#define EFI_ACPI_5_1_ERROR_SOURCE_FLAG_GLOBAL (1 << 1)
+
+///
+/// IA-32 Architecture Machine Check Exception Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT64 GlobalCapabilityInitData;
+ UINT64 GlobalControlInitData;
+ UINT8 NumberOfHardwareBanks;
+ UINT8 Reserved1[7];
+} EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION_STRUCTURE;
+
+///
+/// IA-32 Architecture Machine Check Bank Structure Definition
+///
+typedef struct {
+ UINT8 BankNumber;
+ UINT8 ClearStatusOnInitialization;
+ UINT8 StatusDataFormat;
+ UINT8 Reserved0;
+ UINT32 ControlRegisterMsrAddress;
+ UINT64 ControlInitData;
+ UINT32 StatusRegisterMsrAddress;
+ UINT32 AddressRegisterMsrAddress;
+ UINT32 MiscRegisterMsrAddress;
+} EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_BANK_STRUCTURE;
+
+///
+/// IA-32 Architecture Machine Check Bank Structure MCA data format
+///
+#define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_IA32 0x00
+#define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_INTEL64 0x01
+#define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_AMD64 0x02
+
+//
+// Hardware Error Notification types. All other values are reserved
+//
+#define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_POLLED 0x00
+#define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_EXTERNAL_INTERRUPT 0x01
+#define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT 0x02
+#define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_SCI 0x03
+#define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_NMI 0x04
+
+///
+/// Hardware Error Notification Configuration Write Enable Structure Definition
+///
+typedef struct {
+ UINT16 Type:1;
+ UINT16 PollInterval:1;
+ UINT16 SwitchToPollingThresholdValue:1;
+ UINT16 SwitchToPollingThresholdWindow:1;
+ UINT16 ErrorThresholdValue:1;
+ UINT16 ErrorThresholdWindow:1;
+ UINT16 Reserved:10;
+} EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
+
+///
+/// Hardware Error Notification Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable;
+ UINT32 PollInterval;
+ UINT32 Vector;
+ UINT32 SwitchToPollingThresholdValue;
+ UINT32 SwitchToPollingThresholdWindow;
+ UINT32 ErrorThresholdValue;
+ UINT32 ErrorThresholdWindow;
+} EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_STRUCTURE;
+
+///
+/// IA-32 Architecture Corrected Machine Check Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure;
+ UINT8 NumberOfHardwareBanks;
+ UINT8 Reserved1[3];
+} EFI_ACPI_5_1_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK_STRUCTURE;
+
+///
+/// IA-32 Architecture NMI Error Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 MaxRawDataLength;
+} EFI_ACPI_5_1_IA32_ARCHITECTURE_NMI_ERROR_STRUCTURE;
+
+///
+/// PCI Express Root Port AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+ UINT32 RootErrorCommand;
+} EFI_ACPI_5_1_PCI_EXPRESS_ROOT_PORT_AER_STRUCTURE;
+
+///
+/// PCI Express Device AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+} EFI_ACPI_5_1_PCI_EXPRESS_DEVICE_AER_STRUCTURE;
+
+///
+/// PCI Express Bridge AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+ UINT32 SecondaryUncorrectableErrorMask;
+ UINT32 SecondaryUncorrectableErrorSeverity;
+ UINT32 SecondaryAdvancedErrorCapabilitiesAndControl;
+} EFI_ACPI_5_1_PCI_EXPRESS_BRIDGE_AER_STRUCTURE;
+
+///
+/// Generic Hardware Error Source Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT16 RelatedSourceId;
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 MaxRawDataLength;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress;
+ EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure;
+ UINT32 ErrorStatusBlockLength;
+} EFI_ACPI_5_1_GENERIC_HARDWARE_ERROR_SOURCE_STRUCTURE;
+
+///
+/// Generic Error Status Definition
+///
+typedef struct {
+ EFI_ACPI_5_1_ERROR_BLOCK_STATUS BlockStatus;
+ UINT32 RawDataOffset;
+ UINT32 RawDataLength;
+ UINT32 DataLength;
+ UINT32 ErrorSeverity;
+} EFI_ACPI_5_1_GENERIC_ERROR_STATUS_STRUCTURE;
+
+///
+/// ERST - Error Record Serialization Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 SerializationHeaderSize;
+ UINT8 Reserved0[4];
+ UINT32 InstructionEntryCount;
+} EFI_ACPI_5_1_ERROR_RECORD_SERIALIZATION_TABLE_HEADER;
+
+///
+/// ERST Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_ERROR_RECORD_SERIALIZATION_TABLE_REVISION 0x01
+
+///
+/// ERST Serialization Actions
+///
+#define EFI_ACPI_5_1_ERST_BEGIN_WRITE_OPERATION 0x00
+#define EFI_ACPI_5_1_ERST_BEGIN_READ_OPERATION 0x01
+#define EFI_ACPI_5_1_ERST_BEGIN_CLEAR_OPERATION 0x02
+#define EFI_ACPI_5_1_ERST_END_OPERATION 0x03
+#define EFI_ACPI_5_1_ERST_SET_RECORD_OFFSET 0x04
+#define EFI_ACPI_5_1_ERST_EXECUTE_OPERATION 0x05
+#define EFI_ACPI_5_1_ERST_CHECK_BUSY_STATUS 0x06
+#define EFI_ACPI_5_1_ERST_GET_COMMAND_STATUS 0x07
+#define EFI_ACPI_5_1_ERST_GET_RECORD_IDENTIFIER 0x08
+#define EFI_ACPI_5_1_ERST_SET_RECORD_IDENTIFIER 0x09
+#define EFI_ACPI_5_1_ERST_GET_RECORD_COUNT 0x0A
+#define EFI_ACPI_5_1_ERST_BEGIN_DUMMY_WRITE_OPERATION 0x0B
+#define EFI_ACPI_5_1_ERST_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
+#define EFI_ACPI_5_1_ERST_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
+#define EFI_ACPI_5_1_ERST_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
+
+///
+/// ERST Action Command Status
+///
+#define EFI_ACPI_5_1_ERST_STATUS_SUCCESS 0x00
+#define EFI_ACPI_5_1_ERST_STATUS_NOT_ENOUGH_SPACE 0x01
+#define EFI_ACPI_5_1_ERST_STATUS_HARDWARE_NOT_AVAILABLE 0x02
+#define EFI_ACPI_5_1_ERST_STATUS_FAILED 0x03
+#define EFI_ACPI_5_1_ERST_STATUS_RECORD_STORE_EMPTY 0x04
+#define EFI_ACPI_5_1_ERST_STATUS_RECORD_NOT_FOUND 0x05
+
+///
+/// ERST Serialization Instructions
+///
+#define EFI_ACPI_5_1_ERST_READ_REGISTER 0x00
+#define EFI_ACPI_5_1_ERST_READ_REGISTER_VALUE 0x01
+#define EFI_ACPI_5_1_ERST_WRITE_REGISTER 0x02
+#define EFI_ACPI_5_1_ERST_WRITE_REGISTER_VALUE 0x03
+#define EFI_ACPI_5_1_ERST_NOOP 0x04
+#define EFI_ACPI_5_1_ERST_LOAD_VAR1 0x05
+#define EFI_ACPI_5_1_ERST_LOAD_VAR2 0x06
+#define EFI_ACPI_5_1_ERST_STORE_VAR1 0x07
+#define EFI_ACPI_5_1_ERST_ADD 0x08
+#define EFI_ACPI_5_1_ERST_SUBTRACT 0x09
+#define EFI_ACPI_5_1_ERST_ADD_VALUE 0x0A
+#define EFI_ACPI_5_1_ERST_SUBTRACT_VALUE 0x0B
+#define EFI_ACPI_5_1_ERST_STALL 0x0C
+#define EFI_ACPI_5_1_ERST_STALL_WHILE_TRUE 0x0D
+#define EFI_ACPI_5_1_ERST_SKIP_NEXT_INSTRUCTION_IF_TRUE 0x0E
+#define EFI_ACPI_5_1_ERST_GOTO 0x0F
+#define EFI_ACPI_5_1_ERST_SET_SRC_ADDRESS_BASE 0x10
+#define EFI_ACPI_5_1_ERST_SET_DST_ADDRESS_BASE 0x11
+#define EFI_ACPI_5_1_ERST_MOVE_DATA 0x12
+
+///
+/// ERST Instruction Flags
+///
+#define EFI_ACPI_5_1_ERST_PRESERVE_REGISTER 0x01
+
+///
+/// ERST Serialization Instruction Entry
+///
+typedef struct {
+ UINT8 SerializationAction;
+ UINT8 Instruction;
+ UINT8 Flags;
+ UINT8 Reserved0;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE RegisterRegion;
+ UINT64 Value;
+ UINT64 Mask;
+} EFI_ACPI_5_1_ERST_SERIALIZATION_INSTRUCTION_ENTRY;
+
+///
+/// EINJ - Error Injection Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 InjectionHeaderSize;
+ UINT8 InjectionFlags;
+ UINT8 Reserved0[3];
+ UINT32 InjectionEntryCount;
+} EFI_ACPI_5_1_ERROR_INJECTION_TABLE_HEADER;
+
+///
+/// EINJ Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_ERROR_INJECTION_TABLE_REVISION 0x01
+
+///
+/// EINJ Error Injection Actions
+///
+#define EFI_ACPI_5_1_EINJ_BEGIN_INJECTION_OPERATION 0x00
+#define EFI_ACPI_5_1_EINJ_GET_TRIGGER_ERROR_ACTION_TABLE 0x01
+#define EFI_ACPI_5_1_EINJ_SET_ERROR_TYPE 0x02
+#define EFI_ACPI_5_1_EINJ_GET_ERROR_TYPE 0x03
+#define EFI_ACPI_5_1_EINJ_END_OPERATION 0x04
+#define EFI_ACPI_5_1_EINJ_EXECUTE_OPERATION 0x05
+#define EFI_ACPI_5_1_EINJ_CHECK_BUSY_STATUS 0x06
+#define EFI_ACPI_5_1_EINJ_GET_COMMAND_STATUS 0x07
+#define EFI_ACPI_5_1_EINJ_TRIGGER_ERROR 0xFF
+
+///
+/// EINJ Action Command Status
+///
+#define EFI_ACPI_5_1_EINJ_STATUS_SUCCESS 0x00
+#define EFI_ACPI_5_1_EINJ_STATUS_UNKNOWN_FAILURE 0x01
+#define EFI_ACPI_5_1_EINJ_STATUS_INVALID_ACCESS 0x02
+
+///
+/// EINJ Error Type Definition
+///
+#define EFI_ACPI_5_1_EINJ_ERROR_PROCESSOR_CORRECTABLE (1 << 0)
+#define EFI_ACPI_5_1_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_NONFATAL (1 << 1)
+#define EFI_ACPI_5_1_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_FATAL (1 << 2)
+#define EFI_ACPI_5_1_EINJ_ERROR_MEMORY_CORRECTABLE (1 << 3)
+#define EFI_ACPI_5_1_EINJ_ERROR_MEMORY_UNCORRECTABLE_NONFATAL (1 << 4)
+#define EFI_ACPI_5_1_EINJ_ERROR_MEMORY_UNCORRECTABLE_FATAL (1 << 5)
+#define EFI_ACPI_5_1_EINJ_ERROR_PCI_EXPRESS_CORRECTABLE (1 << 6)
+#define EFI_ACPI_5_1_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_NONFATAL (1 << 7)
+#define EFI_ACPI_5_1_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_FATAL (1 << 8)
+#define EFI_ACPI_5_1_EINJ_ERROR_PLATFORM_CORRECTABLE (1 << 9)
+#define EFI_ACPI_5_1_EINJ_ERROR_PLATFORM_UNCORRECTABLE_NONFATAL (1 << 10)
+#define EFI_ACPI_5_1_EINJ_ERROR_PLATFORM_UNCORRECTABLE_FATAL (1 << 11)
+
+///
+/// EINJ Injection Instructions
+///
+#define EFI_ACPI_5_1_EINJ_READ_REGISTER 0x00
+#define EFI_ACPI_5_1_EINJ_READ_REGISTER_VALUE 0x01
+#define EFI_ACPI_5_1_EINJ_WRITE_REGISTER 0x02
+#define EFI_ACPI_5_1_EINJ_WRITE_REGISTER_VALUE 0x03
+#define EFI_ACPI_5_1_EINJ_NOOP 0x04
+
+///
+/// EINJ Instruction Flags
+///
+#define EFI_ACPI_5_1_EINJ_PRESERVE_REGISTER 0x01
+
+///
+/// EINJ Injection Instruction Entry
+///
+typedef struct {
+ UINT8 InjectionAction;
+ UINT8 Instruction;
+ UINT8 Flags;
+ UINT8 Reserved0;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE RegisterRegion;
+ UINT64 Value;
+ UINT64 Mask;
+} EFI_ACPI_5_1_EINJ_INJECTION_INSTRUCTION_ENTRY;
+
+///
+/// EINJ Trigger Action Table
+///
+typedef struct {
+ UINT32 HeaderSize;
+ UINT32 Revision;
+ UINT32 TableSize;
+ UINT32 EntryCount;
+} EFI_ACPI_5_1_EINJ_TRIGGER_ACTION_TABLE;
+
+///
+/// Platform Communications Channel Table (PCCT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Flags;
+ UINT64 Reserved;
+} EFI_ACPI_5_1_PLATFORM_COMMUNICATION_CHANNEL_TABLE_HEADER;
+
+///
+/// PCCT Version (as defined in ACPI 5.1 spec.)
+///
+#define EFI_ACPI_5_1_PLATFORM_COMMUNICATION_CHANNEL_TABLE_REVISION 0x01
+
+///
+/// PCCT Global Flags
+///
+#define EFI_ACPI_5_1_PCCT_FLAGS_SCI_DOORBELL BIT0
+
+//
+// PCCT Subspace type
+//
+#define EFI_ACPI_5_1_PCCT_SUBSPACE_TYPE_GENERIC 0x00
+
+///
+/// PCC Subspace Structure Header
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+} EFI_ACPI_5_1_PCCT_SUBSPACE_HEADER;
+
+///
+/// Generic Communications Subspace Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved[6];
+ UINT64 BaseAddress;
+ UINT64 AddressLength;
+ EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE DoorbellRegister;
+ UINT64 DoorbellPreserve;
+ UINT64 DoorbellWrite;
+ UINT32 NominalLatency;
+ UINT32 MaximumPeriodicAccessRate;
+ UINT16 MinimumRequestTurnaroundTime;
+} EFI_ACPI_5_1_PCCT_SUBSPACE_GENERIC;
+
+///
+/// Generic Communications Channel Shared Memory Region
+///
+
+typedef struct {
+ UINT8 Command;
+ UINT8 Reserved:7;
+ UINT8 GenerateSci:1;
+} EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND;
+
+typedef struct {
+ UINT8 CommandComplete:1;
+ UINT8 SciDoorbell:1;
+ UINT8 Error:1;
+ UINT8 PlatformNotification:1;
+ UINT8 Reserved:4;
+ UINT8 Reserved1;
+} EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
+
+typedef struct {
+ UINT32 Signature;
+ EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND Command;
+ EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status;
+} EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_HEADER;
+
+//
+// Known table signatures
+//
+
+///
+/// "RSD PTR " Root System Description Pointer
+///
+#define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
+
+///
+/// "APIC" Multiple APIC Description Table
+///
+#define EFI_ACPI_5_1_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
+
+///
+/// "BERT" Boot Error Record Table
+///
+#define EFI_ACPI_5_1_BOOT_ERROR_RECORD_TABLE_SIGNATURE SIGNATURE_32('B', 'E', 'R', 'T')
+
+///
+/// "BGRT" Boot Graphics Resource Table
+///
+#define EFI_ACPI_5_1_BOOT_GRAPHICS_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('B', 'G', 'R', 'T')
+
+///
+/// "CPEP" Corrected Platform Error Polling Table
+///
+#define EFI_ACPI_5_1_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
+
+///
+/// "DSDT" Differentiated System Description Table
+///
+#define EFI_ACPI_5_1_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
+
+///
+/// "ECDT" Embedded Controller Boot Resources Table
+///
+#define EFI_ACPI_5_1_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
+
+///
+/// "EINJ" Error Injection Table
+///
+#define EFI_ACPI_5_1_ERROR_INJECTION_TABLE_SIGNATURE SIGNATURE_32('E', 'I', 'N', 'J')
+
+///
+/// "ERST" Error Record Serialization Table
+///
+#define EFI_ACPI_5_1_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE SIGNATURE_32('E', 'R', 'S', 'T')
+
+///
+/// "FACP" Fixed ACPI Description Table
+///
+#define EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
+
+///
+/// "FACS" Firmware ACPI Control Structure
+///
+#define EFI_ACPI_5_1_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
+
+///
+/// "FPDT" Firmware Performance Data Table
+///
+#define EFI_ACPI_5_1_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE SIGNATURE_32('F', 'P', 'D', 'T')
+
+///
+/// "GTDT" Generic Timer Description Table
+///
+#define EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('G', 'T', 'D', 'T')
+
+///
+/// "HEST" Hardware Error Source Table
+///
+#define EFI_ACPI_5_1_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('H', 'E', 'S', 'T')
+
+///
+/// "MPST" Memory Power State Table
+///
+#define EFI_ACPI_5_1_MEMORY_POWER_STATE_TABLE_SIGNATURE SIGNATURE_32('M', 'P', 'S', 'T')
+
+///
+/// "MSCT" Maximum System Characteristics Table
+///
+#define EFI_ACPI_5_1_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'C', 'T')
+
+///
+/// "PMTT" Platform Memory Topology Table
+///
+#define EFI_ACPI_5_1_PLATFORM_MEMORY_TOPOLOGY_TABLE_SIGNATURE SIGNATURE_32('P', 'M', 'T', 'T')
+
+///
+/// "PSDT" Persistent System Description Table
+///
+#define EFI_ACPI_5_1_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
+
+///
+/// "RASF" ACPI RAS Feature Table
+///
+#define EFI_ACPI_5_1_ACPI_RAS_FEATURE_TABLE_SIGNATURE SIGNATURE_32('R', 'A', 'S', 'F')
+
+///
+/// "RSDT" Root System Description Table
+///
+#define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
+
+///
+/// "SBST" Smart Battery Specification Table
+///
+#define EFI_ACPI_5_1_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
+
+///
+/// "SLIT" System Locality Information Table
+///
+#define EFI_ACPI_5_1_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
+
+///
+/// "SRAT" System Resource Affinity Table
+///
+#define EFI_ACPI_5_1_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
+
+///
+/// "SSDT" Secondary System Description Table
+///
+#define EFI_ACPI_5_1_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
+
+///
+/// "XSDT" Extended System Description Table
+///
+#define EFI_ACPI_5_1_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
+
+///
+/// "BOOT" MS Simple Boot Spec
+///
+#define EFI_ACPI_5_1_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
+
+///
+/// "CSRT" MS Core System Resource Table
+///
+#define EFI_ACPI_5_1_CORE_SYSTEM_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('C', 'S', 'R', 'T')
+
+///
+/// "DBG2" MS Debug Port 2 Spec
+///
+#define EFI_ACPI_5_1_DEBUG_PORT_2_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', '2')
+
+///
+/// "DBGP" MS Debug Port Spec
+///
+#define EFI_ACPI_5_1_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
+
+///
+/// "DMAR" DMA Remapping Table
+///
+#define EFI_ACPI_5_1_DMA_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('D', 'M', 'A', 'R')
+
+///
+/// "DRTM" Dynamic Root of Trust for Measurement Table
+///
+#define EFI_ACPI_5_1_DYNAMIC_ROOT_OF_TRUST_FOR_MEASUREMENT_TABLE_SIGNATURE SIGNATURE_32('D', 'R', 'T', 'M')
+
+///
+/// "ETDT" Event Timer Description Table
+///
+#define EFI_ACPI_5_1_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
+
+///
+/// "HPET" IA-PC High Precision Event Timer Table
+///
+#define EFI_ACPI_5_1_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
+
+///
+/// "iBFT" iSCSI Boot Firmware Table
+///
+#define EFI_ACPI_5_1_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
+
+///
+/// "IVRS" I/O Virtualization Reporting Structure
+///
+#define EFI_ACPI_5_1_IO_VIRTUALIZATION_REPORTING_STRUCTURE_SIGNATURE SIGNATURE_32('I', 'V', 'R', 'S')
+
+///
+/// "LPIT" Low Power Idle Table
+///
+#define EFI_ACPI_5_1_IO_LOW_POWER_IDLE_TABLE_STRUCTURE_SIGNATURE SIGNATURE_32('L', 'P', 'I', 'T')
+
+///
+/// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
+///
+#define EFI_ACPI_5_1_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
+
+///
+/// "MCHI" Management Controller Host Interface Table
+///
+#define EFI_ACPI_5_1_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
+
+///
+/// "MSDM" MS Data Management Table
+///
+#define EFI_ACPI_5_1_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
+
+///
+/// "SLIC" MS Software Licensing Table Specification
+///
+#define EFI_ACPI_5_1_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
+
+///
+/// "SPCR" Serial Port Concole Redirection Table
+///
+#define EFI_ACPI_5_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
+
+///
+/// "SPMI" Server Platform Management Interface Table
+///
+#define EFI_ACPI_5_1_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
+
+///
+/// "TCPA" Trusted Computing Platform Alliance Capabilities Table
+///
+#define EFI_ACPI_5_1_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
+
+///
+/// "TPM2" Trusted Computing Platform 1 Table
+///
+#define EFI_ACPI_5_1_TRUSTED_COMPUTING_PLATFORM_2_TABLE_SIGNATURE SIGNATURE_32('T', 'P', 'M', '2')
+
+///
+/// "UEFI" UEFI ACPI Data Table
+///
+#define EFI_ACPI_5_1_UEFI_ACPI_DATA_TABLE_SIGNATURE SIGNATURE_32('U', 'E', 'F', 'I')
+
+///
+/// "WAET" Windows ACPI Emulated Devices Table
+///
+#define EFI_ACPI_5_1_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE SIGNATURE_32('W', 'A', 'E', 'T')
+
+///
+/// "WDAT" Watchdog Action Table
+///
+#define EFI_ACPI_5_1_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
+
+///
+/// "WDRT" Watchdog Resource Table
+///
+#define EFI_ACPI_5_1_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
+
+///
+/// "WPBT" MS Platform Binary Table
+///
+#define EFI_ACPI_5_1_PLATFORM_BINARY_TABLE_SIGNATURE SIGNATURE_32('W', 'P', 'B', 'T')
+
+#pragma pack()
+
+#endif
diff --git a/sys/contrib/edk2/Include/IndustryStandard/Acpi60.h b/sys/contrib/edk2/Include/IndustryStandard/Acpi60.h
new file mode 100644
index 0000000..478697c
--- /dev/null
+++ b/sys/contrib/edk2/Include/IndustryStandard/Acpi60.h
@@ -0,0 +1,2346 @@
+/** @file
+ ACPI 6.0 definitions from the ACPI Specification Revision 6.0 Errata A January, 2016.
+
+ Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
+ (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+**/
+
+#ifndef _ACPI_6_0_H_
+#define _ACPI_6_0_H_
+
+#include <IndustryStandard/Acpi51.h>
+
+//
+// Ensure proper structure formats
+//
+#pragma pack(1)
+
+///
+/// ACPI 6.0 Generic Address Space definition
+///
+typedef struct {
+ UINT8 AddressSpaceId;
+ UINT8 RegisterBitWidth;
+ UINT8 RegisterBitOffset;
+ UINT8 AccessSize;
+ UINT64 Address;
+} EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE;
+
+//
+// Generic Address Space Address IDs
+//
+#define EFI_ACPI_6_0_SYSTEM_MEMORY 0
+#define EFI_ACPI_6_0_SYSTEM_IO 1
+#define EFI_ACPI_6_0_PCI_CONFIGURATION_SPACE 2
+#define EFI_ACPI_6_0_EMBEDDED_CONTROLLER 3
+#define EFI_ACPI_6_0_SMBUS 4
+#define EFI_ACPI_6_0_PLATFORM_COMMUNICATION_CHANNEL 0x0A
+#define EFI_ACPI_6_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
+
+//
+// Generic Address Space Access Sizes
+//
+#define EFI_ACPI_6_0_UNDEFINED 0
+#define EFI_ACPI_6_0_BYTE 1
+#define EFI_ACPI_6_0_WORD 2
+#define EFI_ACPI_6_0_DWORD 3
+#define EFI_ACPI_6_0_QWORD 4
+
+//
+// ACPI 6.0 table structures
+//
+
+///
+/// Root System Description Pointer Structure
+///
+typedef struct {
+ UINT64 Signature;
+ UINT8 Checksum;
+ UINT8 OemId[6];
+ UINT8 Revision;
+ UINT32 RsdtAddress;
+ UINT32 Length;
+ UINT64 XsdtAddress;
+ UINT8 ExtendedChecksum;
+ UINT8 Reserved[3];
+} EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_POINTER;
+
+///
+/// RSD_PTR Revision (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 6.0) says current value is 2
+
+///
+/// Common table header, this prefaces all ACPI tables, including FACS, but
+/// excluding the RSD PTR structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+} EFI_ACPI_6_0_COMMON_HEADER;
+
+//
+// Root System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
+//
+
+///
+/// RSDT Revision (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+//
+// Extended System Description Table
+// No definition needed as it is a common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
+//
+
+///
+/// XSDT Revision (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Fixed ACPI Description Table Structure (FADT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 FirmwareCtrl;
+ UINT32 Dsdt;
+ UINT8 Reserved0;
+ UINT8 PreferredPmProfile;
+ UINT16 SciInt;
+ UINT32 SmiCmd;
+ UINT8 AcpiEnable;
+ UINT8 AcpiDisable;
+ UINT8 S4BiosReq;
+ UINT8 PstateCnt;
+ UINT32 Pm1aEvtBlk;
+ UINT32 Pm1bEvtBlk;
+ UINT32 Pm1aCntBlk;
+ UINT32 Pm1bCntBlk;
+ UINT32 Pm2CntBlk;
+ UINT32 PmTmrBlk;
+ UINT32 Gpe0Blk;
+ UINT32 Gpe1Blk;
+ UINT8 Pm1EvtLen;
+ UINT8 Pm1CntLen;
+ UINT8 Pm2CntLen;
+ UINT8 PmTmrLen;
+ UINT8 Gpe0BlkLen;
+ UINT8 Gpe1BlkLen;
+ UINT8 Gpe1Base;
+ UINT8 CstCnt;
+ UINT16 PLvl2Lat;
+ UINT16 PLvl3Lat;
+ UINT16 FlushSize;
+ UINT16 FlushStride;
+ UINT8 DutyOffset;
+ UINT8 DutyWidth;
+ UINT8 DayAlrm;
+ UINT8 MonAlrm;
+ UINT8 Century;
+ UINT16 IaPcBootArch;
+ UINT8 Reserved1;
+ UINT32 Flags;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE ResetReg;
+ UINT8 ResetValue;
+ UINT16 ArmBootArch;
+ UINT8 MinorVersion;
+ UINT64 XFirmwareCtrl;
+ UINT64 XDsdt;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE SleepControlReg;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE SleepStatusReg;
+ UINT64 HypervisorVendorIdentity;
+} EFI_ACPI_6_0_FIXED_ACPI_DESCRIPTION_TABLE;
+
+///
+/// FADT Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x06
+#define EFI_ACPI_6_0_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION 0x00
+
+//
+// Fixed ACPI Description Table Preferred Power Management Profile
+//
+#define EFI_ACPI_6_0_PM_PROFILE_UNSPECIFIED 0
+#define EFI_ACPI_6_0_PM_PROFILE_DESKTOP 1
+#define EFI_ACPI_6_0_PM_PROFILE_MOBILE 2
+#define EFI_ACPI_6_0_PM_PROFILE_WORKSTATION 3
+#define EFI_ACPI_6_0_PM_PROFILE_ENTERPRISE_SERVER 4
+#define EFI_ACPI_6_0_PM_PROFILE_SOHO_SERVER 5
+#define EFI_ACPI_6_0_PM_PROFILE_APPLIANCE_PC 6
+#define EFI_ACPI_6_0_PM_PROFILE_PERFORMANCE_SERVER 7
+#define EFI_ACPI_6_0_PM_PROFILE_TABLET 8
+
+//
+// Fixed ACPI Description Table Boot Architecture Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_6_0_LEGACY_DEVICES BIT0
+#define EFI_ACPI_6_0_8042 BIT1
+#define EFI_ACPI_6_0_VGA_NOT_PRESENT BIT2
+#define EFI_ACPI_6_0_MSI_NOT_SUPPORTED BIT3
+#define EFI_ACPI_6_0_PCIE_ASPM_CONTROLS BIT4
+#define EFI_ACPI_6_0_CMOS_RTC_NOT_PRESENT BIT5
+
+//
+// Fixed ACPI Description Table Arm Boot Architecture Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_6_0_ARM_PSCI_COMPLIANT BIT0
+#define EFI_ACPI_6_0_ARM_PSCI_USE_HVC BIT1
+
+//
+// Fixed ACPI Description Table Fixed Feature Flags
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_6_0_WBINVD BIT0
+#define EFI_ACPI_6_0_WBINVD_FLUSH BIT1
+#define EFI_ACPI_6_0_PROC_C1 BIT2
+#define EFI_ACPI_6_0_P_LVL2_UP BIT3
+#define EFI_ACPI_6_0_PWR_BUTTON BIT4
+#define EFI_ACPI_6_0_SLP_BUTTON BIT5
+#define EFI_ACPI_6_0_FIX_RTC BIT6
+#define EFI_ACPI_6_0_RTC_S4 BIT7
+#define EFI_ACPI_6_0_TMR_VAL_EXT BIT8
+#define EFI_ACPI_6_0_DCK_CAP BIT9
+#define EFI_ACPI_6_0_RESET_REG_SUP BIT10
+#define EFI_ACPI_6_0_SEALED_CASE BIT11
+#define EFI_ACPI_6_0_HEADLESS BIT12
+#define EFI_ACPI_6_0_CPU_SW_SLP BIT13
+#define EFI_ACPI_6_0_PCI_EXP_WAK BIT14
+#define EFI_ACPI_6_0_USE_PLATFORM_CLOCK BIT15
+#define EFI_ACPI_6_0_S4_RTC_STS_VALID BIT16
+#define EFI_ACPI_6_0_REMOTE_POWER_ON_CAPABLE BIT17
+#define EFI_ACPI_6_0_FORCE_APIC_CLUSTER_MODEL BIT18
+#define EFI_ACPI_6_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
+#define EFI_ACPI_6_0_HW_REDUCED_ACPI BIT20
+#define EFI_ACPI_6_0_LOW_POWER_S0_IDLE_CAPABLE BIT21
+
+///
+/// Firmware ACPI Control Structure
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+ UINT32 HardwareSignature;
+ UINT32 FirmwareWakingVector;
+ UINT32 GlobalLock;
+ UINT32 Flags;
+ UINT64 XFirmwareWakingVector;
+ UINT8 Version;
+ UINT8 Reserved0[3];
+ UINT32 OspmFlags;
+ UINT8 Reserved1[24];
+} EFI_ACPI_6_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
+
+///
+/// FACS Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x02
+
+///
+/// Firmware Control Structure Feature Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_6_0_S4BIOS_F BIT0
+#define EFI_ACPI_6_0_64BIT_WAKE_SUPPORTED_F BIT1
+
+///
+/// OSPM Enabled Firmware Control Structure Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_6_0_OSPM_64BIT_WAKE_F BIT0
+
+//
+// Differentiated System Description Table,
+// Secondary System Description Table
+// and Persistent System Description Table,
+// no definition needed as they are common description table header, the same with
+// EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
+//
+#define EFI_ACPI_6_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
+#define EFI_ACPI_6_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
+
+///
+/// Multiple APIC Description Table header definition. The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 LocalApicAddress;
+ UINT32 Flags;
+} EFI_ACPI_6_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
+
+///
+/// MADT Revision (as defined in ACPI 6.0 Errata A spec.)
+///
+#define EFI_ACPI_6_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x04
+
+///
+/// Multiple APIC Flags
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_6_0_PCAT_COMPAT BIT0
+
+//
+// Multiple APIC Description Table APIC structure types
+// All other values between 0x0D and 0x7F are reserved and
+// will be ignored by OSPM. 0x80 ~ 0xFF are reserved for OEM.
+//
+#define EFI_ACPI_6_0_PROCESSOR_LOCAL_APIC 0x00
+#define EFI_ACPI_6_0_IO_APIC 0x01
+#define EFI_ACPI_6_0_INTERRUPT_SOURCE_OVERRIDE 0x02
+#define EFI_ACPI_6_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
+#define EFI_ACPI_6_0_LOCAL_APIC_NMI 0x04
+#define EFI_ACPI_6_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
+#define EFI_ACPI_6_0_IO_SAPIC 0x06
+#define EFI_ACPI_6_0_LOCAL_SAPIC 0x07
+#define EFI_ACPI_6_0_PLATFORM_INTERRUPT_SOURCES 0x08
+#define EFI_ACPI_6_0_PROCESSOR_LOCAL_X2APIC 0x09
+#define EFI_ACPI_6_0_LOCAL_X2APIC_NMI 0x0A
+#define EFI_ACPI_6_0_GIC 0x0B
+#define EFI_ACPI_6_0_GICD 0x0C
+#define EFI_ACPI_6_0_GIC_MSI_FRAME 0x0D
+#define EFI_ACPI_6_0_GICR 0x0E
+#define EFI_ACPI_6_0_GIC_ITS 0x0F
+
+//
+// APIC Structure Definitions
+//
+
+///
+/// Processor Local APIC Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorUid;
+ UINT8 ApicId;
+ UINT32 Flags;
+} EFI_ACPI_6_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
+
+///
+/// Local APIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_6_0_LOCAL_APIC_ENABLED BIT0
+
+///
+/// IO APIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 IoApicAddress;
+ UINT32 GlobalSystemInterruptBase;
+} EFI_ACPI_6_0_IO_APIC_STRUCTURE;
+
+///
+/// Interrupt Source Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Bus;
+ UINT8 Source;
+ UINT32 GlobalSystemInterrupt;
+ UINT16 Flags;
+} EFI_ACPI_6_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 PlatformInterruptSourceFlags;
+ UINT8 CpeiProcessorOverride;
+ UINT8 Reserved[31];
+} EFI_ACPI_6_0_PLATFORM_INTERRUPT_APIC_STRUCTURE;
+
+//
+// MPS INTI flags.
+// All other bits are reserved and must be set to 0.
+//
+#define EFI_ACPI_6_0_POLARITY (3 << 0)
+#define EFI_ACPI_6_0_TRIGGER_MODE (3 << 2)
+
+///
+/// Non-Maskable Interrupt Source Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 GlobalSystemInterrupt;
+} EFI_ACPI_6_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
+
+///
+/// Local APIC NMI Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorUid;
+ UINT16 Flags;
+ UINT8 LocalApicLint;
+} EFI_ACPI_6_0_LOCAL_APIC_NMI_STRUCTURE;
+
+///
+/// Local APIC Address Override Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT64 LocalApicAddress;
+} EFI_ACPI_6_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
+
+///
+/// IO SAPIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 IoApicId;
+ UINT8 Reserved;
+ UINT32 GlobalSystemInterruptBase;
+ UINT64 IoSapicAddress;
+} EFI_ACPI_6_0_IO_SAPIC_STRUCTURE;
+
+///
+/// Local SAPIC Structure
+/// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 AcpiProcessorId;
+ UINT8 LocalSapicId;
+ UINT8 LocalSapicEid;
+ UINT8 Reserved[3];
+ UINT32 Flags;
+ UINT32 ACPIProcessorUIDValue;
+} EFI_ACPI_6_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
+
+///
+/// Platform Interrupt Sources Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT8 InterruptType;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT8 IoSapicVector;
+ UINT32 GlobalSystemInterrupt;
+ UINT32 PlatformInterruptSourceFlags;
+} EFI_ACPI_6_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
+
+///
+/// Platform Interrupt Source Flags.
+/// All other bits are reserved and must be set to 0.
+///
+#define EFI_ACPI_6_0_CPEI_PROCESSOR_OVERRIDE BIT0
+
+///
+/// Processor Local x2APIC Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved[2];
+ UINT32 X2ApicId;
+ UINT32 Flags;
+ UINT32 AcpiProcessorUid;
+} EFI_ACPI_6_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE;
+
+///
+/// Local x2APIC NMI Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Flags;
+ UINT32 AcpiProcessorUid;
+ UINT8 LocalX2ApicLint;
+ UINT8 Reserved[3];
+} EFI_ACPI_6_0_LOCAL_X2APIC_NMI_STRUCTURE;
+
+///
+/// GIC Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT32 CPUInterfaceNumber;
+ UINT32 AcpiProcessorUid;
+ UINT32 Flags;
+ UINT32 ParkingProtocolVersion;
+ UINT32 PerformanceInterruptGsiv;
+ UINT64 ParkedAddress;
+ UINT64 PhysicalBaseAddress;
+ UINT64 GICV;
+ UINT64 GICH;
+ UINT32 VGICMaintenanceInterrupt;
+ UINT64 GICRBaseAddress;
+ UINT64 MPIDR;
+ UINT8 ProcessorPowerEfficiencyClass;
+ UINT8 Reserved2[3];
+} EFI_ACPI_6_0_GIC_STRUCTURE;
+
+///
+/// GIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_6_0_GIC_ENABLED BIT0
+#define EFI_ACPI_6_0_PERFORMANCE_INTERRUPT_MODEL BIT1
+#define EFI_ACPI_6_0_VGIC_MAINTENANCE_INTERRUPT_MODE_FLAGS BIT2
+
+///
+/// GIC Distributor Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved1;
+ UINT32 GicId;
+ UINT64 PhysicalBaseAddress;
+ UINT32 SystemVectorBase;
+ UINT8 GicVersion;
+ UINT8 Reserved2[3];
+} EFI_ACPI_6_0_GIC_DISTRIBUTOR_STRUCTURE;
+
+///
+/// GIC Version
+///
+#define EFI_ACPI_6_0_GIC_V1 0x01
+#define EFI_ACPI_6_0_GIC_V2 0x02
+#define EFI_ACPI_6_0_GIC_V3 0x03
+#define EFI_ACPI_6_0_GIC_V4 0x04
+
+///
+/// GIC MSI Frame Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved1;
+ UINT32 GicMsiFrameId;
+ UINT64 PhysicalBaseAddress;
+ UINT32 Flags;
+ UINT16 SPICount;
+ UINT16 SPIBase;
+} EFI_ACPI_6_0_GIC_MSI_FRAME_STRUCTURE;
+
+///
+/// GIC MSI Frame Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_6_0_SPI_COUNT_BASE_SELECT BIT0
+
+///
+/// GICR Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT64 DiscoveryRangeBaseAddress;
+ UINT32 DiscoveryRangeLength;
+} EFI_ACPI_6_0_GICR_STRUCTURE;
+
+///
+/// GIC Interrupt Translation Service Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 Reserved;
+ UINT32 GicItsId;
+ UINT64 PhysicalBaseAddress;
+ UINT32 Reserved2;
+} EFI_ACPI_6_0_GIC_ITS_STRUCTURE;
+
+///
+/// Smart Battery Description Table (SBST)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 WarningEnergyLevel;
+ UINT32 LowEnergyLevel;
+ UINT32 CriticalEnergyLevel;
+} EFI_ACPI_6_0_SMART_BATTERY_DESCRIPTION_TABLE;
+
+///
+/// SBST Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
+
+///
+/// Embedded Controller Boot Resources Table (ECDT)
+/// The table is followed by a null terminated ASCII string that contains
+/// a fully qualified reference to the name space object.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE EcControl;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE EcData;
+ UINT32 Uid;
+ UINT8 GpeBit;
+} EFI_ACPI_6_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE;
+
+///
+/// ECDT Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
+
+///
+/// System Resource Affinity Table (SRAT). The rest of the table
+/// must be defined in a platform specific manner.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Reserved1; ///< Must be set to 1
+ UINT64 Reserved2;
+} EFI_ACPI_6_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER;
+
+///
+/// SRAT Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x03
+
+//
+// SRAT structure types.
+// All other values between 0x04 an 0xFF are reserved and
+// will be ignored by OSPM.
+//
+#define EFI_ACPI_6_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
+#define EFI_ACPI_6_0_MEMORY_AFFINITY 0x01
+#define EFI_ACPI_6_0_PROCESSOR_LOCAL_X2APIC_AFFINITY 0x02
+#define EFI_ACPI_6_0_GICC_AFFINITY 0x03
+
+///
+/// Processor Local APIC/SAPIC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 ProximityDomain7To0;
+ UINT8 ApicId;
+ UINT32 Flags;
+ UINT8 LocalSapicEid;
+ UINT8 ProximityDomain31To8[3];
+ UINT32 ClockDomain;
+} EFI_ACPI_6_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE;
+
+///
+/// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_6_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
+
+///
+/// Memory Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT32 ProximityDomain;
+ UINT16 Reserved1;
+ UINT32 AddressBaseLow;
+ UINT32 AddressBaseHigh;
+ UINT32 LengthLow;
+ UINT32 LengthHigh;
+ UINT32 Reserved2;
+ UINT32 Flags;
+ UINT64 Reserved3;
+} EFI_ACPI_6_0_MEMORY_AFFINITY_STRUCTURE;
+
+//
+// Memory Flags. All other bits are reserved and must be 0.
+//
+#define EFI_ACPI_6_0_MEMORY_ENABLED (1 << 0)
+#define EFI_ACPI_6_0_MEMORY_HOT_PLUGGABLE (1 << 1)
+#define EFI_ACPI_6_0_MEMORY_NONVOLATILE (1 << 2)
+
+///
+/// Processor Local x2APIC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved1[2];
+ UINT32 ProximityDomain;
+ UINT32 X2ApicId;
+ UINT32 Flags;
+ UINT32 ClockDomain;
+ UINT8 Reserved2[4];
+} EFI_ACPI_6_0_PROCESSOR_LOCAL_X2APIC_AFFINITY_STRUCTURE;
+
+///
+/// GICC Affinity Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT32 ProximityDomain;
+ UINT32 AcpiProcessorUid;
+ UINT32 Flags;
+ UINT32 ClockDomain;
+} EFI_ACPI_6_0_GICC_AFFINITY_STRUCTURE;
+
+///
+/// GICC Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_6_0_GICC_ENABLED (1 << 0)
+
+///
+/// System Locality Distance Information Table (SLIT).
+/// The rest of the table is a matrix.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT64 NumberOfSystemLocalities;
+} EFI_ACPI_6_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER;
+
+///
+/// SLIT Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
+
+///
+/// Corrected Platform Error Polling Table (CPEP)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT8 Reserved[8];
+} EFI_ACPI_6_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_HEADER;
+
+///
+/// CPEP Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_REVISION 0x01
+
+//
+// CPEP processor structure types.
+//
+#define EFI_ACPI_6_0_CPEP_PROCESSOR_APIC_SAPIC 0x00
+
+///
+/// Corrected Platform Error Polling Processor Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 ProcessorId;
+ UINT8 ProcessorEid;
+ UINT32 PollingInterval;
+} EFI_ACPI_6_0_CPEP_PROCESSOR_APIC_SAPIC_STRUCTURE;
+
+///
+/// Maximum System Characteristics Table (MSCT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 OffsetProxDomInfo;
+ UINT32 MaximumNumberOfProximityDomains;
+ UINT32 MaximumNumberOfClockDomains;
+ UINT64 MaximumPhysicalAddress;
+} EFI_ACPI_6_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_HEADER;
+
+///
+/// MSCT Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION 0x01
+
+///
+/// Maximum Proximity Domain Information Structure Definition
+///
+typedef struct {
+ UINT8 Revision;
+ UINT8 Length;
+ UINT32 ProximityDomainRangeLow;
+ UINT32 ProximityDomainRangeHigh;
+ UINT32 MaximumProcessorCapacity;
+ UINT64 MaximumMemoryCapacity;
+} EFI_ACPI_6_0_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE;
+
+///
+/// ACPI RAS Feature Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT8 PlatformCommunicationChannelIdentifier[12];
+} EFI_ACPI_6_0_RAS_FEATURE_TABLE;
+
+///
+/// RASF Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_RAS_FEATURE_TABLE_REVISION 0x01
+
+///
+/// ACPI RASF Platform Communication Channel Shared Memory Region definition.
+///
+typedef struct {
+ UINT32 Signature;
+ UINT16 Command;
+ UINT16 Status;
+ UINT16 Version;
+ UINT8 RASCapabilities[16];
+ UINT8 SetRASCapabilities[16];
+ UINT16 NumberOfRASFParameterBlocks;
+ UINT32 SetRASCapabilitiesStatus;
+} EFI_ACPI_6_0_RASF_PLATFORM_COMMUNICATION_CHANNEL_SHARED_MEMORY_REGION;
+
+///
+/// ACPI RASF PCC command code
+///
+#define EFI_ACPI_6_0_RASF_PCC_COMMAND_CODE_EXECUTE_RASF_COMMAND 0x01
+
+///
+/// ACPI RASF Platform RAS Capabilities
+///
+#define EFI_ACPI_6_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED 0x01
+#define EFI_ACPI_6_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED_AND_EXPOSED_TO_SOFTWARE 0x02
+
+///
+/// ACPI RASF Parameter Block structure for PATROL_SCRUB
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 Version;
+ UINT16 Length;
+ UINT16 PatrolScrubCommand;
+ UINT64 RequestedAddressRange[2];
+ UINT64 ActualAddressRange[2];
+ UINT16 Flags;
+ UINT8 RequestedSpeed;
+} EFI_ACPI_6_0_RASF_PATROL_SCRUB_PLATFORM_BLOCK_STRUCTURE;
+
+///
+/// ACPI RASF Patrol Scrub command
+///
+#define EFI_ACPI_6_0_RASF_PATROL_SCRUB_COMMAND_GET_PATROL_PARAMETERS 0x01
+#define EFI_ACPI_6_0_RASF_PATROL_SCRUB_COMMAND_START_PATROL_SCRUBBER 0x02
+#define EFI_ACPI_6_0_RASF_PATROL_SCRUB_COMMAND_STOP_PATROL_SCRUBBER 0x03
+
+///
+/// Memory Power State Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT8 PlatformCommunicationChannelIdentifier;
+ UINT8 Reserved[3];
+// Memory Power Node Structure
+// Memory Power State Characteristics
+} EFI_ACPI_6_0_MEMORY_POWER_STATUS_TABLE;
+
+///
+/// MPST Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_MEMORY_POWER_STATE_TABLE_REVISION 0x01
+
+///
+/// MPST Platform Communication Channel Shared Memory Region definition.
+///
+typedef struct {
+ UINT32 Signature;
+ UINT16 Command;
+ UINT16 Status;
+ UINT32 MemoryPowerCommandRegister;
+ UINT32 MemoryPowerStatusRegister;
+ UINT32 PowerStateId;
+ UINT32 MemoryPowerNodeId;
+ UINT64 MemoryEnergyConsumed;
+ UINT64 ExpectedAveragePowerComsuned;
+} EFI_ACPI_6_0_MPST_PLATFORM_COMMUNICATION_CHANNEL_SHARED_MEMORY_REGION;
+
+///
+/// ACPI MPST PCC command code
+///
+#define EFI_ACPI_6_0_MPST_PCC_COMMAND_CODE_EXECUTE_MPST_COMMAND 0x03
+
+///
+/// ACPI MPST Memory Power command
+///
+#define EFI_ACPI_6_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_POWER_STATE 0x01
+#define EFI_ACPI_6_0_MPST_MEMORY_POWER_COMMAND_SET_MEMORY_POWER_STATE 0x02
+#define EFI_ACPI_6_0_MPST_MEMORY_POWER_COMMAND_GET_AVERAGE_POWER_CONSUMED 0x03
+#define EFI_ACPI_6_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_ENERGY_CONSUMED 0x04
+
+///
+/// MPST Memory Power Node Table
+///
+typedef struct {
+ UINT8 PowerStateValue;
+ UINT8 PowerStateInformationIndex;
+} EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE;
+
+typedef struct {
+ UINT8 Flag;
+ UINT8 Reserved;
+ UINT16 MemoryPowerNodeId;
+ UINT32 Length;
+ UINT64 AddressBase;
+ UINT64 AddressLength;
+ UINT32 NumberOfPowerStates;
+ UINT32 NumberOfPhysicalComponents;
+//EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE MemoryPowerState[NumberOfPowerStates];
+//UINT16 PhysicalComponentIdentifier[NumberOfPhysicalComponents];
+} EFI_ACPI_6_0_MPST_MEMORY_POWER_STRUCTURE;
+
+#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_ENABLE 0x01
+#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_POWER_MANAGED 0x02
+#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_HOT_PLUGGABLE 0x04
+
+typedef struct {
+ UINT16 MemoryPowerNodeCount;
+ UINT8 Reserved[2];
+} EFI_ACPI_6_0_MPST_MEMORY_POWER_NODE_TABLE;
+
+///
+/// MPST Memory Power State Characteristics Table
+///
+typedef struct {
+ UINT8 PowerStateStructureID;
+ UINT8 Flag;
+ UINT16 Reserved;
+ UINT32 AveragePowerConsumedInMPS0;
+ UINT32 RelativePowerSavingToMPS0;
+ UINT64 ExitLatencyToMPS0;
+} EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE;
+
+#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_MEMORY_CONTENT_PRESERVED 0x01
+#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_ENTRY 0x02
+#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_EXIT 0x04
+
+typedef struct {
+ UINT16 MemoryPowerStateCharacteristicsCount;
+ UINT8 Reserved[2];
+} EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_TABLE;
+
+///
+/// Memory Topology Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Reserved;
+} EFI_ACPI_6_0_MEMORY_TOPOLOGY_TABLE;
+
+///
+/// PMTT Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_MEMORY_TOPOLOGY_TABLE_REVISION 0x01
+
+///
+/// Common Memory Aggregator Device Structure.
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Reserved;
+ UINT16 Length;
+ UINT16 Flags;
+ UINT16 Reserved1;
+} EFI_ACPI_6_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// Memory Aggregator Device Type
+///
+#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
+#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
+#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
+
+///
+/// Socket Memory Aggregator Device Structure.
+///
+typedef struct {
+ EFI_ACPI_6_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;
+ UINT16 SocketIdentifier;
+ UINT16 Reserved;
+//EFI_ACPI_6_0_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];
+} EFI_ACPI_6_0_PMMT_SOCKET_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// MemoryController Memory Aggregator Device Structure.
+///
+typedef struct {
+ EFI_ACPI_6_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;
+ UINT32 ReadLatency;
+ UINT32 WriteLatency;
+ UINT32 ReadBandwidth;
+ UINT32 WriteBandwidth;
+ UINT16 OptimalAccessUnit;
+ UINT16 OptimalAccessAlignment;
+ UINT16 Reserved;
+ UINT16 NumberOfProximityDomains;
+//UINT32 ProximityDomain[NumberOfProximityDomains];
+//EFI_ACPI_6_0_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE PhysicalComponent[];
+} EFI_ACPI_6_0_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// DIMM Memory Aggregator Device Structure.
+///
+typedef struct {
+ EFI_ACPI_6_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;
+ UINT16 PhysicalComponentIdentifier;
+ UINT16 Reserved;
+ UINT32 SizeOfDimm;
+ UINT32 SmbiosHandle;
+} EFI_ACPI_6_0_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;
+
+///
+/// Boot Graphics Resource Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ ///
+ /// 2-bytes (16 bit) version ID. This value must be 1.
+ ///
+ UINT16 Version;
+ ///
+ /// 1-byte status field indicating current status about the table.
+ /// Bits[7:1] = Reserved (must be zero)
+ /// Bit [0] = Valid. A one indicates the boot image graphic is valid.
+ ///
+ UINT8 Status;
+ ///
+ /// 1-byte enumerated type field indicating format of the image.
+ /// 0 = Bitmap
+ /// 1 - 255 Reserved (for future use)
+ ///
+ UINT8 ImageType;
+ ///
+ /// 8-byte (64 bit) physical address pointing to the firmware's in-memory copy
+ /// of the image bitmap.
+ ///
+ UINT64 ImageAddress;
+ ///
+ /// A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
+ /// (X, Y) display offset of the top left corner of the boot image.
+ /// The top left corner of the display is at offset (0, 0).
+ ///
+ UINT32 ImageOffsetX;
+ ///
+ /// A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
+ /// (X, Y) display offset of the top left corner of the boot image.
+ /// The top left corner of the display is at offset (0, 0).
+ ///
+ UINT32 ImageOffsetY;
+} EFI_ACPI_6_0_BOOT_GRAPHICS_RESOURCE_TABLE;
+
+///
+/// BGRT Revision
+///
+#define EFI_ACPI_6_0_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION 1
+
+///
+/// BGRT Version
+///
+#define EFI_ACPI_6_0_BGRT_VERSION 0x01
+
+///
+/// BGRT Status
+///
+#define EFI_ACPI_6_0_BGRT_STATUS_NOT_DISPLAYED 0x00
+#define EFI_ACPI_6_0_BGRT_STATUS_DISPLAYED 0x01
+
+///
+/// BGRT Image Type
+///
+#define EFI_ACPI_6_0_BGRT_IMAGE_TYPE_BMP 0x00
+
+///
+/// FPDT Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_FIRMWARE_PERFORMANCE_DATA_TABLE_REVISION 0x01
+
+///
+/// FPDT Performance Record Types
+///
+#define EFI_ACPI_6_0_FPDT_RECORD_TYPE_FIRMWARE_BASIC_BOOT_POINTER 0x0000
+#define EFI_ACPI_6_0_FPDT_RECORD_TYPE_S3_PERFORMANCE_TABLE_POINTER 0x0001
+
+///
+/// FPDT Performance Record Revision
+///
+#define EFI_ACPI_6_0_FPDT_RECORD_REVISION_FIRMWARE_BASIC_BOOT_POINTER 0x01
+#define EFI_ACPI_6_0_FPDT_RECORD_REVISION_S3_PERFORMANCE_TABLE_POINTER 0x01
+
+///
+/// FPDT Runtime Performance Record Types
+///
+#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_TYPE_S3_RESUME 0x0000
+#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_TYPE_S3_SUSPEND 0x0001
+#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_TYPE_FIRMWARE_BASIC_BOOT 0x0002
+
+///
+/// FPDT Runtime Performance Record Revision
+///
+#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_REVISION_S3_RESUME 0x01
+#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_REVISION_S3_SUSPEND 0x01
+#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_REVISION_FIRMWARE_BASIC_BOOT 0x02
+
+///
+/// FPDT Performance Record header
+///
+typedef struct {
+ UINT16 Type;
+ UINT8 Length;
+ UINT8 Revision;
+} EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER;
+
+///
+/// FPDT Performance Table header
+///
+typedef struct {
+ UINT32 Signature;
+ UINT32 Length;
+} EFI_ACPI_6_0_FPDT_PERFORMANCE_TABLE_HEADER;
+
+///
+/// FPDT Firmware Basic Boot Performance Pointer Record Structure
+///
+typedef struct {
+ EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ UINT32 Reserved;
+ ///
+ /// 64-bit processor-relative physical address of the Basic Boot Performance Table.
+ ///
+ UINT64 BootPerformanceTablePointer;
+} EFI_ACPI_6_0_FPDT_BOOT_PERFORMANCE_TABLE_POINTER_RECORD;
+
+///
+/// FPDT S3 Performance Table Pointer Record Structure
+///
+typedef struct {
+ EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ UINT32 Reserved;
+ ///
+ /// 64-bit processor-relative physical address of the S3 Performance Table.
+ ///
+ UINT64 S3PerformanceTablePointer;
+} EFI_ACPI_6_0_FPDT_S3_PERFORMANCE_TABLE_POINTER_RECORD;
+
+///
+/// FPDT Firmware Basic Boot Performance Record Structure
+///
+typedef struct {
+ EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ UINT32 Reserved;
+ ///
+ /// Timer value logged at the beginning of firmware image execution.
+ /// This may not always be zero or near zero.
+ ///
+ UINT64 ResetEnd;
+ ///
+ /// Timer value logged just prior to loading the OS boot loader into memory.
+ /// For non-UEFI compatible boots, this field must be zero.
+ ///
+ UINT64 OsLoaderLoadImageStart;
+ ///
+ /// Timer value logged just prior to launching the previously loaded OS boot loader image.
+ /// For non-UEFI compatible boots, the timer value logged will be just prior
+ /// to the INT 19h handler invocation.
+ ///
+ UINT64 OsLoaderStartImageStart;
+ ///
+ /// Timer value logged at the point when the OS loader calls the
+ /// ExitBootServices function for UEFI compatible firmware.
+ /// For non-UEFI compatible boots, this field must be zero.
+ ///
+ UINT64 ExitBootServicesEntry;
+ ///
+ /// Timer value logged at the point just prior towhen the OS loader gaining
+ /// control back from calls the ExitBootServices function for UEFI compatible firmware.
+ /// For non-UEFI compatible boots, this field must be zero.
+ ///
+ UINT64 ExitBootServicesExit;
+} EFI_ACPI_6_0_FPDT_FIRMWARE_BASIC_BOOT_RECORD;
+
+///
+/// FPDT Firmware Basic Boot Performance Table signature
+///
+#define EFI_ACPI_6_0_FPDT_BOOT_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('F', 'B', 'P', 'T')
+
+//
+// FPDT Firmware Basic Boot Performance Table
+//
+typedef struct {
+ EFI_ACPI_6_0_FPDT_PERFORMANCE_TABLE_HEADER Header;
+ //
+ // one or more Performance Records.
+ //
+} EFI_ACPI_6_0_FPDT_FIRMWARE_BASIC_BOOT_TABLE;
+
+///
+/// FPDT "S3PT" S3 Performance Table
+///
+#define EFI_ACPI_6_0_FPDT_S3_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('S', '3', 'P', 'T')
+
+//
+// FPDT Firmware S3 Boot Performance Table
+//
+typedef struct {
+ EFI_ACPI_6_0_FPDT_PERFORMANCE_TABLE_HEADER Header;
+ //
+ // one or more Performance Records.
+ //
+} EFI_ACPI_6_0_FPDT_FIRMWARE_S3_BOOT_TABLE;
+
+///
+/// FPDT Basic S3 Resume Performance Record
+///
+typedef struct {
+ EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ ///
+ /// A count of the number of S3 resume cycles since the last full boot sequence.
+ ///
+ UINT32 ResumeCount;
+ ///
+ /// Timer recorded at the end of BIOS S3 resume, just prior to handoff to the
+ /// OS waking vector. Only the most recent resume cycle's time is retained.
+ ///
+ UINT64 FullResume;
+ ///
+ /// Average timer value of all resume cycles logged since the last full boot
+ /// sequence, including the most recent resume. Note that the entire log of
+ /// timer values does not need to be retained in order to calculate this average.
+ ///
+ UINT64 AverageResume;
+} EFI_ACPI_6_0_FPDT_S3_RESUME_RECORD;
+
+///
+/// FPDT Basic S3 Suspend Performance Record
+///
+typedef struct {
+ EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER Header;
+ ///
+ /// Timer value recorded at the OS write to SLP_TYP upon entry to S3.
+ /// Only the most recent suspend cycle's timer value is retained.
+ ///
+ UINT64 SuspendStart;
+ ///
+ /// Timer value recorded at the final firmware write to SLP_TYP (or other
+ /// mechanism) used to trigger hardware entry to S3.
+ /// Only the most recent suspend cycle's timer value is retained.
+ ///
+ UINT64 SuspendEnd;
+} EFI_ACPI_6_0_FPDT_S3_SUSPEND_RECORD;
+
+///
+/// Firmware Performance Record Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+} EFI_ACPI_6_0_FIRMWARE_PERFORMANCE_RECORD_TABLE;
+
+///
+/// Generic Timer Description Table definition.
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT64 CntControlBasePhysicalAddress;
+ UINT32 Reserved;
+ UINT32 SecurePL1TimerGSIV;
+ UINT32 SecurePL1TimerFlags;
+ UINT32 NonSecurePL1TimerGSIV;
+ UINT32 NonSecurePL1TimerFlags;
+ UINT32 VirtualTimerGSIV;
+ UINT32 VirtualTimerFlags;
+ UINT32 NonSecurePL2TimerGSIV;
+ UINT32 NonSecurePL2TimerFlags;
+ UINT64 CntReadBasePhysicalAddress;
+ UINT32 PlatformTimerCount;
+ UINT32 PlatformTimerOffset;
+} EFI_ACPI_6_0_GENERIC_TIMER_DESCRIPTION_TABLE;
+
+///
+/// GTDT Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION 0x02
+
+///
+/// Timer Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_6_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
+#define EFI_ACPI_6_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
+#define EFI_ACPI_6_0_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY BIT2
+
+///
+/// Platform Timer Type
+///
+#define EFI_ACPI_6_0_GTDT_GT_BLOCK 0
+#define EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG 1
+
+///
+/// GT Block Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT16 Length;
+ UINT8 Reserved;
+ UINT64 CntCtlBase;
+ UINT32 GTBlockTimerCount;
+ UINT32 GTBlockTimerOffset;
+} EFI_ACPI_6_0_GTDT_GT_BLOCK_STRUCTURE;
+
+///
+/// GT Block Timer Structure
+///
+typedef struct {
+ UINT8 GTFrameNumber;
+ UINT8 Reserved[3];
+ UINT64 CntBaseX;
+ UINT64 CntEL0BaseX;
+ UINT32 GTxPhysicalTimerGSIV;
+ UINT32 GTxPhysicalTimerFlags;
+ UINT32 GTxVirtualTimerGSIV;
+ UINT32 GTxVirtualTimerFlags;
+ UINT32 GTxCommonFlags;
+} EFI_ACPI_6_0_GTDT_GT_BLOCK_TIMER_STRUCTURE;
+
+///
+/// GT Block Physical Timers and Virtual Timers Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_6_0_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
+#define EFI_ACPI_6_0_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
+
+///
+/// Common Flags Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_6_0_GTDT_GT_BLOCK_COMMON_FLAG_SECURE_TIMER BIT0
+#define EFI_ACPI_6_0_GTDT_GT_BLOCK_COMMON_FLAG_ALWAYS_ON_CAPABILITY BIT1
+
+///
+/// SBSA Generic Watchdog Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT16 Length;
+ UINT8 Reserved;
+ UINT64 RefreshFramePhysicalAddress;
+ UINT64 WatchdogControlFramePhysicalAddress;
+ UINT32 WatchdogTimerGSIV;
+ UINT32 WatchdogTimerFlags;
+} EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE;
+
+///
+/// SBSA Generic Watchdog Timer Flags. All other bits are reserved and must be 0.
+///
+#define EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_MODE BIT0
+#define EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_POLARITY BIT1
+#define EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER BIT2
+
+//
+// NVDIMM Firmware Interface Table definition.
+//
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Reserved;
+} EFI_ACPI_6_0_NVDIMM_FIRMWARE_INTERFACE_TABLE;
+
+//
+// NFIT Version (as defined in ACPI 6.0 spec.)
+//
+#define EFI_ACPI_6_0_NVDIMM_FIRMWARE_INTERFACE_TABLE_REVISION 0x1
+
+//
+// Definition for NFIT Table Structure Types
+//
+#define EFI_ACPI_6_0_NFIT_SYSTEM_PHYSICAL_ADDRESS_RANGE_STRUCTURE_TYPE 0
+#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_TO_SYSTEM_ADDRESS_RANGE_MAP_STRUCTURE_TYPE 1
+#define EFI_ACPI_6_0_NFIT_INTERLEAVE_STRUCTURE_TYPE 2
+#define EFI_ACPI_6_0_NFIT_SMBIOS_MANAGEMENT_INFORMATION_STRUCTURE_TYPE 3
+#define EFI_ACPI_6_0_NFIT_NVDIMM_CONTROL_REGION_STRUCTURE_TYPE 4
+#define EFI_ACPI_6_0_NFIT_NVDIMM_BLOCK_DATA_WINDOW_REGION_STRUCTURE_TYPE 5
+#define EFI_ACPI_6_0_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE_TYPE 6
+
+//
+// Definition for NFIT Structure Header
+//
+typedef struct {
+ UINT16 Type;
+ UINT16 Length;
+} EFI_ACPI_6_0_NFIT_STRUCTURE_HEADER;
+
+//
+// Definition for System Physical Address Range Structure
+//
+#define EFI_ACPI_6_0_NFIT_SYSTEM_PHYSICAL_ADDRESS_RANGE_FLAGS_CONTROL_REGION_FOR_MANAGEMENT BIT0
+#define EFI_ACPI_6_0_NFIT_SYSTEM_PHYSICAL_ADDRESS_RANGE_FLAGS_PROXIMITY_DOMAIN_VALID BIT1
+#define EFI_ACPI_6_0_NFIT_GUID_VOLATILE_MEMORY_REGION { 0x7305944F, 0xFDDA, 0x44E3, { 0xB1, 0x6C, 0x3F, 0x22, 0xD2, 0x52, 0xE5, 0xD0 }}
+#define EFI_ACPI_6_0_NFIT_GUID_BYTE_ADDRESSABLE_PERSISTENT_MEMORY_REGION { 0x66F0D379, 0xB4F3, 0x4074, { 0xAC, 0x43, 0x0D, 0x33, 0x18, 0xB7, 0x8C, 0xDB }}
+#define EFI_ACPI_6_0_NFIT_GUID_NVDIMM_CONTROL_REGION { 0x92F701F6, 0x13B4, 0x405D, { 0x91, 0x0B, 0x29, 0x93, 0x67, 0xE8, 0x23, 0x4C }}
+#define EFI_ACPI_6_0_NFIT_GUID_NVDIMM_BLOCK_DATA_WINDOW_REGION { 0x91AF0530, 0x5D86, 0x470E, { 0xA6, 0xB0, 0x0A, 0x2D, 0xB9, 0x40, 0x82, 0x49 }}
+#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_DISK_REGION_VOLATILE { 0x77AB535A, 0x45FC, 0x624B, { 0x55, 0x60, 0xF7, 0xB2, 0x81, 0xD1, 0xF9, 0x6E }}
+#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_CD_REGION_VOLATILE { 0x3D5ABD30, 0x4175, 0x87CE, { 0x6D, 0x64, 0xD2, 0xAD, 0xE5, 0x23, 0xC4, 0xBB }}
+#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_DISK_REGION_PERSISTENT { 0x5CEA02C9, 0x4D07, 0x69D3, { 0x26, 0x9F ,0x44, 0x96, 0xFB, 0xE0, 0x96, 0xF9 }}
+#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_CD_REGION_PERSISTENT { 0x08018188, 0x42CD, 0xBB48, { 0x10, 0x0F, 0x53, 0x87, 0xD5, 0x3D, 0xED, 0x3D }}
+typedef struct {
+ UINT16 Type;
+ UINT16 Length;
+ UINT16 SPARangeStructureIndex;
+ UINT16 Flags;
+ UINT32 Reserved_8;
+ UINT32 ProximityDomain;
+ GUID AddressRangeTypeGUID;
+ UINT64 SystemPhysicalAddressRangeBase;
+ UINT64 SystemPhysicalAddressRangeLength;
+ UINT64 AddressRangeMemoryMappingAttribute;
+} EFI_ACPI_6_0_NFIT_SYSTEM_PHYSICAL_ADDRESS_RANGE_STRUCTURE;
+
+//
+// Definition for Memory Device to System Physical Address Range Mapping Structure
+//
+typedef struct {
+ UINT32 DIMMNumber:4;
+ UINT32 MemoryChannelNumber:4;
+ UINT32 MemoryControllerID:4;
+ UINT32 SocketID:4;
+ UINT32 NodeControllerID:12;
+ UINT32 Reserved_28:4;
+} EFI_ACPI_6_0_NFIT_DEVICE_HANDLE;
+
+#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_PREVIOUS_SAVE_FAIL BIT0
+#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_LAST_RESTORE_FAIL BIT1
+#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_PLATFORM_FLUSH_FAIL BIT2
+#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_NOT_ARMED_PRIOR_TO_OSPM_HAND_OFF BIT3
+#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_SMART_HEALTH_EVENTS_PRIOR_OSPM_HAND_OFF BIT4
+#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_FIRMWARE_ENABLED_TO_NOTIFY_OSPM_ON_SMART_HEALTH_EVENTS BIT5
+typedef struct {
+ UINT16 Type;
+ UINT16 Length;
+ EFI_ACPI_6_0_NFIT_DEVICE_HANDLE NFITDeviceHandle;
+ UINT16 MemoryDevicePhysicalID;
+ UINT16 MemoryDeviceRegionID;
+ UINT16 SPARangeStructureIndex ;
+ UINT16 NVDIMMControlRegionStructureIndex;
+ UINT64 MemoryDeviceRegionSize;
+ UINT64 RegionOffset;
+ UINT64 MemoryDevicePhysicalAddressRegionBase;
+ UINT16 InterleaveStructureIndex;
+ UINT16 InterleaveWays;
+ UINT16 MemoryDeviceStateFlags;
+ UINT16 Reserved_46;
+} EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_TO_SYSTEM_ADDRESS_RANGE_MAP_STRUCTURE;
+
+//
+// Definition for Interleave Structure
+//
+typedef struct {
+ UINT16 Type;
+ UINT16 Length;
+ UINT16 InterleaveStructureIndex;
+ UINT16 Reserved_6;
+ UINT32 NumberOfLines;
+ UINT32 LineSize;
+//UINT32 LineOffset[NumberOfLines];
+} EFI_ACPI_6_0_NFIT_INTERLEAVE_STRUCTURE;
+
+//
+// Definition for SMBIOS Management Information Structure
+//
+typedef struct {
+ UINT16 Type;
+ UINT16 Length;
+ UINT32 Reserved_4;
+//UINT8 Data[];
+} EFI_ACPI_6_0_NFIT_SMBIOS_MANAGEMENT_INFORMATION_STRUCTURE;
+
+//
+// Definition for NVDIMM Control Region Structure
+//
+#define EFI_ACPI_6_0_NFIT_NVDIMM_CONTROL_REGION_FLAGS_BLOCK_DATA_WINDOWS_BUFFERED BIT0
+typedef struct {
+ UINT16 Type;
+ UINT16 Length;
+ UINT16 NVDIMMControlRegionStructureIndex;
+ UINT16 VendorID;
+ UINT16 DeviceID;
+ UINT16 RevisionID;
+ UINT16 SubsystemVendorID;
+ UINT16 SubsystemDeviceID;
+ UINT16 SubsystemRevisionID;
+ UINT8 Reserved_18[6];
+ UINT32 SerialNumber;
+ UINT16 RegionFormatInterfaceCode;
+ UINT16 NumberOfBlockControlWindows;
+ UINT64 SizeOfBlockControlWindow;
+ UINT64 CommandRegisterOffsetInBlockControlWindow;
+ UINT64 SizeOfCommandRegisterInBlockControlWindows;
+ UINT64 StatusRegisterOffsetInBlockControlWindow;
+ UINT64 SizeOfStatusRegisterInBlockControlWindows;
+ UINT16 NVDIMMControlRegionFlag;
+ UINT8 Reserved_74[6];
+} EFI_ACPI_6_0_NFIT_NVDIMM_CONTROL_REGION_STRUCTURE;
+
+//
+// Definition for NVDIMM Block Data Window Region Structure
+//
+typedef struct {
+ UINT16 Type;
+ UINT16 Length;
+ UINT16 NVDIMMControlRegionStructureIndex;
+ UINT16 NumberOfBlockDataWindows;
+ UINT64 BlockDataWindowStartOffset;
+ UINT64 SizeOfBlockDataWindow;
+ UINT64 BlockAccessibleMemoryCapacity;
+ UINT64 BeginningAddressOfFirstBlockInBlockAccessibleMemory;
+} EFI_ACPI_6_0_NFIT_NVDIMM_BLOCK_DATA_WINDOW_REGION_STRUCTURE;
+
+//
+// Definition for Flush Hint Address Structure
+//
+typedef struct {
+ UINT16 Type;
+ UINT16 Length;
+ EFI_ACPI_6_0_NFIT_DEVICE_HANDLE NFITDeviceHandle;
+ UINT16 NumberOfFlushHintAddresses;
+ UINT8 Reserved_10[6];
+//UINT64 FlushHintAddress[NumberOfFlushHintAddresses];
+} EFI_ACPI_6_0_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE;
+
+///
+/// Boot Error Record Table (BERT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 BootErrorRegionLength;
+ UINT64 BootErrorRegion;
+} EFI_ACPI_6_0_BOOT_ERROR_RECORD_TABLE_HEADER;
+
+///
+/// BERT Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_BOOT_ERROR_RECORD_TABLE_REVISION 0x01
+
+///
+/// Boot Error Region Block Status Definition
+///
+typedef struct {
+ UINT32 UncorrectableErrorValid:1;
+ UINT32 CorrectableErrorValid:1;
+ UINT32 MultipleUncorrectableErrors:1;
+ UINT32 MultipleCorrectableErrors:1;
+ UINT32 ErrorDataEntryCount:10;
+ UINT32 Reserved:18;
+} EFI_ACPI_6_0_ERROR_BLOCK_STATUS;
+
+///
+/// Boot Error Region Definition
+///
+typedef struct {
+ EFI_ACPI_6_0_ERROR_BLOCK_STATUS BlockStatus;
+ UINT32 RawDataOffset;
+ UINT32 RawDataLength;
+ UINT32 DataLength;
+ UINT32 ErrorSeverity;
+} EFI_ACPI_6_0_BOOT_ERROR_REGION_STRUCTURE;
+
+//
+// Boot Error Severity types
+//
+#define EFI_ACPI_6_0_ERROR_SEVERITY_CORRECTABLE 0x00
+#define EFI_ACPI_6_0_ERROR_SEVERITY_FATAL 0x01
+#define EFI_ACPI_6_0_ERROR_SEVERITY_CORRECTED 0x02
+#define EFI_ACPI_6_0_ERROR_SEVERITY_NONE 0x03
+
+///
+/// Generic Error Data Entry Definition
+///
+typedef struct {
+ UINT8 SectionType[16];
+ UINT32 ErrorSeverity;
+ UINT16 Revision;
+ UINT8 ValidationBits;
+ UINT8 Flags;
+ UINT32 ErrorDataLength;
+ UINT8 FruId[16];
+ UINT8 FruText[20];
+} EFI_ACPI_6_0_GENERIC_ERROR_DATA_ENTRY_STRUCTURE;
+
+///
+/// Generic Error Data Entry Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_GENERIC_ERROR_DATA_ENTRY_REVISION 0x0201
+
+///
+/// HEST - Hardware Error Source Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 ErrorSourceCount;
+} EFI_ACPI_6_0_HARDWARE_ERROR_SOURCE_TABLE_HEADER;
+
+///
+/// HEST Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_HARDWARE_ERROR_SOURCE_TABLE_REVISION 0x01
+
+//
+// Error Source structure types.
+//
+#define EFI_ACPI_6_0_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION 0x00
+#define EFI_ACPI_6_0_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK 0x01
+#define EFI_ACPI_6_0_IA32_ARCHITECTURE_NMI_ERROR 0x02
+#define EFI_ACPI_6_0_PCI_EXPRESS_ROOT_PORT_AER 0x06
+#define EFI_ACPI_6_0_PCI_EXPRESS_DEVICE_AER 0x07
+#define EFI_ACPI_6_0_PCI_EXPRESS_BRIDGE_AER 0x08
+#define EFI_ACPI_6_0_GENERIC_HARDWARE_ERROR 0x09
+
+//
+// Error Source structure flags.
+//
+#define EFI_ACPI_6_0_ERROR_SOURCE_FLAG_FIRMWARE_FIRST (1 << 0)
+#define EFI_ACPI_6_0_ERROR_SOURCE_FLAG_GLOBAL (1 << 1)
+
+///
+/// IA-32 Architecture Machine Check Exception Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT64 GlobalCapabilityInitData;
+ UINT64 GlobalControlInitData;
+ UINT8 NumberOfHardwareBanks;
+ UINT8 Reserved1[7];
+} EFI_ACPI_6_0_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION_STRUCTURE;
+
+///
+/// IA-32 Architecture Machine Check Bank Structure Definition
+///
+typedef struct {
+ UINT8 BankNumber;
+ UINT8 ClearStatusOnInitialization;
+ UINT8 StatusDataFormat;
+ UINT8 Reserved0;
+ UINT32 ControlRegisterMsrAddress;
+ UINT64 ControlInitData;
+ UINT32 StatusRegisterMsrAddress;
+ UINT32 AddressRegisterMsrAddress;
+ UINT32 MiscRegisterMsrAddress;
+} EFI_ACPI_6_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_BANK_STRUCTURE;
+
+///
+/// IA-32 Architecture Machine Check Bank Structure MCA data format
+///
+#define EFI_ACPI_6_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_IA32 0x00
+#define EFI_ACPI_6_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_INTEL64 0x01
+#define EFI_ACPI_6_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_AMD64 0x02
+
+//
+// Hardware Error Notification types. All other values are reserved
+//
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_POLLED 0x00
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_EXTERNAL_INTERRUPT 0x01
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT 0x02
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_SCI 0x03
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_NMI 0x04
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_CMCI 0x05
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_MCE 0x06
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_GPIO_SIGNAL 0x07
+
+///
+/// Hardware Error Notification Configuration Write Enable Structure Definition
+///
+typedef struct {
+ UINT16 Type:1;
+ UINT16 PollInterval:1;
+ UINT16 SwitchToPollingThresholdValue:1;
+ UINT16 SwitchToPollingThresholdWindow:1;
+ UINT16 ErrorThresholdValue:1;
+ UINT16 ErrorThresholdWindow:1;
+ UINT16 Reserved:10;
+} EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
+
+///
+/// Hardware Error Notification Structure Definition
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable;
+ UINT32 PollInterval;
+ UINT32 Vector;
+ UINT32 SwitchToPollingThresholdValue;
+ UINT32 SwitchToPollingThresholdWindow;
+ UINT32 ErrorThresholdValue;
+ UINT32 ErrorThresholdWindow;
+} EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE;
+
+///
+/// IA-32 Architecture Corrected Machine Check Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure;
+ UINT8 NumberOfHardwareBanks;
+ UINT8 Reserved1[3];
+} EFI_ACPI_6_0_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK_STRUCTURE;
+
+///
+/// IA-32 Architecture NMI Error Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 MaxRawDataLength;
+} EFI_ACPI_6_0_IA32_ARCHITECTURE_NMI_ERROR_STRUCTURE;
+
+///
+/// PCI Express Root Port AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+ UINT32 RootErrorCommand;
+} EFI_ACPI_6_0_PCI_EXPRESS_ROOT_PORT_AER_STRUCTURE;
+
+///
+/// PCI Express Device AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+} EFI_ACPI_6_0_PCI_EXPRESS_DEVICE_AER_STRUCTURE;
+
+///
+/// PCI Express Bridge AER Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT8 Reserved0[2];
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 Bus;
+ UINT16 Device;
+ UINT16 Function;
+ UINT16 DeviceControl;
+ UINT8 Reserved1[2];
+ UINT32 UncorrectableErrorMask;
+ UINT32 UncorrectableErrorSeverity;
+ UINT32 CorrectableErrorMask;
+ UINT32 AdvancedErrorCapabilitiesAndControl;
+ UINT32 SecondaryUncorrectableErrorMask;
+ UINT32 SecondaryUncorrectableErrorSeverity;
+ UINT32 SecondaryAdvancedErrorCapabilitiesAndControl;
+} EFI_ACPI_6_0_PCI_EXPRESS_BRIDGE_AER_STRUCTURE;
+
+///
+/// Generic Hardware Error Source Structure Definition
+///
+typedef struct {
+ UINT16 Type;
+ UINT16 SourceId;
+ UINT16 RelatedSourceId;
+ UINT8 Flags;
+ UINT8 Enabled;
+ UINT32 NumberOfRecordsToPreAllocate;
+ UINT32 MaxSectionsPerRecord;
+ UINT32 MaxRawDataLength;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress;
+ EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure;
+ UINT32 ErrorStatusBlockLength;
+} EFI_ACPI_6_0_GENERIC_HARDWARE_ERROR_SOURCE_STRUCTURE;
+
+///
+/// Generic Error Status Definition
+///
+typedef struct {
+ EFI_ACPI_6_0_ERROR_BLOCK_STATUS BlockStatus;
+ UINT32 RawDataOffset;
+ UINT32 RawDataLength;
+ UINT32 DataLength;
+ UINT32 ErrorSeverity;
+} EFI_ACPI_6_0_GENERIC_ERROR_STATUS_STRUCTURE;
+
+///
+/// ERST - Error Record Serialization Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 SerializationHeaderSize;
+ UINT8 Reserved0[4];
+ UINT32 InstructionEntryCount;
+} EFI_ACPI_6_0_ERROR_RECORD_SERIALIZATION_TABLE_HEADER;
+
+///
+/// ERST Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_ERROR_RECORD_SERIALIZATION_TABLE_REVISION 0x01
+
+///
+/// ERST Serialization Actions
+///
+#define EFI_ACPI_6_0_ERST_BEGIN_WRITE_OPERATION 0x00
+#define EFI_ACPI_6_0_ERST_BEGIN_READ_OPERATION 0x01
+#define EFI_ACPI_6_0_ERST_BEGIN_CLEAR_OPERATION 0x02
+#define EFI_ACPI_6_0_ERST_END_OPERATION 0x03
+#define EFI_ACPI_6_0_ERST_SET_RECORD_OFFSET 0x04
+#define EFI_ACPI_6_0_ERST_EXECUTE_OPERATION 0x05
+#define EFI_ACPI_6_0_ERST_CHECK_BUSY_STATUS 0x06
+#define EFI_ACPI_6_0_ERST_GET_COMMAND_STATUS 0x07
+#define EFI_ACPI_6_0_ERST_GET_RECORD_IDENTIFIER 0x08
+#define EFI_ACPI_6_0_ERST_SET_RECORD_IDENTIFIER 0x09
+#define EFI_ACPI_6_0_ERST_GET_RECORD_COUNT 0x0A
+#define EFI_ACPI_6_0_ERST_BEGIN_DUMMY_WRITE_OPERATION 0x0B
+#define EFI_ACPI_6_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
+#define EFI_ACPI_6_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
+#define EFI_ACPI_6_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
+
+///
+/// ERST Action Command Status
+///
+#define EFI_ACPI_6_0_ERST_STATUS_SUCCESS 0x00
+#define EFI_ACPI_6_0_ERST_STATUS_NOT_ENOUGH_SPACE 0x01
+#define EFI_ACPI_6_0_ERST_STATUS_HARDWARE_NOT_AVAILABLE 0x02
+#define EFI_ACPI_6_0_ERST_STATUS_FAILED 0x03
+#define EFI_ACPI_6_0_ERST_STATUS_RECORD_STORE_EMPTY 0x04
+#define EFI_ACPI_6_0_ERST_STATUS_RECORD_NOT_FOUND 0x05
+
+///
+/// ERST Serialization Instructions
+///
+#define EFI_ACPI_6_0_ERST_READ_REGISTER 0x00
+#define EFI_ACPI_6_0_ERST_READ_REGISTER_VALUE 0x01
+#define EFI_ACPI_6_0_ERST_WRITE_REGISTER 0x02
+#define EFI_ACPI_6_0_ERST_WRITE_REGISTER_VALUE 0x03
+#define EFI_ACPI_6_0_ERST_NOOP 0x04
+#define EFI_ACPI_6_0_ERST_LOAD_VAR1 0x05
+#define EFI_ACPI_6_0_ERST_LOAD_VAR2 0x06
+#define EFI_ACPI_6_0_ERST_STORE_VAR1 0x07
+#define EFI_ACPI_6_0_ERST_ADD 0x08
+#define EFI_ACPI_6_0_ERST_SUBTRACT 0x09
+#define EFI_ACPI_6_0_ERST_ADD_VALUE 0x0A
+#define EFI_ACPI_6_0_ERST_SUBTRACT_VALUE 0x0B
+#define EFI_ACPI_6_0_ERST_STALL 0x0C
+#define EFI_ACPI_6_0_ERST_STALL_WHILE_TRUE 0x0D
+#define EFI_ACPI_6_0_ERST_SKIP_NEXT_INSTRUCTION_IF_TRUE 0x0E
+#define EFI_ACPI_6_0_ERST_GOTO 0x0F
+#define EFI_ACPI_6_0_ERST_SET_SRC_ADDRESS_BASE 0x10
+#define EFI_ACPI_6_0_ERST_SET_DST_ADDRESS_BASE 0x11
+#define EFI_ACPI_6_0_ERST_MOVE_DATA 0x12
+
+///
+/// ERST Instruction Flags
+///
+#define EFI_ACPI_6_0_ERST_PRESERVE_REGISTER 0x01
+
+///
+/// ERST Serialization Instruction Entry
+///
+typedef struct {
+ UINT8 SerializationAction;
+ UINT8 Instruction;
+ UINT8 Flags;
+ UINT8 Reserved0;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion;
+ UINT64 Value;
+ UINT64 Mask;
+} EFI_ACPI_6_0_ERST_SERIALIZATION_INSTRUCTION_ENTRY;
+
+///
+/// EINJ - Error Injection Table
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 InjectionHeaderSize;
+ UINT8 InjectionFlags;
+ UINT8 Reserved0[3];
+ UINT32 InjectionEntryCount;
+} EFI_ACPI_6_0_ERROR_INJECTION_TABLE_HEADER;
+
+///
+/// EINJ Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_ERROR_INJECTION_TABLE_REVISION 0x01
+
+///
+/// EINJ Error Injection Actions
+///
+#define EFI_ACPI_6_0_EINJ_BEGIN_INJECTION_OPERATION 0x00
+#define EFI_ACPI_6_0_EINJ_GET_TRIGGER_ERROR_ACTION_TABLE 0x01
+#define EFI_ACPI_6_0_EINJ_SET_ERROR_TYPE 0x02
+#define EFI_ACPI_6_0_EINJ_GET_ERROR_TYPE 0x03
+#define EFI_ACPI_6_0_EINJ_END_OPERATION 0x04
+#define EFI_ACPI_6_0_EINJ_EXECUTE_OPERATION 0x05
+#define EFI_ACPI_6_0_EINJ_CHECK_BUSY_STATUS 0x06
+#define EFI_ACPI_6_0_EINJ_GET_COMMAND_STATUS 0x07
+#define EFI_ACPI_6_0_EINJ_TRIGGER_ERROR 0xFF
+
+///
+/// EINJ Action Command Status
+///
+#define EFI_ACPI_6_0_EINJ_STATUS_SUCCESS 0x00
+#define EFI_ACPI_6_0_EINJ_STATUS_UNKNOWN_FAILURE 0x01
+#define EFI_ACPI_6_0_EINJ_STATUS_INVALID_ACCESS 0x02
+
+///
+/// EINJ Error Type Definition
+///
+#define EFI_ACPI_6_0_EINJ_ERROR_PROCESSOR_CORRECTABLE (1 << 0)
+#define EFI_ACPI_6_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_NONFATAL (1 << 1)
+#define EFI_ACPI_6_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_FATAL (1 << 2)
+#define EFI_ACPI_6_0_EINJ_ERROR_MEMORY_CORRECTABLE (1 << 3)
+#define EFI_ACPI_6_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_NONFATAL (1 << 4)
+#define EFI_ACPI_6_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_FATAL (1 << 5)
+#define EFI_ACPI_6_0_EINJ_ERROR_PCI_EXPRESS_CORRECTABLE (1 << 6)
+#define EFI_ACPI_6_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_NONFATAL (1 << 7)
+#define EFI_ACPI_6_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_FATAL (1 << 8)
+#define EFI_ACPI_6_0_EINJ_ERROR_PLATFORM_CORRECTABLE (1 << 9)
+#define EFI_ACPI_6_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_NONFATAL (1 << 10)
+#define EFI_ACPI_6_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_FATAL (1 << 11)
+
+///
+/// EINJ Injection Instructions
+///
+#define EFI_ACPI_6_0_EINJ_READ_REGISTER 0x00
+#define EFI_ACPI_6_0_EINJ_READ_REGISTER_VALUE 0x01
+#define EFI_ACPI_6_0_EINJ_WRITE_REGISTER 0x02
+#define EFI_ACPI_6_0_EINJ_WRITE_REGISTER_VALUE 0x03
+#define EFI_ACPI_6_0_EINJ_NOOP 0x04
+
+///
+/// EINJ Instruction Flags
+///
+#define EFI_ACPI_6_0_EINJ_PRESERVE_REGISTER 0x01
+
+///
+/// EINJ Injection Instruction Entry
+///
+typedef struct {
+ UINT8 InjectionAction;
+ UINT8 Instruction;
+ UINT8 Flags;
+ UINT8 Reserved0;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion;
+ UINT64 Value;
+ UINT64 Mask;
+} EFI_ACPI_6_0_EINJ_INJECTION_INSTRUCTION_ENTRY;
+
+///
+/// EINJ Trigger Action Table
+///
+typedef struct {
+ UINT32 HeaderSize;
+ UINT32 Revision;
+ UINT32 TableSize;
+ UINT32 EntryCount;
+} EFI_ACPI_6_0_EINJ_TRIGGER_ACTION_TABLE;
+
+///
+/// Platform Communications Channel Table (PCCT)
+///
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ UINT32 Flags;
+ UINT64 Reserved;
+} EFI_ACPI_6_0_PLATFORM_COMMUNICATION_CHANNEL_TABLE_HEADER;
+
+///
+/// PCCT Version (as defined in ACPI 6.0 spec.)
+///
+#define EFI_ACPI_6_0_PLATFORM_COMMUNICATION_CHANNEL_TABLE_REVISION 0x01
+
+///
+/// PCCT Global Flags
+///
+#define EFI_ACPI_6_0_PCCT_FLAGS_SCI_DOORBELL BIT0
+
+//
+// PCCT Subspace type
+//
+#define EFI_ACPI_6_0_PCCT_SUBSPACE_TYPE_GENERIC 0x00
+
+///
+/// PCC Subspace Structure Header
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+} EFI_ACPI_6_0_PCCT_SUBSPACE_HEADER;
+
+///
+/// Generic Communications Subspace Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT8 Reserved[6];
+ UINT64 BaseAddress;
+ UINT64 AddressLength;
+ EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister;
+ UINT64 DoorbellPreserve;
+ UINT64 DoorbellWrite;
+ UINT32 NominalLatency;
+ UINT32 MaximumPeriodicAccessRate;
+ UINT16 MinimumRequestTurnaroundTime;
+} EFI_ACPI_6_0_PCCT_SUBSPACE_GENERIC;
+
+///
+/// Generic Communications Channel Shared Memory Region
+///
+
+typedef struct {
+ UINT8 Command;
+ UINT8 Reserved:7;
+ UINT8 GenerateSci:1;
+} EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND;
+
+typedef struct {
+ UINT8 CommandComplete:1;
+ UINT8 SciDoorbell:1;
+ UINT8 Error:1;
+ UINT8 PlatformNotification:1;
+ UINT8 Reserved:4;
+ UINT8 Reserved1;
+} EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
+
+typedef struct {
+ UINT32 Signature;
+ EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND Command;
+ EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status;
+} EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_HEADER;
+
+//
+// Known table signatures
+//
+
+///
+/// "RSD PTR " Root System Description Pointer
+///
+#define EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
+
+///
+/// "APIC" Multiple APIC Description Table
+///
+#define EFI_ACPI_6_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
+
+///
+/// "BERT" Boot Error Record Table
+///
+#define EFI_ACPI_6_0_BOOT_ERROR_RECORD_TABLE_SIGNATURE SIGNATURE_32('B', 'E', 'R', 'T')
+
+///
+/// "BGRT" Boot Graphics Resource Table
+///
+#define EFI_ACPI_6_0_BOOT_GRAPHICS_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('B', 'G', 'R', 'T')
+
+///
+/// "CPEP" Corrected Platform Error Polling Table
+///
+#define EFI_ACPI_6_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
+
+///
+/// "DSDT" Differentiated System Description Table
+///
+#define EFI_ACPI_6_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
+
+///
+/// "ECDT" Embedded Controller Boot Resources Table
+///
+#define EFI_ACPI_6_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
+
+///
+/// "EINJ" Error Injection Table
+///
+#define EFI_ACPI_6_0_ERROR_INJECTION_TABLE_SIGNATURE SIGNATURE_32('E', 'I', 'N', 'J')
+
+///
+/// "ERST" Error Record Serialization Table
+///
+#define EFI_ACPI_6_0_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE SIGNATURE_32('E', 'R', 'S', 'T')
+
+///
+/// "FACP" Fixed ACPI Description Table
+///
+#define EFI_ACPI_6_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
+
+///
+/// "FACS" Firmware ACPI Control Structure
+///
+#define EFI_ACPI_6_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
+
+///
+/// "FPDT" Firmware Performance Data Table
+///
+#define EFI_ACPI_6_0_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE SIGNATURE_32('F', 'P', 'D', 'T')
+
+///
+/// "GTDT" Generic Timer Description Table
+///
+#define EFI_ACPI_6_0_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('G', 'T', 'D', 'T')
+
+///
+/// "HEST" Hardware Error Source Table
+///
+#define EFI_ACPI_6_0_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('H', 'E', 'S', 'T')
+
+///
+/// "MPST" Memory Power State Table
+///
+#define EFI_ACPI_6_0_MEMORY_POWER_STATE_TABLE_SIGNATURE SIGNATURE_32('M', 'P', 'S', 'T')
+
+///
+/// "MSCT" Maximum System Characteristics Table
+///
+#define EFI_ACPI_6_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'C', 'T')
+
+///
+/// "NFIT" NVDIMM Firmware Interface Table
+///
+#define EFI_ACPI_6_0_NVDIMM_FIRMWARE_INTERFACE_TABLE_STRUCTURE_SIGNATURE SIGNATURE_32('N', 'F', 'I', 'T')
+
+///
+/// "PMTT" Platform Memory Topology Table
+///
+#define EFI_ACPI_6_0_PLATFORM_MEMORY_TOPOLOGY_TABLE_SIGNATURE SIGNATURE_32('P', 'M', 'T', 'T')
+
+///
+/// "PSDT" Persistent System Description Table
+///
+#define EFI_ACPI_6_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
+
+///
+/// "RASF" ACPI RAS Feature Table
+///
+#define EFI_ACPI_6_0_ACPI_RAS_FEATURE_TABLE_SIGNATURE SIGNATURE_32('R', 'A', 'S', 'F')
+
+///
+/// "RSDT" Root System Description Table
+///
+#define EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
+
+///
+/// "SBST" Smart Battery Specification Table
+///
+#define EFI_ACPI_6_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
+
+///
+/// "SLIT" System Locality Information Table
+///
+#define EFI_ACPI_6_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
+
+///
+/// "SRAT" System Resource Affinity Table
+///
+#define EFI_ACPI_6_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
+
+///
+/// "SSDT" Secondary System Description Table
+///
+#define EFI_ACPI_6_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
+
+///
+/// "XSDT" Extended System Description Table
+///
+#define EFI_ACPI_6_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
+
+///
+/// "BOOT" MS Simple Boot Spec
+///
+#define EFI_ACPI_6_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
+
+///
+/// "CSRT" MS Core System Resource Table
+///
+#define EFI_ACPI_6_0_CORE_SYSTEM_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('C', 'S', 'R', 'T')
+
+///
+/// "DBG2" MS Debug Port 2 Spec
+///
+#define EFI_ACPI_6_0_DEBUG_PORT_2_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', '2')
+
+///
+/// "DBGP" MS Debug Port Spec
+///
+#define EFI_ACPI_6_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
+
+///
+/// "DMAR" DMA Remapping Table
+///
+#define EFI_ACPI_6_0_DMA_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('D', 'M', 'A', 'R')
+
+///
+/// "DRTM" Dynamic Root of Trust for Measurement Table
+///
+#define EFI_ACPI_6_0_DYNAMIC_ROOT_OF_TRUST_FOR_MEASUREMENT_TABLE_SIGNATURE SIGNATURE_32('D', 'R', 'T', 'M')
+
+///
+/// "ETDT" Event Timer Description Table
+///
+#define EFI_ACPI_6_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
+
+///
+/// "HPET" IA-PC High Precision Event Timer Table
+///
+#define EFI_ACPI_6_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
+
+///
+/// "iBFT" iSCSI Boot Firmware Table
+///
+#define EFI_ACPI_6_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
+
+///
+/// "IORT" I/O Remapping Table
+///
+#define EFI_ACPI_6_0_IO_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('I', 'O', 'R', 'T')
+
+///
+/// "IVRS" I/O Virtualization Reporting Structure
+///
+#define EFI_ACPI_6_0_IO_VIRTUALIZATION_REPORTING_STRUCTURE_SIGNATURE SIGNATURE_32('I', 'V', 'R', 'S')
+
+///
+/// "LPIT" Low Power Idle Table
+///
+#define EFI_ACPI_6_0_LOW_POWER_IDLE_TABLE_STRUCTURE_SIGNATURE SIGNATURE_32('L', 'P', 'I', 'T')
+
+///
+/// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
+///
+#define EFI_ACPI_6_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
+
+///
+/// "MCHI" Management Controller Host Interface Table
+///
+#define EFI_ACPI_6_0_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
+
+///
+/// "MSDM" MS Data Management Table
+///
+#define EFI_ACPI_6_0_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
+
+///
+/// "SLIC" MS Software Licensing Table Specification
+///
+#define EFI_ACPI_6_0_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
+
+///
+/// "SPCR" Serial Port Concole Redirection Table
+///
+#define EFI_ACPI_6_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
+
+///
+/// "SPMI" Server Platform Management Interface Table
+///
+#define EFI_ACPI_6_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
+
+///
+/// "STAO" _STA Override Table
+///
+#define EFI_ACPI_6_0_STA_OVERRIDE_TABLE_SIGNATURE SIGNATURE_32('S', 'T', 'A', 'O')
+
+///
+/// "TCPA" Trusted Computing Platform Alliance Capabilities Table
+///
+#define EFI_ACPI_6_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
+
+///
+/// "TPM2" Trusted Computing Platform 1 Table
+///
+#define EFI_ACPI_6_0_TRUSTED_COMPUTING_PLATFORM_2_TABLE_SIGNATURE SIGNATURE_32('T', 'P', 'M', '2')
+
+///
+/// "UEFI" UEFI ACPI Data Table
+///
+#define EFI_ACPI_6_0_UEFI_ACPI_DATA_TABLE_SIGNATURE SIGNATURE_32('U', 'E', 'F', 'I')
+
+///
+/// "WAET" Windows ACPI Emulated Devices Table
+///
+#define EFI_ACPI_6_0_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE SIGNATURE_32('W', 'A', 'E', 'T')
+
+///
+/// "WDAT" Watchdog Action Table
+///
+#define EFI_ACPI_6_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
+
+///
+/// "WDRT" Watchdog Resource Table
+///
+#define EFI_ACPI_6_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
+
+///
+/// "WPBT" MS Platform Binary Table
+///
+#define EFI_ACPI_6_0_PLATFORM_BINARY_TABLE_SIGNATURE SIGNATURE_32('W', 'P', 'B', 'T')
+
+///
+/// "XENV" Xen Project Table
+///
+#define EFI_ACPI_6_0_XEN_PROJECT_TABLE_SIGNATURE SIGNATURE_32('X', 'E', 'N', 'V')
+
+#pragma pack()
+
+#endif
diff --git a/sys/contrib/edk2/Include/IndustryStandard/AcpiAml.h b/sys/contrib/edk2/Include/IndustryStandard/AcpiAml.h
new file mode 100644
index 0000000..19d9684
--- /dev/null
+++ b/sys/contrib/edk2/Include/IndustryStandard/AcpiAml.h
@@ -0,0 +1,175 @@
+/** @file
+ This file contains AML code definition in the latest ACPI spec.
+
+ Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef _ACPI_AML_H_
+#define _ACPI_AML_H_
+
+//
+// ACPI AML definition
+//
+
+//
+// Primary OpCode
+//
+#define AML_ZERO_OP 0x00
+#define AML_ONE_OP 0x01
+#define AML_ALIAS_OP 0x06
+#define AML_NAME_OP 0x08
+#define AML_BYTE_PREFIX 0x0a
+#define AML_WORD_PREFIX 0x0b
+#define AML_DWORD_PREFIX 0x0c
+#define AML_STRING_PREFIX 0x0d
+#define AML_QWORD_PREFIX 0x0e
+#define AML_SCOPE_OP 0x10
+#define AML_BUFFER_OP 0x11
+#define AML_PACKAGE_OP 0x12
+#define AML_VAR_PACKAGE_OP 0x13
+#define AML_METHOD_OP 0x14
+#define AML_DUAL_NAME_PREFIX 0x2e
+#define AML_MULTI_NAME_PREFIX 0x2f
+#define AML_NAME_CHAR_A 0x41
+#define AML_NAME_CHAR_B 0x42
+#define AML_NAME_CHAR_C 0x43
+#define AML_NAME_CHAR_D 0x44
+#define AML_NAME_CHAR_E 0x45
+#define AML_NAME_CHAR_F 0x46
+#define AML_NAME_CHAR_G 0x47
+#define AML_NAME_CHAR_H 0x48
+#define AML_NAME_CHAR_I 0x49
+#define AML_NAME_CHAR_J 0x4a
+#define AML_NAME_CHAR_K 0x4b
+#define AML_NAME_CHAR_L 0x4c
+#define AML_NAME_CHAR_M 0x4d
+#define AML_NAME_CHAR_N 0x4e
+#define AML_NAME_CHAR_O 0x4f
+#define AML_NAME_CHAR_P 0x50
+#define AML_NAME_CHAR_Q 0x51
+#define AML_NAME_CHAR_R 0x52
+#define AML_NAME_CHAR_S 0x53
+#define AML_NAME_CHAR_T 0x54
+#define AML_NAME_CHAR_U 0x55
+#define AML_NAME_CHAR_V 0x56
+#define AML_NAME_CHAR_W 0x57
+#define AML_NAME_CHAR_X 0x58
+#define AML_NAME_CHAR_Y 0x59
+#define AML_NAME_CHAR_Z 0x5a
+#define AML_ROOT_CHAR 0x5c
+#define AML_PARENT_PREFIX_CHAR 0x5e
+#define AML_NAME_CHAR__ 0x5f
+#define AML_LOCAL0 0x60
+#define AML_LOCAL1 0x61
+#define AML_LOCAL2 0x62
+#define AML_LOCAL3 0x63
+#define AML_LOCAL4 0x64
+#define AML_LOCAL5 0x65
+#define AML_LOCAL6 0x66
+#define AML_LOCAL7 0x67
+#define AML_ARG0 0x68
+#define AML_ARG1 0x69
+#define AML_ARG2 0x6a
+#define AML_ARG3 0x6b
+#define AML_ARG4 0x6c
+#define AML_ARG5 0x6d
+#define AML_ARG6 0x6e
+#define AML_STORE_OP 0x70
+#define AML_REF_OF_OP 0x71
+#define AML_ADD_OP 0x72
+#define AML_CONCAT_OP 0x73
+#define AML_SUBTRACT_OP 0x74
+#define AML_INCREMENT_OP 0x75
+#define AML_DECREMENT_OP 0x76
+#define AML_MULTIPLY_OP 0x77
+#define AML_DIVIDE_OP 0x78
+#define AML_SHIFT_LEFT_OP 0x79
+#define AML_SHIFT_RIGHT_OP 0x7a
+#define AML_AND_OP 0x7b
+#define AML_NAND_OP 0x7c
+#define AML_OR_OP 0x7d
+#define AML_NOR_OP 0x7e
+#define AML_XOR_OP 0x7f
+#define AML_NOT_OP 0x80
+#define AML_FIND_SET_LEFT_BIT_OP 0x81
+#define AML_FIND_SET_RIGHT_BIT_OP 0x82
+#define AML_DEREF_OF_OP 0x83
+#define AML_CONCAT_RES_OP 0x84
+#define AML_MOD_OP 0x85
+#define AML_NOTIFY_OP 0x86
+#define AML_SIZE_OF_OP 0x87
+#define AML_INDEX_OP 0x88
+#define AML_MATCH_OP 0x89
+#define AML_CREATE_DWORD_FIELD_OP 0x8a
+#define AML_CREATE_WORD_FIELD_OP 0x8b
+#define AML_CREATE_BYTE_FIELD_OP 0x8c
+#define AML_CREATE_BIT_FIELD_OP 0x8d
+#define AML_OBJECT_TYPE_OP 0x8e
+#define AML_CREATE_QWORD_FIELD_OP 0x8f
+#define AML_LAND_OP 0x90
+#define AML_LOR_OP 0x91
+#define AML_LNOT_OP 0x92
+#define AML_LEQUAL_OP 0x93
+#define AML_LGREATER_OP 0x94
+#define AML_LLESS_OP 0x95
+#define AML_TO_BUFFER_OP 0x96
+#define AML_TO_DEC_STRING_OP 0x97
+#define AML_TO_HEX_STRING_OP 0x98
+#define AML_TO_INTEGER_OP 0x99
+#define AML_TO_STRING_OP 0x9c
+#define AML_COPY_OBJECT_OP 0x9d
+#define AML_MID_OP 0x9e
+#define AML_CONTINUE_OP 0x9f
+#define AML_IF_OP 0xa0
+#define AML_ELSE_OP 0xa1
+#define AML_WHILE_OP 0xa2
+#define AML_NOOP_OP 0xa3
+#define AML_RETURN_OP 0xa4
+#define AML_BREAK_OP 0xa5
+#define AML_BREAK_POINT_OP 0xcc
+#define AML_ONES_OP 0xff
+
+//
+// Extended OpCode
+//
+#define AML_EXT_OP 0x5b
+
+#define AML_EXT_MUTEX_OP 0x01
+#define AML_EXT_EVENT_OP 0x02
+#define AML_EXT_COND_REF_OF_OP 0x12
+#define AML_EXT_CREATE_FIELD_OP 0x13
+#define AML_EXT_LOAD_TABLE_OP 0x1f
+#define AML_EXT_LOAD_OP 0x20
+#define AML_EXT_STALL_OP 0x21
+#define AML_EXT_SLEEP_OP 0x22
+#define AML_EXT_ACQUIRE_OP 0x23
+#define AML_EXT_SIGNAL_OP 0x24
+#define AML_EXT_WAIT_OP 0x25
+#define AML_EXT_RESET_OP 0x26
+#define AML_EXT_RELEASE_OP 0x27
+#define AML_EXT_FROM_BCD_OP 0x28
+#define AML_EXT_TO_BCD_OP 0x29
+#define AML_EXT_UNLOAD_OP 0x2a
+#define AML_EXT_REVISION_OP 0x30
+#define AML_EXT_DEBUG_OP 0x31
+#define AML_EXT_FATAL_OP 0x32
+#define AML_EXT_TIMER_OP 0x33
+#define AML_EXT_REGION_OP 0x80
+#define AML_EXT_FIELD_OP 0x81
+#define AML_EXT_DEVICE_OP 0x82
+#define AML_EXT_PROCESSOR_OP 0x83
+#define AML_EXT_POWER_RES_OP 0x84
+#define AML_EXT_THERMAL_ZONE_OP 0x85
+#define AML_EXT_INDEX_FIELD_OP 0x86
+#define AML_EXT_BANK_FIELD_OP 0x87
+#define AML_EXT_DATA_REGION_OP 0x88
+
+#endif
diff --git a/sys/contrib/edk2/Include/IndustryStandard/Bluetooth.h b/sys/contrib/edk2/Include/IndustryStandard/Bluetooth.h
new file mode 100644
index 0000000..f4b7372
--- /dev/null
+++ b/sys/contrib/edk2/Include/IndustryStandard/Bluetooth.h
@@ -0,0 +1,47 @@
+/** @file
+ This file contains the Bluetooth definitions that are consumed by drivers.
+ These definitions are from Bluetooth Core Specification Version 4.0 June, 2010
+
+ Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef _BLUETOOTH_H_
+#define _BLUETOOTH_H_
+
+#pragma pack(1)
+
+///
+/// BLUETOOTH_ADDRESS
+///
+typedef struct {
+ ///
+ /// 48bit Bluetooth device address.
+ ///
+ UINT8 Address[6];
+} BLUETOOTH_ADDRESS;
+
+///
+/// BLUETOOTH_CLASS_OF_DEVICE. See Bluetooth specification for detail.
+///
+typedef struct {
+ UINT8 FormatType:2;
+ UINT8 MinorDeviceClass: 6;
+ UINT16 MajorDeviceClass: 5;
+ UINT16 MajorServiceClass:11;
+} BLUETOOTH_CLASS_OF_DEVICE;
+
+#pragma pack()
+
+#define BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE 248
+
+#define BLUETOOTH_HCI_LINK_KEY_SIZE 16
+
+#endif
diff --git a/sys/contrib/edk2/Include/Library/BaseLib.h b/sys/contrib/edk2/Include/Library/BaseLib.h
new file mode 100644
index 0000000..b41c10b
--- /dev/null
+++ b/sys/contrib/edk2/Include/Library/BaseLib.h
@@ -0,0 +1,8910 @@
+/** @file
+ Provides string functions, linked list functions, math functions, synchronization
+ functions, file path functions, and CPU architecture-specific functions.
+
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
+Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __BASE_LIB__
+#define __BASE_LIB__
+
+//
+// Definitions for architecture-specific types
+//
+#if defined (MDE_CPU_IA32)
+///
+/// The IA-32 architecture context buffer used by SetJump() and LongJump().
+///
+typedef struct {
+ UINT32 Ebx;
+ UINT32 Esi;
+ UINT32 Edi;
+ UINT32 Ebp;
+ UINT32 Esp;
+ UINT32 Eip;
+} BASE_LIBRARY_JUMP_BUFFER;
+
+#define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 4
+
+#endif // defined (MDE_CPU_IA32)
+
+#if defined (MDE_CPU_IPF)
+
+///
+/// The Itanium architecture context buffer used by SetJump() and LongJump().
+///
+typedef struct {
+ UINT64 F2[2];
+ UINT64 F3[2];
+ UINT64 F4[2];
+ UINT64 F5[2];
+ UINT64 F16[2];
+ UINT64 F17[2];
+ UINT64 F18[2];
+ UINT64 F19[2];
+ UINT64 F20[2];
+ UINT64 F21[2];
+ UINT64 F22[2];
+ UINT64 F23[2];
+ UINT64 F24[2];
+ UINT64 F25[2];
+ UINT64 F26[2];
+ UINT64 F27[2];
+ UINT64 F28[2];
+ UINT64 F29[2];
+ UINT64 F30[2];
+ UINT64 F31[2];
+ UINT64 R4;
+ UINT64 R5;
+ UINT64 R6;
+ UINT64 R7;
+ UINT64 SP;
+ UINT64 BR0;
+ UINT64 BR1;
+ UINT64 BR2;
+ UINT64 BR3;
+ UINT64 BR4;
+ UINT64 BR5;
+ UINT64 InitialUNAT;
+ UINT64 AfterSpillUNAT;
+ UINT64 PFS;
+ UINT64 BSP;
+ UINT64 Predicates;
+ UINT64 LoopCount;
+ UINT64 FPSR;
+} BASE_LIBRARY_JUMP_BUFFER;
+
+#define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 0x10
+
+#endif // defined (MDE_CPU_IPF)
+
+#if defined (MDE_CPU_X64)
+///
+/// The x64 architecture context buffer used by SetJump() and LongJump().
+///
+typedef struct {
+ UINT64 Rbx;
+ UINT64 Rsp;
+ UINT64 Rbp;
+ UINT64 Rdi;
+ UINT64 Rsi;
+ UINT64 R12;
+ UINT64 R13;
+ UINT64 R14;
+ UINT64 R15;
+ UINT64 Rip;
+ UINT64 MxCsr;
+ UINT8 XmmBuffer[160]; ///< XMM6-XMM15.
+} BASE_LIBRARY_JUMP_BUFFER;
+
+#define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 8
+
+#endif // defined (MDE_CPU_X64)
+
+#if defined (MDE_CPU_EBC)
+///
+/// The EBC context buffer used by SetJump() and LongJump().
+///
+typedef struct {
+ UINT64 R0;
+ UINT64 R1;
+ UINT64 R2;
+ UINT64 R3;
+ UINT64 IP;
+} BASE_LIBRARY_JUMP_BUFFER;
+
+#define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 8
+
+#endif // defined (MDE_CPU_EBC)
+
+#if defined (MDE_CPU_ARM)
+
+typedef struct {
+ UINT32 R3; ///< A copy of R13.
+ UINT32 R4;
+ UINT32 R5;
+ UINT32 R6;
+ UINT32 R7;
+ UINT32 R8;
+ UINT32 R9;
+ UINT32 R10;
+ UINT32 R11;
+ UINT32 R12;
+ UINT32 R14;
+} BASE_LIBRARY_JUMP_BUFFER;
+
+#define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 4
+
+#endif // defined (MDE_CPU_ARM)
+
+#if defined (MDE_CPU_AARCH64)
+typedef struct {
+ // GP regs
+ UINT64 X19;
+ UINT64 X20;
+ UINT64 X21;
+ UINT64 X22;
+ UINT64 X23;
+ UINT64 X24;
+ UINT64 X25;
+ UINT64 X26;
+ UINT64 X27;
+ UINT64 X28;
+ UINT64 FP;
+ UINT64 LR;
+ UINT64 IP0;
+
+ // FP regs
+ UINT64 D8;
+ UINT64 D9;
+ UINT64 D10;
+ UINT64 D11;
+ UINT64 D12;
+ UINT64 D13;
+ UINT64 D14;
+ UINT64 D15;
+} BASE_LIBRARY_JUMP_BUFFER;
+
+#define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 8
+
+#endif // defined (MDE_CPU_AARCH64)
+
+
+//
+// String Services
+//
+
+
+/**
+ Returns the length of a Null-terminated Unicode string.
+
+ This function is similar as strlen_s defined in C11.
+
+ If String is not aligned on a 16-bit boundary, then ASSERT().
+
+ @param String A pointer to a Null-terminated Unicode string.
+ @param MaxSize The maximum number of Destination Unicode
+ char, including terminating null char.
+
+ @retval 0 If String is NULL.
+ @retval MaxSize If there is no null character in the first MaxSize characters of String.
+ @return The number of characters that percede the terminating null character.
+
+**/
+UINTN
+EFIAPI
+StrnLenS (
+ IN CONST CHAR16 *String,
+ IN UINTN MaxSize
+ );
+
+/**
+ Returns the size of a Null-terminated Unicode string in bytes, including the
+ Null terminator.
+
+ This function returns the size of the Null-terminated Unicode string
+ specified by String in bytes, including the Null terminator.
+
+ If String is not aligned on a 16-bit boundary, then ASSERT().
+
+ @param String A pointer to a Null-terminated Unicode string.
+ @param MaxSize The maximum number of Destination Unicode
+ char, including the Null terminator.
+
+ @retval 0 If String is NULL.
+ @retval (sizeof (CHAR16) * (MaxSize + 1))
+ If there is no Null terminator in the first MaxSize characters of
+ String.
+ @return The size of the Null-terminated Unicode string in bytes, including
+ the Null terminator.
+
+**/
+UINTN
+EFIAPI
+StrnSizeS (
+ IN CONST CHAR16 *String,
+ IN UINTN MaxSize
+ );
+
+/**
+ Copies the string pointed to by Source (including the terminating null char)
+ to the array pointed to by Destination.
+
+ This function is similar as strcpy_s defined in C11.
+
+ If Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If Source is not aligned on a 16-bit boundary, then ASSERT().
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Destination A pointer to a Null-terminated Unicode string.
+ @param DestMax The maximum number of Destination Unicode
+ char, including terminating null char.
+ @param Source A pointer to a Null-terminated Unicode string.
+
+ @retval RETURN_SUCCESS String is copied.
+ @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than StrLen(Source).
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If PcdMaximumUnicodeStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumUnicodeStringLength.
+ If DestMax is 0.
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+**/
+RETURN_STATUS
+EFIAPI
+StrCpyS (
+ OUT CHAR16 *Destination,
+ IN UINTN DestMax,
+ IN CONST CHAR16 *Source
+ );
+
+/**
+ Copies not more than Length successive char from the string pointed to by
+ Source to the array pointed to by Destination. If no null char is copied from
+ Source, then Destination[Length] is always set to null.
+
+ This function is similar as strncpy_s defined in C11.
+
+ If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Destination A pointer to a Null-terminated Unicode string.
+ @param DestMax The maximum number of Destination Unicode
+ char, including terminating null char.
+ @param Source A pointer to a Null-terminated Unicode string.
+ @param Length The maximum number of Unicode characters to copy.
+
+ @retval RETURN_SUCCESS String is copied.
+ @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than
+ MIN(StrLen(Source), Length).
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If PcdMaximumUnicodeStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumUnicodeStringLength.
+ If DestMax is 0.
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+**/
+RETURN_STATUS
+EFIAPI
+StrnCpyS (
+ OUT CHAR16 *Destination,
+ IN UINTN DestMax,
+ IN CONST CHAR16 *Source,
+ IN UINTN Length
+ );
+
+/**
+ Appends a copy of the string pointed to by Source (including the terminating
+ null char) to the end of the string pointed to by Destination.
+
+ This function is similar as strcat_s defined in C11.
+
+ If Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If Source is not aligned on a 16-bit boundary, then ASSERT().
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Destination A pointer to a Null-terminated Unicode string.
+ @param DestMax The maximum number of Destination Unicode
+ char, including terminating null char.
+ @param Source A pointer to a Null-terminated Unicode string.
+
+ @retval RETURN_SUCCESS String is appended.
+ @retval RETURN_BAD_BUFFER_SIZE If DestMax is NOT greater than
+ StrLen(Destination).
+ @retval RETURN_BUFFER_TOO_SMALL If (DestMax - StrLen(Destination)) is NOT
+ greater than StrLen(Source).
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If PcdMaximumUnicodeStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumUnicodeStringLength.
+ If DestMax is 0.
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+**/
+RETURN_STATUS
+EFIAPI
+StrCatS (
+ IN OUT CHAR16 *Destination,
+ IN UINTN DestMax,
+ IN CONST CHAR16 *Source
+ );
+
+/**
+ Appends not more than Length successive char from the string pointed to by
+ Source to the end of the string pointed to by Destination. If no null char is
+ copied from Source, then Destination[StrLen(Destination) + Length] is always
+ set to null.
+
+ This function is similar as strncat_s defined in C11.
+
+ If Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If Source is not aligned on a 16-bit boundary, then ASSERT().
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Destination A pointer to a Null-terminated Unicode string.
+ @param DestMax The maximum number of Destination Unicode
+ char, including terminating null char.
+ @param Source A pointer to a Null-terminated Unicode string.
+ @param Length The maximum number of Unicode characters to copy.
+
+ @retval RETURN_SUCCESS String is appended.
+ @retval RETURN_BAD_BUFFER_SIZE If DestMax is NOT greater than
+ StrLen(Destination).
+ @retval RETURN_BUFFER_TOO_SMALL If (DestMax - StrLen(Destination)) is NOT
+ greater than MIN(StrLen(Source), Length).
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If PcdMaximumUnicodeStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumUnicodeStringLength.
+ If DestMax is 0.
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+**/
+RETURN_STATUS
+EFIAPI
+StrnCatS (
+ IN OUT CHAR16 *Destination,
+ IN UINTN DestMax,
+ IN CONST CHAR16 *Source,
+ IN UINTN Length
+ );
+
+/**
+ Convert a Null-terminated Unicode decimal string to a value of type UINTN.
+
+ This function outputs a value of type UINTN by interpreting the contents of
+ the Unicode string specified by String as a decimal number. The format of the
+ input Unicode string String is:
+
+ [spaces] [decimal digits].
+
+ The valid decimal digit character is in the range [0-9]. The function will
+ ignore the pad space, which includes spaces or tab characters, before
+ [decimal digits]. The running zero in the beginning of [decimal digits] will
+ be ignored. Then, the function stops at the first character that is a not a
+ valid decimal character or a Null-terminator, whichever one comes first.
+
+ If String is NULL, then ASSERT().
+ If Data is NULL, then ASSERT().
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+
+ If String has no valid decimal digits in the above format, then 0 is stored
+ at the location pointed to by Data.
+ If the number represented by String exceeds the range defined by UINTN, then
+ MAX_UINTN is stored at the location pointed to by Data.
+
+ If EndPointer is not NULL, a pointer to the character that stopped the scan
+ is stored at the location pointed to by EndPointer. If String has no valid
+ decimal digits right after the optional pad spaces, the value of String is
+ stored at the location pointed to by EndPointer.
+
+ @param String Pointer to a Null-terminated Unicode string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Data Pointer to the converted value.
+
+ @retval RETURN_SUCCESS Value is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ If PcdMaximumUnicodeStringLength is not
+ zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode
+ characters, not including the
+ Null-terminator.
+ @retval RETURN_UNSUPPORTED If the number represented by String exceeds
+ the range defined by UINTN.
+
+**/
+RETURN_STATUS
+EFIAPI
+StrDecimalToUintnS (
+ IN CONST CHAR16 *String,
+ OUT CHAR16 **EndPointer, OPTIONAL
+ OUT UINTN *Data
+ );
+
+/**
+ Convert a Null-terminated Unicode decimal string to a value of type UINT64.
+
+ This function outputs a value of type UINT64 by interpreting the contents of
+ the Unicode string specified by String as a decimal number. The format of the
+ input Unicode string String is:
+
+ [spaces] [decimal digits].
+
+ The valid decimal digit character is in the range [0-9]. The function will
+ ignore the pad space, which includes spaces or tab characters, before
+ [decimal digits]. The running zero in the beginning of [decimal digits] will
+ be ignored. Then, the function stops at the first character that is a not a
+ valid decimal character or a Null-terminator, whichever one comes first.
+
+ If String is NULL, then ASSERT().
+ If Data is NULL, then ASSERT().
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+
+ If String has no valid decimal digits in the above format, then 0 is stored
+ at the location pointed to by Data.
+ If the number represented by String exceeds the range defined by UINT64, then
+ MAX_UINT64 is stored at the location pointed to by Data.
+
+ If EndPointer is not NULL, a pointer to the character that stopped the scan
+ is stored at the location pointed to by EndPointer. If String has no valid
+ decimal digits right after the optional pad spaces, the value of String is
+ stored at the location pointed to by EndPointer.
+
+ @param String Pointer to a Null-terminated Unicode string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Data Pointer to the converted value.
+
+ @retval RETURN_SUCCESS Value is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ If PcdMaximumUnicodeStringLength is not
+ zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode
+ characters, not including the
+ Null-terminator.
+ @retval RETURN_UNSUPPORTED If the number represented by String exceeds
+ the range defined by UINT64.
+
+**/
+RETURN_STATUS
+EFIAPI
+StrDecimalToUint64S (
+ IN CONST CHAR16 *String,
+ OUT CHAR16 **EndPointer, OPTIONAL
+ OUT UINT64 *Data
+ );
+
+/**
+ Convert a Null-terminated Unicode hexadecimal string to a value of type
+ UINTN.
+
+ This function outputs a value of type UINTN by interpreting the contents of
+ the Unicode string specified by String as a hexadecimal number. The format of
+ the input Unicode string String is:
+
+ [spaces][zeros][x][hexadecimal digits].
+
+ The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
+ The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix.
+ If "x" appears in the input string, it must be prefixed with at least one 0.
+ The function will ignore the pad space, which includes spaces or tab
+ characters, before [zeros], [x] or [hexadecimal digit]. The running zero
+ before [x] or [hexadecimal digit] will be ignored. Then, the decoding starts
+ after [x] or the first valid hexadecimal digit. Then, the function stops at
+ the first character that is a not a valid hexadecimal character or NULL,
+ whichever one comes first.
+
+ If String is NULL, then ASSERT().
+ If Data is NULL, then ASSERT().
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+
+ If String has no valid hexadecimal digits in the above format, then 0 is
+ stored at the location pointed to by Data.
+ If the number represented by String exceeds the range defined by UINTN, then
+ MAX_UINTN is stored at the location pointed to by Data.
+
+ If EndPointer is not NULL, a pointer to the character that stopped the scan
+ is stored at the location pointed to by EndPointer. If String has no valid
+ hexadecimal digits right after the optional pad spaces, the value of String
+ is stored at the location pointed to by EndPointer.
+
+ @param String Pointer to a Null-terminated Unicode string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Data Pointer to the converted value.
+
+ @retval RETURN_SUCCESS Value is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ If PcdMaximumUnicodeStringLength is not
+ zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode
+ characters, not including the
+ Null-terminator.
+ @retval RETURN_UNSUPPORTED If the number represented by String exceeds
+ the range defined by UINTN.
+
+**/
+RETURN_STATUS
+EFIAPI
+StrHexToUintnS (
+ IN CONST CHAR16 *String,
+ OUT CHAR16 **EndPointer, OPTIONAL
+ OUT UINTN *Data
+ );
+
+/**
+ Convert a Null-terminated Unicode hexadecimal string to a value of type
+ UINT64.
+
+ This function outputs a value of type UINT64 by interpreting the contents of
+ the Unicode string specified by String as a hexadecimal number. The format of
+ the input Unicode string String is:
+
+ [spaces][zeros][x][hexadecimal digits].
+
+ The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
+ The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix.
+ If "x" appears in the input string, it must be prefixed with at least one 0.
+ The function will ignore the pad space, which includes spaces or tab
+ characters, before [zeros], [x] or [hexadecimal digit]. The running zero
+ before [x] or [hexadecimal digit] will be ignored. Then, the decoding starts
+ after [x] or the first valid hexadecimal digit. Then, the function stops at
+ the first character that is a not a valid hexadecimal character or NULL,
+ whichever one comes first.
+
+ If String is NULL, then ASSERT().
+ If Data is NULL, then ASSERT().
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+
+ If String has no valid hexadecimal digits in the above format, then 0 is
+ stored at the location pointed to by Data.
+ If the number represented by String exceeds the range defined by UINT64, then
+ MAX_UINT64 is stored at the location pointed to by Data.
+
+ If EndPointer is not NULL, a pointer to the character that stopped the scan
+ is stored at the location pointed to by EndPointer. If String has no valid
+ hexadecimal digits right after the optional pad spaces, the value of String
+ is stored at the location pointed to by EndPointer.
+
+ @param String Pointer to a Null-terminated Unicode string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Data Pointer to the converted value.
+
+ @retval RETURN_SUCCESS Value is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ If PcdMaximumUnicodeStringLength is not
+ zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode
+ characters, not including the
+ Null-terminator.
+ @retval RETURN_UNSUPPORTED If the number represented by String exceeds
+ the range defined by UINT64.
+
+**/
+RETURN_STATUS
+EFIAPI
+StrHexToUint64S (
+ IN CONST CHAR16 *String,
+ OUT CHAR16 **EndPointer, OPTIONAL
+ OUT UINT64 *Data
+ );
+
+/**
+ Returns the length of a Null-terminated Ascii string.
+
+ This function is similar as strlen_s defined in C11.
+
+ @param String A pointer to a Null-terminated Ascii string.
+ @param MaxSize The maximum number of Destination Ascii
+ char, including terminating null char.
+
+ @retval 0 If String is NULL.
+ @retval MaxSize If there is no null character in the first MaxSize characters of String.
+ @return The number of characters that percede the terminating null character.
+
+**/
+UINTN
+EFIAPI
+AsciiStrnLenS (
+ IN CONST CHAR8 *String,
+ IN UINTN MaxSize
+ );
+
+/**
+ Returns the size of a Null-terminated Ascii string in bytes, including the
+ Null terminator.
+
+ This function returns the size of the Null-terminated Ascii string specified
+ by String in bytes, including the Null terminator.
+
+ @param String A pointer to a Null-terminated Ascii string.
+ @param MaxSize The maximum number of Destination Ascii
+ char, including the Null terminator.
+
+ @retval 0 If String is NULL.
+ @retval (sizeof (CHAR8) * (MaxSize + 1))
+ If there is no Null terminator in the first MaxSize characters of
+ String.
+ @return The size of the Null-terminated Ascii string in bytes, including the
+ Null terminator.
+
+**/
+UINTN
+EFIAPI
+AsciiStrnSizeS (
+ IN CONST CHAR8 *String,
+ IN UINTN MaxSize
+ );
+
+/**
+ Copies the string pointed to by Source (including the terminating null char)
+ to the array pointed to by Destination.
+
+ This function is similar as strcpy_s defined in C11.
+
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Destination A pointer to a Null-terminated Ascii string.
+ @param DestMax The maximum number of Destination Ascii
+ char, including terminating null char.
+ @param Source A pointer to a Null-terminated Ascii string.
+
+ @retval RETURN_SUCCESS String is copied.
+ @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than StrLen(Source).
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If PcdMaximumAsciiStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumAsciiStringLength.
+ If DestMax is 0.
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrCpyS (
+ OUT CHAR8 *Destination,
+ IN UINTN DestMax,
+ IN CONST CHAR8 *Source
+ );
+
+/**
+ Copies not more than Length successive char from the string pointed to by
+ Source to the array pointed to by Destination. If no null char is copied from
+ Source, then Destination[Length] is always set to null.
+
+ This function is similar as strncpy_s defined in C11.
+
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Destination A pointer to a Null-terminated Ascii string.
+ @param DestMax The maximum number of Destination Ascii
+ char, including terminating null char.
+ @param Source A pointer to a Null-terminated Ascii string.
+ @param Length The maximum number of Ascii characters to copy.
+
+ @retval RETURN_SUCCESS String is copied.
+ @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than
+ MIN(StrLen(Source), Length).
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If PcdMaximumAsciiStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumAsciiStringLength.
+ If DestMax is 0.
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrnCpyS (
+ OUT CHAR8 *Destination,
+ IN UINTN DestMax,
+ IN CONST CHAR8 *Source,
+ IN UINTN Length
+ );
+
+/**
+ Appends a copy of the string pointed to by Source (including the terminating
+ null char) to the end of the string pointed to by Destination.
+
+ This function is similar as strcat_s defined in C11.
+
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Destination A pointer to a Null-terminated Ascii string.
+ @param DestMax The maximum number of Destination Ascii
+ char, including terminating null char.
+ @param Source A pointer to a Null-terminated Ascii string.
+
+ @retval RETURN_SUCCESS String is appended.
+ @retval RETURN_BAD_BUFFER_SIZE If DestMax is NOT greater than
+ StrLen(Destination).
+ @retval RETURN_BUFFER_TOO_SMALL If (DestMax - StrLen(Destination)) is NOT
+ greater than StrLen(Source).
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If PcdMaximumAsciiStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumAsciiStringLength.
+ If DestMax is 0.
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrCatS (
+ IN OUT CHAR8 *Destination,
+ IN UINTN DestMax,
+ IN CONST CHAR8 *Source
+ );
+
+/**
+ Appends not more than Length successive char from the string pointed to by
+ Source to the end of the string pointed to by Destination. If no null char is
+ copied from Source, then Destination[StrLen(Destination) + Length] is always
+ set to null.
+
+ This function is similar as strncat_s defined in C11.
+
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Destination A pointer to a Null-terminated Ascii string.
+ @param DestMax The maximum number of Destination Ascii
+ char, including terminating null char.
+ @param Source A pointer to a Null-terminated Ascii string.
+ @param Length The maximum number of Ascii characters to copy.
+
+ @retval RETURN_SUCCESS String is appended.
+ @retval RETURN_BAD_BUFFER_SIZE If DestMax is NOT greater than
+ StrLen(Destination).
+ @retval RETURN_BUFFER_TOO_SMALL If (DestMax - StrLen(Destination)) is NOT
+ greater than MIN(StrLen(Source), Length).
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If PcdMaximumAsciiStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumAsciiStringLength.
+ If DestMax is 0.
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrnCatS (
+ IN OUT CHAR8 *Destination,
+ IN UINTN DestMax,
+ IN CONST CHAR8 *Source,
+ IN UINTN Length
+ );
+
+/**
+ Convert a Null-terminated Ascii decimal string to a value of type UINTN.
+
+ This function outputs a value of type UINTN by interpreting the contents of
+ the Ascii string specified by String as a decimal number. The format of the
+ input Ascii string String is:
+
+ [spaces] [decimal digits].
+
+ The valid decimal digit character is in the range [0-9]. The function will
+ ignore the pad space, which includes spaces or tab characters, before
+ [decimal digits]. The running zero in the beginning of [decimal digits] will
+ be ignored. Then, the function stops at the first character that is a not a
+ valid decimal character or a Null-terminator, whichever one comes first.
+
+ If String is NULL, then ASSERT().
+ If Data is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and String contains more than
+ PcdMaximumAsciiStringLength Ascii characters, not including the
+ Null-terminator, then ASSERT().
+
+ If String has no valid decimal digits in the above format, then 0 is stored
+ at the location pointed to by Data.
+ If the number represented by String exceeds the range defined by UINTN, then
+ MAX_UINTN is stored at the location pointed to by Data.
+
+ If EndPointer is not NULL, a pointer to the character that stopped the scan
+ is stored at the location pointed to by EndPointer. If String has no valid
+ decimal digits right after the optional pad spaces, the value of String is
+ stored at the location pointed to by EndPointer.
+
+ @param String Pointer to a Null-terminated Ascii string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Data Pointer to the converted value.
+
+ @retval RETURN_SUCCESS Value is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ If PcdMaximumAsciiStringLength is not zero,
+ and String contains more than
+ PcdMaximumAsciiStringLength Ascii
+ characters, not including the
+ Null-terminator.
+ @retval RETURN_UNSUPPORTED If the number represented by String exceeds
+ the range defined by UINTN.
+
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrDecimalToUintnS (
+ IN CONST CHAR8 *String,
+ OUT CHAR8 **EndPointer, OPTIONAL
+ OUT UINTN *Data
+ );
+
+/**
+ Convert a Null-terminated Ascii decimal string to a value of type UINT64.
+
+ This function outputs a value of type UINT64 by interpreting the contents of
+ the Ascii string specified by String as a decimal number. The format of the
+ input Ascii string String is:
+
+ [spaces] [decimal digits].
+
+ The valid decimal digit character is in the range [0-9]. The function will
+ ignore the pad space, which includes spaces or tab characters, before
+ [decimal digits]. The running zero in the beginning of [decimal digits] will
+ be ignored. Then, the function stops at the first character that is a not a
+ valid decimal character or a Null-terminator, whichever one comes first.
+
+ If String is NULL, then ASSERT().
+ If Data is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and String contains more than
+ PcdMaximumAsciiStringLength Ascii characters, not including the
+ Null-terminator, then ASSERT().
+
+ If String has no valid decimal digits in the above format, then 0 is stored
+ at the location pointed to by Data.
+ If the number represented by String exceeds the range defined by UINT64, then
+ MAX_UINT64 is stored at the location pointed to by Data.
+
+ If EndPointer is not NULL, a pointer to the character that stopped the scan
+ is stored at the location pointed to by EndPointer. If String has no valid
+ decimal digits right after the optional pad spaces, the value of String is
+ stored at the location pointed to by EndPointer.
+
+ @param String Pointer to a Null-terminated Ascii string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Data Pointer to the converted value.
+
+ @retval RETURN_SUCCESS Value is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ If PcdMaximumAsciiStringLength is not zero,
+ and String contains more than
+ PcdMaximumAsciiStringLength Ascii
+ characters, not including the
+ Null-terminator.
+ @retval RETURN_UNSUPPORTED If the number represented by String exceeds
+ the range defined by UINT64.
+
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrDecimalToUint64S (
+ IN CONST CHAR8 *String,
+ OUT CHAR8 **EndPointer, OPTIONAL
+ OUT UINT64 *Data
+ );
+
+/**
+ Convert a Null-terminated Ascii hexadecimal string to a value of type UINTN.
+
+ This function outputs a value of type UINTN by interpreting the contents of
+ the Ascii string specified by String as a hexadecimal number. The format of
+ the input Ascii string String is:
+
+ [spaces][zeros][x][hexadecimal digits].
+
+ The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
+ The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix. If
+ "x" appears in the input string, it must be prefixed with at least one 0. The
+ function will ignore the pad space, which includes spaces or tab characters,
+ before [zeros], [x] or [hexadecimal digits]. The running zero before [x] or
+ [hexadecimal digits] will be ignored. Then, the decoding starts after [x] or
+ the first valid hexadecimal digit. Then, the function stops at the first
+ character that is a not a valid hexadecimal character or Null-terminator,
+ whichever on comes first.
+
+ If String is NULL, then ASSERT().
+ If Data is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and String contains more than
+ PcdMaximumAsciiStringLength Ascii characters, not including the
+ Null-terminator, then ASSERT().
+
+ If String has no valid hexadecimal digits in the above format, then 0 is
+ stored at the location pointed to by Data.
+ If the number represented by String exceeds the range defined by UINTN, then
+ MAX_UINTN is stored at the location pointed to by Data.
+
+ If EndPointer is not NULL, a pointer to the character that stopped the scan
+ is stored at the location pointed to by EndPointer. If String has no valid
+ hexadecimal digits right after the optional pad spaces, the value of String
+ is stored at the location pointed to by EndPointer.
+
+ @param String Pointer to a Null-terminated Ascii string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Data Pointer to the converted value.
+
+ @retval RETURN_SUCCESS Value is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ If PcdMaximumAsciiStringLength is not zero,
+ and String contains more than
+ PcdMaximumAsciiStringLength Ascii
+ characters, not including the
+ Null-terminator.
+ @retval RETURN_UNSUPPORTED If the number represented by String exceeds
+ the range defined by UINTN.
+
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrHexToUintnS (
+ IN CONST CHAR8 *String,
+ OUT CHAR8 **EndPointer, OPTIONAL
+ OUT UINTN *Data
+ );
+
+/**
+ Convert a Null-terminated Ascii hexadecimal string to a value of type UINT64.
+
+ This function outputs a value of type UINT64 by interpreting the contents of
+ the Ascii string specified by String as a hexadecimal number. The format of
+ the input Ascii string String is:
+
+ [spaces][zeros][x][hexadecimal digits].
+
+ The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
+ The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix. If
+ "x" appears in the input string, it must be prefixed with at least one 0. The
+ function will ignore the pad space, which includes spaces or tab characters,
+ before [zeros], [x] or [hexadecimal digits]. The running zero before [x] or
+ [hexadecimal digits] will be ignored. Then, the decoding starts after [x] or
+ the first valid hexadecimal digit. Then, the function stops at the first
+ character that is a not a valid hexadecimal character or Null-terminator,
+ whichever on comes first.
+
+ If String is NULL, then ASSERT().
+ If Data is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and String contains more than
+ PcdMaximumAsciiStringLength Ascii characters, not including the
+ Null-terminator, then ASSERT().
+
+ If String has no valid hexadecimal digits in the above format, then 0 is
+ stored at the location pointed to by Data.
+ If the number represented by String exceeds the range defined by UINT64, then
+ MAX_UINT64 is stored at the location pointed to by Data.
+
+ If EndPointer is not NULL, a pointer to the character that stopped the scan
+ is stored at the location pointed to by EndPointer. If String has no valid
+ hexadecimal digits right after the optional pad spaces, the value of String
+ is stored at the location pointed to by EndPointer.
+
+ @param String Pointer to a Null-terminated Ascii string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Data Pointer to the converted value.
+
+ @retval RETURN_SUCCESS Value is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ If PcdMaximumAsciiStringLength is not zero,
+ and String contains more than
+ PcdMaximumAsciiStringLength Ascii
+ characters, not including the
+ Null-terminator.
+ @retval RETURN_UNSUPPORTED If the number represented by String exceeds
+ the range defined by UINT64.
+
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrHexToUint64S (
+ IN CONST CHAR8 *String,
+ OUT CHAR8 **EndPointer, OPTIONAL
+ OUT UINT64 *Data
+ );
+
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Copies one Null-terminated Unicode string to another Null-terminated Unicode
+ string and returns the new Unicode string.
+
+ This function copies the contents of the Unicode string Source to the Unicode
+ string Destination, and returns Destination. If Source and Destination
+ overlap, then the results are undefined.
+
+ If Destination is NULL, then ASSERT().
+ If Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If Source is NULL, then ASSERT().
+ If Source is not aligned on a 16-bit boundary, then ASSERT().
+ If Source and Destination overlap, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the
+ Null-terminator, then ASSERT().
+
+ @param Destination The pointer to a Null-terminated Unicode string.
+ @param Source The pointer to a Null-terminated Unicode string.
+
+ @return Destination.
+
+**/
+CHAR16 *
+EFIAPI
+StrCpy (
+ OUT CHAR16 *Destination,
+ IN CONST CHAR16 *Source
+ );
+
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Copies up to a specified length from one Null-terminated Unicode string to
+ another Null-terminated Unicode string and returns the new Unicode string.
+
+ This function copies the contents of the Unicode string Source to the Unicode
+ string Destination, and returns Destination. At most, Length Unicode
+ characters are copied from Source to Destination. If Length is 0, then
+ Destination is returned unmodified. If Length is greater that the number of
+ Unicode characters in Source, then Destination is padded with Null Unicode
+ characters. If Source and Destination overlap, then the results are
+ undefined.
+
+ If Length > 0 and Destination is NULL, then ASSERT().
+ If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If Length > 0 and Source is NULL, then ASSERT().
+ If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
+ If Source and Destination overlap, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and Length is greater than
+ PcdMaximumUnicodeStringLength, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator,
+ then ASSERT().
+
+ @param Destination The pointer to a Null-terminated Unicode string.
+ @param Source The pointer to a Null-terminated Unicode string.
+ @param Length The maximum number of Unicode characters to copy.
+
+ @return Destination.
+
+**/
+CHAR16 *
+EFIAPI
+StrnCpy (
+ OUT CHAR16 *Destination,
+ IN CONST CHAR16 *Source,
+ IN UINTN Length
+ );
+#endif
+
+/**
+ Returns the length of a Null-terminated Unicode string.
+
+ This function returns the number of Unicode characters in the Null-terminated
+ Unicode string specified by String.
+
+ If String is NULL, then ASSERT().
+ If String is not aligned on a 16-bit boundary, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the
+ Null-terminator, then ASSERT().
+
+ @param String Pointer to a Null-terminated Unicode string.
+
+ @return The length of String.
+
+**/
+UINTN
+EFIAPI
+StrLen (
+ IN CONST CHAR16 *String
+ );
+
+
+/**
+ Returns the size of a Null-terminated Unicode string in bytes, including the
+ Null terminator.
+
+ This function returns the size, in bytes, of the Null-terminated Unicode string
+ specified by String.
+
+ If String is NULL, then ASSERT().
+ If String is not aligned on a 16-bit boundary, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the
+ Null-terminator, then ASSERT().
+
+ @param String The pointer to a Null-terminated Unicode string.
+
+ @return The size of String.
+
+**/
+UINTN
+EFIAPI
+StrSize (
+ IN CONST CHAR16 *String
+ );
+
+
+/**
+ Compares two Null-terminated Unicode strings, and returns the difference
+ between the first mismatched Unicode characters.
+
+ This function compares the Null-terminated Unicode string FirstString to the
+ Null-terminated Unicode string SecondString. If FirstString is identical to
+ SecondString, then 0 is returned. Otherwise, the value returned is the first
+ mismatched Unicode character in SecondString subtracted from the first
+ mismatched Unicode character in FirstString.
+
+ If FirstString is NULL, then ASSERT().
+ If FirstString is not aligned on a 16-bit boundary, then ASSERT().
+ If SecondString is NULL, then ASSERT().
+ If SecondString is not aligned on a 16-bit boundary, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and FirstString contains more
+ than PcdMaximumUnicodeStringLength Unicode characters not including the
+ Null-terminator, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and SecondString contains more
+ than PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+
+ @param FirstString The pointer to a Null-terminated Unicode string.
+ @param SecondString The pointer to a Null-terminated Unicode string.
+
+ @retval 0 FirstString is identical to SecondString.
+ @return others FirstString is not identical to SecondString.
+
+**/
+INTN
+EFIAPI
+StrCmp (
+ IN CONST CHAR16 *FirstString,
+ IN CONST CHAR16 *SecondString
+ );
+
+
+/**
+ Compares up to a specified length the contents of two Null-terminated Unicode strings,
+ and returns the difference between the first mismatched Unicode characters.
+
+ This function compares the Null-terminated Unicode string FirstString to the
+ Null-terminated Unicode string SecondString. At most, Length Unicode
+ characters will be compared. If Length is 0, then 0 is returned. If
+ FirstString is identical to SecondString, then 0 is returned. Otherwise, the
+ value returned is the first mismatched Unicode character in SecondString
+ subtracted from the first mismatched Unicode character in FirstString.
+
+ If Length > 0 and FirstString is NULL, then ASSERT().
+ If Length > 0 and FirstString is not aligned on a 16-bit boundary, then ASSERT().
+ If Length > 0 and SecondString is NULL, then ASSERT().
+ If Length > 0 and SecondString is not aligned on a 16-bit boundary, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and Length is greater than
+ PcdMaximumUnicodeStringLength, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and FirstString contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator,
+ then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and SecondString contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator,
+ then ASSERT().
+
+ @param FirstString The pointer to a Null-terminated Unicode string.
+ @param SecondString The pointer to a Null-terminated Unicode string.
+ @param Length The maximum number of Unicode characters to compare.
+
+ @retval 0 FirstString is identical to SecondString.
+ @return others FirstString is not identical to SecondString.
+
+**/
+INTN
+EFIAPI
+StrnCmp (
+ IN CONST CHAR16 *FirstString,
+ IN CONST CHAR16 *SecondString,
+ IN UINTN Length
+ );
+
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Concatenates one Null-terminated Unicode string to another Null-terminated
+ Unicode string, and returns the concatenated Unicode string.
+
+ This function concatenates two Null-terminated Unicode strings. The contents
+ of Null-terminated Unicode string Source are concatenated to the end of
+ Null-terminated Unicode string Destination. The Null-terminated concatenated
+ Unicode String is returned. If Source and Destination overlap, then the
+ results are undefined.
+
+ If Destination is NULL, then ASSERT().
+ If Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If Source is NULL, then ASSERT().
+ If Source is not aligned on a 16-bit boundary, then ASSERT().
+ If Source and Destination overlap, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and Destination contains more
+ than PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination
+ and Source results in a Unicode string with more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+
+ @param Destination The pointer to a Null-terminated Unicode string.
+ @param Source The pointer to a Null-terminated Unicode string.
+
+ @return Destination.
+
+**/
+CHAR16 *
+EFIAPI
+StrCat (
+ IN OUT CHAR16 *Destination,
+ IN CONST CHAR16 *Source
+ );
+
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Concatenates up to a specified length one Null-terminated Unicode to the end
+ of another Null-terminated Unicode string, and returns the concatenated
+ Unicode string.
+
+ This function concatenates two Null-terminated Unicode strings. The contents
+ of Null-terminated Unicode string Source are concatenated to the end of
+ Null-terminated Unicode string Destination, and Destination is returned. At
+ most, Length Unicode characters are concatenated from Source to the end of
+ Destination, and Destination is always Null-terminated. If Length is 0, then
+ Destination is returned unmodified. If Source and Destination overlap, then
+ the results are undefined.
+
+ If Destination is NULL, then ASSERT().
+ If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If Length > 0 and Source is NULL, then ASSERT().
+ If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
+ If Source and Destination overlap, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and Length is greater than
+ PcdMaximumUnicodeStringLength, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and Destination contains more
+ than PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination
+ and Source results in a Unicode string with more than PcdMaximumUnicodeStringLength
+ Unicode characters, not including the Null-terminator, then ASSERT().
+
+ @param Destination The pointer to a Null-terminated Unicode string.
+ @param Source The pointer to a Null-terminated Unicode string.
+ @param Length The maximum number of Unicode characters to concatenate from
+ Source.
+
+ @return Destination.
+
+**/
+CHAR16 *
+EFIAPI
+StrnCat (
+ IN OUT CHAR16 *Destination,
+ IN CONST CHAR16 *Source,
+ IN UINTN Length
+ );
+#endif
+
+/**
+ Returns the first occurrence of a Null-terminated Unicode sub-string
+ in a Null-terminated Unicode string.
+
+ This function scans the contents of the Null-terminated Unicode string
+ specified by String and returns the first occurrence of SearchString.
+ If SearchString is not found in String, then NULL is returned. If
+ the length of SearchString is zero, then String is returned.
+
+ If String is NULL, then ASSERT().
+ If String is not aligned on a 16-bit boundary, then ASSERT().
+ If SearchString is NULL, then ASSERT().
+ If SearchString is not aligned on a 16-bit boundary, then ASSERT().
+
+ If PcdMaximumUnicodeStringLength is not zero, and SearchString
+ or String contains more than PcdMaximumUnicodeStringLength Unicode
+ characters, not including the Null-terminator, then ASSERT().
+
+ @param String The pointer to a Null-terminated Unicode string.
+ @param SearchString The pointer to a Null-terminated Unicode string to search for.
+
+ @retval NULL If the SearchString does not appear in String.
+ @return others If there is a match.
+
+**/
+CHAR16 *
+EFIAPI
+StrStr (
+ IN CONST CHAR16 *String,
+ IN CONST CHAR16 *SearchString
+ );
+
+/**
+ Convert a Null-terminated Unicode decimal string to a value of
+ type UINTN.
+
+ This function returns a value of type UINTN by interpreting the contents
+ of the Unicode string specified by String as a decimal number. The format
+ of the input Unicode string String is:
+
+ [spaces] [decimal digits].
+
+ The valid decimal digit character is in the range [0-9]. The
+ function will ignore the pad space, which includes spaces or
+ tab characters, before [decimal digits]. The running zero in the
+ beginning of [decimal digits] will be ignored. Then, the function
+ stops at the first character that is a not a valid decimal character
+ or a Null-terminator, whichever one comes first.
+
+ If String is NULL, then ASSERT().
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+ If String has only pad spaces, then 0 is returned.
+ If String has no pad spaces or valid decimal digits,
+ then 0 is returned.
+ If the number represented by String overflows according
+ to the range defined by UINTN, then MAX_UINTN is returned.
+
+ If PcdMaximumUnicodeStringLength is not zero, and String contains
+ more than PcdMaximumUnicodeStringLength Unicode characters not including
+ the Null-terminator, then ASSERT().
+
+ @param String The pointer to a Null-terminated Unicode string.
+
+ @retval Value translated from String.
+
+**/
+UINTN
+EFIAPI
+StrDecimalToUintn (
+ IN CONST CHAR16 *String
+ );
+
+/**
+ Convert a Null-terminated Unicode decimal string to a value of
+ type UINT64.
+
+ This function returns a value of type UINT64 by interpreting the contents
+ of the Unicode string specified by String as a decimal number. The format
+ of the input Unicode string String is:
+
+ [spaces] [decimal digits].
+
+ The valid decimal digit character is in the range [0-9]. The
+ function will ignore the pad space, which includes spaces or
+ tab characters, before [decimal digits]. The running zero in the
+ beginning of [decimal digits] will be ignored. Then, the function
+ stops at the first character that is a not a valid decimal character
+ or a Null-terminator, whichever one comes first.
+
+ If String is NULL, then ASSERT().
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+ If String has only pad spaces, then 0 is returned.
+ If String has no pad spaces or valid decimal digits,
+ then 0 is returned.
+ If the number represented by String overflows according
+ to the range defined by UINT64, then MAX_UINT64 is returned.
+
+ If PcdMaximumUnicodeStringLength is not zero, and String contains
+ more than PcdMaximumUnicodeStringLength Unicode characters not including
+ the Null-terminator, then ASSERT().
+
+ @param String The pointer to a Null-terminated Unicode string.
+
+ @retval Value translated from String.
+
+**/
+UINT64
+EFIAPI
+StrDecimalToUint64 (
+ IN CONST CHAR16 *String
+ );
+
+
+/**
+ Convert a Null-terminated Unicode hexadecimal string to a value of type UINTN.
+
+ This function returns a value of type UINTN by interpreting the contents
+ of the Unicode string specified by String as a hexadecimal number.
+ The format of the input Unicode string String is:
+
+ [spaces][zeros][x][hexadecimal digits].
+
+ The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
+ The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix.
+ If "x" appears in the input string, it must be prefixed with at least one 0.
+ The function will ignore the pad space, which includes spaces or tab characters,
+ before [zeros], [x] or [hexadecimal digit]. The running zero before [x] or
+ [hexadecimal digit] will be ignored. Then, the decoding starts after [x] or the
+ first valid hexadecimal digit. Then, the function stops at the first character
+ that is a not a valid hexadecimal character or NULL, whichever one comes first.
+
+ If String is NULL, then ASSERT().
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+ If String has only pad spaces, then zero is returned.
+ If String has no leading pad spaces, leading zeros or valid hexadecimal digits,
+ then zero is returned.
+ If the number represented by String overflows according to the range defined by
+ UINTN, then MAX_UINTN is returned.
+
+ If PcdMaximumUnicodeStringLength is not zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator,
+ then ASSERT().
+
+ @param String The pointer to a Null-terminated Unicode string.
+
+ @retval Value translated from String.
+
+**/
+UINTN
+EFIAPI
+StrHexToUintn (
+ IN CONST CHAR16 *String
+ );
+
+
+/**
+ Convert a Null-terminated Unicode hexadecimal string to a value of type UINT64.
+
+ This function returns a value of type UINT64 by interpreting the contents
+ of the Unicode string specified by String as a hexadecimal number.
+ The format of the input Unicode string String is
+
+ [spaces][zeros][x][hexadecimal digits].
+
+ The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
+ The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix.
+ If "x" appears in the input string, it must be prefixed with at least one 0.
+ The function will ignore the pad space, which includes spaces or tab characters,
+ before [zeros], [x] or [hexadecimal digit]. The running zero before [x] or
+ [hexadecimal digit] will be ignored. Then, the decoding starts after [x] or the
+ first valid hexadecimal digit. Then, the function stops at the first character that is
+ a not a valid hexadecimal character or NULL, whichever one comes first.
+
+ If String is NULL, then ASSERT().
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+ If String has only pad spaces, then zero is returned.
+ If String has no leading pad spaces, leading zeros or valid hexadecimal digits,
+ then zero is returned.
+ If the number represented by String overflows according to the range defined by
+ UINT64, then MAX_UINT64 is returned.
+
+ If PcdMaximumUnicodeStringLength is not zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator,
+ then ASSERT().
+
+ @param String The pointer to a Null-terminated Unicode string.
+
+ @retval Value translated from String.
+
+**/
+UINT64
+EFIAPI
+StrHexToUint64 (
+ IN CONST CHAR16 *String
+ );
+
+/**
+ Convert a Null-terminated Unicode string to IPv6 address and prefix length.
+
+ This function outputs a value of type IPv6_ADDRESS and may output a value
+ of type UINT8 by interpreting the contents of the Unicode string specified
+ by String. The format of the input Unicode string String is as follows:
+
+ X:X:X:X:X:X:X:X[/P]
+
+ X contains one to four hexadecimal digit characters in the range [0-9], [a-f] and
+ [A-F]. X is converted to a value of type UINT16, whose low byte is stored in low
+ memory address and high byte is stored in high memory address. P contains decimal
+ digit characters in the range [0-9]. The running zero in the beginning of P will
+ be ignored. /P is optional.
+
+ When /P is not in the String, the function stops at the first character that is
+ not a valid hexadecimal digit character after eight X's are converted.
+
+ When /P is in the String, the function stops at the first character that is not
+ a valid decimal digit character after P is converted.
+
+ "::" can be used to compress one or more groups of X when X contains only 0.
+ The "::" can only appear once in the String.
+
+ If String is NULL, then ASSERT().
+
+ If Address is NULL, then ASSERT().
+
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+
+ If PcdMaximumUnicodeStringLength is not zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+
+ If EndPointer is not NULL and Address is translated from String, a pointer
+ to the character that stopped the scan is stored at the location pointed to
+ by EndPointer.
+
+ @param String Pointer to a Null-terminated Unicode string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Address Pointer to the converted IPv6 address.
+ @param PrefixLength Pointer to the converted IPv6 address prefix
+ length. MAX_UINT8 is returned when /P is
+ not in the String.
+
+ @retval RETURN_SUCCESS Address is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ @retval RETURN_UNSUPPORTED If X contains more than four hexadecimal
+ digit characters.
+ If String contains "::" and number of X
+ is not less than 8.
+ If P starts with character that is not a
+ valid decimal digit character.
+ If the decimal number converted from P
+ exceeds 128.
+
+**/
+RETURN_STATUS
+EFIAPI
+StrToIpv6Address (
+ IN CONST CHAR16 *String,
+ OUT CHAR16 **EndPointer, OPTIONAL
+ OUT IPv6_ADDRESS *Address,
+ OUT UINT8 *PrefixLength OPTIONAL
+ );
+
+/**
+ Convert a Null-terminated Unicode string to IPv4 address and prefix length.
+
+ This function outputs a value of type IPv4_ADDRESS and may output a value
+ of type UINT8 by interpreting the contents of the Unicode string specified
+ by String. The format of the input Unicode string String is as follows:
+
+ D.D.D.D[/P]
+
+ D and P are decimal digit characters in the range [0-9]. The running zero in
+ the beginning of D and P will be ignored. /P is optional.
+
+ When /P is not in the String, the function stops at the first character that is
+ not a valid decimal digit character after four D's are converted.
+
+ When /P is in the String, the function stops at the first character that is not
+ a valid decimal digit character after P is converted.
+
+ If String is NULL, then ASSERT().
+
+ If Address is NULL, then ASSERT().
+
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+
+ If PcdMaximumUnicodeStringLength is not zero, and String contains more than
+ PcdMaximumUnicodeStringLength Unicode characters, not including the
+ Null-terminator, then ASSERT().
+
+ If EndPointer is not NULL and Address is translated from String, a pointer
+ to the character that stopped the scan is stored at the location pointed to
+ by EndPointer.
+
+ @param String Pointer to a Null-terminated Unicode string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Address Pointer to the converted IPv4 address.
+ @param PrefixLength Pointer to the converted IPv4 address prefix
+ length. MAX_UINT8 is returned when /P is
+ not in the String.
+
+ @retval RETURN_SUCCESS Address is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ @retval RETURN_UNSUPPORTED If String is not in the correct format.
+ If any decimal number converted from D
+ exceeds 255.
+ If the decimal number converted from P
+ exceeds 32.
+
+**/
+RETURN_STATUS
+EFIAPI
+StrToIpv4Address (
+ IN CONST CHAR16 *String,
+ OUT CHAR16 **EndPointer, OPTIONAL
+ OUT IPv4_ADDRESS *Address,
+ OUT UINT8 *PrefixLength OPTIONAL
+ );
+
+#define GUID_STRING_LENGTH 36
+
+/**
+ Convert a Null-terminated Unicode GUID string to a value of type
+ EFI_GUID.
+
+ This function outputs a GUID value by interpreting the contents of
+ the Unicode string specified by String. The format of the input
+ Unicode string String consists of 36 characters, as follows:
+
+ aabbccdd-eeff-gghh-iijj-kkllmmnnoopp
+
+ The pairs aa - pp are two characters in the range [0-9], [a-f] and
+ [A-F], with each pair representing a single byte hexadecimal value.
+
+ The mapping between String and the EFI_GUID structure is as follows:
+ aa Data1[24:31]
+ bb Data1[16:23]
+ cc Data1[8:15]
+ dd Data1[0:7]
+ ee Data2[8:15]
+ ff Data2[0:7]
+ gg Data3[8:15]
+ hh Data3[0:7]
+ ii Data4[0:7]
+ jj Data4[8:15]
+ kk Data4[16:23]
+ ll Data4[24:31]
+ mm Data4[32:39]
+ nn Data4[40:47]
+ oo Data4[48:55]
+ pp Data4[56:63]
+
+ If String is NULL, then ASSERT().
+ If Guid is NULL, then ASSERT().
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+
+ @param String Pointer to a Null-terminated Unicode string.
+ @param Guid Pointer to the converted GUID.
+
+ @retval RETURN_SUCCESS Guid is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ @retval RETURN_UNSUPPORTED If String is not as the above format.
+
+**/
+RETURN_STATUS
+EFIAPI
+StrToGuid (
+ IN CONST CHAR16 *String,
+ OUT GUID *Guid
+ );
+
+/**
+ Convert a Null-terminated Unicode hexadecimal string to a byte array.
+
+ This function outputs a byte array by interpreting the contents of
+ the Unicode string specified by String in hexadecimal format. The format of
+ the input Unicode string String is:
+
+ [XX]*
+
+ X is a hexadecimal digit character in the range [0-9], [a-f] and [A-F].
+ The function decodes every two hexadecimal digit characters as one byte. The
+ decoding stops after Length of characters and outputs Buffer containing
+ (Length / 2) bytes.
+
+ If String is not aligned in a 16-bit boundary, then ASSERT().
+
+ If String is NULL, then ASSERT().
+
+ If Buffer is NULL, then ASSERT().
+
+ If Length is not multiple of 2, then ASSERT().
+
+ If PcdMaximumUnicodeStringLength is not zero and Length is greater than
+ PcdMaximumUnicodeStringLength, then ASSERT().
+
+ If MaxBufferSize is less than (Length / 2), then ASSERT().
+
+ @param String Pointer to a Null-terminated Unicode string.
+ @param Length The number of Unicode characters to decode.
+ @param Buffer Pointer to the converted bytes array.
+ @param MaxBufferSize The maximum size of Buffer.
+
+ @retval RETURN_SUCCESS Buffer is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ If Length is not multiple of 2.
+ If PcdMaximumUnicodeStringLength is not zero,
+ and Length is greater than
+ PcdMaximumUnicodeStringLength.
+ @retval RETURN_UNSUPPORTED If Length of characters from String contain
+ a character that is not valid hexadecimal
+ digit characters, or a Null-terminator.
+ @retval RETURN_BUFFER_TOO_SMALL If MaxBufferSize is less than (Length / 2).
+**/
+RETURN_STATUS
+EFIAPI
+StrHexToBytes (
+ IN CONST CHAR16 *String,
+ IN UINTN Length,
+ OUT UINT8 *Buffer,
+ IN UINTN MaxBufferSize
+ );
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Convert a Null-terminated Unicode string to a Null-terminated
+ ASCII string and returns the ASCII string.
+
+ This function converts the content of the Unicode string Source
+ to the ASCII string Destination by copying the lower 8 bits of
+ each Unicode character. It returns Destination.
+
+ The caller is responsible to make sure Destination points to a buffer with size
+ equal or greater than ((StrLen (Source) + 1) * sizeof (CHAR8)) in bytes.
+
+ If any Unicode characters in Source contain non-zero value in
+ the upper 8 bits, then ASSERT().
+
+ If Destination is NULL, then ASSERT().
+ If Source is NULL, then ASSERT().
+ If Source is not aligned on a 16-bit boundary, then ASSERT().
+ If Source and Destination overlap, then ASSERT().
+
+ If PcdMaximumUnicodeStringLength is not zero, and Source contains
+ more than PcdMaximumUnicodeStringLength Unicode characters not including
+ the Null-terminator, then ASSERT().
+
+ If PcdMaximumAsciiStringLength is not zero, and Source contains more
+ than PcdMaximumAsciiStringLength Unicode characters not including the
+ Null-terminator, then ASSERT().
+
+ @param Source The pointer to a Null-terminated Unicode string.
+ @param Destination The pointer to a Null-terminated ASCII string.
+
+ @return Destination.
+
+**/
+CHAR8 *
+EFIAPI
+UnicodeStrToAsciiStr (
+ IN CONST CHAR16 *Source,
+ OUT CHAR8 *Destination
+ );
+
+#endif
+
+/**
+ Convert a Null-terminated Unicode string to a Null-terminated
+ ASCII string.
+
+ This function is similar to AsciiStrCpyS.
+
+ This function converts the content of the Unicode string Source
+ to the ASCII string Destination by copying the lower 8 bits of
+ each Unicode character. The function terminates the ASCII string
+ Destination by appending a Null-terminator character at the end.
+
+ The caller is responsible to make sure Destination points to a buffer with size
+ equal or greater than ((StrLen (Source) + 1) * sizeof (CHAR8)) in bytes.
+
+ If any Unicode characters in Source contain non-zero value in
+ the upper 8 bits, then ASSERT().
+
+ If Source is not aligned on a 16-bit boundary, then ASSERT().
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Source The pointer to a Null-terminated Unicode string.
+ @param Destination The pointer to a Null-terminated ASCII string.
+ @param DestMax The maximum number of Destination Ascii
+ char, including terminating null char.
+
+ @retval RETURN_SUCCESS String is converted.
+ @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than StrLen(Source).
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If PcdMaximumAsciiStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumAsciiStringLength.
+ If PcdMaximumUnicodeStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumUnicodeStringLength.
+ If DestMax is 0.
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+
+**/
+RETURN_STATUS
+EFIAPI
+UnicodeStrToAsciiStrS (
+ IN CONST CHAR16 *Source,
+ OUT CHAR8 *Destination,
+ IN UINTN DestMax
+ );
+
+/**
+ Convert not more than Length successive characters from a Null-terminated
+ Unicode string to a Null-terminated Ascii string. If no null char is copied
+ from Source, then Destination[Length] is always set to null.
+
+ This function converts not more than Length successive characters from the
+ Unicode string Source to the Ascii string Destination by copying the lower 8
+ bits of each Unicode character. The function terminates the Ascii string
+ Destination by appending a Null-terminator character at the end.
+
+ The caller is responsible to make sure Destination points to a buffer with size
+ equal or greater than ((StrLen (Source) + 1) * sizeof (CHAR8)) in bytes.
+
+ If any Unicode characters in Source contain non-zero value in the upper 8
+ bits, then ASSERT().
+ If Source is not aligned on a 16-bit boundary, then ASSERT().
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Source The pointer to a Null-terminated Unicode string.
+ @param Length The maximum number of Unicode characters to
+ convert.
+ @param Destination The pointer to a Null-terminated Ascii string.
+ @param DestMax The maximum number of Destination Ascii
+ char, including terminating null char.
+ @param DestinationLength The number of Unicode characters converted.
+
+ @retval RETURN_SUCCESS String is converted.
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If DestinationLength is NULL.
+ If PcdMaximumAsciiStringLength is not zero,
+ and Length or DestMax is greater than
+ PcdMaximumAsciiStringLength.
+ If PcdMaximumUnicodeStringLength is not
+ zero, and Length or DestMax is greater than
+ PcdMaximumUnicodeStringLength.
+ If DestMax is 0.
+ @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than
+ MIN(StrLen(Source), Length).
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+
+**/
+RETURN_STATUS
+EFIAPI
+UnicodeStrnToAsciiStrS (
+ IN CONST CHAR16 *Source,
+ IN UINTN Length,
+ OUT CHAR8 *Destination,
+ IN UINTN DestMax,
+ OUT UINTN *DestinationLength
+ );
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Copies one Null-terminated ASCII string to another Null-terminated ASCII
+ string and returns the new ASCII string.
+
+ This function copies the contents of the ASCII string Source to the ASCII
+ string Destination, and returns Destination. If Source and Destination
+ overlap, then the results are undefined.
+
+ If Destination is NULL, then ASSERT().
+ If Source is NULL, then ASSERT().
+ If Source and Destination overlap, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero and Source contains more than
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
+ then ASSERT().
+
+ @param Destination The pointer to a Null-terminated ASCII string.
+ @param Source The pointer to a Null-terminated ASCII string.
+
+ @return Destination
+
+**/
+CHAR8 *
+EFIAPI
+AsciiStrCpy (
+ OUT CHAR8 *Destination,
+ IN CONST CHAR8 *Source
+ );
+
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Copies up to a specified length one Null-terminated ASCII string to another
+ Null-terminated ASCII string and returns the new ASCII string.
+
+ This function copies the contents of the ASCII string Source to the ASCII
+ string Destination, and returns Destination. At most, Length ASCII characters
+ are copied from Source to Destination. If Length is 0, then Destination is
+ returned unmodified. If Length is greater that the number of ASCII characters
+ in Source, then Destination is padded with Null ASCII characters. If Source
+ and Destination overlap, then the results are undefined.
+
+ If Destination is NULL, then ASSERT().
+ If Source is NULL, then ASSERT().
+ If Source and Destination overlap, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and Length is greater than
+ PcdMaximumAsciiStringLength, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and Source contains more than
+ PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
+ then ASSERT().
+
+ @param Destination The pointer to a Null-terminated ASCII string.
+ @param Source The pointer to a Null-terminated ASCII string.
+ @param Length The maximum number of ASCII characters to copy.
+
+ @return Destination
+
+**/
+CHAR8 *
+EFIAPI
+AsciiStrnCpy (
+ OUT CHAR8 *Destination,
+ IN CONST CHAR8 *Source,
+ IN UINTN Length
+ );
+#endif
+
+/**
+ Returns the length of a Null-terminated ASCII string.
+
+ This function returns the number of ASCII characters in the Null-terminated
+ ASCII string specified by String.
+
+ If Length > 0 and Destination is NULL, then ASSERT().
+ If Length > 0 and Source is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero and String contains more than
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
+ then ASSERT().
+
+ @param String The pointer to a Null-terminated ASCII string.
+
+ @return The length of String.
+
+**/
+UINTN
+EFIAPI
+AsciiStrLen (
+ IN CONST CHAR8 *String
+ );
+
+
+/**
+ Returns the size of a Null-terminated ASCII string in bytes, including the
+ Null terminator.
+
+ This function returns the size, in bytes, of the Null-terminated ASCII string
+ specified by String.
+
+ If String is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero and String contains more than
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
+ then ASSERT().
+
+ @param String The pointer to a Null-terminated ASCII string.
+
+ @return The size of String.
+
+**/
+UINTN
+EFIAPI
+AsciiStrSize (
+ IN CONST CHAR8 *String
+ );
+
+
+/**
+ Compares two Null-terminated ASCII strings, and returns the difference
+ between the first mismatched ASCII characters.
+
+ This function compares the Null-terminated ASCII string FirstString to the
+ Null-terminated ASCII string SecondString. If FirstString is identical to
+ SecondString, then 0 is returned. Otherwise, the value returned is the first
+ mismatched ASCII character in SecondString subtracted from the first
+ mismatched ASCII character in FirstString.
+
+ If FirstString is NULL, then ASSERT().
+ If SecondString is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero and FirstString contains more than
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
+ then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero and SecondString contains more
+ than PcdMaximumAsciiStringLength ASCII characters not including the
+ Null-terminator, then ASSERT().
+
+ @param FirstString The pointer to a Null-terminated ASCII string.
+ @param SecondString The pointer to a Null-terminated ASCII string.
+
+ @retval ==0 FirstString is identical to SecondString.
+ @retval !=0 FirstString is not identical to SecondString.
+
+**/
+INTN
+EFIAPI
+AsciiStrCmp (
+ IN CONST CHAR8 *FirstString,
+ IN CONST CHAR8 *SecondString
+ );
+
+
+/**
+ Performs a case insensitive comparison of two Null-terminated ASCII strings,
+ and returns the difference between the first mismatched ASCII characters.
+
+ This function performs a case insensitive comparison of the Null-terminated
+ ASCII string FirstString to the Null-terminated ASCII string SecondString. If
+ FirstString is identical to SecondString, then 0 is returned. Otherwise, the
+ value returned is the first mismatched lower case ASCII character in
+ SecondString subtracted from the first mismatched lower case ASCII character
+ in FirstString.
+
+ If FirstString is NULL, then ASSERT().
+ If SecondString is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero and FirstString contains more than
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
+ then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero and SecondString contains more
+ than PcdMaximumAsciiStringLength ASCII characters not including the
+ Null-terminator, then ASSERT().
+
+ @param FirstString The pointer to a Null-terminated ASCII string.
+ @param SecondString The pointer to a Null-terminated ASCII string.
+
+ @retval ==0 FirstString is identical to SecondString using case insensitive
+ comparisons.
+ @retval !=0 FirstString is not identical to SecondString using case
+ insensitive comparisons.
+
+**/
+INTN
+EFIAPI
+AsciiStriCmp (
+ IN CONST CHAR8 *FirstString,
+ IN CONST CHAR8 *SecondString
+ );
+
+
+/**
+ Compares two Null-terminated ASCII strings with maximum lengths, and returns
+ the difference between the first mismatched ASCII characters.
+
+ This function compares the Null-terminated ASCII string FirstString to the
+ Null-terminated ASCII string SecondString. At most, Length ASCII characters
+ will be compared. If Length is 0, then 0 is returned. If FirstString is
+ identical to SecondString, then 0 is returned. Otherwise, the value returned
+ is the first mismatched ASCII character in SecondString subtracted from the
+ first mismatched ASCII character in FirstString.
+
+ If Length > 0 and FirstString is NULL, then ASSERT().
+ If Length > 0 and SecondString is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and Length is greater than
+ PcdMaximumAsciiStringLength, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and FirstString contains more than
+ PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
+ then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and SecondString contains more than
+ PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
+ then ASSERT().
+
+ @param FirstString The pointer to a Null-terminated ASCII string.
+ @param SecondString The pointer to a Null-terminated ASCII string.
+ @param Length The maximum number of ASCII characters for compare.
+
+ @retval ==0 FirstString is identical to SecondString.
+ @retval !=0 FirstString is not identical to SecondString.
+
+**/
+INTN
+EFIAPI
+AsciiStrnCmp (
+ IN CONST CHAR8 *FirstString,
+ IN CONST CHAR8 *SecondString,
+ IN UINTN Length
+ );
+
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Concatenates one Null-terminated ASCII string to another Null-terminated
+ ASCII string, and returns the concatenated ASCII string.
+
+ This function concatenates two Null-terminated ASCII strings. The contents of
+ Null-terminated ASCII string Source are concatenated to the end of Null-
+ terminated ASCII string Destination. The Null-terminated concatenated ASCII
+ String is returned.
+
+ If Destination is NULL, then ASSERT().
+ If Source is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero and Destination contains more than
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
+ then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero and Source contains more than
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
+ then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero and concatenating Destination and
+ Source results in a ASCII string with more than PcdMaximumAsciiStringLength
+ ASCII characters, then ASSERT().
+
+ @param Destination The pointer to a Null-terminated ASCII string.
+ @param Source The pointer to a Null-terminated ASCII string.
+
+ @return Destination
+
+**/
+CHAR8 *
+EFIAPI
+AsciiStrCat (
+ IN OUT CHAR8 *Destination,
+ IN CONST CHAR8 *Source
+ );
+
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Concatenates up to a specified length one Null-terminated ASCII string to
+ the end of another Null-terminated ASCII string, and returns the
+ concatenated ASCII string.
+
+ This function concatenates two Null-terminated ASCII strings. The contents
+ of Null-terminated ASCII string Source are concatenated to the end of Null-
+ terminated ASCII string Destination, and Destination is returned. At most,
+ Length ASCII characters are concatenated from Source to the end of
+ Destination, and Destination is always Null-terminated. If Length is 0, then
+ Destination is returned unmodified. If Source and Destination overlap, then
+ the results are undefined.
+
+ If Length > 0 and Destination is NULL, then ASSERT().
+ If Length > 0 and Source is NULL, then ASSERT().
+ If Source and Destination overlap, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and Length is greater than
+ PcdMaximumAsciiStringLength, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and Destination contains more than
+ PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
+ then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and Source contains more than
+ PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,
+ then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and concatenating Destination and
+ Source results in a ASCII string with more than PcdMaximumAsciiStringLength
+ ASCII characters, not including the Null-terminator, then ASSERT().
+
+ @param Destination The pointer to a Null-terminated ASCII string.
+ @param Source The pointer to a Null-terminated ASCII string.
+ @param Length The maximum number of ASCII characters to concatenate from
+ Source.
+
+ @return Destination
+
+**/
+CHAR8 *
+EFIAPI
+AsciiStrnCat (
+ IN OUT CHAR8 *Destination,
+ IN CONST CHAR8 *Source,
+ IN UINTN Length
+ );
+#endif
+
+/**
+ Returns the first occurrence of a Null-terminated ASCII sub-string
+ in a Null-terminated ASCII string.
+
+ This function scans the contents of the ASCII string specified by String
+ and returns the first occurrence of SearchString. If SearchString is not
+ found in String, then NULL is returned. If the length of SearchString is zero,
+ then String is returned.
+
+ If String is NULL, then ASSERT().
+ If SearchString is NULL, then ASSERT().
+
+ If PcdMaximumAsciiStringLength is not zero, and SearchString or
+ String contains more than PcdMaximumAsciiStringLength Unicode characters
+ not including the Null-terminator, then ASSERT().
+
+ @param String The pointer to a Null-terminated ASCII string.
+ @param SearchString The pointer to a Null-terminated ASCII string to search for.
+
+ @retval NULL If the SearchString does not appear in String.
+ @retval others If there is a match return the first occurrence of SearchingString.
+ If the length of SearchString is zero,return String.
+
+**/
+CHAR8 *
+EFIAPI
+AsciiStrStr (
+ IN CONST CHAR8 *String,
+ IN CONST CHAR8 *SearchString
+ );
+
+
+/**
+ Convert a Null-terminated ASCII decimal string to a value of type
+ UINTN.
+
+ This function returns a value of type UINTN by interpreting the contents
+ of the ASCII string String as a decimal number. The format of the input
+ ASCII string String is:
+
+ [spaces] [decimal digits].
+
+ The valid decimal digit character is in the range [0-9]. The function will
+ ignore the pad space, which includes spaces or tab characters, before the digits.
+ The running zero in the beginning of [decimal digits] will be ignored. Then, the
+ function stops at the first character that is a not a valid decimal character or
+ Null-terminator, whichever on comes first.
+
+ If String has only pad spaces, then 0 is returned.
+ If String has no pad spaces or valid decimal digits, then 0 is returned.
+ If the number represented by String overflows according to the range defined by
+ UINTN, then MAX_UINTN is returned.
+ If String is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and String contains more than
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
+ then ASSERT().
+
+ @param String The pointer to a Null-terminated ASCII string.
+
+ @retval The value translated from String.
+
+**/
+UINTN
+EFIAPI
+AsciiStrDecimalToUintn (
+ IN CONST CHAR8 *String
+ );
+
+
+/**
+ Convert a Null-terminated ASCII decimal string to a value of type
+ UINT64.
+
+ This function returns a value of type UINT64 by interpreting the contents
+ of the ASCII string String as a decimal number. The format of the input
+ ASCII string String is:
+
+ [spaces] [decimal digits].
+
+ The valid decimal digit character is in the range [0-9]. The function will
+ ignore the pad space, which includes spaces or tab characters, before the digits.
+ The running zero in the beginning of [decimal digits] will be ignored. Then, the
+ function stops at the first character that is a not a valid decimal character or
+ Null-terminator, whichever on comes first.
+
+ If String has only pad spaces, then 0 is returned.
+ If String has no pad spaces or valid decimal digits, then 0 is returned.
+ If the number represented by String overflows according to the range defined by
+ UINT64, then MAX_UINT64 is returned.
+ If String is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and String contains more than
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
+ then ASSERT().
+
+ @param String The pointer to a Null-terminated ASCII string.
+
+ @retval Value translated from String.
+
+**/
+UINT64
+EFIAPI
+AsciiStrDecimalToUint64 (
+ IN CONST CHAR8 *String
+ );
+
+
+/**
+ Convert a Null-terminated ASCII hexadecimal string to a value of type UINTN.
+
+ This function returns a value of type UINTN by interpreting the contents of
+ the ASCII string String as a hexadecimal number. The format of the input ASCII
+ string String is:
+
+ [spaces][zeros][x][hexadecimal digits].
+
+ The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
+ The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix. If "x"
+ appears in the input string, it must be prefixed with at least one 0. The function
+ will ignore the pad space, which includes spaces or tab characters, before [zeros],
+ [x] or [hexadecimal digits]. The running zero before [x] or [hexadecimal digits]
+ will be ignored. Then, the decoding starts after [x] or the first valid hexadecimal
+ digit. Then, the function stops at the first character that is a not a valid
+ hexadecimal character or Null-terminator, whichever on comes first.
+
+ If String has only pad spaces, then 0 is returned.
+ If String has no leading pad spaces, leading zeros or valid hexadecimal digits, then
+ 0 is returned.
+
+ If the number represented by String overflows according to the range defined by UINTN,
+ then MAX_UINTN is returned.
+ If String is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero,
+ and String contains more than PcdMaximumAsciiStringLength ASCII characters not including
+ the Null-terminator, then ASSERT().
+
+ @param String The pointer to a Null-terminated ASCII string.
+
+ @retval Value translated from String.
+
+**/
+UINTN
+EFIAPI
+AsciiStrHexToUintn (
+ IN CONST CHAR8 *String
+ );
+
+
+/**
+ Convert a Null-terminated ASCII hexadecimal string to a value of type UINT64.
+
+ This function returns a value of type UINT64 by interpreting the contents of
+ the ASCII string String as a hexadecimal number. The format of the input ASCII
+ string String is:
+
+ [spaces][zeros][x][hexadecimal digits].
+
+ The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
+ The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix. If "x"
+ appears in the input string, it must be prefixed with at least one 0. The function
+ will ignore the pad space, which includes spaces or tab characters, before [zeros],
+ [x] or [hexadecimal digits]. The running zero before [x] or [hexadecimal digits]
+ will be ignored. Then, the decoding starts after [x] or the first valid hexadecimal
+ digit. Then, the function stops at the first character that is a not a valid
+ hexadecimal character or Null-terminator, whichever on comes first.
+
+ If String has only pad spaces, then 0 is returned.
+ If String has no leading pad spaces, leading zeros or valid hexadecimal digits, then
+ 0 is returned.
+
+ If the number represented by String overflows according to the range defined by UINT64,
+ then MAX_UINT64 is returned.
+ If String is NULL, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero,
+ and String contains more than PcdMaximumAsciiStringLength ASCII characters not including
+ the Null-terminator, then ASSERT().
+
+ @param String The pointer to a Null-terminated ASCII string.
+
+ @retval Value translated from String.
+
+**/
+UINT64
+EFIAPI
+AsciiStrHexToUint64 (
+ IN CONST CHAR8 *String
+ );
+
+/**
+ Convert a Null-terminated ASCII string to IPv6 address and prefix length.
+
+ This function outputs a value of type IPv6_ADDRESS and may output a value
+ of type UINT8 by interpreting the contents of the ASCII string specified
+ by String. The format of the input ASCII string String is as follows:
+
+ X:X:X:X:X:X:X:X[/P]
+
+ X contains one to four hexadecimal digit characters in the range [0-9], [a-f] and
+ [A-F]. X is converted to a value of type UINT16, whose low byte is stored in low
+ memory address and high byte is stored in high memory address. P contains decimal
+ digit characters in the range [0-9]. The running zero in the beginning of P will
+ be ignored. /P is optional.
+
+ When /P is not in the String, the function stops at the first character that is
+ not a valid hexadecimal digit character after eight X's are converted.
+
+ When /P is in the String, the function stops at the first character that is not
+ a valid decimal digit character after P is converted.
+
+ "::" can be used to compress one or more groups of X when X contains only 0.
+ The "::" can only appear once in the String.
+
+ If String is NULL, then ASSERT().
+
+ If Address is NULL, then ASSERT().
+
+ If EndPointer is not NULL and Address is translated from String, a pointer
+ to the character that stopped the scan is stored at the location pointed to
+ by EndPointer.
+
+ @param String Pointer to a Null-terminated ASCII string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Address Pointer to the converted IPv6 address.
+ @param PrefixLength Pointer to the converted IPv6 address prefix
+ length. MAX_UINT8 is returned when /P is
+ not in the String.
+
+ @retval RETURN_SUCCESS Address is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ @retval RETURN_UNSUPPORTED If X contains more than four hexadecimal
+ digit characters.
+ If String contains "::" and number of X
+ is not less than 8.
+ If P starts with character that is not a
+ valid decimal digit character.
+ If the decimal number converted from P
+ exceeds 128.
+
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrToIpv6Address (
+ IN CONST CHAR8 *String,
+ OUT CHAR8 **EndPointer, OPTIONAL
+ OUT IPv6_ADDRESS *Address,
+ OUT UINT8 *PrefixLength OPTIONAL
+ );
+
+/**
+ Convert a Null-terminated ASCII string to IPv4 address and prefix length.
+
+ This function outputs a value of type IPv4_ADDRESS and may output a value
+ of type UINT8 by interpreting the contents of the ASCII string specified
+ by String. The format of the input ASCII string String is as follows:
+
+ D.D.D.D[/P]
+
+ D and P are decimal digit characters in the range [0-9]. The running zero in
+ the beginning of D and P will be ignored. /P is optional.
+
+ When /P is not in the String, the function stops at the first character that is
+ not a valid decimal digit character after four D's are converted.
+
+ When /P is in the String, the function stops at the first character that is not
+ a valid decimal digit character after P is converted.
+
+ If String is NULL, then ASSERT().
+
+ If Address is NULL, then ASSERT().
+
+ If EndPointer is not NULL and Address is translated from String, a pointer
+ to the character that stopped the scan is stored at the location pointed to
+ by EndPointer.
+
+ @param String Pointer to a Null-terminated ASCII string.
+ @param EndPointer Pointer to character that stops scan.
+ @param Address Pointer to the converted IPv4 address.
+ @param PrefixLength Pointer to the converted IPv4 address prefix
+ length. MAX_UINT8 is returned when /P is
+ not in the String.
+
+ @retval RETURN_SUCCESS Address is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ @retval RETURN_UNSUPPORTED If String is not in the correct format.
+ If any decimal number converted from D
+ exceeds 255.
+ If the decimal number converted from P
+ exceeds 32.
+
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrToIpv4Address (
+ IN CONST CHAR8 *String,
+ OUT CHAR8 **EndPointer, OPTIONAL
+ OUT IPv4_ADDRESS *Address,
+ OUT UINT8 *PrefixLength OPTIONAL
+ );
+
+/**
+ Convert a Null-terminated ASCII GUID string to a value of type
+ EFI_GUID.
+
+ This function outputs a GUID value by interpreting the contents of
+ the ASCII string specified by String. The format of the input
+ ASCII string String consists of 36 characters, as follows:
+
+ aabbccdd-eeff-gghh-iijj-kkllmmnnoopp
+
+ The pairs aa - pp are two characters in the range [0-9], [a-f] and
+ [A-F], with each pair representing a single byte hexadecimal value.
+
+ The mapping between String and the EFI_GUID structure is as follows:
+ aa Data1[24:31]
+ bb Data1[16:23]
+ cc Data1[8:15]
+ dd Data1[0:7]
+ ee Data2[8:15]
+ ff Data2[0:7]
+ gg Data3[8:15]
+ hh Data3[0:7]
+ ii Data4[0:7]
+ jj Data4[8:15]
+ kk Data4[16:23]
+ ll Data4[24:31]
+ mm Data4[32:39]
+ nn Data4[40:47]
+ oo Data4[48:55]
+ pp Data4[56:63]
+
+ If String is NULL, then ASSERT().
+ If Guid is NULL, then ASSERT().
+
+ @param String Pointer to a Null-terminated ASCII string.
+ @param Guid Pointer to the converted GUID.
+
+ @retval RETURN_SUCCESS Guid is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ @retval RETURN_UNSUPPORTED If String is not as the above format.
+
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrToGuid (
+ IN CONST CHAR8 *String,
+ OUT GUID *Guid
+ );
+
+/**
+ Convert a Null-terminated ASCII hexadecimal string to a byte array.
+
+ This function outputs a byte array by interpreting the contents of
+ the ASCII string specified by String in hexadecimal format. The format of
+ the input ASCII string String is:
+
+ [XX]*
+
+ X is a hexadecimal digit character in the range [0-9], [a-f] and [A-F].
+ The function decodes every two hexadecimal digit characters as one byte. The
+ decoding stops after Length of characters and outputs Buffer containing
+ (Length / 2) bytes.
+
+ If String is NULL, then ASSERT().
+
+ If Buffer is NULL, then ASSERT().
+
+ If Length is not multiple of 2, then ASSERT().
+
+ If PcdMaximumAsciiStringLength is not zero and Length is greater than
+ PcdMaximumAsciiStringLength, then ASSERT().
+
+ If MaxBufferSize is less than (Length / 2), then ASSERT().
+
+ @param String Pointer to a Null-terminated ASCII string.
+ @param Length The number of ASCII characters to decode.
+ @param Buffer Pointer to the converted bytes array.
+ @param MaxBufferSize The maximum size of Buffer.
+
+ @retval RETURN_SUCCESS Buffer is translated from String.
+ @retval RETURN_INVALID_PARAMETER If String is NULL.
+ If Data is NULL.
+ If Length is not multiple of 2.
+ If PcdMaximumAsciiStringLength is not zero,
+ and Length is greater than
+ PcdMaximumAsciiStringLength.
+ @retval RETURN_UNSUPPORTED If Length of characters from String contain
+ a character that is not valid hexadecimal
+ digit characters, or a Null-terminator.
+ @retval RETURN_BUFFER_TOO_SMALL If MaxBufferSize is less than (Length / 2).
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrHexToBytes (
+ IN CONST CHAR8 *String,
+ IN UINTN Length,
+ OUT UINT8 *Buffer,
+ IN UINTN MaxBufferSize
+ );
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Convert one Null-terminated ASCII string to a Null-terminated
+ Unicode string and returns the Unicode string.
+
+ This function converts the contents of the ASCII string Source to the Unicode
+ string Destination, and returns Destination. The function terminates the
+ Unicode string Destination by appending a Null-terminator character at the end.
+ The caller is responsible to make sure Destination points to a buffer with size
+ equal or greater than ((AsciiStrLen (Source) + 1) * sizeof (CHAR16)) in bytes.
+
+ If Destination is NULL, then ASSERT().
+ If Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If Source is NULL, then ASSERT().
+ If Source and Destination overlap, then ASSERT().
+ If PcdMaximumAsciiStringLength is not zero, and Source contains more than
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,
+ then ASSERT().
+ If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
+ PcdMaximumUnicodeStringLength ASCII characters not including the
+ Null-terminator, then ASSERT().
+
+ @param Source The pointer to a Null-terminated ASCII string.
+ @param Destination The pointer to a Null-terminated Unicode string.
+
+ @return Destination.
+
+**/
+CHAR16 *
+EFIAPI
+AsciiStrToUnicodeStr (
+ IN CONST CHAR8 *Source,
+ OUT CHAR16 *Destination
+ );
+
+#endif
+
+/**
+ Convert one Null-terminated ASCII string to a Null-terminated
+ Unicode string.
+
+ This function is similar to StrCpyS.
+
+ This function converts the contents of the ASCII string Source to the Unicode
+ string Destination. The function terminates the Unicode string Destination by
+ appending a Null-terminator character at the end.
+
+ The caller is responsible to make sure Destination points to a buffer with size
+ equal or greater than ((AsciiStrLen (Source) + 1) * sizeof (CHAR16)) in bytes.
+
+ If Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then the Destination is unmodified.
+
+ @param Source The pointer to a Null-terminated ASCII string.
+ @param Destination The pointer to a Null-terminated Unicode string.
+ @param DestMax The maximum number of Destination Unicode
+ char, including terminating null char.
+
+ @retval RETURN_SUCCESS String is converted.
+ @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than StrLen(Source).
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If PcdMaximumUnicodeStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumUnicodeStringLength.
+ If PcdMaximumAsciiStringLength is not zero,
+ and DestMax is greater than
+ PcdMaximumAsciiStringLength.
+ If DestMax is 0.
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrToUnicodeStrS (
+ IN CONST CHAR8 *Source,
+ OUT CHAR16 *Destination,
+ IN UINTN DestMax
+ );
+
+/**
+ Convert not more than Length successive characters from a Null-terminated
+ Ascii string to a Null-terminated Unicode string. If no null char is copied
+ from Source, then Destination[Length] is always set to null.
+
+ This function converts not more than Length successive characters from the
+ Ascii string Source to the Unicode string Destination. The function
+ terminates the Unicode string Destination by appending a Null-terminator
+ character at the end.
+
+ The caller is responsible to make sure Destination points to a buffer with
+ size not smaller than
+ ((MIN(AsciiStrLen(Source), Length) + 1) * sizeof (CHAR8)) in bytes.
+
+ If Destination is not aligned on a 16-bit boundary, then ASSERT().
+ If an error would be returned, then the function will also ASSERT().
+
+ If an error is returned, then Destination and DestinationLength are
+ unmodified.
+
+ @param Source The pointer to a Null-terminated Ascii string.
+ @param Length The maximum number of Ascii characters to convert.
+ @param Destination The pointer to a Null-terminated Unicode string.
+ @param DestMax The maximum number of Destination Unicode char,
+ including terminating null char.
+ @param DestinationLength The number of Ascii characters converted.
+
+ @retval RETURN_SUCCESS String is converted.
+ @retval RETURN_INVALID_PARAMETER If Destination is NULL.
+ If Source is NULL.
+ If DestinationLength is NULL.
+ If PcdMaximumUnicodeStringLength is not
+ zero, and Length or DestMax is greater than
+ PcdMaximumUnicodeStringLength.
+ If PcdMaximumAsciiStringLength is not zero,
+ and Length or DestMax is greater than
+ PcdMaximumAsciiStringLength.
+ If DestMax is 0.
+ @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than
+ MIN(AsciiStrLen(Source), Length).
+ @retval RETURN_ACCESS_DENIED If Source and Destination overlap.
+
+**/
+RETURN_STATUS
+EFIAPI
+AsciiStrnToUnicodeStrS (
+ IN CONST CHAR8 *Source,
+ IN UINTN Length,
+ OUT CHAR16 *Destination,
+ IN UINTN DestMax,
+ OUT UINTN *DestinationLength
+ );
+
+/**
+ Converts an 8-bit value to an 8-bit BCD value.
+
+ Converts the 8-bit value specified by Value to BCD. The BCD value is
+ returned.
+
+ If Value >= 100, then ASSERT().
+
+ @param Value The 8-bit value to convert to BCD. Range 0..99.
+
+ @return The BCD value.
+
+**/
+UINT8
+EFIAPI
+DecimalToBcd8 (
+ IN UINT8 Value
+ );
+
+
+/**
+ Converts an 8-bit BCD value to an 8-bit value.
+
+ Converts the 8-bit BCD value specified by Value to an 8-bit value. The 8-bit
+ value is returned.
+
+ If Value >= 0xA0, then ASSERT().
+ If (Value & 0x0F) >= 0x0A, then ASSERT().
+
+ @param Value The 8-bit BCD value to convert to an 8-bit value.
+
+ @return The 8-bit value is returned.
+
+**/
+UINT8
+EFIAPI
+BcdToDecimal8 (
+ IN UINT8 Value
+ );
+
+//
+// File Path Manipulation Functions
+//
+
+/**
+ Removes the last directory or file entry in a path.
+
+ @param[in, out] Path The pointer to the path to modify.
+
+ @retval FALSE Nothing was found to remove.
+ @retval TRUE A directory or file was removed.
+**/
+BOOLEAN
+EFIAPI
+PathRemoveLastItem(
+ IN OUT CHAR16 *Path
+ );
+
+/**
+ Function to clean up paths.
+ - Single periods in the path are removed.
+ - Double periods in the path are removed along with a single parent directory.
+ - Forward slashes L'/' are converted to backward slashes L'\'.
+
+ This will be done inline and the existing buffer may be larger than required
+ upon completion.
+
+ @param[in] Path The pointer to the string containing the path.
+
+ @return Returns Path, otherwise returns NULL to indicate that an error has occurred.
+**/
+CHAR16*
+EFIAPI
+PathCleanUpDirectories(
+ IN CHAR16 *Path
+ );
+
+//
+// Linked List Functions and Macros
+//
+
+/**
+ Initializes the head node of a doubly linked list that is declared as a
+ global variable in a module.
+
+ Initializes the forward and backward links of a new linked list. After
+ initializing a linked list with this macro, the other linked list functions
+ may be used to add and remove nodes from the linked list. This macro results
+ in smaller executables by initializing the linked list in the data section,
+ instead if calling the InitializeListHead() function to perform the
+ equivalent operation.
+
+ @param ListHead The head note of a list to initialize.
+
+**/
+#define INITIALIZE_LIST_HEAD_VARIABLE(ListHead) {&(ListHead), &(ListHead)}
+
+
+/**
+ Initializes the head node of a doubly linked list, and returns the pointer to
+ the head node of the doubly linked list.
+
+ Initializes the forward and backward links of a new linked list. After
+ initializing a linked list with this function, the other linked list
+ functions may be used to add and remove nodes from the linked list. It is up
+ to the caller of this function to allocate the memory for ListHead.
+
+ If ListHead is NULL, then ASSERT().
+
+ @param ListHead A pointer to the head node of a new doubly linked list.
+
+ @return ListHead
+
+**/
+LIST_ENTRY *
+EFIAPI
+InitializeListHead (
+ IN OUT LIST_ENTRY *ListHead
+ );
+
+
+/**
+ Adds a node to the beginning of a doubly linked list, and returns the pointer
+ to the head node of the doubly linked list.
+
+ Adds the node Entry at the beginning of the doubly linked list denoted by
+ ListHead, and returns ListHead.
+
+ If ListHead is NULL, then ASSERT().
+ If Entry is NULL, then ASSERT().
+ If ListHead was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
+ InitializeListHead(), then ASSERT().
+ If PcdMaximumLinkedListLength is not zero, and prior to insertion the number
+ of nodes in ListHead, including the ListHead node, is greater than or
+ equal to PcdMaximumLinkedListLength, then ASSERT().
+
+ @param ListHead A pointer to the head node of a doubly linked list.
+ @param Entry A pointer to a node that is to be inserted at the beginning
+ of a doubly linked list.
+
+ @return ListHead
+
+**/
+LIST_ENTRY *
+EFIAPI
+InsertHeadList (
+ IN OUT LIST_ENTRY *ListHead,
+ IN OUT LIST_ENTRY *Entry
+ );
+
+
+/**
+ Adds a node to the end of a doubly linked list, and returns the pointer to
+ the head node of the doubly linked list.
+
+ Adds the node Entry to the end of the doubly linked list denoted by ListHead,
+ and returns ListHead.
+
+ If ListHead is NULL, then ASSERT().
+ If Entry is NULL, then ASSERT().
+ If ListHead was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
+ InitializeListHead(), then ASSERT().
+ If PcdMaximumLinkedListLength is not zero, and prior to insertion the number
+ of nodes in ListHead, including the ListHead node, is greater than or
+ equal to PcdMaximumLinkedListLength, then ASSERT().
+
+ @param ListHead A pointer to the head node of a doubly linked list.
+ @param Entry A pointer to a node that is to be added at the end of the
+ doubly linked list.
+
+ @return ListHead
+
+**/
+LIST_ENTRY *
+EFIAPI
+InsertTailList (
+ IN OUT LIST_ENTRY *ListHead,
+ IN OUT LIST_ENTRY *Entry
+ );
+
+
+/**
+ Retrieves the first node of a doubly linked list.
+
+ Returns the first node of a doubly linked list. List must have been
+ initialized with INTIALIZE_LIST_HEAD_VARIABLE() or InitializeListHead().
+ If List is empty, then List is returned.
+
+ If List is NULL, then ASSERT().
+ If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
+ InitializeListHead(), then ASSERT().
+ If PcdMaximumLinkedListLength is not zero, and the number of nodes
+ in List, including the List node, is greater than or equal to
+ PcdMaximumLinkedListLength, then ASSERT().
+
+ @param List A pointer to the head node of a doubly linked list.
+
+ @return The first node of a doubly linked list.
+ @retval List The list is empty.
+
+**/
+LIST_ENTRY *
+EFIAPI
+GetFirstNode (
+ IN CONST LIST_ENTRY *List
+ );
+
+
+/**
+ Retrieves the next node of a doubly linked list.
+
+ Returns the node of a doubly linked list that follows Node.
+ List must have been initialized with INTIALIZE_LIST_HEAD_VARIABLE()
+ or InitializeListHead(). If List is empty, then List is returned.
+
+ If List is NULL, then ASSERT().
+ If Node is NULL, then ASSERT().
+ If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
+ InitializeListHead(), then ASSERT().
+ If PcdMaximumLinkedListLength is not zero, and List contains more than
+ PcdMaximumLinkedListLength nodes, then ASSERT().
+ If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
+
+ @param List A pointer to the head node of a doubly linked list.
+ @param Node A pointer to a node in the doubly linked list.
+
+ @return The pointer to the next node if one exists. Otherwise List is returned.
+
+**/
+LIST_ENTRY *
+EFIAPI
+GetNextNode (
+ IN CONST LIST_ENTRY *List,
+ IN CONST LIST_ENTRY *Node
+ );
+
+
+/**
+ Retrieves the previous node of a doubly linked list.
+
+ Returns the node of a doubly linked list that precedes Node.
+ List must have been initialized with INTIALIZE_LIST_HEAD_VARIABLE()
+ or InitializeListHead(). If List is empty, then List is returned.
+
+ If List is NULL, then ASSERT().
+ If Node is NULL, then ASSERT().
+ If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
+ InitializeListHead(), then ASSERT().
+ If PcdMaximumLinkedListLength is not zero, and List contains more than
+ PcdMaximumLinkedListLength nodes, then ASSERT().
+ If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
+
+ @param List A pointer to the head node of a doubly linked list.
+ @param Node A pointer to a node in the doubly linked list.
+
+ @return The pointer to the previous node if one exists. Otherwise List is returned.
+
+**/
+LIST_ENTRY *
+EFIAPI
+GetPreviousNode (
+ IN CONST LIST_ENTRY *List,
+ IN CONST LIST_ENTRY *Node
+ );
+
+
+/**
+ Checks to see if a doubly linked list is empty or not.
+
+ Checks to see if the doubly linked list is empty. If the linked list contains
+ zero nodes, this function returns TRUE. Otherwise, it returns FALSE.
+
+ If ListHead is NULL, then ASSERT().
+ If ListHead was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
+ InitializeListHead(), then ASSERT().
+ If PcdMaximumLinkedListLength is not zero, and the number of nodes
+ in List, including the List node, is greater than or equal to
+ PcdMaximumLinkedListLength, then ASSERT().
+
+ @param ListHead A pointer to the head node of a doubly linked list.
+
+ @retval TRUE The linked list is empty.
+ @retval FALSE The linked list is not empty.
+
+**/
+BOOLEAN
+EFIAPI
+IsListEmpty (
+ IN CONST LIST_ENTRY *ListHead
+ );
+
+
+/**
+ Determines if a node in a doubly linked list is the head node of a the same
+ doubly linked list. This function is typically used to terminate a loop that
+ traverses all the nodes in a doubly linked list starting with the head node.
+
+ Returns TRUE if Node is equal to List. Returns FALSE if Node is one of the
+ nodes in the doubly linked list specified by List. List must have been
+ initialized with INTIALIZE_LIST_HEAD_VARIABLE() or InitializeListHead().
+
+ If List is NULL, then ASSERT().
+ If Node is NULL, then ASSERT().
+ If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or InitializeListHead(),
+ then ASSERT().
+ If PcdMaximumLinkedListLength is not zero, and the number of nodes
+ in List, including the List node, is greater than or equal to
+ PcdMaximumLinkedListLength, then ASSERT().
+ If PcdVerifyNodeInList is TRUE and Node is not a node in List the and Node is not equal
+ to List, then ASSERT().
+
+ @param List A pointer to the head node of a doubly linked list.
+ @param Node A pointer to a node in the doubly linked list.
+
+ @retval TRUE Node is the head of the doubly-linked list pointed by List.
+ @retval FALSE Node is not the head of the doubly-linked list pointed by List.
+
+**/
+BOOLEAN
+EFIAPI
+IsNull (
+ IN CONST LIST_ENTRY *List,
+ IN CONST LIST_ENTRY *Node
+ );
+
+
+/**
+ Determines if a node the last node in a doubly linked list.
+
+ Returns TRUE if Node is the last node in the doubly linked list specified by
+ List. Otherwise, FALSE is returned. List must have been initialized with
+ INTIALIZE_LIST_HEAD_VARIABLE() or InitializeListHead().
+
+ If List is NULL, then ASSERT().
+ If Node is NULL, then ASSERT().
+ If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
+ InitializeListHead(), then ASSERT().
+ If PcdMaximumLinkedListLength is not zero, and the number of nodes
+ in List, including the List node, is greater than or equal to
+ PcdMaximumLinkedListLength, then ASSERT().
+ If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
+
+ @param List A pointer to the head node of a doubly linked list.
+ @param Node A pointer to a node in the doubly linked list.
+
+ @retval TRUE Node is the last node in the linked list.
+ @retval FALSE Node is not the last node in the linked list.
+
+**/
+BOOLEAN
+EFIAPI
+IsNodeAtEnd (
+ IN CONST LIST_ENTRY *List,
+ IN CONST LIST_ENTRY *Node
+ );
+
+
+/**
+ Swaps the location of two nodes in a doubly linked list, and returns the
+ first node after the swap.
+
+ If FirstEntry is identical to SecondEntry, then SecondEntry is returned.
+ Otherwise, the location of the FirstEntry node is swapped with the location
+ of the SecondEntry node in a doubly linked list. SecondEntry must be in the
+ same double linked list as FirstEntry and that double linked list must have
+ been initialized with INTIALIZE_LIST_HEAD_VARIABLE() or InitializeListHead().
+ SecondEntry is returned after the nodes are swapped.
+
+ If FirstEntry is NULL, then ASSERT().
+ If SecondEntry is NULL, then ASSERT().
+ If PcdVerifyNodeInList is TRUE and SecondEntry and FirstEntry are not in the
+ same linked list, then ASSERT().
+ If PcdMaximumLinkedListLength is not zero, and the number of nodes in the
+ linked list containing the FirstEntry and SecondEntry nodes, including
+ the FirstEntry and SecondEntry nodes, is greater than or equal to
+ PcdMaximumLinkedListLength, then ASSERT().
+
+ @param FirstEntry A pointer to a node in a linked list.
+ @param SecondEntry A pointer to another node in the same linked list.
+
+ @return SecondEntry.
+
+**/
+LIST_ENTRY *
+EFIAPI
+SwapListEntries (
+ IN OUT LIST_ENTRY *FirstEntry,
+ IN OUT LIST_ENTRY *SecondEntry
+ );
+
+
+/**
+ Removes a node from a doubly linked list, and returns the node that follows
+ the removed node.
+
+ Removes the node Entry from a doubly linked list. It is up to the caller of
+ this function to release the memory used by this node if that is required. On
+ exit, the node following Entry in the doubly linked list is returned. If
+ Entry is the only node in the linked list, then the head node of the linked
+ list is returned.
+
+ If Entry is NULL, then ASSERT().
+ If Entry is the head node of an empty list, then ASSERT().
+ If PcdMaximumLinkedListLength is not zero, and the number of nodes in the
+ linked list containing Entry, including the Entry node, is greater than
+ or equal to PcdMaximumLinkedListLength, then ASSERT().
+
+ @param Entry A pointer to a node in a linked list.
+
+ @return Entry.
+
+**/
+LIST_ENTRY *
+EFIAPI
+RemoveEntryList (
+ IN CONST LIST_ENTRY *Entry
+ );
+
+//
+// Math Services
+//
+
+/**
+ Shifts a 64-bit integer left between 0 and 63 bits. The low bits are filled
+ with zeros. The shifted value is returned.
+
+ This function shifts the 64-bit value Operand to the left by Count bits. The
+ low Count bits are set to zero. The shifted value is returned.
+
+ If Count is greater than 63, then ASSERT().
+
+ @param Operand The 64-bit operand to shift left.
+ @param Count The number of bits to shift left.
+
+ @return Operand << Count.
+
+**/
+UINT64
+EFIAPI
+LShiftU64 (
+ IN UINT64 Operand,
+ IN UINTN Count
+ );
+
+
+/**
+ Shifts a 64-bit integer right between 0 and 63 bits. This high bits are
+ filled with zeros. The shifted value is returned.
+
+ This function shifts the 64-bit value Operand to the right by Count bits. The
+ high Count bits are set to zero. The shifted value is returned.
+
+ If Count is greater than 63, then ASSERT().
+
+ @param Operand The 64-bit operand to shift right.
+ @param Count The number of bits to shift right.
+
+ @return Operand >> Count
+
+**/
+UINT64
+EFIAPI
+RShiftU64 (
+ IN UINT64 Operand,
+ IN UINTN Count
+ );
+
+
+/**
+ Shifts a 64-bit integer right between 0 and 63 bits. The high bits are filled
+ with original integer's bit 63. The shifted value is returned.
+
+ This function shifts the 64-bit value Operand to the right by Count bits. The
+ high Count bits are set to bit 63 of Operand. The shifted value is returned.
+
+ If Count is greater than 63, then ASSERT().
+
+ @param Operand The 64-bit operand to shift right.
+ @param Count The number of bits to shift right.
+
+ @return Operand >> Count
+
+**/
+UINT64
+EFIAPI
+ARShiftU64 (
+ IN UINT64 Operand,
+ IN UINTN Count
+ );
+
+
+/**
+ Rotates a 32-bit integer left between 0 and 31 bits, filling the low bits
+ with the high bits that were rotated.
+
+ This function rotates the 32-bit value Operand to the left by Count bits. The
+ low Count bits are fill with the high Count bits of Operand. The rotated
+ value is returned.
+
+ If Count is greater than 31, then ASSERT().
+
+ @param Operand The 32-bit operand to rotate left.
+ @param Count The number of bits to rotate left.
+
+ @return Operand << Count
+
+**/
+UINT32
+EFIAPI
+LRotU32 (
+ IN UINT32 Operand,
+ IN UINTN Count
+ );
+
+
+/**
+ Rotates a 32-bit integer right between 0 and 31 bits, filling the high bits
+ with the low bits that were rotated.
+
+ This function rotates the 32-bit value Operand to the right by Count bits.
+ The high Count bits are fill with the low Count bits of Operand. The rotated
+ value is returned.
+
+ If Count is greater than 31, then ASSERT().
+
+ @param Operand The 32-bit operand to rotate right.
+ @param Count The number of bits to rotate right.
+
+ @return Operand >> Count
+
+**/
+UINT32
+EFIAPI
+RRotU32 (
+ IN UINT32 Operand,
+ IN UINTN Count
+ );
+
+
+/**
+ Rotates a 64-bit integer left between 0 and 63 bits, filling the low bits
+ with the high bits that were rotated.
+
+ This function rotates the 64-bit value Operand to the left by Count bits. The
+ low Count bits are fill with the high Count bits of Operand. The rotated
+ value is returned.
+
+ If Count is greater than 63, then ASSERT().
+
+ @param Operand The 64-bit operand to rotate left.
+ @param Count The number of bits to rotate left.
+
+ @return Operand << Count
+
+**/
+UINT64
+EFIAPI
+LRotU64 (
+ IN UINT64 Operand,
+ IN UINTN Count
+ );
+
+
+/**
+ Rotates a 64-bit integer right between 0 and 63 bits, filling the high bits
+ with the high low bits that were rotated.
+
+ This function rotates the 64-bit value Operand to the right by Count bits.
+ The high Count bits are fill with the low Count bits of Operand. The rotated
+ value is returned.
+
+ If Count is greater than 63, then ASSERT().
+
+ @param Operand The 64-bit operand to rotate right.
+ @param Count The number of bits to rotate right.
+
+ @return Operand >> Count
+
+**/
+UINT64
+EFIAPI
+RRotU64 (
+ IN UINT64 Operand,
+ IN UINTN Count
+ );
+
+
+/**
+ Returns the bit position of the lowest bit set in a 32-bit value.
+
+ This function computes the bit position of the lowest bit set in the 32-bit
+ value specified by Operand. If Operand is zero, then -1 is returned.
+ Otherwise, a value between 0 and 31 is returned.
+
+ @param Operand The 32-bit operand to evaluate.
+
+ @retval 0..31 The lowest bit set in Operand was found.
+ @retval -1 Operand is zero.
+
+**/
+INTN
+EFIAPI
+LowBitSet32 (
+ IN UINT32 Operand
+ );
+
+
+/**
+ Returns the bit position of the lowest bit set in a 64-bit value.
+
+ This function computes the bit position of the lowest bit set in the 64-bit
+ value specified by Operand. If Operand is zero, then -1 is returned.
+ Otherwise, a value between 0 and 63 is returned.
+
+ @param Operand The 64-bit operand to evaluate.
+
+ @retval 0..63 The lowest bit set in Operand was found.
+ @retval -1 Operand is zero.
+
+
+**/
+INTN
+EFIAPI
+LowBitSet64 (
+ IN UINT64 Operand
+ );
+
+
+/**
+ Returns the bit position of the highest bit set in a 32-bit value. Equivalent
+ to log2(x).
+
+ This function computes the bit position of the highest bit set in the 32-bit
+ value specified by Operand. If Operand is zero, then -1 is returned.
+ Otherwise, a value between 0 and 31 is returned.
+
+ @param Operand The 32-bit operand to evaluate.
+
+ @retval 0..31 Position of the highest bit set in Operand if found.
+ @retval -1 Operand is zero.
+
+**/
+INTN
+EFIAPI
+HighBitSet32 (
+ IN UINT32 Operand
+ );
+
+
+/**
+ Returns the bit position of the highest bit set in a 64-bit value. Equivalent
+ to log2(x).
+
+ This function computes the bit position of the highest bit set in the 64-bit
+ value specified by Operand. If Operand is zero, then -1 is returned.
+ Otherwise, a value between 0 and 63 is returned.
+
+ @param Operand The 64-bit operand to evaluate.
+
+ @retval 0..63 Position of the highest bit set in Operand if found.
+ @retval -1 Operand is zero.
+
+**/
+INTN
+EFIAPI
+HighBitSet64 (
+ IN UINT64 Operand
+ );
+
+
+/**
+ Returns the value of the highest bit set in a 32-bit value. Equivalent to
+ 1 << log2(x).
+
+ This function computes the value of the highest bit set in the 32-bit value
+ specified by Operand. If Operand is zero, then zero is returned.
+
+ @param Operand The 32-bit operand to evaluate.
+
+ @return 1 << HighBitSet32(Operand)
+ @retval 0 Operand is zero.
+
+**/
+UINT32
+EFIAPI
+GetPowerOfTwo32 (
+ IN UINT32 Operand
+ );
+
+
+/**
+ Returns the value of the highest bit set in a 64-bit value. Equivalent to
+ 1 << log2(x).
+
+ This function computes the value of the highest bit set in the 64-bit value
+ specified by Operand. If Operand is zero, then zero is returned.
+
+ @param Operand The 64-bit operand to evaluate.
+
+ @return 1 << HighBitSet64(Operand)
+ @retval 0 Operand is zero.
+
+**/
+UINT64
+EFIAPI
+GetPowerOfTwo64 (
+ IN UINT64 Operand
+ );
+
+
+/**
+ Switches the endianness of a 16-bit integer.
+
+ This function swaps the bytes in a 16-bit unsigned value to switch the value
+ from little endian to big endian or vice versa. The byte swapped value is
+ returned.
+
+ @param Value A 16-bit unsigned value.
+
+ @return The byte swapped Value.
+
+**/
+UINT16
+EFIAPI
+SwapBytes16 (
+ IN UINT16 Value
+ );
+
+
+/**
+ Switches the endianness of a 32-bit integer.
+
+ This function swaps the bytes in a 32-bit unsigned value to switch the value
+ from little endian to big endian or vice versa. The byte swapped value is
+ returned.
+
+ @param Value A 32-bit unsigned value.
+
+ @return The byte swapped Value.
+
+**/
+UINT32
+EFIAPI
+SwapBytes32 (
+ IN UINT32 Value
+ );
+
+
+/**
+ Switches the endianness of a 64-bit integer.
+
+ This function swaps the bytes in a 64-bit unsigned value to switch the value
+ from little endian to big endian or vice versa. The byte swapped value is
+ returned.
+
+ @param Value A 64-bit unsigned value.
+
+ @return The byte swapped Value.
+
+**/
+UINT64
+EFIAPI
+SwapBytes64 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Multiples a 64-bit unsigned integer by a 32-bit unsigned integer and
+ generates a 64-bit unsigned result.
+
+ This function multiples the 64-bit unsigned value Multiplicand by the 32-bit
+ unsigned value Multiplier and generates a 64-bit unsigned result. This 64-
+ bit unsigned result is returned.
+
+ @param Multiplicand A 64-bit unsigned value.
+ @param Multiplier A 32-bit unsigned value.
+
+ @return Multiplicand * Multiplier
+
+**/
+UINT64
+EFIAPI
+MultU64x32 (
+ IN UINT64 Multiplicand,
+ IN UINT32 Multiplier
+ );
+
+
+/**
+ Multiples a 64-bit unsigned integer by a 64-bit unsigned integer and
+ generates a 64-bit unsigned result.
+
+ This function multiples the 64-bit unsigned value Multiplicand by the 64-bit
+ unsigned value Multiplier and generates a 64-bit unsigned result. This 64-
+ bit unsigned result is returned.
+
+ @param Multiplicand A 64-bit unsigned value.
+ @param Multiplier A 64-bit unsigned value.
+
+ @return Multiplicand * Multiplier.
+
+**/
+UINT64
+EFIAPI
+MultU64x64 (
+ IN UINT64 Multiplicand,
+ IN UINT64 Multiplier
+ );
+
+
+/**
+ Multiples a 64-bit signed integer by a 64-bit signed integer and generates a
+ 64-bit signed result.
+
+ This function multiples the 64-bit signed value Multiplicand by the 64-bit
+ signed value Multiplier and generates a 64-bit signed result. This 64-bit
+ signed result is returned.
+
+ @param Multiplicand A 64-bit signed value.
+ @param Multiplier A 64-bit signed value.
+
+ @return Multiplicand * Multiplier
+
+**/
+INT64
+EFIAPI
+MultS64x64 (
+ IN INT64 Multiplicand,
+ IN INT64 Multiplier
+ );
+
+
+/**
+ Divides a 64-bit unsigned integer by a 32-bit unsigned integer and generates
+ a 64-bit unsigned result.
+
+ This function divides the 64-bit unsigned value Dividend by the 32-bit
+ unsigned value Divisor and generates a 64-bit unsigned quotient. This
+ function returns the 64-bit unsigned quotient.
+
+ If Divisor is 0, then ASSERT().
+
+ @param Dividend A 64-bit unsigned value.
+ @param Divisor A 32-bit unsigned value.
+
+ @return Dividend / Divisor.
+
+**/
+UINT64
+EFIAPI
+DivU64x32 (
+ IN UINT64 Dividend,
+ IN UINT32 Divisor
+ );
+
+
+/**
+ Divides a 64-bit unsigned integer by a 32-bit unsigned integer and generates
+ a 32-bit unsigned remainder.
+
+ This function divides the 64-bit unsigned value Dividend by the 32-bit
+ unsigned value Divisor and generates a 32-bit remainder. This function
+ returns the 32-bit unsigned remainder.
+
+ If Divisor is 0, then ASSERT().
+
+ @param Dividend A 64-bit unsigned value.
+ @param Divisor A 32-bit unsigned value.
+
+ @return Dividend % Divisor.
+
+**/
+UINT32
+EFIAPI
+ModU64x32 (
+ IN UINT64 Dividend,
+ IN UINT32 Divisor
+ );
+
+
+/**
+ Divides a 64-bit unsigned integer by a 32-bit unsigned integer and generates
+ a 64-bit unsigned result and an optional 32-bit unsigned remainder.
+
+ This function divides the 64-bit unsigned value Dividend by the 32-bit
+ unsigned value Divisor and generates a 64-bit unsigned quotient. If Remainder
+ is not NULL, then the 32-bit unsigned remainder is returned in Remainder.
+ This function returns the 64-bit unsigned quotient.
+
+ If Divisor is 0, then ASSERT().
+
+ @param Dividend A 64-bit unsigned value.
+ @param Divisor A 32-bit unsigned value.
+ @param Remainder A pointer to a 32-bit unsigned value. This parameter is
+ optional and may be NULL.
+
+ @return Dividend / Divisor.
+
+**/
+UINT64
+EFIAPI
+DivU64x32Remainder (
+ IN UINT64 Dividend,
+ IN UINT32 Divisor,
+ OUT UINT32 *Remainder OPTIONAL
+ );
+
+
+/**
+ Divides a 64-bit unsigned integer by a 64-bit unsigned integer and generates
+ a 64-bit unsigned result and an optional 64-bit unsigned remainder.
+
+ This function divides the 64-bit unsigned value Dividend by the 64-bit
+ unsigned value Divisor and generates a 64-bit unsigned quotient. If Remainder
+ is not NULL, then the 64-bit unsigned remainder is returned in Remainder.
+ This function returns the 64-bit unsigned quotient.
+
+ If Divisor is 0, then ASSERT().
+
+ @param Dividend A 64-bit unsigned value.
+ @param Divisor A 64-bit unsigned value.
+ @param Remainder A pointer to a 64-bit unsigned value. This parameter is
+ optional and may be NULL.
+
+ @return Dividend / Divisor.
+
+**/
+UINT64
+EFIAPI
+DivU64x64Remainder (
+ IN UINT64 Dividend,
+ IN UINT64 Divisor,
+ OUT UINT64 *Remainder OPTIONAL
+ );
+
+
+/**
+ Divides a 64-bit signed integer by a 64-bit signed integer and generates a
+ 64-bit signed result and a optional 64-bit signed remainder.
+
+ This function divides the 64-bit signed value Dividend by the 64-bit signed
+ value Divisor and generates a 64-bit signed quotient. If Remainder is not
+ NULL, then the 64-bit signed remainder is returned in Remainder. This
+ function returns the 64-bit signed quotient.
+
+ It is the caller's responsibility to not call this function with a Divisor of 0.
+ If Divisor is 0, then the quotient and remainder should be assumed to be
+ the largest negative integer.
+
+ If Divisor is 0, then ASSERT().
+
+ @param Dividend A 64-bit signed value.
+ @param Divisor A 64-bit signed value.
+ @param Remainder A pointer to a 64-bit signed value. This parameter is
+ optional and may be NULL.
+
+ @return Dividend / Divisor.
+
+**/
+INT64
+EFIAPI
+DivS64x64Remainder (
+ IN INT64 Dividend,
+ IN INT64 Divisor,
+ OUT INT64 *Remainder OPTIONAL
+ );
+
+
+/**
+ Reads a 16-bit value from memory that may be unaligned.
+
+ This function returns the 16-bit value pointed to by Buffer. The function
+ guarantees that the read operation does not produce an alignment fault.
+
+ If the Buffer is NULL, then ASSERT().
+
+ @param Buffer The pointer to a 16-bit value that may be unaligned.
+
+ @return The 16-bit value read from Buffer.
+
+**/
+UINT16
+EFIAPI
+ReadUnaligned16 (
+ IN CONST UINT16 *Buffer
+ );
+
+
+/**
+ Writes a 16-bit value to memory that may be unaligned.
+
+ This function writes the 16-bit value specified by Value to Buffer. Value is
+ returned. The function guarantees that the write operation does not produce
+ an alignment fault.
+
+ If the Buffer is NULL, then ASSERT().
+
+ @param Buffer The pointer to a 16-bit value that may be unaligned.
+ @param Value 16-bit value to write to Buffer.
+
+ @return The 16-bit value to write to Buffer.
+
+**/
+UINT16
+EFIAPI
+WriteUnaligned16 (
+ OUT UINT16 *Buffer,
+ IN UINT16 Value
+ );
+
+
+/**
+ Reads a 24-bit value from memory that may be unaligned.
+
+ This function returns the 24-bit value pointed to by Buffer. The function
+ guarantees that the read operation does not produce an alignment fault.
+
+ If the Buffer is NULL, then ASSERT().
+
+ @param Buffer The pointer to a 24-bit value that may be unaligned.
+
+ @return The 24-bit value read from Buffer.
+
+**/
+UINT32
+EFIAPI
+ReadUnaligned24 (
+ IN CONST UINT32 *Buffer
+ );
+
+
+/**
+ Writes a 24-bit value to memory that may be unaligned.
+
+ This function writes the 24-bit value specified by Value to Buffer. Value is
+ returned. The function guarantees that the write operation does not produce
+ an alignment fault.
+
+ If the Buffer is NULL, then ASSERT().
+
+ @param Buffer The pointer to a 24-bit value that may be unaligned.
+ @param Value 24-bit value to write to Buffer.
+
+ @return The 24-bit value to write to Buffer.
+
+**/
+UINT32
+EFIAPI
+WriteUnaligned24 (
+ OUT UINT32 *Buffer,
+ IN UINT32 Value
+ );
+
+
+/**
+ Reads a 32-bit value from memory that may be unaligned.
+
+ This function returns the 32-bit value pointed to by Buffer. The function
+ guarantees that the read operation does not produce an alignment fault.
+
+ If the Buffer is NULL, then ASSERT().
+
+ @param Buffer The pointer to a 32-bit value that may be unaligned.
+
+ @return The 32-bit value read from Buffer.
+
+**/
+UINT32
+EFIAPI
+ReadUnaligned32 (
+ IN CONST UINT32 *Buffer
+ );
+
+
+/**
+ Writes a 32-bit value to memory that may be unaligned.
+
+ This function writes the 32-bit value specified by Value to Buffer. Value is
+ returned. The function guarantees that the write operation does not produce
+ an alignment fault.
+
+ If the Buffer is NULL, then ASSERT().
+
+ @param Buffer The pointer to a 32-bit value that may be unaligned.
+ @param Value 32-bit value to write to Buffer.
+
+ @return The 32-bit value to write to Buffer.
+
+**/
+UINT32
+EFIAPI
+WriteUnaligned32 (
+ OUT UINT32 *Buffer,
+ IN UINT32 Value
+ );
+
+
+/**
+ Reads a 64-bit value from memory that may be unaligned.
+
+ This function returns the 64-bit value pointed to by Buffer. The function
+ guarantees that the read operation does not produce an alignment fault.
+
+ If the Buffer is NULL, then ASSERT().
+
+ @param Buffer The pointer to a 64-bit value that may be unaligned.
+
+ @return The 64-bit value read from Buffer.
+
+**/
+UINT64
+EFIAPI
+ReadUnaligned64 (
+ IN CONST UINT64 *Buffer
+ );
+
+
+/**
+ Writes a 64-bit value to memory that may be unaligned.
+
+ This function writes the 64-bit value specified by Value to Buffer. Value is
+ returned. The function guarantees that the write operation does not produce
+ an alignment fault.
+
+ If the Buffer is NULL, then ASSERT().
+
+ @param Buffer The pointer to a 64-bit value that may be unaligned.
+ @param Value 64-bit value to write to Buffer.
+
+ @return The 64-bit value to write to Buffer.
+
+**/
+UINT64
+EFIAPI
+WriteUnaligned64 (
+ OUT UINT64 *Buffer,
+ IN UINT64 Value
+ );
+
+
+//
+// Bit Field Functions
+//
+
+/**
+ Returns a bit field from an 8-bit value.
+
+ Returns the bitfield specified by the StartBit and the EndBit from Operand.
+
+ If 8-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 7, then ASSERT().
+ If EndBit is greater than 7, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..7.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..7.
+
+ @return The bit field read.
+
+**/
+UINT8
+EFIAPI
+BitFieldRead8 (
+ IN UINT8 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit
+ );
+
+
+/**
+ Writes a bit field to an 8-bit value, and returns the result.
+
+ Writes Value to the bit field specified by the StartBit and the EndBit in
+ Operand. All other bits in Operand are preserved. The new 8-bit value is
+ returned.
+
+ If 8-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 7, then ASSERT().
+ If EndBit is greater than 7, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..7.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..7.
+ @param Value New value of the bit field.
+
+ @return The new 8-bit value.
+
+**/
+UINT8
+EFIAPI
+BitFieldWrite8 (
+ IN UINT8 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT8 Value
+ );
+
+
+/**
+ Reads a bit field from an 8-bit value, performs a bitwise OR, and returns the
+ result.
+
+ Performs a bitwise OR between the bit field specified by StartBit
+ and EndBit in Operand and the value specified by OrData. All other bits in
+ Operand are preserved. The new 8-bit value is returned.
+
+ If 8-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 7, then ASSERT().
+ If EndBit is greater than 7, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..7.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..7.
+ @param OrData The value to OR with the read value from the value
+
+ @return The new 8-bit value.
+
+**/
+UINT8
+EFIAPI
+BitFieldOr8 (
+ IN UINT8 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT8 OrData
+ );
+
+
+/**
+ Reads a bit field from an 8-bit value, performs a bitwise AND, and returns
+ the result.
+
+ Performs a bitwise AND between the bit field specified by StartBit and EndBit
+ in Operand and the value specified by AndData. All other bits in Operand are
+ preserved. The new 8-bit value is returned.
+
+ If 8-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 7, then ASSERT().
+ If EndBit is greater than 7, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..7.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..7.
+ @param AndData The value to AND with the read value from the value.
+
+ @return The new 8-bit value.
+
+**/
+UINT8
+EFIAPI
+BitFieldAnd8 (
+ IN UINT8 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT8 AndData
+ );
+
+
+/**
+ Reads a bit field from an 8-bit value, performs a bitwise AND followed by a
+ bitwise OR, and returns the result.
+
+ Performs a bitwise AND between the bit field specified by StartBit and EndBit
+ in Operand and the value specified by AndData, followed by a bitwise
+ OR with value specified by OrData. All other bits in Operand are
+ preserved. The new 8-bit value is returned.
+
+ If 8-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 7, then ASSERT().
+ If EndBit is greater than 7, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..7.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..7.
+ @param AndData The value to AND with the read value from the value.
+ @param OrData The value to OR with the result of the AND operation.
+
+ @return The new 8-bit value.
+
+**/
+UINT8
+EFIAPI
+BitFieldAndThenOr8 (
+ IN UINT8 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT8 AndData,
+ IN UINT8 OrData
+ );
+
+
+/**
+ Returns a bit field from a 16-bit value.
+
+ Returns the bitfield specified by the StartBit and the EndBit from Operand.
+
+ If 16-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 15, then ASSERT().
+ If EndBit is greater than 15, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..15.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..15.
+
+ @return The bit field read.
+
+**/
+UINT16
+EFIAPI
+BitFieldRead16 (
+ IN UINT16 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit
+ );
+
+
+/**
+ Writes a bit field to a 16-bit value, and returns the result.
+
+ Writes Value to the bit field specified by the StartBit and the EndBit in
+ Operand. All other bits in Operand are preserved. The new 16-bit value is
+ returned.
+
+ If 16-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 15, then ASSERT().
+ If EndBit is greater than 15, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..15.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..15.
+ @param Value New value of the bit field.
+
+ @return The new 16-bit value.
+
+**/
+UINT16
+EFIAPI
+BitFieldWrite16 (
+ IN UINT16 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT16 Value
+ );
+
+
+/**
+ Reads a bit field from a 16-bit value, performs a bitwise OR, and returns the
+ result.
+
+ Performs a bitwise OR between the bit field specified by StartBit
+ and EndBit in Operand and the value specified by OrData. All other bits in
+ Operand are preserved. The new 16-bit value is returned.
+
+ If 16-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 15, then ASSERT().
+ If EndBit is greater than 15, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..15.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..15.
+ @param OrData The value to OR with the read value from the value
+
+ @return The new 16-bit value.
+
+**/
+UINT16
+EFIAPI
+BitFieldOr16 (
+ IN UINT16 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT16 OrData
+ );
+
+
+/**
+ Reads a bit field from a 16-bit value, performs a bitwise AND, and returns
+ the result.
+
+ Performs a bitwise AND between the bit field specified by StartBit and EndBit
+ in Operand and the value specified by AndData. All other bits in Operand are
+ preserved. The new 16-bit value is returned.
+
+ If 16-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 15, then ASSERT().
+ If EndBit is greater than 15, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..15.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..15.
+ @param AndData The value to AND with the read value from the value
+
+ @return The new 16-bit value.
+
+**/
+UINT16
+EFIAPI
+BitFieldAnd16 (
+ IN UINT16 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT16 AndData
+ );
+
+
+/**
+ Reads a bit field from a 16-bit value, performs a bitwise AND followed by a
+ bitwise OR, and returns the result.
+
+ Performs a bitwise AND between the bit field specified by StartBit and EndBit
+ in Operand and the value specified by AndData, followed by a bitwise
+ OR with value specified by OrData. All other bits in Operand are
+ preserved. The new 16-bit value is returned.
+
+ If 16-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 15, then ASSERT().
+ If EndBit is greater than 15, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..15.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..15.
+ @param AndData The value to AND with the read value from the value.
+ @param OrData The value to OR with the result of the AND operation.
+
+ @return The new 16-bit value.
+
+**/
+UINT16
+EFIAPI
+BitFieldAndThenOr16 (
+ IN UINT16 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT16 AndData,
+ IN UINT16 OrData
+ );
+
+
+/**
+ Returns a bit field from a 32-bit value.
+
+ Returns the bitfield specified by the StartBit and the EndBit from Operand.
+
+ If 32-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 31, then ASSERT().
+ If EndBit is greater than 31, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..31.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..31.
+
+ @return The bit field read.
+
+**/
+UINT32
+EFIAPI
+BitFieldRead32 (
+ IN UINT32 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit
+ );
+
+
+/**
+ Writes a bit field to a 32-bit value, and returns the result.
+
+ Writes Value to the bit field specified by the StartBit and the EndBit in
+ Operand. All other bits in Operand are preserved. The new 32-bit value is
+ returned.
+
+ If 32-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 31, then ASSERT().
+ If EndBit is greater than 31, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..31.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..31.
+ @param Value New value of the bit field.
+
+ @return The new 32-bit value.
+
+**/
+UINT32
+EFIAPI
+BitFieldWrite32 (
+ IN UINT32 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT32 Value
+ );
+
+
+/**
+ Reads a bit field from a 32-bit value, performs a bitwise OR, and returns the
+ result.
+
+ Performs a bitwise OR between the bit field specified by StartBit
+ and EndBit in Operand and the value specified by OrData. All other bits in
+ Operand are preserved. The new 32-bit value is returned.
+
+ If 32-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 31, then ASSERT().
+ If EndBit is greater than 31, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..31.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..31.
+ @param OrData The value to OR with the read value from the value.
+
+ @return The new 32-bit value.
+
+**/
+UINT32
+EFIAPI
+BitFieldOr32 (
+ IN UINT32 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT32 OrData
+ );
+
+
+/**
+ Reads a bit field from a 32-bit value, performs a bitwise AND, and returns
+ the result.
+
+ Performs a bitwise AND between the bit field specified by StartBit and EndBit
+ in Operand and the value specified by AndData. All other bits in Operand are
+ preserved. The new 32-bit value is returned.
+
+ If 32-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 31, then ASSERT().
+ If EndBit is greater than 31, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..31.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..31.
+ @param AndData The value to AND with the read value from the value
+
+ @return The new 32-bit value.
+
+**/
+UINT32
+EFIAPI
+BitFieldAnd32 (
+ IN UINT32 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT32 AndData
+ );
+
+
+/**
+ Reads a bit field from a 32-bit value, performs a bitwise AND followed by a
+ bitwise OR, and returns the result.
+
+ Performs a bitwise AND between the bit field specified by StartBit and EndBit
+ in Operand and the value specified by AndData, followed by a bitwise
+ OR with value specified by OrData. All other bits in Operand are
+ preserved. The new 32-bit value is returned.
+
+ If 32-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 31, then ASSERT().
+ If EndBit is greater than 31, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..31.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..31.
+ @param AndData The value to AND with the read value from the value.
+ @param OrData The value to OR with the result of the AND operation.
+
+ @return The new 32-bit value.
+
+**/
+UINT32
+EFIAPI
+BitFieldAndThenOr32 (
+ IN UINT32 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT32 AndData,
+ IN UINT32 OrData
+ );
+
+
+/**
+ Returns a bit field from a 64-bit value.
+
+ Returns the bitfield specified by the StartBit and the EndBit from Operand.
+
+ If 64-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 63, then ASSERT().
+ If EndBit is greater than 63, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..63.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..63.
+
+ @return The bit field read.
+
+**/
+UINT64
+EFIAPI
+BitFieldRead64 (
+ IN UINT64 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit
+ );
+
+
+/**
+ Writes a bit field to a 64-bit value, and returns the result.
+
+ Writes Value to the bit field specified by the StartBit and the EndBit in
+ Operand. All other bits in Operand are preserved. The new 64-bit value is
+ returned.
+
+ If 64-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 63, then ASSERT().
+ If EndBit is greater than 63, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..63.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..63.
+ @param Value New value of the bit field.
+
+ @return The new 64-bit value.
+
+**/
+UINT64
+EFIAPI
+BitFieldWrite64 (
+ IN UINT64 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads a bit field from a 64-bit value, performs a bitwise OR, and returns the
+ result.
+
+ Performs a bitwise OR between the bit field specified by StartBit
+ and EndBit in Operand and the value specified by OrData. All other bits in
+ Operand are preserved. The new 64-bit value is returned.
+
+ If 64-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 63, then ASSERT().
+ If EndBit is greater than 63, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..63.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..63.
+ @param OrData The value to OR with the read value from the value
+
+ @return The new 64-bit value.
+
+**/
+UINT64
+EFIAPI
+BitFieldOr64 (
+ IN UINT64 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT64 OrData
+ );
+
+
+/**
+ Reads a bit field from a 64-bit value, performs a bitwise AND, and returns
+ the result.
+
+ Performs a bitwise AND between the bit field specified by StartBit and EndBit
+ in Operand and the value specified by AndData. All other bits in Operand are
+ preserved. The new 64-bit value is returned.
+
+ If 64-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 63, then ASSERT().
+ If EndBit is greater than 63, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..63.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..63.
+ @param AndData The value to AND with the read value from the value
+
+ @return The new 64-bit value.
+
+**/
+UINT64
+EFIAPI
+BitFieldAnd64 (
+ IN UINT64 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT64 AndData
+ );
+
+
+/**
+ Reads a bit field from a 64-bit value, performs a bitwise AND followed by a
+ bitwise OR, and returns the result.
+
+ Performs a bitwise AND between the bit field specified by StartBit and EndBit
+ in Operand and the value specified by AndData, followed by a bitwise
+ OR with value specified by OrData. All other bits in Operand are
+ preserved. The new 64-bit value is returned.
+
+ If 64-bit operations are not supported, then ASSERT().
+ If StartBit is greater than 63, then ASSERT().
+ If EndBit is greater than 63, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Operand Operand on which to perform the bitfield operation.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..63.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..63.
+ @param AndData The value to AND with the read value from the value.
+ @param OrData The value to OR with the result of the AND operation.
+
+ @return The new 64-bit value.
+
+**/
+UINT64
+EFIAPI
+BitFieldAndThenOr64 (
+ IN UINT64 Operand,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT64 AndData,
+ IN UINT64 OrData
+ );
+
+//
+// Base Library Checksum Functions
+//
+
+/**
+ Returns the sum of all elements in a buffer in unit of UINT8.
+ During calculation, the carry bits are dropped.
+
+ This function calculates the sum of all elements in a buffer
+ in unit of UINT8. The carry bits in result of addition are dropped.
+ The result is returned as UINT8. If Length is Zero, then Zero is
+ returned.
+
+ If Buffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the buffer to carry out the sum operation.
+ @param Length The size, in bytes, of Buffer.
+
+ @return Sum The sum of Buffer with carry bits dropped during additions.
+
+**/
+UINT8
+EFIAPI
+CalculateSum8 (
+ IN CONST UINT8 *Buffer,
+ IN UINTN Length
+ );
+
+
+/**
+ Returns the two's complement checksum of all elements in a buffer
+ of 8-bit values.
+
+ This function first calculates the sum of the 8-bit values in the
+ buffer specified by Buffer and Length. The carry bits in the result
+ of addition are dropped. Then, the two's complement of the sum is
+ returned. If Length is 0, then 0 is returned.
+
+ If Buffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the buffer to carry out the checksum operation.
+ @param Length The size, in bytes, of Buffer.
+
+ @return Checksum The two's complement checksum of Buffer.
+
+**/
+UINT8
+EFIAPI
+CalculateCheckSum8 (
+ IN CONST UINT8 *Buffer,
+ IN UINTN Length
+ );
+
+
+/**
+ Returns the sum of all elements in a buffer of 16-bit values. During
+ calculation, the carry bits are dropped.
+
+ This function calculates the sum of the 16-bit values in the buffer
+ specified by Buffer and Length. The carry bits in result of addition are dropped.
+ The 16-bit result is returned. If Length is 0, then 0 is returned.
+
+ If Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 16-bit boundary, then ASSERT().
+ If Length is not aligned on a 16-bit boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the buffer to carry out the sum operation.
+ @param Length The size, in bytes, of Buffer.
+
+ @return Sum The sum of Buffer with carry bits dropped during additions.
+
+**/
+UINT16
+EFIAPI
+CalculateSum16 (
+ IN CONST UINT16 *Buffer,
+ IN UINTN Length
+ );
+
+
+/**
+ Returns the two's complement checksum of all elements in a buffer of
+ 16-bit values.
+
+ This function first calculates the sum of the 16-bit values in the buffer
+ specified by Buffer and Length. The carry bits in the result of addition
+ are dropped. Then, the two's complement of the sum is returned. If Length
+ is 0, then 0 is returned.
+
+ If Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 16-bit boundary, then ASSERT().
+ If Length is not aligned on a 16-bit boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the buffer to carry out the checksum operation.
+ @param Length The size, in bytes, of Buffer.
+
+ @return Checksum The two's complement checksum of Buffer.
+
+**/
+UINT16
+EFIAPI
+CalculateCheckSum16 (
+ IN CONST UINT16 *Buffer,
+ IN UINTN Length
+ );
+
+
+/**
+ Returns the sum of all elements in a buffer of 32-bit values. During
+ calculation, the carry bits are dropped.
+
+ This function calculates the sum of the 32-bit values in the buffer
+ specified by Buffer and Length. The carry bits in result of addition are dropped.
+ The 32-bit result is returned. If Length is 0, then 0 is returned.
+
+ If Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 32-bit boundary, then ASSERT().
+ If Length is not aligned on a 32-bit boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the buffer to carry out the sum operation.
+ @param Length The size, in bytes, of Buffer.
+
+ @return Sum The sum of Buffer with carry bits dropped during additions.
+
+**/
+UINT32
+EFIAPI
+CalculateSum32 (
+ IN CONST UINT32 *Buffer,
+ IN UINTN Length
+ );
+
+
+/**
+ Returns the two's complement checksum of all elements in a buffer of
+ 32-bit values.
+
+ This function first calculates the sum of the 32-bit values in the buffer
+ specified by Buffer and Length. The carry bits in the result of addition
+ are dropped. Then, the two's complement of the sum is returned. If Length
+ is 0, then 0 is returned.
+
+ If Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 32-bit boundary, then ASSERT().
+ If Length is not aligned on a 32-bit boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the buffer to carry out the checksum operation.
+ @param Length The size, in bytes, of Buffer.
+
+ @return Checksum The two's complement checksum of Buffer.
+
+**/
+UINT32
+EFIAPI
+CalculateCheckSum32 (
+ IN CONST UINT32 *Buffer,
+ IN UINTN Length
+ );
+
+
+/**
+ Returns the sum of all elements in a buffer of 64-bit values. During
+ calculation, the carry bits are dropped.
+
+ This function calculates the sum of the 64-bit values in the buffer
+ specified by Buffer and Length. The carry bits in result of addition are dropped.
+ The 64-bit result is returned. If Length is 0, then 0 is returned.
+
+ If Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 64-bit boundary, then ASSERT().
+ If Length is not aligned on a 64-bit boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the buffer to carry out the sum operation.
+ @param Length The size, in bytes, of Buffer.
+
+ @return Sum The sum of Buffer with carry bits dropped during additions.
+
+**/
+UINT64
+EFIAPI
+CalculateSum64 (
+ IN CONST UINT64 *Buffer,
+ IN UINTN Length
+ );
+
+
+/**
+ Returns the two's complement checksum of all elements in a buffer of
+ 64-bit values.
+
+ This function first calculates the sum of the 64-bit values in the buffer
+ specified by Buffer and Length. The carry bits in the result of addition
+ are dropped. Then, the two's complement of the sum is returned. If Length
+ is 0, then 0 is returned.
+
+ If Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 64-bit boundary, then ASSERT().
+ If Length is not aligned on a 64-bit boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the buffer to carry out the checksum operation.
+ @param Length The size, in bytes, of Buffer.
+
+ @return Checksum The two's complement checksum of Buffer.
+
+**/
+UINT64
+EFIAPI
+CalculateCheckSum64 (
+ IN CONST UINT64 *Buffer,
+ IN UINTN Length
+ );
+
+
+//
+// Base Library CPU Functions
+//
+
+/**
+ Function entry point used when a stack switch is requested with SwitchStack()
+
+ @param Context1 Context1 parameter passed into SwitchStack().
+ @param Context2 Context2 parameter passed into SwitchStack().
+
+**/
+typedef
+VOID
+(EFIAPI *SWITCH_STACK_ENTRY_POINT)(
+ IN VOID *Context1, OPTIONAL
+ IN VOID *Context2 OPTIONAL
+ );
+
+
+/**
+ Used to serialize load and store operations.
+
+ All loads and stores that proceed calls to this function are guaranteed to be
+ globally visible when this function returns.
+
+**/
+VOID
+EFIAPI
+MemoryFence (
+ VOID
+ );
+
+
+/**
+ Saves the current CPU context that can be restored with a call to LongJump()
+ and returns 0.
+
+ Saves the current CPU context in the buffer specified by JumpBuffer and
+ returns 0. The initial call to SetJump() must always return 0. Subsequent
+ calls to LongJump() cause a non-zero value to be returned by SetJump().
+
+ If JumpBuffer is NULL, then ASSERT().
+ For Itanium processors, if JumpBuffer is not aligned on a 16-byte boundary, then ASSERT().
+
+ NOTE: The structure BASE_LIBRARY_JUMP_BUFFER is CPU architecture specific.
+ The same structure must never be used for more than one CPU architecture context.
+ For example, a BASE_LIBRARY_JUMP_BUFFER allocated by an IA-32 module must never be used from an x64 module.
+ SetJump()/LongJump() is not currently supported for the EBC processor type.
+
+ @param JumpBuffer A pointer to CPU context buffer.
+
+ @retval 0 Indicates a return from SetJump().
+
+**/
+UINTN
+EFIAPI
+SetJump (
+ OUT BASE_LIBRARY_JUMP_BUFFER *JumpBuffer
+ );
+
+
+/**
+ Restores the CPU context that was saved with SetJump().
+
+ Restores the CPU context from the buffer specified by JumpBuffer. This
+ function never returns to the caller. Instead is resumes execution based on
+ the state of JumpBuffer.
+
+ If JumpBuffer is NULL, then ASSERT().
+ For Itanium processors, if JumpBuffer is not aligned on a 16-byte boundary, then ASSERT().
+ If Value is 0, then ASSERT().
+
+ @param JumpBuffer A pointer to CPU context buffer.
+ @param Value The value to return when the SetJump() context is
+ restored and must be non-zero.
+
+**/
+VOID
+EFIAPI
+LongJump (
+ IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer,
+ IN UINTN Value
+ );
+
+
+/**
+ Enables CPU interrupts.
+
+**/
+VOID
+EFIAPI
+EnableInterrupts (
+ VOID
+ );
+
+
+/**
+ Disables CPU interrupts.
+
+**/
+VOID
+EFIAPI
+DisableInterrupts (
+ VOID
+ );
+
+
+/**
+ Disables CPU interrupts and returns the interrupt state prior to the disable
+ operation.
+
+ @retval TRUE CPU interrupts were enabled on entry to this call.
+ @retval FALSE CPU interrupts were disabled on entry to this call.
+
+**/
+BOOLEAN
+EFIAPI
+SaveAndDisableInterrupts (
+ VOID
+ );
+
+
+/**
+ Enables CPU interrupts for the smallest window required to capture any
+ pending interrupts.
+
+**/
+VOID
+EFIAPI
+EnableDisableInterrupts (
+ VOID
+ );
+
+
+/**
+ Retrieves the current CPU interrupt state.
+
+ Returns TRUE if interrupts are currently enabled. Otherwise
+ returns FALSE.
+
+ @retval TRUE CPU interrupts are enabled.
+ @retval FALSE CPU interrupts are disabled.
+
+**/
+BOOLEAN
+EFIAPI
+GetInterruptState (
+ VOID
+ );
+
+
+/**
+ Set the current CPU interrupt state.
+
+ Sets the current CPU interrupt state to the state specified by
+ InterruptState. If InterruptState is TRUE, then interrupts are enabled. If
+ InterruptState is FALSE, then interrupts are disabled. InterruptState is
+ returned.
+
+ @param InterruptState TRUE if interrupts should enabled. FALSE if
+ interrupts should be disabled.
+
+ @return InterruptState
+
+**/
+BOOLEAN
+EFIAPI
+SetInterruptState (
+ IN BOOLEAN InterruptState
+ );
+
+
+/**
+ Requests CPU to pause for a short period of time.
+
+ Requests CPU to pause for a short period of time. Typically used in MP
+ systems to prevent memory starvation while waiting for a spin lock.
+
+**/
+VOID
+EFIAPI
+CpuPause (
+ VOID
+ );
+
+
+/**
+ Transfers control to a function starting with a new stack.
+
+ Transfers control to the function specified by EntryPoint using the
+ new stack specified by NewStack and passing in the parameters specified
+ by Context1 and Context2. Context1 and Context2 are optional and may
+ be NULL. The function EntryPoint must never return. This function
+ supports a variable number of arguments following the NewStack parameter.
+ These additional arguments are ignored on IA-32, x64, and EBC architectures.
+ Itanium processors expect one additional parameter of type VOID * that specifies
+ the new backing store pointer.
+
+ If EntryPoint is NULL, then ASSERT().
+ If NewStack is NULL, then ASSERT().
+
+ @param EntryPoint A pointer to function to call with the new stack.
+ @param Context1 A pointer to the context to pass into the EntryPoint
+ function.
+ @param Context2 A pointer to the context to pass into the EntryPoint
+ function.
+ @param NewStack A pointer to the new stack to use for the EntryPoint
+ function.
+ @param ... This variable argument list is ignored for IA-32, x64, and
+ EBC architectures. For Itanium processors, this variable
+ argument list is expected to contain a single parameter of
+ type VOID * that specifies the new backing store pointer.
+
+
+**/
+VOID
+EFIAPI
+SwitchStack (
+ IN SWITCH_STACK_ENTRY_POINT EntryPoint,
+ IN VOID *Context1, OPTIONAL
+ IN VOID *Context2, OPTIONAL
+ IN VOID *NewStack,
+ ...
+ );
+
+
+/**
+ Generates a breakpoint on the CPU.
+
+ Generates a breakpoint on the CPU. The breakpoint must be implemented such
+ that code can resume normal execution after the breakpoint.
+
+**/
+VOID
+EFIAPI
+CpuBreakpoint (
+ VOID
+ );
+
+
+/**
+ Executes an infinite loop.
+
+ Forces the CPU to execute an infinite loop. A debugger may be used to skip
+ past the loop and the code that follows the loop must execute properly. This
+ implies that the infinite loop must not cause the code that follow it to be
+ optimized away.
+
+**/
+VOID
+EFIAPI
+CpuDeadLoop (
+ VOID
+ );
+
+#if defined (MDE_CPU_IPF)
+
+/**
+ Flush a range of cache lines in the cache coherency domain of the calling
+ CPU.
+
+ Flushes the cache lines specified by Address and Length. If Address is not aligned
+ on a cache line boundary, then entire cache line containing Address is flushed.
+ If Address + Length is not aligned on a cache line boundary, then the entire cache
+ line containing Address + Length - 1 is flushed. This function may choose to flush
+ the entire cache if that is more efficient than flushing the specified range. If
+ Length is 0, the no cache lines are flushed. Address is returned.
+ This function is only available on Itanium processors.
+
+ If Length is greater than (MAX_ADDRESS - Address + 1), then ASSERT().
+
+ @param Address The base address of the instruction lines to invalidate. If
+ the CPU is in a physical addressing mode, then Address is a
+ physical address. If the CPU is in a virtual addressing mode,
+ then Address is a virtual address.
+
+ @param Length The number of bytes to invalidate from the instruction cache.
+
+ @return Address.
+
+**/
+VOID *
+EFIAPI
+AsmFlushCacheRange (
+ IN VOID *Address,
+ IN UINTN Length
+ );
+
+
+/**
+ Executes an FC instruction.
+ Executes an FC instruction on the cache line specified by Address.
+ The cache line size affected is at least 32-bytes (aligned on a 32-byte boundary).
+ An implementation may flush a larger region. This function is only available on Itanium processors.
+
+ @param Address The Address of cache line to be flushed.
+
+ @return The address of FC instruction executed.
+
+**/
+UINT64
+EFIAPI
+AsmFc (
+ IN UINT64 Address
+ );
+
+
+/**
+ Executes an FC.I instruction.
+ Executes an FC.I instruction on the cache line specified by Address.
+ The cache line size affected is at least 32-bytes (aligned on a 32-byte boundary).
+ An implementation may flush a larger region. This function is only available on Itanium processors.
+
+ @param Address The Address of cache line to be flushed.
+
+ @return The address of the FC.I instruction executed.
+
+**/
+UINT64
+EFIAPI
+AsmFci (
+ IN UINT64 Address
+ );
+
+
+/**
+ Reads the current value of a Processor Identifier Register (CPUID).
+
+ Reads and returns the current value of Processor Identifier Register specified by Index.
+ The Index of largest implemented CPUID (One less than the number of implemented CPUID
+ registers) is determined by CPUID [3] bits {7:0}.
+ No parameter checking is performed on Index. If the Index value is beyond the
+ implemented CPUID register range, a Reserved Register/Field fault may occur. The caller
+ must either guarantee that Index is valid, or the caller must set up fault handlers to
+ catch the faults. This function is only available on Itanium processors.
+
+ @param Index The 8-bit Processor Identifier Register index to read.
+
+ @return The current value of Processor Identifier Register specified by Index.
+
+**/
+UINT64
+EFIAPI
+AsmReadCpuid (
+ IN UINT8 Index
+ );
+
+
+/**
+ Reads the current value of 64-bit Processor Status Register (PSR).
+ This function is only available on Itanium processors.
+
+ @return The current value of PSR.
+
+**/
+UINT64
+EFIAPI
+AsmReadPsr (
+ VOID
+ );
+
+
+/**
+ Writes the current value of 64-bit Processor Status Register (PSR).
+
+ No parameter checking is performed on Value. All bits of Value corresponding to
+ reserved fields of PSR must be 0 or a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Value is valid, or the caller must set up
+ fault handlers to catch the faults. This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to PSR.
+
+ @return The 64-bit value written to the PSR.
+
+**/
+UINT64
+EFIAPI
+AsmWritePsr (
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads the current value of 64-bit Kernel Register #0 (KR0).
+
+ Reads and returns the current value of KR0.
+ This function is only available on Itanium processors.
+
+ @return The current value of KR0.
+
+**/
+UINT64
+EFIAPI
+AsmReadKr0 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit Kernel Register #1 (KR1).
+
+ Reads and returns the current value of KR1.
+ This function is only available on Itanium processors.
+
+ @return The current value of KR1.
+
+**/
+UINT64
+EFIAPI
+AsmReadKr1 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit Kernel Register #2 (KR2).
+
+ Reads and returns the current value of KR2.
+ This function is only available on Itanium processors.
+
+ @return The current value of KR2.
+
+**/
+UINT64
+EFIAPI
+AsmReadKr2 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit Kernel Register #3 (KR3).
+
+ Reads and returns the current value of KR3.
+ This function is only available on Itanium processors.
+
+ @return The current value of KR3.
+
+**/
+UINT64
+EFIAPI
+AsmReadKr3 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit Kernel Register #4 (KR4).
+
+ Reads and returns the current value of KR4.
+ This function is only available on Itanium processors.
+
+ @return The current value of KR4.
+
+**/
+UINT64
+EFIAPI
+AsmReadKr4 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit Kernel Register #5 (KR5).
+
+ Reads and returns the current value of KR5.
+ This function is only available on Itanium processors.
+
+ @return The current value of KR5.
+
+**/
+UINT64
+EFIAPI
+AsmReadKr5 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit Kernel Register #6 (KR6).
+
+ Reads and returns the current value of KR6.
+ This function is only available on Itanium processors.
+
+ @return The current value of KR6.
+
+**/
+UINT64
+EFIAPI
+AsmReadKr6 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit Kernel Register #7 (KR7).
+
+ Reads and returns the current value of KR7.
+ This function is only available on Itanium processors.
+
+ @return The current value of KR7.
+
+**/
+UINT64
+EFIAPI
+AsmReadKr7 (
+ VOID
+ );
+
+
+/**
+ Write the current value of 64-bit Kernel Register #0 (KR0).
+
+ Writes the current value of KR0. The 64-bit value written to
+ the KR0 is returned. This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to KR0.
+
+ @return The 64-bit value written to the KR0.
+
+**/
+UINT64
+EFIAPI
+AsmWriteKr0 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Write the current value of 64-bit Kernel Register #1 (KR1).
+
+ Writes the current value of KR1. The 64-bit value written to
+ the KR1 is returned. This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to KR1.
+
+ @return The 64-bit value written to the KR1.
+
+**/
+UINT64
+EFIAPI
+AsmWriteKr1 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Write the current value of 64-bit Kernel Register #2 (KR2).
+
+ Writes the current value of KR2. The 64-bit value written to
+ the KR2 is returned. This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to KR2.
+
+ @return The 64-bit value written to the KR2.
+
+**/
+UINT64
+EFIAPI
+AsmWriteKr2 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Write the current value of 64-bit Kernel Register #3 (KR3).
+
+ Writes the current value of KR3. The 64-bit value written to
+ the KR3 is returned. This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to KR3.
+
+ @return The 64-bit value written to the KR3.
+
+**/
+UINT64
+EFIAPI
+AsmWriteKr3 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Write the current value of 64-bit Kernel Register #4 (KR4).
+
+ Writes the current value of KR4. The 64-bit value written to
+ the KR4 is returned. This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to KR4.
+
+ @return The 64-bit value written to the KR4.
+
+**/
+UINT64
+EFIAPI
+AsmWriteKr4 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Write the current value of 64-bit Kernel Register #5 (KR5).
+
+ Writes the current value of KR5. The 64-bit value written to
+ the KR5 is returned. This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to KR5.
+
+ @return The 64-bit value written to the KR5.
+
+**/
+UINT64
+EFIAPI
+AsmWriteKr5 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Write the current value of 64-bit Kernel Register #6 (KR6).
+
+ Writes the current value of KR6. The 64-bit value written to
+ the KR6 is returned. This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to KR6.
+
+ @return The 64-bit value written to the KR6.
+
+**/
+UINT64
+EFIAPI
+AsmWriteKr6 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Write the current value of 64-bit Kernel Register #7 (KR7).
+
+ Writes the current value of KR7. The 64-bit value written to
+ the KR7 is returned. This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to KR7.
+
+ @return The 64-bit value written to the KR7.
+
+**/
+UINT64
+EFIAPI
+AsmWriteKr7 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads the current value of Interval Timer Counter Register (ITC).
+
+ Reads and returns the current value of ITC.
+ This function is only available on Itanium processors.
+
+ @return The current value of ITC.
+
+**/
+UINT64
+EFIAPI
+AsmReadItc (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Interval Timer Vector Register (ITV).
+
+ Reads and returns the current value of ITV.
+ This function is only available on Itanium processors.
+
+ @return The current value of ITV.
+
+**/
+UINT64
+EFIAPI
+AsmReadItv (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Interval Timer Match Register (ITM).
+
+ Reads and returns the current value of ITM.
+ This function is only available on Itanium processors.
+
+ @return The current value of ITM.
+**/
+UINT64
+EFIAPI
+AsmReadItm (
+ VOID
+ );
+
+
+/**
+ Writes the current value of 64-bit Interval Timer Counter Register (ITC).
+
+ Writes the current value of ITC. The 64-bit value written to the ITC is returned.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to ITC.
+
+ @return The 64-bit value written to the ITC.
+
+**/
+UINT64
+EFIAPI
+AsmWriteItc (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Interval Timer Match Register (ITM).
+
+ Writes the current value of ITM. The 64-bit value written to the ITM is returned.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to ITM.
+
+ @return The 64-bit value written to the ITM.
+
+**/
+UINT64
+EFIAPI
+AsmWriteItm (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Interval Timer Vector Register (ITV).
+
+ Writes the current value of ITV. The 64-bit value written to the ITV is returned.
+ No parameter checking is performed on Value. All bits of Value corresponding to
+ reserved fields of ITV must be 0 or a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Value is valid, or the caller must set up
+ fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to ITV.
+
+ @return The 64-bit value written to the ITV.
+
+**/
+UINT64
+EFIAPI
+AsmWriteItv (
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads the current value of Default Control Register (DCR).
+
+ Reads and returns the current value of DCR. This function is only available on Itanium processors.
+
+ @return The current value of DCR.
+
+**/
+UINT64
+EFIAPI
+AsmReadDcr (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Interruption Vector Address Register (IVA).
+
+ Reads and returns the current value of IVA. This function is only available on Itanium processors.
+
+ @return The current value of IVA.
+**/
+UINT64
+EFIAPI
+AsmReadIva (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Page Table Address Register (PTA).
+
+ Reads and returns the current value of PTA. This function is only available on Itanium processors.
+
+ @return The current value of PTA.
+
+**/
+UINT64
+EFIAPI
+AsmReadPta (
+ VOID
+ );
+
+
+/**
+ Writes the current value of 64-bit Default Control Register (DCR).
+
+ Writes the current value of DCR. The 64-bit value written to the DCR is returned.
+ No parameter checking is performed on Value. All bits of Value corresponding to
+ reserved fields of DCR must be 0 or a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Value is valid, or the caller must set up
+ fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to DCR.
+
+ @return The 64-bit value written to the DCR.
+
+**/
+UINT64
+EFIAPI
+AsmWriteDcr (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Interruption Vector Address Register (IVA).
+
+ Writes the current value of IVA. The 64-bit value written to the IVA is returned.
+ The size of vector table is 32 K bytes and is 32 K bytes aligned
+ the low 15 bits of Value is ignored when written.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to IVA.
+
+ @return The 64-bit value written to the IVA.
+
+**/
+UINT64
+EFIAPI
+AsmWriteIva (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Page Table Address Register (PTA).
+
+ Writes the current value of PTA. The 64-bit value written to the PTA is returned.
+ No parameter checking is performed on Value. All bits of Value corresponding to
+ reserved fields of DCR must be 0 or a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Value is valid, or the caller must set up
+ fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to PTA.
+
+ @return The 64-bit value written to the PTA.
+**/
+UINT64
+EFIAPI
+AsmWritePta (
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads the current value of Local Interrupt ID Register (LID).
+
+ Reads and returns the current value of LID. This function is only available on Itanium processors.
+
+ @return The current value of LID.
+
+**/
+UINT64
+EFIAPI
+AsmReadLid (
+ VOID
+ );
+
+
+/**
+ Reads the current value of External Interrupt Vector Register (IVR).
+
+ Reads and returns the current value of IVR. This function is only available on Itanium processors.
+
+ @return The current value of IVR.
+
+**/
+UINT64
+EFIAPI
+AsmReadIvr (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Task Priority Register (TPR).
+
+ Reads and returns the current value of TPR. This function is only available on Itanium processors.
+
+ @return The current value of TPR.
+
+**/
+UINT64
+EFIAPI
+AsmReadTpr (
+ VOID
+ );
+
+
+/**
+ Reads the current value of External Interrupt Request Register #0 (IRR0).
+
+ Reads and returns the current value of IRR0. This function is only available on Itanium processors.
+
+ @return The current value of IRR0.
+
+**/
+UINT64
+EFIAPI
+AsmReadIrr0 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of External Interrupt Request Register #1 (IRR1).
+
+ Reads and returns the current value of IRR1. This function is only available on Itanium processors.
+
+ @return The current value of IRR1.
+
+**/
+UINT64
+EFIAPI
+AsmReadIrr1 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of External Interrupt Request Register #2 (IRR2).
+
+ Reads and returns the current value of IRR2. This function is only available on Itanium processors.
+
+ @return The current value of IRR2.
+
+**/
+UINT64
+EFIAPI
+AsmReadIrr2 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of External Interrupt Request Register #3 (IRR3).
+
+ Reads and returns the current value of IRR3. This function is only available on Itanium processors.
+
+ @return The current value of IRR3.
+
+**/
+UINT64
+EFIAPI
+AsmReadIrr3 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Performance Monitor Vector Register (PMV).
+
+ Reads and returns the current value of PMV. This function is only available on Itanium processors.
+
+ @return The current value of PMV.
+
+**/
+UINT64
+EFIAPI
+AsmReadPmv (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Corrected Machine Check Vector Register (CMCV).
+
+ Reads and returns the current value of CMCV. This function is only available on Itanium processors.
+
+ @return The current value of CMCV.
+
+**/
+UINT64
+EFIAPI
+AsmReadCmcv (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Local Redirection Register #0 (LRR0).
+
+ Reads and returns the current value of LRR0. This function is only available on Itanium processors.
+
+ @return The current value of LRR0.
+
+**/
+UINT64
+EFIAPI
+AsmReadLrr0 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Local Redirection Register #1 (LRR1).
+
+ Reads and returns the current value of LRR1. This function is only available on Itanium processors.
+
+ @return The current value of LRR1.
+
+**/
+UINT64
+EFIAPI
+AsmReadLrr1 (
+ VOID
+ );
+
+
+/**
+ Writes the current value of 64-bit Page Local Interrupt ID Register (LID).
+
+ Writes the current value of LID. The 64-bit value written to the LID is returned.
+ No parameter checking is performed on Value. All bits of Value corresponding to
+ reserved fields of LID must be 0 or a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Value is valid, or the caller must set up
+ fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to LID.
+
+ @return The 64-bit value written to the LID.
+
+**/
+UINT64
+EFIAPI
+AsmWriteLid (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Task Priority Register (TPR).
+
+ Writes the current value of TPR. The 64-bit value written to the TPR is returned.
+ No parameter checking is performed on Value. All bits of Value corresponding to
+ reserved fields of TPR must be 0 or a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Value is valid, or the caller must set up
+ fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to TPR.
+
+ @return The 64-bit value written to the TPR.
+
+**/
+UINT64
+EFIAPI
+AsmWriteTpr (
+ IN UINT64 Value
+ );
+
+
+/**
+ Performs a write operation on End OF External Interrupt Register (EOI).
+
+ Writes a value of 0 to the EOI Register. This function is only available on Itanium processors.
+
+**/
+VOID
+EFIAPI
+AsmWriteEoi (
+ VOID
+ );
+
+
+/**
+ Writes the current value of 64-bit Performance Monitor Vector Register (PMV).
+
+ Writes the current value of PMV. The 64-bit value written to the PMV is returned.
+ No parameter checking is performed on Value. All bits of Value corresponding
+ to reserved fields of PMV must be 0 or a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Value is valid, or the caller must set up
+ fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to PMV.
+
+ @return The 64-bit value written to the PMV.
+
+**/
+UINT64
+EFIAPI
+AsmWritePmv (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Corrected Machine Check Vector Register (CMCV).
+
+ Writes the current value of CMCV. The 64-bit value written to the CMCV is returned.
+ No parameter checking is performed on Value. All bits of Value corresponding
+ to reserved fields of CMCV must be 0 or a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Value is valid, or the caller must set up
+ fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to CMCV.
+
+ @return The 64-bit value written to the CMCV.
+
+**/
+UINT64
+EFIAPI
+AsmWriteCmcv (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Local Redirection Register #0 (LRR0).
+
+ Writes the current value of LRR0. The 64-bit value written to the LRR0 is returned.
+ No parameter checking is performed on Value. All bits of Value corresponding
+ to reserved fields of LRR0 must be 0 or a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Value is valid, or the caller must set up
+ fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to LRR0.
+
+ @return The 64-bit value written to the LRR0.
+
+**/
+UINT64
+EFIAPI
+AsmWriteLrr0 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Local Redirection Register #1 (LRR1).
+
+ Writes the current value of LRR1. The 64-bit value written to the LRR1 is returned.
+ No parameter checking is performed on Value. All bits of Value corresponding
+ to reserved fields of LRR1 must be 0 or a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Value is valid, or the caller must
+ set up fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to LRR1.
+
+ @return The 64-bit value written to the LRR1.
+
+**/
+UINT64
+EFIAPI
+AsmWriteLrr1 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads the current value of Instruction Breakpoint Register (IBR).
+
+ The Instruction Breakpoint Registers are used in pairs. The even numbered
+ registers contain breakpoint addresses, and the odd numbered registers contain
+ breakpoint mask conditions. At least four instruction registers pairs are implemented
+ on all processor models. Implemented registers are contiguous starting with
+ register 0. No parameter checking is performed on Index, and if the Index value
+ is beyond the implemented IBR register range, a Reserved Register/Field fault may
+ occur. The caller must either guarantee that Index is valid, or the caller must
+ set up fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Index The 8-bit Instruction Breakpoint Register index to read.
+
+ @return The current value of Instruction Breakpoint Register specified by Index.
+
+**/
+UINT64
+EFIAPI
+AsmReadIbr (
+ IN UINT8 Index
+ );
+
+
+/**
+ Reads the current value of Data Breakpoint Register (DBR).
+
+ The Data Breakpoint Registers are used in pairs. The even numbered registers
+ contain breakpoint addresses, and odd numbered registers contain breakpoint
+ mask conditions. At least four data registers pairs are implemented on all processor
+ models. Implemented registers are contiguous starting with register 0.
+ No parameter checking is performed on Index. If the Index value is beyond
+ the implemented DBR register range, a Reserved Register/Field fault may occur.
+ The caller must either guarantee that Index is valid, or the caller must set up
+ fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Index The 8-bit Data Breakpoint Register index to read.
+
+ @return The current value of Data Breakpoint Register specified by Index.
+
+**/
+UINT64
+EFIAPI
+AsmReadDbr (
+ IN UINT8 Index
+ );
+
+
+/**
+ Reads the current value of Performance Monitor Configuration Register (PMC).
+
+ All processor implementations provide at least four performance counters
+ (PMC/PMD [4]...PMC/PMD [7] pairs), and four performance monitor counter overflow
+ status registers (PMC [0]... PMC [3]). Processor implementations may provide
+ additional implementation-dependent PMC and PMD to increase the number of
+ 'generic' performance counters (PMC/PMD pairs). The remainder of PMC and PMD
+ register set is implementation dependent. No parameter checking is performed
+ on Index. If the Index value is beyond the implemented PMC register range,
+ zero value will be returned.
+ This function is only available on Itanium processors.
+
+ @param Index The 8-bit Performance Monitor Configuration Register index to read.
+
+ @return The current value of Performance Monitor Configuration Register
+ specified by Index.
+
+**/
+UINT64
+EFIAPI
+AsmReadPmc (
+ IN UINT8 Index
+ );
+
+
+/**
+ Reads the current value of Performance Monitor Data Register (PMD).
+
+ All processor implementations provide at least 4 performance counters
+ (PMC/PMD [4]...PMC/PMD [7] pairs), and 4 performance monitor counter
+ overflow status registers (PMC [0]... PMC [3]). Processor implementations may
+ provide additional implementation-dependent PMC and PMD to increase the number
+ of 'generic' performance counters (PMC/PMD pairs). The remainder of PMC and PMD
+ register set is implementation dependent. No parameter checking is performed
+ on Index. If the Index value is beyond the implemented PMD register range,
+ zero value will be returned.
+ This function is only available on Itanium processors.
+
+ @param Index The 8-bit Performance Monitor Data Register index to read.
+
+ @return The current value of Performance Monitor Data Register specified by Index.
+
+**/
+UINT64
+EFIAPI
+AsmReadPmd (
+ IN UINT8 Index
+ );
+
+
+/**
+ Writes the current value of 64-bit Instruction Breakpoint Register (IBR).
+
+ Writes current value of Instruction Breakpoint Register specified by Index.
+ The Instruction Breakpoint Registers are used in pairs. The even numbered
+ registers contain breakpoint addresses, and odd numbered registers contain
+ breakpoint mask conditions. At least four instruction registers pairs are implemented
+ on all processor models. Implemented registers are contiguous starting with
+ register 0. No parameter checking is performed on Index. If the Index value
+ is beyond the implemented IBR register range, a Reserved Register/Field fault may
+ occur. The caller must either guarantee that Index is valid, or the caller must
+ set up fault handlers to catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Index The 8-bit Instruction Breakpoint Register index to write.
+ @param Value The 64-bit value to write to IBR.
+
+ @return The 64-bit value written to the IBR.
+
+**/
+UINT64
+EFIAPI
+AsmWriteIbr (
+ IN UINT8 Index,
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Data Breakpoint Register (DBR).
+
+ Writes current value of Data Breakpoint Register specified by Index.
+ The Data Breakpoint Registers are used in pairs. The even numbered registers
+ contain breakpoint addresses, and odd numbered registers contain breakpoint
+ mask conditions. At least four data registers pairs are implemented on all processor
+ models. Implemented registers are contiguous starting with register 0. No parameter
+ checking is performed on Index. If the Index value is beyond the implemented
+ DBR register range, a Reserved Register/Field fault may occur. The caller must
+ either guarantee that Index is valid, or the caller must set up fault handlers to
+ catch the faults.
+ This function is only available on Itanium processors.
+
+ @param Index The 8-bit Data Breakpoint Register index to write.
+ @param Value The 64-bit value to write to DBR.
+
+ @return The 64-bit value written to the DBR.
+
+**/
+UINT64
+EFIAPI
+AsmWriteDbr (
+ IN UINT8 Index,
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Performance Monitor Configuration Register (PMC).
+
+ Writes current value of Performance Monitor Configuration Register specified by Index.
+ All processor implementations provide at least four performance counters
+ (PMC/PMD [4]...PMC/PMD [7] pairs), and four performance monitor counter overflow status
+ registers (PMC [0]... PMC [3]). Processor implementations may provide additional
+ implementation-dependent PMC and PMD to increase the number of 'generic' performance
+ counters (PMC/PMD pairs). The remainder of PMC and PMD register set is implementation
+ dependent. No parameter checking is performed on Index. If the Index value is
+ beyond the implemented PMC register range, the write is ignored.
+ This function is only available on Itanium processors.
+
+ @param Index The 8-bit Performance Monitor Configuration Register index to write.
+ @param Value The 64-bit value to write to PMC.
+
+ @return The 64-bit value written to the PMC.
+
+**/
+UINT64
+EFIAPI
+AsmWritePmc (
+ IN UINT8 Index,
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit Performance Monitor Data Register (PMD).
+
+ Writes current value of Performance Monitor Data Register specified by Index.
+ All processor implementations provide at least four performance counters
+ (PMC/PMD [4]...PMC/PMD [7] pairs), and four performance monitor counter overflow
+ status registers (PMC [0]... PMC [3]). Processor implementations may provide
+ additional implementation-dependent PMC and PMD to increase the number of 'generic'
+ performance counters (PMC/PMD pairs). The remainder of PMC and PMD register set
+ is implementation dependent. No parameter checking is performed on Index. If the
+ Index value is beyond the implemented PMD register range, the write is ignored.
+ This function is only available on Itanium processors.
+
+ @param Index The 8-bit Performance Monitor Data Register index to write.
+ @param Value The 64-bit value to write to PMD.
+
+ @return The 64-bit value written to the PMD.
+
+**/
+UINT64
+EFIAPI
+AsmWritePmd (
+ IN UINT8 Index,
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads the current value of 64-bit Global Pointer (GP).
+
+ Reads and returns the current value of GP.
+ This function is only available on Itanium processors.
+
+ @return The current value of GP.
+
+**/
+UINT64
+EFIAPI
+AsmReadGp (
+ VOID
+ );
+
+
+/**
+ Write the current value of 64-bit Global Pointer (GP).
+
+ Writes the current value of GP. The 64-bit value written to the GP is returned.
+ No parameter checking is performed on Value.
+ This function is only available on Itanium processors.
+
+ @param Value The 64-bit value to write to GP.
+
+ @return The 64-bit value written to the GP.
+
+**/
+UINT64
+EFIAPI
+AsmWriteGp (
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads the current value of 64-bit Stack Pointer (SP).
+
+ Reads and returns the current value of SP.
+ This function is only available on Itanium processors.
+
+ @return The current value of SP.
+
+**/
+UINT64
+EFIAPI
+AsmReadSp (
+ VOID
+ );
+
+
+///
+/// Valid Index value for AsmReadControlRegister().
+///
+#define IPF_CONTROL_REGISTER_DCR 0
+#define IPF_CONTROL_REGISTER_ITM 1
+#define IPF_CONTROL_REGISTER_IVA 2
+#define IPF_CONTROL_REGISTER_PTA 8
+#define IPF_CONTROL_REGISTER_IPSR 16
+#define IPF_CONTROL_REGISTER_ISR 17
+#define IPF_CONTROL_REGISTER_IIP 19
+#define IPF_CONTROL_REGISTER_IFA 20
+#define IPF_CONTROL_REGISTER_ITIR 21
+#define IPF_CONTROL_REGISTER_IIPA 22
+#define IPF_CONTROL_REGISTER_IFS 23
+#define IPF_CONTROL_REGISTER_IIM 24
+#define IPF_CONTROL_REGISTER_IHA 25
+#define IPF_CONTROL_REGISTER_LID 64
+#define IPF_CONTROL_REGISTER_IVR 65
+#define IPF_CONTROL_REGISTER_TPR 66
+#define IPF_CONTROL_REGISTER_EOI 67
+#define IPF_CONTROL_REGISTER_IRR0 68
+#define IPF_CONTROL_REGISTER_IRR1 69
+#define IPF_CONTROL_REGISTER_IRR2 70
+#define IPF_CONTROL_REGISTER_IRR3 71
+#define IPF_CONTROL_REGISTER_ITV 72
+#define IPF_CONTROL_REGISTER_PMV 73
+#define IPF_CONTROL_REGISTER_CMCV 74
+#define IPF_CONTROL_REGISTER_LRR0 80
+#define IPF_CONTROL_REGISTER_LRR1 81
+
+/**
+ Reads a 64-bit control register.
+
+ Reads and returns the control register specified by Index. The valid Index valued
+ are defined above in "Related Definitions".
+ If Index is invalid then 0xFFFFFFFFFFFFFFFF is returned. This function is only
+ available on Itanium processors.
+
+ @param Index The index of the control register to read.
+
+ @return The control register specified by Index.
+
+**/
+UINT64
+EFIAPI
+AsmReadControlRegister (
+ IN UINT64 Index
+ );
+
+
+///
+/// Valid Index value for AsmReadApplicationRegister().
+///
+#define IPF_APPLICATION_REGISTER_K0 0
+#define IPF_APPLICATION_REGISTER_K1 1
+#define IPF_APPLICATION_REGISTER_K2 2
+#define IPF_APPLICATION_REGISTER_K3 3
+#define IPF_APPLICATION_REGISTER_K4 4
+#define IPF_APPLICATION_REGISTER_K5 5
+#define IPF_APPLICATION_REGISTER_K6 6
+#define IPF_APPLICATION_REGISTER_K7 7
+#define IPF_APPLICATION_REGISTER_RSC 16
+#define IPF_APPLICATION_REGISTER_BSP 17
+#define IPF_APPLICATION_REGISTER_BSPSTORE 18
+#define IPF_APPLICATION_REGISTER_RNAT 19
+#define IPF_APPLICATION_REGISTER_FCR 21
+#define IPF_APPLICATION_REGISTER_EFLAG 24
+#define IPF_APPLICATION_REGISTER_CSD 25
+#define IPF_APPLICATION_REGISTER_SSD 26
+#define IPF_APPLICATION_REGISTER_CFLG 27
+#define IPF_APPLICATION_REGISTER_FSR 28
+#define IPF_APPLICATION_REGISTER_FIR 29
+#define IPF_APPLICATION_REGISTER_FDR 30
+#define IPF_APPLICATION_REGISTER_CCV 32
+#define IPF_APPLICATION_REGISTER_UNAT 36
+#define IPF_APPLICATION_REGISTER_FPSR 40
+#define IPF_APPLICATION_REGISTER_ITC 44
+#define IPF_APPLICATION_REGISTER_PFS 64
+#define IPF_APPLICATION_REGISTER_LC 65
+#define IPF_APPLICATION_REGISTER_EC 66
+
+/**
+ Reads a 64-bit application register.
+
+ Reads and returns the application register specified by Index. The valid Index
+ valued are defined above in "Related Definitions".
+ If Index is invalid then 0xFFFFFFFFFFFFFFFF is returned. This function is only
+ available on Itanium processors.
+
+ @param Index The index of the application register to read.
+
+ @return The application register specified by Index.
+
+**/
+UINT64
+EFIAPI
+AsmReadApplicationRegister (
+ IN UINT64 Index
+ );
+
+
+/**
+ Reads the current value of a Machine Specific Register (MSR).
+
+ Reads and returns the current value of the Machine Specific Register specified by Index. No
+ parameter checking is performed on Index, and if the Index value is beyond the implemented MSR
+ register range, a Reserved Register/Field fault may occur. The caller must either guarantee that
+ Index is valid, or the caller must set up fault handlers to catch the faults. This function is
+ only available on Itanium processors.
+
+ @param Index The 8-bit Machine Specific Register index to read.
+
+ @return The current value of the Machine Specific Register specified by Index.
+
+**/
+UINT64
+EFIAPI
+AsmReadMsr (
+ IN UINT8 Index
+ );
+
+
+/**
+ Writes the current value of a Machine Specific Register (MSR).
+
+ Writes Value to the Machine Specific Register specified by Index. Value is returned. No
+ parameter checking is performed on Index, and if the Index value is beyond the implemented MSR
+ register range, a Reserved Register/Field fault may occur. The caller must either guarantee that
+ Index is valid, or the caller must set up fault handlers to catch the faults. This function is
+ only available on Itanium processors.
+
+ @param Index The 8-bit Machine Specific Register index to write.
+ @param Value The 64-bit value to write to the Machine Specific Register.
+
+ @return The 64-bit value to write to the Machine Specific Register.
+
+**/
+UINT64
+EFIAPI
+AsmWriteMsr (
+ IN UINT8 Index,
+ IN UINT64 Value
+ );
+
+
+/**
+ Determines if the CPU is currently executing in virtual, physical, or mixed mode.
+
+ Determines the current execution mode of the CPU.
+ If the CPU is in virtual mode(PSR.RT=1, PSR.DT=1, PSR.IT=1), then 1 is returned.
+ If the CPU is in physical mode(PSR.RT=0, PSR.DT=0, PSR.IT=0), then 0 is returned.
+ If the CPU is not in physical mode or virtual mode, then it is in mixed mode,
+ and -1 is returned.
+ This function is only available on Itanium processors.
+
+ @retval 1 The CPU is in virtual mode.
+ @retval 0 The CPU is in physical mode.
+ @retval -1 The CPU is in mixed mode.
+
+**/
+INT64
+EFIAPI
+AsmCpuVirtual (
+ VOID
+ );
+
+
+/**
+ Makes a PAL procedure call.
+
+ This is a wrapper function to make a PAL procedure call. Based on the Index
+ value this API will make static or stacked PAL call. The following table
+ describes the usage of PAL Procedure Index Assignment. Architected procedures
+ may be designated as required or optional. If a PAL procedure is specified
+ as optional, a unique return code of 0xFFFFFFFFFFFFFFFF is returned in the
+ Status field of the PAL_CALL_RETURN structure.
+ This indicates that the procedure is not present in this PAL implementation.
+ It is the caller's responsibility to check for this return code after calling
+ any optional PAL procedure.
+ No parameter checking is performed on the 5 input parameters, but there are
+ some common rules that the caller should follow when making a PAL call. Any
+ address passed to PAL as buffers for return parameters must be 8-byte aligned.
+ Unaligned addresses may cause undefined results. For those parameters defined
+ as reserved or some fields defined as reserved must be zero filled or the invalid
+ argument return value may be returned or undefined result may occur during the
+ execution of the procedure. If the PalEntryPoint does not point to a valid
+ PAL entry point then the system behavior is undefined. This function is only
+ available on Itanium processors.
+
+ @param PalEntryPoint The PAL procedure calls entry point.
+ @param Index The PAL procedure Index number.
+ @param Arg2 The 2nd parameter for PAL procedure calls.
+ @param Arg3 The 3rd parameter for PAL procedure calls.
+ @param Arg4 The 4th parameter for PAL procedure calls.
+
+ @return structure returned from the PAL Call procedure, including the status and return value.
+
+**/
+PAL_CALL_RETURN
+EFIAPI
+AsmPalCall (
+ IN UINT64 PalEntryPoint,
+ IN UINT64 Index,
+ IN UINT64 Arg2,
+ IN UINT64 Arg3,
+ IN UINT64 Arg4
+ );
+#endif
+
+#if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64)
+///
+/// IA32 and x64 Specific Functions.
+/// Byte packed structure for 16-bit Real Mode EFLAGS.
+///
+typedef union {
+ struct {
+ UINT32 CF:1; ///< Carry Flag.
+ UINT32 Reserved_0:1; ///< Reserved.
+ UINT32 PF:1; ///< Parity Flag.
+ UINT32 Reserved_1:1; ///< Reserved.
+ UINT32 AF:1; ///< Auxiliary Carry Flag.
+ UINT32 Reserved_2:1; ///< Reserved.
+ UINT32 ZF:1; ///< Zero Flag.
+ UINT32 SF:1; ///< Sign Flag.
+ UINT32 TF:1; ///< Trap Flag.
+ UINT32 IF:1; ///< Interrupt Enable Flag.
+ UINT32 DF:1; ///< Direction Flag.
+ UINT32 OF:1; ///< Overflow Flag.
+ UINT32 IOPL:2; ///< I/O Privilege Level.
+ UINT32 NT:1; ///< Nested Task.
+ UINT32 Reserved_3:1; ///< Reserved.
+ } Bits;
+ UINT16 Uint16;
+} IA32_FLAGS16;
+
+///
+/// Byte packed structure for EFLAGS/RFLAGS.
+/// 32-bits on IA-32.
+/// 64-bits on x64. The upper 32-bits on x64 are reserved.
+///
+typedef union {
+ struct {
+ UINT32 CF:1; ///< Carry Flag.
+ UINT32 Reserved_0:1; ///< Reserved.
+ UINT32 PF:1; ///< Parity Flag.
+ UINT32 Reserved_1:1; ///< Reserved.
+ UINT32 AF:1; ///< Auxiliary Carry Flag.
+ UINT32 Reserved_2:1; ///< Reserved.
+ UINT32 ZF:1; ///< Zero Flag.
+ UINT32 SF:1; ///< Sign Flag.
+ UINT32 TF:1; ///< Trap Flag.
+ UINT32 IF:1; ///< Interrupt Enable Flag.
+ UINT32 DF:1; ///< Direction Flag.
+ UINT32 OF:1; ///< Overflow Flag.
+ UINT32 IOPL:2; ///< I/O Privilege Level.
+ UINT32 NT:1; ///< Nested Task.
+ UINT32 Reserved_3:1; ///< Reserved.
+ UINT32 RF:1; ///< Resume Flag.
+ UINT32 VM:1; ///< Virtual 8086 Mode.
+ UINT32 AC:1; ///< Alignment Check.
+ UINT32 VIF:1; ///< Virtual Interrupt Flag.
+ UINT32 VIP:1; ///< Virtual Interrupt Pending.
+ UINT32 ID:1; ///< ID Flag.
+ UINT32 Reserved_4:10; ///< Reserved.
+ } Bits;
+ UINTN UintN;
+} IA32_EFLAGS32;
+
+///
+/// Byte packed structure for Control Register 0 (CR0).
+/// 32-bits on IA-32.
+/// 64-bits on x64. The upper 32-bits on x64 are reserved.
+///
+typedef union {
+ struct {
+ UINT32 PE:1; ///< Protection Enable.
+ UINT32 MP:1; ///< Monitor Coprocessor.
+ UINT32 EM:1; ///< Emulation.
+ UINT32 TS:1; ///< Task Switched.
+ UINT32 ET:1; ///< Extension Type.
+ UINT32 NE:1; ///< Numeric Error.
+ UINT32 Reserved_0:10; ///< Reserved.
+ UINT32 WP:1; ///< Write Protect.
+ UINT32 Reserved_1:1; ///< Reserved.
+ UINT32 AM:1; ///< Alignment Mask.
+ UINT32 Reserved_2:10; ///< Reserved.
+ UINT32 NW:1; ///< Mot Write-through.
+ UINT32 CD:1; ///< Cache Disable.
+ UINT32 PG:1; ///< Paging.
+ } Bits;
+ UINTN UintN;
+} IA32_CR0;
+
+///
+/// Byte packed structure for Control Register 4 (CR4).
+/// 32-bits on IA-32.
+/// 64-bits on x64. The upper 32-bits on x64 are reserved.
+///
+typedef union {
+ struct {
+ UINT32 VME:1; ///< Virtual-8086 Mode Extensions.
+ UINT32 PVI:1; ///< Protected-Mode Virtual Interrupts.
+ UINT32 TSD:1; ///< Time Stamp Disable.
+ UINT32 DE:1; ///< Debugging Extensions.
+ UINT32 PSE:1; ///< Page Size Extensions.
+ UINT32 PAE:1; ///< Physical Address Extension.
+ UINT32 MCE:1; ///< Machine Check Enable.
+ UINT32 PGE:1; ///< Page Global Enable.
+ UINT32 PCE:1; ///< Performance Monitoring Counter
+ ///< Enable.
+ UINT32 OSFXSR:1; ///< Operating System Support for
+ ///< FXSAVE and FXRSTOR instructions
+ UINT32 OSXMMEXCPT:1; ///< Operating System Support for
+ ///< Unmasked SIMD Floating Point
+ ///< Exceptions.
+ UINT32 Reserved_0:2; ///< Reserved.
+ UINT32 VMXE:1; ///< VMX Enable
+ UINT32 Reserved_1:18; ///< Reserved.
+ } Bits;
+ UINTN UintN;
+} IA32_CR4;
+
+///
+/// Byte packed structure for a segment descriptor in a GDT/LDT.
+///
+typedef union {
+ struct {
+ UINT32 LimitLow:16;
+ UINT32 BaseLow:16;
+ UINT32 BaseMid:8;
+ UINT32 Type:4;
+ UINT32 S:1;
+ UINT32 DPL:2;
+ UINT32 P:1;
+ UINT32 LimitHigh:4;
+ UINT32 AVL:1;
+ UINT32 L:1;
+ UINT32 DB:1;
+ UINT32 G:1;
+ UINT32 BaseHigh:8;
+ } Bits;
+ UINT64 Uint64;
+} IA32_SEGMENT_DESCRIPTOR;
+
+///
+/// Byte packed structure for an IDTR, GDTR, LDTR descriptor.
+///
+#pragma pack (1)
+typedef struct {
+ UINT16 Limit;
+ UINTN Base;
+} IA32_DESCRIPTOR;
+#pragma pack ()
+
+#define IA32_IDT_GATE_TYPE_TASK 0x85
+#define IA32_IDT_GATE_TYPE_INTERRUPT_16 0x86
+#define IA32_IDT_GATE_TYPE_TRAP_16 0x87
+#define IA32_IDT_GATE_TYPE_INTERRUPT_32 0x8E
+#define IA32_IDT_GATE_TYPE_TRAP_32 0x8F
+
+
+#if defined (MDE_CPU_IA32)
+///
+/// Byte packed structure for an IA-32 Interrupt Gate Descriptor.
+///
+typedef union {
+ struct {
+ UINT32 OffsetLow:16; ///< Offset bits 15..0.
+ UINT32 Selector:16; ///< Selector.
+ UINT32 Reserved_0:8; ///< Reserved.
+ UINT32 GateType:8; ///< Gate Type. See #defines above.
+ UINT32 OffsetHigh:16; ///< Offset bits 31..16.
+ } Bits;
+ UINT64 Uint64;
+} IA32_IDT_GATE_DESCRIPTOR;
+
+#endif
+
+#if defined (MDE_CPU_X64)
+///
+/// Byte packed structure for an x64 Interrupt Gate Descriptor.
+///
+typedef union {
+ struct {
+ UINT32 OffsetLow:16; ///< Offset bits 15..0.
+ UINT32 Selector:16; ///< Selector.
+ UINT32 Reserved_0:8; ///< Reserved.
+ UINT32 GateType:8; ///< Gate Type. See #defines above.
+ UINT32 OffsetHigh:16; ///< Offset bits 31..16.
+ UINT32 OffsetUpper:32; ///< Offset bits 63..32.
+ UINT32 Reserved_1:32; ///< Reserved.
+ } Bits;
+ struct {
+ UINT64 Uint64;
+ UINT64 Uint64_1;
+ } Uint128;
+} IA32_IDT_GATE_DESCRIPTOR;
+
+#endif
+
+///
+/// Byte packed structure for an FP/SSE/SSE2 context.
+///
+typedef struct {
+ UINT8 Buffer[512];
+} IA32_FX_BUFFER;
+
+///
+/// Structures for the 16-bit real mode thunks.
+///
+typedef struct {
+ UINT32 Reserved1;
+ UINT32 Reserved2;
+ UINT32 Reserved3;
+ UINT32 Reserved4;
+ UINT8 BL;
+ UINT8 BH;
+ UINT16 Reserved5;
+ UINT8 DL;
+ UINT8 DH;
+ UINT16 Reserved6;
+ UINT8 CL;
+ UINT8 CH;
+ UINT16 Reserved7;
+ UINT8 AL;
+ UINT8 AH;
+ UINT16 Reserved8;
+} IA32_BYTE_REGS;
+
+typedef struct {
+ UINT16 DI;
+ UINT16 Reserved1;
+ UINT16 SI;
+ UINT16 Reserved2;
+ UINT16 BP;
+ UINT16 Reserved3;
+ UINT16 SP;
+ UINT16 Reserved4;
+ UINT16 BX;
+ UINT16 Reserved5;
+ UINT16 DX;
+ UINT16 Reserved6;
+ UINT16 CX;
+ UINT16 Reserved7;
+ UINT16 AX;
+ UINT16 Reserved8;
+} IA32_WORD_REGS;
+
+typedef struct {
+ UINT32 EDI;
+ UINT32 ESI;
+ UINT32 EBP;
+ UINT32 ESP;
+ UINT32 EBX;
+ UINT32 EDX;
+ UINT32 ECX;
+ UINT32 EAX;
+ UINT16 DS;
+ UINT16 ES;
+ UINT16 FS;
+ UINT16 GS;
+ IA32_EFLAGS32 EFLAGS;
+ UINT32 Eip;
+ UINT16 CS;
+ UINT16 SS;
+} IA32_DWORD_REGS;
+
+typedef union {
+ IA32_DWORD_REGS E;
+ IA32_WORD_REGS X;
+ IA32_BYTE_REGS H;
+} IA32_REGISTER_SET;
+
+///
+/// Byte packed structure for an 16-bit real mode thunks.
+///
+typedef struct {
+ IA32_REGISTER_SET *RealModeState;
+ VOID *RealModeBuffer;
+ UINT32 RealModeBufferSize;
+ UINT32 ThunkAttributes;
+} THUNK_CONTEXT;
+
+#define THUNK_ATTRIBUTE_BIG_REAL_MODE 0x00000001
+#define THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 0x00000002
+#define THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL 0x00000004
+
+/**
+ Retrieves CPUID information.
+
+ Executes the CPUID instruction with EAX set to the value specified by Index.
+ This function always returns Index.
+ If Eax is not NULL, then the value of EAX after CPUID is returned in Eax.
+ If Ebx is not NULL, then the value of EBX after CPUID is returned in Ebx.
+ If Ecx is not NULL, then the value of ECX after CPUID is returned in Ecx.
+ If Edx is not NULL, then the value of EDX after CPUID is returned in Edx.
+ This function is only available on IA-32 and x64.
+
+ @param Index The 32-bit value to load into EAX prior to invoking the CPUID
+ instruction.
+ @param Eax The pointer to the 32-bit EAX value returned by the CPUID
+ instruction. This is an optional parameter that may be NULL.
+ @param Ebx The pointer to the 32-bit EBX value returned by the CPUID
+ instruction. This is an optional parameter that may be NULL.
+ @param Ecx The pointer to the 32-bit ECX value returned by the CPUID
+ instruction. This is an optional parameter that may be NULL.
+ @param Edx The pointer to the 32-bit EDX value returned by the CPUID
+ instruction. This is an optional parameter that may be NULL.
+
+ @return Index.
+
+**/
+UINT32
+EFIAPI
+AsmCpuid (
+ IN UINT32 Index,
+ OUT UINT32 *Eax, OPTIONAL
+ OUT UINT32 *Ebx, OPTIONAL
+ OUT UINT32 *Ecx, OPTIONAL
+ OUT UINT32 *Edx OPTIONAL
+ );
+
+
+/**
+ Retrieves CPUID information using an extended leaf identifier.
+
+ Executes the CPUID instruction with EAX set to the value specified by Index
+ and ECX set to the value specified by SubIndex. This function always returns
+ Index. This function is only available on IA-32 and x64.
+
+ If Eax is not NULL, then the value of EAX after CPUID is returned in Eax.
+ If Ebx is not NULL, then the value of EBX after CPUID is returned in Ebx.
+ If Ecx is not NULL, then the value of ECX after CPUID is returned in Ecx.
+ If Edx is not NULL, then the value of EDX after CPUID is returned in Edx.
+
+ @param Index The 32-bit value to load into EAX prior to invoking the
+ CPUID instruction.
+ @param SubIndex The 32-bit value to load into ECX prior to invoking the
+ CPUID instruction.
+ @param Eax The pointer to the 32-bit EAX value returned by the CPUID
+ instruction. This is an optional parameter that may be
+ NULL.
+ @param Ebx The pointer to the 32-bit EBX value returned by the CPUID
+ instruction. This is an optional parameter that may be
+ NULL.
+ @param Ecx The pointer to the 32-bit ECX value returned by the CPUID
+ instruction. This is an optional parameter that may be
+ NULL.
+ @param Edx The pointer to the 32-bit EDX value returned by the CPUID
+ instruction. This is an optional parameter that may be
+ NULL.
+
+ @return Index.
+
+**/
+UINT32
+EFIAPI
+AsmCpuidEx (
+ IN UINT32 Index,
+ IN UINT32 SubIndex,
+ OUT UINT32 *Eax, OPTIONAL
+ OUT UINT32 *Ebx, OPTIONAL
+ OUT UINT32 *Ecx, OPTIONAL
+ OUT UINT32 *Edx OPTIONAL
+ );
+
+
+/**
+ Set CD bit and clear NW bit of CR0 followed by a WBINVD.
+
+ Disables the caches by setting the CD bit of CR0 to 1, clearing the NW bit of CR0 to 0,
+ and executing a WBINVD instruction. This function is only available on IA-32 and x64.
+
+**/
+VOID
+EFIAPI
+AsmDisableCache (
+ VOID
+ );
+
+
+/**
+ Perform a WBINVD and clear both the CD and NW bits of CR0.
+
+ Enables the caches by executing a WBINVD instruction and then clear both the CD and NW
+ bits of CR0 to 0. This function is only available on IA-32 and x64.
+
+**/
+VOID
+EFIAPI
+AsmEnableCache (
+ VOID
+ );
+
+
+/**
+ Returns the lower 32-bits of a Machine Specific Register(MSR).
+
+ Reads and returns the lower 32-bits of the MSR specified by Index.
+ No parameter checking is performed on Index, and some Index values may cause
+ CPU exceptions. The caller must either guarantee that Index is valid, or the
+ caller must set up exception handlers to catch the exceptions. This function
+ is only available on IA-32 and x64.
+
+ @param Index The 32-bit MSR index to read.
+
+ @return The lower 32 bits of the MSR identified by Index.
+
+**/
+UINT32
+EFIAPI
+AsmReadMsr32 (
+ IN UINT32 Index
+ );
+
+
+/**
+ Writes a 32-bit value to a Machine Specific Register(MSR), and returns the value.
+ The upper 32-bits of the MSR are set to zero.
+
+ Writes the 32-bit value specified by Value to the MSR specified by Index. The
+ upper 32-bits of the MSR write are set to zero. The 32-bit value written to
+ the MSR is returned. No parameter checking is performed on Index or Value,
+ and some of these may cause CPU exceptions. The caller must either guarantee
+ that Index and Value are valid, or the caller must establish proper exception
+ handlers. This function is only available on IA-32 and x64.
+
+ @param Index The 32-bit MSR index to write.
+ @param Value The 32-bit value to write to the MSR.
+
+ @return Value
+
+**/
+UINT32
+EFIAPI
+AsmWriteMsr32 (
+ IN UINT32 Index,
+ IN UINT32 Value
+ );
+
+
+/**
+ Reads a 64-bit MSR, performs a bitwise OR on the lower 32-bits, and
+ writes the result back to the 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise OR
+ between the lower 32-bits of the read result and the value specified by
+ OrData, and writes the result to the 64-bit MSR specified by Index. The lower
+ 32-bits of the value written to the MSR is returned. No parameter checking is
+ performed on Index or OrData, and some of these may cause CPU exceptions. The
+ caller must either guarantee that Index and OrData are valid, or the caller
+ must establish proper exception handlers. This function is only available on
+ IA-32 and x64.
+
+ @param Index The 32-bit MSR index to write.
+ @param OrData The value to OR with the read value from the MSR.
+
+ @return The lower 32-bit value written to the MSR.
+
+**/
+UINT32
+EFIAPI
+AsmMsrOr32 (
+ IN UINT32 Index,
+ IN UINT32 OrData
+ );
+
+
+/**
+ Reads a 64-bit MSR, performs a bitwise AND on the lower 32-bits, and writes
+ the result back to the 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise AND between the
+ lower 32-bits of the read result and the value specified by AndData, and
+ writes the result to the 64-bit MSR specified by Index. The lower 32-bits of
+ the value written to the MSR is returned. No parameter checking is performed
+ on Index or AndData, and some of these may cause CPU exceptions. The caller
+ must either guarantee that Index and AndData are valid, or the caller must
+ establish proper exception handlers. This function is only available on IA-32
+ and x64.
+
+ @param Index The 32-bit MSR index to write.
+ @param AndData The value to AND with the read value from the MSR.
+
+ @return The lower 32-bit value written to the MSR.
+
+**/
+UINT32
+EFIAPI
+AsmMsrAnd32 (
+ IN UINT32 Index,
+ IN UINT32 AndData
+ );
+
+
+/**
+ Reads a 64-bit MSR, performs a bitwise AND followed by a bitwise OR
+ on the lower 32-bits, and writes the result back to the 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise AND between the
+ lower 32-bits of the read result and the value specified by AndData
+ preserving the upper 32-bits, performs a bitwise OR between the
+ result of the AND operation and the value specified by OrData, and writes the
+ result to the 64-bit MSR specified by Address. The lower 32-bits of the value
+ written to the MSR is returned. No parameter checking is performed on Index,
+ AndData, or OrData, and some of these may cause CPU exceptions. The caller
+ must either guarantee that Index, AndData, and OrData are valid, or the
+ caller must establish proper exception handlers. This function is only
+ available on IA-32 and x64.
+
+ @param Index The 32-bit MSR index to write.
+ @param AndData The value to AND with the read value from the MSR.
+ @param OrData The value to OR with the result of the AND operation.
+
+ @return The lower 32-bit value written to the MSR.
+
+**/
+UINT32
+EFIAPI
+AsmMsrAndThenOr32 (
+ IN UINT32 Index,
+ IN UINT32 AndData,
+ IN UINT32 OrData
+ );
+
+
+/**
+ Reads a bit field of an MSR.
+
+ Reads the bit field in the lower 32-bits of a 64-bit MSR. The bit field is
+ specified by the StartBit and the EndBit. The value of the bit field is
+ returned. The caller must either guarantee that Index is valid, or the caller
+ must set up exception handlers to catch the exceptions. This function is only
+ available on IA-32 and x64.
+
+ If StartBit is greater than 31, then ASSERT().
+ If EndBit is greater than 31, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+
+ @param Index The 32-bit MSR index to read.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..31.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..31.
+
+ @return The bit field read from the MSR.
+
+**/
+UINT32
+EFIAPI
+AsmMsrBitFieldRead32 (
+ IN UINT32 Index,
+ IN UINTN StartBit,
+ IN UINTN EndBit
+ );
+
+
+/**
+ Writes a bit field to an MSR.
+
+ Writes Value to a bit field in the lower 32-bits of a 64-bit MSR. The bit
+ field is specified by the StartBit and the EndBit. All other bits in the
+ destination MSR are preserved. The lower 32-bits of the MSR written is
+ returned. The caller must either guarantee that Index and the data written
+ is valid, or the caller must set up exception handlers to catch the exceptions.
+ This function is only available on IA-32 and x64.
+
+ If StartBit is greater than 31, then ASSERT().
+ If EndBit is greater than 31, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Index The 32-bit MSR index to write.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..31.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..31.
+ @param Value New value of the bit field.
+
+ @return The lower 32-bit of the value written to the MSR.
+
+**/
+UINT32
+EFIAPI
+AsmMsrBitFieldWrite32 (
+ IN UINT32 Index,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT32 Value
+ );
+
+
+/**
+ Reads a bit field in a 64-bit MSR, performs a bitwise OR, and writes the
+ result back to the bit field in the 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise OR
+ between the read result and the value specified by OrData, and writes the
+ result to the 64-bit MSR specified by Index. The lower 32-bits of the value
+ written to the MSR are returned. Extra left bits in OrData are stripped. The
+ caller must either guarantee that Index and the data written is valid, or
+ the caller must set up exception handlers to catch the exceptions. This
+ function is only available on IA-32 and x64.
+
+ If StartBit is greater than 31, then ASSERT().
+ If EndBit is greater than 31, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Index The 32-bit MSR index to write.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..31.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..31.
+ @param OrData The value to OR with the read value from the MSR.
+
+ @return The lower 32-bit of the value written to the MSR.
+
+**/
+UINT32
+EFIAPI
+AsmMsrBitFieldOr32 (
+ IN UINT32 Index,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT32 OrData
+ );
+
+
+/**
+ Reads a bit field in a 64-bit MSR, performs a bitwise AND, and writes the
+ result back to the bit field in the 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise AND between the
+ read result and the value specified by AndData, and writes the result to the
+ 64-bit MSR specified by Index. The lower 32-bits of the value written to the
+ MSR are returned. Extra left bits in AndData are stripped. The caller must
+ either guarantee that Index and the data written is valid, or the caller must
+ set up exception handlers to catch the exceptions. This function is only
+ available on IA-32 and x64.
+
+ If StartBit is greater than 31, then ASSERT().
+ If EndBit is greater than 31, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Index The 32-bit MSR index to write.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..31.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..31.
+ @param AndData The value to AND with the read value from the MSR.
+
+ @return The lower 32-bit of the value written to the MSR.
+
+**/
+UINT32
+EFIAPI
+AsmMsrBitFieldAnd32 (
+ IN UINT32 Index,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT32 AndData
+ );
+
+
+/**
+ Reads a bit field in a 64-bit MSR, performs a bitwise AND followed by a
+ bitwise OR, and writes the result back to the bit field in the
+ 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise AND followed by a
+ bitwise OR between the read result and the value specified by
+ AndData, and writes the result to the 64-bit MSR specified by Index. The
+ lower 32-bits of the value written to the MSR are returned. Extra left bits
+ in both AndData and OrData are stripped. The caller must either guarantee
+ that Index and the data written is valid, or the caller must set up exception
+ handlers to catch the exceptions. This function is only available on IA-32
+ and x64.
+
+ If StartBit is greater than 31, then ASSERT().
+ If EndBit is greater than 31, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Index The 32-bit MSR index to write.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..31.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..31.
+ @param AndData The value to AND with the read value from the MSR.
+ @param OrData The value to OR with the result of the AND operation.
+
+ @return The lower 32-bit of the value written to the MSR.
+
+**/
+UINT32
+EFIAPI
+AsmMsrBitFieldAndThenOr32 (
+ IN UINT32 Index,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT32 AndData,
+ IN UINT32 OrData
+ );
+
+
+/**
+ Returns a 64-bit Machine Specific Register(MSR).
+
+ Reads and returns the 64-bit MSR specified by Index. No parameter checking is
+ performed on Index, and some Index values may cause CPU exceptions. The
+ caller must either guarantee that Index is valid, or the caller must set up
+ exception handlers to catch the exceptions. This function is only available
+ on IA-32 and x64.
+
+ @param Index The 32-bit MSR index to read.
+
+ @return The value of the MSR identified by Index.
+
+**/
+UINT64
+EFIAPI
+AsmReadMsr64 (
+ IN UINT32 Index
+ );
+
+
+/**
+ Writes a 64-bit value to a Machine Specific Register(MSR), and returns the
+ value.
+
+ Writes the 64-bit value specified by Value to the MSR specified by Index. The
+ 64-bit value written to the MSR is returned. No parameter checking is
+ performed on Index or Value, and some of these may cause CPU exceptions. The
+ caller must either guarantee that Index and Value are valid, or the caller
+ must establish proper exception handlers. This function is only available on
+ IA-32 and x64.
+
+ @param Index The 32-bit MSR index to write.
+ @param Value The 64-bit value to write to the MSR.
+
+ @return Value
+
+**/
+UINT64
+EFIAPI
+AsmWriteMsr64 (
+ IN UINT32 Index,
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads a 64-bit MSR, performs a bitwise OR, and writes the result
+ back to the 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise OR
+ between the read result and the value specified by OrData, and writes the
+ result to the 64-bit MSR specified by Index. The value written to the MSR is
+ returned. No parameter checking is performed on Index or OrData, and some of
+ these may cause CPU exceptions. The caller must either guarantee that Index
+ and OrData are valid, or the caller must establish proper exception handlers.
+ This function is only available on IA-32 and x64.
+
+ @param Index The 32-bit MSR index to write.
+ @param OrData The value to OR with the read value from the MSR.
+
+ @return The value written back to the MSR.
+
+**/
+UINT64
+EFIAPI
+AsmMsrOr64 (
+ IN UINT32 Index,
+ IN UINT64 OrData
+ );
+
+
+/**
+ Reads a 64-bit MSR, performs a bitwise AND, and writes the result back to the
+ 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise AND between the
+ read result and the value specified by OrData, and writes the result to the
+ 64-bit MSR specified by Index. The value written to the MSR is returned. No
+ parameter checking is performed on Index or OrData, and some of these may
+ cause CPU exceptions. The caller must either guarantee that Index and OrData
+ are valid, or the caller must establish proper exception handlers. This
+ function is only available on IA-32 and x64.
+
+ @param Index The 32-bit MSR index to write.
+ @param AndData The value to AND with the read value from the MSR.
+
+ @return The value written back to the MSR.
+
+**/
+UINT64
+EFIAPI
+AsmMsrAnd64 (
+ IN UINT32 Index,
+ IN UINT64 AndData
+ );
+
+
+/**
+ Reads a 64-bit MSR, performs a bitwise AND followed by a bitwise
+ OR, and writes the result back to the 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise AND between read
+ result and the value specified by AndData, performs a bitwise OR
+ between the result of the AND operation and the value specified by OrData,
+ and writes the result to the 64-bit MSR specified by Index. The value written
+ to the MSR is returned. No parameter checking is performed on Index, AndData,
+ or OrData, and some of these may cause CPU exceptions. The caller must either
+ guarantee that Index, AndData, and OrData are valid, or the caller must
+ establish proper exception handlers. This function is only available on IA-32
+ and x64.
+
+ @param Index The 32-bit MSR index to write.
+ @param AndData The value to AND with the read value from the MSR.
+ @param OrData The value to OR with the result of the AND operation.
+
+ @return The value written back to the MSR.
+
+**/
+UINT64
+EFIAPI
+AsmMsrAndThenOr64 (
+ IN UINT32 Index,
+ IN UINT64 AndData,
+ IN UINT64 OrData
+ );
+
+
+/**
+ Reads a bit field of an MSR.
+
+ Reads the bit field in the 64-bit MSR. The bit field is specified by the
+ StartBit and the EndBit. The value of the bit field is returned. The caller
+ must either guarantee that Index is valid, or the caller must set up
+ exception handlers to catch the exceptions. This function is only available
+ on IA-32 and x64.
+
+ If StartBit is greater than 63, then ASSERT().
+ If EndBit is greater than 63, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+
+ @param Index The 32-bit MSR index to read.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..63.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..63.
+
+ @return The value read from the MSR.
+
+**/
+UINT64
+EFIAPI
+AsmMsrBitFieldRead64 (
+ IN UINT32 Index,
+ IN UINTN StartBit,
+ IN UINTN EndBit
+ );
+
+
+/**
+ Writes a bit field to an MSR.
+
+ Writes Value to a bit field in a 64-bit MSR. The bit field is specified by
+ the StartBit and the EndBit. All other bits in the destination MSR are
+ preserved. The MSR written is returned. The caller must either guarantee
+ that Index and the data written is valid, or the caller must set up exception
+ handlers to catch the exceptions. This function is only available on IA-32 and x64.
+
+ If StartBit is greater than 63, then ASSERT().
+ If EndBit is greater than 63, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Index The 32-bit MSR index to write.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..63.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..63.
+ @param Value New value of the bit field.
+
+ @return The value written back to the MSR.
+
+**/
+UINT64
+EFIAPI
+AsmMsrBitFieldWrite64 (
+ IN UINT32 Index,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads a bit field in a 64-bit MSR, performs a bitwise OR, and
+ writes the result back to the bit field in the 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise OR
+ between the read result and the value specified by OrData, and writes the
+ result to the 64-bit MSR specified by Index. The value written to the MSR is
+ returned. Extra left bits in OrData are stripped. The caller must either
+ guarantee that Index and the data written is valid, or the caller must set up
+ exception handlers to catch the exceptions. This function is only available
+ on IA-32 and x64.
+
+ If StartBit is greater than 63, then ASSERT().
+ If EndBit is greater than 63, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Index The 32-bit MSR index to write.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..63.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..63.
+ @param OrData The value to OR with the read value from the bit field.
+
+ @return The value written back to the MSR.
+
+**/
+UINT64
+EFIAPI
+AsmMsrBitFieldOr64 (
+ IN UINT32 Index,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT64 OrData
+ );
+
+
+/**
+ Reads a bit field in a 64-bit MSR, performs a bitwise AND, and writes the
+ result back to the bit field in the 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise AND between the
+ read result and the value specified by AndData, and writes the result to the
+ 64-bit MSR specified by Index. The value written to the MSR is returned.
+ Extra left bits in AndData are stripped. The caller must either guarantee
+ that Index and the data written is valid, or the caller must set up exception
+ handlers to catch the exceptions. This function is only available on IA-32
+ and x64.
+
+ If StartBit is greater than 63, then ASSERT().
+ If EndBit is greater than 63, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Index The 32-bit MSR index to write.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..63.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..63.
+ @param AndData The value to AND with the read value from the bit field.
+
+ @return The value written back to the MSR.
+
+**/
+UINT64
+EFIAPI
+AsmMsrBitFieldAnd64 (
+ IN UINT32 Index,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT64 AndData
+ );
+
+
+/**
+ Reads a bit field in a 64-bit MSR, performs a bitwise AND followed by a
+ bitwise OR, and writes the result back to the bit field in the
+ 64-bit MSR.
+
+ Reads the 64-bit MSR specified by Index, performs a bitwise AND followed by
+ a bitwise OR between the read result and the value specified by
+ AndData, and writes the result to the 64-bit MSR specified by Index. The
+ value written to the MSR is returned. Extra left bits in both AndData and
+ OrData are stripped. The caller must either guarantee that Index and the data
+ written is valid, or the caller must set up exception handlers to catch the
+ exceptions. This function is only available on IA-32 and x64.
+
+ If StartBit is greater than 63, then ASSERT().
+ If EndBit is greater than 63, then ASSERT().
+ If EndBit is less than StartBit, then ASSERT().
+ If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+ If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
+
+ @param Index The 32-bit MSR index to write.
+ @param StartBit The ordinal of the least significant bit in the bit field.
+ Range 0..63.
+ @param EndBit The ordinal of the most significant bit in the bit field.
+ Range 0..63.
+ @param AndData The value to AND with the read value from the bit field.
+ @param OrData The value to OR with the result of the AND operation.
+
+ @return The value written back to the MSR.
+
+**/
+UINT64
+EFIAPI
+AsmMsrBitFieldAndThenOr64 (
+ IN UINT32 Index,
+ IN UINTN StartBit,
+ IN UINTN EndBit,
+ IN UINT64 AndData,
+ IN UINT64 OrData
+ );
+
+
+/**
+ Reads the current value of the EFLAGS register.
+
+ Reads and returns the current value of the EFLAGS register. This function is
+ only available on IA-32 and x64. This returns a 32-bit value on IA-32 and a
+ 64-bit value on x64.
+
+ @return EFLAGS on IA-32 or RFLAGS on x64.
+
+**/
+UINTN
+EFIAPI
+AsmReadEflags (
+ VOID
+ );
+
+
+/**
+ Reads the current value of the Control Register 0 (CR0).
+
+ Reads and returns the current value of CR0. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of the Control Register 0 (CR0).
+
+**/
+UINTN
+EFIAPI
+AsmReadCr0 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of the Control Register 2 (CR2).
+
+ Reads and returns the current value of CR2. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of the Control Register 2 (CR2).
+
+**/
+UINTN
+EFIAPI
+AsmReadCr2 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of the Control Register 3 (CR3).
+
+ Reads and returns the current value of CR3. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of the Control Register 3 (CR3).
+
+**/
+UINTN
+EFIAPI
+AsmReadCr3 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of the Control Register 4 (CR4).
+
+ Reads and returns the current value of CR4. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of the Control Register 4 (CR4).
+
+**/
+UINTN
+EFIAPI
+AsmReadCr4 (
+ VOID
+ );
+
+
+/**
+ Writes a value to Control Register 0 (CR0).
+
+ Writes and returns a new value to CR0. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Cr0 The value to write to CR0.
+
+ @return The value written to CR0.
+
+**/
+UINTN
+EFIAPI
+AsmWriteCr0 (
+ UINTN Cr0
+ );
+
+
+/**
+ Writes a value to Control Register 2 (CR2).
+
+ Writes and returns a new value to CR2. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Cr2 The value to write to CR2.
+
+ @return The value written to CR2.
+
+**/
+UINTN
+EFIAPI
+AsmWriteCr2 (
+ UINTN Cr2
+ );
+
+
+/**
+ Writes a value to Control Register 3 (CR3).
+
+ Writes and returns a new value to CR3. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Cr3 The value to write to CR3.
+
+ @return The value written to CR3.
+
+**/
+UINTN
+EFIAPI
+AsmWriteCr3 (
+ UINTN Cr3
+ );
+
+
+/**
+ Writes a value to Control Register 4 (CR4).
+
+ Writes and returns a new value to CR4. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Cr4 The value to write to CR4.
+
+ @return The value written to CR4.
+
+**/
+UINTN
+EFIAPI
+AsmWriteCr4 (
+ UINTN Cr4
+ );
+
+
+/**
+ Reads the current value of Debug Register 0 (DR0).
+
+ Reads and returns the current value of DR0. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of Debug Register 0 (DR0).
+
+**/
+UINTN
+EFIAPI
+AsmReadDr0 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Debug Register 1 (DR1).
+
+ Reads and returns the current value of DR1. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of Debug Register 1 (DR1).
+
+**/
+UINTN
+EFIAPI
+AsmReadDr1 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Debug Register 2 (DR2).
+
+ Reads and returns the current value of DR2. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of Debug Register 2 (DR2).
+
+**/
+UINTN
+EFIAPI
+AsmReadDr2 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Debug Register 3 (DR3).
+
+ Reads and returns the current value of DR3. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of Debug Register 3 (DR3).
+
+**/
+UINTN
+EFIAPI
+AsmReadDr3 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Debug Register 4 (DR4).
+
+ Reads and returns the current value of DR4. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of Debug Register 4 (DR4).
+
+**/
+UINTN
+EFIAPI
+AsmReadDr4 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Debug Register 5 (DR5).
+
+ Reads and returns the current value of DR5. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of Debug Register 5 (DR5).
+
+**/
+UINTN
+EFIAPI
+AsmReadDr5 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Debug Register 6 (DR6).
+
+ Reads and returns the current value of DR6. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of Debug Register 6 (DR6).
+
+**/
+UINTN
+EFIAPI
+AsmReadDr6 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Debug Register 7 (DR7).
+
+ Reads and returns the current value of DR7. This function is only available
+ on IA-32 and x64. This returns a 32-bit value on IA-32 and a 64-bit value on
+ x64.
+
+ @return The value of Debug Register 7 (DR7).
+
+**/
+UINTN
+EFIAPI
+AsmReadDr7 (
+ VOID
+ );
+
+
+/**
+ Writes a value to Debug Register 0 (DR0).
+
+ Writes and returns a new value to DR0. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Dr0 The value to write to Dr0.
+
+ @return The value written to Debug Register 0 (DR0).
+
+**/
+UINTN
+EFIAPI
+AsmWriteDr0 (
+ UINTN Dr0
+ );
+
+
+/**
+ Writes a value to Debug Register 1 (DR1).
+
+ Writes and returns a new value to DR1. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Dr1 The value to write to Dr1.
+
+ @return The value written to Debug Register 1 (DR1).
+
+**/
+UINTN
+EFIAPI
+AsmWriteDr1 (
+ UINTN Dr1
+ );
+
+
+/**
+ Writes a value to Debug Register 2 (DR2).
+
+ Writes and returns a new value to DR2. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Dr2 The value to write to Dr2.
+
+ @return The value written to Debug Register 2 (DR2).
+
+**/
+UINTN
+EFIAPI
+AsmWriteDr2 (
+ UINTN Dr2
+ );
+
+
+/**
+ Writes a value to Debug Register 3 (DR3).
+
+ Writes and returns a new value to DR3. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Dr3 The value to write to Dr3.
+
+ @return The value written to Debug Register 3 (DR3).
+
+**/
+UINTN
+EFIAPI
+AsmWriteDr3 (
+ UINTN Dr3
+ );
+
+
+/**
+ Writes a value to Debug Register 4 (DR4).
+
+ Writes and returns a new value to DR4. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Dr4 The value to write to Dr4.
+
+ @return The value written to Debug Register 4 (DR4).
+
+**/
+UINTN
+EFIAPI
+AsmWriteDr4 (
+ UINTN Dr4
+ );
+
+
+/**
+ Writes a value to Debug Register 5 (DR5).
+
+ Writes and returns a new value to DR5. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Dr5 The value to write to Dr5.
+
+ @return The value written to Debug Register 5 (DR5).
+
+**/
+UINTN
+EFIAPI
+AsmWriteDr5 (
+ UINTN Dr5
+ );
+
+
+/**
+ Writes a value to Debug Register 6 (DR6).
+
+ Writes and returns a new value to DR6. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Dr6 The value to write to Dr6.
+
+ @return The value written to Debug Register 6 (DR6).
+
+**/
+UINTN
+EFIAPI
+AsmWriteDr6 (
+ UINTN Dr6
+ );
+
+
+/**
+ Writes a value to Debug Register 7 (DR7).
+
+ Writes and returns a new value to DR7. This function is only available on
+ IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
+
+ @param Dr7 The value to write to Dr7.
+
+ @return The value written to Debug Register 7 (DR7).
+
+**/
+UINTN
+EFIAPI
+AsmWriteDr7 (
+ UINTN Dr7
+ );
+
+
+/**
+ Reads the current value of Code Segment Register (CS).
+
+ Reads and returns the current value of CS. This function is only available on
+ IA-32 and x64.
+
+ @return The current value of CS.
+
+**/
+UINT16
+EFIAPI
+AsmReadCs (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Data Segment Register (DS).
+
+ Reads and returns the current value of DS. This function is only available on
+ IA-32 and x64.
+
+ @return The current value of DS.
+
+**/
+UINT16
+EFIAPI
+AsmReadDs (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Extra Segment Register (ES).
+
+ Reads and returns the current value of ES. This function is only available on
+ IA-32 and x64.
+
+ @return The current value of ES.
+
+**/
+UINT16
+EFIAPI
+AsmReadEs (
+ VOID
+ );
+
+
+/**
+ Reads the current value of FS Data Segment Register (FS).
+
+ Reads and returns the current value of FS. This function is only available on
+ IA-32 and x64.
+
+ @return The current value of FS.
+
+**/
+UINT16
+EFIAPI
+AsmReadFs (
+ VOID
+ );
+
+
+/**
+ Reads the current value of GS Data Segment Register (GS).
+
+ Reads and returns the current value of GS. This function is only available on
+ IA-32 and x64.
+
+ @return The current value of GS.
+
+**/
+UINT16
+EFIAPI
+AsmReadGs (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Stack Segment Register (SS).
+
+ Reads and returns the current value of SS. This function is only available on
+ IA-32 and x64.
+
+ @return The current value of SS.
+
+**/
+UINT16
+EFIAPI
+AsmReadSs (
+ VOID
+ );
+
+
+/**
+ Reads the current value of Task Register (TR).
+
+ Reads and returns the current value of TR. This function is only available on
+ IA-32 and x64.
+
+ @return The current value of TR.
+
+**/
+UINT16
+EFIAPI
+AsmReadTr (
+ VOID
+ );
+
+
+/**
+ Reads the current Global Descriptor Table Register(GDTR) descriptor.
+
+ Reads and returns the current GDTR descriptor and returns it in Gdtr. This
+ function is only available on IA-32 and x64.
+
+ If Gdtr is NULL, then ASSERT().
+
+ @param Gdtr The pointer to a GDTR descriptor.
+
+**/
+VOID
+EFIAPI
+AsmReadGdtr (
+ OUT IA32_DESCRIPTOR *Gdtr
+ );
+
+
+/**
+ Writes the current Global Descriptor Table Register (GDTR) descriptor.
+
+ Writes and the current GDTR descriptor specified by Gdtr. This function is
+ only available on IA-32 and x64.
+
+ If Gdtr is NULL, then ASSERT().
+
+ @param Gdtr The pointer to a GDTR descriptor.
+
+**/
+VOID
+EFIAPI
+AsmWriteGdtr (
+ IN CONST IA32_DESCRIPTOR *Gdtr
+ );
+
+
+/**
+ Reads the current Interrupt Descriptor Table Register(IDTR) descriptor.
+
+ Reads and returns the current IDTR descriptor and returns it in Idtr. This
+ function is only available on IA-32 and x64.
+
+ If Idtr is NULL, then ASSERT().
+
+ @param Idtr The pointer to a IDTR descriptor.
+
+**/
+VOID
+EFIAPI
+AsmReadIdtr (
+ OUT IA32_DESCRIPTOR *Idtr
+ );
+
+
+/**
+ Writes the current Interrupt Descriptor Table Register(IDTR) descriptor.
+
+ Writes the current IDTR descriptor and returns it in Idtr. This function is
+ only available on IA-32 and x64.
+
+ If Idtr is NULL, then ASSERT().
+
+ @param Idtr The pointer to a IDTR descriptor.
+
+**/
+VOID
+EFIAPI
+AsmWriteIdtr (
+ IN CONST IA32_DESCRIPTOR *Idtr
+ );
+
+
+/**
+ Reads the current Local Descriptor Table Register(LDTR) selector.
+
+ Reads and returns the current 16-bit LDTR descriptor value. This function is
+ only available on IA-32 and x64.
+
+ @return The current selector of LDT.
+
+**/
+UINT16
+EFIAPI
+AsmReadLdtr (
+ VOID
+ );
+
+
+/**
+ Writes the current Local Descriptor Table Register (LDTR) selector.
+
+ Writes and the current LDTR descriptor specified by Ldtr. This function is
+ only available on IA-32 and x64.
+
+ @param Ldtr 16-bit LDTR selector value.
+
+**/
+VOID
+EFIAPI
+AsmWriteLdtr (
+ IN UINT16 Ldtr
+ );
+
+
+/**
+ Save the current floating point/SSE/SSE2 context to a buffer.
+
+ Saves the current floating point/SSE/SSE2 state to the buffer specified by
+ Buffer. Buffer must be aligned on a 16-byte boundary. This function is only
+ available on IA-32 and x64.
+
+ If Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 16-byte boundary, then ASSERT().
+
+ @param Buffer The pointer to a buffer to save the floating point/SSE/SSE2 context.
+
+**/
+VOID
+EFIAPI
+AsmFxSave (
+ OUT IA32_FX_BUFFER *Buffer
+ );
+
+
+/**
+ Restores the current floating point/SSE/SSE2 context from a buffer.
+
+ Restores the current floating point/SSE/SSE2 state from the buffer specified
+ by Buffer. Buffer must be aligned on a 16-byte boundary. This function is
+ only available on IA-32 and x64.
+
+ If Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 16-byte boundary, then ASSERT().
+ If Buffer was not saved with AsmFxSave(), then ASSERT().
+
+ @param Buffer The pointer to a buffer to save the floating point/SSE/SSE2 context.
+
+**/
+VOID
+EFIAPI
+AsmFxRestore (
+ IN CONST IA32_FX_BUFFER *Buffer
+ );
+
+
+/**
+ Reads the current value of 64-bit MMX Register #0 (MM0).
+
+ Reads and returns the current value of MM0. This function is only available
+ on IA-32 and x64.
+
+ @return The current value of MM0.
+
+**/
+UINT64
+EFIAPI
+AsmReadMm0 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit MMX Register #1 (MM1).
+
+ Reads and returns the current value of MM1. This function is only available
+ on IA-32 and x64.
+
+ @return The current value of MM1.
+
+**/
+UINT64
+EFIAPI
+AsmReadMm1 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit MMX Register #2 (MM2).
+
+ Reads and returns the current value of MM2. This function is only available
+ on IA-32 and x64.
+
+ @return The current value of MM2.
+
+**/
+UINT64
+EFIAPI
+AsmReadMm2 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit MMX Register #3 (MM3).
+
+ Reads and returns the current value of MM3. This function is only available
+ on IA-32 and x64.
+
+ @return The current value of MM3.
+
+**/
+UINT64
+EFIAPI
+AsmReadMm3 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit MMX Register #4 (MM4).
+
+ Reads and returns the current value of MM4. This function is only available
+ on IA-32 and x64.
+
+ @return The current value of MM4.
+
+**/
+UINT64
+EFIAPI
+AsmReadMm4 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit MMX Register #5 (MM5).
+
+ Reads and returns the current value of MM5. This function is only available
+ on IA-32 and x64.
+
+ @return The current value of MM5.
+
+**/
+UINT64
+EFIAPI
+AsmReadMm5 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit MMX Register #6 (MM6).
+
+ Reads and returns the current value of MM6. This function is only available
+ on IA-32 and x64.
+
+ @return The current value of MM6.
+
+**/
+UINT64
+EFIAPI
+AsmReadMm6 (
+ VOID
+ );
+
+
+/**
+ Reads the current value of 64-bit MMX Register #7 (MM7).
+
+ Reads and returns the current value of MM7. This function is only available
+ on IA-32 and x64.
+
+ @return The current value of MM7.
+
+**/
+UINT64
+EFIAPI
+AsmReadMm7 (
+ VOID
+ );
+
+
+/**
+ Writes the current value of 64-bit MMX Register #0 (MM0).
+
+ Writes the current value of MM0. This function is only available on IA32 and
+ x64.
+
+ @param Value The 64-bit value to write to MM0.
+
+**/
+VOID
+EFIAPI
+AsmWriteMm0 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit MMX Register #1 (MM1).
+
+ Writes the current value of MM1. This function is only available on IA32 and
+ x64.
+
+ @param Value The 64-bit value to write to MM1.
+
+**/
+VOID
+EFIAPI
+AsmWriteMm1 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit MMX Register #2 (MM2).
+
+ Writes the current value of MM2. This function is only available on IA32 and
+ x64.
+
+ @param Value The 64-bit value to write to MM2.
+
+**/
+VOID
+EFIAPI
+AsmWriteMm2 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit MMX Register #3 (MM3).
+
+ Writes the current value of MM3. This function is only available on IA32 and
+ x64.
+
+ @param Value The 64-bit value to write to MM3.
+
+**/
+VOID
+EFIAPI
+AsmWriteMm3 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit MMX Register #4 (MM4).
+
+ Writes the current value of MM4. This function is only available on IA32 and
+ x64.
+
+ @param Value The 64-bit value to write to MM4.
+
+**/
+VOID
+EFIAPI
+AsmWriteMm4 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit MMX Register #5 (MM5).
+
+ Writes the current value of MM5. This function is only available on IA32 and
+ x64.
+
+ @param Value The 64-bit value to write to MM5.
+
+**/
+VOID
+EFIAPI
+AsmWriteMm5 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit MMX Register #6 (MM6).
+
+ Writes the current value of MM6. This function is only available on IA32 and
+ x64.
+
+ @param Value The 64-bit value to write to MM6.
+
+**/
+VOID
+EFIAPI
+AsmWriteMm6 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Writes the current value of 64-bit MMX Register #7 (MM7).
+
+ Writes the current value of MM7. This function is only available on IA32 and
+ x64.
+
+ @param Value The 64-bit value to write to MM7.
+
+**/
+VOID
+EFIAPI
+AsmWriteMm7 (
+ IN UINT64 Value
+ );
+
+
+/**
+ Reads the current value of Time Stamp Counter (TSC).
+
+ Reads and returns the current value of TSC. This function is only available
+ on IA-32 and x64.
+
+ @return The current value of TSC
+
+**/
+UINT64
+EFIAPI
+AsmReadTsc (
+ VOID
+ );
+
+
+/**
+ Reads the current value of a Performance Counter (PMC).
+
+ Reads and returns the current value of performance counter specified by
+ Index. This function is only available on IA-32 and x64.
+
+ @param Index The 32-bit Performance Counter index to read.
+
+ @return The value of the PMC specified by Index.
+
+**/
+UINT64
+EFIAPI
+AsmReadPmc (
+ IN UINT32 Index
+ );
+
+
+/**
+ Sets up a monitor buffer that is used by AsmMwait().
+
+ Executes a MONITOR instruction with the register state specified by Eax, Ecx
+ and Edx. Returns Eax. This function is only available on IA-32 and x64.
+
+ @param Eax The value to load into EAX or RAX before executing the MONITOR
+ instruction.
+ @param Ecx The value to load into ECX or RCX before executing the MONITOR
+ instruction.
+ @param Edx The value to load into EDX or RDX before executing the MONITOR
+ instruction.
+
+ @return Eax
+
+**/
+UINTN
+EFIAPI
+AsmMonitor (
+ IN UINTN Eax,
+ IN UINTN Ecx,
+ IN UINTN Edx
+ );
+
+
+/**
+ Executes an MWAIT instruction.
+
+ Executes an MWAIT instruction with the register state specified by Eax and
+ Ecx. Returns Eax. This function is only available on IA-32 and x64.
+
+ @param Eax The value to load into EAX or RAX before executing the MONITOR
+ instruction.
+ @param Ecx The value to load into ECX or RCX before executing the MONITOR
+ instruction.
+
+ @return Eax
+
+**/
+UINTN
+EFIAPI
+AsmMwait (
+ IN UINTN Eax,
+ IN UINTN Ecx
+ );
+
+
+/**
+ Executes a WBINVD instruction.
+
+ Executes a WBINVD instruction. This function is only available on IA-32 and
+ x64.
+
+**/
+VOID
+EFIAPI
+AsmWbinvd (
+ VOID
+ );
+
+
+/**
+ Executes a INVD instruction.
+
+ Executes a INVD instruction. This function is only available on IA-32 and
+ x64.
+
+**/
+VOID
+EFIAPI
+AsmInvd (
+ VOID
+ );
+
+
+/**
+ Flushes a cache line from all the instruction and data caches within the
+ coherency domain of the CPU.
+
+ Flushed the cache line specified by LinearAddress, and returns LinearAddress.
+ This function is only available on IA-32 and x64.
+
+ @param LinearAddress The address of the cache line to flush. If the CPU is
+ in a physical addressing mode, then LinearAddress is a
+ physical address. If the CPU is in a virtual
+ addressing mode, then LinearAddress is a virtual
+ address.
+
+ @return LinearAddress.
+**/
+VOID *
+EFIAPI
+AsmFlushCacheLine (
+ IN VOID *LinearAddress
+ );
+
+
+/**
+ Enables the 32-bit paging mode on the CPU.
+
+ Enables the 32-bit paging mode on the CPU. CR0, CR3, CR4, and the page tables
+ must be properly initialized prior to calling this service. This function
+ assumes the current execution mode is 32-bit protected mode. This function is
+ only available on IA-32. After the 32-bit paging mode is enabled, control is
+ transferred to the function specified by EntryPoint using the new stack
+ specified by NewStack and passing in the parameters specified by Context1 and
+ Context2. Context1 and Context2 are optional and may be NULL. The function
+ EntryPoint must never return.
+
+ If the current execution mode is not 32-bit protected mode, then ASSERT().
+ If EntryPoint is NULL, then ASSERT().
+ If NewStack is NULL, then ASSERT().
+
+ There are a number of constraints that must be followed before calling this
+ function:
+ 1) Interrupts must be disabled.
+ 2) The caller must be in 32-bit protected mode with flat descriptors. This
+ means all descriptors must have a base of 0 and a limit of 4GB.
+ 3) CR0 and CR4 must be compatible with 32-bit protected mode with flat
+ descriptors.
+ 4) CR3 must point to valid page tables that will be used once the transition
+ is complete, and those page tables must guarantee that the pages for this
+ function and the stack are identity mapped.
+
+ @param EntryPoint A pointer to function to call with the new stack after
+ paging is enabled.
+ @param Context1 A pointer to the context to pass into the EntryPoint
+ function as the first parameter after paging is enabled.
+ @param Context2 A pointer to the context to pass into the EntryPoint
+ function as the second parameter after paging is enabled.
+ @param NewStack A pointer to the new stack to use for the EntryPoint
+ function after paging is enabled.
+
+**/
+VOID
+EFIAPI
+AsmEnablePaging32 (
+ IN SWITCH_STACK_ENTRY_POINT EntryPoint,
+ IN VOID *Context1, OPTIONAL
+ IN VOID *Context2, OPTIONAL
+ IN VOID *NewStack
+ );
+
+
+/**
+ Disables the 32-bit paging mode on the CPU.
+
+ Disables the 32-bit paging mode on the CPU and returns to 32-bit protected
+ mode. This function assumes the current execution mode is 32-paged protected
+ mode. This function is only available on IA-32. After the 32-bit paging mode
+ is disabled, control is transferred to the function specified by EntryPoint
+ using the new stack specified by NewStack and passing in the parameters
+ specified by Context1 and Context2. Context1 and Context2 are optional and
+ may be NULL. The function EntryPoint must never return.
+
+ If the current execution mode is not 32-bit paged mode, then ASSERT().
+ If EntryPoint is NULL, then ASSERT().
+ If NewStack is NULL, then ASSERT().
+
+ There are a number of constraints that must be followed before calling this
+ function:
+ 1) Interrupts must be disabled.
+ 2) The caller must be in 32-bit paged mode.
+ 3) CR0, CR3, and CR4 must be compatible with 32-bit paged mode.
+ 4) CR3 must point to valid page tables that guarantee that the pages for
+ this function and the stack are identity mapped.
+
+ @param EntryPoint A pointer to function to call with the new stack after
+ paging is disabled.
+ @param Context1 A pointer to the context to pass into the EntryPoint
+ function as the first parameter after paging is disabled.
+ @param Context2 A pointer to the context to pass into the EntryPoint
+ function as the second parameter after paging is
+ disabled.
+ @param NewStack A pointer to the new stack to use for the EntryPoint
+ function after paging is disabled.
+
+**/
+VOID
+EFIAPI
+AsmDisablePaging32 (
+ IN SWITCH_STACK_ENTRY_POINT EntryPoint,
+ IN VOID *Context1, OPTIONAL
+ IN VOID *Context2, OPTIONAL
+ IN VOID *NewStack
+ );
+
+
+/**
+ Enables the 64-bit paging mode on the CPU.
+
+ Enables the 64-bit paging mode on the CPU. CR0, CR3, CR4, and the page tables
+ must be properly initialized prior to calling this service. This function
+ assumes the current execution mode is 32-bit protected mode with flat
+ descriptors. This function is only available on IA-32. After the 64-bit
+ paging mode is enabled, control is transferred to the function specified by
+ EntryPoint using the new stack specified by NewStack and passing in the
+ parameters specified by Context1 and Context2. Context1 and Context2 are
+ optional and may be 0. The function EntryPoint must never return.
+
+ If the current execution mode is not 32-bit protected mode with flat
+ descriptors, then ASSERT().
+ If EntryPoint is 0, then ASSERT().
+ If NewStack is 0, then ASSERT().
+
+ @param Cs The 16-bit selector to load in the CS before EntryPoint
+ is called. The descriptor in the GDT that this selector
+ references must be setup for long mode.
+ @param EntryPoint The 64-bit virtual address of the function to call with
+ the new stack after paging is enabled.
+ @param Context1 The 64-bit virtual address of the context to pass into
+ the EntryPoint function as the first parameter after
+ paging is enabled.
+ @param Context2 The 64-bit virtual address of the context to pass into
+ the EntryPoint function as the second parameter after
+ paging is enabled.
+ @param NewStack The 64-bit virtual address of the new stack to use for
+ the EntryPoint function after paging is enabled.
+
+**/
+VOID
+EFIAPI
+AsmEnablePaging64 (
+ IN UINT16 Cs,
+ IN UINT64 EntryPoint,
+ IN UINT64 Context1, OPTIONAL
+ IN UINT64 Context2, OPTIONAL
+ IN UINT64 NewStack
+ );
+
+
+/**
+ Disables the 64-bit paging mode on the CPU.
+
+ Disables the 64-bit paging mode on the CPU and returns to 32-bit protected
+ mode. This function assumes the current execution mode is 64-paging mode.
+ This function is only available on x64. After the 64-bit paging mode is
+ disabled, control is transferred to the function specified by EntryPoint
+ using the new stack specified by NewStack and passing in the parameters
+ specified by Context1 and Context2. Context1 and Context2 are optional and
+ may be 0. The function EntryPoint must never return.
+
+ If the current execution mode is not 64-bit paged mode, then ASSERT().
+ If EntryPoint is 0, then ASSERT().
+ If NewStack is 0, then ASSERT().
+
+ @param Cs The 16-bit selector to load in the CS before EntryPoint
+ is called. The descriptor in the GDT that this selector
+ references must be setup for 32-bit protected mode.
+ @param EntryPoint The 64-bit virtual address of the function to call with
+ the new stack after paging is disabled.
+ @param Context1 The 64-bit virtual address of the context to pass into
+ the EntryPoint function as the first parameter after
+ paging is disabled.
+ @param Context2 The 64-bit virtual address of the context to pass into
+ the EntryPoint function as the second parameter after
+ paging is disabled.
+ @param NewStack The 64-bit virtual address of the new stack to use for
+ the EntryPoint function after paging is disabled.
+
+**/
+VOID
+EFIAPI
+AsmDisablePaging64 (
+ IN UINT16 Cs,
+ IN UINT32 EntryPoint,
+ IN UINT32 Context1, OPTIONAL
+ IN UINT32 Context2, OPTIONAL
+ IN UINT32 NewStack
+ );
+
+
+//
+// 16-bit thunking services
+//
+
+/**
+ Retrieves the properties for 16-bit thunk functions.
+
+ Computes the size of the buffer and stack below 1MB required to use the
+ AsmPrepareThunk16(), AsmThunk16() and AsmPrepareAndThunk16() functions. This
+ buffer size is returned in RealModeBufferSize, and the stack size is returned
+ in ExtraStackSize. If parameters are passed to the 16-bit real mode code,
+ then the actual minimum stack size is ExtraStackSize plus the maximum number
+ of bytes that need to be passed to the 16-bit real mode code.
+
+ If RealModeBufferSize is NULL, then ASSERT().
+ If ExtraStackSize is NULL, then ASSERT().
+
+ @param RealModeBufferSize A pointer to the size of the buffer below 1MB
+ required to use the 16-bit thunk functions.
+ @param ExtraStackSize A pointer to the extra size of stack below 1MB
+ that the 16-bit thunk functions require for
+ temporary storage in the transition to and from
+ 16-bit real mode.
+
+**/
+VOID
+EFIAPI
+AsmGetThunk16Properties (
+ OUT UINT32 *RealModeBufferSize,
+ OUT UINT32 *ExtraStackSize
+ );
+
+
+/**
+ Prepares all structures a code required to use AsmThunk16().
+
+ Prepares all structures and code required to use AsmThunk16().
+
+ This interface is limited to be used in either physical mode or virtual modes with paging enabled where the
+ virtual to physical mappings for ThunkContext.RealModeBuffer is mapped 1:1.
+
+ If ThunkContext is NULL, then ASSERT().
+
+ @param ThunkContext A pointer to the context structure that describes the
+ 16-bit real mode code to call.
+
+**/
+VOID
+EFIAPI
+AsmPrepareThunk16 (
+ IN OUT THUNK_CONTEXT *ThunkContext
+ );
+
+
+/**
+ Transfers control to a 16-bit real mode entry point and returns the results.
+
+ Transfers control to a 16-bit real mode entry point and returns the results.
+ AsmPrepareThunk16() must be called with ThunkContext before this function is used.
+ This function must be called with interrupts disabled.
+
+ The register state from the RealModeState field of ThunkContext is restored just prior
+ to calling the 16-bit real mode entry point. This includes the EFLAGS field of RealModeState,
+ which is used to set the interrupt state when a 16-bit real mode entry point is called.
+ Control is transferred to the 16-bit real mode entry point specified by the CS and Eip fields of RealModeState.
+ The stack is initialized to the SS and ESP fields of RealModeState. Any parameters passed to
+ the 16-bit real mode code must be populated by the caller at SS:ESP prior to calling this function.
+ The 16-bit real mode entry point is invoked with a 16-bit CALL FAR instruction,
+ so when accessing stack contents, the 16-bit real mode code must account for the 16-bit segment
+ and 16-bit offset of the return address that were pushed onto the stack. The 16-bit real mode entry
+ point must exit with a RETF instruction. The register state is captured into RealModeState immediately
+ after the RETF instruction is executed.
+
+ If EFLAGS specifies interrupts enabled, or any of the 16-bit real mode code enables interrupts,
+ or any of the 16-bit real mode code makes a SW interrupt, then the caller is responsible for making sure
+ the IDT at address 0 is initialized to handle any HW or SW interrupts that may occur while in 16-bit real mode.
+
+ If EFLAGS specifies interrupts enabled, or any of the 16-bit real mode code enables interrupts,
+ then the caller is responsible for making sure the 8259 PIC is in a state compatible with 16-bit real mode.
+ This includes the base vectors, the interrupt masks, and the edge/level trigger mode.
+
+ If THUNK_ATTRIBUTE_BIG_REAL_MODE is set in the ThunkAttributes field of ThunkContext, then the user code
+ is invoked in big real mode. Otherwise, the user code is invoked in 16-bit real mode with 64KB segment limits.
+
+ If neither THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 nor THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL are set in
+ ThunkAttributes, then it is assumed that the user code did not enable the A20 mask, and no attempt is made to
+ disable the A20 mask.
+
+ If THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 is set and THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL is clear in
+ ThunkAttributes, then attempt to use the INT 15 service to disable the A20 mask. If this INT 15 call fails,
+ then attempt to disable the A20 mask by directly accessing the 8042 keyboard controller I/O ports.
+
+ If THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 is clear and THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL is set in
+ ThunkAttributes, then attempt to disable the A20 mask by directly accessing the 8042 keyboard controller I/O ports.
+
+ If ThunkContext is NULL, then ASSERT().
+ If AsmPrepareThunk16() was not previously called with ThunkContext, then ASSERT().
+ If both THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 and THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL are set in
+ ThunkAttributes, then ASSERT().
+
+ This interface is limited to be used in either physical mode or virtual modes with paging enabled where the
+ virtual to physical mappings for ThunkContext.RealModeBuffer are mapped 1:1.
+
+ @param ThunkContext A pointer to the context structure that describes the
+ 16-bit real mode code to call.
+
+**/
+VOID
+EFIAPI
+AsmThunk16 (
+ IN OUT THUNK_CONTEXT *ThunkContext
+ );
+
+
+/**
+ Prepares all structures and code for a 16-bit real mode thunk, transfers
+ control to a 16-bit real mode entry point, and returns the results.
+
+ Prepares all structures and code for a 16-bit real mode thunk, transfers
+ control to a 16-bit real mode entry point, and returns the results. If the
+ caller only need to perform a single 16-bit real mode thunk, then this
+ service should be used. If the caller intends to make more than one 16-bit
+ real mode thunk, then it is more efficient if AsmPrepareThunk16() is called
+ once and AsmThunk16() can be called for each 16-bit real mode thunk.
+
+ This interface is limited to be used in either physical mode or virtual modes with paging enabled where the
+ virtual to physical mappings for ThunkContext.RealModeBuffer is mapped 1:1.
+
+ See AsmPrepareThunk16() and AsmThunk16() for the detailed description and ASSERT() conditions.
+
+ @param ThunkContext A pointer to the context structure that describes the
+ 16-bit real mode code to call.
+
+**/
+VOID
+EFIAPI
+AsmPrepareAndThunk16 (
+ IN OUT THUNK_CONTEXT *ThunkContext
+ );
+
+/**
+ Generates a 16-bit random number through RDRAND instruction.
+
+ if Rand is NULL, then ASSERT().
+
+ @param[out] Rand Buffer pointer to store the random result.
+
+ @retval TRUE RDRAND call was successful.
+ @retval FALSE Failed attempts to call RDRAND.
+
+ **/
+BOOLEAN
+EFIAPI
+AsmRdRand16 (
+ OUT UINT16 *Rand
+ );
+
+/**
+ Generates a 32-bit random number through RDRAND instruction.
+
+ if Rand is NULL, then ASSERT().
+
+ @param[out] Rand Buffer pointer to store the random result.
+
+ @retval TRUE RDRAND call was successful.
+ @retval FALSE Failed attempts to call RDRAND.
+
+**/
+BOOLEAN
+EFIAPI
+AsmRdRand32 (
+ OUT UINT32 *Rand
+ );
+
+/**
+ Generates a 64-bit random number through RDRAND instruction.
+
+ if Rand is NULL, then ASSERT().
+
+ @param[out] Rand Buffer pointer to store the random result.
+
+ @retval TRUE RDRAND call was successful.
+ @retval FALSE Failed attempts to call RDRAND.
+
+**/
+BOOLEAN
+EFIAPI
+AsmRdRand64 (
+ OUT UINT64 *Rand
+ );
+
+#endif
+#endif
+
+
diff --git a/sys/contrib/edk2/Include/Library/BaseMemoryLib.h b/sys/contrib/edk2/Include/Library/BaseMemoryLib.h
new file mode 100644
index 0000000..31a403c
--- /dev/null
+++ b/sys/contrib/edk2/Include/Library/BaseMemoryLib.h
@@ -0,0 +1,489 @@
+/** @file
+ Provides copy memory, fill memory, zero memory, and GUID functions.
+
+ The Base Memory Library provides optimized implementations for common memory-based operations.
+ These functions should be used in place of coding your own loops to do equivalent common functions.
+ This allows optimized library implementations to help increase performance.
+
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __BASE_MEMORY_LIB__
+#define __BASE_MEMORY_LIB__
+
+/**
+ Copies a source buffer to a destination buffer, and returns the destination buffer.
+
+ This function copies Length bytes from SourceBuffer to DestinationBuffer, and returns
+ DestinationBuffer. The implementation must be reentrant, and it must handle the case
+ where SourceBuffer overlaps DestinationBuffer.
+
+ If Length is greater than (MAX_ADDRESS - DestinationBuffer + 1), then ASSERT().
+ If Length is greater than (MAX_ADDRESS - SourceBuffer + 1), then ASSERT().
+
+ @param DestinationBuffer The pointer to the destination buffer of the memory copy.
+ @param SourceBuffer The pointer to the source buffer of the memory copy.
+ @param Length The number of bytes to copy from SourceBuffer to DestinationBuffer.
+
+ @return DestinationBuffer.
+
+**/
+VOID *
+EFIAPI
+CopyMem (
+ OUT VOID *DestinationBuffer,
+ IN CONST VOID *SourceBuffer,
+ IN UINTN Length
+ );
+
+/**
+ Fills a target buffer with a byte value, and returns the target buffer.
+
+ This function fills Length bytes of Buffer with Value, and returns Buffer.
+
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The memory to set.
+ @param Length The number of bytes to set.
+ @param Value The value with which to fill Length bytes of Buffer.
+
+ @return Buffer.
+
+**/
+VOID *
+EFIAPI
+SetMem (
+ OUT VOID *Buffer,
+ IN UINTN Length,
+ IN UINT8 Value
+ );
+
+/**
+ Fills a target buffer with a 16-bit value, and returns the target buffer.
+
+ This function fills Length bytes of Buffer with the 16-bit value specified by
+ Value, and returns Buffer. Value is repeated every 16-bits in for Length
+ bytes of Buffer.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+ If Buffer is not aligned on a 16-bit boundary, then ASSERT().
+ If Length is not aligned on a 16-bit boundary, then ASSERT().
+
+ @param Buffer The pointer to the target buffer to fill.
+ @param Length The number of bytes in Buffer to fill.
+ @param Value The value with which to fill Length bytes of Buffer.
+
+ @return Buffer.
+
+**/
+VOID *
+EFIAPI
+SetMem16 (
+ OUT VOID *Buffer,
+ IN UINTN Length,
+ IN UINT16 Value
+ );
+
+/**
+ Fills a target buffer with a 32-bit value, and returns the target buffer.
+
+ This function fills Length bytes of Buffer with the 32-bit value specified by
+ Value, and returns Buffer. Value is repeated every 32-bits in for Length
+ bytes of Buffer.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+ If Buffer is not aligned on a 32-bit boundary, then ASSERT().
+ If Length is not aligned on a 32-bit boundary, then ASSERT().
+
+ @param Buffer The pointer to the target buffer to fill.
+ @param Length The number of bytes in Buffer to fill.
+ @param Value The value with which to fill Length bytes of Buffer.
+
+ @return Buffer.
+
+**/
+VOID *
+EFIAPI
+SetMem32 (
+ OUT VOID *Buffer,
+ IN UINTN Length,
+ IN UINT32 Value
+ );
+
+/**
+ Fills a target buffer with a 64-bit value, and returns the target buffer.
+
+ This function fills Length bytes of Buffer with the 64-bit value specified by
+ Value, and returns Buffer. Value is repeated every 64-bits in for Length
+ bytes of Buffer.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+ If Buffer is not aligned on a 64-bit boundary, then ASSERT().
+ If Length is not aligned on a 64-bit boundary, then ASSERT().
+
+ @param Buffer The pointer to the target buffer to fill.
+ @param Length The number of bytes in Buffer to fill.
+ @param Value The value with which to fill Length bytes of Buffer.
+
+ @return Buffer.
+
+**/
+VOID *
+EFIAPI
+SetMem64 (
+ OUT VOID *Buffer,
+ IN UINTN Length,
+ IN UINT64 Value
+ );
+
+/**
+ Fills a target buffer with a value that is size UINTN, and returns the target buffer.
+
+ This function fills Length bytes of Buffer with the UINTN sized value specified by
+ Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length
+ bytes of Buffer.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+ If Buffer is not aligned on a UINTN boundary, then ASSERT().
+ If Length is not aligned on a UINTN boundary, then ASSERT().
+
+ @param Buffer The pointer to the target buffer to fill.
+ @param Length The number of bytes in Buffer to fill.
+ @param Value The value with which to fill Length bytes of Buffer.
+
+ @return Buffer.
+
+**/
+VOID *
+EFIAPI
+SetMemN (
+ OUT VOID *Buffer,
+ IN UINTN Length,
+ IN UINTN Value
+ );
+
+/**
+ Fills a target buffer with zeros, and returns the target buffer.
+
+ This function fills Length bytes of Buffer with zeros, and returns Buffer.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the target buffer to fill with zeros.
+ @param Length The number of bytes in Buffer to fill with zeros.
+
+ @return Buffer.
+
+**/
+VOID *
+EFIAPI
+ZeroMem (
+ OUT VOID *Buffer,
+ IN UINTN Length
+ );
+
+/**
+ Compares the contents of two buffers.
+
+ This function compares Length bytes of SourceBuffer to Length bytes of DestinationBuffer.
+ If all Length bytes of the two buffers are identical, then 0 is returned. Otherwise, the
+ value returned is the first mismatched byte in SourceBuffer subtracted from the first
+ mismatched byte in DestinationBuffer.
+
+ If Length > 0 and DestinationBuffer is NULL, then ASSERT().
+ If Length > 0 and SourceBuffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - DestinationBuffer + 1), then ASSERT().
+ If Length is greater than (MAX_ADDRESS - SourceBuffer + 1), then ASSERT().
+
+ @param DestinationBuffer The pointer to the destination buffer to compare.
+ @param SourceBuffer The pointer to the source buffer to compare.
+ @param Length The number of bytes to compare.
+
+ @return 0 All Length bytes of the two buffers are identical.
+ @retval Non-zero The first mismatched byte in SourceBuffer subtracted from the first
+ mismatched byte in DestinationBuffer.
+
+**/
+INTN
+EFIAPI
+CompareMem (
+ IN CONST VOID *DestinationBuffer,
+ IN CONST VOID *SourceBuffer,
+ IN UINTN Length
+ );
+
+/**
+ Scans a target buffer for an 8-bit value, and returns a pointer to the matching 8-bit value
+ in the target buffer.
+
+ This function searches target the buffer specified by Buffer and Length from the lowest
+ address to the highest address for an 8-bit value that matches Value. If a match is found,
+ then a pointer to the matching byte in the target buffer is returned. If no match is found,
+ then NULL is returned. If Length is 0, then NULL is returned.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the target buffer to scan.
+ @param Length The number of bytes in Buffer to scan.
+ @param Value The value to search for in the target buffer.
+
+ @return A pointer to the matching byte in the target buffer, otherwise NULL.
+
+**/
+VOID *
+EFIAPI
+ScanMem8 (
+ IN CONST VOID *Buffer,
+ IN UINTN Length,
+ IN UINT8 Value
+ );
+
+/**
+ Scans a target buffer for a 16-bit value, and returns a pointer to the matching 16-bit value
+ in the target buffer.
+
+ This function searches target the buffer specified by Buffer and Length from the lowest
+ address to the highest address for a 16-bit value that matches Value. If a match is found,
+ then a pointer to the matching byte in the target buffer is returned. If no match is found,
+ then NULL is returned. If Length is 0, then NULL is returned.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 16-bit boundary, then ASSERT().
+ If Length is not aligned on a 16-bit boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the target buffer to scan.
+ @param Length The number of bytes in Buffer to scan.
+ @param Value The value to search for in the target buffer.
+
+ @return A pointer to the matching byte in the target buffer, otherwise NULL.
+
+**/
+VOID *
+EFIAPI
+ScanMem16 (
+ IN CONST VOID *Buffer,
+ IN UINTN Length,
+ IN UINT16 Value
+ );
+
+/**
+ Scans a target buffer for a 32-bit value, and returns a pointer to the matching 32-bit value
+ in the target buffer.
+
+ This function searches target the buffer specified by Buffer and Length from the lowest
+ address to the highest address for a 32-bit value that matches Value. If a match is found,
+ then a pointer to the matching byte in the target buffer is returned. If no match is found,
+ then NULL is returned. If Length is 0, then NULL is returned.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 32-bit boundary, then ASSERT().
+ If Length is not aligned on a 32-bit boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the target buffer to scan.
+ @param Length The number of bytes in Buffer to scan.
+ @param Value The value to search for in the target buffer.
+
+ @return A pointer to the matching byte in the target buffer, otherwise NULL.
+
+**/
+VOID *
+EFIAPI
+ScanMem32 (
+ IN CONST VOID *Buffer,
+ IN UINTN Length,
+ IN UINT32 Value
+ );
+
+/**
+ Scans a target buffer for a 64-bit value, and returns a pointer to the matching 64-bit value
+ in the target buffer.
+
+ This function searches target the buffer specified by Buffer and Length from the lowest
+ address to the highest address for a 64-bit value that matches Value. If a match is found,
+ then a pointer to the matching byte in the target buffer is returned. If no match is found,
+ then NULL is returned. If Length is 0, then NULL is returned.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 64-bit boundary, then ASSERT().
+ If Length is not aligned on a 64-bit boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the target buffer to scan.
+ @param Length The number of bytes in Buffer to scan.
+ @param Value The value to search for in the target buffer.
+
+ @return A pointer to the matching byte in the target buffer, otherwise NULL.
+
+**/
+VOID *
+EFIAPI
+ScanMem64 (
+ IN CONST VOID *Buffer,
+ IN UINTN Length,
+ IN UINT64 Value
+ );
+
+/**
+ Scans a target buffer for a UINTN sized value, and returns a pointer to the matching
+ UINTN sized value in the target buffer.
+
+ This function searches target the buffer specified by Buffer and Length from the lowest
+ address to the highest address for a UINTN sized value that matches Value. If a match is found,
+ then a pointer to the matching byte in the target buffer is returned. If no match is found,
+ then NULL is returned. If Length is 0, then NULL is returned.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a UINTN boundary, then ASSERT().
+ If Length is not aligned on a UINTN boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the target buffer to scan.
+ @param Length The number of bytes in Buffer to scan.
+ @param Value The value to search for in the target buffer.
+
+ @return A pointer to the matching byte in the target buffer, otherwise NULL.
+
+**/
+VOID *
+EFIAPI
+ScanMemN (
+ IN CONST VOID *Buffer,
+ IN UINTN Length,
+ IN UINTN Value
+ );
+
+/**
+ Copies a source GUID to a destination GUID.
+
+ This function copies the contents of the 128-bit GUID specified by SourceGuid to
+ DestinationGuid, and returns DestinationGuid.
+
+ If DestinationGuid is NULL, then ASSERT().
+ If SourceGuid is NULL, then ASSERT().
+
+ @param DestinationGuid The pointer to the destination GUID.
+ @param SourceGuid The pointer to the source GUID.
+
+ @return DestinationGuid.
+
+**/
+GUID *
+EFIAPI
+CopyGuid (
+ OUT GUID *DestinationGuid,
+ IN CONST GUID *SourceGuid
+ );
+
+/**
+ Compares two GUIDs.
+
+ This function compares Guid1 to Guid2. If the GUIDs are identical then TRUE is returned.
+ If there are any bit differences in the two GUIDs, then FALSE is returned.
+
+ If Guid1 is NULL, then ASSERT().
+ If Guid2 is NULL, then ASSERT().
+
+ @param Guid1 A pointer to a 128 bit GUID.
+ @param Guid2 A pointer to a 128 bit GUID.
+
+ @retval TRUE Guid1 and Guid2 are identical.
+ @retval FALSE Guid1 and Guid2 are not identical.
+
+**/
+BOOLEAN
+EFIAPI
+CompareGuid (
+ IN CONST GUID *Guid1,
+ IN CONST GUID *Guid2
+ );
+
+/**
+ Scans a target buffer for a GUID, and returns a pointer to the matching GUID
+ in the target buffer.
+
+ This function searches target the buffer specified by Buffer and Length from
+ the lowest address to the highest address at 128-bit increments for the 128-bit
+ GUID value that matches Guid. If a match is found, then a pointer to the matching
+ GUID in the target buffer is returned. If no match is found, then NULL is returned.
+ If Length is 0, then NULL is returned.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 32-bit boundary, then ASSERT().
+ If Length is not aligned on a 128-bit boundary, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the target buffer to scan.
+ @param Length The number of bytes in Buffer to scan.
+ @param Guid The value to search for in the target buffer.
+
+ @return A pointer to the matching Guid in the target buffer, otherwise NULL.
+
+**/
+VOID *
+EFIAPI
+ScanGuid (
+ IN CONST VOID *Buffer,
+ IN UINTN Length,
+ IN CONST GUID *Guid
+ );
+
+/**
+ Checks if the given GUID is a zero GUID.
+
+ This function checks whether the given GUID is a zero GUID. If the GUID is
+ identical to a zero GUID then TRUE is returned. Otherwise, FALSE is returned.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid The pointer to a 128 bit GUID.
+
+ @retval TRUE Guid is a zero GUID.
+ @retval FALSE Guid is not a zero GUID.
+
+**/
+BOOLEAN
+EFIAPI
+IsZeroGuid (
+ IN CONST GUID *Guid
+ );
+
+/**
+ Checks if the contents of a buffer are all zeros.
+
+ This function checks whether the contents of a buffer are all zeros. If the
+ contents are all zeros, return TRUE. Otherwise, return FALSE.
+
+ If Length > 0 and Buffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the buffer to be checked.
+ @param Length The size of the buffer (in bytes) to be checked.
+
+ @retval TRUE Contents of the buffer are all zeros.
+ @retval FALSE Contents of the buffer are not all zeros.
+
+**/
+BOOLEAN
+EFIAPI
+IsZeroBuffer (
+ IN CONST VOID *Buffer,
+ IN UINTN Length
+ );
+
+#endif
diff --git a/sys/contrib/edk2/Include/Library/DebugLib.h b/sys/contrib/edk2/Include/Library/DebugLib.h
new file mode 100644
index 0000000..a26b635
--- /dev/null
+++ b/sys/contrib/edk2/Include/Library/DebugLib.h
@@ -0,0 +1,529 @@
+/** @file
+ Provides services to print debug and assert messages to a debug output device.
+
+ The Debug library supports debug print and asserts based on a combination of macros and code.
+ The debug library can be turned on and off so that the debug code does not increase the size of an image.
+
+ Note that a reserved macro named MDEPKG_NDEBUG is introduced for the intention
+ of size reduction when compiler optimization is disabled. If MDEPKG_NDEBUG is
+ defined, then debug and assert related macros wrapped by it are the NULL implementations.
+
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __DEBUG_LIB_H__
+#define __DEBUG_LIB_H__
+
+//
+// Declare bits for PcdDebugPropertyMask
+//
+#define DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED 0x01
+#define DEBUG_PROPERTY_DEBUG_PRINT_ENABLED 0x02
+#define DEBUG_PROPERTY_DEBUG_CODE_ENABLED 0x04
+#define DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED 0x08
+#define DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED 0x10
+#define DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED 0x20
+
+//
+// Declare bits for PcdDebugPrintErrorLevel and the ErrorLevel parameter of DebugPrint()
+//
+#define DEBUG_INIT 0x00000001 // Initialization
+#define DEBUG_WARN 0x00000002 // Warnings
+#define DEBUG_LOAD 0x00000004 // Load events
+#define DEBUG_FS 0x00000008 // EFI File system
+#define DEBUG_POOL 0x00000010 // Alloc & Free (pool)
+#define DEBUG_PAGE 0x00000020 // Alloc & Free (page)
+#define DEBUG_INFO 0x00000040 // Informational debug messages
+#define DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
+#define DEBUG_VARIABLE 0x00000100 // Variable
+#define DEBUG_BM 0x00000400 // Boot Manager
+#define DEBUG_BLKIO 0x00001000 // BlkIo Driver
+#define DEBUG_NET 0x00004000 // Network Io Driver
+#define DEBUG_UNDI 0x00010000 // UNDI Driver
+#define DEBUG_LOADFILE 0x00020000 // LoadFile
+#define DEBUG_EVENT 0x00080000 // Event messages
+#define DEBUG_GCD 0x00100000 // Global Coherency Database changes
+#define DEBUG_CACHE 0x00200000 // Memory range cachability changes
+#define DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
+ // significantly impact boot performance
+#define DEBUG_ERROR 0x80000000 // Error
+
+//
+// Aliases of debug message mask bits
+//
+#define EFI_D_INIT DEBUG_INIT
+#define EFI_D_WARN DEBUG_WARN
+#define EFI_D_LOAD DEBUG_LOAD
+#define EFI_D_FS DEBUG_FS
+#define EFI_D_POOL DEBUG_POOL
+#define EFI_D_PAGE DEBUG_PAGE
+#define EFI_D_INFO DEBUG_INFO
+#define EFI_D_DISPATCH DEBUG_DISPATCH
+#define EFI_D_VARIABLE DEBUG_VARIABLE
+#define EFI_D_BM DEBUG_BM
+#define EFI_D_BLKIO DEBUG_BLKIO
+#define EFI_D_NET DEBUG_NET
+#define EFI_D_UNDI DEBUG_UNDI
+#define EFI_D_LOADFILE DEBUG_LOADFILE
+#define EFI_D_EVENT DEBUG_EVENT
+#define EFI_D_VERBOSE DEBUG_VERBOSE
+#define EFI_D_ERROR DEBUG_ERROR
+
+/**
+ Prints a debug message to the debug output device if the specified error level is enabled.
+
+ If any bit in ErrorLevel is also set in DebugPrintErrorLevelLib function
+ GetDebugPrintErrorLevel (), then print the message specified by Format and the
+ associated variable argument list to the debug output device.
+
+ If Format is NULL, then ASSERT().
+
+ @param ErrorLevel The error level of the debug message.
+ @param Format The format string for the debug message to print.
+ @param ... The variable argument list whose contents are accessed
+ based on the format string specified by Format.
+
+**/
+VOID
+EFIAPI
+DebugPrint (
+ IN UINTN ErrorLevel,
+ IN CONST CHAR8 *Format,
+ ...
+ );
+
+
+/**
+ Prints an assert message containing a filename, line number, and description.
+ This may be followed by a breakpoint or a dead loop.
+
+ Print a message of the form "ASSERT <FileName>(<LineNumber>): <Description>\n"
+ to the debug output device. If DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED bit of
+ PcdDebugProperyMask is set then CpuBreakpoint() is called. Otherwise, if
+ DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED bit of PcdDebugProperyMask is set then
+ CpuDeadLoop() is called. If neither of these bits are set, then this function
+ returns immediately after the message is printed to the debug output device.
+ DebugAssert() must actively prevent recursion. If DebugAssert() is called while
+ processing another DebugAssert(), then DebugAssert() must return immediately.
+
+ If FileName is NULL, then a <FileName> string of "(NULL) Filename" is printed.
+ If Description is NULL, then a <Description> string of "(NULL) Description" is printed.
+
+ @param FileName The pointer to the name of the source file that generated the assert condition.
+ @param LineNumber The line number in the source file that generated the assert condition
+ @param Description The pointer to the description of the assert condition.
+
+**/
+VOID
+EFIAPI
+DebugAssert (
+ IN CONST CHAR8 *FileName,
+ IN UINTN LineNumber,
+ IN CONST CHAR8 *Description
+ );
+
+
+/**
+ Fills a target buffer with PcdDebugClearMemoryValue, and returns the target buffer.
+
+ This function fills Length bytes of Buffer with the value specified by
+ PcdDebugClearMemoryValue, and returns Buffer.
+
+ If Buffer is NULL, then ASSERT().
+ If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param Buffer The pointer to the target buffer to be filled with PcdDebugClearMemoryValue.
+ @param Length The number of bytes in Buffer to fill with zeros PcdDebugClearMemoryValue.
+
+ @return Buffer The pointer to the target buffer filled with PcdDebugClearMemoryValue.
+
+**/
+VOID *
+EFIAPI
+DebugClearMemory (
+ OUT VOID *Buffer,
+ IN UINTN Length
+ );
+
+
+/**
+ Returns TRUE if ASSERT() macros are enabled.
+
+ This function returns TRUE if the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of
+ PcdDebugProperyMask is set. Otherwise, FALSE is returned.
+
+ @retval TRUE The DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is set.
+ @retval FALSE The DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is clear.
+
+**/
+BOOLEAN
+EFIAPI
+DebugAssertEnabled (
+ VOID
+ );
+
+
+/**
+ Returns TRUE if DEBUG() macros are enabled.
+
+ This function returns TRUE if the DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of
+ PcdDebugProperyMask is set. Otherwise, FALSE is returned.
+
+ @retval TRUE The DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of PcdDebugProperyMask is set.
+ @retval FALSE The DEBUG_PROPERTY_DEBUG_PRINT_ENABLED bit of PcdDebugProperyMask is clear.
+
+**/
+BOOLEAN
+EFIAPI
+DebugPrintEnabled (
+ VOID
+ );
+
+
+/**
+ Returns TRUE if DEBUG_CODE() macros are enabled.
+
+ This function returns TRUE if the DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of
+ PcdDebugProperyMask is set. Otherwise, FALSE is returned.
+
+ @retval TRUE The DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is set.
+ @retval FALSE The DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is clear.
+
+**/
+BOOLEAN
+EFIAPI
+DebugCodeEnabled (
+ VOID
+ );
+
+
+/**
+ Returns TRUE if DEBUG_CLEAR_MEMORY() macro is enabled.
+
+ This function returns TRUE if the DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED bit of
+ PcdDebugProperyMask is set. Otherwise, FALSE is returned.
+
+ @retval TRUE The DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED bit of PcdDebugProperyMask is set.
+ @retval FALSE The DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED bit of PcdDebugProperyMask is clear.
+
+**/
+BOOLEAN
+EFIAPI
+DebugClearMemoryEnabled (
+ VOID
+ );
+
+/**
+ Returns TRUE if any one of the bit is set both in ErrorLevel and PcdFixedDebugPrintErrorLevel.
+
+ This function compares the bit mask of ErrorLevel and PcdFixedDebugPrintErrorLevel.
+
+ @retval TRUE Current ErrorLevel is supported.
+ @retval FALSE Current ErrorLevel is not supported.
+
+**/
+BOOLEAN
+EFIAPI
+DebugPrintLevelEnabled (
+ IN CONST UINTN ErrorLevel
+ );
+
+/**
+ Internal worker macro that calls DebugAssert().
+
+ This macro calls DebugAssert(), passing in the filename, line number, and an
+ expression that evaluated to FALSE.
+
+ @param Expression Boolean expression that evaluated to FALSE
+
+**/
+#define _ASSERT(Expression) DebugAssert (__FILE__, __LINE__, #Expression)
+
+
+/**
+ Internal worker macro that calls DebugPrint().
+
+ This macro calls DebugPrint() passing in the debug error level, a format
+ string, and a variable argument list.
+ __VA_ARGS__ is not supported by EBC compiler, Microsoft Visual Studio .NET 2003
+ and Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830.
+
+ @param Expression Expression containing an error level, a format string,
+ and a variable argument list based on the format string.
+
+**/
+
+#if !defined(MDE_CPU_EBC) && (!defined (_MSC_VER) || _MSC_VER > 1400)
+ #define _DEBUG_PRINT(PrintLevel, ...) \
+ do { \
+ if (DebugPrintLevelEnabled (PrintLevel)) { \
+ DebugPrint (PrintLevel, ##__VA_ARGS__); \
+ } \
+ } while (FALSE)
+ #define _DEBUG(Expression) _DEBUG_PRINT Expression
+#else
+#define _DEBUG(Expression) DebugPrint Expression
+#endif
+
+/**
+ Macro that calls DebugAssert() if an expression evaluates to FALSE.
+
+ If MDEPKG_NDEBUG is not defined and the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED
+ bit of PcdDebugProperyMask is set, then this macro evaluates the Boolean
+ expression specified by Expression. If Expression evaluates to FALSE, then
+ DebugAssert() is called passing in the source filename, source line number,
+ and Expression.
+
+ @param Expression Boolean expression.
+
+**/
+#if !defined(MDEPKG_NDEBUG)
+ #define ASSERT(Expression) \
+ do { \
+ if (DebugAssertEnabled ()) { \
+ if (!(Expression)) { \
+ _ASSERT (Expression); \
+ ANALYZER_UNREACHABLE (); \
+ } \
+ } \
+ } while (FALSE)
+#else
+ #define ASSERT(Expression)
+#endif
+
+/**
+ Macro that calls DebugPrint().
+
+ If MDEPKG_NDEBUG is not defined and the DEBUG_PROPERTY_DEBUG_PRINT_ENABLED
+ bit of PcdDebugProperyMask is set, then this macro passes Expression to
+ DebugPrint().
+
+ @param Expression Expression containing an error level, a format string,
+ and a variable argument list based on the format string.
+
+
+**/
+#if !defined(MDEPKG_NDEBUG)
+ #define DEBUG(Expression) \
+ do { \
+ if (DebugPrintEnabled ()) { \
+ _DEBUG (Expression); \
+ } \
+ } while (FALSE)
+#else
+ #define DEBUG(Expression)
+#endif
+
+/**
+ Macro that calls DebugAssert() if an EFI_STATUS evaluates to an error code.
+
+ If MDEPKG_NDEBUG is not defined and the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED
+ bit of PcdDebugProperyMask is set, then this macro evaluates the EFI_STATUS
+ value specified by StatusParameter. If StatusParameter is an error code,
+ then DebugAssert() is called passing in the source filename, source line
+ number, and StatusParameter.
+
+ @param StatusParameter EFI_STATUS value to evaluate.
+
+**/
+#if !defined(MDEPKG_NDEBUG)
+ #define ASSERT_EFI_ERROR(StatusParameter) \
+ do { \
+ if (DebugAssertEnabled ()) { \
+ if (EFI_ERROR (StatusParameter)) { \
+ DEBUG ((EFI_D_ERROR, "\nASSERT_EFI_ERROR (Status = %r)\n", StatusParameter)); \
+ _ASSERT (!EFI_ERROR (StatusParameter)); \
+ } \
+ } \
+ } while (FALSE)
+#else
+ #define ASSERT_EFI_ERROR(StatusParameter)
+#endif
+
+/**
+ Macro that calls DebugAssert() if a RETURN_STATUS evaluates to an error code.
+
+ If MDEPKG_NDEBUG is not defined and the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED
+ bit of PcdDebugProperyMask is set, then this macro evaluates the
+ RETURN_STATUS value specified by StatusParameter. If StatusParameter is an
+ error code, then DebugAssert() is called passing in the source filename,
+ source line number, and StatusParameter.
+
+ @param StatusParameter RETURN_STATUS value to evaluate.
+
+**/
+#if !defined(MDEPKG_NDEBUG)
+ #define ASSERT_RETURN_ERROR(StatusParameter) \
+ do { \
+ if (DebugAssertEnabled ()) { \
+ if (RETURN_ERROR (StatusParameter)) { \
+ DEBUG ((DEBUG_ERROR, "\nASSERT_RETURN_ERROR (Status = %r)\n", \
+ StatusParameter)); \
+ _ASSERT (!RETURN_ERROR (StatusParameter)); \
+ } \
+ } \
+ } while (FALSE)
+#else
+ #define ASSERT_RETURN_ERROR(StatusParameter)
+#endif
+
+/**
+ Macro that calls DebugAssert() if a protocol is already installed in the
+ handle database.
+
+ If MDEPKG_NDEBUG is defined or the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit
+ of PcdDebugProperyMask is clear, then return.
+
+ If Handle is NULL, then a check is made to see if the protocol specified by Guid
+ is present on any handle in the handle database. If Handle is not NULL, then
+ a check is made to see if the protocol specified by Guid is present on the
+ handle specified by Handle. If the check finds the protocol, then DebugAssert()
+ is called passing in the source filename, source line number, and Guid.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Handle The handle to check for the protocol. This is an optional
+ parameter that may be NULL. If it is NULL, then the entire
+ handle database is searched.
+
+ @param Guid The pointer to a protocol GUID.
+
+**/
+#if !defined(MDEPKG_NDEBUG)
+ #define ASSERT_PROTOCOL_ALREADY_INSTALLED(Handle, Guid) \
+ do { \
+ if (DebugAssertEnabled ()) { \
+ VOID *Instance; \
+ ASSERT (Guid != NULL); \
+ if (Handle == NULL) { \
+ if (!EFI_ERROR (gBS->LocateProtocol ((EFI_GUID *)Guid, NULL, &Instance))) { \
+ _ASSERT (Guid already installed in database); \
+ } \
+ } else { \
+ if (!EFI_ERROR (gBS->HandleProtocol (Handle, (EFI_GUID *)Guid, &Instance))) { \
+ _ASSERT (Guid already installed on Handle); \
+ } \
+ } \
+ } \
+ } while (FALSE)
+#else
+ #define ASSERT_PROTOCOL_ALREADY_INSTALLED(Handle, Guid)
+#endif
+
+/**
+ Macro that marks the beginning of debug source code.
+
+ If the DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is set,
+ then this macro marks the beginning of source code that is included in a module.
+ Otherwise, the source lines between DEBUG_CODE_BEGIN() and DEBUG_CODE_END()
+ are not included in a module.
+
+**/
+#define DEBUG_CODE_BEGIN() do { if (DebugCodeEnabled ()) { UINT8 __DebugCodeLocal
+
+
+/**
+ The macro that marks the end of debug source code.
+
+ If the DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is set,
+ then this macro marks the end of source code that is included in a module.
+ Otherwise, the source lines between DEBUG_CODE_BEGIN() and DEBUG_CODE_END()
+ are not included in a module.
+
+**/
+#define DEBUG_CODE_END() __DebugCodeLocal = 0; __DebugCodeLocal++; } } while (FALSE)
+
+
+/**
+ The macro that declares a section of debug source code.
+
+ If the DEBUG_PROPERTY_DEBUG_CODE_ENABLED bit of PcdDebugProperyMask is set,
+ then the source code specified by Expression is included in a module.
+ Otherwise, the source specified by Expression is not included in a module.
+
+**/
+#define DEBUG_CODE(Expression) \
+ DEBUG_CODE_BEGIN (); \
+ Expression \
+ DEBUG_CODE_END ()
+
+
+/**
+ The macro that calls DebugClearMemory() to clear a buffer to a default value.
+
+ If the DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED bit of PcdDebugProperyMask is set,
+ then this macro calls DebugClearMemory() passing in Address and Length.
+
+ @param Address The pointer to a buffer.
+ @param Length The number of bytes in the buffer to set.
+
+**/
+#define DEBUG_CLEAR_MEMORY(Address, Length) \
+ do { \
+ if (DebugClearMemoryEnabled ()) { \
+ DebugClearMemory (Address, Length); \
+ } \
+ } while (FALSE)
+
+
+/**
+ Macro that calls DebugAssert() if the containing record does not have a
+ matching signature. If the signatures matches, then a pointer to the data
+ structure that contains a specified field of that data structure is returned.
+ This is a lightweight method hide information by placing a public data
+ structure inside a larger private data structure and using a pointer to the
+ public data structure to retrieve a pointer to the private data structure.
+
+ If MDEPKG_NDEBUG is defined or the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit
+ of PcdDebugProperyMask is clear, then this macro computes the offset, in bytes,
+ of the field specified by Field from the beginning of the data structure specified
+ by TYPE. This offset is subtracted from Record, and is used to return a pointer
+ to a data structure of the type specified by TYPE.
+
+ If MDEPKG_NDEBUG is not defined and the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit
+ of PcdDebugProperyMask is set, then this macro computes the offset, in bytes,
+ of field specified by Field from the beginning of the data structure specified
+ by TYPE. This offset is subtracted from Record, and is used to compute a pointer
+ to a data structure of the type specified by TYPE. The Signature field of the
+ data structure specified by TYPE is compared to TestSignature. If the signatures
+ match, then a pointer to the pointer to a data structure of the type specified by
+ TYPE is returned. If the signatures do not match, then DebugAssert() is called
+ with a description of "CR has a bad signature" and Record is returned.
+
+ If the data type specified by TYPE does not contain the field specified by Field,
+ then the module will not compile.
+
+ If TYPE does not contain a field called Signature, then the module will not
+ compile.
+
+ @param Record The pointer to the field specified by Field within a data
+ structure of type TYPE.
+
+ @param TYPE The name of the data structure type to return This
+ data structure must contain the field specified by Field.
+
+ @param Field The name of the field in the data structure specified
+ by TYPE to which Record points.
+
+ @param TestSignature The 32-bit signature value to match.
+
+**/
+#if !defined(MDEPKG_NDEBUG)
+ #define CR(Record, TYPE, Field, TestSignature) \
+ (DebugAssertEnabled () && (BASE_CR (Record, TYPE, Field)->Signature != TestSignature)) ? \
+ (TYPE *) (_ASSERT (CR has Bad Signature), Record) : \
+ BASE_CR (Record, TYPE, Field)
+#else
+ #define CR(Record, TYPE, Field, TestSignature) \
+ BASE_CR (Record, TYPE, Field)
+#endif
+
+#endif
diff --git a/sys/contrib/edk2/Include/Library/DevicePathLib.h b/sys/contrib/edk2/Include/Library/DevicePathLib.h
new file mode 100644
index 0000000..61fa19c
--- /dev/null
+++ b/sys/contrib/edk2/Include/Library/DevicePathLib.h
@@ -0,0 +1,566 @@
+/** @file
+ Provides library functions to construct and parse UEFI Device Paths.
+
+ This library provides defines, macros, and functions to help create and parse
+ EFI_DEVICE_PATH_PROTOCOL structures.
+
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __DEVICE_PATH_LIB_H__
+#define __DEVICE_PATH_LIB_H__
+
+#define END_DEVICE_PATH_LENGTH (sizeof (EFI_DEVICE_PATH_PROTOCOL))
+
+/**
+ Determine whether a given device path is valid.
+ If DevicePath is NULL, then ASSERT().
+
+ @param DevicePath A pointer to a device path data structure.
+ @param MaxSize The maximum size of the device path data structure.
+
+ @retval TRUE DevicePath is valid.
+ @retval FALSE The length of any node node in the DevicePath is less
+ than sizeof (EFI_DEVICE_PATH_PROTOCOL).
+ @retval FALSE If MaxSize is not zero, the size of the DevicePath
+ exceeds MaxSize.
+ @retval FALSE If PcdMaximumDevicePathNodeCount is not zero, the node
+ count of the DevicePath exceeds PcdMaximumDevicePathNodeCount.
+**/
+BOOLEAN
+EFIAPI
+IsDevicePathValid (
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
+ IN UINTN MaxSize
+ );
+
+/**
+ Returns the Type field of a device path node.
+
+ Returns the Type field of the device path node specified by Node.
+
+ If Node is NULL, then ASSERT().
+
+ @param Node A pointer to a device path node data structure.
+
+ @return The Type field of the device path node specified by Node.
+
+**/
+UINT8
+EFIAPI
+DevicePathType (
+ IN CONST VOID *Node
+ );
+
+/**
+ Returns the SubType field of a device path node.
+
+ Returns the SubType field of the device path node specified by Node.
+
+ If Node is NULL, then ASSERT().
+
+ @param Node A pointer to a device path node data structure.
+
+ @return The SubType field of the device path node specified by Node.
+
+**/
+UINT8
+EFIAPI
+DevicePathSubType (
+ IN CONST VOID *Node
+ );
+
+/**
+ Returns the 16-bit Length field of a device path node.
+
+ Returns the 16-bit Length field of the device path node specified by Node.
+ Node is not required to be aligned on a 16-bit boundary, so it is recommended
+ that a function such as ReadUnaligned16() be used to extract the contents of
+ the Length field.
+
+ If Node is NULL, then ASSERT().
+
+ @param Node A pointer to a device path node data structure.
+
+ @return The 16-bit Length field of the device path node specified by Node.
+
+**/
+UINTN
+EFIAPI
+DevicePathNodeLength (
+ IN CONST VOID *Node
+ );
+
+/**
+ Returns a pointer to the next node in a device path.
+
+ Returns a pointer to the device path node that follows the device path node specified by Node.
+
+ If Node is NULL, then ASSERT().
+
+ @param Node A pointer to a device path node data structure.
+
+ @return a pointer to the device path node that follows the device path node specified by Node.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+NextDevicePathNode (
+ IN CONST VOID *Node
+ );
+
+/**
+ Determines if a device path node is an end node of a device path.
+ This includes nodes that are the end of a device path instance and nodes that
+ are the end of an entire device path.
+
+ Determines if the device path node specified by Node is an end node of a device path.
+ This includes nodes that are the end of a device path instance and nodes that are the
+ end of an entire device path. If Node represents an end node of a device path,
+ then TRUE is returned. Otherwise, FALSE is returned.
+
+ If Node is NULL, then ASSERT().
+
+ @param Node A pointer to a device path node data structure.
+
+ @retval TRUE The device path node specified by Node is an end node of a device path.
+ @retval FALSE The device path node specified by Node is not an end node of a device path.
+
+**/
+BOOLEAN
+EFIAPI
+IsDevicePathEndType (
+ IN CONST VOID *Node
+ );
+
+/**
+ Determines if a device path node is an end node of an entire device path.
+
+ Determines if a device path node specified by Node is an end node of an entire device path.
+ If Node represents the end of an entire device path, then TRUE is returned.
+ Otherwise, FALSE is returned.
+
+ If Node is NULL, then ASSERT().
+
+ @param Node A pointer to a device path node data structure.
+
+ @retval TRUE The device path node specified by Node is the end of an entire device path.
+ @retval FALSE The device path node specified by Node is not the end of an entire device path.
+
+**/
+BOOLEAN
+EFIAPI
+IsDevicePathEnd (
+ IN CONST VOID *Node
+ );
+
+/**
+ Determines if a device path node is an end node of a device path instance.
+
+ Determines if a device path node specified by Node is an end node of a device path instance.
+ If Node represents the end of a device path instance, then TRUE is returned.
+ Otherwise, FALSE is returned.
+
+ If Node is NULL, then ASSERT().
+
+ @param Node A pointer to a device path node data structure.
+
+ @retval TRUE The device path node specified by Node is the end of a device path instance.
+ @retval FALSE The device path node specified by Node is not the end of a device path instance.
+
+**/
+BOOLEAN
+EFIAPI
+IsDevicePathEndInstance (
+ IN CONST VOID *Node
+ );
+
+/**
+ Sets the length, in bytes, of a device path node.
+
+ Sets the length of the device path node specified by Node to the value specified
+ by NodeLength. NodeLength is returned. Node is not required to be aligned on
+ a 16-bit boundary, so it is recommended that a function such as WriteUnaligned16()
+ be used to set the contents of the Length field.
+
+ If Node is NULL, then ASSERT().
+ If NodeLength >= 0x10000, then ASSERT().
+ If NodeLength < sizeof (EFI_DEVICE_PATH_PROTOCOL), then ASSERT().
+
+ @param Node A pointer to a device path node data structure.
+ @param Length The length, in bytes, of the device path node.
+
+ @return Length
+
+**/
+UINT16
+EFIAPI
+SetDevicePathNodeLength (
+ IN OUT VOID *Node,
+ IN UINTN Length
+ );
+
+/**
+ Fills in all the fields of a device path node that is the end of an entire device path.
+
+ Fills in all the fields of a device path node specified by Node so Node represents
+ the end of an entire device path. The Type field of Node is set to
+ END_DEVICE_PATH_TYPE, the SubType field of Node is set to
+ END_ENTIRE_DEVICE_PATH_SUBTYPE, and the Length field of Node is set to
+ END_DEVICE_PATH_LENGTH. Node is not required to be aligned on a 16-bit boundary,
+ so it is recommended that a function such as WriteUnaligned16() be used to set
+ the contents of the Length field.
+
+ If Node is NULL, then ASSERT().
+
+ @param Node A pointer to a device path node data structure.
+
+**/
+VOID
+EFIAPI
+SetDevicePathEndNode (
+ OUT VOID *Node
+ );
+
+/**
+ Returns the size of a device path in bytes.
+
+ This function returns the size, in bytes, of the device path data structure
+ specified by DevicePath including the end of device path node.
+ If DevicePath is NULL or invalid, then 0 is returned.
+
+ @param DevicePath A pointer to a device path data structure.
+
+ @retval 0 If DevicePath is NULL or invalid.
+ @retval Others The size of a device path in bytes.
+
+**/
+UINTN
+EFIAPI
+GetDevicePathSize (
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
+ );
+
+/**
+ Creates a new copy of an existing device path.
+
+ This function allocates space for a new copy of the device path specified by DevicePath. If
+ DevicePath is NULL, then NULL is returned. If the memory is successfully allocated, then the
+ contents of DevicePath are copied to the newly allocated buffer, and a pointer to that buffer
+ is returned. Otherwise, NULL is returned.
+ The memory for the new device path is allocated from EFI boot services memory.
+ It is the responsibility of the caller to free the memory allocated.
+
+ @param DevicePath A pointer to a device path data structure.
+
+ @retval NULL DevicePath is NULL or invalid.
+ @retval Others A pointer to the duplicated device path.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+DuplicateDevicePath (
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
+ );
+
+/**
+ Creates a new device path by appending a second device path to a first device path.
+
+ This function creates a new device path by appending a copy of SecondDevicePath to a copy of
+ FirstDevicePath in a newly allocated buffer. Only the end-of-device-path device node from
+ SecondDevicePath is retained. The newly created device path is returned.
+ If FirstDevicePath is NULL, then it is ignored, and a duplicate of SecondDevicePath is returned.
+ If SecondDevicePath is NULL, then it is ignored, and a duplicate of FirstDevicePath is returned.
+ If both FirstDevicePath and SecondDevicePath are NULL, then a copy of an end-of-device-path is
+ returned.
+ If there is not enough memory for the newly allocated buffer, then NULL is returned.
+ The memory for the new device path is allocated from EFI boot services memory. It is the
+ responsibility of the caller to free the memory allocated.
+
+ @param FirstDevicePath A pointer to a device path data structure.
+ @param SecondDevicePath A pointer to a device path data structure.
+
+ @retval NULL If there is not enough memory for the newly allocated buffer.
+ @retval NULL If FirstDevicePath or SecondDevicePath is invalid.
+ @retval Others A pointer to the new device path if success.
+ Or a copy an end-of-device-path if both FirstDevicePath and SecondDevicePath are NULL.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+AppendDevicePath (
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *FirstDevicePath, OPTIONAL
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *SecondDevicePath OPTIONAL
+ );
+
+/**
+ Creates a new path by appending the device node to the device path.
+
+ This function creates a new device path by appending a copy of the device node specified by
+ DevicePathNode to a copy of the device path specified by DevicePath in an allocated buffer.
+ The end-of-device-path device node is moved after the end of the appended device node.
+ If DevicePathNode is NULL then a copy of DevicePath is returned.
+ If DevicePath is NULL then a copy of DevicePathNode, followed by an end-of-device path device
+ node is returned.
+ If both DevicePathNode and DevicePath are NULL then a copy of an end-of-device-path device node
+ is returned.
+ If there is not enough memory to allocate space for the new device path, then NULL is returned.
+ The memory is allocated from EFI boot services memory. It is the responsibility of the caller to
+ free the memory allocated.
+
+ @param DevicePath A pointer to a device path data structure.
+ @param DevicePathNode A pointer to a single device path node.
+
+ @retval NULL There is not enough memory for the new device path.
+ @retval Others A pointer to the new device path if success.
+ A copy of DevicePathNode followed by an end-of-device-path node
+ if both FirstDevicePath and SecondDevicePath are NULL.
+ A copy of an end-of-device-path node if both FirstDevicePath and SecondDevicePath are NULL.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+AppendDevicePathNode (
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath, OPTIONAL
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePathNode OPTIONAL
+ );
+
+/**
+ Creates a new device path by appending the specified device path instance to the specified device
+ path.
+
+ This function creates a new device path by appending a copy of the device path instance specified
+ by DevicePathInstance to a copy of the device path secified by DevicePath in a allocated buffer.
+ The end-of-device-path device node is moved after the end of the appended device path instance
+ and a new end-of-device-path-instance node is inserted between.
+ If DevicePath is NULL, then a copy if DevicePathInstance is returned.
+ If DevicePathInstance is NULL, then NULL is returned.
+ If DevicePath or DevicePathInstance is invalid, then NULL is returned.
+ If there is not enough memory to allocate space for the new device path, then NULL is returned.
+ The memory is allocated from EFI boot services memory. It is the responsibility of the caller to
+ free the memory allocated.
+
+ @param DevicePath A pointer to a device path data structure.
+ @param DevicePathInstance A pointer to a device path instance.
+
+ @return A pointer to the new device path.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+AppendDevicePathInstance (
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath, OPTIONAL
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePathInstance OPTIONAL
+ );
+
+/**
+ Creates a copy of the current device path instance and returns a pointer to the next device path
+ instance.
+
+ This function creates a copy of the current device path instance. It also updates DevicePath to
+ point to the next device path instance in the device path (or NULL if no more) and updates Size
+ to hold the size of the device path instance copy.
+ If DevicePath is NULL, then NULL is returned.
+ If DevicePath points to a invalid device path, then NULL is returned.
+ If there is not enough memory to allocate space for the new device path, then NULL is returned.
+ The memory is allocated from EFI boot services memory. It is the responsibility of the caller to
+ free the memory allocated.
+ If Size is NULL, then ASSERT().
+
+ @param DevicePath On input, this holds the pointer to the current device path
+ instance. On output, this holds the pointer to the next device
+ path instance or NULL if there are no more device path
+ instances in the device path pointer to a device path data
+ structure.
+ @param Size On output, this holds the size of the device path instance, in
+ bytes or zero, if DevicePath is NULL.
+
+ @return A pointer to the current device path instance.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+GetNextDevicePathInstance (
+ IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath,
+ OUT UINTN *Size
+ );
+
+/**
+ Creates a device node.
+
+ This function creates a new device node in a newly allocated buffer of size NodeLength and
+ initializes the device path node header with NodeType and NodeSubType. The new device path node
+ is returned.
+ If NodeLength is smaller than a device path header, then NULL is returned.
+ If there is not enough memory to allocate space for the new device path, then NULL is returned.
+ The memory is allocated from EFI boot services memory. It is the responsibility of the caller to
+ free the memory allocated.
+
+ @param NodeType The device node type for the new device node.
+ @param NodeSubType The device node sub-type for the new device node.
+ @param NodeLength The length of the new device node.
+
+ @return The new device path.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+CreateDeviceNode (
+ IN UINT8 NodeType,
+ IN UINT8 NodeSubType,
+ IN UINT16 NodeLength
+ );
+
+/**
+ Determines if a device path is single or multi-instance.
+
+ This function returns TRUE if the device path specified by DevicePath is multi-instance.
+ Otherwise, FALSE is returned.
+ If DevicePath is NULL or invalid, then FALSE is returned.
+
+ @param DevicePath A pointer to a device path data structure.
+
+ @retval TRUE DevicePath is multi-instance.
+ @retval FALSE DevicePath is not multi-instance, or DevicePath is NULL or invalid.
+
+**/
+BOOLEAN
+EFIAPI
+IsDevicePathMultiInstance (
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
+ );
+
+/**
+ Retrieves the device path protocol from a handle.
+
+ This function returns the device path protocol from the handle specified by Handle. If Handle is
+ NULL or Handle does not contain a device path protocol, then NULL is returned.
+
+ @param Handle The handle from which to retrieve the device path protocol.
+
+ @return The device path protocol from the handle specified by Handle.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+DevicePathFromHandle (
+ IN EFI_HANDLE Handle
+ );
+
+/**
+ Allocates a device path for a file and appends it to an existing device path.
+
+ If Device is a valid device handle that contains a device path protocol, then a device path for
+ the file specified by FileName is allocated and appended to the device path associated with the
+ handle Device. The allocated device path is returned. If Device is NULL or Device is a handle
+ that does not support the device path protocol, then a device path containing a single device
+ path node for the file specified by FileName is allocated and returned.
+ The memory for the new device path is allocated from EFI boot services memory. It is the responsibility
+ of the caller to free the memory allocated.
+
+ If FileName is NULL, then ASSERT().
+ If FileName is not aligned on a 16-bit boundary, then ASSERT().
+
+ @param Device A pointer to a device handle. This parameter is optional and
+ may be NULL.
+ @param FileName A pointer to a Null-terminated Unicode string.
+
+ @return The allocated device path.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+FileDevicePath (
+ IN EFI_HANDLE Device, OPTIONAL
+ IN CONST CHAR16 *FileName
+ );
+
+/**
+ Converts a device path to its text representation.
+
+ @param DevicePath A Pointer to the device to be converted.
+ @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation
+ of the display node is used, where applicable. If DisplayOnly
+ is FALSE, then the longer text representation of the display node
+ is used.
+ @param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text
+ representation for a device node can be used, where applicable.
+
+ @return A pointer to the allocated text representation of the device path or
+ NULL if DeviceNode is NULL or there was insufficient memory.
+
+**/
+CHAR16 *
+EFIAPI
+ConvertDevicePathToText (
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
+ IN BOOLEAN DisplayOnly,
+ IN BOOLEAN AllowShortcuts
+ );
+
+/**
+ Converts a device node to its string representation.
+
+ @param DeviceNode A Pointer to the device node to be converted.
+ @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation
+ of the display node is used, where applicable. If DisplayOnly
+ is FALSE, then the longer text representation of the display node
+ is used.
+ @param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text
+ representation for a device node can be used, where applicable.
+
+ @return A pointer to the allocated text representation of the device node or NULL if DeviceNode
+ is NULL or there was insufficient memory.
+
+**/
+CHAR16 *
+EFIAPI
+ConvertDeviceNodeToText (
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DeviceNode,
+ IN BOOLEAN DisplayOnly,
+ IN BOOLEAN AllowShortcuts
+ );
+
+/**
+ Convert text to the binary representation of a device node.
+
+ @param TextDeviceNode TextDeviceNode points to the text representation of a device
+ node. Conversion starts with the first character and continues
+ until the first non-device node character.
+
+ @return A pointer to the EFI device node or NULL if TextDeviceNode is NULL or there was
+ insufficient memory or text unsupported.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+ConvertTextToDeviceNode (
+ IN CONST CHAR16 *TextDeviceNode
+ );
+
+/**
+ Convert text to the binary representation of a device path.
+
+ @param TextDevicePath TextDevicePath points to the text representation of a device
+ path. Conversion starts with the first character and continues
+ until the first non-device node character.
+
+ @return A pointer to the allocated device path or NULL if TextDeviceNode is NULL or
+ there was insufficient memory.
+
+**/
+EFI_DEVICE_PATH_PROTOCOL *
+EFIAPI
+ConvertTextToDevicePath (
+ IN CONST CHAR16 *TextDevicePath
+ );
+
+#endif
diff --git a/sys/contrib/edk2/Include/Library/MemoryAllocationLib.h b/sys/contrib/edk2/Include/Library/MemoryAllocationLib.h
new file mode 100644
index 0000000..204a8b5
--- /dev/null
+++ b/sys/contrib/edk2/Include/Library/MemoryAllocationLib.h
@@ -0,0 +1,493 @@
+/** @file
+ Provides services to allocate and free memory buffers of various memory types and alignments.
+
+ The Memory Allocation Library abstracts various common memory allocation operations. This library
+ allows code to be written in a phase-independent manner because the allocation of memory in PEI, DXE,
+ and SMM (for example) is done via a different mechanism. Using a common library interface makes it
+ much easier to port algorithms from phase to phase.
+
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __MEMORY_ALLOCATION_LIB_H__
+#define __MEMORY_ALLOCATION_LIB_H__
+
+/**
+ Allocates one or more 4KB pages of type EfiBootServicesData.
+
+ Allocates the number of 4KB pages of type EfiBootServicesData and returns a pointer to the
+ allocated buffer. The buffer returned is aligned on a 4KB boundary. If Pages is 0, then NULL
+ is returned. If there is not enough memory remaining to satisfy the request, then NULL is
+ returned.
+
+ @param Pages The number of 4 KB pages to allocate.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocatePages (
+ IN UINTN Pages
+ );
+
+/**
+ Allocates one or more 4KB pages of type EfiRuntimeServicesData.
+
+ Allocates the number of 4KB pages of type EfiRuntimeServicesData and returns a pointer to the
+ allocated buffer. The buffer returned is aligned on a 4KB boundary. If Pages is 0, then NULL
+ is returned. If there is not enough memory remaining to satisfy the request, then NULL is
+ returned.
+
+ @param Pages The number of 4 KB pages to allocate.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateRuntimePages (
+ IN UINTN Pages
+ );
+
+/**
+ Allocates one or more 4KB pages of type EfiReservedMemoryType.
+
+ Allocates the number of 4KB pages of type EfiReservedMemoryType and returns a pointer to the
+ allocated buffer. The buffer returned is aligned on a 4KB boundary. If Pages is 0, then NULL
+ is returned. If there is not enough memory remaining to satisfy the request, then NULL is
+ returned.
+
+ @param Pages The number of 4 KB pages to allocate.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateReservedPages (
+ IN UINTN Pages
+ );
+
+/**
+ Frees one or more 4KB pages that were previously allocated with one of the page allocation
+ functions in the Memory Allocation Library.
+
+ Frees the number of 4KB pages specified by Pages from the buffer specified by Buffer. Buffer
+ must have been allocated on a previous call to the page allocation services of the Memory
+ Allocation Library. If it is not possible to free allocated pages, then this function will
+ perform no actions.
+
+ If Buffer was not allocated with a page allocation function in the Memory Allocation Library,
+ then ASSERT().
+ If Pages is zero, then ASSERT().
+
+ @param Buffer Pointer to the buffer of pages to free.
+ @param Pages The number of 4 KB pages to free.
+
+**/
+VOID
+EFIAPI
+FreePages (
+ IN VOID *Buffer,
+ IN UINTN Pages
+ );
+
+/**
+ Allocates one or more 4KB pages of type EfiBootServicesData at a specified alignment.
+
+ Allocates the number of 4KB pages specified by Pages of type EfiBootServicesData with an
+ alignment specified by Alignment. The allocated buffer is returned. If Pages is 0, then NULL is
+ returned. If there is not enough memory at the specified alignment remaining to satisfy the
+ request, then NULL is returned.
+
+ If Alignment is not a power of two and Alignment is not zero, then ASSERT().
+ If Pages plus EFI_SIZE_TO_PAGES (Alignment) overflows, then ASSERT().
+
+ @param Pages The number of 4 KB pages to allocate.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateAlignedPages (
+ IN UINTN Pages,
+ IN UINTN Alignment
+ );
+
+/**
+ Allocates one or more 4KB pages of type EfiRuntimeServicesData at a specified alignment.
+
+ Allocates the number of 4KB pages specified by Pages of type EfiRuntimeServicesData with an
+ alignment specified by Alignment. The allocated buffer is returned. If Pages is 0, then NULL is
+ returned. If there is not enough memory at the specified alignment remaining to satisfy the
+ request, then NULL is returned.
+
+ If Alignment is not a power of two and Alignment is not zero, then ASSERT().
+ If Pages plus EFI_SIZE_TO_PAGES (Alignment) overflows, then ASSERT().
+
+ @param Pages The number of 4 KB pages to allocate.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateAlignedRuntimePages (
+ IN UINTN Pages,
+ IN UINTN Alignment
+ );
+
+/**
+ Allocates one or more 4KB pages of type EfiReservedMemoryType at a specified alignment.
+
+ Allocates the number of 4KB pages specified by Pages of type EfiReservedMemoryType with an
+ alignment specified by Alignment. The allocated buffer is returned. If Pages is 0, then NULL is
+ returned. If there is not enough memory at the specified alignment remaining to satisfy the
+ request, then NULL is returned.
+
+ If Alignment is not a power of two and Alignment is not zero, then ASSERT().
+ If Pages plus EFI_SIZE_TO_PAGES (Alignment) overflows, then ASSERT().
+
+ @param Pages The number of 4 KB pages to allocate.
+ @param Alignment The requested alignment of the allocation. Must be a power of two.
+ If Alignment is zero, then byte alignment is used.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateAlignedReservedPages (
+ IN UINTN Pages,
+ IN UINTN Alignment
+ );
+
+/**
+ Frees one or more 4KB pages that were previously allocated with one of the aligned page
+ allocation functions in the Memory Allocation Library.
+
+ Frees the number of 4KB pages specified by Pages from the buffer specified by Buffer. Buffer
+ must have been allocated on a previous call to the aligned page allocation services of the Memory
+ Allocation Library. If it is not possible to free allocated pages, then this function will
+ perform no actions.
+
+ If Buffer was not allocated with an aligned page allocation function in the Memory Allocation
+ Library, then ASSERT().
+ If Pages is zero, then ASSERT().
+
+ @param Buffer Pointer to the buffer of pages to free.
+ @param Pages The number of 4 KB pages to free.
+
+**/
+VOID
+EFIAPI
+FreeAlignedPages (
+ IN VOID *Buffer,
+ IN UINTN Pages
+ );
+
+/**
+ Allocates a buffer of type EfiBootServicesData.
+
+ Allocates the number bytes specified by AllocationSize of type EfiBootServicesData and returns a
+ pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer of 0 size is
+ returned. If there is not enough memory remaining to satisfy the request, then NULL is returned.
+
+ @param AllocationSize The number of bytes to allocate.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocatePool (
+ IN UINTN AllocationSize
+ );
+
+/**
+ Allocates a buffer of type EfiRuntimeServicesData.
+
+ Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData and returns
+ a pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer of 0 size is
+ returned. If there is not enough memory remaining to satisfy the request, then NULL is returned.
+
+ @param AllocationSize The number of bytes to allocate.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateRuntimePool (
+ IN UINTN AllocationSize
+ );
+
+/**
+ Allocates a buffer of type EfiReservedMemoryType.
+
+ Allocates the number bytes specified by AllocationSize of type EfiReservedMemoryType and returns
+ a pointer to the allocated buffer. If AllocationSize is 0, then a valid buffer of 0 size is
+ returned. If there is not enough memory remaining to satisfy the request, then NULL is returned.
+
+ @param AllocationSize The number of bytes to allocate.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateReservedPool (
+ IN UINTN AllocationSize
+ );
+
+/**
+ Allocates and zeros a buffer of type EfiBootServicesData.
+
+ Allocates the number bytes specified by AllocationSize of type EfiBootServicesData, clears the
+ buffer with zeros, and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
+ valid buffer of 0 size is returned. If there is not enough memory remaining to satisfy the
+ request, then NULL is returned.
+
+ @param AllocationSize The number of bytes to allocate and zero.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateZeroPool (
+ IN UINTN AllocationSize
+ );
+
+/**
+ Allocates and zeros a buffer of type EfiRuntimeServicesData.
+
+ Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData, clears the
+ buffer with zeros, and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
+ valid buffer of 0 size is returned. If there is not enough memory remaining to satisfy the
+ request, then NULL is returned.
+
+ @param AllocationSize The number of bytes to allocate and zero.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateRuntimeZeroPool (
+ IN UINTN AllocationSize
+ );
+
+/**
+ Allocates and zeros a buffer of type EfiReservedMemoryType.
+
+ Allocates the number bytes specified by AllocationSize of type EfiReservedMemoryType, clears the
+ buffer with zeros, and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
+ valid buffer of 0 size is returned. If there is not enough memory remaining to satisfy the
+ request, then NULL is returned.
+
+ @param AllocationSize The number of bytes to allocate and zero.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateReservedZeroPool (
+ IN UINTN AllocationSize
+ );
+
+/**
+ Copies a buffer to an allocated buffer of type EfiBootServicesData.
+
+ Allocates the number bytes specified by AllocationSize of type EfiBootServicesData, copies
+ AllocationSize bytes from Buffer to the newly allocated buffer, and returns a pointer to the
+ allocated buffer. If AllocationSize is 0, then a valid buffer of 0 size is returned. If there
+ is not enough memory remaining to satisfy the request, then NULL is returned.
+
+ If Buffer is NULL, then ASSERT().
+ If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param AllocationSize The number of bytes to allocate and zero.
+ @param Buffer The buffer to copy to the allocated buffer.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateCopyPool (
+ IN UINTN AllocationSize,
+ IN CONST VOID *Buffer
+ );
+
+/**
+ Copies a buffer to an allocated buffer of type EfiRuntimeServicesData.
+
+ Allocates the number bytes specified by AllocationSize of type EfiRuntimeServicesData, copies
+ AllocationSize bytes from Buffer to the newly allocated buffer, and returns a pointer to the
+ allocated buffer. If AllocationSize is 0, then a valid buffer of 0 size is returned. If there
+ is not enough memory remaining to satisfy the request, then NULL is returned.
+
+ If Buffer is NULL, then ASSERT().
+ If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param AllocationSize The number of bytes to allocate and zero.
+ @param Buffer The buffer to copy to the allocated buffer.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateRuntimeCopyPool (
+ IN UINTN AllocationSize,
+ IN CONST VOID *Buffer
+ );
+
+/**
+ Copies a buffer to an allocated buffer of type EfiReservedMemoryType.
+
+ Allocates the number bytes specified by AllocationSize of type EfiReservedMemoryType, copies
+ AllocationSize bytes from Buffer to the newly allocated buffer, and returns a pointer to the
+ allocated buffer. If AllocationSize is 0, then a valid buffer of 0 size is returned. If there
+ is not enough memory remaining to satisfy the request, then NULL is returned.
+
+ If Buffer is NULL, then ASSERT().
+ If AllocationSize is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
+
+ @param AllocationSize The number of bytes to allocate and zero.
+ @param Buffer The buffer to copy to the allocated buffer.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+AllocateReservedCopyPool (
+ IN UINTN AllocationSize,
+ IN CONST VOID *Buffer
+ );
+
+/**
+ Reallocates a buffer of type EfiBootServicesData.
+
+ Allocates and zeros the number bytes specified by NewSize from memory of type
+ EfiBootServicesData. If OldBuffer is not NULL, then the smaller of OldSize and
+ NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
+ OldBuffer is freed. A pointer to the newly allocated buffer is returned.
+ If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
+ enough memory remaining to satisfy the request, then NULL is returned.
+
+ If the allocation of the new buffer is successful and the smaller of NewSize and OldSize
+ is greater than (MAX_ADDRESS - OldBuffer + 1), then ASSERT().
+
+ @param OldSize The size, in bytes, of OldBuffer.
+ @param NewSize The size, in bytes, of the buffer to reallocate.
+ @param OldBuffer The buffer to copy to the allocated buffer. This is an optional
+ parameter that may be NULL.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+ReallocatePool (
+ IN UINTN OldSize,
+ IN UINTN NewSize,
+ IN VOID *OldBuffer OPTIONAL
+ );
+
+/**
+ Reallocates a buffer of type EfiRuntimeServicesData.
+
+ Allocates and zeros the number bytes specified by NewSize from memory of type
+ EfiRuntimeServicesData. If OldBuffer is not NULL, then the smaller of OldSize and
+ NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
+ OldBuffer is freed. A pointer to the newly allocated buffer is returned.
+ If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
+ enough memory remaining to satisfy the request, then NULL is returned.
+
+ If the allocation of the new buffer is successful and the smaller of NewSize and OldSize
+ is greater than (MAX_ADDRESS - OldBuffer + 1), then ASSERT().
+
+ @param OldSize The size, in bytes, of OldBuffer.
+ @param NewSize The size, in bytes, of the buffer to reallocate.
+ @param OldBuffer The buffer to copy to the allocated buffer. This is an optional
+ parameter that may be NULL.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+ReallocateRuntimePool (
+ IN UINTN OldSize,
+ IN UINTN NewSize,
+ IN VOID *OldBuffer OPTIONAL
+ );
+
+/**
+ Reallocates a buffer of type EfiReservedMemoryType.
+
+ Allocates and zeros the number bytes specified by NewSize from memory of type
+ EfiReservedMemoryType. If OldBuffer is not NULL, then the smaller of OldSize and
+ NewSize bytes are copied from OldBuffer to the newly allocated buffer, and
+ OldBuffer is freed. A pointer to the newly allocated buffer is returned.
+ If NewSize is 0, then a valid buffer of 0 size is returned. If there is not
+ enough memory remaining to satisfy the request, then NULL is returned.
+
+ If the allocation of the new buffer is successful and the smaller of NewSize and OldSize
+ is greater than (MAX_ADDRESS - OldBuffer + 1), then ASSERT().
+
+ @param OldSize The size, in bytes, of OldBuffer.
+ @param NewSize The size, in bytes, of the buffer to reallocate.
+ @param OldBuffer The buffer to copy to the allocated buffer. This is an optional
+ parameter that may be NULL.
+
+ @return A pointer to the allocated buffer or NULL if allocation fails.
+
+**/
+VOID *
+EFIAPI
+ReallocateReservedPool (
+ IN UINTN OldSize,
+ IN UINTN NewSize,
+ IN VOID *OldBuffer OPTIONAL
+ );
+
+/**
+ Frees a buffer that was previously allocated with one of the pool allocation functions in the
+ Memory Allocation Library.
+
+ Frees the buffer specified by Buffer. Buffer must have been allocated on a previous call to the
+ pool allocation services of the Memory Allocation Library. If it is not possible to free pool
+ resources, then this function will perform no actions.
+
+ If Buffer was not allocated with a pool allocation function in the Memory Allocation Library,
+ then ASSERT().
+
+ @param Buffer Pointer to the buffer to free.
+
+**/
+VOID
+EFIAPI
+FreePool (
+ IN VOID *Buffer
+ );
+
+#endif
diff --git a/sys/contrib/edk2/Include/Library/PcdLib.h b/sys/contrib/edk2/Include/Library/PcdLib.h
new file mode 100644
index 0000000..fdb2df8
--- /dev/null
+++ b/sys/contrib/edk2/Include/Library/PcdLib.h
@@ -0,0 +1,2260 @@
+/** @file
+ Provides library services to get and set Platform Configuration Database entries.
+
+ PCD Library Class provides a PCD usage macro interface for all PCD types.
+ It should be included in any module that uses PCD. If a module uses dynamic/dynamicex
+ PCD, module should be linked to a PEIM/DXE library instance to access that PCD.
+ If a module uses PatchableInModule type PCD, it also needs the library instance to produce
+ LibPatchPcdSetPtr() interface. For FeatureFlag/Fixed PCD, the macro interface is
+ translated to a variable or macro that is auto-generated by build tool in
+ module's autogen.h/autogen.c.
+ The PcdGetXX(), PcdSetXX(), PcdToken(), and PcdGetNextTokenSpace() operations are
+ only available prior to ExitBootServices(). If access to PCD values are required
+ at runtime, then their values must be collected prior to ExitBootServices().
+ There are no restrictions on the use of FeaturePcd(), FixedPcdGetXX(),
+ PatchPcdGetXX(), and PatchPcdSetXX().
+
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __PCD_LIB_H__
+#define __PCD_LIB_H__
+
+
+/**
+ Retrieves a token number based on a token name.
+
+ Returns the token number associated with the PCD token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve the token number for.
+
+ @return The token number associated with the PCD.
+
+**/
+#define PcdToken(TokenName) _PCD_TOKEN_##TokenName
+
+
+/**
+ Retrieves a Boolean PCD feature flag based on a token name.
+
+ Returns the Boolean value for the PCD feature flag specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a feature flag PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return Boolean value for the PCD feature flag.
+
+**/
+#define FeaturePcdGet(TokenName) _PCD_GET_MODE_BOOL_##TokenName
+
+
+/**
+ Retrieves an 8-bit fixed PCD token value based on a token name.
+
+ Returns the 8-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a fixed at build PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return 8-bit value for the token specified by TokenName.
+
+**/
+#define FixedPcdGet8(TokenName) _PCD_VALUE_##TokenName
+
+
+/**
+ Retrieves a 16-bit fixed PCD token value based on a token name.
+
+ Returns the 16-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a fixed at build PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return 16-bit value for the token specified by TokenName.
+
+**/
+#define FixedPcdGet16(TokenName) _PCD_VALUE_##TokenName
+
+
+/**
+ Retrieves a 32-bit fixed PCD token value based on a token name.
+
+ Returns the 32-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a fixed at build PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return 32-bit value for the token specified by TokenName.
+
+**/
+#define FixedPcdGet32(TokenName) _PCD_VALUE_##TokenName
+
+
+/**
+ Retrieves a 64-bit fixed PCD token value based on a token name.
+
+ Returns the 64-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a fixed at build PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return 64-bit value for the token specified by TokenName.
+
+**/
+#define FixedPcdGet64(TokenName) _PCD_VALUE_##TokenName
+
+
+/**
+ Retrieves a Boolean fixed PCD token value based on a token name.
+
+ Returns the Boolean value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a fixed at build PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return The Boolean value for the token.
+
+**/
+#define FixedPcdGetBool(TokenName) _PCD_VALUE_##TokenName
+
+
+/**
+ Retrieves a pointer to a fixed PCD token buffer based on a token name.
+
+ Returns a pointer to the buffer for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a fixed at build PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A pointer to the buffer.
+
+**/
+#define FixedPcdGetPtr(TokenName) ((VOID *)_PCD_VALUE_##TokenName)
+
+
+/**
+ Retrieves an 8-bit binary patchable PCD token value based on a token name.
+
+ Returns the 8-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return An 8-bit binary patchable PCD token value.
+
+**/
+#define PatchPcdGet8(TokenName) _gPcd_BinaryPatch_##TokenName
+
+/**
+ Retrieves a 16-bit binary patchable PCD token value based on a token name.
+
+ Returns the 16-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A 16-bit binary patchable PCD token value.
+
+**/
+#define PatchPcdGet16(TokenName) _gPcd_BinaryPatch_##TokenName
+
+
+/**
+ Retrieves a 32-bit binary patchable PCD token value based on a token name.
+
+ Returns the 32-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A 32-bit binary patchable PCD token value.
+
+**/
+#define PatchPcdGet32(TokenName) _gPcd_BinaryPatch_##TokenName
+
+
+/**
+ Retrieves a 64-bit binary patchable PCD token value based on a token name.
+
+ Returns the 64-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A 64-bit binary patchable PCD token value.
+
+**/
+#define PatchPcdGet64(TokenName) _gPcd_BinaryPatch_##TokenName
+
+
+/**
+ Retrieves a Boolean binary patchable PCD token value based on a token name.
+
+ Returns the Boolean value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return The Boolean value for the token.
+
+**/
+#define PatchPcdGetBool(TokenName) _gPcd_BinaryPatch_##TokenName
+
+
+/**
+ Retrieves a pointer to a binary patchable PCD token buffer based on a token name.
+
+ Returns a pointer to the buffer for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A pointer to the buffer for the token.
+
+**/
+#define PatchPcdGetPtr(TokenName) ((VOID *)_gPcd_BinaryPatch_##TokenName)
+
+
+/**
+ Sets an 8-bit binary patchable PCD token value based on a token name.
+
+ Sets the 8-bit value for the token specified by TokenName. Value is returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the binary patchable PCD token to set the current value for.
+ @param Value The 8-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PatchPcdSet8(TokenName, Value) (_gPcd_BinaryPatch_##TokenName = (Value))
+
+
+/**
+ Sets a 16-bit binary patchable PCD token value based on a token name.
+
+ Sets the 16-bit value for the token specified by TokenName. Value is returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the binary patchable PCD token to set the current value for.
+ @param Value The 16-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PatchPcdSet16(TokenName, Value) (_gPcd_BinaryPatch_##TokenName = (Value))
+
+
+/**
+ Sets a 32-bit binary patchable PCD token value based on a token name.
+
+ Sets the 32-bit value for the token specified by TokenName. Value is returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the binary patchable PCD token to set the current value for.
+ @param Value The 32-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PatchPcdSet32(TokenName, Value) (_gPcd_BinaryPatch_##TokenName = (Value))
+
+
+/**
+ Sets a 64-bit binary patchable PCD token value based on a token name.
+
+ Sets the 64-bit value for the token specified by TokenName. Value is returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the binary patchable PCD token to set the current value for.
+ @param Value The 64-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PatchPcdSet64(TokenName, Value) (_gPcd_BinaryPatch_##TokenName = (Value))
+
+
+/**
+ Sets a Boolean binary patchable PCD token value based on a token name.
+
+ Sets the Boolean value for the token specified by TokenName. Value is returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ @param TokenName The name of the binary patchable PCD token to set the current value for.
+ @param Value The boolean value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PatchPcdSetBool(TokenName, Value) (_gPcd_BinaryPatch_##TokenName = (Value))
+
+
+/**
+ Sets a pointer to a binary patchable PCD token buffer based on a token name.
+
+ Sets the buffer for the token specified by TokenName. Buffer is returned.
+ If SizeOfBuffer is greater than the maximum size supported by TokenName, then set SizeOfBuffer
+ to the maximum size supported by TokenName and return NULL to indicate that the set operation
+ was not actually performed. If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be
+ set to the maximum size supported by TokenName and NULL must be returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+ If TokenName is not a patchable in module PCD, then the module will not build.
+
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param TokenName The name of the binary patchable PCD token to set the current value for.
+ @param SizeOfBuffer A pointer to the size, in bytes, of Buffer.
+ @param Buffer Pointer to the value to set.
+
+ @return Return the pointer to the Buffer that was set.
+
+**/
+#define PatchPcdSetPtr(TokenName, Size, Buffer) \
+ LibPatchPcdSetPtrAndSize ( \
+ (VOID *)_gPcd_BinaryPatch_##TokenName, \
+ &_gPcd_BinaryPatch_Size_##TokenName, \
+ (UINTN)_PCD_PATCHABLE_##TokenName##_SIZE, \
+ (Size), \
+ (Buffer) \
+ )
+/**
+ Retrieves an 8-bit PCD token value based on a token name.
+
+ Returns the 8-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return 8-bit value for the token specified by TokenName.
+
+**/
+#define PcdGet8(TokenName) _PCD_GET_MODE_8_##TokenName
+
+
+/**
+ Retrieves a 16-bit PCD token value based on a token name.
+
+ Returns the 16-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return 16-bit value for the token specified by TokenName.
+
+**/
+#define PcdGet16(TokenName) _PCD_GET_MODE_16_##TokenName
+
+
+/**
+ Retrieves a 32-bit PCD token value based on a token name.
+
+ Returns the 32-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return 32-bit value for the token specified by TokenName.
+
+**/
+#define PcdGet32(TokenName) _PCD_GET_MODE_32_##TokenName
+
+
+/**
+ Retrieves a 64-bit PCD token value based on a token name.
+
+ Returns the 64-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return 64-bit value for the token specified by TokenName.
+
+**/
+#define PcdGet64(TokenName) _PCD_GET_MODE_64_##TokenName
+
+
+/**
+ Retrieves a pointer to a PCD token buffer based on a token name.
+
+ Returns a pointer to the buffer for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A pointer to the buffer.
+
+**/
+#define PcdGetPtr(TokenName) _PCD_GET_MODE_PTR_##TokenName
+
+
+/**
+ Retrieves a Boolean PCD token value based on a token name.
+
+ Returns the Boolean value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A Boolean PCD token value.
+
+**/
+#define PcdGetBool(TokenName) _PCD_GET_MODE_BOOL_##TokenName
+
+
+/**
+ Retrieves the size of a fixed PCD token based on a token name.
+
+ Returns the size of the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param[in] TokenName The name of the PCD token to retrieve a current value size for.
+
+ @return Return the size
+
+**/
+#define FixedPcdGetSize(TokenName) _PCD_SIZE_##TokenName
+
+
+/**
+ Retrieves the size of a binary patchable PCD token based on a token name.
+
+ Returns the size of the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param[in] TokenName The name of the PCD token to retrieve a current value size for.
+
+ @return Return the size
+
+**/
+#define PatchPcdGetSize(TokenName) _gPcd_BinaryPatch_Size_##TokenName
+
+
+/**
+ Retrieves the size of the PCD token based on a token name.
+
+ Returns the size of the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param[in] TokenName The name of the PCD token to retrieve a current value size for.
+
+ @return Return the size
+
+**/
+#define PcdGetSize(TokenName) _PCD_GET_MODE_SIZE_##TokenName
+
+
+/**
+ Retrieve the size of a given PCD token.
+
+ Returns the size of the token specified by TokenNumber and Guid.
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param[in] TokenNumber The PCD token number to retrieve a current value size for.
+
+ @return Return the size.
+
+**/
+#define PcdGetExSize(Guid, TokenName) LibPcdGetExSize ((Guid), PcdTokenEx(Guid,TokenName))
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+/**
+ Sets an 8-bit PCD token value based on a token name.
+
+ Sets the 8-bit value for the token specified by TokenName. Value is returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+ @param Value The 8-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PcdSet8(TokenName, Value) _PCD_SET_MODE_8_##TokenName ((Value))
+
+
+/**
+ Sets a 16-bit PCD token value based on a token name.
+
+ Sets the 16-bit value for the token specified by TokenName. Value is returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+ @param Value The 16-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PcdSet16(TokenName, Value) _PCD_SET_MODE_16_##TokenName ((Value))
+
+
+/**
+ Sets a 32-bit PCD token value based on a token name.
+
+ Sets the 32-bit value for the token specified by TokenName. Value is returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+ @param Value The 32-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PcdSet32(TokenName, Value) _PCD_SET_MODE_32_##TokenName ((Value))
+
+
+/**
+ Sets a 64-bit PCD token value based on a token name.
+
+ Sets the 64-bit value for the token specified by TokenName. Value is returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+ @param Value The 64-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PcdSet64(TokenName, Value) _PCD_SET_MODE_64_##TokenName ((Value))
+
+
+/**
+ Sets a pointer to a PCD token buffer based on a token name.
+
+ Sets the buffer for the token specified by TokenName. Buffer is returned.
+ If SizeOfBuffer is greater than the maximum size supported by TokenName,
+ then set SizeOfBuffer to the maximum size supported by TokenName and return NULL
+ to indicate that the set operation was not actually performed. If SizeOfBuffer
+ is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported
+ by TokenName and NULL must be returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param TokenName The name of the PCD token to set the current value for.
+ @param SizeOfBuffer A pointer to the size, in bytes, of Buffer.
+ @param Buffer A pointer to the buffer to set.
+
+ @return Return the pointer to the Buffer that was set.
+
+**/
+#define PcdSetPtr(TokenName, SizeOfBuffer, Buffer) \
+ _PCD_SET_MODE_PTR_##TokenName ((SizeOfBuffer), (Buffer))
+
+/**
+ Sets a Boolean PCD token value based on a token name.
+
+ Sets the Boolean value for the token specified by TokenName. Value is returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Buffer The Boolean value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PcdSetBool(TokenName, Value) _PCD_SET_MODE_BOOL_##TokenName ((Value))
+#endif
+
+/**
+ Sets a 8-bit PCD token value based on a token name.
+
+ Sets the 8-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+ @param Value The 8-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSet8S(TokenName, Value) _PCD_SET_MODE_8_S_##TokenName ((Value))
+
+/**
+ Sets a 16-bit PCD token value based on a token name.
+
+ Sets the 16-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+ @param Value The 16-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSet16S(TokenName, Value) _PCD_SET_MODE_16_S_##TokenName ((Value))
+
+/**
+ Sets a 32-bit PCD token value based on a token name.
+
+ Sets the 32-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+ @param Value The 32-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSet32S(TokenName, Value) _PCD_SET_MODE_32_S_##TokenName ((Value))
+
+/**
+ Sets a 64-bit PCD token value based on a token name.
+
+ Sets the 64-bit value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+ @param Value The 64-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSet64S(TokenName, Value) _PCD_SET_MODE_64_S_##TokenName ((Value))
+
+/**
+ Sets a pointer to a PCD token buffer based on a token name.
+
+ Sets the buffer for the token specified by TokenName.
+ If SizeOfBuffer is greater than the maximum size supported by TokenName,
+ then set SizeOfBuffer to the maximum size supported by TokenName and return
+ RETURN_INVALID_PARAMETER to indicate that the set operation was not actually performed.
+ If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size
+ supported by TokenName and RETURN_INVALID_PARAMETER must be returned.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param TokenName The name of the PCD token to set the current value for.
+ @param SizeOfBuffer A pointer to the size, in bytes, of Buffer.
+ @param Buffer A pointer to the buffer to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSetPtrS(TokenName, SizeOfBuffer, Buffer) \
+ _PCD_SET_MODE_PTR_S_##TokenName ((SizeOfBuffer), (Buffer))
+
+
+
+/**
+ Sets a boolean PCD token value based on a token name.
+
+ Sets the boolean value for the token specified by TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param TokenName The name of the PCD token to retrieve a current value for.
+ @param Value The boolean value to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSetBoolS(TokenName, Value) _PCD_SET_MODE_BOOL_S_##TokenName ((Value))
+
+/**
+ Retrieves a token number based on a GUID and a token name.
+
+ Returns the token number for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space, then the module will not build.
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return Return the token number.
+
+**/
+#define PcdTokenEx(Guid,TokenName) _PCD_TOKEN_EX_##TokenName(Guid)
+
+/**
+ Retrieves an 8-bit PCD token value based on a GUID and a token name.
+
+ Returns the 8-bit value for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return An 8-bit PCD token value.
+
+**/
+#define PcdGetEx8(Guid, TokenName) LibPcdGetEx8 ((Guid), PcdTokenEx(Guid,TokenName))
+
+/**
+ Retrieves a 16-bit PCD token value based on a GUID and a token name.
+
+ Returns the 16-bit value for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A 16-bit PCD token value.
+
+**/
+#define PcdGetEx16(Guid, TokenName) LibPcdGetEx16 ((Guid), PcdTokenEx(Guid,TokenName))
+
+
+/**
+ Retrieves a 32-bit PCD token value based on a GUID and a token name.
+
+ Returns the 32-bit value for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A 32-bit PCD token value.
+
+**/
+#define PcdGetEx32(Guid, TokenName) LibPcdGetEx32 ((Guid), PcdTokenEx(Guid,TokenName))
+
+
+/**
+ Retrieves a 64-bit PCD token value based on a GUID and a token name.
+
+ Returns the 64-bit value for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A 64-bit PCD token value.
+
+**/
+#define PcdGetEx64(Guid, TokenName) LibPcdGetEx64 ((Guid), PcdTokenEx(Guid,TokenName))
+
+
+/**
+ Retrieves a pointer to a PCD token buffer based on a GUID and a token name.
+
+ Returns a pointer to the buffer for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A pointer to a PCD token buffer.
+
+**/
+#define PcdGetExPtr(Guid, TokenName) LibPcdGetExPtr ((Guid), PcdTokenEx(Guid,TokenName))
+
+
+/**
+ Retrieves a Boolean PCD token value based on a GUID and a token name.
+
+ Returns the Boolean value for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to retrieve a current value for.
+
+ @return A Boolean PCD token value.
+
+**/
+#define PcdGetExBool(Guid, TokenName) LibPcdGetExBool ((Guid), PcdTokenEx(Guid,TokenName))
+
+
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+/**
+ Sets an 8-bit PCD token value based on a GUID and a token name.
+
+ Sets the 8-bit value for the token specified by Guid and TokenName. Value is returned.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Value The 8-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PcdSetEx8(Guid, TokenName, Value) LibPcdSetEx8 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
+
+
+/**
+ Sets a 16-bit PCD token value based on a GUID and a token name.
+
+ Sets the 16-bit value for the token specified by Guid and TokenName. Value is returned.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Value The 16-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PcdSetEx16(Guid, TokenName, Value) LibPcdSetEx16 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
+
+
+/**
+ Sets a 32-bit PCD token value based on a GUID and a token name.
+
+ Sets the 32-bit value for the token specified by Guid and TokenName. Value is returned.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Value The 32-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PcdSetEx32(Guid, TokenName, Value) LibPcdSetEx32 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
+
+
+/**
+ Sets a 64-bit PCD token value based on a GUID and a token name.
+
+ Sets the 64-bit value for the token specified by Guid and TokenName. Value is returned.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Value The 64-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PcdSetEx64(Guid, TokenName, Value) LibPcdSetEx64 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
+
+
+/**
+ Sets a pointer to a PCD token buffer based on a GUID and a token name.
+
+ Sets the buffer for the token specified by Guid and TokenName. Buffer is returned.
+ If SizeOfBuffer is greater than the maximum size supported by Guid and TokenName,
+ then set SizeOfBuffer to the maximum size supported by Guid and TokenName and return
+ NULL to indicate that the set operation was not actually performed. If SizeOfBuffer
+ is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported by
+ Guid and TokenName and NULL must be returned.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param SizeOfBuffer A pointer to the size, in bytes, of Buffer.
+ @param Buffer Pointer to the buffer to set.
+
+ @return Return the pointer to the Buffer that was set.
+
+**/
+#define PcdSetExPtr(Guid, TokenName, SizeOfBuffer, Buffer) \
+ LibPcdSetExPtr ((Guid), PcdTokenEx(Guid,TokenName), (SizeOfBuffer), (Buffer))
+
+
+/**
+ Sets a Boolean PCD token value based on a GUID and a token name.
+
+ Sets the Boolean value for the token specified by Guid and TokenName. Value is returned.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Value The Boolean value to set.
+
+ @return Return the Value that was set.
+
+**/
+#define PcdSetExBool(Guid, TokenName, Value) \
+ LibPcdSetExBool((Guid), PcdTokenEx(Guid,TokenName), (Value))
+#endif
+
+/**
+ Sets an 8-bit PCD token value based on a GUID and a token name.
+
+ Sets the 8-bit value for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Value The 8-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSetEx8S(Guid, TokenName, Value) LibPcdSetEx8S ((Guid), PcdTokenEx(Guid,TokenName), (Value))
+
+/**
+ Sets an 16-bit PCD token value based on a GUID and a token name.
+
+ Sets the 16-bit value for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Value The 16-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSetEx16S(Guid, TokenName, Value) LibPcdSetEx16S ((Guid), PcdTokenEx(Guid,TokenName), (Value))
+
+/**
+ Sets an 32-bit PCD token value based on a GUID and a token name.
+
+ Sets the 32-bit value for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Value The 32-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSetEx32S(Guid, TokenName, Value) LibPcdSetEx32S ((Guid), PcdTokenEx(Guid,TokenName), (Value))
+
+/**
+ Sets an 64-bit PCD token value based on a GUID and a token name.
+
+ Sets the 64-bit value for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Value The 64-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSetEx64S(Guid, TokenName, Value) LibPcdSetEx64S ((Guid), PcdTokenEx(Guid,TokenName), (Value))
+
+/**
+ Sets a pointer to a PCD token buffer based on a GUID and a token name.
+
+ Sets the buffer for the token specified by Guid and TokenName.
+ If SizeOfBuffer is greater than the maximum size supported by Guid and TokenName,
+ then set SizeOfBuffer to the maximum size supported by Guid and TokenName and return
+ RETURN_INVALID_PARAMETER to indicate that the set operation was not actually performed.
+ If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size
+ supported by Guid and TokenName and RETURN_INVALID_PARAMETER must be returned.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param SizeOfBuffer A pointer to the size, in bytes, of Buffer.
+ @param Buffer Pointer to the buffer to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSetExPtrS(Guid, TokenName, SizeOfBuffer, Buffer) \
+ LibPcdSetExPtrS ((Guid), PcdTokenEx(Guid,TokenName), (SizeOfBuffer), (Buffer))
+
+
+/**
+ Sets an boolean PCD token value based on a GUID and a token name.
+
+ Sets the boolean value for the token specified by Guid and TokenName.
+ If TokenName is not a valid token in the token space specified by Guid,
+ then the module will not build.
+
+ If Guid is NULL, then ASSERT().
+
+ @param Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param TokenName The name of the PCD token to set the current value for.
+ @param Value The boolean value to set.
+
+ @return The status of the set operation.
+
+**/
+#define PcdSetExBoolS(Guid, TokenName, Value) \
+ LibPcdSetExBoolS ((Guid), PcdTokenEx(Guid,TokenName), (Value))
+
+/**
+ This function provides a means by which SKU support can be established in the PCD infrastructure.
+
+ Sets the current SKU in the PCD database to the value specified by SkuId. SkuId is returned.
+
+ @param SkuId The SKU value that will be used when the PCD service retrieves and sets values
+ associated with a PCD token.
+
+ @return Return the SKU ID that was set.
+
+**/
+UINTN
+EFIAPI
+LibPcdSetSku (
+ IN UINTN SkuId
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the 8-bit value for the token specified by TokenNumber.
+
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Returns the 8-bit value for the token specified by TokenNumber.
+
+**/
+UINT8
+EFIAPI
+LibPcdGet8 (
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the 16-bit value for the token specified by TokenNumber.
+
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Returns the 16-bit value for the token specified by TokenNumber.
+
+**/
+UINT16
+EFIAPI
+LibPcdGet16 (
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the 32-bit value for the token specified by TokenNumber.
+
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Returns the 32-bit value for the token specified by TokenNumber.
+
+**/
+UINT32
+EFIAPI
+LibPcdGet32 (
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the 64-bit value for the token specified by TokenNumber.
+
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Returns the 64-bit value for the token specified by TokenNumber.
+
+**/
+UINT64
+EFIAPI
+LibPcdGet64 (
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the pointer to the buffer of the token specified by TokenNumber.
+
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Returns the pointer to the token specified by TokenNumber.
+
+**/
+VOID *
+EFIAPI
+LibPcdGetPtr (
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the Boolean value of the token specified by TokenNumber.
+
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Returns the Boolean value of the token specified by TokenNumber.
+
+**/
+BOOLEAN
+EFIAPI
+LibPcdGetBool (
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve the size of a given PCD token.
+
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Returns the size of the token specified by TokenNumber.
+
+**/
+UINTN
+EFIAPI
+LibPcdGetSize (
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the 8-bit value for the token specified by TokenNumber and Guid.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Return the UINT8.
+
+**/
+UINT8
+EFIAPI
+LibPcdGetEx8 (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the 16-bit value for the token specified by TokenNumber and Guid.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Return the UINT16.
+
+**/
+UINT16
+EFIAPI
+LibPcdGetEx16 (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ Returns the 32-bit value for the token specified by TokenNumber and Guid.
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Return the UINT32.
+
+**/
+UINT32
+EFIAPI
+LibPcdGetEx32 (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the 64-bit value for the token specified by TokenNumber and Guid.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Return the UINT64.
+
+**/
+UINT64
+EFIAPI
+LibPcdGetEx64 (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the pointer to the buffer of token specified by TokenNumber and Guid.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Return the VOID* pointer.
+
+**/
+VOID *
+EFIAPI
+LibPcdGetExPtr (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve a value for a given PCD token.
+
+ Returns the Boolean value of the token specified by TokenNumber and Guid.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Return the BOOLEAN.
+
+**/
+BOOLEAN
+EFIAPI
+LibPcdGetExBool (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber
+ );
+
+
+/**
+ This function provides a means by which to retrieve the size of a given PCD token.
+
+ Returns the size of the token specified by TokenNumber and Guid.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that designates
+ which namespace to retrieve a value from.
+ @param[in] TokenNumber The PCD token number to retrieve a current value for.
+
+ @return Return the size.
+
+**/
+UINTN
+EFIAPI
+LibPcdGetExSize (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber
+ );
+
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 8-bit value for the token specified by TokenNumber
+ to the value specified by Value. Value is returned.
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 8-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+UINT8
+EFIAPI
+LibPcdSet8 (
+ IN UINTN TokenNumber,
+ IN UINT8 Value
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 16-bit value for the token specified by TokenNumber
+ to the value specified by Value. Value is returned.
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 16-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+UINT16
+EFIAPI
+LibPcdSet16 (
+ IN UINTN TokenNumber,
+ IN UINT16 Value
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 32-bit value for the token specified by TokenNumber
+ to the value specified by Value. Value is returned.
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 32-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+UINT32
+EFIAPI
+LibPcdSet32 (
+ IN UINTN TokenNumber,
+ IN UINT32 Value
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 64-bit value for the token specified by TokenNumber
+ to the value specified by Value. Value is returned.
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 64-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+UINT64
+EFIAPI
+LibPcdSet64 (
+ IN UINTN TokenNumber,
+ IN UINT64 Value
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets a buffer for the token specified by TokenNumber to the value
+ specified by Buffer and SizeOfBuffer. Buffer is returned.
+ If SizeOfBuffer is greater than the maximum size support by TokenNumber,
+ then set SizeOfBuffer to the maximum size supported by TokenNumber and
+ return NULL to indicate that the set operation was not actually performed.
+
+ If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the
+ maximum size supported by TokenName and NULL must be returned.
+
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
+ @param[in] Buffer A pointer to the buffer to set.
+
+ @return Return the pointer for the Buffer that was set.
+
+**/
+VOID *
+EFIAPI
+LibPcdSetPtr (
+ IN UINTN TokenNumber,
+ IN OUT UINTN *SizeOfBuffer,
+ IN CONST VOID *Buffer
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the Boolean value for the token specified by TokenNumber
+ to the value specified by Value. Value is returned.
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The boolean value to set.
+
+ @return Return the Value that was set.
+
+**/
+BOOLEAN
+EFIAPI
+LibPcdSetBool (
+ IN UINTN TokenNumber,
+ IN BOOLEAN Value
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 8-bit value for the token specified by TokenNumber and
+ Guid to the value specified by Value. Value is returned.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 8-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+UINT8
+EFIAPI
+LibPcdSetEx8 (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN UINT8 Value
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 16-bit value for the token specified by TokenNumber and
+ Guid to the value specified by Value. Value is returned.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 16-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+UINT16
+EFIAPI
+LibPcdSetEx16 (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN UINT16 Value
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 32-bit value for the token specified by TokenNumber and
+ Guid to the value specified by Value. Value is returned.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 32-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+UINT32
+EFIAPI
+LibPcdSetEx32 (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN UINT32 Value
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 64-bit value for the token specified by TokenNumber and
+ Guid to the value specified by Value. Value is returned.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 64-bit value to set.
+
+ @return Return the Value that was set.
+
+**/
+UINT64
+EFIAPI
+LibPcdSetEx64 (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN UINT64 Value
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets a buffer for the token specified by TokenNumber to the value specified by
+ Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than
+ the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size
+ supported by TokenNumber and return NULL to indicate that the set operation
+ was not actually performed.
+
+ If Guid is NULL, then ASSERT().
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
+ @param[in] Buffer A pointer to the buffer to set.
+
+ @return Return the pointer to the Buffer that was set.
+
+**/
+VOID *
+EFIAPI
+LibPcdSetExPtr (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN OUT UINTN *SizeOfBuffer,
+ IN VOID *Buffer
+ );
+
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the Boolean value for the token specified by TokenNumber and
+ Guid to the value specified by Value. Value is returned.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The Boolean value to set.
+
+ @return Return the Value that was set.
+
+**/
+BOOLEAN
+EFIAPI
+LibPcdSetExBool (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN BOOLEAN Value
+ );
+#endif
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 8-bit value for the token specified by TokenNumber
+ to the value specified by Value.
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 8-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSet8S (
+ IN UINTN TokenNumber,
+ IN UINT8 Value
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 16-bit value for the token specified by TokenNumber
+ to the value specified by Value.
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 16-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSet16S (
+ IN UINTN TokenNumber,
+ IN UINT16 Value
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 32-bit value for the token specified by TokenNumber
+ to the value specified by Value.
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 32-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSet32S (
+ IN UINTN TokenNumber,
+ IN UINT32 Value
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 64-bit value for the token specified by TokenNumber
+ to the value specified by Value.
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 64-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSet64S (
+ IN UINTN TokenNumber,
+ IN UINT64 Value
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets a buffer for the token specified by TokenNumber to the value specified
+ by Buffer and SizeOfBuffer. If SizeOfBuffer is greater than the maximum size
+ support by TokenNumber, then set SizeOfBuffer to the maximum size supported by
+ TokenNumber and return RETURN_INVALID_PARAMETER to indicate that the set operation
+ was not actually performed.
+
+ If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the
+ maximum size supported by TokenName and RETURN_INVALID_PARAMETER must be returned.
+
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
+ @param[in] Buffer A pointer to the buffer to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSetPtrS (
+ IN UINTN TokenNumber,
+ IN OUT UINTN *SizeOfBuffer,
+ IN CONST VOID *Buffer
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the boolean value for the token specified by TokenNumber
+ to the value specified by Value.
+
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The boolean value to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSetBoolS (
+ IN UINTN TokenNumber,
+ IN BOOLEAN Value
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 8-bit value for the token specified by TokenNumber
+ to the value specified by Value.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid The pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 8-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSetEx8S (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN UINT8 Value
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 16-bit value for the token specified by TokenNumber
+ to the value specified by Value.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid The pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 16-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSetEx16S (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN UINT16 Value
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 32-bit value for the token specified by TokenNumber
+ to the value specified by Value.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid The pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 32-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSetEx32S (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN UINT32 Value
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the 64-bit value for the token specified by TokenNumber
+ to the value specified by Value.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid The pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The 64-bit value to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSetEx64S (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN UINT64 Value
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets a buffer for the token specified by TokenNumber to the value specified by
+ Buffer and SizeOfBuffer. If SizeOfBuffer is greater than the maximum size
+ support by TokenNumber, then set SizeOfBuffer to the maximum size supported by
+ TokenNumber and return RETURN_INVALID_PARAMETER to indicate that the set operation
+ was not actually performed.
+
+ If Guid is NULL, then ASSERT().
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
+ @param[in] Buffer A pointer to the buffer to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSetExPtrS (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN OUT UINTN *SizeOfBuffer,
+ IN VOID *Buffer
+ );
+
+/**
+ This function provides a means by which to set a value for a given PCD token.
+
+ Sets the boolean value for the token specified by TokenNumber
+ to the value specified by Value.
+
+ If Guid is NULL, then ASSERT().
+
+ @param[in] Guid The pointer to a 128-bit unique value that
+ designates which namespace to set a value from.
+ @param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in] Value The boolean value to set.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPcdSetExBoolS (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN BOOLEAN Value
+ );
+
+/**
+ This notification function serves two purposes.
+
+ Firstly, it notifies the module that did the registration that the value of this
+ PCD token has been set.
+ Secondly, it provides a mechanism for the module that did the registration to intercept
+ the set operation and override the value been set if necessary. After the invocation of
+ the callback function, TokenData will be used by PCD service PEIM or driver to modify th
+ internal data in PCD database.
+
+ @param[in] CallBackGuid The PCD token GUID being set.
+ @param[in] CallBackToken The PCD token number being set.
+ @param[in, out] TokenData A pointer to the token data being set.
+ @param[in] TokenDataSize The size, in bytes, of the data being set.
+
+**/
+typedef
+VOID
+(EFIAPI *PCD_CALLBACK)(
+ IN CONST GUID *CallBackGuid, OPTIONAL
+ IN UINTN CallBackToken,
+ IN OUT VOID *TokenData,
+ IN UINTN TokenDataSize
+ );
+
+
+/**
+ Set up a notification function that is called when a specified token is set.
+
+ When the token specified by TokenNumber and Guid is set,
+ then notification function specified by NotificationFunction is called.
+ If Guid is NULL, then the default token space is used.
+ If NotificationFunction is NULL, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that designates which
+ namespace to set a value from. If NULL, then the default
+ token space is used.
+ @param[in] TokenNumber The PCD token number to monitor.
+ @param[in] NotificationFunction The function to call when the token
+ specified by Guid and TokenNumber is set.
+
+**/
+VOID
+EFIAPI
+LibPcdCallbackOnSet (
+ IN CONST GUID *Guid, OPTIONAL
+ IN UINTN TokenNumber,
+ IN PCD_CALLBACK NotificationFunction
+ );
+
+
+/**
+ Disable a notification function that was established with LibPcdCallbackonSet().
+
+ Disable a notification function that was previously established with LibPcdCallbackOnSet().
+ If NotificationFunction is NULL, then ASSERT().
+ If LibPcdCallbackOnSet() was not previously called with Guid, TokenNumber,
+ and NotificationFunction, then ASSERT().
+
+ @param[in] Guid Specify the GUID token space.
+ @param[in] TokenNumber Specify the token number.
+ @param[in] NotificationFunction The callback function to be unregistered.
+
+**/
+VOID
+EFIAPI
+LibPcdCancelCallback (
+ IN CONST GUID *Guid, OPTIONAL
+ IN UINTN TokenNumber,
+ IN PCD_CALLBACK NotificationFunction
+ );
+
+
+/**
+ Retrieves the next token in a token space.
+
+ Retrieves the next PCD token number from the token space specified by Guid.
+ If Guid is NULL, then the default token space is used. If TokenNumber is 0,
+ then the first token number is returned. Otherwise, the token number that
+ follows TokenNumber in the token space is returned. If TokenNumber is the last
+ token number in the token space, then 0 is returned.
+
+ If TokenNumber is not 0 and is not in the token space specified by Guid, then ASSERT().
+
+ @param[in] Guid Pointer to a 128-bit unique value that designates which namespace
+ to set a value from. If NULL, then the default token space is used.
+ @param[in] TokenNumber The previous PCD token number. If 0, then retrieves the first PCD
+ token number.
+
+ @return The next valid token number.
+
+**/
+UINTN
+EFIAPI
+LibPcdGetNextToken (
+ IN CONST GUID *Guid, OPTIONAL
+ IN UINTN TokenNumber
+ );
+
+
+
+/**
+ Used to retrieve the list of available PCD token space GUIDs.
+
+ Returns the PCD token space GUID that follows TokenSpaceGuid in the list of token spaces
+ in the platform.
+ If TokenSpaceGuid is NULL, then a pointer to the first PCD token spaces returned.
+ If TokenSpaceGuid is the last PCD token space GUID in the list, then NULL is returned.
+
+ @param TokenSpaceGuid Pointer to the a PCD token space GUID
+
+ @return The next valid token namespace.
+
+**/
+GUID *
+EFIAPI
+LibPcdGetNextTokenSpace (
+ IN CONST GUID *TokenSpaceGuid
+ );
+
+
+/**
+ Sets a value of a patchable PCD entry that is type pointer.
+
+ Sets the PCD entry specified by PatchVariable to the value specified by Buffer
+ and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than
+ MaximumDatumSize, then set SizeOfBuffer to MaximumDatumSize and return
+ NULL to indicate that the set operation was not actually performed.
+ If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to
+ MaximumDatumSize and NULL must be returned.
+
+ If PatchVariable is NULL, then ASSERT().
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param[out] PatchVariable A pointer to the global variable in a module that is
+ the target of the set operation.
+ @param[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
+ @param[in, out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
+ @param[in] Buffer A pointer to the buffer to used to set the target variable.
+
+ @return Return the pointer to the Buffer that was set.
+
+**/
+VOID *
+EFIAPI
+LibPatchPcdSetPtr (
+ OUT VOID *PatchVariable,
+ IN UINTN MaximumDatumSize,
+ IN OUT UINTN *SizeOfBuffer,
+ IN CONST VOID *Buffer
+ );
+
+/**
+ Sets a value of a patchable PCD entry that is type pointer.
+
+ Sets the PCD entry specified by PatchVariable to the value specified
+ by Buffer and SizeOfBuffer. If SizeOfBuffer is greater than MaximumDatumSize,
+ then set SizeOfBuffer to MaximumDatumSize and return RETURN_INVALID_PARAMETER
+ to indicate that the set operation was not actually performed.
+ If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to
+ MaximumDatumSize and RETURN_INVALID_PARAMETER must be returned.
+
+ If PatchVariable is NULL, then ASSERT().
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param[out] PatchVariable A pointer to the global variable in a module that is
+ the target of the set operation.
+ @param[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
+ @param[in, out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
+ @param[in] Buffer A pointer to the buffer to used to set the target variable.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPatchPcdSetPtrS (
+ OUT VOID *PatchVariable,
+ IN UINTN MaximumDatumSize,
+ IN OUT UINTN *SizeOfBuffer,
+ IN CONST VOID *Buffer
+ );
+
+/**
+ Sets a value and size of a patchable PCD entry that is type pointer.
+
+ Sets the PCD entry specified by PatchVariable to the value specified by Buffer
+ and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than
+ MaximumDatumSize, then set SizeOfBuffer to MaximumDatumSize and return
+ NULL to indicate that the set operation was not actually performed.
+ If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to
+ MaximumDatumSize and NULL must be returned.
+
+ If PatchVariable is NULL, then ASSERT().
+ If SizeOfPatchVariable is NULL, then ASSERT().
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param[out] PatchVariable A pointer to the global variable in a module that is
+ the target of the set operation.
+ @param[out] SizeOfPatchVariable A pointer to the size, in bytes, of PatchVariable.
+ @param[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
+ @param[in, out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
+ @param[in] Buffer A pointer to the buffer to used to set the target variable.
+
+ @return Return the pointer to the Buffer that was set.
+
+**/
+VOID *
+EFIAPI
+LibPatchPcdSetPtrAndSize (
+ OUT VOID *PatchVariable,
+ OUT UINTN *SizeOfPatchVariable,
+ IN UINTN MaximumDatumSize,
+ IN OUT UINTN *SizeOfBuffer,
+ IN CONST VOID *Buffer
+ );
+
+/**
+ Sets a value and size of a patchable PCD entry that is type pointer.
+
+ Sets the PCD entry specified by PatchVariable to the value specified
+ by Buffer and SizeOfBuffer. If SizeOfBuffer is greater than MaximumDatumSize,
+ then set SizeOfBuffer to MaximumDatumSize and return RETURN_INVALID_PARAMETER
+ to indicate that the set operation was not actually performed.
+ If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to
+ MaximumDatumSize and RETURN_INVALID_PARAMETER must be returned.
+
+ If PatchVariable is NULL, then ASSERT().
+ If SizeOfPatchVariable is NULL, then ASSERT().
+ If SizeOfBuffer is NULL, then ASSERT().
+ If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().
+
+ @param[out] PatchVariable A pointer to the global variable in a module that is
+ the target of the set operation.
+ @param[out] SizeOfPatchVariable A pointer to the size, in bytes, of PatchVariable.
+ @param[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
+ @param[in, out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
+ @param[in] Buffer A pointer to the buffer to used to set the target variable.
+
+ @return The status of the set operation.
+
+**/
+RETURN_STATUS
+EFIAPI
+LibPatchPcdSetPtrAndSizeS (
+ OUT VOID *PatchVariable,
+ OUT UINTN *SizeOfPatchVariable,
+ IN UINTN MaximumDatumSize,
+ IN OUT UINTN *SizeOfBuffer,
+ IN CONST VOID *Buffer
+ );
+
+typedef enum {
+ PCD_TYPE_8,
+ PCD_TYPE_16,
+ PCD_TYPE_32,
+ PCD_TYPE_64,
+ PCD_TYPE_BOOL,
+ PCD_TYPE_PTR
+} PCD_TYPE;
+
+typedef struct {
+ ///
+ /// The returned information associated with the requested TokenNumber. If
+ /// TokenNumber is 0, then PcdType is set to PCD_TYPE_8.
+ ///
+ PCD_TYPE PcdType;
+ ///
+ /// The size of the data in bytes associated with the TokenNumber specified. If
+ /// TokenNumber is 0, then PcdSize is set 0.
+ ///
+ UINTN PcdSize;
+ ///
+ /// The null-terminated ASCII string associated with a given token. If the
+ /// TokenNumber specified was 0, then this field corresponds to the null-terminated
+ /// ASCII string associated with the token's namespace Guid. If NULL, there is no
+ /// name associated with this request.
+ ///
+ CHAR8 *PcdName;
+} PCD_INFO;
+
+
+/**
+ Retrieve additional information associated with a PCD token.
+
+ This includes information such as the type of value the TokenNumber is associated with as well as possible
+ human readable name that is associated with the token.
+
+ If TokenNumber is not in the default token space specified, then ASSERT().
+
+ @param[in] TokenNumber The PCD token number.
+ @param[out] PcdInfo The returned information associated with the requested TokenNumber.
+ The caller is responsible for freeing the buffer that is allocated by callee for PcdInfo->PcdName.
+**/
+VOID
+EFIAPI
+LibPcdGetInfo (
+ IN UINTN TokenNumber,
+ OUT PCD_INFO *PcdInfo
+ );
+
+/**
+ Retrieve additional information associated with a PCD token.
+
+ This includes information such as the type of value the TokenNumber is associated with as well as possible
+ human readable name that is associated with the token.
+
+ If TokenNumber is not in the token space specified by Guid, then ASSERT().
+
+ @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value.
+ @param[in] TokenNumber The PCD token number.
+ @param[out] PcdInfo The returned information associated with the requested TokenNumber.
+ The caller is responsible for freeing the buffer that is allocated by callee for PcdInfo->PcdName.
+**/
+VOID
+EFIAPI
+LibPcdGetInfoEx (
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ OUT PCD_INFO *PcdInfo
+ );
+
+/**
+ Retrieve the currently set SKU Id.
+
+ @return The currently set SKU Id. If the platform has not set at a SKU Id, then the
+ default SKU Id value of 0 is returned. If the platform has set a SKU Id, then the currently set SKU
+ Id is returned.
+**/
+UINTN
+EFIAPI
+LibPcdGetSku (
+ VOID
+ );
+
+#endif
diff --git a/sys/contrib/edk2/Include/Library/PrintLib.h b/sys/contrib/edk2/Include/Library/PrintLib.h
new file mode 100644
index 0000000..e9cd084
--- /dev/null
+++ b/sys/contrib/edk2/Include/Library/PrintLib.h
@@ -0,0 +1,1052 @@
+/** @file
+ Provides services to print a formatted string to a buffer. All combinations of
+ Unicode and ASCII strings are supported.
+
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ The Print Library functions provide a simple means to produce formatted output
+ strings. Many of the output functions use a format string to describe how to
+ format the output of variable arguments. The format string consists of normal
+ text and argument descriptors. There are no restrictions for how the normal
+ text and argument descriptors can be mixed. The following end of line(EOL)
+ translations must be performed on the contents of the format string:
+
+ - '\\r' is translated to '\\r'
+ - '\\r\\n' is translated to '\\r\\n'
+ - '\\n' is translated to '\\r\\n'
+ - '\\n\\r' is translated to '\\r\\n'
+
+ This does not follow the ANSI C standard for sprint(). The format of argument
+ descriptors is described below. The ANSI C standard for sprint() has been
+ followed for some of the format types, and has not been followed for others.
+ The exceptions are noted below.
+
+ %[flags][width][.precision]type
+
+ [flags]:
+ - -
+ - The field is left justified. If not flag is not specified, then the
+ field is right justified.
+ - space
+ - Prefix a space character to a number. Only valid for types X, x, and d.
+ - +
+ - Prefix a plus character to a number. Only valid for types X, x, and d.
+ If both space and + are specified, then space is ignored.
+ - 0
+ - Pad with 0 characters to the left of a number. Only valid for types
+ X, x, and d.
+ - ,
+ - Place a comma every 3rd digit of the number. Only valid for type d.
+ If 0 is also specified, then 0 is ignored.
+ - L, l
+ - The number being printed is size UINT64. Only valid for types X, x, and d.
+ If this flag is not specified, then the number being printed is size int.
+ - NOTE: All invalid flags are ignored.
+
+ [width]:
+
+ - *
+ - The width of the field is specified by a UINTN argument in the
+ argument list.
+ - number
+ - The number specified as a decimal value represents the width of
+ the field.
+ - NOTE: If [width] is not specified, then a field width of 0 is assumed.
+
+ [.precision]:
+
+ - *
+ - The precision of the field is specified by a UINTN argument in the
+ argument list.
+ - number
+ - The number specified as a decimal value represents the precision of
+ the field.
+ - NOTE: If [.precision] is not specified, then a precision of 0 is assumed.
+
+ type:
+
+ - %
+ - Print a %%.
+ - c
+ - The argument is a Unicode character. ASCII characters can be printed
+ using this type too by making sure bits 8..15 of the argument are set to 0.
+ - x
+ - The argument is an unsigned hexadecimal number. The characters used are 0..9 and
+ A..F. If the flag 'L' is not specified, then the argument is assumed
+ to be size int. This does not follow ANSI C.
+ - X
+ - The argument is an unsigned hexadecimal number and the number is padded with
+ zeros. This is equivalent to a format string of "0x". If the flag
+ 'L' is not specified, then the argument is assumed to be size int.
+ This does not follow ANSI C.
+ - d
+ - The argument is a signed decimal number. If the flag 'L' is not specified,
+ then the argument is assumed to be size int.
+ - u
+ - The argument is a unsigned decimal number. If the flag 'L' is not specified,
+ then the argument is assumed to be size int.
+ - p
+ - The argument is a pointer that is a (VOID *), and it is printed as an
+ unsigned hexadecimal number The characters used are 0..9 and A..F.
+ - a
+ - The argument is a pointer to an ASCII string.
+ This does not follow ANSI C.
+ - S, s
+ - The argument is a pointer to a Unicode string.
+ This does not follow ANSI C.
+ - g
+ - The argument is a pointer to a GUID structure. The GUID is printed
+ in the format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.
+ This does not follow ANSI C.
+ - t
+ - The argument is a pointer to an EFI_TIME structure. The time and
+ date are printed in the format "mm/dd/yyyy hh:mm" where mm is the
+ month zero padded, dd is the day zero padded, yyyy is the year zero
+ padded, hh is the hour zero padded, and mm is minutes zero padded.
+ This does not follow ANSI C.
+ - r
+ - The argument is a RETURN_STATUS value. This value is converted to
+ a string following the table below. This does not follow ANSI C.
+ - RETURN_SUCCESS
+ - "Success"
+ - RETURN_LOAD_ERROR
+ - "Load Error"
+ - RETURN_INVALID_PARAMETER
+ - "Invalid Parameter"
+ - RETURN_UNSUPPORTED
+ - "Unsupported"
+ - RETURN_BAD_BUFFER_SIZE
+ - "Bad Buffer Size"
+ - RETURN_BUFFER_TOO_SMALL
+ - "Buffer Too Small"
+ - RETURN_NOT_READY
+ - "Not Ready"
+ - RETURN_DEVICE_ERROR
+ - "Device Error"
+ - RETURN_WRITE_PROTECTED
+ - "Write Protected"
+ - RETURN_OUT_OF_RESOURCES
+ - "Out of Resources"
+ - RETURN_VOLUME_CORRUPTED
+ - "Volume Corrupt"
+ - RETURN_VOLUME_FULL
+ - "Volume Full"
+ - RETURN_NO_MEDIA
+ - "No Media"
+ - RETURN_MEDIA_CHANGED
+ - "Media changed"
+ - RETURN_NOT_FOUND
+ - "Not Found"
+ - RETURN_ACCESS_DENIED
+ - "Access Denied"
+ - RETURN_NO_RESPONSE
+ - "No Response"
+ - RETURN_NO_MAPPING
+ - "No mapping"
+ - RETURN_TIMEOUT
+ - "Time out"
+ - RETURN_NOT_STARTED
+ - "Not started"
+ - RETURN_ALREADY_STARTED
+ - "Already started"
+ - RETURN_ABORTED
+ - "Aborted"
+ - RETURN_ICMP_ERROR
+ - "ICMP Error"
+ - RETURN_TFTP_ERROR
+ - "TFTP Error"
+ - RETURN_PROTOCOL_ERROR
+ - "Protocol Error"
+ - RETURN_WARN_UNKNOWN_GLYPH
+ - "Warning Unknown Glyph"
+ - RETURN_WARN_DELETE_FAILURE
+ - "Warning Delete Failure"
+ - RETURN_WARN_WRITE_FAILURE
+ - "Warning Write Failure"
+ - RETURN_WARN_BUFFER_TOO_SMALL
+ - "Warning Buffer Too Small"
+
+**/
+
+#ifndef __PRINT_LIB_H__
+#define __PRINT_LIB_H__
+
+///
+/// Define the maximum number of characters that are required to
+/// encode with a NULL terminator a decimal, hexadecimal, GUID,
+/// or TIME value.
+///
+/// Maximum Length Decimal String = 28
+/// "-9,223,372,036,854,775,808"
+/// Maximum Length Hexadecimal String = 17
+/// "FFFFFFFFFFFFFFFF"
+/// Maximum Length GUID = 37
+/// "00000000-0000-0000-0000-000000000000"
+/// Maximum Length TIME = 18
+/// "12/12/2006 12:12"
+///
+#define MAXIMUM_VALUE_CHARACTERS 38
+
+///
+/// Flags bitmask values use in UnicodeValueToString() and
+/// AsciiValueToString()
+///
+#define LEFT_JUSTIFY 0x01
+#define COMMA_TYPE 0x08
+#define PREFIX_ZERO 0x20
+#define RADIX_HEX 0x80
+
+/**
+ Produces a Null-terminated Unicode string in an output buffer based on
+ a Null-terminated Unicode format string and a VA_LIST argument list.
+
+ This function is similar as vsnprintf_s defined in C11.
+
+ Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The Unicode string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list specified by Marker based on the
+ contents of the format string.
+ The number of Unicode characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
+ If FormatString is not aligned on a 16-bit boundary, then ASSERT().
+
+ If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 1 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and BufferSize >
+ (PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1), then ASSERT(). Also, the output
+ buffer is unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0 or 1, then the output buffer is unmodified and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ Unicode string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated Unicode format string.
+ @param Marker VA_LIST marker for the variable argument list.
+
+ @return The number of Unicode characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+UnicodeVSPrint (
+ OUT CHAR16 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR16 *FormatString,
+ IN VA_LIST Marker
+ );
+
+/**
+ Produces a Null-terminated Unicode string in an output buffer based on
+ a Null-terminated Unicode format string and a BASE_LIST argument list.
+
+ Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The Unicode string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list specified by Marker based on the
+ contents of the format string.
+ The number of Unicode characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
+ If FormatString is not aligned on a 16-bit boundary, then ASSERT().
+
+ If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 1 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and BufferSize >
+ (PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1), then ASSERT(). Also, the output
+ buffer is unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0 or 1, then the output buffer is unmodified and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ Unicode string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated Unicode format string.
+ @param Marker BASE_LIST marker for the variable argument list.
+
+ @return The number of Unicode characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+UnicodeBSPrint (
+ OUT CHAR16 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR16 *FormatString,
+ IN BASE_LIST Marker
+ );
+
+/**
+ Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
+ Unicode format string and variable argument list.
+
+ This function is similar as snprintf_s defined in C11.
+
+ Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The Unicode string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list based on the contents of the format string.
+ The number of Unicode characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
+ If FormatString is not aligned on a 16-bit boundary, then ASSERT().
+
+ If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 1 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and BufferSize >
+ (PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1), then ASSERT(). Also, the output
+ buffer is unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0 or 1, then the output buffer is unmodified and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ Unicode string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated Unicode format string.
+ @param ... Variable argument list whose contents are accessed based on the
+ format string specified by FormatString.
+
+ @return The number of Unicode characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+UnicodeSPrint (
+ OUT CHAR16 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR16 *FormatString,
+ ...
+ );
+
+/**
+ Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
+ ASCII format string and a VA_LIST argument list.
+
+ This function is similar as vsnprintf_s defined in C11.
+
+ Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The Unicode string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list specified by Marker based on the
+ contents of the format string.
+ The number of Unicode characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
+
+ If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 1 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and BufferSize >
+ (PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1), then ASSERT(). Also, the output
+ buffer is unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
+ PcdMaximumAsciiStringLength Ascii characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ Unicode string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated ASCII format string.
+ @param Marker VA_LIST marker for the variable argument list.
+
+ @return The number of Unicode characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+UnicodeVSPrintAsciiFormat (
+ OUT CHAR16 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR8 *FormatString,
+ IN VA_LIST Marker
+ );
+
+/**
+ Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
+ ASCII format string and a BASE_LIST argument list.
+
+ Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The Unicode string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list specified by Marker based on the
+ contents of the format string.
+ The number of Unicode characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
+
+ If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 1 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and BufferSize >
+ (PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1), then ASSERT(). Also, the output
+ buffer is unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
+ PcdMaximumAsciiStringLength Ascii characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ Unicode string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated ASCII format string.
+ @param Marker BASE_LIST marker for the variable argument list.
+
+ @return The number of Unicode characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+UnicodeBSPrintAsciiFormat (
+ OUT CHAR16 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR8 *FormatString,
+ IN BASE_LIST Marker
+ );
+
+/**
+ Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
+ ASCII format string and variable argument list.
+
+ This function is similar as snprintf_s defined in C11.
+
+ Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The Unicode string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list based on the contents of the
+ format string.
+ The number of Unicode characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
+
+ If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 1 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and BufferSize >
+ (PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1), then ASSERT(). Also, the output
+ buffer is unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
+ PcdMaximumAsciiStringLength Ascii characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ Unicode string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated ASCII format string.
+ @param ... Variable argument list whose contents are accessed based on the
+ format string specified by FormatString.
+
+ @return The number of Unicode characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+UnicodeSPrintAsciiFormat (
+ OUT CHAR16 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR8 *FormatString,
+ ...
+ );
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Converts a decimal value to a Null-terminated Unicode string.
+
+ Converts the decimal number specified by Value to a Null-terminated Unicode
+ string specified by Buffer containing at most Width characters. No padding of spaces
+ is ever performed. If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
+ The number of Unicode characters in Buffer is returned, not including the Null-terminator.
+ If the conversion contains more than Width characters, then only the first
+ Width characters are returned, and the total number of characters
+ required to perform the conversion is returned.
+ Additional conversion parameters are specified in Flags.
+
+ The Flags bit LEFT_JUSTIFY is always ignored.
+ All conversions are left justified in Buffer.
+ If Width is 0, PREFIX_ZERO is ignored in Flags.
+ If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
+ are inserted every 3rd digit starting from the right.
+ If RADIX_HEX is set in Flags, then the output buffer will be
+ formatted in hexadecimal format.
+ If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.
+ If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
+ then Buffer is padded with '0' characters so the combination of the optional '-'
+ sign character, '0' characters, digit characters for Value, and the Null-terminator
+ add up to Width characters.
+ If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
+ If Buffer is NULL, then ASSERT().
+ If Buffer is not aligned on a 16-bit boundary, then ASSERT().
+ If unsupported bits are set in Flags, then ASSERT().
+ If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
+ If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
+
+ @param Buffer The pointer to the output buffer for the produced Null-terminated
+ Unicode string.
+ @param Flags The bitmask of flags that specify left justification, zero pad, and commas.
+ @param Value The 64-bit signed value to convert to a string.
+ @param Width The maximum number of Unicode characters to place in Buffer, not including
+ the Null-terminator.
+
+ @return The number of Unicode characters in Buffer, not including the Null-terminator.
+
+**/
+UINTN
+EFIAPI
+UnicodeValueToString (
+ IN OUT CHAR16 *Buffer,
+ IN UINTN Flags,
+ IN INT64 Value,
+ IN UINTN Width
+ );
+
+#endif
+
+/**
+ Converts a decimal value to a Null-terminated Unicode string.
+
+ Converts the decimal number specified by Value to a Null-terminated Unicode
+ string specified by Buffer containing at most Width characters. No padding of
+ spaces is ever performed. If Width is 0 then a width of
+ MAXIMUM_VALUE_CHARACTERS is assumed. If the conversion contains more than
+ Width characters, then only the first Width characters are placed in Buffer.
+ Additional conversion parameters are specified in Flags.
+
+ The Flags bit LEFT_JUSTIFY is always ignored.
+ All conversions are left justified in Buffer.
+ If Width is 0, PREFIX_ZERO is ignored in Flags.
+ If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and
+ commas are inserted every 3rd digit starting from the right.
+ If RADIX_HEX is set in Flags, then the output buffer will be formatted in
+ hexadecimal format.
+ If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in
+ Buffer is a '-'.
+ If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored, then
+ Buffer is padded with '0' characters so the combination of the optional '-'
+ sign character, '0' characters, digit characters for Value, and the
+ Null-terminator add up to Width characters.
+
+ If Buffer is not aligned on a 16-bit boundary, then ASSERT().
+ If an error would be returned, then the function will also ASSERT().
+
+ @param Buffer The pointer to the output buffer for the produced
+ Null-terminated Unicode string.
+ @param BufferSize The size of Buffer in bytes, including the
+ Null-terminator.
+ @param Flags The bitmask of flags that specify left justification,
+ zero pad, and commas.
+ @param Value The 64-bit signed value to convert to a string.
+ @param Width The maximum number of Unicode characters to place in
+ Buffer, not including the Null-terminator.
+
+ @retval RETURN_SUCCESS The decimal value is converted.
+ @retval RETURN_BUFFER_TOO_SMALL If BufferSize cannot hold the converted
+ value.
+ @retval RETURN_INVALID_PARAMETER If Buffer is NULL.
+ If PcdMaximumUnicodeStringLength is not
+ zero, and BufferSize is greater than
+ (PcdMaximumUnicodeStringLength *
+ sizeof (CHAR16) + 1).
+ If unsupported bits are set in Flags.
+ If both COMMA_TYPE and RADIX_HEX are set in
+ Flags.
+ If Width >= MAXIMUM_VALUE_CHARACTERS.
+
+**/
+RETURN_STATUS
+EFIAPI
+UnicodeValueToStringS (
+ IN OUT CHAR16 *Buffer,
+ IN UINTN BufferSize,
+ IN UINTN Flags,
+ IN INT64 Value,
+ IN UINTN Width
+ );
+
+/**
+ Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
+ ASCII format string and a VA_LIST argument list.
+
+ This function is similar as vsnprintf_s defined in C11.
+
+ Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The ASCII string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list specified by Marker based on
+ the contents of the format string.
+ The number of ASCII characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 0 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and BufferSize >
+ (PcdMaximumAsciiStringLength * sizeof (CHAR8)), then ASSERT(). Also, the output buffer
+ is unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
+ PcdMaximumAsciiStringLength Ascii characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0, then no output buffer is produced and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ ASCII string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated ASCII format string.
+ @param Marker VA_LIST marker for the variable argument list.
+
+ @return The number of ASCII characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+AsciiVSPrint (
+ OUT CHAR8 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR8 *FormatString,
+ IN VA_LIST Marker
+ );
+
+/**
+ Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
+ ASCII format string and a BASE_LIST argument list.
+
+ Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The ASCII string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list specified by Marker based on
+ the contents of the format string.
+ The number of ASCII characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 0 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and BufferSize >
+ (PcdMaximumAsciiStringLength * sizeof (CHAR8)), then ASSERT(). Also, the output buffer
+ is unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
+ PcdMaximumAsciiStringLength Ascii characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0, then no output buffer is produced and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ ASCII string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated ASCII format string.
+ @param Marker BASE_LIST marker for the variable argument list.
+
+ @return The number of ASCII characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+AsciiBSPrint (
+ OUT CHAR8 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR8 *FormatString,
+ IN BASE_LIST Marker
+ );
+
+/**
+ Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
+ ASCII format string and variable argument list.
+
+ This function is similar as snprintf_s defined in C11.
+
+ Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The ASCII string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list based on the contents of the
+ format string.
+ The number of ASCII characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 0 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and BufferSize >
+ (PcdMaximumAsciiStringLength * sizeof (CHAR8)), then ASSERT(). Also, the output buffer
+ is unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
+ PcdMaximumAsciiStringLength Ascii characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0, then no output buffer is produced and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ ASCII string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated ASCII format string.
+ @param ... Variable argument list whose contents are accessed based on the
+ format string specified by FormatString.
+
+ @return The number of ASCII characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+AsciiSPrint (
+ OUT CHAR8 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR8 *FormatString,
+ ...
+ );
+
+/**
+ Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
+ Unicode format string and a VA_LIST argument list.
+
+ This function is similar as vsnprintf_s defined in C11.
+
+ Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The ASCII string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list specified by Marker based on
+ the contents of the format string.
+ The number of ASCII characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If FormatString is not aligned on a 16-bit boundary, then ASSERT().
+
+ If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 0 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and BufferSize >
+ (PcdMaximumAsciiStringLength * sizeof (CHAR8)), then ASSERT(). Also, the output buffer
+ is unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0, then no output buffer is produced and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ ASCII string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated Unicode format string.
+ @param Marker VA_LIST marker for the variable argument list.
+
+ @return The number of ASCII characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+AsciiVSPrintUnicodeFormat (
+ OUT CHAR8 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR16 *FormatString,
+ IN VA_LIST Marker
+ );
+
+/**
+ Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
+ Unicode format string and a BASE_LIST argument list.
+
+ Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The ASCII string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list specified by Marker based on
+ the contents of the format string.
+ The number of ASCII characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If FormatString is not aligned on a 16-bit boundary, then ASSERT().
+
+ If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 0 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and BufferSize >
+ (PcdMaximumAsciiStringLength * sizeof (CHAR8)), then ASSERT(). Also, the output buffer
+ is unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0, then no output buffer is produced and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ ASCII string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated Unicode format string.
+ @param Marker BASE_LIST marker for the variable argument list.
+
+ @return The number of ASCII characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+AsciiBSPrintUnicodeFormat (
+ OUT CHAR8 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR16 *FormatString,
+ IN BASE_LIST Marker
+ );
+
+/**
+ Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
+ Unicode format string and variable argument list.
+
+ This function is similar as snprintf_s defined in C11.
+
+ Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
+ and BufferSize.
+ The ASCII string is produced by parsing the format string specified by FormatString.
+ Arguments are pulled from the variable argument list based on the contents of the
+ format string.
+ The number of ASCII characters in the produced output buffer is returned not including
+ the Null-terminator.
+
+ If FormatString is not aligned on a 16-bit boundary, then ASSERT().
+
+ If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If BufferSize > 0 and FormatString is NULL, then ASSERT(). Also, the output buffer is
+ unmodified and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and BufferSize >
+ (PcdMaximumAsciiStringLength * sizeof (CHAR8)), then ASSERT(). Also, the output buffer
+ is unmodified and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
+ PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
+ ASSERT(). Also, the output buffer is unmodified and 0 is returned.
+
+ If BufferSize is 0, then no output buffer is produced and 0 is returned.
+
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
+ ASCII string.
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
+ @param FormatString A Null-terminated Unicode format string.
+ @param ... Variable argument list whose contents are accessed based on the
+ format string specified by FormatString.
+
+ @return The number of ASCII characters in the produced output buffer not including the
+ Null-terminator.
+
+**/
+UINTN
+EFIAPI
+AsciiSPrintUnicodeFormat (
+ OUT CHAR8 *StartOfBuffer,
+ IN UINTN BufferSize,
+ IN CONST CHAR16 *FormatString,
+ ...
+ );
+
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
+
+/**
+ [ATTENTION] This function is deprecated for security reason.
+
+ Converts a decimal value to a Null-terminated ASCII string.
+
+ Converts the decimal number specified by Value to a Null-terminated ASCII string
+ specified by Buffer containing at most Width characters. No padding of spaces
+ is ever performed.
+ If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
+ The number of ASCII characters in Buffer is returned, not including the Null-terminator.
+ If the conversion contains more than Width characters, then only the first Width
+ characters are returned, and the total number of characters required to perform
+ the conversion is returned.
+ Additional conversion parameters are specified in Flags.
+ The Flags bit LEFT_JUSTIFY is always ignored.
+ All conversions are left justified in Buffer.
+ If Width is 0, PREFIX_ZERO is ignored in Flags.
+ If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
+ are inserted every 3rd digit starting from the right.
+ If RADIX_HEX is set in Flags, then the output buffer will be
+ formatted in hexadecimal format.
+ If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.
+ If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
+ then Buffer is padded with '0' characters so the combination of the optional '-'
+ sign character, '0' characters, digit characters for Value, and the Null-terminator
+ add up to Width characters.
+
+ If Buffer is NULL, then ASSERT().
+ If unsupported bits are set in Flags, then ASSERT().
+ If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
+ If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
+
+ @param Buffer A pointer to the output buffer for the produced Null-terminated
+ ASCII string.
+ @param Flags The bitmask of flags that specify left justification, zero pad, and commas.
+ @param Value The 64-bit signed value to convert to a string.
+ @param Width The maximum number of ASCII characters to place in Buffer, not including
+ the Null-terminator.
+
+ @return The number of ASCII characters in Buffer, not including the Null-terminator.
+
+**/
+UINTN
+EFIAPI
+AsciiValueToString (
+ OUT CHAR8 *Buffer,
+ IN UINTN Flags,
+ IN INT64 Value,
+ IN UINTN Width
+ );
+
+#endif
+
+/**
+ Converts a decimal value to a Null-terminated Ascii string.
+
+ Converts the decimal number specified by Value to a Null-terminated Ascii
+ string specified by Buffer containing at most Width characters. No padding of
+ spaces is ever performed. If Width is 0 then a width of
+ MAXIMUM_VALUE_CHARACTERS is assumed. If the conversion contains more than
+ Width characters, then only the first Width characters are placed in Buffer.
+ Additional conversion parameters are specified in Flags.
+
+ The Flags bit LEFT_JUSTIFY is always ignored.
+ All conversions are left justified in Buffer.
+ If Width is 0, PREFIX_ZERO is ignored in Flags.
+ If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and
+ commas are inserted every 3rd digit starting from the right.
+ If RADIX_HEX is set in Flags, then the output buffer will be formatted in
+ hexadecimal format.
+ If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in
+ Buffer is a '-'.
+ If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored, then
+ Buffer is padded with '0' characters so the combination of the optional '-'
+ sign character, '0' characters, digit characters for Value, and the
+ Null-terminator add up to Width characters.
+
+ If Buffer is not aligned on a 16-bit boundary, then ASSERT().
+ If an error would be returned, then the function will also ASSERT().
+
+ @param Buffer The pointer to the output buffer for the produced
+ Null-terminated Ascii string.
+ @param BufferSize The size of Buffer in bytes, including the
+ Null-terminator.
+ @param Flags The bitmask of flags that specify left justification,
+ zero pad, and commas.
+ @param Value The 64-bit signed value to convert to a string.
+ @param Width The maximum number of Ascii characters to place in
+ Buffer, not including the Null-terminator.
+
+ @retval RETURN_SUCCESS The decimal value is converted.
+ @retval RETURN_BUFFER_TOO_SMALL If BufferSize cannot hold the converted
+ value.
+ @retval RETURN_INVALID_PARAMETER If Buffer is NULL.
+ If PcdMaximumAsciiStringLength is not
+ zero, and BufferSize is greater than
+ PcdMaximumAsciiStringLength.
+ If unsupported bits are set in Flags.
+ If both COMMA_TYPE and RADIX_HEX are set in
+ Flags.
+ If Width >= MAXIMUM_VALUE_CHARACTERS.
+
+**/
+RETURN_STATUS
+EFIAPI
+AsciiValueToStringS (
+ IN OUT CHAR8 *Buffer,
+ IN UINTN BufferSize,
+ IN UINTN Flags,
+ IN INT64 Value,
+ IN UINTN Width
+ );
+
+/**
+ Returns the number of characters that would be produced by if the formatted
+ output were produced not including the Null-terminator.
+
+ If FormatString is not aligned on a 16-bit boundary, then ASSERT().
+
+ If FormatString is NULL, then ASSERT() and 0 is returned.
+ If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more
+ than PcdMaximumUnicodeStringLength Unicode characters not including the
+ Null-terminator, then ASSERT() and 0 is returned.
+
+ @param[in] FormatString A Null-terminated Unicode format string.
+ @param[in] Marker VA_LIST marker for the variable argument list.
+
+ @return The number of characters that would be produced, not including the
+ Null-terminator.
+**/
+UINTN
+EFIAPI
+SPrintLength (
+ IN CONST CHAR16 *FormatString,
+ IN VA_LIST Marker
+ );
+
+/**
+ Returns the number of characters that would be produced by if the formatted
+ output were produced not including the Null-terminator.
+
+ If FormatString is NULL, then ASSERT() and 0 is returned.
+ If PcdMaximumAsciiStringLength is not zero, and FormatString contains more
+ than PcdMaximumAsciiStringLength Ascii characters not including the
+ Null-terminator, then ASSERT() and 0 is returned.
+
+ @param[in] FormatString A Null-terminated ASCII format string.
+ @param[in] Marker VA_LIST marker for the variable argument list.
+
+ @return The number of characters that would be produced, not including the
+ Null-terminator.
+**/
+UINTN
+EFIAPI
+SPrintLengthAsciiFormat (
+ IN CONST CHAR8 *FormatString,
+ IN VA_LIST Marker
+ );
+
+#endif
diff --git a/sys/contrib/edk2/Include/Library/UefiBootServicesTableLib.h b/sys/contrib/edk2/Include/Library/UefiBootServicesTableLib.h
new file mode 100644
index 0000000..b382a8d
--- /dev/null
+++ b/sys/contrib/edk2/Include/Library/UefiBootServicesTableLib.h
@@ -0,0 +1,34 @@
+/** @file
+ Provides a service to retrieve a pointer to the EFI Boot Services Table.
+ Only available to DXE and UEFI module types.
+
+Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __UEFI_BOOT_SERVICES_TABLE_LIB_H__
+#define __UEFI_BOOT_SERVICES_TABLE_LIB_H__
+
+///
+/// Cache the Image Handle
+///
+extern EFI_HANDLE gImageHandle;
+
+///
+/// Cache pointer to the EFI System Table
+///
+extern EFI_SYSTEM_TABLE *gST;
+
+///
+/// Cache pointer to the EFI Boot Services Table
+///
+extern EFI_BOOT_SERVICES *gBS;
+
+#endif
diff --git a/sys/contrib/edk2/Include/Protocol/DebugPort.h b/sys/contrib/edk2/Include/Protocol/DebugPort.h
new file mode 100644
index 0000000..ba14591
--- /dev/null
+++ b/sys/contrib/edk2/Include/Protocol/DebugPort.h
@@ -0,0 +1,146 @@
+/** @file
+
+ The file defines the EFI Debugport protocol.
+ This protocol is used by debug agent to communicate with the
+ remote debug host.
+
+ Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __DEBUG_PORT_H__
+#define __DEBUG_PORT_H__
+
+
+///
+/// DebugPortIo protocol {EBA4E8D2-3858-41EC-A281-2647BA9660D0}
+///
+#define EFI_DEBUGPORT_PROTOCOL_GUID \
+ { \
+ 0xEBA4E8D2, 0x3858, 0x41EC, {0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 } \
+ }
+
+extern EFI_GUID gEfiDebugPortProtocolGuid;
+
+typedef struct _EFI_DEBUGPORT_PROTOCOL EFI_DEBUGPORT_PROTOCOL;
+
+//
+// DebugPort member functions
+//
+
+/**
+ Resets the debugport.
+
+ @param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
+
+ @retval EFI_SUCCESS The debugport device was reset and is in usable state.
+ @retval EFI_DEVICE_ERROR The debugport device could not be reset and is unusable.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_DEBUGPORT_RESET)(
+ IN EFI_DEBUGPORT_PROTOCOL *This
+ );
+
+/**
+ Writes data to the debugport.
+
+ @param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
+ @param Timeout The number of microseconds to wait before timing out a write operation.
+ @param BufferSize On input, the requested number of bytes of data to write. On output, the
+ number of bytes of data actually written.
+ @param Buffer A pointer to a buffer containing the data to write.
+
+ @retval EFI_SUCCESS The data was written.
+ @retval EFI_DEVICE_ERROR The device reported an error.
+ @retval EFI_TIMEOUT The data write was stopped due to a timeout.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_DEBUGPORT_WRITE)(
+ IN EFI_DEBUGPORT_PROTOCOL *This,
+ IN UINT32 Timeout,
+ IN OUT UINTN *BufferSize,
+ IN VOID *Buffer
+ );
+
+/**
+ Reads data from the debugport.
+
+ @param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
+ @param Timeout The number of microseconds to wait before timing out a read operation.
+ @param BufferSize On input, the requested number of bytes of data to read. On output, the
+ number of bytes of data actually number of bytes
+ of data read and returned in Buffer.
+ @param Buffer A pointer to a buffer into which the data read will be saved.
+
+ @retval EFI_SUCCESS The data was read.
+ @retval EFI_DEVICE_ERROR The device reported an error.
+ @retval EFI_TIMEOUT The operation was stopped due to a timeout or overrun.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_DEBUGPORT_READ)(
+ IN EFI_DEBUGPORT_PROTOCOL *This,
+ IN UINT32 Timeout,
+ IN OUT UINTN *BufferSize,
+ OUT VOID *Buffer
+ );
+
+/**
+ Checks to see if any data is available to be read from the debugport device.
+
+ @param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.
+
+ @retval EFI_SUCCESS At least one byte of data is available to be read.
+ @retval EFI_DEVICE_ERROR The debugport device is not functioning correctly.
+ @retval EFI_NOT_READY No data is available to be read.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_DEBUGPORT_POLL)(
+ IN EFI_DEBUGPORT_PROTOCOL *This
+ );
+
+///
+/// This protocol provides the communication link between the debug agent and the remote host.
+///
+struct _EFI_DEBUGPORT_PROTOCOL {
+ EFI_DEBUGPORT_RESET Reset;
+ EFI_DEBUGPORT_WRITE Write;
+ EFI_DEBUGPORT_READ Read;
+ EFI_DEBUGPORT_POLL Poll;
+};
+
+//
+// DEBUGPORT variable definitions...
+//
+#define EFI_DEBUGPORT_VARIABLE_NAME L"DEBUGPORT"
+#define EFI_DEBUGPORT_VARIABLE_GUID EFI_DEBUGPORT_PROTOCOL_GUID
+
+extern EFI_GUID gEfiDebugPortVariableGuid;
+
+//
+// DebugPort device path definitions...
+//
+#define DEVICE_PATH_MESSAGING_DEBUGPORT EFI_DEBUGPORT_PROTOCOL_GUID
+
+extern EFI_GUID gEfiDebugPortDevicePathGuid;
+
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ EFI_GUID Guid;
+} DEBUGPORT_DEVICE_PATH;
+
+#endif
diff --git a/sys/contrib/edk2/Include/Protocol/DevicePath.h b/sys/contrib/edk2/Include/Protocol/DevicePath.h
new file mode 100644
index 0000000..1958a3d
--- /dev/null
+++ b/sys/contrib/edk2/Include/Protocol/DevicePath.h
@@ -0,0 +1,1331 @@
+/** @file
+ The device path protocol as defined in UEFI 2.0.
+
+ The device path represents a programmatic path to a device,
+ from a software point of view. The path must persist from boot to boot, so
+ it can not contain things like PCI bus numbers that change from boot to boot.
+
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __EFI_DEVICE_PATH_PROTOCOL_H__
+#define __EFI_DEVICE_PATH_PROTOCOL_H__
+
+#include <Guid/PcAnsi.h>
+#include <IndustryStandard/Bluetooth.h>
+#include <IndustryStandard/Acpi60.h>
+
+///
+/// Device Path protocol.
+///
+#define EFI_DEVICE_PATH_PROTOCOL_GUID \
+ { \
+ 0x9576e91, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
+ }
+
+///
+/// Device Path guid definition for backward-compatible with EFI1.1.
+///
+#define DEVICE_PATH_PROTOCOL EFI_DEVICE_PATH_PROTOCOL_GUID
+
+#pragma pack(1)
+
+/**
+ This protocol can be used on any device handle to obtain generic path/location
+ information concerning the physical device or logical device. If the handle does
+ not logically map to a physical device, the handle may not necessarily support
+ the device path protocol. The device path describes the location of the device
+ the handle is for. The size of the Device Path can be determined from the structures
+ that make up the Device Path.
+**/
+typedef struct {
+ UINT8 Type; ///< 0x01 Hardware Device Path.
+ ///< 0x02 ACPI Device Path.
+ ///< 0x03 Messaging Device Path.
+ ///< 0x04 Media Device Path.
+ ///< 0x05 BIOS Boot Specification Device Path.
+ ///< 0x7F End of Hardware Device Path.
+
+ UINT8 SubType; ///< Varies by Type
+ ///< 0xFF End Entire Device Path, or
+ ///< 0x01 End This Instance of a Device Path and start a new
+ ///< Device Path.
+
+ UINT8 Length[2]; ///< Specific Device Path data. Type and Sub-Type define
+ ///< type of data. Size of data is included in Length.
+
+} EFI_DEVICE_PATH_PROTOCOL;
+
+///
+/// Device Path protocol definition for backward-compatible with EFI1.1.
+///
+typedef EFI_DEVICE_PATH_PROTOCOL EFI_DEVICE_PATH;
+
+///
+/// Hardware Device Paths.
+///
+#define HARDWARE_DEVICE_PATH 0x01
+
+///
+/// PCI Device Path SubType.
+///
+#define HW_PCI_DP 0x01
+
+///
+/// PCI Device Path.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// PCI Function Number.
+ ///
+ UINT8 Function;
+ ///
+ /// PCI Device Number.
+ ///
+ UINT8 Device;
+} PCI_DEVICE_PATH;
+
+///
+/// PCCARD Device Path SubType.
+///
+#define HW_PCCARD_DP 0x02
+
+///
+/// PCCARD Device Path.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Function Number (0 = First Function).
+ ///
+ UINT8 FunctionNumber;
+} PCCARD_DEVICE_PATH;
+
+///
+/// Memory Mapped Device Path SubType.
+///
+#define HW_MEMMAP_DP 0x03
+
+///
+/// Memory Mapped Device Path.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// EFI_MEMORY_TYPE
+ ///
+ UINT32 MemoryType;
+ ///
+ /// Starting Memory Address.
+ ///
+ EFI_PHYSICAL_ADDRESS StartingAddress;
+ ///
+ /// Ending Memory Address.
+ ///
+ EFI_PHYSICAL_ADDRESS EndingAddress;
+} MEMMAP_DEVICE_PATH;
+
+///
+/// Hardware Vendor Device Path SubType.
+///
+#define HW_VENDOR_DP 0x04
+
+///
+/// The Vendor Device Path allows the creation of vendor-defined Device Paths. A vendor must
+/// allocate a Vendor GUID for a Device Path. The Vendor GUID can then be used to define the
+/// contents on the n bytes that follow in the Vendor Device Path node.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Vendor-assigned GUID that defines the data that follows.
+ ///
+ EFI_GUID Guid;
+ ///
+ /// Vendor-defined variable size data.
+ ///
+} VENDOR_DEVICE_PATH;
+
+///
+/// Controller Device Path SubType.
+///
+#define HW_CONTROLLER_DP 0x05
+
+///
+/// Controller Device Path.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Controller number.
+ ///
+ UINT32 ControllerNumber;
+} CONTROLLER_DEVICE_PATH;
+
+///
+/// BMC Device Path SubType.
+///
+#define HW_BMC_DP 0x06
+
+///
+/// BMC Device Path.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Interface Type.
+ ///
+ UINT8 InterfaceType;
+ ///
+ /// Base Address.
+ ///
+ UINT8 BaseAddress[8];
+} BMC_DEVICE_PATH;
+
+///
+/// ACPI Device Paths.
+///
+#define ACPI_DEVICE_PATH 0x02
+
+///
+/// ACPI Device Path SubType.
+///
+#define ACPI_DP 0x01
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Device's PnP hardware ID stored in a numeric 32-bit
+ /// compressed EISA-type ID. This value must match the
+ /// corresponding _HID in the ACPI name space.
+ ///
+ UINT32 HID;
+ ///
+ /// Unique ID that is required by ACPI if two devices have the
+ /// same _HID. This value must also match the corresponding
+ /// _UID/_HID pair in the ACPI name space. Only the 32-bit
+ /// numeric value type of _UID is supported. Thus, strings must
+ /// not be used for the _UID in the ACPI name space.
+ ///
+ UINT32 UID;
+} ACPI_HID_DEVICE_PATH;
+
+///
+/// Expanded ACPI Device Path SubType.
+///
+#define ACPI_EXTENDED_DP 0x02
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Device's PnP hardware ID stored in a numeric 32-bit
+ /// compressed EISA-type ID. This value must match the
+ /// corresponding _HID in the ACPI name space.
+ ///
+ UINT32 HID;
+ ///
+ /// Unique ID that is required by ACPI if two devices have the
+ /// same _HID. This value must also match the corresponding
+ /// _UID/_HID pair in the ACPI name space.
+ ///
+ UINT32 UID;
+ ///
+ /// Device's compatible PnP hardware ID stored in a numeric
+ /// 32-bit compressed EISA-type ID. This value must match at
+ /// least one of the compatible device IDs returned by the
+ /// corresponding _CID in the ACPI name space.
+ ///
+ UINT32 CID;
+ ///
+ /// Optional variable length _HIDSTR.
+ /// Optional variable length _UIDSTR.
+ /// Optional variable length _CIDSTR.
+ ///
+} ACPI_EXTENDED_HID_DEVICE_PATH;
+
+//
+// EISA ID Macro
+// EISA ID Definition 32-bits
+// bits[15:0] - three character compressed ASCII EISA ID.
+// bits[31:16] - binary number
+// Compressed ASCII is 5 bits per character 0b00001 = 'A' 0b11010 = 'Z'
+//
+#define PNP_EISA_ID_CONST 0x41d0
+#define EISA_ID(_Name, _Num) ((UINT32)((_Name) | (_Num) << 16))
+#define EISA_PNP_ID(_PNPId) (EISA_ID(PNP_EISA_ID_CONST, (_PNPId)))
+#define EFI_PNP_ID(_PNPId) (EISA_ID(PNP_EISA_ID_CONST, (_PNPId)))
+
+#define PNP_EISA_ID_MASK 0xffff
+#define EISA_ID_TO_NUM(_Id) ((_Id) >> 16)
+
+///
+/// ACPI _ADR Device Path SubType.
+///
+#define ACPI_ADR_DP 0x03
+
+///
+/// The _ADR device path is used to contain video output device attributes to support the Graphics
+/// Output Protocol. The device path can contain multiple _ADR entries if multiple video output
+/// devices are displaying the same output.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// _ADR value. For video output devices the value of this
+ /// field comes from Table B-2 of the ACPI 3.0 specification. At
+ /// least one _ADR value is required.
+ ///
+ UINT32 ADR;
+ //
+ // This device path may optionally contain more than one _ADR entry.
+ //
+} ACPI_ADR_DEVICE_PATH;
+
+#define ACPI_ADR_DISPLAY_TYPE_OTHER 0
+#define ACPI_ADR_DISPLAY_TYPE_VGA 1
+#define ACPI_ADR_DISPLAY_TYPE_TV 2
+#define ACPI_ADR_DISPLAY_TYPE_EXTERNAL_DIGITAL 3
+#define ACPI_ADR_DISPLAY_TYPE_INTERNAL_DIGITAL 4
+
+#define ACPI_DISPLAY_ADR(_DeviceIdScheme, _HeadId, _NonVgaOutput, _BiosCanDetect, _VendorInfo, _Type, _Port, _Index) \
+ ((UINT32)( ((UINT32)((_DeviceIdScheme) & 0x1) << 31) | \
+ (((_HeadId) & 0x7) << 18) | \
+ (((_NonVgaOutput) & 0x1) << 17) | \
+ (((_BiosCanDetect) & 0x1) << 16) | \
+ (((_VendorInfo) & 0xf) << 12) | \
+ (((_Type) & 0xf) << 8) | \
+ (((_Port) & 0xf) << 4) | \
+ ((_Index) & 0xf) ))
+
+///
+/// Messaging Device Paths.
+/// This Device Path is used to describe the connection of devices outside the resource domain of the
+/// system. This Device Path can describe physical messaging information like SCSI ID, or abstract
+/// information like networking protocol IP addresses.
+///
+#define MESSAGING_DEVICE_PATH 0x03
+
+///
+/// ATAPI Device Path SubType
+///
+#define MSG_ATAPI_DP 0x01
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Set to zero for primary, or one for secondary.
+ ///
+ UINT8 PrimarySecondary;
+ ///
+ /// Set to zero for master, or one for slave mode.
+ ///
+ UINT8 SlaveMaster;
+ ///
+ /// Logical Unit Number.
+ ///
+ UINT16 Lun;
+} ATAPI_DEVICE_PATH;
+
+///
+/// SCSI Device Path SubType.
+///
+#define MSG_SCSI_DP 0x02
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Target ID on the SCSI bus (PUN).
+ ///
+ UINT16 Pun;
+ ///
+ /// Logical Unit Number (LUN).
+ ///
+ UINT16 Lun;
+} SCSI_DEVICE_PATH;
+
+///
+/// Fibre Channel SubType.
+///
+#define MSG_FIBRECHANNEL_DP 0x03
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Reserved for the future.
+ ///
+ UINT32 Reserved;
+ ///
+ /// Fibre Channel World Wide Number.
+ ///
+ UINT64 WWN;
+ ///
+ /// Fibre Channel Logical Unit Number.
+ ///
+ UINT64 Lun;
+} FIBRECHANNEL_DEVICE_PATH;
+
+///
+/// Fibre Channel Ex SubType.
+///
+#define MSG_FIBRECHANNELEX_DP 0x15
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Reserved for the future.
+ ///
+ UINT32 Reserved;
+ ///
+ /// 8 byte array containing Fibre Channel End Device Port Name.
+ ///
+ UINT8 WWN[8];
+ ///
+ /// 8 byte array containing Fibre Channel Logical Unit Number.
+ ///
+ UINT8 Lun[8];
+} FIBRECHANNELEX_DEVICE_PATH;
+
+///
+/// 1394 Device Path SubType
+///
+#define MSG_1394_DP 0x04
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Reserved for the future.
+ ///
+ UINT32 Reserved;
+ ///
+ /// 1394 Global Unique ID (GUID).
+ ///
+ UINT64 Guid;
+} F1394_DEVICE_PATH;
+
+///
+/// USB Device Path SubType.
+///
+#define MSG_USB_DP 0x05
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// USB Parent Port Number.
+ ///
+ UINT8 ParentPortNumber;
+ ///
+ /// USB Interface Number.
+ ///
+ UINT8 InterfaceNumber;
+} USB_DEVICE_PATH;
+
+///
+/// USB Class Device Path SubType.
+///
+#define MSG_USB_CLASS_DP 0x0f
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Vendor ID assigned by USB-IF. A value of 0xFFFF will
+ /// match any Vendor ID.
+ ///
+ UINT16 VendorId;
+ ///
+ /// Product ID assigned by USB-IF. A value of 0xFFFF will
+ /// match any Product ID.
+ ///
+ UINT16 ProductId;
+ ///
+ /// The class code assigned by the USB-IF. A value of 0xFF
+ /// will match any class code.
+ ///
+ UINT8 DeviceClass;
+ ///
+ /// The subclass code assigned by the USB-IF. A value of
+ /// 0xFF will match any subclass code.
+ ///
+ UINT8 DeviceSubClass;
+ ///
+ /// The protocol code assigned by the USB-IF. A value of
+ /// 0xFF will match any protocol code.
+ ///
+ UINT8 DeviceProtocol;
+} USB_CLASS_DEVICE_PATH;
+
+///
+/// USB WWID Device Path SubType.
+///
+#define MSG_USB_WWID_DP 0x10
+
+///
+/// This device path describes a USB device using its serial number.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// USB interface number.
+ ///
+ UINT16 InterfaceNumber;
+ ///
+ /// USB vendor id of the device.
+ ///
+ UINT16 VendorId;
+ ///
+ /// USB product id of the device.
+ ///
+ UINT16 ProductId;
+ ///
+ /// Last 64-or-fewer UTF-16 characters of the USB
+ /// serial number. The length of the string is
+ /// determined by the Length field less the offset of the
+ /// Serial Number field (10)
+ ///
+ /// CHAR16 SerialNumber[...];
+} USB_WWID_DEVICE_PATH;
+
+///
+/// Device Logical Unit SubType.
+///
+#define MSG_DEVICE_LOGICAL_UNIT_DP 0x11
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Logical Unit Number for the interface.
+ ///
+ UINT8 Lun;
+} DEVICE_LOGICAL_UNIT_DEVICE_PATH;
+
+///
+/// SATA Device Path SubType.
+///
+#define MSG_SATA_DP 0x12
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// The HBA port number that facilitates the connection to the
+ /// device or a port multiplier. The value 0xFFFF is reserved.
+ ///
+ UINT16 HBAPortNumber;
+ ///
+ /// The Port multiplier port number that facilitates the connection
+ /// to the device. Must be set to 0xFFFF if the device is directly
+ /// connected to the HBA.
+ ///
+ UINT16 PortMultiplierPortNumber;
+ ///
+ /// Logical Unit Number.
+ ///
+ UINT16 Lun;
+} SATA_DEVICE_PATH;
+
+///
+/// Flag for if the device is directly connected to the HBA.
+///
+#define SATA_HBA_DIRECT_CONNECT_FLAG 0x8000
+
+///
+/// I2O Device Path SubType.
+///
+#define MSG_I2O_DP 0x06
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Target ID (TID) for a device.
+ ///
+ UINT32 Tid;
+} I2O_DEVICE_PATH;
+
+///
+/// MAC Address Device Path SubType.
+///
+#define MSG_MAC_ADDR_DP 0x0b
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// The MAC address for a network interface padded with 0s.
+ ///
+ EFI_MAC_ADDRESS MacAddress;
+ ///
+ /// Network interface type(i.e. 802.3, FDDI).
+ ///
+ UINT8 IfType;
+} MAC_ADDR_DEVICE_PATH;
+
+///
+/// IPv4 Device Path SubType
+///
+#define MSG_IPv4_DP 0x0c
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// The local IPv4 address.
+ ///
+ EFI_IPv4_ADDRESS LocalIpAddress;
+ ///
+ /// The remote IPv4 address.
+ ///
+ EFI_IPv4_ADDRESS RemoteIpAddress;
+ ///
+ /// The local port number.
+ ///
+ UINT16 LocalPort;
+ ///
+ /// The remote port number.
+ ///
+ UINT16 RemotePort;
+ ///
+ /// The network protocol(i.e. UDP, TCP).
+ ///
+ UINT16 Protocol;
+ ///
+ /// 0x00 - The Source IP Address was assigned though DHCP.
+ /// 0x01 - The Source IP Address is statically bound.
+ ///
+ BOOLEAN StaticIpAddress;
+ ///
+ /// The gateway IP address
+ ///
+ EFI_IPv4_ADDRESS GatewayIpAddress;
+ ///
+ /// The subnet mask
+ ///
+ EFI_IPv4_ADDRESS SubnetMask;
+} IPv4_DEVICE_PATH;
+
+///
+/// IPv6 Device Path SubType.
+///
+#define MSG_IPv6_DP 0x0d
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// The local IPv6 address.
+ ///
+ EFI_IPv6_ADDRESS LocalIpAddress;
+ ///
+ /// The remote IPv6 address.
+ ///
+ EFI_IPv6_ADDRESS RemoteIpAddress;
+ ///
+ /// The local port number.
+ ///
+ UINT16 LocalPort;
+ ///
+ /// The remote port number.
+ ///
+ UINT16 RemotePort;
+ ///
+ /// The network protocol(i.e. UDP, TCP).
+ ///
+ UINT16 Protocol;
+ ///
+ /// 0x00 - The Local IP Address was manually configured.
+ /// 0x01 - The Local IP Address is assigned through IPv6
+ /// stateless auto-configuration.
+ /// 0x02 - The Local IP Address is assigned through IPv6
+ /// stateful configuration.
+ ///
+ UINT8 IpAddressOrigin;
+ ///
+ /// The prefix length
+ ///
+ UINT8 PrefixLength;
+ ///
+ /// The gateway IP address
+ ///
+ EFI_IPv6_ADDRESS GatewayIpAddress;
+} IPv6_DEVICE_PATH;
+
+///
+/// InfiniBand Device Path SubType.
+///
+#define MSG_INFINIBAND_DP 0x09
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Flags to help identify/manage InfiniBand device path elements:
+ /// Bit 0 - IOC/Service (0b = IOC, 1b = Service).
+ /// Bit 1 - Extend Boot Environment.
+ /// Bit 2 - Console Protocol.
+ /// Bit 3 - Storage Protocol.
+ /// Bit 4 - Network Protocol.
+ /// All other bits are reserved.
+ ///
+ UINT32 ResourceFlags;
+ ///
+ /// 128-bit Global Identifier for remote fabric port.
+ ///
+ UINT8 PortGid[16];
+ ///
+ /// 64-bit unique identifier to remote IOC or server process.
+ /// Interpretation of field specified by Resource Flags (bit 0).
+ ///
+ UINT64 ServiceId;
+ ///
+ /// 64-bit persistent ID of remote IOC port.
+ ///
+ UINT64 TargetPortId;
+ ///
+ /// 64-bit persistent ID of remote device.
+ ///
+ UINT64 DeviceId;
+} INFINIBAND_DEVICE_PATH;
+
+#define INFINIBAND_RESOURCE_FLAG_IOC_SERVICE 0x01
+#define INFINIBAND_RESOURCE_FLAG_EXTENDED_BOOT_ENVIRONMENT 0x02
+#define INFINIBAND_RESOURCE_FLAG_CONSOLE_PROTOCOL 0x04
+#define INFINIBAND_RESOURCE_FLAG_STORAGE_PROTOCOL 0x08
+#define INFINIBAND_RESOURCE_FLAG_NETWORK_PROTOCOL 0x10
+
+///
+/// UART Device Path SubType.
+///
+#define MSG_UART_DP 0x0e
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Reserved.
+ ///
+ UINT32 Reserved;
+ ///
+ /// The baud rate setting for the UART style device. A value of 0
+ /// means that the device's default baud rate will be used.
+ ///
+ UINT64 BaudRate;
+ ///
+ /// The number of data bits for the UART style device. A value
+ /// of 0 means that the device's default number of data bits will be used.
+ ///
+ UINT8 DataBits;
+ ///
+ /// The parity setting for the UART style device.
+ /// Parity 0x00 - Default Parity.
+ /// Parity 0x01 - No Parity.
+ /// Parity 0x02 - Even Parity.
+ /// Parity 0x03 - Odd Parity.
+ /// Parity 0x04 - Mark Parity.
+ /// Parity 0x05 - Space Parity.
+ ///
+ UINT8 Parity;
+ ///
+ /// The number of stop bits for the UART style device.
+ /// Stop Bits 0x00 - Default Stop Bits.
+ /// Stop Bits 0x01 - 1 Stop Bit.
+ /// Stop Bits 0x02 - 1.5 Stop Bits.
+ /// Stop Bits 0x03 - 2 Stop Bits.
+ ///
+ UINT8 StopBits;
+} UART_DEVICE_PATH;
+
+//
+// Use VENDOR_DEVICE_PATH struct
+//
+#define MSG_VENDOR_DP 0x0a
+typedef VENDOR_DEVICE_PATH VENDOR_DEFINED_DEVICE_PATH;
+
+#define DEVICE_PATH_MESSAGING_PC_ANSI EFI_PC_ANSI_GUID
+#define DEVICE_PATH_MESSAGING_VT_100 EFI_VT_100_GUID
+#define DEVICE_PATH_MESSAGING_VT_100_PLUS EFI_VT_100_PLUS_GUID
+#define DEVICE_PATH_MESSAGING_VT_UTF8 EFI_VT_UTF8_GUID
+
+///
+/// A new device path node is defined to declare flow control characteristics.
+/// UART Flow Control Messaging Device Path
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// DEVICE_PATH_MESSAGING_UART_FLOW_CONTROL GUID.
+ ///
+ EFI_GUID Guid;
+ ///
+ /// Bitmap of supported flow control types.
+ /// Bit 0 set indicates hardware flow control.
+ /// Bit 1 set indicates Xon/Xoff flow control.
+ /// All other bits are reserved and are clear.
+ ///
+ UINT32 FlowControlMap;
+} UART_FLOW_CONTROL_DEVICE_PATH;
+
+#define UART_FLOW_CONTROL_HARDWARE 0x00000001
+#define UART_FLOW_CONTROL_XON_XOFF 0x00000010
+
+#define DEVICE_PATH_MESSAGING_SAS EFI_SAS_DEVICE_PATH_GUID
+///
+/// Serial Attached SCSI (SAS) Device Path.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// DEVICE_PATH_MESSAGING_SAS GUID.
+ ///
+ EFI_GUID Guid;
+ ///
+ /// Reserved for future use.
+ ///
+ UINT32 Reserved;
+ ///
+ /// SAS Address for Serial Attached SCSI Target.
+ ///
+ UINT64 SasAddress;
+ ///
+ /// SAS Logical Unit Number.
+ ///
+ UINT64 Lun;
+ ///
+ /// More Information about the device and its interconnect.
+ ///
+ UINT16 DeviceTopology;
+ ///
+ /// Relative Target Port (RTP).
+ ///
+ UINT16 RelativeTargetPort;
+} SAS_DEVICE_PATH;
+
+///
+/// Serial Attached SCSI (SAS) Ex Device Path SubType
+///
+#define MSG_SASEX_DP 0x16
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// 8-byte array of the SAS Address for Serial Attached SCSI Target Port.
+ ///
+ UINT8 SasAddress[8];
+ ///
+ /// 8-byte array of the SAS Logical Unit Number.
+ ///
+ UINT8 Lun[8];
+ ///
+ /// More Information about the device and its interconnect.
+ ///
+ UINT16 DeviceTopology;
+ ///
+ /// Relative Target Port (RTP).
+ ///
+ UINT16 RelativeTargetPort;
+} SASEX_DEVICE_PATH;
+
+///
+/// NvmExpress Namespace Device Path SubType.
+///
+#define MSG_NVME_NAMESPACE_DP 0x17
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ UINT32 NamespaceId;
+ UINT64 NamespaceUuid;
+} NVME_NAMESPACE_DEVICE_PATH;
+
+///
+/// Uniform Resource Identifiers (URI) Device Path SubType
+///
+#define MSG_URI_DP 0x18
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Instance of the URI pursuant to RFC 3986.
+ ///
+ CHAR8 Uri[];
+} URI_DEVICE_PATH;
+
+///
+/// Universal Flash Storage (UFS) Device Path SubType.
+///
+#define MSG_UFS_DP 0x19
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Target ID on the UFS bus (PUN).
+ ///
+ UINT8 Pun;
+ ///
+ /// Logical Unit Number (LUN).
+ ///
+ UINT8 Lun;
+} UFS_DEVICE_PATH;
+
+///
+/// SD (Secure Digital) Device Path SubType.
+///
+#define MSG_SD_DP 0x1A
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ UINT8 SlotNumber;
+} SD_DEVICE_PATH;
+
+///
+/// EMMC (Embedded MMC) Device Path SubType.
+///
+#define MSG_EMMC_DP 0x1D
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ UINT8 SlotNumber;
+} EMMC_DEVICE_PATH;
+
+///
+/// iSCSI Device Path SubType
+///
+#define MSG_ISCSI_DP 0x13
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Network Protocol (0 = TCP, 1+ = reserved).
+ ///
+ UINT16 NetworkProtocol;
+ ///
+ /// iSCSI Login Options.
+ ///
+ UINT16 LoginOption;
+ ///
+ /// iSCSI Logical Unit Number.
+ ///
+ UINT64 Lun;
+ ///
+ /// iSCSI Target Portal group tag the initiator intends
+ /// to establish a session with.
+ ///
+ UINT16 TargetPortalGroupTag;
+ ///
+ /// iSCSI NodeTarget Name. The length of the name
+ /// is determined by subtracting the offset of this field from Length.
+ ///
+ /// CHAR8 iSCSI Target Name.
+} ISCSI_DEVICE_PATH;
+
+#define ISCSI_LOGIN_OPTION_NO_HEADER_DIGEST 0x0000
+#define ISCSI_LOGIN_OPTION_HEADER_DIGEST_USING_CRC32C 0x0002
+#define ISCSI_LOGIN_OPTION_NO_DATA_DIGEST 0x0000
+#define ISCSI_LOGIN_OPTION_DATA_DIGEST_USING_CRC32C 0x0008
+#define ISCSI_LOGIN_OPTION_AUTHMETHOD_CHAP 0x0000
+#define ISCSI_LOGIN_OPTION_AUTHMETHOD_NON 0x1000
+#define ISCSI_LOGIN_OPTION_CHAP_BI 0x0000
+#define ISCSI_LOGIN_OPTION_CHAP_UNI 0x2000
+
+///
+/// VLAN Device Path SubType.
+///
+#define MSG_VLAN_DP 0x14
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// VLAN identifier (0-4094).
+ ///
+ UINT16 VlanId;
+} VLAN_DEVICE_PATH;
+
+///
+/// Bluetooth Device Path SubType.
+///
+#define MSG_BLUETOOTH_DP 0x1b
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// 48bit Bluetooth device address.
+ ///
+ BLUETOOTH_ADDRESS BD_ADDR;
+} BLUETOOTH_DEVICE_PATH;
+
+///
+/// Wi-Fi Device Path SubType.
+///
+#define MSG_WIFI_DP 0x1C
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Service set identifier. A 32-byte octets string.
+ ///
+ UINT8 SSId[32];
+} WIFI_DEVICE_PATH;
+
+//
+// Media Device Path
+//
+#define MEDIA_DEVICE_PATH 0x04
+
+///
+/// Hard Drive Media Device Path SubType.
+///
+#define MEDIA_HARDDRIVE_DP 0x01
+
+///
+/// The Hard Drive Media Device Path is used to represent a partition on a hard drive.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Describes the entry in a partition table, starting with entry 1.
+ /// Partition number zero represents the entire device. Valid
+ /// partition numbers for a MBR partition are [1, 4]. Valid
+ /// partition numbers for a GPT partition are [1, NumberOfPartitionEntries].
+ ///
+ UINT32 PartitionNumber;
+ ///
+ /// Starting LBA of the partition on the hard drive.
+ ///
+ UINT64 PartitionStart;
+ ///
+ /// Size of the partition in units of Logical Blocks.
+ ///
+ UINT64 PartitionSize;
+ ///
+ /// Signature unique to this partition:
+ /// If SignatureType is 0, this field has to be initialized with 16 zeros.
+ /// If SignatureType is 1, the MBR signature is stored in the first 4 bytes of this field.
+ /// The other 12 bytes are initialized with zeros.
+ /// If SignatureType is 2, this field contains a 16 byte signature.
+ ///
+ UINT8 Signature[16];
+ ///
+ /// Partition Format: (Unused values reserved).
+ /// 0x01 - PC-AT compatible legacy MBR.
+ /// 0x02 - GUID Partition Table.
+ ///
+ UINT8 MBRType;
+ ///
+ /// Type of Disk Signature: (Unused values reserved).
+ /// 0x00 - No Disk Signature.
+ /// 0x01 - 32-bit signature from address 0x1b8 of the type 0x01 MBR.
+ /// 0x02 - GUID signature.
+ ///
+ UINT8 SignatureType;
+} HARDDRIVE_DEVICE_PATH;
+
+#define MBR_TYPE_PCAT 0x01
+#define MBR_TYPE_EFI_PARTITION_TABLE_HEADER 0x02
+
+#define NO_DISK_SIGNATURE 0x00
+#define SIGNATURE_TYPE_MBR 0x01
+#define SIGNATURE_TYPE_GUID 0x02
+
+///
+/// CD-ROM Media Device Path SubType.
+///
+#define MEDIA_CDROM_DP 0x02
+
+///
+/// The CD-ROM Media Device Path is used to define a system partition that exists on a CD-ROM.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Boot Entry number from the Boot Catalog. The Initial/Default entry is defined as zero.
+ ///
+ UINT32 BootEntry;
+ ///
+ /// Starting RBA of the partition on the medium. CD-ROMs use Relative logical Block Addressing.
+ ///
+ UINT64 PartitionStart;
+ ///
+ /// Size of the partition in units of Blocks, also called Sectors.
+ ///
+ UINT64 PartitionSize;
+} CDROM_DEVICE_PATH;
+
+//
+// Use VENDOR_DEVICE_PATH struct
+//
+#define MEDIA_VENDOR_DP 0x03 ///< Media vendor device path subtype.
+
+///
+/// File Path Media Device Path SubType
+///
+#define MEDIA_FILEPATH_DP 0x04
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// A NULL-terminated Path string including directory and file names.
+ ///
+ CHAR16 PathName[1];
+} FILEPATH_DEVICE_PATH;
+
+#define SIZE_OF_FILEPATH_DEVICE_PATH OFFSET_OF(FILEPATH_DEVICE_PATH,PathName)
+
+///
+/// Media Protocol Device Path SubType.
+///
+#define MEDIA_PROTOCOL_DP 0x05
+
+///
+/// The Media Protocol Device Path is used to denote the protocol that is being
+/// used in a device path at the location of the path specified.
+/// Many protocols are inherent to the style of device path.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// The ID of the protocol.
+ ///
+ EFI_GUID Protocol;
+} MEDIA_PROTOCOL_DEVICE_PATH;
+
+///
+/// PIWG Firmware File SubType.
+///
+#define MEDIA_PIWG_FW_FILE_DP 0x06
+
+///
+/// This device path is used by systems implementing the UEFI PI Specification 1.0 to describe a firmware file.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Firmware file name
+ ///
+ EFI_GUID FvFileName;
+} MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
+
+///
+/// PIWG Firmware Volume Device Path SubType.
+///
+#define MEDIA_PIWG_FW_VOL_DP 0x07
+
+///
+/// This device path is used by systems implementing the UEFI PI Specification 1.0 to describe a firmware volume.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Firmware volume name.
+ ///
+ EFI_GUID FvName;
+} MEDIA_FW_VOL_DEVICE_PATH;
+
+///
+/// Media relative offset range device path.
+///
+#define MEDIA_RELATIVE_OFFSET_RANGE_DP 0x08
+
+///
+/// Used to describe the offset range of media relative.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ UINT32 Reserved;
+ UINT64 StartingOffset;
+ UINT64 EndingOffset;
+} MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH;
+
+///
+/// This GUID defines a RAM Disk supporting a raw disk format in volatile memory.
+///
+#define EFI_VIRTUAL_DISK_GUID EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_DISK_REGION_VOLATILE
+
+extern EFI_GUID gEfiVirtualDiskGuid;
+
+///
+/// This GUID defines a RAM Disk supporting an ISO image in volatile memory.
+///
+#define EFI_VIRTUAL_CD_GUID EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_CD_REGION_VOLATILE
+
+extern EFI_GUID gEfiVirtualCdGuid;
+
+///
+/// This GUID defines a RAM Disk supporting a raw disk format in persistent memory.
+///
+#define EFI_PERSISTENT_VIRTUAL_DISK_GUID EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_DISK_REGION_PERSISTENT
+
+extern EFI_GUID gEfiPersistentVirtualDiskGuid;
+
+///
+/// This GUID defines a RAM Disk supporting an ISO image in persistent memory.
+///
+#define EFI_PERSISTENT_VIRTUAL_CD_GUID EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_CD_REGION_PERSISTENT
+
+extern EFI_GUID gEfiPersistentVirtualCdGuid;
+
+///
+/// Media ram disk device path.
+///
+#define MEDIA_RAM_DISK_DP 0x09
+
+///
+/// Used to describe the ram disk device path.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Starting Memory Address.
+ ///
+ UINT32 StartingAddr[2];
+ ///
+ /// Ending Memory Address.
+ ///
+ UINT32 EndingAddr[2];
+ ///
+ /// GUID that defines the type of the RAM Disk.
+ ///
+ EFI_GUID TypeGuid;
+ ///
+ /// RAM Diskinstance number, if supported. The default value is zero.
+ ///
+ UINT16 Instance;
+} MEDIA_RAM_DISK_DEVICE_PATH;
+
+///
+/// BIOS Boot Specification Device Path.
+///
+#define BBS_DEVICE_PATH 0x05
+
+///
+/// BIOS Boot Specification Device Path SubType.
+///
+#define BBS_BBS_DP 0x01
+
+///
+/// This Device Path is used to describe the booting of non-EFI-aware operating systems.
+///
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Device Type as defined by the BIOS Boot Specification.
+ ///
+ UINT16 DeviceType;
+ ///
+ /// Status Flags as defined by the BIOS Boot Specification.
+ ///
+ UINT16 StatusFlag;
+ ///
+ /// Null-terminated ASCII string that describes the boot device to a user.
+ ///
+ CHAR8 String[1];
+} BBS_BBS_DEVICE_PATH;
+
+//
+// DeviceType definitions - from BBS specification
+//
+#define BBS_TYPE_FLOPPY 0x01
+#define BBS_TYPE_HARDDRIVE 0x02
+#define BBS_TYPE_CDROM 0x03
+#define BBS_TYPE_PCMCIA 0x04
+#define BBS_TYPE_USB 0x05
+#define BBS_TYPE_EMBEDDED_NETWORK 0x06
+#define BBS_TYPE_BEV 0x80
+#define BBS_TYPE_UNKNOWN 0xFF
+
+
+///
+/// Union of all possible Device Paths and pointers to Device Paths.
+///
+typedef union {
+ EFI_DEVICE_PATH_PROTOCOL DevPath;
+ PCI_DEVICE_PATH Pci;
+ PCCARD_DEVICE_PATH PcCard;
+ MEMMAP_DEVICE_PATH MemMap;
+ VENDOR_DEVICE_PATH Vendor;
+
+ CONTROLLER_DEVICE_PATH Controller;
+ BMC_DEVICE_PATH Bmc;
+ ACPI_HID_DEVICE_PATH Acpi;
+ ACPI_EXTENDED_HID_DEVICE_PATH ExtendedAcpi;
+ ACPI_ADR_DEVICE_PATH AcpiAdr;
+
+ ATAPI_DEVICE_PATH Atapi;
+ SCSI_DEVICE_PATH Scsi;
+ ISCSI_DEVICE_PATH Iscsi;
+ FIBRECHANNEL_DEVICE_PATH FibreChannel;
+ FIBRECHANNELEX_DEVICE_PATH FibreChannelEx;
+
+ F1394_DEVICE_PATH F1394;
+ USB_DEVICE_PATH Usb;
+ SATA_DEVICE_PATH Sata;
+ USB_CLASS_DEVICE_PATH UsbClass;
+ USB_WWID_DEVICE_PATH UsbWwid;
+ DEVICE_LOGICAL_UNIT_DEVICE_PATH LogicUnit;
+ I2O_DEVICE_PATH I2O;
+ MAC_ADDR_DEVICE_PATH MacAddr;
+ IPv4_DEVICE_PATH Ipv4;
+ IPv6_DEVICE_PATH Ipv6;
+ VLAN_DEVICE_PATH Vlan;
+ INFINIBAND_DEVICE_PATH InfiniBand;
+ UART_DEVICE_PATH Uart;
+ UART_FLOW_CONTROL_DEVICE_PATH UartFlowControl;
+ SAS_DEVICE_PATH Sas;
+ SASEX_DEVICE_PATH SasEx;
+ NVME_NAMESPACE_DEVICE_PATH NvmeNamespace;
+ URI_DEVICE_PATH Uri;
+ BLUETOOTH_DEVICE_PATH Bluetooth;
+ WIFI_DEVICE_PATH WiFi;
+ UFS_DEVICE_PATH Ufs;
+ SD_DEVICE_PATH Sd;
+ EMMC_DEVICE_PATH Emmc;
+ HARDDRIVE_DEVICE_PATH HardDrive;
+ CDROM_DEVICE_PATH CD;
+
+ FILEPATH_DEVICE_PATH FilePath;
+ MEDIA_PROTOCOL_DEVICE_PATH MediaProtocol;
+
+ MEDIA_FW_VOL_DEVICE_PATH FirmwareVolume;
+ MEDIA_FW_VOL_FILEPATH_DEVICE_PATH FirmwareFile;
+ MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH Offset;
+ MEDIA_RAM_DISK_DEVICE_PATH RamDisk;
+ BBS_BBS_DEVICE_PATH Bbs;
+} EFI_DEV_PATH;
+
+
+
+typedef union {
+ EFI_DEVICE_PATH_PROTOCOL *DevPath;
+ PCI_DEVICE_PATH *Pci;
+ PCCARD_DEVICE_PATH *PcCard;
+ MEMMAP_DEVICE_PATH *MemMap;
+ VENDOR_DEVICE_PATH *Vendor;
+
+ CONTROLLER_DEVICE_PATH *Controller;
+ BMC_DEVICE_PATH *Bmc;
+ ACPI_HID_DEVICE_PATH *Acpi;
+ ACPI_EXTENDED_HID_DEVICE_PATH *ExtendedAcpi;
+ ACPI_ADR_DEVICE_PATH *AcpiAdr;
+
+ ATAPI_DEVICE_PATH *Atapi;
+ SCSI_DEVICE_PATH *Scsi;
+ ISCSI_DEVICE_PATH *Iscsi;
+ FIBRECHANNEL_DEVICE_PATH *FibreChannel;
+ FIBRECHANNELEX_DEVICE_PATH *FibreChannelEx;
+
+ F1394_DEVICE_PATH *F1394;
+ USB_DEVICE_PATH *Usb;
+ SATA_DEVICE_PATH *Sata;
+ USB_CLASS_DEVICE_PATH *UsbClass;
+ USB_WWID_DEVICE_PATH *UsbWwid;
+ DEVICE_LOGICAL_UNIT_DEVICE_PATH *LogicUnit;
+ I2O_DEVICE_PATH *I2O;
+ MAC_ADDR_DEVICE_PATH *MacAddr;
+ IPv4_DEVICE_PATH *Ipv4;
+ IPv6_DEVICE_PATH *Ipv6;
+ VLAN_DEVICE_PATH *Vlan;
+ INFINIBAND_DEVICE_PATH *InfiniBand;
+ UART_DEVICE_PATH *Uart;
+ UART_FLOW_CONTROL_DEVICE_PATH *UartFlowControl;
+ SAS_DEVICE_PATH *Sas;
+ SASEX_DEVICE_PATH *SasEx;
+ NVME_NAMESPACE_DEVICE_PATH *NvmeNamespace;
+ URI_DEVICE_PATH *Uri;
+ BLUETOOTH_DEVICE_PATH *Bluetooth;
+ WIFI_DEVICE_PATH *WiFi;
+ UFS_DEVICE_PATH *Ufs;
+ SD_DEVICE_PATH *Sd;
+ EMMC_DEVICE_PATH *Emmc;
+ HARDDRIVE_DEVICE_PATH *HardDrive;
+ CDROM_DEVICE_PATH *CD;
+
+ FILEPATH_DEVICE_PATH *FilePath;
+ MEDIA_PROTOCOL_DEVICE_PATH *MediaProtocol;
+
+ MEDIA_FW_VOL_DEVICE_PATH *FirmwareVolume;
+ MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FirmwareFile;
+ MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *Offset;
+ MEDIA_RAM_DISK_DEVICE_PATH *RamDisk;
+ BBS_BBS_DEVICE_PATH *Bbs;
+ UINT8 *Raw;
+} EFI_DEV_PATH_PTR;
+
+#pragma pack()
+
+#define END_DEVICE_PATH_TYPE 0x7f
+#define END_ENTIRE_DEVICE_PATH_SUBTYPE 0xFF
+#define END_INSTANCE_DEVICE_PATH_SUBTYPE 0x01
+
+extern EFI_GUID gEfiDevicePathProtocolGuid;
+
+#endif
diff --git a/sys/contrib/edk2/Include/Protocol/DevicePathFromText.h b/sys/contrib/edk2/Include/Protocol/DevicePathFromText.h
new file mode 100644
index 0000000..cbdbc46
--- /dev/null
+++ b/sys/contrib/edk2/Include/Protocol/DevicePathFromText.h
@@ -0,0 +1,72 @@
+/** @file
+ EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL as defined in UEFI 2.0.
+ This protocol provides service to convert text to device paths and device nodes.
+
+ Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __DEVICE_PATH_FROM_TEXT_PROTOCOL_H__
+#define __DEVICE_PATH_FROM_TEXT_PROTOCOL_H__
+
+///
+/// Device Path From Text protocol
+///
+#define EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL_GUID \
+ { \
+ 0x5c99a21, 0xc70f, 0x4ad2, {0x8a, 0x5f, 0x35, 0xdf, 0x33, 0x43, 0xf5, 0x1e } \
+ }
+
+/**
+ Convert text to the binary representation of a device node.
+
+ @param TextDeviceNode TextDeviceNode points to the text representation of a device
+ node. Conversion starts with the first character and continues
+ until the first non-device node character.
+
+ @retval a_pointer Pointer to the EFI device node.
+ @retval NULL if TextDeviceNode is NULL or there was insufficient memory.
+
+**/
+typedef
+EFI_DEVICE_PATH_PROTOCOL*
+(EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_NODE)(
+ IN CONST CHAR16 *TextDeviceNode
+ );
+
+
+/**
+ Convert text to the binary representation of a device node.
+
+ @param TextDeviceNode TextDevicePath points to the text representation of a device
+ path. Conversion starts with the first character and continues
+ until the first non-device path character.
+
+ @retval a_pointer Pointer to the allocated device path.
+ @retval NULL if TextDeviceNode is NULL or there was insufficient memory.
+
+**/
+typedef
+EFI_DEVICE_PATH_PROTOCOL*
+(EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_PATH)(
+ IN CONST CHAR16 *TextDevicePath
+ );
+
+///
+/// This protocol converts text to device paths and device nodes.
+///
+typedef struct {
+ EFI_DEVICE_PATH_FROM_TEXT_NODE ConvertTextToDeviceNode;
+ EFI_DEVICE_PATH_FROM_TEXT_PATH ConvertTextToDevicePath;
+} EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL;
+
+extern EFI_GUID gEfiDevicePathFromTextProtocolGuid;
+
+#endif
diff --git a/sys/contrib/edk2/Include/Protocol/DevicePathToText.h b/sys/contrib/edk2/Include/Protocol/DevicePathToText.h
new file mode 100644
index 0000000..923ee64
--- /dev/null
+++ b/sys/contrib/edk2/Include/Protocol/DevicePathToText.h
@@ -0,0 +1,85 @@
+/** @file
+ EFI_DEVICE_PATH_TO_TEXT_PROTOCOL as defined in UEFI 2.0.
+ This protocol provides service to convert device nodes and paths to text.
+
+ Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __DEVICE_PATH_TO_TEXT_PROTOCOL_H__
+#define __DEVICE_PATH_TO_TEXT_PROTOCOL_H__
+
+///
+/// Device Path To Text protocol
+///
+#define EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID \
+ { \
+ 0x8b843e20, 0x8132, 0x4852, {0x90, 0xcc, 0x55, 0x1a, 0x4e, 0x4a, 0x7f, 0x1c } \
+ }
+
+/**
+ Convert a device node to its text representation.
+
+ @param DeviceNode Points to the device node to be converted.
+ @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation
+ of the display node is used, where applicable. If DisplayOnly
+ is FALSE, then the longer text representation of the display node
+ is used.
+ @param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text
+ representation for a device node can be used, where applicable.
+
+ @retval a_pointer a pointer to the allocated text representation of the device node data
+ @retval NULL if DeviceNode is NULL or there was insufficient memory.
+
+**/
+typedef
+CHAR16*
+(EFIAPI *EFI_DEVICE_PATH_TO_TEXT_NODE)(
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DeviceNode,
+ IN BOOLEAN DisplayOnly,
+ IN BOOLEAN AllowShortcuts
+ );
+
+/**
+ Convert a device path to its text representation.
+
+ @param DevicePath Points to the device path to be converted.
+ @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation
+ of the display node is used, where applicable. If DisplayOnly
+ is FALSE, then the longer text representation of the display node
+ is used.
+ @param AllowShortcuts The AllowShortcuts is FALSE, then the shortcut forms of
+ text representation for a device node cannot be used.
+
+ @retval a_pointer a pointer to the allocated text representation of the device node.
+ @retval NULL if DevicePath is NULL or there was insufficient memory.
+
+**/
+typedef
+CHAR16*
+(EFIAPI *EFI_DEVICE_PATH_TO_TEXT_PATH)(
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
+ IN BOOLEAN DisplayOnly,
+ IN BOOLEAN AllowShortcuts
+ );
+
+///
+/// This protocol converts device paths and device nodes to text.
+///
+typedef struct {
+ EFI_DEVICE_PATH_TO_TEXT_NODE ConvertDeviceNodeToText;
+ EFI_DEVICE_PATH_TO_TEXT_PATH ConvertDevicePathToText;
+} EFI_DEVICE_PATH_TO_TEXT_PROTOCOL;
+
+extern EFI_GUID gEfiDevicePathToTextProtocolGuid;
+
+#endif
+
+
diff --git a/sys/contrib/edk2/Include/Protocol/DevicePathUtilities.h b/sys/contrib/edk2/Include/Protocol/DevicePathUtilities.h
new file mode 100644
index 0000000..35fd624
--- /dev/null
+++ b/sys/contrib/edk2/Include/Protocol/DevicePathUtilities.h
@@ -0,0 +1,192 @@
+/** @file
+ EFI_DEVICE_PATH_UTILITIES_PROTOCOL as defined in UEFI 2.0.
+ Use to create and manipulate device paths and device nodes.
+
+ Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __DEVICE_PATH_UTILITIES_PROTOCOL_H__
+#define __DEVICE_PATH_UTILITIES_PROTOCOL_H__
+
+///
+/// Device Path Utilities protocol
+///
+#define EFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID \
+ { \
+ 0x379be4e, 0xd706, 0x437d, {0xb0, 0x37, 0xed, 0xb8, 0x2f, 0xb7, 0x72, 0xa4 } \
+ }
+
+/**
+ Returns the size of the device path, in bytes.
+
+ @param DevicePath Points to the start of the EFI device path.
+
+ @return Size Size of the specified device path, in bytes, including the end-of-path tag.
+ @retval 0 DevicePath is NULL
+
+**/
+typedef
+UINTN
+(EFIAPI *EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE)(
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
+ );
+
+
+/**
+ Create a duplicate of the specified path.
+
+ @param DevicePath Points to the source EFI device path.
+
+ @retval Pointer A pointer to the duplicate device path.
+ @retval NULL insufficient memory or DevicePath is NULL
+
+**/
+typedef
+EFI_DEVICE_PATH_PROTOCOL*
+(EFIAPI *EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH)(
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
+ );
+
+/**
+ Create a new path by appending the second device path to the first.
+ If Src1 is NULL and Src2 is non-NULL, then a duplicate of Src2 is returned.
+ If Src1 is non-NULL and Src2 is NULL, then a duplicate of Src1 is returned.
+ If Src1 and Src2 are both NULL, then a copy of an end-of-device-path is returned.
+
+ @param Src1 Points to the first device path.
+ @param Src2 Points to the second device path.
+
+ @retval Pointer A pointer to the newly created device path.
+ @retval NULL Memory could not be allocated
+
+**/
+typedef
+EFI_DEVICE_PATH_PROTOCOL*
+(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_PATH)(
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *Src1,
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *Src2
+ );
+
+/**
+ Creates a new path by appending the device node to the device path.
+ If DeviceNode is NULL then a copy of DevicePath is returned.
+ If DevicePath is NULL then a copy of DeviceNode, followed by an end-of-device path device node is returned.
+ If both DeviceNode and DevicePath are NULL then a copy of an end-of-device-path device node is returned.
+
+ @param DevicePath Points to the device path.
+ @param DeviceNode Points to the device node.
+
+ @retval Pointer A pointer to the allocated device node.
+ @retval NULL There was insufficient memory.
+
+**/
+typedef
+EFI_DEVICE_PATH_PROTOCOL*
+(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_NODE)(
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DeviceNode
+ );
+
+/**
+ Creates a new path by appending the specified device path instance to the specified device path.
+
+ @param DevicePath Points to the device path. If NULL, then ignored.
+ @param DevicePathInstance Points to the device path instance.
+
+ @retval Pointer A pointer to the newly created device path
+ @retval NULL Memory could not be allocated or DevicePathInstance is NULL.
+
+**/
+typedef
+EFI_DEVICE_PATH_PROTOCOL*
+(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_INSTANCE)(
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePathInstance
+ );
+
+/**
+ Creates a copy of the current device path instance and returns a pointer to the next device path
+ instance.
+
+ @param DevicePathInstance On input, this holds the pointer to the current device path
+ instance. On output, this holds the pointer to the next
+ device path instance or NULL if there are no more device
+ path instances in the device path.
+ @param DevicePathInstanceSize On output, this holds the size of the device path instance,
+ in bytes or zero, if DevicePathInstance is NULL.
+ If NULL, then the instance size is not output.
+
+ @retval Pointer A pointer to the copy of the current device path instance.
+ @retval NULL DevicePathInstace was NULL on entry or there was insufficient memory.
+
+**/
+typedef
+EFI_DEVICE_PATH_PROTOCOL*
+(EFIAPI *EFI_DEVICE_PATH_UTILS_GET_NEXT_INSTANCE)(
+ IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePathInstance,
+ OUT UINTN *DevicePathInstanceSize
+ );
+
+/**
+ Creates a device node
+
+ @param NodeType NodeType is the device node type (EFI_DEVICE_PATH.Type) for
+ the new device node.
+ @param NodeSubType NodeSubType is the device node sub-type
+ EFI_DEVICE_PATH.SubType) for the new device node.
+ @param NodeLength NodeLength is the length of the device node
+ (EFI_DEVICE_PATH.Length) for the new device node.
+
+ @retval Pointer A pointer to the newly created device node.
+ @retval NULL NodeLength is less than
+ the size of the header or there was insufficient memory.
+
+**/
+typedef
+EFI_DEVICE_PATH_PROTOCOL*
+(EFIAPI *EFI_DEVICE_PATH_UTILS_CREATE_NODE)(
+ IN UINT8 NodeType,
+ IN UINT8 NodeSubType,
+ IN UINT16 NodeLength
+);
+
+/**
+ Returns whether a device path is multi-instance.
+
+ @param DevicePath Points to the device path. If NULL, then ignored.
+
+ @retval TRUE The device path has more than one instance
+ @retval FALSE The device path is empty or contains only a single instance.
+
+**/
+typedef
+BOOLEAN
+(EFIAPI *EFI_DEVICE_PATH_UTILS_IS_MULTI_INSTANCE)(
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
+ );
+
+///
+/// This protocol is used to creates and manipulates device paths and device nodes.
+///
+typedef struct {
+ EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE GetDevicePathSize;
+ EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH DuplicateDevicePath;
+ EFI_DEVICE_PATH_UTILS_APPEND_PATH AppendDevicePath;
+ EFI_DEVICE_PATH_UTILS_APPEND_NODE AppendDeviceNode;
+ EFI_DEVICE_PATH_UTILS_APPEND_INSTANCE AppendDevicePathInstance;
+ EFI_DEVICE_PATH_UTILS_GET_NEXT_INSTANCE GetNextDevicePathInstance;
+ EFI_DEVICE_PATH_UTILS_IS_MULTI_INSTANCE IsDevicePathMultiInstance;
+ EFI_DEVICE_PATH_UTILS_CREATE_NODE CreateDeviceNode;
+} EFI_DEVICE_PATH_UTILITIES_PROTOCOL;
+
+extern EFI_GUID gEfiDevicePathUtilitiesProtocolGuid;
+
+#endif
diff --git a/sys/contrib/edk2/Include/Protocol/SimpleTextIn.h b/sys/contrib/edk2/Include/Protocol/SimpleTextIn.h
new file mode 100644
index 0000000..d8df553
--- /dev/null
+++ b/sys/contrib/edk2/Include/Protocol/SimpleTextIn.h
@@ -0,0 +1,133 @@
+/** @file
+ Simple Text Input protocol from the UEFI 2.0 specification.
+
+ Abstraction of a very simple input device like a keyboard or serial
+ terminal.
+
+ Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __SIMPLE_TEXT_IN_PROTOCOL_H__
+#define __SIMPLE_TEXT_IN_PROTOCOL_H__
+
+#define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID \
+ { \
+ 0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
+ }
+
+typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL;
+
+///
+/// Protocol GUID name defined in EFI1.1.
+///
+#define SIMPLE_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID
+
+///
+/// Protocol name in EFI1.1 for backward-compatible.
+///
+typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL SIMPLE_INPUT_INTERFACE;
+
+///
+/// The keystroke information for the key that was pressed.
+///
+typedef struct {
+ UINT16 ScanCode;
+ CHAR16 UnicodeChar;
+} EFI_INPUT_KEY;
+
+//
+// Required unicode control chars
+//
+#define CHAR_BACKSPACE 0x0008
+#define CHAR_TAB 0x0009
+#define CHAR_LINEFEED 0x000A
+#define CHAR_CARRIAGE_RETURN 0x000D
+
+//
+// EFI Scan codes
+//
+#define SCAN_NULL 0x0000
+#define SCAN_UP 0x0001
+#define SCAN_DOWN 0x0002
+#define SCAN_RIGHT 0x0003
+#define SCAN_LEFT 0x0004
+#define SCAN_HOME 0x0005
+#define SCAN_END 0x0006
+#define SCAN_INSERT 0x0007
+#define SCAN_DELETE 0x0008
+#define SCAN_PAGE_UP 0x0009
+#define SCAN_PAGE_DOWN 0x000A
+#define SCAN_F1 0x000B
+#define SCAN_F2 0x000C
+#define SCAN_F3 0x000D
+#define SCAN_F4 0x000E
+#define SCAN_F5 0x000F
+#define SCAN_F6 0x0010
+#define SCAN_F7 0x0011
+#define SCAN_F8 0x0012
+#define SCAN_F9 0x0013
+#define SCAN_F10 0x0014
+#define SCAN_ESC 0x0017
+
+/**
+ Reset the input device and optionally run diagnostics
+
+ @param This Protocol instance pointer.
+ @param ExtendedVerification Driver may perform diagnostics on reset.
+
+ @retval EFI_SUCCESS The device was reset.
+ @retval EFI_DEVICE_ERROR The device is not functioning properly and could not be reset.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_INPUT_RESET)(
+ IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,
+ IN BOOLEAN ExtendedVerification
+ );
+
+/**
+ Reads the next keystroke from the input device. The WaitForKey Event can
+ be used to test for existence of a keystroke via WaitForEvent () call.
+
+ @param This Protocol instance pointer.
+ @param Key A pointer to a buffer that is filled in with the keystroke
+ information for the key that was pressed.
+
+ @retval EFI_SUCCESS The keystroke information was returned.
+ @retval EFI_NOT_READY There was no keystroke data available.
+ @retval EFI_DEVICE_ERROR The keystroke information was not returned due to
+ hardware errors.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_INPUT_READ_KEY)(
+ IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,
+ OUT EFI_INPUT_KEY *Key
+ );
+
+///
+/// The EFI_SIMPLE_TEXT_INPUT_PROTOCOL is used on the ConsoleIn device.
+/// It is the minimum required protocol for ConsoleIn.
+///
+struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL {
+ EFI_INPUT_RESET Reset;
+ EFI_INPUT_READ_KEY ReadKeyStroke;
+ ///
+ /// Event to use with WaitForEvent() to wait for a key to be available
+ ///
+ EFI_EVENT WaitForKey;
+};
+
+extern EFI_GUID gEfiSimpleTextInProtocolGuid;
+
+#endif
diff --git a/sys/contrib/edk2/Include/Protocol/SimpleTextInEx.h b/sys/contrib/edk2/Include/Protocol/SimpleTextInEx.h
new file mode 100644
index 0000000..5524c72
--- /dev/null
+++ b/sys/contrib/edk2/Include/Protocol/SimpleTextInEx.h
@@ -0,0 +1,325 @@
+/** @file
+ Simple Text Input Ex protocol from the UEFI 2.0 specification.
+
+ This protocol defines an extension to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL
+ which exposes much more state and modifier information from the input device,
+ also allows one to register a notification for a particular keystroke.
+
+ Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __SIMPLE_TEXT_IN_EX_H__
+#define __SIMPLE_TEXT_IN_EX_H__
+
+#include <Protocol/SimpleTextIn.h>
+
+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
+ {0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
+
+
+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
+
+/**
+ The Reset() function resets the input device hardware. As part
+ of initialization process, the firmware/device will make a quick
+ but reasonable attempt to verify that the device is functioning.
+ If the ExtendedVerification flag is TRUE the firmware may take
+ an extended amount of time to verify the device is operating on
+ reset. Otherwise the reset operation is to occur as quickly as
+ possible. The hardware verification process is not defined by
+ this specification and is left up to the platform firmware or
+ driver to implement.
+
+ @param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
+
+ @param ExtendedVerification Indicates that the driver may
+ perform a more exhaustive
+ verification operation of the
+ device during reset.
+
+
+ @retval EFI_SUCCESS The device was reset.
+
+ @retval EFI_DEVICE_ERROR The device is not functioning
+ correctly and could not be reset.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_INPUT_RESET_EX)(
+ IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
+ IN BOOLEAN ExtendedVerification
+);
+
+
+///
+/// EFI_KEY_TOGGLE_STATE. The toggle states are defined.
+/// They are: EFI_TOGGLE_STATE_VALID, EFI_SCROLL_LOCK_ACTIVE
+/// EFI_NUM_LOCK_ACTIVE, EFI_CAPS_LOCK_ACTIVE
+///
+typedef UINT8 EFI_KEY_TOGGLE_STATE;
+
+typedef struct _EFI_KEY_STATE {
+ ///
+ /// Reflects the currently pressed shift
+ /// modifiers for the input device. The
+ /// returned value is valid only if the high
+ /// order bit has been set.
+ ///
+ UINT32 KeyShiftState;
+ ///
+ /// Reflects the current internal state of
+ /// various toggled attributes. The returned
+ /// value is valid only if the high order
+ /// bit has been set.
+ ///
+ EFI_KEY_TOGGLE_STATE KeyToggleState;
+} EFI_KEY_STATE;
+
+typedef struct {
+ ///
+ /// The EFI scan code and Unicode value returned from the input device.
+ ///
+ EFI_INPUT_KEY Key;
+ ///
+ /// The current state of various toggled attributes as well as input modifier values.
+ ///
+ EFI_KEY_STATE KeyState;
+} EFI_KEY_DATA;
+
+//
+// Any Shift or Toggle State that is valid should have
+// high order bit set.
+//
+// Shift state
+//
+#define EFI_SHIFT_STATE_VALID 0x80000000
+#define EFI_RIGHT_SHIFT_PRESSED 0x00000001
+#define EFI_LEFT_SHIFT_PRESSED 0x00000002
+#define EFI_RIGHT_CONTROL_PRESSED 0x00000004
+#define EFI_LEFT_CONTROL_PRESSED 0x00000008
+#define EFI_RIGHT_ALT_PRESSED 0x00000010
+#define EFI_LEFT_ALT_PRESSED 0x00000020
+#define EFI_RIGHT_LOGO_PRESSED 0x00000040
+#define EFI_LEFT_LOGO_PRESSED 0x00000080
+#define EFI_MENU_KEY_PRESSED 0x00000100
+#define EFI_SYS_REQ_PRESSED 0x00000200
+
+//
+// Toggle state
+//
+#define EFI_TOGGLE_STATE_VALID 0x80
+#define EFI_KEY_STATE_EXPOSED 0x40
+#define EFI_SCROLL_LOCK_ACTIVE 0x01
+#define EFI_NUM_LOCK_ACTIVE 0x02
+#define EFI_CAPS_LOCK_ACTIVE 0x04
+
+//
+// EFI Scan codes
+//
+#define SCAN_F11 0x0015
+#define SCAN_F12 0x0016
+#define SCAN_PAUSE 0x0048
+#define SCAN_F13 0x0068
+#define SCAN_F14 0x0069
+#define SCAN_F15 0x006A
+#define SCAN_F16 0x006B
+#define SCAN_F17 0x006C
+#define SCAN_F18 0x006D
+#define SCAN_F19 0x006E
+#define SCAN_F20 0x006F
+#define SCAN_F21 0x0070
+#define SCAN_F22 0x0071
+#define SCAN_F23 0x0072
+#define SCAN_F24 0x0073
+#define SCAN_MUTE 0x007F
+#define SCAN_VOLUME_UP 0x0080
+#define SCAN_VOLUME_DOWN 0x0081
+#define SCAN_BRIGHTNESS_UP 0x0100
+#define SCAN_BRIGHTNESS_DOWN 0x0101
+#define SCAN_SUSPEND 0x0102
+#define SCAN_HIBERNATE 0x0103
+#define SCAN_TOGGLE_DISPLAY 0x0104
+#define SCAN_RECOVERY 0x0105
+#define SCAN_EJECT 0x0106
+
+/**
+ The function reads the next keystroke from the input device. If
+ there is no pending keystroke the function returns
+ EFI_NOT_READY. If there is a pending keystroke, then
+ KeyData.Key.ScanCode is the EFI scan code defined in Error!
+ Reference source not found. The KeyData.Key.UnicodeChar is the
+ actual printable character or is zero if the key does not
+ represent a printable character (control key, function key,
+ etc.). The KeyData.KeyState is shift state for the character
+ reflected in KeyData.Key.UnicodeChar or KeyData.Key.ScanCode .
+ When interpreting the data from this function, it should be
+ noted that if a class of printable characters that are
+ normally adjusted by shift modifiers (e.g. Shift Key + "f"
+ key) would be presented solely as a KeyData.Key.UnicodeChar
+ without the associated shift state. So in the previous example
+ of a Shift Key + "f" key being pressed, the only pertinent
+ data returned would be KeyData.Key.UnicodeChar with the value
+ of "F". This of course would not typically be the case for
+ non-printable characters such as the pressing of the Right
+ Shift Key + F10 key since the corresponding returned data
+ would be reflected both in the KeyData.KeyState.KeyShiftState
+ and KeyData.Key.ScanCode values. UEFI drivers which implement
+ the EFI_SIMPLE_TEXT_INPUT_EX protocol are required to return
+ KeyData.Key and KeyData.KeyState values. These drivers must
+ always return the most current state of
+ KeyData.KeyState.KeyShiftState and
+ KeyData.KeyState.KeyToggleState. It should also be noted that
+ certain input devices may not be able to produce shift or toggle
+ state information, and in those cases the high order bit in the
+ respective Toggle and Shift state fields should not be active.
+
+
+ @param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
+
+ @param KeyData A pointer to a buffer that is filled in with
+ the keystroke state data for the key that was
+ pressed.
+
+
+ @retval EFI_SUCCESS The keystroke information was
+ returned.
+
+ @retval EFI_NOT_READY There was no keystroke data available.
+ EFI_DEVICE_ERROR The keystroke
+ information was not returned due to
+ hardware errors.
+
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_INPUT_READ_KEY_EX)(
+ IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
+ OUT EFI_KEY_DATA *KeyData
+);
+
+/**
+ The SetState() function allows the input device hardware to
+ have state settings adjusted.
+
+ @param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
+
+ @param KeyToggleState Pointer to the EFI_KEY_TOGGLE_STATE to
+ set the state for the input device.
+
+
+ @retval EFI_SUCCESS The device state was set appropriately.
+
+ @retval EFI_DEVICE_ERROR The device is not functioning
+ correctly and could not have the
+ setting adjusted.
+
+ @retval EFI_UNSUPPORTED The device does not support the
+ ability to have its state set.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_SET_STATE)(
+ IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
+ IN EFI_KEY_TOGGLE_STATE *KeyToggleState
+);
+
+///
+/// The function will be called when the key sequence is typed specified by KeyData.
+///
+typedef
+EFI_STATUS
+(EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
+ IN EFI_KEY_DATA *KeyData
+);
+
+/**
+ The RegisterKeystrokeNotify() function registers a function
+ which will be called when a specified keystroke will occur.
+
+ @param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
+
+ @param KeyData A pointer to a buffer that is filled in with
+ the keystroke information for the key that was
+ pressed.
+
+ @param KeyNotificationFunction Points to the function to be
+ called when the key sequence
+ is typed specified by KeyData.
+
+
+ @param NotifyHandle Points to the unique handle assigned to
+ the registered notification.
+
+ @retval EFI_SUCCESS The device state was set
+ appropriately.
+
+ @retval EFI_OUT_OF_RESOURCES Unable to allocate necessary
+ data structures.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
+ IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
+ IN EFI_KEY_DATA *KeyData,
+ IN EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
+ OUT VOID **NotifyHandle
+);
+
+/**
+ The UnregisterKeystrokeNotify() function removes the
+ notification which was previously registered.
+
+ @param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
+
+ @param NotificationHandle The handle of the notification
+ function being unregistered.
+
+ @retval EFI_SUCCESS The device state was set appropriately.
+
+ @retval EFI_INVALID_PARAMETER The NotificationHandle is
+ invalid.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
+ IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
+ IN VOID *NotificationHandle
+);
+
+
+///
+/// The EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL is used on the ConsoleIn
+/// device. It is an extension to the Simple Text Input protocol
+/// which allows a variety of extended shift state information to be
+/// returned.
+///
+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL{
+ EFI_INPUT_RESET_EX Reset;
+ EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
+ ///
+ /// Event to use with WaitForEvent() to wait for a key to be available.
+ ///
+ EFI_EVENT WaitForKeyEx;
+ EFI_SET_STATE SetState;
+ EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
+ EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
+};
+
+
+extern EFI_GUID gEfiSimpleTextInputExProtocolGuid;
+
+#endif
+
diff --git a/sys/contrib/edk2/Include/Protocol/SimpleTextOut.h b/sys/contrib/edk2/Include/Protocol/SimpleTextOut.h
new file mode 100644
index 0000000..4d2612c
--- /dev/null
+++ b/sys/contrib/edk2/Include/Protocol/SimpleTextOut.h
@@ -0,0 +1,415 @@
+/** @file
+ Simple Text Out protocol from the UEFI 2.0 specification.
+
+ Abstraction of a very simple text based output device like VGA text mode or
+ a serial terminal. The Simple Text Out protocol instance can represent
+ a single hardware device or a virtual device that is an aggregation
+ of multiple physical devices.
+
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __SIMPLE_TEXT_OUT_H__
+#define __SIMPLE_TEXT_OUT_H__
+
+#define EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID \
+ { \
+ 0x387477c2, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
+ }
+
+///
+/// Protocol GUID defined in EFI1.1.
+///
+#define SIMPLE_TEXT_OUTPUT_PROTOCOL EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID
+
+typedef struct _EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL;
+
+///
+/// Backward-compatible with EFI1.1.
+///
+typedef EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SIMPLE_TEXT_OUTPUT_INTERFACE;
+
+//
+// Define's for required EFI Unicode Box Draw characters
+//
+#define BOXDRAW_HORIZONTAL 0x2500
+#define BOXDRAW_VERTICAL 0x2502
+#define BOXDRAW_DOWN_RIGHT 0x250c
+#define BOXDRAW_DOWN_LEFT 0x2510
+#define BOXDRAW_UP_RIGHT 0x2514
+#define BOXDRAW_UP_LEFT 0x2518
+#define BOXDRAW_VERTICAL_RIGHT 0x251c
+#define BOXDRAW_VERTICAL_LEFT 0x2524
+#define BOXDRAW_DOWN_HORIZONTAL 0x252c
+#define BOXDRAW_UP_HORIZONTAL 0x2534
+#define BOXDRAW_VERTICAL_HORIZONTAL 0x253c
+#define BOXDRAW_DOUBLE_HORIZONTAL 0x2550
+#define BOXDRAW_DOUBLE_VERTICAL 0x2551
+#define BOXDRAW_DOWN_RIGHT_DOUBLE 0x2552
+#define BOXDRAW_DOWN_DOUBLE_RIGHT 0x2553
+#define BOXDRAW_DOUBLE_DOWN_RIGHT 0x2554
+#define BOXDRAW_DOWN_LEFT_DOUBLE 0x2555
+#define BOXDRAW_DOWN_DOUBLE_LEFT 0x2556
+#define BOXDRAW_DOUBLE_DOWN_LEFT 0x2557
+#define BOXDRAW_UP_RIGHT_DOUBLE 0x2558
+#define BOXDRAW_UP_DOUBLE_RIGHT 0x2559
+#define BOXDRAW_DOUBLE_UP_RIGHT 0x255a
+#define BOXDRAW_UP_LEFT_DOUBLE 0x255b
+#define BOXDRAW_UP_DOUBLE_LEFT 0x255c
+#define BOXDRAW_DOUBLE_UP_LEFT 0x255d
+#define BOXDRAW_VERTICAL_RIGHT_DOUBLE 0x255e
+#define BOXDRAW_VERTICAL_DOUBLE_RIGHT 0x255f
+#define BOXDRAW_DOUBLE_VERTICAL_RIGHT 0x2560
+#define BOXDRAW_VERTICAL_LEFT_DOUBLE 0x2561
+#define BOXDRAW_VERTICAL_DOUBLE_LEFT 0x2562
+#define BOXDRAW_DOUBLE_VERTICAL_LEFT 0x2563
+#define BOXDRAW_DOWN_HORIZONTAL_DOUBLE 0x2564
+#define BOXDRAW_DOWN_DOUBLE_HORIZONTAL 0x2565
+#define BOXDRAW_DOUBLE_DOWN_HORIZONTAL 0x2566
+#define BOXDRAW_UP_HORIZONTAL_DOUBLE 0x2567
+#define BOXDRAW_UP_DOUBLE_HORIZONTAL 0x2568
+#define BOXDRAW_DOUBLE_UP_HORIZONTAL 0x2569
+#define BOXDRAW_VERTICAL_HORIZONTAL_DOUBLE 0x256a
+#define BOXDRAW_VERTICAL_DOUBLE_HORIZONTAL 0x256b
+#define BOXDRAW_DOUBLE_VERTICAL_HORIZONTAL 0x256c
+
+//
+// EFI Required Block Elements Code Chart
+//
+#define BLOCKELEMENT_FULL_BLOCK 0x2588
+#define BLOCKELEMENT_LIGHT_SHADE 0x2591
+
+//
+// EFI Required Geometric Shapes Code Chart
+//
+#define GEOMETRICSHAPE_UP_TRIANGLE 0x25b2
+#define GEOMETRICSHAPE_RIGHT_TRIANGLE 0x25ba
+#define GEOMETRICSHAPE_DOWN_TRIANGLE 0x25bc
+#define GEOMETRICSHAPE_LEFT_TRIANGLE 0x25c4
+
+//
+// EFI Required Arrow shapes
+//
+#define ARROW_LEFT 0x2190
+#define ARROW_UP 0x2191
+#define ARROW_RIGHT 0x2192
+#define ARROW_DOWN 0x2193
+
+//
+// EFI Console Colours
+//
+#define EFI_BLACK 0x00
+#define EFI_BLUE 0x01
+#define EFI_GREEN 0x02
+#define EFI_CYAN (EFI_BLUE | EFI_GREEN)
+#define EFI_RED 0x04
+#define EFI_MAGENTA (EFI_BLUE | EFI_RED)
+#define EFI_BROWN (EFI_GREEN | EFI_RED)
+#define EFI_LIGHTGRAY (EFI_BLUE | EFI_GREEN | EFI_RED)
+#define EFI_BRIGHT 0x08
+#define EFI_DARKGRAY (EFI_BLACK | EFI_BRIGHT)
+#define EFI_LIGHTBLUE (EFI_BLUE | EFI_BRIGHT)
+#define EFI_LIGHTGREEN (EFI_GREEN | EFI_BRIGHT)
+#define EFI_LIGHTCYAN (EFI_CYAN | EFI_BRIGHT)
+#define EFI_LIGHTRED (EFI_RED | EFI_BRIGHT)
+#define EFI_LIGHTMAGENTA (EFI_MAGENTA | EFI_BRIGHT)
+#define EFI_YELLOW (EFI_BROWN | EFI_BRIGHT)
+#define EFI_WHITE (EFI_BLUE | EFI_GREEN | EFI_RED | EFI_BRIGHT)
+
+//
+// Macro to accept color values in their raw form to create
+// a value that represents both a foreground and background
+// color in a single byte.
+// For Foreground, and EFI_* value is valid from EFI_BLACK(0x00) to
+// EFI_WHITE (0x0F).
+// For Background, only EFI_BLACK, EFI_BLUE, EFI_GREEN, EFI_CYAN,
+// EFI_RED, EFI_MAGENTA, EFI_BROWN, and EFI_LIGHTGRAY are acceptable
+//
+// Do not use EFI_BACKGROUND_xxx values with this macro.
+//
+#define EFI_TEXT_ATTR(Foreground,Background) ((Foreground) | ((Background) << 4))
+
+#define EFI_BACKGROUND_BLACK 0x00
+#define EFI_BACKGROUND_BLUE 0x10
+#define EFI_BACKGROUND_GREEN 0x20
+#define EFI_BACKGROUND_CYAN (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_GREEN)
+#define EFI_BACKGROUND_RED 0x40
+#define EFI_BACKGROUND_MAGENTA (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_RED)
+#define EFI_BACKGROUND_BROWN (EFI_BACKGROUND_GREEN | EFI_BACKGROUND_RED)
+#define EFI_BACKGROUND_LIGHTGRAY (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_GREEN | EFI_BACKGROUND_RED)
+
+//
+// We currently define attributes from 0 - 7F for color manipulations
+// To internally handle the local display characteristics for a particular character,
+// Bit 7 signifies the local glyph representation for a character. If turned on, glyphs will be
+// pulled from the wide glyph database and will display locally as a wide character (16 X 19 versus 8 X 19)
+// If bit 7 is off, the narrow glyph database will be used. This does NOT affect information that is sent to
+// non-local displays, such as serial or LAN consoles.
+//
+#define EFI_WIDE_ATTRIBUTE 0x80
+
+/**
+ Reset the text output device hardware and optionaly run diagnostics
+
+ @param This The protocol instance pointer.
+ @param ExtendedVerification Driver may perform more exhaustive verification
+ operation of the device during reset.
+
+ @retval EFI_SUCCESS The text output device was reset.
+ @retval EFI_DEVICE_ERROR The text output device is not functioning correctly and
+ could not be reset.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_TEXT_RESET)(
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
+ IN BOOLEAN ExtendedVerification
+ );
+
+/**
+ Write a string to the output device.
+
+ @param This The protocol instance pointer.
+ @param String The NULL-terminated string to be displayed on the output
+ device(s). All output devices must also support the Unicode
+ drawing character codes defined in this file.
+
+ @retval EFI_SUCCESS The string was output to the device.
+ @retval EFI_DEVICE_ERROR The device reported an error while attempting to output
+ the text.
+ @retval EFI_UNSUPPORTED The output device's mode is not currently in a
+ defined text mode.
+ @retval EFI_WARN_UNKNOWN_GLYPH This warning code indicates that some of the
+ characters in the string could not be
+ rendered and were skipped.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_TEXT_STRING)(
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
+ IN CHAR16 *String
+ );
+
+/**
+ Verifies that all characters in a string can be output to the
+ target device.
+
+ @param This The protocol instance pointer.
+ @param String The NULL-terminated string to be examined for the output
+ device(s).
+
+ @retval EFI_SUCCESS The device(s) are capable of rendering the output string.
+ @retval EFI_UNSUPPORTED Some of the characters in the string cannot be
+ rendered by one or more of the output devices mapped
+ by the EFI handle.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_TEXT_TEST_STRING)(
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
+ IN CHAR16 *String
+ );
+
+/**
+ Returns information for an available text mode that the output device(s)
+ supports.
+
+ @param This The protocol instance pointer.
+ @param ModeNumber The mode number to return information on.
+ @param Columns Returns the geometry of the text output device for the
+ requested ModeNumber.
+ @param Rows Returns the geometry of the text output device for the
+ requested ModeNumber.
+
+ @retval EFI_SUCCESS The requested mode information was returned.
+ @retval EFI_DEVICE_ERROR The device had an error and could not complete the request.
+ @retval EFI_UNSUPPORTED The mode number was not valid.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_TEXT_QUERY_MODE)(
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
+ IN UINTN ModeNumber,
+ OUT UINTN *Columns,
+ OUT UINTN *Rows
+ );
+
+/**
+ Sets the output device(s) to a specified mode.
+
+ @param This The protocol instance pointer.
+ @param ModeNumber The mode number to set.
+
+ @retval EFI_SUCCESS The requested text mode was set.
+ @retval EFI_DEVICE_ERROR The device had an error and could not complete the request.
+ @retval EFI_UNSUPPORTED The mode number was not valid.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_TEXT_SET_MODE)(
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
+ IN UINTN ModeNumber
+ );
+
+/**
+ Sets the background and foreground colors for the OutputString () and
+ ClearScreen () functions.
+
+ @param This The protocol instance pointer.
+ @param Attribute The attribute to set. Bits 0..3 are the foreground color, and
+ bits 4..6 are the background color. All other bits are undefined
+ and must be zero. The valid Attributes are defined in this file.
+
+ @retval EFI_SUCCESS The attribute was set.
+ @retval EFI_DEVICE_ERROR The device had an error and could not complete the request.
+ @retval EFI_UNSUPPORTED The attribute requested is not defined.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_TEXT_SET_ATTRIBUTE)(
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
+ IN UINTN Attribute
+ );
+
+/**
+ Clears the output device(s) display to the currently selected background
+ color.
+
+ @param This The protocol instance pointer.
+
+ @retval EFI_SUCCESS The operation completed successfully.
+ @retval EFI_DEVICE_ERROR The device had an error and could not complete the request.
+ @retval EFI_UNSUPPORTED The output device is not in a valid text mode.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_TEXT_CLEAR_SCREEN)(
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This
+ );
+
+/**
+ Sets the current coordinates of the cursor position
+
+ @param This The protocol instance pointer.
+ @param Column The position to set the cursor to. Must be greater than or
+ equal to zero and less than the number of columns and rows
+ by QueryMode ().
+ @param Row The position to set the cursor to. Must be greater than or
+ equal to zero and less than the number of columns and rows
+ by QueryMode ().
+
+ @retval EFI_SUCCESS The operation completed successfully.
+ @retval EFI_DEVICE_ERROR The device had an error and could not complete the request.
+ @retval EFI_UNSUPPORTED The output device is not in a valid text mode, or the
+ cursor position is invalid for the current mode.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_TEXT_SET_CURSOR_POSITION)(
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
+ IN UINTN Column,
+ IN UINTN Row
+ );
+
+/**
+ Makes the cursor visible or invisible
+
+ @param This The protocol instance pointer.
+ @param Visible If TRUE, the cursor is set to be visible. If FALSE, the cursor is
+ set to be invisible.
+
+ @retval EFI_SUCCESS The operation completed successfully.
+ @retval EFI_DEVICE_ERROR The device had an error and could not complete the
+ request, or the device does not support changing
+ the cursor mode.
+ @retval EFI_UNSUPPORTED The output device is not in a valid text mode.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_TEXT_ENABLE_CURSOR)(
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
+ IN BOOLEAN Visible
+ );
+
+/**
+ @par Data Structure Description:
+ Mode Structure pointed to by Simple Text Out protocol.
+**/
+typedef struct {
+ ///
+ /// The number of modes supported by QueryMode () and SetMode ().
+ ///
+ INT32 MaxMode;
+
+ //
+ // current settings
+ //
+
+ ///
+ /// The text mode of the output device(s).
+ ///
+ INT32 Mode;
+ ///
+ /// The current character output attribute.
+ ///
+ INT32 Attribute;
+ ///
+ /// The cursor's column.
+ ///
+ INT32 CursorColumn;
+ ///
+ /// The cursor's row.
+ ///
+ INT32 CursorRow;
+ ///
+ /// The cursor is currently visbile or not.
+ ///
+ BOOLEAN CursorVisible;
+} EFI_SIMPLE_TEXT_OUTPUT_MODE;
+
+///
+/// The SIMPLE_TEXT_OUTPUT protocol is used to control text-based output devices.
+/// It is the minimum required protocol for any handle supplied as the ConsoleOut
+/// or StandardError device. In addition, the minimum supported text mode of such
+/// devices is at least 80 x 25 characters.
+///
+struct _EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL {
+ EFI_TEXT_RESET Reset;
+
+ EFI_TEXT_STRING OutputString;
+ EFI_TEXT_TEST_STRING TestString;
+
+ EFI_TEXT_QUERY_MODE QueryMode;
+ EFI_TEXT_SET_MODE SetMode;
+ EFI_TEXT_SET_ATTRIBUTE SetAttribute;
+
+ EFI_TEXT_CLEAR_SCREEN ClearScreen;
+ EFI_TEXT_SET_CURSOR_POSITION SetCursorPosition;
+ EFI_TEXT_ENABLE_CURSOR EnableCursor;
+
+ ///
+ /// Pointer to SIMPLE_TEXT_OUTPUT_MODE data.
+ ///
+ EFI_SIMPLE_TEXT_OUTPUT_MODE *Mode;
+};
+
+extern EFI_GUID gEfiSimpleTextOutProtocolGuid;
+
+#endif
diff --git a/sys/contrib/edk2/Include/Uefi.h b/sys/contrib/edk2/Include/Uefi.h
new file mode 100644
index 0000000..4b21013
--- /dev/null
+++ b/sys/contrib/edk2/Include/Uefi.h
@@ -0,0 +1,27 @@
+/** @file
+
+ Root include file for Mde Package UEFI, UEFI_APPLICATION type modules.
+
+ This is the include file for any module of type UEFI and UEFI_APPLICATION. Uefi modules only use
+ types defined via this include file and can be ported easily to any
+ environment.
+
+Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __PI_UEFI_H__
+#define __PI_UEFI_H__
+
+#include <Uefi/UefiBaseType.h>
+#include <Uefi/UefiSpec.h>
+
+#endif
+
diff --git a/sys/contrib/edk2/Include/Uefi/UefiBaseType.h b/sys/contrib/edk2/Include/Uefi/UefiBaseType.h
new file mode 100644
index 0000000..32b39c9
--- /dev/null
+++ b/sys/contrib/edk2/Include/Uefi/UefiBaseType.h
@@ -0,0 +1,299 @@
+/** @file
+ Defines data types and constants introduced in UEFI.
+
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
+Portions copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.<BR>
+
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __UEFI_BASETYPE_H__
+#define __UEFI_BASETYPE_H__
+
+#include <Base.h>
+
+//
+// Basic data type definitions introduced in UEFI.
+//
+
+///
+/// 128-bit buffer containing a unique identifier value.
+///
+typedef GUID EFI_GUID;
+///
+/// Function return status for EFI API.
+///
+typedef RETURN_STATUS EFI_STATUS;
+///
+/// A collection of related interfaces.
+///
+typedef VOID *EFI_HANDLE;
+///
+/// Handle to an event structure.
+///
+typedef VOID *EFI_EVENT;
+///
+/// Task priority level.
+///
+typedef UINTN EFI_TPL;
+///
+/// Logical block address.
+///
+typedef UINT64 EFI_LBA;
+
+///
+/// 64-bit physical memory address.
+///
+typedef UINT64 EFI_PHYSICAL_ADDRESS;
+
+///
+/// 64-bit virtual memory address.
+///
+typedef UINT64 EFI_VIRTUAL_ADDRESS;
+
+///
+/// EFI Time Abstraction:
+/// Year: 1900 - 9999
+/// Month: 1 - 12
+/// Day: 1 - 31
+/// Hour: 0 - 23
+/// Minute: 0 - 59
+/// Second: 0 - 59
+/// Nanosecond: 0 - 999,999,999
+/// TimeZone: -1440 to 1440 or 2047
+///
+typedef struct {
+ UINT16 Year;
+ UINT8 Month;
+ UINT8 Day;
+ UINT8 Hour;
+ UINT8 Minute;
+ UINT8 Second;
+ UINT8 Pad1;
+ UINT32 Nanosecond;
+ INT16 TimeZone;
+ UINT8 Daylight;
+ UINT8 Pad2;
+} EFI_TIME;
+
+
+///
+/// 4-byte buffer. An IPv4 internet protocol address.
+///
+typedef IPv4_ADDRESS EFI_IPv4_ADDRESS;
+
+///
+/// 16-byte buffer. An IPv6 internet protocol address.
+///
+typedef IPv6_ADDRESS EFI_IPv6_ADDRESS;
+
+///
+/// 32-byte buffer containing a network Media Access Control address.
+///
+typedef struct {
+ UINT8 Addr[32];
+} EFI_MAC_ADDRESS;
+
+///
+/// 16-byte buffer aligned on a 4-byte boundary.
+/// An IPv4 or IPv6 internet protocol address.
+///
+typedef union {
+ UINT32 Addr[4];
+ EFI_IPv4_ADDRESS v4;
+ EFI_IPv6_ADDRESS v6;
+} EFI_IP_ADDRESS;
+
+
+///
+/// Enumeration of EFI_STATUS.
+///@{
+#define EFI_SUCCESS RETURN_SUCCESS
+#define EFI_LOAD_ERROR RETURN_LOAD_ERROR
+#define EFI_INVALID_PARAMETER RETURN_INVALID_PARAMETER
+#define EFI_UNSUPPORTED RETURN_UNSUPPORTED
+#define EFI_BAD_BUFFER_SIZE RETURN_BAD_BUFFER_SIZE
+#define EFI_BUFFER_TOO_SMALL RETURN_BUFFER_TOO_SMALL
+#define EFI_NOT_READY RETURN_NOT_READY
+#define EFI_DEVICE_ERROR RETURN_DEVICE_ERROR
+#define EFI_WRITE_PROTECTED RETURN_WRITE_PROTECTED
+#define EFI_OUT_OF_RESOURCES RETURN_OUT_OF_RESOURCES
+#define EFI_VOLUME_CORRUPTED RETURN_VOLUME_CORRUPTED
+#define EFI_VOLUME_FULL RETURN_VOLUME_FULL
+#define EFI_NO_MEDIA RETURN_NO_MEDIA
+#define EFI_MEDIA_CHANGED RETURN_MEDIA_CHANGED
+#define EFI_NOT_FOUND RETURN_NOT_FOUND
+#define EFI_ACCESS_DENIED RETURN_ACCESS_DENIED
+#define EFI_NO_RESPONSE RETURN_NO_RESPONSE
+#define EFI_NO_MAPPING RETURN_NO_MAPPING
+#define EFI_TIMEOUT RETURN_TIMEOUT
+#define EFI_NOT_STARTED RETURN_NOT_STARTED
+#define EFI_ALREADY_STARTED RETURN_ALREADY_STARTED
+#define EFI_ABORTED RETURN_ABORTED
+#define EFI_ICMP_ERROR RETURN_ICMP_ERROR
+#define EFI_TFTP_ERROR RETURN_TFTP_ERROR
+#define EFI_PROTOCOL_ERROR RETURN_PROTOCOL_ERROR
+#define EFI_INCOMPATIBLE_VERSION RETURN_INCOMPATIBLE_VERSION
+#define EFI_SECURITY_VIOLATION RETURN_SECURITY_VIOLATION
+#define EFI_CRC_ERROR RETURN_CRC_ERROR
+#define EFI_END_OF_MEDIA RETURN_END_OF_MEDIA
+#define EFI_END_OF_FILE RETURN_END_OF_FILE
+#define EFI_INVALID_LANGUAGE RETURN_INVALID_LANGUAGE
+#define EFI_COMPROMISED_DATA RETURN_COMPROMISED_DATA
+#define EFI_HTTP_ERROR RETURN_HTTP_ERROR
+
+#define EFI_WARN_UNKNOWN_GLYPH RETURN_WARN_UNKNOWN_GLYPH
+#define EFI_WARN_DELETE_FAILURE RETURN_WARN_DELETE_FAILURE
+#define EFI_WARN_WRITE_FAILURE RETURN_WARN_WRITE_FAILURE
+#define EFI_WARN_BUFFER_TOO_SMALL RETURN_WARN_BUFFER_TOO_SMALL
+#define EFI_WARN_STALE_DATA RETURN_WARN_STALE_DATA
+#define EFI_WARN_FILE_SYSTEM RETURN_WARN_FILE_SYSTEM
+///@}
+
+///
+/// Define macro to encode the status code.
+///
+#define EFIERR(_a) ENCODE_ERROR(_a)
+
+#define EFI_ERROR(A) RETURN_ERROR(A)
+
+///
+/// ICMP error definitions
+///@{
+#define EFI_NETWORK_UNREACHABLE EFIERR(100)
+#define EFI_HOST_UNREACHABLE EFIERR(101)
+#define EFI_PROTOCOL_UNREACHABLE EFIERR(102)
+#define EFI_PORT_UNREACHABLE EFIERR(103)
+///@}
+
+///
+/// Tcp connection status definitions
+///@{
+#define EFI_CONNECTION_FIN EFIERR(104)
+#define EFI_CONNECTION_RESET EFIERR(105)
+#define EFI_CONNECTION_REFUSED EFIERR(106)
+///@}
+
+//
+// The EFI memory allocation functions work in units of EFI_PAGEs that are
+// 4KB. This should in no way be confused with the page size of the processor.
+// An EFI_PAGE is just the quanta of memory in EFI.
+//
+#define EFI_PAGE_SIZE SIZE_4KB
+#define EFI_PAGE_MASK 0xFFF
+#define EFI_PAGE_SHIFT 12
+
+/**
+ Macro that converts a size, in bytes, to a number of EFI_PAGESs.
+
+ @param Size A size in bytes. This parameter is assumed to be type UINTN.
+ Passing in a parameter that is larger than UINTN may produce
+ unexpected results.
+
+ @return The number of EFI_PAGESs associated with the number of bytes specified
+ by Size.
+
+**/
+#define EFI_SIZE_TO_PAGES(Size) (((Size) >> EFI_PAGE_SHIFT) + (((Size) & EFI_PAGE_MASK) ? 1 : 0))
+
+/**
+ Macro that converts a number of EFI_PAGEs to a size in bytes.
+
+ @param Pages The number of EFI_PAGES. This parameter is assumed to be
+ type UINTN. Passing in a parameter that is larger than
+ UINTN may produce unexpected results.
+
+ @return The number of bytes associated with the number of EFI_PAGEs specified
+ by Pages.
+
+**/
+#define EFI_PAGES_TO_SIZE(Pages) ((Pages) << EFI_PAGE_SHIFT)
+
+///
+/// PE32+ Machine type for IA32 UEFI images.
+///
+#define EFI_IMAGE_MACHINE_IA32 0x014C
+
+///
+/// PE32+ Machine type for IA64 UEFI images.
+///
+#define EFI_IMAGE_MACHINE_IA64 0x0200
+
+///
+/// PE32+ Machine type for EBC UEFI images.
+///
+#define EFI_IMAGE_MACHINE_EBC 0x0EBC
+
+///
+/// PE32+ Machine type for X64 UEFI images.
+///
+#define EFI_IMAGE_MACHINE_X64 0x8664
+
+///
+/// PE32+ Machine type for ARM mixed ARM and Thumb/Thumb2 images.
+///
+#define EFI_IMAGE_MACHINE_ARMTHUMB_MIXED 0x01C2
+
+///
+/// PE32+ Machine type for AARCH64 A64 images.
+///
+#define EFI_IMAGE_MACHINE_AARCH64 0xAA64
+
+
+#if defined (MDE_CPU_IA32)
+
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
+ (((Machine) == EFI_IMAGE_MACHINE_IA32) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
+
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_X64)
+
+#elif defined (MDE_CPU_IPF)
+
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
+ (((Machine) == EFI_IMAGE_MACHINE_IA64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
+
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
+
+#elif defined (MDE_CPU_X64)
+
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
+ (((Machine) == EFI_IMAGE_MACHINE_X64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
+
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_IA32)
+
+#elif defined (MDE_CPU_ARM)
+
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
+ (((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
+
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)
+
+#elif defined (MDE_CPU_AARCH64)
+
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
+ (((Machine) == EFI_IMAGE_MACHINE_AARCH64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
+
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
+
+#elif defined (MDE_CPU_EBC)
+
+///
+/// This is just to make sure you can cross compile with the EBC compiler.
+/// It does not make sense to have a PE loader coded in EBC.
+///
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_EBC)
+
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
+
+#else
+#error Unknown Processor Type
+#endif
+
+#endif
diff --git a/sys/contrib/edk2/Include/Uefi/UefiGpt.h b/sys/contrib/edk2/Include/Uefi/UefiGpt.h
new file mode 100644
index 0000000..aa3c9be
--- /dev/null
+++ b/sys/contrib/edk2/Include/Uefi/UefiGpt.h
@@ -0,0 +1,141 @@
+/** @file
+ EFI Guid Partition Table Format Definition.
+
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __UEFI_GPT_H__
+#define __UEFI_GPT_H__
+
+///
+/// The primary GUID Partition Table Header must be
+/// located in LBA 1 (i.e., the second logical block).
+///
+#define PRIMARY_PART_HEADER_LBA 1
+///
+/// EFI Partition Table Signature: "EFI PART".
+///
+#define EFI_PTAB_HEADER_ID SIGNATURE_64 ('E','F','I',' ','P','A','R','T')
+
+#pragma pack(1)
+
+///
+/// GPT Partition Table Header.
+///
+typedef struct {
+ ///
+ /// The table header for the GPT partition Table.
+ /// This header contains EFI_PTAB_HEADER_ID.
+ ///
+ EFI_TABLE_HEADER Header;
+ ///
+ /// The LBA that contains this data structure.
+ ///
+ EFI_LBA MyLBA;
+ ///
+ /// LBA address of the alternate GUID Partition Table Header.
+ ///
+ EFI_LBA AlternateLBA;
+ ///
+ /// The first usable logical block that may be used
+ /// by a partition described by a GUID Partition Entry.
+ ///
+ EFI_LBA FirstUsableLBA;
+ ///
+ /// The last usable logical block that may be used
+ /// by a partition described by a GUID Partition Entry.
+ ///
+ EFI_LBA LastUsableLBA;
+ ///
+ /// GUID that can be used to uniquely identify the disk.
+ ///
+ EFI_GUID DiskGUID;
+ ///
+ /// The starting LBA of the GUID Partition Entry array.
+ ///
+ EFI_LBA PartitionEntryLBA;
+ ///
+ /// The number of Partition Entries in the GUID Partition Entry array.
+ ///
+ UINT32 NumberOfPartitionEntries;
+ ///
+ /// The size, in bytes, of each the GUID Partition
+ /// Entry structures in the GUID Partition Entry
+ /// array. This field shall be set to a value of 128 x 2^n where n is
+ /// an integer greater than or equal to zero (e.g., 128, 256, 512, etc.).
+ ///
+ UINT32 SizeOfPartitionEntry;
+ ///
+ /// The CRC32 of the GUID Partition Entry array.
+ /// Starts at PartitionEntryLBA and is
+ /// computed over a byte length of
+ /// NumberOfPartitionEntries * SizeOfPartitionEntry.
+ ///
+ UINT32 PartitionEntryArrayCRC32;
+} EFI_PARTITION_TABLE_HEADER;
+
+///
+/// GPT Partition Entry.
+///
+typedef struct {
+ ///
+ /// Unique ID that defines the purpose and type of this Partition. A value of
+ /// zero defines that this partition entry is not being used.
+ ///
+ EFI_GUID PartitionTypeGUID;
+ ///
+ /// GUID that is unique for every partition entry. Every partition ever
+ /// created will have a unique GUID.
+ /// This GUID must be assigned when the GUID Partition Entry is created.
+ ///
+ EFI_GUID UniquePartitionGUID;
+ ///
+ /// Starting LBA of the partition defined by this entry
+ ///
+ EFI_LBA StartingLBA;
+ ///
+ /// Ending LBA of the partition defined by this entry.
+ ///
+ EFI_LBA EndingLBA;
+ ///
+ /// Attribute bits, all bits reserved by UEFI
+ /// Bit 0: If this bit is set, the partition is required for the platform to function. The owner/creator of the
+ /// partition indicates that deletion or modification of the contents can result in loss of platform
+ /// features or failure for the platform to boot or operate. The system cannot function normally if
+ /// this partition is removed, and it should be considered part of the hardware of the system.
+ /// Actions such as running diagnostics, system recovery, or even OS install or boot, could
+ /// potentially stop working if this partition is removed. Unless OS software or firmware
+ /// recognizes this partition, it should never be removed or modified as the UEFI firmware or
+ /// platform hardware may become non-functional.
+ /// Bit 1: If this bit is set, then firmware must not produce an EFI_BLOCK_IO_PROTOCOL device for
+ /// this partition. By not producing an EFI_BLOCK_IO_PROTOCOL partition, file system
+ /// mappings will not be created for this partition in UEFI.
+ /// Bit 2: This bit is set aside to let systems with traditional PC-AT BIOS firmware implementations
+ /// inform certain limited, special-purpose software running on these systems that a GPT
+ /// partition may be bootable. The UEFI boot manager must ignore this bit when selecting
+ /// a UEFI-compliant application, e.g., an OS loader.
+ /// Bits 3-47: Undefined and must be zero. Reserved for expansion by future versions of the UEFI
+ /// specification.
+ /// Bits 48-63: Reserved for GUID specific use. The use of these bits will vary depending on the
+ /// PartitionTypeGUID. Only the owner of the PartitionTypeGUID is allowed
+ /// to modify these bits. They must be preserved if Bits 0-47 are modified..
+ ///
+ UINT64 Attributes;
+ ///
+ /// Null-terminated name of the partition.
+ ///
+ CHAR16 PartitionName[36];
+} EFI_PARTITION_ENTRY;
+
+#pragma pack()
+#endif
+
+
diff --git a/sys/contrib/edk2/Include/Uefi/UefiInternalFormRepresentation.h b/sys/contrib/edk2/Include/Uefi/UefiInternalFormRepresentation.h
new file mode 100644
index 0000000..389c12c
--- /dev/null
+++ b/sys/contrib/edk2/Include/Uefi/UefiInternalFormRepresentation.h
@@ -0,0 +1,2135 @@
+/** @file
+ This file defines the encoding for the VFR (Visual Form Representation) language.
+ IFR is primarily consumed by the EFI presentation engine, and produced by EFI
+ internal application and drivers as well as all add-in card option-ROM drivers
+
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ @par Revision Reference:
+ These definitions are from UEFI 2.1 and 2.2.
+
+**/
+
+#ifndef __UEFI_INTERNAL_FORMREPRESENTATION_H__
+#define __UEFI_INTERNAL_FORMREPRESENTATION_H__
+
+#include <Guid/HiiFormMapMethodGuid.h>
+
+///
+/// The following types are currently defined:
+///
+typedef VOID* EFI_HII_HANDLE;
+typedef CHAR16* EFI_STRING;
+typedef UINT16 EFI_IMAGE_ID;
+typedef UINT16 EFI_QUESTION_ID;
+typedef UINT16 EFI_STRING_ID;
+typedef UINT16 EFI_FORM_ID;
+typedef UINT16 EFI_VARSTORE_ID;
+typedef UINT16 EFI_ANIMATION_ID;
+
+typedef UINT16 EFI_DEFAULT_ID;
+
+typedef UINT32 EFI_HII_FONT_STYLE;
+
+
+
+#pragma pack(1)
+
+//
+// Definitions for Package Lists and Package Headers
+// Section 27.3.1
+//
+
+///
+/// The header found at the start of each package list.
+///
+typedef struct {
+ EFI_GUID PackageListGuid;
+ UINT32 PackageLength;
+} EFI_HII_PACKAGE_LIST_HEADER;
+
+///
+/// The header found at the start of each package.
+///
+typedef struct {
+ UINT32 Length:24;
+ UINT32 Type:8;
+ // UINT8 Data[...];
+} EFI_HII_PACKAGE_HEADER;
+
+//
+// Value of HII package type
+//
+#define EFI_HII_PACKAGE_TYPE_ALL 0x00
+#define EFI_HII_PACKAGE_TYPE_GUID 0x01
+#define EFI_HII_PACKAGE_FORMS 0x02
+#define EFI_HII_PACKAGE_STRINGS 0x04
+#define EFI_HII_PACKAGE_FONTS 0x05
+#define EFI_HII_PACKAGE_IMAGES 0x06
+#define EFI_HII_PACKAGE_SIMPLE_FONTS 0x07
+#define EFI_HII_PACKAGE_DEVICE_PATH 0x08
+#define EFI_HII_PACKAGE_KEYBOARD_LAYOUT 0x09
+#define EFI_HII_PACKAGE_ANIMATIONS 0x0A
+#define EFI_HII_PACKAGE_END 0xDF
+#define EFI_HII_PACKAGE_TYPE_SYSTEM_BEGIN 0xE0
+#define EFI_HII_PACKAGE_TYPE_SYSTEM_END 0xFF
+
+//
+// Definitions for Simplified Font Package
+//
+
+///
+/// Contents of EFI_NARROW_GLYPH.Attributes.
+///@{
+#define EFI_GLYPH_NON_SPACING 0x01
+#define EFI_GLYPH_WIDE 0x02
+#define EFI_GLYPH_HEIGHT 19
+#define EFI_GLYPH_WIDTH 8
+///@}
+
+///
+/// The EFI_NARROW_GLYPH has a preferred dimension (w x h) of 8 x 19 pixels.
+///
+typedef struct {
+ ///
+ /// The Unicode representation of the glyph. The term weight is the
+ /// technical term for a character code.
+ ///
+ CHAR16 UnicodeWeight;
+ ///
+ /// The data element containing the glyph definitions.
+ ///
+ UINT8 Attributes;
+ ///
+ /// The column major glyph representation of the character. Bits
+ /// with values of one indicate that the corresponding pixel is to be
+ /// on when normally displayed; those with zero are off.
+ ///
+ UINT8 GlyphCol1[EFI_GLYPH_HEIGHT];
+} EFI_NARROW_GLYPH;
+
+///
+/// The EFI_WIDE_GLYPH has a preferred dimension (w x h) of 16 x 19 pixels, which is large enough
+/// to accommodate logographic characters.
+///
+typedef struct {
+ ///
+ /// The Unicode representation of the glyph. The term weight is the
+ /// technical term for a character code.
+ ///
+ CHAR16 UnicodeWeight;
+ ///
+ /// The data element containing the glyph definitions.
+ ///
+ UINT8 Attributes;
+ ///
+ /// The column major glyph representation of the character. Bits
+ /// with values of one indicate that the corresponding pixel is to be
+ /// on when normally displayed; those with zero are off.
+ ///
+ UINT8 GlyphCol1[EFI_GLYPH_HEIGHT];
+ ///
+ /// The column major glyph representation of the character. Bits
+ /// with values of one indicate that the corresponding pixel is to be
+ /// on when normally displayed; those with zero are off.
+ ///
+ UINT8 GlyphCol2[EFI_GLYPH_HEIGHT];
+ ///
+ /// Ensures that sizeof (EFI_WIDE_GLYPH) is twice the
+ /// sizeof (EFI_NARROW_GLYPH). The contents of Pad must
+ /// be zero.
+ ///
+ UINT8 Pad[3];
+} EFI_WIDE_GLYPH;
+
+///
+/// A simplified font package consists of a font header
+/// followed by a series of glyph structures.
+///
+typedef struct _EFI_HII_SIMPLE_FONT_PACKAGE_HDR {
+ EFI_HII_PACKAGE_HEADER Header;
+ UINT16 NumberOfNarrowGlyphs;
+ UINT16 NumberOfWideGlyphs;
+ // EFI_NARROW_GLYPH NarrowGlyphs[];
+ // EFI_WIDE_GLYPH WideGlyphs[];
+} EFI_HII_SIMPLE_FONT_PACKAGE_HDR;
+
+//
+// Definitions for Font Package
+// Section 27.3.3
+//
+
+//
+// Value for font style
+//
+#define EFI_HII_FONT_STYLE_NORMAL 0x00000000
+#define EFI_HII_FONT_STYLE_BOLD 0x00000001
+#define EFI_HII_FONT_STYLE_ITALIC 0x00000002
+#define EFI_HII_FONT_STYLE_EMBOSS 0x00010000
+#define EFI_HII_FONT_STYLE_OUTLINE 0x00020000
+#define EFI_HII_FONT_STYLE_SHADOW 0x00040000
+#define EFI_HII_FONT_STYLE_UNDERLINE 0x00080000
+#define EFI_HII_FONT_STYLE_DBL_UNDER 0x00100000
+
+typedef struct _EFI_HII_GLYPH_INFO {
+ UINT16 Width;
+ UINT16 Height;
+ INT16 OffsetX;
+ INT16 OffsetY;
+ INT16 AdvanceX;
+} EFI_HII_GLYPH_INFO;
+
+///
+/// The fixed header consists of a standard record header,
+/// then the character values in this section, the flags
+/// (including the encoding method) and the offsets of the glyph
+/// information, the glyph bitmaps and the character map.
+///
+typedef struct _EFI_HII_FONT_PACKAGE_HDR {
+ EFI_HII_PACKAGE_HEADER Header;
+ UINT32 HdrSize;
+ UINT32 GlyphBlockOffset;
+ EFI_HII_GLYPH_INFO Cell;
+ EFI_HII_FONT_STYLE FontStyle;
+ CHAR16 FontFamily[1];
+} EFI_HII_FONT_PACKAGE_HDR;
+
+//
+// Value of different glyph info block types
+//
+#define EFI_HII_GIBT_END 0x00
+#define EFI_HII_GIBT_GLYPH 0x10
+#define EFI_HII_GIBT_GLYPHS 0x11
+#define EFI_HII_GIBT_GLYPH_DEFAULT 0x12
+#define EFI_HII_GIBT_GLYPHS_DEFAULT 0x13
+#define EFI_HII_GIBT_GLYPH_VARIABILITY 0x14
+#define EFI_HII_GIBT_DUPLICATE 0x20
+#define EFI_HII_GIBT_SKIP2 0x21
+#define EFI_HII_GIBT_SKIP1 0x22
+#define EFI_HII_GIBT_DEFAULTS 0x23
+#define EFI_HII_GIBT_EXT1 0x30
+#define EFI_HII_GIBT_EXT2 0x31
+#define EFI_HII_GIBT_EXT4 0x32
+
+typedef struct _EFI_HII_GLYPH_BLOCK {
+ UINT8 BlockType;
+} EFI_HII_GLYPH_BLOCK;
+
+//
+// Definition of different glyph info block types
+//
+
+typedef struct _EFI_HII_GIBT_DEFAULTS_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ EFI_HII_GLYPH_INFO Cell;
+} EFI_HII_GIBT_DEFAULTS_BLOCK;
+
+typedef struct _EFI_HII_GIBT_DUPLICATE_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ CHAR16 CharValue;
+} EFI_HII_GIBT_DUPLICATE_BLOCK;
+
+typedef struct _EFI_GLYPH_GIBT_END_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+} EFI_GLYPH_GIBT_END_BLOCK;
+
+typedef struct _EFI_HII_GIBT_EXT1_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ UINT8 BlockType2;
+ UINT8 Length;
+} EFI_HII_GIBT_EXT1_BLOCK;
+
+typedef struct _EFI_HII_GIBT_EXT2_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ UINT8 BlockType2;
+ UINT16 Length;
+} EFI_HII_GIBT_EXT2_BLOCK;
+
+typedef struct _EFI_HII_GIBT_EXT4_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ UINT8 BlockType2;
+ UINT32 Length;
+} EFI_HII_GIBT_EXT4_BLOCK;
+
+typedef struct _EFI_HII_GIBT_GLYPH_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ EFI_HII_GLYPH_INFO Cell;
+ UINT8 BitmapData[1];
+} EFI_HII_GIBT_GLYPH_BLOCK;
+
+typedef struct _EFI_HII_GIBT_GLYPHS_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ EFI_HII_GLYPH_INFO Cell;
+ UINT16 Count;
+ UINT8 BitmapData[1];
+} EFI_HII_GIBT_GLYPHS_BLOCK;
+
+typedef struct _EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ UINT8 BitmapData[1];
+} EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK;
+
+typedef struct _EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ UINT16 Count;
+ UINT8 BitmapData[1];
+} EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK;
+
+typedef struct _EFI_HII_GIBT_VARIABILITY_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ EFI_HII_GLYPH_INFO Cell;
+ UINT8 GlyphPackInBits;
+ UINT8 BitmapData [1];
+} EFI_HII_GIBT_VARIABILITY_BLOCK;
+
+typedef struct _EFI_HII_GIBT_SKIP1_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ UINT8 SkipCount;
+} EFI_HII_GIBT_SKIP1_BLOCK;
+
+typedef struct _EFI_HII_GIBT_SKIP2_BLOCK {
+ EFI_HII_GLYPH_BLOCK Header;
+ UINT16 SkipCount;
+} EFI_HII_GIBT_SKIP2_BLOCK;
+
+//
+// Definitions for Device Path Package
+// Section 27.3.4
+//
+
+///
+/// The device path package is used to carry a device path
+/// associated with the package list.
+///
+typedef struct _EFI_HII_DEVICE_PATH_PACKAGE_HDR {
+ EFI_HII_PACKAGE_HEADER Header;
+ // EFI_DEVICE_PATH_PROTOCOL DevicePath[];
+} EFI_HII_DEVICE_PATH_PACKAGE_HDR;
+
+//
+// Definitions for GUID Package
+// Section 27.3.5
+//
+
+///
+/// The GUID package is used to carry data where the format is defined by a GUID.
+///
+typedef struct _EFI_HII_GUID_PACKAGE_HDR {
+ EFI_HII_PACKAGE_HEADER Header;
+ EFI_GUID Guid;
+ // Data per GUID definition may follow
+} EFI_HII_GUID_PACKAGE_HDR;
+
+//
+// Definitions for String Package
+// Section 27.3.6
+//
+
+#define UEFI_CONFIG_LANG "x-UEFI"
+#define UEFI_CONFIG_LANG_2 "x-i-UEFI"
+
+///
+/// The fixed header consists of a standard record header and then the string identifiers
+/// contained in this section and the offsets of the string and language information.
+///
+typedef struct _EFI_HII_STRING_PACKAGE_HDR {
+ EFI_HII_PACKAGE_HEADER Header;
+ UINT32 HdrSize;
+ UINT32 StringInfoOffset;
+ CHAR16 LanguageWindow[16];
+ EFI_STRING_ID LanguageName;
+ CHAR8 Language[1];
+} EFI_HII_STRING_PACKAGE_HDR;
+
+typedef struct {
+ UINT8 BlockType;
+} EFI_HII_STRING_BLOCK;
+
+//
+// Value of different string information block types
+//
+#define EFI_HII_SIBT_END 0x00
+#define EFI_HII_SIBT_STRING_SCSU 0x10
+#define EFI_HII_SIBT_STRING_SCSU_FONT 0x11
+#define EFI_HII_SIBT_STRINGS_SCSU 0x12
+#define EFI_HII_SIBT_STRINGS_SCSU_FONT 0x13
+#define EFI_HII_SIBT_STRING_UCS2 0x14
+#define EFI_HII_SIBT_STRING_UCS2_FONT 0x15
+#define EFI_HII_SIBT_STRINGS_UCS2 0x16
+#define EFI_HII_SIBT_STRINGS_UCS2_FONT 0x17
+#define EFI_HII_SIBT_DUPLICATE 0x20
+#define EFI_HII_SIBT_SKIP2 0x21
+#define EFI_HII_SIBT_SKIP1 0x22
+#define EFI_HII_SIBT_EXT1 0x30
+#define EFI_HII_SIBT_EXT2 0x31
+#define EFI_HII_SIBT_EXT4 0x32
+#define EFI_HII_SIBT_FONT 0x40
+
+//
+// Definition of different string information block types
+//
+
+typedef struct _EFI_HII_SIBT_DUPLICATE_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ EFI_STRING_ID StringId;
+} EFI_HII_SIBT_DUPLICATE_BLOCK;
+
+typedef struct _EFI_HII_SIBT_END_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+} EFI_HII_SIBT_END_BLOCK;
+
+typedef struct _EFI_HII_SIBT_EXT1_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT8 BlockType2;
+ UINT8 Length;
+} EFI_HII_SIBT_EXT1_BLOCK;
+
+typedef struct _EFI_HII_SIBT_EXT2_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT8 BlockType2;
+ UINT16 Length;
+} EFI_HII_SIBT_EXT2_BLOCK;
+
+typedef struct _EFI_HII_SIBT_EXT4_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT8 BlockType2;
+ UINT32 Length;
+} EFI_HII_SIBT_EXT4_BLOCK;
+
+typedef struct _EFI_HII_SIBT_FONT_BLOCK {
+ EFI_HII_SIBT_EXT2_BLOCK Header;
+ UINT8 FontId;
+ UINT16 FontSize;
+ EFI_HII_FONT_STYLE FontStyle;
+ CHAR16 FontName[1];
+} EFI_HII_SIBT_FONT_BLOCK;
+
+typedef struct _EFI_HII_SIBT_SKIP1_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT8 SkipCount;
+} EFI_HII_SIBT_SKIP1_BLOCK;
+
+typedef struct _EFI_HII_SIBT_SKIP2_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT16 SkipCount;
+} EFI_HII_SIBT_SKIP2_BLOCK;
+
+typedef struct _EFI_HII_SIBT_STRING_SCSU_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT8 StringText[1];
+} EFI_HII_SIBT_STRING_SCSU_BLOCK;
+
+typedef struct _EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT8 FontIdentifier;
+ UINT8 StringText[1];
+} EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK;
+
+typedef struct _EFI_HII_SIBT_STRINGS_SCSU_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT16 StringCount;
+ UINT8 StringText[1];
+} EFI_HII_SIBT_STRINGS_SCSU_BLOCK;
+
+typedef struct _EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT8 FontIdentifier;
+ UINT16 StringCount;
+ UINT8 StringText[1];
+} EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK;
+
+typedef struct _EFI_HII_SIBT_STRING_UCS2_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ CHAR16 StringText[1];
+} EFI_HII_SIBT_STRING_UCS2_BLOCK;
+
+typedef struct _EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT8 FontIdentifier;
+ CHAR16 StringText[1];
+} EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK;
+
+typedef struct _EFI_HII_SIBT_STRINGS_UCS2_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT16 StringCount;
+ CHAR16 StringText[1];
+} EFI_HII_SIBT_STRINGS_UCS2_BLOCK;
+
+typedef struct _EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK {
+ EFI_HII_STRING_BLOCK Header;
+ UINT8 FontIdentifier;
+ UINT16 StringCount;
+ CHAR16 StringText[1];
+} EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK;
+
+//
+// Definitions for Image Package
+// Section 27.3.7
+//
+
+typedef struct _EFI_HII_IMAGE_PACKAGE_HDR {
+ EFI_HII_PACKAGE_HEADER Header;
+ UINT32 ImageInfoOffset;
+ UINT32 PaletteInfoOffset;
+} EFI_HII_IMAGE_PACKAGE_HDR;
+
+typedef struct _EFI_HII_IMAGE_BLOCK {
+ UINT8 BlockType;
+} EFI_HII_IMAGE_BLOCK;
+
+//
+// Value of different image information block types
+//
+#define EFI_HII_IIBT_END 0x00
+#define EFI_HII_IIBT_IMAGE_1BIT 0x10
+#define EFI_HII_IIBT_IMAGE_1BIT_TRANS 0x11
+#define EFI_HII_IIBT_IMAGE_4BIT 0x12
+#define EFI_HII_IIBT_IMAGE_4BIT_TRANS 0x13
+#define EFI_HII_IIBT_IMAGE_8BIT 0x14
+#define EFI_HII_IIBT_IMAGE_8BIT_TRANS 0x15
+#define EFI_HII_IIBT_IMAGE_24BIT 0x16
+#define EFI_HII_IIBT_IMAGE_24BIT_TRANS 0x17
+#define EFI_HII_IIBT_IMAGE_JPEG 0x18
+#define EFI_HII_IIBT_IMAGE_PNG 0x19
+#define EFI_HII_IIBT_DUPLICATE 0x20
+#define EFI_HII_IIBT_SKIP2 0x21
+#define EFI_HII_IIBT_SKIP1 0x22
+#define EFI_HII_IIBT_EXT1 0x30
+#define EFI_HII_IIBT_EXT2 0x31
+#define EFI_HII_IIBT_EXT4 0x32
+
+//
+// Definition of different image information block types
+//
+
+typedef struct _EFI_HII_IIBT_END_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+} EFI_HII_IIBT_END_BLOCK;
+
+typedef struct _EFI_HII_IIBT_EXT1_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT8 BlockType2;
+ UINT8 Length;
+} EFI_HII_IIBT_EXT1_BLOCK;
+
+typedef struct _EFI_HII_IIBT_EXT2_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT8 BlockType2;
+ UINT16 Length;
+} EFI_HII_IIBT_EXT2_BLOCK;
+
+typedef struct _EFI_HII_IIBT_EXT4_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT8 BlockType2;
+ UINT32 Length;
+} EFI_HII_IIBT_EXT4_BLOCK;
+
+typedef struct _EFI_HII_IIBT_IMAGE_1BIT_BASE {
+ UINT16 Width;
+ UINT16 Height;
+ UINT8 Data[1];
+} EFI_HII_IIBT_IMAGE_1BIT_BASE;
+
+typedef struct _EFI_HII_IIBT_IMAGE_1BIT_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT8 PaletteIndex;
+ EFI_HII_IIBT_IMAGE_1BIT_BASE Bitmap;
+} EFI_HII_IIBT_IMAGE_1BIT_BLOCK;
+
+typedef struct _EFI_HII_IIBT_IMAGE_1BIT_TRANS_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT8 PaletteIndex;
+ EFI_HII_IIBT_IMAGE_1BIT_BASE Bitmap;
+} EFI_HII_IIBT_IMAGE_1BIT_TRANS_BLOCK;
+
+typedef struct _EFI_HII_RGB_PIXEL {
+ UINT8 b;
+ UINT8 g;
+ UINT8 r;
+} EFI_HII_RGB_PIXEL;
+
+typedef struct _EFI_HII_IIBT_IMAGE_24BIT_BASE {
+ UINT16 Width;
+ UINT16 Height;
+ EFI_HII_RGB_PIXEL Bitmap[1];
+} EFI_HII_IIBT_IMAGE_24BIT_BASE;
+
+typedef struct _EFI_HII_IIBT_IMAGE_24BIT_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ EFI_HII_IIBT_IMAGE_24BIT_BASE Bitmap;
+} EFI_HII_IIBT_IMAGE_24BIT_BLOCK;
+
+typedef struct _EFI_HII_IIBT_IMAGE_24BIT_TRANS_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ EFI_HII_IIBT_IMAGE_24BIT_BASE Bitmap;
+} EFI_HII_IIBT_IMAGE_24BIT_TRANS_BLOCK;
+
+typedef struct _EFI_HII_IIBT_IMAGE_4BIT_BASE {
+ UINT16 Width;
+ UINT16 Height;
+ UINT8 Data[1];
+} EFI_HII_IIBT_IMAGE_4BIT_BASE;
+
+typedef struct _EFI_HII_IIBT_IMAGE_4BIT_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT8 PaletteIndex;
+ EFI_HII_IIBT_IMAGE_4BIT_BASE Bitmap;
+} EFI_HII_IIBT_IMAGE_4BIT_BLOCK;
+
+typedef struct _EFI_HII_IIBT_IMAGE_4BIT_TRANS_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT8 PaletteIndex;
+ EFI_HII_IIBT_IMAGE_4BIT_BASE Bitmap;
+} EFI_HII_IIBT_IMAGE_4BIT_TRANS_BLOCK;
+
+typedef struct _EFI_HII_IIBT_IMAGE_8BIT_BASE {
+ UINT16 Width;
+ UINT16 Height;
+ UINT8 Data[1];
+} EFI_HII_IIBT_IMAGE_8BIT_BASE;
+
+typedef struct _EFI_HII_IIBT_IMAGE_8BIT_PALETTE_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT8 PaletteIndex;
+ EFI_HII_IIBT_IMAGE_8BIT_BASE Bitmap;
+} EFI_HII_IIBT_IMAGE_8BIT_BLOCK;
+
+typedef struct _EFI_HII_IIBT_IMAGE_8BIT_TRANS_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT8 PaletteIndex;
+ EFI_HII_IIBT_IMAGE_8BIT_BASE Bitmap;
+} EFI_HII_IIBT_IMAGE_8BIT_TRAN_BLOCK;
+
+typedef struct _EFI_HII_IIBT_DUPLICATE_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ EFI_IMAGE_ID ImageId;
+} EFI_HII_IIBT_DUPLICATE_BLOCK;
+
+typedef struct _EFI_HII_IIBT_JPEG_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT32 Size;
+ UINT8 Data[1];
+} EFI_HII_IIBT_JPEG_BLOCK;
+
+typedef struct _EFI_HII_IIBT_PNG_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT32 Size;
+ UINT8 Data[1];
+} EFI_HII_IIBT_PNG_BLOCK;
+
+typedef struct _EFI_HII_IIBT_SKIP1_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT8 SkipCount;
+} EFI_HII_IIBT_SKIP1_BLOCK;
+
+typedef struct _EFI_HII_IIBT_SKIP2_BLOCK {
+ EFI_HII_IMAGE_BLOCK Header;
+ UINT16 SkipCount;
+} EFI_HII_IIBT_SKIP2_BLOCK;
+
+//
+// Definitions for Palette Information
+//
+
+typedef struct _EFI_HII_IMAGE_PALETTE_INFO_HEADER {
+ UINT16 PaletteCount;
+} EFI_HII_IMAGE_PALETTE_INFO_HEADER;
+
+typedef struct _EFI_HII_IMAGE_PALETTE_INFO {
+ UINT16 PaletteSize;
+ EFI_HII_RGB_PIXEL PaletteValue[1];
+} EFI_HII_IMAGE_PALETTE_INFO;
+
+//
+// Definitions for Forms Package
+// Section 27.3.8
+//
+
+///
+/// The Form package is used to carry form-based encoding data.
+///
+typedef struct _EFI_HII_FORM_PACKAGE_HDR {
+ EFI_HII_PACKAGE_HEADER Header;
+ // EFI_IFR_OP_HEADER OpCodeHeader;
+ // More op-codes follow
+} EFI_HII_FORM_PACKAGE_HDR;
+
+typedef struct {
+ UINT8 Hour;
+ UINT8 Minute;
+ UINT8 Second;
+} EFI_HII_TIME;
+
+typedef struct {
+ UINT16 Year;
+ UINT8 Month;
+ UINT8 Day;
+} EFI_HII_DATE;
+
+typedef struct {
+ EFI_QUESTION_ID QuestionId;
+ EFI_FORM_ID FormId;
+ EFI_GUID FormSetGuid;
+ EFI_STRING_ID DevicePath;
+} EFI_HII_REF;
+
+typedef union {
+ UINT8 u8;
+ UINT16 u16;
+ UINT32 u32;
+ UINT64 u64;
+ BOOLEAN b;
+ EFI_HII_TIME time;
+ EFI_HII_DATE date;
+ EFI_STRING_ID string; ///< EFI_IFR_TYPE_STRING, EFI_IFR_TYPE_ACTION
+ EFI_HII_REF ref; ///< EFI_IFR_TYPE_REF
+ // UINT8 buffer[]; ///< EFI_IFR_TYPE_BUFFER
+} EFI_IFR_TYPE_VALUE;
+
+//
+// IFR Opcodes
+//
+#define EFI_IFR_FORM_OP 0x01
+#define EFI_IFR_SUBTITLE_OP 0x02
+#define EFI_IFR_TEXT_OP 0x03
+#define EFI_IFR_IMAGE_OP 0x04
+#define EFI_IFR_ONE_OF_OP 0x05
+#define EFI_IFR_CHECKBOX_OP 0x06
+#define EFI_IFR_NUMERIC_OP 0x07
+#define EFI_IFR_PASSWORD_OP 0x08
+#define EFI_IFR_ONE_OF_OPTION_OP 0x09
+#define EFI_IFR_SUPPRESS_IF_OP 0x0A
+#define EFI_IFR_LOCKED_OP 0x0B
+#define EFI_IFR_ACTION_OP 0x0C
+#define EFI_IFR_RESET_BUTTON_OP 0x0D
+#define EFI_IFR_FORM_SET_OP 0x0E
+#define EFI_IFR_REF_OP 0x0F
+#define EFI_IFR_NO_SUBMIT_IF_OP 0x10
+#define EFI_IFR_INCONSISTENT_IF_OP 0x11
+#define EFI_IFR_EQ_ID_VAL_OP 0x12
+#define EFI_IFR_EQ_ID_ID_OP 0x13
+#define EFI_IFR_EQ_ID_VAL_LIST_OP 0x14
+#define EFI_IFR_AND_OP 0x15
+#define EFI_IFR_OR_OP 0x16
+#define EFI_IFR_NOT_OP 0x17
+#define EFI_IFR_RULE_OP 0x18
+#define EFI_IFR_GRAY_OUT_IF_OP 0x19
+#define EFI_IFR_DATE_OP 0x1A
+#define EFI_IFR_TIME_OP 0x1B
+#define EFI_IFR_STRING_OP 0x1C
+#define EFI_IFR_REFRESH_OP 0x1D
+#define EFI_IFR_DISABLE_IF_OP 0x1E
+#define EFI_IFR_ANIMATION_OP 0x1F
+#define EFI_IFR_TO_LOWER_OP 0x20
+#define EFI_IFR_TO_UPPER_OP 0x21
+#define EFI_IFR_MAP_OP 0x22
+#define EFI_IFR_ORDERED_LIST_OP 0x23
+#define EFI_IFR_VARSTORE_OP 0x24
+#define EFI_IFR_VARSTORE_NAME_VALUE_OP 0x25
+#define EFI_IFR_VARSTORE_EFI_OP 0x26
+#define EFI_IFR_VARSTORE_DEVICE_OP 0x27
+#define EFI_IFR_VERSION_OP 0x28
+#define EFI_IFR_END_OP 0x29
+#define EFI_IFR_MATCH_OP 0x2A
+#define EFI_IFR_GET_OP 0x2B
+#define EFI_IFR_SET_OP 0x2C
+#define EFI_IFR_READ_OP 0x2D
+#define EFI_IFR_WRITE_OP 0x2E
+#define EFI_IFR_EQUAL_OP 0x2F
+#define EFI_IFR_NOT_EQUAL_OP 0x30
+#define EFI_IFR_GREATER_THAN_OP 0x31
+#define EFI_IFR_GREATER_EQUAL_OP 0x32
+#define EFI_IFR_LESS_THAN_OP 0x33
+#define EFI_IFR_LESS_EQUAL_OP 0x34
+#define EFI_IFR_BITWISE_AND_OP 0x35
+#define EFI_IFR_BITWISE_OR_OP 0x36
+#define EFI_IFR_BITWISE_NOT_OP 0x37
+#define EFI_IFR_SHIFT_LEFT_OP 0x38
+#define EFI_IFR_SHIFT_RIGHT_OP 0x39
+#define EFI_IFR_ADD_OP 0x3A
+#define EFI_IFR_SUBTRACT_OP 0x3B
+#define EFI_IFR_MULTIPLY_OP 0x3C
+#define EFI_IFR_DIVIDE_OP 0x3D
+#define EFI_IFR_MODULO_OP 0x3E
+#define EFI_IFR_RULE_REF_OP 0x3F
+#define EFI_IFR_QUESTION_REF1_OP 0x40
+#define EFI_IFR_QUESTION_REF2_OP 0x41
+#define EFI_IFR_UINT8_OP 0x42
+#define EFI_IFR_UINT16_OP 0x43
+#define EFI_IFR_UINT32_OP 0x44
+#define EFI_IFR_UINT64_OP 0x45
+#define EFI_IFR_TRUE_OP 0x46
+#define EFI_IFR_FALSE_OP 0x47
+#define EFI_IFR_TO_UINT_OP 0x48
+#define EFI_IFR_TO_STRING_OP 0x49
+#define EFI_IFR_TO_BOOLEAN_OP 0x4A
+#define EFI_IFR_MID_OP 0x4B
+#define EFI_IFR_FIND_OP 0x4C
+#define EFI_IFR_TOKEN_OP 0x4D
+#define EFI_IFR_STRING_REF1_OP 0x4E
+#define EFI_IFR_STRING_REF2_OP 0x4F
+#define EFI_IFR_CONDITIONAL_OP 0x50
+#define EFI_IFR_QUESTION_REF3_OP 0x51
+#define EFI_IFR_ZERO_OP 0x52
+#define EFI_IFR_ONE_OP 0x53
+#define EFI_IFR_ONES_OP 0x54
+#define EFI_IFR_UNDEFINED_OP 0x55
+#define EFI_IFR_LENGTH_OP 0x56
+#define EFI_IFR_DUP_OP 0x57
+#define EFI_IFR_THIS_OP 0x58
+#define EFI_IFR_SPAN_OP 0x59
+#define EFI_IFR_VALUE_OP 0x5A
+#define EFI_IFR_DEFAULT_OP 0x5B
+#define EFI_IFR_DEFAULTSTORE_OP 0x5C
+#define EFI_IFR_FORM_MAP_OP 0x5D
+#define EFI_IFR_CATENATE_OP 0x5E
+#define EFI_IFR_GUID_OP 0x5F
+#define EFI_IFR_SECURITY_OP 0x60
+#define EFI_IFR_MODAL_TAG_OP 0x61
+#define EFI_IFR_REFRESH_ID_OP 0x62
+#define EFI_IFR_WARNING_IF_OP 0x63
+#define EFI_IFR_MATCH2_OP 0x64
+
+//
+// Definitions of IFR Standard Headers
+// Section 27.3.8.2
+//
+
+typedef struct _EFI_IFR_OP_HEADER {
+ UINT8 OpCode;
+ UINT8 Length:7;
+ UINT8 Scope:1;
+} EFI_IFR_OP_HEADER;
+
+typedef struct _EFI_IFR_STATEMENT_HEADER {
+ EFI_STRING_ID Prompt;
+ EFI_STRING_ID Help;
+} EFI_IFR_STATEMENT_HEADER;
+
+typedef struct _EFI_IFR_QUESTION_HEADER {
+ EFI_IFR_STATEMENT_HEADER Header;
+ EFI_QUESTION_ID QuestionId;
+ EFI_VARSTORE_ID VarStoreId;
+ union {
+ EFI_STRING_ID VarName;
+ UINT16 VarOffset;
+ } VarStoreInfo;
+ UINT8 Flags;
+} EFI_IFR_QUESTION_HEADER;
+
+//
+// Flag values of EFI_IFR_QUESTION_HEADER
+//
+#define EFI_IFR_FLAG_READ_ONLY 0x01
+#define EFI_IFR_FLAG_CALLBACK 0x04
+#define EFI_IFR_FLAG_RESET_REQUIRED 0x10
+#define EFI_IFR_FLAG_RECONNECT_REQUIRED 0x40
+#define EFI_IFR_FLAG_OPTIONS_ONLY 0x80
+
+//
+// Definition for Opcode Reference
+// Section 27.3.8.3
+//
+typedef struct _EFI_IFR_DEFAULTSTORE {
+ EFI_IFR_OP_HEADER Header;
+ EFI_STRING_ID DefaultName;
+ UINT16 DefaultId;
+} EFI_IFR_DEFAULTSTORE;
+
+//
+// Default Identifier of default store
+//
+#define EFI_HII_DEFAULT_CLASS_STANDARD 0x0000
+#define EFI_HII_DEFAULT_CLASS_MANUFACTURING 0x0001
+#define EFI_HII_DEFAULT_CLASS_SAFE 0x0002
+#define EFI_HII_DEFAULT_CLASS_PLATFORM_BEGIN 0x4000
+#define EFI_HII_DEFAULT_CLASS_PLATFORM_END 0x7fff
+#define EFI_HII_DEFAULT_CLASS_HARDWARE_BEGIN 0x8000
+#define EFI_HII_DEFAULT_CLASS_HARDWARE_END 0xbfff
+#define EFI_HII_DEFAULT_CLASS_FIRMWARE_BEGIN 0xc000
+#define EFI_HII_DEFAULT_CLASS_FIRMWARE_END 0xffff
+
+typedef struct _EFI_IFR_VARSTORE {
+ EFI_IFR_OP_HEADER Header;
+ EFI_GUID Guid;
+ EFI_VARSTORE_ID VarStoreId;
+ UINT16 Size;
+ UINT8 Name[1];
+} EFI_IFR_VARSTORE;
+
+typedef struct _EFI_IFR_VARSTORE_EFI {
+ EFI_IFR_OP_HEADER Header;
+ EFI_VARSTORE_ID VarStoreId;
+ EFI_GUID Guid;
+ UINT32 Attributes;
+ UINT16 Size;
+ UINT8 Name[1];
+} EFI_IFR_VARSTORE_EFI;
+
+typedef struct _EFI_IFR_VARSTORE_NAME_VALUE {
+ EFI_IFR_OP_HEADER Header;
+ EFI_VARSTORE_ID VarStoreId;
+ EFI_GUID Guid;
+} EFI_IFR_VARSTORE_NAME_VALUE;
+
+typedef struct _EFI_IFR_FORM_SET {
+ EFI_IFR_OP_HEADER Header;
+ EFI_GUID Guid;
+ EFI_STRING_ID FormSetTitle;
+ EFI_STRING_ID Help;
+ UINT8 Flags;
+ // EFI_GUID ClassGuid[];
+} EFI_IFR_FORM_SET;
+
+typedef struct _EFI_IFR_END {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_END;
+
+typedef struct _EFI_IFR_FORM {
+ EFI_IFR_OP_HEADER Header;
+ UINT16 FormId;
+ EFI_STRING_ID FormTitle;
+} EFI_IFR_FORM;
+
+typedef struct _EFI_IFR_IMAGE {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IMAGE_ID Id;
+} EFI_IFR_IMAGE;
+
+typedef struct _EFI_IFR_MODAL_TAG {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_MODAL_TAG;
+
+typedef struct _EFI_IFR_LOCKED {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_LOCKED;
+
+typedef struct _EFI_IFR_RULE {
+ EFI_IFR_OP_HEADER Header;
+ UINT8 RuleId;
+} EFI_IFR_RULE;
+
+typedef struct _EFI_IFR_DEFAULT {
+ EFI_IFR_OP_HEADER Header;
+ UINT16 DefaultId;
+ UINT8 Type;
+ EFI_IFR_TYPE_VALUE Value;
+} EFI_IFR_DEFAULT;
+
+typedef struct _EFI_IFR_DEFAULT_2 {
+ EFI_IFR_OP_HEADER Header;
+ UINT16 DefaultId;
+ UINT8 Type;
+} EFI_IFR_DEFAULT_2;
+
+typedef struct _EFI_IFR_VALUE {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_VALUE;
+
+typedef struct _EFI_IFR_SUBTITLE {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_STATEMENT_HEADER Statement;
+ UINT8 Flags;
+} EFI_IFR_SUBTITLE;
+
+#define EFI_IFR_FLAGS_HORIZONTAL 0x01
+
+typedef struct _EFI_IFR_CHECKBOX {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ UINT8 Flags;
+} EFI_IFR_CHECKBOX;
+
+#define EFI_IFR_CHECKBOX_DEFAULT 0x01
+#define EFI_IFR_CHECKBOX_DEFAULT_MFG 0x02
+
+typedef struct _EFI_IFR_TEXT {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_STATEMENT_HEADER Statement;
+ EFI_STRING_ID TextTwo;
+} EFI_IFR_TEXT;
+
+typedef struct _EFI_IFR_REF {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ EFI_FORM_ID FormId;
+} EFI_IFR_REF;
+
+typedef struct _EFI_IFR_REF2 {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ EFI_FORM_ID FormId;
+ EFI_QUESTION_ID QuestionId;
+} EFI_IFR_REF2;
+
+typedef struct _EFI_IFR_REF3 {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ EFI_FORM_ID FormId;
+ EFI_QUESTION_ID QuestionId;
+ EFI_GUID FormSetId;
+} EFI_IFR_REF3;
+
+typedef struct _EFI_IFR_REF4 {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ EFI_FORM_ID FormId;
+ EFI_QUESTION_ID QuestionId;
+ EFI_GUID FormSetId;
+ EFI_STRING_ID DevicePath;
+} EFI_IFR_REF4;
+
+typedef struct _EFI_IFR_REF5 {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+} EFI_IFR_REF5;
+
+typedef struct _EFI_IFR_RESET_BUTTON {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_STATEMENT_HEADER Statement;
+ EFI_DEFAULT_ID DefaultId;
+} EFI_IFR_RESET_BUTTON;
+
+typedef struct _EFI_IFR_ACTION {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ EFI_STRING_ID QuestionConfig;
+} EFI_IFR_ACTION;
+
+typedef struct _EFI_IFR_ACTION_1 {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+} EFI_IFR_ACTION_1;
+
+typedef struct _EFI_IFR_DATE {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ UINT8 Flags;
+} EFI_IFR_DATE;
+
+//
+// Flags that describe the behavior of the question.
+//
+#define EFI_QF_DATE_YEAR_SUPPRESS 0x01
+#define EFI_QF_DATE_MONTH_SUPPRESS 0x02
+#define EFI_QF_DATE_DAY_SUPPRESS 0x04
+
+#define EFI_QF_DATE_STORAGE 0x30
+#define QF_DATE_STORAGE_NORMAL 0x00
+#define QF_DATE_STORAGE_TIME 0x10
+#define QF_DATE_STORAGE_WAKEUP 0x20
+
+typedef union {
+ struct {
+ UINT8 MinValue;
+ UINT8 MaxValue;
+ UINT8 Step;
+ } u8;
+ struct {
+ UINT16 MinValue;
+ UINT16 MaxValue;
+ UINT16 Step;
+ } u16;
+ struct {
+ UINT32 MinValue;
+ UINT32 MaxValue;
+ UINT32 Step;
+ } u32;
+ struct {
+ UINT64 MinValue;
+ UINT64 MaxValue;
+ UINT64 Step;
+ } u64;
+} MINMAXSTEP_DATA;
+
+typedef struct _EFI_IFR_NUMERIC {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ UINT8 Flags;
+ MINMAXSTEP_DATA data;
+} EFI_IFR_NUMERIC;
+
+//
+// Flags related to the numeric question
+//
+#define EFI_IFR_NUMERIC_SIZE 0x03
+#define EFI_IFR_NUMERIC_SIZE_1 0x00
+#define EFI_IFR_NUMERIC_SIZE_2 0x01
+#define EFI_IFR_NUMERIC_SIZE_4 0x02
+#define EFI_IFR_NUMERIC_SIZE_8 0x03
+
+#define EFI_IFR_DISPLAY 0x30
+#define EFI_IFR_DISPLAY_INT_DEC 0x00
+#define EFI_IFR_DISPLAY_UINT_DEC 0x10
+#define EFI_IFR_DISPLAY_UINT_HEX 0x20
+
+typedef struct _EFI_IFR_ONE_OF {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ UINT8 Flags;
+ MINMAXSTEP_DATA data;
+} EFI_IFR_ONE_OF;
+
+typedef struct _EFI_IFR_STRING {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ UINT8 MinSize;
+ UINT8 MaxSize;
+ UINT8 Flags;
+} EFI_IFR_STRING;
+
+#define EFI_IFR_STRING_MULTI_LINE 0x01
+
+typedef struct _EFI_IFR_PASSWORD {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ UINT16 MinSize;
+ UINT16 MaxSize;
+} EFI_IFR_PASSWORD;
+
+typedef struct _EFI_IFR_ORDERED_LIST {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ UINT8 MaxContainers;
+ UINT8 Flags;
+} EFI_IFR_ORDERED_LIST;
+
+#define EFI_IFR_UNIQUE_SET 0x01
+#define EFI_IFR_NO_EMPTY_SET 0x02
+
+typedef struct _EFI_IFR_TIME {
+ EFI_IFR_OP_HEADER Header;
+ EFI_IFR_QUESTION_HEADER Question;
+ UINT8 Flags;
+} EFI_IFR_TIME;
+
+//
+// A bit-mask that determines which unique settings are active for this opcode.
+//
+#define QF_TIME_HOUR_SUPPRESS 0x01
+#define QF_TIME_MINUTE_SUPPRESS 0x02
+#define QF_TIME_SECOND_SUPPRESS 0x04
+
+#define QF_TIME_STORAGE 0x30
+#define QF_TIME_STORAGE_NORMAL 0x00
+#define QF_TIME_STORAGE_TIME 0x10
+#define QF_TIME_STORAGE_WAKEUP 0x20
+
+typedef struct _EFI_IFR_DISABLE_IF {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_DISABLE_IF;
+
+typedef struct _EFI_IFR_SUPPRESS_IF {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_SUPPRESS_IF;
+
+typedef struct _EFI_IFR_GRAY_OUT_IF {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_GRAY_OUT_IF;
+
+typedef struct _EFI_IFR_INCONSISTENT_IF {
+ EFI_IFR_OP_HEADER Header;
+ EFI_STRING_ID Error;
+} EFI_IFR_INCONSISTENT_IF;
+
+typedef struct _EFI_IFR_NO_SUBMIT_IF {
+ EFI_IFR_OP_HEADER Header;
+ EFI_STRING_ID Error;
+} EFI_IFR_NO_SUBMIT_IF;
+
+typedef struct _EFI_IFR_WARNING_IF {
+ EFI_IFR_OP_HEADER Header;
+ EFI_STRING_ID Warning;
+ UINT8 TimeOut;
+} EFI_IFR_WARNING_IF;
+
+typedef struct _EFI_IFR_REFRESH {
+ EFI_IFR_OP_HEADER Header;
+ UINT8 RefreshInterval;
+} EFI_IFR_REFRESH;
+
+typedef struct _EFI_IFR_VARSTORE_DEVICE {
+ EFI_IFR_OP_HEADER Header;
+ EFI_STRING_ID DevicePath;
+} EFI_IFR_VARSTORE_DEVICE;
+
+typedef struct _EFI_IFR_ONE_OF_OPTION {
+ EFI_IFR_OP_HEADER Header;
+ EFI_STRING_ID Option;
+ UINT8 Flags;
+ UINT8 Type;
+ EFI_IFR_TYPE_VALUE Value;
+} EFI_IFR_ONE_OF_OPTION;
+
+//
+// Types of the option's value.
+//
+#define EFI_IFR_TYPE_NUM_SIZE_8 0x00
+#define EFI_IFR_TYPE_NUM_SIZE_16 0x01
+#define EFI_IFR_TYPE_NUM_SIZE_32 0x02
+#define EFI_IFR_TYPE_NUM_SIZE_64 0x03
+#define EFI_IFR_TYPE_BOOLEAN 0x04
+#define EFI_IFR_TYPE_TIME 0x05
+#define EFI_IFR_TYPE_DATE 0x06
+#define EFI_IFR_TYPE_STRING 0x07
+#define EFI_IFR_TYPE_OTHER 0x08
+#define EFI_IFR_TYPE_UNDEFINED 0x09
+#define EFI_IFR_TYPE_ACTION 0x0A
+#define EFI_IFR_TYPE_BUFFER 0x0B
+#define EFI_IFR_TYPE_REF 0x0C
+
+#define EFI_IFR_OPTION_DEFAULT 0x10
+#define EFI_IFR_OPTION_DEFAULT_MFG 0x20
+
+typedef struct _EFI_IFR_GUID {
+ EFI_IFR_OP_HEADER Header;
+ EFI_GUID Guid;
+ //Optional Data Follows
+} EFI_IFR_GUID;
+
+typedef struct _EFI_IFR_REFRESH_ID {
+ EFI_IFR_OP_HEADER Header;
+ EFI_GUID RefreshEventGroupId;
+} EFI_IFR_REFRESH_ID;
+
+typedef struct _EFI_IFR_DUP {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_DUP;
+
+typedef struct _EFI_IFR_EQ_ID_ID {
+ EFI_IFR_OP_HEADER Header;
+ EFI_QUESTION_ID QuestionId1;
+ EFI_QUESTION_ID QuestionId2;
+} EFI_IFR_EQ_ID_ID;
+
+typedef struct _EFI_IFR_EQ_ID_VAL {
+ EFI_IFR_OP_HEADER Header;
+ EFI_QUESTION_ID QuestionId;
+ UINT16 Value;
+} EFI_IFR_EQ_ID_VAL;
+
+typedef struct _EFI_IFR_EQ_ID_VAL_LIST {
+ EFI_IFR_OP_HEADER Header;
+ EFI_QUESTION_ID QuestionId;
+ UINT16 ListLength;
+ UINT16 ValueList[1];
+} EFI_IFR_EQ_ID_VAL_LIST;
+
+typedef struct _EFI_IFR_UINT8 {
+ EFI_IFR_OP_HEADER Header;
+ UINT8 Value;
+} EFI_IFR_UINT8;
+
+typedef struct _EFI_IFR_UINT16 {
+ EFI_IFR_OP_HEADER Header;
+ UINT16 Value;
+} EFI_IFR_UINT16;
+
+typedef struct _EFI_IFR_UINT32 {
+ EFI_IFR_OP_HEADER Header;
+ UINT32 Value;
+} EFI_IFR_UINT32;
+
+typedef struct _EFI_IFR_UINT64 {
+ EFI_IFR_OP_HEADER Header;
+ UINT64 Value;
+} EFI_IFR_UINT64;
+
+typedef struct _EFI_IFR_QUESTION_REF1 {
+ EFI_IFR_OP_HEADER Header;
+ EFI_QUESTION_ID QuestionId;
+} EFI_IFR_QUESTION_REF1;
+
+typedef struct _EFI_IFR_QUESTION_REF2 {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_QUESTION_REF2;
+
+typedef struct _EFI_IFR_QUESTION_REF3 {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_QUESTION_REF3;
+
+typedef struct _EFI_IFR_QUESTION_REF3_2 {
+ EFI_IFR_OP_HEADER Header;
+ EFI_STRING_ID DevicePath;
+} EFI_IFR_QUESTION_REF3_2;
+
+typedef struct _EFI_IFR_QUESTION_REF3_3 {
+ EFI_IFR_OP_HEADER Header;
+ EFI_STRING_ID DevicePath;
+ EFI_GUID Guid;
+} EFI_IFR_QUESTION_REF3_3;
+
+typedef struct _EFI_IFR_RULE_REF {
+ EFI_IFR_OP_HEADER Header;
+ UINT8 RuleId;
+} EFI_IFR_RULE_REF;
+
+typedef struct _EFI_IFR_STRING_REF1 {
+ EFI_IFR_OP_HEADER Header;
+ EFI_STRING_ID StringId;
+} EFI_IFR_STRING_REF1;
+
+typedef struct _EFI_IFR_STRING_REF2 {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_STRING_REF2;
+
+typedef struct _EFI_IFR_THIS {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_THIS;
+
+typedef struct _EFI_IFR_TRUE {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_TRUE;
+
+typedef struct _EFI_IFR_FALSE {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_FALSE;
+
+typedef struct _EFI_IFR_ONE {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_ONE;
+
+typedef struct _EFI_IFR_ONES {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_ONES;
+
+typedef struct _EFI_IFR_ZERO {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_ZERO;
+
+typedef struct _EFI_IFR_UNDEFINED {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_UNDEFINED;
+
+typedef struct _EFI_IFR_VERSION {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_VERSION;
+
+typedef struct _EFI_IFR_LENGTH {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_LENGTH;
+
+typedef struct _EFI_IFR_NOT {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_NOT;
+
+typedef struct _EFI_IFR_BITWISE_NOT {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_BITWISE_NOT;
+
+typedef struct _EFI_IFR_TO_BOOLEAN {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_TO_BOOLEAN;
+
+///
+/// For EFI_IFR_TO_STRING, when converting from
+/// unsigned integers, these flags control the format:
+/// 0 = unsigned decimal.
+/// 1 = signed decimal.
+/// 2 = hexadecimal (lower-case alpha).
+/// 3 = hexadecimal (upper-case alpha).
+///@{
+#define EFI_IFR_STRING_UNSIGNED_DEC 0
+#define EFI_IFR_STRING_SIGNED_DEC 1
+#define EFI_IFR_STRING_LOWERCASE_HEX 2
+#define EFI_IFR_STRING_UPPERCASE_HEX 3
+///@}
+
+///
+/// When converting from a buffer, these flags control the format:
+/// 0 = ASCII.
+/// 8 = Unicode.
+///@{
+#define EFI_IFR_STRING_ASCII 0
+#define EFI_IFR_STRING_UNICODE 8
+///@}
+
+typedef struct _EFI_IFR_TO_STRING {
+ EFI_IFR_OP_HEADER Header;
+ UINT8 Format;
+} EFI_IFR_TO_STRING;
+
+typedef struct _EFI_IFR_TO_UINT {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_TO_UINT;
+
+typedef struct _EFI_IFR_TO_UPPER {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_TO_UPPER;
+
+typedef struct _EFI_IFR_TO_LOWER {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_TO_LOWER;
+
+typedef struct _EFI_IFR_ADD {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_ADD;
+
+typedef struct _EFI_IFR_AND {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_AND;
+
+typedef struct _EFI_IFR_BITWISE_AND {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_BITWISE_AND;
+
+typedef struct _EFI_IFR_BITWISE_OR {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_BITWISE_OR;
+
+typedef struct _EFI_IFR_CATENATE {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_CATENATE;
+
+typedef struct _EFI_IFR_DIVIDE {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_DIVIDE;
+
+typedef struct _EFI_IFR_EQUAL {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_EQUAL;
+
+typedef struct _EFI_IFR_GREATER_EQUAL {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_GREATER_EQUAL;
+
+typedef struct _EFI_IFR_GREATER_THAN {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_GREATER_THAN;
+
+typedef struct _EFI_IFR_LESS_EQUAL {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_LESS_EQUAL;
+
+typedef struct _EFI_IFR_LESS_THAN {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_LESS_THAN;
+
+typedef struct _EFI_IFR_MATCH {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_MATCH;
+
+typedef struct _EFI_IFR_MATCH2 {
+ EFI_IFR_OP_HEADER Header;
+ EFI_GUID SyntaxType;
+} EFI_IFR_MATCH2;
+
+typedef struct _EFI_IFR_MULTIPLY {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_MULTIPLY;
+
+typedef struct _EFI_IFR_MODULO {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_MODULO;
+
+typedef struct _EFI_IFR_NOT_EQUAL {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_NOT_EQUAL;
+
+typedef struct _EFI_IFR_OR {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_OR;
+
+typedef struct _EFI_IFR_SHIFT_LEFT {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_SHIFT_LEFT;
+
+typedef struct _EFI_IFR_SHIFT_RIGHT {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_SHIFT_RIGHT;
+
+typedef struct _EFI_IFR_SUBTRACT {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_SUBTRACT;
+
+typedef struct _EFI_IFR_CONDITIONAL {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_CONDITIONAL;
+
+//
+// Flags governing the matching criteria of EFI_IFR_FIND
+//
+#define EFI_IFR_FF_CASE_SENSITIVE 0x00
+#define EFI_IFR_FF_CASE_INSENSITIVE 0x01
+
+typedef struct _EFI_IFR_FIND {
+ EFI_IFR_OP_HEADER Header;
+ UINT8 Format;
+} EFI_IFR_FIND;
+
+typedef struct _EFI_IFR_MID {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_MID;
+
+typedef struct _EFI_IFR_TOKEN {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_TOKEN;
+
+//
+// Flags specifying whether to find the first matching string
+// or the first non-matching string.
+//
+#define EFI_IFR_FLAGS_FIRST_MATCHING 0x00
+#define EFI_IFR_FLAGS_FIRST_NON_MATCHING 0x01
+
+typedef struct _EFI_IFR_SPAN {
+ EFI_IFR_OP_HEADER Header;
+ UINT8 Flags;
+} EFI_IFR_SPAN;
+
+typedef struct _EFI_IFR_SECURITY {
+ ///
+ /// Standard opcode header, where Header.Op = EFI_IFR_SECURITY_OP.
+ ///
+ EFI_IFR_OP_HEADER Header;
+ ///
+ /// Security permission level.
+ ///
+ EFI_GUID Permissions;
+} EFI_IFR_SECURITY;
+
+typedef struct _EFI_IFR_FORM_MAP_METHOD {
+ ///
+ /// The string identifier which provides the human-readable name of
+ /// the configuration method for this standards map form.
+ ///
+ EFI_STRING_ID MethodTitle;
+ ///
+ /// Identifier which uniquely specifies the configuration methods
+ /// associated with this standards map form.
+ ///
+ EFI_GUID MethodIdentifier;
+} EFI_IFR_FORM_MAP_METHOD;
+
+typedef struct _EFI_IFR_FORM_MAP {
+ ///
+ /// The sequence that defines the type of opcode as well as the length
+ /// of the opcode being defined. Header.OpCode = EFI_IFR_FORM_MAP_OP.
+ ///
+ EFI_IFR_OP_HEADER Header;
+ ///
+ /// The unique identifier for this particular form.
+ ///
+ EFI_FORM_ID FormId;
+ ///
+ /// One or more configuration method's name and unique identifier.
+ ///
+ // EFI_IFR_FORM_MAP_METHOD Methods[];
+} EFI_IFR_FORM_MAP;
+
+typedef struct _EFI_IFR_SET {
+ ///
+ /// The sequence that defines the type of opcode as well as the length
+ /// of the opcode being defined. Header.OpCode = EFI_IFR_SET_OP.
+ ///
+ EFI_IFR_OP_HEADER Header;
+ ///
+ /// Specifies the identifier of a previously declared variable store to
+ /// use when storing the question's value.
+ ///
+ EFI_VARSTORE_ID VarStoreId;
+ union {
+ ///
+ /// A 16-bit Buffer Storage offset.
+ ///
+ EFI_STRING_ID VarName;
+ ///
+ /// A Name Value or EFI Variable name (VarName).
+ ///
+ UINT16 VarOffset;
+ } VarStoreInfo;
+ ///
+ /// Specifies the type used for storage.
+ ///
+ UINT8 VarStoreType;
+} EFI_IFR_SET;
+
+typedef struct _EFI_IFR_GET {
+ ///
+ /// The sequence that defines the type of opcode as well as the length
+ /// of the opcode being defined. Header.OpCode = EFI_IFR_GET_OP.
+ ///
+ EFI_IFR_OP_HEADER Header;
+ ///
+ /// Specifies the identifier of a previously declared variable store to
+ /// use when retrieving the value.
+ ///
+ EFI_VARSTORE_ID VarStoreId;
+ union {
+ ///
+ /// A 16-bit Buffer Storage offset.
+ ///
+ EFI_STRING_ID VarName;
+ ///
+ /// A Name Value or EFI Variable name (VarName).
+ ///
+ UINT16 VarOffset;
+ } VarStoreInfo;
+ ///
+ /// Specifies the type used for storage.
+ ///
+ UINT8 VarStoreType;
+} EFI_IFR_GET;
+
+typedef struct _EFI_IFR_READ {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_READ;
+
+typedef struct _EFI_IFR_WRITE {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_WRITE;
+
+typedef struct _EFI_IFR_MAP {
+ EFI_IFR_OP_HEADER Header;
+} EFI_IFR_MAP;
+//
+// Definitions for Keyboard Package
+// Releated definitions are in Section of EFI_HII_DATABASE_PROTOCOL
+//
+
+///
+/// Each enumeration values maps a physical key on a keyboard.
+///
+typedef enum {
+ EfiKeyLCtrl,
+ EfiKeyA0,
+ EfiKeyLAlt,
+ EfiKeySpaceBar,
+ EfiKeyA2,
+ EfiKeyA3,
+ EfiKeyA4,
+ EfiKeyRCtrl,
+ EfiKeyLeftArrow,
+ EfiKeyDownArrow,
+ EfiKeyRightArrow,
+ EfiKeyZero,
+ EfiKeyPeriod,
+ EfiKeyEnter,
+ EfiKeyLShift,
+ EfiKeyB0,
+ EfiKeyB1,
+ EfiKeyB2,
+ EfiKeyB3,
+ EfiKeyB4,
+ EfiKeyB5,
+ EfiKeyB6,
+ EfiKeyB7,
+ EfiKeyB8,
+ EfiKeyB9,
+ EfiKeyB10,
+ EfiKeyRShift,
+ EfiKeyUpArrow,
+ EfiKeyOne,
+ EfiKeyTwo,
+ EfiKeyThree,
+ EfiKeyCapsLock,
+ EfiKeyC1,
+ EfiKeyC2,
+ EfiKeyC3,
+ EfiKeyC4,
+ EfiKeyC5,
+ EfiKeyC6,
+ EfiKeyC7,
+ EfiKeyC8,
+ EfiKeyC9,
+ EfiKeyC10,
+ EfiKeyC11,
+ EfiKeyC12,
+ EfiKeyFour,
+ EfiKeyFive,
+ EfiKeySix,
+ EfiKeyPlus,
+ EfiKeyTab,
+ EfiKeyD1,
+ EfiKeyD2,
+ EfiKeyD3,
+ EfiKeyD4,
+ EfiKeyD5,
+ EfiKeyD6,
+ EfiKeyD7,
+ EfiKeyD8,
+ EfiKeyD9,
+ EfiKeyD10,
+ EfiKeyD11,
+ EfiKeyD12,
+ EfiKeyD13,
+ EfiKeyDel,
+ EfiKeyEnd,
+ EfiKeyPgDn,
+ EfiKeySeven,
+ EfiKeyEight,
+ EfiKeyNine,
+ EfiKeyE0,
+ EfiKeyE1,
+ EfiKeyE2,
+ EfiKeyE3,
+ EfiKeyE4,
+ EfiKeyE5,
+ EfiKeyE6,
+ EfiKeyE7,
+ EfiKeyE8,
+ EfiKeyE9,
+ EfiKeyE10,
+ EfiKeyE11,
+ EfiKeyE12,
+ EfiKeyBackSpace,
+ EfiKeyIns,
+ EfiKeyHome,
+ EfiKeyPgUp,
+ EfiKeyNLck,
+ EfiKeySlash,
+ EfiKeyAsterisk,
+ EfiKeyMinus,
+ EfiKeyEsc,
+ EfiKeyF1,
+ EfiKeyF2,
+ EfiKeyF3,
+ EfiKeyF4,
+ EfiKeyF5,
+ EfiKeyF6,
+ EfiKeyF7,
+ EfiKeyF8,
+ EfiKeyF9,
+ EfiKeyF10,
+ EfiKeyF11,
+ EfiKeyF12,
+ EfiKeyPrint,
+ EfiKeySLck,
+ EfiKeyPause
+} EFI_KEY;
+
+typedef struct {
+ ///
+ /// Used to describe a physical key on a keyboard.
+ ///
+ EFI_KEY Key;
+ ///
+ /// Unicode character code for the Key.
+ ///
+ CHAR16 Unicode;
+ ///
+ /// Unicode character code for the key with the shift key being held down.
+ ///
+ CHAR16 ShiftedUnicode;
+ ///
+ /// Unicode character code for the key with the Alt-GR being held down.
+ ///
+ CHAR16 AltGrUnicode;
+ ///
+ /// Unicode character code for the key with the Alt-GR and shift keys being held down.
+ ///
+ CHAR16 ShiftedAltGrUnicode;
+ ///
+ /// Modifier keys are defined to allow for special functionality that is not necessarily
+ /// accomplished by a printable character. Many of these modifier keys are flags to toggle
+ /// certain state bits on and off inside of a keyboard driver.
+ ///
+ UINT16 Modifier;
+ UINT16 AffectedAttribute;
+} EFI_KEY_DESCRIPTOR;
+
+///
+/// A key which is affected by all the standard shift modifiers.
+/// Most keys would be expected to have this bit active.
+///
+#define EFI_AFFECTED_BY_STANDARD_SHIFT 0x0001
+
+///
+/// This key is affected by the caps lock so that if a keyboard driver
+/// would need to disambiguate between a key which had a "1" defined
+/// versus an "a" character. Having this bit turned on would tell
+/// the keyboard driver to use the appropriate shifted state or not.
+///
+#define EFI_AFFECTED_BY_CAPS_LOCK 0x0002
+
+///
+/// Similar to the case of CAPS lock, if this bit is active, the key
+/// is affected by the num lock being turned on.
+///
+#define EFI_AFFECTED_BY_NUM_LOCK 0x0004
+
+typedef struct {
+ UINT16 LayoutLength;
+ EFI_GUID Guid;
+ UINT32 LayoutDescriptorStringOffset;
+ UINT8 DescriptorCount;
+ // EFI_KEY_DESCRIPTOR Descriptors[];
+} EFI_HII_KEYBOARD_LAYOUT;
+
+typedef struct {
+ EFI_HII_PACKAGE_HEADER Header;
+ UINT16 LayoutCount;
+ // EFI_HII_KEYBOARD_LAYOUT Layout[];
+} EFI_HII_KEYBOARD_PACKAGE_HDR;
+
+//
+// Modifier values
+//
+#define EFI_NULL_MODIFIER 0x0000
+#define EFI_LEFT_CONTROL_MODIFIER 0x0001
+#define EFI_RIGHT_CONTROL_MODIFIER 0x0002
+#define EFI_LEFT_ALT_MODIFIER 0x0003
+#define EFI_RIGHT_ALT_MODIFIER 0x0004
+#define EFI_ALT_GR_MODIFIER 0x0005
+#define EFI_INSERT_MODIFIER 0x0006
+#define EFI_DELETE_MODIFIER 0x0007
+#define EFI_PAGE_DOWN_MODIFIER 0x0008
+#define EFI_PAGE_UP_MODIFIER 0x0009
+#define EFI_HOME_MODIFIER 0x000A
+#define EFI_END_MODIFIER 0x000B
+#define EFI_LEFT_SHIFT_MODIFIER 0x000C
+#define EFI_RIGHT_SHIFT_MODIFIER 0x000D
+#define EFI_CAPS_LOCK_MODIFIER 0x000E
+#define EFI_NUM_LOCK_MODIFIER 0x000F
+#define EFI_LEFT_ARROW_MODIFIER 0x0010
+#define EFI_RIGHT_ARROW_MODIFIER 0x0011
+#define EFI_DOWN_ARROW_MODIFIER 0x0012
+#define EFI_UP_ARROW_MODIFIER 0x0013
+#define EFI_NS_KEY_MODIFIER 0x0014
+#define EFI_NS_KEY_DEPENDENCY_MODIFIER 0x0015
+#define EFI_FUNCTION_KEY_ONE_MODIFIER 0x0016
+#define EFI_FUNCTION_KEY_TWO_MODIFIER 0x0017
+#define EFI_FUNCTION_KEY_THREE_MODIFIER 0x0018
+#define EFI_FUNCTION_KEY_FOUR_MODIFIER 0x0019
+#define EFI_FUNCTION_KEY_FIVE_MODIFIER 0x001A
+#define EFI_FUNCTION_KEY_SIX_MODIFIER 0x001B
+#define EFI_FUNCTION_KEY_SEVEN_MODIFIER 0x001C
+#define EFI_FUNCTION_KEY_EIGHT_MODIFIER 0x001D
+#define EFI_FUNCTION_KEY_NINE_MODIFIER 0x001E
+#define EFI_FUNCTION_KEY_TEN_MODIFIER 0x001F
+#define EFI_FUNCTION_KEY_ELEVEN_MODIFIER 0x0020
+#define EFI_FUNCTION_KEY_TWELVE_MODIFIER 0x0021
+
+//
+// Keys that have multiple control functions based on modifier
+// settings are handled in the keyboard driver implementation.
+// For instance, PRINT_KEY might have a modifier held down and
+// is still a nonprinting character, but might have an alternate
+// control function like SYSREQUEST
+//
+#define EFI_PRINT_MODIFIER 0x0022
+#define EFI_SYS_REQUEST_MODIFIER 0x0023
+#define EFI_SCROLL_LOCK_MODIFIER 0x0024
+#define EFI_PAUSE_MODIFIER 0x0025
+#define EFI_BREAK_MODIFIER 0x0026
+
+#define EFI_LEFT_LOGO_MODIFIER 0x0027
+#define EFI_RIGHT_LOGO_MODIFIER 0x0028
+#define EFI_MENU_MODIFIER 0x0029
+
+///
+/// Animation IFR opcode
+///
+typedef struct _EFI_IFR_ANIMATION {
+ ///
+ /// Standard opcode header, where Header.OpCode is
+ /// EFI_IFR_ANIMATION_OP.
+ ///
+ EFI_IFR_OP_HEADER Header;
+ ///
+ /// Animation identifier in the HII database.
+ ///
+ EFI_ANIMATION_ID Id;
+} EFI_IFR_ANIMATION;
+
+///
+/// HII animation package header.
+///
+typedef struct _EFI_HII_ANIMATION_PACKAGE_HDR {
+ ///
+ /// Standard package header, where Header.Type = EFI_HII_PACKAGE_ANIMATIONS.
+ ///
+ EFI_HII_PACKAGE_HEADER Header;
+ ///
+ /// Offset, relative to this header, of the animation information. If
+ /// this is zero, then there are no animation sequences in the package.
+ ///
+ UINT32 AnimationInfoOffset;
+} EFI_HII_ANIMATION_PACKAGE_HDR;
+
+///
+/// Animation information is encoded as a series of blocks,
+/// with each block prefixed by a single byte header EFI_HII_ANIMATION_BLOCK.
+///
+typedef struct _EFI_HII_ANIMATION_BLOCK {
+ UINT8 BlockType;
+ //UINT8 BlockBody[];
+} EFI_HII_ANIMATION_BLOCK;
+
+///
+/// Animation block types.
+///
+#define EFI_HII_AIBT_END 0x00
+#define EFI_HII_AIBT_OVERLAY_IMAGES 0x10
+#define EFI_HII_AIBT_CLEAR_IMAGES 0x11
+#define EFI_HII_AIBT_RESTORE_SCRN 0x12
+#define EFI_HII_AIBT_OVERLAY_IMAGES_LOOP 0x18
+#define EFI_HII_AIBT_CLEAR_IMAGES_LOOP 0x19
+#define EFI_HII_AIBT_RESTORE_SCRN_LOOP 0x1A
+#define EFI_HII_AIBT_DUPLICATE 0x20
+#define EFI_HII_AIBT_SKIP2 0x21
+#define EFI_HII_AIBT_SKIP1 0x22
+#define EFI_HII_AIBT_EXT1 0x30
+#define EFI_HII_AIBT_EXT2 0x31
+#define EFI_HII_AIBT_EXT4 0x32
+
+///
+/// Extended block headers used for variable sized animation records
+/// which need an explicit length.
+///
+
+typedef struct _EFI_HII_AIBT_EXT1_BLOCK {
+ ///
+ /// Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT1.
+ ///
+ EFI_HII_ANIMATION_BLOCK Header;
+ ///
+ /// The block type.
+ ///
+ UINT8 BlockType2;
+ ///
+ /// Size of the animation block, in bytes, including the animation block header.
+ ///
+ UINT8 Length;
+} EFI_HII_AIBT_EXT1_BLOCK;
+
+typedef struct _EFI_HII_AIBT_EXT2_BLOCK {
+ ///
+ /// Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT2.
+ ///
+ EFI_HII_ANIMATION_BLOCK Header;
+ ///
+ /// The block type
+ ///
+ UINT8 BlockType2;
+ ///
+ /// Size of the animation block, in bytes, including the animation block header.
+ ///
+ UINT16 Length;
+} EFI_HII_AIBT_EXT2_BLOCK;
+
+typedef struct _EFI_HII_AIBT_EXT4_BLOCK {
+ ///
+ /// Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT4.
+ ///
+ EFI_HII_ANIMATION_BLOCK Header;
+ ///
+ /// The block type
+ ///
+ UINT8 BlockType2;
+ ///
+ /// Size of the animation block, in bytes, including the animation block header.
+ ///
+ UINT32 Length;
+} EFI_HII_AIBT_EXT4_BLOCK;
+
+typedef struct _EFI_HII_ANIMATION_CELL {
+ ///
+ /// The X offset from the upper left hand corner of the logical
+ /// window to position the indexed image.
+ ///
+ UINT16 OffsetX;
+ ///
+ /// The Y offset from the upper left hand corner of the logical
+ /// window to position the indexed image.
+ ///
+ UINT16 OffsetY;
+ ///
+ /// The image to display at the specified offset from the upper left
+ /// hand corner of the logical window.
+ ///
+ EFI_IMAGE_ID ImageId;
+ ///
+ /// The number of milliseconds to delay after displaying the indexed
+ /// image and before continuing on to the next linked image. If value
+ /// is zero, no delay.
+ ///
+ UINT16 Delay;
+} EFI_HII_ANIMATION_CELL;
+
+///
+/// An animation block to describe an animation sequence that does not cycle, and
+/// where one image is simply displayed over the previous image.
+///
+typedef struct _EFI_HII_AIBT_OVERLAY_IMAGES_BLOCK {
+ ///
+ /// This is image that is to be reference by the image protocols, if the
+ /// animation function is not supported or disabled. This image can
+ /// be one particular image from the animation sequence (if any one
+ /// of the animation frames has a complete image) or an alternate
+ /// image that can be displayed alone. If the value is zero, no image
+ /// is displayed.
+ ///
+ EFI_IMAGE_ID DftImageId;
+ ///
+ /// The overall width of the set of images (logical window width).
+ ///
+ UINT16 Width;
+ ///
+ /// The overall height of the set of images (logical window height).
+ ///
+ UINT16 Height;
+ ///
+ /// The number of EFI_HII_ANIMATION_CELL contained in the
+ /// animation sequence.
+ ///
+ UINT16 CellCount;
+ ///
+ /// An array of CellCount animation cells.
+ ///
+ EFI_HII_ANIMATION_CELL AnimationCell[1];
+} EFI_HII_AIBT_OVERLAY_IMAGES_BLOCK;
+
+///
+/// An animation block to describe an animation sequence that does not cycle,
+/// and where the logical window is cleared to the specified color before
+/// the next image is displayed.
+///
+typedef struct _EFI_HII_AIBT_CLEAR_IMAGES_BLOCK {
+ ///
+ /// This is image that is to be reference by the image protocols, if the
+ /// animation function is not supported or disabled. This image can
+ /// be one particular image from the animation sequence (if any one
+ /// of the animation frames has a complete image) or an alternate
+ /// image that can be displayed alone. If the value is zero, no image
+ /// is displayed.
+ ///
+ EFI_IMAGE_ID DftImageId;
+ ///
+ /// The overall width of the set of images (logical window width).
+ ///
+ UINT16 Width;
+ ///
+ /// The overall height of the set of images (logical window height).
+ ///
+ UINT16 Height;
+ ///
+ /// The number of EFI_HII_ANIMATION_CELL contained in the
+ /// animation sequence.
+ ///
+ UINT16 CellCount;
+ ///
+ /// The color to clear the logical window to before displaying the
+ /// indexed image.
+ ///
+ EFI_HII_RGB_PIXEL BackgndColor;
+ ///
+ /// An array of CellCount animation cells.
+ ///
+ EFI_HII_ANIMATION_CELL AnimationCell[1];
+} EFI_HII_AIBT_CLEAR_IMAGES_BLOCK;
+
+///
+/// An animation block to describe an animation sequence that does not cycle,
+/// and where the screen is restored to the original state before the next
+/// image is displayed.
+///
+typedef struct _EFI_HII_AIBT_RESTORE_SCRN_BLOCK {
+ ///
+ /// This is image that is to be reference by the image protocols, if the
+ /// animation function is not supported or disabled. This image can
+ /// be one particular image from the animation sequence (if any one
+ /// of the animation frames has a complete image) or an alternate
+ /// image that can be displayed alone. If the value is zero, no image
+ /// is displayed.
+ ///
+ EFI_IMAGE_ID DftImageId;
+ ///
+ /// The overall width of the set of images (logical window width).
+ ///
+ UINT16 Width;
+ ///
+ /// The overall height of the set of images (logical window height).
+ ///
+ UINT16 Height;
+ ///
+ /// The number of EFI_HII_ANIMATION_CELL contained in the
+ /// animation sequence.
+ ///
+ UINT16 CellCount;
+ ///
+ /// An array of CellCount animation cells.
+ ///
+ EFI_HII_ANIMATION_CELL AnimationCell[1];
+} EFI_HII_AIBT_RESTORE_SCRN_BLOCK;
+
+///
+/// An animation block to describe an animation sequence that continuously cycles,
+/// and where one image is simply displayed over the previous image.
+///
+typedef EFI_HII_AIBT_OVERLAY_IMAGES_BLOCK EFI_HII_AIBT_OVERLAY_IMAGES_LOOP_BLOCK;
+
+///
+/// An animation block to describe an animation sequence that continuously cycles,
+/// and where the logical window is cleared to the specified color before
+/// the next image is displayed.
+///
+typedef EFI_HII_AIBT_CLEAR_IMAGES_BLOCK EFI_HII_AIBT_CLEAR_IMAGES_LOOP_BLOCK;
+
+///
+/// An animation block to describe an animation sequence that continuously cycles,
+/// and where the screen is restored to the original state before
+/// the next image is displayed.
+///
+typedef EFI_HII_AIBT_RESTORE_SCRN_BLOCK EFI_HII_AIBT_RESTORE_SCRN_LOOP_BLOCK;
+
+///
+/// Assigns a new character value to a previously defined animation sequence.
+///
+typedef struct _EFI_HII_AIBT_DUPLICATE_BLOCK {
+ ///
+ /// The previously defined animation ID with the exact same
+ /// animation information.
+ ///
+ EFI_ANIMATION_ID AnimationId;
+} EFI_HII_AIBT_DUPLICATE_BLOCK;
+
+///
+/// Skips animation IDs.
+///
+typedef struct _EFI_HII_AIBT_SKIP1_BLOCK {
+ ///
+ /// The unsigned 8-bit value to add to AnimationIdCurrent.
+ ///
+ UINT8 SkipCount;
+} EFI_HII_AIBT_SKIP1_BLOCK;
+
+///
+/// Skips animation IDs.
+///
+typedef struct _EFI_HII_AIBT_SKIP2_BLOCK {
+ ///
+ /// The unsigned 16-bit value to add to AnimationIdCurrent.
+ ///
+ UINT16 SkipCount;
+} EFI_HII_AIBT_SKIP2_BLOCK;
+
+#pragma pack()
+
+
+
+///
+/// References to string tokens must use this macro to enable scanning for
+/// token usages.
+///
+///
+/// STRING_TOKEN is not defined in UEFI specification. But it is placed
+/// here for the easy access by C files and VFR source files.
+///
+#define STRING_TOKEN(t) t
+
+///
+/// IMAGE_TOKEN is not defined in UEFI specification. But it is placed
+/// here for the easy access by C files and VFR source files.
+///
+#define IMAGE_TOKEN(t) t
+
+#endif
diff --git a/sys/contrib/edk2/Include/Uefi/UefiMultiPhase.h b/sys/contrib/edk2/Include/Uefi/UefiMultiPhase.h
new file mode 100644
index 0000000..3035258
--- /dev/null
+++ b/sys/contrib/edk2/Include/Uefi/UefiMultiPhase.h
@@ -0,0 +1,231 @@
+/** @file
+ This includes some definitions introduced in UEFI that will be used in both PEI and DXE phases.
+
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __UEFI_MULTIPHASE_H__
+#define __UEFI_MULTIPHASE_H__
+
+#include <Guid/WinCertificate.h>
+///
+/// Enumeration of memory types introduced in UEFI.
+///
+typedef enum {
+ ///
+ /// Not used.
+ ///
+ EfiReservedMemoryType,
+ ///
+ /// The code portions of a loaded application.
+ /// (Note that UEFI OS loaders are UEFI applications.)
+ ///
+ EfiLoaderCode,
+ ///
+ /// The data portions of a loaded application and the default data allocation
+ /// type used by an application to allocate pool memory.
+ ///
+ EfiLoaderData,
+ ///
+ /// The code portions of a loaded Boot Services Driver.
+ ///
+ EfiBootServicesCode,
+ ///
+ /// The data portions of a loaded Boot Serves Driver, and the default data
+ /// allocation type used by a Boot Services Driver to allocate pool memory.
+ ///
+ EfiBootServicesData,
+ ///
+ /// The code portions of a loaded Runtime Services Driver.
+ ///
+ EfiRuntimeServicesCode,
+ ///
+ /// The data portions of a loaded Runtime Services Driver and the default
+ /// data allocation type used by a Runtime Services Driver to allocate pool memory.
+ ///
+ EfiRuntimeServicesData,
+ ///
+ /// Free (unallocated) memory.
+ ///
+ EfiConventionalMemory,
+ ///
+ /// Memory in which errors have been detected.
+ ///
+ EfiUnusableMemory,
+ ///
+ /// Memory that holds the ACPI tables.
+ ///
+ EfiACPIReclaimMemory,
+ ///
+ /// Address space reserved for use by the firmware.
+ ///
+ EfiACPIMemoryNVS,
+ ///
+ /// Used by system firmware to request that a memory-mapped IO region
+ /// be mapped by the OS to a virtual address so it can be accessed by EFI runtime services.
+ ///
+ EfiMemoryMappedIO,
+ ///
+ /// System memory-mapped IO region that is used to translate memory
+ /// cycles to IO cycles by the processor.
+ ///
+ EfiMemoryMappedIOPortSpace,
+ ///
+ /// Address space reserved by the firmware for code that is part of the processor.
+ ///
+ EfiPalCode,
+ ///
+ /// A memory region that operates as EfiConventionalMemory,
+ /// however it happens to also support byte-addressable non-volatility.
+ ///
+ EfiPersistentMemory,
+ EfiMaxMemoryType
+} EFI_MEMORY_TYPE;
+
+///
+/// Enumeration of reset types.
+///
+typedef enum {
+ ///
+ /// Used to induce a system-wide reset. This sets all circuitry within the
+ /// system to its initial state. This type of reset is asynchronous to system
+ /// operation and operates withgout regard to cycle boundaries. EfiColdReset
+ /// is tantamount to a system power cycle.
+ ///
+ EfiResetCold,
+ ///
+ /// Used to induce a system-wide initialization. The processors are set to their
+ /// initial state, and pending cycles are not corrupted. If the system does
+ /// not support this reset type, then an EfiResetCold must be performed.
+ ///
+ EfiResetWarm,
+ ///
+ /// Used to induce an entry into a power state equivalent to the ACPI G2/S5 or G3
+ /// state. If the system does not support this reset type, then when the system
+ /// is rebooted, it should exhibit the EfiResetCold attributes.
+ ///
+ EfiResetShutdown,
+ ///
+ /// Used to induce a system-wide reset. The exact type of the reset is defined by
+ /// the EFI_GUID that follows the Null-terminated Unicode string passed into
+ /// ResetData. If the platform does not recognize the EFI_GUID in ResetData the
+ /// platform must pick a supported reset type to perform. The platform may
+ /// optionally log the parameters from any non-normal reset that occurs.
+ ///
+ EfiResetPlatformSpecific
+} EFI_RESET_TYPE;
+
+///
+/// Data structure that precedes all of the standard EFI table types.
+///
+typedef struct {
+ ///
+ /// A 64-bit signature that identifies the type of table that follows.
+ /// Unique signatures have been generated for the EFI System Table,
+ /// the EFI Boot Services Table, and the EFI Runtime Services Table.
+ ///
+ UINT64 Signature;
+ ///
+ /// The revision of the EFI Specification to which this table
+ /// conforms. The upper 16 bits of this field contain the major
+ /// revision value, and the lower 16 bits contain the minor revision
+ /// value. The minor revision values are limited to the range of 00..99.
+ ///
+ UINT32 Revision;
+ ///
+ /// The size, in bytes, of the entire table including the EFI_TABLE_HEADER.
+ ///
+ UINT32 HeaderSize;
+ ///
+ /// The 32-bit CRC for the entire table. This value is computed by
+ /// setting this field to 0, and computing the 32-bit CRC for HeaderSize bytes.
+ ///
+ UINT32 CRC32;
+ ///
+ /// Reserved field that must be set to 0.
+ ///
+ UINT32 Reserved;
+} EFI_TABLE_HEADER;
+
+///
+/// Attributes of variable.
+///
+#define EFI_VARIABLE_NON_VOLATILE 0x00000001
+#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
+#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
+///
+/// This attribute is identified by the mnemonic 'HR'
+/// elsewhere in this specification.
+///
+#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
+///
+/// Attributes of Authenticated Variable
+///
+#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
+#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020
+#define EFI_VARIABLE_APPEND_WRITE 0x00000040
+
+
+///
+/// AuthInfo is a WIN_CERTIFICATE using the wCertificateType
+/// WIN_CERTIFICATE_UEFI_GUID and the CertType
+/// EFI_CERT_TYPE_RSA2048_SHA256_GUID. If the attribute specifies
+/// authenticated access, then the Data buffer should begin with an
+/// authentication descriptor prior to the data payload and DataSize
+/// should reflect the the data.and descriptor size. The caller
+/// shall digest the Monotonic Count value and the associated data
+/// for the variable update using the SHA-256 1-way hash algorithm.
+/// The ensuing the 32-byte digest will be signed using the private
+/// key associated w/ the public/private 2048-bit RSA key-pair. The
+/// WIN_CERTIFICATE shall be used to describe the signature of the
+/// Variable data *Data. In addition, the signature will also
+/// include the MonotonicCount value to guard against replay attacks.
+///
+typedef struct {
+ ///
+ /// Included in the signature of
+ /// AuthInfo.Used to ensure freshness/no
+ /// replay. Incremented during each
+ /// "Write" access.
+ ///
+ UINT64 MonotonicCount;
+ ///
+ /// Provides the authorization for the variable
+ /// access. It is a signature across the
+ /// variable data and the Monotonic Count
+ /// value. Caller uses Private key that is
+ /// associated with a public key that has been
+ /// provisioned via the key exchange.
+ ///
+ WIN_CERTIFICATE_UEFI_GUID AuthInfo;
+} EFI_VARIABLE_AUTHENTICATION;
+
+///
+/// When the attribute EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS is
+/// set, then the Data buffer shall begin with an instance of a complete (and serialized)
+/// EFI_VARIABLE_AUTHENTICATION_2 descriptor. The descriptor shall be followed by the new
+/// variable value and DataSize shall reflect the combined size of the descriptor and the new
+/// variable value. The authentication descriptor is not part of the variable data and is not
+/// returned by subsequent calls to GetVariable().
+///
+typedef struct {
+ ///
+ /// For the TimeStamp value, components Pad1, Nanosecond, TimeZone, Daylight and
+ /// Pad2 shall be set to 0. This means that the time shall always be expressed in GMT.
+ ///
+ EFI_TIME TimeStamp;
+ ///
+ /// Only a CertType of EFI_CERT_TYPE_PKCS7_GUID is accepted.
+ ///
+ WIN_CERTIFICATE_UEFI_GUID AuthInfo;
+ } EFI_VARIABLE_AUTHENTICATION_2;
+
+#endif
diff --git a/sys/contrib/edk2/Include/Uefi/UefiPxe.h b/sys/contrib/edk2/Include/Uefi/UefiPxe.h
new file mode 100644
index 0000000..aad1d35
--- /dev/null
+++ b/sys/contrib/edk2/Include/Uefi/UefiPxe.h
@@ -0,0 +1,1792 @@
+/** @file
+ This header file contains all of the PXE type definitions,
+ structure prototypes, global variables and constants that
+ are needed for porting PXE to EFI.
+
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ @par Revision Reference:
+ 32/64-bit PXE specification:
+ alpha-4, 99-Dec-17.
+
+**/
+
+#ifndef __EFI_PXE_H__
+#define __EFI_PXE_H__
+
+#pragma pack(1)
+
+#define PXE_BUSTYPE(a, b, c, d) \
+ ( \
+ (((PXE_UINT32) (d) & 0xFF) << 24) | (((PXE_UINT32) (c) & 0xFF) << 16) | (((PXE_UINT32) (b) & 0xFF) << 8) | \
+ ((PXE_UINT32) (a) & 0xFF) \
+ )
+
+///
+/// UNDI ROM ID and devive ID signature.
+///
+#define PXE_BUSTYPE_PXE PXE_BUSTYPE ('!', 'P', 'X', 'E')
+
+///
+/// BUS ROM ID signatures.
+///
+#define PXE_BUSTYPE_PCI PXE_BUSTYPE ('P', 'C', 'I', 'R')
+#define PXE_BUSTYPE_PC_CARD PXE_BUSTYPE ('P', 'C', 'C', 'R')
+#define PXE_BUSTYPE_USB PXE_BUSTYPE ('U', 'S', 'B', 'R')
+#define PXE_BUSTYPE_1394 PXE_BUSTYPE ('1', '3', '9', '4')
+
+#define PXE_SWAP_UINT16(n) ((((PXE_UINT16) (n) & 0x00FF) << 8) | (((PXE_UINT16) (n) & 0xFF00) >> 8))
+
+#define PXE_SWAP_UINT32(n) \
+ ((((PXE_UINT32)(n) & 0x000000FF) << 24) | \
+ (((PXE_UINT32)(n) & 0x0000FF00) << 8) | \
+ (((PXE_UINT32)(n) & 0x00FF0000) >> 8) | \
+ (((PXE_UINT32)(n) & 0xFF000000) >> 24))
+
+#define PXE_SWAP_UINT64(n) \
+ ((((PXE_UINT64)(n) & 0x00000000000000FFULL) << 56) | \
+ (((PXE_UINT64)(n) & 0x000000000000FF00ULL) << 40) | \
+ (((PXE_UINT64)(n) & 0x0000000000FF0000ULL) << 24) | \
+ (((PXE_UINT64)(n) & 0x00000000FF000000ULL) << 8) | \
+ (((PXE_UINT64)(n) & 0x000000FF00000000ULL) >> 8) | \
+ (((PXE_UINT64)(n) & 0x0000FF0000000000ULL) >> 24) | \
+ (((PXE_UINT64)(n) & 0x00FF000000000000ULL) >> 40) | \
+ (((PXE_UINT64)(n) & 0xFF00000000000000ULL) >> 56))
+
+
+#define PXE_CPBSIZE_NOT_USED 0 ///< zero
+#define PXE_DBSIZE_NOT_USED 0 ///< zero
+#define PXE_CPBADDR_NOT_USED (PXE_UINT64) 0 ///< zero
+#define PXE_DBADDR_NOT_USED (PXE_UINT64) 0 ///< zero
+#define PXE_CONST CONST
+
+#define PXE_VOLATILE volatile
+
+typedef VOID PXE_VOID;
+typedef UINT8 PXE_UINT8;
+typedef UINT16 PXE_UINT16;
+typedef UINT32 PXE_UINT32;
+typedef UINTN PXE_UINTN;
+
+///
+/// Typedef unsigned long PXE_UINT64.
+///
+typedef UINT64 PXE_UINT64;
+
+typedef PXE_UINT8 PXE_BOOL;
+#define PXE_FALSE 0 ///< zero
+#define PXE_TRUE (!PXE_FALSE)
+
+typedef PXE_UINT16 PXE_OPCODE;
+
+///
+/// Return UNDI operational state.
+///
+#define PXE_OPCODE_GET_STATE 0x0000
+
+///
+/// Change UNDI operational state from Stopped to Started.
+///
+#define PXE_OPCODE_START 0x0001
+
+///
+/// Change UNDI operational state from Started to Stopped.
+///
+#define PXE_OPCODE_STOP 0x0002
+
+///
+/// Get UNDI initialization information.
+///
+#define PXE_OPCODE_GET_INIT_INFO 0x0003
+
+///
+/// Get NIC configuration information.
+///
+#define PXE_OPCODE_GET_CONFIG_INFO 0x0004
+
+///
+/// Changed UNDI operational state from Started to Initialized.
+///
+#define PXE_OPCODE_INITIALIZE 0x0005
+
+///
+/// Re-initialize the NIC H/W.
+///
+#define PXE_OPCODE_RESET 0x0006
+
+///
+/// Change the UNDI operational state from Initialized to Started.
+///
+#define PXE_OPCODE_SHUTDOWN 0x0007
+
+///
+/// Read & change state of external interrupt enables.
+///
+#define PXE_OPCODE_INTERRUPT_ENABLES 0x0008
+
+///
+/// Read & change state of packet receive filters.
+///
+#define PXE_OPCODE_RECEIVE_FILTERS 0x0009
+
+///
+/// Read & change station MAC address.
+///
+#define PXE_OPCODE_STATION_ADDRESS 0x000A
+
+///
+/// Read traffic statistics.
+///
+#define PXE_OPCODE_STATISTICS 0x000B
+
+///
+/// Convert multicast IP address to multicast MAC address.
+///
+#define PXE_OPCODE_MCAST_IP_TO_MAC 0x000C
+
+///
+/// Read or change non-volatile storage on the NIC.
+///
+#define PXE_OPCODE_NVDATA 0x000D
+
+///
+/// Get & clear interrupt status.
+///
+#define PXE_OPCODE_GET_STATUS 0x000E
+
+///
+/// Fill media header in packet for transmit.
+///
+#define PXE_OPCODE_FILL_HEADER 0x000F
+
+///
+/// Transmit packet(s).
+///
+#define PXE_OPCODE_TRANSMIT 0x0010
+
+///
+/// Receive packet.
+///
+#define PXE_OPCODE_RECEIVE 0x0011
+
+///
+/// Last valid PXE UNDI OpCode number.
+///
+#define PXE_OPCODE_LAST_VALID 0x0011
+
+typedef PXE_UINT16 PXE_OPFLAGS;
+
+#define PXE_OPFLAGS_NOT_USED 0x0000
+
+//
+// //////////////////////////////////////
+// UNDI Get State
+//
+// No OpFlags
+
+////////////////////////////////////////
+// UNDI Start
+//
+// No OpFlags
+
+////////////////////////////////////////
+// UNDI Stop
+//
+// No OpFlags
+
+////////////////////////////////////////
+// UNDI Get Init Info
+//
+// No Opflags
+
+////////////////////////////////////////
+// UNDI Get Config Info
+//
+// No Opflags
+
+///
+/// UNDI Initialize
+///
+#define PXE_OPFLAGS_INITIALIZE_CABLE_DETECT_MASK 0x0001
+#define PXE_OPFLAGS_INITIALIZE_DETECT_CABLE 0x0000
+#define PXE_OPFLAGS_INITIALIZE_DO_NOT_DETECT_CABLE 0x0001
+
+///
+///
+/// UNDI Reset
+///
+#define PXE_OPFLAGS_RESET_DISABLE_INTERRUPTS 0x0001
+#define PXE_OPFLAGS_RESET_DISABLE_FILTERS 0x0002
+
+///
+/// UNDI Shutdown.
+///
+/// No OpFlags.
+
+///
+/// UNDI Interrupt Enables.
+///
+///
+/// Select whether to enable or disable external interrupt signals.
+/// Setting both enable and disable will return PXE_STATCODE_INVALID_OPFLAGS.
+///
+#define PXE_OPFLAGS_INTERRUPT_OPMASK 0xC000
+#define PXE_OPFLAGS_INTERRUPT_ENABLE 0x8000
+#define PXE_OPFLAGS_INTERRUPT_DISABLE 0x4000
+#define PXE_OPFLAGS_INTERRUPT_READ 0x0000
+
+///
+/// Enable receive interrupts. An external interrupt will be generated
+/// after a complete non-error packet has been received.
+///
+#define PXE_OPFLAGS_INTERRUPT_RECEIVE 0x0001
+
+///
+/// Enable transmit interrupts. An external interrupt will be generated
+/// after a complete non-error packet has been transmitted.
+///
+#define PXE_OPFLAGS_INTERRUPT_TRANSMIT 0x0002
+
+///
+/// Enable command interrupts. An external interrupt will be generated
+/// when command execution stops.
+///
+#define PXE_OPFLAGS_INTERRUPT_COMMAND 0x0004
+
+///
+/// Generate software interrupt. Setting this bit generates an external
+/// interrupt, if it is supported by the hardware.
+///
+#define PXE_OPFLAGS_INTERRUPT_SOFTWARE 0x0008
+
+///
+/// UNDI Receive Filters.
+///
+///
+/// Select whether to enable or disable receive filters.
+/// Setting both enable and disable will return PXE_STATCODE_INVALID_OPCODE.
+///
+#define PXE_OPFLAGS_RECEIVE_FILTER_OPMASK 0xC000
+#define PXE_OPFLAGS_RECEIVE_FILTER_ENABLE 0x8000
+#define PXE_OPFLAGS_RECEIVE_FILTER_DISABLE 0x4000
+#define PXE_OPFLAGS_RECEIVE_FILTER_READ 0x0000
+
+///
+/// To reset the contents of the multicast MAC address filter list,
+/// set this OpFlag:
+///
+#define PXE_OPFLAGS_RECEIVE_FILTER_RESET_MCAST_LIST 0x2000
+
+///
+/// Enable unicast packet receiving. Packets sent to the current station
+/// MAC address will be received.
+///
+#define PXE_OPFLAGS_RECEIVE_FILTER_UNICAST 0x0001
+
+///
+/// Enable broadcast packet receiving. Packets sent to the broadcast
+/// MAC address will be received.
+///
+#define PXE_OPFLAGS_RECEIVE_FILTER_BROADCAST 0x0002
+
+///
+/// Enable filtered multicast packet receiving. Packets sent to any
+/// of the multicast MAC addresses in the multicast MAC address filter
+/// list will be received. If the filter list is empty, no multicast
+///
+#define PXE_OPFLAGS_RECEIVE_FILTER_FILTERED_MULTICAST 0x0004
+
+///
+/// Enable promiscuous packet receiving. All packets will be received.
+///
+#define PXE_OPFLAGS_RECEIVE_FILTER_PROMISCUOUS 0x0008
+
+///
+/// Enable promiscuous multicast packet receiving. All multicast
+/// packets will be received.
+///
+#define PXE_OPFLAGS_RECEIVE_FILTER_ALL_MULTICAST 0x0010
+
+///
+/// UNDI Station Address.
+///
+#define PXE_OPFLAGS_STATION_ADDRESS_READ 0x0000
+#define PXE_OPFLAGS_STATION_ADDRESS_WRITE 0x0000
+#define PXE_OPFLAGS_STATION_ADDRESS_RESET 0x0001
+
+///
+/// UNDI Statistics.
+///
+#define PXE_OPFLAGS_STATISTICS_READ 0x0000
+#define PXE_OPFLAGS_STATISTICS_RESET 0x0001
+
+///
+/// UNDI MCast IP to MAC.
+///
+///
+/// Identify the type of IP address in the CPB.
+///
+#define PXE_OPFLAGS_MCAST_IP_TO_MAC_OPMASK 0x0003
+#define PXE_OPFLAGS_MCAST_IPV4_TO_MAC 0x0000
+#define PXE_OPFLAGS_MCAST_IPV6_TO_MAC 0x0001
+
+///
+/// UNDI NvData.
+///
+///
+/// Select the type of non-volatile data operation.
+///
+#define PXE_OPFLAGS_NVDATA_OPMASK 0x0001
+#define PXE_OPFLAGS_NVDATA_READ 0x0000
+#define PXE_OPFLAGS_NVDATA_WRITE 0x0001
+
+///
+/// UNDI Get Status.
+///
+///
+/// Return current interrupt status. This will also clear any interrupts
+/// that are currently set. This can be used in a polling routine. The
+/// interrupt flags are still set and cleared even when the interrupts
+/// are disabled.
+///
+#define PXE_OPFLAGS_GET_INTERRUPT_STATUS 0x0001
+
+///
+/// Return list of transmitted buffers for recycling. Transmit buffers
+/// must not be changed or unallocated until they have recycled. After
+/// issuing a transmit command, wait for a transmit complete interrupt.
+/// When a transmit complete interrupt is received, read the transmitted
+/// buffers. Do not plan on getting one buffer per interrupt. Some
+/// NICs and UNDIs may transmit multiple buffers per interrupt.
+///
+#define PXE_OPFLAGS_GET_TRANSMITTED_BUFFERS 0x0002
+
+///
+/// Return current media status.
+///
+#define PXE_OPFLAGS_GET_MEDIA_STATUS 0x0004
+
+///
+/// UNDI Fill Header.
+///
+#define PXE_OPFLAGS_FILL_HEADER_OPMASK 0x0001
+#define PXE_OPFLAGS_FILL_HEADER_FRAGMENTED 0x0001
+#define PXE_OPFLAGS_FILL_HEADER_WHOLE 0x0000
+
+///
+/// UNDI Transmit.
+///
+///
+/// S/W UNDI only. Return after the packet has been transmitted. A
+/// transmit complete interrupt will still be generated and the transmit
+/// buffer will have to be recycled.
+///
+#define PXE_OPFLAGS_SWUNDI_TRANSMIT_OPMASK 0x0001
+#define PXE_OPFLAGS_TRANSMIT_BLOCK 0x0001
+#define PXE_OPFLAGS_TRANSMIT_DONT_BLOCK 0x0000
+
+#define PXE_OPFLAGS_TRANSMIT_OPMASK 0x0002
+#define PXE_OPFLAGS_TRANSMIT_FRAGMENTED 0x0002
+#define PXE_OPFLAGS_TRANSMIT_WHOLE 0x0000
+
+///
+/// UNDI Receive.
+///
+/// No OpFlags.
+///
+
+///
+/// PXE STATFLAGS.
+///
+typedef PXE_UINT16 PXE_STATFLAGS;
+
+#define PXE_STATFLAGS_INITIALIZE 0x0000
+
+///
+/// Common StatFlags that can be returned by all commands.
+///
+///
+/// The COMMAND_COMPLETE and COMMAND_FAILED status flags must be
+/// implemented by all UNDIs. COMMAND_QUEUED is only needed by UNDIs
+/// that support command queuing.
+///
+#define PXE_STATFLAGS_STATUS_MASK 0xC000
+#define PXE_STATFLAGS_COMMAND_COMPLETE 0xC000
+#define PXE_STATFLAGS_COMMAND_FAILED 0x8000
+#define PXE_STATFLAGS_COMMAND_QUEUED 0x4000
+
+///
+/// UNDI Get State.
+///
+#define PXE_STATFLAGS_GET_STATE_MASK 0x0003
+#define PXE_STATFLAGS_GET_STATE_INITIALIZED 0x0002
+#define PXE_STATFLAGS_GET_STATE_STARTED 0x0001
+#define PXE_STATFLAGS_GET_STATE_STOPPED 0x0000
+
+///
+/// UNDI Start.
+///
+/// No additional StatFlags.
+///
+
+///
+/// UNDI Get Init Info.
+///
+#define PXE_STATFLAGS_CABLE_DETECT_MASK 0x0001
+#define PXE_STATFLAGS_CABLE_DETECT_NOT_SUPPORTED 0x0000
+#define PXE_STATFLAGS_CABLE_DETECT_SUPPORTED 0x0001
+
+#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA_MASK 0x0002
+#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA_NOT_SUPPORTED 0x0000
+#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA_SUPPORTED 0x0002
+
+///
+/// UNDI Initialize.
+///
+#define PXE_STATFLAGS_INITIALIZED_NO_MEDIA 0x0001
+
+///
+/// UNDI Reset.
+///
+#define PXE_STATFLAGS_RESET_NO_MEDIA 0x0001
+
+///
+/// UNDI Shutdown.
+///
+/// No additional StatFlags.
+
+///
+/// UNDI Interrupt Enables.
+///
+///
+/// If set, receive interrupts are enabled.
+///
+#define PXE_STATFLAGS_INTERRUPT_RECEIVE 0x0001
+
+///
+/// If set, transmit interrupts are enabled.
+///
+#define PXE_STATFLAGS_INTERRUPT_TRANSMIT 0x0002
+
+///
+/// If set, command interrupts are enabled.
+///
+#define PXE_STATFLAGS_INTERRUPT_COMMAND 0x0004
+
+///
+/// UNDI Receive Filters.
+///
+
+///
+/// If set, unicast packets will be received.
+///
+#define PXE_STATFLAGS_RECEIVE_FILTER_UNICAST 0x0001
+
+///
+/// If set, broadcast packets will be received.
+///
+#define PXE_STATFLAGS_RECEIVE_FILTER_BROADCAST 0x0002
+
+///
+/// If set, multicast packets that match up with the multicast address
+/// filter list will be received.
+///
+#define PXE_STATFLAGS_RECEIVE_FILTER_FILTERED_MULTICAST 0x0004
+
+///
+/// If set, all packets will be received.
+///
+#define PXE_STATFLAGS_RECEIVE_FILTER_PROMISCUOUS 0x0008
+
+///
+/// If set, all multicast packets will be received.
+///
+#define PXE_STATFLAGS_RECEIVE_FILTER_ALL_MULTICAST 0x0010
+
+///
+/// UNDI Station Address.
+///
+/// No additional StatFlags.
+///
+
+///
+/// UNDI Statistics.
+///
+/// No additional StatFlags.
+///
+
+///
+//// UNDI MCast IP to MAC.
+////
+//// No additional StatFlags.
+
+///
+/// UNDI NvData.
+///
+/// No additional StatFlags.
+///
+
+///
+/// UNDI Get Status.
+///
+
+///
+/// Use to determine if an interrupt has occurred.
+///
+#define PXE_STATFLAGS_GET_STATUS_INTERRUPT_MASK 0x000F
+#define PXE_STATFLAGS_GET_STATUS_NO_INTERRUPTS 0x0000
+
+///
+/// If set, at least one receive interrupt occurred.
+///
+#define PXE_STATFLAGS_GET_STATUS_RECEIVE 0x0001
+
+///
+/// If set, at least one transmit interrupt occurred.
+///
+#define PXE_STATFLAGS_GET_STATUS_TRANSMIT 0x0002
+
+///
+/// If set, at least one command interrupt occurred.
+///
+#define PXE_STATFLAGS_GET_STATUS_COMMAND 0x0004
+
+///
+/// If set, at least one software interrupt occurred.
+///
+#define PXE_STATFLAGS_GET_STATUS_SOFTWARE 0x0008
+
+///
+/// This flag is set if the transmitted buffer queue is empty. This flag
+/// will be set if all transmitted buffer addresses get written into the DB.
+///
+#define PXE_STATFLAGS_GET_STATUS_TXBUF_QUEUE_EMPTY 0x0010
+
+///
+/// This flag is set if no transmitted buffer addresses were written
+/// into the DB. (This could be because DBsize was too small.)
+///
+#define PXE_STATFLAGS_GET_STATUS_NO_TXBUFS_WRITTEN 0x0020
+
+///
+/// This flag is set if there is no media detected.
+///
+#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA 0x0040
+
+///
+/// UNDI Fill Header.
+///
+/// No additional StatFlags.
+///
+
+///
+/// UNDI Transmit.
+///
+/// No additional StatFlags.
+
+///
+/// UNDI Receive
+///.
+
+///
+/// No additional StatFlags.
+///
+typedef PXE_UINT16 PXE_STATCODE;
+
+#define PXE_STATCODE_INITIALIZE 0x0000
+
+///
+/// Common StatCodes returned by all UNDI commands, UNDI protocol functions
+/// and BC protocol functions.
+///
+#define PXE_STATCODE_SUCCESS 0x0000
+
+#define PXE_STATCODE_INVALID_CDB 0x0001
+#define PXE_STATCODE_INVALID_CPB 0x0002
+#define PXE_STATCODE_BUSY 0x0003
+#define PXE_STATCODE_QUEUE_FULL 0x0004
+#define PXE_STATCODE_ALREADY_STARTED 0x0005
+#define PXE_STATCODE_NOT_STARTED 0x0006
+#define PXE_STATCODE_NOT_SHUTDOWN 0x0007
+#define PXE_STATCODE_ALREADY_INITIALIZED 0x0008
+#define PXE_STATCODE_NOT_INITIALIZED 0x0009
+#define PXE_STATCODE_DEVICE_FAILURE 0x000A
+#define PXE_STATCODE_NVDATA_FAILURE 0x000B
+#define PXE_STATCODE_UNSUPPORTED 0x000C
+#define PXE_STATCODE_BUFFER_FULL 0x000D
+#define PXE_STATCODE_INVALID_PARAMETER 0x000E
+#define PXE_STATCODE_INVALID_UNDI 0x000F
+#define PXE_STATCODE_IPV4_NOT_SUPPORTED 0x0010
+#define PXE_STATCODE_IPV6_NOT_SUPPORTED 0x0011
+#define PXE_STATCODE_NOT_ENOUGH_MEMORY 0x0012
+#define PXE_STATCODE_NO_DATA 0x0013
+
+typedef PXE_UINT16 PXE_IFNUM;
+
+///
+/// This interface number must be passed to the S/W UNDI Start command.
+///
+#define PXE_IFNUM_START 0x0000
+
+///
+/// This interface number is returned by the S/W UNDI Get State and
+/// Start commands if information in the CDB, CPB or DB is invalid.
+///
+#define PXE_IFNUM_INVALID 0x0000
+
+typedef PXE_UINT16 PXE_CONTROL;
+
+///
+/// Setting this flag directs the UNDI to queue this command for later
+/// execution if the UNDI is busy and it supports command queuing.
+/// If queuing is not supported, a PXE_STATCODE_INVALID_CONTROL error
+/// is returned. If the queue is full, a PXE_STATCODE_CDB_QUEUE_FULL
+/// error is returned.
+///
+#define PXE_CONTROL_QUEUE_IF_BUSY 0x0002
+
+///
+/// These two bit values are used to determine if there are more UNDI
+/// CDB structures following this one. If the link bit is set, there
+/// must be a CDB structure following this one. Execution will start
+/// on the next CDB structure as soon as this one completes successfully.
+/// If an error is generated by this command, execution will stop.
+///
+#define PXE_CONTROL_LINK 0x0001
+#define PXE_CONTROL_LAST_CDB_IN_LIST 0x0000
+
+typedef PXE_UINT8 PXE_FRAME_TYPE;
+
+#define PXE_FRAME_TYPE_NONE 0x00
+#define PXE_FRAME_TYPE_UNICAST 0x01
+#define PXE_FRAME_TYPE_BROADCAST 0x02
+#define PXE_FRAME_TYPE_FILTERED_MULTICAST 0x03
+#define PXE_FRAME_TYPE_PROMISCUOUS 0x04
+#define PXE_FRAME_TYPE_PROMISCUOUS_MULTICAST 0x05
+
+#define PXE_FRAME_TYPE_MULTICAST PXE_FRAME_TYPE_FILTERED_MULTICAST
+
+typedef PXE_UINT32 PXE_IPV4;
+
+typedef PXE_UINT32 PXE_IPV6[4];
+#define PXE_MAC_LENGTH 32
+
+typedef PXE_UINT8 PXE_MAC_ADDR[PXE_MAC_LENGTH];
+
+typedef PXE_UINT8 PXE_IFTYPE;
+typedef UINT16 PXE_MEDIA_PROTOCOL;
+
+///
+/// This information is from the ARP section of RFC 1700.
+///
+/// 1 Ethernet (10Mb) [JBP]
+/// 2 Experimental Ethernet (3Mb) [JBP]
+/// 3 Amateur Radio AX.25 [PXK]
+/// 4 Proteon ProNET Token Ring [JBP]
+/// 5 Chaos [GXP]
+/// 6 IEEE 802 Networks [JBP]
+/// 7 ARCNET [JBP]
+/// 8 Hyperchannel [JBP]
+/// 9 Lanstar [TU]
+/// 10 Autonet Short Address [MXB1]
+/// 11 LocalTalk [JKR1]
+/// 12 LocalNet (IBM* PCNet or SYTEK* LocalNET) [JXM]
+/// 13 Ultra link [RXD2]
+/// 14 SMDS [GXC1]
+/// 15 Frame Relay [AGM]
+/// 16 Asynchronous Transmission Mode (ATM) [JXB2]
+/// 17 HDLC [JBP]
+/// 18 Fibre Channel [Yakov Rekhter]
+/// 19 Asynchronous Transmission Mode (ATM) [Mark Laubach]
+/// 20 Serial Line [JBP]
+/// 21 Asynchronous Transmission Mode (ATM) [MXB1]
+///
+/// * Other names and brands may be claimed as the property of others.
+///
+#define PXE_IFTYPE_ETHERNET 0x01
+#define PXE_IFTYPE_TOKENRING 0x04
+#define PXE_IFTYPE_FIBRE_CHANNEL 0x12
+
+typedef struct s_pxe_hw_undi {
+ PXE_UINT32 Signature; ///< PXE_ROMID_SIGNATURE.
+ PXE_UINT8 Len; ///< sizeof(PXE_HW_UNDI).
+ PXE_UINT8 Fudge; ///< makes 8-bit cksum equal zero.
+ PXE_UINT8 Rev; ///< PXE_ROMID_REV.
+ PXE_UINT8 IFcnt; ///< physical connector count lower byte.
+ PXE_UINT8 MajorVer; ///< PXE_ROMID_MAJORVER.
+ PXE_UINT8 MinorVer; ///< PXE_ROMID_MINORVER.
+ PXE_UINT8 IFcntExt; ///< physical connector count upper byte.
+ PXE_UINT8 reserved; ///< zero, not used.
+ PXE_UINT32 Implementation; ///< implementation flags.
+ ///< reserved ///< vendor use.
+ ///< UINT32 Status; ///< status port.
+ ///< UINT32 Command; ///< command port.
+ ///< UINT64 CDBaddr; ///< CDB address port.
+ ///<
+} PXE_HW_UNDI;
+
+///
+/// Status port bit definitions.
+///
+
+///
+/// UNDI operation state.
+///
+#define PXE_HWSTAT_STATE_MASK 0xC0000000
+#define PXE_HWSTAT_BUSY 0xC0000000
+#define PXE_HWSTAT_INITIALIZED 0x80000000
+#define PXE_HWSTAT_STARTED 0x40000000
+#define PXE_HWSTAT_STOPPED 0x00000000
+
+///
+/// If set, last command failed.
+///
+#define PXE_HWSTAT_COMMAND_FAILED 0x20000000
+
+///
+/// If set, identifies enabled receive filters.
+///
+#define PXE_HWSTAT_PROMISCUOUS_MULTICAST_RX_ENABLED 0x00001000
+#define PXE_HWSTAT_PROMISCUOUS_RX_ENABLED 0x00000800
+#define PXE_HWSTAT_BROADCAST_RX_ENABLED 0x00000400
+#define PXE_HWSTAT_MULTICAST_RX_ENABLED 0x00000200
+#define PXE_HWSTAT_UNICAST_RX_ENABLED 0x00000100
+
+///
+/// If set, identifies enabled external interrupts.
+///
+#define PXE_HWSTAT_SOFTWARE_INT_ENABLED 0x00000080
+#define PXE_HWSTAT_TX_COMPLETE_INT_ENABLED 0x00000040
+#define PXE_HWSTAT_PACKET_RX_INT_ENABLED 0x00000020
+#define PXE_HWSTAT_CMD_COMPLETE_INT_ENABLED 0x00000010
+
+///
+/// If set, identifies pending interrupts.
+///
+#define PXE_HWSTAT_SOFTWARE_INT_PENDING 0x00000008
+#define PXE_HWSTAT_TX_COMPLETE_INT_PENDING 0x00000004
+#define PXE_HWSTAT_PACKET_RX_INT_PENDING 0x00000002
+#define PXE_HWSTAT_CMD_COMPLETE_INT_PENDING 0x00000001
+
+///
+/// Command port definitions.
+///
+
+///
+/// If set, CDB identified in CDBaddr port is given to UNDI.
+/// If not set, other bits in this word will be processed.
+///
+#define PXE_HWCMD_ISSUE_COMMAND 0x80000000
+#define PXE_HWCMD_INTS_AND_FILTS 0x00000000
+
+///
+/// Use these to enable/disable receive filters.
+///
+#define PXE_HWCMD_PROMISCUOUS_MULTICAST_RX_ENABLE 0x00001000
+#define PXE_HWCMD_PROMISCUOUS_RX_ENABLE 0x00000800
+#define PXE_HWCMD_BROADCAST_RX_ENABLE 0x00000400
+#define PXE_HWCMD_MULTICAST_RX_ENABLE 0x00000200
+#define PXE_HWCMD_UNICAST_RX_ENABLE 0x00000100
+
+///
+/// Use these to enable/disable external interrupts.
+///
+#define PXE_HWCMD_SOFTWARE_INT_ENABLE 0x00000080
+#define PXE_HWCMD_TX_COMPLETE_INT_ENABLE 0x00000040
+#define PXE_HWCMD_PACKET_RX_INT_ENABLE 0x00000020
+#define PXE_HWCMD_CMD_COMPLETE_INT_ENABLE 0x00000010
+
+///
+/// Use these to clear pending external interrupts.
+///
+#define PXE_HWCMD_CLEAR_SOFTWARE_INT 0x00000008
+#define PXE_HWCMD_CLEAR_TX_COMPLETE_INT 0x00000004
+#define PXE_HWCMD_CLEAR_PACKET_RX_INT 0x00000002
+#define PXE_HWCMD_CLEAR_CMD_COMPLETE_INT 0x00000001
+
+typedef struct s_pxe_sw_undi {
+ PXE_UINT32 Signature; ///< PXE_ROMID_SIGNATURE.
+ PXE_UINT8 Len; ///< sizeof(PXE_SW_UNDI).
+ PXE_UINT8 Fudge; ///< makes 8-bit cksum zero.
+ PXE_UINT8 Rev; ///< PXE_ROMID_REV.
+ PXE_UINT8 IFcnt; ///< physical connector count lower byte.
+ PXE_UINT8 MajorVer; ///< PXE_ROMID_MAJORVER.
+ PXE_UINT8 MinorVer; ///< PXE_ROMID_MINORVER.
+ PXE_UINT8 IFcntExt; ///< physical connector count upper byte.
+ PXE_UINT8 reserved1; ///< zero, not used.
+ PXE_UINT32 Implementation; ///< Implementation flags.
+ PXE_UINT64 EntryPoint; ///< API entry point.
+ PXE_UINT8 reserved2[3]; ///< zero, not used.
+ PXE_UINT8 BusCnt; ///< number of bustypes supported.
+ PXE_UINT32 BusType[1]; ///< list of supported bustypes.
+} PXE_SW_UNDI;
+
+typedef union u_pxe_undi {
+ PXE_HW_UNDI hw;
+ PXE_SW_UNDI sw;
+} PXE_UNDI;
+
+///
+/// Signature of !PXE structure.
+///
+#define PXE_ROMID_SIGNATURE PXE_BUSTYPE ('!', 'P', 'X', 'E')
+
+///
+/// !PXE structure format revision
+///.
+#define PXE_ROMID_REV 0x02
+
+///
+/// UNDI command interface revision. These are the values that get sent
+/// in option 94 (Client Network Interface Identifier) in the DHCP Discover
+/// and PXE Boot Server Request packets.
+///
+#define PXE_ROMID_MAJORVER 0x03
+#define PXE_ROMID_MINORVER 0x01
+
+///
+/// Implementation flags.
+///
+#define PXE_ROMID_IMP_HW_UNDI 0x80000000
+#define PXE_ROMID_IMP_SW_VIRT_ADDR 0x40000000
+#define PXE_ROMID_IMP_64BIT_DEVICE 0x00010000
+#define PXE_ROMID_IMP_FRAG_SUPPORTED 0x00008000
+#define PXE_ROMID_IMP_CMD_LINK_SUPPORTED 0x00004000
+#define PXE_ROMID_IMP_CMD_QUEUE_SUPPORTED 0x00002000
+#define PXE_ROMID_IMP_MULTI_FRAME_SUPPORTED 0x00001000
+#define PXE_ROMID_IMP_NVDATA_SUPPORT_MASK 0x00000C00
+#define PXE_ROMID_IMP_NVDATA_BULK_WRITABLE 0x00000C00
+#define PXE_ROMID_IMP_NVDATA_SPARSE_WRITABLE 0x00000800
+#define PXE_ROMID_IMP_NVDATA_READ_ONLY 0x00000400
+#define PXE_ROMID_IMP_NVDATA_NOT_AVAILABLE 0x00000000
+#define PXE_ROMID_IMP_STATISTICS_SUPPORTED 0x00000200
+#define PXE_ROMID_IMP_STATION_ADDR_SETTABLE 0x00000100
+#define PXE_ROMID_IMP_PROMISCUOUS_MULTICAST_RX_SUPPORTED 0x00000080
+#define PXE_ROMID_IMP_PROMISCUOUS_RX_SUPPORTED 0x00000040
+#define PXE_ROMID_IMP_BROADCAST_RX_SUPPORTED 0x00000020
+#define PXE_ROMID_IMP_FILTERED_MULTICAST_RX_SUPPORTED 0x00000010
+#define PXE_ROMID_IMP_SOFTWARE_INT_SUPPORTED 0x00000008
+#define PXE_ROMID_IMP_TX_COMPLETE_INT_SUPPORTED 0x00000004
+#define PXE_ROMID_IMP_PACKET_RX_INT_SUPPORTED 0x00000002
+#define PXE_ROMID_IMP_CMD_COMPLETE_INT_SUPPORTED 0x00000001
+
+typedef struct s_pxe_cdb {
+ PXE_OPCODE OpCode;
+ PXE_OPFLAGS OpFlags;
+ PXE_UINT16 CPBsize;
+ PXE_UINT16 DBsize;
+ PXE_UINT64 CPBaddr;
+ PXE_UINT64 DBaddr;
+ PXE_STATCODE StatCode;
+ PXE_STATFLAGS StatFlags;
+ PXE_UINT16 IFnum;
+ PXE_CONTROL Control;
+} PXE_CDB;
+
+typedef union u_pxe_ip_addr {
+ PXE_IPV6 IPv6;
+ PXE_IPV4 IPv4;
+} PXE_IP_ADDR;
+
+typedef union pxe_device {
+ ///
+ /// PCI and PC Card NICs are both identified using bus, device
+ /// and function numbers. For PC Card, this may require PC
+ /// Card services to be loaded in the BIOS or preboot
+ /// environment.
+ ///
+ struct {
+ ///
+ /// See S/W UNDI ROMID structure definition for PCI and
+ /// PCC BusType definitions.
+ ///
+ PXE_UINT32 BusType;
+
+ ///
+ /// Bus, device & function numbers that locate this device.
+ ///
+ PXE_UINT16 Bus;
+ PXE_UINT8 Device;
+ PXE_UINT8 Function;
+ }
+ PCI, PCC;
+
+} PXE_DEVICE;
+
+///
+/// cpb and db definitions
+///
+#define MAX_PCI_CONFIG_LEN 64 ///< # of dwords.
+#define MAX_EEPROM_LEN 128 ///< # of dwords.
+#define MAX_XMIT_BUFFERS 32 ///< recycling Q length for xmit_done.
+#define MAX_MCAST_ADDRESS_CNT 8
+
+typedef struct s_pxe_cpb_start_30 {
+ ///
+ /// PXE_VOID Delay(UINTN microseconds);
+ ///
+ /// UNDI will never request a delay smaller than 10 microseconds
+ /// and will always request delays in increments of 10 microseconds.
+ /// The Delay() CallBack routine must delay between n and n + 10
+ /// microseconds before returning control to the UNDI.
+ ///
+ /// This field cannot be set to zero.
+ ///
+ UINT64 Delay;
+
+ ///
+ /// PXE_VOID Block(UINT32 enable);
+ ///
+ /// UNDI may need to block multi-threaded/multi-processor access to
+ /// critical code sections when programming or accessing the network
+ /// device. To this end, a blocking service is needed by the UNDI.
+ /// When UNDI needs a block, it will call Block() passing a non-zero
+ /// value. When UNDI no longer needs a block, it will call Block()
+ /// with a zero value. When called, if the Block() is already enabled,
+ /// do not return control to the UNDI until the previous Block() is
+ /// disabled.
+ ///
+ /// This field cannot be set to zero.
+ ///
+ UINT64 Block;
+
+ ///
+ /// PXE_VOID Virt2Phys(UINT64 virtual, UINT64 physical_ptr);
+ ///
+ /// UNDI will pass the virtual address of a buffer and the virtual
+ /// address of a 64-bit physical buffer. Convert the virtual address
+ /// to a physical address and write the result to the physical address
+ /// buffer. If virtual and physical addresses are the same, just
+ /// copy the virtual address to the physical address buffer.
+ ///
+ /// This field can be set to zero if virtual and physical addresses
+ /// are equal.
+ ///
+ UINT64 Virt2Phys;
+ ///
+ /// PXE_VOID Mem_IO(UINT8 read_write, UINT8 len, UINT64 port,
+ /// UINT64 buf_addr);
+ ///
+ /// UNDI will read or write the device io space using this call back
+ /// function. It passes the number of bytes as the len parameter and it
+ /// will be either 1,2,4 or 8.
+ ///
+ /// This field can not be set to zero.
+ ///
+ UINT64 Mem_IO;
+} PXE_CPB_START_30;
+
+typedef struct s_pxe_cpb_start_31 {
+ ///
+ /// PXE_VOID Delay(UINT64 UnqId, UINTN microseconds);
+ ///
+ /// UNDI will never request a delay smaller than 10 microseconds
+ /// and will always request delays in increments of 10 microseconds.
+ /// The Delay() CallBack routine must delay between n and n + 10
+ /// microseconds before returning control to the UNDI.
+ ///
+ /// This field cannot be set to zero.
+ ///
+ UINT64 Delay;
+
+ ///
+ /// PXE_VOID Block(UINT64 unq_id, UINT32 enable);
+ ///
+ /// UNDI may need to block multi-threaded/multi-processor access to
+ /// critical code sections when programming or accessing the network
+ /// device. To this end, a blocking service is needed by the UNDI.
+ /// When UNDI needs a block, it will call Block() passing a non-zero
+ /// value. When UNDI no longer needs a block, it will call Block()
+ /// with a zero value. When called, if the Block() is already enabled,
+ /// do not return control to the UNDI until the previous Block() is
+ /// disabled.
+ ///
+ /// This field cannot be set to zero.
+ ///
+ UINT64 Block;
+
+ ///
+ /// PXE_VOID Virt2Phys(UINT64 UnqId, UINT64 virtual, UINT64 physical_ptr);
+ ///
+ /// UNDI will pass the virtual address of a buffer and the virtual
+ /// address of a 64-bit physical buffer. Convert the virtual address
+ /// to a physical address and write the result to the physical address
+ /// buffer. If virtual and physical addresses are the same, just
+ /// copy the virtual address to the physical address buffer.
+ ///
+ /// This field can be set to zero if virtual and physical addresses
+ /// are equal.
+ ///
+ UINT64 Virt2Phys;
+ ///
+ /// PXE_VOID Mem_IO(UINT64 UnqId, UINT8 read_write, UINT8 len, UINT64 port,
+ /// UINT64 buf_addr);
+ ///
+ /// UNDI will read or write the device io space using this call back
+ /// function. It passes the number of bytes as the len parameter and it
+ /// will be either 1,2,4 or 8.
+ ///
+ /// This field can not be set to zero.
+ ///
+ UINT64 Mem_IO;
+ ///
+ /// PXE_VOID Map_Mem(UINT64 unq_id, UINT64 virtual_addr, UINT32 size,
+ /// UINT32 Direction, UINT64 mapped_addr);
+ ///
+ /// UNDI will pass the virtual address of a buffer, direction of the data
+ /// flow from/to the mapped buffer (the constants are defined below)
+ /// and a place holder (pointer) for the mapped address.
+ /// This call will Map the given address to a physical DMA address and write
+ /// the result to the mapped_addr pointer. If there is no need to
+ /// map the given address to a lower address (i.e. the given address is
+ /// associated with a physical address that is already compatible to be
+ /// used with the DMA, it converts the given virtual address to it's
+ /// physical address and write that in the mapped address pointer.
+ ///
+ /// This field can be set to zero if there is no mapping service available.
+ ///
+ UINT64 Map_Mem;
+
+ ///
+ /// PXE_VOID UnMap_Mem(UINT64 unq_id, UINT64 virtual_addr, UINT32 size,
+ /// UINT32 Direction, UINT64 mapped_addr);
+ ///
+ /// UNDI will pass the virtual and mapped addresses of a buffer.
+ /// This call will un map the given address.
+ ///
+ /// This field can be set to zero if there is no unmapping service available.
+ ///
+ UINT64 UnMap_Mem;
+
+ ///
+ /// PXE_VOID Sync_Mem(UINT64 unq_id, UINT64 virtual,
+ /// UINT32 size, UINT32 Direction, UINT64 mapped_addr);
+ ///
+ /// UNDI will pass the virtual and mapped addresses of a buffer.
+ /// This call will synchronize the contents of both the virtual and mapped.
+ /// buffers for the given Direction.
+ ///
+ /// This field can be set to zero if there is no service available.
+ ///
+ UINT64 Sync_Mem;
+
+ ///
+ /// protocol driver can provide anything for this Unique_ID, UNDI remembers
+ /// that as just a 64bit value associated to the interface specified by
+ /// the ifnum and gives it back as a parameter to all the call-back routines
+ /// when calling for that interface!
+ ///
+ UINT64 Unique_ID;
+} PXE_CPB_START_31;
+
+#define TO_AND_FROM_DEVICE 0
+#define FROM_DEVICE 1
+#define TO_DEVICE 2
+
+#define PXE_DELAY_MILLISECOND 1000
+#define PXE_DELAY_SECOND 1000000
+#define PXE_IO_READ 0
+#define PXE_IO_WRITE 1
+#define PXE_MEM_READ 2
+#define PXE_MEM_WRITE 4
+
+typedef struct s_pxe_db_get_init_info {
+ ///
+ /// Minimum length of locked memory buffer that must be given to
+ /// the Initialize command. Giving UNDI more memory will generally
+ /// give better performance.
+ ///
+ /// If MemoryRequired is zero, the UNDI does not need and will not
+ /// use system memory to receive and transmit packets.
+ ///
+ PXE_UINT32 MemoryRequired;
+
+ ///
+ /// Maximum frame data length for Tx/Rx excluding the media header.
+ ///
+ PXE_UINT32 FrameDataLen;
+
+ ///
+ /// Supported link speeds are in units of mega bits. Common ethernet
+ /// values are 10, 100 and 1000. Unused LinkSpeeds[] entries are zero
+ /// filled.
+ ///
+ PXE_UINT32 LinkSpeeds[4];
+
+ ///
+ /// Number of non-volatile storage items.
+ ///
+ PXE_UINT32 NvCount;
+
+ ///
+ /// Width of non-volatile storage item in bytes. 0, 1, 2 or 4
+ ///
+ PXE_UINT16 NvWidth;
+
+ ///
+ /// Media header length. This is the typical media header length for
+ /// this UNDI. This information is needed when allocating receive
+ /// and transmit buffers.
+ ///
+ PXE_UINT16 MediaHeaderLen;
+
+ ///
+ /// Number of bytes in the NIC hardware (MAC) address.
+ ///
+ PXE_UINT16 HWaddrLen;
+
+ ///
+ /// Maximum number of multicast MAC addresses in the multicast
+ /// MAC address filter list.
+ ///
+ PXE_UINT16 MCastFilterCnt;
+
+ ///
+ /// Default number and size of transmit and receive buffers that will
+ /// be allocated by the UNDI. If MemoryRequired is non-zero, this
+ /// allocation will come out of the memory buffer given to the Initialize
+ /// command. If MemoryRequired is zero, this allocation will come out of
+ /// memory on the NIC.
+ ///
+ PXE_UINT16 TxBufCnt;
+ PXE_UINT16 TxBufSize;
+ PXE_UINT16 RxBufCnt;
+ PXE_UINT16 RxBufSize;
+
+ ///
+ /// Hardware interface types defined in the Assigned Numbers RFC
+ /// and used in DHCP and ARP packets.
+ /// See the PXE_IFTYPE typedef and PXE_IFTYPE_xxx macros.
+ ///
+ PXE_UINT8 IFtype;
+
+ ///
+ /// Supported duplex. See PXE_DUPLEX_xxxxx #defines below.
+ ///
+ PXE_UINT8 SupportedDuplexModes;
+
+ ///
+ /// Supported loopback options. See PXE_LOOPBACK_xxxxx #defines below.
+ ///
+ PXE_UINT8 SupportedLoopBackModes;
+} PXE_DB_GET_INIT_INFO;
+
+#define PXE_MAX_TXRX_UNIT_ETHER 1500
+
+#define PXE_HWADDR_LEN_ETHER 0x0006
+#define PXE_MAC_HEADER_LEN_ETHER 0x000E
+
+#define PXE_DUPLEX_ENABLE_FULL_SUPPORTED 1
+#define PXE_DUPLEX_FORCE_FULL_SUPPORTED 2
+
+#define PXE_LOOPBACK_INTERNAL_SUPPORTED 1
+#define PXE_LOOPBACK_EXTERNAL_SUPPORTED 2
+
+typedef struct s_pxe_pci_config_info {
+ ///
+ /// This is the flag field for the PXE_DB_GET_CONFIG_INFO union.
+ /// For PCI bus devices, this field is set to PXE_BUSTYPE_PCI.
+ ///
+ UINT32 BusType;
+
+ ///
+ /// This identifies the PCI network device that this UNDI interface.
+ /// is bound to.
+ ///
+ UINT16 Bus;
+ UINT8 Device;
+ UINT8 Function;
+
+ ///
+ /// This is a copy of the PCI configuration space for this
+ /// network device.
+ ///
+ union {
+ UINT8 Byte[256];
+ UINT16 Word[128];
+ UINT32 Dword[64];
+ } Config;
+} PXE_PCI_CONFIG_INFO;
+
+typedef struct s_pxe_pcc_config_info {
+ ///
+ /// This is the flag field for the PXE_DB_GET_CONFIG_INFO union.
+ /// For PCC bus devices, this field is set to PXE_BUSTYPE_PCC.
+ ///
+ PXE_UINT32 BusType;
+
+ ///
+ /// This identifies the PCC network device that this UNDI interface
+ /// is bound to.
+ ///
+ PXE_UINT16 Bus;
+ PXE_UINT8 Device;
+ PXE_UINT8 Function;
+
+ ///
+ /// This is a copy of the PCC configuration space for this
+ /// network device.
+ ///
+ union {
+ PXE_UINT8 Byte[256];
+ PXE_UINT16 Word[128];
+ PXE_UINT32 Dword[64];
+ } Config;
+} PXE_PCC_CONFIG_INFO;
+
+typedef union u_pxe_db_get_config_info {
+ PXE_PCI_CONFIG_INFO pci;
+ PXE_PCC_CONFIG_INFO pcc;
+} PXE_DB_GET_CONFIG_INFO;
+
+typedef struct s_pxe_cpb_initialize {
+ ///
+ /// Address of first (lowest) byte of the memory buffer. This buffer must
+ /// be in contiguous physical memory and cannot be swapped out. The UNDI
+ /// will be using this for transmit and receive buffering.
+ ///
+ PXE_UINT64 MemoryAddr;
+
+ ///
+ /// MemoryLength must be greater than or equal to MemoryRequired
+ /// returned by the Get Init Info command.
+ ///
+ PXE_UINT32 MemoryLength;
+
+ ///
+ /// Desired link speed in Mbit/sec. Common ethernet values are 10, 100
+ /// and 1000. Setting a value of zero will auto-detect and/or use the
+ /// default link speed (operation depends on UNDI/NIC functionality).
+ ///
+ PXE_UINT32 LinkSpeed;
+
+ ///
+ /// Suggested number and size of receive and transmit buffers to
+ /// allocate. If MemoryAddr and MemoryLength are non-zero, this
+ /// allocation comes out of the supplied memory buffer. If MemoryAddr
+ /// and MemoryLength are zero, this allocation comes out of memory
+ /// on the NIC.
+ ///
+ /// If these fields are set to zero, the UNDI will allocate buffer
+ /// counts and sizes as it sees fit.
+ ///
+ PXE_UINT16 TxBufCnt;
+ PXE_UINT16 TxBufSize;
+ PXE_UINT16 RxBufCnt;
+ PXE_UINT16 RxBufSize;
+
+ ///
+ /// The following configuration parameters are optional and must be zero
+ /// to use the default values.
+ ///
+ PXE_UINT8 DuplexMode;
+
+ PXE_UINT8 LoopBackMode;
+} PXE_CPB_INITIALIZE;
+
+#define PXE_DUPLEX_DEFAULT 0x00
+#define PXE_FORCE_FULL_DUPLEX 0x01
+#define PXE_ENABLE_FULL_DUPLEX 0x02
+#define PXE_FORCE_HALF_DUPLEX 0x04
+#define PXE_DISABLE_FULL_DUPLEX 0x08
+
+#define LOOPBACK_NORMAL 0
+#define LOOPBACK_INTERNAL 1
+#define LOOPBACK_EXTERNAL 2
+
+typedef struct s_pxe_db_initialize {
+ ///
+ /// Actual amount of memory used from the supplied memory buffer. This
+ /// may be less that the amount of memory suppllied and may be zero if
+ /// the UNDI and network device do not use external memory buffers.
+ ///
+ /// Memory used by the UNDI and network device is allocated from the
+ /// lowest memory buffer address.
+ ///
+ PXE_UINT32 MemoryUsed;
+
+ ///
+ /// Actual number and size of receive and transmit buffers that were
+ /// allocated.
+ ///
+ PXE_UINT16 TxBufCnt;
+ PXE_UINT16 TxBufSize;
+ PXE_UINT16 RxBufCnt;
+ PXE_UINT16 RxBufSize;
+} PXE_DB_INITIALIZE;
+
+typedef struct s_pxe_cpb_receive_filters {
+ ///
+ /// List of multicast MAC addresses. This list, if present, will
+ /// replace the existing multicast MAC address filter list.
+ ///
+ PXE_MAC_ADDR MCastList[MAX_MCAST_ADDRESS_CNT];
+} PXE_CPB_RECEIVE_FILTERS;
+
+typedef struct s_pxe_db_receive_filters {
+ ///
+ /// Filtered multicast MAC address list.
+ ///
+ PXE_MAC_ADDR MCastList[MAX_MCAST_ADDRESS_CNT];
+} PXE_DB_RECEIVE_FILTERS;
+
+typedef struct s_pxe_cpb_station_address {
+ ///
+ /// If supplied and supported, the current station MAC address
+ /// will be changed.
+ ///
+ PXE_MAC_ADDR StationAddr;
+} PXE_CPB_STATION_ADDRESS;
+
+typedef struct s_pxe_dpb_station_address {
+ ///
+ /// Current station MAC address.
+ ///
+ PXE_MAC_ADDR StationAddr;
+
+ ///
+ /// Station broadcast MAC address.
+ ///
+ PXE_MAC_ADDR BroadcastAddr;
+
+ ///
+ /// Permanent station MAC address.
+ ///
+ PXE_MAC_ADDR PermanentAddr;
+} PXE_DB_STATION_ADDRESS;
+
+typedef struct s_pxe_db_statistics {
+ ///
+ /// Bit field identifying what statistic data is collected by the
+ /// UNDI/NIC.
+ /// If bit 0x00 is set, Data[0x00] is collected.
+ /// If bit 0x01 is set, Data[0x01] is collected.
+ /// If bit 0x20 is set, Data[0x20] is collected.
+ /// If bit 0x21 is set, Data[0x21] is collected.
+ /// Etc.
+ ///
+ PXE_UINT64 Supported;
+
+ ///
+ /// Statistic data.
+ ///
+ PXE_UINT64 Data[64];
+} PXE_DB_STATISTICS;
+
+///
+/// Total number of frames received. Includes frames with errors and
+/// dropped frames.
+///
+#define PXE_STATISTICS_RX_TOTAL_FRAMES 0x00
+
+///
+/// Number of valid frames received and copied into receive buffers.
+///
+#define PXE_STATISTICS_RX_GOOD_FRAMES 0x01
+
+///
+/// Number of frames below the minimum length for the media.
+/// This would be <64 for ethernet.
+///
+#define PXE_STATISTICS_RX_UNDERSIZE_FRAMES 0x02
+
+///
+/// Number of frames longer than the maxminum length for the
+/// media. This would be >1500 for ethernet.
+///
+#define PXE_STATISTICS_RX_OVERSIZE_FRAMES 0x03
+
+///
+/// Valid frames that were dropped because receive buffers were full.
+///
+#define PXE_STATISTICS_RX_DROPPED_FRAMES 0x04
+
+///
+/// Number of valid unicast frames received and not dropped.
+///
+#define PXE_STATISTICS_RX_UNICAST_FRAMES 0x05
+
+///
+/// Number of valid broadcast frames received and not dropped.
+///
+#define PXE_STATISTICS_RX_BROADCAST_FRAMES 0x06
+
+///
+/// Number of valid mutlicast frames received and not dropped.
+///
+#define PXE_STATISTICS_RX_MULTICAST_FRAMES 0x07
+
+///
+/// Number of frames w/ CRC or alignment errors.
+///
+#define PXE_STATISTICS_RX_CRC_ERROR_FRAMES 0x08
+
+///
+/// Total number of bytes received. Includes frames with errors
+/// and dropped frames.
+///
+#define PXE_STATISTICS_RX_TOTAL_BYTES 0x09
+
+///
+/// Transmit statistics.
+///
+#define PXE_STATISTICS_TX_TOTAL_FRAMES 0x0A
+#define PXE_STATISTICS_TX_GOOD_FRAMES 0x0B
+#define PXE_STATISTICS_TX_UNDERSIZE_FRAMES 0x0C
+#define PXE_STATISTICS_TX_OVERSIZE_FRAMES 0x0D
+#define PXE_STATISTICS_TX_DROPPED_FRAMES 0x0E
+#define PXE_STATISTICS_TX_UNICAST_FRAMES 0x0F
+#define PXE_STATISTICS_TX_BROADCAST_FRAMES 0x10
+#define PXE_STATISTICS_TX_MULTICAST_FRAMES 0x11
+#define PXE_STATISTICS_TX_CRC_ERROR_FRAMES 0x12
+#define PXE_STATISTICS_TX_TOTAL_BYTES 0x13
+
+///
+/// Number of collisions detection on this subnet.
+///
+#define PXE_STATISTICS_COLLISIONS 0x14
+
+///
+/// Number of frames destined for unsupported protocol.
+///
+#define PXE_STATISTICS_UNSUPPORTED_PROTOCOL 0x15
+
+///
+/// Number of valid frames received that were duplicated.
+///
+#define PXE_STATISTICS_RX_DUPLICATED_FRAMES 0x16
+
+///
+/// Number of encrypted frames received that failed to decrypt.
+///
+#define PXE_STATISTICS_RX_DECRYPT_ERROR_FRAMES 0x17
+
+///
+/// Number of frames that failed to transmit after exceeding the retry limit.
+///
+#define PXE_STATISTICS_TX_ERROR_FRAMES 0x18
+
+///
+/// Number of frames transmitted successfully after more than one attempt.
+///
+#define PXE_STATISTICS_TX_RETRY_FRAMES 0x19
+
+typedef struct s_pxe_cpb_mcast_ip_to_mac {
+ ///
+ /// Multicast IP address to be converted to multicast MAC address.
+ ///
+ PXE_IP_ADDR IP;
+} PXE_CPB_MCAST_IP_TO_MAC;
+
+typedef struct s_pxe_db_mcast_ip_to_mac {
+ ///
+ /// Multicast MAC address.
+ ///
+ PXE_MAC_ADDR MAC;
+} PXE_DB_MCAST_IP_TO_MAC;
+
+typedef struct s_pxe_cpb_nvdata_sparse {
+ ///
+ /// NvData item list. Only items in this list will be updated.
+ ///
+ struct {
+ ///
+ /// Non-volatile storage address to be changed.
+ ///
+ PXE_UINT32 Addr;
+
+ ///
+ /// Data item to write into above storage address.
+ ///
+ union {
+ PXE_UINT8 Byte;
+ PXE_UINT16 Word;
+ PXE_UINT32 Dword;
+ } Data;
+ } Item[MAX_EEPROM_LEN];
+} PXE_CPB_NVDATA_SPARSE;
+
+///
+/// When using bulk update, the size of the CPB structure must be
+/// the same size as the non-volatile NIC storage.
+///
+typedef union u_pxe_cpb_nvdata_bulk {
+ ///
+ /// Array of byte-wide data items.
+ ///
+ PXE_UINT8 Byte[MAX_EEPROM_LEN << 2];
+
+ ///
+ /// Array of word-wide data items.
+ ///
+ PXE_UINT16 Word[MAX_EEPROM_LEN << 1];
+
+ ///
+ /// Array of dword-wide data items.
+ ///
+ PXE_UINT32 Dword[MAX_EEPROM_LEN];
+} PXE_CPB_NVDATA_BULK;
+
+typedef struct s_pxe_db_nvdata {
+ ///
+ /// Arrays of data items from non-volatile storage.
+ ///
+ union {
+ ///
+ /// Array of byte-wide data items.
+ ///
+ PXE_UINT8 Byte[MAX_EEPROM_LEN << 2];
+
+ ///
+ /// Array of word-wide data items.
+ ///
+ PXE_UINT16 Word[MAX_EEPROM_LEN << 1];
+
+ ///
+ /// Array of dword-wide data items.
+ ///
+ PXE_UINT32 Dword[MAX_EEPROM_LEN];
+ } Data;
+} PXE_DB_NVDATA;
+
+typedef struct s_pxe_db_get_status {
+ ///
+ /// Length of next receive frame (header + data). If this is zero,
+ /// there is no next receive frame available.
+ ///
+ PXE_UINT32 RxFrameLen;
+
+ ///
+ /// Reserved, set to zero.
+ ///
+ PXE_UINT32 reserved;
+
+ ///
+ /// Addresses of transmitted buffers that need to be recycled.
+ ///
+ PXE_UINT64 TxBuffer[MAX_XMIT_BUFFERS];
+} PXE_DB_GET_STATUS;
+
+typedef struct s_pxe_cpb_fill_header {
+ ///
+ /// Source and destination MAC addresses. These will be copied into
+ /// the media header without doing byte swapping.
+ ///
+ PXE_MAC_ADDR SrcAddr;
+ PXE_MAC_ADDR DestAddr;
+
+ ///
+ /// Address of first byte of media header. The first byte of packet data
+ /// follows the last byte of the media header.
+ ///
+ PXE_UINT64 MediaHeader;
+
+ ///
+ /// Length of packet data in bytes (not including the media header).
+ ///
+ PXE_UINT32 PacketLen;
+
+ ///
+ /// Protocol type. This will be copied into the media header without
+ /// doing byte swapping. Protocol type numbers can be obtained from
+ /// the Assigned Numbers RFC 1700.
+ ///
+ PXE_UINT16 Protocol;
+
+ ///
+ /// Length of the media header in bytes.
+ ///
+ PXE_UINT16 MediaHeaderLen;
+} PXE_CPB_FILL_HEADER;
+
+#define PXE_PROTOCOL_ETHERNET_IP 0x0800
+#define PXE_PROTOCOL_ETHERNET_ARP 0x0806
+#define MAX_XMIT_FRAGMENTS 16
+
+typedef struct s_pxe_cpb_fill_header_fragmented {
+ ///
+ /// Source and destination MAC addresses. These will be copied into
+ /// the media header without doing byte swapping.
+ ///
+ PXE_MAC_ADDR SrcAddr;
+ PXE_MAC_ADDR DestAddr;
+
+ ///
+ /// Length of packet data in bytes (not including the media header).
+ ///
+ PXE_UINT32 PacketLen;
+
+ ///
+ /// Protocol type. This will be copied into the media header without
+ /// doing byte swapping. Protocol type numbers can be obtained from
+ /// the Assigned Numbers RFC 1700.
+ ///
+ PXE_MEDIA_PROTOCOL Protocol;
+
+ ///
+ /// Length of the media header in bytes.
+ ///
+ PXE_UINT16 MediaHeaderLen;
+
+ ///
+ /// Number of packet fragment descriptors.
+ ///
+ PXE_UINT16 FragCnt;
+
+ ///
+ /// Reserved, must be set to zero.
+ ///
+ PXE_UINT16 reserved;
+
+ ///
+ /// Array of packet fragment descriptors. The first byte of the media
+ /// header is the first byte of the first fragment.
+ ///
+ struct {
+ ///
+ /// Address of this packet fragment.
+ ///
+ PXE_UINT64 FragAddr;
+
+ ///
+ /// Length of this packet fragment.
+ ///
+ PXE_UINT32 FragLen;
+
+ ///
+ /// Reserved, must be set to zero.
+ ///
+ PXE_UINT32 reserved;
+ } FragDesc[MAX_XMIT_FRAGMENTS];
+}
+PXE_CPB_FILL_HEADER_FRAGMENTED;
+
+typedef struct s_pxe_cpb_transmit {
+ ///
+ /// Address of first byte of frame buffer. This is also the first byte
+ /// of the media header.
+ ///
+ PXE_UINT64 FrameAddr;
+
+ ///
+ /// Length of the data portion of the frame buffer in bytes. Do not
+ /// include the length of the media header.
+ ///
+ PXE_UINT32 DataLen;
+
+ ///
+ /// Length of the media header in bytes.
+ ///
+ PXE_UINT16 MediaheaderLen;
+
+ ///
+ /// Reserved, must be zero.
+ ///
+ PXE_UINT16 reserved;
+} PXE_CPB_TRANSMIT;
+
+typedef struct s_pxe_cpb_transmit_fragments {
+ ///
+ /// Length of packet data in bytes (not including the media header).
+ ///
+ PXE_UINT32 FrameLen;
+
+ ///
+ /// Length of the media header in bytes.
+ ///
+ PXE_UINT16 MediaheaderLen;
+
+ ///
+ /// Number of packet fragment descriptors.
+ ///
+ PXE_UINT16 FragCnt;
+
+ ///
+ /// Array of frame fragment descriptors. The first byte of the first
+ /// fragment is also the first byte of the media header.
+ ///
+ struct {
+ ///
+ /// Address of this frame fragment.
+ ///
+ PXE_UINT64 FragAddr;
+
+ ///
+ /// Length of this frame fragment.
+ ///
+ PXE_UINT32 FragLen;
+
+ ///
+ /// Reserved, must be set to zero.
+ ///
+ PXE_UINT32 reserved;
+ } FragDesc[MAX_XMIT_FRAGMENTS];
+}
+PXE_CPB_TRANSMIT_FRAGMENTS;
+
+typedef struct s_pxe_cpb_receive {
+ ///
+ /// Address of first byte of receive buffer. This is also the first byte
+ /// of the frame header.
+ ///
+ PXE_UINT64 BufferAddr;
+
+ ///
+ /// Length of receive buffer. This must be large enough to hold the
+ /// received frame (media header + data). If the length of smaller than
+ /// the received frame, data will be lost.
+ ///
+ PXE_UINT32 BufferLen;
+
+ ///
+ /// Reserved, must be set to zero.
+ ///
+ PXE_UINT32 reserved;
+} PXE_CPB_RECEIVE;
+
+typedef struct s_pxe_db_receive {
+ ///
+ /// Source and destination MAC addresses from media header.
+ ///
+ PXE_MAC_ADDR SrcAddr;
+ PXE_MAC_ADDR DestAddr;
+
+ ///
+ /// Length of received frame. May be larger than receive buffer size.
+ /// The receive buffer will not be overwritten. This is how to tell
+ /// if data was lost because the receive buffer was too small.
+ ///
+ PXE_UINT32 FrameLen;
+
+ ///
+ /// Protocol type from media header.
+ ///
+ PXE_MEDIA_PROTOCOL Protocol;
+
+ ///
+ /// Length of media header in received frame.
+ ///
+ PXE_UINT16 MediaHeaderLen;
+
+ ///
+ /// Type of receive frame.
+ ///
+ PXE_FRAME_TYPE Type;
+
+ ///
+ /// Reserved, must be zero.
+ ///
+ PXE_UINT8 reserved[7];
+
+} PXE_DB_RECEIVE;
+
+#pragma pack()
+
+#endif
diff --git a/sys/contrib/edk2/Include/Uefi/UefiSpec.h b/sys/contrib/edk2/Include/Uefi/UefiSpec.h
new file mode 100644
index 0000000..bea32b7
--- /dev/null
+++ b/sys/contrib/edk2/Include/Uefi/UefiSpec.h
@@ -0,0 +1,2194 @@
+/** @file
+ Include file that supports UEFI.
+
+ This include file must contain things defined in the UEFI 2.6 specification.
+ If a code construct is defined in the UEFI 2.6 specification it must be included
+ by this include file.
+
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __UEFI_SPEC_H__
+#define __UEFI_SPEC_H__
+
+#include <Uefi/UefiMultiPhase.h>
+
+#include <Protocol/DevicePath.h>
+#include <Protocol/SimpleTextIn.h>
+#include <Protocol/SimpleTextInEx.h>
+#include <Protocol/SimpleTextOut.h>
+
+///
+/// Enumeration of EFI memory allocation types.
+///
+typedef enum {
+ ///
+ /// Allocate any available range of pages that satisfies the request.
+ ///
+ AllocateAnyPages,
+ ///
+ /// Allocate any available range of pages whose uppermost address is less than
+ /// or equal to a specified maximum address.
+ ///
+ AllocateMaxAddress,
+ ///
+ /// Allocate pages at a specified address.
+ ///
+ AllocateAddress,
+ ///
+ /// Maximum enumeration value that may be used for bounds checking.
+ ///
+ MaxAllocateType
+} EFI_ALLOCATE_TYPE;
+
+//
+// Bit definitions for EFI_TIME.Daylight
+//
+#define EFI_TIME_ADJUST_DAYLIGHT 0x01
+#define EFI_TIME_IN_DAYLIGHT 0x02
+
+///
+/// Value definition for EFI_TIME.TimeZone.
+///
+#define EFI_UNSPECIFIED_TIMEZONE 0x07FF
+
+//
+// Memory cacheability attributes
+//
+#define EFI_MEMORY_UC 0x0000000000000001ULL
+#define EFI_MEMORY_WC 0x0000000000000002ULL
+#define EFI_MEMORY_WT 0x0000000000000004ULL
+#define EFI_MEMORY_WB 0x0000000000000008ULL
+#define EFI_MEMORY_UCE 0x0000000000000010ULL
+//
+// Physical memory protection attributes
+//
+// Note: UEFI spec 2.5 and following: use EFI_MEMORY_RO as write-protected physical memory
+// protection attribute. Also, EFI_MEMORY_WP means cacheability attribute.
+//
+#define EFI_MEMORY_WP 0x0000000000001000ULL
+#define EFI_MEMORY_RP 0x0000000000002000ULL
+#define EFI_MEMORY_XP 0x0000000000004000ULL
+#define EFI_MEMORY_RO 0x0000000000020000ULL
+//
+// Physical memory persistence attribute.
+// The memory region supports byte-addressable non-volatility.
+//
+#define EFI_MEMORY_NV 0x0000000000008000ULL
+//
+// The memory region provides higher reliability relative to other memory in the system.
+// If all memory has the same reliability, then this bit is not used.
+//
+#define EFI_MEMORY_MORE_RELIABLE 0x0000000000010000ULL
+//
+// Runtime memory attribute
+//
+#define EFI_MEMORY_RUNTIME 0x8000000000000000ULL
+
+///
+/// Memory descriptor version number.
+///
+#define EFI_MEMORY_DESCRIPTOR_VERSION 1
+
+///
+/// Definition of an EFI memory descriptor.
+///
+typedef struct {
+ ///
+ /// Type of the memory region. See EFI_MEMORY_TYPE.
+ ///
+ UINT32 Type;
+ ///
+ /// Physical address of the first byte of the memory region. Must aligned
+ /// on a 4 KB boundary.
+ ///
+ EFI_PHYSICAL_ADDRESS PhysicalStart;
+ ///
+ /// Virtual address of the first byte of the memory region. Must aligned
+ /// on a 4 KB boundary.
+ ///
+ EFI_VIRTUAL_ADDRESS VirtualStart;
+ ///
+ /// Number of 4KB pages in the memory region.
+ ///
+ UINT64 NumberOfPages;
+ ///
+ /// Attributes of the memory region that describe the bit mask of capabilities
+ /// for that memory region, and not necessarily the current settings for that
+ /// memory region.
+ ///
+ UINT64 Attribute;
+} EFI_MEMORY_DESCRIPTOR;
+
+/**
+ Allocates memory pages from the system.
+
+ @param[in] Type The type of allocation to perform.
+ @param[in] MemoryType The type of memory to allocate.
+ MemoryType values in the range 0x70000000..0x7FFFFFFF
+ are reserved for OEM use. MemoryType values in the range
+ 0x80000000..0xFFFFFFFF are reserved for use by UEFI OS loaders
+ that are provided by operating system vendors.
+ @param[in] Pages The number of contiguous 4 KB pages to allocate.
+ @param[in, out] Memory The pointer to a physical address. On input, the way in which the address is
+ used depends on the value of Type.
+
+ @retval EFI_SUCCESS The requested pages were allocated.
+ @retval EFI_INVALID_PARAMETER 1) Type is not AllocateAnyPages or
+ AllocateMaxAddress or AllocateAddress.
+ 2) MemoryType is in the range
+ EfiMaxMemoryType..0x6FFFFFFF.
+ 3) Memory is NULL.
+ 4) MemoryType is EfiPersistentMemory.
+ @retval EFI_OUT_OF_RESOURCES The pages could not be allocated.
+ @retval EFI_NOT_FOUND The requested pages could not be found.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_ALLOCATE_PAGES)(
+ IN EFI_ALLOCATE_TYPE Type,
+ IN EFI_MEMORY_TYPE MemoryType,
+ IN UINTN Pages,
+ IN OUT EFI_PHYSICAL_ADDRESS *Memory
+ );
+
+/**
+ Frees memory pages.
+
+ @param[in] Memory The base physical address of the pages to be freed.
+ @param[in] Pages The number of contiguous 4 KB pages to free.
+
+ @retval EFI_SUCCESS The requested pages were freed.
+ @retval EFI_INVALID_PARAMETER Memory is not a page-aligned address or Pages is invalid.
+ @retval EFI_NOT_FOUND The requested memory pages were not allocated with
+ AllocatePages().
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_FREE_PAGES)(
+ IN EFI_PHYSICAL_ADDRESS Memory,
+ IN UINTN Pages
+ );
+
+/**
+ Returns the current memory map.
+
+ @param[in, out] MemoryMapSize A pointer to the size, in bytes, of the MemoryMap buffer.
+ On input, this is the size of the buffer allocated by the caller.
+ On output, it is the size of the buffer returned by the firmware if
+ the buffer was large enough, or the size of the buffer needed to contain
+ the map if the buffer was too small.
+ @param[in, out] MemoryMap A pointer to the buffer in which firmware places the current memory
+ map.
+ @param[out] MapKey A pointer to the location in which firmware returns the key for the
+ current memory map.
+ @param[out] DescriptorSize A pointer to the location in which firmware returns the size, in bytes, of
+ an individual EFI_MEMORY_DESCRIPTOR.
+ @param[out] DescriptorVersion A pointer to the location in which firmware returns the version number
+ associated with the EFI_MEMORY_DESCRIPTOR.
+
+ @retval EFI_SUCCESS The memory map was returned in the MemoryMap buffer.
+ @retval EFI_BUFFER_TOO_SMALL The MemoryMap buffer was too small. The current buffer size
+ needed to hold the memory map is returned in MemoryMapSize.
+ @retval EFI_INVALID_PARAMETER 1) MemoryMapSize is NULL.
+ 2) The MemoryMap buffer is not too small and MemoryMap is
+ NULL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_GET_MEMORY_MAP)(
+ IN OUT UINTN *MemoryMapSize,
+ IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
+ OUT UINTN *MapKey,
+ OUT UINTN *DescriptorSize,
+ OUT UINT32 *DescriptorVersion
+ );
+
+/**
+ Allocates pool memory.
+
+ @param[in] PoolType The type of pool to allocate.
+ MemoryType values in the range 0x70000000..0x7FFFFFFF
+ are reserved for OEM use. MemoryType values in the range
+ 0x80000000..0xFFFFFFFF are reserved for use by UEFI OS loaders
+ that are provided by operating system vendors.
+ @param[in] Size The number of bytes to allocate from the pool.
+ @param[out] Buffer A pointer to a pointer to the allocated buffer if the call succeeds;
+ undefined otherwise.
+
+ @retval EFI_SUCCESS The requested number of bytes was allocated.
+ @retval EFI_OUT_OF_RESOURCES The pool requested could not be allocated.
+ @retval EFI_INVALID_PARAMETER Buffer is NULL.
+ PoolType is in the range EfiMaxMemoryType..0x6FFFFFFF.
+ PoolType is EfiPersistentMemory.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_ALLOCATE_POOL)(
+ IN EFI_MEMORY_TYPE PoolType,
+ IN UINTN Size,
+ OUT VOID **Buffer
+ );
+
+/**
+ Returns pool memory to the system.
+
+ @param[in] Buffer The pointer to the buffer to free.
+
+ @retval EFI_SUCCESS The memory was returned to the system.
+ @retval EFI_INVALID_PARAMETER Buffer was invalid.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_FREE_POOL)(
+ IN VOID *Buffer
+ );
+
+/**
+ Changes the runtime addressing mode of EFI firmware from physical to virtual.
+
+ @param[in] MemoryMapSize The size in bytes of VirtualMap.
+ @param[in] DescriptorSize The size in bytes of an entry in the VirtualMap.
+ @param[in] DescriptorVersion The version of the structure entries in VirtualMap.
+ @param[in] VirtualMap An array of memory descriptors which contain new virtual
+ address mapping information for all runtime ranges.
+
+ @retval EFI_SUCCESS The virtual address map has been applied.
+ @retval EFI_UNSUPPORTED EFI firmware is not at runtime, or the EFI firmware is already in
+ virtual address mapped mode.
+ @retval EFI_INVALID_PARAMETER DescriptorSize or DescriptorVersion is invalid.
+ @retval EFI_NO_MAPPING A virtual address was not supplied for a range in the memory
+ map that requires a mapping.
+ @retval EFI_NOT_FOUND A virtual address was supplied for an address that is not found
+ in the memory map.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_SET_VIRTUAL_ADDRESS_MAP)(
+ IN UINTN MemoryMapSize,
+ IN UINTN DescriptorSize,
+ IN UINT32 DescriptorVersion,
+ IN EFI_MEMORY_DESCRIPTOR *VirtualMap
+ );
+
+/**
+ Connects one or more drivers to a controller.
+
+ @param[in] ControllerHandle The handle of the controller to which driver(s) are to be connected.
+ @param[in] DriverImageHandle A pointer to an ordered list handles that support the
+ EFI_DRIVER_BINDING_PROTOCOL.
+ @param[in] RemainingDevicePath A pointer to the device path that specifies a child of the
+ controller specified by ControllerHandle.
+ @param[in] Recursive If TRUE, then ConnectController() is called recursively
+ until the entire tree of controllers below the controller specified
+ by ControllerHandle have been created. If FALSE, then
+ the tree of controllers is only expanded one level.
+
+ @retval EFI_SUCCESS 1) One or more drivers were connected to ControllerHandle.
+ 2) No drivers were connected to ControllerHandle, but
+ RemainingDevicePath is not NULL, and it is an End Device
+ Path Node.
+ @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.
+ @retval EFI_NOT_FOUND 1) There are no EFI_DRIVER_BINDING_PROTOCOL instances
+ present in the system.
+ 2) No drivers were connected to ControllerHandle.
+ @retval EFI_SECURITY_VIOLATION
+ The user has no permission to start UEFI device drivers on the device path
+ associated with the ControllerHandle or specified by the RemainingDevicePath.
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_CONNECT_CONTROLLER)(
+ IN EFI_HANDLE ControllerHandle,
+ IN EFI_HANDLE *DriverImageHandle, OPTIONAL
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath, OPTIONAL
+ IN BOOLEAN Recursive
+ );
+
+/**
+ Disconnects one or more drivers from a controller.
+
+ @param[in] ControllerHandle The handle of the controller from which driver(s) are to be disconnected.
+ @param[in] DriverImageHandle The driver to disconnect from ControllerHandle.
+ If DriverImageHandle is NULL, then all the drivers currently managing
+ ControllerHandle are disconnected from ControllerHandle.
+ @param[in] ChildHandle The handle of the child to destroy.
+ If ChildHandle is NULL, then all the children of ControllerHandle are
+ destroyed before the drivers are disconnected from ControllerHandle.
+
+ @retval EFI_SUCCESS 1) One or more drivers were disconnected from the controller.
+ 2) On entry, no drivers are managing ControllerHandle.
+ 3) DriverImageHandle is not NULL, and on entry
+ DriverImageHandle is not managing ControllerHandle.
+ @retval EFI_INVALID_PARAMETER 1) ControllerHandle is NULL.
+ 2) DriverImageHandle is not NULL, and it is not a valid EFI_HANDLE.
+ 3) ChildHandle is not NULL, and it is not a valid EFI_HANDLE.
+ 4) DriverImageHandle does not support the EFI_DRIVER_BINDING_PROTOCOL.
+ @retval EFI_OUT_OF_RESOURCES There are not enough resources available to disconnect any drivers from
+ ControllerHandle.
+ @retval EFI_DEVICE_ERROR The controller could not be disconnected because of a device error.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_DISCONNECT_CONTROLLER)(
+ IN EFI_HANDLE ControllerHandle,
+ IN EFI_HANDLE DriverImageHandle, OPTIONAL
+ IN EFI_HANDLE ChildHandle OPTIONAL
+ );
+
+
+
+//
+// ConvertPointer DebugDisposition type.
+//
+#define EFI_OPTIONAL_PTR 0x00000001
+
+/**
+ Determines the new virtual address that is to be used on subsequent memory accesses.
+
+ @param[in] DebugDisposition Supplies type information for the pointer being converted.
+ @param[in, out] Address A pointer to a pointer that is to be fixed to be the value needed
+ for the new virtual address mappings being applied.
+
+ @retval EFI_SUCCESS The pointer pointed to by Address was modified.
+ @retval EFI_INVALID_PARAMETER 1) Address is NULL.
+ 2) *Address is NULL and DebugDisposition does
+ not have the EFI_OPTIONAL_PTR bit set.
+ @retval EFI_NOT_FOUND The pointer pointed to by Address was not found to be part
+ of the current memory map. This is normally fatal.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_CONVERT_POINTER)(
+ IN UINTN DebugDisposition,
+ IN OUT VOID **Address
+ );
+
+
+//
+// These types can be ORed together as needed - for example,
+// EVT_TIMER might be Ored with EVT_NOTIFY_WAIT or
+// EVT_NOTIFY_SIGNAL.
+//
+#define EVT_TIMER 0x80000000
+#define EVT_RUNTIME 0x40000000
+#define EVT_NOTIFY_WAIT 0x00000100
+#define EVT_NOTIFY_SIGNAL 0x00000200
+
+#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
+#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
+
+//
+// The event's NotifyContext pointer points to a runtime memory
+// address.
+// The event is deprecated in UEFI2.0 and later specifications.
+//
+#define EVT_RUNTIME_CONTEXT 0x20000000
+
+
+/**
+ Invoke a notification event
+
+ @param[in] Event Event whose notification function is being invoked.
+ @param[in] Context The pointer to the notification function's context,
+ which is implementation-dependent.
+
+**/
+typedef
+VOID
+(EFIAPI *EFI_EVENT_NOTIFY)(
+ IN EFI_EVENT Event,
+ IN VOID *Context
+ );
+
+/**
+ Creates an event.
+
+ @param[in] Type The type of event to create and its mode and attributes.
+ @param[in] NotifyTpl The task priority level of event notifications, if needed.
+ @param[in] NotifyFunction The pointer to the event's notification function, if any.
+ @param[in] NotifyContext The pointer to the notification function's context; corresponds to parameter
+ Context in the notification function.
+ @param[out] Event The pointer to the newly created event if the call succeeds; undefined
+ otherwise.
+
+ @retval EFI_SUCCESS The event structure was created.
+ @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
+ @retval EFI_OUT_OF_RESOURCES The event could not be allocated.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_CREATE_EVENT)(
+ IN UINT32 Type,
+ IN EFI_TPL NotifyTpl,
+ IN EFI_EVENT_NOTIFY NotifyFunction,
+ IN VOID *NotifyContext,
+ OUT EFI_EVENT *Event
+ );
+
+/**
+ Creates an event in a group.
+
+ @param[in] Type The type of event to create and its mode and attributes.
+ @param[in] NotifyTpl The task priority level of event notifications,if needed.
+ @param[in] NotifyFunction The pointer to the event's notification function, if any.
+ @param[in] NotifyContext The pointer to the notification function's context; corresponds to parameter
+ Context in the notification function.
+ @param[in] EventGroup The pointer to the unique identifier of the group to which this event belongs.
+ If this is NULL, then the function behaves as if the parameters were passed
+ to CreateEvent.
+ @param[out] Event The pointer to the newly created event if the call succeeds; undefined
+ otherwise.
+
+ @retval EFI_SUCCESS The event structure was created.
+ @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
+ @retval EFI_OUT_OF_RESOURCES The event could not be allocated.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_CREATE_EVENT_EX)(
+ IN UINT32 Type,
+ IN EFI_TPL NotifyTpl,
+ IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL,
+ IN CONST VOID *NotifyContext OPTIONAL,
+ IN CONST EFI_GUID *EventGroup OPTIONAL,
+ OUT EFI_EVENT *Event
+ );
+
+///
+/// Timer delay types
+///
+typedef enum {
+ ///
+ /// An event's timer settings is to be cancelled and not trigger time is to be set/
+ ///
+ TimerCancel,
+ ///
+ /// An event is to be signaled periodically at a specified interval from the current time.
+ ///
+ TimerPeriodic,
+ ///
+ /// An event is to be signaled once at a specified interval from the current time.
+ ///
+ TimerRelative
+} EFI_TIMER_DELAY;
+
+/**
+ Sets the type of timer and the trigger time for a timer event.
+
+ @param[in] Event The timer event that is to be signaled at the specified time.
+ @param[in] Type The type of time that is specified in TriggerTime.
+ @param[in] TriggerTime The number of 100ns units until the timer expires.
+ A TriggerTime of 0 is legal.
+ If Type is TimerRelative and TriggerTime is 0, then the timer
+ event will be signaled on the next timer tick.
+ If Type is TimerPeriodic and TriggerTime is 0, then the timer
+ event will be signaled on every timer tick.
+
+ @retval EFI_SUCCESS The event has been set to be signaled at the requested time.
+ @retval EFI_INVALID_PARAMETER Event or Type is not valid.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_SET_TIMER)(
+ IN EFI_EVENT Event,
+ IN EFI_TIMER_DELAY Type,
+ IN UINT64 TriggerTime
+ );
+
+/**
+ Signals an event.
+
+ @param[in] Event The event to signal.
+
+ @retval EFI_SUCCESS The event has been signaled.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_SIGNAL_EVENT)(
+ IN EFI_EVENT Event
+ );
+
+/**
+ Stops execution until an event is signaled.
+
+ @param[in] NumberOfEvents The number of events in the Event array.
+ @param[in] Event An array of EFI_EVENT.
+ @param[out] Index The pointer to the index of the event which satisfied the wait condition.
+
+ @retval EFI_SUCCESS The event indicated by Index was signaled.
+ @retval EFI_INVALID_PARAMETER 1) NumberOfEvents is 0.
+ 2) The event indicated by Index is of type
+ EVT_NOTIFY_SIGNAL.
+ @retval EFI_UNSUPPORTED The current TPL is not TPL_APPLICATION.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_WAIT_FOR_EVENT)(
+ IN UINTN NumberOfEvents,
+ IN EFI_EVENT *Event,
+ OUT UINTN *Index
+ );
+
+/**
+ Closes an event.
+
+ @param[in] Event The event to close.
+
+ @retval EFI_SUCCESS The event has been closed.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_CLOSE_EVENT)(
+ IN EFI_EVENT Event
+ );
+
+/**
+ Checks whether an event is in the signaled state.
+
+ @param[in] Event The event to check.
+
+ @retval EFI_SUCCESS The event is in the signaled state.
+ @retval EFI_NOT_READY The event is not in the signaled state.
+ @retval EFI_INVALID_PARAMETER Event is of type EVT_NOTIFY_SIGNAL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_CHECK_EVENT)(
+ IN EFI_EVENT Event
+ );
+
+
+//
+// Task priority level
+//
+#define TPL_APPLICATION 4
+#define TPL_CALLBACK 8
+#define TPL_NOTIFY 16
+#define TPL_HIGH_LEVEL 31
+
+
+/**
+ Raises a task's priority level and returns its previous level.
+
+ @param[in] NewTpl The new task priority level.
+
+ @return Previous task priority level
+
+**/
+typedef
+EFI_TPL
+(EFIAPI *EFI_RAISE_TPL)(
+ IN EFI_TPL NewTpl
+ );
+
+/**
+ Restores a task's priority level to its previous value.
+
+ @param[in] OldTpl The previous task priority level to restore.
+
+**/
+typedef
+VOID
+(EFIAPI *EFI_RESTORE_TPL)(
+ IN EFI_TPL OldTpl
+ );
+
+/**
+ Returns the value of a variable.
+
+ @param[in] VariableName A Null-terminated string that is the name of the vendor's
+ variable.
+ @param[in] VendorGuid A unique identifier for the vendor.
+ @param[out] Attributes If not NULL, a pointer to the memory location to return the
+ attributes bitmask for the variable.
+ @param[in, out] DataSize On input, the size in bytes of the return Data buffer.
+ On output the size of data returned in Data.
+ @param[out] Data The buffer to return the contents of the variable. May be NULL
+ with a zero DataSize in order to determine the size buffer needed.
+
+ @retval EFI_SUCCESS The function completed successfully.
+ @retval EFI_NOT_FOUND The variable was not found.
+ @retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result.
+ @retval EFI_INVALID_PARAMETER VariableName is NULL.
+ @retval EFI_INVALID_PARAMETER VendorGuid is NULL.
+ @retval EFI_INVALID_PARAMETER DataSize is NULL.
+ @retval EFI_INVALID_PARAMETER The DataSize is not too small and Data is NULL.
+ @retval EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
+ @retval EFI_SECURITY_VIOLATION The variable could not be retrieved due to an authentication failure.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_GET_VARIABLE)(
+ IN CHAR16 *VariableName,
+ IN EFI_GUID *VendorGuid,
+ OUT UINT32 *Attributes, OPTIONAL
+ IN OUT UINTN *DataSize,
+ OUT VOID *Data OPTIONAL
+ );
+
+/**
+ Enumerates the current variable names.
+
+ @param[in, out] VariableNameSize The size of the VariableName buffer.
+ @param[in, out] VariableName On input, supplies the last VariableName that was returned
+ by GetNextVariableName(). On output, returns the Nullterminated
+ string of the current variable.
+ @param[in, out] VendorGuid On input, supplies the last VendorGuid that was returned by
+ GetNextVariableName(). On output, returns the
+ VendorGuid of the current variable.
+
+ @retval EFI_SUCCESS The function completed successfully.
+ @retval EFI_NOT_FOUND The next variable was not found.
+ @retval EFI_BUFFER_TOO_SMALL The VariableNameSize is too small for the result.
+ @retval EFI_INVALID_PARAMETER VariableNameSize is NULL.
+ @retval EFI_INVALID_PARAMETER VariableName is NULL.
+ @retval EFI_INVALID_PARAMETER VendorGuid is NULL.
+ @retval EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_GET_NEXT_VARIABLE_NAME)(
+ IN OUT UINTN *VariableNameSize,
+ IN OUT CHAR16 *VariableName,
+ IN OUT EFI_GUID *VendorGuid
+ );
+
+/**
+ Sets the value of a variable.
+
+ @param[in] VariableName A Null-terminated string that is the name of the vendor's variable.
+ Each VariableName is unique for each VendorGuid. VariableName must
+ contain 1 or more characters. If VariableName is an empty string,
+ then EFI_INVALID_PARAMETER is returned.
+ @param[in] VendorGuid A unique identifier for the vendor.
+ @param[in] Attributes Attributes bitmask to set for the variable.
+ @param[in] DataSize The size in bytes of the Data buffer. Unless the EFI_VARIABLE_APPEND_WRITE,
+ EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS, or
+ EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS attribute is set, a size of zero
+ causes the variable to be deleted. When the EFI_VARIABLE_APPEND_WRITE attribute is
+ set, then a SetVariable() call with a DataSize of zero will not cause any change to
+ the variable value (the timestamp associated with the variable may be updated however
+ even if no new data value is provided,see the description of the
+ EFI_VARIABLE_AUTHENTICATION_2 descriptor below. In this case the DataSize will not
+ be zero since the EFI_VARIABLE_AUTHENTICATION_2 descriptor will be populated).
+ @param[in] Data The contents for the variable.
+
+ @retval EFI_SUCCESS The firmware has successfully stored the variable and its data as
+ defined by the Attributes.
+ @retval EFI_INVALID_PARAMETER An invalid combination of attribute bits, name, and GUID was supplied, or the
+ DataSize exceeds the maximum allowed.
+ @retval EFI_INVALID_PARAMETER VariableName is an empty string.
+ @retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the variable and its data.
+ @retval EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
+ @retval EFI_WRITE_PROTECTED The variable in question is read-only.
+ @retval EFI_WRITE_PROTECTED The variable in question cannot be deleted.
+ @retval EFI_SECURITY_VIOLATION The variable could not be written due to EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS
+ or EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACESS being set, but the AuthInfo
+ does NOT pass the validation check carried out by the firmware.
+
+ @retval EFI_NOT_FOUND The variable trying to be updated or deleted was not found.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_SET_VARIABLE)(
+ IN CHAR16 *VariableName,
+ IN EFI_GUID *VendorGuid,
+ IN UINT32 Attributes,
+ IN UINTN DataSize,
+ IN VOID *Data
+ );
+
+
+///
+/// This provides the capabilities of the
+/// real time clock device as exposed through the EFI interfaces.
+///
+typedef struct {
+ ///
+ /// Provides the reporting resolution of the real-time clock device in
+ /// counts per second. For a normal PC-AT CMOS RTC device, this
+ /// value would be 1 Hz, or 1, to indicate that the device only reports
+ /// the time to the resolution of 1 second.
+ ///
+ UINT32 Resolution;
+ ///
+ /// Provides the timekeeping accuracy of the real-time clock in an
+ /// error rate of 1E-6 parts per million. For a clock with an accuracy
+ /// of 50 parts per million, the value in this field would be
+ /// 50,000,000.
+ ///
+ UINT32 Accuracy;
+ ///
+ /// A TRUE indicates that a time set operation clears the device's
+ /// time below the Resolution reporting level. A FALSE
+ /// indicates that the state below the Resolution level of the
+ /// device is not cleared when the time is set. Normal PC-AT CMOS
+ /// RTC devices set this value to FALSE.
+ ///
+ BOOLEAN SetsToZero;
+} EFI_TIME_CAPABILITIES;
+
+/**
+ Returns the current time and date information, and the time-keeping capabilities
+ of the hardware platform.
+
+ @param[out] Time A pointer to storage to receive a snapshot of the current time.
+ @param[out] Capabilities An optional pointer to a buffer to receive the real time clock
+ device's capabilities.
+
+ @retval EFI_SUCCESS The operation completed successfully.
+ @retval EFI_INVALID_PARAMETER Time is NULL.
+ @retval EFI_DEVICE_ERROR The time could not be retrieved due to hardware error.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_GET_TIME)(
+ OUT EFI_TIME *Time,
+ OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL
+ );
+
+/**
+ Sets the current local time and date information.
+
+ @param[in] Time A pointer to the current time.
+
+ @retval EFI_SUCCESS The operation completed successfully.
+ @retval EFI_INVALID_PARAMETER A time field is out of range.
+ @retval EFI_DEVICE_ERROR The time could not be set due due to hardware error.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_SET_TIME)(
+ IN EFI_TIME *Time
+ );
+
+/**
+ Returns the current wakeup alarm clock setting.
+
+ @param[out] Enabled Indicates if the alarm is currently enabled or disabled.
+ @param[out] Pending Indicates if the alarm signal is pending and requires acknowledgement.
+ @param[out] Time The current alarm setting.
+
+ @retval EFI_SUCCESS The alarm settings were returned.
+ @retval EFI_INVALID_PARAMETER Enabled is NULL.
+ @retval EFI_INVALID_PARAMETER Pending is NULL.
+ @retval EFI_INVALID_PARAMETER Time is NULL.
+ @retval EFI_DEVICE_ERROR The wakeup time could not be retrieved due to a hardware error.
+ @retval EFI_UNSUPPORTED A wakeup timer is not supported on this platform.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_GET_WAKEUP_TIME)(
+ OUT BOOLEAN *Enabled,
+ OUT BOOLEAN *Pending,
+ OUT EFI_TIME *Time
+ );
+
+/**
+ Sets the system wakeup alarm clock time.
+
+ @param[in] Enable Enable or disable the wakeup alarm.
+ @param[in] Time If Enable is TRUE, the time to set the wakeup alarm for.
+ If Enable is FALSE, then this parameter is optional, and may be NULL.
+
+ @retval EFI_SUCCESS If Enable is TRUE, then the wakeup alarm was enabled. If
+ Enable is FALSE, then the wakeup alarm was disabled.
+ @retval EFI_INVALID_PARAMETER A time field is out of range.
+ @retval EFI_DEVICE_ERROR The wakeup time could not be set due to a hardware error.
+ @retval EFI_UNSUPPORTED A wakeup timer is not supported on this platform.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_SET_WAKEUP_TIME)(
+ IN BOOLEAN Enable,
+ IN EFI_TIME *Time OPTIONAL
+ );
+
+/**
+ Loads an EFI image into memory.
+
+ @param[in] BootPolicy If TRUE, indicates that the request originates from the boot
+ manager, and that the boot manager is attempting to load
+ FilePath as a boot selection. Ignored if SourceBuffer is
+ not NULL.
+ @param[in] ParentImageHandle The caller's image handle.
+ @param[in] DevicePath The DeviceHandle specific file path from which the image is
+ loaded.
+ @param[in] SourceBuffer If not NULL, a pointer to the memory location containing a copy
+ of the image to be loaded.
+ @param[in] SourceSize The size in bytes of SourceBuffer. Ignored if SourceBuffer is NULL.
+ @param[out] ImageHandle The pointer to the returned image handle that is created when the
+ image is successfully loaded.
+
+ @retval EFI_SUCCESS Image was loaded into memory correctly.
+ @retval EFI_NOT_FOUND Both SourceBuffer and DevicePath are NULL.
+ @retval EFI_INVALID_PARAMETER One or more parametes are invalid.
+ @retval EFI_UNSUPPORTED The image type is not supported.
+ @retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient resources.
+ @retval EFI_LOAD_ERROR Image was not loaded because the image format was corrupt or not
+ understood.
+ @retval EFI_DEVICE_ERROR Image was not loaded because the device returned a read error.
+ @retval EFI_ACCESS_DENIED Image was not loaded because the platform policy prohibits the
+ image from being loaded. NULL is returned in *ImageHandle.
+ @retval EFI_SECURITY_VIOLATION Image was loaded and an ImageHandle was created with a
+ valid EFI_LOADED_IMAGE_PROTOCOL. However, the current
+ platform policy specifies that the image should not be started.
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_IMAGE_LOAD)(
+ IN BOOLEAN BootPolicy,
+ IN EFI_HANDLE ParentImageHandle,
+ IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
+ IN VOID *SourceBuffer OPTIONAL,
+ IN UINTN SourceSize,
+ OUT EFI_HANDLE *ImageHandle
+ );
+
+/**
+ Transfers control to a loaded image's entry point.
+
+ @param[in] ImageHandle Handle of image to be started.
+ @param[out] ExitDataSize The pointer to the size, in bytes, of ExitData.
+ @param[out] ExitData The pointer to a pointer to a data buffer that includes a Null-terminated
+ string, optionally followed by additional binary data.
+
+ @retval EFI_INVALID_PARAMETER ImageHandle is either an invalid image handle or the image
+ has already been initialized with StartImage.
+ @retval EFI_SECURITY_VIOLATION The current platform policy specifies that the image should not be started.
+ @return Exit code from image
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_IMAGE_START)(
+ IN EFI_HANDLE ImageHandle,
+ OUT UINTN *ExitDataSize,
+ OUT CHAR16 **ExitData OPTIONAL
+ );
+
+/**
+ Terminates a loaded EFI image and returns control to boot services.
+
+ @param[in] ImageHandle Handle that identifies the image. This parameter is passed to the
+ image on entry.
+ @param[in] ExitStatus The image's exit code.
+ @param[in] ExitDataSize The size, in bytes, of ExitData. Ignored if ExitStatus is EFI_SUCCESS.
+ @param[in] ExitData The pointer to a data buffer that includes a Null-terminated string,
+ optionally followed by additional binary data. The string is a
+ description that the caller may use to further indicate the reason
+ for the image's exit. ExitData is only valid if ExitStatus
+ is something other than EFI_SUCCESS. The ExitData buffer
+ must be allocated by calling AllocatePool().
+
+ @retval EFI_SUCCESS The image specified by ImageHandle was unloaded.
+ @retval EFI_INVALID_PARAMETER The image specified by ImageHandle has been loaded and
+ started with LoadImage() and StartImage(), but the
+ image is not the currently executing image.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_EXIT)(
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_STATUS ExitStatus,
+ IN UINTN ExitDataSize,
+ IN CHAR16 *ExitData OPTIONAL
+ );
+
+/**
+ Unloads an image.
+
+ @param[in] ImageHandle Handle that identifies the image to be unloaded.
+
+ @retval EFI_SUCCESS The image has been unloaded.
+ @retval EFI_INVALID_PARAMETER ImageHandle is not a valid image handle.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_IMAGE_UNLOAD)(
+ IN EFI_HANDLE ImageHandle
+ );
+
+/**
+ Terminates all boot services.
+
+ @param[in] ImageHandle Handle that identifies the exiting image.
+ @param[in] MapKey Key to the latest memory map.
+
+ @retval EFI_SUCCESS Boot services have been terminated.
+ @retval EFI_INVALID_PARAMETER MapKey is incorrect.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_EXIT_BOOT_SERVICES)(
+ IN EFI_HANDLE ImageHandle,
+ IN UINTN MapKey
+ );
+
+/**
+ Induces a fine-grained stall.
+
+ @param[in] Microseconds The number of microseconds to stall execution.
+
+ @retval EFI_SUCCESS Execution was stalled at least the requested number of
+ Microseconds.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_STALL)(
+ IN UINTN Microseconds
+ );
+
+/**
+ Sets the system's watchdog timer.
+
+ @param[in] Timeout The number of seconds to set the watchdog timer to.
+ @param[in] WatchdogCode The numeric code to log on a watchdog timer timeout event.
+ @param[in] DataSize The size, in bytes, of WatchdogData.
+ @param[in] WatchdogData A data buffer that includes a Null-terminated string, optionally
+ followed by additional binary data.
+
+ @retval EFI_SUCCESS The timeout has been set.
+ @retval EFI_INVALID_PARAMETER The supplied WatchdogCode is invalid.
+ @retval EFI_UNSUPPORTED The system does not have a watchdog timer.
+ @retval EFI_DEVICE_ERROR The watchdog timer could not be programmed due to a hardware
+ error.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_SET_WATCHDOG_TIMER)(
+ IN UINTN Timeout,
+ IN UINT64 WatchdogCode,
+ IN UINTN DataSize,
+ IN CHAR16 *WatchdogData OPTIONAL
+ );
+
+/**
+ Resets the entire platform.
+
+ @param[in] ResetType The type of reset to perform.
+ @param[in] ResetStatus The status code for the reset.
+ @param[in] DataSize The size, in bytes, of ResetData.
+ @param[in] ResetData For a ResetType of EfiResetCold, EfiResetWarm, or
+ EfiResetShutdown the data buffer starts with a Null-terminated
+ string, optionally followed by additional binary data.
+ The string is a description that the caller may use to further
+ indicate the reason for the system reset. ResetData is only
+ valid if ResetStatus is something other than EFI_SUCCESS
+ unless the ResetType is EfiResetPlatformSpecific
+ where a minimum amount of ResetData is always required.
+**/
+typedef
+VOID
+(EFIAPI *EFI_RESET_SYSTEM)(
+ IN EFI_RESET_TYPE ResetType,
+ IN EFI_STATUS ResetStatus,
+ IN UINTN DataSize,
+ IN VOID *ResetData OPTIONAL
+ );
+
+/**
+ Returns a monotonically increasing count for the platform.
+
+ @param[out] Count The pointer to returned value.
+
+ @retval EFI_SUCCESS The next monotonic count was returned.
+ @retval EFI_INVALID_PARAMETER Count is NULL.
+ @retval EFI_DEVICE_ERROR The device is not functioning properly.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_GET_NEXT_MONOTONIC_COUNT)(
+ OUT UINT64 *Count
+ );
+
+/**
+ Returns the next high 32 bits of the platform's monotonic counter.
+
+ @param[out] HighCount The pointer to returned value.
+
+ @retval EFI_SUCCESS The next high monotonic count was returned.
+ @retval EFI_INVALID_PARAMETER HighCount is NULL.
+ @retval EFI_DEVICE_ERROR The device is not functioning properly.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_GET_NEXT_HIGH_MONO_COUNT)(
+ OUT UINT32 *HighCount
+ );
+
+/**
+ Computes and returns a 32-bit CRC for a data buffer.
+
+ @param[in] Data A pointer to the buffer on which the 32-bit CRC is to be computed.
+ @param[in] DataSize The number of bytes in the buffer Data.
+ @param[out] Crc32 The 32-bit CRC that was computed for the data buffer specified by Data
+ and DataSize.
+
+ @retval EFI_SUCCESS The 32-bit CRC was computed for the data buffer and returned in
+ Crc32.
+ @retval EFI_INVALID_PARAMETER Data is NULL.
+ @retval EFI_INVALID_PARAMETER Crc32 is NULL.
+ @retval EFI_INVALID_PARAMETER DataSize is 0.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_CALCULATE_CRC32)(
+ IN VOID *Data,
+ IN UINTN DataSize,
+ OUT UINT32 *Crc32
+ );
+
+/**
+ Copies the contents of one buffer to another buffer.
+
+ @param[in] Destination The pointer to the destination buffer of the memory copy.
+ @param[in] Source The pointer to the source buffer of the memory copy.
+ @param[in] Length Number of bytes to copy from Source to Destination.
+
+**/
+typedef
+VOID
+(EFIAPI *EFI_COPY_MEM)(
+ IN VOID *Destination,
+ IN VOID *Source,
+ IN UINTN Length
+ );
+
+/**
+ The SetMem() function fills a buffer with a specified value.
+
+ @param[in] Buffer The pointer to the buffer to fill.
+ @param[in] Size Number of bytes in Buffer to fill.
+ @param[in] Value Value to fill Buffer with.
+
+**/
+typedef
+VOID
+(EFIAPI *EFI_SET_MEM)(
+ IN VOID *Buffer,
+ IN UINTN Size,
+ IN UINT8 Value
+ );
+
+///
+/// Enumeration of EFI Interface Types
+///
+typedef enum {
+ ///
+ /// Indicates that the supplied protocol interface is supplied in native form.
+ ///
+ EFI_NATIVE_INTERFACE
+} EFI_INTERFACE_TYPE;
+
+/**
+ Installs a protocol interface on a device handle. If the handle does not exist, it is created and added
+ to the list of handles in the system. InstallMultipleProtocolInterfaces() performs
+ more error checking than InstallProtocolInterface(), so it is recommended that
+ InstallMultipleProtocolInterfaces() be used in place of
+ InstallProtocolInterface()
+
+ @param[in, out] Handle A pointer to the EFI_HANDLE on which the interface is to be installed.
+ @param[in] Protocol The numeric ID of the protocol interface.
+ @param[in] InterfaceType Indicates whether Interface is supplied in native form.
+ @param[in] Interface A pointer to the protocol interface.
+
+ @retval EFI_SUCCESS The protocol interface was installed.
+ @retval EFI_OUT_OF_RESOURCES Space for a new handle could not be allocated.
+ @retval EFI_INVALID_PARAMETER Handle is NULL.
+ @retval EFI_INVALID_PARAMETER Protocol is NULL.
+ @retval EFI_INVALID_PARAMETER InterfaceType is not EFI_NATIVE_INTERFACE.
+ @retval EFI_INVALID_PARAMETER Protocol is already installed on the handle specified by Handle.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_INSTALL_PROTOCOL_INTERFACE)(
+ IN OUT EFI_HANDLE *Handle,
+ IN EFI_GUID *Protocol,
+ IN EFI_INTERFACE_TYPE InterfaceType,
+ IN VOID *Interface
+ );
+
+/**
+ Installs one or more protocol interfaces into the boot services environment.
+
+ @param[in, out] Handle The pointer to a handle to install the new protocol interfaces on,
+ or a pointer to NULL if a new handle is to be allocated.
+ @param ... A variable argument list containing pairs of protocol GUIDs and protocol
+ interfaces.
+
+ @retval EFI_SUCCESS All the protocol interface was installed.
+ @retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.
+ @retval EFI_ALREADY_STARTED A Device Path Protocol instance was passed in that is already present in
+ the handle database.
+ @retval EFI_INVALID_PARAMETER Handle is NULL.
+ @retval EFI_INVALID_PARAMETER Protocol is already installed on the handle specified by Handle.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES)(
+ IN OUT EFI_HANDLE *Handle,
+ ...
+ );
+
+/**
+ Reinstalls a protocol interface on a device handle.
+
+ @param[in] Handle Handle on which the interface is to be reinstalled.
+ @param[in] Protocol The numeric ID of the interface.
+ @param[in] OldInterface A pointer to the old interface. NULL can be used if a structure is not
+ associated with Protocol.
+ @param[in] NewInterface A pointer to the new interface.
+
+ @retval EFI_SUCCESS The protocol interface was reinstalled.
+ @retval EFI_NOT_FOUND The OldInterface on the handle was not found.
+ @retval EFI_ACCESS_DENIED The protocol interface could not be reinstalled,
+ because OldInterface is still being used by a
+ driver that will not release it.
+ @retval EFI_INVALID_PARAMETER Handle is NULL.
+ @retval EFI_INVALID_PARAMETER Protocol is NULL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_REINSTALL_PROTOCOL_INTERFACE)(
+ IN EFI_HANDLE Handle,
+ IN EFI_GUID *Protocol,
+ IN VOID *OldInterface,
+ IN VOID *NewInterface
+ );
+
+/**
+ Removes a protocol interface from a device handle. It is recommended that
+ UninstallMultipleProtocolInterfaces() be used in place of
+ UninstallProtocolInterface().
+
+ @param[in] Handle The handle on which the interface was installed.
+ @param[in] Protocol The numeric ID of the interface.
+ @param[in] Interface A pointer to the interface.
+
+ @retval EFI_SUCCESS The interface was removed.
+ @retval EFI_NOT_FOUND The interface was not found.
+ @retval EFI_ACCESS_DENIED The interface was not removed because the interface
+ is still being used by a driver.
+ @retval EFI_INVALID_PARAMETER Handle is NULL.
+ @retval EFI_INVALID_PARAMETER Protocol is NULL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_UNINSTALL_PROTOCOL_INTERFACE)(
+ IN EFI_HANDLE Handle,
+ IN EFI_GUID *Protocol,
+ IN VOID *Interface
+ );
+
+/**
+ Removes one or more protocol interfaces into the boot services environment.
+
+ @param[in] Handle The handle to remove the protocol interfaces from.
+ @param ... A variable argument list containing pairs of protocol GUIDs and
+ protocol interfaces.
+
+ @retval EFI_SUCCESS All the protocol interfaces were removed.
+ @retval EFI_INVALID_PARAMETER One of the protocol interfaces was not previously installed on Handle.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES)(
+ IN EFI_HANDLE Handle,
+ ...
+ );
+
+/**
+ Queries a handle to determine if it supports a specified protocol.
+
+ @param[in] Handle The handle being queried.
+ @param[in] Protocol The published unique identifier of the protocol.
+ @param[out] Interface Supplies the address where a pointer to the corresponding Protocol
+ Interface is returned.
+
+ @retval EFI_SUCCESS The interface information for the specified protocol was returned.
+ @retval EFI_UNSUPPORTED The device does not support the specified protocol.
+ @retval EFI_INVALID_PARAMETER Handle is NULL.
+ @retval EFI_INVALID_PARAMETER Protocol is NULL.
+ @retval EFI_INVALID_PARAMETER Interface is NULL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HANDLE_PROTOCOL)(
+ IN EFI_HANDLE Handle,
+ IN EFI_GUID *Protocol,
+ OUT VOID **Interface
+ );
+
+#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
+#define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
+#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
+#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
+#define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
+#define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
+
+/**
+ Queries a handle to determine if it supports a specified protocol. If the protocol is supported by the
+ handle, it opens the protocol on behalf of the calling agent.
+
+ @param[in] Handle The handle for the protocol interface that is being opened.
+ @param[in] Protocol The published unique identifier of the protocol.
+ @param[out] Interface Supplies the address where a pointer to the corresponding Protocol
+ Interface is returned.
+ @param[in] AgentHandle The handle of the agent that is opening the protocol interface
+ specified by Protocol and Interface.
+ @param[in] ControllerHandle If the agent that is opening a protocol is a driver that follows the
+ UEFI Driver Model, then this parameter is the controller handle
+ that requires the protocol interface. If the agent does not follow
+ the UEFI Driver Model, then this parameter is optional and may
+ be NULL.
+ @param[in] Attributes The open mode of the protocol interface specified by Handle
+ and Protocol.
+
+ @retval EFI_SUCCESS An item was added to the open list for the protocol interface, and the
+ protocol interface was returned in Interface.
+ @retval EFI_UNSUPPORTED Handle does not support Protocol.
+ @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
+ @retval EFI_ACCESS_DENIED Required attributes can't be supported in current environment.
+ @retval EFI_ALREADY_STARTED Item on the open list already has requierd attributes whose agent
+ handle is the same as AgentHandle.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_OPEN_PROTOCOL)(
+ IN EFI_HANDLE Handle,
+ IN EFI_GUID *Protocol,
+ OUT VOID **Interface, OPTIONAL
+ IN EFI_HANDLE AgentHandle,
+ IN EFI_HANDLE ControllerHandle,
+ IN UINT32 Attributes
+ );
+
+
+/**
+ Closes a protocol on a handle that was opened using OpenProtocol().
+
+ @param[in] Handle The handle for the protocol interface that was previously opened
+ with OpenProtocol(), and is now being closed.
+ @param[in] Protocol The published unique identifier of the protocol.
+ @param[in] AgentHandle The handle of the agent that is closing the protocol interface.
+ @param[in] ControllerHandle If the agent that opened a protocol is a driver that follows the
+ UEFI Driver Model, then this parameter is the controller handle
+ that required the protocol interface.
+
+ @retval EFI_SUCCESS The protocol instance was closed.
+ @retval EFI_INVALID_PARAMETER 1) Handle is NULL.
+ 2) AgentHandle is NULL.
+ 3) ControllerHandle is not NULL and ControllerHandle is not a valid EFI_HANDLE.
+ 4) Protocol is NULL.
+ @retval EFI_NOT_FOUND 1) Handle does not support the protocol specified by Protocol.
+ 2) The protocol interface specified by Handle and Protocol is not
+ currently open by AgentHandle and ControllerHandle.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_CLOSE_PROTOCOL)(
+ IN EFI_HANDLE Handle,
+ IN EFI_GUID *Protocol,
+ IN EFI_HANDLE AgentHandle,
+ IN EFI_HANDLE ControllerHandle
+ );
+
+///
+/// EFI Oprn Protocol Information Entry
+///
+typedef struct {
+ EFI_HANDLE AgentHandle;
+ EFI_HANDLE ControllerHandle;
+ UINT32 Attributes;
+ UINT32 OpenCount;
+} EFI_OPEN_PROTOCOL_INFORMATION_ENTRY;
+
+/**
+ Retrieves the list of agents that currently have a protocol interface opened.
+
+ @param[in] Handle The handle for the protocol interface that is being queried.
+ @param[in] Protocol The published unique identifier of the protocol.
+ @param[out] EntryBuffer A pointer to a buffer of open protocol information in the form of
+ EFI_OPEN_PROTOCOL_INFORMATION_ENTRY structures.
+ @param[out] EntryCount A pointer to the number of entries in EntryBuffer.
+
+ @retval EFI_SUCCESS The open protocol information was returned in EntryBuffer, and the
+ number of entries was returned EntryCount.
+ @retval EFI_OUT_OF_RESOURCES There are not enough resources available to allocate EntryBuffer.
+ @retval EFI_NOT_FOUND Handle does not support the protocol specified by Protocol.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_OPEN_PROTOCOL_INFORMATION)(
+ IN EFI_HANDLE Handle,
+ IN EFI_GUID *Protocol,
+ OUT EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer,
+ OUT UINTN *EntryCount
+ );
+
+/**
+ Retrieves the list of protocol interface GUIDs that are installed on a handle in a buffer allocated
+ from pool.
+
+ @param[in] Handle The handle from which to retrieve the list of protocol interface
+ GUIDs.
+ @param[out] ProtocolBuffer A pointer to the list of protocol interface GUID pointers that are
+ installed on Handle.
+ @param[out] ProtocolBufferCount A pointer to the number of GUID pointers present in
+ ProtocolBuffer.
+
+ @retval EFI_SUCCESS The list of protocol interface GUIDs installed on Handle was returned in
+ ProtocolBuffer. The number of protocol interface GUIDs was
+ returned in ProtocolBufferCount.
+ @retval EFI_OUT_OF_RESOURCES There is not enough pool memory to store the results.
+ @retval EFI_INVALID_PARAMETER Handle is NULL.
+ @retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.
+ @retval EFI_INVALID_PARAMETER ProtocolBuffer is NULL.
+ @retval EFI_INVALID_PARAMETER ProtocolBufferCount is NULL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_PROTOCOLS_PER_HANDLE)(
+ IN EFI_HANDLE Handle,
+ OUT EFI_GUID ***ProtocolBuffer,
+ OUT UINTN *ProtocolBufferCount
+ );
+
+/**
+ Creates an event that is to be signaled whenever an interface is installed for a specified protocol.
+
+ @param[in] Protocol The numeric ID of the protocol for which the event is to be registered.
+ @param[in] Event Event that is to be signaled whenever a protocol interface is registered
+ for Protocol.
+ @param[out] Registration A pointer to a memory location to receive the registration value.
+
+ @retval EFI_SUCCESS The notification event has been registered.
+ @retval EFI_OUT_OF_RESOURCES Space for the notification event could not be allocated.
+ @retval EFI_INVALID_PARAMETER Protocol is NULL.
+ @retval EFI_INVALID_PARAMETER Event is NULL.
+ @retval EFI_INVALID_PARAMETER Registration is NULL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_REGISTER_PROTOCOL_NOTIFY)(
+ IN EFI_GUID *Protocol,
+ IN EFI_EVENT Event,
+ OUT VOID **Registration
+ );
+
+///
+/// Enumeration of EFI Locate Search Types
+///
+typedef enum {
+ ///
+ /// Retrieve all the handles in the handle database.
+ ///
+ AllHandles,
+ ///
+ /// Retrieve the next handle fron a RegisterProtocolNotify() event.
+ ///
+ ByRegisterNotify,
+ ///
+ /// Retrieve the set of handles from the handle database that support a
+ /// specified protocol.
+ ///
+ ByProtocol
+} EFI_LOCATE_SEARCH_TYPE;
+
+/**
+ Returns an array of handles that support a specified protocol.
+
+ @param[in] SearchType Specifies which handle(s) are to be returned.
+ @param[in] Protocol Specifies the protocol to search by.
+ @param[in] SearchKey Specifies the search key.
+ @param[in, out] BufferSize On input, the size in bytes of Buffer. On output, the size in bytes of
+ the array returned in Buffer (if the buffer was large enough) or the
+ size, in bytes, of the buffer needed to obtain the array (if the buffer was
+ not large enough).
+ @param[out] Buffer The buffer in which the array is returned.
+
+ @retval EFI_SUCCESS The array of handles was returned.
+ @retval EFI_NOT_FOUND No handles match the search.
+ @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small for the result.
+ @retval EFI_INVALID_PARAMETER SearchType is not a member of EFI_LOCATE_SEARCH_TYPE.
+ @retval EFI_INVALID_PARAMETER SearchType is ByRegisterNotify and SearchKey is NULL.
+ @retval EFI_INVALID_PARAMETER SearchType is ByProtocol and Protocol is NULL.
+ @retval EFI_INVALID_PARAMETER One or more matches are found and BufferSize is NULL.
+ @retval EFI_INVALID_PARAMETER BufferSize is large enough for the result and Buffer is NULL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_LOCATE_HANDLE)(
+ IN EFI_LOCATE_SEARCH_TYPE SearchType,
+ IN EFI_GUID *Protocol, OPTIONAL
+ IN VOID *SearchKey, OPTIONAL
+ IN OUT UINTN *BufferSize,
+ OUT EFI_HANDLE *Buffer
+ );
+
+/**
+ Locates the handle to a device on the device path that supports the specified protocol.
+
+ @param[in] Protocol Specifies the protocol to search for.
+ @param[in, out] DevicePath On input, a pointer to a pointer to the device path. On output, the device
+ path pointer is modified to point to the remaining part of the device
+ path.
+ @param[out] Device A pointer to the returned device handle.
+
+ @retval EFI_SUCCESS The resulting handle was returned.
+ @retval EFI_NOT_FOUND No handles match the search.
+ @retval EFI_INVALID_PARAMETER Protocol is NULL.
+ @retval EFI_INVALID_PARAMETER DevicePath is NULL.
+ @retval EFI_INVALID_PARAMETER A handle matched the search and Device is NULL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_LOCATE_DEVICE_PATH)(
+ IN EFI_GUID *Protocol,
+ IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath,
+ OUT EFI_HANDLE *Device
+ );
+
+/**
+ Adds, updates, or removes a configuration table entry from the EFI System Table.
+
+ @param[in] Guid A pointer to the GUID for the entry to add, update, or remove.
+ @param[in] Table A pointer to the configuration table for the entry to add, update, or
+ remove. May be NULL.
+
+ @retval EFI_SUCCESS The (Guid, Table) pair was added, updated, or removed.
+ @retval EFI_NOT_FOUND An attempt was made to delete a nonexistent entry.
+ @retval EFI_INVALID_PARAMETER Guid is NULL.
+ @retval EFI_OUT_OF_RESOURCES There is not enough memory available to complete the operation.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_INSTALL_CONFIGURATION_TABLE)(
+ IN EFI_GUID *Guid,
+ IN VOID *Table
+ );
+
+/**
+ Returns an array of handles that support the requested protocol in a buffer allocated from pool.
+
+ @param[in] SearchType Specifies which handle(s) are to be returned.
+ @param[in] Protocol Provides the protocol to search by.
+ This parameter is only valid for a SearchType of ByProtocol.
+ @param[in] SearchKey Supplies the search key depending on the SearchType.
+ @param[in, out] NoHandles The number of handles returned in Buffer.
+ @param[out] Buffer A pointer to the buffer to return the requested array of handles that
+ support Protocol.
+
+ @retval EFI_SUCCESS The array of handles was returned in Buffer, and the number of
+ handles in Buffer was returned in NoHandles.
+ @retval EFI_NOT_FOUND No handles match the search.
+ @retval EFI_OUT_OF_RESOURCES There is not enough pool memory to store the matching results.
+ @retval EFI_INVALID_PARAMETER NoHandles is NULL.
+ @retval EFI_INVALID_PARAMETER Buffer is NULL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_LOCATE_HANDLE_BUFFER)(
+ IN EFI_LOCATE_SEARCH_TYPE SearchType,
+ IN EFI_GUID *Protocol, OPTIONAL
+ IN VOID *SearchKey, OPTIONAL
+ IN OUT UINTN *NoHandles,
+ OUT EFI_HANDLE **Buffer
+ );
+
+/**
+ Returns the first protocol instance that matches the given protocol.
+
+ @param[in] Protocol Provides the protocol to search for.
+ @param[in] Registration Optional registration key returned from
+ RegisterProtocolNotify().
+ @param[out] Interface On return, a pointer to the first interface that matches Protocol and
+ Registration.
+
+ @retval EFI_SUCCESS A protocol instance matching Protocol was found and returned in
+ Interface.
+ @retval EFI_NOT_FOUND No protocol instances were found that match Protocol and
+ Registration.
+ @retval EFI_INVALID_PARAMETER Interface is NULL.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_LOCATE_PROTOCOL)(
+ IN EFI_GUID *Protocol,
+ IN VOID *Registration, OPTIONAL
+ OUT VOID **Interface
+ );
+
+///
+/// EFI Capsule Block Descriptor
+///
+typedef struct {
+ ///
+ /// Length in bytes of the data pointed to by DataBlock/ContinuationPointer.
+ ///
+ UINT64 Length;
+ union {
+ ///
+ /// Physical address of the data block. This member of the union is
+ /// used if Length is not equal to zero.
+ ///
+ EFI_PHYSICAL_ADDRESS DataBlock;
+ ///
+ /// Physical address of another block of
+ /// EFI_CAPSULE_BLOCK_DESCRIPTOR structures. This
+ /// member of the union is used if Length is equal to zero. If
+ /// ContinuationPointer is zero this entry represents the end of the list.
+ ///
+ EFI_PHYSICAL_ADDRESS ContinuationPointer;
+ } Union;
+} EFI_CAPSULE_BLOCK_DESCRIPTOR;
+
+///
+/// EFI Capsule Header.
+///
+typedef struct {
+ ///
+ /// A GUID that defines the contents of a capsule.
+ ///
+ EFI_GUID CapsuleGuid;
+ ///
+ /// The size of the capsule header. This may be larger than the size of
+ /// the EFI_CAPSULE_HEADER since CapsuleGuid may imply
+ /// extended header entries
+ ///
+ UINT32 HeaderSize;
+ ///
+ /// Bit-mapped list describing the capsule attributes. The Flag values
+ /// of 0x0000 - 0xFFFF are defined by CapsuleGuid. Flag values
+ /// of 0x10000 - 0xFFFFFFFF are defined by this specification
+ ///
+ UINT32 Flags;
+ ///
+ /// Size in bytes of the capsule.
+ ///
+ UINT32 CapsuleImageSize;
+} EFI_CAPSULE_HEADER;
+
+///
+/// The EFI System Table entry must point to an array of capsules
+/// that contain the same CapsuleGuid value. The array must be
+/// prefixed by a UINT32 that represents the size of the array of capsules.
+///
+typedef struct {
+ ///
+ /// the size of the array of capsules.
+ ///
+ UINT32 CapsuleArrayNumber;
+ ///
+ /// Point to an array of capsules that contain the same CapsuleGuid value.
+ ///
+ VOID* CapsulePtr[1];
+} EFI_CAPSULE_TABLE;
+
+#define CAPSULE_FLAGS_PERSIST_ACROSS_RESET 0x00010000
+#define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000
+#define CAPSULE_FLAGS_INITIATE_RESET 0x00040000
+
+/**
+ Passes capsules to the firmware with both virtual and physical mapping. Depending on the intended
+ consumption, the firmware may process the capsule immediately. If the payload should persist
+ across a system reset, the reset value returned from EFI_QueryCapsuleCapabilities must
+ be passed into ResetSystem() and will cause the capsule to be processed by the firmware as
+ part of the reset process.
+
+ @param[in] CapsuleHeaderArray Virtual pointer to an array of virtual pointers to the capsules
+ being passed into update capsule.
+ @param[in] CapsuleCount Number of pointers to EFI_CAPSULE_HEADER in
+ CaspuleHeaderArray.
+ @param[in] ScatterGatherList Physical pointer to a set of
+ EFI_CAPSULE_BLOCK_DESCRIPTOR that describes the
+ location in physical memory of a set of capsules.
+
+ @retval EFI_SUCCESS Valid capsule was passed. If
+ CAPSULE_FLAGS_PERSIT_ACROSS_RESET is not set, the
+ capsule has been successfully processed by the firmware.
+ @retval EFI_INVALID_PARAMETER CapsuleSize is NULL, or an incompatible set of flags were
+ set in the capsule header.
+ @retval EFI_INVALID_PARAMETER CapsuleCount is 0.
+ @retval EFI_DEVICE_ERROR The capsule update was started, but failed due to a device error.
+ @retval EFI_UNSUPPORTED The capsule type is not supported on this platform.
+ @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has been previously called this error indicates the capsule
+ is compatible with this platform but is not capable of being submitted or processed
+ in runtime. The caller may resubmit the capsule prior to ExitBootServices().
+ @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has not been previously called then this error indicates
+ the capsule is compatible with this platform but there are insufficient resources to process.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_UPDATE_CAPSULE)(
+ IN EFI_CAPSULE_HEADER **CapsuleHeaderArray,
+ IN UINTN CapsuleCount,
+ IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL
+ );
+
+/**
+ Returns if the capsule can be supported via UpdateCapsule().
+
+ @param[in] CapsuleHeaderArray Virtual pointer to an array of virtual pointers to the capsules
+ being passed into update capsule.
+ @param[in] CapsuleCount Number of pointers to EFI_CAPSULE_HEADER in
+ CaspuleHeaderArray.
+ @param[out] MaxiumCapsuleSize On output the maximum size that UpdateCapsule() can
+ support as an argument to UpdateCapsule() via
+ CapsuleHeaderArray and ScatterGatherList.
+ @param[out] ResetType Returns the type of reset required for the capsule update.
+
+ @retval EFI_SUCCESS Valid answer returned.
+ @retval EFI_UNSUPPORTED The capsule type is not supported on this platform, and
+ MaximumCapsuleSize and ResetType are undefined.
+ @retval EFI_INVALID_PARAMETER MaximumCapsuleSize is NULL.
+ @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has been previously called this error indicates the capsule
+ is compatible with this platform but is not capable of being submitted or processed
+ in runtime. The caller may resubmit the capsule prior to ExitBootServices().
+ @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has not been previously called then this error indicates
+ the capsule is compatible with this platform but there are insufficient resources to process.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_QUERY_CAPSULE_CAPABILITIES)(
+ IN EFI_CAPSULE_HEADER **CapsuleHeaderArray,
+ IN UINTN CapsuleCount,
+ OUT UINT64 *MaximumCapsuleSize,
+ OUT EFI_RESET_TYPE *ResetType
+ );
+
+/**
+ Returns information about the EFI variables.
+
+ @param[in] Attributes Attributes bitmask to specify the type of variables on
+ which to return information.
+ @param[out] MaximumVariableStorageSize On output the maximum size of the storage space
+ available for the EFI variables associated with the
+ attributes specified.
+ @param[out] RemainingVariableStorageSize Returns the remaining size of the storage space
+ available for the EFI variables associated with the
+ attributes specified.
+ @param[out] MaximumVariableSize Returns the maximum size of the individual EFI
+ variables associated with the attributes specified.
+
+ @retval EFI_SUCCESS Valid answer returned.
+ @retval EFI_INVALID_PARAMETER An invalid combination of attribute bits was supplied
+ @retval EFI_UNSUPPORTED The attribute is not supported on this platform, and the
+ MaximumVariableStorageSize,
+ RemainingVariableStorageSize, MaximumVariableSize
+ are undefined.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_QUERY_VARIABLE_INFO)(
+ IN UINT32 Attributes,
+ OUT UINT64 *MaximumVariableStorageSize,
+ OUT UINT64 *RemainingVariableStorageSize,
+ OUT UINT64 *MaximumVariableSize
+ );
+
+//
+// Firmware should stop at a firmware user interface on next boot
+//
+#define EFI_OS_INDICATIONS_BOOT_TO_FW_UI 0x0000000000000001
+#define EFI_OS_INDICATIONS_TIMESTAMP_REVOCATION 0x0000000000000002
+#define EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED 0x0000000000000004
+#define EFI_OS_INDICATIONS_FMP_CAPSULE_SUPPORTED 0x0000000000000008
+#define EFI_OS_INDICATIONS_CAPSULE_RESULT_VAR_SUPPORTED 0x0000000000000010
+#define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY 0x0000000000000040
+
+//
+// EFI Runtime Services Table
+//
+#define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
+#define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60))
+#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50))
+#define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40))
+#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31))
+#define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30))
+#define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20))
+#define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10))
+#define EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | (00))
+#define EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | (10))
+#define EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | (02))
+#define EFI_SYSTEM_TABLE_REVISION EFI_2_60_SYSTEM_TABLE_REVISION
+#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION
+
+#define EFI_RUNTIME_SERVICES_SIGNATURE SIGNATURE_64 ('R','U','N','T','S','E','R','V')
+#define EFI_RUNTIME_SERVICES_REVISION EFI_SPECIFICATION_VERSION
+
+///
+/// EFI Runtime Services Table.
+///
+typedef struct {
+ ///
+ /// The table header for the EFI Runtime Services Table.
+ ///
+ EFI_TABLE_HEADER Hdr;
+
+ //
+ // Time Services
+ //
+ EFI_GET_TIME GetTime;
+ EFI_SET_TIME SetTime;
+ EFI_GET_WAKEUP_TIME GetWakeupTime;
+ EFI_SET_WAKEUP_TIME SetWakeupTime;
+
+ //
+ // Virtual Memory Services
+ //
+ EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
+ EFI_CONVERT_POINTER ConvertPointer;
+
+ //
+ // Variable Services
+ //
+ EFI_GET_VARIABLE GetVariable;
+ EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
+ EFI_SET_VARIABLE SetVariable;
+
+ //
+ // Miscellaneous Services
+ //
+ EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
+ EFI_RESET_SYSTEM ResetSystem;
+
+ //
+ // UEFI 2.0 Capsule Services
+ //
+ EFI_UPDATE_CAPSULE UpdateCapsule;
+ EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities;
+
+ //
+ // Miscellaneous UEFI 2.0 Service
+ //
+ EFI_QUERY_VARIABLE_INFO QueryVariableInfo;
+} EFI_RUNTIME_SERVICES;
+
+
+#define EFI_BOOT_SERVICES_SIGNATURE SIGNATURE_64 ('B','O','O','T','S','E','R','V')
+#define EFI_BOOT_SERVICES_REVISION EFI_SPECIFICATION_VERSION
+
+///
+/// EFI Boot Services Table.
+///
+typedef struct {
+ ///
+ /// The table header for the EFI Boot Services Table.
+ ///
+ EFI_TABLE_HEADER Hdr;
+
+ //
+ // Task Priority Services
+ //
+ EFI_RAISE_TPL RaiseTPL;
+ EFI_RESTORE_TPL RestoreTPL;
+
+ //
+ // Memory Services
+ //
+ EFI_ALLOCATE_PAGES AllocatePages;
+ EFI_FREE_PAGES FreePages;
+ EFI_GET_MEMORY_MAP GetMemoryMap;
+ EFI_ALLOCATE_POOL AllocatePool;
+ EFI_FREE_POOL FreePool;
+
+ //
+ // Event & Timer Services
+ //
+ EFI_CREATE_EVENT CreateEvent;
+ EFI_SET_TIMER SetTimer;
+ EFI_WAIT_FOR_EVENT WaitForEvent;
+ EFI_SIGNAL_EVENT SignalEvent;
+ EFI_CLOSE_EVENT CloseEvent;
+ EFI_CHECK_EVENT CheckEvent;
+
+ //
+ // Protocol Handler Services
+ //
+ EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;
+ EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
+ EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
+ EFI_HANDLE_PROTOCOL HandleProtocol;
+ VOID *Reserved;
+ EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;
+ EFI_LOCATE_HANDLE LocateHandle;
+ EFI_LOCATE_DEVICE_PATH LocateDevicePath;
+ EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;
+
+ //
+ // Image Services
+ //
+ EFI_IMAGE_LOAD LoadImage;
+ EFI_IMAGE_START StartImage;
+ EFI_EXIT Exit;
+ EFI_IMAGE_UNLOAD UnloadImage;
+ EFI_EXIT_BOOT_SERVICES ExitBootServices;
+
+ //
+ // Miscellaneous Services
+ //
+ EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;
+ EFI_STALL Stall;
+ EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;
+
+ //
+ // DriverSupport Services
+ //
+ EFI_CONNECT_CONTROLLER ConnectController;
+ EFI_DISCONNECT_CONTROLLER DisconnectController;
+
+ //
+ // Open and Close Protocol Services
+ //
+ EFI_OPEN_PROTOCOL OpenProtocol;
+ EFI_CLOSE_PROTOCOL CloseProtocol;
+ EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;
+
+ //
+ // Library Services
+ //
+ EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle;
+ EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer;
+ EFI_LOCATE_PROTOCOL LocateProtocol;
+ EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces;
+ EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces;
+
+ //
+ // 32-bit CRC Services
+ //
+ EFI_CALCULATE_CRC32 CalculateCrc32;
+
+ //
+ // Miscellaneous Services
+ //
+ EFI_COPY_MEM CopyMem;
+ EFI_SET_MEM SetMem;
+ EFI_CREATE_EVENT_EX CreateEventEx;
+} EFI_BOOT_SERVICES;
+
+///
+/// Contains a set of GUID/pointer pairs comprised of the ConfigurationTable field in the
+/// EFI System Table.
+///
+typedef struct {
+ ///
+ /// The 128-bit GUID value that uniquely identifies the system configuration table.
+ ///
+ EFI_GUID VendorGuid;
+ ///
+ /// A pointer to the table associated with VendorGuid.
+ ///
+ VOID *VendorTable;
+} EFI_CONFIGURATION_TABLE;
+
+///
+/// EFI System Table
+///
+typedef struct {
+ ///
+ /// The table header for the EFI System Table.
+ ///
+ EFI_TABLE_HEADER Hdr;
+ ///
+ /// A pointer to a null terminated string that identifies the vendor
+ /// that produces the system firmware for the platform.
+ ///
+ CHAR16 *FirmwareVendor;
+ ///
+ /// A firmware vendor specific value that identifies the revision
+ /// of the system firmware for the platform.
+ ///
+ UINT32 FirmwareRevision;
+ ///
+ /// The handle for the active console input device. This handle must support
+ /// EFI_SIMPLE_TEXT_INPUT_PROTOCOL and EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.
+ ///
+ EFI_HANDLE ConsoleInHandle;
+ ///
+ /// A pointer to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL interface that is
+ /// associated with ConsoleInHandle.
+ ///
+ EFI_SIMPLE_TEXT_INPUT_PROTOCOL *ConIn;
+ ///
+ /// The handle for the active console output device.
+ ///
+ EFI_HANDLE ConsoleOutHandle;
+ ///
+ /// A pointer to the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL interface
+ /// that is associated with ConsoleOutHandle.
+ ///
+ EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *ConOut;
+ ///
+ /// The handle for the active standard error console device.
+ /// This handle must support the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.
+ ///
+ EFI_HANDLE StandardErrorHandle;
+ ///
+ /// A pointer to the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL interface
+ /// that is associated with StandardErrorHandle.
+ ///
+ EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *StdErr;
+ ///
+ /// A pointer to the EFI Runtime Services Table.
+ ///
+ EFI_RUNTIME_SERVICES *RuntimeServices;
+ ///
+ /// A pointer to the EFI Boot Services Table.
+ ///
+ EFI_BOOT_SERVICES *BootServices;
+ ///
+ /// The number of system configuration tables in the buffer ConfigurationTable.
+ ///
+ UINTN NumberOfTableEntries;
+ ///
+ /// A pointer to the system configuration tables.
+ /// The number of entries in the table is NumberOfTableEntries.
+ ///
+ EFI_CONFIGURATION_TABLE *ConfigurationTable;
+} EFI_SYSTEM_TABLE;
+
+/**
+ This is the declaration of an EFI image entry point. This entry point is
+ the same for UEFI Applications, UEFI OS Loaders, and UEFI Drivers including
+ both device drivers and bus drivers.
+
+ @param[in] ImageHandle The firmware allocated handle for the UEFI image.
+ @param[in] SystemTable A pointer to the EFI System Table.
+
+ @retval EFI_SUCCESS The operation completed successfully.
+ @retval Others An unexpected error occurred.
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_IMAGE_ENTRY_POINT)(
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_SYSTEM_TABLE *SystemTable
+ );
+
+//
+// EFI Load Option. This data structure describes format of UEFI boot option variables.
+//
+// NOTE: EFI Load Option is a byte packed buffer of variable length fields.
+// The first two fields have fixed length. They are declared as members of the
+// EFI_LOAD_OPTION structure. All the other fields are variable length fields.
+// They are listed in the comment block below for reference purposes.
+//
+#pragma pack(1)
+typedef struct _EFI_LOAD_OPTION {
+ ///
+ /// The attributes for this load option entry. All unused bits must be zero
+ /// and are reserved by the UEFI specification for future growth.
+ ///
+ UINT32 Attributes;
+ ///
+ /// Length in bytes of the FilePathList. OptionalData starts at offset
+ /// sizeof(UINT32) + sizeof(UINT16) + StrSize(Description) + FilePathListLength
+ /// of the EFI_LOAD_OPTION descriptor.
+ ///
+ UINT16 FilePathListLength;
+ ///
+ /// The user readable description for the load option.
+ /// This field ends with a Null character.
+ ///
+ // CHAR16 Description[];
+ ///
+ /// A packed array of UEFI device paths. The first element of the array is a
+ /// device path that describes the device and location of the Image for this
+ /// load option. The FilePathList[0] is specific to the device type. Other
+ /// device paths may optionally exist in the FilePathList, but their usage is
+ /// OSV specific. Each element in the array is variable length, and ends at
+ /// the device path end structure. Because the size of Description is
+ /// arbitrary, this data structure is not guaranteed to be aligned on a
+ /// natural boundary. This data structure may have to be copied to an aligned
+ /// natural boundary before it is used.
+ ///
+ // EFI_DEVICE_PATH_PROTOCOL FilePathList[];
+ ///
+ /// The remaining bytes in the load option descriptor are a binary data buffer
+ /// that is passed to the loaded image. If the field is zero bytes long, a
+ /// NULL pointer is passed to the loaded image. The number of bytes in
+ /// OptionalData can be computed by subtracting the starting offset of
+ /// OptionalData from total size in bytes of the EFI_LOAD_OPTION.
+ ///
+ // UINT8 OptionalData[];
+} EFI_LOAD_OPTION;
+#pragma pack()
+
+//
+// EFI Load Options Attributes
+//
+#define LOAD_OPTION_ACTIVE 0x00000001
+#define LOAD_OPTION_FORCE_RECONNECT 0x00000002
+#define LOAD_OPTION_HIDDEN 0x00000008
+#define LOAD_OPTION_CATEGORY 0x00001F00
+
+#define LOAD_OPTION_CATEGORY_BOOT 0x00000000
+#define LOAD_OPTION_CATEGORY_APP 0x00000100
+
+#define EFI_BOOT_OPTION_SUPPORT_KEY 0x00000001
+#define EFI_BOOT_OPTION_SUPPORT_APP 0x00000002
+#define EFI_BOOT_OPTION_SUPPORT_SYSPREP 0x00000010
+#define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300
+
+///
+/// EFI Boot Key Data
+///
+typedef union {
+ struct {
+ ///
+ /// Indicates the revision of the EFI_KEY_OPTION structure. This revision level should be 0.
+ ///
+ UINT32 Revision : 8;
+ ///
+ /// Either the left or right Shift keys must be pressed (1) or must not be pressed (0).
+ ///
+ UINT32 ShiftPressed : 1;
+ ///
+ /// Either the left or right Control keys must be pressed (1) or must not be pressed (0).
+ ///
+ UINT32 ControlPressed : 1;
+ ///
+ /// Either the left or right Alt keys must be pressed (1) or must not be pressed (0).
+ ///
+ UINT32 AltPressed : 1;
+ ///
+ /// Either the left or right Logo keys must be pressed (1) or must not be pressed (0).
+ ///
+ UINT32 LogoPressed : 1;
+ ///
+ /// The Menu key must be pressed (1) or must not be pressed (0).
+ ///
+ UINT32 MenuPressed : 1;
+ ///
+ /// The SysReq key must be pressed (1) or must not be pressed (0).
+ ///
+ UINT32 SysReqPressed : 1;
+ UINT32 Reserved : 16;
+ ///
+ /// Specifies the actual number of entries in EFI_KEY_OPTION.Keys, from 0-3. If
+ /// zero, then only the shift state is considered. If more than one, then the boot option will
+ /// only be launched if all of the specified keys are pressed with the same shift state.
+ ///
+ UINT32 InputKeyCount : 2;
+ } Options;
+ UINT32 PackedValue;
+} EFI_BOOT_KEY_DATA;
+
+///
+/// EFI Key Option.
+///
+#pragma pack(1)
+typedef struct {
+ ///
+ /// Specifies options about how the key will be processed.
+ ///
+ EFI_BOOT_KEY_DATA KeyData;
+ ///
+ /// The CRC-32 which should match the CRC-32 of the entire EFI_LOAD_OPTION to
+ /// which BootOption refers. If the CRC-32s do not match this value, then this key
+ /// option is ignored.
+ ///
+ UINT32 BootOptionCrc;
+ ///
+ /// The Boot#### option which will be invoked if this key is pressed and the boot option
+ /// is active (LOAD_OPTION_ACTIVE is set).
+ ///
+ UINT16 BootOption;
+ ///
+ /// The key codes to compare against those returned by the
+ /// EFI_SIMPLE_TEXT_INPUT and EFI_SIMPLE_TEXT_INPUT_EX protocols.
+ /// The number of key codes (0-3) is specified by the EFI_KEY_CODE_COUNT field in KeyOptions.
+ ///
+ //EFI_INPUT_KEY Keys[];
+} EFI_KEY_OPTION;
+#pragma pack()
+
+//
+// EFI File location to boot from on removable media devices
+//
+#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32.EFI"
+#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64.EFI"
+#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI"
+#define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI"
+#define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI"
+
+#if defined (MDE_CPU_IA32)
+ #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32
+#elif defined (MDE_CPU_IPF)
+ #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA64
+#elif defined (MDE_CPU_X64)
+ #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_X64
+#elif defined (MDE_CPU_EBC)
+#elif defined (MDE_CPU_ARM)
+ #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_ARM
+#elif defined (MDE_CPU_AARCH64)
+ #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64
+#else
+ #error Unknown Processor Type
+#endif
+
+#include <Uefi/UefiPxe.h>
+#include <Uefi/UefiGpt.h>
+#include <Uefi/UefiInternalFormRepresentation.h>
+
+#endif
diff --git a/sys/contrib/edk2/MdePkg.dec b/sys/contrib/edk2/MdePkg.dec
new file mode 100644
index 0000000..6256e0c
--- /dev/null
+++ b/sys/contrib/edk2/MdePkg.dec
@@ -0,0 +1,2140 @@
+## @file MdePkg.dec
+# This Package provides all definitions, library classes and libraries instances.
+#
+# It also provides the definitions(including PPIs/PROTOCOLs/GUIDs) of
+# EFI1.10/UEFI2.6/PI1.4 and some Industry Standards.
+#
+# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
+# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
+#
+# This program and the accompanying materials are licensed and made available under
+# the terms and conditions of the BSD License which accompanies this distribution.
+# The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+##
+
+
+[Defines]
+ DEC_SPECIFICATION = 0x00010005
+ PACKAGE_NAME = MdePkg
+ PACKAGE_UNI_FILE = MdePkg.uni
+ PACKAGE_GUID = 1E73767F-8F52-4603-AEB4-F29B510B6766
+ PACKAGE_VERSION = 1.06
+
+
+[Includes]
+ Include
+
+[Includes.IA32]
+ Include/Ia32
+
+[Includes.X64]
+ Include/X64
+
+[Includes.IPF]
+ Include/Ipf
+
+[Includes.EBC]
+ Include/Ebc
+
+[Includes.ARM]
+ Include/Arm
+
+[Includes.AARCH64]
+ Include/AArch64
+
+[LibraryClasses]
+ ## @libraryclass Provides most usb APIs to support the Hid requests defined in Usb Hid 1.1 spec
+ # and the standard requests defined in Usb 1.1 spec.
+ ##
+ UefiUsbLib|Include/Library/UefiUsbLib.h
+
+ ## @libraryclass Provides a service to retrieve a pointer to the EFI Runtime Services Table.
+ # Only available to DXE and UEFI module types.
+ UefiRuntimeServicesTableLib|Include/Library/UefiRuntimeServicesTableLib.h
+
+ ## @libraryclass Provides library functions for each of the UEFI Runtime Services.
+ # Only available to DXE and UEFI module types.
+ UefiRuntimeLib|Include/Library/UefiRuntimeLib.h
+
+ ## @libraryclass Provides library functions for common UEFI operations.
+ # Only available to DXE and UEFI module types.
+ ##
+ UefiLib|Include/Library/UefiLib.h
+
+ ## @libraryclass Module entry point library for UEFI drivers, DXE Drivers, DXE SMM Driver and DXE Runtime Drivers
+ UefiDriverEntryPoint|Include/Library/UefiDriverEntryPoint.h
+
+ ## @libraryclass UEFI Decompress Library Functions defintion for UEFI compress algorithm.
+ UefiDecompressLib|Include/Library/UefiDecompressLib.h
+
+ ## @libraryclass Provides a service to retrieve a pointer to the EFI Boot Services Table.
+ # Only available to DXE and UEFI module types.
+ UefiBootServicesTableLib|Include/Library/UefiBootServicesTableLib.h
+
+ ## @libraryclass Module entry point library for UEFI Applications.
+ UefiApplicationEntryPoint|Include/Library/UefiApplicationEntryPoint.h
+
+ ## @libraryclass Provides calibrated delay and performance counter services.
+ TimerLib|Include/Library/TimerLib.h
+
+ ## @libraryclass Provides library functions to access SMBUS devices.
+ # Libraries of this class must be ported to a specific SMBUS controller.
+ SmbusLib|Include/Library/SmbusLib.h
+
+ ## @libraryclass Provides the functions to submit Scsi commands defined in SCSI-2 specification for scsi device.
+ UefiScsiLib|Include/Library/UefiScsiLib.h
+
+ ## @libraryclass Provides a service to publish discovered system resources.
+ ResourcePublicationLib|Include/Library/ResourcePublicationLib.h
+
+ ## @libraryclass Provides services to log status code records.
+ ReportStatusCodeLib|Include/Library/ReportStatusCodeLib.h
+
+ ## @libraryclass Provides services to print a formatted string to a buffer.
+ # All combinations of Unicode and ASCII strings are supported.
+ ##
+ PrintLib|Include/Library/PrintLib.h
+
+ ## @libraryclass Provides an ordered collection data structure.
+ OrderedCollectionLib|Include/Library/OrderedCollectionLib.h
+
+ ## @libraryclass Provides services to send progress/error codes to a POST card.
+ PostCodeLib|Include/Library/PostCodeLib.h
+
+ ## @libraryclass Provides services to log the execution times and retrieve them later.
+ PerformanceLib|Include/Library/PerformanceLib.h
+
+ ## @libraryclass Provides a service to retrieve a pointer to the PEI Services Table.
+ PeiServicesTablePointerLib|Include/Library/PeiServicesTablePointerLib.h
+
+ ## @libraryclass Provides library functions for all PEI Services.
+ PeiServicesLib|Include/Library/PeiServicesLib.h
+
+ ## @libraryclass Module entry point library for PEIM.
+ PeimEntryPoint|Include/Library/PeimEntryPoint.h
+
+ ## @libraryclass Module entry point library for PEI core.
+ PeiCoreEntryPoint|Include/Library/PeiCoreEntryPoint.h
+
+ ## @libraryclass Provides services to load and relocate a PE/COFF image.
+ PeCoffLib|Include/Library/PeCoffLib.h
+ ## @libraryclass Provides extra action services for unloading and relocating a PE/COFF image on some specific platform such
+ ## as NT32 emulator.
+ PeCoffExtraActionLib|Include/Library/PeCoffExtraActionLib.h
+
+ ## @libraryclass Provides a service to retrieve the PE/COFF entry point from a PE/COFF image.
+ PeCoffGetEntryPointLib|Include/Library/PeCoffGetEntryPointLib.h
+
+ ## @libraryclass Provides services to access PCI Configuration Space on a platform with multiple PCI segments.
+ PciSegmentLib|Include/Library/PciSegmentLib.h
+
+ ## @libraryclass Provides services to access PCI Configuration Space.
+ PciLib|Include/Library/PciLib.h
+
+ ## @libraryclass Provides services to access PCI Configuration Space using the MMIO PCI Express window.
+ PciExpressLib|Include/Library/PciExpressLib.h
+
+ ## @libraryclass Provides services to access PCI Configuration Space using the I/O ports 0xCF8 and 0xCFC.
+ PciCf8Lib|Include/Library/PciCf8Lib.h
+
+ ## @libraryclass Provides library services to get and set Platform Configuration Database entries.
+ PcdLib|Include/Library/PcdLib.h
+
+ ## @libraryclass Provides services to allocate and free memory buffers of various memory types and alignments.
+ MemoryAllocationLib|Include/Library/MemoryAllocationLib.h
+
+ ## @libraryclass Provide services to access I/O Ports and MMIO registers.
+ IoLib|Include/Library/IoLib.h
+
+ ## @libraryclass Provide services to create, get and update HSTI table in AIP protocol.
+ HstiLib|Include/Library/HstiLib.h
+
+ ## @libraryclass Provides services to create and parse HOBs. Only available for PEI and DXE module types.
+ HobLib|Include/Library/HobLib.h
+
+ ## @libraryclass Provides a service to retrieve a pointer to the DXE Services Table.
+ # Only available to DXE module types.
+ ##
+ DxeServicesTableLib|Include/Library/DxeServicesTableLib.h
+
+ ## @libraryclass Module entry point library for DXE core.
+ DxeCoreEntryPoint|Include/Library/DxeCoreEntryPoint.h
+
+ ## @libraryclass Provides library functions to construct and parse UEFI Device Paths.
+ DevicePathLib|Include/Library/DevicePathLib.h
+
+ ## @libraryclass Provides services to print debug and assert messages to a debug output device.
+ DebugLib|Include/Library/DebugLib.h
+
+ ## @libraryclass Provides CPU architecture specific functions that can not be defined in the Base Library
+ # due to dependencies on the PAL Library
+ ##
+ CpuLib|Include/Library/CpuLib.h
+
+ ## @libraryclass Provides services to maintain instruction and data caches.
+ CacheMaintenanceLib|Include/Library/CacheMaintenanceLib.h
+
+ ## @libraryclass Provides copy memory, fill memory, zero memory, and GUID functions.
+ BaseMemoryLib|Include/Library/BaseMemoryLib.h
+
+ ## @libraryclass Provides string functions, linked list functions, math functions, synchronization functions
+ # and CPU architecture specific functions.
+ ##
+ BaseLib|Include/Library/BaseLib.h
+
+ ## @libraryclass This library provides common functions to process the different guided section data.
+ ExtractGuidedSectionLib|Include/Library/ExtractGuidedSectionLib.h
+
+ ## @libraryclass Provides three common serial I/O port functions.
+ SerialPortLib|Include/Library/SerialPortLib.h
+
+ ## @libraryclass Provides a set of PI library functions and macros for DXE phase.
+ DxeServicesLib|Include/Library/DxeServicesLib.h
+
+ ## @libraryclass Provides synchronization functions.
+ ##
+ SynchronizationLib|Include/Library/SynchronizationLib.h
+
+ ## @libraryclass Defines library APIs used by modules to save S3 Boot
+ # Script Opcodes. These OpCode will be restored by S3
+ # related modules.
+ S3BootScriptLib|Include/Library/S3BootScriptLib.h
+
+ ## @libraryclass I/O and MMIO Library Services that do I/O and also enable
+ # the I/O operatation to be replayed during an S3 resume.
+ # This library class maps directly on top of the IoLib class.
+ S3IoLib|Include/Library/S3IoLib.h
+
+ ## @libraryclass PCI configuration Library Services that do PCI configuration
+ # and also enable the PCI operations to be replayed during an
+ # S3 resume. This library class maps directly on top of the
+ # PciLib class.
+ S3PciLib|Include/Library/S3PciLib.h
+
+ ## @libraryclass Smbus Library Services that do SMBus transactions and also
+ # enable the operatation to be replayed during an S3 resume.
+ # This library class maps directly on top of the SmbusLib class.
+ S3SmbusLib|Include/Library/S3SmbusLib.h
+
+ ## @libraryclass Stall Services that do stall and also enable the Stall
+ # operatation to be replayed during an S3 resume. This
+ # library class maps directly on top of the Timer class.
+ S3StallLib|Include/Library/S3StallLib.h
+
+ ## @libraryclass Defines library APIs used by modules to get/set print error level.
+ DebugPrintErrorLevelLib|Include/Library/DebugPrintErrorLevelLib.h
+
+ ## @libraryclass provides EFI_FILE_HANDLE services
+ FileHandleLib|Include/Library/FileHandleLib.h
+
+[LibraryClasses.IA32, LibraryClasses.X64]
+ ## @libraryclass Abstracts both S/W SMI generation and detection.
+ ##
+ SmmLib|Include/Library/SmmLib.h
+
+ ## @libraryclass Provides a service to retrieve a pointer to the SMM Services Table.
+ # Only available to SMM/DXE Combined and SMM module types.
+ SmmServicesTableLib|Include/Library/SmmServicesTableLib.h
+
+ ## @libraryclass Provides services for Smm Memory Operation.
+ #
+ SmmMemLib|Include/Library/SmmMemLib.h
+
+ ## @libraryclass Provides services to enable/disable periodic SMI handlers.
+ #
+ SmmPeriodicSmiLib|Include/Library/SmmPeriodicSmiLib.h
+
+ ## @libraryclass Provides services to generate random number.
+ #
+ RngLib|Include/Library/RngLib.h
+
+ ## @libraryclass Provides services to log the SMI handler registration.
+ SmiHandlerProfileLib|Include/Library/SmiHandlerProfileLib.h
+
+[LibraryClasses.IPF]
+ ## @libraryclass The SAL Library provides a service to make a SAL CALL.
+ SalLib|Include/Library/SalLib.h
+
+ ## @libraryclass Provides library services to make PAL Calls.
+ PalLib|Include/Library/PalLib.h
+
+ ## @libraryclass Provides library services to make Extended SAL Calls.
+ ExtendedSalLib|Include/Library/ExtendedSalLib.h
+
+[Guids]
+ #
+ # GUID defined in UEFI2.1/UEFI2.0/EFI1.1
+ #
+ ## Include/Guid/GlobalVariable.h
+ gEfiGlobalVariableGuid = { 0x8BE4DF61, 0x93CA, 0x11D2, { 0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C }}
+
+ ## Include/Guid/PcAnsi.h
+ gEfiVT100PlusGuid = { 0x7BAEC70B, 0x57E0, 0x4C76, { 0x8E, 0x87, 0x2F, 0x9E, 0x28, 0x08, 0x83, 0x43 }}
+
+ ## Include/Guid/PcAnsi.h
+ gEfiVT100Guid = { 0xDFA66065, 0xB419, 0x11D3, { 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Guid/PcAnsi.h
+ gEfiPcAnsiGuid = { 0xE0C14753, 0xF9BE, 0x11D2, { 0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Guid/PcAnsi.h
+ gEfiVTUTF8Guid = { 0xAD15A0D6, 0x8BEC, 0x4ACF, { 0xA0, 0x73, 0xD0, 0x1D, 0xE7, 0x7E, 0x2D, 0x88 }}
+
+ ## Include/Guid/PcAnsi.h
+ gEfiUartDevicePathGuid = { 0x37499a9d, 0x542f, 0x4c89, { 0xa0, 0x26, 0x35, 0xda, 0x14, 0x20, 0x94, 0xe4 }}
+
+ ## Include/Guid/PcAnsi.h
+ gEfiSasDevicePathGuid = { 0xd487ddb4, 0x008b, 0x11d9, { 0xaf, 0xdc, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d }}
+
+ ## Include/Guid/Gpt.h
+ gEfiPartTypeLegacyMbrGuid = { 0x024DEE41, 0x33E7, 0x11D3, { 0x9D, 0x69, 0x00, 0x08, 0xC7, 0x81, 0xF3, 0x9F }}
+
+ ## Include/Guid/Gpt.h
+ gEfiPartTypeSystemPartGuid = { 0xC12A7328, 0xF81F, 0x11D2, { 0xBA, 0x4B, 0x00, 0xA0, 0xC9, 0x3E, 0xC9, 0x3B }}
+
+ ## Include/Guid/Gpt.h
+ gEfiPartTypeUnusedGuid = { 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }}
+
+ ## Include/Guid/DebugImageInfoTable.h
+ gEfiDebugImageInfoTableGuid = { 0x49152E77, 0x1ADA, 0x4764, { 0xB7, 0xA2, 0x7A, 0xFE, 0xFE, 0xD9, 0x5E, 0x8B }}
+
+ ## Include/Guid/Acpi.h
+ gEfiAcpiTableGuid = { 0x8868E871, 0xE4F1, 0x11D3, { 0xBC, 0x22, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
+
+ ## Include/Guid/Acpi.h
+ gEfiAcpi20TableGuid = { 0x8868E871, 0xE4F1, 0x11D3, { 0xBC, 0x22, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
+
+ ## Include/Guid/Acpi.h
+ gEfiAcpi10TableGuid = { 0xEB9D2D30, 0x2D88, 0x11D3, { 0x9A, 0x16, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Guid/SmBios.h
+ gEfiSmbiosTableGuid = { 0xEB9D2D31, 0x2D88, 0x11D3, { 0x9A, 0x16, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Guid/Mps.h
+ gEfiMpsTableGuid = { 0xEB9D2D2F, 0x2D88, 0x11D3, { 0x9A, 0x16, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Guid/SalSystemTable.h
+ gEfiSalSystemTableGuid = { 0xEB9D2D32, 0x2D88, 0x11D3, { 0x9A, 0x16, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/AuthenticationInfo.h
+ gEfiAuthenticationChapLocalGuid = { 0xC280C73E, 0x15CA, 0x11DA, { 0xB0, 0xCA, 0x00, 0x10, 0x83, 0xFF, 0xCA, 0x4D }}
+
+ ## Include/Protocol/AuthenticationInfo.h
+ gEfiAuthenticationChapRadiusGuid = { 0xD6062B50, 0x15CA, 0x11DA, { 0x92, 0x19, 0x00, 0x10, 0x83, 0xFF, 0xCA, 0x4D }}
+
+ ## Include/Guid/FileSystemVolumeLabelInfo.h
+ gEfiFileSystemVolumeLabelInfoIdGuid = { 0xDB47D7D3, 0xFE81, 0x11D3, { 0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Guid/FileSystemInfo.h
+ gEfiFileSystemInfoGuid = { 0x09576E93, 0x6D3F, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Guid/FileInfo.h
+ gEfiFileInfoGuid = { 0x09576E92, 0x6D3F, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/Bis.h
+ gBootObjectAuthorizationParmsetGuid = { 0xEDD35E31, 0x07B9, 0x11D2, { 0x83, 0xA3, 0x00, 0xA0, 0xC9, 0x1F, 0xAD, 0xCF }}
+
+ ## Include/Protocol/PlatformToDriverConfiguration.h
+ gEfiPlatformToDriverConfigurationClpGuid = { 0x345ecc0e, 0xcb6, 0x4b75, { 0xbb, 0x57, 0x1b, 0x12, 0x9c, 0x47, 0x33,0x3e }}
+
+ ## Include/Guid/HiiKeyBoardLayout.h
+ gEfiHiiKeyBoardLayoutGuid = { 0x14982a4f, 0xb0ed, 0x45b8, { 0xa8, 0x11, 0x5a, 0x7a, 0x9b, 0xc2, 0x32, 0xdf }}
+
+ ## Include/Protocol/Hash.h
+ gEfiHashAlgorithmMD5Guid = { 0x0AF7C79C, 0x65B5, 0x4319, { 0xB0, 0xAE, 0x44, 0xEC, 0x48, 0x4E, 0x4A, 0xD7 }}
+
+ ## Include/Protocol/Hash.h
+ gEfiHashAlgorithmSha512Guid = { 0xCAA4381E, 0x750C, 0x4770, { 0xB8, 0x70, 0x7A, 0x23, 0xB4, 0xE4, 0x21, 0x30 }}
+
+ ## Include/Protocol/Hash.h
+ gEfiHashAlgorithmSha384Guid = { 0xEFA96432, 0xDE33, 0x4DD2, { 0xAE, 0xE6, 0x32, 0x8C, 0x33, 0xDF, 0x77, 0x7A }}
+
+ ## Include/Protocol/Hash.h
+ gEfiHashAlgorithmSha256Guid = { 0x51AA59DE, 0xFDF2, 0x4EA3, { 0xBC, 0x63, 0x87, 0x5F, 0xB7, 0x84, 0x2E, 0xE9 }}
+
+ ## Include/Protocol/Hash.h
+ gEfiHashAlgorithmSha224Guid = { 0x8DF01A06, 0x9BD5, 0x4BF7, { 0xB0, 0x21, 0xDB, 0x4F, 0xD9, 0xCC, 0xF4, 0x5B }}
+
+ ## Include/Protocol/Hash.h
+ gEfiHashAlgorithmSha1Guid = { 0x2AE9D80F, 0x3FB2, 0x4095, { 0xB7, 0xB1, 0xE9, 0x31, 0x57, 0xB9, 0x46, 0xB6 }}
+
+ ## Include/Guid/EventGroup.h
+ gEfiEventReadyToBootGuid = { 0x7CE88FB3, 0x4BD7, 0x4679, { 0x87, 0xA8, 0xA8, 0xD8, 0xDE, 0xE5, 0x0D, 0x2B }}
+
+ ## Include/Guid/EventGroup.h
+ gEfiEventMemoryMapChangeGuid = { 0x78BEE926, 0x692F, 0x48FD, { 0x9E, 0xDB, 0x01, 0x42, 0x2E, 0xF0, 0xD7, 0xAB }}
+
+ ## Include/Guid/EventGroup.h
+ gEfiEventVirtualAddressChangeGuid = { 0x13FA7698, 0xC831, 0x49C7, { 0x87, 0xEA, 0x8F, 0x43, 0xFC, 0xC2, 0x51, 0x96 }}
+
+ ## Include/Guid/EventGroup.h
+ gEfiEventExitBootServicesGuid = { 0x27ABF055, 0xB1B8, 0x4C26, { 0x80, 0x48, 0x74, 0x8F, 0x37, 0xBA, 0xA2, 0xDF }}
+
+ ## Include/Protocol/DebugPort.h
+ gEfiDebugPortVariableGuid = { 0xEBA4E8D2, 0x3858, 0x41EC, { 0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 }}
+
+ ## Include/Protocol/DebugPort.h
+ gEfiDebugPortDevicePathGuid = { 0xEBA4E8D2, 0x3858, 0x41EC, { 0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 }}
+
+ ## Include/Guid/HiiPlatformSetupFormset.h
+ gEfiHiiPlatformSetupFormsetGuid = { 0x93039971, 0x8545, 0x4b04, { 0xb4, 0x5e, 0x32, 0xeb, 0x83, 0x26, 0x04, 0x0e }}
+
+ ## Include/Guid/HiiPlatformSetupFormset.h
+ gEfiHiiDriverHealthFormsetGuid = { 0xf22fc20c, 0x8cf4, 0x45eb, { 0x8e, 0x6, 0xad, 0x4e, 0x50, 0xb9, 0x5d, 0xd3 }}
+
+ ## Include/Guid/HiiPlatformSetupFormset.h
+ gEfiHiiUserCredentialFormsetGuid = { 0x337f4407, 0x5aee, 0x4b83, { 0xb2, 0xa7, 0x4e, 0xad, 0xca, 0x30, 0x88, 0xcd }}
+
+ ## Include/Guid/HiiFormMapMethodGuid.h
+ gEfiHiiStandardFormGuid = { 0x3bd2f4ec, 0xe524, 0x46e4, { 0xa9, 0xd8, 0x51, 0x1, 0x17, 0x42, 0x55, 0x62 }}
+
+ ## Include/Guid/MemoryOverwriteControl.h
+ gEfiMemoryOverwriteControlDataGuid = { 0xe20939be, 0x32d4, 0x41be, {0xa1, 0x50, 0x89, 0x7f, 0x85, 0xd4, 0x98, 0x29 }}
+
+ ## Include/IndustryStandard/MemoryOverwriteRequestControlLock.h
+ gEfiMemoryOverwriteRequestControlLockGuid = { 0xBB983CCF, 0x151D, 0x40E1, {0xA0, 0x7B, 0x4A, 0x17, 0xBE, 0x16, 0x82, 0x92}}
+
+ ## Include/Guid/WinCertificate.h
+ gEfiCertTypeRsa2048Sha256Guid = { 0xa7717414, 0xc616, 0x4977, {0x94, 0x20, 0x84, 0x47, 0x12, 0xa7, 0x35, 0xbf }}
+
+ ## Include/Guid/Cper.h
+ gEfiEventNotificationTypeCmcGuid = { 0x2DCE8BB1, 0xBDD7, 0x450e, { 0xB9, 0xAD, 0x9C, 0xF4, 0xEB, 0xD4, 0xF8, 0x90 }}
+
+ ## Include/Guid/Cper.h
+ gEfiEventNotificationTypeCpeGuid = { 0x4E292F96, 0xD843, 0x4a55, { 0xA8, 0xC2, 0xD4, 0x81, 0xF2, 0x7E, 0xBE, 0xEE }}
+
+ ## Include/Guid/Cper.h
+ gEfiEventNotificationTypeMceGuid = { 0xE8F56FFE, 0x919C, 0x4cc5, { 0xBA, 0x88, 0x65, 0xAB, 0xE1, 0x49, 0x13, 0xBB }}
+
+ ## Include/Guid/Cper.h
+ gEfiEventNotificationTypePcieGuid = { 0xCF93C01F, 0x1A16, 0x4dfc, { 0xB8, 0xBC, 0x9C, 0x4D, 0xAF, 0x67, 0xC1, 0x04 }}
+
+ ## Include/Guid/Cper.h
+ gEfiEventNotificationTypeInitGuid = { 0xCC5263E8, 0x9308, 0x454a, { 0x89, 0xD0, 0x34, 0x0B, 0xD3, 0x9B, 0xC9, 0x8E }}
+
+ ## Include/Guid/Cper.h
+ gEfiEventNotificationTypeNmiGuid = { 0x5BAD89FF, 0xB7E6, 0x42c9, { 0x81, 0x4A, 0xCF, 0x24, 0x85, 0xD6, 0xE9, 0x8A }}
+
+ ## Include/Guid/Cper.h
+ gEfiEventNotificationTypeBootGuid = { 0x3D61A466, 0xAB40, 0x409a, { 0xA6, 0x98, 0xF3, 0x62, 0xD4, 0x64, 0xB3, 0x8F }}
+
+ ## Include/Guid/Cper.h
+ gEfiEventNotificationTypeDmarGuid = { 0x667DD791, 0xC6B3, 0x4c27, { 0x8A, 0x6B, 0x0F, 0x8E, 0x72, 0x2D, 0xEB, 0x41 }}
+
+ ## Include/Guid/Cper.h
+ gEfiProcessorGenericErrorSectionGuid = { 0x9876ccad, 0x47b4, 0x4bdb, { 0xb6, 0x5e, 0x16, 0xf1, 0x93, 0xc4, 0xf3, 0xdb }}
+
+ ## Include/Guid/Cper.h
+ gEfiProcessorSpecificErrorSectionGuid = { 0xdc3ea0b0, 0xa144, 0x4797, { 0xb9, 0x5b, 0x53, 0xfa, 0x24, 0x2b, 0x6e, 0x1d }}
+
+ ## Include/Guid/Cper.h
+ gEfiIa32X64ProcessorErrorSectionGuid = { 0xdc3ea0b0, 0xa144, 0x4797, { 0xb9, 0x5b, 0x53, 0xfa, 0x24, 0x2b, 0x6e, 0x1d }}
+
+ ## Include/Guid/Cper.h
+ gEfiPlatformMemoryErrorSectionGuid = { 0xa5bc1114, 0x6f64, 0x4ede, { 0xb8, 0x63, 0x3e, 0x83, 0xed, 0x7c, 0x83, 0xb1 }}
+
+ ## Include/Guid/Cper.h
+ gEfiPcieErrorSectionGuid = { 0xd995e954, 0xbbc1, 0x430f, { 0xad, 0x91, 0xb4, 0x4d, 0xcb, 0x3c, 0x6f, 0x35 }}
+
+ ## Include/Guid/Cper.h
+ gEfiFirmwareErrorSectionGuid = { 0x81212a96, 0x09ed, 0x4996, { 0x94, 0x71, 0x8d, 0x72, 0x9c, 0x8e, 0x69, 0xed }}
+
+ ## Include/Guid/Cper.h
+ gEfiPciBusErrorSectionGuid = { 0xc5753963, 0x3b84, 0x4095, { 0xbf, 0x78, 0xed, 0xda, 0xd3, 0xf9, 0xc9, 0xdd }}
+
+ ## Include/Guid/Cper.h
+ gEfiPciDevErrorSectionGuid = { 0xeb5e4685, 0xca66, 0x4769, { 0xb6, 0xa2, 0x26, 0x06, 0x8b, 0x00, 0x13, 0x26 }}
+
+ ## Include/Guid/Cper.h
+ gEfiDMArGenericErrorSectionGuid = { 0x5b51fef7, 0xc79d, 0x4434, { 0x8f, 0x1b, 0xaa, 0x62, 0xde, 0x3e, 0x2c, 0x64 }}
+
+ ## Include/Guid/Cper.h
+ gEfiDirectedIoDMArErrorSectionGuid = { 0x71761d37, 0x32b2, 0x45cd, { 0xa7, 0xd0, 0xb0, 0xfe, 0xdd, 0x93, 0xe8, 0xcf }}
+
+ ## Include/Guid/Cper.h
+ gEfiIommuDMArErrorSectionGuid = { 0x036f84e1, 0x7f37, 0x428c, { 0xa7, 0x9e, 0x57, 0x5f, 0xdf, 0xaa, 0x84, 0xec }}
+
+ #
+ # GUID defined in UEFI2.2
+ #
+ ## Include/Protocol/UserManager.h
+ gEfiEventUserProfileChangedGuid = { 0xbaf1e6de, 0x209e, 0x4adb, {0x8d, 0x96, 0xfd, 0x8b, 0x71, 0xf3, 0xf6, 0x83 }}
+
+ ## Include/Protocol/UserManager.h
+ gEfiUserCredentialClassUnknownGuid = { 0x5cf32e68, 0x7660, 0x449b, { 0x80, 0xe6, 0x7e, 0xa3, 0x6e, 0x3, 0xf6, 0xa8 }}
+
+ ## Include/Protocol/UserManager.h
+ gEfiUserCredentialClassPasswordGuid = { 0xf8e5058c, 0xccb6, 0x4714, { 0xb2, 0x20, 0x3f, 0x7e, 0x3a, 0x64, 0xb, 0xd1 }}
+
+ ## Include/Protocol/UserManager.h
+ gEfiUserCredentialClassSmartCardGuid = { 0x5f03ba33, 0x8c6b, 0x4c24, { 0xaa, 0x2e, 0x14, 0xa2, 0x65, 0x7b, 0xd4, 0x54 }}
+
+ ## Include/Protocol/UserManager.h
+ gEfiUserCredentialClassFingerprintGuid = { 0x32cba21f, 0xf308, 0x4cbc, { 0x9a, 0xb5, 0xf5, 0xa3, 0x69, 0x9f, 0x4, 0x4a }}
+
+ ## Include/Protocol/UserManager.h
+ gEfiUserCredentialClassHandprintGuid = { 0x5917ef16, 0xf723, 0x4bb9, { 0xa6, 0x4b, 0xd8, 0xc5, 0x32, 0xf4, 0xd8, 0xb5 }}
+
+ ## Include/Protocol/UserManager.h
+ gEfiUserCredentialClassSecureCardGuid = { 0x8a6b4a83, 0x42fe, 0x45d2, { 0xa2, 0xef, 0x46, 0xf0, 0x6c, 0x7d, 0x98, 0x52 }}
+
+ ## Include/Protocol/UserManager.h
+ gEfiUserInfoAccessSetupAdminGuid = { 0x85b75607, 0xf7ce, 0x471e, { 0xb7, 0xe4, 0x2a, 0xea, 0x5f, 0x72, 0x32, 0xee }}
+
+ ## Include/Protocol/UserManager.h
+ gEfiUserInfoAccessSetupNormalGuid = { 0x1db29ae0, 0x9dcb, 0x43bc, { 0x8d, 0x87, 0x5d, 0xa1, 0x49, 0x64, 0xdd, 0xe2 }}
+
+ ## Include/Protocol/UserManager.h
+ gEfiUserInfoAccessSetupRestrictedGuid = { 0xbdb38125, 0x4d63, 0x49f4, { 0x82, 0x12, 0x61, 0xcf, 0x5a, 0x19, 0xa, 0xf8 }}
+
+ ## Include/Guid/ImageAuthentication.h
+ gEfiImageSecurityDatabaseGuid = { 0xd719b2cb, 0x3d3a, 0x4596, {0xa3, 0xbc, 0xda, 0xd0, 0xe, 0x67, 0x65, 0x6f }}
+ gEfiCertSha256Guid = { 0xc1c41626, 0x504c, 0x4092, {0xac, 0xa9, 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28 }}
+ gEfiCertRsa2048Guid = { 0x3c5766e8, 0x269c, 0x4e34, {0xaa, 0x14, 0xed, 0x77, 0x6e, 0x85, 0xb3, 0xb6 }}
+ gEfiCertRsa2048Sha256Guid = { 0xe2b36190, 0x879b, 0x4a3d, {0xad, 0x8d, 0xf2, 0xe7, 0xbb, 0xa3, 0x27, 0x84 }}
+ gEfiCertSha1Guid = { 0x826ca512, 0xcf10, 0x4ac9, {0xb1, 0x87, 0xbe, 0x1, 0x49, 0x66, 0x31, 0xbd }}
+ gEfiCertRsa2048Sha1Guid = { 0x67f8444f, 0x8743, 0x48f1, {0xa3, 0x28, 0x1e, 0xaa, 0xb8, 0x73, 0x60, 0x80 }}
+ gEfiCertX509Guid = { 0xa5c059a1, 0x94e4, 0x4aa7, {0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72 }}
+
+ #
+ # GUIDs defined in UEFI2.3.1
+ #
+ ## Include/Protocol/Kms.h
+ gEfiKmsFormatGeneric128Guid = { 0xec8a3d69, 0x6ddf, 0x4108, {0x94, 0x76, 0x73, 0x37, 0xfc, 0x52, 0x21, 0x36 }}
+ gEfiKmsFormatGeneric160Guid = { 0xa3b3e6f8, 0xefca, 0x4bc1, {0x88, 0xfb, 0xcb, 0x87, 0x33, 0x9b, 0x25, 0x79 }}
+ gEfiKmsFormatGeneric256Guid = { 0x70f64793, 0xc323, 0x4261, {0xac, 0x2c, 0xd8, 0x76, 0xf2, 0x7c, 0x53, 0x45 }}
+ gEfiKmsFormatGeneric512Guid = { 0x978fe043, 0xd7af, 0x422e, {0x8a, 0x92, 0x2b, 0x48, 0xe4, 0x63, 0xbd, 0xe6 }}
+ gEfiKmsFormatGeneric1024Guid = { 0x43be0b44, 0x874b, 0x4ead, {0xb0, 0x9c, 0x24, 0x1a, 0x4f, 0xbd, 0x7e, 0xb3 }}
+ gEfiKmsFormatGeneric2048Guid = { 0x40093f23, 0x630c, 0x4626, {0x9c, 0x48, 0x40, 0x37, 0x3b, 0x19, 0xcb, 0xbe }}
+ gEfiKmsFormatGeneric3072Guid = { 0xb9237513, 0x6c44, 0x4411, {0xa9, 0x90, 0x21, 0xe5, 0x56, 0xe0, 0x5a, 0xde }}
+ gEfiKmsFormatMd2128Guid = { 0x78be11c4, 0xee44, 0x4a22, {0x9f, 0x05, 0x03, 0x85, 0x2e, 0xc5, 0xc9, 0x78 }}
+ gEfiKmsFormatMdc2128Guid = { 0xf7ad60f8, 0xefa8, 0x44a3, {0x91, 0x13, 0x23, 0x1f, 0x39, 0x9e, 0xb4, 0xc7 }}
+ gEfiKmsFormatMd4128Guid = { 0xd1c17aa1, 0xcac5, 0x400f, {0xbe, 0x17, 0xe2, 0xa2, 0xae, 0x06, 0x67, 0x7c }}
+ gEfiKmsFormatMdc4128Guid = { 0x3fa4f847, 0xd8eb, 0x4df4, {0xbd, 0x49, 0x10, 0x3a, 0x0a, 0x84, 0x7b, 0xbc }}
+ gEfiKmsFormatMd5128Guid = { 0xdcbc3662, 0x9cda, 0x4b52, {0xa0, 0x4c, 0x82, 0xeb, 0x1d, 0x23, 0x48, 0xc7 }}
+ gEfiKmsFormatMd5sha128Guid = { 0x1c178237, 0x6897, 0x459e, {0x9d, 0x36, 0x67, 0xce, 0x8e, 0xf9, 0x4f, 0x76 }}
+ gEfiKmsFormatSha1160Guid = { 0x453c5e5a, 0x482d, 0x43f0, {0x87, 0xc9, 0x59, 0x41, 0xf3, 0xa3, 0x8a, 0xc2 }}
+ gEfiKmsFormatSha256256Guid = { 0x6bb4f5cd, 0x8022, 0x448d, {0xbc, 0x6d, 0x77, 0x1b, 0xae, 0x93, 0x5f, 0xc6 }}
+ gEfiKmsFormatSha512512Guid = { 0x2f240e12, 0xe14d, 0x475c, {0x83, 0xb0, 0xef, 0xff, 0x22, 0xd7, 0x7b, 0xe7 }}
+ gEfiKmsFormatAesxts128Guid = { 0x4776e33f, 0xdb47, 0x479a, {0xa2, 0x5f, 0xa1, 0xcd, 0x0a, 0xfa, 0xb3, 0x8b }}
+ gEfiKmsFormatAesxts256Guid = { 0xdc7e8613, 0xc4bb, 0x4db0, {0x84, 0x62, 0x13, 0x51, 0x13, 0x57, 0xab, 0xe2 }}
+ gEfiKmsFormatAescbc128Guid = { 0xa0e8ee6a, 0x0e92, 0x44d4, {0x86, 0x1b, 0x0e, 0xaa, 0x4a, 0xca, 0x44, 0xa2 }}
+ gEfiKmsFormatAescbc256Guid = { 0xd7e69789, 0x1f68, 0x45e8, {0x96, 0xef, 0x3b, 0x64, 0x07, 0xa5, 0xb2, 0xdc }}
+ gEfiKmsFormatRsasha11024Guid = { 0x56417bed, 0x6bbe, 0x4882, {0x86, 0xa0, 0x3a, 0xe8, 0xbb, 0x17, 0xf8, 0xf9 }}
+ gEfiKmsFormatRsasha12048Guid = { 0xf66447d4, 0x75a6, 0x463e, {0xa8, 0x19, 0x07, 0x7f, 0x2d, 0xda, 0x05, 0xe9 }}
+ gEfiKmsFormatRsasha2562048Guid = { 0xa477af13, 0x877d, 0x4060, {0xba, 0xa1, 0x25, 0xd1, 0xbe, 0xa0, 0x8a, 0xd3 }}
+ gEfiKmsFormatRsasha2563072Guid = { 0x4e1356c2, 0xeed, 0x463f, {0x81, 0x47, 0x99, 0x33, 0xab, 0xdb, 0xc7, 0xd5 }}
+
+ ## Include/Guid/ImageAuthentication.h
+ gEfiCertSha224Guid = { 0xb6e5233, 0xa65c, 0x44c9, {0x94, 0x7, 0xd9, 0xab, 0x83, 0xbf, 0xc8, 0xbd }}
+ gEfiCertSha384Guid = { 0xff3e5307, 0x9fd0, 0x48c9, {0x85, 0xf1, 0x8a, 0xd5, 0x6c, 0x70, 0x1e, 0x1 }}
+ gEfiCertSha512Guid = { 0x93e0fae, 0xa6c4, 0x4f50, {0x9f, 0x1b, 0xd4, 0x1e, 0x2b, 0x89, 0xc1, 0x9a }}
+ gEfiCertPkcs7Guid = { 0x4aafd29d, 0x68df, 0x49ee, {0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7 }}
+
+ ## Include/Protocol/Hash.h
+ gEfiHashAlgorithmSha1NoPadGuid = { 0x24c5dc2f, 0x53e2, 0x40ca, { 0x9e, 0xd6, 0xa5, 0xd9, 0xa4, 0x9f, 0x46, 0x3b }}
+ gEfiHashAlgorithmSha256NoPadGuid = { 0x8628752a, 0x6cb7, 0x4814, { 0x96, 0xfc, 0x24, 0xa8, 0x15, 0xac, 0x22, 0x26 }}
+
+ #
+ # GUIDs defined in UEFI2.4
+ #
+ ## Include/Guid/FmpCapsule.h
+ gEfiFmpCapsuleGuid = { 0x6dcbd5ed, 0xe82d, 0x4c44, {0xbd, 0xa1, 0x71, 0x94, 0x19, 0x9a, 0xd9, 0x2a }}
+
+ ## Include/Guid/ImageAuthentication.h
+ gEfiCertX509Sha256Guid = { 0x3bd2a492, 0x96c0, 0x4079, {0xb4, 0x20, 0xfc, 0xf9, 0x8e, 0xf1, 0x03, 0xed }}
+ gEfiCertX509Sha384Guid = { 0x7076876e, 0x80c2, 0x4ee6, {0xaa, 0xd2, 0x28, 0xb3, 0x49, 0xa6, 0x86, 0x5b }}
+ gEfiCertX509Sha512Guid = { 0x446dbf63, 0x2502, 0x4cda, {0xbc, 0xfa, 0x24, 0x65, 0xd2, 0xb0, 0xfe, 0x9d }}
+
+ ## Include/Protocol/Rng.h
+ gEfiRngAlgorithmSp80090Hash256Guid = { 0xa7af67cb, 0x603b, 0x4d42, {0xba, 0x21, 0x70, 0xbf, 0xb6, 0x29, 0x3f, 0x96 }}
+ gEfiRngAlgorithmSp80090Hmac256Guid = { 0xc5149b43, 0xae85, 0x4f53, {0x99, 0x82, 0xb9, 0x43, 0x35, 0xd3, 0xa9, 0xe7 }}
+ gEfiRngAlgorithmSp80090Ctr256Guid = { 0x44f0de6e, 0x4d8c, 0x4045, {0xa8, 0xc7, 0x4d, 0xd1, 0x68, 0x85, 0x6b, 0x9e }}
+ gEfiRngAlgorithmX9313DesGuid = { 0x63c4785a, 0xca34, 0x4012, {0xa3, 0xc8, 0x0b, 0x6a, 0x32, 0x4f, 0x55, 0x46 }}
+ gEfiRngAlgorithmX931AesGuid = { 0xacd03321, 0x777e, 0x4d3d, {0xb1, 0xc8, 0x20, 0xcf, 0xd8, 0x88, 0x20, 0xc9 }}
+ gEfiRngAlgorithmRaw = { 0xe43176d7, 0xb6e8, 0x4827, {0xb7, 0x84, 0x7f, 0xfd, 0xc4, 0xb6, 0x85, 0x61 }}
+
+ ## Include/Protocol/AdapterInformation.h
+ gEfiAdapterInfoMediaStateGuid = { 0xD7C74207, 0xA831, 0x4A26, {0xB1, 0xF5, 0xD1, 0x93, 0x06, 0x5C, 0xE8, 0xB6 }}
+ gEfiAdapterInfoNetworkBootGuid = { 0x1FBD2960, 0x4130, 0x41E5, {0x94, 0xAC, 0xD2, 0xCF, 0x03, 0x7F, 0xB3, 0x7C }}
+ gEfiAdapterInfoSanMacAddressGuid = { 0x114da5ef, 0x2cf1, 0x4e12, {0x9b, 0xbb, 0xc4, 0x70, 0xb5, 0x52, 0x5, 0xd9 }}
+
+ ## Include/Guid/CapsuleReport.h
+ gEfiCapsuleReportGuid = { 0x39b68c46, 0xf7fb, 0x441b, {0xb6, 0xec, 0x16, 0xb0, 0xf6, 0x98, 0x21, 0xf3 }}
+
+ #
+ # GUIDs defined in UEFI2.5
+ #
+
+ ## Include/Guid/PropertiesTable.h
+ gEfiPropertiesTableGuid = { 0x880aaca3, 0x4adc, 0x4a04, {0x90, 0x79, 0xb7, 0x47, 0x34, 0x8, 0x25, 0xe5 }}
+
+ ## Include/Guid/SystemResourceTable.h
+ gEfiSystemResourceTableGuid = { 0xb122a263, 0x3661, 0x4f68, {0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x21, 0x80 }}
+
+ ## Include/Protocol/AdapterInformation.h
+ gEfiAdapterInfoUndiIpv6SupportGuid = { 0x4bd56be3, 0x4975, 0x4d8a, {0xa0, 0xad, 0xc4, 0x91, 0x20, 0x4b, 0x5d, 0x4d }}
+
+ ## Include/Protocol/RegularExpressionProtocol.h
+ gEfiRegexSyntaxTypePosixExtendedGuid = {0x5F05B20F, 0x4A56, 0xC231, {0xFA, 0x0B, 0xA7, 0xB1, 0xF1, 0x10, 0x04, 0x1D }}
+
+ ## Include/Protocol/RegularExpressionProtocol.h
+ gEfiRegexSyntaxTypeEcma262Guid = { 0x9A473A4A, 0x4CEB, 0xB95A, {0x41, 0x5E, 0x5B, 0xA0, 0xBC, 0x63, 0x9B, 0x2E }}
+
+ ## Include/Protocol/RegularExpressionProtocol.h
+ gEfiRegexSyntaxTypePerlGuid = {0x63E60A51, 0x497D, 0xD427, {0xC4, 0xA5, 0xB8, 0xAB, 0xDC, 0x3A, 0xAE, 0xB6 }}
+
+ ## Include/Guid/Cper.h
+ gEfiPlatformMemory2ErrorSectionGuid = { 0x61EC04FC, 0x48E6, 0xD813, { 0x25, 0xC9, 0x8D, 0xAA, 0x44, 0x75, 0x0B, 0x12 }}
+
+ ## Include/Protocol/BlockIoCrypto.h
+ gEfiBlockIoCryptoAlgoAesXtsGuid = { 0x2f87ba6a, 0x5c04, 0x4385, {0xa7, 0x80, 0xf3, 0xbf, 0x78, 0xa9, 0x7b, 0xec }}
+ gEfiBlockIoCryptoAlgoAesCbcMsBitlockerGuid = { 0x689e4c62, 0x70bf, 0x4cf3, {0x88, 0xbb, 0x33, 0xb3, 0x18, 0x26, 0x86, 0x70 }}
+
+ ## Include/Protocol/SmartCardEdge.h
+ gEfiPaddingRsassaPkcs1V1P5Guid = { 0x9317ec24, 0x7cb0, 0x4d0e, {0x8b, 0x32, 0x2e, 0xd9, 0x20, 0x9c, 0xd8, 0xaf }}
+ gEfiPaddingRsassaPssGuid = { 0x7b2349e0, 0x522d, 0x4f8e, {0xb9, 0x27, 0x69, 0xd9, 0x7c, 0x9e, 0x79, 0x5f }}
+ gEfiPaddingNoneGuid = { 0x3629ddb1, 0x228c, 0x452e, {0xb6, 0x16, 0x09, 0xed, 0x31, 0x6a, 0x97, 0x00 }}
+ gEfiPaddingRsaesPkcs1V1P5Guid = { 0xe1c1d0a9, 0x40b1, 0x4632, {0xbd, 0xcc, 0xd9, 0xd6, 0xe5, 0x29, 0x56, 0x31 }}
+ gEfiPaddingRsaesOaepGuid = { 0xc1e63ac4, 0xd0cf, 0x4ce6, {0x83, 0x5b, 0xee, 0xd0, 0xe6, 0xa8, 0xa4, 0x5b }}
+
+ ## Include/Guid/SmBios.h
+ gEfiSmbios3TableGuid = { 0xF2FD1544, 0x9794, 0x4A2C, { 0x99, 0x2E, 0xE5, 0xBB, 0xCF, 0x20, 0xE3, 0x94 }}
+
+ ## Include/Protocol/BootManagerPolicy.h
+ gEfiBootManagerPolicyConsoleGuid = { 0xCAB0E94C, 0xE15F, 0x11E3, { 0x91, 0x8D, 0xB8, 0xE8, 0x56, 0x2C, 0xBA, 0xFA }}
+ gEfiBootManagerPolicyNetworkGuid = { 0xD04159DC, 0xE15F, 0x11E3, { 0xB2, 0x61, 0xB8, 0xE8, 0x56, 0x2C, 0xBA, 0xFA }}
+ gEfiBootManagerPolicyConnectAllGuid = { 0x113B2126, 0xFC8A, 0x11E3, { 0xBD, 0x6C, 0xB8, 0xE8, 0x56, 0x2C, 0xBA, 0xFA }}
+
+ ## Include/Protocol/DevicePath.h
+ gEfiVirtualDiskGuid = { 0x77AB535A, 0x45FC, 0x624B, {0x55, 0x60, 0xF7, 0xB2, 0x81, 0xD1, 0xF9, 0x6E }}
+ gEfiVirtualCdGuid = { 0x3D5ABD30, 0x4175, 0x87CE, {0x6D, 0x64, 0xD2, 0xAD, 0xE5, 0x23, 0xC4, 0xBB }}
+ gEfiPersistentVirtualDiskGuid = { 0x5CEA02C9, 0x4D07, 0x69D3, {0x26, 0x9F ,0x44, 0x96, 0xFB, 0xE0, 0x96, 0xF9 }}
+ gEfiPersistentVirtualCdGuid = { 0x08018188, 0x42CD, 0xBB48, {0x10, 0x0F, 0x53, 0x87, 0xD5, 0x3D, 0xED, 0x3D }}
+
+ #
+ # GUIDs defined in UEFI2.6
+ #
+
+ ## Include/Guid/MemoryAttributesTable.h
+ gEfiMemoryAttributesTableGuid = { 0xdcfa911d, 0x26eb, 0x469f, {0xa2, 0x20, 0x38, 0xb7, 0xdc, 0x46, 0x12, 0x20}}
+
+ ## Include/Guid/Cper.h
+ gEfiArmProcessorErrorSectionGuid = { 0xe19e3d16, 0xbc11, 0x11e4, { 0x9c, 0xaa, 0xc2, 0x05, 0x1d, 0x5d, 0x46, 0xb0 }}
+
+ ## Guid for Image decoder
+ ## Include/Protocol/ImageDecoder.h
+ gEfiHiiImageDecoderNameJpegGuid = { 0xefefd093, 0x0d9b, 0x46eb, { 0xa8, 0x56, 0x48, 0x35, 0x07, 0x00, 0xc9, 0x08 }}
+ gEfiHiiImageDecoderNamePngGuid = { 0xaf060190, 0x5e3a, 0x4025, { 0xaf, 0xbd, 0xe1, 0xf9, 0x05, 0xbf, 0xaa, 0x4c }}
+
+ #
+ # GUID defined in PI1.0
+ #
+ ## Include/Guid/AprioriFileName.h
+ gPeiAprioriFileNameGuid = { 0x1b45cc0a, 0x156a, 0x428a, { 0XAF, 0x62, 0x49, 0x86, 0x4d, 0xa0, 0xe6, 0xe6 }}
+
+ ## Include/Guid/Apriori.h
+ gAprioriGuid = { 0xFC510EE7, 0xFFDC, 0x11D4, { 0xBD, 0x41, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
+
+ ## Include/Guid/FirmwareFileSystem2.h
+ gEfiFirmwareFileSystem2Guid = { 0x8c8ce578, 0x8a3d, 0x4f1c, { 0x99, 0x35, 0x89, 0x61, 0x85, 0xc3, 0x2d, 0xd3 }}
+
+ ## Include/Guid/FirmwareFileSystem2.h
+ gEfiFirmwareVolumeTopFileGuid = { 0x1BA0062E, 0xC779, 0x4582, { 0x85, 0x66, 0x33, 0x6A, 0xE8, 0xF7, 0x8F, 0x09 }}
+
+ ## Include/Guid/MemoryAllocationHob.h
+ gEfiHobMemoryAllocModuleGuid = { 0xF8E21975, 0x0899, 0x4F58, { 0xA4, 0xBE, 0x55, 0x25, 0xA9, 0xC6, 0xD7, 0x7A }}
+
+ ## Include/Guid/MemoryAllocationHob.h
+ gEfiHobMemoryAllocStackGuid = { 0x4ED4BF27, 0x4092, 0x42E9, { 0x80, 0x7D, 0x52, 0x7B, 0x1D, 0x00, 0xC9, 0xBD }}
+
+ ## Include/Guid/MemoryAllocationHob.h
+ gEfiHobMemoryAllocBspStoreGuid = { 0x564B33CD, 0xC92A, 0x4593, { 0x90, 0xBF, 0x24, 0x73, 0xE4, 0x3C, 0x63, 0x22 }}
+
+ ## Include/Guid/EventLegacyBios.h
+ gEfiEventLegacyBootGuid = { 0x2A571201, 0x4966, 0x47F6, { 0x8B, 0x86, 0xF3, 0x1E, 0x41, 0xF3, 0x2F, 0x10 }}
+
+ ## Include/Guid/HobList.h
+ gEfiHobListGuid = { 0x7739F24C, 0x93D7, 0x11D4, { 0x9A, 0x3A, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Guid/DxeServices.h
+ gEfiDxeServicesTableGuid = { 0x05AD34BA, 0x6F02, 0x4214, { 0x95, 0x2E, 0x4D, 0xA0, 0x39, 0x8E, 0x2B, 0xB9 }}
+
+ ## Include/Guid/MdePkgTokenSpace.h
+ gEfiMdePkgTokenSpaceGuid = { 0x914AEBE7, 0x4635, 0x459b, { 0xAA, 0x1C, 0x11, 0xE2, 0x19, 0xB0, 0x3A, 0x10 }}
+
+ ## Include/Guid/HardwareErrorVariable.h
+ gEfiHardwareErrorVariableGuid = { 0x414E6BDD, 0xE47B, 0x47cc, { 0xB2, 0x44, 0xBB, 0x61, 0x02, 0x0C, 0xF5, 0x16 }}
+
+ #
+ # GUID defined in PI1.2
+ #
+ ## Include/Guid/EventGroup.h
+ gEfiEventDxeDispatchGuid = { 0x7081E22F, 0xCAC6, 0x4053, { 0x94, 0x68, 0x67, 0x57, 0x82, 0xCF, 0x88, 0xE5 }}
+
+ ## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Ide interface.
+ ## Include/Protocol/DiskInfo.h
+ gEfiDiskInfoIdeInterfaceGuid = { 0x5E948FE3, 0x26D3, 0x42B5, { 0xAF, 0x17, 0x61, 0x02, 0x87, 0x18, 0x8D, 0xEC }}
+
+ ## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Scsi interface.
+ ## Include/Protocol/DiskInfo.h
+ gEfiDiskInfoScsiInterfaceGuid = { 0x08F74BAA, 0xEA36, 0x41D9, { 0x95, 0x21, 0x21, 0xA7, 0x0F, 0x87, 0x80, 0xBC }}
+
+ ## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Usb interface.
+ ## Include/Protocol/DiskInfo.h
+ gEfiDiskInfoUsbInterfaceGuid = { 0xCB871572, 0xC11A, 0x47B5, { 0xB4, 0x92, 0x67, 0x5E, 0xAF, 0xA7, 0x77, 0x27 }}
+
+ ## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Ahci interface.
+ ## Include/Protocol/DiskInfo.h
+ gEfiDiskInfoAhciInterfaceGuid = { 0x9e498932, 0x4abc, 0x45af, { 0xa3, 0x4d, 0x02, 0x47, 0x78, 0x7b, 0xe7, 0xc6 }}
+
+ ## Include/Guid/StatusCodeDataTypeId.h
+ gEfiStatusCodeDataTypeStringGuid = { 0x92D11080, 0x496F, 0x4D95, { 0xBE, 0x7E, 0x03, 0x74, 0x88, 0x38, 0x2B, 0x0A }}
+
+ ## Include/Guid/StatusCodeDataTypeId.h
+ gEfiStatusCodeSpecificDataGuid = { 0x335984BD, 0xE805, 0x409A, { 0xB8, 0xF8, 0xD2, 0x7E, 0xCE, 0x5F, 0xF7, 0xA6 }}
+
+ ## Include/Guid/FirmwareFileSystem3.h
+ gEfiFirmwareFileSystem3Guid = { 0x5473c07a, 0x3dcb, 0x4dca, { 0xbd, 0x6f, 0x1e, 0x96, 0x89, 0xe7, 0x34, 0x9a }}
+
+ #
+ # GUID defined in PI1.2.1
+ #
+ ## Include/Guid/EventGroup.h
+ gEfiEndOfDxeEventGroupGuid = { 0x2ce967a, 0xdd7e, 0x4ffc, { 0x9e, 0xe7, 0x81, 0xc, 0xf0, 0x47, 0x8, 0x80 }}
+
+ ## Include/Guid/FirmwareContentsSigned.h
+ gEfiFirmwareContentsSignedGuid = { 0xf9d89e8, 0x9259, 0x4f76, { 0xa5, 0xaf, 0xc, 0x89, 0xe3, 0x40, 0x23, 0xdf }}
+
+ ## Include/Guid/VectorHandoffTable.h
+ gEfiVectorHandoffTableGuid = { 0x996ec11c, 0x5397, 0x4e73, { 0xb5, 0x8f, 0x82, 0x7e, 0x52, 0x90, 0x6d, 0xef }}
+
+ ## Include/IndustryStandard/Hsti.h
+ gAdapterInfoPlatformSecurityGuid = {0x6be272c7, 0x1320, 0x4ccd, { 0x90, 0x17, 0xd4, 0x61, 0x2c, 0x01, 0x2b, 0x25 }}
+
+ #
+ # GUID defined in PI1.3
+ #
+ ## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Nvme interface.
+ ## Include/Protocol/DiskInfo.h
+ gEfiDiskInfoNvmeInterfaceGuid = { 0x3ab14680, 0x5d3f, 0x4a4d, { 0xbc, 0xdc, 0xcc, 0x38, 0x0, 0x18, 0xc7, 0xf7 }}
+
+ #
+ # GUID defined in PI1.4
+ #
+ ## Include/Guid/GraphicsInfoHob.h
+ gEfiGraphicsInfoHobGuid = { 0x39f62cce, 0x6825, 0x4669, { 0xbb, 0x56, 0x54, 0x1a, 0xba, 0x75, 0x3a, 0x07 }}
+
+ ## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify UFS interface.
+ ## Include/Protocol/DiskInfo.h
+ gEfiDiskInfoUfsInterfaceGuid = { 0x4b3029cc, 0x6b98, 0x47fb, { 0xbc, 0x96, 0x76, 0xdc, 0xb8, 0x4, 0x41, 0xf0 }}
+
+ #
+ # GUID defined in PI1.5
+ #
+ ## Include/Guid/GraphicsInfoHob.h
+ gEfiGraphicsDeviceInfoHobGuid = { 0xe5cb2ac9, 0xd35d, 0x4430, { 0x93, 0x6e, 0x1d, 0xe3, 0x32, 0x47, 0x8d, 0xe7 }}
+
+ #
+ # GUID defined in Windows UEFI Firmware Update Platform doc
+ #
+ ## Include/IndustryStandard/WindowsUxCapsule.h
+ gWindowsUxCapsuleGuid = { 0x3b8c8162, 0x188c, 0x46a4, { 0xae, 0xc9, 0xbe, 0x43, 0xf1, 0xd6, 0x56, 0x97}}
+
+[Guids.IA32, Guids.X64]
+ ## Include/Guid/Cper.h
+ gEfiIa32X64ErrorTypeCacheCheckGuid = { 0xA55701F5, 0xE3EF, 0x43de, { 0xAC, 0x72, 0x24, 0x9B, 0x57, 0x3F, 0xAD, 0x2C }}
+
+ ## Include/Guid/Cper.h
+ gEfiIa32X64ErrorTypeTlbCheckGuid = { 0xFC06B535, 0x5E1F, 0x4562, { 0x9F, 0x25, 0x0A, 0x3B, 0x9A, 0xDB, 0x63, 0xC3 }}
+
+ ## Include/Guid/Cper.h
+ gEfiIa32X64ErrorTypeBusCheckGuid = { 0x1CF3F8B3, 0xC5B1, 0x49a2, { 0xAA, 0x59, 0x5E, 0xEF, 0x92, 0xFF, 0xA6, 0x3C }}
+
+ ## Include/Guid/Cper.h
+ gEfiIa32X64ErrorTypeMsCheckGuid = { 0x48AB7F57, 0xDC34, 0x4f6c, { 0xA7, 0xD3, 0xB0, 0xB5, 0xB0, 0xA7, 0x43, 0x14 }}
+
+[Ppis]
+ ## Include/Ppi/MasterBootMode.h
+ gEfiPeiMasterBootModePpiGuid = { 0x7408d748, 0xfc8c, 0x4ee6, {0x92, 0x88, 0xc4, 0xbe, 0xc0, 0x92, 0xa4, 0x10 } }
+
+ ## Include/Ppi/DxeIpl.h
+ gEfiDxeIplPpiGuid = {0xae8ce5d, 0xe448, 0x4437, {0xa8, 0xd7, 0xeb, 0xf5, 0xf1, 0x94, 0xf7, 0x31 }}
+
+ ## Include/Ppi/MemoryDiscovered.h
+ gEfiPeiMemoryDiscoveredPpiGuid = {0xf894643d, 0xc449, 0x42d1, {0x8e, 0xa8, 0x85, 0xbd, 0xd8, 0xc6, 0x5b, 0xde } }
+
+ ## Include/Ppi/BootInRecoveryMode.h
+ gEfiPeiBootInRecoveryModePpiGuid = { 0x17ee496a, 0xd8e4, 0x4b9a, {0x94, 0xd1, 0xce, 0x82, 0x72, 0x30, 0x8, 0x50 } }
+
+ ## Include/Ppi/EndOfPeiPhase.h
+ gEfiEndOfPeiSignalPpiGuid = {0x605EA650, 0xC65C, 0x42e1, {0xBA, 0x80, 0x91, 0xA5, 0x2A, 0xB6, 0x18, 0xC6 } }
+
+ ## Include/Ppi/Reset.h
+ gEfiPeiResetPpiGuid = { 0xef398d58, 0x9dfd, 0x4103, {0xbf, 0x94, 0x78, 0xc6, 0xf4, 0xfe, 0x71, 0x2f } }
+
+ ## Include/Ppi/StatusCode.h
+ gEfiPeiStatusCodePpiGuid = { 0x229832d3, 0x7a30, 0x4b36, {0xb8, 0x27, 0xf4, 0xc, 0xb7, 0xd4, 0x54, 0x36 } }
+
+ ## Include/Ppi/Security2.h
+ gEfiPeiSecurity2PpiGuid = { 0xdcd0be23, 0x9586, 0x40f4, { 0xb6, 0x43, 0x6, 0x52, 0x2c, 0xed, 0x4e, 0xde } }
+
+ ## Include/Ppi/TemporaryRamSupport.h
+ gEfiTemporaryRamSupportPpiGuid = { 0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} }
+
+ ## Include/Ppi/CpuIo.h
+ gEfiPeiCpuIoPpiInstalledGuid = { 0xe6af1f7b, 0xfc3f, 0x46da, {0xa8, 0x28, 0xa3, 0xb4, 0x57, 0xa4, 0x42, 0x82 } }
+
+ ## Include/Ppi/PciCfg2.h
+ gEfiPciCfg2PpiGuid = { 0x57a449a, 0x1fdc, 0x4c06, { 0xbf, 0xc9, 0xf5, 0x3f, 0x6a, 0x99, 0xbb, 0x92 } }
+
+ ## Include/Ppi/Stall.h
+ gEfiPeiStallPpiGuid = { 0x1f4c6f90, 0xb06b, 0x48d8, {0xa2, 0x01, 0xba, 0xe5, 0xf1, 0xcd, 0x7d, 0x56 } }
+
+ ## Include/Ppi/ReadOnlyVariable2.h
+ gEfiPeiReadOnlyVariable2PpiGuid = { 0x2ab86ef5, 0xecb5, 0x4134, { 0xb5, 0x56, 0x38, 0x54, 0xca, 0x1f, 0xe1, 0xb4 } }
+
+ ## Include/Ppi/SecPlatformInformation.h
+ gEfiSecPlatformInformationPpiGuid = { 0x6f8c2b35, 0xfef4, 0x448d, {0x82, 0x56, 0xe1, 0x1b, 0x19, 0xd6, 0x10, 0x77 } }
+
+ ## Include/Ppi/LoadImage.h
+ gEfiPeiLoadedImagePpiGuid = { 0xc1fcd448, 0x6300, 0x4458, { 0xb8, 0x64, 0x28, 0xdf, 0x1, 0x53, 0x64, 0xbc } }
+
+ ## Include/Ppi/Smbus2.h
+ gEfiPeiSmbus2PpiGuid = { 0x9ca93627, 0xb65b, 0x4324, { 0xa2, 0x2, 0xc0, 0xb4, 0x61, 0x76, 0x45, 0x43 } }
+
+ ## Include/Ppi/FirmwareVolumeInfo.h
+ gEfiPeiFirmwareVolumeInfoPpiGuid = { 0x49edb1c1, 0xbf21, 0x4761, { 0xbb, 0x12, 0xeb, 0x0, 0x31, 0xaa, 0xbb, 0x39 } }
+
+ ## Include/Ppi/LoadFile.h
+ gEfiPeiLoadFilePpiGuid = { 0xb9e0abfe, 0x5979, 0x4914, { 0x97, 0x7f, 0x6d, 0xee, 0x78, 0xc2, 0x78, 0xa6 } }
+
+ ## Include/Ppi/Decompress.h
+ gEfiPeiDecompressPpiGuid = { 0x1a36e4e7, 0xfab6, 0x476a, { 0x8e, 0x75, 0x69, 0x5a, 0x5, 0x76, 0xfd, 0xd7 } }
+
+ ## Include/Ppi/Pcd.h
+ gPcdPpiGuid = { 0x6e81c58, 0x4ad7, 0x44bc, { 0x83, 0x90, 0xf1, 0x2, 0x65, 0xf7, 0x24, 0x80 } }
+
+ ## Include/Ppi/PcdInfo.h
+ gGetPcdInfoPpiGuid = { 0x4d8b155b, 0xc059, 0x4c8f, { 0x89, 0x26, 0x6, 0xfd, 0x43, 0x31, 0xdb, 0x8a } }
+
+ #
+ # PPIs defined in PI 1.2.
+ #
+
+ ## Include/Ppi/RecoveryModule.h
+ gEfiPeiRecoveryModulePpiGuid = { 0xFB6D9542, 0x612D, 0x4f45, { 0x87, 0x2f, 0x5c, 0xff, 0x52, 0xe9, 0x3d, 0xcf }}
+
+ ## Include/Ppi/DeviceRecoveryModule.h
+ gEfiPeiDeviceRecoveryModulePpiGuid = { 0x0DE2CE25, 0x446A, 0x45a7, { 0xBF, 0xC9, 0x37, 0xDA, 0x26, 0x34, 0x4B, 0x37 }}
+
+ ## Include/Ppi/BlockIo.h
+ gEfiPeiVirtualBlockIoPpiGuid = { 0x695d8aa1, 0x42ee, 0x4c46, { 0x80, 0x5c, 0x6e, 0xa6, 0xbc, 0xe7, 0x99, 0xe3 }}
+
+ ## Include/Ppi/S3Resume2.h
+ gEfiPeiS3Resume2PpiGuid = { 0x6D582DBC, 0xDB85, 0x4514, {0x8F, 0xCC, 0x5A, 0xDF, 0x62, 0x27, 0xB1, 0x47 }}
+
+ ## Include/Ppi/ReportStatusCodeHandler.h
+ gEfiPeiRscHandlerPpiGuid = { 0x65d394, 0x9951, 0x4144, {0x82, 0xa3, 0xa, 0xfc, 0x85, 0x79, 0xc2, 0x51 }}
+
+ ## Include/Ppi/PiPcd.h
+ gEfiPeiPcdPpiGuid = { 0x1f34d25, 0x4de2, 0x23ad, { 0x3f, 0xf3, 0x36, 0x35, 0x3f, 0xf3, 0x23, 0xf1 } }
+
+ #
+ # PPIs defined in PI 1.2.1.
+ #
+
+ ## Include/Ppi/PiPcdInfo.h
+ gEfiGetPcdInfoPpiGuid = { 0xa60c6b59, 0xe459, 0x425d, { 0x9c, 0x69, 0xb, 0xcc, 0x9c, 0xb2, 0x7d, 0x81 } }
+
+ ## Include/Ppi/TemporaryRamDone.h
+ gEfiTemporaryRamDonePpiGuid = { 0xceab683c, 0xec56, 0x4a2d, { 0xa9, 0x6, 0x40, 0x53, 0xfa, 0x4e, 0x9c, 0x16 } }
+
+ ## Include/Ppi/VectorHandoffInfo.h
+ gEfiVectorHandoffInfoPpiGuid = { 0x3cd652b4, 0x6d33, 0x4dce, { 0x89, 0xdb, 0x83, 0xdf, 0x97, 0x66, 0xfc, 0xca }}
+
+ ## Include/Ppi/IsaHc.h
+ gEfiIsaHcPpiGuid = { 0x8d48bd70, 0xc8a3, 0x4c06, {0x90, 0x1b, 0x74, 0x79, 0x46, 0xaa, 0xc3, 0x58 } }
+
+ ## Include/Ppi/SuperIo.h
+ gEfiSioPpiGuid = { 0x23a464ad, 0xcb83, 0x48b8, {0x94, 0xab, 0x1a, 0x6f, 0xef, 0xcf, 0xe5, 0x22 } }
+
+ #
+ # PPIs defined in PI 1.3.
+ #
+
+ ## Include/Ppi/I2cMaster.h
+ gEfiPeiI2cMasterPpiGuid = { 0xb3bfab9b, 0x9f9c, 0x4e8b, { 0xad, 0x37, 0x7f, 0x8c, 0x51, 0xfc, 0x62, 0x80 }}
+
+ ## Include/Ppi/FirmwareVolumeInfo2.h
+ gEfiPeiFirmwareVolumeInfo2PpiGuid = { 0xea7ca24b, 0xded5, 0x4dad, { 0xa3, 0x89, 0xbf, 0x82, 0x7e, 0x8f, 0x9b, 0x38 } }
+
+ #
+ # PPIs defined in PI 1.4.
+ #
+
+ ## Include/Ppi/Graphics.h
+ gEfiPeiGraphicsPpiGuid = { 0x6ecd1463, 0x4a4a, 0x461b, { 0xaf, 0x5f, 0x5a, 0x33, 0xe3, 0xb2, 0x16, 0x2b } }
+
+ ## Include/Ppi/MpServices.h
+ gEfiPeiMpServicesPpiGuid = { 0xee16160a, 0xe8be, 0x47a6, { 0x82, 0xa, 0xc6, 0x90, 0xd, 0xb0, 0x25, 0xa } }
+
+ ## Include/Ppi/Capsule.h
+ gEfiPeiCapsulePpiGuid = { 0x3acf33ee, 0xd892, 0x40f4, { 0xa2, 0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d }}
+ ## Keep name backwards compatible before PI Version 1.4
+ gPeiCapsulePpiGuid = { 0x3acf33ee, 0xd892, 0x40f4, { 0xa2, 0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d }}
+
+ ## Include/Ppi/Reset2.h
+ gEfiPeiReset2PpiGuid = { 0x6cc45765, 0xcce4, 0x42fd, {0xbc, 0x56, 0x1, 0x1a, 0xaa, 0xc6, 0xc9, 0xa8 } }
+
+ ## Include/Ppi/BlockIo2.h
+ gEfiPeiVirtualBlockIo2PpiGuid = { 0x26cc0fad, 0xbeb3, 0x478a, { 0x91, 0xb2, 0xc, 0x18, 0x8f, 0x72, 0x61, 0x98 }}
+
+ ## Include/Ppi/SecPlatformInformation.h
+ gEfiSecPlatformInformation2PpiGuid = { 0x9e9f374b, 0x8f16, 0x4230, {0x98, 0x24, 0x58, 0x46, 0xee, 0x76, 0x6a, 0x97 } }
+
+[Protocols]
+ ## Include/Protocol/Pcd.h
+ gPcdProtocolGuid = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}
+
+ ## Include/Protocol/PcdInfo.h
+ gGetPcdInfoProtocolGuid = { 0x5be40f57, 0xfa68, 0x4610, { 0xbb, 0xbf, 0xe9, 0xc5, 0xfc, 0xda, 0xd3, 0x65 } }
+
+ #
+ # Protocols defined in PI1.0.
+ #
+
+ ## Include/Protocol/Bds.h
+ gEfiBdsArchProtocolGuid = { 0x665E3FF6, 0x46CC, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/Cpu.h
+ gEfiCpuArchProtocolGuid = { 0x26BACCB1, 0x6F42, 0x11D4, { 0xBC, 0xE7, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
+
+ ## Include/Protocol/Metronome.h
+ gEfiMetronomeArchProtocolGuid = { 0x26BACCB2, 0x6F42, 0x11D4, { 0xBC, 0xE7, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
+
+ ## Include/Protocol/MonotonicCounter.h
+ gEfiMonotonicCounterArchProtocolGuid = { 0x1DA97072, 0xBDDC, 0x4B30, { 0x99, 0xF1, 0x72, 0xA0, 0xB5, 0x6F, 0xFF, 0x2A }}
+
+ ## Include/Protocol/RealTimeClock.h
+ gEfiRealTimeClockArchProtocolGuid = { 0x27CFAC87, 0x46CC, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/Reset.h
+ gEfiResetArchProtocolGuid = { 0x27CFAC88, 0x46CC, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/Runtime.h
+ gEfiRuntimeArchProtocolGuid = { 0xb7dfb4e1, 0x052f, 0x449f, { 0x87, 0xbe, 0x98, 0x18, 0xfc, 0x91, 0xb7, 0x33 }}
+
+ ## Include/Protocol/Security.h
+ gEfiSecurityArchProtocolGuid = { 0xA46423E3, 0x4617, 0x49F1, { 0xB9, 0xFF, 0xD1, 0xBF, 0xA9, 0x11, 0x58, 0x39 }}
+
+ ## Include/Protocol/SecurityPolicy.h
+ gEfiSecurityPolicyProtocolGuid = { 0x78E4D245, 0xCD4D, 0x4A05, { 0xA2, 0xBA, 0x47, 0x43, 0xE8, 0x6C, 0xFC, 0xAB }}
+
+ ## Include/Protocol/Timer.h
+ gEfiTimerArchProtocolGuid = { 0x26BACCB3, 0x6F42, 0x11D4, { 0xBC, 0xE7, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
+
+ ## Include/Protocol/VariableWrite.h
+ gEfiVariableWriteArchProtocolGuid = { 0x6441F818, 0x6362, 0x4E44, { 0xB5, 0x70, 0x7D, 0xBA, 0x31, 0xDD, 0x24, 0x53 }}
+
+ ## Include/Protocol/Variable.h
+ gEfiVariableArchProtocolGuid = { 0x1E5668E2, 0x8481, 0x11D4, { 0xBC, 0xF1, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
+
+ ## Include/Protocol/WatchdogTimer.h
+ gEfiWatchdogTimerArchProtocolGuid = { 0x665E3FF5, 0x46CC, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/StatusCode.h
+ gEfiStatusCodeRuntimeProtocolGuid = { 0xD2B2B828, 0x0826, 0x48A7, { 0xB3, 0xDF, 0x98, 0x3C, 0x00, 0x60, 0x24, 0xF0 }}
+
+ ## Include/Protocol/SmbusHc.h
+ gEfiSmbusHcProtocolGuid = {0xe49d33ed, 0x513d, 0x4634, { 0xb6, 0x98, 0x6f, 0x55, 0xaa, 0x75, 0x1c, 0x1b} }
+
+ ## Include/Protocol/FirmwareVolume2.h
+ gEfiFirmwareVolume2ProtocolGuid = { 0x220e73b6, 0x6bdb, 0x4413, { 0x84, 0x5, 0xb9, 0x74, 0xb1, 0x8, 0x61, 0x9a } }
+
+ ## Include/Protocol/FirmwareVolumeBlock.h
+ gEfiFirmwareVolumeBlockProtocolGuid = { 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
+
+ ## Include/Protocol/Capsule.h
+ gEfiCapsuleArchProtocolGuid = { 0x5053697E, 0x2CBC, 0x4819, { 0x90, 0xD9, 0x05, 0x80, 0xDE, 0xEE, 0x57, 0x54 }}
+
+ #
+ # Protocols defined in PI 1.2.
+ #
+
+ ## Include/Protocol/MpService.h
+ gEfiMpServiceProtocolGuid = { 0x3fdda605, 0xa76e, 0x4f46, { 0xad, 0x29, 0x12, 0xf4, 0x53, 0x1b, 0x3d, 0x08 }}
+
+ ## Include/Protocol/PciHostBridgeResourceAllocation.h
+ gEfiPciHostBridgeResourceAllocationProtocolGuid = { 0xCF8034BE, 0x6768, 0x4d8b, { 0xb7, 0x39, 0x7c, 0xce, 0x68, 0x3a, 0x9f, 0xbe }}
+
+ ## Include/Protocol/PciPlatform.h
+ gEfiPciPlatformProtocolGuid = { 0x07d75280, 0x27d4, 0x4d69, { 0x90, 0xd0, 0x56, 0x43, 0xe2, 0x38, 0xb3, 0x41 }}
+
+ ## Include/Protocol/PciOverride.h
+ gEfiPciOverrideProtocolGuid = { 0xb5b35764, 0x460c, 0x4a06, {0x99, 0xfc, 0x77, 0xa1, 0x7c, 0x1b, 0x5c, 0xeb }}
+
+ ## Include/Protocol/PciEnumerationComplete.h
+ gEfiPciEnumerationCompleteProtocolGuid = { 0x30cfe3e7, 0x3de1, 0x4586, {0xbe, 0x20, 0xde, 0xab, 0xa1, 0xb3, 0xb7, 0x93}}
+
+
+ ## Include/Protocol/IncompatiblePciDeviceSupport.h
+ gEfiIncompatiblePciDeviceSupportProtocolGuid = { 0xeb23f55a, 0x7863, 0x4ac2, { 0x8d, 0x3d, 0x95, 0x65, 0x35, 0xde, 0x03, 0x75 }}
+
+ ## Include/Protocol/PciHotPlugInit.h
+ gEfiPciHotPlugInitProtocolGuid = { 0xaa0e8bc1, 0xdabc, 0x46b0, { 0xa8, 0x44, 0x37, 0xb8, 0x16, 0x9b, 0x2b, 0xea }}
+
+ ## This protocol is used to add or remove all PCI child devices on the PCI root bridge.
+ # Include/Protocol/PciHotPlugRequest.h
+ gEfiPciHotPlugRequestProtocolGuid = { 0x19CB87AB, 0x2CB9, 0x4665, { 0x83, 0x60, 0xDD, 0xCF, 0x60, 0x54, 0xF7, 0x9D }}
+
+ ## Include/Protocol/IdeControllerInit.h
+ gEfiIdeControllerInitProtocolGuid = { 0xa1e37052, 0x80d9, 0x4e65, { 0xa3, 0x17, 0x3e, 0x9a, 0x55, 0xc4, 0x3e, 0xc9 }}
+
+ ## Disk Info protocol is used to export Inquiry Data for a drive.
+ # Include/Protocol/DiskInfo.h
+ gEfiDiskInfoProtocolGuid = { 0xD432A67F, 0x14DC, 0x484B, { 0xB3, 0xBB, 0x3F, 0x02, 0x91, 0x84, 0x93, 0x27 }}
+
+ ## Include/Protocol/Smbios.h
+ gEfiSmbiosProtocolGuid = {0x3583ff6, 0xcb36, 0x4940, { 0x94, 0x7e, 0xb9, 0xb3, 0x9f, 0x4a, 0xfa, 0xf7}}
+
+ ## Include/Protocol/S3SaveState.h
+ gEfiS3SaveStateProtocolGuid = {0xe857caf6, 0xc046, 0x45dc, { 0xbe, 0x3f, 0xee, 0x7, 0x65, 0xfb, 0xa8, 0x87}}
+
+ ## Include/Protocol/S3SmmSaveState.h
+ gEfiS3SmmSaveStateProtocolGuid = {0x320afe62, 0xe593, 0x49cb, { 0xa9, 0xf1, 0xd4, 0xc2, 0xf4, 0xaf, 0x1, 0x4c}}
+
+ ## Include/Protocol/ReportStatusCodeHandler.h
+ gEfiRscHandlerProtocolGuid = { 0x86212936, 0xe76, 0x41c8, { 0xa0, 0x3a, 0x2a, 0xf2, 0xfc, 0x1c, 0x39, 0xe2 }}
+
+ ## Include/Protocol/SmmReportStatusCodeHandler.h
+ gEfiSmmRscHandlerProtocolGuid = { 0x2ff29fa7, 0x5e80, 0x4ed9, { 0xb3, 0x80, 0x1, 0x7d, 0x3c, 0x55, 0x4f, 0xf4 }}
+
+ ## Include/Protocol/AcpiSystemDescriptionTable.h
+ gEfiAcpiSdtProtocolGuid = { 0xeb97088e, 0xcfdf, 0x49c6, { 0xbe, 0x4b, 0xd9, 0x6, 0xa5, 0xb2, 0xe, 0x86 }}
+
+ ## Include/Protocol/SuperIo.h
+ gEfiSioProtocolGuid = { 0x215fdd18, 0xbd50, 0x4feb, { 0x89, 0xb, 0x58, 0xca, 0xb, 0x47, 0x39, 0xe9 }}
+
+ ## Include/Protocol/SmmCpuIo2.h
+ gEfiSmmCpuIo2ProtocolGuid = { 0x3242a9d8, 0xce70, 0x4aa0, { 0x95, 0x5d, 0x5e, 0x7b, 0x14, 0x0d, 0xe4, 0xd2 }}
+
+ ## Include/Protocol/SmmBase2.h
+ gEfiSmmBase2ProtocolGuid = { 0xf4ccbfb7, 0xf6e0, 0x47fd, { 0x9d, 0xd4, 0x10, 0xa8, 0xf1, 0x50, 0xc1, 0x91 }}
+
+ ## Include/Protocol/SmmAccess2.h
+ gEfiSmmAccess2ProtocolGuid = { 0xc2702b74, 0x800c, 0x4131, { 0x87, 0x46, 0x8f, 0xb5, 0xb8, 0x9c, 0xe4, 0xac }}
+
+ ## Include/Protocol/SmmControl2.h
+ gEfiSmmControl2ProtocolGuid = { 0x843dc720, 0xab1e, 0x42cb, { 0x93, 0x57, 0x8a, 0x0, 0x78, 0xf3, 0x56, 0x1b}}
+
+ ## Include/Protocol/SmmConfiguration.h
+ gEfiSmmConfigurationProtocolGuid= { 0x26eeb3de, 0xb689, 0x492e, { 0x80, 0xf0, 0xbe, 0x8b, 0xd7, 0xda, 0x4b, 0xa7 }}
+
+ ## Include/Protocol/SmmReadyToLock.h
+ gEfiSmmReadyToLockProtocolGuid = { 0x47b7fa8c, 0xf4bd, 0x4af6, { 0x82, 0x00, 0x33, 0x30, 0x86, 0xf0, 0xd2, 0xc8 }}
+
+ ## Include/Protocol/DxeSmmReadyToLock.h
+ gEfiDxeSmmReadyToLockProtocolGuid = { 0x60ff8964, 0xe906, 0x41d0, { 0xaf, 0xed, 0xf2, 0x41, 0xe9, 0x74, 0xe0, 0x8e }}
+
+ ## Include/Protocol/SmmCommunication.h
+ gEfiSmmCommunicationProtocolGuid = { 0xc68ed8e2, 0x9dc6, 0x4cbd, { 0x9d, 0x94, 0xdb, 0x65, 0xac, 0xc5, 0xc3, 0x32 }}
+
+ ## Include/Protocol/SmmStatusCode.h
+ gEfiSmmStatusCodeProtocolGuid = { 0x6afd2b77, 0x98c1, 0x4acd, { 0xa6, 0xf9, 0x8a, 0x94, 0x39, 0xde, 0xf, 0xb1}}
+
+ ## Include/Protocol/SmmCpu.h
+ gEfiSmmCpuProtocolGuid = { 0xeb346b97, 0x975f, 0x4a9f, { 0x8b, 0x22, 0xf8, 0xe9, 0x2b, 0xb3, 0xd5, 0x69 }}
+
+ ## Include/Protocol/SmmPciRootBridgeIo.h
+ gEfiSmmPciRootBridgeIoProtocolGuid = { 0x8bc1714d, 0xffcb, 0x41c3, { 0x89, 0xdc, 0x6c, 0x74, 0xd0, 0x6d, 0x98, 0xea }}
+
+ ## Include/Protocol/SmmSwDispatch2.h
+ gEfiSmmSwDispatch2ProtocolGuid = { 0x18a3c6dc, 0x5eea, 0x48c8, {0xa1, 0xc1, 0xb5, 0x33, 0x89, 0xf9, 0x89, 0x99 }}
+
+ ## Include/Protocol/SmmSxDispatch2.h
+ gEfiSmmSxDispatch2ProtocolGuid = { 0x456d2859, 0xa84b, 0x4e47, {0xa2, 0xee, 0x32, 0x76, 0xd8, 0x86, 0x99, 0x7d }}
+
+ ## Include/Protocol/SmmPeriodicTimerDispatch2.h
+ gEfiSmmPeriodicTimerDispatch2ProtocolGuid = { 0x4cec368e, 0x8e8e, 0x4d71, {0x8b, 0xe1, 0x95, 0x8c, 0x45, 0xfc, 0x8a, 0x53 }}
+
+ ## Include/Protocol/SmmUsbDispatch2.h
+ gEfiSmmUsbDispatch2ProtocolGuid = { 0xee9b8d90, 0xc5a6, 0x40a2, {0xbd, 0xe2, 0x52, 0x55, 0x8d, 0x33, 0xcc, 0xa1 }}
+
+ ## Include/Protocol/SmmGpiDispatch2.h
+ gEfiSmmGpiDispatch2ProtocolGuid = { 0x25566b03, 0xb577, 0x4cbf, {0x95, 0x8c, 0xed, 0x66, 0x3e, 0xa2, 0x43, 0x80 }}
+
+ ## Include/Protocol/SmmStandbyButtonDispatch2.h
+ gEfiSmmStandbyButtonDispatch2ProtocolGuid = { 0x7300c4a1, 0x43f2, 0x4017, {0xa5, 0x1b, 0xc8, 0x1a, 0x7f, 0x40, 0x58, 0x5b }}
+
+ ## Include/Protocol/SmmPowerButtonDispatch2.h
+ gEfiSmmPowerButtonDispatch2ProtocolGuid = { 0x1b1183fa, 0x1823, 0x46a7, {0x88, 0x72, 0x9c, 0x57, 0x87, 0x55, 0x40, 0x9d }}
+
+ ## Include/Protocol/SmmIoTrapDispatch2.h
+ gEfiSmmIoTrapDispatch2ProtocolGuid = { 0x58dc368d, 0x7bfa, 0x4e77, {0xab, 0xbc, 0xe, 0x29, 0x41, 0x8d, 0xf9, 0x30 }}
+
+ ## Include/Protocol/PiPcd.h
+ gEfiPcdProtocolGuid = { 0x13a3f0f6, 0x264a, 0x3ef0, { 0xf2, 0xe0, 0xde, 0xc5, 0x12, 0x34, 0x2f, 0x34 } }
+
+ ## Include/Protocol/FirmwareVolumeBlock.h
+ gEfiFirmwareVolumeBlock2ProtocolGuid = { 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
+
+ ## Include/Protocol/CpuIo2.h
+ gEfiCpuIo2ProtocolGuid = {0xad61f191, 0xae5f, 0x4c0e, {0xb9, 0xfa, 0xe8, 0x69, 0xd2, 0x88, 0xc6, 0x4f } }
+
+ ## Include/Protocol/LegacyRegion2.h
+ gEfiLegacyRegion2ProtocolGuid = {0x70101eaf, 0x85, 0x440c, {0xb3, 0x56, 0x8e, 0xe3, 0x6f, 0xef, 0x24, 0xf0 } }
+
+ ## Include/Protocol/McaInitPmi.h
+ gEfiSalMcaInitPmiProtocolGuid = { 0xb60dc6e8, 0x3b6f, 0x11d5, {0xaf, 0x9, 0x0, 0xa0, 0xc9, 0x44, 0xa0, 0x5b } }
+
+ ## Include/Protocol/ExtendedSalBootService.h
+ gEfiExtendedSalBootServiceProtocolGuid = { 0xde0ee9a4, 0x3c7a, 0x44f2, {0xb7, 0x8b, 0xe3, 0xcc, 0xd6, 0x9c, 0x3a, 0xf7 } }
+
+ ## Include/Protocol/ExtendedSalServiceClasses.h
+ gEfiExtendedSalBaseIoServicesProtocolGuid = { 0x5aea42b5, 0x31e1, 0x4515, {0xbc, 0x31, 0xb8, 0xd5, 0x25, 0x75, 0x65, 0xa6 } }
+ gEfiExtendedSalStallServicesProtocolGuid = { 0x53a58d06, 0xac27, 0x4d8c, {0xb5, 0xe9, 0xf0, 0x8a, 0x80, 0x65, 0x41, 0x70 } }
+ gEfiExtendedSalRtcServicesProtocolGuid = { 0x7e97a470, 0xefdb, 0x4d02, {0x8f, 0xce, 0x61, 0x90, 0xd2, 0x7b, 0xa2, 0x96 } }
+ gEfiExtendedSalVariableServicesProtocolGuid = { 0x4ecb6c53, 0xc641, 0x4370, {0x8c, 0xb2, 0x3b, 0x0e, 0x49, 0x6e, 0x83, 0x78 } }
+ gEfiExtendedSalMtcServicesProtocolGuid = { 0x899afd18, 0x75e8, 0x408b, {0xa4, 0x1a, 0x6e, 0x2e, 0x7e, 0xcd, 0xf4, 0x54 } }
+ gEfiExtendedSalResetServicesProtocolGuid = { 0x7d019990, 0x8ce1, 0x46f5, {0xa7, 0x76, 0x3c, 0x51, 0x98, 0x67, 0x6a, 0xa0 } }
+ gEfiExtendedSalStatusCodeServicesProtocolGuid = { 0xdbd91d, 0x55e9, 0x420f, {0x96, 0x39, 0x5e, 0x9f, 0x84, 0x37, 0xb4, 0x4f } }
+ gEfiExtendedSalFvBlockServicesProtocolGuid = { 0xa2271df1, 0xbcbb, 0x4f1d, {0x98, 0xa9, 0x06, 0xbc, 0x17, 0x2f, 0x07, 0x1a } }
+ gEfiExtendedSalMpServicesProtocolGuid = { 0x697d81a2, 0xcf18, 0x4dc0, {0x9e, 0x0d, 0x06, 0x11, 0x3b, 0x61, 0x8a, 0x3f } }
+ gEfiExtendedSalPalServicesProtocolGuid = { 0xe1cd9d21, 0x0fc2, 0x438d, {0x97, 0x03, 0x04, 0xe6, 0x6d, 0x96, 0x1e, 0x57 } }
+ gEfiExtendedSalBaseServicesProtocolGuid = { 0xd9e9fa06, 0x0fe0, 0x41c3, {0x96, 0xfb, 0x83, 0x42, 0x5a, 0x33, 0x94, 0xf8 } }
+ gEfiExtendedSalMcaServicesProtocolGuid = { 0x2a591128, 0x6cc7, 0x42b1, {0x8a, 0xf0, 0x58, 0x93, 0x3b, 0x68, 0x2d, 0xbb } }
+ gEfiExtendedSalPciServicesProtocolGuid = { 0xa46b1a31, 0xad66, 0x4905, {0x92, 0xf6, 0x2b, 0x46, 0x59, 0xdc, 0x30, 0x63 } }
+ gEfiExtendedSalCacheServicesProtocolGuid = { 0xedc9494, 0x2743, 0x4ba5, { 0x88, 0x18, 0x0a, 0xef, 0x52, 0x13, 0xf1, 0x88 } }
+ gEfiExtendedSalMcaLogServicesProtocolGuid = { 0xcb3fd86e, 0x38a3, 0x4c03, {0x9a, 0x5c, 0x90, 0xcf, 0xa3, 0xa2, 0xab, 0x7a } }
+
+ #
+ # Protocols defined in PI 1.2.1
+ #
+
+ ## Include/Protocol/Security2.h
+ gEfiSecurity2ArchProtocolGuid = { 0x94ab2f58, 0x1438, 0x4ef1, {0x91, 0x52, 0x18, 0x94, 0x1a, 0x3a, 0x0e, 0x68 } }
+
+ ## Include/Protocol/SmmEndOfDxe.h
+ gEfiSmmEndOfDxeProtocolGuid = { 0x24e70042, 0xd5c5, 0x4260, { 0x8c, 0x39, 0xa, 0xd3, 0xaa, 0x32, 0xe9, 0x3d }}
+
+ ## Include/Protocol/IsaHc.h
+ gEfiIsaHcProtocolGuid = { 0xbcdaf080, 0x1bde, 0x4e22, {0xae, 0x6a, 0x43, 0x54, 0x1e, 0x12, 0x8e, 0xc4 } }
+ gEfiIsaHcServiceBindingProtocolGuid = { 0xfad7933a, 0x6c21, 0x4234, {0xa4, 0x34, 0x0a, 0x8a, 0x0d, 0x2b, 0x07, 0x81 } }
+
+ ## Include/Protocol/SuperIoControl.h
+ gEfiSioControlProtocolGuid = { 0xb91978df, 0x9fc1, 0x427d, { 0xbb, 0x5, 0x4c, 0x82, 0x84, 0x55, 0xca, 0x27 } }
+
+ ## Include/Protocol/PiPcdInfo.h
+ gEfiGetPcdInfoProtocolGuid = { 0xfd0f4478, 0xefd, 0x461d, { 0xba, 0x2d, 0xe5, 0x8c, 0x45, 0xfd, 0x5f, 0x5e } }
+
+ #
+ # Protocols defined in PI 1.3.
+ #
+
+ ## Include/Protocol/I2cMaster.h
+ gEfiI2cMasterProtocolGuid = { 0xcd72881f, 0x45b5, 0x4feb, { 0x98, 0xc8, 0x31, 0x3d, 0xa8, 0x11, 0x74, 0x62 }}
+
+ ## Include/Protocol/I2cIo.h
+ gEfiI2cIoProtocolGuid = { 0xb60a3e6b, 0x18c4, 0x46e5, { 0xa2, 0x9a, 0xc9, 0xa1, 0x06, 0x65, 0xa2, 0x8e }}
+
+ ## Include/Protocol/I2cEnumerate.h
+ gEfiI2cEnumerateProtocolGuid = { 0xda8cd7c4, 0x1c00, 0x49e2, { 0x80, 0x3e, 0x52, 0x14, 0xe7, 0x01, 0x89, 0x4c }}
+
+ ## Include/Protocol/I2cHost.h
+ gEfiI2cHostProtocolGuid = { 0xa5aab9e3, 0xc727, 0x48cd, { 0x8b, 0xbf, 0x42, 0x72, 0x33, 0x85, 0x49, 0x48 }}
+
+ ## Include/Protocol/I2cBusConfigurationManagement.h
+ gEfiI2cBusConfigurationManagementProtocolGuid = { 0x55b71fb5, 0x17c6, 0x410e, { 0xb5, 0xbd, 0x5f, 0xa2, 0xe3, 0xd4, 0x46, 0x6b }}
+
+ #
+ # Protocols defined in UEFI2.1/UEFI2.0/EFI1.1
+ #
+
+ ## Include/Protocol/DebugPort.h
+ gEfiDebugPortProtocolGuid = { 0xEBA4E8D2, 0x3858, 0x41EC, { 0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 }}
+
+ ## Include/Protocol/DebugSupport.h
+ gEfiDebugSupportProtocolGuid = { 0x2755590C, 0x6F3C, 0x42FA, { 0x9E, 0xA4, 0xA3, 0xBA, 0x54, 0x3C, 0xDA, 0x25 }}
+
+ ## Include/Protocol/Decompress.h
+ gEfiDecompressProtocolGuid = { 0xD8117CFE, 0x94A6, 0x11D4, { 0x9A, 0x3A, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/DeviceIo.h
+ gEfiDeviceIoProtocolGuid = { 0xAF6AC311, 0x84C3, 0x11D2, { 0x8E, 0x3C, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/DevicePath.h
+ gEfiDevicePathProtocolGuid = { 0x09576E91, 0x6D3F, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/DevicePathFromText.h
+ gEfiDevicePathFromTextProtocolGuid = { 0x05C99A21, 0xC70F, 0x4AD2, { 0x8A, 0x5F, 0x35, 0xDF, 0x33, 0x43, 0xF5, 0x1E }}
+
+ ## Include/Protocol/DevicePathToText.h
+ gEfiDevicePathToTextProtocolGuid = { 0x8B843E20, 0x8132, 0x4852, { 0x90, 0xCC, 0x55, 0x1A, 0x4E, 0x4A, 0x7F, 0x1C }}
+
+ ## Include/Protocol/DevicePathUtilities.h
+ gEfiDevicePathUtilitiesProtocolGuid = { 0x0379BE4E, 0xD706, 0x437D, { 0xB0, 0x37, 0xED, 0xB8, 0x2F, 0xB7, 0x72, 0xA4 }}
+
+ ## Include/Protocol/DriverBinding.h
+ gEfiDriverBindingProtocolGuid = { 0x18A031AB, 0xB443, 0x4D1A, { 0xA5, 0xC0, 0x0C, 0x09, 0x26, 0x1E, 0x9F, 0x71 }}
+
+ ## Include/Protocol/PlatformDriverOverride.h
+ gEfiPlatformDriverOverrideProtocolGuid = { 0x6b30c738, 0xa391, 0x11d4, {0x9a, 0x3b, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
+
+ ## Include/Protocol/DriverFamilyOverride.h
+ gEfiDriverFamilyOverrideProtocolGuid = { 0xb1ee129e, 0xda36, 0x4181, { 0x91, 0xf8, 0x4, 0xa4, 0x92, 0x37, 0x66, 0xa7 }}
+
+ ## Include/Protocol/BusSpecificDriverOverride.h
+ gEfiBusSpecificDriverOverrideProtocolGuid = { 0x3BC1B285, 0x8A15, 0x4A82, { 0xAA, 0xBF, 0x4D, 0x7D, 0x13, 0xFB, 0x32, 0x65 }}
+
+ ## Include/Protocol/DriverDiagnostics2.h
+ gEfiDriverDiagnostics2ProtocolGuid = { 0x4D330321, 0x025F, 0x4AAC, { 0x90, 0xD8, 0x5E, 0xD9, 0x00, 0x17, 0x3B, 0x63 }}
+
+ ## Include/Protocol/DriverDiagnostics.h
+ gEfiDriverDiagnosticsProtocolGuid = { 0x0784924F, 0xE296, 0x11D4, { 0x9A, 0x49, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/ComponentName2.h
+ gEfiComponentName2ProtocolGuid = { 0x6A7A5CFF, 0xE8D9, 0x4F70, { 0xBA, 0xDA, 0x75, 0xAB, 0x30, 0x25, 0xCE, 0x14 }}
+
+ ## Include/Protocol/ComponentName.h
+ gEfiComponentNameProtocolGuid = { 0x107A772C, 0xD5E1, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/DriverConfiguration2.h
+ gEfiDriverConfiguration2ProtocolGuid = { 0xBFD7DC1D, 0x24F1, 0x40D9, { 0x82, 0xE7, 0x2E, 0x09, 0xBB, 0x6B, 0x4E, 0xBE }}
+
+ ## Include/Protocol/DriverConfiguration.h
+ gEfiDriverConfigurationProtocolGuid = { 0x107A772B, 0xD5E1, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/PlatformToDriverConfiguration.h
+ gEfiPlatformToDriverConfigurationProtocolGuid = { 0x642cd590, 0x8059, 0x4c0a, { 0xa9, 0x58, 0xc5, 0xec, 0x7, 0xd2, 0x3c, 0x4b } }
+
+ ## Include/Protocol/DriverSupportedEfiVersion.h
+ gEfiDriverSupportedEfiVersionProtocolGuid = { 0x5c198761, 0x16a8, 0x4e69, { 0x97, 0x2c, 0x89, 0xd6, 0x79, 0x54, 0xf8, 0x1d } }
+
+ ## Include/Protocol/SimpleTextIn.h
+ gEfiSimpleTextInProtocolGuid = { 0x387477C1, 0x69C7, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/SimpleTextInEx.h
+ gEfiSimpleTextInputExProtocolGuid = {0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
+
+ ## Include/Protocol/SimpleTextOut.h
+ gEfiSimpleTextOutProtocolGuid = { 0x387477C2, 0x69C7, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/SimplePointer.h
+ gEfiSimplePointerProtocolGuid = { 0x31878C87, 0x0B75, 0x11D5, { 0x9A, 0x4F, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/AbsolutePointer.h
+ gEfiAbsolutePointerProtocolGuid = { 0x8D59D32B, 0xC655, 0x4AE9, { 0x9B, 0x15, 0xF2, 0x59, 0x04, 0x99, 0x2A, 0x43 } }
+
+ ## Include/Protocol/SerialIo.h
+ gEfiSerialIoProtocolGuid = { 0xBB25CF6F, 0xF1D4, 0x11D2, { 0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0xFD }}
+
+ ## Include/Protocol/GraphicsOutput.h
+ gEfiGraphicsOutputProtocolGuid = { 0x9042A9DE, 0x23DC, 0x4A38, { 0x96, 0xFB, 0x7A, 0xDE, 0xD0, 0x80, 0x51, 0x6A }}
+
+ ## Include/Protocol/EdidDiscovered.h
+ gEfiEdidDiscoveredProtocolGuid = { 0x1C0C34F6, 0xD380, 0x41FA, { 0xA0, 0x49, 0x8A, 0xD0, 0x6C, 0x1A, 0x66, 0xAA }}
+
+ ## Include/Protocol/EdidActive.h
+ gEfiEdidActiveProtocolGuid = { 0xBD8C1056, 0x9F36, 0x44EC, { 0x92, 0xA8, 0xA6, 0x33, 0x7F, 0x81, 0x79, 0x86 }}
+
+ ## Include/Protocol/EdidOverride.h
+ gEfiEdidOverrideProtocolGuid = { 0x48ECB431, 0xFB72, 0x45C0, { 0xA9, 0x22, 0xF4, 0x58, 0xFE, 0x04, 0x0B, 0xD5 }}
+
+ ## Include/Protocol/UgaIo.h
+ gEfiUgaIoProtocolGuid = { 0x61A4D49E, 0x6F68, 0x4F1B, { 0xB9, 0x22, 0xA8, 0x6E, 0xED, 0x0B, 0x07, 0xA2 }}
+
+ ## Include/Protocol/UgaDraw.h
+ gEfiUgaDrawProtocolGuid = { 0x982C298B, 0xF4FA, 0x41CB, { 0xB8, 0x38, 0x77, 0xAA, 0x68, 0x8F, 0xB8, 0x39 }}
+
+ ## Include/Protocol/LoadedImage.h
+ gEfiLoadedImageProtocolGuid = { 0x5B1B31A1, 0x9562, 0x11D2, { 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/LoadedImage.h
+ gEfiLoadedImageDevicePathProtocolGuid = { 0xbc62157e, 0x3e33, 0x4fec, {0x99, 0x20, 0x2d, 0x3b, 0x36, 0xd7, 0x50, 0xdf }}
+
+ ## Include/Protocol/LoadFile.h
+ gEfiLoadFileProtocolGuid = { 0x56EC3091, 0x954C, 0x11D2, { 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/LoadFile2.h
+ gEfiLoadFile2ProtocolGuid = { 0x4006c0c1, 0xfcb3, 0x403e, {0x99, 0x6d, 0x4a, 0x6c, 0x87, 0x24, 0xe0, 0x6d }}
+
+ ## Include/Protocol/SimpleFileSystem.h
+ gEfiSimpleFileSystemProtocolGuid = { 0x964E5B22, 0x6459, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/TapeIo.h
+ gEfiTapeIoProtocolGuid = { 0x1E93E633, 0xD65A, 0x459E, { 0xAB, 0x84, 0x93, 0xD9, 0xEC, 0x26, 0x6D, 0x18 }}
+
+ ## Include/Protocol/DiskIo.h
+ gEfiDiskIoProtocolGuid = { 0xCE345171, 0xBA0B, 0x11D2, { 0x8E, 0x4F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/BlockIo.h
+ gEfiBlockIoProtocolGuid = { 0x964E5B21, 0x6459, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/UnicodeCollation.h
+ gEfiUnicodeCollationProtocolGuid = { 0x1D85CD7F, 0xF43D, 0x11D2, { 0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/UnicodeCollation.h
+ gEfiUnicodeCollation2ProtocolGuid = {0xa4c751fc, 0x23ae, 0x4c3e, { 0x92, 0xe9, 0x49, 0x64, 0xcf, 0x63, 0xf3, 0x49 }}
+
+ ## Include/Protocol/PciRootBridgeIo.h
+ gEfiPciRootBridgeIoProtocolGuid = { 0x2F707EBB, 0x4A1A, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/PciIo.h
+ gEfiPciIoProtocolGuid = { 0x4CF5B200, 0x68B8, 0x4CA5, { 0x9E, 0xEC, 0xB2, 0x3E, 0x3F, 0x50, 0x02, 0x9A }}
+
+ ## Include/Protocol/ScsiIo.h
+ gEfiScsiIoProtocolGuid = { 0x932F47e6, 0x2362, 0x4002, { 0x80, 0x3E, 0x3C, 0xD5, 0x4B, 0x13, 0x8F, 0x85 }}
+
+ ## Include/Protocol/ScsiPassThruExt.h
+ gEfiExtScsiPassThruProtocolGuid = { 0x143b7632, 0xb81b, 0x4cb7, {0xab, 0xd3, 0xb6, 0x25, 0xa5, 0xb9, 0xbf, 0xfe }}
+
+ ## Include/Protocol/ScsiPassThru.h
+ gEfiScsiPassThruProtocolGuid = { 0xA59E8FCF, 0xBDA0, 0x43BB, { 0x90, 0xB1, 0xD3, 0x73, 0x2E, 0xCA, 0xA8, 0x77 }}
+
+ ## Include/Protocol/IScsiInitiatorName.h
+ gEfiIScsiInitiatorNameProtocolGuid = { 0x59324945, 0xEC44, 0x4C0D, { 0xB1, 0xCD, 0x9D, 0xB1, 0x39, 0xDF, 0x07, 0x0C }}
+
+ ## Include/Protocol/Usb2HostController.h
+ gEfiUsb2HcProtocolGuid = { 0x3E745226, 0x9818, 0x45B6, { 0xA2, 0xAC, 0xD7, 0xCD, 0x0E, 0x8B, 0xA2, 0xBC }}
+
+ ## Include/Protocol/UsbHostController.h
+ gEfiUsbHcProtocolGuid = { 0xF5089266, 0x1AA0, 0x4953, { 0x97, 0xD8, 0x56, 0x2F, 0x8A, 0x73, 0xB5, 0x19 }}
+
+ ## Include/Protocol/UsbIo.h
+ gEfiUsbIoProtocolGuid = { 0x2B2F68D6, 0x0CD2, 0x44CF, { 0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 }}
+
+ ## Include/Protocol/AcpiTable.h
+ gEfiAcpiTableProtocolGuid = { 0xFFE06BDD, 0x6107, 0x46A6, { 0x7B, 0xB2, 0x5A, 0x9C, 0x7E, 0xC5, 0x27, 0x5C }}
+
+ ## Include/Protocol/Ebc.h
+ gEfiEbcProtocolGuid = { 0x13AC6DD1, 0x73D0, 0x11D4, { 0xB0, 0x6B, 0x00, 0xAA, 0x00, 0xBD, 0x6D, 0xE7 }}
+
+ ## Include/Protocol/SimpleNetwork.h
+ gEfiSimpleNetworkProtocolGuid = { 0xA19832B9, 0xAC25, 0x11D3, { 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/NetworkInterfaceIdentifier.h
+ gEfiNetworkInterfaceIdentifierProtocolGuid_31 = { 0x1ACED566, 0x76ED, 0x4218, { 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 }}
+
+ ## Include/Protocol/NetworkInterfaceIdentifier.h
+ gEfiNetworkInterfaceIdentifierProtocolGuid = { 0xE18541CD, 0xF755, 0x4F73, { 0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 }}
+
+ ## Include/Protocol/PxeBaseCodeCallBack.h
+ gEfiPxeBaseCodeCallbackProtocolGuid = { 0x245DCA21, 0xFB7B, 0x11D3, { 0x8F, 0x01, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }}
+
+ ## Include/Protocol/PxeBaseCode.h
+ gEfiPxeBaseCodeProtocolGuid = { 0x03C4E603, 0xAC28, 0x11D3, { 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
+
+ ## Include/Protocol/Bis.h
+ gEfiBisProtocolGuid = { 0x0B64AAB0, 0x5429, 0x11D4, { 0x98, 0x16, 0x00, 0xA0, 0xC9, 0x1F, 0xAD, 0xCF }}
+
+ ## Include/Protocol/ManagedNetwork.h
+ gEfiManagedNetworkServiceBindingProtocolGuid = { 0xF36FF770, 0xA7E1, 0x42CF, { 0x9E, 0xD2, 0x56, 0xF0, 0xF2, 0x71, 0xF4, 0x4C }}
+
+ ## Include/Protocol/ManagedNetwork.h
+ gEfiManagedNetworkProtocolGuid = { 0x7ab33a91, 0xace5, 0x4326, { 0xb5, 0x72, 0xe7, 0xee, 0x33, 0xd3, 0x9f, 0x16 }}
+
+ ## Include/Protocol/Arp.h
+ gEfiArpServiceBindingProtocolGuid = { 0xF44C00EE, 0x1F2C, 0x4A00, { 0xAA, 0x09, 0x1C, 0x9F, 0x3E, 0x08, 0x00, 0xA3 }}
+
+ ## Include/Protocol/Arp.h
+ gEfiArpProtocolGuid = { 0xF4B427BB, 0xBA21, 0x4F16, { 0xBC, 0x4E, 0x43, 0xE4, 0x16, 0xAB, 0x61, 0x9C }}
+
+ ## Include/Protocol/Dhcp4.h
+ gEfiDhcp4ServiceBindingProtocolGuid = { 0x9D9A39D8, 0xBD42, 0x4A73, { 0xA4, 0xD5, 0x8E, 0xE9, 0x4B, 0xE1, 0x13, 0x80 }}
+
+ ## Include/Protocol/Dhcp4.h
+ gEfiDhcp4ProtocolGuid = { 0x8A219718, 0x4EF5, 0x4761, { 0x91, 0xC8, 0xC0, 0xF0, 0x4B, 0xDA, 0x9E, 0x56 }}
+
+ ## Include/Protocol/Tcp4.h
+ gEfiTcp4ServiceBindingProtocolGuid = { 0x00720665, 0x67EB, 0x4A99, { 0xBA, 0xF7, 0xD3, 0xC3, 0x3A, 0x1C, 0x7C, 0xC9 }}
+
+ ## Include/Protocol/Tcp4.h
+ gEfiTcp4ProtocolGuid = { 0x65530BC7, 0xA359, 0x410F, { 0xB0, 0x10, 0x5A, 0xAD, 0xC7, 0xEC, 0x2B, 0x62 }}
+
+ ## Include/Protocol/Ip4.h
+ gEfiIp4ServiceBindingProtocolGuid = { 0xC51711E7, 0xB4BF, 0x404A, { 0xBF, 0xB8, 0x0A, 0x04, 0x8E, 0xF1, 0xFF, 0xE4 }}
+
+ ## Include/Protocol/Ip4.h
+ gEfiIp4ProtocolGuid = { 0x41D94CD2, 0x35B6, 0x455A, { 0x82, 0x58, 0xD4, 0xE5, 0x13, 0x34, 0xAA, 0xDD }}
+
+ ## Include/Protocol/Ip4Config.h
+ gEfiIp4ConfigProtocolGuid = { 0x3B95AA31, 0x3793, 0x434B, { 0x86, 0x67, 0xC8, 0x07, 0x08, 0x92, 0xE0, 0x5E }}
+
+ ## Include/Protocol/Udp4.h
+ gEfiUdp4ServiceBindingProtocolGuid = { 0x83F01464, 0x99BD, 0x45E5, { 0xB3, 0x83, 0xAF, 0x63, 0x05, 0xD8, 0xE9, 0xE6 }}
+
+ ## Include/Protocol/Udp4.h
+ gEfiUdp4ProtocolGuid = { 0x3AD9DF29, 0x4501, 0x478D, { 0xB1, 0xF8, 0x7F, 0x7F, 0xE7, 0x0E, 0x50, 0xF3 }}
+
+ ## Include/Protocol/Mtftp4.h
+ gEfiMtftp4ServiceBindingProtocolGuid = { 0x2FE800BE, 0x8F01, 0x4AA6, { 0x94, 0x6B, 0xD7, 0x13, 0x88, 0xE1, 0x83, 0x3F }}
+
+ ## Include/Protocol/Mtftp4.h
+ gEfiMtftp4ProtocolGuid = { 0x78247C57, 0x63DB, 0x4708, { 0x99, 0xC2, 0xA8, 0xB4, 0xA9, 0xA6, 0x1F, 0x6B }}
+
+ ## Include/Protocol/AuthenticationInfo.h
+ gEfiAuthenticationInfoProtocolGuid = { 0x7671D9D0, 0x53DB, 0x4173, { 0xAA, 0x69, 0x23, 0x27, 0xF2, 0x1F, 0x0B, 0xC7 }}
+
+ ## Include/Protocol/Hash.h
+ gEfiHashServiceBindingProtocolGuid = { 0x42881c98, 0xa4f3, 0x44b0, { 0xa3, 0x9d, 0xdf, 0xa1, 0x86, 0x67, 0xd8, 0xcd }}
+
+ ## Include/Protocol/Hash.h
+ gEfiHashProtocolGuid = { 0xC5184932, 0xDBA5, 0x46DB, { 0xA5, 0xBA, 0xCC, 0x0B, 0xDA, 0x9C, 0x14, 0x35 }}
+
+ ## Include/Protocol/TcgService.h
+ gEfiTcgProtocolGuid = { 0xf541796d, 0xa62e, 0x4954, { 0xa7, 0x75, 0x95, 0x84, 0xf6, 0x1b, 0x9c, 0xdd }}
+
+ ## Include/Protocol/TrEEProtocol.h
+ gEfiTrEEProtocolGuid = {0x607f766c, 0x7455, 0x42be, { 0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x72, 0x0f }}
+
+ ## Include/Protocol/Tcg2Protocol.h
+ gEfiTcg2ProtocolGuid = {0x607f766c, 0x7455, 0x42be, { 0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x72, 0x0f }}
+ gEfiTcg2FinalEventsTableGuid = {0x1e2ed096, 0x30e2, 0x4254, { 0xbd, 0x89, 0x86, 0x3b, 0xbe, 0xf8, 0x23, 0x25 }}
+
+ ## Include/Protocol/FormBrowser2.h
+ gEfiFormBrowser2ProtocolGuid = {0xb9d4c360, 0xbcfb, 0x4f9b, {0x92, 0x98, 0x53, 0xc1, 0x36, 0x98, 0x22, 0x58}}
+
+ ## Include/Protocol/HiiString.h
+ gEfiHiiStringProtocolGuid = {0x0fd96974, 0x23aa, 0x4cdc, {0xb9, 0xcb, 0x98, 0xd1, 0x77, 0x50, 0x32, 0x2a}}
+
+ ## Include/Protocol/HiiImage.h
+ gEfiHiiImageProtocolGuid = {0x31a6406a, 0x6bdf, 0x4e46, {0xb2, 0xa2, 0xeb, 0xaa, 0x89, 0xc4, 0x09, 0x20}}
+
+ ## Include/Protocol/HiiConfigRouting.h
+ gEfiHiiConfigRoutingProtocolGuid = {0x587e72d7, 0xcc50, 0x4f79, {0x82, 0x09, 0xca, 0x29, 0x1f, 0xc1, 0xa1, 0x0f}}
+
+ ## Include/Protocol/HiiDatabase.h
+ gEfiHiiDatabaseProtocolGuid = {0xef9fc172, 0xa1b2, 0x4693, {0xb3, 0x27, 0x6d, 0x32, 0xfc, 0x41, 0x60, 0x42}}
+
+ ## Include/Protocol/HiiFont.h
+ gEfiHiiFontProtocolGuid = {0xe9ca4775, 0x8657, 0x47fc, {0x97, 0xe7, 0x7e, 0xd6, 0x5a, 0x08, 0x43, 0x24}}
+
+ ## Include/Protocol/HiiConfigAccess.h
+ gEfiHiiConfigAccessProtocolGuid = {0x330d4706, 0xf2a0, 0x4e4f, {0xa3, 0x69, 0xb6, 0x6f, 0xa8, 0xd5, 0x43, 0x85}}
+
+ ## Include/Protocol/HiiPackageList.h
+ gEfiHiiPackageListProtocolGuid = { 0x6a1ee763, 0xd47a, 0x43b4, {0xaa, 0xbe, 0xef, 0x1d, 0xe2, 0xab, 0x56, 0xfc}}
+
+ #
+ # Protocols defined in UEFI2.2
+ #
+ ## Include/Protocol/Ip6.h
+ gEfiIp6ServiceBindingProtocolGuid = { 0xec835dd3, 0xfe0f, 0x617b, {0xa6, 0x21, 0xb3, 0x50, 0xc3, 0xe1, 0x33, 0x88 }}
+
+ ## Include/Protocol/Ip6.h
+ gEfiIp6ProtocolGuid = { 0x2c8759d5, 0x5c2d, 0x66ef, {0x92, 0x5f, 0xb6, 0x6c, 0x10, 0x19, 0x57, 0xe2 }}
+
+ ## Include/Protocol/Ip6Config.h
+ gEfiIp6ConfigProtocolGuid = { 0x937fe521, 0x95ae, 0x4d1a, {0x89, 0x29, 0x48, 0xbc, 0xd9, 0x0a, 0xd3, 0x1a }}
+
+ ## Include/Protocol/Mtftp6.h
+ gEfiMtftp6ServiceBindingProtocolGuid = { 0xd9760ff3, 0x3cca, 0x4267, {0x80, 0xf9, 0x75, 0x27, 0xfa, 0xfa, 0x42, 0x23 }}
+
+ ## Include/Protocol/Mtftp6.h
+ gEfiMtftp6ProtocolGuid = { 0xbf0a78ba, 0xec29, 0x49cf, {0xa1, 0xc9, 0x7a, 0xe5, 0x4e, 0xab, 0x6a, 0x51 }}
+
+ ## Include/Protocol/Dhcp6.h
+ gEfiDhcp6ServiceBindingProtocolGuid = { 0x9fb9a8a1, 0x2f4a, 0x43a6, {0x88, 0x9c, 0xd0, 0xf7, 0xb6, 0xc4, 0x7a, 0xd5 }}
+
+ ## Include/Protocol/Dhcp6.h
+ gEfiDhcp6ProtocolGuid = { 0x87c8bad7, 0x595, 0x4053, {0x82, 0x97, 0xde, 0xde, 0x39, 0x5f, 0x5d, 0x5b }}
+
+ ## Include/Protocol/Udp6.h
+ gEfiUdp6ServiceBindingProtocolGuid = { 0x66ed4721, 0x3c98, 0x4d3e, {0x81, 0xe3, 0xd0, 0x3d, 0xd3, 0x9a, 0x72, 0x54 }}
+
+ ## Include/Protocol/Udp6.h
+ gEfiUdp6ProtocolGuid = { 0x4f948815, 0xb4b9, 0x43cb, {0x8a, 0x33, 0x90, 0xe0, 0x60, 0xb3, 0x49, 0x55 }}
+
+ ## Include/Protocol/Tcp6.h
+ gEfiTcp6ServiceBindingProtocolGuid = { 0xec20eb79, 0x6c1a, 0x4664, {0x9a, 0x0d, 0xd2, 0xe4, 0xcc, 0x16, 0xd6, 0x64 }}
+
+ ## Include/Protocol/Tcp6.h
+ gEfiTcp6ProtocolGuid = { 0x46e44855, 0xbd60, 0x4ab7, {0xab, 0x0d, 0xa6, 0x79, 0xb9, 0x44, 0x7d, 0x77 }}
+
+ ## Include/Protocol/VlanConfig.h
+ gEfiVlanConfigProtocolGuid = { 0x9e23d768, 0xd2f3, 0x4366, {0x9f, 0xc3, 0x3a, 0x7a, 0xba, 0x86, 0x43, 0x74 }}
+
+ ## Include/Protocol/Eap.h
+ gEfiEapProtocolGuid = { 0x5d9f96db, 0xe731, 0x4caa, {0xa0, 0xd, 0x72, 0xe1, 0x87, 0xcd, 0x77, 0x62 }}
+
+ ## Include/Protocol/EapManagement.h
+ gEfiEapManagementProtocolGuid = { 0xbb62e663, 0x625d, 0x40b2, {0xa0, 0x88, 0xbb, 0xe8, 0x36, 0x23, 0xa2, 0x45 }}
+
+ ## Include/Protocol/Ftp4.h
+ gEfiFtp4ServiceBindingProtocolGuid = { 0xfaaecb1, 0x226e, 0x4782, {0xaa, 0xce, 0x7d, 0xb9, 0xbc, 0xbf, 0x4d, 0xaf }}
+
+ ## Include/Protocol/Ftp4.h
+ gEfiFtp4ProtocolGuid = { 0xeb338826, 0x681b, 0x4295, {0xb3, 0x56, 0x2b, 0x36, 0x4c, 0x75, 0x7b, 0x9 }}
+
+ ## Include/Protocol/IpSecConfig.h
+ gEfiIpSecConfigProtocolGuid = { 0xce5e5929, 0xc7a3, 0x4602, {0xad, 0x9e, 0xc9, 0xda, 0xf9, 0x4e, 0xbf, 0xcf }}
+
+ ## Include/Protocol/DriverHealth.h
+ gEfiDriverHealthProtocolGuid = { 0x2a534210, 0x9280, 0x41d8, {0xae, 0x79, 0xca, 0xda, 0x1, 0xa2, 0xb1, 0x27 }}
+
+ ## Include/Protocol/DeferredImageLoad.h
+ gEfiDeferredImageLoadProtocolGuid = { 0x15853d7c, 0x3ddf, 0x43e0, {0xa1, 0xcb, 0xeb, 0xf8, 0x5b, 0x8f, 0x87, 0x2c }}
+
+ ## Include/Protocol/UserCredential.h
+ gEfiUserCredentialProtocolGuid = { 0x71ee5e94, 0x65b9, 0x45d5, {0x82, 0x1a, 0x3a, 0x4d, 0x86, 0xcf, 0xe6, 0xbe }}
+
+ ## Include/Protocol/UserManager.h
+ gEfiUserManagerProtocolGuid = { 0x6fd5b00c, 0xd426, 0x4283, {0x98, 0x87, 0x6c, 0xf5, 0xcf, 0x1c, 0xb1, 0xfe }}
+
+ ## Include/Protocol/AtaPassThru.h
+ gEfiAtaPassThruProtocolGuid = { 0x1d3de7f0, 0x807, 0x424f, {0xaa, 0x69, 0x11, 0xa5, 0x4e, 0x19, 0xa4, 0x6f }}
+
+ #
+ # Protocols defined in UEFI2.3
+ #
+ ## Include/Protocol/FirmwareManagement.h
+ gEfiFirmwareManagementProtocolGuid = { 0x86c77a67, 0xb97, 0x4633, {0xa1, 0x87, 0x49, 0x10, 0x4d, 0x6, 0x85, 0xc7 }}
+
+ ## Include/Protocol/IpSec.h
+ gEfiIpSecProtocolGuid = { 0xdfb386f7, 0xe100, 0x43ad, {0x9c, 0x9a, 0xed, 0x90, 0xd0, 0x8a, 0x5e, 0x12 }}
+
+ ## Include/Protocol/IpSec.h
+ gEfiIpSec2ProtocolGuid = { 0xa3979e64, 0xace8, 0x4ddc, {0xbc, 0x7, 0x4d, 0x66, 0xb8, 0xfd, 0x9, 0x77 }}
+
+ #
+ # Protocols defined in UEFI2.3.1
+ #
+ ## Include/Protocol/Kms.h
+ gEfiKmsProtocolGuid = { 0xEC3A978D, 0x7C4E, 0x48FA, {0x9A, 0xBE, 0x6A, 0xD9, 0x1C, 0xC8, 0xF8, 0x11 }}
+
+ ## Include/Protocol/BlockIo2.h
+ gEfiBlockIo2ProtocolGuid = { 0xa77b2472, 0xe282, 0x4e9f, {0xa2, 0x45, 0xc2, 0xc0, 0xe2, 0x7b, 0xbc, 0xc1 }}
+
+ ## Include/Protocol/StorageSecurityCommand.h
+ gEfiStorageSecurityCommandProtocolGuid = { 0xc88b0b6d, 0x0dfc, 0x49a7, {0x9c, 0xb4, 0x49, 0x7, 0x4b, 0x4c, 0x3a, 0x78 }}
+
+ ## Include/Protocol/UserCredential2.h
+ gEfiUserCredential2ProtocolGuid = { 0xe98adb03, 0xb8b9, 0x4af8, {0xba, 0x20, 0x26, 0xe9, 0x11, 0x4c, 0xbc, 0xe5 }}
+
+ #
+ # Protocols defined in UEFI2.4
+ #
+ ## Include/Protocol/DiskIo2.h
+ gEfiDiskIo2ProtocolGuid = { 0x151c8eae, 0x7f2c, 0x472c, { 0x9e, 0x54, 0x98, 0x28, 0x19, 0x4f, 0x6a, 0x88 }}
+
+ ## Include/Protocol/Timestamp.h
+ gEfiTimestampProtocolGuid = { 0xafbfde41, 0x2e6e, 0x4262, {0xba, 0x65, 0x62, 0xb9, 0x23, 0x6e, 0x54, 0x95 }}
+
+ ## Include/Protocol/Rng.h
+ gEfiRngProtocolGuid = { 0x3152bca5, 0xeade, 0x433d, {0x86, 0x2e, 0xc0, 0x1c, 0xdc, 0x29, 0x1f, 0x44 }}
+
+ ## Include/Protocol/AdapterInformation.h
+ gEfiAdapterInformationProtocolGuid = { 0xE5DD1403, 0xD622, 0xC24E, {0x84, 0x88, 0xC7, 0x1B, 0x17, 0xF5, 0xE8, 0x02 }}
+
+ #
+ # Protocols defined in UEFI2.5
+ #
+ ## Include/Protocol/NvmExpressPassthru.h
+ gEfiNvmExpressPassThruProtocolGuid = { 0x52c78312, 0x8edc, 0x4233, { 0x98, 0xf2, 0x1a, 0x1a, 0xa5, 0xe3, 0x88, 0xa5 }}
+
+ ## Include/Protocol/Hash2.h
+ gEfiHash2ServiceBindingProtocolGuid = { 0xda836f8d, 0x217f, 0x4ca0, { 0x99, 0xc2, 0x1c, 0xa4, 0xe1, 0x60, 0x77, 0xea }}
+
+ ## Include/Protocol/Hash2.h
+ gEfiHash2ProtocolGuid = { 0x55b1d734, 0xc5e1, 0x49db, { 0x96, 0x47, 0xb1, 0x6a, 0xfb, 0xe, 0x30, 0x5b }}
+
+ ## Include/Protocol/BlockIoCrypto.h
+ gEfiBlockIoCryptoProtocolGuid = { 0xa00490ba, 0x3f1a, 0x4b4c, { 0xab, 0x90, 0x4f, 0xa9, 0x97, 0x26, 0xa1, 0xe8 }}
+
+ ## Include/Protocol/SmartCardReader.h
+ gEfiSmartCardReaderProtocolGuid = { 0x2a4d1adf, 0x21dc, 0x4b81, {0xa4, 0x2f, 0x8b, 0x8e, 0xe2, 0x38, 0x00, 0x60 }}
+
+ ## Include/Protocol/SmartCardEdge.h
+ gEfiSmartCardEdgeProtocolGuid = { 0xd317f29b, 0xa325, 0x4712, {0x9b, 0xf1, 0xc6, 0x19, 0x54, 0xdc, 0x19, 0x8c }}
+
+ ## Include/Protocol/UsbFunctionIo.h
+ gEfiUsbFunctionIoProtocolGuid = { 0x32d2963a, 0xfe5d, 0x4f30, {0xb6, 0x33, 0x6e, 0x5d, 0xc5, 0x58, 0x3, 0xcc }}
+
+ ## Include/Protocol/BluetoothHc.h
+ gEfiBluetoothHcProtocolGuid = { 0xb3930571, 0xbeba, 0x4fc5, { 0x92, 0x3, 0x94, 0x27, 0x24, 0x2e, 0x6a, 0x43 }}
+
+ ## Include/Protocol/BluetoothIo.h
+ gEfiBluetoothIoServiceBindingProtocolGuid = { 0x388278d3, 0x7b85, 0x42f0, { 0xab, 0xa9, 0xfb, 0x4b, 0xfd, 0x69, 0xf5, 0xab }}
+ gEfiBluetoothIoProtocolGuid = { 0x467313de, 0x4e30, 0x43f1, { 0x94, 0x3e, 0x32, 0x3f, 0x89, 0x84, 0x5d, 0xb5 }}
+
+ ## Include/Protocol/BluetoothConfig.h
+ gEfiBluetoothConfigProtocolGuid = { 0x62960cf3, 0x40ff, 0x4263, { 0xa7, 0x7c, 0xdf, 0xde, 0xbd, 0x19, 0x1b, 0x4b }}
+
+ ## Include/Protocol/RegularExpressionProtocol.h
+ gEfiRegularExpressionProtocolGuid = { 0xB3F79D9A, 0x436C, 0xDC11, {0xB0, 0x52, 0xCD, 0x85, 0xDF, 0x52, 0x4C, 0xE6 }}
+
+ ## Include/Protocol/BootManagerPolicy.h
+ gEfiBootManagerPolicyProtocolGuid = { 0xfedf8e0c, 0xe147, 0x11e3, { 0x99, 0x03, 0xb8, 0xe8, 0x56, 0x2c, 0xba, 0xfa }}
+
+ ## Include/Protocol/HiiConfigKeyword.h
+ gEfiConfigKeywordHandlerProtocolGuid = {0x0a8badd5, 0x03b8, 0x4d19, {0xb1, 0x28, 0x7b, 0x8f, 0x0e, 0xda, 0xa5, 0x96}}
+
+ ## Include/Protocol/WiFi.h
+ gEfiWiFiProtocolGuid = { 0xda55bc9, 0x45f8, 0x4bb4, {0x87, 0x19, 0x52, 0x24, 0xf1, 0x8a, 0x4d, 0x45 }}
+
+ ## Include/Protocol/EapManagement2.h
+ gEfiEapManagement2ProtocolGuid = { 0x5e93c847, 0x456d, 0x40b3, {0xa6, 0xb4, 0x78, 0xb0, 0xc9, 0xcf, 0x7f, 0x20 }}
+
+ ## Include/Protocol/EapConfiguration.h
+ gEfiEapConfigurationProtocolGuid = { 0xe5b58dbb, 0x7688, 0x44b4, {0x97, 0xbf, 0x5f, 0x1d, 0x4b, 0x7c, 0xc8, 0xdb }}
+
+ ## Include/Protocol/Pkcs7Verify.h
+ gEfiPkcs7VerifyProtocolGuid = { 0x47889fb2, 0xd671, 0x4fab, { 0xa0, 0xca, 0xdf, 0x0e, 0x44, 0xdf, 0x70, 0xd6 }}
+
+ ## Include/Protocol/Ip4Config2.h
+ gEfiIp4Config2ProtocolGuid = { 0x5b446ed1, 0xe30b, 0x4faa, {0x87, 0x1a, 0x36, 0x54, 0xec, 0xa3, 0x60, 0x80 }}
+
+ ## Include/Protocol/Dns4.h
+ gEfiDns4ServiceBindingProtocolGuid = { 0xb625b186, 0xe063, 0x44f7, { 0x89, 0x5, 0x6a, 0x74, 0xdc, 0x6f, 0x52, 0xb4 }}
+
+ ## Include/Protocol/Dns4.h
+ gEfiDns4ProtocolGuid = { 0xae3d28cc, 0xe05b, 0x4fa1, { 0xa0, 0x11, 0x7e, 0xb5, 0x5a, 0x3f, 0x14, 0x1 }}
+
+ ## Include/Protocol/Dns6.h
+ gEfiDns6ServiceBindingProtocolGuid = { 0x7f1647c8, 0xb76e, 0x44b2, { 0xa5, 0x65, 0xf7, 0xf, 0xf1, 0x9c, 0xd1, 0x9e }}
+
+ ## Include/Protocol/Dns6.h
+ gEfiDns6ProtocolGuid = { 0xca37bc1f, 0xa327, 0x4ae9, { 0x82, 0x8a, 0x8c, 0x40, 0xd8, 0x50, 0x6a, 0x17 }}
+
+ ## Include/Protocol/Http.h
+ gEfiHttpServiceBindingProtocolGuid = { 0xbdc8e6af, 0xd9bc, 0x4379, {0xa7, 0x2a, 0xe0, 0xc4, 0xe7, 0x5d, 0xae, 0x1c }}
+
+ ## Include/Protocol/Http.h
+ gEfiHttpProtocolGuid = { 0x7a59b29b, 0x910b, 0x4171, {0x82, 0x42, 0xa8, 0x5a, 0x0d, 0xf2, 0x5b, 0x5b }}
+
+ ## Include/Protocol/HttpUtilities.h
+ gEfiHttpUtilitiesProtocolGuid = { 0x3e35c163, 0x4074, 0x45dd, {0x43, 0x1e, 0x23, 0x98, 0x9d, 0xd8, 0x6b, 0x32 }}
+
+ ## Include/Protocol/Tls.h
+ gEfiTlsServiceBindingProtocolGuid = { 0x952cb795, 0xff36, 0x48cf, {0xa2, 0x49, 0x4d, 0xf4, 0x86, 0xd6, 0xab, 0x8d }}
+
+ ## Include/Protocol/Tls.h
+ gEfiTlsProtocolGuid = { 0xca959f, 0x6cfa, 0x4db1, {0x95, 0xbc, 0xe4, 0x6c, 0x47, 0x51, 0x43, 0x90 }}
+
+ ## Include/Protocol/TlsConfig.h
+ gEfiTlsConfigurationProtocolGuid = { 0x1682fe44, 0xbd7a, 0x4407, { 0xb7, 0xc7, 0xdc, 0xa3, 0x7c, 0xa3, 0x92, 0x2d }}
+
+ ## Include/Protocol/Rest.h
+ gEfiRestProtocolGuid = { 0x0db48a36, 0x4e54, 0xea9c, {0x9b, 0x09, 0x1e, 0xa5, 0xbe, 0x3a, 0x66, 0x0b }}
+
+ ## Include/Protocol/Supplicant.h
+ gEfiSupplicantServiceBindingProtocolGuid = { 0x45bcd98e, 0x59ad, 0x4174, { 0x95, 0x46, 0x34, 0x4a, 0x7, 0x48, 0x58, 0x98 }}
+ gEfiSupplicantProtocolGuid = { 0x54fcc43e, 0xaa89, 0x4333, { 0x9a, 0x85, 0xcd, 0xea, 0x24, 0x5, 0x1e, 0x9e }}
+
+ #
+ # Protocols defined in UEFI2.6
+ #
+ ## Include/Protocol/WiFi2.h
+ gEfiWiFi2ProtocolGuid = { 0x1b0fb9bf, 0x699d, 0x4fdd, {0xa7, 0xc3, 0x25, 0x46, 0x68, 0x1b, 0xf6, 0x3b }}
+
+ ## Include/Protocol/RamDisk.h
+ gEfiRamDiskProtocolGuid = { 0xab38a0df, 0x6873, 0x44a9, { 0x87, 0xe6, 0xd4, 0xeb, 0x56, 0x14, 0x84, 0x49 }}
+
+ ## Include/Protocol/ImageDecoder.h
+ ##
+ ## In UEFI 2.6 spec,this guid value is duplicate with
+ ## EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID. Now update this guid value to
+ ## avoid the duplicate guid issue. So its value is not consistent with
+ ## UEFI spec definition now. We have proposed to update UEFI spec to
+ ## use this new guid. After new spec released, we will remove this
+ ## comments.
+ ##
+ gEfiHiiImageDecoderProtocolGuid = { 0x9e66f251, 0x727c, 0x418c, { 0xbf, 0xd6, 0xc2, 0xb4, 0x25, 0x28, 0x18, 0xea }}
+
+ ## Include/Protocol/HiiImageEx.h
+ gEfiHiiImageExProtocolGuid = { 0x1a1241e6, 0x8f19, 0x41a9, { 0xbc, 0xe, 0xe8, 0xef, 0x39, 0xe0, 0x65, 0x46 }}
+
+ ## Include/Protocol/SdMmcPassThru.h
+ gEfiSdMmcPassThruProtocolGuid = { 0x716ef0d9, 0xff83, 0x4f69, {0x81, 0xe9, 0x51, 0x8b, 0xd3, 0x9a, 0x8e, 0x70 }}
+
+ ## Include/Protocol/EraseBlock.h
+ gEfiEraseBlockProtocolGuid = { 0x95a9a93e, 0xa86e, 0x4926, {0xaa, 0xef, 0x99, 0x18, 0xe7, 0x72, 0xd9, 0x87 }}
+
+ #
+ # Protocols defined in Shell2.0
+ #
+ ## Include/Protocol/Shell.h
+ gEfiShellProtocolGuid = { 0x6302d008, 0x7f9b, 0x4f30, {0x87, 0xac, 0x60, 0xc9, 0xfe, 0xf5, 0xda, 0x4e }}
+
+ ## Include/Protocol/ShellParameters.h
+ gEfiShellParametersProtocolGuid = { 0x752f3136, 0x4e16, 0x4fdc, {0xa2, 0x2a, 0xe5, 0xf4, 0x68, 0x12, 0xf4, 0xca }}
+
+ #
+ # Protocols defined in Shell2.1
+ #
+ ## Include/Protocol/ShellDynamicCommand.h
+ gEfiShellDynamicCommandProtocolGuid = { 0x3c7200e9, 0x005f, 0x4ea4, {0x87, 0xde, 0xa3, 0xdf, 0xac, 0x8a, 0x27, 0xc3 }}
+
+#
+# [Error.gEfiMdePkgTokenSpaceGuid]
+# 0x80000001 | Invalid value provided.
+# 0x80000002 | Reserved bits must be set to zero.
+# 0x80000003 | Incorrect progress code provided.
+#
+
+[PcdsFeatureFlag]
+ ## Indicates if the component name protocol will be installed.<BR><BR>
+ # TRUE - Does not install component name protocol.<BR>
+ # FALSE - Install component name protocol.<BR>
+ # @Prompt Disable Component Name Protocol.
+ gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE|BOOLEAN|0x0000000d
+
+ ## Indicates if the diagnostics name protocol will be installed.<BR><BR>
+ # TRUE - Does not install diagnostics name protocol.<BR>
+ # FALSE - Install diagnostics name protocol.<BR>
+ # @Prompt Disable Diagnostics Name protocol.
+ gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE|BOOLEAN|0x0000000e
+
+ ## Indicates if the component name2 protocol will be installed.<BR><BR>
+ # TRUE - Does not install component name2 protocol.<BR>
+ # FALSE - Install component name2 protocol.<BR>
+ # @Prompt Disable Component Name2 Protocol.
+ gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE|BOOLEAN|0x00000010
+
+ ## Indicates if the diagnostics2 name protocol will be installed.<BR><BR>
+ # TRUE - Does not install diagnostics2 name protocol.<BR>
+ # FALSE - Install diagnostics2 name protocol.<BR>
+ # @Prompt Disable Diagnostics2 Name Protocol.
+ gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE|BOOLEAN|0x00000011
+
+ ## Indicates if EFI 1.1 ISO 639-2 language supports are obsolete<BR><BR>
+ # TRUE - Deprecate global variable LangCodes.<BR>
+ # FALSE - Does not deprecate global variable LangCodes.<BR>
+ # @Prompt Deprecate Global Variable LangCodes.
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate|FALSE|BOOLEAN|0x00000012
+
+ ## Indicates if UGA Draw Protocol is still consumed.<BR><BR>
+ # TRUE - Consume UGA Draw protocol.<BR>
+ # FALSE - Does not consume UGA Draw protocol.<BR>
+ # @Prompt Consume UGA Draw Protocol.
+ gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport|TRUE|BOOLEAN|0x00000027
+
+ ## Indicates if a check will be made to see if a specified node is a member of linked list
+ # in the following BaseLib functions: GetNextNode(), IsNull(), IsNodeAtEnd(), SwapListEntries().<BR><BR>
+ # TRUE - Verify a specified node is a member of linked list.<BR>
+ # FALSE - Does not verify a specified node is a member of linked list.<BR>
+ # @Prompt Verify Node In List.
+ gEfiMdePkgTokenSpaceGuid.PcdVerifyNodeInList|FALSE|BOOLEAN|0x00000028
+
+ ## If TRUE, OrderedCollectionLib is instructed to validate the
+ # ORDERED_COLLECTION structure at the end of such operations (typically
+ # structure modifications) that justify validation of the structure for unit
+ # testing purposes.
+ # @Prompt Validate ORDERED_COLLECTION structure
+ gEfiMdePkgTokenSpaceGuid.PcdValidateOrderedCollection|FALSE|BOOLEAN|0x0000002a
+
+[PcdsFixedAtBuild]
+ ## Status code value for indicating a watchdog timer has expired.
+ # EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_TIMER_EXPIRED
+ # @Prompt Progress Code for WatchDog Timer Expired.
+ # @ValidList 0x80000003 | 0x00011003
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueEfiWatchDogTimerExpired|0x00011003|UINT32|0x00000013
+
+ ## Status code value for indicating the invocation of SetVirtualAddressMap()
+ # EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_RS_PC_SET_VIRTUAL_ADDRESS_MAP
+ # @Prompt Progress Code for Invocation of SetVirtualAddressMap.
+ # @ValidList 0x80000003 | 0x03111004
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueSetVirtualAddressMap|0x03111004|UINT32|0x00000014
+
+ ## Status code value for indicating the start of memory test
+ # EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_PC_TEST
+ # @Prompt Progress Code for Memory Test Start.
+ # @ValidList 0x80000003 | 0x00051006
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMemoryTestStarted|0x00051006|UINT32|0x00000015
+
+ ## Status code value for indicating memory error in memory test
+ # EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_UNCORRECTABLE
+ # @Prompt Progress Code for Memory Error.
+ # @ValidList 0x80000003 | 0x00051003
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueUncorrectableMemoryError|0x00051003|UINT32|0x00000016
+
+ ## Status code value for console operation failure.
+ # EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_CONTROLLER_ERROR
+ # @Prompt Progress Code for Console Error.
+ # @ValidList 0x80000003 | 0x01040006
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueRemoteConsoleError|0x01040006|UINT32|0x00000017
+
+ ## Status code value for console reset operation failure.
+ # EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_PC_RESET
+ # @Prompt Progress Code for Console Reset.
+ # @ValidList 0x80000003 | 0x01040001
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueRemoteConsoleReset|0x01040001|UINT32|0x00000018
+
+ ## Status code value for console input operation failure.
+ # EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_INPUT_ERROR
+ # @Prompt Progress Code for Console Input Error.
+ # @ValidList 0x80000003 | 0x01040007
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueRemoteConsoleInputError|0x01040007|UINT32|0x00000019
+
+ ## Status code value for console output operation failure.
+ # EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_OUTPUT_ERROR
+ # @Prompt Progress Code for Console Output Error.
+ # @ValidList 0x80000003 | 0x01040008
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueRemoteConsoleOutputError|0x01040008|UINT32|0x0000001a
+
+ ## Status code value for mouse operation failure.
+ # EFI_PERIPHERAL_MOUSE | EFI_P_EC_INTERFACE_ERROR
+ # @Prompt Progress Code for Module Device Failure.
+ # @ValidList 0x80000003 | 0x01020005
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInterfaceError|0x01020005|UINT32|0x30001000
+
+ ## Status code value for indicating mouse device has been enabled.
+ # EFI_PERIPHERAL_MOUSE | EFI_P_PC_ENABLE
+ # @Prompt Progress Code for Enable Mouse Device.
+ # @ValidList 0x80000003 | 0x01020004
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseEnable|0x01020004|UINT32|0x30001001
+
+ ## Status code value for indicating mouse device has been disabled.
+ # EFI_PERIPHERAL_MOUSE | EFI_P_PC_DISABLE
+ # @Prompt Progress Code for Disable Mouse Device.
+ # @ValidList 0x80000003 | 0x01020002
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseDisable|0x01020002|UINT32|0x30001002
+
+ ## Status code value for enabling keyboard device.
+ # EFI_PERIPHERAL_KEYBOARD | EFI_P_PC_ENABLE
+ # @Prompt Progress Code for Enable Keyboard Device.
+ # @ValidList 0x80000003 | 0x01010004
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardEnable|0x01010004|UINT32|0x30001003
+
+ ## Status code value for disabling keyboard device.
+ # EFI_PERIPHERAL_KEYBOARD | EFI_P_PC_DISABLE
+ # @Prompt Progress Code for Disable Keyboard Device.
+ # @ValidList 0x80000003 | 0x01010002
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardDisable|0x01010002|UINT32|0x30001004
+
+ ## Status code value for indicating presence of keyboard.
+ # EFI_PERIPHERAL_KEYBOARD | EFI_P_PC_PRESENCE_DETECT
+ # @Prompt Progress Code for Detect Keyboard Device.
+ # @ValidList 0x80000003 | 0x01010003
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardPresenceDetect|0x01010003|UINT32|0x30001005
+
+ ## Status code value for keyboard operation reset operation.
+ # EFI_PERIPHERAL_KEYBOARD | EFI_P_PC_RESET
+ # @Prompt Progress Code for Keyboard Device Reset.
+ # @ValidList 0x80000003 | 0x01010001
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardReset|0x01010001|UINT32|0x30001006
+
+ ## Status code value for keyboard clear buffer operation.
+ # EFI_PERIPHERAL_KEYBOARD | EFI_P_KEYBOARD_PC_CLEAR_BUFFER
+ # @Prompt Progress Code for Keyboard Device Clear Buffer.
+ # @ValidList 0x80000003 | 0x01011000
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardClearBuffer|0x01011000|UINT32|0x30001007
+
+ ## Status code value for keyboard device self-test.
+ # EFI_PERIPHERAL_KEYBOARD | EFI_P_KEYBOARD_PC_SELF_TEST
+ # @Prompt Progress Code for Keyboard Device SelfTest.
+ # @ValidList 0x80000003 | 0x01011001
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardSelfTest|0x01011001|UINT32|0x30001008
+
+ ## Status code value for indicating keyboard device failure.
+ # EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_INTERFACE_ERROR
+ # @Prompt Progress Code for Keyboard Device Failure.
+ # @ValidList 0x80000003 | 0x01010005
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInterfaceError|0x01010005|UINT32|0x30001009
+
+ ## Status code value for indicating keyboard input handler failure.
+ # EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_INPUT_ERROR
+ # @Prompt Progress Code for Keyboard Input Failure.
+ # @ValidList 0x80000003 | 0x01010007
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInputError|0x01010007|UINT32|0x3000100a
+
+ ## Status code value for mouse input handler failure.
+ # EFI_PERIPHERAL_MOUSE | EFI_P_EC_INPUT_ERROR
+ # @Prompt Progress Code for Mouse Input Failure.
+ # @ValidList 0x80000003 | 0x01020007
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInputError|0x01020007|UINT32|0x3000100b
+
+ ## Status code value for mouse device reset operation.
+ # EFI_PERIPHERAL_MOUSE | EFI_P_PC_RESET
+ # @Prompt Progress Code for Mouse Device Reset.
+ # @ValidList 0x80000003 | 0x01020001
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseReset|0x01020001|UINT32|0x3000100c
+
+ ## Status code value for indicating the handoff from PEI phase to DXE phase.
+ # EFI_SOFTWARE_PEI_CORE | EFI_SW_PEI_CORE_PC_HANDOFF_TO_NEXT
+ # @Prompt Progress Code for Handoff from Pei phase to Dxe phase.
+ # @ValidList 0x80000003 | 0x3021001
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiHandoffToDxe|0x3021001|UINT32|0x3000100d
+
+ ## Status code value for indicating one PEIM is dispatched.
+ # EFI_SOFTWARE_PEI_CORE | EFI_SW_PC_INIT_BEGIN
+ # @Prompt Progress Code for Dispatching One PEIM.
+ # @ValidList 0x80000003 | 0x3020002
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeimDispatch|0x3020002|UINT32|0x3000100e
+
+ ## Status code value for PeiCore entry.
+ # EFI_SOFTWARE_PEI_CORE | EFI_SW_PC_INIT
+ # @Prompt Progress Code for PeiCore Entry.
+ # @ValidList 0x80000003 | 0x3020000
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiCoreEntry|0x3020000|UINT32|0x3000100f
+
+ ## Status code value for DxeCore entry.
+ # EFI_SOFTWARE_DXE_CORE | EFI_SW_DXE_CORE_PC_ENTRY_POINT
+ # @Prompt Progress Code for DxeCore Entry.
+ # @ValidList 0x80000003 | 0x3041000
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeCoreEntry|0x3041000|UINT32|0x30001010
+
+ ## Status code value for handoff from DxeCore to BDS.
+ # EFI_SOFTWARE_DXE_CORE | EFI_SW_DXE_CORE_PC_HANDOFF_TO_NEXT
+ # @Prompt Progress Code for Handoff from DxeCore to BDS.
+ # @ValidList 0x80000003 | 0x3041001
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeCoreHandoffToBds|0x3041001|UINT32|0x30001011
+
+ ## Status code value for indicating boot service exit.
+ # EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_BS_PC_EXIT_BOOT_SERVICES
+ # @Prompt Progress Code for Exit of Boot Service.
+ # @ValidList 0x80000003 | 0x3101019
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueBootServiceExit|0x3101019|UINT32|0x30001012
+
+ ## Status code value for indicating the beginning of DXE driver.
+ # EFI_SOFTWARE_DXE_CORE | EFI_SW_PC_INIT_BEGIN
+ # @Prompt Progress Code for Begin of DXE Driver.
+ # @ValidList 0x80000003 | 0x3040002
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeDriverBegin|0x3040002|UINT32|0x30001013
+
+ ## Status code value for indicating the end of DXE drive.
+ # EFI_SOFTWARE_DXE_CORE | EFI_SW_PC_INIT_END
+ # @Prompt Progress Code for End of DXE Driver.
+ # @ValidList 0x80000003 | 0x3040003
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeDriverEnd|0x3040003|UINT32|0x30001014
+
+ ## This flag is used to control build time optimization based on debug print level.
+ # Its default value is 0xFFFFFFFF to expose all debug print level.
+ # BIT0 - Initialization message.<BR>
+ # BIT1 - Warning message.<BR>
+ # BIT2 - Load Event message.<BR>
+ # BIT3 - File System message.<BR>
+ # BIT4 - Allocate or Free Pool message.<BR>
+ # BIT5 - Allocate or Free Page message.<BR>
+ # BIT6 - Information message.<BR>
+ # BIT7 - Dispatcher message.<BR>
+ # BIT8 - Variable message.<BR>
+ # BIT10 - Boot Manager message.<BR>
+ # BIT12 - BlockIo Driver message.<BR>
+ # BIT14 - Network Driver message.<BR>
+ # BIT16 - UNDI Driver message.<BR>
+ # BIT17 - LoadFile message.<BR>
+ # BIT19 - Event message.<BR>
+ # BIT20 - Global Coherency Database changes message.<BR>
+ # BIT21 - Memory range cachability changes message.<BR>
+ # BIT22 - Detailed debug message.<BR>
+ # BIT31 - Error message.<BR>
+ # @Prompt Fixed Debug Message Print Level.
+ gEfiMdePkgTokenSpaceGuid.PcdFixedDebugPrintErrorLevel|0xFFFFFFFF|UINT32|0x30001016
+
+[PcdsFixedAtBuild,PcdsPatchableInModule]
+ ## Indicates the maximum length of unicode string used in the following
+ # BaseLib functions: StrLen(), StrSize(), StrCmp(), StrnCmp(), StrCpy(), StrnCpy()<BR><BR>
+ # 0 - No length check for unicode string.<BR>
+ # >0 - Maximum length of unicode string.<BR>
+ # @Prompt Maximum Length of Unicode String.
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000|UINT32|0x00000001
+
+ ## Indicates the maximum length of ascii string used in the following
+ # BaseLib functions: AsciiStrLen(), AsciiStrSize(), AsciiStrCmp(), AsciiStrnCmp(),
+ # AsciiStrCpy(), AsciiStrnCpy(). <BR><BR>
+ # 0 - No length check for ascii string.<BR>
+ # >0 - Maximum length of ascii string.<BR>
+ # @Prompt Maximum Length of Ascii String.
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000|UINT32|0x00000002
+
+ ## Indicates the maximum node number of linked list.<BR><BR>
+ # 0 - No node number check for linked list.<BR>
+ # >0 - Maximum node number of linked list.<BR>
+ # @Prompt Maximum Length of Linked List.
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000|UINT32|0x00000003
+
+ ## Indicates the maximum node number of device path.<BR><BR>
+ # 0 - No node number check for device path.<BR>
+ # >0 - Maximum node number of device path.<BR>
+ # @Prompt Maximum node number of device path.
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumDevicePathNodeCount|0|UINT32|0x00000029
+
+ ## Indicates the timeout tick of holding spin lock.<BR><BR>
+ # 0 - No timeout.<BR>
+ # >0 - Timeout tick of holding spin lock.<BR>
+ # @Prompt Spin Lock Timeout (us).
+ gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000|UINT32|0x00000004
+
+ ## The mask is used to control DebugLib behavior.<BR><BR>
+ # BIT0 - Enable Debug Assert.<BR>
+ # BIT1 - Enable Debug Print.<BR>
+ # BIT2 - Enable Debug Code.<BR>
+ # BIT3 - Enable Clear Memory.<BR>
+ # BIT4 - Enable BreakPoint as ASSERT.<BR>
+ # BIT5 - Enable DeadLoop as ASSERT.<BR>
+ # @Prompt Debug Property.
+ # @Expression 0x80000002 | (gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask & 0xC0) == 0
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0|UINT8|0x00000005
+
+ ## This flag is used to control the print out Debug message.<BR><BR>
+ # BIT0 - Initialization message.<BR>
+ # BIT1 - Warning message.<BR>
+ # BIT2 - Load Event message.<BR>
+ # BIT3 - File System message.<BR>
+ # BIT4 - Allocate or Free Pool message.<BR>
+ # BIT5 - Allocate or Free Page message.<BR>
+ # BIT6 - Information message.<BR>
+ # BIT7 - Dispatcher message.<BR>
+ # BIT8 - Variable message.<BR>
+ # BIT10 - Boot Manager message.<BR>
+ # BIT12 - BlockIo Driver message.<BR>
+ # BIT14 - Network Driver message.<BR>
+ # BIT16 - UNDI Driver message.<BR>
+ # BIT17 - LoadFile message.<BR>
+ # BIT19 - Event message.<BR>
+ # BIT20 - Global Coherency Database changes message.<BR>
+ # BIT21 - Memory range cachability changes message.<BR>
+ # BIT22 - Detailed debug message.<BR>
+ # BIT31 - Error message.<BR>
+ # @Prompt Debug Message Print Level.
+ # @Expression 0x80000002 | (gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel & 0x7F84AA00) == 0
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000|UINT32|0x00000006
+
+ ## The mask is used to control ReportStatusCodeLib behavior.<BR><BR>
+ # BIT0 - Enable Progress Code.<BR>
+ # BIT1 - Enable Error Code.<BR>
+ # BIT2 - Enable Debug Code.<BR>
+ # @Prompt Report Status Code Property.
+ # @Expression 0x80000002 | (gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask & 0xF8) == 0
+ gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0|UINT8|0x00000007
+
+ ## This value is used to fill a segment of memory when PcdDebugPropertyMask Clear Memory is enabled.
+ # @Prompt Value to Clear Memory.
+ gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF|UINT8|0x00000008
+
+ ## The mask is used to control PerformanceLib behavior.<BR><BR>
+ # BIT0 - Enable Performance Measurement.<BR>
+ # @Prompt Performance Measurement Property.
+ # @Expression 0x80000002 | (gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask & 0xFE) == 0
+ gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0|UINT8|0x00000009
+
+ ## The mask is used to control PostCodeLib behavior.<BR><BR>
+ # BIT0 - Enable Post Code.<BR>
+ # BIT1 - Enable Post Code with Description.<BR>
+ # @Prompt Post Code Property.
+ # @Expression 0x80000002 | (gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask & 0xFC) == 0
+ gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0|UINT8|0x0000000b
+
+ ## The bit width of data to be written to Port80. The default value is 8.
+ # @Prompt Port80 Data Width
+ # @ValidList 0x80000001 | 8, 16, 32
+ gEfiMdePkgTokenSpaceGuid.PcdPort80DataWidth|8|UINT8|0x0000002d
+
+ ## This value is used to configure X86 Processor FSB clock.
+ # @Prompt FSB Clock.
+ gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000|UINT32|0x0000000c
+
+ ## The maximum printable number of characters. UefLib functions: AsciiPrint(), AsciiErrorPrint(),
+ # PrintXY(), AsciiPrintXY(), Print(), ErrorPrint() base on this PCD value to print characters.
+ # @Prompt Maximum Printable Number of Characters.
+ gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320|UINT32|0x101
+
+ ## This is the print buffer length for FileHandleLib.
+ # FileHandlePrintLine() sizes buffers based on this PCD value for printing.
+ # @Prompt Number of Printable Characters.
+ gEfiMdePkgTokenSpaceGuid.PcdUefiFileHandleLibPrintBufferSize|1536|UINT16|0x201
+
+ ## Indicates the allowable maximum number in extract handler table.
+ # @Prompt Maximum Number of GuidedExtractHandler.
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10|UINT32|0x00000025
+
+ ## Indicates the default timeouts for USB transfers in milliseconds.
+ # @Prompt USB Transfer Timeout (ms).
+ gEfiMdePkgTokenSpaceGuid.PcdUsbTransferTimeoutValue|3000|UINT32|0x00000026
+
+ ## This value is used to set the available memory address to store Guided Extract Handlers.
+ # The required memory space is decided by the value of PcdMaximumGuidedExtractHandler.
+ # @Prompt Memory Address of GuidedExtractHandler Table.
+ gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress|0x1000000|UINT64|0x30001015
+
+[PcdsFixedAtBuild.IPF, PcdsPatchableInModule.IPF]
+ ## The base address of IO port space for IA64 arch.
+ # @Prompt IA64 IO Port Space Base Address.
+ gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000|UINT64|0x0000000f
+
+[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
+ ## This value is used to set the base address of PCI express hierarchy.
+ # @Prompt PCI Express Base Address.
+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000|UINT64|0x0000000a
+
+ ## Default current ISO 639-2 language: English & French.
+ # @Prompt Default Value of LangCodes Variable.
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangCodes|"engfraengfra"|VOID*|0x0000001c
+
+ ## Default current ISO 639-2 language: English.
+ # @Prompt Default Value of Lang Variable.
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang|"eng"|VOID*|0x0000001d
+
+ ## Default platform supported RFC 4646 languages: (American) English & French.
+ # @Prompt Default Value of PlatformLangCodes Variable.
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes|"en;fr;en-US;fr-FR"|VOID*|0x0000001e
+
+ ## Default current RFC 4646 language: (American) English.
+ # @Prompt Default Value of PlatformLang Variable.
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang|"en-US"|VOID*|0x0000001f
+
+ ## Indicates the default baud rate of UART.
+ # @Prompt Default UART Baud Rate.
+ # @ValidList 0x80000001 | 115200, 57600, 38400, 19200, 9600, 7200, 4800, 3600, 2400, 2000, 1800, 1200, 600, 300, 150, 134, 110, 75, 50
+ gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200|UINT64|0x00000020
+
+ ## Indicates the number of efficient data bit in UART transaction.
+ # @Prompt Default UART Data Bit.
+ # @ValidRange 0x80000001 | 5 - 8
+ gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|8|UINT8|0x00000021
+
+ ## Indicates the setting of data parity in UART transaction.<BR><BR>
+ # 0 - Default Parity.<BR>
+ # 1 - No Parity.<BR>
+ # 2 - Even Parity.<BR>
+ # 3 - Odd Parity.<BR>
+ # 4 - Mark Parity.<BR>
+ # 5 - Space Parity.<BR>
+ # @Prompt Default UART Parity.
+ # @ValidRange 0x80000001 | 0 - 5
+ gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|1|UINT8|0x00000022
+
+ ## Indicates the setting of stop bit in UART transaction.<BR><BR>
+ # 0 - Default Stop Bits.<BR>
+ # 1 - One Stop Bit.<BR>
+ # 2 - One Five Stop Bits.<BR>
+ # 3 - Two Stop Bits.<BR>
+ # @Prompt Default UART Stop Bits.
+ # @ValidRange 0x80000001 | 0 - 3
+ gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|1|UINT8|0x00000023
+
+ ## Indicates the usable type of terminal.<BR><BR>
+ # 0 - PCANSI<BR>
+ # 1 - VT100<BR>
+ # 2 - VT100+<BR>
+ # 3 - UTF8<BR>
+ # 4 - TTYTERM, NOT defined in UEFI SPEC<BR>
+ # @Prompt Default Terminal Type.
+ # @ValidRange 0x80000001 | 0 - 4
+ gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|0|UINT8|0x00000024
+
+ ## Indicates the receive FIFO depth of UART controller.<BR><BR>
+ # @Prompt Default UART Receive FIFO Depth.
+ gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|1|UINT16|0x00000030
+
+ ## Error level for hardware recorder.
+ # If value 0, platform does not support feature of hardware error record.
+ # @Prompt Error Level For Hardware Recorder
+ gEfiMdePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|0|UINT16|0x0000002b
+
+ ## The number of seconds that the firmware will wait before initiating the original default boot selection.
+ # A value of 0 indicates that the default boot selection is to be initiated immediately on boot.
+ # The value of 0xFFFF then firmware will wait for user input before booting.
+ # @Prompt Boot Timeout (s)
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x0000002c
+
+[UserExtensions.TianoCore."ExtraFiles"]
+ MdePkgExtra.uni
diff --git a/sys/contrib/ipfilter/netinet/ip_fil.h b/sys/contrib/ipfilter/netinet/ip_fil.h
index 646f5d6..35d7f6a 100644
--- a/sys/contrib/ipfilter/netinet/ip_fil.h
+++ b/sys/contrib/ipfilter/netinet/ip_fil.h
@@ -143,11 +143,12 @@ typedef int (* lookupfunc_t) __P((struct ipf_main_softc_s *, void *,
* i6addr is used as a container for both IPv4 and IPv6 addresses, as well
* as other types of objects, depending on its qualifier.
*/
-#ifdef USE_INET6
typedef union i6addr {
u_32_t i6[4];
struct in_addr in4;
+#ifdef USE_INET6
struct in6_addr in6;
+#endif
void *vptr[2];
lookupfunc_t lptr[2];
struct {
@@ -156,19 +157,6 @@ typedef union i6addr {
int name;
} i6un;
} i6addr_t;
-#else
-typedef union i6addr {
- u_32_t i6[4];
- struct in_addr in4;
- void *vptr[2];
- lookupfunc_t lptr[2];
- struct {
- u_short type;
- u_short subtype;
- int name;
- } i6un;
-} i6addr_t;
-#endif
#define in4_addr in4.s_addr
#define iplookupnum i6[1]
diff --git a/sys/contrib/ipfilter/netinet/ip_nat.c b/sys/contrib/ipfilter/netinet/ip_nat.c
index 6c2b12c..9ef170d 100644
--- a/sys/contrib/ipfilter/netinet/ip_nat.c
+++ b/sys/contrib/ipfilter/netinet/ip_nat.c
@@ -1677,10 +1677,6 @@ ipf_nat_siocdelnat(softc, softn, n, getlock)
ipnat_t *n;
int getlock;
{
-#ifdef IPF_NAT6
- int i;
-#endif
-
if (getlock) {
WRITE_ENTER(&softc->ipf_nat);
}
diff --git a/sys/contrib/ipfilter/netinet/ip_sync.c b/sys/contrib/ipfilter/netinet/ip_sync.c
index 0c2fe10..5909409 100644
--- a/sys/contrib/ipfilter/netinet/ip_sync.c
+++ b/sys/contrib/ipfilter/netinet/ip_sync.c
@@ -939,7 +939,7 @@ ipf_sync_nat(softc, sp, data)
nat_t *n, *nat;
synclist_t *sl;
u_int hv = 0;
- int err;
+ int err = 0;
READ_ENTER(&softs->ipf_syncnat);
@@ -1016,7 +1016,7 @@ ipf_sync_nat(softc, sp, data)
}
RWLOCK_EXIT(&softs->ipf_syncnat);
- return 0;
+ return err;
}
diff --git a/sys/contrib/octeon-sdk/cvmx-app-init.h b/sys/contrib/octeon-sdk/cvmx-app-init.h
index beab38e..9870a6f 100644
--- a/sys/contrib/octeon-sdk/cvmx-app-init.h
+++ b/sys/contrib/octeon-sdk/cvmx-app-init.h
@@ -311,6 +311,7 @@ enum cvmx_board_types_enum {
#endif
#if defined(OCTEON_VENDOR_UBIQUITI)
CVMX_BOARD_TYPE_CUST_UBIQUITI_E100=20002,
+ CVMX_BOARD_TYPE_CUST_UBIQUITI_USG= 20004,
#endif
#if defined(OCTEON_VENDOR_RADISYS)
CVMX_BOARD_TYPE_CUST_RADISYS_RSYS4GBE=20002,
@@ -457,6 +458,7 @@ static inline const char *cvmx_board_type_to_string(enum cvmx_board_types_enum t
#endif
#if defined(OCTEON_VENDOR_UBIQUITI)
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_UBIQUITI_E100)
+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_UBIQUITI_USG)
#endif
#if defined(OCTEON_VENDOR_RADISYS)
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_RADISYS_RSYS4GBE)
diff --git a/sys/contrib/octeon-sdk/cvmx-helper-board.c b/sys/contrib/octeon-sdk/cvmx-helper-board.c
index 49e52d4..b7375e5 100644
--- a/sys/contrib/octeon-sdk/cvmx-helper-board.c
+++ b/sys/contrib/octeon-sdk/cvmx-helper-board.c
@@ -598,6 +598,7 @@ int cvmx_helper_board_get_mii_address(int ipd_port)
#endif
#if defined(OCTEON_VENDOR_UBIQUITI)
case CVMX_BOARD_TYPE_CUST_UBIQUITI_E100:
+ case CVMX_BOARD_TYPE_CUST_UBIQUITI_USG:
if (ipd_port > 2)
return -1;
return (7 - ipd_port);
@@ -1499,7 +1500,8 @@ int __cvmx_helper_board_hardware_enable(int interface)
}
}
#if defined(OCTEON_VENDOR_UBIQUITI)
- else if (cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_CUST_UBIQUITI_E100)
+ else if (cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_CUST_UBIQUITI_E100 ||
+ cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_CUST_UBIQUITI_USG)
{
/* Configure ASX cloks for all ports on interface 0. */
if (interface == 0)
@@ -1590,6 +1592,7 @@ cvmx_helper_board_usb_clock_types_t __cvmx_helper_board_usb_get_clock_type(void)
#endif
#if defined(OCTEON_VENDOR_UBIQUITI)
case CVMX_BOARD_TYPE_CUST_UBIQUITI_E100:
+ case CVMX_BOARD_TYPE_CUST_UBIQUITI_USG:
#endif
#if defined(OCTEON_BOARD_CAPK_0100ND)
case CVMX_BOARD_TYPE_CN3010_EVB_HS5:
diff --git a/sys/dev/acpica/acpi_container.c b/sys/dev/acpica/acpi_container.c
new file mode 100644
index 0000000..26855bd
--- /dev/null
+++ b/sys/dev/acpica/acpi_container.c
@@ -0,0 +1,166 @@
+/*-
+ * Copyright (c) 2017 Microsoft Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice unmodified, this list of conditions, and the following
+ * disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/kernel.h>
+#include <sys/bus.h>
+#include <sys/module.h>
+
+#include <contrib/dev/acpica/include/acpi.h>
+#include <dev/acpica/acpivar.h>
+
+#include "pcib_if.h"
+
+ACPI_MODULE_NAME("CONTAINER")
+
+static int acpi_syscont_probe(device_t);
+static int acpi_syscont_attach(device_t);
+static int acpi_syscont_detach(device_t);
+static int acpi_syscont_alloc_msi(device_t, device_t,
+ int count, int maxcount, int *irqs);
+static int acpi_syscont_release_msi(device_t bus, device_t dev,
+ int count, int *irqs);
+static int acpi_syscont_alloc_msix(device_t bus, device_t dev,
+ int *irq);
+static int acpi_syscont_release_msix(device_t bus, device_t dev,
+ int irq);
+static int acpi_syscont_map_msi(device_t bus, device_t dev,
+ int irq, uint64_t *addr, uint32_t *data);
+
+static device_method_t acpi_syscont_methods[] = {
+ /* Device interface */
+ DEVMETHOD(device_probe, acpi_syscont_probe),
+ DEVMETHOD(device_attach, acpi_syscont_attach),
+ DEVMETHOD(device_detach, acpi_syscont_detach),
+
+ /* Bus interface */
+ DEVMETHOD(bus_add_child, bus_generic_add_child),
+ DEVMETHOD(bus_print_child, bus_generic_print_child),
+ DEVMETHOD(bus_alloc_resource, bus_generic_alloc_resource),
+ DEVMETHOD(bus_release_resource, bus_generic_release_resource),
+ DEVMETHOD(bus_activate_resource, bus_generic_activate_resource),
+ DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),
+ DEVMETHOD(bus_setup_intr, bus_generic_setup_intr),
+ DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr),
+#if __FreeBSD_version >= 1100000
+ DEVMETHOD(bus_get_cpus, bus_generic_get_cpus),
+#endif
+
+ /* pcib interface */
+ DEVMETHOD(pcib_alloc_msi, acpi_syscont_alloc_msi),
+ DEVMETHOD(pcib_release_msi, acpi_syscont_release_msi),
+ DEVMETHOD(pcib_alloc_msix, acpi_syscont_alloc_msix),
+ DEVMETHOD(pcib_release_msix, acpi_syscont_release_msix),
+ DEVMETHOD(pcib_map_msi, acpi_syscont_map_msi),
+
+ DEVMETHOD_END
+};
+
+static driver_t acpi_syscont_driver = {
+ "acpi_syscontainer",
+ acpi_syscont_methods,
+ 0,
+};
+
+static devclass_t acpi_syscont_devclass;
+
+DRIVER_MODULE(acpi_syscontainer, acpi, acpi_syscont_driver,
+ acpi_syscont_devclass, NULL, NULL);
+MODULE_DEPEND(acpi_syscontainer, acpi, 1, 1, 1);
+
+static int
+acpi_syscont_probe(device_t dev)
+{
+ static char *syscont_ids[] = { "ACPI0004", "PNP0A05", "PNP0A06", NULL };
+
+ if (acpi_disabled("syscontainer") ||
+ ACPI_ID_PROBE(device_get_parent(dev), dev, syscont_ids) == NULL)
+ return (ENXIO);
+
+ device_set_desc(dev, "System Container");
+ return (BUS_PROBE_DEFAULT);
+}
+
+static int
+acpi_syscont_attach(device_t dev)
+{
+
+ bus_generic_probe(dev);
+ return (bus_generic_attach(dev));
+}
+
+static int
+acpi_syscont_detach(device_t dev)
+{
+
+ return (bus_generic_detach(dev));
+}
+
+static int
+acpi_syscont_alloc_msi(device_t bus, device_t dev, int count, int maxcount,
+ int *irqs)
+{
+ device_t parent = device_get_parent(bus);
+
+ return (PCIB_ALLOC_MSI(device_get_parent(parent), dev, count, maxcount,
+ irqs));
+}
+
+static int
+acpi_syscont_release_msi(device_t bus, device_t dev, int count, int *irqs)
+{
+ device_t parent = device_get_parent(bus);
+
+ return (PCIB_RELEASE_MSI(device_get_parent(parent), dev, count, irqs));
+}
+
+static int
+acpi_syscont_alloc_msix(device_t bus, device_t dev, int *irq)
+{
+ device_t parent = device_get_parent(bus);
+
+ return (PCIB_ALLOC_MSIX(device_get_parent(parent), dev, irq));
+}
+
+static int
+acpi_syscont_release_msix(device_t bus, device_t dev, int irq)
+{
+ device_t parent = device_get_parent(bus);
+
+ return (PCIB_RELEASE_MSIX(device_get_parent(parent), dev, irq));
+}
+
+static int
+acpi_syscont_map_msi(device_t bus, device_t dev, int irq, uint64_t *addr,
+ uint32_t *data)
+{
+ device_t parent = device_get_parent(bus);
+
+ return (PCIB_MAP_MSI(device_get_parent(parent), dev, irq, addr, data));
+}
diff --git a/sys/dev/acpica/acpi_pcib_acpi.c b/sys/dev/acpica/acpi_pcib_acpi.c
index 190674a..161614a 100644
--- a/sys/dev/acpica/acpi_pcib_acpi.c
+++ b/sys/dev/acpica/acpi_pcib_acpi.c
@@ -519,6 +519,7 @@ acpi_pcib_acpi_attach(device_t dev)
acpi_pcib_fetch_prt(dev, &sc->ap_prt);
+ bus_generic_probe(dev);
if (device_add_child(dev, "pci", -1) == NULL) {
device_printf(device_get_parent(dev), "couldn't attach pci bus\n");
#if defined(NEW_PCIB) && defined(PCI_RES_BUS)
diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c
index 7cafe37..fadbd45 100644
--- a/sys/dev/atkbdc/psm.c
+++ b/sys/dev/atkbdc/psm.c
@@ -81,7 +81,6 @@ __FBSDID("$FreeBSD$");
#include <sys/sysctl.h>
#include <sys/time.h>
#include <sys/uio.h>
-#include <sys/libkern.h>
#include <sys/limits.h>
#include <sys/mouse.h>
@@ -300,6 +299,8 @@ typedef struct elantechhw {
int dpmmy;
int ntracesx;
int ntracesy;
+ int dptracex;
+ int dptracey;
int issemimt;
int isclickpad;
int hascrc;
@@ -366,6 +367,7 @@ enum {
typedef struct elantechaction {
finger_t fingers[ELANTECH_MAX_FINGERS];
int mask;
+ int mask_v4wait;
} elantechaction_t;
/* driver control block */
@@ -3016,13 +3018,15 @@ proc_synaptics(struct psm_softc *sc, packetbuf_t *pb, mousestatus_t *ms,
ms->button = touchpad_buttons;
+ psmgestures(sc, &f[0], nfingers, ms);
+ for (id = 0; id < PSM_FINGERS; id++)
+ psmsmoother(sc, &f[id], id, ms, x, y);
+
/* Palm detection doesn't terminate the current action. */
- if (!psmpalmdetect(sc, &f[0], nfingers)) {
- psmgestures(sc, &f[0], nfingers, ms);
- for (id = 0; id < PSM_FINGERS; id++)
- psmsmoother(sc, &f[id], id, ms, x, y);
- } else {
- VLOG(2, (LOG_DEBUG, "synaptics: palm detected! (%d)\n", f[0].w));
+ if (psmpalmdetect(sc, &f[0], nfingers)) {
+ *x = *y = *z = 0;
+ ms->button = ms->obutton;
+ return (0);
}
ms->button |= extended_buttons | guest_buttons;
@@ -3062,8 +3066,9 @@ static int
psmpalmdetect(struct psm_softc *sc, finger_t *f, int nfingers)
{
if (!(
- ((sc->synhw.capMultiFinger ||
- sc->synhw.capAdvancedGestures) && nfingers > 1) ||
+ ((sc->synhw.capMultiFinger || sc->synhw.capAdvancedGestures) &&
+ !sc->synhw.capReportsV && nfingers > 1) ||
+ (sc->synhw.capReportsV && nfingers > 2) ||
(sc->synhw.capPalmDetect && f->w <= sc->syninfo.max_width) ||
(!sc->synhw.capPalmDetect && f->p <= sc->syninfo.max_pressure) ||
(sc->synhw.capPen && f->flags & PSM_FINGER_IS_PEN))) {
@@ -3076,6 +3081,7 @@ psmpalmdetect(struct psm_softc *sc, finger_t *f, int nfingers)
* [min_pressure; max_pressure]
* - pen aren't supported but PSM_FINGER_IS_PEN is set
*/
+ VLOG(2, (LOG_DEBUG, "synaptics: palm detected! (%d)\n", f->w));
return (1);
}
return (0);
@@ -3767,27 +3773,30 @@ proc_elantech(struct psm_softc *sc, packetbuf_t *pb, mousestatus_t *ms,
nfingers = (pb->ipacket[0] & 0xc0) >> 6;
if (nfingers == 3 && (pb->ipacket[3] & 0x80))
nfingers = 4;
- mask = (1 << nfingers) - 1;
- fn = ELANTECH_FINGER_SET_XYP(pb);
+ if (nfingers == 0) {
+ mask = (1 << nfingers) - 1; /* = 0x00 */
+ break;
+ }
+
+ /* Map 3-rd and 4-th fingers to first finger */
+ mask = (1 << 1) - 1; /* = 0x01 */
+ f[0] = ELANTECH_FINGER_SET_XYP(pb);
if (sc->elanhw.haspressure) {
- fn.w = ((pb->ipacket[0] & 0x30) >> 2) |
+ f[0].w = ((pb->ipacket[0] & 0x30) >> 2) |
((pb->ipacket[3] & 0x30) >> 4);
} else {
- fn.p = PSM_FINGER_DEFAULT_P;
- fn.w = PSM_FINGER_DEFAULT_W;
+ f[0].p = PSM_FINGER_DEFAULT_P;
+ f[0].w = PSM_FINGER_DEFAULT_W;
}
/*
* HW v2 dont report exact finger positions when 3 or more
- * fingers are on touchpad. Use reported value as fingers
- * position as it is required for tap detection
+ * fingers are on touchpad.
*/
if (nfingers > 2)
- fn.flags = PSM_FINGER_FUZZY;
+ f[0].flags = PSM_FINGER_FUZZY;
- for (id = 0; id < imin(nfingers, ELANTECH_MAX_FINGERS); id++)
- f[id] = fn;
break;
case ELANTECH_PKT_V2_2FINGER: /*HW V2. Two finger touch */
@@ -3833,8 +3842,12 @@ proc_elantech(struct psm_softc *sc, packetbuf_t *pb, mousestatus_t *ms,
* -------------------------------------------
*/
nfingers = (pb->ipacket[0] & 0xc0) >> 6;
- mask = (1 << nfingers) - 1;
- id = nfingers - 1;
+ /* Map 3-rd finger to first finger */
+ id = nfingers > 2 ? 0 : nfingers - 1;
+ mask = (1 << (id + 1)) - 1;
+
+ if (nfingers == 0)
+ break;
fn = ELANTECH_FINGER_SET_XYP(pb);
fn.w = ((pb->ipacket[0] & 0x30) >> 2) |
@@ -3842,15 +3855,11 @@ proc_elantech(struct psm_softc *sc, packetbuf_t *pb, mousestatus_t *ms,
/*
* HW v3 dont report exact finger positions when 3 or more
- * fingers are on touchpad. Use reported value as fingers
- * position as it is required for tap detection
+ * fingers are on touchpad.
*/
if (nfingers > 1)
fn.flags = PSM_FINGER_FUZZY;
- for (id = 0; id < imin(nfingers, ELANTECH_MAX_FINGERS); id++)
- f[id] = fn;
-
if (nfingers == 2) {
if (ELANTECH_PKT_IS_V3_HEAD(pb, sc->elanhw.hascrc)) {
sc->elanaction.fingers[0] = fn;
@@ -3858,6 +3867,7 @@ proc_elantech(struct psm_softc *sc, packetbuf_t *pb, mousestatus_t *ms,
} else
f[0] = sc->elanaction.fingers[0];
}
+ f[id] = fn;
break;
case ELANTECH_PKT_V4_STATUS: /* HW Version 4. Status packet */
@@ -3879,9 +3889,15 @@ proc_elantech(struct psm_softc *sc, packetbuf_t *pb, mousestatus_t *ms,
mask = pb->ipacket[1] & 0x1f;
nfingers = bitcount(mask);
+ if (sc->elanaction.mask_v4wait != 0)
+ VLOG(3, (LOG_DEBUG, "elantech: HW v4 status packet"
+ " when not all previous head packets received\n"));
+
+ /* Bitmap of fingers to receive before gesture processing */
+ sc->elanaction.mask_v4wait = mask & ~sc->elanaction.mask;
+
/* Skip "new finger is on touchpad" packets */
- if ((sc->elanaction.mask & mask) == sc->elanaction.mask &&
- (mask & ~sc->elanaction.mask)) {
+ if (sc->elanaction.mask_v4wait) {
sc->elanaction.mask = mask;
return (0);
}
@@ -3906,11 +3922,33 @@ proc_elantech(struct psm_softc *sc, packetbuf_t *pb, mousestatus_t *ms,
mask = sc->elanaction.mask;
nfingers = bitcount(mask);
id = ((pb->ipacket[3] & 0xe0) >> 5) - 1;
+ fn = ELANTECH_FINGER_SET_XYP(pb);
+ fn.w =(pb->ipacket[0] & 0xf0) >> 4;
+
+ if (id < 0)
+ return (0);
- if (id >= 0 && id < ELANTECH_MAX_FINGERS) {
- f[id] = ELANTECH_FINGER_SET_XYP(pb);
- f[id].w = (pb->ipacket[0] & 0xf0) >> 4;
+ /* Packet is finger position update. Report it */
+ if (sc->elanaction.mask_v4wait == 0) {
+ if (id < ELANTECH_MAX_FINGERS)
+ f[id] = fn;
+ break;
}
+
+ /* Remove finger from waiting bitmap and store into context */
+ sc->elanaction.mask_v4wait &= ~(1 << id);
+ if (id < ELANTECH_MAX_FINGERS)
+ sc->elanaction.fingers[id] = fn;
+
+ /* Wait for other fingers if needed */
+ if (sc->elanaction.mask_v4wait != 0)
+ return (0);
+
+ /* All new fingers are received. Report them from context */
+ for (id = 0; id < ELANTECH_MAX_FINGERS; id++)
+ if (sc->elanaction.mask & (1 << id))
+ f[id] = sc->elanaction.fingers[id];
+
break;
case ELANTECH_PKT_V4_MOTION: /* HW Version 4. Motion packet */
@@ -4006,20 +4044,14 @@ proc_elantech(struct psm_softc *sc, packetbuf_t *pb, mousestatus_t *ms,
ms->button = touchpad_button | trackpoint_button;
- /* Palm detection doesn't terminate the current action. */
- if (!psmpalmdetect(sc, &f[0], nfingers)) {
- /* Send finger 1 position to gesture processor */
- if (PSM_FINGER_IS_SET(f[0]) || PSM_FINGER_IS_SET(f[1]) ||
- nfingers == 0)
- psmgestures(sc, &f[0], imin(nfingers, 3), ms);
- /* Send fingers positions to movement smoothers */
- for (id = 0; id < PSM_FINGERS; id++)
- if (PSM_FINGER_IS_SET(f[id]) || !(mask & (1 << id)))
- psmsmoother(sc, &f[id], id, ms, x, y);
- } else {
- VLOG(2, (LOG_DEBUG, "elantech: palm detected! (%d)\n",
- f[0].w));
- }
+ /* Send finger 1 position to gesture processor */
+ if (PSM_FINGER_IS_SET(f[0]) || PSM_FINGER_IS_SET(f[1]) ||
+ nfingers == 0)
+ psmgestures(sc, &f[0], imin(nfingers, 3), ms);
+ /* Send fingers positions to movement smoothers */
+ for (id = 0; id < PSM_FINGERS; id++)
+ if (PSM_FINGER_IS_SET(f[id]) || !(mask & (1 << id)))
+ psmsmoother(sc, &f[id], id, ms, x, y);
/* Store current finger positions in action context */
for (id = 0; id < ELANTECH_MAX_FINGERS; id++) {
@@ -4030,6 +4062,13 @@ proc_elantech(struct psm_softc *sc, packetbuf_t *pb, mousestatus_t *ms,
}
sc->elanaction.mask = mask;
+ /* Palm detection doesn't terminate the current action. */
+ if (psmpalmdetect(sc, &f[0], nfingers)) {
+ *x = *y = *z = 0;
+ ms->button = ms->obutton;
+ return (0);
+ }
+
/* Use the extra buttons as a scrollwheel */
if (ms->button & MOUSE_BUTTON4DOWN)
*z = -1;
@@ -5054,7 +5093,7 @@ synaptics_sysctl_create_tree(struct psm_softc *sc, const char *name,
"Enable two finger scrolling");
/* hw.psm.synaptics.min_pressure. */
- sc->syninfo.min_pressure = 16;
+ sc->syninfo.min_pressure = 32;
SYSCTL_ADD_PROC(&sc->syninfo.sysctl_ctx,
SYSCTL_CHILDREN(sc->syninfo.sysctl_tree), OID_AUTO,
"min_pressure", CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_ANYBODY,
@@ -6155,7 +6194,10 @@ elantech_init_synaptics(struct psm_softc *sc)
sc->synhw.capPassthrough = sc->elanhw.hastrackpoint;
sc->synhw.capClickPad = sc->elanhw.isclickpad;
sc->synhw.capMultiFinger = 1;
- sc->synhw.capAdvancedGestures = 1;
+ if (sc->elanhw.issemimt)
+ sc->synhw.capAdvancedGestures = 1;
+ else
+ sc->synhw.capReportsV = 1;
sc->synhw.capPalmDetect = 1;
sc->synhw.capPen = 0;
sc->synhw.capReportsMax = 1;
@@ -6189,6 +6231,12 @@ elantech_init_synaptics(struct psm_softc *sc)
/* Disable finger detection pressure threshold */
sc->syninfo.min_pressure = 1;
+ /* Adjust palm width to nearly match synaptics w=10 */
+ sc->syninfo.max_width = 7;
+
+ /* Elans often report double & triple taps as single event */
+ sc->syninfo.tap_min_queue = 1;
+
/* Use full area of touchpad */
sc->syninfo.margin_top = 0;
sc->syninfo.margin_right = 0;
@@ -6233,8 +6281,17 @@ enable_elantech(struct psm_softc *sc, enum probearg arg)
static const int ic2hw[] =
/*IC: 0 1 2 3 4 5 6 7 8 9 a b c d e f */
{ 0, 0, 2, 0, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0 };
+ static const int fw_sizes[][3] = {
+ /* FW.vers MaxX MaxY */
+ { 0x020030, 1152, 768 },
+ { 0x020800, 1152, 768 },
+ { 0x020b00, 1152, 768 },
+ { 0x040215, 900, 500 },
+ { 0x040216, 819, 405 },
+ { 0x040219, 900, 500 },
+ };
elantechhw_t elanhw;
- int icversion, hwversion, dptracex, dptracey, id, resp[3], dpix, dpiy;
+ int icversion, hwversion, xtr, i, id, resp[3], dpix, dpiy;
KBDC kbdc = sc->kbdc;
VLOG(3, (LOG_DEBUG, "elantech: BEGIN init\n"));
@@ -6285,8 +6342,8 @@ enable_elantech(struct psm_softc *sc, enum probearg arg)
return (FALSE);
}
- elanhw.ntracesx = resp[1] - 1;
- elanhw.ntracesy = resp[2] - 1;
+ elanhw.ntracesx = imax(resp[1], 3);
+ elanhw.ntracesy = imax(resp[2], 3);
elanhw.hastrackpoint = (resp[0] & 0x80) != 0;
/* Get the touchpad resolution */
@@ -6320,24 +6377,35 @@ enable_elantech(struct psm_softc *sc, enum probearg arg)
* On HW v.3 touchpads it should be done after switching hardware
* to real resolution mode (by setting bit 3 of reg10)
*/
+ elanhw.dptracex = elanhw.dptracey = 64;
+ for (i = 0; i < nitems(fw_sizes); i++) {
+ if (elanhw.fwversion == fw_sizes[i][0]) {
+ elanhw.sizex = fw_sizes[i][1];
+ elanhw.sizey = fw_sizes[i][2];
+ goto found;
+ }
+ }
if (elantech_cmd(kbdc, hwversion, ELANTECH_FW_ID, resp) != 0) {
printf(" Failed to read touchpad size\n");
elanhw.sizex = 10000; /* Arbitrary high values to */
elanhw.sizey = 10000; /* prevent clipping in smoother */
} else if (hwversion == 2) {
- dptracex = dptracey = 64;
if ((elanhw.fwversion >> 16) == 0x14 && (resp[1] & 0x10) &&
!elantech_cmd(kbdc, hwversion, ELANTECH_SAMPLE, resp)) {
- dptracex = resp[1] / 2;
- dptracey = resp[2] / 2;
+ elanhw.dptracex = resp[1] / 2;
+ elanhw.dptracey = resp[2] / 2;
}
- elanhw.sizex = (elanhw.ntracesx - 1) * dptracex;
- elanhw.sizey = (elanhw.ntracesy - 1) * dptracey;
+ xtr = ((elanhw.fwversion >> 8) == 0x0208) ? 1 : 2;
+ elanhw.sizex = (elanhw.ntracesx - xtr) * elanhw.dptracex;
+ elanhw.sizey = (elanhw.ntracesy - xtr) * elanhw.dptracey;
} else {
elanhw.sizex = (resp[0] & 0x0f) << 8 | resp[1];
elanhw.sizey = (resp[0] & 0xf0) << 4 | resp[2];
+ xtr = (elanhw.sizex % (elanhw.ntracesx - 2) == 0) ? 2 : 1;
+ elanhw.dptracex = elanhw.sizex / (elanhw.ntracesx - xtr);
+ elanhw.dptracey = elanhw.sizey / (elanhw.ntracesy - xtr);
}
-
+found:
if (verbose >= 2) {
printf(" Model information:\n");
printf(" MaxX: %d\n", elanhw.sizex);
@@ -6346,6 +6414,8 @@ enable_elantech(struct psm_softc *sc, enum probearg arg)
printf(" DpmmY: %d\n", elanhw.dpmmy);
printf(" TracesX: %d\n", elanhw.ntracesx);
printf(" TracesY: %d\n", elanhw.ntracesy);
+ printf(" DptraceX: %d\n", elanhw.dptracex);
+ printf(" DptraceY: %d\n", elanhw.dptracey);
printf(" SemiMT: %d\n", elanhw.issemimt);
printf(" Clickpad: %d\n", elanhw.isclickpad);
printf(" Trackpoint: %d\n", elanhw.hastrackpoint);
diff --git a/sys/dev/bhnd/bhnd_debug.h b/sys/dev/bhnd/bhnd_debug.h
index dfe0bd2..2591bb9 100644
--- a/sys/dev/bhnd/bhnd_debug.h
+++ b/sys/dev/bhnd/bhnd_debug.h
@@ -70,8 +70,6 @@
#include <sys/systm.h>
-#include "opt_global.h"
-
#define BHND_ERROR_LEVEL 0x00
#define BHND_ERROR_MSG "ERROR"
#define BHND_WARN_LEVEL 0x10
diff --git a/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c b/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c
index 448b993..c2b5080 100644
--- a/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c
+++ b/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c
@@ -1094,7 +1094,7 @@ int iwch_register_device(struct iwch_dev *dev)
memcpy(dev->ibdev.node_desc, IWCH_NODE_DESC, sizeof(IWCH_NODE_DESC));
dev->ibdev.phys_port_cnt = sc->params.nports;
dev->ibdev.num_comp_vectors = 1;
- dev->ibdev.dma_device = dev->rdev.adap->dev;
+ dev->ibdev.dma_device = NULL;
dev->ibdev.query_device = iwch_query_device;
dev->ibdev.query_port = iwch_query_port;
dev->ibdev.modify_port = iwch_modify_port;
diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h
index 78c58ee..02453c2 100644
--- a/sys/dev/cxgbe/adapter.h
+++ b/sys/dev/cxgbe/adapter.h
@@ -204,11 +204,11 @@ struct vi_info {
int first_intr;
/* These need to be int as they are used in sysctl */
- int ntxq; /* # of tx queues */
- int first_txq; /* index of first tx queue */
- int rsrv_noflowq; /* Reserve queue 0 for non-flowid packets */
- int nrxq; /* # of rx queues */
- int first_rxq; /* index of first rx queue */
+ int ntxq; /* # of tx queues */
+ int first_txq; /* index of first tx queue */
+ int rsrv_noflowq; /* Reserve queue 0 for non-flowid packets */
+ int nrxq; /* # of rx queues */
+ int first_rxq; /* index of first rx queue */
int nofldtxq; /* # of offload tx queues */
int first_ofld_txq; /* index of first offload tx queue */
int nofldrxq; /* # of offload rx queues */
@@ -231,15 +231,36 @@ struct vi_info {
uint8_t hw_addr[ETHER_ADDR_LEN]; /* factory MAC address, won't change */
};
+struct tx_ch_rl_params {
+ enum fw_sched_params_rate ratemode; /* %port (REL) or kbps (ABS) */
+ uint32_t maxrate;
+};
+
enum {
- /* tx_sched_class flags */
- TX_SC_OK = (1 << 0), /* Set up in hardware, active. */
+ TX_CLRL_REFRESH = (1 << 0), /* Need to update hardware state. */
+ TX_CLRL_ERROR = (1 << 1), /* Error, hardware state unknown. */
};
-struct tx_sched_class {
+struct tx_cl_rl_params {
int refcount;
- int flags;
- struct t4_sched_class_params params;
+ u_int flags;
+ enum fw_sched_params_rate ratemode; /* %port REL or ABS value */
+ enum fw_sched_params_unit rateunit; /* kbps or pps (when ABS) */
+ enum fw_sched_params_mode mode; /* aggr or per-flow */
+ uint32_t maxrate;
+ uint16_t pktsize;
+};
+
+/* Tx scheduler parameters for a channel/port */
+struct tx_sched_params {
+ /* Channel Rate Limiter */
+ struct tx_ch_rl_params ch_rl;
+
+ /* Class WRR */
+ /* XXX */
+
+ /* Class Rate Limiter */
+ struct tx_cl_rl_params cl_rl[];
};
struct port_info {
@@ -251,7 +272,7 @@ struct port_info {
int up_vis;
int uld_vis;
- struct tx_sched_class *tc; /* traffic classes for this channel */
+ struct tx_sched_params *sched_params;
struct mtx pi_lock;
char lockname[16];
@@ -322,6 +343,7 @@ enum {
IQ_HAS_FL = (1 << 1), /* iq associated with a freelist */
IQ_INTR = (1 << 2), /* iq takes direct interrupt */
IQ_LRO_ENABLED = (1 << 3), /* iq is an eth rxq with LRO enabled */
+ IQ_ADJ_CREDIT = (1 << 4), /* hw is off by 1 credit for this iq */
/* iq state */
IQS_DISABLED = 0,
@@ -377,6 +399,7 @@ enum {
EQ_TYPEMASK = 0x3, /* 2 lsbits hold the type (see above) */
EQ_ALLOCATED = (1 << 2), /* firmware resources allocated */
EQ_ENABLED = (1 << 3), /* open for business */
+ EQ_QFLUSH = (1 << 4), /* if_qflush in progress */
};
/* Listed in order of preference. Update t4_sysctls too if you change these */
@@ -682,7 +705,7 @@ struct sge_nm_txq {
struct sge {
int nrxq; /* total # of Ethernet rx queues */
- int ntxq; /* total # of Ethernet tx tx queues */
+ int ntxq; /* total # of Ethernet tx queues */
int nofldrxq; /* total # of TOE rx queues */
int nofldtxq; /* total # of TOE tx queues */
int nnmrxq; /* total # of netmap rx queues */
@@ -824,6 +847,9 @@ struct adapter {
struct memwin memwin[NUM_MEMWIN]; /* memory windows */
+ struct mtx tc_lock;
+ struct task tc_task;
+
const char *last_op;
const void *last_op_thr;
int last_op_flags;
@@ -1061,6 +1087,24 @@ port_top_speed(const struct port_info *pi)
}
static inline int
+port_top_speed_raw(const struct port_info *pi)
+{
+
+ if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_100G)
+ return (FW_PORT_CAP_SPEED_100G);
+ if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_40G)
+ return (FW_PORT_CAP_SPEED_40G);
+ if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_25G)
+ return (FW_PORT_CAP_SPEED_25G);
+ if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_10G)
+ return (FW_PORT_CAP_SPEED_10G);
+ if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_1G)
+ return (FW_PORT_CAP_SPEED_1G);
+
+ return (0);
+}
+
+static inline int
tx_resume_threshold(struct sge_eq *eq)
{
@@ -1105,8 +1149,6 @@ int t4_detach_common(device_t);
int t4_filter_rpl(struct sge_iq *, const struct rss_header *, struct mbuf *);
int t4_map_bars_0_and_4(struct adapter *);
int t4_map_bar_2(struct adapter *);
-int t4_set_sched_class(struct adapter *, struct t4_sched_params *);
-int t4_set_sched_queue(struct adapter *, struct t4_sched_queue *);
int t4_setup_intr_handlers(struct adapter *);
void t4_sysctls(struct adapter *);
int begin_synchronized_op(struct adapter *, struct vi_info *, int, char *);
@@ -1167,6 +1209,15 @@ int t4_set_tracer(struct adapter *, struct t4_tracer *);
int t4_trace_pkt(struct sge_iq *, const struct rss_header *, struct mbuf *);
int t5_trace_pkt(struct sge_iq *, const struct rss_header *, struct mbuf *);
+/* t4_sched.c */
+int t4_set_sched_class(struct adapter *, struct t4_sched_params *);
+int t4_set_sched_queue(struct adapter *, struct t4_sched_queue *);
+int t4_init_tx_sched(struct adapter *);
+int t4_free_tx_sched(struct adapter *);
+void t4_update_tx_sched(struct adapter *);
+int t4_reserve_cl_rl_kbps(struct adapter *, int, u_int, int *);
+void t4_release_cl_rl_kbps(struct adapter *, int, int);
+
static inline struct wrqe *
alloc_wrqe(int wr_len, struct sge_wrq *wrq)
{
diff --git a/sys/dev/cxgbe/common/common.h b/sys/dev/cxgbe/common/common.h
index 04fdeb1..2a6868a 100644
--- a/sys/dev/cxgbe/common/common.h
+++ b/sys/dev/cxgbe/common/common.h
@@ -210,7 +210,7 @@ struct tp_rdma_stats {
};
struct sge_params {
- int timer_val[SGE_NTIMERS];
+ int timer_val[SGE_NTIMERS]; /* final, scaled values */
int counter_val[SGE_NCOUNTERS];
int fl_starve_threshold;
int fl_starve_threshold2;
@@ -366,6 +366,9 @@ struct adapter_params {
unsigned int ofldq_wr_cred;
unsigned int eo_wr_cred;
+
+ unsigned int max_ordird_qp;
+ unsigned int max_ird_adapter;
};
#define CHELSIO_T4 0x4
@@ -771,6 +774,13 @@ int t4_sched_params(struct adapter *adapter, int type, int level, int mode,
int rateunit, int ratemode, int channel, int cl,
int minrate, int maxrate, int weight, int pktsize,
int sleep_ok);
+int t4_sched_params_ch_rl(struct adapter *adapter, int channel, int ratemode,
+ unsigned int maxrate, int sleep_ok);
+int t4_sched_params_cl_wrr(struct adapter *adapter, int channel, int cl,
+ int weight, int sleep_ok);
+int t4_sched_params_cl_rl_kbps(struct adapter *adapter, int channel, int cl,
+ int mode, unsigned int maxrate, int pktsize,
+ int sleep_ok);
int t4_config_watchdog(struct adapter *adapter, unsigned int mbox,
unsigned int pf, unsigned int vf,
unsigned int timeout, unsigned int action);
diff --git a/sys/dev/cxgbe/common/t4_hw.c b/sys/dev/cxgbe/common/t4_hw.c
index fe60985f..bf8b535 100644
--- a/sys/dev/cxgbe/common/t4_hw.c
+++ b/sys/dev/cxgbe/common/t4_hw.c
@@ -4332,7 +4332,8 @@ static void mem_intr_handler(struct adapter *adapter, int idx)
if (v & F_ECC_CE_INT_CAUSE) {
u32 cnt = G_ECC_CECNT(t4_read_reg(adapter, cnt_addr));
- t4_edc_err_read(adapter, idx);
+ if (idx <= MEM_EDC1)
+ t4_edc_err_read(adapter, idx);
t4_write_reg(adapter, cnt_addr, V_ECC_CECNT(M_ECC_CECNT));
CH_WARN_RATELIMIT(adapter,
@@ -7906,7 +7907,7 @@ int t4_init_sge_params(struct adapter *adapter)
{
u32 r;
struct sge_params *sp = &adapter->params.sge;
- unsigned i;
+ unsigned i, tscale = 1;
r = t4_read_reg(adapter, A_SGE_INGRESS_RX_THRESHOLD);
sp->counter_val[0] = G_THRESHOLD_0(r);
@@ -7914,15 +7915,24 @@ int t4_init_sge_params(struct adapter *adapter)
sp->counter_val[2] = G_THRESHOLD_2(r);
sp->counter_val[3] = G_THRESHOLD_3(r);
+ if (chip_id(adapter) >= CHELSIO_T6) {
+ r = t4_read_reg(adapter, A_SGE_ITP_CONTROL);
+ tscale = G_TSCALE(r);
+ if (tscale == 0)
+ tscale = 1;
+ else
+ tscale += 2;
+ }
+
r = t4_read_reg(adapter, A_SGE_TIMER_VALUE_0_AND_1);
- sp->timer_val[0] = core_ticks_to_us(adapter, G_TIMERVALUE0(r));
- sp->timer_val[1] = core_ticks_to_us(adapter, G_TIMERVALUE1(r));
+ sp->timer_val[0] = core_ticks_to_us(adapter, G_TIMERVALUE0(r)) * tscale;
+ sp->timer_val[1] = core_ticks_to_us(adapter, G_TIMERVALUE1(r)) * tscale;
r = t4_read_reg(adapter, A_SGE_TIMER_VALUE_2_AND_3);
- sp->timer_val[2] = core_ticks_to_us(adapter, G_TIMERVALUE2(r));
- sp->timer_val[3] = core_ticks_to_us(adapter, G_TIMERVALUE3(r));
+ sp->timer_val[2] = core_ticks_to_us(adapter, G_TIMERVALUE2(r)) * tscale;
+ sp->timer_val[3] = core_ticks_to_us(adapter, G_TIMERVALUE3(r)) * tscale;
r = t4_read_reg(adapter, A_SGE_TIMER_VALUE_4_AND_5);
- sp->timer_val[4] = core_ticks_to_us(adapter, G_TIMERVALUE4(r));
- sp->timer_val[5] = core_ticks_to_us(adapter, G_TIMERVALUE5(r));
+ sp->timer_val[4] = core_ticks_to_us(adapter, G_TIMERVALUE4(r)) * tscale;
+ sp->timer_val[5] = core_ticks_to_us(adapter, G_TIMERVALUE5(r)) * tscale;
r = t4_read_reg(adapter, A_SGE_CONM_CTRL);
sp->fl_starve_threshold = G_EGRTHRESHOLD(r) * 2 + 1;
@@ -9386,6 +9396,79 @@ int t4_sched_params(struct adapter *adapter, int type, int level, int mode,
NULL, sleep_ok);
}
+int t4_sched_params_ch_rl(struct adapter *adapter, int channel, int ratemode,
+ unsigned int maxrate, int sleep_ok)
+{
+ struct fw_sched_cmd cmd;
+
+ memset(&cmd, 0, sizeof(cmd));
+ cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_SCHED_CMD) |
+ F_FW_CMD_REQUEST |
+ F_FW_CMD_WRITE);
+ cmd.retval_len16 = cpu_to_be32(FW_LEN16(cmd));
+
+ cmd.u.params.sc = FW_SCHED_SC_PARAMS;
+ cmd.u.params.type = FW_SCHED_TYPE_PKTSCHED;
+ cmd.u.params.level = FW_SCHED_PARAMS_LEVEL_CH_RL;
+ cmd.u.params.ch = channel;
+ cmd.u.params.rate = ratemode; /* REL or ABS */
+ cmd.u.params.max = cpu_to_be32(maxrate);/* % or kbps */
+
+ return t4_wr_mbox_meat(adapter,adapter->mbox, &cmd, sizeof(cmd),
+ NULL, sleep_ok);
+}
+
+int t4_sched_params_cl_wrr(struct adapter *adapter, int channel, int cl,
+ int weight, int sleep_ok)
+{
+ struct fw_sched_cmd cmd;
+
+ if (weight < 0 || weight > 100)
+ return -EINVAL;
+
+ memset(&cmd, 0, sizeof(cmd));
+ cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_SCHED_CMD) |
+ F_FW_CMD_REQUEST |
+ F_FW_CMD_WRITE);
+ cmd.retval_len16 = cpu_to_be32(FW_LEN16(cmd));
+
+ cmd.u.params.sc = FW_SCHED_SC_PARAMS;
+ cmd.u.params.type = FW_SCHED_TYPE_PKTSCHED;
+ cmd.u.params.level = FW_SCHED_PARAMS_LEVEL_CL_WRR;
+ cmd.u.params.ch = channel;
+ cmd.u.params.cl = cl;
+ cmd.u.params.weight = cpu_to_be16(weight);
+
+ return t4_wr_mbox_meat(adapter,adapter->mbox, &cmd, sizeof(cmd),
+ NULL, sleep_ok);
+}
+
+int t4_sched_params_cl_rl_kbps(struct adapter *adapter, int channel, int cl,
+ int mode, unsigned int maxrate, int pktsize, int sleep_ok)
+{
+ struct fw_sched_cmd cmd;
+
+ memset(&cmd, 0, sizeof(cmd));
+ cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_SCHED_CMD) |
+ F_FW_CMD_REQUEST |
+ F_FW_CMD_WRITE);
+ cmd.retval_len16 = cpu_to_be32(FW_LEN16(cmd));
+
+ cmd.u.params.sc = FW_SCHED_SC_PARAMS;
+ cmd.u.params.type = FW_SCHED_TYPE_PKTSCHED;
+ cmd.u.params.level = FW_SCHED_PARAMS_LEVEL_CL_RL;
+ cmd.u.params.mode = mode;
+ cmd.u.params.ch = channel;
+ cmd.u.params.cl = cl;
+ cmd.u.params.unit = FW_SCHED_PARAMS_UNIT_BITRATE;
+ cmd.u.params.rate = FW_SCHED_PARAMS_RATE_ABS;
+ cmd.u.params.max = cpu_to_be32(maxrate);
+ cmd.u.params.pktsize = cpu_to_be16(pktsize);
+
+ return t4_wr_mbox_meat(adapter,adapter->mbox, &cmd, sizeof(cmd),
+ NULL, sleep_ok);
+}
+
/*
* t4_config_watchdog - configure (enable/disable) a watchdog timer
* @adapter: the adapter
diff --git a/sys/dev/cxgbe/common/t4_msg.h b/sys/dev/cxgbe/common/t4_msg.h
index 830743b..f15c3a8 100644
--- a/sys/dev/cxgbe/common/t4_msg.h
+++ b/sys/dev/cxgbe/common/t4_msg.h
@@ -106,6 +106,7 @@ enum {
CPL_RX_FCOE_DIF = 0x4A,
CPL_RX_DATA_DIF = 0x4B,
CPL_ERR_NOTIFY = 0x4D,
+ CPL_RX_TLS_CMP = 0x4E,
CPL_RDMA_READ_REQ = 0x60,
CPL_RX_ISCSI_DIF = 0x60,
@@ -113,6 +114,11 @@ enum {
CPL_SET_LE_REQ = 0x80,
CPL_PASS_OPEN_REQ6 = 0x81,
CPL_ACT_OPEN_REQ6 = 0x83,
+ CPL_TX_TLS_PDU = 0x88,
+ CPL_TX_TLS_SFO = 0x89,
+
+ CPL_TX_SEC_PDU = 0x8A,
+ CPL_TX_TLS_ACK = 0x8B,
CPL_RDMA_TERMINATE = 0xA2,
CPL_RDMA_WRITE = 0xA4,
@@ -129,6 +135,7 @@ enum {
CPL_TRACE_PKT = 0xB0,
CPL_RX2TX_DATA = 0xB1,
+ CPL_TLS_DATA = 0xB1,
CPL_ISCSI_DATA = 0xB2,
CPL_FCOE_DATA = 0xB3,
@@ -136,6 +143,7 @@ enum {
CPL_FW4_PLD = 0xC1,
CPL_FW4_ACK = 0xC3,
CPL_SRQ_TABLE_RPL = 0xCC,
+ CPL_RX_PHYS_DSGL = 0xD0,
CPL_FW6_MSG = 0xE0,
CPL_FW6_PLD = 0xE1,
@@ -200,6 +208,7 @@ enum {
ULP_MODE_RDMA = 4,
ULP_MODE_TCPDDP = 5,
ULP_MODE_FCOE = 6,
+ ULP_MODE_TLS = 8,
};
enum {
@@ -993,6 +1002,23 @@ struct cpl_abort_req_rss {
__u8 status;
};
+struct cpl_abort_req_rss6 {
+ RSS_HDR
+ union opcode_tid ot;
+ __u32 srqidx_status;
+};
+
+#define S_ABORT_RSS_STATUS 0
+#define M_ABORT_RSS_STATUS 0xff
+#define V_ABORT_RSS_STATUS(x) ((x) << S_ABORT_RSS_STATUS)
+#define G_ABORT_RSS_STATUS(x) (((x) >> S_ABORT_RSS_STATUS) & M_ABORT_RSS_STATUS)
+
+#define S_ABORT_RSS_SRQIDX 8
+#define M_ABORT_RSS_SRQIDX 0xffffff
+#define V_ABORT_RSS_SRQIDX(x) ((x) << S_ABORT_RSS_SRQIDX)
+#define G_ABORT_RSS_SRQIDX(x) (((x) >> S_ABORT_RSS_SRQIDX) & M_ABORT_RSS_SRQIDX)
+
+
/* cpl_abort_req status command code in case of T6,
* bit[0] specifies whether to send RST (0) to remote peer or suppress it (1)
* bit[1] indicates ABORT_REQ was sent after a CLOSE_CON_REQ
@@ -1014,6 +1040,12 @@ struct cpl_abort_rpl_rss {
__u8 status;
};
+struct cpl_abort_rpl_rss6 {
+ RSS_HDR
+ union opcode_tid ot;
+ __u32 srqidx_status;
+};
+
struct cpl_abort_rpl {
WR_HDR;
union opcode_tid ot;
@@ -2612,6 +2644,7 @@ enum {
FW_TYPE_RSSCPL = 4,
FW_TYPE_WRERR_RPL = 5,
FW_TYPE_PI_ERR = 6,
+ FW_TYPE_TLS_KEY = 7,
};
struct cpl_fw2_pld {
@@ -2712,7 +2745,8 @@ enum {
ULP_TX_SC_IMM = 0x81,
ULP_TX_SC_DSGL = 0x82,
ULP_TX_SC_ISGL = 0x83,
- ULP_TX_SC_PICTRL = 0x84
+ ULP_TX_SC_PICTRL = 0x84,
+ ULP_TX_SC_MEMRD = 0x86
};
#define S_ULPTX_CMD 24
@@ -2763,6 +2797,12 @@ struct ulptx_idata {
#define S_ULPTX_NSGE 0
#define M_ULPTX_NSGE 0xFFFF
#define V_ULPTX_NSGE(x) ((x) << S_ULPTX_NSGE)
+#define G_ULPTX_NSGE(x) (((x) >> S_ULPTX_NSGE) & M_ULPTX_NSGE)
+
+struct ulptx_sc_memrd {
+ __be32 cmd_to_len;
+ __be32 addr;
+};
struct ulp_mem_io {
WR_HDR;
@@ -2817,6 +2857,21 @@ struct ulp_txpkt {
};
/* ulp_txpkt.cmd_dest fields */
+#define S_ULP_TXPKT_DATAMODIFY 23
+#define M_ULP_TXPKT_DATAMODIFY 0x1
+#define V_ULP_TXPKT_DATAMODIFY(x) ((x) << S_ULP_TXPKT_DATAMODIFY)
+#define G_ULP_TXPKT_DATAMODIFY(x) \
+ (((x) >> S_ULP_TXPKT_DATAMODIFY) & M_ULP_TXPKT_DATAMODIFY_)
+#define F_ULP_TXPKT_DATAMODIFY V_ULP_TXPKT_DATAMODIFY(1U)
+
+#define S_ULP_TXPKT_CHANNELID 22
+#define M_ULP_TXPKT_CHANNELID 0x1
+#define V_ULP_TXPKT_CHANNELID(x) ((x) << S_ULP_TXPKT_CHANNELID)
+#define G_ULP_TXPKT_CHANNELID(x) \
+ (((x) >> S_ULP_TXPKT_CHANNELID) & M_ULP_TXPKT_CHANNELID)
+#define F_ULP_TXPKT_CHANNELID V_ULP_TXPKT_CHANNELID(1U)
+
+/* ulp_txpkt.cmd_dest fields */
#define S_ULP_TXPKT_DEST 16
#define M_ULP_TXPKT_DEST 0x3
#define V_ULP_TXPKT_DEST(x) ((x) << S_ULP_TXPKT_DEST)
@@ -3044,4 +3099,542 @@ struct cpl_rx_mps_pkt {
#define X_CPL_RX_MPS_PKT_TYPE_QFC (1 << 2)
#define X_CPL_RX_MPS_PKT_TYPE_PTP (1 << 3)
+struct cpl_tx_tls_sfo {
+ __be32 op_to_seg_len;
+ __be32 pld_len;
+ __be64 rsvd;
+ __be32 seqno_numivs;
+ __be32 ivgen_hdrlen;
+ __be64 scmd1;
+};
+
+/* cpl_tx_tls_sfo macros */
+#define S_CPL_TX_TLS_SFO_OPCODE 24
+#define M_CPL_TX_TLS_SFO_OPCODE 0xff
+#define V_CPL_TX_TLS_SFO_OPCODE(x) ((x) << S_CPL_TX_TLS_SFO_OPCODE)
+#define G_CPL_TX_TLS_SFO_OPCODE(x) \
+ (((x) >> S_CPL_TX_TLS_SFO_OPCODE) & M_CPL_TX_TLS_SFO_OPCODE)
+
+#define S_CPL_TX_TLS_SFO_DATA_TYPE 20
+#define M_CPL_TX_TLS_SFO_DATA_TYPE 0xf
+#define V_CPL_TX_TLS_SFO_DATA_TYPE(x) ((x) << S_CPL_TX_TLS_SFO_DATA_TYPE)
+#define G_CPL_TX_TLS_SFO_DATA_TYPE(x) \
+ (((x) >> S_CPL_TX_TLS_SFO_DATA_TYPE) & M_CPL_TX_TLS_SFO_DATA_TYPE)
+
+#define S_CPL_TX_TLS_SFO_CPL_LEN 16
+#define M_CPL_TX_TLS_SFO_CPL_LEN 0xf
+#define V_CPL_TX_TLS_SFO_CPL_LEN(x) ((x) << S_CPL_TX_TLS_SFO_CPL_LEN)
+#define G_CPL_TX_TLS_SFO_CPL_LEN(x) \
+ (((x) >> S_CPL_TX_TLS_SFO_CPL_LEN) & M_CPL_TX_TLS_SFO_CPL_LEN)
+#define S_CPL_TX_TLS_SFO_SEG_LEN 0
+#define M_CPL_TX_TLS_SFO_SEG_LEN 0xffff
+#define V_CPL_TX_TLS_SFO_SEG_LEN(x) ((x) << S_CPL_TX_TLS_SFO_SEG_LEN)
+#define G_CPL_TX_TLS_SFO_SEG_LEN(x) \
+ (((x) >> S_CPL_TX_TLS_SFO_SEG_LEN) & M_CPL_TX_TLS_SFO_SEG_LEN)
+
+struct cpl_tls_data {
+ RSS_HDR
+ __be32 op_tid;
+ __be32 length_pkd;
+ __be32 seq;
+ __be32 r1;
+};
+
+#define S_CPL_TLS_DATA_OPCODE 24
+#define M_CPL_TLS_DATA_OPCODE 0xff
+#define V_CPL_TLS_DATA_OPCODE(x) ((x) << S_CPL_TLS_DATA_OPCODE)
+#define G_CPL_TLS_DATA_OPCODE(x) \
+ (((x) >> S_CPL_TLS_DATA_OPCODE) & M_CPL_TLS_DATA_OPCODE)
+
+#define S_CPL_TLS_DATA_TID 0
+#define M_CPL_TLS_DATA_TID 0xffffff
+#define V_CPL_TLS_DATA_TID(x) ((x) << S_CPL_TLS_DATA_TID)
+#define G_CPL_TLS_DATA_TID(x) \
+ (((x) >> S_CPL_TLS_DATA_TID) & M_CPL_TLS_DATA_TID)
+
+#define S_CPL_TLS_DATA_LENGTH 0
+#define M_CPL_TLS_DATA_LENGTH 0xffff
+#define V_CPL_TLS_DATA_LENGTH(x) ((x) << S_CPL_TLS_DATA_LENGTH)
+#define G_CPL_TLS_DATA_LENGTH(x) \
+ (((x) >> S_CPL_TLS_DATA_LENGTH) & M_CPL_TLS_DATA_LENGTH)
+
+struct cpl_rx_tls_cmp {
+ RSS_HDR
+ __be32 op_tid;
+ __be32 pdulength_length;
+ __be32 seq;
+ __be32 ddp_report;
+ __be32 r;
+ __be32 ddp_valid;
+};
+
+#define S_CPL_RX_TLS_CMP_OPCODE 24
+#define M_CPL_RX_TLS_CMP_OPCODE 0xff
+#define V_CPL_RX_TLS_CMP_OPCODE(x) ((x) << S_CPL_RX_TLS_CMP_OPCODE)
+#define G_CPL_RX_TLS_CMP_OPCODE(x) \
+ (((x) >> S_CPL_RX_TLS_CMP_OPCODE) & M_CPL_RX_TLS_CMP_OPCODE)
+
+#define S_CPL_RX_TLS_CMP_TID 0
+#define M_CPL_RX_TLS_CMP_TID 0xffffff
+#define V_CPL_RX_TLS_CMP_TID(x) ((x) << S_CPL_RX_TLS_CMP_TID)
+#define G_CPL_RX_TLS_CMP_TID(x) \
+ (((x) >> S_CPL_RX_TLS_CMP_TID) & M_CPL_RX_TLS_CMP_TID)
+
+#define S_CPL_RX_TLS_CMP_PDULENGTH 16
+#define M_CPL_RX_TLS_CMP_PDULENGTH 0xffff
+#define V_CPL_RX_TLS_CMP_PDULENGTH(x) ((x) << S_CPL_RX_TLS_CMP_PDULENGTH)
+#define G_CPL_RX_TLS_CMP_PDULENGTH(x) \
+ (((x) >> S_CPL_RX_TLS_CMP_PDULENGTH) & M_CPL_RX_TLS_CMP_PDULENGTH)
+
+#define S_CPL_RX_TLS_CMP_LENGTH 0
+#define M_CPL_RX_TLS_CMP_LENGTH 0xffff
+#define V_CPL_RX_TLS_CMP_LENGTH(x) ((x) << S_CPL_RX_TLS_CMP_LENGTH)
+#define G_CPL_RX_TLS_CMP_LENGTH(x) \
+ (((x) >> S_CPL_RX_TLS_CMP_LENGTH) & M_CPL_RX_TLS_CMP_LENGTH)
+
+#define S_SCMD_SEQ_NO_CTRL 29
+#define M_SCMD_SEQ_NO_CTRL 0x3
+#define V_SCMD_SEQ_NO_CTRL(x) ((x) << S_SCMD_SEQ_NO_CTRL)
+#define G_SCMD_SEQ_NO_CTRL(x) \
+ (((x) >> S_SCMD_SEQ_NO_CTRL) & M_SCMD_SEQ_NO_CTRL)
+
+/* StsFieldPrsnt- Status field at the end of the TLS PDU */
+#define S_SCMD_STATUS_PRESENT 28
+#define M_SCMD_STATUS_PRESENT 0x1
+#define V_SCMD_STATUS_PRESENT(x) ((x) << S_SCMD_STATUS_PRESENT)
+#define G_SCMD_STATUS_PRESENT(x) \
+ (((x) >> S_SCMD_STATUS_PRESENT) & M_SCMD_STATUS_PRESENT)
+#define F_SCMD_STATUS_PRESENT V_SCMD_STATUS_PRESENT(1U)
+
+/* ProtoVersion - Protocol Version 0: 1.2, 1:1.1, 2:DTLS, 3:Generic,
+ * 3-15: Reserved. */
+#define S_SCMD_PROTO_VERSION 24
+#define M_SCMD_PROTO_VERSION 0xf
+#define V_SCMD_PROTO_VERSION(x) ((x) << S_SCMD_PROTO_VERSION)
+#define G_SCMD_PROTO_VERSION(x) \
+ (((x) >> S_SCMD_PROTO_VERSION) & M_SCMD_PROTO_VERSION)
+
+/* EncDecCtrl - Encryption/Decryption Control. 0: Encrypt, 1: Decrypt */
+#define S_SCMD_ENC_DEC_CTRL 23
+#define M_SCMD_ENC_DEC_CTRL 0x1
+#define V_SCMD_ENC_DEC_CTRL(x) ((x) << S_SCMD_ENC_DEC_CTRL)
+#define G_SCMD_ENC_DEC_CTRL(x) \
+ (((x) >> S_SCMD_ENC_DEC_CTRL) & M_SCMD_ENC_DEC_CTRL)
+#define F_SCMD_ENC_DEC_CTRL V_SCMD_ENC_DEC_CTRL(1U)
+
+/* CipherAuthSeqCtrl - Cipher Authentication Sequence Control. */
+#define S_SCMD_CIPH_AUTH_SEQ_CTRL 22
+#define M_SCMD_CIPH_AUTH_SEQ_CTRL 0x1
+#define V_SCMD_CIPH_AUTH_SEQ_CTRL(x) \
+ ((x) << S_SCMD_CIPH_AUTH_SEQ_CTRL)
+#define G_SCMD_CIPH_AUTH_SEQ_CTRL(x) \
+ (((x) >> S_SCMD_CIPH_AUTH_SEQ_CTRL) & M_SCMD_CIPH_AUTH_SEQ_CTRL)
+#define F_SCMD_CIPH_AUTH_SEQ_CTRL V_SCMD_CIPH_AUTH_SEQ_CTRL(1U)
+
+/* CiphMode - Cipher Mode. 0: NOP, 1:AES-CBC, 2:AES-GCM, 3:AES-CTR,
+ * 4:Generic-AES, 5-15: Reserved. */
+#define S_SCMD_CIPH_MODE 18
+#define M_SCMD_CIPH_MODE 0xf
+#define V_SCMD_CIPH_MODE(x) ((x) << S_SCMD_CIPH_MODE)
+#define G_SCMD_CIPH_MODE(x) \
+ (((x) >> S_SCMD_CIPH_MODE) & M_SCMD_CIPH_MODE)
+
+/* AuthMode - Auth Mode. 0: NOP, 1:SHA1, 2:SHA2-224, 3:SHA2-256
+ * 4-15: Reserved */
+#define S_SCMD_AUTH_MODE 14
+#define M_SCMD_AUTH_MODE 0xf
+#define V_SCMD_AUTH_MODE(x) ((x) << S_SCMD_AUTH_MODE)
+#define G_SCMD_AUTH_MODE(x) \
+ (((x) >> S_SCMD_AUTH_MODE) & M_SCMD_AUTH_MODE)
+
+/* HmacCtrl - HMAC Control. 0:NOP, 1:No truncation, 2:Support HMAC Truncation
+ * per RFC 4366, 3:IPSec 96 bits, 4-7:Reserved
+ */
+#define S_SCMD_HMAC_CTRL 11
+#define M_SCMD_HMAC_CTRL 0x7
+#define V_SCMD_HMAC_CTRL(x) ((x) << S_SCMD_HMAC_CTRL)
+#define G_SCMD_HMAC_CTRL(x) \
+ (((x) >> S_SCMD_HMAC_CTRL) & M_SCMD_HMAC_CTRL)
+
+/* IvSize - IV size in units of 2 bytes */
+#define S_SCMD_IV_SIZE 7
+#define M_SCMD_IV_SIZE 0xf
+#define V_SCMD_IV_SIZE(x) ((x) << S_SCMD_IV_SIZE)
+#define G_SCMD_IV_SIZE(x) \
+ (((x) >> S_SCMD_IV_SIZE) & M_SCMD_IV_SIZE)
+
+/* NumIVs - Number of IVs */
+#define S_SCMD_NUM_IVS 0
+#define M_SCMD_NUM_IVS 0x7f
+#define V_SCMD_NUM_IVS(x) ((x) << S_SCMD_NUM_IVS)
+#define G_SCMD_NUM_IVS(x) \
+ (((x) >> S_SCMD_NUM_IVS) & M_SCMD_NUM_IVS)
+
+/* EnbDbgId - If this is enabled upper 20 (63:44) bits if SeqNumber
+ * (below) are used as Cid (connection id for debug status), these
+ * bits are padded to zero for forming the 64 bit
+ * sequence number for TLS
+ */
+#define S_SCMD_ENB_DBGID 31
+#define M_SCMD_ENB_DBGID 0x1
+#define V_SCMD_ENB_DBGID(x) ((x) << S_SCMD_ENB_DBGID)
+#define G_SCMD_ENB_DBGID(x) \
+ (((x) >> S_SCMD_ENB_DBGID) & M_SCMD_ENB_DBGID)
+
+/* IV generation in SW. */
+#define S_SCMD_IV_GEN_CTRL 30
+#define M_SCMD_IV_GEN_CTRL 0x1
+#define V_SCMD_IV_GEN_CTRL(x) ((x) << S_SCMD_IV_GEN_CTRL)
+#define G_SCMD_IV_GEN_CTRL(x) \
+ (((x) >> S_SCMD_IV_GEN_CTRL) & M_SCMD_IV_GEN_CTRL)
+#define F_SCMD_IV_GEN_CTRL V_SCMD_IV_GEN_CTRL(1U)
+
+/* More frags */
+#define S_SCMD_MORE_FRAGS 20
+#define M_SCMD_MORE_FRAGS 0x1
+#define V_SCMD_MORE_FRAGS(x) ((x) << S_SCMD_MORE_FRAGS)
+#define G_SCMD_MORE_FRAGS(x) (((x) >> S_SCMD_MORE_FRAGS) & M_SCMD_MORE_FRAGS)
+
+/*last frag */
+#define S_SCMD_LAST_FRAG 19
+#define M_SCMD_LAST_FRAG 0x1
+#define V_SCMD_LAST_FRAG(x) ((x) << S_SCMD_LAST_FRAG)
+#define G_SCMD_LAST_FRAG(x) (((x) >> S_SCMD_LAST_FRAG) & M_SCMD_LAST_FRAG)
+
+/* TlsCompPdu */
+#define S_SCMD_TLS_COMPPDU 18
+#define M_SCMD_TLS_COMPPDU 0x1
+#define V_SCMD_TLS_COMPPDU(x) ((x) << S_SCMD_TLS_COMPPDU)
+#define G_SCMD_TLS_COMPPDU(x) (((x) >> S_SCMD_TLS_COMPPDU) & M_SCMD_TLS_COMPPDU)
+
+/* KeyCntxtInline - Key context inline after the scmd OR PayloadOnly*/
+#define S_SCMD_KEY_CTX_INLINE 17
+#define M_SCMD_KEY_CTX_INLINE 0x1
+#define V_SCMD_KEY_CTX_INLINE(x) ((x) << S_SCMD_KEY_CTX_INLINE)
+#define G_SCMD_KEY_CTX_INLINE(x) \
+ (((x) >> S_SCMD_KEY_CTX_INLINE) & M_SCMD_KEY_CTX_INLINE)
+#define F_SCMD_KEY_CTX_INLINE V_SCMD_KEY_CTX_INLINE(1U)
+
+/* TLSFragEnable - 0: Host created TLS PDUs, 1: TLS Framgmentation in ASIC */
+#define S_SCMD_TLS_FRAG_ENABLE 16
+#define M_SCMD_TLS_FRAG_ENABLE 0x1
+#define V_SCMD_TLS_FRAG_ENABLE(x) ((x) << S_SCMD_TLS_FRAG_ENABLE)
+#define G_SCMD_TLS_FRAG_ENABLE(x) \
+ (((x) >> S_SCMD_TLS_FRAG_ENABLE) & M_SCMD_TLS_FRAG_ENABLE)
+#define F_SCMD_TLS_FRAG_ENABLE V_SCMD_TLS_FRAG_ENABLE(1U)
+
+/* MacOnly - Only send the MAC and discard PDU. This is valid for hash only
+ * modes, in this case TLS_TX will drop the PDU and only
+ * send back the MAC bytes. */
+#define S_SCMD_MAC_ONLY 15
+#define M_SCMD_MAC_ONLY 0x1
+#define V_SCMD_MAC_ONLY(x) ((x) << S_SCMD_MAC_ONLY)
+#define G_SCMD_MAC_ONLY(x) \
+ (((x) >> S_SCMD_MAC_ONLY) & M_SCMD_MAC_ONLY)
+#define F_SCMD_MAC_ONLY V_SCMD_MAC_ONLY(1U)
+
+/* AadIVDrop - Drop the AAD and IV fields. Useful in protocols
+ * which have complex AAD and IV formations Eg:AES-CCM
+ */
+#define S_SCMD_AADIVDROP 14
+#define M_SCMD_AADIVDROP 0x1
+#define V_SCMD_AADIVDROP(x) ((x) << S_SCMD_AADIVDROP)
+#define G_SCMD_AADIVDROP(x) \
+ (((x) >> S_SCMD_AADIVDROP) & M_SCMD_AADIVDROP)
+#define F_SCMD_AADIVDROP V_SCMD_AADIVDROP(1U)
+
+/* HdrLength - Length of all headers excluding TLS header
+ * present before start of crypto PDU/payload. */
+#define S_SCMD_HDR_LEN 0
+#define M_SCMD_HDR_LEN 0x3fff
+#define V_SCMD_HDR_LEN(x) ((x) << S_SCMD_HDR_LEN)
+#define G_SCMD_HDR_LEN(x) \
+ (((x) >> S_SCMD_HDR_LEN) & M_SCMD_HDR_LEN)
+
+struct cpl_tx_sec_pdu {
+ __be32 op_ivinsrtofst;
+ __be32 pldlen;
+ __be32 aadstart_cipherstop_hi;
+ __be32 cipherstop_lo_authinsert;
+ __be32 seqno_numivs;
+ __be32 ivgen_hdrlen;
+ __be64 scmd1;
+};
+
+#define S_CPL_TX_SEC_PDU_OPCODE 24
+#define M_CPL_TX_SEC_PDU_OPCODE 0xff
+#define V_CPL_TX_SEC_PDU_OPCODE(x) ((x) << S_CPL_TX_SEC_PDU_OPCODE)
+#define G_CPL_TX_SEC_PDU_OPCODE(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_OPCODE) & M_CPL_TX_SEC_PDU_OPCODE)
+
+/* RX Channel Id */
+#define S_CPL_TX_SEC_PDU_RXCHID 22
+#define M_CPL_TX_SEC_PDU_RXCHID 0x1
+#define V_CPL_TX_SEC_PDU_RXCHID(x) ((x) << S_CPL_TX_SEC_PDU_RXCHID)
+#define G_CPL_TX_SEC_PDU_RXCHID(x) \
+(((x) >> S_CPL_TX_SEC_PDU_RXCHID) & M_CPL_TX_SEC_PDU_RXCHID)
+#define F_CPL_TX_SEC_PDU_RXCHID V_CPL_TX_SEC_PDU_RXCHID(1U)
+
+/* Ack Follows */
+#define S_CPL_TX_SEC_PDU_ACKFOLLOWS 21
+#define M_CPL_TX_SEC_PDU_ACKFOLLOWS 0x1
+#define V_CPL_TX_SEC_PDU_ACKFOLLOWS(x) ((x) << S_CPL_TX_SEC_PDU_ACKFOLLOWS)
+#define G_CPL_TX_SEC_PDU_ACKFOLLOWS(x) \
+(((x) >> S_CPL_TX_SEC_PDU_ACKFOLLOWS) & M_CPL_TX_SEC_PDU_ACKFOLLOWS)
+#define F_CPL_TX_SEC_PDU_ACKFOLLOWS V_CPL_TX_SEC_PDU_ACKFOLLOWS(1U)
+
+/* Loopback bit in cpl_tx_sec_pdu */
+#define S_CPL_TX_SEC_PDU_ULPTXLPBK 20
+#define M_CPL_TX_SEC_PDU_ULPTXLPBK 0x1
+#define V_CPL_TX_SEC_PDU_ULPTXLPBK(x) ((x) << S_CPL_TX_SEC_PDU_ULPTXLPBK)
+#define G_CPL_TX_SEC_PDU_ULPTXLPBK(x) \
+(((x) >> S_CPL_TX_SEC_PDU_ULPTXLPBK) & M_CPL_TX_SEC_PDU_ULPTXLPBK)
+#define F_CPL_TX_SEC_PDU_ULPTXLPBK V_CPL_TX_SEC_PDU_ULPTXLPBK(1U)
+
+/* Length of cpl header encapsulated */
+#define S_CPL_TX_SEC_PDU_CPLLEN 16
+#define M_CPL_TX_SEC_PDU_CPLLEN 0xf
+#define V_CPL_TX_SEC_PDU_CPLLEN(x) ((x) << S_CPL_TX_SEC_PDU_CPLLEN)
+#define G_CPL_TX_SEC_PDU_CPLLEN(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_CPLLEN) & M_CPL_TX_SEC_PDU_CPLLEN)
+
+/* PlaceHolder */
+#define S_CPL_TX_SEC_PDU_PLACEHOLDER 10
+#define M_CPL_TX_SEC_PDU_PLACEHOLDER 0x1
+#define V_CPL_TX_SEC_PDU_PLACEHOLDER(x) ((x) << S_CPL_TX_SEC_PDU_PLACEHOLDER)
+#define G_CPL_TX_SEC_PDU_PLACEHOLDER(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_PLACEHOLDER) & \
+ M_CPL_TX_SEC_PDU_PLACEHOLDER)
+
+/* IvInsrtOffset: Insertion location for IV */
+#define S_CPL_TX_SEC_PDU_IVINSRTOFST 0
+#define M_CPL_TX_SEC_PDU_IVINSRTOFST 0x3ff
+#define V_CPL_TX_SEC_PDU_IVINSRTOFST(x) ((x) << S_CPL_TX_SEC_PDU_IVINSRTOFST)
+#define G_CPL_TX_SEC_PDU_IVINSRTOFST(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_IVINSRTOFST) & \
+ M_CPL_TX_SEC_PDU_IVINSRTOFST)
+
+/* AadStartOffset: Offset in bytes for AAD start from
+ * the first byte following
+ * the pkt headers (0-255
+ * bytes) */
+#define S_CPL_TX_SEC_PDU_AADSTART 24
+#define M_CPL_TX_SEC_PDU_AADSTART 0xff
+#define V_CPL_TX_SEC_PDU_AADSTART(x) ((x) << S_CPL_TX_SEC_PDU_AADSTART)
+#define G_CPL_TX_SEC_PDU_AADSTART(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_AADSTART) & \
+ M_CPL_TX_SEC_PDU_AADSTART)
+
+/* AadStopOffset: offset in bytes for AAD stop/end from the first byte following
+ * the pkt headers (0-511 bytes) */
+#define S_CPL_TX_SEC_PDU_AADSTOP 15
+#define M_CPL_TX_SEC_PDU_AADSTOP 0x1ff
+#define V_CPL_TX_SEC_PDU_AADSTOP(x) ((x) << S_CPL_TX_SEC_PDU_AADSTOP)
+#define G_CPL_TX_SEC_PDU_AADSTOP(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_AADSTOP) & M_CPL_TX_SEC_PDU_AADSTOP)
+
+/* CipherStartOffset: offset in bytes for encryption/decryption start from the
+ * first byte following the pkt headers (0-1023
+ * bytes) */
+#define S_CPL_TX_SEC_PDU_CIPHERSTART 5
+#define M_CPL_TX_SEC_PDU_CIPHERSTART 0x3ff
+#define V_CPL_TX_SEC_PDU_CIPHERSTART(x) ((x) << S_CPL_TX_SEC_PDU_CIPHERSTART)
+#define G_CPL_TX_SEC_PDU_CIPHERSTART(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_CIPHERSTART) & \
+ M_CPL_TX_SEC_PDU_CIPHERSTART)
+
+/* CipherStopOffset: offset in bytes for encryption/decryption end
+ * from end of the payload of this command (0-511 bytes) */
+#define S_CPL_TX_SEC_PDU_CIPHERSTOP_HI 0
+#define M_CPL_TX_SEC_PDU_CIPHERSTOP_HI 0x1f
+#define V_CPL_TX_SEC_PDU_CIPHERSTOP_HI(x) \
+ ((x) << S_CPL_TX_SEC_PDU_CIPHERSTOP_HI)
+#define G_CPL_TX_SEC_PDU_CIPHERSTOP_HI(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_CIPHERSTOP_HI) & \
+ M_CPL_TX_SEC_PDU_CIPHERSTOP_HI)
+
+#define S_CPL_TX_SEC_PDU_CIPHERSTOP_LO 28
+#define M_CPL_TX_SEC_PDU_CIPHERSTOP_LO 0xf
+#define V_CPL_TX_SEC_PDU_CIPHERSTOP_LO(x) \
+ ((x) << S_CPL_TX_SEC_PDU_CIPHERSTOP_LO)
+#define G_CPL_TX_SEC_PDU_CIPHERSTOP_LO(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_CIPHERSTOP_LO) & \
+ M_CPL_TX_SEC_PDU_CIPHERSTOP_LO)
+
+/* AuthStartOffset: offset in bytes for authentication start from
+ * the first byte following the pkt headers (0-1023)
+ * */
+#define S_CPL_TX_SEC_PDU_AUTHSTART 18
+#define M_CPL_TX_SEC_PDU_AUTHSTART 0x3ff
+#define V_CPL_TX_SEC_PDU_AUTHSTART(x) ((x) << S_CPL_TX_SEC_PDU_AUTHSTART)
+#define G_CPL_TX_SEC_PDU_AUTHSTART(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_AUTHSTART) & \
+ M_CPL_TX_SEC_PDU_AUTHSTART)
+
+/* AuthStopOffset: offset in bytes for authentication
+ * end from end of the payload of this command (0-511 Bytes) */
+#define S_CPL_TX_SEC_PDU_AUTHSTOP 9
+#define M_CPL_TX_SEC_PDU_AUTHSTOP 0x1ff
+#define V_CPL_TX_SEC_PDU_AUTHSTOP(x) ((x) << S_CPL_TX_SEC_PDU_AUTHSTOP)
+#define G_CPL_TX_SEC_PDU_AUTHSTOP(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_AUTHSTOP) & \
+ M_CPL_TX_SEC_PDU_AUTHSTOP)
+
+/* AuthInsrtOffset: offset in bytes for authentication insertion
+ * from end of the payload of this command (0-511 bytes) */
+#define S_CPL_TX_SEC_PDU_AUTHINSERT 0
+#define M_CPL_TX_SEC_PDU_AUTHINSERT 0x1ff
+#define V_CPL_TX_SEC_PDU_AUTHINSERT(x) ((x) << S_CPL_TX_SEC_PDU_AUTHINSERT)
+#define G_CPL_TX_SEC_PDU_AUTHINSERT(x) \
+ (((x) >> S_CPL_TX_SEC_PDU_AUTHINSERT) & \
+ M_CPL_TX_SEC_PDU_AUTHINSERT)
+
+struct cpl_rx_phys_dsgl {
+ __be32 op_to_tid;
+ __be32 pcirlxorder_to_noofsgentr;
+ struct rss_header rss_hdr_int;
+};
+
+#define S_CPL_RX_PHYS_DSGL_OPCODE 24
+#define M_CPL_RX_PHYS_DSGL_OPCODE 0xff
+#define V_CPL_RX_PHYS_DSGL_OPCODE(x) ((x) << S_CPL_RX_PHYS_DSGL_OPCODE)
+#define G_CPL_RX_PHYS_DSGL_OPCODE(x) \
+ (((x) >> S_CPL_RX_PHYS_DSGL_OPCODE) & M_CPL_RX_PHYS_DSGL_OPCODE)
+
+#define S_CPL_RX_PHYS_DSGL_ISRDMA 23
+#define M_CPL_RX_PHYS_DSGL_ISRDMA 0x1
+#define V_CPL_RX_PHYS_DSGL_ISRDMA(x) ((x) << S_CPL_RX_PHYS_DSGL_ISRDMA)
+#define G_CPL_RX_PHYS_DSGL_ISRDMA(x) \
+ (((x) >> S_CPL_RX_PHYS_DSGL_ISRDMA) & M_CPL_RX_PHYS_DSGL_ISRDMA)
+#define F_CPL_RX_PHYS_DSGL_ISRDMA V_CPL_RX_PHYS_DSGL_ISRDMA(1U)
+
+#define S_CPL_RX_PHYS_DSGL_RSVD1 20
+#define M_CPL_RX_PHYS_DSGL_RSVD1 0x7
+#define V_CPL_RX_PHYS_DSGL_RSVD1(x) ((x) << S_CPL_RX_PHYS_DSGL_RSVD1)
+#define G_CPL_RX_PHYS_DSGL_RSVD1(x) \
+ (((x) >> S_CPL_RX_PHYS_DSGL_RSVD1) & M_CPL_RX_PHYS_DSGL_RSVD1)
+
+#define S_CPL_RX_PHYS_DSGL_PCIRLXORDER 31
+#define M_CPL_RX_PHYS_DSGL_PCIRLXORDER 0x1
+#define V_CPL_RX_PHYS_DSGL_PCIRLXORDER(x) \
+ ((x) << S_CPL_RX_PHYS_DSGL_PCIRLXORDER)
+#define G_CPL_RX_PHYS_DSGL_PCIRLXORDER(x) \
+ (((x) >> S_CPL_RX_PHYS_DSGL_PCIRLXORDER) & \
+ M_CPL_RX_PHYS_DSGL_PCIRLXORDER)
+#define F_CPL_RX_PHYS_DSGL_PCIRLXORDER V_CPL_RX_PHYS_DSGL_PCIRLXORDER(1U)
+
+#define S_CPL_RX_PHYS_DSGL_PCINOSNOOP 30
+#define M_CPL_RX_PHYS_DSGL_PCINOSNOOP 0x1
+#define V_CPL_RX_PHYS_DSGL_PCINOSNOOP(x) \
+ ((x) << S_CPL_RX_PHYS_DSGL_PCINOSNOOP)
+#define G_CPL_RX_PHYS_DSGL_PCINOSNOOP(x) \
+ (((x) >> S_CPL_RX_PHYS_DSGL_PCINOSNOOP) & \
+ M_CPL_RX_PHYS_DSGL_PCINOSNOOP)
+#define F_CPL_RX_PHYS_DSGL_PCINOSNOOP V_CPL_RX_PHYS_DSGL_PCINOSNOOP(1U)
+
+#define S_CPL_RX_PHYS_DSGL_PCITPHNTENB 29
+#define M_CPL_RX_PHYS_DSGL_PCITPHNTENB 0x1
+#define V_CPL_RX_PHYS_DSGL_PCITPHNTENB(x) \
+ ((x) << S_CPL_RX_PHYS_DSGL_PCITPHNTENB)
+#define G_CPL_RX_PHYS_DSGL_PCITPHNTENB(x) \
+ (((x) >> S_CPL_RX_PHYS_DSGL_PCITPHNTENB) & \
+ M_CPL_RX_PHYS_DSGL_PCITPHNTENB)
+#define F_CPL_RX_PHYS_DSGL_PCITPHNTENB V_CPL_RX_PHYS_DSGL_PCITPHNTENB(1U)
+
+#define S_CPL_RX_PHYS_DSGL_PCITPHNT 27
+#define M_CPL_RX_PHYS_DSGL_PCITPHNT 0x3
+#define V_CPL_RX_PHYS_DSGL_PCITPHNT(x) ((x) << S_CPL_RX_PHYS_DSGL_PCITPHNT)
+#define G_CPL_RX_PHYS_DSGL_PCITPHNT(x) \
+ (((x) >> S_CPL_RX_PHYS_DSGL_PCITPHNT) & \
+ M_CPL_RX_PHYS_DSGL_PCITPHNT)
+
+#define S_CPL_RX_PHYS_DSGL_DCAID 16
+#define M_CPL_RX_PHYS_DSGL_DCAID 0x7ff
+#define V_CPL_RX_PHYS_DSGL_DCAID(x) ((x) << S_CPL_RX_PHYS_DSGL_DCAID)
+#define G_CPL_RX_PHYS_DSGL_DCAID(x) \
+ (((x) >> S_CPL_RX_PHYS_DSGL_DCAID) & \
+ M_CPL_RX_PHYS_DSGL_DCAID)
+
+#define S_CPL_RX_PHYS_DSGL_NOOFSGENTR 0
+#define M_CPL_RX_PHYS_DSGL_NOOFSGENTR 0xffff
+#define V_CPL_RX_PHYS_DSGL_NOOFSGENTR(x) \
+ ((x) << S_CPL_RX_PHYS_DSGL_NOOFSGENTR)
+#define G_CPL_RX_PHYS_DSGL_NOOFSGENTR(x) \
+ (((x) >> S_CPL_RX_PHYS_DSGL_NOOFSGENTR) & \
+ M_CPL_RX_PHYS_DSGL_NOOFSGENTR)
+
+/* CPL_TX_TLS_ACK */
+struct cpl_tx_tls_ack {
+ __be32 op_to_Rsvd2;
+ __be32 PldLen;
+ __be64 Rsvd3;
+};
+
+#define S_CPL_TX_TLS_ACK_OPCODE 24
+#define M_CPL_TX_TLS_ACK_OPCODE 0xff
+#define V_CPL_TX_TLS_ACK_OPCODE(x) ((x) << S_CPL_TX_TLS_ACK_OPCODE)
+#define G_CPL_TX_TLS_ACK_OPCODE(x) \
+ (((x) >> S_CPL_TX_TLS_ACK_OPCODE) & M_CPL_TX_TLS_ACK_OPCODE)
+
+#define S_CPL_TX_TLS_ACK_RSVD1 23
+#define M_CPL_TX_TLS_ACK_RSVD1 0x1
+#define V_CPL_TX_TLS_ACK_RSVD1(x) ((x) << S_CPL_TX_TLS_ACK_RSVD1)
+#define G_CPL_TX_TLS_ACK_RSVD1(x) \
+ (((x) >> S_CPL_TX_TLS_ACK_RSVD1) & M_CPL_TX_TLS_ACK_RSVD1)
+#define F_CPL_TX_TLS_ACK_RSVD1 V_CPL_TX_TLS_ACK_RSVD1(1U)
+
+#define S_CPL_TX_TLS_ACK_RXCHID 22
+#define M_CPL_TX_TLS_ACK_RXCHID 0x1
+#define V_CPL_TX_TLS_ACK_RXCHID(x) ((x) << S_CPL_TX_TLS_ACK_RXCHID)
+#define G_CPL_TX_TLS_ACK_RXCHID(x) \
+ (((x) >> S_CPL_TX_TLS_ACK_RXCHID) & M_CPL_TX_TLS_ACK_RXCHID)
+#define F_CPL_TX_TLS_ACK_RXCHID V_CPL_TX_TLS_ACK_RXCHID(1U)
+
+#define S_CPL_TX_TLS_ACK_FWMSG 21
+#define M_CPL_TX_TLS_ACK_FWMSG 0x1
+#define V_CPL_TX_TLS_ACK_FWMSG(x) ((x) << S_CPL_TX_TLS_ACK_FWMSG)
+#define G_CPL_TX_TLS_ACK_FWMSG(x) \
+ (((x) >> S_CPL_TX_TLS_ACK_FWMSG) & M_CPL_TX_TLS_ACK_FWMSG)
+#define F_CPL_TX_TLS_ACK_FWMSG V_CPL_TX_TLS_ACK_FWMSG(1U)
+
+#define S_CPL_TX_TLS_ACK_ULPTXLPBK 20
+#define M_CPL_TX_TLS_ACK_ULPTXLPBK 0x1
+#define V_CPL_TX_TLS_ACK_ULPTXLPBK(x) ((x) << S_CPL_TX_TLS_ACK_ULPTXLPBK)
+#define G_CPL_TX_TLS_ACK_ULPTXLPBK(x) \
+ (((x) >> S_CPL_TX_TLS_ACK_ULPTXLPBK) & M_CPL_TX_TLS_ACK_ULPTXLPBK)
+#define F_CPL_TX_TLS_ACK_ULPTXLPBK V_CPL_TX_TLS_ACK_ULPTXLPBK(1U)
+
+#define S_CPL_TX_TLS_ACK_CPLLEN 16
+#define M_CPL_TX_TLS_ACK_CPLLEN 0xf
+#define V_CPL_TX_TLS_ACK_CPLLEN(x) ((x) << S_CPL_TX_TLS_ACK_CPLLEN)
+#define G_CPL_TX_TLS_ACK_CPLLEN(x) \
+ (((x) >> S_CPL_TX_TLS_ACK_CPLLEN) & M_CPL_TX_TLS_ACK_CPLLEN)
+
+#define S_CPL_TX_TLS_ACK_COMPLONERR 15
+#define M_CPL_TX_TLS_ACK_COMPLONERR 0x1
+#define V_CPL_TX_TLS_ACK_COMPLONERR(x) ((x) << S_CPL_TX_TLS_ACK_COMPLONERR)
+#define G_CPL_TX_TLS_ACK_COMPLONERR(x) \
+ (((x) >> S_CPL_TX_TLS_ACK_COMPLONERR) & M_CPL_TX_TLS_ACK_COMPLONERR)
+#define F_CPL_TX_TLS_ACK_COMPLONERR V_CPL_TX_TLS_ACK_COMPLONERR(1U)
+
+#define S_CPL_TX_TLS_ACK_LCB 14
+#define M_CPL_TX_TLS_ACK_LCB 0x1
+#define V_CPL_TX_TLS_ACK_LCB(x) ((x) << S_CPL_TX_TLS_ACK_LCB)
+#define G_CPL_TX_TLS_ACK_LCB(x) \
+ (((x) >> S_CPL_TX_TLS_ACK_LCB) & M_CPL_TX_TLS_ACK_LCB)
+#define F_CPL_TX_TLS_ACK_LCB V_CPL_TX_TLS_ACK_LCB(1U)
+
+#define S_CPL_TX_TLS_ACK_PHASH 13
+#define M_CPL_TX_TLS_ACK_PHASH 0x1
+#define V_CPL_TX_TLS_ACK_PHASH(x) ((x) << S_CPL_TX_TLS_ACK_PHASH)
+#define G_CPL_TX_TLS_ACK_PHASH(x) \
+ (((x) >> S_CPL_TX_TLS_ACK_PHASH) & M_CPL_TX_TLS_ACK_PHASH)
+#define F_CPL_TX_TLS_ACK_PHASH V_CPL_TX_TLS_ACK_PHASH(1U)
+
+#define S_CPL_TX_TLS_ACK_RSVD2 0
+#define M_CPL_TX_TLS_ACK_RSVD2 0x1fff
+#define V_CPL_TX_TLS_ACK_RSVD2(x) ((x) << S_CPL_TX_TLS_ACK_RSVD2)
+#define G_CPL_TX_TLS_ACK_RSVD2(x) \
+ (((x) >> S_CPL_TX_TLS_ACK_RSVD2) & M_CPL_TX_TLS_ACK_RSVD2)
+
#endif /* T4_MSG_H */
diff --git a/sys/dev/cxgbe/firmware/t4fw-1.16.26.0.bin.uu b/sys/dev/cxgbe/firmware/t4fw-1.16.26.0.bin.uu
deleted file mode 100644
index c4d129e..0000000
--- a/sys/dev/cxgbe/firmware/t4fw-1.16.26.0.bin.uu
+++ /dev/null
@@ -1,9603 +0,0 @@
-/*-
- * Copyright (c) 2016 Chelsio Communications, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-begin-base64 644 t4fw
-AAAEKgEQGgAAAQkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAABA0EHAQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAENoZWxzaW8gRlcgUlVOTUVNIERFQlVHPTAgKEJ1aWx0IFdlZCBEZWMgMjEgMDg6
-MjI6NDggUFNUIDIwMTYgb24gdm5jNC5hc2ljZGVzaWduZXJzLmNvbTovaG9tZS9maXJtd2FyZS9j
-dnMvZnctcmVsZWFzZSksIFZlcnNpb24gVDR4eCAwMS4xMC4xYS4wMAAAAAAAAAAAAAAAAEqXR79g
-AMgA4QB78AAQAADhADC4eP///x/84UCAAAAB4QB7cAAAEAAf//2M4QGUcCAAAADhAZwE4QB5AAAC
-AEDhAHmAAAYAQAACAAoABgAK4QB5BAAMAACAAAEC4QB7POEAe0ThAHvk4gAAAAABAADhAHuQIAAA
-AAAAgADhAHsAAABAAeEAe5wAAEAAREREQuAAAADjAARzREREQOMACAAgAAJcAAAAAB//kuAAAAAA
-H/+S5AAAAAAf/5LoAAAAAB//kuwf/8AAAAAAAAAAAADAABL/zRP/zZMgEv/NE//NhCAEMwGTIBH/
-zBL/zJIQEf/MEv/MkhAR/8wB9DER/8siCv+SEADkMQAFMQECABL/yALnMQIWABH/x4EQAQFfwCEC
-EQHJERH/xBL/xJIQEf/EEv/EkhBgAA8R/78S/8OSEBH/vxL/wpIQgRAR/8HAIJIREv/AkhLAIJIT
-Ev+/khCCEALyUGUv9xH/vccvkhAR/7ySEBL/vBP/vJMgwDKTIRP/u5MigiIS/7oT/7qTICMiIRT/
-uQQzAck4E/+4gzADgxQIMxEU/7akM5MhE/+qkyJgAAjCMJMhE/+nkyIS/7GQIJAhkCKQI5AkkCWQ
-JpAnkCiQKZAqkCuQLJAtkC6QLyAmECAmEYIiEv+kwDAtNzAtNzQtNzgtNzwjPQFyM+0AAgAS/6HA
-MC83AC83EC83IC83MCM9AXIz7QACABL/l8AwKDcwKDc0KDc4KDc8Iz0BcjPtEv+VwDAnNwAnNxAn
-NyAnNzAjPQFyM+0S/5AV/5AW/5HAMNcgBWYBYAAZAAAAAAAAAAQ2BQACANMP0w8FMwxuOxQHRxQH
-BEN2MeYENgUFMwxvO+0AAgAS/4MV/4EjCgACJwIHBEMEPgUFMwwHRxRvO/ADAgAS/33JLoMghCGF
-IrwidDsOhlC0VZYwtDN0M/Rj/+YAZT/iZV/fEv9xwDIDLgUDAgAS/2jAMCg3QCg3RCg3SCg3TCM9
-AXIz7QACABL/ay0nAMARAUkxAEgxAQIAwAAU/2gE0jEV/2eUUBT/ZwTTMRX/ZpRQFP9mBNQxFf9m
-lFAU/2UE1TEV/2WUUBD/ZQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/AAA
-H/wAAOMACfgf/AAAH/wAAOMACfgf/AAAH/wAAOMACfgf/4AAH/+KUOMACfgf/4pQH/+KUOMAFEgf
-/4pQH/+KUOMAFEgf/4pQH/+L8OMAFEgf/4vwH/+S3OMAFegf/5LgH/+0AOMAHNgf/7QAH/+0AOMA
-Pfgf/8AAH//+eeMAPfggAAAAIAABauMAfHQgAAF4IAABfOMAfeAgAAF8IAABheMAfeQgAAGYIAAB
-nOMAffAgAAGcIAABpeMAffQgAAG4IAABvOMAfgAgAAG8IAABxeMAfgQgAAHYIAAB2OMAfhAgAAHc
-IAAB4uMAfhAgAAH4IAAB+OMAfhggAAH8IAAB/OMAfhggAAIYIAACGOMAfhggAAIcIAACHOMAfhgg
-AAI4IAACOOMAfhggAAI8IAACPOMAfhggAAJYIAACWOMAfhggAAJcIAACYuMAfhggAAJ4IAACeOMA
-fiAgAAJ8IAACguMAfiAgAAKYIAHz/uMAfiggAwAAIAMVlOMCb5AgAxWUIAMVlOMChSQgAxWYIAbc
-BOMChSggBtwQIAbfgOMGS6AgCAAAIAgOYOMGTxAgCA5gIAkpBuMGXXAgCSkQIAkp3OMHeCAgCwAA
-IAsAAOMHeOwgCwAAIAsAAOMHeOwgCwAAIAuf+OMHeOwAAAAAAAAAAAAAAAAgABOGIAATeCAAF2Ig
-ABN4IAAW3SAAE3ggABQqIAAWdSAAFfogABN4IAAVqSAAFWIgABT1IAATZSAAFJ8gABN4IAATeCAA
-E3ggABRKAAAAAP///////w/8///w////APwgAKvLIACtQiAArXIgAK04IACs+SAArO8gAKy5IACs
-ryAArJ4gAKxKIACtcCAArEAgAKwVIACtciAArAsgAKv5ARAYAQAEAAAAAAAAAAAAAAAAAAoAAAAK
-AAAAFAAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEA
-AQACAAMABAAFAAYABwAIAAkACgAOABEAFQAZAB4AIwAtADwAUABkAMgBLAGQAfQAAAAAAAAAAAAA
-AAAAAAAAAAAAAQABAAIAAgADAAMAAwADAAQABAAEAAQABAAFAAUABQAFAAUABQAGAAYABwAHAAAA
-AgAAAAYAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKA
-AAADgAAABQEAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAA
-AcAAAAKAAAADgAD/AAECAgAAABAgQAAAAAAABAACAAEAAIAAQAAgABAACCBAgAAAAAAAAAAAAAAA
-AAAgCKlLIAipSyAIqQMgCKjKIAiokCAIqEsgCKhLIAiqQCAIqkAgCKhLIAiqQCAIqkAgCKhLIAio
-SyAIp/cgCKpAIAiqQCAIqkAgCKpAIAiqQCAIqkAgCKpAIAiqQCAIqkAgCKpAIAiqQCAIqkAgCKpA
-IAiqQCAIqkAgCKpAIAioJyADCtAAAAABIAMK2AAAAAIgAw8IAAAA/yADCDAAAAD/IAMKvAAAAAIg
-AwrAAAAAAyADCsgAAAAHAAAAAAAAAAAgAwqgAAAAASADCqQAAAACIAMKrAAAAAQgAw8IAAAA/yAD
-CDAAAAD/AAAAAAAAAAAgAwgwAAAAACADDwgAAAAAIAMJbAAAAAEgAwl0AAAABCADCXwAAAAIIAMJ
-iAAAACAgAwmYAAAAQCADCaAAAACAIAMJqAAAAQAgAwmwAAACACADCcQAAAQAIAMJ2AAACAAgAwnw
-AAAQACADCgQAACAAIAMKFAAAQAAgAwogAACAACADCjQAAQAAIAMKRAACAAAgAwpUABAAACADCmwA
-IAAAIAMKhABAAAAgAwqMAIAAACADCVgAAAAQIAMJYAAAABEgAwlAAAAAACADCUQAAAABIAMJSAAA
-AAIgAwlQAAAAAwAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAIAMIwAAAAQAgAwjMAAAA
-gCADCNwAAABAIAMI7AAAACAgAwj8AAAAECADCQwAAAAIIAMJGAAAAAQgAwkkAAAAAiADCTAAAAAB
-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
-MAAAAB//rpAAAB1AAAD/gCAG3BAgC2Aw4QAuAB//roQf/6pMH/+vQB//qrAAABeA4AAAoOEAMLgA
-AIAA4QBgEAAAQADhAhAA4QIwAOECUADhAnAA4QAQCB/84UDhAHtwH/+zwB//s7gf/OAIH/+zvB//
-s9gf/7PQH/+z1B//s/Af/7PoH/+z7CAG38Af/7GQH/+sJB/83gAf/600H/+tMB//rdAf/52UH/+w
-3B//qjggCwBgH/+vXAAA/4AAAB4gH/+TMB//r2gf/69kH/+vyCALBnAEAAAIBQAAAIP/AACBAAAA
-ABAAACoAAAAgAAmsIAMMGB//iZAf/4VAH/+HRB//sKBnRSMB782riZi63P4QMlR2H/+AAAAAPygg
-Aw7cz////yALB2AQAAAAP////wIAAABAAAAA//9//yALCIAf/7CQIAAjuCALCLAgCwkgCAAAAAD/
-//8gCwmQ9////yALC4AgACBg//7//yALFmCAAAAAIAMM8AwAAAAAAEAAAAD//wAAgAD/+///D/aA
-ACALGdAgCxoAAAEAAAAEAAAgC3RAH/+t4CAAMnggADRYIAAwECALGpAgAC1AIAsbICALG3AgCxwA
-BAEACOAAAAAgCxyAIAscQFMAAAAgCxygUgAAACALHOBRAAAAIAHpLB//qqQgCx9wIAsf0CALH6Ag
-CyJQH/+uDCALIqAf/52MH/+tsCALJJAUAAAAgAAAAngAAACAAAAGgACwAAAACgAA4zCS///wAIAA
-sQDhAZoAAAIAACALJFAf/5sEAAB+QB//reQA/8AAH/+t8B//k7QBAAAAKAAAACYAAAAgCyTAH/+T
-8AYAAAAFgAAAH/+p/CsAAAAgAE04IAt28B//q5gDgAAAB////zUAAAADAAAAAD///4BAAAAID///
-H////yAAAAAAAMAAH/+tyD0AAAAf/5l8BwAAAIEEAQCBBAAAH/+sFAAAOpjDAAAAAAAP/wBDAAAA
-AAgABAAAAB//q8wgC3dQH/+zNB//sbAf/5jcAAYAAOEAegAf/5lMH/+t1CCgAAAf/6wsH/+dnB//
-nYggC3eAAAMHgCALd/Af/5toACAAAABAAAAAAAkAAAAwAv/8+H/AAAAAo/+7AKP/ugANAAAA4AMA
-AIP/tgAP////D//4AP8AAAAgC3gwIAsmICALJlAgC3jAAA8AAAAKAAD//wAPA//AAIP/wAAgC3lA
-IAt5sB//rrAf/7Ig/2DwAB//sgAf/5LwBIAACB//gFAARAAA/x///wDAAAABgMIAAACBAPAAAACB
-gAAA/3///x/84HQf/6jU/7//////AAAAgAAAAACG3R//ntwf/OIAH/+T4O4AAAAAAAm8H/ziDA8A
-AAAgCyaQH/+uUAAACLwf/69UH/+fWB//mXgf/4BgIAbdsAAAMAAAACcQH//cgCALgbAgC4GAH/+u
-tB//mXAAAP/+H/+dfN6tvu8gAwfgNAAAAD8AAAAf/69wAACJBgCZAAAf/7D4EAAHAgHAgACZAAAA
-H/+v4ACIAAiCgAABH/+xSAMVAAADEQAAAA8D/yALKwAf/620IAuCACALK2AgCyuwIAssQCALKzAg
-AOT8IAssECALLeAgCy4QIAsuYCALLsAgAOqgKQAAAAAAiRQgAPEEIAuCcCALgtAgAPr4H/+vAPDw
-8PD/AP8AqqqqqszMzMwf/7JAAAAfEB//sEgAA///AAAn/yABA3ggC4NAAA9CQCADW7Af/66IAAkA
-AAAASACCAAAAIAEneCALg7Af/640OwAACA4AAADQAAAAH/+AoAAAH8oAAAhQAAAfQCALOBAgCzgw
-IAs4UAAJAAgf/7FEMAAAAP//9/8gCzqgIANh9AAAg/8gBuL4FaAAACAG4/Af/7EIH/+t3AAACAYA
-AIjMfwAAAAAAD/4gC4hwIAuJAAAA4AAgC4ZQIAuI0B//mxwABAP/CgAAACAG4Dgf/62gIAbggB//
-njCD/7cAg/+2ICALOtDhAAAAMwAAAB//sRAf/7IEA//gAH///wAAP/aQAAAf2AP/8AAgC2WwIAtl
-cCALZdAf/7MQIAs7UBoAAAAgCzugIAF1mB//sQwAD///H/+vMB//rewgC4mQH/+dvB//qlAf/6xE
-IABqiCAG3TggAAWIH/+pMB//mpgf/5kYH/+qqCALPrDABAAAH/+sOB//rFAf/7HwH/+xZCALiqAg
-Cz7wIAMNoCAAa2jgAQAAH/+e4CALi/AgCz8wIACoGB//ntggAKUYIAuLcCALi8Af/5s8IAtBQOD/
-/gAgC2hQH/+e5CALTOAf/63oH/+VbCALVwAgC1eQH/+xtCALWkAgC1pwSAAAACABvTAf/6uoIAG/
-NB//mcwf/6pMH/+pRB//rDQf/6lsAAAYMAAAFjwf/6x0IAbftB//qfQf/5lQ4QAuAB//rIDhAF4A
-4QIOAP//v//hAA4A4QGOAP//vv8f/52EH/+qgCABwqAgAc7I4AUAAAP/AAAf/6m0IAMM+B/8v/88
-AAAAAAX//4MAAAAf/6lMIAHkwCALY/Af/67EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGAAAAAAAAA////
-/////////////////x///IAf//yAH//8SB///Egf//xIH//8SB//9dAf//j4H//3VB//91Qf//dU
-IAawwAAAAAAAAAAAAAAAAAAAAAAgBrQIIAa0CAAAAAAAAAAAAAAAAAAAAAAgBrDAIAawwB//+ewf
-//nsH//57B//+ewf//nsH//57AAAAAAgAcO4AAAAAAAAAAAAAAAAAAAAAAIBAAAAAAAAAAAAAAAA
-AAAEAAAAAAAAAIGAAAAAAAAQBQAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABgFAAAAgAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-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
-DW8DD+4BDmYCloD4QAgVr/6GACwlBf/+nA2gCQUAAAABEBgBAAEAAAAAAAAAAAAAIANUuyADVR0g
-A1SoIANVHSADVKggA1UdIANUvyADVL8gA1UFIANU7SADVNYAAAAAIANd3yADXd8gA1v1IANd3yAD
-W/UgA128IANdlSADW/UgA1zJIANb9SADW/UgA1zAIANb9SADXd8gA1v1IANb9SADXd8gA1v+AAAA
-AAAAAAADAQACAAAAAAAAAAAAAAAAIAS00CAEtnQgBLgBIAS00CAEt/kgBLfiIAS00CAEtNAgBLTQ
-IAS00CAEtNAgBLTQIAS00CAEtNAgBLTQIAS00CAEt9IgBLfCIAS00CAEtNAgBLTQIAS00CAEtNAg
-BLTQIAS00CAEtNAgBLTQIAS00CAEtNAgBLTQIAS00CAEtNAgBLZeIAS00CAEtlggBLZYIAS00CAE
-tlggBLZYIAS3pSAEtlgAAAAAAAAAAAAAAAAgBNuuIATbriAE2mIgBNuuIATXHSAE26QgBNuAIATX
-HSAE1x0gBNcdIATXHSAE1x0gBNpGIATbriAE1x0gBNpGIATbrgAAAAAAAAAAAAAAACAE7DMgBOq8
-IATuoyAE7mMgBO4rIATt7SAE7csgBOsQIATtpyAE7WsgBO0TIATsvSAE7HMgBOxLARAYAQACAAAB
-EBgBAAIAAAAAAAAAAAAAIAWZVyAFlOwgBZkrIAWY/yAFmNIgBZi9IAWVEyAFlSogBZikIAWVXyAF
-lUsgBZUTIAWVXyAFlRMgBZUTIAWVEyAFmVcAAAAAAAAAAAAAAAAAAAAAIAXo4CAF4wAgBeKsIAXg
-YCAF3MAAAAAAAAAAACAF4ukgBeLlIAXi5SAF4uUgBeLpIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLl
-IAXi5SAF4ukgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUg
-BeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF
-4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi
-5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4ukgBeLlIAXi5SAF4uUgBeLpIAXi5SAF4uUgBeLl
-IAXi6SAF4uUgBeLlIAXi5SAF4ukgBeLlIAXi5SAF4uUgBeLpIAXi5SAF4uUgBeLlIAXi6SAF4uUg
-BeLlIAXi5SAF4ukgBeLlIAXi5SAF4uUgBeLpIAXi5SAF4uUgBeLlIAXi6SAF4uUgBeLlIAXi5SAF
-4ukgBeLlIAXi5SAF4uUgBeLpIAXi5SAF4uUgBeLlIAXi6SAF4uUgBeLlIAXi5SAF4ukgBeLlIAXi
-5SAF4uUgBeLpIAXi5SAF4uUgBeLlIAXi6SAF4uUgBeLlIAXi5SAF4ukgBeLlIAXi5SAF4uUgBeLl
-IAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUg
-BeLlIAXi6SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi6SAF
-4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi
-5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi6SAF4uUgBeLlIAXi5SAF4ukgBeLl
-IAXi5SAF4uUgBeLpIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUg
-BeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF
-4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi
-5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLlIAXi5SAF4uUgBeLl
-IAXi5SAF4ukAAAAAAAAAAAAAAAAgBeMzIAXkvSAF5n8gBeZxIAXmXCAF5k4gBeYzIAXmJSAF5gog
-BeX9IAXl6iAF5d0gBeXKIAXlvSAF5aogBeMuIAXlliAF5YkgBeV2IAXlaCAF5VMgBeVKIAXlOyAF
-5UogBeU7IAXlLSAF5RggBeMuIAXjLiAF4y4gBeMuIAXlCyAF40wgBeMuIAXjLiAF4y4gBeTuIAXk
-1SAF5MsgBeSsIAXjLiAF5JkgBeR/IAXkbCAF5FIgBeQ/IAXkJyAF5BQgBeQBIAXjoCAF4y4gBeMu
-IAXjLiAF4y4gBeMuIAXjLiAF42kAAAAAAAAAAAAAAAAgBeksIAXpNiAF6sogBeqfIAXqmCAF6pEg
-BeqKIAXqgyAF6nwgBep1IAXqbiAF6mQgBepaIAXqRCAF6h0gBen1IAXp7CAF6dEgBenHIAXpuSAF
-6akgBemiIAXpjCAF6YUgBekeIAXpXiAF6VQgBelKIAXpQwAAAAAAAAAAAAAAACAGfaAgBnr0IAZ5
-iCAGdyQgBnTAIAZv4CAGcoAgBnMwIAZufCAGdYwAAAAAAAAAACUoAw8IEqWog46TkgAAAABSVgAA
-EAAAAGNvbmZpZ3VyYXRpb24gZmlsZSBwYXJzZXIgZm91bmQgYWRkaXRpb25hbCBjb25maWd1cmF0
-aW9uIGFmdGVyIFtmaW5pXQoAADAAAABmY29lAAAAAHZuaWNfaWQAdmxhbgAAAAB0b3MAZXRoZXJ0
-eXBlAAAAbWFjbWF0Y2gAAAAAbXBzaGl0dHlwZQAAZnJhZ21lbnRhdGlvbgAAAGJhc2ljdmlydHVh
-bAAAAABnbGJfa2V5AGdsYnZmX2tleQAAAHBmdmZfa2V5AAAAAGlkeHZmX2tleQAAAHN5bm1hcGVu
-AAAAAHN5bjR0dXBlbmlwdjYAAABzeW4ydHVwZW5pcHY2AAAAc3luNHR1cGVuaXB2NAAAAHN5bjJ0
-dXBlbmlwdjQAAABvZmRtYXBlbgAAAAB0bmxtYXBlbgAAAAB0bmxhbGxsa3AAAABoYXNodG9lcGxp
-dHoAAAAAbGFuAHdhbgBjbHVzdGVyAG1hbnVhbAAAdHBfcGlvAAB0cF90bV9waW8AAABuaWNfdm0A
-AG5pY191bQAAbmljX3VtX2lzZ2wAbmljX2hhc2hmaWx0ZXIAAG9mbGQAAAAAcmRkcAAAAAByZG1h
-YwAAAGlzY3NpX2luaXRpYXRvcl9wZHUAaXNjc2lfdGFyZ2V0X3BkdQAAAABpc2NzaV9pbml0aWF0
-b3JfZm9mbGQAAABpc2NzaV90YXJnZXRfZm9mbGQAAGZjb2VfaW5pdGlhdG9yAABmY29lX3Rhcmdl
-dABwb2Zjb2VfaW5pdGlhdG9yAAAAAHBvZmNvZV90YXJnZXQAAABpc2NzaV90MTBkaWYAAAAAaXNj
-c2lfaW5pdGlhdG9yX2NtZG9mbGQAaXNjc2lfdGFyZ2V0X2NtZG9mbGQAAAAAdGxza2V5cwBjcnlw
-dG9fbG9va2FzaWRlAAAAAHBwcABkY2J4AAAAAGIyYgBzb2NrZXRudW0AAABjZWUAaWVlZQAAAABh
-dXRvAAAAAGFuX2RpcwAAcGRsaXRlX2RpcwAAIAMVNAAEAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAA
-AAAgBm5AAAAAACAGbZggBmsoIAZqACAGSeggBe+YIAXcGCAF2wAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAgBE7cIARbkCAEW5AgBFuQIARriCAEgeggBJCMIASaJCAES9ggBElIIAQ/pCAEs6AgBD1U
-IAQ6GCAF2tQgBdmsIAXS8CAEW5AgBdIYIAXQvCAFz/AgBrc4IAO20CAEDVwgBof8AAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgA1LUIAM8MCADTJQgA0oAIANIhAAAAAAgA0YsIANSDAAA
-AAAgBDFwAAAAAAAAAAAAAAAAAAAAAAAAAAAgBqRsIAajfCAGvuwgBqNsIAajqCAGooQgBqRUIAai
-GCAGvtwgBqNY/xgwYGAAAAAAAQIDAAAAAAAAAAAAAAAAIAZ+SCAETTggAGXkAAAAAAAAAIEAAAAA
-AAAAAAAAAAAgBCg8IAQpyCAEKWQgBCncIAQoWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg
-BCjsAAAAAAAAAAAAAAAAMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRgAAAAAAAAAAAABBQkNERUZHSElK
-S0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAAAA
-AAAAAAAAAAAAAAAAACAAIowAAQAAIAAibAAFAAEgACJQAAMABSAAIjAABwAAY4JTYwAAAAD/////
-//8AAAAAAAgAAAAFAAAABwAAAAAAAACIAAAAhQAAAIcAAAAAAAAAQAAAAQAAAAKAAAAAAAAEBAgA
-BAQIAAQECAAAAAAAAAAAAAAAgAAAAgAAAAKAAAdDAAAAAAAAAAAAAAAAAP//////////////////
-//8AIQAJAIEAQQAhAAkAIQAJAIEAQQCBAEEAgQBBAIEAQQAhAAkAgQBBACEACQAhABEAgQBBAIEA
-QQAhAAkAgQBBACEACQAhAAkBAQBBAIEAIQCBACEAEBBhAQEAgQEBAIEDAgEABAAAAAAAAAAAAAAA
-AAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAAAAAAAAAgAwgwAAAAACADDwgAAAAAIAMINAAAAAEg
-Aw90AAAAAiADCDwAAAAEIAMIRAAAAAggAwhMAAAAECADD3wAAAAgIAMIUAAAAEAgAwhcAAAAgCAD
-CGgAAAEAIAMIdAAAAgAAAAAFAAAAAwAAAAEAAAACIAaBtCAGgWwgBoBcIAZ/FCAGftQgBn6oIAZ+
-/AAAAAAAAAIAAAAEAAAACABZZXMAMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6
-AAAAAG5vbmUAAAAAYWxsACoAAABkaXNhYmxlZAAAAABlbmFibGVkADB4AABOQQAAVjAAAFYxAABW
-MgAAVjMAAFY0AABWNQAAVjYAAFY3AABWOAAAVjkAAFZBAABWQgAAVkMAAFZEAABWRQAAVkYAAHBv
-cnQAAAAAcHJvdG9jb2wAAAAAZ2xvYmFsAABmdW5jdGlvbgAAAABmaW5pAAAAAHJlZwBmaWx0ZXJN
-b2RlAABmaWx0ZXJNYXNrAAByc3NfZ2xiX2NvbmZpZ19tb2RlAHJzc19rZXltb2RlAHJzc19nbGJf
-Y29uZmlnX29wdGlvbnMAAHNnZV90aW1lcl92YWx1ZQB0cF9wbXJ4AHRwX3BtcnhfcGFnZXNpemUA
-AAAAdHBfcG1yeF9mbGFncwAAAHRwX25yeGNoAAAAAHRwX3BtdHgAdHBfcG10eF9wYWdlc2l6ZQAA
-AAB0cF9udHhjaAAAAAB0cF9tdHVzAHRwX3RjcHR1bmluZwAAAAB0cF90aW1lcnJlcwB0cF90aW1l
-cnZhbHMAAAAAdHBfYmFja29mZnZhbHMAAHNjaGVkX2lvcXR4X2JwX3ByaW9yaXR5AG52ZgB3eF9j
-YXBzAHJfY2FwcwAAbmlxZmxpbnQAAAAAbmVxAG5ldGhjdHJsAAAAAG52aQByc3NudmkAAHJzc25z
-ZWNyZXQAAG5leGFjdGYAbnJhd2YAAABjbWFzawAAAHBtYXNrAAAAbmV0aG9mbGQAAAAAbnJvdXRl
-AABuY2xpcAAAAG5maWx0ZXIAbnNlcnZlcgBuaGFzaAAAAHRwX2wydAAAdHBfZGRwAAB0cF9kZHBf
-aXNjc2kAAAAAdHBfc3RhZwB0cF9wYmwAAHRwX3JxAAAAaXNjc2lfbnRhc2sAaXNjc2lfbnNlc3MA
-aXNjc2lfbmNvbm5fcGVyX3Nlc3Npb24AaXNjc2lfbmluaXRpYXRvcl9pbnN0YW5jZQAAAGlzY3Np
-X21heF9zZ2UAAABwcG1fbWF4X3pvbmVzAAAAcHBtX3pvbmVfcmFuZ2UwAHBwbV96b25lX3Jhbmdl
-MQBwcG1fem9uZV9yYW5nZTIAcHBtX3pvbmVfcmFuZ2UzAGZjb2VfbmZjZgAAAGZjb2VfbnZucAAA
-AGZjb2VfbnNzbgAAAGZjb2VfbmZjYgAAAGRjYgBkY2JfYXBwX3RsdgBkY2JfZGNieF9wcm90b2Nv
-bAAAAGJnX21lbQAAbHBia19tZW0AAAAAaHdtAGx3bQBkd20AZGVib3VuY2V0aW1lAAAAAGFuX2Fl
-Y190aW1lAHZlcnNpb24AY2hlY2tzdW0AAAAAU2Vzc2lvblR5cGUAT0ZNYXJrZXIAAAAASUZNYXJr
-ZXIAAAAARGF0YURpZ2VzdAAASGVhZGVyRGlnZXN0AAAAAEVycm9yUmVjb3ZlcnlMZXZlbAAASW1t
-ZWRpYXRlRGF0YQAAAERhdGFQRFVJbk9yZGVyAABEYXRhU2VxdWVuY2VJbk9yZGVyAEluaXRpYWxS
-MlQAAE1heENvbm5lY3Rpb25zAABNYXhSZWN2RGF0YVNlZ21lbnRMZW5ndGgAAAAASW5pdGlhdG9y
-TmFtZQAAAEluaXRpYXRvckFsaWFzAABEZWZhdWx0VGltZTJXYWl0AAAAAERlZmF1bHRUaW1lMlJl
-dGFpbgAATWF4QnVyc3RMZW5ndGgAAEZpcnN0QnVyc3RMZW5ndGgAAAAATWF4T3V0c3RhbmRpbmdS
-MlQAAABUYXJnZXROYW1lAABUYXJnZXRBbGlhcwBUYXJnZXRBZGRyZXNzAAAAVGFyZ2V0UG9ydGFs
-R3JvdXBUYWcAAAAAQXV0aE1ldGhvZAAAU2VuZFRhcmdldHM9QWxsAENIQVBfQQAAQ0hBUF9JAABD
-SEFQX0MAAENIQVBfTgAAQ0hBUF9SAABEaXNjb3ZlcnkAAABOb3JtYWwAAE5vbmUAAAAAQ1JDMzJD
-AABDUkMzMkMsTm9uZQBOb25lLENSQzMyQwBDSEFQAAAAAENIQVAsTm9uZQAAAE5vbmUsQ0hBUAAA
-AE5vdFVuZGVyc3Rvb2QAAABJcnJlbGV2YW50AABSZWplY3QAAE5vAAA1AAAAQ0hOZXQgMS4wMAAA
-AAAADAAAAAABAAF8AAwBAAAAABAAAAAUIAbXYAAAAxUOQAAAH/wAAB/8AAAf/7QAH/+0ACAG34Ag
-BuQwIAkp4CAJKeAgCgAAIAqAACAKgAAgCuaAAAAAAB//rgwgCwAAIAsAMB//sRQf/5MwAA///x//
-rCQf/N4AH/+wkAQAAAiBAAAAGgAAAB//sNwgCwCAIAbfwIP/twCAAAAAAAD//4P/tiAgC2YQH/+u
-iB//sPgf/60wH/+t8B//sKAwAAAQIAtmUCALZrAf/7J0H/+seB//lYThAZYAIAbj8CAG4fQgAwfg
-F5AAABSwAAAAAGAAgAAABCAG4/oAAB/KAACD/xWgAAAgAwAAFqAAAAhQAQAgoAAAP/AAACOgAAAD
-/wAfAMAABB//snggBrJQKgAAACADQeQgC2bgIAtnICAGshTerb7/GsAAACAG4vgAAP/qIAbkAAAA
-CBQAAIgAAACAAB//rdwf/65gAAAnEAAehIAAAEAAIANbsB//r1QAEAAAH/+sUB//r1ggAwAQIAtn
-4CALZ7ABAAAAKAAAAOEAAAA4AAAA/z///zAAAHQf/4VAIAMAQCALANAwAAAIMAAADDQAAAjQAAAA
-DgAAAAAAiRQ7AAAIIAbiCDSQAAAgBuHABV1KgCADYfQAGAAA/wf//wA4AAAAMAAAIAtoAAAACADh
-AY4AAAGRDCALaQAgC2iwIAtpMP//8/8gC2jgIAsCcAAAQA4AAEAaIAsCoAAAEAAAAP/pAAD/4AAA
-UAAAAP/4AABADQAA//cAAA//AAAPQgAA//UAACBAAAAgAAAAxBAAAMABAADIICALAwAgCwMgAADE
-AAAAyAAAAMQwAADEMQACEAjg//4AIAsDQP//9/8AAOgAIAsDYAAAyBAAAMRFAAAQAQAAIHwAADIA
-AADMAAACSe8AAknw4QBeAOEALgAgC2yAIAts4AgAAAAf/OB0IAOQGB//rewgCwQwIAsFYCALBGAP
-PAAAIAsE8CAD+pggA/x4IAsFwA8AAAAgCwYgH/+HEB//iAAgCwaQIAsG0CALBxAgAwzAIAMMQCAL
-bnAgAwwgIAtuoCALbVAgC22wIAtuEB//rkQf/5O04AAAAAAPQkAgACKsAAIAAAD///8gC27AIAsH
-oCALCAAgCwhQIAsH0CAD2FQACAAAIAPdOB//reAgCwngIAbdsCAAHtQAD/wAH/+ZeB//msAAADAA
-IAsKICALCrAgCwtQVQAAABAAAAAgC29gIAMNOAAACAYgCwvgAAAP/iADuMgCAAAAIAO9nB//rrQg
-CwwwH/+uMB//qpwgCwzwIAtvgCALDJAgA6mwIAOzhCALDVAgCw3AIAsOECALcBBAAAAAAADwACAL
-DlAgCw7AIAsPICALD5AgBuLAIAsQECALEFDv////9////yALELAgCxEA/f///yALE9AgCxFgIAsR
-0CALEjAgA8AUIAsSkCALEvAgCxNAIAsTgCALcFAgAw0wIAMM8AwAAAAf/4dwH/+IcCADDuAf/4dQ
-P////8////8gCxQwH/+ILB//reQgCxRwIAsUsCALcHAgCxUwf///q///LlwAANGk///QTQAAnE4g
-CxWwIAsVcCALFPAf/4dsAABIACADDPQf/4doH/+H0CALFfAgA+DkIAsWoB//rfwgC3EAIAtwkCAL
-cOAgA+PEA//QAABAAAAAUAf/AAEAACALchAf/5pAIAtxgCADqYggC3JAIAsXMP/9//8gCxdwH/+u
-OCALGIAgCxfAAExLQCAD4KAgCxgQIAsYwAQBAAgAIAAAIAPClCALGPAgCxlAIAsZoCALbyAgA/NU
-IAtu8CALHSAAAI4CIAsdkCALHeAgCx4wIAsdUCALHoADgAAAIAse0CALHyD/9///IAsgECAD7mAg
-CyDQIAshkCALctAf/6xgIAtyoCALcwAgA/GYIAtzICAD8mQgA+x4IAPhACALc1AgC3OQIAtz0CAL
-IdAgCyIQAAAXcCADCoQgC3UwIAt04CALdMAgBA9UIAt0kCALdRAgAwoEIAMKZCALIvDhAhYA4QIa
-AP//yP///xf///8f/wACGRwAAhl8AAIZnAACGfwf/634///x/wACGQDAAAAAAAIaJAACGqQAAhoo
-AAIaqAACGjQAAhq0AAIaMAACGrDhAg4AAAAThyADC1QgAwtEBAAAAeECEgAAACHBIAsjQAACEOD/
-/7//AAIcIOEAegAgCyNwH/+sgCALI5AgCyPAIAsj4B//q0wgCyQQH/+qaOEAfgAf/6yQAADz/wQA
-AAAUAAAAIAQvIB//lTjgAAkkAJwAACALJRAgCyXwIAslwCALdrAgCyWQH/+eTCALJVAAAgTA4QIC
-AOEAjgAf/5VsAACWgAAAlkAgBt+AAACWoAAAlmDhAgAs//8AAAAB4ADhAZIAAAHjAAYAAAAgBEF8
-+AAAAAH//+cAAcAAIAAAgAQAEAAf/6p44QGaAOEBmkDhAZo84QGaOOEBmjThAZowH/+u4CADCgwg
-AwocIAMKFCADCiSAAAADgAAAAv/8///hAQ4AH/+t9H////8f/5UcH/+VnCAETtwgC3ogIAt6YCAL
-epAgC3rQIAt7ACALe0AgC3twIAt7sA////D/8AAAIAt8EB//mpQf/7GQH/+pdCAEW5AgC30QIAt9
-QCALfLAgC3xQH/+aPB//nFQAAP+AH/+TsCALJtAgCycAAAQAAP/7///hAeLAH/+q+OEB/gCQAADw
-/P+AwAIAACD+/4DAIAsnUCALJ5AAAPgAAAIBCAACAQyP////H/+shOEBmAAgCyfgIAsoMCALKGAg
-Cyig4QDeAAACAwgAAgIA///wAOEA7gD//3//AAD8AB//rhQAAOAAAAAMAAACAwQAAREcAAERGCAL
-fhAAEAgAgAAIAAACAQT//8AAAAD//gAAJYAAAgMAH/+sfOD/4sAgC31wH/+rWCALfmAgC36QIAt+
-sAAA//0gC35AIAMAkAAA//MgC37QIAt+8AAAKjAgC38QAAD/jwAAUrUAAEgKAACPggAAj4YAADgA
-AACPigAA4z8AAIOuAAD/8SALKPD//8+/AAAQQCALfzAgC39gAAASACALKSAAAhkEIAMNgB//rgAg
-CylAIAMAoCALKaAgCylwAIAAAB//nkggC3+w///2JCALgEAAAhYIfz///wAA//sAAP7/AAD/wAAA
-/z8AAPn/IAt/4CALgJAgC4EQIAuAwCALKlAgCyoQIAsp4CALKnAgCyrA7gAAAAHAgAAQAAUNCQAA
-AB//r+AgAwFQAACDACALLYAAAIIAIAssoCALLPAgCy0wEAAHAgAAwAAgC3WQIAt1UAAADLwAAIkG
-IAsvICALZ2AiIiIiH/+ZvCADAaAgCy+AIAsvUCALMnAgCzIwIAsx8CALMbAgCzFwIAsxMCALMOAg
-CzCgIAswUCALMAAgCy/AIAuEICALhFAgC4SAIAuEwCALhQAgC4UwIAszoCALM1AgCzKwIAsy8AAA
-gMIAABshIAsz0CALhWAgC4WgIAsz8CAG37AA/8AAEgAAACAFCYAgCzSgIAs0YB//riQgCzVAIAs1
-gCALNOAgCzXgIAuFwCALNwAgAwywIAs2MCALNyAgCzaQIAUR/CALhqAAAB9AAAAQNv//7/8f/7J8
-H/+xCAAACFAgCzdgIAs3sCALN5AA///8MgAAAB//svogAwHYM5AAACAG4fggC4cAIAuHYCALh0Ag
-C4egIAs30CADbLwgAwHgIAs4gAAAgAUAAIAHIAs4sIGAAADerb7vIAs48AAAg/0wAAAcMAAABDAA
-ABQAAP/v//7//x//sbQA//AAACgAACALOSAAAAhAIAs5UAD///ogCzmgMAAAADAAADQAAIABIAMB
-8AAAgAIgBWkIIAuIMBAABRCZAAAANAAAACALh+AgCzngABkAACALOjAgAw2QAAASDyALOmAf/6no
-H/+xRAMVAAAFAAAAg/8AGyALOxAgBb/I//9AACALiVAgCzvgIAs8YCALPLDhAZGsAAGRrL/////f
-////IAs84AsAAAAgBcZUIAs9UCALPcAgCz4wIAs+YCALidAgC4pQH/+VfCAEnAggAwpEH/+cwAAB
-OIDgAAYAAAInECALiwB///8PH/+tUPwA///hAJYA4QCaAAAACf8AALAAH/+ufCADAkAgCz+A4QAO
-AAMAAADhABIAEwAAABEAAAAf/AAAH/+tzCALP8AgC4wgAAGUjwABlM8gAwJgH/+r8B//naQgAwYw
-IAtAACALQEAgBtwQIAtAcB//k+Qf/6wcIAMHIB//nKwf/5s8H/+VdCALRmAgC0awIAtHECALR+Af
-/6uYAD///x//m1Qf/6xMAAD/lwAA/tX//6uTH/+t2MIAAA4F3AEAA/8AAMAAAAEgC0hQIAtIkCAL
-SOAgC0kgIAtJcCALSbAf///wH/+uxAIAABAf/5NQH/+dMB//lagAAv//AACcQCALdlAgC0vwIAtM
-YB//rGQgC00gIAt10CALTbAAAP4AIAuT8AAFAAIbAAAAOsAAACALTfAgBgZoIAuUsCALlEAgC5SA
-IAYM8CALlCAAAMAQAAJiWgAAwzAgAAAA8ADDcBAQAAAgEAAAABAHYP/v+J8e/gAA4QIYDCALTiAf
-/5VwAAD/3x//rrAgC5DQAAGQ+CALkRD//Ph/IAuRgCAG3Tgf/5PMAAATiCALTlAAAwACIAtO0CAL
-ToAgC08AIAt/gCAGMZgf/6tUAAAYICALlPABMPjAAAGGoACYloACYloABfXhACALT2AgC09A/gAA
-AABf9qcAsjfHYgAAAB3///8gC5UwIAtP4CALUCAgC0+AIAtPsCALlZAgC5YQIAuV0CADC2QAABkA
-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
-CQkICAsLCgoAAAAAAAAAAAAKABQAjACCAGQAWgCgAJYAeABuAFAARgA8ADIAKAAeAAoEzgSSCc4J
-kgKyBFYE4gSmA7YEGgeyCVYGXgJ2CeIJpgdOAjoItgkaCBYGIgLGBGoAlgN6AXIHdgC+A94E9gS6
-BEIDogJiBzoGDgCCA8oELgBuAFoDKgE2AeoDPgfGCWoBSgcSBZYIegbCAf4GcgKKA1IF5gW+CN4B
-mgfaCfYJugl+B54JQgiiCQYBXgdiAk4HJgMWASIFgghmBaoIygkuCI4BDgVuBVoFRgbWCCoGNgIS
-AcIG6gg+AOYGhgLaBH4CngQGBkoCJggCA2YAqgOOBfoARgHWBv4GrgXSAYYHigjyAwIIUgD6BTIB
-rgDSA/IH7gAyBpoC7gUeAB4FCgAACcQJiATYBJwHqAlMCdgJnAisCRACvARgAWgHbATsBLACWAcw
-A8AEJAMgASwHvAlgBYwIcAZoAoAFtAjUCewJsAk4CJgHWAJEARgFeAjACSQFZAVQCCAGLAbgCDQC
-0AR0BkACHACgA4QBzAb0AXwHgAhIAPAAyAPoBpAC5AUABMQEiAKoBEwDrAQQBlQCbAdEAjAIDAYY
-AIwDcAC0A9QEOAOYBgQAeABkAFAB4AM0AUAHCAa4AfQDSAXcAZAH0Al0B5QI/AFUBxwDDAhcBaAI
-hAEEBTwGzAIIAbgA3AZ8ApQD/Af4A1wF8AA8BqQFyAjoAvgFKAGkB+QAKAUUABQAAATJBI0JyQmN
-Aq0EUQTdBKEDsQQVB60JUQZZAnEJ3QmhB0kCNQixCRUIEQYdAsEEZQCRA3UBbQdxALkD2QTxBLUE
-PQOdAl0HNQYJAH0DxQQpAGkAVQMlATEB5QM5B8EJZQFFBw0FkQh1Br0B+QZtAoUDTQXhBbkI2QGV
-B9UJ8Qm1CXkHmQk9CJ0JAQFZB10CSQchAxEBHQV9CGEFpQjFCSkIiQEJBWkFVQVBBtEIJQYxAg0B
-vQblCDkA4QaBAtUEeQKZBAEGRQIhB/0DYQClA4kF9QBBAdEG+QapBc0BgQeFCO0C/QhNAPUFLQGp
-AM0D7QfpAC0GlQLpBRkAGQUFAAAJvwmDBNMElwejCUcJ0wmXCKcJCwK3BFsBYwdnBOcEqwJTBysD
-uwQfAxsBJwe3CVsFhwhrBmMCewWvCM8J5wmrCTMIkwdTAj8BEwVzCLsJHwVfBUsIGwYnBtsILwLL
-BG8GOwIXAJsDfwHHBu8Bdwd7CEMA6wDDA+MGiwLfBPsEvwSDAqMERwOnBAsGTwJnBz8CKwgHBhMA
-hwNrAK8DzwQzA5MF/wBzAF8ASwHbAy8BOwcDBrMB7wNDBdcBiwfLCW8Hjwj3AU8HFwMHCFcFmwh/
-AP8FNwbHAgMBswDXBncCjwP3B/MDVwXrADcGnwXDCOMC8wUjAZ8H3wAjBQ8AAAAKAIwAbgCWAHgA
-PABQAKAAggBkADIARgBaACgAHgAUAAAAhwBpAJEAcwA3AEsAmwB9AF8ALQBBAFUAIwAZAAAAADAE
-AAAwEAAAWQgAAFmkAAGUMAAAECQAABAwAAAQPAAAENwAAHssAAB7NAAB4owAAeaMAAHqjAAB7owA
-AfKMAAH2jAAB+owAAf6MAACNzAAAfnQAAI/cAAGRWAAAj/wAAHUcAAB1GAAAdRAAAHfgAAB35AAA
-d/QAAZw8AAEQdAABEIQAAJQIAACYXAAAlgwAAJYUAACWIAAAliwAANAoAACQCAACENwAAjDcAAJQ
-3AACcNwAAZBUAABgHAABoNgAAZCQAAB34AAAd+QAAHf0AAB5eAAAefgAAZQEAAHjwAAB58AAAevA
-AAHvwAAB88AAAffAAAH7wAAB/8AAAZQMAAAwAD///8AAADAIP///wAAAWRCsgAAAAABZrH4lAAAA
-AZQQH////wABlDQAAAARAAGUCB////8AAZQ4AAAAEQAAECh/////AAAQLH////8AABA0f////wAA
-EDh/////AAAQQA9EAAAAAHsoAB//4gAAezA//+7/AAB7OAAAAAEAAHtAP//u/wAAfCQAH//iAAHi
-iAAIAAAAAeaIAAgAAAAB6ogACAAAAAHuiAAIAAAAAfKIAAgAAAAB9ogACAAAAAH6iAAIAAAAAf6I
-AAgAAAAAjcj/////AACN0P////8AAH5wf7///wAAfnh/v///AAB+AALAAAAAAZFUAf///wABkZwB
-////AACP2AB///0AAI/4/////QAAdRQAAAAHAAB1DAAAAAsAAHfcAAAAAwAAd/D/////AAGcOAAB
-gEAAAZz4AAAAAwAAkAQAAAA+AAEQeAD///8AARB8AP///wABEIgAAAAAAACUBAAA//8AAJQQAAD/
-/wAAmFQAAAH/AACYWAAAAf8AAJYIAAAAAAAAlhAAH///AACWGAAf//8AAJYcAA///wAAliQAD///
-AACWKAD///8AAJYwAP///wAA0CAAAAAHAADQJAAAAAcAAhDYAAAAAwACMNgAAAADAAJQ2AAAAAMA
-AnDYAAAAAwABkFAAAAAvAAGg1AAAAYMAAZCMADgAAAABkJgAOAAAAAB5dAAAAC8AAHlwAAAABQAA
-efQAAAAvAAB58AAAAAUgAw+kIAjWLCADD6ggCOZwIAMPtCAI5ZwgAw/AIAjlTCADD9QgCORoIAMP
-4CAI47ggAw/4IAjiUCADEAggCOE4IAMQECAI4RAgAxAkIAjg6CADEDQgCOC4IAMQQCAI35wgAxBI
-IAjfdCADEFwgCN9AIAMQaCAI3dQgAxBwIAjdLCADEIAgCNwoIAMQjCAI2xggAxCcIAjaECADEKwg
-CNjkIAMQxCAI1fQgAxDIIAjVeCADENAgCNVAIAMQ2CAI1QggAxDkIAjU0CADEOggCNSYIAMQ9CAI
-1GAgAxD4IAjVsCADEQAgCNQoIAMRDCAI0/AgAxEUIAjTuCADERwgCNOAIAMRJCAI0LAgAxEsIAjT
-MCADETggCNMoIAMRQCAI0vAgAxFIIAjSuCADEVAgCNKAIAMRWCAI0kggAw98IAjO1CADEWAgCM6c
-IAMRaCAIzmQgAxFwIAjOLCADEYAgCM30IAMRiCAIzbwgAxGQIAjNhCADEZggCM1cIAMRpCAIzTQg
-AxGwIAjNBCADEcggCMzcIAMR5CAIzLQgAxH0IAjMjCADEgQgCMxkIAMSFCAIzDwgAxIkIAjMFCAD
-EjQgCMvsIAMSRCAIy8QgAxJQIAjLnCADElwgCMt0IAMSaCAIyzggAxJ0IAjKHCADEnggCMhMIAMS
-hCAIx2ggAxKYIAjHOCADEqAgCMcIIAMSrCAIxtggAxKwIAjGqCADErQgCMZ4IAMSuCAIxkwgAxLI
-IAjF9CADECwgCMUAAAAAAAAAAAAgAxLUIAjE2CADEtwgCMSwIAMPiCAI6WAgAw+QIAjokCADD3Qg
-COfgIAMPnCAI5zgAABAhIEIwY0CEUKVgxnDngQiRKaFKsWvBjNGt4c7x7xIxAhAycyJSUrVClHL3
-YtaTOYMYs3ujWtO9w5zz/+PeJGI0QwQgFAFk5nTHRKRUhaVqtUuFKJUJ5e71z8Ws1Y02UyZyFhEG
-MHbXZvZWlUa0t1unepcZhzj33+f+153HvEjEWOVohninCEAYYSgCOCPJzNnt6Y75r4lImWmpCrkr
-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
-+//iHaMLBQBbcJbVoPv/4h2hiwUAW3CTmhf7/+IdoIsFAFtwkJoV+gACHe/69QBbcI0U5SouEhuN
-RS8SGYxEDt0ojkcMKyibFA/uKK27LxIajUYP3SgvEhau3Y5JrbuNSA/uKC8SGA/dKC8SFK7djkut
-u41KD+4oLxIVD90oLxITrt2OT627jU4P7igvEhIP3SgvEhCu3S5CG627jU0P7igvEhEP3SiPH67d
-LkIcrbstQhgP7iiPHg/dKI8crt0uQhqtuy1CGQ/uKI8dD90ojxqu3S5CHq27LUIdD+4ojxsP3SiP
-GK7dLkIgrbstQh8P7iiPGQ/dKK7drbsuQiMtQiIH7igG3SiPF67drbsuQictQiYP7igF3SiPFa7d
-rbsuQigtQiQP7igK3Siu3a27HeTslhEt0X+XEpUTfcsJhRT6IAYVoAAyAPogBhWgBQUA9WAARXCL
-BQBYAkrZoOekAAgECoAA+0BIUBIAnQBkUEWPRA8CAA8CAPHjUA3gBgUA6hYeLSgEgAD6oGgdr/v1
-APxgaB3v/PUAW/4NWk2niETlJQgDMAUAAA8CAHhj2SkSHgJnKKeXiBbTDw8CAGSAZiUSBiiKAA8C
-AAhVAQJVLCUWHAUlKPqgaB2giwUAWAIp+0BC8BIAnQApEhwPAgDjFhckgamAAMBQ5jQADRgEgAD6
-YGgdr/v1APzAaB3v/PUAW/3vWk2JKhIc4yMIAqgFAAB6WdsjEhcrEh3jFhcltFmAAPIAAh3gBQUA
-JkLnpWaTYCxCyYhEfDMJrIj4YAcLogCdACxCyolFfDMJrJn4YAj74gCdACxCy4pGfDMKDKoI+mAJ
-o6IAnQAsQsyLR3wzCay7+mAKU+IAnQAsQs2NSHwzCazd/GALA+IAnQAsQs4uQgl8MwoM7gj+YAuj
-ogCdACxCz49KfDMJrP/+YAxT4gCdACxC0IhLfDMJrIj4YA0DogCdACxC0SlCD3wzCgyZCPhgDePi
-AJ0ALELTik58MwmsqvpgDtOiAJ0ALELUi018Mwmsu/pgD8PiAJ0ALELSjUz8YBDrogCdAKzd/GAQ
-muAeVQD+wIYdoADmAAAAAAAA6nQACdgEgAD8IugV4A8FAP7Ahh3v/PUAW/2h9kAAQ//59QD5QAYV
-4AgFAJhnWk02KhIdJV0B5VyAIZgFAAD6f/ZFIgCdAGAFPwAAAAAAAADqdAAJ2ASAAPwAAh3gDCUA
-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
-4jZEIX0RgADaIFv9A+evhG0QBIAAY/8swKL9eT4FoAsFAFtrpWP/cWwQBBO6W/JoaBWgCgUAW2Y0
-/UBoHaCJBQDqJAAOQASAANMP0w9tmg/pggAkQBEAAOmmACVQEQAA+4BoHaILBQBbbTHiNkMhAEmA
-AMAg0Q8A/XkSBaAKBQD6AAId7/21AFtri8cr0Q8AbBAGGLpvGbyCHrnqHbyCLZYW/yLmFaALBQD7
-JgQd4ApFACqUYhy8fMfwD8wBLIa2HLx7KIKuKZLomRD4ICYVoI8FAFtrecAg0Q8AAGwQBBm8dBe8
-dCqSgSp22PkwSBXgCkUAKnYzKnYyKnY2KnZAKnZBKnY8+PsmFeAIBQD46mYVoAOFAPLkphXgCBUA
-KHY+KHY5F7pNEro0G7npI3B9IiKB/XYeBaQEBQDyAAAHdA0FAO7bOQE8KoAAK8V+0Q8AErsIH7nf
-CDUC9O+mHeBVAQAFTzkvJX7RDwAAAGwQBBu8Uhq8Uhi8UsDA6rZ/JVEDAAD7D+YVoIuFAFtkhx26
-Ahy8TezWQyZgCwAALNZE0Q9sEAQauo7ruqYRDVkAAGgibuSQhGSQBQAA/EJgEVAEFQBgADhpZAUF
-qAgnhgBySyzqNAAKWASAAFtof+hhFGIgBQAA5akICxd0AAD3IAQd7/96AKWr92AGHe//UgDRDwAs
-oqkpsoajzAnMEeyZCAMN3QAAaGJ2aWTjpZ2X0NEPABm6m6k5KZB9aEA25JBlYhAFAAByQ5lj/8Ms
-oqkpsoajzOnMEQIgBQAA7JkIAwxtAABoYh1oZCTyn/urogCdAGP/mmWfS2P/lKWY9wAGHe//pgCl
-mvdABB3v/34ApZv3YAYV7/9WAKWcJ8QA0Q+lnSfVANEP0Q8AAAAAAAAAAAAAIAMPMAzAAAYgBrhM
-IAMPNAjAAAwgBrhMIAMPOCDAABAgBrfUIAMPPAbAADggBrmwIAMPQAjAADwgBrhMIAMPRALAAEAg
-BrmwIAMPSAjAAEQgBrhMIAMPTAiAAEggBrjcIAMPUBiAAFwgBrjcIAMPVBiAAHAgBrjcIAMPWBiA
-AIQgBrjcIAMPXBiAAJggBrjcIAMPYBiAAPwgBrjcIAMPZBiAAQwgBrjcIAMPaBiAARwgBrjcIAMP
-bBiAASwgBrjcIAMPcAiAAXwgBrjcRkNvRSBERFAgZmFpbGVkIDogb3hfaWQgMHgleCByeF9pZCAw
-eCV4CgAAAAAAAAAARkNvRSBERFAgZmFpbGVkIDogRGRwUmVwb3J0IDB4JXggRGRwVmFsaWQgMHgl
-eAoARkMgeGNoZyBhbGxvYyBmYWlsZWQ6IGF2YWlsICVkCgBGQ09FIEZyZWU6IHN0aWxsIHlpZWxk
-ZWQgd2hlbiBmcmVlaW5nLi4uZmxvd2NfaWQgJXggZmxvd2NfZmxhZ3MgJXggCgAAAAAAAAAAAAAA
-AFBSTEkgUnNwIHRpbWVkb3V0IDogZmxvd2NfaWQgMHgleCBveF9pZCAweCV4IHJ4X2lkIDB4JXgg
-CgAAAAAAAABod19iY204NDM0X2NoZWNrcmFtOiBTdGFydAoAAAAAAFBIWSBwcm9jZXNzb3Igbm90
-IHJ1bm5pbmcsIHN0aWxsIGluIHJlc2V0IGZvciA1bXMsIHBvcnRfYml0X21hcD0ldSAKAAAAAAAA
-AAAAAAAAUEhZIEZXIGhhcyBiYWQgQ1JDLCBva19jcmM9JXUKAABQSFkgZmlybXdhcmUgbG9hZCBz
-dWNjZXNzZnVsIQoAAGh3X2JjbTg0ODM0X2xvYWRzZXF1ZW5jZTogU3RhcnRlZAoAAAAAAAAAAAAA
-AAAAAGh3X2JjbTg0ODM0X2xvYWRzZXF1ZW5jZTogVXBsb2FkIGltYWdlIHRvIFBIWSBvbi1jaGlw
-IG1lbW9yCgAAAABod19iY204NDgzNF9sb2Fkc2VxdWVuY2U6IGRvbmUgbG9hZGluZyBpbWFnZSAo
-aSA9ICV1KQoAAAAAAAAAAAAAaHdfYmNtODQzNF9sb3dwb3dlclsldV06IGVuYWJsZT0lZAoAAAAA
-AAAAAAAAAAAAaHdfYmNtODQzNF9sb3dwb3dlclsldV0sIGZhaWxlZCB0byBzZXQgMzAuMHg0MDFB
-Yml0IDcgc2luY2UgMzAuMHg0MDBFIGJpdD0xIGFmdGVyIDVtcywJcmVnPSV4CgAAaHdfY2w0NV9p
-bml0WyV1XSBhY2FwcyAlI3gKAAAAAABod19jbDQ1X3VwZF9zcGRfYWR2ICUjeAoAAAAAAAAAAGh3
-X2FxMTIwMl9saW5rX3VwWyV1XSB1cAoAAAAAAAAAcFsldV0gUEhZIE9WRVJIRUFURUQgLSBmb3Jj
-ZWQgcG93ZXIgZG93biAodGVtcD0lZCkKAAAAAAAAAAAAAAAAAEZMQVNIIG5vdCByZWFkeTogaSAl
-dSBudnJSZWcgJSN4CgAAAAAAAAAAAAAAAAAAAEFRX0ZMQVNIX1JlYWR5IC0gVGltZW91dCAoMSkK
-AAAAQVFfRkxBU0hfUmVhZHkgLSBUaW1lb3V0ICgyKQoAAAAJQVFfUmV0dXJuQ29udHJvbE9mRkxB
-U0gKAAAAAAAAAGdhdGhlcl90YXNrc190b190eF9saXN0OiB0YXNrIGluIHVzZSBbJXVdCgAAAAAA
-AGdhdGhlcl90YXNrc190b190eF9saXN0OiBpZHggWyV1XSwgdGFzayBmaWQgWzB4JXhdLCB0YXNr
-IHN0YXRlIFsweCV4XSwgdGFzayBjb25uIFsweCV4XSwgdGFzayBmZmxhZ3MgWzB4JXhdLCBjb25u
-IGZpZCBbMHgleF0sIGRkcCBbJWRdCgAAAAAAAAAAAGdhdGhlcl90YXNrc190b190eF9saXN0OiB0
-YXNrIFsweCV4XSwgc3RhdGUgWzB4JXhdIG9uIGNvbm4gWzB4JXhdIG5vdCB2YWxpZCB0byBnYXRo
-ZXIsIHNraXBwaW5nCgAAAAAAAAAAAAAAAAAAAABnYXRoZXJfdGFza3NfdG9fdHhfbGlzdDogdGFz
-ayBbMHgleF0sIHN0aWxsIHF1ZXVlZCBvbiB0eCBwZW5kaW5nIGxpc3QuIFJlbW92aW5nIGl0LgoA
-AAAAAAAAAAAAAABnYXRoZXJfdGFza3NfdG9fdHhfbGlzdDogY29ubl9mYy0+Zmxvd2NfZmxhZ3Mg
-WzB4JXhdLCBsaXN0X2VtcHR5IFsweCV4XSwgYWRkX3Rhc2tfY291bnQgWzB4JXhdCgB0b190eF9s
-aXN0OiBubyB0YXNrIHRvIGNsb3NlIGZvciBjb25uIFsweCV4XSwgYmFpbGluZyB0byByZWNvdmVy
-eSBzdGF0ZSBbMHgleF0KAHNldF9kaWdlc3Q6IHVwbHN1Ym1vZGU6JXgKAAAAAAAAYXV0aGVudGlj
-YXRlX3RhcmdldDogS0VZX0NIQVBfUkVTUCAtIFsweCV4JXgleCV4JXgleCV4JXhdCgAAAAAAAGF1
-dGhlbnRpY2F0ZV90YXJnZXQ6IEtFWV9DSEFQX1JFU1AgLSBbMHgleCV4JXgleCV4JXgleCV4XQoA
-AAAAAABhdXRoZW50aWNhdGVfdGFyZ2V0OiBJbmNvcnJlY3QgcGFzc3dvcmQKAAAAAAAAAABDSEFQ
-X0M6IGRpZ2VzdCBleHBhbnNpb24gZXJyb3IKAENIQVBfTjogVGFyZ2V0IHVzZXJpZCBtaXNtYXRj
-aAoAQ0hBUF9SOiBkaWdlc3QgZXhwYW5zaW9uIGVycm9yCgBpU0NTSSBTZWMtcGFyYW1zIHJlY2Vp
-dmVkIGhhdmUgZXJyb3JzISEKAAAAAAAAAABUYXJnZXQgbW92ZWQgdGVtcC4gY29ubiAleCwgc2Vz
-cyAleAoAAAAAAAAAAAAAAABMb2dpbiBGYWlsZWQhIS4gY29ubl9mYyBbMHgleF0sIHNlc3NfZmMg
-WzB4JXhdLCBzdGF0dXNfY2xhc3MgWzB4JXhdCgAAAAAAAAAAAAAAAFByb3RvY29sIEVycm9yIGNi
-aXQgJWQgdGJpdCAlZCBjc2cgJWQgbnNnICVkCgAAAHJlY3Zfbm9waW46IGN0cmwgdGFzayBhbHJl
-YWR5IHBlbmRpbmcKAAAAAAAAAAAAAG9mbGRfcnhfZGF0YTogYWllZSwgaXNjc2kgY29ubiBbMHgl
-eF0gZm9yIHNlc3MgWzB4JXhdLCB0eXBlIFsweCV4XSB0cmFuc2l0ZWQgaW4gdG9lIG1vZGUuIEtp
-Y2tpbmcgcmVjb3ZlcnkgCgAAAABvZmxkX3J4X2RhdGE6IGNvbm4gdGlkIFsweCV4XSwgcnhfZGF0
-YS0+c2VxIFsweCV4XSwgcnhfZGF0YS0+bGVuIFsweCV4XSwgcnhfZGF0YS0+c3RhdHVzIFsweCV4
-XQoAAAAAAAAAAAAAAAAAAAAAb2ZsZF9yeF9kYXRhOiBjc2sgeyBpZCBbMHgleF0sIGNzb2NrX29m
-ZnNldCBbMHgleF0sIGRsZW4gWzB4JXhdIH0KAAAAAAAAAAAAAAAAAABhY3RfZXN0OiB0Y2JfZmMg
-WzB4JXhdLCBmbG93Y19pY29ubl9mbGFncyBbMHgleF0KAAAAAAAAAAAAAAAAAAAAYWN0X2VzdGFi
-OiB0Y2JfZmMtPmZsb3djX2J1ZiBbMHgleF0sIHRjYl9mYy0+Zmxvd2NfdHlwZSBbMHgleF0gdGNi
-X2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIG5wYWdlcyBbMHgleF0sIGZsb3djX3RwX3NuZF9tYXgg
-WzB4JXhdCgAAAAAAAAAAAAAAAAAAYWN0X2VzdGFiOiBhdGlkIFsweCV4XSwgdGlkIFsweCV4XSwg
-b3AgWzB4JXhdLCByY3ZfaXNuIFsweCV4XSwgc25kX2lzbiBbMHgleF0sIGNzb2NrLT5mbG93Y19z
-dGF0ZSBbMHgleF0sIHRjcF9vcHQgWzB4JXhdLCB0Y2JfZmMtPmZsb3djX2lkIFsweCV4XSAKAAAA
-AAAAAAAAAAAAAGNza19mYy0+Zmxvd2NfY3NvY2tfY29va2llIFsweCV4XSAKAAAAAAAAAAAAAAAA
-AGNobmV0X3F1ZXVlX3htaXQ6IGZjLT5mbG93Y19pZCBbMHgleF0sIGJ1Zl9sZW4gWzB4JXhdLCBi
-dWZmZXJlZCBbMHgleF0sIGZpZm8ubnVtX2J5dGVzIFslMHhdCgAAAG5ldGlmX2RvX2RoY3A6IHdy
-LT5wYXJhbS52bGFuaWQgWyV1XSwgbDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl92bGFuZGV2IFsw
-eCV4XQoAbDNpbjRfZGV2X2NvbmZpZzogd3ItPnBhcmFtLnZsYW5pZCBbJXVdLCBsMmRldl9mYy0+
-Zmxvd2NfbmV0X2wyZGV2X3ZsYW5kZXYgWzB4JXhdCgAAAAAAAAAAAAAAAAAAbmV0X2wzaW40X2Rl
-dl9jb25maWc6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGFkZHJlc3MgYWxyZWFkeSB1c2Vk
-IGJ5IHBvcnQgJWQKAAAAAAAAAAAAAAAAAAAAbmV0X2wzaW40X2Rldl9jb25maWc6ICBhZGRyIFsw
-eCV4XSwgbWFzayBbMHgleF0sIGd3IFsweCV4XSwgcmVmX2NudCBbMHgleF0gaW4gdXNlCgAAAAAA
-AAAAAAAAAAAAd3JoX2NobmV0X2lmY29uZjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgbDJk
-ZXZfZmMtPmZsb3djX3R5cGUgWyUweF0sIGlmY29uZl93ci0+c3Vib3AgWzB4JXhdCgAAAAAAAAAA
-AAAAAAAAAHdyaF9jaG5ldF9pZmNvbmY6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIHVua25v
-d24gc3Vib3AgWzB4JXhdCgAAAAAAAAAAAAAAAAAAd3JoX2NobmV0X2lmY29uZjogbDJkZXZfZmMt
-PmZsb3djX2lkIFsweCV4XSwgcmMgJWQKAAAAAAAAAAAAAAAAAG5ldGlmX2lwX2NvbmZsaWN0X3Rp
-bWVyX2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBpbmRldmN0eHQtPnN0YXRlIFslZF0s
-IGluZGV2Y3R4dC0+cmV0cnlfY250IFslZF0KAAAAAAAAAABuZXRpZl9pcF9jb25mbGljdF90aW1l
-cl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgaW5kZXZjdHh0IFsweCV4XSwgaW4gZnJl
-ZSBzdGF0ZQoAAAAAAAAAAABjbWRoX2NobmV0X2lmYWNlOiBmYyBbMHgleF0sIGZjLT5mbG93Y19p
-ZCBbMHgleF0sIGZjLT5mbG93Y190eXBlIFsweCV4XSwgcCBbMHgleF0sIGxlbjE2IFsldV0sIGxv
-YyBbMHgleF0KAAAAAAAAY21kaF9jaG5ldF9pZmFjZTpsMmRldl9mYyBbMHgleF0sIGwyZGV2X2Zj
-LT5mbG93Y19pZCBbMHgleF0sIGwyZGV2LT5mbG93Y190eXBlIFsldV0sIGwyZGV2X2ZjLT5mbG93
-Y19uZXRfbDJkZXZfZmxhZ3MgWyUweF0KAAAAAABjbWRoX2NobmV0X2lmYWNlOiByMlswXToldSBy
-MlsxXToldSwgc3Vib3A6MHgleAoAAAAAAAAAAAAAAAAAAAAAY21kaF9jaG5ldF9pZmFjZTogbDJk
-ZXZfZmMtPmZsb3djX25ldF9sMmRldl9mbGFncyBjaGFuZ2VkIGZyb20gWyUweF0gdG8gWyUweF0s
-IHJjIFslZF0KAAAAAAAAAAAAY2huZXRfbDJkZXZfdXBfbWJfY2I6IHJjIFslZF0sIHBvcnQgWyV1
-XSwgc3RhdGUgWyV1XSwgY29va2llIFsweCV4XQoAAAAAAAAAAAAAAABkaGNwX3Byb2Nlc3NfY2I6
-IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGRoY3R4dC0+c3RhdGUgWyUweF0sIGRoY3R4dC0+
-cnRyeV9jbnQgWyV1XQoAAAAAAAAAAABkaGNwX3RpbWVyX2NiOiBESENQRElTQ09WRVIgc2VudCwg
-YnV0IG5vIHJlcGx5IGZyb20gYW55IHBvc3NpYmxlIHNlcnZlciBvbiB0aGUgbmV0d29yay4gUmV0
-cnlpbmcgYWdhaW4KAAAAAAAAAAAAZGhjcF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsw
-eCV4XSwgc2VuZGluZyBESENQRElTQ09WRVIgZm9yIGRoY3R4dCBbMHgleF0gb24gcGlkIFslZF0K
-AAAAZGhjcF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgREhDUE9GRkVSIHJl
-Y2VpdmVkIGZvciBkaGN0eHQgWyV4XSBwaWQgWyVkXQoAAAAAAAAAAAAAZGhjcF90aW1lcl9jYjog
-bDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgIERIQ1BBQ0sgcmVjZWl2ZWQgZm9yIGRoY3R4dCBb
-JXhdLCBwaWQgWyVkXQoAAAAAAAAAAAAAZGhjcF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lk
-IFsweCV4XSwgZGhjdHh0LT5pcGFkZHIgWzB4JXhdCgAAAAAAAAAAAAAAAAAAAABkaGNwX3RpbWVy
-X2NiOiBzdGFydGluZyB0aW1lciBmb3IgbGVhc2UgWyV1XSBzZWNvbmRzCgAAAAAAAAAAAAAAZGhj
-cF90aW1lcl9jYjogbGVhc2UgdGltZSBvZiBbJXVdIHNlY29uZHMgZXhwaXJlZCwgc2VuZGluZyBy
-ZW5ldyByZXF1ZXN0CgAAAAAAAABkaGNwX3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4
-JXhdLCBubyByZXBseSBmcm9tIGRoY3Agc2VydmVyLCB0aW1pbmcgb3V0CgAAAAAAAAAAAAAAAAAA
-AABhdXRoX25lZ29fc2VjdXJpdHk6IHNlbmRfZmxhZyBbMHgleF0sIGF1dGhfcG9saWN5IFsweCV4
-XQoAAAAAAAAAYXV0aF9uZWdvX3NlY3VyaXR5OiBLRVlfQ0hBUF9SRVNQIC0gaGFzaFsweCV4JXgl
-eCV4JXgleCV4JXhdCgAAAGF1dGhfbmVnb19zZWN1cml0eTogS0VZX0NIQVBfUkVTUCAtIGhhc2hb
-MHgleCV4JXgleCV4JXgleCV4XQoAAABhdXRoX25lZ29fc2VjdXJpdHk6IEtFWV9DSEFQX1JFU1Ag
-LSBlcnJvciBlbmNvZGluZyB0byBoZXgKAAAAAAAAYXV0aF9uZWdvX3NlY3VyaXR5OiBLRVlfQ0hB
-UF9SRVNQIC0gZWxlbiBbMHgleF0KAAAAAAAAAAAAAAAAAAAAAGF1dGhfbmVnb19zZWN1cml0eTog
-S0VZX0NIQVBfQ0hBTCAtIGVycm9yIGVuY29kaW5nIHRvIGhleAoAAAAAAABhdXRoX25lZ29fc2Vj
-dXJpdHk6IEtFWV9DSEFQX0NIQUwgLSBlbGVuIFsweCV4XQoAAAAAAAAAAAAAAAAAAAAAbG9nb3V0
-X3RpbWVkb3V0OiBsb2dvdXQgcmVxdWVzdCB0aW1lZG91dCwgcG9zc2libGUgbmV0d29yayBpc3N1
-ZXMuIEZvcmNlZnVsbHkgYnJlYWtpbmcgcGF0aCBmb3Igc2VzcyBbMHgleF0KAAAAAHBpbmdfdGFy
-Z2V0OiBwaW5nIHRpbWVvdXQsIGtpY2tpbmcgcmVjb3ZlcnkgZm9yIHNlc3MgWzB4JXhdCgAAAABj
-c29ja19mYWlsZWQ6IGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRl
-IFsweCV4XSwgc2Vzc19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBzZXNzX2ZjLT5mbG93Y19zdGF0ZSBb
-MHgleF0sIGV2dCBbMHgleF0KAAAAAAAAAAAAAAByYyBbJWRdLCBjc2tfZmMgWzB4JXhdLCBjc2tf
-ZmMtPmZsb3djX2lkIFsweCV4XQoAAAAAAAAAAAAAAAAAAAAAcmVjb3ZlcnlfdGltZW91dDogc2Vz
-cyBpZCBbMHgleF0gc3RhdGUgWzB4JXhdLCByY291bnQgWyVkXSwgZmxhZ3MgWzB4JXhdCgAAAAAA
-AAByZWNvdmVyeV90aW1lb3V0OiBzZXNzIGlkIFsweCV4XSBpbiBsb2dvdXQsIGFib3J0IHRoZSBj
-b25uZWN0aW9uCgAAAAAAAAAAAAAAAAAAAHJlY292ZXJ5X3RpbWVvdXQ6IHNlc3NfZmMtPmZsb3dj
-X2ZvaXNjc2lfc2Vzc19mbGFncyBbMHgleF0sIGNvbm5lY3Rpb24gcmVxdWVzdCBwZW5kaW5nLCBi
-YWlsaW5nIG91dAoAAAAAAAAAAAAAAABmb2lzY3NpOiBSZWNvdmVyeSB0aW1lZCBvdXQgYWZ0ZXIg
-WyV1XSByZXRyeSwgYmFpbGluZyBvdXQKAAAAAAAAVENQIGNvbm4gZXN0YWJsaXNobWVudCBmYWls
-ZWQgJWQKAAAAAAAAAAAAAAAAAAAAZGlzY292ZXJ5X2RhdGE6IHNlc3MgeyBpZCBbMHgleF0sIGZs
-YWdzIFsweCV4XSwgYnVmZmVyZWQgWyV1XS4gfQoAAAAAAAAAAAAAAAAAAABkaXNjb3ZlcnlfZGF0
-YTogc2VzcyB7IGlkIFsweCV4XSB9LCB1bHB0eGNoIFsldV0gbm8gY3JlZGl0cyBhdmFpbGFibGUs
-IHJlc2NoZWR1bGluZyByZXF1ZXN0LgoAAABJbnZhbGlkIG9wY29kZSAweCV4IGluIGN0cmwgcGF0
-aAoAAAAAAAAAAAAAAAAAAABERFAgZXJyb3IgWzB4JXhdLCBhYm9ydGluZyBjb25ubiBbMHgleF0K
-AAAAAAAAAAByeF9kYXRhX2RkcDogUmVzcG9uY2UgcmVjaWV2ZWQgZm9yIHRhc2sgWzB4JXhdIHdo
-aWxlIGludmFsaWQgdGFzayBvciBjb25uZWN0aW9uIHN0YXRlLiB0YXNrIHN0YXRlIFsweCV4XSwg
-Y29ubiBzdGF0ZSBbMHgleF0sIGNvbm4gZmxhZ3MgWzB4JXhdCgBpaGRyOiBSZXNwb25jZSByZWNp
-ZXZlZCBmb3IgdGFzayBbMHgleF0gd2hpbGUgaW52YWxpZCB0YXNrIG9yIGNvbm5lY3Rpb24gc3Rh
-dGUuIHRhc2sgc3RhdGUgWzB4JXhdLCBjb25uIHN0YXRlIFsweCV4XSwgY29ubiBmbGFncyBbMHgl
-eF0KAAAAAAAAAABpaGRyOiBJbnZhbGlkIHRhc2sgc3RhdGUgMHgleCBmb3IgdGFzayAweCV4LCBp
-dHQgWzB4JXhdLCBvcGMgWzB4JXhdCgAAAAAAAAAAAAAAAHByb2Nlc3NfdG1mX3Jlc3BvbnNlOiBi
-dWZmZXJlZCBbMHgleF0sIGlzdGFza19mYy0+Zmxvd2NfYnVmLT5zY2hlZF9ub2RlLm5leHQgWzB4
-JXhdLCBpc3Rhc2tfZmMgWzB4JXhdLCBpc3Rhc2tfZmMtPmZsb3djX2lkIFsweCV4XQoAAAAAAAAA
-AAAAAAAAAHByb2Nlc3NfdG1mX3Jlc3BvbnNlOiB3ciBvcCBbMHgleF0sIHRtZiBvcCBbMHgleF0K
-AAAAAAAAAAAAAAAAAAB0bWZfcmVzcDogZmxvd2M6MHgleCwgaWQ6MHgleCwgc3RhdGU6MHgleCwg
-eWllbGQ6MHgleAoAAAAAAAAAAAAAdG1mX3Jlc3A6IHRfdGFzazoweCV4IGZyZWVkLgoAAABzY3Np
-X2NtZF9yZXNwOiBmbG93YzoweCV4LCBpZDoweCV4LCBzdGF0ZToweCV4LCB5aWVsZDoweCV4CgAA
-AAAAZGF0YV9pbl9yZXNwOiBmbG93YzoweCV4LCBpZDoweCV4LCBzdGF0ZToweCV4LCB5aWVsZDow
-eCV4CgAAAAAAAHJldHVybl9wZW5kaW5nX3Rhc2s6IGNvb2tpZSBbMHglMDh4XSwgWzB4JTA4eF0K
-AHJldHVybl9wZW5kaW5nX3Rhc2s6IGRlbGF5IHByb2Nlc3NpbmcsIGNvbm4gZmxhZ3MgWzB4JXhd
-CgAAAAAAAAByZXR1cm5fcGVuZGluZ190YXNrOiBEb25lIHNlbmRpbmcgdGFzayBlcnJvciB0byBo
-b3N0LCB1bHB0eGxlbjE2IFsldV0KAAAAAAAAAAAAAHJldHVybl9wZW5kaW5nX3Rhc2s6IGRlcXVl
-dWUgdGFzayBbMHgleF0sIHN0YXRlIFsweCV4XSBmcm9tIHR4X2xpc3QKAAAAAAAAAAAAAAAAcmV0
-dXJuX3BlbmRpbmdfdGFzazogYWxsIHRhc2tzIHJldHVybmVkLCByZWNvdmVyeSBzdGF0ZSB0cmFu
-cyB0byBbMHgleF0KAAAAAAAAAABjbGVhcl9kZHBfbWFwOiBpc3Rhc2tfZmMgWzB4JXhdLCBpc3Rh
-c2tfZmMtPmZsb3djX2lkIFsweCV4XSBidWZmZXJlZCAldQoAAAAAAAAAAGNsZWFyX2RkcF9tYXA6
-IGlzdGFza19mYy0+Zmxvd2NfaXRhc2tfbnBwb2QgJXUsIG5wcG9kICV1LCBwcGRhZGRyIFsweCV4
-XQoAAAAAAAAAY2xlYXJfZGRwX21hcDogYWxsIHJldHVybmVkIHRhc2tzIGRkcCBjbGVhcmVkLCBy
-ZWNvdmVyeSBzdGF0ZSB0cmFucyB0byBbMHgleF0KAAB3cmhfZm9pc2NzaV9ub2RlOiBub2RlX3dy
-LT5mbG93aWRfbGVuMTYgMiBbJXhdCgB3cmhfZm9pc2NzaV9jaGFwOiBpZF9sZW4gWyV4XSwgc2Vj
-X2xlbiBbJXhdCgAAAAB3cmhfZm9pc2NzaV9jaGFwOiB0Z3RfaWRfbGVuIFsleF0sIHRndF9zZWNf
-bGVuIFsleF0KAAAAAAAAAAAAAAAAc2Vzc2lvbl9ibG9jazogc2Vzc19mYy0+Zmxvd2NfaWQgWzB4
-JXhdLCBzZXNzX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIGNvbm5fZmMtPmZsb3djX2lkIFsweCV4
-XSwgY29ubl9mYy0+Zmxvd2Nfc3RhdGUgWzB4JXhdLCBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwg
-Y3NrX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0KAAAAAAAAAAAAAAAAAAAAc2Vzc2lvbl91bmJsb2Nr
-OiBzZXNzX2ZjLT5mbG93Y19pZCBbMHgleF0sIHNlc3NfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwg
-Y29ubl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjb25uX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIGNz
-a19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRlIFsweCV4XQoAAAAAAAAA
-AAAAAAAAc3RhcnRfbG9nb3V0OiBTZXNzLWlkIFsweCV4XSBhbHJlYWR5IGxvZ2dpbiBvdXQuCgAA
-AAAAAAAAAAAAAAAAAHBlZXJfY29uOiBjc2tfZmMgPT4gZmxvd2lkIFsweCV4XSwgZmxvd2NfYnVm
-IFsweCV4XQoAAAAAAAAAAAAAAABhbGxvY19zZXNzOiBsb2dpbl9yZXRyeSBbJWRdLCByZWNvdl90
-aW1lb3V0IFslZF0KAAAAAAAAAAAAAAAAAAAAZm9pc2NzaV9jdHJsOiBzdWJvcCBbMHgleF0sIHNl
-c3NfdHlwZV90b19lcmwgWzB4JXhdLCBzZXNzX3R5cGUgWzB4JXhdCgAAAAAAAAAAAABmb2lzY3Np
-X2N0cmw6IHJlY2VpdmVkIGJsb2NrZWQgZnJvbSBkcml2ZXIsIHRyaWdnZXJpbmcgcmV0dXJuIHRh
-c2tzIG5vdy4KAAAAAAAAAFdBVENIRE9HX2Rpc3BhdGNoIGNhc2UgdG8gYXZvaWQ6IENvdW50ZXJf
-d2F0Y2hkb2cgJXUgQ291bnRlcl9zY2hlZCAldSAKAAAAAAAAAAAAeGdtYWNbJXVdIHNldHRpbmcv
-dW5zZXR0aW5nIGhzcyByZXN5bmMgYml0CgAAAAAAV0FUQ0hET0c6IGRldmljZSBzaHV0ZG93bgoA
-AAAAAABXQVRDSERPRzogcG9ydFsldV0gcGF1c2Ugd2F0Y2hkb2cgdGltZW91dAoAAAAAAABXQVRD
-SERPRzogYnlwYXNzIHRpbWVvdXQKAAAAAAAAAFdBVENIRE9HOiBGTFIgLSBub3QgaW1wbGVtZW50
-ZWQgeWV0CgAAAAAAAAAAAAAAAFdBVENIRE9HOiB0ZW1wZXJhdHVyZSBvZiAlZEMgZXhjZWVkcyB0
-aHJlc2hvbGQgb2YgJWRDCgAAAAAAAAAAAABmaWx0ZXI6IHBvcmdyYW1taW5nIHRpZCAldSAobGUg
-dGNhbSBpbmRleCAldSkuLi4KAAAAAAAAAAAAAAAAAAAAZmlsdGVyOiByZXF1ZXN0aW5nIGNvbXBs
-ZXRpb24uLi4KAAAAAAAAAAAAAAAAAAAAbDJkZXZfc2VuZF9wb3J0X2V2ZW50OiB3ciBbMHgleF0g
-cGVuZGluZyBvbiBwb3J0IFslZF0sIGN1cnJlbnQgdHJ5IFslZF0KAAAAAAAAAABkY2J4X2llZWVf
-Y21kaFsldV0gd3JpdGUgb25seSBwZXJtaXR0ZWQgb24gbG9jYWwgY29uZgoAAAAAAAAAAAAAZGNi
-eF9pZWVlX2NtZGhbJXVdIGNhbm5vdCB3cml0ZSAldSBhcHBzIChNQVg6ICV1KQoAAAAAAAAAAAAA
-AAAAAGRjYnhfaWVlZV9jbWRoWyV1XSByZXF1ZXN0aW5nIERDQl9JRUVFX0NNRAoAAAAAAGRjYnhf
-aWVlZV9jbWRoWyV1XSB1bmtub3duIGZlYXR1cmUgd3JpdGU6ICV1CgAAAGRjYnhfaWVlZV9jbWRo
-WyV1XSB1bmtub3duIGZlYXR1cmUgcmVhZDogJXUKAAAAAGNhbm5vdCBhbGxvY2F0ZSBvZmZsb2Fk
-ZWQgZmlsdGVyIGNvbm5lY3Rpb24KAAAAAGNhbm5vdCBhbGxvY2F0ZSBvZmZsb2FkZWQgZmlsdGVy
-IElQdjYgY29ubmVjdGlvbgoAAAAAAAAAAAAAAAAAAABkaXNwYXRjaF9kZWZlcnJlZF9jbGFzc19j
-bGFzc19zaGFwaW5nWyV1OiV1XTogbGlzdF9lbXB0eQoAAAAAAAAAbG9vcGJhY2sgYnVmZmVyIGdy
-b3VwWyV1XSBpcyBkaXNhYmxlZAoAAAAAAAAAAAAAaW52YWxpZCBidWZmZXIgZ3JvdXBbJXVdIGNv
-bmZpZ3VyYXRpb246IG10dSAldSBsd20gJXUgaHdtICV1IGR3bSAldQoAAAAAAAAAAAAAAABmYyAl
-dSB2ZiAldSBnb3QgaXZmPTB4JXgscmFuZ2U6ICUjeC0lI3ggKCV1LyV1IHVzZWQpCgAAAAAAAAAA
-AAAAVkkgJXUgY2Fubm90IGdldCBSU1Mgc2xpY2U6IE5vIG1vcmUgc2xpY2VzIGF2YWlsYWJsZSAo
-dXNlZCAldS8ldSkKAAAAAAAAAAAAAAAAAABwZm4gJXUgdmZuICV1IHdpdGggcG9ydCBtYXNrIDB4
-JXggY2Fubm90IGFjY2VzcyBwb3J0ICV1LCByZXQgJWQKAAAAAAAAAAAAAAAAAAAAAHBmbiAldSB2
-Zm4gJXUgY291bGQgbm90IGFsbG9jYXRlIHZpaWQsIHJldCAlZAoAAHBmbiAldSB2Zm4gJXUgY291
-bGQgbWFwIHZpaWQgIDB4JXggdG8gZmxvd2MsIHJldCAlZAoAAAAAAAAAAAAAAABwZm4gJXUgdmZu
-ICV1IGNvdWxkIG5vdCBhbGxvY2F0ZSB1d2lyZSBmdW5jICVkIG1hYyBhZGRyLCByZXQgJWQKAAAA
-AAAAAAAAAAAAAAAAAG1paV9mb3JjZV9zcGVlZFsldV06IHJjYXBzIDB4JXgKAAAAAAAAAAAAAAAA
-AAAAAG1paV9wZG93blsldV06IHBvd2VyZG93biBlbiAldQoAcG9ydF9jbWRfaGFuZGxlcjogdW5r
-bm93biB1LmRjYi50eXBlIDB4JXgKAAAAAAAAcG9ydFsldToweCUwMng6MHglMDJ4XTogdW5rbm93
-biBhY3Rpb24gMHgleAoAAAAAcG9ydFsldToweCUwMng6MHglMDJ4XTogdW5rbm93biByZWFkIGFj
-dGlvbiAweCV4CgAAAAAAAAAAAAAAAAAAAGNwbF9lcnJfbm90aWZ5OiB0aWQgJXUgY3BsIDB4JTA4
-eCUwOHgKAAAAAAAAAAAAAGNwbF9lcnJfbm90aWZ5OiB0aWQgJXUgY3BsIDB4JTA4eCUwOHggMHgl
-MDh4JTA4eAoAAAAAAAAAAAAAAAAAAABjcGxfZXJyX25vdGlmeTogdGlkICV1IGxlbiAldQoAAEZD
-T0UgRnJlZTogc3RpbGwgeWllbGRlZCB3aGVuIGZyZWVpbmcuLi5mbG93Y19pZCAleCBmbG93Y19m
-bGFncyAleCAKAAAAAAAAAAAAAAAARkNPRSBCUCBXUiBFUlI6IFdSIHdpdGggY29va2llICV4JXgg
-ZXJyb3JlZCBiYWNrIAoAAAAAAAAAAAAAAAAAAHNjc2lfYWJvcnQ6IEVudGVyaW5nIEFib3J0X3Rh
-c2ssIGJ1ZmZlcmVkIFsldV0KAHNjc2lfYWJvcnQ6IHJjIFsweCV4XSByZWYgdGFzayBub3Qgb3V0
-c3RhbmRpbmcKAHNjc2lfYWJvcnQ6IGlkYXRhLT5vcCBbMHgleF0sIGZsYWdzIFsweCV4XSwgZnVu
-YyBbMHgleF0sIGx1bl9pZHggWzB4JXhdCgAAAAAAAAAAc2NzaV9hYm9ydDogd3ItPmlxaWQgWzB4
-JXhdLCBpc3Rhc2tfZmMtPmZsb3djX3NnZV9pcWlkIFsweCV4XSwgaXN0YXNrX2ZjIHRhc2sgZmxh
-Z3MgWzB4JXhdCgAAAAAAc2NzaV9hYnJ0OnRhc2sgZmxvd2NbMHgleF0sIHRtZl9saXN0X2VtcHR5
-OgoAAAAAc2NzaV9hYm9ydDogY29ubiBbMHgleF0sIGNtZHNuIFsweCV4XSwgc2VudF9jbWRzbiBb
-MHgleF0sIG1heF9jbWRzbiBbMHgleF0sIGl0dCBbMHgleF0KAAAAAAAAAAAAYWJvcnQvY2xvc2Ug
-V1Igd2l0aCBjb29raWUgMHglbHggd2FzIGlzc3VlZCBvbiBzc24gMHgleCBpbiB3cm9uZyBzdGF0
-ZSAweCV4CgAAAABhYm9ydCBXUiBvbiBzc24gMHgleCBkaWQgbm90IGZpbmQgV1Igd2l0aCBjb29r
-aWUgMHgleCV4CgAAAAAAAAAAY2xvc2UgV1Igd2l0aCBjb29raWUgMHglbHggb24gc3NuIDB4JXg7
-ZGlkIG5vdCBmaW5kIFdSIHdpdGggY29va2llIDB4JWx4CgAAAAAAAABhYm9ydCBXUiBvbiBzc24g
-MHgleCB3YXMgaXNzdWVkIG9uIHhjaGcgMHgleCB3aXRoIHJ4X2lkIDB4JXggaW4gd3Jvbmcgc3Rh
-dGUgMHgleAoAAAAAAAAAAAAAAAAAAABzY3NpX2x1cjogRW50ZXJpbmcgTFVSIGhhbmRsZXIsIGJ1
-ZmZlcmVkIFsldV0KAABzY3NpX2x1cjogaWRhdGEtPm9wIFsweCV4XSwgZmxhZ3MgWzB4JXhdLCBm
-dW5jIFsweCV4XSwgbHVuX2lkeCBbMHgleF0KAAAAAAAAAAAAAHNjc2lfbHVyOiB3ci0+aXFpZCBb
-MHgleF0sIGlzdGFza19mYy0+Zmxvd2Nfc2dlX2lxaWQgWzB4JXhdLCBpc3Rhc2tfZmMgdGFzayBm
-bGFncyBbMHgleF0KAAAAAAAAAHNjc2lfbHVyOiBjb25uIFsweCV4XSwgY21kc24gWzB4JXhdLCBz
-ZW50X2NtZHNuIFsweCV4XSwgbWF4X2NtZHNuIFsweCV4XSwgaXR0IFsweCV4XQoAAAAAAAAAAAAA
-AGRjYnhfYXBwbHlfYXBwX2NmZ1sldV1ORVcgQVBQIFRMViAKAAAAAAAAAAAAAAAAAGRjYnhfY2Vl
-X2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9MSU5LVVAKAGRjYnhfY2VlX2ZlYV9zbVsl
-dV0gRmVhdHVyZVsldV0gU0VUX0xPQ0FMX1BBUkFNRVRFUlMKAAAAAAAAAAAAAABkY2J4X2NlZV9m
-ZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfTk9fQURWRVJUSVNFCgAAAAAAAAAAAAAAZGNi
-eF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX1BFRVJfTk9UX0FEVkVSVElTRV9E
-Q0JYCgAAAAAAAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRV
-UkVfUEVFUl9OT1RfQURWRVJUSVNFX0ZFQVRVUkUKAAAAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9z
-bVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9VUERBVEVfT1BFUl9WRVJTSU9OCgAAAABkY2J4X2Nl
-ZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfUEVFUl9VUERBVEVfT1BFUl9WRVJTSU9O
-CgAAAAAAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9H
-RVRfUEVFUl9DRkcKAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZF
-QVRVUkVfQ0ZHX05PVF9DT01QQVRJQkxFCgAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJl
-WyV1XSBGRUFUVVJFX1VTRV9MT0NBTF9DRkcKAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0g
-RmVhdHVyZVsldV0gRkVBVFVSRV9VU0VfUEVFUl9DRkcKAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFf
-c21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfRkVBVFVSRV9ESVNBQkxFRAoAAAAAAAAAZGNieF9j
-ZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX0VSUk9SX0NIQU5HRQoAAAAAAAAAAAAA
-AGRjYnhfaWVlZV9wcm9jZXNzWyV1XSByZWNlaXZlZCBCV3MgZG8gbm90IGFkZCB1cCB0byAxMDAh
-CgAAAAAAAABXQVJOSU5HOiByZWNlaXZlZCBBcHAgVExWIGNvbnRhaW5zIG1vcmUgdGhhbkZXIGNh
-biBoYW5kbGUgKG1heDogJXU7IHRsdiBjb250YWluczogJXUKAAAAAAAAAAAAAABkY2J4X2llZWVf
-cHJvY2Vzc1sldV0gc3VidHlwZSAlI3ggcmVtX2Z0X2NoYW5nZWQgJXUgc21fY2hhbmdlICV1CgAA
-AAAAAAAAAAAAAAAAAGRjYnhfaWVlZV9wcm9jZXNzWyV1XSBzdWJ0eXBlIHVua25vd24KAAAAAAAA
-AAAAAGRjYnhfcGFyc2VfcGt0WyV1XSBlcnJvciAlZAoAAAAAY2huZXRfbDJ0X3VwZGF0ZTogbDJk
-ZXZfZmMgWzB4JXhdLCBsMmRldl9mYy0+Zmxvd2NfaWQgWyV1XSBsMmRldl9mYy0+Zmxvd2NfZmxh
-Z3MgWzB4JXhdLCBpbnRmIFsweCV4XQoAAAAAAAAAAAAAAGNobmV0X2wydF91cGRhdGU6IGwyZGV2
-X2ZjLT5mbG93Y19pZCBbJXVdIGFscmVhZHkgc2NoZWR1bGVkCgAAAABjaG5ldF9sMnRfdXBkYXRl
-OiBpbiBkZWxheWVkX3Byb2Nlc3NpbmcsIGwydGVudCBbJTA4eF0KAAAAAAAAAAAAY2huZXRfYXJw
-X3VwZGF0ZV9jYWNoZTogYXJwIGlwNCBlbnRyeSBmb3VuZCAKAAAAY2huZXRfYXJwX3VwZGF0ZV9j
-YWNoZTogYXJwIGlwNiBlbnRyeSBmb3VuZCAKAAAAY2huZXRfYXJwX3VwZGF0ZV9jYWNoZTogYm90
-aCBpcDQgYW5kIGlwNiBhZGRyIGNhbm5vdCBiZSBudWxsCgAAAGNobmV0X2wydF91cGRhdGU6IGwy
-dF91cGRhdGUgcmVxdWVzdCBzZW50IGwydGVudCBbJTA4eF0sIGwydGVudC0+aWR4IFslZF0sIGwy
-dGVudC0+dmxhbiBbJWRdCgAAAG5ldGlmX3Byb2Nlc3NfZGhjcDogbDJkZXZfZmMtPmZsb3djX2lk
-IFsweCV4XSwgcHJvY2Vzc2luZywgb3B0X2xlbiAldQoAAAAAAAAAAAAAY2huZXRfZGhjcF9yZWN2
-OiB2bGFuaWQgWyV1XSwgbDJkZXZfcGlkX2ZjLT5mbG93Y19uZXRfbDJkZXZfdmxhbmRldiBbMHgl
-eF0sIGwyZGV2X2ZjIFsweCV4XQoAAAAAY2huZXRfZGhjcF9yZWN2OiBsMmRldl9mYy0+Zmxvd2Nf
-aWQgWzB4JXhdLCBkaGN0eHQtPnN0YXRlIFslZF0sIG1hbGFjaW91cyBkaGNwIHJlY3YgZm9yIG5v
-IHJlcXVlc3QKAAAAAAAAAAAAAAAAAGRoY3R4dC0+c3RhdGUgOiAlZAoAAAAAAAAAAAAAAAAAbDJk
-ZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgQmFkIERIQ1AgY29va2llIHJlY2lldmVkLCBhYm9ydGlu
-ZwoAAENvdWxkIG5vIGFsbG9jYXRlIHBjYiEhIEZyZWVpbmcgZmNmICEhIQoAAAAAAAAAAHZuX3Bh
-cnNlIHVua25vd24gc3ViY29kZSAldQoAAAAAdm5fcGFyc2UgdW5rbm93biBkdHlwZSAldQoAAAAA
-AABpZ25vcmluZyBmaXAgcmVjdiBmb3IgcGNiIGZsb3c6JXggaW4gb2ZmbGluZSBzdGF0ZQoAAAAA
-AAAAAAAAAAAAZmlwX3ZuMnZuX3JlY3ZfZXJyIAoAAAAAAAAAAAAAAABDb3VsZCBub3QgYWxsb2Nh
-dGUgZmxvd2MhISEhCgAAAENvdWxkIG5vdCBhbGxvY2F0ZSBTQ0IgZmxvd2MhISEhCgAAAAAAAAAA
-AAAAAAAAAENvdWxkIG5vdCBmaW5kIHJpZ2h0IHNjYiBmb3IgbG9nbwoAAAAAAAAAAAAAAAAAAGln
-bm9yaW5nIGZpcCByZWN2IGZvciBmY2YgZmxvdzoleCBpbiBvZmZsaW5lIHN0YXRlCgAAAAAAAAAA
-AAAAAABDb3VsZCBub3QgZmluZCByaWdodCBzY2IgZm9yIGZsb2dpCgAAAAAAAAAAAAAAAABwb3J0
-IDB4JXgsIHN0YXRlIDB4JXgsIHJldHJ5IG5vdCBzdXBwb3J0ZWQKAAAAAABGbG9naSByZXNwIHJj
-diB3aXRoIHVua25vd24geGNoZyBveF9pZCV4IHNpZCAlMnglMnglMnggZGlkICUyeCUyeCUyeAoA
-AAAAAAAAAAAAAE5fUE9SVCAweCV4JXgleCByZWplY3RlZCBQTE9HSSB3aXRoIHJlYXNvbiBjb2Rl
-ICV4CgAAAAAAAAAAAAAAAABBQlRTIHdoaWxlIGF3YWl0aW5nIFBSTEkgUnNwOiBmbG93Y19pZCAw
-eCV4IG94X2lkIDB4JXggcnhfaWQgMHgleCAKAAAAAAAAAAAAAAAAAEFCVFMgZmFrZSBSc3A6IGxv
-YyAweCV4IG94X2lkIDB4JXggcnhfaWQgMHgleAoAAGxsZHBfcnhfcGt0X2hhbmRsZXJbJXVdIGRy
-b3AgcHJlLWluaXQgKGNvdW50ID0gJXUpCgAAAAAAAAAAAAAAAAAleCV4JXggUmVjaWV2ZWQgTE9H
-TyBmcm9tICV4JXgleCAKAAAAAAAAAAAAAAAAAABjYW5ub3QgYWxsb2NhdGUgUE9GQ09FIGZpbHRl
-ciBjb25uZWN0aW9uIGZvciB4X2lkICV4IAoAAAAAAAAAAAAARmFpbGVkIHRvIHBvc3QgeGNoZyBl
-cnI6IHNzbmkgMHgleCBjb29raWUgMHglbHggcnZhbCAleCAKAAAAAAAAAHRjcF9yZWxlYXNlX3Rp
-ZDogdGlkIFsweCV4XSwgZmxvd2MgZmxhZ3MgWzB4JXhdLCBidWZmZXJlZCBbMHgleF0KAAAAAAAA
-AAAAAAAAAAAAdGNwX3JlbGVhc2VfdGlkOiBzaXplb2YodGNiX2ZjLT5mbG93Y19pY29ubikgWyV1
-XSwgYnl0ZXMKAAAAAAAAAGFjdF9vcGVuX3JwbDogYXRpZCBbMHgleF0sIHRpZCBbMHgleF0sIHRj
-Yl9mYy0+eyBpZCBbMHgleF0sIHN0YXRlIFsweCV4XSwgdHlwZSBbMHgleF0gfSwgY3BsX29wIFsw
-eCV4XSwgc3RhdHVzIFsweCV4XQoAAAAAAAAAAAAAYWN0X29wZW5fcnBsOiBjc2tfZmMtPnsgaWQg
-WzB4JXhdLCBzdGF0ZSBbMHgleF0sIGNzb2NrX2ZsYWdzIFsweCV4XSB9IAoAAAAAAAAAAABhY3Rf
-b3Blbl9ycGw6IHJlY3ZkIG5lZyBhZHZpY2UgWzB4JXhdCgAAAAAAAAAAAABzZW5kX2Fib3J0X3Jw
-bDogY3NrX2ZjLT5mbG93Y190eXBlIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIHRp
-ZCBbMHgleF0sIHVscHR4Y2ggWyV1XSwgYnVmZmVyZWQgWyV1XQoAAAAAd3JoX29mbGRfdGNwX2Ns
-b3NlX2Nvbl9yZXBseTogdGNiX2ZjLT5mbG93Y19pZCBbMHgleF0sIHRjYl9mYy0+Zmxvd2NfdHlw
-ZSBbMHgleF0sIGxlbjE2IFsldV0sIGxvYyBbJXVdCgAAAAAAAAAAAHdyaF9vZmxkX3RjcF9jbG9z
-ZV9jb25fcmVwbHk6IHJwbC0+b3BfVGlkIFsweCV4XSwgcnBsPnN0YXR1cyBbMHgleF0sIHJwbC0+
-c25kX254dCBbMHgleF0sIHJwbC0+cmN2X254dCBbMHgleF0KAAB0Y3BfYWJvcnRfcnBsX3Jzczog
-dGlkIFsweCV4XSwgc3RhdHVzIFsweCV4XQoAAAB0Y3BfYWJvcnRfcmVxX3JzczogdGlkIFsweCV4
-XSwgc3RhdHVzIFsweCV4XSwgZmxvd2NfY3NvY2tfZm9pc2NzaV9zdGF0ZSBbMHgleF0KAG9mbGRf
-YWJvcnRfcmVxX25lZ2FkdlsldV06IHdyIDB4JTA4eCBjcGxfYWJvcnRfcmVxIERFTElWRVJFRAoA
-AABob3N0X3dyWyV1XTogd3IgMHglMDh4IGNwbF9hYm9ydF9yZXEgc3RhdHVzIDB4JXgKAAAAAAAA
-AAAAAAAAAAAAcGt0c2NoZWRfY2xfcmxbJXU6JXVdOiBtb2RlIHwgdW5pdCB8IHJhdGUgMHglMDZ4
-IG1pbiAldSBtYXggJXUgcGt0c2l6ZSAldQoAAAAAAABwYXJhbV9jaG5ldFsweCV4OjB4JXhdOiBj
-aG5ldCAweCV4IHJlYWQgJXUgcGYgJXUgcmV0ICVkCgAAAAAAAAAAcGFyYW1fZG1hcVsweCV4OjB4
-JXhdOiBkbWFxIDB4JXggcmVhZCAldSBwZiAldSByZXQgJWQKAAAAAAAAAAAAAFJTU1NFQ1JFVEtF
-WTogcnNzc2VjcmV0IHRibCBiYXNlICVkLCByc3Nuc2VjcmV0ICVkCgAAAAAAAAAAAAAAAABNQ1sl
-dV0gaW5pdF9zdGF0ZV9tYWNoaW5lIDB4JTAyeAoAAAAAAAAAAAAAAAAAAABNQyBpbml0aWFsaXph
-dGlvbiBub3QgY29tcGxldGluZywgTUMgY3VycmVudCBpbml0IHN0YXRlIGlzIDB4JTAyeAoAAAAA
-AAAAAAAAAAAAAE1DWyV1XSBfaHdfbWNfaW5pdF9tYwoAAAAAAAAAAAAAX2h3X21jX2luaXRfbWM6
-IGVycm9yLCByZXQgJWQKAABwaHk6IGZhaWxlZCB0byBhbGxvY2F0ZWQgbWVtb3J5IGZvciBwaHkg
-ZncgZmlsZSwgcmV0ICVkCgAAAAAAAAAAaHdfbGVfZmlsdGVyX2N0dXBsZTogdHVwbGUgJXUgbm90
-IHNwZWNpZmllZCBidXQgcmVxdWlyZWQgZm9yIG1hc2sgMHgleAoAAAAAAAAAAABod190cF90Y3Bf
-c2V0dGluZ3NfdzogdGltZXJfcnMgJXV1cyB0aW1lc3RhbXBfcmVzICV1dXMgZGVsYXllZGFja19y
-ZXMgJXV1cwoAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBkYWNrX3RpbWVyICV1dXMgbXNsICV1
-dXMgcnh0X21pbixtYXggJXUsJXV1cyBwZXJzX21pbixtYXggJXUsJXV1cwoAAAAAAAAAAGh3X3Rw
-X3RjcF9zZXR0aW5nc193OiBrZWVwX2lkbGUsaW50dmwgJXUsJXVzIG1heHJ0dCAldXVzIGluaXRz
-cnR0ICV1dXMgZmlud2FpdDJfdGltZXIgJXV1cwoAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBj
-YXBwaW5nIGRhY2tfdGltZXIgZnJvbSAldSB0byAldQAAAAAAAAAAAABod190cF90Y3Bfc2V0dGlu
-Z3NfdzogY2FwcGluZyBtc2wgZnJvbSAldSB0byAldQBod190cF90Y3Bfc2V0dGluZ3NfdzogY2Fw
-cGluZyByeHRfbWluIGZyb20gJXUgdG8gJXUAAAAAAAAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdz
-X3c6IGNhcHBpbmcgcnh0X21heCBmcm9tICV1IHRvICV1AAAAAAAAAAAAAAAAAGh3X3RwX3RjcF9z
-ZXR0aW5nc193OiBjYXBwaW5nIHBlcnNfbWluIGZyb20gJXUgdG8gJXUAAAAAAAAAAAAAAABod190
-cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyBwZXJzX21heCBmcm9tICV1IHRvICV1AAAAAAAAAAAA
-AAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcga2VlcF9pZGxlIGZyb20gJXUgdG8gJXUA
-AAAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIGtlZXBfaW50dmwgZnJvbSAl
-dSB0byAldQAAAAAAAAAAAABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyBpbml0X3NydHRf
-bWF4cnR0IGZyb20gJXUgdG8gJXUAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgaW5p
-dF9zcnR0X2luaXRzcnR0IGZyb20gJXUgdG8gJXUAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBw
-aW5nIGZpbndhaXQyX3RpbWVyIGZyb20gJXUgdG8gJXUAAAAAAABmaWx0ZXJNb2RlPSUjeCBpbGxl
-Z2FsOiBzZWxlY3RzICVkIGJpdHMgKG1heCAlZCkKAAAAAAAAAAAAAAAAAAAAbGUgY29uZmlndXJh
-dGlvbjogbmVudHJpZXMgJXUgcm91dGUgJXUgY2xpcCAldSBmaWx0ZXIgJXUgYWN0aXZlICV1IHNl
-cnZlciAldSBoYXNoICV1CgAAAAAAAAAAAAAAbGUgY29uZmlndXJhdGlvbjogbmVudHJpZXMgJXUg
-cm91dGUgJXUgY2xpcCAldSBmaWx0ZXIgJXUgc2VydmVyICV1IGFjdGl2ZSAldSBoYXNoICV1IG5z
-ZXJ2ZXJzcmFtICV1CgAAAAAAAAAAAAAAAGh3X3NnZV9xdWV1ZV9iYXNlX21hcFsldV06IGV4Y2Vl
-ZGVkIG51bWJlciBvZiBlZ3Jlc3MgcXVldWVzLCAldQoAAAAAAAAAAAAAAAAAAAAAaHdfc2dlX3F1
-ZXVlX2Jhc2VfbWFwWyV1XTogZXhjZWVkZWQgbnVtYmVyIG9mIGluZ3Jlc3MgcXVldWVzIHdpdGgg
-ZnJlZWxpc3QgYW5kIGludGVycnVwdCwgJXUKAAAAaHdfc2dlX3F1ZXVlX2Jhc2VfbWFwWyV1XTog
-ZXhjZWVkZWQgbnVtYmVyIG9mIGluZ3Jlc3MgcXVldWVzLCAldQoAAAAAAAAAAAAAAAAAAABFcnJv
-ciwgVG90YWwgUlNTIFNlY3JldCB0YWJsZSBhbGxvY2F0aW9uICVkID4gMTYKAAAAAAAAAAAAAAAA
-AAAAY2ZfcGFyc2U6IGZpbGUgbWVtdHlwZSAweCV4IG1lbWFkZHIgMHgleCBtYXBwZWQgQCAlcDoK
-AAAAAAAAAAAAAGNvbmZpZ3VyZWQgd2l0aCBjYXBzIG5ibXxsaW5rIDB4JTA4eCBzd2l0Y2h8bmlj
-IDB4JTA4eCB0b2V8cmRtYSAweCUwOHggaXNjc2l8Y3J5cHRvIDB4JTA4eCBmY29lOjB4JXgKAAAA
-AAAAAAAAAABuZXQgVkkgYWxsb2NhdGlvbiBmYWlsZWQgZm9yIGZjX2lkICV1IHdpdGggZXJyb3Ig
-JWQKAAAAAAAAAAAAAAAAbmV0IFZJIG1hYyBhZGRyZXNzIHByb2dyYW1taW5nIGZhaWxlZCBmb3Ig
-ZmNfaWQgJXUgd2l0aCBlcnJvciAlZAoAAAAAAAAAAAAAAAAAAABuZXQgVkkgcnhtb2RlIHByb2dy
-YW1taW5nIGZhaWxlZCBmb3IgZmNfaWQgJXUgd2l0aCBlcnJvciAlZAoAAAAAbmV0IFZJIHJzcyBp
-bmRpcmVjdGlvbiB0YWJsZSBwcm9ncmFtbWluZyBmb3IgZmNfaWQgJXUgZmFpbGVkIHdpdGggZXJy
-b3IgJWQKAAAAAABuZXQgVkkgcnNzIGNvbmZpZyBjb21tYW5kIGZhaWxlZCBmb3IgZmNfaWQgJXUg
-d2l0aCBlcnJvciAlZAoAAAAAbmV0IFZJIGNvbW1hbmQgZmFpbGVkIGZvciBmY19pZCAldSB3aXRo
-IGVycm9yICVkCgAAAAAAAAAAAAAAAAAAAHByb2dyYW1tZWQgSFcgdGFnbSBbMHglMDh4XSwgSFcg
-cGdzeiBmYWN0b3IgWzB4JTA4eF0sIEZPaVNDU0kgdGFnbSBbMHglMDh4XSwgcnRhZ20gWzB4JTA4
-eF0sIG1heHN6X2JpdHMgWyV1XSwgc3pfYml0cyBbJXVdLgoAAAAAYmFzZSBbIDB4JTA4eF0sIGxs
-aW1pdCBbMHglMDh4XSwgdWxpbWl0IFsweCUwOHhdLCBzaXplIFsldV0sIG1heF90eHN6IFsldV0s
-IG1heF9yeHN6IFsldV0sIGlvc2l6ZSBbJXVdCgAAAAAAAAAAAG5wcG9kcyBbJXVdLCBpZHhfbWFz
-ayBbMHglMDh4XSwgaWR4X2ZpcnN0IFsldV0sIGlkeF9sYXN0IFsldV0sIHNjc2lfcGxkX3NpemUg
-WyV1XSwgQUxJR04oc2NzaV9wbGRfc2l6ZSwgMTYpIFsldV0sIHBwZF96b25lcyBbJXVdLgoAAAAA
-AAAAAAAAAAAAAGZvaXNjc2lfaW5pdDogaW5pdF9kb25lOiV1LCBmb2lzY3NpX250YXNrczoldSwg
-Zm9pc2NzaV9uc2VzczoldSwgbmNzb2NrOiV1LCBuc3BvcnRzOiV1LCBmb2lzY3NpX25pbml0OiV1
-LCByYzolZAoAAAAAAAAAAAAAAAAAAAAAY2hfY2xfcmF0ZVsldS8ldV06IGNhcHBlZCBjbGFzcyBy
-YXRlIGZyb20gcmVxdWVzdGVkICV1IHRvIGNvbmZpZ3VyZWQgKGVmZmVjdGl2ZSkgY2hhbm5lbCBy
-YXRlICV1CgAAAAAAAAAAAAAAAAAAAGNoX2NsX3JhdGVbJXUvJXVdOiBpbmNyZWFzZWQgZGVmaWNp
-dF9pbmNyIGZyb20gcmVxdWVzdGVkICV1IHRvIHJlcXVpcmVkIG1pbiBvZiAldTsgcmF0ZSAldSAo
-ZWZmICV1KSBkZWZpY2l0X21heCAldQoAAAAAAAAAAAAAAAAAcGt0c2NoZWQgY2hhbm5lbCAldSBz
-ZXRzIHNwZWVkIChmcm9tICV1KSB0byAldSBrYnBzCgAAAAAAAAAAAAAAAG5ldF9sMmRldl9ub3Rp
-Znk6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIHBvcnQgWyVkXSwgZXZlbnQgWzB4JXhdLCB1
-bHB0eGNoIFsldV0sIGNsYXNzIFsweCV4XSwgdnByaW8gWzB4JXhdLCB2aWQgWzB4JXhdLCB2aV9y
-ZWFkeSBbJXVdCgAAAAAAAG5ldF9sMmRldl9ub3RpZnk6IHBnaWQgWzB4JXhdLCBwcmlvIFsweCV4
-XSwgY2ggWzB4JXhdCgAAAAAAAAAAAABbJXVdIHVuYWJsZSB0byBleGVjdXRlIGludGVybmFsIERD
-Ql9JRUVFX0NNRAoAAABwb3J0WyV1XSBsaW5rIGRvd24gKCV1KSAobHN0YXR1cyAlI3gpCgAAAAAA
-AAAAAABpMmMgZXJyb3IgY2F1c2VkIGJ5IG1vZHVsZSB1bnBsdWcKAAAAAAAAAAAAAAAAAABzZW5k
-dG8gcGVuZGluZzogd3JfcGVuZCAlcCBmb3IgcG9ydCAldSwgd2FudCB0byBzZW5kIHRvIHBvcnQg
-JXUKAAAAAAAAAAAAAAAAAAAAAHBvcnRbJXVdIHVwZGF0ZSAoZmxvd2NpZCAldSByYyAldSkKAAAA
-AAAAAAAAAAAAAHBvcnRfc2V0X2xvb3BiYWNrIHBvcnQgJSN4IGN1cnJlbnQgJSN4IG1vZGUgJSN4
-CgAAAAAAAAAAAAAAAAAAAABwb3J0WyV1XSBzcGVlZCB1cGRhdGU6ICUjeAoAAAAAAHBvcnRbJXVd
-IGJlZ2lubmluZyBkZWJvdW5jZQoAAAAAcG9ydF9saW5rX3N0YXRlX2hhbmRsZXJbJXVdIHBvd2Vy
-aW5nIGRvd24KAAAAAAAAcG9ydF9saW5rX3N0YXRlX2hhbmRsZXJbJXVdIHBvd2VyaW5nIHVwCgAA
-AAAAAAAAcG9ydF9saW5rX3N0YXRlX2hhbmRsZXJbJXVdIHVua25vd24gc3RhdGUgKHN0YXRlID0g
-JSN4KQoAAAAAAAAAAHBvcnRfbGlua19zdGF0ZV9oYW5kbGVyOiBTb21ldGhpbmcgd2VudCB0ZXJy
-aWJseSB3cm9uZy4gcmV0ID0gJWQKAAAAAAAAAAAAAAAAAAAAbGUgaW5pdGlhbGl6YXRpb246IG5l
-bnRyaWVzICV1IHJvdXRlICV1IGNsaXAgJXUgZmlsdGVyICV1IGFjdGl2ZSAldSBzZXJ2ZXIgJXUg
-aGFzaCAldQoAAAAAAAAAAAAAbGUgaW5pdGlhbGl6YXRpb246IG5lbnRyaWVzICV1IHJvdXRlICV1
-IGNsaXAgJXUgZmlsdGVyICV1IHNlcnZlciAldSBhY3RpdmUgJXUgaGFzaCAldSBuc2VydmVyc3Jh
-bSAldQoAAAAAAAAAAAAAAGh3X3RwX2luaXQ6IHRjYiByZWdpb24gKHN0YXJ0IDB4JTA4cyBzaXpl
-ICV1KSBtdXN0IGJlIGluIGZpcnN0IDI1Nk1CIG9mIE1BIG1lbW9yeQoAAAAAAAAAAAAAAAAAAGh3
-X3RwX2luaXQ6IHBnbW5ndCByZWdpb24gKHN0YXJ0IDB4JTA4cyBzaXplICV1KSBtdXN0IGJlIGlu
-IGZpcnN0IDI1Nk1CIG9mIE1BIG1lbW9yeQoAAAAAAAAAAAAAAGh3X3RwX2luaXQ6IFRQIHBnbW5n
-dCBpbml0aWFsaXphdGlvbiBkaWQgbm90IGNvbXBsZXRlCgAAAAAAAAAAAABidWZtX2luaXQ6IG4g
-JXUgYnVmbGw2NGludF9zaXplIDB4JXgKAAAAAAAAAAAAAABidWZtX2luaXQ6IG5vdCBlbm91Z2gg
-bWVtb3J5IHRvIGFsbG9jYXRlIGludGVybmFsIGJ1ZmxsNjQgYnVmZmVycwoAAAAAAAAAAAAAAAAA
-AGJ1Zm1faW5pdDogbm90IGVub3VnaCBtZW1vcnkgdG8gYWxsb2NhdGUgYnVmbGw2NCBidWZmZXJz
-CgAAAAAAAABtZW1faW5pdF9idWY6IG5vdCBlbm91Z2ggbWVtb3J5IHRvIGFsbG9jYXRlIGZsb3cg
-YnVmZmVycwoAAAAAAAAAbWVtX2luaXRfYnVmOiBub3QgZW5vdWdoIG1lbW9yeSB0byBhbGxvY2F0
-ZSB0Y2JfY2FjaGUgKG9mZmVyZWQgJXUgdHJ5aW5nIHRvIHVzZSAldSBhdmFpbGFibGUgJXUpCgAA
-AAAAAAAAAAAAAAAAAG1wYXJ0aXRpb25fb3RoZXJzOiBzdGFydCAweCUwOHggc2l6ZSAldSAodW51
-c2VkICV1KQoAAAAAAAAAAAAAAABtcGFydGl0aW9uX290aGVyczogc3RhcnQgMHglMDh4IHNpemUg
-JXUgKHVudXNlZCAldSkKAAAAAAAAAAAAAAAAbWVtX2luaXQ6IEVEQyBvdmVyY29tbWl0dGVkIGJ5
-ICVkIGJ5dGVzCgAAAAAAAAAAbWVtX2luaXQ6IG5vdCBlbm91Z2ggbWVtb3J5IHRvIGFsbG9jYXRl
-IGZsb3cgdGFibGUKAAAAAAAAAAAAAAAAAGN4Y25pY19kZXZpY2VfaW5pdDogY3hjbmljIFsweCUw
-eF0sIGN4Y25pYy0+ZmlsdGVyIFslMHhdCgAAAAAAAABwb2Zjb2UgaW5pdCBkb25lCgAAAAAAAAAA
-AAAAAAAAAHBvcnRfaW5pdFsldV0gcHR5cGUgMHgleAoAAAAAAAAAUG9ydFsldV06IFVua25vd24g
-U0dNSUkgc3ViLXR5cGUgJSN4CgAAAAAAAAAAAAAAUG9ydFsldV06IFVua25vd24gQlRfWEZJIHN1
-Yi10eXBlICUjeAoAAAAAAAAAAAAAUG9ydFsldV06IFVua25vd24gQlRfWEFVSSBzdWItdHlwZSAl
-I3gKAAAAAAAAAAAAcG9ydF9pbml0WyV1XTogcG9ydCB0eXBlIDB4JXggaXMgbm90IHN1cHBvcnRl
-ZAoAbXBhcnRpdGlvbl9pbml0OiBtb3ZlZCBwbXJ4X3N0YXJ0IGZyb20gMHglMDh4IHRvIDB4JTA4
-eCB0byBtYWtlIHJvb20gZm9yIExFIEhBU0ggYW5kL29yIFRQIFRDQnMKAAAAAAAAAAAAAAAAAAAA
-AG1wYXJ0aXRpb25faW5pdDogbW92ZWQgcG1yeF9zdGFydCBmcm9tIDB4JTA4eCB0byAweCUwOHgg
-KEVEUkFNKQoAAAAAAAAAAAAAAAAAAAAARVEgcGZuICV1IHZmbiAldTogZGVzdHJveWluZyBlcWlk
-ICV1IHdpdGggcGVuZGluZyBXUihzKSAobnVtX2J5dGVzICV1IGFuZCBmbGFncyAweCUwOHgKAAAA
-AAAAAAAAbDJkZXZfZmMtPmZsb3djX2lkIFsldV0sIGwyZGMtPnBmbiBbJXVdLCBsMmRjLT52Zm4g
-WyV1XSwgbDJkYy0+bHBvcnQgWyV1XSwgbDJkZXZfZmMtPmZsb3dpZCBbJXVdIGwyZGMtPnR4X2No
-IFsldV0sIGRldi52cGQucG9ydHZlYyBbJXhdCgAAAAAAAAAAcG9ydHZlYyBbJXVdCgAAAGwyZGV2
-X3ZpX2ZzbTogbWIgWzB4JXhdLCBkZWZlcnJlZCwgc3RhdGUgWzB4JXhdLCBwb3J0IFsweCV4XQoA
-AABsMmRldl92aV9mc206IHZpaWQgWzB4JXhdIHBvcnQgWzB4JXhdLCBtYWMtaWQgWyUwMng6JTAy
-eDolMDJ4OiUwMng6JTAyeDolMDJ4XS4gCgAAAAAAAAAAAAAAAAAAAABsMmRldl92aV9mc206IHNn
-ZV9lcWlkIFsweCV4XSwgc2dlX2lxaWQgWzB4JXhdLCBzZ2VfZXFjciBbMHgleF0sIHJzc19zeiBb
-MHgleF0KAGwyZGV2X3ZpX2ZzbTogbDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl9tdHUgWyV1XSwg
-bWJfc2NyYXRjaCBbMHgleF0sIHBvcnQgWzB4JXhdCgAAAAAAAAAAAAAAAAAAAGwyZGV2X3ZpX2Zz
-bTogdmlpZCBbJWRdLCB2aV9mYy0+Zmxvd2NfdmlfZmxhZ3MgWzB4JXhdCgAAAAAAAAAAAABsMmRl
-dl92aV9mc206IHBmbiBbMHgleF0sIHZmbiBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgl
-eF0sIGxwb3J0IFsweCV4XSwgdmlpZCBbMHgleF0sIGZsYWdzIFsweCV4XQoAAAAAAAAAbDJkZXZf
-dmlfZnNtOiBFcnJvciBmcmVlaW5nIFZJLCByYyBbMHgleF0KAAAAAAAAbDJkZXZfdmlfZnNtOiBw
-aWQgWzB4JXhdLCB2aWlkIFsweCV4XSwgbWJfbG9jIFsweCV4XSwgbWJfb3JpZ1sweCV4XSwgbDJk
-ZXZfZmxhZ3MgWzB4JXhdLCByYyBbMHgleF0KAAAAAAAAAAAAAAAAAEFoIGhhLi4uZG91YmxlIGZy
-ZWUgb3hfaWQgMHgleCwgcnhfaWQgMHgleAoAAAAAAEhvc3QgUFJMSSBSZXNwb25zZSB0aW1lZG91
-dDogb3hfaWQgMHgleCByeF9pZCAweCV4CgAAAAAAAAAAAAAAAABwZm4gJXUgdmZuICV1IHZpYSBj
-b21tYW5kCgAAAAAAAGNvbmZpZ3VyYXRpb24gZmlsZSBwYXJzZXI6IGFuX2FlY190aW1lIHZhbHVl
-ICVkIGlzIGJpZ2dlciB0aGFuIGFsbG93ZWQgbGltaXQuQ2hhbmdpbmcgaXQgdG8gMTAwMDAgbXMu
-CgAAAAAAAAAAAABEZXByZWNhdGVkIGNvbmZpZyBvcHRpb24gZm91bmQgaW4gY29uZmlnIGZpbGUu
-IElnbm9yaW5nLi4KAAAAAAAAc2NoZWRfaW9xdHhfYnBfcHJpb3JpdHk6IGhhcyAldSBlbnRyaWVz
-IG9ubHksIHJlcXVpcmVzICV1IGVudHJpZXMKAAAAAAAAAAAAAAAAAAB0cF9iYWNrb2ZmOiBwYXJz
-ZWQgJWQgaW5zdGVhZCBvZiAldSBlbnRyaWVzCgAAAAB0cF90aW1lcnZhbHM6IHBhcnNlZCAlZCBp
-bnN0ZWFkIG9mICV1IGVudHJpZXMKAAB0cF90aW1lcnJlczogcGFyc2VkICVkIGluc3RlYWQgb2Yg
-JXUgZW50cmllcwoAAAB0cF9tdHVzIGhhcyAldSBlbnRyaWVzIG9ubHksIHJlcXVpcmVzICV1IGVu
-dHJpZXMKAAAAAAAAAAAAAAAAAAAAdHBfbXR1c1sldV0gaXMgJXUgYnl0ZXMgd2hpY2ggaXMgbm90
-IHN1cHBvcnRlZAoAY29uZmlndXJhdGlvbiBmaWxlIHBhcnNlcjogc2dlIHRpbWVyIHZhbHVlWyVk
-XSBpcyB0b28gbGFyZ2UsIGNoYW5naW5nIGZyb20gJXUgdG8gJXV1c2VjcwoAAAAAAAAAZmlsdGVy
-bWFzayAweCV4IGlzIG5vdCBlcXVhbC9zdWJzZXQgdG8vb2YgZmlsdGVybW9kZQoAAAAAAAAAAAAA
-AGh3X2xlX2NsaXBfaGFuZGxlcjogcmVtb3ZlZCBwb3M9JXUgKD1pZHggJXUpCgAAAGh3X2xlX2Ns
-aXBfaGFuZGxlcjogYWRkaW5nIHRvIHBvcz0ldSAoPWlkeCAldSkKAG1vZHVsZVsldV06IHBvcnQg
-bW9kdWxlIGluc2VydGVkIGFuZCByZWFkeQoAAAAAAG1vZHVsZVsldV06IHBvcnQgbW9kdWxlIHJl
-bW92ZWQKAAAAAAAAAAAAAAAAAAAAAG1vZHVsZVsldV06IHVua25vd24gbW9kdWxlIGlkZW50aWZp
-ZXIgMHglMDJ4CgAAAG1vZHVsZVsldV06IGdwaW8gJXUgdHJhbnMgMTBHIDB4JTAyeCAxRyAweCUw
-MnggKGxlbmd0aCAldSkgY2FibGUgMHglMDJ4IChsZW5ndGggJXUpIG1vZHVsZV90eXBlIDB4JTAy
-eAoAAAAAAAAAAABtb2R1bGVbJXVdOiBncGlvICV1IHRyYW5zIDEwRyAweCUwMnggMUcgMHglMDJ4
-IChsZW5ndGggJXUpIGNhYmxlIDB4JTAyeCAobGVuZ3RoICV1KSBtb2R1bGVfdHlwZSAweCUwMngK
-AAAAAAAAAAAAcGZuICV1IHZmbiAldSBGU00gc3RhcnQKAAAAAAAAAABwZm4gJXUgdmZuICV1IEZT
-TSBjb21wbGV0ZQoAAAAAAGZscl9wZnZmX2ZzbVsldToldV06IHVua25vd24gc3RhdGUgJXUKAAAA
-AAAAAAAAAGh3IHBmIGJpdG1hcCAweCUwMnggdmZpZCBiaXRtYXAgMHglMDh4OjB4JTA4eDoweCUw
-OHg6MHglMDh4CgAAAABhZnRlciB2ZmlkIGZpeHVwLCB2ZmlkIGJpdG1hcCAweCUwOHg6MHglMDh4
-OjB4JTA4eDoweCUwOHgKAAAAAAAAdGltZXIgcXVldWUgJXUgbG9zdCBhIHRpY2shIG5leHQgJXAg
-bGFzdCAlcCBudW1lICV1CgAAAAAAAAAAAAAAAGZscl90aW1lcl9zdGFydDogZmxvd2NfaWQgJXUg
-JXAgYnVmICVwCgAAAAAAAAAAAHBjaWU6IG5wZiAldSAocGZiaXRtYXAgMHglMDJ4KSBudmYgJXUg
-KHBmIDAuLjcgMHglMDh4JTA4eCkgdmZzdHJpZGUgJXUKAAAAAAAAAAAAaHdfZ3Bpb19wcmVwOiBl
-cnJvciwgcmV0ICVkCgAAAABmYWlsZWQgdG8gZmluZCB0aGUgJWMlYyBWUEQgcGFyYW1ldGVyCgAA
-AAAAAAAAAABmYWlsZWQgdG8gcGFyc2UgdGhlICVjJWMgVlBEIHBhcmFtZXRlcgoAAAAAAAAAAABt
-ZW1fcHJlcDogZXJyb3IsIHJldCAlZAoAAAAAAAAAAGZhaWxlZCB0byBzdWNjZXNzZnVsbHkgZmlu
-ZCBDaGVsc2lvIFZQRAoAAAAAAAAAAHZwZF9wcmVwOiBlcnJvciwgcmV0ICVkCgAAAAAAAAAAc2Vy
-Y2ZnX3ByZXA6IGVycm9yLCByZXQgJWQKAAAAAABsb2cgaW5pdGlhbGl6ZWQgQCAweCUwOHggc2l6
-ZSAldSAoJXUgZW50cmllcykgZndyZXYgMHglMDh4IHBjaWVfZncgMHglMDh4CgAAAAAAAGdhdGhl
-cl90YXNrc19mb3JfdG1mOiBpZHggWzB4JXhdLCB0YXNrLWlkIFsweCV4XSwgY21kLWlkIFsweCV4
-XSwgYWN0aXZlIHRhc2tzIFsweCV4XS4gY29ubi1pZCBbMHgleF0sIGNtZCBjb25uLWlkIFsweCV4
-XSwgdGFzayBjb25uLWlkIFsweCV4XQoAAGdhdGhlcl90YXNrc19mb3JfdG1mOiBJbnZhbGlkIHR5
-cGUgWzB4JXhdLCBiYWlsaW5nIG91dC4KAAAAAAAAAABnYXRoZXJfdGFza3NfZm9yX3RtZjogdGFz
-ayBpZCBbMHgleF0sIHN0YXRlIFsweCV4XSwgbGlkeCBbMHgleF0sIGNvb2tpZSBoaSBbMHglMDh4
-XSA6IGxvIFsweCUwOHhdCgAAAAAAAAAAAAAAAAAAZ2F0aGVyX3Rhc2tzX2Zvcl90bWY6IHJjIFsw
-eCV4XSwgWzB4JXhdIHRhc2sgZ2F0aGVyZWQgZm9yIHRtZiB0eXBlIFsweCV4XSBwcm9jZXNzaW5n
-LgoAAAAAAAAAAAAAc2NzaV9kYXRhX291dDogY29ubl9mYyBbMHgleF0sIHN0YXRlIFsweCV4XSwg
-c2Vzc19mYyBbMHgleF0gaW4gcmVjb3ZlcnkuIFNraXBwaW5nIGlzdGFza19mYyBbMHgleF0gZnJv
-bSBUWC4KAAAAAHNlbmRfbXNnX3BsZDogZmMgeyBpZCBbMHgleF0sIGZsYWdzIFsweCV4XSwgYnVm
-ZmVyZWQgWyV1XS4gfQoAAABzZW5kX21zZ19wbGQ6IHNlc3MgeyBpZCBbMHgleF0gfSwgdWxwdHhj
-aCBbJXVdIG5vIGNyZWRpdHMgYXZhaWxhYmxlLCByZXNjaGVkdWxpbmcgcmVxdWVzdC4KAAAAAABz
-ZW5kX2Fib3J0X3JlcTogY3NrX2ZjLT5mbG93Y190eXBlIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19p
-ZCBbMHgleF0sIHRpZCBbMHgleF0sIHVscHR4Y2ggWyV1XSwgYnVmZmVyZWQgWyV1XQoAAAAAZmNf
-c2VuZF9hbGxvY19jcGw6IGZhaWxlZCB0byBzZXR1cCBmaWx0ZXIgY3R1cGxlCgAAAAAAAAAAAAAA
-AAAAAGZjb2VfY29tcHV0ZV9jdHVwbGUgMHgleDoleAoAAAAAY29tcHV0ZV9jdHVwbGUoKTogZmFp
-bGVkIHRvIHNldHVwIGZpbHRlciBjdHVwbGUKAAAAAAAAAAAAAAAAAAAAAEZDb0UgRkNCIGxpbmtk
-b3duOiBpb19yZXEgMHgleCV4IGlxaWQgMHgleCBmbG93aWQgMHgleCBvcCAweCV4CgBmY29lIG5v
-dGlmeSA6IFVwZGF0ZSBuZXcgRENCWCB2YWx1ZXMgVkkgc3RhdGUgMHgleCBwcmkgMHgleCBzY2hl
-ZGNsIDB4JXggZGNieF9kb25lIDB4JXgKAAAAAAAAAABmY29lIG5vdGlmeSA6IEZDRiBmbG93aWQg
-MHgleCwgdWxwY2ggMHgleCAKAAAAAABmY29lIG5vdGlmeSA6IEZDb0UgTElOS1VQOiBwb3J0IDB4
-JXgsIGV2ZW50IDB4JXgKAAAAAAAAAAAAAAAAAAAAZmNvZSBub3RpZnkgOiBGQ29FIExJTktET1dO
-OiBwb3J0IDB4JXgsIGV2ZW50IDB4JXgKAAAAAAAAAAAAAAAAAGZjb2Ugbm90aWZ5IDogRENCWCA6
-IHBvcnQgMHgleCwgcHJpb3JpdHkgMHgleCB1bHB0eGNoIDB4JXggY2xhc3MgMHgleAoAAAAAAAAA
-AAAAUkRFViBtc2cgZmxvd2M6JXggc3RhdGUgMHgleCBldmVudCAweCV4CgAAAAAAAAAAY2FuY2Vs
-IGZjYjoleCBzY2I6JXggc3RhdGU6JXgKAABGQ29FIEZDRiB0aW1lcjogZmxvd2Mgc3RhdGUgMHgl
-eCwgcG9ydCAweCV4ICxmY2YgMHgleCwgZmxvd2NfaWQgMHgleAoAAAAAAAAAAAAAAGh3IHJlZ2lz
-dGVyIG9wZXJhdGlvbiBub3QgY29tcGxldGluZywgcmVnIDB4JTA4eCBtYXNrIDB4JTA4eCB2YWx1
-ZSAweCUwOHggKHJlZyAweCUwOHgpCgAAAAAAAAAAAE1ESU8gQ0w0NTogZmFpbGVkIHRvIHNldCB1
-cCBNTUQgYWRkcgoAAAAAAAAAAAAAAE1ESU86IGZhaWxlZCB0byB3cml0ZQoAAAAAAAAAAAAATURJ
-TyBDTDQ1OiBmYWlsZWQgdG8gc2V0IHVwIE1NRCBhZGRyCgAAAAAAAAAAAAAATURJTzogZmFpbGVk
-IHRvIHJlYWQKAAAAAAAAAAAAAAAJQVFfVGFrZUNvbnRyb2xPZkZMQVNIOiAxZS5jMDAxPSUjeCAx
-ZS5jNDUwPSUjeCAxZS5jNDUxPSUjeCAxZS4xMDA9JSN4CgAAAAAAAAAAAEFRX0FQSV9Xcml0ZUFu
-ZFZlcmlmeUZsYXNoSW1hZ2UgLSBJbWFnZSBpbnRlZ3JpdHkgY2hlY2sgZmFpbGVkIChjYWxjICUj
-eCB2YWwgJSN4KQoAAAAAAAAAAAAAAAAAAEFRX0FQSV9Xcml0ZUFuZFZlcmlmeUZsYXNoSW1hZ2Ug
-LSBJbWFnZSBpbnRlZ3JpdHkgY2hlY2sgcGFzc2VkCgBBUV9BUElfV3JpdGVBbmRWZXJpZnlGbGFz
-aEltYWdlIC0gVGltZW91dCB3YWl0aW5nIGZvciBmbGFzaCBpbnRlcmZhY2UgKCV1KQoAAAAAAEFR
-X0FQSV9Xcml0ZUFuZFZlcmlmeUZsYXNoSW1hZ2UgLSBUaW1lb3V0IHdhaXRpbmcgZm9yIGZsYXNo
-IGludGVyZmFjZSAoJXUpCgAAAAAAQVFfQVBJX1dyaXRlQW5kVmVyaWZ5Rmxhc2hJbWFnZSAtIFRp
-bWVvdXQgd2FpdGluZyBmb3IgZmxhc2ggaW50ZXJmYWNlICgldSkKAAAAAABBUV9BUElfV3JpdGVB
-bmRWZXJpZnlGbGFzaEltYWdlIC0gVGltZW91dCB3YWl0aW5nIGZvciBmbGFzaCBpbnRlcmZhY2Ug
-KCV1KSAocHAgJSN4IGFwICUjeCkKAAAAAABBUV9BUElfV3JpdGVBbmRWZXJpZnlGbGFzaEltYWdl
-IC0gVGltZW91dCB3YWl0aW5nIGZvciBmbGFzaCBpbnRlcmZhY2UgKCV1KQoAAAAAAEFRX0FQSV9X
-cml0ZUFuZFZlcmlmeUZsYXNoSW1hZ2UgLSBUaW1lb3V0IHdhaXRpbmcgZm9yIGZsYXNoIGludGVy
-ZmFjZSAoJXUpCgAAAAAAQVFfQVBJX1dyaXRlQW5kVmVyaWZ5Rmxhc2hJbWFnZSAtIEVycm9yIG9u
-IGJ1cm5pbmcgRkxBU0ggKGNyYzE2IG1pc21hdGNoKQoAAAAAAABzZW5kX2Nsb3NlX3JlcTogY3Nr
-X2ZjLT5mbG93Y190eXBlIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+
-dGNiX3N0YXRlIFsweCV4XQoAAABzZW5kX2Nsb3NlX3JlcTogY3NrX2ZjLT5mbG93Y190eXBlIFsw
-eCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIHRpZCBbMHgleF0sIHVscHR4Y2ggWyV1XSxi
-dWZmZXJlZCBbJXVdCgAAAAAAb2ZsZF90Y3BfZG9fYWN0aXZlX2Nsb3NlOiBjc2tfZmMgWzB4JXhd
-LCBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT50Y2Jfc3RhdGUgWzB4JXhdCgAAAAAA
-b2ZsZF90Y3BfZG9fYWN0aXZlX2Nsb3NlOiBjc2tfZmMgWzB4JXhdLCBjc2tfZmMtPmZsb3djX2lk
-IFsweCV4XSwgY3NrX2ZjLT50Y2Jfc3RhdGUgWzB4JXhdCgAAAAAAb2ZsZF90Y3BfZGlzY29ubmVj
-dDogdGNiX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2st
-PnRjYl9zdGF0ZSBbMHgleF0KAAAAZGVjb2RlX2Jhc2U2NF9zdHJpbmc6IGRsZW4gWyVkXQoAAAAA
-AAAAAAAAAAAAAAAAZGVjb2RlX2hleF9zdHJpbmc6IGRsZW4gWyVkXQoAAABmb2lzY3NpX3ZhbGlk
-YXRlX2xvZ2luX3N0YWdlOiAtIDEKAAAAAAAAAAAAAAAAAABhc3luY19wZHU6IGxvZ291dCByZXF1
-ZXN0ZWQgYmxvY2tpbmcgc2Vzc2lvbgoAAABhc3luY19wZHU6IHNlc3MvY29ubiBkcm9wIHJlcXVl
-c3RlZCBibG9ja2luZyBzZXNzaW9uCgAAAAAAAAAAAAAAY3BsX3R4X3BrdDogdmxhbmlkIFsweCV4
-XQoAAAAAAABuZXRfbDJkZXZfZmluZF9ieV9hZGRyOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhd
-LCBsMmRjLT5scG9ydCBbJXVdLCBsMmRfZmMtPmZsb3djX2lkIFsweCV4XSwgbDJkYy0+aW40X2Rl
-di5pbl9hZGRyLmFkZHIgWzB4JXhdLCBhZGRyIFsweCV4XQoAAABuZXRfbDJkZXZfbXR1X2NvbmZp
-ZzogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgbXR1ICV1CgAAAAAAAAAAY3BsX3R4X3BrdDog
-dmxhbmlkIFsweCV4XQoAAAAAAABlbmNvZGUgaGV4IHN0cmluZzogZGxlbiBbJWRdCgAAAGNobmV0
-X2ZpbmRfbDJ0X2VudHJ5OiBkYWRkciBbJTA4eF0sIFsweCUwOHhdLCBsb2NhbCBuZXR3b3JrIFsl
-ZF0KAAAAAAAAAAAAAAAAAAAAbDJ0ZW50IFslMHhdLCBsMnRlbnQtPmlkeCBbJWRdCgB0Y3Bfc2Vu
-ZF9hb3Blbl9yZXE6IGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRl
-IFsweCV4XSwgYnVmZmVyZWQgWyV1XSwgcmVzX2NudCBbMHgleF0sIGlxX2lkeCBbMHgleF0KAAAA
-AAAAAAAAAHRjcF9zZW5kX2FvcGVuX3JlcTogY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19m
-Yy0+Zmxvd2Nfc3RhdGUgWzB4JXhdLCBubyB2YWxpZCBsMnRfZW50eS4gRGVsYXlpbmcgYW5vdGhl
-ciByZXRyeSBmb3IgMSBzZWNvbmRzLgoAAAAAAAAAAAAAAAAAAGFvcGVuX3JlcTogaHdfbGVfZmls
-dGVyX2N0dXBsZSBmYWlsZWQKAAAAAAAAAAAAAG9mbGRfdGNwX3NlbmRfYW9wZW5fcmVxOiBjcGxf
-cmVxLT5GaWx0ZXIgWzB4JTB4XSwgY3R1cGxlc1swXSBbMHgleF0sIGN0dXBsZXNbMV0gWzB4JXhd
-CgAAAAAAAAAAAGxhZGRyX3JldDogbDJkYy5hZGRyIDoweCV4LCBzcmNfYWRkcjoweCV4CgAAAAAA
-AGNzb2NrX2FsbG9jOiBzcmNfYWRkcjoweCV4LCBkc3RfYWRkcjoweCV4CgAAAAAAAGNza19hbGs6
-IEludmFsaWQgbDJkZXY6MHgleAoAAAAAY3NrX2FsazogbmV4dDoldSwgaWR4OiV1LCB1c2VkOiV1
-LCBzcG9ydDoldQoAAAAAY3NvY2tfYWxsb2M6IGNzb2NrX3NyY19hZGRyOjB4JXgsIGNzb2NrX2Rz
-dF9hZGRyOjB4JXgKAAAAAAAAAAAAAGNzb2NrX2FsbG9jOiB0eF9jaCBbMHgleF0sIGxwb3J0IFsw
-eCV4XSwgY29va2llIFslMDh4XQoAAAAAAAAAAABjc29ja19hbGxvYzogYXZhaWxhYmxlIFsldV0s
-IG5jc29jayBbJXVdLCBwb3M6YXRpZCBbMHgleF0sIGNza19mYyBbMHgleF0sIGNza19mYy0+Zmxv
-d2NfaWQgWzB4JXhdLCBzcG9ydCBbJXVdCgAAaXR0X3RvX3Rhc2tfaWR4OiB0YWcgWzB4JTA4eF0s
-IGhpIFsldV0sIGxvIFsldV0sIG5tYXNrYml0cyBbJXVdLCB0YXNrX2lkeCBbJXVdCgBXQVRDSERP
-RzogTm8gdGVtcGVyYXR1cmUgc2Vuc29yIGF2YWlsYWJsZS4KAAAAAABXQVRDSERPRzogQWN0aXZh
-dGluZwoAAAAAAAAAAAAAAFdBVENIRE9HIC0gRW5hYmxlIGFjdGlvbiAldSB0aW1lICV1CgAAAAAA
-AAAAAAAAAFdBVENIRE9HIC0gRGlzYWJsZSBhY3Rpb24gJXUKAAAAV0FUQ0hET0c6IERlLWFjdGl2
-YXRpbmcKAAAAAAAAAABwb3J0WyV1XSBzZXQgUEFVU0UgUEFSQU1TOiBwcHBlbiAldSB0eHBlICUj
-eCByeHBlICUjeAoAAAAAAAAAAAAAbXBzX2xpbmtfdXBbJXVdIGFjYXBzICUjeCAoODAyLjMgJSN4
-KSArIGxwYWNhcHMgJSN4ID0+ICUjeAoAAAAAAGZvaXNjc2kgY29ubl9mYyBbMHgleF0sIGZsb3dj
-X3NjaGVkY2wgWzB4JXhdLCBpbmdfY2ggWzB4JXhdLCBlZ3JfY2ggWzB4JXhdCgAAAAAAbDJkZXZf
-bm90aWZ5IHdpdGggdW5rbm93biBmbGFnIFsweCV4XQoAAAAAAAAAAAAAY2hfY2xfcmF0ZVsldS8l
-dV06IGNhcHBlZCBkZWZpY2l0X2luY3IgZnJvbSByZXF1aXJlZCAldSB0byAldTsgcmF0ZSAldSAo
-ZWZmICV1KSBkZWZpY2l0X21heCAldQoARENCWDogc3VtIG9mIHJhdGVzIG9uIGFsbCBjbGFzc2Vz
-IG11c3QgYmUgMTAwIChhY3R1YWw6ICV1KQoAAAAAAHdvcmthcm91bmQxMzcyMzogZGV0ZWN0ZWQg
-V1IgQCAweCUwOHggb2Ygc2l6ZSAldSBieXRlcywgZHJpYmJsaW5nIGl0IGluICV1IGJ5dGVzIGF0
-IGEgdGltZQoAAAAAAHJpX3dyX2luaXRbJXVdOiBtc3MgJXUgaXMgbm90IDgtYnl0ZSBhbGlnbmVk
-CgAAAGNvcmVfcHJvZ3JhbV90Y2I6IHRpZCAlI3ggdF9zdGF0ZSAlI3ggcmN2X2FkdiAweCUwOHgg
-cmN2X3NjYWxlICUjeCB0eF9tYXggJSN4IHJjdl9ueHQgJSN4IGF0aWQgJSN4CgAAAAAAAAAAAAAA
-AAAJb3B0MCAlI3gleCBvcHQyICUjeCBpcHY2ICUjeCBmbGFnc190aW1lciAweCUwOHgKAAAAAAAA
-AAAAAAAAAAAAb2ZsZF9jb25uZWN0aW9uX3dyOiBjb25uZWN0aW9uIHdpdGggNS10dXBsZSBscCAw
-eCUwNHggZnAgMHglMDR4IGxpcCAweCUwOHglMDh4IHBpcCAweCUwOHglMDh4IGZpbHRlciAweCUw
-OHggZXhpc3RzIEAgTEUgaW5kZXggJXUKAAAAAAAAAAAAAAAAAAAAb2ZsZF9jb25uZWN0aW9uX3dy
-OiBjb25uZWN0aW9uIHdpdGggNS10dXBsZSBscCAweCUwNHggZnAgMHglMDR4IGxpcCAweCUwOHgg
-cGlwIDB4JTA4eCBmaWx0ZXIgMHglMDh4IGV4aXN0cyBAIExFIGluZGV4ICV1CgAAAAAAAABvZmxk
-X2Nvbm5lY3Rpb25fd3I6IGNvbm5lY3Rpb24gd2l0aCA1LXR1cGxlIGxwIDB4JTA0eCBmcCAweCUw
-NHggbGlwIDB4JTA4eCUwOHggcGlwIDB4JTA4eCUwOHggZmlsdGVyIDB4JTA4eAoAAAAAb2ZsZF9j
-b25uZWN0aW9uX3dyOiBjb25uZWN0aW9uIHdpdGggNS10dXBsZSBscCAweCUwNHggZnAgMHglMDR4
-IGxpcCAweCUwOHggcGlwIDB4JTA4eCBmaWx0ZXIgMHglMDh4CgAAAAAAAAAAAAAAAElRRkxJTlQg
-cGZuICV1IHZmbiAldTogaXFpZCAldSB0b28gbGFyZ2UgKG1heCAldSkKAAAAAAAAAAAAAAAAAABJ
-UUZMSU5UIHBmbiAldSB2Zm4gJXU6IGlxaWQgJXUgbm90IGFsbG9jYXRlZAoAAABJUUZMSU5UIHBm
-biAldSB2Zm4gJXU6IGZsMGlkICV1IHRvbyBsYXJnZSAobWF4ICV1KQoAAAAAAAAAAAAAAAAASVFG
-TElOVCBwZm4gJXUgdmZuICV1OiBmbDBpZCAldSBub3QgYWxsb2NhdGVkCgAASVFGTElOVCBwZm4g
-JXUgdmZuICV1OiBmbDFpZCAldSB0b28gbGFyZ2UgKG1heCAldSkKAAAAAAAAAAAAAAAAAElRRkxJ
-TlQgcGZuICV1IHZmbiAldTogZmwxaWQgJXUgbm90IGFsbG9jYXRlZAoAAElRRkxJTlQgcGZuICV1
-IHZmbiAldTogZmwxaWQgJXUgaXMgdmFsaWQgYnV0IG5vdCBmbDBpZCAldQoAAAAAAABJUUZMSU5U
-IHBmbiAldSB2Zm4gJXU6IGZsMWlkICV1IGlzIHZhbGlkIGJ1dCBoZWFkZXIgc3BsaXQgZmVhdHVy
-ZSBpcyBub3QgZW5hYmxlZAoAAAAAAAAAAAAAAAAAAABod191bHB0eF93b3JrYXJvdW5kX3ByMTY5
-NDlfZW5hYmxlZF92ZmlkOiB2ZmlkICV1IGVuYWJsZWQgJXUKAAAARVEgcGZuICV1IHZmbiAldTog
-Y3JlYXRpbmcgRVRIIGVxaWQgJXUgd2l0aCBwZW5kaW5nIFdSKHMpIChudW1fYnl0ZXMgJXUgYW5k
-IGZsYWdzIDB4JTA4eAoAAAAAAAAARVEgcGZuICV1IHZmbiAldTogY3JlYXRpbmcgQ1RSTCBlcWlk
-ICV1IHdpdGggcGVuZGluZyBXUihzKSAobnVtX2J5dGVzICV1IGFuZCBmbGFncyAweCUwOHgKAAAA
-AAAARVEgcGZuICV1IHZmbiAldTogZXFpZCAldSB0b28gbGFyZ2UgKG1heCAldSkKAAAARVEgcGZu
-ICV1IHZmbiAldTogZXFpZCAldSBub3QgYWxsb2NhdGVkCgAAAAAAAAAAaHdfY2ltX3RwX3dvcmth
-cm91bmQxMzcyM19lbmFibGU6IHBvcnQgJXUgcHJvdG9jb2wgMHgleCBlbiAldSBjdXJyZW50IDB4
-JXggd29ya2Fyb3VuZF9wcjEzNzIzIDB4JXggbmV4dCAweCV4CgAAAGRjYnhfcG9wdWxhdGVfY3Ry
-bCBjb2RlIGluY29tcGxldGUKAAAAAAAAAAAAAAAAAHZpX3RjYW1fcmF3IGlkeCAldSBtYWMgMHgl
-MDR4ICUwOHgKAAAAAAAAAAAAAAAAAHBvcnRfYmxpbmtfbGVkX3Jlc3RvcmUKAAAAAAAAAAAAcG9y
-dF9ibGluazogYmxpbmtkdXI9MHgleCBibGlua19yZWZjbnQKAAAAAAAAAAAAcG9ydF9ibGluazog
-CWJsaW5rX3JlZmNudD0weCV4CgBwb3J0X2JsaW5rOiAJYmxpbmtfcmVmY250PTB4JXgKAG1paV9h
-ZHZfZmNbJXVdOiByY2FwcyAweCV4CgAAAAAAbWlpX2Fkdl9zcGVlZFsldV06IHJjYXBzIDB4JXgK
-AABtaWlfaW5pdFsldV06IGFjYXBzIDB4JXgKAAAAAAAAAHBvcnRbJXVdOiBnYXZlIHVwIGZpeGlu
-ZyBlcnJvcnMhISEKAAAAAAAAAAAAAAAAAG1paV9hbnJlc3RhcnRbJXVdOiBhY2FwcyAweCV4CgAA
-aHdfeGdtX3BvcnRfbHBiayBwb3J0ICV1IHB0eXBlICUjeCBhY3Rpb24gJSN4CgAAcG9ydF9jbWRf
-aGFuZGxlcjogdW5rbm93biB1LmRjYi50eXBlIDB4JXgKAAAAAAAAcG9ydFsldToweCUwMng6MHgl
-MDJ4XTogbDFjZmcsIGludmFsaWQgcmVxdWVzdCwgcGNhcHMgMHgleCBhY2FwcyAweCV4IHJjYXBz
-IDB4JXgKAAAAAAAAAAAAAAAAAAAAcG9ydFsldToweCUwMng6MHglMDJ4XTogbDFjZmcsIHBjYXBz
-ICUjeCBhY2FwcyAlI3ggcmNhcHMgJSN4IG1jYXBzICUjeAoAAAAAAAAAAABwb3J0WyV1XTogbDFj
-ZmcsIHVuc3VwcG9ydGVkIEZFQywgcmNhcHMgJSN4CgAAAABwb3J0WyV1OjB4JTAyeDoweCUwMnhd
-OiBsMWNmZywgbWRpIGlzc3VlIHBjYXBzIDB4JXggYWNhcHMgMHgleCByY2FwcyAweCV4CgAAAAAA
-AHBvcnRbJXU6MHglMDJ4OjB4JTAyeF06IGwxY2ZnLCBjYW5ub3QgZm9yY2Ugbm8vbXVsdGlwbGUg
-c3BlZWQocyksIHBjYXBzIDB4JXggYWNhcHMgMHgleCByY2FwcyAweCV4CgAAAAAAAAAAAAAAAABi
-YWQgRmxvd0MgJWQgb24gZXN0YWJsaXNoZWQgY29ubmVjdGlvbgoAAAAAAAAAAABldGhfZmxvd2Nf
-aGFuZGxlclsweCV4XTogZmxhZ3MgMHglMDh4IG51bV9ieXRlcyAldSBzY2hlZGNsIDB4JXggLT4g
-MHgleAoAAAAAAAAAAHRhc2tfaWR4X3RvX2l0dDogdGFza19pZHggWyV1XSwgaGkgWyV1XSwgbG8g
-WyV1XSwgbm1hc2tiaXRzIFsldV0sIHN3X3RhZyBbMHglMDh4XSwgcHBvZF9pZHggWyVkXQoAAAAA
-AAAAAAAAAAAAAABzY3NpX2NtZDogcmVjZWl2ZWQgVE1GIG9wIFsweCV4XSBmdW5jIFsweCV4XSBv
-biBjb25uIFsweCV4XSB0aHJvdWdoIGNvbW1hbmQgcGF0aC4KAAAAAAAAAAAAAAAAAABzY3NpX2Nt
-ZDogY29ubl9mYyBbMHgleF0sIHN0YXRlIFsweCV4XSwgc2Vzc19mYyBbMHgleF0gaW4gcmVjb3Zl
-cnkuIFNraXBwaW5nIGlzdGFza19mYyBbMHgleF0gZnJvbSBUWC4KAAAAAAAAAAAAc2NzaV9yZWFk
-OiBjb25uX2ZjIFsweCV4XSwgc3RhdGUgWzB4JXhdLCBzZXNzX2ZjIFsweCV4XSBpbiByZWNvdmVy
-eS4gU2tpcHBpbmcgaXN0YXNrX2ZjIFsweCV4XSBmcm9tIFRYLgoAAAAAAAAAAHNjc2lfd3JpdGU6
-IGNvbm5fZmMgWzB4JXhdLCBzdGF0ZSBbMHgleF0sIHNlc3NfZmMgWzB4JXhdIGluIHJlY292ZXJ5
-LiBTa2lwcGluZyBpc3Rhc2tfZmMgWzB4JXhdIGZyb20gVFguCgAAAAAAAABkY2J4X2NvbnRyb2xf
-c21bJXVdIENPTlRST0xfTElOS1VQCgAAAAAAAAAAAAAAAABkY2J4X2NvbnRyb2xfc21bJXVdIENP
-TlRST0xfVVBEQVRFX0RDQlhfVExWCgAAAABkY2J4X2NvbnRyb2xfc21bJXVdIENPTlRST0xfUEVF
-Ul9OT1RfQURWRVJUSVNFX0RDQlgKAAAAAAAAAAAAAAAAZGNieF9jb250cm9sX3NtWyV1XSBDT05U
-Uk9MX1VQREFURV9PUEVSX1ZFUlNJT04KAAAAAAAAAAAAAAAAAAAAAGRjYnhfY29udHJvbF9zbVsl
-dV0gQ09OVFJPTF9QUk9DRVNTX1BFRVJfVExWCgAAAGRjYnhfY29udHJvbF9zbVsldV0gQ09OVFJP
-TF9BQ0tfUEVFUgoAAAAAAAAAAAAAAGRjYnhfaWVlZV92YWxpZGF0ZVsldV0gZXJyb3IgKG91aSAl
-I3ggc3VidHlwZSAlI3ggbGVuICUjeCkKAAAAAABkY2J4X2NlZV92YWxpZGF0ZVsldV0gZXJyb3IK
-AAAAAHByb2Nlc3NfZGhjcF9vcHRzOiByb290IHBhdGggbGVuIFslZF0gYnl0ZXMKAAAAAG5ldGlm
-X3Byb2Nlc3NfZGhjcF9vcHRzOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBNU0dfVFlQRSBb
-JWRdLCBkaGN0eHQtPnN0YXRlIFslZF0KAAAAAAAAAAAAAGljbXBfcmVjdjogbDJkZXZfZmMtPmZs
-b3djX2lkIFsweCV4XSwgcGlkIFsweCV4XSwgaWNtcCB0eXBlIFsweCV4XQoAAAAAAAAAAAAAAAAA
-dm4ydm46IHBvcnQgMHgleCBkaWQ6MHgleCV4JXggVVAKAAAAAAAAAAAAAAAAAAAAdm4ydm46IHBv
-cnQgMHgleCBkaWQ6MHgleCV4JXggRE9XTgoAAAAAAAAAAAAAAAAAZmNfc2VuZF9hbGxvY19jcGw6
-IGZhaWxlZCB0byBzZXR1cCBmaWx0ZXIgY3R1cGxlCgAAAAAAAAAAAAAAAAAAAGZjb2VfY29tcHV0
-ZV9jdHVwbGUgMHgleDoleAoAAAAAY29tcHV0ZV9jdHVwbGUoKTogZmFpbGVkIHRvIHNldHVwIGZp
-bHRlciBjdHVwbGUKAAAAAAAAAAAAAAAAAAAAAGZjb2VfY29tcHV0ZV9jdHVwbGUgdmxhbiAleCB2
-aWlkICV4IHBvcnQgJXggbXBzX2lkeCAleAoAAAAAAAAAAABBQlRTIEFDQyBhd2FpdGluZyBQUkxJ
-IFJzcDogZmxvd2NfaWQgMHgleCBveF9pZCAweCV4IHJ4X2lkIDB4JXggaXFpZCAweCV4CgAAAAAA
-AHBvcnQgMHgleCwgc3RhdGUgMHgleCwgY29tbWFuZCBmYWlsZWQgcmV0cmllcyAweCV4CgAAAAAA
-AAAAAAAAAABhcnBfcmVjdjogaXBpZCBbMHgleF0sIGluX2FkZHIuYWRkciBbMHgleF0sIHNpcCBb
-MHgleF0sIHJpcCBbMHgleF0sIGFycF9vcCBbMHgleF0KAAAAAAAAAAAAAAAAAABjaG5ldF9hcnBf
-cmVjdjogaXAgY29uZmxpY3QgZGV0ZWN0ZWQKAAAAAAAAAAAAAABjaG5ldF9hcnBfcmVjdjogcGlk
-IFsldV0sIHZsYW4gWzB4JXhdLCBhcnAgb3AgWzB4JXhdLCBzaXAgWzB4JXhdLCByaXAgWzB4JXhd
-CgAAAGNzb2NrX2ZyZWU6IHNpemVvZihjc2tfZmMtPnUuY3NvY2spIFsldV0sIGJ5dGVzCgAAAAAA
-AAAAAAAAAAAAAABHb3QgQ09OTl9FWElTVCBmb3IgeGlkOjB4JXgsIHRhZzoweCV4LCByZXRyeWlu
-Zy4KAAAAAAAAAAAAAAAAAAAAY3NvY2tfcGVlcl9jbG9zZTogY3NrX2ZjLT5mbG93Y19pZCBbMHgl
-eF0sIHRjYl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwg
-dGNiX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0KAAAAAABjc29ja19wZWVyX2Nsb3NlOiBjc2tfZmMt
-PmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19zdGF0ZSAgWzB4JXhdCgAAAAAAAAAAAHRj
-cF9jbHNfYWJydF9ycGw6IHRjYiB0aWQgWzB4JTA2eF0sIGZsb3djX3R5cGUgWzB4JXhdLCBjcGxv
-cCBbMHgleF0gZmxvd2Nfc3RhdGUgMHgleAoAAAAAAAAAAAAAAGNoX3JhdGVbJXVdOiBjYXBwZWQg
-dGljayBmcm9tIHJlcXVpcmVkICV1IHRvIHN1cHBvcnRlZCAldTsgcmF0ZSAldSAoZWZmICV1KSBk
-ZWZpY2l0X2luY3IgJXUgdGljayAldQoAAAAAAAAAAAAAAABwa3RzY2hlZF9jaF9ybFsldV06IGNo
-YW5uZWwgcmwgbm90IGF2YWlsYWJsZSBpbiBjb25qdW5jdGlvbiB3aXRoIGZsb3cgc2hhcGluZwoA
-AHBrdHNjaGVkX2NoX3JsWyV1XTogcmF0ZSAldSBtYXggJXUKAAAAAAAAAAAAAAAAAHBrdHNjaGVk
-X2NsX3dyclsldToldV06IHdlaWdodCAldQoAAAAAAAAAAAAAAAAAAGVxX3BhcmFtc1sweCV4OjB4
-JXhdOiBkbWFxIDB4JXggcmVhZCAldSBwZiAldSBlcWlkX2FwaSAldSByZXQgJWQKAAAAAAAAAAAA
-AAAAAAAAaHdfbWFfYWRkcl90b19tZW1fdHlwZV9vZmY6IE1BIGFkZHJlc3MgMHglMDh4IGlzIG5v
-dCBtYXBwZWQKAAAAAGh3X21hX2FkZHJfdG9fbWVtX3R5cGVfb2ZmOiBNQSBhZGRyZXNzIDB4JTA4
-eCBtYXBzIHRvIHR5cGUgJXUgb2Zmc2V0IDB4JXgKAAAAAAAAbWVtX21hbGxvY190ZW1wOiBmYWls
-ZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMsIHJldHVybmluZyBOVUxMCgAAAG1lbV9tYWxsb2M6IGZh
-aWxlZCB0byBhbGxvY2F0ZSAldSBieXRlcywgcmV0dXJuaW5nIE5VTEwKAAAAAAAAAABsZSBjb25m
-aWd1cmF0aW9uOiBoYXNoIG1vZGUgcmVxdWlyZXMgYXQgbGVhc3QgMTYgZW50cmllcywgbmhhc2gg
-JXUKAAAAAAAAAAAAAAAAAGxlIGNvbmZpZ3VyYXRpb246IGhhc2ggbW9kZSByZXF1aXJlcyBhdCBl
-bnRyaWVzIHRvIGJlIGEgcG93ZXIgb2YgMiwgbmhhc2ggJXUKAAAAbGUgY29uZmlndXJhdGlvbjog
-cmVxdWVzdGVkICV1IHRjYW0gZW50cmllcyBidXQgb25seSAldSBhdmFpbGFibGUgKG5yb3V0ZSAl
-dSBuY2xpcCAldSBuZmlsdGVyICV1IG5zZXJ2ZXIgJXUKAAAAAGxlIGNvbmZpZ3VyYXRpb246IHRj
-YW0gcmVnaW9ucyBtdXN0IGhhdmUgbXVsdGlwbGUgb2YgMzIgZW50cmllcywgbnJvdXRlICV1IG5j
-bGlwICV1IG5maWx0ZXIgJXUgbnNlcnZlciAldQoAAAAAAABod190cF90Y3BfdHVuaW5nczogdHVu
-aW5nIGZvciBjbHVzdGVyIGVudmlyb25tZW50CgAAAAAAAAAAAAAAAAAAaHdfdHBfdGNwX3R1bmlu
-Z3M6IHR1bmluZyBmb3IgTEFOIGVudmlyb25tZW50CgAAaHdfdHBfdGNwX3R1bmluZ3M6IHR1bmlu
-ZyBmb3IgV0FOIGVudmlyb25tZW50CgAAaHdfdHBfdGNwX3R1bmluZ3M6IG1hbnVhbCB0dW5pbmcK
-AAAAAAAAAAAAAAAAAAAAX2h3X2NpbV9mbGFzaF9tZW1jcHk6IG1lbWNweVggc3RhcnQKAAAAAAAA
-AAAAAAAAX2h3X2NpbV9mbGFzaF9tZW1jcHk6IGRzdCAweCUwOCBvZmZzZXQgMHglMDh4IHNpemUg
-JXUsIHdpZHRoIG9mICV1IGlzIG5vdCBzdXBwb3J0ZWQKAAAAAAAAAAAAAAAAX2h3X2NpbV9mbGFz
-aF9tZW1jcHk6IG1lbWNweVggZW5kCgAAAAAAAAAAAAAAAAAAY29uZmlndXJhdGlvbiBmaWxlIHBh
-cnNlciBlbmNvdW50ZXJlZCBlcnJvciBAIGxpbmUgJXU6CgAAAAAAAAAAAGh3X2kyY190cmFuc2Fj
-dGlvbjogbmRhdGEgJXUgYWRkcl9vcCAweCV4IGRhdGFbMF0gMHgleCBkaWZmICV1CgBod19pMmNf
-dHJhbnNhY3Rpb246IG5kYXRhICV1IGFkZHJfb3AgMHgleCBkYXRhWzBdIDB4JXggZGlmZiAldSBk
-cG9zICV1IGNvbnQgJXUgZmFpbGVkIHdpdGggZXJyICVkCgAAAAAAAAAAAAAAAAAAaTJjIHRyYW5z
-YWN0aW9uIGZhaWxlZCB0byBjb21wbGV0ZQoAAAAAAAAAAAAAAAAASE9TVCBQQUdFX1NJWkUgWzB4
-JTBseF0gdG9vIHNtYWxsLCBtaW4gWzB4JTBseF0gcmVxdWlyZWQKAAAAAAAAAHBhZ2Ugc2l6ZSBb
-JWx1XSBtaXNtYXRjaAoAAAAAAAAAUEFHRSBzaXplICVsdSB1bnN1cHBvcnRlZCwgZGRwIGRpc2Fi
-bGVkCgAAAAAAAAAASG9zdCBwYWdlX3NpemUgJWx1LCBkZHBfaWR4ICV1CgBGQ29FIEREUCBpbml0
-OiBmY29lIGxsaW1pdCAweCV4LCBmY29lIHVsaW1pdCAweCV4IGdibCBsbGltaXQgMHgleCBnYmwg
-dWxpbWl0IDB4JXggcGNic3ogJXgKAAAAAABGQ29FIEREUCBpbml0OiBmY29lIHBwb2Qgb2ZmIDB4
-JXgsIGZjb2Ugc3QgcHBvZCBhZGRyIDB4JXggZmNvZSBudW0gcHBvZHMgMHgleAoAAGZjb2UgeGNo
-ZyBtZ3IgaW5pdDogTnVtYmVyIG9mIGV4Y2hhbmdlcyBmb3IgRkNvRSBpcyAleAoAAAAAAAAAAABm
-Y29lX2wydF9pbml0OiBObyB1bHB0eCBjcmVkaXQgY2g6WyV1XQoAAAAAAAAAAABmY29lX2wydF9p
-bml0OiBjaDpbJXVdIGwydF9pZHggWyV1XQoAAAAAAAAAAAAAAABubyBsMnQgZW50cmllcyBjb25m
-aWd1cmVkOyBmb3JjaW5nICV1IGVudHJpZXMsIHN0YXJ0aW5nIGF0ICV1CgAAZGNieF9pZWVlX2Nv
-bnN0cnVjdFsldV0gZXRzICV1IHBmYyAldSBhcHAgJXUKAAAAZGNieF90aW1lb3V0WyV1XQoAAAAA
-AAAAAAAAAAAAAABkY2J4X3J1bl92ZXJzaW9uX3NtWyV1XSBEQ0JYX1ZFUl9TVEFURV9SVU5fSUVF
-RQoAAAAAAAAAAAAAAAAAAAAAZGNieF9ydW5fdmVyc2lvbl9zbVsldV0gRENCWF9WRVJfU1RBVEVf
-UlVOX0NFRQoAZGNieF9ydW5fdmVyc2lvbl9zbVsldV0gRENCWF9WRVJfU1RBVEVfUlVOX05PTkUK
-AAAAAAAAAAAAAAAAAAAAAHBvcnRbJXVdIGxpbmsgdXAgKCV1KSAoc3BlZWQgJSN4IGFjYXBzICUj
-eCBscGNhcHMgJSN4KQoAAAAAAAAAAABwb3J0X2hzc19zaWdkZXRbJXVdOiBoc3Nfc2lnZGV0IGNo
-YW5nZWQgdG8gMHgleAoAAAAAAAAAAAAAAAAAAAAAcG9ydFsldV0gcmVzZXR0aW5nIEtSCgAAAAAA
-AAAAAABRU0ZQIG1vZHVsZSB1bnBsdWcgLSByZWluaXRpYWxpemluZyByeF9sb3MgIHRvIDB4ZmYK
-AAAAAAAAAAAAAAAAZ3Bpb19xc2ZwX21vZHVsZV91cGRhdGU6IGNoYW5nZWQgcnhfbG9zIGZyb20g
-MHgleCB0byAweCV4CgAAAAAAAGdwaW9fcXNmcF9tb2R1bGVfdXBkYXRlOiBjaGFuZ2VkIHR4X2Rp
-cyBmcm9tIDB4JXggdG8gMHgleAoAAAAAAABDYWxjdWxhdGlvbiBvdXQgb2YgYm91bmRzIGZ1cmlu
-ZyBpbml0OiAlI3ggJSN4ICUjeAoAAAAAAAAAAAAAAAAAaHdfc2dlX21hbWVtX2luaXQ6IGVuY291
-bnRlcmVkIGVycm9yICVkCgAAAAAAAAAAX2h3X3RwX3BnbW5ndDogdHhfcGFnZV9tYXggJXUgcnhf
-cGFnZV9tYXggJXUgcHN0cnVjdHMgJXUgc2l6ZSAldQoAAAAAAAAAAAAAAAAAAABtcGFydGl0aW9u
-X290aGVyc190b3RhbDogZGRwICV1IGRkcF9pc2NzaSAldSBzdGFnICV1IHBibCAldSBycSAldSBy
-cXVkcCAldSAtPiAldQoAAAAAAAAAAAAAAAAAAABfbXBhcnRpdGlvbl9iYW5rc19tY1g6IG5iYW5r
-c19wbXR4ICV1ICgldU1CKSBuYmFua3NfcG1yeCAldSAoJXVNQikgbmJhbmtzX290aGVycyAldSAo
-JXVNQikgbmJhbmtzX2Z3ICV1ICgldU1CKQoAX21wYXJ0aXRpb25fYmFua3NfbWMxOiBuYmFua3Nf
-cG10eCAldSAoJXVNQikgbmJhbmtzX290aGVycyAldSAoJXVNQikgbmJhbmtzX2Z3ICV1ICgldU1C
-KQoAAAAAAAAAX21wYXJ0aXRpb25fYmFua3NfbWMwOiBuYmFua3NfcG1yeCAldSAoJXVNQikgbmJh
-bmtzX290aGVycyAldSAoJXVNQikKAAAAAAAAAAAAAABtZW1fbWFsbG9jX2ludGVybmFsOiBmYWls
-ZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMsIHJldHVybmluZyBOVUxMCgAAAAAAAAAAAAAAAAAAAGh3
-X2VkY19iaXN0WyV1XTogYmlzdF9jbWRbMHglMDh4XSBhZGRyIDB4JXggbGVuIDB4JXgKAAAAAAAA
-AAAAAABod19lZGNfYmlzdFsldV06IGRvbmUsIGVuY291bnRlcmVkICV1IGVycm9ycyBvbiBmaXJz
-dCBhbmQgJXUgZXJyb3JzIG9uIHNlY29uZCBhdHRlbXB0ICgldWdicHMpCgBtZW1faW5pdF9jYWNo
-ZXM6IGNhY2hlX3NpemUgJXUgZmxvd2NfYnVmX3RjYl9jYWNoZV9zaXplICV1IGJ1ZmxsNjRfY2Fj
-aGVfc2l6ZSAldQoAAAAAAAAAAAAAAAAAAABxdWV1ZXNfcGVyX3BhZ2U6IHBmICV1IGhhcyBhIGJh
-cnNpemUgb2YgJXUtYnl0ZXMsIG9jcV9zaXplICV1CgAAc2dlIHJlcXVpcmUgbmVxICV1IG5pcSAl
-dSByb3VuZGluZyB0byAldSAldQoAAAAAbXBhcnRpdGlvbl9wbXR4OiBtIDB4JTA4eCBzaXplICV1
-CgAAAAAAAAAAAAAAAAAAbXBhcnRpdGlvbl9wbXJ4OiBtIDB4JTA4eCBzaXplICV1CgAAAAAAAAAA
-AAAAAAAAbXBhcnRpdGlvbl9lZGMgKG5vIGV4dG1lbSk6IG0gMHglMDh4IHNpemUgJXUKAAAAbXBh
-cnRpdGlvbl9lZGNfZXN0aW1hdGU6IGh3IG1vZHVsZXMgcmVxdWlyZSAlZCBieXRlcyBpbiBFREMK
-AAAAAGNobmV0X2J5ZTpsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBsMmRldl9mYy0+Zmxvd2Nf
-cGNpZV9wZm4gWzB4JXhdLCBsMmRldl9mYy0+Zmxvd2NfcGNpZV92Zm4gWzB4JXhdLCBwb3J0IFsw
-eCV4XQoAAAAAAAAAAAAAAAAAY2huZXRfYnllOnZsYW5kZXZfZmMtPmZsb3djX2lkIFsweCV4XSwg
-dmxhbmRldl9mYy0+Zmxvd2NfcGNpZV9wZm4gWzB4JXhdLCB2bGFuZGV2X2ZjLT5mbG93Y19wY2ll
-X3ZmbiBbMHgleF0sIHBvcnQgWzB4JXhdCgAAAAAAAABmb2lzY3NpX2NvcmVfYnllOiBhY3RpdmUg
-c2Vzc19jbnQgJWQKAAAAAAAAAAAAAABjeDRfY3JfbW9kdWxlX3J4X2xvc1sldV06IHJ4X2xvcyBj
-aGFuZ2VkIHRvICV1CgBwZm4gJXUgdmZuICV1IGhhcyBwbmR0eG5zICV1IGFmdGVyIDEwMG1zCgAA
-AAAAAABwZm4gJXUgdmZuICV1IGNvbXBsZXRlIGltbWVkaWF0ZQoAAAAAAAAAAAAAAAAAAABiYWQg
-bWFpbGJveCBjbWQ6IHBmbiAweCV4IHZmbiAweCV4OyBvcGNvZGUgMHgleCA+IExBU1RDMkUgMHgl
-eAoAbWFpbGJveCBjbWQgbm90IHlldCBzdXBwb3J0ZWQ6IHBmbiAweCV4IHZmbiAweCV4OyBvcGNv
-ZGUgMHgleAoAAGJhZCBtYWlsYm94IGNtZDogcGZuIDB4JXggdmZuIDB4JXg7IG9wY29kZSAweCV4
-IGlzIHZhbGlkIHBvc3QgZGV2aWNlIGluaXQgb25seQoAYmFkIG1haWxib3ggY21kOiBwZm4gMHgl
-eCB2Zm4gMHgleDsgb3Bjb2RlIDB4JTAyeCByYW1hc2sgMHgleCBjbWQgcmFtYXNrIDB4JXgKAABi
-YWQgbWFpbGJveCBjbWQ6IHBmbiAweCV4IHZmbiAweCV4OyBvcGNvZGUgMHglMDJ4IGxlbjE2IDB4
-JXggdmVyc3VzIGV4cGVjdGVkIGxlbjE2IDB4JXgKAAAAAAAAAABpbnN1ZmZpY2llbnQgY2FwcyB0
-byBwcm9jZXNzIG1haWxib3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgcl9jYXBzIDB4JXggd3hf
-Y2FwcyAweCV4IHJlcXVpcmVkIHJfY2FwcyAweCV4IHdfY2FwcyAweCV4CgAAAAAAAAAAAGluc3Vm
-ZmljaWVudCBjYXBzIHRvIHByb2Nlc3MgbWFpbGJveCBjbWQ6IHBmbiAweCV4IHZmbiAweCV4OyBy
-X2NhcHMgMHgleCB3eF9jYXBzIDB4JXggcmVxdWlyZWQgcl9jYXBzIDB4JXggd19jYXBzIDB4JXgK
-AAAAAAAAAAAAZG93bmxvYWRfc3JhbTogZXJyb3IsIHJldCAlZAoAAABkb3dubG9hZF90Y2FtOiBl
-cnJvciwgcmV0ICVkCgAAAFZQRCByZWdpb24gaXMgdG9vIHNtYWxsIChTRVJDRkdfU1JfUEZOVlBE
-U0laRSAweCV4KQoAAAAAAAAAAAAAAABjZl9wcmVwOiBlcnJvciwgcmV0ICVkCgAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIIAAAEgAAAA
-AAAAAIIAAAEAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAgAAAAAAA
-AAAAAAAAAIAAAAAAAAAAAAKAAAAAAAAAAAAAAgADAAAAAAFgCAAAAAADAAAAAAAAAAAAAAADAAAA
-AAAAAAAAAAACAAAAAAAAAAAAIAAAAAAAAAAAAAAAAQADgAAAAAAAAAAAAAACAAAAAAAAAAAAIAOA
-AAAAAAAAAAAAEAKAAIAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAAAAAAAA
-AAACAAAAAAAAAAAAAAACgAAAAAAAAAAAAQADAAAAAAAAAAAAAAKDAAAAAAAAAAAAEAKAAAAAAAAA
-AAAAMAADAAAAAAAACAAAMAADAAAAAAAAAAAAMAWDAAAAAAAACAAAMAWDAAAAAAAAAAAAMASDAAAA
-AAAACAAAMASDAAAAAAAAAAAAMAMDAAAAAAAACAAAMAMDAAAAAAAAAAAAOAMDAAAAAAAAAAAAOAWD
-AAAAAAAAAAAAOASDAAAAAAAAAAAAOAADAAAAAAAAAAAANAaCAAAAAAAAAAAAPAOCAAAAAAAAAAAA
-PAADAAAAAAAACAAAPAADAAAAAAAAAAAAPASDAAAAAAAAAAAAPAUDAAAAAAAAAAAAPQQDAAAAAAAA
-AAAAPAODAAAAAAAAAAAALAACAAAAAAAAAAAALAWCAAAAAAAAAAAALAUCAAAAAAAAAAAAEAaAAAAA
-AAAAAAAAEAaCwAAAAAAAAAAAEAaCgAAAAAAAAAAAAA6CAAAAAAAAAAAAEAeCgAAAACAAAAAAAAeC
-AAAAACAAAAAAEAcCgAAAAAAAAAAAEAcCgAAAAAAAAAAAEAcCgAAAAAAAAAAAAAcCAAAAACAAAAAA
-EBeDAAAAAAAACAAAEBeDAAAAAAAACAAAEAAAAAAAAAAAAAAAEAYDgAAAAAAAAAAAAA4DAAAAAAAA
-AAAAEAYDQAAAAAAAAAAAEAYDAAAAAAAAAAAAEAYAAAAAAAAAAAAAAAYDgAAAAAAAAAAAAAYDAAAA
-AAAAAAAAAA4CAAAAAAAAAAAAAA4CAAAAAAAAAAAAEAYCAAAAAAAAAAAAEAYCAAAAAAAAAAAAEAYC
-gAAAAAAAAAAAEAYCgAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAgAAAAAAAAAAABADAAAAAAAACAAAAAAAAAAAAAAAAAAA////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////AAAAIAAAAADAAAAAAAAA
-IAAAAADgAAAAAAAAAAIAAAAAAAAAQAAAAAAAAAAAAAAAAAABIQAAAAAAAAAAAAEBIAAAAAAAAAAA
-AAACAAAABAAEAAAAAAUAAAAEAAAAAAAAAAAAoAAAAACAAAAAAIAAQAAAAAAAAgAAAIAAIAAAAAAA
-AgAAAQBAAAAAAAAAAAAAAQBCAAAAAAAAAAAAAAAgAAAAAAAAAAAAAhAgAAAAAAAAAAAAAgwCAAAA
-AAAAAAAAAIUCAAAABAAAAAAAAIBCAAAAAAAAAAAAAgAiAAAAAAAAAAAAAIBBAAAAAAAAAAAAAIBB
-gAAAAAAAAAAAAgAhAAAAAAAAAAAAABAggAAAAAAAAAAAAiUAgAAAAAAAAAAAAAUAAAAAAAAAAAAA
-CIgEgAAAAAAAAAAACIgEgAAAAAAAAAAACKIAgAAAAAAAAAAACKIAgAAAAAAAAAAACKMAgAAAAAAA
-AAAACKMAgAAAAAAAAAAACKSAgAAAAAAAAAAACKSAgAAAAAAAAAAABKSAwAAAAAAAAAAABKIAwAAA
-AAAAAAAABKMAwAAAAAAAAAAABIgEwAAAAAAAAAAAAAkBgAAAAAAAAAAAAgwAgAAAAAAAAAAAAIgE
-wAAAAAAAAAAAAIgEgAAAAAAAAAAAAgsAgAAAAAAAAAAAAIqAgAAAAAAAAAAAAAuAgAAAAAAAAAAA
-AIwAgAAAAAAAAAAAAiAQgAAAAAAAAAAAAgoAgAAAAAAAAAAAAgqAgAAAAAAAAAAAAAkCgAAAAAAA
-AAAAAAEBAAAAAAAAAAAAAAEBQAAAAAAAAAAAAAEAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAA
-AAAAAAAAAACBEAAAAAAAAAAAAACBCAAAAAAAAAAAAACBBAAAAAAAAAAAAACBgAAAAAAAAAAAAIAA
-wAAAAAAAAAAAAIAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAIGAAAAAAAAAAAAAAIGAgAAAAAAAAAAA
-AImAgAAAAAAAAAAAAImAwAAAAAAAAAAAAAGCAAAAAAAAAAAAAgGAAAAAAAAAAAAAAgGAgAAAAAAA
-AAAAAEGBgAAAAAAAAAAAAgGBgAAAAAAAAAAAAEmBgAAAAAAAAAAAAgmBgAAAAAAAAAAAAgGBAAAA
-AAAAAAAAAEGBAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAAgEAAAAAAAAAEAAAAgAAAAAAAAAAEAAA
-AAAAAAAAAAAAAIAAwAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAIAJIAAAAAAAAAA2YAIABAAAAAAAgAkgAAAAAAAAADcgElBEAAAAAAAAAAAAAAAAAAAAOW
-ACAAQAAAAAAIAAAAAgCIA4cAAFYAIABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAAAAAAAAAAAAAA
-AAOWACAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAACAAAAAIA
-iAOFAACWASAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAACAAA
-AAIAiAOFAACWASAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAA
-CAAAAAIAiAOFAACWASAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAgADlgAmBEAA
-AAAACEcgAQQAAAKyAALSBSAkQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAABHIAEGDKGCsEABkgQg
-JEAAAAAAAEcgAQQMoEKzgAISBSAkQAAAAAAIAAAAAgCIA4UAAJYBIABAAAAAAAgAAAACAIgDhQAA
-lgEgAEAAAAAACAAAAAIAiAOFAACWASAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAA3FEroCsIDT
-FFSL4kpGJEAAAAAABcUSugK3gNMUVItiSaYkQAAAAAAFxRKiBrCA0xRUi+JKRiRAAAAAAA3FEqIG
-t4DTFFSLYkmmJEAAAAAABcUSogawgNMUVIviSkYkQAAAAAANxRKiBreA0xRUi2JJpiRAAAAAAAXF
-EqIGsIDTFFSL4kpGJEAAAAAADcUSoga3gNMUVItiSaYkQAAAAAAJxBCgAgCAkAAAi2JpxiRAAAAA
-AAHEEKAGsICTBlSLYmnGJEAAAAAAAcQQoAawgJMGVItiacYkQAAAAAABxRC4BrCAkxZUi2JIxiRA
-AAAAAAihEIgCAIFYEgALUgCmJEAAAAAACcAQkAKwgAMWVIqSAcYkQAAAAAAJwBC4BrCAAxCUi+IC
-RiRAAAAAAAnAELgCtIADEJSLYgGmJEAAAAAACcAQuAK0gAMQlItiAaYkQAAAAAAJwBC4ArSAAxCU
-i2IBpiRAAAAAAAnAELgCtIADEJSLYgGmJEAAAAAAAaAQkAa0gAMQlItiAaYkQAAAAAABwBCAArCA
-AxRUilIAxiRAAAAAAAHAEIACsIADFFSKUgDGJEAAAAAAAcAQgAKwgAMUVIpSAMYkQAAAAAAIRyAB
-BAAAArIAAtIFICRAAAAAAACBAAACAIVYB0ALUgCmJEAAAAAAAIEAAAIAhVgHQAtSAKYkQAAAAAAA
-AAAABACgQAGAAdYAIABAAAAAAAAAAAAGAKGAAEABVgAgAEAAAAAAAAAAAAQAoEABgAHWACAAQAAA
-AAAIgQAAAgCFWYAEC1IApiRAAAAAAAlhQAAAAAAYAAADQgEmpEAAAAAAAAAAAAAAAAAAAAOWACAA
-QAAAAAAAAAAABACgQAGAAdYAIABAAAAAAAgAAAACAIgDhwAD1gAmBEAAAAAACAAAAAIAiAOHAAPW
-ACYEQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAAAAAAAAQAoEAB
-gAHWACAAQAAAAAAJwBC4ArSAAxCUi2IBpiRAAAAAAAAAAAAAAAAAAgADlgAmBEAAAAAAAAAAAAAA
-AAAAAAOWACAAQAAAAAAIAAAAAgCIA4UAAJYBIABAAAAAAAAAAAAEAKBAAYAB1gAgAEAAAAAAAAAA
-AAQAoEABgAHWACAAQAAAAAAAAAAABACgQAGAAdYAIABAAAAAAAihEIgCAIFYEAAJEgGmJEAAAAAA
-AAAAAAQAoEABgAHWACAAQAAAAAAAAAAABgChgABAAVYAIABAAAAAAAgAAAACAIgDhUAI0gJGJEAA
-AAAACcUSogKUiNIQgIsiSKYkQAAAAAABwBCABqSIAQVUi1IAxiRAAAAAAAnAEIACpIgAhVSLUgDG
-JEAAAAAACcAQgAa0iAMBFItSAaYkQAAAAAANwAAAArCAwxZUi+IDRiRAAAAAAAAAAAAAAAAAAAAD
-lgAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-CAAwAAQAAAACAAACACYkQAAAAAAARzAABgMgArcACAIBwCRAAAAAAAgDAAACBqAKtQAIAgDGJEAA
-AAAAAAAAAAAAAAACAAACACYkQAAAAAAAIFAABAAAAAIAAAIAJiRAAAAAAAhgIACEAAAAAAAABgAg
-AEAAAAAACGAgAIQAAAACATACACYlQAAAAAAIYAAABACEAYAEBAIBxiTAAAAAAAHAAAACQ4ADAgyI
-AgGmJEAAAAAACABgAAQAAAACAAACACYkQAAAAAAIAGAABAAAAAAAAAQBIABAAAAAAAAAAAAAAAAA
-AAAABAEgAEAAAAAABAgUgAYKAAAHAUwCIKYmQAAAAAAIgAAABgCEAYAECAIBpiZAAAAAAABAAAAC
-AKAAAkAIAgGmJEAAAAAAAAAAAAAAAAACAAACACYkQAAAAAAEAAAAAoQAAwKKCAIEpiRAAAAAAAAA
-AAAAAAAAAgAABgEgSEAAAAAAACBQAAQAAAACAAACACYkQAAAAAAIYCAAhAAAAAIAAAYAJgRAAAAA
-AAhgIACEAAAAAgAAAgEmJUAAAAAACGAAAAQAhAGABAQCAcYkwAAAAAAIAGAABAAAAAAAAAQBIABA
-AAAAAAAAAAAAAAAAAAAAAgAmTHAAAAAAAAAAAAAAAAAAAAAGASAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAHAAAAItJAECRYEAgTGJEAAAAAAAcAAAAi0kAQJFgQCBMYkQAAAAAAECHSA
-TAkAAFAAXAJh5iRAAAAAAAwIdIBEAAAAUgBAAmEmJEAAAAAACAIQoAQAAAAAAQACACYkQAAAAAAI
-AhCgBAAAAAABAAIAJiRAAAAAAAQIdABCAQAABwCIAmDGJEAAAAAADcgUAAIJAAAEQJwCYOYkQAAA
-AAAJyBCABrSQBAKUiAJlxiRAAAAAAA3IdABItJADAJSIAmCmJMAAAAAADch0AEi0kAMAlIgCYKYk
-wAAAAAAIRwAABAAAAAAAAAIBICRAAAAAAAhHAAAEAAAAAgAAAgUgJEAAAAAAAEcgAQwHIcK3AAgC
-AcAkQAAAAAAARyABDAchwrcACAIBwCRAAAAAAABHIAEMByHCtwAIAgHAJEAAAAAAAAAgAQgAhAAF
-QIgCAcYkwAAAAAAAACABCACEAAVAiAIBxiTAAAAAAAAAIAEIAIQABUCIAgHGJMAAAAAAAAAgAYaC
-AAECwIgCA8YkwAAAAAAAACABgoIAAALAiAIDxiTAAAAAAAnAIAGCpIABBUCIAgHGJMAAAAAACAAA
-AAwAhAAFQIgCAcYkwAAAAAAAACABhoIAAQLAiAIDxiTAAAAAAAAAIAGCggAAAMCIAgKmJMAAAAAA
-CcAgAYKkgAEFQIgCAcYkwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEA
-AQkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW2dsb2JhbF0KcnNzX2dsYl9jb25maWdfbW9k
-ZT1iYXNpY3ZpcnR1YWwKcnNzX2dsYl9jb25maWdfb3B0aW9ucz10bmxtYXBlbixoYXNodG9lcGxp
-dHosdG5sYWxsbGtwCnJlZ1sweDEwMDhdPTB4NDA4MTAvMHgyMWM3MApyZWdbMHgxMDBjXT0weDIy
-MjIyMjIyCnJlZ1sweDEwYTBdPTB4MDEwNDA4MTAKcmVnWzB4MTA0NF09NDA5NgpyZWdbMHgxMDQ4
-XT02NTUzNgpyZWdbMHgxMDRjXT0xNTM2CnJlZ1sweDEwNTBdPTkwMjQKcmVnWzB4MTA1NF09OTIx
-NgpyZWdbMHgxMDU4XT0yMDQ4CnJlZ1sweDEwNWNdPTEyOApyZWdbMHgxMDYwXT04MTkyCnJlZ1sw
-eDEwNjRdPTE2Mzg0CnJlZ1sweDEwYTRdPTB4YTAwMGEwMDAvMHhmMDAwZjAwMApyZWdbMHgxMGE4
-XT0weDIwMDAvMHgyMDAwCnNnZV90aW1lcl92YWx1ZT01LDEwLDIwLDUwLDEwMCwyMDAKcmVnWzB4
-N2QwNF09MHgwMDAxMDAwMC8weDAwMDEwMDAwCnJlZ1sweDdkNmNdPTB4MDAwMDAwMDAvMHgwMDAw
-NzAwMApyZWdbMHg3ZGMwXT0weDBlMmY4ODQ5CmZpbHRlck1vZGU9ZnJhZ21lbnRhdGlvbixtcHNo
-aXR0eXBlLHByb3RvY29sLHZsYW4scG9ydCxmY29lCmZpbHRlck1hc2s9cHJvdG9jb2wsZmNvZQp0
-cF9wbXJ4PTM0CnRwX3BtcnhfcGFnZXNpemU9NjRLCnRwX25yeGNoPTAKdHBfcG10eD0zMgp0cF9w
-bXR4X3BhZ2VzaXplPTY0Swp0cF9udHhjaD0wCnRwX210dXM9ODgsMjU2LDUxMiw1NzYsODA4LDEw
-MjQsMTI4MCwxNDg4LDE1MDAsMjAwMiwyMDQ4LDQwOTYsNDM1Miw4MTkyLDkwMDAsOTYwMApyZWdb
-MHgxOTE2OF09MHgwNDAyMDEwMApbZnVuY3Rpb24iMCJdCm52Zj0xNgp3eF9jYXBzPWFsbApyX2Nh
-cHM9YWxsCm52aT0xCm5pcWZsaW50PTgKbmV0aGN0cmw9OApuZXE9MTYKbmV4YWN0Zj04CmNtYXNr
-PWFsbApwbWFzaz0weDEKW2Z1bmN0aW9uIjEiXQpudmY9MTYKd3hfY2Fwcz1hbGwKcl9jYXBzPWFs
-bApudmk9MQpuaXFmbGludD04Cm5ldGhjdHJsPTgKbmVxPTE2Cm5leGFjdGY9OApjbWFzaz1hbGwK
-cG1hc2s9MHgyCltmdW5jdGlvbiIyIl0KbnZmPTE2Cnd4X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZp
-PTEKbmlxZmxpbnQ9OApuZXRoY3RybD04Cm5lcT0xNgpuZXhhY3RmPTgKY21hc2s9YWxsCnBtYXNr
-PTB4NApbZnVuY3Rpb24iMyJdCm52Zj0xNgp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT0xCm5p
-cWZsaW50PTgKbmV0aGN0cmw9OApuZXE9MTYKbmV4YWN0Zj04CmNtYXNrPWFsbApwbWFzaz0weDgK
-W2Z1bmN0aW9uIjQiXQp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT0yOApuaXFmbGludD0xNzAK
-bmV0aGN0cmw9MTAwCm5lcT0yNTYKbmV4YWN0Zj00MApjbWFzaz1hbGwKcG1hc2s9YWxsCm5ldGhv
-ZmxkPTEwMjQKbnJvdXRlPTMyCm5jbGlwPTMyCm5maWx0ZXI9NDk2Cm5zZXJ2ZXI9NDk2Cm5oYXNo
-PTEyMjg4CnByb3RvY29sPW5pY192bSxvZmxkLHJkZHAscmRtYWMsaXNjc2lfaW5pdGlhdG9yX3Bk
-dSxpc2NzaV90YXJnZXRfcGR1CnRwX2wydD0zMDcyCnRwX2RkcD0zCnRwX2RkcF9pc2NzaT0yCnRw
-X3N0YWc9Mwp0cF9wYmw9MTAKdHBfcnE9MTMKW2Z1bmN0aW9uIjUiXQp3eF9jYXBzPWFsbApyX2Nh
-cHM9YWxsCm52aT00Cm5pcWZsaW50PTM0Cm5ldGhjdHJsPTMyCm5lcT02NApuZXhhY3RmPTQKY21h
-c2s9YWxsCnBtYXNrPWFsbApuc2VydmVyPTE2Cm5oYXNoPTIwNDgKdHBfbDJ0PTEwMjAKcHJvdG9j
-b2w9aXNjc2lfaW5pdGlhdG9yX2ZvZmxkCnRwX2RkcF9pc2NzaT0yCmlzY3NpX250YXNrPTIwNDgK
-aXNjc2lfbnNlc3M9MjA0OAppc2NzaV9uY29ubl9wZXJfc2Vzc2lvbj0xCmlzY3NpX25pbml0aWF0
-b3JfaW5zdGFuY2U9NjQKW2Z1bmN0aW9uIjYiXQp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT00
-Cm5pcWZsaW50PTM0Cm5ldGhjdHJsPTMyCm5lcT02NgpuZXhhY3RmPTMyCmNtYXNrPWFsbApwbWFz
-az1hbGwKbmhhc2g9MjA0OAp0cF9sMnQ9NApwcm90b2NvbD1mY29lX2luaXRpYXRvcgp0cF9kZHA9
-MQpmY29lX25mY2Y9MTYKZmNvZV9udm5wPTMyCmZjb2VfbnNzbj0xMDI0CltmdW5jdGlvbiIxMDIz
-Il0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9NApjbWFzaz1hbGwKcG1hc2s9YWxsCm5leGFj
-dGY9OApuZmlsdGVyPTE2CltmdW5jdGlvbiIwLyoiXQp3eF9jYXBzPTB4ODIKcl9jYXBzPTB4ODYK
-bnZpPTEKbmlxZmxpbnQ9NApuZXRoY3RybD0yCm5lcT00Cm5leGFjdGY9NApjbWFzaz1hbGwKcG1h
-c2s9MHgxCltmdW5jdGlvbiIxLyoiXQp3eF9jYXBzPTB4ODIKcl9jYXBzPTB4ODYKbnZpPTEKbmlx
-ZmxpbnQ9NApuZXRoY3RybD0yCm5lcT00Cm5leGFjdGY9NApjbWFzaz1hbGwKcG1hc2s9MHgyCltm
-dW5jdGlvbiIyLyoiXQp3eF9jYXBzPTB4ODIKcl9jYXBzPTB4ODYKbnZpPTEKbmlxZmxpbnQ9NApu
-ZXRoY3RybD0yCm5lcT00Cm5leGFjdGY9NApjbWFzaz1hbGwKcG1hc2s9MHg0CltmdW5jdGlvbiIz
-LyoiXQp3eF9jYXBzPTB4ODIKcl9jYXBzPTB4ODYKbnZpPTEKbmlxZmxpbnQ9NApuZXRoY3RybD0y
-Cm5lcT00Cm5leGFjdGY9NApjbWFzaz1hbGwKcG1hc2s9MHg4Cltwb3J0IjAiXQpkY2I9cHBwLGRj
-YngKYmdfbWVtPTI1CmxwYmtfbWVtPTI1Cmh3bT0zMApsd209MTUKZHdtPTMwCmRjYl9hcHBfdGx2
-WzBdPTB4ODkwNixldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsxXT0weDg5MTQsZXRoZXJ0eXBlLDMK
-ZGNiX2FwcF90bHZbMl09MzI2MCxzb2NrZXRudW0sNQpbcG9ydCIxIl0KZGNiPXBwcCxkY2J4CmJn
-X21lbT0yNQpscGJrX21lbT0yNQpod209MzAKbHdtPTE1CmR3bT0zMApkY2JfYXBwX3RsdlswXT0w
-eDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4OTE0LGV0aGVydHlwZSwzCmRjYl9h
-cHBfdGx2WzJdPTMyNjAsc29ja2V0bnVtLDUKW3BvcnQiMiJdCmRjYj1wcHAsZGNieApiZ19tZW09
-MjUKbHBia19tZW09MjUKaHdtPTMwCmx3bT0xNQpkd209MzAKZGNiX2FwcF90bHZbMF09MHg4OTA2
-LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzFdPTB4ODkxNCxldGhlcnR5cGUsMwpkY2JfYXBwX3Rs
-dlsyXT0zMjYwLHNvY2tldG51bSw1Cltwb3J0IjMiXQpkY2I9cHBwLGRjYngKYmdfbWVtPTI1Cmxw
-YmtfbWVtPTI1Cmh3bT0zMApsd209MTUKZHdtPTMwCmRjYl9hcHBfdGx2WzBdPTB4ODkwNixldGhl
-cnR5cGUsMwpkY2JfYXBwX3RsdlsxXT0weDg5MTQsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMl09
-MzI2MCxzb2NrZXRudW0sNQpbZmluaV0KdmVyc2lvbj0weDE0MjUwMDFjCmNoZWNrc3VtPTB4NWNl
-YWI0MWUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtnbG9iYWxdCnJzc19nbGJfY29uZmlnX21vZGU9YmFzaWN2
-aXJ0dWFsCnJzc19nbGJfY29uZmlnX29wdGlvbnM9dG5sbWFwZW4saGFzaHRvZXBsaXR6LHRubGFs
-bGxrcApyZWdbMHgxMDA4XT0weDQwODEwLzB4MjFjNzAKcmVnWzB4MTAwY109MHgyMjIyMjIyMgpy
-ZWdbMHgxMGEwXT0weDAxMDQwODEwCnJlZ1sweDEwNDRdPTQwOTYKcmVnWzB4MTA0OF09NjU1MzYK
-cmVnWzB4MTA0Y109MTUzNgpyZWdbMHgxMDUwXT05MDI0CnJlZ1sweDEwNTRdPTkyMTYKcmVnWzB4
-MTA1OF09MjA0OApyZWdbMHgxMDVjXT0xMjgKcmVnWzB4MTA2MF09ODE5MgpyZWdbMHgxMDY0XT0x
-NjM4NApyZWdbMHgxMGE0XT0weGEwMDBhMDAwLzB4ZjAwMGYwMDAKcmVnWzB4MTBhOF09MHgyMDAw
-LzB4MjAwMApzZ2VfdGltZXJfdmFsdWU9NSwxMCwyMCw1MCwxMDAsMjAwCnJlZ1sweDdkMDRdPTB4
-MDAwMTAwMDAvMHgwMDAxMDAwMApyZWdbMHg3ZDZjXT0weDAwMDAwMDAwLzB4MDAwMDcwMDAKcmVn
-WzB4N2RjMF09MHgwZTJmODg0OQpmaWx0ZXJNb2RlPWZyYWdtZW50YXRpb24sbXBzaGl0dHlwZSxw
-cm90b2NvbCx2bGFuLHBvcnQsZmNvZQpmaWx0ZXJNYXNrPXByb3RvY29sLGZjb2UKdHBfcG1yeD0z
-MAp0cF9wbXJ4X3BhZ2VzaXplPTY0Swp0cF9ucnhjaD0wCnRwX3BtdHg9NTAKdHBfcG10eF9wYWdl
-c2l6ZT02NEsKdHBfbnR4Y2g9MAp0cF9tdHVzPTg4LDI1Niw1MTIsNTc2LDgwOCwxMDI0LDEyODAs
-MTQ4OCwxNTAwLDIwMDIsMjA0OCw0MDk2LDQzNTIsODE5Miw5MDAwLDk2MDAKcmVnWzB4MTkxNjhd
-PTB4MDQwMjAxMDAKW2Z1bmN0aW9uIjAiXQp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT0yOApu
-aXFmbGludD0xNzAKbmV0aGN0cmw9OTYKbmVxPTI1MgpuZXhhY3RmPTQwCmNtYXNrPWFsbApwbWFz
-az1hbGwKbmV0aG9mbGQ9MTAyNApucm91dGU9MzIKbmNsaXA9MzIKbmZpbHRlcj00OApuc2VydmVy
-PTMyCm5oYXNoPTAKcHJvdG9jb2w9bmljX3ZtLG9mbGQscmRkcCxyZG1hYyxpc2NzaV9pbml0aWF0
-b3JfcGR1LGlzY3NpX3RhcmdldF9wZHUKdHBfbDJ0PTMwNzIKdHBfZGRwPTIKdHBfZGRwX2lzY3Np
-PTIKdHBfc3RhZz0yCnRwX3BibD01CnRwX3JxPTcKW2Z1bmN0aW9uIjEiXQp3eF9jYXBzPWFsbApy
-X2NhcHM9YWxsCm52aT00Cm5pcWZsaW50PTM0Cm5ldGhjdHJsPTMyCm5lcT02NgpuZXhhY3RmPTMy
-CmNtYXNrPWFsbApwbWFzaz1hbGwKbmhhc2g9MApwcm90b2NvbD1mY29lX2luaXRpYXRvcgp0cF9k
-ZHA9MgpmY29lX25mY2Y9MTYKZmNvZV9udm5wPTMyCmZjb2VfbnNzbj0xMDI0CltmdW5jdGlvbiIx
-MDIzIl0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9NApjbWFzaz1hbGwKcG1hc2s9YWxsCm5l
-eGFjdGY9OApuZmlsdGVyPTE2CltmdW5jdGlvbiIwLyoiXQp3eF9jYXBzPTB4ODIKcl9jYXBzPTB4
-ODYKbnZpPTEKbmlxZmxpbnQ9NApuZXRoY3RybD0yCm5lcT00Cm5leGFjdGY9NApjbWFzaz1hbGwK
-cG1hc2s9MHgxCltmdW5jdGlvbiIxLyoiXQp3eF9jYXBzPTB4ODIKcl9jYXBzPTB4ODYKbnZpPTEK
-bmlxZmxpbnQ9NApuZXRoY3RybD0yCm5lcT00Cm5leGFjdGY9NApjbWFzaz1hbGwKcG1hc2s9MHgy
-Cltwb3J0IjAiXQpkY2I9cHBwLGRjYngKYmdfbWVtPTI1CmxwYmtfbWVtPTI1Cmh3bT0zMApsd209
-MTUKZHdtPTMwCmRjYl9hcHBfdGx2WzBdPTB4ODkwNixldGhlcnR5cGUsMwpkY2JfYXBwX3Rsdlsx
-XT0weDg5MTQsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMl09MzI2MCxzb2NrZXRudW0sNQpbcG9y
-dCIxIl0KZGNiPXBwcCxkY2J4CmJnX21lbT0yNQpscGJrX21lbT0yNQpod209MzAKbHdtPTE1CmR3
-bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4
-OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0bnVtLDUKW3BvcnQiMiJd
-CmRjYj1wcHAsZGNieApiZ19tZW09MjUKbHBia19tZW09MjUKaHdtPTMwCmx3bT0xNQpkd209MzAK
-ZGNiX2FwcF90bHZbMF09MHg4OTA2LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzFdPTB4ODkxNCxl
-dGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsyXT0zMjYwLHNvY2tldG51bSw1Cltwb3J0IjMiXQpkY2I9
-cHBwLGRjYngKYmdfbWVtPTI1CmxwYmtfbWVtPTI1Cmh3bT0zMApsd209MTUKZHdtPTMwCmRjYl9h
-cHBfdGx2WzBdPTB4ODkwNixldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsxXT0weDg5MTQsZXRoZXJ0
-eXBlLDMKZGNiX2FwcF90bHZbMl09MzI2MCxzb2NrZXRudW0sNQpbZmluaV0KdmVyc2lvbj0weDE0
-MjUwMDFjCmNoZWNrc3VtPTB4YWQ0YzE3NGYKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAA=
-====
diff --git a/sys/dev/cxgbe/firmware/t4fw-1.16.45.0.bin.uu b/sys/dev/cxgbe/firmware/t4fw-1.16.45.0.bin.uu
new file mode 100644
index 0000000..9b4ef77
--- /dev/null
+++ b/sys/dev/cxgbe/firmware/t4fw-1.16.45.0.bin.uu
@@ -0,0 +1,9729 @@
+/*-
+ * Copyright (c) 2017 Chelsio Communications, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+begin-base64 644 t4fw
+AAAEOAEQLQAAAQkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAABBsEKgQyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAENoZWxzaW8gRlcgUlVOTUVNIERFQlVHPTAgKEJ1aWx0IFRodSBNYXkgIDQgMDk6
+Mjg6NDAgUERUIDIwMTcgb24gdm5jNC5hc2ljZGVzaWduZXJzLmNvbTovaG9tZS9maXJtd2FyZS9j
+dnMvZnctcmVsZWFzZSksIFZlcnNpb24gVDR4eCAwMS4xMC4yZC4wMAAAAAAAAAAAAAAAAI/sRllg
+AMgA4QB78AAQAADhADC4eP///x/84UCAAAAB4QB7cAAAEAAf//2M4QGUcCAAAADhAZwE4QB5AAAC
+AEDhAHmAAAYAQAACAAoABgAK4QB5BAAMAACAAAEC4QB7POEAe0ThAHvk4gAAAAABAADhAHuQIAAA
+AAAAgADhAHsAAABAAeEAe5wAAEAAREREQuAAAADjAARzREREQOMACAAgAAJcAAAAAB//ktAAAAAA
+H/+S1AAAAAAf/5LYAAAAAB//ktwf/8AAAAAAAAAAAADAABL/zRP/zZMgEv/NE//NhCAEMwGTIBH/
+zBL/zJIQEf/MEv/MkhAR/8wB9DER/8siCv+SEADkMQAFMQECABL/yALnMQIWABH/x4EQAQFfwCEC
+EQHJERH/xBL/xJIQEf/EEv/EkhBgAA8R/78S/8OSEBH/vxL/wpIQgRAR/8HAIJIREv/AkhLAIJIT
+Ev+/khCCEALyUGUv9xH/vccvkhAR/7ySEBL/vBP/vJMgwDKTIRP/u5MigiIS/7oT/7qTICMiIRT/
+uQQzAck4E/+4gzADgxQIMxEU/7akM5MhE/+qkyJgAAjCMJMhE/+nkyIS/7GQIJAhkCKQI5AkkCWQ
+JpAnkCiQKZAqkCuQLJAtkC6QLyAmECAmEYIiEv+kwDAtNzAtNzQtNzgtNzwjPQFyM+0AAgAS/6HA
+MC83AC83EC83IC83MCM9AXIz7QACABL/l8AwKDcwKDc0KDc4KDc8Iz0BcjPtEv+VwDAnNwAnNxAn
+NyAnNzAjPQFyM+0S/5AV/5AW/5HAMNcgBWYBYAAZAAAAAAAAAAQ2BQACANMP0w8FMwxuOxQHRxQH
+BEN2MeYENgUFMwxvO+0AAgAS/4MV/4EjCgACJwIHBEMEPgUFMwwHRxRvO/ADAgAS/33JLoMghCGF
+IrwidDsOhlC0VZYwtDN0M/Rj/+YAZT/iZV/fEv9xwDIDLgUDAgAS/2jAMCg3QCg3RCg3SCg3TCM9
+AXIz7QACABL/ay0nAMARAUkxAEgxAQIAwAAU/2gE0jEV/2eUUBT/ZwTTMRX/ZpRQFP9mBNQxFf9m
+lFAU/2UE1TEV/2WUUBD/ZQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/AAA
+H/wAAOMACfgf/AAAH/wAAOMACfgf/AAAH/wAAOMACfgf/4AAH/+KQOMACfgf/4pAH/+KQOMAFDgf
+/4pAH/+KQOMAFDgf/4pAH/+L4OMAFDgf/4vgH/+SzOMAFdgf/5LQH/+z8OMAHMgf/7PwH/+z8OMA
+Pegf/8AAH//+eeMAPeggAAAAIAABauMAfGQgAAF4IAABfOMAfdAgAAF8IAABheMAfdQgAAGYIAAB
+nOMAfeAgAAGcIAABpeMAfeQgAAG4IAABvOMAffAgAAG8IAABxeMAffQgAAHYIAAB2OMAfgAgAAHc
+IAAB4uMAfgAgAAH4IAAB+OMAfgggAAH8IAAB/OMAfgggAAIYIAACGOMAfgggAAIcIAACHOMAfggg
+AAI4IAACOOMAfgggAAI8IAACPOMAfgggAAJYIAACWOMAfgggAAJcIAACYuMAfgggAAJ4IAACeOMA
+fhAgAAJ8IAACguMAfhAgAAKYIAH4+eMAfhggAwAAIAMVtOMCdHwgAxW0IAMVtOMCijAgAxW4IAbx
+XOMCijQgBvFgIAb00OMGZdwgCAAAIAgOYOMGaUwgCA5gIAkpjuMGd6wgCSmQIAkqXOMHktwgCwAA
+IAsAAOMHk6ggCwAAIAsAAOMHk6ggCwAAIAuiCOMHk6gAAAAAAAAAAAAAAAAgABOOIAATgCAAF2og
+ABOAIAAW5SAAE4AgABQyIAAWfSAAFgIgABOAIAAVsSAAFWogABT9IAATbSAAFKcgABOAIAATgCAA
+E4AgABRSAAAAAP///////w/8///w////APwgALC+IACyMiAAsmIgALIoIACx6SAAsd8gALGuIACx
+pCAAsZggALFHIACyYCAAsT0gALENIACyYiAAsQMgALDxARAYAQAEAAAAAAAAAAAAAAAAAAoAAAAK
+AAAAFAAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEA
+AQACAAMABAAFAAYABwAIAAkACgAOABEAFQAZAB4AIwAtADwAUABkAMgBLAGQAfQAAAAAAAAAAAAA
+AAAAAAAAAAAAAQABAAIAAgADAAMAAwADAAQABAAEAAQABAAFAAUABQAFAAUABQAGAAYABwAHAAAA
+AgAAAAYAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKA
+AAADgAAABQEAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAA
+AcAAAAKAAAADgAD/AAECAgAAABAgQAAAAAAABAACAAEAAIAAQAAgABAACCBAgAAAAAAAAAAAAAAA
+AAAgCKlYIAipWCAIqQsgCKjYIAiooCAIqFsgCKhbIAiqiCAIqoggCKhbIAiqiCAIqoggCKhbIAio
+WyAIqAYgCKqIIAiqiCAIqoggCKqIIAiqiCAIqoggCKqIIAiqiCAIqoggCKqIIAiqiCAIqoggCKqI
+IAiqiCAIqoggCKqIIAioNyADCtAAAAABIAMK2AAAAAIgAw8YAAAA/yADCDAAAAD/IAMKvAAAAAIg
+AwrAAAAAAyADCsgAAAAHAAAAAAAAAAAgAwqgAAAAASADCqQAAAACIAMKrAAAAAQgAw8YAAAA/yAD
+CDAAAAD/AAAAAAAAAAAgAwgwAAAAACADDxgAAAAAIAMJbAAAAAEgAwl0AAAABCADCXwAAAAIIAMJ
+iAAAACAgAwmYAAAAQCADCaAAAACAIAMJqAAAAQAgAwmwAAACACADCcQAAAQAIAMJ2AAACAAgAwnw
+AAAQACADCgQAACAAIAMKFAAAQAAgAwogAACAACADCjQAAQAAIAMKRAACAAAgAwpUABAAACADCmwA
+IAAAIAMKhABAAAAgAwqMAIAAACADCVgAAAAQIAMJYAAAABEgAwlAAAAAACADCUQAAAABIAMJSAAA
+AAIgAwlQAAAAAwAAAAAAAP//AAAAAAAA//8gAwjAAAABACADCMwAAACAIAMI3AAAAEAgAwjsAAAA
+ICADCPwAAAAQIAMJDAAAAAggAwkYAAAABCADCSQAAAACIAMJMAAAAAEAAAAAAAAAAAAAAAEAAAAB
+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
+IAbxYCALYiDhAC4AH/+udB//qjwf/68wH/+qoAAAF4DgAACg4QAwuAAAgADhAGAQAABAAOECEADh
+AjAA4QJQAOECcADhABAIH/zhQOEAe3Af/7OwH/+zqB/84Agf/7OsH/+zyB//s8Af/7PEH/+z4B//
+s9gf/7PcIAb1IB//sYAf/6wUH/zeAB//rSQf/60gH/+twB//nYQf/7DMH/+qJCALAGAf/69MAAD/
+gAAAHiAf/5MgH/+vWB//r1Qf/6+4IAsGcAQAAAgFAAAAg/8AAIEAAAAAEAAAKgAAACAACbQgAwwo
+H/+JgB//hTAf/4c0H/+wkGdFIwHvzauJmLrc/hAyVHYf/4AAAAA/KCADDuzP////IAsHYBAAAAA/
+////AgAAAEAAAAD//3//IAsIgB//sIAgACPAIAsIsCALCSAIAAAAAP///yALCZD3////IAsLgCAA
+IGj//v//IAsWoIAAAAAgAw0ADAAAAAAAQAAAAP//AACAAP/7//8P9oAAIAsaECALGkAAAQAAAAQA
+ACALeNAf/63QIAAygCAANGAgADAYIAsa0CAALUggCxtgIAsbsCALHEAEAQAI4AAAACALHMAgCxyA
+UwAAACALHOBSAAAAIAsdIFEAAAAgAe/sH/+qkCALH7AgCyAQIAsf4CALIpAf/638IAsi4B//nXwf
+/62gIAsk0BQAAACAAAACfFAAAIAAABCAAAAGgACwAAAACgAA/zSS///wD4AAsQDhAZoAAAIAACAL
+JJAf/5r0AAB+QB//rdQA/8AAH/+t4B//k6QBAAAAKAAAACYAAAAgCyUAH/+T4AYAAAAFgAAAH/+p
+6CsAAAAgAE+4IAt7gB//q4QDgAAAB////zUAAAADAAAAAD///4BAAAAID///H////yAAAAAAAMAA
+H/+tuD0AAAAf/5lsBwAAAIEEAQCBBAAAH/+sAAAAOpjDAAAAAAAP/wBDAAAAAAgABAAAAB//q7wg
+C3vgH/+zJB//saAf/5jMAAYAAOEAegAf/5k8H/+txCCgAAAf/6wYH/+djB//nXggC3wQAAMHgCAL
+fIAf/5tYACAAAABAAAAAAAkAAAAwAv/8+H/AAAAAo/+7AKP/ugANAAAA4AMAAIP/tgAP////D//4
+AP8AAAAgC3zAIAsmYCALJpAgC31QAA8AAAAKAAD//wAPA//AAIP/wAAgC33QIAt+QB//rqAf/7IQ
+/2DwAB//sfAf/5LgBIAACB//gFAARAAA/x///wDAAAABgMIAAACBAPAAAACBgAAA/3///x/84HQf
+/6jE/7//////AAAAgAAAAACG3R//nswf/OIAH/+T0O4AAAAAAAm8H/ziDA8AAAAgCybQH/+uQAAA
+CLwf/69EH/+fSB//mWgf/4BgIAbzAAAAMAAAACcQH//cgCALhKAgC4RwH/+upB//mWAAAP/+H/+d
+bN6tvu8gAwfgNAAAAD8AAAAf/69gAACJBgCZAAAf/7DoEAAHAgHAgACZAAAAH/+v0ACIAAiCgAAB
+H/+xOP//8AADFQAAAxEAAAAPA/8gCyzgH/+tpCALhPAgCy1AIAstkCALLiAgCy0QIADp7CALLfAg
+Cy/AIAsv8CALMEAgCzCgIADvkCkAAAAAAIkUIAD19CALhWAgC4XAIAD/6B//rvDw8PDw/wD/AKqq
+qqrMzMzMH/+yMAAAHxAf/7A4AAP//wAAJ/8gAQhoIAuGMAAPQkAgA1x4H/+ueAAJAAAAAEgAggAA
+ACABLHggC4agH/+uJDsAAAgOAAAA0AAAAB//gKAAAB/KAAAIUAAAH0AgCznwIAs6ECALOjAACQAI
+H/+xNDAAAAD///f/IAs8gCADYsQAAIP/IAb4SBWgAAAgBvlAH/+w+B//rcwAAAgGAACIzH8AAAAA
+AA/+IAuLYCALi/AAAOAAIAuJQCALi8Af/5sMAAQD/woAAAAgBvWYH/+tkCAG9eAf/54gg/+3AIP/
+tiAgCzyw4QAAADMAAAAf/7EAH/+x9AP/4AB///8AAD/2kAAAH9gD//AAIAtnoCALZ2AgC2fAH/+z
+ACALPTAaAAAAIAs9gCABepgf/7D8AA///x//ryAf/63cIAuMgB//nawf/6o8H/+sMCAAbQggBvKI
+IAAFiB//qSAf/5qIH/+ZCB//qpggC0CQwAQAAB//rCQf/6w8H/+x4B//sVQgC42QIAtA0CADDbAg
+AG3o4AEAAB//ntAgC47gIAtBECAArQgf/57IIACqCCALjmAgC46wH/+bLCALQyDg//4AIAtqQB//
+ntQgC07AH/+t2B//lVwgC1jgIAtZcB//saQgC1mAIAtZsEgAAAAgAcIwH/+rlCABxDQf/5m8H/+p
+NB//qVwAABgwAAAWPB//rGQgBvUUH/+p5B//mUDhAC4AH/+scOEAXgDhAg4A//+//+EADgDhAY4A
+//++/x//nXQf/6psIAHJYCAB1YjgBQAAA/8AAB//qaQgAw0IH/y//zwAAAAABf//gwAAAB//qTwg
+AeuAIAtl4B//rrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYAAAAAAAAD/////////////////////H//8
+gB///IAf//xIH//8SB///Egf//xIH//10B//+Pgf//dUH//3VB//91QgBsYYAAAAAAAAAAAAAAAA
+AAAAACAGyWAgBslgAAAAAAAAAAAAAAAAAAAAACAGxhggBsYYH//57B//+ewf//nsH//57B//+ewf
+//nsAAAAACAByngAAAAAAAAAAAAAAAAAAAAAAgEAAAAAAAAAAAAAAAAAAAQAAAAAAAAAgYAAAAAA
+ABAFAAAAAAAABAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAGAUAAACAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+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
+nCHRD2wQBMgw0Q+IJyaJFIOJ9QQAFe/HBQDnVQEDMEEAAOaFFCGbwQAA44YJIqkBAAB1Ox4qgRUb
+ZSKjqpqJm6CJIMCx5KYCLM4CgAALmQKZodEPHGUbnDCLIMDB5DYCLd4CgAAMuwKbMdEPbBAEZCC2
+ZDCzZFCwKCIC9sn4BedkAQAPAgDpZPgcBP4AAO08HyMleQAADGgRB4gIKoKeCWsK+3foFeTdHQD9
+QAST4gCdACqCnQuqAWSgcRxlFx5k/uwABQ1ABIAAbdkCCAJhGGT3mKCPIJ1Qk6PupgIv/gKAAA/f
+Au+mASUQQQAA0Q8AH2Tcjvhq4U8MaBGniCqCnulrCgHofQAA+3foFeTdHQB9o1Yqgp0LqgHkoE9n
+Y/0AAJz4Za+UYAADwCDRD9og+oMAFeAMBQBb/1DAINEPAAD//dANoAoFAMCgWTf2H2TEjvjpZMUX
+DosAAPxj4BXgCgUA//70DaTdHQDAoMCKCOg0+eEGFa/+ugAAAAABEBgBAAEAAAAAAAAAAAAAIANV
+gyADVeUgA1VwIANV5SADVXAgA1XlIANVhyADVYcgA1XNIANVtSADVZ4AAAAAIANeqiADXqogA1y7
+IANeqiADXLsgA16HIANeXyADXLsgA12RIANcuyADXLsgA12IIANcuyADXqogA1y7IANcuyADXqog
+A1zEAwEAAgAAAAAgBMYIIATHtSAEyEMgBMYIIATIOyAEyB0gBMYIIATGCCAExgggBMYIIATGCCAE
+xgggBMYIIATGCCAExgggBMYIIATIDSAEx/0gBMYIIATGCCAExgggBMYIIATGCCAExgggBMYIIATG
+CCAExgggBMYIIATGCCAExgggBMYIIATGCCAEx5UgBMYIIATHjyAEx48gBMYIIATHjyAEx48gBMfV
+IATHjwAAAAAAAAAAAAAAACAE6C4gBOguIATm4iAE6C4gBOOdIAToJCAE6AAgBOOdIATjnSAE450g
+BOOdIATjnSAE5sYgBOguIATjnSAE5sYgBOguAAAAAAAAAAAAAAAAIAT3GyAE9ZwgBPmLIAT5SyAE
++RMgBPjVIAT4syAE9fAgBPiPIAT4UyAE9/sgBPelIAT3WyAE9zMBEBgBAAIAAAEQGAEAAgAAAAAA
+AAAAAAAgBaS3IAWgTCAFpIsgBaRfIAWkMiAFpB0gBaBzIAWgiiAFpAQgBaC/IAWgqyAFoHMgBaC/
+IAWgcyAFoHMgBaBzIAWktwAAAAAAAAAAAAAAAAAAAAAgBfVcIAXusCAF7lwgBevwIAXoIAAAAAAA
+AAAAIAXumSAF7pUgBe6VIAXulSAF7pkgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXumSAF
+7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXu
+lSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6V
+IAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUg
+Be6VIAXulSAF7pUgBe6VIAXumSAF7pUgBe6VIAXulSAF7pkgBe6VIAXulSAF7pUgBe6ZIAXulSAF
+7pUgBe6VIAXumSAF7pUgBe6VIAXulSAF7pkgBe6VIAXulSAF7pUgBe6ZIAXulSAF7pUgBe6VIAXu
+mSAF7pUgBe6VIAXulSAF7pkgBe6VIAXulSAF7pUgBe6ZIAXulSAF7pUgBe6VIAXumSAF7pUgBe6V
+IAXulSAF7pkgBe6VIAXulSAF7pUgBe6ZIAXulSAF7pUgBe6VIAXumSAF7pUgBe6VIAXulSAF7pkg
+Be6VIAXulSAF7pUgBe6ZIAXulSAF7pUgBe6VIAXumSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF
+7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6ZIAXu
+lSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6ZIAXulSAF7pUgBe6V
+IAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUg
+Be6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6ZIAXulSAF7pUgBe6VIAXumSAF7pUgBe6VIAXulSAF
+7pkgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXu
+lSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6V
+IAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUg
+Be6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXulSAF7pUgBe6VIAXumQAA
+AAAAAAAAAAAAACAF7uIgBe8jIAXyQyAF8jMgBfIeIAXyECAF8fUgBfHnIAXxzCAF8b8gBfGsIAXx
+nyAF8YwgBfF/IAXxbCAF7t4gBfFYIAXxSyAF8TggBfEqIAXxFSAF8QwgBfD9IAXxDCAF8P0gBfDv
+IAXw2iAF7t4gBe7eIAXu3iAF7t4gBfDNIAXu+yAF7t4gBe7eIAXu3iAF8LAgBfCXIAXwjSAF8Hwg
+Be7eIAXwaSAF8E8gBfA8IAXwIiAF8A8gBe/3IAXv5CAF79EgBe9rIAXu3iAF7t4gBe7eIAXu3iAF
+7t4gBe7eIAXvMSAF7xkAAAAAAAAAACAF9asgBfW1IAX3kiAF92cgBfdgIAX3WSAF91IgBfdLIAX3
+RCAF9z0gBfc2IAX3LCAF9yIgBfcMIAX25SAF9r0gBfa0IAX2mSAF9o8gBfaEIAX2dCAF9m0gBfZa
+IAX2UyAF9ZogBfYsIAX2IiAF9hggBfYRIAX2CiAF9fogBfXCIAaUiCAGkdwgBpBwIAaODCAGi6gg
+Bn5QIAaA8CAGigggBnzsIAaMdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUoAw8IEqWog46TkgAA
+AABSVgAAEAAAAGNvbmZpZ3VyYXRpb24gZmlsZSBwYXJzZXIgZm91bmQgYWRkaXRpb25hbCBjb25m
+aWd1cmF0aW9uIGFmdGVyIFtmaW5pXQoAADAAAABmY29lAAAAAHZuaWNfaWQAdmxhbgAAAAB0b3MA
+ZXRoZXJ0eXBlAAAAbWFjbWF0Y2gAAAAAbXBzaGl0dHlwZQAAZnJhZ21lbnRhdGlvbgAAAGJhc2lj
+dmlydHVhbAAAAABnbGJfa2V5AGdsYnZmX2tleQAAAHBmdmZfa2V5AAAAAGlkeHZmX2tleQAAAHN5
+bm1hcGVuAAAAAHN5bjR0dXBlbmlwdjYAAABzeW4ydHVwZW5pcHY2AAAAc3luNHR1cGVuaXB2NAAA
+AHN5bjJ0dXBlbmlwdjQAAABvZmRtYXBlbgAAAAB0bmxtYXBlbgAAAAB0bmxhbGxsa3AAAABoYXNo
+dG9lcGxpdHoAAAAAbGFuAHdhbgBjbHVzdGVyAG1hbnVhbAAAdHBfcGlvAAB0cF90bV9waW8AAABu
+aWNfdm0AAG5pY191bQAAbmljX3VtX2lzZ2wAbmljX2hhc2hmaWx0ZXIAAG9mbGQAAAAAcmRkcAAA
+AAByZG1hYwAAAGlzY3NpX2luaXRpYXRvcl9wZHUAaXNjc2lfdGFyZ2V0X3BkdQAAAABpc2NzaV9p
+bml0aWF0b3JfZm9mbGQAAABpc2NzaV90YXJnZXRfZm9mbGQAAGZjb2VfaW5pdGlhdG9yAABmY29l
+X3RhcmdldABwb2Zjb2VfaW5pdGlhdG9yAAAAAHBvZmNvZV90YXJnZXQAAABpc2NzaV90MTBkaWYA
+AAAAaXNjc2lfaW5pdGlhdG9yX2NtZG9mbGQAaXNjc2lfdGFyZ2V0X2NtZG9mbGQAAAAAdGxza2V5
+cwBjcnlwdG9fbG9va2FzaWRlAAAAAHBwcABkY2J4AAAAAGIyYgBzb2NrZXRudW0AAABjZWUAaWVl
+ZQAAAABhdXRvAAAAAGFuX2RpcwAAcGRsaXRlX2RpcwAAIAMVVAAEAAAAAAQAAAQAAAAAAAAAAAAA
+AAAAAAAAAAAgBnywAAAAACAGfAggBnmYIAZ4cCAGWIAgBfxoIAXneCAF5mAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAgBFoMIARnCCAEZwggBGcIIAR3ACAEjWAgBJ04IASmzCAEVvggBFRoIARKhCAE
+xOwgBEg0IARE+CAF5jQgBeUMIAXeUCAEZwggBd14IAXcHCAF21AgBsyQIAO3qCAEFUQgBp7sAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgA1OcIAM8qCADTQQgA0p4IANI/AAAAAAgA0ak
+IANS0AAAAAAgBDwwAAAAAAAAAAAAAAAAAAAAAAAAAAAgBrnEIAa41CAG1EQgBrjEIAa5ACAGt9wg
+BrmsIAa3cCAG1DQgBriw/xgwYGAAAAAAAQIDAAAAAAAAAAAAAAAAIAaVMCAEWFggAGhkAAAAAAAA
+AIEAAAAAAAAAAAAAAAAAAQIDAgIDAwACAwUDAwUFIAQwJCAEMbAgBDFMIAQxxCAEMEAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAIAQw1AAAAAAAAAAAAAAAADAxMjM0NTY3ODlhYmNkZWZBQkNE
+RUYAAAAAAAAAAAAAQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJz
+dHV2d3h5ejAxMjM0NTY3ODkrLwAAAAAAAAAAAAAAAAAAAAAgACKUAAEAACAAInQABQABIAAiWAAD
+AAUgACI4AAcAAGOCU2MAAAAA////////AAAAAAAIAAAABQAAAAcAAAAAAAAAiAAAAIUAAACHAAAA
+AAAAAEAAAAEAAAACgAAAAAAABAQIAAQECAAEBAgAAAAAAAAAAAAAAIAAAAIAAAACgAAHQwAAAAAA
+AAAAAAAAAAD/////////////////////ACEACQCBAEEAIQAJACEACQCBAEEAgQBBAIEAQQCBAEEA
+IQAJAIEAQQAhAAkAIQARAIEAQQCBAEEAIQAJAIEAQQAhAAkAIQAJAQEAQQCBACEAgQAhABAQYQEB
+AIEBAQCBAwIBAAQAAAAAAAAAAAAAAAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAAAAAAAAAIAMI
+MAAAAAAgAw8YAAAAACADCDQAAAABIAMPhAAAAAIgAwg8AAAABCADCEQAAAAIIAMITAAAABAgAw+M
+AAAAICADCFAAAABAIAMIXAAAAIAgAwhoAAABACADCHQAAAIAAAAABQAAAAMAAAABAAAAAiAGmJwg
+BphUIAaXRCAGlfwgBpW8IAaVkCAGleQAAAAAAAACAAAABAAAAAgAWWVzADAxMjM0NTY3ODlhYmNk
+ZWZnaGlqa2xtbm9wcXJzdHV2d3h5egAAAABub25lAAAAAGFsbAAqAAAAZGlzYWJsZWQAAAAAZW5h
+YmxlZAAweAAATkEAAFYwAABWMQAAVjIAAFYzAABWNAAAVjUAAFY2AABWNwAAVjgAAFY5AABWQQAA
+VkIAAFZDAABWRAAAVkUAAFZGAABwb3J0AAAAAHByb3RvY29sAAAAAGdsb2JhbAAAZnVuY3Rpb24A
+AAAAZmluaQAAAAByZWcAZmlsdGVyTW9kZQAAZmlsdGVyTWFzawAAcnNzX2dsYl9jb25maWdfbW9k
+ZQByc3Nfa2V5bW9kZQByc3NfZ2xiX2NvbmZpZ19vcHRpb25zAABzZ2VfdGltZXJfdmFsdWUAdHBf
+cG1yeAB0cF9wbXJ4X3BhZ2VzaXplAAAAAHRwX3BtcnhfZmxhZ3MAAAB0cF9ucnhjaAAAAAB0cF9w
+bXR4AHRwX3BtdHhfcGFnZXNpemUAAAAAdHBfbnR4Y2gAAAAAdHBfbXR1cwB0cF90Y3B0dW5pbmcA
+AAAAdHBfdGltZXJyZXMAdHBfdGltZXJ2YWxzAAAAAHRwX2JhY2tvZmZ2YWxzAABzY2hlZF9pb3F0
+eF9icF9wcmlvcml0eQBudmYAd3hfY2FwcwByX2NhcHMAAG5pcWZsaW50AAAAAG5lcQBuZXRoY3Ry
+bAAAAABudmkAcnNzbnZpAAByc3Nuc2VjcmV0AABuZXhhY3RmAG5yYXdmAAAAY21hc2sAAABwbWFz
+awAAAG5ldGhvZmxkAAAAAG5yb3V0ZQAAbmNsaXAAAABuZmlsdGVyAG5zZXJ2ZXIAbmhhc2gAAAB0
+cF9sMnQAAHRwX2RkcAAAdHBfZGRwX2lzY3NpAAAAAHRwX3N0YWcAdHBfcGJsAAB0cF9ycQAAAGlz
+Y3NpX250YXNrAGlzY3NpX25zZXNzAGlzY3NpX25jb25uX3Blcl9zZXNzaW9uAGlzY3NpX25pbml0
+aWF0b3JfaW5zdGFuY2UAAABpc2NzaV9tYXhfc2dlAAAAcHBtX21heF96b25lcwAAAHBwbV96b25l
+X3JhbmdlMABwcG1fem9uZV9yYW5nZTEAcHBtX3pvbmVfcmFuZ2UyAHBwbV96b25lX3JhbmdlMwBm
+Y29lX25mY2YAAABmY29lX252bnAAAABmY29lX25zc24AAABmY29lX25mY2IAAABkY2IAZGNiX2Fw
+cF90bHYAZGNiX2RjYnhfcHJvdG9jb2wAAABiZ19tZW0AAGxwYmtfbWVtAAAAAGh3bQBsd20AZHdt
+AGRlYm91bmNldGltZQAAAABhbl9hZWNfdGltZQBhZWNfcmV0cnlfY250AAAAdmVyc2lvbgBjaGVj
+a3N1bQAAAABTZXNzaW9uVHlwZQBPRk1hcmtlcgAAAABJRk1hcmtlcgAAAABEYXRhRGlnZXN0AABI
+ZWFkZXJEaWdlc3QAAAAARXJyb3JSZWNvdmVyeUxldmVsAABJbW1lZGlhdGVEYXRhAAAARGF0YVBE
+VUluT3JkZXIAAERhdGFTZXF1ZW5jZUluT3JkZXIASW5pdGlhbFIyVAAATWF4Q29ubmVjdGlvbnMA
+AE1heFJlY3ZEYXRhU2VnbWVudExlbmd0aAAAAABJbml0aWF0b3JOYW1lAAAASW5pdGlhdG9yQWxp
+YXMAAERlZmF1bHRUaW1lMldhaXQAAAAARGVmYXVsdFRpbWUyUmV0YWluAABNYXhCdXJzdExlbmd0
+aAAARmlyc3RCdXJzdExlbmd0aAAAAABNYXhPdXRzdGFuZGluZ1IyVAAAAFRhcmdldE5hbWUAAFRh
+cmdldEFsaWFzAFRhcmdldEFkZHJlc3MAAABUYXJnZXRQb3J0YWxHcm91cFRhZwAAAABBdXRoTWV0
+aG9kAABTZW5kVGFyZ2V0cz1BbGwAQ0hBUF9BAABDSEFQX0kAAENIQVBfQwAAQ0hBUF9OAABDSEFQ
+X1IAAERpc2NvdmVyeQAAAE5vcm1hbAAATm9uZQAAAABDUkMzMkMAAENSQzMyQyxOb25lAE5vbmUs
+Q1JDMzJDAENIQVAAAAAAQ0hBUCxOb25lAAAATm9uZSxDSEFQAAAATm90VW5kZXJzdG9vZAAAAEly
+cmVsZXZhbnQAAFJlamVjdAAATm8AADUAAABDSE5ldCAxLjAwAAAAAAAMAAAAAAEAAXwADAEAAAAA
+EAAAABQgBuy4AAADFQ5AAAAf/AAAH/wAAB//s/Af/7PwIAb00CAG+YAgCSpgIAkqYCAKAAAgCoAA
+IAqAACAK5oAAAAAAH/+t/CALAAAgCwAwH/+xBB//kyAAD///H/zeAB//rBQf/7CABAAACIEAAAAa
+AAAAH/+wzCALAIAgBvUgg/+3AIAAAAAAAP//g/+2ICALaAAf/654H/+w6B//rSAf/63gH/+wkDAA
+ABAgC2hAIAtooB//smQf/5V0H/+sZOEBlgAgBvlAIAb3RCADB+AXkAAAFLAAAAAAYACAAAAEIAb5
+SgAAH8oAAIP/FaAAACADAAAWoAAACFABACCgAAA/8AAAI6AAAAP/AB8AwAAEH/+yaCAGx6gqAAAA
+IANCXCALaNAgC2kQIAbHbN6tvv8awAAAIAb4SAAA/+ogBvlQAAAIFAAAiAAAAIAAH/+tzB//rlAA
+ACcQAB6EgAAAQAAgA1x4H/+vRAAQAAAf/6xEH/+vSCADABAgC2nQIAtpoAEAAAAoAAAA4QAAADgA
+AAD/P///MAAAdB//hTAgAwBAIAsA0DAAAAgwAAAMNAAACNAAAAAOAAAAAACJFDsAAAggBvdYNJAA
+ACAG9yAFXUqAIANixAAYAAD/B///ADgAAAAwAAAgC2nwAAAIAOEBjgAAAZEMIAtq8CALaqAgC2sg
+///z/yALatAgCwJwAABADgAAQBogCwKgAAAQAAAA/+kAAP/gAABQAAAA//gAAEANAAD/wAAA//cA
+AA//AAAPQgAA//UAACBAAAAgAAAAxBAAAMABAADIICALAwAgCwMgAADEAAAAyAAAAMQwAADEMQAC
+EAjg//4AIAsDQP//9/8AAOgAIAsDYAAAyBAAAMRFAAAQAQAAIHwAADIAAADMAAACSe8AAknw4QBe
+AOEALgAgC25wIAtu0AgAAAAf/OB0IAORCB//rdwgCwQwIAsFYCALBGAPPAAAIAsE8CAEAoAgBARg
+IAsFwA8AAAAgCwYgH/+HAB//h/AgCwaQIAsG0CALBxAgAwzQIAMMUCALcGAgAwwwIAtwkCALb0Ag
+C2+gIAtwAB//rjQf/5Ok4AAAAAAPQkAgACK0AAIAAAD///8gC3CwIAsHoCALCAAgCwhQIAsH0CAD
+4DQACAAAIAPlGB//rdAgCwngIAbzACAAHtwAD/wAH/+ZaB//mrAAADAAIAsKICALCrAgCwtQVQAA
+ABAAAAAgC3FQIAMNSAAACAYgCwvgAAAP/iADwIgCAAAAIAPFfB//rqQgCwwwH/+uIB//qoggCwzw
+IAtxcCALDJAgA6qgIAO0XCALDVAgCw3AIAsOECALcgBAAAAAAADwACALDlAgCw7AIAsPICALD5Ag
+BvgQIAsQECALEFDv////9////yALELAgBvfaIAb30CALc9AUkAAAQAAABCALdEAgC3RwIAtyQCAD
+uTggC3KAIAty4AAAj/4gC3MwIygVACALc5AgCxEA/f///yALFBAgCxPQIAPH9CALEWAgCxHQIAsS
+MCALEpAgCxLwIAsTQCALE4AgC3TgIAMNQCADDQAMAAAAH/+HYB//iGAgAw7wH/+HQD/////P////
+IAsUcB//iBwf/63UIAsUsCALFPAgC3UAIAsVcH///6v//y5cAADRpP//0E0AAJxOIAsV8CALFbAg
+CxUwH/+HXAAASAAgAw0EH/+HWB//h8AgCxYwIAPoxCALFuAf/63sIAt1kCALdSAgC3VwIAPrpAP/
+0AAAQAAAAFAH/wABAAAgC3agH/+aMCALdhAgA6p4IAt20CALF3D//f//IAsXsB//riggCxjAIAsY
+AABMS0AgA+iAIAsYUCALGQAEAQAIACAAACADynQgCxkwIAsZgCALGeAgC3EQIAP7PCALcOAgCx1g
+AACOAiALHdAgCx4gIAsecCALHZAgCx7AA4AAACALHxAgCx9g//f//yALIFAgA/ZIIAshECALIdAg
+C3dgH/+sTCALdzAgC3eQIAP5gCALd7AgA/pMIAP0WCAD6OAgC3fgIAt4ICALeGAgCyIQIAsiUAAA
+F3AgAwqUIAt5wCALeXAgC3lQIAQXPCALeSAgC3mgIAMKBCADCnQgCyMw4QIWAOECGgD//8j///8X
+////H/8AAhkcAAIZfAACGZwAAhn8H/+t6P//8f8AAhkAwAAAAAACGiQAAhqkAAIaKAACGqgAAho0
+AAIatAACGjAAAhqw4QIOAAAAE4cgAwtkIAMLVAQAAAHhAhIAAAAhwSALI4AAAhDg//+//wACHCDh
+AHoAIAsjsB//rHAgCyPQIAskACALJCAf/6tEIAskUB//qlThAH4ABAAAAAUAAACAAAAdgAAACoAA
+AAyAAAAbgAAAHyADC+Af/6x8AADz/xQAAAAgBDngH/+VKOAACSQAnAAAIAslUCALJjAgCyYAIAt7
+QCALJdAf/544IAslkAACBMDhAgIA4QCOAB//lVwAAJaAAACWQCAG9NAAAJagAACWYOECACz//wAA
+AAHgAOEBkgAAAeMABgAAACAETFz4AAAAAf//5wABwAAgAACAH/+VbB//reQEABAAH/+qZOEBmgDh
+AZpA4QGaPOEBmjjhAZo04QGaMB//rtAgAwoMIAMKHCADChQgAwokgAAAA4AAAAIf/6xo//z//+EB
+DgB/////H/+VDB//lYwgBFoMIAt+sCALfvAgC38gIAt/YCALf5AgC3/QIAuAACALgEAP///w//AA
+ACALgKAf/5qEH/+xgB//qWQgBGcIIAuBoCALgdAgC4FAIAuA4B//miwf/5xEAAD/gB//k6AgCycQ
+IAsnQAAEAAD/+///4QHiwB//quThAf4AH/+sgJAAAPD8/4DAAgAAIP7/gMAgCyeQIAsn0AAA+AAA
+AgEIAAIBDI////8f/6x04QGYACALKCAgCyhwIAsooCALKODhAN4AAAIDCAACAgD///AA4QDuAP//
+f/8AAPwAH/+uBAAA4AAAAAwAAAIDBAABERwAAREYIAuCoAAQCACAAAgAH/+ZrP//wAAAAgEEAAD/
+/gAAJYAAAgMAH/+sbOD/4sAgC4IAH/+rSB//njwgC4LwIAuDICALg0AAAP/9IAuC0CADAIgAAP/z
+IAuDYCALg4AAACowIAuDoAAA/48AAFK1AABICgAAj4IAAI+GAAA4AAAAj4oAAOM/AACDrgAA//Eg
+Cykw///PvwAAEEAgC4PAIAuD8AAAEgAgCylgIAMNkAACGQQf/63wIAspgP//9iQgCyoQAAIWCH8/
+//8AAP7/AAD/PwAA+f8AgAAAIAspsCALKmAgCyrgIAsqkCADAJAgCyuAIAsrUCALhEAAAP/7IAss
+MCALK/AgCyvAIAssUCALLKDuAAAAAcCAABAABQ0JAAAAH/+v0CADAUAAAIMAIAsvYAAAggAgCy6A
+IAsu0CALLxAQAAcCAAAMvAAAiQYgCzEAIAtpUCIiIiIAAMAAIAt6ICALeeAgAwGQIAsxYCALMTAg
+CzRQIAs0ECALM9AgCzOQIAszUCALMxAgCzLAIAsygCALMjAgCzHgIAsxoCALhxAgC4dAIAuHcCAL
+h7AgC4fwIAuIICALNYAgCzUwIAs0kCALNNAAAIDCAAAbISALNbAgC4hQIAuIkCALNdAgBvUAAP/A
+ABIAAAAgBRS4IAs2gCALNkAf/64UIAs3ICALN2AgCzbAIAs3wCALiLAgCzjgIAMMwCALOBAgCzkA
+IAs4cCAFHTQgC4mQAAAfQAAAEDb//+//H/+ybB//sPgAAAhQIAs5QCALOZAgCzlwAP///DIAAAAf
+/7LqIAMByDOQAAAgBvdIIAuJ8CALilAgC4owIAuKkCALObAgA22cIAMB0CALOmAAAIAFAACAByAL
+OpCBgAAA3q2+7yALOtAAAIP9MAAAHDAAAAQwAAAUAAD/7//+//8f/7GkAP/wAAAoAAAgCzsAAAAI
+QCALOzAA///6IAs7gDAAAAAwAAA0AACAASADAeAAAIACIAV0MCALiyAQAAUQmQAAADQAAAAgC4rQ
+IAs7wAAZAAAgCzwQIAMNoAAAEg8gCzxAH/+p1B//sTQDFQAAg/8AGyALPPAgBcso//9AACALjEAg
+Cz3AIAs+QCALPpDhAZGsAAGRrL/////f////IAs+wAsAAAAgBdG0IAs/MCALP6AgC0AQIAtAQCAL
+jMAgC41AIASosCADCkQf/5ywAAE4gOAABgAAAicQIAuN8H///w8f/61I/AD//+EAlgDhAJoAAAAJ
+/wAAsAAf/65sIAMCMCALQWDhAA4AAwAAAOEAEgATAAAAEQAAAB/8AAAf/628IAtBoCALjxAAAZSP
+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
+8tUSmPLVEpjy1RKY8tUSmPLVEpjy1RKY8tUSmPLVEpjy1RKY8tUSmAOFGxgDhRuY8tUSmPLVEpjy
+1RKY8tUSmPLVEpjy1RKY8tUSmPLVEpgAAAAAAAAAAAAAAAD//wAFAAYABwAIAAkACgALAAwADQAO
+AA8AEP///////wAAADIAAAPoAAAAKAAATiAAAAAAAAPQkACYloAAD0JAAJiWgAAAHCAAAABLAD0J
+AAAD0JAAmJaAAQEAAAMDAgIFBQQEBwcGBgAAADIAAAPoAAAAZAAAw1AAAAAAAAPQkAPQkAAATEtA
+A9CQAAAAHCAAAABLAD0JAAAPQkAjw0YAAwIBAAcGBQQLCgkIDw4NDAAAADIAAAPoAAAACgAAAfQA
+AAAAAAAD6ACYloAAD0JAAJiWgAAAHCAAAABLAD0JAAAD0JAAmJaAAwIBAAcGBQQJCQgICwsKCgAA
+AAAAAAAAAAoAFACMAIIAZABaAKAAlgB4AG4AUABGADwAMgAoAB4ACgTOBJIJzgmSArIEVgTiBKYD
+tgQaB7IJVgZeAnYJ4gmmB04COgi2CRoIFgYiAsYEagCWA3oBcgd2AL4D3gT2BLoEQgOiAmIHOgYO
+AIIDygQuAG4AWgMqATYB6gM+B8YJagFKBxIFlgh6BsIB/gZyAooDUgXmBb4I3gGaB9oJ9gm6CX4H
+nglCCKIJBgFeB2ICTgcmAxYBIgWCCGYFqgjKCS4IjgEOBW4FWgVGBtYIKgY2AhIBwgbqCD4A5gaG
+AtoEfgKeBAYGSgImCAIDZgCqA44F+gBGAdYG/gauBdIBhgeKCPIDAghSAPoFMgGuANID8gfuADIG
+mgLuBR4AHgUKAAAJxAmIBNgEnAeoCUwJ2AmcCKwJEAK8BGABaAdsBOwEsAJYBzADwAQkAyABLAe8
+CWAFjAhwBmgCgAW0CNQJ7AmwCTgImAdYAkQBGAV4CMAJJAVkBVAIIAYsBuAINALQBHQGQAIcAKAD
+hAHMBvQBfAeACEgA8ADIA+gGkALkBQAExASIAqgETAOsBBAGVAJsB0QCMAgMBhgAjANwALQD1AQ4
+A5gGBAB4AGQAUAHgAzQBQAcIBrgB9ANIBdwBkAfQCXQHlAj8AVQHHAMMCFwFoAiEAQQFPAbMAggB
+uADcBnwClAP8B/gDXAXwADwGpAXICOgC+AUoAaQH5AAoBRQAFAAABMkEjQnJCY0CrQRRBN0EoQOx
+BBUHrQlRBlkCcQndCaEHSQI1CLEJFQgRBh0CwQRlAJEDdQFtB3EAuQPZBPEEtQQ9A50CXQc1BgkA
+fQPFBCkAaQBVAyUBMQHlAzkHwQllAUUHDQWRCHUGvQH5Bm0ChQNNBeEFuQjZAZUH1QnxCbUJeQeZ
+CT0InQkBAVkHXQJJByEDEQEdBX0IYQWlCMUJKQiJAQkFaQVVBUEG0QglBjECDQG9BuUIOQDhBoEC
+1QR5ApkEAQZFAiEH/QNhAKUDiQX1AEEB0Qb5BqkFzQGBB4UI7QL9CE0A9QUtAakAzQPtB+kALQaV
+AukFGQAZBQUAAAm/CYME0wSXB6MJRwnTCZcIpwkLArcEWwFjB2cE5wSrAlMHKwO7BB8DGwEnB7cJ
+WwWHCGsGYwJ7Ba8IzwnnCasJMwiTB1MCPwETBXMIuwkfBV8FSwgbBicG2wgvAssEbwY7AhcAmwN/
+AccG7wF3B3sIQwDrAMMD4waLAt8E+wS/BIMCowRHA6cECwZPAmcHPwIrCAcGEwCHA2sArwPPBDMD
+kwX/AHMAXwBLAdsDLwE7BwMGswHvA0MF1wGLB8sJbwePCPcBTwcXAwcIVwWbCH8A/wU3BscCAwGz
+ANcGdwKPA/cH8wNXBesANwafBcMI4wLzBSMBnwffACMFDwAAAAoAjABuAJYAeAA8AFAAoACCAGQA
+MgBGAFoAKAAeABQAAACHAGkAkQBzADcASwCbAH0AXwAtAEEAVQAjABkAAAAAMAQAADAQAABZCAAA
+WaQAAZQwAAAQJAAAEDAAABA8AAAQ3AAAeywAAHs0AAHijAAB5owAAeqMAAHujAAB8owAAfaMAAH6
+jAAB/owAAI3MAAB+dAAAj9wAAZFYAACP/AAAdRwAAHUYAAB1EAAAd+AAAHfkAAB39AABnDwAARB0
+AAEQhAAAlAgAAJhcAACWDAAAlhQAAJYgAACWLAAA0CgAAJAIAAIQ3AACMNwAAlDcAAJw3AABkFQA
+AGAcAAGg2AABkJAAAHfgAAB35AAAd/QAAHl4AAB5+AABlAQAAePAAAHnwAAB68AAAe/AAAHzwAAB
+98AAAfvAAAH/wAABlAwAADAAP///wAAAMAg////AAABZEKyAAAAAAFmsfiUAAAABlBAf////AAGU
+NAAAABEAAZQIH////wABlDgAAAARAAAQKH////8AABAsf////wAAEDR/////AAAQOH////8AABBA
+D0QAAAAAeygAH//iAAB7MD//7v8AAHs4AAAAAQAAe0A//+7/AAB8JAAf/+IAAeKIAAgAAAAB5ogA
+CAAAAAHqiAAIAAAAAe6IAAgAAAAB8ogACAAAAAH2iAAIAAAAAfqIAAgAAAAB/ogACAAAAACNyP//
+//8AAI3Q/////wAAfnB/v///AAB+eH+///8AAH4AAsAAAAABkVQB////AAGRnAH///8AAI/YAH//
+/QAAj/j////9AAB1FAAAAAcAAHUMAAAACwAAd9wAAAADAAB38P////8AAZw4AAGAQAABnPgAAAAD
+AACQBAAAAD4AARB4AP///wABEHwA////AAEQiAAAAAAAAJQEAAD//wAAlBAAAP//AACYVAAAAf8A
+AJhYAAAB/wAAlggAAAAAAACWEAAf//8AAJYYAB///wAAlhwAD///AACWJAAP//8AAJYoAP///wAA
+ljAA////AADQIAAAAAcAANAkAAAABwACENgAAAADAAIw2AAAAAMAAlDYAAAAAwACcNgAAAADAAGQ
+UAAAAC8AAaDUAAABgwABkIwAOAAAAAGQmAA4AAAAAHl0AAAALwAAeXAAAAAFAAB59AAAAC8AAHnw
+AAAABSADD7QgCNa0IAMPuCAI5vggAw/EIAjmJCADD9AgCOXUIAMP5CAI5PAgAw/wIAjkQCADEAgg
+COLYIAMQGCAI4cAgAxAgIAjhmCADEDQgCOFwIAMQRCAI4UAgAxBQIAjgJCADEFggCN/8IAMQbCAI
+38ggAxB4IAjeXCADEIAgCN20IAMQkCAI3LAgAxCcIAjboCADEKwgCNqYIAMQvCAI2WwgAxDUIAjW
+fCADENggCNYAIAMQ4CAI1cggAxDoIAjVkCADEPQgCNVYIAMQ+CAI1SAgAxEEIAjU6CADEQggCNY4
+IAMRECAI1LAgAxEcIAjUeCADESQgCNRAIAMRLCAI1AggAxE0IAjROCADETwgCNO4IAMRSCAI07Ag
+AxFQIAjTeCADEVggCNNAIAMRYCAI0wggAxFoIAjS0CADD4wgCM9cIAMRcCAIzyQgAxF4IAjO7CAD
+EYAgCM60IAMRkCAIznwgAxGYIAjORCADEaAgCM4MIAMRqCAIzeQgAxG0IAjNvCADEcAgCM2MIAMR
+2CAIzWQgAxH0IAjNPCADEgQgCM0UIAMSFCAIzOwgAxIkIAjMxCADEjQgCMycIAMSRCAIzHQgAxJU
+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
+AAAoAAAAP/8AAMAAAAQAAB//gOAf/4EgH/+BYB//mrAf/6rQH/+VZOEBlgDhAf4A4QJeAOECPgDh
+Ah4A4QHiAOEBDgDhAJIACAAAAP//8P8f/6kgH/+cOOEBDgThAQ4I4QEODB//nSD/8AAAAAKABh//
+rnT/+///IAtSUCALUrAf/4HgH/+cLB//myAf/65sEAAAAP/w//8gAwuoH/+ZIAAAfkwA8ADwAADw
+ACALUyAgC1OAIAtT4OEALgjhAC4Q4QAuGB//lciAAIAAH/+xgB//nLAf/5WYH/ziAAAAe2Af/N4A
+4QGYAB//rlQf/6o8H/+sMCALVCAgC1SgIAuagCALVFAf/6xYH/+dbCALVSAgC1TgIAuZACALVZAg
+C1XQH/+sDAAoAAAgC5twIAua0N+wAAAgC5sQH/+sGP+AAAD//+AAIAtWECALVkAgBvMEIAuYsCAD
+C7Qf/5UgH/+B6B//qjD//8f/IAub0B//nYQgC5wQH/+uRCALVoAf/6x4H/+yrB//suAf/6wUBAAA
+CBIAAAAgC5WQgQAAAAAAMAAf/68gIAuVwCADC7Af/7D8AAAgmB//svhJAAAAIAuVICALlHAgC5TQ
+AA8D/wMRAAADFQAAH/+ueCAG8WAgC1bAH/+rdB//mkAf/6xEH/+dTB//nsAf/5/EIACtCB//7swf
+/+4cH//vyB//rewCAIIQAgACEAIAABABAAAAABoAAAD6xogAIAAAH/+sbOECAgAgBvJcIAbxtAAA
+/98AAP/3IAtW4B//ghAgC1dgIAtXMCALVwB/////AADn/yALV5Af/518H/+sNB//m1ggC5hA4QA2
+AAAA+AAf/6vg4QBGAB//mdAf/63cABBBBAAIAAAgCAXEH/+saCAG8qAf/5r8IAuaMCALmdAgC5zQ
+IAtYMCALnHAgC5xAIAtXwCALnKAgC5lgH/+bmB//m5Af/6m4H/+ptCALW1Af/6tQH/+CkB//q0wA
+ACcQIAtbwB//qVgf/5xIH/+cRB//nDwf/4KwH/+rSB//reggAwhQIAMKsB//gtAf/65oIAtcMB//
+qnwf/6qAH/+qhB//qrgf/6q0H/+qsB//qqwf/6qoH/+qoB//qpAf/6qUH/+qmB//gwAf/64gH/+q
+BB//g7Af/66EIAtccB//nIggC1zAH/+cXCALXPAgC10gH/+DwB//m8wAACWAIAtdUCALXZAf/5t0
+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
+AFubMsck0Q9sEBQY5NkPAgDTDyiBfyIWHfxgaB2ghQUA+CAABDADBQD4rQAJv/r1AOwWBinYBIAA
+W3Rt0qD6AAId7/r1AFt0aioWG/oAAh3v+vUAW3RmKhYa+gACHe/69QBbdGMqFhn7/+IdoQsFAFt0
+XyoWGPv/4h2hCwUAW3RcKhYW+//iHaELBQBbdFgqFhX6AAId7/r1AFt0VSoWEPoAAh3gSgUAW3RR
+mh/7/+IdowsFAFt0TioWFPogAh3iSgUAW3RLKhYT+rACHeJKBQBbdEcqFhL6cAId4koFAFt0RCoW
+EfoAAh3v+vUAW3RAmh76AAId7/r1AFt0PZod+gACHe/69QBbdDoqFgz7/+Idp4sFAFt0Npob+//i
+HaeLBQBbdDOaGvv/4h2niwUAW3QwKhYJ+//iHaCLBQBbdCyaGPv/4h2hCwUAW3Qp1qD6AAId7/r1
+AFt0Jteg+//iHaMLBQBbdCLVoPv/4h2hiwUAW3Qfmhf7/+IdoIsFAFt0HJoV+gACHe/69QBbdBkU
+5SUuEhuNRS8SGYxEDt0ojkcMKyibFA/uKK27LxIajUYP3SgvEhau3Y5JrbuNSA/uKC8SGA/dKC8S
+FK7djkutu41KD+4oLxIVD90oLxITrt2OT627jU4P7igvEhIP3SgvEhCu3S5CG627jU0P7igvEhEP
+3SiPH67dLkIcrbstQhgP7iiPHg/dKI8crt0uQhqtuy1CGQ/uKI8dD90ojxqu3S5CHq27LUIdD+4o
+jxsP3SiPGK7dLkIgrbstQh8P7iiPGQ/dKK7drbsuQiMtQiIH7igG3SiPF67drbsuQictQiYP7igF
+3SiPFa7drbsuQigtQiQP7igK3Siu3a27HeTnlhEt0X+XEpUTfcsJhRT6IAYVoAAyAPogBhWgBQUA
+9WAARXCLBQBYAkrZoOekAAgECoAA+0BIUBIAnQBkUEWPRA8CAA8CAPHjUA3gBgUA6hYeLSgEgAD6
+oGgdr/v1APxgaB3v/PUAW/4NWk7jiETlJQgDMAUAAA8CAHhj2SkSHgJnKKeXiBbTDw8CAGSAZiUS
+BiiKAA8CAAhVAQJVLCUWHAUlKPqgaB2giwUAWAIp+0BC8BIAnQApEhwPAgDjFhckgamAAMBQ5jQA
+DRgEgAD6YGgdr/v1APzAaB3v/PUAW/3vWk7FKhIc4yMIAqgFAAB6WdsjEhcrEh3jFhcltFmAAPIA
+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
+KWYvpJTkZjItAJ4AAIcW8ACwDaAKBQAAAAAAAPogqBXgRQUAW5jt/OBoHeAMBQBbmCWHFvVgQAVw
+tU0AC6oBHOHv6mYzKWgEgADkrwgJ8ASAAP4ghhXgC2UA/u8AD/AKVQBbl4qCFNEPKmYnlBRblXP7
+QAQA0AkVAOQSBCzICoAA+MvGFe/6zgAAAABsEBCTFBfh2+LhdRlIBIAAHuFumRUrImYs4qoq4qsj
+cvst4qno4rMtVkKAAOo6CA5mQoAA7DwIDu5CgAD8YABG8AYFAPwiRhXvxAUA7BYTJygHAADqFhQs
+RkKAAOgzCA2ArgAALyKZzvv4IIgV4AJqAAAAAADaYFtwyhnhPampKJKAZ4ALbQgFKpKAZ6ACY//z
+KSKZyZ3AoVtwwRnhNampK5KAZ7ALbQgFKpKAZ6ACY//zKSKZJlaSLyJmHOFSG+FSK1aN+rHmFeAK
+JQAqVpUsVpap/y9WjvvgAERwDQUA+LIGFa/EBQDoVpQn+P0AAPXgBAewDhUAW3ByiRQe4TP6TMgV
+78QFACmcPwSZAelWhyWhWYAAL+LGKOLJ0w8J/wwI/wyx/Q/9Ox/hlA0dEg/dNGbUbi8KZA/fLP/g
+AQfwClUA7OGOH/cCgADuFgcv/4KAAP4gxhXgCwUAW5cpW3CSJnbdL3IiJHIeKHIdKXIcKnIbK3Ia
+LXIYLnIXLHIZLnbert0uch8tdt+tzCx24Ky7LXIhK3bhq6osciAqduKqmStyKyl246mIKnIsKHbk
+qEQpci0kduWk/yhyLi925q/uJHIvLnbnrt0vcjAtduitzC5yMSx26ay7LXIyK3bqq6oscjMqduuq
+mStyNSl27KmIKnI2KHbtqEQpcjkkdu6k/y927yhyOq/uLnbwJHI7rt0tdvGtzCx28qy7K3bzq6oq
+dvSqmSl29amIKHb2qEQkdvhbkLKaH1uQsSlSiSRSii1Shvkv4BXvjgUA7pkBAgBpgAAvUocP3QwN
+TTYoUoTIjgmoEaiYeNMH+LEmFaAAGgDAkOkWECSWoYAALBIQZMM3HuDSLHb7L+KzKuKp6OKqJyPz
+AAAtQuvu4qstVkKAAOrJCAxGQoAA6MgID/5CgACvz58ZmBjoEhIvdkKAAO7OCA7uQoAA/iFGFaSt
+HQBtqQUIAIYJAmH6IkgVpr0dAFtwKi1C7NMP6RIILu5CgAD4ImgVpK0dAG2pBQgAhgkCYfoiaBWm
+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
+xCKXzCrFKf+PBh2vgwUAI8QgI8QhI4IbsJnidwgDMAUAAONrSnXYBQAAI4LZLILlo2MJMhGizPOA
+BhXgAuUAIsQE78QFLP2OAAApUH70gCAVoAsVAOWfnmKoBQAAbQgMKVB+sUTln45iqAUAAGP/7CmC
+HMuX9XioBeAGBQD4AOId4Af1AG0IIiyC2iuC5axsCc4RrrucsCW2Fi20DSm0DCe0BCqCHLFmemsC
+Y//WwCDRDwAA96BoHe/8kgBsEAQSvPEcvoETvn0bvn8fvn0vNvT6fmYV4AoVACo2+ys29Ss2+Sw2
+/PJ+xhWgDhUA8n9GFaACBQDiNvgpaASAAFtMDyI2yIo5iziMN402jjWIM4kyjzQpNsmpiIk9KDbK
+qP8vNsuv7og6LjbMrt2PPC02za3MjjssNs6suy0yFis2z6uqLDIXKjbQqpkrMhgpNtGpiCoyGSg2
+0qj/KTIaLzbTr+4oMhsuNtSu3S8yHC021a3MLjIdLDbWrLstMh4rNterqiwyICo22KqZKzIhKTbZ
+qYgqMiQoNtqo/y822ykyJa/uLjbcKDImrt0tNt2tzCw23gy7CCs23wuqCCo24AqZCCk24QmICCg2
+41tsa+wy9C1oBIAA6jL6Lu5CgAD9o+AV7+4FAA7dAf1PAA1/iwUA66IBBgCRgAAvMvkuMvXTDw/+
+OX4rGsAgwKD9d/AFoAtlAFtymskh8nzGFaACBQDRDyI2+nuo72P/3SI25v18UAWgCgUA+gACHe/9
+RQBbco/HJNEPAGwQBBq+Iha75hK7hB29Fhi+IPJP6BWgC5UA9Xv2BeAM5QDpjFQkOrEAAG0pGiRQ
+gNMP0w8EBERrQhVmQBInZpjlXAEjMFEAAMAg0Q8AAAAA4lC4IhURAADvULgiHL0AAO5QuCIkcQAA
+a0cCa0UIe0EFdMLLakrI/NMGFe//FgAAaeO8+tMGFa/+5gBp9bH40wYV7/66AAAAaSik+NMGFa/+
+hgAAbBAEE737FrvBGruB9XiqBeAEBQAkpoEkpoMkpoAkpoIoMHHBkOmmiiR8zoAALVJN/3d4BaDf
+VQAP3SgfvVUO3SwoYsAPiAEI2AIoZsAuYuAP7gEO3QItZuAsYuAbveH9e8oFoAoFAFv+F8Ch/XiU
+BaALBQBb/hNb/fPmobZtEASAABm77CoKCCuSj/puBh3juwEAKzRwKJKKG73XHL2mCogCKJaK+BEC
+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
+EVAEFQBgADhpZAUFqAgnhgBySyzqNAAKWASAAFtts+hhFGIgBQAA5akICxd0AAD3IAQd7/96AKWr
+92AGHe//UgDRDwAsoqkpsoajzAnMEeyZCAMN3QAAaGJ2aWTjpZ2X0NEPABm6eKk5KZB9aEA25JBl
+YhAFAAByQ5lj/8MsoqkpsoajzOnMEQIgBQAA7JkIAwxtAABoYh1oZCTyn/urogCdAGP/mmWfS2P/
+lKWY9wAGHe//pgClmvdABB3v/34ApZv3YAYV7/9WAKWcJ8QA0Q+lnSfVANEP0Q8AACADD0AMwAAG
+IAbNpCADD0QIwAAMIAbNpCADD0ggwAAQIAbNLCADD0wGwAA4IAbPCCADD1AIwAA8IAbNpCADD1QC
+wABAIAbPCCADD1gIwABEIAbNpCADD1wIgABIIAbONCADD2AYgABcIAbONCADD2QYgABwIAbONCAD
+D2gYgACEIAbONCADD2wYgACYIAbONCADD3AYgAD8IAbONCADD3QYgAEMIAbONCADD3gYgAEcIAbO
+NCADD3wYgAEsIAbONCADD4AIgAF8IAbONEZDb0UgRERQIGZhaWxlZCA6IG94X2lkIDB4JXggcnhf
+aWQgMHgleAoAAAAAAAAAAEZDb0UgRERQIGZhaWxlZCA6IERkcFJlcG9ydCAweCV4IERkcFZhbGlk
+IDB4JXgKAEZDIHhjaGcgYWxsb2MgZmFpbGVkOiBhdmFpbCAlZAoARkNPRSBGcmVlOiBzdGlsbCB5
+aWVsZGVkIHdoZW4gZnJlZWluZy4uLmZsb3djX2lkICV4IGZsb3djX2ZsYWdzICV4IAoAAAAAAAAA
+AAAAAABQUkxJIFJzcCB0aW1lZG91dCA6IGZsb3djX2lkIDB4JXggb3hfaWQgMHgleCByeF9pZCAw
+eCV4IAoAAAAAAAAAaHdfYmNtODQzNF9jaGVja3JhbTogU3RhcnQKAAAAAABQSFkgcHJvY2Vzc29y
+IG5vdCBydW5uaW5nLCBzdGlsbCBpbiByZXNldCBmb3IgNW1zLCBwb3J0X2JpdF9tYXA9JXUgCgAA
+AAAAAAAAAAAAAFBIWSBGVyBoYXMgYmFkIENSQywgb2tfY3JjPSV1CgAAUEhZIGZpcm13YXJlIGxv
+YWQgc3VjY2Vzc2Z1bCEKAABod19iY204NDgzNF9sb2Fkc2VxdWVuY2U6IFN0YXJ0ZWQKAAAAAAAA
+AAAAAAAAAABod19iY204NDgzNF9sb2Fkc2VxdWVuY2U6IFVwbG9hZCBpbWFnZSB0byBQSFkgb24t
+Y2hpcCBtZW1vcgoAAAAAaHdfYmNtODQ4MzRfbG9hZHNlcXVlbmNlOiBkb25lIGxvYWRpbmcgaW1h
+Z2UgKGkgPSAldSkKAAAAAAAAAAAAAGh3X2JjbTg0MzRfbG93cG93ZXJbJXVdOiBlbmFibGU9JWQK
+AAAAAAAAAAAAAAAAAGh3X2JjbTg0MzRfbG93cG93ZXJbJXVdLCBmYWlsZWQgdG8gc2V0IDMwLjB4
+NDAxQWJpdCA3IHNpbmNlIDMwLjB4NDAwRSBiaXQ9MSBhZnRlciA1bXMsCXJlZz0leAoAAGh3X2Ns
+NDVfaW5pdFsldV0gYWNhcHMgJSN4CgAAAAAAaHdfY2w0NV91cGRfc3BkX2FkdiAlI3gKAAAAAAAA
+AABod19hcTEyMDJfbGlua191cFsldV0gdXAKAAAAAAAAAHBbJXVdIFBIWSBPVkVSSEVBVEVEIC0g
+Zm9yY2VkIHBvd2VyIGRvd24gKHRlbXA9JWQpCgAAAAAAAAAAAAAAAABGTEFTSCBub3QgcmVhZHk6
+IGkgJXUgbnZyUmVnICUjeAoAAAAAAAAAAAAAAAAAAABBUV9GTEFTSF9SZWFkeSAtIFRpbWVvdXQg
+KDEpCgAAAEFRX0ZMQVNIX1JlYWR5IC0gVGltZW91dCAoMikKAAAACUFRX1JldHVybkNvbnRyb2xP
+ZkZMQVNICgAAAAAAAABnYXRoZXJfdGFza3NfdG9fdHhfbGlzdDogdGFzayBpbiB1c2UgWyV1XQoA
+AAAAAABnYXRoZXJfdGFza3NfdG9fdHhfbGlzdDogaWR4IFsldV0sIHRhc2sgZmlkIFsweCV4XSwg
+dGFzayBzdGF0ZSBbMHgleF0sIHRhc2sgY29ubiBbMHgleF0sIHRhc2sgZmZsYWdzIFsweCV4XSwg
+Y29ubiBmaWQgWzB4JXhdLCBkZHAgWyVkXQoAAAAAAAAAAABnYXRoZXJfdGFza3NfdG9fdHhfbGlz
+dDogdGFzayBbMHgleF0sIHN0YXRlIFsweCV4XSBvbiBjb25uIFsweCV4XSBub3QgdmFsaWQgdG8g
+Z2F0aGVyLCBza2lwcGluZwoAAAAAAAAAAAAAAAAAAAAAZ2F0aGVyX3Rhc2tzX3RvX3R4X2xpc3Q6
+IHRhc2sgWzB4JXhdLCBzdGlsbCBxdWV1ZWQgb24gdHggcGVuZGluZyBsaXN0LiBSZW1vdmluZyBp
+dC4KAAAAAAAAAAAAAAAAZ2F0aGVyX3Rhc2tzX3RvX3R4X2xpc3Q6IGNvbm5fZmMtPmZsb3djX2Zs
+YWdzIFsweCV4XSwgbGlzdF9lbXB0eSBbMHgleF0sIGFkZF90YXNrX2NvdW50IFsweCV4XQoAdG9f
+dHhfbGlzdDogbm8gdGFzayB0byBjbG9zZSBmb3IgY29ubiBbMHgleF0sIGJhaWxpbmcgdG8gcmVj
+b3Zlcnkgc3RhdGUgWzB4JXhdCgBzZXRfZGlnZXN0OiB1cGxzdWJtb2RlOiV4CgAAAAAAAGF1dGhl
+bnRpY2F0ZV90YXJnZXQ6IEtFWV9DSEFQX1JFU1AgLSBbMHgleCV4JXgleCV4JXgleCV4XQoAAAAA
+AABhdXRoZW50aWNhdGVfdGFyZ2V0OiBLRVlfQ0hBUF9SRVNQIC0gWzB4JXgleCV4JXgleCV4JXgl
+eF0KAAAAAAAAYXV0aGVudGljYXRlX3RhcmdldDogSW5jb3JyZWN0IHBhc3N3b3JkCgAAAAAAAAAA
+Q0hBUF9DOiBkaWdlc3QgZXhwYW5zaW9uIGVycm9yCgBDSEFQX046IFRhcmdldCB1c2VyaWQgbWlz
+bWF0Y2gKAENIQVBfUjogZGlnZXN0IGV4cGFuc2lvbiBlcnJvcgoAaVNDU0kgU2VjLXBhcmFtcyBy
+ZWNlaXZlZCBoYXZlIGVycm9ycyEhCgAAAAAAAAAAVGFyZ2V0IG1vdmVkIHRlbXAuIGNvbm4gJXgs
+IHNlc3MgJXgKAAAAAAAAAAAAAAAATG9naW4gRmFpbGVkISEuIGNvbm5fZmMgWzB4JXhdLCBzZXNz
+X2ZjIFsweCV4XSwgc3RhdHVzX2NsYXNzIFsweCV4XQoAAAAAAAAAAAAAAABQcm90b2NvbCBFcnJv
+ciBjYml0ICVkIHRiaXQgJWQgY3NnICVkIG5zZyAlZAoAAAByZWN2X25vcGluOiBjdHJsIHRhc2sg
+YWxyZWFkeSBwZW5kaW5nCgAAAAAAAAAAAABvZmxkX3J4X2RhdGE6IGFpZWUsIGlzY3NpIGNvbm4g
+WzB4JXhdIGZvciBzZXNzIFsweCV4XSwgdHlwZSBbMHgleF0gdHJhbnNpdGVkIGluIHRvZSBtb2Rl
+LiBLaWNraW5nIHJlY292ZXJ5IAoAAAAAb2ZsZF9yeF9kYXRhOiBjb25uIHRpZCBbMHgleF0sIHJ4
+X2RhdGEtPnNlcSBbMHgleF0sIHJ4X2RhdGEtPmxlbiBbMHgleF0sIHJ4X2RhdGEtPnN0YXR1cyBb
+MHgleF0KAAAAAAAAAAAAAAAAAAAAAG9mbGRfcnhfZGF0YTogY3NrIHsgaWQgWzB4JXhdLCBjc29j
+a19vZmZzZXQgWzB4JXhdLCBkbGVuIFsweCV4XSB9CgAAAAAAAAAAAAAAAAAAYWN0X2VzdDogdGNi
+X2ZjIFsweCV4XSwgZmxvd2NfaWNvbm5fZmxhZ3MgWzB4JXhdCgAAAAAAAAAAAAAAAAAAAGFjdF9l
+c3RhYjogdGNiX2ZjLT5mbG93Y19idWYgWzB4JXhdLCB0Y2JfZmMtPmZsb3djX3R5cGUgWzB4JXhd
+IHRjYl9mYy0+Zmxvd2Nfc3RhdGUgWzB4JXhdLCBucGFnZXMgWzB4JXhdLCBmbG93Y190cF9zbmRf
+bWF4IFsweCV4XQoAAAAAAAAAAAAAAAAAAGFjdF9lc3RhYjogYXRpZCBbMHgleF0sIHRpZCBbMHgl
+eF0sIG9wIFsweCV4XSwgcmN2X2lzbiBbMHgleF0sIHNuZF9pc24gWzB4JXhdLCBjc29jay0+Zmxv
+d2Nfc3RhdGUgWzB4JXhdLCB0Y3Bfb3B0IFsweCV4XSwgdGNiX2ZjLT5mbG93Y19pZCBbMHgleF0g
+CgAAAAAAAAAAAAAAAABjc2tfZmMtPmZsb3djX2Nzb2NrX2Nvb2tpZSBbMHgleF0gCgAAAAAAAAAA
+AAAAAABjaG5ldF9xdWV1ZV94bWl0OiBmYy0+Zmxvd2NfaWQgWzB4JXhdLCBidWZfbGVuIFsweCV4
+XSwgYnVmZmVyZWQgWzB4JXhdLCBmaWZvLm51bV9ieXRlcyBbJTB4XQoAAABuZXRpZl9kb19kaGNw
+OiB3ci0+cGFyYW0udmxhbmlkIFsldV0sIGwyZGV2X2ZjLT5mbG93Y19uZXRfbDJkZXZfdmxhbmRl
+diBbMHgleF0KAGwzaW40X2Rldl9jb25maWc6IHdyLT5wYXJhbS52bGFuaWQgWyV1XSwgbDJkZXZf
+ZmMtPmZsb3djX25ldF9sMmRldl92bGFuZGV2IFsweCV4XQoAAAAAAAAAAAAAAAAAAG5ldF9sM2lu
+NF9kZXZfY29uZmlnOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBhZGRyZXNzIGFscmVhZHkg
+dXNlZCBieSBwb3J0ICVkCgAAAAAAAAAAAAAAAAAAAG5ldF9sM2luNF9kZXZfY29uZmlnOiAgYWRk
+ciBbMHgleF0sIG1hc2sgWzB4JXhdLCBndyBbMHgleF0sIHJlZl9jbnQgWzB4JXhdIGluIHVzZQoA
+AAAAAAAAAAAAAAAAAHdyaF9jaG5ldF9pZmNvbmY6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0s
+IGwyZGV2X2ZjLT5mbG93Y190eXBlIFslMHhdLCBpZmNvbmZfd3ItPnN1Ym9wIFsweCV4XQoAAAAA
+AAAAAAAAAAAAAAB3cmhfY2huZXRfaWZjb25mOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCB1
+bmtub3duIHN1Ym9wIFsweCV4XQoAAAAAAAAAAAAAAAAAAHdyaF9jaG5ldF9pZmNvbmY6IGwyZGV2
+X2ZjLT5mbG93Y19pZCBbMHgleF0sIHJjICVkCgAAAAAAAAAAAAAAAABuZXRpZl9pcF9jb25mbGlj
+dF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgaW5kZXZjdHh0LT5zdGF0ZSBb
+JWRdLCBpbmRldmN0eHQtPnJldHJ5X2NudCBbJWRdCgAAAAAAAAAAbmV0aWZfaXBfY29uZmxpY3Rf
+dGltZXJfY2I6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGluZGV2Y3R4dCBbMHgleF0sIGlu
+IGZyZWUgc3RhdGUKAAAAAAAAAAAAY21kaF9jaG5ldF9pZmFjZTogZmMgWzB4JXhdLCBmYy0+Zmxv
+d2NfaWQgWzB4JXhdLCBmYy0+Zmxvd2NfdHlwZSBbMHgleF0sIHAgWzB4JXhdLCBsZW4xNiBbJXVd
+LCBsb2MgWzB4JXhdCgAAAAAAAGNtZGhfY2huZXRfaWZhY2U6bDJkZXZfZmMgWzB4JXhdLCBsMmRl
+dl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBsMmRldi0+Zmxvd2NfdHlwZSBbJXVdLCBsMmRldl9mYy0+
+Zmxvd2NfbmV0X2wyZGV2X2ZsYWdzIFslMHhdCgAAAAAAY21kaF9jaG5ldF9pZmFjZTogcjJbMF06
+JXUgcjJbMV06JXUsIHN1Ym9wOjB4JXgKAAAAAAAAAAAAAAAAAAAAAGNtZGhfY2huZXRfaWZhY2U6
+IGwyZGV2X2ZjLT5mbG93Y19uZXRfbDJkZXZfZmxhZ3MgY2hhbmdlZCBmcm9tIFslMHhdIHRvIFsl
+MHhdLCByYyBbJWRdCgAAAAAAAAAAAGNobmV0X2wyZGV2X3VwX21iX2NiOiByYyBbJWRdLCBwb3J0
+IFsldV0sIHN0YXRlIFsldV0sIGNvb2tpZSBbMHgleF0KAAAAAAAAAAAAAAAAZGhjcF9wcm9jZXNz
+X2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBkaGN0eHQtPnN0YXRlIFslMHhdLCBkaGN0
+eHQtPnJ0cnlfY250IFsldV0KAAAAAAAAAAAAZGhjcF90aW1lcl9jYjogREhDUERJU0NPVkVSIHNl
+bnQsIGJ1dCBubyByZXBseSBmcm9tIGFueSBwb3NzaWJsZSBzZXJ2ZXIgb24gdGhlIG5ldHdvcmsu
+IFJldHJ5aW5nIGFnYWluCgAAAAAAAAAAAGRoY3BfdGltZXJfY2I6IGwyZGV2X2ZjLT5mbG93Y19p
+ZCBbMHgleF0sIHNlbmRpbmcgREhDUERJU0NPVkVSIGZvciBkaGN0eHQgWzB4JXhdIG9uIHBpZCBb
+JWRdCgAAAGRoY3BfdGltZXJfY2I6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIERIQ1BPRkZF
+UiByZWNlaXZlZCBmb3IgZGhjdHh0IFsleF0gcGlkIFslZF0KAAAAAAAAAAAAAGRoY3BfdGltZXJf
+Y2I6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sICBESENQQUNLIHJlY2VpdmVkIGZvciBkaGN0
+eHQgWyV4XSwgcGlkIFslZF0KAAAAAAAAAAAAAGRoY3BfdGltZXJfY2I6IGwyZGV2X2ZjLT5mbG93
+Y19pZCBbMHgleF0sIGRoY3R4dC0+aXBhZGRyIFsweCV4XQoAAAAAAAAAAAAAAAAAAAAAZGhjcF90
+aW1lcl9jYjogc3RhcnRpbmcgdGltZXIgZm9yIGxlYXNlIFsldV0gc2Vjb25kcwoAAAAAAAAAAAAA
+AGRoY3BfdGltZXJfY2I6IGxlYXNlIHRpbWUgb2YgWyV1XSBzZWNvbmRzIGV4cGlyZWQsIHNlbmRp
+bmcgcmVuZXcgcmVxdWVzdAoAAAAAAAAAZGhjcF90aW1lcl9jYjogbm8gcmVwbHkgZm9yIGRoY3Ag
+cmVxLCByZXRyeWluZyBhZ2FpbgoAAAAAAAAAAAAAAGRoY3BfdGltZXJfY2I6IGwyZGV2X2ZjLT5m
+bG93Y19pZCBbMHgleF0sIG5vIHJlcGx5IGZyb20gZGhjcCBzZXJ2ZXIsIHRpbWluZyBvdXQKAAAA
+AAAAAAAAAAAAAAAAAGF1dGhfbmVnb19zZWN1cml0eTogc2VuZF9mbGFnIFsweCV4XSwgYXV0aF9w
+b2xpY3kgWzB4JXhdCgAAAAAAAABhdXRoX25lZ29fc2VjdXJpdHk6IEtFWV9DSEFQX1JFU1AgLSBo
+YXNoWzB4JXgleCV4JXgleCV4JXgleF0KAAAAYXV0aF9uZWdvX3NlY3VyaXR5OiBLRVlfQ0hBUF9S
+RVNQIC0gaGFzaFsweCV4JXgleCV4JXgleCV4JXhdCgAAAGF1dGhfbmVnb19zZWN1cml0eTogS0VZ
+X0NIQVBfUkVTUCAtIGVycm9yIGVuY29kaW5nIHRvIGhleAoAAAAAAABhdXRoX25lZ29fc2VjdXJp
+dHk6IEtFWV9DSEFQX1JFU1AgLSBlbGVuIFsweCV4XQoAAAAAAAAAAAAAAAAAAAAAYXV0aF9uZWdv
+X3NlY3VyaXR5OiBLRVlfQ0hBUF9DSEFMIC0gZXJyb3IgZW5jb2RpbmcgdG8gaGV4CgAAAAAAAGF1
+dGhfbmVnb19zZWN1cml0eTogS0VZX0NIQVBfQ0hBTCAtIGVsZW4gWzB4JXhdCgAAAAAAAAAAAAAA
+AAAAAABsb2dvdXRfdGltZWRvdXQ6IGxvZ291dCByZXF1ZXN0IHRpbWVkb3V0LCBwb3NzaWJsZSBu
+ZXR3b3JrIGlzc3Vlcy4gRm9yY2VmdWxseSBicmVha2luZyBwYXRoIGZvciBzZXNzIFsweCV4XQoA
+AAAAcGluZ190YXJnZXQ6IHBpbmcgdGltZW91dCwga2lja2luZyByZWNvdmVyeSBmb3Igc2VzcyBb
+MHgleF0KAAAAAGNzb2NrX2ZhaWxlZDogY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+
+Zmxvd2Nfc3RhdGUgWzB4JXhdLCBzZXNzX2ZjLT5mbG93Y19pZCBbMHgleF0sIHNlc3NfZmMtPmZs
+b3djX3N0YXRlIFsweCV4XSwgZXZ0IFsweCV4XQoAAAAAAAAAAAAAAHJjIFslZF0sIGNza19mYyBb
+MHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdCgAAAAAAAAAAAAAAAAAAAAByZWNvdmVyeV90
+aW1lb3V0OiBzZXNzIGlkIFsweCV4XSBzdGF0ZSBbMHgleF0sIHJjb3VudCBbJWRdLCBmbGFncyBb
+MHgleF0KAAAAAAAAAHJlY292ZXJ5X3RpbWVvdXQ6IHNlc3MgaWQgWzB4JXhdIGluIGxvZ291dCwg
+YWJvcnQgdGhlIGNvbm5lY3Rpb24KAAAAAAAAAAAAAAAAAAAAcmVjb3ZlcnlfdGltZW91dDogc2Vz
+c19mYy0+Zmxvd2NfZm9pc2NzaV9zZXNzX2ZsYWdzIFsweCV4XSwgY29ubmVjdGlvbiByZXF1ZXN0
+IHBlbmRpbmcsIGJhaWxpbmcgb3V0CgAAAAAAAAAAAAAAAGZvaXNjc2k6IFJlY292ZXJ5IHRpbWVk
+IG91dCBhZnRlciBbJXVdIHJldHJ5LCBiYWlsaW5nIG91dAoAAAAAAABUQ1AgY29ubiBlc3RhYmxp
+c2htZW50IGZhaWxlZCAlZAoAAAAAAAAAAAAAAAAAAABkaXNjb3ZlcnlfZGF0YTogc2VzcyB7IGlk
+IFsweCV4XSwgZmxhZ3MgWzB4JXhdLCBidWZmZXJlZCBbJXVdLiB9CgAAAAAAAAAAAAAAAAAAAGRp
+c2NvdmVyeV9kYXRhOiBzZXNzIHsgaWQgWzB4JXhdIH0sIHVscHR4Y2ggWyV1XSBubyBjcmVkaXRz
+IGF2YWlsYWJsZSwgcmVzY2hlZHVsaW5nIHJlcXVlc3QuCgAAAEludmFsaWQgb3Bjb2RlIDB4JXgg
+aW4gY3RybCBwYXRoCgAAAAAAAAAAAAAAAAAAAEREUCBlcnJvciBbMHgleF0sIGFib3J0aW5nIGNv
+bm5uIFsweCV4XQoAAAAAAAAAAHJ4X2RhdGFfZGRwOiBSZXNwb25jZSByZWNpZXZlZCBmb3IgdGFz
+ayBbMHgleF0gd2hpbGUgaW52YWxpZCB0YXNrIG9yIGNvbm5lY3Rpb24gc3RhdGUuIHRhc2sgc3Rh
+dGUgWzB4JXhdLCBjb25uIHN0YXRlIFsweCV4XSwgY29ubiBmbGFncyBbMHgleF0KAGloZHI6IFJl
+c3BvbmNlIHJlY2lldmVkIGZvciB0YXNrIFsweCV4XSB3aGlsZSBpbnZhbGlkIHRhc2sgb3IgY29u
+bmVjdGlvbiBzdGF0ZS4gdGFzayBzdGF0ZSBbMHgleF0sIGNvbm4gc3RhdGUgWzB4JXhdLCBjb25u
+IGZsYWdzIFsweCV4XQoAAAAAAAAAAGloZHI6IEludmFsaWQgdGFzayBzdGF0ZSAweCV4IGZvciB0
+YXNrIDB4JXgsIGl0dCBbMHgleF0sIG9wYyBbMHgleF0KAAAAAAAAAAAAAAAAcHJvY2Vzc190bWZf
+cmVzcG9uc2U6IGJ1ZmZlcmVkIFsweCV4XSwgaXN0YXNrX2ZjLT5mbG93Y19idWYtPnNjaGVkX25v
+ZGUubmV4dCBbMHgleF0sIGlzdGFza19mYyBbMHgleF0sIGlzdGFza19mYy0+Zmxvd2NfaWQgWzB4
+JXhdCgAAAAAAAAAAAAAAAAAAcHJvY2Vzc190bWZfcmVzcG9uc2U6IHdyIG9wIFsweCV4XSwgdG1m
+IG9wIFsweCV4XQoAAAAAAAAAAAAAAAAAAHRtZl9yZXNwOiBmbG93YzoweCV4LCBpZDoweCV4LCBz
+dGF0ZToweCV4LCB5aWVsZDoweCV4CgAAAAAAAAAAAAB0bWZfcmVzcDogdF90YXNrOjB4JXggZnJl
+ZWQuCgAAAHNjc2lfY21kX3Jlc3A6IGZsb3djOjB4JXgsIGlkOjB4JXgsIHN0YXRlOjB4JXgsIHlp
+ZWxkOjB4JXgKAAAAAABkYXRhX2luX3Jlc3A6IGZsb3djOjB4JXgsIGlkOjB4JXgsIHN0YXRlOjB4
+JXgsIHlpZWxkOjB4JXgKAAAAAAAAcmV0dXJuX3BlbmRpbmdfdGFzazogY29va2llIFsweCUwOHhd
+LCBbMHglMDh4XQoAcmV0dXJuX3BlbmRpbmdfdGFzazogZGVsYXkgcHJvY2Vzc2luZywgY29ubiBm
+bGFncyBbMHgleF0KAAAAAAAAAHJldHVybl9wZW5kaW5nX3Rhc2s6IERvbmUgc2VuZGluZyB0YXNr
+IGVycm9yIHRvIGhvc3QsIHVscHR4bGVuMTYgWyV1XQoAAAAAAAAAAAAAcmV0dXJuX3BlbmRpbmdf
+dGFzazogZGVxdWV1ZSB0YXNrIFsweCV4XSwgc3RhdGUgWzB4JXhdIGZyb20gdHhfbGlzdAoAAAAA
+AAAAAAAAAAByZXR1cm5fcGVuZGluZ190YXNrOiBhbGwgdGFza3MgcmV0dXJuZWQsIHJlY292ZXJ5
+IHN0YXRlIHRyYW5zIHRvIFsweCV4XQoAAAAAAAAAAGNsZWFyX2RkcF9tYXA6IGlzdGFza19mYyBb
+MHgleF0sIGlzdGFza19mYy0+Zmxvd2NfaWQgWzB4JXhdIGJ1ZmZlcmVkICV1CgAAAAAAAAAAY2xl
+YXJfZGRwX21hcDogaXN0YXNrX2ZjLT5mbG93Y19pdGFza19ucHBvZCAldSwgbnBwb2QgJXUsIHBw
+ZGFkZHIgWzB4JXhdCgAAAAAAAABjbGVhcl9kZHBfbWFwOiBhbGwgcmV0dXJuZWQgdGFza3MgZGRw
+IGNsZWFyZWQsIHJlY292ZXJ5IHN0YXRlIHRyYW5zIHRvIFsweCV4XQoAAHdyaF9mb2lzY3NpX25v
+ZGU6IG5vZGVfd3ItPmZsb3dpZF9sZW4xNiAyIFsleF0KAHdyaF9mb2lzY3NpX2NoYXA6IGlkX2xl
+biBbJXhdLCBzZWNfbGVuIFsleF0KAAAAAHdyaF9mb2lzY3NpX2NoYXA6IHRndF9pZF9sZW4gWyV4
+XSwgdGd0X3NlY19sZW4gWyV4XQoAAAAAAAAAAAAAAABzZXNzaW9uX2Jsb2NrOiBzZXNzX2ZjLT5m
+bG93Y19pZCBbMHgleF0sIHNlc3NfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwgY29ubl9mYy0+Zmxv
+d2NfaWQgWzB4JXhdLCBjb25uX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIGNza19mYy0+Zmxvd2Nf
+aWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRlIFsweCV4XQoAAAAAAAAAAAAAAAAAAABzZXNz
+aW9uX3VuYmxvY2s6IHNlc3NfZmMtPmZsb3djX2lkIFsweCV4XSwgc2Vzc19mYy0+Zmxvd2Nfc3Rh
+dGUgWzB4JXhdLCBjb25uX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNvbm5fZmMtPmZsb3djX3N0YXRl
+IFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+Zmxvd2Nfc3RhdGUgWzB4
+JXhdCgAAAAAAAAAAAAAAAABzdGFydF9sb2dvdXQ6IFNlc3MtaWQgWzB4JXhdIGFscmVhZHkgbG9n
+Z2luIG91dC4KAAAAAAAAAAAAAAAAAAAAcGVlcl9jb246IGNza19mYyA9PiBmbG93aWQgWzB4JXhd
+LCBmbG93Y19idWYgWzB4JXhdCgAAAAAAAAAAAAAAAGFsbG9jX3Nlc3M6IGxvZ2luX3JldHJ5IFsl
+ZF0sIHJlY292X3RpbWVvdXQgWyVkXQoAAAAAAAAAAAAAAAAAAABmb2lzY3NpX2N0cmw6IHN1Ym9w
+IFsweCV4XSwgc2Vzc190eXBlX3RvX2VybCBbMHgleF0sIHNlc3NfdHlwZSBbMHgleF0KAAAAAAAA
+AAAAAGZvaXNjc2lfY3RybDogcmVjZWl2ZWQgYmxvY2tlZCBmcm9tIGRyaXZlciwgdHJpZ2dlcmlu
+ZyByZXR1cm4gdGFza3Mgbm93LgoAAAAAAAAAV0FUQ0hET0dfZGlzcGF0Y2ggY2FzZSB0byBhdm9p
+ZDogQ291bnRlcl93YXRjaGRvZyAldSBDb3VudGVyX3NjaGVkICV1IAoAAAAAAAAAAAB4Z21hY1sl
+dV0gc2V0dGluZy91bnNldHRpbmcgaHNzIHJlc3luYyBiaXQKAAAAAABXQVRDSERPRzogZGV2aWNl
+IHNodXRkb3duCgAAAAAAAFdBVENIRE9HOiBwb3J0WyV1XSBwYXVzZSB3YXRjaGRvZyB0aW1lb3V0
+CgAAAAAAAFdBVENIRE9HOiBieXBhc3MgdGltZW91dAoAAAAAAAAAV0FUQ0hET0c6IEZMUiAtIG5v
+dCBpbXBsZW1lbnRlZCB5ZXQKAAAAAAAAAAAAAAAAV0FUQ0hET0c6IHRlbXBlcmF0dXJlIG9mICVk
+QyBleGNlZWRzIHRocmVzaG9sZCBvZiAlZEMKAAAAAAAAAAAAAGZpbHRlcjogcG9yZ3JhbW1pbmcg
+dGlkICV1IChsZSB0Y2FtIGluZGV4ICV1KS4uLgoAAAAAAAAAAAAAAAAAAABmaWx0ZXI6IHJlcXVl
+c3RpbmcgY29tcGxldGlvbi4uLgoAAAAAAAAAAAAAAAAAAABsMmRldl9zZW5kX3BvcnRfZXZlbnQ6
+IHdyIFsweCV4XSBwZW5kaW5nIG9uIHBvcnQgWyVkXSwgY3VycmVudCB0cnkgWyVkXQoAAAAAAAAA
+AGRjYnhfaWVlZV9jbWRoWyV1XSB3cml0ZSBvbmx5IHBlcm1pdHRlZCBvbiBsb2NhbCBjb25mCgAA
+AAAAAAAAAABkY2J4X2llZWVfY21kaFsldV0gY2Fubm90IHdyaXRlICV1IGFwcHMgKE1BWDogJXUp
+CgAAAAAAAAAAAAAAAAAAZGNieF9pZWVlX2NtZGhbJXVdIHJlcXVlc3RpbmcgRENCX0lFRUVfQ01E
+CgAAAAAAZGNieF9pZWVlX2NtZGhbJXVdIHVua25vd24gZmVhdHVyZSB3cml0ZTogJXUKAAAAZGNi
+eF9pZWVlX2NtZGhbJXVdIHVua25vd24gZmVhdHVyZSByZWFkOiAldQoAAAAAY2Fubm90IGFsbG9j
+YXRlIG9mZmxvYWRlZCBmaWx0ZXIgY29ubmVjdGlvbgoAAAAAY2Fubm90IGFsbG9jYXRlIG9mZmxv
+YWRlZCBmaWx0ZXIgSVB2NiBjb25uZWN0aW9uCgAAAAAAAAAAAAAAAAAAAGRpc3BhdGNoX2RlZmVy
+cmVkX2NsYXNzX2NsYXNzX3NoYXBpbmdbJXU6JXVdOiBsaXN0X2VtcHR5CgAAAAAAAABsb29wYmFj
+ayBidWZmZXIgZ3JvdXBbJXVdIGlzIGRpc2FibGVkCgAAAAAAAAAAAABpbnZhbGlkIGJ1ZmZlciBn
+cm91cFsldV0gY29uZmlndXJhdGlvbjogbXR1ICV1IGx3bSAldSBod20gJXUgZHdtICV1CgAAAAAA
+AAAAAAAAAGZjICV1IHZmICV1IGdvdCBpdmY9MHgleCxyYW5nZTogJSN4LSUjeCAoJXUvJXUgdXNl
+ZCkKAAAAAAAAAAAAAABWSSAldSBjYW5ub3QgZ2V0IFJTUyBzbGljZTogTm8gbW9yZSBzbGljZXMg
+YXZhaWxhYmxlICh1c2VkICV1LyV1KQoAAAAAAAAAAAAAAAAAAHBmbiAldSB2Zm4gJXUgd2l0aCBw
+b3J0IG1hc2sgMHgleCBjYW5ub3QgYWNjZXNzIHBvcnQgJXUsIHJldCAlZAoAAAAAAAAAAAAAAAAA
+AAAAcGZuICV1IHZmbiAldSBjb3VsZCBub3QgYWxsb2NhdGUgdmlpZCwgcmV0ICVkCgAAcGZuICV1
+IHZmbiAldSBjb3VsZCBtYXAgdmlpZCAgMHgleCB0byBmbG93YywgcmV0ICVkCgAAAAAAAAAAAAAA
+AHBmbiAldSB2Zm4gJXUgY291bGQgbm90IGFsbG9jYXRlIHV3aXJlIGZ1bmMgJWQgbWFjIGFkZHIs
+IHJldCAlZAoAAAAAAAAAAAAAAAAAAAAAbWlpX2ZvcmNlX3NwZWVkWyV1XTogcmNhcHMgMHgleAoA
+AAAAAAAAAAAAAAAAAAAAbWlpX3Bkb3duWyV1XTogcG93ZXJkb3duIGVuICV1CgBwb3J0X2NtZF9o
+YW5kbGVyOiB1bmtub3duIHUuZGNiLnR5cGUgMHgleAoAAAAAAABwb3J0WyV1OjB4JTAyeDoweCUw
+MnhdOiBsMWNmZywgaW52YWxpZCByZXF1ZXN0LCBwY2FwcyAweCV4IGFjYXBzIDB4JXggbWNhcHMg
+MHgleCwgcmNhcHMgMHgleAoAAABwb3J0WyV1OjB4JTAyeDoweCUwMnhdOiBsMWNmZywgcGNhcHMg
+JSN4IGFjYXBzICUjeCByY2FwcyAlI3ggbWNhcHMgJSN4CgAAAAAAAAAAAHBvcnRbJXVdOiBsMWNm
+ZywgdW5zdXBwb3J0ZWQgRkVDLCByY2FwcyAlI3gKAAAAAHBvcnRbJXU6MHglMDJ4OjB4JTAyeF06
+IGwxY2ZnLCBtZGkgaXNzdWUgcGNhcHMgMHgleCBhY2FwcyAweCV4IHJjYXBzIDB4JXgKAAAAAAAA
+cG9ydFsldToweCUwMng6MHglMDJ4XTogbDFjZmcsIGNhbm5vdCBmb3JjZSBuby9tdWx0aXBsZSBz
+cGVlZChzKSwgcGNhcHMgMHgleCBhY2FwcyAweCV4IHJjYXBzIDB4JXgKAAAAAAAAAAAAAAAAAHBv
+cnRbJXU6MHglMDJ4OjB4JTAyeF06IHVua25vd24gYWN0aW9uIDB4JXgKAAAAAHBvcnRbJXU6MHgl
+MDJ4OjB4JTAyeF06IHVua25vd24gcmVhZCBhY3Rpb24gMHgleAoAAAAAAAAAAAAAAAAAAABjcGxf
+ZXJyX25vdGlmeTogdGlkICV1IGNwbCAweCUwOHglMDh4CgAAAAAAAAAAAABjcGxfZXJyX25vdGlm
+eTogdGlkICV1IGNwbCAweCUwOHglMDh4IDB4JTA4eCUwOHgKAAAAAAAAAAAAAAAAAAAAY3BsX2Vy
+cl9ub3RpZnk6IHRpZCAldSBsZW4gJXUKAABGQ09FIEZyZWU6IHN0aWxsIHlpZWxkZWQgd2hlbiBm
+cmVlaW5nLi4uZmxvd2NfaWQgJXggZmxvd2NfZmxhZ3MgJXggCgAAAAAAAAAAAAAAAEZDT0UgQlAg
+V1IgRVJSOiBXUiB3aXRoIGNvb2tpZSAleCV4IGVycm9yZWQgYmFjayAKAAAAAAAAAAAAAAAAAABz
+Y3NpX2Fib3J0OiBFbnRlcmluZyBBYm9ydF90YXNrLCBidWZmZXJlZCBbJXVdCgBzY3NpX2Fib3J0
+OiByYyBbMHgleF0gcmVmIHRhc2sgbm90IG91dHN0YW5kaW5nCgBzY3NpX2Fib3J0OiBpZGF0YS0+
+b3AgWzB4JXhdLCBmbGFncyBbMHgleF0sIGZ1bmMgWzB4JXhdLCBsdW5faWR4IFsweCV4XQoAAAAA
+AAAAAHNjc2lfYWJvcnQ6IHdyLT5pcWlkIFsweCV4XSwgaXN0YXNrX2ZjLT5mbG93Y19zZ2VfaXFp
+ZCBbMHgleF0sIGlzdGFza19mYyB0YXNrIGZsYWdzIFsweCV4XQoAAAAAAHNjc2lfYWJydDp0YXNr
+IGZsb3djWzB4JXhdLCB0bWZfbGlzdF9lbXB0eToKAAAAAHNjc2lfYWJvcnQ6IGNvbm4gWzB4JXhd
+LCBjbWRzbiBbMHgleF0sIHNlbnRfY21kc24gWzB4JXhdLCBtYXhfY21kc24gWzB4JXhdLCBpdHQg
+WzB4JXhdCgAAAAAAAAAAAGFib3J0L2Nsb3NlIFdSIHdpdGggY29va2llIDB4JWx4IHdhcyBpc3N1
+ZWQgb24gc3NuIDB4JXggaW4gd3Jvbmcgc3RhdGUgMHgleAoAAAAAYWJvcnQgV1Igb24gc3NuIDB4
+JXggZGlkIG5vdCBmaW5kIFdSIHdpdGggY29va2llIDB4JXgleAoAAAAAAAAAAGNsb3NlIFdSIHdp
+dGggY29va2llIDB4JWx4IG9uIHNzbiAweCV4O2RpZCBub3QgZmluZCBXUiB3aXRoIGNvb2tpZSAw
+eCVseAoAAAAAAAAAYWJvcnQgV1Igb24gc3NuIDB4JXggd2FzIGlzc3VlZCBvbiB4Y2hnIDB4JXgg
+d2l0aCByeF9pZCAweCV4IGluIHdyb25nIHN0YXRlIDB4JXgKAAAAAAAAAAAAAAAAAAAAc2NzaV9s
+dXI6IEVudGVyaW5nIExVUiBoYW5kbGVyLCBidWZmZXJlZCBbJXVdCgAAc2NzaV9sdXI6IGlkYXRh
+LT5vcCBbMHgleF0sIGZsYWdzIFsweCV4XSwgZnVuYyBbMHgleF0sIGx1bl9pZHggWzB4JXhdCgAA
+AAAAAAAAAABzY3NpX2x1cjogd3ItPmlxaWQgWzB4JXhdLCBpc3Rhc2tfZmMtPmZsb3djX3NnZV9p
+cWlkIFsweCV4XSwgaXN0YXNrX2ZjIHRhc2sgZmxhZ3MgWzB4JXhdCgAAAAAAAABzY3NpX2x1cjog
+Y29ubiBbMHgleF0sIGNtZHNuIFsweCV4XSwgc2VudF9jbWRzbiBbMHgleF0sIG1heF9jbWRzbiBb
+MHgleF0sIGl0dCBbMHgleF0KAAAAAAAAAAAAAABkY2J4X2FwcGx5X2FwcF9jZmdbJXVdTkVXIEFQ
+UCBUTFYgCgAAAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRV
+UkVfTElOS1VQCgBkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIFNFVF9MT0NBTF9QQVJB
+TUVURVJTCgAAAAAAAAAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJF
+X05PX0FEVkVSVElTRQoAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0g
+RkVBVFVSRV9QRUVSX05PVF9BRFZFUlRJU0VfRENCWAoAAAAAAAAAAAAAAAAAAAAAZGNieF9jZWVf
+ZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX1BFRVJfTk9UX0FEVkVSVElTRV9GRUFUVVJF
+CgAAAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfVVBE
+QVRFX09QRVJfVkVSU0lPTgoAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFU
+VVJFX1BFRVJfVVBEQVRFX09QRVJfVkVSU0lPTgoAAAAAAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFf
+c21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfR0VUX1BFRVJfQ0ZHCgAAAAAAAAAAAAAAZGNieF9j
+ZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX0NGR19OT1RfQ09NUEFUSUJMRQoAAAAA
+AGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9VU0VfTE9DQUxfQ0ZHCgAA
+AAAAAAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfVVNFX1BFRVJf
+Q0ZHCgAAAAAAAAAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX0ZF
+QVRVUkVfRElTQUJMRUQKAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVB
+VFVSRV9FUlJPUl9DSEFOR0UKAAAAAAAAAAAAAABkY2J4X2llZWVfcHJvY2Vzc1sldV0gcmVjZWl2
+ZWQgQldzIGRvIG5vdCBhZGQgdXAgdG8gMTAwIQoAAAAAAAAAV0FSTklORzogcmVjZWl2ZWQgQXBw
+IFRMViBjb250YWlucyBtb3JlIHRoYW5GVyBjYW4gaGFuZGxlIChtYXg6ICV1OyB0bHYgY29udGFp
+bnM6ICV1CgAAAAAAAAAAAAAAZGNieF9pZWVlX3Byb2Nlc3NbJXVdIHN1YnR5cGUgJSN4IHJlbV9m
+dF9jaGFuZ2VkICV1IHNtX2NoYW5nZSAldQoAAAAAAAAAAAAAAAAAAABkY2J4X2llZWVfcHJvY2Vz
+c1sldV0gc3VidHlwZSB1bmtub3duCgAAAAAAAAAAAABkY2J4X3BhcnNlX3BrdFsldV0gZXJyb3Ig
+JWQKAAAAAGNobmV0X2wydF91cGRhdGU6IGwyZGV2X2ZjIFsweCV4XSwgbDJkZXZfZmMtPmZsb3dj
+X2lkIFsldV0gbDJkZXZfZmMtPmZsb3djX2ZsYWdzIFsweCV4XSwgaW50ZiBbMHgleF0KAAAAAAAA
+AAAAAABjaG5ldF9sMnRfdXBkYXRlOiBsMmRldl9mYy0+Zmxvd2NfaWQgWyV1XSBhbHJlYWR5IHNj
+aGVkdWxlZAoAAAAAY2huZXRfbDJ0X3VwZGF0ZTogaW4gZGVsYXllZF9wcm9jZXNzaW5nLCBsMnRl
+bnQgWyUwOHhdCgAAAAAAAAAAAGNobmV0X2FycF91cGRhdGVfY2FjaGU6IGFycCBpcDQgZW50cnkg
+Zm91bmQgCgAAAGNobmV0X2FycF91cGRhdGVfY2FjaGU6IGFycCBpcDYgZW50cnkgZm91bmQgCgAA
+AGNobmV0X2FycF91cGRhdGVfY2FjaGU6IGJvdGggaXA0IGFuZCBpcDYgYWRkciBjYW5ub3QgYmUg
+bnVsbAoAAABjaG5ldF9sMnRfdXBkYXRlOiBsMnRfdXBkYXRlIHJlcXVlc3Qgc2VudCBsMnRlbnQg
+WyUwOHhdLCBsMnRlbnQtPmlkeCBbJWRdLCBsMnRlbnQtPnZsYW4gWyVkXQoAAABuZXRpZl9wcm9j
+ZXNzX2RoY3A6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIHByb2Nlc3NpbmcsIG9wdF9sZW4g
+JXUKAAAAAAAAAAAAAGNobmV0X2RoY3BfcmVjdjogdmxhbmlkIFsldV0sIGwyZGV2X3BpZF9mYy0+
+Zmxvd2NfbmV0X2wyZGV2X3ZsYW5kZXYgWzB4JXhdLCBsMmRldl9mYyBbMHgleF0KAAAAAGNobmV0
+X2RoY3BfcmVjdjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgZGhjdHh0LT5zdGF0ZSBbJWRd
+LCBtYWxhY2lvdXMgZGhjcCByZWN2IGZvciBubyByZXF1ZXN0CgAAAAAAAAAAAAAAAABkaGN0eHQt
+PnN0YXRlIDogJWQKAAAAAAAAAAAAAAAAAGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIEJhZCBE
+SENQIGNvb2tpZSByZWNpZXZlZCwgYWJvcnRpbmcKAABDb3VsZCBubyBhbGxvY2F0ZSBwY2IhISBG
+cmVlaW5nIGZjZiAhISEKAAAAAAAAAAB2bl9wYXJzZSB1bmtub3duIHN1YmNvZGUgJXUKAAAAAHZu
+X3BhcnNlIHVua25vd24gZHR5cGUgJXUKAAAAAAAAaWdub3JpbmcgZmlwIHJlY3YgZm9yIHBjYiBm
+bG93OiV4IGluIG9mZmxpbmUgc3RhdGUKAAAAAAAAAAAAAAAAAGZpcF92bjJ2bl9yZWN2X2VyciAK
+AAAAAAAAAAAAAAAAQ291bGQgbm90IGFsbG9jYXRlIGZsb3djISEhIQoAAABDb3VsZCBub3QgYWxs
+b2NhdGUgU0NCIGZsb3djISEhIQoAAAAAAAAAAAAAAAAAAABDb3VsZCBub3QgZmluZCByaWdodCBz
+Y2IgZm9yIGxvZ28KAAAAAAAAAAAAAAAAAABpZ25vcmluZyBmaXAgcmVjdiBmb3IgZmNmIGZsb3c6
+JXggaW4gb2ZmbGluZSBzdGF0ZQoAAAAAAAAAAAAAAAAAQ291bGQgbm90IGZpbmQgcmlnaHQgc2Ni
+IGZvciBmbG9naQoAAAAAAAAAAAAAAAAAcG9ydCAweCV4LCBzdGF0ZSAweCV4LCByZXRyeSBub3Qg
+c3VwcG9ydGVkCgAAAAAARmxvZ2kgcmVzcCByY3Ygd2l0aCB1bmtub3duIHhjaGcgb3hfaWQleCBz
+aWQgJTJ4JTJ4JTJ4IGRpZCAlMnglMnglMngKAAAAAAAAAAAAAABOX1BPUlQgMHgleCV4JXggcmVq
+ZWN0ZWQgUExPR0kgd2l0aCByZWFzb24gY29kZSAleAoAAAAAAAAAAAAAAAAAQUJUUyB3aGlsZSBh
+d2FpdGluZyBQUkxJIFJzcDogZmxvd2NfaWQgMHgleCBveF9pZCAweCV4IHJ4X2lkIDB4JXggCgAA
+AAAAAAAAAAAAAABBQlRTIGZha2UgUnNwOiBsb2MgMHgleCBveF9pZCAweCV4IHJ4X2lkIDB4JXgK
+AABsbGRwX3J4X3BrdF9oYW5kbGVyWyV1XSBkcm9wIHByZS1pbml0IChjb3VudCA9ICV1KQoAAAAA
+AAAAAAAAAAAAJXgleCV4IFJlY2lldmVkIExPR08gZnJvbSAleCV4JXggCgAAAAAAAAAAAAAAAAAA
+Y2Fubm90IGFsbG9jYXRlIFBPRkNPRSBmaWx0ZXIgY29ubmVjdGlvbiBmb3IgeF9pZCAleCAKAAAA
+AAAAAAAAAEZhaWxlZCB0byBwb3N0IHhjaGcgZXJyOiBzc25pIDB4JXggY29va2llIDB4JWx4IHJ2
+YWwgJXggCgAAAAAAAAB0Y3BfcmVsZWFzZV90aWQ6IHRpZCBbMHgleF0sIGZsb3djIGZsYWdzIFsw
+eCV4XSwgYnVmZmVyZWQgWzB4JXhdCgAAAAAAAAAAAAAAAAAAAHRjcF9yZWxlYXNlX3RpZDogc2l6
+ZW9mKHRjYl9mYy0+Zmxvd2NfaWNvbm4pIFsldV0sIGJ5dGVzCgAAAAAAAABhY3Rfb3Blbl9ycGw6
+IGF0aWQgWzB4JXhdLCB0aWQgWzB4JXhdLCB0Y2JfZmMtPnsgaWQgWzB4JXhdLCBzdGF0ZSBbMHgl
+eF0sIHR5cGUgWzB4JXhdIH0sIGNwbF9vcCBbMHgleF0sIHN0YXR1cyBbMHgleF0KAAAAAAAAAAAA
+AGFjdF9vcGVuX3JwbDogY3NrX2ZjLT57IGlkIFsweCV4XSwgc3RhdGUgWzB4JXhdLCBjc29ja19m
+bGFncyBbMHgleF0gfSAKAAAAAAAAAAAAYWN0X29wZW5fcnBsOiByZWN2ZCBuZWcgYWR2aWNlIFsw
+eCV4XQoAAAAAAAAAAAAAc2VuZF9hYm9ydF9ycGw6IGNza19mYy0+Zmxvd2NfdHlwZSBbMHgleF0s
+IGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCB0aWQgWzB4JXhdLCB1bHB0eGNoIFsldV0sIGJ1ZmZl
+cmVkIFsldV0KAAAAAHdyaF9vZmxkX3RjcF9jbG9zZV9jb25fcmVwbHk6IHRjYl9mYy0+Zmxvd2Nf
+aWQgWzB4JXhdLCB0Y2JfZmMtPmZsb3djX3R5cGUgWzB4JXhdLCBsZW4xNiBbJXVdLCBsb2MgWyV1
+XQoAAAAAAAAAAAB3cmhfb2ZsZF90Y3BfY2xvc2VfY29uX3JlcGx5OiBycGwtPm9wX1RpZCBbMHgl
+eF0sIHJwbD5zdGF0dXMgWzB4JXhdLCBycGwtPnNuZF9ueHQgWzB4JXhdLCBycGwtPnJjdl9ueHQg
+WzB4JXhdCgAAdGNwX2Fib3J0X3JwbF9yc3M6IHRpZCBbMHgleF0sIHN0YXR1cyBbMHgleF0KAAAA
+dGNwX2Fib3J0X3JlcV9yc3M6IHRpZCBbMHgleF0sIHN0YXR1cyBbMHgleF0sIGZsb3djX2Nzb2Nr
+X2ZvaXNjc2lfc3RhdGUgWzB4JXhdCgBvZmxkX2Fib3J0X3JlcV9uZWdhZHZbJXVdOiB3ciAweCUw
+OHggY3BsX2Fib3J0X3JlcSBERUxJVkVSRUQKAAAAaG9zdF93clsldV06IHdyIDB4JTA4eCBjcGxf
+YWJvcnRfcmVxIHN0YXR1cyAweCV4CgAAAAAAAAAAAAAAAAAAAHBrdHNjaGVkX2NsX3JsWyV1OiV1
+XTogbW9kZSB8IHVuaXQgfCByYXRlIDB4JTA2eCBtaW4gJXUgbWF4ICV1IHBrdHNpemUgJXUKAAAA
+AAAAcGFyYW1fY2huZXRbMHgleDoweCV4XTogY2huZXQgMHgleCByZWFkICV1IHBmICV1IHJldCAl
+ZAoAAAAAAAAAAHBhcmFtX2RtYXFbMHgleDoweCV4XTogZG1hcSAweCV4IHJlYWQgJXUgcGYgJXUg
+cmV0ICVkCgAAAAAAAAAAAABSU1NTRUNSRVRLRVk6IHJzc3NlY3JldCB0YmwgYmFzZSAlZCwgcnNz
+bnNlY3JldCAlZAoAAAAAAAAAAAAAAAAATUNbJXVdIGluaXRfc3RhdGVfbWFjaGluZSAweCUwMngK
+AAAAAAAAAAAAAAAAAAAATUMgaW5pdGlhbGl6YXRpb24gbm90IGNvbXBsZXRpbmcsIE1DIGN1cnJl
+bnQgaW5pdCBzdGF0ZSBpcyAweCUwMngKAAAAAAAAAAAAAAAAAABNQ1sldV0gX2h3X21jX2luaXRf
+bWMKAAAAAAAAAAAAAF9od19tY19pbml0X21jOiBlcnJvciwgcmV0ICVkCgAAcGh5OiBmYWlsZWQg
+dG8gYWxsb2NhdGVkIG1lbW9yeSBmb3IgcGh5IGZ3IGZpbGUsIHJldCAlZAoAAAAAAAAAAGh3X2xl
+X2ZpbHRlcl9jdHVwbGU6IHR1cGxlICV1IG5vdCBzcGVjaWZpZWQgYnV0IHJlcXVpcmVkIGZvciBt
+YXNrIDB4JXgKAAAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IHRpbWVyX3JzICV1dXMgdGlt
+ZXN0YW1wX3JlcyAldXVzIGRlbGF5ZWRhY2tfcmVzICV1dXMKAAAAAABod190cF90Y3Bfc2V0dGlu
+Z3NfdzogZGFja190aW1lciAldXVzIG1zbCAldXVzIHJ4dF9taW4sbWF4ICV1LCV1dXMgcGVyc19t
+aW4sbWF4ICV1LCV1dXMKAAAAAAAAAABod190cF90Y3Bfc2V0dGluZ3Nfdzoga2VlcF9pZGxlLGlu
+dHZsICV1LCV1cyBtYXhydHQgJXV1cyBpbml0c3J0dCAldXVzIGZpbndhaXQyX3RpbWVyICV1dXMK
+AAAAAABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyBkYWNrX3RpbWVyIGZyb20gJXUgdG8g
+JXUAAAAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgbXNsIGZyb20gJXUgdG8g
+JXUAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgcnh0X21pbiBmcm9tICV1IHRvICV1AAAA
+AAAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIHJ4dF9tYXggZnJvbSAldSB0
+byAldQAAAAAAAAAAAAAAAABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyBwZXJzX21pbiBm
+cm9tICV1IHRvICV1AAAAAAAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgcGVy
+c19tYXggZnJvbSAldSB0byAldQAAAAAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBw
+aW5nIGtlZXBfaWRsZSBmcm9tICV1IHRvICV1AAAAAAAAAAAAAABod190cF90Y3Bfc2V0dGluZ3Nf
+dzogY2FwcGluZyBrZWVwX2ludHZsIGZyb20gJXUgdG8gJXUAAAAAAAAAAAAAaHdfdHBfdGNwX3Nl
+dHRpbmdzX3c6IGNhcHBpbmcgaW5pdF9zcnR0X21heHJ0dCBmcm9tICV1IHRvICV1AAAAAGh3X3Rw
+X3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIGluaXRfc3J0dF9pbml0c3J0dCBmcm9tICV1IHRvICV1
+AABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyBmaW53YWl0Ml90aW1lciBmcm9tICV1IHRv
+ICV1AAAAAAAAZmlsdGVyTW9kZT0lI3ggaWxsZWdhbDogc2VsZWN0cyAlZCBiaXRzIChtYXggJWQp
+CgAAAAAAAAAAAAAAAAAAAGxlIGNvbmZpZ3VyYXRpb246IG5lbnRyaWVzICV1IHJvdXRlICV1IGNs
+aXAgJXUgZmlsdGVyICV1IGFjdGl2ZSAldSBzZXJ2ZXIgJXUgaGFzaCAldQoAAAAAAAAAAAAAAGxl
+IGNvbmZpZ3VyYXRpb246IG5lbnRyaWVzICV1IHJvdXRlICV1IGNsaXAgJXUgZmlsdGVyICV1IHNl
+cnZlciAldSBhY3RpdmUgJXUgaGFzaCAldSBuc2VydmVyc3JhbSAldQoAAAAAAAAAAAAAAABod19z
+Z2VfcXVldWVfYmFzZV9tYXBbJXVdOiBleGNlZWRlZCBudW1iZXIgb2YgZWdyZXNzIHF1ZXVlcywg
+JXUKAAAAAAAAAAAAAAAAAAAAAGh3X3NnZV9xdWV1ZV9iYXNlX21hcFsldV06IGV4Y2VlZGVkIG51
+bWJlciBvZiBpbmdyZXNzIHF1ZXVlcyB3aXRoIGZyZWVsaXN0IGFuZCBpbnRlcnJ1cHQsICV1CgAA
+AGh3X3NnZV9xdWV1ZV9iYXNlX21hcFsldV06IGV4Y2VlZGVkIG51bWJlciBvZiBpbmdyZXNzIHF1
+ZXVlcywgJXUKAAAAAAAAAAAAAAAAAAAARXJyb3IsIFRvdGFsIFJTUyBTZWNyZXQgdGFibGUgYWxs
+b2NhdGlvbiAlZCA+IDE2CgAAAAAAAAAAAAAAAAAAAGNmX3BhcnNlOiBmaWxlIG1lbXR5cGUgMHgl
+eCBtZW1hZGRyIDB4JXggbWFwcGVkIEAgJXA6CgAAAAAAAAAAAABjb25maWd1cmVkIHdpdGggY2Fw
+cyBuYm18bGluayAweCUwOHggc3dpdGNofG5pYyAweCUwOHggdG9lfHJkbWEgMHglMDh4IGlzY3Np
+fGNyeXB0byAweCUwOHggZmNvZToweCV4CgAAAAAAAAAAAAAAbmV0IFZJIGFsbG9jYXRpb24gZmFp
+bGVkIGZvciBmY19pZCAldSB3aXRoIGVycm9yICVkCgAAAAAAAAAAAAAAAG5ldCBWSSBtYWMgYWRk
+cmVzcyBwcm9ncmFtbWluZyBmYWlsZWQgZm9yIGZjX2lkICV1IHdpdGggZXJyb3IgJWQKAAAAAAAA
+AAAAAAAAAAAAbmV0IFZJIHJ4bW9kZSBwcm9ncmFtbWluZyBmYWlsZWQgZm9yIGZjX2lkICV1IHdp
+dGggZXJyb3IgJWQKAAAAAG5ldCBWSSByc3MgaW5kaXJlY3Rpb24gdGFibGUgcHJvZ3JhbW1pbmcg
+Zm9yIGZjX2lkICV1IGZhaWxlZCB3aXRoIGVycm9yICVkCgAAAAAAbmV0IFZJIHJzcyBjb25maWcg
+Y29tbWFuZCBmYWlsZWQgZm9yIGZjX2lkICV1IHdpdGggZXJyb3IgJWQKAAAAAG5ldCBWSSBjb21t
+YW5kIGZhaWxlZCBmb3IgZmNfaWQgJXUgd2l0aCBlcnJvciAlZAoAAAAAAAAAAAAAAAAAAABwcm9n
+cmFtbWVkIEhXIHRhZ20gWzB4JTA4eF0sIEhXIHBnc3ogZmFjdG9yIFsweCUwOHhdLCBGT2lTQ1NJ
+IHRhZ20gWzB4JTA4eF0sIHJ0YWdtIFsweCUwOHhdLCBtYXhzel9iaXRzIFsldV0sIHN6X2JpdHMg
+WyV1XS4KAAAAAGJhc2UgWyAweCUwOHhdLCBsbGltaXQgWzB4JTA4eF0sIHVsaW1pdCBbMHglMDh4
+XSwgc2l6ZSBbJXVdLCBtYXhfdHhzeiBbJXVdLCBtYXhfcnhzeiBbJXVdLCBpb3NpemUgWyV1XQoA
+AAAAAAAAAABucHBvZHMgWyV1XSwgaWR4X21hc2sgWzB4JTA4eF0sIGlkeF9maXJzdCBbJXVdLCBp
+ZHhfbGFzdCBbJXVdLCBzY3NpX3BsZF9zaXplIFsldV0sIEFMSUdOKHNjc2lfcGxkX3NpemUsIDE2
+KSBbJXVdLCBwcGRfem9uZXMgWyV1XS4KAAAAAAAAAAAAAAAAAABmb2lzY3NpX2luaXQ6IGluaXRf
+ZG9uZToldSwgZm9pc2NzaV9udGFza3M6JXUsIGZvaXNjc2lfbnNlc3M6JXUsIG5jc29jazoldSwg
+bnNwb3J0czoldSwgZm9pc2NzaV9uaW5pdDoldSwgcmM6JWQKAAAAAAAAAAAAAAAAAAAAAGNoX2Ns
+X3JhdGVbJXUvJXVdOiBjYXBwZWQgY2xhc3MgcmF0ZSBmcm9tIHJlcXVlc3RlZCAldSB0byBjb25m
+aWd1cmVkIChlZmZlY3RpdmUpIGNoYW5uZWwgcmF0ZSAldQoAAAAAAAAAAAAAAAAAAABjaF9jbF9y
+YXRlWyV1LyV1XTogaW5jcmVhc2VkIGRlZmljaXRfaW5jciBmcm9tIHJlcXVlc3RlZCAldSB0byBy
+ZXF1aXJlZCBtaW4gb2YgJXU7IHJhdGUgJXUgKGVmZiAldSkgZGVmaWNpdF9tYXggJXUKAAAAAAAA
+AAAAAAAAAHBrdHNjaGVkIGNoYW5uZWwgJXUgc2V0cyBzcGVlZCAoZnJvbSAldSkgdG8gJXUga2Jw
+cwoAAAAAAAAAAAAAAABuZXRfbDJkZXZfbm90aWZ5OiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhd
+LCBwb3J0IFslZF0sIGV2ZW50IFsweCV4XSwgdWxwdHhjaCBbJXVdLCBjbGFzcyBbMHgleF0sIHZw
+cmlvIFsweCV4XSwgdmlkIFsweCV4XSwgdmlfcmVhZHkgWyV1XQoAAAAAAABuZXRfbDJkZXZfbm90
+aWZ5OiBwZ2lkIFsweCV4XSwgcHJpbyBbMHgleF0sIGNoIFsweCV4XQoAAAAAAAAAAAAAWyV1XSB1
+bmFibGUgdG8gZXhlY3V0ZSBpbnRlcm5hbCBEQ0JfSUVFRV9DTUQKAAAAcG9ydFsldV0gbGluayBk
+b3duICgldSkgKGxzdGF0dXMgJSN4KQoAAAAAAAAAAAAAaTJjIGVycm9yIGNhdXNlZCBieSBtb2R1
+bGUgdW5wbHVnCgAAAAAAAAAAAAAAAAAAc2VuZHRvIHBlbmRpbmc6IHdyX3BlbmQgJXAgZm9yIHBv
+cnQgJXUsIHdhbnQgdG8gc2VuZCB0byBwb3J0ICV1CgAAAAAAAAAAAAAAAAAAAABwb3J0WyV1XSB1
+cGRhdGUgKGZsb3djaWQgJXUgcmMgJXUpCgAAAAAAAAAAAAAAAABwb3J0X3NldF9sb29wYmFjayBw
+b3J0ICUjeCBjdXJyZW50ICUjeCBtb2RlICUjeAoAAAAAAAAAAAAAAAAAAAAAcG9ydFsldV0gc3Bl
+ZWQgdXBkYXRlOiAlI3gKAAAAAABwb3J0WyV1XSBiZWdpbm5pbmcgZGVib3VuY2UKAAAAAHBvcnRf
+bGlua19zdGF0ZV9oYW5kbGVyWyV1XSBwb3dlcmluZyBkb3duCgAAAAAAAHBvcnRfbGlua19zdGF0
+ZV9oYW5kbGVyWyV1XSBwb3dlcmluZyB1cAoAAAAAAAAAAHBvcnRfbGlua19zdGF0ZV9oYW5kbGVy
+WyV1XSB1bmtub3duIHN0YXRlIChzdGF0ZSA9ICUjeCkKAAAAAAAAAABwb3J0X2xpbmtfc3RhdGVf
+aGFuZGxlcjogU29tZXRoaW5nIHdlbnQgdGVycmlibHkgd3JvbmcuIHJldCA9ICVkCgAAAAAAAAAA
+AAAAAAAAAGxlIGluaXRpYWxpemF0aW9uOiBuZW50cmllcyAldSByb3V0ZSAldSBjbGlwICV1IGZp
+bHRlciAldSBhY3RpdmUgJXUgc2VydmVyICV1IGhhc2ggJXUKAAAAAAAAAAAAAGxlIGluaXRpYWxp
+emF0aW9uOiBuZW50cmllcyAldSByb3V0ZSAldSBjbGlwICV1IGZpbHRlciAldSBzZXJ2ZXIgJXUg
+YWN0aXZlICV1IGhhc2ggJXUgbnNlcnZlcnNyYW0gJXUKAAAAAAAAAAAAAABod190cF9pbml0OiB0
+Y2IgcmVnaW9uIChzdGFydCAweCUwOHMgc2l6ZSAldSkgbXVzdCBiZSBpbiBmaXJzdCAyNTZNQiBv
+ZiBNQSBtZW1vcnkKAAAAAAAAAAAAAAAAAABod190cF9pbml0OiBwZ21uZ3QgcmVnaW9uIChzdGFy
+dCAweCUwOHMgc2l6ZSAldSkgbXVzdCBiZSBpbiBmaXJzdCAyNTZNQiBvZiBNQSBtZW1vcnkKAAAA
+AAAAAAAAAABod190cF9pbml0OiBUUCBwZ21uZ3QgaW5pdGlhbGl6YXRpb24gZGlkIG5vdCBjb21w
+bGV0ZQoAAAAAAAAAAAAAYnVmbV9pbml0OiBuICV1IGJ1ZmxsNjRpbnRfc2l6ZSAweCV4CgAAAAAA
+AAAAAAAAYnVmbV9pbml0OiBub3QgZW5vdWdoIG1lbW9yeSB0byBhbGxvY2F0ZSBpbnRlcm5hbCBi
+dWZsbDY0IGJ1ZmZlcnMKAAAAAAAAAAAAAAAAAABidWZtX2luaXQ6IG5vdCBlbm91Z2ggbWVtb3J5
+IHRvIGFsbG9jYXRlIGJ1ZmxsNjQgYnVmZmVycwoAAAAAAAAAbWVtX2luaXRfYnVmOiBub3QgZW5v
+dWdoIG1lbW9yeSB0byBhbGxvY2F0ZSBmbG93IGJ1ZmZlcnMKAAAAAAAAAG1lbV9pbml0X2J1Zjog
+bm90IGVub3VnaCBtZW1vcnkgdG8gYWxsb2NhdGUgdGNiX2NhY2hlIChvZmZlcmVkICV1IHRyeWlu
+ZyB0byB1c2UgJXUgYXZhaWxhYmxlICV1KQoAAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX290aGVy
+czogc3RhcnQgMHglMDh4IHNpemUgJXUgKHVudXNlZCAldSkKAAAAAAAAAAAAAAAAbXBhcnRpdGlv
+bl9vdGhlcnM6IHN0YXJ0IDB4JTA4eCBzaXplICV1ICh1bnVzZWQgJXUpCgAAAAAAAAAAAAAAAG1l
+bV9pbml0OiBFREMgb3ZlcmNvbW1pdHRlZCBieSAlZCBieXRlcwoAAAAAAAAAAG1lbV9pbml0OiBu
+b3QgZW5vdWdoIG1lbW9yeSB0byBhbGxvY2F0ZSBmbG93IHRhYmxlCgAAAAAAAAAAAAAAAABjeGNu
+aWNfZGV2aWNlX2luaXQ6IGN4Y25pYyBbMHglMHhdLCBjeGNuaWMtPmZpbHRlciBbJTB4XQoAAAAA
+AAAAcG9mY29lIGluaXQgZG9uZQoAAAAAAAAAAAAAAAAAAABwb3J0X2luaXRbJXVdIHB0eXBlIDB4
+JXgKAAAAAAAAAFBvcnRbJXVdOiBVbmtub3duIFNHTUlJIHN1Yi10eXBlICUjeAoAAAAAAAAAAAAA
+AFBvcnRbJXVdOiBVbmtub3duIEJUX1hGSSBzdWItdHlwZSAlI3gKAAAAAAAAAAAAAFBvcnRbJXVd
+OiBVbmtub3duIEJUX1hBVUkgc3ViLXR5cGUgJSN4CgAAAAAAAAAAAHBvcnRfaW5pdFsldV06IHBv
+cnQgdHlwZSAweCV4IGlzIG5vdCBzdXBwb3J0ZWQKAG1wYXJ0aXRpb25faW5pdDogbW92ZWQgcG1y
+eF9zdGFydCBmcm9tIDB4JTA4eCB0byAweCUwOHggdG8gbWFrZSByb29tIGZvciBMRSBIQVNIIGFu
+ZC9vciBUUCBUQ0JzCgAAAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX2luaXQ6IG1vdmVkIHBtcnhf
+c3RhcnQgZnJvbSAweCUwOHggdG8gMHglMDh4IChFRFJBTSkKAAAAAAAAAAAAAAAAAAAAAEVRIHBm
+biAldSB2Zm4gJXU6IGRlc3Ryb3lpbmcgZXFpZCAldSB3aXRoIHBlbmRpbmcgV1IocykgKG51bV9i
+eXRlcyAldSBhbmQgZmxhZ3MgMHglMDh4CgAAAAAAAAAAAGwyZGV2X2ZjLT5mbG93Y19pZCBbJXVd
+LCBsMmRjLT5wZm4gWyV1XSwgbDJkYy0+dmZuIFsldV0sIGwyZGMtPmxwb3J0IFsldV0sIGwyZGV2
+X2ZjLT5mbG93aWQgWyV1XSBsMmRjLT50eF9jaCBbJXVdLCBkZXYudnBkLnBvcnR2ZWMgWyV4XQoA
+AAAAAAAAAHBvcnR2ZWMgWyV1XQoAAABBaCBoYS4uLmRvdWJsZSBmcmVlIG94X2lkIDB4JXgsIHJ4
+X2lkIDB4JXgKAAAAAABIb3N0IFBSTEkgUmVzcG9uc2UgdGltZWRvdXQ6IG94X2lkIDB4JXggcnhf
+aWQgMHgleAoAAAAAAAAAAAAAAAAAcGZuICV1IHZmbiAldSB2aWEgY29tbWFuZAoAAAAAAABod19p
+MmNfdHJhbnNhY3Rpb246IG5kYXRhICV1IGFkZHJfb3AgMHgleCBkYXRhWzBdIDB4JXggZGlmZiAl
+dQoAaHdfaTJjX3RyYW5zYWN0aW9uOiBuZGF0YSAldSBhZGRyX29wIDB4JXggcmVnIDB4JXggZGlm
+ZiAldSBjb250ICV1IGZhaWxlZCB3aXRoIGVyciAlZAoAAAAAAAAAAAAAaHdfaTJjX3RyYW5zYWN0
+aW9uOiBuZGF0YSAldSBhZGRyX29wIDB4JXggZGF0YVswXSAweCV4IGRpZmYgJXUgZHBvcyAldSBj
+b250ICV1IGZhaWxlZCB3aXRoIGVyciAlZAoAAAAAAAAAAAAAAAAAAGkyYyB0cmFuc2FjdGlvbiBm
+YWlsZWQgdG8gY29tcGxldGUKAAAAAAAAAAAAAAAAAGNvbmZpZ3VyYXRpb24gZmlsZSBwYXJzZXI6
+IGFlY19yZXRyeV9jbnQgdmFsdWUgJWQgaXMgbm90IHdpdGhpbiB0aGUgYWxsb3dlZCBsaW1pdCBv
+ZiAxIHRvIDI1NC5EaXNhYmxpbmcgaXQuCgAAAABjb25maWd1cmF0aW9uIGZpbGUgcGFyc2VyOiBh
+bl9hZWNfdGltZSB2YWx1ZSAlZCBpcyBiaWdnZXIgdGhhbiBhbGxvd2VkIGxpbWl0LkNoYW5naW5n
+IGl0IHRvIDEwMDAwIG1zLgoAAAAAAAAAAAAARGVwcmVjYXRlZCBjb25maWcgb3B0aW9uIGZvdW5k
+IGluIGNvbmZpZyBmaWxlLiBJZ25vcmluZy4uCgAAAAAAAHNjaGVkX2lvcXR4X2JwX3ByaW9yaXR5
+OiBoYXMgJXUgZW50cmllcyBvbmx5LCByZXF1aXJlcyAldSBlbnRyaWVzCgAAAAAAAAAAAAAAAAAA
+dHBfYmFja29mZjogcGFyc2VkICVkIGluc3RlYWQgb2YgJXUgZW50cmllcwoAAAAAdHBfdGltZXJ2
+YWxzOiBwYXJzZWQgJWQgaW5zdGVhZCBvZiAldSBlbnRyaWVzCgAAdHBfdGltZXJyZXM6IHBhcnNl
+ZCAlZCBpbnN0ZWFkIG9mICV1IGVudHJpZXMKAAAAdHBfbXR1cyBoYXMgJXUgZW50cmllcyBvbmx5
+LCByZXF1aXJlcyAldSBlbnRyaWVzCgAAAAAAAAAAAAAAAAAAAHRwX210dXNbJXVdIGlzICV1IGJ5
+dGVzIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQKAGNvbmZpZ3VyYXRpb24gZmlsZSBwYXJzZXI6IHNn
+ZSB0aW1lciB2YWx1ZVslZF0gaXMgdG9vIGxhcmdlLCBjaGFuZ2luZyBmcm9tICV1IHRvICV1dXNl
+Y3MKAAAAAAAAAGZpbHRlcm1hc2sgMHgleCBpcyBub3QgZXF1YWwvc3Vic2V0IHRvL29mIGZpbHRl
+cm1vZGUKAAAAAAAAAAAAAABod19sZV9jbGlwX2hhbmRsZXI6IHJlbW92ZWQgcG9zPSV1ICg9aWR4
+ICV1KQoAAABod19sZV9jbGlwX2hhbmRsZXI6IGFkZGluZyB0byBwb3M9JXUgKD1pZHggJXUpCgBt
+b2R1bGVbJXVdOiBwb3J0IG1vZHVsZSBpbnNlcnRlZCBhbmQgcmVhZHkKAAAAAABtb2R1bGVbJXVd
+OiBwb3J0IG1vZHVsZSByZW1vdmVkCgAAAAAAAAAAAAAAAAAAAABtb2R1bGVbJXVdOiB1bmtub3du
+IG1vZHVsZSBpZGVudGlmaWVyIDB4JTAyeAoAAABtb2R1bGVbJXVdOiBncGlvICV1IHZlbmRvciBp
+ZCAlMDZ4LCBpZGVudGlmaWVyIDB4JTAyeCwgU0ZQMjgoYnl0ZSAzNi8xOTIpIDB4JTAyeCwgU0ZQ
+KGJ5dGUgMy8xMzEpIDB4JTAyeCwgMUcgKGJ5dGUgNikgMHglMDJ4CgAAAG9wdGljYWwgbGVuZ3Ro
+KGJ5dGUgMTUvMTQyKSAldSwgY29wcGVyIGNhYmxlKGJ5dGUgOC8xNDcpIDB4JTAyeCwgbGVuZ3Ro
+KGJ5dGUgMTgvMTQ2KSAldSwgbW9kdWxlX3R5cGUgMHglMDJ4CgAAAABtb2R1bGVbJXVdOiBncGlv
+ICV1IHZlbmRvciBpZCAlMDZ4LCBpZGVudGlmaWVyIDB4JTAyeCwgU0ZQMjgoYnl0ZSAzNi8xOTIp
+IDB4JTAyeCwgU0ZQKGJ5dGUgMy8xMzEpIDB4JTAyeCwgMUcgKGJ5dGUgNikgMHglMDJ4CgAAAG9w
+dGljYWwgbGVuZ3RoKGJ5dGUgMTUvMTQyKSAldSwgY29wcGVyIGNhYmxlKGJ5dGUgOC8xNDcpIDB4
+JTAyeCwgbGVuZ3RoKGJ5dGUgMTgvMTQ2KSAldSwgbW9kdWxlX3R5cGUgMHglMDJ4CgAAAABwZm4g
+JXUgdmZuICV1IEZTTSBzdGFydAoAAAAAAAAAAHBmbiAldSB2Zm4gJXUgRlNNIGNvbXBsZXRlCgAA
+AAAAZmxyX3BmdmZfZnNtWyV1OiV1XTogdW5rbm93biBzdGF0ZSAldQoAAAAAAAAAAAAAaHcgcGYg
+Yml0bWFwIDB4JTAyeCB2ZmlkIGJpdG1hcCAweCUwOHg6MHglMDh4OjB4JTA4eDoweCUwOHgKAAAA
+AGFmdGVyIHZmaWQgZml4dXAsIHZmaWQgYml0bWFwIDB4JTA4eDoweCUwOHg6MHglMDh4OjB4JTA4
+eAoAAAAAAAB0aW1lciBxdWV1ZSAldSBsb3N0IGEgdGljayEgbmV4dCAlcCBsYXN0ICVwIG51bWUg
+JXUKAAAAAAAAAAAAAAAAZmxyX3RpbWVyX3N0YXJ0OiBmbG93Y19pZCAldSAlcCBidWYgJXAKAAAA
+AAAAAAAAcGNpZTogbnBmICV1IChwZmJpdG1hcCAweCUwMngpIG52ZiAldSAocGYgMC4uNyAweCUw
+OHglMDh4KSB2ZnN0cmlkZSAldQoAAAAAAAAAAABod19ncGlvX3ByZXA6IGVycm9yLCByZXQgJWQK
+AAAAAGZhaWxlZCB0byBmaW5kIHRoZSAlYyVjIFZQRCBwYXJhbWV0ZXIKAAAAAAAAAAAAAGZhaWxl
+ZCB0byBwYXJzZSB0aGUgJWMlYyBWUEQgcGFyYW1ldGVyCgAAAAAAAAAAAG1lbV9wcmVwOiBlcnJv
+ciwgcmV0ICVkCgAAAAAAAAAAZmFpbGVkIHRvIHN1Y2Nlc3NmdWxseSBmaW5kIENoZWxzaW8gVlBE
+CgAAAAAAAAAAdnBkX3ByZXA6IGVycm9yLCByZXQgJWQKAAAAAAAAAABzZXJjZmdfcHJlcDogZXJy
+b3IsIHJldCAlZAoAAAAAAGxvZyBpbml0aWFsaXplZCBAIDB4JTA4eCBzaXplICV1ICgldSBlbnRy
+aWVzKSBmd3JldiAweCUwOHggcGNpZV9mdyAweCUwOHgKAAAAAAAAZ2F0aGVyX3Rhc2tzX2Zvcl90
+bWY6IGlkeCBbMHgleF0sIHRhc2staWQgWzB4JXhdLCBjbWQtaWQgWzB4JXhdLCBhY3RpdmUgdGFz
+a3MgWzB4JXhdLiBjb25uLWlkIFsweCV4XSwgY21kIGNvbm4taWQgWzB4JXhdLCB0YXNrIGNvbm4t
+aWQgWzB4JXhdCgAAZ2F0aGVyX3Rhc2tzX2Zvcl90bWY6IEludmFsaWQgdHlwZSBbMHgleF0sIGJh
+aWxpbmcgb3V0LgoAAAAAAAAAAGdhdGhlcl90YXNrc19mb3JfdG1mOiB0YXNrIGlkIFsweCV4XSwg
+c3RhdGUgWzB4JXhdLCBsaWR4IFsweCV4XSwgY29va2llIGhpIFsweCUwOHhdIDogbG8gWzB4JTA4
+eF0KAAAAAAAAAAAAAAAAAABnYXRoZXJfdGFza3NfZm9yX3RtZjogcmMgWzB4JXhdLCBbMHgleF0g
+dGFzayBnYXRoZXJlZCBmb3IgdG1mIHR5cGUgWzB4JXhdIHByb2Nlc3NpbmcuCgAAAAAAAAAAAABz
+Y3NpX2RhdGFfb3V0OiBjb25uX2ZjIFsweCV4XSwgc3RhdGUgWzB4JXhdLCBzZXNzX2ZjIFsweCV4
+XSBpbiByZWNvdmVyeS4gU2tpcHBpbmcgaXN0YXNrX2ZjIFsweCV4XSBmcm9tIFRYLgoAAAAAc2Vu
+ZF9tc2dfcGxkOiBmYyB7IGlkIFsweCV4XSwgZmxhZ3MgWzB4JXhdLCBidWZmZXJlZCBbJXVdLiB9
+CgAAAHNlbmRfbXNnX3BsZDogc2VzcyB7IGlkIFsweCV4XSB9LCB1bHB0eGNoIFsldV0gbm8gY3Jl
+ZGl0cyBhdmFpbGFibGUsIHJlc2NoZWR1bGluZyByZXF1ZXN0LgoAAAAAAHNlbmRfYWJvcnRfcmVx
+OiBjc2tfZmMtPmZsb3djX3R5cGUgWzB4JXhdLCBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgdGlk
+IFsweCV4XSwgdWxwdHhjaCBbJXVdLCBidWZmZXJlZCBbJXVdCgAAAABmY19zZW5kX2FsbG9jX2Nw
+bDogZmFpbGVkIHRvIHNldHVwIGZpbHRlciBjdHVwbGUKAAAAAAAAAAAAAAAAAAAAZmNvZV9jb21w
+dXRlX2N0dXBsZSAweCV4OiV4CgAAAABjb21wdXRlX2N0dXBsZSgpOiBmYWlsZWQgdG8gc2V0dXAg
+ZmlsdGVyIGN0dXBsZQoAAAAAAAAAAAAAAAAAAAAARkNvRSBGQ0IgbGlua2Rvd246IGlvX3JlcSAw
+eCV4JXggaXFpZCAweCV4IGZsb3dpZCAweCV4IG9wIDB4JXgKAGZjb2Ugbm90aWZ5IDogVXBkYXRl
+IG5ldyBEQ0JYIHZhbHVlcyBWSSBzdGF0ZSAweCV4IHByaSAweCV4IHNjaGVkY2wgMHgleCBkY2J4
+X2RvbmUgMHgleAoAAAAAAAAAAGZjb2Ugbm90aWZ5IDogRkNGIGZsb3dpZCAweCV4LCB1bHBjaCAw
+eCV4IAoAAAAAAGZjb2Ugbm90aWZ5IDogRkNvRSBMSU5LVVA6IHBvcnQgMHgleCwgZXZlbnQgMHgl
+eAoAAAAAAAAAAAAAAAAAAABmY29lIG5vdGlmeSA6IEZDb0UgTElOS0RPV046IHBvcnQgMHgleCwg
+ZXZlbnQgMHgleAoAAAAAAAAAAAAAAAAAZmNvZSBub3RpZnkgOiBEQ0JYIDogcG9ydCAweCV4LCBw
+cmlvcml0eSAweCV4IHVscHR4Y2ggMHgleCBjbGFzcyAweCV4CgAAAAAAAAAAAABSREVWIG1zZyBm
+bG93YzoleCBzdGF0ZSAweCV4IGV2ZW50IDB4JXgKAAAAAAAAAABjYW5jZWwgZmNiOiV4IHNjYjol
+eCBzdGF0ZToleAoAAEZDb0UgRkNGIHRpbWVyOiBmbG93YyBzdGF0ZSAweCV4LCBwb3J0IDB4JXgg
+LGZjZiAweCV4LCBmbG93Y19pZCAweCV4CgAAAAAAAAAAAAAAaHcgcmVnaXN0ZXIgb3BlcmF0aW9u
+IG5vdCBjb21wbGV0aW5nLCByZWcgMHglMDh4IG1hc2sgMHglMDh4IHZhbHVlIDB4JTA4eCAocmVn
+IDB4JTA4eCkKAAAAAAAAAAAATURJTyBDTDQ1OiBmYWlsZWQgdG8gc2V0IHVwIE1NRCBhZGRyCgAA
+AAAAAAAAAAAATURJTzogZmFpbGVkIHRvIHdyaXRlCgAAAAAAAAAAAABNRElPIENMNDU6IGZhaWxl
+ZCB0byBzZXQgdXAgTU1EIGFkZHIKAAAAAAAAAAAAAABNRElPOiBmYWlsZWQgdG8gcmVhZAoAAAAA
+AAAAAAAAAAlBUV9UYWtlQ29udHJvbE9mRkxBU0g6IDFlLmMwMDE9JSN4IDFlLmM0NTA9JSN4IDFl
+LmM0NTE9JSN4IDFlLjEwMD0lI3gKAAAAAAAAAAAAQVFfQVBJX1dyaXRlQW5kVmVyaWZ5Rmxhc2hJ
+bWFnZSAtIEltYWdlIGludGVncml0eSBjaGVjayBmYWlsZWQgKGNhbGMgJSN4IHZhbCAlI3gpCgAA
+AAAAAAAAAAAAAAAAQVFfQVBJX1dyaXRlQW5kVmVyaWZ5Rmxhc2hJbWFnZSAtIEltYWdlIGludGVn
+cml0eSBjaGVjayBwYXNzZWQKAEFRX0FQSV9Xcml0ZUFuZFZlcmlmeUZsYXNoSW1hZ2UgLSBUaW1l
+b3V0IHdhaXRpbmcgZm9yIGZsYXNoIGludGVyZmFjZSAoJXUpCgAAAAAAQVFfQVBJX1dyaXRlQW5k
+VmVyaWZ5Rmxhc2hJbWFnZSAtIFRpbWVvdXQgd2FpdGluZyBmb3IgZmxhc2ggaW50ZXJmYWNlICgl
+dSkKAAAAAABBUV9BUElfV3JpdGVBbmRWZXJpZnlGbGFzaEltYWdlIC0gVGltZW91dCB3YWl0aW5n
+IGZvciBmbGFzaCBpbnRlcmZhY2UgKCV1KQoAAAAAAEFRX0FQSV9Xcml0ZUFuZFZlcmlmeUZsYXNo
+SW1hZ2UgLSBUaW1lb3V0IHdhaXRpbmcgZm9yIGZsYXNoIGludGVyZmFjZSAoJXUpIChwcCAlI3gg
+YXAgJSN4KQoAAAAAAEFRX0FQSV9Xcml0ZUFuZFZlcmlmeUZsYXNoSW1hZ2UgLSBUaW1lb3V0IHdh
+aXRpbmcgZm9yIGZsYXNoIGludGVyZmFjZSAoJXUpCgAAAAAAQVFfQVBJX1dyaXRlQW5kVmVyaWZ5
+Rmxhc2hJbWFnZSAtIFRpbWVvdXQgd2FpdGluZyBmb3IgZmxhc2ggaW50ZXJmYWNlICgldSkKAAAA
+AABBUV9BUElfV3JpdGVBbmRWZXJpZnlGbGFzaEltYWdlIC0gRXJyb3Igb24gYnVybmluZyBGTEFT
+SCAoY3JjMTYgbWlzbWF0Y2gpCgAAAAAAAHNlbmRfY2xvc2VfcmVxOiBjc2tfZmMtPmZsb3djX3R5
+cGUgWzB4JXhdLCBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT50Y2Jfc3RhdGUgWzB4
+JXhdCgAAAHNlbmRfY2xvc2VfcmVxOiBjc2tfZmMtPmZsb3djX3R5cGUgWzB4JXhdLCBjc2tfZmMt
+PmZsb3djX2lkIFsweCV4XSwgdGlkIFsweCV4XSwgdWxwdHhjaCBbJXVdLGJ1ZmZlcmVkIFsldV0K
+AAAAAABvZmxkX3RjcF9kb19hY3RpdmVfY2xvc2U6IGNza19mYyBbMHgleF0sIGNza19mYy0+Zmxv
+d2NfaWQgWzB4JXhdLCBjc2tfZmMtPnRjYl9zdGF0ZSBbMHgleF0KAAAAAABvZmxkX3RjcF9kb19h
+Y3RpdmVfY2xvc2U6IGNza19mYyBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tf
+ZmMtPnRjYl9zdGF0ZSBbMHgleF0KAAAAAABvZmxkX3RjcF9kaXNjb25uZWN0OiB0Y2JfZmMtPmZs
+b3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNzay0+dGNiX3N0YXRlIFsw
+eCV4XQoAAABkZWNvZGVfYmFzZTY0X3N0cmluZzogZGxlbiBbJWRdCgAAAAAAAAAAAAAAAAAAAABk
+ZWNvZGVfaGV4X3N0cmluZzogZGxlbiBbJWRdCgAAAGZvaXNjc2lfdmFsaWRhdGVfbG9naW5fc3Rh
+Z2U6IC0gMQoAAAAAAAAAAAAAAAAAAGFzeW5jX3BkdTogbG9nb3V0IHJlcXVlc3RlZCBibG9ja2lu
+ZyBzZXNzaW9uCgAAAGFzeW5jX3BkdTogc2Vzcy9jb25uIGRyb3AgcmVxdWVzdGVkIGJsb2NraW5n
+IHNlc3Npb24KAAAAAAAAAAAAAABjcGxfdHhfcGt0OiB2bGFuaWQgWzB4JXhdCgAAAAAAAG5ldF9s
+MmRldl9maW5kX2J5X2FkZHI6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGwyZGMtPmxwb3J0
+IFsldV0sIGwyZF9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBsMmRjLT5pbjRfZGV2LmluX2FkZHIuYWRk
+ciBbMHgleF0sIGFkZHIgWzB4JXhdCgAAAG5ldF9sMmRldl9tdHVfY29uZmlnOiBsMmRldl9mYy0+
+Zmxvd2NfaWQgWzB4JXhdLCBtdHUgJXUKAAAAAAAAAABsMmRldl92aV9mc206IG1iIFsweCV4XSwg
+ZGVmZXJyZWQsIHN0YXRlIFsweCV4XSwgcG9ydCBbMHgleF0KAAAAbDJkZXZfdmlfZnNtOiB2aWlk
+IFsweCV4XSBwb3J0IFsweCV4XSwgbWFjLWlkIFslMDJ4OiUwMng6JTAyeDolMDJ4OiUwMng6JTAy
+eF0uIAoAAAAAAAAAAAAAAAAAAAAAbDJkZXZfdmlfZnNtOiBzZ2VfZXFpZCBbMHgleF0sIHNnZV9p
+cWlkIFsweCV4XSwgc2dlX2VxY3IgWzB4JXhdLCByc3Nfc3ogWzB4JXhdCgBsMmRldl92aV9mc206
+IGwyZGV2X2ZjLT5mbG93Y19uZXRfbDJkZXZfbXR1IFsldV0sIG1iX3NjcmF0Y2ggWzB4JXhdLCBw
+b3J0IFsweCV4XQoAAAAAAAAAAAAAAAAAAABsMmRldl92aV9mc206IHZpaWQgWyVkXSwgdmlfZmMt
+PmZsb3djX3ZpX2ZsYWdzIFsweCV4XQoAAAAAAAAAAAAAbDJkZXZfdmlfZnNtOiBwZm4gWzB4JXhd
+LCB2Zm4gWzB4JXhdLCBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBscG9ydCBbMHgleF0sIHZp
+aWQgWzB4JXhdLCBmbGFncyBbMHgleF0KAAAAAAAAAGwyZGV2X3ZpX2ZzbTogRXJyb3IgZnJlZWlu
+ZyBWSSwgcmMgWzB4JXhdCgAAAAAAAGwyZGV2X3ZpX2ZzbTogcGlkIFsweCV4XSwgdmlpZCBbMHgl
+eF0sIG1iX2xvYyBbMHgleF0sIG1iX29yaWdbMHgleF0sIGwyZGV2X2ZsYWdzIFsweCV4XSwgcmMg
+WzB4JXhdCgAAAAAAAAAAAAAAAABjcGxfdHhfcGt0OiB2bGFuaWQgWzB4JXhdCgAAAAAAAGVuY29k
+ZSBoZXggc3RyaW5nOiBkbGVuIFslZF0KAAAAY2huZXRfZmluZF9sMnRfZW50cnk6IGRhZGRyIFsl
+MDh4XSwgWzB4JTA4eF0sIGxvY2FsIG5ldHdvcmsgWyVkXQoAAAAAAAAAAAAAAAAAAABsMnRlbnQg
+WyUweF0sIGwydGVudC0+aWR4IFslZF0KAHRjcF9zZW5kX2FvcGVuX3JlcTogY3NrX2ZjLT5mbG93
+Y19pZCBbMHgleF0sIGNza19mYy0+Zmxvd2Nfc3RhdGUgWzB4JXhdLCBidWZmZXJlZCBbJXVdLCBy
+ZXNfY250IFsweCV4XSwgaXFfaWR4IFsweCV4XQoAAAAAAAAAAAAAdGNwX3NlbmRfYW9wZW5fcmVx
+OiBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIG5v
+IHZhbGlkIGwydF9lbnR5LiBEZWxheWluZyBhbm90aGVyIHJldHJ5IGZvciAxIHNlY29uZHMuCgAA
+AAAAAAAAAAAAAAAAYW9wZW5fcmVxOiBod19sZV9maWx0ZXJfY3R1cGxlIGZhaWxlZAoAAAAAAAAA
+AAAAb2ZsZF90Y3Bfc2VuZF9hb3Blbl9yZXE6IGNwbF9yZXEtPkZpbHRlciBbMHglMHhdLCBjdHVw
+bGVzWzBdIFsweCV4XSwgY3R1cGxlc1sxXSBbMHgleF0KAAAAAAAAAAAAbGFkZHJfcmV0OiBsMmRj
+LmFkZHIgOjB4JXgsIHNyY19hZGRyOjB4JXgKAAAAAAAAY3NvY2tfYWxsb2M6IHNyY19hZGRyOjB4
+JXgsIGRzdF9hZGRyOjB4JXgKAAAAAAAAY3NrX2FsazogSW52YWxpZCBsMmRldjoweCV4CgAAAABj
+c2tfYWxrOiBuZXh0OiV1LCBpZHg6JXUsIHVzZWQ6JXUsIHNwb3J0OiV1CgAAAABjc29ja19hbGxv
+YzogY3NvY2tfc3JjX2FkZHI6MHgleCwgY3NvY2tfZHN0X2FkZHI6MHgleAoAAAAAAAAAAAAAY3Nv
+Y2tfYWxsb2M6IHR4X2NoIFsweCV4XSwgbHBvcnQgWzB4JXhdLCBjb29raWUgWyUwOHhdCgAAAAAA
+AAAAAGNzb2NrX2FsbG9jOiBhdmFpbGFibGUgWyV1XSwgbmNzb2NrIFsldV0sIHBvczphdGlkIFsw
+eCV4XSwgY3NrX2ZjIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIHNwb3J0IFsldV0K
+AABpdHRfdG9fdGFza19pZHg6IHRhZyBbMHglMDh4XSwgaGkgWyV1XSwgbG8gWyV1XSwgbm1hc2ti
+aXRzIFsldV0sIHRhc2tfaWR4IFsldV0KAFdBVENIRE9HOiBObyB0ZW1wZXJhdHVyZSBzZW5zb3Ig
+YXZhaWxhYmxlLgoAAAAAAFdBVENIRE9HOiBBY3RpdmF0aW5nCgAAAAAAAAAAAAAAV0FUQ0hET0cg
+LSBFbmFibGUgYWN0aW9uICV1IHRpbWUgJXUKAAAAAAAAAAAAAAAAV0FUQ0hET0cgLSBEaXNhYmxl
+IGFjdGlvbiAldQoAAABXQVRDSERPRzogRGUtYWN0aXZhdGluZwoAAAAAAAAAAHBvcnRbJXVdIHNl
+dCBQQVVTRSBQQVJBTVM6IHBwcGVuICV1IHR4cGUgJSN4IHJ4cGUgJSN4CgAAAAAAAAAAAABtcHNf
+bGlua191cFsldV0gYWNhcHMgJSN4ICg4MDIuMyAlI3gpICsgbHBhY2FwcyAlI3ggPT4gJSN4CgAA
+AAAAZm9pc2NzaSBjb25uX2ZjIFsweCV4XSwgZmxvd2Nfc2NoZWRjbCBbMHgleF0sIGluZ19jaCBb
+MHgleF0sIGVncl9jaCBbMHgleF0KAAAAAABsMmRldl9ub3RpZnkgd2l0aCB1bmtub3duIGZsYWcg
+WzB4JXhdCgAAAAAAAAAAAABjaF9jbF9yYXRlWyV1LyV1XTogY2FwcGVkIGRlZmljaXRfaW5jciBm
+cm9tIHJlcXVpcmVkICV1IHRvICV1OyByYXRlICV1IChlZmYgJXUpIGRlZmljaXRfbWF4ICV1CgBE
+Q0JYOiBzdW0gb2YgcmF0ZXMgb24gYWxsIGNsYXNzZXMgbXVzdCBiZSAxMDAgKGFjdHVhbDogJXUp
+CgAAAAAAd29ya2Fyb3VuZDEzNzIzOiBkZXRlY3RlZCBXUiBAIDB4JTA4eCBvZiBzaXplICV1IGJ5
+dGVzLCBkcmliYmxpbmcgaXQgaW4gJXUgYnl0ZXMgYXQgYSB0aW1lCgAAAAAAcmlfd3JfaW5pdFsl
+dV06IG1zcyAldSBpcyBub3QgOC1ieXRlIGFsaWduZWQKAAAAY29yZV9wcm9ncmFtX3RjYjogdGlk
+ICUjeCB0X3N0YXRlICUjeCByY3ZfYWR2IDB4JTA4eCByY3Zfc2NhbGUgJSN4IHR4X21heCAlI3gg
+cmN2X254dCAlI3ggYXRpZCAlI3gKAAAAAAAAAAAAAAAAAAlvcHQwICUjeCV4IG9wdDIgJSN4IGlw
+djYgJSN4IGZsYWdzX3RpbWVyIDB4JTA4eAoAAAAAAAAAAAAAAAAAAABvZmxkX2Nvbm5lY3Rpb25f
+d3I6IGNvbm5lY3Rpb24gd2l0aCA1LXR1cGxlIGxwIDB4JTA0eCBmcCAweCUwNHggbGlwIDB4JTA4
+eCUwOHggcGlwIDB4JTA4eCUwOHggZmlsdGVyIDB4JTA4eCBleGlzdHMgQCBMRSBpbmRleCAldQoA
+AAAAAAAAAAAAAAAAAABvZmxkX2Nvbm5lY3Rpb25fd3I6IGNvbm5lY3Rpb24gd2l0aCA1LXR1cGxl
+IGxwIDB4JTA0eCBmcCAweCUwNHggbGlwIDB4JTA4eCBwaXAgMHglMDh4IGZpbHRlciAweCUwOHgg
+ZXhpc3RzIEAgTEUgaW5kZXggJXUKAAAAAAAAAG9mbGRfY29ubmVjdGlvbl93cjogY29ubmVjdGlv
+biB3aXRoIDUtdHVwbGUgbHAgMHglMDR4IGZwIDB4JTA0eCBsaXAgMHglMDh4JTA4eCBwaXAgMHgl
+MDh4JTA4eCBmaWx0ZXIgMHglMDh4CgAAAABvZmxkX2Nvbm5lY3Rpb25fd3I6IGNvbm5lY3Rpb24g
+d2l0aCA1LXR1cGxlIGxwIDB4JTA0eCBmcCAweCUwNHggbGlwIDB4JTA4eCBwaXAgMHglMDh4IGZp
+bHRlciAweCUwOHgKAAAAAAAAAAAAAAAASVFGTElOVCBwZm4gJXUgdmZuICV1OiBpcWlkICV1IHRv
+byBsYXJnZSAobWF4ICV1KQoAAAAAAAAAAAAAAAAAAElRRkxJTlQgcGZuICV1IHZmbiAldTogaXFp
+ZCAldSBub3QgYWxsb2NhdGVkCgAAAElRRkxJTlQgcGZuICV1IHZmbiAldTogZmwwaWQgJXUgdG9v
+IGxhcmdlIChtYXggJXUpCgAAAAAAAAAAAAAAAABJUUZMSU5UIHBmbiAldSB2Zm4gJXU6IGZsMGlk
+ICV1IG5vdCBhbGxvY2F0ZWQKAABJUUZMSU5UIHBmbiAldSB2Zm4gJXU6IGZsMWlkICV1IHRvbyBs
+YXJnZSAobWF4ICV1KQoAAAAAAAAAAAAAAAAASVFGTElOVCBwZm4gJXUgdmZuICV1OiBmbDFpZCAl
+dSBub3QgYWxsb2NhdGVkCgAASVFGTElOVCBwZm4gJXUgdmZuICV1OiBmbDFpZCAldSBpcyB2YWxp
+ZCBidXQgbm90IGZsMGlkICV1CgAAAAAAAElRRkxJTlQgcGZuICV1IHZmbiAldTogZmwxaWQgJXUg
+aXMgdmFsaWQgYnV0IGhlYWRlciBzcGxpdCBmZWF0dXJlIGlzIG5vdCBlbmFibGVkCgAAAAAAAAAA
+AAAAAAAAAGh3X3VscHR4X3dvcmthcm91bmRfcHIxNjk0OV9lbmFibGVkX3ZmaWQ6IHZmaWQgJXUg
+ZW5hYmxlZCAldQoAAABFUSBwZm4gJXUgdmZuICV1OiBjcmVhdGluZyBFVEggZXFpZCAldSB3aXRo
+IHBlbmRpbmcgV1IocykgKG51bV9ieXRlcyAldSBhbmQgZmxhZ3MgMHglMDh4CgAAAAAAAABFUSBw
+Zm4gJXUgdmZuICV1OiBjcmVhdGluZyBDVFJMIGVxaWQgJXUgd2l0aCBwZW5kaW5nIFdSKHMpIChu
+dW1fYnl0ZXMgJXUgYW5kIGZsYWdzIDB4JTA4eAoAAAAAAABFUSBwZm4gJXUgdmZuICV1OiBlcWlk
+ICV1IHRvbyBsYXJnZSAobWF4ICV1KQoAAABFUSBwZm4gJXUgdmZuICV1OiBlcWlkICV1IG5vdCBh
+bGxvY2F0ZWQKAAAAAAAAAABod19jaW1fdHBfd29ya2Fyb3VuZDEzNzIzX2VuYWJsZTogcG9ydCAl
+dSBwcm90b2NvbCAweCV4IGVuICV1IGN1cnJlbnQgMHgleCB3b3JrYXJvdW5kX3ByMTM3MjMgMHgl
+eCBuZXh0IDB4JXgKAAAAZGNieF9wb3B1bGF0ZV9jdHJsIGNvZGUgaW5jb21wbGV0ZQoAAAAAAAAA
+AAAAAAAAdmlfdGNhbV9yYXcgaWR4ICV1IG1hYyAweCUwNHggJTA4eAoAAAAAAAAAAAAAAAAAcG9y
+dF9ibGlua19sZWRfcmVzdG9yZQoAAAAAAAAAAABwb3J0X2JsaW5rOiBibGlua2R1cj0weCV4IGJs
+aW5rX3JlZmNudAoAAAAAAAAAAABwb3J0X2JsaW5rOiAJYmxpbmtfcmVmY250PTB4JXgKAHBvcnRf
+Ymxpbms6IAlibGlua19yZWZjbnQ9MHgleAoAbWlpX2Fkdl9mY1sldV06IHJjYXBzIDB4JXgKAAAA
+AABtaWlfYWR2X3NwZWVkWyV1XTogcmNhcHMgMHgleAoAAG1paV9pbml0WyV1XTogYWNhcHMgMHgl
+eAoAAAAAAAAAcG9ydFsldV06IGdhdmUgdXAgZml4aW5nIGVycm9ycyEhIQoAAAAAAAAAAAAAAAAA
+bWlpX2FucmVzdGFydFsldV06IGFjYXBzIDB4JXgKAABod194Z21fcG9ydF9scGJrIHBvcnQgJXUg
+cHR5cGUgJSN4IGFjdGlvbiAlI3gKAABwb3J0X2NtZF9oYW5kbGVyOiB1bmtub3duIHUuZGNiLnR5
+cGUgMHgleAoAAAAAAABiYWQgRmxvd0MgJWQgb24gZXN0YWJsaXNoZWQgY29ubmVjdGlvbgoAAAAA
+AAAAAABldGhfZmxvd2NfaGFuZGxlclsweCV4XTogZmxhZ3MgMHglMDh4IG51bV9ieXRlcyAldSBz
+Y2hlZGNsIDB4JXggLT4gMHgleAoAAAAAAAAAAHRhc2tfaWR4X3RvX2l0dDogdGFza19pZHggWyV1
+XSwgaGkgWyV1XSwgbG8gWyV1XSwgbm1hc2tiaXRzIFsldV0sIHN3X3RhZyBbMHglMDh4XSwgcHBv
+ZF9pZHggWyVkXQoAAAAAAAAAAAAAAAAAAABzY3NpX2NtZDogcmVjZWl2ZWQgVE1GIG9wIFsweCV4
+XSBmdW5jIFsweCV4XSBvbiBjb25uIFsweCV4XSB0aHJvdWdoIGNvbW1hbmQgcGF0aC4KAAAAAAAA
+AAAAAAAAAABzY3NpX2NtZDogY29ubl9mYyBbMHgleF0sIHN0YXRlIFsweCV4XSwgc2Vzc19mYyBb
+MHgleF0gaW4gcmVjb3ZlcnkuIFNraXBwaW5nIGlzdGFza19mYyBbMHgleF0gZnJvbSBUWC4KAAAA
+AAAAAAAAc2NzaV9yZWFkOiBjb25uX2ZjIFsweCV4XSwgc3RhdGUgWzB4JXhdLCBzZXNzX2ZjIFsw
+eCV4XSBpbiByZWNvdmVyeS4gU2tpcHBpbmcgaXN0YXNrX2ZjIFsweCV4XSBmcm9tIFRYLgoAAAAA
+AAAAAHNjc2lfd3JpdGU6IGNvbm5fZmMgWzB4JXhdLCBzdGF0ZSBbMHgleF0sIHNlc3NfZmMgWzB4
+JXhdIGluIHJlY292ZXJ5LiBTa2lwcGluZyBpc3Rhc2tfZmMgWzB4JXhdIGZyb20gVFguCgAAAAAA
+AABkY2J4X2NvbnRyb2xfc21bJXVdIENPTlRST0xfTElOS1VQCgAAAAAAAAAAAAAAAABkY2J4X2Nv
+bnRyb2xfc21bJXVdIENPTlRST0xfVVBEQVRFX0RDQlhfVExWCgAAAABkY2J4X2NvbnRyb2xfc21b
+JXVdIENPTlRST0xfUEVFUl9OT1RfQURWRVJUSVNFX0RDQlgKAAAAAAAAAAAAAAAAZGNieF9jb250
+cm9sX3NtWyV1XSBDT05UUk9MX1VQREFURV9PUEVSX1ZFUlNJT04KAAAAAAAAAAAAAAAAAAAAAGRj
+YnhfY29udHJvbF9zbVsldV0gQ09OVFJPTF9QUk9DRVNTX1BFRVJfVExWCgAAAGRjYnhfY29udHJv
+bF9zbVsldV0gQ09OVFJPTF9BQ0tfUEVFUgoAAAAAAAAAAAAAAGRjYnhfaWVlZV92YWxpZGF0ZVsl
+dV0gZXJyb3IgKG91aSAlI3ggc3VidHlwZSAlI3ggbGVuICUjeCkKAAAAAABkY2J4X2NlZV92YWxp
+ZGF0ZVsldV0gZXJyb3IKAAAAAHByb2Nlc3NfZGhjcF9vcHRzOiByb290IHBhdGggbGVuIFslZF0g
+Ynl0ZXMKAAAAAG5ldGlmX3Byb2Nlc3NfZGhjcF9vcHRzOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4
+JXhdLCBNU0dfVFlQRSBbJWRdLCBkaGN0eHQtPnN0YXRlIFslZF0KAAAAAAAAAAAAAGljbXBfcmVj
+djogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgcGlkIFsweCV4XSwgaWNtcCB0eXBlIFsweCV4
+XQoAAAAAAAAAAAAAAAAAdm4ydm46IHBvcnQgMHgleCBkaWQ6MHgleCV4JXggVVAKAAAAAAAAAAAA
+AAAAAAAAdm4ydm46IHBvcnQgMHgleCBkaWQ6MHgleCV4JXggRE9XTgoAAAAAAAAAAAAAAAAAZmNf
+c2VuZF9hbGxvY19jcGw6IGZhaWxlZCB0byBzZXR1cCBmaWx0ZXIgY3R1cGxlCgAAAAAAAAAAAAAA
+AAAAAGZjb2VfY29tcHV0ZV9jdHVwbGUgMHgleDoleAoAAAAAY29tcHV0ZV9jdHVwbGUoKTogZmFp
+bGVkIHRvIHNldHVwIGZpbHRlciBjdHVwbGUKAAAAAAAAAAAAAAAAAAAAAGZjb2VfY29tcHV0ZV9j
+dHVwbGUgdmxhbiAleCB2aWlkICV4IHBvcnQgJXggbXBzX2lkeCAleAoAAAAAAAAAAABBQlRTIEFD
+QyBhd2FpdGluZyBQUkxJIFJzcDogZmxvd2NfaWQgMHgleCBveF9pZCAweCV4IHJ4X2lkIDB4JXgg
+aXFpZCAweCV4CgAAAAAAAHBvcnQgMHgleCwgc3RhdGUgMHgleCwgY29tbWFuZCBmYWlsZWQgcmV0
+cmllcyAweCV4CgAAAAAAAAAAAAAAAABhcnBfcmVjdjogaXBpZCBbMHgleF0sIGluX2FkZHIuYWRk
+ciBbMHgleF0sIHNpcCBbMHgleF0sIHJpcCBbMHgleF0sIGFycF9vcCBbMHgleF0KAAAAAAAAAAAA
+AAAAAABjaG5ldF9hcnBfcmVjdjogaXAgY29uZmxpY3QgZGV0ZWN0ZWQKAAAAAAAAAAAAAABjaG5l
+dF9hcnBfcmVjdjogcGlkIFsldV0sIHZsYW4gWzB4JXhdLCBhcnAgb3AgWzB4JXhdLCBzaXAgWzB4
+JXhdLCByaXAgWzB4JXhdCgAAAGNzb2NrX2ZyZWU6IHNpemVvZihjc2tfZmMtPnUuY3NvY2spIFsl
+dV0sIGJ5dGVzCgAAAAAAAAAAAAAAAAAAAABHb3QgQ09OTl9FWElTVCBmb3IgeGlkOjB4JXgsIHRh
+ZzoweCV4LCByZXRyeWluZy4KAAAAAAAAAAAAAAAAAAAAY3NvY2tfcGVlcl9jbG9zZTogY3NrX2Zj
+LT5mbG93Y19pZCBbMHgleF0sIHRjYl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3dj
+X3N0YXRlIFsweCV4XSwgdGNiX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0KAAAAAABjc29ja19wZWVy
+X2Nsb3NlOiBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19zdGF0ZSAgWzB4
+JXhdCgAAAAAAAAAAAHRjcF9jbHNfYWJydF9ycGw6IHRjYiB0aWQgWzB4JTA2eF0sIGZsb3djX3R5
+cGUgWzB4JXhdLCBjcGxvcCBbMHgleF0gZmxvd2Nfc3RhdGUgMHgleAoAAAAAAAAAAAAAAGNoX3Jh
+dGVbJXVdOiBjYXBwZWQgdGljayBmcm9tIHJlcXVpcmVkICV1IHRvIHN1cHBvcnRlZCAldTsgcmF0
+ZSAldSAoZWZmICV1KSBkZWZpY2l0X2luY3IgJXUgdGljayAldQoAAAAAAAAAAAAAAABwa3RzY2hl
+ZF9jaF9ybFsldV06IGNoYW5uZWwgcmwgbm90IGF2YWlsYWJsZSBpbiBjb25qdW5jdGlvbiB3aXRo
+IGZsb3cgc2hhcGluZwoAAHBrdHNjaGVkX2NoX3JsWyV1XTogcmF0ZSAldSBtYXggJXUKAAAAAAAA
+AAAAAAAAAHBrdHNjaGVkX2NsX3dyclsldToldV06IHdlaWdodCAldQoAAAAAAAAAAAAAAAAAAGVx
+X3BhcmFtc1sweCV4OjB4JXhdOiBkbWFxIDB4JXggcmVhZCAldSBwZiAldSBlcWlkX2FwaSAldSBy
+ZXQgJWQKAAAAAAAAAAAAAAAAAAAAaHdfbWFfYWRkcl90b19tZW1fdHlwZV9vZmY6IE1BIGFkZHJl
+c3MgMHglMDh4IGlzIG5vdCBtYXBwZWQKAAAAAGh3X21hX2FkZHJfdG9fbWVtX3R5cGVfb2ZmOiBN
+QSBhZGRyZXNzIDB4JTA4eCBtYXBzIHRvIHR5cGUgJXUgb2Zmc2V0IDB4JXgKAAAAAAAAbWVtX21h
+bGxvY190ZW1wOiBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMsIHJldHVybmluZyBOVUxMCgAA
+AG1lbV9tYWxsb2M6IGZhaWxlZCB0byBhbGxvY2F0ZSAldSBieXRlcywgcmV0dXJuaW5nIE5VTEwK
+AAAAAAAAAABsZSBjb25maWd1cmF0aW9uOiBoYXNoIG1vZGUgcmVxdWlyZXMgYXQgbGVhc3QgMTYg
+ZW50cmllcywgbmhhc2ggJXUKAAAAAAAAAAAAAAAAAGxlIGNvbmZpZ3VyYXRpb246IGhhc2ggbW9k
+ZSByZXF1aXJlcyBhdCBlbnRyaWVzIHRvIGJlIGEgcG93ZXIgb2YgMiwgbmhhc2ggJXUKAAAAbGUg
+Y29uZmlndXJhdGlvbjogcmVxdWVzdGVkICV1IHRjYW0gZW50cmllcyBidXQgb25seSAldSBhdmFp
+bGFibGUgKG5yb3V0ZSAldSBuY2xpcCAldSBuZmlsdGVyICV1IG5zZXJ2ZXIgJXUKAAAAAGxlIGNv
+bmZpZ3VyYXRpb246IHRjYW0gcmVnaW9ucyBtdXN0IGhhdmUgbXVsdGlwbGUgb2YgMzIgZW50cmll
+cywgbnJvdXRlICV1IG5jbGlwICV1IG5maWx0ZXIgJXUgbnNlcnZlciAldQoAAAAAAABod190cF90
+Y3BfdHVuaW5nczogdHVuaW5nIGZvciBjbHVzdGVyIGVudmlyb25tZW50CgAAAAAAAAAAAAAAAAAA
+aHdfdHBfdGNwX3R1bmluZ3M6IHR1bmluZyBmb3IgTEFOIGVudmlyb25tZW50CgAAaHdfdHBfdGNw
+X3R1bmluZ3M6IHR1bmluZyBmb3IgV0FOIGVudmlyb25tZW50CgAAaHdfdHBfdGNwX3R1bmluZ3M6
+IG1hbnVhbCB0dW5pbmcKAAAAAAAAAAAAAAAAAAAAX2h3X2NpbV9mbGFzaF9tZW1jcHk6IG1lbWNw
+eVggc3RhcnQKAAAAAAAAAAAAAAAAX2h3X2NpbV9mbGFzaF9tZW1jcHk6IGRzdCAweCUwOCBvZmZz
+ZXQgMHglMDh4IHNpemUgJXUsIHdpZHRoIG9mICV1IGlzIG5vdCBzdXBwb3J0ZWQKAAAAAAAAAAAA
+AAAAX2h3X2NpbV9mbGFzaF9tZW1jcHk6IG1lbWNweVggZW5kCgAAAAAAAAAAAAAAAAAAY29uZmln
+dXJhdGlvbiBmaWxlIHBhcnNlciBlbmNvdW50ZXJlZCBlcnJvciBAIGxpbmUgJXU6CgAAAAAAAAAA
+AEhPU1QgUEFHRV9TSVpFIFsweCUwbHhdIHRvbyBzbWFsbCwgbWluIFsweCUwbHhdIHJlcXVpcmVk
+CgAAAAAAAABwYWdlIHNpemUgWyVsdV0gbWlzbWF0Y2gKAAAAAAAAAFBBR0Ugc2l6ZSAlbHUgdW5z
+dXBwb3J0ZWQsIGRkcCBkaXNhYmxlZAoAAAAAAAAAAEhvc3QgcGFnZV9zaXplICVsdSwgZGRwX2lk
+eCAldQoARkNvRSBERFAgaW5pdDogZmNvZSBsbGltaXQgMHgleCwgZmNvZSB1bGltaXQgMHgleCBn
+YmwgbGxpbWl0IDB4JXggZ2JsIHVsaW1pdCAweCV4IHBjYnN6ICV4CgAAAAAARkNvRSBERFAgaW5p
+dDogZmNvZSBwcG9kIG9mZiAweCV4LCBmY29lIHN0IHBwb2QgYWRkciAweCV4IGZjb2UgbnVtIHBw
+b2RzIDB4JXgKAABmY29lIHhjaGcgbWdyIGluaXQ6IE51bWJlciBvZiBleGNoYW5nZXMgZm9yIEZD
+b0UgaXMgJXgKAAAAAAAAAAAAZmNvZV9sMnRfaW5pdDogTm8gdWxwdHggY3JlZGl0IGNoOlsldV0K
+AAAAAAAAAAAAZmNvZV9sMnRfaW5pdDogY2g6WyV1XSBsMnRfaWR4IFsldV0KAAAAAAAAAAAAAAAA
+bm8gbDJ0IGVudHJpZXMgY29uZmlndXJlZDsgZm9yY2luZyAldSBlbnRyaWVzLCBzdGFydGluZyBh
+dCAldQoAAGRjYnhfaWVlZV9jb25zdHJ1Y3RbJXVdIGV0cyAldSBwZmMgJXUgYXBwICV1CgAAAGRj
+YnhfdGltZW91dFsldV0KAAAAAAAAAAAAAAAAAAAAZGNieF9ydW5fdmVyc2lvbl9zbVsldV0gRENC
+WF9WRVJfU1RBVEVfUlVOX0lFRUUKAAAAAAAAAAAAAAAAAAAAAGRjYnhfcnVuX3ZlcnNpb25fc21b
+JXVdIERDQlhfVkVSX1NUQVRFX1JVTl9DRUUKAGRjYnhfcnVuX3ZlcnNpb25fc21bJXVdIERDQlhf
+VkVSX1NUQVRFX1JVTl9OT05FCgAAAAAAAAAAAAAAAAAAAABwb3J0WyV1XSBsaW5rIHVwICgldSkg
+KHNwZWVkICUjeCBhY2FwcyAlI3ggbHBjYXBzICUjeCkKAAAAAAAAAAAAcG9ydF9oc3Nfc2lnZGV0
+WyV1XTogaHNzX3NpZ2RldCBjaGFuZ2VkIHRvIDB4JXgKAAAAAAAAAAAAAAAAAAAAAFFTRlAgbW9k
+dWxlIHVucGx1ZyAtIHJlaW5pdGlhbGl6aW5nIHJ4X2xvcyAgdG8gMHhmZgoAAAAAAAAAAAAAAABn
+cGlvX3FzZnBfbW9kdWxlX3VwZGF0ZTogY2hhbmdlZCByeF9sb3MgZnJvbSAweCV4IHRvIDB4JXgK
+AAAAAAAAZ3Bpb19xc2ZwX21vZHVsZV91cGRhdGU6IGNoYW5nZWQgdHhfZGlzIGZyb20gMHgleCB0
+byAweCV4CgAAAAAAAENhbGN1bGF0aW9uIG91dCBvZiBib3VuZHMgZnVyaW5nIGluaXQ6ICUjeCAl
+I3ggJSN4CgAAAAAAAAAAAAAAAABod19zZ2VfbWFtZW1faW5pdDogZW5jb3VudGVyZWQgZXJyb3Ig
+JWQKAAAAAAAAAABfaHdfdHBfcGdtbmd0OiB0eF9wYWdlX21heCAldSByeF9wYWdlX21heCAldSBw
+c3RydWN0cyAldSBzaXplICV1CgAAAAAAAAAAAAAAAAAAAG1wYXJ0aXRpb25fb3RoZXJzX3RvdGFs
+OiBkZHAgJXUgZGRwX2lzY3NpICV1IHN0YWcgJXUgcGJsICV1IHJxICV1IHJxdWRwICV1IC0+ICV1
+CgAAAAAAAAAAAAAAAAAAAF9tcGFydGl0aW9uX2JhbmtzX21jWDogbmJhbmtzX3BtdHggJXUgKCV1
+TUIpIG5iYW5rc19wbXJ4ICV1ICgldU1CKSBuYmFua3Nfb3RoZXJzICV1ICgldU1CKSBuYmFua3Nf
+ZncgJXUgKCV1TUIpCgBfbXBhcnRpdGlvbl9iYW5rc19tYzE6IG5iYW5rc19wbXR4ICV1ICgldU1C
+KSBuYmFua3Nfb3RoZXJzICV1ICgldU1CKSBuYmFua3NfZncgJXUgKCV1TUIpCgAAAAAAAABfbXBh
+cnRpdGlvbl9iYW5rc19tYzA6IG5iYW5rc19wbXJ4ICV1ICgldU1CKSBuYmFua3Nfb3RoZXJzICV1
+ICgldU1CKQoAAAAAAAAAAAAAAG1lbV9tYWxsb2NfaW50ZXJuYWw6IGZhaWxlZCB0byBhbGxvY2F0
+ZSAldSBieXRlcywgcmV0dXJuaW5nIE5VTEwKAAAAAAAAAAAAAAAAAAAAaHdfZWRjX2Jpc3RbJXVd
+OiBiaXN0X2NtZFsweCUwOHhdIGFkZHIgMHgleCBsZW4gMHgleAoAAAAAAAAAAAAAAGh3X2VkY19i
+aXN0WyV1XTogZG9uZSwgZW5jb3VudGVyZWQgJXUgZXJyb3JzIG9uIGZpcnN0IGFuZCAldSBlcnJv
+cnMgb24gc2Vjb25kIGF0dGVtcHQgKCV1Z2JwcykKAG1lbV9pbml0X2NhY2hlczogY2FjaGVfc2l6
+ZSAldSBmbG93Y19idWZfdGNiX2NhY2hlX3NpemUgJXUgYnVmbGw2NF9jYWNoZV9zaXplICV1CgAA
+AAAAAAAAAAAAAAAAAHF1ZXVlc19wZXJfcGFnZTogcGYgJXUgaGFzIGEgYmFyc2l6ZSBvZiAldS1i
+eXRlcywgb2NxX3NpemUgJXUKAABzZ2UgcmVxdWlyZSBuZXEgJXUgbmlxICV1IHJvdW5kaW5nIHRv
+ICV1ICV1CgAAAABtcGFydGl0aW9uX3BtdHg6IG0gMHglMDh4IHNpemUgJXUKAAAAAAAAAAAAAAAA
+AABtcGFydGl0aW9uX3Btcng6IG0gMHglMDh4IHNpemUgJXUKAAAAAAAAAAAAAAAAAABtcGFydGl0
+aW9uX2VkYyAobm8gZXh0bWVtKTogbSAweCUwOHggc2l6ZSAldQoAAABtcGFydGl0aW9uX2VkY19l
+c3RpbWF0ZTogaHcgbW9kdWxlcyByZXF1aXJlICVkIGJ5dGVzIGluIEVEQwoAAAAAY2huZXRfYnll
+OmwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y19wY2llX3BmbiBbMHgl
+eF0sIGwyZGV2X2ZjLT5mbG93Y19wY2llX3ZmbiBbMHgleF0sIHBvcnQgWzB4JXhdCgAAAAAAAAAA
+AAAAAABjaG5ldF9ieWU6dmxhbmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCB2bGFuZGV2X2ZjLT5m
+bG93Y19wY2llX3BmbiBbMHgleF0sIHZsYW5kZXZfZmMtPmZsb3djX3BjaWVfdmZuIFsweCV4XSwg
+cG9ydCBbMHgleF0KAAAAAAAAAGZvaXNjc2lfY29yZV9ieWU6IGFjdGl2ZSBzZXNzX2NudCAlZAoA
+AAAAAAAAAAAAAHBvcnRbJXVdIHJlc2V0dGluZyBLUgoAAAAAAAAAAAAAY3g0X2NyX21vZHVsZV9y
+eF9sb3NbJXVdOiByeF9sb3MgY2hhbmdlZCB0byAldQoAcGZuICV1IHZmbiAldSBoYXMgcG5kdHhu
+cyAldSBhZnRlciAxMDBtcwoAAAAAAAAAcGZuICV1IHZmbiAldSBjb21wbGV0ZSBpbW1lZGlhdGUK
+AAAAAAAAAAAAAAAAAAAAYmFkIG1haWxib3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgb3Bjb2Rl
+IDB4JXggPiBMQVNUQzJFIDB4JXgKAG1haWxib3ggY21kIG5vdCB5ZXQgc3VwcG9ydGVkOiBwZm4g
+MHgleCB2Zm4gMHgleDsgb3Bjb2RlIDB4JXgKAABiYWQgbWFpbGJveCBjbWQ6IHBmbiAweCV4IHZm
+biAweCV4OyBvcGNvZGUgMHgleCBpcyB2YWxpZCBwb3N0IGRldmljZSBpbml0IG9ubHkKAGJhZCBt
+YWlsYm94IGNtZDogcGZuIDB4JXggdmZuIDB4JXg7IG9wY29kZSAweCUwMnggcmFtYXNrIDB4JXgg
+Y21kIHJhbWFzayAweCV4CgAAYmFkIG1haWxib3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgb3Bj
+b2RlIDB4JTAyeCBsZW4xNiAweCV4IHZlcnN1cyBleHBlY3RlZCBsZW4xNiAweCV4CgAAAAAAAAAA
+aW5zdWZmaWNpZW50IGNhcHMgdG8gcHJvY2VzcyBtYWlsYm94IGNtZDogcGZuIDB4JXggdmZuIDB4
+JXg7IHJfY2FwcyAweCV4IHd4X2NhcHMgMHgleCByZXF1aXJlZCByX2NhcHMgMHgleCB3X2NhcHMg
+MHgleAoAAAAAAAAAAABpbnN1ZmZpY2llbnQgY2FwcyB0byBwcm9jZXNzIG1haWxib3ggY21kOiBw
+Zm4gMHgleCB2Zm4gMHgleDsgcl9jYXBzIDB4JXggd3hfY2FwcyAweCV4IHJlcXVpcmVkIHJfY2Fw
+cyAweCV4IHdfY2FwcyAweCV4CgAAAAAAAAAAAGRvd25sb2FkX3NyYW06IGVycm9yLCByZXQgJWQK
+AAAAZG93bmxvYWRfdGNhbTogZXJyb3IsIHJldCAlZAoAAABWUEQgcmVnaW9uIGlzIHRvbyBzbWFs
+bCAoU0VSQ0ZHX1NSX1BGTlZQRFNJWkUgMHgleCkKAAAAAAAAAAAAAAAAY2ZfcHJlcDogZXJyb3Is
+IHJldCAlZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCAAABIAAAAAAAAACCAAABAAAAAAAA
+AACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgIAAAAAAAAAAAAAAAACAAAAAAAAA
+AAACgAAAAAAAAAAAAAIAAwAAAAABYAgAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAgAAAAAA
+AAAAACAAAAAAAAAAAAAAAAEAA4AAAAAAAAAAAAAAAgAAAAAAAAAAACADgAAAAAAAAAAAABACgACA
+AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAgAAAAAAAAAAAAAA
+AoAAAAAAAAAAAAEAAwAAAAAAAAAAAAACgwAAAAAAAAAAABACgAAAAAAAAAAAADAAAwAAAAAAAAgA
+ADAAAwAAAAAAAAAAADAFgwAAAAAAAAgAADAFgwAAAAAAAAAAADAEgwAAAAAAAAgAADAEgwAAAAAA
+AAAAADADAwAAAAAAAAgAADADAwAAAAAAAAAAADgDAwAAAAAAAAAAADgFgwAAAAAAAAAAADgEgwAA
+AAAAAAAAADgAAwAAAAAAAAAAADQGggAAAAAAAAAAADwDggAAAAAAAAAAADwAAwAAAAAAAAgAADwA
+AwAAAAAAAAAAADwEgwAAAAAAAAAAADwFAwAAAAAAAAAAAD0EAwAAAAAAAAAAADwDgwAAAAAAAAAA
+ACwAAgAAAAAAAAAAACwFggAAAAAAAAAAACwFAgAAAAAAAAAAABAGgAAAAAAAAAAAABAGgsAAAAAA
+AAAAABAGgoAAAAAAAAAAAAAOggAAAAAAAAAAABAHgoAAAAAgAAAAAAAHggAAAAAgAAAAABAHAoAA
+AAAAAAAAABAHAoAAAAAAAAAAABAHAoAAAAAAAAAAAAAHAgAAAAAgAAAAABAXgwAAAAAAAAgAABAX
+gwAAAAAAAAgAABAAAAAAAAAAAAAAABAGA4AAAAAAAAAAAAAOAwAAAAAAAAAAABAGA0AAAAAAAAAA
+ABAGAwAAAAAAAAAAABAGAAAAAAAAAAAAAAAGA4AAAAAAAAAAAAAGAwAAAAAAAAAAAAAOAgAAAAAA
+AAAAAAAOAgAAAAAAAAAAABAGAgAAAAAAAAAAABAGAgAAAAAAAAAAABAGAoAAAAAAAAAAABAGAoAA
+AAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAQ
+AwAAAAAAAAgAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////wAAACAAAAAAwAAAAAAAACAAAAAA4AAAAAAAAAAC
+AAAAAAAAAEAAAAAAAAAAAAAAAAAAASEAAAAAAAAAAAABASAAAAAAAAAAAAAAAgAAAAQABAAAAAAF
+AAAABAAAAAAAAAAAAKAAAAAAgAAAAACAAEAAAAAAAAIAAACAACAAAAAAAAIAAAEAQAAAAAAAAAAA
+AAEAQgAAAAAAAAAAAAAAIAAAAAAAAAAAAAIQIAAAAAAAAAAAAAIMAgAAAAAAAAAAAACFAgAAAAQA
+AAAAAACAQgAAAAAAAAAAAAIAIgAAAAAAAAAAAACAQQAAAAAAAAAAAACAQYAAAAAAAAAAAAIAIQAA
+AAAAAAAAAAAQIIAAAAAAAAAAAAIlAIAAAAAAAAAAAAAFAAAAAAAAAAAAAAiIBIAAAAAAAAAAAAiI
+BIAAAAAAAAAAAAiiAIAAAAAAAAAAAAiiAIAAAAAAAAAAAAijAIAAAAAAAAAAAAijAIAAAAAAAAAA
+AAikgIAAAAAAAAAAAAikgIAAAAAAAAAAAASkgMAAAAAAAAAAAASiAMAAAAAAAAAAAASjAMAAAAAA
+AAAAAASIBMAAAAAAAAAAAAAJAYAAAAAAAAAAAAIMAIAAAAAAAAAAAACIBMAAAAAAAAAAAACIBIAA
+AAAAAAAAAAILAIAAAAAAAAAAAACKgIAAAAAAAAAAAAALgIAAAAAAAAAAAACMAIAAAAAAAAAAAAIg
+EIAAAAAAAAAAAAIKAIAAAAAAAAAAAAIKgIAAAAAAAAAAAAAJAoAAAAAAAAAAAAABAQAAAAAAAAAA
+AAABAUAAAAAAAAAAAAABAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgRAAAAAA
+AAAAAAAAgQgAAAAAAAAAAAAAgQQAAAAAAAAAAAAAgYAAAAAAAAAAAACAAMAAAAAAAAAAAACAAKAA
+AAAAAAAAAAAACAAAAAAAAAAAAACBgAAAAAAAAAAAAACBgIAAAAAAAAAAAACJgIAAAAAAAAAAAACJ
+gMAAAAAAAAAAAAABggAAAAAAAAAAAAIBgAAAAAAAAAAAAAIBgIAAAAAAAAAAAABBgYAAAAAAAAAA
+AAIBgYAAAAAAAAAAAABJgYAAAAAAAAAAAAIJgYAAAAAAAAAAAAIBgQAAAAAAAAAAAABBgQAAAAAA
+AAAAACAAAAAAAAAAAAAAABAAAAIBAAAAAAAAABAAAAIAAAAAAAAAABAAAAAAAAAAAAAAAACAAMAA
+AAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACACSAAAAAAAA
+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
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAMAAEAAAAAgAAAgAm
+JEAAAAAAAEcwAAYDIAK3AAgCAcAkQAAAAAAIAwAAAgagCrUACAIAxiRAAAAAAAAAAAAAAAAAAgAA
+AgAmJEAAAAAAACBQAAQAAAACAAACACYkQAAAAAAIYCAAhAAAAAAAAAYAIABAAAAAAAhgIACEAAAA
+AgEwAgAmJUAAAAAACGAAAAQAhAGABAQCAcYkwAAAAAABwAAAAkOAAwIMiAIBpiRAAAAAAAgAYAAE
+AAAAAgAAAgAmJEAAAAAACABgAAQAAAAAAAAEASAAQAAAAAAAAAAAAAAAAAAAAAQBIABAAAAAAAQI
+FIAGCgAABwFMAiCmJkAAAAAACIAAAAYAhAGABAgCAaYmQAAAAAAAQAAAAgCgAAJACAIBpiRAAAAA
+AAAAAAAAAAAAAgAAAgAmJEAAAAAABAAAAAKEAAMCiggCBKYkQAAAAAAAAAAAAAAAAAIAAAYBIEhA
+AAAAAAAgUAAEAAAAAgAAAgAmJEAAAAAACGAgAIQAAAACAAAGACYEQAAAAAAIYCAAhAAAAAIAAAIB
+JiVAAAAAAAhgAAAEAIQBgAQEAgHGJMAAAAAACABgAAQAAAAAAAAEASAAQAAAAAAAAAAAAAAAAAAA
+AAIAJkxwAAAAAAAAAAAAAAAAAAAABgEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
+wAAACLSQBAkWBAIExiRAAAAAAAHAAAAItJAECRYEAgTGJEAAAAAABAh0gEwJAABQAFwCYeYkQAAA
+AAAMCHSARAAAAFIAQAJhJiRAAAAAAAgCEKAEAAAAAAEAAgAmJEAAAAAACAIQoAQAAAAAAQACACYk
+QAAAAAAECHQAQgEAAAcAiAJgxiRAAAAAAA3IFAACCQAABECcAmDmJEAAAAAACcgQgAa0kAQClIgC
+ZcYkQAAAAAANyHQASLSQAwCUiAJgpiTAAAAAAA3IdABItJADAJSIAmCmJMAAAAAACEcAAAQAAAAA
+AAACASAkQAAAAAAIRwAABAAAAAIAAAIFICRAAAAAAABHIAEMByHCtwAIAgHAJEAAAAAAAEcgAQwH
+IcK3AAgCAcAkQAAAAAAARyABDAchwrcACAIBwCRAAAAAAAAAIAEIAIQABUCIAgHGJMAAAAAAAAAg
+AQgAhAAFQIgCAcYkwAAAAAAAACABCACEAAVAiAIBxiTAAAAAAAAAIAGGggABAsCIAgPGJMAAAAAA
+AAAgAYKCAAACwIgCA8YkwAAAAAAJwCABgqSAAQVAiAIBxiTAAAAAAAgAAAAMAIQABUCIAgHGJMAA
+AAAAAAAgAYaCAAECwIgCA8YkwAAAAAAAACABgoIAAADAiAICpiTAAAAAAAnAIAGCpIABBUCIAgHG
+JMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAEJBAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAFtnbG9iYWxdCnJzc19nbGJfY29uZmlnX21vZGU9YmFzaWN2aXJ0dWFs
+CnJzc19nbGJfY29uZmlnX29wdGlvbnM9dG5sbWFwZW4saGFzaHRvZXBsaXR6LHRubGFsbGxrcApy
+ZWdbMHgxMDA4XT0weDQwODEwLzB4MjFjNzAKcmVnWzB4MTAwY109MHgyMjIyMjIyMgpyZWdbMHgx
+MGEwXT0weDAxMDQwODEwCnJlZ1sweDEwNDRdPTQwOTYKcmVnWzB4MTA0OF09NjU1MzYKcmVnWzB4
+MTA0Y109MTUzNgpyZWdbMHgxMDUwXT05MDI0CnJlZ1sweDEwNTRdPTkyMTYKcmVnWzB4MTA1OF09
+MjA0OApyZWdbMHgxMDVjXT0xMjgKcmVnWzB4MTA2MF09ODE5MgpyZWdbMHgxMDY0XT0xNjM4NApy
+ZWdbMHgxMGE0XT0weGEwMDBhMDAwLzB4ZjAwMGYwMDAKcmVnWzB4MTBhOF09MHgyMDAwLzB4MjAw
+MApzZ2VfdGltZXJfdmFsdWU9NSwxMCwyMCw1MCwxMDAsMjAwCnJlZ1sweDdkMDRdPTB4MDAwMTAw
+MDAvMHgwMDAxMDAwMApyZWdbMHg3ZDZjXT0weDAwMDAwMDAwLzB4MDAwMDcwMDAKcmVnWzB4N2Rj
+MF09MHgwZTJmODg0OQpmaWx0ZXJNb2RlPWZyYWdtZW50YXRpb24sbXBzaGl0dHlwZSxwcm90b2Nv
+bCx2bGFuLHBvcnQsZmNvZQpmaWx0ZXJNYXNrPXByb3RvY29sLGZjb2UKdHBfcG1yeD0zNAp0cF9w
+bXJ4X3BhZ2VzaXplPTY0Swp0cF9ucnhjaD0wCnRwX3BtdHg9MzIKdHBfcG10eF9wYWdlc2l6ZT02
+NEsKdHBfbnR4Y2g9MAp0cF9tdHVzPTg4LDI1Niw1MTIsNTc2LDgwOCwxMDI0LDEyODAsMTQ4OCwx
+NTAwLDIwMDIsMjA0OCw0MDk2LDQzNTIsODE5Miw5MDAwLDk2MDAKcmVnWzB4MTkxNjhdPTB4MDQw
+MjAxMDAKW2Z1bmN0aW9uIjAiXQpudmY9MTYKd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9MQpu
+aXFmbGludD04Cm5ldGhjdHJsPTgKbmVxPTE2Cm5leGFjdGY9OApjbWFzaz1hbGwKcG1hc2s9MHgx
+CltmdW5jdGlvbiIxIl0KbnZmPTE2Cnd4X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZpPTEKbmlxZmxp
+bnQ9OApuZXRoY3RybD04Cm5lcT0xNgpuZXhhY3RmPTgKY21hc2s9YWxsCnBtYXNrPTB4MgpbZnVu
+Y3Rpb24iMiJdCm52Zj0xNgp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT0xCm5pcWZsaW50PTgK
+bmV0aGN0cmw9OApuZXE9MTYKbmV4YWN0Zj04CmNtYXNrPWFsbApwbWFzaz0weDQKW2Z1bmN0aW9u
+IjMiXQpudmY9MTYKd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9MQpuaXFmbGludD04Cm5ldGhj
+dHJsPTgKbmVxPTE2Cm5leGFjdGY9OApjbWFzaz1hbGwKcG1hc2s9MHg4CltmdW5jdGlvbiI0Il0K
+d3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9MjgKbmlxZmxpbnQ9MTcwCm5ldGhjdHJsPTEwMApu
+ZXE9MjU2Cm5leGFjdGY9NDAKY21hc2s9YWxsCnBtYXNrPWFsbApuZXRob2ZsZD0xMDI0Cm5yb3V0
+ZT0zMgpuY2xpcD0zMgpuZmlsdGVyPTQ5Ngpuc2VydmVyPTQ5NgpuaGFzaD0xMjI4OApwcm90b2Nv
+bD1uaWNfdm0sb2ZsZCxyZGRwLHJkbWFjLGlzY3NpX2luaXRpYXRvcl9wZHUsaXNjc2lfdGFyZ2V0
+X3BkdQp0cF9sMnQ9MzA3Mgp0cF9kZHA9Mwp0cF9kZHBfaXNjc2k9Mgp0cF9zdGFnPTMKdHBfcGJs
+PTEwCnRwX3JxPTEzCltmdW5jdGlvbiI1Il0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9NApu
+aXFmbGludD0zNApuZXRoY3RybD0zMgpuZXE9NjQKbmV4YWN0Zj00CmNtYXNrPWFsbApwbWFzaz1h
+bGwKbnNlcnZlcj0xNgpuaGFzaD0yMDQ4CnRwX2wydD0xMDIwCnByb3RvY29sPWlzY3NpX2luaXRp
+YXRvcl9mb2ZsZAp0cF9kZHBfaXNjc2k9Mgppc2NzaV9udGFzaz0yMDQ4CmlzY3NpX25zZXNzPTIw
+NDgKaXNjc2lfbmNvbm5fcGVyX3Nlc3Npb249MQppc2NzaV9uaW5pdGlhdG9yX2luc3RhbmNlPTY0
+CltmdW5jdGlvbiI2Il0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9NApuaXFmbGludD0zNApu
+ZXRoY3RybD0zMgpuZXE9NjYKbmV4YWN0Zj0zMgpjbWFzaz1hbGwKcG1hc2s9YWxsCm5oYXNoPTIw
+NDgKdHBfbDJ0PTQKcHJvdG9jb2w9ZmNvZV9pbml0aWF0b3IKdHBfZGRwPTEKZmNvZV9uZmNmPTE2
+CmZjb2VfbnZucD0zMgpmY29lX25zc249MTAyNApbZnVuY3Rpb24iMTAyMyJdCnd4X2NhcHM9YWxs
+CnJfY2Fwcz1hbGwKbnZpPTQKY21hc2s9YWxsCnBtYXNrPWFsbApuZXhhY3RmPTgKbmZpbHRlcj0x
+NgpbZnVuY3Rpb24iMC8qIl0Kd3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50
+PTQKbmV0aGN0cmw9MgpuZXE9NApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4MQpbZnVuY3Rp
+b24iMS8qIl0Kd3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTQKbmV0aGN0
+cmw9MgpuZXE9NApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4MgpbZnVuY3Rpb24iMi8qIl0K
+d3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTQKbmV0aGN0cmw9MgpuZXE9
+NApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4NApbZnVuY3Rpb24iMy8qIl0Kd3hfY2Fwcz0w
+eDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTQKbmV0aGN0cmw9MgpuZXE9NApuZXhhY3Rm
+PTQKY21hc2s9YWxsCnBtYXNrPTB4OApbcG9ydCIwIl0KZGNiPXBwcCxkY2J4CmJnX21lbT0yNQps
+cGJrX21lbT0yNQpod209MzAKbHdtPTE1CmR3bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRo
+ZXJ0eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJd
+PTMyNjAsc29ja2V0bnVtLDUKW3BvcnQiMSJdCmRjYj1wcHAsZGNieApiZ19tZW09MjUKbHBia19t
+ZW09MjUKaHdtPTMwCmx3bT0xNQpkd209MzAKZGNiX2FwcF90bHZbMF09MHg4OTA2LGV0aGVydHlw
+ZSwzCmRjYl9hcHBfdGx2WzFdPTB4ODkxNCxldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsyXT0zMjYw
+LHNvY2tldG51bSw1Cltwb3J0IjIiXQpkY2I9cHBwLGRjYngKYmdfbWVtPTI1CmxwYmtfbWVtPTI1
+Cmh3bT0zMApsd209MTUKZHdtPTMwCmRjYl9hcHBfdGx2WzBdPTB4ODkwNixldGhlcnR5cGUsMwpk
+Y2JfYXBwX3RsdlsxXT0weDg5MTQsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMl09MzI2MCxzb2Nr
+ZXRudW0sNQpbcG9ydCIzIl0KZGNiPXBwcCxkY2J4CmJnX21lbT0yNQpscGJrX21lbT0yNQpod209
+MzAKbHdtPTE1CmR3bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2Fw
+cF90bHZbMV09MHg4OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0bnVt
+LDUKW2ZpbmldCnZlcnNpb249MHgxNDI1MDAxYwpjaGVja3N1bT0weDVjZWFiNDFlCgAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAABbZ2xvYmFsXQpyc3NfZ2xiX2NvbmZpZ19tb2RlPWJhc2ljdmlydHVhbApyc3NfZ2xi
+X2NvbmZpZ19vcHRpb25zPXRubG1hcGVuLGhhc2h0b2VwbGl0eix0bmxhbGxsa3AKcmVnWzB4MTAw
+OF09MHg0MDgxMC8weDIxYzcwCnJlZ1sweDEwMGNdPTB4MjIyMjIyMjIKcmVnWzB4MTBhMF09MHgw
+MTA0MDgxMApyZWdbMHgxMDQ0XT00MDk2CnJlZ1sweDEwNDhdPTY1NTM2CnJlZ1sweDEwNGNdPTE1
+MzYKcmVnWzB4MTA1MF09OTAyNApyZWdbMHgxMDU0XT05MjE2CnJlZ1sweDEwNThdPTIwNDgKcmVn
+WzB4MTA1Y109MTI4CnJlZ1sweDEwNjBdPTgxOTIKcmVnWzB4MTA2NF09MTYzODQKcmVnWzB4MTBh
+NF09MHhhMDAwYTAwMC8weGYwMDBmMDAwCnJlZ1sweDEwYThdPTB4MjAwMC8weDIwMDAKc2dlX3Rp
+bWVyX3ZhbHVlPTUsMTAsMjAsNTAsMTAwLDIwMApyZWdbMHg3ZDA0XT0weDAwMDEwMDAwLzB4MDAw
+MTAwMDAKcmVnWzB4N2Q2Y109MHgwMDAwMDAwMC8weDAwMDA3MDAwCnJlZ1sweDdkYzBdPTB4MGUy
+Zjg4NDkKZmlsdGVyTW9kZT1mcmFnbWVudGF0aW9uLG1wc2hpdHR5cGUscHJvdG9jb2wsdmxhbixw
+b3J0LGZjb2UKZmlsdGVyTWFzaz1wcm90b2NvbCxmY29lCnRwX3Btcng9MzAKdHBfcG1yeF9wYWdl
+c2l6ZT02NEsKdHBfbnJ4Y2g9MAp0cF9wbXR4PTUwCnRwX3BtdHhfcGFnZXNpemU9NjRLCnRwX250
+eGNoPTAKdHBfbXR1cz04OCwyNTYsNTEyLDU3Niw4MDgsMTAyNCwxMjgwLDE0ODgsMTUwMCwyMDAy
+LDIwNDgsNDA5Niw0MzUyLDgxOTIsOTAwMCw5NjAwCnJlZ1sweDE5MTY4XT0weDA0MDIwMTAwCltm
+dW5jdGlvbiIwIl0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9MjgKbmlxZmxpbnQ9MTcwCm5l
+dGhjdHJsPTk2Cm5lcT0yNTIKbmV4YWN0Zj00MApjbWFzaz1hbGwKcG1hc2s9YWxsCm5ldGhvZmxk
+PTEwMjQKbnJvdXRlPTMyCm5jbGlwPTMyCm5maWx0ZXI9NDgKbnNlcnZlcj0zMgpuaGFzaD0wCnBy
+b3RvY29sPW5pY192bSxvZmxkLHJkZHAscmRtYWMsaXNjc2lfaW5pdGlhdG9yX3BkdSxpc2NzaV90
+YXJnZXRfcGR1CnRwX2wydD0zMDcyCnRwX2RkcD0yCnRwX2RkcF9pc2NzaT0yCnRwX3N0YWc9Mgp0
+cF9wYmw9NQp0cF9ycT03CltmdW5jdGlvbiIxIl0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9
+NApuaXFmbGludD0zNApuZXRoY3RybD0zMgpuZXE9NjYKbmV4YWN0Zj0zMgpjbWFzaz1hbGwKcG1h
+c2s9YWxsCm5oYXNoPTAKcHJvdG9jb2w9ZmNvZV9pbml0aWF0b3IKdHBfZGRwPTIKZmNvZV9uZmNm
+PTE2CmZjb2VfbnZucD0zMgpmY29lX25zc249MTAyNApbZnVuY3Rpb24iMTAyMyJdCnd4X2NhcHM9
+YWxsCnJfY2Fwcz1hbGwKbnZpPTQKY21hc2s9YWxsCnBtYXNrPWFsbApuZXhhY3RmPTgKbmZpbHRl
+cj0xNgpbZnVuY3Rpb24iMC8qIl0Kd3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZs
+aW50PTQKbmV0aGN0cmw9MgpuZXE9NApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4MQpbZnVu
+Y3Rpb24iMS8qIl0Kd3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTQKbmV0
+aGN0cmw9MgpuZXE9NApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4MgpbcG9ydCIwIl0KZGNi
+PXBwcCxkY2J4CmJnX21lbT0yNQpscGJrX21lbT0yNQpod209MzAKbHdtPTE1CmR3bT0zMApkY2Jf
+YXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4OTE0LGV0aGVy
+dHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0bnVtLDUKW3BvcnQiMSJdCmRjYj1wcHAs
+ZGNieApiZ19tZW09MjUKbHBia19tZW09MjUKaHdtPTMwCmx3bT0xNQpkd209MzAKZGNiX2FwcF90
+bHZbMF09MHg4OTA2LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzFdPTB4ODkxNCxldGhlcnR5cGUs
+MwpkY2JfYXBwX3RsdlsyXT0zMjYwLHNvY2tldG51bSw1Cltwb3J0IjIiXQpkY2I9cHBwLGRjYngK
+YmdfbWVtPTI1CmxwYmtfbWVtPTI1Cmh3bT0zMApsd209MTUKZHdtPTMwCmRjYl9hcHBfdGx2WzBd
+PTB4ODkwNixldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsxXT0weDg5MTQsZXRoZXJ0eXBlLDMKZGNi
+X2FwcF90bHZbMl09MzI2MCxzb2NrZXRudW0sNQpbcG9ydCIzIl0KZGNiPXBwcCxkY2J4CmJnX21l
+bT0yNQpscGJrX21lbT0yNQpod209MzAKbHdtPTE1CmR3bT0zMApkY2JfYXBwX3RsdlswXT0weDg5
+MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBf
+dGx2WzJdPTMyNjAsc29ja2V0bnVtLDUKW2ZpbmldCnZlcnNpb249MHgxNDI1MDAxYwpjaGVja3N1
+bT0weGFkNGMxNzRmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAA
+====
diff --git a/sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt b/sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt
index cc8ad8b..6ddae24 100644
--- a/sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt
+++ b/sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt
@@ -1,6 +1,6 @@
# Chelsio T4 Factory Default configuration file.
#
-# Copyright (C) 2010-2014 Chelsio Communications. All rights reserved.
+# Copyright (C) 2010-2017 Chelsio Communications. All rights reserved.
#
# DO NOT MODIFY THIS FILE UNDER ANY CIRCUMSTANCES. MODIFICATION OF
# THIS FILE WILL RESULT IN A NON-FUNCTIONAL T4 ADAPTER AND MAY RESULT
@@ -550,8 +550,8 @@
dcb_app_tlv[2] = 3260, socketnum, 5
[fini]
- version = 0x1425001c
- checksum = 0x5ceab41e
+ version = 0x01000028
+ checksum = 0x5ceab421
# Total resources used by above allocations:
# Virtual Interfaces: 104
diff --git a/sys/dev/cxgbe/firmware/t4fw_interface.h b/sys/dev/cxgbe/firmware/t4fw_interface.h
index 7b6a87f..1b64e20 100644
--- a/sys/dev/cxgbe/firmware/t4fw_interface.h
+++ b/sys/dev/cxgbe/firmware/t4fw_interface.h
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2012-2016 Chelsio Communications, Inc.
+ * Copyright (c) 2012-2017 Chelsio Communications, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -100,6 +100,7 @@ enum fw_wr_opcodes {
FW_ETH_TX_PKT_WR = 0x08,
FW_ETH_TX_PKT2_WR = 0x44,
FW_ETH_TX_PKTS_WR = 0x09,
+ FW_ETH_TX_PKTS2_WR = 0x78,
FW_ETH_TX_EO_WR = 0x1c,
FW_EQ_FLUSH_WR = 0x1b,
FW_OFLD_CONNECTION_WR = 0x2f,
@@ -144,6 +145,7 @@ enum fw_wr_opcodes {
FW_COiSCSI_TGT_XMIT_WR = 0x72,
FW_ISNS_WR = 0x75,
FW_ISNS_XMIT_WR = 0x76,
+ FW_FILTER2_WR = 0x77,
FW_LASTC2E_WR = 0x80
};
@@ -301,6 +303,17 @@ enum fw_filter_wr_cookie {
FW_FILTER_WR_EINVAL,
};
+enum fw_filter_wr_nat_mode {
+ FW_FILTER_WR_NATMODE_NONE = 0,
+ FW_FILTER_WR_NATMODE_DIP ,
+ FW_FILTER_WR_NATMODE_DIPDP,
+ FW_FILTER_WR_NATMODE_DIPDPSIP,
+ FW_FILTER_WR_NATMODE_DIPDPSP,
+ FW_FILTER_WR_NATMODE_SIPSP,
+ FW_FILTER_WR_NATMODE_DIPSIPSP,
+ FW_FILTER_WR_NATMODE_FOURTUPLE,
+};
+
struct fw_filter_wr {
__be32 op_pkd;
__be32 len16_pkd;
@@ -333,6 +346,51 @@ struct fw_filter_wr {
__u8 sma[6];
};
+struct fw_filter2_wr {
+ __be32 op_pkd;
+ __be32 len16_pkd;
+ __be64 r3;
+ __be32 tid_to_iq;
+ __be32 del_filter_to_l2tix;
+ __be16 ethtype;
+ __be16 ethtypem;
+ __u8 frag_to_ovlan_vldm;
+ __u8 smac_sel;
+ __be16 rx_chan_rx_rpl_iq;
+ __be32 maci_to_matchtypem;
+ __u8 ptcl;
+ __u8 ptclm;
+ __u8 ttyp;
+ __u8 ttypm;
+ __be16 ivlan;
+ __be16 ivlanm;
+ __be16 ovlan;
+ __be16 ovlanm;
+ __u8 lip[16];
+ __u8 lipm[16];
+ __u8 fip[16];
+ __u8 fipm[16];
+ __be16 lp;
+ __be16 lpm;
+ __be16 fp;
+ __be16 fpm;
+ __be16 r7;
+ __u8 sma[6];
+ __u8 r8_hi[2];
+ __u8 filter_type_swapmac;
+ __u8 natmode_to_ulp_type;
+ __be16 newlport;
+ __be16 newfport;
+ __u8 newlip[16];
+ __u8 newfip[16];
+ __be32 natseqcheck;
+ __be32 dip_hit_vni;
+ __be64 r10;
+ __be64 r11;
+ __be64 r12;
+ __be64 r13;
+};
+
#define S_FW_FILTER_WR_TID 12
#define M_FW_FILTER_WR_TID 0xfffff
#define V_FW_FILTER_WR_TID(x) ((x) << S_FW_FILTER_WR_TID)
@@ -517,6 +575,52 @@ struct fw_filter_wr {
#define G_FW_FILTER_WR_RX_RPL_IQ(x) \
(((x) >> S_FW_FILTER_WR_RX_RPL_IQ) & M_FW_FILTER_WR_RX_RPL_IQ)
+#define S_FW_FILTER2_WR_FILTER_TYPE 1
+#define M_FW_FILTER2_WR_FILTER_TYPE 0x1
+#define V_FW_FILTER2_WR_FILTER_TYPE(x) ((x) << S_FW_FILTER2_WR_FILTER_TYPE)
+#define G_FW_FILTER2_WR_FILTER_TYPE(x) \
+ (((x) >> S_FW_FILTER2_WR_FILTER_TYPE) & M_FW_FILTER2_WR_FILTER_TYPE)
+#define F_FW_FILTER2_WR_FILTER_TYPE V_FW_FILTER2_WR_FILTER_TYPE(1U)
+
+#define S_FW_FILTER2_WR_SWAPMAC 0
+#define M_FW_FILTER2_WR_SWAPMAC 0x1
+#define V_FW_FILTER2_WR_SWAPMAC(x) ((x) << S_FW_FILTER2_WR_SWAPMAC)
+#define G_FW_FILTER2_WR_SWAPMAC(x) \
+ (((x) >> S_FW_FILTER2_WR_SWAPMAC) & M_FW_FILTER2_WR_SWAPMAC)
+#define F_FW_FILTER2_WR_SWAPMAC V_FW_FILTER2_WR_SWAPMAC(1U)
+
+#define S_FW_FILTER2_WR_NATMODE 5
+#define M_FW_FILTER2_WR_NATMODE 0x7
+#define V_FW_FILTER2_WR_NATMODE(x) ((x) << S_FW_FILTER2_WR_NATMODE)
+#define G_FW_FILTER2_WR_NATMODE(x) \
+ (((x) >> S_FW_FILTER2_WR_NATMODE) & M_FW_FILTER2_WR_NATMODE)
+
+#define S_FW_FILTER2_WR_NATFLAGCHECK 4
+#define M_FW_FILTER2_WR_NATFLAGCHECK 0x1
+#define V_FW_FILTER2_WR_NATFLAGCHECK(x) ((x) << S_FW_FILTER2_WR_NATFLAGCHECK)
+#define G_FW_FILTER2_WR_NATFLAGCHECK(x) \
+ (((x) >> S_FW_FILTER2_WR_NATFLAGCHECK) & M_FW_FILTER2_WR_NATFLAGCHECK)
+#define F_FW_FILTER2_WR_NATFLAGCHECK V_FW_FILTER2_WR_NATFLAGCHECK(1U)
+
+#define S_FW_FILTER2_WR_ULP_TYPE 0
+#define M_FW_FILTER2_WR_ULP_TYPE 0xf
+#define V_FW_FILTER2_WR_ULP_TYPE(x) ((x) << S_FW_FILTER2_WR_ULP_TYPE)
+#define G_FW_FILTER2_WR_ULP_TYPE(x) \
+ (((x) >> S_FW_FILTER2_WR_ULP_TYPE) & M_FW_FILTER2_WR_ULP_TYPE)
+
+#define S_FW_FILTER2_WR_DIP_HIT 24
+#define M_FW_FILTER2_WR_DIP_HIT 0x1
+#define V_FW_FILTER2_WR_DIP_HIT(x) ((x) << S_FW_FILTER2_WR_DIP_HIT)
+#define G_FW_FILTER2_WR_DIP_HIT(x) \
+ (((x) >> S_FW_FILTER2_WR_DIP_HIT) & M_FW_FILTER2_WR_DIP_HIT)
+#define F_FW_FILTER2_WR_DIP_HIT V_FW_FILTER2_WR_DIP_HIT(1U)
+
+#define S_FW_FILTER2_WR_VNI 0
+#define M_FW_FILTER2_WR_VNI 0xffffff
+#define V_FW_FILTER2_WR_VNI(x) ((x) << S_FW_FILTER2_WR_VNI)
+#define G_FW_FILTER2_WR_VNI(x) \
+ (((x) >> S_FW_FILTER2_WR_VNI) & M_FW_FILTER2_WR_VNI)
+
#define S_FW_FILTER_WR_MACI 23
#define M_FW_FILTER_WR_MACI 0x1ff
#define V_FW_FILTER_WR_MACI(x) ((x) << S_FW_FILTER_WR_MACI)
@@ -1447,6 +1551,12 @@ struct fw_ri_res_wr {
#endif
};
+#define S_FW_RI_RES_WR_VFN 8
+#define M_FW_RI_RES_WR_VFN 0xff
+#define V_FW_RI_RES_WR_VFN(x) ((x) << S_FW_RI_RES_WR_VFN)
+#define G_FW_RI_RES_WR_VFN(x) \
+ (((x) >> S_FW_RI_RES_WR_VFN) & M_FW_RI_RES_WR_VFN)
+
#define S_FW_RI_RES_WR_NRES 0
#define M_FW_RI_RES_WR_NRES 0xff
#define V_FW_RI_RES_WR_NRES(x) ((x) << S_FW_RI_RES_WR_NRES)
@@ -4689,6 +4799,10 @@ enum fw_params_param_dev {
FW_PARAMS_PARAM_DEV_SCFGREV = 0x1A,
FW_PARAMS_PARAM_DEV_VPDREV = 0x1B,
FW_PARAMS_PARAM_DEV_RI_FR_NSMR_TPTE_WR = 0x1C,
+ FW_PARAMS_PARAM_DEV_FILTER2_WR = 0x1D,
+
+ FW_PARAMS_PARAM_DEV_MPSBGMAP = 0x1E,
+ FW_PARAMS_PARAM_DEV_TPCHMAP = 0x1F,
};
/*
@@ -4776,6 +4890,7 @@ enum fw_params_param_pfvf {
FW_PARAMS_PARAM_PFVF_RAWF_START = 0x36,
FW_PARAMS_PARAM_PFVF_RAWF_END = 0x37,
FW_PARAMS_PARAM_PFVF_RSSKEYINFO = 0x38,
+ FW_PARAMS_PARAM_PFVF_NCRYPTO_LOOKASIDE = 0x39,
};
/*
@@ -4867,6 +4982,22 @@ enum fw_params_param_chnet_flags {
#define G_FW_PARAMS_PARAM_DMAQ_DCA_ST(x) \
(((x) >> S_FW_PARAMS_PARAM_DMAQ_DCA_ST) & M_FW_PARAMS_PARAM_DMAQ_DCA_ST)
+#define S_FW_PARAMS_PARAM_DMAQ_INTIDX_QTYPE 29
+#define M_FW_PARAMS_PARAM_DMAQ_INTIDX_QTYPE 0x7
+#define V_FW_PARAMS_PARAM_DMAQ_INTIDX_QTYPE(x) \
+ ((x) << S_FW_PARAMS_PARAM_DMAQ_INTIDX_QTYPE)
+#define G_FW_PARAMS_PARAM_DMAQ_INTIDX_QTYPE(x) \
+ (((x) >> S_FW_PARAMS_PARAM_DMAQ_INTIDX_QTYPE) & \
+ M_FW_PARAMS_PARAM_DMAQ_INTIDX_QTYPE)
+
+#define S_FW_PARAMS_PARAM_DMAQ_INTIDX_INTIDX 0
+#define M_FW_PARAMS_PARAM_DMAQ_INTIDX_INTIDX 0x3ff
+#define V_FW_PARAMS_PARAM_DMAQ_INTIDX_INTIDX(x) \
+ ((x) << S_FW_PARAMS_PARAM_DMAQ_INTIDX_INTIDX)
+#define G_FW_PARAMS_PARAM_DMAQ_INTIDX_INTIDX(x) \
+ (((x) >> S_FW_PARAMS_PARAM_DMAQ_INTIDX_INTIDX) & \
+ M_FW_PARAMS_PARAM_DMAQ_INTIDX_INTIDX)
+
struct fw_params_cmd {
__be32 op_to_vfn;
__be32 retval_len16;
@@ -4992,7 +5123,8 @@ struct fw_pfvf_cmd {
*/
enum fw_iq_type {
FW_IQ_TYPE_FL_INT_CAP,
- FW_IQ_TYPE_NO_FL_INT_CAP
+ FW_IQ_TYPE_NO_FL_INT_CAP,
+ FW_IQ_TYPE_VF_CQ
};
struct fw_iq_cmd {
@@ -7247,12 +7379,12 @@ enum fw_port_type {
FW_PORT_TYPE_QSA = 13, /* No, 1, Yes, No, No, No, 10G */
FW_PORT_TYPE_QSFP = 14, /* No, 4, Yes, No, No, No, 40G */
FW_PORT_TYPE_BP40_BA = 15, /* No, 4, No, No, Yes, Yes, 40G/10G/1G, BP ANGE */
- FW_PORT_TYPE_KR4_100G = 16, /* No, 4, 100G, Backplane */
- FW_PORT_TYPE_CR4_QSFP = 17, /* No, 4, 100G */
+ FW_PORT_TYPE_KR4_100G = 16, /* No, 4, 100G/40G/25G, Backplane */
+ FW_PORT_TYPE_CR4_QSFP = 17, /* No, 4, 100G/40G/25G */
FW_PORT_TYPE_CR_QSFP = 18, /* No, 1, 25G Spider cable */
FW_PORT_TYPE_CR2_QSFP = 19, /* No, 2, 50G */
- FW_PORT_TYPE_SFP28 = 20, /* No, 1, 25G */
- FW_PORT_TYPE_KR_SFP28 = 21, /* No, 1, 25G using Backplane */
+ FW_PORT_TYPE_SFP28 = 20, /* No, 1, 25G/10G/1G */
+ FW_PORT_TYPE_KR_SFP28 = 21, /* No, 1, 25G/10G/1G using Backplane */
FW_PORT_TYPE_NONE = M_FW_PORT_CMD_PTYPE
};
@@ -9314,17 +9446,17 @@ enum fw_hdr_chip {
enum {
T4FW_VERSION_MAJOR = 0x01,
T4FW_VERSION_MINOR = 0x10,
- T4FW_VERSION_MICRO = 0x1a,
+ T4FW_VERSION_MICRO = 0x2d,
T4FW_VERSION_BUILD = 0x00,
T5FW_VERSION_MAJOR = 0x01,
T5FW_VERSION_MINOR = 0x10,
- T5FW_VERSION_MICRO = 0x1a,
+ T5FW_VERSION_MICRO = 0x2d,
T5FW_VERSION_BUILD = 0x00,
T6FW_VERSION_MAJOR = 0x01,
T6FW_VERSION_MINOR = 0x10,
- T6FW_VERSION_MICRO = 0x1a,
+ T6FW_VERSION_MICRO = 0x2d,
T6FW_VERSION_BUILD = 0x00,
};
diff --git a/sys/dev/cxgbe/firmware/t5fw-1.16.26.0.bin.uu b/sys/dev/cxgbe/firmware/t5fw-1.16.26.0.bin.uu
deleted file mode 100644
index 240e55b..0000000
--- a/sys/dev/cxgbe/firmware/t5fw-1.16.26.0.bin.uu
+++ /dev/null
@@ -1,10681 +0,0 @@
-/*-
- * Copyright (c) 2016 Chelsio Communications, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-begin-base64 644 t5fw
-AAEEogEQGgAAAQQJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAABIMEkgSbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAENoZWxzaW8gRlcgUlVOTUVNIERFQlVHPTAgKEJ1aWx0IFdlZCBEZWMgMjEgMDg6
-NDI6MzggUFNUIDIwMTYgb24gdm5jNC5hc2ljZGVzaWduZXJzLmNvbTovaG9tZS9maXJtd2FyZS9j
-dnMvZnctcmVsZWFzZSksIFZlcnNpb24gVDV4eCAwMS4xMC4xYS4wMAAAAAAAAAAAAAAAAJfkkZ9g
-AMgAH/zhSOEAe/AAEAAA4QAwuHj///8f/OFAgAAAAeEAe3AAABAAH//89CAAAADhAZwE4QUAAAAC
-AEDhBQgAAAYAQAACAAwABgAM4QUABAAMAACAAAEC4QB7POEAe0ThAHvk4gAAAAABAADhAHuQIAAA
-AAAAgADhAHsAAABAAeEAe5wAAEAAREREQuAAAADjAARzREREQOMACAAgAAJcAAAAAB//lEAAAAAA
-H/+URAAAAAAf/5RIAAAAAB//lEwf/8AAAAAAAAAAAADAABH/zSIKh5IQghAS/8wT/8yTIBL/zBP/
-zIQgBDMBkyAR/8oS/8uSEBH/yhL/y5IQEf/KAfQxAOQxAAUxAQIAEv/IAucxAhYAEf/GgRABAV/A
-IQIRAckTEf/EEv/EkhAR/8QS/8SSEGAAEQAAEf++Ev/CkhAR/74S/8GSEIEQEf/AwCCSERL/v5IS
-wCCSExL/vpIQghAC8lBlL/cR/7zHL5IQEf+7khAS/7sT/7uTIMAykyET/7qTIoIiEv+5E/+5kyAj
-IiEU/7gEMwHJOBP/t4MwA4MUCDMRFP+1pDOTIRP/qZMiYAAIwjCTIRP/ppMiEv+wkCCQIZAikCOQ
-JJAlkCaQJ5AokCmQKpArkCyQLZAukC8gJhAgJhGCIhL/o8AwLTcwLTc0LTc4LTc8Iz0BcjPtAAIA
-Ev+gIwoALzcALzcQLzcgLzcwIz0BcjPtAAIAEv+VwDAoNzAoNzQoNzgoNzwjPQFyM+0S/5TAMCc3
-ACc3ECc3ICc3MCM9AXIz7RL/jxX/jxb/j8Aw1yAFZgFgABQAAAQ2BQACANMP0w8FMwxuOxQHRxQH
-BEN2MeYENgUFMwxvO+0AAgAS/4MV/4EjCgACJwIHBEMEPgUFMwwHRxRvO/ADAgAS/33JLoMghCGF
-IrwidDsOhlC0VZYwtDN0M/Rj/+YAZT/iZV/fEv9xwDIDLgUDAgAS/2jAMCg3QCg3RCg3SCg3TCM9
-AXIz7QACABL/ay0nAMARAUkxAEgxAQIAwAAU/2gE0jEV/2eUUBT/ZwTTMRX/ZpRQFP9mBNQxFf9m
-lFAU/2UE1TEV/2WUUBD/ZQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-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
-IAkzqCAJM6ggCTNiIAkzqCAJM2IgCTOoIAkzniAJM2IgCTNiIAkzYiAJM2IgCTNiIAkzqCAJM2Ig
-CTNiIAkzYiAJM2IgCTNiIAkzqCAJM6ggCTOoIAkzqCAJM6ggCTOoIAkzqCAJM6ggCTNiIAkzYiAJ
-M2IgCTNiIAkzYiAJM2IgCTNiIAkzYiAJM2IgCTNiIAkzYiAJM2IgCTNiIAkzYiAJM2IgCTNiIAlB
-5SAJQeUgCUHPIAlBwSAJQeggCUG7IAlBuyAJQbsgCUHoIAlBuyAJQbUgCUHoIAlBuyAJQbsgCUG7
-IAlBtSAJQeggCUHoIAlB6CAJQeggCUHoIAlB6CAJQeggCUHoIAlB6CAJQeggCUHoIAlB6CAJQegg
-CUHoIAlB6CAJQegAAgIFBQgICwsODhERFBQXFxoaHR0gICMjJiYpKSwsLy8yMjU1ODg7OwAAAAAA
-AAABAxERCAgQCQMBAAAAAAAAIATYyCABvQQgAFwQIAGa9CABuZQgAbU4IAGAKCAER7wf/8AwH//o
-/CAAxogf/9vcIACE3CAAd1gAAAAAAAAAACABnJAgAKNYAAAAAAAAAAAf/9WUH//HaB//xPwf/8MQ
-IABzXCAAaOggAGdoIAC8FB//48QgBzW4AAAAAAAAAAAgAGt4AAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAACABw8wgAa2IIADPVCAAznwf/++AH//QaB//zRAgAKEoIAVuCCABPRggAR8sIAEHACAA
-+9ggAO3YIADkCCAA0XAgBNsoIAMqnCABMuAgA1cIIAHsfCAAhJgAAAAAIADPuCAF4gggAMPAIAGk
-DCAAEhwgALdsIAANWCADo4Qf//KwIADPcCADLTQAAAAAAAAAACADxBQgAE3oIAAu8CAATOAAAAAA
-IABXyCAAVeQgAFOYAAAAACAAW9AgATaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAIABZaCAE2GAgAE3oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAWxAgA9qMIABaIAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAACAE2MAAAAAAAAAABAAAAAQAAAAICwAAACADFXQIAAAAIAMVgAgAAAAgAxWM
-CgAAACADFZgMAAAAIAMVpBIAAAAgAxW0DQAAACADFcgOAAAAIAMV2BMAAAAgAxXoCgAAACADFfwO
-AAAAIAMWCBgAAAAgAxYYDQAAACADFjQOAAAAIAMWRBAAAAAgAxZUEgAAACADFmgOAAAAIAMWfBAA
-AAAgAxaMEQAAACADFqAKAAAAIAMWtAsAAAAgAxbADQAAACADFswUAAAAIAMW3AoAAAAgAxb0DwAA
-ACADFwAGAAAAIAMXEAYAAAAgAxcYBgAAACADFyAGAAAAIAMXKAYAAAAgAxcwCQAAACADFzgGAAAA
-IAMXRAQAAAAgAxdMBgAAACADF1QLAAAAIAMXXAsAAAAgAxdoBAAAACADF0wEAAAAIAMXdAkAAAAg
-Axd8CQAAACADF4gAAAAAAAAAAA0AAAAgAxeUCgAAACADF6QGAAAAIAMXsAIAAAAgAxe4AwAAACAD
-EJwBAAAAIAMXvAAAAAAAAAAA12qkeOjHt1YkIHDbwb3O7vV8D69Hh8YqqDBGE/1GlQFpgJjYi0T3
-r///W7GJXNe+a5ARIv2YcZOmeUOOSbQIIfYeJWLAQLNAJl5aUem2x6rWLxBdAkQUU9ih5oHn0/vI
-IeHN5sM3B9b01Q2HRVoU7anj6QX876P4Z28C2Y0qTIr/+jlCh3H2gW2dYSL95TgMpL7qREvez6n2
-u0tgvr+8cCibfsbqoSf61O8whQSIHQXZ1NA55tuZ5R+ifPjErFZl9CkiREMq/5erlCOn/JOgOWVb
-WcOPDMyS/+/0fYWEXdFvqH5P/izm4KMBQxROCBGh91N+gr068jUq19K764bTkQcMERYHDBEWBwwR
-FgcMERYFCQ4UBQkOFAUJDhQFCQ4UBAsQFwQLEBcECxAXBAsQFwYKDxUGCg8VBgoPFQYKDxUf/8AA
-AAQAICAHcyAgB3fQH/ziAB//rlQf/7KwH/+t5IGAAACBAAAABAAACA////8f/7HAA4AAAB//sbAA
-//gAAQAAAAAQAACBBAEAgQQAAAEEAAABBAEAAAf//4AAAAAqAAAAH/+FcAYAAAAf/8/wIARbwAIA
-AACAEAAAgAAABUFAAABBQAEAgwAAAR//mhwgAw58DAAAAP//v/+/////H/+UkP//AAD//wD/8AAA
-AP9///8f/OLkAEAAAB//qhQAAQAAAAD//x//lUD//9Bk///TIB//Z/wf/ODoIAdw/P//wSAf/2ew
-H/9oVB/83gAf/68MH/+gRAAACLjg//4A4QGSAB//mrAA////H/+vLB//nqQEQQAIBAEACMAAAADA
-BAAApQAAADAAAAAf/50o4QP+AOEEbgAAAIWEAACFgCALevAgC3uwIAt7MCALe3Af/6+wAAD/gCAH
-c3AgB3DgIAt78OEALgAf/6+kH/+qpB//sGAf/6vQAAAXQB//r1DgAACg4QAwuAAAgADhAGAQAABA
-AOEDCADhA0gA4QOIAOEDyADhABAIH/zhQOEAe3Af/7TgH/+02B/84Agf/7TcH/+0+B//tPAf/7T0
-H/+1EB//tQgf/7UMH/ziAB//reQf/6ugH/+epCAB1Ewf/7B8AAD/gAAAHeAf/5SQH/+xwIGAAAAE
-AAAIgoAAAIEAAAAgAw5wDAAAAB//mqwf/5qcH/+gPP//v/+/////BAEACMMAAAAf/7KwH/+uVB//
-sfwf/6tYIAsAYB//sIgf/7CEH/+w6B//sbAgCwXgAA9CQCADDFggC4jgIAMMOCAAIhggCwVQIAAX
-cCALBhAgCwUgIAsFgCALBbAgA5WQIAMMaBAAAAACgAAA7gAAACALiRAAAAsAAABgAABgAABgAAAA
-AACG3SALBkAgAClMKgAAACAARdggCwawIAOfuCALBuAgCwcgIAsHUCAAHCQgAwx4IAsH0ANgAAAg
-C4kwIAsIUCALCvAFAAAAg/8AAAAQAAAgAC80IAMNyB//icAf/4VwH/+HdGdFIwHvzauJmLrc/hAy
-VHYf/4AAAAA/KCADEJzP////IAsL4D////8CAAAAQAAAAP//f/8gCw0AIABIUCALDTAgCw2gCAAA
-AAD///8gCw4Q9////yALEID//v//IAsdsIAAAAAAAEAAIAMOdAAA//8AAIAAIAsegCALHwAgCx9A
-IAsfkCALHtD/+///D/aAACALI/AgCyQgAAEAAAAEAAAgC5CwH/+ukCAAV8ggAFkkIABV5CALJLAg
-AFOYIAslQCALJZAgCyYg4AAAACALJqAgCyZgUwAAACALJsBSAAAAIAsnAFEAAAAgAfWcH/+rxCAL
-KZAgCynwIAspwCALLHAf/68sIAsswB//nqwf/67QIAsugBQAAACAAAACeAAAAIAAAAaAAAAFAAAK
-AIAAsAAA4zCS///wAIAAsQDhAZoAAAIAACALLkAf/5wkAAB+QB//rwQA/8AAH/+vEAEAAAAoAAAA
-JgAAACALLvAFgAAABgAAAB//qxwrAAAAIABuTB/83gAf/6y4A4AAAAf///81AAAAA0AAAAA///+A
-QAAACA///x////8gAAAAAADAAB//rug9AAAAH/+thAcAAACBBAEAgQQAAB//rTQAADqYAAAP/wBD
-AAAAAAgABAAAAB//rOwgC5PAH/+y0B//tFQf/5oc4QB6ACBgAAAf/61MH/+etB//nqggC5PwAAMH
-gCALlGAf/5yIACAAAABAAAAAAAkAAAAwAP/8+H/AAAAAo/+7AKP/ugANAAAA4AMAAIP/tgAP////
-D//4AP8AAAAP//4BIAuUoCALMFAgCzCAIAuVMAAPAAAACgAA//8ADx//nrwf/67wA//AAIP/wAAg
-C5WwIAuWIB//r9Af/7NAH/+zIP9g8AAf/4BQH/+UUASAAAgARAAA/x///wDAAAABgMIAAACBAP+/
-/////wAAAIAAAAAACbwf/OIMDwAAACALMMAf/69wAAAIvB//sHQf/6CYH/+amB//gGAgB3FAAAAn
-EB//2xAgC5zAIAuckB//r9Qf/5qQH/+enN6tvu8gAwkANAAAAD8AAAAf/7CQH/+yGACZAAAAAIkG
-EAAHAgHAgACZAAAAH/+xAACIAAiCgAABH/+yaB//sJgADwP/AxEAAAMVAAAgCzVQH/+u1CALnRAg
-CzWwIAs2ACALNpAgCzWAIAD2sCALNmAgCzgwIAs4YCALOLAgCzkQIAD8ICkAAAAAAIkUIAECUCAL
-nYAgC53gIAEL4B//sCDw8PDw/wD/AKqqqqrMzMzMH/+zYAAAHtAf/7FoAAP//wAAJ/8gARP8IAue
-UCADXigf/6+oAAkAAAAAIAAAAEgAggAAACABNpggC57AH/+vVCAAK+wgC6OAIAujsCALP9AgCz+g
-IAs/4CALQEAgC0DAIAtAECALQGAgC0CQIAtCYCALQrAgC6HAIAuh4CALQuAgC0MwIAuigCALoqAg
-C0KQIAui0CALohAgC6JAIAtDYCALpVAgC6XgIAukgCALpJAgC6QQIAuk8CALpFAgC6QgIAuk0CAL
-pWAgC6UgIAuloDsAAAgOAAAA0AAAAB//gKAAAB+KH/zi5AAACFAAAB9AIAtF4CALRgAgC0YgAAkA
-CB//smQwAAAA///3/yALSHAgA2PkAACD/yAHdpggB3eQFaAAAB//sigf/678AAAIBgAAD/4AAIjM
-fwAAAPAAAAAgC6pgIAupwCALqiAgC6jgIAupcAAA4AAgC6YQIAumwCALqUAf/5w8AAQD/woAAAAg
-B3NwMwAAAOEAAAAf/7MkA//gAH///wAAAP/+AD/2kB//sjAAAB+YA//wACALhEAgC4QAIAuEYB//
-tDAgC0jgH/+sCBoAAAAgC0kwIAGS9B//siwAD///H/+wUB//rwwgC6rAH/+uwB//q3Af/61kIAdw
-3B//qZAgC0xAwAQAAB//rVgf/61wH/+zEB//snggC6vQIAtMgB//rJDgAQAAH/+gQCALrSAgC0zA
-IADAkB//oDggAL2AIAusoCALrPAf/5xcIAtPQB//oEQgC1yA4P/+ACALhuAf/68IH/+WjCALaMAg
-C2lQH/+vAB//stQgC2wAIAtsMEgAAAAgAc0AH/+syCABzwAf/6qkH/+bDB//rZQf/6rMAAAX8AAA
-FjwgB3NcH/+rNOEAXgAf/6xsAE01oAAASLkf/5qw4QAuAB//raDhAwYA4QAOAOAFAAAD/wAAH/+q
-1CADDnwf/L//PAAAAAAH//+DAAAAH/+qrCAB8UggC4KAH/+v5OAGAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACB
-gAAAAAAAAP////////////////////8f//wUH//8FB//+9gf//vYH//72B//+9gf//QgH//4kB//
-9rgf//a4H//2uCAHN6AAAAAAAAAAAAAAAAAAAAAAIAc6ECAHOhAAAAAAAAAAAAAAAAAAAAAAIAc3
-oCAHN6Af//mMH//5jB//+Ywf//mMH//5jB//+YwAAAAAIAHVbAAAAAAAAAAAAAAAAAAAAAACAQAA
-AAAAAAAAAAAAAAAABAAAAAAAAACBgAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAEfKfE/Kf0w8D5jEBAgAW8p0X8p53awaQYLRmd2P4VA8L
-VeugDxQAY//5AAAAbBAIiiIoIAeJMPsK/yggAUAw9aFiaQABTDAqIBaZE/gWBCAyBFqw9LUaAgAA
-ULBYPXeIFPSiaGD/EFgwGvKJGfKJLKJK+ZJ/IVcANyAmokkJZgH5bAABUQA1oB3ygy3QgAyHEf/y
-ghYAIFXw/HI6IG4Ca3ANTRSk3f+PCgAGAmtw//KXKgCF7xAucjn/5gEOAIB/kCggFpkS+grtIC4E
-WjApMBD7MQsmAM5WULy7AioCWD12KCAULCAEpIj4CUcCAIADIPkkFCwAmBJgHvJpKCEHjRMZ8mn8
-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
-JW6QK4I5HmOx/LoBDgAeZtDwDgcCAABCsG3ZAgBIYRhjl5iggiCdUB9jl/OmAyOABDig/6YCIgkA
-E3DypgEgIAISsNEPwCDRD9og/AoAIDACWTBb/1fAINEPAABsEAQqIAcbY5AKKkAKqhD9Y/oaCQBa
-sJowhiD1Y5UQBBA4MPljgRAwEEAw+DYDJ4AEOaD5NgImCQA5sJYx8AUHACACMPAARmEARmEARmEu
-IAcsIQgODkHw7hEAABB4MPtlXhwJAHMw+zYGLAkAazD8NgQgQAIQ8AIEhgBCYwAEhgBCYf80ICCA
-AhDw0Q8AAAAAAAAAbBAEwFEDJCwDIi4CUjmkItEPAAD//wED/wL///8AAAAAAAAAAAQECAAAAAAB
-EBgBAAEAACADVzIgA1eVIANXHyADV5UgA1cfIANXlSADVzYgA1c2IANXfSADV2UgA1dNAAAAACAD
-YGIgA2BiIANebiADYGIgA15uIANgPyADYBcgA15uIANfSSADXm4gA15uIANfQCADXm4gA2BiIANe
-biADXm4gA2BiIANeewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACADpYYgA6VeIAOldSADpXUgA6V1
-IAOldSADpXUgA6V1IAOnvCADp3ogA6V1IAOldSADpXUgA6V1IAOldSADpXUgA6bmIAOmcyADpdkg
-A6XCIAOlsyADpaMDAQACAAAAACAEzdAgBM9+IATQqiAEzdAgBNCiIATQjSAEzdAgBM3QIATN0CAE
-zdAgBM3QIATN0CAEzdAgBM3QIATN0CAEzdAgBNCAIATQcyAEzdAgBM3QIATN0CAEzdAgBM3QIATN
-0CAEzdAgBM3QIATN0CAEzdAgBM3QIATN0CAEzdAgBM3QIATPaSAEzdAgBM9jIATPYyAEzdAgBM9j
-IATPYyAE0FYgBM9jAAAAAAAAAAAAAAAAIATwYCAE8GAgBO/CIATwYCAE7MUgBPBYIATwOCAE7MUg
-BOzFIATsxSAE7MUgBOzFIATvpiAE8GAgBOzFIATvpiAE8GAAAAAAAAAAAAAAAAAgBP/gIAT+XCAF
-AjsgBQH7IAUBwyAFAYggBQFoIAT+sCAFAUcgBQELIAUAsyAFAGMgBQAbIAT/+AEQGAEAAgAAARAY
-AQACAAAAAAAAAAAAACAFw78gBb9BIAXDkyAFw2cgBcM6IAXDJSAFv2MgBb96IAXDDCAFv68gBb+b
-IAW/YyAFv68gBb9jIAW/YyAFv2MgBcO/AAAAAAAAAAAAAAAAAAAAACAGEdAgBgroIAYKkCAGB7wg
-BgOgAAAAAAAAAAAgBgrQIAYKyiAGCsogBgrKIAYK0CAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAG
-CsogBgrQIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYK
-yiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrK
-IAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsog
-BgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrQIAYKyiAGCsogBgrKIAYK0CAGCsogBgrKIAYKyiAG
-CtAgBgrKIAYKyiAGCsogBgrQIAYKyiAGCsogBgrKIAYK0CAGCsogBgrKIAYKyiAGCtAgBgrKIAYK
-yiAGCsogBgrQIAYKyiAGCsogBgrKIAYK0CAGCsogBgrKIAYKyiAGCtAgBgrKIAYKyiAGCsogBgrQ
-IAYKyiAGCsogBgrKIAYK0CAGCsogBgrKIAYKyiAGCtAgBgrKIAYKyiAGCsogBgrQIAYKyiAGCsog
-BgrKIAYK0CAGCsogBgrKIAYKyiAGCtAgBgrKIAYKyiAGCsogBgrQIAYKyiAGCsogBgrKIAYKyiAG
-CsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYK
-yiAGCtAgBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCtAgBgrK
-IAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsog
-BgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCtAgBgrKIAYKyiAGCsogBgrQIAYKyiAG
-CsogBgrKIAYK0CAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYK
-yiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrK
-IAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsog
-BgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAG
-CsogBgrQIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYK
-yiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrK
-IAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsogBgrKIAYKyiAGCsog
-BgrKIAYKyiAGCtAAAAAAAAAAAAAAAAAgBgskIAYPYSAGD0YgBg8yIAYPFyAGDwMgBg7iIAYOziAG
-Dq0gBg6aIAYOgSAGDm4gBg5VIAYOQiAGDikgBgseIAYODyAGDfwgBg3jIAYNzyAGDbQgBg1zIAYN
-MyAGDXMgBg0zIAYNHyAGDQQgBgseIAYLHiAGCx4gBgseIAYM8SAGCz0gBgseIAYLHiAGCx4gBgzU
-IAYMuyAGDKsgBgyUIAYLHiAGDIEgBgxnIAYMVCAGDDogBgwnIAYMDyAGC/wgBgvpIAYLjyAGCx4g
-BgseIAYLHiAGCx4gBgseIAYLHiAGC1oAAAAAAAAAAAAAAAAgBhIcIAYSJiAGE7ogBhORIAYTiiAG
-E4MgBhN8IAYTdSAGE24gBhNnIAYTYCAGE1YgBhNMIAYTNiAGEwwgBhLlIAYS3CAGEsEgBhK3IAYS
-qSAGEpkgBhKSIAYSfCAGEnUgBhIOIAYSTiAGEkQgBhI6IAYSMwAAAAAAAAAAAAAAACAGrjggBquU
-IAaqKCAGp9ggBqWAIAaiICAGoxggBqPIIAahlCAGpkQAAAAAAAAAACUoAw8IEqWog46TkgAAAABS
-VgAAEAAAAGNvbmZpZ3VyYXRpb24gZmlsZSBwYXJzZXIgZm91bmQgYWRkaXRpb25hbCBjb25maWd1
-cmF0aW9uIGFmdGVyIFtmaW5pXQoAADAAAABmY29lAAAAAHZuaWNfaWQAdmxhbgAAAAB0b3MAZXRo
-ZXJ0eXBlAAAAbWFjbWF0Y2gAAAAAbXBzaGl0dHlwZQAAZnJhZ21lbnRhdGlvbgAAAHNydnJzcmFt
-AAAAAGZjb2VtYXNrAAAAAGNvbXBhY3QAYmFzaWN2aXJ0dWFsAAAAAGdsYl9rZXkAZ2xidmZfa2V5
-AAAAcGZ2Zl9rZXkAAAAAaWR4dmZfa2V5AAAAc3lubWFwZW4AAAAAc3luNHR1cGVuaXB2NgAAAHN5
-bjJ0dXBlbmlwdjYAAABzeW40dHVwZW5pcHY0AAAAc3luMnR1cGVuaXB2NAAAAG9mZG1hcGVuAAAA
-AHRubG1hcGVuAAAAAHRubGFsbGxrcAAAAGhhc2h0b2VwbGl0egAAAABsYW4Ad2FuAGNsdXN0ZXIA
-bWFudWFsAAB0cF9waW8AAHRwX3RtX3BpbwAAAG5pY192bQAAbmljX3VtAABuaWNfdW1faXNnbABu
-aWNfaGFzaGZpbHRlcgAAb2ZsZAAAAAByZGRwAAAAAHJkbWFjAAAAaXNjc2lfaW5pdGlhdG9yX3Bk
-dQBpc2NzaV90YXJnZXRfcGR1AAAAAGlzY3NpX2luaXRpYXRvcl9mb2ZsZAAAAGlzY3NpX3Rhcmdl
-dF9mb2ZsZAAAZmNvZV9pbml0aWF0b3IAAGZjb2VfdGFyZ2V0AHBvZmNvZV9pbml0aWF0b3IAAAAA
-cG9mY29lX3RhcmdldAAAAGlzY3NpX3QxMGRpZgAAAABpc2NzaV9pbml0aWF0b3JfY21kb2ZsZABp
-c2NzaV90YXJnZXRfY21kb2ZsZAAAAAB0bHNrZXlzAGNyeXB0b19sb29rYXNpZGUAAAAAcHBwAGRj
-YngAAAAAYjJiAHNvY2tldG51bQAAAGNlZQBpZWVlAAAAAGF1dG8AAAAAYW5fZGlzAABwZGxpdGVf
-ZGlzAAAgAxfAAAQAAAAABAAABAAAAAAAAP8CAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAP8CAAAAAAAAAAAAAAABAAL/AgAAAAAAAAAAAAAAAAAC/wIAAAAAAAAA
-AAAAAAAAFgAAAAAAAAAAAAAAACAGoVgAAAAAIAagqCAGnjggBp0QIAZ8SCAGGkAgBgL4IAYB2AAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAACAEaOwgBHVgIAR1YCAEdWAgBIU4IASfKCAEq+wgBLVEIARl
-7CAEY1ggBFnEIATMwCAEV3AgBFRgIAYBrCAGAHwgBfnIIAR1YCAF+PAgBfcsIAX2YCAHPSggA+MM
-IAQ9zCAGuQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACADVaggAz7wIANPnCADTRQg
-A0ucAAAAACADSTggA1TkAAAAACAES6QAAAAAAAAAAAAAAAAgA6UcAAAAAAAD//8AAAP/AAAAPwAA
-AA8gBveIIAb2wCAHTiwgBvawIAb27CAG9gQgBvdwIAb11CAHThggBvac/xgwYGAAAAAAAQIDAAAA
-AAAAAAAAAAAAIAau5CAEZ0ggAIRgAAAAAAAAAIEAAAAAAAAAAAAAAAAgBEDsIARCeCAEQhQgBEKM
-IARBCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgBEGcAAAAAAAAAAAAAAAAMDEyMzQ1Njc4
-OWFiY2RlZkFCQ0RFRgAAAAAAAAAAAABBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdo
-aWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAAAAAAAAAAAAAAAAAAAAACAARxwAAQAAIABG
-/AAFAAEgAEbgAAMABSAARsAABwAAY4JTYwAAAAD///////8AAAAEBAgABAQIAAQECAAEBAgAB0MA
-AAAAAAAAAAAAAAAAACEACQCBAEEAIQAJACEACQCBAEEAgQBBAIEAQQCBAEEAIQAJAIEAQQAhAAkA
-IQARAIEAQQCBAEEAIQAJAIEAQQAhAAkAIQAJAQEAQQCBACEAgQAhABAQYQEBAIEBAQCBAwIBAAQA
-AAAQIEAAAAAAAAQAAgABAACAAEAAIAAQAAggQIAAAAAAAAAAAAAAAAAAIAMJUAAAAAAgAxDIAAAA
-ACADCVQAAAABIAMRcAAAAAIgAwlcAAAABCADCWQAAAAIIAMJbAAAABAgAxF4AAAAICADCXAAAABA
-IAMJfAAAAIAgAwmIAAABACADCZQAAAIAIAMJpAAAIAAgAwmwAABAACADCbwAAIAAAAAAAAAAAAAA
-ACocAAAqPAAAKlwAACp8CAcEAwoJAgAAAAAAAAAAAAARABAADgAPABQAFAAKAAcAHwAAAAAAAAAA
-AAAAAAAAAAACBAAAAEQAAAAEAAAAQCAGsoAgBrI4IAaxDCAGr7QgBq9wIAavRCAGr5wAAAAAAAAC
-AAAABAAAAAgAWWVzADAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5egAAAABub25l
-AAAAAGFsbAAqAAAAZGlzYWJsZWQAAAAAZW5hYmxlZAAweAAATkEAAFYwAABWMQAAVjIAAFYzAABW
-NAAAVjUAAFY2AABWNwAAVjgAAFY5AABWQQAAVkIAAFZDAABWRAAAVkUAAFZGAABWRwAAVkgAAFZJ
-AABWSgAAVksAAFZMAABWTQAAVk4AAFZPAABWUAAAVlEAAFZSAABWUwAAVlQAAFZVAABwb3J0AAAA
-AHByb3RvY29sAAAAAGdsb2JhbAAAZnVuY3Rpb24AAAAAZmluaQAAAAByZWcAZmlsdGVyTW9kZQAA
-ZmlsdGVyTWFzawAAcnNzX2dsYl9jb25maWdfbW9kZQByc3Nfa2V5bW9kZQByc3NfZ2xiX2NvbmZp
-Z19vcHRpb25zAABzZ2VfdGltZXJfdmFsdWUAdHBfcG1yeAB0cF9wbXJ4X3BhZ2VzaXplAAAAAHRw
-X3BtcnhfZmxhZ3MAAAB0cF9ucnhjaAAAAAB0cF9wbXR4AHRwX3BtdHhfcGFnZXNpemUAAAAAdHBf
-bnR4Y2gAAAAAdHBfbXR1cwB0cF90Y3B0dW5pbmcAAAAAdHBfdGltZXJyZXMAdHBfdGltZXJ2YWxz
-AAAAAHRwX2JhY2tvZmZ2YWxzAABzY2hlZF9pb3F0eF9icF9wcmlvcml0eQBwY2llX21hX3JzcF90
-aW1lcnZhbHVlAABwbF90aW1lb3V0X3ZhbHVlAAAAAG1lbWZyZWVfY29uZmlnAABiYXIydGhyb3R0
-bGVjb3VudAAAAGNwbHR4ZGF0YV9tZW1hbGlnbgAAbWNfbW9kZV9icmMAbWNfcGQAAABvZmxkX2Zs
-YWdzAABtYwAAbnZmAHd4X2NhcHMAcl9jYXBzAABuaXFmbGludAAAAABuZXEAbnFwY3EAAABuZXRo
-Y3RybAAAAABudmkAcnNzbnZpAAByc3Nuc2VjcmV0AABuZXhhY3RmAG5yYXdmAAAAY21hc2sAAABw
-bWFzawAAAG5ldGhvZmxkAAAAAG5yb3V0ZQAAbmNsaXAAAABuZmlsdGVyAG5zZXJ2ZXIAbmhhc2gA
-AAB0cF9sMnQAAHRwX2RkcAAAdHBfZGRwX2lzY3NpAAAAAHRwX3N0YWcAdHBfcGJsAAB0cF9ycQAA
-AGlzY3NpX250YXNrAGlzY3NpX25zZXNzAGlzY3NpX25jb25uX3Blcl9zZXNzaW9uAGlzY3NpX25p
-bml0aWF0b3JfaW5zdGFuY2UAAABpc2NzaV9tYXhfc2dlAAAAcHBtX21heF96b25lcwAAAHBwbV96
-b25lX3JhbmdlMABwcG1fem9uZV9yYW5nZTEAcHBtX3pvbmVfcmFuZ2UyAHBwbV96b25lX3Jhbmdl
-MwBmY29lX25mY2YAAABmY29lX252bnAAAABmY29lX25zc24AAABmY29lX25mY2IAAABkY2IAZGNi
-X2FwcF90bHYAZGNiX2RjYnhfcHJvdG9jb2wAAABiZ19tZW0AAGxwYmtfbWVtAAAAAGh3bQBsd20A
-ZHdtAGRlYm91bmNldGltZQAAAABhbl9hZWNfdGltZQB2ZXJzaW9uAGNoZWNrc3VtAAAAAFNlc3Np
-b25UeXBlAE9GTWFya2VyAAAAAElGTWFya2VyAAAAAERhdGFEaWdlc3QAAEhlYWRlckRpZ2VzdAAA
-AABFcnJvclJlY292ZXJ5TGV2ZWwAAEltbWVkaWF0ZURhdGEAAABEYXRhUERVSW5PcmRlcgAARGF0
-YVNlcXVlbmNlSW5PcmRlcgBJbml0aWFsUjJUAABNYXhDb25uZWN0aW9ucwAATWF4UmVjdkRhdGFT
-ZWdtZW50TGVuZ3RoAAAAAEluaXRpYXRvck5hbWUAAABJbml0aWF0b3JBbGlhcwAARGVmYXVsdFRp
-bWUyV2FpdAAAAABEZWZhdWx0VGltZTJSZXRhaW4AAE1heEJ1cnN0TGVuZ3RoAABGaXJzdEJ1cnN0
-TGVuZ3RoAAAAAE1heE91dHN0YW5kaW5nUjJUAAAAVGFyZ2V0TmFtZQAAVGFyZ2V0QWxpYXMAVGFy
-Z2V0QWRkcmVzcwAAAFRhcmdldFBvcnRhbEdyb3VwVGFnAAAAAEF1dGhNZXRob2QAAFNlbmRUYXJn
-ZXRzPUFsbABDSEFQX0EAAENIQVBfSQAAQ0hBUF9DAABDSEFQX04AAENIQVBfUgAARGlzY292ZXJ5
-AAAATm9ybWFsAABOb25lAAAAAENSQzMyQwAAQ1JDMzJDLE5vbmUATm9uZSxDUkMzMkMAQ0hBUAAA
-AABDSEFQLE5vbmUAAABOb25lLENIQVAAAABOb3RVbmRlcnN0b29kAAAASXJyZWxldmFudAAAUmVq
-ZWN0AABObwAANQAAAENITmV0IDEuMDAAAAAAAAwAAAAAAQABfAAMAQAAAAAQAAAAFCAHZ8AAAAMF
-DkAAAAAAABAAAAAoIAdqyAAAAxgOUAAAH/wAAB/8AAAf/7UgH/+1ICAHcyAgB3fQIAlO4CAJTuAg
-CgAAIAqAACAKgAAgCuaAAAAAACADAAAf/68sIAsAACALADAf/5SQH/+yNAAP//8f/OIAH/+t5B//
-sbAaAAAAgQAAAAQAAAggCwCAIAuEoB//r6gf/7IYH/+vEB//scAwAAAQIAuE4CALhUAf/7OUH/+u
-kB//ljwgB3eQF5AAACAHdZQgAwkAFLAAACADCxAAAGAAgAAABCAHd5oAAB+KAACD/xWgAAAgAwAY
-FqAAAAhQAQAgoAAAP/AAACOgAAAD/wAfAMAABB//s5gAAP//IAc4WCoAAAAgA0TYIAuFcCALhbAg
-Bzgc3q2+/xrAAAAgB3aYIAMLDAAA/+ogB3egAAAIFAAAiAAAAIAAH/+u/CAHc3Af/6+AAAAnEAAe
-hIAAAEAAIANeKB//sHQAEAAAH/+tcB//sHggAwAgIAuGcCALhkABAAAAKAAAAOEAAAA4AAAA/z//
-/zAAAHQf/4VwIAMAUCALANAwAAAIMAAADDQAAAjQAAAADgAAAAAAiRQ7AAAIIAd1qCADC3Q0kAAA
-IAd1cAVdSoAgA2PkABgAAP8H//8AOAAAADAAACALhpDhAC4AAABhqOEBjgAAAEAPAAGRDIAAAAAg
-C4dAIAuHcAAACAAgC4fA///z/yALh/AAAKgsAACoLwAAqCsAAKgqAACo7AAAgQAAAKg1AACoNyAL
-A7DhAF4AIAsD8AAAQA4AAEAaIAsEIAAAEAAAAP/pAAD/4AAAUAAAAP/4AACoO///ySQAAEANAAD/
-wAAA//cAAA//AAAPQgAA//UgCwSAAACABwAAgAQgC4gQIAuIMAAAuO4AADQAAAC07gAAtP8AALQA
-AAC4AB//r0QgCwSwIAMMOCALiFAgC4iQAACD/SADoWAAAUFKAAEBbgDAAAEgC4igIAsE8CADDEgg
-CwZgIAsGkCjAAABAAAACIAMLRCigAACAAAACIAsHgGsAAAAgAwrAIAsHsBAAAAADYAAA7gAAACAL
-iTAgA5tAIAuJUCADovAgC4mgIAsIAEAAAAAgAwyIIAsIgAPgAAAf/67AIAMAoB//srDhAwYA/9//
-/9////8AAQAKAuYC6SAAAADhAv4AIAMAsOEABgAAAgAA//3//wCYloAAD0JArWU0XTuayf87msoA
-AARMAB//ryAAAK8A4QEOAAAAiPcAIAAAAT8BQP/4XuAAB6EgACxjSB//rXQgC4nQIAuKMAgAAAAf
-/OLkIAOtdB//rwwgCwiwIAsJ4CALCOAPPAAAIAsJcCAELNggBC6wIAsKQA8AAAAgCwqgH/+HQB//
-iDAgCwsQIAsLUCALC5AgAw5wIAMN8CALi8AgAw3QIAuL8CALiqAgC4sAIAuLYB//r2TgAAAAIABH
-PAD///8gC4wQIAsMICALDIAgCwzQIAsMUCAEBZQACAAAIAQKVCALDmAgB3FAIABEUAAP/AAf/5qY
-H/+cAAAAMAAgCw6gIAsPMCALD9BVAAAAIAuMsCADDugAAAgGIAsQACALEOAAAA/+H/+vHCALEXAg
-CxFAAADwACALjNAgCxGQIAsR8CALEiAgCxKAIAsS0CALE5AgC4zwIAsTMCADxxAgA97AIAsT8CAL
-FDAgCxSgIAsU8CALjcAgA+UEIAPqVCALjYAgCxWgIAsVMCALFhAgCxZwIAsW4CAHdmAgCxdgIAsX
-oO/////3////IAsYACALGFAgCxsg/f///yALGLAgCxkgIAPsxCALGYAgCxngIAsaQCALGpAgCxrQ
-IAuOECADDuAgAw50DAAAAB//h6Af/4igIAMQoB//h4A/////z////yALG4Af/4hcIAsbwCALHAAg
-C44wIAscgH///6v//y5cAADRpP//0E0AAJxOIAsdACALHMAgCxxAH/+HnCADDngAAGgAH/+HmAAA
-IAAf/4gAIAsdQCAEDeggCx3wH/+vBCADnFggC47AIAuOUCALjqAgBBGwA//QAAABAAAgC4/QH/+b
-oABAAAAAUAwAg//QACALj0AgA8boIAuQAB//r9QgCx+wIAsf8B//rYAgC5CAIAsgICALIFAgCyBw
-IAsgoCALIOAgCyEgIAshkB//r1ggCyKgIAsh4ABMS0AgBA2kIAsiMCALIuAEAQAIIAPvPCALI2Ag
-CyMQIAsjwCALjHAgBCYcIAuMQCALJ0AAAI4CIAsnsCALKAAgCyhQIAsncCALKKADgAAAIAso8CAL
-KUD/9///IAsqMCAEISggCyrwIAsrsCAEJSQgBB80IAQOBCAEJFwgCyvwAgAAACALLDAAABdwIAMM
-NCALkaAgC5FQIAuRMCAEP7wgC5EAIAuRgCADC7QgAwwUIAstECALLWAf/62gIAstgCALLbAgCy3Q
-H/+sbCAHb2AgCy4AH/+riOEAfgAf/62wH/+vGAAA8/8EAAAAFAAAACAESHQgCy6wH/+v0CALknAg
-C5JAIAAiGB//lngAnAAA4AAJJCALL0AgCzAgIAsv8CALk4AgCy/AH/+fDCALL4AAAwTA4QMCAOD/
-/gDhAI4AH/+WjAAAloAAAJZAIAdzIAAAlqAAAJZg4QMALAADAAAf/N4A4QB6AAAB4ADhAZIAAAHj
-AAYAAAAgBFvA+AAAAAH//+cAAcAAIAAAgAQAEAAf/6uY4QGaAOEBmkDhAZo84QGaOOEBmjThAZow
-H/+wACADC7wgAwvMIAMLxCADC9SAAAADH/+vFP/8//9/////H/+WvCAEaOwgC5aQIAuW0CALlwAg
-C5dAIAuXcCALl7AgC5fgIAuYIP//AAAP///w//AAACALmIAf/5u0H/+q1CAEdWAgC5mAIAuZsCAL
-mSAgC5jAH/+bfB//nLgf/58IAAD/gCALMQAgCzEw//v//wAEAADhAeLAkAAA8Pz/gMACAAAg/v+A
-wCALMYAgCzHAAAD4AAADAQgAAwEMj////yALMhAgCzJgIAsykCALMtDhAN4AAAMDCAADAgAf/62k
-///wAOEA7gD//3//AAD8AAAA4AAAAAwAAAMDBAABERwAAREYIAuaEAAQCACAAAgAAAMBBP//wAAA
-AP/+AAAlgAADAwAf/62c4P/iwB//rBgf/56sIAuaYCALmpAgC5qwAAD//SALmkAgAwEIAAD/8yAL
-MyAAACowAAD/jwAAUrUAAEgKAACPggAAj4YAADgAAACPigAA4z8AAIOuAAD/8SALM0AAABBA///P
-vyALmtAAABIAIAszcOEDLgDhAzIA/v///yALM5AgAwEQIAsz8CALM8AAgAAAIAua8P//9iQgC5uA
-AAD/+wAA/v8AAP8/AAD5/x//q7ggC5sgIAucICALm9AgCzSgIAs0YCALNDAgCzTAIAs1EBAABQ0B
-wIAACQAAAB//sfwf/7EAIAMBwB//rYQAAIMAIAs30AAAggAgCzbwIAs3QCALN4AQAAcCAADAACAL
-kgAgC5HAAAAMvAAAiQYgCzlwIAuF8IiIiIgf/5scIAMCECALOdAgCzmgIAs8wCALPIAgCzxAIAs8
-ACALO8AgCzuAIAs7MCALOvAgCzqgIAs6UCALOhAgC58wIAufYCALn5AgC5/QIAugECALoEAgCz3w
-IAs9oCALPQAgCz1AAACAwgAAGyEf/6u8IAs+ICALoHAgC6CwIAug0AD/wAASAAAAIAUdICALoYAg
-C6FAAACgAGAAAAAf/6+IIAujACALPkAgCz5wAAAcICALPqAgCz8AH/+uCCALP0AgCz7QIAtA8AAA
-f6YgC0GAIAtBECALQbAgA5MMIAtBQCALQhAgC0HgIAOUJCALQkAgA5joIAuj4CALQ7AgC6YwIAtE
-0CADDmAgC0QAIAtE8CALRGAgBT78IAunEAAAH0AAABA2///v/x//s5wf/7IoAAAIUCALRTAgC0WA
-IAtFYAD///wyAAAAH/+0GsAAAAAgAwJIM5AAACAHdZggAwtwIAuncCALp9AgC6ewIAuoECALRaAg
-A24kIAMCUCALRlAAAIAFIAtGgIGAAADerb7vIAtGwB//rwAwAAAcMAAABDAAABQAAP/v//7//x//
-stQA//AAACgAACALRvAAAAhAIAMLNCALRyAA///6IAtHcDAAAAAwAAA0AACAASADAmAAAIACIAWT
-mCALqKAQAAUQmQAAADQAAAAgC6hQIAtHsAAZAAAgC0gAIAMPAAAAEg8gC0gwH/+yZAMVAAAFAAAA
-g/8AGyALSKAgBebw//9AACALqoAgC0lwIAtJ8CALSkAAAZGs4QGRrL////8gC0pwCwAAACAF7SAg
-C0rgIAtLUCALS8AgC0vwIAurACALq4AEAgAIfwAAACAEtyAgAwv0H/+d4AABOIDgAAYAAAInECAL
-rDB///8PIAtNEB//rnAf/63Q/AD//+EAlgDhAJoAAAAJ/+EAngAAALAAH/+vnCADArAgC01Q4QAO
-AOEAEgD/4DgAA/+ADgBz/4ADAAAAADj//xMAAAARAAAAH/wAAB//ruwgC02QIAutUAABlI8AAZTP
-IAMC0B//nsQgAwdQIAtN0CALThAgC05AH/+VBB//rTwgAwhAH/+d1B//nFwf/53M4QGeAP+///8A
-AZ80IAtPkCALT9Af/5Y0IAtU8CALVUAgC1WgH/+vkCALV4Af/6y4AD///x//nHQf/61sAAD/lwAA
-/tX//6uTH/+u+MIAAA4F3AEAA/8AAMAAAAEgC1fwIAtYMCALWIAgC1jAIAtZECALWVAf///wH/+v
-5AIAABAf/5S4H/+ekB//lsgAAv//AACcQCALkyAgC1uQIAtcACALXMAgC5KgIAtdUAAA/gAgC7Rw
-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
-tiz7/pkSAABQsPwKByADEGgw/xwQIAoQcDD/FgAgARB4MFq2CfIKACAVADagwKL8/pIQCBBYMFga
-4ccr0Q/RD2wQBMonsCPzJQEOABCckNMPbQgP9Fz/IgAAEXD0VQEOAAOkkGP/5w8iEdEP0Q/AIdEP
-AABsEAQE6jAY/h8ogjECiCioQgPqMAMjDGoxDm0ICAnqMAkpDGqRAmP/8NEPAGwQBKMisCIDIizR
-D2wQBBT+EvgKACApADSgaCEuaCI2aCNAaCRIaCVaaCZiaCcE0oDRDwAiQjMiImcCskLRDyJCMyIi
-UQLyQtEPAAAiQjMiIlQCMlLRDyJCMyIiVwJyUtEPAAAiQjMiIloCslLRDyJCMyMiXSIiXgH0BAMi
-GAICQtEPACJCMyIiYQIyQtEPIkIzIiJkAnJC0Q8AAGwQBBT97ssi+CFEYAAQQDBoIkdoI1FoJFlo
-JWNoJnRoJwXSgNEPAAAiQjMjImQiImUBpAQDIhgCAk/RDyJCMyMiTiIiTwHkBAMiGAICT9EPIkIz
-IiJSAiJP0Q8iQjMiIlUCYk/RDwAAIkIzIiJYAqJP0Q8iQjMiIlsC4k/RDwAAIkIzIyJeIiJfASQE
-AyIYAgJP0Q8iQjMjImEiImIBZAQDIhgCAk/RD2wQBBT9xPgKACAuADSgaCExaCJDaCNUaCRlaCV2
-/wIABgA/gKBoJwPSgNEPIkIzIiJkAqJP0Q8AIkIzIiJOAuJP0Q8iQjMjIlEiIlIBJAQDIhgCAk/R
-DwAiQjMjIlQiIlUBZAQDIhgCAk/RDyJCMyMiVyIiWAGkBAMiGAICT9EPIkIzIyJaIiJbAeQEAyIY
-AgJP0Q8iQjMiIl4CIk/RDwAiQjMiImECYk/RDwBsEAQU/Zn4CgAgKgA0oGghLWgiN2gjP2gkSWgl
-UWgmY2gnA9KA0Q8iQjMiIk0CUlrRDwAAIkIzIiIrAhJa0Q8iQjMiIjAC0krRDwAAIkIzIiI1ApJK
-0Q8iQjMiIjoCUkrRDwAAIkIzIiI/AhJK0Q8iQjMjIkMiIkQB1AQDIhgCAkrRDwAiQjMjIkgiIkkB
-lAQDIhgCAkrRD2wQBBT9c/gKACAyADSgaCE1aCI/aCNHaCRRaCVZaCZjaCcD0oDRDyJCMyMiTCIi
-TQGUBAMiGAICR9EPACJCMyIiKgJSV9EPIkIzIiIvAhJX0Q8AACJCMyIiNALSR9EPIkIzIiI5ApJH
-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
-AAAAcgAO1b4AAAAKAAAACQAAAAQAAABqAAAAAgAAABwAAAAcAAAAEAAAAAIAAAAAAAAAZgAAAHcA
-D0JAAAAACgAAAAkAAAAEAAAA/QAAAAIAAAAdAAAAHQAAAFAAAAACAAAAAgAAAGYAAAB3AA+8UgAA
-AAoAAAAJAAAABAAAACkAAAABAAAAHQAAAB0AAABQAAAAAQAAAAIAAABrAAAAeAAQRgQAAAAKAAAA
-CQAAAAQAAABnAAAAGQAAAB4AAAAeAAAAUAAAAAIAAAACAAAAawAAAHkHADsAAgA4AAQDOwEAAAAA
-ATYBbAGWAPABIAFTAOEBMQFhALwA5AELAPUBIgFJAMYA6wEPAMIA6gETAJ0AvwDeAMsA7QENAKoA
-yQDkAKMAxADgAIEAogC9AK8AzADjAJQAsADGAIsAqAC/AAAAgQCdAJoAswDHAIEAmwCvAG4AjwCl
-AAAAAAAAAIkAnwCxAG0AiACbAAAAYQByAAAAAAAAAHoAjwCfAAAAcgCHAAAAAAAAAAAAAAAAAAAA
-AAAAAAAA+wEmAWoA2QD/ATYA7gEuAYwAqwDTARMA1gD5ASoAuQDaAQoAtwDiATAAjACtAOEAugDZ
-AQYAogC+AOcAlgC3AOoAZQCMALoApAC/AOYAjgCoAM0AegCYAMMAAAAAAJQAkQCqAM0AewCVALcA
-AAB6AKMAAAAAAAAAgACYALgAZACBAKMAAAAAAH0AAAAAAAAAbQCGAKUAAABmAI4AAAAAAAAAAAAA
-AAAAAAAAAAAAAAEAASkBVQDOAPMBFQDHAO4BFgChAMMA4ADNAO0BDACrAMoA4wCiAMEA3QB9AJ4A
-twCtAMkA3wCTAK0AwQCGAKIAuQAAAAAAiwCXAK4AwAB9AJYAqQBMAIEAmQAAAAAAAACFAJoAqwBi
-AH8AkwAAAAAAAAAAAAAAAAB2AIkAmQAAAFYAeQAAAAAAAAAAAAAAAABmAHoAiQAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAN8BAwExAL8A3wEQALwA5AEsAI8ArwDiAL0A3AEHAKQAvwDnAJYAtgDm
-AFcAhgC0AKQAvwDkAI4ApgDKAHYAkwC8AAAAAAAAAI8ApwDIAHgAkQCyAAAAbQCZAAAAAAAAAHwA
-lACyAFoAegCYAAAAAAAAAAAAAAAAAGcAgACeAAAAAACBAAAAAAAAAAAAAAAAAAAAagCKAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAA2wEAARsAtwDXAPAAsADPAOgAkACuAMYAswDOAOQAmQCyAMYA
-jQCnALwAAAAAAI0AmQCvAMAAgACXAKkAAAB8AJQAAAAAAAAAhQCZAKgAWgB7AI8AAAAAAAAAAAAA
-AAAAdACHAJUAAAAAAAAAAAAAAAAAAAAAAAAAYQB1AIMAAAAAAAAAAAAAAAAAAAAAAAAAAABgAHEA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAOsBGACyAM8A9gCpAMwBAACCAKEAygCtAMgA7QCY
-ALEA1QCDAKAAxwAAAAAAlgCVAK0AzgCAAJgAuQAAAHUAnQAAAAAAAAB/AJYAtABVAH0AnwAAAAAA
-AAAAAAAAAABmAIAAnQAAAAAAfQAAAAAAAAAAAAAAAAAAAGIAhgAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8P/w/8AP8P+AnbD/APpQ/gCZkPwACZD4AA
-AA8AAAAP/A/8D/gF/A/wD7QP4AW0D8AAtA+AAAAPAAAADAAAAA/AAAAOwAAAD4AAAA6AAAAPAAAA
-DgAAAAwAAAABAAAAAAE4gAAAaCoAAE4gAAGGoAABhqAAAgjVAAII1QAAACgAAAAyAAEEagAAaCoA
-AEpnAAGGoAABhqAAAgjVAAII1QAAACgAAAAyAAFbAQAAaCoAAFAgAAII1QABhqAAAgjVAAK2cQAA
-ACYAAAAyAAEpbgAAaCoAAE0pAAII1QABhqAAAgjVAAK2cQAAACYAAAAyAAEEQQAAaCoAAEpnAAII
-1QABhqAAAgjVAAK2cQAAACYAAAAyAAF0BgAAbIEAAFQBAAKLCgACCNUAAosKAAK2cQAAAB4AAAAt
-AAFFhQAAbIEAAFFhAAKLCgACCNUAAosKAAK2cQAAAB4AAAAtAAEhWgAAbIEAAE7qAAKLCgACCNUA
-AosKAAK2cQAAAB4AAAAtAAEEagAAbIEAAEyXAAKLCgACCNUAAosKAAK2cQAAAB4AAAAtAAGGoAAA
-b5sAAFbOAAKLCgACCNUAAosKAAMNQAAAAB4AAAAoAAFbOAAAb5sAAFR1AAKLCgACCNUAAosKAAMN
-QAAAAB4AAAAoAAE4gAAAb5sAAFI8AAKLCgACCNUAAosKAAMNQAAAAB4AAAAoAAEcGAAAb5wAAFAh
-AAKLCgACCNYAAosKAAMNQAAAAB4AAAAoAAFsdAAAcuMAAFdjAAMNQAACiwoAAosKAAMNQAAAABsA
-AAAjAAFLUgAAcuMAAFVYAAMNQAACiwoAAosKAAMNQAAAABsAAAAjAAEvtgAAcuMAAFNlAAMNQAAC
-iwoAAosKAAMNQAAAABsAAAAjAAEYWQAAcuMAAFGIAAMNQAACiwoAAosKAAMNQAAAABsAAAAjAAF6
-ugAAdl8AAFo+AAMNQAACiwoAAosKAAMNQAAAABkAAAAjAAFbKwAAdl8AAFhWAAMNQAACiwoAAosK
-AAMNQAAAABkAAAAjAAFBXgAAdl8AAFaBAAMNQAACiwoAAosKAAMNQAAAABkAAAAjAAEpkwAAdmAA
-AFTBAAMNQQACiwsAAosLAAMNQQAAABkAAAAjAAERKgAAb5sAAE/dAAII1QACCNUAAosKAAMNQAAA
-AB4AAAAoAAEXBAAAbIEAAE4gAAKLCgACiwoAAosKAAMNQAAAABsAAAAjAAAAACtoI4MYag0GCyoA
-AAAAAAAAAAAyAAAD6AAAACgAAE4gAAAAAAAD0JAAmJaAAA9CQACYloAAABwgAAAASwA9CQAAA9CQ
-AJiWgAEBAAADAwICBQUEBAcHBgYAAAAyAAAD6AAAAGQAAMNQAAAAAAAD0JAD0JAAAExLQAPQkAAA
-ABwgAAAASwA9CQAAD0JAI8NGAAMCAQAHBgUECwoJCA8ODQwAAAAyAAAD6AAAAAoAAAH0AAAAAAAA
-A+gAmJaAAA9CQACYloAAABwgAAAASwA9CQAAA9CQAJiWgAMCAQAHBgUECQkICAsLCgoAAAAAAAAA
-AAABABAAEQAeAA0AEgAHAB8ADgALABMAFQAbAAgAFwAgAA8AHQAMAAYACgAUABoAFgAcAAUACQAZ
-AAQAGAADAAIAAQB7AHUA+wD1AEUAbwB9AHcAXwBpAMUA7wCjAD8A/QD3ALsAOQDfAOkAzwCdAEcA
-cQAPAFkAJQC/ABMAYwB/AHkAbQBdAD0AuQCbAA0AYQBrAAsACQBRAB8AMQBTAMcA8QAhALUAjwDZ
-AK0AMwClAEEAVQCXAJMA4wApAMkA/wD5APMAwwDtAN0A5wAjAL0AOwC3AE8AHQCNANcAkQDhAOsA
-2wAbAIsAiQCHAK8A0QCfADUALQCxANMAFwCnAEkAcwBDAGcAoQA3AM0AVwARAFsAmQAHAC8AswCr
-AJUAJwDBAOUATQDVABkAhQArABUAZQDLAAUAqQBLAIMAAwCBAAAA+gD0AHwAdgDEAO4A/AD2AN4A
-6ABGAHAAJAC+AH4AeAA8ALgAYABqAFAAHgDGAPAAjgDYAKQAQACSAOIA/gD4AOwA3AC8ADoAHACM
-AOAA6gCKAIgA0ACeALAA0gBIAHIAoAA2ABAAWgAuALIAJgDAANQAGAAUAGQAqABKAIAAegB0AEQA
-bgBeAGgAogA+ALoAOADOAJwADgBYABIAYgBsAFwAmgAMAAoACAAwAFIAIAC0AKwAMgBUAJYAKADI
-APIAwgDmACIAtgBOANYAkADaABoAhgCuADQALAAWAKYAQgBmAMwAVgCYAAYAqgCUAOQATACEACoA
-ygAEAIIAAgABAAMAAgAEAAAAAAAAAAAAAQACABwAGwAWABUAHgAdABgAFwAMAAsAEAAPACAAHwAa
-ABkAFAATAAoACQAOAA0AEgARAAgABwAGAAUABAADAAEAAAACAAQAAAAAAAAAAAAAMAQAADAQAABZ
-3AAAWoAAAFqEAABaiAAAWowAAFqQAAGUMAAAECQAABAwAAAQPAAAENwAABEMAAB7LAAAezQAAeKM
-AAHmjAAB6owAAe6MAAHyjAAB9owAAfqMAAH+jAAAjcwAAI6AAAB+dAAAj9wAAZFYAAGScAAAj/wA
-BBMcAAQTGAAEExAABJMcAASTGAAEkxAAAHfgAAB35AAAd/QAAHgEAAGcPAABEHQAARCEAACUCAAA
-mFwAAJYMAACWFAAAliAAAJYsAACWxAAA0CgAAJAIAAMI3AADSNwAA4jcAAPI3AADCOQAA0jkAAOI
-5AADyOQAAZBUAABgHAABoNgAAZCQAAB34AAAd+QAAHf0AAB4BAAAeNgAAHjgAAB49AAFAHgABQh4
-AAUTCAABlAQAAePAAAHnwAAB68AAAe/AAAHzwAAB98AAAfvAAAH/wAABlAwAAAAAAAAAAAAAAAAA
-ADAAv///QAAAMAi///9AAAGUEJ////8AAZQ0AAAAEAABlAif/+P/AAGUOAAAABAAABAo4f///wAA
-ECzh////AAAQNAH///8AABA4Af///wAAEEAABAAAAAAREAD///8AABEUAP///wAAeygAff/iAAB7
-MD//7v8AAHs4AAAAAQAAe0A//+7/AAB8JAB9/+IAAeKIAAgAAAAB5ogACAAAAAHqiAAIAAAAAe6I
-AAgAAAAB8ogACAAAAAH2iAAIAAAAAfqIAAgAAAAB/ogACAAAAACNyP////AAAI3Q////8AAAjnwA
-AADwAACOhAAAAPAAAH5wf7//fwAAfnh/v/9/AAB+AALAAAAAAZFUAf///wABkZwB////AACP2AN/
-//8AAI/4/////wAEExQAAAAHAAQTDAAAAAsABJMUAAAABwAEkwwAAAALAAB33AAAAAMAAHf0////
-/wAAeAQAAAADAAGcOAABwEAAAZz4AAHAQAAAkAQAAAA+AAEQeAD///8AARB8AP///wABEIgAAAAA
-AACUBAAA//8AAJQQAAD//wAAmFQAAAH/AACYWAAAAf8AAJYIAAAAAAAAlhwA////AACWJAD///8A
-AJYoAP///wAAljAA////AADQIAAAAAcAANAkAAAABwADCNgAAAADAANI2AAAAAMAA4jYAAAAAwAD
-yNgAAAADAAMI5AAAAAMAA0jkAAAAAwADiOQAAAADAAPI5AAAAAMAAZBQAAAA7wABoNQAAAGDAAGQ
-jAA4AAAAAZCYADgAAAAFAHQAAAAHAAUAcAAAAAUABQh0AAAABwAFCHAAAAAFAAUTBAAAAAEgAxGg
-IAjitCADEaQgCPMAIAMRsCAI8hQgAxG8IAjxxCADEdAgCPDgIAMR3CAI8DQgAxH0IAjuyCADEgQg
-CO2wIAMSDCAI7YggAxIgIAjtYCADEjAgCO0wIAMSPCAI7BQgAxJEIAjr7CADElggCOu4IAMSZCAI
-6lQgAxJsIAjprCADEnwgCOioIAMSiCAI55ggAxKYIAjmkCADEqggCOVkIAMSwCAI4jQgAxLYIAjh
-6CADEuwgCOGoIAMS/CAI4RQgAxMQIAjg7CADEyQgCN/8IAMTMCAI3vwgAxM4IAje1CADE0QgCN3U
-AAAAAAAAAAAgAxNIIAjdlCADE0wgCN0YIAMTVCAI3OAgAxNcIAjcqCADE2ggCNxwIAMTbCAI3Dgg
-AxN0IAjcACADE4AgCNvIIAMThCAI3VAgAxOMIAjbkCADE5ggCNtYIAMToCAI2yAgAxOoIAja6CAD
-E7AgCNgIIAMTuCAI2pggAxPEIAjakCADE8wgCNpYIAMT1CAI2iAgAxPcIAjZ6CADE+QgCNmwIAMR
-eCAI1cQgAxPsIAjVjCADE/QgCNVUIAMT/CAI1RwgAxQMIAjU5CADFBQgCNSsIAMUHCAI1HQgAxQk
-IAjUTCADFDAgCNQkIAMUPCAI0/QgAxRUIAjTzCADFHAgCNOkIAMUgCAI03wgAxSQIAjTVCADFKAg
-CNMsIAMUsCAI0wQgAxTAIAjS3CADFNAgCNK0IAMU3CAI0owgAxToIAjSZCADFPQgCNIoAAAAAAAA
-AAAgAxUAIAjQ9CADFQQgCM8oIAMVECAIzkAgAxUkIAjODCADFSwgCM3YIAMVOCAIzaQgAxU8IAjN
-cCADFUAgCM08IAMVRCAIzQwgAxVUIAjMrCADEiggCMuoAAAAAAAAAAAgAxVgIAjLgCADFWggCMtY
-IAMRhCAI9fggAxGMIAj1LCADEXAgCPR8IAMRmCAI89gf/6wYH/+WjCALh5AgCwEQAAAgQAABhqAg
-CwFgIAsB4AAAQA0gCwEwIAsBsCALAiAgCwJAAABBFwAA8AMAAEEHAABBjAAAQYgAAEGGAACAAAAA
-QYEAAKgZAACoGgAAwwAAAKgbAACoHAAAqBcAAP//AAAQBAAA5Z8AAB8RAADuCQAA//4AAOr/IAsC
-YAAA/wAAAKgYIAsCoAAAYA0AD0JAIAsC4AAA3q0gCwMAIAsDUOEAXgD+//7/AQAAAAEAAQAgMAAA
-AAAw1CALA9AAAGGoAAD/6SALTpAf/54AIAtOsOEAcgAf/52E4QQSAACLFEDhA/4AAAQASOEEAgAA
-BAAhH/+UkIYQAAAABABAgAAAAIAUAAOAFgADgBIAI4ARsgOAEAAFACrxLwABhp8ACvEvIAutoAAE
-AAggC07QH/+cyCAHc3Af/69wIAuuYOAAAADhAHYAIAut0CALrhAgC08AH/+fyB//n1DhAZoAAgAA
-AAABngzhAZ4AAAGedAABnqwAAZ7YAAGe8AABnxwf/5/QH/+cXAAB//8AAZ9MAAGfnAABn7DhAHoA
-IAtQICALUHAgC1DQAAAP/z////8gC1EwIAtRoCALUeAgC1IgIAtSYCALUqAgC1LgIAtTICALU2Ag
-C1OgH/+d7CADD3DhBJIAIAMPEP8A//8ADAAAgAAAH4AAAD8f/4VwH/+d9P/A//8AEAAAH/+vgAAA
-CAAApgwAIAtUICALVIAgC6/wIAtT4CALr4AgC66gIAuu4CALrzDhAC4ABAAAAB//lrThAFYAAoBQ
-AIAAAIAAAEAA//EAgAHwAACOAeCAAAAfACAIAAAgCBQkAAAVICAIAQDhAZIA4QAOAAABAAAAAgAA
-AH8AQAADAAAAggCAAMEAwP//I/8AAMgAECABIB//nTgf/6+g4QB+AOEAjgA8AAAA//+//1Bo6EeS
-AAAA8ADwAN+///sgAAAEf/f//4AAQgD/9/9/AAYAAP8AAAAASSSSAAB+GBABEAEAAH5AIAEgARUV
-FRWEIYQhEBAQEOEBjgAAAP5/BAQBgOEAzgBEREREiIiIiMzMzMzhAI4E4QCOCOEAjgzg//4AIAgN
-pAAACMCAAcQRxBHEEQD/AP8AQABA//8//yALsKAgC7DQH/+dgP8P///MiEQAIAuwYCALsQD//+AB
-//D/AAACADMqKhUV/v///x//rHQf/5yoH/+aeB//rpAf/56oIAtV8B//nwgf/5x0AAD//QAA//wf
-/5XEH/+WkCALVrAf/6zIIAtXACALVjAgC1ZwH/+sZOMAAgDi//8AIAtXQCAI89ggC7HwIAAAAAAw
-AAAAYAAAIGAAANAAAAAgC7EwIAuxwAAAEAAgAwkIH/+xsB//rZgf/4CwH/+vEP//8AAgC7LAIAtZ
-kCALWhAgC1qAIAuycCALsjAgC7KQH/+tsCALWxAAACgAAAA//wAAwAAABAAA4QAyAB//gOAf/4Eg
-H/+BYB//nAD/gA////4AHwAAe2Af/OIACAAAAB//neAf/5bIH/+sBB//ljThAv4A4QO+AOEDPgDh
-A34A4QHiAOEBDgDhAJIA///w/x//qpAAAAkAH/+crOEBDgThAQ4I4QEODB//npD/8AAAAAKABh//
-r6T/+///IAtiYCALYsAf/4HgH/+dXB//nFgf/6+cEAAAAP/w//8gAw1YH/+akAAAfkzhAIoAAADw
-ACALYzAgC2OQIAtj8B//r4Qf/6twH/+tZCALZDAgC2SwIAu4QCALZGAf/62QH/+enCALZTAgC2Tw
-H/+ckCALtsAgC2WgIAtl4B//rTwgC7kwIAu4kN/QAAAgC7jQH/+tTP+AAAD//+AAIAtmICALZlAg
-B3FEIAu2cCADDWQf/690IAtmkB//ragf/7PcH/+0EB//reQSAAAAIAu0AAQAAAiBAAAAAAAwAB//
-sJAgC7QwIAMNYB//siwf/7QoSQAAACALs5AgC7LgIAuzQC4ANgAADwP/AxEAAAMVAAAf/6+oIAdv
-YCALZtAf/6yoH/+bcB//qzwf/568H/+f8CAAwJAf/+00H//sgB//rxwAABOIH//uPAIAghACAAIQ
-AAAgAAIAABAAGgAAAPrGiAAgAADwAAAAH/+tnOEDAgDhAwYAIAdwCCAHcLAAAP/fAAD/9yALZvAf
-/4Hwf////yALZ0AgC2cQIAtncB//nIgf/56sIAu2MAAA+AAAPDw8H/+ysB//lzgf/5sAH/+vDAoU
-KFAgCA8EIAdxAB//lrwgAw94H/+VSP//x/8AAv/AH/+cLCALt/AgC7eQIAu6ICALaBAgC7nAIAu5
-kCALZ6AgC7nwIAu3IB//nMAf/6roH/+q5B//gnAf/6vAAAAnECALbJAf/6qsH/+sFB//nRgf/50U
-H/+dDB//nQgf/4KQH/+vGCADCXAgAwvwH/+CsB//r5ggC20AH/+rsB//q7Qf/6u4H/+r7B//q+gf
-/6vkH/+r4B//q9wf/6vUH/+rxB//q8gf/6vMH/+C4B//r5Af/6s4AABAAx//ldQf/5zEH/+q1If/
-//8f/51AH/+doB//nfAAD//wIAttQB//g5AgC22gH/+DoB//r7QgC23gH/+duCALbjAf/52MIAtu
-YCALbpAf/4OwH/+c/AAAJYAgC27AIAtvAB//nKQf/4PQH/+coB//mzgf/5qMH/+D2P//AAAD5/wY
-IAtvMB//g+Af/6x4IAMJ1PP///8gAwncIAMJ6CADCfQgAwnED////yADD6AgC2+QIAgUFP//6vAg
-CBO0///rUCAIEmQgCBOs///soCAIEXQgCBJc///tkB//nSQD///gAARyDAAEchQABHIcAARwFAAE
-cCgABHAgAARwLAAAhYA////gAARAJAAEQEwABEokAAQA4AAEAAQgC3LgIAtzEB//nOAABALEAAQC
-wCALwTAgC8FgAARwZCALwZAABEHAAARBxAAEQcgABEB4AARA3AAEQUAABEFEIAtz4CALdCAgC3RQ
-IAtzQCALc4AgC3OwAARwWAAAECgABEFgIAt0oAAAd3cAADMzIAt14CALdOAgC3VgIAt1oCALdSAg
-C3RwAAAgKAAEdBgABErAAARAwAAEQMQABEHwAARB9AAEdBQgC8DwIAt3ACALdsAgC3aAIAt2QCAL
-dgAABAJwAAAI8AAEAnQABAJ8AAQCkAAAvygABHBcAAR0AAAA8AYABEvwAARyKAABmy8AAWMdAAQB
-MAAEAOwABAEIAAR2AAAEAQQABHYEAAD/+AAEAQAABADkAAR2CAAA/8EABHIAAABVVQAEcgQABAD4
-AAQA3AAEANgABHJIAAQBOAAEARgABHJMAAQA9AAEclAABHQIAARyCAAEQEgABErcIAt3QCALd4Ag
-C3fAAARBLAAEQTwABEDgIAt4AAAEQQAgC3gwAARwSAAEcGAABHIgAAR2DAAEeASAEAAAIAvB0CAD
-EGCAEgADAAQA6IAQAAMABADAAABOIAAEAMwABADEAAQAyAAEATQgCAbUIAgLFAACACEABACAAA//
-KQAEAEQgC3hgAAQCRAAEAkwABAJIBgYAAAAEAYAAAB54AAEwsAAEANAABADUAAQA8AAEAPwAAgjV
-AAEEagAEAQwABAEQAACiwgAEARQABAEcAAQBJAAEASgABAEsAAQBQAAEAUQABAJQAAQBIAAEAmAA
-BAJkAAQCVAABACF3NZQAAARB/AAES/wAAIAgAAAICAAEcDAgCAPAAARgwAAEYMQAAIgAAARB1AAE
-S9QABEHYAARL2AAEQdwABEvcAARwOAAEcAAgC3iQAARwBCALeNAABGDIAACAJAAEQBwABEocAAAX
-LCALeRAgC3lAO5rKAAAEYOQABGDQIAt5cAAEQAAABEAEAARADAAEQAggAwukAARKBAAEcDQABHAI
-AARQAAAEVAAABGDMAAB/AAAEQdAABEvQAARwUAAEUGgABFBAAARUaCAIB/AABFBQAARUUAAEUiQA
-AEBAAARSKAAEUiwABEAQAARIEAAEQBQABEgUIAgIEAAEQeAABEvgIAgINAAEQegABEvoAARB5AAE
-S+QABEHsAARL7AAEQBgABEoYAADu8AAEUGAABFRgAAARAAAAETAAABAwIAgD6CAIAzwgCAVIIAgE
-nCAIBqggCAX8AAQTBAAEEyQA////AIECIB//lgAAAPD/AABQDQCAAADhAeJA4QASAP/ADAAf/5VE
-H/+tSCALfRAgC3zAAf///wPf0kACFg7A4QNGACALfWAf/5uwAARUsAAA4+8ABFCwAARg4AAAwfMf
-/63gH/+EMP48f/8gC32AgAAFAAAAfuiAAAcAIAvFEIAABACAAAYAIAvE8IAAAQCAAAIA/58AAEAI
-AAD4wAAAAABgLP9///8gC32gIAlNYCALfeAf/5VgIAlO4CADCQAgC34QH/+vJAAP//8gB3D4H/+t
-YB//sEAf/7BgH/+V0wBUAAAgDAAAIAt+QB//hPDhBP4A4QUGAAAkAADhAd4A4QBaAPgAA//f//4A
-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
-AABTMFuI8fI2MyAJADSgwCDRDwD8tiMQABBQMPsKAC/7EGgwW4aRxyvRDwBsEAYYs0kZthwessod
-thwtlhb+lhcgABBYMPuVMCAEEFAwKpRiHLYWx/APzAEshrYcthUogq4pkuiZEPgWASCAEHgwW4Z/
-wCDRDwAAbBAEGrYOGLYOK6KBK4bY+qKCIAQQWDArhjMrhjIrhjYrhkIrhkArhkErhjz6htkgABBI
-MPmGUyAIEBgw84YlIAEQSDAphj4phjkYstQSsu0ctBojgMEiIoH9s9sUABBwMPk3Ag4AARww/+w5
-ABIAvLAs1X7RDxK0EBSz0/cGQAQAECgw94TBIgUAMXAiRX7RDwAAAGwQBBy17Bq17Bi16SrGf/qt
-QCCIEFgw+oZ/IAAQYDBbfTYesrkdteUt5jMt3QIt5jTRDwAAAAAAbBAEGrN2+6yAIKIAPKBoImj0
-kH5gAgIScP8iE2ABECAwYAA0aWQFBagIJ4YAckso+jwAAgAAWTBbg1n4YRJgAgIhMPli3WgAIC6w
-J5UAY//bpasntABj/9PRDyuieSmihqO7CbsR+GFvaAAgXnBoYm5pZOSlnJfA0Q8Zs3SpOSmQ3WhA
-NvSQX2ACAhEwckOfY//FLLKZKaKGo8z5zBEAAgIhMPhhG2gAIGZwaGIbaGQg/wIAC/+9lRBj/5xl
-n1Fj/5almCeEAGP/5qWaJ6UAY//epZuXsGP/16WcJ8QA0Q+lnSfVANEPANEPAAAAAAAAIAMQ8AzA
-AAYgBz9kIAMQ9AjAAAwgBz9kIAMQ+DzAABAgBz60IAMQ/AbAADggB0DIIAMRAAjAADwgBz9kIAMR
-BALAAEAgB0DIIAMRCAjAAEQgBz9kIAMRDAhAAEwgBz/0IAMREAhAAFAgBz/0IAMRFAhAAFQgBz/0
-IAMRGAhAAFggBz/0IAMRHCBAAFwgBz/0IAMRICBAAHAgBz/0IAMRJCBAAIQgBz/0IAMRKCBAAJgg
-Bz/0IAMRLCBAAKwgBz/0IAMRMCBAAMAgBz/0IAMRNCBAANQgBz/0IAMROCBAAOggBz/0IAMRPAxA
-APwgBz3EIAMRQAxAAQwgBz3EIAMRRAxAARwgBz3EIAMRSAxAASwgBz3EIAMRTAxAATwgBz3EIAMR
-UAxAAUwgBz3EIAMRVAxAAVwgBz3EIAMRWAxAAWwgBz3EIAMRXAhAAXwgBz/0IAMRYAhAAYAgBz/0
-IAMRZAhAAYQgBz/0IAMRaBBAAYggBz/0IAMRbBBAAZAgBz/0RkNvRSBERFAgZmFpbGVkIDogb3hf
-aWQgMHgleCByeF9pZCAweCV4CgAAAAAAAAAARkNvRSBERFAgZmFpbGVkIDogRGRwUmVwb3J0IDB4
-JXggRGRwVmFsaWQgMHgleAoARkMgeGNoZyBhbGxvYyBmYWlsZWQ6IGF2YWlsICVkCgBGQ09FIEZy
-ZWU6IHN0aWxsIHlpZWxkZWQgd2hlbiBmcmVlaW5nLi4uZmxvd2NfaWQgJXggZmxvd2NfZmxhZ3Mg
-JXggCgAAAAAAAAAAAAAAAFBSTEkgUnNwIHRpbWVkb3V0IDogZmxvd2NfaWQgMHgleCBveF9pZCAw
-eCV4IHJ4X2lkIDB4JXggCgAAAAAAAABod19iY204NDg1Nl9jaGVjayBlbnRyeQoAAAAAAAAAAGh3
-X2JjbTg0ODU2X2NoZWNrIGxvb3AgJXUgKGNoZWNrICUjeCkKAAAAAAAAAAAAAFsldSBQb3J0IGNh
-cmRdaHdfYmNtODQ4NTZfY2hlY2sgdXBfcnVubmluZyAocG9ydD0ldSA6bG9vcF9jbnQ9JXUgKQoA
-AAAAAAAAAAAAAAAAaHdfYmNtODQ4NTZfY2hlY2sgZmFpbGVkIChiYWQgQ1JDKQoAAAAAAAAAAAAA
-AAAAUEhZIGZpcm13YXJlIGxvYWQgc3VjY2Vzc2Z1bCAocG9ydCV1KSB3b3cuLi4hISEhIAoAAAAA
-AAAAAAAAAAAAAGJjbTg0ODU2X2xvYWRzZXF1ZW5jZTogU3RhcnRlZAoAQnJvYWRjYXN0IG1vZGUg
-dHVybmVkIE9OIAoAAAAAAABiY204NDg1Nl9sb2Fkc2VxdWVuY2U6IFVwbG9hZCBpbWFnZSB0byBQ
-SFkgb24tY2hpcCBtZW1vcnkKAAAAAAAAYmNtODQ4NTZfbG9hZHNlcXVlbmNlOiBkb25lIGxvYWRp
-bmcgaW1hZ2UgKDB4JXgpCgAAAAAAAAAAAAAAAAAAAFdhaXRfU1BJX0xPT1A6IHBpZCA9ICV1IAoA
-AAAAAAAAYmNtODQ4NTZfbG9hZHNlcXVlbmNlOkRPV05MT0FEIEZBSUxFRCAobG8gPSAlI3gsIGhp
-PSUjeCwgY250PSV1KQoAAAAAAAAAAAAAAAAAAABbJXUgUG9ydCBjYXJkXSBiY204NDg1Nl9sb2Fk
-c2VxdWVuY2UgOkRvd25sb2FkIGNvbXBsZXRlZCBhZnRlciAldSBsb29wcyBmb3IgcG9ydCAldQoA
-AAAAAAAAAAAAAABod19jbDQ1X2luaXRbJXVdIGFjYXBzICUjeAoAAAAAAGJjbTg0ODU2X2luaXRb
-JXVdCgAAAAAAAAAAAAAAAAAAaHdfYmNtODQ4NTZfbG93cG93ZXJbJXVdOiBlbmFibGU9JWQKAAAA
-AAAAAAAAAAAAaHdfYmNtODQ4NTZfbG93cG93ZXJbJXVdLCBmYWlsZWQgdG8gc2V0IDMwLjB4NDAw
-QSBiaXQgNzsgMzAuMHg0MDBFIGJpdD0xIGFmdGVyIDVtcywgcmVnPSV4CgAAAAAAaHdfYmNtNTQ4
-Ml9jZmdtZGlbJXVdIHNldHRpbmcgdHlwZSAldQoAAAAAAAAAAAAAcmVtb3ZlIG11bHRpY2FzdCBt
-YWMgWyV4OiV4OiV4OiV4OiV4OiV4XSBmcm9tIFRDQU0KAAAAAAAAAAAAAAAAAGlwdjZfam9pbl9n
-cnA6IGlkICV1LCByZWZfY250ICV1CgAAAAAAAAAAAAAAAAAAAGRoY3A2X3RpbWVyX2NiOiByZXNl
-bmRpbmcgREhDUDZTT0xJQ0lUIGFnYWluCgAAAGRoY3A2X3RpbWVyX2NiOiBzZW5kaW5nIERIQ1A2
-UkVRVUVTVAoAAAAAAAAAAAAAAGRoY3A2X3RpbWVyX2NiOiBzZW5kaW5nIERIQ1A2UkVORVcgcmVx
-dWVzdAoAAAAAAGRoY3A2X3RpbWVyX2NiOiBzZW5kaW5nIERIQ1A2UkVCSU5EIHJlcXVlc3QKAAAA
-AGRoY3A2X3RpbWVyX2NiOiBESENQNlJFUExZIHJjdmQsIHN0YXRlICV1CgAAAAAAAGZhaWxlZCB0
-byByZW5ldy9yZWJpbmQgZGhjcHY2IGFkZHJlc3MKAAAAAAAAAAAAAHR5cGUgJXgsIHhpZCAleCwg
-dHlwZV94aWQgJXgKAAAAaXB2Nl9tdWx0aWNhc3RfcXVlcnlfdGltZXJfY2Igbm9kZV9pZCAlZAoA
-AAAAAAAAaXB2Nl9nZW5lcmFsX3F1ZXJ5X3RpbWVyX2NiCgAAAABhZGQgbXVsdGljYXN0IG1hYyBb
-JXg6JXg6JXg6JXg6JXg6JXhdIGluIFRDQU0KAABjaG5ldF9pcHY2X2RhZF9jYjogaGFuZGxlICV1
-LCBhZGRyX2lkICV1LCBhZGRyIHN0YXRlICV1CgAAAAAAAAAAaXB2NiBwcmVmZXJyZWQgYWRkciBb
-JTA0eCAlMDR4ICUwNHggJTA0eF0KAAAAAAAAU3RhcnRpbmcgYWRkciB2YWxpZGl0eSB0aW1lciBm
-b3IgJXUgc2Vjb25kcwoAAAAAVmFsaWRpdHkgZXhwaXJlZCBmb3IgYWRkcl9pZCAldQoAAAAAAAAA
-AAAAAAAAAAAAc2VuZGluZyBpcHY2IGVjaG8gcmVwbHkKAAAAAAAAAABjaG5ldF9pcHY2X3JzX291
-dHB1dDogbDJkZXZfZmMgMHgleAoAAAAAAAAAAAAAAABjaG5ldF9pcHY2X25zX291dHB1dDogbDJk
-ZXZfZmMgMHgleCwgZmxvd2NfaWQgMHgleCwgdmxhbiBmbGFnIDB4JXgKAAAAAAAAAAAAAAAAAGNo
-bmV0X2lwdjZfbmFfb3V0cHV0OiBsMmRldl9mYyAweCV4CgAAAAAAAAAAAAAAAGNobmV0X2lwdjZf
-bWxkdjJfcmVwb3J0X291dHB1dDogbDJkZXZfZmMgMHgleAoAAGdhdGhlcl90YXNrc190b190eF9s
-aXN0OiB0YXNrIGluIHVzZSBbJXVdCgAAAAAAAGdhdGhlcl90YXNrc190b190eF9saXN0OiBpZHgg
-WyV1XSwgdGFzayBmaWQgWzB4JXhdLCB0YXNrIHN0YXRlIFsweCV4XSwgdGFzayBjb25uIFsweCV4
-XSwgdGFzayBmZmxhZ3MgWzB4JXhdLCBjb25uIGZpZCBbMHgleF0sIGRkcCBbJWRdCgAAAAAAAAAA
-AGdhdGhlcl90YXNrc190b190eF9saXN0OiB0YXNrIFsweCV4XSwgc3RhdGUgWzB4JXhdIG9uIGNv
-bm4gWzB4JXhdIG5vdCB2YWxpZCB0byBnYXRoZXIsIHNraXBwaW5nCgAAAAAAAAAAAAAAAAAAAABn
-YXRoZXJfdGFza3NfdG9fdHhfbGlzdDogdGFzayBbMHgleF0sIHN0aWxsIHF1ZXVlZCBvbiB0eCBw
-ZW5kaW5nIGxpc3QuIFJlbW92aW5nIGl0LgoAAAAAAAAAAAAAAABnYXRoZXJfdGFza3NfdG9fdHhf
-bGlzdDogY29ubl9mYy0+Zmxvd2NfZmxhZ3MgWzB4JXhdLCBsaXN0X2VtcHR5IFsweCV4XSwgYWRk
-X3Rhc2tfY291bnQgWzB4JXhdCgB0b190eF9saXN0OiBubyB0YXNrIHRvIGNsb3NlIGZvciBjb25u
-IFsweCV4XSwgYmFpbGluZyB0byByZWNvdmVyeSBzdGF0ZSBbMHgleF0KAHNldF9kaWdlc3Q6IHVw
-bHN1Ym1vZGU6JXgKAAAAAAAAYXV0aGVudGljYXRlX3RhcmdldDogS0VZX0NIQVBfUkVTUCAtIFsw
-eCV4JXgleCV4JXgleCV4JXhdCgAAAAAAAGF1dGhlbnRpY2F0ZV90YXJnZXQ6IEtFWV9DSEFQX1JF
-U1AgLSBbMHgleCV4JXgleCV4JXgleCV4XQoAAAAAAABhdXRoZW50aWNhdGVfdGFyZ2V0OiBJbmNv
-cnJlY3QgcGFzc3dvcmQKAAAAAAAAAABDSEFQX0M6IGRpZ2VzdCBleHBhbnNpb24gZXJyb3IKAENI
-QVBfTjogVGFyZ2V0IHVzZXJpZCBtaXNtYXRjaAoAQ0hBUF9SOiBkaWdlc3QgZXhwYW5zaW9uIGVy
-cm9yCgBpU0NTSSBTZWMtcGFyYW1zIHJlY2VpdmVkIGhhdmUgZXJyb3JzISEKAAAAAAAAAABUYXJn
-ZXQgbW92ZWQgdGVtcC4gY29ubiAleCwgc2VzcyAleAoAAAAAAAAAAAAAAABMb2dpbiBGYWlsZWQh
-IS4gY29ubl9mYyBbMHgleF0sIHNlc3NfZmMgWzB4JXhdLCBzdGF0dXNfY2xhc3MgWzB4JXhdCgAA
-AAAAAAAAAAAAAFByb3RvY29sIEVycm9yIGNiaXQgJWQgdGJpdCAlZCBjc2cgJWQgbnNnICVkCgAA
-AHJlY3Zfbm9waW46IGN0cmwgdGFzayBhbHJlYWR5IHBlbmRpbmcKAAAAAAAAAAAAAG9mbGRfcnhf
-ZGF0YTogYWllZSwgaXNjc2kgY29ubiBbMHgleF0gZm9yIHNlc3MgWzB4JXhdLCB0eXBlIFsweCV4
-XSB0cmFuc2l0ZWQgaW4gdG9lIG1vZGUuIEtpY2tpbmcgcmVjb3ZlcnkgCgAAAABvZmxkX3J4X2Rh
-dGE6IGNvbm4gdGlkIFsweCV4XSwgcnhfZGF0YS0+c2VxIFsweCV4XSwgcnhfZGF0YS0+bGVuIFsw
-eCV4XSwgcnhfZGF0YS0+c3RhdHVzIFsweCV4XQoAAAAAAAAAAAAAAAAAAAAAb2ZsZF9yeF9kYXRh
-OiBjc2sgeyBpZCBbMHgleF0sIGNzb2NrX29mZnNldCBbMHgleF0sIGRsZW4gWzB4JXhdIH0KAAAA
-AAAAAAAAAAAAAABhY3RfZXN0OiB0Y2JfZmMgWzB4JXhdLCBmbG93Y19pY29ubl9mbGFncyBbMHgl
-eF0KAAAAAAAAAAAAAAAAAAAAYWN0X2VzdGFiOiB0Y2JfZmMtPmZsb3djX2J1ZiBbMHgleF0sIHRj
-Yl9mYy0+Zmxvd2NfdHlwZSBbMHgleF0gdGNiX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIG5wYWdl
-cyBbMHgleF0sIGZsb3djX3RwX3NuZF9tYXggWzB4JXhdCgAAAAAAAAAAAAAAAAAAYWN0X2VzdGFi
-OiBhdGlkIFsweCV4XSwgdGlkIFsweCV4XSwgb3AgWzB4JXhdLCByY3ZfaXNuIFsweCV4XSwgc25k
-X2lzbiBbMHgleF0sIGNzb2NrLT5mbG93Y19zdGF0ZSBbMHgleF0sIHRjcF9vcHQgWzB4JXhdLCB0
-Y2JfZmMtPmZsb3djX2lkIFsweCV4XSAKAAAAAAAAAAAAAAAAAGNza19mYy0+Zmxvd2NfY3NvY2tf
-Y29va2llIFsweCV4XSAKAAAAAAAAAAAAAAAAAG5ldF9sMmRldl9maW5kX2J5X2FkZHI2OiBsMmRl
-dl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBsMmRjLT5scG9ydCBbJXVdLCBsMmRfZmMtPmZsb3djX2lk
-IFsweCV4XSwgYWRkciBbJTA0eDolMDR4OiUwNHg6JTA0eF0KAAAAAAAAY2huZXRfcXVldWVfeG1p
-dDogZmMtPmZsb3djX2lkIFsweCV4XSwgYnVmX2xlbiBbMHgleF0sIGJ1ZmZlcmVkIFsweCV4XSwg
-Zmlmby5udW1fYnl0ZXMgWyUweF0KAAAAbmV0aWZfZG9fZGhjcHY2OiB3ci0+cGFyYW0udmxhbmlk
-IFsldV0sIGwyZGV2X2ZjLT5mbG93Y19uZXRfbDJkZXZfdmxhbmRldiBbMHgleF0KAAAAAAAAAAAA
-AAAAAAAAbmV0aWZfZG9fZGhjcHY2OiBpcHY2IG5vdCBlbmFibGVkCgAAAAAAAAAAAAAAAAAAZGhj
-cCByZXNwIHRvIGRyaXZlcgoAAAAAAAAAAAAAAABsM2luNl9kZXZfY29uZmlnOiB3ci0+cGFyYW0u
-dmxhbmlkIFsldV0sIGwyZGV2X2ZjLT5mbG93Y19uZXRfbDJkZXZfdmxhbmRldiBbMHgleF0KAAAA
-AAAAAAAAAAAAAABsM2luNl9kZXZfY29uZmlnOiBpcHY2IG5vdCBlbmFibGVkCgAAAAAAAAAAAAAA
-AABuZXRfbDNpbjZfZGV2X2NvbmZpZzogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgYWRkcmVz
-cyBhbHJlYWR5IHVzZWQgYnkgcG9ydCAlZCwgYWRkcl9pZCAlZAoAAABuZXRfbDNpbjZfZGV2X2Nv
-bmZpZzogIGFkZHIgWzB4JTA0eCUwNHglMDR4JTA0eF0sIHJlZl9jbnQgWzB4JXhdIGluIHVzZQoA
-AAAAAAAAAGwzaW40X2Rldl9jb25maWc6IHdyLT5wYXJhbS52bGFuaWQgWyV1XSwgbDJkZXZfZmMt
-PmZsb3djX25ldF9sMmRldl92bGFuZGV2IFsweCV4XQoAAAAAAAAAAAAAAAAAAG5ldF9sM2luNF9k
-ZXZfY29uZmlnOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBhZGRyZXNzIGFscmVhZHkgdXNl
-ZCBieSBwb3J0ICVkCgAAAAAAAAAAAAAAAAAAAG5ldF9sM2luNF9kZXZfY29uZmlnOiAgYWRkciBb
-MHgleF0sIG1hc2sgWzB4JXhdLCBndyBbMHgleF0sIHJlZl9jbnQgWzB4JXhdIGluIHVzZQoAAAAA
-AAAAAAAAAAAAAGwyZGV2X2ZjIFsweCV4IF0gRmFpbGVkIHRvIHN0YXJ0IHRpbWVyIGZvciBpcHY0
-IGRhZAoAAAAAAAAAAAAAAAB3cmhfY2huZXRfaWZjb25mOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4
-JXhdLCBsMmRldl9mYy0+Zmxvd2NfdHlwZSBbJTB4XSwgaWZjb25mX3dyLT5zdWJvcCBbMHgleF0K
-AAAAAAAAAAAAAAAAAAAAd3JoX2NobmV0X2lmY29uZjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4
-XSwgdW5rbm93biBzdWJvcCBbMHgleF0KAAAAAAAAAAAAAAAAAAB3cmhfY2huZXRfaWZjb25mOiBs
-MmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCByYyAlZAoAAAAAAAAAAAAAAAAAbmV0aWZfaXBfY29u
-ZmxpY3RfdGltZXJfY2I6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGV4cGVjdGluZyB0aW1l
-ciBoYW5kbGUgWyVkXSwgYnV0IGdvdCBoYW5kbGUgWyVkXSBleHBpcnkKAG5ldGlmX2lwX2NvbmZs
-aWN0X3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBpbmRldmN0eHQtPnN0YXRl
-IFslZF0sIGluZGV2Y3R4dC0+cmV0cnlfY250IFslZF0KAAAAAAAAAABuZXRpZl9pcF9jb25mbGlj
-dF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgaW5kZXZjdHh0IFsweCV4XSwg
-aW4gZnJlZSBzdGF0ZQoAAAAAAAAAAABjbWRoX2NobmV0X2lmYWNlOiBmYyBbMHgleF0sIGZjLT5m
-bG93Y19pZCBbMHgleF0sIGZjLT5mbG93Y190eXBlIFsweCV4XSwgcCBbMHgleF0sIGxlbjE2IFsl
-dV0sIGxvYyBbMHgleF0KAAAAAAAAY21kaF9jaG5ldF9pZmFjZTpsMmRldl9mYyBbMHgleF0sIGwy
-ZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGwyZGV2LT5mbG93Y190eXBlIFsldV0sIGwyZGV2X2Zj
-LT5mbG93Y19uZXRfbDJkZXZfZmxhZ3MgWyUweF0KAAAAAABjbWRoX2NobmV0X2lmYWNlOiByMlsw
-XToldSByMlsxXToldSwgc3Vib3A6MHgleAoAAAAAAAAAAAAAAAAAAAAAY21kaF9jaG5ldF9pZmFj
-ZTogbDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl9mbGFncyBjaGFuZ2VkIGZyb20gWyUweF0gdG8g
-WyUweF0sIHJjIFslZF0KAAAAAAAAAAAAY2huZXRfbDJkZXZfdXBfbWJfY2I6IHJjIFslZF0sIHBv
-cnQgWyV1XSwgc3RhdGUgWyV1XSwgY29va2llIFsweCV4XQoAAAAAAAAAAAAAAABkaGNwX3Byb2Nl
-c3NfY2I6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGRoY3R4dC0+c3RhdGUgWyUweF0sIGRo
-Y3R4dC0+cnRyeV9jbnQgWyV1XQoAAAAAAAAAAABkaGNwX3RpbWVyX2NiOiBESENQRElTQ09WRVIg
-c2VudCwgYnV0IG5vIHJlcGx5IGZyb20gYW55IHBvc3NpYmxlIHNlcnZlciBvbiB0aGUgbmV0d29y
-ay4gUmV0cnlpbmcgYWdhaW4KAAAAAAAAAAAAZGhjcF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3dj
-X2lkIFsweCV4XSwgc2VuZGluZyBESENQRElTQ09WRVIgZm9yIGRoY3R4dCBbMHgleF0gb24gcGlk
-IFslZF0KAAAAZGhjcF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgREhDUE9G
-RkVSIHJlY2VpdmVkIGZvciBkaGN0eHQgWyV4XSBwaWQgWyVkXQoAAAAAAAAAAAAAZGhjcF90aW1l
-cl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgIERIQ1BBQ0sgcmVjZWl2ZWQgZm9yIGRo
-Y3R4dCBbJXhdLCBwaWQgWyVkXQoAAAAAAAAAAAAAZGhjcF90aW1lcl9jYjogbDJkZXZfZmMtPmZs
-b3djX2lkIFsweCV4XSwgZGhjdHh0LT5pcGFkZHIgWzB4JXhdCgAAAAAAAAAAAAAAAAAAAABkaGNw
-X3RpbWVyX2NiOiBzdGFydGluZyB0aW1lciBmb3IgbGVhc2UgWyV1XSBzZWNvbmRzCgAAAAAAAAAA
-AAAAZGhjcF90aW1lcl9jYjogbGVhc2UgdGltZSBvZiBbJXVdIHNlY29uZHMgZXhwaXJlZCwgc2Vu
-ZGluZyByZW5ldyByZXF1ZXN0CgAAAAAAAABkaGNwX3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxvd2Nf
-aWQgWzB4JXhdLCBubyByZXBseSBmcm9tIGRoY3Agc2VydmVyLCB0aW1pbmcgb3V0CgAAAAAAAAAA
-AAAAAAAAAABhdXRoX25lZ29fc2VjdXJpdHk6IHNlbmRfZmxhZyBbMHgleF0sIGF1dGhfcG9saWN5
-IFsweCV4XQoAAAAAAAAAYXV0aF9uZWdvX3NlY3VyaXR5OiBLRVlfQ0hBUF9SRVNQIC0gaGFzaFsw
-eCV4JXgleCV4JXgleCV4JXhdCgAAAGF1dGhfbmVnb19zZWN1cml0eTogS0VZX0NIQVBfUkVTUCAt
-IGhhc2hbMHgleCV4JXgleCV4JXgleCV4XQoAAABhdXRoX25lZ29fc2VjdXJpdHk6IEtFWV9DSEFQ
-X1JFU1AgLSBlcnJvciBlbmNvZGluZyB0byBoZXgKAAAAAAAAYXV0aF9uZWdvX3NlY3VyaXR5OiBL
-RVlfQ0hBUF9SRVNQIC0gZWxlbiBbMHgleF0KAAAAAAAAAAAAAAAAAAAAAGF1dGhfbmVnb19zZWN1
-cml0eTogS0VZX0NIQVBfQ0hBTCAtIGVycm9yIGVuY29kaW5nIHRvIGhleAoAAAAAAABhdXRoX25l
-Z29fc2VjdXJpdHk6IEtFWV9DSEFQX0NIQUwgLSBlbGVuIFsweCV4XQoAAAAAAAAAAAAAAAAAAAAA
-bG9nb3V0X3RpbWVkb3V0OiBsb2dvdXQgcmVxdWVzdCB0aW1lZG91dCwgcG9zc2libGUgbmV0d29y
-ayBpc3N1ZXMuIEZvcmNlZnVsbHkgYnJlYWtpbmcgcGF0aCBmb3Igc2VzcyBbMHgleF0KAAAAAHBp
-bmdfdGFyZ2V0OiBwaW5nIHRpbWVvdXQsIGtpY2tpbmcgcmVjb3ZlcnkgZm9yIHNlc3MgWzB4JXhd
-CgAAAABjc29ja19mYWlsZWQ6IGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3dj
-X3N0YXRlIFsweCV4XSwgc2Vzc19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBzZXNzX2ZjLT5mbG93Y19z
-dGF0ZSBbMHgleF0sIGV2dCBbMHgleF0KAAAAAAAAAAAAAABjaG5ldF9maW5kX2lwNl9sMnRfZW50
-cnk6IGZpbmQgcHJlZml4IG1hdGNoIFslMDR4ICUwNHggJTA0eCAlMDR4XQoAAAAAAAAAAAAAAAAA
-AE5vIHJvdXRlciBjb25maWd1cmVkLCBsMmRldl9mYy0+Zmxvd2NfaWQgMHgleAoAAApSb3V0ZXIg
-bGlmZSAldSBleHBpcmVkLiBkZWxldGluZyByb3V0ZXIgWyUwNHggJTA0eCAlMDR4ICUwNHhdCgBV
-c2luZyByb3V0ZXIgWyUwNHggJTA0eCAlMDR4ICUwNHhdIHRvIHJlYWNoIFslMDR4ICUwNHggJTA0
-eCAlMDR4XQoAAAAAAAAAAAAAAAAAAGwydGVudCBbJTB4XSwgbDJ0ZW50LT5pZHggWyVkXQoAcmMg
-WyVkXSwgY3NrX2ZjIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0KAAAAAAAAAAAAAAAA
-AAAAAGNzb2NrX2FsbG9jOiBzcmNfYWRkcjoweCV4LCBkc3RfYWRkcjoweCV4CgAAAAAAAGNvbm5l
-Y3Rpb24gb3ZlciBpcHY2LCBsMmRldiBmbG93Y19pZCAweCV4CgAAAAAAAGNza19hbGs6IEludmFs
-aWQgbDJkZXY6MHgleAoAAAAAY3NrX2FsazogbmV4dDoldSwgaWR4OiV1LCB1c2VkOiV1LCBzcG9y
-dDoldQoAAAAAY3NvY2tfYWxsb2M6IGNzb2NrX3NyY19hZGRyOjB4JXgsIGNzb2NrX2RzdF9hZGRy
-OjB4JXgKAAAAAAAAAAAAAGNzb2NrX2FsbG9jOiB0eF9jaCBbMHgleF0sIGxwb3J0IFsweCV4XSwg
-Y29va2llIFslMDh4XQoAAAAAAAAAAABjc29ja19hbGxvYzogYXZhaWxhYmxlIFsldV0sIG5jc29j
-ayBbJXVdLCBwb3M6YXRpZCBbMHgleF0sIGNza19mYyBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQg
-WzB4JXhdLCBzcG9ydCBbJXVdCgAAcmVjb3ZlcnlfdGltZW91dDogc2VzcyBpZCBbMHgleF0gc3Rh
-dGUgWzB4JXhdLCByY291bnQgWyVkXSwgZmxhZ3MgWzB4JXhdCgAAAAAAAAByZWNvdmVyeV90aW1l
-b3V0OiBzZXNzIGlkIFsweCV4XSBpbiBsb2dvdXQsIGFib3J0IHRoZSBjb25uZWN0aW9uCgAAAAAA
-AAAAAAAAAAAAAHJlY292ZXJ5X3RpbWVvdXQ6IHNlc3NfZmMtPmZsb3djX2ZvaXNjc2lfc2Vzc19m
-bGFncyBbMHgleF0sIGNvbm5lY3Rpb24gcmVxdWVzdCBwZW5kaW5nLCBiYWlsaW5nIG91dAoAAAAA
-AAAAAAAAAABmb2lzY3NpOiBSZWNvdmVyeSB0aW1lZCBvdXQgYWZ0ZXIgWyV1XSByZXRyeSwgYmFp
-bGluZyBvdXQKAAAAAAAAVENQIGNvbm4gZXN0YWJsaXNobWVudCBmYWlsZWQgJWQKAAAAAAAAAAAA
-AAAAAAAAZGlzY292ZXJ5X2RhdGE6IHNlc3MgeyBpZCBbMHgleF0sIGZsYWdzIFsweCV4XSwgYnVm
-ZmVyZWQgWyV1XS4gfQoAAAAAAAAAAAAAAAAAAABkaXNjb3ZlcnlfZGF0YTogc2VzcyB7IGlkIFsw
-eCV4XSB9LCB1bHB0eGNoIFsldV0gbm8gY3JlZGl0cyBhdmFpbGFibGUsIHJlc2NoZWR1bGluZyBy
-ZXF1ZXN0LgoAAABJbnZhbGlkIG9wY29kZSAweCV4IGluIGN0cmwgcGF0aAoAAAAAAAAAAAAAAAAA
-AABERFAgZXJyb3IgWzB4JXhdLCBhYm9ydGluZyBjb25ubiBbMHgleF0KAAAAAAAAAAByeF9kYXRh
-X2RkcDogUmVzcG9uY2UgcmVjaWV2ZWQgZm9yIHRhc2sgWzB4JXhdIHdoaWxlIGludmFsaWQgdGFz
-ayBvciBjb25uZWN0aW9uIHN0YXRlLiB0YXNrIHN0YXRlIFsweCV4XSwgY29ubiBzdGF0ZSBbMHgl
-eF0sIGNvbm4gZmxhZ3MgWzB4JXhdCgBpaGRyOiBSZXNwb25jZSByZWNpZXZlZCBmb3IgdGFzayBb
-MHgleF0gd2hpbGUgaW52YWxpZCB0YXNrIG9yIGNvbm5lY3Rpb24gc3RhdGUuIHRhc2sgc3RhdGUg
-WzB4JXhdLCBjb25uIHN0YXRlIFsweCV4XSwgY29ubiBmbGFncyBbMHgleF0KAAAAAAAAAABpaGRy
-OiBJbnZhbGlkIHRhc2sgc3RhdGUgMHgleCBmb3IgdGFzayAweCV4LCBpdHQgWzB4JXhdLCBvcGMg
-WzB4JXhdCgAAAAAAAAAAAAAAAHByb2Nlc3NfdG1mX3Jlc3BvbnNlOiBidWZmZXJlZCBbMHgleF0s
-IGlzdGFza19mYy0+Zmxvd2NfYnVmLT5zY2hlZF9ub2RlLm5leHQgWzB4JXhdLCBpc3Rhc2tfZmMg
-WzB4JXhdLCBpc3Rhc2tfZmMtPmZsb3djX2lkIFsweCV4XQoAAAAAAAAAAAAAAAAAAHByb2Nlc3Nf
-dG1mX3Jlc3BvbnNlOiB3ciBvcCBbMHgleF0sIHRtZiBvcCBbMHgleF0KAAAAAAAAAAAAAAAAAAB0
-bWZfcmVzcDogZmxvd2M6MHgleCwgaWQ6MHgleCwgc3RhdGU6MHgleCwgeWllbGQ6MHgleAoAAAAA
-AAAAAAAAdG1mX3Jlc3A6IHRfdGFzazoweCV4IGZyZWVkLgoAAABzY3NpX2NtZF9yZXNwOiBmbG93
-YzoweCV4LCBpZDoweCV4LCBzdGF0ZToweCV4LCB5aWVsZDoweCV4CgAAAAAAZGF0YV9pbl9yZXNw
-OiBmbG93YzoweCV4LCBpZDoweCV4LCBzdGF0ZToweCV4LCB5aWVsZDoweCV4CgAAAAAAAHJldHVy
-bl9wZW5kaW5nX3Rhc2s6IGNvb2tpZSBbMHglMDh4XSwgWzB4JTA4eF0KAHJldHVybl9wZW5kaW5n
-X3Rhc2s6IGRlbGF5IHByb2Nlc3NpbmcsIGNvbm4gZmxhZ3MgWzB4JXhdCgAAAAAAAAByZXR1cm5f
-cGVuZGluZ190YXNrOiBEb25lIHNlbmRpbmcgdGFzayBlcnJvciB0byBob3N0LCB1bHB0eGxlbjE2
-IFsldV0KAAAAAAAAAAAAAHJldHVybl9wZW5kaW5nX3Rhc2s6IGRlcXVldWUgdGFzayBbMHgleF0s
-IHN0YXRlIFsweCV4XSBmcm9tIHR4X2xpc3QKAAAAAAAAAAAAAAAAcmV0dXJuX3BlbmRpbmdfdGFz
-azogYWxsIHRhc2tzIHJldHVybmVkLCByZWNvdmVyeSBzdGF0ZSB0cmFucyB0byBbMHgleF0KAAAA
-AAAAAABjbGVhcl9kZHBfbWFwOiBpc3Rhc2tfZmMgWzB4JXhdLCBpc3Rhc2tfZmMtPmZsb3djX2lk
-IFsweCV4XSBidWZmZXJlZCAldQoAAAAAAAAAAGNsZWFyX2RkcF9tYXA6IGlzdGFza19mYy0+Zmxv
-d2NfaXRhc2tfbnBwb2QgJXUsIG5wcG9kICV1LCBwcGRhZGRyIFsweCV4XQoAAAAAAAAAY2xlYXJf
-ZGRwX21hcDogYWxsIHJldHVybmVkIHRhc2tzIGRkcCBjbGVhcmVkLCByZWNvdmVyeSBzdGF0ZSB0
-cmFucyB0byBbMHgleF0KAAB3cmhfZm9pc2NzaV9ub2RlOiBub2RlX3dyLT5mbG93aWRfbGVuMTYg
-MiBbJXhdCgB3cmhfZm9pc2NzaV9jaGFwOiBpZF9sZW4gWyV4XSwgc2VjX2xlbiBbJXhdCgAAAAB3
-cmhfZm9pc2NzaV9jaGFwOiB0Z3RfaWRfbGVuIFsleF0sIHRndF9zZWNfbGVuIFsleF0KAAAAAAAA
-AAAAAAAAc2Vzc2lvbl9ibG9jazogc2Vzc19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBzZXNzX2ZjLT5m
-bG93Y19zdGF0ZSBbMHgleF0sIGNvbm5fZmMtPmZsb3djX2lkIFsweCV4XSwgY29ubl9mYy0+Zmxv
-d2Nfc3RhdGUgWzB4JXhdLCBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19z
-dGF0ZSBbMHgleF0KAAAAAAAAAAAAAAAAAAAAc2Vzc2lvbl91bmJsb2NrOiBzZXNzX2ZjLT5mbG93
-Y19pZCBbMHgleF0sIHNlc3NfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwgY29ubl9mYy0+Zmxvd2Nf
-aWQgWzB4JXhdLCBjb25uX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQg
-WzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRlIFsweCV4XQoAAAAAAAAAAAAAAAAAc3RhcnRfbG9n
-b3V0OiBTZXNzLWlkIFsweCV4XSBhbHJlYWR5IGxvZ2dpbiBvdXQuCgAAAAAAAAAAAAAAAAAAAHBl
-ZXJfY29uOiBjc2tfZmMgPT4gZmxvd2lkIFsweCV4XSwgZmxvd2NfYnVmIFsweCV4XQoAAAAAAAAA
-AAAAAABhbGxvY19zZXNzOiBsb2dpbl9yZXRyeSBbJWRdLCByZWNvdl90aW1lb3V0IFslZF0KAAAA
-AAAAAAAAAAAAAAAAZm9pc2NzaV9jdHJsOiBzdWJvcCBbMHgleF0sIHNlc3NfdHlwZV90b19lcmwg
-WzB4JXhdLCBzZXNzX3R5cGUgWzB4JXhdCgAAAAAAAAAAAABmb2lzY3NpX2N0cmw6IHJlY2VpdmVk
-IGJsb2NrZWQgZnJvbSBkcml2ZXIsIHRyaWdnZXJpbmcgcmV0dXJuIHRhc2tzIG5vdy4KAAAAAAAA
-AFdBVENIRE9HX2Rpc3BhdGNoIGNhc2UgdG8gYXZvaWQ6IENvdW50ZXJfd2F0Y2hkb2cgJXUgQ291
-bnRlcl9zY2hlZCAldSAKAAAAAAAAAAAAV0FUQ0hET0c6IGRldmljZSBzaHV0ZG93bgoAAAAAAABX
-QVRDSERPRzogcG9ydFsldV0gcGF1c2Ugd2F0Y2hkb2cgdGltZW91dAoAAAAAAABXQVRDSERPRzog
-YnlwYXNzIHRpbWVvdXQKAAAAAAAAAFdBVENIRE9HOiBGTFIgLSBub3QgaW1wbGVtZW50ZWQgeWV0
-CgAAAAAAAAAAAAAAAFdBVENIRE9HOiB0ZW1wZXJhdHVyZSBvZiAlZEMgZXhjZWVkcyB0aHJlc2hv
-bGQgb2YgJWRDCgAAAAAAAAAAAABmaWx0ZXI6IHBvcmdyYW1taW5nIHRpZCAldSAobGUgdGNhbSBp
-bmRleCAldSkuLi4KAAAAAAAAAAAAAAAAAAAAZmlsdGVyOiByZXF1ZXN0aW5nIGNvbXBsZXRpb24u
-Li4KAAAAAAAAAAAAAAAAAAAAY2huZXRfaXB2Nl9saW5rX2NoYW5nZV9ub3RpZnk6IGwyZGV2X2Zj
-IFsweCV4XSwgc3RhdHVzICV1CgAAAAAAAGwyZGV2X3NlbmRfcG9ydF9ldmVudDogd3IgWzB4JXhd
-IHBlbmRpbmcgb24gcG9ydCBbJWRdLCBjdXJyZW50IHRyeSBbJWRdCgAAAAAAAAAAZGNieF9pZWVl
-X2NtZGhbJXVdIHdyaXRlIG9ubHkgcGVybWl0dGVkIG9uIGxvY2FsIGNvbmYKAAAAAAAAAAAAAGRj
-YnhfaWVlZV9jbWRoWyV1XSBjYW5ub3Qgd3JpdGUgJXUgYXBwcyAoTUFYOiAldSkKAAAAAAAAAAAA
-AAAAAABkY2J4X2llZWVfY21kaFsldV0gcmVxdWVzdGluZyBEQ0JfSUVFRV9DTUQKAAAAAABkY2J4
-X2llZWVfY21kaFsldV0gdW5rbm93biBmZWF0dXJlIHdyaXRlOiAldQoAAABkY2J4X2llZWVfY21k
-aFsldV0gdW5rbm93biBmZWF0dXJlIHJlYWQ6ICV1CgAAAABjYW5ub3QgYWxsb2NhdGUgb2ZmbG9h
-ZGVkIGZpbHRlciBjb25uZWN0aW9uCgAAAABjYW5ub3QgYWxsb2NhdGUgb2ZmbG9hZGVkIGZpbHRl
-ciBJUHY2IGNvbm5lY3Rpb24KAAAAAAAAAAAAAAAAAAAAZGlzcGF0Y2hfZGVmZXJyZWRfY2xhc3Nf
-Y2xhc3Nfc2hhcGluZ1sldToldV06IGxpc3RfZW1wdHkKAAAAAAAAAGxvb3BiYWNrIGJ1ZmZlciBn
-cm91cFsldV0gaXMgZGlzYWJsZWQKAAAAAAAAAAAAAGludmFsaWQgYnVmZmVyIGdyb3VwWyV1XSBj
-b25maWd1cmF0aW9uOiBtdHUgJXUgbHdtICV1IGh3bSAldSBkd20gJXUKAAAAAAAAAAAAAAAAZmMg
-JXUgdmYgJXUgZ290IGl2Zj0weCV4LHJhbmdlOiAlI3gtJSN4ICgldS8ldSB1c2VkKQoAAAAAAAAA
-AAAAAFZJICV1IGNhbm5vdCBnZXQgUlNTIHNsaWNlOiBObyBtb3JlIHNsaWNlcyBhdmFpbGFibGUg
-KHVzZWQgJXUvJXUpCgAAAAAAAAAAAAAAAAAAcGZuICV1IHZmbiAldSB3aXRoIHBvcnQgbWFzayAw
-eCV4IGNhbm5vdCBhY2Nlc3MgcG9ydCAldSwgcmV0ICVkCgAAAAAAAAAAAAAAAAAAAABwZm4gJXUg
-dmZuICV1IGNvdWxkIG5vdCBhbGxvY2F0ZSB2aWlkLCByZXQgJWQKAABwZm4gJXUgdmZuICV1IGNv
-dWxkIG1hcCB2aWlkICAweCV4IHRvIGZsb3djLCByZXQgJWQKAAAAAAAAAAAAAAAAcGZuICV1IHZm
-biAldSBjb3VsZCBub3QgYWxsb2NhdGUgdXdpcmUgZnVuYyAlZCBtYWMgYWRkciwgcmV0ICVkCgAA
-AAAAAAAAAAAAAAAAAABtaWlfaW5pdFsldV06IGFjYXBzIDB4JXgKAAAAAAAAAG1paV9mb3JjZV9z
-cGVlZFsldV06IHJjYXBzIDB4JXgKAAAAAAAAAAAAAAAAAAAAAG1paV9wZG93blsldV06IHBvd2Vy
-ZG93biBlbiAldQoAcG9ydF9jbWRfaGFuZGxlcjogdW5rbm93biB1LmRjYi50eXBlIDB4JXgKAAAA
-AAAAcG9ydFsldToweCUwMng6MHglMDJ4XTogdW5rbm93biBhY3Rpb24gMHgleAoAAAAAcG9ydFsl
-dToweCUwMng6MHglMDJ4XTogdW5rbm93biByZWFkIGFjdGlvbiAweCV4CgAAAAAAAAAAAAAAAAAA
-AGNwbF9lcnJfbm90aWZ5OiB0aWQgJXUgY3BsIDB4JTA4eCUwOHgKAAAAAAAAAAAAAGNwbF9lcnJf
-bm90aWZ5OiB0aWQgJXUgY3BsIDB4JTA4eCUwOHggMHglMDh4JTA4eAoAAAAAAAAAAAAAAAAAAABj
-cGxfZXJyX25vdGlmeTogdGlkICV1IGxlbiAldQoAAEZDT0UgRnJlZTogc3RpbGwgeWllbGRlZCB3
-aGVuIGZyZWVpbmcuLi5mbG93Y19pZCAleCBmbG93Y19mbGFncyAleCAKAAAAAAAAAAAAAAAARkNP
-RSBCUCBXUiBFUlI6IFdSIHdpdGggY29va2llICV4JXggZXJyb3JlZCBiYWNrIAoAAAAAAAAAAAAA
-AAAAAHNjc2lfYWJvcnQ6IEVudGVyaW5nIEFib3J0X3Rhc2ssIGJ1ZmZlcmVkIFsldV0KAHNjc2lf
-YWJvcnQ6IHJjIFsweCV4XSByZWYgdGFzayBub3Qgb3V0c3RhbmRpbmcKAHNjc2lfYWJvcnQ6IGlk
-YXRhLT5vcCBbMHgleF0sIGZsYWdzIFsweCV4XSwgZnVuYyBbMHgleF0sIGx1bl9pZHggWzB4JXhd
-CgAAAAAAAAAAc2NzaV9hYm9ydDogd3ItPmlxaWQgWzB4JXhdLCBpc3Rhc2tfZmMtPmZsb3djX3Nn
-ZV9pcWlkIFsweCV4XSwgaXN0YXNrX2ZjIHRhc2sgZmxhZ3MgWzB4JXhdCgAAAAAAc2NzaV9hYnJ0
-OnRhc2sgZmxvd2NbMHgleF0sIHRtZl9saXN0X2VtcHR5OgoAAAAAc2NzaV9hYm9ydDogY29ubiBb
-MHgleF0sIGNtZHNuIFsweCV4XSwgc2VudF9jbWRzbiBbMHgleF0sIG1heF9jbWRzbiBbMHgleF0s
-IGl0dCBbMHgleF0KAAAAAAAAAAAAYWJvcnQvY2xvc2UgV1Igd2l0aCBjb29raWUgMHglbHggd2Fz
-IGlzc3VlZCBvbiBzc24gMHgleCBpbiB3cm9uZyBzdGF0ZSAweCV4CgAAAABhYm9ydCBXUiBvbiBz
-c24gMHgleCBkaWQgbm90IGZpbmQgV1Igd2l0aCBjb29raWUgMHgleCV4CgAAAAAAAAAAY2xvc2Ug
-V1Igd2l0aCBjb29raWUgMHglbHggb24gc3NuIDB4JXg7ZGlkIG5vdCBmaW5kIFdSIHdpdGggY29v
-a2llIDB4JWx4CgAAAAAAAABhYm9ydCBXUiBvbiBzc24gMHgleCB3YXMgaXNzdWVkIG9uIHhjaGcg
-MHgleCB3aXRoIHJ4X2lkIDB4JXggaW4gd3Jvbmcgc3RhdGUgMHgleAoAAAAAAAAAAAAAAAAAAABz
-Y3NpX2x1cjogRW50ZXJpbmcgTFVSIGhhbmRsZXIsIGJ1ZmZlcmVkIFsldV0KAABzY3NpX2x1cjog
-aWRhdGEtPm9wIFsweCV4XSwgZmxhZ3MgWzB4JXhdLCBmdW5jIFsweCV4XSwgbHVuX2lkeCBbMHgl
-eF0KAAAAAAAAAAAAAHNjc2lfbHVyOiB3ci0+aXFpZCBbMHgleF0sIGlzdGFza19mYy0+Zmxvd2Nf
-c2dlX2lxaWQgWzB4JXhdLCBpc3Rhc2tfZmMgdGFzayBmbGFncyBbMHgleF0KAAAAAAAAAHNjc2lf
-bHVyOiBjb25uIFsweCV4XSwgY21kc24gWzB4JXhdLCBzZW50X2NtZHNuIFsweCV4XSwgbWF4X2Nt
-ZHNuIFsweCV4XSwgaXR0IFsweCV4XQoAAAAAAAAAAAAAAGRjYnhfYXBwbHlfYXBwX2NmZ1sldV1O
-RVcgQVBQIFRMViAKAAAAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0g
-RkVBVFVSRV9MSU5LVVAKAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gU0VUX0xPQ0FM
-X1BBUkFNRVRFUlMKAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZF
-QVRVUkVfTk9fQURWRVJUSVNFCgAAAAAAAAAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJl
-WyV1XSBGRUFUVVJFX1BFRVJfTk9UX0FEVkVSVElTRV9EQ0JYCgAAAAAAAAAAAAAAAAAAAABkY2J4
-X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfUEVFUl9OT1RfQURWRVJUSVNFX0ZF
-QVRVUkUKAAAAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVS
-RV9VUERBVEVfT1BFUl9WRVJTSU9OCgAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVd
-IEZFQVRVUkVfUEVFUl9VUERBVEVfT1BFUl9WRVJTSU9OCgAAAAAAAAAAAAAAAAAAAGRjYnhfY2Vl
-X2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9HRVRfUEVFUl9DRkcKAAAAAAAAAAAAAABk
-Y2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfQ0ZHX05PVF9DT01QQVRJQkxF
-CgAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX1VTRV9MT0NBTF9D
-RkcKAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9VU0Vf
-UEVFUl9DRkcKAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRV
-UkVfRkVBVFVSRV9ESVNBQkxFRAoAAAAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1
-XSBGRUFUVVJFX0VSUk9SX0NIQU5HRQoAAAAAAAAAAAAAAGRjYnhfaWVlZV9wcm9jZXNzWyV1XSBy
-ZWNlaXZlZCBCV3MgZG8gbm90IGFkZCB1cCB0byAxMDAhCgAAAAAAAABXQVJOSU5HOiByZWNlaXZl
-ZCBBcHAgVExWIGNvbnRhaW5zIG1vcmUgdGhhbkZXIGNhbiBoYW5kbGUgKG1heDogJXU7IHRsdiBj
-b250YWluczogJXUKAAAAAAAAAAAAAABkY2J4X2llZWVfcHJvY2Vzc1sldV0gc3VidHlwZSAlI3gg
-cmVtX2Z0X2NoYW5nZWQgJXUgc21fY2hhbmdlICV1CgAAAAAAAAAAAAAAAAAAAGRjYnhfaWVlZV9w
-cm9jZXNzWyV1XSBzdWJ0eXBlIHVua25vd24KAAAAAAAAAAAAAGRjYnhfcGFyc2VfcGt0WyV1XSBl
-cnJvciAlZAoAAAAAaXB2Nl9hZGRfcHJlZml4X2luX2xpc3Q6IG5vZGUgZm91bmQgMHgleAoAAAAA
-AAAAaXB2Nl9hZGRfcHJlZml4X2luX2xpc3QsIG5vZGUgbm90IGZvdW5kCgAAAAAAAAAAY2huZXRf
-YXJwX3VwZGF0ZV9jYWNoZTogYXJwIGlwNCBlbnRyeSBmb3VuZCAKAAAAY2huZXRfYXJwX3VwZGF0
-ZV9jYWNoZTogYXJwIGlwNiBlbnRyeSBmb3VuZCAKAAAAY2huZXRfYXJwX3VwZGF0ZV9jYWNoZTog
-Ym90aCBpcDQgYW5kIGlwNiBhZGRyIGNhbm5vdCBiZSBudWxsCgAAAGNobmV0X2wydF91cGRhdGU6
-IGwydF91cGRhdGUgcmVxdWVzdCBzZW50IGwydGVudCBbJTA4eF0sIGwydGVudC0+aWR4IFslZF0s
-IGwydGVudC0+dmxhbiBbJWRdCgAAAGNobmV0X2lwdjZfcmFfaW5wdXQ6IEludmFsaWQgUkEKAAAA
-AAAAAAAAAAAAAAAAAGlwdjYgUkEgcmN2ZAoAAAByb3V0ZXIgbm90IHByZXNlbnQgaW4gb3VyIGxp
-c3QuIGFkZGluZyBpdAoAAAAAAABJbnZhbGlkIG9wdGlvbiBsZW5ndGggJXUgaW4gU0xMQSBvcHRp
-b24KAAAAAAAAAABHT1QgU0xMQSBvcHRpb24gaW4gUkEsIGxlbiAldQoAAEludmFsaWQgb3B0aW9u
-IGxlbmd0aCAldSBpbiBwcmVmaXggb3B0aW9uCgAAAAAAAEludmFsaWQgb3B0aW9uIGxlbmd0aCAl
-dSBpbiBtdHUgb3B0aW9uCgAAAAAAAAAAAEludmFsaWQgcGFja2V0IHdpdGggJXUgZXh0cmEgYnl0
-ZXMKAAAAAAAAAAAAAAAAAG1sZDYgcXVlcnkgcmN2ZAoAAAAAAAAAAAAAAAAAAAAAY2huZXRfaXB2
-Nl9tbGQ2X3F1ZXJ5X2lucHV0OiBJbnZhbGlkIE1MRCBxdWVyeQoAVW5zdXBwb3J0ZWQgcXVlcnkg
-dmVyc2lvbi4gb25seSBtbGR2MiBxdWVyeSBzdXBwb3J0ZWQKAAAAAAAAAAAAAHF1ZXJ5IHJlc3Bv
-bnNlIGRlbGF5ICV1IChpbiAxMG1zIHVuaXQpIAoAAAAAAAAAAGFscmVhZHkgYSBnZW5lcmFsIHF1
-ZXJ5IHBlbmRpbmcgaW4gJXUgKDEwbXMpCgAAAERlYnVnIHRoZSBjb2RlLiBncnBfbm9kZSBtdXN0
-IGJlIHByZXNlbnQKAAAAAAAAAGFscmVhZHkgYSBtdWx0aWNhc3QgcXVlcnkgcGVuZGluZyBpbiAl
-dSAoMTBtcykKAGlwdjYgZWNobyByZXEgcmN2ZAoAAAAAAAAAAAAAAAAAREhDUHY2IHBhY2tldCB0
-eXBlICV1LCBvcHRzbGVuICV1IHJlY2VpdmVkCgAAAAAASW52YWxpZCBkaGNwIHN0YXRlICVkCgAA
-AAAAAAAAAABJZ25vcmUgREhDUHY2IG1zZyB4aWQgJXgsICBkaDZjdHh0LT54aWQgJXgKAAAAAABF
-cnJvciBpbiBESENQdjYgb3B0aW9ucyBwYXJzaW5nLiBJZ25vcmluZyBtc2csIGkgJWQsIG9wdHNs
-ZW4gJWQKAAAAAAAAAAAAAAAAAAAAAERIQ1AgZmFpbGVkLCBzdGF0dXNjb2RlICVkLiBJZ25vcmlu
-ZyBhZHZlcnRpc2UKAGljbXA2IGNoZWNrc3VtIHZhbGlkYXRpb24gZmFpbGVkLCBvciBlcnIgcmN2
-ZGlnbm9yaW5nIGljbXA2IG1zZyAldSwgZGxlbiAldQoAAAAAbmV0aWZfcHJvY2Vzc19kaGNwOiBs
-MmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBwcm9jZXNzaW5nLCBvcHRfbGVuICV1CgAAAAAAAAAA
-AABjaG5ldF9kaGNwX3JlY3Y6IHZsYW5pZCBbJXVdLCBsMmRldl9waWRfZmMtPmZsb3djX25ldF9s
-MmRldl92bGFuZGV2IFsweCV4XSwgbDJkZXZfZmMgWzB4JXhdCgAAAABjaG5ldF9kaGNwX3JlY3Y6
-IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGRoY3R4dC0+c3RhdGUgWyVkXSwgbWFsYWNpb3Vz
-IGRoY3AgcmVjdiBmb3Igbm8gcmVxdWVzdAoAAAAAAAAAAAAAAAAAZGhjdHh0LT5zdGF0ZSA6ICVk
-CgAAAAAAAAAAAAAAAABsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBCYWQgREhDUCBjb29raWUg
-cmVjaWV2ZWQsIGFib3J0aW5nCgAAQ291bGQgbm8gYWxsb2NhdGUgcGNiISEgRnJlZWluZyBmY2Yg
-ISEhCgAAAAAAAAAAdm5fcGFyc2UgdW5rbm93biBzdWJjb2RlICV1CgAAAAB2bl9wYXJzZSB1bmtu
-b3duIGR0eXBlICV1CgAAAAAAAGlnbm9yaW5nIGZpcCByZWN2IGZvciBwY2IgZmxvdzoleCBpbiBv
-ZmZsaW5lIHN0YXRlCgAAAAAAAAAAAAAAAABmaXBfdm4ydm5fcmVjdl9lcnIgCgAAAAAAAAAAAAAA
-AENvdWxkIG5vdCBhbGxvY2F0ZSBmbG93YyEhISEKAAAAQ291bGQgbm90IGFsbG9jYXRlIFNDQiBm
-bG93YyEhISEKAAAAAAAAAAAAAAAAAAAAQ291bGQgbm90IGZpbmQgcmlnaHQgc2NiIGZvciBsb2dv
-CgAAAAAAAAAAAAAAAAAAaWdub3JpbmcgZmlwIHJlY3YgZm9yIGZjZiBmbG93OiV4IGluIG9mZmxp
-bmUgc3RhdGUKAAAAAAAAAAAAAAAAAENvdWxkIG5vdCBmaW5kIHJpZ2h0IHNjYiBmb3IgZmxvZ2kK
-AAAAAAAAAAAAAAAAAHBvcnQgMHgleCwgc3RhdGUgMHgleCwgcmV0cnkgbm90IHN1cHBvcnRlZAoA
-AAAAAEZsb2dpIHJlc3AgcmN2IHdpdGggdW5rbm93biB4Y2hnIG94X2lkJXggc2lkICUyeCUyeCUy
-eCBkaWQgJTJ4JTJ4JTJ4CgAAAAAAAAAAAAAATl9QT1JUIDB4JXgleCV4IHJlamVjdGVkIFBMT0dJ
-IHdpdGggcmVhc29uIGNvZGUgJXgKAAAAAAAAAAAAAAAAAEFCVFMgd2hpbGUgYXdhaXRpbmcgUFJM
-SSBSc3A6IGZsb3djX2lkIDB4JXggb3hfaWQgMHgleCByeF9pZCAweCV4IAoAAAAAAAAAAAAAAAAA
-QUJUUyBmYWtlIFJzcDogbG9jIDB4JXggb3hfaWQgMHgleCByeF9pZCAweCV4CgAAbGxkcF9yeF9w
-a3RfaGFuZGxlclsldV0gZHJvcCBwcmUtaW5pdCAoY291bnQgPSAldSkKAAAAAAAAAAAAAAAAACV4
-JXgleCBSZWNpZXZlZCBMT0dPIGZyb20gJXgleCV4IAoAAAAAAAAAAAAAAAAAAEZhaWxlZCB0byBw
-b3N0IHhjaGcgZXJyOiBzc25pIDB4JXggY29va2llIDB4JWx4IHJ2YWwgJXggCgAAAAAAAAB0Y3Bf
-cmVsZWFzZV90aWQ6IHRpZCBbMHgleF0sIGZsb3djIGZsYWdzIFsweCV4XSwgYnVmZmVyZWQgWzB4
-JXhdCgAAAAAAAAAAAAAAAAAAAHRjcF9yZWxlYXNlX3RpZDogc2l6ZW9mKHRjYl9mYy0+Zmxvd2Nf
-aWNvbm4pIFsldV0sIGJ5dGVzCgAAAAAAAABhY3Rfb3Blbl9ycGw6IGF0aWQgWzB4JXhdLCB0aWQg
-WzB4JXhdLCB0Y2JfZmMtPnsgaWQgWzB4JXhdLCBzdGF0ZSBbMHgleF0sIHR5cGUgWzB4JXhdIH0s
-IGNwbF9vcCBbMHgleF0sIHN0YXR1cyBbMHgleF0KAAAAAAAAAAAAAGFjdF9vcGVuX3JwbDogY3Nr
-X2ZjLT57IGlkIFsweCV4XSwgc3RhdGUgWzB4JXhdLCBjc29ja19mbGFncyBbMHgleF0gfSAKAAAA
-AAAAAAAAYWN0X29wZW5fcnBsOiByZWN2ZCBuZWcgYWR2aWNlIFsweCV4XQoAAAAAAAAAAAAAc2Vu
-ZF9hYm9ydF9ycGw6IGNza19mYy0+Zmxvd2NfdHlwZSBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQg
-WzB4JXhdLCB0aWQgWzB4JXhdLCB1bHB0eGNoIFsldV0sIGJ1ZmZlcmVkIFsldV0KAAAAAHdyaF9v
-ZmxkX3RjcF9jbG9zZV9jb25fcmVwbHk6IHRjYl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCB0Y2JfZmMt
-PmZsb3djX3R5cGUgWzB4JXhdLCBsZW4xNiBbJXVdLCBsb2MgWyV1XQoAAAAAAAAAAAB3cmhfb2Zs
-ZF90Y3BfY2xvc2VfY29uX3JlcGx5OiBycGwtPm9wX1RpZCBbMHgleF0sIHJwbD5zdGF0dXMgWzB4
-JXhdLCBycGwtPnNuZF9ueHQgWzB4JXhdLCBycGwtPnJjdl9ueHQgWzB4JXhdCgAAdGNwX2Fib3J0
-X3JwbF9yc3M6IHRpZCBbMHgleF0sIHN0YXR1cyBbMHgleF0KAAAAdGNwX2Fib3J0X3JlcV9yc3M6
-IHRpZCBbMHgleF0sIHN0YXR1cyBbMHgleF0sIGZsb3djX2Nzb2NrX2ZvaXNjc2lfc3RhdGUgWzB4
-JXhdCgBvZmxkX2Fib3J0X3JlcV9uZWdhZHZbJXVdOiB3ciAweCUwOHggY3BsX2Fib3J0X3JlcSBE
-RUxJVkVSRUQKAAAAaG9zdF93clsldV06IHdyIDB4JTA4eCBjcGxfYWJvcnRfcmVxIHN0YXR1cyAw
-eCV4CgAAAAAAAAAAAAAAAAAAAHBrdHNjaGVkX2NsX3JsWyV1OiV1XTogbW9kZSB8IHVuaXQgfCBy
-YXRlIDB4JTA2eCBtaW4gJXUgbWF4ICV1IHBrdHNpemUgJXUKAAAAAAAAcGYgJWQsIHZmICVkIHNl
-Y3JldCBrZXlfaW5kZXggJWQsIFZGIHNlY3JldCAweCV4CgAAAAAAAAAAAAAAAAAAAHBhcmFtX2No
-bmV0WzB4JXg6MHgleF06IGNobmV0IDB4JXggcmVhZCAldSBwZiAldSByZXQgJWQKAAAAAAAAAABw
-YXJhbV9kbWFxWzB4JXg6MHgleF06IGRtYXEgMHgleCByZWFkICV1IHBmICV1IHJldCAlZAoAAAAA
-AAAAAAAAUlNTU0VDUkVUS0VZOiByc3NzZWNyZXQgdGJsIGJhc2UgJWQsIHJzc25zZWNyZXQgJWQK
-AAAAAAAAAAAAAAAAAE1DWyV1XSBpbml0X3N0YXRlX21hY2hpbmUgMHglMDJ4CgAAAAAAAAAAAAAA
-AAAAAE1DIGluaXRpYWxpemF0aW9uIG5vdCBjb21wbGV0aW5nLCBNQyBjdXJyZW50IGluaXQgc3Rh
-dGUgaXMgMHglMDJ4CgAAAAAAAAAAAAAAAAAATUNbJXVdIF9od19tY19pbml0X21jCgAAAAAAAAAA
-AABfaHdfbWNfaW5pdF9tYzogZXJyb3IsIHJldCAlZAoAAF9od19tY19pbml0X21jX2ZwZ2FbJXVd
-OiBlcnJvciAlZAoAAAAAAAAAAAAAAAAAAHBoeTogZmFpbGVkIHRvIGFsbG9jYXRlZCBtZW1vcnkg
-Zm9yIHBoeSBmdyBmaWxlLCByZXQgJWQKAAAAAAAAAABod19sZV9maWx0ZXJfY3R1cGxlOiB0dXBs
-ZSAldSBub3Qgc3BlY2lmaWVkIGJ1dCByZXF1aXJlZCBmb3IgbWFzayAweCV4CgAAAAAAAAAAAGxl
-IGNvbmZpZ3VyYXRpb246IGhhc2ggcmVnaW9uIHRvbyBsYXJnZSB0byBlbmFibGUgc2VydmVyIHNy
-YW0KAABsZSBjb25maWd1cmF0aW9uOiBjYW5ub3QgZW5hYmxlIHNlcnZlciBzcmFtIHdoZW4gaGFz
-aCByZWdpb24gaXMgZGlzYWJsZWQKAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiB0aW1lcl9y
-cyAldXVzIHRpbWVzdGFtcF9yZXMgJXV1cyBkZWxheWVkYWNrX3JlcyAldXVzCgAAAAAAaHdfdHBf
-dGNwX3NldHRpbmdzX3c6IGRhY2tfdGltZXIgJXV1cyBtc2wgJXV1cyByeHRfbWluLG1heCAldSwl
-dXVzIHBlcnNfbWluLG1heCAldSwldXVzCgAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGtl
-ZXBfaWRsZSxpbnR2bCAldSwldXMgbWF4cnR0ICV1dXMgaW5pdHNydHQgJXV1cyBmaW53YWl0Ml90
-aW1lciAldXVzCgAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgZGFja190aW1lciBm
-cm9tICV1IHRvICV1AAAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIG1zbCBm
-cm9tICV1IHRvICV1AGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIHJ4dF9taW4gZnJvbSAl
-dSB0byAldQAAAAAAAAAAAAAAAABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyByeHRfbWF4
-IGZyb20gJXUgdG8gJXUAAAAAAAAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcg
-cGVyc19taW4gZnJvbSAldSB0byAldQAAAAAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBj
-YXBwaW5nIHBlcnNfbWF4IGZyb20gJXUgdG8gJXUAAAAAAAAAAAAAAABod190cF90Y3Bfc2V0dGlu
-Z3NfdzogY2FwcGluZyBrZWVwX2lkbGUgZnJvbSAldSB0byAldQAAAAAAAAAAAAAAaHdfdHBfdGNw
-X3NldHRpbmdzX3c6IGNhcHBpbmcga2VlcF9pbnR2bCBmcm9tICV1IHRvICV1AAAAAAAAAAAAAGh3
-X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIGluaXRfc3J0dF9tYXhydHQgZnJvbSAldSB0byAl
-dQAAAABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyBpbml0X3NydHRfaW5pdHNydHQgZnJv
-bSAldSB0byAldQAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgZmlud2FpdDJfdGltZXIg
-ZnJvbSAldSB0byAldQAAAAAAAGZpbHRlck1vZGU9JSN4IGlsbGVnYWw6IHNlbGVjdHMgJWQgYml0
-cyAobWF4ICVkKQoAAAAAAAAAAAAAAAAAAABsZSBjb25maWd1cmF0aW9uOiBuZW50cmllcyAldSBy
-b3V0ZSAldSBjbGlwICV1IGZpbHRlciAldSBhY3RpdmUgJXUgc2VydmVyICV1IGhhc2ggJXUKAAAA
-AAAAAAAAAABsZSBjb25maWd1cmF0aW9uOiBuZW50cmllcyAldSByb3V0ZSAldSBjbGlwICV1IGZp
-bHRlciAldSBzZXJ2ZXIgJXUgYWN0aXZlICV1IGhhc2ggJXUgbnNlcnZlcnNyYW0gJXUKAAAAAAAA
-AAAAAAAAaHdfc2dlX3F1ZXVlX2Jhc2VfbWFwWyV1XTogZXhjZWVkZWQgbnVtYmVyIG9mIGVncmVz
-cyBxdWV1ZXMsICV1CgAAAAAAAAAAAAAAAAAAAABod19zZ2VfcXVldWVfYmFzZV9tYXBbJXVdOiBl
-eGNlZWRlZCBudW1iZXIgb2YgaW5ncmVzcyBxdWV1ZXMgd2l0aCBmcmVlbGlzdCBhbmQgaW50ZXJy
-dXB0LCAldQoAAABod19zZ2VfcXVldWVfYmFzZV9tYXBbJXVdOiBleGNlZWRlZCBudW1iZXIgb2Yg
-aW5ncmVzcyBxdWV1ZXMsICV1CgAAAAAAAAAAAAAAAAAAAEVycm9yLCBUb3RhbCBSU1MgU2VjcmV0
-IHRhYmxlIGFsbG9jYXRpb24gJWQgPiAxNgoAAAAAAAAAAAAAAAAAAABza3UoMHgleCk6IGN1c3Rv
-bSBza3UgNDBHX1NPIGRvZXMgbm90IHN1cHBvcnQgZXh0bWVtCgAAAAAAAAAAAAAAc2t1KDB4JXgp
-OiBjdXN0b20gc2t1IDEwRyBkb2VzIG5vdCBzdXBwb3J0IDQwRyBwb3J0cwoAAAAAAAAAAAAAAHNr
-dSgweCV4KTogY3VzdG9tIHNrdSAxMEdfU08gZG9lcyBub3Qgc3VwcG9ydCA0MEcgcG9ydHMoJXUp
-IG9yIGV4dG1lbSgldSkKAAAAAAAAc2t1OiBjdXN0b20gc2t1KDB4JXgpIDQwRyBwb3J0cygldSkg
-ZXh0bWVtKCV1KSBzdXBwb3J0ZWQKAAAAAAAAAGNmX3BhcnNlOiBmaWxlIG1lbXR5cGUgMHgleCBt
-ZW1hZGRyIDB4JXggbWFwcGVkIEAgJXA6CgAAAAAAAAAAAABjb25maWd1cmVkIHdpdGggY2FwcyBu
-Ym18bGluayAweCUwOHggc3dpdGNofG5pYyAweCUwOHggdG9lfHJkbWEgMHglMDh4IGlzY3NpfGNy
-eXB0byAweCUwOHggZmNvZToweCV4CgAAAAAAAAAAAAAAbmV0IFZJIGFsbG9jYXRpb24gZmFpbGVk
-IGZvciBmY19pZCAldSB3aXRoIGVycm9yICVkCgAAAAAAAAAAAAAAAG5ldCBWSSBtYWMgYWRkcmVz
-cyBwcm9ncmFtbWluZyBmYWlsZWQgZm9yIGZjX2lkICV1IHdpdGggZXJyb3IgJWQKAAAAAAAAAAAA
-AAAAAAAAbmV0IFZJIHJ4bW9kZSBwcm9ncmFtbWluZyBmYWlsZWQgZm9yIGZjX2lkICV1IHdpdGgg
-ZXJyb3IgJWQKAAAAAG5ldCBWSSByc3MgaW5kaXJlY3Rpb24gdGFibGUgcHJvZ3JhbW1pbmcgZm9y
-IGZjX2lkICV1IGZhaWxlZCB3aXRoIGVycm9yICVkCgAAAAAAbmV0IFZJIHJzcyBjb25maWcgY29t
-bWFuZCBmYWlsZWQgZm9yIGZjX2lkICV1IHdpdGggZXJyb3IgJWQKAAAAAG5ldCBWSSBjb21tYW5k
-IGZhaWxlZCBmb3IgZmNfaWQgJXUgd2l0aCBlcnJvciAlZAoAAAAAAAAAAAAAAAAAAABwcm9ncmFt
-bWVkIEhXIHRhZ20gWzB4JTA4eF0sIEhXIHBnc3ogZmFjdG9yIFsweCUwOHhdLCBGT2lTQ1NJIHRh
-Z20gWzB4JTA4eF0sIHJ0YWdtIFsweCUwOHhdLCBtYXhzel9iaXRzIFsldV0sIHN6X2JpdHMgWyV1
-XS4KAAAAAGJhc2UgWyAweCUwOHhdLCBsbGltaXQgWzB4JTA4eF0sIHVsaW1pdCBbMHglMDh4XSwg
-c2l6ZSBbJXVdLCBtYXhfdHhzeiBbJXVdLCBtYXhfcnhzeiBbJXVdLCBpb3NpemUgWyV1XQoAAAAA
-AAAAAABucHBvZHMgWyV1XSwgaWR4X21hc2sgWzB4JTA4eF0sIGlkeF9maXJzdCBbJXVdLCBpZHhf
-bGFzdCBbJXVdLCBzY3NpX3BsZF9zaXplIFsldV0sIEFMSUdOKHNjc2lfcGxkX3NpemUsIDE2KSBb
-JXVdLCBwcGRfem9uZXMgWyV1XS4KAAAAAAAAAAAAAAAAAABmb2lzY3NpX2luaXQ6IGluaXRfZG9u
-ZToldSwgZm9pc2NzaV9udGFza3M6JXUsIGZvaXNjc2lfbnNlc3M6JXUsIG5jc29jazoldSwgbnNw
-b3J0czoldSwgZm9pc2NzaV9uaW5pdDoldSwgcmM6JWQKAAAAAAAAAAAAAAAAAAAAAGNoX2NsX3Jh
-dGVbJXUvJXVdOiBjYXBwZWQgY2xhc3MgcmF0ZSBmcm9tIHJlcXVlc3RlZCAldSB0byBjb25maWd1
-cmVkIChlZmZlY3RpdmUpIGNoYW5uZWwgcmF0ZSAldQoAAAAAAAAAAAAAAAAAAABjaF9jbF9yYXRl
-WyV1LyV1XTogaW5jcmVhc2VkIGRlZmljaXRfaW5jciBmcm9tIHJlcXVlc3RlZCAldSB0byByZXF1
-aXJlZCBtaW4gb2YgJXU7IHJhdGUgJXUgKGVmZiAldSkgZGVmaWNpdF9tYXggJXUKAAAAAAAAAAAA
-AAAAAHBrdHNjaGVkIGNoYW5uZWwgJXUgc2V0cyBzcGVlZCAoZnJvbSAldSkgdG8gJXUga2JwcwoA
-AAAAAAAAAAAAAABuZXRfbDJkZXZfbm90aWZ5OiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBw
-b3J0IFslZF0sIGV2ZW50IFsweCV4XSwgdWxwdHhjaCBbJXVdLCBjbGFzcyBbMHgleF0sIHZwcmlv
-IFsweCV4XSwgdmlkIFsweCV4XSwgdmlfcmVhZHkgWyV1XQoAAAAAAABuZXRfbDJkZXZfbm90aWZ5
-OiBwZ2lkIFsweCV4XSwgcHJpbyBbMHgleF0sIGNoIFsweCV4XQoAAAAAAAAAAAAAWyV1XSB1bmFi
-bGUgdG8gZXhlY3V0ZSBpbnRlcm5hbCBEQ0JfSUVFRV9DTUQKAAAAcG9ydFsldV0gcHR5cGUgJXUg
-bGFuZSAldTogcnhjZmcgPSAlI3gKAAAAAAAAAAAAcG9ydFsldV0gcHR5cGUgJXUgbGFuZSAldTog
-dHhjZmcgPSAlI3gKAAAAAAAAAAAAcG9ydFsldV0gbGluayBkb3duICgldSkgKGxzdGF0dXMgJSN4
-KQoAAAAAAAAAAAAAaHdfaTJjX3RyYW5zYWN0aW9uOiBuZGF0YSAldSBhZGRyX29wIDB4JXggZGF0
-YVswXSAweCV4IGRpZmYgJXUKAGh3X2kyY190cmFuc2FjdGlvbjogbmRhdGEgJXUgYWRkcl9vcCAw
-eCV4IGRhdGFbMF0gMHgleCBkaWZmICV1IGRwb3MgJXUgY29udCAldSBmYWlsZWQgd2l0aCBlcnIg
-JWQKAAAAAAAAAAAAAAAAAABpMmMgdHJhbnNhY3Rpb24gZmFpbGVkIHRvIGNvbXBsZXRlCgAAAAAA
-AAAAAAAAAABpMmMgZXJyb3IgY2F1c2VkIGJ5IG1vZHVsZSB1bnBsdWcKAAAAAAAAAAAAAAAAAABz
-ZW5kdG8gcGVuZGluZzogd3JfcGVuZCAlcCBmb3IgcG9ydCAldSwgd2FudCB0byBzZW5kIHRvIHBv
-cnQgJXUKAAAAAAAAAAAAAAAAAAAAAHBvcnRbJXVdIHVwZGF0ZSAoZmxvd2NpZCAldSByYyAldSkK
-AAAAAAAAAAAAAAAAAHBvcnRfc2V0X2xvb3BiYWNrIHBvcnQgJSN4IGN1cnJlbnQgJSN4IG1vZGUg
-JSN4CgAAAAAAAAAAAAAAAAAAAABwb3J0WyV1XSBzcGVlZCB1cGRhdGU6ICUjeAoAAAAAAHBvcnRb
-JXVdIGJlZ2lubmluZyBkZWJvdW5jZQoAAAAAUVNGUCBtb2R1bGUgdW5wbHVnIC0gcmVpbml0aWFs
-aXppbmcgcnhfbG9zICB0byAweGZmCgAAAAAAAAAAAAAAAGdwaW9fcXNmcF9tb2R1bGVfdXBkYXRl
-OiBjaGFuZ2VkIHJ4X2xvcyBmcm9tIDB4JXggdG8gMHgleAoAAAAAAABncGlvX3FzZnBfbW9kdWxl
-X3VwZGF0ZTogY2hhbmdlZCB0eF9kaXMgZnJvbSAweCV4IHRvIDB4JXgKAAAAAAAAZGlzYWJsaW5n
-IHR4ICUjeCByeCAlI3gKAAAAAAAAAABwb3J0X2xpbmtfc3RhdGVfaGFuZGxlclsldV0gcG93ZXJp
-bmcgZG93bgoAAAAAAABwb3J0X2xpbmtfc3RhdGVfaGFuZGxlclsldV0gcG93ZXJpbmcgdXAKAAAA
-AAAAAABwb3J0X2xpbmtfc3RhdGVfaGFuZGxlclsldV0gdW5rbm93biBzdGF0ZSAoc3RhdGUgPSAl
-I3gpCgAAAAAAAAAAcG9ydF9saW5rX3N0YXRlX2hhbmRsZXI6IFNvbWV0aGluZyB3ZW50IHRlcnJp
-Ymx5IHdyb25nLiByZXQgPSAlZAoAAAAAAAAAAAAAAAAAAABod19zZ2VfbWFtZW1faW5pdDogZW5j
-b3VudGVyZWQgZXJyb3IgJWQKAAAAAAAAAABsZSBpbml0aWFsaXphdGlvbjogbmVudHJpZXMgJXUg
-cm91dGUgJXUgY2xpcCAldSBmaWx0ZXIgJXUgYWN0aXZlICV1IHNlcnZlciAldSBoYXNoICV1CgAA
-AAAAAAAAAABsZSBpbml0aWFsaXphdGlvbjogbmVudHJpZXMgJXUgcm91dGUgJXUgY2xpcCAldSBm
-aWx0ZXIgJXUgc2VydmVyICV1IGFjdGl2ZSAldSBoYXNoICV1IG5zZXJ2ZXJzcmFtICV1CgAAAAAA
-AAAAAAAAaHdfdHBfaW5pdDogdGNiIHJlZ2lvbiAoc3RhcnQgMHglMDhzIHNpemUgJXUpIG11c3Qg
-YmUgaW4gZmlyc3QgMjU2TUIgb2YgTUEgbWVtb3J5CgAAAAAAAAAAAAAAAAAAaHdfdHBfaW5pdDog
-cGdtbmd0IHJlZ2lvbiAoc3RhcnQgMHglMDhzIHNpemUgJXUpIG11c3QgYmUgaW4gZmlyc3QgMjU2
-TUIgb2YgTUEgbWVtb3J5CgAAAAAAAAAAAAAAaHdfdHBfaW5pdDogVFAgcGdtbmd0IGluaXRpYWxp
-emF0aW9uIGRpZCBub3QgY29tcGxldGUKAAAAAAAAAAAAAGJ1Zm1faW5pdDogbiAldSBidWZsbDY0
-aW50X3NpemUgMHgleAoAAAAAAAAAAAAAAGJ1Zm1faW5pdDogbm90IGVub3VnaCBtZW1vcnkgdG8g
-YWxsb2NhdGUgaW50ZXJuYWwgYnVmbGw2NCBidWZmZXJzCgAAAAAAAAAAAAAAAAAAYnVmbV9pbml0
-OiBub3QgZW5vdWdoIG1lbW9yeSB0byBhbGxvY2F0ZSBidWZsbDY0IGJ1ZmZlcnMKAAAAAAAAAG1l
-bV9pbml0X2J1Zjogbm90IGVub3VnaCBtZW1vcnkgdG8gYWxsb2NhdGUgZmxvdyBidWZmZXJzCgAA
-AAAAAABtZW1faW5pdF9idWY6IG5vdCBlbm91Z2ggbWVtb3J5IHRvIGFsbG9jYXRlIHRjYl9jYWNo
-ZSAob2ZmZXJlZCAldSB0cnlpbmcgdG8gdXNlICV1IGF2YWlsYWJsZSAldSkKAAAAAAAAAAAAAAAA
-AAAAbXBhcnRpdGlvbl9vdGhlcnM6IHN0YXJ0IDB4JTA4eCBzaXplICV1ICh1bnVzZWQgJXUpCgAA
-AAAAAAAAAAAAAG1wYXJ0aXRpb25fb3RoZXJzOiBzdGFydCAweCUwOHggc2l6ZSAldSAodW51c2Vk
-ICV1KQoAAAAAAAAAAAAAAABtZW1faW5pdDogRURDIG92ZXJjb21taXR0ZWQgYnkgJWQgYnl0ZXMK
-AAAAAAAAAABtZW1faW5pdDogbm90IGVub3VnaCBtZW1vcnkgdG8gYWxsb2NhdGUgZmxvdyB0YWJs
-ZQoAAAAAAAAAAAAAAAAAY3hjbmljX2RldmljZV9pbml0OiBjeGNuaWMgWzB4JTB4XSwgY3hjbmlj
-LT5maWx0ZXIgWyUweF0KAAAAAAAAAHBvZmNvZSBpbml0IGRvbmUKAAAAAAAAAAAAAAAAAAAAcG9y
-dF9pbml0WyV1XSBwdHlwZSAweCV4CgAAAAAAAABQb3J0WyV1XTogVW5rbm93biBTR01JSSBzdWIt
-dHlwZSAlI3gKAAAAAAAAAAAAAABQb3J0WyV1XTogVW5rbm93biBCVF9YRkkgc3ViLXR5cGUgJSN4
-CgAAAAAAAAAAAABwb3J0X2luaXRbJXVdOiBwb3J0IHR5cGUgMHgleCBpcyBub3Qgc3VwcG9ydGVk
-CgBtcGFydGl0aW9uX2luaXQ6IG1vdmVkIHBtcnhfc3RhcnQgZnJvbSAweCUwOHggdG8gMHglMDh4
-IHRvIG1ha2Ugcm9vbSBmb3IgTEUgSEFTSCBhbmQvb3IgVFAgVENCcwoAAAAAAAAAAAAAAAAAAAAA
-bXBhcnRpdGlvbl9pbml0OiBtb3ZlZCBwbXJ4X3N0YXJ0IGZyb20gMHglMDh4IHRvIDB4JTA4eCAo
-RURSQU0pCgAAAAAAAAAAAAAAAAAAAABFUSBwZm4gJXUgdmZuICV1OiBkZXN0cm95aW5nIGVxaWQg
-JXUgd2l0aCBwZW5kaW5nIFdSKHMpIChudW1fYnl0ZXMgJXUgYW5kIGZsYWdzIDB4JTA4eAoAAAAA
-AAAAAABsMmRldl9mYy0+Zmxvd2NfaWQgWyV1XSwgbDJkYy0+cGZuIFsldV0sIGwyZGMtPnZmbiBb
-JXVdLCBsMmRjLT5scG9ydCBbJXVdLCBsMmRldl9mYy0+Zmxvd2lkIFsldV0gbDJkYy0+dHhfY2gg
-WyV1XSwgZGV2LnZwZC5wb3J0dmVjIFsleF0KAAAAAAAAAABwb3J0dmVjIFsldV0KAAAAbDJkZXZf
-dmlfZnNtOiBtYiBbMHgleF0sIGRlZmVycmVkLCBzdGF0ZSBbMHgleF0sIHBvcnQgWzB4JXhdCgAA
-AGwyZGV2X3ZpX2ZzbTogdmlpZCBbMHgleF0gcG9ydCBbMHgleF0sIG1hYy1pZCBbJTAyeDolMDJ4
-OiUwMng6JTAyeDolMDJ4OiUwMnhdLiAKAAAAAAAAAAAAAAAAAAAAAGwyZGV2X3ZpX2ZzbTogc2dl
-X2VxaWQgWzB4JXhdLCBzZ2VfaXFpZCBbMHgleF0sIHNnZV9lcWNyIFsweCV4XSwgcnNzX3N6IFsw
-eCV4XQoAbDJkZXZfdmlfZnNtOiBsMmRldl9mYy0+Zmxvd2NfbmV0X2wyZGV2X210dSBbJXVdLCBt
-Yl9zY3JhdGNoIFsweCV4XSwgcG9ydCBbMHgleF0KAAAAAAAAAAAAAAAAAAAAbDJkZXZfdmlfZnNt
-OiB2aWlkIFslZF0sIHZpX2ZjLT5mbG93Y192aV9mbGFncyBbMHgleF0KAAAAAAAAAAAAAGwyZGV2
-X3ZpX2ZzbTogcGZuIFsweCV4XSwgdmZuIFsweCV4XSwgbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4
-XSwgbHBvcnQgWzB4JXhdLCB2aWlkIFsweCV4XSwgZmxhZ3MgWzB4JXhdCgAAAAAAAABsMmRldl92
-aV9mc206IEVycm9yIGZyZWVpbmcgVkksIHJjIFsweCV4XQoAAAAAAABsMmRldl92aV9mc206IHBp
-ZCBbMHgleF0sIHZpaWQgWzB4JXhdLCBtYl9sb2MgWzB4JXhdLCBtYl9vcmlnWzB4JXhdLCBsMmRl
-dl9mbGFncyBbMHgleF0sIHJjIFsweCV4XQoAAAAAAAAAAAAAAAAAQWggaGEuLi5kb3VibGUgZnJl
-ZSBveF9pZCAweCV4LCByeF9pZCAweCV4CgAAAAAASG9zdCBQUkxJIFJlc3BvbnNlIHRpbWVkb3V0
-OiBveF9pZCAweCV4IHJ4X2lkIDB4JXgKAAAAAAAAAAAAAAAAAHBmbiAldSB2Zm4gJXUgdmlhIGNv
-bW1hbmQKAAAAAAAAY29uZmlndXJhdGlvbiBmaWxlIHBhcnNlcjogYW5fYWVjX3RpbWUgdmFsdWUg
-JWQgaXMgYmlnZ2VyIHRoYW4gYWxsb3dlZCBsaW1pdC5DaGFuZ2luZyBpdCB0byAxMDAwMCBtcy4K
-AAAAAAAAAAAAAERlcHJlY2F0ZWQgY29uZmlnIG9wdGlvbiBmb3VuZCBpbiBjb25maWcgZmlsZS4g
-SWdub3JpbmcuLgoAAAAAAABjb25maWd1cmF0aW9uIGZpbGUgcGFyc2VyOiBwbCB0aW1lb3V0IHZh
-bHVlIGlzIHRvbyBsYXJnZSwgY2hhbmdpbmcgZnJvbSAldSB0byAldXVzZWNzCgAAAAAAAAAAAABQ
-TF9QQ0lFX0xJTksuc3BlZWQgb2YgJXUgaXMgbm90IHN1cHBvcnRlZApmaWxlLCByZXQgRldfRUlP
-CgAAAAAAc2NoZWRfaW9xdHhfYnBfcHJpb3JpdHk6IGhhcyAldSBlbnRyaWVzIG9ubHksIHJlcXVp
-cmVzICV1IGVudHJpZXMKAAAAAAAAAAAAAAAAAAB0cF9iYWNrb2ZmOiBwYXJzZWQgJWQgaW5zdGVh
-ZCBvZiAldSBlbnRyaWVzCgAAAAB0cF90aW1lcnZhbHM6IHBhcnNlZCAlZCBpbnN0ZWFkIG9mICV1
-IGVudHJpZXMKAAB0cF90aW1lcnJlczogcGFyc2VkICVkIGluc3RlYWQgb2YgJXUgZW50cmllcwoA
-AAB0cF9tdHVzIGhhcyAldSBlbnRyaWVzIG9ubHksIHJlcXVpcmVzICV1IGVudHJpZXMKAAAAAAAA
-AAAAAAAAAAAAdHBfbXR1c1sldV0gaXMgJXUgYnl0ZXMgd2hpY2ggaXMgbm90IHN1cHBvcnRlZAoA
-Y29uZmlndXJhdGlvbiBmaWxlIHBhcnNlcjogc2dlIHRpbWVyIHZhbHVlWyVkXSBpcyB0b28gbGFy
-Z2UsIGNoYW5naW5nIGZyb20gJXUgdG8gJXV1c2VjcwoAAAAAAAAAZmlsdGVybWFzayAweCV4IGlz
-IG5vdCBlcXVhbC9zdWJzZXQgdG8vb2YgZmlsdGVybW9kZQoAAAAAAAAAAAAAAGh3X2xlX2NsaXBf
-aGFuZGxlcjogcmVtb3ZlZCBwb3M9JXUgKD1pZHggJXUpCgAAAGh3X2xlX2NsaXBfaGFuZGxlcjog
-YWRkaW5nIHRvIHBvcz0ldSAoPWlkeCAldSkKAHBoeV9pbml0OiBwb3J0ICV1IHdpdGggdGhlIHR5
-cGUgJXUgIGhhdmUgcmV0ICVkCgAAAAAAAAAAAAAAAAAAAABiZWFuL2FlYyBjb21wbGV0ZSAldQoA
-AAAAAAAAAAAAAGh3X21hY19pbml0X3BvcnRbJXVdLCBwdHlwZSAweCV4LCBzcGVlZCAweCV4LCBs
-YW5lcyAweCV4LCBmZWMgMHgleAoAAAAAAAAAAAAAAAAAbW9kdWxlWyV1XTogcG9ydCBtb2R1bGUg
-aW5zZXJ0ZWQgYW5kIHJlYWR5CgAAAAAAbW9kdWxlWyV1XTogcG9ydCBtb2R1bGUgcmVtb3ZlZAoA
-AAAAAAAAAAAAAAAAAAAAbW9kdWxlWyV1XTogdW5rbm93biBtb2R1bGUgaWRlbnRpZmllciAweCUw
-MngKAAAAbW9kdWxlWyV1XTogZ3BpbyAldSB0cmFucyAxMEcgMHglMDJ4IDFHIDB4JTAyeCAobGVu
-Z3RoICV1KSBjYWJsZSAweCUwMnggKGxlbmd0aCAldSkgbW9kdWxlX3R5cGUgMHglMDJ4CgAAAAAA
-AAAAAG1vZHVsZVsldV06IGdwaW8gJXUgdHJhbnMgMTBHIDB4JTAyeCAxRyAweCUwMnggKGxlbmd0
-aCAldSkgY2FibGUgMHglMDJ4IChsZW5ndGggJXUpIG1vZHVsZV90eXBlIDB4JTAyeAoAAAAAAAAA
-AABjeDRfY3JfbW9kdWxlX3J4X2xvc1sldV06IHJ4X2xvcyBjaGFuZ2VkIHRvICV1CgBNQzogZXhw
-ZWN0ZWQgc3RhdGUgdG8gc3dpdGNoIHRvIENGRy4AAAAAAAAAAAAAAABNQzogZXhwZWN0ZWQgc3Rh
-dGUgdG8gc3dpdGNoIHRvIEFjY2Vzcy4AAAAAAAAAAABNQzogZXhwZWN0ZWQgc3RhdGUgdG8gc3dp
-dGNoIHRvIENGRy4AAAAAAAAAAAAAAABNQzogZXhwZWN0ZWQgc3RhdGUgdG8gc3dpdGNoIHRvIEFj
-Y2Vzcy4AAAAAAAAAAABJSS4xLmJ4IGRwMThbJXVdIHFbJXVdICUjeCAlI3ggJSN4ICUjeCBtaW4g
-JSN4IG1heCAlI3gKAAAAAAAAAAAASUkuMS5jLWQuICUjeCAlI3ggJSN4ICUjeCBhbGwgICUjeAoA
-AAAAAAAAAAAAAAAASUkuMi5iICglI3ggLSAlI3ggKyAlI3gpICUgMTI4ID0gJSN4CgAAAAAAAAAA
-AAAASUkuMyBpbmV3XzFlIGFmdGVyIGxpbWl0IGNvbXB1dGUgaXRlbXBfMWUgJXgsIGluZXdfMWUg
-JXgKAAAAAAAAAElJLjMuIGl0ZW1wXzFlICUjeCBpbmV3XzFlICUjeCBpbmV3XzFlICVkCgAAAAAA
-AElJLjQuIHNldF8xZSAlI3gKAAAAAAAAAAAAAAAAAAAATUM6IGNhbGlicmF0aW9uIGZhaWxlZCBm
-b3IgZXJyYXRhMjkgZHAxOCAldQoAAAAASVYuMS4gZHAxOFsldV0gcGhhc2Vfc2VsIGJlZm9yZSAl
-I3ggYWZ0ZXIgJSN4LCBnYXRlX2RlbGF5ICUjeAoAAE1DIGVycmF0YTI5IGlzc3VlOiBkcDE4ICV1
-IHF1YWQgJXUgY2Fubm90IGJlIGRlY3JlYXNlZAoAAAAAAAAAAABNQyBlcnJhdGEyOSBpc3N1ZTog
-ZHAxOCAldSBxdWFkICV1IGNhbm5vdCBiZSBkZWNyZWFzZWQKAAAAAAAAAAAATUMgZXJyYXRhMjkg
-aXNzdWU6IGRwMTggJXUgcXVhZCAldSBjYW5ub3QgYmUgZGVjcmVhc2VkCgAAAAAAAAAAAE1DIGVy
-cmF0YTI5IGlzc3VlOiBkcDE4ICV1IHF1YWQgJXUgY2Fubm90IGJlIGRlY3JlYXNlZAoAAAAAAAAA
-AAB0ZW1wMl8xZSsweDEwID0gJSN4CgAAAAAAAAAAAAAAAE1DOiBjYWxpYnJhdGlvbiBmYWlsZWQg
-Zm9yIGVycmF0YTIxIGl0ZXJhdGlvbiAldQoAAAAAAAAAAAAAAAAAAABNQyBlcnJhdGEgMjE6IGRw
-MThbJXVdIHByMCBuMDIgZmFpbGVkIHRvIGdldCBhdmVyYWdlCgAAAAAAAAAAAAAATUMgZXJyYXRh
-IDIxOiBkcDE4WyV1XSBwcjAgbjEzIGZhaWxlZCB0byBnZXQgYXZlcmFnZQoAAAAAAAAAAAAAAE1D
-IGVycmF0YSAyMTogZHAxOFsldV0gcHIxIG4wMiBmYWlsZWQgdG8gZ2V0IGF2ZXJhZ2UKAAAAAAAA
-AAAAAABNQyBlcnJhdGEgMjE6IGRwMThbJXVdIHByMSBuMTMgZmFpbGVkIHRvIGdldCBhdmVyYWdl
-CgAAAAAAAAAAAAAATUMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiBERkkgaW5pdCBub3QgZ29pbmcg
-dG8gMAoAAAAAAAAAAAAAAAAAAE1DIGluaXRpYWxpemF0aW9uIGZhaWxlZDogREZJIGluaXQgbm90
-IGNvbXBsZXRpbmcKAAAAAAAAAAAAAAAAAABNQyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6IENhbGli
-cmF0aW9uIGRpZG4ndCBjb21wbGV0ZS4KAAAAAAAAAAAARFAxOCAldSwgYnl0ZV9sYW5lICV1LCBi
-aXRfc2VsZWN0ICV1CgAAAAAAAAAAAAAARFAxOCAldSwgYnl0ZV9sYW5lICV1LCBiaXRfc2VsZWN0
-ICV1CgAAAAAAAAAAAAAATUMgZmFpbGVkIHRvIGdldCBVUENUTCBwb3dlciB1cCBkb25lCgAAAAAA
-AAAAAAAATUMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiBEaWRuJ3QgZ2V0IGFsbCBEUDE4cyBsb2Nr
-ZWQKAAAAAAAAAAAAAE1DIGluaXRpYWxpemF0aW9uIGZhaWxlZDogRGlkbid0IGdldCBib3RoIEFE
-UnMgbG9ja2VkCgAAAAAAAAAAAABDdXJyZW50IFNsZXcgdHhfcm93ICVkOiB0eF9jb2wgJWQsIHZh
-bCAlZAoAAAAAAABDdXJyZW50IFNsZXcgYWRkcl9yb3cgJWQ6IGFkZHJfY29sICVkLCB2YWwgJWQK
-AABNQyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6IFNMRVdfRE9ORV9TVEFUVVMgbmV2ZXIgdG9nZ2xl
-ZAAAAAAAAAAAcGZuICV1IHZmbiAldSBGU00gc3RhcnQKAAAAAAAAAABwZm4gJXUgdmZuICV1IEZT
-TSBjb21wbGV0ZQoAAAAAAGZscl9wZnZmX2ZzbVsldToldV06IHVua25vd24gc3RhdGUgJXUKAAAA
-AAAAAAAAAHBmbiAldSB2Zm4gJXUgaW4gZDNob3QsIGlnbm9yaW5nLCBkM2hvdCAweCUwOHggUENJ
-RV9TVEFUIDB4JTA4eAoAAAAAAAAAAAAAAAAAAAAAaHcgcGYgYml0bWFwIDB4JTAyeCB2ZmlkIGJp
-dG1hcCAweCUwOHg6MHglMDh4OjB4JTA4eDoweCUwOHgKAAAAAGFmdGVyIHZmaWQgZml4dXAsIHZm
-aWQgYml0bWFwIDB4JTA4eDoweCUwOHg6MHglMDh4OjB4JTA4eAoAAAAAAABNQ1sldV06IGZhaWxl
-ZCB0byBzd2l0Y2ggY29udHJvbGxlciB0byBDRkcgc3RhdGUKAAAAAAAAAAAAAAAAAAAATUNbJXVd
-OiBmYWlsZWQgdG8gc3dpdGNoIGNvbnRyb2xsZXIgdG8gSU5JVF9NRU0gc3RhdGUKAAAAAAAAAAAA
-AE1DWyV1XTogZmFpbGVkIHRvIHN3aXRjaCBjb250cm9sbGVyIHRvIENGRyBzdGF0ZQoAAAAAAAAA
-AAAAAAAAAABNQ1sldV06IHBlcmlvZGljIGNhbGlicmF0aW9uIGZhaWxlZCB3aXRoIGVycm9yICV1
-CgAAAAAAAAAAAAAAAAAAdGltZXIgcXVldWUgJXUgbG9zdCBhIHRpY2shIG5leHQgJXAgbGFzdCAl
-cCBudW1lICV1CgAAAAAAAAAAAAAAAGZscl90aW1lcl9zdGFydDogZmxvd2NfaWQgJXUgJXAgYnVm
-ICVwCgAAAAAAAAAAAE1BQzogUExMcyBkaWRuJ3QgbG9jawoAAAAAAAAAAAAAcGNpZTogcmVhZCBm
-cm9tIHNlcmNmZyBwY2llX2lwX3VyX21heGZ1bmMgMHgleCBwZmJpdG1hcCAweCV4CgAAAHBjaWU6
-IFNlcmlhbCBDb25maWd1cmF0aW9uIFNQQVJFMyBoYXMgQ29va2llIEdlbmVyYXRpb24gZW5hYmxl
-ZC4KAAAAAAAAAAAAAAAAAAAAcGNpZTogbnBmICV1IChwZmJpdG1hcCAweCUwMngpIG52ZiAldSAo
-cGYgMC4uNyAweCUwOHglMDh4KSB2ZnN0cmlkZSAldQoAAAAAAAAAAABod19tYWNfcHJlcDogZXJy
-b3IsIHJldCAlZAoAAAAAAGh3X2dwaW9fcHJlcDogZXJyb3IsIHJldCAlZAoAAAAATUMgQ0xLIHNl
-dHRpbmcgZmFpbGVkOiBQTExfTV9MT0NLIG5ldmVyIHRvZ2dsZWQKAAAAAAAAAAAAAAAAAAAAAGZh
-aWxlZCB0byBmaW5kIHRoZSAlYyVjIFZQRCBwYXJhbWV0ZXIKAAAAAAAAAAAAAGZhaWxlZCB0byBw
-YXJzZSB0aGUgJWMlYyBWUEQgcGFyYW1ldGVyCgAAAAAAAAAAAG1lbV9wcmVwOiBlcnJvciwgcmV0
-ICVkCgAAAAAAAAAAZmFpbGVkIHRvIHN1Y2Nlc3NmdWxseSBmaW5kIENoZWxzaW8gVlBECgAAAAAA
-AAAAdnBkX3ByZXA6IGVycm9yLCByZXQgJWQKAAAAAAAAAABzZXJjZmdfcHJlcDogZXJyb3IsIHJl
-dCAlZAoAAAAAAGxvZyBpbml0aWFsaXplZCBAIDB4JTA4eCBzaXplICV1ICgldSBlbnRyaWVzKSBm
-d3JldiAweCUwOHggcGNpZV9mdyAweCUwOHgKAAAAAAAAYm9vdHN0cmFwIGZpcm13YXJlIHRvb2sg
-JXUgbXNlY3MgdG8gcnVuCgAAAAAAAAAAUEkgZXJyb3IgZmxvd2lkX2xlbjE2IDB4JXgsIGFwcF90
-YWcgMHgleCwgcmVmX3RhZyAweCV4LCBwaXNjICUwNHggJTA0eCAlMDR4ICUwNHgKAAAAAAAAAAAA
-AAAAAAAAZmxvd2MgJXUgKFNHRSBlcWlkICV1KSAoRVRIQ1RSTCBxdWV1ZSkgZXhwZXJpZW5jZWQg
-YSBQQ0kgRE1BIFJFQUQgd29yayByZXF1ZXN0IGVycm9yIChpbmJvdW5kIHF1ZXVlICV1KQoAAAAA
-AAAAAGZsb3djICV1IChTR0UgZXFpZCAldSkgZXhwZXJpZW5jZWQgYW4gdW5leHBlY3RlZCBQQ0kg
-RE1BIFJFQUQgd29yayByZXF1ZXN0IGVycm9yIChpbmJvdW5kIHF1ZXVlICV1KQoAAAAAAAAAAAAA
-AABmbG93YyAldSBleHBlcmllbmNlZCBhbiB1bmV4cGVjdGVkIFBDSSBETUEgUkVBRCBlcnJvciAo
-aW5ib3VuZCBxdWV1ZSAldSkKAAAAAAAAAGdhdGhlcl90YXNrc19mb3JfdG1mOiBpZHggWzB4JXhd
-LCB0YXNrLWlkIFsweCV4XSwgY21kLWlkIFsweCV4XSwgYWN0aXZlIHRhc2tzIFsweCV4XS4gY29u
-bi1pZCBbMHgleF0sIGNtZCBjb25uLWlkIFsweCV4XSwgdGFzayBjb25uLWlkIFsweCV4XQoAAGdh
-dGhlcl90YXNrc19mb3JfdG1mOiBJbnZhbGlkIHR5cGUgWzB4JXhdLCBiYWlsaW5nIG91dC4KAAAA
-AAAAAABnYXRoZXJfdGFza3NfZm9yX3RtZjogdGFzayBpZCBbMHgleF0sIHN0YXRlIFsweCV4XSwg
-bGlkeCBbMHgleF0sIGNvb2tpZSBoaSBbMHglMDh4XSA6IGxvIFsweCUwOHhdCgAAAAAAAAAAAAAA
-AAAAZ2F0aGVyX3Rhc2tzX2Zvcl90bWY6IHJjIFsweCV4XSwgWzB4JXhdIHRhc2sgZ2F0aGVyZWQg
-Zm9yIHRtZiB0eXBlIFsweCV4XSBwcm9jZXNzaW5nLgoAAAAAAAAAAAAAc2NzaV9kYXRhX291dDog
-Y29ubl9mYyBbMHgleF0sIHN0YXRlIFsweCV4XSwgc2Vzc19mYyBbMHgleF0gaW4gcmVjb3Zlcnku
-IFNraXBwaW5nIGlzdGFza19mYyBbMHgleF0gZnJvbSBUWC4KAAAAAHNlbmRfbXNnX3BsZDogZmMg
-eyBpZCBbMHgleF0sIGZsYWdzIFsweCV4XSwgYnVmZmVyZWQgWyV1XS4gfQoAAABzZW5kX21zZ19w
-bGQ6IHNlc3MgeyBpZCBbMHgleF0gfSwgdWxwdHhjaCBbJXVdIG5vIGNyZWRpdHMgYXZhaWxhYmxl
-LCByZXNjaGVkdWxpbmcgcmVxdWVzdC4KAAAAAABzZW5kX2Fib3J0X3JlcTogY3NrX2ZjLT5mbG93
-Y190eXBlIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIHRpZCBbMHgleF0sIHVscHR4
-Y2ggWyV1XSwgYnVmZmVyZWQgWyV1XQoAAAAAZmNfc2VuZF9hbGxvY19jcGw6IGZhaWxlZCB0byBz
-ZXR1cCBmaWx0ZXIgY3R1cGxlCgAAAAAAAAAAAAAAAAAAAGZjb2VfY29tcHV0ZV9jdHVwbGUgMHgl
-eDoleAoAAAAAY29tcHV0ZV9jdHVwbGUoKTogZmFpbGVkIHRvIHNldHVwIGZpbHRlciBjdHVwbGUK
-AAAAAAAAAAAAAAAAAAAAAEZDb0UgRkNCIGxpbmtkb3duOiBpb19yZXEgMHgleCV4IGlxaWQgMHgl
-eCBmbG93aWQgMHgleCBvcCAweCV4CgBmY29lIG5vdGlmeSA6IFVwZGF0ZSBuZXcgRENCWCB2YWx1
-ZXMgVkkgc3RhdGUgMHgleCBwcmkgMHgleCBzY2hlZGNsIDB4JXggZGNieF9kb25lIDB4JXgKAAAA
-AAAAAABmY29lIG5vdGlmeSA6IEZDRiBmbG93aWQgMHgleCwgdWxwY2ggMHgleCAKAAAAAABmY29l
-IG5vdGlmeSA6IEZDb0UgTElOS1VQOiBwb3J0IDB4JXgsIGV2ZW50IDB4JXgKAAAAAAAAAAAAAAAA
-AAAAZmNvZSBub3RpZnkgOiBGQ29FIExJTktET1dOOiBwb3J0IDB4JXgsIGV2ZW50IDB4JXgKAAAA
-AAAAAAAAAAAAAGZjb2Ugbm90aWZ5IDogRENCWCA6IHBvcnQgMHgleCwgcHJpb3JpdHkgMHgleCB1
-bHB0eGNoIDB4JXggY2xhc3MgMHgleAoAAAAAAAAAAAAAUkRFViBtc2cgZmxvd2M6JXggc3RhdGUg
-MHgleCBldmVudCAweCV4CgAAAAAAAAAAY2FuY2VsIGZjYjoleCBzY2I6JXggc3RhdGU6JXgKAABG
-Q29FIEZDRiB0aW1lcjogZmxvd2Mgc3RhdGUgMHgleCwgcG9ydCAweCV4ICxmY2YgMHgleCwgZmxv
-d2NfaWQgMHgleAoAAAAAAAAAAAAAAGh3IHJlZ2lzdGVyIG9wZXJhdGlvbiBub3QgY29tcGxldGlu
-ZywgcmVnIDB4JTA4eCBtYXNrIDB4JTA4eCB2YWx1ZSAweCUwOHggKHJlZyAweCUwOHgpCgAAAAAA
-AAAAAE1ESU8gQ0w0NTogZmFpbGVkIHRvIHNldCB1cCBNTUQgYWRkcgoAAAAAAAAAAAAAAE1ESU86
-IGZhaWxlZCB0byByZWFkCgAAAAAAAAAAAAAAV3JpdGVfYWxsX3BvcnRzOiBwaWQgPSAldSByZWcg
-PSAweCV4IAoAAAAAAAAAAAAATURJTyBDTDQ1OiBmYWlsZWQgdG8gc2V0IHVwIE1NRCBhZGRyCgAA
-AAAAAAAAAAAATURJTzogZmFpbGVkIHRvIHdyaXRlCgAAAAAAAAAAAABtaWlfYWR2X2ZjWyV1XTog
-cmNhcHMgMHgleAoAAAAAAG1paV9hZHZfc3BlZWRbJXVdOiByY2FwcyAweCV4CgAAbmV0aWZfc2V0
-X21hYzogbDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl9tYnMgWzB4JXhdCgAAAAAAAAAAAAAAAHJl
-bW92aW5nIG1hYwoAAABub2RlLT5ncnAgWyUwNHggJTA0eCAlMDR4ICUwNHhdLCBub2RlX2lkICV1
-LCByZWZfY250ICV1CgAAAAAAAAAAREFEIGZvciBhZGRyIFslMDR4ICUwNHggJTA0eCAlMDR4XQoA
-AAAAAAAAAAAAAAAAY3BsX3R4X3BrdDogdmxhbmlkIFsweCV4XQoAAAAAAABjcGxfdHhfcGt0OiB2
-bGFuaWQgWzB4JXhdCgAAAAAAAGZsb3djX2lkIFsldV0gbDJkZXZfZmMgWzB4JXhdIGFscmVhZHkg
-cmVjZWl2ZWQgUkEsIG5vdCBzZW5kaW5nIFJTCgAAAAAAAAAAAAAAAAAAZmxvd2NpZCBbJXVdIGwy
-ZGV2X2ZjIFsweCV4XSBObyBJUHY2IHJvdXRlcgoAAAAAc2VuZF9jbG9zZV9yZXE6IGNza19mYy0+
-Zmxvd2NfdHlwZSBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPnRjYl9z
-dGF0ZSBbMHgleF0KAAAAc2VuZF9jbG9zZV9yZXE6IGNza19mYy0+Zmxvd2NfdHlwZSBbMHgleF0s
-IGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCB0aWQgWzB4JXhdLCB1bHB0eGNoIFsldV0sYnVmZmVy
-ZWQgWyV1XQoAAAAAAG9mbGRfdGNwX2RvX2FjdGl2ZV9jbG9zZTogY3NrX2ZjIFsweCV4XSwgY3Nr
-X2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+dGNiX3N0YXRlIFsweCV4XQoAAAAAAG9mbGRf
-dGNwX2RvX2FjdGl2ZV9jbG9zZTogY3NrX2ZjIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgl
-eF0sIGNza19mYy0+dGNiX3N0YXRlIFsweCV4XQoAAAAAAG9mbGRfdGNwX2Rpc2Nvbm5lY3Q6IHRj
-Yl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrLT50Y2Jf
-c3RhdGUgWzB4JXhdCgAAAGRlY29kZV9iYXNlNjRfc3RyaW5nOiBkbGVuIFslZF0KAAAAAAAAAAAA
-AAAAAAAAAGRlY29kZV9oZXhfc3RyaW5nOiBkbGVuIFslZF0KAAAAZm9pc2NzaV92YWxpZGF0ZV9s
-b2dpbl9zdGFnZTogLSAxCgAAAAAAAAAAAAAAAAAAYXN5bmNfcGR1OiBsb2dvdXQgcmVxdWVzdGVk
-IGJsb2NraW5nIHNlc3Npb24KAAAAYXN5bmNfcGR1OiBzZXNzL2Nvbm4gZHJvcCByZXF1ZXN0ZWQg
-YmxvY2tpbmcgc2Vzc2lvbgoAAAAAAAAAAAAAAGNwbF90eF9wa3Q6IHZsYW5pZCBbMHgleF0KAAAA
-AAAAcmVpbml0IGxpbmstbG9jYWwgYWRkcmVzcwoAAAAAAABuZXRfbDJkZXZfZmluZF9ieV9hZGRy
-OiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBsMmRjLT5scG9ydCBbJXVdLCBsMmRfZmMtPmZs
-b3djX2lkIFsweCV4XSwgbDJkYy0+aW40X2Rldi5pbl9hZGRyLmFkZHIgWzB4JXhdLCBhZGRyIFsw
-eCV4XQoAAABuZXRfbDJkZXZfbXR1X2NvbmZpZzogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwg
-bXR1ICV1CgAAAAAAAAAAbmV0aWZfZG9fZGhjcDogd3ItPnBhcmFtLnZsYW5pZCBbJXVdLCBsMmRl
-dl9mYy0+Zmxvd2NfbmV0X2wyZGV2X3ZsYW5kZXYgWzB4JXhdCgBjcGxfdHhfcGt0OiB2bGFuaWQg
-WzB4JXhdCgAAAAAAAGVuY29kZSBoZXggc3RyaW5nOiBkbGVuIFslZF0KAAAAY2huZXRfZmluZF9s
-MnRfZW50cnk6IGRhZGRyIFslMDh4XSwgWzB4JTA4eF0sIGxvY2FsIG5ldHdvcmsgWyVkXQoAAAAA
-AAAAAAAAAAAAAABsMnRlbnQgWyUweF0sIGwydGVudC0+aWR4IFslZF0KAHRjcF9zZW5kX2FvcGVu
-X3JlcTogY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+Zmxvd2Nfc3RhdGUgWzB4JXhd
-LCBidWZmZXJlZCBbJXVdLCByZXNfY250IFsweCV4XSwgaXFfaWR4IFsweCV4XQoAAAAAAAAAAAAA
-dGNwX3NlbmRfYW9wZW5fcmVxOiBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93
-Y19zdGF0ZSBbMHgleF0sIG5vIHZhbGlkIGwydF9lbnR5LiBEZWxheWluZyBhbm90aGVyIHJldHJ5
-IGZvciAxIHNlY29uZHMuCgAAAAAAAAAAAAAAAAAAYW9wZW5fcmVxOiBod19sZV9maWx0ZXJfY3R1
-cGxlIGZhaWxlZAoAAAAAAAAAAAAAb2ZsZF90Y3Bfc2VuZF9hb3Blbl9yZXE6IGNwbF9yZXEtPkZp
-bHRlcl9oaSBbMHglMHhdLCBjcGxfcmVxLT5GaWx0ZXJfbG9fRkNvRU1hc2sgWzB4JTB4XSwgY3R1
-cGxlc1swXSBbMHgleF0sIGN0dXBsZXNbMV0gWzB4JXhdCgBsYWRkcl9yZXQ6IGwyZGMuYWRkciA6
-MHgleCwgc3JjX2FkZHI6MHgleAoAAAAAAABpdHRfdG9fdGFza19pZHg6IHRhZyBbMHglMDh4XSwg
-aGkgWyV1XSwgbG8gWyV1XSwgbm1hc2tiaXRzIFsldV0sIHRhc2tfaWR4IFsldV0KAFdBVENIRE9H
-OiBObyB0ZW1wZXJhdHVyZSBzZW5zb3IgYXZhaWxhYmxlLgoAAAAAAFdBVENIRE9HOiBBY3RpdmF0
-aW5nCgAAAAAAAAAAAAAAV0FUQ0hET0cgLSBFbmFibGUgYWN0aW9uICV1IHRpbWUgJXUKAAAAAAAA
-AAAAAAAAV0FUQ0hET0cgLSBEaXNhYmxlIGFjdGlvbiAldQoAAABXQVRDSERPRzogRGUtYWN0aXZh
-dGluZwoAAAAAAAAAAHBvcnRbJXVdIHNldCBQQVVTRSBQQVJBTVM6IHBwcGVuICV1IHR4cGUgJSN4
-IHJ4cGUgJSN4CgAAAAAAAAAAAABtcHNfbGlua191cFsldV0gYWNhcHMgJSN4ICg4MDIuMyAlI3gp
-ICsgbHBhY2FwcyAlI3ggPT4gJSN4CgAAAAAAaXB2Nl9oYW5kbGVfbGlua19kb3duIGZsb3djX2lk
-IDB4JXgKAAAAAAAAAAAAAAAAaXB2Nl9oYW5kbGVfbGlua191cCBmbG93Y19pZCAweCV4CgAAAAAA
-AAAAAAAAAAAAZm9pc2NzaSBjb25uX2ZjIFsweCV4XSwgZmxvd2Nfc2NoZWRjbCBbMHgleF0sIGlu
-Z19jaCBbMHgleF0sIGVncl9jaCBbMHgleF0KAAAAAABsMmRldl9ub3RpZnkgd2l0aCB1bmtub3du
-IGZsYWcgWzB4JXhdCgAAAAAAAAAAAABjaF9jbF9yYXRlWyV1LyV1XTogY2FwcGVkIGRlZmljaXRf
-aW5jciBmcm9tIHJlcXVpcmVkICV1IHRvICV1OyByYXRlICV1IChlZmYgJXUpIGRlZmljaXRfbWF4
-ICV1CgBEQ0JYOiBzdW0gb2YgcmF0ZXMgb24gYWxsIGNsYXNzZXMgbXVzdCBiZSAxMDAgKGFjdHVh
-bDogJXUpCgAAAAAAcmlfd3JfaW5pdFsldV06IG1zcyAldSBpcyBub3QgOC1ieXRlIGFsaWduZWQK
-AAAAY29yZV9wcm9ncmFtX3RjYjogdGlkICUjeCB0X3N0YXRlICUjeCByY3ZfYWR2IDB4JTA4eCBy
-Y3Zfc2NhbGUgJSN4IHR4X21heCAlI3ggcmN2X254dCAlI3ggYXRpZCAlI3gKAAAAAAAAAAAAAAAA
-AAlvcHQwICUjeCV4IG9wdDIgJSN4IGlwdjYgJSN4IGZsYWdzX3RpbWVyIDB4JTA4eAoAAAAAAAAA
-AAAAAAAAAABvZmxkX2Nvbm5lY3Rpb25fd3I6IGNvbm5lY3Rpb24gd2l0aCA1LXR1cGxlIGxwIDB4
-JTA0eCBmcCAweCUwNHggbGlwIDB4JTA4eCUwOHggcGlwIDB4JTA4eCUwOHggZmlsdGVyIDB4JTA4
-eCBleGlzdHMgQCBMRSBpbmRleCAldQoAAAAAAAAAAAAAAAAAAABvZmxkX2Nvbm5lY3Rpb25fd3I6
-IGNvbm5lY3Rpb24gd2l0aCA1LXR1cGxlIGxwIDB4JTA0eCBmcCAweCUwNHggbGlwIDB4JTA4eCBw
-aXAgMHglMDh4IGZpbHRlciAweCUwOHggZXhpc3RzIEAgTEUgaW5kZXggJXUKAAAAAAAAAG9mbGRf
-Y29ubmVjdGlvbl93cjogY29ubmVjdGlvbiB3aXRoIDUtdHVwbGUgbHAgMHglMDR4IGZwIDB4JTA0
-eCBsaXAgMHglMDh4JTA4eCBwaXAgMHglMDh4JTA4eCBmaWx0ZXIgMHglMDh4CgAAAABvZmxkX2Nv
-bm5lY3Rpb25fd3I6IGNvbm5lY3Rpb24gd2l0aCA1LXR1cGxlIGxwIDB4JTA0eCBmcCAweCUwNHgg
-bGlwIDB4JTA4eCBwaXAgMHglMDh4IGZpbHRlciAweCUwOHgKAAAAAAAAAAAAAAAASVFGTElOVCBw
-Zm4gJXUgdmZuICV1OiBpcWlkICV1IHRvbyBsYXJnZSAobWF4ICV1KQoAAAAAAAAAAAAAAAAAAElR
-RkxJTlQgcGZuICV1IHZmbiAldTogaXFpZCAldSBub3QgYWxsb2NhdGVkCgAAAElRRkxJTlQgcGZu
-ICV1IHZmbiAldTogZmwwaWQgJXUgdG9vIGxhcmdlIChtYXggJXUpCgAAAAAAAAAAAAAAAABJUUZM
-SU5UIHBmbiAldSB2Zm4gJXU6IGZsMGlkICV1IG5vdCBhbGxvY2F0ZWQKAABJUUZMSU5UIHBmbiAl
-dSB2Zm4gJXU6IGZsMWlkICV1IHRvbyBsYXJnZSAobWF4ICV1KQoAAAAAAAAAAAAAAAAASVFGTElO
-VCBwZm4gJXUgdmZuICV1OiBmbDFpZCAldSBub3QgYWxsb2NhdGVkCgAASVFGTElOVCBwZm4gJXUg
-dmZuICV1OiBmbDFpZCAldSBpcyB2YWxpZCBidXQgbm90IGZsMGlkICV1CgAAAAAAAElRRkxJTlQg
-cGZuICV1IHZmbiAldTogZmwxaWQgJXUgaXMgdmFsaWQgYnV0IGhlYWRlciBzcGxpdCBmZWF0dXJl
-IGlzIG5vdCBlbmFibGVkCgAAAAAAAAAAAAAAAAAAAGh3X3VscHR4X3dvcmthcm91bmRfcHIxNjk0
-OV9lbmFibGVkX3ZmaWQ6IHZmaWQgJXUgZW5hYmxlZCAldQoAAABFUSBwZm4gJXUgdmZuICV1OiBj
-cmVhdGluZyBFVEggZXFpZCAldSB3aXRoIHBlbmRpbmcgV1IocykgKG51bV9ieXRlcyAldSBhbmQg
-ZmxhZ3MgMHglMDh4CgAAAAAAAABFUSBwZm4gJXUgdmZuICV1OiBjcmVhdGluZyBDVFJMIGVxaWQg
-JXUgd2l0aCBwZW5kaW5nIFdSKHMpIChudW1fYnl0ZXMgJXUgYW5kIGZsYWdzIDB4JTA4eAoAAAAA
-AABFUSBwZm4gJXUgdmZuICV1OiBlcWlkICV1IHRvbyBsYXJnZSAobWF4ICV1KQoAAABFUSBwZm4g
-JXUgdmZuICV1OiBlcWlkICV1IG5vdCBhbGxvY2F0ZWQKAAAAAAAAAABkY2J4X3BvcHVsYXRlX2N0
-cmwgY29kZSBpbmNvbXBsZXRlCgAAAAAAAAAAAAAAAAB2aV90Y2FtX3JhdyBpZHggJXUgbWFjIDB4
-JTA0eCAlMDh4CgAAAAAAAAAAAAAAAABwb3J0X2JsaW5rX2xlZF9yZXN0b3JlCgAAAAAAAAAAAHBv
-cnRfYmxpbms6IGJsaW5rZHVyPTB4JXggYmxpbmtfcmVmY250CgAAAAAAAAAAAHBvcnRfYmxpbms6
-IAlibGlua19yZWZjbnQ9MHgleAoAcG9ydF9ibGluazogCWJsaW5rX3JlZmNudD0weCV4CgBtaWlf
-YW5yZXN0YXJ0WyV1XTogYWNhcHMgMHgleAoAAHBvcnRfY21kX2hhbmRsZXI6IHVua25vd24gdS5k
-Y2IudHlwZSAweCV4CgAAAAAAAHBvcnRbJXU6MHglMDJ4OjB4JTAyeF06IGwxY2ZnLCBpbnZhbGlk
-IHJlcXVlc3QsIHBjYXBzIDB4JXggYWNhcHMgMHgleCByY2FwcyAweCV4CgAAAAAAAAAAAAAAAAAA
-AHBvcnRbJXU6MHglMDJ4OjB4JTAyeF06IGwxY2ZnLCBwY2FwcyAlI3ggYWNhcHMgJSN4IHJjYXBz
-ICUjeCBtY2FwcyAlI3gKAAAAAAAAAAAAcG9ydFsldToweCUwMng6MHglMDJ4XTogbDFjZmcsIG1k
-aSBpc3N1ZSBwY2FwcyAweCV4IGFjYXBzIDB4JXggcmNhcHMgMHgleAoAAAAAAABwb3J0WyV1OjB4
-JTAyeDoweCUwMnhdOiBsMWNmZywgY2Fubm90IGZvcmNlIG5vL211bHRpcGxlIHNwZWVkKHMpLCBw
-Y2FwcyAweCV4IGFjYXBzIDB4JXggcmNhcHMgMHgleAoAAAAAAAAAAAAAAAAAYmFkIEZsb3dDICVk
-IG9uIGVzdGFibGlzaGVkIGNvbm5lY3Rpb24KAAAAAAAAAAAAZXRoX2Zsb3djX2hhbmRsZXJbMHgl
-eF06IGZsYWdzIDB4JTA4eCBudW1fYnl0ZXMgJXUgc2NoZWRjbCAweCV4IC0+IDB4JXgKAAAAAAAA
-AAB0YXNrX2lkeF90b19pdHQ6IHRhc2tfaWR4IFsldV0sIGhpIFsldV0sIGxvIFsldV0sIG5tYXNr
-Yml0cyBbJXVdLCBzd190YWcgWzB4JTA4eF0sIHBwb2RfaWR4IFslZF0KAAAAAAAAAAAAAAAAAAAA
-c2NzaV9jbWQ6IHJlY2VpdmVkIFRNRiBvcCBbMHgleF0gZnVuYyBbMHgleF0gb24gY29ubiBbMHgl
-eF0gdGhyb3VnaCBjb21tYW5kIHBhdGguCgAAAAAAAAAAAAAAAAAAc2NzaV9jbWQ6IGNvbm5fZmMg
-WzB4JXhdLCBzdGF0ZSBbMHgleF0sIHNlc3NfZmMgWzB4JXhdIGluIHJlY292ZXJ5LiBTa2lwcGlu
-ZyBpc3Rhc2tfZmMgWzB4JXhdIGZyb20gVFguCgAAAAAAAAAAAHNjc2lfcmVhZDogY29ubl9mYyBb
-MHgleF0sIHN0YXRlIFsweCV4XSwgc2Vzc19mYyBbMHgleF0gaW4gcmVjb3ZlcnkuIFNraXBwaW5n
-IGlzdGFza19mYyBbMHgleF0gZnJvbSBUWC4KAAAAAAAAAABzY3NpX3dyaXRlOiBjb25uX2ZjIFsw
-eCV4XSwgc3RhdGUgWzB4JXhdLCBzZXNzX2ZjIFsweCV4XSBpbiByZWNvdmVyeS4gU2tpcHBpbmcg
-aXN0YXNrX2ZjIFsweCV4XSBmcm9tIFRYLgoAAAAAAAAAZGNieF9jb250cm9sX3NtWyV1XSBDT05U
-Uk9MX0xJTktVUAoAAAAAAAAAAAAAAAAAZGNieF9jb250cm9sX3NtWyV1XSBDT05UUk9MX1VQREFU
-RV9EQ0JYX1RMVgoAAAAAZGNieF9jb250cm9sX3NtWyV1XSBDT05UUk9MX1BFRVJfTk9UX0FEVkVS
-VElTRV9EQ0JYCgAAAAAAAAAAAAAAAGRjYnhfY29udHJvbF9zbVsldV0gQ09OVFJPTF9VUERBVEVf
-T1BFUl9WRVJTSU9OCgAAAAAAAAAAAAAAAAAAAABkY2J4X2NvbnRyb2xfc21bJXVdIENPTlRST0xf
-UFJPQ0VTU19QRUVSX1RMVgoAAABkY2J4X2NvbnRyb2xfc21bJXVdIENPTlRST0xfQUNLX1BFRVIK
-AAAAAAAAAAAAAABkY2J4X2llZWVfdmFsaWRhdGVbJXVdIGVycm9yIChvdWkgJSN4IHN1YnR5cGUg
-JSN4IGxlbiAlI3gpCgAAAAAAZGNieF9jZWVfdmFsaWRhdGVbJXVdIGVycm9yCgAAAABjaG5ldF9s
-MnRfdXBkYXRlOiBsMmRldl9mYyBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y19pZCBbJXVdIGwyZGV2
-X2ZjLT5mbG93Y19mbGFncyBbMHgleF0sIGludGYgWzB4JXhdCgAAAAAAAAAAAAAAY2huZXRfbDJ0
-X3VwZGF0ZTogbDJkZXZfZmMtPmZsb3djX2lkIFsldV0gYWxyZWFkeSBzY2hlZHVsZWQKAAAAAGNo
-bmV0X2wydF91cGRhdGU6IGluIGRlbGF5ZWRfcHJvY2Vzc2luZywgbDJ0ZW50IFslMDh4XQoAAAAA
-AAAAAABESENQdjYgUkVQTFkgcmVjZWl2ZWQgc3RhdGUgJXUKAGRoY3AgcmVwbHkgcmVjZWl2ZWQg
-aW4gd3Jvbmcgc3RhdGUgJWQKAAAAAAAAAAAAAHVua25vd24gc2VydmVyaWQuIElnbm9yaW5nIGRo
-Y3AgcmVwbHkKAAAAAAAAAAAAAHJlY2VpdmVkIHJlcGx5IHdpdGggZGlmZmVyZW50IGFkZHJlc3Mu
-IGlnbm9yaW5nIGRoY3AgcmVwbHkKAAAAAABESENQdjYgQURWRVJUSVNFIHJlY2VpdmVkCgAAAAAA
-AGRoY3AgYWR2ZXJ0aXNlIHJlY2VpdmVkIGluIHdyb25nIHN0YXRlICVkCgAAAAAAAGlnbm9yaW5n
-IHJjdmQgYWR2ZXJ0aXNlIHByZWZlcmVuY2UgJXUKAAAAAAAAAAAAAHByZWZpeCBub2RlIDB4JXgs
-IHZhbGlkX2xpZmV0aW1lICV1LCBjdXJyZW50X3RpbWUgJXUgZXhwaXJlZCwgZGVsZXRpbmcgaXQK
-AAAAAAAARGVsZXRlZCBwcmVmaXg6IDB4WyUwNHggJTA0eCAlMDR4ICUwNHhdCgAAAAAAAAAAU3Rh
-cnQgREhDUHY2IHRvIGdldCB0aGUgaXAgYWRkcmVzcwoAAAAAAAAAAAAAAAAATm8gZGhjcCwgZGhj
-cCBzdGF0ZSAlZCwgYWRkciBzdGF0ZSAlZAoAAAAAAAAAAAAAcGluZyByZXEgcGF5bG9hZCB0b28g
-bGFyZ2UgJXUuIElnbm9yaW5nIHJlcS4KAAAAUlIgcmN2ZAoAAAAAAAAAAGNobmV0X2lwdjZfcmRf
-aW5wdXQ6IEludmFsaWQgUmVkaXJlY3QKAAAAAAAAAAAAAGNobmV0X2lwdjZfbmFfaW5wdXQ6IElu
-dmFsaWQgTkEKAAAAAAAAAAAAAAAAAAAAAGlwdjYgTkEgcmN2ZAoAAABjaG5ldF9pcHY2X25hX2lu
-cHV0OiBEdXBsaWNhdGUgYWRkcmVzcyBkZXRlY3RlZCEKAAAAAAAAAAAAAAAAAAAATkEgaW4gcmVw
-b25zZSBvZiBOUwoAAAAAAAAAAAAAAABjaG5ldF9pcHY2X25zX2lucHV0OiBJbnZhbGlkIE5TCgAA
-AAAAAAAAAAAAAAAAAABjaG5ldF9pcHY2X25zX2lucHV0OiBJbnZhbGlkIE5TIGlwdjZoLT5wbGVu
-ICV1CgBpcHY2IE5TIHJjdmQKAAAAY2huZXRfaXB2Nl9uc19pbnB1dDogRHVwbGljYXRlIGFkZHJl
-c3MgZGV0ZWN0ZWQKAAAAAAAAAAAAAAAAAAAAAGNobmV0X2lwdjZfbnNfaW5wdXQ6IHNvbWVib2R5
-IHRyeWluZyB0byB1c2Ugb3VyIGFkZHJlc3MKAAAAAAAAAABjaG5ldF9pcHY2X25zX2lucHV0OiBy
-ZXEgZm9yIGFkZHIgcmVzb2x1dGlvbgoAAABIb3AgYnkgSG9wIG9wdGlvbgoAAAAAAAAAAAAAAAAA
-AHByb2Nlc3NfZGhjcF9vcHRzOiByb290IHBhdGggbGVuIFslZF0gYnl0ZXMKAAAAAG5ldGlmX3By
-b2Nlc3NfZGhjcF9vcHRzOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBNU0dfVFlQRSBbJWRd
-LCBkaGN0eHQtPnN0YXRlIFslZF0KAAAAAAAAAAAAAGljbXBfcmVjdjogbDJkZXZfZmMtPmZsb3dj
-X2lkIFsweCV4XSwgcGlkIFsweCV4XSwgaWNtcCB0eXBlIFsweCV4XQoAAAAAAAAAAAAAAAAAdm4y
-dm46IHBvcnQgMHgleCBkaWQ6MHgleCV4JXggVVAKAAAAAAAAAAAAAAAAAAAAdm4ydm46IHBvcnQg
-MHgleCBkaWQ6MHgleCV4JXggRE9XTgoAAAAAAAAAAAAAAAAAZmNfc2VuZF9hbGxvY19jcGw6IGZh
-aWxlZCB0byBzZXR1cCBmaWx0ZXIgY3R1cGxlCgAAAAAAAAAAAAAAAAAAAGZjb2VfY29tcHV0ZV9j
-dHVwbGUgMHgleDoleAoAAAAAY29tcHV0ZV9jdHVwbGUoKTogZmFpbGVkIHRvIHNldHVwIGZpbHRl
-ciBjdHVwbGUKAAAAAAAAAAAAAAAAAAAAAGZjb2VfY29tcHV0ZV9jdHVwbGUgdmxhbiAleCB2aWlk
-ICV4IHBvcnQgJXggbXBzX2lkeCAleAoAAAAAAAAAAABBQlRTIEFDQyBhd2FpdGluZyBQUkxJIFJz
-cDogZmxvd2NfaWQgMHgleCBveF9pZCAweCV4IHJ4X2lkIDB4JXggaXFpZCAweCV4CgAAAAAAAHBv
-cnQgMHgleCwgc3RhdGUgMHgleCwgY29tbWFuZCBmYWlsZWQgcmV0cmllcyAweCV4CgAAAAAAAAAA
-AAAAAABhcnBfcmVjdjogaXBpZCBbMHgleF0sIGluX2FkZHIuYWRkciBbMHgleF0sIHNpcCBbMHgl
-eF0sIHJpcCBbMHgleF0sIGFycF9vcCBbMHgleF0KAAAAAAAAAAAAAAAAAABjaG5ldF9hcnBfcmVj
-djogaXAgY29uZmxpY3QgZGV0ZWN0ZWQKAAAAAAAAAAAAAABjaG5ldF9hcnBfcmVjdjogcGlkIFsl
-dV0sIHZsYW4gWzB4JXhdLCBhcnAgb3AgWzB4JXhdLCBzaXAgWzB4JXhdLCByaXAgWzB4JXhdCgAA
-AGNobmV0X2lwdjZfcmVjdjogdmxhbiBleHRyYWN0ZWQsIHZsYW5pZCBbJXVdLCBsMmRldl9mYy0+
-Zmxvd2NfbmV0X2wyZGV2X3ZsYW5kZXYgWzB4JXhdCgAAAAAAAAAAAEludmFsaWQgZGF0YSBsZW5n
-dGggZGxlbiAldSwgcGFja2V0IGluZGljYXRlcyAldSBieXRlcwoAAAAAAAAAAABVbmtub3duIElQ
-djYgbnh0IHByb3RvY29sICV1CgAAAGNzb2NrX2ZyZWU6IHNpemVvZihjc2tfZmMtPnUuY3NvY2sp
-IFsldV0sIGJ5dGVzCgAAAAAAAAAAAAAAAAAAAABHb3QgQ09OTl9FWElTVCBmb3IgeGlkOjB4JXgs
-IHRhZzoweCV4LCByZXRyeWluZy4KAAAAAAAAAAAAAAAAAAAAY3NvY2tfcGVlcl9jbG9zZTogY3Nr
-X2ZjLT5mbG93Y19pZCBbMHgleF0sIHRjYl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZs
-b3djX3N0YXRlIFsweCV4XSwgdGNiX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0KAAAAAABjc29ja19w
-ZWVyX2Nsb3NlOiBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19zdGF0ZSAg
-WzB4JXhdCgAAAAAAAAAAAHRjcF9jbHNfYWJydF9ycGw6IHRjYiB0aWQgWzB4JTA2eF0sIGZsb3dj
-X3R5cGUgWzB4JXhdLCBjcGxvcCBbMHgleF0gZmxvd2Nfc3RhdGUgMHgleAoAAAAAAAAAAAAAAGNo
-X3JhdGVbJXVdOiBjYXBwZWQgdGljayBmcm9tIHJlcXVpcmVkICV1IHRvIHN1cHBvcnRlZCAldTsg
-cmF0ZSAldSAoZWZmICV1KSBkZWZpY2l0X2luY3IgJXUgdGljayAldQoAAAAAAAAAAAAAAABwa3Rz
-Y2hlZF9jaF9ybFsldV06IGNoYW5uZWwgcmwgbm90IGF2YWlsYWJsZSBpbiBjb25qdW5jdGlvbiB3
-aXRoIGZsb3cgc2hhcGluZwoAAHBrdHNjaGVkX2NoX3JsWyV1XTogcmF0ZSAldSBtYXggJXUKAAAA
-AAAAAAAAAAAAAHBrdHNjaGVkX2NsX3dyclsldToldV06IHdlaWdodCAldQoAAAAAAAAAAAAAAAAA
-AGVxX3BhcmFtc1sweCV4OjB4JXhdOiBkbWFxIDB4JXggcmVhZCAldSBwZiAldSBlcWlkX2FwaSAl
-dSByZXQgJWQKAAAAAAAAAAAAAAAAAAAAd2FpdF9mb3JfY2FsaWJfZG9uZTogcmV0ICVkIGluICV1
-IGF0dGVtcHRzCgAAAAAAaHdfbWFfYWRkcl90b19tZW1fdHlwZV9vZmY6IE1BIGFkZHJlc3MgMHgl
-MDh4IGlzIG5vdCBtYXBwZWQKAAAAAGh3X21hX2FkZHJfdG9fbWVtX3R5cGVfb2ZmOiBNQSBhZGRy
-ZXNzIDB4JTA4eCBtYXBzIHRvIHR5cGUgJXUgb2Zmc2V0IDB4JXgKAAAAAAAAbWVtX21hbGxvY190
-ZW1wOiBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMsIHJldHVybmluZyBOVUxMCgAAAG1lbV9t
-YWxsb2M6IGZhaWxlZCB0byBhbGxvY2F0ZSAldSBieXRlcywgcmV0dXJuaW5nIE5VTEwKAAAAAAAA
-AABsZSBjb25maWd1cmF0aW9uOiBoYXNoIG1vZGUgcmVxdWlyZXMgYXQgbGVhc3QgMTYgZW50cmll
-cywgbmhhc2ggJXUKAAAAAAAAAAAAAAAAAGxlIGNvbmZpZ3VyYXRpb246IGhhc2ggbW9kZSByZXF1
-aXJlcyBhdCBlbnRyaWVzIHRvIGJlIGEgcG93ZXIgb2YgMiwgbmhhc2ggJXUKAAAAbGUgY29uZmln
-dXJhdGlvbjogcmVxdWVzdGVkICV1IHRjYW0gZW50cmllcyBidXQgb25seSAldSBhdmFpbGFibGUg
-KG5yb3V0ZSAldSBuY2xpcCAldSBuZmlsdGVyICV1IG5zZXJ2ZXIgJXUKAAAAAGxlIGNvbmZpZ3Vy
-YXRpb246IHRjYW0gcmVnaW9ucyBtdXN0IGhhdmUgbXVsdGlwbGUgb2YgMzIgZW50cmllcywgbnJv
-dXRlICV1IG5jbGlwICV1IG5maWx0ZXIgJXUgbnNlcnZlciAldQoAAAAAAABod190cF90Y3BfdHVu
-aW5nczogdHVuaW5nIGZvciBjbHVzdGVyIGVudmlyb25tZW50CgAAAAAAAAAAAAAAAAAAaHdfdHBf
-dGNwX3R1bmluZ3M6IHR1bmluZyBmb3IgTEFOIGVudmlyb25tZW50CgAAaHdfdHBfdGNwX3R1bmlu
-Z3M6IHR1bmluZyBmb3IgV0FOIGVudmlyb25tZW50CgAAaHdfdHBfdGNwX3R1bmluZ3M6IG1hbnVh
-bCB0dW5pbmcKAAAAAAAAAAAAAAAAAAAAX2h3X2NpbV9mbGFzaF9tZW1jcHk6IG1lbWNweVggc3Rh
-cnQKAAAAAAAAAAAAAAAAX2h3X2NpbV9mbGFzaF9tZW1jcHk6IGRzdCAweCUwOCBvZmZzZXQgMHgl
-MDh4IHNpemUgJXUsIHdpZHRoIG9mICV1IGlzIG5vdCBzdXBwb3J0ZWQKAAAAAAAAAAAAAAAAX2h3
-X2NpbV9mbGFzaF9tZW1jcHk6IG1lbWNweVggZW5kCgAAAAAAAAAAAAAAAAAAY29uZmlndXJhdGlv
-biBmaWxlIHBhcnNlciBlbmNvdW50ZXJlZCBlcnJvciBAIGxpbmUgJXU6CgAAAAAAAAAAAEhPU1Qg
-UEFHRV9TSVpFIFsweCUwbHhdIHRvbyBzbWFsbCwgbWluIFsweCUwbHhdIHJlcXVpcmVkCgAAAAAA
-AABwYWdlIHNpemUgWyVsdV0gbWlzbWF0Y2gKAAAAAAAAAFBBR0Ugc2l6ZSAlbHUgdW5zdXBwb3J0
-ZWQsIGRkcCBkaXNhYmxlZAoAAAAAAAAAAEhvc3QgcGFnZV9zaXplICVsdSwgZGRwX2lkeCAldQoA
-RkNvRSBERFAgaW5pdDogZmNvZSBsbGltaXQgMHgleCwgZmNvZSB1bGltaXQgMHgleCBnYmwgbGxp
-bWl0IDB4JXggZ2JsIHVsaW1pdCAweCV4IHBjYnN6ICV4CgAAAAAARkNvRSBERFAgaW5pdDogZmNv
-ZSBwcG9kIG9mZiAweCV4LCBmY29lIHN0IHBwb2QgYWRkciAweCV4IGZjb2UgbnVtIHBwb2RzIDB4
-JXgKAABmY29lIHhjaGcgbWdyIGluaXQ6IE51bWJlciBvZiBleGNoYW5nZXMgZm9yIEZDb0UgaXMg
-JXgKAAAAAAAAAAAAZmNvZV9sMnRfaW5pdDogTm8gdWxwdHggY3JlZGl0IGNoOlsldV0KAAAAAAAA
-AAAAZmNvZV9sMnRfaW5pdDogY2g6WyV1XSBsMnRfaWR4IFsldV0KAAAAAAAAAAAAAAAAbm8gbDJ0
-IGVudHJpZXMgY29uZmlndXJlZDsgZm9yY2luZyAldSBlbnRyaWVzLCBzdGFydGluZyBhdCAldQoA
-AGRjYnhfaWVlZV9jb25zdHJ1Y3RbJXVdIGV0cyAldSBwZmMgJXUgYXBwICV1CgAAAGRjYnhfdGlt
-ZW91dFsldV0KAAAAAAAAAAAAAAAAAAAAZGNieF9ydW5fdmVyc2lvbl9zbVsldV0gRENCWF9WRVJf
-U1RBVEVfUlVOX0lFRUUKAAAAAAAAAAAAAAAAAAAAAGRjYnhfcnVuX3ZlcnNpb25fc21bJXVdIERD
-QlhfVkVSX1NUQVRFX1JVTl9DRUUKAGRjYnhfcnVuX3ZlcnNpb25fc21bJXVdIERDQlhfVkVSX1NU
-QVRFX1JVTl9OT05FCgAAAAAAAAAAAAAAAAAAAABNQUMgZmFpbGVkIHRvIHJlc3luYyB0eAoAAAAA
-AAAAAHBvcnRbJXVdIGxpbmsgdXAgKCV1KSAoc3BlZWQgJSN4IGFjYXBzICUjeCBscGNhcHMgJSN4
-KQoAAAAAAAAAAABwb3J0X2hzc19zaWdkZXRbJXVdOiBoc3Nfc2lnZGV0IGNoYW5nZWQgdG8gMHgl
-eAoAAAAAAAAAAAAAAAAAAAAAcG9ydFsldV0gaW5pdGlhbGl6aW5nIEtSCgAAAAAAAABDYWxjdWxh
-dGlvbiBvdXQgb2YgYm91bmRzIGZ1cmluZyBpbml0OiAlI3ggJSN4ICUjeAoAAAAAAAAAAAAAAAAA
-X2h3X3RwX3BnbW5ndDogdHhfcGFnZV9tYXggJXUgcnhfcGFnZV9tYXggJXUgcHN0cnVjdHMgJXUg
-c2l6ZSAldQoAAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX290aGVyc190b3RhbDogZGRwICV1IGRk
-cF9pc2NzaSAldSBzdGFnICV1IHBibCAldSBycSAldSBycXVkcCAldSAtPiAldQoAAAAAAAAAAAAA
-AAAAAABfbXBhcnRpdGlvbl9iYW5rc19tY1g6IG5iYW5rc19wbXR4ICV1ICgldU1CKSBuYmFua3Nf
-cG1yeCAldSAoJXVNQikgbmJhbmtzX290aGVycyAldSAoJXVNQikgbmJhbmtzX2Z3ICV1ICgldU1C
-KQoAX21wYXJ0aXRpb25fYmFua3NfbWMxOiBuYmFua3NfcG10eCAldSAoJXVNQikgbmJhbmtzX290
-aGVycyAldSAoJXVNQikgbmJhbmtzX2Z3ICV1ICgldU1CKQoAAAAAAAAAX21wYXJ0aXRpb25fYmFu
-a3NfbWMwOiBuYmFua3NfcG1yeCAldSAoJXVNQikgbmJhbmtzX290aGVycyAldSAoJXVNQikKAAAA
-AAAAAAAAAABtZW1fbWFsbG9jX2ludGVybmFsOiBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMs
-IHJldHVybmluZyBOVUxMCgAAAAAAAAAAAAAAAAAAAGh3X2VkY19iaXN0WyV1XTogYmlzdF9jbWRb
-MHglMDh4XSBhZGRyIDB4JXggbGVuIDB4JXgKAAAAAAAAAAAAAABod19lZGNfYmlzdFsldV06IGRv
-bmUsIGVuY291bnRlcmVkICV1IGVycm9ycyBvbiBmaXJzdCBhbmQgJXUgZXJyb3JzIG9uIHNlY29u
-ZCBhdHRlbXB0ICgldWdicHMpCgBtZW1faW5pdF9jYWNoZXM6IGNhY2hlX3NpemUgJXUgZmxvd2Nf
-YnVmX3RjYl9jYWNoZV9zaXplICV1IGJ1ZmxsNjRfY2FjaGVfc2l6ZSAldQoAAAAAAAAAAAAAAAAA
-AABtcGFydGl0aW9uX3BtdHg6IG0gMHglMDh4IHNpemUgJXUKAAAAAAAAAAAAAAAAAABtcGFydGl0
-aW9uX3Btcng6IG0gMHglMDh4IHNpemUgJXUKAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX2VkYyAo
-bm8gZXh0bWVtKTogbSAweCUwOHggc2l6ZSAldQoAAABtcGFydGl0aW9uX2VkY19lc3RpbWF0ZTog
-aHcgbW9kdWxlcyByZXF1aXJlICVkIGJ5dGVzIGluIEVEQwoAAAAAVGVtcGVyYXR1cmUvVm9sdGFn
-ZSBTZW5zb3I6IENvcmUgY2xvY2sgJXUgPiAldTsgY2FwcGluZyB0byBzdGF5IGluIGNvbXBsaWFu
-Y2Ugd2l0aCBoYXJkd2FyZS4KAAAAY2huZXRfYnllOmwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0s
-IGwyZGV2X2ZjLT5mbG93Y19wY2llX3BmbiBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y19wY2llX3Zm
-biBbMHgleF0sIHBvcnQgWzB4JXhdCgAAAAAAAAAAAAAAAABjaG5ldF9ieWU6dmxhbmRldl9mYy0+
-Zmxvd2NfaWQgWzB4JXhdLCB2bGFuZGV2X2ZjLT5mbG93Y19wY2llX3BmbiBbMHgleF0sIHZsYW5k
-ZXZfZmMtPmZsb3djX3BjaWVfdmZuIFsweCV4XSwgcG9ydCBbMHgleF0KAAAAAAAAAGZvaXNjc2lf
-Y29yZV9ieWU6IGFjdGl2ZSBzZXNzX2NudCAlZAoAAAAAAAAAAAAAAGh3X21hY19hZWNfY29tcGxl
-dGVbJXVdIG9uIGxhbmVzICUjeCAoc2lnZGV0ICUjeCksIHR4X2xhbmVzICUjeAoAAAAAAAAAAAAA
-AAAAAAAAYWVjX2ZzbVsldV0gOiBzdGF0ZSBTVEFSVCAoc2lnZGV0ICUjeCkKAAAAAAAAAAAAYWVj
-X2ZzbVsldV0gOiB0cmFuc2l0aW9uaW5nIHRvIFRSQUlOSU5HCgAAAAAAAAAAYWVjX2ZzbVsldV0g
-OiBUUkFJTklOR19DT01QTEVURQoAAAAAAAAAAAAAAAAAAAAAYWVjX2ZzbVsldV0gOiBSZW1vdGUg
-ZmF1bHQgd2hpbGUgd2FpdGluZyBmb3IgbGluayBzdGF0dXMgMHgleAoAAGFlY19mc21bJXVdIDog
-UmVtb3RlIGZhdWx0IGNsZWFyZWQgd2hpbGUgd2FpdGluZyBmb3IgbGluayBzdGF0dXMgMHgleAoA
-AAAAAAAAAAAAYWVjX2ZzbVsldV0gOiBET05FCgAAAAAAAAAAAAAAAABhZWNfZnNtWyV1XSB0aW1l
-ZCBvdXQgdHJhaW5pbmcgRlNNX1NUQVRFXzAgMHgleCwgXzEgMHgleCBfMiAweCV4IF8zIDB4JXgs
-IExpbmsgU3RhdHVzIDB4JXgKAAAAAABiZWFuX2ZzbVsldV0gOiBzdGF0ZSBTVEFSVCAoY291bnQg
-PSAldSkKAAAAAAAAAABiZWFuX2ZzbVsldV0gOiBlbnRlcmluZyBzdGF0ZSBXQUlUX1NJR0RFVAoA
-AAAAAABiZWFuX2ZzbVsldV0gOiBlbnRlcmluZyBzdGF0ZSBOWFBfSEFORExFCgAAAAAAAABiZWFu
-X2ZzbVsldV0gOiBlbnRlcmluZyBzdGF0ZSBXQUlUX0NPTVBMRVRFCgAAAABiZWFuX2ZzbVsldV0g
-OiBETCA0MEcgTmVnb3RpYXRpb24gRXJyb3IgLSBBdHRlbXB0aW5nIHRvIGNvbnRpbnVlCgAAAAAA
-AAAAAAAAAAAAAGJlYW5fZnNtWyV1XSA6IHN0YXRlIERPTkUKAAAAAAAAYmVhbl9mc21bJXVdIDog
-c3RhdGUgUkVTVEFSVDEKAABiZWFuX2ZzbVsldV0gOiBzdGF0ZSBSRVNUQVJUMgoAAGJlYW5fZnNt
-WyV1XSA6IHN0YXRlIFJFU1RBUlQzCgAAYmVhbl9mc21bJXVdIFRJTUVPVVQ7IHN0YXRlICV1IGV0
-aF9zdGF0dXMgJSN4IGJlYW5fc3RhdHVzICUjeCBoc3Mgc2lnZGV0ICUjeCByZXRyeV9jbnQgJXUK
-AAAAAAAAaHdfbWFjX2xpbmtfc3RhdHVzWyV1XSBpbnRfY2F1c2UgMHgleCwgbGlua19zdGF0dXMg
-MHgleAoAAAAAAAAAAHBvcnQgJXUgY2hhbmdpbmcgc3BlZWQgdG8gMUcKAAAAcG9ydCAldSBuZWdv
-dGlhdGVkIHVuc3VwcG9ydGVkIHNwZWVkICUjeAoAAAAAAAAAYmVhbi9hZWMgY29tcGxldGUgKHJl
-dHJ5OiAldSkKAABwb3J0WyV1XSByZXNldHRpbmcgS1IKAAAAAAAAAAAAAHBvcnQgJXUgbmVnb3Rp
-YXRlZCB1bnN1cHBvcnRlZCBzcGVlZCAlI3gKAAAAAAAAAGJlYW4vYWVjIGNvbXBsZXRlIChyZXRy
-eTogJXUpCgAAUmFuZ2UgY2FsYzogQXZlcmFnZWQgJSN4IGJ1dCBpZ25vcmVkIHZhbHVlICUjeCAo
-aXRlcmF0aW9uICV1KQoAAE1DIGNhbGlicmF0aW9uIGZhaWxlZDogREZJIGluaXQgbm90IGdvaW5n
-IHRvIDAKAE1DIGNhbGlicmF0aW9uIGZhaWxlZDogREZJIGluaXQgbm90IGNvbXBsZXRpbmcKAE1D
-IGNhbGlicmF0aW9uIGZhaWxlZDogQ2FsaWJyYXRpb24gZGlkbid0IGNvbXBsZXRlLgoAAAAAAAAA
-AAAAAABNQyBjb21tYW5kIGZhaWxlZCB0byBjb21wbGV0ZShvcGNvZGUgJSN4IGNhZGRyICUjeCBi
-YWRkciAlI3ggZGVsYXkgJWQpCgAAAAAAAAAAAHBmbiAldSB2Zm4gJXUgY29tcGxldGUgaW1tZWRp
-YXRlCgAAAAAAAAAAAAAAAAAAAHBmbl9iaXRtYXAgMHgleAoAAAAAAAAAAAAAAAAAAAAAYmFkIG1h
-aWxib3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgb3Bjb2RlIDB4JXggPiBMQVNUQzJFIDB4JXgK
-AG1haWxib3ggY21kIG5vdCB5ZXQgc3VwcG9ydGVkOiBwZm4gMHgleCB2Zm4gMHgleDsgb3Bjb2Rl
-IDB4JXgKAABiYWQgbWFpbGJveCBjbWQ6IHBmbiAweCV4IHZmbiAweCV4OyBvcGNvZGUgMHgleCBp
-cyB2YWxpZCBwb3N0IGRldmljZSBpbml0IG9ubHkKAGJhZCBtYWlsYm94IGNtZDogcGZuIDB4JXgg
-dmZuIDB4JXg7IG9wY29kZSAweCUwMnggcmFtYXNrIDB4JXggY21kIHJhbWFzayAweCV4CgAAYmFk
-IG1haWxib3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgb3Bjb2RlIDB4JTAyeCBsZW4xNiAweCV4
-IHZlcnN1cyBleHBlY3RlZCBsZW4xNiAweCV4CgAAAAAAAAAAaW5zdWZmaWNpZW50IGNhcHMgdG8g
-cHJvY2VzcyBtYWlsYm94IGNtZDogcGZuIDB4JXggdmZuIDB4JXg7IHJfY2FwcyAweCV4IHd4X2Nh
-cHMgMHgleCByZXF1aXJlZCByX2NhcHMgMHgleCB3X2NhcHMgMHgleAoAAAAAAAAAAABpbnN1ZmZp
-Y2llbnQgY2FwcyB0byBwcm9jZXNzIG1haWxib3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgcl9j
-YXBzIDB4JXggd3hfY2FwcyAweCV4IHJlcXVpcmVkIHJfY2FwcyAweCV4IHdfY2FwcyAweCV4CgAA
-AAAAAAAAAGRvd25sb2FkX3NyYW06IGVycm9yLCByZXQgJWQKAAAAZG93bmxvYWRfdGNhbTogZXJy
-b3IsIHJldCAlZAoAAABod19wb3dlcl9wcmVwOiBWREQ9Tk9ORSBidXQgVkNTPSVkCgAAAAAAAAAA
-AAAAAABod19wb3dlcl9wcmVwOiB1bnN1cHBvcnRlZCBleHRlcm5hbCBhZGp1c3RhYmxlIHBvd2Vy
-IHJlZ3VsYXRvcnMgVkREPSVkLCBWQ1M9JWQKAGh3X3Bvd2VyX3ByZXA6IHVuc3VwcG9ydGVkIFZE
-RD0lZAoAAAAAAAAAAAAAAAAAAGh3X3Bvd2VyX3ByZXA6IHVuc3VwcG9ydGVkIFZDUz0lZAoAAAAA
-AAAAAAAAAAAAAGh3X3Bvd2VyX3ByZXA6IGkyYyB3cml0ZSBlcnJvciwgVkREPSVkLHJldD0lZAoA
-AGh3X3Bvd2VyX3ByZXA6IHVuc3VwcG9ydGVkIFZERD0lZAoAAAAAAAAAAAAAAAAAAGh3X3Bvd2Vy
-X3ByZXA6IGkyYyB3cml0ZSBlcnJvciwgVkNTPSVkLHJldD0lZAoAAGh3X3Bvd2VyX3ByZXA6IHVu
-c3VwcG9ydGVkIFZDUz0lZAoAAAAAAAAAAAAAAAAAAFZQRCByZWdpb24gaXMgdG9vIHNtYWxsIChT
-RVJDRkdfU1JfUEZOVlBEU0laRSAweCV4KQoAAAAAAAAAAAAAAABjZl9wcmVwOiBlcnJvciwgcmV0
-ICVkCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAASAAAAAAAAAA
-ggAAAQAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoCAAAAAAAAAAAAA
-AAAAgAAAAAAAAAAABwAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAA
-AACAEAMAAAAAAAAIAAAAAAIAAAAAAAAAAAAgAAAAAAAAAAAAAAABAAOAAAAAAAAAAAAAAAIAAAAA
-AAAAAAAgA4AAAAAAAAAAAAAQAoAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-QAAAAAAAAAAgAAAAAAAAAAAAAACAAAKAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAIAAAAAAAAAAAAA
-AAIAAAAAAAAAAAAAAAKAAAAAAAAAAAABAAMAAAAAAAAAAAAAAoMAAAAAAAAAAAAQAoAAAAAAAAAA
-AAAwAAMAAAAAAAAIAAAwAAMAAAAAAAAAAAAwBYMAAAAAAAAIAAAwBYMAAAAAAAAAAAAwBIMAAAAA
-AAAIAAAwBIMAAAAAAAAAAAAwAwMAAAAAAAAIAAAwAwMAAAAAAAAAAAA4AwMAAAAAAAAAAAA4BYMA
-AAAAAAAAAAA4BIMAAAAAAAAAAAA4AAMAAAAAAAAAAAA0BoIAAAAAAAAAAAA8A4IAAAAAAAAAAAA8
-AAMAAAAAAAAIAAA8AAMAAAAAAAAAAAA8BIMAAAAAAAAAAAA8BQMAAAAAAAAAAAA9BAMAAAAAAAAA
-AAA8A4MAAAAAAAAAAAAsAAIAAAAAAAAAAAAsBYIAAAAAAAAAAAAsBQIAAAAAAAAAAAAQBoAAAAAA
-AAAAAAAQBoKAAAAAAAAAAAAADoIAAAAAAAAAAAAQB4KAAAAAIAAAAAAAB4IAAAAAIAAAAAAQBwKA
-AAAAAAAAAAAQBwKAAAAAAAAAAAAQBwKAAAAAAAAAAAAABwIAAAAAIAAAAAAQF4MAAAAAAAAIAAAQ
-F4MAAAAAAAAIAAAQAAAAAAAAAAAAAAAQBgOAAAAAAAAAAAAADgMAAAAAAAAAAAAQBgNAAAAAAAAA
-AAAQBgMAAAAAAAAAAAAQBgAAAAAAAAAAAAAABgOAAAAAAAAAAAAABgMAAAAAAAAAAAAADgIAAAAA
-AAAAAAAADgIAAAAAAAAAAAAQBgIAAAAAAAAAAAAQBgIAAAAAAAAAAAAQBgKAAAAAAAAAAAAQBgKA
-AAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAA
-EAMAAAAAAAAIAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////8AAAAgAAAAAMAAAAAAAAAgAAAA
-AOAAAAAAAAAAAgAAAAAAAABAAAAAAAAAAAAAAAAAAAEhAAAAAAAAAAAAAQEgAAAAAAAAAAAAAAIA
-AAAEAAQAAAAAAIFAAAAAAAAAAAAABoAAAAQAAAAAAAAAgABAAAAAAAACAAAAgAAgAAAAAAACAAAI
-gAAAAAAAQAAAAAIBAEAAAAAAAAAAAAABAEIAAAAAAAAAAAAAACAAAAAAAAAAAAACECAAAAAAAAAA
-AAACDAIAAAAAAAAAAAAAhQIAAAAEAAAAAAAAgEIAAAAAAAAAAACAgEIAQAAAAAAAAACAgEIAAAAA
-AAAAAAACACIAAAAAAAAAAAAAgEEAAAAAAAAAAACAgEEAAAAAAAAAAAAAgEGAAAAAAAAAAACAgEGA
-AAAAAAAAAAACACEAAAAAAAAAAAAAECCAAAAAAAAAAAACJQCAAAAAAAAAAAAABQAAAAAAAAAAAAAI
-iASAAAAAAAAAAAAIiASAAAAAAAAAAAAIogCAAAAAAAAAAAAIogCAAAAAAAAAAAAIowCAAAAAAAAA
-AAAIowCAAAAAAAAAAAAIpICAAAAAAAAAAAAIpICAAAAAAAAAAAAEpIDAAAAAAAAAAAAEogDAAAAA
-AAAAAAAEowDAAAAAAAAAAAAEiATAAAAAAAAAAAAACQGAAAAAAAAAAAACDACAAAAAAAAAAAAAiATA
-AAAAAAAAAAAAiASAAAAAAAAAAAACCwCAAAAAAAAAAAAAioCAAAAAAAAAAAAAC4CAAAAAAAAAAAAA
-jACAAAAAAAAAAAACIBCAAAAAAAAAAAACCgCAAAAAAAAAAAACCoCAAAAAAAAAAAAACQKAAAAAAAAA
-AAAAAQEAAAAAAAAAAAAAAQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIEQAAAA
-AAAAAAAAAIEIAAAAAAAAAAAAAIEEAAAAAAAAAAAAAIGAAAAAAAAAAAAAgADAAAAAAAAAAAAAgACg
-AAAAAAAAAAAAAAgAAAAAAAAAAAAAgYAAAAAAAAAAAAAAgYCAAAAAAAAAAAAAiYCAAAAAAAAAAAAA
-iYDAAAAAAAAAAAAAAYIAAAAAAAAAAAACAYAAAAAAAAAAAAACAYCAAAAAAAAAAAAAQYGAAAAAAAAA
-AAACAYGAAAAAAAAAAAAASYGAAAAAAAAAAAACCYGAAAAAAAAAAAACAYEAAAAAAAAAAAAAQYEAAAAA
-AAAAAAAgAAAAAAAAAAAAAAAQAAACAQAAAAAAAAAQAAACAAAAAAAAAAAQAAAAAAAAAAAAAAAAgADA
-AAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAgAkgAAAAAAAAADZgAgAEAAAAAACACSAAAAAAAAAANyASUEQAAAAAAAAAAAAAAAAAAAA5YAIABA
-AAAAAAgAAAACAIgDhwAAVgAgAEAAAAAAAAAAAAAAAAAAAAOWACAAQAAAAAAAAAAAAAAAAAAAA5YA
-IABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAAAAAAAAAAAAAAAAOWACAAQAAAAAAAAAAAAAAAAAAA
-A5YAIABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAAAAAAAAAAAAAAAAOWACAAQAAAAAAIAAAAAgCI
-A4UAAJYBIABAAAAAAAgAAAACAIgDhQAAlgEgAEAAAAAAAAAAAAAAAAAAAAOWACAAQAAAAAAAAAAA
-AAAAAAAAA5YAIABAAAAAAAgAAAACAIgDhQAAlgEgAEAAAAAAAAAAAAAAAAAAAAOWACAAQAAAAAAA
-AAAAAAAAAAIAA5YAJgRAAAAAAAhHIAEEAAACsAAC0gVAJEQAAAAACEcgAQQAAAKyAALSBUYkQAAA
-AAAIAAAAAgCIA4cAAJYBJgRAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAAAEcgAQYMoYKyQAGSBEAk
-RAAAAAAIAAAAAgCIA4cAAJYBJgRAAAAAAABHIAEEDKBCsYACEgVAJEQAAAAACAAAAAIAiAOHAACW
-ASYEQAAAAAAIAAAAAgCIA4UAAJYBIABAAAAAAAgAAAACAIgDhQAAlgEgAEAAAAAACAAAAAIAiAOF
-AACWASAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAA3FEroCsIDTFFSL4kpGJEAAAAAABcUSugK3
-gNMUVItiSaYkQAAAAAAFxRKiBrCA0xRUi+JKRiRAAAAAAA3FEqIGt4DTFFSLYkmmJEAAAAAABcUS
-ogawgNMUVIviSkYkQAAAAAANxRKiBreA0xRUi2JJpiRAAAAAAAXFEqIGsIDTFFSL4kpGJEAAAAAA
-DcUSoga3gNMUVItiSaYkQAAAAAAJxBCgAgCAkAAAi2JpxiRAAAAAAAHEEKAGsICTBlSLYmnGJEAA
-AAAAAcQQoAawgJMGVItiacYkQAAAAAABxRC4BrCAkxZUi2JIxiRAAAAAAAihEIgCAIFYEgALUgCm
-JEAAAAAACcAQkAKwgAMWVIqSAcYkQAAAAAAJwBC4BrCAAxCUi+ICRiRAAAAAAAnAELgCtIADEJSL
-YgGmJEAAAAAACcAQuAK0gAMQlItiAaYkQAAAAAAJwBC4ArSAAxCUi2IBpiRAAAAAAAnAELgCtIAD
-EJSLYgGmJEAAAAAAAaAQkAa0gAMQlItiAaYkQAAAAAABwBCAArCAAxRUilIAxiRAAAAAAAHAEIAC
-sIADFFSKUgDGJEAAAAAAAcAQgAKwgAMUVIpSAMYkQAAAAAAIRyABBAAAArAAAtIEQCRAAAAAAACB
-AAACAIVYB0ALUgCmJEAAAAAAAAAAAAQAoEABgAHWACAAQAAAAAAAAAAABgChgABAAVYAIABAAAAA
-AAAAAAAEAKBAAYAB1gAgAEAAAAAACIEAAAIAhVmABAtSAKYkQAAAAAAKAUAAAAAAGAIAA0IBJqRC
-AAAAAAAAAAAAAAAAAAADlgAgAEAAAAAAAAAAAAQAoEABgAHWACAAQAAAAAAIAAAAAgCIA4UAA9YA
-IABAAAAAAAgAAAACAIgDhQAD1gAgAEAAAAAAAAAAAAAAAAAAAAOWACAAQAAAAAAAAAAAAAAAAAAA
-A5YAIABAAAAAAAAAAAAEAKBAAYAB1gAgAEAAAAAACcAQuAK0gAMQlItiAaYkQAAAAAAAAAAAAAAA
-AAIAA5YAJgRAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAACAAAAAIAiAOFAACWASAAQAAAAAAAAAAA
-BACgQAGAAdYAIABAAAAAAAAAAAAEAKBAAYAB1gAgAEAAAAAAAAAAAAQAoEABgAHWACAAQAAAAAAI
-oRCIAgCBWBAACRIBpiRAAAAAAAAAAAAEAKBAAYAB1gAgAEAAAAAAAAAAAAYAoYAAQAFWACAAQAAA
-AAAIAAAAAgCIA4dACNICRiRCAAAAAAnFEqIClIjSEoCLIknGJEAAAAAAAcAQgAakiAEFVItSAMYk
-QAAAAAAJwBCAAqSIAIVUi1IAxiRAAAAAAAnAEIAGtIgDARSLUgGmJEAAAAAADcAAAAKwgMMWVIvi
-A0YkQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIADAA
-BAAAAAIAAAIAJiRAAAAAAABHMAAGAyACtwAIAgHAJEAAAAAACAMAAAIGoAq3AAgCAcYkRgAAAAAA
-AAAAAAAAAAIAAAIAJiRAAAAAAAAgUAAEAAAAAAAAAgEmJEYAAAAACGAgAIQAAAAAAAAGACAAQAAA
-AAAIYCAAhAAAAAIBMAIAJiVAAAAAAAhgAAAEAIQBggQEAgHGJMIAAAAAAcAAAAJDgAMCDIgCAaYk
-QAAAAAAIAGAABAAAAAIAAAIAJiRAAAAAAAgAYAAEAAAAAAAABAEgAEAAAAAAAAAAAAAAAAAAAAAE
-ASAAQAAAAAAECBSABgoAAAcBTAIgpiZAAAAAAAiAAAAGAIQBgAQIAgGmJMAAAAAAAEAAAAIAoAAA
-QAgCAKYkRgAAAAAAAAAAAAAAAAIAAAIAJiRAAAAAAAQAAAAChAADAooIAgTAJEAAAAAAAAAAAAAA
-AAACAAAGASBIQAAAAAAAIFAABAAAAAIAAAIAJiRAAAAAAAhgIACEAAAAAgAABgAmBEAAAAAACGAg
-AIQAAAACAAACASYlQAAAAAAIYAAABACEAYAEBAIBxiTAAAAAAAgAYAAEAAAAAAAABAEgAEAAAAAA
-AACAACAAAAAAAAACACZMcAAAAAAAAIAAIAAAAAAAAAYBIAAAAAAAAAAAgAAgAAAAAAAAAgAmTHAA
-AAAAAACAACAAAAAAAAAGASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAACcAAAAi0jAQJFgQCBMYkQAAAAAAJwAAADDSABAkWBAIExiRAAAAAAAQIdIBMCQAA
-UABcAmHmJEAAAAAADAh0gEQAAABSAEACYSYkQAAAAAAIAhCgBAAAAAABAAIAJiRAAAAAAAgCEKAE
-AAAAAAEAAgAmJEAAAAAABAh0AEIBAAAHAIgCYMYkQAAAAAANyBQAAgkAAARAnAJg5iRAAAAAAAnI
-EIACtIAEApSIAmXGJEAAAAAADch0AEy0gAMAlIgCYKYkwAAAAAAFyHQASDSQAwCUiAJgpiTAAAAA
-AAhHAAAEAAAAAAAAAgEgJEAAAAAACEcAAAQAAAAAAAACBEAkQAAAAAAARyABDAchwrcACAIAwCRE
-AAAAAABHIAEMByHCtwAIAgDAJEQAAAAAAEcgAQwHIcK3AAgCAMAkRAAAAAAAACABCACEAAVAiAIB
-xiTAAAAAAAAAIAEIAIQABUCIAgHGJMAAAAAAAAAgAQgAhAAFQIgCAcYkwAAAAAAAACABhoIAAQLA
-iAIDxiTAAAAAAAAAIAGCggAAAsCIAgPGJMAAAAAACcAgAYKkgAEFQIgCAcYkwAAAAAAIAAAADACE
-AAVAiAIBxiTAAAAAAAAAIAGGggABAsCIAgPGJMAAAAAAAAAgAYKCAAAAwIgCAqYkwAAAAAAJwCAB
-gqSAAQVAiAIBxiTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQABBAkA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbZ2xvYmFsXQpyc3NfZ2xiX2NvbmZpZ19tb2RlPWJh
-c2ljdmlydHVhbApyc3NfZ2xiX2NvbmZpZ19vcHRpb25zPXRubG1hcGVuLGhhc2h0b2VwbGl0eix0
-bmxhbGxsa3AKcGxfdGltZW91dF92YWx1ZT0xMDAwMApyZWdbMHgxMDA4XT0weDQwODEwLzB4MjFj
-NzAKcmVnWzB4MTAwY109MHgyMjIyMjIyMgpyZWdbMHgxMGEwXT0weDAxMDQwODEwCnJlZ1sweDEw
-NDRdPTQwOTYKcmVnWzB4MTA0OF09NjU1MzYKcmVnWzB4MTA0Y109MTUzNgpyZWdbMHgxMDUwXT05
-MDI0CnJlZ1sweDEwNTRdPTkyMTYKcmVnWzB4MTA1OF09MjA0OApyZWdbMHgxMDVjXT0xMjgKcmVn
-WzB4MTA2MF09ODE5MgpyZWdbMHgxMDY0XT0xNjM4NApyZWdbMHgxMGE0XT0weDAwMjgwMDAwLzB4
-M2ZmYzAwMDAKcmVnWzB4MTExOF09MHgwMDAwMjgwMC8weDAwMDAzYzAwCnJlZ1sweDEwYThdPTB4
-NDAyMDAwLzB4NDAyMDAwCmJhcjJ0aHJvdHRsZWNvdW50PTUwMApzZ2VfdGltZXJfdmFsdWU9NSwx
-MCwyMCw1MCwxMDAsMjAwCnJlZ1sweDExMjRdPTB4MDAwMDA0MDAvMHgwMDAwMDQwMApyZWdbMHgx
-MTMwXT0weDAwZDVmZmViCnJlZ1sweDExM2NdPTB4MDAwMmZmYzAKcmVnWzB4N2QwNF09MHgwMDAx
-MDAwMC8weDAwMDEwMDAwCnJlZ1sweDdkNmNdPTB4MDAwMDAwMDAvMHgwMDAwNzAwMApyZWdbMHg3
-ZDc4XT0weDAwMDAwNDAwLzB4MDAwMDAwMDAKcmVnWzB4N2RjMF09MHgwZTJmODg0OQpmaWx0ZXJN
-b2RlPWZjb2VtYXNrLHNydnJzcmFtLGZyYWdtZW50YXRpb24sbXBzaGl0dHlwZSxwcm90b2NvbCx2
-bGFuLHBvcnQsZmNvZQpmaWx0ZXJNYXNrPXByb3RvY29sLGZjb2UKdHBfcG1yeD0zMAp0cF9wbXJ4
-X3BhZ2VzaXplPTY0Swp0cF9ucnhjaD0wCnRwX3BtdHg9NTAKdHBfcG10eF9wYWdlc2l6ZT02NEsK
-dHBfbnR4Y2g9MAp0cF9tdHVzPTg4LDI1Niw1MTIsNTc2LDgwOCwxMDI0LDEyODAsMTQ4OCwxNTAw
-LDIwMDIsMjA0OCw0MDk2LDQzNTIsODE5Miw5MDAwLDk2MDAKcmVnWzB4N2QwOF09MHgwMDAwMDgw
-MC8weDAwMDAwODAwCnJlZ1sweDdkNDhdPTB4MDAwMDAwMDAvMHgwMDAwMDQwMApyZWdbMHg3ZDYw
-XT0weDA2MDAwMDAwLzB4MDcwMDAwMDAKcmVnWzB4MTkxNjhdPTB4MDQwMjAxMDAKcmVnWzB4MTlj
-MDRdPTB4MDA0MDAwMDAvMHgwMDQwMDAwMAptY19tb2RlX2JyY1swXT0xCm1jX21vZGVfYnJjWzFd
-PTEKcmVnWzB4OGRjMF09MHgwMDAwMDAwNC8weDAwMDAwMDA0CltmdW5jdGlvbiIwIl0KbnZmPTE2
-Cnd4X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZpPTEKbmlxZmxpbnQ9OApuZXRoY3RybD04Cm5lcT0x
-NgpuZXhhY3RmPTgKY21hc2s9YWxsCnBtYXNrPTB4MQpbZnVuY3Rpb24iMSJdCm52Zj0xNgp3eF9j
-YXBzPWFsbApyX2NhcHM9YWxsCm52aT0xCm5pcWZsaW50PTgKbmV0aGN0cmw9OApuZXE9MTYKbmV4
-YWN0Zj04CmNtYXNrPWFsbApwbWFzaz0weDIKW2Z1bmN0aW9uIjIiXQpudmY9MTYKd3hfY2Fwcz1h
-bGwKcl9jYXBzPWFsbApudmk9MQpuaXFmbGludD04Cm5ldGhjdHJsPTgKbmVxPTE2Cm5leGFjdGY9
-OApjbWFzaz1hbGwKcG1hc2s9MHg0CltmdW5jdGlvbiIzIl0KbnZmPTE2Cnd4X2NhcHM9YWxsCnJf
-Y2Fwcz1hbGwKbnZpPTEKbmlxZmxpbnQ9OApuZXRoY3RybD04Cm5lcT0xNgpuZXhhY3RmPTgKY21h
-c2s9YWxsCnBtYXNrPTB4OApbZnVuY3Rpb24iNCJdCnd4X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZp
-PTI4Cm5pcWZsaW50PTE3MApuZXRoY3RybD0xMDAKbmVxPTI1NgpucXBjcT0xMjI4OApuZXhhY3Rm
-PTQwCmNtYXNrPWFsbApwbWFzaz1hbGwKbmV0aG9mbGQ9MTAyNApucm91dGU9MzIKbmNsaXA9MzIK
-bmZpbHRlcj00OTYKbnNlcnZlcj00OTYKbmhhc2g9MTIyODgKcHJvdG9jb2w9bmljX3ZtLG9mbGQs
-cmRkcCxyZG1hYyxpc2NzaV9pbml0aWF0b3JfcGR1LGlzY3NpX3RhcmdldF9wZHUsaXNjc2lfdDEw
-ZGlmCnRwX2wydD0zMDcyCnRwX2RkcD0yCnRwX2RkcF9pc2NzaT0yCnRwX3N0YWc9Mgp0cF9wYmw9
-NQp0cF9ycT03CltmdW5jdGlvbiI1Il0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9NApuaXFm
-bGludD0zNApuZXRoY3RybD0zMgpuZXE9NjQKbmV4YWN0Zj0xNgpjbWFzaz1hbGwKcG1hc2s9YWxs
-Cm5zZXJ2ZXI9MTYKbmhhc2g9MjA0OAp0cF9sMnQ9MTAyMApwcm90b2NvbD1pc2NzaV9pbml0aWF0
-b3JfZm9mbGQKdHBfZGRwX2lzY3NpPTIKaXNjc2lfbnRhc2s9MjA0OAppc2NzaV9uc2Vzcz0yMDQ4
-CmlzY3NpX25jb25uX3Blcl9zZXNzaW9uPTEKaXNjc2lfbmluaXRpYXRvcl9pbnN0YW5jZT02NApb
-ZnVuY3Rpb24iNiJdCnd4X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZpPTQKbmlxZmxpbnQ9MzQKbmV0
-aGN0cmw9MzIKbmVxPTY2Cm5leGFjdGY9MzIKY21hc2s9YWxsCnBtYXNrPWFsbApuaGFzaD0yMDQ4
-CnRwX2wydD00CnByb3RvY29sPWZjb2VfaW5pdGlhdG9yCnRwX2RkcD0yCmZjb2VfbmZjZj0xNgpm
-Y29lX252bnA9MzIKZmNvZV9uc3NuPTEwMjQKW2Z1bmN0aW9uIjEwMjMiXQp3eF9jYXBzPWFsbApy
-X2NhcHM9YWxsCm52aT00CmNtYXNrPWFsbApwbWFzaz1hbGwKbmV4YWN0Zj04Cm5maWx0ZXI9MTYK
-W2Z1bmN0aW9uIjAvKiJdCnd4X2NhcHM9MHg4MgpyX2NhcHM9MHg4Ngpudmk9MQpuaXFmbGludD00
-Cm5ldGhjdHJsPTEKbmVxPTQKbmV4YWN0Zj00CmNtYXNrPWFsbApwbWFzaz0weDEKW2Z1bmN0aW9u
-IjEvKiJdCnd4X2NhcHM9MHg4MgpyX2NhcHM9MHg4Ngpudmk9MQpuaXFmbGludD00Cm5ldGhjdHJs
-PTEKbmVxPTQKbmV4YWN0Zj00CmNtYXNrPWFsbApwbWFzaz0weDIKW2Z1bmN0aW9uIjIvKiJdCnd4
-X2NhcHM9MHg4MgpyX2NhcHM9MHg4Ngpudmk9MQpuaXFmbGludD00Cm5ldGhjdHJsPTEKbmVxPTQK
-bmV4YWN0Zj00CmNtYXNrPWFsbApwbWFzaz0weDQKW2Z1bmN0aW9uIjMvKiJdCnd4X2NhcHM9MHg4
-MgpyX2NhcHM9MHg4Ngpudmk9MQpuaXFmbGludD00Cm5ldGhjdHJsPTEKbmVxPTQKbmV4YWN0Zj00
-CmNtYXNrPWFsbApwbWFzaz0weDgKW3BvcnQiMCJdCmRjYj1wcHAsZGNieApiZ19tZW09MjUKbHBi
-a19tZW09MjUKaHdtPTMwCmx3bT0xNQpkd209MzAKZGNiX2FwcF90bHZbMF09MHg4OTA2LGV0aGVy
-dHlwZSwzCmRjYl9hcHBfdGx2WzFdPTB4ODkxNCxldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsyXT0z
-MjYwLHNvY2tldG51bSw1Cltwb3J0IjEiXQpkY2I9cHBwLGRjYngKYmdfbWVtPTI1CmxwYmtfbWVt
-PTI1Cmh3bT0zMApsd209MTUKZHdtPTMwCmRjYl9hcHBfdGx2WzBdPTB4ODkwNixldGhlcnR5cGUs
-MwpkY2JfYXBwX3RsdlsxXT0weDg5MTQsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMl09MzI2MCxz
-b2NrZXRudW0sNQpbcG9ydCIyIl0KZGNiPXBwcCxkY2J4CmJnX21lbT0yNQpscGJrX21lbT0yNQpo
-d209MzAKbHdtPTE1CmR3bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNi
-X2FwcF90bHZbMV09MHg4OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0
-bnVtLDUKW3BvcnQiMyJdCmRjYj1wcHAsZGNieApiZ19tZW09MjUKbHBia19tZW09MjUKaHdtPTMw
-Cmx3bT0xNQpkd209MzAKZGNiX2FwcF90bHZbMF09MHg4OTA2LGV0aGVydHlwZSwzCmRjYl9hcHBf
-dGx2WzFdPTB4ODkxNCxldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsyXT0zMjYwLHNvY2tldG51bSw1
-CltmaW5pXQp2ZXJzaW9uPTB4MTQyNTAwMWMKY2hlY2tzdW09MHgyZDE5ODM3MgoAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAABbZ2xvYmFsXQpyc3NfZ2xiX2NvbmZpZ19tb2RlPWJhc2ljdmlydHVh
-bApyc3NfZ2xiX2NvbmZpZ19vcHRpb25zPXRubG1hcGVuLGhhc2h0b2VwbGl0eix0bmxhbGxsa3AK
-cGxfdGltZW91dF92YWx1ZT0xMDAwMApyZWdbMHgxMDA4XT0weDQwODEwLzB4MjFjNzAKcmVnWzB4
-MTAwY109MHgyMjIyMjIyMgpyZWdbMHgxMGEwXT0weDAxMDQwODEwCnJlZ1sweDEwNDRdPTQwOTYK
-cmVnWzB4MTA0OF09NjU1MzYKcmVnWzB4MTA0Y109MTUzNgpyZWdbMHgxMDUwXT05MDI0CnJlZ1sw
-eDEwNTRdPTkyMTYKcmVnWzB4MTA1OF09MjA0OApyZWdbMHgxMDVjXT0xMjgKcmVnWzB4MTA2MF09
-ODE5MgpyZWdbMHgxMDY0XT0xNjM4NApyZWdbMHgxMGE0XT0weGEwMDBhMDAwLzB4ZjAwMGYwMDAK
-cmVnWzB4MTBhOF09MHg0MDIwMDAvMHg0MDIwMDAKYmFyMnRocm90dGxlY291bnQ9NTAwCnNnZV90
-aW1lcl92YWx1ZT01LDEwLDIwLDUwLDEwMCwyMDAKcmVnWzB4MTEyNF09MHgwMDAwMDQwMC8weDAw
-MDAwNDAwCnJlZ1sweDExMzBdPTB4MDBkNWZmZWIKcmVnWzB4MTEzY109MHgwMDAyZmZjMApyZWdb
-MHg3ZDA0XT0weDAwMDEwMDAwLzB4MDAwMTAwMDAKcmVnWzB4N2Q2Y109MHgwMDAwMDAwMC8weDAw
-MDA3MDAwCnJlZ1sweDdkYzBdPTB4MGUyZjg4NDkKZmlsdGVyTW9kZT1mY29lbWFzayxzcnZyc3Jh
-bSxmcmFnbWVudGF0aW9uLG1wc2hpdHR5cGUscHJvdG9jb2wsdmxhbixwb3J0LGZjb2UKZmlsdGVy
-TWFzaz1wcm90b2NvbCxmY29lCnRwX3Btcng9MzAKdHBfcG1yeF9wYWdlc2l6ZT02NEsKdHBfbnJ4
-Y2g9MAp0cF9wbXR4PTUwCnRwX3BtdHhfcGFnZXNpemU9NjRLCnRwX250eGNoPTAKdHBfbXR1cz04
-OCwyNTYsNTEyLDU3Niw4MDgsMTAyNCwxMjgwLDE0ODgsMTUwMCwyMDAyLDIwNDgsNDA5Niw0MzUy
-LDgxOTIsOTAwMCw5NjAwCnJlZ1sweDdkMDhdPTB4MDAwMDA4MDAvMHgwMDAwMDgwMApyZWdbMHg3
-ZDQ4XT0weDAwMDAwMDAwLzB4MDAwMDA0MDAKcmVnWzB4N2Q2MF09MHgwNjAwMDAwMC8weDA3MDAw
-MDAwCnJlZ1sweDE5MTY4XT0weDA0MDIwMTAwCnJlZ1sweDE5YzA0XT0weDAwNDAwMDAwLzB4MDA0
-MDAwMDAKbWNfbW9kZV9icmNbMF09MQptY19tb2RlX2JyY1sxXT0xCltmdW5jdGlvbiIwIl0Kd3hf
-Y2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9MjgKbmlxZmxpbnQ9MTcwCm5ldGhjdHJsPTk2Cm5lcT0y
-NTIKbnFwY3E9MjA0OApuZXhhY3RmPTQwCmNtYXNrPWFsbApwbWFzaz1hbGwKbmV0aG9mbGQ9MTAy
-NApucm91dGU9MzIKbmNsaXA9MzIKbmZpbHRlcj00OApuc2VydmVyPTMyCm5oYXNoPTIwNDgKcHJv
-dG9jb2w9bmljX3ZtLG9mbGQscmRkcCxyZG1hYyxpc2NzaV9pbml0aWF0b3JfcGR1LGlzY3NpX3Rh
-cmdldF9wZHUsaXNjc2lfdDEwZGlmCnRwX2wydD00MDkyCnRwX2RkcD0yCnRwX2RkcF9pc2NzaT0y
-CnRwX3N0YWc9Mgp0cF9wYmw9NQp0cF9ycT03CltmdW5jdGlvbiIxIl0Kd3hfY2Fwcz1hbGwKcl9j
-YXBzPWFsbApudmk9NApuaXFmbGludD0zNApuZXRoY3RybD0zMgpuZXE9NjYKbmV4YWN0Zj0zMgpj
-bWFzaz1hbGwKcG1hc2s9YWxsCm5oYXNoPTIwNDgKcHJvdG9jb2w9ZmNvZV9pbml0aWF0b3IKdHBf
-bDJ0PTQKdHBfZGRwPTIKZmNvZV9uZmNmPTE2CmZjb2VfbnZucD0zMgpmY29lX25zc249MTAyNApb
-ZnVuY3Rpb24iMTAyMyJdCnd4X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZpPTQKY21hc2s9YWxsCnBt
-YXNrPWFsbApuZXhhY3RmPTgKbmZpbHRlcj0xNgpbZnVuY3Rpb24iMC8qIl0Kd3hfY2Fwcz0weDgy
-CnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTQKbmV0aGN0cmw9MgpuZXE9NApuZXhhY3RmPTQK
-Y21hc2s9YWxsCnBtYXNrPTB4MQpbZnVuY3Rpb24iMS8qIl0Kd3hfY2Fwcz0weDgyCnJfY2Fwcz0w
-eDg2Cm52aT0xCm5pcWZsaW50PTQKbmV0aGN0cmw9MgpuZXE9NApuZXhhY3RmPTQKY21hc2s9YWxs
-CnBtYXNrPTB4MgpbcG9ydCIwIl0KZGNiPXBwcCxkY2J4CmJnX21lbT0yNQpscGJrX21lbT0yNQpo
-d209MzAKbHdtPTE1CmR3bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNi
-X2FwcF90bHZbMV09MHg4OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0
-bnVtLDUKW3BvcnQiMSJdCmRjYj1wcHAsZGNieApiZ19tZW09MjUKbHBia19tZW09MjUKaHdtPTMw
-Cmx3bT0xNQpkd209MzAKZGNiX2FwcF90bHZbMF09MHg4OTA2LGV0aGVydHlwZSwzCmRjYl9hcHBf
-dGx2WzFdPTB4ODkxNCxldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsyXT0zMjYwLHNvY2tldG51bSw1
-Cltwb3J0IjIiXQpkY2I9cHBwLGRjYngKYmdfbWVtPTI1CmxwYmtfbWVtPTI1Cmh3bT0zMApsd209
-MTUKZHdtPTMwCmRjYl9hcHBfdGx2WzBdPTB4ODkwNixldGhlcnR5cGUsMwpkY2JfYXBwX3Rsdlsx
-XT0weDg5MTQsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMl09MzI2MCxzb2NrZXRudW0sNQpbcG9y
-dCIzIl0KZGNiPXBwcCxkY2J4CmJnX21lbT0yNQpscGJrX21lbT0yNQpod209MzAKbHdtPTE1CmR3
-bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4
-OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0bnVtLDUKW2ZpbmldCnZl
-cnNpb249MHgxNDI1MDAxZApjaGVja3N1bT0weDdkYzRkY2QKAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAA=
-====
diff --git a/sys/dev/cxgbe/firmware/t5fw-1.16.45.0.bin.uu b/sys/dev/cxgbe/firmware/t5fw-1.16.45.0.bin.uu
new file mode 100644
index 0000000..af2a02f
--- /dev/null
+++ b/sys/dev/cxgbe/firmware/t5fw-1.16.45.0.bin.uu
@@ -0,0 +1,10824 @@
+/*-
+ * Copyright (c) 2017 Chelsio Communications, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+begin-base64 644 t5fw
+AAEEsgEQLQAAAQQJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAABJMEogSrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAENoZWxzaW8gRlcgUlVOTUVNIERFQlVHPTAgKEJ1aWx0IFRodSBNYXkgIDQgMDk6
+NTE6MjUgUERUIDIwMTcgb24gdm5jNC5hc2ljZGVzaWduZXJzLmNvbTovaG9tZS9maXJtd2FyZS9j
+dnMvZnctcmVsZWFzZSksIFZlcnNpb24gVDV4eCAwMS4xMC4yZC4wMAAAAAAAAAAAAAAAAL82Lhdg
+AMgAH/zhSOEAe/AAEAAA4QAwuHj///8f/OFAgAAAAeEAe3AAABAAH//8vCAAAADhAZwE4QUAAAAC
+AEDhBQgAAAYAQAACAAwABgAM4QUABAAMAACAAAEC4QB7POEAe0ThAHvk4gAAAAABAADhAHuQIAAA
+AAAAgADhAHsAAABAAeEAe5wAAEAAREREQuAAAADjAARzREREQOMACAAgAAJcAAAAAB//lFAAAAAA
+H/+UVAAAAAAf/5RYAAAAAB//lFwf/8AAAAAAAAAAAADAABH/zSIKh5IQghAS/8wT/8yTIBL/zBP/
+zIQgBDMBkyAR/8oS/8uSEBH/yhL/y5IQEf/KAfQxAOQxAAUxAQIAEv/IAucxAhYAEf/GgRABAV/A
+IQIRAckTEf/EEv/EkhAR/8QS/8SSEGAAEQAAEf++Ev/CkhAR/74S/8GSEIEQEf/AwCCSERL/v5IS
+wCCSExL/vpIQghAC8lBlL/cR/7zHL5IQEf+7khAS/7sT/7uTIMAykyET/7qTIoIiEv+5E/+5kyAj
+IiEU/7gEMwHJOBP/t4MwA4MUCDMRFP+1pDOTIRP/qZMiYAAIwjCTIRP/ppMiEv+wkCCQIZAikCOQ
+JJAlkCaQJ5AokCmQKpArkCyQLZAukC8gJhAgJhGCIhL/o8AwLTcwLTc0LTc4LTc8Iz0BcjPtAAIA
+Ev+gIwoALzcALzcQLzcgLzcwIz0BcjPtAAIAEv+VwDAoNzAoNzQoNzgoNzwjPQFyM+0S/5TAMCc3
+ACc3ECc3ICc3MCM9AXIz7RL/jxX/jxb/j8Aw1yAFZgFgABQAAAQ2BQACANMP0w8FMwxuOxQHRxQH
+BEN2MeYENgUFMwxvO+0AAgAS/4MV/4EjCgACJwIHBEMEPgUFMwwHRxRvO/ADAgAS/33JLoMghCGF
+IrwidDsOhlC0VZYwtDN0M/Rj/+YAZT/iZV/fEv9xwDIDLgUDAgAS/2jAMCg3QCg3RCg3SCg3TCM9
+AXIz7QACABL/ay0nAMARAUkxAEgxAQIAwAAU/2gE0jEV/2eUUBT/ZwTTMRX/ZpRQFP9mBNQxFf9m
+lFAU/2UE1TEV/2WUUBD/ZQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+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
+IAk0mCAJNJggCTRSIAk0mCAJNFIgCTSYIAk0jiAJNFIgCTRSIAk0UiAJNFIgCTRSIAk0mCAJNFIg
+CTRSIAk0UiAJNFIgCTRSIAk0mCAJNJggCTSYIAk0mCAJNJggCTSYIAk0mCAJNJggCTRSIAk0UiAJ
+NFIgCTRSIAk0UiAJNFIgCTRSIAk0UiAJNFIgCTRSIAk0UiAJNFIgCTRSIAk0UiAJNFIgCTRSIAlC
+zSAJQs0gCUK3IAlCqSAJQtAgCUKjIAlCoyAJQqMgCULQIAlCoyAJQp0gCULQIAlCoyAJQqMgCUKj
+IAlCnSAJQtAgCULQIAlC0CAJQtAgCULQIAlC0CAJQtAgCULQIAlC0CAJQtAgCULQIAlC0CAJQtAg
+CULQIAlC0CAJQtAAAgIFBQgICwsODhERFBQXFxoaHR0gICMjJiYpKSwsLy8yMjU1ODg7OwAAAAAA
+AAABAxERCAgQCQMBAAAAAAAAIATiCCABwdQgAFwQIAGfxCABvmQgAboIIAGEqCAETQgf/8AwH//o
+/CAAytgf/9vcIACHJCAAeaAAAAAAAAAAACABoWAgAKWoAAAAAAAAAAAf/9WUH//HaB//xPwf/8MQ
+IAB1pCAAazAgAGmwIADAYB//48QgB00oAAAAAAAAAAAgAG3AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAACAByJwgAbJYIADTrCAA0tQf/+9IH//QaB//zRAgAKN4IAV2UCABQYggASOMIAELYCAB
+ADggAPIwIADoYCAA1cggBORoIAMrjCABN1AgA1hoIAHwnCAAhuAAAAAAIADUECAF6nggAMgQIAGo
+3CAAEhwgALu8IAANWCADpQwf//J4IADTyCADLiQAAAAAAAAAACADxZwgAE3oIAAu8CAATOAAAAAA
+IABXyCAAVeQgAFOYAAAAACAAW9AgATsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAIABZaCAE4aAgAE3oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAWxAgA94EIABaIAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAFwQIAC4jCABi0wAAAAAAAAA
+AAAAAAAAAAAAAAAAACAE4gAAAAAAAAAABAAAAAQAAAAICwAAACADFbQIAAAAIAMVwAgAAAAgAxXM
+CgAAACADFdgMAAAAIAMV5BIAAAAgAxX0DQAAACADFggOAAAAIAMWGBMAAAAgAxYoCgAAACADFjwO
+AAAAIAMWSBgAAAAgAxZYDQAAACADFnQOAAAAIAMWhBAAAAAgAxaUEgAAACADFqgOAAAAIAMWvBAA
+AAAgAxbMEQAAACADFuAKAAAAIAMW9AsAAAAgAxcADQAAACADFwwUAAAAIAMXHAoAAAAgAxc0DwAA
+ACADF0AGAAAAIAMXUAYAAAAgAxdYBgAAACADF2AGAAAAIAMXaAYAAAAgAxdwCQAAACADF3gGAAAA
+IAMXhAQAAAAgAxeMBgAAACADF5QLAAAAIAMXnAsAAAAgAxeoBAAAACADF4wEAAAAIAMXtAkAAAAg
+Axe8CQAAACADF8gAAAAAAAAAAA0AAAAgAxfUCgAAACADF+QGAAAAIAMX8AIAAAAgAxf4AwAAACAD
+EMwBAAAAIAMX/AAAAAAAAAAA12qkeOjHt1YkIHDbwb3O7vV8D69Hh8YqqDBGE/1GlQFpgJjYi0T3
+r///W7GJXNe+a5ARIv2YcZOmeUOOSbQIIfYeJWLAQLNAJl5aUem2x6rWLxBdAkQUU9ih5oHn0/vI
+IeHN5sM3B9b01Q2HRVoU7anj6QX876P4Z28C2Y0qTIr/+jlCh3H2gW2dYSL95TgMpL7qREvez6n2
+u0tgvr+8cCibfsbqoSf61O8whQSIHQXZ1NA55tuZ5R+ifPjErFZl9CkiREMq/5erlCOn/JOgOWVb
+WcOPDMyS/+/0fYWEXdFvqH5P/izm4KMBQxROCBGh91N+gr068jUq19K764bTkQcMERYHDBEWBwwR
+FgcMERYFCQ4UBQkOFAUJDhQFCQ4UBAsQFwQLEBcECxAXBAsQFwYKDxUGCg8VBgoPFQYKDxUf/8AA
+AAQAICAHipAgB49AH/ziAB//rmQf/7LAH/+t9IGAAACBAAAABAAACA////8f/7HQA4AAAB//scAA
+//gAAQAAAAAQAACBBAEAgQQAAAEEAAABBAEAAAf//4AAAAAqAAAAH/+FcAYAAAAf/8/wIARhIAIA
+AACAEAAAgAAABUFAAABBQAEAgwAAAR//miwgAw6sDAAAAP//v/+/////H/+UoP//AAD//wD/8AAA
+AP9///8f/OLkAEAAAB//qiQAAQAAAAD//x//lVD//9Bk///TIB//aAwf/ODoIAeIbP//wSAf/2fA
+H/9oZB/83gAf/68cH/+gVAAACLjg//4A4QGSAB//msAA////H/+vPB//nrQEQQAIBAEACMAAAADA
+BAAApQAAADAAAAAf/5044QP+AOEEbgAAAIWEAACFgCALfzAgC3/wIAt/cCALf7Af/6/AAAD/gCAH
+iuAgB4hQIAuAMOEALgAf/6+0H/+qtB//sHAf/6vgAAAXQB//r2DgAACg4QAwuAAAgADhAGAQAABA
+AOEDCADhA0gA4QOIAOEDyADhABAIH/zhQOEAe3Af/7TwH/+06B/84Agf/7TsH/+1CB//tQAf/7UE
+H/+1IB//tRgf/7UcH/ziAB//rfQf/6usH/+etCAB2Gwf/7CMAAD/gAAAHeAf/5SgH/+x0IGAAAAE
+AAAIgoAAAIEAAAAgAw6gDAAAAB//mrwf/5qsH/+gTP//v/+/////BAEACMMAAAAf/7LAH/+uZB//
+sgwf/6tkIAsAYB//sJgf/7CUH/+w+B//scAgCwXgAA9CQCADDHggC40gIAMMWCAAIhggCwVQIAAX
+cCALBhAgCwUgIAsFgCALBbAgA5cYIAMMiBAAAAACgAAA7gAAACALjVAAAAsAAABgAABgAABgAAAA
+AACG3SALBkAgAClMKgAAACAARdggCwawIAOhQCALBuAgCwcgIAsHUCAAHCQgAwyYIAsH0ANgAAAg
+C41wIAsIUCALCvAFAAAAg/8AAAAQAAAgAC80IAMN+B//icAf/4VwH/+HdGdFIwHvzauJmLrc/hAy
+VHYf/4AAAAA/KCADEMzP////IAsL4D////8CAAAAQAAAAP//f/8gCw0AIABIUCALDTAgCw2gCAAA
+AAD///8gCw4Q9////yALEID//v//IAsegIAAAAAAAEAAIAMOpAAA//8AAIAAIAsfUCALH9AgCyAQ
+IAsgYCALH6D/+///D/aAACALJMAgCyTwAAEAAAAEAAAgC5SgH/+uoCAAV8ggAFkkIABV5CALJYAg
+AFOYIAsmECALJmAgCybw4AAAACALJ3AgCycwUwAAACALJ5BSAAAAIAsn0FEAAAAgAfm8H/+r0CAL
+KmAgCyrAIAsqkCALLUAf/688IAstkB//nrwf/67gIAsvUBQAAACAAAACfFAAAIAAABCAAAAGgAAA
+BQAACgCAALAAAP80kv//8A+AALEA4QGaAAACAAAgCy8QH/+cNAAAfkAf/68UAP/AAB//ryABAAAA
+KAAAACYAAAAgCy/ABYAAAAYAAAAf/6soKwAAACAAcJQf/N4AH/+sxAOAAAAH////NQAAAANAAAAA
+P///gEAAAAgP//8f////IAAAAAAAwAAf/674PQAAAB//rZQHAAAAgQQBAIEEAAAf/61AAAA6mAAA
+D/8AQwAAAAAIAAQAAAAf/6z8IAuXsB//suAf/7RkH/+aLOEAegAgYAAAH/+tWB//nsQf/564IAuX
+4AADB4AgC5hQH/+cmAAgAAAAQAAAAAAJAAAAMAD//Ph/wAAAAKP/uwCj/7oADQAAAOADAACD/7YA
+D////w//+AD/AAAAD//+ASALmJAgCzEgIAsxUCALmSAADwAAAAoAAP//AA8f/57MH/+vAAP/wACD
+/8AAIAuZoCALmhAf/6/gH/+zUB//szD/YPAAH/+AUB//lGAEgAAIAEQAAP8f//8AwAAAAYDCAAAA
+gQD/v/////8AAACAAAAf/5VQAAAJvB/84gwPAAAAIAsxkB//r4AAAAi8H/+whB//oKgf/5qoH/+A
+YCAHiLAAACcQH//bECALn0AgC58QH/+v5B//mqAf/56s3q2+7yADCSA0AAAAPwAAAB//sKAf/7Io
+AJkAAAAAiQYQAAcCAcCAAJkAAAAf/7EQAIgACIKAAAEf/7J4///wAB//sKgADwP/AxEAAAMVAAAg
+CzeQH/+u5CALn5AgCzfwIAs4QCALONAgCzfAIAD7ECALOKAgCzpwIAs6oCALOvAgCztQIAEAgCkA
+AAAAAIkUIAEGsCALoAAgC6BgIAEQQB//sDDw8PDw/wD/AKqqqqrMzMzMH/+zcAAAHtAf/7F4AAP/
+/wAAJ/8gARhcIAug0CADX4gf/6+4AAkAAAAAIAAAAEgAggAAACABOwggC6FAH/+vZCAAK+wgC6YA
+IAumMCALQhAgC0HgIAtCICALQoAgC0MAIAtCUCALQqAgC0LQIAtEoCALRPAgC6RAIAukYCALRSAg
+C0VwIAulACALpSAgC0TQIAulUCALpJAgC6TAIAtFoCALp9AgC6hgIAunACALpxAgC6aQIAuncCAL
+ptAgC6agIAunUCALp+AgC6egIAuoIDsAAAgOAAAA0AAAAB//gKAAAB+KH/zi5AAACFAAAB9AIAtI
+ICALSEAgC0hgAAkACB//snQwAAAA///3/yALSrAgA2VMAACD/yAHjgggB48AFaAAAB//sjgf/68M
+AAAIBgAAD/4AAIjMIAtK4H8AAADwAAAAIAus4CALrEAgC6ygIAupQCALq2AgC6vwAADgACALqJAg
+C6vAH/+cTAAEA/8KAAAAIAeK4DMAAADhAAAAH/+zNAP/4AB///8AAAD//gA/9pAf/7JAAAAfmAP/
+8AAgC4iAIAuIQCALiKAf/7RAIAtLUB//rBgaAAAAIAtLoCABl7wf/7I8AA///x//sGAf/68cIAut
+QB//rtAf/6t8H/+tcCAHiEwf/6mgIAtOsMAEAAAf/61kH/+tfB//syAf/7KIIAuuUCALTvAf/6yg
+4AEAAB//oFAgC6+gIAtPMCAAxOAf/6BIIADB0CALryAgC69wH/+cbCALUbAf/6BUIAte8OD//gAg
+C4sgH/+vGB//lpwgC2pQIAtq4B//rxAf/7LkIAttkCALbcBIAAAAIAHR0B//rNQgAdPQH/+qtB//
+mxwf/62kH/+q3AAAF/AAABY8IAeKzB//q0ThAF4AH/+shABNNaAAAEi5H/+awOEALgAf/62w4QMG
+AOEADgDgBQAAA/8AAB//quQgAw6sH/y//zwAAAAAB///gwAAAB//qrwgAfVoIAuGwB//r/TgBgAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAgYAAAAAAAAD/////////////////////H//73B//+9wf//ugH//7oB//
++6Af//ugH//z6B//+Fgf//aAH//2gB//9oAgB08QAAAAAAAAAAAAAAAAAAAAACAHUYAgB1GAAAAA
+AAAAAAAAAAAAAAAAACAHTxAgB08QH//5VB//+VQf//lUH//5VB//+VQf//lUAAAAACAB2YwAAAAA
+AAAAAAAAAAAAAAAAAgEAAAAAAAAAAAAAAAAAAAQAAAAAAAAAgYAAAAAAABAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAKABHynxPyn9MPA+YxAQIAFvKd
+F/Ked2sGkGC0Zndj+FQO/VXxfA8UAGP/+QAAAGwQCIoiKCAHiTD7Cv8oIAFAMPWhYmkAAUwwKiAW
+mRP4FgQgMgRasPS1GgIAAFCwWD6LiBT0omhg/xBYMBryiRnyiSyiSvmSfyFXADcgJqJJCWYB+WwA
+AVEANaAd8oMt0IAMhxH/8oIWACBV8PxyOiBuAmtwDU0UpN3/jwoABgJrcP/ylyoAhe8QLnI5/+YB
+DgCAf5AoIBaZEvoK7SAuBFowKTAQ+zELJgDOVlC8uwIqAlg+iiggFCwgBKSI+AlHAgCAAyD5JBQs
+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
+EQABEFgw9KYCKAkAXnCZodEPHGLanDCLIPi7EQABEGAw9DYCKgkAZvCbMdEPAAAAbBAEZCB2ZDBz
+ZFBwKCICGmKW9AlHAD4CaPD9TRQAXwC2IAyYEfxikRgAIFIwKoI6DJwK/MKXKgAlbpArgjkeYqn8
+ugEOAB5m0PAOBwIAAEKwbdkCAEhhGGKPmKCCIJ1QH2KP86YDI4AEOKD/pgIiCQATcPKmASAgAhKw
+0Q/AINEP2iD8CgAgMAJZMFv/V8Ag0Q8AAGwQBCogBxtiiAoqQAqqEP1i8hoJAFqwmjCGIPVijRAE
+EDgw+WJ5EDAQQDD4NgMngAQ5oPk2AiYJADmwljHwBQcAIAIw8ABGYQBGYQBGYS4gBywhCA4OQfDu
+EQAAEHgw+2RaHAkAczD7NgYsCQBrMPw2BCBAAhDwAgSGAEJjAASGAEJh/zQgIIACEPDRDwAAAAAA
+AABsEAQoIAb4jP8iAABQsPgkBiABEFgwW31pwCDRDwAAAGwQBMBRAyQsAyIuAlI5pCLRDwAAAAAA
+AGwQBCkhBIcg81gUCcAEPmD5dwgJ4AQ6IAh3DCd8/PZyACiAARww8JEEAAEQQDAAiBrwkAQKAEA2
+MPsDGQ//EFAw8JEECBEAUjDwSBoGAEBBsAhmAvZ2ACAZADVgJSECzUIqIQOxWwsLT/slAiAoBFqw
+0jDRD7Bc/CUCIgAAEPDRD8DQ/SUFIgAAEPDRDwAAAP//AQP/Av///wAAAAAAAAAABAQIAAAAAAEQ
+GAEAAQAAIANYkiADWPUgA1h/IANY9SADWH8gA1j1IANYliADWJYgA1jdIANYxSADWK0AAAAAIANh
+vyADYb8gA1/QIANhvyADX9AgA2GcIANhdSADX9AgA2ClIANf0CADX9AgA2CcIANf0CADYb8gA1/Q
+IANf0CADYb8gA1/bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAOnDiADpuYgA6b9IAOm/SADpv0g
+A6b9IAOm/SADpv0gA6lEIAOpAiADpv0gA6b9IAOm/SADpv0gA6b9IAOm/SADqG4gA6f7IAOnYSAD
+p0ogA6c7IAOnKwMBAAIAAAAAIATbICAE3NkgBN1RIATbICAE3UkgBN0tIATbICAE2yAgBNsgIATb
+ICAE2yAgBNsgIATbICAE2yAgBNsgIATbICAE3SAgBN0TIATbICAE2yAgBNsgIATbICAE2yAgBNsg
+IATbICAE2yAgBNsgIATbICAE2yAgBNsgIATbICAE2yAgBNzBIATbICAE3LsgBNy7IATbICAE3Lsg
+BNy7IATc8SAE3LsAAAAAAAAAAAAAAAAgBPmQIAT5kCAE+PIgBPmQIAT19SAE+YggBPloIAT19SAE
+9fUgBPX1IAT19SAE9fUgBPjWIAT5kCAE9fUgBPjWIAT5kAAAAAAAAAAAAAAAACAFB3MgBQXjIAUK
+AyAFCbsgBQl7IAUJQSAFCRsgBQY7IAUI8yAFCLMgBQhUIAUH/SAFB7MgBQeNARAYAQACAAABEBgB
+AAIAAAAAAAAAAAAAIAXMLyAFx7EgBcwDIAXL1yAFy6ogBcuVIAXH0yAFx+ogBct8IAXIHyAFyAsg
+BcfTIAXIHyAFx9MgBcfTIAXH0yAFzC8AAAAAAAAAAAAAAAAAAAAAIAYcFCAGE/ggBhOgIAYQjCAG
+DBAAAAAAAAAAACAGE+AgBhPaIAYT2iAGE9ogBhPgIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT
+2iAGE+AgBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPa
+IAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9og
+BhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAG
+E9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE+AgBhPaIAYT2iAGE9ogBhPgIAYT2iAGE9ogBhPaIAYT
+4CAGE9ogBhPaIAYT2iAGE+AgBhPaIAYT2iAGE9ogBhPgIAYT2iAGE9ogBhPaIAYT4CAGE9ogBhPa
+IAYT2iAGE+AgBhPaIAYT2iAGE9ogBhPgIAYT2iAGE9ogBhPaIAYT4CAGE9ogBhPaIAYT2iAGE+Ag
+BhPaIAYT2iAGE9ogBhPgIAYT2iAGE9ogBhPaIAYT4CAGE9ogBhPaIAYT2iAGE+AgBhPaIAYT2iAG
+E9ogBhPgIAYT2iAGE9ogBhPaIAYT4CAGE9ogBhPaIAYT2iAGE+AgBhPaIAYT2iAGE9ogBhPaIAYT
+2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPa
+IAYT4CAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT4CAGE9og
+BhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAG
+E9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT4CAGE9ogBhPaIAYT2iAGE+AgBhPaIAYT
+2iAGE9ogBhPgIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPa
+IAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9og
+BhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAG
+E9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT
+2iAGE+AgBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPa
+IAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9og
+BhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAGE9ogBhPaIAYT2iAG
+E9ogBhPaIAYT4AAAAAAAAAAAAAAAACAGFDUgBhiBIAYYZiAGGFIgBhg3IAYYIyAGGAIgBhfuIAYX
+zSAGF7ogBhehIAYXjiAGF3UgBhdiIAYXSSAGFDEgBhcvIAYXHCAGFwMgBhbvIAYW1CAGFpMgBhZT
+IAYWkyAGFlMgBhY/IAYWJCAGFDEgBhQxIAYUMSAGFDEgBhYRIAYUTiAGFDEgBhQxIAYUMSAGFfQg
+BhXbIAYVyyAGFbQgBhQxIAYVoSAGFYcgBhV0IAYVWiAGFUcgBhUvIAYVHCAGFQkgBhStIAYUMSAG
+FDEgBhQxIAYUMSAGFDEgBhQxIAYUeyAGFGsAAAAAAAAAACAGHGMgBhxtIAYeSiAGHiQgBh4dIAYe
+FiAGHg8gBh4IIAYeASAGHfogBh3zIAYd6SAGHd8gBh3JIAYdniAGHXUgBh1sIAYdUSAGHUcgBh08
+IAYdLCAGHSUgBh0SIAYdCyAGHFAgBhzkIAYc2iAGHNAgBhzJIAYcwiAGHLIgBhx6AAAAAAAAAAAA
+AAAAAAAAACAGweAgBr88IAa90CAGu3wgBrkgIAasqCAGraAgBrdYIAasHCAGueQAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAlKAMPCBKlqIOOk5IAAAAAUlYAABAAAABjb25maWd1cmF0aW9uIGZpbGUg
+cGFyc2VyIGZvdW5kIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBhZnRlciBbZmluaV0KAAAwAAAA
+ZmNvZQAAAAB2bmljX2lkAHZsYW4AAAAAdG9zAGV0aGVydHlwZQAAAG1hY21hdGNoAAAAAG1wc2hp
+dHR5cGUAAGZyYWdtZW50YXRpb24AAABzcnZyc3JhbQAAAABmY29lbWFzawAAAABjb21wYWN0AGJh
+c2ljdmlydHVhbAAAAABnbGJfa2V5AGdsYnZmX2tleQAAAHBmdmZfa2V5AAAAAGlkeHZmX2tleQAA
+AHN5bm1hcGVuAAAAAHN5bjR0dXBlbmlwdjYAAABzeW4ydHVwZW5pcHY2AAAAc3luNHR1cGVuaXB2
+NAAAAHN5bjJ0dXBlbmlwdjQAAABvZmRtYXBlbgAAAAB0bmxtYXBlbgAAAAB0bmxhbGxsa3AAAABo
+YXNodG9lcGxpdHoAAAAAbGFuAHdhbgBjbHVzdGVyAG1hbnVhbAAAdHBfcGlvAAB0cF90bV9waW8A
+AABuaWNfdm0AAG5pY191bQAAbmljX3VtX2lzZ2wAbmljX2hhc2hmaWx0ZXIAAG9mbGQAAAAAcmRk
+cAAAAAByZG1hYwAAAGlzY3NpX2luaXRpYXRvcl9wZHUAaXNjc2lfdGFyZ2V0X3BkdQAAAABpc2Nz
+aV9pbml0aWF0b3JfZm9mbGQAAABpc2NzaV90YXJnZXRfZm9mbGQAAGZjb2VfaW5pdGlhdG9yAABm
+Y29lX3RhcmdldABwb2Zjb2VfaW5pdGlhdG9yAAAAAHBvZmNvZV90YXJnZXQAAABpc2NzaV90MTBk
+aWYAAAAAaXNjc2lfaW5pdGlhdG9yX2NtZG9mbGQAaXNjc2lfdGFyZ2V0X2NtZG9mbGQAAAAAdGxz
+a2V5cwBjcnlwdG9fbG9va2FzaWRlAAAAAHBwcABkY2J4AAAAAGIyYgBzb2NrZXRudW0AAABjZWUA
+aWVlZQAAAABhdXRvAAAAAGFuX2RpcwAAcGRsaXRlX2RpcwAAIAMYAAAEAAAAAAQAAAQAAAAAAAD/
+AgAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AgAAAAAAAAAA
+AAAAAQAC/wIAAAAAAAAAAAAAAAAAAv8CAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAAAAgBqvgAAAA
+ACAGqzAgBqjAIAanmCAGhuAgBiTQIAYLaCAGCkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgBG6k
+IAR7cCAEe3AgBHtwIASLSCAEpUAgBLM4IAS8jCAEa5wgBGkQIARfJCAE2gwgBFzUIARZyCAGChwg
+BgjsIAYCOCAEe3AgBgFgIAX/nCAF/tAgB1SYIAPk/CAEQCwgBsy0AAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAgA1cIIAM/4CADUIQgA04EIANMjAAAAAAgA0ooIANWQAAAAAAgBFDsAAAA
+AAAAAAAAAAAAIAOmpAAAAAAAA///AAAD/wAAAD8AAAAPIAcMRCAHC3wgB2WcIAcLbCAHC6ggBwrA
+IAcMLCAHCpAgB2WIIAcLWP8YMGBgAAAAAAECAwAAAAAAAAAAAAAAACAGwowgBGz0IACGqAAAAAAA
+AACBAAAAAAAAAAAAAAAAAAECAwICAwMAAgMFAwMFBSAEQ0wgBETYIAREdCAEROwgBENoAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAACAEQ/wAAAAAAAAAAAAAAAAwMTIzNDU2Nzg5YWJjZGVmQUJD
+REVGAAAAAAAAAAAAAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFy
+c3R1dnd4eXowMTIzNDU2Nzg5Ky8AAAAAAAAAAAAAAAAAAAAAIABHHAABAAAgAEb8AAUAASAARuAA
+AwAFIABGwAAHAABjglNjAAAAAP///////wAAAAQECAAEBAgABAQIAAQECAAHQwAAAAAAAAAAAAAA
+AAAAIQAJAIEAQQAhAAkAIQAJAIEAQQCBAEEAgQBBAIEAQQAhAAkAgQBBACEACQAhABEAgQBBAIEA
+QQAhAAkAgQBBACEACQAhAAkBAQBBAIEAIQCBACEAEBBhAQEAgQEBAIEDAgEABAAAABAgQAAAAAAA
+BAACAAEAAIAAQAAgABAACCBAgAAAAAAAAAAAAAAAAAAgAwlwAAAAACADEPgAAAAAIAMJdAAAAAEg
+AxGgAAAAAiADCXwAAAAEIAMJhAAAAAggAwmMAAAAECADEagAAAAgIAMJkAAAAEAgAwmcAAAAgCAD
+CagAAAEAIAMJtAAAAgAgAwnEAAAgACADCdAAAEAAIAMJ3AAAgAAAAAAAAAAAAAAAKhwAACo8AAAq
+XAAAKnwIBwQDCgkCAAAAAAAAAAAAABEAEAAOAA8AFAAUAAoABwAfAAAAAAAAAAAAAAAAAAAAAAIE
+AAAARAAAAAQAAABAIAbGKCAGxeAgBsS0IAbDXCAGwxggBsLsIAbDRAAAAAAAAAIAAAAEAAAACABZ
+ZXMAMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAAAG5vbmUAAAAAYWxsACoA
+AABkaXNhYmxlZAAAAABlbmFibGVkADB4AABOQQAAVjAAAFYxAABWMgAAVjMAAFY0AABWNQAAVjYA
+AFY3AABWOAAAVjkAAFZBAABWQgAAVkMAAFZEAABWRQAAVkYAAFZHAABWSAAAVkkAAFZKAABWSwAA
+VkwAAFZNAABWTgAAVk8AAFZQAABWUQAAVlIAAFZTAABWVAAAVlUAAHBvcnQAAAAAcHJvdG9jb2wA
+AAAAZ2xvYmFsAABmdW5jdGlvbgAAAABmaW5pAAAAAHJlZwBmaWx0ZXJNb2RlAABmaWx0ZXJNYXNr
+AAByc3NfZ2xiX2NvbmZpZ19tb2RlAHJzc19rZXltb2RlAHJzc19nbGJfY29uZmlnX29wdGlvbnMA
+AHNnZV90aW1lcl92YWx1ZQB0cF9wbXJ4AHRwX3BtcnhfcGFnZXNpemUAAAAAdHBfcG1yeF9mbGFn
+cwAAAHRwX25yeGNoAAAAAHRwX3BtdHgAdHBfcG10eF9wYWdlc2l6ZQAAAAB0cF9udHhjaAAAAAB0
+cF9tdHVzAHRwX3RjcHR1bmluZwAAAAB0cF90aW1lcnJlcwB0cF90aW1lcnZhbHMAAAAAdHBfYmFj
+a29mZnZhbHMAAHNjaGVkX2lvcXR4X2JwX3ByaW9yaXR5AHBjaWVfbWFfcnNwX3RpbWVydmFsdWUA
+AHBsX3RpbWVvdXRfdmFsdWUAAAAAbWVtZnJlZV9jb25maWcAAGJhcjJ0aHJvdHRsZWNvdW50AAAA
+Y3BsdHhkYXRhX21lbWFsaWduAABtY19wZAAAAG9mbGRfZmxhZ3MAAG1jX21vZGVfYnJjAG1jAABu
+dmYAd3hfY2FwcwByX2NhcHMAAG5pcWZsaW50AAAAAG5lcQBucXBjcQAAAG5ldGhjdHJsAAAAAG52
+aQByc3NudmkAAHJzc25zZWNyZXQAAG5leGFjdGYAbnJhd2YAAABjbWFzawAAAHBtYXNrAAAAbmV0
+aG9mbGQAAAAAbnJvdXRlAABuY2xpcAAAAG5maWx0ZXIAbnNlcnZlcgBuaGFzaAAAAHRwX2wydAAA
+dHBfZGRwAAB0cF9kZHBfaXNjc2kAAAAAdHBfc3RhZwB0cF9wYmwAAHRwX3JxAAAAaXNjc2lfbnRh
+c2sAaXNjc2lfbnNlc3MAaXNjc2lfbmNvbm5fcGVyX3Nlc3Npb24AaXNjc2lfbmluaXRpYXRvcl9p
+bnN0YW5jZQAAAGlzY3NpX21heF9zZ2UAAABwcG1fbWF4X3pvbmVzAAAAcHBtX3pvbmVfcmFuZ2Uw
+AHBwbV96b25lX3JhbmdlMQBwcG1fem9uZV9yYW5nZTIAcHBtX3pvbmVfcmFuZ2UzAGZjb2VfbmZj
+ZgAAAGZjb2VfbnZucAAAAGZjb2VfbnNzbgAAAGZjb2VfbmZjYgAAAGRjYgBkY2JfYXBwX3RsdgBk
+Y2JfZGNieF9wcm90b2NvbAAAAGJnX21lbQAAbHBia19tZW0AAAAAaHdtAGx3bQBkd20AZGVib3Vu
+Y2V0aW1lAAAAAGFuX2FlY190aW1lAGFlY19yZXRyeV9jbnQAAAB2ZXJzaW9uAGNoZWNrc3VtAAAA
+AFNlc3Npb25UeXBlAE9GTWFya2VyAAAAAElGTWFya2VyAAAAAERhdGFEaWdlc3QAAEhlYWRlckRp
+Z2VzdAAAAABFcnJvclJlY292ZXJ5TGV2ZWwAAEltbWVkaWF0ZURhdGEAAABEYXRhUERVSW5PcmRl
+cgAARGF0YVNlcXVlbmNlSW5PcmRlcgBJbml0aWFsUjJUAABNYXhDb25uZWN0aW9ucwAATWF4UmVj
+dkRhdGFTZWdtZW50TGVuZ3RoAAAAAEluaXRpYXRvck5hbWUAAABJbml0aWF0b3JBbGlhcwAARGVm
+YXVsdFRpbWUyV2FpdAAAAABEZWZhdWx0VGltZTJSZXRhaW4AAE1heEJ1cnN0TGVuZ3RoAABGaXJz
+dEJ1cnN0TGVuZ3RoAAAAAE1heE91dHN0YW5kaW5nUjJUAAAAVGFyZ2V0TmFtZQAAVGFyZ2V0QWxp
+YXMAVGFyZ2V0QWRkcmVzcwAAAFRhcmdldFBvcnRhbEdyb3VwVGFnAAAAAEF1dGhNZXRob2QAAFNl
+bmRUYXJnZXRzPUFsbABDSEFQX0EAAENIQVBfSQAAQ0hBUF9DAABDSEFQX04AAENIQVBfUgAARGlz
+Y292ZXJ5AAAATm9ybWFsAABOb25lAAAAAENSQzMyQwAAQ1JDMzJDLE5vbmUATm9uZSxDUkMzMkMA
+Q0hBUAAAAABDSEFQLE5vbmUAAABOb25lLENIQVAAAABOb3RVbmRlcnN0b29kAAAASXJyZWxldmFu
+dAAAUmVqZWN0AABObwAANQAAAENITmV0IDEuMDAAAAAAAAwAAAAAAQABfAAMAQAAAAAQAAAAFCAH
+fzAAAAMFDkAAAAAAABAAAAAoIAeCOAAAAxgOUAAAH/wAAB/8AAAf/7UwH/+1MCAHipAgB49AIAlP
+0CAJT9AgCgAAIAqAACAKgAAgCuaAAAAAACADAAAf/688IAsAACALADAf/5SgH/+yRAAP//8f/OIA
+H/+t9B//scAaAAAAgQAAAAQAAAggCwCAIAuI4B//r7gf/7IoH/+vIB//sdAwAAAQIAuJICALiYAf
+/7OkH/+uoB//lkwgB48AF5AAACAHjQQgAwkgFLAAACADCzAAAGAAgAAABCAHjwoAAB+KAACD/xWg
+AAAgAwAYFqAAAAhQAQAgoAAAP/AAACOgAAAD/wAfAMAABB//s6gAAP//IAdPyCoAAAAgA0XIIAuJ
+sCALifAgB0+M3q2+/xrAAAAgB44IIAMLLAAA/+ogB48QAAAIFAAAiAAAAIAAH/+vDCAHiuAf/6+Q
+AAAnEAAehIAAAEAAIANfiB//sIQAEAAAH/+thB//sIggAwAgIAuKsCALioABAAAAKAAAAOEAAAA4
+AAAA/z///zAAAHQf/4VwIAMAUCALANAwAAAIMAAADDQAAAjQAAAADgAAAAAAiRQ7AAAIIAeNGCAD
+C5Q0kAAAIAeM4AVdSoAgA2VMABgAAP8H//8AOAAAADAAACALitDhAC4AAABhqOEBjgAAAEAPAAGR
+DIAAAAAgC4uAIAuLsAAACAAgC4wA///z/yALjDAAAKgsAACoLwAAqCsAAKgqAACo7AAAgQAAAKg1
+AACoNyALA7DhAF4AIAsD8AAAQA4AAEAaIAsEIAAAEAAAAP/pAAD/4AAAUAAAAP/4AACoO///ySQA
+AEANAAD/wAAA//cAAA//AAAPQgAA//UgCwSAAACABwAAgAQgC4xQIAuMcAAAuO4AADQAAAC07gAA
+tP8AALQAAAC4AB//r1QgCwSwIAMMWCALjJAgC4zQAACD/SADougAAUFKAAEBbgDAAAEgC4zgIAsE
+8CADDGggCwZgIAsGkCjAAABAAAACIAMLZCigAACAAAACIAsHgGsAAAAgAwrgIAsHsBAAAAADYAAA
+7gAAACALjXAgA5zIIAuNkCADpHggC43gIAsIAEAAAAAgAwyoIAsIgAPgAAAf/67QIAMAoB//ssDh
+AwYA/9///9////8AAQAKAuYC6SAAAADhAv4AIAMAsOEABgAAAgAA//3//wCYloAAD0JArWU0XTua
+yf87msoAAARMAB//rzAAAK8A4QEOAAAAiPcAIAAAAT8BQP/4XuAAB6EgACxjSB//rYAgC44QIAuO
+cAgAAAAf/OLkIAOu/B//rxwgCwiwIAsJ4CALCOAPPAAAIAsJcCAELzggBDEQIAsKQA8AAAAgCwqg
+H/+HQB//iDAgCwsQIAsLUCALC5AgAw6gIAMOICALkAAgAw4AIAuQMCALjuAgC49AIAuPoB//r3Tg
+AAAAIABHPAD///8gC5BQIAsMICALDIAgCwzQIAsMUCAEB/QACAAAIAQMtCALDmAgB4iwIABEUAAP
+/AAf/5qoH/+cEAAAMAAgCw6gIAsPMCALD9BVAAAAIAuQ8CADDxgAAAgGIAsQACALEOAAAA/+H/+v
+LCALEXAgCxFAAADwACALkRAgCxGQIAPm9CAD7LQgCxHgIAsSACALEmAgCxKQIAsS8CALE0AgCxQg
+IAuRMCALE8AgA8iYIAPgsCALE6AgCxSAIAsUwCALFTAgCxWAIAuRwCALFjAgCxXAIAsWoCALFwAg
+CxdwIAeN0CALF/AgCxgw7/////f///8gCxiQIAsY4CAD7yQgCxuwIAsb8P3///8gCxlAIAsZsCAL
+GhAgCxpwIAsa0CALGyAgCxtgIAuSACADDxAgAw6kDAAAAB//h6Af/4igIAMQ0B//h4A/////z///
+/yALHFAf/4hcIAsckCALHNAgC5IgIAsdUH///6v//y5cAADRpP//0E0AAJxOIAsd0CALHZAgCx0Q
+H/+HnCADDqgAAGgAH/+HmAAAIAAf/4gAIAseECAEEEggCx7AH/+vFCADneAgC5KwIAuSQCALkpAg
+BBQQA//QAAABAAAgC5PAH/+bsABAAAAAUAwAg//QACALkzAgA8hwIAuT8B//r+QgCyCAIAsgwB//
+rYwgC5RwIAsg8CALISAgCyFAIAshcCALIbAgCyHwIAsiYB//r2ggCyNwIAsisABMS0AgBBAEIAsj
+ACALI7AEAQAIIAPxnCALJDAgCyPgIAskkCALkLAgBCh8IAuQgCALKBAAAI4CIAsogCALKNAgCykg
+IAsoQCALKXADgAAAIAspwCALKhD/9///IAsrACAEI4ggCyvAIAssgCAEJ4QgBCGUIAQQZCAEJrwg
+CyzAAgAAACALLQAAABdwIAMMZCALlZAgC5VAIAuVICAEQhwgC5TwIAuVcCADC9QgAwxEIAst4CAL
+LjAf/62wIAsuUCALLoAgCy6gH/+shCAHhtAgCy7QH/+rlOEAfgAEAAAABQAAAIAAAB2AAAAKgAAA
+DIAAABuAAAAfIAMNsB//rbwf/68oAADz/xQAAAAgBE3AIAsvgB//r+AgC5ZgIAuWMCAAIhgf/5aI
+AJwAAOAACSQgCzAQIAsw8CALMMAgC5dwIAswkB//nrwgCzBQAAMEwOEDAgDg//4A4QCOAB//lpwA
+AJaAAACWQCAHipAAAJagAACWYOEDACwAAwAAH/zeAOEAegAAAeAA4QGSAAAB4wAGAAAAIARhIPgA
+AAAB///nAAHAACAAAIAf/68kBAAQAB//q6ThAZoA4QGaQOEBmjzhAZo44QGaNOEBmjAf/7AQIAML
+3CADC+wgAwvkIAML9IAAAAP//P//f////x//lswgBG6kIAuagCALmsAgC5rwIAubMCALm2AgC5ug
+IAub0CALnBD//wAAD///8P/wAAAgC5xwH/+bxB//quQgBHtwIAudcCALnaAgC50QIAucsB//m4wf
+/5zIH/+fGAAA/4AgCzHQIAsyAP/7//8ABAAA4QHiwB//rcCQAADw/P+AwAIAACD+/4DAIAsyUCAL
+MpAAAPgAAAMBCAADAQyP////IAsy4CALMzAgCzNgIAszoOEA3gAAAwMIAAMCAB//rbT///AA4QDu
+AP//f/8AAPwAAADgAAAADAAAAwMEAAERHAABERggC54AABAIAIAACAAf/5ss///AAAADAQQAAP/+
+AAAlgAADAwAf/62s4P/iwB//rCggC55QIAuegCALnqAAAP/9IAueMCADAQgAAP/zIAsz8AAAKjAA
+AP+PAABStQAASAoAAI+CAACPhgAAOAAAAI+KAADjPwAAg64AAP/xIAs0EAAAEED//8+/IAuewAAA
+EgAgCzRA4QMuAOEDMgD+////IAs0YP//9iQgCzTwAAD+/wAA/z8AAMAAAAD5/yALlfAgC5WwIAs0
+kCALNZAgCzVAIAMBECALNjAgCzYAAIAAACALnuAAAP/7H/+ryCALNuAgCzagIAs2cCALNwAgCzdQ
+EAAFDQHAgAAJAAAAH/+yDB//sRAgAwHAH/+tlAAAgwAgCzoQAACCACALOTAgCzmAIAs5wBAABwIA
+AAy8AACJBiALO7AgC4owiIiIiCADAhAgCzwQIAs74CALPwAgCz7AIAs+gCALPkAgCz4AIAs9wCAL
+PXAgCz0wIAs84CALPJAgCzxQIAuhsCALoeAgC6IQIAuiUCALopAgC6LAIAtAMCALP+AgCz9AIAs/
+gAAAgMIAABshH/+rzCALQGAgC6LwIAujMCALo1AA/8AAEgAAACAFJVggC6QAIAujwAAAoABgAAAA
+H/+vmCALpYAgC0CAIAtAsAAAHCAgC0DgIAtBQB//rhggC0GAIAtBECALQzAAAH+mIAtDwCALQ1Ag
+C0PwIAOUlCALQ4AgC0RQIAtEICADlawgC0SAIAOacCALpmAgC0XwIAuosCALRxAgAw6QIAtGQCAL
+RzAgC0agIAVHNCALqZAAAB9AAAAQNv//7/8f/7OsH/+yOAAACFAgC0dwIAtHwCALR6AA///8MgAA
+AB//tCrAAAAAIAMCSDOQAAAgB40IIAMLkCALqfAgC6pQIAuqMCALqpAgC0fgIANvnCADAlAgC0iQ
+AACABSALSMCBgAAA3q2+7yALSQAf/68QMAAAHDAAAAQwAAAUAAD/7//+//8f/7LkAP/wAAAoAAAg
+C0kwAAAIQCADC1QgC0lgAP//+iALSbAwAAAAMAAANAAAgAEgAwJgAACAAiAFm9ggC6sgEAAFEJkA
+AAA0AAAAIAuq0CALSfAAGQAAIAtKQCADDzAAABIPIAtKcB//snQDFQAAg/8AGyALSxAgBe9g//9A
+ACALrQAgC0vgIAtMYCALTLAAAZGs4QGRrL////8gC0zgCwAAACAF9ZAgC01QIAtNwCALTjAgC05g
+IAutgCALrgAEAgAIfwAAACAEvmggAwwUH/+d8AABOIDgAAYAAAInECALrrB///8PIAtPgB//rogf
+/63k/AD//+EAlgDhAJoAAAAJ/+EAngAAALAAH/+vrCADArAgC0/A4QAOAOEAEgD/4DgAA/+ADgBz
+/4ADAAAAADj//xMAAAARAAAAH/wAAB//rvwgC1AAIAuv0AABlI8AAZTPIAMC0B//ragf/57UIAMH
+UCALUEAgC1CAIAtQsB//rCQf/5UUH/+tTCADCEAf/53kH/+cbB//ndzhAZ4A/7///wABnzQgC1IA
+IAtSQB//lkQgC1dgIAtXsCALWBAf/6+gIAtZ8B//rMgAP///H/+chB//rXwAAP+XAAD+1f//q5Mf
+/68IwgAADgXcAQAD/wAAwAAAASALWmAgC1qgIAta8CALWzAgC1uAIAtbwB////Af/6/0AgAAEB//
+lMgf/56gH/+W2AAC//8AAJxAIAuXECALXgAgC15wIAtfMCALlpAgC1/AAAD+ACALtvAf/58cGwAA
+AAAFAAI6wAAAIAtgACAGPfQgC7ewIAu3QCALt4AgBkPQIAu3ICALYDD//8j////x////388gC2Bg
+//+f/wAAIAT//984H/+r0CALYJAAAFANAADw/x//lUwf/5agAAD/3+EDHgD//+3/H/+sLCALYMAA
+AwACH/+euCALYUAgC2DwIAthcCAGbhDhAw1QIAu4EAEwGMAgC2HQIAthsCALuFAgC2HwIAticCAL
+YjAgC2KwIAtjMCALY3AgC2LQIAu4kAABhqDhAwAEBfXhAAJiWgAgAwjA4QMAMAAEBe4AAJAgAACQ
+EOEDAQThAeIAH/+WkABgAAAf/5a0H/+sEAAFAAQABBQAH/+vNB//nsQf/57IIAgAACAILrAgCAZg
+IAhvACAIBVAgCARAIAgDMCAIAiAgCAEQH/+vsB//nLwf/6tYIAeItB//qdgf/6yQIAHa7OEAdgAg
+AwxwIAu84B//rrwgC2nwIAeNmiALbIAUkAAAQAAABCALbPAgC20gIAtq8CAHjZAgA+aQIAtrMCAL
+a5AAAI/+IAtr4CMoFQAgC2xAH/+toCALvkAgC71AIAu9wB//sPAgB46IH/+0yB//tDj/6A//v/8P
+AP//DwAAEIAAIAtuACAGqdjhAFYAIAMI0OEAWgAByEAG4QGZ4CAHisAgB4rIIAtuIAABkPj//Ph/
+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
+AAAAZgAAAHcAD7xSAAAACgAAAAkAAAAEAAAAKQAAAAEAAAAdAAAAHQAAAFAAAAABAAAAAgAAAGsA
+AAB4ABBGBAAAAAoAAAAJAAAABAAAAGcAAAAZAAAAHgAAAB4AAABQAAAAAgAAAAIAAABrAAAAeQcA
+OwACADgABAM7AQAAAAABNgFsAZYA8AEgAVMA4QExAWEAvADkAQsA9QEiAUkAxgDrAQ8AwgDqARMA
+nQC/AN4AywDtAQ0AqgDJAOQAowDEAOAAgQCiAL0ArwDMAOMAlACwAMYAiwCoAL8AAACBAJ0AmgCz
+AMcAgQCbAK8AbgCPAKUAAAAAAAAAiQCfALEAbQCIAJsAAABhAHIAAAAAAAAAegCPAJ8AAAByAIcA
+AAAAAAAAAAAAAAAAAAAAAAAAAAD7ASYBagDZAP8BNgDuAS4BjACrANMBEwDWAPkBKgC5ANoBCgC3
+AOIBMACMAK0A4QC6ANkBBgCiAL4A5wCWALcA6gBlAIwAugCkAL8A5gCOAKgAzQB6AJgAwwAAAAAA
+lACRAKoAzQB7AJUAtwAAAHoAowAAAAAAAACAAJgAuABkAIEAowAAAAAAfQAAAAAAAABtAIYApQAA
+AGYAjgAAAAAAAAAAAAAAAAAAAAAAAAAAAQABKQFVAM4A8wEVAMcA7gEWAKEAwwDgAM0A7QEMAKsA
+ygDjAKIAwQDdAH0AngC3AK0AyQDfAJMArQDBAIYAogC5AAAAAACLAJcArgDAAH0AlgCpAEwAgQCZ
+AAAAAAAAAIUAmgCrAGIAfwCTAAAAAAAAAAAAAAAAAHYAiQCZAAAAVgB5AAAAAAAAAAAAAAAAAGYA
+egCJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3wEDATEAvwDfARAAvADkASwAjwCvAOIAvQDc
+AQcApAC/AOcAlgC2AOYAVwCGALQApAC/AOQAjgCmAMoAdgCTALwAAAAAAAAAjwCnAMgAeACRALIA
+AABtAJkAAAAAAAAAfACUALIAWgB6AJgAAAAAAAAAAAAAAAAAZwCAAJ4AAAAAAIEAAAAAAAAAAAAA
+AAAAAABqAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbAQABGwC3ANcA8ACwAM8A6ACQAK4A
+xgCzAM4A5ACZALIAxgCNAKcAvAAAAAAAjQCZAK8AwACAAJcAqQAAAHwAlAAAAAAAAACFAJkAqABa
+AHsAjwAAAAAAAAAAAAAAAAB0AIcAlQAAAAAAAAAAAAAAAAAAAAAAAABhAHUAgwAAAAAAAAAAAAAA
+AAAAAAAAAAAAAGAAcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwA6wEYALIAzwD2AKkAzAEA
+AIIAoQDKAK0AyADtAJgAsQDVAIMAoADHAAAAAACWAJUArQDOAIAAmAC5AAAAdQCdAAAAAAAAAH8A
+lgC0AFUAfQCfAAAAAAAAAAAAAAAAAGYAgACdAAAAAAB9AAAAAAAAAAAAAAAAAAAAYgCGAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAABfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/w//D/wA/w/4CdsP
+8A+lD+AJmQ/AAJkPgAAADwAAAA/8D/wP+AX8D/APtA/gBbQPwAC0D4AAAA8AAAAMAAAAD8AAAA7A
+AAAPgAAADoAAAA8AAAAOAAAADAAAAAEAAAAAATiAAABoKgAATiAAAYagAAGGoAACCNUAAgjVAAAA
+KAAAADIAAQRqAABoKgAASmcAAYagAAGGoAACCNUAAgjVAAAAKAAAADIAAVsBAABoKgAAUCAAAgjV
+AAGGoAACCNUAArZxAAAAJgAAADIAASluAABoKgAATSkAAgjVAAGGoAACCNUAArZxAAAAJgAAADIA
+AQRBAABoKgAASmcAAgjVAAGGoAACCNUAArZxAAAAJgAAADIAAXQGAABsgQAAVAEAAosKAAII1QAC
+iwoAArZxAAAAHgAAAC0AAUWFAABsgQAAUWEAAosKAAII1QACiwoAArZxAAAAHgAAAC0AASFaAABs
+gQAATuoAAosKAAII1QACiwoAArZxAAAAHgAAAC0AAQRqAABsgQAATJcAAosKAAII1QACiwoAArZx
+AAAAHgAAAC0AAYagAABvmwAAVs4AAosKAAII1QACiwoAAw1AAAAAHgAAACgAAVs4AABvmwAAVHUA
+AosKAAII1QACiwoAAw1AAAAAHgAAACgAATiAAABvmwAAUjwAAosKAAII1QACiwoAAw1AAAAAHgAA
+ACgAARwYAABvnAAAUCEAAosKAAII1gACiwoAAw1AAAAAHgAAACgAAWx0AABy4wAAV2MAAw1AAAKL
+CgACiwoAAw1AAAAAGwAAACMAAUtSAABy4wAAVVgAAw1AAAKLCgACiwoAAw1AAAAAGwAAACMAAS+2
+AABy4wAAU2UAAw1AAAKLCgACiwoAAw1AAAAAGwAAACMAARhZAABy4wAAUYgAAw1AAAKLCgACiwoA
+Aw1AAAAAGwAAACMAAXq6AAB2XwAAWj4AAw1AAAKLCgACiwoAAw1AAAAAGQAAACMAAVsrAAB2XwAA
+WFYAAw1AAAKLCgACiwoAAw1AAAAAGQAAACMAAUFeAAB2XwAAVoEAAw1AAAKLCgACiwoAAw1AAAAA
+GQAAACMAASmTAAB2YAAAVMEAAw1BAAKLCwACiwsAAw1BAAAAGQAAACMAAREqAABvmwAAT90AAgjV
+AAII1QACiwoAAw1AAAAAHgAAACgAARcEAABsgQAATiAAAosKAAKLCgACiwoAAw1AAAAAGwAAACMA
+AAAAK2gjgxhqDQYLKgAAAAAAAAAAADIAAAPoAAAAKAAATiAAAAAAAAPQkACYloAAD0JAAJiWgAAA
+HCAAAABLAD0JAAAD0JAAmJaAAQEAAAMDAgIFBQQEBwcGBgAAADIAAAPoAAAAZAAAw1AAAAAAAAPQ
+kAPQkAAATEtAA9CQAAAAHCAAAABLAD0JAAAPQkAjw0YAAwIBAAcGBQQLCgkIDw4NDAAAADIAAAPo
+AAAACgAAAfQAAAAAAAAD6ACYloAAD0JAAJiWgAAAHCAAAABLAD0JAAAD0JAAmJaAAwIBAAcGBQQJ
+CQgICwsKCgAAAAAAAAAAAAEAEAARAB4ADQASAAcAHwAOAAsAEwAVABsACAAXACAADwAdAAwABgAK
+ABQAGgAWABwABQAJABkABAAYAAMAAgABAHsAdQD7APUARQBvAH0AdwBfAGkAxQDvAKMAPwD9APcA
+uwA5AN8A6QDPAJ0ARwBxAA8AWQAlAL8AEwBjAH8AeQBtAF0APQC5AJsADQBhAGsACwAJAFEAHwAx
+AFMAxwDxACEAtQCPANkArQAzAKUAQQBVAJcAkwDjACkAyQD/APkA8wDDAO0A3QDnACMAvQA7ALcA
+TwAdAI0A1wCRAOEA6wDbABsAiwCJAIcArwDRAJ8ANQAtALEA0wAXAKcASQBzAEMAZwChADcAzQBX
+ABEAWwCZAAcALwCzAKsAlQAnAMEA5QBNANUAGQCFACsAFQBlAMsABQCpAEsAgwADAIEAAAD6APQA
+fAB2AMQA7gD8APYA3gDoAEYAcAAkAL4AfgB4ADwAuABgAGoAUAAeAMYA8ACOANgApABAAJIA4gD+
+APgA7ADcALwAOgAcAIwA4ADqAIoAiADQAJ4AsADSAEgAcgCgADYAEABaAC4AsgAmAMAA1AAYABQA
+ZACoAEoAgAB6AHQARABuAF4AaACiAD4AugA4AM4AnAAOAFgAEgBiAGwAXACaAAwACgAIADAAUgAg
+ALQArAAyAFQAlgAoAMgA8gDCAOYAIgC2AE4A1gCQANoAGgCGAK4ANAAsABYApgBCAGYAzABWAJgA
+BgCqAJQA5ABMAIQAKgDKAAQAggACAAEAAwACAAQAAAAAAAAAAAABAAIAHAAbABYAFQAeAB0AGAAX
+AAwACwAQAA8AIAAfABoAGQAUABMACgAJAA4ADQASABEACAAHAAYABQAEAAMAAQAAAAIABAAAAAAA
+AAAAAAAwBAAAMBAAAFncAABagAAAWoQAAFqIAABajAAAWpAAAZQwAAAQJAAAEDAAABA8AAAQ3AAA
+EQwAAHssAAB7NAAB4owAAeaMAAHqjAAB7owAAfKMAAH2jAAB+owAAf6MAACNzAAAjoAAAH50AACP
+3AABkVgAAZJwAACP/AAEExwABBMYAAQTEAAEkxwABJMYAASTEAAAd+AAAHfkAAB39AAAeAQAAZw8
+AAEQdAABEIQAAJQIAACYXAAAlgwAAJYUAACWIAAAliwAAJbEAADQKAAAkAgAAwjcAANI3AADiNwA
+A8jcAAMI5AADSOQAA4jkAAPI5AABkFQAAGAcAAGg2AABkJAAAHfgAAB35AAAd/QAAHgEAAB42AAA
+eOAAAHj0AAUAeAAFCHgABRMIAAGUBAAB48AAAefAAAHrwAAB78AAAfPAAAH3wAAB+8AAAf/AAAGU
+DAAAAAAAAAAAAAAAAAAAMAC///9AAAAwCL///0AAAZQQn////wABlDQAAAAQAAGUCJ//4/8AAZQ4
+AAAAEAAAECjh////AAAQLOH///8AABA0Af///wAAEDgB////AAAQQAAEAAAAABEQAP///wAAERQA
+////AAB7KAB9/+IAAHswP//u/wAAezgAAAABAAB7QD//7v8AAHwkAH3/4gAB4ogACAAAAAHmiAAI
+AAAAAeqIAAgAAAAB7ogACAAAAAHyiAAIAAAAAfaIAAgAAAAB+ogACAAAAAH+iAAIAAAAAI3I////
+8AAAjdD////wAACOfAAAAPAAAI6EAAAA8AAAfnB/v/9/AAB+eH+//38AAH4AAsAAAAABkVQB////
+AAGRnAH///8AAI/YA3///wAAj/j/////AAQTFAAAAAcABBMMAAAACwAEkxQAAAAHAASTDAAAAAsA
+AHfcAAAAAwAAd/T/////AAB4BAAAAAMAAZw4AAHAQAABnPgAAcBAAACQBAAAAD4AARB4AP///wAB
+EHwA////AAEQiAAAAAAAAJQEAAD//wAAlBAAAP//AACYVAAAAf8AAJhYAAAB/wAAlggAAAAAAACW
+HAD///8AAJYkAP///wAAligA////AACWMAD///8AANAgAAAABwAA0CQAAAAHAAMI2AAAAAMAA0jY
+AAAAAwADiNgAAAADAAPI2AAAAAMAAwjkAAAAAwADSOQAAAADAAOI5AAAAAMAA8jkAAAAAwABkFAA
+AADvAAGg1AAAAYMAAZCMADgAAAABkJgAOAAAAAUAdAAAAAcABQBwAAAABQAFCHQAAAAHAAUIcAAA
+AAUABRMEAAAAASADEdAgCOOkIAMR1CAI8/AgAxHgIAjzBCADEewgCPK0IAMSACAI8dAgAxIMIAjx
+JCADEiQgCO+4IAMSNCAI7qAgAxI8IAjueCADElAgCO5QIAMSYCAI7iAgAxJsIAjtBCADEnQgCOzc
+IAMSiCAI7KggAxKUIAjrRCADEpwgCOqcIAMSrCAI6ZggAxK4IAjoiCADEsggCOeAIAMS2CAI5lQg
+AxLwIAjjJCADEwggCOLYIAMTHCAI4pggAxMsIAjiBCADE0AgCOHcIAMTVCAI4NwgAxNcIAjgtCAD
+E2ggCN/EIAMTdCAI3sQAAAAAAAAAACADE3ggCN6EIAMTfCAI3gggAxOEIAjd0CADE4wgCN2YIAMT
+mCAI3WAgAxOcIAjdKCADE6QgCNzwIAMTsCAI3LggAxO0IAjeQCADE7wgCNyAIAMTyCAI3EggAxPQ
+IAjcECADE9ggCNvYIAMT4CAI2PggAxPoIAjbiCADE/QgCNuAIAMT/CAI20ggAxQEIAjbECADFAwg
+CNrYIAMUFCAI2qAgAxGoIAjWtCADFBwgCNZ8IAMUJCAI1kQgAxQsIAjWDCADFDwgCNXUIAMURCAI
+1ZwgAxRMIAjVZCADFFQgCNU8IAMUYCAI1RQgAxRsIAjU5CADFIQgCNS8IAMUoCAI1JQgAxSwIAjU
+bCADFMAgCNREIAMU0CAI1BwgAxTgIAjT9CADFPAgCNPMIAMVACAI06QgAxUMIAjTfCADFRggCNNU
+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
+IAu4sAAA+AAAPDw8H/+ywB//l0gf/5sQH/+vHAoUKFAgCA8EH/+tqCAHiHAf/5VYH/+WzCADD6j/
+/8f/AAL/wB//nDwgC7pwIAu6ECALvKAgC2mgIAu8QCALvBAgC2kwIAu8cCALuaAf/5zQH/+q+B//
+qvQgC29gH/+sMB//gnAAACcQIAtv0B//qrgf/50oH/+dJB//nRwf/50YH/+CkB//rCgf/68oIAMJ
+kCADDBAf/4KwH/+vqCALcEAf/6u8H/+rwB//q8Qf/6v4H/+r9B//q/Af/6vsH/+r6B//q+Af/6vU
+H/+r2B//guAf/6tEAABAAx//leQf/5zUH/+dUB//quSH////H/+dsB//ngAAD//wIAtwgB//g5Ag
+C3DgH/+DoB//r8QgC3EgH/+dyCALcXAf/52cIAtxoCALcdAf/4OwH/+dDAAAJYAgC3IAIAtyQB//
+nLQf/4PQH/+csB//m0gf/5qcH/+D2P//AAAD5/wYIAtycB//g+Af/6yQIAMJ9B//rIzz////IAMJ
+/CADCgggAwoUIAMJ5A////8gAw/QIAty0CAIFBT//+rwIAgTtP//61AgCBJkIAgTrP//7KAgCBF0
+IAgSXP//7ZAf/500A///4AAEcgwABHIUAARyHAAEcBQABHAoAARwIAAEcCwAAIWAP///4AAEQCQA
+BEBMAARKJAAEAOAABAAEIAt3ICALd1Af/5zwAAQCxAAEAsAgC8QAIAvEMAAEcGQgC8RgAARBwAAE
+QcQABEHIAARAeAAEQNwABEFAAARBRCALeCAgC3hgIAt4kCALd4AgC3fAIAt38AAEcFgAABAoAARB
+YCALeOAAAHd3AAAzMyALeiAgC3kgIAt5oCALeeAgC3lgIAt4sAAAICgABHQYAARKwAAEQMAABEDE
+AARB8AAEQfQABHQUIAvDwCALe0AgC3sAIAt6wCALeoAgC3pAAAQCcAAACPAABAJ0AAQCfAAEApAA
+AL8oAARwXAAEdAAAAPAGAARL8AAEcigAAZsvAAFjHQAEATAABADsAAQBCAAEdgAABAEEAAR2BAAA
+//gABAEAAAQA5AAEdggAAP/BAARyAAAAVVUABHIEAAQA+AAEANwABADYAARySAAEATgABAEYAARy
+TAAEAPQABHJQAAR0CAAEcggABEBIAARK3CALe4AgC3vAIAt8AAAEQSwABEE8AARA4CALfEAABEEA
+IAt8cAAEcEgABHBgAARyIAAEdgwABHgEgBAAACALxKAgAxCQgBIAAwAEAOiAEAADAAQAwAAATiAA
+BADMAAQAxAAEAMgABAE0IAgG1CAICxQAAgAhAAQAgAAP/ykABABEIAt8oAAEAkQABAJMAAQCSAYG
+AAAABAGAAAAeeAABMLAABADQAAQA1AAEAPAABAD8AAII1QABBGoABAEMAAQBEAAAosIABAEUAAQB
+HAAEASQABAEoAAQBLAAEAUAABAFEAAQCUAAEASAABAJgAAQCZAAEAlQAAQAhdzWUAAAEQfwABEv8
+AACAIAAACAgABHAwIAgDwAAEYMAABGDEAACIAAAEQdQABEvUAARB2AAES9gABEHcAARL3AAEcDgA
+BHAAIAt80AAEcAQgC30QAARgyAAAgCQABEAcAARKHAAAFywgC31QIAt9gDuaygAABGDkAARg0CAL
+fbAABEAAAARABAAEQAwABEAIIAMLxAAESgQABHA0AARwCAAEUAAABFQAAARgzAAAfwAABEHQAARL
+0AAEcFAABFBoAARQQAAEVGggCAfwAARQUAAEVFAABFIkAABAQAAEUigABFIsAARAEAAESBAABEAU
+AARIFCAICBAABEHgAARL4CAICDQABEHoAARL6AAEQeQABEvkAARB7AAES+wABEAYAARKGAAA7vAA
+BFBgAARUYAAAEQAAABEwAAAQMCAIA+ggCAM8IAgFSCAIBJwgCAaoIAgF/AAEEwQABBMkAP///wCB
+AiAf/5YQAADw/wAAUA0AgAAA4QHiQOEAEgD/wAwAH/+VVCALgVAgC4EAAf///wPf0kACFg7A4QNG
+ACALgaAf/5vAAARUsAAA4+8ABFCwAARg4AAAwfMf/634H/+EMP48f/8gC4HAgAAFAAAAfuiAAAcA
+IAvH4IAABACAAAYAIAvHwIAAAQCAAAIA/58AAEAIAAD4wAAAAABgLP9///8gC4HgIAlOUCALgiAf
+/5VwIAlP0CADCSAgC4JQH/+vNAAP//8gB4hoH/+wUB//sHAf/5XjAFQAACAMAAAgC4KAH/+E8OEE
+/gDhBQYAACQAAOEB3gDhAFoA+AAD/9///gAAAIBgAABACQAACcQgC8gwIAvIgCALyLAgC8lwIAvJ
+QCALyAAf/5303q2+7yAIDEQgCA6UAAmJaCAIDkQgCAwEIAMQwCALgtAgC8mgIAuCoCALgvAf/6zw
+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
+6SwAEFAwKibtKibvKib1+ybdL/8QGDAjJtHzJtcgPxBwMC4m7C4m7i8m1v0m2yAREHgw/ybqIA8Q
+aDD9JvsgABBwMC4mzy4mzi4m0C4m1S4m1C4m2i4m3C4m4S4m4C4m4i4m5i4m6C4m8y4m8i4m+P4m
++iAGEBgw8ybjIC4QWDDzJvkgHhBQMPomzCAbEFAw+ibkIBoQGDDzJtIgARAYMPMm3iADEHAw/ibY
+I/8QcDD+JvQgBBBQMFu2C/MmFSAAEBAw0Q8AAABsEATz3dAR/BBQMBTdFQoMPylC3wlZFCk2HChC
+4QhoFCg2HSRC4wRUFCQ2HhLctCIi3gICQPI0kCAAEBAw0Q8AbBAE9N3BEAAQEDAiRkUiRkQiRkMi
+RkIjQksjRXwjRX0jRX4jRX8DMxQjRYAjRYEjRYIjRYPRDwBsEAYb3bcZ3bMU3bT13bMQABAwMPkW
+ACAQEGgw900DIBACETDzXAACAABQsNgw/NxHEgAASTAPAgDTD9MPbdog+4ZRIGACQjAshZQphkH5
+hkIgYAJKcCqGQ/qGRCBgAlKwHN2h+10EIAAQUDCavfvdnRAkAlGwW2HMG92ZjBAiLQMlXQPzPQMg
+AgIxsPd9AyAQEGgw9E0DIEACOfD0TCAgQAIY8PVcICBAAhCw/wIAAgAAULD/AgAP/7phUBfc6xLd
+hvXdihAAEBgw9n3mIyAQIDArcp4vYMEqUoP4YjEqACBc8PzdgxuQBD7g//cRegAgWrAtLQQMjCgs
+1hJgAA4A/i0EIH0QaDANjSgt5hIb3XlbsQuOEKQi/im2cAICGPDAINEPbBAEFNzN0w8lQoES3FX4
+SgAgABBIMPXKUwQ6ASwwbYoKDJgQ+Cb7IAICSnBkoE9poUwjQoIqQmZbmgVbs6H63GUSAAAysFuz
+nvc3PHAgEGgwGd1gG91hA3xA/Js5ABQAZPAe3GwOuwJ6NwUf3VwPuwJ7NxcY3M/wABFqCQBG8MAg
+0Q8AAAAAAAAb3VX8NwxwCBBgMBncbNMPCbsC/TchcAQQSDAe2/TTD9MP/rsCACQAePAvQH3TDw8C
+AH//Ag27An83Agm7Agy7Aism/AanDARzECMm/RrdQw8CAAo6Aiom/iMm/yktBCmSABrccfvdPx8/
+EGgw+lgRCABAbnD83ToYCQBKMPktBCgJAFow+JYAIDgQWDBbhYka3GX8fBEJQAQ54Ph+EQyABD3g
+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
+IEAA1CAHV2QgAxFoIEAA6CAHV2QgAxFsDEAA/CAHVTQgAxFwDEABDCAHVTQgAxF0DEABHCAHVTQg
+AxF4DEABLCAHVTQgAxF8DEABPCAHVTQgAxGADEABTCAHVTQgAxGEDEABXCAHVTQgAxGIDEABbCAH
+VTQgAxGMCEABfCAHV2QgAxGQCEABgCAHV2QgAxGUCEABhCAHV2QgAxGYEEABiCAHV2QgAxGcEEAB
+kCAHV2RGQ29FIEREUCBmYWlsZWQgOiBveF9pZCAweCV4IHJ4X2lkIDB4JXgKAAAAAAAAAABGQ29F
+IEREUCBmYWlsZWQgOiBEZHBSZXBvcnQgMHgleCBEZHBWYWxpZCAweCV4CgBGQyB4Y2hnIGFsbG9j
+IGZhaWxlZDogYXZhaWwgJWQKAEZDT0UgRnJlZTogc3RpbGwgeWllbGRlZCB3aGVuIGZyZWVpbmcu
+Li5mbG93Y19pZCAleCBmbG93Y19mbGFncyAleCAKAAAAAAAAAAAAAAAAUFJMSSBSc3AgdGltZWRv
+dXQgOiBmbG93Y19pZCAweCV4IG94X2lkIDB4JXggcnhfaWQgMHgleCAKAAAAAAAAAGh3X2JjbTg0
+ODU2X2NoZWNrIGVudHJ5CgAAAAAAAAAAaHdfYmNtODQ4NTZfY2hlY2sgbG9vcCAldSAoY2hlY2sg
+JSN4KQoAAAAAAAAAAAAAWyV1IFBvcnQgY2FyZF1od19iY204NDg1Nl9jaGVjayB1cF9ydW5uaW5n
+IChwb3J0PSV1IDpsb29wX2NudD0ldSApCgAAAAAAAAAAAAAAAABod19iY204NDg1Nl9jaGVjayBm
+YWlsZWQgKGJhZCBDUkMpCgAAAAAAAAAAAAAAAABQSFkgZmlybXdhcmUgbG9hZCBzdWNjZXNzZnVs
+IChwb3J0JXUpIHdvdy4uLiEhISEgCgAAAAAAAAAAAAAAAAAAYmNtODQ4NTZfbG9hZHNlcXVlbmNl
+OiBTdGFydGVkCgBCcm9hZGNhc3QgbW9kZSB0dXJuZWQgT04gCgAAAAAAAGJjbTg0ODU2X2xvYWRz
+ZXF1ZW5jZTogVXBsb2FkIGltYWdlIHRvIFBIWSBvbi1jaGlwIG1lbW9yeQoAAAAAAABiY204NDg1
+Nl9sb2Fkc2VxdWVuY2U6IGRvbmUgbG9hZGluZyBpbWFnZSAoMHgleCkKAAAAAAAAAAAAAAAAAAAA
+V2FpdF9TUElfTE9PUDogcGlkID0gJXUgCgAAAAAAAABiY204NDg1Nl9sb2Fkc2VxdWVuY2U6RE9X
+TkxPQUQgRkFJTEVEIChsbyA9ICUjeCwgaGk9JSN4LCBjbnQ9JXUpCgAAAAAAAAAAAAAAAAAAAFsl
+dSBQb3J0IGNhcmRdIGJjbTg0ODU2X2xvYWRzZXF1ZW5jZSA6RG93bmxvYWQgY29tcGxldGVkIGFm
+dGVyICV1IGxvb3BzIGZvciBwb3J0ICV1CgAAAAAAAAAAAAAAAGh3X2NsNDVfaW5pdFsldV0gYWNh
+cHMgJSN4CgAAAAAAYmNtODQ4NTZfaW5pdFsldV0KAAAAAAAAAAAAAAAAAABod19iY204NDg1Nl9s
+b3dwb3dlclsldV06IGVuYWJsZT0lZAoAAAAAAAAAAAAAAABod19iY204NDg1Nl9sb3dwb3dlclsl
+dV0sIGZhaWxlZCB0byBzZXQgMzAuMHg0MDBBIGJpdCA3OyAzMC4weDQwMEUgYml0PTEgYWZ0ZXIg
+NW1zLCByZWc9JXgKAAAAAABod19iY201NDgyX2NmZ21kaVsldV0gc2V0dGluZyB0eXBlICV1CgAA
+AAAAAAAAAAByZW1vdmUgbXVsdGljYXN0IG1hYyBbJXg6JXg6JXg6JXg6JXg6JXhdIGZyb20gVENB
+TQoAAAAAAAAAAAAAAAAAaXB2Nl9qb2luX2dycDogaWQgJXUsIHJlZl9jbnQgJXUKAAAAAAAAAAAA
+AAAAAAAAZGhjcDZfdGltZXJfY2I6IHJlc2VuZGluZyBESENQNlNPTElDSVQgYWdhaW4KAAAAZGhj
+cDZfdGltZXJfY2I6IHNlbmRpbmcgREhDUDZSRVFVRVNUCgAAAAAAAAAAAAAAZGhjcDZfdGltZXJf
+Y2I6IHNlbmRpbmcgREhDUDZSRU5FVyByZXF1ZXN0CgAAAAAAZGhjcDZfdGltZXJfY2I6IHNlbmRp
+bmcgREhDUDZSRUJJTkQgcmVxdWVzdAoAAAAAZGhjcDZfdGltZXJfY2I6IERIQ1A2UkVQTFkgcmN2
+ZCwgc3RhdGUgJXUKAAAAAAAAZmFpbGVkIHRvIHJlbmV3L3JlYmluZCBkaGNwdjYgYWRkcmVzcwoA
+AAAAAAAAAAAAdHlwZSAleCwgeGlkICV4LCB0eXBlX3hpZCAleAoAAABpcHY2X211bHRpY2FzdF9x
+dWVyeV90aW1lcl9jYiBub2RlX2lkICVkCgAAAAAAAABpcHY2X2dlbmVyYWxfcXVlcnlfdGltZXJf
+Y2IKAAAAAGFkZCBtdWx0aWNhc3QgbWFjIFsleDoleDoleDoleDoleDoleF0gaW4gVENBTQoAAGNo
+bmV0X2lwdjZfZGFkX2NiOiBoYW5kbGUgJXUsIGFkZHJfaWQgJXUsIGFkZHIgc3RhdGUgJXUKAAAA
+AAAAAABpcHY2IHByZWZlcnJlZCBhZGRyIFslMDR4ICUwNHggJTA0eCAlMDR4XQoAAAAAAABTdGFy
+dGluZyBhZGRyIHZhbGlkaXR5IHRpbWVyIGZvciAldSBzZWNvbmRzCgAAAABWYWxpZGl0eSBleHBp
+cmVkIGZvciBhZGRyX2lkICV1CgAAAAAAAAAAAAAAAAAAAABzZW5kaW5nIGlwdjYgZWNobyByZXBs
+eQoAAAAAAAAAAGNobmV0X2lwdjZfcnNfb3V0cHV0OiBsMmRldl9mYyAweCV4CgAAAAAAAAAAAAAA
+AGNobmV0X2lwdjZfbnNfb3V0cHV0OiBsMmRldl9mYyAweCV4LCBmbG93Y19pZCAweCV4LCB2bGFu
+IGZsYWcgMHgleAoAAAAAAAAAAAAAAAAAY2huZXRfaXB2Nl9uYV9vdXRwdXQ6IGwyZGV2X2ZjIDB4
+JXgKAAAAAAAAAAAAAAAAY2huZXRfaXB2Nl9tbGR2Ml9yZXBvcnRfb3V0cHV0OiBsMmRldl9mYyAw
+eCV4CgAAZ2F0aGVyX3Rhc2tzX3RvX3R4X2xpc3Q6IHRhc2sgaW4gdXNlIFsldV0KAAAAAAAAZ2F0
+aGVyX3Rhc2tzX3RvX3R4X2xpc3Q6IGlkeCBbJXVdLCB0YXNrIGZpZCBbMHgleF0sIHRhc2sgc3Rh
+dGUgWzB4JXhdLCB0YXNrIGNvbm4gWzB4JXhdLCB0YXNrIGZmbGFncyBbMHgleF0sIGNvbm4gZmlk
+IFsweCV4XSwgZGRwIFslZF0KAAAAAAAAAAAAZ2F0aGVyX3Rhc2tzX3RvX3R4X2xpc3Q6IHRhc2sg
+WzB4JXhdLCBzdGF0ZSBbMHgleF0gb24gY29ubiBbMHgleF0gbm90IHZhbGlkIHRvIGdhdGhlciwg
+c2tpcHBpbmcKAAAAAAAAAAAAAAAAAAAAAGdhdGhlcl90YXNrc190b190eF9saXN0OiB0YXNrIFsw
+eCV4XSwgc3RpbGwgcXVldWVkIG9uIHR4IHBlbmRpbmcgbGlzdC4gUmVtb3ZpbmcgaXQuCgAAAAAA
+AAAAAAAAAGdhdGhlcl90YXNrc190b190eF9saXN0OiBjb25uX2ZjLT5mbG93Y19mbGFncyBbMHgl
+eF0sIGxpc3RfZW1wdHkgWzB4JXhdLCBhZGRfdGFza19jb3VudCBbMHgleF0KAHRvX3R4X2xpc3Q6
+IG5vIHRhc2sgdG8gY2xvc2UgZm9yIGNvbm4gWzB4JXhdLCBiYWlsaW5nIHRvIHJlY292ZXJ5IHN0
+YXRlIFsweCV4XQoAc2V0X2RpZ2VzdDogdXBsc3VibW9kZToleAoAAAAAAABhdXRoZW50aWNhdGVf
+dGFyZ2V0OiBLRVlfQ0hBUF9SRVNQIC0gWzB4JXgleCV4JXgleCV4JXgleF0KAAAAAAAAYXV0aGVu
+dGljYXRlX3RhcmdldDogS0VZX0NIQVBfUkVTUCAtIFsweCV4JXgleCV4JXgleCV4JXhdCgAAAAAA
+AGF1dGhlbnRpY2F0ZV90YXJnZXQ6IEluY29ycmVjdCBwYXNzd29yZAoAAAAAAAAAAENIQVBfQzog
+ZGlnZXN0IGV4cGFuc2lvbiBlcnJvcgoAQ0hBUF9OOiBUYXJnZXQgdXNlcmlkIG1pc21hdGNoCgBD
+SEFQX1I6IGRpZ2VzdCBleHBhbnNpb24gZXJyb3IKAGlTQ1NJIFNlYy1wYXJhbXMgcmVjZWl2ZWQg
+aGF2ZSBlcnJvcnMhIQoAAAAAAAAAAFRhcmdldCBtb3ZlZCB0ZW1wLiBjb25uICV4LCBzZXNzICV4
+CgAAAAAAAAAAAAAAAExvZ2luIEZhaWxlZCEhLiBjb25uX2ZjIFsweCV4XSwgc2Vzc19mYyBbMHgl
+eF0sIHN0YXR1c19jbGFzcyBbMHgleF0KAAAAAAAAAAAAAAAAUHJvdG9jb2wgRXJyb3IgY2JpdCAl
+ZCB0Yml0ICVkIGNzZyAlZCBuc2cgJWQKAAAAcmVjdl9ub3BpbjogY3RybCB0YXNrIGFscmVhZHkg
+cGVuZGluZwoAAAAAAAAAAAAAb2ZsZF9yeF9kYXRhOiBhaWVlLCBpc2NzaSBjb25uIFsweCV4XSBm
+b3Igc2VzcyBbMHgleF0sIHR5cGUgWzB4JXhdIHRyYW5zaXRlZCBpbiB0b2UgbW9kZS4gS2lja2lu
+ZyByZWNvdmVyeSAKAAAAAG9mbGRfcnhfZGF0YTogY29ubiB0aWQgWzB4JXhdLCByeF9kYXRhLT5z
+ZXEgWzB4JXhdLCByeF9kYXRhLT5sZW4gWzB4JXhdLCByeF9kYXRhLT5zdGF0dXMgWzB4JXhdCgAA
+AAAAAAAAAAAAAAAAAABvZmxkX3J4X2RhdGE6IGNzayB7IGlkIFsweCV4XSwgY3NvY2tfb2Zmc2V0
+IFsweCV4XSwgZGxlbiBbMHgleF0gfQoAAAAAAAAAAAAAAAAAAGFjdF9lc3Q6IHRjYl9mYyBbMHgl
+eF0sIGZsb3djX2ljb25uX2ZsYWdzIFsweCV4XQoAAAAAAAAAAAAAAAAAAABhY3RfZXN0YWI6IHRj
+Yl9mYy0+Zmxvd2NfYnVmIFsweCV4XSwgdGNiX2ZjLT5mbG93Y190eXBlIFsweCV4XSB0Y2JfZmMt
+PmZsb3djX3N0YXRlIFsweCV4XSwgbnBhZ2VzIFsweCV4XSwgZmxvd2NfdHBfc25kX21heCBbMHgl
+eF0KAAAAAAAAAAAAAAAAAABhY3RfZXN0YWI6IGF0aWQgWzB4JXhdLCB0aWQgWzB4JXhdLCBvcCBb
+MHgleF0sIHJjdl9pc24gWzB4JXhdLCBzbmRfaXNuIFsweCV4XSwgY3NvY2stPmZsb3djX3N0YXRl
+IFsweCV4XSwgdGNwX29wdCBbMHgleF0sIHRjYl9mYy0+Zmxvd2NfaWQgWzB4JXhdIAoAAAAAAAAA
+AAAAAAAAY3NrX2ZjLT5mbG93Y19jc29ja19jb29raWUgWzB4JXhdIAoAAAAAAAAAAAAAAAAAbmV0
+X2wyZGV2X2ZpbmRfYnlfYWRkcjY6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGwyZGMtPmxw
+b3J0IFsldV0sIGwyZF9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBhZGRyIFslMDR4OiUwNHg6JTA0eDol
+MDR4XQoAAAAAAABjaG5ldF9xdWV1ZV94bWl0OiBmYy0+Zmxvd2NfaWQgWzB4JXhdLCBidWZfbGVu
+IFsweCV4XSwgYnVmZmVyZWQgWzB4JXhdLCBmaWZvLm51bV9ieXRlcyBbJTB4XQoAAABuZXRpZl9k
+b19kaGNwdjY6IHdyLT5wYXJhbS52bGFuaWQgWyV1XSwgbDJkZXZfZmMtPmZsb3djX25ldF9sMmRl
+dl92bGFuZGV2IFsweCV4XQoAAAAAAAAAAAAAAAAAAABuZXRpZl9kb19kaGNwdjY6IGlwdjYgbm90
+IGVuYWJsZWQKAAAAAAAAAAAAAAAAAABkaGNwIHJlc3AgdG8gZHJpdmVyCgAAAAAAAAAAAAAAAG5l
+dGlmX2RvX2RoY3A6IHdyLT5wYXJhbS52bGFuaWQgWyV1XSwgbDJkZXZfZmMtPmZsb3djX25ldF9s
+MmRldl92bGFuZGV2IFsweCV4XQoAU1RPUCBsZWFzZSB0aW1lcjogJWQgCgAAAAAAAAAAAABsM2lu
+Nl9kZXZfY29uZmlnOiB3ci0+cGFyYW0udmxhbmlkIFsldV0sIGwyZGV2X2ZjLT5mbG93Y19uZXRf
+bDJkZXZfdmxhbmRldiBbMHgleF0KAAAAAAAAAAAAAAAAAABsM2luNl9kZXZfY29uZmlnOiBpcHY2
+IG5vdCBlbmFibGVkCgAAAAAAAAAAAAAAAABuZXRfbDNpbjZfZGV2X2NvbmZpZzogbDJkZXZfZmMt
+PmZsb3djX2lkIFsweCV4XSwgYWRkcmVzcyBhbHJlYWR5IHVzZWQgYnkgcG9ydCAlZCwgYWRkcl9p
+ZCAlZAoAAABuZXRfbDNpbjZfZGV2X2NvbmZpZzogIGFkZHIgWzB4JTA0eCUwNHglMDR4JTA0eF0s
+IHJlZl9jbnQgWzB4JXhdIGluIHVzZQoAAAAAAAAAAGwzaW40X2Rldl9jb25maWc6IHdyLT5wYXJh
+bS52bGFuaWQgWyV1XSwgbDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl92bGFuZGV2IFsweCV4XQoA
+AAAAAAAAAAAAAAAAAENMRUFSIElQIFNUT1AgbGVhc2UgdGltZXI6ICVkIAoAbmV0X2wzaW40X2Rl
+dl9jb25maWc6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGFkZHJlc3MgYWxyZWFkeSB1c2Vk
+IGJ5IHBvcnQgJWQKAAAAAAAAAAAAAAAAAAAAbmV0X2wzaW40X2Rldl9jb25maWc6ICBhZGRyIFsw
+eCV4XSwgbWFzayBbMHgleF0sIGd3IFsweCV4XSwgcmVmX2NudCBbMHgleF0gaW4gdXNlCgAAAAAA
+AAAAAAAAAAAAbDJkZXZfZmMgWzB4JXggXSBGYWlsZWQgdG8gc3RhcnQgdGltZXIgZm9yIGlwdjQg
+ZGFkCgAAAAAAAAAAAAAAAHdyaF9jaG5ldF9pZmNvbmY6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgl
+eF0sIGwyZGV2X2ZjLT5mbG93Y190eXBlIFslMHhdLCBpZmNvbmZfd3ItPnN1Ym9wIFsweCV4XQoA
+AAAAAAAAAAAAAAAAAAB3cmhfY2huZXRfaWZjb25mOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhd
+LCB1bmtub3duIHN1Ym9wIFsweCV4XQoAAAAAAAAAAAAAAAAAAHdyaF9jaG5ldF9pZmNvbmY6IGwy
+ZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIHJjICVkCgAAAAAAAAAAAAAAAABuZXRpZl9pcF9jb25m
+bGljdF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgZXhwZWN0aW5nIHRpbWVy
+IGhhbmRsZSBbJWRdLCBidXQgZ290IGhhbmRsZSBbJWRdIGV4cGlyeQoAbmV0aWZfaXBfY29uZmxp
+Y3RfdGltZXJfY2I6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGluZGV2Y3R4dC0+c3RhdGUg
+WyVkXSwgaW5kZXZjdHh0LT5yZXRyeV9jbnQgWyVkXQoAAAAAAAAAAG5ldGlmX2lwX2NvbmZsaWN0
+X3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBpbmRldmN0eHQgWzB4JXhdLCBp
+biBmcmVlIHN0YXRlCgAAAAAAAAAAAGNtZGhfY2huZXRfaWZhY2U6IGZjIFsweCV4XSwgZmMtPmZs
+b3djX2lkIFsweCV4XSwgZmMtPmZsb3djX3R5cGUgWzB4JXhdLCBwIFsweCV4XSwgbGVuMTYgWyV1
+XSwgbG9jIFsweCV4XQoAAAAAAABjbWRoX2NobmV0X2lmYWNlOmwyZGV2X2ZjIFsweCV4XSwgbDJk
+ZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgbDJkZXYtPmZsb3djX3R5cGUgWyV1XSwgbDJkZXZfZmMt
+PmZsb3djX25ldF9sMmRldl9mbGFncyBbJTB4XQoAAAAAAGNtZGhfY2huZXRfaWZhY2U6IHIyWzBd
+OiV1IHIyWzFdOiV1LCBzdWJvcDoweCV4CgAAAAAAAAAAAAAAAAAAAABjbWRoX2NobmV0X2lmYWNl
+OiBsMmRldl9mYy0+Zmxvd2NfbmV0X2wyZGV2X2ZsYWdzIGNoYW5nZWQgZnJvbSBbJTB4XSB0byBb
+JTB4XSwgcmMgWyVkXQoAAAAAAAAAAABjaG5ldF9sMmRldl91cF9tYl9jYjogcmMgWyVkXSwgcG9y
+dCBbJXVdLCBzdGF0ZSBbJXVdLCBjb29raWUgWzB4JXhdCgAAAAAAAAAAAAAAAGRoY3BfcHJvY2Vz
+c19jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgZGhjdHh0LT5zdGF0ZSBbJTB4XSwgZGhj
+dHh0LT5ydHJ5X2NudCBbJXVdCgAAAAAAAAAAAGRoY3BfdGltZXJfY2I6IERIQ1BESVNDT1ZFUiBz
+ZW50LCBidXQgbm8gcmVwbHkgZnJvbSBhbnkgcG9zc2libGUgc2VydmVyIG9uIHRoZSBuZXR3b3Jr
+LiBSZXRyeWluZyBhZ2FpbgoAAAAAAAAAAABkaGNwX3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxvd2Nf
+aWQgWzB4JXhdLCBzZW5kaW5nIERIQ1BESVNDT1ZFUiBmb3IgZGhjdHh0IFsweCV4XSBvbiBwaWQg
+WyVkXQoAAABkaGNwX3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBESENQT0ZG
+RVIgcmVjZWl2ZWQgZm9yIGRoY3R4dCBbJXhdIHBpZCBbJWRdCgAAAAAAAAAAAABkaGNwX3RpbWVy
+X2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCAgREhDUEFDSyByZWNlaXZlZCBmb3IgZGhj
+dHh0IFsleF0sIHBpZCBbJWRdCgAAAAAAAAAAAABkaGNwX3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxv
+d2NfaWQgWzB4JXhdLCBkaGN0eHQtPmlwYWRkciBbMHgleF0KAAAAAAAAAAAAAAAAAAAAAGRoY3Bf
+dGltZXJfY2I6IHN0YXJ0aW5nIHRpbWVyIGZvciBsZWFzZSBbJXVdIHNlY29uZHMKAAAAAAAAAAAA
+AABkaGNwX3RpbWVyX2NiOiBsZWFzZSB0aW1lIG9mIFsldV0gc2Vjb25kcyBleHBpcmVkLCBzZW5k
+aW5nIHJlbmV3IHJlcXVlc3QKAAAAAAAAAGRoY3BfdGltZXJfY2I6IG5vIHJlcGx5IGZvciBkaGNw
+IHJlcSwgcmV0cnlpbmcgYWdhaW4KAAAAAAAAAAAAAABkaGNwX3RpbWVyX2NiOiBsMmRldl9mYy0+
+Zmxvd2NfaWQgWzB4JXhdLCBubyByZXBseSBmcm9tIGRoY3Agc2VydmVyLCB0aW1pbmcgb3V0CgAA
+AAAAAAAAAAAAAAAAAABhdXRoX25lZ29fc2VjdXJpdHk6IHNlbmRfZmxhZyBbMHgleF0sIGF1dGhf
+cG9saWN5IFsweCV4XQoAAAAAAAAAYXV0aF9uZWdvX3NlY3VyaXR5OiBLRVlfQ0hBUF9SRVNQIC0g
+aGFzaFsweCV4JXgleCV4JXgleCV4JXhdCgAAAGF1dGhfbmVnb19zZWN1cml0eTogS0VZX0NIQVBf
+UkVTUCAtIGhhc2hbMHgleCV4JXgleCV4JXgleCV4XQoAAABhdXRoX25lZ29fc2VjdXJpdHk6IEtF
+WV9DSEFQX1JFU1AgLSBlcnJvciBlbmNvZGluZyB0byBoZXgKAAAAAAAAYXV0aF9uZWdvX3NlY3Vy
+aXR5OiBLRVlfQ0hBUF9SRVNQIC0gZWxlbiBbMHgleF0KAAAAAAAAAAAAAAAAAAAAAGF1dGhfbmVn
+b19zZWN1cml0eTogS0VZX0NIQVBfQ0hBTCAtIGVycm9yIGVuY29kaW5nIHRvIGhleAoAAAAAAABh
+dXRoX25lZ29fc2VjdXJpdHk6IEtFWV9DSEFQX0NIQUwgLSBlbGVuIFsweCV4XQoAAAAAAAAAAAAA
+AAAAAAAAbG9nb3V0X3RpbWVkb3V0OiBsb2dvdXQgcmVxdWVzdCB0aW1lZG91dCwgcG9zc2libGUg
+bmV0d29yayBpc3N1ZXMuIEZvcmNlZnVsbHkgYnJlYWtpbmcgcGF0aCBmb3Igc2VzcyBbMHgleF0K
+AAAAAHBpbmdfdGFyZ2V0OiBwaW5nIHRpbWVvdXQsIGtpY2tpbmcgcmVjb3ZlcnkgZm9yIHNlc3Mg
+WzB4JXhdCgAAAABjc29ja19mYWlsZWQ6IGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMt
+PmZsb3djX3N0YXRlIFsweCV4XSwgc2Vzc19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBzZXNzX2ZjLT5m
+bG93Y19zdGF0ZSBbMHgleF0sIGV2dCBbMHgleF0KAAAAAAAAAAAAAABjaG5ldF9maW5kX2lwNl9s
+MnRfZW50cnk6IGZpbmQgcHJlZml4IG1hdGNoIFslMDR4ICUwNHggJTA0eCAlMDR4XQoAAAAAAAAA
+AAAAAAAAAE5vIHJvdXRlciBjb25maWd1cmVkLCBsMmRldl9mYy0+Zmxvd2NfaWQgMHgleAoAAApS
+b3V0ZXIgbGlmZSAldSBleHBpcmVkLiBkZWxldGluZyByb3V0ZXIgWyUwNHggJTA0eCAlMDR4ICUw
+NHhdCgBVc2luZyByb3V0ZXIgWyUwNHggJTA0eCAlMDR4ICUwNHhdIHRvIHJlYWNoIFslMDR4ICUw
+NHggJTA0eCAlMDR4XQoAAAAAAAAAAAAAAAAAAGwydGVudCBbJTB4XSwgbDJ0ZW50LT5pZHggWyVk
+XQoAcmMgWyVkXSwgY3NrX2ZjIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0KAAAAAAAA
+AAAAAAAAAAAAAGNzb2NrX2FsbG9jOiBzcmNfYWRkcjoweCV4LCBkc3RfYWRkcjoweCV4CgAAAAAA
+AGNvbm5lY3Rpb24gb3ZlciBpcHY2LCBsMmRldiBmbG93Y19pZCAweCV4CgAAAAAAAGNza19hbGs6
+IEludmFsaWQgbDJkZXY6MHgleAoAAAAAY3NrX2FsazogbmV4dDoldSwgaWR4OiV1LCB1c2VkOiV1
+LCBzcG9ydDoldQoAAAAAY3NvY2tfYWxsb2M6IGNzb2NrX3NyY19hZGRyOjB4JXgsIGNzb2NrX2Rz
+dF9hZGRyOjB4JXgKAAAAAAAAAAAAAGNzb2NrX2FsbG9jOiB0eF9jaCBbMHgleF0sIGxwb3J0IFsw
+eCV4XSwgY29va2llIFslMDh4XQoAAAAAAAAAAABjc29ja19hbGxvYzogYXZhaWxhYmxlIFsldV0s
+IG5jc29jayBbJXVdLCBwb3M6YXRpZCBbMHgleF0sIGNza19mYyBbMHgleF0sIGNza19mYy0+Zmxv
+d2NfaWQgWzB4JXhdLCBzcG9ydCBbJXVdCgAAcmVjb3ZlcnlfdGltZW91dDogc2VzcyBpZCBbMHgl
+eF0gc3RhdGUgWzB4JXhdLCByY291bnQgWyVkXSwgZmxhZ3MgWzB4JXhdCgAAAAAAAAByZWNvdmVy
+eV90aW1lb3V0OiBzZXNzIGlkIFsweCV4XSBpbiBsb2dvdXQsIGFib3J0IHRoZSBjb25uZWN0aW9u
+CgAAAAAAAAAAAAAAAAAAAHJlY292ZXJ5X3RpbWVvdXQ6IHNlc3NfZmMtPmZsb3djX2ZvaXNjc2lf
+c2Vzc19mbGFncyBbMHgleF0sIGNvbm5lY3Rpb24gcmVxdWVzdCBwZW5kaW5nLCBiYWlsaW5nIG91
+dAoAAAAAAAAAAAAAAABmb2lzY3NpOiBSZWNvdmVyeSB0aW1lZCBvdXQgYWZ0ZXIgWyV1XSByZXRy
+eSwgYmFpbGluZyBvdXQKAAAAAAAAVENQIGNvbm4gZXN0YWJsaXNobWVudCBmYWlsZWQgJWQKAAAA
+AAAAAAAAAAAAAAAAZGlzY292ZXJ5X2RhdGE6IHNlc3MgeyBpZCBbMHgleF0sIGZsYWdzIFsweCV4
+XSwgYnVmZmVyZWQgWyV1XS4gfQoAAAAAAAAAAAAAAAAAAABkaXNjb3ZlcnlfZGF0YTogc2VzcyB7
+IGlkIFsweCV4XSB9LCB1bHB0eGNoIFsldV0gbm8gY3JlZGl0cyBhdmFpbGFibGUsIHJlc2NoZWR1
+bGluZyByZXF1ZXN0LgoAAABJbnZhbGlkIG9wY29kZSAweCV4IGluIGN0cmwgcGF0aAoAAAAAAAAA
+AAAAAAAAAABERFAgZXJyb3IgWzB4JXhdLCBhYm9ydGluZyBjb25ubiBbMHgleF0KAAAAAAAAAABy
+eF9kYXRhX2RkcDogUmVzcG9uY2UgcmVjaWV2ZWQgZm9yIHRhc2sgWzB4JXhdIHdoaWxlIGludmFs
+aWQgdGFzayBvciBjb25uZWN0aW9uIHN0YXRlLiB0YXNrIHN0YXRlIFsweCV4XSwgY29ubiBzdGF0
+ZSBbMHgleF0sIGNvbm4gZmxhZ3MgWzB4JXhdCgBpaGRyOiBSZXNwb25jZSByZWNpZXZlZCBmb3Ig
+dGFzayBbMHgleF0gd2hpbGUgaW52YWxpZCB0YXNrIG9yIGNvbm5lY3Rpb24gc3RhdGUuIHRhc2sg
+c3RhdGUgWzB4JXhdLCBjb25uIHN0YXRlIFsweCV4XSwgY29ubiBmbGFncyBbMHgleF0KAAAAAAAA
+AABpaGRyOiBJbnZhbGlkIHRhc2sgc3RhdGUgMHgleCBmb3IgdGFzayAweCV4LCBpdHQgWzB4JXhd
+LCBvcGMgWzB4JXhdCgAAAAAAAAAAAAAAAHByb2Nlc3NfdG1mX3Jlc3BvbnNlOiBidWZmZXJlZCBb
+MHgleF0sIGlzdGFza19mYy0+Zmxvd2NfYnVmLT5zY2hlZF9ub2RlLm5leHQgWzB4JXhdLCBpc3Rh
+c2tfZmMgWzB4JXhdLCBpc3Rhc2tfZmMtPmZsb3djX2lkIFsweCV4XQoAAAAAAAAAAAAAAAAAAHBy
+b2Nlc3NfdG1mX3Jlc3BvbnNlOiB3ciBvcCBbMHgleF0sIHRtZiBvcCBbMHgleF0KAAAAAAAAAAAA
+AAAAAAB0bWZfcmVzcDogZmxvd2M6MHgleCwgaWQ6MHgleCwgc3RhdGU6MHgleCwgeWllbGQ6MHgl
+eAoAAAAAAAAAAAAAdG1mX3Jlc3A6IHRfdGFzazoweCV4IGZyZWVkLgoAAABzY3NpX2NtZF9yZXNw
+OiBmbG93YzoweCV4LCBpZDoweCV4LCBzdGF0ZToweCV4LCB5aWVsZDoweCV4CgAAAAAAZGF0YV9p
+bl9yZXNwOiBmbG93YzoweCV4LCBpZDoweCV4LCBzdGF0ZToweCV4LCB5aWVsZDoweCV4CgAAAAAA
+AHJldHVybl9wZW5kaW5nX3Rhc2s6IGNvb2tpZSBbMHglMDh4XSwgWzB4JTA4eF0KAHJldHVybl9w
+ZW5kaW5nX3Rhc2s6IGRlbGF5IHByb2Nlc3NpbmcsIGNvbm4gZmxhZ3MgWzB4JXhdCgAAAAAAAABy
+ZXR1cm5fcGVuZGluZ190YXNrOiBEb25lIHNlbmRpbmcgdGFzayBlcnJvciB0byBob3N0LCB1bHB0
+eGxlbjE2IFsldV0KAAAAAAAAAAAAAHJldHVybl9wZW5kaW5nX3Rhc2s6IGRlcXVldWUgdGFzayBb
+MHgleF0sIHN0YXRlIFsweCV4XSBmcm9tIHR4X2xpc3QKAAAAAAAAAAAAAAAAcmV0dXJuX3BlbmRp
+bmdfdGFzazogYWxsIHRhc2tzIHJldHVybmVkLCByZWNvdmVyeSBzdGF0ZSB0cmFucyB0byBbMHgl
+eF0KAAAAAAAAAABjbGVhcl9kZHBfbWFwOiBpc3Rhc2tfZmMgWzB4JXhdLCBpc3Rhc2tfZmMtPmZs
+b3djX2lkIFsweCV4XSBidWZmZXJlZCAldQoAAAAAAAAAAGNsZWFyX2RkcF9tYXA6IGlzdGFza19m
+Yy0+Zmxvd2NfaXRhc2tfbnBwb2QgJXUsIG5wcG9kICV1LCBwcGRhZGRyIFsweCV4XQoAAAAAAAAA
+Y2xlYXJfZGRwX21hcDogYWxsIHJldHVybmVkIHRhc2tzIGRkcCBjbGVhcmVkLCByZWNvdmVyeSBz
+dGF0ZSB0cmFucyB0byBbMHgleF0KAAB3cmhfZm9pc2NzaV9ub2RlOiBub2RlX3dyLT5mbG93aWRf
+bGVuMTYgMiBbJXhdCgB3cmhfZm9pc2NzaV9jaGFwOiBpZF9sZW4gWyV4XSwgc2VjX2xlbiBbJXhd
+CgAAAAB3cmhfZm9pc2NzaV9jaGFwOiB0Z3RfaWRfbGVuIFsleF0sIHRndF9zZWNfbGVuIFsleF0K
+AAAAAAAAAAAAAAAAc2Vzc2lvbl9ibG9jazogc2Vzc19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBzZXNz
+X2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIGNvbm5fZmMtPmZsb3djX2lkIFsweCV4XSwgY29ubl9m
+Yy0+Zmxvd2Nfc3RhdGUgWzB4JXhdLCBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5m
+bG93Y19zdGF0ZSBbMHgleF0KAAAAAAAAAAAAAAAAAAAAc2Vzc2lvbl91bmJsb2NrOiBzZXNzX2Zj
+LT5mbG93Y19pZCBbMHgleF0sIHNlc3NfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwgY29ubl9mYy0+
+Zmxvd2NfaWQgWzB4JXhdLCBjb25uX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIGNza19mYy0+Zmxv
+d2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRlIFsweCV4XQoAAAAAAAAAAAAAAAAAc3Rh
+cnRfbG9nb3V0OiBTZXNzLWlkIFsweCV4XSBhbHJlYWR5IGxvZ2dpbiBvdXQuCgAAAAAAAAAAAAAA
+AAAAAHBlZXJfY29uOiBjc2tfZmMgPT4gZmxvd2lkIFsweCV4XSwgZmxvd2NfYnVmIFsweCV4XQoA
+AAAAAAAAAAAAAABhbGxvY19zZXNzOiBsb2dpbl9yZXRyeSBbJWRdLCByZWNvdl90aW1lb3V0IFsl
+ZF0KAAAAAAAAAAAAAAAAAAAAZm9pc2NzaV9jdHJsOiBzdWJvcCBbMHgleF0sIHNlc3NfdHlwZV90
+b19lcmwgWzB4JXhdLCBzZXNzX3R5cGUgWzB4JXhdCgAAAAAAAAAAAABmb2lzY3NpX2N0cmw6IHJl
+Y2VpdmVkIGJsb2NrZWQgZnJvbSBkcml2ZXIsIHRyaWdnZXJpbmcgcmV0dXJuIHRhc2tzIG5vdy4K
+AAAAAAAAAFdBVENIRE9HX2Rpc3BhdGNoIGNhc2UgdG8gYXZvaWQ6IENvdW50ZXJfd2F0Y2hkb2cg
+JXUgQ291bnRlcl9zY2hlZCAldSAKAAAAAAAAAAAAV0FUQ0hET0c6IGRldmljZSBzaHV0ZG93bgoA
+AAAAAABXQVRDSERPRzogcG9ydFsldV0gcGF1c2Ugd2F0Y2hkb2cgdGltZW91dAoAAAAAAABXQVRD
+SERPRzogYnlwYXNzIHRpbWVvdXQKAAAAAAAAAFdBVENIRE9HOiBGTFIgLSBub3QgaW1wbGVtZW50
+ZWQgeWV0CgAAAAAAAAAAAAAAAFdBVENIRE9HOiB0ZW1wZXJhdHVyZSBvZiAlZEMgZXhjZWVkcyB0
+aHJlc2hvbGQgb2YgJWRDCgAAAAAAAAAAAABmaWx0ZXI6IHBvcmdyYW1taW5nIHRpZCAldSAobGUg
+dGNhbSBpbmRleCAldSkuLi4KAAAAAAAAAAAAAAAAAAAAZmlsdGVyOiByZXF1ZXN0aW5nIGNvbXBs
+ZXRpb24uLi4KAAAAAAAAAAAAAAAAAAAAY2huZXRfaXB2Nl9saW5rX2NoYW5nZV9ub3RpZnk6IGwy
+ZGV2X2ZjIFsweCV4XSwgc3RhdHVzICV1CgAAAAAAAGwyZGV2X3NlbmRfcG9ydF9ldmVudDogd3Ig
+WzB4JXhdIHBlbmRpbmcgb24gcG9ydCBbJWRdLCBjdXJyZW50IHRyeSBbJWRdCgAAAAAAAAAAZGNi
+eF9pZWVlX2NtZGhbJXVdIHdyaXRlIG9ubHkgcGVybWl0dGVkIG9uIGxvY2FsIGNvbmYKAAAAAAAA
+AAAAAGRjYnhfaWVlZV9jbWRoWyV1XSBjYW5ub3Qgd3JpdGUgJXUgYXBwcyAoTUFYOiAldSkKAAAA
+AAAAAAAAAAAAAABkY2J4X2llZWVfY21kaFsldV0gcmVxdWVzdGluZyBEQ0JfSUVFRV9DTUQKAAAA
+AABkY2J4X2llZWVfY21kaFsldV0gdW5rbm93biBmZWF0dXJlIHdyaXRlOiAldQoAAABkY2J4X2ll
+ZWVfY21kaFsldV0gdW5rbm93biBmZWF0dXJlIHJlYWQ6ICV1CgAAAABjYW5ub3QgYWxsb2NhdGUg
+b2ZmbG9hZGVkIGZpbHRlciBjb25uZWN0aW9uCgAAAABjYW5ub3QgYWxsb2NhdGUgb2ZmbG9hZGVk
+IGZpbHRlciBJUHY2IGNvbm5lY3Rpb24KAAAAAAAAAAAAAAAAAAAAZGlzcGF0Y2hfZGVmZXJyZWRf
+Y2xhc3NfY2xhc3Nfc2hhcGluZ1sldToldV06IGxpc3RfZW1wdHkKAAAAAAAAAGxvb3BiYWNrIGJ1
+ZmZlciBncm91cFsldV0gaXMgZGlzYWJsZWQKAAAAAAAAAAAAAGludmFsaWQgYnVmZmVyIGdyb3Vw
+WyV1XSBjb25maWd1cmF0aW9uOiBtdHUgJXUgbHdtICV1IGh3bSAldSBkd20gJXUKAAAAAAAAAAAA
+AAAAZmMgJXUgdmYgJXUgZ290IGl2Zj0weCV4LHJhbmdlOiAlI3gtJSN4ICgldS8ldSB1c2VkKQoA
+AAAAAAAAAAAAAFZJICV1IGNhbm5vdCBnZXQgUlNTIHNsaWNlOiBObyBtb3JlIHNsaWNlcyBhdmFp
+bGFibGUgKHVzZWQgJXUvJXUpCgAAAAAAAAAAAAAAAAAAcGZuICV1IHZmbiAldSB3aXRoIHBvcnQg
+bWFzayAweCV4IGNhbm5vdCBhY2Nlc3MgcG9ydCAldSwgcmV0ICVkCgAAAAAAAAAAAAAAAAAAAABw
+Zm4gJXUgdmZuICV1IGNvdWxkIG5vdCBhbGxvY2F0ZSB2aWlkLCByZXQgJWQKAABwZm4gJXUgdmZu
+ICV1IGNvdWxkIG1hcCB2aWlkICAweCV4IHRvIGZsb3djLCByZXQgJWQKAAAAAAAAAAAAAAAAcGZu
+ICV1IHZmbiAldSBjb3VsZCBub3QgYWxsb2NhdGUgdXdpcmUgZnVuYyAlZCBtYWMgYWRkciwgcmV0
+ICVkCgAAAAAAAAAAAAAAAAAAAABtaWlfaW5pdFsldV06IGFjYXBzIDB4JXgKAAAAAAAAAG1paV9m
+b3JjZV9zcGVlZFsldV06IHJjYXBzIDB4JXgKAAAAAAAAAAAAAAAAAAAAAG1paV9wZG93blsldV06
+IHBvd2VyZG93biBlbiAldQoAcG9ydF9jbWRfaGFuZGxlcjogdW5rbm93biB1LmRjYi50eXBlIDB4
+JXgKAAAAAAAAcG9ydFsldToweCUwMng6MHglMDJ4XTogbDFjZmcsIGludmFsaWQgcmVxdWVzdCwg
+cGNhcHMgMHgleCBhY2FwcyAweCV4IG1jYXBzIDB4JXgsIHJjYXBzIDB4JXgKAAAAcG9ydFsldTow
+eCUwMng6MHglMDJ4XTogbDFjZmcsIHBjYXBzICUjeCBhY2FwcyAlI3ggcmNhcHMgJSN4IG1jYXBz
+ICUjeAoAAAAAAAAAAABwb3J0WyV1OjB4JTAyeDoweCUwMnhdOiBsMWNmZywgbWRpIGlzc3VlIHBj
+YXBzIDB4JXggYWNhcHMgMHgleCByY2FwcyAweCV4CgAAAAAAAHBvcnRbJXU6MHglMDJ4OjB4JTAy
+eF06IGwxY2ZnLCBjYW5ub3QgZm9yY2Ugbm8vbXVsdGlwbGUgc3BlZWQocyksIHBjYXBzIDB4JXgg
+YWNhcHMgMHgleCByY2FwcyAweCV4CgAAAAAAAAAAAAAAAABwb3J0WyV1OjB4JTAyeDoweCUwMnhd
+OiB1bmtub3duIGFjdGlvbiAweCV4CgAAAABwb3J0WyV1OjB4JTAyeDoweCUwMnhdOiB1bmtub3du
+IHJlYWQgYWN0aW9uIDB4JXgKAAAAAAAAAAAAAAAAAAAAY3BsX2Vycl9ub3RpZnk6IHRpZCAldSBj
+cGwgMHglMDh4JTA4eAoAAAAAAAAAAAAAY3BsX2Vycl9ub3RpZnk6IHRpZCAldSBjcGwgMHglMDh4
+JTA4eCAweCUwOHglMDh4CgAAAAAAAAAAAAAAAAAAAGNwbF9lcnJfbm90aWZ5OiB0aWQgJXUgbGVu
+ICV1CgAARkNPRSBGcmVlOiBzdGlsbCB5aWVsZGVkIHdoZW4gZnJlZWluZy4uLmZsb3djX2lkICV4
+IGZsb3djX2ZsYWdzICV4IAoAAAAAAAAAAAAAAABGQ09FIEJQIFdSIEVSUjogV1Igd2l0aCBjb29r
+aWUgJXgleCBlcnJvcmVkIGJhY2sgCgAAAAAAAAAAAAAAAAAAc2NzaV9hYm9ydDogRW50ZXJpbmcg
+QWJvcnRfdGFzaywgYnVmZmVyZWQgWyV1XQoAc2NzaV9hYm9ydDogcmMgWzB4JXhdIHJlZiB0YXNr
+IG5vdCBvdXRzdGFuZGluZwoAc2NzaV9hYm9ydDogaWRhdGEtPm9wIFsweCV4XSwgZmxhZ3MgWzB4
+JXhdLCBmdW5jIFsweCV4XSwgbHVuX2lkeCBbMHgleF0KAAAAAAAAAABzY3NpX2Fib3J0OiB3ci0+
+aXFpZCBbMHgleF0sIGlzdGFza19mYy0+Zmxvd2Nfc2dlX2lxaWQgWzB4JXhdLCBpc3Rhc2tfZmMg
+dGFzayBmbGFncyBbMHgleF0KAAAAAABzY3NpX2FicnQ6dGFzayBmbG93Y1sweCV4XSwgdG1mX2xp
+c3RfZW1wdHk6CgAAAABzY3NpX2Fib3J0OiBjb25uIFsweCV4XSwgY21kc24gWzB4JXhdLCBzZW50
+X2NtZHNuIFsweCV4XSwgbWF4X2NtZHNuIFsweCV4XSwgaXR0IFsweCV4XQoAAAAAAAAAAABhYm9y
+dC9jbG9zZSBXUiB3aXRoIGNvb2tpZSAweCVseCB3YXMgaXNzdWVkIG9uIHNzbiAweCV4IGluIHdy
+b25nIHN0YXRlIDB4JXgKAAAAAGFib3J0IFdSIG9uIHNzbiAweCV4IGRpZCBub3QgZmluZCBXUiB3
+aXRoIGNvb2tpZSAweCV4JXgKAAAAAAAAAABjbG9zZSBXUiB3aXRoIGNvb2tpZSAweCVseCBvbiBz
+c24gMHgleDtkaWQgbm90IGZpbmQgV1Igd2l0aCBjb29raWUgMHglbHgKAAAAAAAAAGFib3J0IFdS
+IG9uIHNzbiAweCV4IHdhcyBpc3N1ZWQgb24geGNoZyAweCV4IHdpdGggcnhfaWQgMHgleCBpbiB3
+cm9uZyBzdGF0ZSAweCV4CgAAAAAAAAAAAAAAAAAAAHNjc2lfbHVyOiBFbnRlcmluZyBMVVIgaGFu
+ZGxlciwgYnVmZmVyZWQgWyV1XQoAAHNjc2lfbHVyOiBpZGF0YS0+b3AgWzB4JXhdLCBmbGFncyBb
+MHgleF0sIGZ1bmMgWzB4JXhdLCBsdW5faWR4IFsweCV4XQoAAAAAAAAAAAAAc2NzaV9sdXI6IHdy
+LT5pcWlkIFsweCV4XSwgaXN0YXNrX2ZjLT5mbG93Y19zZ2VfaXFpZCBbMHgleF0sIGlzdGFza19m
+YyB0YXNrIGZsYWdzIFsweCV4XQoAAAAAAAAAc2NzaV9sdXI6IGNvbm4gWzB4JXhdLCBjbWRzbiBb
+MHgleF0sIHNlbnRfY21kc24gWzB4JXhdLCBtYXhfY21kc24gWzB4JXhdLCBpdHQgWzB4JXhdCgAA
+AAAAAAAAAAAAZGNieF9hcHBseV9hcHBfY2ZnWyV1XU5FVyBBUFAgVExWIAoAAAAAAAAAAAAAAAAA
+ZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX0xJTktVUAoAZGNieF9jZWVf
+ZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBTRVRfTE9DQUxfUEFSQU1FVEVSUwoAAAAAAAAAAAAAAGRj
+YnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9OT19BRFZFUlRJU0UKAAAAAAAA
+AAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfUEVFUl9OT1RfQURW
+RVJUSVNFX0RDQlgKAAAAAAAAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsl
+dV0gRkVBVFVSRV9QRUVSX05PVF9BRFZFUlRJU0VfRkVBVFVSRQoAAAAAAAAAAAAAAAAAZGNieF9j
+ZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX1VQREFURV9PUEVSX1ZFUlNJT04KAAAA
+AGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9QRUVSX1VQREFURV9PUEVS
+X1ZFUlNJT04KAAAAAAAAAAAAAAAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBG
+RUFUVVJFX0dFVF9QRUVSX0NGRwoAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVy
+ZVsldV0gRkVBVFVSRV9DRkdfTk9UX0NPTVBBVElCTEUKAAAAAABkY2J4X2NlZV9mZWFfc21bJXVd
+IEZlYXR1cmVbJXVdIEZFQVRVUkVfVVNFX0xPQ0FMX0NGRwoAAAAAAAAAAAAAZGNieF9jZWVfZmVh
+X3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX1VTRV9QRUVSX0NGRwoAAAAAAAAAAAAAAGRjYnhf
+Y2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9GRUFUVVJFX0RJU0FCTEVECgAAAAAA
+AABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfRVJST1JfQ0hBTkdFCgAA
+AAAAAAAAAAAAZGNieF9pZWVlX3Byb2Nlc3NbJXVdIHJlY2VpdmVkIEJXcyBkbyBub3QgYWRkIHVw
+IHRvIDEwMCEKAAAAAAAAAFdBUk5JTkc6IHJlY2VpdmVkIEFwcCBUTFYgY29udGFpbnMgbW9yZSB0
+aGFuRlcgY2FuIGhhbmRsZSAobWF4OiAldTsgdGx2IGNvbnRhaW5zOiAldQoAAAAAAAAAAAAAAGRj
+YnhfaWVlZV9wcm9jZXNzWyV1XSBzdWJ0eXBlICUjeCByZW1fZnRfY2hhbmdlZCAldSBzbV9jaGFu
+Z2UgJXUKAAAAAAAAAAAAAAAAAAAAZGNieF9pZWVlX3Byb2Nlc3NbJXVdIHN1YnR5cGUgdW5rbm93
+bgoAAAAAAAAAAAAAZGNieF9wYXJzZV9wa3RbJXVdIGVycm9yICVkCgAAAABpcHY2X2FkZF9wcmVm
+aXhfaW5fbGlzdDogbm9kZSBmb3VuZCAweCV4CgAAAAAAAABpcHY2X2FkZF9wcmVmaXhfaW5fbGlz
+dCwgbm9kZSBub3QgZm91bmQKAAAAAAAAAABjaG5ldF9hcnBfdXBkYXRlX2NhY2hlOiBhcnAgaXA0
+IGVudHJ5IGZvdW5kIAoAAABjaG5ldF9hcnBfdXBkYXRlX2NhY2hlOiBhcnAgaXA2IGVudHJ5IGZv
+dW5kIAoAAABjaG5ldF9hcnBfdXBkYXRlX2NhY2hlOiBib3RoIGlwNCBhbmQgaXA2IGFkZHIgY2Fu
+bm90IGJlIG51bGwKAAAAY2huZXRfbDJ0X3VwZGF0ZTogbDJ0X3VwZGF0ZSByZXF1ZXN0IHNlbnQg
+bDJ0ZW50IFslMDh4XSwgbDJ0ZW50LT5pZHggWyVkXSwgbDJ0ZW50LT52bGFuIFslZF0KAAAAY2hu
+ZXRfaXB2Nl9yYV9pbnB1dDogSW52YWxpZCBSQQoAAAAAAAAAAAAAAAAAAAAAaXB2NiBSQSByY3Zk
+CgAAAHJvdXRlciBub3QgcHJlc2VudCBpbiBvdXIgbGlzdC4gYWRkaW5nIGl0CgAAAAAAAEludmFs
+aWQgb3B0aW9uIGxlbmd0aCAldSBpbiBTTExBIG9wdGlvbgoAAAAAAAAAAEdPVCBTTExBIG9wdGlv
+biBpbiBSQSwgbGVuICV1CgAASW52YWxpZCBvcHRpb24gbGVuZ3RoICV1IGluIHByZWZpeCBvcHRp
+b24KAAAAAAAASW52YWxpZCBvcHRpb24gbGVuZ3RoICV1IGluIG10dSBvcHRpb24KAAAAAAAAAAAA
+SW52YWxpZCBwYWNrZXQgd2l0aCAldSBleHRyYSBieXRlcwoAAAAAAAAAAAAAAAAAbWxkNiBxdWVy
+eSByY3ZkCgAAAAAAAAAAAAAAAAAAAABjaG5ldF9pcHY2X21sZDZfcXVlcnlfaW5wdXQ6IEludmFs
+aWQgTUxEIHF1ZXJ5CgBVbnN1cHBvcnRlZCBxdWVyeSB2ZXJzaW9uLiBvbmx5IG1sZHYyIHF1ZXJ5
+IHN1cHBvcnRlZAoAAAAAAAAAAAAAcXVlcnkgcmVzcG9uc2UgZGVsYXkgJXUgKGluIDEwbXMgdW5p
+dCkgCgAAAAAAAAAAYWxyZWFkeSBhIGdlbmVyYWwgcXVlcnkgcGVuZGluZyBpbiAldSAoMTBtcykK
+AAAARGVidWcgdGhlIGNvZGUuIGdycF9ub2RlIG11c3QgYmUgcHJlc2VudAoAAAAAAAAAYWxyZWFk
+eSBhIG11bHRpY2FzdCBxdWVyeSBwZW5kaW5nIGluICV1ICgxMG1zKQoAaXB2NiBlY2hvIHJlcSBy
+Y3ZkCgAAAAAAAAAAAAAAAABESENQdjYgcGFja2V0IHR5cGUgJXUsIG9wdHNsZW4gJXUgcmVjZWl2
+ZWQKAAAAAABJbnZhbGlkIGRoY3Agc3RhdGUgJWQKAAAAAAAAAAAAAElnbm9yZSBESENQdjYgbXNn
+IHhpZCAleCwgIGRoNmN0eHQtPnhpZCAleAoAAAAAAEVycm9yIGluIERIQ1B2NiBvcHRpb25zIHBh
+cnNpbmcuIElnbm9yaW5nIG1zZywgaSAlZCwgb3B0c2xlbiAlZAoAAAAAAAAAAAAAAAAAAAAAREhD
+UCBmYWlsZWQsIHN0YXR1c2NvZGUgJWQuIElnbm9yaW5nIGFkdmVydGlzZQoAaWNtcDYgY2hlY2tz
+dW0gdmFsaWRhdGlvbiBmYWlsZWQsIG9yIGVyciByY3ZkaWdub3JpbmcgaWNtcDYgbXNnICV1LCBk
+bGVuICV1CgAAAABuZXRpZl9wcm9jZXNzX2RoY3A6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0s
+IHByb2Nlc3NpbmcsIG9wdF9sZW4gJXUKAAAAAAAAAAAAAGNobmV0X2RoY3BfcmVjdjogdmxhbmlk
+IFsldV0sIGwyZGV2X3BpZF9mYy0+Zmxvd2NfbmV0X2wyZGV2X3ZsYW5kZXYgWzB4JXhdLCBsMmRl
+dl9mYyBbMHgleF0KAAAAAGNobmV0X2RoY3BfcmVjdjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4
+XSwgZGhjdHh0LT5zdGF0ZSBbJWRdLCBtYWxhY2lvdXMgZGhjcCByZWN2IGZvciBubyByZXF1ZXN0
+CgAAAAAAAAAAAAAAAABkaGN0eHQtPnN0YXRlIDogJWQKAAAAAAAAAAAAAAAAAGwyZGV2X2ZjLT5m
+bG93Y19pZCBbMHgleF0sIEJhZCBESENQIGNvb2tpZSByZWNpZXZlZCwgYWJvcnRpbmcKAABDb3Vs
+ZCBubyBhbGxvY2F0ZSBwY2IhISBGcmVlaW5nIGZjZiAhISEKAAAAAAAAAAB2bl9wYXJzZSB1bmtu
+b3duIHN1YmNvZGUgJXUKAAAAAHZuX3BhcnNlIHVua25vd24gZHR5cGUgJXUKAAAAAAAAaWdub3Jp
+bmcgZmlwIHJlY3YgZm9yIHBjYiBmbG93OiV4IGluIG9mZmxpbmUgc3RhdGUKAAAAAAAAAAAAAAAA
+AGZpcF92bjJ2bl9yZWN2X2VyciAKAAAAAAAAAAAAAAAAQ291bGQgbm90IGFsbG9jYXRlIGZsb3dj
+ISEhIQoAAABDb3VsZCBub3QgYWxsb2NhdGUgU0NCIGZsb3djISEhIQoAAAAAAAAAAAAAAAAAAABD
+b3VsZCBub3QgZmluZCByaWdodCBzY2IgZm9yIGxvZ28KAAAAAAAAAAAAAAAAAABpZ25vcmluZyBm
+aXAgcmVjdiBmb3IgZmNmIGZsb3c6JXggaW4gb2ZmbGluZSBzdGF0ZQoAAAAAAAAAAAAAAAAAQ291
+bGQgbm90IGZpbmQgcmlnaHQgc2NiIGZvciBmbG9naQoAAAAAAAAAAAAAAAAAcG9ydCAweCV4LCBz
+dGF0ZSAweCV4LCByZXRyeSBub3Qgc3VwcG9ydGVkCgAAAAAARmxvZ2kgcmVzcCByY3Ygd2l0aCB1
+bmtub3duIHhjaGcgb3hfaWQleCBzaWQgJTJ4JTJ4JTJ4IGRpZCAlMnglMnglMngKAAAAAAAAAAAA
+AABOX1BPUlQgMHgleCV4JXggcmVqZWN0ZWQgUExPR0kgd2l0aCByZWFzb24gY29kZSAleAoAAAAA
+AAAAAAAAAAAAQUJUUyB3aGlsZSBhd2FpdGluZyBQUkxJIFJzcDogZmxvd2NfaWQgMHgleCBveF9p
+ZCAweCV4IHJ4X2lkIDB4JXggCgAAAAAAAAAAAAAAAABBQlRTIGZha2UgUnNwOiBsb2MgMHgleCBv
+eF9pZCAweCV4IHJ4X2lkIDB4JXgKAABsbGRwX3J4X3BrdF9oYW5kbGVyWyV1XSBkcm9wIHByZS1p
+bml0IChjb3VudCA9ICV1KQoAAAAAAAAAAAAAAAAAJXgleCV4IFJlY2lldmVkIExPR08gZnJvbSAl
+eCV4JXggCgAAAAAAAAAAAAAAAAAAQ1BMX1JYX1BLVDogSWdub3JpbmcgTU9QIG9yIEVPUCBmcmFt
+ZXMKAAAAAAAAAAAARmFpbGVkIHRvIHBvc3QgeGNoZyBlcnI6IHNzbmkgMHgleCBjb29raWUgMHgl
+bHggcnZhbCAleCAKAAAAAAAAAHRjcF9yZWxlYXNlX3RpZDogdGlkIFsweCV4XSwgZmxvd2MgZmxh
+Z3MgWzB4JXhdLCBidWZmZXJlZCBbMHgleF0KAAAAAAAAAAAAAAAAAAAAdGNwX3JlbGVhc2VfdGlk
+OiBzaXplb2YodGNiX2ZjLT5mbG93Y19pY29ubikgWyV1XSwgYnl0ZXMKAAAAAAAAAGFjdF9vcGVu
+X3JwbDogYXRpZCBbMHgleF0sIHRpZCBbMHgleF0sIHRjYl9mYy0+eyBpZCBbMHgleF0sIHN0YXRl
+IFsweCV4XSwgdHlwZSBbMHgleF0gfSwgY3BsX29wIFsweCV4XSwgc3RhdHVzIFsweCV4XQoAAAAA
+AAAAAAAAYWN0X29wZW5fcnBsOiBjc2tfZmMtPnsgaWQgWzB4JXhdLCBzdGF0ZSBbMHgleF0sIGNz
+b2NrX2ZsYWdzIFsweCV4XSB9IAoAAAAAAAAAAABhY3Rfb3Blbl9ycGw6IHJlY3ZkIG5lZyBhZHZp
+Y2UgWzB4JXhdCgAAAAAAAAAAAABzZW5kX2Fib3J0X3JwbDogY3NrX2ZjLT5mbG93Y190eXBlIFsw
+eCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIHRpZCBbMHgleF0sIHVscHR4Y2ggWyV1XSwg
+YnVmZmVyZWQgWyV1XQoAAAAAd3JoX29mbGRfdGNwX2Nsb3NlX2Nvbl9yZXBseTogdGNiX2ZjLT5m
+bG93Y19pZCBbMHgleF0sIHRjYl9mYy0+Zmxvd2NfdHlwZSBbMHgleF0sIGxlbjE2IFsldV0sIGxv
+YyBbJXVdCgAAAAAAAAAAAHdyaF9vZmxkX3RjcF9jbG9zZV9jb25fcmVwbHk6IHJwbC0+b3BfVGlk
+IFsweCV4XSwgcnBsPnN0YXR1cyBbMHgleF0sIHJwbC0+c25kX254dCBbMHgleF0sIHJwbC0+cmN2
+X254dCBbMHgleF0KAAB0Y3BfYWJvcnRfcnBsX3JzczogdGlkIFsweCV4XSwgc3RhdHVzIFsweCV4
+XQoAAAB0Y3BfYWJvcnRfcmVxX3JzczogdGlkIFsweCV4XSwgc3RhdHVzIFsweCV4XSwgZmxvd2Nf
+Y3NvY2tfZm9pc2NzaV9zdGF0ZSBbMHgleF0KAG9mbGRfYWJvcnRfcmVxX25lZ2FkdlsldV06IHdy
+IDB4JTA4eCBjcGxfYWJvcnRfcmVxIERFTElWRVJFRAoAAABob3N0X3dyWyV1XTogd3IgMHglMDh4
+IGNwbF9hYm9ydF9yZXEgc3RhdHVzIDB4JXgKAAAAAAAAAAAAAAAAAAAAcGt0c2NoZWRfY2xfcmxb
+JXU6JXVdOiBtb2RlIHwgdW5pdCB8IHJhdGUgMHglMDZ4IG1pbiAldSBtYXggJXUgcGt0c2l6ZSAl
+dQoAAAAAAABwZiAlZCwgdmYgJWQgc2VjcmV0IGtleV9pbmRleCAlZCwgVkYgc2VjcmV0IDB4JXgK
+AAAAAAAAAAAAAAAAAAAAcGFyYW1fY2huZXRbMHgleDoweCV4XTogY2huZXQgMHgleCByZWFkICV1
+IHBmICV1IHJldCAlZAoAAAAAAAAAAHBhcmFtX2RtYXFbMHgleDoweCV4XTogZG1hcSAweCV4IHJl
+YWQgJXUgcGYgJXUgcmV0ICVkCgAAAAAAAAAAAABSU1NTRUNSRVRLRVk6IHJzc3NlY3JldCB0Ymwg
+YmFzZSAlZCwgcnNzbnNlY3JldCAlZAoAAAAAAAAAAAAAAAAATUNbJXVdIGluaXRfc3RhdGVfbWFj
+aGluZSAweCUwMngKAAAAAAAAAAAAAAAAAAAATUMgaW5pdGlhbGl6YXRpb24gbm90IGNvbXBsZXRp
+bmcsIE1DIGN1cnJlbnQgaW5pdCBzdGF0ZSBpcyAweCUwMngKAAAAAAAAAAAAAAAAAABNQ1sldV0g
+X2h3X21jX2luaXRfbWMKAAAAAAAAAAAAAF9od19tY19pbml0X21jOiBlcnJvciwgcmV0ICVkCgAA
+X2h3X21jX2luaXRfbWNfZnBnYVsldV06IGVycm9yICVkCgAAAAAAAAAAAAAAAAAAcGh5OiBmYWls
+ZWQgdG8gYWxsb2NhdGVkIG1lbW9yeSBmb3IgcGh5IGZ3IGZpbGUsIHJldCAlZAoAAAAAAAAAAGh3
+X2xlX2ZpbHRlcl9jdHVwbGU6IHR1cGxlICV1IG5vdCBzcGVjaWZpZWQgYnV0IHJlcXVpcmVkIGZv
+ciBtYXNrIDB4JXgKAAAAAAAAAAAAbGUgY29uZmlndXJhdGlvbjogaGFzaCByZWdpb24gdG9vIGxh
+cmdlIHRvIGVuYWJsZSBzZXJ2ZXIgc3JhbQoAAGxlIGNvbmZpZ3VyYXRpb246IGNhbm5vdCBlbmFi
+bGUgc2VydmVyIHNyYW0gd2hlbiBoYXNoIHJlZ2lvbiBpcyBkaXNhYmxlZAoAAAAAAAAAaHdfdHBf
+dGNwX3NldHRpbmdzX3c6IHRpbWVyX3JzICV1dXMgdGltZXN0YW1wX3JlcyAldXVzIGRlbGF5ZWRh
+Y2tfcmVzICV1dXMKAAAAAABod190cF90Y3Bfc2V0dGluZ3NfdzogZGFja190aW1lciAldXVzIG1z
+bCAldXVzIHJ4dF9taW4sbWF4ICV1LCV1dXMgcGVyc19taW4sbWF4ICV1LCV1dXMKAAAAAAAAAABo
+d190cF90Y3Bfc2V0dGluZ3Nfdzoga2VlcF9pZGxlLGludHZsICV1LCV1cyBtYXhydHQgJXV1cyBp
+bml0c3J0dCAldXVzIGZpbndhaXQyX3RpbWVyICV1dXMKAAAAAABod190cF90Y3Bfc2V0dGluZ3Nf
+dzogY2FwcGluZyBkYWNrX3RpbWVyIGZyb20gJXUgdG8gJXUAAAAAAAAAAAAAaHdfdHBfdGNwX3Nl
+dHRpbmdzX3c6IGNhcHBpbmcgbXNsIGZyb20gJXUgdG8gJXUAaHdfdHBfdGNwX3NldHRpbmdzX3c6
+IGNhcHBpbmcgcnh0X21pbiBmcm9tICV1IHRvICV1AAAAAAAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0
+aW5nc193OiBjYXBwaW5nIHJ4dF9tYXggZnJvbSAldSB0byAldQAAAAAAAAAAAAAAAABod190cF90
+Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyBwZXJzX21pbiBmcm9tICV1IHRvICV1AAAAAAAAAAAAAAAA
+aHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgcGVyc19tYXggZnJvbSAldSB0byAldQAAAAAA
+AAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIGtlZXBfaWRsZSBmcm9tICV1IHRv
+ICV1AAAAAAAAAAAAAABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyBrZWVwX2ludHZsIGZy
+b20gJXUgdG8gJXUAAAAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgaW5pdF9z
+cnR0X21heHJ0dCBmcm9tICV1IHRvICV1AAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5n
+IGluaXRfc3J0dF9pbml0c3J0dCBmcm9tICV1IHRvICV1AABod190cF90Y3Bfc2V0dGluZ3Nfdzog
+Y2FwcGluZyBmaW53YWl0Ml90aW1lciBmcm9tICV1IHRvICV1AAAAAAAAZmlsdGVyTW9kZT0lI3gg
+aWxsZWdhbDogc2VsZWN0cyAlZCBiaXRzIChtYXggJWQpCgAAAAAAAAAAAAAAAAAAAGxlIGNvbmZp
+Z3VyYXRpb246IG5lbnRyaWVzICV1IHJvdXRlICV1IGNsaXAgJXUgZmlsdGVyICV1IGFjdGl2ZSAl
+dSBzZXJ2ZXIgJXUgaGFzaCAldQoAAAAAAAAAAAAAAGxlIGNvbmZpZ3VyYXRpb246IG5lbnRyaWVz
+ICV1IHJvdXRlICV1IGNsaXAgJXUgZmlsdGVyICV1IHNlcnZlciAldSBhY3RpdmUgJXUgaGFzaCAl
+dSBuc2VydmVyc3JhbSAldQoAAAAAAAAAAAAAAABod19zZ2VfcXVldWVfYmFzZV9tYXBbJXVdOiBl
+eGNlZWRlZCBudW1iZXIgb2YgZWdyZXNzIHF1ZXVlcywgJXUKAAAAAAAAAAAAAAAAAAAAAGh3X3Nn
+ZV9xdWV1ZV9iYXNlX21hcFsldV06IGV4Y2VlZGVkIG51bWJlciBvZiBpbmdyZXNzIHF1ZXVlcyB3
+aXRoIGZyZWVsaXN0IGFuZCBpbnRlcnJ1cHQsICV1CgAAAGh3X3NnZV9xdWV1ZV9iYXNlX21hcFsl
+dV06IGV4Y2VlZGVkIG51bWJlciBvZiBpbmdyZXNzIHF1ZXVlcywgJXUKAAAAAAAAAAAAAAAAAAAA
+RXJyb3IsIFRvdGFsIFJTUyBTZWNyZXQgdGFibGUgYWxsb2NhdGlvbiAlZCA+IDE2CgAAAAAAAAAA
+AAAAAAAAAHNrdSgweCV4KTogY3VzdG9tIHNrdSA0MEdfU08gZG9lcyBub3Qgc3VwcG9ydCBleHRt
+ZW0KAAAAAAAAAAAAAABza3UoMHgleCk6IGN1c3RvbSBza3UgMTBHIGRvZXMgbm90IHN1cHBvcnQg
+NDBHIHBvcnRzCgAAAAAAAAAAAAAAc2t1KDB4JXgpOiBjdXN0b20gc2t1IDEwR19TTyBkb2VzIG5v
+dCBzdXBwb3J0IDQwRyBwb3J0cygldSkgb3IgZXh0bWVtKCV1KQoAAAAAAABza3U6IGN1c3RvbSBz
+a3UoMHgleCkgNDBHIHBvcnRzKCV1KSBleHRtZW0oJXUpIHN1cHBvcnRlZAoAAAAAAAAAY2ZfcGFy
+c2U6IGZpbGUgbWVtdHlwZSAweCV4IG1lbWFkZHIgMHgleCBtYXBwZWQgQCAlcDoKAAAAAAAAAAAA
+AGNvbmZpZ3VyZWQgd2l0aCBjYXBzIG5ibXxsaW5rIDB4JTA4eCBzd2l0Y2h8bmljIDB4JTA4eCB0
+b2V8cmRtYSAweCUwOHggaXNjc2l8Y3J5cHRvIDB4JTA4eCBmY29lOjB4JXgKAAAAAAAAAAAAAABu
+ZXQgVkkgYWxsb2NhdGlvbiBmYWlsZWQgZm9yIGZjX2lkICV1IHdpdGggZXJyb3IgJWQKAAAAAAAA
+AAAAAAAAbmV0IFZJIG1hYyBhZGRyZXNzIHByb2dyYW1taW5nIGZhaWxlZCBmb3IgZmNfaWQgJXUg
+d2l0aCBlcnJvciAlZAoAAAAAAAAAAAAAAAAAAABuZXQgVkkgcnhtb2RlIHByb2dyYW1taW5nIGZh
+aWxlZCBmb3IgZmNfaWQgJXUgd2l0aCBlcnJvciAlZAoAAAAAbmV0IFZJIHJzcyBpbmRpcmVjdGlv
+biB0YWJsZSBwcm9ncmFtbWluZyBmb3IgZmNfaWQgJXUgZmFpbGVkIHdpdGggZXJyb3IgJWQKAAAA
+AABuZXQgVkkgcnNzIGNvbmZpZyBjb21tYW5kIGZhaWxlZCBmb3IgZmNfaWQgJXUgd2l0aCBlcnJv
+ciAlZAoAAAAAbmV0IFZJIGNvbW1hbmQgZmFpbGVkIGZvciBmY19pZCAldSB3aXRoIGVycm9yICVk
+CgAAAAAAAAAAAAAAAAAAAHByb2dyYW1tZWQgSFcgdGFnbSBbMHglMDh4XSwgSFcgcGdzeiBmYWN0
+b3IgWzB4JTA4eF0sIEZPaVNDU0kgdGFnbSBbMHglMDh4XSwgcnRhZ20gWzB4JTA4eF0sIG1heHN6
+X2JpdHMgWyV1XSwgc3pfYml0cyBbJXVdLgoAAAAAYmFzZSBbIDB4JTA4eF0sIGxsaW1pdCBbMHgl
+MDh4XSwgdWxpbWl0IFsweCUwOHhdLCBzaXplIFsldV0sIG1heF90eHN6IFsldV0sIG1heF9yeHN6
+IFsldV0sIGlvc2l6ZSBbJXVdCgAAAAAAAAAAAG5wcG9kcyBbJXVdLCBpZHhfbWFzayBbMHglMDh4
+XSwgaWR4X2ZpcnN0IFsldV0sIGlkeF9sYXN0IFsldV0sIHNjc2lfcGxkX3NpemUgWyV1XSwgQUxJ
+R04oc2NzaV9wbGRfc2l6ZSwgMTYpIFsldV0sIHBwZF96b25lcyBbJXVdLgoAAAAAAAAAAAAAAAAA
+AGZvaXNjc2lfaW5pdDogaW5pdF9kb25lOiV1LCBmb2lzY3NpX250YXNrczoldSwgZm9pc2NzaV9u
+c2VzczoldSwgbmNzb2NrOiV1LCBuc3BvcnRzOiV1LCBmb2lzY3NpX25pbml0OiV1LCByYzolZAoA
+AAAAAAAAAAAAAAAAAAAAY2hfY2xfcmF0ZVsldS8ldV06IGNhcHBlZCBjbGFzcyByYXRlIGZyb20g
+cmVxdWVzdGVkICV1IHRvIGNvbmZpZ3VyZWQgKGVmZmVjdGl2ZSkgY2hhbm5lbCByYXRlICV1CgAA
+AAAAAAAAAAAAAAAAAGNoX2NsX3JhdGVbJXUvJXVdOiBpbmNyZWFzZWQgZGVmaWNpdF9pbmNyIGZy
+b20gcmVxdWVzdGVkICV1IHRvIHJlcXVpcmVkIG1pbiBvZiAldTsgcmF0ZSAldSAoZWZmICV1KSBk
+ZWZpY2l0X21heCAldQoAAAAAAAAAAAAAAAAAcGt0c2NoZWQgY2hhbm5lbCAldSBzZXRzIHNwZWVk
+IChmcm9tICV1KSB0byAldSBrYnBzCgAAAAAAAAAAAAAAAG5ldF9sMmRldl9ub3RpZnk6IGwyZGV2
+X2ZjLT5mbG93Y19pZCBbMHgleF0sIHBvcnQgWyVkXSwgZXZlbnQgWzB4JXhdLCB1bHB0eGNoIFsl
+dV0sIGNsYXNzIFsweCV4XSwgdnByaW8gWzB4JXhdLCB2aWQgWzB4JXhdLCB2aV9yZWFkeSBbJXVd
+CgAAAAAAAG5ldF9sMmRldl9ub3RpZnk6IHBnaWQgWzB4JXhdLCBwcmlvIFsweCV4XSwgY2ggWzB4
+JXhdCgAAAAAAAAAAAABbJXVdIHVuYWJsZSB0byBleGVjdXRlIGludGVybmFsIERDQl9JRUVFX0NN
+RAoAAABwb3J0WyV1XSBwdHlwZSAldSBsYW5lICV1OiByeGNmZyA9ICUjeAoAAAAAAAAAAABwb3J0
+WyV1XSBwdHlwZSAldSBsYW5lICV1OiB0eGNmZyA9ICUjeAoAAAAAAAAAAABwb3J0WyV1XSBsaW5r
+IGRvd24gKCV1KSAobHN0YXR1cyAlI3gpCgAAAAAAAAAAAABpMmMgZXJyb3IgY2F1c2VkIGJ5IG1v
+ZHVsZSB1bnBsdWcKAAAAAAAAAAAAAAAAAABzZW5kdG8gcGVuZGluZzogd3JfcGVuZCAlcCBmb3Ig
+cG9ydCAldSwgd2FudCB0byBzZW5kIHRvIHBvcnQgJXUKAAAAAAAAAAAAAAAAAAAAAHBvcnRbJXVd
+IHVwZGF0ZSAoZmxvd2NpZCAldSByYyAldSkKAAAAAAAAAAAAAAAAAHBvcnRfc2V0X2xvb3BiYWNr
+IHBvcnQgJSN4IGN1cnJlbnQgJSN4IG1vZGUgJSN4CgAAAAAAAAAAAAAAAAAAAABwb3J0WyV1XSBz
+cGVlZCB1cGRhdGU6ICUjeAoAAAAAAHBvcnRbJXVdIGJlZ2lubmluZyBkZWJvdW5jZQoAAAAAUVNG
+UCBtb2R1bGUgdW5wbHVnIC0gcmVpbml0aWFsaXppbmcgcnhfbG9zICB0byAweGZmCgAAAAAAAAAA
+AAAAAGdwaW9fcXNmcF9tb2R1bGVfdXBkYXRlOiBjaGFuZ2VkIHJ4X2xvcyBmcm9tIDB4JXggdG8g
+MHgleAoAAAAAAABncGlvX3FzZnBfbW9kdWxlX3VwZGF0ZTogY2hhbmdlZCB0eF9kaXMgZnJvbSAw
+eCV4IHRvIDB4JXgKAAAAAAAAZGlzYWJsaW5nIHR4ICUjeCByeCAlI3gKAAAAAAAAAABwb3J0X2xp
+bmtfc3RhdGVfaGFuZGxlclsldV0gcG93ZXJpbmcgZG93bgoAAAAAAABwb3J0X2xpbmtfc3RhdGVf
+aGFuZGxlclsldV0gcG93ZXJpbmcgdXAKAAAAAAAAAABwb3J0X2xpbmtfc3RhdGVfaGFuZGxlclsl
+dV0gdW5rbm93biBzdGF0ZSAoc3RhdGUgPSAlI3gpCgAAAAAAAAAAcG9ydF9saW5rX3N0YXRlX2hh
+bmRsZXI6IFNvbWV0aGluZyB3ZW50IHRlcnJpYmx5IHdyb25nLiByZXQgPSAlZAoAAAAAAAAAAAAA
+AAAAAABod19zZ2VfbWFtZW1faW5pdDogZW5jb3VudGVyZWQgZXJyb3IgJWQKAAAAAAAAAABsZSBp
+bml0aWFsaXphdGlvbjogbmVudHJpZXMgJXUgcm91dGUgJXUgY2xpcCAldSBmaWx0ZXIgJXUgYWN0
+aXZlICV1IHNlcnZlciAldSBoYXNoICV1CgAAAAAAAAAAAABsZSBpbml0aWFsaXphdGlvbjogbmVu
+dHJpZXMgJXUgcm91dGUgJXUgY2xpcCAldSBmaWx0ZXIgJXUgc2VydmVyICV1IGFjdGl2ZSAldSBo
+YXNoICV1IG5zZXJ2ZXJzcmFtICV1CgAAAAAAAAAAAAAAaHdfdHBfaW5pdDogdGNiIHJlZ2lvbiAo
+c3RhcnQgMHglMDhzIHNpemUgJXUpIG11c3QgYmUgaW4gZmlyc3QgMjU2TUIgb2YgTUEgbWVtb3J5
+CgAAAAAAAAAAAAAAAAAAaHdfdHBfaW5pdDogcGdtbmd0IHJlZ2lvbiAoc3RhcnQgMHglMDhzIHNp
+emUgJXUpIG11c3QgYmUgaW4gZmlyc3QgMjU2TUIgb2YgTUEgbWVtb3J5CgAAAAAAAAAAAAAAaHdf
+dHBfaW5pdDogVFAgcGdtbmd0IGluaXRpYWxpemF0aW9uIGRpZCBub3QgY29tcGxldGUKAAAAAAAA
+AAAAAGJ1Zm1faW5pdDogbiAldSBidWZsbDY0aW50X3NpemUgMHgleAoAAAAAAAAAAAAAAGJ1Zm1f
+aW5pdDogbm90IGVub3VnaCBtZW1vcnkgdG8gYWxsb2NhdGUgaW50ZXJuYWwgYnVmbGw2NCBidWZm
+ZXJzCgAAAAAAAAAAAAAAAAAAYnVmbV9pbml0OiBub3QgZW5vdWdoIG1lbW9yeSB0byBhbGxvY2F0
+ZSBidWZsbDY0IGJ1ZmZlcnMKAAAAAAAAAG1lbV9pbml0X2J1Zjogbm90IGVub3VnaCBtZW1vcnkg
+dG8gYWxsb2NhdGUgZmxvdyBidWZmZXJzCgAAAAAAAABtZW1faW5pdF9idWY6IG5vdCBlbm91Z2gg
+bWVtb3J5IHRvIGFsbG9jYXRlIHRjYl9jYWNoZSAob2ZmZXJlZCAldSB0cnlpbmcgdG8gdXNlICV1
+IGF2YWlsYWJsZSAldSkKAAAAAAAAAAAAAAAAAAAAbXBhcnRpdGlvbl9vdGhlcnM6IHN0YXJ0IDB4
+JTA4eCBzaXplICV1ICh1bnVzZWQgJXUpCgAAAAAAAAAAAAAAAG1wYXJ0aXRpb25fb3RoZXJzOiBz
+dGFydCAweCUwOHggc2l6ZSAldSAodW51c2VkICV1KQoAAAAAAAAAAAAAAABtZW1faW5pdDogRURD
+IG92ZXJjb21taXR0ZWQgYnkgJWQgYnl0ZXMKAAAAAAAAAABtZW1faW5pdDogbm90IGVub3VnaCBt
+ZW1vcnkgdG8gYWxsb2NhdGUgZmxvdyB0YWJsZQoAAAAAAAAAAAAAAAAAY3hjbmljX2RldmljZV9p
+bml0OiBjeGNuaWMgWzB4JTB4XSwgY3hjbmljLT5maWx0ZXIgWyUweF0KAAAAAAAAAHBvZmNvZSBp
+bml0IGRvbmUKAAAAAAAAAAAAAAAAAAAAcG9ydF9pbml0WyV1XSBwdHlwZSAweCV4CgAAAAAAAABQ
+b3J0WyV1XTogVW5rbm93biBTR01JSSBzdWItdHlwZSAlI3gKAAAAAAAAAAAAAABQb3J0WyV1XTog
+VW5rbm93biBCVF9YRkkgc3ViLXR5cGUgJSN4CgAAAAAAAAAAAABwb3J0X2luaXRbJXVdOiBwb3J0
+IHR5cGUgMHgleCBpcyBub3Qgc3VwcG9ydGVkCgBtcGFydGl0aW9uX2luaXQ6IG1vdmVkIHBtcnhf
+c3RhcnQgZnJvbSAweCUwOHggdG8gMHglMDh4IHRvIG1ha2Ugcm9vbSBmb3IgTEUgSEFTSCBhbmQv
+b3IgVFAgVENCcwoAAAAAAAAAAAAAAAAAAAAAbXBhcnRpdGlvbl9pbml0OiBtb3ZlZCBwbXJ4X3N0
+YXJ0IGZyb20gMHglMDh4IHRvIDB4JTA4eCAoRURSQU0pCgAAAAAAAAAAAAAAAAAAAABFUSBwZm4g
+JXUgdmZuICV1OiBkZXN0cm95aW5nIGVxaWQgJXUgd2l0aCBwZW5kaW5nIFdSKHMpIChudW1fYnl0
+ZXMgJXUgYW5kIGZsYWdzIDB4JTA4eAoAAAAAAAAAAABsMmRldl9mYy0+Zmxvd2NfaWQgWyV1XSwg
+bDJkYy0+cGZuIFsldV0sIGwyZGMtPnZmbiBbJXVdLCBsMmRjLT5scG9ydCBbJXVdLCBsMmRldl9m
+Yy0+Zmxvd2lkIFsldV0gbDJkYy0+dHhfY2ggWyV1XSwgZGV2LnZwZC5wb3J0dmVjIFsleF0KAAAA
+AAAAAABwb3J0dmVjIFsldV0KAAAAbDJkZXZfdmlfZnNtOiBtYiBbMHgleF0sIGRlZmVycmVkLCBz
+dGF0ZSBbMHgleF0sIHBvcnQgWzB4JXhdCgAAAGwyZGV2X3ZpX2ZzbTogdmlpZCBbMHgleF0gcG9y
+dCBbMHgleF0sIG1hYy1pZCBbJTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMnhdLiAKAAAAAAAA
+AAAAAAAAAAAAAGwyZGV2X3ZpX2ZzbTogc2dlX2VxaWQgWzB4JXhdLCBzZ2VfaXFpZCBbMHgleF0s
+IHNnZV9lcWNyIFsweCV4XSwgcnNzX3N6IFsweCV4XQoAbDJkZXZfdmlfZnNtOiBsMmRldl9mYy0+
+Zmxvd2NfbmV0X2wyZGV2X210dSBbJXVdLCBtYl9zY3JhdGNoIFsweCV4XSwgcG9ydCBbMHgleF0K
+AAAAAAAAAAAAAAAAAAAAbDJkZXZfdmlfZnNtOiB2aWlkIFslZF0sIHZpX2ZjLT5mbG93Y192aV9m
+bGFncyBbMHgleF0KAAAAAAAAAAAAAGwyZGV2X3ZpX2ZzbTogcGZuIFsweCV4XSwgdmZuIFsweCV4
+XSwgbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgbHBvcnQgWzB4JXhdLCB2aWlkIFsweCV4XSwg
+ZmxhZ3MgWzB4JXhdCgAAAAAAAABsMmRldl92aV9mc206IEVycm9yIGZyZWVpbmcgVkksIHJjIFsw
+eCV4XQoAAAAAAABsMmRldl92aV9mc206IHBpZCBbMHgleF0sIHZpaWQgWzB4JXhdLCBtYl9sb2Mg
+WzB4JXhdLCBtYl9vcmlnWzB4JXhdLCBsMmRldl9mbGFncyBbMHgleF0sIHJjIFsweCV4XQoAAAAA
+AAAAAAAAAAAAQWggaGEuLi5kb3VibGUgZnJlZSBveF9pZCAweCV4LCByeF9pZCAweCV4CgAAAAAA
+SG9zdCBQUkxJIFJlc3BvbnNlIHRpbWVkb3V0OiBveF9pZCAweCV4IHJ4X2lkIDB4JXgKAAAAAAAA
+AAAAAAAAAHBmbiAldSB2Zm4gJXUgdmlhIGNvbW1hbmQKAAAAAAAAaHdfaTJjX3RyYW5zYWN0aW9u
+OiBuZGF0YSAldSBhZGRyX29wIDB4JXggZGF0YVswXSAweCV4IGRpZmYgJXUKAGh3X2kyY190cmFu
+c2FjdGlvbjogbmRhdGEgJXUgYWRkcl9vcCAweCV4IHJlZyAweCV4IGRpZmYgJXUgY29udCAldSBm
+YWlsZWQgd2l0aCBlcnIgJWQKAAAAAAAAAAAAAGh3X2kyY190cmFuc2FjdGlvbjogbmRhdGEgJXUg
+YWRkcl9vcCAweCV4IGRhdGFbMF0gMHgleCBkaWZmICV1IGRwb3MgJXUgY29udCAldSBmYWlsZWQg
+d2l0aCBlcnIgJWQKAAAAAAAAAAAAAAAAAABpMmMgdHJhbnNhY3Rpb24gZmFpbGVkIHRvIGNvbXBs
+ZXRlCgAAAAAAAAAAAAAAAABjb25maWd1cmF0aW9uIGZpbGUgcGFyc2VyOiBhZWNfcmV0cnlfY250
+IHZhbHVlICVkIGlzIG5vdCB3aXRoaW4gdGhlIGFsbG93ZWQgbGltaXQgb2YgMSB0byAyNTQuRGlz
+YWJsaW5nIGl0LgoAAAAAY29uZmlndXJhdGlvbiBmaWxlIHBhcnNlcjogYW5fYWVjX3RpbWUgdmFs
+dWUgJWQgaXMgYmlnZ2VyIHRoYW4gYWxsb3dlZCBsaW1pdC5DaGFuZ2luZyBpdCB0byAxMDAwMCBt
+cy4KAAAAAAAAAAAAAERlcHJlY2F0ZWQgY29uZmlnIG9wdGlvbiBmb3VuZCBpbiBjb25maWcgZmls
+ZS4gSWdub3JpbmcuLgoAAAAAAABjb25maWd1cmF0aW9uIGZpbGUgcGFyc2VyOiBwbCB0aW1lb3V0
+IHZhbHVlIGlzIHRvbyBsYXJnZSwgY2hhbmdpbmcgZnJvbSAldSB0byAldXVzZWNzCgAAAAAAAAAA
+AABQTF9QQ0lFX0xJTksuc3BlZWQgb2YgJXUgaXMgbm90IHN1cHBvcnRlZApmaWxlLCByZXQgRldf
+RUlPCgAAAAAAc2NoZWRfaW9xdHhfYnBfcHJpb3JpdHk6IGhhcyAldSBlbnRyaWVzIG9ubHksIHJl
+cXVpcmVzICV1IGVudHJpZXMKAAAAAAAAAAAAAAAAAAB0cF9iYWNrb2ZmOiBwYXJzZWQgJWQgaW5z
+dGVhZCBvZiAldSBlbnRyaWVzCgAAAAB0cF90aW1lcnZhbHM6IHBhcnNlZCAlZCBpbnN0ZWFkIG9m
+ICV1IGVudHJpZXMKAAB0cF90aW1lcnJlczogcGFyc2VkICVkIGluc3RlYWQgb2YgJXUgZW50cmll
+cwoAAAB0cF9tdHVzIGhhcyAldSBlbnRyaWVzIG9ubHksIHJlcXVpcmVzICV1IGVudHJpZXMKAAAA
+AAAAAAAAAAAAAAAAdHBfbXR1c1sldV0gaXMgJXUgYnl0ZXMgd2hpY2ggaXMgbm90IHN1cHBvcnRl
+ZAoAY29uZmlndXJhdGlvbiBmaWxlIHBhcnNlcjogc2dlIHRpbWVyIHZhbHVlWyVkXSBpcyB0b28g
+bGFyZ2UsIGNoYW5naW5nIGZyb20gJXUgdG8gJXV1c2VjcwoAAAAAAAAAZmlsdGVybWFzayAweCV4
+IGlzIG5vdCBlcXVhbC9zdWJzZXQgdG8vb2YgZmlsdGVybW9kZQoAAAAAAAAAAAAAAGh3X2xlX2Ns
+aXBfaGFuZGxlcjogcmVtb3ZlZCBwb3M9JXUgKD1pZHggJXUpCgAAAGh3X2xlX2NsaXBfaGFuZGxl
+cjogYWRkaW5nIHRvIHBvcz0ldSAoPWlkeCAldSkKAHBoeV9pbml0OiBwb3J0ICV1IHdpdGggdGhl
+IHR5cGUgJXUgIGhhdmUgcmV0ICVkCgAAAAAAAAAAAAAAAAAAAABiZWFuL2FlYyBjb21wbGV0ZSAl
+dQoAAAAAAAAAAAAAAGh3X21hY19pbml0X3BvcnRbJXVdLCBwdHlwZSAweCV4LCBzcGVlZCAweCV4
+LCBsYW5lcyAweCV4LCBmZWMgMHgleAoAAAAAAAAAAAAAAAAAbW9kdWxlWyV1XTogcG9ydCBtb2R1
+bGUgaW5zZXJ0ZWQgYW5kIHJlYWR5CgAAAAAAbW9kdWxlWyV1XTogcG9ydCBtb2R1bGUgcmVtb3Zl
+ZAoAAAAAAAAAAAAAAAAAAAAAbW9kdWxlWyV1XTogdW5rbm93biBtb2R1bGUgaWRlbnRpZmllciAw
+eCUwMngKAAAAbW9kdWxlWyV1XTogZ3BpbyAldSB2ZW5kb3IgaWQgJTA2eCwgaWRlbnRpZmllciAw
+eCUwMngsIFNGUDI4KGJ5dGUgMzYvMTkyKSAweCUwMngsIFNGUChieXRlIDMvMTMxKSAweCUwMngs
+IDFHIChieXRlIDYpIDB4JTAyeAoAAABvcHRpY2FsIGxlbmd0aChieXRlIDE1LzE0MikgJXUsIGNv
+cHBlciBjYWJsZShieXRlIDgvMTQ3KSAweCUwMngsIGxlbmd0aChieXRlIDE4LzE0NikgJXUsIG1v
+ZHVsZV90eXBlIDB4JTAyeAoAAAAAbW9kdWxlWyV1XTogZ3BpbyAldSB2ZW5kb3IgaWQgJTA2eCwg
+aWRlbnRpZmllciAweCUwMngsIFNGUDI4KGJ5dGUgMzYvMTkyKSAweCUwMngsIFNGUChieXRlIDMv
+MTMxKSAweCUwMngsIDFHIChieXRlIDYpIDB4JTAyeAoAAABvcHRpY2FsIGxlbmd0aChieXRlIDE1
+LzE0MikgJXUsIGNvcHBlciBjYWJsZShieXRlIDgvMTQ3KSAweCUwMngsIGxlbmd0aChieXRlIDE4
+LzE0NikgJXUsIG1vZHVsZV90eXBlIDB4JTAyeAoAAAAAY3g0X2NyX21vZHVsZV9yeF9sb3NbJXVd
+OiByeF9sb3MgY2hhbmdlZCB0byAldQoATUM6IGV4cGVjdGVkIHN0YXRlIHRvIHN3aXRjaCB0byBD
+RkcuAAAAAAAAAAAAAAAATUM6IGV4cGVjdGVkIHN0YXRlIHRvIHN3aXRjaCB0byBBY2Nlc3MuAAAA
+AAAAAAAATUM6IGV4cGVjdGVkIHN0YXRlIHRvIHN3aXRjaCB0byBDRkcuAAAAAAAAAAAAAAAATUM6
+IGV4cGVjdGVkIHN0YXRlIHRvIHN3aXRjaCB0byBBY2Nlc3MuAAAAAAAAAAAASUkuMS5ieCBkcDE4
+WyV1XSBxWyV1XSAlI3ggJSN4ICUjeCAlI3ggbWluICUjeCBtYXggJSN4CgAAAAAAAAAAAElJLjEu
+Yy1kLiAlI3ggJSN4ICUjeCAlI3ggYWxsICAlI3gKAAAAAAAAAAAAAAAAAElJLjIuYiAoJSN4IC0g
+JSN4ICsgJSN4KSAlIDEyOCA9ICUjeAoAAAAAAAAAAAAAAElJLjMgaW5ld18xZSBhZnRlciBsaW1p
+dCBjb21wdXRlIGl0ZW1wXzFlICV4LCBpbmV3XzFlICV4CgAAAAAAAABJSS4zLiBpdGVtcF8xZSAl
+I3ggaW5ld18xZSAlI3ggaW5ld18xZSAlZAoAAAAAAABJSS40LiBzZXRfMWUgJSN4CgAAAAAAAAAA
+AAAAAAAAAE1DOiBjYWxpYnJhdGlvbiBmYWlsZWQgZm9yIGVycmF0YTI5IGRwMTggJXUKAAAAAElW
+LjEuIGRwMThbJXVdIHBoYXNlX3NlbCBiZWZvcmUgJSN4IGFmdGVyICUjeCwgZ2F0ZV9kZWxheSAl
+I3gKAABNQyBlcnJhdGEyOSBpc3N1ZTogZHAxOCAldSBxdWFkICV1IGNhbm5vdCBiZSBkZWNyZWFz
+ZWQKAAAAAAAAAAAATUMgZXJyYXRhMjkgaXNzdWU6IGRwMTggJXUgcXVhZCAldSBjYW5ub3QgYmUg
+ZGVjcmVhc2VkCgAAAAAAAAAAAE1DIGVycmF0YTI5IGlzc3VlOiBkcDE4ICV1IHF1YWQgJXUgY2Fu
+bm90IGJlIGRlY3JlYXNlZAoAAAAAAAAAAABNQyBlcnJhdGEyOSBpc3N1ZTogZHAxOCAldSBxdWFk
+ICV1IGNhbm5vdCBiZSBkZWNyZWFzZWQKAAAAAAAAAAAAdGVtcDJfMWUrMHgxMCA9ICUjeAoAAAAA
+AAAAAAAAAABNQzogY2FsaWJyYXRpb24gZmFpbGVkIGZvciBlcnJhdGEyMSBpdGVyYXRpb24gJXUK
+AAAAAAAAAAAAAAAAAAAATUMgZXJyYXRhIDIxOiBkcDE4WyV1XSBwcjAgbjAyIGZhaWxlZCB0byBn
+ZXQgYXZlcmFnZQoAAAAAAAAAAAAAAE1DIGVycmF0YSAyMTogZHAxOFsldV0gcHIwIG4xMyBmYWls
+ZWQgdG8gZ2V0IGF2ZXJhZ2UKAAAAAAAAAAAAAABNQyBlcnJhdGEgMjE6IGRwMThbJXVdIHByMSBu
+MDIgZmFpbGVkIHRvIGdldCBhdmVyYWdlCgAAAAAAAAAAAAAATUMgZXJyYXRhIDIxOiBkcDE4WyV1
+XSBwcjEgbjEzIGZhaWxlZCB0byBnZXQgYXZlcmFnZQoAAAAAAAAAAAAAAE1DIGluaXRpYWxpemF0
+aW9uIGZhaWxlZDogREZJIGluaXQgbm90IGdvaW5nIHRvIDAKAAAAAAAAAAAAAAAAAABNQyBpbml0
+aWFsaXphdGlvbiBmYWlsZWQ6IERGSSBpbml0IG5vdCBjb21wbGV0aW5nCgAAAAAAAAAAAAAAAAAA
+TUMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiBDYWxpYnJhdGlvbiBkaWRuJ3QgY29tcGxldGUuCgAA
+AAAAAAAAAERQMTggJXUsIGJ5dGVfbGFuZSAldSwgYml0X3NlbGVjdCAldQoAAAAAAAAAAAAAAERQ
+MTggJXUsIGJ5dGVfbGFuZSAldSwgYml0X3NlbGVjdCAldQoAAAAAAAAAAAAAAE1DIGZhaWxlZCB0
+byBnZXQgVVBDVEwgcG93ZXIgdXAgZG9uZQoAAAAAAAAAAAAAAE1DIGluaXRpYWxpemF0aW9uIGZh
+aWxlZDogRGlkbid0IGdldCBhbGwgRFAxOHMgbG9ja2VkCgAAAAAAAAAAAABNQyBpbml0aWFsaXph
+dGlvbiBmYWlsZWQ6IERpZG4ndCBnZXQgYm90aCBBRFJzIGxvY2tlZAoAAAAAAAAAAAAAQ3VycmVu
+dCBTbGV3IHR4X3JvdyAlZDogdHhfY29sICVkLCB2YWwgJWQKAAAAAAAAQ3VycmVudCBTbGV3IGFk
+ZHJfcm93ICVkOiBhZGRyX2NvbCAlZCwgdmFsICVkCgAATUMgaW5pdGlhbGl6YXRpb24gZmFpbGVk
+OiBTTEVXX0RPTkVfU1RBVFVTIG5ldmVyIHRvZ2dsZWQAAAAAAAAAAHBmbiAldSB2Zm4gJXUgRlNN
+IHN0YXJ0CgAAAAAAAAAAcGZuICV1IHZmbiAldSBGU00gY29tcGxldGUKAAAAAABmbHJfcGZ2Zl9m
+c21bJXU6JXVdOiB1bmtub3duIHN0YXRlICV1CgAAAAAAAAAAAABwZm4gJXUgdmZuICV1IGluIGQz
+aG90LCBpZ25vcmluZywgZDNob3QgMHglMDh4IFBDSUVfU1RBVCAweCUwOHgKAAAAAAAAAAAAAAAA
+AAAAAGh3IHBmIGJpdG1hcCAweCUwMnggdmZpZCBiaXRtYXAgMHglMDh4OjB4JTA4eDoweCUwOHg6
+MHglMDh4CgAAAABhZnRlciB2ZmlkIGZpeHVwLCB2ZmlkIGJpdG1hcCAweCUwOHg6MHglMDh4OjB4
+JTA4eDoweCUwOHgKAAAAAAAATUNbJXVdOiBmYWlsZWQgdG8gc3dpdGNoIGNvbnRyb2xsZXIgdG8g
+Q0ZHIHN0YXRlCgAAAAAAAAAAAAAAAAAAAE1DWyV1XTogZmFpbGVkIHRvIHN3aXRjaCBjb250cm9s
+bGVyIHRvIElOSVRfTUVNIHN0YXRlCgAAAAAAAAAAAABNQ1sldV06IGZhaWxlZCB0byBzd2l0Y2gg
+Y29udHJvbGxlciB0byBDRkcgc3RhdGUKAAAAAAAAAAAAAAAAAAAATUNbJXVdOiBwZXJpb2RpYyBj
+YWxpYnJhdGlvbiBmYWlsZWQgd2l0aCBlcnJvciAldQoAAAAAAAAAAAAAAAAAAHRpbWVyIHF1ZXVl
+ICV1IGxvc3QgYSB0aWNrISBuZXh0ICVwIGxhc3QgJXAgbnVtZSAldQoAAAAAAAAAAAAAAABmbHJf
+dGltZXJfc3RhcnQ6IGZsb3djX2lkICV1ICVwIGJ1ZiAlcAoAAAAAAAAAAABNQUM6IFBMTHMgZGlk
+bid0IGxvY2sKAAAAAAAAAAAAAHBjaWU6IHJlYWQgZnJvbSBzZXJjZmcgcGNpZV9pcF91cl9tYXhm
+dW5jIDB4JXggcGZiaXRtYXAgMHgleAoAAABwY2llOiBTZXJpYWwgQ29uZmlndXJhdGlvbiBTUEFS
+RTMgaGFzIENvb2tpZSBHZW5lcmF0aW9uIGVuYWJsZWQuCgAAAAAAAAAAAAAAAAAAAHBjaWU6IG5w
+ZiAldSAocGZiaXRtYXAgMHglMDJ4KSBudmYgJXUgKHBmIDAuLjcgMHglMDh4JTA4eCkgdmZzdHJp
+ZGUgJXUKAAAAAAAAAAAAaHdfbWFjX3ByZXA6IGVycm9yLCByZXQgJWQKAAAAAABod19ncGlvX3By
+ZXA6IGVycm9yLCByZXQgJWQKAAAAAE1DIENMSyBzZXR0aW5nIGZhaWxlZDogUExMX01fTE9DSyBu
+ZXZlciB0b2dnbGVkCgAAAAAAAAAAAAAAAAAAAABmYWlsZWQgdG8gZmluZCB0aGUgJWMlYyBWUEQg
+cGFyYW1ldGVyCgAAAAAAAAAAAABmYWlsZWQgdG8gcGFyc2UgdGhlICVjJWMgVlBEIHBhcmFtZXRl
+cgoAAAAAAAAAAABtZW1fcHJlcDogZXJyb3IsIHJldCAlZAoAAAAAAAAAAGZhaWxlZCB0byBzdWNj
+ZXNzZnVsbHkgZmluZCBDaGVsc2lvIFZQRAoAAAAAAAAAAHZwZF9wcmVwOiBlcnJvciwgcmV0ICVk
+CgAAAAAAAAAAc2VyY2ZnX3ByZXA6IGVycm9yLCByZXQgJWQKAAAAAABsb2cgaW5pdGlhbGl6ZWQg
+QCAweCUwOHggc2l6ZSAldSAoJXUgZW50cmllcykgZndyZXYgMHglMDh4IHBjaWVfZncgMHglMDh4
+CgAAAAAAAGJvb3RzdHJhcCBmaXJtd2FyZSB0b29rICV1IG1zZWNzIHRvIHJ1bgoAAAAAAAAAAFBJ
+IGVycm9yIGZsb3dpZF9sZW4xNiAweCV4LCBhcHBfdGFnIDB4JXgsIHJlZl90YWcgMHgleCwgcGlz
+YyAlMDR4ICUwNHggJTA0eCAlMDR4CgAAAAAAAAAAAAAAAAAAAGZsb3djICV1IChTR0UgZXFpZCAl
+dSkgKEVUSENUUkwgcXVldWUpIGV4cGVyaWVuY2VkIGEgUENJIERNQSBSRUFEIHdvcmsgcmVxdWVz
+dCBlcnJvciAoaW5ib3VuZCBxdWV1ZSAldSkKAAAAAAAAAABmbG93YyAldSAoU0dFIGVxaWQgJXUp
+IGV4cGVyaWVuY2VkIGFuIHVuZXhwZWN0ZWQgUENJIERNQSBSRUFEIHdvcmsgcmVxdWVzdCBlcnJv
+ciAoaW5ib3VuZCBxdWV1ZSAldSkKAAAAAAAAAAAAAAAAZmxvd2MgJXUgZXhwZXJpZW5jZWQgYW4g
+dW5leHBlY3RlZCBQQ0kgRE1BIFJFQUQgZXJyb3IgKGluYm91bmQgcXVldWUgJXUpCgAAAAAAAABn
+YXRoZXJfdGFza3NfZm9yX3RtZjogaWR4IFsweCV4XSwgdGFzay1pZCBbMHgleF0sIGNtZC1pZCBb
+MHgleF0sIGFjdGl2ZSB0YXNrcyBbMHgleF0uIGNvbm4taWQgWzB4JXhdLCBjbWQgY29ubi1pZCBb
+MHgleF0sIHRhc2sgY29ubi1pZCBbMHgleF0KAABnYXRoZXJfdGFza3NfZm9yX3RtZjogSW52YWxp
+ZCB0eXBlIFsweCV4XSwgYmFpbGluZyBvdXQuCgAAAAAAAAAAZ2F0aGVyX3Rhc2tzX2Zvcl90bWY6
+IHRhc2sgaWQgWzB4JXhdLCBzdGF0ZSBbMHgleF0sIGxpZHggWzB4JXhdLCBjb29raWUgaGkgWzB4
+JTA4eF0gOiBsbyBbMHglMDh4XQoAAAAAAAAAAAAAAAAAAGdhdGhlcl90YXNrc19mb3JfdG1mOiBy
+YyBbMHgleF0sIFsweCV4XSB0YXNrIGdhdGhlcmVkIGZvciB0bWYgdHlwZSBbMHgleF0gcHJvY2Vz
+c2luZy4KAAAAAAAAAAAAAHNjc2lfZGF0YV9vdXQ6IGNvbm5fZmMgWzB4JXhdLCBzdGF0ZSBbMHgl
+eF0sIHNlc3NfZmMgWzB4JXhdIGluIHJlY292ZXJ5LiBTa2lwcGluZyBpc3Rhc2tfZmMgWzB4JXhd
+IGZyb20gVFguCgAAAABzZW5kX21zZ19wbGQ6IGZjIHsgaWQgWzB4JXhdLCBmbGFncyBbMHgleF0s
+IGJ1ZmZlcmVkIFsldV0uIH0KAAAAc2VuZF9tc2dfcGxkOiBzZXNzIHsgaWQgWzB4JXhdIH0sIHVs
+cHR4Y2ggWyV1XSBubyBjcmVkaXRzIGF2YWlsYWJsZSwgcmVzY2hlZHVsaW5nIHJlcXVlc3QuCgAA
+AAAAc2VuZF9hYm9ydF9yZXE6IGNza19mYy0+Zmxvd2NfdHlwZSBbMHgleF0sIGNza19mYy0+Zmxv
+d2NfaWQgWzB4JXhdLCB0aWQgWzB4JXhdLCB1bHB0eGNoIFsldV0sIGJ1ZmZlcmVkIFsldV0KAAAA
+AGZjX3NlbmRfYWxsb2NfY3BsOiBmYWlsZWQgdG8gc2V0dXAgZmlsdGVyIGN0dXBsZQoAAAAAAAAA
+AAAAAAAAAABmY29lX2NvbXB1dGVfY3R1cGxlIDB4JXg6JXgKAAAAAGNvbXB1dGVfY3R1cGxlKCk6
+IGZhaWxlZCB0byBzZXR1cCBmaWx0ZXIgY3R1cGxlCgAAAAAAAAAAAAAAAAAAAABGQ29FIEZDQiBs
+aW5rZG93bjogaW9fcmVxIDB4JXgleCBpcWlkIDB4JXggZmxvd2lkIDB4JXggb3AgMHgleAoAZmNv
+ZSBub3RpZnkgOiBVcGRhdGUgbmV3IERDQlggdmFsdWVzIFZJIHN0YXRlIDB4JXggcHJpIDB4JXgg
+c2NoZWRjbCAweCV4IGRjYnhfZG9uZSAweCV4CgAAAAAAAAAAZmNvZSBub3RpZnkgOiBGQ0YgZmxv
+d2lkIDB4JXgsIHVscGNoIDB4JXggCgAAAAAAZmNvZSBub3RpZnkgOiBGQ29FIExJTktVUDogcG9y
+dCAweCV4LCBldmVudCAweCV4CgAAAAAAAAAAAAAAAAAAAGZjb2Ugbm90aWZ5IDogRkNvRSBMSU5L
+RE9XTjogcG9ydCAweCV4LCBldmVudCAweCV4CgAAAAAAAAAAAAAAAABmY29lIG5vdGlmeSA6IERD
+QlggOiBwb3J0IDB4JXgsIHByaW9yaXR5IDB4JXggdWxwdHhjaCAweCV4IGNsYXNzIDB4JXgKAAAA
+AAAAAAAAAFJERVYgbXNnIGZsb3djOiV4IHN0YXRlIDB4JXggZXZlbnQgMHgleAoAAAAAAAAAAGNh
+bmNlbCBmY2I6JXggc2NiOiV4IHN0YXRlOiV4CgAARkNvRSBGQ0YgdGltZXI6IGZsb3djIHN0YXRl
+IDB4JXgsIHBvcnQgMHgleCAsZmNmIDB4JXgsIGZsb3djX2lkIDB4JXgKAAAAAAAAAAAAAABodyBy
+ZWdpc3RlciBvcGVyYXRpb24gbm90IGNvbXBsZXRpbmcsIHJlZyAweCUwOHggbWFzayAweCUwOHgg
+dmFsdWUgMHglMDh4IChyZWcgMHglMDh4KQoAAAAAAAAAAABNRElPIENMNDU6IGZhaWxlZCB0byBz
+ZXQgdXAgTU1EIGFkZHIKAAAAAAAAAAAAAABNRElPOiBmYWlsZWQgdG8gcmVhZAoAAAAAAAAAAAAA
+AFdyaXRlX2FsbF9wb3J0czogcGlkID0gJXUgcmVnID0gMHgleCAKAAAAAAAAAAAAAE1ESU8gQ0w0
+NTogZmFpbGVkIHRvIHNldCB1cCBNTUQgYWRkcgoAAAAAAAAAAAAAAE1ESU86IGZhaWxlZCB0byB3
+cml0ZQoAAAAAAAAAAAAAbWlpX2Fkdl9mY1sldV06IHJjYXBzIDB4JXgKAAAAAABtaWlfYWR2X3Nw
+ZWVkWyV1XTogcmNhcHMgMHgleAoAAG5ldGlmX3NldF9tYWM6IGwyZGV2X2ZjLT5mbG93Y19uZXRf
+bDJkZXZfbWJzIFsweCV4XQoAAAAAAAAAAAAAAAByZW1vdmluZyBtYWMKAAAAbm9kZS0+Z3JwIFsl
+MDR4ICUwNHggJTA0eCAlMDR4XSwgbm9kZV9pZCAldSwgcmVmX2NudCAldQoAAAAAAAAAAERBRCBm
+b3IgYWRkciBbJTA0eCAlMDR4ICUwNHggJTA0eF0KAAAAAAAAAAAAAAAAAGNwbF90eF9wa3Q6IHZs
+YW5pZCBbMHgleF0KAAAAAAAAY3BsX3R4X3BrdDogdmxhbmlkIFsweCV4XQoAAAAAAABmbG93Y19p
+ZCBbJXVdIGwyZGV2X2ZjIFsweCV4XSBhbHJlYWR5IHJlY2VpdmVkIFJBLCBub3Qgc2VuZGluZyBS
+UwoAAAAAAAAAAAAAAAAAAGZsb3djaWQgWyV1XSBsMmRldl9mYyBbMHgleF0gTm8gSVB2NiByb3V0
+ZXIKAAAAAHNlbmRfY2xvc2VfcmVxOiBjc2tfZmMtPmZsb3djX3R5cGUgWzB4JXhdLCBjc2tfZmMt
+PmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT50Y2Jfc3RhdGUgWzB4JXhdCgAAAHNlbmRfY2xvc2Vf
+cmVxOiBjc2tfZmMtPmZsb3djX3R5cGUgWzB4JXhdLCBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwg
+dGlkIFsweCV4XSwgdWxwdHhjaCBbJXVdLGJ1ZmZlcmVkIFsldV0KAAAAAABvZmxkX3RjcF9kb19h
+Y3RpdmVfY2xvc2U6IGNza19mYyBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tf
+ZmMtPnRjYl9zdGF0ZSBbMHgleF0KAAAAAABvZmxkX3RjcF9kb19hY3RpdmVfY2xvc2U6IGNza19m
+YyBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPnRjYl9zdGF0ZSBbMHgl
+eF0KAAAAAABvZmxkX3RjcF9kaXNjb25uZWN0OiB0Y2JfZmMtPmZsb3djX2lkIFsweCV4XSwgY3Nr
+X2ZjLT5mbG93Y19pZCBbMHgleF0sIGNzay0+dGNiX3N0YXRlIFsweCV4XQoAAABkZWNvZGVfYmFz
+ZTY0X3N0cmluZzogZGxlbiBbJWRdCgAAAAAAAAAAAAAAAAAAAABkZWNvZGVfaGV4X3N0cmluZzog
+ZGxlbiBbJWRdCgAAAGZvaXNjc2lfdmFsaWRhdGVfbG9naW5fc3RhZ2U6IC0gMQoAAAAAAAAAAAAA
+AAAAAGFzeW5jX3BkdTogbG9nb3V0IHJlcXVlc3RlZCBibG9ja2luZyBzZXNzaW9uCgAAAGFzeW5j
+X3BkdTogc2Vzcy9jb25uIGRyb3AgcmVxdWVzdGVkIGJsb2NraW5nIHNlc3Npb24KAAAAAAAAAAAA
+AABjcGxfdHhfcGt0OiB2bGFuaWQgWzB4JXhdCgAAAAAAAHJlaW5pdCBsaW5rLWxvY2FsIGFkZHJl
+c3MKAAAAAAAAbmV0X2wyZGV2X2ZpbmRfYnlfYWRkcjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4
+XSwgbDJkYy0+bHBvcnQgWyV1XSwgbDJkX2ZjLT5mbG93Y19pZCBbMHgleF0sIGwyZGMtPmluNF9k
+ZXYuaW5fYWRkci5hZGRyIFsweCV4XSwgYWRkciBbMHgleF0KAAAAbmV0X2wyZGV2X210dV9jb25m
+aWc6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIG10dSAldQoAAAAAAAAAAGNwbF90eF9wa3Q6
+IHZsYW5pZCBbMHgleF0KAAAAAAAAZW5jb2RlIGhleCBzdHJpbmc6IGRsZW4gWyVkXQoAAABjaG5l
+dF9maW5kX2wydF9lbnRyeTogZGFkZHIgWyUwOHhdLCBbMHglMDh4XSwgbG9jYWwgbmV0d29yayBb
+JWRdCgAAAAAAAAAAAAAAAAAAAGwydGVudCBbJTB4XSwgbDJ0ZW50LT5pZHggWyVkXQoAdGNwX3Nl
+bmRfYW9wZW5fcmVxOiBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19zdGF0
+ZSBbMHgleF0sIGJ1ZmZlcmVkIFsldV0sIHJlc19jbnQgWzB4JXhdLCBpcV9pZHggWzB4JXhdCgAA
+AAAAAAAAAAB0Y3Bfc2VuZF9hb3Blbl9yZXE6IGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tf
+ZmMtPmZsb3djX3N0YXRlIFsweCV4XSwgbm8gdmFsaWQgbDJ0X2VudHkuIERlbGF5aW5nIGFub3Ro
+ZXIgcmV0cnkgZm9yIDEgc2Vjb25kcy4KAAAAAAAAAAAAAAAAAABhb3Blbl9yZXE6IGh3X2xlX2Zp
+bHRlcl9jdHVwbGUgZmFpbGVkCgAAAAAAAAAAAABvZmxkX3RjcF9zZW5kX2FvcGVuX3JlcTogY3Bs
+X3JlcS0+RmlsdGVyX2hpIFsweCUweF0sIGNwbF9yZXEtPkZpbHRlcl9sb19GQ29FTWFzayBbMHgl
+MHhdLCBjdHVwbGVzWzBdIFsweCV4XSwgY3R1cGxlc1sxXSBbMHgleF0KAGxhZGRyX3JldDogbDJk
+Yy5hZGRyIDoweCV4LCBzcmNfYWRkcjoweCV4CgAAAAAAAGl0dF90b190YXNrX2lkeDogdGFnIFsw
+eCUwOHhdLCBoaSBbJXVdLCBsbyBbJXVdLCBubWFza2JpdHMgWyV1XSwgdGFza19pZHggWyV1XQoA
+V0FUQ0hET0c6IE5vIHRlbXBlcmF0dXJlIHNlbnNvciBhdmFpbGFibGUuCgAAAAAAV0FUQ0hET0c6
+IEFjdGl2YXRpbmcKAAAAAAAAAAAAAABXQVRDSERPRyAtIEVuYWJsZSBhY3Rpb24gJXUgdGltZSAl
+dQoAAAAAAAAAAAAAAABXQVRDSERPRyAtIERpc2FibGUgYWN0aW9uICV1CgAAAFdBVENIRE9HOiBE
+ZS1hY3RpdmF0aW5nCgAAAAAAAAAAcG9ydFsldV0gc2V0IFBBVVNFIFBBUkFNUzogcHBwZW4gJXUg
+dHhwZSAlI3ggcnhwZSAlI3gKAAAAAAAAAAAAAG1wc19saW5rX3VwWyV1XSBhY2FwcyAlI3ggKDgw
+Mi4zICUjeCkgKyBscGFjYXBzICUjeCA9PiAlI3gKAAAAAABpcHY2X2hhbmRsZV9saW5rX2Rvd24g
+Zmxvd2NfaWQgMHgleAoAAAAAAAAAAAAAAABpcHY2X2hhbmRsZV9saW5rX3VwIGZsb3djX2lkIDB4
+JXgKAAAAAAAAAAAAAAAAAABmb2lzY3NpIGNvbm5fZmMgWzB4JXhdLCBmbG93Y19zY2hlZGNsIFsw
+eCV4XSwgaW5nX2NoIFsweCV4XSwgZWdyX2NoIFsweCV4XQoAAAAAAGwyZGV2X25vdGlmeSB3aXRo
+IHVua25vd24gZmxhZyBbMHgleF0KAAAAAAAAAAAAAGNoX2NsX3JhdGVbJXUvJXVdOiBjYXBwZWQg
+ZGVmaWNpdF9pbmNyIGZyb20gcmVxdWlyZWQgJXUgdG8gJXU7IHJhdGUgJXUgKGVmZiAldSkgZGVm
+aWNpdF9tYXggJXUKAERDQlg6IHN1bSBvZiByYXRlcyBvbiBhbGwgY2xhc3NlcyBtdXN0IGJlIDEw
+MCAoYWN0dWFsOiAldSkKAAAAAAByaV93cl9pbml0WyV1XTogbXNzICV1IGlzIG5vdCA4LWJ5dGUg
+YWxpZ25lZAoAAABjb3JlX3Byb2dyYW1fdGNiOiB0aWQgJSN4IHRfc3RhdGUgJSN4IHJjdl9hZHYg
+MHglMDh4IHJjdl9zY2FsZSAlI3ggdHhfbWF4ICUjeCByY3Zfbnh0ICUjeCBhdGlkICUjeAoAAAAA
+AAAAAAAAAAAACW9wdDAgJSN4JXggb3B0MiAlI3ggaXB2NiAlI3ggZmxhZ3NfdGltZXIgMHglMDh4
+CgAAAAAAAAAAAAAAAAAAAG9mbGRfY29ubmVjdGlvbl93cjogY29ubmVjdGlvbiB3aXRoIDUtdHVw
+bGUgbHAgMHglMDR4IGZwIDB4JTA0eCBsaXAgMHglMDh4JTA4eCBwaXAgMHglMDh4JTA4eCBmaWx0
+ZXIgMHglMDh4IGV4aXN0cyBAIExFIGluZGV4ICV1CgAAAAAAAAAAAAAAAAAAAG9mbGRfY29ubmVj
+dGlvbl93cjogY29ubmVjdGlvbiB3aXRoIDUtdHVwbGUgbHAgMHglMDR4IGZwIDB4JTA0eCBsaXAg
+MHglMDh4IHBpcCAweCUwOHggZmlsdGVyIDB4JTA4eCBleGlzdHMgQCBMRSBpbmRleCAldQoAAAAA
+AAAAb2ZsZF9jb25uZWN0aW9uX3dyOiBjb25uZWN0aW9uIHdpdGggNS10dXBsZSBscCAweCUwNHgg
+ZnAgMHglMDR4IGxpcCAweCUwOHglMDh4IHBpcCAweCUwOHglMDh4IGZpbHRlciAweCUwOHgKAAAA
+AG9mbGRfY29ubmVjdGlvbl93cjogY29ubmVjdGlvbiB3aXRoIDUtdHVwbGUgbHAgMHglMDR4IGZw
+IDB4JTA0eCBsaXAgMHglMDh4IHBpcCAweCUwOHggZmlsdGVyIDB4JTA4eAoAAAAAAAAAAAAAAABJ
+UUZMSU5UIHBmbiAldSB2Zm4gJXU6IGlxaWQgJXUgdG9vIGxhcmdlIChtYXggJXUpCgAAAAAAAAAA
+AAAAAAAASVFGTElOVCBwZm4gJXUgdmZuICV1OiBpcWlkICV1IG5vdCBhbGxvY2F0ZWQKAAAASVFG
+TElOVCBwZm4gJXUgdmZuICV1OiBmbDBpZCAldSB0b28gbGFyZ2UgKG1heCAldSkKAAAAAAAAAAAA
+AAAAAElRRkxJTlQgcGZuICV1IHZmbiAldTogZmwwaWQgJXUgbm90IGFsbG9jYXRlZAoAAElRRkxJ
+TlQgcGZuICV1IHZmbiAldTogZmwxaWQgJXUgdG9vIGxhcmdlIChtYXggJXUpCgAAAAAAAAAAAAAA
+AABJUUZMSU5UIHBmbiAldSB2Zm4gJXU6IGZsMWlkICV1IG5vdCBhbGxvY2F0ZWQKAABJUUZMSU5U
+IHBmbiAldSB2Zm4gJXU6IGZsMWlkICV1IGlzIHZhbGlkIGJ1dCBub3QgZmwwaWQgJXUKAAAAAAAA
+SVFGTElOVCBwZm4gJXUgdmZuICV1OiBmbDFpZCAldSBpcyB2YWxpZCBidXQgaGVhZGVyIHNwbGl0
+IGZlYXR1cmUgaXMgbm90IGVuYWJsZWQKAAAAAAAAAAAAAAAAAAAAaHdfdWxwdHhfd29ya2Fyb3Vu
+ZF9wcjE2OTQ5X2VuYWJsZWRfdmZpZDogdmZpZCAldSBlbmFibGVkICV1CgAAAEVRIHBmbiAldSB2
+Zm4gJXU6IGNyZWF0aW5nIEVUSCBlcWlkICV1IHdpdGggcGVuZGluZyBXUihzKSAobnVtX2J5dGVz
+ICV1IGFuZCBmbGFncyAweCUwOHgKAAAAAAAAAEVRIHBmbiAldSB2Zm4gJXU6IGNyZWF0aW5nIENU
+UkwgZXFpZCAldSB3aXRoIHBlbmRpbmcgV1IocykgKG51bV9ieXRlcyAldSBhbmQgZmxhZ3MgMHgl
+MDh4CgAAAAAAAEVRIHBmbiAldSB2Zm4gJXU6IGVxaWQgJXUgdG9vIGxhcmdlIChtYXggJXUpCgAA
+AEVRIHBmbiAldSB2Zm4gJXU6IGVxaWQgJXUgbm90IGFsbG9jYXRlZAoAAAAAAAAAAGRjYnhfcG9w
+dWxhdGVfY3RybCBjb2RlIGluY29tcGxldGUKAAAAAAAAAAAAAAAAAHZpX3RjYW1fcmF3IGlkeCAl
+dSBtYWMgMHglMDR4ICUwOHgKAAAAAAAAAAAAAAAAAHBvcnRfYmxpbmtfbGVkX3Jlc3RvcmUKAAAA
+AAAAAAAAcG9ydF9ibGluazogYmxpbmtkdXI9MHgleCBibGlua19yZWZjbnQKAAAAAAAAAAAAcG9y
+dF9ibGluazogCWJsaW5rX3JlZmNudD0weCV4CgBwb3J0X2JsaW5rOiAJYmxpbmtfcmVmY250PTB4
+JXgKAG1paV9hbnJlc3RhcnRbJXVdOiBhY2FwcyAweCV4CgAAcG9ydF9jbWRfaGFuZGxlcjogdW5r
+bm93biB1LmRjYi50eXBlIDB4JXgKAAAAAAAAYmFkIEZsb3dDICVkIG9uIGVzdGFibGlzaGVkIGNv
+bm5lY3Rpb24KAAAAAAAAAAAAZXRoX2Zsb3djX2hhbmRsZXJbMHgleF06IGZsYWdzIDB4JTA4eCBu
+dW1fYnl0ZXMgJXUgc2NoZWRjbCAweCV4IC0+IDB4JXgKAAAAAAAAAAB0YXNrX2lkeF90b19pdHQ6
+IHRhc2tfaWR4IFsldV0sIGhpIFsldV0sIGxvIFsldV0sIG5tYXNrYml0cyBbJXVdLCBzd190YWcg
+WzB4JTA4eF0sIHBwb2RfaWR4IFslZF0KAAAAAAAAAAAAAAAAAAAAc2NzaV9jbWQ6IHJlY2VpdmVk
+IFRNRiBvcCBbMHgleF0gZnVuYyBbMHgleF0gb24gY29ubiBbMHgleF0gdGhyb3VnaCBjb21tYW5k
+IHBhdGguCgAAAAAAAAAAAAAAAAAAc2NzaV9jbWQ6IGNvbm5fZmMgWzB4JXhdLCBzdGF0ZSBbMHgl
+eF0sIHNlc3NfZmMgWzB4JXhdIGluIHJlY292ZXJ5LiBTa2lwcGluZyBpc3Rhc2tfZmMgWzB4JXhd
+IGZyb20gVFguCgAAAAAAAAAAAHNjc2lfcmVhZDogY29ubl9mYyBbMHgleF0sIHN0YXRlIFsweCV4
+XSwgc2Vzc19mYyBbMHgleF0gaW4gcmVjb3ZlcnkuIFNraXBwaW5nIGlzdGFza19mYyBbMHgleF0g
+ZnJvbSBUWC4KAAAAAAAAAABzY3NpX3dyaXRlOiBjb25uX2ZjIFsweCV4XSwgc3RhdGUgWzB4JXhd
+LCBzZXNzX2ZjIFsweCV4XSBpbiByZWNvdmVyeS4gU2tpcHBpbmcgaXN0YXNrX2ZjIFsweCV4XSBm
+cm9tIFRYLgoAAAAAAAAAZGNieF9jb250cm9sX3NtWyV1XSBDT05UUk9MX0xJTktVUAoAAAAAAAAA
+AAAAAAAAZGNieF9jb250cm9sX3NtWyV1XSBDT05UUk9MX1VQREFURV9EQ0JYX1RMVgoAAAAAZGNi
+eF9jb250cm9sX3NtWyV1XSBDT05UUk9MX1BFRVJfTk9UX0FEVkVSVElTRV9EQ0JYCgAAAAAAAAAA
+AAAAAGRjYnhfY29udHJvbF9zbVsldV0gQ09OVFJPTF9VUERBVEVfT1BFUl9WRVJTSU9OCgAAAAAA
+AAAAAAAAAAAAAABkY2J4X2NvbnRyb2xfc21bJXVdIENPTlRST0xfUFJPQ0VTU19QRUVSX1RMVgoA
+AABkY2J4X2NvbnRyb2xfc21bJXVdIENPTlRST0xfQUNLX1BFRVIKAAAAAAAAAAAAAABkY2J4X2ll
+ZWVfdmFsaWRhdGVbJXVdIGVycm9yIChvdWkgJSN4IHN1YnR5cGUgJSN4IGxlbiAlI3gpCgAAAAAA
+ZGNieF9jZWVfdmFsaWRhdGVbJXVdIGVycm9yCgAAAABjaG5ldF9sMnRfdXBkYXRlOiBsMmRldl9m
+YyBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y19pZCBbJXVdIGwyZGV2X2ZjLT5mbG93Y19mbGFncyBb
+MHgleF0sIGludGYgWzB4JXhdCgAAAAAAAAAAAAAAY2huZXRfbDJ0X3VwZGF0ZTogbDJkZXZfZmMt
+PmZsb3djX2lkIFsldV0gYWxyZWFkeSBzY2hlZHVsZWQKAAAAAGNobmV0X2wydF91cGRhdGU6IGlu
+IGRlbGF5ZWRfcHJvY2Vzc2luZywgbDJ0ZW50IFslMDh4XQoAAAAAAAAAAABESENQdjYgUkVQTFkg
+cmVjZWl2ZWQgc3RhdGUgJXUKAGRoY3AgcmVwbHkgcmVjZWl2ZWQgaW4gd3Jvbmcgc3RhdGUgJWQK
+AAAAAAAAAAAAAHVua25vd24gc2VydmVyaWQuIElnbm9yaW5nIGRoY3AgcmVwbHkKAAAAAAAAAAAA
+AHJlY2VpdmVkIHJlcGx5IHdpdGggZGlmZmVyZW50IGFkZHJlc3MuIGlnbm9yaW5nIGRoY3AgcmVw
+bHkKAAAAAABESENQdjYgQURWRVJUSVNFIHJlY2VpdmVkCgAAAAAAAGRoY3AgYWR2ZXJ0aXNlIHJl
+Y2VpdmVkIGluIHdyb25nIHN0YXRlICVkCgAAAAAAAGlnbm9yaW5nIHJjdmQgYWR2ZXJ0aXNlIHBy
+ZWZlcmVuY2UgJXUKAAAAAAAAAAAAAHByZWZpeCBub2RlIDB4JXgsIHZhbGlkX2xpZmV0aW1lICV1
+LCBjdXJyZW50X3RpbWUgJXUgZXhwaXJlZCwgZGVsZXRpbmcgaXQKAAAAAAAARGVsZXRlZCBwcmVm
+aXg6IDB4WyUwNHggJTA0eCAlMDR4ICUwNHhdCgAAAAAAAAAAU3RhcnQgREhDUHY2IHRvIGdldCB0
+aGUgaXAgYWRkcmVzcwoAAAAAAAAAAAAAAAAATm8gZGhjcCwgZGhjcCBzdGF0ZSAlZCwgYWRkciBz
+dGF0ZSAlZAoAAAAAAAAAAAAAcGluZyByZXEgcGF5bG9hZCB0b28gbGFyZ2UgJXUuIElnbm9yaW5n
+IHJlcS4KAAAAUlIgcmN2ZAoAAAAAAAAAAGNobmV0X2lwdjZfcmRfaW5wdXQ6IEludmFsaWQgUmVk
+aXJlY3QKAAAAAAAAAAAAAGNobmV0X2lwdjZfbmFfaW5wdXQ6IEludmFsaWQgTkEKAAAAAAAAAAAA
+AAAAAAAAAGlwdjYgTkEgcmN2ZAoAAABjaG5ldF9pcHY2X25hX2lucHV0OiBEdXBsaWNhdGUgYWRk
+cmVzcyBkZXRlY3RlZCEKAAAAAAAAAAAAAAAAAAAATkEgaW4gcmVwb25zZSBvZiBOUwoAAAAAAAAA
+AAAAAABjaG5ldF9pcHY2X25zX2lucHV0OiBJbnZhbGlkIE5TCgAAAAAAAAAAAAAAAAAAAABjaG5l
+dF9pcHY2X25zX2lucHV0OiBJbnZhbGlkIE5TIGlwdjZoLT5wbGVuICV1CgBpcHY2IE5TIHJjdmQK
+AAAAY2huZXRfaXB2Nl9uc19pbnB1dDogRHVwbGljYXRlIGFkZHJlc3MgZGV0ZWN0ZWQKAAAAAAAA
+AAAAAAAAAAAAAGNobmV0X2lwdjZfbnNfaW5wdXQ6IHNvbWVib2R5IHRyeWluZyB0byB1c2Ugb3Vy
+IGFkZHJlc3MKAAAAAAAAAABjaG5ldF9pcHY2X25zX2lucHV0OiByZXEgZm9yIGFkZHIgcmVzb2x1
+dGlvbgoAAABIb3AgYnkgSG9wIG9wdGlvbgoAAAAAAAAAAAAAAAAAAHByb2Nlc3NfZGhjcF9vcHRz
+OiByb290IHBhdGggbGVuIFslZF0gYnl0ZXMKAAAAAG5ldGlmX3Byb2Nlc3NfZGhjcF9vcHRzOiBs
+MmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBNU0dfVFlQRSBbJWRdLCBkaGN0eHQtPnN0YXRlIFsl
+ZF0KAAAAAAAAAAAAAGljbXBfcmVjdjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgcGlkIFsw
+eCV4XSwgaWNtcCB0eXBlIFsweCV4XQoAAAAAAAAAAAAAAAAAdm4ydm46IHBvcnQgMHgleCBkaWQ6
+MHgleCV4JXggVVAKAAAAAAAAAAAAAAAAAAAAdm4ydm46IHBvcnQgMHgleCBkaWQ6MHgleCV4JXgg
+RE9XTgoAAAAAAAAAAAAAAAAAZmNfc2VuZF9hbGxvY19jcGw6IGZhaWxlZCB0byBzZXR1cCBmaWx0
+ZXIgY3R1cGxlCgAAAAAAAAAAAAAAAAAAAGZjb2VfY29tcHV0ZV9jdHVwbGUgMHgleDoleAoAAAAA
+Y29tcHV0ZV9jdHVwbGUoKTogZmFpbGVkIHRvIHNldHVwIGZpbHRlciBjdHVwbGUKAAAAAAAAAAAA
+AAAAAAAAAGZjb2VfY29tcHV0ZV9jdHVwbGUgdmxhbiAleCB2aWlkICV4IHBvcnQgJXggbXBzX2lk
+eCAleAoAAAAAAAAAAABBQlRTIEFDQyBhd2FpdGluZyBQUkxJIFJzcDogZmxvd2NfaWQgMHgleCBv
+eF9pZCAweCV4IHJ4X2lkIDB4JXggaXFpZCAweCV4CgAAAAAAAHBvcnQgMHgleCwgc3RhdGUgMHgl
+eCwgY29tbWFuZCBmYWlsZWQgcmV0cmllcyAweCV4CgAAAAAAAAAAAAAAAABhcnBfcmVjdjogaXBp
+ZCBbMHgleF0sIGluX2FkZHIuYWRkciBbMHgleF0sIHNpcCBbMHgleF0sIHJpcCBbMHgleF0sIGFy
+cF9vcCBbMHgleF0KAAAAAAAAAAAAAAAAAABjaG5ldF9hcnBfcmVjdjogaXAgY29uZmxpY3QgZGV0
+ZWN0ZWQKAAAAAAAAAAAAAABjaG5ldF9hcnBfcmVjdjogcGlkIFsldV0sIHZsYW4gWzB4JXhdLCBh
+cnAgb3AgWzB4JXhdLCBzaXAgWzB4JXhdLCByaXAgWzB4JXhdCgAAAGNobmV0X2lwdjZfcmVjdjog
+dmxhbiBleHRyYWN0ZWQsIHZsYW5pZCBbJXVdLCBsMmRldl9mYy0+Zmxvd2NfbmV0X2wyZGV2X3Zs
+YW5kZXYgWzB4JXhdCgAAAAAAAAAAAEludmFsaWQgZGF0YSBsZW5ndGggZGxlbiAldSwgcGFja2V0
+IGluZGljYXRlcyAldSBieXRlcwoAAAAAAAAAAABVbmtub3duIElQdjYgbnh0IHByb3RvY29sICV1
+CgAAAGNzb2NrX2ZyZWU6IHNpemVvZihjc2tfZmMtPnUuY3NvY2spIFsldV0sIGJ5dGVzCgAAAAAA
+AAAAAAAAAAAAAABHb3QgQ09OTl9FWElTVCBmb3IgeGlkOjB4JXgsIHRhZzoweCV4LCByZXRyeWlu
+Zy4KAAAAAAAAAAAAAAAAAAAAY3NvY2tfcGVlcl9jbG9zZTogY3NrX2ZjLT5mbG93Y19pZCBbMHgl
+eF0sIHRjYl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwg
+dGNiX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0KAAAAAABjc29ja19wZWVyX2Nsb3NlOiBjc2tfZmMt
+PmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19zdGF0ZSAgWzB4JXhdCgAAAAAAAAAAAHRj
+cF9jbHNfYWJydF9ycGw6IHRjYiB0aWQgWzB4JTA2eF0sIGZsb3djX3R5cGUgWzB4JXhdLCBjcGxv
+cCBbMHgleF0gZmxvd2Nfc3RhdGUgMHgleAoAAAAAAAAAAAAAAGNoX3JhdGVbJXVdOiBjYXBwZWQg
+dGljayBmcm9tIHJlcXVpcmVkICV1IHRvIHN1cHBvcnRlZCAldTsgcmF0ZSAldSAoZWZmICV1KSBk
+ZWZpY2l0X2luY3IgJXUgdGljayAldQoAAAAAAAAAAAAAAABwa3RzY2hlZF9jaF9ybFsldV06IGNo
+YW5uZWwgcmwgbm90IGF2YWlsYWJsZSBpbiBjb25qdW5jdGlvbiB3aXRoIGZsb3cgc2hhcGluZwoA
+AHBrdHNjaGVkX2NoX3JsWyV1XTogcmF0ZSAldSBtYXggJXUKAAAAAAAAAAAAAAAAAHBrdHNjaGVk
+X2NsX3dyclsldToldV06IHdlaWdodCAldQoAAAAAAAAAAAAAAAAAAGVxX3BhcmFtc1sweCV4OjB4
+JXhdOiBkbWFxIDB4JXggcmVhZCAldSBwZiAldSBlcWlkX2FwaSAldSByZXQgJWQKAAAAAAAAAAAA
+AAAAAAAAd2FpdF9mb3JfY2FsaWJfZG9uZTogcmV0ICVkIGluICV1IGF0dGVtcHRzCgAAAAAAaHdf
+bWFfYWRkcl90b19tZW1fdHlwZV9vZmY6IE1BIGFkZHJlc3MgMHglMDh4IGlzIG5vdCBtYXBwZWQK
+AAAAAGh3X21hX2FkZHJfdG9fbWVtX3R5cGVfb2ZmOiBNQSBhZGRyZXNzIDB4JTA4eCBtYXBzIHRv
+IHR5cGUgJXUgb2Zmc2V0IDB4JXgKAAAAAAAAbWVtX21hbGxvY190ZW1wOiBmYWlsZWQgdG8gYWxs
+b2NhdGUgJXUgYnl0ZXMsIHJldHVybmluZyBOVUxMCgAAAG1lbV9tYWxsb2M6IGZhaWxlZCB0byBh
+bGxvY2F0ZSAldSBieXRlcywgcmV0dXJuaW5nIE5VTEwKAAAAAAAAAABsZSBjb25maWd1cmF0aW9u
+OiBoYXNoIG1vZGUgcmVxdWlyZXMgYXQgbGVhc3QgMTYgZW50cmllcywgbmhhc2ggJXUKAAAAAAAA
+AAAAAAAAAGxlIGNvbmZpZ3VyYXRpb246IGhhc2ggbW9kZSByZXF1aXJlcyBhdCBlbnRyaWVzIHRv
+IGJlIGEgcG93ZXIgb2YgMiwgbmhhc2ggJXUKAAAAbGUgY29uZmlndXJhdGlvbjogcmVxdWVzdGVk
+ICV1IHRjYW0gZW50cmllcyBidXQgb25seSAldSBhdmFpbGFibGUgKG5yb3V0ZSAldSBuY2xpcCAl
+dSBuZmlsdGVyICV1IG5zZXJ2ZXIgJXUKAAAAAGxlIGNvbmZpZ3VyYXRpb246IHRjYW0gcmVnaW9u
+cyBtdXN0IGhhdmUgbXVsdGlwbGUgb2YgMzIgZW50cmllcywgbnJvdXRlICV1IG5jbGlwICV1IG5m
+aWx0ZXIgJXUgbnNlcnZlciAldQoAAAAAAABod190cF90Y3BfdHVuaW5nczogdHVuaW5nIGZvciBj
+bHVzdGVyIGVudmlyb25tZW50CgAAAAAAAAAAAAAAAAAAaHdfdHBfdGNwX3R1bmluZ3M6IHR1bmlu
+ZyBmb3IgTEFOIGVudmlyb25tZW50CgAAaHdfdHBfdGNwX3R1bmluZ3M6IHR1bmluZyBmb3IgV0FO
+IGVudmlyb25tZW50CgAAaHdfdHBfdGNwX3R1bmluZ3M6IG1hbnVhbCB0dW5pbmcKAAAAAAAAAAAA
+AAAAAAAAX2h3X2NpbV9mbGFzaF9tZW1jcHk6IG1lbWNweVggc3RhcnQKAAAAAAAAAAAAAAAAX2h3
+X2NpbV9mbGFzaF9tZW1jcHk6IGRzdCAweCUwOCBvZmZzZXQgMHglMDh4IHNpemUgJXUsIHdpZHRo
+IG9mICV1IGlzIG5vdCBzdXBwb3J0ZWQKAAAAAAAAAAAAAAAAX2h3X2NpbV9mbGFzaF9tZW1jcHk6
+IG1lbWNweVggZW5kCgAAAAAAAAAAAAAAAAAAY29uZmlndXJhdGlvbiBmaWxlIHBhcnNlciBlbmNv
+dW50ZXJlZCBlcnJvciBAIGxpbmUgJXU6CgAAAAAAAAAAAEhPU1QgUEFHRV9TSVpFIFsweCUwbHhd
+IHRvbyBzbWFsbCwgbWluIFsweCUwbHhdIHJlcXVpcmVkCgAAAAAAAABwYWdlIHNpemUgWyVsdV0g
+bWlzbWF0Y2gKAAAAAAAAAFBBR0Ugc2l6ZSAlbHUgdW5zdXBwb3J0ZWQsIGRkcCBkaXNhYmxlZAoA
+AAAAAAAAAEhvc3QgcGFnZV9zaXplICVsdSwgZGRwX2lkeCAldQoARkNvRSBERFAgaW5pdDogZmNv
+ZSBsbGltaXQgMHgleCwgZmNvZSB1bGltaXQgMHgleCBnYmwgbGxpbWl0IDB4JXggZ2JsIHVsaW1p
+dCAweCV4IHBjYnN6ICV4CgAAAAAARkNvRSBERFAgaW5pdDogZmNvZSBwcG9kIG9mZiAweCV4LCBm
+Y29lIHN0IHBwb2QgYWRkciAweCV4IGZjb2UgbnVtIHBwb2RzIDB4JXgKAABmY29lIHhjaGcgbWdy
+IGluaXQ6IE51bWJlciBvZiBleGNoYW5nZXMgZm9yIEZDb0UgaXMgJXgKAAAAAAAAAAAAZmNvZV9s
+MnRfaW5pdDogTm8gdWxwdHggY3JlZGl0IGNoOlsldV0KAAAAAAAAAAAAZmNvZV9sMnRfaW5pdDog
+Y2g6WyV1XSBsMnRfaWR4IFsldV0KAAAAAAAAAAAAAAAAbm8gbDJ0IGVudHJpZXMgY29uZmlndXJl
+ZDsgZm9yY2luZyAldSBlbnRyaWVzLCBzdGFydGluZyBhdCAldQoAAGRjYnhfaWVlZV9jb25zdHJ1
+Y3RbJXVdIGV0cyAldSBwZmMgJXUgYXBwICV1CgAAAGRjYnhfdGltZW91dFsldV0KAAAAAAAAAAAA
+AAAAAAAAZGNieF9ydW5fdmVyc2lvbl9zbVsldV0gRENCWF9WRVJfU1RBVEVfUlVOX0lFRUUKAAAA
+AAAAAAAAAAAAAAAAAGRjYnhfcnVuX3ZlcnNpb25fc21bJXVdIERDQlhfVkVSX1NUQVRFX1JVTl9D
+RUUKAGRjYnhfcnVuX3ZlcnNpb25fc21bJXVdIERDQlhfVkVSX1NUQVRFX1JVTl9OT05FCgAAAAAA
+AAAAAAAAAAAAAABNQUMgZmFpbGVkIHRvIHJlc3luYyB0eAoAAAAAAAAAAHBvcnRbJXVdIGxpbmsg
+dXAgKCV1KSAoc3BlZWQgJSN4IGFjYXBzICUjeCBscGNhcHMgJSN4KQoAAAAAAAAAAABwb3J0X2hz
+c19zaWdkZXRbJXVdOiBoc3Nfc2lnZGV0IGNoYW5nZWQgdG8gMHgleAoAAAAAAAAAAAAAAAAAAAAA
+cG9ydFsldV0gaW5pdGlhbGl6aW5nIEtSCgAAAAAAAABDYWxjdWxhdGlvbiBvdXQgb2YgYm91bmRz
+IGZ1cmluZyBpbml0OiAlI3ggJSN4ICUjeAoAAAAAAAAAAAAAAAAAX2h3X3RwX3BnbW5ndDogdHhf
+cGFnZV9tYXggJXUgcnhfcGFnZV9tYXggJXUgcHN0cnVjdHMgJXUgc2l6ZSAldQoAAAAAAAAAAAAA
+AAAAAABtcGFydGl0aW9uX290aGVyc190b3RhbDogZGRwICV1IGRkcF9pc2NzaSAldSBzdGFnICV1
+IHBibCAldSBycSAldSBycXVkcCAldSAtPiAldQoAAAAAAAAAAAAAAAAAAABfbXBhcnRpdGlvbl9i
+YW5rc19tY1g6IG5iYW5rc19wbXR4ICV1ICgldU1CKSBuYmFua3NfcG1yeCAldSAoJXVNQikgbmJh
+bmtzX290aGVycyAldSAoJXVNQikgbmJhbmtzX2Z3ICV1ICgldU1CKQoAX21wYXJ0aXRpb25fYmFu
+a3NfbWMxOiBuYmFua3NfcG10eCAldSAoJXVNQikgbmJhbmtzX290aGVycyAldSAoJXVNQikgbmJh
+bmtzX2Z3ICV1ICgldU1CKQoAAAAAAAAAX21wYXJ0aXRpb25fYmFua3NfbWMwOiBuYmFua3NfcG1y
+eCAldSAoJXVNQikgbmJhbmtzX290aGVycyAldSAoJXVNQikKAAAAAAAAAAAAAABtZW1fbWFsbG9j
+X2ludGVybmFsOiBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMsIHJldHVybmluZyBOVUxMCgAA
+AAAAAAAAAAAAAAAAAGh3X2VkY19iaXN0WyV1XTogYmlzdF9jbWRbMHglMDh4XSBhZGRyIDB4JXgg
+bGVuIDB4JXgKAAAAAAAAAAAAAABod19lZGNfYmlzdFsldV06IGRvbmUsIGVuY291bnRlcmVkICV1
+IGVycm9ycyBvbiBmaXJzdCBhbmQgJXUgZXJyb3JzIG9uIHNlY29uZCBhdHRlbXB0ICgldWdicHMp
+CgBtZW1faW5pdF9jYWNoZXM6IGNhY2hlX3NpemUgJXUgZmxvd2NfYnVmX3RjYl9jYWNoZV9zaXpl
+ICV1IGJ1ZmxsNjRfY2FjaGVfc2l6ZSAldQoAAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX3BtdHg6
+IG0gMHglMDh4IHNpemUgJXUKAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX3Btcng6IG0gMHglMDh4
+IHNpemUgJXUKAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX2VkYyAobm8gZXh0bWVtKTogbSAweCUw
+OHggc2l6ZSAldQoAAABtcGFydGl0aW9uX2VkY19lc3RpbWF0ZTogaHcgbW9kdWxlcyByZXF1aXJl
+ICVkIGJ5dGVzIGluIEVEQwoAAAAAVGVtcGVyYXR1cmUvVm9sdGFnZSBTZW5zb3I6IENvcmUgY2xv
+Y2sgJXUgPiAldTsgY2FwcGluZyB0byBzdGF5IGluIGNvbXBsaWFuY2Ugd2l0aCBoYXJkd2FyZS4K
+AAAAY2huZXRfYnllOmwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y19w
+Y2llX3BmbiBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y19wY2llX3ZmbiBbMHgleF0sIHBvcnQgWzB4
+JXhdCgAAAAAAAAAAAAAAAABjaG5ldF9ieWU6dmxhbmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCB2
+bGFuZGV2X2ZjLT5mbG93Y19wY2llX3BmbiBbMHgleF0sIHZsYW5kZXZfZmMtPmZsb3djX3BjaWVf
+dmZuIFsweCV4XSwgcG9ydCBbMHgleF0KAAAAAAAAAGZvaXNjc2lfY29yZV9ieWU6IGFjdGl2ZSBz
+ZXNzX2NudCAlZAoAAAAAAAAAAAAAAGh3X21hY19hZWNfY29tcGxldGVbJXVdIG9uIGxhbmVzICUj
+eCAoc2lnZGV0ICUjeCksIHR4X2xhbmVzICUjeAoAAAAAAAAAAAAAAAAAAAAAYWVjX2ZzbVsldV0g
+OiBzdGF0ZSBTVEFSVCAoc2lnZGV0ICUjeCkKAAAAAAAAAAAAYWVjX2ZzbVsldV0gOiB0cmFuc2l0
+aW9uaW5nIHRvIFRSQUlOSU5HCgAAAAAAAAAAYWVjX2ZzbVsldV0gOiBUUkFJTklOR19DT01QTEVU
+RQoAAAAAAAAAAAAAAAAAAAAAYWVjX2ZzbVsldV0gOiBMb2NhbCBmYXVsdCB3aGlsZSB3YWl0aW5n
+IGZvciBsaW5rIHN0YXR1cyAweCV4IDogMHgleAoAAAAAAAAAAAAAAABhZWNfZnNtWyV1XSA6IFJl
+bW90ZSBmYXVsdCB3aGlsZSB3YWl0aW5nIGZvciBsaW5rIHN0YXR1cyAweCV4CgAAYWVjX2ZzbVsl
+dV0gOiBSZW1vdGUgZmF1bHQgY2xlYXJlZCB3aGlsZSB3YWl0aW5nIGZvciBsaW5rIHN0YXR1cyAw
+eCV4CgAAAAAAAAAAAABhZWNfZnNtWyV1XSA6IERPTkUKAAAAAAAAAAAAAAAAAGFlY19mc21bJXVd
+IHRpbWVkIG91dCB0cmFpbmluZyBGU01fU1RBVEVfMCAweCV4LCBfMSAweCV4IF8yIDB4JXggXzMg
+MHgleCwgTGluayBTdGF0dXMgMHgleAoAAAAAAGJlYW5fZnNtWyV1XSA6IHN0YXRlIFNUQVJUIChj
+b3VudCA9ICV1KQoAAAAAAAAAAGJlYW5fZnNtWyV1XSA6IGVudGVyaW5nIHN0YXRlIFdBSVRfU0lH
+REVUCgAAAAAAAGJlYW5fZnNtWyV1XSA6IGVudGVyaW5nIHN0YXRlIEJBU0VQX0hBTkRMRQoAAAAA
+AGJlYW5fZnNtWyV1XSA6IGVudGVyaW5nIHN0YXRlIFdBSVRfQ09NUExFVEUKAAAAAGJlYW5fZnNt
+WyV1XSA6IERMIDQwRyBOZWdvdGlhdGlvbiBFcnJvciAtIEF0dGVtcHRpbmcgdG8gY29udGludWUK
+AAAAAAAAAAAAAAAAAAAAYmVhbl9mc21bJXVdIDogc3RhdGUgRE9ORQoAAAAAAABiZWFuX2ZzbVsl
+dV0gOiBzdGF0ZSBSRVNUQVJUMQoAAGJlYW5fZnNtWyV1XSA6IHN0YXRlIFJFU1RBUlQyCgAAYmVh
+bl9mc21bJXVdIDogc3RhdGUgUkVTVEFSVDMKAABiZWFuX2ZzbVsldV0gVElNRU9VVDsgc3RhdGUg
+JXUgZXRoX3N0YXR1cyAlI3ggYmVhbl9zdGF0dXMgJSN4IGhzcyBzaWdkZXQgJSN4IHJldHJ5X2Nu
+dCAldQoAAAAAAABod19tYWNfbGlua19zdGF0dXNbJXVdIGludF9jYXVzZSAweCV4LCBsaW5rX3N0
+YXR1cyAweCV4CgAAAAAAAAAAcG9ydCAldSBjaGFuZ2luZyBzcGVlZCB0byAxRwoAAABwb3J0ICV1
+IG5lZ290aWF0ZWQgdW5zdXBwb3J0ZWQgc3BlZWQgJSN4CgAAAAAAAABiZWFuL2FlYyBjb21wbGV0
+ZSAocmV0cnk6ICV1KQoAAHBvcnRbJXVdIHJlc2V0dGluZyBLUgoAAAAAAAAAAAAAcG9ydCAldSBu
+ZWdvdGlhdGVkIHVuc3VwcG9ydGVkIHNwZWVkICUjeAoAAAAAAAAAYmVhbi9hZWMgY29tcGxldGUg
+KHJldHJ5OiAldSkKAABSYW5nZSBjYWxjOiBBdmVyYWdlZCAlI3ggYnV0IGlnbm9yZWQgdmFsdWUg
+JSN4IChpdGVyYXRpb24gJXUpCgAATUMgY2FsaWJyYXRpb24gZmFpbGVkOiBERkkgaW5pdCBub3Qg
+Z29pbmcgdG8gMAoATUMgY2FsaWJyYXRpb24gZmFpbGVkOiBERkkgaW5pdCBub3QgY29tcGxldGlu
+ZwoATUMgY2FsaWJyYXRpb24gZmFpbGVkOiBDYWxpYnJhdGlvbiBkaWRuJ3QgY29tcGxldGUuCgAA
+AAAAAAAAAAAAAE1DIGNvbW1hbmQgZmFpbGVkIHRvIGNvbXBsZXRlKG9wY29kZSAlI3ggY2FkZHIg
+JSN4IGJhZGRyICUjeCBkZWxheSAlZCkKAAAAAAAAAAAAcGZuICV1IHZmbiAldSBjb21wbGV0ZSBp
+bW1lZGlhdGUKAAAAAAAAAAAAAAAAAAAAcGZuX2JpdG1hcCAweCV4CgAAAAAAAAAAAAAAAAAAAABi
+YWQgbWFpbGJveCBjbWQ6IHBmbiAweCV4IHZmbiAweCV4OyBvcGNvZGUgMHgleCA+IExBU1RDMkUg
+MHgleAoAbWFpbGJveCBjbWQgbm90IHlldCBzdXBwb3J0ZWQ6IHBmbiAweCV4IHZmbiAweCV4OyBv
+cGNvZGUgMHgleAoAAGJhZCBtYWlsYm94IGNtZDogcGZuIDB4JXggdmZuIDB4JXg7IG9wY29kZSAw
+eCV4IGlzIHZhbGlkIHBvc3QgZGV2aWNlIGluaXQgb25seQoAYmFkIG1haWxib3ggY21kOiBwZm4g
+MHgleCB2Zm4gMHgleDsgb3Bjb2RlIDB4JTAyeCByYW1hc2sgMHgleCBjbWQgcmFtYXNrIDB4JXgK
+AABiYWQgbWFpbGJveCBjbWQ6IHBmbiAweCV4IHZmbiAweCV4OyBvcGNvZGUgMHglMDJ4IGxlbjE2
+IDB4JXggdmVyc3VzIGV4cGVjdGVkIGxlbjE2IDB4JXgKAAAAAAAAAABpbnN1ZmZpY2llbnQgY2Fw
+cyB0byBwcm9jZXNzIG1haWxib3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgcl9jYXBzIDB4JXgg
+d3hfY2FwcyAweCV4IHJlcXVpcmVkIHJfY2FwcyAweCV4IHdfY2FwcyAweCV4CgAAAAAAAAAAAGlu
+c3VmZmljaWVudCBjYXBzIHRvIHByb2Nlc3MgbWFpbGJveCBjbWQ6IHBmbiAweCV4IHZmbiAweCV4
+OyByX2NhcHMgMHgleCB3eF9jYXBzIDB4JXggcmVxdWlyZWQgcl9jYXBzIDB4JXggd19jYXBzIDB4
+JXgKAAAAAAAAAAAAZG93bmxvYWRfc3JhbTogZXJyb3IsIHJldCAlZAoAAABkb3dubG9hZF90Y2Ft
+OiBlcnJvciwgcmV0ICVkCgAAAGh3X3Bvd2VyX3ByZXA6IFZERD1OT05FIGJ1dCBWQ1M9JWQKAAAA
+AAAAAAAAAAAAAGh3X3Bvd2VyX3ByZXA6IHVuc3VwcG9ydGVkIGV4dGVybmFsIGFkanVzdGFibGUg
+cG93ZXIgcmVndWxhdG9ycyBWREQ9JWQsIFZDUz0lZAoAaHdfcG93ZXJfcHJlcDogdW5zdXBwb3J0
+ZWQgVkREPSVkCgAAAAAAAAAAAAAAAAAAaHdfcG93ZXJfcHJlcDogdW5zdXBwb3J0ZWQgVkNTPSVk
+CgAAAAAAAAAAAAAAAAAAaHdfcG93ZXJfcHJlcDogaTJjIHdyaXRlIGVycm9yLCBWREQ9JWQscmV0
+PSVkCgAAaHdfcG93ZXJfcHJlcDogdW5zdXBwb3J0ZWQgVkREPSVkCgAAAAAAAAAAAAAAAAAAaHdf
+cG93ZXJfcHJlcDogaTJjIHdyaXRlIGVycm9yLCBWQ1M9JWQscmV0PSVkCgAAaHdfcG93ZXJfcHJl
+cDogdW5zdXBwb3J0ZWQgVkNTPSVkCgAAAAAAAAAAAAAAAAAAVlBEIHJlZ2lvbiBpcyB0b28gc21h
+bGwgKFNFUkNGR19TUl9QRk5WUERTSVpFIDB4JXgpCgAAAAAAAAAAAAAAAGNmX3ByZXA6IGVycm9y
+LCByZXQgJWQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCAAABIAAAAAAAAACCAAABAAAAAAAAAACAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgIAAAAAAAAAAAAAAAACAAAAAAAAAAAAHAAAA
+AAAAAAAAAAABAAAAABAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAIAQAwAAAAAAAAgAAAAA
+AgAAAAAAAAAAACAAAAAAAAAAAAAAAAEAA4AAAAAAAAAAAAAAAgAAAAAAAAAAACADgAAAAAAAAAAA
+ABACgACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAA
+AAAAAIAAAoAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAoAA
+AAAAAAAAAAEAAwAAAAAAAAAAAAACgwAAAAAAAAAAABACgAAAAAAAAAAAADAAAwAAAAAAAAgAADAA
+AwAAAAAAAAAAADAFgwAAAAAAAAgAADAFgwAAAAAAAAAAADAEgwAAAAAAAAgAADAEgwAAAAAAAAAA
+ADADAwAAAAAAAAgAADADAwAAAAAAAAAAADgDAwAAAAAAAAAAADgFgwAAAAAAAAAAADgEgwAAAAAA
+AAAAADgAAwAAAAAAAAAAADQGggAAAAAAAAAAADwDggAAAAAAAAAAADwAAwAAAAAAAAgAADwAAwAA
+AAAAAAAAADwEgwAAAAAAAAAAADwFAwAAAAAAAAAAAD0EAwAAAAAAAAAAADwDgwAAAAAAAAAAACwA
+AgAAAAAAAAAAACwFggAAAAAAAAAAACwFAgAAAAAAAAAAABAGgAAAAAAAAAAAABAGgoAAAAAAAAAA
+AAAOggAAAAAAAAAAABAHgoAAAAAgAAAAAAAHggAAAAAgAAAAABAHAoAAAAAAAAAAABAHAoAAAAAA
+AAAAABAHAoAAAAAAAAAAAAAHAgAAAAAgAAAAABAXgwAAAAAAAAgAABAXgwAAAAAAAAgAABAAAAAA
+AAAAAAAAABAGA4AAAAAAAAAAAAAOAwAAAAAAAAAAABAGA0AAAAAAAAAAABAGAwAAAAAAAAAAABAG
+AAAAAAAAAAAAAAAGA4AAAAAAAAAAAAAGAwAAAAAAAAAAAAAOAgAAAAAAAAAAAAAOAgAAAAAAAAAA
+ABAGAgAAAAAAAAAAABAGAgAAAAAAAAAAABAGAoAAAAAAAAAAABAGAoAAAAAAAAAAAAAAAgAAAAAA
+AAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAQAwAAAAAAAAgAAAAAAAAA
+AAAAAAAAAP//////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+/////////////////////////////wAAACAAAAAAwAAAAAAAACAAAAAA4AAAAAAAAAACAAAAAAAA
+AEAAAAAAAAAAAAAAAAAAASEAAAAAAAAAAAABASAAAAAAAAAAAAAAAgAAAAQABAAAAAAAgUAAAAAA
+AAAAAAAGgAAABAAAAAAAAACAAEAAAAAAAAIAAACAACAAAAAAAAIAAAiAAAAAAABAAAAAAgEAQAAA
+AAAAAAAAAAEAQgAAAAAAAAAAAAAAIAAAAAAAAAAAAAIQIAAAAAAAAAAAAAIMAgAAAAAAAAAAAACF
+AgAAAAQAAAAAAACAQgAAAAAAAAAAAICAQgBAAAAAAAAAAICAQgAAAAAAAAAAAAIAIgAAAAAAAAAA
+AACAQQAAAAAAAAAAAICAQQAAAAAAAAAAAACAQYAAAAAAAAAAAICAQYAAAAAAAAAAAAIAIQAAAAAA
+AAAAAAAQIIAAAAAAAAAAAAIlAIAAAAAAAAAAAAAFAAAAAAAAAAAAAAiIBIAAAAAAAAAAAAiIBIAA
+AAAAAAAAAAiiAIAAAAAAAAAAAAiiAIAAAAAAAAAAAAijAIAAAAAAAAAAAAijAIAAAAAAAAAAAAik
+gIAAAAAAAAAAAAikgIAAAAAAAAAAAASkgMAAAAAAAAAAAASiAMAAAAAAAAAAAASjAMAAAAAAAAAA
+AASIBMAAAAAAAAAAAAAJAYAAAAAAAAAAAAIMAIAAAAAAAAAAAACIBMAAAAAAAAAAAACIBIAAAAAA
+AAAAAAILAIAAAAAAAAAAAACKgIAAAAAAAAAAAAALgIAAAAAAAAAAAACMAIAAAAAAAAAAAAIgEIAA
+AAAAAAAAAAIKAIAAAAAAAAAAAAIKgIAAAAAAAAAAAAAJAoAAAAAAAAAAAAABAQAAAAAAAAAAAAAB
+AIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgRAAAAAAAAAAAAAAgQgAAAAAAAAA
+AAAAgQQAAAAAAAAAAAAAgYAAAAAAAAAAAACAAMAAAAAAAAAAAACAAKAAAAAAAAAAAAAACAAAAAAA
+AAAAAACBgAAAAAAAAAAAAACBgIAAAAAAAAAAAACJgIAAAAAAAAAAAACJgMAAAAAAAAAAAAABggAA
+AAAAAAAAAAIBgAAAAAAAAAAAAAIBgIAAAAAAAAAAAABBgYAAAAAAAAAAAAIBgYAAAAAAAAAAAABJ
+gYAAAAAAAAAAAAIJgYAAAAAAAAAAAAIBgQAAAAAAAAAAAABBgQAAAAAAAAAAACAAAAAAAAAAAAAA
+ABAAAAIBAAAAAAAAABAAAAIAAAAAAAAAABAAAAAAAAAAAAAAAACAAMAAAAAAAAAAAAAAAAAAAAAA
+AAAAAP//////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+/////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACACSAAAAAAAAAANmACAA
+QAAAAAAIAJIAAAAAAAAAA3IBJQRAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAACAAAAAIAiAOHAABW
+ACAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAAAAAAAAAAAAAA
+AAOWACAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAAAAAAAAAA
+AAAAAAOWACAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAgAAAACAIgDhQAAlgEgAEAAAAAACAAA
+AAIAiAOFAACWASAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAA
+CAAAAAIAiAOFAACWASAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAgADlgAmBEAA
+AAAACEcgAQQAAAKwAALSBUAkRAAAAAAIRyABBAAAArIAAtIFRiRAAAAAAAgAAAACAIgDhwAAlgEm
+BEAAAAAAAAAAAAAAAAAAAAOWACAAQAAAAAAARyABBgyhgrJAAZIEQCREAAAAAAgAAAACAIgDhwAA
+lgEmBEAAAAAAAEcgAQQMoEKxgAISBUAkRAAAAAAIAAAAAgCIA4cAAJYBJgRAAAAAAAgAAAACAIgD
+hQAAlgEgAEAAAAAACAAAAAIAiAOFAACWASAAQAAAAAAIAAAAAgCIA4UAAJYBIABAAAAAAAAAAAAA
+AAAAAAADlgAgAEAAAAAADcUSugKwgNMUVIviSkYkQAAAAAAFxRK6AreA0xRUi2JJpiRAAAAAAAXF
+EqIGsIDTFFSL4kpGJEAAAAAADcUSoga3gNMUVItiSaYkQAAAAAAFxRKiBrCA0xRUi+JKRiRAAAAA
+AA3FEqIGt4DTFFSLYkmmJEAAAAAABcUSogawgNMUVIviSkYkQAAAAAANxRKiBreA0xRUi2JJpiRA
+AAAAAAnEEKACAICQAACLYmnGJEAAAAAAAcQQoAawgJMGVItiacYkQAAAAAABxBCgBrCAkwZUi2Jp
+xiRAAAAAAAHFELgGsICTFlSLYkjGJEAAAAAACKEQiAIAgVgSAAtSAKYkQAAAAAAJwBCQArCAAxZU
+ipIBxiRAAAAAAAnAELgGsIADEJSL4gJGJEAAAAAACcAQuAK0gAMQlItiAaYkQAAAAAAJwBC4ArSA
+AxCUi2IBpiRAAAAAAAnAELgCtIADEJSLYgGmJEAAAAAACcAQuAK0gAMQlItiAaYkQAAAAAABoBCQ
+BrSAAxCUi2IBpiRAAAAAAAHAEIACsIADFFSKUgDGJEAAAAAAAcAQgAKwgAMUVIpSAMYkQAAAAAAB
+wBCAArCAAxRUilIAxiRAAAAAAAhHIAEEAAACsAAC0gRAJEAAAAAAAIEAAAIAhVgHQAtSAKYkQAAA
+AAAAAAAABACgQAGAAdYAIABAAAAAAAAAAAAGAKGAAEABVgAgAEAAAAAAAAAAAAQAoEABgAHWACAA
+QAAAAAAIgQAAAgCFWYAEC1IApiRAAAAAAAoBQAAAAAAYAgADQgEmpEIAAAAAAAAAAAAAAAAAAAOW
+ACAAQAAAAAAAAAAABACgQAGAAdYAIABAAAAAAAgAAAACAIgDhQAD1gAgAEAAAAAACAAAAAIAiAOF
+AAPWACAAQAAAAAAAAAAAAAAAAAAAA5YAIABAAAAAAAAAAAAAAAAAAAADlgAgAEAAAAAAAAAAAAQA
+oEABgAHWACAAQAAAAAAJwBC4ArSAAxCUi2IBpiRAAAAAAAAAAAAAAAAAAgADlgAmBEAAAAAAAAAA
+AAAAAAAAAAOWACAAQAAAAAAIAAAAAgCIA4UAAJYBIABAAAAAAAAAAAAEAKBAAYAB1gAgAEAAAAAA
+AAAAAAQAoEABgAHWACAAQAAAAAAAAAAABACgQAGAAdYAIABAAAAAAAihEIgCAIFYEAAJEgGmJEAA
+AAAAAAAAAAQAoEABgAHWACAAQAAAAAAAAAAABgChgABAAVYAIABAAAAAAAgAAAACAIgDh0AI0gJG
+JEIAAAAACcUSogKUiNISgIsiScYkQAAAAAABwBCABqSIAQVUi1IAxiRAAAAAAAnAEIACpIgAhVSL
+UgDGJEAAAAAACcAQgAa0iAMBFItSAaYkQAAAAAANwAAAArCAwxZUi+IDRiRAAAAAAAAAAAAAAAAA
+AAADlgAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAMAAEAAAAAgAAAgAmJEAAAAAA
+AEcwAAYDIAK3AAgCAcAkQAAAAAAIAwAAAgagCrcACAIBxiRGAAAAAAAAAAAAAAAAAgAAAgAmJEAA
+AAAAACBQAAQAAAAAAAACASYkRgAAAAAIYCAAhAAAAAAAAAYAIABAAAAAAAhgIACEAAAAAgEwAgAm
+JUAAAAAACGAAAAQAhAGCBAQCAcYkwgAAAAABwAAAAkOAAwIMiAIBpiRAAAAAAAgAYAAEAAAAAgAA
+AgAmJEAAAAAACABgAAQAAAAAAAAEASAAQAAAAAAAAAAAAAAAAAAAAAQBIABAAAAAAAQIFIAGCgAA
+BwFMAiCmJkAAAAAACIAAAAYAhAGABAgCAaYkwAAAAAAAQAAAAgCgAABACAIApiRGAAAAAAAAAAAA
+AAAAAgAAAgAmJEAAAAAABAAAAAKEAAMCiggCBMAkQAAAAAAAAAAAAAAAAAIAAAYBIEhAAAAAAAAg
+UAAEAAAAAgAAAgAmJEAAAAAACGAgAIQAAAACAAAGACYEQAAAAAAIYCAAhAAAAAIAAAIBJiVAAAAA
+AAhgAAAEAIQBgAQEAgHGJMAAAAAACABgAAQAAAAAAAAEASAAQAAAAAAAAIAAIAAAAAAAAAIAJkxw
+AAAAAAAAgAAgAAAAAAAABgEgAAAAAAAAAACAACAAAAAAAAACACZMcAAAAAAAAIAAIAAAAAAAAAYB
+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJwAAACLSM
+BAkWBAIExiRAAAAAAAnAAAAMNIAECRYEAgTGJEAAAAAABAh0gEwJAABQAFwCYeYkQAAAAAAMCHSA
+RAAAAFIAQAJhJiRAAAAAAAgCEKAEAAAAAAEAAgAmJEAAAAAACAIQoAQAAAAAAQACACYkQAAAAAAE
+CHQAQgEAAAcAiAJgxiRAAAAAAA3IFAACCQAABECcAmDmJEAAAAAACcgQgAK0gAQClIgCZcYkQAAA
+AAANyHQATLSAAwCUiAJgpiTAAAAAAAXIdABINJADAJSIAmCmJMAAAAAACEcAAAQAAAAAAAACASAk
+QAAAAAAIRwAABAAAAAAAAAIEQCRAAAAAAABHIAEMByHCtwAIAgDAJEQAAAAAAEcgAQwHIcK3AAgC
+AMAkRAAAAAAARyABDAchwrcACAIAwCREAAAAAAAAIAEIAIQABUCIAgHGJMAAAAAAAAAgAQgAhAAF
+QIgCAcYkwAAAAAAAACABCACEAAVAiAIBxiTAAAAAAAAAIAGGggABAsCIAgPGJMAAAAAAAAAgAYKC
+AAACwIgCA8YkwAAAAAAJwCABgqSAAQVAiAIBxiTAAAAAAAgAAAAMAIQABUCIAgHGJMAAAAAAAAAg
+AYaCAAECwIgCA8YkwAAAAAAAACABgoIAAADAiAICpiTAAAAAAAnAIAGCpIABBUCIAgHGJMAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAEECQAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAFtnbG9iYWxdCnJzc19nbGJfY29uZmlnX21vZGU9YmFzaWN2aXJ0dWFsCnJzc19n
+bGJfY29uZmlnX29wdGlvbnM9dG5sbWFwZW4saGFzaHRvZXBsaXR6LHRubGFsbGxrcApwbF90aW1l
+b3V0X3ZhbHVlPTEwMDAwCnJlZ1sweDEwMDhdPTB4NDA4MTAvMHgyMWM3MApyZWdbMHgxMDBjXT0w
+eDIyMjIyMjIyCnJlZ1sweDEwYTBdPTB4MDEwNDA4MTAKcmVnWzB4MTA0NF09NDA5NgpyZWdbMHgx
+MDQ4XT02NTUzNgpyZWdbMHgxMDRjXT0xNTM2CnJlZ1sweDEwNTBdPTkwMjQKcmVnWzB4MTA1NF09
+OTIxNgpyZWdbMHgxMDU4XT0yMDQ4CnJlZ1sweDEwNWNdPTEyOApyZWdbMHgxMDYwXT04MTkyCnJl
+Z1sweDEwNjRdPTE2Mzg0CnJlZ1sweDEwYTRdPTB4MDAyODAwMDAvMHgzZmZjMDAwMApyZWdbMHgx
+MTE4XT0weDAwMDAyODAwLzB4MDAwMDNjMDAKcmVnWzB4MTBhOF09MHg0MDIwMDAvMHg0MDIwMDAK
+YmFyMnRocm90dGxlY291bnQ9NTAwCnNnZV90aW1lcl92YWx1ZT01LDEwLDIwLDUwLDEwMCwyMDAK
+cmVnWzB4MTEyNF09MHgwMDAwMDQwMC8weDAwMDAwNDAwCnJlZ1sweDExMzBdPTB4MDBkNWZmZWIK
+cmVnWzB4MTEzY109MHgwMDAyZmZjMApyZWdbMHg3ZDA0XT0weDAwMDEwMDAwLzB4MDAwMTAwMDAK
+cmVnWzB4N2Q2Y109MHgwMDAwMDAwMC8weDAwMDA3MDAwCnJlZ1sweDdkNzhdPTB4MDAwMDA0MDAv
+MHgwMDAwMDAwMApyZWdbMHg3ZGMwXT0weDBlMmY4ODQ5CmZpbHRlck1vZGU9ZmNvZW1hc2ssc3J2
+cnNyYW0sZnJhZ21lbnRhdGlvbixtcHNoaXR0eXBlLHByb3RvY29sLHZsYW4scG9ydCxmY29lCmZp
+bHRlck1hc2s9cHJvdG9jb2wsZmNvZQp0cF9wbXJ4PTMwCnRwX3BtcnhfcGFnZXNpemU9NjRLCnRw
+X25yeGNoPTAKdHBfcG10eD01MAp0cF9wbXR4X3BhZ2VzaXplPTY0Swp0cF9udHhjaD0wCnRwX210
+dXM9ODgsMjU2LDUxMiw1NzYsODA4LDEwMjQsMTI4MCwxNDg4LDE1MDAsMjAwMiwyMDQ4LDQwOTYs
+NDM1Miw4MTkyLDkwMDAsOTYwMApyZWdbMHg3ZDA4XT0weDAwMDAwODAwLzB4MDAwMDA4MDAKcmVn
+WzB4N2Q0OF09MHgwMDAwMDAwMC8weDAwMDAwNDAwCnJlZ1sweDdkNjBdPTB4MDYwMDAwMDAvMHgw
+NzAwMDAwMApyZWdbMHgxOTE2OF09MHgwNDAyMDEwMApyZWdbMHgxOWMwNF09MHgwMDQwMDAwMC8w
+eDAwNDAwMDAwCm1jX21vZGVfYnJjWzBdPTEKbWNfbW9kZV9icmNbMV09MQpyZWdbMHg4ZGMwXT0w
+eDAwMDAwMDA0LzB4MDAwMDAwMDQKW2Z1bmN0aW9uIjAiXQpudmY9MTYKd3hfY2Fwcz1hbGwKcl9j
+YXBzPWFsbApudmk9MQpuaXFmbGludD04Cm5ldGhjdHJsPTgKbmVxPTE2Cm5leGFjdGY9OApjbWFz
+az1hbGwKcG1hc2s9MHgxCltmdW5jdGlvbiIxIl0KbnZmPTE2Cnd4X2NhcHM9YWxsCnJfY2Fwcz1h
+bGwKbnZpPTEKbmlxZmxpbnQ9OApuZXRoY3RybD04Cm5lcT0xNgpuZXhhY3RmPTgKY21hc2s9YWxs
+CnBtYXNrPTB4MgpbZnVuY3Rpb24iMiJdCm52Zj0xNgp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52
+aT0xCm5pcWZsaW50PTgKbmV0aGN0cmw9OApuZXE9MTYKbmV4YWN0Zj04CmNtYXNrPWFsbApwbWFz
+az0weDQKW2Z1bmN0aW9uIjMiXQpudmY9MTYKd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9MQpu
+aXFmbGludD04Cm5ldGhjdHJsPTgKbmVxPTE2Cm5leGFjdGY9OApjbWFzaz1hbGwKcG1hc2s9MHg4
+CltmdW5jdGlvbiI0Il0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9MjgKbmlxZmxpbnQ9MTcw
+Cm5ldGhjdHJsPTEwMApuZXE9MjU2Cm5xcGNxPTEyMjg4Cm5leGFjdGY9NDAKY21hc2s9YWxsCnBt
+YXNrPWFsbApuZXRob2ZsZD0xMDI0Cm5yb3V0ZT0zMgpuY2xpcD0zMgpuZmlsdGVyPTQ5Ngpuc2Vy
+dmVyPTQ5NgpuaGFzaD0xMjI4OApwcm90b2NvbD1uaWNfdm0sb2ZsZCxyZGRwLHJkbWFjLGlzY3Np
+X2luaXRpYXRvcl9wZHUsaXNjc2lfdGFyZ2V0X3BkdSxpc2NzaV90MTBkaWYKdHBfbDJ0PTMwNzIK
+dHBfZGRwPTIKdHBfZGRwX2lzY3NpPTIKdHBfc3RhZz0yCnRwX3BibD01CnRwX3JxPTcKW2Z1bmN0
+aW9uIjUiXQp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT00Cm5pcWZsaW50PTM0Cm5ldGhjdHJs
+PTMyCm5lcT02NApuZXhhY3RmPTE2CmNtYXNrPWFsbApwbWFzaz1hbGwKbnNlcnZlcj0xNgpuaGFz
+aD0yMDQ4CnRwX2wydD0xMDIwCnByb3RvY29sPWlzY3NpX2luaXRpYXRvcl9mb2ZsZAp0cF9kZHBf
+aXNjc2k9Mgppc2NzaV9udGFzaz0yMDQ4CmlzY3NpX25zZXNzPTIwNDgKaXNjc2lfbmNvbm5fcGVy
+X3Nlc3Npb249MQppc2NzaV9uaW5pdGlhdG9yX2luc3RhbmNlPTY0CltmdW5jdGlvbiI2Il0Kd3hf
+Y2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9NApuaXFmbGludD0zNApuZXRoY3RybD0zMgpuZXE9NjYK
+bmV4YWN0Zj0zMgpjbWFzaz1hbGwKcG1hc2s9YWxsCm5oYXNoPTIwNDgKdHBfbDJ0PTQKcHJvdG9j
+b2w9ZmNvZV9pbml0aWF0b3IKdHBfZGRwPTIKZmNvZV9uZmNmPTE2CmZjb2VfbnZucD0zMgpmY29l
+X25zc249MTAyNApbZnVuY3Rpb24iMTAyMyJdCnd4X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZpPTQK
+Y21hc2s9YWxsCnBtYXNrPWFsbApuZXhhY3RmPTgKbmZpbHRlcj0xNgpbZnVuY3Rpb24iMC8qIl0K
+d3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTYKbmV0aGN0cmw9NApuZXE9
+OApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4MQpbZnVuY3Rpb24iMS8qIl0Kd3hfY2Fwcz0w
+eDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTYKbmV0aGN0cmw9NApuZXE9OApuZXhhY3Rm
+PTQKY21hc2s9YWxsCnBtYXNrPTB4MgpbZnVuY3Rpb24iMi8qIl0Kd3hfY2Fwcz0weDgyCnJfY2Fw
+cz0weDg2Cm52aT0xCm5pcWZsaW50PTYKbmV0aGN0cmw9NApuZXE9OApuZXhhY3RmPTQKY21hc2s9
+YWxsCnBtYXNrPTB4NApbZnVuY3Rpb24iMy8qIl0Kd3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52
+aT0xCm5pcWZsaW50PTYKbmV0aGN0cmw9NApuZXE9OApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNr
+PTB4OApbcG9ydCIwIl0KZGNiPXBwcCxkY2J4CmJnX21lbT0yNQpscGJrX21lbT0yNQpod209MzAK
+bHdtPTE1CmR3bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90
+bHZbMV09MHg4OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0bnVtLDUK
+W3BvcnQiMSJdCmRjYj1wcHAsZGNieApiZ19tZW09MjUKbHBia19tZW09MjUKaHdtPTMwCmx3bT0x
+NQpkd209MzAKZGNiX2FwcF90bHZbMF09MHg4OTA2LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzFd
+PTB4ODkxNCxldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsyXT0zMjYwLHNvY2tldG51bSw1Cltwb3J0
+IjIiXQpkY2I9cHBwLGRjYngKYmdfbWVtPTI1CmxwYmtfbWVtPTI1Cmh3bT0zMApsd209MTUKZHdt
+PTMwCmRjYl9hcHBfdGx2WzBdPTB4ODkwNixldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsxXT0weDg5
+MTQsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMl09MzI2MCxzb2NrZXRudW0sNQpbcG9ydCIzIl0K
+ZGNiPXBwcCxkY2J4CmJnX21lbT0yNQpscGJrX21lbT0yNQpod209MzAKbHdtPTE1CmR3bT0zMApk
+Y2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4OTE0LGV0
+aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0bnVtLDUKW2ZpbmldCnZlcnNpb249
+MHgxNDI1MDAxYwpjaGVja3N1bT0weDM2MjI4YzdiCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AFtnbG9iYWxdCnJzc19nbGJfY29uZmlnX21vZGU9YmFzaWN2aXJ0dWFsCnJzc19nbGJfY29uZmln
+X29wdGlvbnM9dG5sbWFwZW4saGFzaHRvZXBsaXR6LHRubGFsbGxrcApwbF90aW1lb3V0X3ZhbHVl
+PTEwMDAwCnJlZ1sweDEwMDhdPTB4NDA4MTAvMHgyMWM3MApyZWdbMHgxMDBjXT0weDIyMjIyMjIy
+CnJlZ1sweDEwYTBdPTB4MDEwNDA4MTAKcmVnWzB4MTA0NF09NDA5NgpyZWdbMHgxMDQ4XT02NTUz
+NgpyZWdbMHgxMDRjXT0xNTM2CnJlZ1sweDEwNTBdPTkwMjQKcmVnWzB4MTA1NF09OTIxNgpyZWdb
+MHgxMDU4XT0yMDQ4CnJlZ1sweDEwNWNdPTEyOApyZWdbMHgxMDYwXT04MTkyCnJlZ1sweDEwNjRd
+PTE2Mzg0CnJlZ1sweDEwYTRdPTB4YTAwMGEwMDAvMHhmMDAwZjAwMApyZWdbMHgxMGE4XT0weDQw
+MjAwMC8weDQwMjAwMApiYXIydGhyb3R0bGVjb3VudD01MDAKc2dlX3RpbWVyX3ZhbHVlPTUsMTAs
+MjAsNTAsMTAwLDIwMApyZWdbMHgxMTI0XT0weDAwMDAwNDAwLzB4MDAwMDA0MDAKcmVnWzB4MTEz
+MF09MHgwMGQ1ZmZlYgpyZWdbMHgxMTNjXT0weDAwMDJmZmMwCnJlZ1sweDdkMDRdPTB4MDAwMTAw
+MDAvMHgwMDAxMDAwMApyZWdbMHg3ZDZjXT0weDAwMDAwMDAwLzB4MDAwMDcwMDAKcmVnWzB4N2Rj
+MF09MHgwZTJmODg0OQpmaWx0ZXJNb2RlPWZjb2VtYXNrLHNydnJzcmFtLGZyYWdtZW50YXRpb24s
+bXBzaGl0dHlwZSxwcm90b2NvbCx2bGFuLHBvcnQsZmNvZQpmaWx0ZXJNYXNrPXByb3RvY29sLGZj
+b2UKdHBfcG1yeD0zMAp0cF9wbXJ4X3BhZ2VzaXplPTY0Swp0cF9ucnhjaD0wCnRwX3BtdHg9NTAK
+dHBfcG10eF9wYWdlc2l6ZT02NEsKdHBfbnR4Y2g9MAp0cF9tdHVzPTg4LDI1Niw1MTIsNTc2LDgw
+OCwxMDI0LDEyODAsMTQ4OCwxNTAwLDIwMDIsMjA0OCw0MDk2LDQzNTIsODE5Miw5MDAwLDk2MDAK
+cmVnWzB4N2QwOF09MHgwMDAwMDgwMC8weDAwMDAwODAwCnJlZ1sweDdkNDhdPTB4MDAwMDAwMDAv
+MHgwMDAwMDQwMApyZWdbMHg3ZDYwXT0weDA2MDAwMDAwLzB4MDcwMDAwMDAKcmVnWzB4MTkxNjhd
+PTB4MDQwMjAxMDAKcmVnWzB4MTljMDRdPTB4MDA0MDAwMDAvMHgwMDQwMDAwMAptY19tb2RlX2Jy
+Y1swXT0xCm1jX21vZGVfYnJjWzFdPTEKW2Z1bmN0aW9uIjAiXQp3eF9jYXBzPWFsbApyX2NhcHM9
+YWxsCm52aT0yOApuaXFmbGludD0xNzAKbmV0aGN0cmw9OTYKbmVxPTI1MgpucXBjcT0yMDQ4Cm5l
+eGFjdGY9NDAKY21hc2s9YWxsCnBtYXNrPWFsbApuZXRob2ZsZD0xMDI0Cm5yb3V0ZT0zMgpuY2xp
+cD0zMgpuZmlsdGVyPTQ4Cm5zZXJ2ZXI9MzIKbmhhc2g9MjA0OApwcm90b2NvbD1uaWNfdm0sb2Zs
+ZCxyZGRwLHJkbWFjLGlzY3NpX2luaXRpYXRvcl9wZHUsaXNjc2lfdGFyZ2V0X3BkdSxpc2NzaV90
+MTBkaWYKdHBfbDJ0PTQwOTIKdHBfZGRwPTIKdHBfZGRwX2lzY3NpPTIKdHBfc3RhZz0yCnRwX3Bi
+bD01CnRwX3JxPTcKW2Z1bmN0aW9uIjEiXQp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT00Cm5p
+cWZsaW50PTM0Cm5ldGhjdHJsPTMyCm5lcT02NgpuZXhhY3RmPTMyCmNtYXNrPWFsbApwbWFzaz1h
+bGwKbmhhc2g9MjA0OApwcm90b2NvbD1mY29lX2luaXRpYXRvcgp0cF9sMnQ9NAp0cF9kZHA9Mgpm
+Y29lX25mY2Y9MTYKZmNvZV9udm5wPTMyCmZjb2VfbnNzbj0xMDI0CltmdW5jdGlvbiIxMDIzIl0K
+d3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9NApjbWFzaz1hbGwKcG1hc2s9YWxsCm5leGFjdGY9
+OApuZmlsdGVyPTE2CltmdW5jdGlvbiIwLyoiXQp3eF9jYXBzPTB4ODIKcl9jYXBzPTB4ODYKbnZp
+PTEKbmlxZmxpbnQ9NApuZXRoY3RybD0yCm5lcT00Cm5leGFjdGY9NApjbWFzaz1hbGwKcG1hc2s9
+MHgxCltmdW5jdGlvbiIxLyoiXQp3eF9jYXBzPTB4ODIKcl9jYXBzPTB4ODYKbnZpPTEKbmlxZmxp
+bnQ9NApuZXRoY3RybD0yCm5lcT00Cm5leGFjdGY9NApjbWFzaz1hbGwKcG1hc2s9MHgyCltwb3J0
+IjAiXQpkY2I9cHBwLGRjYngKYmdfbWVtPTI1CmxwYmtfbWVtPTI1Cmh3bT0zMApsd209MTUKZHdt
+PTMwCmRjYl9hcHBfdGx2WzBdPTB4ODkwNixldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsxXT0weDg5
+MTQsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMl09MzI2MCxzb2NrZXRudW0sNQpbcG9ydCIxIl0K
+ZGNiPXBwcCxkY2J4CmJnX21lbT0yNQpscGJrX21lbT0yNQpod209MzAKbHdtPTE1CmR3bT0zMApk
+Y2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4OTE0LGV0
+aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0bnVtLDUKW3BvcnQiMiJdCmRjYj1w
+cHAsZGNieApiZ19tZW09MjUKbHBia19tZW09MjUKaHdtPTMwCmx3bT0xNQpkd209MzAKZGNiX2Fw
+cF90bHZbMF09MHg4OTA2LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzFdPTB4ODkxNCxldGhlcnR5
+cGUsMwpkY2JfYXBwX3RsdlsyXT0zMjYwLHNvY2tldG51bSw1Cltwb3J0IjMiXQpkY2I9cHBwLGRj
+YngKYmdfbWVtPTI1CmxwYmtfbWVtPTI1Cmh3bT0zMApsd209MTUKZHdtPTMwCmRjYl9hcHBfdGx2
+WzBdPTB4ODkwNixldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsxXT0weDg5MTQsZXRoZXJ0eXBlLDMK
+ZGNiX2FwcF90bHZbMl09MzI2MCxzb2NrZXRudW0sNQpbZmluaV0KdmVyc2lvbj0weDE0MjUwMDFk
+CmNoZWNrc3VtPTB4N2RjNGRjZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+====
diff --git a/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt b/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt
index 441362f..67699fd 100644
--- a/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt
+++ b/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt
@@ -1,6 +1,6 @@
# Chelsio T5 Factory Default configuration file.
#
-# Copyright (C) 2010-2016 Chelsio Communications. All rights reserved.
+# Copyright (C) 2010-2017 Chelsio Communications. All rights reserved.
#
# DO NOT MODIFY THIS FILE UNDER ANY CIRCUMSTANCES. MODIFICATION OF THIS FILE
# WILL RESULT IN A NON-FUNCTIONAL ADAPTER AND MAY RESULT IN PHYSICAL DAMAGE
@@ -494,9 +494,9 @@
wx_caps = 0x82 # DMAQ | VF
r_caps = 0x86 # DMAQ | VF | PORT
nvi = 1 # 1 port
- niqflint = 4 # 2 "Queue Sets" + NXIQ
- nethctrl = 2 # 2 "Queue Sets"
- neq = 4 # 2 "Queue Sets" * 2
+ niqflint = 6 # 2 "Queue Sets" + NXIQ
+ nethctrl = 4 # 2 "Queue Sets"
+ neq = 8 # 2 "Queue Sets" * 2
nexactf = 4
cmask = all # access to all channels
pmask = 0x1 # access to only one port ...
@@ -506,9 +506,9 @@
wx_caps = 0x82 # DMAQ | VF
r_caps = 0x86 # DMAQ | VF | PORT
nvi = 1 # 1 port
- niqflint = 4 # 2 "Queue Sets" + NXIQ
- nethctrl = 2 # 2 "Queue Sets"
- neq = 4 # 2 "Queue Sets" * 2
+ niqflint = 6 # 2 "Queue Sets" + NXIQ
+ nethctrl = 4 # 2 "Queue Sets"
+ neq = 8 # 2 "Queue Sets" * 2
nexactf = 4
cmask = all # access to all channels
pmask = 0x2 # access to only one port ...
@@ -518,9 +518,9 @@
wx_caps = 0x82 # DMAQ | VF
r_caps = 0x86 # DMAQ | VF | PORT
nvi = 1 # 1 port
- niqflint = 4 # 2 "Queue Sets" + NXIQ
- nethctrl = 2 # 2 "Queue Sets"
- neq = 4 # 2 "Queue Sets" * 2
+ niqflint = 6 # 2 "Queue Sets" + NXIQ
+ nethctrl = 4 # 2 "Queue Sets"
+ neq = 8 # 2 "Queue Sets" * 2
nexactf = 4
cmask = all # access to all channels
pmask = 0x4 # access to only one port ...
@@ -530,9 +530,9 @@
wx_caps = 0x82 # DMAQ | VF
r_caps = 0x86 # DMAQ | VF | PORT
nvi = 1 # 1 port
- niqflint = 4 # 2 "Queue Sets" + NXIQ
- nethctrl = 2 # 2 "Queue Sets"
- neq = 4 # 2 "Queue Sets" * 2
+ niqflint = 6 # 2 "Queue Sets" + NXIQ
+ nethctrl = 4 # 2 "Queue Sets"
+ neq = 8 # 2 "Queue Sets" * 2
nexactf = 4
cmask = all # access to all channels
pmask = 0x8 # access to only one port ...
@@ -601,8 +601,8 @@
[fini]
- version = 0x01000025
- checksum = 0x2e1a8474
+ version = 0x01000028
+ checksum = 0x36228c7d
# Total resources used by above allocations:
# Virtual Interfaces: 104
diff --git a/sys/dev/cxgbe/firmware/t6fw-1.16.26.0.bin.uu b/sys/dev/cxgbe/firmware/t6fw-1.16.26.0.bin.uu
deleted file mode 100644
index 412bac7..0000000
--- a/sys/dev/cxgbe/firmware/t6fw-1.16.26.0.bin.uu
+++ /dev/null
@@ -1,9001 +0,0 @@
-/*-
- * Copyright (c) 2016 Chelsio Communications, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-begin-base64 644 t6fw
-AAID5wEQGgAAARcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAA8gD2QPhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAENoZWxzaW8gRlcgUlVOTUVNIERFQlVHPTAgKEJ1aWx0IFdlZCBEZWMgMjEgMDk6
-MDE6MzggUFNUIDIwMTYgb24gdm5jNC5hc2ljZGVzaWduZXJzLmNvbTovaG9tZS9maXJtd2FyZS9j
-dnMvZnctcmVsZWFzZSksIFZlcnNpb24gVDZ4eCAwMS4xMC4xYS4wMAAAAAAAAAAAAAAAANbkJFxg
-ANQAH/zhSOEAe/AAEAAA4QGUQOEAVyDhADC4eP///x/84UCAAAAB4QB7cAAAEAAf/8v0IAAAAOEB
-nAThBQAAIoIAQOEFCAAihgBAIIIARCCGAEThBQAEAAwAAIAAAQLhAHs84QB7ROEAe+TiAAAAAAEA
-AOEAe5AgAAAAAACAAOEAewAAAEAB4QB7nAAGAIgAACAAREREQuAAAADjAAST4wAIACAAAlwAAAAA
-H/8TwAAAAAAf/xPEAAAAAB//E8gAAAAAH/8TzB//gAAAAAAAAAAAAAAAAADAABH/yiIaB5IQghAS
-/8kT/8mTIBL/yYMgJEoAA0QBZU/xwUEEMwEEMwNlP+YS/8PAMJMgEv/DE//DhCAEMwGTIBH/wRL/
-wpIQEf/BEv/CkhAR/8EB9DEA5DES/8AC5zECFgAR/7+BEAEBX8AhAhEByRER/7wS/7ySEBH/vBL/
-vJIQYAAPEf+3Ev+7khAR/7cS/7qSEIEQEf+5wCCSERL/uJISwCCSExL/t5IQghAC8lBlL/cR/7XH
-L5IQEf+0khAS/7QT/7STIMAykyET/7OTIoIiEv+yE/+ykyAjIiEU/7EEMwHJOxP/sIMwA4MUCDMR
-FP+upDOTIRP/opMiYAALAAAAwDCTIRP/npMiEv+pkCCQIZAikCOQJJAlkCaQJ5AokCmQKpArkCyQ
-LZAukC8gJhAgJhEiIgIS/58CKDES/5kjCgAtNzAtNzgjPQFyM/MAAgAS/5nAMC83AC83IC83QC83
-YCM9AnIz7QACABL/jcAwKDcwKDc4Iz0BcjPzEv+OwDAnNwAnNyAnN0AnN2AjPQJyM+0S/4kV/4oW
-/4rAMNcgBWYBYAASBDYFAAIA0w/TDwUzDG47FAdHFAcEQ3Yx5gQ2BQUzDG877QACABL/exX/fCMK
-AAInAgcEQwQ+BQUzDAdHFG878AMCABL/d8kugyCEIYUivCJ0Ow6GULRVljC0M3Qz9GP/5gBlP+Jl
-X98S/2zAMgMuBQMCABL/YsAwKDdAKDdIIz0BcjPzAAIAEv9nLScAwBEBSTEASDEBAgDAABT/YwTS
-MRX/Y5RQFP9iBNMxFf9ilFAU/2IE1DEV/2GUUBT/YQTVMRX/YJRQEP9gAwAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAA9DAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/AAA
-H/wAAOMACfgf/AAAH/wAAOMACfgf/AAAH/wAAOMACfgf/wAAH/8LIOMACfgf/wsgH/8LIOMAFRgf
-/wsgH/8LIOMAFRgf/wsgH/8M+OMAFRgf/wz4H/8TtOMAFvAf/xPAH/8z7OMAHbgf/zPsH/8z7OMA
-PeQf/4AAH//M5OMAPeQgAAAAIAABauMAisggAAF4IAABfOMAjDQgAAF8IAABheMAjDggAAGYIAAB
-nOMAjEQgAAGcIAABpeMAjEggAAG4IAABvOMAjFQgAAG8IAABxeMAjFggAAHYIAAB2OMAjGQgAAHc
-IAAB4uMAjGQgAAH4IAAB+OMAjGwgAAH8IAAB/OMAjGwgAAIYIAACGOMAjGwgAAIcIAACHOMAjGwg
-AAI4IAACOOMAjGwgAAI8IAACPOMAjGwgAAJYIAACWOMAjGwgAAJcIAACYuMAjGwgAAJ4IAACeOMA
-jHQgAAJ8IAACguMAjHQgAAKYIAGWIuMAjHwgAwAAIAMdmOMCIAggAx2YIAMdmOMCPaAgAx2YIAZ/
-bOMCPaAgBn9wIAaDgOMFn3ggCAAAIAgTcOMFo4ggCBNwIAkytuMFtvggCTLAIAk0NOMG1kggCwAA
-IAsAAOMG17wgCwAAIAsAAOMG17wgCwAAIAu4COMG17wAAAAAAAAAAAAAAAAf/wAAH/+AAB/8AAAf
-/gAAH/+AACAAAAAAAAAAAAAAACAAO8sgADvAIABAAyAAO8AgAD9tIAA7wCAAPIMgAD79IAA+eCAA
-O8AgAD4gIAA90CAAPVsgADurIAA9AyAAO8AgADvAIAA7wCAAPKoAAAAA////////D/z///D///8A
-/CAAyKMgAMobIADKSyAAyhEgAMnOIADJxCAAyYwgAMmCIADJeCAAySMgAMpJIADJGSAAyO8gAMpL
-IADI5SAAyNMgCCSQIAgk6CAIJLggCCSoIAgkmCAIJOAgCCTYIAgk0CAIJMggCCTAIAgkuCAIJLAg
-CCNJIAgkqCAII0kgCCSgIAgjSSAIJJggCCNJIAgjPwAAAAMAAAACAAAAAQAAAAAAAAAEAAAAAAAA
-AAAAAAAAAAAACgAAAAoAAAAUAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAAAAAAAAAAAAAAAEA
-AQABAAEAAQABAAEAAQABAAIAAwAEAAUABgAHAAgACQAKAA4AEQAVABkAHgAjAC0APABQAGQAyAEs
-AZAB9AAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAgACAAMAAwADAAMABAAEAAQABAAEAAUABQAFAAUA
-BQAFAAYABgAHAAcAAAACAAAABgAAAAoAAAAOAAAAFAAAABwAAAAoAAAAOAAAAFAAAABwAAAAoAAA
-AOAAAAFAAAABwAAAAoAAAAOAAAAFAQAABwAAAAoAAAAOAAAAFAAAABwAAAAoAAAAOAAAAFAAAABw
-AAAAoAAAAOAAAAFAAAABwAAAAoAAAAOAAP8AAQICAAAAAAAAAAAAAAAgCJnjIAiaRiAImaMgCJmI
-IAiaRiAImUkgCJlJIAiaRiAImkYgCJlJIAiaRiAImkYgCJlJIAiZSSAImRsgCJpGIAiY4CAIl0Qg
-CJe9IAiaRiAIl8AgCJd/IAiaRiAImkYgCJpGIAiaRiAImkYgCJpGIAiaRiAImkYgCJpGIAiXciAD
-EFQAAAABIAMQXAAAAAIgAxYoAAAA/yADDZQAAAD/IAMQQAAAAAIgAxBEAAAAAyADEEwAAAAHAAAA
-AAAAAAAgAxAkAAAAASADECgAAAACIAMQMAAAAAQgAxYoAAAA/yADDZQAAAD/AAAAAAAAAAAgAw2U
-AAAAACADFigAAAAAIAMO8AAAAAEgAw74AAAABCADDwAAAAAIIAMPDAAAACAgAw8cAAAAQCADDyQA
-AACAIAMPLAAAAQAgAw80AAACACADD0gAAAQAIAMPXAAACAAgAw90AAAQACADD4gAACAAIAMPmAAA
-QAAgAw+kAACAACADD7gAAQAAIAMPyAACAAAgAw/YABAAACADD/AAIAAAIAMQCABAAAAgAxAQAIAA
-ACADDtwAAAAQIAMO5AAAABEgAw7EAAAAACADDsgAAAABIAMOzAAAAAIgAw7UAAAAAwAAAAAAAP//
-AAAAAAAA//8gAw5EAAABACADDlAAAACAIAMOYAAAAEAgAw5wAAAAICADDoAAAAAQIAMOkAAAAAgg
-Aw6cAAAABCADDqgAAAACIAMOtAAAAAEAAAAAAAAAAAAAAE4AAABGAAAAPgAAADcAAAAvAAAAJwAA
-AB8AAAAXAAABAQEBAQEBAQEBAQECAiAJGIggCRg8IAkYeyAJGHsgCRg8IAkYPCAJGIggCRiIIAkY
-PCAJGIggCRg8IAkYiCAJGHsgCRg8IAkYPCAJGDwgCRg8IAkYPCAJGIggCRg8IAkYPCAJGDwgCRg8
-IAkYPCAJGIggCRiIIAkYiCAJGIggCRiIIAkYiCAJGIggCRiIIAkYPCAJGDwgCRg8IAkYPCAJGDwg
-CRg8IAkYPCAJGDwgCRg8IAkYPCAJGDwgCRg8IAkYPCAJGDwgCRg8IAkYPCAJJ+AgCSfgIAkn1SAJ
-J+MgCSfjIAknzSAJJ80gCSfjIAkn4yAJJ80gCSfjIAkn4yAJJ80gCSfNIAknzSAJJ+MgCSfFIAkn
-zSAJJ80gCSfjIAknzSAJJ+MgCSfjIAkn4yAJJ+MgCSfjIAkn4yAJJ+MgCSfjIAkn4yAJJ+MgCSfj
-AAICBQUICAsLDg4RERQUFxcaGh0dICAjIyYmKSksLC8vMjI1NTg4OzsAAAAAAAAAAQMREQgIEAkD
-AQAAAAAAACAEpGggAVDAIABhrCABMqQgAUysIAFHUCABKZggBAZAH/+N2B//tkggAMsQH/+q5CAA
-jcwgAH5MAAAAAAAAAAAgATMwIACwjAAAAAAAAAAAH/+kBB//lbQf/5NYH/+QyCAAehggAG9IIABt
-oCAAwDQf/7EwIAYyOAAAAAAAAAAAIAByBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAVeg
-IAE+hCAA1QggANQ4H/+8wB//ntQf/5s8IACuGAAAAAAgAQqIIAD4ICAA5RAgANrAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAACABgAAgAIzUAAAAAAAAAAAAAAAAIADICAAAAAAAAAAAIADAKCAA
-EcggA1QgH//ADCAA1SgAAAAAAAAAAAAAAAAgA3ToIABSmCAAL8wgAFF8AAAAACAAXPggAFr8IABY
-nAAAAAAgAGFsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAXsggBKPw
-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
-UwAAACALJBBSAAAAIAskUFEAAAAgAYl8H/8rZCALJuAgCydAIAsnECALKcAf/y7MIAsqEB//HlAf
-/y30IAsr0BQAAACAAAACeAAAAIAAAAaAAAAFAAAKAIAAsAAA4zCS///wAIAAsQAgCyuQH/8bxAAA
-fkAf/y6kAP/AAB//LrAmAAAAAQAAACgAAAAgCyxABYAAAAYAAAAf/yq8KwAAACAAdQAf/N4AH/8s
-WAf///8DgAAANQAAAANAAAAf////CA///wA///+AQAAAIAAAAAAAwAAf/y6IPQAAAB//LQSBBAEA
-gQQAAAcAAAAf/yzUAAA6mBgAAAAf/xTQAAAP/wBDAAAEAAAAH/8sjCALhqAf/zLQH/8ZrAACAADh
-AHoAH/8ulB//LJAf/y4oH/8q+CCAAAAf/yzsH/8ukB//HlQf/x5IIAuG0AADB4AgC4dAH/8cKAAg
-AAAAQAAAAAAJAAAAMAD//Ph/wAAAAKP/uwCj/7oADQAAAOADAACD/7YAD////w//+AD/AAAAD//+
-ASALh4AgCy6AIAsusCALiBAACgAAAA8AAP//AA8f/x5cA//AAIP/wAAgC4iQIAuJAB//L3gf/zJg
-H/8y8P9A8AAf/zLAH/8AcB//E9AEgAAIAEQAAP8f//8AwAAAAYDCAAAAgQD/v/////8AAACAAAAf
-/x+8AAAJvA8AAAAgCy7wH/8vEB//MBQf/ysgH/8gKB//Gjgf/wCAIAaAgAAAJxAf/6noIAuQUCAL
-kCAf/y90H/8aMCALMvAf/y50IAuQoCALM1AgCzOgIAs0MCALMyAgANU0IAs0ACALNJAgCzTAIAs1
-ECALNXAgANrwIADgACALkRAgC5FwIADqKB//L8j/AP8AzMzMzKqqqqrw8PDwH/8zEB//MRgAA///
-AAAn/yAA7IAgC5HgABBIAIIAAAAgAQPEIAuSUCAALLggC5cQIAuXQCALPDAgCzwAIAs8QCALPKAg
-Cz0gIAs8cCALPMAgCzzwIAs+wAAAIAAAAEAAIAs/ECALlVAgC5VwIAs/QCALP5AgC5YQIAuWMCAL
-PvAgC5ZgIAuVoCALldAgCz/AIAuY4CALmXAgC5gQIAuYICALl6AgC5iAIAuX4CALl7AgC5hgIAuY
-8CALmLAgC5kwH/8unAAACAAAAAgGAAAP/gAAiMx/AAAA8AAAACALnCAgC5uAIAub4CALmqAgC5sw
-AADgACALmaAgC5pQIAubAB//G9wgC0HQH/8riBoAAAAgC0IgIAEwGB//LqwgAw0gH/8rEB//KhAg
-C0UwH/8s+B//MrAf/zIYIAudUCALRXAf/yxwAAAP8OABAAAf/OIIIAuegCALRbAgAMTwIADBtCAL
-ngAgC55QH/8b/CALSHAf/x/EIAtUAOD//gAgC3oQH/8uqB//FiwgC2HwIAtigCABXpAf/yxoIAFg
-qB//Gpwf/yokH/8tFB//KkwAABgQAAAWPB//LTQgBoO8H/8qxCAGg9D///H/4QBeAB//LAzhAC4A
-H/8tQOEDBgDhAA4A4AUAADAAAAAD/wAAH/8qdCADEwAf/L//PAAAAAAH//+DAAAAH/8qLCABhSwg
-C3iQH/8vhOAGAAAgAxLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYAAAAAAAAD/////////
-////////////H//IBB//yAQf/8fEH//HxB//x8Qf/8fEH//BmB//xIAf/8LIH//CyB//wsggBjQk
-AAAAAAAAAAAAAAAAAAAAACAGNvAgBjbwAAAAAAAAAAAAAAAAAAAAACAGNCQgBjQkH//FhB//xYQf
-/8WEH//FhB//xYQf/8WEAAAAACABZ2QAAAAAAAAAAAAAAAAAAAAAAgEAAAAAAAAAAAAAAAAAAAQA
-AAAAAAAAgYAAAAAAABAEAAAAAAAAAoEAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-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
-hJBAEQACIuhQyEALwA232zDtSO9AD5gAyuoo70ALwA0sglCqIuJQyEAPoAEQAAAAbBAI7N8uwA+Y
-ALPqNbBAEDgMgu4M38AQGA2T5RLIQA6AAFDlEMhAEKgL2OkRyEARAAKI7ojlQA6AAJGo2Oyq5UAS
-AAKI6pXmgAoYCYPqSJBAC8ANzuoULsASAALE6wQuwA6AAtDtQ8hAEoAClOtCyEANCAI1KzAftbvq
-AuzADwgLy+wT8EAM8AuwjBEeXjUdXjKjuOx74cAPUA3OrLztQslAEIACzOxDyUAYUAE3CANoCQJr
-iBCktbJ5qYjoEMhAEoACVR1ezS4wH4w16hDYQA6AALCn7u4/0UAPKAzc5zK4QA9QC8rqOO9AC7gL
-mg+vEenUL8AQUAL/Dw9H7BKwQBAwB3/ckNow7RjvQBCAArXuKO9AC/gPq4gg6xCxQBAADNHpKqlA
-EDgL4uzqL8APCA+I62qCQA9gD/3vQchADKAO4O8wLsAPCA7OrKrqoLxAEEgMwuJgLsAPYA7+7kDI
-QA8ICQnsUshAD2gKputTyEAPYAmp6VHIQA9gAiiSUOLY70APoAEQAAAAAAAA7TvowAn4Dr3pE8hA
-D5gAsu1470APmABa6jjvQAvADVCJE+UC7MAOgACgsarpE/BAH9ABKowQ7n4twBMAAlTuRslADoAB
-0O1HyUAQGALM7BDIQAn4DuYAAGwQBOP/38AQOAxChE4jRvvjSs/ADoAEoOpGz0AQGAOUI5UK45vA
-QA6AAIAoRr4jlSrjm8JAECADVOhOzMAVAAJlJkbo5knOwBegAlUlRv0lRv7jQs1AD6ABEAAAAAAA
-AGwQBMBRAyQsAyIuAlI5pCLRDwAA//8BA/8C////AAAAAAAAAAAEBAgAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAIANWXCADVikgA1ZAIANWQCADVkAgA1ZAIANWQCADVkAgA1ifIANYVyADVkAg
-A1ZAIANWQCADVkAgA1ZAIANWQCADV8QgA1dcIANWwyADVqYgA1aRIANWewMBAAIAAAAAIASYACAE
-mcIgBJsjIASYACAEmxsgBJsHIASYACAEmAAgBJgAIASYACAEmAAgBJgAIASYACAEmAAgBJgAIASY
-ACAEmvcgBJrnIASYACAEmAAgBJgAIASYACAEmAAgBJgAIASYACAEmAAgBJgAIASYACAEmAAgBJgA
-IASYACAEmAAgBJmwIASYACAEmaogBJmqIASYACAEmaogBJmqIASayyAEmaoAAAAAAAAAAAAAAAAg
-BK3AIASsICAEsFYgBLAOIASv0SAEr44gBK9pIASsfCAEr0MgBK8DIASupiAErkwgBK4AIASt2wAA
-AAAAAAAAAAAAACAFJWwgBR6YIAUeNCAFGzAgBRY4AAAAAAAAAAAgBR54IAUecCAFHnAgBR5wIAUe
-eCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR54IAUecCAFHnAgBR5wIAUecCAFHnAgBR5w
-IAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAg
-BR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAF
-HnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR54IAUe
-cCAFHnAgBR5wIAUeeCAFHnAgBR5wIAUecCAFHnggBR5wIAUecCAFHnAgBR54IAUecCAFHnAgBR5w
-IAUeeCAFHnAgBR5wIAUecCAFHnggBR5wIAUecCAFHnAgBR54IAUecCAFHnAgBR5wIAUeeCAFHnAg
-BR5wIAUecCAFHnggBR5wIAUecCAFHnAgBR54IAUecCAFHnAgBR5wIAUeeCAFHnAgBR5wIAUecCAF
-HnggBR5wIAUecCAFHnAgBR54IAUecCAFHnAgBR5wIAUeeCAFHnAgBR5wIAUecCAFHnggBR5wIAUe
-cCAFHnAgBR54IAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5w
-IAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnggBR5wIAUecCAFHnAgBR5wIAUecCAFHnAg
-BR5wIAUecCAFHnAgBR5wIAUecCAFHnggBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAF
-HnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUe
-cCAFHnggBR5wIAUecCAFHnAgBR54IAUecCAFHnAgBR5wIAUeeCAFHnAgBR5wIAUecCAFHnAgBR5w
-IAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAg
-BR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAF
-HnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUe
-cCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR54IAUecCAFHnAgBR5wIAUecCAFHnAgBR5w
-IAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAg
-BR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAF
-HnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHnAgBR5wIAUecCAFHngAAAAAAAAAAAAAAAAgBR7RIAUf
-aSAFIw4gBSL8IAUi4SAFIs8gBSKuIAUinCAFInsgBSJqIAUiTyAFIj4gBSIjIAUiEiAFIfcgBR7I
-IAUh3CAFIcsgBSGwIAUhniAFIYMgBSFqIAUhRyAFIWogBSFHIAUhNSAFIRogBR7IIAUeyCAFHsgg
-BR7IIAUhCSAFHu0gBR7IIAUeyCAFHsggBSDoIAUgzCAFIL4gBSCnIAUeyCAFIJQgBSB2IAUgYyAF
-IEUgBSAyIAUgHyAFIAwgBR/5IAUf7CAFH9ogBR+5IAUfqCAFH40gBR97IAUfTiAFHxgAAAAAAAAA
-AAAAAAAgBSXDIAUl0SAFJ9AgBSelIAUnmiAFJ48gBSeEIAUneSAFJ24gBSdjIAUnWCAFJ0ogBSc8
-IAUnHiAFJukgBSa9IAUmsCAFJpEgBSaDIAUmdSAFJmEgBSZWIAUmPSAFJjIgBSWtIAUmCSAFJfsg
-BSXtIAUl4gAAAAAAAAAAAAAAACAFYe4gBV9WIAViCCAFYe4gBV9WIAVfViAFX1YgBWIIIAVh7iAF
-Ye4gBWHuIAVfViAFYe4gBWHuIAViACAFYgAgBWH4IAVh+CAFYeYgBV9WIAVh5iAFYeYAAAAAAAAA
-ACAFYhggBWAOIAViMCAFYhggBWAOIAVgDiAFYA4gBWIwIAViGCAFYhggBWIYIAVgDiAFYhggBWIY
-IAViKCAFYiggBWIgIAViICAFYhAgBWAOIAViECAFYhAAAAAAAAAAACAFYkAgBWA+IAViWCAFYkAg
-BWA+IAVgPiAFYD4gBWJYIAViQCAFYkAgBWJAIAVgPiAFYkAgBWJAIAViUCAFYlAgBWJIIAViSCAF
-YjggBWA+IAViOCAFYjgAAAAAAAAAACAFx5AgBcSwIAXDGCAFwJwgBb64IAW60CAFvCggBbzgIAW6
-QCAFv4wAAAAAAAAAAAAAKhgAAEAAAABAAAAAAAAAACoEAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAgBefKIAXnPiAF5+IgBefKIAXnPiAF5z4gBec+IAXn4iAF58og
-BefKIAXnyiAF5z4gBefKIAXnyiAF59ogBefaIAXn0iAF59IgBefCIAXnPiAF58IgBefCAAAAAAAA
-AAAgBefyIAXnViAF6AogBefyIAXnViAF51YgBedWIAXoCiAF5/IgBefyIAXn8iAF51YgBefyIAXn
-8iAF6AIgBegCIAXn+iAF5/ogBefqIAXnViAF5+ogBefqAAAAAAAAAAAgBfIQIAXyACAF8iggBfIQ
-IAXyACAF8gAgBfIAIAXyKCAF8hAgBfIQIAXyECAF8gAgBfIQIAXyECAF8iAgBfIgIAXyGCAF8hgg
-BfIIIAXyACAF8gggBfIIAAAAAAAAAAAlKAMPCBKlqIOOk5IAAAAAIAX9YCAGAFogBgDoIAYA1SAG
-AMIgBf1gIAX9YCAF/WAgBgCvIAX9YCAF/WAgBgCXIAYAdiAGAH4gBf1gIAX9YCAF/WAgBf1gIAX9
-YCAF/WAgBf1gIAX9YCAF/WAgBf1gIAYAYiAF/94AAAAAAAAAACAGHmggBh4OIAYegCAGHmggBh4O
-IAYeDiAGHg4gBh6AIAYeaCAGHmggBh5oIAYeDiAGHmggBh5oIAYeeCAGHnggBh5wIAYecCAGHmAg
-Bh4OIAYeYCAGHmAAAAAAAAAAACAGIM0gBiAeIAYg5SAGIM0gBiAeIAYgHiAGIB4gBiDlIAYgzSAG
-IM0gBiDNIAYgHiAGIM0gBiDNIAYg3SAGIN0gBiDVIAYg1SAGIMUgBiAeIAYgxSAGIMUAAAAAAAAA
-ACAGIKUgBiA2IAYgvSAGIKUgBiA2IAYgNiAGIDYgBiC9IAYgpSAGIKUgBiClIAYgNiAGIKUgBiCl
-IAYgtSAGILUgBiCtIAYgrSAGIJ0gBiA2IAYgnSAGIJ0AAAAAAAAAACAGIqogBiIeIAYiwiAGIqog
-BiIeIAYiHiAGIh4gBiLCIAYiqiAGIqogBiKqIAYiHiAGIqogBiKqIAYiuiAGIrogBiKyIAYisiAG
-IqIgBiIeIAYioiAGIqIAAAAAAAAAACAGItIgBiI2IAYi6iAGItIgBiI2IAYiNiAGIjYgBiLqIAYi
-0iAGItIgBiLSIAYiNiAGItIgBiLSIAYi4iAGIuIgBiLaIAYi2iAGIsogBiI2IAYiyiAGIsoAAAAA
-AAAAACAGQyogBkMIIAZDIiAGQyogBkMIIAZDCCAGQwggBkMiIAZDKiAGQyogBkMqIAZDCCAGQyog
-BkMqIAZDGiAGQxogBkMSIAZDEiAGQxAgBkMIIAZDECAGQxAAAAAAAAAAAAAAAAMAAAACAAAAAQAA
-AAAAAAAEAAAAAAAAAAAAAAAAUlYAAAAAAABAJAAAAAAAAD9QYk3S8an8P/AAAAAAAAA+sMb3oLXt
-jRAAAABjb25maWd1cmF0aW9uIGZpbGUgcGFyc2VyIGZvdW5kIGFkZGl0aW9uYWwgY29uZmlndXJh
-dGlvbiBhZnRlciBbZmluaV0KAAAwAAAAZmNvZQAAAAB2bmljX2lkAHZsYW4AAAAAdG9zAGV0aGVy
-dHlwZQAAAG1hY21hdGNoAAAAAG1wc2hpdHR5cGUAAGZyYWdtZW50YXRpb24AAABzcnZyc3JhbQAA
-AABmY29lbWFzawAAAABjb21wYWN0AGJhc2ljdmlydHVhbAAAAABnbGJfa2V5AGdsYnZmX2tleQAA
-AHBmdmZfa2V5AAAAAGlkeHZmX2tleQAAAHN5bm1hcGVuAAAAAHN5bjR0dXBlbmlwdjYAAABzeW4y
-dHVwZW5pcHY2AAAAc3luNHR1cGVuaXB2NAAAAHN5bjJ0dXBlbmlwdjQAAABvZmRtYXBlbgAAAAB0
-bmxtYXBlbgAAAAB0bmxhbGxsa3AAAABoYXNodG9lcGxpdHoAAAAAbGFuAHdhbgBjbHVzdGVyAG1h
-bnVhbAAAdHBfcGlvAAB0cF90bV9waW8AAABuaWNfdm0AAG5pY191bQAAbmljX3VtX2lzZ2wAbmlj
-X2hhc2hmaWx0ZXIAAG9mbGQAAAAAcmRkcAAAAAByZG1hYwAAAGlzY3NpX2luaXRpYXRvcl9wZHUA
-aXNjc2lfdGFyZ2V0X3BkdQAAAABpc2NzaV9pbml0aWF0b3JfZm9mbGQAAABpc2NzaV90YXJnZXRf
-Zm9mbGQAAGZjb2VfaW5pdGlhdG9yAABmY29lX3RhcmdldABwb2Zjb2VfaW5pdGlhdG9yAAAAAHBv
-ZmNvZV90YXJnZXQAAABpc2NzaV90MTBkaWYAAAAAaXNjc2lfaW5pdGlhdG9yX2NtZG9mbGQAaXNj
-c2lfdGFyZ2V0X2NtZG9mbGQAAAAAdGxza2V5cwBjcnlwdG9fbG9va2FzaWRlAAAAAHBwcABkY2J4
-AAAAAGIyYgBzb2NrZXRudW0AAABjZWUAaWVlZQAAAABhdXRvAAAAAGFuX2RpcwAAcGRsaXRlX2Rp
-cwAAIAMdJAAEAAAAAAQAAAQAAP8CAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAP8CAAAAAAAAAAAAAAABAAL/AgAAAAAAAAAAAAAAAAAC/wIAAAAAAAAAAAAAAAAA
-FgAAAAAAAAAAAAAAACAFufgAAAAAIAW5WCAFtsggBbXYIAWXoCAFLdwgBRWYIAUUYAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAACAELiAgBDswIAQ7MCAEOzAgBEqQIARmyCAEdQAgBH8IIAQq1CAEKCwg
-BBvkIASW5CAEGZwgBBaAIAUUMCAFEuQgBQvgIAQ7MCAFCuAgBQkcIAUISCAGOjwgA5a0IAP7UCAF
-1BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAACAEDZAAAAAAAAAAAAAAAAAgA1XcAAAAAAAAAAAAD//zAAAAAAAAD/MAAAAA
-AAAA8wAAAAAAAAAzAAAAD/////8AAAAAAAAAAAAAAAAAD//zAAAAAAAAD/MAAAAAAAAA8wAAAAAA
-AAAzAAAAD/////8AAAAAAAAAACAGJNwgBiQYIAZN2CAGJAQgBiREIAYjNCAGJMQgBiMUIAZNwCAG
-I/D/GDBgYAAAAAABAgMAAAAAAAAAAAAAAAAgBcgwIAQsaCAAjJgAAAAAIAP+yCAEAHwgBAAMIAQA
-mCAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAP/iAAAAAAAAAAAAAAAADAxMjM0NTY3
-ODlhYmNkZWZBQkNERUYAAAAAAAAAAAAAQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZn
-aGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLwAAAAAAAAAAAAAAAAAAAAAgAEs4AAEAACAA
-SxwABQABIABLBAADAAUgAErkAAcAAGOCU2MAAAAA////////AAAABAQIAAQECAAEBAgABAQIAAQE
-CAAHQwAAAAAAAAAAAAAhAAkAgQBBACEACQAhAAkAgQBBAIEAQQCBAEEAgQBBACEACQCBAEEAIQAJ
-ACEAEQCBAEEAgQBBACEACQCBAEEAIQAJACEACQEBAEEAgQAhAIEAIQAQEGEBAQCBAQEAgQMCAQAE
-AAAAAAAAAAAAAAAAAAPoAAAAZAAAAAoAAAABECBAAAAAAAAAAAAAAAAAAAQAAgABAACAAEAAIAAQ
-AAggQIAAAAAAAAAAAAAAAAAAIAMNlAAAAAAgAxYoAAAAACADDZgAAAABIAMWzAAAAAIgAw2gAAAA
-BCADDagAAAAIIAMNsAAAABAgAxbUAAAAICADDbQAAABAIAMNwAAAAIAgAw3MAAABACADDdgAAAIA
-IAMN6AAAIAAgAw30AABAACADDgAAAIAAAAAAAAAAAAAAACocAAAqPAAAKlwAACp8AAAqAAAAEAAA
-ABAAAAAqAAAAEAAAAAAAAAAqGAAAAAgAAAAIAAAAAAAAAAAAAAAACAcEAwoJAgAAAAAAAAAAAAAR
-ABAADgAPABQAFAAKAAcAHwAAAAAAAAAAAAAAAAAAAAAAHgAAACgAAAA8AAAAeAAAAB4AAAAiAAAA
-KAAAADAAAAA8AAAAUAAAAHgAAADwAAAAHgAAACgAAAA8AAAAeAACAAEAAwAFAAAABAAAAAAEAgYB
-BQMHAAAAAAAAAAAAAAECAwQFBgcICAkJCgoLCwAAACIAAAAwAAAAAAAAAAAAAAAeAAAAIgAAACgA
-AAAwAAAAPAAAAFAAAAB4AAAA8CAFy6ggBctgIAXKOCAFyNggBciQAAAAACAFyMAAAAAAAAACAAAA
-BAAAAAgAWWVzADAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5egAAAABub25lAAAA
-AGFsbAAqAAAAZGlzYWJsZWQAAAAAZW5hYmxlZAAweAAATkEAAFYwAABWMQAAVjIAAFYzAABWNAAA
-VjUAAFY2AABWNwAAVkEAAFZCAABWQwAAVkQAAFZFAABWRgAAVkcAAFZIAABWSQAAVkoAAFZLAABW
-TAAAVk0AAFZOAABWTwAAVlAAAFZRAABWUgAAVlMAAFZUAABWVQAAVlYAAHBvcnQAAAAAcHJvdG9j
-b2wAAAAAZ2xvYmFsAABmdW5jdGlvbgAAAABmaW5pAAAAAHJlZwBmaWx0ZXJNb2RlAABmaWx0ZXJN
-YXNrAAByc3NfZ2xiX2NvbmZpZ19tb2RlAHJzc19rZXltb2RlAHJzc19nbGJfY29uZmlnX29wdGlv
-bnMAAHNnZV90aW1lcl92YWx1ZQB0c2NoX3RpY2tzAAB0cF9wbXJ4AHRwX3BtcnhfcGFnZXNpemUA
-AAAAdHBfcG1yeF9mbGFncwAAAHRwX25yeGNoAAAAAHRwX3BtdHgAdHBfcG10eF9wYWdlc2l6ZQAA
-AAB0cF9wbXR4X2ZsYWdzAAAAdHBfbnR4Y2gAAAAAdHBfbXR1cwB0cF90Y3B0dW5pbmcAAAAAdHBf
-dGltZXJyZXMAdHBfdGltZXJ2YWxzAAAAAHRwX2JhY2tvZmZ2YWxzAABzY2hlZF9pb3F0eF9icF9w
-cmlvcml0eQBwbF90aW1lb3V0X3ZhbHVlAAAAAG1lbWZyZWVfY29uZmlnAABtYwAAbnZmAHd4X2Nh
-cHMAcl9jYXBzAABuaXFmbGludAAAAABuZXEAbnFwY3EAAAB0cF9zcnEAAG5ldGhjdHJsAAAAAG5j
-cnlwdG9fbG9va2FzaWRlAAAAbnZpAHJzc252aQAAcnNzbnNlY3JldAAAbmV4YWN0ZgBucmF3ZgAA
-AGNtYXNrAAAAcG1hc2sAAABuZXRob2ZsZAAAAABucm91dGUAAG5jbGlwAAAAbmZpbHRlcgBuaHBm
-aWx0ZXIAAABuc2VydmVyAG5oYXNoAAAAdHBfbDJ0AAB0cF9kZHAAAHRwX2RkcF9pc2NzaQAAAAB0
-cF90bHNfa2V5AAB0cF90bHNfbXhyeHNpemUAdHBfc3RhZwB0cF9wYmwAAHRwX3JxAAAAaXNjc2lf
-bnRhc2sAaXNjc2lfbnNlc3MAaXNjc2lfbmNvbm5fcGVyX3Nlc3Npb24AaXNjc2lfbmluaXRpYXRv
-cl9pbnN0YW5jZQAAAGlzY3NpX21heF9zZ2UAAABwcG1fbWF4X3pvbmVzAAAAcHBtX3pvbmVfcmFu
-Z2UwAHBwbV96b25lX3JhbmdlMQBwcG1fem9uZV9yYW5nZTIAcHBtX3pvbmVfcmFuZ2UzAGZjb2Vf
-bmZjZgAAAGZjb2VfbnZucAAAAGZjb2VfbnNzbgAAAGZjb2VfbmZjYgAAAGRjYgBkY2JfYXBwX3Rs
-dgBkY2JfZGNieF9wcm90b2NvbAAAAGh3bQBsd20AZHdtAGRlYm91bmNldGltZQAAAABhbl9hZWNf
-dGltZQBmZWMAYWVjX3JldHJ5X2NudAAAAHNwZWVkAAAAdmVyc2lvbgBjaGVja3N1bQAAAABTZXNz
-aW9uVHlwZQBPRk1hcmtlcgAAAABJRk1hcmtlcgAAAABEYXRhRGlnZXN0AABIZWFkZXJEaWdlc3QA
-AAAARXJyb3JSZWNvdmVyeUxldmVsAABJbW1lZGlhdGVEYXRhAAAARGF0YVBEVUluT3JkZXIAAERh
-dGFTZXF1ZW5jZUluT3JkZXIASW5pdGlhbFIyVAAATWF4Q29ubmVjdGlvbnMAAE1heFJlY3ZEYXRh
-U2VnbWVudExlbmd0aAAAAABJbml0aWF0b3JOYW1lAAAASW5pdGlhdG9yQWxpYXMAAERlZmF1bHRU
-aW1lMldhaXQAAAAARGVmYXVsdFRpbWUyUmV0YWluAABNYXhCdXJzdExlbmd0aAAARmlyc3RCdXJz
-dExlbmd0aAAAAABNYXhPdXRzdGFuZGluZ1IyVAAAAFRhcmdldE5hbWUAAFRhcmdldEFsaWFzAFRh
-cmdldEFkZHJlc3MAAABUYXJnZXRQb3J0YWxHcm91cFRhZwAAAABBdXRoTWV0aG9kAABTZW5kVGFy
-Z2V0cz1BbGwAQ0hBUF9BAABDSEFQX0kAAENIQVBfQwAAQ0hBUF9OAABDSEFQX1IAAERpc2NvdmVy
-eQAAAE5vcm1hbAAATm9uZQAAAABDUkMzMkMAAENSQzMyQyxOb25lAE5vbmUsQ1JDMzJDAENIQVAA
-AAAAQ0hBUCxOb25lAAAATm9uZSxDSEFQAAAATm90VW5kZXJzdG9vZAAAAElycmVsZXZhbnQAAFJl
-amVjdAAATm8AADUAAABDSE5ldCAxLjAwAAAAAAAMAAAAAAEAAXwADAEAAAAAEAAAABQgBmz4AAAD
-BQ5AAAAAAAAQAAAAKCAGcAAAAAMwDlAAAB/8AAAf/AAAH/8z8B//M/AgBoOAIAaG8CAJNDggCTQ4
-IAoAACAKgAAgCoAAIArmgCAGg9AgAAAAIAMAACALACAAAEAAAACABwAAgAQAAIAAIAt7EAAACADh
-AY4AAAGRDIAAAAAgC3rw///z/yALeqAgC3swH/8UEAAAuO4AADQAAAC07gAAtP8AALQAAAC4AB//
-LuQgCwBQIAMQeCALe1AgC3uQFaAAAAAAg/0gAw7YIANRvAABQUoAAQFuAACD/yADDzgf/zFQAMAA
-ASALe6AgCwCQIAMQiCALAgAgCwIwKMAAAEAAAAIgAw+EKKAAAIAAAAIgCwMgH/8uEB//LrAAAP//
-4QAAAAEAAAAoAAAAawAAACADDwAgCwNQEAAAAO4AAAADYAAAIAt8MCADSwggC3xQAAAnECADU3Qg
-C3ygIAsDoEAAAAAgAxDIIAsEIAPgAAAgAwAgH/8uYB/84gAf/y104QMGAP/f///f////AAEACgLm
-AunhAv4AIAMAMOEABgAAAgAA//3//wCYloAAD0JArWU0XTuayf87msoAAARMAB//LsAAAK8A4QEO
-AAAAiPcAIAAAAT8BQAAsY0gAB6EgH/8tFCALfNAgC30wCAAAAB/84uQgA12MH/8urCALBFAgCwWA
-IAsEgA88AAAgCwUQIAPrICAD7QQgCwXgDwAAACALBkAf/wfgH/8GEB//CNAgCwawIAsG8CALBzAg
-Aw0gIAMS8CADEnAgC37AIAMSUCALfvAgC32gIAt+ACALfmAf/y8E4AAAACAAS1gf/zAUAP///yAL
-fxAgCwfAIAsIICALCHAgCwfwIAO6qAAIAAAgA7/AH/8uoCALCgAgBoCAIABIPAAP/AAf/xo4H/8b
-kAAAMAAgCwpAIAsK0CALC3BVAAAADgAAACALf7AgAxNoAAAIBh//LpwgCwugIAsMgAAAD/4f/y68
-IAsNECALDOAAAPAAIAt/0CALDTAgCw2QIAsNwCALDiAgCw5wIAsPMCALf/AgCw7QIAN4MCADkfwg
-Cw+QIAsP0CALEEAgCxCQIAuAwCADmNggA560IAuAgCALEUAgCxDQIAsRsCALEhAgCxKAIAaGsCAL
-EwAgCxNA7/////f///8gCxOgIAsT8CALFsD9////IAsUUCALFMAgA6E4IAsVICALFYAgCxXgIAsW
-MCALFnAgC4EQIAMTYAAQQAAgAxL4DAAAAIEAAAAEAAAIH/8IQB//CUAgAxYAH/8IID/////P////
-IAsXIB//CPwf/y6kIAsXYCALF6AgC4EwIAsYIH///6sAAJxO///QTQAA0aT//y5cIAsYoCALGGAg
-CxfgH/8IPAAQSAAgAxL8H/8IOAAAIAAgAxYAH/8IoCALGOAgA8OcIAsZkCADTEAgC4HAIAuBUCAL
-gaAgA8e4A//QAAAAD/8AAQAAIAuC0B//GyAAQAAAABAMAIP/0AAgC4JAIAN4ACALgwAf/y90IAsb
-UCALG5Af/y0gIAuDgCALG8AgCxvwIAscECALHEAgCxyAIAscwCALHTAf/y74IAseQCALHYAATEtA
-IAPDVCALHdAgCx6ABAEACCADo8AgCx8AIAsesCALIQAgC39wIAPdMCALf0AP9oAAIAshYCALg7Ag
-AFz4IABeeCAAWvwgCyEwIAsicCALIZAgAFicIAsiICALIqAgCySQAACOAiALJQAgCyVQIAsloCAL
-JMAgCyXwA4AAAB//MWAgCyZAIAsmkP/3//8gCyeAIAPX9CALKEAgCykAIAPcICAD1ewgA8O8IAPb
-VCALKUACAAAAIAspgAAAF3AgAxC0IAuEoCALhFAgC4QwIAP9eCALhAAgC4SAIAMQRCADEJQgCypg
-IAsqsB//LUAgCyrQIAsrAOEAXgAgCysgH/8sDCAGgXQgCytQH/8rKOEAfgAf/y1QH/8uuAAA8/8E
-AAAAFAAAACAEBxgqAAAAIAssAB//L3AgC4VwIAAiOCALhUDgAAYAH/ziCOAACgwf/x2AIAsskAAA
-nEDgAAoAH/8eEOAADYAAnAAA4QAuACALLXAgCy5QIAsuICALhmAgCy3wH/8enCALLbAAAwTA4QMC
-AOD//gDhAI4AH/8WLAAAloAAAJZAIAaDgAAAlqAAAJZg4QMALAADAADhAHoAAAHgAOEBkgAAAeMA
-BgAAACAEHdj4AAAAAf//5wABQAAgAACAAAAQAB//LQTPAAAAHAAAAB//KzjhAZoAABAAAB//L6Ag
-AxBMIAMQXCADEFQgAxBkgAAAAx//LrT//P//H/8VzH////8f/OIEH/8V3B//Flwf/xX4IAY0+CAE
-LiAgC4nAIAuKACALijAgC4pwIAuKoCALiuAgC4sQIAuLUCALiXAAD/////8AAP/wAAAf/y6MH/8y
-YB//KlQgBDswIAuMcCALjKAgC4wQIAuLsB//HJgf/xsMH/8cOB//HpgAAAnWAAD/gAAAPAAAACMn
-IAsvYAAAkBAAAJEAAACQIAAAkRD/+///AAQAAOEB4sCQAADw/P8AwAIAACD+/wDAIAsvsCALL/AA
-APgAAAMBCAADAVCP////AAMBDCALMEAgCzCQIAswwCALMQDhAO4AgAH//4AA//+AAQAA4QDeAAAB
-ERQAARMAAAMDCAADAgAf/y1E///gAP/+//8AAPwAH/8u1AABwAAAAAwAAAMDBAABERAf/y7MIAuN
-AAAgEACAABAAAAMBBP//wAAAAP/+AAAlgAADAwAf/y084P3iwB//K6gf/x4sIAuNUCALjYAgC42g
-AAD//SALjTAgAwCIAAD/8yALMVAAACowAAD/+AAA/48AAFK1AABICgAAj4IAAI+GAAA4AAAAj4oA
-AOM/AACDrgAA//EgCzFwAAAQQP//z78gC43AAAASACALMaDhAy4A4QMyAP7////hAwEIIAsxwCAD
-AJAgCzIgIAsx8ACAAAAgC43g///mACALjrAAAP/7H/8rrAAA5/8AABgAAAD+/wAA/8AAAP8/AAD5
-/wAA//cgC44QIAuPACALj1AgC4+wIAuOcCALMtAgCzKQIAsyYAAAwAAgC4UAIAuEwAAADLwgCzXQ
-IAMBQCALNjAgCzYAIAs5ICALOOAgCzigIAs4YCALOCAgCzfgIAs3kCALN1AgCzcAIAs2sCALNnAg
-C5LAIAuS8CALkyAgC5NgIAuToCALk9AgCzpQIAs6ACALOWAgCzmgAACAwgAAGyEf/ys8IAs6gCAL
-lAAgC5RAIAuUYAD/wAASAAAAIATNaCALlRAgC5TQAACgAGAAAAAf/y8oIAuWkCALOqAgCzrQAAAc
-ICALOwAgCztgH/8tiCALO6AgCzswIAs9UAAAf6YgCz3gIAs9cCALPhAgA0HYIAs9oCALPnAgCz5A
-IANDGCALPqAgA0iIIAuXcCALQBAgC5nAIAtBMCADEuAgC0BgIAtBUCALQMAgAxOEAAASDyALQZAg
-BPdE//9AACALnEAgC0JgIAtC4CALQzDhAZGsAAGRrL////8gC0NgCwAAACAE/bAgC0PQIAtEQCAL
-RLAgC0TgIAucgCALnQAgBIDwIAMQhCALnbB///8PIAtGAMAAAAAf/y1w/AD//+EAlgDhAJoAAAAJ
-/+EAngAAALAAH/8vPCADAYAgC0ZA4QAOAOEAEgD/4DgAA/+ADgBz/4ADAAAAADj//xMAAAARAAAA
-H/wAACALRoAgC56wAAGUjwABlM8gAwGgH/8eZCADBiAgC0bAIAtHACAGf3AgC0cwH/8sXB//FKQf
-/yzcIAMHEAAEFAAf/x10H/8b/B//HWzhAFoAAgGwAB//FcQgC02gIAtN8CALTlAf/y8QIAtPIB//
-LFgAP///H/8cFB//LQwAAP+XAAD+1f//q5Mf/y6YFLAAAIAAAATCAAAOFqAAAAXcAQAgoAAAP/AA
-ACOgAAAD/wAAF5AAAMAAAAEgC0+QIAtP0CALUCAgC1BgIAtQsCALUPAf/y+EAgAAECALUzAf/y0k
-IAtUQCALhaAgC1TQAAD+ACALo6AbAAAAAAUAAjrAAAAgC1UQIAVFsCALpGAgC6PwIAukMCAFTCgg
-C6PQ//9//yALVUD//8H////fzwAA4AD//5//IAtVcCALVaD//98wH/8rQCALVdAf/xYwAAD/3+ED
-KgD//+3/H/8rtCADB5AgC1YAIAMH8CADCFAgC1YwIAaDsCAGg7ggC1ZQAAGQ+P/8+H8gC1aQIAtX
-ACAGgEQAABOIIAtXMAADAAIf/x4oIAtXsCALV2AgC1fgIAV/eB//K6ThAxAE4QMSUCALpPABMBjA
-AAGGoAF9eEACYloABfXhACALWEAgC1ggIAulMCALWGAgC1jgIAtYoCALWSAgC1mgIAtZ4CALpXAg
-C1lA4QMABOEDADAf/yu4AAQF7uEDAQThAeIAH/8eTAAB///hAZ4AAAGfNAABnzggC1ow/7///x/8
-3gAf/xZEAAUABB//LsQf/x5UH/8eWAAAiQYAAIkUIAgAAB//LRAgCE6wIAgGYCAIjwAgCAVQIAgC
-ICAIAzAgCARAIAgBEB//L0Af/yroH/8cMCAGgIQf///wH/8pSB//LCAgAWjE///3AOEAdgAgAxDA
-IAujcCALqsAf/y5MIAthkCAGhdAgBoZ6IAaGcCALZCAUkAAAQAAABAAAUAAgC2SQIAtkwCALYpAg
-A5hwIAti0CALYzAAAI/+IAtjgCMoFQAD/wAfIAtj4CALrCAgC6sgIAuroP/oD/+//w8A//8PAAAQ
-gAAgC2UwIAY0sN6tvv8gBbfoIAMIsAHIAAbhAZng4QESACALenAgC3rAAAB+UAAAfkAAAH4YIAXE
-sCADFjAgAxY0IAMWKCADFjggAxZEIAMWTCALaKDhAZoE4QGaCOEBmgwAAwAGH/8eSABRAAYgC2nw
-IAtqIB//HxAgC2pQIAtqgCADFNAgAwjgIAtqwCALaxANAOAA4P8H/wgA4AAFAMAACQBgAAUAoAAA
-AzAAAA4AAADgAAD/AP///w///wAAgAP//3/8AABwAP//D/////AAAAAPGyALpKD//7//AP8AAAAD
-LBwAAywYIAMVAOEDDgDhAxIEIAuxYCALsTAgC7DQIAuxECALsYAgAwkgIAMJgAADEhAgC2tQBAAA
-AQQAADEf/xWoBIAAAfsP/34+PgAPIAukwAADDQgAAw0cAAMNIOEDJgAAAwogAAMKHAADCgjhAwoU
-AAA/4OEDEgAAALmT///v/+EDRgAEAACBBAAAsTMhaMFj5sTwM5tlxdg9eaIgAwngAAST4CADCkAg
-C2vQIAtroCALbAAgBoCUIAtsMCADClAgC2yAAAD+wSALbQAgC20wIAtswCALbaAf/y24AB6EgAAA
-GMQAAAjgAAMSBAADEhQAAwg0AAMqHAADKjwAAypcAAMqfCALrlAgC6ygIAus0CALrQAgC61AIAMU
-wCALrFAgC61wIAuuMAAAdTAgC62gIAut4CALsAAAAwh4AAMIAB//KcwgC6+gIAuvwCALrrAgC7Ag
-IAuwQP//Y+8AAywAIAuu4CALrxAAAywEIAuvQCALr3AAAyw8IAuwYAAA/+8gC24QIAux0CALsiAg
-AwrAIAuxoCADCyAgAwuAIAML4CADDEAf/xnMgA8AAN///gDgAAEA4QHiQCAGhCDhAeKQH/8vRAAA
-MYDAAAAGAABcSAAAKUAgBifQIAtwsCALcJAgC3BwH/8WVIAAAEThAFYA4QBW4OEAXnAgC3DgIAtx
-ACALcTAf/y1IIAuyYAAAMUQAAGRMAAA5hB//FVQAADGEAABcTAAAKUQgC3FgIAtxkCALccAAAD4E
-HQAAAB//L2wgBoG0ADAAACADE9QgC7NgIAu0ECALspAgC7LQIAu0kCALs7AgC7MQH/8sZB//Lxgg
-C3IwIAYtbB//MhAf/zBQH/8zpB//M7wf/zPUH/8zqB//M8Af/zPY7f///wACYlr/5///bf///wAa
-QQAAGkGA/+W+fwAAGhoAlAAA8AAAAAADCQQgC3Jg4QM6ACADDKAf/xxIIAMNAB//HFAgC3KA4AAN
-kCALctDiAAAAIAqAAB//FPAAABxgH/8rGB//LIif////IAu38L//8P8f/xbYH/8t9CALdWAgC3Yw
-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
-AQUFAT4PBQUBLgSBgQEbAgEBAA4CgQEBLgKBgQAOAgABAA4CgQEADgIBAQEaAYGBAQ4CAQEAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4CgQUAAAAAAAAAAAAAAAAAAAAAHgIBAQAAAAAAAAAA
-cwAAAH0AAACHAAAAkQAAAAAfAAAAAAAAAQAAAAAAAAACAQAAAAAAAAQCAAAAAAAABhQAAAAAAAAH
-EgAAAAAAAAgDAAAAAAAAChUAAAAAAAAPEwAAAAAAABAEAAAAAAAAIAUAAAAAAABABgAAAAAAAIAH
-AAAAAAAAwBYAAAAAAAEACAAAAAAAAgAJAAAAAAADABcAAAAAAAQACgAAAAAACAALAAAAAAAMABgA
-AAAAABAADAAAAAAAGAAaAAAAAAAgAA0AAAAAAEAADgAAAAAAgAAPAAAAAADAABoAAAAAAOAAGwAA
-AAABAAAQAAAAAAGAABwAAAAAAcAAHQAAAAAB4AAeAAAAAAIAABEAAAAABiF6AAAABQAAAAQAAAAE
-AAAAEgAAAAQAAAAbAAAAFgAAAAAAAAABAAAAAQAAAGwAAABsAAgbMgAAAAYAAAAEAAAADAAAABEA
-AAAEAAAAHQAAABQAAAAAAAAAAQAAAAEAAABwAAAAcAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiH/AAAABwAAAAIAAAACAAAAEQAAAAQAAAAeAAAA
-GgAAAAAAAAABAAAAAQAAAHQAAAB1AAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAw1AAAAAAgAAAABAAAACgAAAAgAAAAFAAAAHQAAAB0AAAAAAAAAAwAAAAEAAAB4AAAA
-eQAMNQAAAAAIAAAAAQAAAAoAAAAIAAAABQAAAB0AAAAdAAAAAAAAAAMAAAABAAAAeAAAAHkAAAAA
-AAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOThwAAAAJAAAAAQAA
-AAYAAAAGAAAAAgAAAB4AAAAeAAAAAAAAAAEAAAABAAAAfQAAAHoAAAAAAAAAAAAAAAAAAAAJAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDZkAAAACgAAAAwAAAAJAAAAEQAAAAQAAAAdAAAAHQAA
-AAAAAAABAAAAAQAAAAAAAAB+AAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAML5MAAAAJAAAAAwAAAAoA
-AAAXAAAABgAAAB8AAAAcAAAAAAAAAAEAAAABAAAAYQAAAHMADDUAAAAACQAAAAMAAAAKAAAACAAA
-AAUAAAAdAAAAHQAAAAAAAAADAAAAAQAAAGEAAABzAA05awAAAAoAAAADAAAABgAAABoAAAAPAAAA
-HQAAAB0AAAAAAAAAAwAAAAEAAABkAAAAZAANu6AAAAAKAAAAAwAAAAYAAAAJAAAABQAAAB0AAAAd
-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
-AAHyjAAB9owAAfqMAAH+jAAAjcwAAI6AAAB+dAAAj9wAAZFYAAGScAAAj/wABBMcAAQTGAAEExAA
-AHfgAAB35AAAd/QAAHgEAAGcPAABEHQAARCEAACUCAAAmFwAAJYMAACWFAAAliAAAJYsAACWxAAA
-0CgAAJAIAAMI3AADSNwAAwjkAANI5AABkFQAAGAcAAGg2AABkJAAAHfgAAB35AAAd/QAAHgEAAB4
-2AAAeOAAAHj0AAUAeAAFCHgABRMIAAGUBAAB48AAAefAAAHrwAAB78AAAfPAAAH3wAAB+8AAAf/A
-AAGUDAAAMACf//9AAAAwCJ///0AAAZQQH//n/wABlDQAAAAQAAGUCB//4/8AAZQ4AAAAEAAAEChg
-////AAAQLGD///8AABA0Afxf/wAAEDgB/F//AAAQQAAEAAAAABEQAP///wAAERQA////AAB7KAB9
-/+IAAHswf//u/wAAezgAAAABAAB7QH//7v8AAHwkAH3/4gAB4ogACAAAAAHmiAAIAAAAAeqIAAgA
-AAAB7ogACAAAAAHyiAAIAAAAAfaIAAgAAAAB+ogACAAAAAH+iAAIAAAAAI3I////8AAAjdD////w
-AAB+cH+//38AAH54f7//fwAAfgACwAAAAAGRVAH///8AAZGcAf///wAAj9gDf///AACP+P////8A
-BBMUAAAABwAEEwwAAAAKAAB33AAAAAcAAHf0/////wAAeAQAAAADAAGcODnBv/kAAJAEAAAAPgAB
-EHgBjAYAAAEQfAGMBgAAARCIAAAAAAAAlAQACd/gAACUEAAJ3+AAAJhUAAAB/wAAmFgAAAH/AACW
-CAAAAAAAAJYcAP///wAAliQA////AACWKAD///8AAJYwAP///wAA0CAAAAAPAADQJAAAAA8AAwjY
-AAAAAwADSNgAAAADAAMI5AAAAAMAA0jkAAAAAwABkFAAAAD/AAGg1AAAAYMAAZCMADgAAAABkJgA
-OAAAAAUAdAAAAC8ABQBwAAAALQAFCHQAAAAvAAUIcAAAAC0ABRMEAAAAPwAAAAAAAAAAIAMW/CAI
-0pggAxcAIAjlkCADFwwgCOSYIAMXGCAI5DwgAxcsIAjjOCADFzggCOKEIAMXUCAI4RggAxdgIAjf
-yCADF2wgCN6oIAMXdCAI3nwgAxeIIAjeUCADF5ggCN4YIAMXpCAI3PggAxesIAjczCADF8AgCNyg
-IAMX0CAI3GggAxfcIAjavCADF+QgCNn4IAMX9CAI2OggAxgAIAjXyCADGBAgCNawIAMYICAI1YQg
-Axg4IAjSQCADGEwgCNH4IAMYXCAI0PwAAAAAAAAAACADGGAgCNCwIAMYZCAI0DAgAxhsIAjP+CAD
-GHQgCM/AIAMYgCAIz4ggAxiEIAjPUCADGIwgCM8YIAMYlCAIzuAgAxigIAjIMCADGLQgCM6oIAMY
-uCAI0GggAxjAIAjOcCADGMwgCM44IAMY1CAIzgAgAxjcIAjNyCADGOQgCMqoIAMY7CAIzXQgAxj4
-IAjNaCADGQAgCM0wIAMZCCAIzPggAxkQIAjMwCADGRwgCMyIIAMZJCAIzFAgAxbUIAjIXCADGSwg
-CMf4IAMZNCAIx8AgAxk8IAjHiCADGUwgCMdQIAMZWCAIxxAgAxloIAjG2CADGXAgCMagIAMZeCAI
-xmggAxmAIAjGPCADGYwgCMYQIAMZmCAIxdAgAxmwIAjFpCADGcwgCMV4IAMZ3CAIxUwgAxnsIAjF
-ICADGfwgCMT0IAMaDCAIxMggAxocIAjEnCADGiwgCMRwIAMaOCAIxEQgAxpEIAjEGCADGlAgCMPQ
-IAMaXCAIwmggAxpgIAjAiCADGmwgCL+IIAMagCAIv1AgAxqEIAi/GCADGoggCL7gIAMajCAIvqwg
-AxqcIAi+RCADF5AgCL0kIAMaqCAIvQggAxqsIAi8tCADGrwgCLxgIAMaxCAIvDQgAxrMIAi8CCAD
-FuAgCOjIIAMW6CAI5+ggAxbMIAjnKCADFvQgCOZsAAANAB//AAAf/wAYH/8UECAIAQAf/x0gIAtH
-gAAKAADhBBIA4QQCAOED/gD/wf//ABAAAEIHCAACAAAA//+A7gAA8AAAABUAUAAAAAYAAAAABgAA
-EPAA8AAAMAAAwAAAQDBCAAEAAACABAAB4AAAAIDACAABAEQg+OD//3AA/+CAMwABDw8AAAAgAAAA
-MAAAABAARoAAAAEf/wDAAAARAIIAAAHAAAQAAAAP/1////8gAAAAIAtHoBAAAAAgC0fQAAQTACAL
-R/Af/x2gIAtIEB//HMggBoPQH/8vECALn5DhAHYAIAufACALn0AgC0gwH/8faB//HvDhAZoAAAGe
-DOEBngAAAZ6sH/8fcB//G/wAAf//AAGfTAABn5wAD0JA4QB6ACALSMAgC0kQIAtJcAAA//8/////
-IAtJ0CALSkAgC0qAIAtKwCALSwAgC0tAIAtLgCALS8AgC0wAIAtMQB//ARAf/x0kH/8dkCADE/Ag
-AxOQ/wD//wAMAACAAAAfgAAAPx//K7gf/xYs4QDOAERERESIiIiIzMzMzB//Lzgf/x0QH/8cmOEB
-DgAAAEAA4QCOAAAAgADMiEQAH/8GEB//HZQf/y8gAAAIACALTMAgC00gAAALAAAACsAgC6CAIAtM
-gCALoBAgC5/Q4QAuAAQAAAAf/xZU4QBWAAQBgACIAAEA//GBAAABgAAgCAAAIAgRVAAAElDhAZIA
-AAMAAAACAAAAfwBAAIIAgAABAAAAwQDAH/8cnB//L0DhAA4A//8j/wAAyAAQIAEg4QB+ADwAAAD/
-/7//UGjoR5IAAADwAPAA37//+yAAAAR/9///gAACAP7/////9/9/AAB+GP//8AAQARABIAEgAQAA
-fkAVFRUVISEhIRAQEBDhAY4AAAD+fwQEAYCAAAAA4P/+ACAICyQA/wD/AEAAQP//P/8gC6EwIAuh
-YP8P////wP//IAug8CALoZAf/xxIH/8sFB//LhAf/x4QIAtOoB//Hpgf/xwUAAD//YAPAAAf/ywE
-IAuigOMAAgDi//8AIAtO4CAI5mwAQAAAIEAAAACAAAAggAAA0AAAACALocAgC6JQAAAQACADDUwf
-/zFQH/8tOB//ATAf/y6wIAujUCALUTAgC1GwIAtSICALowAgC6LAIAujIB//LVAgC1KwAAAoAAAA
-P/8AAMAAAAQAAOEAMgAf/x48//AAByALpiAgC6XQH/8BYB//AaAf/wHgH/8bkAAAe2Af/OIACAAA
-AB//K6Qf/xXE4QL+AOEDvgDhAz4A4QN+AOEB4gDhAJIA4QESAP//8P8AAZwIAAGcBAABAAX/8AAA
-AGAAACALpnDhAZoE4QGaCOEBmgwgC1pwIAta0B//AmAf/xz8H/8cEB//Lzz/8P//IAMR6B//GhAA
-AH5MIAtcQOEAigAgC1tAIAtboCALXAAf/xacH/8yYB//LyQf/ysQH/8tBCALXHAgC1zwIAuooCAL
-XKAf/y0sIAtdcCALXTAgC6cgIAtd4CALXiAgC15gH/8s3CB//gAgC6mQH/8qEN/AAAAgC6jwIAup
-MB//LOz/gAAA///gACALXqAgC17QIAum0CAGgIQgAxH0H/8vFCALXxAf/yxIH/8bEB//Krwf/x+Q
-IADE8B//ulAf/7mQH/8uvB//u2QAABOIAgCCEAIAAhAAACAAAgAAEAAaAAAA+saI8AAAAB//LTwf
-/xU4H/8rRB//FhjhAwIAIAaAGAAA/98AAP/3IAtgIB//AnAgC1+wIAtfgCALX1AgC1/gIAZ/cH//
-//8gC2BwIAtgQCALYKAf/x5QH/8cKCALpZAAAPgAIAMUAB//FmgAPDw8H/8aoB//LqwgCAx0IAaA
-YCADFBAf/xZcH/8U6P//x/8f/xvMIAuoUCALp/AgC6qAIAthQCALqiAgC6nwIAtg0CALqlAgC6eA
-H/8caB//HGAf/yqIH/8qhB//K7QgC2VQIAtloB//K7AgC2YQH/8C8B//K0AAACcQIAtmQB//Kjwf
-/xyoH/8cpB//AxAf/yuoH/8uuCADDbQgAxA0H/8DMB//HiwgC2awH/8rUB//K1Qf/ytYH/8rjB//
-K4gf/yuEH/8rgB//K3wf/yt0H/8rZB//K2gf/ytsH/8r2B//A2AAAEADH/8VVB//HEQAD//wIAtm
-8B//BBAf/y9UIAtnUB//HVggC2egH/8dLCALZ9AgC2gAH/8EIAAAJYAgC2gwIAtocB//GtQf/xow
-H/8EQB//HEAf/xrYH/8aLB//BEggC2kwIAto4B//HYD//wAAA+f8GCALaVAf/wRQH/8sGCADDhjz
-////IAMOICADDiwgAw44IAMOCA////8gAxRAIAtpsCAIEUT//+3AIAgQ5P//7iAgCA90///vkCAI
-DqQgCA9s///wYP//AAEAAf/+AARwFAAEcCgABHAgAARwPAAA/wAABHAsAAD/gAAAj4AgCAaUIAgG
-hB//BKDS8an8P1BiTUAkAAAABACEAPAAAEIHyADCB8gAAAQAgM8P6AAABAKAAAQBAAAAfwEAAQRq
-IAgGFCADFZAABAJAIAMVYAAEAkQAAB+fAAQCSAAAFvgABAJMAAQCUAAEAlQABAJYIAMVMAAAHD//
-/w//AAQCAB//FggF9eEA4ADwAAAEAgQABAII/w//PwACCNWgte2NPrDG9z/wAAAAAmJaAAYagP8/
-//8ABAIMIAuyQAEABEAABAIQfz93/wAEAhQHAAAAAAGGn4//AA8ABAFAAAQBROBw//8ABAFIAAQB
-TPBw//8ABAFQAAQBVAAEAVgABAFcAAQBYAAEAWQABAFoAAQBbAAEAXAQEAAAAAQBdAAEAXgABAF8
-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
-DbMJGUDp6OfAENAMke0808APWAt/KzR96D7TwA0AAikvEiPvP9PAERAM4e4w1EARCAzR7THUQBDA
-DLErNIIoIX3pANhAEKgBqBv0xCk0eSk0eOm/xUAIAAAHZMHUF/S9LHJk5HvKwA0IARzqEslADoAA
-MBr0uSqioikiYqo6CaoRqpkqkRwPqhEqlRwtIX/qC47ADQAL3SySGikWEeq470ANAAl8LRIRmhrq
-H8hAEQACseo4kEAQWAzt7hnIQBCQC93tHchAC5gJ6eoZyUAQiAyR6BywQA2QAKqNGeSR0cAQaAyx
-6JPBQBDoDPHlkclAEEAMweycyEAQgAzp75/IQA6AAMHrksFAEoANua3/rlXtm8hADzgLyyuUUChw
-fesLhsAQCAIzq0TvHckAAYgD+Oue0cAIAAAsGvRCCro26RHJQAzwCqDqnMFACfgPWwAACgpP6RHJ
-QAn4D04AACuQXixyZKtmDwIA4hTwH/g4C8PqGclAEJAMoeVxysAQgAzhJHZm5nfKwA6AAdDqEskA
-AagK7cCi7Cd4wA6AALDt6O9AC8AInikhfRL0a+gSsUASWAzyCWlACY85LyZL4q7fwA+gARAsIX0r
-cksMbEDiGbFAD1gLyut7yMAPoAEQZY4TKSGCZZ4NJyGA6z27wBQIC4ItMH7oGIBAD1gLf+s908AP
-WA2O7T7TwAn4DjZlvVhlzVVkfZcqFhItFiQZ9FAvFiUuFiYilZsrlZ3sn8VACfgNTisSGmW+JCwh
-gmXOHmV+Gx70Rik0ee/jrkAUqAveKTR4KeWf6eLJwA9oDf3t7cVACfgN/Bj0OyiCZWSAee8A2EAO
-gADQ7gDYQA6AAMDiANhADoAAgOQA2EAOgABg6gDYQA6AAFDlE8lADoAAcOcSykAOgACw6xnJQA6A
-AHDqGMlADoAAsOYTykAOgACg5BDJQA6AAGDkANhADoAAUOgRykAOgACA6B3JQAn4C54AAOIZsUAP
-oAEQ7wDYQA6AANDuANhADoAAwOQA2EAOgACQ6RjJQA6AAIDoEcpADoAAUOUTykAOgACg6hnJQA6A
-AGDmEspADoAAoOQQyUAOgABg5ADYQA6AAFDsHclACfgMp2wQBBjz29MPIoF7wDXmANgAAYAFMhfz
-qSlyf8qS5BB4wA+YAFZtCBUmRPAqcn/lUZBAF/gCquRBkEAQOAdaY//jI4F9eT8cej8ZK4F+zbMs
-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
-u4/s28tAEBADzOzcy0APoAEQAABsEAQbuSTqw10gApABAmgiauKRkEANAAhJ5BDYIACQAiJgADMA
-aWQDpaiXgHJLKNow60jvQAugCjLkQZAgAIgBBmli4KWp55DAQAn4D+Klq+ew0EAJ+A/Y0Q8AACyy
-oSmihqPMCcwRrJloYXdoYn5pZOWlnefQyEAPoAEQGbk6qTkpkO1oQDfiQZBADQAG2XJDnGP/wgAA
-AAAssqEpooajzAnMEayZ5EGQIADYAQZoYh1oZCTiFPAf+7gLJGP/mGWfTmP/kqWY54DQQAn4D+ml
-muegwEAJ+A/fpZvnsMhACfgP1QClnOfA0EAPoAEQpZ3n0MBAD6ABENEPAAAAAAAAAAAAACADFlAM
-wAAGIAY88CADFlQIwAAMIAY88CADFlg8wAAQIAY8OCADFlwGwAA4IAY+WCADFmAIwAA8IAY88CAD
-FmQCwABAIAY+WCADFmgIwABEIAY88CADFmwIQABMIAY9gCADFnAIQABQIAY9gCADFnQoQABcIAY9
-gCADFngoQABwIAY9gCADFnwoQACEIAY9gCADFoAoQACYIAY9gCADFoQoQACsIAY9gCADFogoQADA
-IAY9gCADFowoQADUIAY9gCADFpAoQADoIAY9gCADFpQQQAD8IAY7UCADFpgQQAEMIAY7UCADFpwQ
-QAEcIAY7UCADFqAQQAEsIAY7UCADFqQQQAE8IAY7UCADFqgQQAFMIAY7UCADFqwQQAFcIAY7UCAD
-FrAQQAFsIAY7UCADFrQIQAF8IAY9gCADFrgIQAGAIAY9gCADFrwIQAGEIAY9gCADFsAQQAGIIAY9
-gCADFsQQQAGQIAY9gCADFsgIQAGYIAY9gE5vIHNwYWNlIGluIEREUiEKAAAAAAAAAAAAAAAAAAAA
-aHdfYmNtNTQ4Ml9jZmdtZGlbJXVdIHNldHRpbmcgdHlwZSAldQoAAAAAAAAAAAAAcmVtb3ZlIG11
-bHRpY2FzdCBtYWMgWyV4OiV4OiV4OiV4OiV4OiV4XSBmcm9tIFRDQU0KAAAAAAAAAAAAAAAAAGlw
-djZfam9pbl9ncnA6IGlkICV1LCByZWZfY250ICV1CgAAAAAAAAAAAAAAAAAAAGRoY3A2X3RpbWVy
-X2NiOiByZXNlbmRpbmcgREhDUDZTT0xJQ0lUIGFnYWluCgAAAGRoY3A2X3RpbWVyX2NiOiBzZW5k
-aW5nIERIQ1A2UkVRVUVTVAoAAAAAAAAAAAAAAGRoY3A2X3RpbWVyX2NiOiBzZW5kaW5nIERIQ1A2
-UkVORVcgcmVxdWVzdAoAAAAAAGRoY3A2X3RpbWVyX2NiOiBzZW5kaW5nIERIQ1A2UkVCSU5EIHJl
-cXVlc3QKAAAAAGRoY3A2X3RpbWVyX2NiOiBESENQNlJFUExZIHJjdmQsIHN0YXRlICV1CgAAAAAA
-AGZhaWxlZCB0byByZW5ldy9yZWJpbmQgZGhjcHY2IGFkZHJlc3MKAAAAAAAAAAAAAHR5cGUgJXgs
-IHhpZCAleCwgdHlwZV94aWQgJXgKAAAAaXB2Nl9tdWx0aWNhc3RfcXVlcnlfdGltZXJfY2Igbm9k
-ZV9pZCAlZAoAAAAAAAAAaXB2Nl9nZW5lcmFsX3F1ZXJ5X3RpbWVyX2NiCgAAAABhZGQgbXVsdGlj
-YXN0IG1hYyBbJXg6JXg6JXg6JXg6JXg6JXhdIGluIFRDQU0KAABjaG5ldF9pcHY2X2RhZF9jYjog
-aGFuZGxlICV1LCBhZGRyX2lkICV1LCBhZGRyIHN0YXRlICV1CgAAAAAAAAAAaXB2NiBwcmVmZXJy
-ZWQgYWRkciBbJTA0eCAlMDR4ICUwNHggJTA0eF0KAAAAAAAAU3RhcnRpbmcgYWRkciB2YWxpZGl0
-eSB0aW1lciBmb3IgJXUgc2Vjb25kcwoAAAAAVmFsaWRpdHkgZXhwaXJlZCBmb3IgYWRkcl9pZCAl
-dQoAAAAAAAAAAAAAAAAAAAAAc2VuZGluZyBpcHY2IGVjaG8gcmVwbHkKAAAAAAAAAABjaG5ldF9p
-cHY2X3JzX291dHB1dDogbDJkZXZfZmMgMHgleAoAAAAAAAAAAAAAAABjaG5ldF9pcHY2X25zX291
-dHB1dDogbDJkZXZfZmMgMHgleCwgZmxvd2NfaWQgMHgleCwgdmxhbiBmbGFnIDB4JXgKAAAAAAAA
-AAAAAAAAAGNobmV0X2lwdjZfbmFfb3V0cHV0OiBsMmRldl9mYyAweCV4CgAAAAAAAAAAAAAAAGNo
-bmV0X2lwdjZfbWxkdjJfcmVwb3J0X291dHB1dDogbDJkZXZfZmMgMHgleAoAAGdhdGhlcl90YXNr
-c190b190eF9saXN0OiB0YXNrIGluIHVzZSBbJXVdCgAAAAAAAGdhdGhlcl90YXNrc190b190eF9s
-aXN0OiBpZHggWyV1XSwgdGFzayBmaWQgWzB4JXhdLCB0YXNrIHN0YXRlIFsweCV4XSwgdGFzayBj
-b25uIFsweCV4XSwgdGFzayBmZmxhZ3MgWzB4JXhdLCBjb25uIGZpZCBbMHgleF0sIGRkcCBbJWRd
-CgAAAAAAAAAAAGdhdGhlcl90YXNrc190b190eF9saXN0OiB0YXNrIFsweCV4XSwgc3RhdGUgWzB4
-JXhdIG9uIGNvbm4gWzB4JXhdIG5vdCB2YWxpZCB0byBnYXRoZXIsIHNraXBwaW5nCgAAAAAAAAAA
-AAAAAAAAAABnYXRoZXJfdGFza3NfdG9fdHhfbGlzdDogdGFzayBbMHgleF0sIHN0aWxsIHF1ZXVl
-ZCBvbiB0eCBwZW5kaW5nIGxpc3QuIFJlbW92aW5nIGl0LgoAAAAAAAAAAAAAAABnYXRoZXJfdGFz
-a3NfdG9fdHhfbGlzdDogY29ubl9mYy0+Zmxvd2NfZmxhZ3MgWzB4JXhdLCBsaXN0X2VtcHR5IFsw
-eCV4XSwgYWRkX3Rhc2tfY291bnQgWzB4JXhdCgB0b190eF9saXN0OiBubyB0YXNrIHRvIGNsb3Nl
-IGZvciBjb25uIFsweCV4XSwgYmFpbGluZyB0byByZWNvdmVyeSBzdGF0ZSBbMHgleF0KAHNldF9k
-aWdlc3Q6IHVwbHN1Ym1vZGU6JXgKAAAAAAAAYXV0aGVudGljYXRlX3RhcmdldDogS0VZX0NIQVBf
-UkVTUCAtIFsweCV4JXgleCV4JXgleCV4JXhdCgAAAAAAAGF1dGhlbnRpY2F0ZV90YXJnZXQ6IEtF
-WV9DSEFQX1JFU1AgLSBbMHgleCV4JXgleCV4JXgleCV4XQoAAAAAAABhdXRoZW50aWNhdGVfdGFy
-Z2V0OiBJbmNvcnJlY3QgcGFzc3dvcmQKAAAAAAAAAABDSEFQX0M6IGRpZ2VzdCBleHBhbnNpb24g
-ZXJyb3IKAENIQVBfTjogVGFyZ2V0IHVzZXJpZCBtaXNtYXRjaAoAQ0hBUF9SOiBkaWdlc3QgZXhw
-YW5zaW9uIGVycm9yCgBpU0NTSSBTZWMtcGFyYW1zIHJlY2VpdmVkIGhhdmUgZXJyb3JzISEKAAAA
-AAAAAABUYXJnZXQgbW92ZWQgdGVtcC4gY29ubiAleCwgc2VzcyAleAoAAAAAAAAAAAAAAABMb2dp
-biBGYWlsZWQhIS4gY29ubl9mYyBbMHgleF0sIHNlc3NfZmMgWzB4JXhdLCBzdGF0dXNfY2xhc3Mg
-WzB4JXhdCgAAAAAAAAAAAAAAAFByb3RvY29sIEVycm9yIGNiaXQgJWQgdGJpdCAlZCBjc2cgJWQg
-bnNnICVkCgAAAHJlY3Zfbm9waW46IGN0cmwgdGFzayBhbHJlYWR5IHBlbmRpbmcKAAAAAAAAAAAA
-AG9mbGRfcnhfZGF0YTogYWllZSwgaXNjc2kgY29ubiBbMHgleF0gZm9yIHNlc3MgWzB4JXhdLCB0
-eXBlIFsweCV4XSB0cmFuc2l0ZWQgaW4gdG9lIG1vZGUuIEtpY2tpbmcgcmVjb3ZlcnkgCgAAAABv
-ZmxkX3J4X2RhdGE6IGNvbm4gdGlkIFsweCV4XSwgcnhfZGF0YS0+c2VxIFsweCV4XSwgcnhfZGF0
-YS0+bGVuIFsweCV4XSwgcnhfZGF0YS0+c3RhdHVzIFsweCV4XQoAAAAAAAAAAAAAAAAAAAAAb2Zs
-ZF9yeF9kYXRhOiBjc2sgeyBpZCBbMHgleF0sIGNzb2NrX29mZnNldCBbMHgleF0sIGRsZW4gWzB4
-JXhdIH0KAAAAAAAAAAAAAAAAAABhY3RfZXN0OiB0Y2JfZmMgWzB4JXhdLCBmbG93Y19pY29ubl9m
-bGFncyBbMHgleF0KAAAAAAAAAAAAAAAAAAAAYWN0X2VzdGFiOiB0Y2JfZmMtPmZsb3djX2J1ZiBb
-MHgleF0sIHRjYl9mYy0+Zmxvd2NfdHlwZSBbMHgleF0gdGNiX2ZjLT5mbG93Y19zdGF0ZSBbMHgl
-eF0sIG5wYWdlcyBbMHgleF0sIGZsb3djX3RwX3NuZF9tYXggWzB4JXhdCgAAAAAAAAAAAAAAAAAA
-YWN0X2VzdGFiOiBhdGlkIFsweCV4XSwgdGlkIFsweCV4XSwgb3AgWzB4JXhdLCByY3ZfaXNuIFsw
-eCV4XSwgc25kX2lzbiBbMHgleF0sIGNzb2NrLT5mbG93Y19zdGF0ZSBbMHgleF0sIHRjcF9vcHQg
-WzB4JXhdLCB0Y2JfZmMtPmZsb3djX2lkIFsweCV4XSAKAAAAAAAAAAAAAAAAAGNza19mYy0+Zmxv
-d2NfY3NvY2tfY29va2llIFsweCV4XSAKAAAAAAAAAAAAAAAAAG5ldF9sMmRldl9maW5kX2J5X2Fk
-ZHI2OiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBsMmRjLT5scG9ydCBbJXVdLCBsMmRfZmMt
-PmZsb3djX2lkIFsweCV4XSwgYWRkciBbJTA0eDolMDR4OiUwNHg6JTA0eF0KAAAAAAAAY2huZXRf
-cXVldWVfeG1pdDogZmMtPmZsb3djX2lkIFsweCV4XSwgYnVmX2xlbiBbMHgleF0sIGJ1ZmZlcmVk
-IFsweCV4XSwgZmlmby5udW1fYnl0ZXMgWyUweF0KAAAAbmV0aWZfZG9fZGhjcHY2OiB3ci0+cGFy
-YW0udmxhbmlkIFsldV0sIGwyZGV2X2ZjLT5mbG93Y19uZXRfbDJkZXZfdmxhbmRldiBbMHgleF0K
-AAAAAAAAAAAAAAAAAAAAbmV0aWZfZG9fZGhjcHY2OiBpcHY2IG5vdCBlbmFibGVkCgAAAAAAAAAA
-AAAAAAAAZGhjcCByZXNwIHRvIGRyaXZlcgoAAAAAAAAAAAAAAABsM2luNl9kZXZfY29uZmlnOiB3
-ci0+cGFyYW0udmxhbmlkIFsldV0sIGwyZGV2X2ZjLT5mbG93Y19uZXRfbDJkZXZfdmxhbmRldiBb
-MHgleF0KAAAAAAAAAAAAAAAAAABsM2luNl9kZXZfY29uZmlnOiBpcHY2IG5vdCBlbmFibGVkCgAA
-AAAAAAAAAAAAAABuZXRfbDNpbjZfZGV2X2NvbmZpZzogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4
-XSwgYWRkcmVzcyBhbHJlYWR5IHVzZWQgYnkgcG9ydCAlZCwgYWRkcl9pZCAlZAoAAABuZXRfbDNp
-bjZfZGV2X2NvbmZpZzogIGFkZHIgWzB4JTA0eCUwNHglMDR4JTA0eF0sIHJlZl9jbnQgWzB4JXhd
-IGluIHVzZQoAAAAAAAAAAGwzaW40X2Rldl9jb25maWc6IHdyLT5wYXJhbS52bGFuaWQgWyV1XSwg
-bDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl92bGFuZGV2IFsweCV4XQoAAAAAAAAAAAAAAAAAAG5l
-dF9sM2luNF9kZXZfY29uZmlnOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBhZGRyZXNzIGFs
-cmVhZHkgdXNlZCBieSBwb3J0ICVkCgAAAAAAAAAAAAAAAAAAAG5ldF9sM2luNF9kZXZfY29uZmln
-OiAgYWRkciBbMHgleF0sIG1hc2sgWzB4JXhdLCBndyBbMHgleF0sIHJlZl9jbnQgWzB4JXhdIGlu
-IHVzZQoAAAAAAAAAAAAAAAAAAGwyZGV2X2ZjIFsweCV4IF0gRmFpbGVkIHRvIHN0YXJ0IHRpbWVy
-IGZvciBpcHY0IGRhZAoAAAAAAAAAAAAAAAB3cmhfY2huZXRfaWZjb25mOiBsMmRldl9mYy0+Zmxv
-d2NfaWQgWzB4JXhdLCBsMmRldl9mYy0+Zmxvd2NfdHlwZSBbJTB4XSwgaWZjb25mX3dyLT5zdWJv
-cCBbMHgleF0KAAAAAAAAAAAAAAAAAAAAd3JoX2NobmV0X2lmY29uZjogbDJkZXZfZmMtPmZsb3dj
-X2lkIFsweCV4XSwgdW5rbm93biBzdWJvcCBbMHgleF0KAAAAAAAAAAAAAAAAAAB3cmhfY2huZXRf
-aWZjb25mOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCByYyAlZAoAAAAAAAAAAAAAAAAAbmV0
-aWZfaXBfY29uZmxpY3RfdGltZXJfY2I6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGV4cGVj
-dGluZyB0aW1lciBoYW5kbGUgWyVkXSwgYnV0IGdvdCBoYW5kbGUgWyVkXSBleHBpcnkKAG5ldGlm
-X2lwX2NvbmZsaWN0X3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBpbmRldmN0
-eHQtPnN0YXRlIFslZF0sIGluZGV2Y3R4dC0+cmV0cnlfY250IFslZF0KAAAAAAAAAABuZXRpZl9p
-cF9jb25mbGljdF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgaW5kZXZjdHh0
-IFsweCV4XSwgaW4gZnJlZSBzdGF0ZQoAAAAAAAAAAABjbWRoX2NobmV0X2lmYWNlOiBmYyBbMHgl
-eF0sIGZjLT5mbG93Y19pZCBbMHgleF0sIGZjLT5mbG93Y190eXBlIFsweCV4XSwgcCBbMHgleF0s
-IGxlbjE2IFsldV0sIGxvYyBbMHgleF0KAAAAAAAAY21kaF9jaG5ldF9pZmFjZTpsMmRldl9mYyBb
-MHgleF0sIGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGwyZGV2LT5mbG93Y190eXBlIFsldV0s
-IGwyZGV2X2ZjLT5mbG93Y19uZXRfbDJkZXZfZmxhZ3MgWyUweF0KAAAAAABjbWRoX2NobmV0X2lm
-YWNlOiByMlswXToldSByMlsxXToldSwgc3Vib3A6MHgleAoAAAAAAAAAAAAAAAAAAAAAY21kaF9j
-aG5ldF9pZmFjZTogbDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl9mbGFncyBjaGFuZ2VkIGZyb20g
-WyUweF0gdG8gWyUweF0sIHJjIFslZF0KAAAAAAAAAAAAY2huZXRfbDJkZXZfdXBfbWJfY2I6IHJj
-IFslZF0sIHBvcnQgWyV1XSwgc3RhdGUgWyV1XSwgY29va2llIFsweCV4XQoAAAAAAAAAAAAAAABk
-aGNwX3Byb2Nlc3NfY2I6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGRoY3R4dC0+c3RhdGUg
-WyUweF0sIGRoY3R4dC0+cnRyeV9jbnQgWyV1XQoAAAAAAAAAAABkaGNwX3RpbWVyX2NiOiBESENQ
-RElTQ09WRVIgc2VudCwgYnV0IG5vIHJlcGx5IGZyb20gYW55IHBvc3NpYmxlIHNlcnZlciBvbiB0
-aGUgbmV0d29yay4gUmV0cnlpbmcgYWdhaW4KAAAAAAAAAAAAZGhjcF90aW1lcl9jYjogbDJkZXZf
-ZmMtPmZsb3djX2lkIFsweCV4XSwgc2VuZGluZyBESENQRElTQ09WRVIgZm9yIGRoY3R4dCBbMHgl
-eF0gb24gcGlkIFslZF0KAAAAZGhjcF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4
-XSwgREhDUE9GRkVSIHJlY2VpdmVkIGZvciBkaGN0eHQgWyV4XSBwaWQgWyVkXQoAAAAAAAAAAAAA
-ZGhjcF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgIERIQ1BBQ0sgcmVjZWl2
-ZWQgZm9yIGRoY3R4dCBbJXhdLCBwaWQgWyVkXQoAAAAAAAAAAAAAZGhjcF90aW1lcl9jYjogbDJk
-ZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgZGhjdHh0LT5pcGFkZHIgWzB4JXhdCgAAAAAAAAAAAAAA
-AAAAAABkaGNwX3RpbWVyX2NiOiBzdGFydGluZyB0aW1lciBmb3IgbGVhc2UgWyV1XSBzZWNvbmRz
-CgAAAAAAAAAAAAAAZGhjcF90aW1lcl9jYjogbGVhc2UgdGltZSBvZiBbJXVdIHNlY29uZHMgZXhw
-aXJlZCwgc2VuZGluZyByZW5ldyByZXF1ZXN0CgAAAAAAAABkaGNwX3RpbWVyX2NiOiBsMmRldl9m
-Yy0+Zmxvd2NfaWQgWzB4JXhdLCBubyByZXBseSBmcm9tIGRoY3Agc2VydmVyLCB0aW1pbmcgb3V0
-CgAAAAAAAAAAAAAAAAAAAABhdXRoX25lZ29fc2VjdXJpdHk6IHNlbmRfZmxhZyBbMHgleF0sIGF1
-dGhfcG9saWN5IFsweCV4XQoAAAAAAAAAYXV0aF9uZWdvX3NlY3VyaXR5OiBLRVlfQ0hBUF9SRVNQ
-IC0gaGFzaFsweCV4JXgleCV4JXgleCV4JXhdCgAAAGF1dGhfbmVnb19zZWN1cml0eTogS0VZX0NI
-QVBfUkVTUCAtIGhhc2hbMHgleCV4JXgleCV4JXgleCV4XQoAAABhdXRoX25lZ29fc2VjdXJpdHk6
-IEtFWV9DSEFQX1JFU1AgLSBlcnJvciBlbmNvZGluZyB0byBoZXgKAAAAAAAAYXV0aF9uZWdvX3Nl
-Y3VyaXR5OiBLRVlfQ0hBUF9SRVNQIC0gZWxlbiBbMHgleF0KAAAAAAAAAAAAAAAAAAAAAGF1dGhf
-bmVnb19zZWN1cml0eTogS0VZX0NIQVBfQ0hBTCAtIGVycm9yIGVuY29kaW5nIHRvIGhleAoAAAAA
-AABhdXRoX25lZ29fc2VjdXJpdHk6IEtFWV9DSEFQX0NIQUwgLSBlbGVuIFsweCV4XQoAAAAAAAAA
-AAAAAAAAAAAAbG9nb3V0X3RpbWVkb3V0OiBsb2dvdXQgcmVxdWVzdCB0aW1lZG91dCwgcG9zc2li
-bGUgbmV0d29yayBpc3N1ZXMuIEZvcmNlZnVsbHkgYnJlYWtpbmcgcGF0aCBmb3Igc2VzcyBbMHgl
-eF0KAAAAAHBpbmdfdGFyZ2V0OiBwaW5nIHRpbWVvdXQsIGtpY2tpbmcgcmVjb3ZlcnkgZm9yIHNl
-c3MgWzB4JXhdCgAAAABjc29ja19mYWlsZWQ6IGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tf
-ZmMtPmZsb3djX3N0YXRlIFsweCV4XSwgc2Vzc19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBzZXNzX2Zj
-LT5mbG93Y19zdGF0ZSBbMHgleF0sIGV2dCBbMHgleF0KAAAAAAAAAAAAAABjaG5ldF9maW5kX2lw
-Nl9sMnRfZW50cnk6IGZpbmQgcHJlZml4IG1hdGNoIFslMDR4ICUwNHggJTA0eCAlMDR4XQoAAAAA
-AAAAAAAAAAAAAE5vIHJvdXRlciBjb25maWd1cmVkLCBsMmRldl9mYy0+Zmxvd2NfaWQgMHgleAoA
-AApSb3V0ZXIgbGlmZSAldSBleHBpcmVkLiBkZWxldGluZyByb3V0ZXIgWyUwNHggJTA0eCAlMDR4
-ICUwNHhdCgBVc2luZyByb3V0ZXIgWyUwNHggJTA0eCAlMDR4ICUwNHhdIHRvIHJlYWNoIFslMDR4
-ICUwNHggJTA0eCAlMDR4XQoAAAAAAAAAAAAAAAAAAGwydGVudCBbJTB4XSwgbDJ0ZW50LT5pZHgg
-WyVkXQoAcmMgWyVkXSwgY3NrX2ZjIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0KAAAA
-AAAAAAAAAAAAAAAAAGNzb2NrX2FsbG9jOiBzcmNfYWRkcjoweCV4LCBkc3RfYWRkcjoweCV4CgAA
-AAAAAGNvbm5lY3Rpb24gb3ZlciBpcHY2LCBsMmRldiBmbG93Y19pZCAweCV4CgAAAAAAAGNza19h
-bGs6IEludmFsaWQgbDJkZXY6MHgleAoAAAAAY3NrX2FsazogbmV4dDoldSwgaWR4OiV1LCB1c2Vk
-OiV1LCBzcG9ydDoldQoAAAAAY3NvY2tfYWxsb2M6IGNzb2NrX3NyY19hZGRyOjB4JXgsIGNzb2Nr
-X2RzdF9hZGRyOjB4JXgKAAAAAAAAAAAAAGNzb2NrX2FsbG9jOiB0eF9jaCBbMHgleF0sIGxwb3J0
-IFsweCV4XSwgY29va2llIFslMDh4XQoAAAAAAAAAAABjc29ja19hbGxvYzogYXZhaWxhYmxlIFsl
-dV0sIG5jc29jayBbJXVdLCBwb3M6YXRpZCBbMHgleF0sIGNza19mYyBbMHgleF0sIGNza19mYy0+
-Zmxvd2NfaWQgWzB4JXhdLCBzcG9ydCBbJXVdCgAAcmVjb3ZlcnlfdGltZW91dDogc2VzcyBpZCBb
-MHgleF0gc3RhdGUgWzB4JXhdLCByY291bnQgWyVkXSwgZmxhZ3MgWzB4JXhdCgAAAAAAAAByZWNv
-dmVyeV90aW1lb3V0OiBzZXNzIGlkIFsweCV4XSBpbiBsb2dvdXQsIGFib3J0IHRoZSBjb25uZWN0
-aW9uCgAAAAAAAAAAAAAAAAAAAHJlY292ZXJ5X3RpbWVvdXQ6IHNlc3NfZmMtPmZsb3djX2ZvaXNj
-c2lfc2Vzc19mbGFncyBbMHgleF0sIGNvbm5lY3Rpb24gcmVxdWVzdCBwZW5kaW5nLCBiYWlsaW5n
-IG91dAoAAAAAAAAAAAAAAABmb2lzY3NpOiBSZWNvdmVyeSB0aW1lZCBvdXQgYWZ0ZXIgWyV1XSBy
-ZXRyeSwgYmFpbGluZyBvdXQKAAAAAAAAVENQIGNvbm4gZXN0YWJsaXNobWVudCBmYWlsZWQgJWQK
-AAAAAAAAAAAAAAAAAAAAZGlzY292ZXJ5X2RhdGE6IHNlc3MgeyBpZCBbMHgleF0sIGZsYWdzIFsw
-eCV4XSwgYnVmZmVyZWQgWyV1XS4gfQoAAAAAAAAAAAAAAAAAAABkaXNjb3ZlcnlfZGF0YTogc2Vz
-cyB7IGlkIFsweCV4XSB9LCB1bHB0eGNoIFsldV0gbm8gY3JlZGl0cyBhdmFpbGFibGUsIHJlc2No
-ZWR1bGluZyByZXF1ZXN0LgoAAABERFAgZXJyb3IgWzB4JXhdLCBhYm9ydGluZyBjb25ubiBbMHgl
-eF0KAAAAAAAAAAByeF9kYXRhX2RkcDogUmVzcG9uY2UgcmVjaWV2ZWQgZm9yIHRhc2sgWzB4JXhd
-IHdoaWxlIGludmFsaWQgdGFzayBvciBjb25uZWN0aW9uIHN0YXRlLiB0YXNrIHN0YXRlIFsweCV4
-XSwgY29ubiBzdGF0ZSBbMHgleF0sIGNvbm4gZmxhZ3MgWzB4JXhdCgBpaGRyOiBSZXNwb25jZSBy
-ZWNpZXZlZCBmb3IgdGFzayBbMHgleF0gd2hpbGUgaW52YWxpZCB0YXNrIG9yIGNvbm5lY3Rpb24g
-c3RhdGUuIHRhc2sgc3RhdGUgWzB4JXhdLCBjb25uIHN0YXRlIFsweCV4XSwgY29ubiBmbGFncyBb
-MHgleF0KAAAAAAAAAABpaGRyOiBJbnZhbGlkIHRhc2sgc3RhdGUgMHgleCBmb3IgdGFzayAweCV4
-LCBpdHQgWzB4JXhdLCBvcGMgWzB4JXhdCgAAAAAAAAAAAAAAAEludmFsaWQgb3Bjb2RlIDB4JXgg
-aW4gY3RybCBwYXRoCgAAAAAAAAAAAAAAAAAAAEREUCBlcnJvciBbMHgleF0sIGFib3J0aW5nIGNv
-bm5uIFsweCV4XQoAAAAAAAAAAGlzY3NpX2NtcDogb3BjOjB4JXgsIGluIGRhdGEgcGF0aAoAAAAA
-AAAAAAAAAAAAAGlzY3NpX2NtcDogUmVzcG9uY2UgcmVjaWV2ZWQgZm9yIHRhc2sgWzB4JXhdIHdo
-aWxlIGludmFsaWQgdGFzayBvciBjb25uZWN0aW9uIHN0YXRlLiB0YXNrIHN0YXRlIFsweCV4XSwg
-Y29ubiBzdGF0ZSBbMHgleF0sIGNvbm4gZmxhZ3MgWzB4JXhdCgAAAGlzY3NpX2NtcDogSW52YWxp
-ZCB0YXNrIHN0YXRlIDB4JXggZm9yIHRhc2sgMHgleCwgaXR0IFsweCV4XSwgb3BjIFsweCV4XQoA
-AAAAAAAAaXNjc2lfY21wOiBvcGM6MHgleCwgaW4gY3RybCBwYXRoCgAAAAAAAAAAAAAAAAAAaWRh
-dGE6IHRpZDoweCV4LCBvcDoweCV4LCBsZW46MHgleCwgc2VxOjB4JXgsIHN0YXR1czoweCV4LgoA
-AAAAAHByb2Nlc3NfdG1mX3Jlc3BvbnNlOiBidWZmZXJlZCBbMHgleF0sIGlzdGFza19mYy0+Zmxv
-d2NfYnVmLT5zY2hlZF9ub2RlLm5leHQgWzB4JXhdLCBpc3Rhc2tfZmMgWzB4JXhdLCBpc3Rhc2tf
-ZmMtPmZsb3djX2lkIFsweCV4XQoAAAAAAAAAAAAAAAAAAHByb2Nlc3NfdG1mX3Jlc3BvbnNlOiB3
-ciBvcCBbMHgleF0sIHRtZiBvcCBbMHgleF0KAAAAAAAAAAAAAAAAAAB0bWZfcmVzcDogZmxvd2M6
-MHgleCwgaWQ6MHgleCwgc3RhdGU6MHgleCwgeWllbGQ6MHgleAoAAAAAAAAAAAAAdG1mX3Jlc3A6
-IHRfdGFzazoweCV4IGZyZWVkLgoAAABzY3NpX2NtZF9yZXNwOiBmbG93YzoweCV4LCBpZDoweCV4
-LCBzdGF0ZToweCV4LCB5aWVsZDoweCV4CgAAAAAAZGF0YV9pbl9yZXNwOiBmbG93YzoweCV4LCBp
-ZDoweCV4LCBzdGF0ZToweCV4LCB5aWVsZDoweCV4CgAAAAAAAHJldHVybl9wZW5kaW5nX3Rhc2s6
-IGNvb2tpZSBbMHglMDh4XSwgWzB4JTA4eF0KAHJldHVybl9wZW5kaW5nX3Rhc2s6IGRlbGF5IHBy
-b2Nlc3NpbmcsIGNvbm4gZmxhZ3MgWzB4JXhdCgAAAAAAAAByZXR1cm5fcGVuZGluZ190YXNrOiBE
-b25lIHNlbmRpbmcgdGFzayBlcnJvciB0byBob3N0LCB1bHB0eGxlbjE2IFsldV0KAAAAAAAAAAAA
-AHJldHVybl9wZW5kaW5nX3Rhc2s6IGRlcXVldWUgdGFzayBbMHgleF0sIHN0YXRlIFsweCV4XSBm
-cm9tIHR4X2xpc3QKAAAAAAAAAAAAAAAAcmV0dXJuX3BlbmRpbmdfdGFzazogYWxsIHRhc2tzIHJl
-dHVybmVkLCByZWNvdmVyeSBzdGF0ZSB0cmFucyB0byBbMHgleF0KAAAAAAAAAABjbGVhcl9kZHBf
-bWFwOiBpc3Rhc2tfZmMgWzB4JXhdLCBpc3Rhc2tfZmMtPmZsb3djX2lkIFsweCV4XSBidWZmZXJl
-ZCAldQoAAAAAAAAAAGNsZWFyX2RkcF9tYXA6IGlzdGFza19mYy0+Zmxvd2NfaXRhc2tfbnBwb2Qg
-JXUsIG5wcG9kICV1LCBwcGRhZGRyIFsweCV4XQoAAAAAAAAAY2xlYXJfZGRwX21hcDogYWxsIHJl
-dHVybmVkIHRhc2tzIGRkcCBjbGVhcmVkLCByZWNvdmVyeSBzdGF0ZSB0cmFucyB0byBbMHgleF0K
-AAB3cmhfZm9pc2NzaV9ub2RlOiBub2RlX3dyLT5mbG93aWRfbGVuMTYgMiBbJXhdCgB3cmhfZm9p
-c2NzaV9jaGFwOiBpZF9sZW4gWyV4XSwgc2VjX2xlbiBbJXhdCgAAAAB3cmhfZm9pc2NzaV9jaGFw
-OiB0Z3RfaWRfbGVuIFsleF0sIHRndF9zZWNfbGVuIFsleF0KAAAAAAAAAAAAAAAAc2Vzc2lvbl9i
-bG9jazogc2Vzc19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBzZXNzX2ZjLT5mbG93Y19zdGF0ZSBbMHgl
-eF0sIGNvbm5fZmMtPmZsb3djX2lkIFsweCV4XSwgY29ubl9mYy0+Zmxvd2Nfc3RhdGUgWzB4JXhd
-LCBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0KAAAA
-AAAAAAAAAAAAAAAAc2Vzc2lvbl91bmJsb2NrOiBzZXNzX2ZjLT5mbG93Y19pZCBbMHgleF0sIHNl
-c3NfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwgY29ubl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjb25u
-X2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMt
-PmZsb3djX3N0YXRlIFsweCV4XQoAAAAAAAAAAAAAAAAAc3RhcnRfbG9nb3V0OiBTZXNzLWlkIFsw
-eCV4XSBhbHJlYWR5IGxvZ2dpbiBvdXQuCgAAAAAAAAAAAAAAAAAAAHBlZXJfY29uOiBjc2tfZmMg
-PT4gZmxvd2lkIFsweCV4XSwgZmxvd2NfYnVmIFsweCV4XQoAAAAAAAAAAAAAAABhbGxvY19zZXNz
-OiBsb2dpbl9yZXRyeSBbJWRdLCByZWNvdl90aW1lb3V0IFslZF0KAAAAAAAAAAAAAAAAAAAAZm9p
-c2NzaV9jdHJsOiBzdWJvcCBbMHgleF0sIHNlc3NfdHlwZV90b19lcmwgWzB4JXhdLCBzZXNzX3R5
-cGUgWzB4JXhdCgAAAAAAAAAAAABmb2lzY3NpX2N0cmw6IHJlY2VpdmVkIGJsb2NrZWQgZnJvbSBk
-cml2ZXIsIHRyaWdnZXJpbmcgcmV0dXJuIHRhc2tzIG5vdy4KAAAAAAAAAFdBVENIRE9HX2Rpc3Bh
-dGNoIGNhc2UgdG8gYXZvaWQ6IENvdW50ZXJfd2F0Y2hkb2cgJXUgQ291bnRlcl9zY2hlZCAldSAK
-AAAAAAAAAAAAV0FUQ0hET0c6IGRldmljZSBzaHV0ZG93bgoAAAAAAABXQVRDSERPRzogcG9ydFsl
-dV0gcGF1c2Ugd2F0Y2hkb2cgdGltZW91dAoAAAAAAABXQVRDSERPRzogYnlwYXNzIHRpbWVvdXQK
-AAAAAAAAAFdBVENIRE9HOiBGTFIgLSBub3QgaW1wbGVtZW50ZWQgeWV0CgAAAAAAAAAAAAAAAFdB
-VENIRE9HOiB0ZW1wZXJhdHVyZSBvZiAlZEMgZXhjZWVkcyB0aHJlc2hvbGQgb2YgJWRDCgAAAAAA
-AAAAAABmaWx0ZXI6IHBvcmdyYW1taW5nIHRpZCAldSAobGUgdGNhbSBpbmRleCAldSkuLi4KAAAA
-AAAAAAAAAAAAAAAAZmlsdGVyOiByZXF1ZXN0aW5nIGNvbXBsZXRpb24uLi4KAAAAAAAAAAAAAAAA
-AAAAY2huZXRfaXB2Nl9saW5rX2NoYW5nZV9ub3RpZnk6IGwyZGV2X2ZjIFsweCV4XSwgc3RhdHVz
-ICV1CgAAAAAAAGwyZGV2X3NlbmRfcG9ydF9ldmVudDogd3IgWzB4JXhdIHBlbmRpbmcgb24gcG9y
-dCBbJWRdLCBjdXJyZW50IHRyeSBbJWRdCgAAAAAAAAAAaHdfY2ltX3RzY2hfY2hfY2xfcmF0ZV9t
-YXhfcmVzb2x1dGlvblsldS8ldV06IGNhcHBlZCBkZWZpY2l0X2luY3IgZnJvbSByZXF1aXJlZCAl
-dSB0byAldTsgcmF0ZSAldSAoZWZmICV1KSBkZWZpY2l0X21heCAldQoAAAAAAABDYW5ub3QgZ2V0
-IGNsYXNzIFsldS8ldV0gcmF0ZS9wZXJjZW50ICV1LyV1IHdpdGggY29uZmlndXJlZCBncmFudWxh
-cml0aWVzLiBDaGVjayBjb25maWcgZmlsZQoAAABkY2J4X2llZWVfY21kaFsldV0gd3JpdGUgb25s
-eSBwZXJtaXR0ZWQgb24gbG9jYWwgY29uZgoAAAAAAAAAAAAAZGNieF9pZWVlX2NtZGhbJXVdIGNh
-bm5vdCB3cml0ZSAldSBhcHBzIChNQVg6ICV1KQoAAAAAAAAAAAAAAAAAAGRjYnhfaWVlZV9jbWRo
-WyV1XSByZXF1ZXN0aW5nIERDQl9JRUVFX0NNRAoAAAAAAGRjYnhfaWVlZV9jbWRoWyV1XSB1bmtu
-b3duIGZlYXR1cmUgd3JpdGU6ICV1CgAAAGRjYnhfaWVlZV9jbWRoWyV1XSB1bmtub3duIGZlYXR1
-cmUgcmVhZDogJXUKAAAAAGNhbm5vdCBhbGxvY2F0ZSBvZmZsb2FkZWQgZmlsdGVyIGNvbm5lY3Rp
-b24KAAAAAGNhbm5vdCBhbGxvY2F0ZSBvZmZsb2FkZWQgZmlsdGVyIElQdjYgY29ubmVjdGlvbgoA
-AAAAAAAAAAAAAAAAAABkaXNwYXRjaF9kZWZlcnJlZF9jbGFzc19jbGFzc19zaGFwaW5nWyV1OiV1
-XTogbGlzdF9lbXB0eQoAAAAAAAAAbG9vcGJhY2sgYnVmZmVyIGdyb3VwWyV1XSBpcyBkaXNhYmxl
-ZAoAAAAAAAAAAAAAaW52YWxpZCBidWZmZXIgZ3JvdXBbJXVdIGNvbmZpZ3VyYXRpb246IG10dSAl
-dSBsd20gJXUgaHdtICV1IGR3bSAldQoAAAAAAAAAAAAAAABmYyAldSB2ZiAldSBnb3QgaXZmPTB4
-JXgscmFuZ2U6ICUjeC0lI3ggKCV1LyV1IHVzZWQpCgAAAAAAAAAAAAAAVkkgJXUgY2Fubm90IGdl
-dCBSU1Mgc2xpY2U6IE5vIG1vcmUgc2xpY2VzIGF2YWlsYWJsZSAodXNlZCAldS8ldSkKAAAAAAAA
-AAAAAAAAAABwZm4gJXUgdmZuICV1IHdpdGggcG9ydCBtYXNrIDB4JXggY2Fubm90IGFjY2VzcyBw
-b3J0ICV1LCByZXQgJWQKAAAAAAAAAAAAAAAAAAAAAHBmbiAldSB2Zm4gJXUgY291bGQgbm90IGFs
-bG9jYXRlIHZpaWQsIHJldCAlZAoAAHBmbiAldSB2Zm4gJXUgY291bGQgbWFwIHZpaWQgIDB4JXgg
-dG8gZmxvd2MsIHJldCAlZAoAAAAAAAAAAAAAAABwZm4gJXUgdmZuICV1IGNvdWxkIG5vdCBhbGxv
-Y2F0ZSB1d2lyZSBmdW5jICVkIG1hYyBhZGRyLCByZXQgJWQKAAAAAAAAAAAAAAAAAAAAAG1paV9p
-bml0WyV1XTogYWNhcHMgMHgleAoAAAAAAAAAbWlpX2ZvcmNlX3NwZWVkWyV1XTogcmNhcHMgMHgl
-eAoAAAAAAAAAAAAAAAAAAAAAbWlpX3Bkb3duWyV1XTogcG93ZXJkb3duIGVuICV1CgBwb3J0X2Nt
-ZF9oYW5kbGVyOiB1bmtub3duIHUuZGNiLnR5cGUgMHgleAoAAAAAAABwb3J0WyV1OjB4JTAyeDow
-eCUwMnhdOiB1bmtub3duIGFjdGlvbiAweCV4CgAAAABwb3J0WyV1OjB4JTAyeDoweCUwMnhdOiB1
-bmtub3duIHJlYWQgYWN0aW9uIDB4JXgKAAAAAAAAAAAAAAAAAAAAY3BsX2Vycl9ub3RpZnk6IHRp
-ZCAldSBjcGwgMHglMDh4JTA4eAoAAAAAAAAAAAAAY3BsX2Vycl9ub3RpZnk6IHRpZCAldSBjcGwg
-MHglMDh4JTA4eCAweCUwOHglMDh4CgAAAAAAAAAAAAAAAAAAAGNwbF9lcnJfbm90aWZ5OiB0aWQg
-JXUgbGVuICV1CgAAc2NzaV9hYm9ydDogRW50ZXJpbmcgQWJvcnRfdGFzaywgYnVmZmVyZWQgWyV1
-XQoAc2NzaV9hYm9ydDogcmMgWzB4JXhdIHJlZiB0YXNrIG5vdCBvdXRzdGFuZGluZwoAc2NzaV9h
-Ym9ydDogaWRhdGEtPm9wIFsweCV4XSwgZmxhZ3MgWzB4JXhdLCBmdW5jIFsweCV4XSwgbHVuX2lk
-eCBbMHgleF0KAAAAAAAAAABzY3NpX2Fib3J0OiB3ci0+aXFpZCBbMHgleF0sIGlzdGFza19mYy0+
-Zmxvd2Nfc2dlX2lxaWQgWzB4JXhdLCBpc3Rhc2tfZmMgdGFzayBmbGFncyBbMHgleF0KAAAAAABz
-Y3NpX2FicnQ6dGFzayBmbG93Y1sweCV4XSwgdG1mX2xpc3RfZW1wdHk6CgAAAABzY3NpX2Fib3J0
-OiBjb25uIFsweCV4XSwgY21kc24gWzB4JXhdLCBzZW50X2NtZHNuIFsweCV4XSwgbWF4X2NtZHNu
-IFsweCV4XSwgaXR0IFsweCV4XQoAAAAAAAAAAABzY3NpX2x1cjogRW50ZXJpbmcgTFVSIGhhbmRs
-ZXIsIGJ1ZmZlcmVkIFsldV0KAABzY3NpX2x1cjogaWRhdGEtPm9wIFsweCV4XSwgZmxhZ3MgWzB4
-JXhdLCBmdW5jIFsweCV4XSwgbHVuX2lkeCBbMHgleF0KAAAAAAAAAAAAAHNjc2lfbHVyOiB3ci0+
-aXFpZCBbMHgleF0sIGlzdGFza19mYy0+Zmxvd2Nfc2dlX2lxaWQgWzB4JXhdLCBpc3Rhc2tfZmMg
-dGFzayBmbGFncyBbMHgleF0KAAAAAAAAAHNjc2lfbHVyOiBjb25uIFsweCV4XSwgY21kc24gWzB4
-JXhdLCBzZW50X2NtZHNuIFsweCV4XSwgbWF4X2NtZHNuIFsweCV4XSwgaXR0IFsweCV4XQoAAAAA
-AAAAAAAAAGRjYnhfYXBwbHlfYXBwX2NmZ1sldV1ORVcgQVBQIFRMViAKAAAAAAAAAAAAAAAAAGRj
-YnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9MSU5LVVAKAGRjYnhfY2VlX2Zl
-YV9zbVsldV0gRmVhdHVyZVsldV0gU0VUX0xPQ0FMX1BBUkFNRVRFUlMKAAAAAAAAAAAAAABkY2J4
-X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfTk9fQURWRVJUSVNFCgAAAAAAAAAA
-AAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX1BFRVJfTk9UX0FEVkVS
-VElTRV9EQ0JYCgAAAAAAAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVd
-IEZFQVRVUkVfUEVFUl9OT1RfQURWRVJUSVNFX0ZFQVRVUkUKAAAAAAAAAAAAAAAAAGRjYnhfY2Vl
-X2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9VUERBVEVfT1BFUl9WRVJTSU9OCgAAAABk
-Y2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfUEVFUl9VUERBVEVfT1BFUl9W
-RVJTSU9OCgAAAAAAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVB
-VFVSRV9HRVRfUEVFUl9DRkcKAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVb
-JXVdIEZFQVRVUkVfQ0ZHX05PVF9DT01QQVRJQkxFCgAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBG
-ZWF0dXJlWyV1XSBGRUFUVVJFX1VTRV9MT0NBTF9DRkcKAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9z
-bVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9VU0VfUEVFUl9DRkcKAAAAAAAAAAAAAABkY2J4X2Nl
-ZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfRkVBVFVSRV9ESVNBQkxFRAoAAAAAAAAA
-ZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX0VSUk9SX0NIQU5HRQoAAAAA
-AAAAAAAAAGRjYnhfaWVlZV9wcm9jZXNzWyV1XSByZWNlaXZlZCBCV3MgZG8gbm90IGFkZCB1cCB0
-byAxMDAhCgAAAAAAAABXQVJOSU5HOiByZWNlaXZlZCBBcHAgVExWIGNvbnRhaW5zIG1vcmUgdGhh
-bkZXIGNhbiBoYW5kbGUgKG1heDogJXU7IHRsdiBjb250YWluczogJXUKAAAAAAAAAAAAAABkY2J4
-X2llZWVfcHJvY2Vzc1sldV0gc3VidHlwZSAlI3ggcmVtX2Z0X2NoYW5nZWQgJXUgc21fY2hhbmdl
-ICV1CgAAAAAAAAAAAAAAAAAAAGRjYnhfaWVlZV9wcm9jZXNzWyV1XSBzdWJ0eXBlIHVua25vd24K
-AAAAAAAAAAAAAGRjYnhfcGFyc2VfcGt0WyV1XSBlcnJvciAlZAoAAAAAaXB2Nl9hZGRfcHJlZml4
-X2luX2xpc3Q6IG5vZGUgZm91bmQgMHgleAoAAAAAAAAAaXB2Nl9hZGRfcHJlZml4X2luX2xpc3Qs
-IG5vZGUgbm90IGZvdW5kCgAAAAAAAAAAY2huZXRfYXJwX3VwZGF0ZV9jYWNoZTogYXJwIGlwNCBl
-bnRyeSBmb3VuZCAKAAAAY2huZXRfYXJwX3VwZGF0ZV9jYWNoZTogYXJwIGlwNiBlbnRyeSBmb3Vu
-ZCAKAAAAY2huZXRfYXJwX3VwZGF0ZV9jYWNoZTogYm90aCBpcDQgYW5kIGlwNiBhZGRyIGNhbm5v
-dCBiZSBudWxsCgAAAGNobmV0X2wydF91cGRhdGU6IGwydF91cGRhdGUgcmVxdWVzdCBzZW50IGwy
-dGVudCBbJTA4eF0sIGwydGVudC0+aWR4IFslZF0sIGwydGVudC0+dmxhbiBbJWRdCgAAAGNobmV0
-X2lwdjZfcmFfaW5wdXQ6IEludmFsaWQgUkEKAAAAAAAAAAAAAAAAAAAAAGlwdjYgUkEgcmN2ZAoA
-AAByb3V0ZXIgbm90IHByZXNlbnQgaW4gb3VyIGxpc3QuIGFkZGluZyBpdAoAAAAAAABJbnZhbGlk
-IG9wdGlvbiBsZW5ndGggJXUgaW4gU0xMQSBvcHRpb24KAAAAAAAAAABHT1QgU0xMQSBvcHRpb24g
-aW4gUkEsIGxlbiAldQoAAEludmFsaWQgb3B0aW9uIGxlbmd0aCAldSBpbiBwcmVmaXggb3B0aW9u
-CgAAAAAAAEludmFsaWQgb3B0aW9uIGxlbmd0aCAldSBpbiBtdHUgb3B0aW9uCgAAAAAAAAAAAElu
-dmFsaWQgcGFja2V0IHdpdGggJXUgZXh0cmEgYnl0ZXMKAAAAAAAAAAAAAAAAAG1sZDYgcXVlcnkg
-cmN2ZAoAAAAAAAAAAAAAAAAAAAAAY2huZXRfaXB2Nl9tbGQ2X3F1ZXJ5X2lucHV0OiBJbnZhbGlk
-IE1MRCBxdWVyeQoAVW5zdXBwb3J0ZWQgcXVlcnkgdmVyc2lvbi4gb25seSBtbGR2MiBxdWVyeSBz
-dXBwb3J0ZWQKAAAAAAAAAAAAAHF1ZXJ5IHJlc3BvbnNlIGRlbGF5ICV1IChpbiAxMG1zIHVuaXQp
-IAoAAAAAAAAAAGFscmVhZHkgYSBnZW5lcmFsIHF1ZXJ5IHBlbmRpbmcgaW4gJXUgKDEwbXMpCgAA
-AERlYnVnIHRoZSBjb2RlLiBncnBfbm9kZSBtdXN0IGJlIHByZXNlbnQKAAAAAAAAAGFscmVhZHkg
-YSBtdWx0aWNhc3QgcXVlcnkgcGVuZGluZyBpbiAldSAoMTBtcykKAGlwdjYgZWNobyByZXEgcmN2
-ZAoAAAAAAAAAAAAAAAAAREhDUHY2IHBhY2tldCB0eXBlICV1LCBvcHRzbGVuICV1IHJlY2VpdmVk
-CgAAAAAASW52YWxpZCBkaGNwIHN0YXRlICVkCgAAAAAAAAAAAABJZ25vcmUgREhDUHY2IG1zZyB4
-aWQgJXgsICBkaDZjdHh0LT54aWQgJXgKAAAAAABFcnJvciBpbiBESENQdjYgb3B0aW9ucyBwYXJz
-aW5nLiBJZ25vcmluZyBtc2csIGkgJWQsIG9wdHNsZW4gJWQKAAAAAAAAAAAAAAAAAAAAAERIQ1Ag
-ZmFpbGVkLCBzdGF0dXNjb2RlICVkLiBJZ25vcmluZyBhZHZlcnRpc2UKAGljbXA2IGNoZWNrc3Vt
-IHZhbGlkYXRpb24gZmFpbGVkLCBvciBlcnIgcmN2ZGlnbm9yaW5nIGljbXA2IG1zZyAldSwgZGxl
-biAldQoAAAAAbmV0aWZfcHJvY2Vzc19kaGNwOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBw
-cm9jZXNzaW5nLCBvcHRfbGVuICV1CgAAAAAAAAAAAABjaG5ldF9kaGNwX3JlY3Y6IHZsYW5pZCBb
-JXVdLCBsMmRldl9waWRfZmMtPmZsb3djX25ldF9sMmRldl92bGFuZGV2IFsweCV4XSwgbDJkZXZf
-ZmMgWzB4JXhdCgAAAABjaG5ldF9kaGNwX3JlY3Y6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0s
-IGRoY3R4dC0+c3RhdGUgWyVkXSwgbWFsYWNpb3VzIGRoY3AgcmVjdiBmb3Igbm8gcmVxdWVzdAoA
-AAAAAAAAAAAAAAAAZGhjdHh0LT5zdGF0ZSA6ICVkCgAAAAAAAAAAAAAAAABsMmRldl9mYy0+Zmxv
-d2NfaWQgWzB4JXhdLCBCYWQgREhDUCBjb29raWUgcmVjaWV2ZWQsIGFib3J0aW5nCgAAbGxkcF9y
-eF9wa3RfaGFuZGxlclsldV0gZHJvcCBwcmUtaW5pdCAoY291bnQgPSAldSkKAAAAAAAAAAAAAAAA
-AHRjcF9yZWxlYXNlX3RpZDogdGlkIFsweCV4XSwgZmxvd2MgZmxhZ3MgWzB4JXhdLCBidWZmZXJl
-ZCBbMHgleF0KAAAAAAAAAAAAAAAAAAAAdGNwX3JlbGVhc2VfdGlkOiBzaXplb2YodGNiX2ZjLT5m
-bG93Y19pY29ubikgWyV1XSwgYnl0ZXMKAAAAAAAAAGFjdF9vcGVuX3JwbDogYXRpZCBbMHgleF0s
-IHRpZCBbMHgleF0sIHRjYl9mYy0+eyBpZCBbMHgleF0sIHN0YXRlIFsweCV4XSwgdHlwZSBbMHgl
-eF0gfSwgY3BsX29wIFsweCV4XSwgc3RhdHVzIFsweCV4XQoAAAAAAAAAAAAAYWN0X29wZW5fcnBs
-OiBjc2tfZmMtPnsgaWQgWzB4JXhdLCBzdGF0ZSBbMHgleF0sIGNzb2NrX2ZsYWdzIFsweCV4XSB9
-IAoAAAAAAAAAAABhY3Rfb3Blbl9ycGw6IHJlY3ZkIG5lZyBhZHZpY2UgWzB4JXhdCgAAAAAAAAAA
-AABzZW5kX2Fib3J0X3JwbDogY3NrX2ZjLT5mbG93Y190eXBlIFsweCV4XSwgY3NrX2ZjLT5mbG93
-Y19pZCBbMHgleF0sIHRpZCBbMHgleF0sIHVscHR4Y2ggWyV1XSwgYnVmZmVyZWQgWyV1XQoAAAAA
-d3JoX29mbGRfdGNwX2Nsb3NlX2Nvbl9yZXBseTogdGNiX2ZjLT5mbG93Y19pZCBbMHgleF0sIHRj
-Yl9mYy0+Zmxvd2NfdHlwZSBbMHgleF0sIGxlbjE2IFsldV0sIGxvYyBbJXVdCgAAAAAAAAAAAHdy
-aF9vZmxkX3RjcF9jbG9zZV9jb25fcmVwbHk6IHJwbC0+b3BfVGlkIFsweCV4XSwgcnBsPnN0YXR1
-cyBbMHgleF0sIHJwbC0+c25kX254dCBbMHgleF0sIHJwbC0+cmN2X254dCBbMHgleF0KAAB0Y3Bf
-YWJvcnRfcnBsX3JzczogdGlkIFsweCV4XSwgc3RhdHVzIFsweCV4XQoAAAB0Y3BfYWJvcnRfcmVx
-X3JzczogdGlkIFsweCV4XSwgc3RhdHVzIFsweCV4XSwgZmxvd2NfY3NvY2tfZm9pc2NzaV9zdGF0
-ZSBbMHgleF0KAG9mbGRfYWJvcnRfcmVxX25lZ2FkdlsldV06IHdyIDB4JTA4eCBjcGxfYWJvcnRf
-cmVxIERFTElWRVJFRAoAAABob3N0X3dyWyV1XTogd3IgMHglMDh4IGNwbF9hYm9ydF9yZXEgc3Rh
-dHVzIDB4JXgKAAAAAAAAAAAAAAAAAAAAcGt0c2NoZWRfY2xfcmxbJXU6JXVdOiBtb2RlIHwgdW5p
-dCB8IHJhdGUgMHglMDZ4IG1pbiAldSBtYXggJXUgcGt0c2l6ZSAldQoAAAAAAABwZiAlZCwgdmYg
-JWQgc2VjcmV0IGtleV9pbmRleCAlZCwgVkYgc2VjcmV0IDB4JXgKAAAAAAAAAAAAAAAAAAAAcGFy
-YW1fY2huZXRbMHgleDoweCV4XTogY2huZXQgMHgleCByZWFkICV1IHBmICV1IHJldCAlZAoAAAAA
-AAAAAHBhcmFtX2RtYXFbMHgleDoweCV4XTogZG1hcSAweCV4IHJlYWQgJXUgcGYgJXUgcmV0ICVk
-CgAAAAAAAAAAAABSU1NTRUNSRVRLRVk6IHJzc3NlY3JldCB0YmwgYmFzZSAlZCwgcnNzbnNlY3Jl
-dCAlZAoAAAAAAAAAAAAAAAAATUNbJXVdIGluaXRfc3RhdGVfbWFjaGluZSAweCUwMngKAAAAAAAA
-AAAAAAAAAAAATUMgaW5pdGlhbGl6YXRpb24gbm90IGNvbXBsZXRpbmcsIE1DIGN1cnJlbnQgaW5p
-dCBzdGF0ZSBpcyAweCUwMngKAAAAAAAAAAAAAAAAAABJbml0aWFsaXppbmcgSUJNIEREUjM0TE1D
-CgAAAAAAAEREUiBpbml0IGNvbXBsZXRlLCBiZWdpbm5pbmcgY2FsaWJyYXRpb24KAAAAAAAAAERE
-UiBjYWxpYnJhdGlvbiBzdWNjZWVkZWQKAAAAAAAATUNbJXVdIF9od19tY19pbml0X21jCgAAAAAA
-AAAAAABfaHdfbWNfaW5pdF9tYzogZXJyb3IsIHJldCAlZAoAAHBoeTogZmFpbGVkIHRvIGFsbG9j
-YXRlZCBtZW1vcnkgZm9yIHBoeSBmdyBmaWxlLCByZXQgJWQKAAAAAAAAAABod19sZV9maWx0ZXJf
-Y3R1cGxlOiB0dXBsZSAldSBub3Qgc3BlY2lmaWVkIGJ1dCByZXF1aXJlZCBmb3IgbWFzayAweCV4
-CgAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiB0aW1lcl9ycyAldXVzIHRpbWVzdGFtcF9y
-ZXMgJXV1cyBkZWxheWVkYWNrX3JlcyAldXVzCgAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGRh
-Y2tfdGltZXIgJXV1cyBtc2wgJXV1cyByeHRfbWluLG1heCAldSwldXVzIHBlcnNfbWluLG1heCAl
-dSwldXVzCgAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGtlZXBfaWRsZSxpbnR2bCAldSwl
-dXMgbWF4cnR0ICV1dXMgaW5pdHNydHQgJXV1cyBmaW53YWl0Ml90aW1lciAldXVzCgAAAAAAaHdf
-dHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgZGFja190aW1lciBmcm9tICV1IHRvICV1AAAAAAAA
-AAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIG1zbCBmcm9tICV1IHRvICV1AGh3X3Rw
-X3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIHJ4dF9taW4gZnJvbSAldSB0byAldQAAAAAAAAAAAAAA
-AABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyByeHRfbWF4IGZyb20gJXUgdG8gJXUAAAAA
-AAAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgcGVyc19taW4gZnJvbSAldSB0
-byAldQAAAAAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIHBlcnNfbWF4IGZy
-b20gJXUgdG8gJXUAAAAAAAAAAAAAAABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyBrZWVw
-X2lkbGUgZnJvbSAldSB0byAldQAAAAAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBp
-bmcga2VlcF9pbnR2bCBmcm9tICV1IHRvICV1AAAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193
-OiBjYXBwaW5nIGluaXRfc3J0dF9tYXhydHQgZnJvbSAldSB0byAldQAAAABod190cF90Y3Bfc2V0
-dGluZ3NfdzogY2FwcGluZyBpbml0X3NydHRfaW5pdHNydHQgZnJvbSAldSB0byAldQAAaHdfdHBf
-dGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgZmlud2FpdDJfdGltZXIgZnJvbSAldSB0byAldQAAAAAA
-AGZpbHRlck1vZGU9JSN4IGlsbGVnYWw6IHNlbGVjdHMgJWQgYml0cyAobWF4ICVkKQoAAAAAAAAA
-AAAAAAAAAABsZSBjb25maWd1cmF0aW9uOiBuZW50cmllcyAldSByb3V0ZSAldSBjbGlwICV1IGZp
-bHRlciAldSBhY3RpdmUgJXUgc2VydmVyICV1IGhhc2ggJXUKAAAAAAAAAAAAAABsZSBjb25maWd1
-cmF0aW9uOiBuZW50cmllcyAldSBjbGlwICV1IG5vcm1hbCBmaWx0ZXIgJXUgaGkgcHJpb3JpdHkg
-ZmlsdGVyICV1IHNlcnZlciAldSBhY3RpdmUgJXUgaGFzaCAldSBuc2VydmVyc3JhbSAldQoAAAAA
-AAAAAGh3X3NnZV9xdWV1ZV9iYXNlX21hcFsldV06IGV4Y2VlZGVkIG51bWJlciBvZiBlZ3Jlc3Mg
-cXVldWVzLCAldQoAAAAAAAAAAAAAAAAAAAAAaHdfc2dlX3F1ZXVlX2Jhc2VfbWFwWyV1XTogZXhj
-ZWVkZWQgbnVtYmVyIG9mIGluZ3Jlc3MgcXVldWVzIHdpdGggZnJlZWxpc3QgYW5kIGludGVycnVw
-dCwgJXUKAAAAaHdfc2dlX3F1ZXVlX2Jhc2VfbWFwWyV1XTogZXhjZWVkZWQgbnVtYmVyIG9mIGlu
-Z3Jlc3MgcXVldWVzLCAldQoAAAAAAAAAAAAAAAAAAABFcnJvciwgVG90YWwgUlNTIFNlY3JldCB0
-YWJsZSBhbGxvY2F0aW9uICVkID4gMTYKAAAAAAAAAAAAAAAAAAAAY2ZfcGFyc2U6IGZpbGUgbWVt
-dHlwZSAweCV4IG1lbWFkZHIgMHgleCBtYXBwZWQgQCAlcDoKAAAAAAAAAAAAAGNvbmZpZ3VyZWQg
-d2l0aCBjYXBzIG5ibXxsaW5rIDB4JTA4eCBzd2l0Y2h8bmljIDB4JTA4eCB0b2V8cmRtYSAweCUw
-OHggaXNjc2l8Y3J5cHRvIDB4JTA4eCBmY29lOjB4JXgKAAAAAAAAAAAAAABuZXQgVkkgYWxsb2Nh
-dGlvbiBmYWlsZWQgZm9yIGZjX2lkICV1IHdpdGggZXJyb3IgJWQKAAAAAAAAAAAAAAAAbmV0IFZJ
-IG1hYyBhZGRyZXNzIHByb2dyYW1taW5nIGZhaWxlZCBmb3IgZmNfaWQgJXUgd2l0aCBlcnJvciAl
-ZAoAAAAAAAAAAAAAAAAAAABuZXQgVkkgcnhtb2RlIHByb2dyYW1taW5nIGZhaWxlZCBmb3IgZmNf
-aWQgJXUgd2l0aCBlcnJvciAlZAoAAAAAbmV0IFZJIHJzcyBpbmRpcmVjdGlvbiB0YWJsZSBwcm9n
-cmFtbWluZyBmb3IgZmNfaWQgJXUgZmFpbGVkIHdpdGggZXJyb3IgJWQKAAAAAABuZXQgVkkgcnNz
-IGNvbmZpZyBjb21tYW5kIGZhaWxlZCBmb3IgZmNfaWQgJXUgd2l0aCBlcnJvciAlZAoAAAAAbmV0
-IFZJIGNvbW1hbmQgZmFpbGVkIGZvciBmY19pZCAldSB3aXRoIGVycm9yICVkCgAAAAAAAAAAAAAA
-AAAAAHByb2dyYW1tZWQgSFcgdGFnbSBbMHglMDh4XSwgSFcgcGdzeiBmYWN0b3IgWzB4JTA4eF0s
-IEZPaVNDU0kgdGFnbSBbMHglMDh4XSwgcnRhZ20gWzB4JTA4eF0sIG1heHN6X2JpdHMgWyV1XSwg
-c3pfYml0cyBbJXVdLgoAAAAAYmFzZSBbIDB4JTA4eF0sIGxsaW1pdCBbMHglMDh4XSwgdWxpbWl0
-IFsweCUwOHhdLCBzaXplIFsldV0sIG1heF90eHN6IFsldV0sIG1heF9yeHN6IFsldV0sIGlvc2l6
-ZSBbJXVdCgAAAAAAAAAAAG5wcG9kcyBbJXVdLCBpZHhfbWFzayBbMHglMDh4XSwgaWR4X2ZpcnN0
-IFsldV0sIGlkeF9sYXN0IFsldV0sIHNjc2lfcGxkX3NpemUgWyV1XSwgQUxJR04oc2NzaV9wbGRf
-c2l6ZSwgMTYpIFsldV0sIHBwZF96b25lcyBbJXVdLgoAAAAAAAAAAAAAAAAAAGZvaXNjc2lfaW5p
-dDogaW5pdF9kb25lOiV1LCBmb2lzY3NpX250YXNrczoldSwgZm9pc2NzaV9uc2VzczoldSwgbmNz
-b2NrOiV1LCBuc3BvcnRzOiV1LCBmb2lzY3NpX25pbml0OiV1LCByYzolZAoAAAAAAAAAAAAAAAAA
-AAAAY2hfY2xfcmF0ZVsldS8ldV06IGNhcHBlZCBjbGFzcyByYXRlIGZyb20gcmVxdWVzdGVkICV1
-IHRvIGNvbmZpZ3VyZWQgKGVmZmVjdGl2ZSkgY2hhbm5lbCByYXRlICV1CgAAAAAAAAAAAAAAAAAA
-AENhbm5vdCBnZXQgY2xhc3MgWyV1LyV1XSByYXRlICV1IHdpdGggY29uZmlndXJlZCBncmFudWxh
-cml0aWVzLiBDaGVjayBjb25maWcgZmlsZQoAAAAAAAAAAAAAAAAAAHBrdHNjaGVkIGNoYW5uZWwg
-JXUgc2V0cyBzcGVlZCAoZnJvbSAldSkgdG8gJXUga2JwcwoAAAAAAAAAAAAAAABuZXRfbDJkZXZf
-bm90aWZ5OiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBwb3J0IFslZF0sIGV2ZW50IFsweCV4
-XSwgdWxwdHhjaCBbJXVdLCBjbGFzcyBbMHgleF0sIHZwcmlvIFsweCV4XSwgdmlkIFsweCV4XSwg
-dmlfcmVhZHkgWyV1XQoAAAAAAABuZXRfbDJkZXZfbm90aWZ5OiBwZ2lkIFsweCV4XSwgcHJpbyBb
-MHgleF0sIGNoIFsweCV4XQoAAAAAAAAAAAAAWyV1XSB1bmFibGUgdG8gZXhlY3V0ZSBpbnRlcm5h
-bCBEQ0JfSUVFRV9DTUQKAAAAcG9ydFsldV0gcHR5cGUgJXUgbGFuZSAldTogcnhjZmcgPSAlI3gK
-AAAAAAAAAAAAcG9ydFsldV0gcHR5cGUgJXUgbGFuZSAldTogdHhjZmcgPSAlI3gKAAAAAAAAAAAA
-dHhfY29uZmlnIHNwZWVkIDB4JXggcGxsX3NlbCAlZCBid19zZWwgJWQKAAAAAAAAcG9ydFsldV0g
-bGluayBkb3duICgldSkgKGxzdGF0dXMgJSN4KQoAAAAAAAAAAAAAcG9ydF9yZXNldCBmb3JjaW5n
-IHBvcnQlZCBmb3Igc3BlZWQgMHgleAoAAAAAAAAAcG9ydCBpbml0aWFsaXphdGlvbiBmYWlsZWQK
-AAAAAABod19pMmNfdHJhbnNhY3Rpb246IG5kYXRhICV1IGFkZHJfb3AgMHgleCBkYXRhWzBdIDB4
-JXggZGlmZiAldQoAaHdfaTJjX3RyYW5zYWN0aW9uOiBuZGF0YSAldSBhZGRyX29wIDB4JXggZGF0
-YVswXSAweCV4IGRpZmYgJXUgZHBvcyAldSBjb250ICV1IGZhaWxlZCB3aXRoIGVyciAlZAoAAAAA
-AAAAAAAAAAAAAGkyYyB0cmFuc2FjdGlvbiBmYWlsZWQgdG8gY29tcGxldGUKAAAAAAAAAAAAAAAA
-AGkyYyBlcnJvciBjYXVzZWQgYnkgbW9kdWxlIHVucGx1ZwoAAAAAAAAAAAAAAAAAAHNlbmR0byBw
-ZW5kaW5nOiB3cl9wZW5kICVwIGZvciBwb3J0ICV1LCB3YW50IHRvIHNlbmQgdG8gcG9ydCAldQoA
-AAAAAAAAAAAAAAAAAAAAcG9ydFsldV0gdXBkYXRlIChmbG93Y2lkICV1IHJjICV1KQoAAAAAAAAA
-AAAAAAAAcG9ydF9zZXRfbG9vcGJhY2sgcG9ydCAlI3ggY3VycmVudCAlI3ggbW9kZSAlI3gKAAAA
-AAAAAAAAAAAAAAAAAHBvcnRbJXVdIHNwZWVkIHVwZGF0ZTogJSN4CgAAAAAAcG9ydFsldV0gYmVn
-aW5uaW5nIGRlYm91bmNlCgAAAABRU0ZQIG1vZHVsZSB1bnBsdWcgLSByZWluaXRpYWxpemluZyBy
-eF9sb3MgIHRvIDB4ZmYKAAAAAAAAAAAAAAAAZ3Bpb19xc2ZwX21vZHVsZV91cGRhdGU6IGNoYW5n
-ZWQgcnhfbG9zIGZyb20gMHgleCB0byAweCV4CgAAAAAAAGdwaW9fcXNmcF9tb2R1bGVfdXBkYXRl
-OiBjaGFuZ2VkIHR4X2RpcyBmcm9tIDB4JXggdG8gMHgleAoAAAAAAABkaXNhYmxpbmcgdHggJSN4
-IHJ4ICUjeAoAAAAAAAAAAHBvcnRfbGlua19zdGF0ZV9oYW5kbGVyWyV1XSBwb3dlcmluZyBkb3du
-CgAAAAAAAHBvcnRfbGlua19zdGF0ZV9oYW5kbGVyWyV1XSBwb3dlcmluZyB1cAoAAAAAAAAAAHBv
-cnRfbGlua19zdGF0ZV9oYW5kbGVyWyV1XSB1bmtub3duIHN0YXRlIChzdGF0ZSA9ICUjeCkKAAAA
-AAAAAABwb3J0X2xpbmtfc3RhdGVfaGFuZGxlcjogU29tZXRoaW5nIHdlbnQgdGVycmlibHkgd3Jv
-bmcuIHJldCA9ICVkCgAAAAAAAAAAAAAAAAAAAGxlIGNvbmZpZ3VyYXRpb246IGhhc2ggcmVnaW9u
-IHRvbyBsYXJnZSB0byBlbmFibGUgc2VydmVyIHNyYW0KAABsZSBpbml0aWFsaXphdGlvbjogbmVu
-dHJpZXMgJXUgcm91dGUgJXUgY2xpcCAldSBmaWx0ZXIgJXUgYWN0aXZlICV1IHNlcnZlciAldSBo
-YXNoICV1CgAAAAAAAAAAAABsZSBpbml0aWFsaXphdGlvbjogbmVudHJpZXMgJXUgcm91dGUgJXUg
-Y2xpcCAldSBmaWx0ZXIgJXUgc2VydmVyICV1IGFjdGl2ZSAldSBoYXNoICV1IG5zZXJ2ZXJzcmFt
-ICV1CgAAAAAAAAAAAAAAaHdfdHBfaW5pdDogdGNiIHJlZ2lvbiAoc3RhcnQgMHglMDhzIHNpemUg
-JXUpIG11c3QgYmUgaW4gZmlyc3QgMjU2TUIgb2YgTUEgbWVtb3J5CgAAAAAAAAAAAAAAAAAAaHdf
-dHBfaW5pdDogcGdtbmd0IHJlZ2lvbiAoc3RhcnQgMHglMDhzIHNpemUgJXUpIG11c3QgYmUgaW4g
-Zmlyc3QgMjU2TUIgb2YgTUEgbWVtb3J5CgAAAAAAAAAAAAAAaHdfdHBfaW5pdDogVFAgcGdtbmd0
-IGluaXRpYWxpemF0aW9uIGRpZCBub3QgY29tcGxldGUKAAAAAAAAAAAAAHRsc19rZXlfc3RhcnQ6
-MHgleCwgdGxzX2tleV9zaXplOiVkCgAAAAAAAAAAAAAAAGJ1Zm1faW5pdDogbiAldSBidWZsbDY0
-aW50X3NpemUgMHgleAoAAAAAAAAAAAAAAGJ1Zm1faW5pdDogbm90IGVub3VnaCBtZW1vcnkgdG8g
-YWxsb2NhdGUgaW50ZXJuYWwgYnVmbGw2NCBidWZmZXJzCgAAAAAAAAAAAAAAAAAAYnVmbV9pbml0
-OiBub3QgZW5vdWdoIG1lbW9yeSB0byBhbGxvY2F0ZSBidWZsbDY0IGJ1ZmZlcnMKAAAAAAAAAG1l
-bV9pbml0X2J1Zjogbm90IGVub3VnaCBtZW1vcnkgdG8gYWxsb2NhdGUgZmxvdyBidWZmZXJzCgAA
-AAAAAABtZW1faW5pdF9idWY6IG5vdCBlbm91Z2ggbWVtb3J5IHRvIGFsbG9jYXRlIHRjYl9jYWNo
-ZSAob2ZmZXJlZCAldSB0cnlpbmcgdG8gdXNlICV1IGF2YWlsYWJsZSAldSkKAAAAAAAAAAAAAAAA
-AAAAbXBhcnRpdGlvbl9vdGhlcnM6IHN0YXJ0IDB4JTA4eCBzaXplICV1ICh1bnVzZWQgJXUpCgAA
-AAAAAAAAAAAAAG1wYXJ0aXRpb25fb3RoZXJzOiBfbToleCBfc2l6ZTolbGQgZGV2LnRwLnRsc19r
-ZXlfc2l6ZTolbGQgCgAAAABtcGFydGl0aW9uX290aGVyczogc3RhcnQgMHglMDh4IHNpemUgJXUg
-KHVudXNlZCAldSkKAAAAAAAAAAAAAAAAbWVtX2luaXQ6IEVEQyBvdmVyY29tbWl0dGVkIGJ5ICVk
-IGJ5dGVzCgAAAAAAAAAAbWVtX2luaXQ6IG5vdCBlbm91Z2ggbWVtb3J5IHRvIGFsbG9jYXRlIGZs
-b3cgdGFibGUKAAAAAAAAAAAAAAAAAGN4Y25pY19kZXZpY2VfaW5pdDogY3hjbmljIFsweCUweF0s
-IGN4Y25pYy0+ZmlsdGVyIFslMHhdCgAAAAAAAABwb3J0X2luaXRbJXVdOiBwb3J0IHR5cGUgc2V0
-IHRvIDEwRwoAAAAAAAAAAAAAAABwb3J0X2luaXRbJXVdOiBwb3J0IHR5cGUgc2V0IHRvIDI1RwoA
-AAAAAAAAAAAAAABwb3J0X2luaXRbJXVdOiBwb3J0IHR5cGUgc2V0IHRvIDQwRwoAAAAAAAAAAAAA
-AABwb3J0X2luaXRbJXVdOiBwb3J0IHNwZWVkICVkIG5vdCBhcHBsaWNhYmxlIHRvIHRoaXMgY2Fy
-ZAoAAAAAAAAAcG9ydF9pbml0WyV1XSBwdHlwZSAweCV4CgAAAAAAAABQb3J0WyV1XTogVW5rbm93
-biBTR01JSSBzdWItdHlwZSAlI3gKAAAAAAAAAAAAAABQb3J0WyV1XTogVW5rbm93biBCVF9YRkkg
-c3ViLXR5cGUgJSN4CgAAAAAAAAAAAABwb3J0X2luaXRbJXVdOiBwb3J0IHR5cGUgMHgleCBpcyBu
-b3Qgc3VwcG9ydGVkCgBtcGFydGl0aW9uX2luaXQ6IG1vdmVkIHBtcnhfc3RhcnQgZnJvbSAweCUw
-OHggdG8gMHglMDh4IHRvIG1ha2Ugcm9vbSBmb3IgTEUgSEFTSCBhbmQvb3IgVFAgVENCcwoAAAAA
-AAAAAAAAAAAAAAAAbXBhcnRpdGlvbl9pbml0OiBtb3ZlZCBwbXJ4X3N0YXJ0IGZyb20gMHglMDh4
-IHRvIDB4JTA4eCAoRURSQU0pCgAAAAAAAAAAAAAAAAAAAABFUSBwZm4gJXUgdmZuICV1OiBkZXN0
-cm95aW5nIGVxaWQgJXUgd2l0aCBwZW5kaW5nIFdSKHMpIChudW1fYnl0ZXMgJXUgYW5kIGZsYWdz
-IDB4JTA4eAoAAAAAAAAAAABsMmRldl9mYy0+Zmxvd2NfaWQgWyV1XSwgbDJkYy0+cGZuIFsldV0s
-IGwyZGMtPnZmbiBbJXVdLCBsMmRjLT5scG9ydCBbJXVdLCBsMmRldl9mYy0+Zmxvd2lkIFsldV0g
-bDJkYy0+dHhfY2ggWyV1XSwgZGV2LnZwZC5wb3J0dmVjIFsleF0KAAAAAAAAAABwb3J0dmVjIFsl
-dV0KAAAAbDJkZXZfdmlfZnNtOiBtYiBbMHgleF0sIGRlZmVycmVkLCBzdGF0ZSBbMHgleF0sIHBv
-cnQgWzB4JXhdCgAAAGwyZGV2X3ZpX2ZzbTogdmlpZCBbMHgleF0gcG9ydCBbMHgleF0sIG1hYy1p
-ZCBbJTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMnhdLiAKAAAAAAAAAAAAAAAAAAAAAGwyZGV2
-X3ZpX2ZzbTogc2dlX2VxaWQgWzB4JXhdLCBzZ2VfaXFpZCBbMHgleF0sIHNnZV9lcWNyIFsweCV4
-XSwgcnNzX3N6IFsweCV4XQoAbDJkZXZfdmlfZnNtOiBsMmRldl9mYy0+Zmxvd2NfbmV0X2wyZGV2
-X210dSBbJXVdLCBtYl9zY3JhdGNoIFsweCV4XSwgcG9ydCBbMHgleF0KAAAAAAAAAAAAAAAAAAAA
-bDJkZXZfdmlfZnNtOiB2aWlkIFslZF0sIHZpX2ZjLT5mbG93Y192aV9mbGFncyBbMHgleF0KAAAA
-AAAAAAAAAGwyZGV2X3ZpX2ZzbTogcGZuIFsweCV4XSwgdmZuIFsweCV4XSwgbDJkZXZfZmMtPmZs
-b3djX2lkIFsweCV4XSwgbHBvcnQgWzB4JXhdLCB2aWlkIFsweCV4XSwgZmxhZ3MgWzB4JXhdCgAA
-AAAAAABsMmRldl92aV9mc206IEVycm9yIGZyZWVpbmcgVkksIHJjIFsweCV4XQoAAAAAAABsMmRl
-dl92aV9mc206IHBpZCBbMHgleF0sIHZpaWQgWzB4JXhdLCBtYl9sb2MgWzB4JXhdLCBtYl9vcmln
-WzB4JXhdLCBsMmRldl9mbGFncyBbMHgleF0sIHJjIFsweCV4XQoAAAAAAAAAAAAAAAAAcGZuICV1
-IHZmbiAldSB2aWEgY29tbWFuZAoAAAAAAABjb25maWd1cmF0aW9uIGZpbGUgcGFyc2VyOiBzcGVl
-ZCB2YWx1ZSBjYW4gb25seSBiZSAxMCwyNSw0MC4gTm90IGFwcGx5aW5nIGl0CgAAAGNvbmZpZ3Vy
-YXRpb24gZmlsZSBwYXJzZXI6IGFlY19yZXRyeV9jbnQgdmFsdWUgJWQgaXMgbm90IHdpdGhpbiB0
-aGUgYWxsb3dlZCBsaW1pdCBvZiAxIHRvIDI1NC5EaXNhYmxpbmcgaXQuCgAAAABmZWMgb3B0aW9u
-IGluIGNvbmZpZyBmaWxlIGlzIGRlcHJlY2F0ZWQKAAAAAAAAAABjb25maWd1cmF0aW9uIGZpbGUg
-cGFyc2VyOiBhbl9hZWNfdGltZSB2YWx1ZSAlZCBpcyBiaWdnZXIgdGhhbiBhbGxvd2VkIGxpbWl0
-LkNoYW5naW5nIGl0IHRvIDEwMDAwIG1zLgoAAAAAAAAAAAAARGVwcmVjYXRlZCBjb25maWcgb3B0
-aW9uIGZvdW5kIGluIGNvbmZpZyBmaWxlLiBJZ25vcmluZy4uCgAAAAAAAGNvbmZpZ3VyYXRpb24g
-ZmlsZSBwYXJzZXI6IHBsIHRpbWVvdXQgdmFsdWUgaXMgdG9vIGxhcmdlLCBjaGFuZ2luZyBmcm9t
-ICV1IHRvICV1dXNlY3MKAAAAAAAAAAAAAHNjaGVkX2lvcXR4X2JwX3ByaW9yaXR5OiBoYXMgJXUg
-ZW50cmllcyBvbmx5LCByZXF1aXJlcyAldSBlbnRyaWVzCgAAAAAAAAAAAAAAAAAAdHBfYmFja29m
-ZjogcGFyc2VkICVkIGluc3RlYWQgb2YgJXUgZW50cmllcwoAAAAAdHBfdGltZXJ2YWxzOiBwYXJz
-ZWQgJWQgaW5zdGVhZCBvZiAldSBlbnRyaWVzCgAAdHBfdGltZXJyZXM6IHBhcnNlZCAlZCBpbnN0
-ZWFkIG9mICV1IGVudHJpZXMKAAAAdHBfbXR1cyBoYXMgJXUgZW50cmllcyBvbmx5LCByZXF1aXJl
-cyAldSBlbnRyaWVzCgAAAAAAAAAAAAAAAAAAAHRwX210dXNbJXVdIGlzICV1IGJ5dGVzIHdoaWNo
-IGlzIG5vdCBzdXBwb3J0ZWQKAGh3X2NpbV90c2NoX3RpY2tfaW5pdDogVElDSyVkLCB2YWx1ZSAw
-eCV4LCByYXRlICV1IGticHMKAAAAAAAAAABpbnZhbGlkIHRpY2sgZ3JhbnVsYXJpdHkgJXUga2Jw
-cyBvciBncmFudWxhcml0eSB2YWwgbXVzdCBiZSA8ICV1CgAAAAAAAAAAAAAAAAAAAFRpY2sgZ3Jh
-bnVsYXJpdGllcyAldWticHMKAAAAAAAAY29uZmlndXJhdGlvbiBmaWxlIHBhcnNlcjogc2dlIHRp
-bWVyIHZhbHVlWyVkXSBpcyB0b28gbGFyZ2UsIGNoYW5naW5nIGZyb20gJXUgdG8gJXV1c2VjcwoA
-AAAAAAAAZmlsdGVybWFzayAweCV4IGlzIG5vdCBlcXVhbC9zdWJzZXQgdG8vb2YgZmlsdGVybW9k
-ZQoAAAAAAAAAAAAAAGNsaXAgZW50cnkgZGVsZXRpb24gZmFpbGVkIGF0IHBvcyAldSwgcmV0ICVk
-CgAAAGh3X2xlX2NsaXBfaGFuZGxlcjogcmVtb3ZlZCBwb3M9JXUgKD1pZHggJXUpCgAAAGh3X2xl
-X2NsaXBfaGFuZGxlcjogYWRkaW5nIHRvIHBvcz0ldSAoPWlkeCAldSkKAHBoeV9pbml0OiBwb3J0
-ICV1IHdpdGggdGhlIHR5cGUgJXUgIGhhdmUgcmV0ICVkCgAAAAAAAAAAAAAAAAAAAABod19tYWNf
-YWVjX2NvbXBsZXRlWyV1XSBvbiBsYW5lcyAlI3ggKHNpZ2RldCAlI3gpLCB0eF9sYW5lcyAlI3gK
-AAAAAAAAAAAAAAAAAAAAAGh3X21hY19tdGlwX2VuYWJsZTogcG9ydCVkLCBwdHlwZSAweCV4LCBz
-cGVlZCAweCV4LCBmZWMgMHgleAoAAABod19tYWNfaW5pdF9wb3J0WyV1XSwgcHR5cGUgMHgleCwg
-c3BlZWQgMHgleCwgbGFuZXMgMHgleCwgZmVjIDB4JXgKAAAAAAAAAAAAAAAAAG1vZHVsZVsldV06
-IHBvcnQgbW9kdWxlIGluc2VydGVkIGFuZCByZWFkeQoAAAAAAG1vZHVsZVsldV06IHBvcnQgbW9k
-dWxlIHJlbW92ZWQKAAAAAAAAAAAAAAAAAAAAAG1vZHVsZVsldV06IHVua25vd24gbW9kdWxlIGlk
-ZW50aWZpZXIgMHglMDJ4CgAAAG1vZHVsZVsldV06IGV4Y2VwdGlvbiBjYWJsZSBmZWMgYWJpbGl0
-eSBvZiBwb3J0IDB4JXgsIG9mIGNhYmxlIDB4JXgKAAAAAAAAAAAAAAAAbW9kdWxlWyV1XTogdW5z
-cGVjaWZpZWQgZXh0ZW5kZWQgY29tcGxpYW5jZSBjb2RlIDB4JTAyeAoAAAAAAAAAAG1vZHVsZVsl
-dV06IGZlYyBhYmlsaXR5IG9mIHBvcnQgMHgleCwgY2FibGUgMHgleCwgY29uZmlnIDB4JXgKAABt
-b2R1bGVbJXVdOiBmZWMgYWJpbGl0eSBvZiBjYWJsZSAweCV4CgAAAAAAAAAAAABtb2R1bGVbJXVd
-OiBncGlvICV1IHRyYW5zIDEwRyAweCUwMnggMUcgMHglMDJ4IChsZW5ndGggJXUpIGNhYmxlIDB4
-JTAyeCAobGVuZ3RoICV1KSBtb2R1bGVfdHlwZSAweCUwMngKAAAAAAAAAAAAbW9kdWxlWyV1XTog
-Z3BpbyAldSB0cmFucyAxMEcgMHglMDJ4IDFHIDB4JTAyeCAobGVuZ3RoICV1KSBjYWJsZSAweCUw
-MnggKGxlbmd0aCAldSkgbW9kdWxlX3R5cGUgMHglMDJ4CgAAAAAAAAAAAGN4NF9jcl9tb2R1bGVf
-cnhfbG9zWyV1XTogcnhfbG9zIGNoYW5nZWQgdG8gJXUKAEREUiBpbml0IGNvbXBsZXRlLCBiZWdp
-bm5pbmcgY2FsaWJyYXRpb24KAAAAAAAAAE1DIGNhbGlicmF0aW9uIGZhaWxlZDogREZJIGluaXQg
-bm90IGNvbXBsZXRpbmcKAE1DIGNhbGlicmF0aW9uIGZhaWxlZDogREZJIGluaXQgbm90IGNvbXBs
-ZXRpbmcKAE1DIGNhbGlicmF0aW9uIGZhaWxlZDogUGh5IGluaXQgQ2FsaWJyYXRpb24gZGlkbid0
-IGNvbXBsZXRlLgoAAABNQyBjYWxpYnJhdGlvbiBmYWlsZWQ6IFBoeSBpbml0IENhbGlicmF0aW9u
-IEVycm9yZGlkbid0IGNvbXBsZXRlLjB4JXgKAAAAAAAAAAAAAE1DIGNhbGlicmF0aW9uIFBhc3Nl
-ZDogTm8gUGh5IGluaXQgQ2FsaWJyYXRpb24gRXJyb3IgSXQgZGlkIGNvbXBsZXRlLgoAAAAAAAAA
-AAAATUMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiBEaWRuJ3QgZ2V0IGFsbCBEUDE4cyBsb2NrZWQK
-AAAAAAAAAAAAAE1DIGluaXRpYWxpemF0aW9uIGZhaWxlZDogRGlkbid0IGdldCBib3RoIEFEUnMg
-bG9ja2VkCgAAAAAAAAAAAABNQyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6IFNMRVdfRE9ORV9TVEFU
-VVMgbmV2ZXIgdG9nZ2xlZAAAAAAAAAAAcGZuICV1IHZmbiAldSBGU00gc3RhcnQKAAAAAAAAAABw
-Zm4gJXUgdmZuICV1IEZTTSBjb21wbGV0ZQoAAAAAAGZscl9wZnZmX2ZzbVsldToldV06IHVua25v
-d24gc3RhdGUgJXUKAAAAAAAAAAAAAGh3IHBmIGJpdG1hcCAweCUwMngKAAAAAAAAAAAAAAAAJnZm
-aWRfYml0bWFwWzBdIDB4JTA4eDoweCUwOHg6MHglMDh4OjB4JTA4eAoAAAAAJnZmaWRfYml0bWFw
-WzRdIDB4JTA4eDoweCUwOHg6MHglMDh4OjB4JTA4eAoAAAAAYWZ0ZXIgdmZpZCBmaXh1cCBodyBw
-ZiBiaXRtYXAgMHglMDJ4CgAAAAAAAAAAAAAAJnZmaWRfYml0bWFwWzBdIDB4JTA4eDoweCUwOHg6
-MHglMDh4OjB4JTA4eAoAAAAAJnZmaWRfYml0bWFwWzRdIDB4JTA4eDoweCUwOHg6MHglMDh4OjB4
-JTA4eAoAAAAAdGltZXIgcXVldWUgJXUgbG9zdCBhIHRpY2shIG5leHQgJXAgbGFzdCAlcCBudW1l
-ICV1CgAAAAAAAAAAAAAAAGZscl90aW1lcl9zdGFydDogZmxvd2NfaWQgJXUgJXAgYnVmICVwCgAA
-AAAAAAAAAE1BQzogUExMcyBkaWRuJ3QgbG9jawoAAAAAAAAAAAAAaHdfbWNfcHJlcF9tYzogbWMg
-JWQsIG1vZGUgJWQsIGRlbnNpdHkgJWQsIHdpZHRoICVkLCBzaXplIDB4JXgsIG51bV9jaGlwcyAl
-ZCAKAABwY2llOiByZWFkIGZyb20gc2VyY2ZnIHBjaWVfaXBfdXJfbWF4ZnVuYyAweCV4IHBmYml0
-bWFwIDB4JXgKAAAAcGNpZTogbnBmICV1IChwZmJpdG1hcCAweCUwMngpIG52ZiAldSAocGYgMC4u
-NyAweCUwOHglMDh4KSB2ZnN0cmlkZSAldQoAAAAAAAAAAABod19tYWNfcHJlcDogZXJyb3IsIHJl
-dCAlZAoAAAAAAGh3X2dwaW9fcHJlcDogZXJyb3IsIHJldCAlZAoAAAAAaHdfbWNfc2V0X2Nsa19j
-Zmc6IGZvcmNlX3Jlc2V0ICVkLCBjdXJyX3N0YXRlICVkLCBzaXplICV1CgAAAAAAAE1DIENMSyBz
-ZXR0aW5nIGZhaWxlZDogUExMX01fTE9DSyBuZXZlciB0b2dnbGVkCgAAAAAAAAAAAAAAAAAAAABm
-YWlsZWQgdG8gZmluZCB0aGUgJWMlYyBWUEQgcGFyYW1ldGVyCgAAAAAAAAAAAABmYWlsZWQgdG8g
-cGFyc2UgdGhlICVjJWMgVlBEIHBhcmFtZXRlcgoAAAAAAAAAAABtZW1fcHJlcDogZXJyb3IsIHJl
-dCAlZAoAAAAAAAAAAGZhaWxlZCB0byBzdWNjZXNzZnVsbHkgZmluZCBDaGVsc2lvIFZQRAoAAAAA
-AAAAAHZwZF9wcmVwOiBlcnJvciwgcmV0ICVkCgAAAAAAAAAAc2VyY2ZnX3ByZXA6IGVycm9yLCBy
-ZXQgJWQKAAAAAABsb2cgaW5pdGlhbGl6ZWQgQCAweCUwOHggc2l6ZSAldSAoJXUgZW50cmllcykg
-ZndyZXYgMHglMDh4IHBjaWVfZncgMHglMDh4CgAAAAAAAFBJIGVycm9yIGZsb3dpZF9sZW4xNiAw
-eCV4LCBhcHBfdGFnIDB4JXgsIHJlZl90YWcgMHgleCwgcGlzYyAlMDR4ICUwNHggJTA0eCAlMDR4
-CgAAAAAAAAAAAAAAAAAAAGZsb3djICV1IChTR0UgZXFpZCAldSkgKEVUSENUUkwgcXVldWUpIGV4
-cGVyaWVuY2VkIGEgUENJIERNQSBSRUFEIHdvcmsgcmVxdWVzdCBlcnJvciAoaW5ib3VuZCBxdWV1
-ZSAldSkKAAAAAAAAAABmbG93YyAldSAoU0dFIGVxaWQgJXUpIGV4cGVyaWVuY2VkIGFuIHVuZXhw
-ZWN0ZWQgUENJIERNQSBSRUFEIHdvcmsgcmVxdWVzdCBlcnJvciAoaW5ib3VuZCBxdWV1ZSAldSkK
-AAAAAAAAAAAAAAAAZmxvd2MgJXUgZXhwZXJpZW5jZWQgYW4gdW5leHBlY3RlZCBQQ0kgRE1BIFJF
-QUQgZXJyb3IgKGluYm91bmQgcXVldWUgJXUpCgAAAAAAAABnYXRoZXJfdGFza3NfZm9yX3RtZjog
-aWR4IFsweCV4XSwgdGFzay1pZCBbMHgleF0sIGNtZC1pZCBbMHgleF0sIGFjdGl2ZSB0YXNrcyBb
-MHgleF0uIGNvbm4taWQgWzB4JXhdLCBjbWQgY29ubi1pZCBbMHgleF0sIHRhc2sgY29ubi1pZCBb
-MHgleF0KAABnYXRoZXJfdGFza3NfZm9yX3RtZjogSW52YWxpZCB0eXBlIFsweCV4XSwgYmFpbGlu
-ZyBvdXQuCgAAAAAAAAAAZ2F0aGVyX3Rhc2tzX2Zvcl90bWY6IHRhc2sgaWQgWzB4JXhdLCBzdGF0
-ZSBbMHgleF0sIGxpZHggWzB4JXhdLCBjb29raWUgaGkgWzB4JTA4eF0gOiBsbyBbMHglMDh4XQoA
-AAAAAAAAAAAAAAAAAGdhdGhlcl90YXNrc19mb3JfdG1mOiByYyBbMHgleF0sIFsweCV4XSB0YXNr
-IGdhdGhlcmVkIGZvciB0bWYgdHlwZSBbMHgleF0gcHJvY2Vzc2luZy4KAAAAAAAAAAAAAHNjc2lf
-ZGF0YV9vdXQ6IGNvbm5fZmMgWzB4JXhdLCBzdGF0ZSBbMHgleF0sIHNlc3NfZmMgWzB4JXhdIGlu
-IHJlY292ZXJ5LiBTa2lwcGluZyBpc3Rhc2tfZmMgWzB4JXhdIGZyb20gVFguCgAAAABzZW5kX21z
-Z19wbGQ6IGZjIHsgaWQgWzB4JXhdLCBmbGFncyBbMHgleF0sIGJ1ZmZlcmVkIFsldV0uIH0KAAAA
-c2VuZF9tc2dfcGxkOiBzZXNzIHsgaWQgWzB4JXhdIH0sIHVscHR4Y2ggWyV1XSBubyBjcmVkaXRz
-IGF2YWlsYWJsZSwgcmVzY2hlZHVsaW5nIHJlcXVlc3QuCgAAAAAAc2VuZF9hYm9ydF9yZXE6IGNz
-a19mYy0+Zmxvd2NfdHlwZSBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCB0aWQgWzB4
-JXhdLCB1bHB0eGNoIFsldV0sIGJ1ZmZlcmVkIFsldV0KAAAAAGh3IHJlZ2lzdGVyIG9wZXJhdGlv
-biBub3QgY29tcGxldGluZywgcmVnIDB4JTA4eCBtYXNrIDB4JTA4eCB2YWx1ZSAweCUwOHggKHJl
-ZyAweCUwOHgpCgAAAAAAAAAAAE1ESU8gQ0w0NTogZmFpbGVkIHRvIHNldCB1cCBNTUQgYWRkcgoA
-AAAAAAAAAAAAAE1ESU86IGZhaWxlZCB0byB3cml0ZQoAAAAAAAAAAAAATURJTyBDTDQ1OiBmYWls
-ZWQgdG8gc2V0IHVwIE1NRCBhZGRyCgAAAAAAAAAAAAAATURJTzogZmFpbGVkIHRvIHJlYWQKAAAA
-AAAAAAAAAABtaWlfYWR2X2ZjWyV1XTogcmNhcHMgMHgleAoAAAAAAG1paV9hZHZfc3BlZWRbJXVd
-OiByY2FwcyAweCV4CgAAbmV0aWZfc2V0X21hYzogbDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl9t
-YnMgWzB4JXhdCgAAAAAAAAAAAAAAAHJlbW92aW5nIG1hYwoAAABub2RlLT5ncnAgWyUwNHggJTA0
-eCAlMDR4ICUwNHhdLCBub2RlX2lkICV1LCByZWZfY250ICV1CgAAAAAAAAAAREFEIGZvciBhZGRy
-IFslMDR4ICUwNHggJTA0eCAlMDR4XQoAAAAAAAAAAAAAAAAAY3BsX3R4X3BrdDogdmxhbmlkIFsw
-eCV4XQoAAAAAAABjcGxfdHhfcGt0OiB2bGFuaWQgWzB4JXhdCgAAAAAAAGZsb3djX2lkIFsldV0g
-bDJkZXZfZmMgWzB4JXhdIGFscmVhZHkgcmVjZWl2ZWQgUkEsIG5vdCBzZW5kaW5nIFJTCgAAAAAA
-AAAAAAAAAAAAZmxvd2NpZCBbJXVdIGwyZGV2X2ZjIFsweCV4XSBObyBJUHY2IHJvdXRlcgoAAAAA
-c2VuZF9jbG9zZV9yZXE6IGNza19mYy0+Zmxvd2NfdHlwZSBbMHgleF0sIGNza19mYy0+Zmxvd2Nf
-aWQgWzB4JXhdLCBjc2tfZmMtPnRjYl9zdGF0ZSBbMHgleF0KAAAAc2VuZF9jbG9zZV9yZXE6IGNz
-a19mYy0+Zmxvd2NfdHlwZSBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCB0aWQgWzB4
-JXhdLCB1bHB0eGNoIFsldV0sYnVmZmVyZWQgWyV1XQoAAAAAAG9mbGRfdGNwX2RvX2FjdGl2ZV9j
-bG9zZTogY3NrX2ZjIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+dGNi
-X3N0YXRlIFsweCV4XQoAAAAAAG9mbGRfdGNwX2RvX2FjdGl2ZV9jbG9zZTogY3NrX2ZjIFsweCV4
-XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+dGNiX3N0YXRlIFsweCV4XQoAAAAA
-AG9mbGRfdGNwX2Rpc2Nvbm5lY3Q6IHRjYl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZs
-b3djX2lkIFsweCV4XSwgY3NrLT50Y2Jfc3RhdGUgWzB4JXhdCgAAAGRlY29kZV9iYXNlNjRfc3Ry
-aW5nOiBkbGVuIFslZF0KAAAAAAAAAAAAAAAAAAAAAGRlY29kZV9oZXhfc3RyaW5nOiBkbGVuIFsl
-ZF0KAAAAZm9pc2NzaV92YWxpZGF0ZV9sb2dpbl9zdGFnZTogLSAxCgAAAAAAAAAAAAAAAAAAYXN5
-bmNfcGR1OiBsb2dvdXQgcmVxdWVzdGVkIGJsb2NraW5nIHNlc3Npb24KAAAAYXN5bmNfcGR1OiBz
-ZXNzL2Nvbm4gZHJvcCByZXF1ZXN0ZWQgYmxvY2tpbmcgc2Vzc2lvbgoAAAAAAAAAAAAAAGNwbF90
-eF9wa3Q6IHZsYW5pZCBbMHgleF0KAAAAAAAAcmVpbml0IGxpbmstbG9jYWwgYWRkcmVzcwoAAAAA
-AABuZXRfbDJkZXZfZmluZF9ieV9hZGRyOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBsMmRj
-LT5scG9ydCBbJXVdLCBsMmRfZmMtPmZsb3djX2lkIFsweCV4XSwgbDJkYy0+aW40X2Rldi5pbl9h
-ZGRyLmFkZHIgWzB4JXhdLCBhZGRyIFsweCV4XQoAAABuZXRfbDJkZXZfbXR1X2NvbmZpZzogbDJk
-ZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgbXR1ICV1CgAAAAAAAAAAbmV0aWZfZG9fZGhjcDogd3It
-PnBhcmFtLnZsYW5pZCBbJXVdLCBsMmRldl9mYy0+Zmxvd2NfbmV0X2wyZGV2X3ZsYW5kZXYgWzB4
-JXhdCgBjcGxfdHhfcGt0OiB2bGFuaWQgWzB4JXhdCgAAAAAAAGVuY29kZSBoZXggc3RyaW5nOiBk
-bGVuIFslZF0KAAAAY2huZXRfZmluZF9sMnRfZW50cnk6IGRhZGRyIFslMDh4XSwgWzB4JTA4eF0s
-IGxvY2FsIG5ldHdvcmsgWyVkXQoAAAAAAAAAAAAAAAAAAABsMnRlbnQgWyUweF0sIGwydGVudC0+
-aWR4IFslZF0KAHRjcF9zZW5kX2FvcGVuX3JlcTogY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNz
-a19mYy0+Zmxvd2Nfc3RhdGUgWzB4JXhdLCBidWZmZXJlZCBbJXVdLCByZXNfY250IFsweCV4XSwg
-aXFfaWR4IFsweCV4XQoAAAAAAAAAAAAAdGNwX3NlbmRfYW9wZW5fcmVxOiBjc2tfZmMtPmZsb3dj
-X2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIG5vIHZhbGlkIGwydF9lbnR5
-LiBEZWxheWluZyBhbm90aGVyIHJldHJ5IGZvciAxIHNlY29uZHMuCgAAAAAAAAAAAAAAAAAAYW9w
-ZW5fcmVxOiBod19sZV9maWx0ZXJfY3R1cGxlIGZhaWxlZAoAAAAAAAAAAAAAb2ZsZF90Y3Bfc2Vu
-ZF9hb3Blbl9yZXE6IGNwbF9yZXEtPkZpbHRlcl9oaSBbMHglMHhdLCBjcGxfcmVxLT5GaWx0ZXJf
-bG9fRkNvRU1hc2sgWzB4JTB4XSwgY3R1cGxlc1swXSBbMHgleF0sIGN0dXBsZXNbMV0gWzB4JXhd
-CgBsYWRkcl9yZXQ6IGwyZGMuYWRkciA6MHgleCwgc3JjX2FkZHI6MHgleAoAAAAAAABpdHRfdG9f
-dGFza19pZHg6IHRhZyBbMHglMDh4XSwgaGkgWyV1XSwgbG8gWyV1XSwgbm1hc2tiaXRzIFsldV0s
-IHRhc2tfaWR4IFsldV0KAFdBVENIRE9HOiBObyB0ZW1wZXJhdHVyZSBzZW5zb3IgYXZhaWxhYmxl
-LgoAAAAAAFdBVENIRE9HOiBBY3RpdmF0aW5nCgAAAAAAAAAAAAAAV0FUQ0hET0cgLSBFbmFibGUg
-YWN0aW9uICV1IHRpbWUgJXUKAAAAAAAAAAAAAAAAV0FUQ0hET0cgLSBEaXNhYmxlIGFjdGlvbiAl
-dQoAAABXQVRDSERPRzogRGUtYWN0aXZhdGluZwoAAAAAAAAAAHBvcnRbJXVdIHNldCBQQVVTRSBQ
-QVJBTVM6IHBwcGVuICV1IHR4cGUgJSN4IHJ4cGUgJSN4CgAAAAAAAAAAAABtcHNfbGlua191cFsl
-dV0gYWNhcHMgJSN4ICg4MDIuMyAlI3gpICsgbHBhY2FwcyAlI3ggPT4gJSN4CgAAAAAAaXB2Nl9o
-YW5kbGVfbGlua19kb3duIGZsb3djX2lkIDB4JXgKAAAAAAAAAAAAAAAAaXB2Nl9oYW5kbGVfbGlu
-a191cCBmbG93Y19pZCAweCV4CgAAAAAAAAAAAAAAAAAAZm9pc2NzaSBjb25uX2ZjIFsweCV4XSwg
-Zmxvd2Nfc2NoZWRjbCBbMHgleF0sIGluZ19jaCBbMHgleF0sIGVncl9jaCBbMHgleF0KAAAAAABs
-MmRldl9ub3RpZnkgd2l0aCB1bmtub3duIGZsYWcgWzB4JXhdCgAAAAAAAAAAAABJbnZhbGlkIHJh
-dGUgJXUga2Jwcywgb3V0IG9mIGNvbmZpZ3VyZWQgZ3JhbnVsYXJpdHkgcmFuZ2VzCgAAAAAARENC
-WDogc3VtIG9mIHJhdGVzIG9uIGFsbCBjbGFzc2VzIG11c3QgYmUgMTAwIChhY3R1YWw6ICV1KQoA
-AAAAAHJpX3dyX2luaXRbJXVdOiBtc3MgJXUgaXMgbm90IDgtYnl0ZSBhbGlnbmVkCgAAAGNvcmVf
-cHJvZ3JhbV90Y2I6IHRpZCAlI3ggdF9zdGF0ZSAlI3ggcmN2X2FkdiAweCUwOHggcmN2X3NjYWxl
-ICUjeCB0eF9tYXggJSN4IHJjdl9ueHQgJSN4IGF0aWQgJSN4CgAAAAAAAAAAAAAAAAAJb3B0MCAl
-I3gleCBvcHQyICUjeCBpcHY2ICUjeCBmbGFnc190aW1lciAweCUwOHgKAAAAAAAAAAAAAAAAAAAA
-b2ZsZF9jb25uZWN0aW9uX3dyOiBjb25uZWN0aW9uIHdpdGggNS10dXBsZSBscCAweCUwNHggZnAg
-MHglMDR4IGxpcCAweCUwOHglMDh4IHBpcCAweCUwOHglMDh4IGZpbHRlciAweCUwOHggZXhpc3Rz
-IEAgTEUgaW5kZXggJXUKAAAAAAAAAAAAAAAAAAAAb2ZsZF9jb25uZWN0aW9uX3dyOiBjb25uZWN0
-aW9uIHdpdGggNS10dXBsZSBscCAweCUwNHggZnAgMHglMDR4IGxpcCAweCUwOHggcGlwIDB4JTA4
-eCBmaWx0ZXIgMHglMDh4IGV4aXN0cyBAIExFIGluZGV4ICV1CgAAAAAAAABvZmxkX2Nvbm5lY3Rp
-b25fd3I6IGNvbm5lY3Rpb24gd2l0aCA1LXR1cGxlIGxwIDB4JTA0eCBmcCAweCUwNHggbGlwIDB4
-JTA4eCUwOHggcGlwIDB4JTA4eCUwOHggZmlsdGVyIDB4JTA4eAoAAAAAb2ZsZF9jb25uZWN0aW9u
-X3dyOiBjb25uZWN0aW9uIHdpdGggNS10dXBsZSBscCAweCUwNHggZnAgMHglMDR4IGxpcCAweCUw
-OHggcGlwIDB4JTA4eCBmaWx0ZXIgMHglMDh4CgAAAAAAAAAAAAAAAEVRIChmcmVlc2xpc3QpIHBm
-biAldSB2Zm4gJXU6IGZsaWRfYSAldSBmZXRjaCBidXJzdCBtYXhbJXVdICV1ICgldSBieXRlcykg
-PiAyOAoASVFGTElOVCBwZm4gJXUgdmZuICV1OiBpcWlkICV1IHRvbyBsYXJnZSAobWF4ICV1KQoA
-AAAAAAAAAAAAAAAAAElRRkxJTlQgcGZuICV1IHZmbiAldTogaXFpZCAldSBub3QgYWxsb2NhdGVk
-CgAAAElRRkxJTlQgcGZuICV1IHZmbiAldTogZmwwaWQgJXUgdG9vIGxhcmdlIChtYXggJXUpCgAA
-AAAAAAAAAAAAAABJUUZMSU5UIHBmbiAldSB2Zm4gJXU6IGZsMGlkICV1IG5vdCBhbGxvY2F0ZWQK
-AABJUUZMSU5UIHBmbiAldSB2Zm4gJXU6IGZsMWlkICV1IHRvbyBsYXJnZSAobWF4ICV1KQoAAAAA
-AAAAAAAAAAAASVFGTElOVCBwZm4gJXUgdmZuICV1OiBmbDFpZCAldSBub3QgYWxsb2NhdGVkCgAA
-SVFGTElOVCBwZm4gJXUgdmZuICV1OiBmbDFpZCAldSBpcyB2YWxpZCBidXQgbm90IGZsMGlkICV1
-CgAAAAAAAElRRkxJTlQgcGZuICV1IHZmbiAldTogZmwxaWQgJXUgaXMgdmFsaWQgYnV0IGhlYWRl
-ciBzcGxpdCBmZWF0dXJlIGlzIG5vdCBlbmFibGVkCgAAAAAAAAAAAAAAAAAAAEVRIHBmbiAldSB2
-Zm4gJXU6IGNyZWF0aW5nIEVUSCBlcWlkICV1IHdpdGggcGVuZGluZyBXUihzKSAobnVtX2J5dGVz
-ICV1IGFuZCBmbGFncyAweCUwOHgKAAAAAAAAAEVRIHBmbiAldSB2Zm4gJXU6IGNyZWF0aW5nIENU
-UkwgZXFpZCAldSB3aXRoIHBlbmRpbmcgV1IocykgKG51bV9ieXRlcyAldSBhbmQgZmxhZ3MgMHgl
-MDh4CgAAAAAAAEVRIHBmbiAldSB2Zm4gJXU6IGVxaWQgJXUgdG9vIGxhcmdlIChtYXggJXUpCgAA
-AEVRIHBmbiAldSB2Zm4gJXU6IGVxaWQgJXUgbm90IGFsbG9jYXRlZAoAAAAAAAAAAGRjYnhfcG9w
-dWxhdGVfY3RybCBjb2RlIGluY29tcGxldGUKAAAAAAAAAAAAAAAAAHZpX3RjYW1fcmF3IGlkeCAl
-dSBtYWMgMHglMDR4ICUwOHgKAAAAAAAAAAAAAAAAAHBvcnRfYmxpbmtfbGVkX3Jlc3RvcmUKAAAA
-AAAAAAAAcG9ydF9ibGluazogYmxpbmtkdXI9MHgleCBibGlua19yZWZjbnQKAAAAAAAAAAAAcG9y
-dF9ibGluazogCWJsaW5rX3JlZmNudD0weCV4CgBwb3J0X2JsaW5rOiAJYmxpbmtfcmVmY250PTB4
-JXgKAG1paV9hbnJlc3RhcnRbJXVdOiBhY2FwcyAweCV4CgAAcG9ydF9jbWRfaGFuZGxlcjogdW5r
-bm93biB1LmRjYi50eXBlIDB4JXgKAAAAAAAAcG9ydFsldToweCUwMng6MHglMDJ4XTogbDFjZmcs
-IGludmFsaWQgcmVxdWVzdCwgcGNhcHMgMHgleCBhY2FwcyAweCV4IHJjYXBzIDB4JXgKAAAAAAAA
-AAAAAAAAAAAAUmV0dXJuaW5nIHN1Y2Nlc3MgYXMgdGhlIGxpbmsgc3RhdHVzIHVwZGF0ZSBpcyBw
-ZW5kaW5nCgAAAAAAAAAAAHBvcnRbJXU6MHglMDJ4OjB4JTAyeF06IGwxY2ZnLCBwY2FwcyAlI3gg
-YWNhcHMgJSN4IHJjYXBzICUjeCBtY2FwcyAlI3gKAAAAAAAAAAAAcG9ydFsldToweCUwMng6MHgl
-MDJ4XTogbDFjZmcsIG1kaSBpc3N1ZSBwY2FwcyAweCV4IGFjYXBzIDB4JXggcmNhcHMgMHgleAoA
-AAAAAABwb3J0WyV1OjB4JTAyeDoweCUwMnhdOiBsMWNmZywgY2Fubm90IGZvcmNlIG11bHRpcGxl
-IGZlYyhzKSwgcGNhcHMgMHgleCBhY2FwcyAweCV4IHJjYXBzIDB4JXgKAABwb3J0WyV1OjB4JTAy
-eDoweCUwMnhdOiBsMWNmZywgY2Fubm90IGZvcmNlIG5vL211bHRpcGxlIHNwZWVkKHMpLCBwY2Fw
-cyAweCV4IGFjYXBzIDB4JXggcmNhcHMgMHgleAoAAAAAAAAAAAAAAAAAYmFkIEZsb3dDICVkIG9u
-IGVzdGFibGlzaGVkIGNvbm5lY3Rpb24KAAAAAAAAAAAAZXRoX2Zsb3djX2hhbmRsZXJbMHgleF06
-IGZsYWdzIDB4JTA4eCBudW1fYnl0ZXMgJXUgc2NoZWRjbCAweCV4IC0+IDB4JXgKAAAAAAAAAAB0
-YXNrX2lkeF90b19pdHQ6IHRhc2tfaWR4IFsldV0sIGhpIFsldV0sIGxvIFsldV0sIG5tYXNrYml0
-cyBbJXVdLCBzd190YWcgWzB4JTA4eF0sIHBwb2RfaWR4IFslZF0KAAAAAAAAAAAAAAAAAAAAc2Nz
-aV9jbWQ6IHJlY2VpdmVkIFRNRiBvcCBbMHgleF0gZnVuYyBbMHgleF0gb24gY29ubiBbMHgleF0g
-dGhyb3VnaCBjb21tYW5kIHBhdGguCgAAAAAAAAAAAAAAAAAAc2NzaV9jbWQ6IGNvbm5fZmMgWzB4
-JXhdLCBzdGF0ZSBbMHgleF0sIHNlc3NfZmMgWzB4JXhdIGluIHJlY292ZXJ5LiBTa2lwcGluZyBp
-c3Rhc2tfZmMgWzB4JXhdIGZyb20gVFguCgAAAAAAAAAAAHNjc2lfcmVhZDogY29ubl9mYyBbMHgl
-eF0sIHN0YXRlIFsweCV4XSwgc2Vzc19mYyBbMHgleF0gaW4gcmVjb3ZlcnkuIFNraXBwaW5nIGlz
-dGFza19mYyBbMHgleF0gZnJvbSBUWC4KAAAAAAAAAABzY3NpX3dyaXRlOiBjb25uX2ZjIFsweCV4
-XSwgc3RhdGUgWzB4JXhdLCBzZXNzX2ZjIFsweCV4XSBpbiByZWNvdmVyeS4gU2tpcHBpbmcgaXN0
-YXNrX2ZjIFsweCV4XSBmcm9tIFRYLgoAAAAAAAAAZGNieF9jb250cm9sX3NtWyV1XSBDT05UUk9M
-X0xJTktVUAoAAAAAAAAAAAAAAAAAZGNieF9jb250cm9sX3NtWyV1XSBDT05UUk9MX1VQREFURV9E
-Q0JYX1RMVgoAAAAAZGNieF9jb250cm9sX3NtWyV1XSBDT05UUk9MX1BFRVJfTk9UX0FEVkVSVElT
-RV9EQ0JYCgAAAAAAAAAAAAAAAGRjYnhfY29udHJvbF9zbVsldV0gQ09OVFJPTF9VUERBVEVfT1BF
-Ul9WRVJTSU9OCgAAAAAAAAAAAAAAAAAAAABkY2J4X2NvbnRyb2xfc21bJXVdIENPTlRST0xfUFJP
-Q0VTU19QRUVSX1RMVgoAAABkY2J4X2NvbnRyb2xfc21bJXVdIENPTlRST0xfQUNLX1BFRVIKAAAA
-AAAAAAAAAABkY2J4X2llZWVfdmFsaWRhdGVbJXVdIGVycm9yIChvdWkgJSN4IHN1YnR5cGUgJSN4
-IGxlbiAlI3gpCgAAAAAAZGNieF9jZWVfdmFsaWRhdGVbJXVdIGVycm9yCgAAAABjaG5ldF9sMnRf
-dXBkYXRlOiBsMmRldl9mYyBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y19pZCBbJXVdIGwyZGV2X2Zj
-LT5mbG93Y19mbGFncyBbMHgleF0sIGludGYgWzB4JXhdCgAAAAAAAAAAAAAAY2huZXRfbDJ0X3Vw
-ZGF0ZTogbDJkZXZfZmMtPmZsb3djX2lkIFsldV0gYWxyZWFkeSBzY2hlZHVsZWQKAAAAAGNobmV0
-X2wydF91cGRhdGU6IGluIGRlbGF5ZWRfcHJvY2Vzc2luZywgbDJ0ZW50IFslMDh4XQoAAAAAAAAA
-AABESENQdjYgUkVQTFkgcmVjZWl2ZWQgc3RhdGUgJXUKAGRoY3AgcmVwbHkgcmVjZWl2ZWQgaW4g
-d3Jvbmcgc3RhdGUgJWQKAAAAAAAAAAAAAHVua25vd24gc2VydmVyaWQuIElnbm9yaW5nIGRoY3Ag
-cmVwbHkKAAAAAAAAAAAAAHJlY2VpdmVkIHJlcGx5IHdpdGggZGlmZmVyZW50IGFkZHJlc3MuIGln
-bm9yaW5nIGRoY3AgcmVwbHkKAAAAAABESENQdjYgQURWRVJUSVNFIHJlY2VpdmVkCgAAAAAAAGRo
-Y3AgYWR2ZXJ0aXNlIHJlY2VpdmVkIGluIHdyb25nIHN0YXRlICVkCgAAAAAAAGlnbm9yaW5nIHJj
-dmQgYWR2ZXJ0aXNlIHByZWZlcmVuY2UgJXUKAAAAAAAAAAAAAHByZWZpeCBub2RlIDB4JXgsIHZh
-bGlkX2xpZmV0aW1lICV1LCBjdXJyZW50X3RpbWUgJXUgZXhwaXJlZCwgZGVsZXRpbmcgaXQKAAAA
-AAAARGVsZXRlZCBwcmVmaXg6IDB4WyUwNHggJTA0eCAlMDR4ICUwNHhdCgAAAAAAAAAAU3RhcnQg
-REhDUHY2IHRvIGdldCB0aGUgaXAgYWRkcmVzcwoAAAAAAAAAAAAAAAAATm8gZGhjcCwgZGhjcCBz
-dGF0ZSAlZCwgYWRkciBzdGF0ZSAlZAoAAAAAAAAAAAAAcGluZyByZXEgcGF5bG9hZCB0b28gbGFy
-Z2UgJXUuIElnbm9yaW5nIHJlcS4KAAAAUlIgcmN2ZAoAAAAAAAAAAGNobmV0X2lwdjZfcmRfaW5w
-dXQ6IEludmFsaWQgUmVkaXJlY3QKAAAAAAAAAAAAAGNobmV0X2lwdjZfbmFfaW5wdXQ6IEludmFs
-aWQgTkEKAAAAAAAAAAAAAAAAAAAAAGlwdjYgTkEgcmN2ZAoAAABjaG5ldF9pcHY2X25hX2lucHV0
-OiBEdXBsaWNhdGUgYWRkcmVzcyBkZXRlY3RlZCEKAAAAAAAAAAAAAAAAAAAATkEgaW4gcmVwb25z
-ZSBvZiBOUwoAAAAAAAAAAAAAAABjaG5ldF9pcHY2X25zX2lucHV0OiBJbnZhbGlkIE5TCgAAAAAA
-AAAAAAAAAAAAAABjaG5ldF9pcHY2X25zX2lucHV0OiBJbnZhbGlkIE5TIGlwdjZoLT5wbGVuICV1
-CgBpcHY2IE5TIHJjdmQKAAAAY2huZXRfaXB2Nl9uc19pbnB1dDogRHVwbGljYXRlIGFkZHJlc3Mg
-ZGV0ZWN0ZWQKAAAAAAAAAAAAAAAAAAAAAGNobmV0X2lwdjZfbnNfaW5wdXQ6IHNvbWVib2R5IHRy
-eWluZyB0byB1c2Ugb3VyIGFkZHJlc3MKAAAAAAAAAABjaG5ldF9pcHY2X25zX2lucHV0OiByZXEg
-Zm9yIGFkZHIgcmVzb2x1dGlvbgoAAABIb3AgYnkgSG9wIG9wdGlvbgoAAAAAAAAAAAAAAAAAAHBy
-b2Nlc3NfZGhjcF9vcHRzOiByb290IHBhdGggbGVuIFslZF0gYnl0ZXMKAAAAAG5ldGlmX3Byb2Nl
-c3NfZGhjcF9vcHRzOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBNU0dfVFlQRSBbJWRdLCBk
-aGN0eHQtPnN0YXRlIFslZF0KAAAAAAAAAAAAAGljbXBfcmVjdjogbDJkZXZfZmMtPmZsb3djX2lk
-IFsweCV4XSwgcGlkIFsweCV4XSwgaWNtcCB0eXBlIFsweCV4XQoAAAAAAAAAAAAAAAAAYXJwX3Jl
-Y3Y6IGlwaWQgWzB4JXhdLCBpbl9hZGRyLmFkZHIgWzB4JXhdLCBzaXAgWzB4JXhdLCByaXAgWzB4
-JXhdLCBhcnBfb3AgWzB4JXhdCgAAAAAAAAAAAAAAAAAAY2huZXRfYXJwX3JlY3Y6IGlwIGNvbmZs
-aWN0IGRldGVjdGVkCgAAAAAAAAAAAAAAY2huZXRfYXJwX3JlY3Y6IHBpZCBbJXVdLCB2bGFuIFsw
-eCV4XSwgYXJwIG9wIFsweCV4XSwgc2lwIFsweCV4XSwgcmlwIFsweCV4XQoAAABjaG5ldF9pcHY2
-X3JlY3Y6IHZsYW4gZXh0cmFjdGVkLCB2bGFuaWQgWyV1XSwgbDJkZXZfZmMtPmZsb3djX25ldF9s
-MmRldl92bGFuZGV2IFsweCV4XQoAAAAAAAAAAABJbnZhbGlkIGRhdGEgbGVuZ3RoIGRsZW4gJXUs
-IHBhY2tldCBpbmRpY2F0ZXMgJXUgYnl0ZXMKAAAAAAAAAAAAVW5rbm93biBJUHY2IG54dCBwcm90
-b2NvbCAldQoAAABjc29ja19mcmVlOiBzaXplb2YoY3NrX2ZjLT51LmNzb2NrKSBbJXVdLCBieXRl
-cwoAAAAAAAAAAAAAAAAAAAAAY3NvY2tfcGVlcl9jbG9zZTogY3NrX2ZjLT5mbG93Y19pZCBbMHgl
-eF0sIHRjYl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwg
-dGNiX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0KAAAAAABjc29ja19wZWVyX2Nsb3NlOiBjc2tfZmMt
-PmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19zdGF0ZSAgWzB4JXhdCgAAAAAAAAAAAHRj
-cF9jbHNfYWJydF9ycGw6IHRjYiB0aWQgWzB4JTA2eF0sIGZsb3djX3R5cGUgWzB4JXhdLCBjcGxv
-cCBbMHgleF0gZmxvd2Nfc3RhdGUgMHgleAoAAAAAAAAAAAAAAENhbm5vdCBnZXQgY2hhbm5lbCBy
-YXRlICV1IHdpdGggY29uZmlndXJlZCBncmFudWxhcml0aWVzLiBDaGVjayBjb25maWcgZmlsZQoA
-AAAAcGt0c2NoZWRfY2hfcmxbJXVdOiBjaGFubmVsIHJsIG5vdCBhdmFpbGFibGUgaW4gY29uanVu
-Y3Rpb24gd2l0aCBmbG93IHNoYXBpbmcKAABwa3RzY2hlZF9jaF9ybFsldV06IHJhdGUgJXUgbWF4
-ICV1CgAAAAAAAAAAAAAAAABwa3RzY2hlZF9jbF93cnJbJXU6JXVdOiB3ZWlnaHQgJXUKAAAAAAAA
-AAAAAAAAAABlcV9wYXJhbXNbMHgleDoweCV4XTogZG1hcSAweCV4IHJlYWQgJXUgcGYgJXUgZXFp
-ZF9hcGkgJXUgcmV0ICVkCgAAAAAAAAAAAAAAAAAAAGh3X21hX2FkZHJfdG9fbWVtX3R5cGVfb2Zm
-OiBNQSBhZGRyZXNzIDB4JTA4eCBpcyBub3QgbWFwcGVkCgAAAABod19tYV9hZGRyX3RvX21lbV90
-eXBlX29mZjogTUEgYWRkcmVzcyAweCUwOHggbWFwcyB0byB0eXBlICV1IG9mZnNldCAweCV4CgAA
-AAAAAG1lbV9tYWxsb2NfdGVtcDogZmFpbGVkIHRvIGFsbG9jYXRlICV1IGJ5dGVzLCByZXR1cm5p
-bmcgTlVMTAoAAABtZW1fbWFsbG9jOiBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMsIHJldHVy
-bmluZyBOVUxMCgAAAAAAAAAAbGUgY29uZmlndXJhdGlvbjogcmVxdWVzdGVkICV1IHRjYW0gZW50
-cmllcyBidXQgb25seSAldSBhdmFpbGFibGUgKG5maWx0ZXIgJXUgbnNlcnZlciAldSBuaHBmaWx0
-ZXIgJXUKAAAAAAAAAAAAAGxlIGNvbmZpZ3VyYXRpb246IHRjYW0gcmVnaW9ucyBtdXN0IGhhdmUg
-bXVsdGlwbGUgb2YgNjQgZW50cmllcywgbmZpbHRlciAldSBuaHBmaWx0ZXIgJXUgbnNlcnZlciAl
-dQoAAAAAAAAAAAAAAABod190cF90Y3BfdHVuaW5nczogdHVuaW5nIGZvciBjbHVzdGVyIGVudmly
-b25tZW50CgAAAAAAAAAAAAAAAAAAaHdfdHBfdGNwX3R1bmluZ3M6IHR1bmluZyBmb3IgTEFOIGVu
-dmlyb25tZW50CgAAaHdfdHBfdGNwX3R1bmluZ3M6IHR1bmluZyBmb3IgV0FOIGVudmlyb25tZW50
-CgAAaHdfdHBfdGNwX3R1bmluZ3M6IG1hbnVhbCB0dW5pbmcKAAAAAAAAAAAAAAAAAAAAX2h3X2Np
-bV9mbGFzaF9tZW1jcHk6IG1lbWNweVggc3RhcnQKAAAAAAAAAAAAAAAAX2h3X2NpbV9mbGFzaF9t
-ZW1jcHk6IGRzdCAweCUwOCBvZmZzZXQgMHglMDh4IHNpemUgJXUsIHdpZHRoIG9mICV1IGlzIG5v
-dCBzdXBwb3J0ZWQKAAAAAAAAAAAAAAAAX2h3X2NpbV9mbGFzaF9tZW1jcHk6IG1lbWNweVggZW5k
-CgAAAAAAAAAAAAAAAAAAY29uZmlndXJhdGlvbiBmaWxlIHBhcnNlciBlbmNvdW50ZXJlZCBlcnJv
-ciBAIGxpbmUgJXU6CgAAAAAAAAAAAEhPU1QgUEFHRV9TSVpFIFsweCUwbHhdIHRvbyBzbWFsbCwg
-bWluIFsweCUwbHhdIHJlcXVpcmVkCgAAAAAAAABwYWdlIHNpemUgWyVsdV0gbWlzbWF0Y2gKAAAA
-AAAAAFBBR0Ugc2l6ZSAlbHUgdW5zdXBwb3J0ZWQsIGRkcCBkaXNhYmxlZAoAAAAAAAAAAEhvc3Qg
-cGFnZV9zaXplICVsdSwgZGRwX2lkeCAldQoAdGxzX2JtX2luaXQ6IG1lbV9tYWxsb2MgZmFpbGVk
-IQoAAAAAAAAAAAAAAAAAAAAAZGNieF9pZWVlX2NvbnN0cnVjdFsldV0gZXRzICV1IHBmYyAldSBh
-cHAgJXUKAAAAZGNieF90aW1lb3V0WyV1XQoAAAAAAAAAAAAAAAAAAABkY2J4X3J1bl92ZXJzaW9u
-X3NtWyV1XSBEQ0JYX1ZFUl9TVEFURV9SVU5fSUVFRQoAAAAAAAAAAAAAAAAAAAAAZGNieF9ydW5f
-dmVyc2lvbl9zbVsldV0gRENCWF9WRVJfU1RBVEVfUlVOX0NFRQoAZGNieF9ydW5fdmVyc2lvbl9z
-bVsldV0gRENCWF9WRVJfU1RBVEVfUlVOX05PTkUKAAAAAAAAAAAAAAAAAAAAAE1BQyBmYWlsZWQg
-dG8gcmVzeW5jIHR4CgAAAAAAAAAAcnhfY29uZmlnIHNwZWVkIDB4JXggcGxsX3NlbCAlZCBid19z
-ZWwgJWQKAAAAAAAAcG9ydFsldV0gbGluayB1cCAoJXUpIChzcGVlZCAlI3ggYWNhcHMgJSN4IGxw
-Y2FwcyAlI3gpCgAAAAAAAAAAAHBvcnRfaHNzX3NpZ2RldFsldV06IGhzc19zaWdkZXQgY2hhbmdl
-ZCB0byAweCV4CgAAAAAAAAAAAAAAAAAAAABwb3J0WyV1XSBpbml0aWFsaXppbmcgS1IKAAAAAAAA
-AENhbGN1bGF0aW9uIG91dCBvZiBib3VuZHMgZnVyaW5nIGluaXQ6ICUjeCAlI3ggJSN4CgAAAAAA
-AAAAAAAAAABsZSBjb25maWd1cmF0aW9uOiBoYXNoIG1vZGUgcmVxdWlyZXMgYXQgbGVhc3QgMTYg
-ZW50cmllcywgbmhhc2ggJXUKAAAAAAAAAAAAAAAAAGxlIGNvbmZpZ3VyYXRpb246IGhhc2ggc2l6
-ZSAldSBtdXN0IGJlIG11bHRpcGxlIG9mICV1LCBuaGFzaCAldQoAAAAAAAAAAAAAAAAAAAAAQWRk
-aW5nIG1hdGNoLWFsbCBjbGlwIGVudHJ5IEAgbG9jIDB4JXgvJWQKAAAAAAAAaHdfc2dlX21hbWVt
-X2luaXQ6IGVuY291bnRlcmVkIGVycm9yICVkCgAAAAAAAAAAX2h3X3RwX3BnbW5ndDogdHhfcGFn
-ZV9tYXggJXUgcnhfcGFnZV9tYXggJXUgcHN0cnVjdHMgJXUgc2l6ZSAldQoAAAAAAAAAAAAAAAAA
-AABtcGFydGl0aW9uX290aGVyc190b3RhbDogZGRwICV1IGRkcF9pc2NzaSAldSBzdGFnICV1IHBi
-bCAldSBycSAldSBycXVkcCAldSAtPiAldQoAAAAAAAAAAAAAAAAAAABfbXBhcnRpdGlvbl9iYW5r
-c19tY1g6IG5iYW5rc19wbXR4ICV1ICgldU1CKSBuYmFua3NfcG1yeCAldSAoJXVNQikgbmJhbmtz
-X290aGVycyAldSAoJXVNQikgbmJhbmtzX2Z3ICV1ICgldU1CKQoAX21wYXJ0aXRpb25fYmFua3Nf
-bWMxOiBuYmFua3NfcG10eCAldSAoJXVNQikgbmJhbmtzX290aGVycyAldSAoJXVNQikgbmJhbmtz
-X2Z3ICV1ICgldU1CKQoAAAAAAAAAX21wYXJ0aXRpb25fYmFua3NfbWMwOiBuYmFua3NfcG1yeCAl
-dSAoJXVNQikgbmJhbmtzX290aGVycyAldSAoJXVNQikKAAAAAAAAAAAAAABtZW1fbWFsbG9jX2lu
-dGVybmFsOiBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMsIHJldHVybmluZyBOVUxMCgAAAAAA
-AAAAAAAAAAAAAGh3X2VkY19iaXN0WyV1XTogYmlzdF9jbWRbMHglMDh4XSBhZGRyIDB4JXggbGVu
-IDB4JXgKAAAAAAAAAAAAAABod19lZGNfYmlzdFsldV06IGRvbmUsIGVuY291bnRlcmVkICV1IGVy
-cm9ycyBvbiBmaXJzdCBhbmQgJXUgZXJyb3JzIG9uIHNlY29uZCBhdHRlbXB0ICgldWdicHMpCgBt
-ZW1faW5pdF9jYWNoZXM6IGNhY2hlX3NpemUgJXUgZmxvd2NfYnVmX3RjYl9jYWNoZV9zaXplICV1
-IGJ1ZmxsNjRfY2FjaGVfc2l6ZSAldQoAAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX3BtdHg6IG0g
-MHglMDh4IHNpemUgJXUKAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX3Btcng6IG0gMHglMDh4IHNp
-emUgJXUKAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX2VkYyAobm8gZXh0bWVtKTogbSAweCUwOHgg
-c2l6ZSAldQoAAABtcGFydGl0aW9uX2VkY19lc3RpbWF0ZTogaHcgbW9kdWxlcyByZXF1aXJlICVk
-IGJ5dGVzIGluIEVEQwoAAAAAVGVtcGVyYXR1cmUvVm9sdGFnZSBTZW5zb3I6IENvcmUgY2xvY2sg
-JXUgPiAldTsgY2FwcGluZyB0byBzdGF5IGluIGNvbXBsaWFuY2Ugd2l0aCBoYXJkd2FyZS4KAAAA
-Y2huZXRfYnllOmwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y19wY2ll
-X3BmbiBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y19wY2llX3ZmbiBbMHgleF0sIHBvcnQgWzB4JXhd
-CgAAAAAAAAAAAAAAAABjaG5ldF9ieWU6dmxhbmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCB2bGFu
-ZGV2X2ZjLT5mbG93Y19wY2llX3BmbiBbMHgleF0sIHZsYW5kZXZfZmMtPmZsb3djX3BjaWVfdmZu
-IFsweCV4XSwgcG9ydCBbMHgleF0KAAAAAAAAAGZvaXNjc2lfY29yZV9ieWU6IGFjdGl2ZSBzZXNz
-X2NudCAlZAoAAAAAAAAAAAAAAGh3X21hY19hZWNfY29tcGxldGVbJXVdIG9uIGxhbmVzICUjeCAo
-c2lnZGV0ICUjeCksIHR4X2xhbmVzICUjeAoAAAAAAAAAAAAAAAAAAAAAYWVjX2ZzbVsldV0gOiBz
-dGF0ZSBTVEFSVCAoc2lnZGV0ICUjeCkKAAAAAAAAAAAAYWVjX2ZzbVsldV0gOiBUcmFuc2l0aW9u
-aW5nIHRvIFRSQUlOSU5HX0xPQ0FMCgAAYWVjX2ZzbVsldV0gOiBUcmFuc2l0aW9uaW5nIHRvIENP
-RUZfU1RBVFVTX1VQQURURQoAAAAAAAAAAAAAAAAAAGFlY19mc21bJXVdIDogdHJhbnNpdGlvbmlu
-ZyB0byBUUkFJTklORwoAAAAAAAAAAGFlY19mc21bJXVdIDogVFJBSU5JTkdfQ09NUExFVEUKAAAA
-AAAAAAAAAAAAAAAAAGFlY19mc21bJXVdIDogUmVtb3RlIGZhdWx0IHdoaWxlIHdhaXRpbmcgZm9y
-IGxpbmsgc3RhdHVzIDB4JXgKAABhZWNfZnNtWyV1XSA6IFJlbW90ZSBmYXVsdCBjbGVhcmVkIHdo
-aWxlIHdhaXRpbmcgZm9yIGxpbmsgc3RhdHVzIDB4JXgKAAAAAAAAAAAAAGFlY19mc21bJXVdIDog
-RE9ORQoAAAAAAAAAAAAAAAAAYWVjX2ZzbVsldV0gdGltZWQgb3V0IHRyYWluaW5nIEZTTV9TVEFU
-RV8wIDB4JXgsIF8xIDB4JXggXzIgMHgleCBfMyAweCV4LCBMaW5rIFN0YXR1cyAweCV4CgAAAAAA
-YmVhbl9mc21bJXVdIDogc3RhdGUgU1RBUlQgKGNvdW50ID0gJXUpCgAAAAAAAAAAYmVhbl9mc21b
-JXVdIDogZW50ZXJpbmcgc3RhdGUgV0FJVF9TSUdERVQKAAAAAAAAYmVhbl9mc21bJXVdIDogZW50
-ZXJpbmcgc3RhdGUgTlhQX0hBTkRMRQoAAAAAAAAAYmVhbl9mc21bJXVdIDogTUFDX1BPUlRfUENT
-X0RFQlVHJWRfUk8gMHgleAoAAAAAYmVhbl9mc21bJXVdIDogZW50ZXJpbmcgc3RhdGUgV0FJVF9D
-T01QTEVURQoAAAAAYmVhbl9mc21bJXVdIDogc3RhdGUgRE9ORQoAAAAAAABiZWFuX2ZzbVsldV0g
-OiBmZWMgbG9jYWwgMHgleCwgcmVtb3RlIDB4JXgsIG5lZ290aWF0ZWQgMHgleAoAAAAAYmVhbl9m
-c21bJXVdIDogc3RhdGUgUkVTVEFSVDEKAABiZWFuX2ZzbVsldV0gOiBzdGF0ZSBSRVNUQVJUMgoA
-AGJlYW5fZnNtWyV1XSA6IHN0YXRlIFJFU1RBUlQzCgAAYmVhbl9mc21bJXVdIFRJTUVPVVQ7IHN0
-YXRlICV1IGV0aF9zdGF0dXMgJSN4IGJlYW5fc3RhdHVzICUjeCBQQ1NfREVCVUcwX1JPICUjeCBo
-c3Mgc2lnZGV0ICUjeCByZXRyeV9jbnQgJXUKAAAAAGh3X21hY19saW5rX3N0YXR1c1sldV0gaW50
-X2NhdXNlIDB4JXgsIGxpbmtfc3RhdHVzIDB4JXgKAAAAAAAAAABwb3J0ICV1IGNoYW5naW5nIHNw
-ZWVkIHRvIDFHCgAAAHBvcnQgJXUgbmVnb3RpYXRlZCB1bnN1cHBvcnRlZCBzcGVlZCAlI3gKAAAA
-AAAAAGJlYW4vYWVjIGNvbXBsZXRlIChyZXRyeTogJXUpCgAAcG9ydFsldV0gcmVzZXR0aW5nIEtS
-CgAAAAAAAAAAAABwb3J0ICV1IG5lZ290aWF0ZWQgdW5zdXBwb3J0ZWQgc3BlZWQKAAAAAAAAAAAA
-AABwb3J0ICV1IG5lZ290aWF0ZWQgcHR5cGUgMHgleCwgdHhfbGFuZXMgMHgleCwgcnhfbGFuZXMg
-MHgleCwgZmVjIDB4JXgKAAAAAAAAAAAAAGJlYW4vYWVjIGNvbXBsZXRlIChyZXRyeTogJXUpCgAA
-TUM6IEdQTyAweCV4LCBSTE8gMHgleAoAAAAAAAAAAABwZm4gJXUgdmZuICV1IGNvbXBsZXRlIGlt
-bWVkaWF0ZQoAAAAAAAAAAAAAAAAAAABiYWQgbWFpbGJveCBjbWQ6IHBmbiAweCV4IHZmbiAweCV4
-OyBvcGNvZGUgMHgleCA+IExBU1RDMkUgMHgleAoAbWFpbGJveCBjbWQgbm90IHlldCBzdXBwb3J0
-ZWQ6IHBmbiAweCV4IHZmbiAweCV4OyBvcGNvZGUgMHgleAoAAGJhZCBtYWlsYm94IGNtZDogcGZu
-IDB4JXggdmZuIDB4JXg7IG9wY29kZSAweCV4IGlzIHZhbGlkIHBvc3QgZGV2aWNlIGluaXQgb25s
-eQoAYmFkIG1haWxib3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgb3Bjb2RlIDB4JTAyeCByYW1h
-c2sgMHgleCBjbWQgcmFtYXNrIDB4JXgKAABiYWQgbWFpbGJveCBjbWQ6IHBmbiAweCV4IHZmbiAw
-eCV4OyBvcGNvZGUgMHglMDJ4IGxlbjE2IDB4JXggdmVyc3VzIGV4cGVjdGVkIGxlbjE2IDB4JXgK
-AAAAAAAAAABpbnN1ZmZpY2llbnQgY2FwcyB0byBwcm9jZXNzIG1haWxib3ggY21kOiBwZm4gMHgl
-eCB2Zm4gMHgleDsgcl9jYXBzIDB4JXggd3hfY2FwcyAweCV4IHJlcXVpcmVkIHJfY2FwcyAweCV4
-IHdfY2FwcyAweCV4CgAAAAAAAAAAAGluc3VmZmljaWVudCBjYXBzIHRvIHByb2Nlc3MgbWFpbGJv
-eCBjbWQ6IHBmbiAweCV4IHZmbiAweCV4OyByX2NhcHMgMHgleCB3eF9jYXBzIDB4JXggcmVxdWly
-ZWQgcl9jYXBzIDB4JXggd19jYXBzIDB4JXgKAAAAAAAAAAAATUM6IFRha2luZyBQSFkgb3V0IG9m
-IHJlc2V0IChGUEdBKS4KAAAAAAAAAAAAAAAAZG93bmxvYWRfc3JhbTogZXJyb3IsIHJldCAlZAoA
-AABkb3dubG9hZF90Y2FtOiBlcnJvciwgcmV0ICVkCgAAAGh3X3Bvd2VyX3ByZXA6IFZERD1OT05F
-IGJ1dCBWQ1M9JWQKAAAAAAAAAAAAAAAAAGh3X3Bvd2VyX3ByZXA6IHVuc3VwcG9ydGVkIGV4dGVy
-bmFsIGFkanVzdGFibGUgcG93ZXIgcmVndWxhdG9ycyBWREQ9JWQsIFZDUz0lZAoAaHdfcG93ZXJf
-cHJlcDogdW5zdXBwb3J0ZWQgVkREPSVkCgAAAAAAAAAAAAAAAAAAaHdfcG93ZXJfcHJlcDogdW5z
-dXBwb3J0ZWQgVkNTPSVkCgAAAAAAAAAAAAAAAAAAaHdfcG93ZXJfcHJlcDogaTJjIHdyaXRlIGVy
-cm9yLCBWREQ9JWQscmV0PSVkCgAAaHdfcG93ZXJfcHJlcDogdW5zdXBwb3J0ZWQgVkREPSVkCgAA
-AAAAAAAAAAAAAAAAaHdfcG93ZXJfcHJlcDogaTJjIHdyaXRlIGVycm9yLCBWQ1M9JWQscmV0PSVk
-CgAAaHdfcG93ZXJfcHJlcDogdW5zdXBwb3J0ZWQgVkNTPSVkCgAAAAAAAAAAAAAAAAAAZXh0bWVt
-IGNsayBtb2RlICVkLCBleHRtZW0gJXUsIHJlZl9jbGsgJXUKAAAAAAAAdXAgY2xrIG1vZGUgJWQs
-IHJlZl9jbGsgJXUsIGRldi5jbGsudXAgJXUKAAAAAAAAY2xrIG1vZGUgJWQsIHJlZl9jbGsgJXUs
-IGRldi5jbGsuY29yZSAldQoAAAAAAAAAVlBEIHJlZ2lvbiBpcyB0b28gc21hbGwgKFNFUkNGR19T
-Ul9QRk5WUERTSVpFIDB4JXgpCgAAAAAAAAAAAAAAAGNmX3ByZXA6IGVycm9yLCByZXQgJWQKAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAACCAAABIAAAAAAAAAAAAAAAggAAAQAAAAAAAAAAAAAAAIIAAADAAAAAAAAAAAAAAACA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgIAAAAAAAAAAAAAA
-AAAAAAAAgAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAAAAAAAMAAAAA
-AAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAIAQAwAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAA
-IAAAAAAAAAAAAAAAAAAAAAEAA4AAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAIAOAAAAAAAAA
-AAAAAAAAABACgACAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AABAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAgAACgAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAA
-AAAAAACAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAABAAMA
-AAAAAAAAAAAAAAAAAAKDAAAAAAAAAAAAAAAAABACgAAAAAAAAAAAAAAAAAAwAAMAAAAABAAAAAAA
-AAAAMAMDAAAAAAQAAAAAAAAAADAAAwAAAAAAAAgAAAAAAAAwAAMAAAAAAAAAAAAAAAAAMAWDAAAA
-AAAACAAAAAAAADAFgwAAAAAAAAAAAAAAAAAwBIMAAAAAAAAIAAAAAAAAMASDAAAAAAAAAAAAAAAA
-ADADAwAAAAAAAAgAAAAAAAAwAwMAAAAAAAAAAAAAAAAAOAMDAAAAAAAAAAAAAAAAADgFgwAAAAAA
-AAAAAAAAAAA4BIMAAAAAAAAAAAAAAAAAOAADAAAAAAAAAAAAAAAAADQGggAAAAAAAAAAAAAAAAA8
-A4IAAAAAAAAAAAAAAAAAPAADAAAAAAAACAAAAAAAADwAAwAAAAAAAAAAAAAAAAA8BIMAAAAAAAAA
-AAAAAAAAPAUDAAAAAAAAAAAAAAAAAD0EAwAAAAAAAAAAAAAAAAA8A4MAAAAAAAAAAAAAAAAALAAC
-AAAAAAAAAAAAAAAAACwFggAAAAAAAAAAAAAAAAAsBQIAAAAAAAAAAAAAAAAAEAaAAAAAAAAAAAAA
-AAAAABAGgoAAAAAAAAAAAAAAAACADoIAAAAAAAAAAAAAAAAAkAeCgAAAACAAAAAAAAAAAIAHggAA
-AAAgAAAAAAAAAAAQBwKAAAAAAAAAAAAAAAAAEAcCgAAAAAAAAAAAAAAAABAHAoAAAAAAAAAAAAAA
-AAAQBgIAAAAAAAAAAAAAAAAAEAYCgAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAABwIAAAAA
-IAAAAAAAAAAAEBeDAAAAAAAACAAAAAAAABAXgwAAAAAAAAgAAAAAAAAQAAAAAAAAAAAAAAAAAAAA
-EAYDgAAAAAAAAAAAAAAAAAAOAwAAAAAAAAAAAAAAAAAQBgNAAAAAAAAAAAAAAAAAEAYDAAAAAAAA
-AAAAAAAAABAGAAAAAAAAAAAAAAAAAAAABgOAAAAAAAAAAAAAAAAAAAYDAAAAAAAAAAAAAAAAAAAO
-AgAAAAAAAAAAAAAAAAAADgIAAAAAAAAAAAAAAAAAEAYCAAAAAAAAAAAAAAAAABAGAoAAAAAAAAAA
-AAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC
-AAAAAAAAAAAAAAAAABADAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////8AAAAA
-AAAAIAAAAADAAAAAAAAAAAAAACAAAAAA4AAAAAAAAAAAAAAgAAAAASAAAAAAAAAAAAAAAAIAAAAA
-AAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAEhAAAAAAAAAAAAAAAAAAEBIAAAAAAAAAAAAAAAAAAA
-AgAAAAQABAAAAAAAAAAAAIFAAAAAAAAAAAAAAAAAAAaAAAAEAAAAAAAAAAAAAACAAEAAAAAAAAIA
-AAAAAAAAgAAgAAAAAAACAAAAAAAACIAAAAAAAEAAAAACAAAAAAEAQAAAAAAAAAAAAAAAAAABAEIA
-AAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIQIAAAAAAAAAAAAAAAAAACDAIAAAAAAAAAAAAA
-AAAAAIUCAAAABAAAAAAAAAAAAACAQgAAAAAAAAAAAAAAAACAgEIAQAAAAAAAAAAAAAAAgIBCAAAA
-AAAAAAAAAAAAAAIAIgAAAAAAAAAAAAAAAAAAgEEAAAAAAAAAAAAAAAAAgAAhAAAAAAAAAAAAAAAA
-AACAQYAAAAAAAAAAAAAAAACAgEGAAAAAAAAAAAAAAAAAAgAhAAAAAAAAAAAAAAAAAAAQIIAAAAAA
-AAAAAAAAAAACJQCAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAIiABIAAAAAAAAAAAAAAAACI
-hICAAAAAAAAAAAAAAAAACIgEgAAAAAAAAAAAAAAAAAiIBIAAAAAAAAAAAAAAAAAIogCAAAAAAAAA
-AAAAAAAACKIAgAAAAAAAAAAAAAAAAAijAIAAAAAAAAAAAAAAAAAIowCAAAAAAAAAAAAAAAAACKSA
-gAAAAAAAAAAAAAAAAAikgIAAAAAAAAAAAAAAAAAEpIDAAAAAAAAAAAAAAAAABKIAwAAAAAAAAAAA
-AAAAAASjAMAAAAAAAAAAAAAAAAAEiATAAAAAAAAAAAAAAAAAAAkBgAAAAAAAAAAAAAAAAAIMAIAA
-AAAAAAAAAAAAAAAAiATAAAAAAAAAAAAAAAAAAIgEgAAAAAAAAAAAAAAAAAILAIAAAAAAAAAAAAAA
-AAAAioCAAAAAAAAAAAAAAAAAAAuAgAAAAAAAAAAAAAAAAACMAIAAAAAAAAAAAAAAAAACIBCAAAAA
-AAAAAAAAAAAAAgoAgAAAAAAAAAAAAAAAAAIKgIAAAAAAAAAAAAAAAAAACQKAAAAAAAAAAAAAAAAA
-AAEBAAAAAAAAAAAAAAAAAAABAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAA
-AAAAAAAAAAAAgRAAAAAAAAAAAAAAAAAAAIEIAAAAAAAAAAAAAAAAAACBBAAAAAAAAAAAAAAAAABJ
-gYAAAAAAAAAAAAAAAAAAQYEAAAAAAAAAAAAAAAAAgAABAAAAAAAAAAAAAAAAAAAAgYAAAAAAAAAA
-AAAAAAAAgADAAAAAAAAAAAAAAAAAAIAAoAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgYAA
-AAAAAAAAAAAAAAAAAIGAgAAAAAAAAAAAAAAAAACJgIAAAAAAAAAAAAAAAAAAiYDAAAAAAAAAAAAA
-AAAAAAGCAAAAAAAAAAAAAAAAAAIBgAAAAAAAAAAAAAAAAAACAYCAAAAAAAAAAAAAAAAAAEGBgAAA
-AAAAAAAAAAAAAAIBgYAAAAAAAAAAAAAAAAACCYGAAAAAAAAAAAAAAAAAAgGBAAAAAAAAAAAAAAAA
-ACAAAAAAAAAAAAAAAAAAAAAQAAACAQAAAAAAAAAAAAAAEAAAAgAAAAAAAAAAAAAAABAAAAAAAAAA
-AAAAAAAAAAAAgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////wAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAACACSAAAAAAAAAAGzABAAIAAAAAAIAJIAAAAAAAIAAbkAEoIgAAAAAAgA
-kgAAAAAAAAABswAQACAAAAAAAAAAAAAAAAAAAAHLABAAIAAAAAAIAAAABQBEAcOAACsBEAAgAAAA
-AAAAAAAAAAAAAAABywAQACAAAAAAAAAAAAAAAAAAAAHLABAAIAAAAAAAAAAAAAAAAAAAAcsAEAAg
-AAAAAAAAAAAAAAAAAAABywAQACAAAAAAAAAAAAAAAAAAAAHLABAAIAAAAAAAAAAAAAAAAAAAAcsA
-EAAgAAAAAAAAAAAAAAAAAAABywAQACAAAAAACAAAAAUARAHBgABLABAAIAAAAAAIAAAABQBEAcGA
-AEsAEAAgAAAAAAAAAAAAAAAAAAABywAQACAAAAAAAAAAAAAAAAAAAAHLABAAIAAAAAAIAAAABQBE
-AcGAAEsAEAAgAAAAAAAAAAAAAAAAAAABywAQACAAAAAAAAAAAAAAAAAAAAHLARMCIAAAAAAIRyAB
-BAAAAVoAAWkDIBIiQAAAAAhHIAEEAAABWgABaQIjEiBAAAAACAAAAAUARAHBgABLARMCIAAAAAAA
-AAAAAAAAAAAAAcsAEAAgAAAAAAhHIAEBBlDBWCAAyQIgEiJAAAAACAAAAAUARAHBgABLARMCIAAA
-AAAIRyABAAZQIVrAAQkDIBIiQAAAAAgAAAAFAEQBwYAASwETAiAAAAAACAAAAAUARAHBgABLABAA
-IAAAAAAIAAAABQBEAcGAAEsAEAAgAAAAAAgAAAAFAEQBwYAASwAQACAAAAAAAAAAAAAAAAAAAAHL
-ABAAIAAAAAAIAAAABQBEAcGAAEsBEwIgAAAAAAgAAAAFAEQBwYAASwETAiAAAAAABcUSugFYQGmL
-KkXxJKMSIAAAAAAFxRK6BVvAaYkqRbEkUxIgAAAAAA3FEqIFWEBpiypF8SSjEiAAAAAADcUSogFb
-wGmJKkWxJFMSIAAAAAANxRKiBVhAaYsqRfEkoxIgAAAAAA3FEqIBW8BpiSpFsSRTEiAAAAAADcUS
-ogVYQGmLKkXxJKMSIAAAAAANxRKiAVvAaYkqRbEkUxIgAAAAAAnEEKABAEBIAgBFsTRjEiAAAAAA
-CcQQoAVYQEmBKkWxNWMSIAAAAAAJxBCgBVhASYEqRbE1YxIgAAAAAAHFELgBWEBJiypFsSVjEiAA
-AAAAAKEQiAUAQKwIAAWpAVMSIAAAAAAJwBCQBVhAAYkqRUkBYxIgAAAAAAnAELgFWEABiEpF8QCj
-EiAAAAAAAcAQuAVaQAGKSkWxAFMSIAAAAAABwBC4BVpAAYpKRbEAUxIgAAAAAAHAELgFWkABikpF
-sQBTEiAAAAAAAcAQuAVaQAGKSkWxAFMSIAAAAAAJoBCQAVpAAYpKRbEAUxIgAAAAAAHAEIAFWEAB
-iypFKQBjEiAAAAAAAcAQgAVYQAGLKkUpAGMSIAAAAAABwBCABVhAAYsqRSkAYxIgAAAAAAhHIAEE
-AAABWAABaQMgEiBAAAAACIEAAAEAQqwDoAWpAVMSIAAAAAAIAAAAAABQIADAAOsAEAAgAAAAAAgA
-AAABAFDAACAAqwAQACAAAAAACAAAAAAAUCAAwADrABAAIAAAAAAAgQAABQBCrMACBakAUxIgAAAA
-AAoBQAAAAAAMAgABoQETUiEAAAAAAAAAAAAAAAAAAAHLABAAIAAAAAAAoRCIBQBArAoABIkAUxIg
-AAAAAAgAAAAFAEQBw6AEaQGjEiEAAAAACAAAAAUARAHBgABLARMCIAAAAAAIAAAAAABQIADAAOsA
-EAAgAAAAAAgAAAAFAEQBw4AB6wAQACAAAAAACAAAAAUARAHDgAHrABAAIAAAAAAAAAAAAAAAAAAA
-AcsAEAAgAAAAAAAAAAAAAAAAAAABywAQACAAAAAACAAAAAAAUCAAwADrABAAIAAAAAABwBC4BVpA
-AYpKRbEAUxIgAAAAAAAAAAAAAAAAAAABywETAiAAAAAAAAAAAAAAAAAAAAHLABAAIAAAAAAIAAAA
-BQBEAcGAAEsAEAAgAAAAAAgAAAAAAFAgAMAA6wAQACAAAAAACAAAAAAAUCAAwADrABAAIAAAAAAI
-AAAAAABQIADAAOsAEAAgAAAAAAgAAAAAAFAgAMAA6wAQACAAAAAACAAAAAEAUMAAIACrABAAIAAA
-AAAJxRMiAUpEaQpARZElYxIgAAAAAAHAEQABUkQAg6pFqQBjEiAAAAAACcARAAVSRABDqkWpAGMS
-IAAAAAABwBCAAVpEAYKKRakAUxIgAAAAAA3AAAAFWEBhiSpF8QGjEiAAAAAAAAAAAAAAAAAAAAHL
-ABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAgAMAAEAAAAAAAAAQETEiAAAAAAAEcwAAEBkAFbgAQBAGAyIEAAAAAARzAABQGA
-AVuABAEAYDIgQAAAAAADAAABAFAFWYAEAQBjEiNAAAAAAAMAAAQAAAVZgAQBAGMSI0AAAAAAAAAA
-AAAAAAAAAAEBExIgAAAAAAAgUAAEAAAAAgAAAQATEiMAAAAACGAgAIQAAAAAAAADABAAIAAAAAAA
-oCAAgAAAAAAAmAEBExKgAAAAAAhgAAAEAEIAwgICAQFjEmEAAAAACcAAAAUhwAGCBkQBABMSIAAA
-AAAIAGAABAAAAAIAAAABEAAgAAAAAAgAYAAEAAAAAgAAAgAQACAAAAAAAAAAAAAAAAACAAACABAA
-IAAAAAAMCBSABQUAAAOApgEQUxNgAAAAAACAAAABAEIAwgIEAQBTEmAAAAAACEAAAAUAUAAAIAQB
-AFMSIwAAAAAAoAAAAAAAAAAAAAEBExIgAAAAAAwAAAAFQgABgEUEAQNgEiAAAAAAAAAAAAAAAAAC
-AAADARAkIAAAAAAAIFAABAAAAAAAAAEBExIgAAAAAAhgIACEAAAAAAAAAwAQACAAAAAAAKAgAIAA
-AAACAAABARMSoAAAAAAIYAAABABCAMICAgEAYxJgAAAAAAgAYAAEAAAAAgAAAgAQACAAAAAACACA
-ABQAAAAAAAABABMmOAAAAAAIAIAAFAAAAAIAAAMAEAAAAAAAAAgAgAAUAAAAAAAAAQATJjgAAAAA
-CACAABQAAAACAAADABAAAAAAAAAMAAAABbIAAYJNBAECAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJwAAAAlpGAgSLAgECYxIgAAAAAAHAAAACGkACBIsCAQJj
-EiAAAAAADAh0gEIEgAAqAC4BMHMSIAAAAAAMCHSARAAAACoAIAExExIgAAAAAAgCEKAEAAAAAACA
-AQATEiAAAAAACAIQoAQAAAAAAIABABMSIAAAAAAECHQARQCAAAOARAExYxIgAAAAAAXIFAABBIAA
-AyBOATBzEiAAAAAAAcgQgAVaQAICSkQBM2MSIAAAAAANyHQARlpAAYBKRAEwUxJgAAAAAAXIdABC
-GkgBgEpEATBTEmAAAAAACEcAAAQAAAACAAABABASIAAAAAAIRwAABAAAAAAAAAECIBIgAAAAAABH
-IAECA5DhW4AEAQBgEiJAAAAAAEcgAQIDkOFbgAQBAGASIkAAAAAARyABAgOQ4VuABAEAYBIiQAAA
-AAgAIAECAEIAAaBEAQBjEmAAAAAACAAgAQIAQgABoEQBAGMSYAAAAAAIACABAgBCAAGgRAEAYxJg
-AAAAAAAAIAGFQQAAgmBEAQHjEmAAAAAACAAgAYVBAAACYEQBAeMSYAAAAAAJwCABhVJAAIGgRAEA
-YxJgAAAAAAAAAAAGAEIAAaBEAQBjEmAAAAAACAAAAAVBAACCYEQBAeMSYAAAAAAAAAAABUEAAABg
-RAEA0xJgAAAAAAHAAAAFUkAAgaBEAQBjEmAAAAAACACgAYQAAAAAAEQBABMSYAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAEXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtnbG9iYWxdCnJzc19nbGJf
-Y29uZmlnX21vZGU9YmFzaWN2aXJ0dWFsCnJzc19nbGJfY29uZmlnX29wdGlvbnM9dG5sbWFwZW4s
-aGFzaHRvZXBsaXR6LHRubGFsbGxrcApwbF90aW1lb3V0X3ZhbHVlPTIwMApyZWdbMHgxMDA4XT0w
-eDQwODEwLzB4MjFjNzAKcmVnWzB4MTAwY109MHgyMjIyMjIyMgpyZWdbMHgxMGEwXT0weDAxMDQw
-ODEwCnJlZ1sweDEwNDRdPTQwOTYKcmVnWzB4MTA0OF09NjU1MzYKcmVnWzB4MTA0Y109MTUzNgpy
-ZWdbMHgxMDUwXT05MDI0CnJlZ1sweDEwNTRdPTkyMTYKcmVnWzB4MTA1OF09MjA0OApyZWdbMHgx
-MDVjXT0xMjgKcmVnWzB4MTA2MF09ODE5MgpyZWdbMHgxMDY0XT0xNjM4NApzZ2VfdGltZXJfdmFs
-dWU9NSwxMCwyMCw1MCwxMDAsMjAwCnJlZ1sweDEwYzRdPTB4MjAwMDAwMDAvMHgyMDAwMDAwMApy
-ZWdbMHg3ZDA0XT0weDAwMDEwMDAwLzB4MDAwMTAwMDAKcmVnWzB4N2RjMF09MHgwZTJmODg0OQp0
-c2NoX3RpY2tzPTEwMDAwMCwxMDAwMCwxMDAwLDEwCmZpbHRlck1vZGU9c3J2cnNyYW0sZnJhZ21l
-bnRhdGlvbixtcHNoaXR0eXBlLHByb3RvY29sLHZsYW4scG9ydCxmY29lCmZpbHRlck1hc2s9cHJv
-dG9jb2wKdHBfcG1yeD0zMAp0cF9wbXJ4X3BhZ2VzaXplPTY0Swp0cF9ucnhjaD0wCnRwX3BtdHg9
-NTAKdHBfcG10eF9wYWdlc2l6ZT02NEsKdHBfbnR4Y2g9MAp0cF9tdHVzPTg4LDI1Niw1MTIsNTc2
-LDgwOCwxMDI0LDEyODAsMTQ4OCwxNTAwLDIwMDIsMjA0OCw0MDk2LDQzNTIsODE5Miw5MDAwLDk2
-MDAKcmVnWzB4N2QwNF09MHgwMDAxMDAwOC8weDAwMDEwMDA4CnJlZ1sweDdkMDhdPTB4MDAwMDA4
-MDAvMHgwMDAwMDgwMApyZWdbMHg3ZDQ4XT0weDAwMDAwMDAwLzB4MDAwMDA0MDAKcmVnWzB4N2Q2
-MF09MHgwNjAwMDAwMC8weDA3MDAwMDAwCnJlZ1sweDE5YzA0XT0weDAwMDAwMDAwLzB4MDA0NDAw
-MDAKcmVnWzB4MTljMjhdPTB4MDA4MDAwMDAvMHgwMWYwMDAwMApyZWdbMHg4ZGMwXT0weDAwMDAw
-MTA0LzB4MDAwMDAxMDQKcmVnWzB4MTkyNWNdPTB4MDAwMDQxYzAvMHgwMDAwMzFjMApbZnVuY3Rp
-b24iMCJdCm52Zj0xNgp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT0xCm5pcWZsaW50PTgKbmV0
-aGN0cmw9OApuZXE9MTYKbmV4YWN0Zj04CmNtYXNrPWFsbApwbWFzaz0weDEKW2Z1bmN0aW9uIjEi
-XQpudmY9MTYKd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9MQpuaXFmbGludD04Cm5ldGhjdHJs
-PTgKbmVxPTE2Cm5leGFjdGY9OApjbWFzaz1hbGwKcG1hc2s9MHgyCltmdW5jdGlvbiIyIl0KbnZm
-PTE2Cnd4X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZpPTEKbmlxZmxpbnQ9OApuZXRoY3RybD04Cm5l
-cT0xNgpuZXhhY3RmPTgKY21hc2s9YWxsCnBtYXNrPTB4NApbZnVuY3Rpb24iMyJdCm52Zj0xNgp3
-eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT0xCm5pcWZsaW50PTgKbmV0aGN0cmw9OApuZXE9MTYK
-bmV4YWN0Zj04CmNtYXNrPWFsbApwbWFzaz0weDgKW2Z1bmN0aW9uIjQiXQp3eF9jYXBzPWFsbApy
-X2NhcHM9YWxsCm52aT0yOApuaXFmbGludD0yMDIKbmV0aGN0cmw9MTE2Cm5lcT0yNTYKbnFwY3E9
-MTIyODgKbmV4YWN0Zj00MApucmF3Zj0yCmNtYXNrPWFsbApwbWFzaz1hbGwKbmV0aG9mbGQ9MTAy
-NApuY3J5cHRvX2xvb2thc2lkZT0xNgpuY2xpcD0zMjAKbmZpbHRlcj00OTYKbnNlcnZlcj00OTYK
-bmhhc2g9MTIyODgKbmhwZmlsdGVyPTAKcHJvdG9jb2w9bmljX3ZtLG9mbGQscmRkcCxyZG1hYyxp
-c2NzaV9pbml0aWF0b3JfcGR1LGlzY3NpX3RhcmdldF9wZHUsaXNjc2lfdDEwZGlmLHRsc2tleXMs
-Y3J5cHRvX2xvb2thc2lkZQp0cF9sMnQ9MzA3Mgp0cF9kZHA9Mgp0cF9kZHBfaXNjc2k9Mgp0cF90
-bHNfa2V5PTMKdHBfdGxzX214cnhzaXplPTE3NDA4CnRwX3N0YWc9Mgp0cF9wYmw9NQp0cF9ycT03
-CnRwX3NycT0xMjgKW2Z1bmN0aW9uIjUiXQp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT00Cm5p
-cWZsaW50PTM0Cm5ldGhjdHJsPTMyCm5lcT02NApuZXhhY3RmPTE2CmNtYXNrPWFsbApwbWFzaz1h
-bGwKbnNlcnZlcj0xNgpuaGFzaD0yMDQ4CnRwX2wydD0xMDIwCm5jbGlwPTY0CnByb3RvY29sPWlz
-Y3NpX2luaXRpYXRvcl9mb2ZsZAp0cF9kZHBfaXNjc2k9Mgppc2NzaV9udGFzaz0yMDQ4CmlzY3Np
-X25zZXNzPTIwNDgKaXNjc2lfbmNvbm5fcGVyX3Nlc3Npb249MQppc2NzaV9uaW5pdGlhdG9yX2lu
-c3RhbmNlPTY0CltmdW5jdGlvbiI2Il0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9NApuaXFm
-bGludD0zNApuZXRoY3RybD0zMgpuZXE9NjYKbmV4YWN0Zj0zMgpjbWFzaz1hbGwKcG1hc2s9YWxs
-Cm5oYXNoPTIwNDgKdHBfbDJ0PTQKcHJvdG9jb2w9ZmNvZV9pbml0aWF0b3IKdHBfZGRwPTIKZmNv
-ZV9uZmNmPTE2CmZjb2VfbnZucD0zMgpmY29lX25zc249MTAyNApbZnVuY3Rpb24iMTAyMyJdCnd4
-X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZpPTQKY21hc2s9YWxsCnBtYXNrPWFsbApuZXhhY3RmPTgK
-bmZpbHRlcj0xNgpbZnVuY3Rpb24iMC8qIl0Kd3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0x
-Cm5pcWZsaW50PTQKbmV0aGN0cmw9MQpuZXE9NApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4
-MQpbZnVuY3Rpb24iMS8qIl0Kd3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50
-PTQKbmV0aGN0cmw9MQpuZXE9NApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4MgpbZnVuY3Rp
-b24iMi8qIl0Kd3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTQKbmV0aGN0
-cmw9MQpuZXE9NApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4MQpbZnVuY3Rpb24iMy8qIl0K
-d3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTQKbmV0aGN0cmw9MQpuZXE9
-NApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4MgpbcG9ydCIwIl0KZGNiPXBwcCxkY2J4Cmh3
-bT02MApsd209MTUKZHdtPTMwCmRjYl9hcHBfdGx2WzBdPTB4ODkwNixldGhlcnR5cGUsMwpkY2Jf
-YXBwX3RsdlsxXT0weDg5MTQsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMl09MzI2MCxzb2NrZXRu
-dW0sNQpmbGFncz1hbl9kaXMKW3BvcnQiMSJdCmRjYj1wcHAsZGNieApod209NjAKbHdtPTE1CmR3
-bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4
-OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0bnVtLDUKZmxhZ3M9YW5f
-ZGlzCltmaW5pXQp2ZXJzaW9uPTB4MTQyNTAwMWMKY2hlY2tzdW09MHg3YTUwNjQ2YQoAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbZ2xvYmFsXQpyc3NfZ2xiX2NvbmZpZ19t
-b2RlPWJhc2ljdmlydHVhbApyc3NfZ2xiX2NvbmZpZ19vcHRpb25zPXRubG1hcGVuLGhhc2h0b2Vw
-bGl0eix0bmxhbGxsa3AKcGxfdGltZW91dF92YWx1ZT0xMDAwCnJlZ1sweDEwMDhdPTB4NDA4MTAv
-MHgyMWM3MApyZWdbMHgxMDBjXT0weDIyMjIyMjIyCnJlZ1sweDEwYTBdPTB4MDEwNDA4MTAKcmVn
-WzB4MTA0NF09NDA5NgpyZWdbMHgxMDQ4XT02NTUzNgpyZWdbMHgxMDRjXT0xNTM2CnJlZ1sweDEw
-NTBdPTkwMjQKcmVnWzB4MTA1NF09OTIxNgpyZWdbMHgxMDU4XT0yMDQ4CnJlZ1sweDEwNWNdPTEy
-OApyZWdbMHgxMDYwXT04MTkyCnJlZ1sweDEwNjRdPTE2Mzg0CnJlZ1sweDEwYTRdPTB4YTAwMGEw
-MDAvMHhmMDAwZjAwMApyZWdbMHgxMGE4XT0weDQwMjAwMC8weDQwMjAwMApzZ2VfdGltZXJfdmFs
-dWU9NSwxMCwyMCw1MCwxMDAsMjAwCnJlZ1sweDEwYzRdPTB4MjAwMDAwMDAvMHgyMDAwMDAwMApy
-ZWdbMHg3ZDA0XT0weDAwMDEwMDAwLzB4MDAwMTAwMDAKcmVnWzB4N2RjMF09MHgwZTJmODg0OQp0
-c2NoX3RpY2tzPTEwMDAsMTAwLDEwLDEKZmlsdGVyTW9kZT1mY29lbWFzayxzcnZyc3JhbSxmcmFn
-bWVudGF0aW9uLG1wc2hpdHR5cGUscHJvdG9jb2wsdmxhbixwb3J0LGZjb2UKZmlsdGVyTWFzaz1w
-cm90b2NvbCxmY29lCnRwX3Btcng9MzAKdHBfcG1yeF9wYWdlc2l6ZT02NEsKdHBfbnJ4Y2g9MAp0
-cF9wbXR4PTUwCnRwX3BtdHhfcGFnZXNpemU9NjRLCnRwX250eGNoPTAKdHBfbXR1cz04OCwyNTYs
-NTEyLDU3Niw4MDgsMTAyNCwxMjgwLDE0ODgsMTUwMCwyMDAyLDIwNDgsNDA5Niw0MzUyLDgxOTIs
-OTAwMCw5NjAwCnJlZ1sweDdkMDRdPTB4MDAwMTAwMDgvMHgwMDAxMDAwOApyZWdbMHg3ZDA4XT0w
-eDAwMDAwODAwLzB4MDAwMDA4MDAKcmVnWzB4N2Q0OF09MHgwMDAwMDAwMC8weDAwMDAwNDAwCnJl
-Z1sweDdkNjBdPTB4MDYwMDAwMDAvMHgwNzAwMDAwMApyZWdbMHgxOWMwNF09MHgwMDQwMDAwMC8w
-eDAwNDQwMDAwCnJlZ1sweDE5YzI4XT0weDAwODAwMDAwLzB4MDFmMDAwMDAKcmVnWzB4OGRjMF09
-MHgwMDAwMDEwNC8weDAwMDAwMTA0CnJlZ1sweDE5MjVjXT0weDAxMDAzNDAwLzB4MDEwMDM0MDAK
-W2Z1bmN0aW9uIjAiXQp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT0yOApuaXFmbGludD0xNzAK
-bmV0aGN0cmw9OTYKbmVxPTI1MgpuZXhhY3RmPTQwCm5yYXdmPTIKY21hc2s9YWxsCnBtYXNrPWFs
-bApuZXRob2ZsZD0xMDI0Cm5jcnlwdG9fbG9va2FzaWRlPTMyCm5jbGlwPTMyCm5maWx0ZXI9NDgK
-bnNlcnZlcj00OApuaGFzaD0yMDQ4Cm5ocGZpbHRlcj0wCnByb3RvY29sPW5pY192bSxvZmxkLHJk
-ZHAscmRtYWMsaXNjc2lfaW5pdGlhdG9yX3BkdSxpc2NzaV90YXJnZXRfcGR1LGlzY3NpX3QxMGRp
-Zix0bHNrZXlzLGNyeXB0b19sb29rYXNpZGUKdHBfbDJ0PTMwNzIKdHBfZGRwPTIKdHBfZGRwX2lz
-Y3NpPTIKdHBfdGxzX2tleT0zCnRwX3N0YWc9Mgp0cF9wYmw9NQp0cF9ycT03CnRwX3NycT0xMjgK
-W2Z1bmN0aW9uIjEiXQp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT00Cm5pcWZsaW50PTM0Cm5l
-dGhjdHJsPTMyCm5lcT02NApuZXhhY3RmPTE2CmNtYXNrPWFsbApwbWFzaz1hbGwKbnNlcnZlcj0x
-NgpuaGFzaD0yMDQ4CnRwX2wydD0xMDIwCnByb3RvY29sPWlzY3NpX2luaXRpYXRvcl9mb2ZsZAp0
-cF9kZHBfaXNjc2k9Mgppc2NzaV9udGFzaz0yMDQ4CmlzY3NpX25zZXNzPTIwNDgKaXNjc2lfbmNv
-bm5fcGVyX3Nlc3Npb249MQppc2NzaV9uaW5pdGlhdG9yX2luc3RhbmNlPTY0CltmdW5jdGlvbiIx
-MDIzIl0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9NApjbWFzaz1hbGwKcG1hc2s9YWxsCm5l
-eGFjdGY9OApuZmlsdGVyPTE2CltmdW5jdGlvbiIwLyoiXQp3eF9jYXBzPTB4ODIKcl9jYXBzPTB4
-ODYKbnZpPTEKbmlxZmxpbnQ9NApuZXRoY3RybD0yCm5lcT00Cm5leGFjdGY9NApjbWFzaz1hbGwK
-cG1hc2s9MHgxCltmdW5jdGlvbiIxLyoiXQp3eF9jYXBzPTB4ODIKcl9jYXBzPTB4ODYKbnZpPTEK
-bmlxZmxpbnQ9NApuZXRoY3RybD0yCm5lcT00Cm5leGFjdGY9NApjbWFzaz1hbGwKcG1hc2s9MHgy
-Cltwb3J0IjAiXQpkY2I9cHBwLGRjYngsYjJiCmh3bT0zMApsd209MTUKZHdtPTMwCmRjYl9hcHBf
-dGx2WzBdPTB4ODkwNixldGhlcnR5cGUsMwpkY2JfYXBwX3RsdlsxXT0weDg5MTQsZXRoZXJ0eXBl
-LDMKZGNiX2FwcF90bHZbMl09MzI2MCxzb2NrZXRudW0sNQpbcG9ydCIxIl0KZGNiPXBwcCxkY2J4
-LGIyYgpod209MzAKbHdtPTE1CmR3bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBl
-LDMKZGNiX2FwcF90bHZbMV09MHg4OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAs
-c29ja2V0bnVtLDUKW2ZpbmldCnZlcnNpb249MHgxNDI1MDAxZApjaGVja3N1bT0weDM2MWI5NTZi
-CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-====
diff --git a/sys/dev/cxgbe/firmware/t6fw-1.16.45.0.bin.uu b/sys/dev/cxgbe/firmware/t6fw-1.16.45.0.bin.uu
new file mode 100644
index 0000000..61f634c
--- /dev/null
+++ b/sys/dev/cxgbe/firmware/t6fw-1.16.45.0.bin.uu
@@ -0,0 +1,11363 @@
+/*-
+ * Copyright (c) 2017 Chelsio Communications, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+begin-base64 644 t6fw
+AAIE7gEQLQAAARcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAABM8E4AToAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAENoZWxzaW8gRlcgUlVOTUVNIERFQlVHPTAgKEJ1aWx0IFRodSBNYXkgIDQgMTA6
+MTI6MTAgUERUIDIwMTcgb24gdm5jNC5hc2ljZGVzaWduZXJzLmNvbTovaG9tZS9maXJtd2FyZS9j
+dnMvZnctcmVsZWFzZSksIFZlcnNpb24gVDZ4eCAwMS4xMC4yZC4wMAAAAAAAAAAAAAAAALZYyC1g
+ANQAH/zhSOEAe/AAEAAA4QGUQOEAVyDhADC4eP///x/84UCAAAAB4QB7cAAAEAAf/9QIIAAAAOEB
+nAThBQAAIoIAQOEFCAAihgBAIIIARCCGAEThBQAEAAwAAIAAAQLhAHs84QB7ROEAe+TiAAAAAAEA
+AOEAe5AgAAAAAACAAOEAewAAAEAB4QB7nAAGAIgAACAAREREQuAAAADjAAST4wAIACAAAlwAAAAA
+H/8VEAAAAAAf/xUUAAAAAB//FRgAAAAAH/8VHB//gAAAAAAAAAAAAAAAAADAABH/yiIaB5IQghAS
+/8kT/8mTIBL/yYMgJEoAA0QBZU/xwUEEMwEEMwNlP+YS/8PAMJMgEv/DE//DhCAEMwGTIBH/wRL/
+wpIQEf/BEv/CkhAR/8EB9DEA5DES/8AC5zECFgAR/7+BEAEBX8AhAhEByRER/7wS/7ySEBH/vBL/
+vJIQYAAPEf+3Ev+7khAR/7cS/7qSEIEQEf+5wCCSERL/uJISwCCSExL/t5IQghAC8lBlL/cR/7XH
+L5IQEf+0khAS/7QT/7STIMAykyET/7OTIoIiEv+yE/+ykyAjIiEU/7EEMwHJOxP/sIMwA4MUCDMR
+FP+upDOTIRP/opMiYAALAAAAwDCTIRP/npMiEv+pkCCQIZAikCOQJJAlkCaQJ5AokCmQKpArkCyQ
+LZAukC8gJhAgJhEiIgIS/58CKDES/5kjCgAtNzAtNzgjPQFyM/MAAgAS/5nAMC83AC83IC83QC83
+YCM9AnIz7QACABL/jcAwKDcwKDc4Iz0BcjPzEv+OwDAnNwAnNyAnN0AnN2AjPQJyM+0S/4kV/4oW
+/4rAMNcgBWYBYAASBDYFAAIA0w/TDwUzDG47FAdHFAcEQ3Yx5gQ2BQUzDG877QACABL/exX/fCMK
+AAInAgcEQwQ+BQUzDAdHFG878AMCABL/d8kugyCEIYUivCJ0Ow6GULRVljC0M3Qz9GP/5gBlP+Jl
+X98S/2zAMgMuBQMCABL/YsAwKDdAKDdIIz0BcjPzAAIAEv9nLScAwBEBSTEASDEBAgDAABT/YwTS
+MRX/Y5RQFP9iBNMxFf9ilFAU/2IE1DEV/2GUUBT/YQTVMRX/YJRQEP9gAwAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAA9DAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/AAA
+H/wAAOMACfgf/AAAH/wAAOMACfgf/AAAH/wAAOMACfgf/wAAH/8LQOMACfgf/wtAH/8LQOMAFTgf
+/wtAH/8LQOMAFTgf/wtAH/8NEOMAFTgf/w0QH/8VDOMAFwgf/xUQH/82IOMAHwgf/zYgH/82IOMA
+QBgf/4AAH//VD+MAQBggAAAAIAABauMAlSggAAF4IAABfOMAlpQgAAF8IAABheMAlpggAAGYIAAB
+nOMAlqQgAAGcIAABpeMAlqggAAG4IAABvOMAlrQgAAG8IAABxeMAlrggAAHYIAAB2OMAlsQgAAHc
+IAAB4uMAlsQgAAH4IAAB+OMAlswgAAH8IAAB/OMAlswgAAIYIAACGOMAlswgAAIcIAACHOMAlswg
+AAI4IAACOOMAlswgAAI8IAACPOMAlswgAAJYIAACWOMAlswgAAJcIAACYuMAlswgAAJ4IAACeOMA
+ltQgAAJ8IAACguMAltQgAAKYIAIgquMAltwgAoAAIAKg6OMCtPAgAqDoIAKg6OMC1dggAqDoIAdQ
+POMC1dggB1BAIAdUoOMHhTAgCAAAIAgTkOMHiZAgCBOQIAlGNuMHnSAgCUZAIAlHtOMIz9AgCwAA
+IAsAAOMI0UQgCwAAIAsAAOMI0UQgCwAAIAvL2OMI0UQAAAAAAAAAAAAAAAAf/wAAH/+AAB/8AAAf
+/gAAH/+AACAAAAAAAAAAAAAAACAAPqsgAD6eIABC4iAAPp4gAEJOIAA+niAAP2MgAEHeIABBWCAA
+Pp4gAEEAIABAsCAAQDsgAD6JIAA/4yAAPp4gAD6eIAA+niAAP4oAAAAA////////D/z///D///8A
+/CAAzqYgANAiIADQUiAA0BggAM/WIADPzCAAz5kgAM+PIADPhSAAzzAgANBQIADPJiAAzvcgANBS
+IADO7SAAztsBEBgBAAQAAAAAAAAAAAAAIAglgCAIJdggCCWoIAglmCAIJYggCCXQIAglyCAIJcAg
+CCW4IAglsCAIJaggCCWgIAgkOSAIJZggCCQ5IAglkCAIJDkgCCWIIAgkOSAIJC8AAAADAAAAAgAA
+AAEAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAoAAAAKAAAAFAAAAAoAAAAKAAAACgAAAAoAAAAKAAAA
+CgAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQACAAMABAAFAAYABwAIAAkACgAOABEAFQAZ
+AB4AIwAtADwAUABkAMgBLAGQAfQAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAIAAgADAAMAAwADAAQA
+BAAEAAQABAAFAAUABQAFAAUABQAGAAYABwAHAAAAAgAAAAYAAAAKAAAADgAAABQAAAAcAAAAKAAA
+ADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQEAAAcAAAAKAAAADgAAABQAAAAc
+AAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAD/AAECAgAAAAAAAAAAAAAA
+IAiiLCAIopYgCKHrIAih0CAIopYgCKGPIAihjyAIopYgCKKWIAihjyAIopYgCKKWIAihjyAIoY8g
+CKFhIAiiliAIoSYgCJ92IAif7SAIopYgCJ/wIAifryAIopYgCKKWIAiiliAIopYgCKKWIAiiliAI
+opYgCKKWIAiiliAIn6IgApNEAAAAASACk0wAAAACIAKTWAAAAAQgAploAAAA/yACkIQAAAD/AAAA
+AAAAAAAgApMwAAAAAiACkzQAAAADIAKTPAAAAAcAAAAAAAAAACACkxQAAAABIAKTGAAAAAIgApMg
+AAAABCACmWgAAAD/IAKQhAAAAP8AAAAAAAAAACACkIQAAAAAIAKZaAAAAAAgApHgAAAAASACkegA
+AAAEIAKR8AAAAAggApH8AAAAICACkgwAAABAIAKSFAAAAIAgApIcAAABACACkiQAAAIAIAKSOAAA
+BAAgApJMAAAIACACkmQAABAAIAKSeAAAIAAgApKIAABAACACkpQAAIAAIAKSqAABAAAgApK4AAIA
+ACACksgAEAAAIAKS4AAgAAAgApL4AEAAACACkwAAgAAAIAKRzAAAABAgApHUAAAAESACkbQAAAAA
+IAKRuAAAAAEgApG8AAAAAiACkcQAAAADAAAAAAAA//8AAAAAAAD//yACkTQAAAEAIAKRQAAAAIAg
+ApFQAAAAQCACkWAAAAAgIAKRcAAAABAgApGAAAAACCACkYwAAAAEIAKRmAAAAAIgApGkAAAAAQAA
+AAAAAAAAAAAATgAAAEYAAAA+AAAANwAAAC8AAAAnAAAAHwAAABcAAAEBAQEBAQEBAQEBAQICIAkr
+uCAJK2wgCSurIAkrqyAJK2wgCStsIAkruCAJK7ggCStsIAkruCAJK2wgCSu4IAkrqyAJK2wgCSts
+IAkrbCAJK2wgCStsIAkruCAJK2wgCStsIAkrbCAJK2wgCStsIAkruCAJK7ggCSu4IAkruCAJK7gg
+CSu4IAkruCAJK7ggCStsIAkrbCAJK2wgCStsIAkrbCAJK2wgCStsIAkrbCAJK2wgCStsIAkrbCAJ
+K2wgCStsIAkrbCAJK2wgCStsIAk7YCAJO2AgCTtVIAk7YyAJO2MgCTtNIAk7TSAJO2MgCTtjIAk7
+TSAJO2MgCTtjIAk7TSAJO00gCTtNIAk7YyAJO0UgCTtNIAk7TSAJO2MgCTtNIAk7YyAJO2MgCTtj
+IAk7YyAJO2MgCTtjIAk7YyAJO2MgCTtjIAk7YyAJO2MAAgIFBQgICwsODhERFBQXFxoaHR0gICMj
+JiYpKSwsLy8yMjU1ODg7OwAAAAAAAAABAxERCAgQCQMBAAAAAAAAIAR9KCAB2DggAGSMIAGy0CAB
+1SQgAc/AIAGVxCAD2Mgf/43IH/+70CAA0RAf/68oIACT3CAAhFwAAAAAAAAAACABtIggALasAAAA
+AAAAAAAf/6TsH/+WhB//lCgf/5GYIACAJCAAdVAgAHOoIADGVB//s/AgBwIkAAAAAAAAAAAgAHgQ
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAB3/AgAcbQIADbACAA2jAf/8MYH/+fvB//nAwg
+ALQ4IAUczCABT5ggATAwIAEWyCABCuAgAPvUIADxKCAA3WAgBH+wIAKzlCABROAgAuMoIAIJSCAA
+kuQAAAAAIADbcCAFmMAgAM4IIAG8yCAAFdAgAMZIIAARJCADIngf/8Z8IADbICACtnwAAAAAAAAA
+ACADQ0AgAFV4IAAz7CAAVFwAAAAAIABf2CAAXdwgAFt8AAAAACAAZEwgAUjIAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIABhqCAEfKwgA7ogIAOz5AAAAAAAAAAAAAAAAAAAAAAf
+/4dIIAAEDCAAY3AgA148IABicCAACNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAgAGSMH/+5CCABnLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAICwAA
+ACACnigIAAAAIAKeNAgAAAAgAp5ACgAAACACnkwMAAAAIAKeWBIAAAAgAp5oDQAAACACnnwOAAAA
+IAKejBMAAAAgAp6cCgAAACACnrAOAAAAIAKevBgAAAAgAp7MDQAAACACnugOAAAAIAKe+BAAAAAg
+Ap8IEgAAACACnxwOAAAAIAKfMBAAAAAgAp9AEQAAACACn1QKAAAAIAKfaAsAAAAgAp90DQAAACAC
+n4AUAAAAIAKfkAoAAAAgAp+oDwAAACACn7QGAAAAIAKfxAYAAAAgAp/MBgAAACACn9QGAAAAIAKf
+3AYAAAAgAp/kCQAAACACn+wGAAAAIAKf+AQAAAAgAqAABgAAACACoAgLAAAAIAKgEAsAAAAgAqAc
+BAAAACACoAAEAAAAIAKgKAkAAAAgAqAwCQAAACACoDwAAAAAAAAAAA0AAAAgAqBICgAAACACoFgG
+AAAAIAKgZAIAAAAgAqBsAwAAACACmTwBAAAAIAKgcAAAAAAAAAAA12qkeOjHt1YkIHDbwb3O7vV8
+D69Hh8YqqDBGE/1GlQFpgJjYi0T3r///W7GJXNe+a5ARIv2YcZOmeUOOSbQIIfYeJWLAQLNAJl5a
+Uem2x6rWLxBdAkQUU9ih5oHn0/vIIeHN5sM3B9b01Q2HRVoU7anj6QX876P4Z28C2Y0qTIr/+jlC
+h3H2gW2dYSL95TgMpL7qREvez6n2u0tgvr+8cCibfsbqoSf61O8whQSIHQXZ1NA55tuZ5R+ifPjE
+rFZl9CkiREMq/5erlCOn/JOgOWVbWcOPDMyS/+/0fYWEXdFvqH5P/izm4KMBQxROCBGh91N+gr06
+8jUq19K764bTkQcMERYHDBEWBwwRFgcMERYFCQ4UBQkOFAUJDhQFCQ4UBAsQFwQLEBcECxAXBAsQ
+FwYKDxUGCg8VBgoPFQYKDxUf/4AAAAQAICAHVKAgB1lgIAdPqCAAAACBAAAAgYAAAB//MrAf/xqM
+H/8cJAAEAAAEAAAIIAKWMAwAAAAf/OIAH/8uxB//MqD//7////8AAB//L0Qf/zOwD////x//L3gD
+gAAAAP/4AMEAAAAcAAAAgQQBAIEEAAABAAAAABAAAAEEAAABBAEAAAf//4AAAAAqAAAAH/8GMAYA
+AAAf/580IAPwkEFAAABBQAEAgBAAAAIAAACAAAAGgwAAAR//GvwgApZA8AAAAP9///8f/OLkAEAA
+AB//KvQAAP//AAEAAB//FWAf/xYQBEEACAQBAAgwAAAA///TQP//0GQf/ujEH/zeACAHUnz//77k
+H/7pNB/+6KD//8FAH/8v/B//IRQAAAi44P/+AOEBkgAf/xuAAP///x//LkSlAAAAH/8woAAAHSAA
+AP+AIAdU8CAHUEAgC39A4QAuAB//MJQf/yt0H/8xUB//LMAAABdgH/8wMP//AP+CgAAB4AAAoOEA
+MLgAAIAA4QBgEAAAQADhAwgA4QNIAOEDiADhA8gA4QAQCB/84UDhAHtwH/814B//Ndgf/OAIH/81
+3B//Nfgf/zXwH/819B//NhAf/zYIH/82DB/84gAf/y7EH/8sfCAB8FyBAAAAA4AAACAHVPAAACr4
+AABEAMMAAAAEAQAIH/8xbAAA/4Af/xVgH/8vsOEAAAAEAAAIixAAAB//MrCBgAAAgoAAACACljQM
+AAAAH/8bfB//G4wf/yEI//+//x//M7Af/y9EH/8y/B//LEQgCwBgH/8xeB//MXQf/zHYH/8yoCAL
+AnAAD0JAIAKTkCALjEAgApNwIAAmWCALAeAgABqYIAsCoCALAbAgCwIQIAsCQCADEwwgApOgEAAA
+AO4AAAACgAAAIAuMcAAACwAAAGAAAGAAAGAAAAAAAIbdIAsC0CoAAAAgAEzEIAAuICALA0AgAx5Q
+IAsDcCALA7AgCwPgIAAf4CACk7AgCwRgA2AAACALjJAgCwTgIAsHgAUAAACD/wAAABAAACAANDQg
+ApWIH/8KgB//BjAf/wg0Z0UjAe/Nq4mYutz+EDJUdh//ACAAAD8oIAKZPM////8gCwhwP////wIA
+AABAAAAA//9//yALCZAgAE9gIAsJwCALCjAIAAAAAP///yALCqD3////IAsNEP/+//8gCxsQgAAA
+AAAQQAAgApY4AAD//wAAgAAgCxvgIAscYCALHKAgCxzwIAscMP/7//8P9oAAIAshICALIVAAAQAA
+AAQAACALk8Af/y9gH/8v8CAAX9ggAGFYIABd3CALIeAgAFt8IAsicCALJKAgCyUw4AAAACALJbAg
+CyVwUwAAACALJdBSAAAAIAsmEFEAAAAgAhMsH/8ssCALKKAgCykAIAso0CALK4Af/zAcIAsr0B//
+H6AgCy2QFAAAAIAAAAJ8UAAAgAAAEIAAAAaAAAAFAAAKAIAAsAAA/zSS///wD4AAsQAgCy1QH/8d
+FAAAfkAf/y/0AP/AAB//MAAmAAAAAQAAACgAAAAgCy4ABYAAAAYAAAAf/ywIKwAAACAAexAf/N4A
+H/8tpAf///81AAAAA0AAAB////8ID///AD///4BAAAAgAAAAAADAAB//L9g9AAAAH/8uVIEEAQCB
+BAAABwAAAB//LiAAADqYGAAAAB//FiAAAA//AEMAAAQAAAAf/y3cIAuWsB//NVQf/zPQH/8a/AAC
+AADhAHoAH/8v5B//L3gggAAAH/8uOB//L+Af/x+kH/8fmCALluAAAweAIAuXUB//HXgAIAAAAEAA
+AAAACQAAADAA//z4f8AAAACj/7sAo/+6AA0AAADgAwAAg/+2AA////8P//gA/wAAAA///gEgC5eQ
+IAswQCALMHAgC5ggAAoAAAAPAAD//wAPH/8frAP/wACD/8AAIAuYoCALmRAf/zDIH/80QP9A8AAf
+/zQQH/8AcB//FSAEgAAIAEQAAP8f//8AwAAAAYDCAAAAgQD/v/////8AAACAAAAf/yEMAAAJvA8A
+AAAgCzCwH/8wYB//MWQf/yxsH/8heB//G4gf/wCAIAdRUAAAJxAf/6rQIAueUCALniAf/zDEH/8b
+gB//H4zerb7vIAKSiDQAAAA/AAAAH/8xiB//MxgAmQAAAACJBhAABwIBwIAAmQAAAB//MfgAAAgA
+AIgACIKAAAEf/zNo///wAB//MZADFQAAAxEAAAAPA/8gCzdQH/8vxCALnqAgCzewIAs4ACALOJAg
+CzeAIAEFWCALOGAgCzowIAs6YCALOrAgCzsQIAELMCkAAAAAAIkUIAERvCALnxAgC59wIAEcEB//
+MRj/AP8AzMzMzKqqqqrw8PDwH/80YB//MmgAA///AAAn/yABJIwgC5/gAABAACAC6rQf/zCYAAkA
+AAAQSACCAAAAIAFI1CALoFAf/zBEIAAw2CALpRAgC6VAIAtB0CALQaAgC0HgIAtCQCALQsAgC0IQ
+IAtCYCALQpAgC0RgAAAgACALRLAgC6NQIAujcCALROAgC0UwIAukECALpDAgC0SQIAukYCALo6Ag
+C6PQIAtFYCALpuAgC6dwIAumECALpiAgC6WgIAumgCALpeAgC6WwIAumYCALpvAgC6awIAunMDsA
+AAgOAAAA0AAAAB//AMAAAB+6H/zi5AAACFAAAB9AIAtH4CALSAAgC0ggAAkACB//M2QwAAAA///3
+/yALSnAgAvD0AACD/yAHWCggB1kgFaAAACACkigf/zMoH/8v7AAACAYAAA/+AACIzCALSqB/AAAA
+8AAAACALq/AgC6tQIAursCALqFAgC6pwIAurAAAA4AAgC6egIAuq0B//HSwABAP/CgAAADMAAAAf
+/zQkA//gAAAA//5///8AAD/2kB//MzAAAB/IA//wACALh9AgC4eQIAuH8B//NTAgC0sQH/8s2BoA
+AAAgC0tgIAGodB//MywAD///H/8xSB//L/wgC6xQIAKQEB//LFwf/y5QIAdRFB//K2AgC05wH/8u
+RB//Llwf/zQAIAutYCALTrAf/y3AAAAP8OABAAAf/OIIIAuukCALTvAgAMsMIADH1CALrhAgC65g
+H/8dTCALUbAf/yEUIAtdQOD//gAgC4pwH/8v+B//F3wgC2mwIAtqQB//M9QgC2zwIAttIEgAAAAg
+Aei4H/8ttCAB6tAf/xvsH/8rdB//LmQf/yucAAAYEAAAFjwf/y6EIAdU3B//LBT///H/4QBeAB//
+LWThAC4AH/8ukOEDBgDhAA4A4AUAAAP/AAAf/yvEIAKWQB/8v/88AAAAAAf//4MAAAAf/yt8IAIO
+jCALhhAf/zDU4AYAACACljAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgYAAAAAAAAD/////////////////
+////H//PeB//z3gf/884H//POB//zzgf/884H//I+B//y9gf/8ooH//KKB//yiggBwQMAAAAAAAA
+AAAAAAAAAAAAACAHBtggBwbYAAAAAAAAAAAAAAAAAAAAACAHBAwgBwQMH//M5B//zOQf/8zkH//M
+5B//zOQf/8zkAAAAACAB8KQAAAAAAAAAAAAAAAAAAAAAAgEAAAAAAAAAAAAAAAAAAAQAAAAAAAAA
+gYAAAAAAABAEAAAAAAAAAoEAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAKABHizxPi
+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
+IASWhiAEloYgBJXaIASWhiAEkqwgBJZ8IASWWCAEkqwgBJKsIASSrCAEkqwgBJKsIASVviAEloYg
+BJKsIASVviAEloYAAAAAAAAAAAAAAAAgBKVAIASjlCAEqAIgBKe1IASndiAEpzEgBKcHIASj9SAE
+ptwgBKaVIASmNCAEpdkgBKWLIASlYAEQGAEAAgAAARAYAQACAAAAAAAAAAAAACAFeLcgBXQMIAV4
+jCAFeGEgBXg2IAV4IiAFdDAgBXRIIAV4CSAFdIQgBXRpIAV0MCAFdIQgBXQwIAV0MCAFdDAgBXi3
+AAAAAAAAAAAAAAAAAAAAACAFziAgBcYYIAXFsCAFwmggBb0gAAAAAAAAAAAgBcX4IAXF8CAFxfAg
+BcXwIAXF+CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcX4IAXF8CAFxfAgBcXwIAXF8CAF
+xfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF
+8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXw
+IAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAg
+BcX4IAXF8CAFxfAgBcXwIAXF+CAFxfAgBcXwIAXF8CAFxfggBcXwIAXF8CAFxfAgBcX4IAXF8CAF
+xfAgBcXwIAXF+CAFxfAgBcXwIAXF8CAFxfggBcXwIAXF8CAFxfAgBcX4IAXF8CAFxfAgBcXwIAXF
++CAFxfAgBcXwIAXF8CAFxfggBcXwIAXF8CAFxfAgBcX4IAXF8CAFxfAgBcXwIAXF+CAFxfAgBcXw
+IAXF8CAFxfggBcXwIAXF8CAFxfAgBcX4IAXF8CAFxfAgBcXwIAXF+CAFxfAgBcXwIAXF8CAFxfgg
+BcXwIAXF8CAFxfAgBcX4IAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAF
+xfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfggBcXwIAXF8CAFxfAgBcXwIAXF
+8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfggBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXw
+IAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAg
+BcXwIAXF8CAFxfggBcXwIAXF8CAFxfAgBcX4IAXF8CAFxfAgBcXwIAXF+CAFxfAgBcXwIAXF8CAF
+xfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF
+8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXw
+IAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAg
+BcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcX4IAXF8CAFxfAgBcXwIAXF8CAF
+xfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF
+8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXw
+IAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfAgBcXwIAXF8CAFxfgAAAAAAAAAAAAAAAAg
+BcZRIAXGqSAFyp8gBcqNIAXKciAFymAgBco/IAXKLSAFygwgBcn7IAXJ4CAFyc8gBcm0IAXJoyAF
+yYggBcZIIAXJbSAFyVwgBclBIAXJLyAFyRQgBcj7IAXI2CAFyPsgBcjYIAXIxiAFyKsgBcZIIAXG
+SCAFxkggBcZIIAXImiAFxm0gBcZIIAXGSCAFxkggBch5IAXIXSAFyE8gBcg4IAXGSCAFyCUgBcgH
+IAXH9CAFx9YgBcfDIAXHsCAFx50gBceKIAXHfSAFx2sgBcdKIAXHOSAFxx4gBccMIAXG8SAFxrsg
+BcaYAAAAAAAAAAAgBc5zIAXOgSAF0NggBdCrIAXQoCAF0JUgBdCKIAXQfyAF0HQgBdBpIAXQXiAF
+0FAgBdBCIAXQJCAFz/EgBc/FIAXPuCAFz5kgBc+LIAXPfSAFz2kgBc9eIAXPSCAFzz0gBc5dIAXP
+FCAFzwYgBc74IAXO7SAFzuIgBc7OIAXOkiAGDMAgBgtBIAYM2CAGDMAgBgtBIAYLQSAGC0EgBgzY
+IAYMwCAGDMAgBgzAIAYLQSAGDMAgBgzAIAYM0CAGDNAgBgzIIAYMyCAGDLggBgtBIAYMuCAGDLgA
+AAAAAAAAACAGDHAgBgtuIAYMiCAGDHAgBgtuIAYLbiAGC24gBgyIIAYMcCAGDHAgBgxwIAYLbiAG
+DHAgBgxwIAYMgCAGDIAgBgx4IAYMeCAGDGggBgtuIAYMaCAGDGgAAAAAAAAAACAGDJggBguGIAYM
+sCAGDJggBguGIAYLhiAGC4YgBgywIAYMmCAGDJggBgyYIAYLhiAGDJggBgyYIAYMqCAGDKggBgyg
+IAYMoCAGDJAgBguGIAYMkCAGDJAAAAAAAAAAACAGLVMgBi0oIAYtKCAGLSQgBi0oIAYtKCAGLSgg
+Bi2TIAYtiSAGLX4gBi1zIAYtaCAGLSggBi1oIAYtXQAAAAAgBoEgIAZ+OCAGfIwgBnoMIAZ4ICAG
+arggBmwQIAZ2QCAGaiggBnj4AAAAAAAAAAAgBpgQIAaX8CAGl/AgBpfsIAaX8CAGl/AgBpfwIAaY
+QiAGmDggBpgwIAaYKCAGmCAgBpfwIAaYICAGmBgAAAAAAAAqGAAAQAAAAEAAAAAAAAAAKgQAAAAD
+AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAGrBogBqwoIAastiAGrBog
+BqwoIAasKCAGrCggBqy2IAasGiAGrBogBqwaIAasKCAGrBogBqwaIAasriAGrK4gBqymIAaspiAG
+rJ4gBqwoIAasniAGrJ4AAAAAAAAAACAGrMYgBqw+IAas3iAGrMYgBqw+IAasPiAGrD4gBqzeIAas
+xiAGrMYgBqzGIAasPiAGrMYgBqzGIAas1iAGrNYgBqzOIAasziAGrL4gBqw+IAasviAGrL4AAAAA
+AAAAACAGrH4gBqsrIAasliAGrH4gBqsrIAarKyAGqysgBqyWIAasfiAGrH4gBqx+IAarKyAGrH4g
+Bqx+IAasjiAGrI4gBqyGIAashiAGrHYgBqsrIAasdiAGrHYAAAAAAAAAACAGuAAgBrfrIAa4GCAG
+uAAgBrfrIAa36yAGt+sgBrgYIAa4ACAGuAAgBrgAIAa36yAGuAAgBrgAIAa4ECAGuBAgBrgIIAa4
+CCAGt/ggBrfrIAa3+CAGt/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlKAMPCBKlqIOOk5IAAAAA
+IAbDXiAGxwIgBscKIAbHpyAGx48gBsNeIAbDXiAGw14gBsd8IAbDXiAGw14gBsdhIAbHNSAGx0gg
+BsNeIAbDXiAGw14gBsNeIAbDXiAGw14gBsNeIAbDXiAGw14gBsNeIAbHICAGxlMAAAAAAAAAACAG
+y2AgBstYIAbLWCAGy7ggBstYIAbLWCAGy1ggBsusIAbLoCAGy5MgBsuGIAbLeSAGy1ggBst5IAbL
+bAAAAAAgBti+IAbhIyAG4NggBuBNIAba+iAG26ogBtw9IAbc3SAG3UMgBt3CIAbeMiAG35sgBu+C
+IAbvkCAG8B4gBu+CIAbvkCAG75AgBu+QIAbwHiAG74IgBu+CIAbvgiAG75AgBu+CIAbvgiAG8BYg
+BvAWIAbwDiAG8A4gBvAGIAbvkCAG8AYgBvAGAAAAAAAAAAAgBvAuIAbvpiAG8EYgBvAuIAbvpiAG
+76YgBu+mIAbwRiAG8C4gBvAuIAbwLiAG76YgBvAuIAbwLiAG8D4gBvA+IAbwNiAG8DYgBvAmIAbv
+piAG8CYgBvAmAAAAAAAAAAAgBu/mIAbumyAG7/4gBu/mIAbumyAG7psgBu6bIAbv/iAG7+YgBu/m
+IAbv5iAG7psgBu/mIAbv5iAG7/YgBu/2IAbv7iAG7+4gBu/eIAbumyAG794gBu/eAAAAAAAAAAAg
+BvHKIAbx2CAG8mYgBvHKIAbx2CAG8dggBvHYIAbyZiAG8cogBvHKIAbxyiAG8dggBvHKIAbxyiAG
+8l4gBvJeIAbyViAG8lYgBvJOIAbx2CAG8k4gBvJOAAAAAAAAAAAgBvJ2IAbx7iAG8o4gBvJ2IAbx
+7iAG8e4gBvHuIAbyjiAG8nYgBvJ2IAbydiAG8e4gBvJ2IAbydiAG8oYgBvKGIAbyfiAG8n4gBvJu
+IAbx7iAG8m4gBvJuAAAAAAAAAAAgBvIuIAbw2yAG8kYgBvIuIAbw2yAG8NsgBvDbIAbyRiAG8i4g
+BvIuIAbyLiAG8NsgBvIuIAbyLiAG8j4gBvI+IAbyNiAG8jYgBvImIAbw2yAG8iYgBvImAAAAAAAA
+AAAgBxMiIAcTACAHExogBxMiIAcTACAHEwAgBxMAIAcTGiAHEyIgBxMiIAcTIiAHEwAgBxMiIAcT
+IiAHExIgBxMSIAcTCiAHEwogBxMIIAcTACAHEwggBxMIAAAAAAAAAAAAAAADAAAAAgAAAAEAAAAA
+AAAABAAAAAAAAAAAAAAAAFJWAAAAAAAAQCQAAAAAAAA/UGJN0vGp/D/wAAAAAAAAPrDG96C17Y0Q
+AAAAY29uZmlndXJhdGlvbiBmaWxlIHBhcnNlciBmb3VuZCBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRp
+b24gYWZ0ZXIgW2ZpbmldCgAAMAAAAGZjb2UAAAAAdm5pY19pZAB2bGFuAAAAAHRvcwBldGhlcnR5
+cGUAAABtYWNtYXRjaAAAAABtcHNoaXR0eXBlAABmcmFnbWVudGF0aW9uAAAAc3J2cnNyYW0AAAAA
+ZmNvZW1hc2sAAAAAY29tcGFjdABiYXNpY3ZpcnR1YWwAAAAAZ2xiX2tleQBnbGJ2Zl9rZXkAAABw
+ZnZmX2tleQAAAABpZHh2Zl9rZXkAAABzeW5tYXBlbgAAAABzeW40dHVwZW5pcHY2AAAAc3luMnR1
+cGVuaXB2NgAAAHN5bjR0dXBlbmlwdjQAAABzeW4ydHVwZW5pcHY0AAAAb2ZkbWFwZW4AAAAAdG5s
+bWFwZW4AAAAAdG5sYWxsbGtwAAAAaGFzaHRvZXBsaXR6AAAAAGxhbgB3YW4AY2x1c3RlcgBtYW51
+YWwAAHRwX3BpbwAAdHBfdG1fcGlvAAAAbmljX3ZtAABuaWNfdW0AAG5pY191bV9pc2dsAG5pY19o
+YXNoZmlsdGVyAABvZmxkAAAAAHJkZHAAAAAAcmRtYWMAAABpc2NzaV9pbml0aWF0b3JfcGR1AGlz
+Y3NpX3RhcmdldF9wZHUAAAAAaXNjc2lfaW5pdGlhdG9yX2ZvZmxkAAAAaXNjc2lfdGFyZ2V0X2Zv
+ZmxkAABmY29lX2luaXRpYXRvcgAAZmNvZV90YXJnZXQAcG9mY29lX2luaXRpYXRvcgAAAABwb2Zj
+b2VfdGFyZ2V0AAAAaXNjc2lfdDEwZGlmAAAAAGlzY3NpX2luaXRpYXRvcl9jbWRvZmxkAGlzY3Np
+X3RhcmdldF9jbWRvZmxkAAAAAHRsc2tleXMAY3J5cHRvX2xvb2thc2lkZQAAAABwcHAAZGNieAAA
+AABiMmIAc29ja2V0bnVtAAAAY2VlAGllZWUAAAAAYXV0bwAAAABhbl9kaXMAAHBkbGl0ZV9kaXMA
+AGFuX2JyY20AIAKgdAAEAAAAAAQAAAQAAP8CAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAP8CAAAAAAAAAAAAAAABAAL/AgAAAAAAAAAAAAAAAAAC/wIAAAAAAAAA
+AAAAAAAAFgAAAAAgBmngAAAAACAGaUAgBmacIAZleCAGQeggBdboIAW8gCAFu0gAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAgBAFQIAQOvCAEDrwgBA68IAQeICAEOlggBEnIIART0CAD/ewgA/tEIAPu
+nCAEdRggA+xUIAPpOCAFuxggBbnMIAWyyCAEDrwgBbHIIAWv/CAFryggBwooIANlrCADysAgBpQM
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAuGkIALJKCAC2rggAtgEIALWdAAAAAAg
+AtQMIALg0AAAAAAgA+AYAAAAAAAAAAAAAAAAIAMkNAAAAAAAAAAAAA//8wAAAAAAAA/zAAAAAAAA
+APMAAAAAAAAAMwAAAA//////AAAAAAAAAAAAAAAAAA//8wAAAAAAAA/zAAAAAAAAAPMAAAAAAAAA
+MwAAAA//////AAAAAAAAAAAAAAAAAA//8wAAAAAAAA/zAAAAAAAAAPMAAAAAAAAAMwAAAA//////
+AAAAAAAAAAAgBvSMIAbzxCAHHcggBvOwIAbz8CAG8tggBvR0IAbyuCAHHbAgBvOY/xgwYGAAAAAA
+AQIDAAAAAAAAAAAAAAAAIAaBwCAD/4AgAJKoAAAAAAAAAIEAAAAAAAAAAAAAAAAAAQIDAgIDAwAC
+AwUDAwUFIAPOOCADz+wgA898IAPQCCADzlwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAPO
++AAAAAAAAAAAAAAAADAxMjM0NTY3ODlhYmNkZWZBQkNERUYAAAAAAAAAAAAAQUJDREVGR0hJSktM
+TU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLwAAAAAA
+AAAAAAAAAAAAAAAgAE4YAAEAACAATfwABQABIABN5AADAAUgAE3EAAcAAGOCU2MAAAAA////////
+AAAABAQIAAQECAAEBAgABAQIAAQECAAHQwAAAAAAAAAAAAAhAAkAgQBBACEACQAhAAkAgQBBAIEA
+QQCBAEEAgQBBACEACQCBAEEAIQAJACEAEQCBAEEAgQBBACEACQCBAEEAIQAJACEACQEBAEEAgQAh
+AIEAIQAQEGEBAQCBAQEAgQMCAQAEAAAAAAAAAAAAAAAAAAPoAAAAZAAAAAoAAAABECBAAAAAAAAA
+AAAAAAAAAAQAAgABAACAAEAAIAAQAAggQIAAAAAAAAAAAAAAAAAAIAKQhAAAAAAgAploAAAAACAC
+kIgAAAABIAKaDAAAAAIgApCQAAAABCACkJgAAAAIIAKQoAAAABAgApoUAAAAICACkKQAAABAIAKQ
+sAAAAIAgApC8AAABACACkMgAAAIAIAKQ2AAAIAAgApDkAABAACACkPAAAIAAAAAAAAAAAAAAACoc
+AAAqPAAAKlwAACp8AAAqAAAAAAMAAAABAAAqGAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAACAcEAwoJAgAAAAAAAAAAAAARABAADgAPABQAFAAKAAcAHwAAAAAAAAAAAAAAAAAAAAAAHgAA
+ACgAAAA8AAAAeAAAAB4AAAAiAAAAKAAAADAAAAA8AAAAUAAAAHgAAADwAAAAHgAAACgAAAA8AAAA
+eAACAAEAAwAFAAAABAAAAAAEAgYBBQMHAAAAAAAAAAAAAAECAwQFBgcICAkJCgoLCwAAACIAAAAw
+AAAAAAAAAAAAAAAeAAAAIgAAACgAAAAwAAAAPAAAAFAAAAB4AAAA8CAGhWggBoUgIAaD+CAGgpgg
+BoJQIAaCICAGgoAAAAAAAAACAAAABAAAAAgAWWVzADAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9w
+cXJzdHV2d3h5egAAAABub25lAAAAAGFsbAAqAAAAZGlzYWJsZWQAAAAAZW5hYmxlZAAweAAATkEA
+AFYwAABWMQAAVjIAAFYzAABWNAAAVjUAAFY2AABWNwAAVkEAAFZCAABWQwAAVkQAAFZFAABWRgAA
+VkcAAFZIAABWSQAAVkoAAFZLAABWTAAAVk0AAFZOAABWTwAAVlAAAFZRAABWUgAAVlMAAFZUAABW
+VQAAVlYAAHBvcnQAAAAAcHJvdG9jb2wAAAAAZ2xvYmFsAABmdW5jdGlvbgAAAABmaW5pAAAAAHJl
+ZwBmaWx0ZXJNb2RlAABmaWx0ZXJNYXNrAAByc3NfZ2xiX2NvbmZpZ19tb2RlAHJzc19rZXltb2Rl
+AHJzc19nbGJfY29uZmlnX29wdGlvbnMAAHNnZV90aW1lcl92YWx1ZQB0c2NoX3RpY2tzAAB0cF9w
+bXJ4AHRwX3BtcnhfcGFnZXNpemUAAAAAdHBfcG1yeF9mbGFncwAAAHRwX25yeGNoAAAAAHRwX3Bt
+dHgAdHBfcG10eF9wYWdlc2l6ZQAAAAB0cF9wbXR4X2ZsYWdzAAAAdHBfbnR4Y2gAAAAAdHBfbXR1
+cwB0cF90Y3B0dW5pbmcAAAAAdHBfdGltZXJyZXMAdHBfdGltZXJ2YWxzAAAAAHRwX2JhY2tvZmZ2
+YWxzAABzY2hlZF9pb3F0eF9icF9wcmlvcml0eQBwbF90aW1lb3V0X3ZhbHVlAAAAAG1lbWZyZWVf
+Y29uZmlnAABvZmxkX2ZsYWdzAABtY19tb2RlX2JyYwBtYwAAbnZmAHd4X2NhcHMAcl9jYXBzAABu
+aXFmbGludAAAAABuZXEAbnFwY3EAAAB0cF9zcnEAAG5ldGhjdHJsAAAAAG5jcnlwdG9fbG9va2Fz
+aWRlAAAAbnZpAHJzc252aQAAcnNzbnNlY3JldAAAbmV4YWN0ZgBucmF3ZgAAAGNtYXNrAAAAcG1h
+c2sAAABuZXRob2ZsZAAAAABucm91dGUAAG5jbGlwAAAAbmZpbHRlcgBuaHBmaWx0ZXIAAABuc2Vy
+dmVyAG5oYXNoAAAAdHBfbDJ0AAB0cF9kZHAAAHRwX2RkcF9pc2NzaQAAAAB0cF90bHNfa2V5AAB0
+cF90bHNfbXhyeHNpemUAdHBfc3RhZwB0cF9wYmwAAHRwX3JxAAAAaXNjc2lfbnRhc2sAaXNjc2lf
+bnNlc3MAaXNjc2lfbmNvbm5fcGVyX3Nlc3Npb24AaXNjc2lfbmluaXRpYXRvcl9pbnN0YW5jZQAA
+AGlzY3NpX21heF9zZ2UAAABwcG1fbWF4X3pvbmVzAAAAcHBtX3pvbmVfcmFuZ2UwAHBwbV96b25l
+X3JhbmdlMQBwcG1fem9uZV9yYW5nZTIAcHBtX3pvbmVfcmFuZ2UzAGZjb2VfbmZjZgAAAGZjb2Vf
+bnZucAAAAGZjb2VfbnNzbgAAAGZjb2VfbmZjYgAAAGRjYgBkY2JfYXBwX3RsdgBkY2JfZGNieF9w
+cm90b2NvbAAAAGh3bQBsd20AZHdtAGRlYm91bmNldGltZQAAAABhbl9hZWNfdGltZQBhZWNfcmV0
+cnlfY250AAAAZmVjAHZlcnNpb24AY2hlY2tzdW0AAAAAU2Vzc2lvblR5cGUAT0ZNYXJrZXIAAAAA
+SUZNYXJrZXIAAAAARGF0YURpZ2VzdAAASGVhZGVyRGlnZXN0AAAAAEVycm9yUmVjb3ZlcnlMZXZl
+bAAASW1tZWRpYXRlRGF0YQAAAERhdGFQRFVJbk9yZGVyAABEYXRhU2VxdWVuY2VJbk9yZGVyAElu
+aXRpYWxSMlQAAE1heENvbm5lY3Rpb25zAABNYXhSZWN2RGF0YVNlZ21lbnRMZW5ndGgAAAAASW5p
+dGlhdG9yTmFtZQAAAEluaXRpYXRvckFsaWFzAABEZWZhdWx0VGltZTJXYWl0AAAAAERlZmF1bHRU
+aW1lMlJldGFpbgAATWF4QnVyc3RMZW5ndGgAAEZpcnN0QnVyc3RMZW5ndGgAAAAATWF4T3V0c3Rh
+bmRpbmdSMlQAAABUYXJnZXROYW1lAABUYXJnZXRBbGlhcwBUYXJnZXRBZGRyZXNzAAAAVGFyZ2V0
+UG9ydGFsR3JvdXBUYWcAAAAAQXV0aE1ldGhvZAAAU2VuZFRhcmdldHM9QWxsAENIQVBfQQAAQ0hB
+UF9JAABDSEFQX0MAAENIQVBfTgAAQ0hBUF9SAABEaXNjb3ZlcnkAAABOb3JtYWwAAE5vbmUAAAAA
+Q1JDMzJDAABDUkMzMkMsTm9uZQBOb25lLENSQzMyQwBDSEFQAAAAAENIQVAsTm9uZQAAAE5vbmUs
+Q0hBUAAAAE5vdFVuZGVyc3Rvb2QAAABJcnJlbGV2YW50AABSZWplY3QAAE5vAAA1AAAAQ0hOZXQg
+MS4wMAAAAAAADAAAAAABAAF8AAwBAAAAABAAAAAUIAc9yAAAAwUOQAAAAAAAEAAAACggB0DQAAAD
+MA5QAAAf/AAAH/wAAB//NiAf/zYgIAdUoCAHWWAgCUe4IAlHuCAKAAAgCoAAIAqAACAK5oAgB1Tw
+IAAAACACgAAf/zAcIAsAACALADAf/zM0H/8VYAAP//8f/OIAH/8uxB//MqAEAAAIGgAAAIEAAAAg
+CwCAIAuIMB//MJgf/zMYH/8vYB//MAAf/zKwMAAAECALiHAgC4jQH/80lB//FxwgB1kgF5AAACAH
+VyQgApIwgAAABBSwAAAAAGAAIAKSQCAHWSoAAB+6AACD/xWgAAAgAoAYFqAAAAhQAQAgoAAAP/AA
+ACOgAAAD/wAfAMAABAAA//8f/zSYIAcE5CoAAAAgAs9MIAuJACALiUAgBwSY3q2+/xrAAAAgB1go
+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
+IAuasCALmvAgC5sgIAubYCALmYD//wAAD///8P/wAAAf/zOwH/8rpCAEDrwgC5yAIAucsCALnCAg
+C5vAH/8d6B//HFwf/x2IH/8f6AAACdYAAP+AAAA8AAAAIycgCzEgAACQEAAAkQAAAJAgAACREP/7
+//8ABAAA4QHiwB//LqCQAADw/P8AwAIAACD+/wDAIAsxcCALMbAAAPgAAAMBCAADAVCP////AAMB
+DCALMgAgCzJQIAsygCALMsDhAO4AgAH//4AA//+AAQAA4QDeAAABERQAARMAAAMDCAADAgAf/y6U
+///gAP/+//8AAPwAH/8wJAABwAAAAAwAAAMDBAABERAgC50QACAQAIAAEAAf/xvs///AAAADAQQA
+AP/+AAAlgAADAwAf/y6M4P3iwB//LPggC51gIAudkCALnbAAAP/9IAudQCACgQgAAP/zIAszEAAA
+KjAAAP/4AAD/jwAAUrUAAEgKAACPggAAj4YAADgAAACPigAA4z8AAIOuAAD/8SALMzAAABBA///P
+vyALndAAABIAIAszYOEDLgDhAzIA/v///+EDAQgAAwgE//9//wD/AAAgCzOA///mACALNFAAAP7/
+H/8s/AAA/z8AAMf/AAAYAAAAwAAAAPn/IAuVECALlNAgCzOwIAs0oCALNPAgCzVgIAs0ECACgRAg
+CzXwIAs1wACAAAAgC53wAAD/+x//LIgAAP/3IAs2oCALNmAgCzYwIAs2wCALNxAQAAUNAcCAAAkA
+AAAf/zL8H/8x+CACgcAAAIMAIAs50AAAggAgCzjwIAs5QCALOYAQAAcCAAAMvAAAiQYgCztwIAuJ
+gIiIiIggAoIQIAs70CALO6AgCz7AIAs+gCALPkAgCz4AIAs9wCALPYAgCz0wIAs88CALPKAgCzxQ
+IAs8ECALoMAgC6DwIAuhICALoWAgC6GgIAuh0CALP/AgCz+gIAs/ACALP0AAAIDCAAAbIR//LIwg
+C0AgIAuiACALokAgC6JgAP/AABIAAAAgBMWQIAujECALotAAAKAAYAAAAB//MHggC6SQIAtAQCAL
+QHAAABwgIAtAoCALQQAf/y7YIAtBQCALQNAgC0LwAAB/piALQ4AgC0MQIAtDsCADECggC0NAIAtE
+ECALQ+AgAxFoIAtEQCADFtggC6VwIAtFsCALp8AgC0bQIAKWICALRgAgC0bwIAtGYCAE6uAgC6ig
+AAAfQAAAEDb//+//H/80nB//MygAAAhQIAtHMCALR4AgC0dgAP///B//NRoyAAAAwAAAACACgkgz
+kAAAIAdXKCACkqAgC6kAIAupYCALqUAgC6mgIAtHoCAC++ggAoJQIAtIUAAAgAUgC0iAgYAAAN6t
+vu8gC0jAMAAAHDAAAAQwAAAUAAD/7x//M9QA//AAACgAACALSPAAAAhAIAKSZCALSSAA///6IAtJ
+cDAAAAAwAAA0AACAASACgmAAAIACIAVFKCALqjAQAAUQmQAAADQAAAAgC6ngIAtJsAAZAAAgC0oA
+IAKWxAAAEg8gC0owH/8zZAMVAACD/wAbIAtK0CAFnhD//0AAIAusECALS6AgC0wgIAtMcOEBkawA
+AZGsv////yALTKALAAAAIAWkiCALTRAgC02AIAtN8CALTiAgC6yQIAutECAEVbggApOkIAutwH//
+/w8gC09AH/8vaPwA///hAJYA4QCaAAAACf/hAJ4AAACwAB//MIwgAoKwIAtPgOEADgDhABIA/+A4
+AAP/gA4Ac/+AAwAAAAA4//8TAAAAEQAAAB/8AAAf/y/cIAtPwCALrsAAAZSPAAGUzyACgtAf/x+0
+IAKHUB//LSQgC1AAIAtQQCAHUEAgC1BwH/8tBB//FfQf/y4sIAKIQAAEFAAf/x7EH/8dTB//Hrzh
+AFoAAgGwAB//FxQgC1bgIAtXMCALV5Af/zBgIAtYYB//LagAP///H/8dZB//LlwAAP+XAAD+1f//
+q5Mf/y/owgAADgXcAQAD/wAAwAAAASALWNAgC1kQIAtZYCALWaAgC1nwIAtaMB////Af/zDUAgAA
+EB//FYggC1xwH/8udCALXYAgC5WwIAteEAAA/gAgC7VAH/8f7BsAAAAABQACOsAAACALXlAgBfDk
+IAu2ACALtZAgC7XQIAX3WCALtXAgC16A///B////388AAOAA//+f/yALXrAgC17g///fMB//LJAg
+C18QH/8XgAAA/9/hAyoA///N/yALX0AgAojAIAKJICACiYAgC1+AIAtfoAADAAIf/x94IAtgICAL
+X9AgC2BQIAYocB//LPThAxAE4QMSUCALtpABMBjAAAGGoAF9eEACYloABfXhACALYLDhA0YAIAtg
+kCALttAgC2DQIAthUCALYRAgC2GQIAtiECALYlAgC7cQIAKJ4CALYbDhAwAE4QMAMAAEBe7hAwEE
+4QHiAB//H5wAAf//4QGeAAABnzQAAZ84IAtioP+///8f/N4AH/8XlB//LPAABQAEH/8wFB//H6Qf
+/x+oIAgAACAITrAgCAZgIAiPACAIBVAgCAIgIAgDMCAIBEAgCAEQH/8wkB//HYAf/yw4IAdRVB//
+Kpgf/y1wIAHyBP//9wDhAHYAIAKUACALs4AgC7xgH/8vnCALaVAgB1e6IAtr4BSQAABAAAAEAABQ
+ACALbFAgC2yAIAtqUCAHV7AgA2doIAtqkCALavAAAI/+IAtrQCMoFQAgC2ugIAu9wCALvMAgC71A
+H/8x2CAHWKggApIkH/81uB//NSj/6A//v/8PAP//DwAAEIAAIAttYCAGZ8AgAoogAcgABuEBmeAg
+B1TQIAdU2CALbYAAAZD4//z4fyALbiAgC26QIAttwCAHURQAABOI4QESAOEBjgAAAZEMgAAAACAL
+iwAgC4rQIAuLUCALiyAAAH5QAAB+QAAAfhggBwSYIAcE5CoAAADerb7/IAAAACAHVPAgBn44AAD/
+/wAP//8f/y5gH/8wHB//L2Af/zAAH/8XHAAA4YQgAplwIAKZdCACmWggApl4IAKZhCACmYwAD0JA
+H/8e0CALccDgAA2AAAAAAGwQBOT7f0APmADUznoqQhYooQJkgEpbyz0pQhcKqwnqMMhADwgLq6uZ
+6mDIQA+ACZXpUMhAD6ABEIkYaJFPaJIpKkIXCZsJ6TDIQA8IC6urqulgyEAPgAql6lDIQA+gARDA
+wOzQyEAPoAEQLiIQLUIXDu8J7jDIQA8ID6+v3e5gyEAPgA3V7VDIQA+gARCJLypCFwmbCekwyEAP
+CAurq6rpYMhAD4AKpepQyEAPoAEQbBAEJyEFKPrACCgBqHfjQuRAEgACd3J7DwNyDAJCD6KC4iCQ
+wA+gARDRDwBsEAQb+4mJJeoo70AOgACB6wDYQA8oCbnpi+bAC5gDVA+iEboi4gKGwA+gARAAAABs
+EAYb+37ssbBAEAALc+wRyEAQAAzb7RDIQBBADYvoGNBADBAKZucYgEAQgAK7q6rnR4DADxAIiKF3
+qHfqoLhAEAANd8Cx4HXsQA9oAqXuoJMgAZABBWhTOnZnNe9DsEAQKA10I0EDB/8MDz8K7jPhwBZ4
+Av8D/y0PvwwP7iiuItEPAAAoMAMNiBHoIuif/nADZtEPKTAD4pLkQAn4D74AbBAEKCAEDwIAaIYM
+4gDYQA+gARAAAAAAABb7UYwuK2J/CcwRrLuLt4u+7bu5QBDgDZvsv7lAEOgNi+++uUAQwA2r5Lm5
+QA8ICYnuurlAD2AJieiq4cAPCAmJ5KrrQA9gCfnoquHADwgJie6q60APYAnJ7JGQQA8ICortqutA
+EDAFnLGq6ba5QBCoDYvsv9FAEKANe+q70UAPgA2o7I7tQBCADavuvtFAEagNy+260UAPgA7o7r3R
+QA+ADdjtudFAD4AO6O680UAPgA3Y7bjRQA8IB4ftsblAD2AHh+zBkEAQuA2L7LXTQA8ICorssrlA
+DwgHh+2q60AQWAvT6XfrQA8ICorod+HAD2AKyuyzuUAPYAeHp9fnt9FADwgKiueE7UAPYArK5LbR
+QA6AAMDkhO1AEDAF17GqKrQT5LXRQA+AD6jvstFAD4AESOS00UAPgA/477HRQA+AD/jvsNFAEGgM
+4itifwnuEa67i7eLvi6wG+S/uUAQ4A376b25QBDADavlurlAEMgNi+a+uUAPCA+P6KrhwA9gD5/o
+qutADwgPj+iq4cAPYA9v5arrQA8ID4/oquHAD2APT+bxkEAPYArq5r/RQBAwBfaxquq70UAQiA2L
+7rC5QA+AD2jvvtFAD4AJqOm60UAPgA/4773RQA+AD/gvtBzvsrlADwgOjumJ7UAPYAqO7rO5QA8I
+CorpudFAD2AK+u+0uUAPCAqK7qrrQBCoDeuqyuj84cAQsA376Lm5wA9gDOzut7lADwgMjOmJ7UAP
+YAz86bjRQA8IDIzuzOtAEAgCiKzc6LnRwBAwBdyxquqz0UARsAvS7LfRQBG4C+Lsu35AD4AJyOm2
+0UAPgAio6LLRQA+ACZjptdFAD4AIiOix0UAPgAmY6bTRQA+ACIjosNFADoAAousj2EAKkABn7Tew
+QBBIDOPsqn5ADoAAousj2EAKkABhKiAFxLXiFPAf6bAOusXFLCQF4gDYQA+gARAAbBAGJiAHDwIA
+DwIA4/l+QAwQBmDoyX5ADxAEZgxEEaNDqEQrQn8jPSAjPNDtANhAEGgIs+IA2EAPoAEQAImxjLCc
+kIqwKLkQmaHtsMhAEDgMy+2xyEANAALoysaOwRr6hh/6iuqvs8APgA7oD+4BCe4RrqruuJfAD5gA
+9esY70AL2AtJK0J/c7GpjCJlz6TaIOwQ2EAQwAK27QTYQAvoCKziANhAD6ABEAAAAGwQBCsgBxz6
+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
+AAAAFAAAAAAAAAABAAAAAQAAAHAAAABwAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAKIf8AAAAHAAAAAgAAAAIAAAARAAAABAAAAB4AAAAaAAAAAAAA
+AAEAAAABAAAAdAAAAHUAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+DDUAAAAACAAAAAEAAAAKAAAACAAAAAUAAAAdAAAAHQAAAAAAAAADAAAAAQAAAHgAAAB5AAw1AAAA
+AAgAAAABAAAACgAAAAgAAAAFAAAAHQAAAB0AAAAAAAAAAwAAAAEAAAB4AAAAeQAAAAAAAAAAAAAA
+AAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OHAAAAAkAAAABAAAABgAAAAYA
+AAACAAAAHgAAAB4AAAAAAAAAAQAAAAEAAAB9AAAAegAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAQNmQAAAAKAAAADAAAAAkAAAARAAAABAAAAB0AAAAdAAAAAAAAAAEA
+AAABAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+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
+AACP+P////8ABBMUAAAABwAEEwwAAAAKAAB33AAAAAcAAHf0/////wAAeAQAAAADAAGcODnBv/kA
+AJAEAAAAPgABEHgBjAYAAAEQfAGMBgAAARCIAAAAAAAAlAQACd/gAACUEAAJ3+AAAJhUAAAB/wAA
+mFgAAAH/AACWCAAAAAAAAJYcAP///wAAliQA////AACWKAD///8AAJYwAP///wAA0CAAAAAPAADQ
+JAAAAA8AAwjYAAAAAwADSNgAAAADAAMI5AAAAAMAA0jkAAAAAwABkFAAAAD/AAGg1AAAAYMAAZCM
+ADgAAAABkJgAOAAAAAUAdAAAAC8ABQBwAAAALQAFCHQAAAAvAAUIcAAAAC0ABRMEAAAAPwAAAAAA
+AAAAIAKaPCAI29QgAppAIAju2CACmkwgCO3gIAKaWCAI7YQgAppsIAjsgCACmnggCOvMIAKakCAI
+6mAgApqgIAjpACACmqwgCOfgIAKatCAI57QgAprIIAjniCACmtggCOdMIAKa5CAI5jAgAprsIAjm
+BCACmwAgCOXYIAKbECAI5aAgApscIAjj9CACmyQgCOMwIAKbNCAI4iAgAptAIAjhACACm1AgCN/o
+IAKbYCAI3rwgApt4IAjbgCACm4wgCNs8IAKbnCAI2xAgApuoIAjaKCACm7QgCNksAAAAAAAAAAAg
+Apu4IAjY4CACm7wgCNhgIAKbxCAI2CggApvMIAjX8CACm9ggCNe4IAKb3CAI14AgApvkIAjXSCAC
+m+wgCNcQIAKb+CAI0EAgApwMIAjW2CACnBAgCNiYIAKcGCAI1qAgApwkIAjWaCACnCwgCNYwIAKc
+NCAI1fggApw8IAjS2CACnEQgCNWkIAKcUCAI1ZggApxYIAjVYCACnGAgCNUoIAKcaCAI1PAgApx0
+IAjUuCACnHwgCNSAIAKaFCAI0GwgApyEIAjQCCACnIwgCM/QIAKclCAIz5ggApykIAjPYCACnLAg
+CM8gIAKcwCAIzuggApzIIAjOsCACnNAgCM54IAKc2CAIzkwgApzkIAjOICACnPAgCM3gIAKdCCAI
+zbQgAp0kIAjNiCACnTQgCM1cIAKdRCAIzTAgAp1UIAjNBCACnWQgCMzYIAKddCAIzKwgAp2EIAjM
+gCACnZAgCMxUIAKdnCAIzCggAp2oIAjL4CACnbQgCMp4IAKduCAIyJggAp3EIAjHmCACndggCMdg
+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
+H/8EMB//MKQgC3BwH/8eqCALcMAf/x58IAtw8CALcSAf/wRAH/8d7AAAJYAgC3FQIAtxkB//HCQf
+/xuAH/8EYB//HZAf/xwoH/8bfB//BGggC3JgIAtyAB//HtD//wAAA+f8GCALcoAf/wRwH/8tcCAC
+kQgf/y1s8////yACkRAgApEcIAKRKCACkPgP////IAKXgCALcuAgCBFk///toCAIEQQgCA+U///v
+cCAIDrQgCA+M///wUP//AAEAAf/+AARwFAAEcCgABHAgAARwPAAA/wAABHAsAAD/gAAAjYAgApLY
+AARAJAAEQcAABEHEAARByAAEQHgABEDcAARBQAAEQUQgC3kgIAt5YCALeZAgC3iAIAt4wCALePAA
+BEFwAABAQAAEcFgAACAoAAAQKAAEQEwABEFgIAt6ECALejAAAHd3AAAzMyALenAgC3rQIAt7ACAL
+eqAgC3mwIAt54AAEAEAgC3sw///v/yALe3AABHBkIAt7sOEEbgAAAL8AIAt78CAIBpQgCAaEH/8E
+wNLxqfw/UGJNQCQAAAAEAIQA8AAAQgfIAMIHyAAABACAzw/oAAAEAoAABAEAAAB/AQABBGogCAYU
+IAKY0AAEAkAgApigAAQCRAAAH58ABAJIAAAW+AAEAkwABAJQAAQCVAAEAlggAphwAAAcP///D/8A
+BAIAH/8XWAX14QDgAPAAAAQCBAAEAgj/D/8/AAII1aC17Y0+sMb3P/AAAAACYloABhqA/z///wAE
+AgwgC8YQAQAEQAAEAhB/P3f/AAQCFAcAAAAAAYafj/8ADwAEAUAABAFE4HD//wAEAUgABAFM8HD/
+/wAEAVAABAFUAAQBWAAEAVwABAFgAAQBZAAEAWgABAFsAAQBcBAQAAAABAF0AAQBeAAEAXwABAGA
+AAQBhNAABAAABAGIAAQBjAAEAzAABAM0AAQDOAAEAzygAAAAIAt8MAAEQEgABFLcIAt8gAAEUiQg
+ApM4AARABAAEQfwABEG8AARSBAAA4+4AABr/IAt8YCALfKB3NZQAAART/CAIByAf/wTgAACAIAAA
+GAAABHAwAAD6CgAEYMAAAIgAAARgxAAEQdgABEHcAARB1AAEU9gAAP/wAARwOAAEcAAAAP/+IAt8
+wAAEcAQgC30AAARgyAAAgCQABEAcAARSHAAAFywABFPUAARg5AAEYNAABFhoAARcaAAEcAgABHA0
+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
+pannkMBACfgP4qWr57DQQAn4D9jRDwAALLKhKaKGo8wJzBGsmWhhd2hifmlk5aWd59DIQA+gARAZ
+tGKpOSmQ7WhAN+JBkEANAAbZckOcY//CAAAAACyyoSmihqPMCcwRrJnkQZAgANgBBmhiHWhkJOIU
+8B/7uAskY/+YZZ9OY/+SpZjngNBACfgP6aWa56DAQAn4D9+lm+ewyEAJ+A/VAKWc58DQQA+gARCl
+nefQwEAPoAEQ0Q8AAAAAAAAAAAAAIAKZkAzAAAYgBwzoIAKZlAjAAAwgBwzoIAKZmDzAABAgBwww
+IAKZnAbAADggBw5QIAKZoAjAADwgBwzoIAKZpALAAEAgBw5QIAKZqAjAAEQgBwzoIAKZrAhAAEwg
+Bw14IAKZsAhAAFAgBw14IAKZtChAAFwgBw14IAKZuChAAHAgBw14IAKZvChAAIQgBw14IAKZwChA
+AJggBw14IAKZxChAAKwgBw14IAKZyChAAMAgBw14IAKZzChAANQgBw14IAKZ0ChAAOggBw14IAKZ
+1BBAAPwgBwtAIAKZ2BBAAQwgBwtAIAKZ3BBAARwgBwtAIAKZ4BBAASwgBwtAIAKZ5BBAATwgBwtA
+IAKZ6BBAAUwgBwtAIAKZ7BBAAVwgBwtAIAKZ8BBAAWwgBwtAIAKZ9AhAAXwgBw14IAKZ+AhAAYAg
+Bw14IAKZ/AhAAYQgBw14IAKaABBAAYggBw14IAKaBBBAAZAgBw14IAKaCAhAAZggBw14RkNvRSBE
+RFAgZmFpbGVkIDogb3hfaWQgMHgleCByeF9pZCAweCV4CgAAAAAAAAAARkNvRSBERFAgZmFpbGVk
+IDogRGRwUmVwb3J0IDB4JXggRGRwVmFsaWQgMHgleAoARkMgeGNoZyBhbGxvYyBmYWlsZWQ6IGF2
+YWlsICVkCgBGQ09FIEZyZWU6IHN0aWxsIHlpZWxkZWQgd2hlbiBmcmVlaW5nLi4uZmxvd2NfaWQg
+JXggZmxvd2NfZmxhZ3MgJXggCgAAAAAAAAAAAAAAAFBSTEkgUnNwIHRpbWVkb3V0IDogZmxvd2Nf
+aWQgMHgleCBveF9pZCAweCV4IHJ4X2lkIDB4JXggCgAAAAAAAABod19iY201NDgyX2NmZ21kaVsl
+dV0gc2V0dGluZyB0eXBlICV1CgAAAAAAAAAAAAByZW1vdmUgbXVsdGljYXN0IG1hYyBbJXg6JXg6
+JXg6JXg6JXg6JXhdIGZyb20gVENBTQoAAAAAAAAAAAAAAAAAaXB2Nl9qb2luX2dycDogaWQgJXUs
+IHJlZl9jbnQgJXUKAAAAAAAAAAAAAAAAAAAAZGhjcDZfdGltZXJfY2I6IHJlc2VuZGluZyBESENQ
+NlNPTElDSVQgYWdhaW4KAAAAZGhjcDZfdGltZXJfY2I6IHNlbmRpbmcgREhDUDZSRVFVRVNUCgAA
+AAAAAAAAAAAAZGhjcDZfdGltZXJfY2I6IHNlbmRpbmcgREhDUDZSRU5FVyByZXF1ZXN0CgAAAAAA
+ZGhjcDZfdGltZXJfY2I6IHNlbmRpbmcgREhDUDZSRUJJTkQgcmVxdWVzdAoAAAAAZGhjcDZfdGlt
+ZXJfY2I6IERIQ1A2UkVQTFkgcmN2ZCwgc3RhdGUgJXUKAAAAAAAAZmFpbGVkIHRvIHJlbmV3L3Jl
+YmluZCBkaGNwdjYgYWRkcmVzcwoAAAAAAAAAAAAAdHlwZSAleCwgeGlkICV4LCB0eXBlX3hpZCAl
+eAoAAABpcHY2X211bHRpY2FzdF9xdWVyeV90aW1lcl9jYiBub2RlX2lkICVkCgAAAAAAAABpcHY2
+X2dlbmVyYWxfcXVlcnlfdGltZXJfY2IKAAAAAGFkZCBtdWx0aWNhc3QgbWFjIFsleDoleDoleDol
+eDoleDoleF0gaW4gVENBTQoAAGNobmV0X2lwdjZfZGFkX2NiOiBoYW5kbGUgJXUsIGFkZHJfaWQg
+JXUsIGFkZHIgc3RhdGUgJXUKAAAAAAAAAABpcHY2IHByZWZlcnJlZCBhZGRyIFslMDR4ICUwNHgg
+JTA0eCAlMDR4XQoAAAAAAABTdGFydGluZyBhZGRyIHZhbGlkaXR5IHRpbWVyIGZvciAldSBzZWNv
+bmRzCgAAAABWYWxpZGl0eSBleHBpcmVkIGZvciBhZGRyX2lkICV1CgAAAAAAAAAAAAAAAAAAAABz
+ZW5kaW5nIGlwdjYgZWNobyByZXBseQoAAAAAAAAAAGNobmV0X2lwdjZfcnNfb3V0cHV0OiBsMmRl
+dl9mYyAweCV4CgAAAAAAAAAAAAAAAGNobmV0X2lwdjZfbnNfb3V0cHV0OiBsMmRldl9mYyAweCV4
+LCBmbG93Y19pZCAweCV4LCB2bGFuIGZsYWcgMHgleAoAAAAAAAAAAAAAAAAAY2huZXRfaXB2Nl9u
+YV9vdXRwdXQ6IGwyZGV2X2ZjIDB4JXgKAAAAAAAAAAAAAAAAY2huZXRfaXB2Nl9tbGR2Ml9yZXBv
+cnRfb3V0cHV0OiBsMmRldl9mYyAweCV4CgAAZ2F0aGVyX3Rhc2tzX3RvX3R4X2xpc3Q6IHRhc2sg
+aW4gdXNlIFsldV0KAAAAAAAAZ2F0aGVyX3Rhc2tzX3RvX3R4X2xpc3Q6IGlkeCBbJXVdLCB0YXNr
+IGZpZCBbMHgleF0sIHRhc2sgc3RhdGUgWzB4JXhdLCB0YXNrIGNvbm4gWzB4JXhdLCB0YXNrIGZm
+bGFncyBbMHgleF0sIGNvbm4gZmlkIFsweCV4XSwgZGRwIFslZF0KAAAAAAAAAAAAZ2F0aGVyX3Rh
+c2tzX3RvX3R4X2xpc3Q6IHRhc2sgWzB4JXhdLCBzdGF0ZSBbMHgleF0gb24gY29ubiBbMHgleF0g
+bm90IHZhbGlkIHRvIGdhdGhlciwgc2tpcHBpbmcKAAAAAAAAAAAAAAAAAAAAAGdhdGhlcl90YXNr
+c190b190eF9saXN0OiB0YXNrIFsweCV4XSwgc3RpbGwgcXVldWVkIG9uIHR4IHBlbmRpbmcgbGlz
+dC4gUmVtb3ZpbmcgaXQuCgAAAAAAAAAAAAAAAGdhdGhlcl90YXNrc190b190eF9saXN0OiBjb25u
+X2ZjLT5mbG93Y19mbGFncyBbMHgleF0sIGxpc3RfZW1wdHkgWzB4JXhdLCBhZGRfdGFza19jb3Vu
+dCBbMHgleF0KAHRvX3R4X2xpc3Q6IG5vIHRhc2sgdG8gY2xvc2UgZm9yIGNvbm4gWzB4JXhdLCBi
+YWlsaW5nIHRvIHJlY292ZXJ5IHN0YXRlIFsweCV4XQoAc2V0X2RpZ2VzdDogdXBsc3VibW9kZTol
+eAoAAAAAAABhdXRoZW50aWNhdGVfdGFyZ2V0OiBLRVlfQ0hBUF9SRVNQIC0gWzB4JXgleCV4JXgl
+eCV4JXgleF0KAAAAAAAAYXV0aGVudGljYXRlX3RhcmdldDogS0VZX0NIQVBfUkVTUCAtIFsweCV4
+JXgleCV4JXgleCV4JXhdCgAAAAAAAGF1dGhlbnRpY2F0ZV90YXJnZXQ6IEluY29ycmVjdCBwYXNz
+d29yZAoAAAAAAAAAAENIQVBfQzogZGlnZXN0IGV4cGFuc2lvbiBlcnJvcgoAQ0hBUF9OOiBUYXJn
+ZXQgdXNlcmlkIG1pc21hdGNoCgBDSEFQX1I6IGRpZ2VzdCBleHBhbnNpb24gZXJyb3IKAGlTQ1NJ
+IFNlYy1wYXJhbXMgcmVjZWl2ZWQgaGF2ZSBlcnJvcnMhIQoAAAAAAAAAAFRhcmdldCBtb3ZlZCB0
+ZW1wLiBjb25uICV4LCBzZXNzICV4CgAAAAAAAAAAAAAAAExvZ2luIEZhaWxlZCEhLiBjb25uX2Zj
+IFsweCV4XSwgc2Vzc19mYyBbMHgleF0sIHN0YXR1c19jbGFzcyBbMHgleF0KAAAAAAAAAAAAAAAA
+UHJvdG9jb2wgRXJyb3IgY2JpdCAlZCB0Yml0ICVkIGNzZyAlZCBuc2cgJWQKAAAAcmVjdl9ub3Bp
+bjogY3RybCB0YXNrIGFscmVhZHkgcGVuZGluZwoAAAAAAAAAAAAAb2ZsZF9yeF9kYXRhOiBhaWVl
+LCBpc2NzaSBjb25uIFsweCV4XSBmb3Igc2VzcyBbMHgleF0sIHR5cGUgWzB4JXhdIHRyYW5zaXRl
+ZCBpbiB0b2UgbW9kZS4gS2lja2luZyByZWNvdmVyeSAKAAAAAG9mbGRfcnhfZGF0YTogY29ubiB0
+aWQgWzB4JXhdLCByeF9kYXRhLT5zZXEgWzB4JXhdLCByeF9kYXRhLT5sZW4gWzB4JXhdLCByeF9k
+YXRhLT5zdGF0dXMgWzB4JXhdCgAAAAAAAAAAAAAAAAAAAABvZmxkX3J4X2RhdGE6IGNzayB7IGlk
+IFsweCV4XSwgY3NvY2tfb2Zmc2V0IFsweCV4XSwgZGxlbiBbMHgleF0gfQoAAAAAAAAAAAAAAAAA
+AGFjdF9lc3Q6IHRjYl9mYyBbMHgleF0sIGZsb3djX2ljb25uX2ZsYWdzIFsweCV4XQoAAAAAAAAA
+AAAAAAAAAABhY3RfZXN0YWI6IHRjYl9mYy0+Zmxvd2NfYnVmIFsweCV4XSwgdGNiX2ZjLT5mbG93
+Y190eXBlIFsweCV4XSB0Y2JfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwgbnBhZ2VzIFsweCV4XSwg
+Zmxvd2NfdHBfc25kX21heCBbMHgleF0KAAAAAAAAAAAAAAAAAABhY3RfZXN0YWI6IGF0aWQgWzB4
+JXhdLCB0aWQgWzB4JXhdLCBvcCBbMHgleF0sIHJjdl9pc24gWzB4JXhdLCBzbmRfaXNuIFsweCV4
+XSwgY3NvY2stPmZsb3djX3N0YXRlIFsweCV4XSwgdGNwX29wdCBbMHgleF0sIHRjYl9mYy0+Zmxv
+d2NfaWQgWzB4JXhdIAoAAAAAAAAAAAAAAAAAY3NrX2ZjLT5mbG93Y19jc29ja19jb29raWUgWzB4
+JXhdIAoAAAAAAAAAAAAAAAAAbmV0X2wyZGV2X2ZpbmRfYnlfYWRkcjY6IGwyZGV2X2ZjLT5mbG93
+Y19pZCBbMHgleF0sIGwyZGMtPmxwb3J0IFsldV0sIGwyZF9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBh
+ZGRyIFslMDR4OiUwNHg6JTA0eDolMDR4XQoAAAAAAABjaG5ldF9xdWV1ZV94bWl0OiBmYy0+Zmxv
+d2NfaWQgWzB4JXhdLCBidWZfbGVuIFsweCV4XSwgYnVmZmVyZWQgWzB4JXhdLCBmaWZvLm51bV9i
+eXRlcyBbJTB4XQoAAABuZXRpZl9kb19kaGNwdjY6IHdyLT5wYXJhbS52bGFuaWQgWyV1XSwgbDJk
+ZXZfZmMtPmZsb3djX25ldF9sMmRldl92bGFuZGV2IFsweCV4XQoAAAAAAAAAAAAAAAAAAABuZXRp
+Zl9kb19kaGNwdjY6IGlwdjYgbm90IGVuYWJsZWQKAAAAAAAAAAAAAAAAAABkaGNwIHJlc3AgdG8g
+ZHJpdmVyCgAAAAAAAAAAAAAAAG5ldGlmX2RvX2RoY3A6IHdyLT5wYXJhbS52bGFuaWQgWyV1XSwg
+bDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl92bGFuZGV2IFsweCV4XQoAU1RPUCBsZWFzZSB0aW1l
+cjogJWQgCgAAAAAAAAAAAABsM2luNl9kZXZfY29uZmlnOiB3ci0+cGFyYW0udmxhbmlkIFsldV0s
+IGwyZGV2X2ZjLT5mbG93Y19uZXRfbDJkZXZfdmxhbmRldiBbMHgleF0KAAAAAAAAAAAAAAAAAABs
+M2luNl9kZXZfY29uZmlnOiBpcHY2IG5vdCBlbmFibGVkCgAAAAAAAAAAAAAAAABuZXRfbDNpbjZf
+ZGV2X2NvbmZpZzogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgYWRkcmVzcyBhbHJlYWR5IHVz
+ZWQgYnkgcG9ydCAlZCwgYWRkcl9pZCAlZAoAAABuZXRfbDNpbjZfZGV2X2NvbmZpZzogIGFkZHIg
+WzB4JTA0eCUwNHglMDR4JTA0eF0sIHJlZl9jbnQgWzB4JXhdIGluIHVzZQoAAAAAAAAAAGwzaW40
+X2Rldl9jb25maWc6IHdyLT5wYXJhbS52bGFuaWQgWyV1XSwgbDJkZXZfZmMtPmZsb3djX25ldF9s
+MmRldl92bGFuZGV2IFsweCV4XQoAAAAAAAAAAAAAAAAAAENMRUFSIElQIFNUT1AgbGVhc2UgdGlt
+ZXI6ICVkIAoAbmV0X2wzaW40X2Rldl9jb25maWc6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0s
+IGFkZHJlc3MgYWxyZWFkeSB1c2VkIGJ5IHBvcnQgJWQKAAAAAAAAAAAAAAAAAAAAbmV0X2wzaW40
+X2Rldl9jb25maWc6ICBhZGRyIFsweCV4XSwgbWFzayBbMHgleF0sIGd3IFsweCV4XSwgcmVmX2Nu
+dCBbMHgleF0gaW4gdXNlCgAAAAAAAAAAAAAAAAAAbDJkZXZfZmMgWzB4JXggXSBGYWlsZWQgdG8g
+c3RhcnQgdGltZXIgZm9yIGlwdjQgZGFkCgAAAAAAAAAAAAAAAHdyaF9jaG5ldF9pZmNvbmY6IGwy
+ZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIGwyZGV2X2ZjLT5mbG93Y190eXBlIFslMHhdLCBpZmNv
+bmZfd3ItPnN1Ym9wIFsweCV4XQoAAAAAAAAAAAAAAAAAAAB3cmhfY2huZXRfaWZjb25mOiBsMmRl
+dl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCB1bmtub3duIHN1Ym9wIFsweCV4XQoAAAAAAAAAAAAAAAAA
+AHdyaF9jaG5ldF9pZmNvbmY6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIHJjICVkCgAAAAAA
+AAAAAAAAAABuZXRpZl9pcF9jb25mbGljdF90aW1lcl9jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsw
+eCV4XSwgZXhwZWN0aW5nIHRpbWVyIGhhbmRsZSBbJWRdLCBidXQgZ290IGhhbmRsZSBbJWRdIGV4
+cGlyeQoAbmV0aWZfaXBfY29uZmxpY3RfdGltZXJfY2I6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgl
+eF0sIGluZGV2Y3R4dC0+c3RhdGUgWyVkXSwgaW5kZXZjdHh0LT5yZXRyeV9jbnQgWyVkXQoAAAAA
+AAAAAG5ldGlmX2lwX2NvbmZsaWN0X3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhd
+LCBpbmRldmN0eHQgWzB4JXhdLCBpbiBmcmVlIHN0YXRlCgAAAAAAAAAAAGNtZGhfY2huZXRfaWZh
+Y2U6IGZjIFsweCV4XSwgZmMtPmZsb3djX2lkIFsweCV4XSwgZmMtPmZsb3djX3R5cGUgWzB4JXhd
+LCBwIFsweCV4XSwgbGVuMTYgWyV1XSwgbG9jIFsweCV4XQoAAAAAAABjbWRoX2NobmV0X2lmYWNl
+OmwyZGV2X2ZjIFsweCV4XSwgbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgbDJkZXYtPmZsb3dj
+X3R5cGUgWyV1XSwgbDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl9mbGFncyBbJTB4XQoAAAAAAGNt
+ZGhfY2huZXRfaWZhY2U6IHIyWzBdOiV1IHIyWzFdOiV1LCBzdWJvcDoweCV4CgAAAAAAAAAAAAAA
+AAAAAABjbWRoX2NobmV0X2lmYWNlOiBsMmRldl9mYy0+Zmxvd2NfbmV0X2wyZGV2X2ZsYWdzIGNo
+YW5nZWQgZnJvbSBbJTB4XSB0byBbJTB4XSwgcmMgWyVkXQoAAAAAAAAAAABjaG5ldF9sMmRldl91
+cF9tYl9jYjogcmMgWyVkXSwgcG9ydCBbJXVdLCBzdGF0ZSBbJXVdLCBjb29raWUgWzB4JXhdCgAA
+AAAAAAAAAAAAAGRoY3BfcHJvY2Vzc19jYjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgZGhj
+dHh0LT5zdGF0ZSBbJTB4XSwgZGhjdHh0LT5ydHJ5X2NudCBbJXVdCgAAAAAAAAAAAGRoY3BfdGlt
+ZXJfY2I6IERIQ1BESVNDT1ZFUiBzZW50LCBidXQgbm8gcmVwbHkgZnJvbSBhbnkgcG9zc2libGUg
+c2VydmVyIG9uIHRoZSBuZXR3b3JrLiBSZXRyeWluZyBhZ2FpbgoAAAAAAAAAAABkaGNwX3RpbWVy
+X2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBzZW5kaW5nIERIQ1BESVNDT1ZFUiBmb3Ig
+ZGhjdHh0IFsweCV4XSBvbiBwaWQgWyVkXQoAAABkaGNwX3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxv
+d2NfaWQgWzB4JXhdLCBESENQT0ZGRVIgcmVjZWl2ZWQgZm9yIGRoY3R4dCBbJXhdIHBpZCBbJWRd
+CgAAAAAAAAAAAABkaGNwX3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCAgREhD
+UEFDSyByZWNlaXZlZCBmb3IgZGhjdHh0IFsleF0sIHBpZCBbJWRdCgAAAAAAAAAAAABkaGNwX3Rp
+bWVyX2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBkaGN0eHQtPmlwYWRkciBbMHgleF0K
+AAAAAAAAAAAAAAAAAAAAAGRoY3BfdGltZXJfY2I6IHN0YXJ0aW5nIHRpbWVyIGZvciBsZWFzZSBb
+JXVdIHNlY29uZHMKAAAAAAAAAAAAAABkaGNwX3RpbWVyX2NiOiBsZWFzZSB0aW1lIG9mIFsldV0g
+c2Vjb25kcyBleHBpcmVkLCBzZW5kaW5nIHJlbmV3IHJlcXVlc3QKAAAAAAAAAGRoY3BfdGltZXJf
+Y2I6IG5vIHJlcGx5IGZvciBkaGNwIHJlcSwgcmV0cnlpbmcgYWdhaW4KAAAAAAAAAAAAAABkaGNw
+X3RpbWVyX2NiOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBubyByZXBseSBmcm9tIGRoY3Ag
+c2VydmVyLCB0aW1pbmcgb3V0CgAAAAAAAAAAAAAAAAAAAABhdXRoX25lZ29fc2VjdXJpdHk6IHNl
+bmRfZmxhZyBbMHgleF0sIGF1dGhfcG9saWN5IFsweCV4XQoAAAAAAAAAYXV0aF9uZWdvX3NlY3Vy
+aXR5OiBLRVlfQ0hBUF9SRVNQIC0gaGFzaFsweCV4JXgleCV4JXgleCV4JXhdCgAAAGF1dGhfbmVn
+b19zZWN1cml0eTogS0VZX0NIQVBfUkVTUCAtIGhhc2hbMHgleCV4JXgleCV4JXgleCV4XQoAAABh
+dXRoX25lZ29fc2VjdXJpdHk6IEtFWV9DSEFQX1JFU1AgLSBlcnJvciBlbmNvZGluZyB0byBoZXgK
+AAAAAAAAYXV0aF9uZWdvX3NlY3VyaXR5OiBLRVlfQ0hBUF9SRVNQIC0gZWxlbiBbMHgleF0KAAAA
+AAAAAAAAAAAAAAAAAGF1dGhfbmVnb19zZWN1cml0eTogS0VZX0NIQVBfQ0hBTCAtIGVycm9yIGVu
+Y29kaW5nIHRvIGhleAoAAAAAAABhdXRoX25lZ29fc2VjdXJpdHk6IEtFWV9DSEFQX0NIQUwgLSBl
+bGVuIFsweCV4XQoAAAAAAAAAAAAAAAAAAAAAbG9nb3V0X3RpbWVkb3V0OiBsb2dvdXQgcmVxdWVz
+dCB0aW1lZG91dCwgcG9zc2libGUgbmV0d29yayBpc3N1ZXMuIEZvcmNlZnVsbHkgYnJlYWtpbmcg
+cGF0aCBmb3Igc2VzcyBbMHgleF0KAAAAAHBpbmdfdGFyZ2V0OiBwaW5nIHRpbWVvdXQsIGtpY2tp
+bmcgcmVjb3ZlcnkgZm9yIHNlc3MgWzB4JXhdCgAAAABjc29ja19mYWlsZWQ6IGNza19mYy0+Zmxv
+d2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwgc2Vzc19mYy0+Zmxvd2Nf
+aWQgWzB4JXhdLCBzZXNzX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIGV2dCBbMHgleF0KAAAAAAAA
+AAAAAABjaG5ldF9maW5kX2lwNl9sMnRfZW50cnk6IGZpbmQgcHJlZml4IG1hdGNoIFslMDR4ICUw
+NHggJTA0eCAlMDR4XQoAAAAAAAAAAAAAAAAAAE5vIHJvdXRlciBjb25maWd1cmVkLCBsMmRldl9m
+Yy0+Zmxvd2NfaWQgMHgleAoAAApSb3V0ZXIgbGlmZSAldSBleHBpcmVkLiBkZWxldGluZyByb3V0
+ZXIgWyUwNHggJTA0eCAlMDR4ICUwNHhdCgBVc2luZyByb3V0ZXIgWyUwNHggJTA0eCAlMDR4ICUw
+NHhdIHRvIHJlYWNoIFslMDR4ICUwNHggJTA0eCAlMDR4XQoAAAAAAAAAAAAAAAAAAGwydGVudCBb
+JTB4XSwgbDJ0ZW50LT5pZHggWyVkXQoAcmMgWyVkXSwgY3NrX2ZjIFsweCV4XSwgY3NrX2ZjLT5m
+bG93Y19pZCBbMHgleF0KAAAAAAAAAAAAAAAAAAAAAGNzb2NrX2FsbG9jOiBzcmNfYWRkcjoweCV4
+LCBkc3RfYWRkcjoweCV4CgAAAAAAAGNvbm5lY3Rpb24gb3ZlciBpcHY2LCBsMmRldiBmbG93Y19p
+ZCAweCV4CgAAAAAAAGNza19hbGs6IEludmFsaWQgbDJkZXY6MHgleAoAAAAAY3NrX2FsazogbmV4
+dDoldSwgaWR4OiV1LCB1c2VkOiV1LCBzcG9ydDoldQoAAAAAY3NvY2tfYWxsb2M6IGNzb2NrX3Ny
+Y19hZGRyOjB4JXgsIGNzb2NrX2RzdF9hZGRyOjB4JXgKAAAAAAAAAAAAAGNzb2NrX2FsbG9jOiB0
+eF9jaCBbMHgleF0sIGxwb3J0IFsweCV4XSwgY29va2llIFslMDh4XQoAAAAAAAAAAABjc29ja19h
+bGxvYzogYXZhaWxhYmxlIFsldV0sIG5jc29jayBbJXVdLCBwb3M6YXRpZCBbMHgleF0sIGNza19m
+YyBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBzcG9ydCBbJXVdCgAAcmVjb3Zlcnlf
+dGltZW91dDogc2VzcyBpZCBbMHgleF0gc3RhdGUgWzB4JXhdLCByY291bnQgWyVkXSwgZmxhZ3Mg
+WzB4JXhdCgAAAAAAAAByZWNvdmVyeV90aW1lb3V0OiBzZXNzIGlkIFsweCV4XSBpbiBsb2dvdXQs
+IGFib3J0IHRoZSBjb25uZWN0aW9uCgAAAAAAAAAAAAAAAAAAAHJlY292ZXJ5X3RpbWVvdXQ6IHNl
+c3NfZmMtPmZsb3djX2ZvaXNjc2lfc2Vzc19mbGFncyBbMHgleF0sIGNvbm5lY3Rpb24gcmVxdWVz
+dCBwZW5kaW5nLCBiYWlsaW5nIG91dAoAAAAAAAAAAAAAAABmb2lzY3NpOiBSZWNvdmVyeSB0aW1l
+ZCBvdXQgYWZ0ZXIgWyV1XSByZXRyeSwgYmFpbGluZyBvdXQKAAAAAAAAVENQIGNvbm4gZXN0YWJs
+aXNobWVudCBmYWlsZWQgJWQKAAAAAAAAAAAAAAAAAAAAZGlzY292ZXJ5X2RhdGE6IHNlc3MgeyBp
+ZCBbMHgleF0sIGZsYWdzIFsweCV4XSwgYnVmZmVyZWQgWyV1XS4gfQoAAAAAAAAAAAAAAAAAAABk
+aXNjb3ZlcnlfZGF0YTogc2VzcyB7IGlkIFsweCV4XSB9LCB1bHB0eGNoIFsldV0gbm8gY3JlZGl0
+cyBhdmFpbGFibGUsIHJlc2NoZWR1bGluZyByZXF1ZXN0LgoAAABERFAgZXJyb3IgWzB4JXhdLCBh
+Ym9ydGluZyBjb25ubiBbMHgleF0KAAAAAAAAAAByeF9kYXRhX2RkcDogUmVzcG9uY2UgcmVjaWV2
+ZWQgZm9yIHRhc2sgWzB4JXhdIHdoaWxlIGludmFsaWQgdGFzayBvciBjb25uZWN0aW9uIHN0YXRl
+LiB0YXNrIHN0YXRlIFsweCV4XSwgY29ubiBzdGF0ZSBbMHgleF0sIGNvbm4gZmxhZ3MgWzB4JXhd
+CgBpaGRyOiBSZXNwb25jZSByZWNpZXZlZCBmb3IgdGFzayBbMHgleF0gd2hpbGUgaW52YWxpZCB0
+YXNrIG9yIGNvbm5lY3Rpb24gc3RhdGUuIHRhc2sgc3RhdGUgWzB4JXhdLCBjb25uIHN0YXRlIFsw
+eCV4XSwgY29ubiBmbGFncyBbMHgleF0KAAAAAAAAAABpaGRyOiBJbnZhbGlkIHRhc2sgc3RhdGUg
+MHgleCBmb3IgdGFzayAweCV4LCBpdHQgWzB4JXhdLCBvcGMgWzB4JXhdCgAAAAAAAAAAAAAAAElu
+dmFsaWQgb3Bjb2RlIDB4JXggaW4gY3RybCBwYXRoCgAAAAAAAAAAAAAAAAAAAEREUCBlcnJvciBb
+MHgleF0sIGFib3J0aW5nIGNvbm5uIFsweCV4XQoAAAAAAAAAAGlzY3NpX2NtcDogb3BjOjB4JXgs
+IGluIGRhdGEgcGF0aAoAAAAAAAAAAAAAAAAAAGlzY3NpX2NtcDogUmVzcG9uY2UgcmVjaWV2ZWQg
+Zm9yIHRhc2sgWzB4JXhdIHdoaWxlIGludmFsaWQgdGFzayBvciBjb25uZWN0aW9uIHN0YXRlLiB0
+YXNrIHN0YXRlIFsweCV4XSwgY29ubiBzdGF0ZSBbMHgleF0sIGNvbm4gZmxhZ3MgWzB4JXhdCgAA
+AGlzY3NpX2NtcDogSW52YWxpZCB0YXNrIHN0YXRlIDB4JXggZm9yIHRhc2sgMHgleCwgaXR0IFsw
+eCV4XSwgb3BjIFsweCV4XQoAAAAAAAAAaXNjc2lfY21wOiBvcGM6MHgleCwgaW4gY3RybCBwYXRo
+CgAAAAAAAAAAAAAAAAAAaWRhdGE6IHRpZDoweCV4LCBvcDoweCV4LCBsZW46MHgleCwgc2VxOjB4
+JXgsIHN0YXR1czoweCV4LgoAAAAAAHByb2Nlc3NfdG1mX3Jlc3BvbnNlOiBidWZmZXJlZCBbMHgl
+eF0sIGlzdGFza19mYy0+Zmxvd2NfYnVmLT5zY2hlZF9ub2RlLm5leHQgWzB4JXhdLCBpc3Rhc2tf
+ZmMgWzB4JXhdLCBpc3Rhc2tfZmMtPmZsb3djX2lkIFsweCV4XQoAAAAAAAAAAAAAAAAAAHByb2Nl
+c3NfdG1mX3Jlc3BvbnNlOiB3ciBvcCBbMHgleF0sIHRtZiBvcCBbMHgleF0KAAAAAAAAAAAAAAAA
+AAB0bWZfcmVzcDogZmxvd2M6MHgleCwgaWQ6MHgleCwgc3RhdGU6MHgleCwgeWllbGQ6MHgleAoA
+AAAAAAAAAAAAdG1mX3Jlc3A6IHRfdGFzazoweCV4IGZyZWVkLgoAAABzY3NpX2NtZF9yZXNwOiBm
+bG93YzoweCV4LCBpZDoweCV4LCBzdGF0ZToweCV4LCB5aWVsZDoweCV4CgAAAAAAZGF0YV9pbl9y
+ZXNwOiBmbG93YzoweCV4LCBpZDoweCV4LCBzdGF0ZToweCV4LCB5aWVsZDoweCV4CgAAAAAAAHJl
+dHVybl9wZW5kaW5nX3Rhc2s6IGNvb2tpZSBbMHglMDh4XSwgWzB4JTA4eF0KAHJldHVybl9wZW5k
+aW5nX3Rhc2s6IGRlbGF5IHByb2Nlc3NpbmcsIGNvbm4gZmxhZ3MgWzB4JXhdCgAAAAAAAAByZXR1
+cm5fcGVuZGluZ190YXNrOiBEb25lIHNlbmRpbmcgdGFzayBlcnJvciB0byBob3N0LCB1bHB0eGxl
+bjE2IFsldV0KAAAAAAAAAAAAAHJldHVybl9wZW5kaW5nX3Rhc2s6IGRlcXVldWUgdGFzayBbMHgl
+eF0sIHN0YXRlIFsweCV4XSBmcm9tIHR4X2xpc3QKAAAAAAAAAAAAAAAAcmV0dXJuX3BlbmRpbmdf
+dGFzazogYWxsIHRhc2tzIHJldHVybmVkLCByZWNvdmVyeSBzdGF0ZSB0cmFucyB0byBbMHgleF0K
+AAAAAAAAAABjbGVhcl9kZHBfbWFwOiBpc3Rhc2tfZmMgWzB4JXhdLCBpc3Rhc2tfZmMtPmZsb3dj
+X2lkIFsweCV4XSBidWZmZXJlZCAldQoAAAAAAAAAAGNsZWFyX2RkcF9tYXA6IGlzdGFza19mYy0+
+Zmxvd2NfaXRhc2tfbnBwb2QgJXUsIG5wcG9kICV1LCBwcGRhZGRyIFsweCV4XQoAAAAAAAAAY2xl
+YXJfZGRwX21hcDogYWxsIHJldHVybmVkIHRhc2tzIGRkcCBjbGVhcmVkLCByZWNvdmVyeSBzdGF0
+ZSB0cmFucyB0byBbMHgleF0KAAB3cmhfZm9pc2NzaV9ub2RlOiBub2RlX3dyLT5mbG93aWRfbGVu
+MTYgMiBbJXhdCgB3cmhfZm9pc2NzaV9jaGFwOiBpZF9sZW4gWyV4XSwgc2VjX2xlbiBbJXhdCgAA
+AAB3cmhfZm9pc2NzaV9jaGFwOiB0Z3RfaWRfbGVuIFsleF0sIHRndF9zZWNfbGVuIFsleF0KAAAA
+AAAAAAAAAAAAc2Vzc2lvbl9ibG9jazogc2Vzc19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBzZXNzX2Zj
+LT5mbG93Y19zdGF0ZSBbMHgleF0sIGNvbm5fZmMtPmZsb3djX2lkIFsweCV4XSwgY29ubl9mYy0+
+Zmxvd2Nfc3RhdGUgWzB4JXhdLCBjc2tfZmMtPmZsb3djX2lkIFsweCV4XSwgY3NrX2ZjLT5mbG93
+Y19zdGF0ZSBbMHgleF0KAAAAAAAAAAAAAAAAAAAAc2Vzc2lvbl91bmJsb2NrOiBzZXNzX2ZjLT5m
+bG93Y19pZCBbMHgleF0sIHNlc3NfZmMtPmZsb3djX3N0YXRlIFsweCV4XSwgY29ubl9mYy0+Zmxv
+d2NfaWQgWzB4JXhdLCBjb25uX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIGNza19mYy0+Zmxvd2Nf
+aWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRlIFsweCV4XQoAAAAAAAAAAAAAAAAAc3RhcnRf
+bG9nb3V0OiBTZXNzLWlkIFsweCV4XSBhbHJlYWR5IGxvZ2dpbiBvdXQuCgAAAAAAAAAAAAAAAAAA
+AHBlZXJfY29uOiBjc2tfZmMgPT4gZmxvd2lkIFsweCV4XSwgZmxvd2NfYnVmIFsweCV4XQoAAAAA
+AAAAAAAAAABhbGxvY19zZXNzOiBsb2dpbl9yZXRyeSBbJWRdLCByZWNvdl90aW1lb3V0IFslZF0K
+AAAAAAAAAAAAAAAAAAAAZm9pc2NzaV9jdHJsOiBzdWJvcCBbMHgleF0sIHNlc3NfdHlwZV90b19l
+cmwgWzB4JXhdLCBzZXNzX3R5cGUgWzB4JXhdCgAAAAAAAAAAAABmb2lzY3NpX2N0cmw6IHJlY2Vp
+dmVkIGJsb2NrZWQgZnJvbSBkcml2ZXIsIHRyaWdnZXJpbmcgcmV0dXJuIHRhc2tzIG5vdy4KAAAA
+AAAAAFdBVENIRE9HX2Rpc3BhdGNoIGNhc2UgdG8gYXZvaWQ6IENvdW50ZXJfd2F0Y2hkb2cgJXUg
+Q291bnRlcl9zY2hlZCAldSAKAAAAAAAAAAAAV0FUQ0hET0c6IGRldmljZSBzaHV0ZG93bgoAAAAA
+AABXQVRDSERPRzogcG9ydFsldV0gcGF1c2Ugd2F0Y2hkb2cgdGltZW91dAoAAAAAAABXQVRDSERP
+RzogYnlwYXNzIHRpbWVvdXQKAAAAAAAAAFdBVENIRE9HOiBGTFIgLSBub3QgaW1wbGVtZW50ZWQg
+eWV0CgAAAAAAAAAAAAAAAFdBVENIRE9HOiB0ZW1wZXJhdHVyZSBvZiAlZEMgZXhjZWVkcyB0aHJl
+c2hvbGQgb2YgJWRDCgAAAAAAAAAAAABmaWx0ZXI6IHBvcmdyYW1taW5nIHRpZCAldSAobGUgdGNh
+bSBpbmRleCAldSkuLi4KAAAAAAAAAAAAAAAAAAAAZmlsdGVyOiByZXF1ZXN0aW5nIGNvbXBsZXRp
+b24uLi4KAAAAAAAAAAAAAAAAAAAAY2huZXRfaXB2Nl9saW5rX2NoYW5nZV9ub3RpZnk6IGwyZGV2
+X2ZjIFsweCV4XSwgc3RhdHVzICV1CgAAAAAAAGwyZGV2X3NlbmRfcG9ydF9ldmVudDogd3IgWzB4
+JXhdIHBlbmRpbmcgb24gcG9ydCBbJWRdLCBjdXJyZW50IHRyeSBbJWRdCgAAAAAAAAAAaHdfY2lt
+X3RzY2hfY2hfY2xfcmF0ZV9tYXhfcmVzb2x1dGlvblsldS8ldV06IGNhcHBlZCBkZWZpY2l0X2lu
+Y3IgZnJvbSByZXF1aXJlZCAldSB0byAldTsgcmF0ZSAldSAoZWZmICV1KSBkZWZpY2l0X21heCAl
+dQoAAAAAAABDYW5ub3QgZ2V0IGNsYXNzIFsldS8ldV0gcmF0ZS9wZXJjZW50ICV1LyV1IHdpdGgg
+Y29uZmlndXJlZCBncmFudWxhcml0aWVzLiBDaGVjayBjb25maWcgZmlsZQoAAABkY2J4X2llZWVf
+Y21kaFsldV0gd3JpdGUgb25seSBwZXJtaXR0ZWQgb24gbG9jYWwgY29uZgoAAAAAAAAAAAAAZGNi
+eF9pZWVlX2NtZGhbJXVdIGNhbm5vdCB3cml0ZSAldSBhcHBzIChNQVg6ICV1KQoAAAAAAAAAAAAA
+AAAAAGRjYnhfaWVlZV9jbWRoWyV1XSByZXF1ZXN0aW5nIERDQl9JRUVFX0NNRAoAAAAAAGRjYnhf
+aWVlZV9jbWRoWyV1XSB1bmtub3duIGZlYXR1cmUgd3JpdGU6ICV1CgAAAGRjYnhfaWVlZV9jbWRo
+WyV1XSB1bmtub3duIGZlYXR1cmUgcmVhZDogJXUKAAAAAGNhbm5vdCBhbGxvY2F0ZSBvZmZsb2Fk
+ZWQgZmlsdGVyIGNvbm5lY3Rpb24KAAAAAGNhbm5vdCBhbGxvY2F0ZSBvZmZsb2FkZWQgZmlsdGVy
+IElQdjYgY29ubmVjdGlvbgoAAAAAAAAAAAAAAAAAAABkaXNwYXRjaF9kZWZlcnJlZF9jbGFzc19j
+bGFzc19zaGFwaW5nWyV1OiV1XTogbGlzdF9lbXB0eQoAAAAAAAAAbG9vcGJhY2sgYnVmZmVyIGdy
+b3VwWyV1XSBpcyBkaXNhYmxlZAoAAAAAAAAAAAAAaW52YWxpZCBidWZmZXIgZ3JvdXBbJXVdIGNv
+bmZpZ3VyYXRpb246IG10dSAldSBsd20gJXUgaHdtICV1IGR3bSAldQoAAAAAAAAAAAAAAABmYyAl
+dSB2ZiAldSBnb3QgaXZmPTB4JXgscmFuZ2U6ICUjeC0lI3ggKCV1LyV1IHVzZWQpCgAAAAAAAAAA
+AAAAVkkgJXUgY2Fubm90IGdldCBSU1Mgc2xpY2U6IE5vIG1vcmUgc2xpY2VzIGF2YWlsYWJsZSAo
+dXNlZCAldS8ldSkKAAAAAAAAAAAAAAAAAABwZm4gJXUgdmZuICV1IHdpdGggcG9ydCBtYXNrIDB4
+JXggY2Fubm90IGFjY2VzcyBwb3J0ICV1LCByZXQgJWQKAAAAAAAAAAAAAAAAAAAAAHBmbiAldSB2
+Zm4gJXUgY291bGQgbm90IGFsbG9jYXRlIHZpaWQsIHJldCAlZAoAAHBmbiAldSB2Zm4gJXUgY291
+bGQgbWFwIHZpaWQgIDB4JXggdG8gZmxvd2MsIHJldCAlZAoAAAAAAAAAAAAAAABwZm4gJXUgdmZu
+ICV1IGNvdWxkIG5vdCBhbGxvY2F0ZSB1d2lyZSBmdW5jICVkIG1hYyBhZGRyLCByZXQgJWQKAAAA
+AAAAAAAAAAAAAAAAAG1paV9pbml0WyV1XTogYWNhcHMgMHgleAoAAAAAAAAAbWlpX2ZvcmNlX3Nw
+ZWVkWyV1XTogcmNhcHMgMHgleAoAAAAAAAAAAAAAAAAAAAAAbWlpX3Bkb3duWyV1XTogcG93ZXJk
+b3duIGVuICV1CgBwb3J0X2NtZF9oYW5kbGVyOiB1bmtub3duIHUuZGNiLnR5cGUgMHgleAoAAAAA
+AABwb3J0WyV1OjB4JTAyeDoweCUwMnhdOiBsMWNmZywgaW52YWxpZCByZXF1ZXN0LCBwY2FwcyAw
+eCV4IGFjYXBzIDB4JXggbWNhcHMgMHgleCwgcmNhcHMgMHgleAoAAABSZXR1cm5pbmcgc3VjY2Vz
+cyBhcyB0aGUgbGluayBzdGF0dXMgdXBkYXRlIGlzIHBlbmRpbmcKAAAAAAAAAAAAcG9ydFsldTow
+eCUwMng6MHglMDJ4XTogbDFjZmcsIHBjYXBzICUjeCBhY2FwcyAlI3ggcmNhcHMgJSN4IG1jYXBz
+ICUjeAoAAAAAAAAAAABwb3J0WyV1OjB4JTAyeDoweCUwMnhdOiBsMWNmZywgbWRpIGlzc3VlIHBj
+YXBzIDB4JXggYWNhcHMgMHgleCByY2FwcyAweCV4CgAAAAAAAHBvcnRbJXU6MHglMDJ4OjB4JTAy
+eF06IGwxY2ZnLCBjYW5ub3QgZm9yY2Ugbm8vbXVsdGlwbGUgc3BlZWQocyksIHBjYXBzIDB4JXgg
+YWNhcHMgMHgleCByY2FwcyAweCV4CgAAAAAAAAAAAAAAAABwb3J0WyV1OjB4JTAyeDoweCUwMnhd
+OiBsMWNmZywgY2Fubm90IGZvcmNlIG11bHRpcGxlIGZlYyhzKSwgcGNhcHMgMHgleCBhY2FwcyAw
+eCV4IHJjYXBzIDB4JXgKAABwb3J0WyV1OjB4JTAyeDoweCUwMnhdOiB1bmtub3duIGFjdGlvbiAw
+eCV4CgAAAABwb3J0WyV1OjB4JTAyeDoweCUwMnhdOiB1bmtub3duIHJlYWQgYWN0aW9uIDB4JXgK
+AAAAAAAAAAAAAAAAAAAAY3BsX2Vycl9ub3RpZnk6IHRpZCAldSBjcGwgMHglMDh4JTA4eAoAAAAA
+AAAAAAAAY3BsX2Vycl9ub3RpZnk6IHRpZCAldSBjcGwgMHglMDh4JTA4eCAweCUwOHglMDh4CgAA
+AAAAAAAAAAAAAAAAAGNwbF9lcnJfbm90aWZ5OiB0aWQgJXUgbGVuICV1CgAARkNPRSBGcmVlOiBz
+dGlsbCB5aWVsZGVkIHdoZW4gZnJlZWluZy4uLmZsb3djX2lkICV4IGZsb3djX2ZsYWdzICV4IAoA
+AAAAAAAAAAAAAABGQ09FIEJQIFdSIEVSUjogV1Igd2l0aCBjb29raWUgJXgleCBlcnJvcmVkIGJh
+Y2sgCgAAAAAAAAAAAAAAAAAAc2NzaV9hYm9ydDogRW50ZXJpbmcgQWJvcnRfdGFzaywgYnVmZmVy
+ZWQgWyV1XQoAc2NzaV9hYm9ydDogcmMgWzB4JXhdIHJlZiB0YXNrIG5vdCBvdXRzdGFuZGluZwoA
+c2NzaV9hYm9ydDogaWRhdGEtPm9wIFsweCV4XSwgZmxhZ3MgWzB4JXhdLCBmdW5jIFsweCV4XSwg
+bHVuX2lkeCBbMHgleF0KAAAAAAAAAABzY3NpX2Fib3J0OiB3ci0+aXFpZCBbMHgleF0sIGlzdGFz
+a19mYy0+Zmxvd2Nfc2dlX2lxaWQgWzB4JXhdLCBpc3Rhc2tfZmMgdGFzayBmbGFncyBbMHgleF0K
+AAAAAABzY3NpX2FicnQ6dGFzayBmbG93Y1sweCV4XSwgdG1mX2xpc3RfZW1wdHk6CgAAAABzY3Np
+X2Fib3J0OiBjb25uIFsweCV4XSwgY21kc24gWzB4JXhdLCBzZW50X2NtZHNuIFsweCV4XSwgbWF4
+X2NtZHNuIFsweCV4XSwgaXR0IFsweCV4XQoAAAAAAAAAAABhYm9ydC9jbG9zZSBXUiB3aXRoIGNv
+b2tpZSAweCVseCB3YXMgaXNzdWVkIG9uIHNzbiAweCV4IGluIHdyb25nIHN0YXRlIDB4JXgKAAAA
+AGFib3J0IFdSIG9uIHNzbiAweCV4IGRpZCBub3QgZmluZCBXUiB3aXRoIGNvb2tpZSAweCV4JXgK
+AAAAAAAAAABjbG9zZSBXUiB3aXRoIGNvb2tpZSAweCVseCBvbiBzc24gMHgleDtkaWQgbm90IGZp
+bmQgV1Igd2l0aCBjb29raWUgMHglbHgKAAAAAAAAAGFib3J0IFdSIG9uIHNzbiAweCV4IHdhcyBp
+c3N1ZWQgb24geGNoZyAweCV4IHdpdGggcnhfaWQgMHgleCBpbiB3cm9uZyBzdGF0ZSAweCV4CgAA
+AAAAAAAAAAAAAAAAAHNjc2lfbHVyOiBFbnRlcmluZyBMVVIgaGFuZGxlciwgYnVmZmVyZWQgWyV1
+XQoAAHNjc2lfbHVyOiBpZGF0YS0+b3AgWzB4JXhdLCBmbGFncyBbMHgleF0sIGZ1bmMgWzB4JXhd
+LCBsdW5faWR4IFsweCV4XQoAAAAAAAAAAAAAc2NzaV9sdXI6IHdyLT5pcWlkIFsweCV4XSwgaXN0
+YXNrX2ZjLT5mbG93Y19zZ2VfaXFpZCBbMHgleF0sIGlzdGFza19mYyB0YXNrIGZsYWdzIFsweCV4
+XQoAAAAAAAAAc2NzaV9sdXI6IGNvbm4gWzB4JXhdLCBjbWRzbiBbMHgleF0sIHNlbnRfY21kc24g
+WzB4JXhdLCBtYXhfY21kc24gWzB4JXhdLCBpdHQgWzB4JXhdCgAAAAAAAAAAAAAAZGNieF9hcHBs
+eV9hcHBfY2ZnWyV1XU5FVyBBUFAgVExWIAoAAAAAAAAAAAAAAAAAZGNieF9jZWVfZmVhX3NtWyV1
+XSBGZWF0dXJlWyV1XSBGRUFUVVJFX0xJTktVUAoAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJl
+WyV1XSBTRVRfTE9DQUxfUEFSQU1FVEVSUwoAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0g
+RmVhdHVyZVsldV0gRkVBVFVSRV9OT19BRFZFUlRJU0UKAAAAAAAAAAAAAABkY2J4X2NlZV9mZWFf
+c21bJXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfUEVFUl9OT1RfQURWRVJUSVNFX0RDQlgKAAAAAAAA
+AAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9QRUVSX05P
+VF9BRFZFUlRJU0VfRkVBVFVSRQoAAAAAAAAAAAAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0
+dXJlWyV1XSBGRUFUVVJFX1VQREFURV9PUEVSX1ZFUlNJT04KAAAAAGRjYnhfY2VlX2ZlYV9zbVsl
+dV0gRmVhdHVyZVsldV0gRkVBVFVSRV9QRUVSX1VQREFURV9PUEVSX1ZFUlNJT04KAAAAAAAAAAAA
+AAAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1XSBGRUFUVVJFX0dFVF9QRUVSX0NG
+RwoAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVhdHVyZVsldV0gRkVBVFVSRV9DRkdf
+Tk9UX0NPTVBBVElCTEUKAAAAAABkY2J4X2NlZV9mZWFfc21bJXVdIEZlYXR1cmVbJXVdIEZFQVRV
+UkVfVVNFX0xPQ0FMX0NGRwoAAAAAAAAAAAAAZGNieF9jZWVfZmVhX3NtWyV1XSBGZWF0dXJlWyV1
+XSBGRUFUVVJFX1VTRV9QRUVSX0NGRwoAAAAAAAAAAAAAAGRjYnhfY2VlX2ZlYV9zbVsldV0gRmVh
+dHVyZVsldV0gRkVBVFVSRV9GRUFUVVJFX0RJU0FCTEVECgAAAAAAAABkY2J4X2NlZV9mZWFfc21b
+JXVdIEZlYXR1cmVbJXVdIEZFQVRVUkVfRVJST1JfQ0hBTkdFCgAAAAAAAAAAAAAAZGNieF9pZWVl
+X3Byb2Nlc3NbJXVdIHJlY2VpdmVkIEJXcyBkbyBub3QgYWRkIHVwIHRvIDEwMCEKAAAAAAAAAFdB
+Uk5JTkc6IHJlY2VpdmVkIEFwcCBUTFYgY29udGFpbnMgbW9yZSB0aGFuRlcgY2FuIGhhbmRsZSAo
+bWF4OiAldTsgdGx2IGNvbnRhaW5zOiAldQoAAAAAAAAAAAAAAGRjYnhfaWVlZV9wcm9jZXNzWyV1
+XSBzdWJ0eXBlICUjeCByZW1fZnRfY2hhbmdlZCAldSBzbV9jaGFuZ2UgJXUKAAAAAAAAAAAAAAAA
+AAAAZGNieF9pZWVlX3Byb2Nlc3NbJXVdIHN1YnR5cGUgdW5rbm93bgoAAAAAAAAAAAAAZGNieF9w
+YXJzZV9wa3RbJXVdIGVycm9yICVkCgAAAABpcHY2X2FkZF9wcmVmaXhfaW5fbGlzdDogbm9kZSBm
+b3VuZCAweCV4CgAAAAAAAABpcHY2X2FkZF9wcmVmaXhfaW5fbGlzdCwgbm9kZSBub3QgZm91bmQK
+AAAAAAAAAABjaG5ldF9hcnBfdXBkYXRlX2NhY2hlOiBhcnAgaXA0IGVudHJ5IGZvdW5kIAoAAABj
+aG5ldF9hcnBfdXBkYXRlX2NhY2hlOiBhcnAgaXA2IGVudHJ5IGZvdW5kIAoAAABjaG5ldF9hcnBf
+dXBkYXRlX2NhY2hlOiBib3RoIGlwNCBhbmQgaXA2IGFkZHIgY2Fubm90IGJlIG51bGwKAAAAY2hu
+ZXRfbDJ0X3VwZGF0ZTogbDJ0X3VwZGF0ZSByZXF1ZXN0IHNlbnQgbDJ0ZW50IFslMDh4XSwgbDJ0
+ZW50LT5pZHggWyVkXSwgbDJ0ZW50LT52bGFuIFslZF0KAAAAY2huZXRfaXB2Nl9yYV9pbnB1dDog
+SW52YWxpZCBSQQoAAAAAAAAAAAAAAAAAAAAAaXB2NiBSQSByY3ZkCgAAAHJvdXRlciBub3QgcHJl
+c2VudCBpbiBvdXIgbGlzdC4gYWRkaW5nIGl0CgAAAAAAAEludmFsaWQgb3B0aW9uIGxlbmd0aCAl
+dSBpbiBTTExBIG9wdGlvbgoAAAAAAAAAAEdPVCBTTExBIG9wdGlvbiBpbiBSQSwgbGVuICV1CgAA
+SW52YWxpZCBvcHRpb24gbGVuZ3RoICV1IGluIHByZWZpeCBvcHRpb24KAAAAAAAASW52YWxpZCBv
+cHRpb24gbGVuZ3RoICV1IGluIG10dSBvcHRpb24KAAAAAAAAAAAASW52YWxpZCBwYWNrZXQgd2l0
+aCAldSBleHRyYSBieXRlcwoAAAAAAAAAAAAAAAAAbWxkNiBxdWVyeSByY3ZkCgAAAAAAAAAAAAAA
+AAAAAABjaG5ldF9pcHY2X21sZDZfcXVlcnlfaW5wdXQ6IEludmFsaWQgTUxEIHF1ZXJ5CgBVbnN1
+cHBvcnRlZCBxdWVyeSB2ZXJzaW9uLiBvbmx5IG1sZHYyIHF1ZXJ5IHN1cHBvcnRlZAoAAAAAAAAA
+AAAAcXVlcnkgcmVzcG9uc2UgZGVsYXkgJXUgKGluIDEwbXMgdW5pdCkgCgAAAAAAAAAAYWxyZWFk
+eSBhIGdlbmVyYWwgcXVlcnkgcGVuZGluZyBpbiAldSAoMTBtcykKAAAARGVidWcgdGhlIGNvZGUu
+IGdycF9ub2RlIG11c3QgYmUgcHJlc2VudAoAAAAAAAAAYWxyZWFkeSBhIG11bHRpY2FzdCBxdWVy
+eSBwZW5kaW5nIGluICV1ICgxMG1zKQoAaXB2NiBlY2hvIHJlcSByY3ZkCgAAAAAAAAAAAAAAAABE
+SENQdjYgcGFja2V0IHR5cGUgJXUsIG9wdHNsZW4gJXUgcmVjZWl2ZWQKAAAAAABJbnZhbGlkIGRo
+Y3Agc3RhdGUgJWQKAAAAAAAAAAAAAElnbm9yZSBESENQdjYgbXNnIHhpZCAleCwgIGRoNmN0eHQt
+PnhpZCAleAoAAAAAAEVycm9yIGluIERIQ1B2NiBvcHRpb25zIHBhcnNpbmcuIElnbm9yaW5nIG1z
+ZywgaSAlZCwgb3B0c2xlbiAlZAoAAAAAAAAAAAAAAAAAAAAAREhDUCBmYWlsZWQsIHN0YXR1c2Nv
+ZGUgJWQuIElnbm9yaW5nIGFkdmVydGlzZQoAaWNtcDYgY2hlY2tzdW0gdmFsaWRhdGlvbiBmYWls
+ZWQsIG9yIGVyciByY3ZkaWdub3JpbmcgaWNtcDYgbXNnICV1LCBkbGVuICV1CgAAAABuZXRpZl9w
+cm9jZXNzX2RoY3A6IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIHByb2Nlc3NpbmcsIG9wdF9s
+ZW4gJXUKAAAAAAAAAAAAAGNobmV0X2RoY3BfcmVjdjogdmxhbmlkIFsldV0sIGwyZGV2X3BpZF9m
+Yy0+Zmxvd2NfbmV0X2wyZGV2X3ZsYW5kZXYgWzB4JXhdLCBsMmRldl9mYyBbMHgleF0KAAAAAGNo
+bmV0X2RoY3BfcmVjdjogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgZGhjdHh0LT5zdGF0ZSBb
+JWRdLCBtYWxhY2lvdXMgZGhjcCByZWN2IGZvciBubyByZXF1ZXN0CgAAAAAAAAAAAAAAAABkaGN0
+eHQtPnN0YXRlIDogJWQKAAAAAAAAAAAAAAAAAGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIEJh
+ZCBESENQIGNvb2tpZSByZWNpZXZlZCwgYWJvcnRpbmcKAABDb3VsZCBubyBhbGxvY2F0ZSBwY2Ih
+ISBGcmVlaW5nIGZjZiAhISEKAAAAAAAAAAB2bl9wYXJzZSB1bmtub3duIHN1YmNvZGUgJXUKAAAA
+AHZuX3BhcnNlIHVua25vd24gZHR5cGUgJXUKAAAAAAAAaWdub3JpbmcgZmlwIHJlY3YgZm9yIHBj
+YiBmbG93OiV4IGluIG9mZmxpbmUgc3RhdGUKAAAAAAAAAAAAAAAAAGZpcF92bjJ2bl9yZWN2X2Vy
+ciAKAAAAAAAAAAAAAAAAQ291bGQgbm90IGFsbG9jYXRlIGZsb3djISEhIQoAAABDb3VsZCBub3Qg
+YWxsb2NhdGUgU0NCIGZsb3djISEhIQoAAAAAAAAAAAAAAAAAAABDb3VsZCBub3QgZmluZCByaWdo
+dCBzY2IgZm9yIGxvZ28KAAAAAAAAAAAAAAAAAABpZ25vcmluZyBmaXAgcmVjdiBmb3IgZmNmIGZs
+b3c6JXggaW4gb2ZmbGluZSBzdGF0ZQoAAAAAAAAAAAAAAAAAQ291bGQgbm90IGZpbmQgcmlnaHQg
+c2NiIGZvciBmbG9naQoAAAAAAAAAAAAAAAAAcG9ydCAweCV4LCBzdGF0ZSAweCV4LCByZXRyeSBu
+b3Qgc3VwcG9ydGVkCgAAAAAARmxvZ2kgcmVzcCByY3Ygd2l0aCB1bmtub3duIHhjaGcgb3hfaWQl
+eCBzaWQgJTJ4JTJ4JTJ4IGRpZCAlMnglMnglMngKAAAAAAAAAAAAAABOX1BPUlQgMHgleCV4JXgg
+cmVqZWN0ZWQgUExPR0kgd2l0aCByZWFzb24gY29kZSAleAoAAAAAAAAAAAAAAAAAQUJUUyB3aGls
+ZSBhd2FpdGluZyBQUkxJIFJzcDogZmxvd2NfaWQgMHgleCBveF9pZCAweCV4IHJ4X2lkIDB4JXgg
+CgAAAAAAAAAAAAAAAABBQlRTIGZha2UgUnNwOiBsb2MgMHgleCBveF9pZCAweCV4IHJ4X2lkIDB4
+JXgKAABsbGRwX3J4X3BrdF9oYW5kbGVyWyV1XSBkcm9wIHByZS1pbml0IChjb3VudCA9ICV1KQoA
+AAAAAAAAAAAAAAAAJXgleCV4IFJlY2lldmVkIExPR08gZnJvbSAleCV4JXggCgAAAAAAAAAAAAAA
+AAAAQ1BMX1JYX1BLVDogSWdub3JpbmcgTU9QIG9yIEVPUCBmcmFtZXMKAAAAAAAAAAAARmFpbGVk
+IHRvIHBvc3QgeGNoZyBlcnI6IHNzbmkgMHgleCBjb29raWUgMHglbHggcnZhbCAleCAKAAAAAAAA
+AHRjcF9yZWxlYXNlX3RpZDogdGlkIFsweCV4XSwgZmxvd2MgZmxhZ3MgWzB4JXhdLCBidWZmZXJl
+ZCBbMHgleF0KAAAAAAAAAAAAAAAAAAAAdGNwX3JlbGVhc2VfdGlkOiBzaXplb2YodGNiX2ZjLT5m
+bG93Y19pY29ubikgWyV1XSwgYnl0ZXMKAAAAAAAAAGFjdF9vcGVuX3JwbDogYXRpZCBbMHgleF0s
+IHRpZCBbMHgleF0sIHRjYl9mYy0+eyBpZCBbMHgleF0sIHN0YXRlIFsweCV4XSwgdHlwZSBbMHgl
+eF0gfSwgY3BsX29wIFsweCV4XSwgc3RhdHVzIFsweCV4XQoAAAAAAAAAAAAAYWN0X29wZW5fcnBs
+OiBjc2tfZmMtPnsgaWQgWzB4JXhdLCBzdGF0ZSBbMHgleF0sIGNzb2NrX2ZsYWdzIFsweCV4XSB9
+IAoAAAAAAAAAAABhY3Rfb3Blbl9ycGw6IHJlY3ZkIG5lZyBhZHZpY2UgWzB4JXhdCgAAAAAAAAAA
+AABzZW5kX2Fib3J0X3JwbDogY3NrX2ZjLT5mbG93Y190eXBlIFsweCV4XSwgY3NrX2ZjLT5mbG93
+Y19pZCBbMHgleF0sIHRpZCBbMHgleF0sIHVscHR4Y2ggWyV1XSwgYnVmZmVyZWQgWyV1XQoAAAAA
+d3JoX29mbGRfdGNwX2Nsb3NlX2Nvbl9yZXBseTogdGNiX2ZjLT5mbG93Y19pZCBbMHgleF0sIHRj
+Yl9mYy0+Zmxvd2NfdHlwZSBbMHgleF0sIGxlbjE2IFsldV0sIGxvYyBbJXVdCgAAAAAAAAAAAHdy
+aF9vZmxkX3RjcF9jbG9zZV9jb25fcmVwbHk6IHJwbC0+b3BfVGlkIFsweCV4XSwgcnBsPnN0YXR1
+cyBbMHgleF0sIHJwbC0+c25kX254dCBbMHgleF0sIHJwbC0+cmN2X254dCBbMHgleF0KAAB0Y3Bf
+YWJvcnRfcnBsX3JzczogdGlkIFsweCV4XSwgc3RhdHVzIFsweCV4XQoAAAB0Y3BfYWJvcnRfcmVx
+X3JzczogdGlkIFsweCV4XSwgc3RhdHVzIFsweCV4XSwgZmxvd2NfY3NvY2tfZm9pc2NzaV9zdGF0
+ZSBbMHgleF0KAG9mbGRfYWJvcnRfcmVxX25lZ2FkdlsldV06IHdyIDB4JTA4eCBjcGxfYWJvcnRf
+cmVxIERFTElWRVJFRAoAAABob3N0X3dyWyV1XTogd3IgMHglMDh4IGNwbF9hYm9ydF9yZXEgc3Rh
+dHVzIDB4JXgKAAAAAAAAAAAAAAAAAAAAcGt0c2NoZWRfY2xfcmxbJXU6JXVdOiBtb2RlIHwgdW5p
+dCB8IHJhdGUgMHglMDZ4IG1pbiAldSBtYXggJXUgcGt0c2l6ZSAldQoAAAAAAABwZiAlZCwgdmYg
+JWQgc2VjcmV0IGtleV9pbmRleCAlZCwgVkYgc2VjcmV0IDB4JXgKAAAAAAAAAAAAAAAAAAAAcGFy
+YW1fY2huZXRbMHgleDoweCV4XTogY2huZXQgMHgleCByZWFkICV1IHBmICV1IHJldCAlZAoAAAAA
+AAAAAHBhcmFtX2RtYXFbMHgleDoweCV4XTogZG1hcSAweCV4IHJlYWQgJXUgcGYgJXUgcmV0ICVk
+CgAAAAAAAAAAAABSU1NTRUNSRVRLRVk6IHJzc3NlY3JldCB0YmwgYmFzZSAlZCwgcnNzbnNlY3Jl
+dCAlZAoAAAAAAAAAAAAAAAAATUNbJXVdIGluaXRfc3RhdGVfbWFjaGluZSAweCUwMngKAAAAAAAA
+AAAAAAAAAAAATUMgaW5pdGlhbGl6YXRpb24gbm90IGNvbXBsZXRpbmcsIE1DIGN1cnJlbnQgaW5p
+dCBzdGF0ZSBpcyAweCUwMngKAAAAAAAAAAAAAAAAAABJbml0aWFsaXppbmcgSUJNIEREUjM0TE1D
+CgAAAAAAAEREUiBpbml0IGNvbXBsZXRlLCBiZWdpbm5pbmcgY2FsaWJyYXRpb24KAAAAAAAAAERE
+UiBjYWxpYnJhdGlvbiBzdWNjZWVkZWQKAAAAAAAATUNbJXVdIF9od19tY19pbml0X21jCgAAAAAA
+AAAAAABfaHdfbWNfaW5pdF9tYzogZXJyb3IsIHJldCAlZAoAAHBoeTogZmFpbGVkIHRvIGFsbG9j
+YXRlZCBtZW1vcnkgZm9yIHBoeSBmdyBmaWxlLCByZXQgJWQKAAAAAAAAAABod19sZV9maWx0ZXJf
+Y3R1cGxlOiB0dXBsZSAldSBub3Qgc3BlY2lmaWVkIGJ1dCByZXF1aXJlZCBmb3IgbWFzayAweCV4
+CgAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiB0aW1lcl9ycyAldXVzIHRpbWVzdGFtcF9y
+ZXMgJXV1cyBkZWxheWVkYWNrX3JlcyAldXVzCgAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGRh
+Y2tfdGltZXIgJXV1cyBtc2wgJXV1cyByeHRfbWluLG1heCAldSwldXVzIHBlcnNfbWluLG1heCAl
+dSwldXVzCgAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGtlZXBfaWRsZSxpbnR2bCAldSwl
+dXMgbWF4cnR0ICV1dXMgaW5pdHNydHQgJXV1cyBmaW53YWl0Ml90aW1lciAldXVzCgAAAAAAaHdf
+dHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgZGFja190aW1lciBmcm9tICV1IHRvICV1AAAAAAAA
+AAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIG1zbCBmcm9tICV1IHRvICV1AGh3X3Rw
+X3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIHJ4dF9taW4gZnJvbSAldSB0byAldQAAAAAAAAAAAAAA
+AABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyByeHRfbWF4IGZyb20gJXUgdG8gJXUAAAAA
+AAAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgcGVyc19taW4gZnJvbSAldSB0
+byAldQAAAAAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193OiBjYXBwaW5nIHBlcnNfbWF4IGZy
+b20gJXUgdG8gJXUAAAAAAAAAAAAAAABod190cF90Y3Bfc2V0dGluZ3NfdzogY2FwcGluZyBrZWVw
+X2lkbGUgZnJvbSAldSB0byAldQAAAAAAAAAAAAAAaHdfdHBfdGNwX3NldHRpbmdzX3c6IGNhcHBp
+bmcga2VlcF9pbnR2bCBmcm9tICV1IHRvICV1AAAAAAAAAAAAAGh3X3RwX3RjcF9zZXR0aW5nc193
+OiBjYXBwaW5nIGluaXRfc3J0dF9tYXhydHQgZnJvbSAldSB0byAldQAAAABod190cF90Y3Bfc2V0
+dGluZ3NfdzogY2FwcGluZyBpbml0X3NydHRfaW5pdHNydHQgZnJvbSAldSB0byAldQAAaHdfdHBf
+dGNwX3NldHRpbmdzX3c6IGNhcHBpbmcgZmlud2FpdDJfdGltZXIgZnJvbSAldSB0byAldQAAAAAA
+AGZpbHRlck1vZGU9JSN4IGlsbGVnYWw6IHNlbGVjdHMgJWQgYml0cyAobWF4ICVkKQoAAAAAAAAA
+AAAAAAAAAABsZSBjb25maWd1cmF0aW9uOiBuZW50cmllcyAldSByb3V0ZSAldSBjbGlwICV1IGZp
+bHRlciAldSBhY3RpdmUgJXUgc2VydmVyICV1IGhhc2ggJXUKAAAAAAAAAAAAAABsZSBjb25maWd1
+cmF0aW9uOiBuZW50cmllcyAldSBjbGlwICV1IG5vcm1hbCBmaWx0ZXIgJXUgaGkgcHJpb3JpdHkg
+ZmlsdGVyICV1IHNlcnZlciAldSBhY3RpdmUgJXUgaGFzaCAldSBuc2VydmVyc3JhbSAldQoAAAAA
+AAAAAGh3X3NnZV9xdWV1ZV9iYXNlX21hcFsldV06IGV4Y2VlZGVkIG51bWJlciBvZiBlZ3Jlc3Mg
+cXVldWVzLCAldQoAAAAAAAAAAAAAAAAAAAAAaHdfc2dlX3F1ZXVlX2Jhc2VfbWFwWyV1XTogZXhj
+ZWVkZWQgbnVtYmVyIG9mIGluZ3Jlc3MgcXVldWVzIHdpdGggZnJlZWxpc3QgYW5kIGludGVycnVw
+dCwgJXUKAAAAaHdfc2dlX3F1ZXVlX2Jhc2VfbWFwWyV1XTogZXhjZWVkZWQgbnVtYmVyIG9mIGlu
+Z3Jlc3MgcXVldWVzLCAldQoAAAAAAAAAAAAAAAAAAABFcnJvciwgVG90YWwgUlNTIFNlY3JldCB0
+YWJsZSBhbGxvY2F0aW9uICVkID4gMTYKAAAAAAAAAAAAAAAAAAAAY2ZfcGFyc2U6IGZpbGUgbWVt
+dHlwZSAweCV4IG1lbWFkZHIgMHgleCBtYXBwZWQgQCAlcDoKAAAAAAAAAAAAAGNvbmZpZ3VyZWQg
+d2l0aCBjYXBzIG5ibXxsaW5rIDB4JTA4eCBzd2l0Y2h8bmljIDB4JTA4eCB0b2V8cmRtYSAweCUw
+OHggaXNjc2l8Y3J5cHRvIDB4JTA4eCBmY29lOjB4JXgKAAAAAAAAAAAAAABuZXQgVkkgYWxsb2Nh
+dGlvbiBmYWlsZWQgZm9yIGZjX2lkICV1IHdpdGggZXJyb3IgJWQKAAAAAAAAAAAAAAAAbmV0IFZJ
+IG1hYyBhZGRyZXNzIHByb2dyYW1taW5nIGZhaWxlZCBmb3IgZmNfaWQgJXUgd2l0aCBlcnJvciAl
+ZAoAAAAAAAAAAAAAAAAAAABuZXQgVkkgcnhtb2RlIHByb2dyYW1taW5nIGZhaWxlZCBmb3IgZmNf
+aWQgJXUgd2l0aCBlcnJvciAlZAoAAAAAbmV0IFZJIHJzcyBpbmRpcmVjdGlvbiB0YWJsZSBwcm9n
+cmFtbWluZyBmb3IgZmNfaWQgJXUgZmFpbGVkIHdpdGggZXJyb3IgJWQKAAAAAABuZXQgVkkgcnNz
+IGNvbmZpZyBjb21tYW5kIGZhaWxlZCBmb3IgZmNfaWQgJXUgd2l0aCBlcnJvciAlZAoAAAAAbmV0
+IFZJIGNvbW1hbmQgZmFpbGVkIGZvciBmY19pZCAldSB3aXRoIGVycm9yICVkCgAAAAAAAAAAAAAA
+AAAAAHByb2dyYW1tZWQgSFcgdGFnbSBbMHglMDh4XSwgSFcgcGdzeiBmYWN0b3IgWzB4JTA4eF0s
+IEZPaVNDU0kgdGFnbSBbMHglMDh4XSwgcnRhZ20gWzB4JTA4eF0sIG1heHN6X2JpdHMgWyV1XSwg
+c3pfYml0cyBbJXVdLgoAAAAAYmFzZSBbIDB4JTA4eF0sIGxsaW1pdCBbMHglMDh4XSwgdWxpbWl0
+IFsweCUwOHhdLCBzaXplIFsldV0sIG1heF90eHN6IFsldV0sIG1heF9yeHN6IFsldV0sIGlvc2l6
+ZSBbJXVdCgAAAAAAAAAAAG5wcG9kcyBbJXVdLCBpZHhfbWFzayBbMHglMDh4XSwgaWR4X2ZpcnN0
+IFsldV0sIGlkeF9sYXN0IFsldV0sIHNjc2lfcGxkX3NpemUgWyV1XSwgQUxJR04oc2NzaV9wbGRf
+c2l6ZSwgMTYpIFsldV0sIHBwZF96b25lcyBbJXVdLgoAAAAAAAAAAAAAAAAAAGZvaXNjc2lfaW5p
+dDogaW5pdF9kb25lOiV1LCBmb2lzY3NpX250YXNrczoldSwgZm9pc2NzaV9uc2VzczoldSwgbmNz
+b2NrOiV1LCBuc3BvcnRzOiV1LCBmb2lzY3NpX25pbml0OiV1LCByYzolZAoAAAAAAAAAAAAAAAAA
+AAAAY2hfY2xfcmF0ZVsldS8ldV06IGNhcHBlZCBjbGFzcyByYXRlIGZyb20gcmVxdWVzdGVkICV1
+IHRvIGNvbmZpZ3VyZWQgKGVmZmVjdGl2ZSkgY2hhbm5lbCByYXRlICV1CgAAAAAAAAAAAAAAAAAA
+AENhbm5vdCBnZXQgY2xhc3MgWyV1LyV1XSByYXRlICV1IHdpdGggY29uZmlndXJlZCBncmFudWxh
+cml0aWVzLiBDaGVjayBjb25maWcgZmlsZQoAAAAAAAAAAAAAAAAAAHBrdHNjaGVkIGNoYW5uZWwg
+JXUgc2V0cyBzcGVlZCAoZnJvbSAldSkgdG8gJXUga2JwcwoAAAAAAAAAAAAAAABuZXRfbDJkZXZf
+bm90aWZ5OiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBwb3J0IFslZF0sIGV2ZW50IFsweCV4
+XSwgdWxwdHhjaCBbJXVdLCBjbGFzcyBbMHgleF0sIHZwcmlvIFsweCV4XSwgdmlkIFsweCV4XSwg
+dmlfcmVhZHkgWyV1XQoAAAAAAABuZXRfbDJkZXZfbm90aWZ5OiBwZ2lkIFsweCV4XSwgcHJpbyBb
+MHgleF0sIGNoIFsweCV4XQoAAAAAAAAAAAAAWyV1XSB1bmFibGUgdG8gZXhlY3V0ZSBpbnRlcm5h
+bCBEQ0JfSUVFRV9DTUQKAAAAcG9ydFsldV0gcHR5cGUgJXUgbGFuZSAldTogcnhjZmcgPSAlI3gK
+AAAAAAAAAAAAcG9ydFsldV0gcHR5cGUgJXUgbGFuZSAldTogdHhjZmcgPSAlI3gKAAAAAAAAAAAA
+dHhfY29uZmlnIHNwZWVkIDB4JXggcGxsX3NlbCAlZCBid19zZWwgJWQKAAAAAAAAcG9ydFsldV0g
+bGluayBkb3duICgldSkgKGxzdGF0dXMgJSN4KQoAAAAAAAAAAAAAcG9ydF9yZXNldFsldV06IGZv
+cmNpbmcgZm9yIHB0eXBlIDB4JXgsIHNwZWVkIDB4JXgKAAAAAAAAAAAAAAAAAHBvcnQgaW5pdGlh
+bGl6YXRpb24gZmFpbGVkCgAAAAAAaTJjIGVycm9yIGNhdXNlZCBieSBtb2R1bGUgdW5wbHVnCgAA
+AAAAAAAAAAAAAAAAc2VuZHRvIHBlbmRpbmc6IHdyX3BlbmQgJXAgZm9yIHBvcnQgJXUsIHdhbnQg
+dG8gc2VuZCB0byBwb3J0ICV1CgAAAAAAAAAAAAAAAAAAAABwb3J0WyV1XSB1cGRhdGUgKGZsb3dj
+aWQgJXUgcmMgJXUpCgAAAAAAAAAAAAAAAABwb3J0X3NldF9sb29wYmFjayBwb3J0ICUjeCBjdXJy
+ZW50ICUjeCBtb2RlICUjeAoAAAAAAAAAAAAAAAAAAAAAcG9ydFsldV0gc3BlZWQgdXBkYXRlOiAl
+I3gKAAAAAABwb3J0WyV1XSBiZWdpbm5pbmcgZGVib3VuY2UKAAAAAFFTRlAgbW9kdWxlIHVucGx1
+ZyAtIHJlaW5pdGlhbGl6aW5nIHJ4X2xvcyAgdG8gMHhmZgoAAAAAAAAAAAAAAABncGlvX3FzZnBf
+bW9kdWxlX3VwZGF0ZTogY2hhbmdlZCByeF9sb3MgZnJvbSAweCV4IHRvIDB4JXgKAAAAAAAAZ3Bp
+b19xc2ZwX21vZHVsZV91cGRhdGU6IGNoYW5nZWQgdHhfZGlzIGZyb20gMHgleCB0byAweCV4CgAA
+AAAAAGRpc2FibGluZyB0eCAlI3ggcnggJSN4CgAAAAAAAAAAcG9ydF9saW5rX3N0YXRlX2hhbmRs
+ZXJbJXVdIHBvd2VyaW5nIGRvd24KAAAAAAAAcG9ydF9saW5rX3N0YXRlX2hhbmRsZXJbJXVdIHBv
+d2VyaW5nIHVwCgAAAAAAAAAAcG9ydF9saW5rX3N0YXRlX2hhbmRsZXJbJXVdIHVua25vd24gc3Rh
+dGUgKHN0YXRlID0gJSN4KQoAAAAAAAAAAHBvcnRfbGlua19zdGF0ZV9oYW5kbGVyOiBTb21ldGhp
+bmcgd2VudCB0ZXJyaWJseSB3cm9uZy4gcmV0ID0gJWQKAAAAAAAAAAAAAAAAAAAAbGUgY29uZmln
+dXJhdGlvbjogaGFzaCByZWdpb24gdG9vIGxhcmdlIHRvIGVuYWJsZSBzZXJ2ZXIgc3JhbQoAAGxl
+IGluaXRpYWxpemF0aW9uOiBuZW50cmllcyAldSByb3V0ZSAldSBjbGlwICV1IGZpbHRlciAldSBh
+Y3RpdmUgJXUgc2VydmVyICV1IGhhc2ggJXUKAAAAAAAAAAAAAGxlIGluaXRpYWxpemF0aW9uOiBu
+ZW50cmllcyAldSByb3V0ZSAldSBjbGlwICV1IGZpbHRlciAldSBzZXJ2ZXIgJXUgYWN0aXZlICV1
+IGhhc2ggJXUgbnNlcnZlcnNyYW0gJXUKAAAAAAAAAAAAAABod190cF9pbml0OiB0Y2IgcmVnaW9u
+IChzdGFydCAweCUwOHMgc2l6ZSAldSkgbXVzdCBiZSBpbiBmaXJzdCAyNTZNQiBvZiBNQSBtZW1v
+cnkKAAAAAAAAAAAAAAAAAABod190cF9pbml0OiBwZ21uZ3QgcmVnaW9uIChzdGFydCAweCUwOHMg
+c2l6ZSAldSkgbXVzdCBiZSBpbiBmaXJzdCAyNTZNQiBvZiBNQSBtZW1vcnkKAAAAAAAAAAAAAABo
+d190cF9pbml0OiBUUCBwZ21uZ3QgaW5pdGlhbGl6YXRpb24gZGlkIG5vdCBjb21wbGV0ZQoAAAAA
+AAAAAAAAdGxzX2tleV9zdGFydDoweCV4LCB0bHNfa2V5X3NpemU6JWQKAAAAAAAAAAAAAAAAYnVm
+bV9pbml0OiBuICV1IGJ1ZmxsNjRpbnRfc2l6ZSAweCV4CgAAAAAAAAAAAAAAYnVmbV9pbml0OiBu
+b3QgZW5vdWdoIG1lbW9yeSB0byBhbGxvY2F0ZSBpbnRlcm5hbCBidWZsbDY0IGJ1ZmZlcnMKAAAA
+AAAAAAAAAAAAAABidWZtX2luaXQ6IG5vdCBlbm91Z2ggbWVtb3J5IHRvIGFsbG9jYXRlIGJ1Zmxs
+NjQgYnVmZmVycwoAAAAAAAAAbWVtX2luaXRfYnVmOiBub3QgZW5vdWdoIG1lbW9yeSB0byBhbGxv
+Y2F0ZSBmbG93IGJ1ZmZlcnMKAAAAAAAAAG1lbV9pbml0X2J1Zjogbm90IGVub3VnaCBtZW1vcnkg
+dG8gYWxsb2NhdGUgdGNiX2NhY2hlIChvZmZlcmVkICV1IHRyeWluZyB0byB1c2UgJXUgYXZhaWxh
+YmxlICV1KQoAAAAAAAAAAAAAAAAAAABtcGFydGl0aW9uX290aGVyczogc3RhcnQgMHglMDh4IHNp
+emUgJXUgKHVudXNlZCAldSkKAAAAAAAAAAAAAAAAbXBhcnRpdGlvbl9vdGhlcnM6IF9tOiV4IF9z
+aXplOiVsZCBkZXYudHAudGxzX2tleV9zaXplOiVsZCAKAAAAAG1wYXJ0aXRpb25fb3RoZXJzOiBz
+dGFydCAweCUwOHggc2l6ZSAldSAodW51c2VkICV1KQoAAAAAAAAAAAAAAABtZW1faW5pdDogRURD
+IG92ZXJjb21taXR0ZWQgYnkgJWQgYnl0ZXMKAAAAAAAAAABtZW1faW5pdDogbm90IGVub3VnaCBt
+ZW1vcnkgdG8gYWxsb2NhdGUgZmxvdyB0YWJsZQoAAAAAAAAAAAAAAAAAY3hjbmljX2RldmljZV9p
+bml0OiBjeGNuaWMgWzB4JTB4XSwgY3hjbmljLT5maWx0ZXIgWyUweF0KAAAAAAAAAHBvZmNvZSBp
+bml0IGRvbmUKAAAAAAAAAAAAAAAAAAAAcG9ydF9pbml0WyV1XSBwdHlwZSAweCV4CgAAAAAAAABQ
+b3J0WyV1XTogVW5rbm93biBTR01JSSBzdWItdHlwZSAlI3gKAAAAAAAAAAAAAABQb3J0WyV1XTog
+VW5rbm93biBCVF9YRkkgc3ViLXR5cGUgJSN4CgAAAAAAAAAAAABwb3J0X2luaXRbJXVdOiBwb3J0
+IHR5cGUgMHgleCBpcyBub3Qgc3VwcG9ydGVkCgBtcGFydGl0aW9uX2luaXQ6IG1vdmVkIHBtcnhf
+c3RhcnQgZnJvbSAweCUwOHggdG8gMHglMDh4IHRvIG1ha2Ugcm9vbSBmb3IgTEUgSEFTSCBhbmQv
+b3IgVFAgVENCcwoAAAAAAAAAAAAAAAAAAAAAbXBhcnRpdGlvbl9pbml0OiBtb3ZlZCBwbXJ4X3N0
+YXJ0IGZyb20gMHglMDh4IHRvIDB4JTA4eCAoRURSQU0pCgAAAAAAAAAAAAAAAAAAAABFUSBwZm4g
+JXUgdmZuICV1OiBkZXN0cm95aW5nIGVxaWQgJXUgd2l0aCBwZW5kaW5nIFdSKHMpIChudW1fYnl0
+ZXMgJXUgYW5kIGZsYWdzIDB4JTA4eAoAAAAAAAAAAABsMmRldl9mYy0+Zmxvd2NfaWQgWyV1XSwg
+bDJkYy0+cGZuIFsldV0sIGwyZGMtPnZmbiBbJXVdLCBsMmRjLT5scG9ydCBbJXVdLCBsMmRldl9m
+Yy0+Zmxvd2lkIFsldV0gbDJkYy0+dHhfY2ggWyV1XSwgZGV2LnZwZC5wb3J0dmVjIFsleF0KAAAA
+AAAAAABwb3J0dmVjIFsldV0KAAAAbDJkZXZfdmlfZnNtOiBtYiBbMHgleF0sIGRlZmVycmVkLCBz
+dGF0ZSBbMHgleF0sIHBvcnQgWzB4JXhdCgAAAGwyZGV2X3ZpX2ZzbTogdmlpZCBbMHgleF0gcG9y
+dCBbMHgleF0sIG1hYy1pZCBbJTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMnhdLiAKAAAAAAAA
+AAAAAAAAAAAAAGwyZGV2X3ZpX2ZzbTogc2dlX2VxaWQgWzB4JXhdLCBzZ2VfaXFpZCBbMHgleF0s
+IHNnZV9lcWNyIFsweCV4XSwgcnNzX3N6IFsweCV4XQoAbDJkZXZfdmlfZnNtOiBsMmRldl9mYy0+
+Zmxvd2NfbmV0X2wyZGV2X210dSBbJXVdLCBtYl9zY3JhdGNoIFsweCV4XSwgcG9ydCBbMHgleF0K
+AAAAAAAAAAAAAAAAAAAAbDJkZXZfdmlfZnNtOiB2aWlkIFslZF0sIHZpX2ZjLT5mbG93Y192aV9m
+bGFncyBbMHgleF0KAAAAAAAAAAAAAGwyZGV2X3ZpX2ZzbTogcGZuIFsweCV4XSwgdmZuIFsweCV4
+XSwgbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgbHBvcnQgWzB4JXhdLCB2aWlkIFsweCV4XSwg
+ZmxhZ3MgWzB4JXhdCgAAAAAAAABsMmRldl92aV9mc206IEVycm9yIGZyZWVpbmcgVkksIHJjIFsw
+eCV4XQoAAAAAAABsMmRldl92aV9mc206IHBpZCBbMHgleF0sIHZpaWQgWzB4JXhdLCBtYl9sb2Mg
+WzB4JXhdLCBtYl9vcmlnWzB4JXhdLCBsMmRldl9mbGFncyBbMHgleF0sIHJjIFsweCV4XQoAAAAA
+AAAAAAAAAAAAQWggaGEuLi5kb3VibGUgZnJlZSBveF9pZCAweCV4LCByeF9pZCAweCV4CgAAAAAA
+SG9zdCBQUkxJIFJlc3BvbnNlIHRpbWVkb3V0OiBveF9pZCAweCV4IHJ4X2lkIDB4JXgKAAAAAAAA
+AAAAAAAAAHBmbiAldSB2Zm4gJXUgdmlhIGNvbW1hbmQKAAAAAAAAaHdfaTJjX3RyYW5zYWN0aW9u
+OiBuZGF0YSAldSBhZGRyX29wIDB4JXggZGF0YVswXSAweCV4IGRpZmYgJXUKAGh3X2kyY190cmFu
+c2FjdGlvbjogbmRhdGEgJXUgYWRkcl9vcCAweCV4IHJlZyAweCV4IGRpZmYgJXUgY29udCAldSBm
+YWlsZWQgd2l0aCBlcnIgJWQKAAAAAAAAAAAAAGh3X2kyY190cmFuc2FjdGlvbjogbmRhdGEgJXUg
+YWRkcl9vcCAweCV4IGRhdGFbMF0gMHgleCBkaWZmICV1IGRwb3MgJXUgY29udCAldSBmYWlsZWQg
+d2l0aCBlcnIgJWQKAAAAAAAAAAAAAAAAAABpMmMgdHJhbnNhY3Rpb24gZmFpbGVkIHRvIGNvbXBs
+ZXRlCgAAAAAAAAAAAAAAAABjb25maWd1cmF0aW9uIGZpbGUgcGFyc2VyOiBhZWNfcmV0cnlfY250
+IHZhbHVlICVkIGlzIG5vdCB3aXRoaW4gdGhlIGFsbG93ZWQgbGltaXQgb2YgMSB0byAyNTQuRGlz
+YWJsaW5nIGl0LgoAAAAAZmVjIG9wdGlvbiBpbiBjb25maWcgZmlsZSBpcyBkZXByZWNhdGVkCgAA
+AAAAAAAAY29uZmlndXJhdGlvbiBmaWxlIHBhcnNlcjogYW5fYWVjX3RpbWUgdmFsdWUgJWQgaXMg
+YmlnZ2VyIHRoYW4gYWxsb3dlZCBsaW1pdC5DaGFuZ2luZyBpdCB0byAxMDAwMCBtcy4KAAAAAAAA
+AAAAAERlcHJlY2F0ZWQgY29uZmlnIG9wdGlvbiBmb3VuZCBpbiBjb25maWcgZmlsZS4gSWdub3Jp
+bmcuLgoAAAAAAABjb25maWd1cmF0aW9uIGZpbGUgcGFyc2VyOiBwbCB0aW1lb3V0IHZhbHVlIGlz
+IHRvbyBsYXJnZSwgY2hhbmdpbmcgZnJvbSAldSB0byAldXVzZWNzCgAAAAAAAAAAAABzY2hlZF9p
+b3F0eF9icF9wcmlvcml0eTogaGFzICV1IGVudHJpZXMgb25seSwgcmVxdWlyZXMgJXUgZW50cmll
+cwoAAAAAAAAAAAAAAAAAAHRwX2JhY2tvZmY6IHBhcnNlZCAlZCBpbnN0ZWFkIG9mICV1IGVudHJp
+ZXMKAAAAAHRwX3RpbWVydmFsczogcGFyc2VkICVkIGluc3RlYWQgb2YgJXUgZW50cmllcwoAAHRw
+X3RpbWVycmVzOiBwYXJzZWQgJWQgaW5zdGVhZCBvZiAldSBlbnRyaWVzCgAAAHRwX210dXMgaGFz
+ICV1IGVudHJpZXMgb25seSwgcmVxdWlyZXMgJXUgZW50cmllcwoAAAAAAAAAAAAAAAAAAAB0cF9t
+dHVzWyV1XSBpcyAldSBieXRlcyB3aGljaCBpcyBub3Qgc3VwcG9ydGVkCgBod19jaW1fdHNjaF90
+aWNrX2luaXQ6IFRJQ0slZCwgdmFsdWUgMHgleCwgcmF0ZSAldSBrYnBzCgAAAAAAAAAAaW52YWxp
+ZCB0aWNrIGdyYW51bGFyaXR5ICV1IGticHMgb3IgZ3JhbnVsYXJpdHkgdmFsIG11c3QgYmUgPCAl
+dSwgY2hhbmdlZCB0byAldQoAAAAAAAAAAAAAAAAAAAAAVGljayBncmFudWxhcml0aWVzICV1a2Jw
+cwoAAAAAAABjb25maWd1cmF0aW9uIGZpbGUgcGFyc2VyOiBzZ2UgdGltZXIgdmFsdWVbJWRdIGlz
+IHRvbyBsYXJnZSwgY2hhbmdpbmcgZnJvbSAldSB0byAldXVzZWNzCgAAAAAAAABmaWx0ZXJtYXNr
+IDB4JXggaXMgbm90IGVxdWFsL3N1YnNldCB0by9vZiBmaWx0ZXJtb2RlCgAAAAAAAAAAAAAAY2xp
+cCBlbnRyeSBkZWxldGlvbiBmYWlsZWQgYXQgcG9zICV1LCByZXQgJWQKAAAAaHdfbGVfY2xpcF9o
+YW5kbGVyOiByZW1vdmVkIHBvcz0ldSAoPWlkeCAldSkKAAAAaHdfbGVfY2xpcF9oYW5kbGVyOiBh
+ZGRpbmcgdG8gcG9zPSV1ICg9aWR4ICV1KQoAcGh5X2luaXQ6IHBvcnQgJXUgd2l0aCB0aGUgdHlw
+ZSAldSAgaGF2ZSByZXQgJWQKAAAAAAAAAAAAAAAAAAAAAGh3X21hY19hZWNfY29tcGxldGVbJXVd
+IG9uIGxhbmVzICUjeCAoc2lnZGV0ICUjeCksIHR4X2xhbmVzICUjeAoAAAAAAAAAAAAAAAAAAAAA
+aHdfbWFjX210aXBfZW5hYmxlWyV1XTogcHR5cGUgMHgleCwgc3BlZWQgMHgleCwgZmVjIDB4JXgs
+IGRpc2FibGUgJWQKAAAAAAAAAAAAAABod19tYWNfaW5pdF9wb3J0WyV1XSwgcHR5cGUgMHgleCwg
+c3BlZWQgMHgleCwgbGFuZXMgMHgleCwgZmVjIDB4JXgKAAAAAAAAAAAAAAAAAG1vZHVsZVsldV06
+IHBvcnQgbW9kdWxlIGluc2VydGVkIGFuZCByZWFkeQoAAAAAAG1vZHVsZVsldV06IHBvcnQgbW9k
+dWxlIHJlbW92ZWQKAAAAAAAAAAAAAAAAAAAAAG1vZHVsZVsldV06IHVua25vd24gbW9kdWxlIGlk
+ZW50aWZpZXIgMHglMDJ4CgAAAG1vZHVsZVsldV06IGV4Y2VwdGlvbiBjYWJsZSBmZWMgYWJpbGl0
+eSBvZiBwb3J0IDB4JXgsIG9mIGNhYmxlIDB4JXgKAAAAAAAAAAAAAAAAbW9kdWxlWyV1XTogdW5z
+cGVjaWZpZWQgZXh0ZW5kZWQgY29tcGxpYW5jZSBjb2RlIDB4JTAyeAoAAAAAAAAAAG1vZHVsZVsl
+dV06IGZlYyBhYmlsaXR5IG9mIHBvcnQgMHgleCwgY2FibGUgMHgleCwgY29uZmlnIDB4JXgKAABt
+b2R1bGVbJXVdOiBmZWMgYWJpbGl0eSBvZiBjYWJsZSAweCV4CgAAAAAAAAAAAABtb2R1bGVbJXVd
+OiBncGlvICV1IHZlbmRvciBpZCAlMDZ4LCBpZGVudGlmaWVyIDB4JTAyeCwgU0ZQMjgoYnl0ZSAz
+Ni8xOTIpIDB4JTAyeCwgU0ZQKGJ5dGUgMy8xMzEpIDB4JTAyeCwgMUcgKGJ5dGUgNikgMHglMDJ4
+CgAAAG9wdGljYWwgbGVuZ3RoKGJ5dGUgMTUvMTQyKSAldSwgY29wcGVyIGNhYmxlKGJ5dGUgOC8x
+NDcpIDB4JTAyeCwgbGVuZ3RoKGJ5dGUgMTgvMTQ2KSAldSwgbW9kdWxlX3R5cGUgMHglMDJ4CgAA
+AABtb2R1bGVbJXVdOiBncGlvICV1IHZlbmRvciBpZCAlMDZ4LCBpZGVudGlmaWVyIDB4JTAyeCwg
+U0ZQMjgoYnl0ZSAzNi8xOTIpIDB4JTAyeCwgU0ZQKGJ5dGUgMy8xMzEpIDB4JTAyeCwgMUcgKGJ5
+dGUgNikgMHglMDJ4CgAAAG9wdGljYWwgbGVuZ3RoKGJ5dGUgMTUvMTQyKSAldSwgY29wcGVyIGNh
+YmxlKGJ5dGUgOC8xNDcpIDB4JTAyeCwgbGVuZ3RoKGJ5dGUgMTgvMTQ2KSAldSwgbW9kdWxlX3R5
+cGUgMHglMDJ4CgAAAABjeDRfY3JfbW9kdWxlX3J4X2xvc1sldV06IHJ4X2xvcyBjaGFuZ2VkIHRv
+ICV1CgBJSS4xLmJ4IGRwMThbJXVdIHFbJXVdICUjeCAlI3ggJSN4ICUjeCBtaW4gJSN4IG1heCAl
+I3gKAAAAAAAAAAAASUkuMS5jLWQuICUjeCAlI3ggJSN4ICUjeCBhbGwgICUjeAoAAAAAAAAAAAAA
+AAAASUkuMi5iICglI3ggLSAlI3ggKyAlI3gpICUgMTI4ID0gJSN4CgAAAAAAAAAAAAAASUkuMyBp
+bmV3XzFlIGFmdGVyIGxpbWl0IGNvbXB1dGUgaXRlbXBfMWUgJXgsIGluZXdfMWUgJXgKAAAAAAAA
+AElJLjMuIGl0ZW1wXzFlICUjeCBpbmV3XzFlICUjeCBpbmV3XzFlICVkCgAAAAAAAElJLjQuIHNl
+dF8xZSAlI3gKAAAAAAAAAAAAAAAAAAAATUM6IEVycmF0YTE5IERRUyBBbGlnbiBjYWxpYnJhdGlv
+biBGQUlMRUQKAAAAAAAATUM6IEVycmF0YTE5IFJEQ0xLIEFsaWduIGNhbGlicmF0aW9uIEZBSUxF
+RAoAAAAAdGVtcDJfMWUrMHgxMCA9ICUjeAoAAAAAAAAAAAAAAABJVi4xLiBkcDE4WyV1XSBwaGFz
+ZV9zZWwgYmVmb3JlICUjeCBhZnRlciAlI3gsIGdhdGVfZGVsYXkgJSN4CgAATUMgZXJyYXRhMTkg
+aXNzdWUxOiBkcDE4ICV1IHF1YWQgJXUKAAAAAAAAAAAAAAAATUMgZXJyYXRhMTkgaXNzdWUyOiBk
+cDE4ICV1IHF1YWQgJXUKAAAAAAAAAAAAAAAATUMgZXJyYXRhMTkgaXNzdWUzOiBkcDE4ICV1IHF1
+YWQgJXUKAAAAAAAAAAAAAAAATUMgZXJyYXRhMTkgaXNzdWU0OiBkcDE4ICV1IHF1YWQgJXUKAAAA
+AAAAAAAAAAAATUMgY2FsaWJyYXRpb24gRkFJTEVEOiBERklfSU5JVF9DT01QTEVURSBub3QgYmVj
+b21pbmcgMAoAAAAAAAAAAE1DIGNhbGlicmF0aW9uIEZBSUxFRDogREZJX0lOSVRfQ09NUExFVEUg
+bm90IGJlY29taW5nIDEKAAAAAAAAAABNQyBjYWxpYnJhdGlvbiBGQUlMRUQ6IElOSVRfQ0FMX0NP
+TVBMRVRFIG5vdCBiZWNvbWluZyAxCgAAAAAAAAAATUMgY2FsaWJyYXRpb24gRkFJTEVEOiBQQ19J
+TklUX0NBTF9FUlJPUiBpcyAweCV4CgAAAAAAAAAAAAAAAAAAAEREUiBpbml0IGNvbXBsZXRlLCBC
+ZWdpbm5pbmcgY2FsaWJyYXRpb24KAAAAAAAAAE1DOiBJbml0aWFsIENhbGlicmF0aW9uIEZBSUxF
+RAoATUM6IEluaXRpYWwgQ2FsaWJyYXRpb24gUEFTU0VECgBNQzogRXJyYXRhMTkgVGFzayBGQUlM
+RUQKAAAAAAAAAE1DIGluaXRpYWxpemF0aW9uIGZhaWxlZDogRGlkbid0IGdldCBhbGwgRFAxOHMg
+bG9ja2VkCgAAAAAAAAAAAABNQyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6IERpZG4ndCBnZXQgYm90
+aCBBRFJzIGxvY2tlZAoAAAAAAAAAAAAATUMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiBTTEVXX0RP
+TkVfU1RBVFVTIG5ldmVyIHRvZ2dsZWQAAAAAAAAAAHBmbiAldSB2Zm4gJXUgRlNNIHN0YXJ0CgAA
+AAAAAAAAcGZuICV1IHZmbiAldSBGU00gY29tcGxldGUKAAAAAABmbHJfcGZ2Zl9mc21bJXU6JXVd
+OiB1bmtub3duIHN0YXRlICV1CgAAAAAAAAAAAABwZm4gJXUgUENJRSBQTV9EQVRBX1BNQ1NSIDB4
+JTA4eCBTVEFUIDB4JTA4eCBEU1RBVEUgMHglMDh4CgAAAAAAaHcgcGYgYml0bWFwIDB4JTAyeAoA
+AAAAAAAAAAAAAAAmdmZpZF9iaXRtYXBbMF0gMHglMDh4OjB4JTA4eDoweCUwOHg6MHglMDh4CgAA
+AAAmdmZpZF9iaXRtYXBbNF0gMHglMDh4OjB4JTA4eDoweCUwOHg6MHglMDh4CgAAAABhZnRlciB2
+ZmlkIGZpeHVwIGh3IHBmIGJpdG1hcCAweCUwMngKAAAAAAAAAAAAAAAmdmZpZF9iaXRtYXBbMF0g
+MHglMDh4OjB4JTA4eDoweCUwOHg6MHglMDh4CgAAAAAmdmZpZF9iaXRtYXBbNF0gMHglMDh4OjB4
+JTA4eDoweCUwOHg6MHglMDh4CgAAAAB0aW1lciBxdWV1ZSAldSBsb3N0IGEgdGljayEgbmV4dCAl
+cCBsYXN0ICVwIG51bWUgJXUKAAAAAAAAAAAAAAAAZmxyX3RpbWVyX3N0YXJ0OiBmbG93Y19pZCAl
+dSAlcCBidWYgJXAKAAAAAAAAAAAATUFDOiBQTExzIGRpZG4ndCBsb2NrCgAAAAAAAAAAAABod19t
+Y19wcmVwX21jOiBtYyAlZCwgbW9kZSAlZCwgZGVuc2l0eSAlZCwgd2lkdGggJWQsIHNpemUgMHgl
+eCwgbnVtX2NoaXBzICVkIAoAAHBjaWU6IHJlYWQgZnJvbSBzZXJjZmcgcGNpZV9pcF91cl9tYXhm
+dW5jIDB4JXggcGZiaXRtYXAgMHgleAoAAABwY2llOiBucGYgJXUgKHBmYml0bWFwIDB4JTAyeCkg
+bnZmICV1IChwZiAwLi43IDB4JTA4eCUwOHgpIHZmc3RyaWRlICV1CgAAAAAAAAAAAGh3X21hY19w
+cmVwOiBlcnJvciwgcmV0ICVkCgAAAAAAaHdfZ3Bpb19wcmVwOiBlcnJvciwgcmV0ICVkCgAAAABo
+d19tY19zZXRfY2xrX2NmZzogZm9yY2VfcmVzZXQgJWQsIGN1cnJfc3RhdGUgJWQsIHNpemUgJXUK
+AAAAAAAATUMgQ0xLIHNldHRpbmcgZmFpbGVkOiBQTExfTV9MT0NLIG5ldmVyIHRvZ2dsZWQKAAAA
+AAAAAAAAAAAAAAAAAGZhaWxlZCB0byBmaW5kIHRoZSAlYyVjIFZQRCBwYXJhbWV0ZXIKAAAAAAAA
+AAAAAGZhaWxlZCB0byBwYXJzZSB0aGUgJWMlYyBWUEQgcGFyYW1ldGVyCgAAAAAAAAAAAG1lbV9w
+cmVwOiBlcnJvciwgcmV0ICVkCgAAAAAAAAAAZmFpbGVkIHRvIHN1Y2Nlc3NmdWxseSBmaW5kIENo
+ZWxzaW8gVlBECgAAAAAAAAAAdnBkX3ByZXA6IGVycm9yLCByZXQgJWQKAAAAAAAAAABzZXJjZmdf
+cHJlcDogZXJyb3IsIHJldCAlZAoAAAAAAGxvZyBpbml0aWFsaXplZCBAIDB4JTA4eCBzaXplICV1
+ICgldSBlbnRyaWVzKSBmd3JldiAweCUwOHggcGNpZV9mdyAweCUwOHgKAAAAAAAAUEkgZXJyb3Ig
+Zmxvd2lkX2xlbjE2IDB4JXgsIGFwcF90YWcgMHgleCwgcmVmX3RhZyAweCV4LCBwaXNjICUwNHgg
+JTA0eCAlMDR4ICUwNHgKAAAAAAAAAAAAAAAAAAAAZmxvd2MgJXUgKFNHRSBlcWlkICV1KSAoRVRI
+Q1RSTCBxdWV1ZSkgZXhwZXJpZW5jZWQgYSBQQ0kgRE1BIFJFQUQgd29yayByZXF1ZXN0IGVycm9y
+IChpbmJvdW5kIHF1ZXVlICV1KQoAAAAAAAAAAGZsb3djICV1IChTR0UgZXFpZCAldSkgZXhwZXJp
+ZW5jZWQgYW4gdW5leHBlY3RlZCBQQ0kgRE1BIFJFQUQgd29yayByZXF1ZXN0IGVycm9yIChpbmJv
+dW5kIHF1ZXVlICV1KQoAAAAAAAAAAAAAAABFbmNvdW50ZXJlZCBTR0UgZmxvcCB3b3JrYXJvdW5k
+LCBJZ25vcmUgb3Bjb2RlCgBmbG93YyAldSBleHBlcmllbmNlZCBhbiB1bmV4cGVjdGVkIFBDSSBE
+TUEgUkVBRCBlcnJvciAoaW5ib3VuZCBxdWV1ZSAldSkKAAAAAAAAAGdhdGhlcl90YXNrc19mb3Jf
+dG1mOiBpZHggWzB4JXhdLCB0YXNrLWlkIFsweCV4XSwgY21kLWlkIFsweCV4XSwgYWN0aXZlIHRh
+c2tzIFsweCV4XS4gY29ubi1pZCBbMHgleF0sIGNtZCBjb25uLWlkIFsweCV4XSwgdGFzayBjb25u
+LWlkIFsweCV4XQoAAGdhdGhlcl90YXNrc19mb3JfdG1mOiBJbnZhbGlkIHR5cGUgWzB4JXhdLCBi
+YWlsaW5nIG91dC4KAAAAAAAAAABnYXRoZXJfdGFza3NfZm9yX3RtZjogdGFzayBpZCBbMHgleF0s
+IHN0YXRlIFsweCV4XSwgbGlkeCBbMHgleF0sIGNvb2tpZSBoaSBbMHglMDh4XSA6IGxvIFsweCUw
+OHhdCgAAAAAAAAAAAAAAAAAAZ2F0aGVyX3Rhc2tzX2Zvcl90bWY6IHJjIFsweCV4XSwgWzB4JXhd
+IHRhc2sgZ2F0aGVyZWQgZm9yIHRtZiB0eXBlIFsweCV4XSBwcm9jZXNzaW5nLgoAAAAAAAAAAAAA
+c2NzaV9kYXRhX291dDogY29ubl9mYyBbMHgleF0sIHN0YXRlIFsweCV4XSwgc2Vzc19mYyBbMHgl
+eF0gaW4gcmVjb3ZlcnkuIFNraXBwaW5nIGlzdGFza19mYyBbMHgleF0gZnJvbSBUWC4KAAAAAHNl
+bmRfbXNnX3BsZDogZmMgeyBpZCBbMHgleF0sIGZsYWdzIFsweCV4XSwgYnVmZmVyZWQgWyV1XS4g
+fQoAAABzZW5kX21zZ19wbGQ6IHNlc3MgeyBpZCBbMHgleF0gfSwgdWxwdHhjaCBbJXVdIG5vIGNy
+ZWRpdHMgYXZhaWxhYmxlLCByZXNjaGVkdWxpbmcgcmVxdWVzdC4KAAAAAABzZW5kX2Fib3J0X3Jl
+cTogY3NrX2ZjLT5mbG93Y190eXBlIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIHRp
+ZCBbMHgleF0sIHVscHR4Y2ggWyV1XSwgYnVmZmVyZWQgWyV1XQoAAAAAZmNfc2VuZF9hbGxvY19j
+cGw6IGZhaWxlZCB0byBzZXR1cCBmaWx0ZXIgY3R1cGxlCgAAAAAAAAAAAAAAAAAAAGZjb2VfY29t
+cHV0ZV9jdHVwbGUgMHgleDoleAoAAAAAY29tcHV0ZV9jdHVwbGUoKTogZmFpbGVkIHRvIHNldHVw
+IGZpbHRlciBjdHVwbGUKAAAAAAAAAAAAAAAAAAAAAEZDb0UgRkNCIGxpbmtkb3duOiBpb19yZXEg
+MHgleCV4IGlxaWQgMHgleCBmbG93aWQgMHgleCBvcCAweCV4CgBmY29lIG5vdGlmeSA6IFVwZGF0
+ZSBuZXcgRENCWCB2YWx1ZXMgVkkgc3RhdGUgMHgleCBwcmkgMHgleCBzY2hlZGNsIDB4JXggZGNi
+eF9kb25lIDB4JXgKAAAAAAAAAABmY29lIG5vdGlmeSA6IEZDRiBmbG93aWQgMHgleCwgdWxwY2gg
+MHgleCAKAAAAAABmY29lIG5vdGlmeSA6IEZDb0UgTElOS1VQOiBwb3J0IDB4JXgsIGV2ZW50IDB4
+JXgKAAAAAAAAAAAAAAAAAAAAZmNvZSBub3RpZnkgOiBGQ29FIExJTktET1dOOiBwb3J0IDB4JXgs
+IGV2ZW50IDB4JXgKAAAAAAAAAAAAAAAAAGZjb2Ugbm90aWZ5IDogRENCWCA6IHBvcnQgMHgleCwg
+cHJpb3JpdHkgMHgleCB1bHB0eGNoIDB4JXggY2xhc3MgMHgleAoAAAAAAAAAAAAAUkRFViBtc2cg
+Zmxvd2M6JXggc3RhdGUgMHgleCBldmVudCAweCV4CgAAAAAAAAAAY2FuY2VsIGZjYjoleCBzY2I6
+JXggc3RhdGU6JXgKAABGQ29FIEZDRiB0aW1lcjogZmxvd2Mgc3RhdGUgMHgleCwgcG9ydCAweCV4
+ICxmY2YgMHgleCwgZmxvd2NfaWQgMHgleAoAAAAAAAAAAAAAAGh3IHJlZ2lzdGVyIG9wZXJhdGlv
+biBub3QgY29tcGxldGluZywgcmVnIDB4JTA4eCBtYXNrIDB4JTA4eCB2YWx1ZSAweCUwOHggKHJl
+ZyAweCUwOHgpCgAAAAAAAAAAAE1ESU8gQ0w0NTogZmFpbGVkIHRvIHNldCB1cCBNTUQgYWRkcgoA
+AAAAAAAAAAAAAE1ESU86IGZhaWxlZCB0byB3cml0ZQoAAAAAAAAAAAAATURJTyBDTDQ1OiBmYWls
+ZWQgdG8gc2V0IHVwIE1NRCBhZGRyCgAAAAAAAAAAAAAATURJTzogZmFpbGVkIHRvIHJlYWQKAAAA
+AAAAAAAAAABtaWlfYWR2X2ZjWyV1XTogcmNhcHMgMHgleAoAAAAAAG1paV9hZHZfc3BlZWRbJXVd
+OiByY2FwcyAweCV4CgAAbmV0aWZfc2V0X21hYzogbDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl9t
+YnMgWzB4JXhdCgAAAAAAAAAAAAAAAHJlbW92aW5nIG1hYwoAAABub2RlLT5ncnAgWyUwNHggJTA0
+eCAlMDR4ICUwNHhdLCBub2RlX2lkICV1LCByZWZfY250ICV1CgAAAAAAAAAAREFEIGZvciBhZGRy
+IFslMDR4ICUwNHggJTA0eCAlMDR4XQoAAAAAAAAAAAAAAAAAY3BsX3R4X3BrdDogdmxhbmlkIFsw
+eCV4XQoAAAAAAABjcGxfdHhfcGt0OiB2bGFuaWQgWzB4JXhdCgAAAAAAAGZsb3djX2lkIFsldV0g
+bDJkZXZfZmMgWzB4JXhdIGFscmVhZHkgcmVjZWl2ZWQgUkEsIG5vdCBzZW5kaW5nIFJTCgAAAAAA
+AAAAAAAAAAAAZmxvd2NpZCBbJXVdIGwyZGV2X2ZjIFsweCV4XSBObyBJUHY2IHJvdXRlcgoAAAAA
+c2VuZF9jbG9zZV9yZXE6IGNza19mYy0+Zmxvd2NfdHlwZSBbMHgleF0sIGNza19mYy0+Zmxvd2Nf
+aWQgWzB4JXhdLCBjc2tfZmMtPnRjYl9zdGF0ZSBbMHgleF0KAAAAc2VuZF9jbG9zZV9yZXE6IGNz
+a19mYy0+Zmxvd2NfdHlwZSBbMHgleF0sIGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCB0aWQgWzB4
+JXhdLCB1bHB0eGNoIFsldV0sYnVmZmVyZWQgWyV1XQoAAAAAAG9mbGRfdGNwX2RvX2FjdGl2ZV9j
+bG9zZTogY3NrX2ZjIFsweCV4XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+dGNi
+X3N0YXRlIFsweCV4XQoAAAAAAG9mbGRfdGNwX2RvX2FjdGl2ZV9jbG9zZTogY3NrX2ZjIFsweCV4
+XSwgY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+dGNiX3N0YXRlIFsweCV4XQoAAAAA
+AG9mbGRfdGNwX2Rpc2Nvbm5lY3Q6IHRjYl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZs
+b3djX2lkIFsweCV4XSwgY3NrLT50Y2Jfc3RhdGUgWzB4JXhdCgAAAGRlY29kZV9iYXNlNjRfc3Ry
+aW5nOiBkbGVuIFslZF0KAAAAAAAAAAAAAAAAAAAAAGRlY29kZV9oZXhfc3RyaW5nOiBkbGVuIFsl
+ZF0KAAAAZm9pc2NzaV92YWxpZGF0ZV9sb2dpbl9zdGFnZTogLSAxCgAAAAAAAAAAAAAAAAAAYXN5
+bmNfcGR1OiBsb2dvdXQgcmVxdWVzdGVkIGJsb2NraW5nIHNlc3Npb24KAAAAYXN5bmNfcGR1OiBz
+ZXNzL2Nvbm4gZHJvcCByZXF1ZXN0ZWQgYmxvY2tpbmcgc2Vzc2lvbgoAAAAAAAAAAAAAAGNwbF90
+eF9wa3Q6IHZsYW5pZCBbMHgleF0KAAAAAAAAcmVpbml0IGxpbmstbG9jYWwgYWRkcmVzcwoAAAAA
+AABuZXRfbDJkZXZfZmluZF9ieV9hZGRyOiBsMmRldl9mYy0+Zmxvd2NfaWQgWzB4JXhdLCBsMmRj
+LT5scG9ydCBbJXVdLCBsMmRfZmMtPmZsb3djX2lkIFsweCV4XSwgbDJkYy0+aW40X2Rldi5pbl9h
+ZGRyLmFkZHIgWzB4JXhdLCBhZGRyIFsweCV4XQoAAABuZXRfbDJkZXZfbXR1X2NvbmZpZzogbDJk
+ZXZfZmMtPmZsb3djX2lkIFsweCV4XSwgbXR1ICV1CgAAAAAAAAAAY3BsX3R4X3BrdDogdmxhbmlk
+IFsweCV4XQoAAAAAAABlbmNvZGUgaGV4IHN0cmluZzogZGxlbiBbJWRdCgAAAGNobmV0X2ZpbmRf
+bDJ0X2VudHJ5OiBkYWRkciBbJTA4eF0sIFsweCUwOHhdLCBsb2NhbCBuZXR3b3JrIFslZF0KAAAA
+AAAAAAAAAAAAAAAAbDJ0ZW50IFslMHhdLCBsMnRlbnQtPmlkeCBbJWRdCgB0Y3Bfc2VuZF9hb3Bl
+bl9yZXE6IGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCBjc2tfZmMtPmZsb3djX3N0YXRlIFsweCV4
+XSwgYnVmZmVyZWQgWyV1XSwgcmVzX2NudCBbMHgleF0sIGlxX2lkeCBbMHgleF0KAAAAAAAAAAAA
+AHRjcF9zZW5kX2FvcGVuX3JlcTogY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19mYy0+Zmxv
+d2Nfc3RhdGUgWzB4JXhdLCBubyB2YWxpZCBsMnRfZW50eS4gRGVsYXlpbmcgYW5vdGhlciByZXRy
+eSBmb3IgMSBzZWNvbmRzLgoAAAAAAAAAAAAAAAAAAGFvcGVuX3JlcTogaHdfbGVfZmlsdGVyX2N0
+dXBsZSBmYWlsZWQKAAAAAAAAAAAAAG9mbGRfdGNwX3NlbmRfYW9wZW5fcmVxOiBjcGxfcmVxLT5G
+aWx0ZXJfaGkgWzB4JTB4XSwgY3BsX3JlcS0+RmlsdGVyX2xvX0ZDb0VNYXNrIFsweCUweF0sIGN0
+dXBsZXNbMF0gWzB4JXhdLCBjdHVwbGVzWzFdIFsweCV4XQoAbGFkZHJfcmV0OiBsMmRjLmFkZHIg
+OjB4JXgsIHNyY19hZGRyOjB4JXgKAAAAAAAAaXR0X3RvX3Rhc2tfaWR4OiB0YWcgWzB4JTA4eF0s
+IGhpIFsldV0sIGxvIFsldV0sIG5tYXNrYml0cyBbJXVdLCB0YXNrX2lkeCBbJXVdCgBXQVRDSERP
+RzogTm8gdGVtcGVyYXR1cmUgc2Vuc29yIGF2YWlsYWJsZS4KAAAAAABXQVRDSERPRzogQWN0aXZh
+dGluZwoAAAAAAAAAAAAAAFdBVENIRE9HIC0gRW5hYmxlIGFjdGlvbiAldSB0aW1lICV1CgAAAAAA
+AAAAAAAAAFdBVENIRE9HIC0gRGlzYWJsZSBhY3Rpb24gJXUKAAAAV0FUQ0hET0c6IERlLWFjdGl2
+YXRpbmcKAAAAAAAAAABwb3J0WyV1XSBzZXQgUEFVU0UgUEFSQU1TOiBwcHBlbiAldSB0eHBlICUj
+eCByeHBlICUjeAoAAAAAAAAAAAAAbXBzX2xpbmtfdXBbJXVdIGFjYXBzICUjeCAoODAyLjMgJSN4
+KSArIGxwYWNhcHMgJSN4ID0+ICUjeAoAAAAAAGlwdjZfaGFuZGxlX2xpbmtfZG93biBmbG93Y19p
+ZCAweCV4CgAAAAAAAAAAAAAAAGlwdjZfaGFuZGxlX2xpbmtfdXAgZmxvd2NfaWQgMHgleAoAAAAA
+AAAAAAAAAAAAAGZvaXNjc2kgY29ubl9mYyBbMHgleF0sIGZsb3djX3NjaGVkY2wgWzB4JXhdLCBp
+bmdfY2ggWzB4JXhdLCBlZ3JfY2ggWzB4JXhdCgAAAAAAbDJkZXZfbm90aWZ5IHdpdGggdW5rbm93
+biBmbGFnIFsweCV4XQoAAAAAAAAAAAAASW52YWxpZCByYXRlICV1IGticHMsIG91dCBvZiBjb25m
+aWd1cmVkIGdyYW51bGFyaXR5IHJhbmdlcwoAAAAAAERDQlg6IHN1bSBvZiByYXRlcyBvbiBhbGwg
+Y2xhc3NlcyBtdXN0IGJlIDEwMCAoYWN0dWFsOiAldSkKAAAAAAByaV93cl9pbml0WyV1XTogbXNz
+ICV1IGlzIG5vdCA4LWJ5dGUgYWxpZ25lZAoAAABjb3JlX3Byb2dyYW1fdGNiOiB0aWQgJSN4IHRf
+c3RhdGUgJSN4IHJjdl9hZHYgMHglMDh4IHJjdl9zY2FsZSAlI3ggdHhfbWF4ICUjeCByY3Zfbnh0
+ICUjeCBhdGlkICUjeAoAAAAAAAAAAAAAAAAACW9wdDAgJSN4JXggb3B0MiAlI3ggaXB2NiAlI3gg
+ZmxhZ3NfdGltZXIgMHglMDh4CgAAAAAAAAAAAAAAAAAAAG9mbGRfY29ubmVjdGlvbl93cjogY29u
+bmVjdGlvbiB3aXRoIDUtdHVwbGUgbHAgMHglMDR4IGZwIDB4JTA0eCBsaXAgMHglMDh4JTA4eCBw
+aXAgMHglMDh4JTA4eCBmaWx0ZXIgMHglMDh4IGV4aXN0cyBAIExFIGluZGV4ICV1CgAAAAAAAAAA
+AAAAAAAAAG9mbGRfY29ubmVjdGlvbl93cjogY29ubmVjdGlvbiB3aXRoIDUtdHVwbGUgbHAgMHgl
+MDR4IGZwIDB4JTA0eCBsaXAgMHglMDh4IHBpcCAweCUwOHggZmlsdGVyIDB4JTA4eCBleGlzdHMg
+QCBMRSBpbmRleCAldQoAAAAAAAAAb2ZsZF9jb25uZWN0aW9uX3dyOiBjb25uZWN0aW9uIHdpdGgg
+NS10dXBsZSBscCAweCUwNHggZnAgMHglMDR4IGxpcCAweCUwOHglMDh4IHBpcCAweCUwOHglMDh4
+IGZpbHRlciAweCUwOHgKAAAAAG9mbGRfY29ubmVjdGlvbl93cjogY29ubmVjdGlvbiB3aXRoIDUt
+dHVwbGUgbHAgMHglMDR4IGZwIDB4JTA0eCBsaXAgMHglMDh4IHBpcCAweCUwOHggZmlsdGVyIDB4
+JTA4eAoAAAAAAAAAAAAAAABFUSAoZnJlZXNsaXN0KSBwZm4gJXUgdmZuICV1OiBmbGlkX2EgJXUg
+ZmV0Y2ggYnVyc3QgbWF4WyV1XSAldSAoJXUgYnl0ZXMpID4gMjgKAElRRkxJTlQgcGZuICV1IHZm
+biAldTogaXFpZCAldSB0b28gbGFyZ2UgKG1heCAldSkKAAAAAAAAAAAAAAAAAABJUUZMSU5UIHBm
+biAldSB2Zm4gJXU6IGlxaWQgJXUgbm90IGFsbG9jYXRlZAoAAABJUUZMSU5UIHBmbiAldSB2Zm4g
+JXU6IGZsMGlkICV1IHRvbyBsYXJnZSAobWF4ICV1KQoAAAAAAAAAAAAAAAAASVFGTElOVCBwZm4g
+JXUgdmZuICV1OiBmbDBpZCAldSBub3QgYWxsb2NhdGVkCgAASVFGTElOVCBwZm4gJXUgdmZuICV1
+OiBmbDFpZCAldSB0b28gbGFyZ2UgKG1heCAldSkKAAAAAAAAAAAAAAAAAElRRkxJTlQgcGZuICV1
+IHZmbiAldTogZmwxaWQgJXUgbm90IGFsbG9jYXRlZAoAAElRRkxJTlQgcGZuICV1IHZmbiAldTog
+ZmwxaWQgJXUgaXMgdmFsaWQgYnV0IG5vdCBmbDBpZCAldQoAAAAAAABJUUZMSU5UIHBmbiAldSB2
+Zm4gJXU6IGZsMWlkICV1IGlzIHZhbGlkIGJ1dCBoZWFkZXIgc3BsaXQgZmVhdHVyZSBpcyBub3Qg
+ZW5hYmxlZAoAAAAAAAAAAAAAAAAAAABFUSBwZm4gJXUgdmZuICV1OiBjcmVhdGluZyBFVEggZXFp
+ZCAldSB3aXRoIHBlbmRpbmcgV1IocykgKG51bV9ieXRlcyAldSBhbmQgZmxhZ3MgMHglMDh4CgAA
+AAAAAABFUSBwZm4gJXUgdmZuICV1OiBjcmVhdGluZyBDVFJMIGVxaWQgJXUgd2l0aCBwZW5kaW5n
+IFdSKHMpIChudW1fYnl0ZXMgJXUgYW5kIGZsYWdzIDB4JTA4eAoAAAAAAABFUSBwZm4gJXUgdmZu
+ICV1OiBlcWlkICV1IHRvbyBsYXJnZSAobWF4ICV1KQoAAABFUSBwZm4gJXUgdmZuICV1OiBlcWlk
+ICV1IG5vdCBhbGxvY2F0ZWQKAAAAAAAAAABkY2J4X3BvcHVsYXRlX2N0cmwgY29kZSBpbmNvbXBs
+ZXRlCgAAAAAAAAAAAAAAAAB2aV90Y2FtX3JhdyBpZHggJXUgbWFjIDB4JTA0eCAlMDh4CgAAAAAA
+AAAAAAAAAABwb3J0X2JsaW5rX2xlZF9yZXN0b3JlCgAAAAAAAAAAAHBvcnRfYmxpbms6IGJsaW5r
+ZHVyPTB4JXggYmxpbmtfcmVmY250CgAAAAAAAAAAAHBvcnRfYmxpbms6IAlibGlua19yZWZjbnQ9
+MHgleAoAcG9ydF9ibGluazogCWJsaW5rX3JlZmNudD0weCV4CgBtaWlfYW5yZXN0YXJ0WyV1XTog
+YWNhcHMgMHgleAoAAHBvcnRfY21kX2hhbmRsZXI6IHVua25vd24gdS5kY2IudHlwZSAweCV4CgAA
+AAAAAGJhZCBGbG93QyAlZCBvbiBlc3RhYmxpc2hlZCBjb25uZWN0aW9uCgAAAAAAAAAAAGV0aF9m
+bG93Y19oYW5kbGVyWzB4JXhdOiBmbGFncyAweCUwOHggbnVtX2J5dGVzICV1IHNjaGVkY2wgMHgl
+eCAtPiAweCV4CgAAAAAAAAAAdGFza19pZHhfdG9faXR0OiB0YXNrX2lkeCBbJXVdLCBoaSBbJXVd
+LCBsbyBbJXVdLCBubWFza2JpdHMgWyV1XSwgc3dfdGFnIFsweCUwOHhdLCBwcG9kX2lkeCBbJWRd
+CgAAAAAAAAAAAAAAAAAAAHNjc2lfY21kOiByZWNlaXZlZCBUTUYgb3AgWzB4JXhdIGZ1bmMgWzB4
+JXhdIG9uIGNvbm4gWzB4JXhdIHRocm91Z2ggY29tbWFuZCBwYXRoLgoAAAAAAAAAAAAAAAAAAHNj
+c2lfY21kOiBjb25uX2ZjIFsweCV4XSwgc3RhdGUgWzB4JXhdLCBzZXNzX2ZjIFsweCV4XSBpbiBy
+ZWNvdmVyeS4gU2tpcHBpbmcgaXN0YXNrX2ZjIFsweCV4XSBmcm9tIFRYLgoAAAAAAAAAAABzY3Np
+X3JlYWQ6IGNvbm5fZmMgWzB4JXhdLCBzdGF0ZSBbMHgleF0sIHNlc3NfZmMgWzB4JXhdIGluIHJl
+Y292ZXJ5LiBTa2lwcGluZyBpc3Rhc2tfZmMgWzB4JXhdIGZyb20gVFguCgAAAAAAAAAAc2NzaV93
+cml0ZTogY29ubl9mYyBbMHgleF0sIHN0YXRlIFsweCV4XSwgc2Vzc19mYyBbMHgleF0gaW4gcmVj
+b3ZlcnkuIFNraXBwaW5nIGlzdGFza19mYyBbMHgleF0gZnJvbSBUWC4KAAAAAAAAAGRjYnhfY29u
+dHJvbF9zbVsldV0gQ09OVFJPTF9MSU5LVVAKAAAAAAAAAAAAAAAAAGRjYnhfY29udHJvbF9zbVsl
+dV0gQ09OVFJPTF9VUERBVEVfRENCWF9UTFYKAAAAAGRjYnhfY29udHJvbF9zbVsldV0gQ09OVFJP
+TF9QRUVSX05PVF9BRFZFUlRJU0VfRENCWAoAAAAAAAAAAAAAAABkY2J4X2NvbnRyb2xfc21bJXVd
+IENPTlRST0xfVVBEQVRFX09QRVJfVkVSU0lPTgoAAAAAAAAAAAAAAAAAAAAAZGNieF9jb250cm9s
+X3NtWyV1XSBDT05UUk9MX1BST0NFU1NfUEVFUl9UTFYKAAAAZGNieF9jb250cm9sX3NtWyV1XSBD
+T05UUk9MX0FDS19QRUVSCgAAAAAAAAAAAAAAZGNieF9pZWVlX3ZhbGlkYXRlWyV1XSBlcnJvciAo
+b3VpICUjeCBzdWJ0eXBlICUjeCBsZW4gJSN4KQoAAAAAAGRjYnhfY2VlX3ZhbGlkYXRlWyV1XSBl
+cnJvcgoAAAAAY2huZXRfbDJ0X3VwZGF0ZTogbDJkZXZfZmMgWzB4JXhdLCBsMmRldl9mYy0+Zmxv
+d2NfaWQgWyV1XSBsMmRldl9mYy0+Zmxvd2NfZmxhZ3MgWzB4JXhdLCBpbnRmIFsweCV4XQoAAAAA
+AAAAAAAAAGNobmV0X2wydF91cGRhdGU6IGwyZGV2X2ZjLT5mbG93Y19pZCBbJXVdIGFscmVhZHkg
+c2NoZWR1bGVkCgAAAABjaG5ldF9sMnRfdXBkYXRlOiBpbiBkZWxheWVkX3Byb2Nlc3NpbmcsIGwy
+dGVudCBbJTA4eF0KAAAAAAAAAAAAREhDUHY2IFJFUExZIHJlY2VpdmVkIHN0YXRlICV1CgBkaGNw
+IHJlcGx5IHJlY2VpdmVkIGluIHdyb25nIHN0YXRlICVkCgAAAAAAAAAAAAB1bmtub3duIHNlcnZl
+cmlkLiBJZ25vcmluZyBkaGNwIHJlcGx5CgAAAAAAAAAAAAByZWNlaXZlZCByZXBseSB3aXRoIGRp
+ZmZlcmVudCBhZGRyZXNzLiBpZ25vcmluZyBkaGNwIHJlcGx5CgAAAAAAREhDUHY2IEFEVkVSVElT
+RSByZWNlaXZlZAoAAAAAAABkaGNwIGFkdmVydGlzZSByZWNlaXZlZCBpbiB3cm9uZyBzdGF0ZSAl
+ZAoAAAAAAABpZ25vcmluZyByY3ZkIGFkdmVydGlzZSBwcmVmZXJlbmNlICV1CgAAAAAAAAAAAABw
+cmVmaXggbm9kZSAweCV4LCB2YWxpZF9saWZldGltZSAldSwgY3VycmVudF90aW1lICV1IGV4cGly
+ZWQsIGRlbGV0aW5nIGl0CgAAAAAAAERlbGV0ZWQgcHJlZml4OiAweFslMDR4ICUwNHggJTA0eCAl
+MDR4XQoAAAAAAAAAAFN0YXJ0IERIQ1B2NiB0byBnZXQgdGhlIGlwIGFkZHJlc3MKAAAAAAAAAAAA
+AAAAAE5vIGRoY3AsIGRoY3Agc3RhdGUgJWQsIGFkZHIgc3RhdGUgJWQKAAAAAAAAAAAAAHBpbmcg
+cmVxIHBheWxvYWQgdG9vIGxhcmdlICV1LiBJZ25vcmluZyByZXEuCgAAAFJSIHJjdmQKAAAAAAAA
+AABjaG5ldF9pcHY2X3JkX2lucHV0OiBJbnZhbGlkIFJlZGlyZWN0CgAAAAAAAAAAAABjaG5ldF9p
+cHY2X25hX2lucHV0OiBJbnZhbGlkIE5BCgAAAAAAAAAAAAAAAAAAAABpcHY2IE5BIHJjdmQKAAAA
+Y2huZXRfaXB2Nl9uYV9pbnB1dDogRHVwbGljYXRlIGFkZHJlc3MgZGV0ZWN0ZWQhCgAAAAAAAAAA
+AAAAAAAAAE5BIGluIHJlcG9uc2Ugb2YgTlMKAAAAAAAAAAAAAAAAY2huZXRfaXB2Nl9uc19pbnB1
+dDogSW52YWxpZCBOUwoAAAAAAAAAAAAAAAAAAAAAY2huZXRfaXB2Nl9uc19pbnB1dDogSW52YWxp
+ZCBOUyBpcHY2aC0+cGxlbiAldQoAaXB2NiBOUyByY3ZkCgAAAGNobmV0X2lwdjZfbnNfaW5wdXQ6
+IER1cGxpY2F0ZSBhZGRyZXNzIGRldGVjdGVkCgAAAAAAAAAAAAAAAAAAAABjaG5ldF9pcHY2X25z
+X2lucHV0OiBzb21lYm9keSB0cnlpbmcgdG8gdXNlIG91ciBhZGRyZXNzCgAAAAAAAAAAY2huZXRf
+aXB2Nl9uc19pbnB1dDogcmVxIGZvciBhZGRyIHJlc29sdXRpb24KAAAASG9wIGJ5IEhvcCBvcHRp
+b24KAAAAAAAAAAAAAAAAAABwcm9jZXNzX2RoY3Bfb3B0czogcm9vdCBwYXRoIGxlbiBbJWRdIGJ5
+dGVzCgAAAABuZXRpZl9wcm9jZXNzX2RoY3Bfb3B0czogbDJkZXZfZmMtPmZsb3djX2lkIFsweCV4
+XSwgTVNHX1RZUEUgWyVkXSwgZGhjdHh0LT5zdGF0ZSBbJWRdCgAAAAAAAAAAAABpY21wX3JlY3Y6
+IGwyZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIHBpZCBbMHgleF0sIGljbXAgdHlwZSBbMHgleF0K
+AAAAAAAAAAAAAAAAAHZuMnZuOiBwb3J0IDB4JXggZGlkOjB4JXgleCV4IFVQCgAAAAAAAAAAAAAA
+AAAAAHZuMnZuOiBwb3J0IDB4JXggZGlkOjB4JXgleCV4IERPV04KAAAAAAAAAAAAAAAAAGZjX3Nl
+bmRfYWxsb2NfY3BsOiBmYWlsZWQgdG8gc2V0dXAgZmlsdGVyIGN0dXBsZQoAAAAAAAAAAAAAAAAA
+AABmY29lX2NvbXB1dGVfY3R1cGxlIDB4JXg6JXgKAAAAAGNvbXB1dGVfY3R1cGxlKCk6IGZhaWxl
+ZCB0byBzZXR1cCBmaWx0ZXIgY3R1cGxlCgAAAAAAAAAAAAAAAAAAAABmY29lX2NvbXB1dGVfY3R1
+cGxlIHZsYW4gJXggdmlpZCAleCBwb3J0ICV4IG1wc19pZHggJXgKAAAAAAAAAAAAQUJUUyBBQ0Mg
+YXdhaXRpbmcgUFJMSSBSc3A6IGZsb3djX2lkIDB4JXggb3hfaWQgMHgleCByeF9pZCAweCV4IGlx
+aWQgMHgleAoAAAAAAABwb3J0IDB4JXgsIHN0YXRlIDB4JXgsIGNvbW1hbmQgZmFpbGVkIHJldHJp
+ZXMgMHgleAoAAAAAAAAAAAAAAAAAYXJwX3JlY3Y6IGlwaWQgWzB4JXhdLCBpbl9hZGRyLmFkZHIg
+WzB4JXhdLCBzaXAgWzB4JXhdLCByaXAgWzB4JXhdLCBhcnBfb3AgWzB4JXhdCgAAAAAAAAAAAAAA
+AAAAY2huZXRfYXJwX3JlY3Y6IGlwIGNvbmZsaWN0IGRldGVjdGVkCgAAAAAAAAAAAAAAY2huZXRf
+YXJwX3JlY3Y6IHBpZCBbJXVdLCB2bGFuIFsweCV4XSwgYXJwIG9wIFsweCV4XSwgc2lwIFsweCV4
+XSwgcmlwIFsweCV4XQoAAABjaG5ldF9pcHY2X3JlY3Y6IHZsYW4gZXh0cmFjdGVkLCB2bGFuaWQg
+WyV1XSwgbDJkZXZfZmMtPmZsb3djX25ldF9sMmRldl92bGFuZGV2IFsweCV4XQoAAAAAAAAAAABJ
+bnZhbGlkIGRhdGEgbGVuZ3RoIGRsZW4gJXUsIHBhY2tldCBpbmRpY2F0ZXMgJXUgYnl0ZXMKAAAA
+AAAAAAAAVW5rbm93biBJUHY2IG54dCBwcm90b2NvbCAldQoAAABjc29ja19mcmVlOiBzaXplb2Yo
+Y3NrX2ZjLT51LmNzb2NrKSBbJXVdLCBieXRlcwoAAAAAAAAAAAAAAAAAAAAAR290IENPTk5fRVhJ
+U1QgZm9yIHhpZDoweCV4LCB0YWc6MHgleCwgcmV0cnlpbmcuCgAAAAAAAAAAAAAAAAAAAGNzb2Nr
+X3BlZXJfY2xvc2U6IGNza19mYy0+Zmxvd2NfaWQgWzB4JXhdLCB0Y2JfZmMtPmZsb3djX2lkIFsw
+eCV4XSwgY3NrX2ZjLT5mbG93Y19zdGF0ZSBbMHgleF0sIHRjYl9mYy0+Zmxvd2Nfc3RhdGUgWzB4
+JXhdCgAAAAAAY3NvY2tfcGVlcl9jbG9zZTogY3NrX2ZjLT5mbG93Y19pZCBbMHgleF0sIGNza19m
+Yy0+Zmxvd2Nfc3RhdGUgIFsweCV4XQoAAAAAAAAAAAB0Y3BfY2xzX2FicnRfcnBsOiB0Y2IgdGlk
+IFsweCUwNnhdLCBmbG93Y190eXBlIFsweCV4XSwgY3Bsb3AgWzB4JXhdIGZsb3djX3N0YXRlIDB4
+JXgKAAAAAAAAAAAAAABDYW5ub3QgZ2V0IGNoYW5uZWwgcmF0ZSAldSB3aXRoIGNvbmZpZ3VyZWQg
+Z3JhbnVsYXJpdGllcy4gQ2hlY2sgY29uZmlnIGZpbGUKAAAAAHBrdHNjaGVkX2NoX3JsWyV1XTog
+Y2hhbm5lbCBybCBub3QgYXZhaWxhYmxlIGluIGNvbmp1bmN0aW9uIHdpdGggZmxvdyBzaGFwaW5n
+CgAAcGt0c2NoZWRfY2hfcmxbJXVdOiByYXRlICV1IG1heCAldQoAAAAAAAAAAAAAAAAAcGt0c2No
+ZWRfY2xfd3JyWyV1OiV1XTogd2VpZ2h0ICV1CgAAAAAAAAAAAAAAAAAAZXFfcGFyYW1zWzB4JXg6
+MHgleF06IGRtYXEgMHgleCByZWFkICV1IHBmICV1IGVxaWRfYXBpICV1IHJldCAlZAoAAAAAAAAA
+AAAAAAAAAABod19tYV9hZGRyX3RvX21lbV90eXBlX29mZjogTUEgYWRkcmVzcyAweCUwOHggaXMg
+bm90IG1hcHBlZAoAAAAAaHdfbWFfYWRkcl90b19tZW1fdHlwZV9vZmY6IE1BIGFkZHJlc3MgMHgl
+MDh4IG1hcHMgdG8gdHlwZSAldSBvZmZzZXQgMHgleAoAAAAAAABtZW1fbWFsbG9jX3RlbXA6IGZh
+aWxlZCB0byBhbGxvY2F0ZSAldSBieXRlcywgcmV0dXJuaW5nIE5VTEwKAAAAbWVtX21hbGxvYzog
+ZmFpbGVkIHRvIGFsbG9jYXRlICV1IGJ5dGVzLCByZXR1cm5pbmcgTlVMTAoAAAAAAAAAAGxlIGNv
+bmZpZ3VyYXRpb246IHJlcXVlc3RlZCAldSB0Y2FtIGVudHJpZXMgYnV0IG9ubHkgJXUgYXZhaWxh
+YmxlIChuZmlsdGVyICV1IG5zZXJ2ZXIgJXUgbmhwZmlsdGVyICV1CgAAAAAAAAAAAABsZSBjb25m
+aWd1cmF0aW9uOiB0Y2FtIHJlZ2lvbnMgbXVzdCBoYXZlIG11bHRpcGxlIG9mIDY0IGVudHJpZXMs
+IG5maWx0ZXIgJXUgbmhwZmlsdGVyICV1IG5zZXJ2ZXIgJXUKAAAAAAAAAAAAAAAAaHdfdHBfdGNw
+X3R1bmluZ3M6IHR1bmluZyBmb3IgY2x1c3RlciBlbnZpcm9ubWVudAoAAAAAAAAAAAAAAAAAAGh3
+X3RwX3RjcF90dW5pbmdzOiB0dW5pbmcgZm9yIExBTiBlbnZpcm9ubWVudAoAAGh3X3RwX3RjcF90
+dW5pbmdzOiB0dW5pbmcgZm9yIFdBTiBlbnZpcm9ubWVudAoAAGh3X3RwX3RjcF90dW5pbmdzOiBt
+YW51YWwgdHVuaW5nCgAAAAAAAAAAAAAAAAAAAF9od19jaW1fZmxhc2hfbWVtY3B5OiBtZW1jcHlY
+IHN0YXJ0CgAAAAAAAAAAAAAAAF9od19jaW1fZmxhc2hfbWVtY3B5OiBkc3QgMHglMDggb2Zmc2V0
+IDB4JTA4eCBzaXplICV1LCB3aWR0aCBvZiAldSBpcyBub3Qgc3VwcG9ydGVkCgAAAAAAAAAAAAAA
+AF9od19jaW1fZmxhc2hfbWVtY3B5OiBtZW1jcHlYIGVuZAoAAAAAAAAAAAAAAAAAAGNvbmZpZ3Vy
+YXRpb24gZmlsZSBwYXJzZXIgZW5jb3VudGVyZWQgZXJyb3IgQCBsaW5lICV1OgoAAAAAAAAAAABI
+T1NUIFBBR0VfU0laRSBbMHglMGx4XSB0b28gc21hbGwsIG1pbiBbMHglMGx4XSByZXF1aXJlZAoA
+AAAAAAAAcGFnZSBzaXplIFslbHVdIG1pc21hdGNoCgAAAAAAAABQQUdFIHNpemUgJWx1IHVuc3Vw
+cG9ydGVkLCBkZHAgZGlzYWJsZWQKAAAAAAAAAABIb3N0IHBhZ2Vfc2l6ZSAlbHUsIGRkcF9pZHgg
+JXUKAHRsc19ibV9pbml0OiBtZW1fbWFsbG9jIGZhaWxlZCEKAAAAAAAAAAAAAAAAAAAAAEZDb0Ug
+RERQIGluaXQ6IGZjb2UgbGxpbWl0IDB4JXgsIGZjb2UgdWxpbWl0IDB4JXggZ2JsIGxsaW1pdCAw
+eCV4IGdibCB1bGltaXQgMHgleCBwY2JzeiAleAoAAAAAAEZDb0UgRERQIGluaXQ6IGZjb2UgcHBv
+ZCBvZmYgMHgleCwgZmNvZSBzdCBwcG9kIGFkZHIgMHgleCBmY29lIG51bSBwcG9kcyAweCV4CgAA
+ZmNvZSB4Y2hnIG1nciBpbml0OiBOdW1iZXIgb2YgZXhjaGFuZ2VzIGZvciBGQ29FIGlzICV4CgAA
+AAAAAAAAAGZjb2VfbDJ0X2luaXQ6IE5vIHVscHR4IGNyZWRpdCBjaDpbJXVdCgAAAAAAAAAAAGZj
+b2VfbDJ0X2luaXQ6IGNoOlsldV0gbDJ0X2lkeCBbJXVdCgAAAAAAAAAAAAAAAG5vIGwydCBlbnRy
+aWVzIGNvbmZpZ3VyZWQ7IGZvcmNpbmcgJXUgZW50cmllcywgc3RhcnRpbmcgYXQgJXUKAABkY2J4
+X2llZWVfY29uc3RydWN0WyV1XSBldHMgJXUgcGZjICV1IGFwcCAldQoAAABkY2J4X3RpbWVvdXRb
+JXVdCgAAAAAAAAAAAAAAAAAAAGRjYnhfcnVuX3ZlcnNpb25fc21bJXVdIERDQlhfVkVSX1NUQVRF
+X1JVTl9JRUVFCgAAAAAAAAAAAAAAAAAAAABkY2J4X3J1bl92ZXJzaW9uX3NtWyV1XSBEQ0JYX1ZF
+Ul9TVEFURV9SVU5fQ0VFCgBkY2J4X3J1bl92ZXJzaW9uX3NtWyV1XSBEQ0JYX1ZFUl9TVEFURV9S
+VU5fTk9ORQoAAAAAAAAAAAAAAAAAAAAATUFDIGZhaWxlZCB0byByZXN5bmMgdHgKAAAAAAAAAABy
+eF9jb25maWcgc3BlZWQgMHgleCBwbGxfc2VsICVkIGJ3X3NlbCAlZAoAAAAAAABwb3J0WyV1XSBs
+aW5rIHVwICgldSkgKHNwZWVkICUjeCBhY2FwcyAlI3ggbHBjYXBzICUjeCkKAAAAAAAAAAAAcG9y
+dF9oc3Nfc2lnZGV0WyV1XTogaHNzX3NpZ2RldCBjaGFuZ2VkIHRvIDB4JXgKAAAAAAAAAAAAAAAA
+AAAAAHBvcnRbJXVdIGluaXRpYWxpemluZyBLUgoAAAAAAAAAQ2FsY3VsYXRpb24gb3V0IG9mIGJv
+dW5kcyBmdXJpbmcgaW5pdDogJSN4ICUjeCAlI3gKAAAAAAAAAAAAAAAAAGxlIGNvbmZpZ3VyYXRp
+b246IGhhc2ggbW9kZSByZXF1aXJlcyBhdCBsZWFzdCAxNiBlbnRyaWVzLCBuaGFzaCAldQoAAAAA
+AAAAAAAAAAAAbGUgY29uZmlndXJhdGlvbjogaGFzaCBzaXplICV1IG11c3QgYmUgbXVsdGlwbGUg
+b2YgJXUsIG5oYXNoICV1CgAAAAAAAAAAAAAAAAAAAABBZGRpbmcgbWF0Y2gtYWxsIGNsaXAgZW50
+cnkgQCBsb2MgMHgleC8lZAoAAAAAAABod19zZ2VfbWFtZW1faW5pdDogZW5jb3VudGVyZWQgZXJy
+b3IgJWQKAAAAAAAAAABfaHdfdHBfcGdtbmd0OiB0eF9wYWdlX21heCAldSByeF9wYWdlX21heCAl
+dSBwc3RydWN0cyAldSBzaXplICV1CgAAAAAAAAAAAAAAAAAAAG1wYXJ0aXRpb25fb3RoZXJzX3Rv
+dGFsOiBkZHAgJXUgZGRwX2lzY3NpICV1IHN0YWcgJXUgcGJsICV1IHJxICV1IHJxdWRwICV1IC0+
+ICV1CgAAAAAAAAAAAAAAAAAAAF9tcGFydGl0aW9uX2JhbmtzX21jWDogbmJhbmtzX3BtdHggJXUg
+KCV1TUIpIG5iYW5rc19wbXJ4ICV1ICgldU1CKSBuYmFua3Nfb3RoZXJzICV1ICgldU1CKSBuYmFu
+a3NfZncgJXUgKCV1TUIpCgBfbXBhcnRpdGlvbl9iYW5rc19tYzE6IG5iYW5rc19wbXR4ICV1ICgl
+dU1CKSBuYmFua3Nfb3RoZXJzICV1ICgldU1CKSBuYmFua3NfZncgJXUgKCV1TUIpCgAAAAAAAABf
+bXBhcnRpdGlvbl9iYW5rc19tYzA6IG5iYW5rc19wbXJ4ICV1ICgldU1CKSBuYmFua3Nfb3RoZXJz
+ICV1ICgldU1CKQoAAAAAAAAAAAAAAG1lbV9tYWxsb2NfaW50ZXJuYWw6IGZhaWxlZCB0byBhbGxv
+Y2F0ZSAldSBieXRlcywgcmV0dXJuaW5nIE5VTEwKAAAAAAAAAAAAAAAAAAAAaHdfZWRjX2Jpc3Rb
+JXVdOiBiaXN0X2NtZFsweCUwOHhdIGFkZHIgMHgleCBsZW4gMHgleAoAAAAAAAAAAAAAAGh3X2Vk
+Y19iaXN0WyV1XTogZG9uZSwgZW5jb3VudGVyZWQgJXUgZXJyb3JzIG9uIGZpcnN0IGFuZCAldSBl
+cnJvcnMgb24gc2Vjb25kIGF0dGVtcHQgKCV1Z2JwcykKAG1lbV9pbml0X2NhY2hlczogY2FjaGVf
+c2l6ZSAldSBmbG93Y19idWZfdGNiX2NhY2hlX3NpemUgJXUgYnVmbGw2NF9jYWNoZV9zaXplICV1
+CgAAAAAAAAAAAAAAAAAAAG1wYXJ0aXRpb25fcG10eDogbSAweCUwOHggc2l6ZSAldQoAAAAAAAAA
+AAAAAAAAAG1wYXJ0aXRpb25fcG1yeDogbSAweCUwOHggc2l6ZSAldQoAAAAAAAAAAAAAAAAAAG1w
+YXJ0aXRpb25fZWRjIChubyBleHRtZW0pOiBtIDB4JTA4eCBzaXplICV1CgAAAG1wYXJ0aXRpb25f
+ZWRjX2VzdGltYXRlOiBodyBtb2R1bGVzIHJlcXVpcmUgJWQgYnl0ZXMgaW4gRURDCgAAAABUZW1w
+ZXJhdHVyZS9Wb2x0YWdlIFNlbnNvcjogQ29yZSBjbG9jayAldSA+ICV1OyBjYXBwaW5nIHRvIHN0
+YXkgaW4gY29tcGxpYW5jZSB3aXRoIGhhcmR3YXJlLgoAAABjaG5ldF9ieWU6bDJkZXZfZmMtPmZs
+b3djX2lkIFsweCV4XSwgbDJkZXZfZmMtPmZsb3djX3BjaWVfcGZuIFsweCV4XSwgbDJkZXZfZmMt
+PmZsb3djX3BjaWVfdmZuIFsweCV4XSwgcG9ydCBbMHgleF0KAAAAAAAAAAAAAAAAAGNobmV0X2J5
+ZTp2bGFuZGV2X2ZjLT5mbG93Y19pZCBbMHgleF0sIHZsYW5kZXZfZmMtPmZsb3djX3BjaWVfcGZu
+IFsweCV4XSwgdmxhbmRldl9mYy0+Zmxvd2NfcGNpZV92Zm4gWzB4JXhdLCBwb3J0IFsweCV4XQoA
+AAAAAAAAZm9pc2NzaV9jb3JlX2J5ZTogYWN0aXZlIHNlc3NfY250ICVkCgAAAAAAAAAAAAAAaHdf
+bWFjX2FlY19jb21wbGV0ZVsldV0gb24gbGFuZXMgJSN4IChzaWdkZXQgJSN4KSwgdHhfbGFuZXMg
+JSN4CgAAAAAAAAAAAAAAAAAAAABhZWNfZnNtWyV1XSA6IHN0YXRlIFNUQVJUIChzaWdkZXQgJSN4
+KQoAAAAAAAAAAABhZWNfZnNtWyV1XSA6IFRyYW5zaXRpb25pbmcgdG8gVFJBSU5JTkdfTE9DQUwK
+AABhZWNfZnNtWyV1XSA6IFRyYW5zaXRpb25pbmcgdG8gQ09FRl9TVEFUVVNfVVBBRFRFCgAAAAAA
+AAAAAAAAAAAAYWVjX2ZzbVsldV0gOiB0cmFuc2l0aW9uaW5nIHRvIFRSQUlOSU5HCgAAAAAAAAAA
+YWVjX2ZzbVsldV0gOiBUUkFJTklOR19DT01QTEVURQoAAAAAAAAAAAAAAAAAAAAAYWVjX2ZzbVsl
+dV0gOiBMb2NhbCBmYXVsdCB3aGlsZSB3YWl0aW5nIGZvciBsaW5rIHN0YXR1cyAweCV4IDogMHgl
+eAoAAAAAAAAAAAAAAABhZWNfZnNtWyV1XSA6IFJlbW90ZSBmYXVsdCB3aGlsZSB3YWl0aW5nIGZv
+ciBsaW5rIHN0YXR1cyAweCV4CgAAYWVjX2ZzbVsldV0gOiBSZW1vdGUgZmF1bHQgY2xlYXJlZCB3
+aGlsZSB3YWl0aW5nIGZvciBsaW5rIHN0YXR1cyAweCV4CgAAAAAAAAAAAABhZWNfZnNtWyV1XSA6
+IERPTkUKAAAAAAAAAAAAAAAAAGFlY19mc21bJXVdIHRpbWVkIG91dCB0cmFpbmluZyBGU01fU1RB
+VEVfMCAweCV4LCBfMSAweCV4IF8yIDB4JXggXzMgMHgleCwgTGluayBTdGF0dXMgMHgleAoAAAAA
+AGNvbnNvcnRpdW1fZmVjWyV1XTogbG9jYWwgMHgleCwgcmVtb3RlIDB4JXgsIG5lZ290aWF0ZWQg
+MHgleAoAAABiZWFuX2ZzbVsldV0gOiBzdGF0ZSBTVEFSVCAoY291bnQgPSAldSkKAAAAAAAAAABi
+ZWFuX2ZzbVsldV0gOiBlbnRlcmluZyBzdGF0ZSBXQUlUX1NJR0RFVAoAAAAAAABiZWFuX2ZzbVsl
+dV0gOiBlbnRlcmluZyBzdGF0ZSBCQVNFUF9IQU5ETEUKAAAAAABiZWFuX2ZzbVsldV0gOiBlbnRl
+cmluZyBzdGF0ZSBOWFBfSEFORExFCgAAAAAAAABiZWFuX2ZzbVsldV0gOiBlbnRlcmluZyBzdGF0
+ZSBXQUlUX0NPTVBMRVRFCgAAAABiZWFuX2ZzbVsldV0gOiBlbnRlcmluZyBzdGF0ZSBFWFRfTlhQ
+X0hBTkRMRQoAAABiZWFuX2ZzbVsldV0gOiBQRUVSIGRvZXNuJ3Qgc3VwcG9ydCBOUC4gRW50ZXJp
+bmcgc3RhdGUgV0FJVF9DT01QTEVURQoAAAAAAAAAAAAAAGJlYW5fZnNtWyV1XSA6IEVYVF9OWFBf
+SEFORExFIEludmFsaWQgbmV4dCBwYWdlCgAAAAAAAAAAAAAAAAAAAABiZWFuX2ZzbVsldV0gOiBl
+bnRlcmluZyBzdGF0ZSBFWFRfTU9SRV9OWFBfSEFORExFCgAAAAAAAAAAAAAAAAAAYmVhbl9mc21b
+JXVdIDogZW50ZXJpbmcgc3RhdGUgV0FJVF9GT1JfTlVMTF9QQUdFCgAAAAAAAAAAAAAAAAAAAGJl
+YW5fZnNtWyV1XSA6IGVudGVyaW5nIHN0YXRlIFdBSVRfQ09NUExFVEUKAAAAAGJlYW5fZnNtWyV1
+XSA6IElFRUUgcHR5cGUgMHgleCwgcmVtb3RlIDB4JXgsIG5lZ290aWF0ZWQgMHgleAoAAABiZWFu
+X2ZzbVsldV0gOiBzdGF0ZSBET05FCgAAAAAAAGJlYW5fZnNtWyV1XSA6IGZlYyBsb2NhbCAweCV4
+LCBuZWdvdGlhdGVkIDB4JXgKAGJlYW5fZnNtWyV1XSA6IHN0YXRlIFJFU1RBUlQxCgAAYmVhbl9m
+c21bJXVdIDogc3RhdGUgUkVTVEFSVDIKAABiZWFuX2ZzbVsldV0gOiBzdGF0ZSBSRVNUQVJUMwoA
+AGJlYW5fZnNtWyV1XSBUSU1FT1VUOyBzdGF0ZSAldSBldGhfc3RhdHVzICUjeCBiZWFuX3N0YXR1
+cyAlI3ggUENTX0RFQlVHMF9STyAlI3ggaHNzIHNpZ2RldCAlI3ggcmV0cnlfY250ICV1CgAAAABo
+d19tYWNfbGlua19zdGF0dXNbJXVdIGludF9jYXVzZSAweCV4LCBsaW5rX3N0YXR1cyAweCV4CgAA
+AAAAAAAAcG9ydCAldSBjaGFuZ2luZyBzcGVlZCB0byAxRwoAAABwb3J0ICV1IG5lZ290aWF0ZWQg
+dW5zdXBwb3J0ZWQgc3BlZWQgJSN4CgAAAAAAAABiZWFuL2FlYyBjb21wbGV0ZSAocmV0cnk6ICV1
+KQoAAHBvcnRbJXVdIHJlc2V0dGluZyBLUgoAAAAAAAAAAAAAcG9ydCAldSBuZWdvdGlhdGVkIHVu
+c3VwcG9ydGVkIHNwZWVkCgAAAAAAAAAAAAAAcG9ydFsldV0gbmVnb3RpYXRlZCBwdHlwZSAweCV4
+LCBzcGVlZCAweCV4LCBsYW5lcyAweCV4OjB4JXgsIGZlYyAweCV4CgAAAAAAAAAAAABiZWFuL2Fl
+YyBjb21wbGV0ZSAocmV0cnk6ICV1KQoAAE1DOiBHUE8gMHgleCwgUkxPIDB4JXgKAAAAAAAAAAAA
+cGZuICV1IHZmbiAldSBjb21wbGV0ZSBpbW1lZGlhdGUKAAAAAAAAAAAAAAAAAAAAYmFkIG1haWxi
+b3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgb3Bjb2RlIDB4JXggPiBMQVNUQzJFIDB4JXgKAG1h
+aWxib3ggY21kIG5vdCB5ZXQgc3VwcG9ydGVkOiBwZm4gMHgleCB2Zm4gMHgleDsgb3Bjb2RlIDB4
+JXgKAABiYWQgbWFpbGJveCBjbWQ6IHBmbiAweCV4IHZmbiAweCV4OyBvcGNvZGUgMHgleCBpcyB2
+YWxpZCBwb3N0IGRldmljZSBpbml0IG9ubHkKAGJhZCBtYWlsYm94IGNtZDogcGZuIDB4JXggdmZu
+IDB4JXg7IG9wY29kZSAweCUwMnggcmFtYXNrIDB4JXggY21kIHJhbWFzayAweCV4CgAAYmFkIG1h
+aWxib3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgb3Bjb2RlIDB4JTAyeCBsZW4xNiAweCV4IHZl
+cnN1cyBleHBlY3RlZCBsZW4xNiAweCV4CgAAAAAAAAAAaW5zdWZmaWNpZW50IGNhcHMgdG8gcHJv
+Y2VzcyBtYWlsYm94IGNtZDogcGZuIDB4JXggdmZuIDB4JXg7IHJfY2FwcyAweCV4IHd4X2NhcHMg
+MHgleCByZXF1aXJlZCByX2NhcHMgMHgleCB3X2NhcHMgMHgleAoAAAAAAAAAAABpbnN1ZmZpY2ll
+bnQgY2FwcyB0byBwcm9jZXNzIG1haWxib3ggY21kOiBwZm4gMHgleCB2Zm4gMHgleDsgcl9jYXBz
+IDB4JXggd3hfY2FwcyAweCV4IHJlcXVpcmVkIHJfY2FwcyAweCV4IHdfY2FwcyAweCV4CgAAAAAA
+AAAAAE1DOiBUYWtpbmcgUEhZIG91dCBvZiByZXNldCAoRlBHQSkuCgAAAAAAAAAAAAAAAGRvd25s
+b2FkX3NyYW06IGVycm9yLCByZXQgJWQKAAAAZG93bmxvYWRfdGNhbTogZXJyb3IsIHJldCAlZAoA
+AABod19wb3dlcl9wcmVwOiBWREQ9Tk9ORSBidXQgVkNTPSVkCgAAAAAAAAAAAAAAAABod19wb3dl
+cl9wcmVwOiB1bnN1cHBvcnRlZCBleHRlcm5hbCBhZGp1c3RhYmxlIHBvd2VyIHJlZ3VsYXRvcnMg
+VkREPSVkLCBWQ1M9JWQKAGh3X3Bvd2VyX3ByZXA6IHVuc3VwcG9ydGVkIFZERD0lZAoAAAAAAAAA
+AAAAAAAAAGh3X3Bvd2VyX3ByZXA6IHVuc3VwcG9ydGVkIFZDUz0lZAoAAAAAAAAAAAAAAAAAAGh3
+X3Bvd2VyX3ByZXA6IGkyYyB3cml0ZSBlcnJvciwgVkREPSVkLHJldD0lZAoAAGh3X3Bvd2VyX3By
+ZXA6IHVuc3VwcG9ydGVkIFZERD0lZAoAAAAAAAAAAAAAAAAAAGh3X3Bvd2VyX3ByZXA6IGkyYyB3
+cml0ZSBlcnJvciwgVkNTPSVkLHJldD0lZAoAAGh3X3Bvd2VyX3ByZXA6IHVuc3VwcG9ydGVkIFZD
+Uz0lZAoAAAAAAAAAAAAAAAAAAGV4dG1lbSBjbGsgbW9kZSAlZCwgZXh0bWVtICV1LCByZWZfY2xr
+ICV1CgAAAAAAAHVwIGNsayBtb2RlICVkLCByZWZfY2xrICV1LCBkZXYuY2xrLnVwICV1CgAAAAAA
+AGNsayBtb2RlICVkLCByZWZfY2xrICV1LCBkZXYuY2xrLmNvcmUgJXUKAAAAAAAAAFZQRCByZWdp
+b24gaXMgdG9vIHNtYWxsIChTRVJDRkdfU1JfUEZOVlBEU0laRSAweCV4KQoAAAAAAAAAAAAAAABj
+Zl9wcmVwOiBlcnJvciwgcmV0ICVkCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAASAAAAAAAAAAAAAAAIIAAAEAAAAAAAAA
+AAAAAACCAAAAwAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAABoCAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA
+AQAAAAAQAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAACAEAMAAAAAAAAI
+AAAAAAAAAAACAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAABAAOAAAAAAAAAAAAAAAAAAAAC
+AAAAAAAAAAAAAAAAACADgAAAAAAAAAAAAAAAAAAQAoAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAIAAAoAA
+AAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAgAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAA
+AAAAAAKAAAAAAAAAAAAAAAAAAQADAAAAAAAAAAAAAAAAAAACgwAAAAAAAAAAAAAAAAAQAoAAAAAA
+AAAAAAAAAAAAMAADAAAAAAQAAAAAAAAAADADAwAAAAAEAAAAAAAAAAAwAAMAAAAAAAAIAAAAAAAA
+MAADAAAAAAAAAAAAAAAAADAFgwAAAAAAAAgAAAAAAAAwBYMAAAAAAAAAAAAAAAAAMASDAAAAAAAA
+CAAAAAAAADAEgwAAAAAAAAAAAAAAAAAwAwMAAAAAAAAIAAAAAAAAMAMDAAAAAAAAAAAAAAAAADgD
+AwAAAAAAAAAAAAAAAAA4BYMAAAAAAAAAAAAAAAAAOASDAAAAAAAAAAAAAAAAADgAAwAAAAAAAAAA
+AAAAAAA0BoIAAAAAAAAAAAAAAAAAPAOCAAAAAAAAAAAAAAAAADwAAwAAAAAAAAgAAAAAAAA8AAMA
+AAAAAAAAAAAAAAAAPASDAAAAAAAAAAAAAAAAADwFAwAAAAAAAAAAAAAAAAA9BAMAAAAAAAAAAAAA
+AAAAPAODAAAAAAAAAAAAAAAAACwAAgAAAAAAAAAAAAAAAAAsBYIAAAAAAAAAAAAAAAAALAUCAAAA
+AAAAAAAAAAAAABAGgAAAAAAAAAAAAAAAAAAQBoKAAAAAAAAAAAAAAAAAgA6CAAAAAAAAAAAAAAAA
+AJAHgoAAAAAgAAAAAAAAAACAB4IAAAAAIAAAAAAAAAAAEAcCgAAAAAAAAAAAAAAAABAHAoAAAAAA
+AAAAAAAAAAAQBwKAAAAAAAAAAAAAAAAAEAYCAAAAAAAAAAAAAAAAABAGAoAAAAAAAAAAAAAAAAAA
+AAIAAAAAAAAAAAAAAAAAAAcCAAAAACAAAAAAAAAAABAXgwAAAAAAAAgAAAAAAAAQF4MAAAAAAAAI
+AAAAAAAAEAAAAAAAAAAAAAAAAAAAABAGA4AAAAAAAAAAAAAAAAAADgMAAAAAAAAAAAAAAAAAEAYD
+QAAAAAAAAAAAAAAAABAGAwAAAAAAAAAAAAAAAAAQBgAAAAAAAAAAAAAAAAAAAAYDgAAAAAAAAAAA
+AAAAAAAGAwAAAAAAAAAAAAAAAAAADgIAAAAAAAAAAAAAAAAAAA4CAAAAAAAAAAAAAAAAABAGAgAA
+AAAAAAAAAAAAAAAQBgKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAQAwAAAAAAAAgAAAAAAAAAAAAAAAAA
+AAAAAAD/////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////AAAAAAAAACAAAAAAwAAAAAAAAAAAAAAgAAAAAOAAAAAAAAAAAAAA
+IAAAAAEgAAAAAAAAAAAAAAACAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAABIQAAAAAAAAAA
+AAAAAAABASAAAAAAAAAAAAAAAAAAAAIAAAAEAAQAAAAAAAAAAACBQAAAAAAAAAAAAAAAAAAGgAAA
+BAAAAAAAAAAAAAAAgABAAAAAAAACAAAAAAAAAIAAIAAAAAAAAgAAAAAAAAiAAAAAAABAAAAAAgAA
+AAABAEAAAAAAAAAAAAAAAAAAAQBCAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACECAAAAAA
+AAAAAAAAAAAAAgwCAAAAAAAAAAAAAAAAAACFAgAAAAQAAAAAAAAAAAAAgEIAAAAAAAAAAAAAAAAA
+gIBCAEAAAAAAAAAAAAAAAICAQgAAAAAAAAAAAAAAAAACACIAAAAAAAAAAAAAAAAAAIBBAAAAAAAA
+AAAAAAAAAIAAIQAAAAAAAAAAAAAAAAAAgEGAAAAAAAAAAAAAAAAAgIBBgAAAAAAAAAAAAAAAAAIA
+IQAAAAAAAAAAAAAAAAAAECCAAAAAAAAAAAAAAAAAAiUAgAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAA
+AAAAAACIgASAAAAAAAAAAAAAAAAAiISAgAAAAAAAAAAAAAAAAAiIBIAAAAAAAAAAAAAAAAAIiASA
+AAAAAAAAAAAAAAAACKIAgAAAAAAAAAAAAAAAAAiiAIAAAAAAAAAAAAAAAAAIowCAAAAAAAAAAAAA
+AAAACKMAgAAAAAAAAAAAAAAAAAikgIAAAAAAAAAAAAAAAAAIpICAAAAAAAAAAAAAAAAABKSAwAAA
+AAAAAAAAAAAAAASiAMAAAAAAAAAAAAAAAAAEowDAAAAAAAAAAAAAAAAABIgEwAAAAAAAAAAAAAAA
+AAAJAYAAAAAAAAAAAAAAAAACDACAAAAAAAAAAAAAAAAAAIgEwAAAAAAAAAAAAAAAAACIBIAAAAAA
+AAAAAAAAAAACCwCAAAAAAAAAAAAAAAAAAIqAgAAAAAAAAAAAAAAAAAALgIAAAAAAAAAAAAAAAAAA
+jACAAAAAAAAAAAAAAAAAAiAQgAAAAAAAAAAAAAAAAAIKAIAAAAAAAAAAAAAAAAACCoCAAAAAAAAA
+AAAAAAAAAAkCgAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAQCAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAIEQAAAAAAAAAAAAAAAAAACBCAAAAAAAAAAA
+AAAAAAAAgQQAAAAAAAAAAAAAAAAASYGAAAAAAAAAAAAAAAAAAEGBAAAAAAAAAAAAAAAAAIAAAQAA
+AAAAAAAAAAAAAAAAAIGAAAAAAAAAAAAAAAAAAIAAwAAAAAAAAAAAAAAAAACAAKAAAAAAAAAAAAAA
+AAAAAAgAAAAAAAAAAAAAAAAAAIGAAAAAAAAAAAAAAAAAAACBgIAAAAAAAAAAAAAAAAAAiYCAAAAA
+AAAAAAAAAAAAAImAwAAAAAAAAAAAAAAAAAABggAAAAAAAAAAAAAAAAACAYAAAAAAAAAAAAAAAAAA
+AgGAgAAAAAAAAAAAAAAAAABBgYAAAAAAAAAAAAAAAAACAYGAAAAAAAAAAAAAAAAAAgmBgAAAAAAA
+AAAAAAAAAAIBgQAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAgEAAAAAAAAAAAAAABAA
+AAIAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAIAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AP//////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+//////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAkgAAAAAAAAABswAQACAAAAAA
+CACSAAAAAAACAAG5ABKCIAAAAAAIAJIAAAAAAAAAAbMAEAAgAAAAAAAAAAAAAAAAAAABywAQACAA
+AAAACAAAAAUARAHDgAArARAAIAAAAAAAAAAAAAAAAAAAAcsAEAAgAAAAAAAAAAAAAAAAAAABywAQ
+ACAAAAAAAAAAAAAAAAAAAAHLABAAIAAAAAAAAAAAAAAAAAAAAcsAEAAgAAAAAAAAAAAAAAAAAAAB
+ywAQACAAAAAAAAAAAAAAAAAAAAHLABAAIAAAAAAAAAAAAAAAAAAAAcsAEAAgAAAAAAgAAAAFAEQB
+wYAASwAQACAAAAAACAAAAAUARAHBgABLABAAIAAAAAAAAAAAAAAAAAAAAcsAEAAgAAAAAAAAAAAA
+AAAAAAABywAQACAAAAAACAAAAAUARAHBgABLABAAIAAAAAAAAAAAAAAAAAAAAcsAEAAgAAAAAAAA
+AAAAAAAAAAABywETAiAAAAAACEcgAQQAAAFaAAFpAyASIkAAAAAIRyABBAAAAVoAAWkCIxIgQAAA
+AAgAAAAFAEQBwYAASwETAiAAAAAAAAAAAAAAAAAAAAHLABAAIAAAAAAIRyABAQZQwVggAMkCIBIi
+QAAAAAgAAAAFAEQBwYAASwETAiAAAAAACEcgAQAGUCFawAEJAyASIkAAAAAIAAAABQBEAcGAAEsB
+EwIgAAAAAAgAAAAFAEQBwYAASwAQACAAAAAACAAAAAUARAHBgABLABAAIAAAAAAIAAAABQBEAcGA
+AEsAEAAgAAAAAAAAAAAAAAAAAAABywAQACAAAAAACAAAAAUARAHBgABLARMCIAAAAAAIAAAABQBE
+AcGAAEsBEwIgAAAAAAXFEroBWEBpiypF8SSjEiAAAAAABcUSugVbwGmJKkWxJFMSIAAAAAANxRKi
+BVhAaYsqRfEkoxIgAAAAAA3FEqIBW8BpiSpFsSRTEiAAAAAADcUSogVYQGmLKkXxJKMSIAAAAAAN
+xRKiAVvAaYkqRbEkUxIgAAAAAA3FEqIFWEBpiypF8SSjEiAAAAAADcUSogFbwGmJKkWxJFMSIAAA
+AAAJxBCgAQBASAIARbE0YxIgAAAAAAnEEKAFWEBJgSpFsTVjEiAAAAAACcQQoAVYQEmBKkWxNWMS
+IAAAAAABxRC4AVhASYsqRbElYxIgAAAAAAChEIgFAECsCAAFqQFTEiAAAAAACcAQkAVYQAGJKkVJ
+AWMSIAAAAAAJwBC4BVhAAYhKRfEAoxIgAAAAAAHAELgFWkABikpFsQBTEiAAAAAAAcAQuAVaQAGK
+SkWxAFMSIAAAAAABwBC4BVpAAYpKRbEAUxIgAAAAAAHAELgFWkABikpFsQBTEiAAAAAACaAQkAFa
+QAGKSkWxAFMSIAAAAAABwBCABVhAAYsqRSkAYxIgAAAAAAHAEIAFWEABiypFKQBjEiAAAAAAAcAQ
+gAVYQAGLKkUpAGMSIAAAAAAIRyABBAAAAVgAAWkDIBIgQAAAAAiBAAABAEKsA6AFqQFTEiAAAAAA
+CAAAAAAAUCAAwADrABAAIAAAAAAIAAAAAQBQwAAgAKsAEAAgAAAAAAgAAAAAAFAgAMAA6wAQACAA
+AAAAAIEAAAUAQqzAAgWpAFMSIAAAAAAKAUAAAAAADAIAAaEBE1IhAAAAAAAAAAAAAAAAAAABywAQ
+ACAAAAAAAKEQiAUAQKwKAASJAFMSIAAAAAAIAAAABQBEAcOgBGkBoxIhAAAAAAgAAAAFAEQBwYAA
+SwETAiAAAAAACAAAAAAAUCAAwADrABAAIAAAAAAIAAAABQBEAcOAAesAEAAgAAAAAAgAAAAFAEQB
+w4AB6wAQACAAAAAAAAAAAAAAAAAAAAHLABAAIAAAAAAAAAAAAAAAAAAAAcsAEAAgAAAAAAgAAAAA
+AFAgAMAA6wAQACAAAAAAAcAQuAVaQAGKSkWxAFMSIAAAAAAAAAAAAAAAAAAAAcsBEwIgAAAAAAAA
+AAAAAAAAAAABywAQACAAAAAACAAAAAUARAHBgABLABAAIAAAAAAIAAAAAABQIADAAOsAEAAgAAAA
+AAgAAAAAAFAgAMAA6wAQACAAAAAACAAAAAAAUCAAwADrABAAIAAAAAAIAAAAAABQIADAAOsAEAAg
+AAAAAAgAAAABAFDAACAAqwAQACAAAAAACcUTIgFKRGkKQEWRJWMSIAAAAAABwBEAAVJEAIOqRakA
+YxIgAAAAAAnAEQAFUkQAQ6pFqQBjEiAAAAAAAcAQgAFaRAGCikWpAFMSIAAAAAANwAAABVhAYYkq
+RfEBoxIgAAAAAAAAAAAAAAAAAAABywAQACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIADAABAAAAAAAAAEBExIgAAAAAABHMAAB
+AZABW4AEAQBgMiBAAAAAAEcwAAUBgAFbgAQBAGAyIEAAAAAAAwAAAQBQBVmABAEAYxIjQAAAAAAD
+AAAEAAAFWYAEAQBjEiNAAAAAAAAAAAAAAAAAAAABARMSIAAAAAAAIFAABAAAAAIAAAEAExIjAAAA
+AAhgIACEAAAAAAAAAwAQACAAAAAAAKAgAIAAAAAAAJgBARMSoAAAAAAIYAAABABCAMICAgEBYxJh
+AAAAAAnAAAAFIcABggZEAQATEiAAAAAACABgAAQAAAACAAAAARAAIAAAAAAIAGAABAAAAAIAAAIA
+EAAgAAAAAAAAAAAAAAAAAgAAAgAQACAAAAAADAgUgAUFAAADgKYBEFMTYAAAAAAAgAAAAQBCAMIC
+BAEAUxJgAAAAAAhAAAAFAFAAACAEAQBTEiMAAAAAAKAAAAAAAAAAAAABARMSIAAAAAAMAAAABUIA
+AYBFBAEDYBIgAAAAAAAAAAAAAAAAAgAAAwEQJCAAAAAAACBQAAQAAAAAAAABARMSIAAAAAAIYCAA
+hAAAAAAAAAMAEAAgAAAAAACgIACAAAAAAgAAAQETEqAAAAAACGAAAAQAQgDCAgIBAGMSYAAAAAAI
+AGAABAAAAAIAAAIAEAAgAAAAAAgAgAAUAAAAAAAAAQATJjgAAAAACACAABQAAAACAAADABAAAAAA
+AAAIAIAAFAAAAAAAAAEAEyY4AAAAAAgAgAAUAAAAAgAAAwAQAAAAAAAADAAAAAWyAAGCTQQBAgAC
+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcAAAAJaRgIEiwIB
+AmMSIAAAAAABwAAAAhpAAgSLAgECYxIgAAAAAAwIdIBCBIAAKgAuATBzEiAAAAAADAh0gEQAAAAq
+ACABMRMSIAAAAAAIAhCgBAAAAAAAgAEAExIgAAAAAAgCEKAEAAAAAACAAQATEiAAAAAABAh0AEUA
+gAADgEQBMWMSIAAAAAAFyBQAAQSAAAMgTgEwcxIgAAAAAAHIEIAFWkACAkpEATNjEiAAAAAADch0
+AEZaQAGASkQBMFMSYAAAAAAFyHQAQhpIAYBKRAEwUxJgAAAAAAhHAAAEAAAAAgAAAQAQEiAAAAAA
+CEcAAAQAAAAAAAABAiASIAAAAAAARyABAgOQ4VuABAEAYBIiQAAAAABHIAECA5DhW4AEAQBgEiJA
+AAAAAEcgAQIDkOFbgAQBAGASIkAAAAAIACABAgBCAAGgRAEAYxJgAAAAAAgAIAECAEIAAaBEAQBj
+EmAAAAAACAAgAQIAQgABoEQBAGMSYAAAAAAAACABhUEAAIJgRAEB4xJgAAAAAAgAIAGFQQAAAmBE
+AQHjEmAAAAAACcAgAYVSQACBoEQBAGMSYAAAAAAAAAAABgBCAAGgRAEAYxJgAAAAAAgAAAAFQQAA
+gmBEAQHjEmAAAAAAAAAAAAVBAAAAYEQBANMSYAAAAAABwAAABVJAAIGgRAEAYxJgAAAAAAgAoAGE
+AAAAAABEAQATEmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAABbZ2xvYmFsXQpyc3NfZ2xiX2NvbmZpZ19tb2RlPWJhc2ljdmlydHVhbApyc3NfZ2xiX2Nv
+bmZpZ19vcHRpb25zPXRubG1hcGVuLGhhc2h0b2VwbGl0eix0bmxhbGxsa3AKcGxfdGltZW91dF92
+YWx1ZT0yMDAKcmVnWzB4MTAwOF09MHg0MDgwMC8weDIxYzcwCnJlZ1sweDEwMGNdPTB4MjIyMjIy
+MjIKcmVnWzB4MTBhMF09MHgwMTA0MDgxMApyZWdbMHgxMDQ0XT00MDk2CnJlZ1sweDEwNDhdPTY1
+NTM2CnJlZ1sweDEwNGNdPTE1MzYKcmVnWzB4MTA1MF09OTAyNApyZWdbMHgxMDU0XT05MjE2CnJl
+Z1sweDEwNThdPTIwNDgKcmVnWzB4MTA1Y109MTI4CnJlZ1sweDEwNjBdPTgxOTIKcmVnWzB4MTA2
+NF09MTYzODQKc2dlX3RpbWVyX3ZhbHVlPTUsMTAsMjAsNTAsMTAwLDIwMApyZWdbMHgxMGM0XT0w
+eDIwMDAwMDAwLzB4MjAwMDAwMDAKcmVnWzB4N2QwNF09MHgwMDAxMDAwMC8weDAwMDEwMDAwCnJl
+Z1sweDdkYzBdPTB4MGUyZjg4NDkKdHNjaF90aWNrcz0xMDAwMDAsMTAwMDAsMTAwMCwxMApmaWx0
+ZXJNb2RlPWZjb2VtYXNrLHNydnJzcmFtLGZyYWdtZW50YXRpb24sbXBzaGl0dHlwZSxwcm90b2Nv
+bCx2bGFuLHBvcnQsZmNvZQpmaWx0ZXJNYXNrPXByb3RvY29sLGZjb2UKdHBfcG1yeD0zMAp0cF9w
+bXJ4X3BhZ2VzaXplPTY0Swp0cF9ucnhjaD0wCnRwX3BtdHg9NTAKdHBfcG10eF9wYWdlc2l6ZT02
+NEsKdHBfbnR4Y2g9MAp0cF9tdHVzPTg4LDI1Niw1MTIsNTc2LDgwOCwxMDI0LDEyODAsMTQ4OCwx
+NTAwLDIwMDIsMjA0OCw0MDk2LDQzNTIsODE5Miw5MDAwLDk2MDAKcmVnWzB4N2QwNF09MHgwMDAx
+MDAwOC8weDAwMDEwMDA4CnJlZ1sweDdkMDhdPTB4MDAwMDA4MDAvMHgwMDAwMDgwMApyZWdbMHg3
+ZDQ4XT0weDAwMDAwMDAwLzB4MDAwMDA0MDAKcmVnWzB4N2Q2MF09MHgwNjAwMDAwMC8weDA3MDAw
+MDAwCnJlZ1sweDE5YzA0XT0weDAwMDAwMDAwLzB4MDA0NDAwMDAKcmVnWzB4MTljMjhdPTB4MDA4
+MDAwMDAvMHgwMWYwMDAwMApyZWdbMHg4ZGMwXT0weDAwMDAwMTA0LzB4MDAwMDAxMDQKcmVnWzB4
+MTkyNWNdPTB4MDAwMDQxYzAvMHgwMDAwMzFjMApbZnVuY3Rpb24iMCJdCm52Zj0xNgp3eF9jYXBz
+PWFsbApyX2NhcHM9YWxsCm52aT0xCm5pcWZsaW50PTgKbmV0aGN0cmw9OApuZXE9MTYKbmV4YWN0
+Zj04CmNtYXNrPWFsbApwbWFzaz0weDEKW2Z1bmN0aW9uIjEiXQpudmY9MTYKd3hfY2Fwcz1hbGwK
+cl9jYXBzPWFsbApudmk9MQpuaXFmbGludD04Cm5ldGhjdHJsPTgKbmVxPTE2Cm5leGFjdGY9OApj
+bWFzaz1hbGwKcG1hc2s9MHgyCltmdW5jdGlvbiIyIl0KbnZmPTE2Cnd4X2NhcHM9YWxsCnJfY2Fw
+cz1hbGwKbnZpPTEKbmlxZmxpbnQ9OApuZXRoY3RybD04Cm5lcT0xNgpuZXhhY3RmPTgKY21hc2s9
+YWxsCnBtYXNrPTB4NApbZnVuY3Rpb24iMyJdCm52Zj0xNgp3eF9jYXBzPWFsbApyX2NhcHM9YWxs
+Cm52aT0xCm5pcWZsaW50PTgKbmV0aGN0cmw9OApuZXE9MTYKbmV4YWN0Zj04CmNtYXNrPWFsbApw
+bWFzaz0weDgKW2Z1bmN0aW9uIjQiXQp3eF9jYXBzPWFsbApyX2NhcHM9YWxsCm52aT0yOApuaXFm
+bGludD0yMDIKbmV0aGN0cmw9MTE2Cm5lcT0yNTYKbnFwY3E9MTIyODgKbmV4YWN0Zj00MApucmF3
+Zj0yCmNtYXNrPWFsbApwbWFzaz1hbGwKbmV0aG9mbGQ9MTAyNApuY3J5cHRvX2xvb2thc2lkZT0x
+NgpuY2xpcD0zMjAKbmZpbHRlcj00OTYKbnNlcnZlcj00OTYKbmhhc2g9MTIyODgKbmhwZmlsdGVy
+PTY0CnByb3RvY29sPW5pY192bSxvZmxkLHJkZHAscmRtYWMsaXNjc2lfaW5pdGlhdG9yX3BkdSxp
+c2NzaV90YXJnZXRfcGR1LGlzY3NpX3QxMGRpZix0bHNrZXlzLGNyeXB0b19sb29rYXNpZGUKdHBf
+bDJ0PTMwNzIKdHBfZGRwPTIKdHBfZGRwX2lzY3NpPTIKdHBfdGxzX2tleT0zCnRwX3Rsc19teHJ4
+c2l6ZT0xNzQwOAp0cF9zdGFnPTIKdHBfcGJsPTUKdHBfcnE9Nwp0cF9zcnE9MTI4CltmdW5jdGlv
+biI1Il0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFsbApudmk9NApuaXFmbGludD0zNApuZXRoY3RybD0z
+MgpuZXE9NjQKbmV4YWN0Zj0xNgpjbWFzaz1hbGwKcG1hc2s9YWxsCm5zZXJ2ZXI9MTYKbmhhc2g9
+MjA0OAp0cF9sMnQ9MTAyMApuY2xpcD02NApwcm90b2NvbD1pc2NzaV9pbml0aWF0b3JfZm9mbGQK
+dHBfZGRwX2lzY3NpPTIKaXNjc2lfbnRhc2s9MjA0OAppc2NzaV9uc2Vzcz0yMDQ4CmlzY3NpX25j
+b25uX3Blcl9zZXNzaW9uPTEKaXNjc2lfbmluaXRpYXRvcl9pbnN0YW5jZT02NApbZnVuY3Rpb24i
+NiJdCnd4X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZpPTQKbmlxZmxpbnQ9MzQKbmV0aGN0cmw9MzIK
+bmVxPTY2Cm5leGFjdGY9MzIKY21hc2s9YWxsCnBtYXNrPWFsbApuaGFzaD0yMDQ4CnRwX2wydD00
+CnByb3RvY29sPWZjb2VfaW5pdGlhdG9yCnRwX2RkcD0yCmZjb2VfbmZjZj0xNgpmY29lX252bnA9
+MzIKZmNvZV9uc3NuPTEwMjQKW2Z1bmN0aW9uIjEwMjMiXQp3eF9jYXBzPWFsbApyX2NhcHM9YWxs
+Cm52aT00CmNtYXNrPWFsbApwbWFzaz1hbGwKbmV4YWN0Zj04Cm5maWx0ZXI9MTYKW2Z1bmN0aW9u
+IjAvKiJdCnd4X2NhcHM9MHg4MgpyX2NhcHM9MHg4Ngpudmk9MQpuaXFmbGludD02Cm5ldGhjdHJs
+PTQKbmVxPTgKbmV4YWN0Zj00CmNtYXNrPWFsbApwbWFzaz0weDEKW2Z1bmN0aW9uIjEvKiJdCnd4
+X2NhcHM9MHg4MgpyX2NhcHM9MHg4Ngpudmk9MQpuaXFmbGludD02Cm5ldGhjdHJsPTQKbmVxPTgK
+bmV4YWN0Zj00CmNtYXNrPWFsbApwbWFzaz0weDIKW2Z1bmN0aW9uIjIvKiJdCnd4X2NhcHM9MHg4
+MgpyX2NhcHM9MHg4Ngpudmk9MQpuaXFmbGludD02Cm5ldGhjdHJsPTQKbmVxPTgKbmV4YWN0Zj00
+CmNtYXNrPWFsbApwbWFzaz0weDEKW2Z1bmN0aW9uIjMvKiJdCnd4X2NhcHM9MHg4MgpyX2NhcHM9
+MHg4Ngpudmk9MQpuaXFmbGludD02Cm5ldGhjdHJsPTQKbmVxPTgKbmV4YWN0Zj00CmNtYXNrPWFs
+bApwbWFzaz0weDIKW3BvcnQiMCJdCmRjYj1wcHAsZGNieApod209NjAKbHdtPTE1CmR3bT0zMApk
+Y2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4OTE0LGV0
+aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0bnVtLDUKW3BvcnQiMSJdCmRjYj1w
+cHAsZGNieApod209NjAKbHdtPTE1CmR3bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0
+eXBlLDMKZGNiX2FwcF90bHZbMV09MHg4OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMy
+NjAsc29ja2V0bnVtLDUKW2ZpbmldCnZlcnNpb249MHgxNDI1MDAxYwpjaGVja3N1bT0weDRmODIw
+Y2M0CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW2ds
+b2JhbF0KcnNzX2dsYl9jb25maWdfbW9kZT1iYXNpY3ZpcnR1YWwKcnNzX2dsYl9jb25maWdfb3B0
+aW9ucz10bmxtYXBlbixoYXNodG9lcGxpdHosdG5sYWxsbGtwCnBsX3RpbWVvdXRfdmFsdWU9MTAw
+MApyZWdbMHgxMDA4XT0weDQwODEwLzB4MjFjNzAKcmVnWzB4MTAwY109MHgyMjIyMjIyMgpyZWdb
+MHgxMGEwXT0weDAxMDQwODEwCnJlZ1sweDEwNDRdPTQwOTYKcmVnWzB4MTA0OF09NjU1MzYKcmVn
+WzB4MTA0Y109MTUzNgpyZWdbMHgxMDUwXT05MDI0CnJlZ1sweDEwNTRdPTkyMTYKcmVnWzB4MTA1
+OF09MjA0OApyZWdbMHgxMDVjXT0xMjgKcmVnWzB4MTA2MF09ODE5MgpyZWdbMHgxMDY0XT0xNjM4
+NApyZWdbMHgxMGE0XT0weGEwMDBhMDAwLzB4ZjAwMGYwMDAKcmVnWzB4MTBhOF09MHg0MDIwMDAv
+MHg0MDIwMDAKc2dlX3RpbWVyX3ZhbHVlPTUsMTAsMjAsNTAsMTAwLDIwMApyZWdbMHgxMGM0XT0w
+eDIwMDAwMDAwLzB4MjAwMDAwMDAKcmVnWzB4N2QwNF09MHgwMDAxMDAwMC8weDAwMDEwMDAwCnJl
+Z1sweDdkYzBdPTB4MGUyZjg4NDkKdHNjaF90aWNrcz0xMDAwLDEwMCwxMCwxCmZpbHRlck1vZGU9
+ZmNvZW1hc2ssc3J2cnNyYW0sZnJhZ21lbnRhdGlvbixtcHNoaXR0eXBlLHByb3RvY29sLHZsYW4s
+cG9ydCxmY29lCmZpbHRlck1hc2s9cHJvdG9jb2wsZmNvZQp0cF9wbXJ4PTMwCnRwX3BtcnhfcGFn
+ZXNpemU9NjRLCnRwX25yeGNoPTAKdHBfcG10eD01MAp0cF9wbXR4X3BhZ2VzaXplPTY0Swp0cF9u
+dHhjaD0wCnRwX210dXM9ODgsMjU2LDUxMiw1NzYsODA4LDEwMjQsMTI4MCwxNDg4LDE1MDAsMjAw
+MiwyMDQ4LDQwOTYsNDM1Miw4MTkyLDkwMDAsOTYwMApyZWdbMHg3ZDA0XT0weDAwMDEwMDA4LzB4
+MDAwMTAwMDgKcmVnWzB4N2QwOF09MHgwMDAwMDgwMC8weDAwMDAwODAwCnJlZ1sweDdkNDhdPTB4
+MDAwMDAwMDAvMHgwMDAwMDQwMApyZWdbMHg3ZDYwXT0weDA2MDAwMDAwLzB4MDcwMDAwMDAKcmVn
+WzB4MTljMDRdPTB4MDA0MDAwMDAvMHgwMDQ0MDAwMApyZWdbMHgxOWMyOF09MHgwMDgwMDAwMC8w
+eDAxZjAwMDAwCnJlZ1sweDhkYzBdPTB4MDAwMDAxMDQvMHgwMDAwMDEwNApyZWdbMHgxOTI1Y109
+MHgwMTAwMzQwMC8weDAxMDAzNDAwCltmdW5jdGlvbiIwIl0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFs
+bApudmk9MjgKbmlxZmxpbnQ9MTcwCm5ldGhjdHJsPTk2Cm5lcT0yNTIKbmV4YWN0Zj00MApucmF3
+Zj0yCmNtYXNrPWFsbApwbWFzaz1hbGwKbmV0aG9mbGQ9MTAyNApuY3J5cHRvX2xvb2thc2lkZT0z
+MgpuY2xpcD0zMgpuZmlsdGVyPTQ4Cm5zZXJ2ZXI9NDgKbmhhc2g9MjA0OApuaHBmaWx0ZXI9MApw
+cm90b2NvbD1uaWNfdm0sb2ZsZCxyZGRwLHJkbWFjLGlzY3NpX2luaXRpYXRvcl9wZHUsaXNjc2lf
+dGFyZ2V0X3BkdSxpc2NzaV90MTBkaWYsdGxza2V5cyxjcnlwdG9fbG9va2FzaWRlCnRwX2wydD0z
+MDcyCnRwX2RkcD0yCnRwX2RkcF9pc2NzaT0yCnRwX3Rsc19rZXk9Mwp0cF9zdGFnPTIKdHBfcGJs
+PTUKdHBfcnE9Nwp0cF9zcnE9MTI4CltmdW5jdGlvbiIxIl0Kd3hfY2Fwcz1hbGwKcl9jYXBzPWFs
+bApudmk9NApuaXFmbGludD0zNApuZXRoY3RybD0zMgpuZXE9NjQKbmV4YWN0Zj0xNgpjbWFzaz1h
+bGwKcG1hc2s9YWxsCm5zZXJ2ZXI9MTYKbmhhc2g9MjA0OAp0cF9sMnQ9MTAyMApwcm90b2NvbD1p
+c2NzaV9pbml0aWF0b3JfZm9mbGQKdHBfZGRwX2lzY3NpPTIKaXNjc2lfbnRhc2s9MjA0OAppc2Nz
+aV9uc2Vzcz0yMDQ4CmlzY3NpX25jb25uX3Blcl9zZXNzaW9uPTEKaXNjc2lfbmluaXRpYXRvcl9p
+bnN0YW5jZT02NApbZnVuY3Rpb24iMTAyMyJdCnd4X2NhcHM9YWxsCnJfY2Fwcz1hbGwKbnZpPTQK
+Y21hc2s9YWxsCnBtYXNrPWFsbApuZXhhY3RmPTgKbmZpbHRlcj0xNgpbZnVuY3Rpb24iMC8qIl0K
+d3hfY2Fwcz0weDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTQKbmV0aGN0cmw9MgpuZXE9
+NApuZXhhY3RmPTQKY21hc2s9YWxsCnBtYXNrPTB4MQpbZnVuY3Rpb24iMS8qIl0Kd3hfY2Fwcz0w
+eDgyCnJfY2Fwcz0weDg2Cm52aT0xCm5pcWZsaW50PTQKbmV0aGN0cmw9MgpuZXE9NApuZXhhY3Rm
+PTQKY21hc2s9YWxsCnBtYXNrPTB4MgpbcG9ydCIwIl0KZGNiPXBwcCxkY2J4LGIyYgpod209MzAK
+bHdtPTE1CmR3bT0zMApkY2JfYXBwX3RsdlswXT0weDg5MDYsZXRoZXJ0eXBlLDMKZGNiX2FwcF90
+bHZbMV09MHg4OTE0LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzJdPTMyNjAsc29ja2V0bnVtLDUK
+W3BvcnQiMSJdCmRjYj1wcHAsZGNieCxiMmIKaHdtPTMwCmx3bT0xNQpkd209MzAKZGNiX2FwcF90
+bHZbMF09MHg4OTA2LGV0aGVydHlwZSwzCmRjYl9hcHBfdGx2WzFdPTB4ODkxNCxldGhlcnR5cGUs
+MwpkY2JfYXBwX3RsdlsyXT0zMjYwLHNvY2tldG51bSw1CltmaW5pXQp2ZXJzaW9uPTB4MTQyNTAw
+MWQKY2hlY2tzdW09MHgzNjFiOTU2YgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+====
diff --git a/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt b/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
index 65174f1..c9973c8 100644
--- a/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
+++ b/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
@@ -1,6 +1,6 @@
# Chelsio T6 Factory Default configuration file.
#
-# Copyright (C) 2014-2016 Chelsio Communications. All rights reserved.
+# Copyright (C) 2014-2017 Chelsio Communications. All rights reserved.
#
# DO NOT MODIFY THIS FILE UNDER ANY CIRCUMSTANCES. MODIFICATION OF THIS FILE
# WILL RESULT IN A NON-FUNCTIONAL ADAPTER AND MAY RESULT IN PHYSICAL DAMAGE
@@ -79,7 +79,7 @@
# The firmware will convert these values to Core Clock Ticks when
# it processes the configuration parameters.
#
- reg[0x1008] = 0x40810/0x21c70 # SGE_CONTROL
+ reg[0x1008] = 0x40800/0x21c70 # SGE_CONTROL
reg[0x100c] = 0x22222222 # SGE_HOST_PAGE_SIZE
reg[0x10a0] = 0x01040810 # SGE_INGRESS_RX_THRESHOLD
reg[0x1044] = 4096 # SGE_FL_BUFFER_SIZE0
@@ -109,10 +109,10 @@
# filter tuples : fragmentation, mpshittype, macmatch, ethertype,
# protocol, tos, vlan, vnic_id, port, fcoe
# valid filterModes are described the Terminator 5 Data Book
- filterMode = srvrsram, fragmentation, mpshittype, protocol, vlan, port, fcoe
+ filterMode = fcoemask, srvrsram, fragmentation, mpshittype, protocol, vlan, port, fcoe
# filter tuples enforced in LE active region (equal to or subset of filterMode)
- filterMask = protocol
+ filterMask = protocol, fcoe
# Percentage of dynamic memory (in either the EDRAM or external MEM)
# to use for TP RX payload
@@ -390,7 +390,7 @@
r_caps = all # read permissions for all commands
nvi = 28 # NVI_UNIFIED
niqflint = 202 # NFLIQ_UNIFIED + NLFIQ_WD + NFLIQ_CRYPTO (32)
- nethctrl = 100 # NETHCTRL_UNIFIED + NETHCTRL_WD
+ nethctrl = 116 # NETHCTRL_UNIFIED + NETHCTRL_WD + ncrypto_lookaside
neq = 256 # NEQ_UNIFIED + NEQ_WD
nqpcq = 12288
nexactf = 40 # NMPSTCAM_UNIFIED
@@ -403,7 +403,7 @@
nfilter = 496 # number of filter region entries
nserver = 496 # number of server region entries
nhash = 12288 # number of hash region entries
- nhpfilter = 0 # number of high priority filter region entries
+ nhpfilter = 64 # number of high priority filter region entries
protocol = nic_vm, ofld, rddp, rdmac, iscsi_initiator_pdu, iscsi_target_pdu, iscsi_t10dif, tlskeys, crypto_lookaside
tp_l2t = 3072
tp_ddp = 2
@@ -486,9 +486,9 @@
wx_caps = 0x82 # DMAQ | VF
r_caps = 0x86 # DMAQ | VF | PORT
nvi = 1 # 1 port
- niqflint = 4 # 2 "Queue Sets" + NXIQ
- nethctrl = 2 # 2 "Queue Sets"
- neq = 4 # 2 "Queue Sets" * 2
+ niqflint = 6 # 2 "Queue Sets" + NXIQ
+ nethctrl = 4 # 2 "Queue Sets"
+ neq = 8 # 2 "Queue Sets" * 2
nexactf = 4
cmask = all # access to all channels
pmask = 0x1 # access to only one port ...
@@ -498,9 +498,9 @@
wx_caps = 0x82 # DMAQ | VF
r_caps = 0x86 # DMAQ | VF | PORT
nvi = 1 # 1 port
- niqflint = 4 # 2 "Queue Sets" + NXIQ
- nethctrl = 2 # 2 "Queue Sets"
- neq = 4 # 2 "Queue Sets" * 2
+ niqflint = 6 # 2 "Queue Sets" + NXIQ
+ nethctrl = 4 # 2 "Queue Sets"
+ neq = 8 # 2 "Queue Sets" * 2
nexactf = 4
cmask = all # access to all channels
pmask = 0x2 # access to only one port ...
@@ -509,9 +509,9 @@
wx_caps = 0x82 # DMAQ | VF
r_caps = 0x86 # DMAQ | VF | PORT
nvi = 1 # 1 port
- niqflint = 4 # 2 "Queue Sets" + NXIQ
- nethctrl = 2 # 2 "Queue Sets"
- neq = 4 # 2 "Queue Sets" * 2
+ niqflint = 6 # 2 "Queue Sets" + NXIQ
+ nethctrl = 4 # 2 "Queue Sets"
+ neq = 8 # 2 "Queue Sets" * 2
nexactf = 4
cmask = all # access to all channels
pmask = 0x1 # access to only one port ...
@@ -521,9 +521,9 @@
wx_caps = 0x82 # DMAQ | VF
r_caps = 0x86 # DMAQ | VF | PORT
nvi = 1 # 1 port
- niqflint = 4 # 2 "Queue Sets" + NXIQ
- nethctrl = 2 # 2 "Queue Sets"
- neq = 4 # 2 "Queue Sets" * 2
+ niqflint = 6 # 2 "Queue Sets" + NXIQ
+ nethctrl = 4 # 2 "Queue Sets"
+ neq = 8 # 2 "Queue Sets" * 2
nexactf = 4
cmask = all # access to all channels
pmask = 0x2 # access to only one port ...
@@ -552,9 +552,6 @@
dcb_app_tlv[0] = 0x8906, ethertype, 3
dcb_app_tlv[1] = 0x8914, ethertype, 3
dcb_app_tlv[2] = 3260, socketnum, 5
- #aec_retry_cnt = 4
- flags = an_dis
-
[port "1"]
dcb = ppp, dcbx
@@ -566,13 +563,10 @@
dcb_app_tlv[0] = 0x8906, ethertype, 3
dcb_app_tlv[1] = 0x8914, ethertype, 3
dcb_app_tlv[2] = 3260, socketnum, 5
- #aec_retry_cnt = 4
- flags = an_dis
-
[fini]
- version = 0x01000025
- checksum = 0xb23e8983
+ version = 0x01000028
+ checksum = 0x4f820cc6
# Total resources used by above allocations:
# Virtual Interfaces: 104
diff --git a/sys/dev/cxgbe/iw_cxgbe/cm.c b/sys/dev/cxgbe/iw_cxgbe/cm.c
index b8ad644..da20784 100644
--- a/sys/dev/cxgbe/iw_cxgbe/cm.c
+++ b/sys/dev/cxgbe/iw_cxgbe/cm.c
@@ -2376,6 +2376,8 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp)
set_bit(EP_DISC_ABORT, &ep->com.history);
close_complete_upcall(ep, -ECONNRESET);
ret = send_abort(ep);
+ if (ret)
+ fatal = 1;
} else {
CTR2(KTR_IW_CXGBE, "%s:ced5 %p", __func__, ep);
@@ -2383,13 +2385,9 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp)
if (!ep->parent_ep)
__state_set(&ep->com, MORIBUND);
- ret = sodisconnect(ep->com.so);
+ sodisconnect(ep->com.so);
}
- if (ret) {
-
- fatal = 1;
- }
}
if (fatal) {
diff --git a/sys/dev/cxgbe/iw_cxgbe/device.c b/sys/dev/cxgbe/iw_cxgbe/device.c
index 310b99b..3c51abc 100644
--- a/sys/dev/cxgbe/iw_cxgbe/device.c
+++ b/sys/dev/cxgbe/iw_cxgbe/device.c
@@ -330,7 +330,7 @@ c4iw_modevent(module_t mod, int cmd, void *arg)
case MOD_LOAD:
rc = c4iw_mod_load();
if (rc == 0)
- printf("iw_cxgbe: Chelsio T4/T5 RDMA driver loaded.\n");
+ printf("iw_cxgbe: Chelsio T4/T5/T6 RDMA driver loaded.\n");
break;
case MOD_UNLOAD:
diff --git a/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h b/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h
index 447756d..f16540c 100644
--- a/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h
+++ b/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h
@@ -157,49 +157,70 @@ static inline int c4iw_num_stags(struct c4iw_rdev *rdev)
return (int)(rdev->adap->vres.stag.size >> 5);
}
-#define C4IW_WR_TO (10*HZ)
+#define C4IW_WR_TO (60*HZ)
struct c4iw_wr_wait {
int ret;
- atomic_t completion;
+ struct completion completion;
};
static inline void c4iw_init_wr_wait(struct c4iw_wr_wait *wr_waitp)
{
wr_waitp->ret = 0;
- atomic_set(&wr_waitp->completion, 0);
+ init_completion(&wr_waitp->completion);
}
static inline void c4iw_wake_up(struct c4iw_wr_wait *wr_waitp, int ret)
{
wr_waitp->ret = ret;
- atomic_set(&wr_waitp->completion, 1);
- wakeup(wr_waitp);
+ complete(&wr_waitp->completion);
}
static inline int
c4iw_wait_for_reply(struct c4iw_rdev *rdev, struct c4iw_wr_wait *wr_waitp,
- u32 hwtid, u32 qpid, const char *func)
+ u32 hwtid, u32 qpid, const char *func)
{
struct adapter *sc = rdev->adap;
unsigned to = C4IW_WR_TO;
+ int ret;
+ int timedout = 0;
+ struct timeval t1, t2;
+
+ if (c4iw_fatal_error(rdev)) {
+ wr_waitp->ret = -EIO;
+ goto out;
+ }
- while (!atomic_read(&wr_waitp->completion)) {
- tsleep(wr_waitp, 0, "c4iw_wait", to);
- if (SIGPENDING(curthread)) {
- printf("%s - Device %s not responding - "
- "tid %u qpid %u\n", func,
- device_get_nameunit(sc->dev), hwtid, qpid);
- if (c4iw_fatal_error(rdev)) {
- wr_waitp->ret = -EIO;
- break;
- }
- to = to << 2;
- }
- }
+ getmicrotime(&t1);
+ do {
+ ret = wait_for_completion_timeout(&wr_waitp->completion, to);
+ if (!ret) {
+ getmicrotime(&t2);
+ timevalsub(&t2, &t1);
+ printf("%s - Device %s not responding after %ld.%06ld "
+ "seconds - tid %u qpid %u\n", func,
+ device_get_nameunit(sc->dev), t2.tv_sec, t2.tv_usec,
+ hwtid, qpid);
+ if (c4iw_fatal_error(rdev)) {
+ wr_waitp->ret = -EIO;
+ break;
+ }
+ to = to << 2;
+ timedout = 1;
+ }
+ } while (!ret);
+
+out:
+ if (timedout) {
+ getmicrotime(&t2);
+ timevalsub(&t2, &t1);
+ printf("%s - Device %s reply after %ld.%06ld seconds - "
+ "tid %u qpid %u\n", func, device_get_nameunit(sc->dev),
+ t2.tv_sec, t2.tv_usec, hwtid, qpid);
+ }
if (wr_waitp->ret)
- CTR4(KTR_IW_CXGBE, "%s: FW reply %d tid %u qpid %u",
- device_get_nameunit(sc->dev), wr_waitp->ret, hwtid, qpid);
+ CTR4(KTR_IW_CXGBE, "%p: FW reply %d tid %u qpid %u", sc,
+ wr_waitp->ret, hwtid, qpid);
return (wr_waitp->ret);
}
diff --git a/sys/dev/cxgbe/iw_cxgbe/mem.c b/sys/dev/cxgbe/iw_cxgbe/mem.c
index 5f68fbf..27bd902 100644
--- a/sys/dev/cxgbe/iw_cxgbe/mem.c
+++ b/sys/dev/cxgbe/iw_cxgbe/mem.c
@@ -46,12 +46,15 @@ __FBSDID("$FreeBSD$");
#define T4_ULPTX_MIN_IO 32
#define C4IW_MAX_INLINE_SIZE 96
-static int mr_exceeds_hw_limits(struct c4iw_dev *dev, u64 length)
+static int
+mr_exceeds_hw_limits(struct c4iw_dev *dev, u64 length)
{
- return (is_t4(dev->rdev.adap) ||
+
+ return ((is_t4(dev->rdev.adap) ||
is_t5(dev->rdev.adap)) &&
- length >= 8*1024*1024*1024ULL;
+ length >= 8*1024*1024*1024ULL);
}
+
static int
write_adapter_mem(struct c4iw_rdev *rdev, u32 addr, u32 len, void *data)
{
@@ -342,7 +345,8 @@ static int build_phys_page_list(struct ib_phys_buf *buffer_list,
}
/* Find largest page shift we can use to cover buffers */
- for (*shift = PAGE_SHIFT; *shift < 27; ++(*shift))
+ for (*shift = PAGE_SHIFT; *shift < PAGE_SHIFT + M_FW_RI_TPTE_PS;
+ ++(*shift))
if ((1ULL << *shift) & mask)
break;
@@ -439,7 +443,7 @@ int c4iw_reregister_phys_mem(struct ib_mr *mr, int mr_rereg_mask,
mhp->attr.zbva = 0;
mhp->attr.va_fbo = *iova_start;
mhp->attr.page_size = shift - 12;
- mhp->attr.len = (u32) total_size;
+ mhp->attr.len = total_size;
mhp->attr.pbl_size = npages;
}
@@ -511,7 +515,7 @@ struct ib_mr *c4iw_register_phys_mem(struct ib_pd *pd,
mhp->attr.va_fbo = *iova_start;
mhp->attr.page_size = shift - 12;
- mhp->attr.len = (u32) total_size;
+ mhp->attr.len = total_size;
mhp->attr.pbl_size = npages;
ret = register_mem(rhp, php, mhp, shift);
if (ret)
diff --git a/sys/dev/cxgbe/iw_cxgbe/provider.c b/sys/dev/cxgbe/iw_cxgbe/provider.c
index af9da14..ad47891 100644
--- a/sys/dev/cxgbe/iw_cxgbe/provider.c
+++ b/sys/dev/cxgbe/iw_cxgbe/provider.c
@@ -190,7 +190,7 @@ static int c4iw_mmap(struct ib_ucontext *context, struct vm_area_struct *vma)
"%s:6 USER DB-GTS addr %p region %p, reglen %u",
__func__, addr, va_udbs_res, len_udbs_res);
#ifdef DOT5
- if (is_t5(rdev->lldi.adapter_type) && map_udb_as_wc)
+ if (!is_t4(rdev->lldi.adapter_type) && map_udb_as_wc)
vma->vm_page_prot = t4_pgprot_wc(vma->vm_page_prot);
else
#endif
@@ -307,6 +307,7 @@ c4iw_query_device(struct ib_device *ibdev, struct ib_device_attr *props)
{
struct c4iw_dev *dev = to_c4iw_dev(ibdev);
struct adapter *sc = dev->rdev.adap;
+ const int spg_ndesc = sc->params.sge.spg_len / EQ_ESIZE;
CTR3(KTR_IW_CXGBE, "%s ibdev %p, props %p", __func__, ibdev, props);
@@ -320,13 +321,15 @@ c4iw_query_device(struct ib_device *ibdev, struct ib_device_attr *props)
props->vendor_id = pci_get_vendor(sc->dev);
props->vendor_part_id = pci_get_device(sc->dev);
props->max_mr_size = T4_MAX_MR_SIZE;
- props->max_qp = T4_MAX_NUM_QP;
- props->max_qp_wr = T4_MAX_QP_DEPTH;
+ props->max_qp = sc->vres.qp.size / 2;
+ props->max_qp_wr = T4_MAX_QP_DEPTH(spg_ndesc);
props->max_sge = T4_MAX_RECV_SGE;
props->max_sge_rd = 1;
- props->max_qp_rd_atom = c4iw_max_read_depth;
- props->max_qp_init_rd_atom = c4iw_max_read_depth;
- props->max_cq = T4_MAX_NUM_CQ;
+ props->max_res_rd_atom = sc->params.max_ird_adapter;
+ props->max_qp_rd_atom = min(sc->params.max_ordird_qp,
+ c4iw_max_read_depth);
+ props->max_qp_init_rd_atom = props->max_qp_rd_atom;
+ props->max_cq = sc->vres.qp.size;
props->max_cqe = T4_MAX_CQ_DEPTH;
props->max_mr = c4iw_num_stags(&dev->rdev);
props->max_pd = T4_MAX_NUM_PD;
@@ -429,7 +432,7 @@ c4iw_register_device(struct c4iw_dev *dev)
strlcpy(ibdev->node_desc, C4IW_NODE_DESC, sizeof(ibdev->node_desc));
ibdev->phys_port_cnt = sc->params.nports;
ibdev->num_comp_vectors = 1;
- ibdev->dma_device = sc->dev;
+ ibdev->dma_device = NULL;
ibdev->query_device = c4iw_query_device;
ibdev->query_port = c4iw_query_port;
ibdev->modify_port = c4iw_modify_port;
diff --git a/sys/dev/cxgbe/iw_cxgbe/qp.c b/sys/dev/cxgbe/iw_cxgbe/qp.c
index 3bc1a96..9b40f52 100644
--- a/sys/dev/cxgbe/iw_cxgbe/qp.c
+++ b/sys/dev/cxgbe/iw_cxgbe/qp.c
@@ -133,6 +133,7 @@ static int create_qp(struct c4iw_rdev *rdev, struct t4_wq *wq,
int ret;
int eqsize;
struct wrqe *wr;
+ const int spg_ndesc = sc->params.sge.spg_len / EQ_ESIZE;
wq->sq.qid = c4iw_get_qpid(rdev, uctx);
if (!wq->sq.qid)
@@ -214,8 +215,7 @@ static int create_qp(struct c4iw_rdev *rdev, struct t4_wq *wq,
res->u.sqrq.op = FW_RI_RES_OP_WRITE;
/* eqsize is the number of 64B entries plus the status page size. */
- eqsize = wq->sq.size * T4_SQ_NUM_SLOTS +
- (sc->params.sge.spg_len / EQ_ESIZE);
+ eqsize = wq->sq.size * T4_SQ_NUM_SLOTS + spg_ndesc;
res->u.sqrq.fetchszm_to_iqid = cpu_to_be32(
V_FW_RI_RES_WR_HOSTFCMODE(0) | /* no host cidx updates */
@@ -237,8 +237,7 @@ static int create_qp(struct c4iw_rdev *rdev, struct t4_wq *wq,
res->u.sqrq.op = FW_RI_RES_OP_WRITE;
/* eqsize is the number of 64B entries plus the status page size. */
- eqsize = wq->rq.size * T4_RQ_NUM_SLOTS +
- (sc->params.sge.spg_len / EQ_ESIZE);
+ eqsize = wq->rq.size * T4_RQ_NUM_SLOTS + spg_ndesc;
res->u.sqrq.fetchszm_to_iqid = cpu_to_be32(
V_FW_RI_RES_WR_HOSTFCMODE(0) | /* no host cidx updates */
V_FW_RI_RES_WR_CPRIO(0) | /* don't keep in chip cache */
@@ -1523,7 +1522,7 @@ c4iw_create_qp(struct ib_pd *pd, struct ib_qp_init_attr *attrs,
struct c4iw_create_qp_resp uresp;
int sqsize, rqsize;
struct c4iw_ucontext *ucontext;
- int ret;
+ int ret, spg_ndesc;
struct c4iw_mm_entry *mm1, *mm2, *mm3, *mm4;
CTR2(KTR_IW_CXGBE, "%s ib_pd %p", __func__, pd);
@@ -1541,12 +1540,13 @@ c4iw_create_qp(struct ib_pd *pd, struct ib_qp_init_attr *attrs,
if (attrs->cap.max_inline_data > T4_MAX_SEND_INLINE)
return ERR_PTR(-EINVAL);
+ spg_ndesc = rhp->rdev.adap->params.sge.spg_len / EQ_ESIZE;
rqsize = roundup(attrs->cap.max_recv_wr + 1, 16);
- if (rqsize > T4_MAX_RQ_SIZE)
+ if (rqsize > T4_MAX_RQ_SIZE(spg_ndesc))
return ERR_PTR(-E2BIG);
sqsize = roundup(attrs->cap.max_send_wr + 1, 16);
- if (sqsize > T4_MAX_SQ_SIZE)
+ if (sqsize > T4_MAX_SQ_SIZE(spg_ndesc))
return ERR_PTR(-E2BIG);
ucontext = pd->uobject ? to_c4iw_ucontext(pd->uobject->context) : NULL;
@@ -1556,9 +1556,10 @@ c4iw_create_qp(struct ib_pd *pd, struct ib_qp_init_attr *attrs,
if (!qhp)
return ERR_PTR(-ENOMEM);
qhp->wq.sq.size = sqsize;
- qhp->wq.sq.memsize = (sqsize + 1) * sizeof *qhp->wq.sq.queue;
+ qhp->wq.sq.memsize = (sqsize + spg_ndesc) * sizeof *qhp->wq.sq.queue +
+ 16 * sizeof(__be64);
qhp->wq.rq.size = rqsize;
- qhp->wq.rq.memsize = (rqsize + 1) * sizeof *qhp->wq.rq.queue;
+ qhp->wq.rq.memsize = (rqsize + spg_ndesc) * sizeof *qhp->wq.rq.queue;
if (ucontext) {
qhp->wq.sq.memsize = roundup(qhp->wq.sq.memsize, PAGE_SIZE);
diff --git a/sys/dev/cxgbe/iw_cxgbe/t4.h b/sys/dev/cxgbe/iw_cxgbe/t4.h
index baab4d0..7cae224 100644
--- a/sys/dev/cxgbe/iw_cxgbe/t4.h
+++ b/sys/dev/cxgbe/iw_cxgbe/t4.h
@@ -59,21 +59,17 @@
#define CIDXINC_SHIFT 0
#define CIDXINC(x) ((x) << CIDXINC_SHIFT)
-#define T4_MAX_NUM_QP (1<<16)
-#define T4_MAX_NUM_CQ (1<<15)
-#define T4_MAX_NUM_PD (1<<15)
-#define T4_EQ_STATUS_ENTRIES (L1_CACHE_BYTES > 64 ? 2 : 1)
-#define T4_MAX_EQ_SIZE (65520 - T4_EQ_STATUS_ENTRIES)
-#define T4_MAX_IQ_SIZE (65520 - 1)
-#define T4_MAX_RQ_SIZE (8192 - T4_EQ_STATUS_ENTRIES)
-#define T4_MAX_SQ_SIZE (T4_MAX_EQ_SIZE - 1)
-#define T4_MAX_QP_DEPTH (T4_MAX_RQ_SIZE - 1)
-#define T4_MAX_CQ_DEPTH (T4_MAX_IQ_SIZE - 1)
+#define T4_MAX_NUM_PD 65536
+#define T4_MAX_EQ_SIZE 65520
+#define T4_MAX_IQ_SIZE 65520
+#define T4_MAX_RQ_SIZE(n) (8192 - (n) - 1)
+#define T4_MAX_SQ_SIZE(n) (T4_MAX_EQ_SIZE - (n) - 1)
+#define T4_MAX_QP_DEPTH(n) (T4_MAX_RQ_SIZE(n))
+#define T4_MAX_CQ_DEPTH (T4_MAX_IQ_SIZE - 2)
#define T4_MAX_MR_SIZE (~0ULL - 1)
-#define T4_PAGESIZE_MASK 0xffff000 /* 4KB-128MB */
+#define T4_PAGESIZE_MASK 0xffffffff000 /* 4KB-8TB */
#define T4_STAG_UNSET 0xffffffff
#define T4_FW_MAJ 0
-#define T4_EQ_STATUS_ENTRIES (L1_CACHE_BYTES > 64 ? 2 : 1)
#define A_PCIE_MA_SYNC 0x30b4
struct t4_status_page {
diff --git a/sys/dev/cxgbe/offload.h b/sys/dev/cxgbe/offload.h
index cb0006c..9c0dd7a 100644
--- a/sys/dev/cxgbe/offload.h
+++ b/sys/dev/cxgbe/offload.h
@@ -121,6 +121,7 @@ struct t4_virt_res { /* virtualized HW resources */
struct t4_range pbl;
struct t4_range qp;
struct t4_range cq;
+ struct t4_range srq;
struct t4_range ocq;
struct t4_range l2t;
};
diff --git a/sys/dev/cxgbe/t4_iov.c b/sys/dev/cxgbe/t4_iov.c
index 0f7deb0..a5779bf 100644
--- a/sys/dev/cxgbe/t4_iov.c
+++ b/sys/dev/cxgbe/t4_iov.c
@@ -92,11 +92,25 @@ struct {
{0x5013, "Chelsio T580-CHR"},
#endif
}, t6iov_pciids[] = {
+ {0x6000, "Chelsio T6-DBG-25"}, /* 2 x 10/25G, debug */
{0x6001, "Chelsio T6225-CR"}, /* 2 x 10/25G */
{0x6002, "Chelsio T6225-SO-CR"}, /* 2 x 10/25G, nomem */
+ {0x6003, "Chelsio T6425-CR"}, /* 4 x 10/25G */
+ {0x6004, "Chelsio T6425-SO-CR"}, /* 4 x 10/25G, nomem */
+ {0x6005, "Chelsio T6225-OCP-SO"}, /* 2 x 10/25G, nomem */
+ {0x6006, "Chelsio T62100-OCP-SO"}, /* 2 x 40/50/100G, nomem */
{0x6007, "Chelsio T62100-LP-CR"}, /* 2 x 40/50/100G */
{0x6008, "Chelsio T62100-SO-CR"}, /* 2 x 40/50/100G, nomem */
+ {0x6009, "Chelsio T6210-BT"}, /* 2 x 10GBASE-T */
{0x600d, "Chelsio T62100-CR"}, /* 2 x 40/50/100G */
+ {0x6010, "Chelsio T6-DBG-100"}, /* 2 x 40/50/100G, debug */
+ {0x6011, "Chelsio T6225-LL-CR"}, /* 2 x 10/25G */
+ {0x6014, "Chelsio T61100-OCP-SO"}, /* 1 x 40/50/100G, nomem */
+ {0x6015, "Chelsio T6201-BT"}, /* 2 x 1000BASE-T */
+
+ /* Custom */
+ {0x6080, "Chelsio T6225 80"},
+ {0x6081, "Chelsio T62100 81"},
};
static int t4iov_attach_child(device_t dev);
diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c
index 07c2265..8cac69f 100644
--- a/sys/dev/cxgbe/t4_main.c
+++ b/sys/dev/cxgbe/t4_main.c
@@ -232,8 +232,8 @@ SLIST_HEAD(, uld_info) t4_uld_list;
* Tunables. See tweak_tunables() too.
*
* Each tunable is set to a default value here if it's known at compile-time.
- * Otherwise it is set to -1 as an indication to tweak_tunables() that it should
- * provide a reasonable default when the driver is loaded.
+ * Otherwise it is set to -n as an indication to tweak_tunables() that it should
+ * provide a reasonable default (upto n) when the driver is loaded.
*
* Tunables applicable to both T4 and T5 are under hw.cxgbe. Those specific to
* T5 are under hw.cxl.
@@ -243,27 +243,27 @@ SLIST_HEAD(, uld_info) t4_uld_list;
* Number of queues for tx and rx, 10G and 1G, NIC and offload.
*/
#define NTXQ_10G 16
-int t4_ntxq10g = -1;
+int t4_ntxq10g = -NTXQ_10G;
TUNABLE_INT("hw.cxgbe.ntxq10g", &t4_ntxq10g);
#define NRXQ_10G 8
-int t4_nrxq10g = -1;
+int t4_nrxq10g = -NRXQ_10G;
TUNABLE_INT("hw.cxgbe.nrxq10g", &t4_nrxq10g);
#define NTXQ_1G 4
-int t4_ntxq1g = -1;
+int t4_ntxq1g = -NTXQ_1G;
TUNABLE_INT("hw.cxgbe.ntxq1g", &t4_ntxq1g);
#define NRXQ_1G 2
-int t4_nrxq1g = -1;
+int t4_nrxq1g = -NRXQ_1G;
TUNABLE_INT("hw.cxgbe.nrxq1g", &t4_nrxq1g);
#define NTXQ_VI 1
-static int t4_ntxq_vi = -1;
+static int t4_ntxq_vi = -NTXQ_VI;
TUNABLE_INT("hw.cxgbe.ntxq_vi", &t4_ntxq_vi);
#define NRXQ_VI 1
-static int t4_nrxq_vi = -1;
+static int t4_nrxq_vi = -NRXQ_VI;
TUNABLE_INT("hw.cxgbe.nrxq_vi", &t4_nrxq_vi);
static int t4_rsrv_noflowq = 0;
@@ -271,37 +271,37 @@ TUNABLE_INT("hw.cxgbe.rsrv_noflowq", &t4_rsrv_noflowq);
#ifdef TCP_OFFLOAD
#define NOFLDTXQ_10G 8
-static int t4_nofldtxq10g = -1;
+static int t4_nofldtxq10g = -NOFLDTXQ_10G;
TUNABLE_INT("hw.cxgbe.nofldtxq10g", &t4_nofldtxq10g);
#define NOFLDRXQ_10G 2
-static int t4_nofldrxq10g = -1;
+static int t4_nofldrxq10g = -NOFLDRXQ_10G;
TUNABLE_INT("hw.cxgbe.nofldrxq10g", &t4_nofldrxq10g);
#define NOFLDTXQ_1G 2
-static int t4_nofldtxq1g = -1;
+static int t4_nofldtxq1g = -NOFLDTXQ_1G;
TUNABLE_INT("hw.cxgbe.nofldtxq1g", &t4_nofldtxq1g);
#define NOFLDRXQ_1G 1
-static int t4_nofldrxq1g = -1;
+static int t4_nofldrxq1g = -NOFLDRXQ_1G;
TUNABLE_INT("hw.cxgbe.nofldrxq1g", &t4_nofldrxq1g);
#define NOFLDTXQ_VI 1
-static int t4_nofldtxq_vi = -1;
+static int t4_nofldtxq_vi = -NOFLDTXQ_VI;
TUNABLE_INT("hw.cxgbe.nofldtxq_vi", &t4_nofldtxq_vi);
#define NOFLDRXQ_VI 1
-static int t4_nofldrxq_vi = -1;
+static int t4_nofldrxq_vi = -NOFLDRXQ_VI;
TUNABLE_INT("hw.cxgbe.nofldrxq_vi", &t4_nofldrxq_vi);
#endif
#ifdef DEV_NETMAP
#define NNMTXQ_VI 2
-static int t4_nnmtxq_vi = -1;
+static int t4_nnmtxq_vi = -NNMTXQ_VI;
TUNABLE_INT("hw.cxgbe.nnmtxq_vi", &t4_nnmtxq_vi);
#define NNMRXQ_VI 2
-static int t4_nnmrxq_vi = -1;
+static int t4_nnmrxq_vi = -NNMRXQ_VI;
TUNABLE_INT("hw.cxgbe.nnmrxq_vi", &t4_nnmrxq_vi);
#endif
@@ -623,13 +623,25 @@ struct {
#endif
}, t6_pciids[] = {
{0xc006, "Chelsio Terminator 6 FPGA"}, /* T6 PE10K6 FPGA (PF0) */
- {0x6400, "Chelsio T6225-DBG"}, /* 2 x 10/25G, debug */
+ {0x6400, "Chelsio T6-DBG-25"}, /* 2 x 10/25G, debug */
{0x6401, "Chelsio T6225-CR"}, /* 2 x 10/25G */
{0x6402, "Chelsio T6225-SO-CR"}, /* 2 x 10/25G, nomem */
+ {0x6403, "Chelsio T6425-CR"}, /* 4 x 10/25G */
+ {0x6404, "Chelsio T6425-SO-CR"}, /* 4 x 10/25G, nomem */
+ {0x6405, "Chelsio T6225-OCP-SO"}, /* 2 x 10/25G, nomem */
+ {0x6406, "Chelsio T62100-OCP-SO"}, /* 2 x 40/50/100G, nomem */
{0x6407, "Chelsio T62100-LP-CR"}, /* 2 x 40/50/100G */
{0x6408, "Chelsio T62100-SO-CR"}, /* 2 x 40/50/100G, nomem */
+ {0x6409, "Chelsio T6210-BT"}, /* 2 x 10GBASE-T */
{0x640d, "Chelsio T62100-CR"}, /* 2 x 40/50/100G */
- {0x6410, "Chelsio T62100-DBG"}, /* 2 x 40/50/100G, debug */
+ {0x6410, "Chelsio T6-DBG-100"}, /* 2 x 40/50/100G, debug */
+ {0x6411, "Chelsio T6225-LL-CR"}, /* 2 x 10/25G */
+ {0x6414, "Chelsio T61100-OCP-SO"}, /* 1 x 40/50/100G, nomem */
+ {0x6415, "Chelsio T6201-BT"}, /* 2 x 1000BASE-T */
+
+ /* Custom */
+ {0x6480, "Chelsio T6225 80"},
+ {0x6481, "Chelsio T62100 81"},
};
#ifdef TCP_OFFLOAD
@@ -983,6 +995,7 @@ t4_attach(device_t dev)
lc->autoneg = t4_autoneg ? AUTONEG_ENABLE :
AUTONEG_DISABLE;
}
+ lc->requested_speed = port_top_speed_raw(pi);
rc = -t4_link_l1cfg(sc, sc->mbox, pi->tx_chan, lc);
if (rc != 0) {
@@ -998,9 +1011,6 @@ t4_attach(device_t dev)
mtx_init(&pi->pi_lock, pi->lockname, 0, MTX_DEF);
sc->chan_map[pi->tx_chan] = i;
- pi->tc = malloc(sizeof(struct tx_sched_class) *
- sc->chip_params->nsched_cls, M_CXGBE, M_ZERO | M_WAITOK);
-
if (port_top_speed(pi) >= 10) {
n10g++;
} else {
@@ -1088,6 +1098,7 @@ t4_attach(device_t dev)
M_ZERO | M_WAITOK);
t4_init_l2t(sc, M_WAITOK);
+ t4_init_tx_sched(sc);
/*
* Second pass over the ports. This time we know the number of rx and
@@ -1312,6 +1323,9 @@ t4_detach_common(device_t dev)
for (i = 0; i < sc->intr_count; i++)
t4_free_irq(sc, &sc->irq[i]);
+ if ((sc->flags & (IS_VF | FW_OK)) == FW_OK)
+ t4_free_tx_sched(sc);
+
for (i = 0; i < MAX_NPORTS; i++) {
pi = sc->port[i];
if (pi) {
@@ -1321,7 +1335,6 @@ t4_detach_common(device_t dev)
mtx_destroy(&pi->pi_lock);
free(pi->vi, M_CXGBE);
- free(pi->tc, M_CXGBE);
free(pi, M_CXGBE);
}
}
@@ -1444,6 +1457,10 @@ cxgbe_vi_attach(device_t dev, struct vi_info *vi)
if (vi->nofldrxq != 0)
ifp->if_capabilities |= IFCAP_TOE;
#endif
+#ifdef DEV_NETMAP
+ if (vi->nnmrxq != 0)
+ ifp->if_capabilities |= IFCAP_NETMAP;
+#endif
ifp->if_capenable = T4_CAP_ENABLE;
ifp->if_hwassist = CSUM_TCP | CSUM_UDP | CSUM_IP | CSUM_TSO |
CSUM_UDP_IPV6 | CSUM_TCP_IPV6;
@@ -1462,7 +1479,7 @@ cxgbe_vi_attach(device_t dev, struct vi_info *vi)
ether_ifattach(ifp, vi->hw_addr);
#ifdef DEV_NETMAP
- if (vi->nnmrxq != 0)
+ if (ifp->if_capabilities & IFCAP_NETMAP)
cxgbe_nm_attach(vi);
#endif
sb = sbuf_new_auto();
@@ -1852,12 +1869,15 @@ cxgbe_qflush(struct ifnet *ifp)
if (vi->flags & VI_INIT_DONE) {
for_each_txq(vi, i, txq) {
TXQ_LOCK(txq);
- txq->eq.flags &= ~EQ_ENABLED;
+ txq->eq.flags |= EQ_QFLUSH;
TXQ_UNLOCK(txq);
while (!mp_ring_is_idle(txq->r)) {
mp_ring_check_drainage(txq->r, 0);
pause("qflush", 1);
}
+ TXQ_LOCK(txq);
+ txq->eq.flags &= ~EQ_QFLUSH;
+ TXQ_UNLOCK(txq);
}
}
if_qflush(ifp);
@@ -3490,6 +3510,21 @@ get_params__post_init(struct adapter *sc)
sc->vres.cq.size = val[3] - val[2] + 1;
sc->vres.ocq.start = val[4];
sc->vres.ocq.size = val[5] - val[4] + 1;
+
+ param[0] = FW_PARAM_PFVF(SRQ_START);
+ param[1] = FW_PARAM_PFVF(SRQ_END);
+ param[2] = FW_PARAM_DEV(MAXORDIRD_QP);
+ param[3] = FW_PARAM_DEV(MAXIRD_ADAPTER);
+ rc = -t4_query_params(sc, sc->mbox, sc->pf, 0, 4, param, val);
+ if (rc != 0) {
+ device_printf(sc->dev,
+ "failed to query RDMA parameters(3): %d.\n", rc);
+ return (rc);
+ }
+ sc->vres.srq.start = val[0];
+ sc->vres.srq.size = val[1] - val[0] + 1;
+ sc->params.max_ordird_qp = val[2];
+ sc->params.max_ird_adapter = val[3];
}
if (sc->iscsicaps) {
param[0] = FW_PARAM_PFVF(ISCSI_START);
@@ -4219,6 +4254,10 @@ int
adapter_full_init(struct adapter *sc)
{
int rc, i;
+#ifdef RSS
+ uint32_t raw_rss_key[RSS_KEYSIZE / sizeof(uint32_t)];
+ uint32_t rss_key[RSS_KEYSIZE / sizeof(uint32_t)];
+#endif
ASSERT_SYNCHRONIZED_OP(sc);
ADAPTER_LOCK_ASSERT_NOTOWNED(sc);
@@ -4244,6 +4283,14 @@ adapter_full_init(struct adapter *sc)
taskqueue_start_threads(&sc->tq[i], 1, PI_NET, "%s tq%d",
device_get_nameunit(sc->dev), i);
}
+#ifdef RSS
+ MPASS(RSS_KEYSIZE == 40);
+ rss_getkey((void *)&raw_rss_key[0]);
+ for (i = 0; i < nitems(rss_key); i++) {
+ rss_key[i] = htobe32(raw_rss_key[nitems(rss_key) - 1 - i]);
+ }
+ t4_write_rss_key(sc, &rss_key[0], -1);
+#endif
if (!(sc->flags & IS_VF))
t4_intr_enable(sc);
@@ -4351,8 +4398,6 @@ vi_full_init(struct vi_info *vi)
int nbuckets = rss_getnumbuckets();
int hashconfig = rss_gethashconfig();
int extra;
- uint32_t raw_rss_key[RSS_KEYSIZE / sizeof(uint32_t)];
- uint32_t rss_key[RSS_KEYSIZE / sizeof(uint32_t)];
#endif
ASSERT_SYNCHRONIZED_OP(sc);
@@ -4382,17 +4427,10 @@ vi_full_init(struct vi_info *vi)
vi->rss_size);
}
#ifdef RSS
- MPASS(RSS_KEYSIZE == 40);
if (vi->nrxq != nbuckets) {
if_printf(ifp, "nrxq (%d) != kernel RSS buckets (%d);"
"performance will be impacted.\n", vi->nrxq, nbuckets);
}
-
- rss_getkey((void *)&raw_rss_key[0]);
- for (i = 0; i < nitems(rss_key); i++) {
- rss_key[i] = htobe32(raw_rss_key[nitems(rss_key) - 1 - i]);
- }
- t4_write_rss_key(sc, &rss_key[0], -1);
#endif
rss = malloc(vi->rss_size * sizeof (*rss), M_CXGBE, M_ZERO | M_WAITOK);
for (i = 0; i < vi->rss_size;) {
@@ -5316,9 +5354,9 @@ cxgbe_sysctls(struct port_info *pi)
* dev.(cxgbe|cxl).X.tc.
*/
oid = SYSCTL_ADD_NODE(ctx, children, OID_AUTO, "tc", CTLFLAG_RD, NULL,
- "Tx scheduler traffic classes");
+ "Tx scheduler traffic classes (cl_rl)");
for (i = 0; i < sc->chip_params->nsched_cls; i++) {
- struct tx_sched_class *tc = &pi->tc[i];
+ struct tx_cl_rl_params *tc = &pi->sched_params->cl_rl[i];
snprintf(name, sizeof(name), "%d", i);
children2 = SYSCTL_CHILDREN(SYSCTL_ADD_NODE(ctx,
@@ -5849,7 +5887,12 @@ sysctl_autoneg(SYSCTL_HANDLER_ARGS)
if ((lc->supported & FW_PORT_CAP_ANEG) == 0)
return (ENOTSUP);
- val = val ? AUTONEG_ENABLE : AUTONEG_DISABLE;
+ if (val == 0)
+ val = AUTONEG_DISABLE;
+ else if (val == 1)
+ val = AUTONEG_ENABLE;
+ else
+ return (EINVAL);
if (lc->autoneg == val)
return (0); /* no change */
@@ -5862,6 +5905,7 @@ sysctl_autoneg(SYSCTL_HANDLER_ARGS)
rc = -t4_link_l1cfg(sc, sc->mbox, pi->tx_chan, lc);
if (rc != 0)
lc->autoneg = old;
+ end_synchronized_op(sc, 0);
return (rc);
}
@@ -7833,10 +7877,9 @@ static int
sysctl_tc_params(SYSCTL_HANDLER_ARGS)
{
struct adapter *sc = arg1;
- struct tx_sched_class *tc;
- struct t4_sched_class_params p;
+ struct tx_cl_rl_params tc;
struct sbuf *sb;
- int i, rc, port_id, flags, mbps, gbps;
+ int i, rc, port_id, mbps, gbps;
rc = sysctl_wire_old_buffer(req, 0);
if (rc != 0)
@@ -7851,52 +7894,34 @@ sysctl_tc_params(SYSCTL_HANDLER_ARGS)
MPASS(sc->port[port_id] != NULL);
i = arg2 & 0xffff;
MPASS(i < sc->chip_params->nsched_cls);
- tc = &sc->port[port_id]->tc[i];
- rc = begin_synchronized_op(sc, NULL, HOLD_LOCK | SLEEP_OK | INTR_OK,
- "t4tc_p");
- if (rc)
- goto done;
- flags = tc->flags;
- p = tc->params;
- end_synchronized_op(sc, LOCK_HELD);
+ mtx_lock(&sc->tc_lock);
+ tc = sc->port[port_id]->sched_params->cl_rl[i];
+ mtx_unlock(&sc->tc_lock);
- if ((flags & TX_SC_OK) == 0) {
- sbuf_printf(sb, "none");
+ if (tc.flags & TX_CLRL_ERROR) {
+ sbuf_printf(sb, "error");
goto done;
}
- if (p.level == SCHED_CLASS_LEVEL_CL_WRR) {
- sbuf_printf(sb, "cl-wrr weight %u", p.weight);
- goto done;
- } else if (p.level == SCHED_CLASS_LEVEL_CL_RL)
- sbuf_printf(sb, "cl-rl");
- else if (p.level == SCHED_CLASS_LEVEL_CH_RL)
- sbuf_printf(sb, "ch-rl");
- else {
- rc = ENXIO;
- goto done;
- }
-
- if (p.ratemode == SCHED_CLASS_RATEMODE_REL) {
+ if (tc.ratemode == SCHED_CLASS_RATEMODE_REL) {
/* XXX: top speed or actual link speed? */
gbps = port_top_speed(sc->port[port_id]);
- sbuf_printf(sb, " %u%% of %uGbps", p.maxrate, gbps);
- }
- else if (p.ratemode == SCHED_CLASS_RATEMODE_ABS) {
- switch (p.rateunit) {
+ sbuf_printf(sb, " %u%% of %uGbps", tc.maxrate, gbps);
+ } else if (tc.ratemode == SCHED_CLASS_RATEMODE_ABS) {
+ switch (tc.rateunit) {
case SCHED_CLASS_RATEUNIT_BITS:
- mbps = p.maxrate / 1000;
- gbps = p.maxrate / 1000000;
- if (p.maxrate == gbps * 1000000)
+ mbps = tc.maxrate / 1000;
+ gbps = tc.maxrate / 1000000;
+ if (tc.maxrate == gbps * 1000000)
sbuf_printf(sb, " %uGbps", gbps);
- else if (p.maxrate == mbps * 1000)
+ else if (tc.maxrate == mbps * 1000)
sbuf_printf(sb, " %uMbps", mbps);
else
- sbuf_printf(sb, " %uKbps", p.maxrate);
+ sbuf_printf(sb, " %uKbps", tc.maxrate);
break;
case SCHED_CLASS_RATEUNIT_PKTS:
- sbuf_printf(sb, " %upps", p.maxrate);
+ sbuf_printf(sb, " %upps", tc.maxrate);
break;
default:
rc = ENXIO;
@@ -7904,7 +7929,7 @@ sysctl_tc_params(SYSCTL_HANDLER_ARGS)
}
}
- switch (p.mode) {
+ switch (tc.mode) {
case SCHED_CLASS_MODE_CLASS:
sbuf_printf(sb, " aggregate");
break;
@@ -8806,225 +8831,6 @@ read_i2c(struct adapter *sc, struct t4_i2c_data *i2cd)
return (rc);
}
-static int
-in_range(int val, int lo, int hi)
-{
-
- return (val < 0 || (val <= hi && val >= lo));
-}
-
-static int
-set_sched_class_config(struct adapter *sc, int minmax)
-{
- int rc;
-
- if (minmax < 0)
- return (EINVAL);
-
- rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4sscc");
- if (rc)
- return (rc);
- rc = -t4_sched_config(sc, FW_SCHED_TYPE_PKTSCHED, minmax, 1);
- end_synchronized_op(sc, 0);
-
- return (rc);
-}
-
-static int
-set_sched_class_params(struct adapter *sc, struct t4_sched_class_params *p,
- int sleep_ok)
-{
- int rc, top_speed, fw_level, fw_mode, fw_rateunit, fw_ratemode;
- struct port_info *pi;
- struct tx_sched_class *tc;
-
- if (p->level == SCHED_CLASS_LEVEL_CL_RL)
- fw_level = FW_SCHED_PARAMS_LEVEL_CL_RL;
- else if (p->level == SCHED_CLASS_LEVEL_CL_WRR)
- fw_level = FW_SCHED_PARAMS_LEVEL_CL_WRR;
- else if (p->level == SCHED_CLASS_LEVEL_CH_RL)
- fw_level = FW_SCHED_PARAMS_LEVEL_CH_RL;
- else
- return (EINVAL);
-
- if (p->mode == SCHED_CLASS_MODE_CLASS)
- fw_mode = FW_SCHED_PARAMS_MODE_CLASS;
- else if (p->mode == SCHED_CLASS_MODE_FLOW)
- fw_mode = FW_SCHED_PARAMS_MODE_FLOW;
- else
- return (EINVAL);
-
- if (p->rateunit == SCHED_CLASS_RATEUNIT_BITS)
- fw_rateunit = FW_SCHED_PARAMS_UNIT_BITRATE;
- else if (p->rateunit == SCHED_CLASS_RATEUNIT_PKTS)
- fw_rateunit = FW_SCHED_PARAMS_UNIT_PKTRATE;
- else
- return (EINVAL);
-
- if (p->ratemode == SCHED_CLASS_RATEMODE_REL)
- fw_ratemode = FW_SCHED_PARAMS_RATE_REL;
- else if (p->ratemode == SCHED_CLASS_RATEMODE_ABS)
- fw_ratemode = FW_SCHED_PARAMS_RATE_ABS;
- else
- return (EINVAL);
-
- /* Vet our parameters ... */
- if (!in_range(p->channel, 0, sc->chip_params->nchan - 1))
- return (ERANGE);
-
- pi = sc->port[sc->chan_map[p->channel]];
- if (pi == NULL)
- return (ENXIO);
- MPASS(pi->tx_chan == p->channel);
- top_speed = port_top_speed(pi) * 1000000; /* Gbps -> Kbps */
-
- if (!in_range(p->cl, 0, sc->chip_params->nsched_cls) ||
- !in_range(p->minrate, 0, top_speed) ||
- !in_range(p->maxrate, 0, top_speed) ||
- !in_range(p->weight, 0, 100))
- return (ERANGE);
-
- /*
- * Translate any unset parameters into the firmware's
- * nomenclature and/or fail the call if the parameters
- * are required ...
- */
- if (p->rateunit < 0 || p->ratemode < 0 || p->channel < 0 || p->cl < 0)
- return (EINVAL);
-
- if (p->minrate < 0)
- p->minrate = 0;
- if (p->maxrate < 0) {
- if (p->level == SCHED_CLASS_LEVEL_CL_RL ||
- p->level == SCHED_CLASS_LEVEL_CH_RL)
- return (EINVAL);
- else
- p->maxrate = 0;
- }
- if (p->weight < 0) {
- if (p->level == SCHED_CLASS_LEVEL_CL_WRR)
- return (EINVAL);
- else
- p->weight = 0;
- }
- if (p->pktsize < 0) {
- if (p->level == SCHED_CLASS_LEVEL_CL_RL ||
- p->level == SCHED_CLASS_LEVEL_CH_RL)
- return (EINVAL);
- else
- p->pktsize = 0;
- }
-
- rc = begin_synchronized_op(sc, NULL,
- sleep_ok ? (SLEEP_OK | INTR_OK) : HOLD_LOCK, "t4sscp");
- if (rc)
- return (rc);
- tc = &pi->tc[p->cl];
- tc->params = *p;
- rc = -t4_sched_params(sc, FW_SCHED_TYPE_PKTSCHED, fw_level, fw_mode,
- fw_rateunit, fw_ratemode, p->channel, p->cl, p->minrate, p->maxrate,
- p->weight, p->pktsize, sleep_ok);
- if (rc == 0)
- tc->flags |= TX_SC_OK;
- else {
- /*
- * Unknown state at this point, see tc->params for what was
- * attempted.
- */
- tc->flags &= ~TX_SC_OK;
- }
- end_synchronized_op(sc, sleep_ok ? 0 : LOCK_HELD);
-
- return (rc);
-}
-
-int
-t4_set_sched_class(struct adapter *sc, struct t4_sched_params *p)
-{
-
- if (p->type != SCHED_CLASS_TYPE_PACKET)
- return (EINVAL);
-
- if (p->subcmd == SCHED_CLASS_SUBCMD_CONFIG)
- return (set_sched_class_config(sc, p->u.config.minmax));
-
- if (p->subcmd == SCHED_CLASS_SUBCMD_PARAMS)
- return (set_sched_class_params(sc, &p->u.params, 1));
-
- return (EINVAL);
-}
-
-int
-t4_set_sched_queue(struct adapter *sc, struct t4_sched_queue *p)
-{
- struct port_info *pi = NULL;
- struct vi_info *vi;
- struct sge_txq *txq;
- uint32_t fw_mnem, fw_queue, fw_class;
- int i, rc;
-
- rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4setsq");
- if (rc)
- return (rc);
-
- if (p->port >= sc->params.nports) {
- rc = EINVAL;
- goto done;
- }
-
- /* XXX: Only supported for the main VI. */
- pi = sc->port[p->port];
- vi = &pi->vi[0];
- if (!(vi->flags & VI_INIT_DONE)) {
- /* tx queues not set up yet */
- rc = EAGAIN;
- goto done;
- }
-
- if (!in_range(p->queue, 0, vi->ntxq - 1) ||
- !in_range(p->cl, 0, sc->chip_params->nsched_cls - 1)) {
- rc = EINVAL;
- goto done;
- }
-
- /*
- * Create a template for the FW_PARAMS_CMD mnemonic and value (TX
- * Scheduling Class in this case).
- */
- fw_mnem = (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DMAQ) |
- V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DMAQ_EQ_SCHEDCLASS_ETH));
- fw_class = p->cl < 0 ? 0xffffffff : p->cl;
-
- /*
- * If op.queue is non-negative, then we're only changing the scheduling
- * on a single specified TX queue.
- */
- if (p->queue >= 0) {
- txq = &sc->sge.txq[vi->first_txq + p->queue];
- fw_queue = (fw_mnem | V_FW_PARAMS_PARAM_YZ(txq->eq.cntxt_id));
- rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, &fw_queue,
- &fw_class);
- goto done;
- }
-
- /*
- * Change the scheduling on all the TX queues for the
- * interface.
- */
- for_each_txq(vi, i, txq) {
- fw_queue = (fw_mnem | V_FW_PARAMS_PARAM_YZ(txq->eq.cntxt_id));
- rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, &fw_queue,
- &fw_class);
- if (rc)
- goto done;
- }
-
- rc = 0;
-done:
- end_synchronized_op(sc, 0);
- return (rc);
-}
-
int
t4_os_find_pci_capability(struct adapter *sc, int cap)
{
@@ -9538,6 +9344,22 @@ uld_active(struct adapter *sc, int uld_id)
#endif
/*
+ * t = ptr to tunable.
+ * nc = number of CPUs.
+ * c = compiled in default for that tunable.
+ */
+static void
+calculate_nqueues(int *t, int nc, const int c)
+{
+ int nq;
+
+ if (*t > 0)
+ return;
+ nq = *t < 0 ? -*t : c;
+ *t = min(nc, nq);
+}
+
+/*
* Come up with reasonable defaults for some of the tunables, provided they're
* not set by the user (in which case we'll use the values as is).
*/
@@ -9550,7 +9372,7 @@ tweak_tunables(void)
#ifdef RSS
t4_ntxq10g = rss_getnumbuckets();
#else
- t4_ntxq10g = min(nc, NTXQ_10G);
+ calculate_nqueues(&t4_ntxq10g, nc, NTXQ_10G);
#endif
}
@@ -9559,18 +9381,17 @@ tweak_tunables(void)
/* XXX: way too many for 1GbE? */
t4_ntxq1g = rss_getnumbuckets();
#else
- t4_ntxq1g = min(nc, NTXQ_1G);
+ calculate_nqueues(&t4_ntxq1g, nc, NTXQ_1G);
#endif
}
- if (t4_ntxq_vi < 1)
- t4_ntxq_vi = min(nc, NTXQ_VI);
+ calculate_nqueues(&t4_ntxq_vi, nc, NTXQ_VI);
if (t4_nrxq10g < 1) {
#ifdef RSS
t4_nrxq10g = rss_getnumbuckets();
#else
- t4_nrxq10g = min(nc, NRXQ_10G);
+ calculate_nqueues(&t4_nrxq10g, nc, NRXQ_10G);
#endif
}
@@ -9579,31 +9400,19 @@ tweak_tunables(void)
/* XXX: way too many for 1GbE? */
t4_nrxq1g = rss_getnumbuckets();
#else
- t4_nrxq1g = min(nc, NRXQ_1G);
+ calculate_nqueues(&t4_nrxq1g, nc, NRXQ_1G);
#endif
}
- if (t4_nrxq_vi < 1)
- t4_nrxq_vi = min(nc, NRXQ_VI);
+ calculate_nqueues(&t4_nrxq_vi, nc, NRXQ_VI);
#ifdef TCP_OFFLOAD
- if (t4_nofldtxq10g < 1)
- t4_nofldtxq10g = min(nc, NOFLDTXQ_10G);
-
- if (t4_nofldtxq1g < 1)
- t4_nofldtxq1g = min(nc, NOFLDTXQ_1G);
-
- if (t4_nofldtxq_vi < 1)
- t4_nofldtxq_vi = min(nc, NOFLDTXQ_VI);
-
- if (t4_nofldrxq10g < 1)
- t4_nofldrxq10g = min(nc, NOFLDRXQ_10G);
-
- if (t4_nofldrxq1g < 1)
- t4_nofldrxq1g = min(nc, NOFLDRXQ_1G);
-
- if (t4_nofldrxq_vi < 1)
- t4_nofldrxq_vi = min(nc, NOFLDRXQ_VI);
+ calculate_nqueues(&t4_nofldtxq10g, nc, NOFLDTXQ_10G);
+ calculate_nqueues(&t4_nofldtxq1g, nc, NOFLDTXQ_1G);
+ calculate_nqueues(&t4_nofldtxq_vi, nc, NOFLDTXQ_VI);
+ calculate_nqueues(&t4_nofldrxq10g, nc, NOFLDRXQ_10G);
+ calculate_nqueues(&t4_nofldrxq1g, nc, NOFLDRXQ_1G);
+ calculate_nqueues(&t4_nofldrxq_vi, nc, NOFLDRXQ_VI);
if (t4_toecaps_allowed == -1)
t4_toecaps_allowed = FW_CAPS_CONFIG_TOE;
@@ -9630,11 +9439,8 @@ tweak_tunables(void)
#endif
#ifdef DEV_NETMAP
- if (t4_nnmtxq_vi < 1)
- t4_nnmtxq_vi = min(nc, NNMTXQ_VI);
-
- if (t4_nnmrxq_vi < 1)
- t4_nnmrxq_vi = min(nc, NNMRXQ_VI);
+ calculate_nqueues(&t4_nnmtxq_vi, nc, NNMTXQ_VI);
+ calculate_nqueues(&t4_nnmrxq_vi, nc, NNMRXQ_VI);
#endif
if (t4_tmr_idx_10g < 0 || t4_tmr_idx_10g >= SGE_NTIMERS)
diff --git a/sys/dev/cxgbe/t4_netmap.c b/sys/dev/cxgbe/t4_netmap.c
index a1722ee..d9a74cf 100644
--- a/sys/dev/cxgbe/t4_netmap.c
+++ b/sys/dev/cxgbe/t4_netmap.c
@@ -870,7 +870,7 @@ cxgbe_nm_attach(struct vi_info *vi)
na.nm_register = cxgbe_netmap_reg;
na.num_tx_rings = vi->nnmtxq;
na.num_rx_rings = vi->nnmrxq;
- netmap_attach(&na); /* This adds IFCAP_NETMAP to if_capabilities */
+ netmap_attach(&na);
}
void
diff --git a/sys/dev/cxgbe/t4_sched.c b/sys/dev/cxgbe/t4_sched.c
new file mode 100644
index 0000000..c2d3cde
--- /dev/null
+++ b/sys/dev/cxgbe/t4_sched.c
@@ -0,0 +1,463 @@
+/*-
+ * Copyright (c) 2017 Chelsio Communications, Inc.
+ * All rights reserved.
+ * Written by: Navdeep Parhar <np@FreeBSD.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include "opt_inet.h"
+#include "opt_inet6.h"
+
+#include <sys/types.h>
+#include <sys/malloc.h>
+#include <sys/queue.h>
+#include <sys/sbuf.h>
+#include <sys/taskqueue.h>
+#include <sys/sysctl.h>
+
+#include "common/common.h"
+#include "common/t4_regs.h"
+#include "common/t4_regs_values.h"
+#include "common/t4_msg.h"
+
+
+static int
+in_range(int val, int lo, int hi)
+{
+
+ return (val < 0 || (val <= hi && val >= lo));
+}
+
+static int
+set_sched_class_config(struct adapter *sc, int minmax)
+{
+ int rc;
+
+ if (minmax < 0)
+ return (EINVAL);
+
+ rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4sscc");
+ if (rc)
+ return (rc);
+ rc = -t4_sched_config(sc, FW_SCHED_TYPE_PKTSCHED, minmax, 1);
+ end_synchronized_op(sc, 0);
+
+ return (rc);
+}
+
+static int
+set_sched_class_params(struct adapter *sc, struct t4_sched_class_params *p,
+ int sleep_ok)
+{
+ int rc, top_speed, fw_level, fw_mode, fw_rateunit, fw_ratemode;
+ struct port_info *pi;
+ struct tx_cl_rl_params *tc;
+
+ if (p->level == SCHED_CLASS_LEVEL_CL_RL)
+ fw_level = FW_SCHED_PARAMS_LEVEL_CL_RL;
+ else if (p->level == SCHED_CLASS_LEVEL_CL_WRR)
+ fw_level = FW_SCHED_PARAMS_LEVEL_CL_WRR;
+ else if (p->level == SCHED_CLASS_LEVEL_CH_RL)
+ fw_level = FW_SCHED_PARAMS_LEVEL_CH_RL;
+ else
+ return (EINVAL);
+
+ if (p->mode == SCHED_CLASS_MODE_CLASS)
+ fw_mode = FW_SCHED_PARAMS_MODE_CLASS;
+ else if (p->mode == SCHED_CLASS_MODE_FLOW)
+ fw_mode = FW_SCHED_PARAMS_MODE_FLOW;
+ else
+ return (EINVAL);
+
+ if (p->rateunit == SCHED_CLASS_RATEUNIT_BITS)
+ fw_rateunit = FW_SCHED_PARAMS_UNIT_BITRATE;
+ else if (p->rateunit == SCHED_CLASS_RATEUNIT_PKTS)
+ fw_rateunit = FW_SCHED_PARAMS_UNIT_PKTRATE;
+ else
+ return (EINVAL);
+
+ if (p->ratemode == SCHED_CLASS_RATEMODE_REL)
+ fw_ratemode = FW_SCHED_PARAMS_RATE_REL;
+ else if (p->ratemode == SCHED_CLASS_RATEMODE_ABS)
+ fw_ratemode = FW_SCHED_PARAMS_RATE_ABS;
+ else
+ return (EINVAL);
+
+ /* Vet our parameters ... */
+ if (!in_range(p->channel, 0, sc->chip_params->nchan - 1))
+ return (ERANGE);
+
+ pi = sc->port[sc->chan_map[p->channel]];
+ if (pi == NULL)
+ return (ENXIO);
+ MPASS(pi->tx_chan == p->channel);
+ top_speed = port_top_speed(pi) * 1000000; /* Gbps -> Kbps */
+
+ if (!in_range(p->cl, 0, sc->chip_params->nsched_cls) ||
+ !in_range(p->minrate, 0, top_speed) ||
+ !in_range(p->maxrate, 0, top_speed) ||
+ !in_range(p->weight, 0, 100))
+ return (ERANGE);
+
+ /*
+ * Translate any unset parameters into the firmware's
+ * nomenclature and/or fail the call if the parameters
+ * are required ...
+ */
+ if (p->rateunit < 0 || p->ratemode < 0 || p->channel < 0 || p->cl < 0)
+ return (EINVAL);
+
+ if (p->minrate < 0)
+ p->minrate = 0;
+ if (p->maxrate < 0) {
+ if (p->level == SCHED_CLASS_LEVEL_CL_RL ||
+ p->level == SCHED_CLASS_LEVEL_CH_RL)
+ return (EINVAL);
+ else
+ p->maxrate = 0;
+ }
+ if (p->weight < 0) {
+ if (p->level == SCHED_CLASS_LEVEL_CL_WRR)
+ return (EINVAL);
+ else
+ p->weight = 0;
+ }
+ if (p->pktsize < 0) {
+ if (p->level == SCHED_CLASS_LEVEL_CL_RL ||
+ p->level == SCHED_CLASS_LEVEL_CH_RL)
+ return (EINVAL);
+ else
+ p->pktsize = 0;
+ }
+
+ rc = begin_synchronized_op(sc, NULL,
+ sleep_ok ? (SLEEP_OK | INTR_OK) : HOLD_LOCK, "t4sscp");
+ if (rc)
+ return (rc);
+ if (p->level == SCHED_CLASS_LEVEL_CL_RL) {
+ tc = &pi->sched_params->cl_rl[p->cl];
+ if (tc->refcount > 0) {
+ rc = EBUSY;
+ goto done;
+ } else {
+ tc->ratemode = fw_ratemode;
+ tc->rateunit = fw_rateunit;
+ tc->mode = fw_mode;
+ tc->maxrate = p->maxrate;
+ tc->pktsize = p->pktsize;
+ }
+ }
+ rc = -t4_sched_params(sc, FW_SCHED_TYPE_PKTSCHED, fw_level, fw_mode,
+ fw_rateunit, fw_ratemode, p->channel, p->cl, p->minrate, p->maxrate,
+ p->weight, p->pktsize, sleep_ok);
+ if (p->level == SCHED_CLASS_LEVEL_CL_RL && rc != 0) {
+ /*
+ * Unknown state at this point, see parameters in tc for what
+ * was attempted.
+ */
+ tc->flags |= TX_CLRL_ERROR;
+ }
+done:
+ end_synchronized_op(sc, sleep_ok ? 0 : LOCK_HELD);
+
+ return (rc);
+}
+
+static void
+update_tx_sched(void *context, int pending)
+{
+ int i, j, mode, rateunit, ratemode, maxrate, pktsize, rc;
+ struct port_info *pi;
+ struct tx_cl_rl_params *tc;
+ struct adapter *sc = context;
+ const int n = sc->chip_params->nsched_cls;
+
+ mtx_lock(&sc->tc_lock);
+ for_each_port(sc, i) {
+ pi = sc->port[i];
+ tc = &pi->sched_params->cl_rl[0];
+ for (j = 0; j < n; j++, tc++) {
+ MPASS(mtx_owned(&sc->tc_lock));
+ if ((tc->flags & TX_CLRL_REFRESH) == 0)
+ continue;
+
+ mode = tc->mode;
+ rateunit = tc->rateunit;
+ ratemode = tc->ratemode;
+ maxrate = tc->maxrate;
+ pktsize = tc->pktsize;
+ mtx_unlock(&sc->tc_lock);
+
+ if (begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK,
+ "t4utxs") != 0) {
+ mtx_lock(&sc->tc_lock);
+ continue;
+ }
+ rc = t4_sched_params(sc, FW_SCHED_TYPE_PKTSCHED,
+ FW_SCHED_PARAMS_LEVEL_CL_RL, mode, rateunit,
+ ratemode, pi->tx_chan, j, 0, maxrate, 0, pktsize,
+ 1);
+ end_synchronized_op(sc, 0);
+
+ mtx_lock(&sc->tc_lock);
+ if (rc != 0) {
+ tc->flags |= TX_CLRL_ERROR;
+ } else if (tc->mode == mode &&
+ tc->rateunit == rateunit &&
+ tc->maxrate == maxrate &&
+ tc->pktsize == tc->pktsize) {
+ tc->flags &= ~(TX_CLRL_REFRESH | TX_CLRL_ERROR);
+ }
+ }
+ }
+ mtx_unlock(&sc->tc_lock);
+}
+
+int
+t4_set_sched_class(struct adapter *sc, struct t4_sched_params *p)
+{
+
+ if (p->type != SCHED_CLASS_TYPE_PACKET)
+ return (EINVAL);
+
+ if (p->subcmd == SCHED_CLASS_SUBCMD_CONFIG)
+ return (set_sched_class_config(sc, p->u.config.minmax));
+
+ if (p->subcmd == SCHED_CLASS_SUBCMD_PARAMS)
+ return (set_sched_class_params(sc, &p->u.params, 1));
+
+ return (EINVAL);
+}
+
+int
+t4_set_sched_queue(struct adapter *sc, struct t4_sched_queue *p)
+{
+ struct port_info *pi = NULL;
+ struct vi_info *vi;
+ struct sge_txq *txq;
+ uint32_t fw_mnem, fw_queue, fw_class;
+ int i, rc;
+
+ rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4setsq");
+ if (rc)
+ return (rc);
+
+ if (p->port >= sc->params.nports) {
+ rc = EINVAL;
+ goto done;
+ }
+
+ /* XXX: Only supported for the main VI. */
+ pi = sc->port[p->port];
+ vi = &pi->vi[0];
+ if (!(vi->flags & VI_INIT_DONE)) {
+ /* tx queues not set up yet */
+ rc = EAGAIN;
+ goto done;
+ }
+
+ if (!in_range(p->queue, 0, vi->ntxq - 1) ||
+ !in_range(p->cl, 0, sc->chip_params->nsched_cls - 1)) {
+ rc = EINVAL;
+ goto done;
+ }
+
+ /*
+ * Create a template for the FW_PARAMS_CMD mnemonic and value (TX
+ * Scheduling Class in this case).
+ */
+ fw_mnem = (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DMAQ) |
+ V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DMAQ_EQ_SCHEDCLASS_ETH));
+ fw_class = p->cl < 0 ? 0xffffffff : p->cl;
+
+ /*
+ * If op.queue is non-negative, then we're only changing the scheduling
+ * on a single specified TX queue.
+ */
+ if (p->queue >= 0) {
+ txq = &sc->sge.txq[vi->first_txq + p->queue];
+ fw_queue = (fw_mnem | V_FW_PARAMS_PARAM_YZ(txq->eq.cntxt_id));
+ rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, &fw_queue,
+ &fw_class);
+ goto done;
+ }
+
+ /*
+ * Change the scheduling on all the TX queues for the
+ * interface.
+ */
+ for_each_txq(vi, i, txq) {
+ fw_queue = (fw_mnem | V_FW_PARAMS_PARAM_YZ(txq->eq.cntxt_id));
+ rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, &fw_queue,
+ &fw_class);
+ if (rc)
+ goto done;
+ }
+
+ rc = 0;
+done:
+ end_synchronized_op(sc, 0);
+ return (rc);
+}
+
+int
+t4_init_tx_sched(struct adapter *sc)
+{
+ int i, j;
+ const int n = sc->chip_params->nsched_cls;
+ struct port_info *pi;
+ struct tx_cl_rl_params *tc;
+ static const uint32_t init_kbps[] = {
+ 100 * 1000,
+ 200 * 1000,
+ 400 * 1000,
+ 500 * 1000,
+ 800 * 1000,
+ 1000 * 1000,
+ 1200 * 1000,
+ 1500 * 1000,
+ 1800 * 1000,
+ 2000 * 1000,
+ 2500 * 1000,
+ 3000 * 1000,
+ 3500 * 1000,
+ 4000 * 1000,
+ 5000 * 1000,
+ 10000 * 1000
+ };
+
+ mtx_init(&sc->tc_lock, "tx_sched lock", NULL, MTX_DEF);
+ TASK_INIT(&sc->tc_task, 0, update_tx_sched, sc);
+ for_each_port(sc, i) {
+ pi = sc->port[i];
+ pi->sched_params = malloc(sizeof(*pi->sched_params) +
+ n * sizeof(*tc), M_CXGBE, M_ZERO | M_WAITOK);
+ tc = &pi->sched_params->cl_rl[0];
+ for (j = 0; j < n; j++, tc++) {
+ tc->refcount = 0;
+ tc->ratemode = FW_SCHED_PARAMS_RATE_ABS;
+ tc->rateunit = FW_SCHED_PARAMS_UNIT_BITRATE;
+ tc->mode = FW_SCHED_PARAMS_MODE_FLOW;
+ tc->maxrate = init_kbps[min(j, nitems(init_kbps) - 1)];
+ tc->pktsize = ETHERMTU; /* XXX */
+
+ if (t4_sched_params_cl_rl_kbps(sc, pi->tx_chan, j,
+ tc->mode, tc->maxrate, tc->pktsize, 1) == 0)
+ tc->flags = 0;
+ else
+ tc->flags = TX_CLRL_ERROR;
+ }
+ }
+
+ return (0);
+}
+
+int
+t4_free_tx_sched(struct adapter *sc)
+{
+ int i;
+
+ taskqueue_drain(taskqueue_thread, &sc->tc_task);
+
+ for_each_port(sc, i)
+ free(sc->port[i]->sched_params, M_CXGBE);
+
+ if (mtx_initialized(&sc->tc_lock))
+ mtx_destroy(&sc->tc_lock);
+
+ return (0);
+}
+
+void
+t4_update_tx_sched(struct adapter *sc)
+{
+
+ taskqueue_enqueue(taskqueue_thread, &sc->tc_task);
+}
+
+int
+t4_reserve_cl_rl_kbps(struct adapter *sc, int port_id, u_int maxrate,
+ int *tc_idx)
+{
+ int rc = 0, fa = -1, i;
+ struct tx_cl_rl_params *tc;
+
+ MPASS(port_id >= 0 && port_id < sc->params.nports);
+
+ tc = &sc->port[port_id]->sched_params->cl_rl[0];
+ mtx_lock(&sc->tc_lock);
+ for (i = 0; i < sc->chip_params->nsched_cls; i++, tc++) {
+ if (fa < 0 && tc->refcount == 0)
+ fa = i;
+
+ if (tc->ratemode == FW_SCHED_PARAMS_RATE_ABS &&
+ tc->rateunit == FW_SCHED_PARAMS_UNIT_BITRATE &&
+ tc->mode == FW_SCHED_PARAMS_MODE_FLOW &&
+ tc->maxrate == maxrate) {
+ tc->refcount++;
+ *tc_idx = i;
+ goto done;
+ }
+ }
+ /* Not found */
+ MPASS(i == sc->chip_params->nsched_cls);
+ if (fa != -1) {
+ tc = &sc->port[port_id]->sched_params->cl_rl[fa];
+ tc->flags = TX_CLRL_REFRESH;
+ tc->refcount = 1;
+ tc->ratemode = FW_SCHED_PARAMS_RATE_ABS;
+ tc->rateunit = FW_SCHED_PARAMS_UNIT_BITRATE;
+ tc->mode = FW_SCHED_PARAMS_MODE_FLOW;
+ tc->maxrate = maxrate;
+ tc->pktsize = ETHERMTU; /* XXX */
+ *tc_idx = fa;
+ t4_update_tx_sched(sc);
+ } else {
+ *tc_idx = -1;
+ rc = ENOSPC;
+ }
+done:
+ mtx_unlock(&sc->tc_lock);
+ return (rc);
+}
+
+void
+t4_release_cl_rl_kbps(struct adapter *sc, int port_id, int tc_idx)
+{
+ struct tx_cl_rl_params *tc;
+
+ MPASS(port_id >= 0 && port_id < sc->params.nports);
+ MPASS(tc_idx >= 0 && tc_idx < sc->chip_params->nsched_cls);
+
+ mtx_lock(&sc->tc_lock);
+ tc = &sc->port[port_id]->sched_params->cl_rl[tc_idx];
+ MPASS(tc->refcount > 0);
+ MPASS(tc->ratemode == FW_SCHED_PARAMS_RATE_ABS);
+ MPASS(tc->rateunit == FW_SCHED_PARAMS_UNIT_BITRATE);
+ MPASS(tc->mode == FW_SCHED_PARAMS_MODE_FLOW);
+ tc->refcount--;
+ mtx_unlock(&sc->tc_lock);
+}
diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c
index 104df8d..1e1e58f 100644
--- a/sys/dev/cxgbe/t4_sge.c
+++ b/sys/dev/cxgbe/t4_sge.c
@@ -150,6 +150,25 @@ TUNABLE_INT("hw.cxgbe.largest_rx_cluster", &largest_rx_cluster);
static int safest_rx_cluster = PAGE_SIZE;
TUNABLE_INT("hw.cxgbe.safest_rx_cluster", &safest_rx_cluster);
+/*
+ * The interrupt holdoff timers are multiplied by this value on T6+.
+ * 1 and 3-17 (both inclusive) are legal values.
+ */
+static int tscale = 1;
+TUNABLE_INT("hw.cxgbe.tscale", &tscale);
+
+/*
+ * Number of LRO entries in the lro_ctrl structure per rx queue.
+ */
+static int lro_entries = TCP_LRO_ENTRIES;
+TUNABLE_INT("hw.cxgbe.lro_entries", &lro_entries);
+
+/*
+ * This enables presorting of frames before they're fed into tcp_lro_rx.
+ */
+static int lro_mbufs = 0;
+TUNABLE_INT("hw.cxgbe.lro_mbufs", &lro_mbufs);
+
struct txpkts {
u_int wr_type; /* type 0 or type 1 */
u_int npkt; /* # of packets in this work request */
@@ -391,6 +410,12 @@ t4_sge_modload(void)
cong_drop = 0;
}
+ if (tscale != 1 && (tscale < 3 || tscale > 17)) {
+ printf("Invalid hw.cxgbe.tscale value (%d),"
+ " using 1 instead.\n", tscale);
+ tscale = 1;
+ }
+
extfree_refs = counter_u64_alloc(M_WAITOK);
extfree_rels = counter_u64_alloc(M_WAITOK);
counter_u64_zero(extfree_refs);
@@ -583,6 +608,15 @@ t4_tweak_chip_settings(struct adapter *sc)
V_TIMERVALUE5(us_to_core_ticks(sc, intr_timer[5]));
t4_write_reg(sc, A_SGE_TIMER_VALUE_4_AND_5, v);
+ if (chip_id(sc) >= CHELSIO_T6) {
+ m = V_TSCALE(M_TSCALE);
+ if (tscale == 1)
+ v = 0;
+ else
+ v = V_TSCALE(tscale - 2);
+ t4_set_reg_field(sc, A_SGE_ITP_CONTROL, m, v);
+ }
+
/* 4K, 16K, 64K, 256K DDP "page sizes" */
v = V_HPZ0(0) | V_HPZ1(2) | V_HPZ2(4) | V_HPZ3(6);
t4_write_reg(sc, A_ULP_RX_TDDP_PSZ, v);
@@ -926,6 +960,11 @@ vi_intr_iq(struct vi_info *vi, int idx)
return (&sc->sge.fwq);
nintr = vi->nintr;
+#ifdef DEV_NETMAP
+ /* Do not consider any netmap-only interrupts */
+ if (vi->flags & INTR_RXQ && vi->nnmrxq > vi->nrxq)
+ nintr -= vi->nnmrxq - vi->nrxq;
+#endif
KASSERT(nintr != 0,
("%s: vi %p has no exclusive interrupts, total interrupts = %d",
__func__, vi, sc->intr_count));
@@ -1349,6 +1388,13 @@ t4_vi_intr(void *arg)
t4_intr(irq->rxq);
}
+static inline int
+sort_before_lro(struct lro_ctrl *lro)
+{
+
+ return (lro->lro_mbuf_max != 0);
+}
+
/*
* Deals with anything and everything on the given ingress queue.
*/
@@ -1368,6 +1414,7 @@ service_iq(struct sge_iq *iq, int budget)
STAILQ_HEAD(, sge_iq) iql = STAILQ_HEAD_INITIALIZER(iql);
#if defined(INET) || defined(INET6)
const struct timeval lro_timeout = {0, sc->lro_timeout};
+ struct lro_ctrl *lro = &rxq->lro;
#endif
KASSERT(iq->state == IQS_BUSY, ("%s: iq %p not BUSY", __func__, iq));
@@ -1382,6 +1429,23 @@ service_iq(struct sge_iq *iq, int budget)
fl_hw_cidx = 0; /* to silence gcc warning */
}
+#if defined(INET) || defined(INET6)
+ if (iq->flags & IQ_ADJ_CREDIT) {
+ MPASS(sort_before_lro(lro));
+ iq->flags &= ~IQ_ADJ_CREDIT;
+ if ((d->rsp.u.type_gen & F_RSPD_GEN) != iq->gen) {
+ tcp_lro_flush_all(lro);
+ t4_write_reg(sc, sc->sge_gts_reg, V_CIDXINC(1) |
+ V_INGRESSQID((u32)iq->cntxt_id) |
+ V_SEINTARM(iq->intr_params));
+ return (0);
+ }
+ ndescs = 1;
+ }
+#else
+ MPASS((iq->flags & IQ_ADJ_CREDIT) == 0);
+#endif
+
/*
* We always come back and check the descriptor ring for new indirect
* interrupts and other responses after running a single handler.
@@ -1493,8 +1557,9 @@ service_iq(struct sge_iq *iq, int budget)
#if defined(INET) || defined(INET6)
if (iq->flags & IQ_LRO_ENABLED &&
+ !sort_before_lro(lro) &&
sc->lro_timeout != 0) {
- tcp_lro_flush_inactive(&rxq->lro,
+ tcp_lro_flush_inactive(lro,
&lro_timeout);
}
#endif
@@ -1534,9 +1599,14 @@ process_iql:
#if defined(INET) || defined(INET6)
if (iq->flags & IQ_LRO_ENABLED) {
- struct lro_ctrl *lro = &rxq->lro;
-
- tcp_lro_flush_all(lro);
+ if (ndescs > 0 && lro->lro_mbuf_count > 8) {
+ MPASS(sort_before_lro(lro));
+ /* hold back one credit and don't flush LRO state */
+ iq->flags |= IQ_ADJ_CREDIT;
+ ndescs--;
+ } else {
+ tcp_lro_flush_all(lro);
+ }
}
#endif
@@ -1825,10 +1895,14 @@ t4_eth_rx(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m0)
}
#if defined(INET) || defined(INET6)
- if (iq->flags & IQ_LRO_ENABLED &&
- tcp_lro_rx(lro, m0, 0) == 0) {
- /* queued for LRO */
- } else
+ if (iq->flags & IQ_LRO_ENABLED) {
+ if (sort_before_lro(lro)) {
+ tcp_lro_queue_mbuf(lro, m0);
+ return (0); /* queued for sort, then LRO */
+ }
+ if (tcp_lro_rx(lro, m0, 0) == 0)
+ return (0); /* queued for LRO */
+ }
#endif
ifp->if_input(ifp, m0);
@@ -2374,6 +2448,13 @@ cannot_use_txpkts(struct mbuf *m)
return (needs_tso(m));
}
+static inline int
+discard_tx(struct sge_eq *eq)
+{
+
+ return ((eq->flags & (EQ_ENABLED | EQ_QFLUSH)) != EQ_ENABLED);
+}
+
/*
* r->items[cidx] to r->items[pidx], with a wraparound at r->size, are ready to
* be consumed. Return the actual number consumed. 0 indicates a stall.
@@ -2399,7 +2480,7 @@ eth_tx(struct mp_ring *r, u_int cidx, u_int pidx)
total = 0;
TXQ_LOCK(txq);
- if (__predict_false((eq->flags & EQ_ENABLED) == 0)) {
+ if (__predict_false(discard_tx(eq))) {
while (cidx != pidx) {
m0 = r->items[cidx];
m_freem(m0);
@@ -3019,10 +3100,10 @@ alloc_rxq(struct vi_info *vi, struct sge_rxq *rxq, int intr_idx, int idx,
FL_UNLOCK(&rxq->fl);
#if defined(INET) || defined(INET6)
- rc = tcp_lro_init(&rxq->lro);
+ rc = tcp_lro_init_args(&rxq->lro, vi->ifp, lro_entries, lro_mbufs);
if (rc != 0)
return (rc);
- rxq->lro.ifp = vi->ifp; /* also indicates LRO init'ed */
+ MPASS(rxq->lro.ifp == vi->ifp); /* also indicates LRO init'ed */
if (vi->ifp->if_capenable & IFCAP_LRO)
rxq->iq.flags |= IQ_LRO_ENABLED;
@@ -5165,7 +5246,7 @@ sysctl_tc(SYSCTL_HANDLER_ARGS)
struct port_info *pi;
struct adapter *sc;
struct sge_txq *txq;
- struct tx_sched_class *tc;
+ struct tx_cl_rl_params *tc;
int qidx = arg2, rc, tc_idx;
uint32_t fw_queue, fw_class;
@@ -5179,14 +5260,14 @@ sysctl_tc(SYSCTL_HANDLER_ARGS)
if (rc != 0 || req->newptr == NULL)
return (rc);
+ if (sc->flags & IS_VF)
+ return (EPERM);
+
/* Note that -1 is legitimate input (it means unbind). */
if (tc_idx < -1 || tc_idx >= sc->chip_params->nsched_cls)
return (EINVAL);
- rc = begin_synchronized_op(sc, vi, SLEEP_OK | INTR_OK, "t4stc");
- if (rc)
- return (rc);
-
+ mtx_lock(&sc->tc_lock);
if (tc_idx == txq->tc_idx) {
rc = 0; /* No change, nothing to do. */
goto done;
@@ -5200,35 +5281,45 @@ sysctl_tc(SYSCTL_HANDLER_ARGS)
fw_class = 0xffffffff; /* Unbind. */
else {
/*
- * Bind to a different class. Ethernet txq's are only allowed
- * to bind to cl-rl mode-class for now. XXX: too restrictive.
+ * Bind to a different class.
*/
- tc = &pi->tc[tc_idx];
- if (tc->flags & TX_SC_OK &&
- tc->params.level == SCHED_CLASS_LEVEL_CL_RL &&
- tc->params.mode == SCHED_CLASS_MODE_CLASS) {
- /* Ok to proceed. */
- fw_class = tc_idx;
- } else {
- rc = tc->flags & TX_SC_OK ? EBUSY : ENXIO;
+ tc = &pi->sched_params->cl_rl[tc_idx];
+ if (tc->flags & TX_CLRL_ERROR) {
+ /* Previous attempt to set the cl-rl params failed. */
+ rc = EIO;
goto done;
+ } else {
+ /*
+ * Ok to proceed. Place a reference on the new class
+ * while still holding on to the reference on the
+ * previous class, if any.
+ */
+ fw_class = tc_idx;
+ tc->refcount++;
}
}
+ mtx_unlock(&sc->tc_lock);
+ rc = begin_synchronized_op(sc, vi, SLEEP_OK | INTR_OK, "t4stc");
+ if (rc)
+ return (rc);
rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, &fw_queue, &fw_class);
+ end_synchronized_op(sc, 0);
+
+ mtx_lock(&sc->tc_lock);
if (rc == 0) {
if (txq->tc_idx != -1) {
- tc = &pi->tc[txq->tc_idx];
+ tc = &pi->sched_params->cl_rl[txq->tc_idx];
MPASS(tc->refcount > 0);
tc->refcount--;
}
- if (tc_idx != -1) {
- tc = &pi->tc[tc_idx];
- tc->refcount++;
- }
txq->tc_idx = tc_idx;
+ } else if (tc_idx != -1) {
+ tc = &pi->sched_params->cl_rl[tc_idx];
+ MPASS(tc->refcount > 0);
+ tc->refcount--;
}
done:
- end_synchronized_op(sc, 0);
+ mtx_unlock(&sc->tc_lock);
return (rc);
}
diff --git a/sys/dev/cxgbe/t4_vf.c b/sys/dev/cxgbe/t4_vf.c
index 3ae3ee8..d6e399a 100644
--- a/sys/dev/cxgbe/t4_vf.c
+++ b/sys/dev/cxgbe/t4_vf.c
@@ -112,11 +112,25 @@ struct {
{0x5813, "Chelsio T580-CHR VF"},
#endif
}, t6vf_pciids[] = {
+ {0x6800, "Chelsio T6-DBG-25 VF"}, /* 2 x 10/25G, debug */
{0x6801, "Chelsio T6225-CR VF"}, /* 2 x 10/25G */
{0x6802, "Chelsio T6225-SO-CR VF"}, /* 2 x 10/25G, nomem */
+ {0x6803, "Chelsio T6425-CR VF"}, /* 4 x 10/25G */
+ {0x6804, "Chelsio T6425-SO-CR VF"}, /* 4 x 10/25G, nomem */
+ {0x6805, "Chelsio T6225-OCP-SO VF"}, /* 2 x 10/25G, nomem */
+ {0x6806, "Chelsio T62100-OCP-SO VF"}, /* 2 x 40/50/100G, nomem */
{0x6807, "Chelsio T62100-LP-CR VF"}, /* 2 x 40/50/100G */
{0x6808, "Chelsio T62100-SO-CR VF"}, /* 2 x 40/50/100G, nomem */
+ {0x6809, "Chelsio T6210-BT VF"}, /* 2 x 10GBASE-T */
{0x680d, "Chelsio T62100-CR VF"}, /* 2 x 40/50/100G */
+ {0x6810, "Chelsio T6-DBG-100 VF"}, /* 2 x 40/50/100G, debug */
+ {0x6811, "Chelsio T6225-LL-CR VF"}, /* 2 x 10/25G */
+ {0x6814, "Chelsio T61100-OCP-SO VF"}, /* 1 x 40/50/100G, nomem */
+ {0x6815, "Chelsio T6201-BT VF"}, /* 2 x 1000BASE-T */
+
+ /* Custom */
+ {0x6880, "Chelsio T6225 80 VF"},
+ {0x6881, "Chelsio T62100 81 VF"},
};
static d_ioctl_t t4vf_ioctl;
@@ -659,9 +673,6 @@ t4vf_attach(device_t dev)
mtx_init(&pi->pi_lock, pi->lockname, 0, MTX_DEF);
sc->chan_map[pi->tx_chan] = i;
- pi->tc = malloc(sizeof(struct tx_sched_class) *
- sc->chip_params->nsched_cls, M_CXGBE, M_ZERO | M_WAITOK);
-
if (port_top_speed(pi) >= 10) {
n10g++;
} else {
diff --git a/sys/dev/cxgbe/tom/t4_connect.c b/sys/dev/cxgbe/tom/t4_connect.c
index ebd5766..f23ba55 100644
--- a/sys/dev/cxgbe/tom/t4_connect.c
+++ b/sys/dev/cxgbe/tom/t4_connect.c
@@ -402,7 +402,7 @@ t4_connect(struct toedev *tod, struct socket *so, struct rtentry *rt,
if ((inp->inp_vflag & INP_IPV6) == 0)
DONT_OFFLOAD_ACTIVE_OPEN(ENOTSUP);
- toep->ce = hold_lip(td, &inp->in6p_laddr);
+ toep->ce = hold_lip(td, &inp->in6p_laddr, NULL);
if (toep->ce == NULL)
DONT_OFFLOAD_ACTIVE_OPEN(ENOENT);
diff --git a/sys/dev/cxgbe/tom/t4_listen.c b/sys/dev/cxgbe/tom/t4_listen.c
index f59d9a0..4eadce9 100644
--- a/sys/dev/cxgbe/tom/t4_listen.c
+++ b/sys/dev/cxgbe/tom/t4_listen.c
@@ -209,7 +209,7 @@ alloc_lctx(struct adapter *sc, struct inpcb *inp, struct vi_info *vi)
!IN6_ARE_ADDR_EQUAL(&in6addr_any, &inp->in6p_laddr)) {
struct tom_data *td = sc->tom_softc;
- lctx->ce = hold_lip(td, &inp->in6p_laddr);
+ lctx->ce = hold_lip(td, &inp->in6p_laddr, NULL);
if (lctx->ce == NULL) {
free(lctx, M_CXGBE);
return (NULL);
@@ -1584,6 +1584,8 @@ reset:
INP_WLOCK_ASSERT(new_inp);
MPASS(so->so_vnet == lctx->vnet);
toep->vnet = lctx->vnet;
+ if (inc.inc_flags & INC_ISIPV6)
+ toep->ce = hold_lip(sc->tom_softc, &inc.inc6_laddr, lctx->ce);
/*
* This is for the unlikely case where the syncache entry that we added
diff --git a/sys/dev/cxgbe/tom/t4_tom.c b/sys/dev/cxgbe/tom/t4_tom.c
index 11558c2..e66210e 100644
--- a/sys/dev/cxgbe/tom/t4_tom.c
+++ b/sys/dev/cxgbe/tom/t4_tom.c
@@ -730,12 +730,12 @@ search_lip(struct tom_data *td, struct in6_addr *lip)
}
struct clip_entry *
-hold_lip(struct tom_data *td, struct in6_addr *lip)
+hold_lip(struct tom_data *td, struct in6_addr *lip, struct clip_entry *ce)
{
- struct clip_entry *ce;
mtx_lock(&td->clip_table_lock);
- ce = search_lip(td, lip);
+ if (ce == NULL)
+ ce = search_lip(td, lip);
if (ce != NULL)
ce->refcount++;
mtx_unlock(&td->clip_table_lock);
diff --git a/sys/dev/cxgbe/tom/t4_tom.h b/sys/dev/cxgbe/tom/t4_tom.h
index 18bc1f2..5a774fd 100644
--- a/sys/dev/cxgbe/tom/t4_tom.h
+++ b/sys/dev/cxgbe/tom/t4_tom.h
@@ -321,7 +321,8 @@ uint64_t calc_opt0(struct socket *, struct vi_info *, struct l2t_entry *,
uint64_t select_ntuple(struct vi_info *, struct l2t_entry *);
void set_tcpddp_ulp_mode(struct toepcb *);
int negative_advice(int);
-struct clip_entry *hold_lip(struct tom_data *, struct in6_addr *);
+struct clip_entry *hold_lip(struct tom_data *, struct in6_addr *,
+ struct clip_entry *);
void release_lip(struct tom_data *, struct clip_entry *);
/* t4_connect.c */
diff --git a/sys/dev/drm2/ttm/ttm_bo_vm.c b/sys/dev/drm2/ttm/ttm_bo_vm.c
index 60bf8e2..6d8bb11 100644
--- a/sys/dev/drm2/ttm/ttm_bo_vm.c
+++ b/sys/dev/drm2/ttm/ttm_bo_vm.c
@@ -126,7 +126,7 @@ reserve:
ret = ttm_bo_reserve(bo, false, false, false, 0);
if (unlikely(ret != 0)) {
if (ret == -EBUSY) {
- kern_yield(0);
+ kern_yield(PRI_USER);
goto reserve;
}
}
@@ -139,7 +139,7 @@ reserve:
case -EBUSY:
case -ERESTARTSYS:
case -EINTR:
- kern_yield(0);
+ kern_yield(PRI_USER);
goto reserve;
default:
retval = VM_PAGER_ERROR;
diff --git a/sys/dev/drm2/ttm/ttm_page_alloc.c b/sys/dev/drm2/ttm/ttm_page_alloc.c
index 2a2e916..fb6d18c 100644
--- a/sys/dev/drm2/ttm/ttm_page_alloc.c
+++ b/sys/dev/drm2/ttm/ttm_page_alloc.c
@@ -136,7 +136,7 @@ ttm_vm_page_free(vm_page_t m)
KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("ttm got unmanaged %p", m));
m->flags &= ~PG_FICTITIOUS;
m->oflags |= VPO_UNMANAGED;
- vm_page_unwire(m, PQ_INACTIVE);
+ vm_page_unwire(m, PQ_NONE);
vm_page_free(m);
}
diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c
index da26579..887af7c 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -5115,7 +5115,7 @@ em_enable_intr(struct adapter *adapter)
if (hw->mac.type == e1000_82574) {
E1000_WRITE_REG(hw, EM_EIAC, EM_MSIX_MASK);
- ims_mask |= adapter->ims;
+ ims_mask |= EM_MSIX_MASK;
}
E1000_WRITE_REG(hw, E1000_IMS, ims_mask);
}
diff --git a/sys/dev/efidev/efidev.c b/sys/dev/efidev/efidev.c
new file mode 100644
index 0000000..d6e0e06
--- /dev/null
+++ b/sys/dev/efidev/efidev.c
@@ -0,0 +1,216 @@
+/*-
+ * Copyright (c) 2016 Netflix, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer
+ * in this position and unchanged.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/bus.h>
+#include <sys/conf.h>
+#include <sys/lock.h>
+#include <sys/malloc.h>
+#include <sys/module.h>
+
+#include <machine/efi.h>
+#include <sys/efiio.h>
+
+static d_ioctl_t efidev_ioctl;
+
+static struct cdevsw efi_cdevsw = {
+ .d_name = "efi",
+ .d_version = D_VERSION,
+ .d_ioctl = efidev_ioctl,
+};
+
+static int
+efidev_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr,
+ int flags __unused, struct thread *td __unused)
+{
+ int error;
+
+ switch (cmd) {
+ case EFIIOC_GET_TABLE:
+ {
+ struct efi_get_table_ioc *egtioc =
+ (struct efi_get_table_ioc *)addr;
+
+ error = efi_get_table(&egtioc->uuid, &egtioc->ptr);
+ break;
+ }
+ case EFIIOC_GET_TIME:
+ {
+ struct efi_tm *tm = (struct efi_tm *)addr;
+
+ error = efi_get_time(tm);
+ break;
+ }
+ case EFIIOC_SET_TIME:
+ {
+ struct efi_tm *tm = (struct efi_tm *)addr;
+
+ error = efi_set_time(tm);
+ break;
+ }
+ case EFIIOC_VAR_GET:
+ {
+ struct efi_var_ioc *ev = (struct efi_var_ioc *)addr;
+ void *data;
+ efi_char *name;
+
+ data = malloc(ev->datasize, M_TEMP, M_WAITOK);
+ name = malloc(ev->namesize, M_TEMP, M_WAITOK);
+ error = copyin(ev->name, name, ev->namesize);
+ if (error)
+ goto vg_out;
+ if (name[ev->namesize / sizeof(efi_char) - 1] != 0) {
+ error = EINVAL;
+ goto vg_out;
+ }
+
+ error = efi_var_get(name, &ev->vendor, &ev->attrib,
+ &ev->datasize, data);
+
+ if (error == 0) {
+ error = copyout(data, ev->data, ev->datasize);
+ } else if (error == EOVERFLOW) {
+ /*
+ * Pass back the size we really need, but
+ * convert the error to 0 so the copyout
+ * happens. datasize was updated in the
+ * efi_var_get call.
+ */
+ ev->data = NULL;
+ error = 0;
+ }
+vg_out:
+ free(data, M_TEMP);
+ free(name, M_TEMP);
+ break;
+ }
+ case EFIIOC_VAR_NEXT:
+ {
+ struct efi_var_ioc *ev = (struct efi_var_ioc *)addr;
+ efi_char *name;
+
+ name = malloc(ev->namesize, M_TEMP, M_WAITOK);
+ error = copyin(ev->name, name, ev->namesize);
+ if (error)
+ goto vn_out;
+ /* Note: namesize is the buffer size, not the string lenght */
+
+ error = efi_var_nextname(&ev->namesize, name, &ev->vendor);
+ if (error == 0) {
+ error = copyout(name, ev->name, ev->namesize);
+ } else if (error == EOVERFLOW) {
+ ev->name = NULL;
+ error = 0;
+ }
+ vn_out:
+ free(name, M_TEMP);
+ break;
+ }
+ case EFIIOC_VAR_SET:
+ {
+ struct efi_var_ioc *ev = (struct efi_var_ioc *)addr;
+ void *data = NULL;
+ efi_char *name;
+
+ /* datasize == 0 -> delete (more or less) */
+ if (ev->datasize > 0)
+ data = malloc(ev->datasize, M_TEMP, M_WAITOK);
+ name = malloc(ev->namesize, M_TEMP, M_WAITOK);
+ if (ev->datasize) {
+ error = copyin(ev->data, data, ev->datasize);
+ if (error)
+ goto vs_out;
+ }
+ error = copyin(ev->name, name, ev->namesize);
+ if (error)
+ goto vs_out;
+ if (name[ev->namesize / sizeof(efi_char) - 1] != 0) {
+ error = EINVAL;
+ goto vs_out;
+ }
+
+ error = efi_var_set(name, &ev->vendor, ev->attrib, ev->datasize,
+ data);
+vs_out:
+ free(data, M_TEMP);
+ free(name, M_TEMP);
+ break;
+ }
+ default:
+ error = ENOTTY;
+ break;
+ }
+
+ return (error);
+}
+
+static struct cdev *efidev;
+
+static int
+efidev_modevents(module_t m, int event, void *arg __unused)
+{
+ struct make_dev_args mda;
+ int error;
+
+ switch (event) {
+ case MOD_LOAD:
+ make_dev_args_init(&mda);
+ mda.mda_flags = MAKEDEV_WAITOK | MAKEDEV_CHECKNAME;
+ mda.mda_devsw = &efi_cdevsw;
+ mda.mda_uid = UID_ROOT;
+ mda.mda_gid = GID_WHEEL;
+ mda.mda_mode = 0700;
+ error = make_dev_s(&mda, &efidev, "efi");
+ return (error);
+
+ case MOD_UNLOAD:
+ if (efidev != NULL)
+ destroy_dev(efidev);
+ efidev = NULL;
+ return (0);
+
+ case MOD_SHUTDOWN:
+ return (0);
+
+ default:
+ return (EOPNOTSUPP);
+ }
+}
+
+static moduledata_t efidev_moddata = {
+ .name = "efidev",
+ .evhand = efidev_modevents,
+ .priv = NULL,
+};
+
+DECLARE_MODULE(efidev, efidev_moddata, SI_SUB_DEVFS, SI_ORDER_ANY);
+MODULE_VERSION(efidev, 1);
+MODULE_DEPEND(efidev, efirt, 1, 1, 1);
diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c b/sys/dev/hyperv/pcib/vmbus_pcib.c
index 0e81708..b54c67b 100644
--- a/sys/dev/hyperv/pcib/vmbus_pcib.c
+++ b/sys/dev/hyperv/pcib/vmbus_pcib.c
@@ -574,6 +574,8 @@ new_pcichild_device(struct hv_pcibus *hbus, struct pci_func_desc *desc)
hpdev->desc = *desc;
mtx_lock(&hbus->device_list_lock);
+ if (TAILQ_EMPTY(&hbus->children))
+ hbus->pci_domain = desc->ser & 0xFFFF;
TAILQ_INSERT_TAIL(&hbus->children, hpdev, link);
mtx_unlock(&hbus->device_list_lock);
return (hpdev);
diff --git a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
index f1a4d53..5d6279e 100644
--- a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
+++ b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
@@ -2095,6 +2095,7 @@ storvsc_io_done(struct hv_storvsc_request *reqp)
struct vmscsi_req *vm_srb = &reqp->vstor_packet.u.vm_srb;
bus_dma_segment_t *ori_sglist = NULL;
int ori_sg_count = 0;
+ const struct scsi_generic *cmd;
/* destroy bounce buffer if it is used */
if (reqp->bounce_sgl_count) {
@@ -2145,16 +2146,14 @@ storvsc_io_done(struct hv_storvsc_request *reqp)
callout_drain(&reqp->callout);
}
#endif
+ cmd = (const struct scsi_generic *)
+ ((ccb->ccb_h.flags & CAM_CDB_POINTER) ?
+ csio->cdb_io.cdb_ptr : csio->cdb_io.cdb_bytes);
ccb->ccb_h.status &= ~CAM_SIM_QUEUED;
ccb->ccb_h.status &= ~CAM_STATUS_MASK;
int srb_status = SRB_STATUS(vm_srb->srb_status);
if (vm_srb->scsi_status == SCSI_STATUS_OK) {
- const struct scsi_generic *cmd;
-
- cmd = (const struct scsi_generic *)
- ((ccb->ccb_h.flags & CAM_CDB_POINTER) ?
- csio->cdb_io.cdb_ptr : csio->cdb_io.cdb_bytes);
if (srb_status != SRB_STATUS_SUCCESS) {
/*
* If there are errors, for example, invalid LUN,
@@ -2252,11 +2251,23 @@ storvsc_io_done(struct hv_storvsc_request *reqp)
}
}
} else {
- mtx_lock(&sc->hs_lock);
- xpt_print(ccb->ccb_h.path,
- "storvsc scsi_status = %d\n",
- vm_srb->scsi_status);
- mtx_unlock(&sc->hs_lock);
+ /**
+ * On Some Windows hosts TEST_UNIT_READY command can return
+ * SRB_STATUS_ERROR and sense data, for example, asc=0x3a,1
+ * "(Medium not present - tray closed)". This error can be
+ * ignored since it will be sent to host periodically.
+ */
+ boolean_t unit_not_ready = \
+ vm_srb->scsi_status == SCSI_STATUS_CHECK_COND &&
+ cmd->opcode == TEST_UNIT_READY &&
+ srb_status == SRB_STATUS_ERROR;
+ if (!unit_not_ready && bootverbose) {
+ mtx_lock(&sc->hs_lock);
+ xpt_print(ccb->ccb_h.path,
+ "storvsc scsi_status = %d, srb_status = %d\n",
+ vm_srb->scsi_status, srb_status);
+ mtx_unlock(&sc->hs_lock);
+ }
ccb->ccb_h.status |= CAM_SCSI_STATUS_ERROR;
}
diff --git a/sys/dev/hyperv/vmbus/vmbus.c b/sys/dev/hyperv/vmbus/vmbus.c
index 23ae6ed..9999901 100644
--- a/sys/dev/hyperv/vmbus/vmbus.c
+++ b/sys/dev/hyperv/vmbus/vmbus.c
@@ -71,6 +71,7 @@ struct vmbus_msghc {
struct hypercall_postmsg_in mh_inprm_save;
};
+static void vmbus_identify(driver_t *, device_t);
static int vmbus_probe(device_t);
static int vmbus_attach(device_t);
static int vmbus_detach(device_t);
@@ -144,6 +145,7 @@ vmbus_chanmsg_handlers[VMBUS_CHANMSG_TYPE_MAX] = {
static device_method_t vmbus_methods[] = {
/* Device interface */
+ DEVMETHOD(device_identify, vmbus_identify),
DEVMETHOD(device_probe, vmbus_probe),
DEVMETHOD(device_attach, vmbus_attach),
DEVMETHOD(device_detach, vmbus_detach),
@@ -190,7 +192,10 @@ static driver_t vmbus_driver = {
static devclass_t vmbus_devclass;
-DRIVER_MODULE(vmbus, acpi, vmbus_driver, vmbus_devclass, NULL, NULL);
+DRIVER_MODULE(vmbus, pcib, vmbus_driver, vmbus_devclass, NULL, NULL);
+DRIVER_MODULE(vmbus, acpi_syscontainer, vmbus_driver, vmbus_devclass,
+ NULL, NULL);
+
MODULE_DEPEND(vmbus, acpi, 1, 1, 1);
MODULE_DEPEND(vmbus, pci, 1, 1, 1);
MODULE_VERSION(vmbus, 1);
@@ -1066,43 +1071,41 @@ vmbus_alloc_resource(device_t dev, device_t child, int type, int *rid,
return (res);
}
-static device_t
-get_nexus(device_t vmbus)
-{
- device_t acpi = device_get_parent(vmbus);
- device_t nexus = device_get_parent(acpi);
- return (nexus);
-}
-
static int
vmbus_alloc_msi(device_t bus, device_t dev, int count, int maxcount, int *irqs)
{
- return (PCIB_ALLOC_MSI(get_nexus(bus), dev, count, maxcount, irqs));
+
+ return (PCIB_ALLOC_MSI(device_get_parent(bus), dev, count, maxcount,
+ irqs));
}
static int
vmbus_release_msi(device_t bus, device_t dev, int count, int *irqs)
{
- return (PCIB_RELEASE_MSI(get_nexus(bus), dev, count, irqs));
+
+ return (PCIB_RELEASE_MSI(device_get_parent(bus), dev, count, irqs));
}
static int
vmbus_alloc_msix(device_t bus, device_t dev, int *irq)
{
- return (PCIB_ALLOC_MSIX(get_nexus(bus), dev, irq));
+
+ return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq));
}
static int
vmbus_release_msix(device_t bus, device_t dev, int irq)
{
- return (PCIB_RELEASE_MSIX(get_nexus(bus), dev, irq));
+
+ return (PCIB_RELEASE_MSIX(device_get_parent(bus), dev, irq));
}
static int
vmbus_map_msi(device_t bus, device_t dev, int irq, uint64_t *addr,
uint32_t *data)
{
- return (PCIB_MAP_MSI(get_nexus(bus), dev, irq, addr, data));
+
+ return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data));
}
static uint32_t
@@ -1216,36 +1219,44 @@ vmbus_get_crs(device_t dev, device_t vmbus_dev, enum parse_pass pass)
static void
vmbus_get_mmio_res_pass(device_t dev, enum parse_pass pass)
{
- device_t acpi0, pcib0 = NULL;
- device_t *children;
- int i, count;
-
- /* Try to find _CRS on VMBus device */
- vmbus_get_crs(dev, dev, pass);
+ device_t acpi0, parent;
- /* Try to find _CRS on VMBus device's parent */
- acpi0 = device_get_parent(dev);
- vmbus_get_crs(acpi0, dev, pass);
-
- /* Try to locate pcib0 and find _CRS on it */
- if (device_get_children(acpi0, &children, &count) != 0)
- return;
+ parent = device_get_parent(dev);
- for (i = 0; i < count; i++) {
- if (!device_is_attached(children[i]))
- continue;
+ acpi0 = device_get_parent(parent);
+ if (strcmp("acpi0", device_get_nameunit(acpi0)) == 0) {
+ device_t *children;
+ int count;
- if (strcmp("pcib0", device_get_nameunit(children[i])))
- continue;
+ /*
+ * Try to locate VMBUS resources and find _CRS on them.
+ */
+ if (device_get_children(acpi0, &children, &count) == 0) {
+ int i;
+
+ for (i = 0; i < count; ++i) {
+ if (!device_is_attached(children[i]))
+ continue;
+
+ if (strcmp("vmbus_res",
+ device_get_name(children[i])) == 0)
+ vmbus_get_crs(children[i], dev, pass);
+ }
+ free(children, M_TEMP);
+ }
- pcib0 = children[i];
- break;
+ /*
+ * Try to find _CRS on acpi.
+ */
+ vmbus_get_crs(acpi0, dev, pass);
+ } else {
+ device_printf(dev, "not grandchild of acpi\n");
}
- if (pcib0)
- vmbus_get_crs(pcib0, dev, pass);
-
- free(children, M_TEMP);
+ /*
+ * Try to find _CRS on parent.
+ */
+ vmbus_get_crs(parent, dev, pass);
}
static void
@@ -1275,18 +1286,25 @@ vmbus_free_mmio_res(device_t dev)
}
#endif /* NEW_PCIB */
+static void
+vmbus_identify(driver_t *driver, device_t parent)
+{
+
+ if (device_get_unit(parent) != 0 || vm_guest != VM_GUEST_HV ||
+ (hyperv_features & CPUID_HV_MSR_SYNIC) == 0)
+ return;
+ device_add_child(parent, "vmbus", -1);
+}
+
static int
vmbus_probe(device_t dev)
{
- char *id[] = { "VMBUS", NULL };
- if (ACPI_ID_PROBE(device_get_parent(dev), dev, id) == NULL ||
- device_get_unit(dev) != 0 || vm_guest != VM_GUEST_HV ||
+ if (device_get_unit(dev) != 0 || vm_guest != VM_GUEST_HV ||
(hyperv_features & CPUID_HV_MSR_SYNIC) == 0)
return (ENXIO);
device_set_desc(dev, "Hyper-V Vmbus");
-
return (BUS_PROBE_DEFAULT);
}
diff --git a/sys/dev/hyperv/vmbus/vmbus_res.c b/sys/dev/hyperv/vmbus/vmbus_res.c
new file mode 100644
index 0000000..164ebeb
--- /dev/null
+++ b/sys/dev/hyperv/vmbus/vmbus_res.c
@@ -0,0 +1,98 @@
+/*-
+ * Copyright (c) 2017 Microsoft Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice unmodified, this list of conditions, and the following
+ * disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/kernel.h>
+#include <sys/bus.h>
+#include <sys/module.h>
+
+#include <contrib/dev/acpica/include/acpi.h>
+#include <dev/acpica/acpivar.h>
+
+#include <dev/hyperv/include/hyperv.h>
+
+#include "acpi_if.h"
+#include "bus_if.h"
+
+static int vmbus_res_probe(device_t);
+static int vmbus_res_attach(device_t);
+static int vmbus_res_detach(device_t);
+
+static device_method_t vmbus_res_methods[] = {
+ /* Device interface */
+ DEVMETHOD(device_probe, vmbus_res_probe),
+ DEVMETHOD(device_attach, vmbus_res_attach),
+ DEVMETHOD(device_detach, vmbus_res_detach),
+ DEVMETHOD(device_shutdown, bus_generic_shutdown),
+ DEVMETHOD(device_suspend, bus_generic_suspend),
+ DEVMETHOD(device_resume, bus_generic_resume),
+
+ DEVMETHOD_END
+};
+
+static driver_t vmbus_res_driver = {
+ "vmbus_res",
+ vmbus_res_methods,
+ 1
+};
+
+static devclass_t vmbus_res_devclass;
+
+DRIVER_MODULE(vmbus_res, acpi, vmbus_res_driver, vmbus_res_devclass,
+ NULL, NULL);
+MODULE_DEPEND(vmbus_res, acpi, 1, 1, 1);
+MODULE_VERSION(vmbus_res, 1);
+
+static int
+vmbus_res_probe(device_t dev)
+{
+ char *id[] = { "VMBUS", NULL };
+
+ if (ACPI_ID_PROBE(device_get_parent(dev), dev, id) == NULL ||
+ device_get_unit(dev) != 0 || vm_guest != VM_GUEST_HV ||
+ (hyperv_features & CPUID_HV_MSR_SYNIC) == 0)
+ return (ENXIO);
+
+ device_set_desc(dev, "Hyper-V Vmbus Resource");
+ return (BUS_PROBE_DEFAULT);
+}
+
+static int
+vmbus_res_attach(device_t dev __unused)
+{
+
+ return (0);
+}
+
+static int
+vmbus_res_detach(device_t dev __unused)
+{
+
+ return (0);
+}
diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c
index 2237259..e35360c 100644
--- a/sys/dev/if_ndis/if_ndis.c
+++ b/sys/dev/if_ndis/if_ndis.c
@@ -147,7 +147,7 @@ static funcptr ndis_rxeof_xfr_done_wrap;
static funcptr ndis_linksts_wrap;
static funcptr ndis_linksts_done_wrap;
static funcptr ndis_ticktask_wrap;
-static funcptr ndis_starttask_wrap;
+static funcptr ndis_ifstarttask_wrap;
static funcptr ndis_resettask_wrap;
static funcptr ndis_inputtask_wrap;
@@ -162,11 +162,11 @@ static int ndis_raw_xmit (struct ieee80211_node *, struct mbuf *,
const struct ieee80211_bpf_params *);
static void ndis_update_mcast (struct ieee80211com *);
static void ndis_update_promisc (struct ieee80211com *);
-static void ndis_start (struct ifnet *);
-static void ndis_starttask (device_object *, void *);
+static void ndis_ifstart (struct ifnet *);
+static void ndis_ifstarttask (device_object *, void *);
static void ndis_resettask (device_object *, void *);
static void ndis_inputtask (device_object *, void *);
-static int ndis_ioctl (struct ifnet *, u_long, caddr_t);
+static int ndis_ifioctl (struct ifnet *, u_long, caddr_t);
static int ndis_newstate (struct ieee80211vap *, enum ieee80211_state,
int);
static int ndis_nettype_chan (uint32_t);
@@ -246,7 +246,7 @@ ndisdrv_modevent(mod, cmd, arg)
&ndis_linksts_done_wrap, 1, WINDRV_WRAP_STDCALL);
windrv_wrap((funcptr)ndis_ticktask, &ndis_ticktask_wrap,
2, WINDRV_WRAP_STDCALL);
- windrv_wrap((funcptr)ndis_starttask, &ndis_starttask_wrap,
+ windrv_wrap((funcptr)ndis_ifstarttask, &ndis_ifstarttask_wrap,
2, WINDRV_WRAP_STDCALL);
windrv_wrap((funcptr)ndis_resettask, &ndis_resettask_wrap,
2, WINDRV_WRAP_STDCALL);
@@ -268,7 +268,7 @@ ndisdrv_modevent(mod, cmd, arg)
windrv_unwrap(ndis_linksts_wrap);
windrv_unwrap(ndis_linksts_done_wrap);
windrv_unwrap(ndis_ticktask_wrap);
- windrv_unwrap(ndis_starttask_wrap);
+ windrv_unwrap(ndis_ifstarttask_wrap);
windrv_unwrap(ndis_resettask_wrap);
windrv_unwrap(ndis_inputtask_wrap);
break;
@@ -292,11 +292,14 @@ ndis_setmulti(sc)
int len, mclistsz, error;
uint8_t *mclist;
- ifp = sc->ifp;
if (!NDIS_INITIALIZED(sc))
return;
+ if (sc->ndis_80211)
+ return;
+
+ ifp = sc->ifp;
if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) {
sc->ndis_filter |= NDIS_PACKET_TYPE_ALL_MULTICAST;
len = sizeof(sc->ndis_filter);
@@ -368,13 +371,14 @@ ndis_set_offload(sc)
struct ifnet *ifp;
int len, error;
- ifp = sc->ifp;
-
if (!NDIS_INITIALIZED(sc))
return (EINVAL);
+ if (sc->ndis_80211)
+ return (EINVAL);
/* See if there's anything to set. */
+ ifp = sc->ifp;
error = ndis_probe_offload(sc);
if (error)
return (error);
@@ -965,8 +969,8 @@ ndis_ifattach(struct ndis_softc *sc)
if_initname(ifp, device_get_name(sc->ndis_dev),
device_get_unit(sc->ndis_dev));
ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
- ifp->if_ioctl = ndis_ioctl;
- ifp->if_start = ndis_start;
+ ifp->if_ioctl = ndis_ifioctl;
+ ifp->if_start = ndis_ifstart;
ifp->if_init = ndis_init;
ifp->if_baudrate = 10000000;
IFQ_SET_MAXLEN(&ifp->if_snd, 50);
@@ -1560,19 +1564,23 @@ ndis_txeof(adapter, packet, status)
sc->ndis_txarray[idx] = NULL;
sc->ndis_txpending++;
- if (status == NDIS_STATUS_SUCCESS)
- if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
- else
- if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
-
+ if (!sc->ndis_80211) {
+ struct ifnet *ifp = sc->ifp;
+ if (status == NDIS_STATUS_SUCCESS)
+ if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
+ else
+ if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
+ ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
+ }
sc->ndis_tx_timer = 0;
- ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
NDIS_UNLOCK(sc);
- IoQueueWorkItem(sc->ndis_startitem,
- (io_workitem_func)ndis_starttask_wrap,
- WORKQUEUE_CRITICAL, ifp);
+ if (!sc->ndis_80211)
+ IoQueueWorkItem(sc->ndis_startitem,
+ (io_workitem_func)ndis_ifstarttask_wrap,
+ WORKQUEUE_CRITICAL, sc);
+ DPRINTF(("%s: ndis_ifstarttask_wrap sc=%p\n", __func__, sc));
}
static void
@@ -1635,9 +1643,10 @@ ndis_linksts_done(adapter)
IoQueueWorkItem(sc->ndis_tickitem,
(io_workitem_func)ndis_ticktask_wrap,
WORKQUEUE_CRITICAL, sc);
- IoQueueWorkItem(sc->ndis_startitem,
- (io_workitem_func)ndis_starttask_wrap,
- WORKQUEUE_CRITICAL, ifp);
+ if (!sc->ndis_80211)
+ IoQueueWorkItem(sc->ndis_startitem,
+ (io_workitem_func)ndis_ifstarttask_wrap,
+ WORKQUEUE_CRITICAL, sc);
break;
case NDIS_STATUS_MEDIA_DISCONNECT:
if (sc->ndis_link)
@@ -1672,9 +1681,10 @@ ndis_tick(xsc)
IoQueueWorkItem(sc->ndis_resetitem,
(io_workitem_func)ndis_resettask_wrap,
WORKQUEUE_CRITICAL, sc);
- IoQueueWorkItem(sc->ndis_startitem,
- (io_workitem_func)ndis_starttask_wrap,
- WORKQUEUE_CRITICAL, sc->ifp);
+ if (!sc->ndis_80211)
+ IoQueueWorkItem(sc->ndis_startitem,
+ (io_workitem_func)ndis_ifstarttask_wrap,
+ WORKQUEUE_CRITICAL, sc);
}
callout_reset(&sc->ndis_stat_callout, hz, ndis_tick, sc);
@@ -1796,16 +1806,16 @@ ndis_update_promisc(struct ieee80211com *ic)
}
static void
-ndis_starttask(d, arg)
- device_object *d;
- void *arg;
+ndis_ifstarttask(device_object *d, void *arg)
{
- struct ifnet *ifp;
-
- ifp = arg;
+ struct ndis_softc *sc = arg;
+ DPRINTF(("%s: sc=%p, ifp=%p\n", __func__, sc, sc->ifp));
+ if (sc->ndis_80211)
+ return;
+ struct ifnet *ifp = sc->ifp;
if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
- ndis_start(ifp);
+ ndis_ifstart(ifp);
}
/*
@@ -1821,8 +1831,7 @@ ndis_starttask(d, arg)
* will do the mapping themselves on a buffer by buffer basis.
*/
static void
-ndis_start(ifp)
- struct ifnet *ifp;
+ndis_ifstart(struct ifnet *ifp)
{
struct ndis_softc *sc;
struct mbuf *m = NULL;
@@ -2880,7 +2889,7 @@ ndis_getstate_80211(struct ndis_softc *sc)
}
static int
-ndis_ioctl(ifp, command, data)
+ndis_ifioctl(ifp, command, data)
struct ifnet *ifp;
u_long command;
caddr_t data;
diff --git a/sys/dev/if_ndis/if_ndisvar.h b/sys/dev/if_ndis/if_ndisvar.h
index e3b1a39..7259127 100644
--- a/sys/dev/if_ndis/if_ndisvar.h
+++ b/sys/dev/if_ndis/if_ndisvar.h
@@ -152,6 +152,7 @@ struct ndisusb_task {
};
struct ndis_softc {
+#define NDISUSB_GET_IFNET(ndis_softc) ( (ndis_softc)->ndis_80211 ? NULL : (ndis_softc)->ifp )
u_int ndis_80211:1,
ndis_link:1,
ndis_running:1;
diff --git a/sys/dev/ixl/i40e_adminq.c b/sys/dev/ixl/i40e_adminq.c
index cfffc1f..6e922f5 100644
--- a/sys/dev/ixl/i40e_adminq.c
+++ b/sys/dev/ixl/i40e_adminq.c
@@ -1020,11 +1020,11 @@ enum i40e_status_code i40e_clean_arq_element(struct i40e_hw *hw,
desc = I40E_ADMINQ_DESC(hw->aq.arq, ntc);
desc_idx = ntc;
+ hw->aq.arq_last_status =
+ (enum i40e_admin_queue_err)LE16_TO_CPU(desc->retval);
flags = LE16_TO_CPU(desc->flags);
if (flags & I40E_AQ_FLAG_ERR) {
ret_code = I40E_ERR_ADMIN_QUEUE_ERROR;
- hw->aq.arq_last_status =
- (enum i40e_admin_queue_err)LE16_TO_CPU(desc->retval);
i40e_debug(hw,
I40E_DEBUG_AQ_MESSAGE,
"AQRX: Event received with error 0x%X.\n",
diff --git a/sys/dev/ixl/i40e_adminq_cmd.h b/sys/dev/ixl/i40e_adminq_cmd.h
index 764ce11..88da079 100644
--- a/sys/dev/ixl/i40e_adminq_cmd.h
+++ b/sys/dev/ixl/i40e_adminq_cmd.h
@@ -154,6 +154,7 @@ enum i40e_admin_queue_opc {
/* WoL commands */
i40e_aqc_opc_set_wol_filter = 0x0120,
i40e_aqc_opc_get_wake_reason = 0x0121,
+ i40e_aqc_opc_clear_all_wol_filters = 0x025E,
/* internal switch commands */
i40e_aqc_opc_get_switch_config = 0x0200,
@@ -535,7 +536,8 @@ struct i40e_aqc_mac_address_read {
#define I40E_AQC_PORT_ADDR_VALID 0x40
#define I40E_AQC_WOL_ADDR_VALID 0x80
#define I40E_AQC_MC_MAG_EN_VALID 0x100
-#define I40E_AQC_ADDR_VALID_MASK 0x1F0
+#define I40E_AQC_WOL_PRESERVE_STATUS 0x200
+#define I40E_AQC_ADDR_VALID_MASK 0x3F0
u8 reserved[6];
__le32 addr_high;
__le32 addr_low;
@@ -556,6 +558,7 @@ I40E_CHECK_STRUCT_LEN(24, i40e_aqc_mac_address_read_data);
struct i40e_aqc_mac_address_write {
__le16 command_flags;
#define I40E_AQC_MC_MAG_EN 0x0100
+#define I40E_AQC_WOL_PRESERVE_ON_PFR 0x0200
#define I40E_AQC_WRITE_TYPE_LAA_ONLY 0x0000
#define I40E_AQC_WRITE_TYPE_LAA_WOL 0x4000
#define I40E_AQC_WRITE_TYPE_PORT 0x8000
@@ -594,6 +597,7 @@ struct i40e_aqc_set_wol_filter {
__le16 cmd_flags;
#define I40E_AQC_SET_WOL_FILTER 0x8000
#define I40E_AQC_SET_WOL_FILTER_NO_TCO_WOL 0x4000
+#define I40E_AQC_SET_WOL_FILTER_WOL_PRESERVE_ON_PFR 0x2000
#define I40E_AQC_SET_WOL_FILTER_ACTION_CLEAR 0
#define I40E_AQC_SET_WOL_FILTER_ACTION_SET 1
__le16 valid_flags;
@@ -1757,6 +1761,8 @@ struct i40e_aq_get_phy_abilities_resp {
#define I40E_AQ_PHY_LINK_ENABLED 0x08
#define I40E_AQ_PHY_AN_ENABLED 0x10
#define I40E_AQ_PHY_FLAG_MODULE_QUAL 0x20
+#define I40E_AQ_PHY_FEC_ABILITY_KR 0x40
+#define I40E_AQ_PHY_FEC_ABILITY_RS 0x80
__le16 eee_capability;
#define I40E_AQ_EEE_100BASE_TX 0x0002
#define I40E_AQ_EEE_1000BASE_T 0x0004
@@ -1768,11 +1774,20 @@ struct i40e_aq_get_phy_abilities_resp {
u8 d3_lpan;
#define I40E_AQ_SET_PHY_D3_LPAN_ENA 0x01
u8 phy_type_ext;
-#define I40E_AQ_PHY_TYPE_EXT_25G_KR 0X01
-#define I40E_AQ_PHY_TYPE_EXT_25G_CR 0X02
+#define I40E_AQ_PHY_TYPE_EXT_25G_KR 0x01
+#define I40E_AQ_PHY_TYPE_EXT_25G_CR 0x02
#define I40E_AQ_PHY_TYPE_EXT_25G_SR 0x04
#define I40E_AQ_PHY_TYPE_EXT_25G_LR 0x08
- u8 mod_type_ext;
+ u8 fec_cfg_curr_mod_ext_info;
+#define I40E_AQ_ENABLE_FEC_KR 0x01
+#define I40E_AQ_ENABLE_FEC_RS 0x02
+#define I40E_AQ_REQUEST_FEC_KR 0x04
+#define I40E_AQ_REQUEST_FEC_RS 0x08
+#define I40E_AQ_ENABLE_FEC_AUTO 0x10
+#define I40E_AQ_FEC
+#define I40E_AQ_MODULE_TYPE_EXT_MASK 0xE0
+#define I40E_AQ_MODULE_TYPE_EXT_SHIFT 5
+
u8 ext_comp_code;
u8 phy_id[4];
u8 module_type[3];
@@ -1796,11 +1811,15 @@ struct i40e_aq_set_phy_config { /* same bits as above in all */
__le32 eeer;
u8 low_power_ctrl;
u8 phy_type_ext;
-#define I40E_AQ_PHY_TYPE_EXT_25G_KR 0X01
-#define I40E_AQ_PHY_TYPE_EXT_25G_CR 0X02
-#define I40E_AQ_PHY_TYPE_EXT_25G_SR 0x04
-#define I40E_AQ_PHY_TYPE_EXT_25G_LR 0x08
- u8 reserved[2];
+ u8 fec_config;
+#define I40E_AQ_SET_FEC_ABILITY_KR BIT(0)
+#define I40E_AQ_SET_FEC_ABILITY_RS BIT(1)
+#define I40E_AQ_SET_FEC_REQUEST_KR BIT(2)
+#define I40E_AQ_SET_FEC_REQUEST_RS BIT(3)
+#define I40E_AQ_SET_FEC_AUTO BIT(4)
+#define I40E_AQ_PHY_FEC_CONFIG_SHIFT 0x0
+#define I40E_AQ_PHY_FEC_CONFIG_MASK (0x1F << I40E_AQ_PHY_FEC_CONFIG_SHIFT)
+ u8 reserved;
};
I40E_CHECK_CMD_LENGTH(i40e_aq_set_phy_config);
@@ -1890,6 +1909,8 @@ struct i40e_aqc_get_link_status {
u8 loopback; /* use defines from i40e_aqc_set_lb_mode */
__le16 max_frame_size;
u8 config;
+#define I40E_AQ_CONFIG_FEC_KR_ENA 0x01
+#define I40E_AQ_CONFIG_FEC_RS_ENA 0x02
#define I40E_AQ_CONFIG_CRC_ENA 0x04
#define I40E_AQ_CONFIG_PACING_MASK 0x78
u8 power_desc;
diff --git a/sys/dev/ixl/i40e_common.c b/sys/dev/ixl/i40e_common.c
index 7922975..d405cdd 100644
--- a/sys/dev/ixl/i40e_common.c
+++ b/sys/dev/ixl/i40e_common.c
@@ -78,7 +78,6 @@ enum i40e_status_code i40e_set_mac_type(struct i40e_hw *hw)
hw->mac.type = I40E_MAC_X722;
break;
case I40E_DEV_ID_X722_VF:
- case I40E_DEV_ID_X722_VF_HV:
case I40E_DEV_ID_X722_A0_VF:
hw->mac.type = I40E_MAC_X722_VF;
break;
@@ -1088,7 +1087,8 @@ enum i40e_status_code i40e_get_mac_addr(struct i40e_hw *hw, u8 *mac_addr)
status = i40e_aq_mac_address_read(hw, &flags, &addrs, NULL);
if (flags & I40E_AQC_LAN_ADDR_VALID)
- memcpy(mac_addr, &addrs.pf_lan_mac, sizeof(addrs.pf_lan_mac));
+ i40e_memcpy(mac_addr, &addrs.pf_lan_mac, sizeof(addrs.pf_lan_mac),
+ I40E_NONDMA_TO_NONDMA);
return status;
}
@@ -1111,7 +1111,8 @@ enum i40e_status_code i40e_get_port_mac_addr(struct i40e_hw *hw, u8 *mac_addr)
return status;
if (flags & I40E_AQC_PORT_ADDR_VALID)
- memcpy(mac_addr, &addrs.port_mac, sizeof(addrs.port_mac));
+ i40e_memcpy(mac_addr, &addrs.port_mac, sizeof(addrs.port_mac),
+ I40E_NONDMA_TO_NONDMA);
else
status = I40E_ERR_INVALID_MAC_ADDR;
@@ -1224,6 +1225,8 @@ static enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
case I40E_PHY_TYPE_1000BASE_LX:
case I40E_PHY_TYPE_40GBASE_SR4:
case I40E_PHY_TYPE_40GBASE_LR4:
+ case I40E_PHY_TYPE_25GBASE_LR:
+ case I40E_PHY_TYPE_25GBASE_SR:
media = I40E_MEDIA_TYPE_FIBER;
break;
case I40E_PHY_TYPE_100BASE_TX:
@@ -1238,6 +1241,7 @@ static enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
case I40E_PHY_TYPE_10GBASE_SFPP_CU:
case I40E_PHY_TYPE_40GBASE_AOC:
case I40E_PHY_TYPE_10GBASE_AOC:
+ case I40E_PHY_TYPE_25GBASE_CR:
media = I40E_MEDIA_TYPE_DA;
break;
case I40E_PHY_TYPE_1000BASE_KX:
@@ -1245,6 +1249,7 @@ static enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
case I40E_PHY_TYPE_10GBASE_KR:
case I40E_PHY_TYPE_40GBASE_KR4:
case I40E_PHY_TYPE_20GBASE_KR2:
+ case I40E_PHY_TYPE_25GBASE_KR:
media = I40E_MEDIA_TYPE_BACKPLANE;
break;
case I40E_PHY_TYPE_SGMII:
@@ -1725,10 +1730,13 @@ enum i40e_status_code i40e_set_fc(struct i40e_hw *hw, u8 *aq_failures,
config.abilities |= I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
/* Copy over all the old settings */
config.phy_type = abilities.phy_type;
+ config.phy_type_ext = abilities.phy_type_ext;
config.link_speed = abilities.link_speed;
config.eee_capability = abilities.eee_capability;
config.eeer = abilities.eeer_val;
config.low_power_ctrl = abilities.d3_lpan;
+ config.fec_config = abilities.fec_cfg_curr_mod_ext_info &
+ I40E_AQ_PHY_FEC_CONFIG_MASK;
status = i40e_aq_set_phy_config(hw, &config, NULL);
if (status)
@@ -1888,6 +1896,8 @@ enum i40e_status_code i40e_aq_get_link_info(struct i40e_hw *hw,
hw_link_info->link_speed = (enum i40e_aq_link_speed)resp->link_speed;
hw_link_info->link_info = resp->link_info;
hw_link_info->an_info = resp->an_info;
+ hw_link_info->fec_info = resp->config & (I40E_AQ_CONFIG_FEC_KR_ENA |
+ I40E_AQ_CONFIG_FEC_RS_ENA);
hw_link_info->ext_info = resp->ext_info;
hw_link_info->loopback = resp->loopback;
hw_link_info->max_frame_size = LE16_TO_CPU(resp->max_frame_size);
@@ -1910,12 +1920,13 @@ enum i40e_status_code i40e_aq_get_link_info(struct i40e_hw *hw,
else
hw_link_info->crc_enable = FALSE;
- if (resp->command_flags & CPU_TO_LE16(I40E_AQ_LSE_ENABLE))
+ if (resp->command_flags & CPU_TO_LE16(I40E_AQ_LSE_IS_ENABLED))
hw_link_info->lse_enable = TRUE;
else
hw_link_info->lse_enable = FALSE;
- if ((hw->aq.fw_maj_ver < 4 || (hw->aq.fw_maj_ver == 4 &&
+ if ((hw->mac.type == I40E_MAC_XL710) &&
+ (hw->aq.fw_maj_ver < 4 || (hw->aq.fw_maj_ver == 4 &&
hw->aq.fw_min_ver < 40)) && hw_link_info->phy_type == 0xE)
hw_link_info->phy_type = I40E_PHY_TYPE_10GBASE_SFPP_CU;
@@ -2280,6 +2291,43 @@ enum i40e_status_code i40e_aq_set_vsi_multicast_promiscuous(struct i40e_hw *hw,
}
/**
+* i40e_aq_set_vsi_full_promiscuous
+* @hw: pointer to the hw struct
+* @seid: VSI number
+* @set: set promiscuous enable/disable
+* @cmd_details: pointer to command details structure or NULL
+**/
+enum i40e_status_code i40e_aq_set_vsi_full_promiscuous(struct i40e_hw *hw,
+ u16 seid, bool set,
+ struct i40e_asq_cmd_details *cmd_details)
+{
+ struct i40e_aq_desc desc;
+ struct i40e_aqc_set_vsi_promiscuous_modes *cmd =
+ (struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw;
+ enum i40e_status_code status;
+ u16 flags = 0;
+
+ i40e_fill_default_direct_cmd_desc(&desc,
+ i40e_aqc_opc_set_vsi_promiscuous_modes);
+
+ if (set)
+ flags = I40E_AQC_SET_VSI_PROMISC_UNICAST |
+ I40E_AQC_SET_VSI_PROMISC_MULTICAST |
+ I40E_AQC_SET_VSI_PROMISC_BROADCAST;
+
+ cmd->promiscuous_flags = CPU_TO_LE16(flags);
+
+ cmd->valid_flags = CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_UNICAST |
+ I40E_AQC_SET_VSI_PROMISC_MULTICAST |
+ I40E_AQC_SET_VSI_PROMISC_BROADCAST);
+
+ cmd->seid = CPU_TO_LE16(seid);
+ status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
+
+ return status;
+}
+
+/**
* i40e_aq_set_vsi_mc_promisc_on_vlan
* @hw: pointer to the hw struct
* @seid: vsi number
@@ -2348,6 +2396,40 @@ enum i40e_status_code i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw,
}
/**
+ * i40e_aq_set_vsi_bc_promisc_on_vlan
+ * @hw: pointer to the hw struct
+ * @seid: vsi number
+ * @enable: set broadcast promiscuous enable/disable for a given VLAN
+ * @vid: The VLAN tag filter - capture any broadcast packet with this VLAN tag
+ * @cmd_details: pointer to command details structure or NULL
+ **/
+enum i40e_status_code i40e_aq_set_vsi_bc_promisc_on_vlan(struct i40e_hw *hw,
+ u16 seid, bool enable, u16 vid,
+ struct i40e_asq_cmd_details *cmd_details)
+{
+ struct i40e_aq_desc desc;
+ struct i40e_aqc_set_vsi_promiscuous_modes *cmd =
+ (struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw;
+ enum i40e_status_code status;
+ u16 flags = 0;
+
+ i40e_fill_default_direct_cmd_desc(&desc,
+ i40e_aqc_opc_set_vsi_promiscuous_modes);
+
+ if (enable)
+ flags |= I40E_AQC_SET_VSI_PROMISC_BROADCAST;
+
+ cmd->promiscuous_flags = CPU_TO_LE16(flags);
+ cmd->valid_flags = CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_BROADCAST);
+ cmd->seid = CPU_TO_LE16(seid);
+ cmd->vlan_tag = CPU_TO_LE16(vid | I40E_AQC_SET_VSI_VLAN_VALID);
+
+ status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
+
+ return status;
+}
+
+/**
* i40e_aq_set_vsi_broadcast
* @hw: pointer to the hw struct
* @seid: vsi number
@@ -2680,14 +2762,17 @@ enum i40e_status_code i40e_update_link_info(struct i40e_hw *hw)
if (status)
return status;
- if (hw->phy.link_info.link_info & I40E_AQ_MEDIA_AVAILABLE) {
+ /* extra checking needed to ensure link info to user is timely */
+ if ((hw->phy.link_info.link_info & I40E_AQ_MEDIA_AVAILABLE) &&
+ ((hw->phy.link_info.link_info & I40E_AQ_LINK_UP) ||
+ !(hw->phy.link_info_old.link_info & I40E_AQ_LINK_UP))) {
status = i40e_aq_get_phy_capabilities(hw, FALSE, false,
&abilities, NULL);
if (status)
return status;
- memcpy(hw->phy.link_info.module_type, &abilities.module_type,
- sizeof(hw->phy.link_info.module_type));
+ i40e_memcpy(hw->phy.link_info.module_type, &abilities.module_type,
+ sizeof(hw->phy.link_info.module_type), I40E_NONDMA_TO_NONDMA);
}
return status;
}
@@ -3537,6 +3622,14 @@ static void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff,
break;
case I40E_AQ_CAP_ID_MNG_MODE:
p->management_mode = number;
+ if (major_rev > 1) {
+ p->mng_protocols_over_mctp = logical_id;
+ i40e_debug(hw, I40E_DEBUG_INIT,
+ "HW Capability: Protocols over MCTP = %d\n",
+ p->mng_protocols_over_mctp);
+ } else {
+ p->mng_protocols_over_mctp = 0;
+ }
i40e_debug(hw, I40E_DEBUG_INIT,
"HW Capability: Management Mode = %d\n",
p->management_mode);
@@ -3765,7 +3858,6 @@ static void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff,
else
p->acpi_prog_method = I40E_ACPI_PROGRAMMING_METHOD_HW_FVL;
p->proxy_support = (phys_id & I40E_PROXY_SUPPORT_MASK) ? 1 : 0;
- p->proxy_support = p->proxy_support;
i40e_debug(hw, I40E_DEBUG_INIT,
"HW Capability: WOL proxy filters = %d\n",
hw->num_wol_proxy_filters);
@@ -3806,8 +3898,10 @@ static void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff,
/* partition id is 1-based, and functions are evenly spread
* across the ports as partitions
*/
- hw->partition_id = (hw->pf_id / hw->num_ports) + 1;
- hw->num_partitions = num_functions / hw->num_ports;
+ if (hw->num_ports != 0) {
+ hw->partition_id = (hw->pf_id / hw->num_ports) + 1;
+ hw->num_partitions = num_functions / hw->num_ports;
+ }
/* additional HW specific goodies that might
* someday be HW version specific
@@ -4292,11 +4386,15 @@ enum i40e_status_code i40e_aq_start_stop_dcbx(struct i40e_hw *hw,
/**
* i40e_aq_add_udp_tunnel
* @hw: pointer to the hw struct
- * @udp_port: the UDP port to add
+ * @udp_port: the UDP port to add in Host byte order
* @header_len: length of the tunneling header length in DWords
* @protocol_index: protocol index type
* @filter_index: pointer to filter index
* @cmd_details: pointer to command details structure or NULL
+ *
+ * Note: Firmware expects the udp_port value to be in Little Endian format,
+ * and this function will call CPU_TO_LE16 to convert from Host byte order to
+ * Little Endian order.
**/
enum i40e_status_code i40e_aq_add_udp_tunnel(struct i40e_hw *hw,
u16 udp_port, u8 protocol_index,
@@ -5905,9 +6003,6 @@ enum i40e_status_code i40e_aq_configure_partition_bw(struct i40e_hw *hw,
desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_BUF);
desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_RD);
- if (bwd_size > I40E_AQ_LARGE_BUF)
- desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_LB);
-
desc.datalen = CPU_TO_LE16(bwd_size);
status = i40e_asq_send_command(hw, &desc, bw_data, bwd_size, cmd_details);
@@ -5916,7 +6011,92 @@ enum i40e_status_code i40e_aq_configure_partition_bw(struct i40e_hw *hw,
}
/**
- * i40e_read_phy_register
+ * i40e_read_phy_register_clause22
+ * @hw: pointer to the HW structure
+ * @reg: register address in the page
+ * @phy_adr: PHY address on MDIO interface
+ * @value: PHY register value
+ *
+ * Reads specified PHY register value
+ **/
+enum i40e_status_code i40e_read_phy_register_clause22(struct i40e_hw *hw,
+ u16 reg, u8 phy_addr, u16 *value)
+{
+ enum i40e_status_code status = I40E_ERR_TIMEOUT;
+ u8 port_num = (u8)hw->func_caps.mdio_port_num;
+ u32 command = 0;
+ u16 retry = 1000;
+
+ command = (reg << I40E_GLGEN_MSCA_DEVADD_SHIFT) |
+ (phy_addr << I40E_GLGEN_MSCA_PHYADD_SHIFT) |
+ (I40E_MDIO_CLAUSE22_OPCODE_READ_MASK) |
+ (I40E_MDIO_CLAUSE22_STCODE_MASK) |
+ (I40E_GLGEN_MSCA_MDICMD_MASK);
+ wr32(hw, I40E_GLGEN_MSCA(port_num), command);
+ do {
+ command = rd32(hw, I40E_GLGEN_MSCA(port_num));
+ if (!(command & I40E_GLGEN_MSCA_MDICMD_MASK)) {
+ status = I40E_SUCCESS;
+ break;
+ }
+ i40e_usec_delay(10);
+ retry--;
+ } while (retry);
+
+ if (status) {
+ i40e_debug(hw, I40E_DEBUG_PHY,
+ "PHY: Can't write command to external PHY.\n");
+ } else {
+ command = rd32(hw, I40E_GLGEN_MSRWD(port_num));
+ *value = (command & I40E_GLGEN_MSRWD_MDIRDDATA_MASK) >>
+ I40E_GLGEN_MSRWD_MDIRDDATA_SHIFT;
+ }
+
+ return status;
+}
+
+/**
+ * i40e_write_phy_register_clause22
+ * @hw: pointer to the HW structure
+ * @reg: register address in the page
+ * @phy_adr: PHY address on MDIO interface
+ * @value: PHY register value
+ *
+ * Writes specified PHY register value
+ **/
+enum i40e_status_code i40e_write_phy_register_clause22(struct i40e_hw *hw,
+ u16 reg, u8 phy_addr, u16 value)
+{
+ enum i40e_status_code status = I40E_ERR_TIMEOUT;
+ u8 port_num = (u8)hw->func_caps.mdio_port_num;
+ u32 command = 0;
+ u16 retry = 1000;
+
+ command = value << I40E_GLGEN_MSRWD_MDIWRDATA_SHIFT;
+ wr32(hw, I40E_GLGEN_MSRWD(port_num), command);
+
+ command = (reg << I40E_GLGEN_MSCA_DEVADD_SHIFT) |
+ (phy_addr << I40E_GLGEN_MSCA_PHYADD_SHIFT) |
+ (I40E_MDIO_CLAUSE22_OPCODE_WRITE_MASK) |
+ (I40E_MDIO_CLAUSE22_STCODE_MASK) |
+ (I40E_GLGEN_MSCA_MDICMD_MASK);
+
+ wr32(hw, I40E_GLGEN_MSCA(port_num), command);
+ do {
+ command = rd32(hw, I40E_GLGEN_MSCA(port_num));
+ if (!(command & I40E_GLGEN_MSCA_MDICMD_MASK)) {
+ status = I40E_SUCCESS;
+ break;
+ }
+ i40e_usec_delay(10);
+ retry--;
+ } while (retry);
+
+ return status;
+}
+
+/**
+ * i40e_read_phy_register_clause45
* @hw: pointer to the HW structure
* @page: registers page number
* @reg: register address in the page
@@ -5925,9 +6105,8 @@ enum i40e_status_code i40e_aq_configure_partition_bw(struct i40e_hw *hw,
*
* Reads specified PHY register value
**/
-enum i40e_status_code i40e_read_phy_register(struct i40e_hw *hw,
- u8 page, u16 reg, u8 phy_addr,
- u16 *value)
+enum i40e_status_code i40e_read_phy_register_clause45(struct i40e_hw *hw,
+ u8 page, u16 reg, u8 phy_addr, u16 *value)
{
enum i40e_status_code status = I40E_ERR_TIMEOUT;
u32 command = 0;
@@ -5937,8 +6116,8 @@ enum i40e_status_code i40e_read_phy_register(struct i40e_hw *hw,
command = (reg << I40E_GLGEN_MSCA_MDIADD_SHIFT) |
(page << I40E_GLGEN_MSCA_DEVADD_SHIFT) |
(phy_addr << I40E_GLGEN_MSCA_PHYADD_SHIFT) |
- (I40E_MDIO_OPCODE_ADDRESS) |
- (I40E_MDIO_STCODE) |
+ (I40E_MDIO_CLAUSE45_OPCODE_ADDRESS_MASK) |
+ (I40E_MDIO_CLAUSE45_STCODE_MASK) |
(I40E_GLGEN_MSCA_MDICMD_MASK) |
(I40E_GLGEN_MSCA_MDIINPROGEN_MASK);
wr32(hw, I40E_GLGEN_MSCA(port_num), command);
@@ -5960,8 +6139,8 @@ enum i40e_status_code i40e_read_phy_register(struct i40e_hw *hw,
command = (page << I40E_GLGEN_MSCA_DEVADD_SHIFT) |
(phy_addr << I40E_GLGEN_MSCA_PHYADD_SHIFT) |
- (I40E_MDIO_OPCODE_READ) |
- (I40E_MDIO_STCODE) |
+ (I40E_MDIO_CLAUSE45_OPCODE_READ_MASK) |
+ (I40E_MDIO_CLAUSE45_STCODE_MASK) |
(I40E_GLGEN_MSCA_MDICMD_MASK) |
(I40E_GLGEN_MSCA_MDIINPROGEN_MASK);
status = I40E_ERR_TIMEOUT;
@@ -5991,7 +6170,7 @@ phy_read_end:
}
/**
- * i40e_write_phy_register
+ * i40e_write_phy_register_clause45
* @hw: pointer to the HW structure
* @page: registers page number
* @reg: register address in the page
@@ -6000,9 +6179,8 @@ phy_read_end:
*
* Writes value to specified PHY register
**/
-enum i40e_status_code i40e_write_phy_register(struct i40e_hw *hw,
- u8 page, u16 reg, u8 phy_addr,
- u16 value)
+enum i40e_status_code i40e_write_phy_register_clause45(struct i40e_hw *hw,
+ u8 page, u16 reg, u8 phy_addr, u16 value)
{
enum i40e_status_code status = I40E_ERR_TIMEOUT;
u32 command = 0;
@@ -6012,8 +6190,8 @@ enum i40e_status_code i40e_write_phy_register(struct i40e_hw *hw,
command = (reg << I40E_GLGEN_MSCA_MDIADD_SHIFT) |
(page << I40E_GLGEN_MSCA_DEVADD_SHIFT) |
(phy_addr << I40E_GLGEN_MSCA_PHYADD_SHIFT) |
- (I40E_MDIO_OPCODE_ADDRESS) |
- (I40E_MDIO_STCODE) |
+ (I40E_MDIO_CLAUSE45_OPCODE_ADDRESS_MASK) |
+ (I40E_MDIO_CLAUSE45_STCODE_MASK) |
(I40E_GLGEN_MSCA_MDICMD_MASK) |
(I40E_GLGEN_MSCA_MDIINPROGEN_MASK);
wr32(hw, I40E_GLGEN_MSCA(port_num), command);
@@ -6037,8 +6215,8 @@ enum i40e_status_code i40e_write_phy_register(struct i40e_hw *hw,
command = (page << I40E_GLGEN_MSCA_DEVADD_SHIFT) |
(phy_addr << I40E_GLGEN_MSCA_PHYADD_SHIFT) |
- (I40E_MDIO_OPCODE_WRITE) |
- (I40E_MDIO_STCODE) |
+ (I40E_MDIO_CLAUSE45_OPCODE_WRITE_MASK) |
+ (I40E_MDIO_CLAUSE45_STCODE_MASK) |
(I40E_GLGEN_MSCA_MDICMD_MASK) |
(I40E_GLGEN_MSCA_MDIINPROGEN_MASK);
status = I40E_ERR_TIMEOUT;
@@ -6059,6 +6237,78 @@ phy_write_end:
}
/**
+ * i40e_write_phy_register
+ * @hw: pointer to the HW structure
+ * @page: registers page number
+ * @reg: register address in the page
+ * @phy_adr: PHY address on MDIO interface
+ * @value: PHY register value
+ *
+ * Writes value to specified PHY register
+ **/
+enum i40e_status_code i40e_write_phy_register(struct i40e_hw *hw,
+ u8 page, u16 reg, u8 phy_addr, u16 value)
+{
+ enum i40e_status_code status;
+
+ switch (hw->device_id) {
+ case I40E_DEV_ID_1G_BASE_T_X722:
+ status = i40e_write_phy_register_clause22(hw,
+ reg, phy_addr, value);
+ break;
+ case I40E_DEV_ID_10G_BASE_T:
+ case I40E_DEV_ID_10G_BASE_T4:
+ case I40E_DEV_ID_10G_BASE_T_X722:
+ case I40E_DEV_ID_25G_B:
+ case I40E_DEV_ID_25G_SFP28:
+ status = i40e_write_phy_register_clause45(hw,
+ page, reg, phy_addr, value);
+ break;
+ default:
+ status = I40E_ERR_UNKNOWN_PHY;
+ break;
+ }
+
+ return status;
+}
+
+/**
+ * i40e_read_phy_register
+ * @hw: pointer to the HW structure
+ * @page: registers page number
+ * @reg: register address in the page
+ * @phy_adr: PHY address on MDIO interface
+ * @value: PHY register value
+ *
+ * Reads specified PHY register value
+ **/
+enum i40e_status_code i40e_read_phy_register(struct i40e_hw *hw,
+ u8 page, u16 reg, u8 phy_addr, u16 *value)
+{
+ enum i40e_status_code status;
+
+ switch (hw->device_id) {
+ case I40E_DEV_ID_1G_BASE_T_X722:
+ status = i40e_read_phy_register_clause22(hw, reg, phy_addr,
+ value);
+ break;
+ case I40E_DEV_ID_10G_BASE_T:
+ case I40E_DEV_ID_10G_BASE_T4:
+ case I40E_DEV_ID_10G_BASE_T_X722:
+ case I40E_DEV_ID_25G_B:
+ case I40E_DEV_ID_25G_SFP28:
+ status = i40e_read_phy_register_clause45(hw, page, reg,
+ phy_addr, value);
+ break;
+ default:
+ status = I40E_ERR_UNKNOWN_PHY;
+ break;
+ }
+
+ return status;
+}
+
+/**
* i40e_get_phy_address
* @hw: pointer to the HW structure
* @dev_num: PHY port num that address we want
@@ -6100,14 +6350,16 @@ enum i40e_status_code i40e_blink_phy_link_led(struct i40e_hw *hw,
for (gpio_led_port = 0; gpio_led_port < 3; gpio_led_port++,
led_addr++) {
- status = i40e_read_phy_register(hw, I40E_PHY_COM_REG_PAGE,
- led_addr, phy_addr, &led_reg);
+ status = i40e_read_phy_register_clause45(hw,
+ I40E_PHY_COM_REG_PAGE,
+ led_addr, phy_addr,
+ &led_reg);
if (status)
goto phy_blinking_end;
led_ctl = led_reg;
if (led_reg & I40E_PHY_LED_LINK_MODE_MASK) {
led_reg = 0;
- status = i40e_write_phy_register(hw,
+ status = i40e_write_phy_register_clause45(hw,
I40E_PHY_COM_REG_PAGE,
led_addr, phy_addr,
led_reg);
@@ -6119,20 +6371,18 @@ enum i40e_status_code i40e_blink_phy_link_led(struct i40e_hw *hw,
if (time > 0 && interval > 0) {
for (i = 0; i < time * 1000; i += interval) {
- status = i40e_read_phy_register(hw,
- I40E_PHY_COM_REG_PAGE,
- led_addr, phy_addr,
- &led_reg);
+ status = i40e_read_phy_register_clause45(hw,
+ I40E_PHY_COM_REG_PAGE,
+ led_addr, phy_addr, &led_reg);
if (status)
goto restore_config;
if (led_reg & I40E_PHY_LED_MANUAL_ON)
led_reg = 0;
else
led_reg = I40E_PHY_LED_MANUAL_ON;
- status = i40e_write_phy_register(hw,
- I40E_PHY_COM_REG_PAGE,
- led_addr, phy_addr,
- led_reg);
+ status = i40e_write_phy_register_clause45(hw,
+ I40E_PHY_COM_REG_PAGE,
+ led_addr, phy_addr, led_reg);
if (status)
goto restore_config;
i40e_msec_delay(interval);
@@ -6140,8 +6390,9 @@ enum i40e_status_code i40e_blink_phy_link_led(struct i40e_hw *hw,
}
restore_config:
- status = i40e_write_phy_register(hw, I40E_PHY_COM_REG_PAGE, led_addr,
- phy_addr, led_ctl);
+ status = i40e_write_phy_register_clause45(hw,
+ I40E_PHY_COM_REG_PAGE,
+ led_addr, phy_addr, led_ctl);
phy_blinking_end:
return status;
@@ -6172,8 +6423,10 @@ enum i40e_status_code i40e_led_get_phy(struct i40e_hw *hw, u16 *led_addr,
for (gpio_led_port = 0; gpio_led_port < 3; gpio_led_port++,
temp_addr++) {
- status = i40e_read_phy_register(hw, I40E_PHY_COM_REG_PAGE,
- temp_addr, phy_addr, &reg_val);
+ status = i40e_read_phy_register_clause45(hw,
+ I40E_PHY_COM_REG_PAGE,
+ temp_addr, phy_addr,
+ &reg_val);
if (status)
return status;
*val = reg_val;
@@ -6206,41 +6459,42 @@ enum i40e_status_code i40e_led_set_phy(struct i40e_hw *hw, bool on,
i = rd32(hw, I40E_PFGEN_PORTNUM);
port_num = (u8)(i & I40E_PFGEN_PORTNUM_PORT_NUM_MASK);
phy_addr = i40e_get_phy_address(hw, port_num);
-
- status = i40e_read_phy_register(hw, I40E_PHY_COM_REG_PAGE, led_addr,
- phy_addr, &led_reg);
+ status = i40e_read_phy_register_clause45(hw, I40E_PHY_COM_REG_PAGE,
+ led_addr, phy_addr, &led_reg);
if (status)
return status;
led_ctl = led_reg;
if (led_reg & I40E_PHY_LED_LINK_MODE_MASK) {
led_reg = 0;
- status = i40e_write_phy_register(hw, I40E_PHY_COM_REG_PAGE,
- led_addr, phy_addr, led_reg);
+ status = i40e_write_phy_register_clause45(hw,
+ I40E_PHY_COM_REG_PAGE,
+ led_addr, phy_addr,
+ led_reg);
if (status)
return status;
}
- status = i40e_read_phy_register(hw, I40E_PHY_COM_REG_PAGE,
- led_addr, phy_addr, &led_reg);
+ status = i40e_read_phy_register_clause45(hw, I40E_PHY_COM_REG_PAGE,
+ led_addr, phy_addr, &led_reg);
if (status)
goto restore_config;
if (on)
led_reg = I40E_PHY_LED_MANUAL_ON;
else
led_reg = 0;
- status = i40e_write_phy_register(hw, I40E_PHY_COM_REG_PAGE,
- led_addr, phy_addr, led_reg);
+ status = i40e_write_phy_register_clause45(hw, I40E_PHY_COM_REG_PAGE,
+ led_addr, phy_addr, led_reg);
if (status)
goto restore_config;
if (mode & I40E_PHY_LED_MODE_ORIG) {
led_ctl = (mode & I40E_PHY_LED_MODE_MASK);
- status = i40e_write_phy_register(hw,
+ status = i40e_write_phy_register_clause45(hw,
I40E_PHY_COM_REG_PAGE,
led_addr, phy_addr, led_ctl);
}
return status;
restore_config:
- status = i40e_write_phy_register(hw, I40E_PHY_COM_REG_PAGE, led_addr,
- phy_addr, led_ctl);
+ status = i40e_write_phy_register_clause45(hw, I40E_PHY_COM_REG_PAGE,
+ led_addr, phy_addr, led_ctl);
return status;
}
@@ -6485,10 +6739,13 @@ enum i40e_status_code i40e_aq_set_arp_proxy_config(struct i40e_hw *hw,
i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_proxy_config);
+ desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_BUF);
+ desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_RD);
desc.params.external.addr_high =
CPU_TO_LE32(I40E_HI_DWORD((u64)proxy_config));
desc.params.external.addr_low =
CPU_TO_LE32(I40E_LO_DWORD((u64)proxy_config));
+ desc.datalen = CPU_TO_LE16(sizeof(struct i40e_aqc_arp_proxy_data));
status = i40e_asq_send_command(hw, &desc, proxy_config,
sizeof(struct i40e_aqc_arp_proxy_data),
@@ -6519,10 +6776,13 @@ enum i40e_status_code i40e_aq_set_ns_proxy_table_entry(struct i40e_hw *hw,
i40e_fill_default_direct_cmd_desc(&desc,
i40e_aqc_opc_set_ns_proxy_table_entry);
+ desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_BUF);
+ desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_RD);
desc.params.external.addr_high =
CPU_TO_LE32(I40E_HI_DWORD((u64)ns_proxy_table_entry));
desc.params.external.addr_low =
CPU_TO_LE32(I40E_LO_DWORD((u64)ns_proxy_table_entry));
+ desc.datalen = CPU_TO_LE16(sizeof(struct i40e_aqc_ns_proxy_data));
status = i40e_asq_send_command(hw, &desc, ns_proxy_table_entry,
sizeof(struct i40e_aqc_ns_proxy_data),
@@ -6569,9 +6829,11 @@ enum i40e_status_code i40e_aq_set_clear_wol_filter(struct i40e_hw *hw,
if (set_filter) {
if (!filter)
return I40E_ERR_PARAM;
+
cmd_flags |= I40E_AQC_SET_WOL_FILTER;
- buff_len = sizeof(*filter);
+ cmd_flags |= I40E_AQC_SET_WOL_FILTER_WOL_PRESERVE_ON_PFR;
}
+
if (no_wol_tco)
cmd_flags |= I40E_AQC_SET_WOL_FILTER_NO_TCO_WOL;
cmd->cmd_flags = CPU_TO_LE16(cmd_flags);
@@ -6582,6 +6844,12 @@ enum i40e_status_code i40e_aq_set_clear_wol_filter(struct i40e_hw *hw,
valid_flags |= I40E_AQC_SET_WOL_FILTER_NO_TCO_ACTION_VALID;
cmd->valid_flags = CPU_TO_LE16(valid_flags);
+ buff_len = sizeof(*filter);
+ desc.datalen = CPU_TO_LE16(buff_len);
+
+ desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_BUF);
+ desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_RD);
+
cmd->address_high = CPU_TO_LE32(I40E_HI_DWORD((u64)filter));
cmd->address_low = CPU_TO_LE32(I40E_LO_DWORD((u64)filter));
@@ -6618,3 +6886,24 @@ enum i40e_status_code i40e_aq_get_wake_event_reason(struct i40e_hw *hw,
return status;
}
+/**
+* i40e_aq_clear_all_wol_filters
+* @hw: pointer to the hw struct
+* @cmd_details: pointer to command details structure or NULL
+*
+* Get information for the reason of a Wake Up event
+**/
+enum i40e_status_code i40e_aq_clear_all_wol_filters(struct i40e_hw *hw,
+ struct i40e_asq_cmd_details *cmd_details)
+{
+ struct i40e_aq_desc desc;
+ enum i40e_status_code status;
+
+ i40e_fill_default_direct_cmd_desc(&desc,
+ i40e_aqc_opc_clear_all_wol_filters);
+
+ status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
+
+ return status;
+}
+
diff --git a/sys/dev/ixl/i40e_devids.h b/sys/dev/ixl/i40e_devids.h
index 5725cb9..12ba99f 100644
--- a/sys/dev/ixl/i40e_devids.h
+++ b/sys/dev/ixl/i40e_devids.h
@@ -63,7 +63,6 @@
#define I40E_DEV_ID_10G_BASE_T_X722 0x37D2
#define I40E_DEV_ID_SFP_I_X722 0x37D3
#define I40E_DEV_ID_X722_VF 0x37CD
-#define I40E_DEV_ID_X722_VF_HV 0x37D9
#define i40e_is_40G_device(d) ((d) == I40E_DEV_ID_QSFP_A || \
(d) == I40E_DEV_ID_QSFP_B || \
diff --git a/sys/dev/ixl/i40e_lan_hmc.c b/sys/dev/ixl/i40e_lan_hmc.c
index f7bee6a..a6716a9 100644
--- a/sys/dev/ixl/i40e_lan_hmc.c
+++ b/sys/dev/ixl/i40e_lan_hmc.c
@@ -1240,11 +1240,6 @@ enum i40e_status_code i40e_hmc_get_object_va(struct i40e_hw *hw,
u64 obj_offset_in_fpm;
u32 sd_idx, sd_lmt;
- if (NULL == hmc_info) {
- ret_code = I40E_ERR_BAD_PTR;
- DEBUGOUT("i40e_hmc_get_object_va: bad hmc_info ptr\n");
- goto exit;
- }
if (NULL == hmc_info->hmc_obj) {
ret_code = I40E_ERR_BAD_PTR;
DEBUGOUT("i40e_hmc_get_object_va: bad hmc_info->hmc_obj ptr\n");
diff --git a/sys/dev/ixl/i40e_nvm.c b/sys/dev/ixl/i40e_nvm.c
index 151691e..3d36c64 100644
--- a/sys/dev/ixl/i40e_nvm.c
+++ b/sys/dev/ixl/i40e_nvm.c
@@ -220,14 +220,14 @@ enum i40e_status_code i40e_read_nvm_word(struct i40e_hw *hw, u16 offset,
{
enum i40e_status_code ret_code = I40E_SUCCESS;
- if (hw->flags & I40E_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE) {
- ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ);
- if (!ret_code) {
+ ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ);
+ if (!ret_code) {
+ if (hw->flags & I40E_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE) {
ret_code = i40e_read_nvm_word_aq(hw, offset, data);
- i40e_release_nvm(hw);
+ } else {
+ ret_code = i40e_read_nvm_word_srctl(hw, offset, data);
}
- } else {
- ret_code = i40e_read_nvm_word_srctl(hw, offset, data);
+ i40e_release_nvm(hw);
}
return ret_code;
}
@@ -886,9 +886,20 @@ enum i40e_status_code i40e_nvmupd_command(struct i40e_hw *hw,
*((u16 *)&bytes[2]) = hw->nvm_wait_opcode;
}
+ /* Clear error status on read */
+ if (hw->nvmupd_state == I40E_NVMUPD_STATE_ERROR)
+ hw->nvmupd_state = I40E_NVMUPD_STATE_INIT;
+
return I40E_SUCCESS;
}
+ /* Clear status even it is not read and log */
+ if (hw->nvmupd_state == I40E_NVMUPD_STATE_ERROR) {
+ i40e_debug(hw, I40E_DEBUG_NVM,
+ "Clearing I40E_NVMUPD_STATE_ERROR state without reading\n");
+ hw->nvmupd_state = I40E_NVMUPD_STATE_INIT;
+ }
+
switch (hw->nvmupd_state) {
case I40E_NVMUPD_STATE_INIT:
status = i40e_nvmupd_state_init(hw, cmd, bytes, perrno);
@@ -1247,6 +1258,11 @@ void i40e_nvmupd_check_wait_event(struct i40e_hw *hw, u16 opcode)
}
hw->nvm_wait_opcode = 0;
+ if (hw->aq.arq_last_status) {
+ hw->nvmupd_state = I40E_NVMUPD_STATE_ERROR;
+ return;
+ }
+
switch (hw->nvmupd_state) {
case I40E_NVMUPD_STATE_INIT_WAIT:
hw->nvmupd_state = I40E_NVMUPD_STATE_INIT;
@@ -1409,7 +1425,8 @@ static enum i40e_status_code i40e_nvmupd_exec_aq(struct i40e_hw *hw,
if (hw->nvm_buff.va) {
buff = hw->nvm_buff.va;
- memcpy(buff, &bytes[aq_desc_len], aq_data_len);
+ i40e_memcpy(buff, &bytes[aq_desc_len], aq_data_len,
+ I40E_NONDMA_TO_NONDMA);
}
}
@@ -1482,7 +1499,7 @@ static enum i40e_status_code i40e_nvmupd_get_aq_result(struct i40e_hw *hw,
__func__, cmd->offset, cmd->offset + len);
buff = ((u8 *)&hw->nvm_wb_desc) + cmd->offset;
- memcpy(bytes, buff, len);
+ i40e_memcpy(bytes, buff, len, I40E_NONDMA_TO_NONDMA);
bytes += len;
remainder -= len;
@@ -1496,7 +1513,7 @@ static enum i40e_status_code i40e_nvmupd_get_aq_result(struct i40e_hw *hw,
i40e_debug(hw, I40E_DEBUG_NVM, "%s: databuf bytes %d to %d\n",
__func__, start_byte, start_byte + remainder);
- memcpy(bytes, buff, remainder);
+ i40e_memcpy(bytes, buff, remainder, I40E_NONDMA_TO_NONDMA);
}
return I40E_SUCCESS;
diff --git a/sys/dev/ixl/i40e_osdep.c b/sys/dev/ixl/i40e_osdep.c
index 2a77151..a2b25cc 100644
--- a/sys/dev/ixl/i40e_osdep.c
+++ b/sys/dev/ixl/i40e_osdep.c
@@ -189,15 +189,71 @@ void
i40e_debug_shared(struct i40e_hw *hw, enum i40e_debug_mask mask, char *fmt, ...)
{
va_list args;
+ device_t dev;
if (!(mask & ((struct i40e_hw *)hw)->debug_mask))
return;
+ dev = ((struct i40e_osdep *)hw->back)->dev;
+
+ /* Re-implement device_printf() */
+ device_print_prettyname(dev);
va_start(args, fmt);
- device_printf(((struct i40e_osdep *)hw->back)->dev, fmt, args);
+ vprintf(fmt, args);
va_end(args);
}
+const char *
+ixl_vc_opcode_str(uint16_t op)
+{
+ switch (op) {
+ case I40E_VIRTCHNL_OP_VERSION:
+ return ("VERSION");
+ case I40E_VIRTCHNL_OP_RESET_VF:
+ return ("RESET_VF");
+ case I40E_VIRTCHNL_OP_GET_VF_RESOURCES:
+ return ("GET_VF_RESOURCES");
+ case I40E_VIRTCHNL_OP_CONFIG_TX_QUEUE:
+ return ("CONFIG_TX_QUEUE");
+ case I40E_VIRTCHNL_OP_CONFIG_RX_QUEUE:
+ return ("CONFIG_RX_QUEUE");
+ case I40E_VIRTCHNL_OP_CONFIG_VSI_QUEUES:
+ return ("CONFIG_VSI_QUEUES");
+ case I40E_VIRTCHNL_OP_CONFIG_IRQ_MAP:
+ return ("CONFIG_IRQ_MAP");
+ case I40E_VIRTCHNL_OP_ENABLE_QUEUES:
+ return ("ENABLE_QUEUES");
+ case I40E_VIRTCHNL_OP_DISABLE_QUEUES:
+ return ("DISABLE_QUEUES");
+ case I40E_VIRTCHNL_OP_ADD_ETHER_ADDRESS:
+ return ("ADD_ETHER_ADDRESS");
+ case I40E_VIRTCHNL_OP_DEL_ETHER_ADDRESS:
+ return ("DEL_ETHER_ADDRESS");
+ case I40E_VIRTCHNL_OP_ADD_VLAN:
+ return ("ADD_VLAN");
+ case I40E_VIRTCHNL_OP_DEL_VLAN:
+ return ("DEL_VLAN");
+ case I40E_VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE:
+ return ("CONFIG_PROMISCUOUS_MODE");
+ case I40E_VIRTCHNL_OP_GET_STATS:
+ return ("GET_STATS");
+ case I40E_VIRTCHNL_OP_FCOE:
+ return ("FCOE");
+ case I40E_VIRTCHNL_OP_EVENT:
+ return ("EVENT");
+ case I40E_VIRTCHNL_OP_CONFIG_RSS_KEY:
+ return ("CONFIG_RSS_KEY");
+ case I40E_VIRTCHNL_OP_CONFIG_RSS_LUT:
+ return ("CONFIG_RSS_LUT");
+ case I40E_VIRTCHNL_OP_GET_RSS_HENA_CAPS:
+ return ("GET_RSS_HENA_CAPS");
+ case I40E_VIRTCHNL_OP_SET_RSS_HENA:
+ return ("SET_RSS_HENA");
+ default:
+ return ("UNKNOWN");
+ }
+}
+
u16
i40e_read_pci_cfg(struct i40e_hw *hw, u32 reg)
{
diff --git a/sys/dev/ixl/i40e_osdep.h b/sys/dev/ixl/i40e_osdep.h
index 184f125..5467745 100644
--- a/sys/dev/ixl/i40e_osdep.h
+++ b/sys/dev/ixl/i40e_osdep.h
@@ -151,7 +151,8 @@ struct i40e_osdep {
bus_space_handle_t mem_bus_space_handle;
bus_size_t mem_bus_space_size;
uint32_t flush_reg;
- struct device *dev;
+ int i2c_intfc_num;
+ device_t dev;
};
struct i40e_dma_mem {
@@ -185,6 +186,8 @@ extern void i40e_debug_shared(struct i40e_hw *hw, enum i40e_debug_mask mask,
/* Non-busy-wait that uses kern_yield() */
void i40e_msec_pause(int);
+const char * ixl_vc_opcode_str(uint16_t op);
+
/*
** This hardware supports either 16 or 32 byte rx descriptors;
** the driver only uses the 32 byte kind.
diff --git a/sys/dev/ixl/i40e_prototype.h b/sys/dev/ixl/i40e_prototype.h
index 01d11d6..11dc5aa 100644
--- a/sys/dev/ixl/i40e_prototype.h
+++ b/sys/dev/ixl/i40e_prototype.h
@@ -166,12 +166,18 @@ enum i40e_status_code i40e_aq_set_vsi_unicast_promiscuous(struct i40e_hw *hw,
bool rx_only_promisc);
enum i40e_status_code i40e_aq_set_vsi_multicast_promiscuous(struct i40e_hw *hw,
u16 vsi_id, bool set, struct i40e_asq_cmd_details *cmd_details);
+enum i40e_status_code i40e_aq_set_vsi_full_promiscuous(struct i40e_hw *hw,
+ u16 seid, bool set,
+ struct i40e_asq_cmd_details *cmd_details);
enum i40e_status_code i40e_aq_set_vsi_mc_promisc_on_vlan(struct i40e_hw *hw,
u16 seid, bool enable, u16 vid,
struct i40e_asq_cmd_details *cmd_details);
enum i40e_status_code i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw,
u16 seid, bool enable, u16 vid,
struct i40e_asq_cmd_details *cmd_details);
+enum i40e_status_code i40e_aq_set_vsi_bc_promisc_on_vlan(struct i40e_hw *hw,
+ u16 seid, bool enable, u16 vid,
+ struct i40e_asq_cmd_details *cmd_details);
enum i40e_status_code i40e_aq_set_vsi_vlan_promisc(struct i40e_hw *hw,
u16 seid, bool enable,
struct i40e_asq_cmd_details *cmd_details);
@@ -517,10 +523,20 @@ enum i40e_status_code i40e_aq_set_clear_wol_filter(struct i40e_hw *hw,
enum i40e_status_code i40e_aq_get_wake_event_reason(struct i40e_hw *hw,
u16 *wake_reason,
struct i40e_asq_cmd_details *cmd_details);
-enum i40e_status_code i40e_read_phy_register(struct i40e_hw *hw, u8 page,
- u16 reg, u8 phy_addr, u16 *value);
-enum i40e_status_code i40e_write_phy_register(struct i40e_hw *hw, u8 page,
- u16 reg, u8 phy_addr, u16 value);
+enum i40e_status_code i40e_aq_clear_all_wol_filters(struct i40e_hw *hw,
+ struct i40e_asq_cmd_details *cmd_details);
+enum i40e_status_code i40e_read_phy_register_clause22(struct i40e_hw *hw,
+ u16 reg, u8 phy_addr, u16 *value);
+enum i40e_status_code i40e_write_phy_register_clause22(struct i40e_hw *hw,
+ u16 reg, u8 phy_addr, u16 value);
+enum i40e_status_code i40e_read_phy_register_clause45(struct i40e_hw *hw,
+ u8 page, u16 reg, u8 phy_addr, u16 *value);
+enum i40e_status_code i40e_write_phy_register_clause45(struct i40e_hw *hw,
+ u8 page, u16 reg, u8 phy_addr, u16 value);
+enum i40e_status_code i40e_read_phy_register(struct i40e_hw *hw,
+ u8 page, u16 reg, u8 phy_addr, u16 *value);
+enum i40e_status_code i40e_write_phy_register(struct i40e_hw *hw,
+ u8 page, u16 reg, u8 phy_addr, u16 value);
u8 i40e_get_phy_address(struct i40e_hw *hw, u8 dev_num);
enum i40e_status_code i40e_blink_phy_link_led(struct i40e_hw *hw,
u32 time, u32 interval);
diff --git a/sys/dev/ixl/i40e_type.h b/sys/dev/ixl/i40e_type.h
index fa8c719..73af965 100644
--- a/sys/dev/ixl/i40e_type.h
+++ b/sys/dev/ixl/i40e_type.h
@@ -146,15 +146,22 @@ enum i40e_debug_mask {
#define I40E_PCI_LINK_SPEED_5000 0x2
#define I40E_PCI_LINK_SPEED_8000 0x3
-#define I40E_MDIO_STCODE I40E_MASK(0, \
+#define I40E_MDIO_CLAUSE22_STCODE_MASK I40E_MASK(1, \
I40E_GLGEN_MSCA_STCODE_SHIFT)
-#define I40E_MDIO_OPCODE_ADDRESS I40E_MASK(0, \
+#define I40E_MDIO_CLAUSE22_OPCODE_WRITE_MASK I40E_MASK(1, \
I40E_GLGEN_MSCA_OPCODE_SHIFT)
-#define I40E_MDIO_OPCODE_WRITE I40E_MASK(1, \
+#define I40E_MDIO_CLAUSE22_OPCODE_READ_MASK I40E_MASK(2, \
I40E_GLGEN_MSCA_OPCODE_SHIFT)
-#define I40E_MDIO_OPCODE_READ_INC_ADDR I40E_MASK(2, \
+
+#define I40E_MDIO_CLAUSE45_STCODE_MASK I40E_MASK(0, \
+ I40E_GLGEN_MSCA_STCODE_SHIFT)
+#define I40E_MDIO_CLAUSE45_OPCODE_ADDRESS_MASK I40E_MASK(0, \
+ I40E_GLGEN_MSCA_OPCODE_SHIFT)
+#define I40E_MDIO_CLAUSE45_OPCODE_WRITE_MASK I40E_MASK(1, \
I40E_GLGEN_MSCA_OPCODE_SHIFT)
-#define I40E_MDIO_OPCODE_READ I40E_MASK(3, \
+#define I40E_MDIO_CLAUSE45_OPCODE_READ_INC_ADDR_MASK I40E_MASK(2, \
+ I40E_GLGEN_MSCA_OPCODE_SHIFT)
+#define I40E_MDIO_CLAUSE45_OPCODE_READ_MASK I40E_MASK(3, \
I40E_GLGEN_MSCA_OPCODE_SHIFT)
#define I40E_PHY_COM_REG_PAGE 0x1E
@@ -192,7 +199,6 @@ enum i40e_memcpy_type {
*/
enum i40e_mac_type {
I40E_MAC_UNKNOWN = 0,
- I40E_MAC_X710,
I40E_MAC_XL710,
I40E_MAC_VF,
I40E_MAC_X722,
@@ -251,6 +257,7 @@ struct i40e_link_status {
enum i40e_aq_link_speed link_speed;
u8 link_info;
u8 an_info;
+ u8 fec_info;
u8 ext_info;
u8 loopback;
/* is Link Status Event notification to SW enabled */
@@ -317,10 +324,22 @@ struct i40e_phy_info {
#define I40E_CAP_PHY_TYPE_1000BASE_T_OPTICAL \
BIT_ULL(I40E_PHY_TYPE_1000BASE_T_OPTICAL)
#define I40E_CAP_PHY_TYPE_20GBASE_KR2 BIT_ULL(I40E_PHY_TYPE_20GBASE_KR2)
-#define I40E_CAP_PHY_TYPE_25GBASE_KR BIT_ULL(I40E_AQ_PHY_TYPE_EXT_25G_KR + 32)
-#define I40E_CAP_PHY_TYPE_25GBASE_CR BIT_ULL(I40E_AQ_PHY_TYPE_EXT_25G_CR + 32)
-#define I40E_CAP_PHY_TYPE_25GBASE_SR BIT_ULL(I40E_AQ_PHY_TYPE_EXT_25G_SR + 32)
-#define I40E_CAP_PHY_TYPE_25GBASE_LR BIT_ULL(I40E_AQ_PHY_TYPE_EXT_25G_LR + 32)
+/*
+ * Defining the macro I40E_TYPE_OFFSET to implement a bit shift for some
+ * PHY types. There is an unused bit (31) in the I40E_CAP_PHY_TYPE_* bit
+ * fields but no corresponding gap in the i40e_aq_phy_type enumeration. So,
+ * a shift is needed to adjust for this with values larger than 31. The
+ * only affected values are I40E_PHY_TYPE_25GBASE_*.
+ */
+#define I40E_PHY_TYPE_OFFSET 1
+#define I40E_CAP_PHY_TYPE_25GBASE_KR BIT_ULL(I40E_PHY_TYPE_25GBASE_KR + \
+ I40E_PHY_TYPE_OFFSET)
+#define I40E_CAP_PHY_TYPE_25GBASE_CR BIT_ULL(I40E_PHY_TYPE_25GBASE_CR + \
+ I40E_PHY_TYPE_OFFSET)
+#define I40E_CAP_PHY_TYPE_25GBASE_SR BIT_ULL(I40E_PHY_TYPE_25GBASE_SR + \
+ I40E_PHY_TYPE_OFFSET)
+#define I40E_CAP_PHY_TYPE_25GBASE_LR BIT_ULL(I40E_PHY_TYPE_25GBASE_LR + \
+ I40E_PHY_TYPE_OFFSET)
#define I40E_HW_CAP_MAX_GPIO 30
#define I40E_HW_CAP_MDIO_PORT_MODE_MDIO 0
#define I40E_HW_CAP_MDIO_PORT_MODE_I2C 1
@@ -330,9 +349,9 @@ enum i40e_acpi_programming_method {
I40E_ACPI_PROGRAMMING_METHOD_AQC_FPK = 1
};
-#define I40E_WOL_SUPPORT_MASK 1
-#define I40E_ACPI_PROGRAMMING_METHOD_MASK (1 << 1)
-#define I40E_PROXY_SUPPORT_MASK (1 << 2)
+#define I40E_WOL_SUPPORT_MASK 0x1
+#define I40E_ACPI_PROGRAMMING_METHOD_MASK 0x2
+#define I40E_PROXY_SUPPORT_MASK 0x4
/* Capabilities of a PF or a VF or the whole device */
struct i40e_hw_capabilities {
@@ -342,6 +361,10 @@ struct i40e_hw_capabilities {
#define I40E_NVM_IMAGE_TYPE_UDP_CLOUD 0x3
u32 management_mode;
+ u32 mng_protocols_over_mctp;
+#define I40E_MNG_PROTOCOL_PLDM 0x2
+#define I40E_MNG_PROTOCOL_OEM_COMMANDS 0x4
+#define I40E_MNG_PROTOCOL_NCSI 0x8
u32 npar_enable;
u32 os2bmc;
u32 valid_functions;
@@ -457,6 +480,7 @@ enum i40e_nvmupd_state {
I40E_NVMUPD_STATE_WRITING,
I40E_NVMUPD_STATE_INIT_WAIT,
I40E_NVMUPD_STATE_WRITE_WAIT,
+ I40E_NVMUPD_STATE_ERROR
};
/* nvm_access definition and its masks/shifts need to be accessible to
@@ -535,6 +559,7 @@ struct i40e_bus_info {
u16 func;
u16 device;
u16 lan_id;
+ u16 bus_id;
};
/* Flow control (FC) parameters */
@@ -1432,6 +1457,7 @@ struct i40e_hw_port_stats {
#define I40E_SR_EMPR_REGS_AUTO_LOAD_PTR 0x3A
#define I40E_SR_GLOBR_REGS_AUTO_LOAD_PTR 0x3B
#define I40E_SR_CORER_REGS_AUTO_LOAD_PTR 0x3C
+#define I40E_SR_PHY_ACTIVITY_LIST_PTR 0x3D
#define I40E_SR_PCIE_ALT_AUTO_LOAD_PTR 0x3E
#define I40E_SR_SW_CHECKSUM_WORD 0x3F
#define I40E_SR_1ST_FREE_PROVISION_AREA_PTR 0x40
diff --git a/sys/dev/ixl/i40e_virtchnl.h b/sys/dev/ixl/i40e_virtchnl.h
index 4ebe578..32af9c8 100644
--- a/sys/dev/ixl/i40e_virtchnl.h
+++ b/sys/dev/ixl/i40e_virtchnl.h
@@ -168,6 +168,11 @@ struct i40e_virtchnl_vsi_resource {
#define I40E_VIRTCHNL_VF_OFFLOAD_RX_POLLING 0x00020000
#define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2 0x00040000
#define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF 0X00080000
+#define I40E_VIRTCHNL_VF_OFFLOAD_ENCAP_CSUM 0X00100000
+
+#define I40E_VF_BASE_MODE_OFFLOADS (I40E_VIRTCHNL_VF_OFFLOAD_L2 | \
+ I40E_VIRTCHNL_VF_OFFLOAD_VLAN | \
+ I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF)
struct i40e_virtchnl_vf_resource {
u16 num_vsis;
diff --git a/sys/dev/ixl/if_ixl.c b/sys/dev/ixl/if_ixl.c
index a9221d3..f814855 100644
--- a/sys/dev/ixl/if_ixl.c
+++ b/sys/dev/ixl/if_ixl.c
@@ -35,6 +35,11 @@
#include "ixl.h"
#include "ixl_pf.h"
+#ifdef IXL_IW
+#include "ixl_iw.h"
+#include "ixl_iw_int.h"
+#endif
+
#ifdef PCI_IOV
#include "ixl_pf_iov.h"
#endif
@@ -42,7 +47,7 @@
/*********************************************************************
* Driver version
*********************************************************************/
-char ixl_driver_version[] = "1.6.6-k";
+char ixl_driver_version[] = "1.7.12-k";
/*********************************************************************
* PCI Device ID Table
@@ -70,6 +75,8 @@ static ixl_vendor_info_t ixl_vendor_info_array[] =
{I40E_INTEL_VENDOR_ID, I40E_DEV_ID_1G_BASE_T_X722, 0, 0, 0},
{I40E_INTEL_VENDOR_ID, I40E_DEV_ID_10G_BASE_T_X722, 0, 0, 0},
{I40E_INTEL_VENDOR_ID, I40E_DEV_ID_SFP_I_X722, 0, 0, 0},
+ {I40E_INTEL_VENDOR_ID, I40E_DEV_ID_25G_B, 0, 0, 0},
+ {I40E_INTEL_VENDOR_ID, I40E_DEV_ID_25G_SFP28, 0, 0, 0},
/* required last entry */
{0, 0, 0, 0, 0}
};
@@ -119,9 +126,11 @@ static driver_t ixl_driver = {
devclass_t ixl_devclass;
DRIVER_MODULE(ixl, pci, ixl_driver, ixl_devclass, 0, 0);
+MODULE_VERSION(ixl, 1);
+
MODULE_DEPEND(ixl, pci, 1, 1, 1);
MODULE_DEPEND(ixl, ether, 1, 1, 1);
-#ifdef DEV_NETMAP
+#if defined(DEV_NETMAP) && __FreeBSD_version >= 1100000
MODULE_DEPEND(ixl, netmap, 1, 1, 1);
#endif /* DEV_NETMAP */
@@ -145,7 +154,7 @@ SYSCTL_INT(_hw_ixl, OID_AUTO, enable_msix, CTLFLAG_RDTUN, &ixl_enable_msix, 0,
** Number of descriptors per ring:
** - TX and RX are the same size
*/
-static int ixl_ring_size = DEFAULT_RING;
+static int ixl_ring_size = IXL_DEFAULT_RING;
TUNABLE_INT("hw.ixl.ring_size", &ixl_ring_size);
SYSCTL_INT(_hw_ixl, OID_AUTO, ring_size, CTLFLAG_RDTUN,
&ixl_ring_size, 0, "Descriptor Ring Size");
@@ -206,6 +215,11 @@ TUNABLE_INT("hw.ixl.tx_itr", &ixl_tx_itr);
SYSCTL_INT(_hw_ixl, OID_AUTO, tx_itr, CTLFLAG_RDTUN,
&ixl_tx_itr, 0, "TX Interrupt Rate");
+#ifdef IXL_IW
+int ixl_enable_iwarp = 0;
+TUNABLE_INT("hw.ixl.enable_iwarp", &ixl_enable_iwarp);
+#endif
+
#ifdef DEV_NETMAP
#define NETMAP_IXL_MAIN /* only bring in one part of the netmap code */
#include <dev/netmap/if_ixl_netmap.h>
@@ -296,12 +310,9 @@ ixl_save_pf_tunables(struct ixl_pf *pf)
/* Save tunable information */
pf->enable_msix = ixl_enable_msix;
pf->max_queues = ixl_max_queues;
- pf->ringsz = ixl_ring_size;
pf->enable_tx_fc_filter = ixl_enable_tx_fc_filter;
pf->dynamic_rx_itr = ixl_dynamic_rx_itr;
pf->dynamic_tx_itr = ixl_dynamic_tx_itr;
- pf->tx_itr = ixl_tx_itr;
- pf->rx_itr = ixl_rx_itr;
pf->dbg_mask = ixl_core_debug_mask;
pf->hw.debug_mask = ixl_shared_debug_mask;
@@ -313,8 +324,35 @@ ixl_save_pf_tunables(struct ixl_pf *pf)
device_printf(dev, "ring_size must be between %d and %d, "
"inclusive, and must be a multiple of %d\n",
IXL_MIN_RING, IXL_MAX_RING, IXL_RING_INCREMENT);
- return (EINVAL);
- }
+ device_printf(dev, "Using default value of %d instead\n",
+ IXL_DEFAULT_RING);
+ pf->ringsz = IXL_DEFAULT_RING;
+ } else
+ pf->ringsz = ixl_ring_size;
+
+ if (ixl_tx_itr < 0 || ixl_tx_itr > IXL_MAX_ITR) {
+ device_printf(dev, "Invalid tx_itr value of %d set!\n",
+ ixl_tx_itr);
+ device_printf(dev, "tx_itr must be between %d and %d, "
+ "inclusive\n",
+ 0, IXL_MAX_ITR);
+ device_printf(dev, "Using default value of %d instead\n",
+ IXL_ITR_4K);
+ pf->tx_itr = IXL_ITR_4K;
+ } else
+ pf->tx_itr = ixl_tx_itr;
+
+ if (ixl_rx_itr < 0 || ixl_rx_itr > IXL_MAX_ITR) {
+ device_printf(dev, "Invalid rx_itr value of %d set!\n",
+ ixl_rx_itr);
+ device_printf(dev, "rx_itr must be between %d and %d, "
+ "inclusive\n",
+ 0, IXL_MAX_ITR);
+ device_printf(dev, "Using default value of %d instead\n",
+ IXL_ITR_8K);
+ pf->rx_itr = IXL_ITR_8K;
+ } else
+ pf->rx_itr = ixl_rx_itr;
return (0);
}
@@ -529,7 +567,7 @@ ixl_attach(device_t dev)
}
/* Get the bus configuration and set the shared code's config */
- ixl_get_bus_info(hw, dev);
+ ixl_get_bus_info(pf);
/*
* In MSI-X mode, initialize the Admin Queue interrupt,
@@ -539,20 +577,50 @@ ixl_attach(device_t dev)
if (pf->msix > 1) {
error = ixl_setup_adminq_msix(pf);
if (error) {
- device_printf(dev, "ixl_setup_adminq_msix error: %d\n",
+ device_printf(dev, "ixl_setup_adminq_msix() error: %d\n",
error);
goto err_late;
}
error = ixl_setup_adminq_tq(pf);
if (error) {
- device_printf(dev, "ixl_setup_adminq_tq error: %d\n",
+ device_printf(dev, "ixl_setup_adminq_tq() error: %d\n",
error);
goto err_late;
}
ixl_configure_intr0_msix(pf);
- ixl_enable_adminq(hw);
+ ixl_enable_intr0(hw);
+
+ error = ixl_setup_queue_msix(vsi);
+ if (error)
+ device_printf(dev, "ixl_setup_queue_msix() error: %d\n",
+ error);
+ error = ixl_setup_queue_tqs(vsi);
+ if (error)
+ device_printf(dev, "ixl_setup_queue_tqs() error: %d\n",
+ error);
+ } else {
+ error = ixl_setup_legacy(pf);
+
+ error = ixl_setup_adminq_tq(pf);
+ if (error) {
+ device_printf(dev, "ixl_setup_adminq_tq() error: %d\n",
+ error);
+ goto err_late;
+ }
+
+ error = ixl_setup_queue_tqs(vsi);
+ if (error)
+ device_printf(dev, "ixl_setup_queue_tqs() error: %d\n",
+ error);
}
+ if (error) {
+ device_printf(dev, "interrupt setup error: %d\n", error);
+ }
+
+ /* Set initial advertised speed sysctl value */
+ ixl_get_initial_advertised_speeds(pf);
+
/* Initialize statistics & add sysctls */
ixl_add_device_sysctls(pf);
@@ -573,6 +641,27 @@ ixl_attach(device_t dev)
#ifdef DEV_NETMAP
ixl_netmap_attach(vsi);
#endif /* DEV_NETMAP */
+
+#ifdef IXL_IW
+ if (hw->func_caps.iwarp && ixl_enable_iwarp) {
+ pf->iw_enabled = (pf->iw_msix > 0) ? true : false;
+ if (pf->iw_enabled) {
+ error = ixl_iw_pf_attach(pf);
+ if (error) {
+ device_printf(dev,
+ "interfacing to iwarp driver failed: %d\n",
+ error);
+ goto err_late;
+ }
+ } else
+ device_printf(dev,
+ "iwarp disabled on this device (no msix vectors)\n");
+ } else {
+ pf->iw_enabled = false;
+ device_printf(dev, "The device is not iWARP enabled\n");
+ }
+#endif
+
INIT_DEBUGOUT("ixl_attach: end");
return (0);
@@ -609,7 +698,7 @@ ixl_detach(device_t dev)
struct i40e_hw *hw = &pf->hw;
struct ixl_vsi *vsi = &pf->vsi;
enum i40e_status_code status;
-#ifdef PCI_IOV
+#if defined(PCI_IOV) || defined(IXL_IW)
int error;
#endif
@@ -633,18 +722,19 @@ ixl_detach(device_t dev)
if (vsi->ifp->if_drv_flags & IFF_DRV_RUNNING)
ixl_stop(pf);
- ixl_free_queue_tqs(vsi);
-
/* Shutdown LAN HMC */
status = i40e_shutdown_lan_hmc(hw);
if (status)
device_printf(dev,
"Shutdown LAN HMC failed with code %d\n", status);
+ /* Teardown LAN queue resources */
+ ixl_teardown_queue_msix(vsi);
+ ixl_free_queue_tqs(vsi);
/* Shutdown admin queue */
- ixl_disable_adminq(hw);
- ixl_free_adminq_tq(pf);
+ ixl_disable_intr0(hw);
ixl_teardown_adminq_msix(pf);
+ ixl_free_adminq_tq(pf);
status = i40e_shutdown_adminq(hw);
if (status)
device_printf(dev,
@@ -657,6 +747,17 @@ ixl_detach(device_t dev)
EVENTHANDLER_DEREGISTER(vlan_unconfig, vsi->vlan_detach);
callout_drain(&pf->timer);
+
+#ifdef IXL_IW
+ if (ixl_enable_iwarp && pf->iw_enabled) {
+ error = ixl_iw_pf_detach(pf);
+ if (error == EBUSY) {
+ device_printf(dev, "iwarp in use; stop it first.\n");
+ return (error);
+ }
+ }
+#endif
+
#ifdef DEV_NETMAP
netmap_detach(vsi->ifp);
#endif /* DEV_NETMAP */
diff --git a/sys/dev/ixl/if_ixlv.c b/sys/dev/ixl/if_ixlv.c
index 9c70d79..ad09edf 100644
--- a/sys/dev/ixl/if_ixlv.c
+++ b/sys/dev/ixl/if_ixlv.c
@@ -38,7 +38,7 @@
/*********************************************************************
* Driver version
*********************************************************************/
-char ixlv_driver_version[] = "1.4.6-k";
+char ixlv_driver_version[] = "1.4.12-k";
/*********************************************************************
* PCI Device ID Table
@@ -53,10 +53,8 @@ char ixlv_driver_version[] = "1.4.6-k";
static ixl_vendor_info_t ixlv_vendor_info_array[] =
{
{I40E_INTEL_VENDOR_ID, I40E_DEV_ID_VF, 0, 0, 0},
- {I40E_INTEL_VENDOR_ID, I40E_DEV_ID_VF_HV, 0, 0, 0},
{I40E_INTEL_VENDOR_ID, I40E_DEV_ID_X722_VF, 0, 0, 0},
{I40E_INTEL_VENDOR_ID, I40E_DEV_ID_X722_A0_VF, 0, 0, 0},
- {I40E_INTEL_VENDOR_ID, I40E_DEV_ID_X722_VF_HV, 0, 0, 0},
/* required last entry */
{0, 0, 0, 0, 0}
};
@@ -90,6 +88,7 @@ static void ixlv_add_multi(struct ixl_vsi *);
static void ixlv_del_multi(struct ixl_vsi *);
static void ixlv_free_queues(struct ixl_vsi *);
static int ixlv_setup_interface(device_t, struct ixlv_sc *);
+static int ixlv_teardown_adminq_msix(struct ixlv_sc *);
static int ixlv_media_change(struct ifnet *);
static void ixlv_media_status(struct ifnet *, struct ifmediareq *);
@@ -170,7 +169,7 @@ static SYSCTL_NODE(_hw, OID_AUTO, ixlv, CTLFLAG_RD, 0,
** Number of descriptors per ring:
** - TX and RX are the same size
*/
-static int ixlv_ringsz = DEFAULT_RING;
+static int ixlv_ringsz = IXL_DEFAULT_RING;
TUNABLE_INT("hw.ixlv.ringsz", &ixlv_ringsz);
SYSCTL_INT(_hw_ixlv, OID_AUTO, ring_size, CTLFLAG_RDTUN,
&ixlv_ringsz, 0, "Descriptor Ring Size");
@@ -486,13 +485,14 @@ ixlv_detach(device_t dev)
{
struct ixlv_sc *sc = device_get_softc(dev);
struct ixl_vsi *vsi = &sc->vsi;
+ struct i40e_hw *hw = &sc->hw;
+ enum i40e_status_code status;
INIT_DBG_DEV(dev, "begin");
/* Make sure VLANS are not using driver */
if (vsi->ifp->if_vlantrunk != NULL) {
if_printf(vsi->ifp, "Vlan in use, detach first\n");
- INIT_DBG_DEV(dev, "end");
return (EBUSY);
}
@@ -513,16 +513,25 @@ ixlv_detach(device_t dev)
/* Drain VC mgr */
callout_drain(&sc->vc_mgr.callout);
- i40e_shutdown_adminq(&sc->hw);
+ ixlv_disable_adminq_irq(hw);
+ ixlv_teardown_adminq_msix(sc);
+ /* Drain admin queue taskqueue */
taskqueue_free(sc->tq);
+ status = i40e_shutdown_adminq(&sc->hw);
+ if (status != I40E_SUCCESS) {
+ device_printf(dev,
+ "i40e_shutdown_adminq() failed with status %s\n",
+ i40e_stat_str(hw, status));
+ }
+
if_free(vsi->ifp);
free(sc->vf_res, M_DEVBUF);
ixlv_free_pci_resources(sc);
ixlv_free_queues(vsi);
- mtx_destroy(&sc->mtx);
ixlv_free_filters(sc);
bus_generic_detach(dev);
+ mtx_destroy(&sc->mtx);
INIT_DBG_DEV(dev, "end");
return (0);
}
@@ -964,10 +973,10 @@ ixlv_init(void *arg)
/* Wait for init_locked to finish */
while (!(vsi->ifp->if_drv_flags & IFF_DRV_RUNNING)
- && ++retries < IXLV_AQ_MAX_ERR) {
+ && ++retries < IXLV_MAX_INIT_WAIT) {
i40e_msec_pause(25);
}
- if (retries >= IXLV_AQ_MAX_ERR) {
+ if (retries >= IXLV_MAX_INIT_WAIT) {
if_printf(vsi->ifp,
"Init failed to complete in allotted time!\n");
}
@@ -1178,7 +1187,7 @@ ixlv_init_msix(struct ixlv_sc *sc)
int rid, want, vectors, queues, available;
int auto_max_queues;
- rid = PCIR_BAR(IXL_BAR);
+ rid = PCIR_BAR(IXL_MSIX_BAR);
sc->msix_mem = bus_alloc_resource_any(dev,
SYS_RES_MEMORY, &rid, RF_ACTIVE);
if (!sc->msix_mem) {
@@ -1264,11 +1273,11 @@ ixlv_init_msix(struct ixlv_sc *sc)
}
/* Next we need to setup the vector for the Admin Queue */
- rid = 1; // zero vector + 1
+ rid = 1; /* zero vector + 1 */
sc->res = bus_alloc_resource_any(dev, SYS_RES_IRQ,
&rid, RF_SHAREABLE | RF_ACTIVE);
if (sc->res == NULL) {
- device_printf(dev,"Unable to allocate"
+ device_printf(dev, "Unable to allocate"
" bus resource: AQ interrupt \n");
goto fail;
}
@@ -1367,21 +1376,11 @@ ixlv_free_pci_resources(struct ixlv_sc *sc)
}
early:
- /* Clean the AdminQ interrupt */
- if (sc->tag != NULL) {
- bus_teardown_intr(dev, sc->res, sc->tag);
- sc->tag = NULL;
- }
- if (sc->res != NULL) {
- bus_release_resource(dev, SYS_RES_IRQ, 1, sc->res);
- sc->res = NULL;
- }
-
pci_release_msi(dev);
if (sc->msix_mem != NULL)
bus_release_resource(dev, SYS_RES_MEMORY,
- PCIR_BAR(IXL_BAR), sc->msix_mem);
+ PCIR_BAR(IXL_MSIX_BAR), sc->msix_mem);
if (sc->pci_mem != NULL)
bus_release_resource(dev, SYS_RES_MEMORY,
@@ -1651,8 +1650,6 @@ ixlv_setup_queues(struct ixlv_sc *sc)
que->num_desc = ixlv_ringsz;
que->me = i;
que->vsi = vsi;
- /* mark the queue as active */
- vsi->active_queues |= (u64)1 << que->me;
txr = &que->txr;
txr->que = que;
@@ -1855,6 +1852,35 @@ ixlv_find_mac_filter(struct ixlv_sc *sc, u8 *macaddr)
return (f);
}
+static int
+ixlv_teardown_adminq_msix(struct ixlv_sc *sc)
+{
+ device_t dev = sc->dev;
+ int error = 0;
+
+ if (sc->tag != NULL) {
+ bus_teardown_intr(dev, sc->res, sc->tag);
+ if (error) {
+ device_printf(dev, "bus_teardown_intr() for"
+ " interrupt 0 failed\n");
+ // return (ENXIO);
+ }
+ sc->tag = NULL;
+ }
+ if (sc->res != NULL) {
+ bus_release_resource(dev, SYS_RES_IRQ, 1, sc->res);
+ if (error) {
+ device_printf(dev, "bus_release_resource() for"
+ " interrupt 0 failed\n");
+ // return (ENXIO);
+ }
+ sc->res = NULL;
+ }
+
+ return (0);
+
+}
+
/*
** Admin Queue interrupt handler
*/
@@ -2025,7 +2051,7 @@ ixlv_set_queue_rx_itr(struct ixl_queue *que)
/* do an exponential smoothing */
rx_itr = (10 * rx_itr * rxr->itr) /
((9 * rx_itr) + rxr->itr);
- rxr->itr = rx_itr & IXL_MAX_ITR;
+ rxr->itr = min(rx_itr, IXL_MAX_ITR);
wr32(hw, I40E_VFINT_ITRN1(IXL_RX_ITR,
que->me), rxr->itr);
}
@@ -2098,7 +2124,7 @@ ixlv_set_queue_tx_itr(struct ixl_queue *que)
/* do an exponential smoothing */
tx_itr = (10 * tx_itr * txr->itr) /
((9 * tx_itr) + txr->itr);
- txr->itr = tx_itr & IXL_MAX_ITR;
+ txr->itr = min(tx_itr, IXL_MAX_ITR);
wr32(hw, I40E_VFINT_ITRN1(IXL_TX_ITR,
que->me), txr->itr);
}
@@ -2415,8 +2441,10 @@ ixlv_local_timer(void *arg)
struct ixl_vsi *vsi = &sc->vsi;
struct ixl_queue *que = vsi->queues;
device_t dev = sc->dev;
+ struct tx_ring *txr;
int hung = 0;
u32 mask, val;
+ s32 timer, new_timer;
IXLV_CORE_LOCK_ASSERT(sc);
@@ -2446,41 +2474,40 @@ ixlv_local_timer(void *arg)
I40E_VFINT_DYN_CTLN1_SWINT_TRIG_MASK |
I40E_VFINT_DYN_CTLN1_ITR_INDX_MASK);
- for (int i = 0; i < vsi->num_queues; i++,que++) {
- /* Any queues with outstanding work get a sw irq */
- if (que->busy)
- wr32(hw, I40E_VFINT_DYN_CTLN1(que->me), mask);
- /*
- ** Each time txeof runs without cleaning, but there
- ** are uncleaned descriptors it increments busy. If
- ** we get to 5 we declare it hung.
- */
- if (que->busy == IXL_QUEUE_HUNG) {
- ++hung;
- /* Mark the queue as inactive */
- vsi->active_queues &= ~((u64)1 << que->me);
- continue;
- } else {
- /* Check if we've come back from hung */
- if ((vsi->active_queues & ((u64)1 << que->me)) == 0)
- vsi->active_queues |= ((u64)1 << que->me);
- }
- if (que->busy >= IXL_MAX_TX_BUSY) {
- device_printf(dev,"Warning queue %d "
- "appears to be hung!\n", i);
- que->busy = IXL_QUEUE_HUNG;
- ++hung;
+ for (int i = 0; i < vsi->num_queues; i++, que++) {
+ txr = &que->txr;
+ timer = atomic_load_acq_32(&txr->watchdog_timer);
+ if (timer > 0) {
+ new_timer = timer - hz;
+ if (new_timer <= 0) {
+ atomic_store_rel_32(&txr->watchdog_timer, -1);
+ device_printf(dev, "WARNING: queue %d "
+ "appears to be hung!\n", que->me);
+ ++hung;
+ } else {
+ /*
+ * If this fails, that means something in the TX path has updated
+ * the watchdog, so it means the TX path is still working and
+ * the watchdog doesn't need to countdown.
+ */
+ atomic_cmpset_rel_32(&txr->watchdog_timer, timer, new_timer);
+ /* Any queues with outstanding work get a sw irq */
+ wr32(hw, I40E_VFINT_DYN_CTLN1(que->me), mask);
+ }
}
}
- /* Only reset when all queues show hung */
- if (hung == vsi->num_queues)
+ /* Reset when a queue shows hung */
+ if (hung)
goto hung;
+
callout_reset(&sc->timer, hz, ixlv_local_timer, sc);
return;
hung:
- device_printf(dev, "Local Timer: TX HANG DETECTED - Resetting!!\n");
+ device_printf(dev, "WARNING: Resetting!\n");
sc->init_state = IXLV_RESET_REQUIRED;
+ sc->watchdog_events++;
+ ixlv_stop(sc);
ixlv_init_locked(sc);
}
@@ -2635,7 +2662,7 @@ ixlv_config_rss_reg(struct ixlv_sc *sc)
if (rss_hash_config & RSS_HASHTYPE_RSS_UDP_IPV6)
set_hena |= ((u64)1 << I40E_FILTER_PCTYPE_NONF_IPV6_UDP);
#else
- set_hena = IXL_DEFAULT_RSS_HENA;
+ set_hena = IXL_DEFAULT_RSS_HENA_XL710;
#endif
hena = (u64)rd32(hw, I40E_VFQF_HENA(0)) |
((u64)rd32(hw, I40E_VFQF_HENA(1)) << 32);
@@ -2802,6 +2829,7 @@ ixlv_do_adminq_locked(struct ixlv_sc *sc)
u16 result = 0;
u32 reg, oldreg;
i40e_status ret;
+ bool aq_error = false;
IXLV_CORE_LOCK_ASSERT(sc);
@@ -2824,14 +2852,17 @@ ixlv_do_adminq_locked(struct ixlv_sc *sc)
if (reg & I40E_VF_ARQLEN1_ARQVFE_MASK) {
device_printf(dev, "ARQ VF Error detected\n");
reg &= ~I40E_VF_ARQLEN1_ARQVFE_MASK;
+ aq_error = true;
}
if (reg & I40E_VF_ARQLEN1_ARQOVFL_MASK) {
device_printf(dev, "ARQ Overflow Error detected\n");
reg &= ~I40E_VF_ARQLEN1_ARQOVFL_MASK;
+ aq_error = true;
}
if (reg & I40E_VF_ARQLEN1_ARQCRIT_MASK) {
device_printf(dev, "ARQ Critical Error detected\n");
reg &= ~I40E_VF_ARQLEN1_ARQCRIT_MASK;
+ aq_error = true;
}
if (oldreg != reg)
wr32(hw, hw->aq.arq.len, reg);
@@ -2840,18 +2871,28 @@ ixlv_do_adminq_locked(struct ixlv_sc *sc)
if (reg & I40E_VF_ATQLEN1_ATQVFE_MASK) {
device_printf(dev, "ASQ VF Error detected\n");
reg &= ~I40E_VF_ATQLEN1_ATQVFE_MASK;
+ aq_error = true;
}
if (reg & I40E_VF_ATQLEN1_ATQOVFL_MASK) {
device_printf(dev, "ASQ Overflow Error detected\n");
reg &= ~I40E_VF_ATQLEN1_ATQOVFL_MASK;
+ aq_error = true;
}
if (reg & I40E_VF_ATQLEN1_ATQCRIT_MASK) {
device_printf(dev, "ASQ Critical Error detected\n");
reg &= ~I40E_VF_ATQLEN1_ATQCRIT_MASK;
+ aq_error = true;
}
if (oldreg != reg)
wr32(hw, hw->aq.asq.len, reg);
+ if (aq_error) {
+ /* Need to reset adapter */
+ device_printf(dev, "WARNING: Resetting!\n");
+ sc->init_state = IXLV_RESET_REQUIRED;
+ ixlv_stop(sc);
+ ixlv_init_locked(sc);
+ }
ixlv_enable_adminq_irq(hw);
}
@@ -2978,6 +3019,9 @@ ixlv_add_sysctls(struct ixlv_sc *sc)
sizeof(struct ixl_queue),
ixlv_sysctl_qrx_tail_handler, "IU",
"Queue Receive Descriptor Tail");
+ SYSCTL_ADD_INT(ctx, queue_list, OID_AUTO, "watchdog_timer",
+ CTLFLAG_RD, &(txr.watchdog_timer), 0,
+ "Ticks before watchdog event is triggered");
#endif
}
}
diff --git a/sys/dev/ixl/ixl.h b/sys/dev/ixl/ixl.h
index bfb708a..b491234 100644
--- a/sys/dev/ixl/ixl.h
+++ b/sys/dev/ixl/ixl.h
@@ -39,6 +39,7 @@
#include "opt_inet.h"
#include "opt_inet6.h"
#include "opt_rss.h"
+#include "opt_ixl.h"
#include <sys/param.h>
#include <sys/systm.h>
@@ -51,6 +52,7 @@
#include <sys/module.h>
#include <sys/sockio.h>
#include <sys/eventhandler.h>
+#include <sys/syslog.h>
#include <net/if.h>
#include <net/if_var.h>
@@ -170,6 +172,7 @@ enum ixl_dbg_mask {
IXL_DBG_IOV_VC = 0x00002000,
IXL_DBG_SWITCH_INFO = 0x00010000,
+ IXL_DBG_I2C = 0x00020000,
IXL_DBG_ALL = 0xFFFFFFFF
};
@@ -184,7 +187,7 @@ enum ixl_dbg_mask {
* Tx descriptors are always 16 bytes, but Rx descriptors can be 32 bytes.
* The driver currently always uses 32 byte Rx descriptors.
*/
-#define DEFAULT_RING 1024
+#define IXL_DEFAULT_RING 1024
#define IXL_MAX_RING 8160
#define IXL_MIN_RING 32
#define IXL_RING_INCREMENT 32
@@ -216,7 +219,7 @@ enum ixl_dbg_mask {
#define MAX_MULTICAST_ADDR 128
-#define IXL_BAR 3
+#define IXL_MSIX_BAR 3
#define IXL_ADM_LIMIT 2
#define IXL_TSO_SIZE 65535
#define IXL_AQ_BUF_SZ ((u32) 4096)
@@ -231,6 +234,7 @@ enum ixl_dbg_mask {
#define IXL_MAX_TSO_SEGS 128
#define IXL_SPARSE_CHAIN 6
#define IXL_QUEUE_HUNG 0x80000000
+#define IXL_MIN_TSO_MSS 64
#define IXL_RSS_KEY_SIZE_REG 13
#define IXL_RSS_KEY_SIZE (IXL_RSS_KEY_SIZE_REG * 4)
@@ -252,13 +256,15 @@ enum ixl_dbg_mask {
#define IXL_NVM_VERSION_HI_MASK (0xf << IXL_NVM_VERSION_HI_SHIFT)
/*
- * Interrupt Moderation parameters
+ * Interrupt Moderation parameters
+ * Multiply ITR values by 2 for real ITR value
*/
-#define IXL_MAX_ITR 0x07FF
+#define IXL_MAX_ITR 0x0FF0
#define IXL_ITR_100K 0x0005
#define IXL_ITR_20K 0x0019
#define IXL_ITR_8K 0x003E
#define IXL_ITR_4K 0x007A
+#define IXL_ITR_1K 0x01F4
#define IXL_ITR_DYNAMIC 0x8000
#define IXL_LOW_LATENCY 0
#define IXL_AVE_LATENCY 1
@@ -311,7 +317,7 @@ enum ixl_dbg_mask {
#define IXL_END_OF_INTR_LNKLST 0x7FF
-#define IXL_DEFAULT_RSS_HENA (\
+#define IXL_DEFAULT_RSS_HENA_BASE (\
BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_UDP) | \
BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_TCP) | \
BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_SCTP) | \
@@ -324,6 +330,17 @@ enum ixl_dbg_mask {
BIT_ULL(I40E_FILTER_PCTYPE_FRAG_IPV6) | \
BIT_ULL(I40E_FILTER_PCTYPE_L2_PAYLOAD))
+#define IXL_DEFAULT_RSS_HENA_XL710 IXL_DEFAULT_RSS_HENA_BASE
+
+#define IXL_DEFAULT_RSS_HENA_X722 (\
+ IXL_DEFAULT_RSS_HENA_BASE | \
+ BIT_ULL(I40E_FILTER_PCTYPE_NONF_UNICAST_IPV4_UDP) | \
+ BIT_ULL(I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV4_UDP) | \
+ BIT_ULL(I40E_FILTER_PCTYPE_NONF_UNICAST_IPV6_UDP) | \
+ BIT_ULL(I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV6_UDP) | \
+ BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_TCP_SYN_NO_ACK) | \
+ BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV6_TCP_SYN_NO_ACK))
+
#define IXL_TX_LOCK(_sc) mtx_lock(&(_sc)->mtx)
#define IXL_TX_UNLOCK(_sc) mtx_unlock(&(_sc)->mtx)
#define IXL_TX_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->mtx)
@@ -429,6 +446,7 @@ struct tx_ring {
bus_dma_tag_t tso_tag;
char mtx_name[16];
struct buf_ring *br;
+ s32 watchdog_timer;
/* Used for Dynamic ITR calculation */
u32 packets;
@@ -488,7 +506,6 @@ struct ixl_queue {
struct resource *res;
void *tag;
int num_desc; /* both tx and rx */
- int busy;
struct tx_ring txr;
struct rx_ring rxr;
struct task task;
@@ -503,6 +520,7 @@ struct ixl_queue {
u64 mbuf_pkt_failed;
u64 tx_dmamap_failed;
u64 dropped_pkts;
+ u64 mss_too_small;
};
/*
@@ -563,7 +581,6 @@ struct ixl_vsi {
u64 hw_filters_add;
/* Misc. */
- u64 active_queues;
u64 flags;
struct sysctl_oid *vsi_node;
};
diff --git a/sys/dev/ixl/ixl_iw.c b/sys/dev/ixl/ixl_iw.c
new file mode 100644
index 0000000..e1b99e4
--- /dev/null
+++ b/sys/dev/ixl/ixl_iw.c
@@ -0,0 +1,469 @@
+/******************************************************************************
+
+ Copyright (c) 2013-2015, Intel Corporation
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+******************************************************************************/
+/*$FreeBSD$*/
+
+#include "ixl.h"
+#include "ixl_pf.h"
+#include "ixl_iw.h"
+#include "ixl_iw_int.h"
+
+#ifdef IXL_IW
+
+#define IXL_IW_VEC_BASE(pf) ((pf)->msix - (pf)->iw_msix)
+#define IXL_IW_VEC_COUNT(pf) ((pf)->iw_msix)
+#define IXL_IW_VEC_LIMIT(pf) ((pf)->msix)
+
+extern int ixl_enable_iwarp;
+
+static struct ixl_iw_state ixl_iw;
+static int ixl_iw_ref_cnt;
+
+static void
+ixl_iw_pf_msix_reset(struct ixl_pf *pf)
+{
+ struct i40e_hw *hw = &pf->hw;
+ u32 reg;
+ int vec;
+
+ for (vec = IXL_IW_VEC_BASE(pf); vec < IXL_IW_VEC_LIMIT(pf); vec++) {
+ reg = I40E_PFINT_LNKLSTN_FIRSTQ_INDX_MASK;
+ wr32(hw, I40E_PFINT_LNKLSTN(vec - 1), reg);
+ }
+
+ return;
+}
+
+static void
+ixl_iw_invoke_op(void *context, int pending)
+{
+ struct ixl_iw_pf_entry *pf_entry = (struct ixl_iw_pf_entry *)context;
+ struct ixl_iw_pf info;
+ bool initialize;
+ int err;
+
+ INIT_DEBUGOUT("begin");
+
+ mtx_lock(&ixl_iw.mtx);
+ if ((pf_entry->state.iw_scheduled == IXL_IW_PF_STATE_ON) &&
+ (pf_entry->state.iw_current == IXL_IW_PF_STATE_OFF))
+ initialize = true;
+ else if ((pf_entry->state.iw_scheduled == IXL_IW_PF_STATE_OFF) &&
+ (pf_entry->state.iw_current == IXL_IW_PF_STATE_ON))
+ initialize = false;
+ else {
+ /* nothing to be done, so finish here */
+ mtx_unlock(&ixl_iw.mtx);
+ return;
+ }
+ info = pf_entry->pf_info;
+ mtx_unlock(&ixl_iw.mtx);
+
+ if (initialize) {
+ err = ixl_iw.ops->init(&info);
+ if (err)
+ device_printf(pf_entry->pf->dev,
+ "%s: failed to initialize iwarp (err %d)\n",
+ __func__, err);
+ else
+ pf_entry->state.iw_current = IXL_IW_PF_STATE_ON;
+ } else {
+ err = ixl_iw.ops->stop(&info);
+ if (err)
+ device_printf(pf_entry->pf->dev,
+ "%s: failed to stop iwarp (err %d)\n",
+ __func__, err);
+ else {
+ ixl_iw_pf_msix_reset(pf_entry->pf);
+ pf_entry->state.iw_current = IXL_IW_PF_STATE_OFF;
+ }
+ }
+ return;
+}
+
+static void
+ixl_iw_uninit(void)
+{
+ INIT_DEBUGOUT("begin");
+
+ mtx_destroy(&ixl_iw.mtx);
+
+ return;
+}
+
+static void
+ixl_iw_init(void)
+{
+ INIT_DEBUGOUT("begin");
+
+ LIST_INIT(&ixl_iw.pfs);
+ mtx_init(&ixl_iw.mtx, "ixl_iw_pfs", NULL, MTX_DEF);
+ ixl_iw.registered = false;
+
+ return;
+}
+
+/******************************************************************************
+ * if_ixl internal API
+ *****************************************************************************/
+
+int
+ixl_iw_pf_init(struct ixl_pf *pf)
+{
+ struct ixl_iw_pf_entry *pf_entry;
+ struct ixl_iw_pf *pf_info;
+ int err = 0;
+
+ INIT_DEBUGOUT("begin");
+
+ mtx_lock(&ixl_iw.mtx);
+
+ LIST_FOREACH(pf_entry, &ixl_iw.pfs, node)
+ if (pf_entry->pf == pf)
+ break;
+ if (pf_entry == NULL) {
+ /* attempt to initialize PF not yet attached - sth is wrong */
+ device_printf(pf->dev, "%s: PF not found\n", __func__);
+ err = ENOENT;
+ goto out;
+ }
+
+ pf_info = &pf_entry->pf_info;
+
+ pf_info->handle = (void *)pf;
+
+ pf_info->ifp = pf->vsi.ifp;
+ pf_info->dev = pf->dev;
+ pf_info->pci_mem = pf->pci_mem;
+ pf_info->pf_id = pf->hw.pf_id;
+ pf_info->mtu = pf->vsi.ifp->if_mtu;
+
+ pf_info->iw_msix.count = IXL_IW_VEC_COUNT(pf);
+ pf_info->iw_msix.base = IXL_IW_VEC_BASE(pf);
+
+ for (int i = 0; i < IXL_IW_MAX_USER_PRIORITY; i++)
+ pf_info->qs_handle[i] = le16_to_cpu(pf->vsi.info.qs_handle[0]);
+
+ pf_entry->state.pf = IXL_IW_PF_STATE_ON;
+ if (ixl_iw.registered) {
+ pf_entry->state.iw_scheduled = IXL_IW_PF_STATE_ON;
+ taskqueue_enqueue(ixl_iw.tq, &pf_entry->iw_task);
+ }
+
+out:
+ mtx_unlock(&ixl_iw.mtx);
+
+ return (err);
+}
+
+void
+ixl_iw_pf_stop(struct ixl_pf *pf)
+{
+ struct ixl_iw_pf_entry *pf_entry;
+
+ INIT_DEBUGOUT("begin");
+
+ mtx_lock(&ixl_iw.mtx);
+
+ LIST_FOREACH(pf_entry, &ixl_iw.pfs, node)
+ if (pf_entry->pf == pf)
+ break;
+ if (pf_entry == NULL) {
+ /* attempt to stop PF which has not been attached - sth is wrong */
+ device_printf(pf->dev, "%s: PF not found\n", __func__);
+ goto out;
+ }
+
+ pf_entry->state.pf = IXL_IW_PF_STATE_OFF;
+ if (pf_entry->state.iw_scheduled == IXL_IW_PF_STATE_ON) {
+ pf_entry->state.iw_scheduled = IXL_IW_PF_STATE_OFF;
+ if (ixl_iw.registered)
+ taskqueue_enqueue(ixl_iw.tq, &pf_entry->iw_task);
+ }
+
+out:
+ mtx_unlock(&ixl_iw.mtx);
+
+ return;
+}
+
+int
+ixl_iw_pf_attach(struct ixl_pf *pf)
+{
+ struct ixl_iw_pf_entry *pf_entry;
+ int err = 0;
+
+ INIT_DEBUGOUT("begin");
+
+ if (ixl_iw_ref_cnt == 0)
+ ixl_iw_init();
+
+ mtx_lock(&ixl_iw.mtx);
+
+ LIST_FOREACH(pf_entry, &ixl_iw.pfs, node)
+ if (pf_entry->pf == pf) {
+ device_printf(pf->dev, "%s: PF already exists\n",
+ __func__);
+ err = EEXIST;
+ goto out;
+ }
+
+ pf_entry = malloc(sizeof(struct ixl_iw_pf_entry),
+ M_DEVBUF, M_NOWAIT | M_ZERO);
+ if (pf_entry == NULL) {
+ device_printf(pf->dev,
+ "%s: failed to allocate memory to attach new PF\n",
+ __func__);
+ err = ENOMEM;
+ goto out;
+ }
+ pf_entry->pf = pf;
+ pf_entry->state.pf = IXL_IW_PF_STATE_OFF;
+ pf_entry->state.iw_scheduled = IXL_IW_PF_STATE_OFF;
+ pf_entry->state.iw_current = IXL_IW_PF_STATE_OFF;
+
+ LIST_INSERT_HEAD(&ixl_iw.pfs, pf_entry, node);
+ ixl_iw_ref_cnt++;
+
+ TASK_INIT(&pf_entry->iw_task, 0, ixl_iw_invoke_op, pf_entry);
+out:
+ mtx_unlock(&ixl_iw.mtx);
+
+ return (err);
+}
+
+int
+ixl_iw_pf_detach(struct ixl_pf *pf)
+{
+ struct ixl_iw_pf_entry *pf_entry;
+ int err = 0;
+
+ INIT_DEBUGOUT("begin");
+
+ mtx_lock(&ixl_iw.mtx);
+
+ LIST_FOREACH(pf_entry, &ixl_iw.pfs, node)
+ if (pf_entry->pf == pf)
+ break;
+ if (pf_entry == NULL) {
+ /* attempt to stop PF which has not been attached - sth is wrong */
+ device_printf(pf->dev, "%s: PF not found\n", __func__);
+ err = ENOENT;
+ goto out;
+ }
+
+ if (pf_entry->state.pf != IXL_IW_PF_STATE_OFF) {
+ /* attempt to detach PF which has not yet been stopped - sth is wrong */
+ device_printf(pf->dev, "%s: failed - PF is still active\n",
+ __func__);
+ err = EBUSY;
+ goto out;
+ }
+ LIST_REMOVE(pf_entry, node);
+ free(pf_entry, M_DEVBUF);
+ ixl_iw_ref_cnt--;
+
+out:
+ mtx_unlock(&ixl_iw.mtx);
+
+ if (ixl_iw_ref_cnt == 0)
+ ixl_iw_uninit();
+
+ return (err);
+}
+
+
+/******************************************************************************
+ * API exposed to iw_ixl module
+ *****************************************************************************/
+
+int
+ixl_iw_pf_reset(void *pf_handle)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)pf_handle;
+
+ INIT_DEBUGOUT("begin");
+
+ IXL_PF_LOCK(pf);
+ ixl_init_locked(pf);
+ IXL_PF_UNLOCK(pf);
+
+ return (0);
+}
+
+int
+ixl_iw_pf_msix_init(void *pf_handle,
+ struct ixl_iw_msix_mapping *msix_info)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)pf_handle;
+ struct i40e_hw *hw = &pf->hw;
+ u32 reg;
+ int vec, i;
+
+ INIT_DEBUGOUT("begin");
+
+ if ((msix_info->aeq_vector < IXL_IW_VEC_BASE(pf)) ||
+ (msix_info->aeq_vector >= IXL_IW_VEC_LIMIT(pf))) {
+ printf("%s: invalid MSIX vector (%i) for AEQ\n",
+ __func__, msix_info->aeq_vector);
+ return (EINVAL);
+ }
+ reg = I40E_PFINT_AEQCTL_CAUSE_ENA_MASK |
+ (msix_info->aeq_vector << I40E_PFINT_AEQCTL_MSIX_INDX_SHIFT) |
+ (msix_info->itr_indx << I40E_PFINT_AEQCTL_ITR_INDX_SHIFT);
+ wr32(hw, I40E_PFINT_AEQCTL, reg);
+
+ for (vec = IXL_IW_VEC_BASE(pf); vec < IXL_IW_VEC_LIMIT(pf); vec++) {
+ for (i = 0; i < msix_info->ceq_cnt; i++)
+ if (msix_info->ceq_vector[i] == vec)
+ break;
+ if (i == msix_info->ceq_cnt) {
+ /* this vector has no CEQ mapped */
+ reg = I40E_PFINT_LNKLSTN_FIRSTQ_INDX_MASK;
+ wr32(hw, I40E_PFINT_LNKLSTN(vec - 1), reg);
+ } else {
+ reg = (i & I40E_PFINT_LNKLSTN_FIRSTQ_INDX_MASK) |
+ (I40E_QUEUE_TYPE_PE_CEQ <<
+ I40E_PFINT_LNKLSTN_FIRSTQ_TYPE_SHIFT);
+ wr32(hw, I40E_PFINT_LNKLSTN(vec - 1), reg);
+
+ reg = I40E_PFINT_CEQCTL_CAUSE_ENA_MASK |
+ (vec << I40E_PFINT_CEQCTL_MSIX_INDX_SHIFT) |
+ (msix_info->itr_indx <<
+ I40E_PFINT_CEQCTL_ITR_INDX_SHIFT) |
+ (IXL_QUEUE_EOL <<
+ I40E_PFINT_CEQCTL_NEXTQ_INDX_SHIFT);
+ wr32(hw, I40E_PFINT_CEQCTL(i), reg);
+ }
+ }
+
+ return (0);
+}
+
+int
+ixl_iw_register(struct ixl_iw_ops *ops)
+{
+ struct ixl_iw_pf_entry *pf_entry;
+ int err = 0;
+
+ INIT_DEBUGOUT("begin");
+
+ if (ixl_enable_iwarp == 0) {
+ printf("%s: enable_iwarp is off, registering dropped\n",
+ __func__);
+ return (EACCES);
+ }
+
+ if ((ops->init == NULL) || (ops->stop == NULL)) {
+ printf("%s: invalid iwarp driver ops\n", __func__);
+ return (EINVAL);
+ }
+
+ mtx_lock(&ixl_iw.mtx);
+
+ if (ixl_iw.registered) {
+ printf("%s: iwarp driver already registered\n", __func__);
+ err = EBUSY;
+ goto out;
+ }
+
+ ixl_iw.tq = taskqueue_create("ixl_iw", M_NOWAIT,
+ taskqueue_thread_enqueue, &ixl_iw.tq);
+ if (ixl_iw.tq == NULL) {
+ printf("%s: failed to create queue\n", __func__);
+ err = ENOMEM;
+ goto out;
+ }
+ taskqueue_start_threads(&ixl_iw.tq, 1, PI_NET, "ixl iw");
+
+ ixl_iw.ops = malloc(sizeof(struct ixl_iw_ops),
+ M_DEVBUF, M_NOWAIT | M_ZERO);
+ if (ixl_iw.ops == NULL) {
+ printf("%s: failed to allocate memory\n", __func__);
+ taskqueue_free(ixl_iw.tq);
+ err = ENOMEM;
+ goto out;
+ }
+
+ ixl_iw.ops->init = ops->init;
+ ixl_iw.ops->stop = ops->stop;
+ ixl_iw.registered = true;
+
+ LIST_FOREACH(pf_entry, &ixl_iw.pfs, node)
+ if (pf_entry->state.pf == IXL_IW_PF_STATE_ON) {
+ pf_entry->state.iw_scheduled = IXL_IW_PF_STATE_ON;
+ taskqueue_enqueue(ixl_iw.tq, &pf_entry->iw_task);
+ }
+
+out:
+ mtx_unlock(&ixl_iw.mtx);
+
+ return (err);
+}
+
+int
+ixl_iw_unregister(void)
+{
+ struct ixl_iw_pf_entry *pf_entry;
+
+ INIT_DEBUGOUT("begin");
+
+ mtx_lock(&ixl_iw.mtx);
+
+ if (!ixl_iw.registered) {
+ printf("%s: failed - iwarp driver has not been registered\n",
+ __func__);
+ mtx_unlock(&ixl_iw.mtx);
+ return (ENOENT);
+ }
+
+ LIST_FOREACH(pf_entry, &ixl_iw.pfs, node)
+ if (pf_entry->state.iw_scheduled == IXL_IW_PF_STATE_ON) {
+ pf_entry->state.iw_scheduled = IXL_IW_PF_STATE_OFF;
+ taskqueue_enqueue(ixl_iw.tq, &pf_entry->iw_task);
+ }
+
+ ixl_iw.registered = false;
+
+ mtx_unlock(&ixl_iw.mtx);
+
+ LIST_FOREACH(pf_entry, &ixl_iw.pfs, node)
+ taskqueue_drain(ixl_iw.tq, &pf_entry->iw_task);
+ taskqueue_free(ixl_iw.tq);
+ ixl_iw.tq = NULL;
+ free(ixl_iw.ops, M_DEVBUF);
+ ixl_iw.ops = NULL;
+
+ return (0);
+}
+
+#endif /* IXL_IW */
diff --git a/sys/dev/ixl/ixl_iw.h b/sys/dev/ixl/ixl_iw.h
new file mode 100644
index 0000000..7f4de0a
--- /dev/null
+++ b/sys/dev/ixl/ixl_iw.h
@@ -0,0 +1,75 @@
+/******************************************************************************
+
+ Copyright (c) 2013-2015, Intel Corporation
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+******************************************************************************/
+/*$FreeBSD$*/
+
+#ifndef _IXL_IW_H_
+#define _IXL_IW_H_
+
+#define IXL_IW_MAX_USER_PRIORITY 8
+
+
+struct ixl_iw_msix_mapping {
+ u8 itr_indx;
+ int aeq_vector;
+ int ceq_cnt;
+ int *ceq_vector;
+};
+
+struct ixl_iw_msix {
+ int base;
+ int count;
+};
+
+struct ixl_iw_pf {
+ void *handle;
+ struct ifnet *ifp;
+ device_t dev;
+ struct resource *pci_mem;
+ u8 pf_id;
+ u16 mtu;
+ struct ixl_iw_msix iw_msix;
+ u16 qs_handle[IXL_IW_MAX_USER_PRIORITY];
+};
+
+struct ixl_iw_ops {
+ int (*init)(struct ixl_iw_pf *pf_info);
+ int (*stop)(struct ixl_iw_pf *pf_info);
+};
+
+int ixl_iw_pf_reset(void *pf_handle);
+int ixl_iw_pf_msix_init(void *pf_handle,
+ struct ixl_iw_msix_mapping *msix_info);
+int ixl_iw_register(struct ixl_iw_ops *iw_ops);
+int ixl_iw_unregister(void);
+
+#endif /* _IXL_IW_H_ */
diff --git a/sys/dev/ixl/ixl_iw_int.h b/sys/dev/ixl/ixl_iw_int.h
new file mode 100644
index 0000000..12fb6de
--- /dev/null
+++ b/sys/dev/ixl/ixl_iw_int.h
@@ -0,0 +1,71 @@
+/******************************************************************************
+
+ Copyright (c) 2013-2015, Intel Corporation
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+******************************************************************************/
+/*$FreeBSD$*/
+
+#ifndef _IXL_IW_INT_H_
+#define _IXL_IW_INT_H_
+
+enum ixl_iw_pf_state {
+ IXL_IW_PF_STATE_OFF,
+ IXL_IW_PF_STATE_ON
+};
+
+struct ixl_iw_pf_entry_state {
+ enum ixl_iw_pf_state pf;
+ enum ixl_iw_pf_state iw_scheduled;
+ enum ixl_iw_pf_state iw_current;
+};
+
+struct ixl_iw_pf_entry {
+ LIST_ENTRY(ixl_iw_pf_entry) node;
+ struct ixl_pf *pf;
+ struct ixl_iw_pf_entry_state state;
+ struct ixl_iw_pf pf_info;
+ struct task iw_task;
+};
+
+LIST_HEAD(ixl_iw_pfs_head, ixl_iw_pf_entry);
+struct ixl_iw_state {
+ struct ixl_iw_ops *ops;
+ bool registered;
+ struct ixl_iw_pfs_head pfs;
+ struct mtx mtx;
+ struct taskqueue *tq;
+};
+
+int ixl_iw_pf_init(struct ixl_pf *pf);
+void ixl_iw_pf_stop(struct ixl_pf *pf);
+int ixl_iw_pf_attach(struct ixl_pf *pf);
+int ixl_iw_pf_detach(struct ixl_pf *pf);
+
+#endif /* _IXL_IW_INT_H_ */
diff --git a/sys/dev/ixl/ixl_pf.h b/sys/dev/ixl/ixl_pf.h
index 1c31a94..5408300 100644
--- a/sys/dev/ixl/ixl_pf.h
+++ b/sys/dev/ixl/ixl_pf.h
@@ -79,8 +79,14 @@ struct ixl_pf {
struct callout timer;
int msix;
+#ifdef IXL_IW
+ int iw_msix;
+ bool iw_enabled;
+#endif
int if_flags;
int state;
+ bool init_in_progress;
+ u8 supported_speeds;
struct ixl_pf_qmgr qmgr;
struct ixl_pf_qtag qtag;
@@ -107,6 +113,7 @@ struct ixl_pf {
int advertised_speed;
int fc; /* link flow ctrl setting */
enum ixl_dbg_mask dbg_mask;
+ bool has_i2c;
/* Misc stats maintained by the driver */
u64 watchdog_events;
@@ -145,8 +152,10 @@ struct ixl_pf {
"\t 0x2 - advertise 1G\n" \
"\t 0x4 - advertise 10G\n" \
"\t 0x8 - advertise 20G\n" \
-"\t0x10 - advertise 40G\n\n" \
-"Set to 0 to disable link."
+"\t0x10 - advertise 25G\n" \
+"\t0x20 - advertise 40G\n\n" \
+"Set to 0 to disable link.\n" \
+"Use \"sysctl -x\" to view flags properly."
#define IXL_SYSCTL_HELP_FC \
"\nSet flow control mode using the values below.\n" \
@@ -171,10 +180,11 @@ static char *ixl_fc_string[6] = {
static MALLOC_DEFINE(M_IXL, "ixl", "ixl driver allocations");
/*** Functions / Macros ***/
-#define I40E_VC_DEBUG(pf, level, ...) \
- do { \
- if ((pf)->vc_debug_lvl >= (level)) \
- device_printf((pf)->dev, __VA_ARGS__); \
+/* Adjust the level here to 10 or over to print stats messages */
+#define I40E_VC_DEBUG(p, level, ...) \
+ do { \
+ if (level < 10) \
+ ixl_dbg(p, IXL_DBG_IOV_VC, ##__VA_ARGS__); \
} while (0)
#define i40e_send_vf_nack(pf, vf, op, st) \
@@ -187,16 +197,25 @@ static MALLOC_DEFINE(M_IXL, "ixl", "ixl driver allocations");
#define IXL_PF_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->pf_mtx)
#define IXL_PF_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->pf_mtx, MA_OWNED)
+/* Debug printing */
+#define ixl_dbg(p, m, s, ...) ixl_debug_core(p, m, s, ##__VA_ARGS__)
+void ixl_debug_core(struct ixl_pf *, enum ixl_dbg_mask, char *, ...);
+
/* For stats sysctl naming */
#define QUEUE_NAME_LEN 32
+/* For netmap(4) compatibility */
+#define ixl_disable_intr(vsi) ixl_disable_rings_intr(vsi)
+
/*
* PF-only function declarations
*/
void ixl_set_busmaster(device_t);
+void ixl_set_msix_enable(device_t);
int ixl_setup_interface(device_t, struct ixl_vsi *);
void ixl_print_nvm_cmd(device_t, struct i40e_nvm_access *);
+char * ixl_aq_speed_to_str(enum i40e_aq_link_speed);
void ixl_handle_que(void *context, int pending);
@@ -223,13 +242,10 @@ void ixl_media_status(struct ifnet *, struct ifmediareq *);
int ixl_media_change(struct ifnet *);
int ixl_ioctl(struct ifnet *, u_long, caddr_t);
-void ixl_enable_adminq(struct i40e_hw *);
-void ixl_get_bus_info(struct i40e_hw *, device_t);
-void ixl_disable_adminq(struct i40e_hw *);
void ixl_enable_queue(struct i40e_hw *, int);
void ixl_disable_queue(struct i40e_hw *, int);
-void ixl_enable_legacy(struct i40e_hw *);
-void ixl_disable_legacy(struct i40e_hw *);
+void ixl_enable_intr0(struct i40e_hw *);
+void ixl_disable_intr0(struct i40e_hw *);
void ixl_nvm_version_str(struct i40e_hw *hw, struct sbuf *buf);
void ixl_stat_update48(struct i40e_hw *, u32, u32, bool,
u64 *, u64 *);
@@ -239,6 +255,7 @@ void ixl_stat_update32(struct i40e_hw *, u32, bool,
void ixl_stop(struct ixl_pf *);
void ixl_add_vsi_sysctls(struct ixl_pf *pf, struct ixl_vsi *vsi, struct sysctl_ctx_list *ctx, const char *sysctl_name);
int ixl_get_hw_capabilities(struct ixl_pf *);
+void ixl_link_up_msg(struct ixl_pf *);
void ixl_update_link_status(struct ixl_pf *);
int ixl_allocate_pci_resources(struct ixl_pf *);
int ixl_setup_stations(struct ixl_pf *);
@@ -256,7 +273,7 @@ int ixl_teardown_adminq_msix(struct ixl_pf *);
void ixl_configure_intr0_msix(struct ixl_pf *);
void ixl_configure_queue_intr_msix(struct ixl_pf *);
void ixl_free_adminq_tq(struct ixl_pf *);
-int ixl_assign_vsi_legacy(struct ixl_pf *);
+int ixl_setup_legacy(struct ixl_pf *);
int ixl_init_msix(struct ixl_pf *);
void ixl_configure_itr(struct ixl_pf *);
void ixl_configure_legacy(struct ixl_pf *);
@@ -271,7 +288,9 @@ void ixl_handle_mdd_event(struct ixl_pf *);
void ixl_add_hw_stats(struct ixl_pf *);
void ixl_update_stats_counters(struct ixl_pf *);
void ixl_pf_reset_stats(struct ixl_pf *);
-void ixl_dbg(struct ixl_pf *, enum ixl_dbg_mask, char *, ...);
+void ixl_get_bus_info(struct ixl_pf *pf);
+int ixl_aq_get_link_status(struct ixl_pf *,
+ struct i40e_aqc_get_link_status *);
int ixl_handle_nvmupd_cmd(struct ixl_pf *, struct ifdrv *);
void ixl_handle_empr_reset(struct ixl_pf *);
@@ -295,10 +314,9 @@ int ixl_enable_rx_ring(struct ixl_pf *, struct ixl_pf_qtag *, u16);
int ixl_enable_ring(struct ixl_pf *pf, struct ixl_pf_qtag *, u16);
void ixl_update_eth_stats(struct ixl_vsi *);
-void ixl_disable_intr(struct ixl_vsi *);
void ixl_cap_txcsum_tso(struct ixl_vsi *, struct ifnet *, int);
int ixl_initialize_vsi(struct ixl_vsi *);
-void ixl_add_ifmedia(struct ixl_vsi *, u32);
+void ixl_add_ifmedia(struct ixl_vsi *, u64);
int ixl_setup_queue_msix(struct ixl_vsi *);
int ixl_setup_queue_tqs(struct ixl_vsi *);
int ixl_teardown_queue_msix(struct ixl_vsi *);
@@ -319,4 +337,13 @@ void ixl_free_mac_filters(struct ixl_vsi *vsi);
void ixl_update_vsi_stats(struct ixl_vsi *);
void ixl_vsi_reset_stats(struct ixl_vsi *);
+/*
+ * I2C Function prototypes
+ */
+int ixl_find_i2c_interface(struct ixl_pf *);
+s32 ixl_read_i2c_byte(struct ixl_pf *pf, u8 byte_offset,
+ u8 dev_addr, u8 *data);
+s32 ixl_write_i2c_byte(struct ixl_pf *pf, u8 byte_offset,
+ u8 dev_addr, u8 data);
+
#endif /* _IXL_PF_H_ */
diff --git a/sys/dev/ixl/ixl_pf_i2c.c b/sys/dev/ixl/ixl_pf_i2c.c
new file mode 100644
index 0000000..2353127
--- /dev/null
+++ b/sys/dev/ixl/ixl_pf_i2c.c
@@ -0,0 +1,605 @@
+/******************************************************************************
+
+ Copyright (c) 2013-2015, Intel Corporation
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+******************************************************************************/
+/*$FreeBSD$*/
+
+#include "ixl_pf.h"
+
+#define IXL_I2C_T_RISE 1
+#define IXL_I2C_T_FALL 1
+#define IXL_I2C_T_SU_DATA 1
+#define IXL_I2C_T_SU_STA 5
+#define IXL_I2C_T_SU_STO 4
+#define IXL_I2C_T_HD_STA 4
+#define IXL_I2C_T_LOW 5
+#define IXL_I2C_T_HIGH 4
+#define IXL_I2C_T_BUF 5
+#define IXL_I2C_CLOCK_STRETCHING_TIMEOUT 500
+
+#define IXL_I2C_REG(_hw) \
+ I40E_GLGEN_I2CPARAMS(((struct i40e_osdep *)(_hw)->back)->i2c_intfc_num)
+
+
+static s32 ixl_set_i2c_data(struct ixl_pf *pf, u32 *i2cctl, bool data);
+static bool ixl_get_i2c_data(struct ixl_pf *pf, u32 *i2cctl);
+static void ixl_raise_i2c_clk(struct ixl_pf *pf, u32 *i2cctl);
+static void ixl_lower_i2c_clk(struct ixl_pf *pf, u32 *i2cctl);
+static s32 ixl_clock_out_i2c_bit(struct ixl_pf *pf, bool data);
+static s32 ixl_get_i2c_ack(struct ixl_pf *pf);
+static s32 ixl_clock_out_i2c_byte(struct ixl_pf *pf, u8 data);
+static s32 ixl_clock_in_i2c_bit(struct ixl_pf *pf, bool *data);
+static s32 ixl_clock_in_i2c_byte(struct ixl_pf *pf, u8 *data);
+static void ixl_i2c_bus_clear(struct ixl_pf *pf);
+static void ixl_i2c_start(struct ixl_pf *pf);
+static void ixl_i2c_stop(struct ixl_pf *pf);
+
+/**
+ * ixl_i2c_bus_clear - Clears the I2C bus
+ * @hw: pointer to hardware structure
+ *
+ * Clears the I2C bus by sending nine clock pulses.
+ * Used when data line is stuck low.
+ **/
+static void
+ixl_i2c_bus_clear(struct ixl_pf *pf)
+{
+ struct i40e_hw *hw = &pf->hw;
+ u32 i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ u32 i;
+
+ DEBUGFUNC("ixl_i2c_bus_clear");
+
+ ixl_i2c_start(pf);
+
+ ixl_set_i2c_data(pf, &i2cctl, 1);
+
+ for (i = 0; i < 9; i++) {
+ ixl_raise_i2c_clk(pf, &i2cctl);
+
+ /* Min high period of clock is 4us */
+ i40e_usec_delay(IXL_I2C_T_HIGH);
+
+ ixl_lower_i2c_clk(pf, &i2cctl);
+
+ /* Min low period of clock is 4.7us*/
+ i40e_usec_delay(IXL_I2C_T_LOW);
+ }
+
+ ixl_i2c_start(pf);
+
+ /* Put the i2c bus back to default state */
+ ixl_i2c_stop(pf);
+}
+
+/**
+ * ixl_i2c_stop - Sets I2C stop condition
+ * @hw: pointer to hardware structure
+ *
+ * Sets I2C stop condition (Low -> High on SDA while SCL is High)
+ **/
+static void
+ixl_i2c_stop(struct ixl_pf *pf)
+{
+ struct i40e_hw *hw = &pf->hw;
+ u32 i2cctl = rd32(hw, IXL_I2C_REG(hw));
+
+ DEBUGFUNC("ixl_i2c_stop");
+
+ /* Stop condition must begin with data low and clock high */
+ ixl_set_i2c_data(pf, &i2cctl, 0);
+ ixl_raise_i2c_clk(pf, &i2cctl);
+
+ /* Setup time for stop condition (4us) */
+ i40e_usec_delay(IXL_I2C_T_SU_STO);
+
+ ixl_set_i2c_data(pf, &i2cctl, 1);
+
+ /* bus free time between stop and start (4.7us)*/
+ i40e_usec_delay(IXL_I2C_T_BUF);
+}
+
+/**
+ * ixl_clock_in_i2c_byte - Clocks in one byte via I2C
+ * @hw: pointer to hardware structure
+ * @data: data byte to clock in
+ *
+ * Clocks in one byte data via I2C data/clock
+ **/
+static s32
+ixl_clock_in_i2c_byte(struct ixl_pf *pf, u8 *data)
+{
+ s32 i;
+ bool bit = 0;
+
+ DEBUGFUNC("ixl_clock_in_i2c_byte");
+
+ for (i = 7; i >= 0; i--) {
+ ixl_clock_in_i2c_bit(pf, &bit);
+ *data |= bit << i;
+ }
+
+ return I40E_SUCCESS;
+}
+
+/**
+ * ixl_clock_in_i2c_bit - Clocks in one bit via I2C data/clock
+ * @hw: pointer to hardware structure
+ * @data: read data value
+ *
+ * Clocks in one bit via I2C data/clock
+ **/
+static s32
+ixl_clock_in_i2c_bit(struct ixl_pf *pf, bool *data)
+{
+ struct i40e_hw *hw = &pf->hw;
+ u32 i2cctl = rd32(hw, IXL_I2C_REG(hw));
+
+ DEBUGFUNC("ixl_clock_in_i2c_bit");
+
+ ixl_raise_i2c_clk(pf, &i2cctl);
+
+ /* Minimum high period of clock is 4us */
+ i40e_usec_delay(IXL_I2C_T_HIGH);
+
+ i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ i2cctl |= I40E_GLGEN_I2CPARAMS_DATA_OE_N_MASK;
+ wr32(hw, IXL_I2C_REG(hw), i2cctl);
+ ixl_flush(hw);
+
+ i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ *data = ixl_get_i2c_data(pf, &i2cctl);
+
+ ixl_lower_i2c_clk(pf, &i2cctl);
+
+ /* Minimum low period of clock is 4.7 us */
+ i40e_usec_delay(IXL_I2C_T_LOW);
+
+ return I40E_SUCCESS;
+}
+
+/**
+ * ixl_get_i2c_ack - Polls for I2C ACK
+ * @hw: pointer to hardware structure
+ *
+ * Clocks in/out one bit via I2C data/clock
+ **/
+static s32
+ixl_get_i2c_ack(struct ixl_pf *pf)
+{
+ struct i40e_hw *hw = &pf->hw;
+ s32 status = I40E_SUCCESS;
+ u32 i = 0;
+ u32 i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ u32 timeout = 10;
+ bool ack = 1;
+
+ ixl_raise_i2c_clk(pf, &i2cctl);
+
+ /* Minimum high period of clock is 4us */
+ i40e_usec_delay(IXL_I2C_T_HIGH);
+
+ i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ i2cctl |= I40E_GLGEN_I2CPARAMS_DATA_OE_N_MASK;
+ wr32(hw, IXL_I2C_REG(hw), i2cctl);
+ ixl_flush(hw);
+
+ /* Poll for ACK. Note that ACK in I2C spec is
+ * transition from 1 to 0 */
+ for (i = 0; i < timeout; i++) {
+ i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ ack = ixl_get_i2c_data(pf, &i2cctl);
+
+ i40e_usec_delay(1);
+ if (!ack)
+ break;
+ }
+
+ if (ack) {
+ ixl_dbg(pf, IXL_DBG_I2C, "I2C ack was not received.\n");
+ status = I40E_ERR_PHY;
+ }
+
+ ixl_lower_i2c_clk(pf, &i2cctl);
+
+ /* Minimum low period of clock is 4.7 us */
+ i40e_usec_delay(IXL_I2C_T_LOW);
+
+ return status;
+}
+
+/**
+ * ixl_clock_out_i2c_bit - Clocks in/out one bit via I2C data/clock
+ * @hw: pointer to hardware structure
+ * @data: data value to write
+ *
+ * Clocks out one bit via I2C data/clock
+ **/
+static s32
+ixl_clock_out_i2c_bit(struct ixl_pf *pf, bool data)
+{
+ struct i40e_hw *hw = &pf->hw;
+ s32 status;
+ u32 i2cctl = rd32(hw, IXL_I2C_REG(hw));
+
+ status = ixl_set_i2c_data(pf, &i2cctl, data);
+ if (status == I40E_SUCCESS) {
+ ixl_raise_i2c_clk(pf, &i2cctl);
+
+ /* Minimum high period of clock is 4us */
+ i40e_usec_delay(IXL_I2C_T_HIGH);
+
+ ixl_lower_i2c_clk(pf, &i2cctl);
+
+ /* Minimum low period of clock is 4.7 us.
+ * This also takes care of the data hold time.
+ */
+ i40e_usec_delay(IXL_I2C_T_LOW);
+ } else {
+ status = I40E_ERR_PHY;
+ ixl_dbg(pf, IXL_DBG_I2C, "I2C data was not set to %#x\n", data);
+ }
+
+ return status;
+}
+
+/**
+ * ixl_clock_out_i2c_byte - Clocks out one byte via I2C
+ * @hw: pointer to hardware structure
+ * @data: data byte clocked out
+ *
+ * Clocks out one byte data via I2C data/clock
+ **/
+static s32
+ixl_clock_out_i2c_byte(struct ixl_pf *pf, u8 data)
+{
+ struct i40e_hw *hw = &pf->hw;
+ s32 status = I40E_SUCCESS;
+ s32 i;
+ u32 i2cctl;
+ bool bit;
+
+ DEBUGFUNC("ixl_clock_out_i2c_byte");
+
+ for (i = 7; i >= 0; i--) {
+ bit = (data >> i) & 0x1;
+ status = ixl_clock_out_i2c_bit(pf, bit);
+
+ if (status != I40E_SUCCESS)
+ break;
+ }
+
+ /* Release SDA line (set high) */
+ i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ i2cctl |= I40E_GLGEN_I2CPARAMS_DATA_OUT_MASK;
+ i2cctl &= ~(I40E_GLGEN_I2CPARAMS_DATA_OE_N_MASK);
+ wr32(hw, IXL_I2C_REG(hw), i2cctl);
+ ixl_flush(hw);
+
+ return status;
+}
+
+/**
+ * ixl_lower_i2c_clk - Lowers the I2C SCL clock
+ * @hw: pointer to hardware structure
+ * @i2cctl: Current value of I2CCTL register
+ *
+ * Lowers the I2C clock line '1'->'0'
+ **/
+static void
+ixl_lower_i2c_clk(struct ixl_pf *pf, u32 *i2cctl)
+{
+ struct i40e_hw *hw = &pf->hw;
+
+ *i2cctl &= ~(I40E_GLGEN_I2CPARAMS_CLK_MASK);
+ *i2cctl &= ~(I40E_GLGEN_I2CPARAMS_CLK_OE_N_MASK);
+
+ wr32(hw, IXL_I2C_REG(hw), *i2cctl);
+ ixl_flush(hw);
+
+ /* SCL fall time (300ns) */
+ i40e_usec_delay(IXL_I2C_T_FALL);
+}
+
+/**
+ * ixl_raise_i2c_clk - Raises the I2C SCL clock
+ * @hw: pointer to hardware structure
+ * @i2cctl: Current value of I2CCTL register
+ *
+ * Raises the I2C clock line '0'->'1'
+ **/
+static void
+ixl_raise_i2c_clk(struct ixl_pf *pf, u32 *i2cctl)
+{
+ struct i40e_hw *hw = &pf->hw;
+ u32 i = 0;
+ u32 timeout = IXL_I2C_CLOCK_STRETCHING_TIMEOUT;
+ u32 i2cctl_r = 0;
+
+ for (i = 0; i < timeout; i++) {
+ *i2cctl |= I40E_GLGEN_I2CPARAMS_CLK_MASK;
+ *i2cctl &= ~(I40E_GLGEN_I2CPARAMS_CLK_OE_N_MASK);
+
+ wr32(hw, IXL_I2C_REG(hw), *i2cctl);
+ ixl_flush(hw);
+ /* SCL rise time (1000ns) */
+ i40e_usec_delay(IXL_I2C_T_RISE);
+
+ i2cctl_r = rd32(hw, IXL_I2C_REG(hw));
+ if (i2cctl_r & I40E_GLGEN_I2CPARAMS_CLK_IN_MASK)
+ break;
+ }
+}
+
+/**
+ * ixl_get_i2c_data - Reads the I2C SDA data bit
+ * @hw: pointer to hardware structure
+ * @i2cctl: Current value of I2CCTL register
+ *
+ * Returns the I2C data bit value
+ **/
+static bool
+ixl_get_i2c_data(struct ixl_pf *pf, u32 *i2cctl)
+{
+ bool data;
+
+ if (*i2cctl & I40E_GLGEN_I2CPARAMS_DATA_IN_MASK)
+ data = 1;
+ else
+ data = 0;
+
+ return data;
+}
+
+/**
+ * ixl_set_i2c_data - Sets the I2C data bit
+ * @hw: pointer to hardware structure
+ * @i2cctl: Current value of I2CCTL register
+ * @data: I2C data value (0 or 1) to set
+ *
+ * Sets the I2C data bit
+ **/
+static s32
+ixl_set_i2c_data(struct ixl_pf *pf, u32 *i2cctl, bool data)
+{
+ struct i40e_hw *hw = &pf->hw;
+ s32 status = I40E_SUCCESS;
+
+ DEBUGFUNC("ixl_set_i2c_data");
+
+ if (data)
+ *i2cctl |= I40E_GLGEN_I2CPARAMS_DATA_OUT_MASK;
+ else
+ *i2cctl &= ~(I40E_GLGEN_I2CPARAMS_DATA_OUT_MASK);
+ *i2cctl &= ~(I40E_GLGEN_I2CPARAMS_DATA_OE_N_MASK);
+
+ wr32(hw, IXL_I2C_REG(hw), *i2cctl);
+ ixl_flush(hw);
+
+ /* Data rise/fall (1000ns/300ns) and set-up time (250ns) */
+ i40e_usec_delay(IXL_I2C_T_RISE + IXL_I2C_T_FALL + IXL_I2C_T_SU_DATA);
+
+ /* Verify data was set correctly */
+ *i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ if (data != ixl_get_i2c_data(pf, i2cctl)) {
+ status = I40E_ERR_PHY;
+ ixl_dbg(pf, IXL_DBG_I2C, "Error - I2C data was not set to %X.\n", data);
+ }
+
+ return status;
+}
+
+/**
+ * ixl_i2c_start - Sets I2C start condition
+ * Sets I2C start condition (High -> Low on SDA while SCL is High)
+ **/
+static void
+ixl_i2c_start(struct ixl_pf *pf)
+{
+ struct i40e_hw *hw = &pf->hw;
+ u32 i2cctl = rd32(hw, IXL_I2C_REG(hw));
+
+ DEBUGFUNC("ixl_i2c_start");
+
+ /* Start condition must begin with data and clock high */
+ ixl_set_i2c_data(pf, &i2cctl, 1);
+ ixl_raise_i2c_clk(pf, &i2cctl);
+
+ /* Setup time for start condition (4.7us) */
+ i40e_usec_delay(IXL_I2C_T_SU_STA);
+
+ ixl_set_i2c_data(pf, &i2cctl, 0);
+
+ /* Hold time for start condition (4us) */
+ i40e_usec_delay(IXL_I2C_T_HD_STA);
+
+ ixl_lower_i2c_clk(pf, &i2cctl);
+
+ /* Minimum low period of clock is 4.7 us */
+ i40e_usec_delay(IXL_I2C_T_LOW);
+
+}
+
+/**
+ * ixl_read_i2c_byte - Reads 8 bit word over I2C
+ **/
+s32
+ixl_read_i2c_byte(struct ixl_pf *pf, u8 byte_offset,
+ u8 dev_addr, u8 *data)
+{
+ struct i40e_hw *hw = &pf->hw;
+ u32 max_retry = 10;
+ u32 retry = 0;
+ bool nack = 1;
+ s32 status;
+ *data = 0;
+
+ u32 i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ i2cctl |= I40E_GLGEN_I2CPARAMS_I2CBB_EN_MASK;
+ wr32(hw, IXL_I2C_REG(hw), i2cctl);
+ ixl_flush(hw);
+
+ do {
+ ixl_i2c_start(pf);
+
+ /* Device Address and write indication */
+ status = ixl_clock_out_i2c_byte(pf, dev_addr);
+ if (status != I40E_SUCCESS) {
+ ixl_dbg(pf, IXL_DBG_I2C, "dev_addr clock out error\n");
+ goto fail;
+ }
+
+ status = ixl_get_i2c_ack(pf);
+ if (status != I40E_SUCCESS) {
+ ixl_dbg(pf, IXL_DBG_I2C, "dev_addr i2c ack error\n");
+ goto fail;
+ }
+
+ status = ixl_clock_out_i2c_byte(pf, byte_offset);
+ if (status != I40E_SUCCESS) {
+ ixl_dbg(pf, IXL_DBG_I2C, "byte_offset clock out error\n");
+ goto fail;
+ }
+
+ status = ixl_get_i2c_ack(pf);
+ if (status != I40E_SUCCESS) {
+ ixl_dbg(pf, IXL_DBG_I2C, "byte_offset i2c ack error\n");
+ goto fail;
+ }
+
+ ixl_i2c_start(pf);
+
+ /* Device Address and read indication */
+ status = ixl_clock_out_i2c_byte(pf, (dev_addr | 0x1));
+ if (status != I40E_SUCCESS)
+ goto fail;
+
+ status = ixl_get_i2c_ack(pf);
+ if (status != I40E_SUCCESS)
+ goto fail;
+
+ status = ixl_clock_in_i2c_byte(pf, data);
+ if (status != I40E_SUCCESS)
+ goto fail;
+
+ status = ixl_clock_out_i2c_bit(pf, nack);
+ if (status != I40E_SUCCESS)
+ goto fail;
+
+ ixl_i2c_stop(pf);
+ status = I40E_SUCCESS;
+ goto done;
+
+fail:
+ ixl_i2c_bus_clear(pf);
+ i40e_msec_delay(100);
+ retry++;
+ if (retry < max_retry)
+ ixl_dbg(pf, IXL_DBG_I2C, "I2C byte read error - Retrying.\n");
+ else
+ ixl_dbg(pf, IXL_DBG_I2C, "I2C byte read error.\n");
+
+ } while (retry < max_retry);
+done:
+ i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ i2cctl &= ~I40E_GLGEN_I2CPARAMS_I2CBB_EN_MASK;
+ wr32(hw, IXL_I2C_REG(hw), i2cctl);
+ ixl_flush(hw);
+
+ return status;
+}
+
+/**
+ * ixl_write_i2c_byte - Writes 8 bit word over I2C
+ **/
+s32
+ixl_write_i2c_byte(struct ixl_pf *pf, u8 byte_offset,
+ u8 dev_addr, u8 data)
+{
+ struct i40e_hw *hw = &pf->hw;
+ s32 status = I40E_SUCCESS;
+ u32 max_retry = 1;
+ u32 retry = 0;
+
+ u32 i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ i2cctl |= I40E_GLGEN_I2CPARAMS_I2CBB_EN_MASK;
+ wr32(hw, IXL_I2C_REG(hw), i2cctl);
+ ixl_flush(hw);
+
+ do {
+ ixl_i2c_start(pf);
+
+ status = ixl_clock_out_i2c_byte(pf, dev_addr);
+ if (status != I40E_SUCCESS)
+ goto fail;
+
+ status = ixl_get_i2c_ack(pf);
+ if (status != I40E_SUCCESS)
+ goto fail;
+
+ status = ixl_clock_out_i2c_byte(pf, byte_offset);
+ if (status != I40E_SUCCESS)
+ goto fail;
+
+ status = ixl_get_i2c_ack(pf);
+ if (status != I40E_SUCCESS)
+ goto fail;
+
+ status = ixl_clock_out_i2c_byte(pf, data);
+ if (status != I40E_SUCCESS)
+ goto fail;
+
+ status = ixl_get_i2c_ack(pf);
+ if (status != I40E_SUCCESS)
+ goto fail;
+
+ ixl_i2c_stop(pf);
+ goto write_byte_out;
+
+fail:
+ ixl_i2c_bus_clear(pf);
+ i40e_msec_delay(100);
+ retry++;
+ if (retry < max_retry)
+ ixl_dbg(pf, IXL_DBG_I2C, "I2C byte write error - Retrying.\n");
+ else
+ ixl_dbg(pf, IXL_DBG_I2C, "I2C byte write error.\n");
+ } while (retry < max_retry);
+
+write_byte_out:
+ i2cctl = rd32(hw, IXL_I2C_REG(hw));
+ i2cctl &= ~I40E_GLGEN_I2CPARAMS_I2CBB_EN_MASK;
+ wr32(hw, IXL_I2C_REG(hw), i2cctl);
+ ixl_flush(hw);
+
+ return status;
+}
+
diff --git a/sys/dev/ixl/ixl_pf_iov.c b/sys/dev/ixl/ixl_pf_iov.c
index a8c8b29..2662d0d 100644
--- a/sys/dev/ixl/ixl_pf_iov.c
+++ b/sys/dev/ixl/ixl_pf_iov.c
@@ -42,7 +42,6 @@ static void ixl_vf_unregister_intr(struct i40e_hw *hw, uint32_t vpint_reg);
static bool ixl_zero_mac(const uint8_t *addr);
static bool ixl_bcast_mac(const uint8_t *addr);
-static const char * ixl_vc_opcode_str(uint16_t op);
static int ixl_vc_opcode_level(uint16_t opcode);
static int ixl_vf_mac_valid(struct ixl_vf *vf, const uint8_t *addr);
@@ -421,58 +420,6 @@ ixl_reinit_vf(struct ixl_pf *pf, struct ixl_vf *vf)
ixl_flush(hw);
}
-static const char *
-ixl_vc_opcode_str(uint16_t op)
-{
-
- switch (op) {
- case I40E_VIRTCHNL_OP_VERSION:
- return ("VERSION");
- case I40E_VIRTCHNL_OP_RESET_VF:
- return ("RESET_VF");
- case I40E_VIRTCHNL_OP_GET_VF_RESOURCES:
- return ("GET_VF_RESOURCES");
- case I40E_VIRTCHNL_OP_CONFIG_TX_QUEUE:
- return ("CONFIG_TX_QUEUE");
- case I40E_VIRTCHNL_OP_CONFIG_RX_QUEUE:
- return ("CONFIG_RX_QUEUE");
- case I40E_VIRTCHNL_OP_CONFIG_VSI_QUEUES:
- return ("CONFIG_VSI_QUEUES");
- case I40E_VIRTCHNL_OP_CONFIG_IRQ_MAP:
- return ("CONFIG_IRQ_MAP");
- case I40E_VIRTCHNL_OP_ENABLE_QUEUES:
- return ("ENABLE_QUEUES");
- case I40E_VIRTCHNL_OP_DISABLE_QUEUES:
- return ("DISABLE_QUEUES");
- case I40E_VIRTCHNL_OP_ADD_ETHER_ADDRESS:
- return ("ADD_ETHER_ADDRESS");
- case I40E_VIRTCHNL_OP_DEL_ETHER_ADDRESS:
- return ("DEL_ETHER_ADDRESS");
- case I40E_VIRTCHNL_OP_ADD_VLAN:
- return ("ADD_VLAN");
- case I40E_VIRTCHNL_OP_DEL_VLAN:
- return ("DEL_VLAN");
- case I40E_VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE:
- return ("CONFIG_PROMISCUOUS_MODE");
- case I40E_VIRTCHNL_OP_GET_STATS:
- return ("GET_STATS");
- case I40E_VIRTCHNL_OP_FCOE:
- return ("FCOE");
- case I40E_VIRTCHNL_OP_EVENT:
- return ("EVENT");
- case I40E_VIRTCHNL_OP_CONFIG_RSS_KEY:
- return ("CONFIG_RSS_KEY");
- case I40E_VIRTCHNL_OP_CONFIG_RSS_LUT:
- return ("CONFIG_RSS_LUT");
- case I40E_VIRTCHNL_OP_GET_RSS_HENA_CAPS:
- return ("GET_RSS_HENA_CAPS");
- case I40E_VIRTCHNL_OP_SET_RSS_HENA:
- return ("SET_RSS_HENA");
- default:
- return ("UNKNOWN");
- }
-}
-
static int
ixl_vc_opcode_level(uint16_t opcode)
{
@@ -1459,7 +1406,7 @@ ixl_vf_config_rss_key_msg(struct ixl_pf *pf, struct ixl_vf *vf, void *msg,
}
} else {
for (int i = 0; i < (key->key_len / 4); i++)
- i40e_write_rx_ctl(hw, I40E_VFQF_HKEY1(i, vf->vf_num), ((u32 *)key->key)[i]);
+ i40e_write_rx_ctl(hw, I40E_VFQF_HKEY1(i, IXL_GLOBAL_VF_NUM(hw, vf)), ((u32 *)key->key)[i]);
}
DDPRINTF(pf->dev, "VF %d: Programmed key starting with 0x%x ok!",
@@ -1514,7 +1461,7 @@ ixl_vf_config_rss_lut_msg(struct ixl_pf *pf, struct ixl_vf *vf, void *msg,
}
} else {
for (int i = 0; i < (lut->lut_entries / 4); i++)
- i40e_write_rx_ctl(hw, I40E_VFQF_HLUT1(i, vf->vf_num), ((u32 *)lut->lut)[i]);
+ i40e_write_rx_ctl(hw, I40E_VFQF_HLUT1(i, IXL_GLOBAL_VF_NUM(hw, vf)), ((u32 *)lut->lut)[i]);
}
DDPRINTF(pf->dev, "VF %d: Programmed LUT starting with 0x%x and length %d ok!",
@@ -1541,8 +1488,8 @@ ixl_vf_set_rss_hena_msg(struct ixl_pf *pf, struct ixl_vf *vf, void *msg,
hena = msg;
/* Set HENA */
- i40e_write_rx_ctl(hw, I40E_VFQF_HENA1(0, vf->vf_num), (u32)hena->hena);
- i40e_write_rx_ctl(hw, I40E_VFQF_HENA1(1, vf->vf_num), (u32)(hena->hena >> 32));
+ i40e_write_rx_ctl(hw, I40E_VFQF_HENA1(0, IXL_GLOBAL_VF_NUM(hw, vf)), (u32)hena->hena);
+ i40e_write_rx_ctl(hw, I40E_VFQF_HENA1(1, IXL_GLOBAL_VF_NUM(hw, vf)), (u32)(hena->hena >> 32));
DDPRINTF(pf->dev, "VF %d: Programmed HENA with 0x%016lx",
vf->vf_num, hena->hena);
@@ -1768,8 +1715,6 @@ ixl_iov_init(device_t dev, uint16_t num_vfs, const nvlist_t *params)
goto fail;
}
- ixl_enable_adminq(hw);
-
pf->num_vfs = num_vfs;
IXL_PF_UNLOCK(pf);
return (0);
@@ -1811,11 +1756,6 @@ ixl_iov_uninit(device_t dev)
pf->veb_seid = 0;
}
- if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) {
- ixl_disable_intr(vsi);
- ixl_flush(hw);
- }
-
vfs = pf->vfs;
num_vfs = pf->num_vfs;
diff --git a/sys/dev/ixl/ixl_pf_iov.h b/sys/dev/ixl/ixl_pf_iov.h
index ae8abc2..5692268 100644
--- a/sys/dev/ixl/ixl_pf_iov.h
+++ b/sys/dev/ixl/ixl_pf_iov.h
@@ -42,6 +42,9 @@
#include <sys/iov_schema.h>
#include <dev/pci/pci_iov.h>
+#define IXL_GLOBAL_VF_NUM(hw, vf) \
+ (vf->vf_num + hw->func_caps.vf_base_id)
+
/* Public functions */
/*
diff --git a/sys/dev/ixl/ixl_pf_main.c b/sys/dev/ixl/ixl_pf_main.c
index d8da4cf..37c2745 100644
--- a/sys/dev/ixl/ixl_pf_main.c
+++ b/sys/dev/ixl/ixl_pf_main.c
@@ -39,6 +39,11 @@
#include "ixl_pf_iov.h"
#endif
+#ifdef IXL_IW
+#include "ixl_iw.h"
+#include "ixl_iw_int.h"
+#endif
+
#ifdef DEV_NETMAP
#include <net/netmap.h>
#include <sys/selinfo.h>
@@ -46,6 +51,8 @@
#endif /* DEV_NETMAP */
static int ixl_setup_queue(struct ixl_queue *, struct ixl_pf *, int);
+static u64 ixl_max_aq_speed_to_value(u8);
+static u8 ixl_convert_sysctl_aq_link_speed(u8, bool);
/* Sysctls */
static int ixl_set_flowcntl(SYSCTL_HANDLER_ARGS);
@@ -63,18 +70,37 @@ static int ixl_sysctl_sw_filter_list(SYSCTL_HANDLER_ARGS);
static int ixl_sysctl_hw_res_alloc(SYSCTL_HANDLER_ARGS);
static int ixl_sysctl_switch_config(SYSCTL_HANDLER_ARGS);
static int ixl_sysctl_hkey(SYSCTL_HANDLER_ARGS);
+static int ixl_sysctl_hena(SYSCTL_HANDLER_ARGS);
static int ixl_sysctl_hlut(SYSCTL_HANDLER_ARGS);
+static int ixl_sysctl_fw_link_management(SYSCTL_HANDLER_ARGS);
+static int ixl_sysctl_read_i2c_byte(SYSCTL_HANDLER_ARGS);
+static int ixl_sysctl_write_i2c_byte(SYSCTL_HANDLER_ARGS);
+static int ixl_sysctl_fec_fc_ability(SYSCTL_HANDLER_ARGS);
+static int ixl_sysctl_fec_rs_ability(SYSCTL_HANDLER_ARGS);
+static int ixl_sysctl_fec_fc_request(SYSCTL_HANDLER_ARGS);
+static int ixl_sysctl_fec_rs_request(SYSCTL_HANDLER_ARGS);
+static int ixl_sysctl_fec_auto_enable(SYSCTL_HANDLER_ARGS);
+#ifdef IXL_DEBUG
+static int ixl_sysctl_qtx_tail_handler(SYSCTL_HANDLER_ARGS);
+static int ixl_sysctl_qrx_tail_handler(SYSCTL_HANDLER_ARGS);
+#endif
+
+#ifdef IXL_IW
+extern int ixl_enable_iwarp;
+#endif
void
-ixl_dbg(struct ixl_pf *pf, enum ixl_dbg_mask mask, char *fmt, ...)
+ixl_debug_core(struct ixl_pf *pf, enum ixl_dbg_mask mask, char *fmt, ...)
{
va_list args;
if (!(mask & pf->dbg_mask))
return;
+ /* Re-implement device_printf() */
+ device_print_prettyname(pf->dev);
va_start(args, fmt);
- device_printf(pf->dev, fmt, args);
+ vprintf(fmt, args);
va_end(args);
}
@@ -184,11 +210,22 @@ ixl_init_locked(struct ixl_pf *pf)
u8 tmpaddr[ETHER_ADDR_LEN];
int ret;
- mtx_assert(&pf->pf_mtx, MA_OWNED);
INIT_DEBUGOUT("ixl_init_locked: begin");
+ IXL_PF_LOCK_ASSERT(pf);
ixl_stop_locked(pf);
+ /*
+ * If the aq is dead here, it probably means something outside of the driver
+ * did something to the adapter, like a PF reset.
+ * So rebuild the driver's state here if that occurs.
+ */
+ if (!i40e_check_asq_alive(&pf->hw)) {
+ device_printf(dev, "Admin Queue is down; resetting...\n");
+ ixl_teardown_hw_structs(pf);
+ ixl_reset(pf);
+ }
+
/* Get the latest mac address... User might use a LAA */
bcopy(IF_LLADDR(vsi->ifp), tmpaddr,
I40E_ETH_LENGTH_OF_ADDRESS);
@@ -243,7 +280,7 @@ ixl_init_locked(struct ixl_pf *pf)
ixl_setup_vlan_filters(vsi);
/* Set up MSI/X routing and the ITR settings */
- if (pf->enable_msix) {
+ if (pf->msix > 1) {
ixl_configure_queue_intr_msix(pf);
ixl_configure_itr(pf);
} else
@@ -263,14 +300,21 @@ ixl_init_locked(struct ixl_pf *pf)
i40e_get_link_status(hw, &pf->link_up);
ixl_update_link_status(pf);
- /* Set initial advertised speed sysctl value */
- ixl_get_initial_advertised_speeds(pf);
-
/* Start the local timer */
callout_reset(&pf->timer, hz, ixl_local_timer, pf);
/* Now inform the stack we're ready */
ifp->if_drv_flags |= IFF_DRV_RUNNING;
+
+#ifdef IXL_IW
+ if (ixl_enable_iwarp && pf->iw_enabled) {
+ ret = ixl_iw_pf_init(pf);
+ if (ret)
+ device_printf(dev,
+ "initialize iwarp failed, code %d\n", ret);
+ }
+#endif
+
}
@@ -337,6 +381,11 @@ retry:
(hw->func_caps.mdio_port_mode == 1) ? "MDIO dedicated" :
"MDIO shared");
+ struct i40e_osdep *osdep = (struct i40e_osdep *)hw->back;
+ osdep->i2c_intfc_num = ixl_find_i2c_interface(pf);
+ if (osdep->i2c_intfc_num != -1)
+ pf->has_i2c = true;
+
return (error);
}
@@ -431,16 +480,8 @@ ixl_get_initial_advertised_speeds(struct ixl_pf *pf)
return;
}
- if (abilities.link_speed & I40E_LINK_SPEED_40GB)
- pf->advertised_speed |= 0x10;
- if (abilities.link_speed & I40E_LINK_SPEED_20GB)
- pf->advertised_speed |= 0x8;
- if (abilities.link_speed & I40E_LINK_SPEED_10GB)
- pf->advertised_speed |= 0x4;
- if (abilities.link_speed & I40E_LINK_SPEED_1GB)
- pf->advertised_speed |= 0x2;
- if (abilities.link_speed & I40E_LINK_SPEED_100MB)
- pf->advertised_speed |= 0x1;
+ pf->advertised_speed =
+ ixl_convert_sysctl_aq_link_speed(abilities.link_speed, false);
}
int
@@ -613,10 +654,10 @@ ixl_intr(void *arg)
struct ixl_queue *que = vsi->queues;
struct ifnet *ifp = vsi->ifp;
struct tx_ring *txr = &que->txr;
- u32 reg, icr0, mask;
+ u32 icr0;
bool more_tx, more_rx;
- ++que->irqs;
+ pf->admin_irq++;
/* Protect against spurious interrupts */
if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
@@ -624,11 +665,6 @@ ixl_intr(void *arg)
icr0 = rd32(hw, I40E_PFINT_ICR0);
- reg = rd32(hw, I40E_PFINT_DYN_CTL0);
- reg = reg | I40E_PFINT_DYN_CTL0_CLEARPBA_MASK;
- wr32(hw, I40E_PFINT_DYN_CTL0, reg);
-
- mask = rd32(hw, I40E_PFINT_ICR0_ENA);
#ifdef PCI_IOV
if (icr0 & I40E_PFINT_ICR0_VFLR_MASK)
@@ -637,33 +673,21 @@ ixl_intr(void *arg)
if (icr0 & I40E_PFINT_ICR0_ADMINQ_MASK) {
taskqueue_enqueue(pf->tq, &pf->adminq);
- return;
}
- more_rx = ixl_rxeof(que, IXL_RX_LIMIT);
-
- IXL_TX_LOCK(txr);
- more_tx = ixl_txeof(que);
- if (!drbr_empty(vsi->ifp, txr->br))
- more_tx = 1;
- IXL_TX_UNLOCK(txr);
-
- /* re-enable other interrupt causes */
- wr32(hw, I40E_PFINT_ICR0_ENA, mask);
-
- /* And now the queues */
- reg = rd32(hw, I40E_QINT_RQCTL(0));
- reg |= I40E_QINT_RQCTL_CAUSE_ENA_MASK;
- wr32(hw, I40E_QINT_RQCTL(0), reg);
+ if (icr0 & I40E_PFINT_ICR0_QUEUE_0_MASK) {
+ ++que->irqs;
- reg = rd32(hw, I40E_QINT_TQCTL(0));
- reg |= I40E_QINT_TQCTL_CAUSE_ENA_MASK;
- reg &= ~I40E_PFINT_ICR0_INTEVENT_MASK;
- wr32(hw, I40E_QINT_TQCTL(0), reg);
+ more_rx = ixl_rxeof(que, IXL_RX_LIMIT);
- ixl_enable_legacy(hw);
+ IXL_TX_LOCK(txr);
+ more_tx = ixl_txeof(que);
+ if (!drbr_empty(vsi->ifp, txr->br))
+ more_tx = 1;
+ IXL_TX_UNLOCK(txr);
+ }
- return;
+ ixl_enable_intr0(hw);
}
@@ -797,7 +821,7 @@ ixl_msix_adminq(void *arg)
if (do_task)
taskqueue_enqueue(pf->tq, &pf->adminq);
else
- ixl_enable_adminq(hw);
+ ixl_enable_intr0(hw);
}
void
@@ -946,10 +970,12 @@ ixl_local_timer(void *arg)
struct ixl_vsi *vsi = &pf->vsi;
struct ixl_queue *que = vsi->queues;
device_t dev = pf->dev;
+ struct tx_ring *txr;
int hung = 0;
u32 mask;
+ s32 timer, new_timer;
- mtx_assert(&pf->pf_mtx, MA_OWNED);
+ IXL_PF_LOCK_ASSERT(pf);
/* Fire off the adminq task */
taskqueue_enqueue(pf->tq, &pf->adminq);
@@ -959,42 +985,64 @@ ixl_local_timer(void *arg)
/* Check status of the queues */
mask = (I40E_PFINT_DYN_CTLN_INTENA_MASK |
- I40E_PFINT_DYN_CTLN_SWINT_TRIG_MASK);
+ I40E_PFINT_DYN_CTLN_SWINT_TRIG_MASK |
+ I40E_PFINT_DYN_CTLN_ITR_INDX_MASK);
for (int i = 0; i < vsi->num_queues; i++, que++) {
- /* Any queues with outstanding work get a sw irq */
- if (que->busy)
- wr32(hw, I40E_PFINT_DYN_CTLN(que->me), mask);
- /*
- ** Each time txeof runs without cleaning, but there
- ** are uncleaned descriptors it increments busy. If
- ** we get to 5 we declare it hung.
- */
- if (que->busy == IXL_QUEUE_HUNG) {
- ++hung;
- continue;
- }
- if (que->busy >= IXL_MAX_TX_BUSY) {
-#ifdef IXL_DEBUG
- device_printf(dev, "Warning queue %d "
- "appears to be hung!\n", i);
-#endif
- que->busy = IXL_QUEUE_HUNG;
- ++hung;
+ txr = &que->txr;
+ timer = atomic_load_acq_32(&txr->watchdog_timer);
+ if (timer > 0) {
+ new_timer = timer - hz;
+ if (new_timer <= 0) {
+ atomic_store_rel_32(&txr->watchdog_timer, -1);
+ device_printf(dev, "WARNING: queue %d "
+ "appears to be hung!\n", que->me);
+ ++hung;
+ } else {
+ /*
+ * If this fails, that means something in the TX path has updated
+ * the watchdog, so it means the TX path is still working and
+ * the watchdog doesn't need to countdown.
+ */
+ atomic_cmpset_rel_32(&txr->watchdog_timer, timer, new_timer);
+ /* Any queues with outstanding work get a sw irq */
+ wr32(hw, I40E_PFINT_DYN_CTLN(que->me), mask);
+ }
}
}
- /* Only reinit if all queues show hung */
- if (hung == vsi->num_queues)
+ /* Reset when a queue shows hung */
+ if (hung)
goto hung;
callout_reset(&pf->timer, hz, ixl_local_timer, pf);
return;
hung:
- device_printf(dev, "Local Timer: HANG DETECT - Resetting!!\n");
+ device_printf(dev, "WARNING: Resetting!\n");
+ pf->watchdog_events++;
ixl_init_locked(pf);
}
+void
+ixl_link_up_msg(struct ixl_pf *pf)
+{
+ struct i40e_hw *hw = &pf->hw;
+ struct ifnet *ifp = pf->vsi.ifp;
+
+ log(LOG_NOTICE, "%s: Link is up, %s Full Duplex, FEC: %s, Autoneg: %s, Flow Control: %s\n",
+ ifp->if_xname,
+ ixl_aq_speed_to_str(hw->phy.link_info.link_speed),
+ (hw->phy.link_info.fec_info & I40E_AQ_CONFIG_FEC_KR_ENA) ?
+ "Clause 74 BASE-R FEC" : (hw->phy.link_info.fec_info & I40E_AQ_CONFIG_FEC_RS_ENA) ?
+ "Clause 108 RS-FEC" : "None",
+ (hw->phy.link_info.an_info & I40E_AQ_AN_COMPLETED) ? "True" : "False",
+ (hw->phy.link_info.an_info & I40E_AQ_LINK_PAUSE_TX &&
+ hw->phy.link_info.an_info & I40E_AQ_LINK_PAUSE_RX) ?
+ ixl_fc_string[3] : (hw->phy.link_info.an_info & I40E_AQ_LINK_PAUSE_TX) ?
+ ixl_fc_string[2] : (hw->phy.link_info.an_info & I40E_AQ_LINK_PAUSE_RX) ?
+ ixl_fc_string[1] : ixl_fc_string[0]);
+}
+
/*
** Note: this routine updates the OS on the link state
** the real check of the hardware only happens with
@@ -1004,22 +1052,15 @@ void
ixl_update_link_status(struct ixl_pf *pf)
{
struct ixl_vsi *vsi = &pf->vsi;
- struct i40e_hw *hw = &pf->hw;
struct ifnet *ifp = vsi->ifp;
device_t dev = pf->dev;
if (pf->link_up) {
if (vsi->link_active == FALSE) {
- pf->fc = hw->fc.current_mode;
- if (bootverbose) {
- device_printf(dev, "Link is up %d Gbps %s,"
- " Flow Control: %s\n",
- ((pf->link_speed ==
- I40E_LINK_SPEED_40GB)? 40:10),
- "Full Duplex", ixl_fc_string[pf->fc]);
- }
vsi->link_active = TRUE;
+ ifp->if_baudrate = ixl_max_aq_speed_to_value(pf->link_speed);
if_link_state_change(ifp, LINK_STATE_UP);
+ ixl_link_up_msg(pf);
}
} else { /* Link down */
if (vsi->link_active == TRUE) {
@@ -1050,6 +1091,12 @@ ixl_stop_locked(struct ixl_pf *pf)
IXL_PF_LOCK_ASSERT(pf);
+#ifdef IXL_IW
+ /* Stop iWARP device */
+ if (ixl_enable_iwarp && pf->iw_enabled)
+ ixl_iw_pf_stop(pf);
+#endif
+
/* Stop the local timer */
callout_stop(&pf->timer);
@@ -1066,9 +1113,6 @@ ixl_stop(struct ixl_pf *pf)
IXL_PF_LOCK(pf);
ixl_stop_locked(pf);
IXL_PF_UNLOCK(pf);
-
- ixl_teardown_queue_msix(&pf->vsi);
- ixl_free_queue_tqs(&pf->vsi);
}
/*********************************************************************
@@ -1077,11 +1121,9 @@ ixl_stop(struct ixl_pf *pf)
*
**********************************************************************/
int
-ixl_assign_vsi_legacy(struct ixl_pf *pf)
+ixl_setup_legacy(struct ixl_pf *pf)
{
device_t dev = pf->dev;
- struct ixl_vsi *vsi = &pf->vsi;
- struct ixl_queue *que = vsi->queues;
int error, rid = 0;
if (pf->msix == 1)
@@ -1089,8 +1131,8 @@ ixl_assign_vsi_legacy(struct ixl_pf *pf)
pf->res = bus_alloc_resource_any(dev, SYS_RES_IRQ,
&rid, RF_SHAREABLE | RF_ACTIVE);
if (pf->res == NULL) {
- device_printf(dev, "Unable to allocate"
- " bus resource: vsi legacy/msi interrupt\n");
+ device_printf(dev, "bus_alloc_resource_any() for"
+ " legacy/msi interrupt\n");
return (ENXIO);
}
@@ -1100,22 +1142,16 @@ ixl_assign_vsi_legacy(struct ixl_pf *pf)
ixl_intr, pf, &pf->tag);
if (error) {
pf->res = NULL;
- device_printf(dev, "Failed to register legacy/msi handler\n");
- return (error);
+ device_printf(dev, "bus_setup_intr() for legacy/msi"
+ " interrupt handler failed, error %d\n", error);
+ return (ENXIO);
+ }
+ error = bus_describe_intr(dev, pf->res, pf->tag, "irq");
+ if (error) {
+ /* non-fatal */
+ device_printf(dev, "bus_describe_intr() for Admin Queue"
+ " interrupt name failed, error %d\n", error);
}
- bus_describe_intr(dev, pf->res, pf->tag, "irq0");
- TASK_INIT(&que->tx_task, 0, ixl_deferred_mq_start, que);
- TASK_INIT(&que->task, 0, ixl_handle_que, que);
- que->tq = taskqueue_create_fast("ixl_que", M_NOWAIT,
- taskqueue_thread_enqueue, &que->tq);
- taskqueue_start_threads(&que->tq, 1, PI_NET, "%s que",
- device_get_nameunit(dev));
- TASK_INIT(&pf->adminq, 0, ixl_do_adminq, pf);
-
- pf->tq = taskqueue_create_fast("ixl_adm", M_NOWAIT,
- taskqueue_thread_enqueue, &pf->tq);
- taskqueue_start_threads(&pf->tq, 1, PI_NET, "%s adminq",
- device_get_nameunit(dev));
return (0);
}
@@ -1230,7 +1266,7 @@ ixl_setup_adminq_msix(struct ixl_pf *pf)
}
error = bus_describe_intr(dev, pf->res, pf->tag, "aq");
if (error) {
- /* Probably non-fatal? */
+ /* non-fatal */
device_printf(dev, "bus_describe_intr() for Admin Queue"
" interrupt name failed, error %d\n", error);
}
@@ -1272,6 +1308,7 @@ ixl_setup_queue_msix(struct ixl_vsi *vsi)
device_printf(dev, "bus_setup_intr() for Queue %d"
" interrupt handler failed, error %d\n",
que->me, error);
+ bus_release_resource(dev, SYS_RES_IRQ, rid, que->res);
return (error);
}
error = bus_describe_intr(dev, que->res, que->tag, "q%d", i);
@@ -1305,11 +1342,20 @@ void
ixl_set_busmaster(device_t dev)
{
u16 pci_cmd_word;
- int msix_ctrl, rid;
pci_cmd_word = pci_read_config(dev, PCIR_COMMAND, 2);
pci_cmd_word |= PCIM_CMD_BUSMASTEREN;
pci_write_config(dev, PCIR_COMMAND, pci_cmd_word, 2);
+}
+
+/*
+ * rewrite the ENABLE in the MSIX control register
+ * to cause the host to successfully initialize us.
+ */
+void
+ixl_set_msix_enable(device_t dev)
+{
+ int msix_ctrl, rid;
pci_find_cap(dev, PCIY_MSIX, &rid);
rid += PCIR_MSIX_CTRL;
@@ -1329,6 +1375,11 @@ ixl_init_msix(struct ixl_pf *pf)
struct i40e_hw *hw = &pf->hw;
int auto_max_queues;
int rid, want, vectors, queues, available;
+#ifdef IXL_IW
+ int iw_want, iw_vectors;
+
+ pf->iw_msix = 0;
+#endif
/* Override by tuneable */
if (!pf->enable_msix)
@@ -1338,7 +1389,7 @@ ixl_init_msix(struct ixl_pf *pf)
ixl_set_busmaster(dev);
/* First try MSI/X */
- rid = PCIR_BAR(IXL_BAR);
+ rid = PCIR_BAR(IXL_MSIX_BAR);
pf->msix_mem = bus_alloc_resource_any(dev,
SYS_RES_MEMORY, &rid, RF_ACTIVE);
if (!pf->msix_mem) {
@@ -1400,13 +1451,34 @@ ixl_init_msix(struct ixl_pf *pf)
"MSIX Configuration Problem, "
"%d vectors available but %d wanted!\n",
available, want);
- return (0); /* Will go to Legacy setup */
+ pf->msix_mem = NULL;
+ goto no_msix; /* Will go to Legacy setup */
+ }
+
+#ifdef IXL_IW
+ if (ixl_enable_iwarp) {
+ /* iWARP wants additional vector for CQP */
+ iw_want = mp_ncpus + 1;
+ available -= vectors;
+ if (available > 0) {
+ iw_vectors = (available >= iw_want) ?
+ iw_want : available;
+ vectors += iw_vectors;
+ } else
+ iw_vectors = 0;
}
+#endif
+ ixl_set_msix_enable(dev);
if (pci_alloc_msix(dev, &vectors) == 0) {
device_printf(pf->dev,
"Using MSIX interrupts with %d vectors\n", vectors);
pf->msix = vectors;
+#ifdef IXL_IW
+ if (ixl_enable_iwarp)
+ pf->iw_msix = iw_vectors;
+#endif
+
pf->vsi.num_queues = queues;
#ifdef RSS
/*
@@ -1433,7 +1505,6 @@ no_msix:
vectors = pci_msi_count(dev);
pf->vsi.num_queues = 1;
pf->max_queues = 1;
- pf->enable_msix = 0;
if (vectors == 1 && pci_alloc_msi(dev, &vectors) == 0)
device_printf(pf->dev, "Using an MSI interrupt\n");
else {
@@ -1520,10 +1591,22 @@ void
ixl_configure_legacy(struct ixl_pf *pf)
{
struct i40e_hw *hw = &pf->hw;
- u32 reg;
+ struct ixl_vsi *vsi = &pf->vsi;
+ struct ixl_queue *que = vsi->queues;
+ struct rx_ring *rxr = &que->rxr;
+ struct tx_ring *txr = &que->txr;
+ u32 reg;
+
+ /* Configure ITR */
+ vsi->tx_itr_setting = pf->tx_itr;
+ wr32(hw, I40E_PFINT_ITR0(IXL_TX_ITR),
+ vsi->tx_itr_setting);
+ txr->itr = vsi->tx_itr_setting;
- wr32(hw, I40E_PFINT_ITR0(0), 0);
- wr32(hw, I40E_PFINT_ITR0(1), 0);
+ vsi->rx_itr_setting = pf->rx_itr;
+ wr32(hw, I40E_PFINT_ITR0(IXL_RX_ITR),
+ vsi->rx_itr_setting);
+ rxr->itr = vsi->rx_itr_setting;
/* Setup "other" causes */
reg = I40E_PFINT_ICR0_ENA_ECC_ERR_MASK
@@ -1539,12 +1622,9 @@ ixl_configure_legacy(struct ixl_pf *pf)
;
wr32(hw, I40E_PFINT_ICR0_ENA, reg);
- /* SW_ITR_IDX = 0, but don't change INTENA */
- wr32(hw, I40E_PFINT_DYN_CTL0,
- I40E_PFINT_DYN_CTLN_SW_ITR_INDX_MASK |
- I40E_PFINT_DYN_CTLN_INTENA_MSK_MASK);
- /* SW_ITR_IDX = 0, OTHER_ITR_IDX = 0 */
- wr32(hw, I40E_PFINT_STAT_CTL0, 0);
+ /* No ITR for non-queue interrupts */
+ wr32(hw, I40E_PFINT_STAT_CTL0,
+ IXL_ITR_NONE << I40E_PFINT_STAT_CTL0_OTHER_ITR_INDX_SHIFT);
/* FIRSTQ_INDX = 0, FIRSTQ_TYPE = 0 (rx) */
wr32(hw, I40E_PFINT_LNKLST0, 0);
@@ -1612,7 +1692,7 @@ int
ixl_teardown_adminq_msix(struct ixl_pf *pf)
{
device_t dev = pf->dev;
- int rid;
+ int rid, error = 0;
if (pf->admvec) /* we are doing MSIX */
rid = pf->admvec + 1;
@@ -1621,10 +1701,20 @@ ixl_teardown_adminq_msix(struct ixl_pf *pf)
if (pf->tag != NULL) {
bus_teardown_intr(dev, pf->res, pf->tag);
+ if (error) {
+ device_printf(dev, "bus_teardown_intr() for"
+ " interrupt 0 failed\n");
+ // return (ENXIO);
+ }
pf->tag = NULL;
}
if (pf->res != NULL) {
bus_release_resource(dev, SYS_RES_IRQ, rid, pf->res);
+ if (error) {
+ device_printf(dev, "bus_release_resource() for"
+ " interrupt 0 failed [rid=%d]\n", rid);
+ // return (ENXIO);
+ }
pf->res = NULL;
}
@@ -1640,7 +1730,7 @@ ixl_teardown_queue_msix(struct ixl_vsi *vsi)
int rid, error = 0;
/* We may get here before stations are setup */
- if ((!pf->enable_msix) || (que == NULL))
+ if ((pf->msix < 2) || (que == NULL))
return (0);
/* Release all MSIX queue resources */
@@ -1680,10 +1770,10 @@ ixl_free_pci_resources(struct ixl_pf *pf)
ixl_teardown_queue_msix(&pf->vsi);
ixl_teardown_adminq_msix(pf);
- if (pf->msix)
+ if (pf->msix > 0)
pci_release_msi(dev);
- memrid = PCIR_BAR(IXL_BAR);
+ memrid = PCIR_BAR(IXL_MSIX_BAR);
if (pf->msix_mem != NULL)
bus_release_resource(dev, SYS_RES_MEMORY,
@@ -1697,64 +1787,73 @@ ixl_free_pci_resources(struct ixl_pf *pf)
}
void
-ixl_add_ifmedia(struct ixl_vsi *vsi, u32 phy_type)
+ixl_add_ifmedia(struct ixl_vsi *vsi, u64 phy_types)
{
/* Display supported media types */
- if (phy_type & (1 << I40E_PHY_TYPE_100BASE_TX))
+ if (phy_types & (I40E_CAP_PHY_TYPE_100BASE_TX))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_100_TX, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_1000BASE_T))
+ if (phy_types & (I40E_CAP_PHY_TYPE_1000BASE_T))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_1000_T, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_1000BASE_SX))
+ if (phy_types & (I40E_CAP_PHY_TYPE_1000BASE_SX))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_1000_SX, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_1000BASE_LX))
+ if (phy_types & (I40E_CAP_PHY_TYPE_1000BASE_LX))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_1000_LX, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_XAUI) ||
- phy_type & (1 << I40E_PHY_TYPE_XFI) ||
- phy_type & (1 << I40E_PHY_TYPE_10GBASE_SFPP_CU))
+ if (phy_types & (I40E_CAP_PHY_TYPE_XAUI) ||
+ phy_types & (I40E_CAP_PHY_TYPE_XFI) ||
+ phy_types & (I40E_CAP_PHY_TYPE_10GBASE_SFPP_CU))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_10G_TWINAX, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_10GBASE_SR))
+ if (phy_types & (I40E_CAP_PHY_TYPE_10GBASE_SR))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_10G_SR, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_10GBASE_LR))
+ if (phy_types & (I40E_CAP_PHY_TYPE_10GBASE_LR))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_10G_LR, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_10GBASE_T))
+ if (phy_types & (I40E_CAP_PHY_TYPE_10GBASE_T))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_10G_T, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_40GBASE_CR4) ||
- phy_type & (1 << I40E_PHY_TYPE_40GBASE_CR4_CU) ||
- phy_type & (1 << I40E_PHY_TYPE_40GBASE_AOC) ||
- phy_type & (1 << I40E_PHY_TYPE_XLAUI) ||
- phy_type & (1 << I40E_PHY_TYPE_40GBASE_KR4))
+ if (phy_types & (I40E_CAP_PHY_TYPE_40GBASE_CR4) ||
+ phy_types & (I40E_CAP_PHY_TYPE_40GBASE_CR4_CU) ||
+ phy_types & (I40E_CAP_PHY_TYPE_40GBASE_AOC) ||
+ phy_types & (I40E_CAP_PHY_TYPE_XLAUI) ||
+ phy_types & (I40E_CAP_PHY_TYPE_40GBASE_KR4))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_40G_CR4, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_40GBASE_SR4))
+ if (phy_types & (I40E_CAP_PHY_TYPE_40GBASE_SR4))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_40G_SR4, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_40GBASE_LR4))
+ if (phy_types & (I40E_CAP_PHY_TYPE_40GBASE_LR4))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_40G_LR4, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_1000BASE_KX))
+ if (phy_types & (I40E_CAP_PHY_TYPE_1000BASE_KX))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_1000_KX, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_10GBASE_CR1_CU)
- || phy_type & (1 << I40E_PHY_TYPE_10GBASE_CR1))
+ if (phy_types & (I40E_CAP_PHY_TYPE_10GBASE_CR1_CU)
+ || phy_types & (I40E_CAP_PHY_TYPE_10GBASE_CR1))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_10G_CR1, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_10GBASE_AOC))
+ if (phy_types & (I40E_CAP_PHY_TYPE_10GBASE_AOC))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_10G_TWINAX_LONG, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_SFI))
+ if (phy_types & (I40E_CAP_PHY_TYPE_SFI))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_10G_SFI, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_10GBASE_KX4))
+ if (phy_types & (I40E_CAP_PHY_TYPE_10GBASE_KX4))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_10G_KX4, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_10GBASE_KR))
+ if (phy_types & (I40E_CAP_PHY_TYPE_10GBASE_KR))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_10G_KR, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_20GBASE_KR2))
+ if (phy_types & (I40E_CAP_PHY_TYPE_20GBASE_KR2))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_20G_KR2, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_40GBASE_KR4))
+ if (phy_types & (I40E_CAP_PHY_TYPE_40GBASE_KR4))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_40G_KR4, 0, NULL);
- if (phy_type & (1 << I40E_PHY_TYPE_XLPPI))
+ if (phy_types & (I40E_CAP_PHY_TYPE_XLPPI))
ifmedia_add(&vsi->media, IFM_ETHER | IFM_40G_XLPPI, 0, NULL);
+
+ if (phy_types & (I40E_CAP_PHY_TYPE_25GBASE_KR))
+ ifmedia_add(&vsi->media, IFM_ETHER | IFM_25G_KR, 0, NULL);
+ if (phy_types & (I40E_CAP_PHY_TYPE_25GBASE_CR))
+ ifmedia_add(&vsi->media, IFM_ETHER | IFM_25G_CR, 0, NULL);
+ if (phy_types & (I40E_CAP_PHY_TYPE_25GBASE_SR))
+ ifmedia_add(&vsi->media, IFM_ETHER | IFM_25G_SR, 0, NULL);
+ if (phy_types & (I40E_CAP_PHY_TYPE_25GBASE_LR))
+ ifmedia_add(&vsi->media, IFM_ETHER | IFM_UNKNOWN, 0, NULL);
}
/*********************************************************************
@@ -1765,6 +1864,7 @@ ixl_add_ifmedia(struct ixl_vsi *vsi, u32 phy_type)
int
ixl_setup_interface(device_t dev, struct ixl_vsi *vsi)
{
+ struct ixl_pf *pf = (struct ixl_pf *)vsi->back;
struct ifnet *ifp;
struct i40e_hw *hw = vsi->hw;
struct ixl_queue *que = vsi->queues;
@@ -1780,7 +1880,6 @@ ixl_setup_interface(device_t dev, struct ixl_vsi *vsi)
}
if_initname(ifp, device_get_name(dev), device_get_unit(dev));
ifp->if_mtu = ETHERMTU;
- ifp->if_baudrate = IF_Gbps(40);
ifp->if_init = ixl_init;
ifp->if_softc = vsi;
ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
@@ -1857,8 +1956,10 @@ ixl_setup_interface(device_t dev, struct ixl_vsi *vsi)
" AQ error %d\n", aq_error, hw->aq.asq_last_status);
return (0);
}
+ pf->supported_speeds = abilities.link_speed;
+ ifp->if_baudrate = ixl_max_aq_speed_to_value(pf->supported_speeds);
- ixl_add_ifmedia(vsi, abilities.phy_type);
+ ixl_add_ifmedia(vsi, hw->phy.phy_types);
/* Use autoselect media by default */
ifmedia_add(&vsi->media, IFM_ETHER | IFM_AUTO, 0, NULL);
@@ -1928,7 +2029,7 @@ ixl_switch_config(struct ixl_pf *pf)
sw_config->header.num_reported, sw_config->header.num_total);
for (int i = 0; i < sw_config->header.num_reported; i++) {
device_printf(dev,
- "%d: type=%d seid=%d uplink=%d downlink=%d\n", i,
+ "-> %d: type=%d seid=%d uplink=%d downlink=%d\n", i,
sw_config->element[i].element_type,
sw_config->element[i].seid,
sw_config->element[i].uplink_seid,
@@ -2007,6 +2108,14 @@ ixl_initialize_vsi(struct ixl_vsi *vsi)
else
ctxt.info.port_vlan_flags |= I40E_AQ_VSI_PVLAN_EMOD_NOTHING;
+#ifdef IXL_IW
+ /* Set TCP Enable for iWARP capable VSI */
+ if (ixl_enable_iwarp && pf->iw_enabled) {
+ ctxt.info.valid_sections |=
+ htole16(I40E_AQ_VSI_PROP_QUEUE_OPT_VALID);
+ ctxt.info.queueing_opt_flags |= I40E_AQ_VSI_QUE_OPT_TCP_ENA;
+ }
+#endif
/* Save VSI number and info for use later */
vsi->vsi_num = ctxt.vsi_number;
bcopy(&ctxt.info, &vsi->info, sizeof(vsi->info));
@@ -2198,7 +2307,6 @@ ixl_setup_queue(struct ixl_queue *que, struct ixl_pf *pf, int index)
int error = 0;
int rsize, tsize;
- /* ERJ: A lot of references to external objects... */
que->num_desc = pf->ringsz;
que->me = index;
que->vsi = vsi;
@@ -2316,6 +2424,7 @@ ixl_setup_stations(struct ixl_pf *pf)
return (error);
}
+ /* Then setup each queue */
for (int i = 0; i < vsi->num_queues; i++) {
que = &vsi->queues[i];
error = ixl_setup_queue(que, pf, i);
@@ -2380,7 +2489,7 @@ ixl_set_queue_rx_itr(struct ixl_queue *que)
/* do an exponential smoothing */
rx_itr = (10 * rx_itr * rxr->itr) /
((9 * rx_itr) + rxr->itr);
- rxr->itr = rx_itr & IXL_MAX_ITR;
+ rxr->itr = min(rx_itr, IXL_MAX_ITR);
wr32(hw, I40E_PFINT_ITRN(IXL_RX_ITR,
que->me), rxr->itr);
}
@@ -2454,7 +2563,7 @@ ixl_set_queue_tx_itr(struct ixl_queue *que)
/* do an exponential smoothing */
tx_itr = (10 * tx_itr * txr->itr) /
((9 * tx_itr) + txr->itr);
- txr->itr = tx_itr & IXL_MAX_ITR;
+ txr->itr = min(tx_itr, IXL_MAX_ITR);
wr32(hw, I40E_PFINT_ITRN(IXL_TX_ITR,
que->me), txr->itr);
}
@@ -2497,7 +2606,7 @@ ixl_add_vsi_sysctls(struct ixl_pf *pf, struct ixl_vsi *vsi,
* Retrieves I40E_QTX_TAIL value from hardware
* for a sysctl.
*/
-int
+static int
ixl_sysctl_qtx_tail_handler(SYSCTL_HANDLER_ARGS)
{
struct ixl_queue *que;
@@ -2519,7 +2628,7 @@ ixl_sysctl_qtx_tail_handler(SYSCTL_HANDLER_ARGS)
* Retrieves I40E_QRX_TAIL value from hardware
* for a sysctl.
*/
-int
+static int
ixl_sysctl_qrx_tail_handler(SYSCTL_HANDLER_ARGS)
{
struct ixl_queue *que;
@@ -2658,6 +2767,9 @@ ixl_add_hw_stats(struct ixl_pf *pf)
SYSCTL_ADD_UQUAD(ctx, queue_list, OID_AUTO, "tx_dmamap_failed",
CTLFLAG_RD, &(queues[q].tx_dmamap_failed),
"Driver tx dma failure in xmit");
+ SYSCTL_ADD_UQUAD(ctx, queue_list, OID_AUTO, "mss_too_small",
+ CTLFLAG_RD, &(queues[q].mss_too_small),
+ "TSO sends with an MSS less than 64");
SYSCTL_ADD_UQUAD(ctx, queue_list, OID_AUTO, "no_desc_avail",
CTLFLAG_RD, &(txr->no_desc),
"Queue No Descriptor Available");
@@ -2866,7 +2978,10 @@ ixl_set_rss_pctypes(struct ixl_pf *pf)
if (rss_hash_config & RSS_HASHTYPE_RSS_UDP_IPV6)
set_hena |= ((u64)1 << I40E_FILTER_PCTYPE_NONF_IPV6_UDP);
#else
- set_hena = IXL_DEFAULT_RSS_HENA;
+ if (hw->mac.type == I40E_MAC_X722)
+ set_hena = IXL_DEFAULT_RSS_HENA_X722;
+ else
+ set_hena = IXL_DEFAULT_RSS_HENA_XL710;
#endif
hena = (u64)i40e_read_rx_ctl(hw, I40E_PFQF_HENA(0)) |
((u64)i40e_read_rx_ctl(hw, I40E_PFQF_HENA(1)) << 32);
@@ -3558,11 +3673,11 @@ ixl_enable_intr(struct ixl_vsi *vsi)
struct i40e_hw *hw = vsi->hw;
struct ixl_queue *que = vsi->queues;
- if (pf->enable_msix) {
+ if (pf->msix > 1) {
for (int i = 0; i < vsi->num_queues; i++, que++)
ixl_enable_queue(hw, que->me);
} else
- ixl_enable_legacy(hw);
+ ixl_enable_intr0(hw);
}
void
@@ -3576,31 +3691,19 @@ ixl_disable_rings_intr(struct ixl_vsi *vsi)
}
void
-ixl_disable_intr(struct ixl_vsi *vsi)
-{
- struct ixl_pf *pf = (struct ixl_pf *)vsi->back;
- struct i40e_hw *hw = vsi->hw;
-
- if (pf->enable_msix)
- ixl_disable_adminq(hw);
- else
- ixl_disable_legacy(hw);
-}
-
-void
-ixl_enable_adminq(struct i40e_hw *hw)
+ixl_enable_intr0(struct i40e_hw *hw)
{
u32 reg;
+ /* Use IXL_ITR_NONE so ITR isn't updated here */
reg = I40E_PFINT_DYN_CTL0_INTENA_MASK |
I40E_PFINT_DYN_CTL0_CLEARPBA_MASK |
(IXL_ITR_NONE << I40E_PFINT_DYN_CTL0_ITR_INDX_SHIFT);
wr32(hw, I40E_PFINT_DYN_CTL0, reg);
- ixl_flush(hw);
}
void
-ixl_disable_adminq(struct i40e_hw *hw)
+ixl_disable_intr0(struct i40e_hw *hw)
{
u32 reg;
@@ -3630,25 +3733,6 @@ ixl_disable_queue(struct i40e_hw *hw, int id)
}
void
-ixl_enable_legacy(struct i40e_hw *hw)
-{
- u32 reg;
- reg = I40E_PFINT_DYN_CTL0_INTENA_MASK |
- I40E_PFINT_DYN_CTL0_CLEARPBA_MASK |
- (IXL_ITR_NONE << I40E_PFINT_DYN_CTL0_ITR_INDX_SHIFT);
- wr32(hw, I40E_PFINT_DYN_CTL0, reg);
-}
-
-void
-ixl_disable_legacy(struct i40e_hw *hw)
-{
- u32 reg;
-
- reg = IXL_ITR_NONE << I40E_PFINT_DYN_CTL0_ITR_INDX_SHIFT;
- wr32(hw, I40E_PFINT_DYN_CTL0, reg);
-}
-
-void
ixl_update_stats_counters(struct ixl_pf *pf)
{
struct i40e_hw *hw = &pf->hw;
@@ -3842,7 +3926,7 @@ ixl_rebuild_hw_structs_after_reset(struct ixl_pf *pf)
if (error)
device_printf(dev,
"Shutdown LAN HMC failed with code %d\n", error);
- ixl_disable_adminq(hw);
+ ixl_disable_intr0(hw);
ixl_teardown_adminq_msix(pf);
error = i40e_shutdown_adminq(hw);
if (error)
@@ -3861,7 +3945,7 @@ ixl_rebuild_hw_structs_after_reset(struct ixl_pf *pf)
error);
}
ixl_configure_intr0_msix(pf);
- ixl_enable_adminq(hw);
+ ixl_enable_intr0(hw);
error = i40e_init_lan_hmc(hw, hw->func_caps.num_tx_qp,
hw->func_caps.num_rx_qp, 0, 0);
if (error) {
@@ -3943,7 +4027,7 @@ ixl_do_adminq(void *context, int pending)
break;
opcode = LE16_TO_CPU(event.desc.opcode);
ixl_dbg(pf, IXL_DBG_AQ,
- "%s: Admin Queue event: %#06x\n", __func__, opcode);
+ "Admin Queue event: %#06x\n", opcode);
switch (opcode) {
case i40e_aqc_opc_get_link_status:
ixl_link_event(pf, &event);
@@ -3969,7 +4053,7 @@ ixl_do_adminq(void *context, int pending)
if (result > 0)
taskqueue_enqueue(pf->tq, &pf->adminq);
else
- ixl_enable_adminq(hw);
+ ixl_enable_intr0(hw);
IXL_PF_UNLOCK(pf);
}
@@ -4156,6 +4240,7 @@ void
ixl_add_device_sysctls(struct ixl_pf *pf)
{
device_t dev = pf->dev;
+ struct i40e_hw *hw = &pf->hw;
struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(dev);
struct sysctl_oid_list *ctx_list =
@@ -4164,6 +4249,9 @@ ixl_add_device_sysctls(struct ixl_pf *pf)
struct sysctl_oid *debug_node;
struct sysctl_oid_list *debug_list;
+ struct sysctl_oid *fec_node;
+ struct sysctl_oid_list *fec_list;
+
/* Set up sysctls */
SYSCTL_ADD_PROC(ctx, ctx_list,
OID_AUTO, "fc", CTLTYPE_INT | CTLFLAG_RW,
@@ -4204,6 +4292,38 @@ ixl_add_device_sysctls(struct ixl_pf *pf)
OID_AUTO, "dynamic_tx_itr", CTLFLAG_RW,
&pf->dynamic_tx_itr, 0, "Enable dynamic TX ITR");
+ /* Add FEC sysctls for 25G adapters */
+ /*
+ * XXX: These settings can be changed, but that isn't supported,
+ * so these are read-only for now.
+ */
+ if (hw->device_id == I40E_DEV_ID_25G_B
+ || hw->device_id == I40E_DEV_ID_25G_SFP28) {
+ fec_node = SYSCTL_ADD_NODE(ctx, ctx_list,
+ OID_AUTO, "fec", CTLFLAG_RD, NULL, "FEC Sysctls");
+ fec_list = SYSCTL_CHILDREN(fec_node);
+
+ SYSCTL_ADD_PROC(ctx, fec_list,
+ OID_AUTO, "fc_ability", CTLTYPE_INT | CTLFLAG_RD,
+ pf, 0, ixl_sysctl_fec_fc_ability, "I", "FC FEC ability enabled");
+
+ SYSCTL_ADD_PROC(ctx, fec_list,
+ OID_AUTO, "rs_ability", CTLTYPE_INT | CTLFLAG_RD,
+ pf, 0, ixl_sysctl_fec_rs_ability, "I", "RS FEC ability enabled");
+
+ SYSCTL_ADD_PROC(ctx, fec_list,
+ OID_AUTO, "fc_requested", CTLTYPE_INT | CTLFLAG_RD,
+ pf, 0, ixl_sysctl_fec_fc_request, "I", "FC FEC mode requested on link");
+
+ SYSCTL_ADD_PROC(ctx, fec_list,
+ OID_AUTO, "rs_requested", CTLTYPE_INT | CTLFLAG_RD,
+ pf, 0, ixl_sysctl_fec_rs_request, "I", "RS FEC mode requested on link");
+
+ SYSCTL_ADD_PROC(ctx, fec_list,
+ OID_AUTO, "auto_fec_enabled", CTLTYPE_INT | CTLFLAG_RD,
+ pf, 0, ixl_sysctl_fec_auto_enable, "I", "Let FW decide FEC ability/request modes");
+ }
+
/* Add sysctls meant to print debug information, but don't list them
* in "sysctl -a" output. */
debug_node = SYSCTL_ADD_NODE(ctx, ctx_list,
@@ -4245,6 +4365,25 @@ ixl_add_device_sysctls(struct ixl_pf *pf)
SYSCTL_ADD_PROC(ctx, debug_list,
OID_AUTO, "rss_lut", CTLTYPE_STRING | CTLFLAG_RD,
pf, 0, ixl_sysctl_hlut, "A", "View RSS lookup table");
+
+ SYSCTL_ADD_PROC(ctx, debug_list,
+ OID_AUTO, "rss_hena", CTLTYPE_ULONG | CTLFLAG_RD,
+ pf, 0, ixl_sysctl_hena, "LU", "View enabled packet types for RSS");
+
+ SYSCTL_ADD_PROC(ctx, debug_list,
+ OID_AUTO, "disable_fw_link_management", CTLTYPE_INT | CTLFLAG_WR,
+ pf, 0, ixl_sysctl_fw_link_management, "I", "Disable FW Link Management");
+
+ if (pf->has_i2c) {
+ SYSCTL_ADD_PROC(ctx, debug_list,
+ OID_AUTO, "read_i2c_byte", CTLTYPE_INT | CTLFLAG_RW,
+ pf, 0, ixl_sysctl_read_i2c_byte, "I", "Read byte from I2C bus");
+
+ SYSCTL_ADD_PROC(ctx, debug_list,
+ OID_AUTO, "write_i2c_byte", CTLTYPE_INT | CTLFLAG_RW,
+ pf, 0, ixl_sysctl_write_i2c_byte, "I", "Write byte to I2C bus");
+ }
+
#ifdef PCI_IOV
SYSCTL_ADD_UINT(ctx, debug_list,
OID_AUTO, "vc_debug_level", CTLFLAG_RW, &pf->vc_debug_lvl,
@@ -4316,25 +4455,22 @@ ixl_set_flowcntl(SYSCTL_HANDLER_ARGS)
return (0);
}
-int
-ixl_current_speed(SYSCTL_HANDLER_ARGS)
+char *
+ixl_aq_speed_to_str(enum i40e_aq_link_speed link_speed)
{
- struct ixl_pf *pf = (struct ixl_pf *)arg1;
- struct i40e_hw *hw = &pf->hw;
- int error = 0, index = 0;
+ int index;
char *speeds[] = {
"Unknown",
- "100M",
- "1G",
- "10G",
- "40G",
- "20G"
+ "100 Mbps",
+ "1 Gbps",
+ "10 Gbps",
+ "40 Gbps",
+ "20 Gbps",
+ "25 Gbps",
};
- ixl_update_link_status(pf);
-
- switch (hw->phy.link_info.link_speed) {
+ switch (link_speed) {
case I40E_LINK_SPEED_100MB:
index = 1;
break;
@@ -4350,17 +4486,56 @@ ixl_current_speed(SYSCTL_HANDLER_ARGS)
case I40E_LINK_SPEED_20GB:
index = 5;
break;
+ case I40E_LINK_SPEED_25GB:
+ index = 6;
+ break;
case I40E_LINK_SPEED_UNKNOWN:
default:
index = 0;
break;
}
- error = sysctl_handle_string(oidp, speeds[index],
- strlen(speeds[index]), req);
+ return speeds[index];
+}
+
+int
+ixl_current_speed(SYSCTL_HANDLER_ARGS)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)arg1;
+ struct i40e_hw *hw = &pf->hw;
+ int error = 0;
+
+ ixl_update_link_status(pf);
+
+ error = sysctl_handle_string(oidp,
+ ixl_aq_speed_to_str(hw->phy.link_info.link_speed),
+ 8, req);
return (error);
}
+static u8
+ixl_convert_sysctl_aq_link_speed(u8 speeds, bool to_aq)
+{
+ static u16 speedmap[6] = {
+ (I40E_LINK_SPEED_100MB | (0x1 << 8)),
+ (I40E_LINK_SPEED_1GB | (0x2 << 8)),
+ (I40E_LINK_SPEED_10GB | (0x4 << 8)),
+ (I40E_LINK_SPEED_20GB | (0x8 << 8)),
+ (I40E_LINK_SPEED_25GB | (0x10 << 8)),
+ (I40E_LINK_SPEED_40GB | (0x20 << 8))
+ };
+ u8 retval = 0;
+
+ for (int i = 0; i < 6; i++) {
+ if (to_aq)
+ retval |= (speeds & (speedmap[i] >> 8)) ? (speedmap[i] & 0xff) : 0;
+ else
+ retval |= (speeds & speedmap[i]) ? (speedmap[i] >> 8) : 0;
+ }
+
+ return (retval);
+}
+
int
ixl_set_advertised_speeds(struct ixl_pf *pf, int speeds)
{
@@ -4383,23 +4558,14 @@ ixl_set_advertised_speeds(struct ixl_pf *pf, int speeds)
/* Prepare new config */
bzero(&config, sizeof(config));
+ config.link_speed = ixl_convert_sysctl_aq_link_speed(speeds, true);
config.phy_type = abilities.phy_type;
+ config.phy_type_ext = abilities.phy_type_ext;
config.abilities = abilities.abilities
| I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
config.eee_capability = abilities.eee_capability;
config.eeer = abilities.eeer_val;
config.low_power_ctrl = abilities.d3_lpan;
- /* Translate into aq cmd link_speed */
- if (speeds & 0x10)
- config.link_speed |= I40E_LINK_SPEED_40GB;
- if (speeds & 0x8)
- config.link_speed |= I40E_LINK_SPEED_20GB;
- if (speeds & 0x4)
- config.link_speed |= I40E_LINK_SPEED_10GB;
- if (speeds & 0x2)
- config.link_speed |= I40E_LINK_SPEED_1GB;
- if (speeds & 0x1)
- config.link_speed |= I40E_LINK_SPEED_100MB;
/* Do aq command & restart link */
aq_error = i40e_aq_set_phy_config(hw, &config, NULL);
@@ -4408,18 +4574,9 @@ ixl_set_advertised_speeds(struct ixl_pf *pf, int speeds)
"%s: Error setting new phy config %d,"
" aq error: %d\n", __func__, aq_error,
hw->aq.asq_last_status);
- return (EAGAIN);
+ return (EIO);
}
- /*
- ** This seems a bit heavy handed, but we
- ** need to get a reinit on some devices
- */
- IXL_PF_LOCK(pf);
- ixl_stop_locked(pf);
- ixl_init_locked(pf);
- IXL_PF_UNLOCK(pf);
-
return (0);
}
@@ -4430,7 +4587,8 @@ ixl_set_advertised_speeds(struct ixl_pf *pf, int speeds)
** 0x2 - advertise 1G
** 0x4 - advertise 10G
** 0x8 - advertise 20G
-** 0x10 - advertise 40G
+** 0x10 - advertise 25G
+** 0x20 - advertise 40G
**
** Set to 0 to disable link
*/
@@ -4440,6 +4598,7 @@ ixl_set_advertise(SYSCTL_HANDLER_ARGS)
struct ixl_pf *pf = (struct ixl_pf *)arg1;
struct i40e_hw *hw = &pf->hw;
device_t dev = pf->dev;
+ u8 converted_speeds;
int requested_ls = 0;
int error = 0;
@@ -4448,63 +4607,25 @@ ixl_set_advertise(SYSCTL_HANDLER_ARGS)
error = sysctl_handle_int(oidp, &requested_ls, 0, req);
if ((error) || (req->newptr == NULL))
return (error);
- /* Check for sane value */
- if (requested_ls > 0x10) {
- device_printf(dev, "Invalid advertised speed; "
- "valid modes are 0x1 through 0x10\n");
+ /* Check if changing speeds is supported */
+ switch (hw->device_id) {
+ case I40E_DEV_ID_25G_B:
+ case I40E_DEV_ID_25G_SFP28:
+ device_printf(dev, "Changing advertised speeds not supported"
+ " on this device.\n");
return (EINVAL);
}
- /* Then check for validity based on adapter type */
- switch (hw->device_id) {
- case I40E_DEV_ID_1G_BASE_T_X722:
- /* 1G BaseT */
- if (requested_ls & ~(0x2)) {
- device_printf(dev,
- "Only 1G speeds supported on this device.\n");
- return (EINVAL);
- }
- break;
- case I40E_DEV_ID_10G_BASE_T:
- case I40E_DEV_ID_10G_BASE_T4:
- /* 10G BaseT */
- if (requested_ls & ~(0x7)) {
- device_printf(dev,
- "Only 100M/1G/10G speeds supported on this device.\n");
- return (EINVAL);
- }
- break;
- case I40E_DEV_ID_20G_KR2:
- case I40E_DEV_ID_20G_KR2_A:
- /* 20G */
- if (requested_ls & ~(0xE)) {
- device_printf(dev,
- "Only 1G/10G/20G speeds supported on this device.\n");
- return (EINVAL);
- }
- break;
- case I40E_DEV_ID_KX_B:
- case I40E_DEV_ID_QSFP_A:
- case I40E_DEV_ID_QSFP_B:
- /* 40G */
- if (requested_ls & ~(0x10)) {
- device_printf(dev,
- "Only 40G speeds supported on this device.\n");
- return (EINVAL);
- }
- break;
- default:
- /* 10G (1G) */
- if (requested_ls & ~(0x6)) {
- device_printf(dev,
- "Only 1/10G speeds supported on this device.\n");
- return (EINVAL);
- }
- break;
+ if (requested_ls < 0 || requested_ls > 0xff) {
}
- /* Exit if no change */
- if (pf->advertised_speed == requested_ls)
- return (0);
+ /* Check for valid value */
+ converted_speeds = ixl_convert_sysctl_aq_link_speed((u8)requested_ls, true);
+ if ((converted_speeds | pf->supported_speeds) != pf->supported_speeds) {
+ device_printf(dev, "Invalid advertised speed; "
+ "valid flags are: 0x%02x\n",
+ ixl_convert_sysctl_aq_link_speed(pf->supported_speeds, false));
+ return (EINVAL);
+ }
error = ixl_set_advertised_speeds(pf, requested_ls);
if (error)
@@ -4516,14 +4637,40 @@ ixl_set_advertise(SYSCTL_HANDLER_ARGS)
}
/*
+ * Input: bitmap of enum i40e_aq_link_speed
+ */
+static u64
+ixl_max_aq_speed_to_value(u8 link_speeds)
+{
+ if (link_speeds & I40E_LINK_SPEED_40GB)
+ return IF_Gbps(40);
+ if (link_speeds & I40E_LINK_SPEED_25GB)
+ return IF_Gbps(25);
+ if (link_speeds & I40E_LINK_SPEED_20GB)
+ return IF_Gbps(20);
+ if (link_speeds & I40E_LINK_SPEED_10GB)
+ return IF_Gbps(10);
+ if (link_speeds & I40E_LINK_SPEED_1GB)
+ return IF_Gbps(1);
+ if (link_speeds & I40E_LINK_SPEED_100MB)
+ return IF_Mbps(100);
+ else
+ /* Minimum supported link speed */
+ return IF_Mbps(100);
+}
+
+/*
** Get the width and transaction speed of
** the bus this adapter is plugged into.
*/
void
-ixl_get_bus_info(struct i40e_hw *hw, device_t dev)
+ixl_get_bus_info(struct ixl_pf *pf)
{
- u16 link;
- u32 offset;
+ struct i40e_hw *hw = &pf->hw;
+ device_t dev = pf->dev;
+ u16 link;
+ u32 offset, num_ports;
+ u64 max_speed;
/* Some devices don't use PCIE */
if (hw->mac.type == I40E_MAC_X722)
@@ -4543,16 +4690,28 @@ ixl_get_bus_info(struct i40e_hw *hw, device_t dev)
(hw->bus.speed == i40e_bus_speed_2500) ? "2.5GT/s":"Unknown"),
(hw->bus.width == i40e_bus_width_pcie_x8) ? "Width x8" :
(hw->bus.width == i40e_bus_width_pcie_x4) ? "Width x4" :
+ (hw->bus.width == i40e_bus_width_pcie_x2) ? "Width x2" :
(hw->bus.width == i40e_bus_width_pcie_x1) ? "Width x1" :
("Unknown"));
- if ((hw->bus.width <= i40e_bus_width_pcie_x8) &&
- (hw->bus.speed < i40e_bus_speed_8000)) {
+ /*
+ * If adapter is in slot with maximum supported speed,
+ * no warning message needs to be printed out.
+ */
+ if (hw->bus.speed >= i40e_bus_speed_8000
+ && hw->bus.width >= i40e_bus_width_pcie_x8)
+ return;
+
+ num_ports = bitcount32(hw->func_caps.valid_functions);
+ max_speed = ixl_max_aq_speed_to_value(pf->supported_speeds) / 1000000;
+
+ if ((num_ports * max_speed) > hw->bus.speed * hw->bus.width) {
device_printf(dev, "PCI-Express bandwidth available"
" for this device may be insufficient for"
" optimal performance.\n");
- device_printf(dev, "For optimal performance, a x8 "
- "PCIE Gen3 slot is required.\n");
+ device_printf(dev, "Please move the device to a different"
+ " PCI-e link with more lanes and/or higher"
+ " transfer rate.\n");
}
}
@@ -4650,8 +4809,8 @@ ixl_handle_nvmupd_cmd(struct ixl_pf *pf, struct ifdrv *ifd)
}
if (status)
- device_printf(dev, "i40e_nvmupd_command status %d, perrno %d\n",
- status, perrno);
+ device_printf(dev, "i40e_nvmupd_command status %s, perrno %d\n",
+ i40e_stat_str(hw, status), perrno);
/*
* -EPERM is actually ERESTART, which the kernel interprets as it needing
@@ -4734,6 +4893,19 @@ ixl_media_status(struct ifnet * ifp, struct ifmediareq * ifmr)
case I40E_PHY_TYPE_10GBASE_AOC:
ifmr->ifm_active |= IFM_OTHER;
break;
+ /* 25 G */
+ case I40E_PHY_TYPE_25GBASE_KR:
+ ifmr->ifm_active |= IFM_25G_KR;
+ break;
+ case I40E_PHY_TYPE_25GBASE_CR:
+ ifmr->ifm_active |= IFM_25G_CR;
+ break;
+ case I40E_PHY_TYPE_25GBASE_SR:
+ ifmr->ifm_active |= IFM_25G_SR;
+ break;
+ case I40E_PHY_TYPE_25GBASE_LR:
+ ifmr->ifm_active |= IFM_UNKNOWN;
+ break;
/* 40 G */
case I40E_PHY_TYPE_40GBASE_CR4:
case I40E_PHY_TYPE_40GBASE_CR4_CU:
@@ -4797,48 +4969,6 @@ void
ixl_init(void *arg)
{
struct ixl_pf *pf = arg;
- struct ixl_vsi *vsi = &pf->vsi;
- device_t dev = pf->dev;
- int error = 0;
-
- /*
- * If the aq is dead here, it probably means something outside of the driver
- * did something to the adapter, like a PF reset.
- * So rebuild the driver's state here if that occurs.
- */
- if (!i40e_check_asq_alive(&pf->hw)) {
- device_printf(dev, "Admin Queue is down; resetting...\n");
- IXL_PF_LOCK(pf);
- ixl_teardown_hw_structs(pf);
- ixl_reset(pf);
- IXL_PF_UNLOCK(pf);
- }
-
- /*
- * Set up LAN queue interrupts here.
- * Kernel interrupt setup functions cannot be called while holding a lock,
- * so this is done outside of init_locked().
- */
- if (pf->msix > 1) {
- /* Teardown existing interrupts, if they exist */
- ixl_teardown_queue_msix(vsi);
- ixl_free_queue_tqs(vsi);
- /* Then set them up again */
- error = ixl_setup_queue_msix(vsi);
- if (error)
- device_printf(dev, "ixl_setup_queue_msix() error: %d\n",
- error);
- error = ixl_setup_queue_tqs(vsi);
- if (error)
- device_printf(dev, "ixl_setup_queue_tqs() error: %d\n",
- error);
- } else
- // possibly broken
- error = ixl_assign_vsi_legacy(pf);
- if (error) {
- device_printf(pf->dev, "assign_vsi_msix/legacy error: %d\n", error);
- return;
- }
IXL_PF_LOCK(pf);
ixl_init_locked(pf);
@@ -4891,6 +5021,7 @@ ixl_ioctl(struct ifnet * ifp, u_long command, caddr_t data)
switch (command) {
case SIOCSIFADDR:
+ IOCTL_DEBUGOUT("ioctl: SIOCSIFADDR (Set Interface Address)");
#ifdef INET
if (ifa->ifa_addr->sa_family == AF_INET)
avoid_reset = TRUE;
@@ -4947,9 +5078,7 @@ ixl_ioctl(struct ifnet * ifp, u_long command, caddr_t data)
}
} else {
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
- IXL_PF_UNLOCK(pf);
- ixl_stop(pf);
- IXL_PF_LOCK(pf);
+ ixl_stop_locked(pf);
}
}
pf->if_flags = ifp->if_flags;
@@ -4970,7 +5099,7 @@ ixl_ioctl(struct ifnet * ifp, u_long command, caddr_t data)
IOCTL_DEBUGOUT("ioctl: SIOCADDMULTI");
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
IXL_PF_LOCK(pf);
- ixl_disable_intr(vsi);
+ ixl_disable_rings_intr(vsi);
ixl_add_multi(vsi);
ixl_enable_intr(vsi);
IXL_PF_UNLOCK(pf);
@@ -4980,7 +5109,7 @@ ixl_ioctl(struct ifnet * ifp, u_long command, caddr_t data)
IOCTL_DEBUGOUT("ioctl: SIOCDELMULTI");
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
IXL_PF_LOCK(pf);
- ixl_disable_intr(vsi);
+ ixl_disable_rings_intr(vsi);
ixl_del_multi(vsi);
ixl_enable_intr(vsi);
IXL_PF_UNLOCK(pf);
@@ -5020,7 +5149,37 @@ ixl_ioctl(struct ifnet * ifp, u_long command, caddr_t data)
break;
}
+#if __FreeBSD_version >= 1003000
+ case SIOCGI2C:
+ {
+ struct ifi2creq i2c;
+ int i;
+
+ IOCTL_DEBUGOUT("ioctl: SIOCGI2C (Get I2C Data)");
+ if (!pf->has_i2c)
+ return (ENOTTY);
+
+ error = copyin(ifr->ifr_data, &i2c, sizeof(i2c));
+ if (error != 0)
+ break;
+ if (i2c.dev_addr != 0xA0 && i2c.dev_addr != 0xA2) {
+ error = EINVAL;
+ break;
+ }
+ if (i2c.len > sizeof(i2c.data)) {
+ error = EINVAL;
+ break;
+ }
+ for (i = 0; i < i2c.len; i++)
+ if (ixl_read_i2c_byte(pf, i2c.offset + i,
+ i2c.dev_addr, &i2c.data[i]))
+ return (EIO);
+
+ error = copyout(&i2c, ifr->ifr_data, sizeof(i2c));
+ break;
+ }
+#endif
default:
IOCTL_DEBUGOUT("ioctl: UNKNOWN (0x%X)\n", (int)command);
error = ether_ioctl(ifp, command, data);
@@ -5030,8 +5189,28 @@ ixl_ioctl(struct ifnet * ifp, u_long command, caddr_t data)
return (error);
}
+int
+ixl_find_i2c_interface(struct ixl_pf *pf)
+{
+ struct i40e_hw *hw = &pf->hw;
+ bool i2c_en, port_matched;
+ u32 reg;
+
+ for (int i = 0; i < 4; i++) {
+ reg = rd32(hw, I40E_GLGEN_MDIO_I2C_SEL(i));
+ i2c_en = (reg & I40E_GLGEN_MDIO_I2C_SEL_MDIO_I2C_SEL_MASK);
+ port_matched = ((reg & I40E_GLGEN_MDIO_I2C_SEL_PHY_PORT_NUM_MASK)
+ >> I40E_GLGEN_MDIO_I2C_SEL_PHY_PORT_NUM_SHIFT)
+ & BIT(hw->port);
+ if (i2c_en && port_matched)
+ return (i);
+ }
+
+ return (-1);
+}
+
static char *
-ixl_phy_type_string(u32 bit_pos)
+ixl_phy_type_string(u32 bit_pos, bool ext)
{
static char * phy_types_str[32] = {
"SGMII",
@@ -5067,20 +5246,59 @@ ixl_phy_type_string(u32 bit_pos)
"20GBASE-KR2",
"Reserved (31)"
};
+ static char * ext_phy_types_str[4] = {
+ "25GBASE-KR",
+ "25GBASE-CR",
+ "25GBASE-SR",
+ "25GBASE-LR"
+ };
+ if (ext && bit_pos > 3) return "Invalid_Ext";
if (bit_pos > 31) return "Invalid";
- return phy_types_str[bit_pos];
+
+ return (ext) ? ext_phy_types_str[bit_pos] : phy_types_str[bit_pos];
+}
+
+int
+ixl_aq_get_link_status(struct ixl_pf *pf, struct i40e_aqc_get_link_status *link_status)
+{
+ device_t dev = pf->dev;
+ struct i40e_hw *hw = &pf->hw;
+ struct i40e_aq_desc desc;
+ enum i40e_status_code status;
+
+ struct i40e_aqc_get_link_status *aq_link_status =
+ (struct i40e_aqc_get_link_status *)&desc.params.raw;
+
+ i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_get_link_status);
+ link_status->command_flags = CPU_TO_LE16(I40E_AQ_LSE_ENABLE);
+ status = i40e_asq_send_command(hw, &desc, NULL, 0, NULL);
+ if (status) {
+ device_printf(dev,
+ "%s: i40e_aqc_opc_get_link_status status %s, aq error %s\n",
+ __func__, i40e_stat_str(hw, status),
+ i40e_aq_str(hw, hw->aq.asq_last_status));
+ return (EIO);
+ }
+
+ bcopy(aq_link_status, link_status, sizeof(struct i40e_aqc_get_link_status));
+ return (0);
}
+static char *
+ixl_phy_type_string_ls(u8 val)
+{
+ if (val >= 0x1F)
+ return ixl_phy_type_string(val - 0x1F, true);
+ else
+ return ixl_phy_type_string(val, false);
+}
static int
ixl_sysctl_link_status(SYSCTL_HANDLER_ARGS)
{
struct ixl_pf *pf = (struct ixl_pf *)arg1;
- struct i40e_hw *hw = &pf->hw;
device_t dev = pf->dev;
- struct i40e_link_status link_status;
- enum i40e_status_code status;
struct sbuf *buf;
int error = 0;
@@ -5090,31 +5308,34 @@ ixl_sysctl_link_status(SYSCTL_HANDLER_ARGS)
return (ENOMEM);
}
- status = i40e_aq_get_link_info(hw, true, &link_status, NULL);
- if (status) {
- device_printf(dev,
- "%s: i40e_aq_get_link_info() status %s, aq error %s\n",
- __func__, i40e_stat_str(hw, status),
- i40e_aq_str(hw, hw->aq.asq_last_status));
+ struct i40e_aqc_get_link_status link_status;
+ error = ixl_aq_get_link_status(pf, &link_status);
+ if (error) {
sbuf_delete(buf);
- return (EIO);
+ return (error);
}
+ /* TODO: Add 25G types */
sbuf_printf(buf, "\n"
"PHY Type : 0x%02x<%s>\n"
"Speed : 0x%02x\n"
"Link info: 0x%02x\n"
"AN info : 0x%02x\n"
"Ext info : 0x%02x\n"
+ "Loopback : 0x%02x\n"
"Max Frame: %d\n"
- "Pacing : 0x%02x\n"
- "CRC En? : %s\n",
- link_status.phy_type, ixl_phy_type_string(link_status.phy_type),
+ "Config : 0x%02x\n"
+ "Power : 0x%02x",
+ link_status.phy_type,
+ ixl_phy_type_string_ls(link_status.phy_type),
link_status.link_speed,
- link_status.link_info, link_status.an_info,
- link_status.ext_info, link_status.max_frame_size,
- link_status.pacing,
- (link_status.crc_enable) ? "Yes" : "No");
+ link_status.link_info,
+ link_status.an_info,
+ link_status.ext_info,
+ link_status.loopback,
+ link_status.max_frame_size,
+ link_status.config,
+ link_status.power_desc);
error = sbuf_finish(buf);
if (error)
@@ -5142,7 +5363,7 @@ ixl_sysctl_phy_abilities(SYSCTL_HANDLER_ARGS)
}
status = i40e_aq_get_phy_capabilities(hw,
- TRUE, FALSE, &abilities, NULL);
+ FALSE, FALSE, &abilities, NULL);
if (status) {
device_printf(dev,
"%s: i40e_aq_get_phy_capabilities() status %s, aq error %s\n",
@@ -5160,10 +5381,22 @@ ixl_sysctl_phy_abilities(SYSCTL_HANDLER_ARGS)
sbuf_printf(buf, "<");
for (int i = 0; i < 32; i++)
if ((1 << i) & abilities.phy_type)
- sbuf_printf(buf, "%s,", ixl_phy_type_string(i));
+ sbuf_printf(buf, "%s,", ixl_phy_type_string(i, false));
sbuf_printf(buf, ">\n");
}
+ sbuf_printf(buf, "PHY Ext : %02x",
+ abilities.phy_type_ext);
+
+ if (abilities.phy_type_ext != 0) {
+ sbuf_printf(buf, "<");
+ for (int i = 0; i < 4; i++)
+ if ((1 << i) & abilities.phy_type_ext)
+ sbuf_printf(buf, "%s,", ixl_phy_type_string(i, true));
+ sbuf_printf(buf, ">");
+ }
+ sbuf_printf(buf, "\n");
+
sbuf_printf(buf,
"Speed : %02x\n"
"Abilities: %02x\n"
@@ -5171,14 +5404,19 @@ ixl_sysctl_phy_abilities(SYSCTL_HANDLER_ARGS)
"EEER reg : %08x\n"
"D3 Lpan : %02x\n"
"ID : %02x %02x %02x %02x\n"
- "ModType : %02x %02x %02x",
+ "ModType : %02x %02x %02x\n"
+ "ModType E: %01x\n"
+ "FEC Cfg : %02x\n"
+ "Ext CC : %02x",
abilities.link_speed,
abilities.abilities, abilities.eee_capability,
abilities.eeer_val, abilities.d3_lpan,
abilities.phy_id[0], abilities.phy_id[1],
abilities.phy_id[2], abilities.phy_id[3],
abilities.module_type[0], abilities.module_type[1],
- abilities.module_type[2]);
+ abilities.module_type[2], abilities.phy_type_ext >> 5,
+ abilities.phy_type_ext & 0x1F,
+ abilities.ext_comp_code);
error = sbuf_finish(buf);
if (error)
@@ -5251,7 +5489,7 @@ ixl_res_alloc_cmp(const void *a, const void *b)
char *
ixl_switch_res_type_string(u8 type)
{
- char * ixl_switch_res_type_strings[0x14] = {
+ static char * ixl_switch_res_type_strings[0x14] = {
"VEB",
"VSI",
"Perfect Match MAC address",
@@ -5555,3 +5793,283 @@ ixl_sysctl_hlut(SYSCTL_HANDLER_ARGS)
return (error);
}
+static int
+ixl_sysctl_hena(SYSCTL_HANDLER_ARGS)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)arg1;
+ struct i40e_hw *hw = &pf->hw;
+ u64 hena;
+
+ hena = (u64)i40e_read_rx_ctl(hw, I40E_PFQF_HENA(0)) |
+ ((u64)i40e_read_rx_ctl(hw, I40E_PFQF_HENA(1)) << 32);
+
+ return sysctl_handle_long(oidp, NULL, hena, req);
+}
+
+/*
+ * Sysctl to disable firmware's link management
+ *
+ * 1 - Disable link management on this port
+ * 0 - Re-enable link management
+ *
+ * On normal NVMs, firmware manages link by default.
+ */
+static int
+ixl_sysctl_fw_link_management(SYSCTL_HANDLER_ARGS)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)arg1;
+ struct i40e_hw *hw = &pf->hw;
+ device_t dev = pf->dev;
+ int requested_mode = -1;
+ enum i40e_status_code status = 0;
+ int error = 0;
+
+ /* Read in new mode */
+ error = sysctl_handle_int(oidp, &requested_mode, 0, req);
+ if ((error) || (req->newptr == NULL))
+ return (error);
+ /* Check for sane value */
+ if (requested_mode < 0 || requested_mode > 1) {
+ device_printf(dev, "Valid modes are 0 or 1\n");
+ return (EINVAL);
+ }
+
+ /* Set new mode */
+ status = i40e_aq_set_phy_debug(hw, !!(requested_mode) << 4, NULL);
+ if (status) {
+ device_printf(dev,
+ "%s: Error setting new phy debug mode %s,"
+ " aq error: %s\n", __func__, i40e_stat_str(hw, status),
+ i40e_aq_str(hw, hw->aq.asq_last_status));
+ return (EIO);
+ }
+
+ return (0);
+}
+
+/*
+ * Sysctl to read a byte from I2C bus.
+ *
+ * Input: 32-bit value:
+ * bits 0-7: device address (0xA0 or 0xA2)
+ * bits 8-15: offset (0-255)
+ * bits 16-31: unused
+ * Output: 8-bit value read
+ */
+static int
+ixl_sysctl_read_i2c_byte(SYSCTL_HANDLER_ARGS)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)arg1;
+ device_t dev = pf->dev;
+ int input = -1, error = 0;
+
+ device_printf(dev, "%s: start\n", __func__);
+
+ u8 dev_addr, offset, output;
+
+ /* Read in I2C read parameters */
+ error = sysctl_handle_int(oidp, &input, 0, req);
+ if ((error) || (req->newptr == NULL))
+ return (error);
+ /* Validate device address */
+ dev_addr = input & 0xFF;
+ if (dev_addr != 0xA0 && dev_addr != 0xA2) {
+ return (EINVAL);
+ }
+ offset = (input >> 8) & 0xFF;
+
+ error = ixl_read_i2c_byte(pf, offset, dev_addr, &output);
+ if (error)
+ return (error);
+
+ device_printf(dev, "%02X\n", output);
+ return (0);
+}
+
+/*
+ * Sysctl to write a byte to the I2C bus.
+ *
+ * Input: 32-bit value:
+ * bits 0-7: device address (0xA0 or 0xA2)
+ * bits 8-15: offset (0-255)
+ * bits 16-23: value to write
+ * bits 24-31: unused
+ * Output: 8-bit value written
+ */
+static int
+ixl_sysctl_write_i2c_byte(SYSCTL_HANDLER_ARGS)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)arg1;
+ device_t dev = pf->dev;
+ int input = -1, error = 0;
+
+ u8 dev_addr, offset, value;
+
+ /* Read in I2C write parameters */
+ error = sysctl_handle_int(oidp, &input, 0, req);
+ if ((error) || (req->newptr == NULL))
+ return (error);
+ /* Validate device address */
+ dev_addr = input & 0xFF;
+ if (dev_addr != 0xA0 && dev_addr != 0xA2) {
+ return (EINVAL);
+ }
+ offset = (input >> 8) & 0xFF;
+ value = (input >> 16) & 0xFF;
+
+ error = ixl_write_i2c_byte(pf, offset, dev_addr, value);
+ if (error)
+ return (error);
+
+ device_printf(dev, "%02X written\n", value);
+ return (0);
+}
+
+static int
+ixl_get_fec_config(struct ixl_pf *pf, struct i40e_aq_get_phy_abilities_resp *abilities,
+ u8 bit_pos, int *is_set)
+{
+ device_t dev = pf->dev;
+ struct i40e_hw *hw = &pf->hw;
+ enum i40e_status_code status;
+
+ status = i40e_aq_get_phy_capabilities(hw,
+ FALSE, FALSE, abilities, NULL);
+ if (status) {
+ device_printf(dev,
+ "%s: i40e_aq_get_phy_capabilities() status %s, aq error %s\n",
+ __func__, i40e_stat_str(hw, status),
+ i40e_aq_str(hw, hw->aq.asq_last_status));
+ return (EIO);
+ }
+
+ *is_set = !!(abilities->phy_type_ext & bit_pos);
+ return (0);
+}
+
+static int
+ixl_set_fec_config(struct ixl_pf *pf, struct i40e_aq_get_phy_abilities_resp *abilities,
+ u8 bit_pos, int set)
+{
+ device_t dev = pf->dev;
+ struct i40e_hw *hw = &pf->hw;
+ struct i40e_aq_set_phy_config config;
+ enum i40e_status_code status;
+
+ /* Set new PHY config */
+ memset(&config, 0, sizeof(config));
+ config.fec_config = abilities->phy_type_ext & ~(bit_pos);
+ if (set)
+ config.fec_config |= bit_pos;
+ if (config.fec_config != abilities->phy_type_ext) {
+ config.abilities |= I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
+ config.phy_type = abilities->phy_type;
+ config.phy_type_ext = abilities->phy_type_ext;
+ config.link_speed = abilities->link_speed;
+ config.eee_capability = abilities->eee_capability;
+ config.eeer = abilities->eeer_val;
+ config.low_power_ctrl = abilities->d3_lpan;
+ status = i40e_aq_set_phy_config(hw, &config, NULL);
+
+ if (status) {
+ device_printf(dev,
+ "%s: i40e_aq_set_phy_config() status %s, aq error %s\n",
+ __func__, i40e_stat_str(hw, status),
+ i40e_aq_str(hw, hw->aq.asq_last_status));
+ return (EIO);
+ }
+ }
+
+ return (0);
+}
+
+static int
+ixl_sysctl_fec_fc_ability(SYSCTL_HANDLER_ARGS)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)arg1;
+ int mode, error = 0;
+
+ struct i40e_aq_get_phy_abilities_resp abilities;
+ error = ixl_get_fec_config(pf, &abilities, I40E_AQ_SET_FEC_ABILITY_KR, &mode);
+ if (error)
+ return (error);
+ /* Read in new mode */
+ error = sysctl_handle_int(oidp, &mode, 0, req);
+ if ((error) || (req->newptr == NULL))
+ return (error);
+
+ return ixl_set_fec_config(pf, &abilities, I40E_AQ_SET_FEC_ABILITY_KR, !!(mode));
+}
+
+static int
+ixl_sysctl_fec_rs_ability(SYSCTL_HANDLER_ARGS)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)arg1;
+ int mode, error = 0;
+
+ struct i40e_aq_get_phy_abilities_resp abilities;
+ error = ixl_get_fec_config(pf, &abilities, I40E_AQ_SET_FEC_ABILITY_RS, &mode);
+ if (error)
+ return (error);
+ /* Read in new mode */
+ error = sysctl_handle_int(oidp, &mode, 0, req);
+ if ((error) || (req->newptr == NULL))
+ return (error);
+
+ return ixl_set_fec_config(pf, &abilities, I40E_AQ_SET_FEC_ABILITY_RS, !!(mode));
+}
+
+static int
+ixl_sysctl_fec_fc_request(SYSCTL_HANDLER_ARGS)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)arg1;
+ int mode, error = 0;
+
+ struct i40e_aq_get_phy_abilities_resp abilities;
+ error = ixl_get_fec_config(pf, &abilities, I40E_AQ_SET_FEC_REQUEST_KR, &mode);
+ if (error)
+ return (error);
+ /* Read in new mode */
+ error = sysctl_handle_int(oidp, &mode, 0, req);
+ if ((error) || (req->newptr == NULL))
+ return (error);
+
+ return ixl_set_fec_config(pf, &abilities, I40E_AQ_SET_FEC_REQUEST_KR, !!(mode));
+}
+
+static int
+ixl_sysctl_fec_rs_request(SYSCTL_HANDLER_ARGS)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)arg1;
+ int mode, error = 0;
+
+ struct i40e_aq_get_phy_abilities_resp abilities;
+ error = ixl_get_fec_config(pf, &abilities, I40E_AQ_SET_FEC_REQUEST_RS, &mode);
+ if (error)
+ return (error);
+ /* Read in new mode */
+ error = sysctl_handle_int(oidp, &mode, 0, req);
+ if ((error) || (req->newptr == NULL))
+ return (error);
+
+ return ixl_set_fec_config(pf, &abilities, I40E_AQ_SET_FEC_REQUEST_RS, !!(mode));
+}
+
+static int
+ixl_sysctl_fec_auto_enable(SYSCTL_HANDLER_ARGS)
+{
+ struct ixl_pf *pf = (struct ixl_pf *)arg1;
+ int mode, error = 0;
+
+ struct i40e_aq_get_phy_abilities_resp abilities;
+ error = ixl_get_fec_config(pf, &abilities, I40E_AQ_SET_FEC_AUTO, &mode);
+ if (error)
+ return (error);
+ /* Read in new mode */
+ error = sysctl_handle_int(oidp, &mode, 0, req);
+ if ((error) || (req->newptr == NULL))
+ return (error);
+
+ return ixl_set_fec_config(pf, &abilities, I40E_AQ_SET_FEC_AUTO, !!(mode));
+}
+
diff --git a/sys/dev/ixl/ixl_txrx.c b/sys/dev/ixl/ixl_txrx.c
index 5cf54fa..b329dc4 100644
--- a/sys/dev/ixl/ixl_txrx.c
+++ b/sys/dev/ixl/ixl_txrx.c
@@ -217,22 +217,27 @@ static inline bool
ixl_tso_detect_sparse(struct mbuf *mp)
{
struct mbuf *m;
- int num = 0, mss;
- bool ret = FALSE;
+ int num, mss;
+ num = 0;
mss = mp->m_pkthdr.tso_segsz;
+
+ /* Exclude first mbuf; assume it contains all headers */
for (m = mp->m_next; m != NULL; m = m->m_next) {
- num++;
- mss -= m->m_len;
- if (mss < 1)
- break;
- if (m->m_next == NULL)
+ if (m == NULL)
break;
+ num++;
+ mss -= m->m_len % mp->m_pkthdr.tso_segsz;
+
+ if (mss < 1) {
+ if (num > IXL_SPARSE_CHAIN)
+ return (true);
+ num = (mss == 0) ? 0 : 1;
+ mss += mp->m_pkthdr.tso_segsz;
+ }
}
- if (num > IXL_SPARSE_CHAIN)
- ret = TRUE;
- return (ret);
+ return (false);
}
@@ -311,18 +316,12 @@ ixl_xmit(struct ixl_queue *que, struct mbuf **m_headp)
error = bus_dmamap_load_mbuf_sg(tag, map,
*m_headp, segs, &nsegs, BUS_DMA_NOWAIT);
- if (error == ENOMEM) {
- que->tx_dmamap_failed++;
- return (error);
- } else if (error != 0) {
+ if (error != 0) {
que->tx_dmamap_failed++;
m_freem(*m_headp);
*m_headp = NULL;
return (error);
}
- } else if (error == ENOMEM) {
- que->tx_dmamap_failed++;
- return (error);
} else if (error != 0) {
que->tx_dmamap_failed++;
m_freem(*m_headp);
@@ -403,8 +402,7 @@ ixl_xmit(struct ixl_queue *que, struct mbuf **m_headp)
wr32(hw, txr->tail, i);
/* Mark outstanding work */
- if (que->busy == 0)
- que->busy = 1;
+ atomic_store_rel_32(&txr->watchdog_timer, IXL_WATCHDOG);
return (0);
xmit_fail:
@@ -523,12 +521,14 @@ ixl_init_tx_ring(struct ixl_queue *que)
txr->next_avail = 0;
txr->next_to_clean = 0;
+ /* Reset watchdog status */
+ txr->watchdog_timer = 0;
+
#ifdef IXL_FDIR
/* Initialize flow director */
txr->atr_rate = ixl_atr_rate;
txr->atr_count = 0;
#endif
-
/* Free any existing tx mbufs. */
buf = txr->buffers;
for (int i = 0; i < que->num_desc; i++, buf++) {
@@ -817,7 +817,11 @@ ixl_tso_setup(struct ixl_queue *que, struct mbuf *mp)
type = I40E_TX_DESC_DTYPE_CONTEXT;
cmd = I40E_TX_CTX_DESC_TSO;
- /* ERJ: this must not be less than 64 */
+ /* TSO MSS must not be less than 64 */
+ if (mp->m_pkthdr.tso_segsz < IXL_MIN_TSO_MSS) {
+ que->mss_too_small++;
+ mp->m_pkthdr.tso_segsz = IXL_MIN_TSO_MSS;
+ }
mss = mp->m_pkthdr.tso_segsz;
type_cmd_tso_mss = ((u64)type << I40E_TXD_CTX_QW1_DTYPE_SHIFT) |
@@ -877,7 +881,7 @@ ixl_txeof(struct ixl_queue *que)
/* These are not the descriptors you seek, move along :) */
if (txr->avail == que->num_desc) {
- que->busy = 0;
+ atomic_store_rel_32(&txr->watchdog_timer, 0);
return FALSE;
}
@@ -956,25 +960,10 @@ ixl_txeof(struct ixl_queue *que)
/*
- ** Hang detection, we know there's
- ** work outstanding or the first return
- ** would have been taken, so indicate an
- ** unsuccessful pass, in local_timer if
- ** the value is too great the queue will
- ** be considered hung. If anything has been
- ** cleaned then reset the state.
- */
- if ((processed == 0) && (que->busy != IXL_QUEUE_HUNG))
- ++que->busy;
-
- if (processed)
- que->busy = 1; /* Note this turns off HUNG */
-
- /*
* If there are no pending descriptors, clear the timeout.
*/
if (txr->avail == que->num_desc) {
- que->busy = 0;
+ atomic_store_rel_32(&txr->watchdog_timer, 0);
return FALSE;
}
@@ -1752,8 +1741,16 @@ next_desc:
/*
* Flush any outstanding LRO work
*/
+#if __FreeBSD_version >= 1100105
tcp_lro_flush_all(lro);
+#else
+ struct lro_entry *queued;
+ while ((queued = SLIST_FIRST(&lro->lro_active)) != NULL) {
+ SLIST_REMOVE_HEAD(&lro->lro_active, next);
+ tcp_lro_flush(lro, queued);
+ }
#endif
+#endif /* defined(INET6) || defined(INET) */
IXL_RX_UNLOCK(rxr);
return (FALSE);
diff --git a/sys/dev/ixl/ixlv.h b/sys/dev/ixl/ixlv.h
index be4daee..d5aab9e 100644
--- a/sys/dev/ixl/ixlv.h
+++ b/sys/dev/ixl/ixlv.h
@@ -38,7 +38,8 @@
#include "ixlv_vc_mgr.h"
-#define IXLV_AQ_MAX_ERR 200
+#define IXLV_AQ_MAX_ERR 30
+#define IXLV_MAX_INIT_WAIT 120
#define IXLV_MAX_FILTERS 128
#define IXLV_MAX_QUEUES 16
#define IXLV_AQ_TIMEOUT (1 * hz)
diff --git a/sys/dev/ixl/ixlvc.c b/sys/dev/ixl/ixlvc.c
index 7b041c1..9c6b869 100644
--- a/sys/dev/ixl/ixlvc.c
+++ b/sys/dev/ixl/ixlvc.c
@@ -178,8 +178,11 @@ ixlv_send_pf_msg(struct ixlv_sc *sc,
err = i40e_aq_send_msg_to_pf(hw, op, I40E_SUCCESS, msg, len, NULL);
if (err)
- device_printf(dev, "Unable to send opcode %d to PF, "
- "error %d, aq status %d\n", op, err, hw->aq.asq_last_status);
+ device_printf(dev, "Unable to send opcode %s to PF, "
+ "status %s, aq error %s\n",
+ ixl_vc_opcode_str(op),
+ i40e_stat_str(hw, err),
+ i40e_aq_str(hw, hw->aq.asq_last_status));
return err;
}
@@ -871,7 +874,7 @@ ixlv_set_rss_hena(struct ixlv_sc *sc)
{
struct i40e_virtchnl_rss_hena hena;
- hena.hena = IXL_DEFAULT_RSS_HENA;
+ hena.hena = IXL_DEFAULT_RSS_HENA_X722;
ixlv_send_pf_msg(sc, I40E_VIRTCHNL_OP_SET_RSS_HENA,
(u8 *)&hena, sizeof(hena));
@@ -972,8 +975,8 @@ ixlv_vc_completion(struct ixlv_sc *sc,
/* Catch-all error response */
if (v_retval) {
device_printf(dev,
- "%s: AQ returned error %d to our request %d!\n",
- __func__, v_retval, v_opcode);
+ "%s: AQ returned error %s to our request %s!\n",
+ __func__, i40e_stat_str(&sc->hw, v_retval), ixl_vc_opcode_str(v_opcode));
}
#ifdef IXL_DEBUG
@@ -1055,8 +1058,8 @@ ixlv_vc_completion(struct ixlv_sc *sc,
default:
#ifdef IXL_DEBUG
device_printf(dev,
- "%s: Received unexpected message %d from PF.\n",
- __func__, v_opcode);
+ "%s: Received unexpected message %s from PF.\n",
+ __func__, ixl_vc_opcode_str(v_opcode));
#endif
break;
}
diff --git a/sys/dev/jedec_ts/jedec_ts.c b/sys/dev/jedec_ts/jedec_ts.c
index d1e9596..c8d1379 100644
--- a/sys/dev/jedec_ts/jedec_ts.c
+++ b/sys/dev/jedec_ts/jedec_ts.c
@@ -114,7 +114,7 @@ ts_attach(device_t dev)
device_printf(dev, "failed to read Manufacturer ID\n");
return (ENXIO);
}
- err = ts_readw_be(dev, 6, &devid);
+ err = ts_readw_be(dev, 7, &devid);
if (err != 0) {
device_printf(dev, "failed to read Device ID\n");
return (ENXIO);
diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c
index 6802df6..c305467 100644
--- a/sys/dev/md/md.c
+++ b/sys/dev/md/md.c
@@ -969,6 +969,16 @@ unmapped_step:
return (error);
}
+static void
+md_swap_page_free(vm_page_t m)
+{
+
+ vm_page_xunbusy(m);
+ vm_page_lock(m);
+ vm_page_free(m);
+ vm_page_unlock(m);
+}
+
static int
mdstart_swap(struct md_s *sc, struct bio *bp)
{
@@ -1041,15 +1051,17 @@ mdstart_swap(struct md_s *sc, struct bio *bp)
cpu_flush_dcache(p, len);
}
} else if (bp->bio_cmd == BIO_WRITE) {
- if (len != PAGE_SIZE && m->valid != VM_PAGE_BITS_ALL)
+ if (len == PAGE_SIZE || m->valid == VM_PAGE_BITS_ALL)
+ rv = VM_PAGER_OK;
+ else
rv = vm_pager_get_pages(sc->object, &m, 1,
NULL, NULL);
- else
- rv = VM_PAGER_OK;
if (rv == VM_PAGER_ERROR) {
vm_page_xunbusy(m);
break;
- }
+ } else if (rv == VM_PAGER_FAIL)
+ pmap_zero_page(m);
+
if ((bp->bio_flags & BIO_UNMAPPED) != 0) {
pmap_copy_pages(bp->bio_ma, ma_offs, &m,
offs, len);
@@ -1059,34 +1071,40 @@ mdstart_swap(struct md_s *sc, struct bio *bp)
} else {
physcopyin(p, VM_PAGE_TO_PHYS(m) + offs, len);
}
+
m->valid = VM_PAGE_BITS_ALL;
+ vm_page_dirty(m);
+ vm_pager_page_unswapped(m);
} else if (bp->bio_cmd == BIO_DELETE) {
- if (len != PAGE_SIZE && m->valid != VM_PAGE_BITS_ALL)
+ if (len == PAGE_SIZE || m->valid == VM_PAGE_BITS_ALL)
+ rv = VM_PAGER_OK;
+ else
rv = vm_pager_get_pages(sc->object, &m, 1,
NULL, NULL);
- else
- rv = VM_PAGER_OK;
if (rv == VM_PAGER_ERROR) {
vm_page_xunbusy(m);
break;
- }
- if (len != PAGE_SIZE) {
- pmap_zero_page_area(m, offs, len);
- vm_page_clear_dirty(m, offs, len);
- m->valid = VM_PAGE_BITS_ALL;
- } else
+ } else if (rv == VM_PAGER_FAIL) {
+ md_swap_page_free(m);
+ m = NULL;
+ } else {
+ /* Page is valid. */
+ if (len != PAGE_SIZE) {
+ pmap_zero_page_area(m, offs, len);
+ vm_page_dirty(m);
+ }
vm_pager_page_unswapped(m);
+ if (len == PAGE_SIZE) {
+ md_swap_page_free(m);
+ m = NULL;
+ }
+ }
}
- vm_page_xunbusy(m);
- vm_page_lock(m);
- if (bp->bio_cmd == BIO_DELETE && len == PAGE_SIZE)
- vm_page_free(m);
- else
+ if (m != NULL) {
+ vm_page_xunbusy(m);
+ vm_page_lock(m);
vm_page_activate(m);
- vm_page_unlock(m);
- if (bp->bio_cmd == BIO_WRITE) {
- vm_page_dirty(m);
- vm_pager_page_unswapped(m);
+ vm_page_unlock(m);
}
/* Actions on further pages start at offset 0 */
diff --git a/sys/dev/mmc/bridge.h b/sys/dev/mmc/bridge.h
index a26c31e..a780ffa 100644
--- a/sys/dev/mmc/bridge.h
+++ b/sys/dev/mmc/bridge.h
@@ -52,7 +52,7 @@
*/
#ifndef DEV_MMC_BRIDGE_H
-#define DEV_MMC_BRIDGE_H
+#define DEV_MMC_BRIDGE_H
#include <sys/bus.h>
@@ -60,7 +60,7 @@
* This file defines interfaces for the mmc bridge. The names chosen
* are similar to or the same as the names used in Linux to allow for
* easy porting of what Linux calls mmc host drivers. I use the
- * FreeBSD terminology of bridge and bus for consistancy with other
+ * FreeBSD terminology of bridge and bus for consistency with other
* drivers in the system. This file corresponds roughly to the Linux
* linux/mmc/host.h file.
*
@@ -73,10 +73,9 @@
* to be added to the mmcbus file).
*
* Attached to the mmc bridge is an mmcbus. The mmcbus is described
- * in dev/mmc/bus.h.
+ * in dev/mmc/mmcbus_if.m.
*/
-
/*
* mmc_ios is a structure that is used to store the state of the mmc/sd
* bus configuration. This include the bus' clock speed, its voltage,
@@ -90,6 +89,10 @@ enum mmc_vdd {
vdd_330, vdd_340, vdd_350, vdd_360
};
+enum mmc_vccq {
+ vccq_120 = 0, vccq_180, vccq_330
+};
+
enum mmc_power_mode {
power_off = 0, power_up, power_on
};
@@ -106,18 +109,28 @@ enum mmc_bus_width {
bus_width_1 = 0, bus_width_4 = 2, bus_width_8 = 3
};
+enum mmc_drv_type {
+ drv_type_b = 0, drv_type_a, drv_type_c, drv_type_d
+};
+
enum mmc_bus_timing {
- bus_timing_normal = 0, bus_timing_hs
+ bus_timing_normal = 0, bus_timing_hs, bus_timing_uhs_sdr12,
+ bus_timing_uhs_sdr25, bus_timing_uhs_sdr50, bus_timing_uhs_ddr50,
+ bus_timing_uhs_sdr104, bus_timing_mmc_ddr52, bus_timing_mmc_hs200,
+ bus_timing_mmc_hs400, bus_timing_mmc_hs400es, bus_timing_max =
+ bus_timing_mmc_hs400es
};
struct mmc_ios {
uint32_t clock; /* Speed of the clock in Hz to move data */
- enum mmc_vdd vdd; /* Voltage to apply to the power pins/ */
+ enum mmc_vdd vdd; /* Voltage to apply to the power pins */
+ enum mmc_vccq vccq; /* Voltage to use for signaling */
enum mmc_bus_mode bus_mode;
enum mmc_chip_select chip_select;
enum mmc_bus_width bus_width;
enum mmc_power_mode power_mode;
enum mmc_bus_timing timing;
+ enum mmc_drv_type drv_type;
};
enum mmc_card_mode {
@@ -130,9 +143,33 @@ struct mmc_host {
uint32_t host_ocr;
uint32_t ocr;
uint32_t caps;
-#define MMC_CAP_4_BIT_DATA (1 << 0) /* Can do 4-bit data transfers */
-#define MMC_CAP_8_BIT_DATA (1 << 1) /* Can do 8-bit data transfers */
-#define MMC_CAP_HSPEED (1 << 2) /* Can do High Speed transfers */
+#define MMC_CAP_4_BIT_DATA (1 << 0) /* Can do 4-bit data transfers */
+#define MMC_CAP_8_BIT_DATA (1 << 1) /* Can do 8-bit data transfers */
+#define MMC_CAP_HSPEED (1 << 2) /* Can do High Speed transfers */
+#define MMC_CAP_BOOT_NOACC (1 << 4) /* Cannot access boot partitions */
+#define MMC_CAP_WAIT_WHILE_BUSY (1 << 5) /* Host waits for busy responses */
+#define MMC_CAP_UHS_SDR12 (1 << 6) /* Can do UHS SDR12 */
+#define MMC_CAP_UHS_SDR25 (1 << 7) /* Can do UHS SDR25 */
+#define MMC_CAP_UHS_SDR50 (1 << 8) /* Can do UHS SDR50 */
+#define MMC_CAP_UHS_SDR104 (1 << 9) /* Can do UHS SDR104 */
+#define MMC_CAP_UHS_DDR50 (1 << 10) /* Can do UHS DDR50 */
+#define MMC_CAP_MMC_DDR52_120 (1 << 11) /* Can do eMMC DDR52 at 1.2 V */
+#define MMC_CAP_MMC_DDR52_180 (1 << 12) /* Can do eMMC DDR52 at 1.8 V */
+#define MMC_CAP_MMC_DDR52 (MMC_CAP_MMC_DDR52_120 | MMC_CAP_MMC_DDR52_180)
+#define MMC_CAP_MMC_HS200_120 (1 << 13) /* Can do eMMC HS200 at 1.2 V */
+#define MMC_CAP_MMC_HS200_180 (1 << 14) /* Can do eMMC HS200 at 1.8 V */
+#define MMC_CAP_MMC_HS200 (MMC_CAP_MMC_HS200_120| MMC_CAP_MMC_HS200_180)
+#define MMC_CAP_MMC_HS400_120 (1 << 15) /* Can do eMMC HS400 at 1.2 V */
+#define MMC_CAP_MMC_HS400_180 (1 << 16) /* Can do eMMC HS400 at 1.8 V */
+#define MMC_CAP_MMC_HS400 (MMC_CAP_MMC_HS400_120 | MMC_CAP_MMC_HS400_180)
+#define MMC_CAP_MMC_HSX00_120 (MMC_CAP_MMC_HS200_120 | MMC_CAP_MMC_HS400_120)
+#define MMC_CAP_MMC_ENH_STROBE (1 << 17) /* Can do eMMC Enhanced Strobe */
+#define MMC_CAP_SIGNALING_120 (1 << 18) /* Can do signaling at 1.2 V */
+#define MMC_CAP_SIGNALING_180 (1 << 19) /* Can do signaling at 1.8 V */
+#define MMC_CAP_SIGNALING_330 (1 << 20) /* Can do signaling at 3.3 V */
+#define MMC_CAP_DRIVER_TYPE_A (1 << 21) /* Can do Driver Type A */
+#define MMC_CAP_DRIVER_TYPE_C (1 << 22) /* Can do Driver Type C */
+#define MMC_CAP_DRIVER_TYPE_D (1 << 23) /* Can do Driver Type D */
enum mmc_card_mode mode;
struct mmc_ios ios; /* Current state of the host */
};
@@ -140,4 +177,12 @@ struct mmc_host {
extern driver_t mmc_driver;
extern devclass_t mmc_devclass;
+#define MMC_VERSION 3
+
+#define MMC_DECLARE_BRIDGE(name) \
+ DRIVER_MODULE(mmc, name, mmc_driver, mmc_devclass, NULL, NULL); \
+ MODULE_DEPEND(name, mmc, MMC_VERSION, MMC_VERSION, MMC_VERSION);
+#define MMC_DEPEND(name) \
+ MODULE_DEPEND(name, mmc, MMC_VERSION, MMC_VERSION, MMC_VERSION);
+
#endif /* DEV_MMC_BRIDGE_H */
diff --git a/sys/dev/mmc/host/dwmmc.c b/sys/dev/mmc/host/dwmmc.c
index fe08fe9..18b6dee 100644
--- a/sys/dev/mmc/host/dwmmc.c
+++ b/sys/dev/mmc/host/dwmmc.c
@@ -43,11 +43,8 @@ __FBSDID("$FreeBSD$");
#include <sys/module.h>
#include <sys/malloc.h>
#include <sys/rman.h>
-#include <sys/timeet.h>
-#include <sys/timetc.h>
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
#include <dev/mmc/mmcbrvar.h>
#include <dev/fdt/fdt_common.h>
@@ -1182,7 +1179,6 @@ driver_t dwmmc_driver = {
static devclass_t dwmmc_devclass;
-DRIVER_MODULE(dwmmc, simplebus, dwmmc_driver, dwmmc_devclass, 0, 0);
-DRIVER_MODULE(dwmmc, ofwbus, dwmmc_driver, dwmmc_devclass, 0, 0);
-DRIVER_MODULE(mmc, dwmmc, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(dwmmc, mmc, 1, 1, 1);
+DRIVER_MODULE(dwmmc, simplebus, dwmmc_driver, dwmmc_devclass, NULL, NULL);
+DRIVER_MODULE(dwmmc, ofwbus, dwmmc_driver, dwmmc_devclass, NULL, NULL);
+MMC_DECLARE_BRIDGE(dwmmc);
diff --git a/sys/dev/mmc/mmc.c b/sys/dev/mmc/mmc.c
index d5e5256..af34bd7 100644
--- a/sys/dev/mmc/mmc.c
+++ b/sys/dev/mmc/mmc.c
@@ -1,6 +1,7 @@
/*-
* Copyright (c) 2006 Bernd Walter. All rights reserved.
* Copyright (c) 2006 M. Warner Losh. All rights reserved.
+ * Copyright (c) 2017 Marius Strobl <marius@FreeBSD.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -65,24 +66,17 @@ __FBSDID("$FreeBSD$");
#include <sys/sysctl.h>
#include <sys/time.h>
+#include <dev/mmc/bridge.h>
+#include <dev/mmc/mmc_private.h>
+#include <dev/mmc/mmc_subr.h>
#include <dev/mmc/mmcreg.h>
#include <dev/mmc/mmcbrvar.h>
#include <dev/mmc/mmcvar.h>
+
#include "mmcbr_if.h"
#include "mmcbus_if.h"
-struct mmc_softc {
- device_t dev;
- struct mtx sc_mtx;
- struct intr_config_hook config_intrhook;
- device_t owner;
- uint32_t last_rca;
- int squelched; /* suppress reporting of (expected) errors */
- int log_count;
- struct timeval log_time;
-};
-
-#define LOG_PPS 5 /* Log no more than 5 errors per second. */
+CTASSERT(bus_timing_max <= sizeof(uint32_t) * NBBY);
/*
* Per-card data
@@ -91,7 +85,7 @@ struct mmc_ivars {
uint32_t raw_cid[4]; /* Raw bits of the CID */
uint32_t raw_csd[4]; /* Raw bits of the CSD */
uint32_t raw_scr[2]; /* Raw bits of the SCR */
- uint8_t raw_ext_csd[512]; /* Raw bits of the EXT_CSD */
+ uint8_t raw_ext_csd[MMC_EXTCSD_SIZE]; /* Raw bits of the EXT_CSD */
uint32_t raw_sd_status[16]; /* Raw bits of the SD_STATUS */
uint16_t rca;
enum mmc_card_mode mode;
@@ -101,24 +95,26 @@ struct mmc_ivars {
struct mmc_sd_status sd_status; /* SD_STATUS decoded */
u_char read_only; /* True when the device is read-only */
u_char bus_width; /* Bus width to use */
- u_char timing; /* Bus timing support */
u_char high_cap; /* High Capacity card (block addressed) */
uint32_t sec_count; /* Card capacity in 512byte blocks */
+ uint32_t timings; /* Mask of bus timings supported */
+ uint32_t vccq_120; /* Mask of bus timings at VCCQ of 1.2 V */
+ uint32_t vccq_180; /* Mask of bus timings at VCCQ of 1.8 V */
uint32_t tran_speed; /* Max speed in normal mode */
uint32_t hs_tran_speed; /* Max speed in high speed mode */
uint32_t erase_sector; /* Card native erase sector size */
+ uint32_t cmd6_time; /* Generic switch timeout [us] */
char card_id_string[64];/* Formatted CID info (serial, MFG, etc) */
char card_sn_string[16];/* Formatted serial # for disk->d_ident */
};
-#define CMD_RETRIES 3
-
-#define CARD_ID_FREQUENCY 400000 /* Spec requires 400kHz max during ID phase. */
+#define CMD_RETRIES 3
static SYSCTL_NODE(_hw, OID_AUTO, mmc, CTLFLAG_RD, NULL, "mmc driver");
static int mmc_debug;
-SYSCTL_INT(_hw_mmc, OID_AUTO, debug, CTLFLAG_RWTUN, &mmc_debug, 0, "Debug level");
+SYSCTL_INT(_hw_mmc, OID_AUTO, debug, CTLFLAG_RWTUN, &mmc_debug, 0,
+ "Debug level");
/* bus entry points */
static int mmc_acquire_bus(device_t busdev, device_t dev);
@@ -137,14 +133,14 @@ static int mmc_wait_for_request(device_t brdev, device_t reqdev,
static int mmc_write_ivar(device_t bus, device_t child, int which,
uintptr_t value);
-#define MMC_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
+#define MMC_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
#define MMC_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx)
-#define MMC_LOCK_INIT(_sc) \
- mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \
+#define MMC_LOCK_INIT(_sc) \
+ mtx_init(&(_sc)->sc_mtx, device_get_nameunit((_sc)->dev), \
"mmc", MTX_DEF)
-#define MMC_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx);
-#define MMC_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED);
-#define MMC_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED);
+#define MMC_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_mtx);
+#define MMC_ASSERT_LOCKED(_sc) mtx_assert(&(_sc)->sc_mtx, MA_OWNED);
+#define MMC_ASSERT_UNLOCKED(_sc) mtx_assert(&(_sc)->sc_mtx, MA_NOTOWNED);
static int mmc_all_send_cid(struct mmc_softc *sc, uint32_t *rawcid);
static void mmc_app_decode_scr(uint32_t *raw_scr, struct mmc_scr *scr);
@@ -155,7 +151,8 @@ static int mmc_app_sd_status(struct mmc_softc *sc, uint16_t rca,
static int mmc_app_send_scr(struct mmc_softc *sc, uint16_t rca,
uint32_t *rawscr);
static int mmc_calculate_clock(struct mmc_softc *sc);
-static void mmc_decode_cid_mmc(uint32_t *raw_cid, struct mmc_cid *cid);
+static void mmc_decode_cid_mmc(uint32_t *raw_cid, struct mmc_cid *cid,
+ bool is_4_41p);
static void mmc_decode_cid_sd(uint32_t *raw_cid, struct mmc_cid *cid);
static void mmc_decode_csd_mmc(uint32_t *raw_csd, struct mmc_csd *csd);
static void mmc_decode_csd_sd(uint32_t *raw_csd, struct mmc_csd *csd);
@@ -181,25 +178,20 @@ static uint32_t mmc_select_vdd(struct mmc_softc *sc, uint32_t ocr);
static int mmc_send_app_op_cond(struct mmc_softc *sc, uint32_t ocr,
uint32_t *rocr);
static int mmc_send_csd(struct mmc_softc *sc, uint16_t rca, uint32_t *rawcsd);
-static int mmc_send_ext_csd(struct mmc_softc *sc, uint8_t *rawextcsd);
static int mmc_send_if_cond(struct mmc_softc *sc, uint8_t vhs);
static int mmc_send_op_cond(struct mmc_softc *sc, uint32_t ocr,
uint32_t *rocr);
static int mmc_send_relative_addr(struct mmc_softc *sc, uint32_t *resp);
-static int mmc_send_status(struct mmc_softc *sc, uint16_t rca,
- uint32_t *status);
static int mmc_set_blocklen(struct mmc_softc *sc, uint32_t len);
-static int mmc_set_card_bus_width(struct mmc_softc *sc, uint16_t rca,
- int width);
+static int mmc_set_card_bus_width(struct mmc_softc *sc, struct mmc_ivars *ivar);
+static int mmc_set_power_class(struct mmc_softc *sc, struct mmc_ivars *ivar);
static int mmc_set_relative_addr(struct mmc_softc *sc, uint16_t resp);
-static int mmc_set_timing(struct mmc_softc *sc, int timing);
-static int mmc_switch(struct mmc_softc *sc, uint8_t set, uint8_t index,
- uint8_t value);
+static int mmc_set_timing(struct mmc_softc *sc, struct mmc_ivars *ivar,
+ enum mmc_bus_timing timing);
static int mmc_test_bus_width(struct mmc_softc *sc);
-static int mmc_wait_for_app_cmd(struct mmc_softc *sc, uint32_t rca,
- struct mmc_command *cmd, int retries);
-static int mmc_wait_for_cmd(struct mmc_softc *sc, struct mmc_command *cmd,
- int retries);
+static uint32_t mmc_timing_to_dtr(struct mmc_ivars *ivar,
+ enum mmc_bus_timing timing);
+static const char *mmc_timing_to_string(enum mmc_bus_timing timing);
static int mmc_wait_for_command(struct mmc_softc *sc, uint32_t opcode,
uint32_t arg, uint32_t flags, uint32_t *resp, int retries);
static int mmc_wait_for_req(struct mmc_softc *sc, struct mmc_request *req);
@@ -259,7 +251,7 @@ mmc_suspend(device_t dev)
err = bus_generic_suspend(dev);
if (err)
- return (err);
+ return (err);
mmc_power_down(sc);
return (0);
}
@@ -278,8 +270,8 @@ mmc_acquire_bus(device_t busdev, device_t dev)
{
struct mmc_softc *sc;
struct mmc_ivars *ivar;
- int err;
- int rca;
+ int err, rca;
+ enum mmc_bus_timing timing;
err = MMCBR_ACQUIRE_HOST(device_get_parent(busdev), busdev);
if (err)
@@ -298,19 +290,47 @@ mmc_acquire_bus(device_t busdev, device_t dev)
* unselect unless the bus code itself wants the mmc
* bus, and constantly reselecting causes problems.
*/
- rca = mmc_get_rca(dev);
+ ivar = device_get_ivars(dev);
+ rca = ivar->rca;
if (sc->last_rca != rca) {
- mmc_select_card(sc, rca);
+ if (mmc_select_card(sc, rca) != MMC_ERR_NONE) {
+ device_printf(sc->dev, "Card at relative "
+ "address %d failed to select.\n", rca);
+ return (ENXIO);
+ }
sc->last_rca = rca;
+ timing = mmcbr_get_timing(busdev);
/* Prepare bus width for the new card. */
- ivar = device_get_ivars(dev);
if (bootverbose || mmc_debug) {
device_printf(busdev,
- "setting bus width to %d bits\n",
+ "setting bus width to %d bits %s timing\n",
(ivar->bus_width == bus_width_4) ? 4 :
- (ivar->bus_width == bus_width_8) ? 8 : 1);
+ (ivar->bus_width == bus_width_8) ? 8 : 1,
+ mmc_timing_to_string(timing));
+ }
+ if (mmc_set_card_bus_width(sc, ivar) != MMC_ERR_NONE) {
+ device_printf(sc->dev, "Card at relative "
+ "address %d failed to set bus width.\n",
+ rca);
+ return (ENXIO);
+ }
+ if (isset(&ivar->vccq_120, timing))
+ mmcbr_set_vccq(busdev, vccq_120);
+ else if (isset(&ivar->vccq_180, timing))
+ mmcbr_set_vccq(busdev, vccq_180);
+ else
+ mmcbr_set_vccq(busdev, vccq_330);
+ if (mmcbr_switch_vccq(busdev) != 0) {
+ device_printf(sc->dev, "Failed to set VCCQ "
+ "for card at relative address %d.\n", rca);
+ return (ENXIO);
+ }
+ if (mmc_set_power_class(sc, ivar) != MMC_ERR_NONE) {
+ device_printf(sc->dev, "Card at relative "
+ "address %d failed to set power class.\n",
+ rca);
+ return (ENXIO);
}
- mmc_set_card_bus_width(sc, rca, ivar->bus_width);
mmcbr_set_bus_width(busdev, ivar->bus_width);
mmcbr_update_ios(busdev);
}
@@ -407,7 +427,8 @@ mmc_wait_for_req(struct mmc_softc *sc, struct mmc_request *req)
}
static int
-mmc_wait_for_request(device_t brdev, device_t reqdev, struct mmc_request *req)
+mmc_wait_for_request(device_t brdev, device_t reqdev __unused,
+ struct mmc_request *req)
{
struct mmc_softc *sc = device_get_softc(brdev);
@@ -415,74 +436,6 @@ mmc_wait_for_request(device_t brdev, device_t reqdev, struct mmc_request *req)
}
static int
-mmc_wait_for_cmd(struct mmc_softc *sc, struct mmc_command *cmd, int retries)
-{
- struct mmc_request mreq;
- int err;
-
- do {
- memset(&mreq, 0, sizeof(mreq));
- memset(cmd->resp, 0, sizeof(cmd->resp));
- cmd->retries = 0; /* Retries done here, not in hardware. */
- cmd->mrq = &mreq;
- mreq.cmd = cmd;
- if (mmc_wait_for_req(sc, &mreq) != 0)
- err = MMC_ERR_FAILED;
- else
- err = cmd->error;
- } while (err != MMC_ERR_NONE && retries-- > 0);
-
- if (err != MMC_ERR_NONE && sc->squelched == 0) {
- if (ppsratecheck(&sc->log_time, &sc->log_count, LOG_PPS)) {
- device_printf(sc->dev, "CMD%d failed, RESULT: %d\n",
- cmd->opcode, err);
- }
- }
-
- return (err);
-}
-
-static int
-mmc_wait_for_app_cmd(struct mmc_softc *sc, uint32_t rca,
- struct mmc_command *cmd, int retries)
-{
- struct mmc_command appcmd;
- int err;
-
- /* Squelch error reporting at lower levels, we report below. */
- sc->squelched++;
- do {
- memset(&appcmd, 0, sizeof(appcmd));
- appcmd.opcode = MMC_APP_CMD;
- appcmd.arg = rca << 16;
- appcmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
- appcmd.data = NULL;
- if (mmc_wait_for_cmd(sc, &appcmd, 0) != 0)
- err = MMC_ERR_FAILED;
- else
- err = appcmd.error;
- if (err == MMC_ERR_NONE) {
- if (!(appcmd.resp[0] & R1_APP_CMD))
- err = MMC_ERR_FAILED;
- else if (mmc_wait_for_cmd(sc, cmd, 0) != 0)
- err = MMC_ERR_FAILED;
- else
- err = cmd->error;
- }
- } while (err != MMC_ERR_NONE && retries-- > 0);
- sc->squelched--;
-
- if (err != MMC_ERR_NONE && sc->squelched == 0) {
- if (ppsratecheck(&sc->log_time, &sc->log_count, LOG_PPS)) {
- device_printf(sc->dev, "ACMD%d failed, RESULT: %d\n",
- cmd->opcode, err);
- }
- }
-
- return (err);
-}
-
-static int
mmc_wait_for_command(struct mmc_softc *sc, uint32_t opcode,
uint32_t arg, uint32_t flags, uint32_t *resp, int retries)
{
@@ -494,7 +447,7 @@ mmc_wait_for_command(struct mmc_softc *sc, uint32_t opcode,
cmd.arg = arg;
cmd.flags = flags;
cmd.data = NULL;
- err = mmc_wait_for_cmd(sc, &cmd, retries);
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, retries);
if (err)
return (err);
if (resp) {
@@ -522,7 +475,7 @@ mmc_idle_cards(struct mmc_softc *sc)
cmd.arg = 0;
cmd.flags = MMC_RSP_NONE | MMC_CMD_BC;
cmd.data = NULL;
- mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
+ mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, CMD_RETRIES);
mmc_ms_delay(1);
mmcbr_set_chip_select(dev, cs_dontcare);
@@ -543,7 +496,8 @@ mmc_send_app_op_cond(struct mmc_softc *sc, uint32_t ocr, uint32_t *rocr)
cmd.data = NULL;
for (i = 0; i < 1000; i++) {
- err = mmc_wait_for_app_cmd(sc, 0, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_app_cmd(sc->dev, sc->dev, 0, &cmd,
+ CMD_RETRIES);
if (err != MMC_ERR_NONE)
break;
if ((cmd.resp[0] & MMC_OCR_CARD_BUSY) ||
@@ -570,7 +524,7 @@ mmc_send_op_cond(struct mmc_softc *sc, uint32_t ocr, uint32_t *rocr)
cmd.data = NULL;
for (i = 0; i < 1000; i++) {
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, CMD_RETRIES);
if (err != MMC_ERR_NONE)
break;
if ((cmd.resp[0] & MMC_OCR_CARD_BUSY) ||
@@ -596,7 +550,7 @@ mmc_send_if_cond(struct mmc_softc *sc, uint8_t vhs)
cmd.flags = MMC_RSP_R7 | MMC_CMD_BCR;
cmd.data = NULL;
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, CMD_RETRIES);
return (err);
}
@@ -604,6 +558,7 @@ static void
mmc_power_up(struct mmc_softc *sc)
{
device_t dev;
+ enum mmc_vccq vccq;
dev = sc->dev;
mmcbr_set_vdd(dev, mmc_highest_voltage(mmcbr_get_host_ocr(dev)));
@@ -613,9 +568,14 @@ mmc_power_up(struct mmc_softc *sc)
mmcbr_set_power_mode(dev, power_up);
mmcbr_set_clock(dev, 0);
mmcbr_update_ios(dev);
+ for (vccq = vccq_330; ; vccq--) {
+ mmcbr_set_vccq(dev, vccq);
+ if (mmcbr_switch_vccq(dev) == 0 || vccq == vccq_120)
+ break;
+ }
mmc_ms_delay(1);
- mmcbr_set_clock(dev, CARD_ID_FREQUENCY);
+ mmcbr_set_clock(dev, SD_MMC_CARD_ID_FREQUENCY);
mmcbr_set_timing(dev, bus_timing_normal);
mmcbr_set_power_mode(dev, power_on);
mmcbr_update_ios(dev);
@@ -647,24 +607,6 @@ mmc_select_card(struct mmc_softc *sc, uint16_t rca)
}
static int
-mmc_switch(struct mmc_softc *sc, uint8_t set, uint8_t index, uint8_t value)
-{
- struct mmc_command cmd;
- int err;
-
- memset(&cmd, 0, sizeof(cmd));
- cmd.opcode = MMC_SWITCH_FUNC;
- cmd.arg = (MMC_SWITCH_FUNC_WR << 24) |
- (index << 16) |
- (value << 8) |
- set;
- cmd.flags = MMC_RSP_R1B | MMC_CMD_AC;
- cmd.data = NULL;
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
- return (err);
-}
-
-static int
mmc_sd_switch(struct mmc_softc *sc, uint8_t mode, uint8_t grp, uint8_t value,
uint8_t *res)
{
@@ -688,12 +630,12 @@ mmc_sd_switch(struct mmc_softc *sc, uint8_t mode, uint8_t grp, uint8_t value,
data.len = 64;
data.flags = MMC_DATA_READ;
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, CMD_RETRIES);
return (err);
}
static int
-mmc_set_card_bus_width(struct mmc_softc *sc, uint16_t rca, int width)
+mmc_set_card_bus_width(struct mmc_softc *sc, struct mmc_ivars *ivar)
{
struct mmc_command cmd;
int err;
@@ -704,13 +646,14 @@ mmc_set_card_bus_width(struct mmc_softc *sc, uint16_t rca, int width)
cmd.opcode = ACMD_SET_CLR_CARD_DETECT;
cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
cmd.arg = SD_CLR_CARD_DETECT;
- err = mmc_wait_for_app_cmd(sc, rca, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_app_cmd(sc->dev, sc->dev, ivar->rca, &cmd,
+ CMD_RETRIES);
if (err != 0)
return (err);
memset(&cmd, 0, sizeof(cmd));
cmd.opcode = ACMD_SET_BUS_WIDTH;
cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
- switch (width) {
+ switch (ivar->bus_width) {
case bus_width_1:
cmd.arg = SD_BUS_WIDTH_1;
break;
@@ -720,64 +663,196 @@ mmc_set_card_bus_width(struct mmc_softc *sc, uint16_t rca, int width)
default:
return (MMC_ERR_INVALID);
}
- err = mmc_wait_for_app_cmd(sc, rca, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_app_cmd(sc->dev, sc->dev, ivar->rca, &cmd,
+ CMD_RETRIES);
} else {
- switch (width) {
+ switch (ivar->bus_width) {
case bus_width_1:
value = EXT_CSD_BUS_WIDTH_1;
break;
case bus_width_4:
- value = EXT_CSD_BUS_WIDTH_4;
+ switch (mmcbr_get_timing(sc->dev)) {
+ case bus_timing_mmc_ddr52:
+ case bus_timing_mmc_hs200:
+ case bus_timing_mmc_hs400:
+ case bus_timing_mmc_hs400es:
+ value = EXT_CSD_BUS_WIDTH_4_DDR;
+ break;
+ default:
+ value = EXT_CSD_BUS_WIDTH_4;
+ break;
+ }
break;
case bus_width_8:
- value = EXT_CSD_BUS_WIDTH_8;
+ switch (mmcbr_get_timing(sc->dev)) {
+ case bus_timing_mmc_ddr52:
+ case bus_timing_mmc_hs200:
+ case bus_timing_mmc_hs400:
+ case bus_timing_mmc_hs400es:
+ value = EXT_CSD_BUS_WIDTH_8_DDR;
+ break;
+ default:
+ value = EXT_CSD_BUS_WIDTH_8;
+ break;
+ }
break;
default:
return (MMC_ERR_INVALID);
}
- err = mmc_switch(sc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BUS_WIDTH,
- value);
+ err = mmc_switch(sc->dev, sc->dev, ivar->rca,
+ EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BUS_WIDTH, value,
+ ivar->cmd6_time, true);
}
return (err);
}
static int
-mmc_set_timing(struct mmc_softc *sc, int timing)
+mmc_set_power_class(struct mmc_softc *sc, struct mmc_ivars *ivar)
{
- int err;
- uint8_t value;
- u_char switch_res[64];
+ device_t dev;
+ const uint8_t *ext_csd;
+ uint32_t clock;
+ uint8_t value;
- switch (timing) {
- case bus_timing_normal:
- value = 0;
+ dev = sc->dev;
+ if (mmcbr_get_mode(dev) != mode_mmc || ivar->csd.spec_vers < 4)
+ return (MMC_ERR_NONE);
+
+ value = 0;
+ ext_csd = ivar->raw_ext_csd;
+ clock = mmcbr_get_clock(dev);
+ switch (1 << mmcbr_get_vdd(dev)) {
+ case MMC_OCR_LOW_VOLTAGE:
+ if (clock <= MMC_TYPE_HS_26_MAX)
+ value = ext_csd[EXT_CSD_PWR_CL_26_195];
+ else if (clock <= MMC_TYPE_HS_52_MAX) {
+ if (mmcbr_get_timing(dev) >= bus_timing_mmc_ddr52 &&
+ ivar->bus_width >= bus_width_4)
+ value = ext_csd[EXT_CSD_PWR_CL_52_195_DDR];
+ else
+ value = ext_csd[EXT_CSD_PWR_CL_52_195];
+ } else if (clock <= MMC_TYPE_HS200_HS400ES_MAX)
+ value = ext_csd[EXT_CSD_PWR_CL_200_195];
break;
- case bus_timing_hs:
- value = 1;
+ case MMC_OCR_270_280:
+ case MMC_OCR_280_290:
+ case MMC_OCR_290_300:
+ case MMC_OCR_300_310:
+ case MMC_OCR_310_320:
+ case MMC_OCR_320_330:
+ case MMC_OCR_330_340:
+ case MMC_OCR_340_350:
+ case MMC_OCR_350_360:
+ if (clock <= MMC_TYPE_HS_26_MAX)
+ value = ext_csd[EXT_CSD_PWR_CL_26_360];
+ else if (clock <= MMC_TYPE_HS_52_MAX) {
+ if (mmcbr_get_timing(dev) == bus_timing_mmc_ddr52 &&
+ ivar->bus_width >= bus_width_4)
+ value = ext_csd[EXT_CSD_PWR_CL_52_360_DDR];
+ else
+ value = ext_csd[EXT_CSD_PWR_CL_52_360];
+ } else if (clock <= MMC_TYPE_HS200_HS400ES_MAX) {
+ if (ivar->bus_width == bus_width_8)
+ value = ext_csd[EXT_CSD_PWR_CL_200_360_DDR];
+ else
+ value = ext_csd[EXT_CSD_PWR_CL_200_360];
+ }
break;
default:
+ device_printf(dev, "No power class support for VDD 0x%x\n",
+ 1 << mmcbr_get_vdd(dev));
return (MMC_ERR_INVALID);
}
- if (mmcbr_get_mode(sc->dev) == mode_sd)
+
+ if (ivar->bus_width == bus_width_8)
+ value = (value & EXT_CSD_POWER_CLASS_8BIT_MASK) >>
+ EXT_CSD_POWER_CLASS_8BIT_SHIFT;
+ else
+ value = (value & EXT_CSD_POWER_CLASS_4BIT_MASK) >>
+ EXT_CSD_POWER_CLASS_4BIT_SHIFT;
+
+ if (value == 0)
+ return (MMC_ERR_NONE);
+
+ return (mmc_switch(dev, dev, ivar->rca, EXT_CSD_CMD_SET_NORMAL,
+ EXT_CSD_POWER_CLASS, value, ivar->cmd6_time, true));
+}
+
+static int
+mmc_set_timing(struct mmc_softc *sc, struct mmc_ivars *ivar,
+ enum mmc_bus_timing timing)
+{
+ u_char switch_res[64];
+ uint8_t value;
+ int err;
+
+ if (mmcbr_get_mode(sc->dev) == mode_sd) {
+ switch (timing) {
+ case bus_timing_normal:
+ value = SD_SWITCH_NORMAL_MODE;
+ break;
+ case bus_timing_hs:
+ value = SD_SWITCH_HS_MODE;
+ break;
+ default:
+ return (MMC_ERR_INVALID);
+ }
err = mmc_sd_switch(sc, SD_SWITCH_MODE_SET, SD_SWITCH_GROUP1,
value, switch_res);
- else
- err = mmc_switch(sc, EXT_CSD_CMD_SET_NORMAL,
- EXT_CSD_HS_TIMING, value);
+ if (err != MMC_ERR_NONE)
+ return (err);
+ if ((switch_res[16] & 0xf) != value)
+ return (MMC_ERR_FAILED);
+ mmcbr_set_timing(sc->dev, timing);
+ mmcbr_update_ios(sc->dev);
+ } else {
+ switch (timing) {
+ case bus_timing_normal:
+ value = EXT_CSD_HS_TIMING_BC;
+ break;
+ case bus_timing_hs:
+ case bus_timing_mmc_ddr52:
+ value = EXT_CSD_HS_TIMING_HS;
+ break;
+ default:
+ return (MMC_ERR_INVALID);
+ }
+ err = mmc_switch(sc->dev, sc->dev, ivar->rca,
+ EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HS_TIMING, value,
+ ivar->cmd6_time, false);
+ if (err != MMC_ERR_NONE)
+ return (err);
+ mmcbr_set_timing(sc->dev, timing);
+ mmcbr_update_ios(sc->dev);
+ err = mmc_switch_status(sc->dev, sc->dev, ivar->rca,
+ ivar->cmd6_time);
+ }
return (err);
}
+static const uint8_t p8[8] = {
+ 0x55, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const uint8_t p8ok[8] = {
+ 0xAA, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const uint8_t p4[4] = {
+ 0x5A, 0x00, 0x00, 0x00
+};
+
+static const uint8_t p4ok[4] = {
+ 0xA5, 0x00, 0x00, 0x00
+};
+
static int
mmc_test_bus_width(struct mmc_softc *sc)
{
struct mmc_command cmd;
struct mmc_data data;
- int err;
uint8_t buf[8];
- uint8_t p8[8] = { 0x55, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
- uint8_t p8ok[8] = { 0xAA, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
- uint8_t p4[4] = { 0x5A, 0x00, 0x00, 0x00, };
- uint8_t p4ok[4] = { 0xA5, 0x00, 0x00, 0x00, };
+ int err;
if (mmcbr_get_caps(sc->dev) & MMC_CAP_8_BIT_DATA) {
mmcbr_set_bus_width(sc->dev, bus_width_8);
@@ -791,10 +866,10 @@ mmc_test_bus_width(struct mmc_softc *sc)
cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC;
cmd.data = &data;
- data.data = p8;
+ data.data = __DECONST(void *, p8);
data.len = 8;
data.flags = MMC_DATA_WRITE;
- mmc_wait_for_cmd(sc, &cmd, 0);
+ mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, 0);
memset(&cmd, 0, sizeof(cmd));
memset(&data, 0, sizeof(data));
@@ -806,7 +881,7 @@ mmc_test_bus_width(struct mmc_softc *sc)
data.data = buf;
data.len = 8;
data.flags = MMC_DATA_READ;
- err = mmc_wait_for_cmd(sc, &cmd, 0);
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, 0);
sc->squelched--;
mmcbr_set_bus_width(sc->dev, bus_width_1);
@@ -828,10 +903,10 @@ mmc_test_bus_width(struct mmc_softc *sc)
cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC;
cmd.data = &data;
- data.data = p4;
+ data.data = __DECONST(void *, p4);
data.len = 4;
data.flags = MMC_DATA_WRITE;
- mmc_wait_for_cmd(sc, &cmd, 0);
+ mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, 0);
memset(&cmd, 0, sizeof(cmd));
memset(&data, 0, sizeof(data));
@@ -843,7 +918,7 @@ mmc_test_bus_width(struct mmc_softc *sc)
data.data = buf;
data.len = 4;
data.flags = MMC_DATA_READ;
- err = mmc_wait_for_cmd(sc, &cmd, 0);
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, 0);
sc->squelched--;
mmcbr_set_bus_width(sc->dev, bus_width_1);
@@ -861,6 +936,7 @@ mmc_get_bits(uint32_t *bits, int bit_len, int start, int size)
const int i = (bit_len / 32) - (start / 32) - 1;
const int shift = start & 31;
uint32_t retval = bits[i] >> shift;
+
if (size + shift > 32)
retval |= bits[i - 1] << (32 - shift);
return (retval & ((1llu << size) - 1));
@@ -885,7 +961,7 @@ mmc_decode_cid_sd(uint32_t *raw_cid, struct mmc_cid *cid)
}
static void
-mmc_decode_cid_mmc(uint32_t *raw_cid, struct mmc_cid *cid)
+mmc_decode_cid_mmc(uint32_t *raw_cid, struct mmc_cid *cid, bool is_4_41p)
{
int i;
@@ -899,7 +975,11 @@ mmc_decode_cid_mmc(uint32_t *raw_cid, struct mmc_cid *cid)
cid->prv = mmc_get_bits(raw_cid, 128, 48, 8);
cid->psn = mmc_get_bits(raw_cid, 128, 16, 32);
cid->mdt_month = mmc_get_bits(raw_cid, 128, 12, 4);
- cid->mdt_year = mmc_get_bits(raw_cid, 128, 8, 4) + 1997;
+ cid->mdt_year = mmc_get_bits(raw_cid, 128, 8, 4);
+ if (is_4_41p)
+ cid->mdt_year += 2013;
+ else
+ cid->mdt_year += 1997;
}
static void
@@ -980,10 +1060,14 @@ mmc_decode_csd_sd(uint32_t *raw_csd, struct mmc_csd *csd)
csd->write_blk_misalign = mmc_get_bits(raw_csd, 128, 78, 1);
csd->read_blk_misalign = mmc_get_bits(raw_csd, 128, 77, 1);
csd->dsr_imp = mmc_get_bits(raw_csd, 128, 76, 1);
- csd->vdd_r_curr_min = cur_min[mmc_get_bits(raw_csd, 128, 59, 3)];
- csd->vdd_r_curr_max = cur_max[mmc_get_bits(raw_csd, 128, 56, 3)];
- csd->vdd_w_curr_min = cur_min[mmc_get_bits(raw_csd, 128, 53, 3)];
- csd->vdd_w_curr_max = cur_max[mmc_get_bits(raw_csd, 128, 50, 3)];
+ csd->vdd_r_curr_min =
+ cur_min[mmc_get_bits(raw_csd, 128, 59, 3)];
+ csd->vdd_r_curr_max =
+ cur_max[mmc_get_bits(raw_csd, 128, 56, 3)];
+ csd->vdd_w_curr_min =
+ cur_min[mmc_get_bits(raw_csd, 128, 53, 3)];
+ csd->vdd_w_curr_max =
+ cur_max[mmc_get_bits(raw_csd, 128, 50, 3)];
m = mmc_get_bits(raw_csd, 128, 62, 12);
e = mmc_get_bits(raw_csd, 128, 47, 3);
csd->capacity = ((1 + m) << (e + 2)) * csd->read_bl_len;
@@ -1008,8 +1092,8 @@ mmc_decode_csd_sd(uint32_t *raw_csd, struct mmc_csd *csd)
csd->write_blk_misalign = mmc_get_bits(raw_csd, 128, 78, 1);
csd->read_blk_misalign = mmc_get_bits(raw_csd, 128, 77, 1);
csd->dsr_imp = mmc_get_bits(raw_csd, 128, 76, 1);
- csd->capacity = ((uint64_t)mmc_get_bits(raw_csd, 128, 48, 22) + 1) *
- 512 * 1024;
+ csd->capacity = ((uint64_t)mmc_get_bits(raw_csd, 128, 48, 22) +
+ 1) * 512 * 1024;
csd->erase_blk_en = mmc_get_bits(raw_csd, 128, 46, 1);
csd->erase_sector = mmc_get_bits(raw_csd, 128, 39, 7) + 1;
csd->wp_grp_size = mmc_get_bits(raw_csd, 128, 32, 7);
@@ -1107,7 +1191,7 @@ mmc_all_send_cid(struct mmc_softc *sc, uint32_t *rawcid)
cmd.arg = 0;
cmd.flags = MMC_RSP_R2 | MMC_CMD_BCR;
cmd.data = NULL;
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, CMD_RETRIES);
memcpy(rawcid, cmd.resp, 4 * sizeof(uint32_t));
return (err);
}
@@ -1123,7 +1207,7 @@ mmc_send_csd(struct mmc_softc *sc, uint16_t rca, uint32_t *rawcsd)
cmd.arg = rca << 16;
cmd.flags = MMC_RSP_R2 | MMC_CMD_BCR;
cmd.data = NULL;
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, CMD_RETRIES);
memcpy(rawcsd, cmd.resp, 4 * sizeof(uint32_t));
return (err);
}
@@ -1148,42 +1232,18 @@ mmc_app_send_scr(struct mmc_softc *sc, uint16_t rca, uint32_t *rawscr)
data.len = 8;
data.flags = MMC_DATA_READ;
- err = mmc_wait_for_app_cmd(sc, rca, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_app_cmd(sc->dev, sc->dev, rca, &cmd, CMD_RETRIES);
rawscr[0] = be32toh(rawscr[0]);
rawscr[1] = be32toh(rawscr[1]);
return (err);
}
static int
-mmc_send_ext_csd(struct mmc_softc *sc, uint8_t *rawextcsd)
-{
- int err;
- struct mmc_command cmd;
- struct mmc_data data;
-
- memset(&cmd, 0, sizeof(cmd));
- memset(&data, 0, sizeof(data));
-
- memset(rawextcsd, 0, 512);
- cmd.opcode = MMC_SEND_EXT_CSD;
- cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC;
- cmd.arg = 0;
- cmd.data = &data;
-
- data.data = rawextcsd;
- data.len = 512;
- data.flags = MMC_DATA_READ;
-
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
- return (err);
-}
-
-static int
mmc_app_sd_status(struct mmc_softc *sc, uint16_t rca, uint32_t *rawsdstatus)
{
- int err, i;
struct mmc_command cmd;
struct mmc_data data;
+ int err, i;
memset(&cmd, 0, sizeof(cmd));
memset(&data, 0, sizeof(data));
@@ -1198,7 +1258,7 @@ mmc_app_sd_status(struct mmc_softc *sc, uint16_t rca, uint32_t *rawsdstatus)
data.len = 64;
data.flags = MMC_DATA_READ;
- err = mmc_wait_for_app_cmd(sc, rca, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_app_cmd(sc->dev, sc->dev, rca, &cmd, CMD_RETRIES);
for (i = 0; i < 16; i++)
rawsdstatus[i] = be32toh(rawsdstatus[i]);
return (err);
@@ -1215,7 +1275,7 @@ mmc_set_relative_addr(struct mmc_softc *sc, uint16_t resp)
cmd.arg = resp << 16;
cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR;
cmd.data = NULL;
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, CMD_RETRIES);
return (err);
}
@@ -1230,54 +1290,102 @@ mmc_send_relative_addr(struct mmc_softc *sc, uint32_t *resp)
cmd.arg = 0;
cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR;
cmd.data = NULL;
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, CMD_RETRIES);
*resp = cmd.resp[0];
return (err);
}
static int
-mmc_send_status(struct mmc_softc *sc, uint16_t rca, uint32_t *status)
+mmc_set_blocklen(struct mmc_softc *sc, uint32_t len)
{
struct mmc_command cmd;
int err;
memset(&cmd, 0, sizeof(cmd));
- cmd.opcode = MMC_SEND_STATUS;
- cmd.arg = rca << 16;
+ cmd.opcode = MMC_SET_BLOCKLEN;
+ cmd.arg = len;
cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
cmd.data = NULL;
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
- *status = cmd.resp[0];
+ err = mmc_wait_for_cmd(sc->dev, sc->dev, &cmd, CMD_RETRIES);
return (err);
}
-static int
-mmc_set_blocklen(struct mmc_softc *sc, uint32_t len)
+static uint32_t
+mmc_timing_to_dtr(struct mmc_ivars *ivar, enum mmc_bus_timing timing)
{
- struct mmc_command cmd;
- int err;
- memset(&cmd, 0, sizeof(cmd));
- cmd.opcode = MMC_SET_BLOCKLEN;
- cmd.arg = len;
- cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
- cmd.data = NULL;
- err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES);
- return (err);
+ switch (timing) {
+ case bus_timing_normal:
+ return (ivar->tran_speed);
+ case bus_timing_hs:
+ return (ivar->hs_tran_speed);
+ case bus_timing_uhs_sdr12:
+ return (SD_SDR12_MAX);
+ case bus_timing_uhs_sdr25:
+ return (SD_SDR25_MAX);
+ case bus_timing_uhs_ddr50:
+ return (SD_DDR50_MAX);
+ case bus_timing_uhs_sdr50:
+ return (SD_SDR50_MAX);
+ case bus_timing_uhs_sdr104:
+ return (SD_SDR104_MAX);
+ case bus_timing_mmc_ddr52:
+ return (MMC_TYPE_DDR52_MAX);
+ case bus_timing_mmc_hs200:
+ case bus_timing_mmc_hs400:
+ case bus_timing_mmc_hs400es:
+ return (MMC_TYPE_HS200_HS400ES_MAX);
+ }
+ return (0);
+}
+
+static const char *
+mmc_timing_to_string(enum mmc_bus_timing timing)
+{
+
+ switch (timing) {
+ case bus_timing_normal:
+ return ("normal speed");
+ case bus_timing_hs:
+ return ("high speed");
+ case bus_timing_uhs_sdr12:
+ case bus_timing_uhs_sdr25:
+ case bus_timing_uhs_sdr50:
+ case bus_timing_uhs_sdr104:
+ return ("single data rate");
+ case bus_timing_uhs_ddr50:
+ case bus_timing_mmc_ddr52:
+ return ("dual data rate");
+ case bus_timing_mmc_hs200:
+ return ("HS200");
+ case bus_timing_mmc_hs400:
+ return ("HS400");
+ case bus_timing_mmc_hs400es:
+ return ("HS400 with enhanced strobe");
+ }
+ return ("");
}
static void
mmc_log_card(device_t dev, struct mmc_ivars *ivar, int newcard)
{
+ enum mmc_bus_timing max_timing, timing;
+
device_printf(dev, "Card at relative address 0x%04x%s:\n",
ivar->rca, newcard ? " added" : "");
device_printf(dev, " card: %s\n", ivar->card_id_string);
- device_printf(dev, " bus: %ubit, %uMHz%s\n",
+ max_timing = bus_timing_normal;
+ for (timing = bus_timing_max; timing > bus_timing_normal; timing--) {
+ if (isset(&ivar->timings, timing)) {
+ max_timing = timing;
+ break;
+ }
+ }
+ device_printf(dev, " bus: %ubit, %uMHz (%s timing)\n",
(ivar->bus_width == bus_width_1 ? 1 :
(ivar->bus_width == bus_width_4 ? 4 : 8)),
- (ivar->timing == bus_timing_hs ?
- ivar->hs_tran_speed : ivar->tran_speed) / 1000000,
- ivar->timing == bus_timing_hs ? ", high speed timing" : "");
+ mmc_timing_to_dtr(ivar, timing) / 1000000,
+ mmc_timing_to_string(timing));
device_printf(dev, " memory: %u blocks, erase sector %u blocks%s\n",
ivar->sec_count, ivar->erase_sector,
ivar->read_only ? ", read-only" : "");
@@ -1286,14 +1394,16 @@ mmc_log_card(device_t dev, struct mmc_ivars *ivar, int newcard)
static void
mmc_discover_cards(struct mmc_softc *sc)
{
+ u_char switch_res[64];
+ uint32_t raw_cid[4];
struct mmc_ivars *ivar = NULL;
device_t *devlist;
- int err, i, devcount, newcard;
- uint32_t raw_cid[4], resp, sec_count, status;
device_t child;
+ int devcount, err, host_caps, i, newcard;
+ uint32_t resp, sec_count, status;
uint16_t rca = 2;
- u_char switch_res[64];
+ host_caps = mmcbr_get_caps(sc->dev);
if (bootverbose || mmc_debug)
device_printf(sc->dev, "Probing cards\n");
while (1) {
@@ -1307,18 +1417,21 @@ mmc_discover_cards(struct mmc_softc *sc)
break;
}
newcard = 1;
- if ((err = device_get_children(sc->dev, &devlist, &devcount)) != 0)
+ if ((err = device_get_children(sc->dev, &devlist,
+ &devcount)) != 0)
return;
for (i = 0; i < devcount; i++) {
ivar = device_get_ivars(devlist[i]);
- if (memcmp(ivar->raw_cid, raw_cid, sizeof(raw_cid)) == 0) {
+ if (memcmp(ivar->raw_cid, raw_cid, sizeof(raw_cid)) ==
+ 0) {
newcard = 0;
break;
}
}
free(devlist, M_TEMP);
if (bootverbose || mmc_debug) {
- device_printf(sc->dev, "%sard detected (CID %08x%08x%08x%08x)\n",
+ device_printf(sc->dev,
+ "%sard detected (CID %08x%08x%08x%08x)\n",
newcard ? "New c" : "C",
raw_cid[0], raw_cid[1], raw_cid[2], raw_cid[3]);
}
@@ -1330,14 +1443,24 @@ mmc_discover_cards(struct mmc_softc *sc)
if (mmcbr_get_ro(sc->dev))
ivar->read_only = 1;
ivar->bus_width = bus_width_1;
- ivar->timing = bus_timing_normal;
+ setbit(&ivar->timings, bus_timing_normal);
ivar->mode = mmcbr_get_mode(sc->dev);
if (ivar->mode == mode_sd) {
mmc_decode_cid_sd(ivar->raw_cid, &ivar->cid);
- mmc_send_relative_addr(sc, &resp);
+ err = mmc_send_relative_addr(sc, &resp);
+ if (err != MMC_ERR_NONE) {
+ device_printf(sc->dev,
+ "Error getting RCA %d\n", err);
+ break;
+ }
ivar->rca = resp >> 16;
/* Get card CSD. */
- mmc_send_csd(sc, ivar->rca, ivar->raw_csd);
+ err = mmc_send_csd(sc, ivar->rca, ivar->raw_csd);
+ if (err != MMC_ERR_NONE) {
+ device_printf(sc->dev,
+ "Error getting CSD %d\n", err);
+ break;
+ }
if (bootverbose || mmc_debug)
device_printf(sc->dev,
"%sard detected (CSD %08x%08x%08x%08x)\n",
@@ -1352,7 +1475,8 @@ mmc_discover_cards(struct mmc_softc *sc)
ivar->erase_sector = ivar->csd.erase_sector *
ivar->csd.write_bl_len / MMC_SECTOR_SIZE;
- err = mmc_send_status(sc, ivar->rca, &status);
+ err = mmc_send_status(sc->dev, sc->dev, ivar->rca,
+ &status);
if (err != MMC_ERR_NONE) {
device_printf(sc->dev,
"Error reading card status %d\n", err);
@@ -1364,19 +1488,30 @@ mmc_discover_cards(struct mmc_softc *sc)
break;
}
- /* Get card SCR. Card must be selected to fetch it. */
- mmc_select_card(sc, ivar->rca);
- mmc_app_send_scr(sc, ivar->rca, ivar->raw_scr);
+ /* Get card SCR. Card must be selected to fetch it. */
+ err = mmc_select_card(sc, ivar->rca);
+ if (err != MMC_ERR_NONE) {
+ device_printf(sc->dev,
+ "Error selecting card %d\n", err);
+ break;
+ }
+ err = mmc_app_send_scr(sc, ivar->rca, ivar->raw_scr);
+ if (err != MMC_ERR_NONE) {
+ device_printf(sc->dev,
+ "Error reading SCR %d\n", err);
+ break;
+ }
mmc_app_decode_scr(ivar->raw_scr, &ivar->scr);
/* Get card switch capabilities (command class 10). */
if ((ivar->scr.sda_vsn >= 1) &&
- (ivar->csd.ccc & (1<<10))) {
- mmc_sd_switch(sc, SD_SWITCH_MODE_CHECK,
+ (ivar->csd.ccc & (1 << 10))) {
+ err = mmc_sd_switch(sc, SD_SWITCH_MODE_CHECK,
SD_SWITCH_GROUP1, SD_SWITCH_NOCHANGE,
switch_res);
- if (switch_res[13] & 2) {
- ivar->timing = bus_timing_hs;
- ivar->hs_tran_speed = SD_MAX_HS;
+ if (err == MMC_ERR_NONE &&
+ switch_res[13] & (1 << SD_SWITCH_HS_MODE)) {
+ setbit(&ivar->timings, bus_timing_hs);
+ ivar->hs_tran_speed = SD_HS_MAX;
}
}
@@ -1386,15 +1521,16 @@ mmc_discover_cards(struct mmc_softc *sc)
* commands, although the state tables / diagrams in the
* standard suggest they go back to the transfer state.
* Other cards don't become deselected, and if we
- * atttempt to blindly re-select them, we get timeout
+ * attempt to blindly re-select them, we get timeout
* errors from some controllers. So we deselect then
* reselect to handle all situations. The only thing we
* use from the sd_status is the erase sector size, but
* it is still nice to get that right.
*/
mmc_select_card(sc, 0);
- mmc_select_card(sc, ivar->rca);
- mmc_app_sd_status(sc, ivar->rca, ivar->raw_sd_status);
+ (void)mmc_select_card(sc, ivar->rca);
+ (void)mmc_app_sd_status(sc, ivar->rca,
+ ivar->raw_sd_status);
mmc_app_decode_sd_status(ivar->raw_sd_status,
&ivar->sd_status);
if (ivar->sd_status.au_size != 0) {
@@ -1402,7 +1538,7 @@ mmc_discover_cards(struct mmc_softc *sc)
16 << ivar->sd_status.au_size;
}
/* Find max supported bus width. */
- if ((mmcbr_get_caps(sc->dev) & MMC_CAP_4_BIT_DATA) &&
+ if ((host_caps & MMC_CAP_4_BIT_DATA) &&
(ivar->scr.bus_widths & SD_SCR_BUS_WIDTH_4))
ivar->bus_width = bus_width_4;
@@ -1431,11 +1567,18 @@ mmc_discover_cards(struct mmc_softc *sc)
mmc_select_card(sc, 0);
return;
}
- mmc_decode_cid_mmc(ivar->raw_cid, &ivar->cid);
ivar->rca = rca++;
- mmc_set_relative_addr(sc, ivar->rca);
+ err = mmc_set_relative_addr(sc, ivar->rca);
+ if (err != MMC_ERR_NONE) {
+ device_printf(sc->dev, "Error setting RCA %d\n", err);
+ break;
+ }
/* Get card CSD. */
- mmc_send_csd(sc, ivar->rca, ivar->raw_csd);
+ err = mmc_send_csd(sc, ivar->rca, ivar->raw_csd);
+ if (err != MMC_ERR_NONE) {
+ device_printf(sc->dev, "Error getting CSD %d\n", err);
+ break;
+ }
if (bootverbose || mmc_debug)
device_printf(sc->dev,
"%sard detected (CSD %08x%08x%08x%08x)\n",
@@ -1449,7 +1592,7 @@ mmc_discover_cards(struct mmc_softc *sc)
ivar->erase_sector = ivar->csd.erase_sector *
ivar->csd.write_bl_len / MMC_SECTOR_SIZE;
- err = mmc_send_status(sc, ivar->rca, &status);
+ err = mmc_send_status(sc->dev, sc->dev, ivar->rca, &status);
if (err != MMC_ERR_NONE) {
device_printf(sc->dev,
"Error reading card status %d\n", err);
@@ -1461,11 +1604,22 @@ mmc_discover_cards(struct mmc_softc *sc)
break;
}
- mmc_select_card(sc, ivar->rca);
+ err = mmc_select_card(sc, ivar->rca);
+ if (err != MMC_ERR_NONE) {
+ device_printf(sc->dev, "Error selecting card %d\n",
+ err);
+ break;
+ }
- /* Only MMC >= 4.x cards support EXT_CSD. */
+ /* Only MMC >= 4.x devices support EXT_CSD. */
if (ivar->csd.spec_vers >= 4) {
- mmc_send_ext_csd(sc, ivar->raw_ext_csd);
+ err = mmc_send_ext_csd(sc->dev, sc->dev,
+ ivar->raw_ext_csd);
+ if (err != MMC_ERR_NONE) {
+ device_printf(sc->dev,
+ "Error reading EXT_CSD %d\n", err);
+ break;
+ }
/* Handle extended capacity from EXT_CSD */
sec_count = ivar->raw_ext_csd[EXT_CSD_SEC_CNT] +
(ivar->raw_ext_csd[EXT_CSD_SEC_CNT + 1] << 8) +
@@ -1475,28 +1629,54 @@ mmc_discover_cards(struct mmc_softc *sc)
ivar->sec_count = sec_count;
ivar->high_cap = 1;
}
- /* Get card speed in high speed mode. */
- ivar->timing = bus_timing_hs;
- if (ivar->raw_ext_csd[EXT_CSD_CARD_TYPE]
- & EXT_CSD_CARD_TYPE_52)
- ivar->hs_tran_speed = MMC_TYPE_52_MAX_HS;
- else if (ivar->raw_ext_csd[EXT_CSD_CARD_TYPE]
- & EXT_CSD_CARD_TYPE_26)
- ivar->hs_tran_speed = MMC_TYPE_26_MAX_HS;
- else
- ivar->hs_tran_speed = ivar->tran_speed;
+ /* Get device speeds beyond normal mode. */
+ if ((ivar->raw_ext_csd[EXT_CSD_CARD_TYPE] &
+ EXT_CSD_CARD_TYPE_HS_52) != 0) {
+ setbit(&ivar->timings, bus_timing_hs);
+ ivar->hs_tran_speed = MMC_TYPE_HS_52_MAX;
+ } else if ((ivar->raw_ext_csd[EXT_CSD_CARD_TYPE] &
+ EXT_CSD_CARD_TYPE_HS_26) != 0) {
+ setbit(&ivar->timings, bus_timing_hs);
+ ivar->hs_tran_speed = MMC_TYPE_HS_26_MAX;
+ }
+ if ((ivar->raw_ext_csd[EXT_CSD_CARD_TYPE] &
+ EXT_CSD_CARD_TYPE_DDR_52_1_2V) != 0 &&
+ (host_caps & MMC_CAP_SIGNALING_120) != 0) {
+ setbit(&ivar->timings, bus_timing_mmc_ddr52);
+ setbit(&ivar->vccq_120, bus_timing_mmc_ddr52);
+ }
+ if ((ivar->raw_ext_csd[EXT_CSD_CARD_TYPE] &
+ EXT_CSD_CARD_TYPE_DDR_52_1_8V) != 0 &&
+ (host_caps & MMC_CAP_SIGNALING_180) != 0) {
+ setbit(&ivar->timings, bus_timing_mmc_ddr52);
+ setbit(&ivar->vccq_180, bus_timing_mmc_ddr52);
+ }
+ /*
+ * Determine generic switch timeout (provided in
+ * units of 10 ms), defaulting to 500 ms.
+ */
+ ivar->cmd6_time = 500 * 1000;
+ if (ivar->csd.spec_vers >= 6)
+ ivar->cmd6_time = 10 *
+ ivar->raw_ext_csd[EXT_CSD_GEN_CMD6_TIME];
/* Find max supported bus width. */
ivar->bus_width = mmc_test_bus_width(sc);
/* Handle HC erase sector size. */
if (ivar->raw_ext_csd[EXT_CSD_ERASE_GRP_SIZE] != 0) {
ivar->erase_sector = 1024 *
ivar->raw_ext_csd[EXT_CSD_ERASE_GRP_SIZE];
- mmc_switch(sc, EXT_CSD_CMD_SET_NORMAL,
- EXT_CSD_ERASE_GRP_DEF, 1);
+ err = mmc_switch(sc->dev, sc->dev, ivar->rca,
+ EXT_CSD_CMD_SET_NORMAL,
+ EXT_CSD_ERASE_GRP_DEF,
+ EXT_CSD_ERASE_GRP_DEF_EN,
+ ivar->cmd6_time, true);
+ if (err != MMC_ERR_NONE) {
+ device_printf(sc->dev,
+ "Error setting erase group %d\n",
+ err);
+ break;
+ }
}
- } else {
- ivar->bus_width = bus_width_1;
- ivar->timing = bus_timing_normal;
}
/*
@@ -1511,6 +1691,8 @@ mmc_discover_cards(struct mmc_softc *sc)
ivar->csd.write_bl_len != MMC_SECTOR_SIZE)
mmc_set_blocklen(sc, MMC_SECTOR_SIZE);
+ mmc_decode_cid_mmc(ivar->raw_cid, &ivar->cid,
+ ivar->raw_ext_csd[EXT_CSD_REV] >= 5);
mmc_format_card_id_string(ivar);
if (bootverbose || mmc_debug)
@@ -1527,7 +1709,7 @@ mmc_discover_cards(struct mmc_softc *sc)
static void
mmc_rescan_cards(struct mmc_softc *sc)
{
- struct mmc_ivars *ivar = NULL;
+ struct mmc_ivars *ivar;
device_t *devlist;
int err, i, devcount;
@@ -1535,9 +1717,10 @@ mmc_rescan_cards(struct mmc_softc *sc)
return;
for (i = 0; i < devcount; i++) {
ivar = device_get_ivars(devlist[i]);
- if (mmc_select_card(sc, ivar->rca)) {
+ if (mmc_select_card(sc, ivar->rca) != MMC_ERR_NONE) {
if (bootverbose || mmc_debug)
- device_printf(sc->dev, "Card at relative address %d lost.\n",
+ device_printf(sc->dev,
+ "Card at relative address %d lost.\n",
ivar->rca);
device_delete_child(sc->dev, devlist[i]);
free(ivar, M_DEVBUF);
@@ -1559,7 +1742,8 @@ mmc_delete_cards(struct mmc_softc *sc)
for (i = 0; i < devcount; i++) {
ivar = device_get_ivars(devlist[i]);
if (bootverbose || mmc_debug)
- device_printf(sc->dev, "Card at relative address %d deleted.\n",
+ device_printf(sc->dev,
+ "Card at relative address %d deleted.\n",
ivar->rca);
device_delete_child(sc->dev, devlist[i]);
free(ivar, M_DEVBUF);
@@ -1589,7 +1773,8 @@ mmc_go_discovery(struct mmc_softc *sc)
mmc_idle_cards(sc);
err = mmc_send_if_cond(sc, 1);
if ((bootverbose || mmc_debug) && err == 0)
- device_printf(sc->dev, "SD 2.0 interface conditions: OK\n");
+ device_printf(sc->dev,
+ "SD 2.0 interface conditions: OK\n");
if (mmc_send_app_op_cond(sc, 0, &ocr) != MMC_ERR_NONE) {
if (bootverbose || mmc_debug)
device_printf(sc->dev, "SD probe: failed\n");
@@ -1599,13 +1784,15 @@ mmc_go_discovery(struct mmc_softc *sc)
mmcbr_set_mode(dev, mode_mmc);
if (mmc_send_op_cond(sc, 0, &ocr) != MMC_ERR_NONE) {
if (bootverbose || mmc_debug)
- device_printf(sc->dev, "MMC probe: failed\n");
+ device_printf(sc->dev,
+ "MMC probe: failed\n");
ocr = 0; /* Failed both, powerdown. */
} else if (bootverbose || mmc_debug)
device_printf(sc->dev,
"MMC probe: OK (OCR: 0x%08x)\n", ocr);
} else if (bootverbose || mmc_debug)
- device_printf(sc->dev, "SD probe: OK (OCR: 0x%08x)\n", ocr);
+ device_printf(sc->dev, "SD probe: OK (OCR: 0x%08x)\n",
+ ocr);
sc->squelched--;
mmcbr_set_ocr(dev, mmc_select_vdd(sc, ocr));
@@ -1613,7 +1800,7 @@ mmc_go_discovery(struct mmc_softc *sc)
mmc_idle_cards(sc);
} else {
mmcbr_set_bus_mode(dev, opendrain);
- mmcbr_set_clock(dev, CARD_ID_FREQUENCY);
+ mmcbr_set_clock(dev, SD_MMC_CARD_ID_FREQUENCY);
mmcbr_update_ios(dev);
/* XXX recompute vdd based on new cards? */
}
@@ -1622,7 +1809,8 @@ mmc_go_discovery(struct mmc_softc *sc)
* one card on the bus.
*/
if (bootverbose || mmc_debug)
- device_printf(sc->dev, "Current OCR: 0x%08x\n", mmcbr_get_ocr(dev));
+ device_printf(sc->dev, "Current OCR: 0x%08x\n",
+ mmcbr_get_ocr(dev));
if (mmcbr_get_ocr(dev) == 0) {
device_printf(sc->dev, "No compatible cards found on bus\n");
mmc_delete_cards(sc);
@@ -1644,56 +1832,69 @@ mmc_go_discovery(struct mmc_softc *sc)
mmcbr_set_bus_mode(dev, pushpull);
mmcbr_update_ios(dev);
mmc_calculate_clock(sc);
- bus_generic_attach(dev);
-/* mmc_update_children_sysctl(dev);*/
}
static int
mmc_calculate_clock(struct mmc_softc *sc)
{
- int max_dtr, max_hs_dtr, max_timing;
- int nkid, i, f_max;
device_t *kids;
struct mmc_ivars *ivar;
-
- f_max = mmcbr_get_f_max(sc->dev);
- max_dtr = max_hs_dtr = f_max;
- if ((mmcbr_get_caps(sc->dev) & MMC_CAP_HSPEED))
+ int host_caps, i, nkid;
+ uint32_t dtr, max_dtr;
+ enum mmc_bus_timing max_timing, timing;
+ bool changed;
+
+ max_dtr = mmcbr_get_f_max(sc->dev);
+ host_caps = mmcbr_get_caps(sc->dev);
+ if ((host_caps & MMC_CAP_MMC_DDR52) != 0)
+ max_timing = bus_timing_mmc_ddr52;
+ else if ((host_caps & MMC_CAP_HSPEED) != 0)
max_timing = bus_timing_hs;
else
max_timing = bus_timing_normal;
if (device_get_children(sc->dev, &kids, &nkid) != 0)
panic("can't get children");
- for (i = 0; i < nkid; i++) {
- ivar = device_get_ivars(kids[i]);
- if (ivar->timing < max_timing)
- max_timing = ivar->timing;
- if (ivar->tran_speed < max_dtr)
- max_dtr = ivar->tran_speed;
- if (ivar->hs_tran_speed < max_hs_dtr)
- max_hs_dtr = ivar->hs_tran_speed;
+ do {
+ changed = false;
+ for (i = 0; i < nkid; i++) {
+ ivar = device_get_ivars(kids[i]);
+ if (isclr(&ivar->timings, max_timing)) {
+ for (timing = max_timing; timing >=
+ bus_timing_normal; timing--) {
+ if (isset(&ivar->timings, timing)) {
+ max_timing = timing;
+ break;
+ }
+ }
+ changed = true;
+ }
+ dtr = mmc_timing_to_dtr(ivar, max_timing);
+ if (dtr < max_dtr) {
+ max_dtr = dtr;
+ changed = true;
+ }
+ }
+ } while (changed == true);
+ if (bootverbose || mmc_debug) {
+ device_printf(sc->dev,
+ "setting transfer rate to %d.%03dMHz (%s timing)\n",
+ max_dtr / 1000000, (max_dtr / 1000) % 1000,
+ mmc_timing_to_string(max_timing));
}
for (i = 0; i < nkid; i++) {
ivar = device_get_ivars(kids[i]);
- if (ivar->timing == bus_timing_normal)
+ if ((ivar->timings & ~(1 << bus_timing_normal)) == 0)
continue;
- mmc_select_card(sc, ivar->rca);
- mmc_set_timing(sc, max_timing);
+ if (mmc_select_card(sc, ivar->rca) != MMC_ERR_NONE ||
+ mmc_set_timing(sc, ivar, max_timing) != MMC_ERR_NONE)
+ device_printf(sc->dev, "Card at relative address %d "
+ "failed to set timing.\n", ivar->rca);
}
mmc_select_card(sc, 0);
free(kids, M_TEMP);
- if (max_timing == bus_timing_hs)
- max_dtr = max_hs_dtr;
- if (bootverbose || mmc_debug) {
- device_printf(sc->dev,
- "setting transfer rate to %d.%03dMHz%s\n",
- max_dtr / 1000000, (max_dtr / 1000) % 1000,
- max_timing == bus_timing_hs ? " (high speed timing)" : "");
- }
- mmcbr_set_timing(sc->dev, max_timing);
mmcbr_set_clock(sc->dev, max_dtr);
mmcbr_update_ios(sc->dev);
- return max_dtr;
+ return (max_dtr);
}
static void
@@ -1704,6 +1905,8 @@ mmc_scan(struct mmc_softc *sc)
mmc_acquire_bus(dev, dev);
mmc_go_discovery(sc);
mmc_release_bus(dev, dev);
+
+ bus_generic_attach(dev);
}
static int
@@ -1714,6 +1917,9 @@ mmc_read_ivar(device_t bus, device_t child, int which, uintptr_t *result)
switch (which) {
default:
return (EINVAL);
+ case MMC_IVAR_SPEC_VERS:
+ *result = ivar->csd.spec_vers;
+ break;
case MMC_IVAR_DSR_IMP:
*result = ivar->csd.dsr_imp;
break;
@@ -1760,6 +1966,7 @@ mmc_read_ivar(device_t bus, device_t child, int which, uintptr_t *result)
static int
mmc_write_ivar(device_t bus, device_t child, int which, uintptr_t value)
{
+
/*
* None are writable ATM
*/
@@ -1812,4 +2019,4 @@ driver_t mmc_driver = {
};
devclass_t mmc_devclass;
-MODULE_VERSION(mmc, 1);
+MODULE_VERSION(mmc, MMC_VERSION);
diff --git a/sys/dev/mmc/mmc_ioctl.h b/sys/dev/mmc/mmc_ioctl.h
new file mode 100644
index 0000000..97cff06
--- /dev/null
+++ b/sys/dev/mmc/mmc_ioctl.h
@@ -0,0 +1,64 @@
+/*-
+ * Copyright (c) 2017 Marius Strobl <marius@FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _DEV_MMC_MMC_IOCTL_H_
+#define _DEV_MMC_MMC_IOCTL_H_
+
+struct mmc_ioc_cmd {
+ int write_flag; /* 0: RD, 1: WR, (1 << 31): reliable WR */
+ int is_acmd; /* 0: normal, 1: use CMD55 */
+ uint32_t opcode;
+ uint32_t arg;
+ uint32_t response[4];
+ u_int flags;
+ u_int blksz;
+ u_int blocks;
+ u_int __spare[4];
+ uint32_t __pad;
+ uint64_t data_ptr;
+};
+
+#define mmc_ioc_cmd_set_data(mic, ptr) \
+ (mic).data_ptr = (uint64_t)(uintptr_t)(ptr)
+
+struct mmc_ioc_multi_cmd {
+ uint64_t num_of_cmds;
+ struct mmc_ioc_cmd cmds[0];
+};
+
+#define MMC_IOC_BASE 'M'
+
+#define MMC_IOC_CMD _IOWR(MMC_IOC_BASE, 0, struct mmc_ioc_cmd)
+#define MMC_IOC_CMD_MULTI _IOWR(MMC_IOC_BASE, 1, struct mmc_ioc_multi_cmd)
+
+/* Maximum accepted data transfer size */
+#define MMC_IOC_MAX_BYTES (512 * 256)
+/* Maximum accepted number of commands */
+#define MMC_IOC_MAX_CMDS 255
+
+#endif /* _DEV_MMC_MMC_IOCTL_H_ */
diff --git a/sys/dev/mmc/mmc_private.h b/sys/dev/mmc/mmc_private.h
new file mode 100644
index 0000000..bbca0c6
--- /dev/null
+++ b/sys/dev/mmc/mmc_private.h
@@ -0,0 +1,69 @@
+/*-
+ * Copyright (c) 2006 Bernd Walter. All rights reserved.
+ * Copyright (c) 2006 M. Warner Losh. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Portions of this software may have been developed with reference to
+ * the SD Simplified Specification. The following disclaimer may apply:
+ *
+ * The following conditions apply to the release of the simplified
+ * specification ("Simplified Specification") by the SD Card Association and
+ * the SD Group. The Simplified Specification is a subset of the complete SD
+ * Specification which is owned by the SD Card Association and the SD
+ * Group. This Simplified Specification is provided on a non-confidential
+ * basis subject to the disclaimers below. Any implementation of the
+ * Simplified Specification may require a license from the SD Card
+ * Association, SD Group, SD-3C LLC or other third parties.
+ *
+ * Disclaimers:
+ *
+ * The information contained in the Simplified Specification is presented only
+ * as a standard specification for SD Cards and SD Host/Ancillary products and
+ * is provided "AS-IS" without any representations or warranties of any
+ * kind. No responsibility is assumed by the SD Group, SD-3C LLC or the SD
+ * Card Association for any damages, any infringements of patents or other
+ * right of the SD Group, SD-3C LLC, the SD Card Association or any third
+ * parties, which may result from its use. No license is granted by
+ * implication, estoppel or otherwise under any patent or other rights of the
+ * SD Group, SD-3C LLC, the SD Card Association or any third party. Nothing
+ * herein shall be construed as an obligation by the SD Group, the SD-3C LLC
+ * or the SD Card Association to disclose or distribute any technical
+ * information, know-how or other confidential information to any third party.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef DEV_MMC_PRIVATE_H
+#define DEV_MMC_PRIVATE_H
+
+struct mmc_softc {
+ device_t dev;
+ struct mtx sc_mtx;
+ struct intr_config_hook config_intrhook;
+ device_t owner;
+ uint32_t last_rca;
+ int squelched; /* suppress reporting of (expected) errors */
+ int log_count;
+ struct timeval log_time;
+};
+
+#endif /* DEV_MMC_PRIVATE_H */
diff --git a/sys/dev/mmc/mmc_subr.c b/sys/dev/mmc/mmc_subr.c
new file mode 100644
index 0000000..7f0317a
--- /dev/null
+++ b/sys/dev/mmc/mmc_subr.c
@@ -0,0 +1,252 @@
+/*-
+ * Copyright (c) 2006 Bernd Walter. All rights reserved.
+ * Copyright (c) 2006 M. Warner Losh. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Portions of this software may have been developed with reference to
+ * the SD Simplified Specification. The following disclaimer may apply:
+ *
+ * The following conditions apply to the release of the simplified
+ * specification ("Simplified Specification") by the SD Card Association and
+ * the SD Group. The Simplified Specification is a subset of the complete SD
+ * Specification which is owned by the SD Card Association and the SD
+ * Group. This Simplified Specification is provided on a non-confidential
+ * basis subject to the disclaimers below. Any implementation of the
+ * Simplified Specification may require a license from the SD Card
+ * Association, SD Group, SD-3C LLC or other third parties.
+ *
+ * Disclaimers:
+ *
+ * The information contained in the Simplified Specification is presented only
+ * as a standard specification for SD Cards and SD Host/Ancillary products and
+ * is provided "AS-IS" without any representations or warranties of any
+ * kind. No responsibility is assumed by the SD Group, SD-3C LLC or the SD
+ * Card Association for any damages, any infringements of patents or other
+ * right of the SD Group, SD-3C LLC, the SD Card Association or any third
+ * parties, which may result from its use. No license is granted by
+ * implication, estoppel or otherwise under any patent or other rights of the
+ * SD Group, SD-3C LLC, the SD Card Association or any third party. Nothing
+ * herein shall be construed as an obligation by the SD Group, the SD-3C LLC
+ * or the SD Card Association to disclose or distribute any technical
+ * information, know-how or other confidential information to any third party.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/lock.h>
+#include <sys/mutex.h>
+#include <sys/time.h>
+
+#include <dev/mmc/bridge.h>
+#include <dev/mmc/mmc_private.h>
+#include <dev/mmc/mmc_subr.h>
+#include <dev/mmc/mmcreg.h>
+#include <dev/mmc/mmcbrvar.h>
+
+#include "mmcbus_if.h"
+
+#define CMD_RETRIES 3
+#define LOG_PPS 5 /* Log no more than 5 errors per second. */
+
+int
+mmc_wait_for_cmd(device_t brdev, device_t reqdev, struct mmc_command *cmd,
+ int retries)
+{
+ struct mmc_request mreq;
+ struct mmc_softc *sc;
+ int err;
+
+ do {
+ memset(&mreq, 0, sizeof(mreq));
+ memset(cmd->resp, 0, sizeof(cmd->resp));
+ cmd->retries = 0; /* Retries done here, not in hardware. */
+ cmd->mrq = &mreq;
+ if (cmd->data != NULL)
+ cmd->data->mrq = &mreq;
+ mreq.cmd = cmd;
+ if (MMCBUS_WAIT_FOR_REQUEST(brdev, reqdev, &mreq) != 0)
+ err = MMC_ERR_FAILED;
+ else
+ err = cmd->error;
+ } while (err != MMC_ERR_NONE && retries-- > 0);
+
+ if (err != MMC_ERR_NONE && brdev == reqdev) {
+ sc = device_get_softc(brdev);
+ if (sc->squelched == 0 && ppsratecheck(&sc->log_time,
+ &sc->log_count, LOG_PPS)) {
+ device_printf(sc->dev, "CMD%d failed, RESULT: %d\n",
+ cmd->opcode, err);
+ }
+ }
+
+ return (err);
+}
+
+int
+mmc_wait_for_app_cmd(device_t brdev, device_t reqdev, uint16_t rca,
+ struct mmc_command *cmd, int retries)
+{
+ struct mmc_command appcmd;
+ struct mmc_softc *sc;
+ int err;
+
+ sc = device_get_softc(brdev);
+
+ /* Squelch error reporting at lower levels, we report below. */
+ sc->squelched++;
+ do {
+ memset(&appcmd, 0, sizeof(appcmd));
+ appcmd.opcode = MMC_APP_CMD;
+ appcmd.arg = (uint32_t)rca << 16;
+ appcmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
+ if (mmc_wait_for_cmd(brdev, reqdev, &appcmd, 0) != 0)
+ err = MMC_ERR_FAILED;
+ else
+ err = appcmd.error;
+ if (err == MMC_ERR_NONE) {
+ if (!(appcmd.resp[0] & R1_APP_CMD))
+ err = MMC_ERR_FAILED;
+ else if (mmc_wait_for_cmd(brdev, reqdev, cmd, 0) != 0)
+ err = MMC_ERR_FAILED;
+ else
+ err = cmd->error;
+ }
+ } while (err != MMC_ERR_NONE && retries-- > 0);
+ sc->squelched--;
+
+ if (err != MMC_ERR_NONE && brdev == reqdev) {
+ sc = device_get_softc(brdev);
+ if (sc->squelched == 0 && ppsratecheck(&sc->log_time,
+ &sc->log_count, LOG_PPS)) {
+ device_printf(sc->dev, "ACMD%d failed, RESULT: %d\n",
+ cmd->opcode, err);
+ }
+ }
+
+ return (err);
+}
+
+int
+mmc_switch(device_t brdev, device_t reqdev, uint16_t rca, uint8_t set,
+ uint8_t index, uint8_t value, u_int timeout, bool status)
+{
+ struct mmc_command cmd;
+ int err;
+
+ KASSERT(timeout != 0, ("%s: no timeout", __func__));
+
+ memset(&cmd, 0, sizeof(cmd));
+ cmd.opcode = MMC_SWITCH_FUNC;
+ cmd.arg = (MMC_SWITCH_FUNC_WR << 24) | (index << 16) | (value << 8) |
+ set;
+ /*
+ * If the hardware supports busy detection but the switch timeout
+ * exceeds the maximum host timeout, use a R1 instead of a R1B
+ * response in order to keep the hardware from timing out.
+ */
+ if (mmcbr_get_caps(brdev) & MMC_CAP_WAIT_WHILE_BUSY &&
+ timeout > mmcbr_get_max_busy_timeout(brdev))
+ cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
+ else
+ cmd.flags = MMC_RSP_R1B | MMC_CMD_AC;
+ err = mmc_wait_for_cmd(brdev, reqdev, &cmd, CMD_RETRIES);
+ if (err != MMC_ERR_NONE || status == false)
+ return (err);
+ return (mmc_switch_status(brdev, reqdev, rca, timeout));
+}
+
+int
+mmc_switch_status(device_t brdev, device_t reqdev, uint16_t rca, u_int timeout)
+{
+ struct timeval cur, end;
+ int err;
+ uint32_t status;
+
+ KASSERT(timeout != 0, ("%s: no timeout", __func__));
+
+ /*
+ * Note that when using a R1B response in mmc_switch(), bridges of
+ * type MMC_CAP_WAIT_WHILE_BUSY will issue mmc_send_status() only
+ * once and then exit the loop.
+ */
+ for (;;) {
+ err = mmc_send_status(brdev, reqdev, rca, &status);
+ if (err != MMC_ERR_NONE)
+ break;
+ if (R1_CURRENT_STATE(status) == R1_STATE_TRAN)
+ break;
+ getmicrouptime(&cur);
+ if (end.tv_sec == 0 && end.tv_usec == 0) {
+ end.tv_usec = timeout;
+ timevaladd(&end, &cur);
+ }
+ if (timevalcmp(&cur, &end, >)) {
+ err = MMC_ERR_TIMEOUT;
+ break;
+ }
+ }
+ if (err == MMC_ERR_NONE && R1_CURRENT_STATE(status) == R1_SWITCH_ERROR)
+ return (MMC_ERR_FAILED);
+ return (err);
+}
+
+int
+mmc_send_ext_csd(device_t brdev, device_t reqdev, uint8_t *rawextcsd)
+{
+ struct mmc_command cmd;
+ struct mmc_data data;
+ int err;
+
+ memset(&cmd, 0, sizeof(cmd));
+ memset(&data, 0, sizeof(data));
+
+ memset(rawextcsd, 0, MMC_EXTCSD_SIZE);
+ cmd.opcode = MMC_SEND_EXT_CSD;
+ cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC;
+ cmd.data = &data;
+
+ data.data = rawextcsd;
+ data.len = MMC_EXTCSD_SIZE;
+ data.flags = MMC_DATA_READ;
+
+ err = mmc_wait_for_cmd(brdev, reqdev, &cmd, CMD_RETRIES);
+ return (err);
+}
+
+int
+mmc_send_status(device_t brdev, device_t reqdev, uint16_t rca, uint32_t *status)
+{
+ struct mmc_command cmd;
+ int err;
+
+ memset(&cmd, 0, sizeof(cmd));
+ cmd.opcode = MMC_SEND_STATUS;
+ cmd.arg = (uint32_t)rca << 16;
+ cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
+ err = mmc_wait_for_cmd(brdev, reqdev, &cmd, CMD_RETRIES);
+ *status = cmd.resp[0];
+ return (err);
+}
diff --git a/sys/dev/mmc/mmc_subr.h b/sys/dev/mmc/mmc_subr.h
new file mode 100644
index 0000000..6e300d2
--- /dev/null
+++ b/sys/dev/mmc/mmc_subr.h
@@ -0,0 +1,72 @@
+/*-
+ * Copyright (c) 2006 Bernd Walter. All rights reserved.
+ * Copyright (c) 2006 M. Warner Losh. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Portions of this software may have been developed with reference to
+ * the SD Simplified Specification. The following disclaimer may apply:
+ *
+ * The following conditions apply to the release of the simplified
+ * specification ("Simplified Specification") by the SD Card Association and
+ * the SD Group. The Simplified Specification is a subset of the complete SD
+ * Specification which is owned by the SD Card Association and the SD
+ * Group. This Simplified Specification is provided on a non-confidential
+ * basis subject to the disclaimers below. Any implementation of the
+ * Simplified Specification may require a license from the SD Card
+ * Association, SD Group, SD-3C LLC or other third parties.
+ *
+ * Disclaimers:
+ *
+ * The information contained in the Simplified Specification is presented only
+ * as a standard specification for SD Cards and SD Host/Ancillary products and
+ * is provided "AS-IS" without any representations or warranties of any
+ * kind. No responsibility is assumed by the SD Group, SD-3C LLC or the SD
+ * Card Association for any damages, any infringements of patents or other
+ * right of the SD Group, SD-3C LLC, the SD Card Association or any third
+ * parties, which may result from its use. No license is granted by
+ * implication, estoppel or otherwise under any patent or other rights of the
+ * SD Group, SD-3C LLC, the SD Card Association or any third party. Nothing
+ * herein shall be construed as an obligation by the SD Group, the SD-3C LLC
+ * or the SD Card Association to disclose or distribute any technical
+ * information, know-how or other confidential information to any third party.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef DEV_MMC_SUBR_H
+#define DEV_MMC_SUBR_H
+
+struct mmc_command;
+
+int mmc_send_ext_csd(device_t brdev, device_t reqdev, uint8_t *rawextcsd);
+int mmc_send_status(device_t brdev, device_t reqdev, uint16_t rca,
+ uint32_t *status);
+int mmc_switch(device_t brdev, device_t reqdev, uint16_t rca, uint8_t set,
+ uint8_t index, uint8_t value, u_int timeout, bool send_status);
+int mmc_switch_status(device_t brdev, device_t reqdev, uint16_t rca,
+ u_int timeout);
+int mmc_wait_for_app_cmd(device_t brdev, device_t reqdev, uint16_t rca,
+ struct mmc_command *cmd, int retries);
+int mmc_wait_for_cmd(device_t brdev, device_t reqdev, struct mmc_command *cmd,
+ int retries);
+
+#endif /* DEV_MMC_SUBR_H */
diff --git a/sys/dev/mmc/mmcbr_if.m b/sys/dev/mmc/mmcbr_if.m
index e82293d..34ffdb0 100644
--- a/sys/dev/mmc/mmcbr_if.m
+++ b/sys/dev/mmc/mmcbr_if.m
@@ -65,8 +65,21 @@
INTERFACE mmcbr;
#
-# Called by the mmcbus to setup the IO pins correctly, the voltage to use
-# for the card, the type of selects, power modes and bus width.
+# Default implementations of some methods.
+#
+CODE {
+ static int
+ null_switch_vccq(device_t brdev __unused, device_t reqdev __unused)
+ {
+
+ return (0);
+ }
+};
+
+#
+# Called by the mmcbus to set up the IO pins correctly, the common/core
+# supply voltage (VDD/VCC) to use for the device, the clock frequency, the
+# type of SPI chip select, power mode and bus width.
#
METHOD int update_ios {
device_t brdev;
@@ -74,10 +87,18 @@ METHOD int update_ios {
};
#
+# Called by the mmcbus to switch the signaling voltage (VCCQ).
+#
+METHOD int switch_vccq {
+ device_t brdev;
+ device_t reqdev;
+} DEFAULT null_switch_vccq;
+
+#
# Called by the mmcbus or its children to schedule a mmc request. These
# requests are queued. Time passes. The bridge then gets notification
-# of the status of request, who then notifies the requesting device via
-# the xfer_done mmcbus method.
+# of the status of the request, who then notifies the requesting device
+# by calling the completion function supplied as part of the request.
#
METHOD int request {
device_t brdev;
diff --git a/sys/dev/mmc/mmcbrvar.h b/sys/dev/mmc/mmcbrvar.h
index 9fc1ab8..d8f7915 100644
--- a/sys/dev/mmc/mmcbrvar.h
+++ b/sys/dev/mmc/mmcbrvar.h
@@ -49,14 +49,14 @@
* or the SD Card Association to disclose or distribute any technical
* information, know-how or other confidential information to any third party.
*
- * "$FreeBSD$"
+ * $FreeBSD$
*/
#ifndef DEV_MMC_MMCBRVAR_H
-#define DEV_MMC_MMCBRVAR_H
+#define DEV_MMC_MMCBRVAR_H
-#include <dev/mmc/bridge.h>
#include <dev/mmc/mmcreg.h>
+
#include "mmcbr_if.h"
enum mmcbr_device_ivars {
@@ -71,15 +71,17 @@ enum mmcbr_device_ivars {
MMCBR_IVAR_OCR,
MMCBR_IVAR_POWER_MODE,
MMCBR_IVAR_VDD,
+ MMCBR_IVAR_VCCQ,
MMCBR_IVAR_CAPS,
MMCBR_IVAR_TIMING,
- MMCBR_IVAR_MAX_DATA
+ MMCBR_IVAR_MAX_DATA,
+ MMCBR_IVAR_MAX_BUSY_TIMEOUT
};
/*
- * Simplified accessors for pci devices
+ * Simplified accessors for bridge devices
*/
-#define MMCBR_ACCESSOR(var, ivar, type) \
+#define MMCBR_ACCESSOR(var, ivar, type) \
__BUS_ACCESSOR(mmcbr, var, MMCBR, ivar, type)
MMCBR_ACCESSOR(bus_mode, BUS_MODE, int)
@@ -93,19 +95,30 @@ MMCBR_ACCESSOR(mode, MODE, int)
MMCBR_ACCESSOR(ocr, OCR, int)
MMCBR_ACCESSOR(power_mode, POWER_MODE, int)
MMCBR_ACCESSOR(vdd, VDD, int)
+MMCBR_ACCESSOR(vccq, VCCQ, int)
MMCBR_ACCESSOR(caps, CAPS, int)
MMCBR_ACCESSOR(timing, TIMING, int)
MMCBR_ACCESSOR(max_data, MAX_DATA, int)
+MMCBR_ACCESSOR(max_busy_timeout, MAX_BUSY_TIMEOUT, u_int)
static int __inline
mmcbr_update_ios(device_t dev)
{
+
return (MMCBR_UPDATE_IOS(device_get_parent(dev), dev));
}
static int __inline
+mmcbr_switch_vccq(device_t dev)
+{
+
+ return (MMCBR_SWITCH_VCCQ(device_get_parent(dev), dev));
+}
+
+static int __inline
mmcbr_get_ro(device_t dev)
{
+
return (MMCBR_GET_RO(device_get_parent(dev), dev));
}
diff --git a/sys/dev/mmc/mmcreg.h b/sys/dev/mmc/mmcreg.h
index ba4ca93..816f71b 100644
--- a/sys/dev/mmc/mmcreg.h
+++ b/sys/dev/mmc/mmcreg.h
@@ -1,5 +1,6 @@
/*-
* Copyright (c) 2006 M. Warner Losh. All rights reserved.
+ * Copyright (c) 2017 Marius Strobl <marius@FreeBSD.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -100,7 +101,7 @@ struct mmc_command {
#define MMC_ERR_FAILED 4
#define MMC_ERR_INVALID 5
#define MMC_ERR_NO_MEMORY 6
-#define MMC_ERR_MAX 6
+#define MMC_ERR_MAX 6
struct mmc_data *data; /* Data segment with cmd */
struct mmc_request *mrq; /* backpointer to request */
};
@@ -140,6 +141,7 @@ struct mmc_command {
#define R1_ERASE_RESET (1u << 13) /* sr, c */
#define R1_CURRENT_STATE_MASK (0xfu << 9) /* sx, b */
#define R1_READY_FOR_DATA (1u << 8) /* sx, a */
+#define R1_SWITCH_ERROR (1u << 7) /* sx, c */
#define R1_APP_CMD (1u << 5) /* sr, c */
#define R1_AKE_SEQ_ERROR (1u << 3) /* er, c */
#define R1_STATUS(x) ((x) & 0xFFFFE000)
@@ -184,7 +186,7 @@ struct mmc_request {
#define MMC_SET_RELATIVE_ADDR 3
#define SD_SEND_RELATIVE_ADDR 3
#define MMC_SET_DSR 4
- /* reserved: 5 */
+#define MMC_SLEEP_AWAKE 5
#define MMC_SWITCH_FUNC 6
#define MMC_SWITCH_FUNC_CMDS 0
#define MMC_SWITCH_FUNC_SET 1
@@ -207,11 +209,11 @@ struct mmc_request {
#define MMC_SET_BLOCKLEN 16
#define MMC_READ_SINGLE_BLOCK 17
#define MMC_READ_MULTIPLE_BLOCK 18
- /* reserved: 19 */
+#define MMC_SEND_TUNING_BLOCK 19
+#define MMC_SEND_TUNING_BLOCK_HS200 21
/* Class 3: Stream write commands */
#define MMC_WRITE_DAT_UNTIL_STOP 20
- /* reserved: 21 */
/* reserved: 22 */
/* Class 4: Block oriented write commands */
@@ -278,7 +280,6 @@ struct mmc_request {
/* reserved: 50 */
/* reserved: 57 */
-
/* Application specific commands for SD */
#define ACMD_SET_BUS_WIDTH 6
#define ACMD_SD_STATUS 13
@@ -291,52 +292,153 @@ struct mmc_request {
/*
* EXT_CSD fields
*/
-#define EXT_CSD_ERASE_GRP_DEF 175 /* R/W */
-#define EXT_CSD_BUS_WIDTH 183 /* R/W */
-#define EXT_CSD_HS_TIMING 185 /* R/W */
-#define EXT_CSD_CARD_TYPE 196 /* RO */
-#define EXT_CSD_REV 192 /* RO */
-#define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */
-#define EXT_CSD_ERASE_TO_MULT 223 /* RO */
-#define EXT_CSD_ERASE_GRP_SIZE 224 /* RO */
+#define EXT_CSD_EXT_PART_ATTR 52 /* R/W, 2 bytes */
+#define EXT_CSD_ENH_START_ADDR 136 /* R/W, 4 bytes */
+#define EXT_CSD_ENH_SIZE_MULT 140 /* R/W, 3 bytes */
+#define EXT_CSD_GP_SIZE_MULT 143 /* R/W, 12 bytes */
+#define EXT_CSD_PART_SET 155 /* R/W */
+#define EXT_CSD_PART_ATTR 156 /* R/W */
+#define EXT_CSD_PART_SUPPORT 160 /* RO */
+#define EXT_CSD_RPMB_MULT 168 /* RO */
+#define EXT_CSD_BOOT_WP_STATUS 174 /* RO */
+#define EXT_CSD_ERASE_GRP_DEF 175 /* R/W */
+#define EXT_CSD_PART_CONFIG 179 /* R/W */
+#define EXT_CSD_BUS_WIDTH 183 /* R/W */
+#define EXT_CSD_STROBE_SUPPORT 184 /* RO */
+#define EXT_CSD_HS_TIMING 185 /* R/W */
+#define EXT_CSD_POWER_CLASS 187 /* R/W */
+#define EXT_CSD_CARD_TYPE 196 /* RO */
+#define EXT_CSD_DRIVER_STRENGTH 197 /* RO */
+#define EXT_CSD_REV 192 /* RO */
+#define EXT_CSD_PART_SWITCH_TO 199 /* RO */
+#define EXT_CSD_PWR_CL_52_195 200 /* RO */
+#define EXT_CSD_PWR_CL_26_195 201 /* RO */
+#define EXT_CSD_PWR_CL_52_360 202 /* RO */
+#define EXT_CSD_PWR_CL_26_360 203 /* RO */
+#define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */
+#define EXT_CSD_HC_WP_GRP_SIZE 221 /* RO */
+#define EXT_CSD_ERASE_TO_MULT 223 /* RO */
+#define EXT_CSD_ERASE_GRP_SIZE 224 /* RO */
+#define EXT_CSD_BOOT_SIZE_MULT 226 /* RO */
+#define EXT_CSD_PWR_CL_200_195 236 /* RO */
+#define EXT_CSD_PWR_CL_200_360 237 /* RO */
+#define EXT_CSD_PWR_CL_52_195_DDR 238 /* RO */
+#define EXT_CSD_PWR_CL_52_360_DDR 239 /* RO */
+#define EXT_CSD_GEN_CMD6_TIME 248 /* RO */
+#define EXT_CSD_PWR_CL_200_360_DDR 253 /* RO */
/*
* EXT_CSD field definitions
*/
-#define EXT_CSD_CMD_SET_NORMAL 1
-#define EXT_CSD_CMD_SET_SECURE 2
-#define EXT_CSD_CMD_SET_CPSECURE 4
-
-#define EXT_CSD_CARD_TYPE_26 1
-#define EXT_CSD_CARD_TYPE_52 2
-
-#define EXT_CSD_BUS_WIDTH_1 0
-#define EXT_CSD_BUS_WIDTH_4 1
-#define EXT_CSD_BUS_WIDTH_8 2
-
-#define MMC_TYPE_26_MAX_HS 26000000
-#define MMC_TYPE_52_MAX_HS 52000000
+#define EXT_CSD_EXT_PART_ATTR_DEFAULT 0x0
+#define EXT_CSD_EXT_PART_ATTR_SYSTEMCODE 0x1
+#define EXT_CSD_EXT_PART_ATTR_NPERSISTENT 0x2
+
+#define EXT_CSD_PART_SET_COMPLETED 0x01
+
+#define EXT_CSD_PART_ATTR_ENH_USR 0x01
+#define EXT_CSD_PART_ATTR_ENH_GP0 0x02
+#define EXT_CSD_PART_ATTR_ENH_GP1 0x04
+#define EXT_CSD_PART_ATTR_ENH_GP2 0x08
+#define EXT_CSD_PART_ATTR_ENH_GP3 0x10
+#define EXT_CSD_PART_ATTR_ENH_MASK 0x1f
+
+#define EXT_CSD_PART_SUPPORT_EN 0x01
+#define EXT_CSD_PART_SUPPORT_ENH_ATTR_EN 0x02
+#define EXT_CSD_PART_SUPPORT_EXT_ATTR_EN 0x04
+
+#define EXT_CSD_BOOT_WP_STATUS_BOOT0_PWR 0x01
+#define EXT_CSD_BOOT_WP_STATUS_BOOT0_PERM 0x02
+#define EXT_CSD_BOOT_WP_STATUS_BOOT0_MASK 0x03
+#define EXT_CSD_BOOT_WP_STATUS_BOOT1_PWR 0x04
+#define EXT_CSD_BOOT_WP_STATUS_BOOT1_PERM 0x08
+#define EXT_CSD_BOOT_WP_STATUS_BOOT1_MASK 0x0c
+
+#define EXT_CSD_ERASE_GRP_DEF_EN 0x01
+
+#define EXT_CSD_PART_CONFIG_ACC_DEFAULT 0x00
+#define EXT_CSD_PART_CONFIG_ACC_BOOT0 0x01
+#define EXT_CSD_PART_CONFIG_ACC_BOOT1 0x02
+#define EXT_CSD_PART_CONFIG_ACC_RPMB 0x03
+#define EXT_CSD_PART_CONFIG_ACC_GP0 0x04
+#define EXT_CSD_PART_CONFIG_ACC_GP1 0x05
+#define EXT_CSD_PART_CONFIG_ACC_GP2 0x06
+#define EXT_CSD_PART_CONFIG_ACC_GP3 0x07
+#define EXT_CSD_PART_CONFIG_ACC_MASK 0x07
+#define EXT_CSD_PART_CONFIG_BOOT0 0x08
+#define EXT_CSD_PART_CONFIG_BOOT1 0x10
+#define EXT_CSD_PART_CONFIG_BOOT_USR 0x38
+#define EXT_CSD_PART_CONFIG_BOOT_MASK 0x38
+#define EXT_CSD_PART_CONFIG_BOOT_ACK 0x40
+
+#define EXT_CSD_CMD_SET_NORMAL 1
+#define EXT_CSD_CMD_SET_SECURE 2
+#define EXT_CSD_CMD_SET_CPSECURE 4
+
+#define EXT_CSD_HS_TIMING_BC 0
+#define EXT_CSD_HS_TIMING_HS 1
+#define EXT_CSD_HS_TIMING_DDR200 2
+#define EXT_CSD_HS_TIMING_DDR400 3
+#define EXT_CSD_HS_TIMING_DRV_STR_SHIFT 4
+
+#define EXT_CSD_POWER_CLASS_8BIT_MASK 0xf0
+#define EXT_CSD_POWER_CLASS_8BIT_SHIFT 4
+#define EXT_CSD_POWER_CLASS_4BIT_MASK 0x0f
+#define EXT_CSD_POWER_CLASS_4BIT_SHIFT 0
+
+#define EXT_CSD_CARD_TYPE_HS_26 0x0001
+#define EXT_CSD_CARD_TYPE_HS_52 0x0002
+#define EXT_CSD_CARD_TYPE_DDR_52_1_8V 0x0004
+#define EXT_CSD_CARD_TYPE_DDR_52_1_2V 0x0008
+#define EXT_CSD_CARD_TYPE_HS200_1_8V 0x0010
+#define EXT_CSD_CARD_TYPE_HS200_1_2V 0x0020
+#define EXT_CSD_CARD_TYPE_HS400_1_8V 0x0040
+#define EXT_CSD_CARD_TYPE_HS400_1_2V 0x0080
+#define EXT_CSD_CARD_TYPE_HS400ES 0x0100
+
+#define EXT_CSD_BUS_WIDTH_1 0
+#define EXT_CSD_BUS_WIDTH_4 1
+#define EXT_CSD_BUS_WIDTH_8 2
+#define EXT_CSD_BUS_WIDTH_4_DDR 5
+#define EXT_CSD_BUS_WIDTH_8_DDR 6
+#define EXT_CSD_BUS_WIDTH_ES 0x80
+
+#define MMC_TYPE_HS_26_MAX 26000000
+#define MMC_TYPE_HS_52_MAX 52000000
+#define MMC_TYPE_DDR52_MAX 52000000
+#define MMC_TYPE_HS200_HS400ES_MAX 200000000
/*
* SD bus widths
*/
-#define SD_BUS_WIDTH_1 0
-#define SD_BUS_WIDTH_4 2
+#define SD_BUS_WIDTH_1 0
+#define SD_BUS_WIDTH_4 2
/*
* SD Switch
*/
-#define SD_SWITCH_MODE_CHECK 0
-#define SD_SWITCH_MODE_SET 1
-#define SD_SWITCH_GROUP1 0
-#define SD_SWITCH_NORMAL_MODE 0
-#define SD_SWITCH_HS_MODE 1
-#define SD_SWITCH_NOCHANGE 0xF
+#define SD_SWITCH_MODE_CHECK 0
+#define SD_SWITCH_MODE_SET 1
+#define SD_SWITCH_GROUP1 0
+#define SD_SWITCH_NORMAL_MODE 0
+#define SD_SWITCH_HS_MODE 1
+#define SD_SWITCH_SDR50_MODE 2
+#define SD_SWITCH_SDR104_MODE 3
+#define SD_SWITCH_DDR50 4
+#define SD_SWITCH_NOCHANGE 0xF
#define SD_CLR_CARD_DETECT 0
#define SD_SET_CARD_DETECT 1
-#define SD_MAX_HS 50000000
+#define SD_HS_MAX 50000000
+#define SD_DDR50_MAX 50000000
+#define SD_SDR12_MAX 25000000
+#define SD_SDR25_MAX 50000000
+#define SD_SDR50_MAX 100000000
+#define SD_SDR104_MAX 208000000
+
+/* Specifications require 400 kHz max. during ID phase. */
+#define SD_MMC_CARD_ID_FREQUENCY 400000
/* OCR bits */
@@ -373,6 +475,12 @@ struct mmc_request {
#define MMC_OCR_340_350 (1U << 22) /* Vdd voltage 3.40 ~ 3.50 */
#define MMC_OCR_350_360 (1U << 23) /* Vdd voltage 3.50 ~ 3.60 */
#define MMC_OCR_MAX_VOLTAGE_SHIFT 23
+#define MMC_OCR_S18R (1U << 24) /* Switching to 1.8 V requested (SD) */
+#define MMC_OCR_S18A MMC_OCR_S18R /* Switching to 1.8 V accepted (SD) */
+#define MMC_OCR_XPC (1U << 28) /* SDXC Power Control */
+#define MMC_OCR_ACCESS_MODE_BYTE (0U << 29) /* Access Mode Byte (MMC) */
+#define MMC_OCR_ACCESS_MODE_SECT (1U << 29) /* Access Mode Sector (MMC) */
+#define MMC_OCR_ACCESS_MODE_MASK (3U << 29)
#define MMC_OCR_CCS (1u << 30) /* Card Capacity status (SD vs SDHC) */
#define MMC_OCR_CARD_BUSY (1U << 31) /* Card Power up status */
@@ -419,8 +527,8 @@ struct mmc_scr
{
unsigned char sda_vsn;
unsigned char bus_widths;
-#define SD_SCR_BUS_WIDTH_1 (1<<0)
-#define SD_SCR_BUS_WIDTH_4 (1<<2)
+#define SD_SCR_BUS_WIDTH_1 (1 << 0)
+#define SD_SCR_BUS_WIDTH_4 (1 << 2)
};
struct mmc_sd_status
@@ -438,11 +546,21 @@ struct mmc_sd_status
};
/*
+ * Various MMC/SD constants
+ */
+#define MMC_BOOT_RPMB_BLOCK_SIZE (128 * 1024)
+
+#define MMC_EXTCSD_SIZE 512
+
+#define MMC_PART_GP_MAX 4
+#define MMC_PART_MAX 8
+
+/*
* Older versions of the MMC standard had a variable sector size. However,
* I've been able to find no old MMC or SD cards that have a non 512
* byte sector size anywhere, so we assume that such cards are very rare
* and only note their existence in passing here...
*/
-#define MMC_SECTOR_SIZE 512
+#define MMC_SECTOR_SIZE 512
#endif /* DEV_MMCREG_H */
diff --git a/sys/dev/mmc/mmcsd.c b/sys/dev/mmc/mmcsd.c
index ac697a3..4b2e29f 100644
--- a/sys/dev/mmc/mmcsd.c
+++ b/sys/dev/mmc/mmcsd.c
@@ -1,6 +1,7 @@
/*-
* Copyright (c) 2006 Bernd Walter. All rights reserved.
* Copyright (c) 2006 M. Warner Losh. All rights reserved.
+ * Copyright (c) 2017 Marius Strobl <marius@FreeBSD.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -58,16 +59,23 @@ __FBSDID("$FreeBSD$");
#include <sys/bio.h>
#include <sys/bus.h>
#include <sys/conf.h>
+#include <sys/fcntl.h>
+#include <sys/ioccom.h>
#include <sys/kernel.h>
#include <sys/kthread.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/module.h>
#include <sys/mutex.h>
+#include <sys/slicer.h>
#include <sys/time.h>
+
#include <geom/geom.h>
#include <geom/geom_disk.h>
+#include <dev/mmc/bridge.h>
+#include <dev/mmc/mmc_ioctl.h>
+#include <dev/mmc/mmc_subr.h>
#include <dev/mmc/mmcbrvar.h>
#include <dev/mmc/mmcreg.h>
#include <dev/mmc/mmcvar.h>
@@ -79,17 +87,46 @@ __FBSDID("$FreeBSD$");
#define kproc_exit kthread_exit
#endif
-struct mmcsd_softc {
- device_t dev;
- struct mtx sc_mtx;
+#define MMCSD_CMD_RETRIES 5
+
+#define MMCSD_FMT_BOOT "mmcsd%dboot"
+#define MMCSD_FMT_GP "mmcsd%dgp"
+#define MMCSD_FMT_RPMB "mmcsd%drpmb"
+#define MMCSD_LABEL_ENH "enh"
+
+#define MMCSD_PART_NAMELEN (16 + 1)
+
+struct mmcsd_softc;
+
+struct mmcsd_part {
+ struct mtx part_mtx;
+ struct mmcsd_softc *sc;
struct disk *disk;
struct proc *p;
struct bio_queue_head bio_queue;
daddr_t eblock, eend; /* Range remaining after the last erase. */
+ u_int cnt;
+ u_int type;
int running;
int suspend;
+ bool ro;
+ char name[MMCSD_PART_NAMELEN];
+};
+
+struct mmcsd_softc {
+ device_t dev;
+ device_t mmcbr;
+ struct mmcsd_part *part[MMC_PART_MAX];
+ enum mmc_card_mode mode;
+ uint8_t part_curr; /* Partition currently switched to */
+ uint8_t ext_csd[MMC_EXTCSD_SIZE];
+ uint16_t rca;
+ uint32_t part_time; /* Partition switch timeout [us] */
+ off_t enh_base; /* Enhanced user data area slice base ... */
+ off_t enh_size; /* ... and size [bytes] */
int log_count;
struct timeval log_time;
+ struct cdev *rpmb_dev;
};
static const char *errmsg[] =
@@ -113,23 +150,43 @@ static int mmcsd_probe(device_t dev);
/* disk routines */
static int mmcsd_close(struct disk *dp);
static int mmcsd_dump(void *arg, void *virtual, vm_offset_t physical,
- off_t offset, size_t length);
+ off_t offset, size_t length);
+static int mmcsd_getattr(struct bio *);
+static int mmcsd_ioctl_disk(struct disk *disk, u_long cmd, void *data,
+ int fflag, struct thread *td);
static int mmcsd_open(struct disk *dp);
static void mmcsd_strategy(struct bio *bp);
static void mmcsd_task(void *arg);
+/* RMPB cdev interface */
+static int mmcsd_ioctl_rpmb(struct cdev *dev, u_long cmd, caddr_t data,
+ int fflag, struct thread *td);
+
+static void mmcsd_add_part(struct mmcsd_softc *sc, u_int type,
+ const char *name, u_int cnt, off_t media_size, off_t erase_size, bool ro);
static int mmcsd_bus_bit_width(device_t dev);
-static daddr_t mmcsd_delete(struct mmcsd_softc *sc, struct bio *bp);
-static daddr_t mmcsd_rw(struct mmcsd_softc *sc, struct bio *bp);
-
-#define MMCSD_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
-#define MMCSD_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx)
-#define MMCSD_LOCK_INIT(_sc) \
- mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \
- "mmcsd", MTX_DEF)
-#define MMCSD_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx);
-#define MMCSD_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED);
-#define MMCSD_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED);
+static daddr_t mmcsd_delete(struct mmcsd_part *part, struct bio *bp);
+static int mmcsd_ioctl(struct mmcsd_part *part, u_long cmd, void *data,
+ int fflag);
+static int mmcsd_ioctl_cmd(struct mmcsd_part *part, struct mmc_ioc_cmd *mic,
+ int fflag);
+static uintmax_t mmcsd_pretty_size(off_t size, char *unit);
+static daddr_t mmcsd_rw(struct mmcsd_part *part, struct bio *bp);
+static int mmcsd_set_blockcount(struct mmcsd_softc *sc, u_int count, bool rel);
+static int mmcsd_slicer(device_t dev, const char *provider,
+ struct flash_slice *slices, int *nslices);
+static int mmcsd_switch_part(device_t bus, device_t dev, uint16_t rca,
+ u_int part);
+
+#define MMCSD_PART_LOCK(_part) mtx_lock(&(_part)->part_mtx)
+#define MMCSD_PART_UNLOCK(_part) mtx_unlock(&(_part)->part_mtx)
+#define MMCSD_PART_LOCK_INIT(_part) \
+ mtx_init(&(_part)->part_mtx, (_part)->name, "mmcsd part", MTX_DEF)
+#define MMCSD_PART_LOCK_DESTROY(_part) mtx_destroy(&(_part)->part_mtx);
+#define MMCSD_PART_ASSERT_LOCKED(_part) \
+ mtx_assert(&(_part)->part_mtx, MA_OWNED);
+#define MMCSD_PART_ASSERT_UNLOCKED(_part) \
+ mtx_assert(&(_part)->part_mtx, MA_NOTOWNED);
static int
mmcsd_probe(device_t dev)
@@ -143,74 +200,353 @@ mmcsd_probe(device_t dev)
static int
mmcsd_attach(device_t dev)
{
+ device_t mmcbr;
struct mmcsd_softc *sc;
- struct disk *d;
- intmax_t mb;
- uint32_t speed;
- uint32_t maxblocks;
- char unit;
+ const uint8_t *ext_csd;
+ off_t erase_size, sector_size, size, wp_size;
+ uintmax_t bytes;
+ int err, i;
+ uint8_t rev;
+ bool comp, ro;
+ char unit[2];
sc = device_get_softc(dev);
sc->dev = dev;
- MMCSD_LOCK_INIT(sc);
-
- d = sc->disk = disk_alloc();
- d->d_open = mmcsd_open;
- d->d_close = mmcsd_close;
- d->d_strategy = mmcsd_strategy;
- d->d_dump = mmcsd_dump;
- d->d_name = "mmcsd";
- d->d_drv1 = sc;
- d->d_sectorsize = mmc_get_sector_size(dev);
- d->d_maxsize = mmc_get_max_data(dev) * d->d_sectorsize;
- d->d_mediasize = (off_t)mmc_get_media_size(dev) * d->d_sectorsize;
- d->d_stripesize = mmc_get_erase_sector(dev) * d->d_sectorsize;
- d->d_unit = device_get_unit(dev);
- d->d_flags = DISKFLAG_CANDELETE;
- d->d_delmaxsize = mmc_get_erase_sector(dev) * d->d_sectorsize;
- strlcpy(d->d_ident, mmc_get_card_sn_string(dev), sizeof(d->d_ident));
- strlcpy(d->d_descr, mmc_get_card_id_string(dev), sizeof(d->d_descr));
- d->d_rotation_rate = DISK_RR_NON_ROTATING;
+ sc->mmcbr = mmcbr = device_get_parent(dev);
+ sc->mode = mmcbr_get_mode(mmcbr);
+ sc->rca = mmc_get_rca(dev);
+
+ /* Only MMC >= 4.x devices support EXT_CSD. */
+ if (mmc_get_spec_vers(dev) >= 4) {
+ MMCBUS_ACQUIRE_BUS(mmcbr, dev);
+ err = mmc_send_ext_csd(mmcbr, dev, sc->ext_csd);
+ MMCBUS_RELEASE_BUS(mmcbr, dev);
+ if (err != MMC_ERR_NONE)
+ bzero(sc->ext_csd, sizeof(sc->ext_csd));
+ }
+ ext_csd = sc->ext_csd;
/*
- * Display in most natural units. There's no cards < 1MB. The SD
- * standard goes to 2GiB due to its reliance on FAT, but the data
- * format supports up to 4GiB and some card makers push it up to this
- * limit. The SDHC standard only goes to 32GiB due to FAT32, but the
- * data format supports up to 2TiB however. 2048GB isn't too ugly, so
- * we note it in passing here and don't add the code to print
- * TB). Since these cards are sold in terms of MB and GB not MiB and
- * GiB, report them like that. We also round to the nearest unit, since
- * many cards are a few percent short, even of the power of 10 size.
+ * Enhanced user data area and general purpose partitions are only
+ * supported in revision 1.4 (EXT_CSD_REV == 4) and later, the RPMB
+ * partition in revision 1.5 (MMC v4.41, EXT_CSD_REV == 5) and later.
*/
- mb = (d->d_mediasize + 1000000 / 2 - 1) / 1000000;
- unit = 'M';
- if (mb >= 1000) {
- unit = 'G';
- mb = (mb + 1000 / 2 - 1) / 1000;
+ rev = ext_csd[EXT_CSD_REV];
+
+ /*
+ * Ignore user-creatable enhanced user data area and general purpose
+ * partitions partitions as long as partitioning hasn't been finished.
+ */
+ comp = (ext_csd[EXT_CSD_PART_SET] & EXT_CSD_PART_SET_COMPLETED) != 0;
+
+ /*
+ * Add enhanced user data area slice, unless it spans the entirety of
+ * the user data area. The enhanced area is of a multiple of high
+ * capacity write protect groups ((ERASE_GRP_SIZE + HC_WP_GRP_SIZE) *
+ * 512 KB) and its offset given in either sectors or bytes, depending
+ * on whether it's a high capacity device or not.
+ * NB: The slicer and its slices need to be registered before adding
+ * the disk for the corresponding user data area as re-tasting is
+ * racy.
+ */
+ sector_size = mmc_get_sector_size(dev);
+ size = ext_csd[EXT_CSD_ENH_SIZE_MULT] +
+ (ext_csd[EXT_CSD_ENH_SIZE_MULT + 1] << 8) +
+ (ext_csd[EXT_CSD_ENH_SIZE_MULT + 2] << 16);
+ if (rev >= 4 && comp == TRUE && size > 0 &&
+ (ext_csd[EXT_CSD_PART_SUPPORT] &
+ EXT_CSD_PART_SUPPORT_ENH_ATTR_EN) != 0 &&
+ (ext_csd[EXT_CSD_PART_ATTR] & (EXT_CSD_PART_ATTR_ENH_USR)) != 0) {
+ erase_size = ext_csd[EXT_CSD_ERASE_GRP_SIZE] * 1024 *
+ MMC_SECTOR_SIZE;
+ wp_size = ext_csd[EXT_CSD_HC_WP_GRP_SIZE];
+ size *= erase_size * wp_size;
+ if (size != mmc_get_media_size(dev) * sector_size) {
+ sc->enh_size = size;
+ sc->enh_base = (ext_csd[EXT_CSD_ENH_START_ADDR] +
+ (ext_csd[EXT_CSD_ENH_START_ADDR + 1] << 8) +
+ (ext_csd[EXT_CSD_ENH_START_ADDR + 2] << 16) +
+ (ext_csd[EXT_CSD_ENH_START_ADDR + 3] << 24)) *
+ (mmc_get_high_cap(dev) ? MMC_SECTOR_SIZE : 1);
+ } else if (bootverbose)
+ device_printf(dev,
+ "enhanced user data area spans entire device\n");
}
+
/*
- * Report the clock speed of the underlying hardware, which might be
- * different than what the card reports due to hardware limitations.
- * Report how many blocks the hardware transfers at once.
+ * Add default partition. This may be the only one or the user
+ * data area in case partitions are supported.
*/
- speed = mmcbr_get_clock(device_get_parent(dev));
- maxblocks = mmc_get_max_data(dev);
- device_printf(dev, "%ju%cB <%s>%s at %s %d.%01dMHz/%dbit/%d-block\n",
- mb, unit, d->d_descr,
- mmc_get_read_only(dev) ? " (read-only)" : "",
- device_get_nameunit(device_get_parent(dev)),
- speed / 1000000, (speed / 100000) % 10,
- mmcsd_bus_bit_width(dev), maxblocks);
- disk_create(d, DISK_VERSION);
- bioq_init(&sc->bio_queue);
-
- sc->running = 1;
- sc->suspend = 0;
- sc->eblock = sc->eend = 0;
- kproc_create(&mmcsd_task, sc, &sc->p, 0, 0, "%s: mmc/sd card",
- device_get_nameunit(dev));
+ ro = mmc_get_read_only(dev);
+ mmcsd_add_part(sc, EXT_CSD_PART_CONFIG_ACC_DEFAULT, "mmcsd",
+ device_get_unit(dev), mmc_get_media_size(dev) * sector_size,
+ mmc_get_erase_sector(dev) * sector_size, ro);
+
+ if (mmc_get_spec_vers(dev) < 3)
+ return (0);
+
+ /* Belatedly announce enhanced user data slice. */
+ if (sc->enh_size != 0) {
+ bytes = mmcsd_pretty_size(size, unit);
+ printf(FLASH_SLICES_FMT ": %ju%sB enhanced user data area "
+ "slice offset 0x%jx at %s\n", device_get_nameunit(dev),
+ MMCSD_LABEL_ENH, bytes, unit, (uintmax_t)sc->enh_base,
+ device_get_nameunit(dev));
+ }
+
+ /*
+ * Determine partition switch timeout (provided in units of 10 ms)
+ * and ensure it's at least 300 ms as some eMMC chips lie.
+ */
+ sc->part_time = max(ext_csd[EXT_CSD_PART_SWITCH_TO] * 10 * 1000,
+ 300 * 1000);
+
+ /* Add boot partitions, which are of a fixed multiple of 128 KB. */
+ size = ext_csd[EXT_CSD_BOOT_SIZE_MULT] * MMC_BOOT_RPMB_BLOCK_SIZE;
+ if (size > 0 && (mmcbr_get_caps(mmcbr) & MMC_CAP_BOOT_NOACC) == 0) {
+ mmcsd_add_part(sc, EXT_CSD_PART_CONFIG_ACC_BOOT0,
+ MMCSD_FMT_BOOT, 0, size, MMC_BOOT_RPMB_BLOCK_SIZE,
+ ro | ((ext_csd[EXT_CSD_BOOT_WP_STATUS] &
+ EXT_CSD_BOOT_WP_STATUS_BOOT0_MASK) != 0));
+ mmcsd_add_part(sc, EXT_CSD_PART_CONFIG_ACC_BOOT1,
+ MMCSD_FMT_BOOT, 1, size, MMC_BOOT_RPMB_BLOCK_SIZE,
+ ro | ((ext_csd[EXT_CSD_BOOT_WP_STATUS] &
+ EXT_CSD_BOOT_WP_STATUS_BOOT1_MASK) != 0));
+ }
+
+ /* Add RPMB partition, which also is of a fixed multiple of 128 KB. */
+ size = ext_csd[EXT_CSD_RPMB_MULT] * MMC_BOOT_RPMB_BLOCK_SIZE;
+ if (rev >= 5 && size > 0)
+ mmcsd_add_part(sc, EXT_CSD_PART_CONFIG_ACC_RPMB,
+ MMCSD_FMT_RPMB, 0, size, MMC_BOOT_RPMB_BLOCK_SIZE, ro);
+
+ if (rev <= 3 || comp == FALSE)
+ return (0);
+
+ /*
+ * Add general purpose partitions, which are of a multiple of high
+ * capacity write protect groups, too.
+ */
+ if ((ext_csd[EXT_CSD_PART_SUPPORT] & EXT_CSD_PART_SUPPORT_EN) != 0) {
+ erase_size = ext_csd[EXT_CSD_ERASE_GRP_SIZE] * 1024 *
+ MMC_SECTOR_SIZE;
+ wp_size = ext_csd[EXT_CSD_HC_WP_GRP_SIZE];
+ for (i = 0; i < MMC_PART_GP_MAX; i++) {
+ size = ext_csd[EXT_CSD_GP_SIZE_MULT + i * 3] +
+ (ext_csd[EXT_CSD_GP_SIZE_MULT + i * 3 + 1] << 8) +
+ (ext_csd[EXT_CSD_GP_SIZE_MULT + i * 3 + 2] << 16);
+ if (size == 0)
+ continue;
+ mmcsd_add_part(sc, EXT_CSD_PART_CONFIG_ACC_GP0 + i,
+ MMCSD_FMT_GP, i, size * erase_size * wp_size,
+ erase_size, ro);
+ }
+ }
+ return (0);
+}
+
+static uintmax_t
+mmcsd_pretty_size(off_t size, char *unit)
+{
+ uintmax_t bytes;
+ int i;
+
+ /*
+ * Display in most natural units. There's no card < 1MB. However,
+ * RPMB partitions occasionally are smaller than that, though. The
+ * SD standard goes to 2 GiB due to its reliance on FAT, but the data
+ * format supports up to 4 GiB and some card makers push it up to this
+ * limit. The SDHC standard only goes to 32 GiB due to FAT32, but the
+ * data format supports up to 2 TiB however. 2048 GB isn't too ugly,
+ * so we note it in passing here and don't add the code to print TB).
+ * Since these cards are sold in terms of MB and GB not MiB and GiB,
+ * report them like that. We also round to the nearest unit, since
+ * many cards are a few percent short, even of the power of 10 size.
+ */
+ bytes = size;
+ unit[0] = unit[1] = '\0';
+ for (i = 0; i <= 2 && bytes >= 1000; i++) {
+ bytes = (bytes + 1000 / 2 - 1) / 1000;
+ switch (i) {
+ case 0:
+ unit[0] = 'k';
+ break;
+ case 1:
+ unit[0] = 'M';
+ break;
+ case 2:
+ unit[0] = 'G';
+ break;
+ default:
+ break;
+ }
+ }
+ return (bytes);
+}
+
+static struct cdevsw mmcsd_rpmb_cdevsw = {
+ .d_version = D_VERSION,
+ .d_name = "mmcsdrpmb",
+ .d_ioctl = mmcsd_ioctl_rpmb
+};
+
+static void
+mmcsd_add_part(struct mmcsd_softc *sc, u_int type, const char *name, u_int cnt,
+ off_t media_size, off_t erase_size, bool ro)
+{
+ struct make_dev_args args;
+ device_t dev, mmcbr;
+ const char *ext;
+ const uint8_t *ext_csd;
+ struct mmcsd_part *part;
+ struct disk *d;
+ uintmax_t bytes;
+ u_int gp;
+ uint32_t speed;
+ uint8_t extattr;
+ bool enh;
+ char unit[2];
+
+ dev = sc->dev;
+ mmcbr = sc->mmcbr;
+ part = sc->part[type] = malloc(sizeof(*part), M_DEVBUF,
+ M_WAITOK | M_ZERO);
+ part->sc = sc;
+ part->cnt = cnt;
+ part->type = type;
+ part->ro = ro;
+ snprintf(part->name, sizeof(part->name), name, device_get_unit(dev));
+ /* For the RPMB partition, allow IOCTL access only. */
+ if (type == EXT_CSD_PART_CONFIG_ACC_RPMB) {
+ make_dev_args_init(&args);
+ args.mda_flags = MAKEDEV_CHECKNAME | MAKEDEV_WAITOK;
+ args.mda_devsw = &mmcsd_rpmb_cdevsw;
+ args.mda_uid = UID_ROOT;
+ args.mda_gid = GID_OPERATOR;
+ args.mda_mode = 0640;
+ args.mda_si_drv1 = part;
+ if (make_dev_s(&args, &sc->rpmb_dev, "%s", part->name) != 0) {
+ device_printf(dev, "Failed to make RPMB device\n");
+ free(part, M_DEVBUF);
+ return;
+ }
+ } else {
+ MMCSD_PART_LOCK_INIT(part);
+
+ d = part->disk = disk_alloc();
+ d->d_open = mmcsd_open;
+ d->d_close = mmcsd_close;
+ d->d_strategy = mmcsd_strategy;
+ d->d_ioctl = mmcsd_ioctl_disk;
+ d->d_dump = mmcsd_dump;
+ d->d_getattr = mmcsd_getattr;
+ d->d_name = part->name;
+ d->d_drv1 = part;
+ d->d_sectorsize = mmc_get_sector_size(dev);
+ d->d_maxsize = mmc_get_max_data(dev) * d->d_sectorsize;
+ d->d_mediasize = media_size;
+ d->d_stripesize = erase_size;
+ d->d_unit = cnt;
+ d->d_flags = DISKFLAG_CANDELETE;
+ d->d_delmaxsize = erase_size;
+ strlcpy(d->d_ident, mmc_get_card_sn_string(dev),
+ sizeof(d->d_ident));
+ strlcpy(d->d_descr, mmc_get_card_id_string(dev),
+ sizeof(d->d_descr));
+ d->d_rotation_rate = DISK_RR_NON_ROTATING;
+
+ disk_create(d, DISK_VERSION);
+ bioq_init(&part->bio_queue);
+
+ part->running = 1;
+ kproc_create(&mmcsd_task, part, &part->p, 0, 0,
+ "%s%d: mmc/sd card", part->name, cnt);
+ }
+
+ bytes = mmcsd_pretty_size(media_size, unit);
+ if (type == EXT_CSD_PART_CONFIG_ACC_DEFAULT) {
+ speed = mmcbr_get_clock(mmcbr);
+ printf("%s%d: %ju%sB <%s>%s at %s %d.%01dMHz/%dbit/%d-block\n",
+ part->name, cnt, bytes, unit, mmc_get_card_id_string(dev),
+ ro ? " (read-only)" : "", device_get_nameunit(mmcbr),
+ speed / 1000000, (speed / 100000) % 10,
+ mmcsd_bus_bit_width(dev), mmc_get_max_data(dev));
+ } else if (type == EXT_CSD_PART_CONFIG_ACC_RPMB) {
+ printf("%s: %ju%sB partion %d%s at %s\n", part->name, bytes,
+ unit, type, ro ? " (read-only)" : "",
+ device_get_nameunit(dev));
+ } else {
+ enh = false;
+ ext = NULL;
+ extattr = 0;
+ if (type >= EXT_CSD_PART_CONFIG_ACC_GP0 &&
+ type <= EXT_CSD_PART_CONFIG_ACC_GP3) {
+ ext_csd = sc->ext_csd;
+ gp = type - EXT_CSD_PART_CONFIG_ACC_GP0;
+ if ((ext_csd[EXT_CSD_PART_SUPPORT] &
+ EXT_CSD_PART_SUPPORT_ENH_ATTR_EN) != 0 &&
+ (ext_csd[EXT_CSD_PART_ATTR] &
+ (EXT_CSD_PART_ATTR_ENH_GP0 << gp)) != 0)
+ enh = true;
+ else if ((ext_csd[EXT_CSD_PART_SUPPORT] &
+ EXT_CSD_PART_SUPPORT_EXT_ATTR_EN) != 0) {
+ extattr = (ext_csd[EXT_CSD_EXT_PART_ATTR +
+ (gp / 2)] >> (4 * (gp % 2))) & 0xF;
+ switch (extattr) {
+ case EXT_CSD_EXT_PART_ATTR_DEFAULT:
+ break;
+ case EXT_CSD_EXT_PART_ATTR_SYSTEMCODE:
+ ext = "system code";
+ break;
+ case EXT_CSD_EXT_PART_ATTR_NPERSISTENT:
+ ext = "non-persistent";
+ break;
+ default:
+ ext = "reserved";
+ break;
+ }
+ }
+ }
+ if (ext == NULL)
+ printf("%s%d: %ju%sB partion %d%s%s at %s\n",
+ part->name, cnt, bytes, unit, type, enh ?
+ " enhanced" : "", ro ? " (read-only)" : "",
+ device_get_nameunit(dev));
+ else
+ printf("%s%d: %ju%sB partion %d extended 0x%x "
+ "(%s)%s at %s\n", part->name, cnt, bytes, unit,
+ type, extattr, ext, ro ? " (read-only)" : "",
+ device_get_nameunit(dev));
+ }
+}
+
+static int
+mmcsd_slicer(device_t dev, const char *provider,
+ struct flash_slice *slices, int *nslices)
+{
+ char name[MMCSD_PART_NAMELEN];
+ struct mmcsd_softc *sc;
+ struct mmcsd_part *part;
+
+ *nslices = 0;
+ if (slices == NULL)
+ return (ENOMEM);
+
+ sc = device_get_softc(dev);
+ if (sc->enh_size == 0)
+ return (ENXIO);
+
+ part = sc->part[EXT_CSD_PART_CONFIG_ACC_DEFAULT];
+ snprintf(name, sizeof(name), "%s%d", part->disk->d_name,
+ part->disk->d_unit);
+ if (strcmp(name, provider) != 0)
+ return (ENXIO);
+
+ *nslices = 1;
+ slices[0].base = sc->enh_base;
+ slices[0].size = sc->enh_size;
+ slices[0].label = MMCSD_LABEL_ENH;
return (0);
}
@@ -218,26 +554,44 @@ static int
mmcsd_detach(device_t dev)
{
struct mmcsd_softc *sc = device_get_softc(dev);
+ struct mmcsd_part *part;
+ int i;
- MMCSD_LOCK(sc);
- sc->suspend = 0;
- if (sc->running > 0) {
- /* kill thread */
- sc->running = 0;
- wakeup(sc);
- /* wait for thread to finish. */
- while (sc->running != -1)
- msleep(sc, &sc->sc_mtx, 0, "detach", 0);
+ for (i = 0; i < MMC_PART_MAX; i++) {
+ part = sc->part[i];
+ if (part != NULL && part->disk != NULL) {
+ MMCSD_PART_LOCK(part);
+ part->suspend = 0;
+ if (part->running > 0) {
+ /* kill thread */
+ part->running = 0;
+ wakeup(part);
+ /* wait for thread to finish. */
+ while (part->running != -1)
+ msleep(part, &part->part_mtx, 0,
+ "detach", 0);
+ }
+ MMCSD_PART_UNLOCK(part);
+ }
}
- MMCSD_UNLOCK(sc);
- /* Flush the request queue. */
- bioq_flush(&sc->bio_queue, NULL, ENXIO);
- /* kill disk */
- disk_destroy(sc->disk);
+ if (sc->rpmb_dev != NULL)
+ destroy_dev(sc->rpmb_dev);
- MMCSD_LOCK_DESTROY(sc);
+ for (i = 0; i < MMC_PART_MAX; i++) {
+ part = sc->part[i];
+ if (part != NULL) {
+ if (part->disk != NULL) {
+ /* Flush the request queue. */
+ bioq_flush(&part->bio_queue, NULL, ENXIO);
+ /* kill disk */
+ disk_destroy(part->disk);
+ MMCSD_PART_LOCK_DESTROY(part);
+ }
+ free(part, M_DEVBUF);
+ }
+ }
return (0);
}
@@ -245,18 +599,26 @@ static int
mmcsd_suspend(device_t dev)
{
struct mmcsd_softc *sc = device_get_softc(dev);
+ struct mmcsd_part *part;
+ int i;
- MMCSD_LOCK(sc);
- sc->suspend = 1;
- if (sc->running > 0) {
- /* kill thread */
- sc->running = 0;
- wakeup(sc);
- /* wait for thread to finish. */
- while (sc->running != -1)
- msleep(sc, &sc->sc_mtx, 0, "detach", 0);
- }
- MMCSD_UNLOCK(sc);
+ for (i = 0; i < MMC_PART_MAX; i++) {
+ part = sc->part[i];
+ if (part != NULL && part->disk != NULL) {
+ MMCSD_PART_LOCK(part);
+ part->suspend = 1;
+ if (part->running > 0) {
+ /* kill thread */
+ part->running = 0;
+ wakeup(part);
+ /* wait for thread to finish. */
+ while (part->running != -1)
+ msleep(part, &part->part_mtx, 0,
+ "detach", 0);
+ }
+ MMCSD_PART_UNLOCK(part);
+ }
+ }
return (0);
}
@@ -264,28 +626,35 @@ static int
mmcsd_resume(device_t dev)
{
struct mmcsd_softc *sc = device_get_softc(dev);
+ struct mmcsd_part *part;
+ int i;
- MMCSD_LOCK(sc);
- sc->suspend = 0;
- if (sc->running <= 0) {
- sc->running = 1;
- MMCSD_UNLOCK(sc);
- kproc_create(&mmcsd_task, sc, &sc->p, 0, 0, "%s: mmc/sd card",
- device_get_nameunit(dev));
- } else
- MMCSD_UNLOCK(sc);
+ for (i = 0; i < MMC_PART_MAX; i++) {
+ part = sc->part[i];
+ if (part != NULL && part->disk != NULL) {
+ MMCSD_PART_LOCK(part);
+ part->suspend = 0;
+ if (part->running <= 0) {
+ part->running = 1;
+ kproc_create(&mmcsd_task, part, &part->p, 0, 0,
+ "%s%d: mmc/sd card", part->name, part->cnt);
+ MMCSD_PART_UNLOCK(part);
+ } else
+ MMCSD_PART_UNLOCK(part);
+ }
+ }
return (0);
}
static int
-mmcsd_open(struct disk *dp)
+mmcsd_open(struct disk *dp __unused)
{
return (0);
}
static int
-mmcsd_close(struct disk *dp)
+mmcsd_close(struct disk *dp __unused)
{
return (0);
@@ -295,47 +664,333 @@ static void
mmcsd_strategy(struct bio *bp)
{
struct mmcsd_softc *sc;
+ struct mmcsd_part *part;
- sc = (struct mmcsd_softc *)bp->bio_disk->d_drv1;
- MMCSD_LOCK(sc);
- if (sc->running > 0 || sc->suspend > 0) {
- bioq_disksort(&sc->bio_queue, bp);
- MMCSD_UNLOCK(sc);
- wakeup(sc);
+ part = bp->bio_disk->d_drv1;
+ sc = part->sc;
+ MMCSD_PART_LOCK(part);
+ if (part->running > 0 || part->suspend > 0) {
+ bioq_disksort(&part->bio_queue, bp);
+ MMCSD_PART_UNLOCK(part);
+ wakeup(part);
} else {
- MMCSD_UNLOCK(sc);
+ MMCSD_PART_UNLOCK(part);
biofinish(bp, NULL, ENXIO);
}
}
+static int
+mmcsd_ioctl_rpmb(struct cdev *dev, u_long cmd, caddr_t data,
+ int fflag, struct thread *td __unused)
+{
+
+ return (mmcsd_ioctl(dev->si_drv1, cmd, data, fflag));
+}
+
+static int
+mmcsd_ioctl_disk(struct disk *disk, u_long cmd, void *data, int fflag,
+ struct thread *td __unused)
+{
+
+ return (mmcsd_ioctl(disk->d_drv1, cmd, data, fflag));
+}
+
+static int
+mmcsd_ioctl(struct mmcsd_part *part, u_long cmd, void *data, int fflag)
+{
+ struct mmc_ioc_cmd *mic;
+ struct mmc_ioc_multi_cmd *mimc;
+ int i, err;
+ u_long cnt, size;
+
+ if ((fflag & FREAD) == 0)
+ return (EBADF);
+
+ err = 0;
+ switch (cmd) {
+ case MMC_IOC_CMD:
+ mic = data;
+ err = mmcsd_ioctl_cmd(part, data, fflag);
+ break;
+ case MMC_IOC_CMD_MULTI:
+ mimc = data;
+ if (mimc->num_of_cmds == 0)
+ break;
+ if (mimc->num_of_cmds > MMC_IOC_MAX_CMDS)
+ return (EINVAL);
+ cnt = mimc->num_of_cmds;
+ size = sizeof(*mic) * cnt;
+ mic = malloc(size, M_TEMP, M_WAITOK);
+ err = copyin((const void *)mimc->cmds, mic, size);
+ if (err != 0)
+ break;
+ for (i = 0; i < cnt; i++) {
+ err = mmcsd_ioctl_cmd(part, &mic[i], fflag);
+ if (err != 0)
+ break;
+ }
+ free(mic, M_TEMP);
+ break;
+ default:
+ return (ENOIOCTL);
+ }
+ return (err);
+}
+
+static int
+mmcsd_ioctl_cmd(struct mmcsd_part *part, struct mmc_ioc_cmd *mic, int fflag)
+{
+ struct mmc_command cmd;
+ struct mmc_data data;
+ struct mmcsd_softc *sc;
+ device_t dev, mmcbr;
+ void *dp;
+ u_long len;
+ int err, retries;
+ uint32_t status;
+ uint16_t rca;
+
+ if ((fflag & FWRITE) == 0 && mic->write_flag != 0)
+ return (EBADF);
+
+ if (part->ro == TRUE && mic->write_flag != 0)
+ return (EROFS);
+
+ err = 0;
+ dp = NULL;
+ len = mic->blksz * mic->blocks;
+ if (len > MMC_IOC_MAX_BYTES)
+ return (EOVERFLOW);
+ if (len != 0) {
+ dp = malloc(len, M_TEMP, M_WAITOK);
+ err = copyin((void *)(uintptr_t)mic->data_ptr, dp, len);
+ if (err != 0)
+ goto out;
+ }
+ memset(&cmd, 0, sizeof(cmd));
+ memset(&data, 0, sizeof(data));
+ cmd.opcode = mic->opcode;
+ cmd.arg = mic->arg;
+ cmd.flags = mic->flags;
+ if (len != 0) {
+ data.len = len;
+ data.data = dp;
+ data.flags = mic->write_flag != 0 ? MMC_DATA_WRITE :
+ MMC_DATA_READ;
+ cmd.data = &data;
+ }
+ sc = part->sc;
+ rca = sc->rca;
+ if (mic->is_acmd == 0) {
+ /* Enforce/patch/restrict RCA-based commands */
+ switch (cmd.opcode) {
+ case MMC_SET_RELATIVE_ADDR:
+ case MMC_SELECT_CARD:
+ err = EPERM;
+ goto out;
+ case MMC_STOP_TRANSMISSION:
+ if ((cmd.arg & 0x1) == 0)
+ break;
+ /* FALLTHROUGH */
+ case MMC_SLEEP_AWAKE:
+ case MMC_SEND_CSD:
+ case MMC_SEND_CID:
+ case MMC_SEND_STATUS:
+ case MMC_GO_INACTIVE_STATE:
+ case MMC_FAST_IO:
+ case MMC_APP_CMD:
+ cmd.arg = (cmd.arg & 0x0000FFFF) | (rca << 16);
+ break;
+ default:
+ break;
+ }
+ }
+ dev = sc->dev;
+ mmcbr = sc->mmcbr;
+ MMCBUS_ACQUIRE_BUS(mmcbr, dev);
+ err = mmcsd_switch_part(mmcbr, dev, rca, part->type);
+ if (err != MMC_ERR_NONE)
+ goto release;
+ if (part->type == EXT_CSD_PART_CONFIG_ACC_RPMB) {
+ err = mmcsd_set_blockcount(sc, mic->blocks,
+ mic->write_flag & (1 << 31));
+ if (err != MMC_ERR_NONE)
+ goto release;
+ }
+ if (mic->is_acmd != 0)
+ (void)mmc_wait_for_app_cmd(mmcbr, dev, rca, &cmd, 0);
+ else
+ (void)mmc_wait_for_cmd(mmcbr, dev, &cmd, 0);
+ if (part->type == EXT_CSD_PART_CONFIG_ACC_RPMB) {
+ /*
+ * If the request went to the RPMB partition, try to ensure
+ * that the command actually has completed ...
+ */
+ retries = MMCSD_CMD_RETRIES;
+ do {
+ err = mmc_send_status(mmcbr, dev, rca, &status);
+ if (err != MMC_ERR_NONE)
+ break;
+ if (R1_STATUS(status) == 0 &&
+ R1_CURRENT_STATE(status) != R1_STATE_PRG)
+ break;
+ DELAY(1000);
+ } while (retries-- > 0);
+
+ /* ... and always switch back to the default partition. */
+ err = mmcsd_switch_part(mmcbr, dev, rca,
+ EXT_CSD_PART_CONFIG_ACC_DEFAULT);
+ if (err != MMC_ERR_NONE)
+ goto release;
+ }
+ /*
+ * If EXT_CSD was changed, our copy is outdated now. Specifically,
+ * the upper bits of EXT_CSD_PART_CONFIG used in mmcsd_switch_part(),
+ * so retrieve EXT_CSD again.
+ */
+ if (cmd.opcode == MMC_SWITCH_FUNC) {
+ err = mmc_send_ext_csd(mmcbr, dev, sc->ext_csd);
+ if (err != MMC_ERR_NONE)
+ goto release;
+ }
+ MMCBUS_RELEASE_BUS(mmcbr, dev);
+ if (cmd.error != MMC_ERR_NONE) {
+ switch (cmd.error) {
+ case MMC_ERR_TIMEOUT:
+ err = ETIMEDOUT;
+ break;
+ case MMC_ERR_BADCRC:
+ err = EILSEQ;
+ break;
+ case MMC_ERR_INVALID:
+ err = EINVAL;
+ break;
+ case MMC_ERR_NO_MEMORY:
+ err = ENOMEM;
+ break;
+ default:
+ err = EIO;
+ break;
+ }
+ goto out;
+ }
+ memcpy(mic->response, cmd.resp, 4 * sizeof(uint32_t));
+ if (mic->write_flag == 0 && len != 0) {
+ err = copyout(dp, (void *)(uintptr_t)mic->data_ptr, len);
+ if (err != 0)
+ goto out;
+ }
+ goto out;
+
+release:
+ MMCBUS_RELEASE_BUS(mmcbr, dev);
+ err = EIO;
+
+out:
+ if (dp != NULL)
+ free(dp, M_TEMP);
+ return (err);
+}
+
+static int
+mmcsd_getattr(struct bio *bp)
+{
+ struct mmcsd_part *part;
+ device_t dev;
+
+ if (strcmp(bp->bio_attribute, "MMC::device") == 0) {
+ if (bp->bio_length != sizeof(dev))
+ return (EFAULT);
+ part = bp->bio_disk->d_drv1;
+ dev = part->sc->dev;
+ bcopy(&dev, bp->bio_data, sizeof(dev));
+ bp->bio_completed = bp->bio_length;
+ return (0);
+ }
+ return (-1);
+}
+
+static int
+mmcsd_set_blockcount(struct mmcsd_softc *sc, u_int count, bool reliable)
+{
+ struct mmc_command cmd;
+ struct mmc_request req;
+
+ memset(&req, 0, sizeof(req));
+ memset(&cmd, 0, sizeof(cmd));
+ cmd.mrq = &req;
+ req.cmd = &cmd;
+ cmd.opcode = MMC_SET_BLOCK_COUNT;
+ cmd.arg = count & 0x0000FFFF;
+ if (reliable)
+ cmd.arg |= 1 << 31;
+ cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
+ MMCBUS_WAIT_FOR_REQUEST(sc->mmcbr, sc->dev, &req);
+ return (cmd.error);
+}
+
+static int
+mmcsd_switch_part(device_t bus, device_t dev, uint16_t rca, u_int part)
+{
+ struct mmcsd_softc *sc;
+ int err;
+ uint8_t value;
+
+ sc = device_get_softc(dev);
+
+ if (sc->part_curr == part)
+ return (MMC_ERR_NONE);
+
+ if (sc->mode == mode_sd)
+ return (MMC_ERR_NONE);
+
+ value = (sc->ext_csd[EXT_CSD_PART_CONFIG] &
+ ~EXT_CSD_PART_CONFIG_ACC_MASK) | part;
+ /* Jump! */
+ err = mmc_switch(bus, dev, rca, EXT_CSD_CMD_SET_NORMAL,
+ EXT_CSD_PART_CONFIG, value, sc->part_time, true);
+ if (err != MMC_ERR_NONE)
+ return (err);
+
+ sc->ext_csd[EXT_CSD_PART_CONFIG] = value;
+ sc->part_curr = part;
+ return (MMC_ERR_NONE);
+}
+
static const char *
mmcsd_errmsg(int e)
{
+
if (e < 0 || e > MMC_ERR_MAX)
return "Bad error code";
return errmsg[e];
}
static daddr_t
-mmcsd_rw(struct mmcsd_softc *sc, struct bio *bp)
+mmcsd_rw(struct mmcsd_part *part, struct bio *bp)
{
daddr_t block, end;
struct mmc_command cmd;
struct mmc_command stop;
struct mmc_request req;
struct mmc_data data;
- device_t dev = sc->dev;
- int sz = sc->disk->d_sectorsize;
- device_t mmcbr = device_get_parent(dev);
+ struct mmcsd_softc *sc;
+ device_t dev, mmcbr;
+ int numblocks, sz;
+ char *vaddr;
+
+ sc = part->sc;
+ dev = sc->dev;
+ mmcbr = sc->mmcbr;
block = bp->bio_pblkno;
+ sz = part->disk->d_sectorsize;
end = bp->bio_pblkno + (bp->bio_bcount / sz);
while (block < end) {
- char *vaddr = bp->bio_data +
- (block - bp->bio_pblkno) * sz;
- int numblocks = min(end - block, mmc_get_max_data(dev));
+ vaddr = bp->bio_data + (block - bp->bio_pblkno) * sz;
+ numblocks = min(end - block, mmc_get_max_data(dev));
memset(&req, 0, sizeof(req));
- memset(&cmd, 0, sizeof(cmd));
+ memset(&cmd, 0, sizeof(cmd));
memset(&stop, 0, sizeof(stop));
memset(&data, 0, sizeof(data));
cmd.mrq = &req;
@@ -373,10 +1028,11 @@ mmcsd_rw(struct mmcsd_softc *sc, struct bio *bp)
}
MMCBUS_WAIT_FOR_REQUEST(mmcbr, dev, &req);
if (req.cmd->error != MMC_ERR_NONE) {
- if (ppsratecheck(&sc->log_time, &sc->log_count, LOG_PPS)) {
+ if (ppsratecheck(&sc->log_time, &sc->log_count,
+ LOG_PPS))
device_printf(dev, "Error indicated: %d %s\n",
- req.cmd->error, mmcsd_errmsg(req.cmd->error));
- }
+ req.cmd->error,
+ mmcsd_errmsg(req.cmd->error));
break;
}
block += numblocks;
@@ -385,33 +1041,37 @@ mmcsd_rw(struct mmcsd_softc *sc, struct bio *bp)
}
static daddr_t
-mmcsd_delete(struct mmcsd_softc *sc, struct bio *bp)
+mmcsd_delete(struct mmcsd_part *part, struct bio *bp)
{
daddr_t block, end, start, stop;
struct mmc_command cmd;
struct mmc_request req;
- device_t dev = sc->dev;
- int sz = sc->disk->d_sectorsize;
- int erase_sector;
- device_t mmcbr = device_get_parent(dev);
+ struct mmcsd_softc *sc;
+ device_t dev, mmcbr;
+ int erase_sector, sz;
+
+ sc = part->sc;
+ dev = sc->dev;
+ mmcbr = sc->mmcbr;
block = bp->bio_pblkno;
+ sz = part->disk->d_sectorsize;
end = bp->bio_pblkno + (bp->bio_bcount / sz);
/* Coalesce with part remaining from previous request. */
- if (block > sc->eblock && block <= sc->eend)
- block = sc->eblock;
- if (end >= sc->eblock && end < sc->eend)
- end = sc->eend;
+ if (block > part->eblock && block <= part->eend)
+ block = part->eblock;
+ if (end >= part->eblock && end < part->eend)
+ end = part->eend;
/* Safe round to the erase sector boundaries. */
erase_sector = mmc_get_erase_sector(dev);
start = block + erase_sector - 1; /* Round up. */
start -= start % erase_sector;
stop = end; /* Round down. */
- stop -= end % erase_sector;
- /* We can't erase area smaller then sector, store it for later. */
+ stop -= end % erase_sector;
+ /* We can't erase an area smaller than a sector, store it for later. */
if (start >= stop) {
- sc->eblock = block;
- sc->eend = end;
+ part->eblock = block;
+ part->eend = end;
return (end);
}
@@ -464,40 +1124,54 @@ mmcsd_delete(struct mmcsd_softc *sc, struct bio *bp)
return (block);
}
/* Store one of remaining parts for the next call. */
- if (bp->bio_pblkno >= sc->eblock || block == start) {
- sc->eblock = stop; /* Predict next forward. */
- sc->eend = end;
+ if (bp->bio_pblkno >= part->eblock || block == start) {
+ part->eblock = stop; /* Predict next forward. */
+ part->eend = end;
} else {
- sc->eblock = block; /* Predict next backward. */
- sc->eend = start;
+ part->eblock = block; /* Predict next backward. */
+ part->eend = start;
}
return (end);
}
static int
-mmcsd_dump(void *arg, void *virtual, vm_offset_t physical,
- off_t offset, size_t length)
+mmcsd_dump(void *arg, void *virtual, vm_offset_t physical, off_t offset,
+ size_t length)
{
- struct disk *disk = arg;
- struct mmcsd_softc *sc = (struct mmcsd_softc *)disk->d_drv1;
- device_t dev = sc->dev;
struct bio bp;
daddr_t block, end;
- device_t mmcbr = device_get_parent(dev);
+ struct disk *disk;
+ struct mmcsd_softc *sc;
+ struct mmcsd_part *part;
+ device_t dev, mmcbr;
+ int err;
/* length zero is special and really means flush buffers to media */
if (!length)
return (0);
+ disk = arg;
+ part = disk->d_drv1;
+ sc = part->sc;
+ dev = sc->dev;
+ mmcbr = sc->mmcbr;
+
g_reset_bio(&bp);
bp.bio_disk = disk;
bp.bio_pblkno = offset / disk->d_sectorsize;
bp.bio_bcount = length;
bp.bio_data = virtual;
bp.bio_cmd = BIO_WRITE;
- end = bp.bio_pblkno + bp.bio_bcount / sc->disk->d_sectorsize;
+ end = bp.bio_pblkno + bp.bio_bcount / disk->d_sectorsize;
MMCBUS_ACQUIRE_BUS(mmcbr, dev);
- block = mmcsd_rw(sc, &bp);
+ err = mmcsd_switch_part(mmcbr, dev, sc->rca, part->type);
+ if (err != MMC_ERR_NONE) {
+ if (ppsratecheck(&sc->log_time, &sc->log_count, LOG_PPS))
+ device_printf(dev, "Partition switch error\n");
+ MMCBUS_RELEASE_BUS(mmcbr, dev);
+ return (EIO);
+ }
+ block = mmcsd_rw(part, &bp);
MMCBUS_RELEASE_BUS(mmcbr, dev);
return ((end < block) ? EIO : 0);
}
@@ -505,24 +1179,30 @@ mmcsd_dump(void *arg, void *virtual, vm_offset_t physical,
static void
mmcsd_task(void *arg)
{
- struct mmcsd_softc *sc = (struct mmcsd_softc*)arg;
- struct bio *bp;
- int sz;
daddr_t block, end;
- device_t dev = sc->dev;
- device_t mmcbr = device_get_parent(sc->dev);
+ struct mmcsd_part *part;
+ struct mmcsd_softc *sc;
+ struct bio *bp;
+ device_t dev, mmcbr;
+ int err, sz;
+
+ part = arg;
+ sc = part->sc;
+ dev = sc->dev;
+ mmcbr = sc->mmcbr;
while (1) {
- MMCSD_LOCK(sc);
+ MMCSD_PART_LOCK(part);
do {
- if (sc->running == 0)
+ if (part->running == 0)
goto out;
- bp = bioq_takefirst(&sc->bio_queue);
+ bp = bioq_takefirst(&part->bio_queue);
if (bp == NULL)
- msleep(sc, &sc->sc_mtx, PRIBIO, "jobqueue", 0);
+ msleep(part, &part->part_mtx, PRIBIO,
+ "jobqueue", 0);
} while (bp == NULL);
- MMCSD_UNLOCK(sc);
- if (bp->bio_cmd != BIO_READ && mmc_get_read_only(dev)) {
+ MMCSD_PART_UNLOCK(part);
+ if (bp->bio_cmd != BIO_READ && part->ro) {
bp->bio_error = EROFS;
bp->bio_resid = bp->bio_bcount;
bp->bio_flags |= BIO_ERROR;
@@ -530,17 +1210,25 @@ mmcsd_task(void *arg)
continue;
}
MMCBUS_ACQUIRE_BUS(mmcbr, dev);
- sz = sc->disk->d_sectorsize;
+ sz = part->disk->d_sectorsize;
block = bp->bio_pblkno;
end = bp->bio_pblkno + (bp->bio_bcount / sz);
+ err = mmcsd_switch_part(mmcbr, dev, sc->rca, part->type);
+ if (err != MMC_ERR_NONE) {
+ if (ppsratecheck(&sc->log_time, &sc->log_count,
+ LOG_PPS))
+ device_printf(dev, "Partition switch error\n");
+ goto release;
+ }
if (bp->bio_cmd == BIO_READ || bp->bio_cmd == BIO_WRITE) {
/* Access to the remaining erase block obsoletes it. */
- if (block < sc->eend && end > sc->eblock)
- sc->eblock = sc->eend = 0;
- block = mmcsd_rw(sc, bp);
+ if (block < part->eend && end > part->eblock)
+ part->eblock = part->eend = 0;
+ block = mmcsd_rw(part, bp);
} else if (bp->bio_cmd == BIO_DELETE) {
- block = mmcsd_delete(sc, bp);
+ block = mmcsd_delete(part, bp);
}
+release:
MMCBUS_RELEASE_BUS(mmcbr, dev);
if (block < end) {
bp->bio_error = EIO;
@@ -553,9 +1241,9 @@ mmcsd_task(void *arg)
}
out:
/* tell parent we're done */
- sc->running = -1;
- MMCSD_UNLOCK(sc);
- wakeup(sc);
+ part->running = -1;
+ MMCSD_PART_UNLOCK(part);
+ wakeup(part);
kproc_exit(0);
}
@@ -587,4 +1275,22 @@ static driver_t mmcsd_driver = {
};
static devclass_t mmcsd_devclass;
-DRIVER_MODULE(mmcsd, mmc, mmcsd_driver, mmcsd_devclass, NULL, NULL);
+static int
+mmcsd_handler(module_t mod __unused, int what, void *arg __unused)
+{
+
+ switch (what) {
+ case MOD_LOAD:
+ flash_register_slicer(mmcsd_slicer, FLASH_SLICES_TYPE_MMC,
+ TRUE);
+ return (0);
+ case MOD_UNLOAD:
+ flash_register_slicer(NULL, FLASH_SLICES_TYPE_MMC, TRUE);
+ return (0);
+ }
+ return (0);
+}
+
+DRIVER_MODULE(mmcsd, mmc, mmcsd_driver, mmcsd_devclass, mmcsd_handler, NULL);
+MODULE_DEPEND(mmcsd, g_flashmap, 0, 0, 0);
+MMC_DEPEND(mmcsd);
diff --git a/sys/dev/mmc/mmcvar.h b/sys/dev/mmc/mmcvar.h
index c7a4af9..9f62b11 100644
--- a/sys/dev/mmc/mmcvar.h
+++ b/sys/dev/mmc/mmcvar.h
@@ -49,15 +49,14 @@
* or the SD Card Association to disclose or distribute any technical
* information, know-how or other confidential information to any third party.
*
- * "$FreeBSD$"
+ * $FreeBSD$
*/
#ifndef DEV_MMC_MMCVAR_H
#define DEV_MMC_MMCVAR_H
-#include <dev/mmc/bridge.h>
-
enum mmc_device_ivars {
+ MMC_IVAR_SPEC_VERS,
MMC_IVAR_DSR_IMP,
MMC_IVAR_MEDIA_SIZE,
MMC_IVAR_RCA,
@@ -79,6 +78,7 @@ enum mmc_device_ivars {
#define MMC_ACCESSOR(var, ivar, type) \
__BUS_ACCESSOR(mmc, var, MMC, ivar, type)
+MMC_ACCESSOR(spec_vers, SPEC_VERS, uint8_t)
MMC_ACCESSOR(dsr_imp, DSR_IMP, int)
MMC_ACCESSOR(media_size, MEDIA_SIZE, long)
MMC_ACCESSOR(rca, RCA, int)
diff --git a/sys/dev/mpr/mpi/mpi2.h b/sys/dev/mpr/mpi/mpi2.h
index 7084a85..2689b5c 100644
--- a/sys/dev/mpr/mpi/mpi2.h
+++ b/sys/dev/mpr/mpi/mpi2.h
@@ -44,7 +44,7 @@
* scatter/gather formats.
* Creation Date: June 21, 2006
*
- * mpi2.h Version: 02.00.42
+ * mpi2.h Version: 02.00.46
*
* NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
* prefix are for use only on MPI v2.5 products, and must not be used
@@ -132,7 +132,8 @@
* Bumped MPI2_HEADER_VERSION_UNIT.
* 03-16-15 02.00.37 Updated for MPI v2.6.
* Bumped MPI2_HEADER_VERSION_UNIT.
- * Added Scratchpad registers to
+ * Added Scratchpad registers and
+ * AtomicRequestDescriptorPost register to
* MPI2_SYSTEM_INTERFACE_REGS.
* Added MPI2_DIAG_SBR_RELOAD.
* Added MPI2_IOCSTATUS_INSUFFICIENT_POWER.
@@ -142,6 +143,14 @@
* Added V7 HostDiagnostic register defines
* 12-15-15 02.00.41 Bumped MPI_HEADER_VERSION_UNIT
* 01-01-16 02.00.42 Bumped MPI_HEADER_VERSION_UNIT
+ * 04-05-16 02.00.43 Modified MPI26_DIAG_BOOT_DEVICE_SELECT defines
+ * to be unique within first 32 characters.
+ * Removed AHCI support.
+ * Removed SOP support.
+ * Bumped MPI2_HEADER_VERSION_UNIT.
+ * 04-10-16 02.00.44 Bumped MPI2_HEADER_VERSION_UNIT.
+ * 07-06-16 02.00.45 Bumped MPI2_HEADER_VERSION_UNIT.
+ * 09-02-16 02.00.46 Bumped MPI2_HEADER_VERSION_UNIT.
* --------------------------------------------------------------------------
*/
@@ -185,7 +194,7 @@
/* Unit and Dev versioning for this MPI header set */
-#define MPI2_HEADER_VERSION_UNIT (0x2A)
+#define MPI2_HEADER_VERSION_UNIT (0x2E)
#define MPI2_HEADER_VERSION_DEV (0x00)
#define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00)
#define MPI2_HEADER_VERSION_UNIT_SHIFT (8)
@@ -245,7 +254,8 @@ typedef volatile struct _MPI2_SYSTEM_INTERFACE_REGS
U32 Scratchpad[4]; /* 0xB0 */
U32 RequestDescriptorPostLow; /* 0xC0 */
U32 RequestDescriptorPostHigh; /* 0xC4 */
- U32 Reserved7[14]; /* 0xC8 */
+ U32 AtomicRequestDescriptorPost;/* 0xC8 */ /* MPI v2.6 and later; reserved in earlier versions */
+ U32 Reserved7[13]; /* 0xCC */
} MPI2_SYSTEM_INTERFACE_REGS, MPI2_POINTER PTR_MPI2_SYSTEM_INTERFACE_REGS,
Mpi2SystemInterfaceRegs_t, MPI2_POINTER pMpi2SystemInterfaceRegs_t;
@@ -293,10 +303,11 @@ typedef volatile struct _MPI2_SYSTEM_INTERFACE_REGS
#define MPI2_DIAG_BOOT_DEVICE_SELECT_HCDW (0x00000800)
/* Defines for V7A/V7R HostDiagnostic Register */
-#define MPI26_DIAG_BOOT_DEVICE_SELECT_FLASH64 (0x00000000)
-#define MPI26_DIAG_BOOT_DEVICE_SELECT_HCDW64 (0x00000800)
-#define MPI26_DIAG_BOOT_DEVICE_SELECT_FLASH32 (0x00001000)
-#define MPI26_DIAG_BOOT_DEVICE_SELECT_HCDW32 (0x00001800)
+#define MPI26_DIAG_BOOT_DEVICE_SEL_64FLASH (0x00000000)
+#define MPI26_DIAG_BOOT_DEVICE_SEL_64HCDW (0x00000800)
+#define MPI26_DIAG_BOOT_DEVICE_SEL_32FLASH (0x00001000)
+#define MPI26_DIAG_BOOT_DEVICE_SEL_32HCDW (0x00001800)
+
#define MPI2_DIAG_CLEAR_FLASH_BAD_SIG (0x00000400)
#define MPI2_DIAG_FORCE_HCB_ON_RESET (0x00000200)
#define MPI2_DIAG_HCB_MODE (0x00000100)
@@ -379,6 +390,7 @@ typedef volatile struct _MPI2_SYSTEM_INTERFACE_REGS
*/
#define MPI2_REQUEST_DESCRIPTOR_POST_LOW_OFFSET (0x000000C0)
#define MPI2_REQUEST_DESCRIPTOR_POST_HIGH_OFFSET (0x000000C4)
+#define MPI26_ATOMIC_REQUEST_DESCRIPTOR_POST_OFFSET (0x000000C8)
/* Hard Reset delay timings */
@@ -415,6 +427,7 @@ typedef struct _MPI2_DEFAULT_REQUEST_DESCRIPTOR
#define MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE (0x08)
#define MPI2_REQ_DESCRIPT_FLAGS_RAID_ACCELERATOR (0x0A)
#define MPI25_REQ_DESCRIPT_FLAGS_FAST_PATH_SCSI_IO (0x0C)
+#define MPI26_REQ_DESCRIPT_FLAGS_PCIE_ENCAPSULATED (0x10)
#define MPI2_REQ_DESCRIPT_FLAGS_IOC_FIFO_MARKER (0x01)
@@ -482,6 +495,14 @@ typedef MPI2_SCSI_IO_REQUEST_DESCRIPTOR
MPI2_POINTER pMpi25FastPathSCSIIORequestDescriptor_t;
+/* PCIe Encapsulated Request Descriptor */
+typedef MPI2_SCSI_IO_REQUEST_DESCRIPTOR
+ MPI26_PCIE_ENCAPSULATED_REQUEST_DESCRIPTOR,
+ MPI2_POINTER PTR_MPI26_PCIE_ENCAPSULATED_REQUEST_DESCRIPTOR,
+ Mpi26PCIeEncapsulatedRequestDescriptor_t,
+ MPI2_POINTER pMpi26PCIeEncapsulatedRequestDescriptor_t;
+
+
/* union of Request Descriptors */
typedef union _MPI2_REQUEST_DESCRIPTOR_UNION
{
@@ -491,11 +512,35 @@ typedef union _MPI2_REQUEST_DESCRIPTOR_UNION
MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR SCSITarget;
MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR RAIDAccelerator;
MPI25_FP_SCSI_IO_REQUEST_DESCRIPTOR FastPathSCSIIO;
+ MPI26_PCIE_ENCAPSULATED_REQUEST_DESCRIPTOR PCIeEncapsulated;
U64 Words;
} MPI2_REQUEST_DESCRIPTOR_UNION, MPI2_POINTER PTR_MPI2_REQUEST_DESCRIPTOR_UNION,
Mpi2RequestDescriptorUnion_t, MPI2_POINTER pMpi2RequestDescriptorUnion_t;
+/* Atomic Request Descriptors */
+
+/*
+ * All Atomic Request Descriptors have the same format, so the following
+ * structure is used for all Atomic Request Descriptors:
+ * Atomic Default Request Descriptor
+ * Atomic High Priority Request Descriptor
+ * Atomic SCSI IO Request Descriptor
+ * Atomic SCSI Target Request Descriptor
+ * Atomic RAID Accelerator Request Descriptor
+ * Atomic Fast Path SCSI IO Request Descriptor
+ * Atomic PCIe Encapsulated Request Descriptor
+ */
+
+/* Atomic Request Descriptor */
+typedef struct _MPI26_ATOMIC_REQUEST_DESCRIPTOR
+{
+ U8 RequestFlags; /* 0x00 */
+ U8 MSIxIndex; /* 0x01 */
+ U16 SMID; /* 0x02 */
+} MPI26_ATOMIC_REQUEST_DESCRIPTOR,
+ MPI2_POINTER PTR_MPI26_ATOMIC_REQUEST_DESCRIPTOR,
+ Mpi26AtomicRequestDescriptor_t, MPI2_POINTER pMpi26AtomicRequestDescriptor_t;
/* for the RequestFlags field, use the same defines as MPI2_DEFAULT_REQUEST_DESCRIPTOR */
@@ -520,6 +565,7 @@ typedef struct _MPI2_DEFAULT_REPLY_DESCRIPTOR
#define MPI2_RPY_DESCRIPT_FLAGS_TARGET_COMMAND_BUFFER (0x03)
#define MPI2_RPY_DESCRIPT_FLAGS_RAID_ACCELERATOR_SUCCESS (0x05)
#define MPI25_RPY_DESCRIPT_FLAGS_FAST_PATH_SCSI_IO_SUCCESS (0x06)
+#define MPI26_RPY_DESCRIPT_FLAGS_PCIE_ENCAPSULATED_SUCCESS (0x08)
#define MPI2_RPY_DESCRIPT_FLAGS_UNUSED (0x0F)
/* values for marking a reply descriptor as unused */
@@ -607,6 +653,14 @@ typedef MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR
MPI2_POINTER pMpi25FastPathSCSIIOSuccessReplyDescriptor_t;
+/* PCIe Encapsulated Success Reply Descriptor */
+typedef MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR
+ MPI26_PCIE_ENCAPSULATED_SUCCESS_REPLY_DESCRIPTOR,
+ MPI2_POINTER PTR_MPI26_PCIE_ENCAPSULATED_SUCCESS_REPLY_DESCRIPTOR,
+ Mpi26PCIeEncapsulatedSuccessReplyDescriptor_t,
+ MPI2_POINTER pMpi26PCIeEncapsulatedSuccessReplyDescriptor_t;
+
+
/* union of Reply Descriptors */
typedef union _MPI2_REPLY_DESCRIPTORS_UNION
{
@@ -617,6 +671,7 @@ typedef union _MPI2_REPLY_DESCRIPTORS_UNION
MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR TargetCommandBuffer;
MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR RAIDAcceleratorSuccess;
MPI25_FP_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR FastPathSCSIIOSuccess;
+ MPI26_PCIE_ENCAPSULATED_SUCCESS_REPLY_DESCRIPTOR PCIeEncapsulatedSuccess;
U64 Words;
} MPI2_REPLY_DESCRIPTORS_UNION, MPI2_POINTER PTR_MPI2_REPLY_DESCRIPTORS_UNION,
Mpi2ReplyDescriptorsUnion_t, MPI2_POINTER pMpi2ReplyDescriptorsUnion_t;
@@ -659,6 +714,7 @@ typedef union _MPI2_REPLY_DESCRIPTORS_UNION
#define MPI2_FUNCTION_HOST_BASED_DISCOVERY_ACTION (0x2F) /* Host Based Discovery Action */
#define MPI2_FUNCTION_PWR_MGMT_CONTROL (0x30) /* Power Management Control */
#define MPI2_FUNCTION_SEND_HOST_MESSAGE (0x31) /* Send Host Message */
+#define MPI2_FUNCTION_NVME_ENCAPSULATED (0x33) /* NVMe Encapsulated (MPI v2.6) */
#define MPI2_FUNCTION_MIN_PRODUCT_SPECIFIC (0xF0) /* beginning of product-specific range */
#define MPI2_FUNCTION_MAX_PRODUCT_SPECIFIC (0xFF) /* end of product-specific range */
@@ -1232,6 +1288,8 @@ typedef union _MPI25_SGE_IO_UNION
#define MPI26_IEEE_SGE_FLAGS_NSF_MASK (0x1C)
#define MPI26_IEEE_SGE_FLAGS_NSF_MPI_IEEE (0x00)
+#define MPI26_IEEE_SGE_FLAGS_NSF_NVME_PRP (0x08)
+#define MPI26_IEEE_SGE_FLAGS_NSF_NVME_SGL (0x10)
/* Data Location Address Space */
diff --git a/sys/dev/mpr/mpi/mpi2_cnfg.h b/sys/dev/mpr/mpi/mpi2_cnfg.h
index fb968b6..0595920 100644
--- a/sys/dev/mpr/mpi/mpi2_cnfg.h
+++ b/sys/dev/mpr/mpi/mpi2_cnfg.h
@@ -42,7 +42,7 @@
* Title: MPI Configuration messages and pages
* Creation Date: November 10, 2006
*
- * mpi2_cnfg.h Version: 02.00.35
+ * mpi2_cnfg.h Version: 02.00.39
*
* NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
* prefix are for use only on MPI v2.5 products, and must not be used
@@ -223,9 +223,38 @@
* Flags field to IO Unit Page 7.
* Added IO Unit Page 11.
* Added new SAS Phy Event codes
+ * Added PCIe configuration pages.
+ * 03-19-15 02.00.32 Fixed PCIe Link Config page structure names to be
+ * unique in first 32 characters.
* 05-25-15 02.00.33 Added more defines for the BiosOptions field of
* MPI2_CONFIG_PAGE_BIOS_1.
+ * 08-25-15 02.00.34 Added PCIe Device Page 2 SGL format capability.
* 12-18-15 02.00.35 Added SATADeviceWaitTime to SAS IO Unit Page 4.
+ * 01-21-16 02.00.36 Added/modified MPI2_MFGPAGE_DEVID_SAS defines.
+ * Added Link field to PCIe Link Pages
+ * Added EnclosureLevel and ConnectorName to PCIe
+ * Device Page 0.
+ * Added define for PCIE IoUnit page 1 max rate shift.
+ * Added comment for reserved ExtPageTypes.
+ * Added SAS 4 22.5 gbs speed support.
+ * Added PCIe 4 16.0 GT/sec speec support.
+ * Removed AHCI support.
+ * Removed SOP support.
+ * Added NegotiatedLinkRate and NegotiatedPortWidth to
+ * PCIe device page 0.
+ * 04-10-16 02.00.37 Fixed MPI2_MFGPAGE_DEVID_SAS3616/3708 defines
+ * 07-01-16 02.00.38 Added Manufacturing page 7 Connector types.
+ * Changed declaration of ConnectorName in PCIe DevicePage0
+ * to match SAS DevicePage 0.
+ * Added SATADeviceWaitTime to IO Unit Page 11.
+ * Added MPI26_MFGPAGE_DEVID_SAS4008
+ * Added x16 PCIe width to IO Unit Page 7
+ * Added LINKFLAGS to control SRIS in PCIe IO Unit page 1
+ * phy data.
+ * Added InitStatus to PCIe IO Unit Page 1 header.
+ * 09-01-16 02.00.39 Added MPI26_CONFIG_PAGE_ENCLOSURE_0 and related defines.
+ * Added MPI26_ENCLOS_PGAD_FORM_GET_NEXT_HANDLE and
+ * MPI26_ENCLOS_PGAD_FORM_HANDLE page address formats.
* --------------------------------------------------------------------------
*/
@@ -310,6 +339,12 @@ typedef union _MPI2_CONFIG_EXT_PAGE_HEADER_UNION
#define MPI2_CONFIG_EXTPAGETYPE_SAS_PORT (0x18)
#define MPI2_CONFIG_EXTPAGETYPE_ETHERNET (0x19)
#define MPI2_CONFIG_EXTPAGETYPE_EXT_MANUFACTURING (0x1A)
+#define MPI2_CONFIG_EXTPAGETYPE_PCIE_IO_UNIT (0x1B) /* MPI v2.6 and later */
+#define MPI2_CONFIG_EXTPAGETYPE_PCIE_SWITCH (0x1C) /* MPI v2.6 and later */
+#define MPI2_CONFIG_EXTPAGETYPE_PCIE_DEVICE (0x1D) /* MPI v2.6 and later */
+#define MPI2_CONFIG_EXTPAGETYPE_PCIE_LINK (0x1E) /* MPI v2.6 and later */
+/* Product specific reserved values 0xE0 - 0xEF */
+/* Vendor specific reserved values 0xF0 - 0xFF */
/*****************************************************************************
@@ -377,6 +412,12 @@ typedef union _MPI2_CONFIG_EXT_PAGE_HEADER_UNION
#define MPI2_SAS_ENCLOS_PGAD_HANDLE_MASK (0x0000FFFF)
+/* Enclosure PageAddress format */
+#define MPI26_ENCLOS_PGAD_FORM_MASK (0xF0000000)
+#define MPI26_ENCLOS_PGAD_FORM_GET_NEXT_HANDLE (0x00000000)
+#define MPI26_ENCLOS_PGAD_FORM_HANDLE (0x10000000)
+
+#define MPI26_ENCLOS_PGAD_HANDLE_MASK (0x0000FFFF)
/* RAID Configuration PageAddress format */
#define MPI2_RAID_PGAD_FORM_MASK (0xF0000000)
@@ -403,6 +444,33 @@ typedef union _MPI2_CONFIG_EXT_PAGE_HEADER_UNION
#define MPI2_ETHERNET_PGAD_IF_NUMBER_MASK (0x000000FF)
+/* PCIe Switch PageAddress format */
+#define MPI26_PCIE_SWITCH_PGAD_FORM_MASK (0xF0000000)
+#define MPI26_PCIE_SWITCH_PGAD_FORM_GET_NEXT_HNDL (0x00000000)
+#define MPI26_PCIE_SWITCH_PGAD_FORM_HNDL_PORTNUM (0x10000000)
+#define MPI26_PCIE_SWITCH_EXPAND_PGAD_FORM_HNDL (0x20000000)
+
+#define MPI26_PCIE_SWITCH_PGAD_HANDLE_MASK (0x0000FFFF)
+#define MPI26_PCIE_SWITCH_PGAD_PORTNUM_MASK (0x00FF0000)
+#define MPI26_PCIE_SWITCH_PGAD_PORTNUM_SHIFT (16)
+
+
+/* PCIe Device PageAddress format */
+#define MPI26_PCIE_DEVICE_PGAD_FORM_MASK (0xF0000000)
+#define MPI26_PCIE_DEVICE_PGAD_FORM_GET_NEXT_HANDLE (0x00000000)
+#define MPI26_PCIE_DEVICE_PGAD_FORM_HANDLE (0x20000000)
+
+#define MPI26_PCIE_DEVICE_PGAD_HANDLE_MASK (0x0000FFFF)
+
+/* PCIe Link PageAddress format */
+#define MPI26_PCIE_LINK_PGAD_FORM_MASK (0xF0000000)
+#define MPI26_PCIE_LINK_PGAD_FORM_GET_NEXT_LINK (0x00000000)
+#define MPI26_PCIE_LINK_PGAD_FORM_LINK_NUM (0x10000000)
+
+#define MPI26_PCIE_DEVICE_PGAD_LINKNUM_MASK (0x000000FF)
+
+
+
/****************************************************************************
* Configuration messages
****************************************************************************/
@@ -518,6 +586,20 @@ typedef struct _MPI2_CONFIG_REPLY
#define MPI26_MFGPAGE_DEVID_SAS3324_3 (0x00C2)
#define MPI26_MFGPAGE_DEVID_SAS3324_4 (0x00C3)
+#define MPI26_MFGPAGE_DEVID_SAS3516 (0x00AA)
+#define MPI26_MFGPAGE_DEVID_SAS3516_1 (0x00AB)
+#define MPI26_MFGPAGE_DEVID_SAS3416 (0x00AC)
+#define MPI26_MFGPAGE_DEVID_SAS3508 (0x00AD)
+#define MPI26_MFGPAGE_DEVID_SAS3508_1 (0x00AE)
+#define MPI26_MFGPAGE_DEVID_SAS3408 (0x00AF)
+
+#define MPI26_MFGPAGE_DEVID_SAS3716 (0x00D0)
+#define MPI26_MFGPAGE_DEVID_SAS3616 (0x00D1)
+#define MPI26_MFGPAGE_DEVID_SAS3708 (0x00D2)
+
+#define MPI26_MFGPAGE_DEVID_SAS4008 (0x00A1)
+
+
/* Manufacturing Page 0 */
typedef struct _MPI2_CONFIG_PAGE_MAN_0
@@ -755,6 +837,12 @@ typedef struct _MPI2_MANPAGE7_CONNECTOR_INFO
#define MPI2_MANPAGE7_PINOUT_SFF_8644_8X (0x0B)
#define MPI2_MANPAGE7_PINOUT_SFF_8644_16X (0x0C)
#define MPI2_MANPAGE7_PINOUT_SFF_8436 (0x0D)
+#define MPI2_MANPAGE7_PINOUT_SFF_8088_A (0x0E)
+#define MPI2_MANPAGE7_PINOUT_SFF_8643_16i (0x0F)
+#define MPI2_MANPAGE7_PINOUT_SFF_8654_4i (0x10)
+#define MPI2_MANPAGE7_PINOUT_SFF_8654_8i (0x11)
+#define MPI2_MANPAGE7_PINOUT_SFF_8611_4i (0x12)
+#define MPI2_MANPAGE7_PINOUT_SFF_8611_8i (0x13)
/* defines for the Location field */
#define MPI2_MANPAGE7_LOCATION_UNKNOWN (0x01)
@@ -1017,11 +1105,13 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7
#define MPI2_IOUNITPAGE7_PCIE_WIDTH_X2 (0x02)
#define MPI2_IOUNITPAGE7_PCIE_WIDTH_X4 (0x04)
#define MPI2_IOUNITPAGE7_PCIE_WIDTH_X8 (0x08)
+#define MPI2_IOUNITPAGE7_PCIE_WIDTH_X16 (0x10)
/* defines for IO Unit Page 7 PCIeSpeed field */
#define MPI2_IOUNITPAGE7_PCIE_SPEED_2_5_GBPS (0x00)
#define MPI2_IOUNITPAGE7_PCIE_SPEED_5_0_GBPS (0x01)
#define MPI2_IOUNITPAGE7_PCIE_SPEED_8_0_GBPS (0x02)
+#define MPI2_IOUNITPAGE7_PCIE_SPEED_16_0_GBPS (0x03)
/* defines for IO Unit Page 7 ProcessorState field */
#define MPI2_IOUNITPAGE7_PSTATE_MASK_SECOND (0x0000000F)
@@ -1079,6 +1169,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7
/* defines for IO Unit Page 7 Flags field */
#define MPI2_IOUNITPAGE7_FLAG_CABLE_POWER_EXC (0x01)
+
/* IO Unit Page 8 */
#define MPI2_IOUNIT8_NUM_THRESHOLDS (4)
@@ -1228,7 +1319,7 @@ typedef struct _MPI26_CONFIG_PAGE_IO_UNIT_11
U32 Reserved3; /* 0x1C */
U32 Reserved4; /* 0x20 */
U8 BootDeviceWaitTime; /* 0x24 */
- U8 Reserved5; /* 0x25 */
+ U8 SATADeviceWaitTime; /* 0x25 */
U16 Reserved6; /* 0x26 */
U8 NumPhys; /* 0x28 */
U8 PEInitialSpinupDelay; /* 0x29 */
@@ -1249,9 +1340,6 @@ typedef struct _MPI26_CONFIG_PAGE_IO_UNIT_11
-
-
-
/****************************************************************************
* IOC Config Pages
****************************************************************************/
@@ -1968,6 +2056,7 @@ typedef struct _MPI2_CONFIG_PAGE_RD_PDISK_1
#define MPI2_SAS_NEG_LINK_RATE_3_0 (0x09)
#define MPI2_SAS_NEG_LINK_RATE_6_0 (0x0A)
#define MPI25_SAS_NEG_LINK_RATE_12_0 (0x0B)
+#define MPI26_SAS_NEG_LINK_RATE_22_5 (0x0C)
/* values for AttachedPhyInfo fields */
@@ -2035,12 +2124,14 @@ typedef struct _MPI2_CONFIG_PAGE_RD_PDISK_1
#define MPI2_SAS_PRATE_MAX_RATE_3_0 (0x90)
#define MPI2_SAS_PRATE_MAX_RATE_6_0 (0xA0)
#define MPI25_SAS_PRATE_MAX_RATE_12_0 (0xB0)
+#define MPI26_SAS_PRATE_MAX_RATE_22_5 (0xC0)
#define MPI2_SAS_PRATE_MIN_RATE_MASK (0x0F)
#define MPI2_SAS_PRATE_MIN_RATE_NOT_PROGRAMMABLE (0x00)
#define MPI2_SAS_PRATE_MIN_RATE_1_5 (0x08)
#define MPI2_SAS_PRATE_MIN_RATE_3_0 (0x09)
#define MPI2_SAS_PRATE_MIN_RATE_6_0 (0x0A)
#define MPI25_SAS_PRATE_MIN_RATE_12_0 (0x0B)
+#define MPI26_SAS_PRATE_MIN_RATE_22_5 (0x0C)
/* values for SAS HwLinkRate fields */
@@ -2049,11 +2140,13 @@ typedef struct _MPI2_CONFIG_PAGE_RD_PDISK_1
#define MPI2_SAS_HWRATE_MAX_RATE_3_0 (0x90)
#define MPI2_SAS_HWRATE_MAX_RATE_6_0 (0xA0)
#define MPI25_SAS_HWRATE_MAX_RATE_12_0 (0xB0)
+#define MPI26_SAS_HWRATE_MAX_RATE_22_5 (0xC0)
#define MPI2_SAS_HWRATE_MIN_RATE_MASK (0x0F)
#define MPI2_SAS_HWRATE_MIN_RATE_1_5 (0x08)
#define MPI2_SAS_HWRATE_MIN_RATE_3_0 (0x09)
#define MPI2_SAS_HWRATE_MIN_RATE_6_0 (0x0A)
#define MPI25_SAS_HWRATE_MIN_RATE_12_0 (0x0B)
+#define MPI26_SAS_HWRATE_MIN_RATE_22_5 (0x0C)
@@ -2227,11 +2320,13 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_1
#define MPI2_SASIOUNIT1_MAX_RATE_3_0 (0x90)
#define MPI2_SASIOUNIT1_MAX_RATE_6_0 (0xA0)
#define MPI25_SASIOUNIT1_MAX_RATE_12_0 (0xB0)
+#define MPI26_SASIOUNIT1_MAX_RATE_22_5 (0xC0)
#define MPI2_SASIOUNIT1_MIN_RATE_MASK (0x0F)
#define MPI2_SASIOUNIT1_MIN_RATE_1_5 (0x08)
#define MPI2_SASIOUNIT1_MIN_RATE_3_0 (0x09)
#define MPI2_SASIOUNIT1_MIN_RATE_6_0 (0x0A)
#define MPI25_SASIOUNIT1_MIN_RATE_12_0 (0x0B)
+#define MPI26_SASIOUNIT1_MIN_RATE_22_5 (0x0C)
/* see mpi2_sas.h for values for SAS IO Unit Page 1 ControllerPhyDeviceInfo values */
@@ -2718,7 +2813,6 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_DEV_0
#define MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID (0x0002)
#define MPI2_SAS_DEVICE0_FLAGS_DEVICE_PRESENT (0x0001)
-
/* SAS Device Page 1 */
typedef struct _MPI2_CONFIG_PAGE_SAS_DEV_1
@@ -2885,7 +2979,6 @@ typedef struct _MPI2_SASPHY3_PHY_EVENT_CONFIG
#define MPI2_SASPHY3_EVENT_CODE_HOTPLUG_TIMEOUT (0xD0)
#define MPI2_SASPHY3_EVENT_CODE_MISALIGNED_MUX_PRIMITIVE (0xD1)
#define MPI2_SASPHY3_EVENT_CODE_RX_AIP (0xD2)
-
/* Following codes are product specific and in MPI v2.6 and later */
#define MPI2_SASPHY3_EVENT_CODE_LCARB_WAIT_TIME (0xD3)
#define MPI2_SASPHY3_EVENT_CODE_RCVD_CONN_RESP_WAIT_TIME (0xD4)
@@ -2898,7 +2991,6 @@ typedef struct _MPI2_SASPHY3_PHY_EVENT_CONFIG
#define MPI2_SASPHY3_EVENT_CODE_SATA_RX_START_RECEIVE (0xDB)
#define MPI2_SASPHY3_EVENT_CODE_SMP_RX_START_RECEIVE (0xDC)
-
/* values for the CounterType field */
#define MPI2_SASPHY3_COUNTER_TYPE_WRAPPING (0x00)
#define MPI2_SASPHY3_COUNTER_TYPE_SATURATING (0x01)
@@ -2989,7 +3081,7 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_PORT_0
* SAS Enclosure Config Pages
****************************************************************************/
-/* SAS Enclosure Page 0 */
+/* SAS Enclosure Page 0, Enclosure Page 0 */
typedef struct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0
{
@@ -3007,7 +3099,10 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0
U32 Reserved4; /* 0x24 */
} MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0,
MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0,
- Mpi2SasEnclosurePage0_t, MPI2_POINTER pMpi2SasEnclosurePage0_t;
+ Mpi2SasEnclosurePage0_t, MPI2_POINTER pMpi2SasEnclosurePage0_t,
+ MPI26_CONFIG_PAGE_ENCLOSURE_0,
+ MPI2_POINTER PTR_MPI26_CONFIG_PAGE_ENCLOSURE_0,
+ Mpi26EnclosurePage0_t, MPI2_POINTER pMpi26EnclosurePage0_t;
#define MPI2_SASENCLOSURE0_PAGEVERSION (0x04)
@@ -3021,6 +3116,17 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0
#define MPI2_SAS_ENCLS0_FLAGS_MNG_SES_ENCLOSURE (0x0004)
#define MPI2_SAS_ENCLS0_FLAGS_MNG_IOC_GPIO (0x0005)
+#define MPI26_ENCLOSURE0_PAGEVERSION (0x04)
+
+/* Values for Enclosure Page 0 Flags field */
+#define MPI26_ENCLS0_FLAGS_ENCL_LEVEL_VALID (0x0010)
+#define MPI26_ENCLS0_FLAGS_MNG_MASK (0x000F)
+#define MPI26_ENCLS0_FLAGS_MNG_UNKNOWN (0x0000)
+#define MPI26_ENCLS0_FLAGS_MNG_IOC_SES (0x0001)
+#define MPI26_ENCLS0_FLAGS_MNG_IOC_SGPIO (0x0002)
+#define MPI26_ENCLS0_FLAGS_MNG_EXP_SGPIO (0x0003)
+#define MPI26_ENCLS0_FLAGS_MNG_SES_ENCLOSURE (0x0004)
+#define MPI26_ENCLS0_FLAGS_MNG_IOC_GPIO (0x0005)
/****************************************************************************
* Log Config Page
@@ -3300,5 +3406,424 @@ typedef struct _MPI2_CONFIG_PAGE_EXT_MAN_PS
/* PageVersion should be provided by product-specific code */
+
+/****************************************************************************
+* values for fields used by several types of PCIe Config Pages
+****************************************************************************/
+
+/* values for NegotiatedLinkRates fields */
+#define MPI26_PCIE_NEG_LINK_RATE_MASK_PHYSICAL (0x0F)
+/* link rates used for Negotiated Physical Link Rate */
+#define MPI26_PCIE_NEG_LINK_RATE_UNKNOWN (0x00)
+#define MPI26_PCIE_NEG_LINK_RATE_PHY_DISABLED (0x01)
+#define MPI26_PCIE_NEG_LINK_RATE_2_5 (0x02)
+#define MPI26_PCIE_NEG_LINK_RATE_5_0 (0x03)
+#define MPI26_PCIE_NEG_LINK_RATE_8_0 (0x04)
+#define MPI26_PCIE_NEG_LINK_RATE_16_0 (0x05)
+
+
+/****************************************************************************
+* PCIe IO Unit Config Pages (MPI v2.6 and later)
+****************************************************************************/
+
+/* PCIe IO Unit Page 0 */
+
+typedef struct _MPI26_PCIE_IO_UNIT0_PHY_DATA
+{
+ U8 Link; /* 0x00 */
+ U8 LinkFlags; /* 0x01 */
+ U8 PhyFlags; /* 0x02 */
+ U8 NegotiatedLinkRate; /* 0x03 */
+ U32 ControllerPhyDeviceInfo;/* 0x04 */
+ U16 AttachedDevHandle; /* 0x08 */
+ U16 ControllerDevHandle; /* 0x0A */
+ U32 EnumerationStatus; /* 0x0C */
+ U32 Reserved1; /* 0x10 */
+} MPI26_PCIE_IO_UNIT0_PHY_DATA, MPI2_POINTER PTR_MPI26_PCIE_IO_UNIT0_PHY_DATA,
+ Mpi26PCIeIOUnit0PhyData_t, MPI2_POINTER pMpi26PCIeIOUnit0PhyData_t;
+
+/*
+ * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
+ * one and check the value returned for NumPhys at runtime.
+ */
+#ifndef MPI26_PCIE_IOUNIT0_PHY_MAX
+#define MPI26_PCIE_IOUNIT0_PHY_MAX (1)
+#endif
+
+typedef struct _MPI26_CONFIG_PAGE_PIOUNIT_0
+{
+ MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */
+ U32 Reserved1; /* 0x08 */
+ U8 NumPhys; /* 0x0C */
+ U8 InitStatus; /* 0x0D */
+ U16 Reserved3; /* 0x0E */
+ MPI26_PCIE_IO_UNIT0_PHY_DATA PhyData[MPI26_PCIE_IOUNIT0_PHY_MAX]; /* 0x10 */
+} MPI26_CONFIG_PAGE_PIOUNIT_0,
+ MPI2_POINTER PTR_MPI26_CONFIG_PAGE_PIOUNIT_0,
+ Mpi26PCIeIOUnitPage0_t, MPI2_POINTER pMpi26PCIeIOUnitPage0_t;
+
+#define MPI26_PCIEIOUNITPAGE0_PAGEVERSION (0x00)
+
+/* values for PCIe IO Unit Page 0 LinkFlags */
+#define MPI26_PCIEIOUNIT0_LINKFLAGS_ENUMERATION_IN_PROGRESS (0x08)
+
+/* values for PCIe IO Unit Page 0 PhyFlags */
+#define MPI26_PCIEIOUNIT0_PHYFLAGS_PHY_DISABLED (0x08)
+
+/* use MPI26_PCIE_NEG_LINK_RATE_ defines for the NegotiatedLinkRate field */
+
+/* see mpi2_pci.h for values for PCIe IO Unit Page 0 ControllerPhyDeviceInfo values */
+
+/* values for PCIe IO Unit Page 0 EnumerationStatus */
+#define MPI26_PCIEIOUNIT0_ES_MAX_SWITCHES_EXCEEDED (0x40000000)
+#define MPI26_PCIEIOUNIT0_ES_MAX_DEVICES_EXCEEDED (0x20000000)
+
+
+/* PCIe IO Unit Page 1 */
+
+typedef struct _MPI26_PCIE_IO_UNIT1_PHY_DATA
+{
+ U8 Link; /* 0x00 */
+ U8 LinkFlags; /* 0x01 */
+ U8 PhyFlags; /* 0x02 */
+ U8 MaxMinLinkRate; /* 0x03 */
+ U32 ControllerPhyDeviceInfo; /* 0x04 */
+ U32 Reserved1; /* 0x08 */
+} MPI26_PCIE_IO_UNIT1_PHY_DATA, MPI2_POINTER PTR_MPI26_PCIE_IO_UNIT1_PHY_DATA,
+ Mpi26PCIeIOUnit1PhyData_t, MPI2_POINTER pMpi26PCIeIOUnit1PhyData_t;
+
+/* values for LinkFlags */
+#define MPI26_PCIEIOUNIT1_LINKFLAGS_DIS_SRIS (0x00)
+#define MPI26_PCIEIOUNIT1_LINKFLAGS_EN_SRIS (0x01)
+
+/*
+ * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
+ * one and check the value returned for NumPhys at runtime.
+ */
+#ifndef MPI26_PCIE_IOUNIT1_PHY_MAX
+#define MPI26_PCIE_IOUNIT1_PHY_MAX (1)
+#endif
+
+typedef struct _MPI26_CONFIG_PAGE_PIOUNIT_1
+{
+ MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */
+ U16 ControlFlags; /* 0x08 */
+ U16 Reserved; /* 0x0A */
+ U16 AdditionalControlFlags; /* 0x0C */
+ U16 NVMeMaxQueueDepth; /* 0x0E */
+ U8 NumPhys; /* 0x10 */
+ U8 Reserved1; /* 0x11 */
+ U16 Reserved2; /* 0x12 */
+ MPI26_PCIE_IO_UNIT1_PHY_DATA PhyData[MPI26_PCIE_IOUNIT1_PHY_MAX];/* 0x14 */
+} MPI26_CONFIG_PAGE_PIOUNIT_1,
+ MPI2_POINTER PTR_MPI26_CONFIG_PAGE_PIOUNIT_1,
+ Mpi26PCIeIOUnitPage1_t, MPI2_POINTER pMpi26PCIeIOUnitPage1_t;
+
+#define MPI26_PCIEIOUNITPAGE1_PAGEVERSION (0x00)
+
+/* values for PCIe IO Unit Page 1 PhyFlags */
+#define MPI26_PCIEIOUNIT1_PHYFLAGS_PHY_DISABLE (0x08)
+#define MPI26_PCIEIOUNIT1_PHYFLAGS_ENDPOINT_ONLY (0x01)
+
+/* values for PCIe IO Unit Page 1 MaxMinLinkRate */
+#define MPI26_PCIEIOUNIT1_MAX_RATE_MASK (0xF0)
+#define MPI26_PCIEIOUNIT1_MAX_RATE_SHIFT (4)
+#define MPI26_PCIEIOUNIT1_MAX_RATE_2_5 (0x20)
+#define MPI26_PCIEIOUNIT1_MAX_RATE_5_0 (0x30)
+#define MPI26_PCIEIOUNIT1_MAX_RATE_8_0 (0x40)
+#define MPI26_PCIEIOUNIT1_MAX_RATE_16_0 (0x50)
+
+/* see mpi2_pci.h for values for PCIe IO Unit Page 0 ControllerPhyDeviceInfo values */
+
+
+/****************************************************************************
+* PCIe Switch Config Pages (MPI v2.6 and later)
+****************************************************************************/
+
+/* PCIe Switch Page 0 */
+
+typedef struct _MPI26_CONFIG_PAGE_PSWITCH_0
+{
+ MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */
+ U8 PhysicalPort; /* 0x08 */
+ U8 Reserved1; /* 0x09 */
+ U16 Reserved2; /* 0x0A */
+ U16 DevHandle; /* 0x0C */
+ U16 ParentDevHandle; /* 0x0E */
+ U8 NumPorts; /* 0x10 */
+ U8 PCIeLevel; /* 0x11 */
+ U16 Reserved3; /* 0x12 */
+ U32 Reserved4; /* 0x14 */
+ U32 Reserved5; /* 0x18 */
+ U32 Reserved6; /* 0x1C */
+} MPI26_CONFIG_PAGE_PSWITCH_0, MPI2_POINTER PTR_MPI26_CONFIG_PAGE_PSWITCH_0,
+ Mpi26PCIeSwitchPage0_t, MPI2_POINTER pMpi26PCIeSwitchPage0_t;
+
+#define MPI26_PCIESWITCH0_PAGEVERSION (0x00)
+
+
+/* PCIe Switch Page 1 */
+
+typedef struct _MPI26_CONFIG_PAGE_PSWITCH_1
+{
+ MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */
+ U8 PhysicalPort; /* 0x08 */
+ U8 Reserved1; /* 0x09 */
+ U16 Reserved2; /* 0x0A */
+ U8 NumPorts; /* 0x0C */
+ U8 PortNum; /* 0x0D */
+ U16 AttachedDevHandle; /* 0x0E */
+ U16 SwitchDevHandle; /* 0x10 */
+ U8 NegotiatedPortWidth; /* 0x12 */
+ U8 NegotiatedLinkRate; /* 0x13 */
+ U32 Reserved4; /* 0x14 */
+ U32 Reserved5; /* 0x18 */
+} MPI26_CONFIG_PAGE_PSWITCH_1, MPI2_POINTER PTR_MPI26_CONFIG_PAGE_PSWITCH_1,
+ Mpi26PCIeSwitchPage1_t, MPI2_POINTER pMpi26PCIeSwitchPage1_t;
+
+#define MPI26_PCIESWITCH1_PAGEVERSION (0x00)
+
+/* use MPI26_PCIE_NEG_LINK_RATE_ defines for the NegotiatedLinkRate field */
+
+
+/****************************************************************************
+* PCIe Device Config Pages (MPI v2.6 and later)
+****************************************************************************/
+
+/* PCIe Device Page 0 */
+
+typedef struct _MPI26_CONFIG_PAGE_PCIEDEV_0
+{
+ MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */
+ U16 Slot; /* 0x08 */
+ U16 EnclosureHandle; /* 0x0A */
+ U64 WWID; /* 0x0C */
+ U16 ParentDevHandle; /* 0x14 */
+ U8 PortNum; /* 0x16 */
+ U8 AccessStatus; /* 0x17 */
+ U16 DevHandle; /* 0x18 */
+ U8 PhysicalPort; /* 0x1A */
+ U8 Reserved1; /* 0x1B */
+ U32 DeviceInfo; /* 0x1C */
+ U32 Flags; /* 0x20 */
+ U8 SupportedLinkRates; /* 0x24 */
+ U8 MaxPortWidth; /* 0x25 */
+ U8 NegotiatedPortWidth; /* 0x26 */
+ U8 NegotiatedLinkRate; /* 0x27 */
+ U8 EnclosureLevel; /* 0x28 */
+ U8 Reserved2; /* 0x29 */
+ U16 Reserved3; /* 0x2A */
+ U8 ConnectorName[4]; /* 0x2C */
+ U32 Reserved4; /* 0x30 */
+ U32 Reserved5; /* 0x34 */
+} MPI26_CONFIG_PAGE_PCIEDEV_0, MPI2_POINTER PTR_MPI26_CONFIG_PAGE_PCIEDEV_0,
+ Mpi26PCIeDevicePage0_t, MPI2_POINTER pMpi26PCIeDevicePage0_t;
+
+#define MPI26_PCIEDEVICE0_PAGEVERSION (0x01)
+
+/* values for PCIe Device Page 0 AccessStatus field */
+#define MPI26_PCIEDEV0_ASTATUS_NO_ERRORS (0x00)
+#define MPI26_PCIEDEV0_ASTATUS_NEEDS_INITIALIZATION (0x04)
+#define MPI26_PCIEDEV0_ASTATUS_CAPABILITY_FAILED (0x02)
+#define MPI26_PCIEDEV0_ASTATUS_DEVICE_BLOCKED (0x07)
+#define MPI26_PCIEDEV0_ASTATUS_MEMORY_SPACE_ACCESS_FAILED (0x08)
+#define MPI26_PCIEDEV0_ASTATUS_UNSUPPORTED_DEVICE (0x09)
+#define MPI26_PCIEDEV0_ASTATUS_MSIX_REQUIRED (0x0A)
+#define MPI26_PCIEDEV0_ASTATUS_UNKNOWN (0x10)
+
+#define MPI26_PCIEDEV0_ASTATUS_NVME_READY_TIMEOUT (0x30)
+#define MPI26_PCIEDEV0_ASTATUS_NVME_DEVCFG_UNSUPPORTED (0x31)
+#define MPI26_PCIEDEV0_ASTATUS_NVME_IDENTIFY_FAILED (0x32)
+#define MPI26_PCIEDEV0_ASTATUS_NVME_QCONFIG_FAILED (0x33)
+#define MPI26_PCIEDEV0_ASTATUS_NVME_QCREATION_FAILED (0x34)
+#define MPI26_PCIEDEV0_ASTATUS_NVME_EVENTCFG_FAILED (0x35)
+#define MPI26_PCIEDEV0_ASTATUS_NVME_GET_FEATURE_STAT_FAILED (0x36)
+#define MPI26_PCIEDEV0_ASTATUS_NVME_IDLE_TIMEOUT (0x37)
+#define MPI26_PCIEDEV0_ASTATUS_NVME_FAILURE_STATUS (0x38)
+
+#define MPI26_PCIEDEV0_ASTATUS_INIT_FAIL_MAX (0x3F)
+
+/* see mpi2_pci.h for the MPI26_PCIE_DEVINFO_ defines used for the DeviceInfo field */
+
+/* values for PCIe Device Page 0 Flags field */
+#define MPI26_PCIEDEV0_FLAGS_UNAUTHORIZED_DEVICE (0x8000)
+#define MPI26_PCIEDEV0_FLAGS_ENABLED_FAST_PATH (0x4000)
+#define MPI26_PCIEDEV0_FLAGS_FAST_PATH_CAPABLE (0x2000)
+#define MPI26_PCIEDEV0_FLAGS_ASYNCHRONOUS_NOTIFICATION (0x0400)
+#define MPI26_PCIEDEV0_FLAGS_ATA_SW_PRESERVATION (0x0200)
+#define MPI26_PCIEDEV0_FLAGS_UNSUPPORTED_DEVICE (0x0100)
+#define MPI26_PCIEDEV0_FLAGS_ATA_48BIT_LBA_SUPPORTED (0x0080)
+#define MPI26_PCIEDEV0_FLAGS_ATA_SMART_SUPPORTED (0x0040)
+#define MPI26_PCIEDEV0_FLAGS_ATA_NCQ_SUPPORTED (0x0020)
+#define MPI26_PCIEDEV0_FLAGS_ATA_FUA_SUPPORTED (0x0010)
+#define MPI26_PCIEDEV0_FLAGS_ENCL_LEVEL_VALID (0x0002)
+#define MPI26_PCIEDEV0_FLAGS_DEVICE_PRESENT (0x0001)
+
+/* values for PCIe Device Page 0 SupportedLinkRates field */
+#define MPI26_PCIEDEV0_LINK_RATE_16_0_SUPPORTED (0x08)
+#define MPI26_PCIEDEV0_LINK_RATE_8_0_SUPPORTED (0x04)
+#define MPI26_PCIEDEV0_LINK_RATE_5_0_SUPPORTED (0x02)
+#define MPI26_PCIEDEV0_LINK_RATE_2_5_SUPPORTED (0x01)
+
+/* use MPI26_PCIE_NEG_LINK_RATE_ defines for the NegotiatedLinkRate field */
+
+
+/* PCIe Device Page 2 */
+
+typedef struct _MPI26_CONFIG_PAGE_PCIEDEV_2
+{
+ MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */
+ U16 DevHandle; /* 0x08 */
+ U16 Reserved1; /* 0x0A */
+ U32 MaximumDataTransferSize;/* 0x0C */
+ U32 Capabilities; /* 0x10 */
+ U32 Reserved2; /* 0x14 */
+} MPI26_CONFIG_PAGE_PCIEDEV_2, MPI2_POINTER PTR_MPI26_CONFIG_PAGE_PCIEDEV_2,
+ Mpi26PCIeDevicePage2_t, MPI2_POINTER pMpi26PCIeDevicePage2_t;
+
+#define MPI26_PCIEDEVICE2_PAGEVERSION (0x00)
+
+/* defines for PCIe Device Page 2 Capabilities field */
+#define MPI26_PCIEDEV2_CAP_SGL_FORMAT (0x00000004)
+#define MPI26_PCIEDEV2_CAP_BIT_BUCKET_SUPPORT (0x00000002)
+#define MPI26_PCIEDEV2_CAP_SGL_SUPPORT (0x00000001)
+
+
+/****************************************************************************
+* PCIe Link Config Pages (MPI v2.6 and later)
+****************************************************************************/
+
+/* PCIe Link Page 1 */
+
+typedef struct _MPI26_CONFIG_PAGE_PCIELINK_1
+{
+ MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */
+ U8 Link; /* 0x08 */
+ U8 Reserved1; /* 0x09 */
+ U16 Reserved2; /* 0x0A */
+ U32 CorrectableErrorCount; /* 0x0C */
+ U16 NonFatalErrorCount; /* 0x10 */
+ U16 Reserved3; /* 0x12 */
+ U16 FatalErrorCount; /* 0x14 */
+ U16 Reserved4; /* 0x16 */
+} MPI26_CONFIG_PAGE_PCIELINK_1, MPI2_POINTER PTR_MPI26_CONFIG_PAGE_PCIELINK_1,
+ Mpi26PcieLinkPage1_t, MPI2_POINTER pMpi26PcieLinkPage1_t;
+
+#define MPI26_PCIELINK1_PAGEVERSION (0x00)
+
+/* PCIe Link Page 2 */
+
+typedef struct _MPI26_PCIELINK2_LINK_EVENT
+{
+ U8 LinkEventCode; /* 0x00 */
+ U8 Reserved1; /* 0x01 */
+ U16 Reserved2; /* 0x02 */
+ U32 LinkEventInfo; /* 0x04 */
+} MPI26_PCIELINK2_LINK_EVENT, MPI2_POINTER PTR_MPI26_PCIELINK2_LINK_EVENT,
+ Mpi26PcieLink2LinkEvent_t, MPI2_POINTER pMpi26PcieLink2LinkEvent_t;
+
+/* use MPI26_PCIELINK3_EVTCODE_ for the LinkEventCode field */
+
+
+/*
+ * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
+ * one and check the value returned for NumLinkEvents at runtime.
+ */
+#ifndef MPI26_PCIELINK2_LINK_EVENT_MAX
+#define MPI26_PCIELINK2_LINK_EVENT_MAX (1)
+#endif
+
+typedef struct _MPI26_CONFIG_PAGE_PCIELINK_2
+{
+ MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */
+ U8 Link; /* 0x08 */
+ U8 Reserved1; /* 0x09 */
+ U16 Reserved2; /* 0x0A */
+ U8 NumLinkEvents; /* 0x0C */
+ U8 Reserved3; /* 0x0D */
+ U16 Reserved4; /* 0x0E */
+ MPI26_PCIELINK2_LINK_EVENT LinkEvent[MPI26_PCIELINK2_LINK_EVENT_MAX]; /* 0x10 */
+} MPI26_CONFIG_PAGE_PCIELINK_2, MPI2_POINTER PTR_MPI26_CONFIG_PAGE_PCIELINK_2,
+ Mpi26PcieLinkPage2_t, MPI2_POINTER pMpi26PcieLinkPage2_t;
+
+#define MPI26_PCIELINK2_PAGEVERSION (0x00)
+
+
+/* PCIe Link Page 3 */
+
+typedef struct _MPI26_PCIELINK3_LINK_EVENT_CONFIG
+{
+ U8 LinkEventCode; /* 0x00 */
+ U8 Reserved1; /* 0x01 */
+ U16 Reserved2; /* 0x02 */
+ U8 CounterType; /* 0x04 */
+ U8 ThresholdWindow; /* 0x05 */
+ U8 TimeUnits; /* 0x06 */
+ U8 Reserved3; /* 0x07 */
+ U32 EventThreshold; /* 0x08 */
+ U16 ThresholdFlags; /* 0x0C */
+ U16 Reserved4; /* 0x0E */
+} MPI26_PCIELINK3_LINK_EVENT_CONFIG, MPI2_POINTER PTR_MPI26_PCIELINK3_LINK_EVENT_CONFIG,
+ Mpi26PcieLink3LinkEventConfig_t, MPI2_POINTER pMpi26PcieLink3LinkEventConfig_t;
+
+/* values for LinkEventCode field */
+#define MPI26_PCIELINK3_EVTCODE_NO_EVENT (0x00)
+#define MPI26_PCIELINK3_EVTCODE_CORRECTABLE_ERROR_RECEIVED (0x01)
+#define MPI26_PCIELINK3_EVTCODE_NON_FATAL_ERROR_RECEIVED (0x02)
+#define MPI26_PCIELINK3_EVTCODE_FATAL_ERROR_RECEIVED (0x03)
+#define MPI26_PCIELINK3_EVTCODE_DATA_LINK_ERROR_DETECTED (0x04)
+#define MPI26_PCIELINK3_EVTCODE_TRANSACTION_LAYER_ERROR_DETECTED (0x05)
+#define MPI26_PCIELINK3_EVTCODE_TLP_ECRC_ERROR_DETECTED (0x06)
+#define MPI26_PCIELINK3_EVTCODE_POISONED_TLP (0x07)
+#define MPI26_PCIELINK3_EVTCODE_RECEIVED_NAK_DLLP (0x08)
+#define MPI26_PCIELINK3_EVTCODE_SENT_NAK_DLLP (0x09)
+#define MPI26_PCIELINK3_EVTCODE_LTSSM_RECOVERY_STATE (0x0A)
+#define MPI26_PCIELINK3_EVTCODE_LTSSM_RXL0S_STATE (0x0B)
+#define MPI26_PCIELINK3_EVTCODE_LTSSM_TXL0S_STATE (0x0C)
+#define MPI26_PCIELINK3_EVTCODE_LTSSM_L1_STATE (0x0D)
+#define MPI26_PCIELINK3_EVTCODE_LTSSM_DISABLED_STATE (0x0E)
+#define MPI26_PCIELINK3_EVTCODE_LTSSM_HOT_RESET_STATE (0x0F)
+#define MPI26_PCIELINK3_EVTCODE_SYSTEM_ERROR (0x10)
+#define MPI26_PCIELINK3_EVTCODE_DECODE_ERROR (0x11)
+#define MPI26_PCIELINK3_EVTCODE_DISPARITY_ERROR (0x12)
+
+/* values for the CounterType field */
+#define MPI26_PCIELINK3_COUNTER_TYPE_WRAPPING (0x00)
+#define MPI26_PCIELINK3_COUNTER_TYPE_SATURATING (0x01)
+#define MPI26_PCIELINK3_COUNTER_TYPE_PEAK_VALUE (0x02)
+
+/* values for the TimeUnits field */
+#define MPI26_PCIELINK3_TM_UNITS_10_MICROSECONDS (0x00)
+#define MPI26_PCIELINK3_TM_UNITS_100_MICROSECONDS (0x01)
+#define MPI26_PCIELINK3_TM_UNITS_1_MILLISECOND (0x02)
+#define MPI26_PCIELINK3_TM_UNITS_10_MILLISECONDS (0x03)
+
+/* values for the ThresholdFlags field */
+#define MPI26_PCIELINK3_TFLAGS_EVENT_NOTIFY (0x0001)
+
+/*
+ * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
+ * one and check the value returned for NumLinkEvents at runtime.
+ */
+#ifndef MPI26_PCIELINK3_LINK_EVENT_MAX
+#define MPI26_PCIELINK3_LINK_EVENT_MAX (1)
+#endif
+
+typedef struct _MPI26_CONFIG_PAGE_PCIELINK_3
+{
+ MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */
+ U8 Link; /* 0x08 */
+ U8 Reserved1; /* 0x09 */
+ U16 Reserved2; /* 0x0A */
+ U8 NumLinkEvents; /* 0x0C */
+ U8 Reserved3; /* 0x0D */
+ U16 Reserved4; /* 0x0E */
+ MPI26_PCIELINK3_LINK_EVENT_CONFIG LinkEventConfig[MPI26_PCIELINK3_LINK_EVENT_MAX]; /* 0x10 */
+} MPI26_CONFIG_PAGE_PCIELINK_3, MPI2_POINTER PTR_MPI26_CONFIG_PAGE_PCIELINK_3,
+ Mpi26PcieLinkPage3_t, MPI2_POINTER pMpi26PcieLinkPage3_t;
+
+#define MPI26_PCIELINK3_PAGEVERSION (0x00)
+
+
#endif
diff --git a/sys/dev/mpr/mpi/mpi2_hbd.h b/sys/dev/mpr/mpi/mpi2_hbd.h
index 4870071..37e3c04 100644
--- a/sys/dev/mpr/mpi/mpi2_hbd.h
+++ b/sys/dev/mpr/mpi/mpi2_hbd.h
@@ -42,7 +42,7 @@
* Title: MPI Host Based Discovery messages and structures
* Creation Date: October 21, 2009
*
- * mpi2_hbd.h Version: 02.00.03
+ * mpi2_hbd.h Version: 02.00.04
*
* NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
* prefix are for use only on MPI v2.5 products, and must not be used
@@ -59,6 +59,7 @@
* HBD Action request, replaced by AdditionalInfo field.
* 11-18-11 02.00.02 Incorporating additions for MPI v2.5.
* 11-18-14 02.00.03 Updated copyright information.
+ * 02-17-16 02.00.04 Added SAS 4 22.5 gbs speed support.
* --------------------------------------------------------------------------
*/
@@ -129,6 +130,7 @@ typedef struct _MPI2_HBD_ACTION_REQUEST
#define MPI2_HBD_MAX_RATE_3_0 (0x09)
#define MPI2_HBD_MAX_RATE_6_0 (0x0A)
#define MPI25_HBD_MAX_RATE_12_0 (0x0B)
+#define MPI26_HBD_MAX_RATE_22_5 (0x0C)
/* Host Based Discovery Action Reply Message */
diff --git a/sys/dev/mpr/mpi/mpi2_history.txt b/sys/dev/mpr/mpi/mpi2_history.txt
index 64498a2..482c7fa 100644
--- a/sys/dev/mpr/mpi/mpi2_history.txt
+++ b/sys/dev/mpr/mpi/mpi2_history.txt
@@ -41,24 +41,25 @@
All rights reserved.
---------------------------------------
- Header Set Release Version: 02.00.42
- Header Set Release Date: 01-04-16
+ Header Set Release Version: 02.00.46
+ Header Set Release Date: 09-07-16
---------------------------------------
Filename Current version Prior version
---------- --------------- -------------
- mpi2.h 02.00.42 02.00.41
- mpi2_cnfg.h 02.00.35 02.00.34
- mpi2_init.h 02.00.20 02.00.19
- mpi2_ioc.h 02.00.27 02.00.27
+ mpi2.h 02.00.46 02.00.45
+ mpi2_cnfg.h 02.00.39 02.00.38
+ mpi2_init.h 02.00.21 02.00.21
+ mpi2_ioc.h 02.00.30 02.00.29
mpi2_raid.h 02.00.11 02.00.11
mpi2_sas.h 02.00.10 02.00.10
mpi2_targ.h 02.00.09 02.00.09
- mpi2_tool.h 02.00.13 02.00.13
+ mpi2_tool.h 02.00.14 02.00.13
mpi2_type.h 02.00.01 02.00.01
mpi2_ra.h 02.00.01 02.00.01
- mpi2_hbd.h 02.00.03 02.00.03
- mpi2_history.txt 02.00.41 02.00.40
+ mpi2_hbd.h 02.00.04 02.00.04
+ mpi2_pci.h 02.00.02 02.00.02
+ mpi2_history.txt 02.00.43 02.00.43
* Date Version Description
@@ -141,7 +142,8 @@ mpi2.h
* Bumped MPI2_HEADER_VERSION_UNIT.
* 03-16-15 02.00.37 Updated for MPI v2.6.
* Bumped MPI2_HEADER_VERSION_UNIT.
- * Added Scratchpad registers to
+ * Added Scratchpad registers and
+ * AtomicRequestDescriptorPost register to
* MPI2_SYSTEM_INTERFACE_REGS.
* Added MPI2_DIAG_SBR_RELOAD.
* Added MPI2_IOCSTATUS_INSUFFICIENT_POWER.
@@ -151,6 +153,14 @@ mpi2.h
* Added V7 HostDiagnostic register defines
* 12-15-15 02.00.41 Bumped MPI_HEADER_VERSION_UNIT
* 01-04-16 02.00.42 Bumped MPI_HEADER_VERSION_UNIT
+ * 04-05-16 02.00.43 Modified MPI26_DIAG_BOOT_DEVICE_SELECT defines
+ * to be unique within first 32 characters.
+ * Removed AHCI support.
+ * Removed SOP support.
+ * Bumped MPI2_HEADER_VERSION_UNIT.
+ * 04-10-16 02.00.44 Bumped MPI2_HEADER_VERSION_UNIT.
+ * 07-06-16 02.00.45 Bumped MPI2_HEADER_VERSION_UNIT.
+ * 09-02-16 02.00.46 Bumped MPI2_HEADER_VERSION_UNIT.
* --------------------------------------------------------------------------
mpi2_cnfg.h
@@ -323,9 +333,38 @@ mpi2_cnfg.h
* Flags field to IO Unit Page 7.
* Added IO Unit Page 11.
* Added new SAS Phy Event codes
+ * Added PCIe configuration pages.
+ * 03-19-15 02.00.32 Fixed PCIe Link Config page structure names to be
+ * unique in first 32 characters.
* 05-25-15 02.00.33 Added more defines for the BiosOptions field of
* MPI2_CONFIG_PAGE_BIOS_1.
+ * 08-25-15 02.00.34 Added PCIe Device Page 2 SGL format capability.
* 12-18-15 02.00.35 Added SATADeviceWaitTime to SAS IO Unit Page 4.
+ * 01-21-16 02.00.36 Added/modified MPI2_MFGPAGE_DEVID_SAS defines.
+ * Added Link field to PCIe Link Pages
+ * Added EnclosureLevel and ConnectorName to PCIe
+ * Device Page 0.
+ * Added define for PCIE IoUnit page 1 max rate shift.
+ * Added comment for reserved ExtPageTypes.
+ * Added SAS 4 22.5 gbs speed support.
+ * Added PCIe 4 16.0 GT/sec speec support.
+ * Removed AHCI support.
+ * Removed SOP support.
+ * Added NegotiatedLinkRate and NegotiatedPortWidth to
+ * PCIe device page 0.
+ * 04-10-16 02.00.37 Fixed MPI2_MFGPAGE_DEVID_SAS3616/3708 defines
+ * 07-01-16 02.00.38 Added Manufacturing page 7 Connector types.
+ * Changed declaration of ConnectorName in PCIe DevicePage0
+ * to match SAS DevicePage 0.
+ * Added SATADeviceWaitTime to IO Unit Page 11.
+ * Added MPI26_MFGPAGE_DEVID_SAS4008
+ * Added x16 PCIe width to IO Unit Page 7
+ * Added LINKFLAGS to control SRIS in PCIe IO Unit page 1
+ * phy data.
+ * Added InitStatus to PCIe IO Unit Page 1 header.
+ * 09-01-16 02.00.39 Added MPI26_CONFIG_PAGE_ENCLOSURE_0 and related defines.
+ * Added MPI26_ENCLOS_PGAD_FORM_GET_NEXT_HANDLE and
+ * MPI26_ENCLOS_PGAD_FORM_HANDLE page address formats.
* --------------------------------------------------------------------------
mpi2_init.h
@@ -365,6 +404,8 @@ mpi2_init.h
* 08-26-15 02.00.18 Added SCSITASKMGMT_MSGFLAGS for Target Reset.
* 12-18-15 02.00.19 Added EEDPObservedValue added to SCSI IO Reply message.
* 01-04-16 02.00.20 Modified EEDP reported values in SCSI IO Reply message.
+ * 01-21-16 02.00.21 Modified MPI26_SCSITASKMGMT_MSGFLAGS_PCIE* defines to
+ * be unique within first 32 characters.
* --------------------------------------------------------------------------
mpi2_ioc.h
@@ -491,9 +532,30 @@ mpi2_ioc.h
* MPI26_EVENT_DATA_PCIE_LINK_COUNTER.
* Added MPI26_CTRL_OP_SHUTDOWN.
* Added MPI26_CTRL_OP_LINK_CLEAR_ERROR_LOG
- * Added MPI26_FW_HEADER_PID_FAMILY_3324_SAS
+ * Added MPI26_FW_HEADER_PID_FAMILY_3324_SAS and
+ * MPI26_FW_HEADER_PID_FAMILY_3516_SAS.
* 08-25-15 02.00.27 Added IC ARCH Class based signature defines.
- * --------------------------------------------------------------------------
+ * Added MPI26_EVENT_PCIE_ENUM_ES_RESOURCES_EXHAUSTED event.
+ * Added ConigurationFlags field to IOCInit message to
+ * support NVMe SGL format control.
+ * Added PCIe SRIOV support.
+ * 02-17-16 02.00.28 Added SAS 4 22.5 gbs speed support.
+ * Added PCIe 4 16.0 GT/sec speec support.
+ * Removed AHCI support.
+ * Removed SOP support.
+ * 07-01-16 02.00.29 Added Archclass for 4008 product.
+ * Added IOCException MPI2_IOCFACTS_EXCEPT_PCIE_DISABLED.
+ * 08-23-16 02.00.30 Added new defines for the ImageType field of FWDownload
+ * Request Message.
+ * Added new defines for the ImageType field of FWUpload
+ * Request Message.
+ * Added new values for the RegionType field in the Layout
+ * Data sections of the FLASH Layout Extended Image Data.
+ * Added new defines for the ReasonCode field of
+ * Active Cable Exception Event.
+ * Added MPI2_EVENT_ENCL_DEVICE_STATUS_CHANGE and
+ * MPI26_EVENT_DATA_ENCL_DEV_STATUS_CHANGE.
+ * --------------------------------------------------------------------------
mpi2_raid.h
* 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
@@ -581,6 +643,8 @@ mpi2_tool.h
* 08-19-13 02.00.11 Added MPI2_TOOLBOX_TEXT_DISPLAY_TOOL and related info.
* 01-08-14 02.00.12 Added MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC.
* 11-18-14 02.00.13 Updated copyright information.
+ * 08-25-16 02.00.14 Added new values for the Flags field of Toolbox Clean
+ * Tool Request Message.
* --------------------------------------------------------------------------
mpi2_type.h
@@ -599,24 +663,33 @@ mpi2_hbd.h
* HBD Action request, replaced by AdditionalInfo field.
* 11-18-11 02.00.02 Incorporating additions for MPI v2.5.
* 11-18-14 02.00.03 Updated copyright information.
+ * 02-17-16 02.00.04 Added SAS 4 22.5 gbs speed support.
* --------------------------------------------------------------------------
+mpi2_pci.h
+ * 03-16-15 02.00.00 Initial version.
+ * 02-17-16 02.00.01 Removed AHCI support.
+ * Removed SOP support.
+ * 07-01-16 02.00.02 Added MPI26_NVME_FLAGS_FORCE_ADMIN_ERR_RESP to
+ * NVME Encapsulated Request.
+ * --------------------------------------------------------------------------
mpi2_history.txt Parts list history
-Filename 02.00.42
----------- --------
-mpi2.h 02.00.42
-mpi2_cnfg.h 02.00.35
-mpi2_init.h 02.00.20
-mpi2_ioc.h 02.00.27
-mpi2_raid.h 02.00.11
-mpi2_sas.h 02.00.10
-mpi2_targ.h 02.00.09
-mpi2_tool.h 02.00.13
-mpi2_type.h 02.00.01
-mpi2_ra.h 02.00.01
-mpi2_hbd.h 02.00.03
+Filename 02.00.46 02.00.45 02.00.44 02.00.43 02.00.42
+---------- -------- -------- -------- -------- --------
+mpi2.h 02.00.46 02.00.45 02.00.44 02.00.43 02.00.42
+mpi2_cnfg.h 02.00.39 02.00.38 02.00.37 02.00.36 02.00.35
+mpi2_init.h 02.00.21 02.00.21 02.00.21 02.00.21 02.00.20
+mpi2_ioc.h 02.00.30 02.00.29 02.00.28 02.00.28 02.00.27
+mpi2_raid.h 02.00.11 02.00.11 02.00.11 02.00.11 02.00.11
+mpi2_sas.h 02.00.10 02.00.10 02.00.10 02.00.10 02.00.10
+mpi2_targ.h 02.00.09 02.00.09 02.00.09 02.00.09 02.00.09
+mpi2_tool.h 02.00.14 02.00.13 02.00.13 02.00.13 02.00.13
+mpi2_type.h 02.00.01 02.00.01 02.00.01 02.00.01 02.00.01
+mpi2_ra.h 02.00.01 02.00.01 02.00.01 02.00.01 02.00.01
+mpi2_hbd.h 02.00.04 02.00.04 02.00.04 02.00.04 02.00.03
+mpi2_pci.h 02.00.02 02.00.02 02.00.01 02.00.01 02.00.00
Filename 02.00.41 02.00.40 02.00.39 02.00.38 02.00.37 02.00.36
---------- -------- -------- -------- -------- -------- --------
@@ -631,6 +704,7 @@ mpi2_tool.h 02.00.13 02.00.13 02.00.13 02.00.13 02.00.13 02.00.13
mpi2_type.h 02.00.01 02.00.01 02.00.01 02.00.01 02.00.01 02.00.01
mpi2_ra.h 02.00.01 02.00.01 02.00.01 02.00.01 02.00.01 02.00.01
mpi2_hbd.h 02.00.03 02.00.03 02.00.03 02.00.03 02.00.03 02.00.03
+mpi2_pci.h 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00
Filename 02.00.35 02.00.34 02.00.33 02.00.32 02.00.31 02.00.30
---------- -------- -------- -------- -------- -------- --------
diff --git a/sys/dev/mpr/mpi/mpi2_init.h b/sys/dev/mpr/mpi/mpi2_init.h
index 12b2689..17bf383 100644
--- a/sys/dev/mpr/mpi/mpi2_init.h
+++ b/sys/dev/mpr/mpi/mpi2_init.h
@@ -42,7 +42,7 @@
* Title: MPI SCSI initiator mode messages and structures
* Creation Date: June 23, 2006
*
- * mpi2_init.h Version: 02.00.20
+ * mpi2_init.h Version: 02.00.21
*
* NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
* prefix are for use only on MPI v2.5 products, and must not be used
@@ -62,7 +62,7 @@
* 05-21-08 02.00.05 Fixed typo in name of Mpi2SepRequest_t.
* 10-02-08 02.00.06 Removed Untagged and No Disconnect values from SCSI IO
* Control field Task Attribute flags.
- * Moved LUN field defines to mpi2.h becasue they are
+ * Moved LUN field defines to mpi2.h because they are
* common to many structures.
* 05-06-09 02.00.07 Changed task management type of Query Unit Attention to
* Query Asynchronous Event.
@@ -90,6 +90,8 @@
* 08-26-15 02.00.18 Added SCSITASKMGMT_MSGFLAGS for Target Reset.
* 12-18-15 02.00.19 Added EEDPObservedValue added to SCSI IO Reply message.
* 01-04-16 02.00.20 Modified EEDP reported values in SCSI IO Reply message.
+ * 01-21-16 02.00.21 Modified MPI26_SCSITASKMGMT_MSGFLAGS_PCIE* defines to
+ * be unique within first 32 characters.
* --------------------------------------------------------------------------
*/
@@ -491,12 +493,13 @@ typedef struct _MPI2_SCSI_TASK_MANAGE_REQUEST
#define MPI2_SCSITASKMGMT_TASKTYPE_QRY_UNIT_ATTENTION (MPI2_SCSITASKMGMT_TASKTYPE_QRY_ASYNC_EVENT)
/* MsgFlags bits */
-
-#define MPI2_SCSITASKMGMT_MSGFLAGS_MASK_TARGET_RESET (0x18)
-#define MPI2_SCSITASKMGMT_MSGFLAGS_LINK_RESET (0x00)
+#define MPI2_SCSITASKMGMT_MSGFLAGS_MASK_TARGET_RESET (0x18)
+#define MPI26_SCSITASKMGMT_MSGFLAGS_HOT_RESET_PCIE (0x00)
+#define MPI2_SCSITASKMGMT_MSGFLAGS_LINK_RESET (0x00)
#define MPI2_SCSITASKMGMT_MSGFLAGS_DO_NOT_SEND_TASK_IU (0x01)
-#define MPI2_SCSITASKMGMT_MSGFLAGS_NEXUS_RESET_SRST (0x08)
-#define MPI2_SCSITASKMGMT_MSGFLAGS_SAS_HARD_LINK_RESET (0x10)
+#define MPI2_SCSITASKMGMT_MSGFLAGS_NEXUS_RESET_SRST (0x08)
+#define MPI2_SCSITASKMGMT_MSGFLAGS_SAS_HARD_LINK_RESET (0x10)
+#define MPI26_SCSITASKMGMT_MSGFLAGS_PROTOCOL_LVL_RST_PCIE (0x18)
/* SCSI Task Management Reply Message */
diff --git a/sys/dev/mpr/mpi/mpi2_ioc.h b/sys/dev/mpr/mpi/mpi2_ioc.h
index 003f7cd..5e3b7ae 100644
--- a/sys/dev/mpr/mpi/mpi2_ioc.h
+++ b/sys/dev/mpr/mpi/mpi2_ioc.h
@@ -42,7 +42,7 @@
* Title: MPI IOC, Port, Event, FW Download, and FW Upload messages
* Creation Date: October 11, 2006
*
- * mpi2_ioc.h Version: 02.00.27
+ * mpi2_ioc.h Version: 02.00.30
*
* NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
* prefix are for use only on MPI v2.5 products, and must not be used
@@ -177,9 +177,29 @@
* MPI26_EVENT_DATA_PCIE_LINK_COUNTER.
* Added MPI26_CTRL_OP_SHUTDOWN.
* Added MPI26_CTRL_OP_LINK_CLEAR_ERROR_LOG
- * Added MPI26_FW_HEADER_PID_FAMILY_3324_SAS
- * 08-25-15 02.00.27 Added IC ARCH Class based signature defines
- *
+ * Added MPI26_FW_HEADER_PID_FAMILY_3324_SAS and
+ * MPI26_FW_HEADER_PID_FAMILY_3516_SAS.
+ * 08-25-15 02.00.27 Added IC ARCH Class based signature defines.
+ * Added MPI26_EVENT_PCIE_ENUM_ES_RESOURCES_EXHAUSTED event.
+ * Added ConigurationFlags field to IOCInit message to
+ * support NVMe SGL format control.
+ * Added PCIe SRIOV support.
+ * 02-17-16 02.00.28 Added SAS 4 22.5 gbs speed support.
+ * Added PCIe 4 16.0 GT/sec speec support.
+ * Removed AHCI support.
+ * Removed SOP support.
+ * 07-01-16 02.00.29 Added Archclass for 4008 product.
+ * Added IOCException MPI2_IOCFACTS_EXCEPT_PCIE_DISABLED
+ * 08-23-16 02.00.30 Added new defines for the ImageType field of FWDownload
+ * Request Message.
+ * Added new defines for the ImageType field of FWUpload
+ * Request Message.
+ * Added new values for the RegionType field in the Layout
+ * Data sections of the FLASH Layout Extended Image Data.
+ * Added new defines for the ReasonCode field of
+ * Active Cable Exception Event.
+ * Added MPI2_EVENT_ENCL_DEVICE_STATUS_CHANGE and
+ * MPI26_EVENT_DATA_ENCL_DEV_STATUS_CHANGE.
* --------------------------------------------------------------------------
*/
@@ -251,6 +271,9 @@ typedef struct _MPI2_IOC_INIT_REQUEST
#define MPI2_IOCINIT_HDRVERSION_DEV_MASK (0x00FF)
#define MPI2_IOCINIT_HDRVERSION_DEV_SHIFT (0)
+/* ConfigurationFlags */
+#define MPI26_IOCINIT_CFGFLAGS_NVME_SGL_FORMAT (0x0001)
+
/* minimum depth for a Reply Descriptor Post Queue */
#define MPI2_RDPQ_DEPTH_MIN (16)
@@ -363,6 +386,7 @@ typedef struct _MPI2_IOC_FACTS_REPLY
#define MPI2_IOCFACTS_HDRVERSION_DEV_SHIFT (0)
/* IOCExceptions */
+#define MPI2_IOCFACTS_EXCEPT_PCIE_DISABLED (0x0400)
#define MPI2_IOCFACTS_EXCEPT_PARTIAL_MEMORY_FAILURE (0x0200)
#define MPI2_IOCFACTS_EXCEPT_IR_FOREIGN_CONFIG_MAX (0x0100)
@@ -383,6 +407,8 @@ typedef struct _MPI2_IOC_FACTS_REPLY
/* ProductID field uses MPI2_FW_HEADER_PID_ */
/* IOCCapabilities */
+#define MPI26_IOCFACTS_CAPABILITY_PCIE_SRIOV (0x00100000)
+#define MPI26_IOCFACTS_CAPABILITY_ATOMIC_REQ (0x00080000)
#define MPI2_IOCFACTS_CAPABILITY_RDPQ_ARRAY_CAPABLE (0x00040000)
#define MPI25_IOCFACTS_CAPABILITY_FAST_PATH_CAPABLE (0x00020000)
#define MPI2_IOCFACTS_CAPABILITY_HOST_BASED_DISCOVERY (0x00010000)
@@ -400,6 +426,7 @@ typedef struct _MPI2_IOC_FACTS_REPLY
#define MPI2_IOCFACTS_CAPABILITY_TASK_SET_FULL_HANDLING (0x00000004)
/* ProtocolFlags */
+#define MPI2_IOCFACTS_PROTOCOL_NVME_DEVICES (0x0008) /* MPI v2.6 and later */
#define MPI2_IOCFACTS_PROTOCOL_SCSI_INITIATOR (0x0002)
#define MPI2_IOCFACTS_PROTOCOL_SCSI_TARGET (0x0001)
@@ -452,6 +479,7 @@ typedef struct _MPI2_PORT_FACTS_REPLY
#define MPI2_PORTFACTS_PORTTYPE_ISCSI (0x20)
#define MPI2_PORTFACTS_PORTTYPE_SAS_PHYSICAL (0x30)
#define MPI2_PORTFACTS_PORTTYPE_SAS_VIRTUAL (0x31)
+#define MPI2_PORTFACTS_PORTTYPE_TRI_MODE (0x40) /* MPI v2.6 and later */
/****************************************************************************
@@ -564,6 +592,7 @@ typedef struct _MPI2_EVENT_NOTIFICATION_REPLY
#define MPI2_EVENT_SAS_INIT_TABLE_OVERFLOW (0x0019)
#define MPI2_EVENT_SAS_TOPOLOGY_CHANGE_LIST (0x001C)
#define MPI2_EVENT_SAS_ENCL_DEVICE_STATUS_CHANGE (0x001D)
+#define MPI2_EVENT_ENCL_DEVICE_STATUS_CHANGE (0x001D) /* MPI v2.6 and later */
#define MPI2_EVENT_IR_VOLUME (0x001E)
#define MPI2_EVENT_IR_PHYSICAL_DISK (0x001F)
#define MPI2_EVENT_IR_CONFIGURATION_CHANGE_LIST (0x0020)
@@ -576,6 +605,10 @@ typedef struct _MPI2_EVENT_NOTIFICATION_REPLY
#define MPI2_EVENT_TEMP_THRESHOLD (0x0027)
#define MPI2_EVENT_HOST_MESSAGE (0x0028)
#define MPI2_EVENT_POWER_PERFORMANCE_CHANGE (0x0029)
+#define MPI2_EVENT_PCIE_DEVICE_STATUS_CHANGE (0x0030) /* MPI v2.6 and later */
+#define MPI2_EVENT_PCIE_ENUMERATION (0x0031) /* MPI v2.6 and later */
+#define MPI2_EVENT_PCIE_TOPOLOGY_CHANGE_LIST (0x0032) /* MPI v2.6 and later */
+#define MPI2_EVENT_PCIE_LINK_COUNTER (0x0033) /* MPI v2.6 and later */
#define MPI2_EVENT_ACTIVE_CABLE_EXCEPTION (0x0034) /* MPI v2.6 and later */
#define MPI2_EVENT_MIN_PRODUCT_SPECIFIC (0x006E)
#define MPI2_EVENT_MAX_PRODUCT_SPECIFIC (0x007F)
@@ -688,11 +721,9 @@ typedef struct _MPI26_EVENT_DATA_ACTIVE_CABLE_EXCEPT
MPI2_POINTER pMpi26EventDataActiveCableExcept_t;
/* defines for ReasonCode field */
-#define MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER (0x00)
-#define MPI26_EVENT_ACTIVE_CABLE_PRESENT (0x01)
-#define MPI26_EVENT_ACTIVE_CABLE_DEGRADED (0x02)
-
-
+#define MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER (0x00)
+#define MPI26_EVENT_ACTIVE_CABLE_PRESENT (0x01)
+#define MPI26_EVENT_ACTIVE_CABLE_DEGRADED (0x02)
/* Hard Reset Received Event data */
@@ -1048,6 +1079,7 @@ typedef struct _MPI2_EVENT_DATA_SAS_TOPOLOGY_CHANGE_LIST
#define MPI2_EVENT_SAS_TOPO_LR_RATE_3_0 (0x09)
#define MPI2_EVENT_SAS_TOPO_LR_RATE_6_0 (0x0A)
#define MPI25_EVENT_SAS_TOPO_LR_RATE_12_0 (0x0B)
+#define MPI26_EVENT_SAS_TOPO_LR_RATE_22_5 (0x0C)
/* values for the PhyStatus field */
#define MPI2_EVENT_SAS_TOPO_PHYSTATUS_VACANT (0x80)
@@ -1075,12 +1107,19 @@ typedef struct _MPI2_EVENT_DATA_SAS_ENCL_DEV_STATUS_CHANGE
} MPI2_EVENT_DATA_SAS_ENCL_DEV_STATUS_CHANGE,
MPI2_POINTER PTR_MPI2_EVENT_DATA_SAS_ENCL_DEV_STATUS_CHANGE,
Mpi2EventDataSasEnclDevStatusChange_t,
- MPI2_POINTER pMpi2EventDataSasEnclDevStatusChange_t;
+ MPI2_POINTER pMpi2EventDataSasEnclDevStatusChange_t,
+ MPI26_EVENT_DATA_ENCL_DEV_STATUS_CHANGE,
+ MPI2_POINTER PTR_MPI26_EVENT_DATA_ENCL_DEV_STATUS_CHANGE,
+ Mpi26EventDataEnclDevStatusChange_t,
+ MPI2_POINTER pMpi26EventDataEnclDevStatusChange_t;
/* SAS Enclosure Device Status Change event ReasonCode values */
#define MPI2_EVENT_SAS_ENCL_RC_ADDED (0x01)
#define MPI2_EVENT_SAS_ENCL_RC_NOT_RESPONDING (0x02)
+/* Enclosure Device Status Change event ReasonCode values */
+#define MPI26_EVENT_ENCL_RC_ADDED (0x01)
+#define MPI26_EVENT_ENCL_RC_NOT_RESPONDING (0x02)
/* SAS PHY Counter Event data */
@@ -1168,6 +1207,167 @@ typedef struct _MPI2_EVENT_DATA_HBD_PHY
#define MPI2_EVENT_HBD_DT_SAS (0x01)
+/* PCIe Device Status Change Event data (MPI v2.6 and later) */
+
+typedef struct _MPI26_EVENT_DATA_PCIE_DEVICE_STATUS_CHANGE
+{
+ U16 TaskTag; /* 0x00 */
+ U8 ReasonCode; /* 0x02 */
+ U8 PhysicalPort; /* 0x03 */
+ U8 ASC; /* 0x04 */
+ U8 ASCQ; /* 0x05 */
+ U16 DevHandle; /* 0x06 */
+ U32 Reserved2; /* 0x08 */
+ U64 WWID; /* 0x0C */
+ U8 LUN[8]; /* 0x14 */
+} MPI26_EVENT_DATA_PCIE_DEVICE_STATUS_CHANGE,
+ MPI2_POINTER PTR_MPI26_EVENT_DATA_PCIE_DEVICE_STATUS_CHANGE,
+ Mpi26EventDataPCIeDeviceStatusChange_t,
+ MPI2_POINTER pMpi26EventDataPCIeDeviceStatusChange_t;
+
+/* PCIe Device Status Change Event data ReasonCode values */
+#define MPI26_EVENT_PCIDEV_STAT_RC_SMART_DATA (0x05)
+#define MPI26_EVENT_PCIDEV_STAT_RC_UNSUPPORTED (0x07)
+#define MPI26_EVENT_PCIDEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08)
+#define MPI26_EVENT_PCIDEV_STAT_RC_TASK_ABORT_INTERNAL (0x09)
+#define MPI26_EVENT_PCIDEV_STAT_RC_ABORT_TASK_SET_INTERNAL (0x0A)
+#define MPI26_EVENT_PCIDEV_STAT_RC_CLEAR_TASK_SET_INTERNAL (0x0B)
+#define MPI26_EVENT_PCIDEV_STAT_RC_QUERY_TASK_INTERNAL (0x0C)
+#define MPI26_EVENT_PCIDEV_STAT_RC_ASYNC_NOTIFICATION (0x0D)
+#define MPI26_EVENT_PCIDEV_STAT_RC_CMP_INTERNAL_DEV_RESET (0x0E)
+#define MPI26_EVENT_PCIDEV_STAT_RC_CMP_TASK_ABORT_INTERNAL (0x0F)
+#define MPI26_EVENT_PCIDEV_STAT_RC_DEV_INIT_FAILURE (0x10)
+
+
+/* PCIe Enumeration Event data (MPI v2.6 and later) */
+
+typedef struct _MPI26_EVENT_DATA_PCIE_ENUMERATION
+{
+ U8 Flags; /* 0x00 */
+ U8 ReasonCode; /* 0x01 */
+ U8 PhysicalPort; /* 0x02 */
+ U8 Reserved1; /* 0x03 */
+ U32 EnumerationStatus; /* 0x04 */
+} MPI26_EVENT_DATA_PCIE_ENUMERATION,
+ MPI2_POINTER PTR_MPI26_EVENT_DATA_PCIE_ENUMERATION,
+ Mpi26EventDataPCIeEnumeration_t,
+ MPI2_POINTER pMpi26EventDataPCIeEnumeration_t;
+
+/* PCIe Enumeration Event data Flags values */
+#define MPI26_EVENT_PCIE_ENUM_DEVICE_CHANGE (0x02)
+#define MPI26_EVENT_PCIE_ENUM_IN_PROGRESS (0x01)
+
+/* PCIe Enumeration Event data ReasonCode values */
+#define MPI26_EVENT_PCIE_ENUM_RC_STARTED (0x01)
+#define MPI26_EVENT_PCIE_ENUM_RC_COMPLETED (0x02)
+
+/* PCIe Enumeration Event data EnumerationStatus values */
+#define MPI26_EVENT_PCIE_ENUM_ES_MAX_SWITCHES_EXCEED (0x40000000)
+#define MPI26_EVENT_PCIE_ENUM_ES_MAX_DEVICES_EXCEED (0x20000000)
+#define MPI26_EVENT_PCIE_ENUM_ES_RESOURCES_EXHAUSTED (0x10000000)
+
+
+/* PCIe Topology Change List Event data (MPI v2.6 and later) */
+
+/*
+ * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
+ * one and check NumEntries at runtime.
+ */
+#ifndef MPI26_EVENT_PCIE_TOPO_PORT_COUNT
+#define MPI26_EVENT_PCIE_TOPO_PORT_COUNT (1)
+#endif
+
+typedef struct _MPI26_EVENT_PCIE_TOPO_PORT_ENTRY
+{
+ U16 AttachedDevHandle; /* 0x00 */
+ U8 PortStatus; /* 0x02 */
+ U8 Reserved1; /* 0x03 */
+ U8 CurrentPortInfo; /* 0x04 */
+ U8 Reserved2; /* 0x05 */
+ U8 PreviousPortInfo; /* 0x06 */
+ U8 Reserved3; /* 0x07 */
+} MPI26_EVENT_PCIE_TOPO_PORT_ENTRY,
+ MPI2_POINTER PTR_MPI26_EVENT_PCIE_TOPO_PORT_ENTRY,
+ Mpi26EventPCIeTopoPortEntry_t,
+ MPI2_POINTER pMpi26EventPCIeTopoPortEntry_t;
+
+/* PCIe Topology Change List Event data PortStatus values */
+#define MPI26_EVENT_PCIE_TOPO_PS_DEV_ADDED (0x01)
+#define MPI26_EVENT_PCIE_TOPO_PS_NOT_RESPONDING (0x02)
+#define MPI26_EVENT_PCIE_TOPO_PS_PORT_CHANGED (0x03)
+#define MPI26_EVENT_PCIE_TOPO_PS_NO_CHANGE (0x04)
+#define MPI26_EVENT_PCIE_TOPO_PS_DELAY_NOT_RESPONDING (0x05)
+
+/* PCIe Topology Change List Event data defines for CurrentPortInfo and PreviousPortInfo */
+#define MPI26_EVENT_PCIE_TOPO_PI_LANE_MASK (0xF0)
+#define MPI26_EVENT_PCIE_TOPO_PI_LANES_UNKNOWN (0x00)
+#define MPI26_EVENT_PCIE_TOPO_PI_1_LANE (0x10)
+#define MPI26_EVENT_PCIE_TOPO_PI_2_LANES (0x20)
+#define MPI26_EVENT_PCIE_TOPO_PI_4_LANES (0x30)
+#define MPI26_EVENT_PCIE_TOPO_PI_8_LANES (0x40)
+
+#define MPI26_EVENT_PCIE_TOPO_PI_RATE_MASK (0x0F)
+#define MPI26_EVENT_PCIE_TOPO_PI_RATE_UNKNOWN (0x00)
+#define MPI26_EVENT_PCIE_TOPO_PI_RATE_DISABLED (0x01)
+#define MPI26_EVENT_PCIE_TOPO_PI_RATE_2_5 (0x02)
+#define MPI26_EVENT_PCIE_TOPO_PI_RATE_5_0 (0x03)
+#define MPI26_EVENT_PCIE_TOPO_PI_RATE_8_0 (0x04)
+#define MPI26_EVENT_PCIE_TOPO_PI_RATE_16_0 (0x05)
+
+typedef struct _MPI26_EVENT_DATA_PCIE_TOPOLOGY_CHANGE_LIST
+{
+ U16 EnclosureHandle; /* 0x00 */
+ U16 SwitchDevHandle; /* 0x02 */
+ U8 NumPorts; /* 0x04 */
+ U8 Reserved1; /* 0x05 */
+ U16 Reserved2; /* 0x06 */
+ U8 NumEntries; /* 0x08 */
+ U8 StartPortNum; /* 0x09 */
+ U8 SwitchStatus; /* 0x0A */
+ U8 PhysicalPort; /* 0x0B */
+ MPI26_EVENT_PCIE_TOPO_PORT_ENTRY PortEntry[MPI26_EVENT_PCIE_TOPO_PORT_COUNT]; /* 0x0C */
+} MPI26_EVENT_DATA_PCIE_TOPOLOGY_CHANGE_LIST,
+ MPI2_POINTER PTR_MPI26_EVENT_DATA_PCIE_TOPOLOGY_CHANGE_LIST,
+ Mpi26EventDataPCIeTopologyChangeList_t,
+ MPI2_POINTER pMpi26EventDataPCIeTopologyChangeList_t;
+
+/* PCIe Topology Change List Event data SwitchStatus values */
+#define MPI26_EVENT_PCIE_TOPO_SS_NO_PCIE_SWITCH (0x00)
+#define MPI26_EVENT_PCIE_TOPO_SS_ADDED (0x01)
+#define MPI26_EVENT_PCIE_TOPO_SS_NOT_RESPONDING (0x02)
+#define MPI26_EVENT_PCIE_TOPO_SS_RESPONDING (0x03)
+#define MPI26_EVENT_PCIE_TOPO_SS_DELAY_NOT_RESPONDING (0x04)
+
+/* PCIe Link Counter Event data (MPI v2.6 and later) */
+
+typedef struct _MPI26_EVENT_DATA_PCIE_LINK_COUNTER
+{
+ U64 TimeStamp; /* 0x00 */
+ U32 Reserved1; /* 0x08 */
+ U8 LinkEventCode; /* 0x0C */
+ U8 LinkNum; /* 0x0D */
+ U16 Reserved2; /* 0x0E */
+ U32 LinkEventInfo; /* 0x10 */
+ U8 CounterType; /* 0x14 */
+ U8 ThresholdWindow; /* 0x15 */
+ U8 TimeUnits; /* 0x16 */
+ U8 Reserved3; /* 0x17 */
+ U32 EventThreshold; /* 0x18 */
+ U16 ThresholdFlags; /* 0x1C */
+ U16 Reserved4; /* 0x1E */
+} MPI26_EVENT_DATA_PCIE_LINK_COUNTER,
+ MPI2_POINTER PTR_MPI26_EVENT_DATA_PCIE_LINK_COUNTER,
+ Mpi26EventDataPcieLinkCounter_t, MPI2_POINTER pMpi26EventDataPcieLinkCounter_t;
+
+
+/* use MPI26_PCIELINK3_EVTCODE_ values from mpi2_cnfg.h for the LinkEventCode field */
+
+/* use MPI26_PCIELINK3_COUNTER_TYPE_ values from mpi2_cnfg.h for the CounterType field */
+
+/* use MPI26_PCIELINK3_TIME_UNITS_ values from mpi2_cnfg.h for the TimeUnits field */
+
+/* use MPI26_PCIELINK3_TFLAGS_ values from mpi2_cnfg.h for the ThresholdFlags field */
+
/****************************************************************************
* EventAck message
****************************************************************************/
@@ -1293,6 +1493,13 @@ typedef struct _MPI2_FW_DOWNLOAD_REQUEST
#define MPI2_FW_DOWNLOAD_ITYPE_COMPLETE (0x0A)
#define MPI2_FW_DOWNLOAD_ITYPE_COMMON_BOOT_BLOCK (0x0B)
#define MPI2_FW_DOWNLOAD_ITYPE_PUBLIC_KEY (0x0C) /* MPI v2.5 and newer */
+#define MPI2_FW_DOWNLOAD_ITYPE_SBR (0x0E)
+#define MPI2_FW_DOWNLOAD_ITYPE_SBR_BACKUP (0x0F)
+#define MPI2_FW_DOWNLOAD_ITYPE_HIIM (0x10)
+#define MPI2_FW_DOWNLOAD_ITYPE_HIIA (0x11)
+#define MPI2_FW_DOWNLOAD_ITYPE_CTLR (0x12)
+#define MPI2_FW_DOWNLOAD_ITYPE_IMR_FIRMWARE (0x13)
+#define MPI2_FW_DOWNLOAD_ITYPE_MR_NVDATA (0x14)
#define MPI2_FW_DOWNLOAD_ITYPE_MIN_PRODUCT_SPECIFIC (0xF0)
/* MPI v2.0 FWDownload TransactionContext Element */
@@ -1386,6 +1593,13 @@ typedef struct _MPI2_FW_UPLOAD_REQUEST
#define MPI2_FW_UPLOAD_ITYPE_COMPLETE (0x0A)
#define MPI2_FW_UPLOAD_ITYPE_COMMON_BOOT_BLOCK (0x0B)
#define MPI2_FW_UPLOAD_ITYPE_CBB_BACKUP (0x0D)
+#define MPI2_FW_UPLOAD_ITYPE_SBR (0x0E)
+#define MPI2_FW_UPLOAD_ITYPE_SBR_BACKUP (0x0F)
+#define MPI2_FW_UPLOAD_ITYPE_HIIM (0x10)
+#define MPI2_FW_UPLOAD_ITYPE_HIIA (0x11)
+#define MPI2_FW_UPLOAD_ITYPE_CTLR (0x12)
+#define MPI2_FW_UPLOAD_ITYPE_IMR_FIRMWARE (0x13)
+#define MPI2_FW_UPLOAD_ITYPE_MR_NVDATA (0x14)
/* MPI v2.0 FWUpload TransactionContext Element */
typedef struct _MPI2_FW_UPLOAD_TCSGE
@@ -1509,8 +1723,10 @@ typedef struct _MPI2_FW_IMAGE_HEADER
#define MPI26_FW_HEADER_SIGNATURE0_ARC_0 (0x5A)
#define MPI26_FW_HEADER_SIGNATURE0_ARC_1 (0x00)
#define MPI26_FW_HEADER_SIGNATURE0_ARC_2 (0x01)
+#define MPI26_FW_HEADER_SIGNATURE0_ARC_3 (0x02)
#define MPI26_FW_HEADER_SIGNATURE0 (MPI26_FW_HEADER_SIGNATURE0_BASE+MPI26_FW_HEADER_SIGNATURE0_ARC_0) // legacy (0x5AEAA55A)
#define MPI26_FW_HEADER_SIGNATURE0_3516 (MPI26_FW_HEADER_SIGNATURE0_BASE+MPI26_FW_HEADER_SIGNATURE0_ARC_1)
+#define MPI26_FW_HEADER_SIGNATURE0_4008 (MPI26_FW_HEADER_SIGNATURE0_BASE+MPI26_FW_HEADER_SIGNATURE0_ARC_3)
/* Signature1 field */
#define MPI2_FW_HEADER_SIGNATURE1_OFFSET (0x08)
@@ -1665,7 +1881,13 @@ typedef struct _MPI2_FLASH_LAYOUT_DATA
#define MPI2_FLASH_REGION_COMMON_BOOT_BLOCK (0x0A)
#define MPI2_FLASH_REGION_INIT (MPI2_FLASH_REGION_COMMON_BOOT_BLOCK) /* older name */
#define MPI2_FLASH_REGION_CBB_BACKUP (0x0D)
-
+#define MPI2_FLASH_REGION_SBR (0x0E)
+#define MPI2_FLASH_REGION_SBR_BACKUP (0x0F)
+#define MPI2_FLASH_REGION_HIIM (0x10)
+#define MPI2_FLASH_REGION_HIIA (0x11)
+#define MPI2_FLASH_REGION_CTLR (0x12)
+#define MPI2_FLASH_REGION_IMR_FIRMWARE (0x13)
+#define MPI2_FLASH_REGION_MR_NVDATA (0x14)
/* ImageRevision */
#define MPI2_FLASH_LAYOUT_IMAGE_REVISION (0x00)
@@ -1960,6 +2182,8 @@ typedef struct _MPI26_IOUNIT_CONTROL_REQUEST
#define MPI26_CTRL_OP_DEV_ENABLE_PERSIST_CONNECTION (0x17)
#define MPI26_CTRL_OP_DEV_DISABLE_PERSIST_CONNECTION (0x18)
#define MPI26_CTRL_OP_DEV_CLOSE_PERSIST_CONNECTION (0x19)
+#define MPI26_CTRL_OP_ENABLE_NVME_SGL_FORMAT (0x1A)
+#define MPI26_CTRL_OP_DISABLE_NVME_SGL_FORMAT (0x1B)
#define MPI26_CTRL_OP_PRODUCT_SPECIFIC_MIN (0x80)
/* values for the PrimFlags field */
diff --git a/sys/dev/mpr/mpi/mpi2_pci.h b/sys/dev/mpr/mpi/mpi2_pci.h
new file mode 100755
index 0000000..a48433f
--- /dev/null
+++ b/sys/dev/mpr/mpi/mpi2_pci.h
@@ -0,0 +1,151 @@
+/*-
+ * Copyright (c) 2012-2015 LSI Corp.
+ * Copyright (c) 2013-2016 Avago Technologies
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the author nor the names of any co-contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD
+ *
+ * $FreeBSD$
+ */
+
+/*
+ * Copyright (c) 2000-2015 LSI Corporation.
+ * Copyright (c) 2013-2016 Avago Technologies
+ * All rights reserved.
+ *
+ *
+ * Name: mpi2_pci.h
+ * Title: MPI PCIe Attached Devices structures and definitions.
+ * Creation Date: October 9, 2012
+ *
+ * mpi2_pci.h Version: 02.00.02
+ *
+ * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
+ * prefix are for use only on MPI v2.5 products, and must not be used
+ * with MPI v2.0 products. Unless otherwise noted, names beginning with
+ * MPI2 or Mpi2 are for use with both MPI v2.0 and MPI v2.5 products.
+ *
+ * Version History
+ * ---------------
+ *
+ * Date Version Description
+ * -------- -------- ------------------------------------------------------
+ * 03-16-15 02.00.00 Initial version.
+ * 02-17-16 02.00.01 Removed AHCI support.
+ * Removed SOP support.
+ * 07-01-16 02.00.02 Added MPI26_NVME_FLAGS_FORCE_ADMIN_ERR_RESP to
+ * NVME Encapsulated Request.
+ * --------------------------------------------------------------------------
+ */
+
+#ifndef MPI2_PCI_H
+#define MPI2_PCI_H
+
+
+/*
+ * Values for the PCIe DeviceInfo field used in PCIe Device Status Change Event
+ * data and PCIe Configuration pages.
+ */
+#define MPI26_PCIE_DEVINFO_DIRECT_ATTACH (0x00000010)
+
+#define MPI26_PCIE_DEVINFO_MASK_DEVICE_TYPE (0x0000000F)
+#define MPI26_PCIE_DEVINFO_NO_DEVICE (0x00000000)
+#define MPI26_PCIE_DEVINFO_PCI_SWITCH (0x00000001)
+#define MPI26_PCIE_DEVINFO_NVME (0x00000003)
+
+
+/****************************************************************************
+* NVMe Encapsulated message
+****************************************************************************/
+
+/* NVME Encapsulated Request Message */
+typedef struct _MPI26_NVME_ENCAPSULATED_REQUEST
+{
+ U16 DevHandle; /* 0x00 */
+ U8 ChainOffset; /* 0x02 */
+ U8 Function; /* 0x03 */
+ U16 EncapsulatedCommandLength; /* 0x04 */
+ U8 Reserved1; /* 0x06 */
+ U8 MsgFlags; /* 0x07 */
+ U8 VP_ID; /* 0x08 */
+ U8 VF_ID; /* 0x09 */
+ U16 Reserved2; /* 0x0A */
+ U32 Reserved3; /* 0x0C */
+ U64 ErrorResponseBaseAddress; /* 0x10 */
+ U16 ErrorResponseAllocationLength; /* 0x18 */
+ U16 Flags; /* 0x1A */
+ U32 DataLength; /* 0x1C */
+ U8 NVMe_Command[4]; /* 0x20 */ /* variable length */
+
+} MPI26_NVME_ENCAPSULATED_REQUEST, MPI2_POINTER PTR_MPI26_NVME_ENCAPSULATED_REQUEST,
+ Mpi26NVMeEncapsulatedRequest_t, MPI2_POINTER pMpi26NVMeEncapsulatedRequest_t;
+
+/* defines for the Flags field */
+#define MPI26_NVME_FLAGS_FORCE_ADMIN_ERR_RESP (0x0020)
+/* Submission Queue Type*/
+#define MPI26_NVME_FLAGS_SUBMISSIONQ_MASK (0x0010)
+#define MPI26_NVME_FLAGS_SUBMISSIONQ_IO (0x0000)
+#define MPI26_NVME_FLAGS_SUBMISSIONQ_ADMIN (0x0010)
+/* Error Response Address Space */
+#define MPI26_NVME_FLAGS_MASK_ERROR_RSP_ADDR (0x000C)
+#define MPI26_NVME_FLAGS_SYSTEM_RSP_ADDR (0x0000)
+#define MPI26_NVME_FLAGS_IOCPLB_RSP_ADDR (0x0008)
+#define MPI26_NVME_FLAGS_IOCPLBNTA_RSP_ADDR (0x000C)
+/* Data Direction*/
+#define MPI26_NVME_FLAGS_DATADIRECTION_MASK (0x0003)
+#define MPI26_NVME_FLAGS_NODATATRANSFER (0x0000)
+#define MPI26_NVME_FLAGS_WRITE (0x0001)
+#define MPI26_NVME_FLAGS_READ (0x0002)
+#define MPI26_NVME_FLAGS_BIDIRECTIONAL (0x0003)
+
+
+/* NVMe Encapuslated Reply Message */
+typedef struct _MPI26_NVME_ENCAPSULATED_ERROR_REPLY
+{
+ U16 DevHandle; /* 0x00 */
+ U8 MsgLength; /* 0x02 */
+ U8 Function; /* 0x03 */
+ U16 EncapsulatedCommandLength; /* 0x04 */
+ U8 Reserved1; /* 0x06 */
+ U8 MsgFlags; /* 0x07 */
+ U8 VP_ID; /* 0x08 */
+ U8 VF_ID; /* 0x09 */
+ U16 Reserved2; /* 0x0A */
+ U16 Reserved3; /* 0x0C */
+ U16 IOCStatus; /* 0x0E */
+ U32 IOCLogInfo; /* 0x10 */
+ U16 ErrorResponseCount; /* 0x14 */
+ U16 Reserved4; /* 0x16 */
+} MPI26_NVME_ENCAPSULATED_ERROR_REPLY,
+ MPI2_POINTER PTR_MPI26_NVME_ENCAPSULATED_ERROR_REPLY,
+ Mpi26NVMeEncapsulatedErrorReply_t,
+ MPI2_POINTER pMpi26NVMeEncapsulatedErrorReply_t;
+
+
+#endif
+
+
diff --git a/sys/dev/mpr/mpi/mpi2_tool.h b/sys/dev/mpr/mpi/mpi2_tool.h
index fce98ae..beebc93 100644
--- a/sys/dev/mpr/mpi/mpi2_tool.h
+++ b/sys/dev/mpr/mpi/mpi2_tool.h
@@ -42,7 +42,7 @@
* Title: MPI diagnostic tool structures and definitions
* Creation Date: March 26, 2007
*
- * mpi2_tool.h Version: 02.00.13
+ * mpi2_tool.h Version: 02.00.14
*
* Version History
* ---------------
@@ -71,6 +71,8 @@
* 08-19-13 02.00.11 Added MPI2_TOOLBOX_TEXT_DISPLAY_TOOL and related info.
* 01-08-14 02.00.12 Added MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC.
* 11-18-14 02.00.13 Updated copyright information.
+ * 08-25-16 02.00.14 Added new values for the Flags field of Toolbox Clean
+ * Tool Request Message.
* --------------------------------------------------------------------------
*/
@@ -145,6 +147,16 @@ typedef struct _MPI2_TOOLBOX_CLEAN_REQUEST
#define MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC (0x04000000)
#define MPI2_TOOLBOX_CLEAN_MEGARAID (0x02000000)
#define MPI2_TOOLBOX_CLEAN_INITIALIZATION (0x01000000)
+#define MPI2_TOOLBOX_CLEAN_SBR (0x00800000)
+#define MPI2_TOOLBOX_CLEAN_SBR_BACKUP (0x00400000)
+#define MPI2_TOOLBOX_CLEAN_HIIM (0x00200000)
+#define MPI2_TOOLBOX_CLEAN_HIIA (0x00100000)
+#define MPI2_TOOLBOX_CLEAN_CTLR (0x00080000)
+#define MPI2_TOOLBOX_CLEAN_IMR_FIRMWARE (0x00040000)
+#define MPI2_TOOLBOX_CLEAN_MR_NVDATA (0x00020000)
+#define MPI2_TOOLBOX_CLEAN_RESERVED_5_16 (0x0001FFE0)
+#define MPI2_TOOLBOX_CLEAN_ALL_BUT_MPB (0x00000010)
+#define MPI2_TOOLBOX_CLEAN_ENTIRE_FLASH (0x00000008)
#define MPI2_TOOLBOX_CLEAN_FLASH (0x00000004)
#define MPI2_TOOLBOX_CLEAN_SEEPROM (0x00000002)
#define MPI2_TOOLBOX_CLEAN_NVSRAM (0x00000001)
diff --git a/sys/dev/mpr/mpr.c b/sys/dev/mpr/mpr.c
index 9e84290..405d200 100644
--- a/sys/dev/mpr/mpr.c
+++ b/sys/dev/mpr/mpr.c
@@ -63,18 +63,21 @@ __FBSDID("$FreeBSD$");
#include <dev/pci/pcivar.h>
#include <cam/cam.h>
+#include <cam/cam_ccb.h>
#include <cam/scsi/scsi_all.h>
#include <dev/mpr/mpi/mpi2_type.h>
#include <dev/mpr/mpi/mpi2.h>
#include <dev/mpr/mpi/mpi2_ioc.h>
#include <dev/mpr/mpi/mpi2_sas.h>
+#include <dev/mpr/mpi/mpi2_pci.h>
#include <dev/mpr/mpi/mpi2_cnfg.h>
#include <dev/mpr/mpi/mpi2_init.h>
#include <dev/mpr/mpi/mpi2_tool.h>
#include <dev/mpr/mpr_ioctl.h>
#include <dev/mpr/mprvar.h>
#include <dev/mpr/mpr_table.h>
+#include <dev/mpr/mpr_sas.h>
static int mpr_diag_reset(struct mpr_softc *sc, int sleep_flag);
static int mpr_init_queues(struct mpr_softc *sc);
@@ -87,6 +90,7 @@ static int mpr_send_iocinit(struct mpr_softc *sc);
static int mpr_alloc_queues(struct mpr_softc *sc);
static int mpr_alloc_replies(struct mpr_softc *sc);
static int mpr_alloc_requests(struct mpr_softc *sc);
+static int mpr_alloc_nvme_prp_pages(struct mpr_softc *sc);
static int mpr_attach_log(struct mpr_softc *sc);
static __inline void mpr_complete_command(struct mpr_softc *sc,
struct mpr_command *cm);
@@ -110,7 +114,7 @@ static char mpt2_reset_magic[] = { 0x00, 0x0f, 0x04, 0x0b, 0x02, 0x07, 0x0d };
/*
* Added this union to smoothly convert le64toh cm->cm_desc.Words.
- * Compiler only supports unint64_t to be passed as an argument.
+ * Compiler only supports uint64_t to be passed as an argument.
* Otherwise it will through this error:
* "aggregate value used where an integer was expected"
*/
@@ -120,7 +124,7 @@ typedef union _reply_descriptor {
u32 low;
u32 high;
} u;
-}reply_descriptor,address_descriptor;
+} reply_descriptor, request_descriptor;
/* Rate limit chain-fail messages to 1 per minute */
static struct timeval mpr_chainfail_interval = { 60, 0 };
@@ -311,7 +315,6 @@ mpr_transition_ready(struct mpr_softc *sc)
if (error)
device_printf(sc->mpr_dev, "Cannot transition IOC to ready\n");
-
return (error);
}
@@ -392,7 +395,8 @@ mpr_iocfacts_allocate(struct mpr_softc *sc, uint8_t attaching)
mpr_printf(sc, "IOCCapabilities: %b\n", sc->facts->IOCCapabilities,
"\20" "\3ScsiTaskFull" "\4DiagTrace" "\5SnapBuf" "\6ExtBuf"
"\7EEDP" "\10BiDirTarg" "\11Multicast" "\14TransRetry" "\15IR"
- "\16EventReplay" "\17RaidAccel" "\20MSIXIndex" "\21HostDisc");
+ "\16EventReplay" "\17RaidAccel" "\20MSIXIndex" "\21HostDisc"
+ "\22FastPath" "\23RDPQArray" "\24AtomicReqDesc" "\25PCIeSRIOV");
/*
* If the chip doesn't support event replay then a hard reset will be
@@ -480,12 +484,15 @@ mpr_iocfacts_allocate(struct mpr_softc *sc, uint8_t attaching)
enabled = TRUE;
/*
- * Set flag if EEDP is supported and if TLR is supported.
+ * Set flags for some supported items.
*/
if (sc->facts->IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_EEDP)
sc->eedp_enabled = TRUE;
if (sc->facts->IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_TLR)
sc->control_TLR = TRUE;
+ if (sc->facts->IOCCapabilities &
+ MPI26_IOCFACTS_CAPABILITY_ATOMIC_REQ)
+ sc->atomic_desc_capable = TRUE;
/*
* Size the queues. Since the reply queues always need one free
@@ -501,6 +508,7 @@ mpr_iocfacts_allocate(struct mpr_softc *sc, uint8_t attaching)
TAILQ_INIT(&sc->req_list);
TAILQ_INIT(&sc->high_priority_req_list);
TAILQ_INIT(&sc->chain_list);
+ TAILQ_INIT(&sc->prp_page_list);
TAILQ_INIT(&sc->tm_list);
}
@@ -512,7 +520,8 @@ mpr_iocfacts_allocate(struct mpr_softc *sc, uint8_t attaching)
*/
if (reallocating) {
mpr_iocfacts_free(sc);
- mprsas_realloc_targets(sc, saved_facts.MaxTargets);
+ mprsas_realloc_targets(sc, saved_facts.MaxTargets +
+ saved_facts.MaxVolumes);
}
/*
@@ -634,6 +643,14 @@ mpr_iocfacts_free(struct mpr_softc *sc)
if (sc->sense_dmat != NULL)
bus_dma_tag_destroy(sc->sense_dmat);
+ if (sc->prp_page_busaddr != 0)
+ bus_dmamap_unload(sc->prp_page_dmat, sc->prp_page_map);
+ if (sc->prp_pages != NULL)
+ bus_dmamem_free(sc->prp_page_dmat, sc->prp_pages,
+ sc->prp_page_map);
+ if (sc->prp_page_dmat != NULL)
+ bus_dma_tag_destroy(sc->prp_page_dmat);
+
if (sc->reply_busaddr != 0)
bus_dmamap_unload(sc->reply_dmat, sc->reply_map);
if (sc->reply_frames != NULL)
@@ -651,6 +668,8 @@ mpr_iocfacts_free(struct mpr_softc *sc)
if (sc->chains != NULL)
free(sc->chains, M_MPR);
+ if (sc->prps != NULL)
+ free(sc->prps, M_MPR);
if (sc->commands != NULL) {
for (i = 1; i < sc->num_reqs; i++) {
cm = &sc->commands[i];
@@ -804,7 +823,7 @@ mpr_wait_db_ack(struct mpr_softc *sc, int timeout, int sleep_flag)
count++;
} while (--cntdn);
- out:
+out:
mpr_dprint(sc, MPR_FAULT, "%s: failed due to timeout count(%d), "
"int_status(%x)!\n", __func__, count, int_status);
return (ETIMEDOUT);
@@ -959,7 +978,7 @@ mpr_request_sync(struct mpr_softc *sc, void *req, MPI2_DEFAULT_REPLY *reply,
static void
mpr_enqueue_request(struct mpr_softc *sc, struct mpr_command *cm)
{
- reply_descriptor rd;
+ request_descriptor rd;
MPR_FUNCTRACE(sc);
mpr_dprint(sc, MPR_TRACE, "SMID %u cm %p ccb %p\n",
@@ -972,14 +991,19 @@ mpr_enqueue_request(struct mpr_softc *sc, struct mpr_command *cm)
if (++sc->io_cmds_active > sc->io_cmds_highwater)
sc->io_cmds_highwater++;
- rd.u.low = cm->cm_desc.Words.Low;
- rd.u.high = cm->cm_desc.Words.High;
- rd.word = htole64(rd.word);
- /* TODO-We may need to make below regwrite atomic */
- mpr_regwrite(sc, MPI2_REQUEST_DESCRIPTOR_POST_LOW_OFFSET,
- rd.u.low);
- mpr_regwrite(sc, MPI2_REQUEST_DESCRIPTOR_POST_HIGH_OFFSET,
- rd.u.high);
+ if (sc->atomic_desc_capable) {
+ rd.u.low = cm->cm_desc.Words.Low;
+ mpr_regwrite(sc, MPI26_ATOMIC_REQUEST_DESCRIPTOR_POST_OFFSET,
+ rd.u.low);
+ } else {
+ rd.u.low = cm->cm_desc.Words.Low;
+ rd.u.high = cm->cm_desc.Words.High;
+ rd.word = htole64(rd.word);
+ mpr_regwrite(sc, MPI2_REQUEST_DESCRIPTOR_POST_LOW_OFFSET,
+ rd.u.low);
+ mpr_regwrite(sc, MPI2_REQUEST_DESCRIPTOR_POST_HIGH_OFFSET,
+ rd.u.high);
+ }
}
/*
@@ -1047,6 +1071,7 @@ mpr_send_iocinit(struct mpr_softc *sc)
time_in_msec = (now.tv_sec * 1000 + now.tv_usec/1000);
init.TimeStamp.High = htole32((time_in_msec >> 32) & 0xFFFFFFFF);
init.TimeStamp.Low = htole32(time_in_msec & 0xFFFFFFFF);
+ init.HostPageSize = HOST_PAGE_SIZE_4K;
error = mpr_request_sync(sc, &init, &reply, req_sz, reply_sz, 5);
if ((reply.IOCStatus & MPI2_IOCSTATUS_MASK) != MPI2_IOCSTATUS_SUCCESS)
@@ -1276,6 +1301,16 @@ mpr_alloc_requests(struct mpr_softc *sc)
sc->chain_free_lowwater++;
}
+ /*
+ * Allocate NVMe PRP Pages for NVMe SGL support only if the FW supports
+ * these devices.
+ */
+ if ((sc->facts->MsgVersion >= MPI2_VERSION_02_06) &&
+ (sc->facts->ProtocolFlags & MPI2_IOCFACTS_PROTOCOL_NVME_DEVICES)) {
+ if (mpr_alloc_nvme_prp_pages(sc) == ENOMEM)
+ return (ENOMEM);
+ }
+
/* XXX Need to pick a more precise value */
nsegs = (MAXPHYS / PAGE_SIZE) + 1;
if (bus_dma_tag_create( sc->mpr_parent_dmat, /* parent */
@@ -1316,15 +1351,17 @@ mpr_alloc_requests(struct mpr_softc *sc)
cm->cm_desc.Default.SMID = i;
cm->cm_sc = sc;
TAILQ_INIT(&cm->cm_chain_list);
+ TAILQ_INIT(&cm->cm_prp_page_list);
callout_init_mtx(&cm->cm_callout, &sc->mpr_mtx, 0);
/* XXX Is a failure here a critical problem? */
- if (bus_dmamap_create(sc->buffer_dmat, 0, &cm->cm_dmamap) == 0)
+ if (bus_dmamap_create(sc->buffer_dmat, 0, &cm->cm_dmamap)
+ == 0) {
if (i <= sc->facts->HighPriorityCredit)
mpr_free_high_priority_command(sc, cm);
else
mpr_free_command(sc, cm);
- else {
+ } else {
panic("failed to allocate command %d\n", i);
sc->num_reqs = i;
break;
@@ -1334,6 +1371,86 @@ mpr_alloc_requests(struct mpr_softc *sc)
return (0);
}
+/*
+ * Allocate contiguous buffers for PCIe NVMe devices for building native PRPs,
+ * which are scatter/gather lists for NVMe devices.
+ *
+ * This buffer must be contiguous due to the nature of how NVMe PRPs are built
+ * and translated by FW.
+ *
+ * returns ENOMEM if memory could not be allocated, otherwise returns 0.
+ */
+static int
+mpr_alloc_nvme_prp_pages(struct mpr_softc *sc)
+{
+ int PRPs_per_page, PRPs_required, pages_required;
+ int rsize, i;
+ struct mpr_prp_page *prp_page;
+
+ /*
+ * Assuming a MAX_IO_SIZE of 1MB and a PAGE_SIZE of 4k, the max number
+ * of PRPs (NVMe's Scatter/Gather Element) needed per I/O is:
+ * MAX_IO_SIZE / PAGE_SIZE = 256
+ *
+ * 1 PRP entry in main frame for PRP list pointer still leaves 255 PRPs
+ * required for the remainder of the 1MB I/O. 512 PRPs can fit into one
+ * page (4096 / 8 = 512), so only one page is required for each I/O.
+ *
+ * Each of these buffers will need to be contiguous. For simplicity,
+ * only one buffer is allocated here, which has all of the space
+ * required for the NVMe Queue Depth. If there are problems allocating
+ * this one buffer, this function will need to change to allocate
+ * individual, contiguous NVME_QDEPTH buffers.
+ *
+ * The real calculation will use the real max io size. Above is just an
+ * example.
+ *
+ */
+ PRPs_required = sc->maxio / PAGE_SIZE;
+ PRPs_per_page = (PAGE_SIZE / PRP_ENTRY_SIZE) - 1;
+ pages_required = (PRPs_required / PRPs_per_page) + 1;
+
+ sc->prp_buffer_size = PAGE_SIZE * pages_required;
+ rsize = sc->prp_buffer_size * NVME_QDEPTH;
+ if (bus_dma_tag_create( sc->mpr_parent_dmat, /* parent */
+ 4, 0, /* algnmnt, boundary */
+ BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
+ BUS_SPACE_MAXADDR, /* highaddr */
+ NULL, NULL, /* filter, filterarg */
+ rsize, /* maxsize */
+ 1, /* nsegments */
+ rsize, /* maxsegsize */
+ 0, /* flags */
+ NULL, NULL, /* lockfunc, lockarg */
+ &sc->prp_page_dmat)) {
+ device_printf(sc->mpr_dev, "Cannot allocate NVMe PRP DMA "
+ "tag\n");
+ return (ENOMEM);
+ }
+ if (bus_dmamem_alloc(sc->prp_page_dmat, (void **)&sc->prp_pages,
+ BUS_DMA_NOWAIT, &sc->prp_page_map)) {
+ device_printf(sc->mpr_dev, "Cannot allocate NVMe PRP memory\n");
+ return (ENOMEM);
+ }
+ bzero(sc->prp_pages, rsize);
+ bus_dmamap_load(sc->prp_page_dmat, sc->prp_page_map, sc->prp_pages,
+ rsize, mpr_memaddr_cb, &sc->prp_page_busaddr, 0);
+
+ sc->prps = malloc(sizeof(struct mpr_prp_page) * NVME_QDEPTH, M_MPR,
+ M_WAITOK | M_ZERO);
+ for (i = 0; i < NVME_QDEPTH; i++) {
+ prp_page = &sc->prps[i];
+ prp_page->prp_page = (uint64_t *)(sc->prp_pages +
+ i * sc->prp_buffer_size);
+ prp_page->prp_page_busaddr = (uint64_t)(sc->prp_page_busaddr +
+ i * sc->prp_buffer_size);
+ mpr_free_prp_page(sc, prp_page);
+ sc->prp_pages_free_lowwater++;
+ }
+
+ return (0);
+}
+
static int
mpr_init_queues(struct mpr_softc *sc)
{
@@ -1352,8 +1469,10 @@ mpr_init_queues(struct mpr_softc *sc)
/*
* Initialize all of the free queue entries.
*/
- for (i = 0; i < sc->fqdepth; i++)
- sc->free_queue[i] = sc->reply_busaddr + (i * sc->facts->ReplyFrameSize * 4);
+ for (i = 0; i < sc->fqdepth; i++) {
+ sc->free_queue[i] = sc->reply_busaddr +
+ (i * sc->facts->ReplyFrameSize * 4);
+ }
sc->replyfreeindex = sc->num_replies;
return (0);
@@ -1376,6 +1495,7 @@ mpr_get_tunables(struct mpr_softc *sc)
sc->max_io_pages = MPR_MAXIO_PAGES;
sc->enable_ssu = MPR_SSU_ENABLE_SSD_DISABLE_HDD;
sc->spinup_wait_time = DEFAULT_SPINUP_WAIT;
+ sc->use_phynum = 1;
/*
* Grab the global variables.
@@ -1387,6 +1507,7 @@ mpr_get_tunables(struct mpr_softc *sc)
TUNABLE_INT_FETCH("hw.mpr.max_io_pages", &sc->max_io_pages);
TUNABLE_INT_FETCH("hw.mpr.enable_ssu", &sc->enable_ssu);
TUNABLE_INT_FETCH("hw.mpr.spinup_wait_time", &sc->spinup_wait_time);
+ TUNABLE_INT_FETCH("hw.mpr.use_phy_num", &sc->use_phynum);
/* Grab the unit-instance variables */
snprintf(tmpstr, sizeof(tmpstr), "dev.mpr.%d.debug_level",
@@ -1421,6 +1542,10 @@ mpr_get_tunables(struct mpr_softc *sc)
snprintf(tmpstr, sizeof(tmpstr), "dev.mpr.%d.spinup_wait_time",
device_get_unit(sc->mpr_dev));
TUNABLE_INT_FETCH(tmpstr, &sc->spinup_wait_time);
+
+ snprintf(tmpstr, sizeof(tmpstr), "dev.mpr.%d.use_phy_num",
+ device_get_unit(sc->mpr_dev));
+ TUNABLE_INT_FETCH(tmpstr, &sc->use_phynum);
}
static void
@@ -1510,6 +1635,22 @@ mpr_setup_sysctl(struct mpr_softc *sc)
OID_AUTO, "spinup_wait_time", CTLFLAG_RD,
&sc->spinup_wait_time, DEFAULT_SPINUP_WAIT, "seconds to wait for "
"spinup after SATA ID error");
+
+ SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
+ OID_AUTO, "use_phy_num", CTLFLAG_RD, &sc->use_phynum, 0,
+ "Use the phy number for enumeration");
+
+ SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
+ OID_AUTO, "prp_pages_free", CTLFLAG_RD,
+ &sc->prp_pages_free, 0, "number of free PRP pages");
+
+ SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
+ OID_AUTO, "prp_pages_free_lowwater", CTLFLAG_RD,
+ &sc->prp_pages_free_lowwater, 0,"lowest number of free PRP pages");
+
+ SYSCTL_ADD_UQUAD(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
+ OID_AUTO, "prp_page_alloc_fail", CTLFLAG_RD,
+ &sc->prp_page_alloc_fail, "PRP page allocation failures");
}
int
@@ -1523,6 +1664,7 @@ mpr_attach(struct mpr_softc *sc)
mtx_init(&sc->mpr_mtx, "MPR lock", NULL, MTX_DEF);
callout_init_mtx(&sc->periodic, &sc->mpr_mtx, 0);
+ callout_init_mtx(&sc->device_check_callout, &sc->mpr_mtx, 0);
TAILQ_INIT(&sc->event_list);
timevalclear(&sc->lastfail);
@@ -1692,6 +1834,7 @@ mpr_free(struct mpr_softc *sc)
mpr_unlock(sc);
/* Lock must not be held for this */
callout_drain(&sc->periodic);
+ callout_drain(&sc->device_check_callout);
if (((error = mpr_detach_log(sc)) != 0) ||
((error = mpr_detach_sas(sc)) != 0))
@@ -1902,6 +2045,7 @@ mpr_intr_locked(void *data)
switch (flags) {
case MPI2_RPY_DESCRIPT_FLAGS_SCSI_IO_SUCCESS:
case MPI25_RPY_DESCRIPT_FLAGS_FAST_PATH_SCSI_IO_SUCCESS:
+ case MPI26_RPY_DESCRIPT_FLAGS_PCIE_ENCAPSULATED_SUCCESS:
cm = &sc->commands[le16toh(desc->SCSIIOSuccess.SMID)];
cm->cm_reply = NULL;
break;
@@ -2190,6 +2334,519 @@ mpr_deregister_events(struct mpr_softc *sc, struct mpr_event_handle *handle)
return (mpr_update_events(sc, NULL, NULL));
}
+/**
+* mpr_build_nvme_prp - This function is called for NVMe end devices to build a
+* native SGL (NVMe PRP). The native SGL is built starting in the first PRP entry
+* of the NVMe message (PRP1). If the data buffer is small enough to be described
+* entirely using PRP1, then PRP2 is not used. If needed, PRP2 is used to
+* describe a larger data buffer. If the data buffer is too large to describe
+* using the two PRP entriess inside the NVMe message, then PRP1 describes the
+* first data memory segment, and PRP2 contains a pointer to a PRP list located
+* elsewhere in memory to describe the remaining data memory segments. The PRP
+* list will be contiguous.
+
+* The native SGL for NVMe devices is a Physical Region Page (PRP). A PRP
+* consists of a list of PRP entries to describe a number of noncontigous
+* physical memory segments as a single memory buffer, just as a SGL does. Note
+* however, that this function is only used by the IOCTL call, so the memory
+* given will be guaranteed to be contiguous. There is no need to translate
+* non-contiguous SGL into a PRP in this case. All PRPs will describe contiguous
+* space that is one page size each.
+*
+* Each NVMe message contains two PRP entries. The first (PRP1) either contains
+* a PRP list pointer or a PRP element, depending upon the command. PRP2 contains
+* the second PRP element if the memory being described fits within 2 PRP
+* entries, or a PRP list pointer if the PRP spans more than two entries.
+*
+* A PRP list pointer contains the address of a PRP list, structured as a linear
+* array of PRP entries. Each PRP entry in this list describes a segment of
+* physical memory.
+*
+* Each 64-bit PRP entry comprises an address and an offset field. The address
+* always points to the beginning of a PAGE_SIZE physical memory page, and the
+* offset describes where within that page the memory segment begins. Only the
+* first element in a PRP list may contain a non-zero offest, implying that all
+* memory segments following the first begin at the start of a PAGE_SIZE page.
+*
+* Each PRP element normally describes a chunck of PAGE_SIZE physical memory,
+* with exceptions for the first and last elements in the list. If the memory
+* being described by the list begins at a non-zero offset within the first page,
+* then the first PRP element will contain a non-zero offset indicating where the
+* region begins within the page. The last memory segment may end before the end
+* of the PAGE_SIZE segment, depending upon the overall size of the memory being
+* described by the PRP list.
+*
+* Since PRP entries lack any indication of size, the overall data buffer length
+* is used to determine where the end of the data memory buffer is located, and
+* how many PRP entries are required to describe it.
+*
+* Returns nothing.
+*/
+void
+mpr_build_nvme_prp(struct mpr_softc *sc, struct mpr_command *cm,
+ Mpi26NVMeEncapsulatedRequest_t *nvme_encap_request, void *data,
+ uint32_t data_in_sz, uint32_t data_out_sz)
+{
+ int prp_size = PRP_ENTRY_SIZE;
+ uint64_t *prp_entry, *prp1_entry, *prp2_entry;
+ uint64_t *prp_entry_phys, *prp_page, *prp_page_phys;
+ uint32_t offset, entry_len, page_mask_result, page_mask;
+ bus_addr_t paddr;
+ size_t length;
+ struct mpr_prp_page *prp_page_info = NULL;
+
+ /*
+ * Not all commands require a data transfer. If no data, just return
+ * without constructing any PRP.
+ */
+ if (!data_in_sz && !data_out_sz)
+ return;
+
+ /*
+ * Set pointers to PRP1 and PRP2, which are in the NVMe command. PRP1 is
+ * located at a 24 byte offset from the start of the NVMe command. Then
+ * set the current PRP entry pointer to PRP1.
+ */
+ prp1_entry = (uint64_t *)(nvme_encap_request->NVMe_Command +
+ NVME_CMD_PRP1_OFFSET);
+ prp2_entry = (uint64_t *)(nvme_encap_request->NVMe_Command +
+ NVME_CMD_PRP2_OFFSET);
+ prp_entry = prp1_entry;
+
+ /*
+ * For the PRP entries, use the specially allocated buffer of
+ * contiguous memory. PRP Page allocation failures should not happen
+ * because there should be enough PRP page buffers to account for the
+ * possible NVMe QDepth.
+ */
+ prp_page_info = mpr_alloc_prp_page(sc);
+ KASSERT(prp_page_info != NULL, ("%s: There are no PRP Pages left to be "
+ "used for building a native NVMe SGL.\n", __func__));
+ prp_page = (uint64_t *)prp_page_info->prp_page;
+ prp_page_phys = (uint64_t *)(uintptr_t)prp_page_info->prp_page_busaddr;
+
+ /*
+ * Insert the allocated PRP page into the command's PRP page list. This
+ * will be freed when the command is freed.
+ */
+ TAILQ_INSERT_TAIL(&cm->cm_prp_page_list, prp_page_info, prp_page_link);
+
+ /*
+ * Check if we are within 1 entry of a page boundary we don't want our
+ * first entry to be a PRP List entry.
+ */
+ page_mask = PAGE_SIZE - 1;
+ page_mask_result = (uintptr_t)((uint8_t *)prp_page + prp_size) &
+ page_mask;
+ if (!page_mask_result)
+ {
+ /* Bump up to next page boundary. */
+ prp_page = (uint64_t *)((uint8_t *)prp_page + prp_size);
+ prp_page_phys = (uint64_t *)((uint8_t *)prp_page_phys +
+ prp_size);
+ }
+
+ /*
+ * Set PRP physical pointer, which initially points to the current PRP
+ * DMA memory page.
+ */
+ prp_entry_phys = prp_page_phys;
+
+ /* Get physical address and length of the data buffer. */
+ paddr = (bus_addr_t)data;
+ if (data_in_sz)
+ length = data_in_sz;
+ else
+ length = data_out_sz;
+
+ /* Loop while the length is not zero. */
+ while (length)
+ {
+ /*
+ * Check if we need to put a list pointer here if we are at page
+ * boundary - prp_size (8 bytes).
+ */
+ page_mask_result = (uintptr_t)((uint8_t *)prp_entry_phys +
+ prp_size) & page_mask;
+ if (!page_mask_result)
+ {
+ /*
+ * This is the last entry in a PRP List, so we need to
+ * put a PRP list pointer here. What this does is:
+ * - bump the current memory pointer to the next
+ * address, which will be the next full page.
+ * - set the PRP Entry to point to that page. This is
+ * now the PRP List pointer.
+ * - bump the PRP Entry pointer the start of the next
+ * page. Since all of this PRP memory is contiguous,
+ * no need to get a new page - it's just the next
+ * address.
+ */
+ prp_entry_phys++;
+ *prp_entry =
+ htole64((uint64_t)(uintptr_t)prp_entry_phys);
+ prp_entry++;
+ }
+
+ /* Need to handle if entry will be part of a page. */
+ offset = (uint32_t)paddr & page_mask;
+ entry_len = PAGE_SIZE - offset;
+
+ if (prp_entry == prp1_entry)
+ {
+ /*
+ * Must fill in the first PRP pointer (PRP1) before
+ * moving on.
+ */
+ *prp1_entry = htole64((uint64_t)paddr);
+
+ /*
+ * Now point to the second PRP entry within the
+ * command (PRP2).
+ */
+ prp_entry = prp2_entry;
+ }
+ else if (prp_entry == prp2_entry)
+ {
+ /*
+ * Should the PRP2 entry be a PRP List pointer or just a
+ * regular PRP pointer? If there is more than one more
+ * page of data, must use a PRP List pointer.
+ */
+ if (length > PAGE_SIZE)
+ {
+ /*
+ * PRP2 will contain a PRP List pointer because
+ * more PRP's are needed with this command. The
+ * list will start at the beginning of the
+ * contiguous buffer.
+ */
+ *prp2_entry =
+ htole64(
+ (uint64_t)(uintptr_t)prp_entry_phys);
+
+ /*
+ * The next PRP Entry will be the start of the
+ * first PRP List.
+ */
+ prp_entry = prp_page;
+ }
+ else
+ {
+ /*
+ * After this, the PRP Entries are complete.
+ * This command uses 2 PRP's and no PRP list.
+ */
+ *prp2_entry = htole64((uint64_t)paddr);
+ }
+ }
+ else
+ {
+ /*
+ * Put entry in list and bump the addresses.
+ *
+ * After PRP1 and PRP2 are filled in, this will fill in
+ * all remaining PRP entries in a PRP List, one per each
+ * time through the loop.
+ */
+ *prp_entry = htole64((uint64_t)paddr);
+ prp_entry++;
+ prp_entry_phys++;
+ }
+
+ /*
+ * Bump the phys address of the command's data buffer by the
+ * entry_len.
+ */
+ paddr += entry_len;
+
+ /* Decrement length accounting for last partial page. */
+ if (entry_len > length)
+ length = 0;
+ else
+ length -= entry_len;
+ }
+}
+
+/*
+ * mpr_check_pcie_native_sgl - This function is called for PCIe end devices to
+ * determine if the driver needs to build a native SGL. If so, that native SGL
+ * is built in the contiguous buffers allocated especially for PCIe SGL
+ * creation. If the driver will not build a native SGL, return TRUE and a
+ * normal IEEE SGL will be built. Currently this routine supports NVMe devices
+ * only.
+ *
+ * Returns FALSE (0) if native SGL was built, TRUE (1) if no SGL was built.
+ */
+static int
+mpr_check_pcie_native_sgl(struct mpr_softc *sc, struct mpr_command *cm,
+ bus_dma_segment_t *segs, int segs_left)
+{
+ uint32_t i, sge_dwords, length, offset, entry_len;
+ uint32_t num_entries, buff_len = 0, sges_in_segment;
+ uint32_t page_mask, page_mask_result, *curr_buff;
+ uint32_t *ptr_sgl, *ptr_first_sgl, first_page_offset;
+ uint32_t first_page_data_size, end_residual;
+ uint64_t *msg_phys;
+ bus_addr_t paddr;
+ int build_native_sgl = 0, first_prp_entry;
+ int prp_size = PRP_ENTRY_SIZE;
+ Mpi25IeeeSgeChain64_t *main_chain_element = NULL;
+ struct mpr_prp_page *prp_page_info = NULL;
+
+ mpr_dprint(sc, MPR_TRACE, "%s\n", __func__);
+
+ /*
+ * Add up the sizes of each segment length to get the total transfer
+ * size, which will be checked against the Maximum Data Transfer Size.
+ * If the data transfer length exceeds the MDTS for this device, just
+ * return 1 so a normal IEEE SGL will be built. F/W will break the I/O
+ * up into multiple I/O's. [nvme_mdts = 0 means unlimited]
+ */
+ for (i = 0; i < segs_left; i++)
+ buff_len += htole32(segs[i].ds_len);
+ if ((cm->cm_targ->MDTS > 0) && (buff_len > cm->cm_targ->MDTS))
+ return 1;
+
+ /* Create page_mask (to get offset within page) */
+ page_mask = PAGE_SIZE - 1;
+
+ /*
+ * Check if the number of elements exceeds the max number that can be
+ * put in the main message frame (H/W can only translate an SGL that
+ * is contained entirely in the main message frame).
+ */
+ sges_in_segment = (sc->facts->IOCRequestFrameSize -
+ offsetof(Mpi25SCSIIORequest_t, SGL)) / sizeof(MPI25_SGE_IO_UNION);
+ if (segs_left > sges_in_segment)
+ build_native_sgl = 1;
+ else
+ {
+ /*
+ * NVMe uses one PRP for each physical page (or part of physical
+ * page).
+ * if 4 pages or less then IEEE is OK
+ * if > 5 pages then we need to build a native SGL
+ * if > 4 and <= 5 pages, then check the physical address of
+ * the first SG entry, then if this first size in the page
+ * is >= the residual beyond 4 pages then use IEEE,
+ * otherwise use native SGL
+ */
+ if (buff_len > (PAGE_SIZE * 5))
+ build_native_sgl = 1;
+ else if ((buff_len > (PAGE_SIZE * 4)) &&
+ (buff_len <= (PAGE_SIZE * 5)) )
+ {
+ msg_phys = (uint64_t *)segs[0].ds_addr;
+ first_page_offset =
+ ((uint32_t)(uint64_t)(uintptr_t)msg_phys &
+ page_mask);
+ first_page_data_size = PAGE_SIZE - first_page_offset;
+ end_residual = buff_len % PAGE_SIZE;
+
+ /*
+ * If offset into first page pushes the end of the data
+ * beyond end of the 5th page, we need the extra PRP
+ * list.
+ */
+ if (first_page_data_size < end_residual)
+ build_native_sgl = 1;
+
+ /*
+ * Check if first SG entry size is < residual beyond 4
+ * pages.
+ */
+ if (htole32(segs[0].ds_len) <
+ (buff_len - (PAGE_SIZE * 4)))
+ build_native_sgl = 1;
+ }
+ }
+
+ /* check if native SGL is needed */
+ if (!build_native_sgl)
+ return 1;
+
+ /*
+ * Native SGL is needed.
+ * Put a chain element in main message frame that points to the first
+ * chain buffer.
+ *
+ * NOTE: The ChainOffset field must be 0 when using a chain pointer to
+ * a native SGL.
+ */
+
+ /* Set main message chain element pointer */
+ main_chain_element = (pMpi25IeeeSgeChain64_t)cm->cm_sge;
+
+ /*
+ * For NVMe the chain element needs to be the 2nd SGL entry in the main
+ * message.
+ */
+ main_chain_element = (Mpi25IeeeSgeChain64_t *)
+ ((uint8_t *)main_chain_element + sizeof(MPI25_IEEE_SGE_CHAIN64));
+
+ /*
+ * For the PRP entries, use the specially allocated buffer of
+ * contiguous memory. PRP Page allocation failures should not happen
+ * because there should be enough PRP page buffers to account for the
+ * possible NVMe QDepth.
+ */
+ prp_page_info = mpr_alloc_prp_page(sc);
+ KASSERT(prp_page_info != NULL, ("%s: There are no PRP Pages left to be "
+ "used for building a native NVMe SGL.\n", __func__));
+ curr_buff = (uint32_t *)prp_page_info->prp_page;
+ msg_phys = (uint64_t *)(uintptr_t)prp_page_info->prp_page_busaddr;
+
+ /*
+ * Insert the allocated PRP page into the command's PRP page list. This
+ * will be freed when the command is freed.
+ */
+ TAILQ_INSERT_TAIL(&cm->cm_prp_page_list, prp_page_info, prp_page_link);
+
+ /*
+ * Check if we are within 1 entry of a page boundary we don't want our
+ * first entry to be a PRP List entry.
+ */
+ page_mask_result = (uintptr_t)((uint8_t *)curr_buff + prp_size) &
+ page_mask;
+ if (!page_mask_result) {
+ /* Bump up to next page boundary. */
+ curr_buff = (uint32_t *)((uint8_t *)curr_buff + prp_size);
+ msg_phys = (uint64_t *)((uint8_t *)msg_phys + prp_size);
+ }
+
+ /* Fill in the chain element and make it an NVMe segment type. */
+ main_chain_element->Address.High =
+ htole32((uint32_t)((uint64_t)(uintptr_t)msg_phys >> 32));
+ main_chain_element->Address.Low =
+ htole32((uint32_t)(uintptr_t)msg_phys);
+ main_chain_element->NextChainOffset = 0;
+ main_chain_element->Flags = MPI2_IEEE_SGE_FLAGS_CHAIN_ELEMENT |
+ MPI2_IEEE_SGE_FLAGS_SYSTEM_ADDR |
+ MPI26_IEEE_SGE_FLAGS_NSF_NVME_PRP;
+
+ /* Set SGL pointer to start of contiguous PCIe buffer. */
+ ptr_sgl = curr_buff;
+ sge_dwords = 2;
+ num_entries = 0;
+
+ /*
+ * NVMe has a very convoluted PRP format. One PRP is required for each
+ * page or partial page. We need to split up OS SG entries if they are
+ * longer than one page or cross a page boundary. We also have to insert
+ * a PRP list pointer entry as the last entry in each physical page of
+ * the PRP list.
+ *
+ * NOTE: The first PRP "entry" is actually placed in the first SGL entry
+ * in the main message in IEEE 64 format. The 2nd entry in the main
+ * message is the chain element, and the rest of the PRP entries are
+ * built in the contiguous PCIe buffer.
+ */
+ first_prp_entry = 1;
+ ptr_first_sgl = (uint32_t *)cm->cm_sge;
+
+ for (i = 0; i < segs_left; i++) {
+ /* Get physical address and length of this SG entry. */
+ paddr = segs[i].ds_addr;
+ length = segs[i].ds_len;
+
+ /*
+ * Check whether a given SGE buffer lies on a non-PAGED
+ * boundary if this is not the first page. If so, this is not
+ * expected so have FW build the SGL.
+ */
+ if (i) {
+ if ((uint32_t)paddr & page_mask) {
+ mpr_dprint(sc, MPR_ERROR, "Unaligned SGE while "
+ "building NVMe PRPs, low address is 0x%x\n",
+ (uint32_t)paddr);
+ return 1;
+ }
+ }
+
+ /* Apart from last SGE, if any other SGE boundary is not page
+ * aligned then it means that hole exists. Existence of hole
+ * leads to data corruption. So fallback to IEEE SGEs.
+ */
+ if (i != (segs_left - 1)) {
+ if (((uint32_t)paddr + length) & page_mask) {
+ mpr_dprint(sc, MPR_ERROR, "Unaligned SGE "
+ "boundary while building NVMe PRPs, low "
+ "address: 0x%x and length: %u\n",
+ (uint32_t)paddr, length);
+ return 1;
+ }
+ }
+
+ /* Loop while the length is not zero. */
+ while (length) {
+ /*
+ * Check if we need to put a list pointer here if we are
+ * at page boundary - prp_size.
+ */
+ page_mask_result = (uintptr_t)((uint8_t *)ptr_sgl +
+ prp_size) & page_mask;
+ if (!page_mask_result) {
+ /*
+ * Need to put a PRP list pointer here.
+ */
+ msg_phys = (uint64_t *)((uint8_t *)msg_phys +
+ prp_size);
+ *ptr_sgl = htole32((uintptr_t)msg_phys);
+ *(ptr_sgl+1) = htole32((uint64_t)(uintptr_t)
+ msg_phys >> 32);
+ ptr_sgl += sge_dwords;
+ num_entries++;
+ }
+
+ /* Need to handle if entry will be part of a page. */
+ offset = (uint32_t)paddr & page_mask;
+ entry_len = PAGE_SIZE - offset;
+ if (first_prp_entry) {
+ /*
+ * Put IEEE entry in first SGE in main message.
+ * (Simple element, System addr, not end of
+ * list.)
+ */
+ *ptr_first_sgl = htole32((uint32_t)paddr);
+ *(ptr_first_sgl + 1) =
+ htole32((uint32_t)((uint64_t)paddr >> 32));
+ *(ptr_first_sgl + 2) = htole32(entry_len);
+ *(ptr_first_sgl + 3) = 0;
+
+ /* No longer the first PRP entry. */
+ first_prp_entry = 0;
+ } else {
+ /* Put entry in list. */
+ *ptr_sgl = htole32((uint32_t)paddr);
+ *(ptr_sgl + 1) =
+ htole32((uint32_t)((uint64_t)paddr >> 32));
+
+ /* Bump ptr_sgl, msg_phys, and num_entries. */
+ ptr_sgl += sge_dwords;
+ msg_phys = (uint64_t *)((uint8_t *)msg_phys +
+ prp_size);
+ num_entries++;
+ }
+
+ /* Bump the phys address by the entry_len. */
+ paddr += entry_len;
+
+ /* Decrement length accounting for last partial page. */
+ if (entry_len > length)
+ length = 0;
+ else
+ length -= entry_len;
+ }
+ }
+
+ /* Set chain element Length. */
+ main_chain_element->Length = htole32(num_entries * prp_size);
+
+ /* Return 0, indicating we built a native SGL. */
+ return 0;
+}
+
/*
* Add a chain element as the next SGE for the specified command.
* Reset cm_sge and cm_sgesize to indicate all the available space. Chains are
@@ -2530,6 +3187,13 @@ mpr_data_cb(void *arg, bus_dma_segment_t *segs, int nsegs, int error)
} else
dir = BUS_DMASYNC_PREREAD;
+ /* Check if a native SG list is needed for an NVMe PCIe device. */
+ if (cm->cm_targ && cm->cm_targ->is_nvme &&
+ mpr_check_pcie_native_sgl(sc, cm, segs, nsegs) == 0) {
+ /* A native SG list was built, skip to end. */
+ goto out;
+ }
+
for (i = 0; i < nsegs; i++) {
if ((cm->cm_flags & MPR_CM_FLAGS_SMP_PASS) && (i != 0)) {
sflags &= ~MPI2_SGE_FLAGS_DIRECTION;
@@ -2547,6 +3211,7 @@ mpr_data_cb(void *arg, bus_dma_segment_t *segs, int nsegs, int error)
}
}
+out:
bus_dmamap_sync(sc->buffer_dmat, cm->cm_dmamap, dir);
mpr_enqueue_request(sc, cm);
diff --git a/sys/dev/mpr/mpr_config.c b/sys/dev/mpr/mpr_config.c
index 0ba44ea..1ae0700 100644
--- a/sys/dev/mpr/mpr_config.c
+++ b/sys/dev/mpr/mpr_config.c
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
#include <dev/mpr/mpi/mpi2.h>
#include <dev/mpr/mpi/mpi2_ioc.h>
#include <dev/mpr/mpi/mpi2_sas.h>
+#include <dev/mpr/mpi/mpi2_pci.h>
#include <dev/mpr/mpi/mpi2_cnfg.h>
#include <dev/mpr/mpi/mpi2_init.h>
#include <dev/mpr/mpi/mpi2_tool.h>
@@ -91,7 +92,7 @@ mpr_config_get_ioc_pg8(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
request->Header.PageType = MPI2_CONFIG_PAGETYPE_IOC;
request->Header.PageNumber = 8;
- request->Header.PageVersion = MPI2_IOCPAGE8_PAGEVERSION;
+ request->Header.PageLength = request->Header.PageVersion = 0;
cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
cm->cm_data = NULL;
error = mpr_wait_command(sc, cm, 60, CAN_SLEEP);
@@ -137,7 +138,7 @@ mpr_config_get_ioc_pg8(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Action = MPI2_CONFIG_ACTION_PAGE_READ_CURRENT;
request->Header.PageType = MPI2_CONFIG_PAGETYPE_IOC;
request->Header.PageNumber = 8;
- request->Header.PageVersion = MPI2_IOCPAGE8_PAGEVERSION;
+ request->Header.PageVersion = mpi_reply->Header.PageVersion;
request->Header.PageLength = mpi_reply->Header.PageLength;
cm->cm_length = le16toh(mpi_reply->Header.PageLength) * 4;
cm->cm_sge = &request->PageBufferSGE;
@@ -221,7 +222,7 @@ mpr_config_get_iounit_pg8(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
request->Header.PageType = MPI2_CONFIG_PAGETYPE_IO_UNIT;
request->Header.PageNumber = 8;
- request->Header.PageVersion = MPI2_IOUNITPAGE8_PAGEVERSION;
+ request->Header.PageLength = request->Header.PageVersion = 0;
cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
cm->cm_data = NULL;
error = mpr_wait_command(sc, cm, 60, CAN_SLEEP);
@@ -267,7 +268,7 @@ mpr_config_get_iounit_pg8(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Action = MPI2_CONFIG_ACTION_PAGE_READ_CURRENT;
request->Header.PageType = MPI2_CONFIG_PAGETYPE_IO_UNIT;
request->Header.PageNumber = 8;
- request->Header.PageVersion = MPI2_IOUNITPAGE8_PAGEVERSION;
+ request->Header.PageVersion = mpi_reply->Header.PageVersion;
request->Header.PageLength = mpi_reply->Header.PageLength;
cm->cm_length = le16toh(mpi_reply->Header.PageLength) * 4;
cm->cm_sge = &request->PageBufferSGE;
@@ -387,7 +388,7 @@ mpr_config_get_dpm_pg0(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
request->ExtPageType = MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING;
request->Header.PageNumber = 0;
- request->Header.PageVersion = MPI2_DRIVERMAPPING0_PAGEVERSION;
+ request->ExtPageLength = request->Header.PageVersion = 0;
request->PageAddress = sc->max_dpm_entries <<
MPI2_DPM_PGAD_ENTRY_COUNT_SHIFT;
cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
@@ -436,7 +437,7 @@ mpr_config_get_dpm_pg0(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
request->ExtPageType = MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING;
request->Header.PageNumber = 0;
- request->Header.PageVersion = MPI2_DRIVERMAPPING0_PAGEVERSION;
+ request->Header.PageVersion = mpi_reply->Header.PageVersion;
request->PageAddress = sc->max_dpm_entries <<
MPI2_DPM_PGAD_ENTRY_COUNT_SHIFT;
request->ExtPageLength = mpi_reply->ExtPageLength;
@@ -522,7 +523,7 @@ int mpr_config_set_dpm_pg0(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
request->ExtPageType = MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING;
request->Header.PageNumber = 0;
- request->Header.PageVersion = MPI2_DRIVERMAPPING0_PAGEVERSION;
+ request->ExtPageLength = request->Header.PageVersion = 0;
/* We can remove below two lines ????*/
request->PageAddress = 1 << MPI2_DPM_PGAD_ENTRY_COUNT_SHIFT;
request->PageAddress |= htole16(entry_idx);
@@ -572,7 +573,7 @@ int mpr_config_set_dpm_pg0(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
request->ExtPageType = MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING;
request->Header.PageNumber = 0;
- request->Header.PageVersion = MPI2_DRIVERMAPPING0_PAGEVERSION;
+ request->Header.PageVersion = mpi_reply->Header.PageVersion;
request->ExtPageLength = mpi_reply->ExtPageLength;
request->PageAddress = 1 << MPI2_DPM_PGAD_ENTRY_COUNT_SHIFT;
request->PageAddress |= htole16(entry_idx);
@@ -660,7 +661,7 @@ mpr_config_get_sas_device_pg0(struct mpr_softc *sc, Mpi2ConfigReply_t
request->Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
request->ExtPageType = MPI2_CONFIG_EXTPAGETYPE_SAS_DEVICE;
request->Header.PageNumber = 0;
- request->Header.PageVersion = MPI2_SASDEVICE0_PAGEVERSION;
+ request->ExtPageLength = request->Header.PageVersion = 0;
cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
cm->cm_data = NULL;
error = mpr_wait_command(sc, cm, 60, CAN_SLEEP);
@@ -707,7 +708,7 @@ mpr_config_get_sas_device_pg0(struct mpr_softc *sc, Mpi2ConfigReply_t
request->Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
request->ExtPageType = MPI2_CONFIG_EXTPAGETYPE_SAS_DEVICE;
request->Header.PageNumber = 0;
- request->Header.PageVersion = MPI2_SASDEVICE0_PAGEVERSION;
+ request->Header.PageVersion = mpi_reply->Header.PageVersion;
request->ExtPageLength = mpi_reply->ExtPageLength;
request->PageAddress = htole32(form | handle);
cm->cm_length = le16toh(mpi_reply->ExtPageLength) * 4;
@@ -759,6 +760,276 @@ out:
}
/**
+ * mpr_config_get_pcie_device_pg0 - obtain PCIe device page 0
+ * @sc: per adapter object
+ * @mpi_reply: reply mf payload returned from firmware
+ * @config_page: contents of the config page
+ * @form: GET_NEXT_HANDLE or HANDLE
+ * @handle: device handle
+ * Context: sleep.
+ *
+ * Returns 0 for success, non-zero for failure.
+ */
+int
+mpr_config_get_pcie_device_pg0(struct mpr_softc *sc, Mpi2ConfigReply_t
+ *mpi_reply, Mpi26PCIeDevicePage0_t *config_page, u32 form, u16 handle)
+{
+ MPI2_CONFIG_REQUEST *request;
+ MPI2_CONFIG_REPLY *reply;
+ struct mpr_command *cm;
+ Mpi26PCIeDevicePage0_t *page = NULL;
+ int error = 0;
+ u16 ioc_status;
+
+ mpr_dprint(sc, MPR_TRACE, "%s\n", __func__);
+
+ if ((cm = mpr_alloc_command(sc)) == NULL) {
+ printf("%s: command alloc failed @ line %d\n", __func__,
+ __LINE__);
+ error = EBUSY;
+ goto out;
+ }
+ request = (MPI2_CONFIG_REQUEST *)cm->cm_req;
+ bzero(request, sizeof(MPI2_CONFIG_REQUEST));
+ request->Function = MPI2_FUNCTION_CONFIG;
+ request->Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
+ request->Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
+ request->ExtPageType = MPI2_CONFIG_EXTPAGETYPE_PCIE_DEVICE;
+ request->Header.PageNumber = 0;
+ request->ExtPageLength = request->Header.PageVersion = 0;
+ cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
+ cm->cm_data = NULL;
+ error = mpr_wait_command(sc, cm, 60, CAN_SLEEP);
+ reply = (MPI2_CONFIG_REPLY *)cm->cm_reply;
+ if (error || (reply == NULL)) {
+ /* FIXME */
+ /*
+ * If the request returns an error then we need to do a diag
+ * reset
+ */
+ printf("%s: request for header completed with error %d",
+ __func__, error);
+ error = ENXIO;
+ goto out;
+ }
+ ioc_status = le16toh(reply->IOCStatus) & MPI2_IOCSTATUS_MASK;
+ bcopy(reply, mpi_reply, sizeof(MPI2_CONFIG_REPLY));
+ if (ioc_status != MPI2_IOCSTATUS_SUCCESS) {
+ /* FIXME */
+ /*
+ * If the request returns an error then we need to do a diag
+ * reset
+ */
+ printf("%s: header read with error; iocstatus = 0x%x\n",
+ __func__, ioc_status);
+ error = ENXIO;
+ goto out;
+ }
+ /* We have to do free and alloc for the reply-free and reply-post
+ * counters to match - Need to review the reply FIFO handling.
+ */
+ mpr_free_command(sc, cm);
+
+ if ((cm = mpr_alloc_command(sc)) == NULL) {
+ printf("%s: command alloc failed @ line %d\n", __func__,
+ __LINE__);
+ error = EBUSY;
+ goto out;
+ }
+ request = (MPI2_CONFIG_REQUEST *)cm->cm_req;
+ bzero(request, sizeof(MPI2_CONFIG_REQUEST));
+ request->Function = MPI2_FUNCTION_CONFIG;
+ request->Action = MPI2_CONFIG_ACTION_PAGE_READ_CURRENT;
+ request->Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
+ request->ExtPageType = MPI2_CONFIG_EXTPAGETYPE_PCIE_DEVICE;
+ request->Header.PageNumber = 0;
+ request->Header.PageVersion = mpi_reply->Header.PageVersion;
+ request->ExtPageLength = mpi_reply->ExtPageLength;
+ request->PageAddress = htole32(form | handle);
+ cm->cm_length = le16toh(mpi_reply->ExtPageLength) * 4;
+ cm->cm_sge = &request->PageBufferSGE;
+ cm->cm_sglsize = sizeof(MPI2_SGE_IO_UNION);
+ cm->cm_flags = MPR_CM_FLAGS_SGE_SIMPLE | MPR_CM_FLAGS_DATAIN;
+ cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
+ page = malloc(cm->cm_length, M_MPR, M_ZERO | M_NOWAIT);
+ if (!page) {
+ printf("%s: page alloc failed\n", __func__);
+ error = ENOMEM;
+ goto out;
+ }
+ cm->cm_data = page;
+
+ error = mpr_wait_command(sc, cm, 60, CAN_SLEEP);
+ reply = (MPI2_CONFIG_REPLY *)cm->cm_reply;
+ if (error || (reply == NULL)) {
+ /* FIXME */
+ /*
+ * If the request returns an error then we need to do a diag
+ * reset
+ */
+ printf("%s: request for page completed with error %d",
+ __func__, error);
+ error = ENXIO;
+ goto out;
+ }
+ ioc_status = le16toh(reply->IOCStatus) & MPI2_IOCSTATUS_MASK;
+ bcopy(reply, mpi_reply, sizeof(MPI2_CONFIG_REPLY));
+ if (ioc_status != MPI2_IOCSTATUS_SUCCESS) {
+ /* FIXME */
+ /*
+ * If the request returns an error then we need to do a diag
+ * reset
+ */
+ printf("%s: page read with error; iocstatus = 0x%x\n",
+ __func__, ioc_status);
+ error = ENXIO;
+ goto out;
+ }
+ bcopy(page, config_page, MIN(cm->cm_length,
+ sizeof(Mpi26PCIeDevicePage0_t)));
+out:
+ free(page, M_MPR);
+ if (cm)
+ mpr_free_command(sc, cm);
+ return (error);
+}
+
+/**
+ * mpr_config_get_pcie_device_pg2 - obtain PCIe device page 2
+ * @sc: per adapter object
+ * @mpi_reply: reply mf payload returned from firmware
+ * @config_page: contents of the config page
+ * @form: GET_NEXT_HANDLE or HANDLE
+ * @handle: device handle
+ * Context: sleep.
+ *
+ * Returns 0 for success, non-zero for failure.
+ */
+int
+mpr_config_get_pcie_device_pg2(struct mpr_softc *sc, Mpi2ConfigReply_t
+ *mpi_reply, Mpi26PCIeDevicePage2_t *config_page, u32 form, u16 handle)
+{
+ MPI2_CONFIG_REQUEST *request;
+ MPI2_CONFIG_REPLY *reply;
+ struct mpr_command *cm;
+ Mpi26PCIeDevicePage2_t *page = NULL;
+ int error = 0;
+ u16 ioc_status;
+
+ mpr_dprint(sc, MPR_TRACE, "%s\n", __func__);
+
+ if ((cm = mpr_alloc_command(sc)) == NULL) {
+ printf("%s: command alloc failed @ line %d\n", __func__,
+ __LINE__);
+ error = EBUSY;
+ goto out;
+ }
+ request = (MPI2_CONFIG_REQUEST *)cm->cm_req;
+ bzero(request, sizeof(MPI2_CONFIG_REQUEST));
+ request->Function = MPI2_FUNCTION_CONFIG;
+ request->Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
+ request->Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
+ request->ExtPageType = MPI2_CONFIG_EXTPAGETYPE_PCIE_DEVICE;
+ request->Header.PageNumber = 2;
+ request->ExtPageLength = request->Header.PageVersion = 0;
+ cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
+ cm->cm_data = NULL;
+ error = mpr_wait_command(sc, cm, 60, CAN_SLEEP);
+ reply = (MPI2_CONFIG_REPLY *)cm->cm_reply;
+ if (error || (reply == NULL)) {
+ /* FIXME */
+ /*
+ * If the request returns an error then we need to do a diag
+ * reset
+ */
+ printf("%s: request for header completed with error %d",
+ __func__, error);
+ error = ENXIO;
+ goto out;
+ }
+ ioc_status = le16toh(reply->IOCStatus) & MPI2_IOCSTATUS_MASK;
+ bcopy(reply, mpi_reply, sizeof(MPI2_CONFIG_REPLY));
+ if (ioc_status != MPI2_IOCSTATUS_SUCCESS) {
+ /* FIXME */
+ /*
+ * If the request returns an error then we need to do a diag
+ * reset
+ */
+ printf("%s: header read with error; iocstatus = 0x%x\n",
+ __func__, ioc_status);
+ error = ENXIO;
+ goto out;
+ }
+ /* We have to do free and alloc for the reply-free and reply-post
+ * counters to match - Need to review the reply FIFO handling.
+ */
+ mpr_free_command(sc, cm);
+
+ if ((cm = mpr_alloc_command(sc)) == NULL) {
+ printf("%s: command alloc failed @ line %d\n", __func__,
+ __LINE__);
+ error = EBUSY;
+ goto out;
+ }
+ request = (MPI2_CONFIG_REQUEST *)cm->cm_req;
+ bzero(request, sizeof(MPI2_CONFIG_REQUEST));
+ request->Function = MPI2_FUNCTION_CONFIG;
+ request->Action = MPI2_CONFIG_ACTION_PAGE_READ_CURRENT;
+ request->Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
+ request->ExtPageType = MPI2_CONFIG_EXTPAGETYPE_PCIE_DEVICE;
+ request->Header.PageNumber = 2;
+ request->Header.PageVersion = mpi_reply->Header.PageVersion;
+ request->ExtPageLength = mpi_reply->ExtPageLength;
+ request->PageAddress = htole32(form | handle);
+ cm->cm_length = le16toh(mpi_reply->ExtPageLength) * 4;
+ cm->cm_sge = &request->PageBufferSGE;
+ cm->cm_sglsize = sizeof(MPI2_SGE_IO_UNION);
+ cm->cm_flags = MPR_CM_FLAGS_SGE_SIMPLE | MPR_CM_FLAGS_DATAIN;
+ cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
+ page = malloc(cm->cm_length, M_MPR, M_ZERO | M_NOWAIT);
+ if (!page) {
+ printf("%s: page alloc failed\n", __func__);
+ error = ENOMEM;
+ goto out;
+ }
+ cm->cm_data = page;
+
+ error = mpr_wait_command(sc, cm, 60, CAN_SLEEP);
+ reply = (MPI2_CONFIG_REPLY *)cm->cm_reply;
+ if (error || (reply == NULL)) {
+ /* FIXME */
+ /*
+ * If the request returns an error then we need to do a diag
+ * reset
+ */
+ printf("%s: request for page completed with error %d",
+ __func__, error);
+ error = ENXIO;
+ goto out;
+ }
+ ioc_status = le16toh(reply->IOCStatus) & MPI2_IOCSTATUS_MASK;
+ bcopy(reply, mpi_reply, sizeof(MPI2_CONFIG_REPLY));
+ if (ioc_status != MPI2_IOCSTATUS_SUCCESS) {
+ /* FIXME */
+ /*
+ * If the request returns an error then we need to do a diag
+ * reset
+ */
+ printf("%s: page read with error; iocstatus = 0x%x\n",
+ __func__, ioc_status);
+ error = ENXIO;
+ goto out;
+ }
+ bcopy(page, config_page, MIN(cm->cm_length,
+ sizeof(Mpi26PCIeDevicePage2_t)));
+out:
+ free(page, M_MPR);
+ if (cm)
+ mpr_free_command(sc, cm);
+ return (error);
+}
+
+/**
* mpr_config_get_bios_pg3 - obtain BIOS page 3
* @sc: per adapter object
* @mpi_reply: reply mf payload returned from firmware
@@ -792,7 +1063,7 @@ mpr_config_get_bios_pg3(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
request->Header.PageType = MPI2_CONFIG_PAGETYPE_BIOS;
request->Header.PageNumber = 3;
- request->Header.PageVersion = MPI2_BIOSPAGE3_PAGEVERSION;
+ request->Header.PageLength = request->Header.PageVersion = 0;
cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
cm->cm_data = NULL;
error = mpr_wait_command(sc, cm, 60, CAN_SLEEP);
@@ -838,7 +1109,7 @@ mpr_config_get_bios_pg3(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Action = MPI2_CONFIG_ACTION_PAGE_READ_CURRENT;
request->Header.PageType = MPI2_CONFIG_PAGETYPE_BIOS;
request->Header.PageNumber = 3;
- request->Header.PageVersion = MPI2_BIOSPAGE3_PAGEVERSION;
+ request->Header.PageVersion = mpi_reply->Header.PageVersion;
request->Header.PageLength = mpi_reply->Header.PageLength;
cm->cm_length = le16toh(mpi_reply->Header.PageLength) * 4;
cm->cm_sge = &request->PageBufferSGE;
@@ -922,7 +1193,7 @@ mpr_config_get_raid_volume_pg0(struct mpr_softc *sc, Mpi2ConfigReply_t
request->Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
request->Header.PageType = MPI2_CONFIG_PAGETYPE_RAID_VOLUME;
request->Header.PageNumber = 0;
- request->Header.PageVersion = MPI2_RAIDVOLPAGE0_PAGEVERSION;
+ request->Header.PageLength = request->Header.PageVersion = 0;
cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
cm->cm_data = NULL;
@@ -1051,7 +1322,7 @@ mpr_config_get_raid_volume_pg1(struct mpr_softc *sc, Mpi2ConfigReply_t
request->Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
request->Header.PageType = MPI2_CONFIG_PAGETYPE_RAID_VOLUME;
request->Header.PageNumber = 1;
- request->Header.PageVersion = MPI2_RAIDVOLPAGE1_PAGEVERSION;
+ request->Header.PageLength = request->Header.PageVersion = 0;
cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
cm->cm_data = NULL;
error = mpr_wait_command(sc, cm, 60, CAN_SLEEP);
@@ -1208,7 +1479,7 @@ mpr_config_get_raid_pd_pg0(struct mpr_softc *sc, Mpi2ConfigReply_t *mpi_reply,
request->Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
request->Header.PageType = MPI2_CONFIG_PAGETYPE_RAID_PHYSDISK;
request->Header.PageNumber = 0;
- request->Header.PageVersion = MPI2_RAIDPHYSDISKPAGE0_PAGEVERSION;
+ request->Header.PageLength = request->Header.PageVersion = 0;
cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
cm->cm_data = NULL;
diff --git a/sys/dev/mpr/mpr_mapping.c b/sys/dev/mpr/mpr_mapping.c
index 0feb555..379f7e0 100644
--- a/sys/dev/mpr/mpr_mapping.c
+++ b/sys/dev/mpr/mpr_mapping.c
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
#include <dev/mpr/mpi/mpi2.h>
#include <dev/mpr/mpi/mpi2_ioc.h>
#include <dev/mpr/mpi/mpi2_sas.h>
+#include <dev/mpr/mpi/mpi2_pci.h>
#include <dev/mpr/mpi/mpi2_cnfg.h>
#include <dev/mpr/mpi/mpi2_init.h>
#include <dev/mpr/mpi/mpi2_tool.h>
@@ -59,7 +60,7 @@ __FBSDID("$FreeBSD$");
#include <dev/mpr/mpr_mapping.h>
/**
- * _mapping_clear_entry - Clear a particular mapping entry.
+ * _mapping_clear_map_entry - Clear a particular mapping entry.
* @map_entry: map table entry
*
* Returns nothing.
@@ -72,7 +73,6 @@ _mapping_clear_map_entry(struct dev_mapping_table *map_entry)
map_entry->phy_bits = 0;
map_entry->dpm_entry_num = MPR_DPM_BAD_IDX;
map_entry->dev_handle = 0;
- map_entry->channel = -1;
map_entry->id = -1;
map_entry->missing_count = 0;
map_entry->init_complete = 0;
@@ -139,12 +139,15 @@ _mapping_commit_enc_entry(struct mpr_softc *sc,
dpm_entry->PhysicalBitsMapping = htole32(et_entry->phy_bits);
dpm_entry->Reserved1 = 0;
+ mpr_dprint(sc, MPR_MAPPING, "%s: Writing DPM entry %d for enclosure.\n",
+ __func__, et_entry->dpm_entry_num);
memcpy(&config_page.Entry, (u8 *)dpm_entry,
sizeof(Mpi2DriverMap0Entry_t));
if (mpr_config_set_dpm_pg0(sc, &mpi_reply, &config_page,
et_entry->dpm_entry_num)) {
- printf("%s: write of dpm entry %d for enclosure failed\n",
- __func__, et_entry->dpm_entry_num);
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: Write of DPM "
+ "entry %d for enclosure failed.\n", __func__,
+ et_entry->dpm_entry_num);
dpm_entry->MappingInformation = le16toh(dpm_entry->
MappingInformation);
dpm_entry->DeviceIndex = le16toh(dpm_entry->DeviceIndex);
@@ -163,7 +166,7 @@ _mapping_commit_enc_entry(struct mpr_softc *sc,
/**
* _mapping_commit_map_entry - write a particular map table entry in DPM page0.
* @sc: per adapter object
- * @enc_entry: enclosure table entry
+ * @mt_entry: mapping table entry
*
* Returns 0 for success, non-zero for failure.
*/
@@ -179,6 +182,19 @@ _mapping_commit_map_entry(struct mpr_softc *sc,
if (!sc->is_dpm_enable)
return 0;
+ /*
+ * It's possible that this Map Entry points to a BAD DPM index. This
+ * can happen if the Map Entry is a for a missing device and the DPM
+ * entry that was being used by this device is now being used by some
+ * new device. So, check for a BAD DPM index and just return if so.
+ */
+ if (mt_entry->dpm_entry_num == MPR_DPM_BAD_IDX) {
+ mpr_dprint(sc, MPR_MAPPING, "%s: DPM entry location for target "
+ "%d is invalid. DPM will not be written.\n", __func__,
+ mt_entry->id);
+ return 0;
+ }
+
memset(&config_page, 0, sizeof(Mpi2DriverMappingPage0_t));
memcpy(&config_page.Header, (u8 *)sc->dpm_pg0,
sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
@@ -192,13 +208,16 @@ _mapping_commit_map_entry(struct mpr_softc *sc,
dpm_entry->MappingInformation = htole16(mt_entry->missing_count);
dpm_entry->PhysicalBitsMapping = 0;
dpm_entry->Reserved1 = 0;
- dpm_entry->MappingInformation = htole16(dpm_entry->MappingInformation);
memcpy(&config_page.Entry, (u8 *)dpm_entry,
sizeof(Mpi2DriverMap0Entry_t));
+
+ mpr_dprint(sc, MPR_MAPPING, "%s: Writing DPM entry %d for target %d.\n",
+ __func__, mt_entry->dpm_entry_num, mt_entry->id);
if (mpr_config_set_dpm_pg0(sc, &mpi_reply, &config_page,
mt_entry->dpm_entry_num)) {
- printf("%s: write of dpm entry %d for device failed\n",
- __func__, mt_entry->dpm_entry_num);
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: Write of DPM "
+ "entry %d for target %d failed.\n", __func__,
+ mt_entry->dpm_entry_num, mt_entry->id);
dpm_entry->MappingInformation = le16toh(dpm_entry->
MappingInformation);
dpm_entry->DeviceIndex = le16toh(dpm_entry->DeviceIndex);
@@ -306,7 +325,7 @@ _mapping_get_high_missing_et_idx(struct mpr_softc *sc)
et_entry = &sc->enclosure_table[enc_idx];
if ((et_entry->missing_count > high_missing_count) &&
!et_entry->skip_search) {
- high_missing_count = et_entry->missing_count;
+ high_missing_count = et_entry->missing_count;
high_idx = enc_idx;
}
}
@@ -325,7 +344,7 @@ _mapping_get_high_missing_et_idx(struct mpr_softc *sc)
static u32
_mapping_get_high_missing_mt_idx(struct mpr_softc *sc)
{
- u32 map_idx, high_idx = MPR_ENCTABLE_BAD_IDX;
+ u32 map_idx, high_idx = MPR_MAPTABLE_BAD_IDX;
u8 high_missing_count = 0;
u32 start_idx, end_idx, start_idx_ir, end_idx_ir;
struct dev_mapping_table *mt_entry;
@@ -369,7 +388,7 @@ _mapping_get_ir_mt_idx_from_wwid(struct mpr_softc *sc, u64 wwid)
_mapping_get_ir_maprange(sc, &start_idx, &end_idx);
mt_entry = &sc->mapping_table[start_idx];
- for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++)
+ for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++)
if (mt_entry->physical_id == wwid)
return map_idx;
@@ -457,20 +476,31 @@ _mapping_get_free_ir_mt_idx(struct mpr_softc *sc)
u32 high_idx = MPR_MAPTABLE_BAD_IDX;
struct dev_mapping_table *mt_entry;
+ /*
+ * The IN_USE flag should be clear if the entry is available to use.
+ * This flag is cleared on initialization and and when a volume is
+ * deleted. All other times this flag should be set. If, for some
+ * reason, a free entry cannot be found, look for the entry with the
+ * highest missing count just in case there is one.
+ */
_mapping_get_ir_maprange(sc, &start_idx, &end_idx);
-
mt_entry = &sc->mapping_table[start_idx];
- for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++)
+ for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++) {
if (!(mt_entry->device_info & MPR_MAP_IN_USE))
return map_idx;
- mt_entry = &sc->mapping_table[start_idx];
- for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++) {
if (mt_entry->missing_count > high_missing_count) {
high_missing_count = mt_entry->missing_count;
high_idx = map_idx;
}
}
+
+ if (high_idx == MPR_MAPTABLE_BAD_IDX) {
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: Could not find a "
+ "free entry in the mapping table for a Volume. The mapping "
+ "table is probably corrupt.\n", __func__);
+ }
+
return high_idx;
}
@@ -493,6 +523,7 @@ _mapping_get_free_mt_idx(struct mpr_softc *sc, u32 start_idx)
if (sc->ir_firmware && (volume_mapping_flags ==
MPI2_IOCPAGE8_IRFLAGS_HIGH_VOLUME_MAPPING))
max_idx -= sc->max_volumes;
+
for (map_idx = start_idx; map_idx < max_idx; map_idx++, mt_entry++)
if (!(mt_entry->device_info & (MPR_MAP_IN_USE |
MPR_DEV_RESERVED)))
@@ -541,12 +572,66 @@ static u32
_mapping_get_free_dpm_idx(struct mpr_softc *sc)
{
u16 entry_num;
+ Mpi2DriverMap0Entry_t *dpm_entry;
+ u16 current_entry = MPR_DPM_BAD_IDX, missing_cnt, high_missing_cnt = 0;
+ u64 physical_id;
+ struct dev_mapping_table *mt_entry;
+ u32 map_idx;
for (entry_num = 0; entry_num < sc->max_dpm_entries; entry_num++) {
- if (!sc->dpm_entry_used[entry_num])
- return entry_num;
+ dpm_entry = (Mpi2DriverMap0Entry_t *) ((u8 *)sc->dpm_pg0 +
+ sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
+ dpm_entry += entry_num;
+ missing_cnt = dpm_entry->MappingInformation &
+ MPI2_DRVMAP0_MAPINFO_MISSING_MASK;
+
+ /*
+ * If entry is used and not missing, then this entry can't be
+ * used. Look at next one.
+ */
+ if (sc->dpm_entry_used[entry_num] && !missing_cnt)
+ continue;
+
+ /*
+ * If this entry is not used at all, then the missing count
+ * doesn't matter. Just use this one. Otherwise, keep looking
+ * and make sure the entry with the highest missing count is
+ * used.
+ */
+ if (!sc->dpm_entry_used[entry_num]) {
+ current_entry = entry_num;
+ break;
+ }
+ if ((current_entry == MPR_DPM_BAD_IDX) ||
+ (missing_cnt > high_missing_cnt)) {
+ current_entry = entry_num;
+ high_missing_cnt = missing_cnt;
+ }
}
- return MPR_DPM_BAD_IDX;
+
+ /*
+ * If an entry has been found to use and it's already marked as used
+ * it means that some device was already using this entry but it's
+ * missing, and that means that the connection between the missing
+ * device's DPM entry and the mapping table needs to be cleared. To do
+ * this, use the Physical ID of the old device still in the DPM entry
+ * to find its mapping table entry, then mark its DPM entry as BAD.
+ */
+ if ((current_entry != MPR_DPM_BAD_IDX) &&
+ sc->dpm_entry_used[current_entry]) {
+ dpm_entry = (Mpi2DriverMap0Entry_t *) ((u8 *)sc->dpm_pg0 +
+ sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
+ dpm_entry += current_entry;
+ physical_id = dpm_entry->PhysicalIdentifier.High;
+ physical_id = (physical_id << 32) |
+ dpm_entry->PhysicalIdentifier.Low;
+ map_idx = _mapping_get_mt_idx_from_id(sc, physical_id);
+ if (map_idx != MPR_MAPTABLE_BAD_IDX) {
+ mt_entry = &sc->mapping_table[map_idx];
+ mt_entry->dpm_entry_num = MPR_DPM_BAD_IDX;
+ }
+ }
+ return current_entry;
}
/**
@@ -565,40 +650,57 @@ _mapping_update_ir_missing_cnt(struct mpr_softc *sc, u32 map_idx,
Mpi2EventIrConfigElement_t *element, u64 wwid)
{
struct dev_mapping_table *mt_entry;
- u8 missing_cnt, reason = element->ReasonCode;
+ u8 missing_cnt, reason = element->ReasonCode, update_dpm = 1;
u16 dpm_idx;
Mpi2DriverMap0Entry_t *dpm_entry;
- if (!sc->is_dpm_enable)
- return;
+ /*
+ * Depending on the reason code, update the missing count. Always set
+ * the init_complete flag when here, so just do it first. That flag is
+ * used for volumes to make sure that the DPM entry has been updated.
+ * When a volume is deleted, clear the map entry's IN_USE flag so that
+ * the entry can be used again if another volume is created. Also clear
+ * its dev_handle entry so that other functions can't find this volume
+ * by the handle, since it's not defined any longer.
+ */
mt_entry = &sc->mapping_table[map_idx];
- if (reason == MPI2_EVENT_IR_CHANGE_RC_ADDED) {
- mt_entry->missing_count = 0;
- } else if (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_CREATED) {
+ mt_entry->init_complete = 1;
+ if ((reason == MPI2_EVENT_IR_CHANGE_RC_ADDED) ||
+ (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_CREATED)) {
mt_entry->missing_count = 0;
- mt_entry->init_complete = 0;
- } else if ((reason == MPI2_EVENT_IR_CHANGE_RC_REMOVED) ||
- (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_DELETED)) {
- if (!mt_entry->init_complete) {
- if (mt_entry->missing_count < MPR_MAX_MISSING_COUNT)
- mt_entry->missing_count++;
- else
- mt_entry->init_complete = 1;
- }
- if (!mt_entry->missing_count)
+ } else if (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_DELETED) {
+ if (mt_entry->missing_count < MPR_MAX_MISSING_COUNT)
mt_entry->missing_count++;
+
+ mt_entry->device_info &= ~MPR_MAP_IN_USE;
mt_entry->dev_handle = 0;
}
+ /*
+ * If persistent mapping is enabled, update the DPM with the new missing
+ * count for the volume. If the DPM index is bad, get a free one. If
+ * it's bad for a volume that's being deleted do nothing because that
+ * volume doesn't have a DPM entry.
+ */
+ if (!sc->is_dpm_enable)
+ return;
dpm_idx = mt_entry->dpm_entry_num;
if (dpm_idx == MPR_DPM_BAD_IDX) {
- if ((reason == MPI2_EVENT_IR_CHANGE_RC_ADDED) ||
- (reason == MPI2_EVENT_IR_CHANGE_RC_REMOVED))
- dpm_idx = _mapping_get_dpm_idx_from_id(sc,
- mt_entry->physical_id, 0);
- else if (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_DELETED)
+ if (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_DELETED)
+ {
+ mpr_dprint(sc, MPR_MAPPING, "%s: Volume being deleted "
+ "is not in DPM so DPM missing count will not be "
+ "updated.\n", __func__);
return;
+ }
}
+ if (dpm_idx == MPR_DPM_BAD_IDX)
+ dpm_idx = _mapping_get_free_dpm_idx(sc);
+
+ /*
+ * Got the DPM entry for the volume or found a free DPM entry if this is
+ * a new volume. Check if the current information is outdated.
+ */
if (dpm_idx != MPR_DPM_BAD_IDX) {
dpm_entry = (Mpi2DriverMap0Entry_t *)((u8 *)sc->dpm_pg0 +
sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
@@ -606,17 +708,24 @@ _mapping_update_ir_missing_cnt(struct mpr_softc *sc, u32 map_idx,
missing_cnt = dpm_entry->MappingInformation &
MPI2_DRVMAP0_MAPINFO_MISSING_MASK;
if ((mt_entry->physical_id ==
- le64toh((u64)dpm_entry->PhysicalIdentifier.High |
- dpm_entry->PhysicalIdentifier.Low)) && (missing_cnt ==
- mt_entry->missing_count))
- mt_entry->init_complete = 1;
- } else {
- dpm_idx = _mapping_get_free_dpm_idx(sc);
- mt_entry->init_complete = 0;
+ le64toh(((u64)dpm_entry->PhysicalIdentifier.High << 32) |
+ (u64)dpm_entry->PhysicalIdentifier.Low)) && (missing_cnt ==
+ mt_entry->missing_count)) {
+ mpr_dprint(sc, MPR_MAPPING, "%s: DPM entry for volume "
+ "with target ID %d does not require an update.\n",
+ __func__, mt_entry->id);
+ update_dpm = 0;
+ }
}
- if ((dpm_idx != MPR_DPM_BAD_IDX) && !mt_entry->init_complete) {
- mt_entry->init_complete = 1;
+ /*
+ * Update the volume's persistent info if it's new or the ID or missing
+ * count has changed. If a good DPM index has not been found by now,
+ * there is no space left in the DPM table.
+ */
+ if ((dpm_idx != MPR_DPM_BAD_IDX) && update_dpm) {
+ mpr_dprint(sc, MPR_MAPPING, "%s: Update DPM entry for volume "
+ "with target ID %d.\n", __func__, mt_entry->id);
mt_entry->dpm_entry_num = dpm_idx;
dpm_entry = (Mpi2DriverMap0Entry_t *)((u8 *)sc->dpm_pg0 +
sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
@@ -632,50 +741,111 @@ _mapping_update_ir_missing_cnt(struct mpr_softc *sc, u32 map_idx,
sc->dpm_flush_entry[dpm_idx] = 1;
sc->dpm_entry_used[dpm_idx] = 1;
} else if (dpm_idx == MPR_DPM_BAD_IDX) {
- printf("%s: no space to add entry in DPM table\n", __func__);
- mt_entry->init_complete = 1;
+ mpr_dprint(sc, MPR_INFO | MPR_MAPPING, "%s: No space to add an "
+ "entry in the DPM table for volume with target ID %d.\n",
+ __func__, mt_entry->id);
}
}
/**
- * _mapping_add_to_removal_table - mark an entry for removal
+ * _mapping_add_to_removal_table - add DPM index to the removal table
* @sc: per adapter object
- * @handle: Handle of enclosures/device/volume
+ * @dpm_idx: Index of DPM entry to remove
*
- * Adds the handle or DPM entry number in removal table.
+ * Adds a DPM entry number to the removal table.
*
* Returns nothing.
*/
static void
-_mapping_add_to_removal_table(struct mpr_softc *sc, u16 handle,
- u16 dpm_idx)
+_mapping_add_to_removal_table(struct mpr_softc *sc, u16 dpm_idx)
{
struct map_removal_table *remove_entry;
u32 i;
- u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags);
- remove_entry = sc->removal_table;
+ /*
+ * This is only used to remove entries from the DPM in the controller.
+ * If DPM is not enabled, just return.
+ */
+ if (!sc->is_dpm_enable)
+ return;
+ /*
+ * Find the first available removal_table entry and add the new entry
+ * there.
+ */
+ remove_entry = sc->removal_table;
for (i = 0; i < sc->max_devices; i++, remove_entry++) {
- if (remove_entry->dev_handle || remove_entry->dpm_entry_num !=
- MPR_DPM_BAD_IDX)
+ if (remove_entry->dpm_entry_num != MPR_DPM_BAD_IDX)
continue;
- if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
- MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
- if (dpm_idx)
- remove_entry->dpm_entry_num = dpm_idx;
- if (remove_entry->dpm_entry_num == MPR_DPM_BAD_IDX)
- remove_entry->dev_handle = handle;
- } else if ((ioc_pg8_flags &
- MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
- MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING)
- remove_entry->dev_handle = handle;
+
+ mpr_dprint(sc, MPR_MAPPING, "%s: Adding DPM entry %d to table "
+ "for removal.\n", __func__, dpm_idx);
+ remove_entry->dpm_entry_num = dpm_idx;
break;
}
}
/**
+ * _mapping_inc_missing_count
+ * @sc: per adapter object
+ * @map_idx: index into the mapping table for the device that is missing
+ *
+ * Increment the missing count in the mapping table for a SAS, SATA, or PCIe
+ * device that is not responding. If Persitent Mapping is used, increment the
+ * DPM entry as well. Currently, this function is only called if the target
+ * goes missing, so after initialization has completed. This means that the
+ * missing count can only go from 0 to 1 here. The missing count is incremented
+ * during initialization as well, so that's where a target's missing count can
+ * go past 1.
+ *
+ * Returns nothing.
+ */
+static void
+_mapping_inc_missing_count(struct mpr_softc *sc, u32 map_idx)
+{
+ u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags);
+ struct dev_mapping_table *mt_entry;
+ Mpi2DriverMap0Entry_t *dpm_entry;
+
+ if (map_idx == MPR_MAPTABLE_BAD_IDX) {
+ mpr_dprint(sc, MPR_INFO | MPR_MAPPING, "%s: device is already "
+ "removed from mapping table\n", __func__);
+ return;
+ }
+ mt_entry = &sc->mapping_table[map_idx];
+ if (mt_entry->missing_count < MPR_MAX_MISSING_COUNT)
+ mt_entry->missing_count++;
+
+ /*
+ * When using Enc/Slot mapping, when a device is removed, it's mapping
+ * table information should be cleared. Otherwise, the target ID will
+ * be incorrect if this same device is re-added to a different slot.
+ */
+ if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
+ MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
+ _mapping_clear_map_entry(mt_entry);
+ }
+
+ /*
+ * When using device mapping, update the missing count in the DPM entry,
+ * but only if the missing count has changed.
+ */
+ if (((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
+ MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) &&
+ sc->is_dpm_enable &&
+ mt_entry->dpm_entry_num != MPR_DPM_BAD_IDX) {
+ dpm_entry = (Mpi2DriverMap0Entry_t *) ((u8 *)sc->dpm_pg0 +
+ sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
+ dpm_entry += mt_entry->dpm_entry_num;
+ if (dpm_entry->MappingInformation != mt_entry->missing_count) {
+ dpm_entry->MappingInformation = mt_entry->missing_count;
+ sc->dpm_flush_entry[mt_entry->dpm_entry_num] = 1;
+ }
+ }
+}
+
+/**
* _mapping_update_missing_count - Update missing count for a device
* @sc: per adapter object
* @topo_change: Topology change event entry
@@ -689,12 +859,9 @@ static void
_mapping_update_missing_count(struct mpr_softc *sc,
struct _map_topology_change *topo_change)
{
- u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags);
u8 entry;
struct _map_phy_change *phy_change;
u32 map_idx;
- struct dev_mapping_table *mt_entry;
- Mpi2DriverMap0Entry_t *dpm_entry;
for (entry = 0; entry < topo_change->num_entries; entry++) {
phy_change = &topo_change->phy_details[entry];
@@ -704,35 +871,37 @@ _mapping_update_missing_count(struct mpr_softc *sc,
map_idx = _mapping_get_mt_idx_from_handle(sc, phy_change->
dev_handle);
phy_change->is_processed = 1;
- if (map_idx == MPR_MAPTABLE_BAD_IDX) {
- printf("%s: device is already removed from mapping "
- "table\n", __func__);
- continue;
- }
- mt_entry = &sc->mapping_table[map_idx];
- if (!mt_entry->init_complete) {
- if (mt_entry->missing_count < MPR_MAX_MISSING_COUNT)
- mt_entry->missing_count++;
- else
- mt_entry->init_complete = 1;
- }
- if (!mt_entry->missing_count)
- mt_entry->missing_count++;
- _mapping_add_to_removal_table(sc, mt_entry->dev_handle, 0);
- mt_entry->dev_handle = 0;
+ _mapping_inc_missing_count(sc, map_idx);
+ }
+}
- if (((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
- MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) &&
- sc->is_dpm_enable && !mt_entry->init_complete &&
- mt_entry->dpm_entry_num != MPR_DPM_BAD_IDX) {
- dpm_entry =
- (Mpi2DriverMap0Entry_t *) ((u8 *)sc->dpm_pg0 +
- sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
- dpm_entry += mt_entry->dpm_entry_num;
- dpm_entry->MappingInformation = mt_entry->missing_count;
- sc->dpm_flush_entry[mt_entry->dpm_entry_num] = 1;
- }
- mt_entry->init_complete = 1;
+/**
+ * _mapping_update_pcie_missing_count - Update missing count for a PCIe device
+ * @sc: per adapter object
+ * @topo_change: Topology change event entry
+ *
+ * Search through the PCIe topology change list and if any device is found not
+ * responding it's associated map table entry and DPM entry is updated
+ *
+ * Returns nothing.
+ */
+static void
+_mapping_update_pcie_missing_count(struct mpr_softc *sc,
+ struct _map_pcie_topology_change *topo_change)
+{
+ u8 entry;
+ struct _map_port_change *port_change;
+ u32 map_idx;
+
+ for (entry = 0; entry < topo_change->num_entries; entry++) {
+ port_change = &topo_change->port_details[entry];
+ if (!port_change->dev_handle || (port_change->reason !=
+ MPI26_EVENT_PCIE_TOPO_PS_NOT_RESPONDING))
+ continue;
+ map_idx = _mapping_get_mt_idx_from_handle(sc, port_change->
+ dev_handle);
+ port_change->is_processed = 1;
+ _mapping_inc_missing_count(sc, map_idx);
}
}
@@ -765,6 +934,10 @@ _mapping_find_enc_map_space(struct mpr_softc *sc,
vol_mapping_flags = le16toh(sc->ioc_pg8.IRVolumeMappingFlags) &
MPI2_IOCPAGE8_IRFLAGS_MASK_VOLUME_MAPPING_MODE;
+ /*
+ * The end of the mapping table depends on where volumes are kept, if
+ * IR is enabled.
+ */
if (!sc->ir_firmware)
end_of_table = sc->max_devices;
else if (vol_mapping_flags == MPI2_IOCPAGE8_IRFLAGS_LOW_VOLUME_MAPPING)
@@ -772,6 +945,17 @@ _mapping_find_enc_map_space(struct mpr_softc *sc,
else
end_of_table = sc->max_devices - sc->max_volumes;
+ /*
+ * The skip_count is the number of entries that are reserved at the
+ * beginning of the mapping table. But, it does not include the number
+ * of Physical IDs that are reserved for direct attached devices. Look
+ * through the mapping table after these reserved entries to see if
+ * the devices for this enclosure are already mapped. The PHY bit check
+ * is used to make sure that at least one PHY bit is common between the
+ * enclosure and the device that is already mapped.
+ */
+ mpr_dprint(sc, MPR_MAPPING, "%s: Looking for space in the mapping "
+ "table for added enclosure.\n", __func__);
for (map_idx = (max_num_phy_ids + skip_count);
map_idx < end_of_table; map_idx++) {
mt_entry = &sc->mapping_table[map_idx];
@@ -781,11 +965,21 @@ _mapping_find_enc_map_space(struct mpr_softc *sc,
num_found += 1;
if (num_found == et_entry->num_slots) {
start_idx = (map_idx - num_found) + 1;
+ mpr_dprint(sc, MPR_MAPPING, "%s: Found space "
+ "in the mapping for enclosure at map index "
+ "%d.\n", __func__, start_idx);
return start_idx;
}
} else
num_found = 0;
}
+
+ /*
+ * If the enclosure's devices are not mapped already, look for
+ * contiguous entries in the mapping table that are not reserved. If
+ * enough entries are found, return the starting index for that space.
+ */
+ num_found = 0;
for (map_idx = (max_num_phy_ids + skip_count);
map_idx < end_of_table; map_idx++) {
mt_entry = &sc->mapping_table[map_idx];
@@ -793,40 +987,91 @@ _mapping_find_enc_map_space(struct mpr_softc *sc,
num_found += 1;
if (num_found == et_entry->num_slots) {
start_idx = (map_idx - num_found) + 1;
+ mpr_dprint(sc, MPR_MAPPING, "%s: Found space "
+ "in the mapping for enclosure at map index "
+ "%d.\n", __func__, start_idx);
return start_idx;
}
} else
num_found = 0;
}
+ /*
+ * If here, it means that not enough space in the mapping table was
+ * found to support this enclosure, so go through the enclosure table to
+ * see if any enclosure entries have a missing count. If so, get the
+ * enclosure with the highest missing count and check it to see if there
+ * is enough space for the new enclosure.
+ */
while (!done_flag) {
enc_idx = _mapping_get_high_missing_et_idx(sc);
- if (enc_idx == MPR_ENCTABLE_BAD_IDX)
+ if (enc_idx == MPR_ENCTABLE_BAD_IDX) {
+ mpr_dprint(sc, MPR_MAPPING, "%s: Not enough space was "
+ "found in the mapping for the added enclosure.\n",
+ __func__);
return MPR_MAPTABLE_BAD_IDX;
+ }
+
+ /*
+ * Found a missing enclosure. Set the skip_search flag so this
+ * enclosure is not checked again for a high missing count if
+ * the loop continues. This way, all missing enclosures can
+ * have their space added together to find enough space in the
+ * mapping table for the added enclosure. The space must be
+ * contiguous.
+ */
+ mpr_dprint(sc, MPR_MAPPING, "%s: Space from a missing "
+ "enclosure was found.\n", __func__);
enc_entry = &sc->enclosure_table[enc_idx];
- /*VSP FIXME*/
enc_entry->skip_search = 1;
+
+ /*
+ * Unmark all of the missing enclosure's device's reserved
+ * space. These will be remarked as reserved if this missing
+ * enclosure's space is not used.
+ */
+ mpr_dprint(sc, MPR_MAPPING, "%s: Clear the reserved flag for "
+ "all of the map entries for the enclosure.\n", __func__);
mt_entry = &sc->mapping_table[enc_entry->start_index];
for (map_idx = enc_entry->start_index; map_idx <
(enc_entry->start_index + enc_entry->num_slots); map_idx++,
mt_entry++)
- mt_entry->device_info &= ~MPR_DEV_RESERVED;
+ mt_entry->device_info &= ~MPR_DEV_RESERVED;
+
+ /*
+ * Now that space has been unreserved, check again to see if
+ * enough space is available for the new enclosure.
+ */
+ mpr_dprint(sc, MPR_MAPPING, "%s: Check if new mapping space is "
+ "enough for the new enclosure.\n", __func__);
found_space = 0;
- for (map_idx = (max_num_phy_ids +
- skip_count); map_idx < end_of_table; map_idx++) {
+ num_found = 0;
+ for (map_idx = (max_num_phy_ids + skip_count);
+ map_idx < end_of_table; map_idx++) {
mt_entry = &sc->mapping_table[map_idx];
if (!(mt_entry->device_info & MPR_DEV_RESERVED)) {
num_found += 1;
if (num_found == et_entry->num_slots) {
start_idx = (map_idx - num_found) + 1;
found_space = 1;
+ break;
}
} else
num_found = 0;
}
-
if (!found_space)
continue;
+
+ /*
+ * If enough space was found, all of the missing enclosures that
+ * will be used for the new enclosure must be added to the
+ * removal table. Then all mappings for the enclosure's devices
+ * and for the enclosure itself need to be cleared. There may be
+ * more than one enclosure to add to the removal table and
+ * clear.
+ */
+ mpr_dprint(sc, MPR_MAPPING, "%s: Found space in the mapping "
+ "for enclosure at map index %d.\n", __func__, start_idx);
for (map_idx = start_idx; map_idx < (start_idx + num_found);
map_idx++) {
enc_entry = sc->enclosure_table;
@@ -837,26 +1082,38 @@ _mapping_find_enc_map_space(struct mpr_softc *sc,
enc_entry->num_slots))
continue;
if (!enc_entry->removal_flag) {
+ mpr_dprint(sc, MPR_MAPPING, "%s: "
+ "Enclosure %d will be removed from "
+ "the mapping table.\n", __func__,
+ enc_idx);
enc_entry->removal_flag = 1;
- _mapping_add_to_removal_table(sc, 0,
+ _mapping_add_to_removal_table(sc,
enc_entry->dpm_entry_num);
}
mt_entry = &sc->mapping_table[map_idx];
- if (mt_entry->device_info &
- MPR_MAP_IN_USE) {
- _mapping_add_to_removal_table(sc,
- mt_entry->dev_handle, 0);
- _mapping_clear_map_entry(mt_entry);
- }
+ _mapping_clear_map_entry(mt_entry);
if (map_idx == (enc_entry->start_index +
enc_entry->num_slots - 1))
_mapping_clear_enc_entry(et_entry);
}
}
+
+ /*
+ * During the search for space for this enclosure, some entries
+ * in the mapping table may have been unreserved. Go back and
+ * change all of these to reserved again. Only the enclosures
+ * with the removal_flag set should be left as unreserved. The
+ * skip_search flag needs to be cleared as well so that the
+ * enclosure's space will be looked at the next time space is
+ * needed.
+ */
enc_entry = sc->enclosure_table;
for (enc_idx = 0; enc_idx < sc->num_enc_table_entries;
enc_idx++, enc_entry++) {
if (!enc_entry->removal_flag) {
+ mpr_dprint(sc, MPR_MAPPING, "%s: Reset the "
+ "reserved flag for all of the map entries "
+ "for enclosure %d.\n", __func__, enc_idx);
mt_entry = &sc->mapping_table[enc_entry->
start_index];
for (map_idx = enc_entry->start_index; map_idx <
@@ -890,7 +1147,7 @@ _mapping_get_dev_info(struct mpr_softc *sc,
u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags);
Mpi2ConfigReply_t mpi_reply;
Mpi2SasDevicePage0_t sas_device_pg0;
- u8 entry, enc_idx, phy_idx, sata_end_device;
+ u8 entry, enc_idx, phy_idx;
u32 map_idx, index, device_info;
struct _map_phy_change *phy_change, *tmp_phy_change;
uint64_t sas_address;
@@ -904,6 +1161,7 @@ _mapping_get_dev_info(struct mpr_softc *sc,
if (phy_change->is_processed || !phy_change->dev_handle ||
phy_change->reason != MPI2_EVENT_SAS_TOPO_RC_TARG_ADDED)
continue;
+
if (mpr_config_get_sas_device_pg0(sc, &mpi_reply,
&sas_device_pg0, MPI2_SAS_DEVICE_PGAD_FORM_HANDLE,
phy_change->dev_handle)) {
@@ -917,13 +1175,11 @@ _mapping_get_dev_info(struct mpr_softc *sc,
* when the system is shutdown.
*/
device_info = le32toh(sas_device_pg0.DeviceInfo);
- sas_address = sas_device_pg0.SASAddress.High;
+ sas_address = le32toh(sas_device_pg0.SASAddress.High);
sas_address = (sas_address << 32) |
- sas_device_pg0.SASAddress.Low;
- sata_end_device = 0;
+ le32toh(sas_device_pg0.SASAddress.Low);
if ((device_info & MPI2_SAS_DEVICE_INFO_END_DEVICE) &&
(device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE)) {
- sata_end_device = 1;
rc = mprsas_get_sas_address_for_sata_disk(sc,
&sas_address, phy_change->dev_handle, device_info,
&phy_change->is_SATA_SSD);
@@ -940,18 +1196,29 @@ _mapping_get_dev_info(struct mpr_softc *sc,
phy_change->physical_id = sas_address;
phy_change->slot = le16toh(sas_device_pg0.Slot);
- phy_change->device_info = le32toh(sas_device_pg0.DeviceInfo);
+ phy_change->device_info = device_info;
+ /*
+ * When using Enc/Slot mapping, if this device is an enclosure
+ * make sure that all of its slots can fit into the mapping
+ * table.
+ */
if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
+ /*
+ * The enclosure should already be in the enclosure
+ * table due to the Enclosure Add event. If not, just
+ * continue, nothing can be done.
+ */
enc_idx = _mapping_get_enc_idx_from_handle(sc,
topo_change->enc_handle);
if (enc_idx == MPR_ENCTABLE_BAD_IDX) {
phy_change->is_processed = 1;
- mpr_dprint(sc, MPR_MAPPING, "%s: failed to add "
- "the device with handle 0x%04x because the "
- "enclosure is not in the mapping table\n",
- __func__, phy_change->dev_handle);
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because the enclosure is not in "
+ "the mapping table\n", __func__,
+ phy_change->dev_handle);
continue;
}
if (!((phy_change->device_info &
@@ -964,8 +1231,20 @@ _mapping_get_dev_info(struct mpr_softc *sc,
continue;
}
et_entry = &sc->enclosure_table[enc_idx];
+
+ /*
+ * If the enclosure already has a start_index, it's been
+ * mapped, so go to the next Topo change.
+ */
if (et_entry->start_index != MPR_MAPTABLE_BAD_IDX)
continue;
+
+ /*
+ * If the Expander Handle is 0, the devices are direct
+ * attached. In that case, the start_index must be just
+ * after the reserved entries. Otherwise, find space in
+ * the mapping table for the enclosure's devices.
+ */
if (!topo_change->exp_handle) {
map_idx = sc->num_rsvd_entries;
et_entry->start_index = map_idx;
@@ -973,8 +1252,26 @@ _mapping_get_dev_info(struct mpr_softc *sc,
map_idx = _mapping_find_enc_map_space(sc,
et_entry);
et_entry->start_index = map_idx;
+
+ /*
+ * If space cannot be found to hold all of the
+ * enclosure's devices in the mapping table,
+ * there's no need to continue checking the
+ * other devices in this event. Set all of the
+ * phy_details for this event (if the change is
+ * for an add) as already processed because none
+ * of these devices can be added to the mapping
+ * table.
+ */
if (et_entry->start_index ==
MPR_MAPTABLE_BAD_IDX) {
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING,
+ "%s: failed to add the enclosure "
+ "with ID 0x%016jx because there is "
+ "no free space available in the "
+ "mapping table for all of the "
+ "enclosure's devices.\n", __func__,
+ (uintmax_t)et_entry->enclosure_id);
phy_change->is_processed = 1;
for (phy_idx = 0; phy_idx <
topo_change->num_entries;
@@ -990,12 +1287,173 @@ _mapping_get_dev_info(struct mpr_softc *sc,
break;
}
}
+
+ /*
+ * Found space in the mapping table for this enclosure.
+ * Initialize each mapping table entry for the
+ * enclosure.
+ */
+ mpr_dprint(sc, MPR_MAPPING, "%s: Initialize %d map "
+ "entries for the enclosure, starting at map index "
+ " %d.\n", __func__, et_entry->num_slots, map_idx);
mt_entry = &sc->mapping_table[map_idx];
for (index = map_idx; index < (et_entry->num_slots
+ map_idx); index++, mt_entry++) {
mt_entry->device_info = MPR_DEV_RESERVED;
mt_entry->physical_id = et_entry->enclosure_id;
mt_entry->phy_bits = et_entry->phy_bits;
+ mt_entry->missing_count = 0;
+ }
+ }
+ }
+}
+
+/**
+ * _mapping_get_pcie_dev_info -get information about newly added PCIe devices
+ * @sc: per adapter object
+ * @topo_change: Topology change event entry
+ *
+ * Searches through the PCIe topology change event list and issues PCIe device
+ * pg0 requests for the newly added PCIe device. If the device is in an
+ * enclosure, search for available space in the enclosure mapping table for the
+ * device and reserve that space.
+ *
+ * Returns nothing
+ */
+static void
+_mapping_get_pcie_dev_info(struct mpr_softc *sc,
+ struct _map_pcie_topology_change *topo_change)
+{
+ u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags);
+ Mpi2ConfigReply_t mpi_reply;
+ Mpi26PCIeDevicePage0_t pcie_device_pg0;
+ u8 entry, enc_idx, port_idx;
+ u32 map_idx, index;
+ struct _map_port_change *port_change, *tmp_port_change;
+ uint64_t pcie_wwid;
+ struct enc_mapping_table *et_entry;
+ struct dev_mapping_table *mt_entry;
+ u8 add_code = MPI26_EVENT_PCIE_TOPO_PS_DEV_ADDED;
+
+ for (entry = 0; entry < topo_change->num_entries; entry++) {
+ port_change = &topo_change->port_details[entry];
+ if (port_change->is_processed || !port_change->dev_handle ||
+ port_change->reason != MPI26_EVENT_PCIE_TOPO_PS_DEV_ADDED)
+ continue;
+ if (mpr_config_get_pcie_device_pg0(sc, &mpi_reply,
+ &pcie_device_pg0, MPI26_PCIE_DEVICE_PGAD_FORM_HANDLE,
+ port_change->dev_handle)) {
+ port_change->is_processed = 1;
+ continue;
+ }
+
+ pcie_wwid = pcie_device_pg0.WWID.High;
+ pcie_wwid = (pcie_wwid << 32) | pcie_device_pg0.WWID.Low;
+ port_change->physical_id = pcie_wwid;
+ port_change->slot = le16toh(pcie_device_pg0.Slot);
+ port_change->device_info = le32toh(pcie_device_pg0.DeviceInfo);
+
+ /*
+ * When using Enc/Slot mapping, if this device is an enclosure
+ * make sure that all of its slots can fit into the mapping
+ * table.
+ */
+ if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
+ MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
+ /*
+ * The enclosure should already be in the enclosure
+ * table due to the Enclosure Add event. If not, just
+ * continue, nothing can be done.
+ */
+ enc_idx = _mapping_get_enc_idx_from_handle(sc,
+ topo_change->enc_handle);
+ if (enc_idx == MPR_ENCTABLE_BAD_IDX) {
+ port_change->is_processed = 1;
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because the enclosure is not in "
+ "the mapping table\n", __func__,
+ port_change->dev_handle);
+ continue;
+ }
+ if (!(port_change->device_info &
+ MPI26_PCIE_DEVINFO_NVME)) {
+ port_change->is_processed = 1;
+ continue;
+ }
+ et_entry = &sc->enclosure_table[enc_idx];
+
+ /*
+ * If the enclosure already has a start_index, it's been
+ * mapped, so go to the next Topo change.
+ */
+ if (et_entry->start_index != MPR_MAPTABLE_BAD_IDX)
+ continue;
+
+ /*
+ * If the Switch Handle is 0, the devices are direct
+ * attached. In that case, the start_index must be just
+ * after the reserved entries. Otherwise, find space in
+ * the mapping table for the enclosure's devices.
+ */
+ if (!topo_change->switch_dev_handle) {
+ map_idx = sc->num_rsvd_entries;
+ et_entry->start_index = map_idx;
+ } else {
+ map_idx = _mapping_find_enc_map_space(sc,
+ et_entry);
+ et_entry->start_index = map_idx;
+
+ /*
+ * If space cannot be found to hold all of the
+ * enclosure's devices in the mapping table,
+ * there's no need to continue checking the
+ * other devices in this event. Set all of the
+ * port_details for this event (if the change is
+ * for an add) as already processed because none
+ * of these devices can be added to the mapping
+ * table.
+ */
+ if (et_entry->start_index ==
+ MPR_MAPTABLE_BAD_IDX) {
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING,
+ "%s: failed to add the enclosure "
+ "with ID 0x%016jx because there is "
+ "no free space available in the "
+ "mapping table for all of the "
+ "enclosure's devices.\n", __func__,
+ (uintmax_t)et_entry->enclosure_id);
+ port_change->is_processed = 1;
+ for (port_idx = 0; port_idx <
+ topo_change->num_entries;
+ port_idx++) {
+ tmp_port_change =
+ &topo_change->port_details
+ [port_idx];
+ if (tmp_port_change->reason ==
+ add_code)
+ tmp_port_change->
+ is_processed = 1;
+ }
+ break;
+ }
+ }
+
+ /*
+ * Found space in the mapping table for this enclosure.
+ * Initialize each mapping table entry for the
+ * enclosure.
+ */
+ mpr_dprint(sc, MPR_MAPPING, "%s: Initialize %d map "
+ "entries for the enclosure, starting at map index "
+ " %d.\n", __func__, et_entry->num_slots, map_idx);
+ mt_entry = &sc->mapping_table[map_idx];
+ for (index = map_idx; index < (et_entry->num_slots
+ + map_idx); index++, mt_entry++) {
+ mt_entry->device_info = MPR_DEV_RESERVED;
+ mt_entry->physical_id = et_entry->enclosure_id;
+ mt_entry->phy_bits = et_entry->phy_bits;
+ mt_entry->missing_count = 0;
}
}
}
@@ -1015,6 +1473,7 @@ _mapping_set_mid_to_eid(struct mpr_softc *sc,
struct dev_mapping_table *mt_entry;
u16 slots = et_entry->num_slots, map_idx;
u32 start_idx = et_entry->start_index;
+
if (start_idx != MPR_MAPTABLE_BAD_IDX) {
mt_entry = &sc->mapping_table[start_idx];
for (map_idx = 0; map_idx < slots; map_idx++, mt_entry++)
@@ -1064,6 +1523,13 @@ _mapping_clear_removed_entries(struct mpr_softc *sc)
}
}
}
+
+ /*
+ * When using Enc/Slot mapping, if a new enclosure was added and old
+ * enclosure space was needed, the enclosure table may now have gaps
+ * that need to be closed. All enclosure mappings need to be contiguous
+ * so that space can be reused correctly if available.
+ */
if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
num_entries = sc->num_enc_table_entries;
@@ -1106,8 +1572,8 @@ _mapping_clear_removed_entries(struct mpr_softc *sc)
* @sc: per adapter object
* @topo_change: Topology change event entry
*
- * Search through the topology change event list and updates map table,
- * enclosure table and DPM pages for for the newly added devices.
+ * Search through the topology change event list and update map table,
+ * enclosure table and DPM pages for the newly added devices.
*
* Returns nothing
*/
@@ -1144,30 +1610,41 @@ _mapping_add_new_device(struct mpr_softc *sc,
(sc, topo_change->enc_handle);
if (enc_idx == MPR_ENCTABLE_BAD_IDX) {
phy_change->is_processed = 1;
- printf("%s: failed to add the device with "
- "handle 0x%04x because the enclosure is "
- "not in the mapping table\n", __func__,
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because the enclosure is not in "
+ "the mapping table\n", __func__,
phy_change->dev_handle);
continue;
}
+
+ /*
+ * If the enclosure's start_index is BAD here, it means
+ * that there is no room in the mapping table to cover
+ * all of the devices that could be in the enclosure.
+ * There's no reason to process any of the devices for
+ * this enclosure since they can't be mapped.
+ */
et_entry = &sc->enclosure_table[enc_idx];
if (et_entry->start_index == MPR_MAPTABLE_BAD_IDX) {
phy_change->is_processed = 1;
- if (!sc->mt_full_retry) {
- sc->mt_add_device_failed = 1;
- continue;
- }
- printf("%s: failed to add the device with "
- "handle 0x%04x because there is no free "
- "space available in the mapping table\n",
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because there is no free space "
+ "available in the mapping table\n",
__func__, phy_change->dev_handle);
continue;
}
+
+ /*
+ * Add this device to the mapping table at the correct
+ * offset where space was found to map the enclosure.
+ * Then setup the DPM entry information if being used.
+ */
map_idx = et_entry->start_index + phy_change->slot -
et_entry->start_slot;
mt_entry = &sc->mapping_table[map_idx];
mt_entry->physical_id = phy_change->physical_id;
- mt_entry->channel = 0;
mt_entry->id = map_idx;
mt_entry->dev_handle = phy_change->dev_handle;
mt_entry->missing_count = 0;
@@ -1194,28 +1671,28 @@ _mapping_add_new_device(struct mpr_softc *sc,
et_entry->enclosure_id);
dpm_entry->
PhysicalIdentifier.High =
- ( et_entry->enclosure_id
+ (et_entry->enclosure_id
>> 32);
dpm_entry->DeviceIndex =
(U16)et_entry->start_index;
dpm_entry->MappingInformation =
- et_entry->num_slots;
+ et_entry->num_slots;
dpm_entry->MappingInformation
<<= map_shift;
dpm_entry->PhysicalBitsMapping
= et_entry->phy_bits;
et_entry->dpm_entry_num =
dpm_idx;
- /* FIXME Do I need to set the dpm_idxin mt_entry too */
sc->dpm_entry_used[dpm_idx] = 1;
sc->dpm_flush_entry[dpm_idx] =
1;
phy_change->is_processed = 1;
} else {
phy_change->is_processed = 1;
- mpr_dprint(sc, MPR_INFO, "%s: "
- "failed to add the device "
- "with handle 0x%04x to "
+ mpr_dprint(sc, MPR_ERROR |
+ MPR_MAPPING, "%s: failed "
+ "to add the device with "
+ "handle 0x%04x to "
"persistent table because "
"there is no free space "
"available\n", __func__,
@@ -1226,11 +1703,20 @@ _mapping_add_new_device(struct mpr_softc *sc,
mt_entry->dpm_entry_num = dpm_idx;
}
}
- /* FIXME Why not mt_entry too? */
et_entry->init_complete = 1;
} else if ((ioc_pg8_flags &
MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) {
+
+ /*
+ * Get the mapping table index for this device. If it's
+ * not in the mapping table yet, find a free entry if
+ * one is available. If there are no free entries, look
+ * for the entry that has the highest missing count. If
+ * none of that works to find an entry in the mapping
+ * table, there is a problem. Log a message and just
+ * continue on.
+ */
map_idx = _mapping_get_mt_idx_from_id
(sc, phy_change->physical_id);
if (map_idx == MPR_MAPTABLE_BAD_IDX) {
@@ -1240,23 +1726,24 @@ _mapping_add_new_device(struct mpr_softc *sc,
map_idx = _mapping_get_free_mt_idx(sc,
search_idx);
}
+
+ /*
+ * If an entry will be used that has a missing device,
+ * clear its entry from the DPM in the controller.
+ */
if (map_idx == MPR_MAPTABLE_BAD_IDX) {
map_idx = _mapping_get_high_missing_mt_idx(sc);
if (map_idx != MPR_MAPTABLE_BAD_IDX) {
mt_entry = &sc->mapping_table[map_idx];
- if (mt_entry->dev_handle) {
- _mapping_add_to_removal_table
- (sc, mt_entry->dev_handle,
- 0);
- is_removed = 1;
- }
+ _mapping_add_to_removal_table(sc,
+ mt_entry->dpm_entry_num);
+ is_removed = 1;
mt_entry->init_complete = 0;
}
}
if (map_idx != MPR_MAPTABLE_BAD_IDX) {
mt_entry = &sc->mapping_table[map_idx];
mt_entry->physical_id = phy_change->physical_id;
- mt_entry->channel = 0;
mt_entry->id = map_idx;
mt_entry->dev_handle = phy_change->dev_handle;
mt_entry->missing_count = 0;
@@ -1264,13 +1751,10 @@ _mapping_add_new_device(struct mpr_softc *sc,
| (MPR_DEV_RESERVED | MPR_MAP_IN_USE);
} else {
phy_change->is_processed = 1;
- if (!sc->mt_full_retry) {
- sc->mt_add_device_failed = 1;
- continue;
- }
- printf("%s: failed to add the device with "
- "handle 0x%04x because there is no free "
- "space available in the mapping table\n",
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because there is no free space "
+ "available in the mapping table\n",
__func__, phy_change->dev_handle);
continue;
}
@@ -1288,16 +1772,24 @@ _mapping_add_new_device(struct mpr_softc *sc,
PhysicalIdentifier.High;
temp64_var = (temp64_var << 32) |
dpm_entry->PhysicalIdentifier.Low;
+
+ /*
+ * If the Mapping Table's info is not
+ * the same as the DPM entry, clear the
+ * init_complete flag so that it's
+ * updated.
+ */
if ((mt_entry->physical_id ==
temp64_var) && !missing_cnt)
mt_entry->init_complete = 1;
+ else
+ mt_entry->init_complete = 0;
} else {
dpm_idx = _mapping_get_free_dpm_idx(sc);
mt_entry->init_complete = 0;
}
if (dpm_idx != MPR_DPM_BAD_IDX &&
!mt_entry->init_complete) {
- mt_entry->init_complete = 1;
mt_entry->dpm_entry_num = dpm_idx;
dpm_entry = (Mpi2DriverMap0Entry_t *)
((u8 *)sc->dpm_pg0 + hdr_sz);
@@ -1314,20 +1806,278 @@ _mapping_add_new_device(struct mpr_softc *sc,
sc->dpm_flush_entry[dpm_idx] = 1;
phy_change->is_processed = 1;
} else if (dpm_idx == MPR_DPM_BAD_IDX) {
- phy_change->is_processed = 1;
- mpr_dprint(sc, MPR_INFO, "%s: "
- "failed to add the device "
- "with handle 0x%04x to "
+ phy_change->is_processed = 1;
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING,
+ "%s: failed to add the device with "
+ "handle 0x%04x to persistent table "
+ "because there is no free space "
+ "available\n", __func__,
+ phy_change->dev_handle);
+ }
+ }
+ mt_entry->init_complete = 1;
+ }
+
+ phy_change->is_processed = 1;
+ }
+ if (is_removed)
+ _mapping_clear_removed_entries(sc);
+}
+
+/**
+ * _mapping_add_new_pcie_device -Add the new PCIe device into mapping table
+ * @sc: per adapter object
+ * @topo_change: Topology change event entry
+ *
+ * Search through the PCIe topology change event list and update map table,
+ * enclosure table and DPM pages for the newly added devices.
+ *
+ * Returns nothing
+ */
+static void
+_mapping_add_new_pcie_device(struct mpr_softc *sc,
+ struct _map_pcie_topology_change *topo_change)
+{
+ u8 enc_idx, missing_cnt, is_removed = 0;
+ u16 dpm_idx;
+ u32 search_idx, map_idx;
+ u32 entry;
+ struct dev_mapping_table *mt_entry;
+ struct enc_mapping_table *et_entry;
+ struct _map_port_change *port_change;
+ u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags);
+ Mpi2DriverMap0Entry_t *dpm_entry;
+ uint64_t temp64_var;
+ u8 map_shift = MPI2_DRVMAP0_MAPINFO_SLOT_SHIFT;
+ u8 hdr_sz = sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER);
+ u16 max_num_phy_ids = le16toh(sc->ioc_pg8.MaxNumPhysicalMappedIDs);
+
+ for (entry = 0; entry < topo_change->num_entries; entry++) {
+ port_change = &topo_change->port_details[entry];
+ if (port_change->is_processed)
+ continue;
+ if (port_change->reason != MPI26_EVENT_PCIE_TOPO_PS_DEV_ADDED ||
+ !port_change->dev_handle) {
+ port_change->is_processed = 1;
+ continue;
+ }
+ if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
+ MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
+ enc_idx = _mapping_get_enc_idx_from_handle
+ (sc, topo_change->enc_handle);
+ if (enc_idx == MPR_ENCTABLE_BAD_IDX) {
+ port_change->is_processed = 1;
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because the enclosure is not in "
+ "the mapping table\n", __func__,
+ port_change->dev_handle);
+ continue;
+ }
+
+ /*
+ * If the enclosure's start_index is BAD here, it means
+ * that there is no room in the mapping table to cover
+ * all of the devices that could be in the enclosure.
+ * There's no reason to process any of the devices for
+ * this enclosure since they can't be mapped.
+ */
+ et_entry = &sc->enclosure_table[enc_idx];
+ if (et_entry->start_index == MPR_MAPTABLE_BAD_IDX) {
+ port_change->is_processed = 1;
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because there is no free space "
+ "available in the mapping table\n",
+ __func__, port_change->dev_handle);
+ continue;
+ }
+
+ /*
+ * Add this device to the mapping table at the correct
+ * offset where space was found to map the enclosure.
+ * Then setup the DPM entry information if being used.
+ */
+ map_idx = et_entry->start_index + port_change->slot -
+ et_entry->start_slot;
+ mt_entry = &sc->mapping_table[map_idx];
+ mt_entry->physical_id = port_change->physical_id;
+ mt_entry->id = map_idx;
+ mt_entry->dev_handle = port_change->dev_handle;
+ mt_entry->missing_count = 0;
+ mt_entry->dpm_entry_num = et_entry->dpm_entry_num;
+ mt_entry->device_info = port_change->device_info |
+ (MPR_DEV_RESERVED | MPR_MAP_IN_USE);
+ if (sc->is_dpm_enable) {
+ dpm_idx = et_entry->dpm_entry_num;
+ if (dpm_idx == MPR_DPM_BAD_IDX)
+ dpm_idx = _mapping_get_dpm_idx_from_id
+ (sc, et_entry->enclosure_id,
+ et_entry->phy_bits);
+ if (dpm_idx == MPR_DPM_BAD_IDX) {
+ dpm_idx = _mapping_get_free_dpm_idx(sc);
+ if (dpm_idx != MPR_DPM_BAD_IDX) {
+ dpm_entry =
+ (Mpi2DriverMap0Entry_t *)
+ ((u8 *) sc->dpm_pg0 +
+ hdr_sz);
+ dpm_entry += dpm_idx;
+ dpm_entry->
+ PhysicalIdentifier.Low =
+ (0xFFFFFFFF &
+ et_entry->enclosure_id);
+ dpm_entry->
+ PhysicalIdentifier.High =
+ (et_entry->enclosure_id
+ >> 32);
+ dpm_entry->DeviceIndex =
+ (U16)et_entry->start_index;
+ dpm_entry->MappingInformation =
+ et_entry->num_slots;
+ dpm_entry->MappingInformation
+ <<= map_shift;
+ dpm_entry->PhysicalBitsMapping
+ = et_entry->phy_bits;
+ et_entry->dpm_entry_num =
+ dpm_idx;
+ sc->dpm_entry_used[dpm_idx] = 1;
+ sc->dpm_flush_entry[dpm_idx] =
+ 1;
+ port_change->is_processed = 1;
+ } else {
+ port_change->is_processed = 1;
+ mpr_dprint(sc, MPR_ERROR |
+ MPR_MAPPING, "%s: failed "
+ "to add the device with "
+ "handle 0x%04x to "
"persistent table because "
"there is no free space "
"available\n", __func__,
- phy_change->dev_handle);
+ port_change->dev_handle);
+ }
+ } else {
+ et_entry->dpm_entry_num = dpm_idx;
+ mt_entry->dpm_entry_num = dpm_idx;
+ }
+ }
+ et_entry->init_complete = 1;
+ } else if ((ioc_pg8_flags &
+ MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
+ MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) {
+
+ /*
+ * Get the mapping table index for this device. If it's
+ * not in the mapping table yet, find a free entry if
+ * one is available. If there are no free entries, look
+ * for the entry that has the highest missing count. If
+ * none of that works to find an entry in the mapping
+ * table, there is a problem. Log a message and just
+ * continue on.
+ */
+ map_idx = _mapping_get_mt_idx_from_id
+ (sc, port_change->physical_id);
+ if (map_idx == MPR_MAPTABLE_BAD_IDX) {
+ search_idx = sc->num_rsvd_entries;
+ if (topo_change->switch_dev_handle)
+ search_idx += max_num_phy_ids;
+ map_idx = _mapping_get_free_mt_idx(sc,
+ search_idx);
+ }
+
+ /*
+ * If an entry will be used that has a missing device,
+ * clear its entry from the DPM in the controller.
+ */
+ if (map_idx == MPR_MAPTABLE_BAD_IDX) {
+ map_idx = _mapping_get_high_missing_mt_idx(sc);
+ if (map_idx != MPR_MAPTABLE_BAD_IDX) {
+ mt_entry = &sc->mapping_table[map_idx];
+ _mapping_add_to_removal_table(sc,
+ mt_entry->dpm_entry_num);
+ is_removed = 1;
+ mt_entry->init_complete = 0;
+ }
+ }
+ if (map_idx != MPR_MAPTABLE_BAD_IDX) {
+ mt_entry = &sc->mapping_table[map_idx];
+ mt_entry->physical_id =
+ port_change->physical_id;
+ mt_entry->id = map_idx;
+ mt_entry->dev_handle = port_change->dev_handle;
+ mt_entry->missing_count = 0;
+ mt_entry->device_info =
+ port_change->device_info |
+ (MPR_DEV_RESERVED | MPR_MAP_IN_USE);
+ } else {
+ port_change->is_processed = 1;
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because there is no free space "
+ "available in the mapping table\n",
+ __func__, port_change->dev_handle);
+ continue;
+ }
+ if (sc->is_dpm_enable) {
+ if (mt_entry->dpm_entry_num !=
+ MPR_DPM_BAD_IDX) {
+ dpm_idx = mt_entry->dpm_entry_num;
+ dpm_entry = (Mpi2DriverMap0Entry_t *)
+ ((u8 *)sc->dpm_pg0 + hdr_sz);
+ dpm_entry += dpm_idx;
+ missing_cnt = dpm_entry->
+ MappingInformation &
+ MPI2_DRVMAP0_MAPINFO_MISSING_MASK;
+ temp64_var = dpm_entry->
+ PhysicalIdentifier.High;
+ temp64_var = (temp64_var << 32) |
+ dpm_entry->PhysicalIdentifier.Low;
+
+ /*
+ * If the Mapping Table's info is not
+ * the same as the DPM entry, clear the
+ * init_complete flag so that it's
+ * updated.
+ */
+ if ((mt_entry->physical_id ==
+ temp64_var) && !missing_cnt)
+ mt_entry->init_complete = 1;
+ else
+ mt_entry->init_complete = 0;
+ } else {
+ dpm_idx = _mapping_get_free_dpm_idx(sc);
+ mt_entry->init_complete = 0;
+ }
+ if (dpm_idx != MPR_DPM_BAD_IDX &&
+ !mt_entry->init_complete) {
+ mt_entry->dpm_entry_num = dpm_idx;
+ dpm_entry = (Mpi2DriverMap0Entry_t *)
+ ((u8 *)sc->dpm_pg0 + hdr_sz);
+ dpm_entry += dpm_idx;
+ dpm_entry->PhysicalIdentifier.Low =
+ (0xFFFFFFFF &
+ mt_entry->physical_id);
+ dpm_entry->PhysicalIdentifier.High =
+ (mt_entry->physical_id >> 32);
+ dpm_entry->DeviceIndex = (U16) map_idx;
+ dpm_entry->MappingInformation = 0;
+ dpm_entry->PhysicalBitsMapping = 0;
+ sc->dpm_entry_used[dpm_idx] = 1;
+ sc->dpm_flush_entry[dpm_idx] = 1;
+ port_change->is_processed = 1;
+ } else if (dpm_idx == MPR_DPM_BAD_IDX) {
+ port_change->is_processed = 1;
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING,
+ "%s: failed to add the device with "
+ "handle 0x%04x to persistent table "
+ "because there is no free space "
+ "available\n", __func__,
+ port_change->dev_handle);
}
}
mt_entry->init_complete = 1;
}
- phy_change->is_processed = 1;
+ port_change->is_processed = 1;
}
if (is_removed)
_mapping_clear_removed_entries(sc);
@@ -1364,10 +2114,13 @@ _mapping_flush_dpm_pages(struct mpr_softc *sc)
memcpy(&config_page.Entry, (u8 *)dpm_entry,
sizeof(Mpi2DriverMap0Entry_t));
/* TODO-How to handle failed writes? */
+ mpr_dprint(sc, MPR_MAPPING, "%s: Flushing DPM entry %d.\n",
+ __func__, entry_num);
if (mpr_config_set_dpm_pg0(sc, &mpi_reply, &config_page,
entry_num)) {
- printf("%s: write of dpm entry %d for device failed\n",
- __func__, entry_num);
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: Flush of "
+ "DPM entry %d for device failed\n", __func__,
+ entry_num);
} else
sc->dpm_flush_entry[entry_num] = 0;
dpm_entry->MappingInformation = le16toh(dpm_entry->
@@ -1457,7 +2210,6 @@ mpr_mapping_free_memory(struct mpr_softc *sc)
free(sc->dpm_pg0, M_MPR);
}
-
static void
_mapping_process_dpm_pg0(struct mpr_softc *sc)
{
@@ -1472,9 +2224,20 @@ _mapping_process_dpm_pg0(struct mpr_softc *sc)
u64 physical_id;
u32 phy_bits = 0;
+ /*
+ * start_idx and end_idx are only used for IR.
+ */
if (sc->ir_firmware)
_mapping_get_ir_maprange(sc, &start_idx, &end_idx);
+ /*
+ * Look through all of the DPM entries that were read from the
+ * controller and copy them over to the driver's internal table if they
+ * have a non-zero ID. At this point, any ID with a value of 0 would be
+ * invalid, so don't copy it.
+ */
+ mpr_dprint(sc, MPR_MAPPING, "%s: Start copy of %d DPM entries into the "
+ "mapping table.\n", __func__, sc->max_dpm_entries);
dpm_entry = (Mpi2DriverMap0Entry_t *) ((uint8_t *) sc->dpm_pg0 +
sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
for (entry_num = 0; entry_num < sc->max_dpm_entries; entry_num++,
@@ -1493,13 +2256,20 @@ _mapping_process_dpm_pg0(struct mpr_softc *sc)
MPI2_DRVMAP0_MAPINFO_MISSING_MASK;
dev_idx = le16toh(dpm_entry->DeviceIndex);
phy_bits = le32toh(dpm_entry->PhysicalBitsMapping);
+
+ /*
+ * Volumes are at special locations in the mapping table so
+ * account for that. Volume mapping table entries do not depend
+ * on the type of mapping, so continue the loop after adding
+ * volumes to the mapping table.
+ */
if (sc->ir_firmware && (dev_idx >= start_idx) &&
(dev_idx <= end_idx)) {
mt_entry = &sc->mapping_table[dev_idx];
- mt_entry->physical_id = dpm_entry->PhysicalIdentifier.High;
+ mt_entry->physical_id =
+ dpm_entry->PhysicalIdentifier.High;
mt_entry->physical_id = (mt_entry->physical_id << 32) |
dpm_entry->PhysicalIdentifier.Low;
- mt_entry->channel = MPR_RAID_CHANNEL;
mt_entry->id = dev_idx;
mt_entry->missing_count = missing_cnt;
mt_entry->dpm_entry_num = entry_num;
@@ -1508,7 +2278,16 @@ _mapping_process_dpm_pg0(struct mpr_softc *sc)
}
if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
- if (dev_idx < (sc->num_rsvd_entries +
+
+ /*
+ * The dev_idx for an enclosure is the start index. If
+ * the start index is within the controller's default
+ * enclosure area, set the number of slots for this
+ * enclosure to the max allowed. Otherwise, it should be
+ * a normal enclosure and the number of slots is in the
+ * DPM entry's Mapping Information.
+ */
+ if (dev_idx < (sc->num_rsvd_entries +
max_num_phy_ids)) {
slot_id = 0;
if (ioc_pg8_flags &
@@ -1523,8 +2302,9 @@ _mapping_process_dpm_pg0(struct mpr_softc *sc)
}
enc_idx = sc->num_enc_table_entries;
if (enc_idx >= sc->max_enclosures) {
- printf("%s: enclosure entries exceed max "
- "enclosures of %d\n", __func__,
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "Number of enclosure entries in DPM exceed "
+ "the max allowed of %d.\n", __func__,
sc->max_enclosures);
break;
}
@@ -1540,21 +2320,32 @@ _mapping_process_dpm_pg0(struct mpr_softc *sc)
et_entry->missing_count = missing_cnt;
et_entry->phy_bits = phy_bits;
+ /*
+ * Initialize all entries for this enclosure in the
+ * mapping table and mark them as reserved. The actual
+ * devices have not been processed yet but when they are
+ * they will use these entries. If an entry is found
+ * that already has a valid DPM index, the mapping table
+ * is corrupt. This can happen if the mapping type is
+ * changed without clearing all of the DPM entries in
+ * the controller.
+ */
mt_entry = &sc->mapping_table[dev_idx];
for (map_idx = dev_idx; map_idx < (dev_idx + num_slots);
map_idx++, mt_entry++) {
if (mt_entry->dpm_entry_num !=
MPR_DPM_BAD_IDX) {
- printf("%s: conflict in mapping table "
- "for enclosure %d\n", __func__,
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING,
+ "%s: Conflict in mapping table for "
+ " enclosure %d\n", __func__,
enc_idx);
break;
}
- physical_id = dpm_entry->PhysicalIdentifier.High;
+ physical_id =
+ dpm_entry->PhysicalIdentifier.High;
mt_entry->physical_id = (physical_id << 32) |
dpm_entry->PhysicalIdentifier.Low;
mt_entry->phy_bits = phy_bits;
- mt_entry->channel = 0;
mt_entry->id = dev_idx;
mt_entry->dpm_entry_num = entry_num;
mt_entry->missing_count = missing_cnt;
@@ -1563,18 +2354,24 @@ _mapping_process_dpm_pg0(struct mpr_softc *sc)
} else if ((ioc_pg8_flags &
MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) {
+
+ /*
+ * Device mapping, so simply copy the DPM entries to the
+ * mapping table, but check for a corrupt mapping table
+ * (as described above in Enc/Slot mapping).
+ */
map_idx = dev_idx;
mt_entry = &sc->mapping_table[map_idx];
if (mt_entry->dpm_entry_num != MPR_DPM_BAD_IDX) {
- printf("%s: conflict in mapping table for "
- "device %d\n", __func__, map_idx);
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "Conflict in mapping table for device %d\n",
+ __func__, map_idx);
break;
}
physical_id = dpm_entry->PhysicalIdentifier.High;
mt_entry->physical_id = (physical_id << 32) |
dpm_entry->PhysicalIdentifier.Low;
mt_entry->phy_bits = phy_bits;
- mt_entry->channel = 0;
mt_entry->id = dev_idx;
mt_entry->missing_count = missing_cnt;
mt_entry->dpm_entry_num = entry_num;
@@ -1586,43 +2383,91 @@ _mapping_process_dpm_pg0(struct mpr_softc *sc)
/*
* mpr_mapping_check_devices - start of the day check for device availabilty
* @sc: per adapter object
- * @sleep_flag: Flag indicating whether this function can sleep or not
*
* Returns nothing.
*/
void
-mpr_mapping_check_devices(struct mpr_softc *sc, int sleep_flag)
+mpr_mapping_check_devices(void *data)
{
u32 i;
-/* u32 cntdn, i;
- u32 timeout = 60;*/
struct dev_mapping_table *mt_entry;
+ struct mpr_softc *sc = (struct mpr_softc *)data;
u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags);
struct enc_mapping_table *et_entry;
- u32 start_idx, end_idx;
+ u32 start_idx = 0, end_idx = 0;
+ u8 stop_device_checks = 0;
+
+ MPR_FUNCTRACE(sc);
- /* We need to ucomment this when this function is called
- * from the port enable complete */
-#if 0
+ /*
+ * Clear this flag so that this function is never called again except
+ * within this function if the check needs to be done again. The
+ * purpose is to check for missing devices that are currently in the
+ * mapping table so do this only at driver init after discovery.
+ */
sc->track_mapping_events = 0;
- cntdn = (sleep_flag == CAN_SLEEP) ? 1000*timeout : 2000*timeout;
- do {
- if (!sc->pending_map_events)
- break;
- if (sleep_flag == CAN_SLEEP)
- pause("mpr_pause", (hz/1000));/* 1msec sleep */
- else
- DELAY(500); /* 500 useconds delay */
- } while (--cntdn);
+ /*
+ * callout synchronization
+ * This is used to prevent race conditions for the callout.
+ */
+ mpr_dprint(sc, MPR_MAPPING, "%s: Start check for missing devices.\n",
+ __func__);
+ mtx_assert(&sc->mpr_mtx, MA_OWNED);
+ if ((callout_pending(&sc->device_check_callout)) ||
+ (!callout_active(&sc->device_check_callout))) {
+ mpr_dprint(sc, MPR_MAPPING, "%s: Device Check Callout is "
+ "already pending or not active.\n", __func__);
+ return;
+ }
+ callout_deactivate(&sc->device_check_callout);
+
+ /*
+ * Use callout to check if any devices in the mapping table have been
+ * processed yet. If ALL devices are marked as not init_complete, no
+ * devices have been processed and mapped. Until devices are mapped
+ * there's no reason to mark them as missing. Continue resetting this
+ * callout until devices have been mapped.
+ */
+ if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
+ MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
+ et_entry = sc->enclosure_table;
+ for (i = 0; i < sc->num_enc_table_entries; i++, et_entry++) {
+ if (et_entry->init_complete) {
+ stop_device_checks = 1;
+ break;
+ }
+ }
+ } else if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
+ MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) {
+ mt_entry = sc->mapping_table;
+ for (i = 0; i < sc->max_devices; i++, mt_entry++) {
+ if (mt_entry->init_complete) {
+ stop_device_checks = 1;
+ break;
+ }
+ }
+ }
- if (!cntdn)
- printf("%s: there are %d"
- " pending events after %d seconds of delay\n",
- __func__, sc->pending_map_events, timeout);
-#endif
- sc->pending_map_events = 0;
+ /*
+ * Setup another callout check after a delay. Keep doing this until
+ * devices are mapped.
+ */
+ if (!stop_device_checks) {
+ mpr_dprint(sc, MPR_MAPPING, "%s: No devices have been mapped. "
+ "Reset callout to check again after a %d second delay.\n",
+ __func__, MPR_MISSING_CHECK_DELAY);
+ callout_reset(&sc->device_check_callout,
+ MPR_MISSING_CHECK_DELAY * hz, mpr_mapping_check_devices,
+ sc);
+ return;
+ }
+ mpr_dprint(sc, MPR_MAPPING, "%s: Device check complete.\n", __func__);
+ /*
+ * Depending on the mapping type, check if devices have been processed
+ * and update their missing counts if not processed.
+ */
if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
et_entry = sc->enclosure_table;
@@ -1630,11 +2475,16 @@ mpr_mapping_check_devices(struct mpr_softc *sc, int sleep_flag)
if (!et_entry->init_complete) {
if (et_entry->missing_count <
MPR_MAX_MISSING_COUNT) {
+ mpr_dprint(sc, MPR_MAPPING, "%s: "
+ "Enclosure %d is missing from the "
+ "topology. Update its missing "
+ "count.\n", __func__, i);
et_entry->missing_count++;
if (et_entry->dpm_entry_num !=
- MPR_DPM_BAD_IDX)
+ MPR_DPM_BAD_IDX) {
_mapping_commit_enc_entry(sc,
et_entry);
+ }
}
et_entry->init_complete = 1;
}
@@ -1643,69 +2493,45 @@ mpr_mapping_check_devices(struct mpr_softc *sc, int sleep_flag)
return;
_mapping_get_ir_maprange(sc, &start_idx, &end_idx);
mt_entry = &sc->mapping_table[start_idx];
- for (i = start_idx; i < (end_idx + 1); i++, mt_entry++) {
- if (mt_entry->device_info & MPR_DEV_RESERVED
- && !mt_entry->physical_id)
- mt_entry->init_complete = 1;
- else if (mt_entry->device_info & MPR_DEV_RESERVED) {
- if (!mt_entry->init_complete) {
- if (mt_entry->missing_count <
- MPR_MAX_MISSING_COUNT) {
- mt_entry->missing_count++;
- if (mt_entry->dpm_entry_num !=
- MPR_DPM_BAD_IDX)
- _mapping_commit_map_entry(sc,
- mt_entry);
- }
- mt_entry->init_complete = 1;
- }
- }
- }
} else if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) {
+ start_idx = 0;
+ end_idx = sc->max_devices - 1;
mt_entry = sc->mapping_table;
- for (i = 0; i < sc->max_devices; i++, mt_entry++) {
- if (mt_entry->device_info & MPR_DEV_RESERVED
- && !mt_entry->physical_id)
- mt_entry->init_complete = 1;
- else if (mt_entry->device_info & MPR_DEV_RESERVED) {
- if (!mt_entry->init_complete) {
- if (mt_entry->missing_count <
- MPR_MAX_MISSING_COUNT) {
- mt_entry->missing_count++;
- if (mt_entry->dpm_entry_num !=
- MPR_DPM_BAD_IDX)
+ }
+
+ /*
+ * The start and end indices have been set above according to the
+ * mapping type. Go through these mappings and update any entries that
+ * do not have the init_complete flag set, which means they are missing.
+ */
+ if (end_idx == 0)
+ return;
+ for (i = start_idx; i < (end_idx + 1); i++, mt_entry++) {
+ if (mt_entry->device_info & MPR_DEV_RESERVED
+ && !mt_entry->physical_id)
+ mt_entry->init_complete = 1;
+ else if (mt_entry->device_info & MPR_DEV_RESERVED) {
+ if (!mt_entry->init_complete) {
+ mpr_dprint(sc, MPR_MAPPING, "%s: Device in "
+ "mapping table at index %d is missing from "
+ "topology. Update its missing count.\n",
+ __func__, i);
+ if (mt_entry->missing_count <
+ MPR_MAX_MISSING_COUNT) {
+ mt_entry->missing_count++;
+ if (mt_entry->dpm_entry_num !=
+ MPR_DPM_BAD_IDX) {
_mapping_commit_map_entry(sc,
mt_entry);
}
- mt_entry->init_complete = 1;
}
+ mt_entry->init_complete = 1;
}
}
}
}
-
-/**
- * mpr_mapping_is_reinit_required - check whether event replay required
- * @sc: per adapter object
- *
- * Checks the per ioc flags and decide whether reinit of events required
- *
- * Returns 1 for reinit of ioc 0 for not.
- */
-int mpr_mapping_is_reinit_required(struct mpr_softc *sc)
-{
- if (!sc->mt_full_retry && sc->mt_add_device_failed) {
- sc->mt_full_retry = 1;
- sc->mt_add_device_failed = 0;
- _mapping_flush_dpm_pages(sc);
- return 1;
- }
- sc->mt_full_retry = 1;
- return 0;
-}
-
/**
* mpr_mapping_initialize - initialize mapping tables
* @sc: per adapter object
@@ -1734,10 +2560,13 @@ mpr_mapping_initialize(struct mpr_softc *sc)
sc->pending_map_events = 0;
sc->num_enc_table_entries = 0;
sc->num_rsvd_entries = 0;
- sc->num_channels = 1;
sc->max_dpm_entries = sc->ioc_pg8.MaxPersistentEntries;
sc->is_dpm_enable = (sc->max_dpm_entries) ? 1 : 0;
sc->track_mapping_events = 0;
+
+ mpr_dprint(sc, MPR_MAPPING, "%s: Mapping table has a max of %d entries "
+ "and DPM has a max of %d entries.\n", __func__, sc->max_devices,
+ sc->max_dpm_entries);
if (ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_DISABLE_PERSISTENT_MAPPING)
sc->is_dpm_enable = 0;
@@ -1778,8 +2607,8 @@ mpr_mapping_initialize(struct mpr_softc *sc)
retry_read_dpm:
if (mpr_config_get_dpm_pg0(sc, &mpi_reply, sc->dpm_pg0,
dpm_pg0_sz)) {
- printf("%s: dpm page read failed; disabling dpm\n",
- __func__);
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: DPM page "
+ "read failed.\n", __func__);
if (retry_count < 3) {
retry_count++;
goto retry_read_dpm;
@@ -1790,6 +2619,11 @@ retry_read_dpm:
if (sc->is_dpm_enable)
_mapping_process_dpm_pg0(sc);
+ else {
+ mpr_dprint(sc, MPR_MAPPING, "%s: DPM processing is disabled. "
+ "Device mappings will not persist across reboots or "
+ "resets.\n", __func__);
+ }
sc->track_mapping_events = 1;
return 0;
@@ -1809,15 +2643,15 @@ mpr_mapping_exit(struct mpr_softc *sc)
}
/**
- * mpr_mapping_get_sas_id - assign a target id for sas device
+ * mpr_mapping_get_tid - return the target id for sas device and handle
* @sc: per adapter object
* @sas_address: sas address of the device
* @handle: device handle
*
- * Returns valid ID on success or BAD_ID.
+ * Returns valid target ID on success or BAD_ID.
*/
unsigned int
-mpr_mapping_get_sas_id(struct mpr_softc *sc, uint64_t sas_address, u16 handle)
+mpr_mapping_get_tid(struct mpr_softc *sc, uint64_t sas_address, u16 handle)
{
u32 map_idx;
struct dev_mapping_table *mt_entry;
@@ -1833,38 +2667,39 @@ mpr_mapping_get_sas_id(struct mpr_softc *sc, uint64_t sas_address, u16 handle)
}
/**
- * mpr_mapping_get_sas_id_from_handle - find a target id in mapping table using
+ * mpr_mapping_get_tid_from_handle - find a target id in mapping table using
* only the dev handle. This is just a wrapper function for the local function
* _mapping_get_mt_idx_from_handle.
* @sc: per adapter object
* @handle: device handle
*
- * Returns valid ID on success or BAD_ID.
+ * Returns valid target ID on success or BAD_ID.
*/
unsigned int
-mpr_mapping_get_sas_id_from_handle(struct mpr_softc *sc, u16 handle)
+mpr_mapping_get_tid_from_handle(struct mpr_softc *sc, u16 handle)
{
return (_mapping_get_mt_idx_from_handle(sc, handle));
}
/**
- * mpr_mapping_get_raid_id - assign a target id for raid device
+ * mpr_mapping_get_raid_tid - return the target id for raid device
* @sc: per adapter object
* @wwid: world wide identifier for raid volume
- * @handle: device handle
+ * @volHandle: volume device handle
*
- * Returns valid ID on success or BAD_ID.
+ * Returns valid target ID on success or BAD_ID.
*/
unsigned int
-mpr_mapping_get_raid_id(struct mpr_softc *sc, u64 wwid, u16 handle)
+mpr_mapping_get_raid_tid(struct mpr_softc *sc, u64 wwid, u16 volHandle)
{
- u32 map_idx;
+ u32 start_idx, end_idx, map_idx;
struct dev_mapping_table *mt_entry;
- for (map_idx = 0; map_idx < sc->max_devices; map_idx++) {
- mt_entry = &sc->mapping_table[map_idx];
- if (mt_entry->dev_handle == handle && mt_entry->physical_id ==
- wwid)
+ _mapping_get_ir_maprange(sc, &start_idx, &end_idx);
+ mt_entry = &sc->mapping_table[start_idx];
+ for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++) {
+ if (mt_entry->dev_handle == volHandle &&
+ mt_entry->physical_id == wwid)
return mt_entry->id;
}
@@ -1872,16 +2707,16 @@ mpr_mapping_get_raid_id(struct mpr_softc *sc, u64 wwid, u16 handle)
}
/**
- * mpr_mapping_get_raid_id_from_handle - find raid device in mapping table
+ * mpr_mapping_get_raid_tid_from_handle - find raid device in mapping table
* using only the volume dev handle. This is just a wrapper function for the
* local function _mapping_get_ir_mt_idx_from_handle.
* @sc: per adapter object
* @volHandle: volume device handle
*
- * Returns valid ID on success or BAD_ID.
+ * Returns valid target ID on success or BAD_ID.
*/
unsigned int
-mpr_mapping_get_raid_id_from_handle(struct mpr_softc *sc, u16 volHandle)
+mpr_mapping_get_raid_tid_from_handle(struct mpr_softc *sc, u16 volHandle)
{
return (_mapping_get_ir_mt_idx_from_handle(sc, volHandle));
}
@@ -1915,8 +2750,8 @@ mpr_mapping_enclosure_dev_status_change_event(struct mpr_softc *sc,
if (event_data->ReasonCode == MPI2_EVENT_SAS_ENCL_RC_ADDED) {
if (!event_data->NumSlots) {
- printf("%s: enclosure with handle = 0x%x reported 0 "
- "slots\n", __func__,
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: Enclosure "
+ "with handle = 0x%x reported 0 slots.\n", __func__,
le16toh(event_data->EnclosureHandle));
goto out;
}
@@ -1925,13 +2760,22 @@ mpr_mapping_enclosure_dev_status_change_event(struct mpr_softc *sc,
event_data->EnclosureLogicalID.Low;
enc_idx = _mapping_get_enc_idx_from_id(sc, temp64_var,
event_data->PhyBits);
+
+ /*
+ * If the Added enclosure is already in the Enclosure Table,
+ * make sure that all the the enclosure info is up to date. If
+ * the enclosure was missing and has just been added back, or if
+ * the enclosure's Phy Bits have changed, clear the missing
+ * count and update the Phy Bits in the mapping table and in the
+ * DPM, if it's being used.
+ */
if (enc_idx != MPR_ENCTABLE_BAD_IDX) {
et_entry = &sc->enclosure_table[enc_idx];
if (et_entry->init_complete &&
!et_entry->missing_count) {
- printf("%s: enclosure %d is already present "
- "with handle = 0x%x\n",__func__, enc_idx,
- et_entry->enc_handle);
+ mpr_dprint(sc, MPR_MAPPING, "%s: Enclosure %d "
+ "is already present with handle = 0x%x\n",
+ __func__, enc_idx, et_entry->enc_handle);
goto out;
}
et_entry->enc_handle = le16toh(event_data->
@@ -1950,8 +2794,7 @@ mpr_mapping_enclosure_dev_status_change_event(struct mpr_softc *sc,
missing_count =
(u8)(dpm_entry->MappingInformation &
MPI2_DRVMAP0_MAPINFO_MISSING_MASK);
- if (!et_entry->init_complete && (
- missing_count || update_phy_bits)) {
+ if (missing_count || update_phy_bits) {
dpm_entry->MappingInformation
= et_entry->num_slots;
dpm_entry->MappingInformation
@@ -1964,20 +2807,29 @@ mpr_mapping_enclosure_dev_status_change_event(struct mpr_softc *sc,
}
}
} else {
+ /*
+ * This is a new enclosure that is being added.
+ * Initialize the Enclosure Table entry. It will be
+ * finalized when a device is added for the enclosure
+ * and the enclosure has enough space in the Mapping
+ * Table to map its devices.
+ */
enc_idx = sc->num_enc_table_entries;
if (enc_idx >= sc->max_enclosures) {
- printf("%s: enclosure can not be added; "
- "mapping table is full\n", __func__);
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: "
+ "Enclosure cannot be added to mapping "
+ "table because it's full.\n", __func__);
goto out;
}
sc->num_enc_table_entries++;
et_entry = &sc->enclosure_table[enc_idx];
et_entry->enc_handle = le16toh(event_data->
EnclosureHandle);
- et_entry->enclosure_id = event_data->
- EnclosureLogicalID.High;
- et_entry->enclosure_id = ( et_entry->enclosure_id <<
- 32) | event_data->EnclosureLogicalID.Low;
+ et_entry->enclosure_id = le64toh(event_data->
+ EnclosureLogicalID.High);
+ et_entry->enclosure_id =
+ ((et_entry->enclosure_id << 32) |
+ le64toh(event_data->EnclosureLogicalID.Low));
et_entry->start_index = MPR_MAPTABLE_BAD_IDX;
et_entry->dpm_entry_num = MPR_DPM_BAD_IDX;
et_entry->num_slots = le16toh(event_data->NumSlots);
@@ -1987,23 +2839,23 @@ mpr_mapping_enclosure_dev_status_change_event(struct mpr_softc *sc,
et_entry->init_complete = 1;
} else if (event_data->ReasonCode ==
MPI2_EVENT_SAS_ENCL_RC_NOT_RESPONDING) {
+ /*
+ * An enclosure was removed. Update its missing count and then
+ * update the DPM entry with the new missing count for the
+ * enclosure.
+ */
enc_idx = _mapping_get_enc_idx_from_handle(sc,
le16toh(event_data->EnclosureHandle));
if (enc_idx == MPR_ENCTABLE_BAD_IDX) {
- printf("%s: cannot unmap enclosure %d because it has "
- "already been deleted", __func__, enc_idx);
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING, "%s: Cannot "
+ "unmap enclosure %d because it has already been "
+ "deleted.\n", __func__, enc_idx);
goto out;
}
et_entry = &sc->enclosure_table[enc_idx];
- if (!et_entry->init_complete) {
- if (et_entry->missing_count < MPR_MAX_MISSING_COUNT)
- et_entry->missing_count++;
- else
- et_entry->init_complete = 1;
- }
- if (!et_entry->missing_count)
+ if (et_entry->missing_count < MPR_MAX_MISSING_COUNT)
et_entry->missing_count++;
- if (sc->is_dpm_enable && !et_entry->init_complete &&
+ if (sc->is_dpm_enable &&
et_entry->dpm_entry_num != MPR_DPM_BAD_IDX) {
dpm_entry += et_entry->dpm_entry_num;
dpm_entry->MappingInformation = et_entry->num_slots;
@@ -2073,63 +2925,53 @@ out:
}
/**
- * _mapping_check_update_ir_mt_idx - Check and update IR map table index
+ * mpr_mapping_pcie_topology_change_event - handle PCIe topology change events
* @sc: per adapter object
* @event_data: event data payload
- * @evt_idx: current event index
- * @map_idx: current index and the place holder for new map table index
- * @wwid_table: world wide name for volumes in the element table
- *
- * pass through IR events and find whether any events matches and if so
- * tries to find new index if not returns failure
*
- * Returns 0 on success and 1 on failure
+ * Returns nothing.
*/
-static int
-_mapping_check_update_ir_mt_idx(struct mpr_softc *sc,
- Mpi2EventDataIrConfigChangeList_t *event_data, int evt_idx, u32 *map_idx,
- u64 *wwid_table)
+void
+mpr_mapping_pcie_topology_change_event(struct mpr_softc *sc,
+ Mpi26EventDataPCIeTopologyChangeList_t *event_data)
{
- struct dev_mapping_table *mt_entry;
- u32 st_idx, end_idx, mt_idx = *map_idx;
- u8 match = 0;
- Mpi2EventIrConfigElement_t *element;
- u16 element_flags;
- int i;
+ struct _map_pcie_topology_change topo_change;
+ struct _map_port_change *port_change;
+ Mpi26EventPCIeTopoPortEntry_t *event_port_change;
+ u8 i, num_entries;
- mt_entry = &sc->mapping_table[mt_idx];
- _mapping_get_ir_maprange(sc, &st_idx, &end_idx);
-search_again:
- match = 0;
- for (i = evt_idx + 1; i < event_data->NumElements; i++) {
- element = (Mpi2EventIrConfigElement_t *)
- &event_data->ConfigElement[i];
- element_flags = le16toh(element->ElementFlags);
- if ((element_flags &
- MPI2_EVENT_IR_CHANGE_EFLAGS_ELEMENT_TYPE_MASK) !=
- MPI2_EVENT_IR_CHANGE_EFLAGS_VOLUME_ELEMENT)
- continue;
- if (element->ReasonCode == MPI2_EVENT_IR_CHANGE_RC_ADDED ||
- element->ReasonCode ==
- MPI2_EVENT_IR_CHANGE_RC_VOLUME_CREATED) {
- if (mt_entry->physical_id == wwid_table[i]) {
- match = 1;
- break;
- }
- }
- }
+ topo_change.switch_dev_handle = le16toh(event_data->SwitchDevHandle);
+ topo_change.enc_handle = le16toh(event_data->EnclosureHandle);
+ num_entries = event_data->NumEntries;
+ topo_change.num_entries = num_entries;
+ topo_change.start_port_num = event_data->StartPortNum;
+ topo_change.num_ports = event_data->NumPorts;
+ topo_change.switch_status = event_data->SwitchStatus;
+ event_port_change = event_data->PortEntry;
+ topo_change.port_details = NULL;
- if (match) {
- do {
- mt_idx++;
- if (mt_idx > end_idx)
- return 1;
- mt_entry = &sc->mapping_table[mt_idx];
- } while (mt_entry->device_info & MPR_MAP_IN_USE);
- goto search_again;
+ if (!num_entries)
+ goto out;
+ port_change = malloc(sizeof(struct _map_port_change) * num_entries,
+ M_MPR, M_NOWAIT|M_ZERO);
+ topo_change.port_details = port_change;
+ if (!port_change)
+ goto out;
+ for (i = 0; i < num_entries; i++, event_port_change++, port_change++) {
+ port_change->dev_handle = le16toh(event_port_change->
+ AttachedDevHandle);
+ port_change->reason = event_port_change->PortStatus;
}
- *map_idx = mt_idx;
- return 0;
+ _mapping_update_pcie_missing_count(sc, &topo_change);
+ _mapping_get_pcie_dev_info(sc, &topo_change);
+ _mapping_clear_removed_entries(sc);
+ _mapping_add_new_pcie_device(sc, &topo_change);
+
+out:
+ free(topo_change.port_details, M_MPR);
+ _mapping_flush_dpm_pages(sc);
+ if (sc->pending_map_events)
+ sc->pending_map_events--;
}
/**
@@ -2149,7 +2991,6 @@ mpr_mapping_ir_config_change_event(struct mpr_softc *sc,
u32 map_idx, flags;
struct dev_mapping_table *mt_entry;
u16 element_flags;
- u8 log_full_error = 0;
wwid_table = malloc(sizeof(u64) * event_data->NumElements, M_MPR,
M_NOWAIT | M_ZERO);
@@ -2157,6 +2998,11 @@ mpr_mapping_ir_config_change_event(struct mpr_softc *sc,
goto out;
element = (Mpi2EventIrConfigElement_t *)&event_data->ConfigElement[0];
flags = le32toh(event_data->Flags);
+
+ /*
+ * For volume changes, get the WWID for the volume and put it in a
+ * table to be used in the processing of the IR change event.
+ */
for (i = 0; i < event_data->NumElements; i++, element++) {
element_flags = le16toh(element->ElementFlags);
if ((element->ReasonCode != MPI2_EVENT_IR_CHANGE_RC_ADDED) &&
@@ -2170,14 +3016,14 @@ mpr_mapping_ir_config_change_event(struct mpr_softc *sc,
MPI2_EVENT_IR_CHANGE_EFLAGS_VOLUME_ELEMENT) {
mpr_config_get_volume_wwid(sc,
le16toh(element->VolDevHandle), &wwid_table[i]);
- map_idx = _mapping_get_ir_mt_idx_from_wwid(sc,
- wwid_table[i]);
- if (map_idx != MPR_MAPTABLE_BAD_IDX) {
- mt_entry = &sc->mapping_table[map_idx];
- mt_entry->device_info |= MPR_MAP_IN_USE;
- }
}
}
+
+ /*
+ * Check the ReasonCode for each element in the IR event and Add/Remove
+ * Volumes or Physical Disks of Volumes to/from the mapping table. Use
+ * the WWIDs gotten above in wwid_table.
+ */
if (flags == MPI2_EVENT_IR_CHANGE_FLAGS_FOREIGN_CONFIG)
goto out;
else {
@@ -2191,8 +3037,11 @@ mpr_mapping_ir_config_change_event(struct mpr_softc *sc,
map_idx = _mapping_get_ir_mt_idx_from_wwid
(sc, wwid_table[i]);
if (map_idx != MPR_MAPTABLE_BAD_IDX) {
+ /*
+ * The volume is already in the mapping
+ * table. Just update it's info.
+ */
mt_entry = &sc->mapping_table[map_idx];
- mt_entry->channel = MPR_RAID_CHANNEL;
mt_entry->id = map_idx;
mt_entry->dev_handle = le16toh
(element->VolDevHandle);
@@ -2202,31 +3051,33 @@ mpr_mapping_ir_config_change_event(struct mpr_softc *sc,
map_idx, element, wwid_table[i]);
continue;
}
+
+ /*
+ * Volume is not in mapping table yet. Find a
+ * free entry in the mapping table at the
+ * volume mapping locations. If no entries are
+ * available, this is an error because it means
+ * there are more volumes than can be mapped
+ * and that should never happen for volumes.
+ */
map_idx = _mapping_get_free_ir_mt_idx(sc);
if (map_idx == MPR_MAPTABLE_BAD_IDX)
- log_full_error = 1;
- else if (i < (event_data->NumElements - 1)) {
- log_full_error =
- _mapping_check_update_ir_mt_idx
- (sc, event_data, i, &map_idx,
- wwid_table);
- }
- if (log_full_error) {
- printf("%s: no space to add the RAID "
- "volume with handle 0x%04x in "
- "mapping table\n", __func__, le16toh
- (element->VolDevHandle));
+ {
+ mpr_dprint(sc, MPR_ERROR | MPR_MAPPING,
+ "%s: failed to add the volume with "
+ "handle 0x%04x because there is no "
+ "free space available in the "
+ "mapping table\n", __func__,
+ le16toh(element->VolDevHandle));
continue;
}
mt_entry = &sc->mapping_table[map_idx];
mt_entry->physical_id = wwid_table[i];
- mt_entry->channel = MPR_RAID_CHANNEL;
mt_entry->id = map_idx;
mt_entry->dev_handle = le16toh(element->
VolDevHandle);
mt_entry->device_info = MPR_DEV_RESERVED |
MPR_MAP_IN_USE;
- mt_entry->init_complete = 0;
_mapping_update_ir_missing_cnt(sc, map_idx,
element, wwid_table[i]);
} else if (element->ReasonCode ==
@@ -2234,9 +3085,10 @@ mpr_mapping_ir_config_change_event(struct mpr_softc *sc,
map_idx = _mapping_get_ir_mt_idx_from_wwid(sc,
wwid_table[i]);
if (map_idx == MPR_MAPTABLE_BAD_IDX) {
- printf("%s: failed to remove a volume "
- "because it has already been "
- "removed\n", __func__);
+ mpr_dprint(sc, MPR_MAPPING,"%s: Failed "
+ "to remove a volume because it has "
+ "already been removed.\n",
+ __func__);
continue;
}
_mapping_update_ir_missing_cnt(sc, map_idx,
@@ -2246,9 +3098,10 @@ mpr_mapping_ir_config_change_event(struct mpr_softc *sc,
map_idx = _mapping_get_mt_idx_from_handle(sc,
le16toh(element->VolDevHandle));
if (map_idx == MPR_MAPTABLE_BAD_IDX) {
- printf("%s: failed to remove volume "
- "with handle 0x%04x because it has "
- "already been removed\n", __func__,
+ mpr_dprint(sc, MPR_MAPPING,"%s: Failed "
+ "to remove volume with handle "
+ "0x%04x because it has already "
+ "been removed.\n", __func__,
le16toh(element->VolDevHandle));
continue;
}
diff --git a/sys/dev/mpr/mpr_mapping.h b/sys/dev/mpr/mpr_mapping.h
index 05571f2e..925eb03 100644
--- a/sys/dev/mpr/mpr_mapping.h
+++ b/sys/dev/mpr/mpr_mapping.h
@@ -53,9 +53,36 @@ struct _map_phy_change {
};
/**
- * struct _map_topology_change - entries to be removed from mapping table
- * @dpm_entry_num: index of this device in device persistent map table
+ * struct _map_port_change - PCIe Port entries received in PCIe Topology change
+ * list event
+ * @physical_id: WWID of the device attached to the associated port
+ * @device_info: bitfield provides detailed info about the device
+ * @MDTS: Maximum Data Transfer Size for the device
* @dev_handle: device handle for the device pointed by this entry
+ * @slot: slot ID
+ * @is_processed: Flag to indicate whether this entry is processed or not
+ */
+struct _map_port_change {
+ uint64_t physical_id;
+ uint32_t device_info;
+ uint32_t MDTS;
+ uint16_t dev_handle;
+ uint16_t slot;
+ uint8_t reason;
+ uint8_t is_processed;
+ uint8_t reserved[2];
+};
+
+/**
+ * struct _map_topology_change - SAS/SATA entries to be removed from mapping
+ * table
+ * @enc_handle: enclosure handle where this device is located
+ * @exp_handle: expander handle where this device is located
+ * @num_entries: number of entries in the SAS Topology Change List event
+ * @start_phy_num: PHY number of the first PHY in the event data
+ * @num_phys: number of PHYs in the expander where this device is located
+ * @exp_status: status for the expander where this device is located
+ * @phy_details: more details about each PHY in the event data
*/
struct _map_topology_change {
uint16_t enc_handle;
@@ -67,6 +94,26 @@ struct _map_topology_change {
struct _map_phy_change *phy_details;
};
+/**
+ * struct _map_pcie_topology_change - PCIe entries to be removed from mapping
+ * table
+ * @enc_handle: enclosure handle where this device is located
+ * @switch_dev_handle: PCIe switch device handle where this device is located
+ * @num_entries: number of entries in the PCIe Topology Change List event
+ * @start_port_num: port number of the first port in the event data
+ * @num_ports: number of ports in the PCIe switch device
+ * @switch_status: status for the PCIe switch where this device is located
+ * @port_details: more details about each Port in the event data
+ */
+struct _map_pcie_topology_change {
+ uint16_t enc_handle;
+ uint16_t switch_dev_handle;
+ uint8_t num_entries;
+ uint8_t start_port_num;
+ uint8_t num_ports;
+ uint8_t switch_status;
+ struct _map_port_change *port_details;
+};
extern int
mprsas_get_sas_address_for_sata_disk(struct mpr_softc *ioc,
diff --git a/sys/dev/mpr/mpr_pci.c b/sys/dev/mpr/mpr_pci.c
index 17f3f3e..4b9f0aa 100644
--- a/sys/dev/mpr/mpr_pci.c
+++ b/sys/dev/mpr/mpr_pci.c
@@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$");
#include <dev/mpr/mpi/mpi2_ioc.h>
#include <dev/mpr/mpi/mpi2_cnfg.h>
#include <dev/mpr/mpi/mpi2_tool.h>
+#include <dev/mpr/mpi/mpi2_pci.h>
#include <sys/queue.h>
#include <sys/kthread.h>
@@ -110,6 +111,10 @@ struct mpr_ident {
0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3108_5" },
{ MPI2_MFGPAGE_VENDORID_LSI, MPI25_MFGPAGE_DEVID_SAS3108_6,
0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3108_6" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3216,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3216" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3224,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3224" },
{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3316_1,
0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3316_1" },
{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3316_2,
@@ -118,10 +123,24 @@ struct mpr_ident {
0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3324_1" },
{ MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3324_2,
0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3324_2" },
- { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3216,
- 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3216" },
- { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3224,
- 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3224" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3408,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3408" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3416,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3416" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3508,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3508" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3508_1,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3508_1" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3516,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3516" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3516_1,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3516_1" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3616,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3616" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3708,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3708" },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_SAS3716,
+ 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS3716" },
{ 0, 0, 0, 0, 0, NULL }
};
@@ -164,7 +183,7 @@ mpr_pci_attach(device_t dev)
{
struct mpr_softc *sc;
struct mpr_ident *m;
- int error;
+ int error, i;
sc = device_get_softc(dev);
bzero(sc, sizeof(*sc));
@@ -175,13 +194,32 @@ mpr_pci_attach(device_t dev)
/* Twiddle basic PCI config bits for a sanity check */
pci_enable_busmaster(dev);
- /* Allocate the System Interface Register Set */
- sc->mpr_regs_rid = PCIR_BAR(1);
- if ((sc->mpr_regs_resource = bus_alloc_resource_any(dev,
- SYS_RES_MEMORY, &sc->mpr_regs_rid, RF_ACTIVE)) == NULL) {
+ /* Set flag if this is a Gen3.5 IOC */
+ if ((m->device == MPI26_MFGPAGE_DEVID_SAS3508) ||
+ (m->device == MPI26_MFGPAGE_DEVID_SAS3508_1) ||
+ (m->device == MPI26_MFGPAGE_DEVID_SAS3408) ||
+ (m->device == MPI26_MFGPAGE_DEVID_SAS3516) ||
+ (m->device == MPI26_MFGPAGE_DEVID_SAS3516_1) ||
+ (m->device == MPI26_MFGPAGE_DEVID_SAS3416) ||
+ (m->device == MPI26_MFGPAGE_DEVID_SAS3716) ||
+ (m->device == MPI26_MFGPAGE_DEVID_SAS3616) ||
+ (m->device == MPI26_MFGPAGE_DEVID_SAS3708)) {
+ sc->mpr_flags |= MPR_FLAGS_GEN35_IOC;
+ }
+
+ for (i = 0; i < PCI_MAXMAPS_0; i++) {
+ sc->mpr_regs_rid = PCIR_BAR(i);
+
+ if ((sc->mpr_regs_resource = bus_alloc_resource_any(dev,
+ SYS_RES_MEMORY, &sc->mpr_regs_rid, RF_ACTIVE)) != NULL)
+ break;
+ }
+
+ if (sc->mpr_regs_resource == NULL) {
mpr_printf(sc, "Cannot allocate PCI registers\n");
return (ENXIO);
}
+
sc->mpr_btag = rman_get_bustag(sc->mpr_regs_resource);
sc->mpr_bhandle = rman_get_bushandle(sc->mpr_regs_resource);
diff --git a/sys/dev/mpr/mpr_sas.c b/sys/dev/mpr/mpr_sas.c
index 4fe275d..13a7667 100644
--- a/sys/dev/mpr/mpr_sas.c
+++ b/sys/dev/mpr/mpr_sas.c
@@ -72,10 +72,13 @@ __FBSDID("$FreeBSD$");
#include <cam/scsi/smp_all.h>
#endif
+#include <dev/nvme/nvme.h>
+
#include <dev/mpr/mpi/mpi2_type.h>
#include <dev/mpr/mpi/mpi2.h>
#include <dev/mpr/mpi/mpi2_ioc.h>
#include <dev/mpr/mpi/mpi2_sas.h>
+#include <dev/mpr/mpi/mpi2_pci.h>
#include <dev/mpr/mpi/mpi2_cnfg.h>
#include <dev/mpr/mpi/mpi2_init.h>
#include <dev/mpr/mpi/mpi2_tool.h>
@@ -349,7 +352,7 @@ mprsas_log_command(struct mpr_command *cm, u_int level, const char *fmt, ...)
sbuf_printf(&sb, "SMID %u ", cm->cm_desc.Default.SMID);
sbuf_vprintf(&sb, fmt, ap);
sbuf_finish(&sb);
- mpr_dprint_field(cm->cm_sc, level, "%s", sbuf_data(&sb));
+ mpr_print_field(cm->cm_sc, "%s", sbuf_data(&sb));
va_end(ap);
}
@@ -477,13 +480,13 @@ mprsas_prepare_volume_remove(struct mprsas_softc *sassc, uint16_t handle)
}
/*
- * The MPT3 firmware performs debounce on the link to avoid transient link
- * errors and false removals. When it does decide that link has been lost
- * and a device needs to go away, it expects that the host will perform a
- * target reset and then an op remove. The reset has the side-effect of
- * aborting any outstanding requests for the device, which is required for
- * the op-remove to succeed. It's not clear if the host should check for
- * the device coming back alive after the reset.
+ * The firmware performs debounce on the link to avoid transient link errors
+ * and false removals. When it does decide that link has been lost and a
+ * device needs to go away, it expects that the host will perform a target reset
+ * and then an op remove. The reset has the side-effect of aborting any
+ * outstanding requests for the device, which is required for the op-remove to
+ * succeed. It's not clear if the host should check for the device coming back
+ * alive after the reset.
*/
void
mprsas_prepare_remove(struct mprsas_softc *sassc, uint16_t handle)
@@ -705,7 +708,14 @@ mprsas_register_events(struct mpr_softc *sc)
setbit(events, MPI2_EVENT_IR_PHYSICAL_DISK);
setbit(events, MPI2_EVENT_IR_OPERATION_STATUS);
setbit(events, MPI2_EVENT_TEMP_THRESHOLD);
- setbit(events, MPI2_EVENT_ACTIVE_CABLE_EXCEPTION);
+ if (sc->facts->MsgVersion >= MPI2_VERSION_02_06) {
+ setbit(events, MPI2_EVENT_ACTIVE_CABLE_EXCEPTION);
+ if (sc->mpr_flags & MPR_FLAGS_GEN35_IOC) {
+ setbit(events, MPI2_EVENT_PCIE_DEVICE_STATUS_CHANGE);
+ setbit(events, MPI2_EVENT_PCIE_ENUMERATION);
+ setbit(events, MPI2_EVENT_PCIE_TOPOLOGY_CHANGE_LIST);
+ }
+ }
mpr_register_events(sc, events, mprsas_evt_handler, NULL,
&sc->sassc->mprsas_eh);
@@ -735,7 +745,7 @@ mpr_attach_sas(struct mpr_softc *sc)
* of MaxTargets here so that we don't get into trouble later. This
* should move into the reinit logic.
*/
- sassc->maxtargets = sc->facts->MaxTargets;
+ sassc->maxtargets = sc->facts->MaxTargets + sc->facts->MaxVolumes;
sassc->targets = malloc(sizeof(struct mprsas_target) *
sassc->maxtargets, M_MPR, M_WAITOK|M_ZERO);
if (!sassc->targets) {
@@ -953,6 +963,25 @@ mprsas_discovery_end(struct mprsas_softc *sassc)
if (sassc->flags & MPRSAS_DISCOVERY_TIMEOUT_PENDING)
callout_stop(&sassc->discovery_callout);
+ /*
+ * After discovery has completed, check the mapping table for any
+ * missing devices and update their missing counts. Only do this once
+ * whenever the driver is initialized so that missing counts aren't
+ * updated unnecessarily. Note that just because discovery has
+ * completed doesn't mean that events have been processed yet. The
+ * check_devices function is a callout timer that checks if ALL devices
+ * are missing. If so, it will wait a little longer for events to
+ * complete and keep resetting itself until some device in the mapping
+ * table is not missing, meaning that event processing has started.
+ */
+ if (sc->track_mapping_events) {
+ mpr_dprint(sc, MPR_XINFO | MPR_MAPPING, "Discovery has "
+ "completed. Check for missing devices in the mapping "
+ "table.\n");
+ callout_reset(&sc->device_check_callout,
+ MPR_MISSING_CHECK_DELAY * hz, mpr_mapping_check_devices,
+ sc);
+ }
}
static void
@@ -986,7 +1015,12 @@ mprsas_action(struct cam_sim *sim, union ccb *ccb)
cpi->hba_eng_cnt = 0;
cpi->max_target = sassc->maxtargets - 1;
cpi->max_lun = 255;
- cpi->initiator_id = sassc->maxtargets - 1;
+
+ /*
+ * initiator_id is set here to an ID outside the set of valid
+ * target IDs (including volumes).
+ */
+ cpi->initiator_id = sassc->maxtargets;
strlcpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN);
strlcpy(cpi->hba_vid, "Avago Tech", HBA_IDLEN);
strlcpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);
@@ -1018,6 +1052,7 @@ mprsas_action(struct cam_sim *sim, union ccb *ccb)
if ((sc->max_io_pages > 0) && (sc->max_io_pages * PAGE_SIZE <
cpi->maxio))
cpi->maxio = sc->max_io_pages * PAGE_SIZE;
+ sc->maxio = cpi->maxio;
mprsas_set_ccbstatus(ccb, CAM_REQ_CMP);
break;
}
@@ -1562,7 +1597,7 @@ mprsas_send_abort(struct mpr_softc *sc, struct mpr_command *tm,
return -1;
}
- mprsas_log_command(tm, MPR_RECOVERY|MPR_INFO,
+ mprsas_log_command(cm, MPR_RECOVERY|MPR_INFO,
"Aborting command %p\n", cm);
req = (MPI2_SCSI_TASK_MANAGE_REQUEST *)tm->cm_req;
@@ -1594,7 +1629,7 @@ mprsas_send_abort(struct mpr_softc *sc, struct mpr_command *tm,
err = mpr_map_command(sc, tm);
if (err)
- mprsas_log_command(tm, MPR_RECOVERY,
+ mpr_dprint(sc, MPR_RECOVERY,
"error %d sending abort for cm %p SMID %u\n",
err, cm, req->TaskMID);
return err;
@@ -1635,8 +1670,9 @@ mprsas_scsiio_timeout(void *data)
targ = cm->cm_targ;
targ->timeouts++;
- mprsas_log_command(cm, MPR_ERROR, "command timeout cm %p ccb %p target "
- "%u, handle(0x%04x)\n", cm, cm->cm_ccb, targ->tid, targ->handle);
+ mprsas_log_command(cm, MPR_ERROR, "command timeout %d cm %p target "
+ "%u, handle(0x%04x)\n", cm->cm_ccb->ccb_h.timeout, cm, targ->tid,
+ targ->handle);
if (targ->encl_level_valid) {
mpr_dprint(sc, MPR_ERROR, "At enclosure level %d, slot %d, "
"connector name (%4s)\n", targ->encl_level, targ->encl_slot,
@@ -1679,6 +1715,160 @@ mprsas_scsiio_timeout(void *data)
}
}
+/**
+ * mprsas_build_nvme_unmap - Build Native NVMe DSM command equivalent
+ * to SCSI Unmap.
+ * Return 0 - for success,
+ * 1 - to immediately return back the command with success status to CAM
+ * negative value - to fallback to firmware path i.e. issue scsi unmap
+ * to FW without any translation.
+ */
+static int
+mprsas_build_nvme_unmap(struct mpr_softc *sc, struct mpr_command *cm,
+ union ccb *ccb, struct mprsas_target *targ)
+{
+ Mpi26NVMeEncapsulatedRequest_t *req = NULL;
+ struct ccb_scsiio *csio;
+ struct unmap_parm_list *plist;
+ struct nvme_dsm_range *nvme_dsm_ranges = NULL;
+ struct nvme_command *c;
+ int i, res;
+ uint16_t ndesc, list_len, data_length;
+ struct mpr_prp_page *prp_page_info;
+ uint64_t nvme_dsm_ranges_dma_handle;
+
+ csio = &ccb->csio;
+#if __FreeBSD_version >= 1100103
+ list_len = (scsiio_cdb_ptr(csio)[7] << 8 | scsiio_cdb_ptr(csio)[8]);
+#else
+ if (csio->ccb_h.flags & CAM_CDB_POINTER) {
+ list_len = (ccb->csio.cdb_io.cdb_ptr[7] << 8 |
+ ccb->csio.cdb_io.cdb_ptr[8]);
+ } else {
+ list_len = (ccb->csio.cdb_io.cdb_bytes[7] << 8 |
+ ccb->csio.cdb_io.cdb_bytes[8]);
+ }
+#endif
+ if (!list_len) {
+ mpr_dprint(sc, MPR_ERROR, "Parameter list length is Zero\n");
+ return -EINVAL;
+ }
+
+ plist = malloc(csio->dxfer_len, M_MPR, M_ZERO|M_NOWAIT);
+ if (!plist) {
+ mpr_dprint(sc, MPR_ERROR, "Unable to allocate memory to "
+ "save UNMAP data\n");
+ return -ENOMEM;
+ }
+
+ /* Copy SCSI unmap data to a local buffer */
+ bcopy(csio->data_ptr, plist, csio->dxfer_len);
+
+ /* return back the unmap command to CAM with success status,
+ * if number of descripts is zero.
+ */
+ ndesc = be16toh(plist->unmap_blk_desc_data_len) >> 4;
+ if (!ndesc) {
+ mpr_dprint(sc, MPR_XINFO, "Number of descriptors in "
+ "UNMAP cmd is Zero\n");
+ res = 1;
+ goto out;
+ }
+
+ data_length = ndesc * sizeof(struct nvme_dsm_range);
+ if (data_length > targ->MDTS) {
+ mpr_dprint(sc, MPR_ERROR, "data length: %d is greater than "
+ "Device's MDTS: %d\n", data_length, targ->MDTS);
+ res = -EINVAL;
+ goto out;
+ }
+
+ prp_page_info = mpr_alloc_prp_page(sc);
+ KASSERT(prp_page_info != NULL, ("%s: There is no PRP Page for "
+ "UNMAP command.\n", __func__));
+
+ /*
+ * Insert the allocated PRP page into the command's PRP page list. This
+ * will be freed when the command is freed.
+ */
+ TAILQ_INSERT_TAIL(&cm->cm_prp_page_list, prp_page_info, prp_page_link);
+
+ nvme_dsm_ranges = (struct nvme_dsm_range *)prp_page_info->prp_page;
+ nvme_dsm_ranges_dma_handle = prp_page_info->prp_page_busaddr;
+
+ bzero(nvme_dsm_ranges, data_length);
+
+ /* Convert SCSI unmap's descriptor data to NVMe DSM specific Range data
+ * for each descriptors contained in SCSI UNMAP data.
+ */
+ for (i = 0; i < ndesc; i++) {
+ nvme_dsm_ranges[i].length =
+ htole32(be32toh(plist->desc[i].nlb));
+ nvme_dsm_ranges[i].starting_lba =
+ htole64(be64toh(plist->desc[i].slba));
+ nvme_dsm_ranges[i].attributes = 0;
+ }
+
+ /* Build MPI2.6's NVMe Encapsulated Request Message */
+ req = (Mpi26NVMeEncapsulatedRequest_t *)cm->cm_req;
+ bzero(req, sizeof(*req));
+ req->DevHandle = htole16(targ->handle);
+ req->Function = MPI2_FUNCTION_NVME_ENCAPSULATED;
+ req->Flags = MPI26_NVME_FLAGS_WRITE;
+ req->ErrorResponseBaseAddress.High =
+ htole32((uint32_t)((uint64_t)cm->cm_sense_busaddr >> 32));
+ req->ErrorResponseBaseAddress.Low =
+ htole32(cm->cm_sense_busaddr);
+ req->ErrorResponseAllocationLength =
+ htole16(sizeof(struct nvme_completion));
+ req->EncapsulatedCommandLength =
+ htole16(sizeof(struct nvme_command));
+ req->DataLength = htole32(data_length);
+
+ /* Build NVMe DSM command */
+ c = (struct nvme_command *) req->NVMe_Command;
+ c->opc = NVME_OPC_DATASET_MANAGEMENT;
+ c->nsid = htole32(csio->ccb_h.target_lun + 1);
+ c->cdw10 = htole32(ndesc - 1);
+ c->cdw11 = htole32(NVME_DSM_ATTR_DEALLOCATE);
+
+ cm->cm_length = data_length;
+ cm->cm_data = NULL;
+
+ cm->cm_complete = mprsas_scsiio_complete;
+ cm->cm_complete_data = ccb;
+ cm->cm_targ = targ;
+ cm->cm_lun = csio->ccb_h.target_lun;
+ cm->cm_ccb = ccb;
+
+ cm->cm_desc.Default.RequestFlags =
+ MPI26_REQ_DESCRIPT_FLAGS_PCIE_ENCAPSULATED;
+
+#if __FreeBSD_version >= 1000029
+ callout_reset_sbt(&cm->cm_callout, SBT_1MS * ccb->ccb_h.timeout, 0,
+ mprsas_scsiio_timeout, cm, 0);
+#else //__FreeBSD_version < 1000029
+ callout_reset(&cm->cm_callout, (ccb->ccb_h.timeout * hz) / 1000,
+ mprsas_scsiio_timeout, cm);
+#endif //__FreeBSD_version >= 1000029
+
+ targ->issued++;
+ targ->outstanding++;
+ TAILQ_INSERT_TAIL(&targ->commands, cm, cm_link);
+ ccb->ccb_h.status |= CAM_SIM_QUEUED;
+
+ mprsas_log_command(cm, MPR_XINFO, "%s cm %p ccb %p outstanding %u\n",
+ __func__, cm, ccb, targ->outstanding);
+
+ mpr_build_nvme_prp(sc, cm, req,
+ (void *)(uintptr_t)nvme_dsm_ranges_dma_handle, 0, data_length);
+ mpr_map_command(sc, cm);
+
+out:
+ free(plist, M_MPR);
+ return 0;
+}
+
static void
mprsas_action_scsiio(struct mprsas_softc *sassc, union ccb *ccb)
{
@@ -1688,9 +1878,10 @@ mprsas_action_scsiio(struct mprsas_softc *sassc, union ccb *ccb)
struct mprsas_target *targ;
struct mprsas_lun *lun;
struct mpr_command *cm;
- uint8_t i, lba_byte, *ref_tag_addr;
+ uint8_t i, lba_byte, *ref_tag_addr, scsi_opcode;
uint16_t eedp_flags;
uint32_t mpi_control;
+ int rc;
sc = sassc->sc;
MPR_FUNCTRACE(sc);
@@ -1776,6 +1967,30 @@ mprsas_action_scsiio(struct mprsas_softc *sassc, union ccb *ccb)
return;
}
+ /* For NVME device's issue UNMAP command directly to NVME drives by
+ * constructing equivalent native NVMe DataSetManagement command.
+ */
+#if __FreeBSD_version >= 1100103
+ scsi_opcode = scsiio_cdb_ptr(csio)[0];
+#else
+ if (csio->ccb_h.flags & CAM_CDB_POINTER)
+ scsi_opcode = csio->cdb_io.cdb_ptr[0];
+ else
+ scsi_opcode = csio->cdb_io.cdb_bytes[0];
+#endif
+ if (scsi_opcode == UNMAP &&
+ targ->is_nvme &&
+ (csio->ccb_h.flags & CAM_DATA_MASK) == CAM_DATA_VADDR) {
+ rc = mprsas_build_nvme_unmap(sc, cm, ccb, targ);
+ if (rc == 1) { /* return command to CAM with success status */
+ mpr_free_command(sc, cm);
+ mprsas_set_ccbstatus(ccb, CAM_REQ_CMP);
+ xpt_done(ccb);
+ return;
+ } else if (!rc) /* Issued NVMe Encapsulated Request Message */
+ return;
+ }
+
req = (MPI2_SCSI_IO_REQUEST *)cm->cm_req;
bzero(req, sizeof(*req));
req->DevHandle = htole16(targ->handle);
@@ -1848,8 +2063,8 @@ mprsas_action_scsiio(struct mprsas_softc *sassc, union ccb *ccb)
bcopy(csio->cdb_io.cdb_ptr, &req->CDB.CDB32[0], csio->cdb_len);
else {
KASSERT(csio->cdb_len <= IOCDBLEN,
- ("cdb_len %d is greater than IOCDBLEN but CAM_CDB_POINTER is not set",
- csio->cdb_len));
+ ("cdb_len %d is greater than IOCDBLEN but CAM_CDB_POINTER "
+ "is not set", csio->cdb_len));
bcopy(csio->cdb_io.cdb_bytes, &req->CDB.CDB32[0],csio->cdb_len);
}
req->IoFlags = htole16(csio->cdb_len);
@@ -1873,6 +2088,10 @@ mprsas_action_scsiio(struct mprsas_softc *sassc, union ccb *ccb)
eedp_flags |= (MPI2_SCSIIO_EEDPFLAGS_INC_PRI_REFTAG |
MPI2_SCSIIO_EEDPFLAGS_CHECK_REFTAG |
MPI2_SCSIIO_EEDPFLAGS_CHECK_GUARD);
+ if (sc->mpr_flags & MPR_FLAGS_GEN35_IOC) {
+ eedp_flags |=
+ MPI25_SCSIIO_EEDPFLAGS_APPTAG_DISABLE_MODE;
+ }
req->EEDPFlags = htole16(eedp_flags);
/*
@@ -1932,11 +2151,15 @@ mprsas_action_scsiio(struct mprsas_softc *sassc, union ccb *ccb)
req->IoFlags |= MPI25_SCSIIO_IOFLAGS_FAST_PATH;
cm->cm_desc.FastPathSCSIIO.RequestFlags =
MPI25_REQ_DESCRIPT_FLAGS_FAST_PATH_SCSI_IO;
- cm->cm_desc.FastPathSCSIIO.DevHandle = htole16(targ->handle);
+ if (!sc->atomic_desc_capable) {
+ cm->cm_desc.FastPathSCSIIO.DevHandle =
+ htole16(targ->handle);
+ }
} else {
cm->cm_desc.SCSIIO.RequestFlags =
MPI2_REQ_DESCRIPT_FLAGS_SCSI_IO;
- cm->cm_desc.SCSIIO.DevHandle = htole16(targ->handle);
+ if (!sc->atomic_desc_capable)
+ cm->cm_desc.SCSIIO.DevHandle = htole16(targ->handle);
}
#if __FreeBSD_version >= 1000029
@@ -2159,6 +2382,200 @@ mpr_sc_failed_io_info(struct mpr_softc *sc, struct ccb_scsiio *csio,
}
}
+/** mprsas_nvme_trans_status_code
+ *
+ * Convert Native NVMe command error status to
+ * equivalent SCSI error status.
+ *
+ * Returns appropriate scsi_status
+ */
+static u8
+mprsas_nvme_trans_status_code(struct nvme_status nvme_status,
+ struct mpr_command *cm)
+{
+ u8 status = MPI2_SCSI_STATUS_GOOD;
+ int skey, asc, ascq;
+ union ccb *ccb = cm->cm_complete_data;
+ int returned_sense_len;
+
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_ILLEGAL_REQUEST;
+ asc = SCSI_ASC_NO_SENSE;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+
+ switch (nvme_status.sct) {
+ case NVME_SCT_GENERIC:
+ switch (nvme_status.sc) {
+ case NVME_SC_SUCCESS:
+ status = MPI2_SCSI_STATUS_GOOD;
+ skey = SSD_KEY_NO_SENSE;
+ asc = SCSI_ASC_NO_SENSE;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_INVALID_OPCODE:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_ILLEGAL_REQUEST;
+ asc = SCSI_ASC_ILLEGAL_COMMAND;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_INVALID_FIELD:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_ILLEGAL_REQUEST;
+ asc = SCSI_ASC_INVALID_CDB;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_DATA_TRANSFER_ERROR:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_MEDIUM_ERROR;
+ asc = SCSI_ASC_NO_SENSE;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_ABORTED_POWER_LOSS:
+ status = MPI2_SCSI_STATUS_TASK_ABORTED;
+ skey = SSD_KEY_ABORTED_COMMAND;
+ asc = SCSI_ASC_WARNING;
+ ascq = SCSI_ASCQ_POWER_LOSS_EXPECTED;
+ break;
+ case NVME_SC_INTERNAL_DEVICE_ERROR:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_HARDWARE_ERROR;
+ asc = SCSI_ASC_INTERNAL_TARGET_FAILURE;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_ABORTED_BY_REQUEST:
+ case NVME_SC_ABORTED_SQ_DELETION:
+ case NVME_SC_ABORTED_FAILED_FUSED:
+ case NVME_SC_ABORTED_MISSING_FUSED:
+ status = MPI2_SCSI_STATUS_TASK_ABORTED;
+ skey = SSD_KEY_ABORTED_COMMAND;
+ asc = SCSI_ASC_NO_SENSE;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_INVALID_NAMESPACE_OR_FORMAT:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_ILLEGAL_REQUEST;
+ asc = SCSI_ASC_ACCESS_DENIED_INVALID_LUN_ID;
+ ascq = SCSI_ASCQ_INVALID_LUN_ID;
+ break;
+ case NVME_SC_LBA_OUT_OF_RANGE:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_ILLEGAL_REQUEST;
+ asc = SCSI_ASC_ILLEGAL_BLOCK;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_CAPACITY_EXCEEDED:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_MEDIUM_ERROR;
+ asc = SCSI_ASC_NO_SENSE;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_NAMESPACE_NOT_READY:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_NOT_READY;
+ asc = SCSI_ASC_LUN_NOT_READY;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ }
+ break;
+ case NVME_SCT_COMMAND_SPECIFIC:
+ switch (nvme_status.sc) {
+ case NVME_SC_INVALID_FORMAT:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_ILLEGAL_REQUEST;
+ asc = SCSI_ASC_FORMAT_COMMAND_FAILED;
+ ascq = SCSI_ASCQ_FORMAT_COMMAND_FAILED;
+ break;
+ case NVME_SC_CONFLICTING_ATTRIBUTES:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_ILLEGAL_REQUEST;
+ asc = SCSI_ASC_INVALID_CDB;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ }
+ break;
+ case NVME_SCT_MEDIA_ERROR:
+ switch (nvme_status.sc) {
+ case NVME_SC_WRITE_FAULTS:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_MEDIUM_ERROR;
+ asc = SCSI_ASC_PERIPHERAL_DEV_WRITE_FAULT;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_UNRECOVERED_READ_ERROR:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_MEDIUM_ERROR;
+ asc = SCSI_ASC_UNRECOVERED_READ_ERROR;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_GUARD_CHECK_ERROR:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_MEDIUM_ERROR;
+ asc = SCSI_ASC_LOG_BLOCK_GUARD_CHECK_FAILED;
+ ascq = SCSI_ASCQ_LOG_BLOCK_GUARD_CHECK_FAILED;
+ break;
+ case NVME_SC_APPLICATION_TAG_CHECK_ERROR:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_MEDIUM_ERROR;
+ asc = SCSI_ASC_LOG_BLOCK_APPTAG_CHECK_FAILED;
+ ascq = SCSI_ASCQ_LOG_BLOCK_APPTAG_CHECK_FAILED;
+ break;
+ case NVME_SC_REFERENCE_TAG_CHECK_ERROR:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_MEDIUM_ERROR;
+ asc = SCSI_ASC_LOG_BLOCK_REFTAG_CHECK_FAILED;
+ ascq = SCSI_ASCQ_LOG_BLOCK_REFTAG_CHECK_FAILED;
+ break;
+ case NVME_SC_COMPARE_FAILURE:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_MISCOMPARE;
+ asc = SCSI_ASC_MISCOMPARE_DURING_VERIFY;
+ ascq = SCSI_ASCQ_CAUSE_NOT_REPORTABLE;
+ break;
+ case NVME_SC_ACCESS_DENIED:
+ status = MPI2_SCSI_STATUS_CHECK_CONDITION;
+ skey = SSD_KEY_ILLEGAL_REQUEST;
+ asc = SCSI_ASC_ACCESS_DENIED_INVALID_LUN_ID;
+ ascq = SCSI_ASCQ_INVALID_LUN_ID;
+ break;
+ }
+ break;
+ }
+
+ returned_sense_len = sizeof(struct scsi_sense_data);
+ if (returned_sense_len < ccb->csio.sense_len)
+ ccb->csio.sense_resid = ccb->csio.sense_len -
+ returned_sense_len;
+ else
+ ccb->csio.sense_resid = 0;
+
+ scsi_set_sense_data(&ccb->csio.sense_data, SSD_TYPE_FIXED,
+ 1, skey, asc, ascq, SSD_ELEM_NONE);
+ ccb->ccb_h.status |= CAM_AUTOSNS_VALID;
+
+ return status;
+}
+
+/** mprsas_complete_nvme_unmap
+ *
+ * Complete native NVMe command issued using NVMe Encapsulated
+ * Request Message.
+ */
+static u8
+mprsas_complete_nvme_unmap(struct mpr_softc *sc, struct mpr_command *cm)
+{
+ Mpi26NVMeEncapsulatedErrorReply_t *mpi_reply;
+ struct nvme_completion *nvme_completion = NULL;
+ u8 scsi_status = MPI2_SCSI_STATUS_GOOD;
+
+ mpi_reply =(Mpi26NVMeEncapsulatedErrorReply_t *)cm->cm_reply;
+ if (le16toh(mpi_reply->ErrorResponseCount)){
+ nvme_completion = (struct nvme_completion *)cm->cm_sense;
+ scsi_status = mprsas_nvme_trans_status_code(
+ nvme_completion->status, cm);
+ }
+ return scsi_status;
+}
+
static void
mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
{
@@ -2167,7 +2584,7 @@ mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
struct ccb_scsiio *csio;
struct mprsas_softc *sassc;
struct scsi_vpd_supported_page_list *vpd_list = NULL;
- u8 *TLR_bits, TLR_on;
+ u8 *TLR_bits, TLR_on, *scsi_cdb;
int dir = 0, i;
u16 alloc_len;
struct mprsas_target *target;
@@ -2266,13 +2683,27 @@ mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
}
/*
+ * Point to the SCSI CDB, which is dependent on the CAM_CDB_POINTER
+ * flag, and use it in a few places in the rest of this function for
+ * convenience. Use the macro if available.
+ */
+#if __FreeBSD_version >= 1100103
+ scsi_cdb = scsiio_cdb_ptr(csio);
+#else
+ if (csio->ccb_h.flags & CAM_CDB_POINTER)
+ scsi_cdb = csio->cdb_io.cdb_ptr;
+ else
+ scsi_cdb = csio->cdb_io.cdb_bytes;
+#endif
+
+ /*
* If this is a Start Stop Unit command and it was issued by the driver
* during shutdown, decrement the refcount to account for all of the
* commands that were sent. All SSU commands should be completed before
* shutdown completes, meaning SSU_refcount will be 0 after SSU_started
* is TRUE.
*/
- if (sc->SSU_started && (csio->cdb_io.cdb_bytes[0] == START_STOP_UNIT)) {
+ if (sc->SSU_started && (scsi_cdb[0] == START_STOP_UNIT)) {
mpr_dprint(sc, MPR_INFO, "Decrementing SSU count.\n");
sc->SSU_refcount--;
}
@@ -2313,6 +2744,14 @@ mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
return;
}
+ target = &sassc->targets[target_id];
+ if (scsi_cdb[0] == UNMAP &&
+ target->is_nvme &&
+ (csio->ccb_h.flags & CAM_DATA_MASK) == CAM_DATA_VADDR) {
+ rep->SCSIStatus = mprsas_complete_nvme_unmap(sc, cm);
+ csio->scsi_status = rep->SCSIStatus;
+ }
+
mprsas_log_command(cm, MPR_XINFO,
"ioc %x scsi %x state %x xfer %u\n",
le16toh(rep->IOCStatus), rep->SCSIStatus, rep->SCSIState,
@@ -2324,7 +2763,6 @@ mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
/* FALLTHROUGH */
case MPI2_IOCSTATUS_SUCCESS:
case MPI2_IOCSTATUS_SCSI_RECOVERED_ERROR:
-
if ((le16toh(rep->IOCStatus) & MPI2_IOCSTATUS_MASK) ==
MPI2_IOCSTATUS_SCSI_RECOVERED_ERROR)
mprsas_log_command(cm, MPR_XINFO, "recovered error\n");
@@ -2402,9 +2840,9 @@ mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
* controller, turn the TLR_bits value ON if page 0x90 is
* supported.
*/
- if ((csio->cdb_io.cdb_bytes[0] == INQUIRY) &&
- (csio->cdb_io.cdb_bytes[1] & SI_EVPD) &&
- (csio->cdb_io.cdb_bytes[2] == SVPD_SUPPORTED_PAGE_LIST) &&
+ if ((scsi_cdb[0] == INQUIRY) &&
+ (scsi_cdb[1] & SI_EVPD) &&
+ (scsi_cdb[2] == SVPD_SUPPORTED_PAGE_LIST) &&
((csio->ccb_h.flags & CAM_DATA_MASK) == CAM_DATA_VADDR) &&
(csio->data_ptr != NULL) &&
((csio->data_ptr[0] & 0x1f) == T_SEQUENTIAL) &&
@@ -2416,8 +2854,7 @@ mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
TLR_bits = &sc->mapping_table[target_id].TLR_bits;
*TLR_bits = (u8)MPI2_SCSIIO_CONTROL_NO_TLR;
TLR_on = (u8)MPI2_SCSIIO_CONTROL_TLR_ON;
- alloc_len = ((u16)csio->cdb_io.cdb_bytes[3] << 8) +
- csio->cdb_io.cdb_bytes[4];
+ alloc_len = ((u16)scsi_cdb[3] << 8) + scsi_cdb[4];
alloc_len -= csio->resid;
for (i = 0; i < MIN(vpd_list->length, alloc_len); i++) {
if (vpd_list->list[i] == 0x90) {
@@ -2432,7 +2869,7 @@ mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
* a SCSI StartStopUnit command will be sent to it when the
* driver is being shutdown.
*/
- if ((csio->cdb_io.cdb_bytes[0] == INQUIRY) &&
+ if ((scsi_cdb[0] == INQUIRY) &&
(csio->data_ptr != NULL) &&
((csio->data_ptr[0] & 0x1f) == T_DIRECT) &&
(sc->mapping_table[target_id].device_info &
@@ -2501,8 +2938,9 @@ mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
*/
mprsas_set_ccbstatus(ccb, CAM_REQ_CMP_ERR);
mprsas_log_command(cm, MPR_INFO,
- "terminated ioc %x scsi %x state %x xfer %u\n",
- le16toh(rep->IOCStatus), rep->SCSIStatus, rep->SCSIState,
+ "terminated ioc %x loginfo %x scsi %x state %x xfer %u\n",
+ le16toh(rep->IOCStatus), le32toh(rep->IOCLogInfo),
+ rep->SCSIStatus, rep->SCSIState,
le32toh(rep->TransferCount));
break;
case MPI2_IOCSTATUS_INVALID_FUNCTION:
@@ -2517,11 +2955,19 @@ mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
case MPI2_IOCSTATUS_SCSI_TASK_MGMT_FAILED:
default:
mprsas_log_command(cm, MPR_XINFO,
- "completed ioc %x scsi %x state %x xfer %u\n",
- le16toh(rep->IOCStatus), rep->SCSIStatus, rep->SCSIState,
+ "completed ioc %x loginfo %x scsi %x state %x xfer %u\n",
+ le16toh(rep->IOCStatus), le32toh(rep->IOCLogInfo),
+ rep->SCSIStatus, rep->SCSIState,
le32toh(rep->TransferCount));
csio->resid = cm->cm_length;
- mprsas_set_ccbstatus(ccb, CAM_REQ_CMP_ERR);
+
+ if (scsi_cdb[0] == UNMAP &&
+ target->is_nvme &&
+ (csio->ccb_h.flags & CAM_DATA_MASK) == CAM_DATA_VADDR)
+ mprsas_set_ccbstatus(ccb, CAM_REQ_CMP);
+ else
+ mprsas_set_ccbstatus(ccb, CAM_REQ_CMP_ERR);
+
break;
}
diff --git a/sys/dev/mpr/mpr_sas.h b/sys/dev/mpr/mpr_sas.h
index 614b5fe..c3e9bf6 100644
--- a/sys/dev/mpr/mpr_sas.h
+++ b/sys/dev/mpr/mpr_sas.h
@@ -83,6 +83,8 @@ struct mprsas_target {
uint8_t scsi_req_desc_type;
uint8_t stop_at_shutdown;
uint8_t supports_SSU;
+ uint8_t is_nvme;
+ uint32_t MDTS;
};
struct mprsas_softc {
diff --git a/sys/dev/mpr/mpr_sas_lsi.c b/sys/dev/mpr/mpr_sas_lsi.c
index f773df2..8f97dc7 100644
--- a/sys/dev/mpr/mpr_sas_lsi.c
+++ b/sys/dev/mpr/mpr_sas_lsi.c
@@ -71,6 +71,7 @@ __FBSDID("$FreeBSD$");
#include <dev/mpr/mpi/mpi2.h>
#include <dev/mpr/mpi/mpi2_ioc.h>
#include <dev/mpr/mpi/mpi2_sas.h>
+#include <dev/mpr/mpi/mpi2_pci.h>
#include <dev/mpr/mpi/mpi2_cnfg.h>
#include <dev/mpr/mpi/mpi2_init.h>
#include <dev/mpr/mpi/mpi2_raid.h>
@@ -116,6 +117,8 @@ static void mprsas_fw_work(struct mpr_softc *sc,
static void mprsas_fw_event_free(struct mpr_softc *,
struct mpr_fw_event_work *);
static int mprsas_add_device(struct mpr_softc *sc, u16 handle, u8 linkrate);
+static int mprsas_add_pcie_device(struct mpr_softc *sc, u16 handle,
+ u8 linkrate);
static int mprsas_get_sata_identify(struct mpr_softc *sc, u16 handle,
Mpi2SataPassthroughReply_t *mpi_reply, char *id_buffer, int sz,
u32 devinfo);
@@ -156,6 +159,7 @@ mprsas_evt_handler(struct mpr_softc *sc, uintptr_t data,
bcopy(event->EventData, fw_event->event_data, sz);
fw_event->event = event->Event;
if ((event->Event == MPI2_EVENT_SAS_TOPOLOGY_CHANGE_LIST ||
+ event->Event == MPI2_EVENT_PCIE_TOPOLOGY_CHANGE_LIST ||
event->Event == MPI2_EVENT_SAS_ENCL_DEVICE_STATUS_CHANGE ||
event->Event == MPI2_EVENT_IR_CONFIGURATION_CHANGE_LIST) &&
sc->track_mapping_events)
@@ -167,13 +171,13 @@ mprsas_evt_handler(struct mpr_softc *sc, uintptr_t data,
* events are processed.
*/
if ((event->Event == MPI2_EVENT_SAS_TOPOLOGY_CHANGE_LIST ||
+ event->Event == MPI2_EVENT_PCIE_TOPOLOGY_CHANGE_LIST ||
event->Event == MPI2_EVENT_IR_CONFIGURATION_CHANGE_LIST) &&
sc->wait_for_port_enable)
mprsas_startup_increment(sc->sassc);
TAILQ_INSERT_TAIL(&sc->sassc->ev_queue, fw_event, ev_link);
taskqueue_enqueue(sc->sassc->ev_tq, &sc->sassc->ev_task);
-
}
static void
@@ -205,7 +209,7 @@ mprsas_fw_work(struct mpr_softc *sc, struct mpr_fw_event_work *fw_event)
{
MPI2_EVENT_DATA_SAS_TOPOLOGY_CHANGE_LIST *data;
MPI2_EVENT_SAS_TOPO_PHY_ENTRY *phy;
- int i;
+ uint8_t i;
data = (MPI2_EVENT_DATA_SAS_TOPOLOGY_CHANGE_LIST *)
fw_event->event_data;
@@ -219,8 +223,9 @@ mprsas_fw_work(struct mpr_softc *sc, struct mpr_fw_event_work *fw_event)
if (mprsas_add_device(sc,
le16toh(phy->AttachedDevHandle),
phy->LinkRate)) {
- printf("%s: failed to add device with "
- "handle 0x%x\n", __func__,
+ mpr_dprint(sc, MPR_ERROR, "%s: "
+ "failed to add device with handle "
+ "0x%x\n", __func__,
le16toh(phy->AttachedDevHandle));
mprsas_prepare_remove(sassc, le16toh(
phy->AttachedDevHandle));
@@ -285,7 +290,7 @@ mprsas_fw_work(struct mpr_softc *sc, struct mpr_fw_event_work *fw_event)
element =
(Mpi2EventIrConfigElement_t *)&event_data->ConfigElement[0];
- id = mpr_mapping_get_raid_id_from_handle(sc,
+ id = mpr_mapping_get_raid_tid_from_handle(sc,
element->VolDevHandle);
mpr_mapping_ir_config_change_event(sc, event_data);
@@ -674,6 +679,60 @@ skip_fp_send:
}
break;
}
+ case MPI2_EVENT_PCIE_TOPOLOGY_CHANGE_LIST:
+ {
+ MPI26_EVENT_DATA_PCIE_TOPOLOGY_CHANGE_LIST *data;
+ MPI26_EVENT_PCIE_TOPO_PORT_ENTRY *port_entry;
+ uint8_t i, link_rate;
+ uint16_t handle;
+
+ data = (MPI26_EVENT_DATA_PCIE_TOPOLOGY_CHANGE_LIST *)
+ fw_event->event_data;
+
+ mpr_mapping_pcie_topology_change_event(sc,
+ fw_event->event_data);
+
+ for (i = 0; i < data->NumEntries; i++) {
+ port_entry = &data->PortEntry[i];
+ handle = le16toh(port_entry->AttachedDevHandle);
+ link_rate = port_entry->CurrentPortInfo &
+ MPI26_EVENT_PCIE_TOPO_PI_RATE_MASK;
+ switch (port_entry->PortStatus) {
+ case MPI26_EVENT_PCIE_TOPO_PS_DEV_ADDED:
+ if (link_rate <
+ MPI26_EVENT_PCIE_TOPO_PI_RATE_2_5) {
+ mpr_dprint(sc, MPR_ERROR, "%s: Cannot "
+ "add PCIe device with handle 0x%x "
+ "with unknown link rate.\n",
+ __func__, handle);
+ break;
+ }
+ if (mprsas_add_pcie_device(sc, handle,
+ link_rate)) {
+ mpr_dprint(sc, MPR_ERROR, "%s: failed "
+ "to add PCIe device with handle "
+ "0x%x\n", __func__, handle);
+ mprsas_prepare_remove(sassc, handle);
+ }
+ break;
+ case MPI26_EVENT_PCIE_TOPO_PS_NOT_RESPONDING:
+ mprsas_prepare_remove(sassc, handle);
+ break;
+ case MPI26_EVENT_PCIE_TOPO_PS_PORT_CHANGED:
+ case MPI26_EVENT_PCIE_TOPO_PS_NO_CHANGE:
+ case MPI26_EVENT_PCIE_TOPO_PS_DELAY_NOT_RESPONDING:
+ default:
+ break;
+ }
+ }
+ /*
+ * refcount was incremented for this event in
+ * mprsas_evt_handler. Decrement it here because the event has
+ * been processed.
+ */
+ mprsas_startup_decrement(sassc);
+ break;
+ }
case MPI2_EVENT_SAS_DEVICE_STATUS_CHANGE:
case MPI2_EVENT_SAS_BROADCAST_PRIMITIVE:
default:
@@ -703,7 +762,8 @@ mprsas_firmware_event_work(void *arg, int pending)
}
static int
-mprsas_add_device(struct mpr_softc *sc, u16 handle, u8 linkrate){
+mprsas_add_device(struct mpr_softc *sc, u16 handle, u8 linkrate)
+{
char devstring[80];
struct mprsas_softc *sassc;
struct mprsas_target *targ;
@@ -769,24 +829,61 @@ mprsas_add_device(struct mpr_softc *sc, u16 handle, u8 linkrate){
}
}
- id = mpr_mapping_get_sas_id(sc, sas_address, handle);
+ /*
+ * use_phynum:
+ * 1 - use the PhyNum field as a fallback to the mapping logic
+ * 0 - never use the PhyNum field
+ * -1 - only use the PhyNum field
+ *
+ * Note that using the Phy number to map a device can cause device adds
+ * to fail if multiple enclosures/expanders are in the topology. For
+ * example, if two devices are in the same slot number in two different
+ * enclosures within the topology, only one of those devices will be
+ * added. PhyNum mapping should not be used if multiple enclosures are
+ * in the topology.
+ */
+ id = MPR_MAP_BAD_ID;
+ if (sc->use_phynum != -1)
+ id = mpr_mapping_get_tid(sc, sas_address, handle);
if (id == MPR_MAP_BAD_ID) {
- printf("failure at %s:%d/%s()! Could not get ID for device "
- "with handle 0x%04x\n", __FILE__, __LINE__, __func__,
- handle);
- error = ENXIO;
- goto out;
+ if ((sc->use_phynum == 0) ||
+ ((id = config_page.PhyNum) > sassc->maxtargets)) {
+ mpr_dprint(sc, MPR_INFO, "failure at %s:%d/%s()! "
+ "Could not get ID for device with handle 0x%04x\n",
+ __FILE__, __LINE__, __func__, handle);
+ error = ENXIO;
+ goto out;
+ }
}
+ mpr_dprint(sc, MPR_MAPPING, "%s: Target ID for added device is %d.\n",
+ __func__, id);
- if (mprsas_check_id(sassc, id) != 0) {
- device_printf(sc->mpr_dev, "Excluding target id %d\n", id);
- error = ENXIO;
- goto out;
+ /*
+ * Only do the ID check and reuse check if the target is not from a
+ * RAID Component. For Physical Disks of a Volume, the ID will be reused
+ * when a volume is deleted because the mapping entry for the PD will
+ * still be in the mapping table. The ID check should not be done here
+ * either since this PD is already being used.
+ */
+ targ = &sassc->targets[id];
+ if (!(targ->flags & MPR_TARGET_FLAGS_RAID_COMPONENT)) {
+ if (mprsas_check_id(sassc, id) != 0) {
+ device_printf(sc->mpr_dev, "Excluding target id %d\n",
+ id);
+ error = ENXIO;
+ goto out;
+ }
+
+ if (targ->handle != 0x0) {
+ mpr_dprint(sc, MPR_MAPPING, "Attempting to reuse "
+ "target id %d handle 0x%04x\n", id, targ->handle);
+ error = ENXIO;
+ goto out;
+ }
}
mpr_dprint(sc, MPR_MAPPING, "SAS Address from SAS device page0 = %jx\n",
sas_address);
- targ = &sassc->targets[id];
targ->devinfo = device_info;
targ->devname = le32toh(config_page.DeviceName.High);
targ->devname = (targ->devname << 32) |
@@ -809,8 +906,10 @@ mprsas_add_device(struct mpr_softc *sc, u16 handle, u8 linkrate){
if (is_SATA_SSD) {
targ->flags = MPR_TARGET_IS_SATA_SSD;
}
- if (le16toh(config_page.Flags) &
- MPI25_SAS_DEVICE0_FLAGS_FAST_PATH_CAPABLE) {
+ if ((le16toh(config_page.Flags) &
+ MPI25_SAS_DEVICE0_FLAGS_ENABLED_FAST_PATH) &&
+ (le16toh(config_page.Flags) &
+ MPI25_SAS_DEVICE0_FLAGS_FAST_PATH_CAPABLE)) {
targ->scsi_req_desc_type =
MPI25_REQ_DESCRIPT_FLAGS_FAST_PATH_SCSI_IO;
}
@@ -890,7 +989,7 @@ out:
mprsas_startup_decrement(sassc);
return (error);
}
-
+
int
mprsas_get_sas_address_for_sata_disk(struct mpr_softc *sc,
u64 *sas_address, u16 handle, u32 device_info, u8 *is_SATA_SSD)
@@ -1122,6 +1221,143 @@ mprsas_ata_id_timeout(void *data)
}
static int
+mprsas_add_pcie_device(struct mpr_softc *sc, u16 handle, u8 linkrate)
+{
+ char devstring[80];
+ struct mprsas_softc *sassc;
+ struct mprsas_target *targ;
+ Mpi2ConfigReply_t mpi_reply;
+ Mpi26PCIeDevicePage0_t config_page;
+ Mpi26PCIeDevicePage2_t config_page2;
+ uint64_t pcie_wwid, parent_wwid = 0;
+ u32 device_info, parent_devinfo = 0;
+ unsigned int id;
+ int error = 0;
+ struct mprsas_lun *lun;
+
+ sassc = sc->sassc;
+ mprsas_startup_increment(sassc);
+ if ((mpr_config_get_pcie_device_pg0(sc, &mpi_reply, &config_page,
+ MPI26_PCIE_DEVICE_PGAD_FORM_HANDLE, handle))) {
+ printf("%s: error reading PCIe device page0\n", __func__);
+ error = ENXIO;
+ goto out;
+ }
+
+ device_info = le32toh(config_page.DeviceInfo);
+
+ if (((device_info & MPI26_PCIE_DEVINFO_PCI_SWITCH) == 0)
+ && (le16toh(config_page.ParentDevHandle) != 0)) {
+ Mpi2ConfigReply_t tmp_mpi_reply;
+ Mpi26PCIeDevicePage0_t parent_config_page;
+
+ if ((mpr_config_get_pcie_device_pg0(sc, &tmp_mpi_reply,
+ &parent_config_page, MPI26_PCIE_DEVICE_PGAD_FORM_HANDLE,
+ le16toh(config_page.ParentDevHandle)))) {
+ printf("%s: error reading PCIe device %#x page0\n",
+ __func__, le16toh(config_page.ParentDevHandle));
+ } else {
+ parent_wwid = parent_config_page.WWID.High;
+ parent_wwid = (parent_wwid << 32) |
+ parent_config_page.WWID.Low;
+ parent_devinfo = le32toh(parent_config_page.DeviceInfo);
+ }
+ }
+ /* TODO Check proper endianness */
+ pcie_wwid = config_page.WWID.High;
+ pcie_wwid = (pcie_wwid << 32) | config_page.WWID.Low;
+ mpr_dprint(sc, MPR_INFO, "PCIe WWID from PCIe device page0 = %jx\n",
+ pcie_wwid);
+
+ if ((mpr_config_get_pcie_device_pg2(sc, &mpi_reply, &config_page2,
+ MPI26_PCIE_DEVICE_PGAD_FORM_HANDLE, handle))) {
+ printf("%s: error reading PCIe device page2\n", __func__);
+ error = ENXIO;
+ goto out;
+ }
+
+ id = mpr_mapping_get_tid(sc, pcie_wwid, handle);
+ if (id == MPR_MAP_BAD_ID) {
+ mpr_dprint(sc, MPR_ERROR | MPR_INFO, "failure at %s:%d/%s()! "
+ "Could not get ID for device with handle 0x%04x\n",
+ __FILE__, __LINE__, __func__, handle);
+ error = ENXIO;
+ goto out;
+ }
+ mpr_dprint(sc, MPR_MAPPING, "%s: Target ID for added device is %d.\n",
+ __func__, id);
+
+ if (mprsas_check_id(sassc, id) != 0) {
+ device_printf(sc->mpr_dev, "Excluding target id %d\n", id);
+ error = ENXIO;
+ goto out;
+ }
+
+ mpr_dprint(sc, MPR_MAPPING, "WWID from PCIe device page0 = %jx\n",
+ pcie_wwid);
+ targ = &sassc->targets[id];
+ targ->devinfo = device_info;
+ targ->encl_handle = le16toh(config_page.EnclosureHandle);
+ targ->encl_slot = le16toh(config_page.Slot);
+ targ->encl_level = config_page.EnclosureLevel;
+ targ->connector_name[0] = ((char *)&config_page.ConnectorName)[0];
+ targ->connector_name[1] = ((char *)&config_page.ConnectorName)[1];
+ targ->connector_name[2] = ((char *)&config_page.ConnectorName)[2];
+ targ->connector_name[3] = ((char *)&config_page.ConnectorName)[3];
+ targ->is_nvme = device_info & MPI26_PCIE_DEVINFO_NVME;
+ targ->MDTS = config_page2.MaximumDataTransferSize;
+ /*
+ * Assume always TRUE for encl_level_valid because there is no valid
+ * flag for PCIe.
+ */
+ targ->encl_level_valid = TRUE;
+ targ->handle = handle;
+ targ->parent_handle = le16toh(config_page.ParentDevHandle);
+ targ->sasaddr = mpr_to_u64(&config_page.WWID);
+ targ->parent_sasaddr = le64toh(parent_wwid);
+ targ->parent_devinfo = parent_devinfo;
+ targ->tid = id;
+ targ->linkrate = linkrate;
+ targ->flags = 0;
+ if ((le16toh(config_page.Flags) &
+ MPI26_PCIEDEV0_FLAGS_ENABLED_FAST_PATH) &&
+ (le16toh(config_page.Flags) &
+ MPI26_PCIEDEV0_FLAGS_FAST_PATH_CAPABLE)) {
+ targ->scsi_req_desc_type =
+ MPI25_REQ_DESCRIPT_FLAGS_FAST_PATH_SCSI_IO;
+ }
+ TAILQ_INIT(&targ->commands);
+ TAILQ_INIT(&targ->timedout_commands);
+ while (!SLIST_EMPTY(&targ->luns)) {
+ lun = SLIST_FIRST(&targ->luns);
+ SLIST_REMOVE_HEAD(&targ->luns, lun_link);
+ free(lun, M_MPR);
+ }
+ SLIST_INIT(&targ->luns);
+
+ mpr_describe_devinfo(targ->devinfo, devstring, 80);
+ mpr_dprint(sc, (MPR_INFO|MPR_MAPPING), "Found PCIe device <%s> <%s> "
+ "handle<0x%04x> enclosureHandle<0x%04x> slot %d\n", devstring,
+ mpr_describe_table(mpr_pcie_linkrate_names, targ->linkrate),
+ targ->handle, targ->encl_handle, targ->encl_slot);
+ if (targ->encl_level_valid) {
+ mpr_dprint(sc, (MPR_INFO|MPR_MAPPING), "At enclosure level %d "
+ "and connector name (%4s)\n", targ->encl_level,
+ targ->connector_name);
+ }
+#if ((__FreeBSD_version >= 1000000) && (__FreeBSD_version < 1000039)) || \
+ (__FreeBSD_version < 902502)
+ if ((sassc->flags & MPRSAS_IN_STARTUP) == 0)
+#endif
+ mprsas_rescan_target(sc, targ);
+ mpr_dprint(sc, MPR_MAPPING, "Target id 0x%x added\n", targ->tid);
+
+out:
+ mprsas_startup_decrement(sassc);
+ return (error);
+}
+
+static int
mprsas_volume_add(struct mpr_softc *sc, u16 handle)
{
struct mprsas_softc *sassc;
@@ -1142,7 +1378,7 @@ mprsas_volume_add(struct mpr_softc *sc, u16 handle)
goto out;
}
- id = mpr_mapping_get_raid_id(sc, wwid, handle);
+ id = mpr_mapping_get_raid_tid(sc, wwid, handle);
if (id == MPR_MAP_BAD_ID) {
printf("%s: could not get ID for volume with handle 0x%04x and "
"WWID 0x%016llx\n", __func__, handle,
@@ -1204,7 +1440,7 @@ mprsas_SSU_to_SATA_devices(struct mpr_softc *sc)
*/
sc->SSU_started = TRUE;
sc->SSU_refcount = 0;
- for (targetid = 0; targetid < sc->facts->MaxTargets; targetid++) {
+ for (targetid = 0; targetid < sc->max_devices; targetid++) {
target = &sassc->targets[targetid];
if (target->handle == 0x0) {
continue;
@@ -1217,8 +1453,8 @@ mprsas_SSU_to_SATA_devices(struct mpr_softc *sc)
if (target->stop_at_shutdown) {
ccb = xpt_alloc_ccb_nowait();
if (ccb == NULL) {
- mpr_dprint(sc, MPR_FAULT, "Unable to alloc CCB to stop "
- "unit.\n");
+ mpr_dprint(sc, MPR_FAULT, "Unable to alloc CCB "
+ "to stop unit.\n");
return;
}
@@ -1388,7 +1624,7 @@ out:
* 3: enable to SSD and HDD
* anything else will default to 1.
*/
- for (targetid = 0; targetid < sc->facts->MaxTargets; targetid++) {
+ for (targetid = 0; targetid < sc->max_devices; targetid++) {
target = &sc->sassc->targets[targetid];
if (target->handle == 0x0) {
continue;
diff --git a/sys/dev/mpr/mpr_table.c b/sys/dev/mpr/mpr_table.c
index 4674b79..44420fd 100644
--- a/sys/dev/mpr/mpr_table.c
+++ b/sys/dev/mpr/mpr_table.c
@@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$");
#include <dev/mpr/mpi/mpi2_cnfg.h>
#include <dev/mpr/mpi/mpi2_init.h>
#include <dev/mpr/mpi/mpi2_tool.h>
+#include <dev/mpr/mpi/mpi2_pci.h>
#include <dev/mpr/mpr_ioctl.h>
#include <dev/mpr/mprvar.h>
#include <dev/mpr/mpr_table.h>
@@ -74,6 +75,7 @@ mpr_describe_table(struct mpr_table_lookup *table, u_int code)
return(table[i+1].string);
}
+//SLM-Add new PCIe info to all of these tables
struct mpr_table_lookup mpr_event_names[] = {
{"LogData", 0x01},
{"StateChange", 0x02},
@@ -100,6 +102,10 @@ struct mpr_table_lookup mpr_event_names[] = {
{"TempThreshold", 0x27},
{"HostMessage", 0x28},
{"PowerPerformanceChange", 0x29},
+ {"PCIeDeviceStatusChange", 0x30},
+ {"PCIeEnumeration", 0x31},
+ {"PCIeTopologyChangeList", 0x32},
+ {"PCIeLinkCounter", 0x33},
{"CableEvent", 0x34},
{NULL, 0},
{"Unknown Event", 0}
@@ -192,6 +198,16 @@ struct mpr_table_lookup mpr_sasdev_reason[] = {
{"Unknown", 0x00}
};
+struct mpr_table_lookup mpr_pcie_linkrate_names[] = {
+ {"Port disabled", 0x01},
+ {"2.5GT/sec", 0x02},
+ {"5.0GT/sec", 0x03},
+ {"8.0GT/sec", 0x04},
+ {"16.0GT/sec", 0x05},
+ {NULL, 0},
+ {"LinkRate Unknown", 0x00}
+};
+
void
mpr_describe_devinfo(uint32_t devinfo, char *string, int len)
{
@@ -203,26 +219,26 @@ mpr_describe_devinfo(uint32_t devinfo, char *string, int len)
}
void
-mpr_print_iocfacts(struct mpr_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
+_mpr_print_iocfacts(struct mpr_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
{
-
MPR_PRINTFIELD_START(sc, "IOCFacts");
MPR_PRINTFIELD(sc, facts, MsgVersion, 0x%x);
MPR_PRINTFIELD(sc, facts, HeaderVersion, 0x%x);
MPR_PRINTFIELD(sc, facts, IOCNumber, %d);
MPR_PRINTFIELD(sc, facts, IOCExceptions, 0x%x);
MPR_PRINTFIELD(sc, facts, MaxChainDepth, %d);
- mpr_dprint_field(sc, MPR_XINFO, "WhoInit: %s\n",
+ mpr_print_field(sc, "WhoInit: %s\n",
mpr_describe_table(mpr_whoinit_names, facts->WhoInit));
MPR_PRINTFIELD(sc, facts, NumberOfPorts, %d);
+ MPR_PRINTFIELD(sc, facts, MaxMSIxVectors, %d);
MPR_PRINTFIELD(sc, facts, RequestCredit, %d);
MPR_PRINTFIELD(sc, facts, ProductID, 0x%x);
- mpr_dprint_field(sc, MPR_XINFO, "IOCCapabilities: %b\n",
+ mpr_print_field(sc, "IOCCapabilities: %b\n",
facts->IOCCapabilities, "\20" "\3ScsiTaskFull" "\4DiagTrace"
"\5SnapBuf" "\6ExtBuf" "\7EEDP" "\10BiDirTarg" "\11Multicast"
"\14TransRetry" "\15IR" "\16EventReplay" "\17RaidAccel"
"\20MSIXIndex" "\21HostDisc");
- mpr_dprint_field(sc, MPR_XINFO, "FWVersion= %d-%d-%d-%d\n",
+ mpr_print_field(sc, "FWVersion= %d-%d-%d-%d\n",
facts->FWVersion.Struct.Major,
facts->FWVersion.Struct.Minor,
facts->FWVersion.Struct.Unit,
@@ -232,7 +248,7 @@ mpr_print_iocfacts(struct mpr_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
MPR_PRINTFIELD(sc, facts, MaxTargets, %d);
MPR_PRINTFIELD(sc, facts, MaxSasExpanders, %d);
MPR_PRINTFIELD(sc, facts, MaxEnclosures, %d);
- mpr_dprint_field(sc, MPR_XINFO, "ProtocolFlags: %b\n",
+ mpr_print_field(sc, "ProtocolFlags: %b\n",
facts->ProtocolFlags, "\20" "\1ScsiTarg" "\2ScsiInit");
MPR_PRINTFIELD(sc, facts, HighPriorityCredit, %d);
MPR_PRINTFIELD(sc, facts, MaxReplyDescriptorPostQueueDepth, %d);
@@ -243,7 +259,7 @@ mpr_print_iocfacts(struct mpr_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
}
void
-mpr_print_portfacts(struct mpr_softc *sc, MPI2_PORT_FACTS_REPLY *facts)
+_mpr_print_portfacts(struct mpr_softc *sc, MPI2_PORT_FACTS_REPLY *facts)
{
MPR_PRINTFIELD_START(sc, "PortFacts");
@@ -253,24 +269,24 @@ mpr_print_portfacts(struct mpr_softc *sc, MPI2_PORT_FACTS_REPLY *facts)
}
void
-mpr_print_event(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
+_mpr_print_event(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
{
- MPR_EVENTFIELD_START(sc, "EventReply");
- MPR_EVENTFIELD(sc, event, EventDataLength, %d);
- MPR_EVENTFIELD(sc, event, AckRequired, %d);
- mpr_dprint_field(sc, MPR_EVENT, "Event: %s (0x%x)\n",
+ MPR_PRINTFIELD_START(sc, "EventReply");
+ MPR_PRINTFIELD(sc, event, EventDataLength, %d);
+ MPR_PRINTFIELD(sc, event, AckRequired, %d);
+ mpr_print_field(sc, "Event: %s (0x%x)\n",
mpr_describe_table(mpr_event_names, event->Event), event->Event);
- MPR_EVENTFIELD(sc, event, EventContext, 0x%x);
+ MPR_PRINTFIELD(sc, event, EventContext, 0x%x);
}
void
-mpr_print_sasdev0(struct mpr_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
+_mpr_print_sasdev0(struct mpr_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
{
MPR_PRINTFIELD_START(sc, "SAS Device Page 0");
MPR_PRINTFIELD(sc, buf, Slot, %d);
MPR_PRINTFIELD(sc, buf, EnclosureHandle, 0x%x);
- mpr_dprint_field(sc, MPR_XINFO, "SASAddress: 0x%jx\n",
+ mpr_print_field(sc, "SASAddress: 0x%jx\n",
mpr_to_u64(&buf->SASAddress));
MPR_PRINTFIELD(sc, buf, ParentDevHandle, 0x%x);
MPR_PRINTFIELD(sc, buf, PhyNum, %d);
@@ -278,7 +294,7 @@ mpr_print_sasdev0(struct mpr_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
MPR_PRINTFIELD(sc, buf, DevHandle, 0x%x);
MPR_PRINTFIELD(sc, buf, AttachedPhyIdentifier, 0x%x);
MPR_PRINTFIELD(sc, buf, ZoneGroup, %d);
- mpr_dprint_field(sc, MPR_XINFO, "DeviceInfo: %b,%s\n", buf->DeviceInfo,
+ mpr_print_field(sc, "DeviceInfo: %b,%s\n", buf->DeviceInfo,
"\20" "\4SataHost" "\5SmpInit" "\6StpInit" "\7SspInit"
"\10SataDev" "\11SmpTarg" "\12StpTarg" "\13SspTarg" "\14Direct"
"\15LsiDev" "\16AtapiDev" "\17SepDev",
@@ -286,7 +302,7 @@ mpr_print_sasdev0(struct mpr_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
MPR_PRINTFIELD(sc, buf, Flags, 0x%x);
MPR_PRINTFIELD(sc, buf, PhysicalPort, %d);
MPR_PRINTFIELD(sc, buf, MaxPortConnections, %d);
- mpr_dprint_field(sc, MPR_XINFO, "DeviceName: 0x%jx\n",
+ mpr_print_field(sc, "DeviceName: 0x%jx\n",
mpr_to_u64(&buf->DeviceName));
MPR_PRINTFIELD(sc, buf, PortGroups, %d);
MPR_PRINTFIELD(sc, buf, DmaGroup, %d);
@@ -294,10 +310,10 @@ mpr_print_sasdev0(struct mpr_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
}
void
-mpr_print_evt_sas(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
+_mpr_print_evt_sas(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
{
- mpr_print_event(sc, event);
+ _mpr_print_event(sc, event);
switch(event->Event) {
case MPI2_EVENT_SAS_DISCOVERY:
@@ -305,12 +321,12 @@ mpr_print_evt_sas(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
MPI2_EVENT_DATA_SAS_DISCOVERY *data;
data = (MPI2_EVENT_DATA_SAS_DISCOVERY *)&event->EventData;
- mpr_dprint_field(sc, MPR_EVENT, "Flags: %b\n", data->Flags,
+ mpr_print_field(sc, "Flags: %b\n", data->Flags,
"\20" "\1InProgress" "\2DeviceChange");
- mpr_dprint_field(sc, MPR_EVENT, "ReasonCode: %s\n",
+ mpr_print_field(sc, "ReasonCode: %s\n",
mpr_describe_table(mpr_sasdisc_reason, data->ReasonCode));
- MPR_EVENTFIELD(sc, data, PhysicalPort, %d);
- mpr_dprint_field(sc, MPR_EVENT, "DiscoveryStatus: %b\n",
+ MPR_PRINTFIELD(sc, data, PhysicalPort, %d);
+ mpr_print_field(sc, "DiscoveryStatus: %b\n",
data->DiscoveryStatus, "\20"
"\1Loop" "\2UnaddressableDev" "\3DupSasAddr" "\5SmpTimeout"
"\6ExpRouteFull" "\7RouteIndexError" "\10SmpFailed"
@@ -321,6 +337,7 @@ mpr_print_evt_sas(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
"\40MaxEnclosures");
break;
}
+//SLM-add for PCIE EVENT too
case MPI2_EVENT_SAS_TOPOLOGY_CHANGE_LIST:
{
MPI2_EVENT_DATA_SAS_TOPOLOGY_CHANGE_LIST *data;
@@ -329,26 +346,26 @@ mpr_print_evt_sas(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
data = (MPI2_EVENT_DATA_SAS_TOPOLOGY_CHANGE_LIST *)
&event->EventData;
- MPR_EVENTFIELD(sc, data, EnclosureHandle, 0x%x);
- MPR_EVENTFIELD(sc, data, ExpanderDevHandle, 0x%x);
- MPR_EVENTFIELD(sc, data, NumPhys, %d);
- MPR_EVENTFIELD(sc, data, NumEntries, %d);
- MPR_EVENTFIELD(sc, data, StartPhyNum, %d);
- mpr_dprint_field(sc, MPR_EVENT, "ExpStatus: %s (0x%x)\n",
+ MPR_PRINTFIELD(sc, data, EnclosureHandle, 0x%x);
+ MPR_PRINTFIELD(sc, data, ExpanderDevHandle, 0x%x);
+ MPR_PRINTFIELD(sc, data, NumPhys, %d);
+ MPR_PRINTFIELD(sc, data, NumEntries, %d);
+ MPR_PRINTFIELD(sc, data, StartPhyNum, %d);
+ mpr_print_field(sc, "ExpStatus: %s (0x%x)\n",
mpr_describe_table(mpr_sastopo_exp, data->ExpStatus),
data->ExpStatus);
- MPR_EVENTFIELD(sc, data, PhysicalPort, %d);
+ MPR_PRINTFIELD(sc, data, PhysicalPort, %d);
for (i = 0; i < data->NumEntries; i++) {
phy = &data->PHY[i];
phynum = data->StartPhyNum + i;
- mpr_dprint_field(sc, MPR_EVENT,
+ mpr_print_field(sc,
"PHY[%d].AttachedDevHandle: 0x%04x\n", phynum,
phy->AttachedDevHandle);
- mpr_dprint_field(sc, MPR_EVENT,
+ mpr_print_field(sc,
"PHY[%d].LinkRate: %s (0x%x)\n", phynum,
mpr_describe_table(mpr_linkrate_names,
(phy->LinkRate >> 4) & 0xf), phy->LinkRate);
- mpr_dprint_field(sc,MPR_EVENT,"PHY[%d].PhyStatus: %s\n",
+ mpr_print_field(sc, "PHY[%d].PhyStatus: %s\n",
phynum, mpr_describe_table(mpr_phystatus_names,
phy->PhyStatus));
}
@@ -360,13 +377,13 @@ mpr_print_evt_sas(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
data = (MPI2_EVENT_DATA_SAS_ENCL_DEV_STATUS_CHANGE *)
&event->EventData;
- MPR_EVENTFIELD(sc, data, EnclosureHandle, 0x%x);
- mpr_dprint_field(sc, MPR_EVENT, "ReasonCode: %s\n",
+ MPR_PRINTFIELD(sc, data, EnclosureHandle, 0x%x);
+ mpr_print_field(sc, "ReasonCode: %s\n",
mpr_describe_table(mpr_sastopo_exp, data->ReasonCode));
- MPR_EVENTFIELD(sc, data, PhysicalPort, %d);
- MPR_EVENTFIELD(sc, data, NumSlots, %d);
- MPR_EVENTFIELD(sc, data, StartSlot, %d);
- MPR_EVENTFIELD(sc, data, PhyBits, 0x%x);
+ MPR_PRINTFIELD(sc, data, PhysicalPort, %d);
+ MPR_PRINTFIELD(sc, data, NumSlots, %d);
+ MPR_PRINTFIELD(sc, data, StartSlot, %d);
+ MPR_PRINTFIELD(sc, data, PhyBits, 0x%x);
break;
}
case MPI2_EVENT_SAS_DEVICE_STATUS_CHANGE:
@@ -375,13 +392,13 @@ mpr_print_evt_sas(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
data = (MPI2_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE *)
&event->EventData;
- MPR_EVENTFIELD(sc, data, TaskTag, 0x%x);
- mpr_dprint_field(sc, MPR_EVENT, "ReasonCode: %s\n",
+ MPR_PRINTFIELD(sc, data, TaskTag, 0x%x);
+ mpr_print_field(sc, "ReasonCode: %s\n",
mpr_describe_table(mpr_sasdev_reason, data->ReasonCode));
- MPR_EVENTFIELD(sc, data, ASC, 0x%x);
- MPR_EVENTFIELD(sc, data, ASCQ, 0x%x);
- MPR_EVENTFIELD(sc, data, DevHandle, 0x%x);
- mpr_dprint_field(sc, MPR_EVENT, "SASAddress: 0x%jx\n",
+ MPR_PRINTFIELD(sc, data, ASC, 0x%x);
+ MPR_PRINTFIELD(sc, data, ASCQ, 0x%x);
+ MPR_PRINTFIELD(sc, data, DevHandle, 0x%x);
+ mpr_print_field(sc, "SASAddress: 0x%jx\n",
mpr_to_u64(&data->SASAddress));
}
default:
@@ -390,24 +407,24 @@ mpr_print_evt_sas(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
}
void
-mpr_print_expander1(struct mpr_softc *sc, MPI2_CONFIG_PAGE_EXPANDER_1 *buf)
+_mpr_print_expander1(struct mpr_softc *sc, MPI2_CONFIG_PAGE_EXPANDER_1 *buf)
{
MPR_PRINTFIELD_START(sc, "SAS Expander Page 1 #%d", buf->Phy);
MPR_PRINTFIELD(sc, buf, PhysicalPort, %d);
MPR_PRINTFIELD(sc, buf, NumPhys, %d);
MPR_PRINTFIELD(sc, buf, Phy, %d);
MPR_PRINTFIELD(sc, buf, NumTableEntriesProgrammed, %d);
- mpr_dprint_field(sc, MPR_XINFO, "ProgrammedLinkRate: %s (0x%x)\n",
+ mpr_print_field(sc, "ProgrammedLinkRate: %s (0x%x)\n",
mpr_describe_table(mpr_linkrate_names,
(buf->ProgrammedLinkRate >> 4) & 0xf), buf->ProgrammedLinkRate);
- mpr_dprint_field(sc, MPR_XINFO, "HwLinkRate: %s (0x%x)\n",
+ mpr_print_field(sc, "HwLinkRate: %s (0x%x)\n",
mpr_describe_table(mpr_linkrate_names,
(buf->HwLinkRate >> 4) & 0xf), buf->HwLinkRate);
MPR_PRINTFIELD(sc, buf, AttachedDevHandle, 0x%04x);
- mpr_dprint_field(sc, MPR_XINFO, "PhyInfo Reason: %s (0x%x)\n",
+ mpr_print_field(sc, "PhyInfo Reason: %s (0x%x)\n",
mpr_describe_table(mpr_phyinfo_reason_names,
(buf->PhyInfo >> 16) & 0xf), buf->PhyInfo);
- mpr_dprint_field(sc, MPR_XINFO, "AttachedDeviceInfo: %b,%s\n",
+ mpr_print_field(sc, "AttachedDeviceInfo: %b,%s\n",
buf->AttachedDeviceInfo, "\20" "\4SATAhost" "\5SMPinit" "\6STPinit"
"\7SSPinit" "\10SATAdev" "\11SMPtarg" "\12STPtarg" "\13SSPtarg"
"\14Direct" "\15LSIdev" "\16ATAPIdev" "\17SEPdev",
@@ -415,14 +432,14 @@ mpr_print_expander1(struct mpr_softc *sc, MPI2_CONFIG_PAGE_EXPANDER_1 *buf)
buf->AttachedDeviceInfo & 0x03));
MPR_PRINTFIELD(sc, buf, ExpanderDevHandle, 0x%04x);
MPR_PRINTFIELD(sc, buf, ChangeCount, %d);
- mpr_dprint_field(sc, MPR_XINFO, "NegotiatedLinkRate: %s (0x%x)\n",
+ mpr_print_field(sc, "NegotiatedLinkRate: %s (0x%x)\n",
mpr_describe_table(mpr_linkrate_names,
buf->NegotiatedLinkRate & 0xf), buf->NegotiatedLinkRate);
MPR_PRINTFIELD(sc, buf, PhyIdentifier, %d);
MPR_PRINTFIELD(sc, buf, AttachedPhyIdentifier, %d);
MPR_PRINTFIELD(sc, buf, DiscoveryInfo, 0x%x);
MPR_PRINTFIELD(sc, buf, AttachedPhyInfo, 0x%x);
- mpr_dprint_field(sc, MPR_XINFO, "AttachedPhyInfo Reason: %s (0x%x)\n",
+ mpr_print_field(sc, "AttachedPhyInfo Reason: %s (0x%x)\n",
mpr_describe_table(mpr_phyinfo_reason_names,
buf->AttachedPhyInfo & 0xf), buf->AttachedPhyInfo);
MPR_PRINTFIELD(sc, buf, ZoneGroup, %d);
@@ -430,27 +447,27 @@ mpr_print_expander1(struct mpr_softc *sc, MPI2_CONFIG_PAGE_EXPANDER_1 *buf)
}
void
-mpr_print_sasphy0(struct mpr_softc *sc, MPI2_CONFIG_PAGE_SAS_PHY_0 *buf)
+_mpr_print_sasphy0(struct mpr_softc *sc, MPI2_CONFIG_PAGE_SAS_PHY_0 *buf)
{
MPR_PRINTFIELD_START(sc, "SAS PHY Page 0");
MPR_PRINTFIELD(sc, buf, OwnerDevHandle, 0x%04x);
MPR_PRINTFIELD(sc, buf, AttachedDevHandle, 0x%04x);
MPR_PRINTFIELD(sc, buf, AttachedPhyIdentifier, %d);
- mpr_dprint_field(sc, MPR_XINFO, "AttachedPhyInfo Reason: %s (0x%x)\n",
+ mpr_print_field(sc, "AttachedPhyInfo Reason: %s (0x%x)\n",
mpr_describe_table(mpr_phyinfo_reason_names,
buf->AttachedPhyInfo & 0xf), buf->AttachedPhyInfo);
- mpr_dprint_field(sc, MPR_XINFO, "ProgrammedLinkRate: %s (0x%x)\n",
+ mpr_print_field(sc, "ProgrammedLinkRate: %s (0x%x)\n",
mpr_describe_table(mpr_linkrate_names,
(buf->ProgrammedLinkRate >> 4) & 0xf), buf->ProgrammedLinkRate);
- mpr_dprint_field(sc, MPR_XINFO, "HwLinkRate: %s (0x%x)\n",
+ mpr_print_field(sc, "HwLinkRate: %s (0x%x)\n",
mpr_describe_table(mpr_linkrate_names,
(buf->HwLinkRate >> 4) & 0xf), buf->HwLinkRate);
MPR_PRINTFIELD(sc, buf, ChangeCount, %d);
MPR_PRINTFIELD(sc, buf, Flags, 0x%x);
- mpr_dprint_field(sc, MPR_XINFO, "PhyInfo Reason: %s (0x%x)\n",
+ mpr_print_field(sc, "PhyInfo Reason: %s (0x%x)\n",
mpr_describe_table(mpr_phyinfo_reason_names,
(buf->PhyInfo >> 16) & 0xf), buf->PhyInfo);
- mpr_dprint_field(sc, MPR_XINFO, "NegotiatedLinkRate: %s (0x%x)\n",
+ mpr_print_field(sc, "NegotiatedLinkRate: %s (0x%x)\n",
mpr_describe_table(mpr_linkrate_names,
buf->NegotiatedLinkRate & 0xf), buf->NegotiatedLinkRate);
}
diff --git a/sys/dev/mpr/mpr_table.h b/sys/dev/mpr/mpr_table.h
index 6539232..162689a 100644
--- a/sys/dev/mpr/mpr_table.h
+++ b/sys/dev/mpr/mpr_table.h
@@ -40,14 +40,65 @@ void mpr_describe_devinfo(uint32_t devinfo, char *string, int len);
extern struct mpr_table_lookup mpr_event_names[];
extern struct mpr_table_lookup mpr_phystatus_names[];
extern struct mpr_table_lookup mpr_linkrate_names[];
+extern struct mpr_table_lookup mpr_pcie_linkrate_names[];
-void mpr_print_iocfacts(struct mpr_softc *, MPI2_IOC_FACTS_REPLY *);
-void mpr_print_portfacts(struct mpr_softc *, MPI2_PORT_FACTS_REPLY *);
-void mpr_print_event(struct mpr_softc *, MPI2_EVENT_NOTIFICATION_REPLY *);
-void mpr_print_sasdev0(struct mpr_softc *, MPI2_CONFIG_PAGE_SAS_DEV_0 *);
-void mpr_print_evt_sas(struct mpr_softc *, MPI2_EVENT_NOTIFICATION_REPLY *);
-void mpr_print_expander1(struct mpr_softc *, MPI2_CONFIG_PAGE_EXPANDER_1 *);
-void mpr_print_sasphy0(struct mpr_softc *, MPI2_CONFIG_PAGE_SAS_PHY_0 *);
+void _mpr_print_iocfacts(struct mpr_softc *, MPI2_IOC_FACTS_REPLY *);
+void _mpr_print_portfacts(struct mpr_softc *, MPI2_PORT_FACTS_REPLY *);
+void _mpr_print_event(struct mpr_softc *, MPI2_EVENT_NOTIFICATION_REPLY *);
+void _mpr_print_sasdev0(struct mpr_softc *, MPI2_CONFIG_PAGE_SAS_DEV_0 *);
+void _mpr_print_evt_sas(struct mpr_softc *, MPI2_EVENT_NOTIFICATION_REPLY *);
+void _mpr_print_expander1(struct mpr_softc *, MPI2_CONFIG_PAGE_EXPANDER_1 *);
+void _mpr_print_sasphy0(struct mpr_softc *, MPI2_CONFIG_PAGE_SAS_PHY_0 *);
void mpr_print_sgl(struct mpr_softc *, struct mpr_command *, int);
void mpr_print_scsiio_cmd(struct mpr_softc *, struct mpr_command *);
+
+static __inline void
+mpr_print_iocfacts(struct mpr_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
+{
+ if (sc->mpr_debug & MPR_XINFO)
+ _mpr_print_iocfacts(sc, facts);
+}
+
+static __inline void
+mpr_print_portfacts(struct mpr_softc *sc, MPI2_PORT_FACTS_REPLY *facts)
+{
+ if (sc->mpr_debug & MPR_XINFO)
+ _mpr_print_portfacts(sc, facts);
+}
+
+static __inline void
+mpr_print_event(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
+{
+ if (sc->mpr_debug & MPR_EVENT)
+ _mpr_print_event(sc, event);
+}
+
+static __inline void
+mpr_print_evt_sas(struct mpr_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
+{
+ if (sc->mpr_debug & MPR_EVENT)
+ _mpr_print_evt_sas(sc, event);
+}
+
+static __inline void
+mpr_print_sasdev0(struct mpr_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
+{
+ if (sc->mpr_debug & MPR_XINFO)
+ _mpr_print_sasdev0(sc, buf);
+}
+
+static __inline void
+mpr_print_expander1(struct mpr_softc *sc, MPI2_CONFIG_PAGE_EXPANDER_1 *buf)
+{
+ if (sc->mpr_debug & MPR_XINFO)
+ _mpr_print_expander1(sc, buf);
+}
+
+static __inline void
+mpr_print_sasphy0(struct mpr_softc *sc, MPI2_CONFIG_PAGE_SAS_PHY_0 *buf)
+{
+ if (sc->mpr_debug & MPR_XINFO)
+ _mpr_print_sasphy0(sc, buf);
+}
+
#endif
diff --git a/sys/dev/mpr/mpr_user.c b/sys/dev/mpr/mpr_user.c
index 0a847de..750b126 100644
--- a/sys/dev/mpr/mpr_user.c
+++ b/sys/dev/mpr/mpr_user.c
@@ -99,6 +99,7 @@ __FBSDID("$FreeBSD$");
#include <dev/mpr/mpi/mpi2_cnfg.h>
#include <dev/mpr/mpi/mpi2_init.h>
#include <dev/mpr/mpi/mpi2_tool.h>
+#include <dev/mpr/mpi/mpi2_pci.h>
#include <dev/mpr/mpr_ioctl.h>
#include <dev/mpr/mprvar.h>
#include <dev/mpr/mpr_table.h>
@@ -747,6 +748,8 @@ mpr_user_pass_thru(struct mpr_softc *sc, mpr_pass_thru_t *data)
{
MPI2_REQUEST_HEADER *hdr, tmphdr;
MPI2_DEFAULT_REPLY *rpl;
+ Mpi26NVMeEncapsulatedErrorReply_t *nvme_error_reply = NULL;
+ Mpi26NVMeEncapsulatedRequest_t *nvme_encap_request = NULL;
struct mpr_command *cm = NULL;
int i, err = 0, dir = 0, sz;
uint8_t tool, function = 0;
@@ -923,8 +926,8 @@ mpr_user_pass_thru(struct mpr_softc *sc, mpr_pass_thru_t *data)
cm->cm_data, data->DataSize);
}
if (err != 0)
- mpr_dprint(sc, MPR_FAULT, "%s: failed to copy "
- "IOCTL data from user space\n", __func__);
+ mpr_dprint(sc, MPR_FAULT, "%s: failed to copy IOCTL "
+ "data from user space\n", __func__);
}
/*
* Set this flag only if processing a command that does not need an
@@ -946,6 +949,35 @@ mpr_user_pass_thru(struct mpr_softc *sc, mpr_pass_thru_t *data)
}
cm->cm_desc.Default.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE;
+ if (function == MPI2_FUNCTION_NVME_ENCAPSULATED) {
+ nvme_encap_request =
+ (Mpi26NVMeEncapsulatedRequest_t *)cm->cm_req;
+ cm->cm_desc.Default.RequestFlags =
+ MPI26_REQ_DESCRIPT_FLAGS_PCIE_ENCAPSULATED;
+
+ /*
+ * Get the Physical Address of the sense buffer.
+ * Save the user's Error Response buffer address and use that
+ * field to hold the sense buffer address.
+ * Clear the internal sense buffer, which will potentially hold
+ * the Completion Queue Entry on return, or 0 if no Entry.
+ * Build the PRPs and set direction bits.
+ * Send the request.
+ */
+ cm->nvme_error_response =
+ (uint64_t *)(uintptr_t)(((uint64_t)nvme_encap_request->
+ ErrorResponseBaseAddress.High << 32) |
+ (uint64_t)nvme_encap_request->
+ ErrorResponseBaseAddress.Low);
+ nvme_encap_request->ErrorResponseBaseAddress.High =
+ htole32((uint32_t)((uint64_t)cm->cm_sense_busaddr >> 32));
+ nvme_encap_request->ErrorResponseBaseAddress.Low =
+ htole32(cm->cm_sense_busaddr);
+ memset(cm->cm_sense, 0, NVME_ERROR_RESPONSE_SIZE);
+ mpr_build_nvme_prp(sc, cm, nvme_encap_request, cm->cm_data,
+ data->DataSize, data->DataOutSize);
+ }
+
/*
* Set up Sense buffer and SGL offset for IO passthru. SCSI IO request
* uses SCSI IO or Fast Path SCSI IO descriptor.
@@ -994,15 +1026,19 @@ mpr_user_pass_thru(struct mpr_softc *sc, mpr_pass_thru_t *data)
MPI25_REQ_DESCRIPT_FLAGS_FAST_PATH_SCSI_IO) {
cm->cm_desc.FastPathSCSIIO.RequestFlags =
MPI25_REQ_DESCRIPT_FLAGS_FAST_PATH_SCSI_IO;
- cm->cm_desc.FastPathSCSIIO.DevHandle =
- scsi_io_req->DevHandle;
+ if (!sc->atomic_desc_capable) {
+ cm->cm_desc.FastPathSCSIIO.DevHandle =
+ scsi_io_req->DevHandle;
+ }
scsi_io_req->IoFlags |=
MPI25_SCSIIO_IOFLAGS_FAST_PATH;
} else {
cm->cm_desc.SCSIIO.RequestFlags =
MPI2_REQ_DESCRIPT_FLAGS_SCSI_IO;
- cm->cm_desc.SCSIIO.DevHandle =
- scsi_io_req->DevHandle;
+ if (!sc->atomic_desc_capable) {
+ cm->cm_desc.SCSIIO.DevHandle =
+ scsi_io_req->DevHandle;
+ }
}
/*
@@ -1079,6 +1115,38 @@ mpr_user_pass_thru(struct mpr_softc *sc, mpr_pass_thru_t *data)
mpr_lock(sc);
}
}
+
+ /*
+ * Copy out the NVMe Error Reponse to user. The Error Response
+ * buffer is given by the user, but a sense buffer is used to
+ * get that data from the IOC. The user's
+ * ErrorResponseBaseAddress is saved in the
+ * 'nvme_error_response' field before the command because that
+ * field is set to a sense buffer. When the command is
+ * complete, the Error Response data from the IOC is copied to
+ * that user address after it is checked for validity.
+ * Also note that 'sense' buffers are not defined for
+ * NVMe commands. Sense terminalogy is only used here so that
+ * the same IOCTL structure and sense buffers can be used for
+ * NVMe.
+ */
+ if (function == MPI2_FUNCTION_NVME_ENCAPSULATED) {
+ if (cm->nvme_error_response == NULL) {
+ mpr_dprint(sc, MPR_INFO, "NVMe Error Response "
+ "buffer is NULL. Response data will not be "
+ "returned.\n");
+ mpr_unlock(sc);
+ goto RetFreeUnlocked;
+ }
+
+ nvme_error_reply =
+ (Mpi26NVMeEncapsulatedErrorReply_t *)cm->cm_reply;
+ sz = MIN(le32toh(nvme_error_reply->ErrorResponseCount),
+ NVME_ERROR_RESPONSE_SIZE);
+ mpr_unlock(sc);
+ copyout(cm->cm_sense, cm->nvme_error_response, sz);
+ mpr_lock(sc);
+ }
}
mpr_unlock(sc);
@@ -2068,7 +2136,7 @@ mpr_user_btdh(struct mpr_softc *sc, mpr_btdh_mapping_t *data)
return (EINVAL);
if (target > sc->max_devices) {
- mpr_dprint(sc, MPR_FAULT, "Target ID is out of range "
+ mpr_dprint(sc, MPR_XINFO, "Target ID is out of range "
"for Bus/Target to DevHandle mapping.");
return (EINVAL);
}
@@ -2077,7 +2145,7 @@ mpr_user_btdh(struct mpr_softc *sc, mpr_btdh_mapping_t *data)
data->DevHandle = dev_handle;
} else {
bus = 0;
- target = mpr_mapping_get_sas_id_from_handle(sc, dev_handle);
+ target = mpr_mapping_get_tid_from_handle(sc, dev_handle);
data->Bus = bus;
data->TargetID = target;
}
diff --git a/sys/dev/mpr/mprvar.h b/sys/dev/mpr/mprvar.h
index 7cb71d6..1e97a75 100644
--- a/sys/dev/mpr/mprvar.h
+++ b/sys/dev/mpr/mprvar.h
@@ -33,7 +33,7 @@
#ifndef _MPRVAR_H
#define _MPRVAR_H
-#define MPR_DRIVER_VERSION "15.01.00.00-fbsd"
+#define MPR_DRIVER_VERSION "15.03.00.00-fbsd"
#define MPR_DB_MAX_WAIT 2500
@@ -50,6 +50,17 @@
#define MPR_DEFAULT_CHAIN_SEG_SIZE 8
#define MPR_MAX_CHAIN_ELEMENT_SIZE 16
+/*
+ * PCIe NVMe Specific defines
+ */
+//SLM-for now just use the same value as a SAS disk
+#define NVME_QDEPTH MPR_REQ_FRAMES
+#define PRP_ENTRY_SIZE 8
+#define NVME_CMD_PRP1_OFFSET 24 /* PRP1 offset in NVMe cmd */
+#define NVME_CMD_PRP2_OFFSET 32 /* PRP2 offset in NVMe cmd */
+#define NVME_ERROR_RESPONSE_SIZE 16 /* Max NVME Error Response */
+#define HOST_PAGE_SIZE_4K 12
+
#define MPR_FUNCTRACE(sc) \
mpr_dprint((sc), MPR_TRACE, "%s\n", __func__)
@@ -58,6 +69,7 @@
#define MPR_PERIODIC_DELAY 1 /* 1 second heartbeat/watchdog check */
#define MPR_ATA_ID_TIMEOUT 5 /* 5 second timeout for SATA ID cmd */
+#define MPR_MISSING_CHECK_DELAY 10 /* 10 seconds between missing check */
#define IFAULT_IOP_OVER_TEMP_THRESHOLD_EXCEEDED 0x2810
@@ -77,7 +89,6 @@
#define MPR_MAX_MISSING_COUNT 0x0F
#define MPR_DEV_RESERVED 0x20000000
#define MPR_MAP_IN_USE 0x10000000
-#define MPR_RAID_CHANNEL 1
#define MPR_MAP_BAD_ID 0xFFFFFFFF
typedef uint8_t u8;
@@ -92,7 +103,6 @@ typedef uint64_t u64;
* @phy_bits: bitfields indicating controller phys
* @dpm_entry_num: index of this device in device persistent map table
* @dev_handle: device handle for the device pointed by this entry
- * @channel: target channel
* @id: target id
* @missing_count: number of times the device not detected by driver
* @hide_flag: Hide this physical disk/not (foreign configuration)
@@ -105,8 +115,7 @@ struct dev_mapping_table {
u32 phy_bits;
u16 dpm_entry_num;
u16 dev_handle;
- u8 reserved1;
- u8 channel;
+ u16 reserved1;
u16 id;
u8 missing_count;
u8 init_complete;
@@ -184,6 +193,12 @@ struct mpr_chain {
uint64_t chain_busaddr;
};
+struct mpr_prp_page {
+ TAILQ_ENTRY(mpr_prp_page) prp_page_link;
+ uint64_t *prp_page;
+ uint64_t prp_page_busaddr;
+};
+
/*
* This needs to be at least 2 to support SMP passthrough.
*/
@@ -229,9 +244,11 @@ struct mpr_command {
#define MPR_CM_STATE_TIMEDOUT 2
bus_dmamap_t cm_dmamap;
struct scsi_sense_data *cm_sense;
+ uint64_t *nvme_error_response;
TAILQ_HEAD(, mpr_chain) cm_chain_list;
+ TAILQ_HEAD(, mpr_prp_page) cm_prp_page_list;
uint32_t cm_req_busaddr;
- uint32_t cm_sense_busaddr;
+ bus_addr_t cm_sense_busaddr;
struct callout cm_callout;
};
@@ -257,33 +274,44 @@ struct mpr_softc {
#define MPR_FLAGS_SHUTDOWN (1 << 3)
#define MPR_FLAGS_DIAGRESET (1 << 4)
#define MPR_FLAGS_ATTACH_DONE (1 << 5)
+#define MPR_FLAGS_GEN35_IOC (1 << 6)
u_int mpr_debug;
u_int disable_msix;
u_int disable_msi;
+ u_int atomic_desc_capable;
int tm_cmds_active;
int io_cmds_active;
int io_cmds_highwater;
int chain_free;
int max_chains;
int max_io_pages;
+ u_int maxio;
int chain_free_lowwater;
uint32_t chain_frame_size;
uint16_t chain_seg_size;
+ int prp_buffer_size;
+ int prp_pages_free;
+ int prp_pages_free_lowwater;
u_int enable_ssu;
int spinup_wait_time;
+ int use_phynum;
uint64_t chain_alloc_fail;
+ uint64_t prp_page_alloc_fail;
struct sysctl_ctx_list sysctl_ctx;
struct sysctl_oid *sysctl_tree;
char fw_version[16];
struct mpr_command *commands;
struct mpr_chain *chains;
+ struct mpr_prp_page *prps;
struct callout periodic;
+ struct callout device_check_callout;
struct mprsas_softc *sassc;
char tmp_string[MPR_STRING_LENGTH];
TAILQ_HEAD(, mpr_command) req_list;
TAILQ_HEAD(, mpr_command) high_priority_req_list;
TAILQ_HEAD(, mpr_chain) chain_list;
+ TAILQ_HEAD(, mpr_prp_page) prp_page_list;
TAILQ_HEAD(, mpr_command) tm_list;
int replypostindex;
int replyfreeindex;
@@ -332,6 +360,11 @@ struct mpr_softc {
bus_dma_tag_t chain_dmat;
bus_dmamap_t chain_map;
+ uint8_t *prp_pages;
+ bus_addr_t prp_page_busaddr;
+ bus_dma_tag_t prp_page_dmat;
+ bus_dmamap_t prp_page_map;
+
MPI2_REPLY_DESCRIPTORS_UNION *post_queue;
bus_addr_t post_busaddr;
uint32_t *free_queue;
@@ -363,13 +396,10 @@ struct mpr_softc {
uint8_t max_volumes;
uint8_t num_enc_table_entries;
uint8_t num_rsvd_entries;
- uint8_t num_channels;
uint16_t max_dpm_entries;
uint8_t is_dpm_enable;
uint8_t track_mapping_events;
uint32_t pending_map_events;
- uint8_t mt_full_retry;
- uint8_t mt_add_device_failed;
/* FW diag Buffer List */
mpr_fw_diagnostic_buffer_t
@@ -470,10 +500,33 @@ mpr_free_chain(struct mpr_softc *sc, struct mpr_chain *chain)
TAILQ_INSERT_TAIL(&sc->chain_list, chain, chain_link);
}
+static __inline struct mpr_prp_page *
+mpr_alloc_prp_page(struct mpr_softc *sc)
+{
+ struct mpr_prp_page *prp_page;
+
+ if ((prp_page = TAILQ_FIRST(&sc->prp_page_list)) != NULL) {
+ TAILQ_REMOVE(&sc->prp_page_list, prp_page, prp_page_link);
+ sc->prp_pages_free--;
+ if (sc->prp_pages_free < sc->prp_pages_free_lowwater)
+ sc->prp_pages_free_lowwater = sc->prp_pages_free;
+ } else
+ sc->prp_page_alloc_fail++;
+ return (prp_page);
+}
+
+static __inline void
+mpr_free_prp_page(struct mpr_softc *sc, struct mpr_prp_page *prp_page)
+{
+ sc->prp_pages_free++;
+ TAILQ_INSERT_TAIL(&sc->prp_page_list, prp_page, prp_page_link);
+}
+
static __inline void
mpr_free_command(struct mpr_softc *sc, struct mpr_command *cm)
{
struct mpr_chain *chain, *chain_temp;
+ struct mpr_prp_page *prp_page, *prp_page_temp;
if (cm->cm_reply != NULL)
mpr_free_reply(sc, cm->cm_reply_data);
@@ -496,6 +549,11 @@ mpr_free_command(struct mpr_softc *sc, struct mpr_command *cm)
TAILQ_REMOVE(&cm->cm_chain_list, chain, chain_link);
mpr_free_chain(sc, chain);
}
+ TAILQ_FOREACH_SAFE(prp_page, &cm->cm_prp_page_list, prp_page_link,
+ prp_page_temp) {
+ TAILQ_REMOVE(&cm->cm_prp_page_list, prp_page, prp_page_link);
+ mpr_free_prp_page(sc, prp_page);
+ }
TAILQ_INSERT_TAIL(&sc->req_list, cm, cm_link);
}
@@ -509,7 +567,8 @@ mpr_alloc_command(struct mpr_softc *sc)
return (NULL);
TAILQ_REMOVE(&sc->req_list, cm, cm_link);
- KASSERT(cm->cm_state == MPR_CM_STATE_FREE, ("mpr: Allocating busy command\n"));
+ KASSERT(cm->cm_state == MPR_CM_STATE_FREE, ("mpr: Allocating busy "
+ "command\n"));
cm->cm_state = MPR_CM_STATE_BUSY;
return (cm);
}
@@ -546,7 +605,8 @@ mpr_alloc_high_priority_command(struct mpr_softc *sc)
return (NULL);
TAILQ_REMOVE(&sc->high_priority_req_list, cm, cm_link);
- KASSERT(cm->cm_state == MPR_CM_STATE_FREE, ("mpr: Allocating busy command\n"));
+ KASSERT(cm->cm_state == MPR_CM_STATE_FREE, ("mpr: Allocating busy "
+ "command\n"));
cm->cm_state = MPR_CM_STATE_BUSY;
return (cm);
}
@@ -583,6 +643,9 @@ mpr_unlock(struct mpr_softc *sc)
#define mpr_printf(sc, args...) \
device_printf((sc)->mpr_dev, ##args)
+#define mpr_print_field(sc, msg, args...) \
+ printf("\t" msg, ##args)
+
#define mpr_vprintf(sc, args...) \
do { \
if (bootverbose) \
@@ -595,25 +658,13 @@ do { \
device_printf((sc)->mpr_dev, msg, ##args); \
} while (0)
-#define mpr_dprint_field(sc, level, msg, args...) \
-do { \
- if ((sc)->mpr_debug & (level)) \
- printf("\t" msg, ##args); \
-} while (0)
-
#define MPR_PRINTFIELD_START(sc, tag...) \
- mpr_dprint((sc), MPR_INFO, ##tag); \
- mpr_dprint_field((sc), MPR_INFO, ":\n")
+ mpr_printf((sc), ##tag); \
+ mpr_print_field((sc), ":\n")
#define MPR_PRINTFIELD_END(sc, tag) \
- mpr_dprint((sc), MPR_INFO, tag "\n")
+ mpr_printf((sc), tag "\n")
#define MPR_PRINTFIELD(sc, facts, attr, fmt) \
- mpr_dprint_field((sc), MPR_INFO, #attr ": " #fmt "\n", (facts)->attr)
-
-#define MPR_EVENTFIELD_START(sc, tag...) \
- mpr_dprint((sc), MPR_EVENT, ##tag); \
- mpr_dprint_field((sc), MPR_EVENT, ":\n")
-#define MPR_EVENTFIELD(sc, facts, attr, fmt) \
- mpr_dprint_field((sc), MPR_EVENT, #attr ": " #fmt "\n", (facts)->attr)
+ mpr_print_field((sc), #attr ": " #fmt "\n", (facts)->attr)
static __inline void
mpr_from_u64(uint64_t data, U64 *mpr)
@@ -661,6 +712,9 @@ int mpr_register_events(struct mpr_softc *, uint8_t *, mpr_evt_callback_t *,
int mpr_restart(struct mpr_softc *);
int mpr_update_events(struct mpr_softc *, struct mpr_event_handle *, uint8_t *);
int mpr_deregister_events(struct mpr_softc *, struct mpr_event_handle *);
+void mpr_build_nvme_prp(struct mpr_softc *sc, struct mpr_command *cm,
+ Mpi26NVMeEncapsulatedRequest_t *nvme_encap_request, void *data,
+ uint32_t data_in_sz, uint32_t data_out_sz);
int mpr_push_sge(struct mpr_command *, MPI2_SGE_SIMPLE64 *, size_t, int);
int mpr_push_ieee_sge(struct mpr_command *, void *, int);
int mpr_add_dmaseg(struct mpr_command *, vm_paddr_t, size_t, u_int, int);
@@ -690,6 +744,10 @@ int mpr_config_get_iounit_pg8(struct mpr_softc *sc,
Mpi2ConfigReply_t *mpi_reply, Mpi2IOUnitPage8_t *config_page);
int mpr_config_get_sas_device_pg0(struct mpr_softc *, Mpi2ConfigReply_t *,
Mpi2SasDevicePage0_t *, u32 , u16 );
+int mpr_config_get_pcie_device_pg0(struct mpr_softc *sc, Mpi2ConfigReply_t
+ *mpi_reply, Mpi26PCIeDevicePage0_t *config_page, u32 form, u16 handle);
+int mpr_config_get_pcie_device_pg2(struct mpr_softc *sc, Mpi2ConfigReply_t
+ *mpi_reply, Mpi26PCIeDevicePage2_t *config_page, u32 form, u16 handle);
int mpr_config_get_dpm_pg0(struct mpr_softc *, Mpi2ConfigReply_t *,
Mpi2DriverMappingPage0_t *, u16 );
int mpr_config_get_raid_volume_pg1(struct mpr_softc *sc,
@@ -710,19 +768,20 @@ void mpr_base_static_config_pages(struct mpr_softc *sc);
int mpr_mapping_initialize(struct mpr_softc *);
void mpr_mapping_topology_change_event(struct mpr_softc *,
Mpi2EventDataSasTopologyChangeList_t *);
-int mpr_mapping_is_reinit_required(struct mpr_softc *);
+void mpr_mapping_pcie_topology_change_event(struct mpr_softc *sc,
+ Mpi26EventDataPCIeTopologyChangeList_t *event_data);
void mpr_mapping_free_memory(struct mpr_softc *sc);
int mpr_config_set_dpm_pg0(struct mpr_softc *, Mpi2ConfigReply_t *,
Mpi2DriverMappingPage0_t *, u16 );
void mpr_mapping_exit(struct mpr_softc *);
-void mpr_mapping_check_devices(struct mpr_softc *, int);
+void mpr_mapping_check_devices(void *);
int mpr_mapping_allocate_memory(struct mpr_softc *sc);
-unsigned int mpr_mapping_get_sas_id(struct mpr_softc *, uint64_t , u16);
-unsigned int mpr_mapping_get_sas_id_from_handle(struct mpr_softc *sc,
- u16 handle);
-unsigned int mpr_mapping_get_raid_id(struct mpr_softc *sc, u64 wwid,
+unsigned int mpr_mapping_get_tid(struct mpr_softc *, uint64_t , u16);
+unsigned int mpr_mapping_get_tid_from_handle(struct mpr_softc *sc,
u16 handle);
-unsigned int mpr_mapping_get_raid_id_from_handle(struct mpr_softc *sc,
+unsigned int mpr_mapping_get_raid_tid(struct mpr_softc *sc, u64 wwid,
+ u16 volHandle);
+unsigned int mpr_mapping_get_raid_tid_from_handle(struct mpr_softc *sc,
u16 volHandle);
void mpr_mapping_enclosure_dev_status_change_event(struct mpr_softc *,
Mpi2EventDataSasEnclDevStatusChange_t *event_data);
@@ -777,5 +836,52 @@ SYSCTL_DECL(_hw_mpr);
#define CAM_PRIORITY_NORMAL CAM_PRIORITY_NONE
#endif
+/* Definitions for SCSI unmap translation to NVMe DSM command */
+
+/* UNMAP block descriptor structure */
+struct unmap_blk_desc {
+ uint64_t slba;
+ uint32_t nlb;
+ uint32_t resv;
+};
+
+/* UNMAP command's data */
+struct unmap_parm_list {
+ uint16_t unmap_data_len;
+ uint16_t unmap_blk_desc_data_len;
+ uint32_t resv;
+ struct unmap_blk_desc desc[0];
+};
+
+/* SCSI ADDITIONAL SENSE Codes */
+#define FIXED_SENSE_DATA 0x70
+#define SCSI_ASC_NO_SENSE 0x00
+#define SCSI_ASC_PERIPHERAL_DEV_WRITE_FAULT 0x03
+#define SCSI_ASC_LUN_NOT_READY 0x04
+#define SCSI_ASC_WARNING 0x0B
+#define SCSI_ASC_LOG_BLOCK_GUARD_CHECK_FAILED 0x10
+#define SCSI_ASC_LOG_BLOCK_APPTAG_CHECK_FAILED 0x10
+#define SCSI_ASC_LOG_BLOCK_REFTAG_CHECK_FAILED 0x10
+#define SCSI_ASC_UNRECOVERED_READ_ERROR 0x11
+#define SCSI_ASC_MISCOMPARE_DURING_VERIFY 0x1D
+#define SCSI_ASC_ACCESS_DENIED_INVALID_LUN_ID 0x20
+#define SCSI_ASC_ILLEGAL_COMMAND 0x20
+#define SCSI_ASC_ILLEGAL_BLOCK 0x21
+#define SCSI_ASC_INVALID_CDB 0x24
+#define SCSI_ASC_INVALID_LUN 0x25
+#define SCSI_ASC_INVALID_PARAMETER 0x26
+#define SCSI_ASC_FORMAT_COMMAND_FAILED 0x31
+#define SCSI_ASC_INTERNAL_TARGET_FAILURE 0x44
+
+/* SCSI ADDITIONAL SENSE Code Qualifiers */
+#define SCSI_ASCQ_CAUSE_NOT_REPORTABLE 0x00
+#define SCSI_ASCQ_FORMAT_COMMAND_FAILED 0x01
+#define SCSI_ASCQ_LOG_BLOCK_GUARD_CHECK_FAILED 0x01
+#define SCSI_ASCQ_LOG_BLOCK_APPTAG_CHECK_FAILED 0x02
+#define SCSI_ASCQ_LOG_BLOCK_REFTAG_CHECK_FAILED 0x03
+#define SCSI_ASCQ_FORMAT_IN_PROGRESS 0x04
+#define SCSI_ASCQ_POWER_LOSS_EXPECTED 0x08
+#define SCSI_ASCQ_INVALID_LUN_ID 0x09
+
#endif
diff --git a/sys/dev/mps/mps.c b/sys/dev/mps/mps.c
index 7f9cf0b..977a14c 100644
--- a/sys/dev/mps/mps.c
+++ b/sys/dev/mps/mps.c
@@ -505,7 +505,8 @@ mps_iocfacts_allocate(struct mps_softc *sc, uint8_t attaching)
*/
if (reallocating) {
mps_iocfacts_free(sc);
- mpssas_realloc_targets(sc, saved_facts.MaxTargets);
+ mpssas_realloc_targets(sc, saved_facts.MaxTargets +
+ saved_facts.MaxVolumes);
}
/*
@@ -1353,6 +1354,7 @@ mps_get_tunables(struct mps_softc *sc)
sc->max_io_pages = MPS_MAXIO_PAGES;
sc->enable_ssu = MPS_SSU_ENABLE_SSD_DISABLE_HDD;
sc->spinup_wait_time = DEFAULT_SPINUP_WAIT;
+ sc->use_phynum = 1;
/*
* Grab the global variables.
@@ -1364,6 +1366,7 @@ mps_get_tunables(struct mps_softc *sc)
TUNABLE_INT_FETCH("hw.mps.max_io_pages", &sc->max_io_pages);
TUNABLE_INT_FETCH("hw.mps.enable_ssu", &sc->enable_ssu);
TUNABLE_INT_FETCH("hw.mps.spinup_wait_time", &sc->spinup_wait_time);
+ TUNABLE_INT_FETCH("hw.mps.use_phy_num", &sc->use_phynum);
/* Grab the unit-instance variables */
snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.debug_level",
@@ -1398,6 +1401,10 @@ mps_get_tunables(struct mps_softc *sc)
snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.spinup_wait_time",
device_get_unit(sc->mps_dev));
TUNABLE_INT_FETCH(tmpstr, &sc->spinup_wait_time);
+
+ snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.use_phy_num",
+ device_get_unit(sc->mps_dev));
+ TUNABLE_INT_FETCH(tmpstr, &sc->use_phynum);
}
static void
@@ -1495,6 +1502,10 @@ mps_setup_sysctl(struct mps_softc *sc)
SYSCTL_ADD_PROC(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
OID_AUTO, "encl_table_dump", CTLTYPE_STRING | CTLFLAG_RD, sc, 0,
mps_mapping_encl_dump, "A", "Enclosure Table Dump");
+
+ SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
+ OID_AUTO, "use_phy_num", CTLFLAG_RD, &sc->use_phynum, 0,
+ "Use the phy number for enumeration");
}
int
@@ -1508,6 +1519,7 @@ mps_attach(struct mps_softc *sc)
mtx_init(&sc->mps_mtx, "MPT2SAS lock", NULL, MTX_DEF);
callout_init_mtx(&sc->periodic, &sc->mps_mtx, 0);
+ callout_init_mtx(&sc->device_check_callout, &sc->mps_mtx, 0);
TAILQ_INIT(&sc->event_list);
timevalclear(&sc->lastfail);
@@ -1672,6 +1684,7 @@ mps_free(struct mps_softc *sc)
mps_unlock(sc);
/* Lock must not be held for this */
callout_drain(&sc->periodic);
+ callout_drain(&sc->device_check_callout);
if (((error = mps_detach_log(sc)) != 0) ||
((error = mps_detach_sas(sc)) != 0))
diff --git a/sys/dev/mps/mps_mapping.c b/sys/dev/mps/mps_mapping.c
index 351625b..c53fd86 100644
--- a/sys/dev/mps/mps_mapping.c
+++ b/sys/dev/mps/mps_mapping.c
@@ -60,7 +60,7 @@ __FBSDID("$FreeBSD$");
#include <dev/mps/mps_mapping.h>
/**
- * _mapping_clear_entry - Clear a particular mapping entry.
+ * _mapping_clear_map_entry - Clear a particular mapping entry.
* @map_entry: map table entry
*
* Returns nothing.
@@ -73,7 +73,6 @@ _mapping_clear_map_entry(struct dev_mapping_table *map_entry)
map_entry->phy_bits = 0;
map_entry->dpm_entry_num = MPS_DPM_BAD_IDX;
map_entry->dev_handle = 0;
- map_entry->channel = -1;
map_entry->id = -1;
map_entry->missing_count = 0;
map_entry->init_complete = 0;
@@ -140,12 +139,15 @@ _mapping_commit_enc_entry(struct mps_softc *sc,
dpm_entry->PhysicalBitsMapping = htole32(et_entry->phy_bits);
dpm_entry->Reserved1 = 0;
+ mps_dprint(sc, MPS_MAPPING, "%s: Writing DPM entry %d for enclosure.\n",
+ __func__, et_entry->dpm_entry_num);
memcpy(&config_page.Entry, (u8 *)dpm_entry,
sizeof(Mpi2DriverMap0Entry_t));
if (mps_config_set_dpm_pg0(sc, &mpi_reply, &config_page,
et_entry->dpm_entry_num)) {
- printf("%s: write of dpm entry %d for enclosure failed\n",
- __func__, et_entry->dpm_entry_num);
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: Write of DPM "
+ "entry %d for enclosure failed.\n", __func__,
+ et_entry->dpm_entry_num);
dpm_entry->MappingInformation = le16toh(dpm_entry->
MappingInformation);
dpm_entry->DeviceIndex = le16toh(dpm_entry->DeviceIndex);
@@ -164,7 +166,7 @@ _mapping_commit_enc_entry(struct mps_softc *sc,
/**
* _mapping_commit_map_entry - write a particular map table entry in DPM page0.
* @sc: per adapter object
- * @enc_entry: enclosure table entry
+ * @mt_entry: mapping table entry
*
* Returns 0 for success, non-zero for failure.
*/
@@ -180,6 +182,19 @@ _mapping_commit_map_entry(struct mps_softc *sc,
if (!sc->is_dpm_enable)
return 0;
+ /*
+ * It's possible that this Map Entry points to a BAD DPM index. This
+ * can happen if the Map Entry is a for a missing device and the DPM
+ * entry that was being used by this device is now being used by some
+ * new device. So, check for a BAD DPM index and just return if so.
+ */
+ if (mt_entry->dpm_entry_num == MPS_DPM_BAD_IDX) {
+ mps_dprint(sc, MPS_MAPPING, "%s: DPM entry location for target "
+ "%d is invalid. DPM will not be written.\n", __func__,
+ mt_entry->id);
+ return 0;
+ }
+
memset(&config_page, 0, sizeof(Mpi2DriverMappingPage0_t));
memcpy(&config_page.Header, (u8 *)sc->dpm_pg0,
sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
@@ -193,13 +208,16 @@ _mapping_commit_map_entry(struct mps_softc *sc,
dpm_entry->MappingInformation = htole16(mt_entry->missing_count);
dpm_entry->PhysicalBitsMapping = 0;
dpm_entry->Reserved1 = 0;
- dpm_entry->MappingInformation = htole16(dpm_entry->MappingInformation);
memcpy(&config_page.Entry, (u8 *)dpm_entry,
sizeof(Mpi2DriverMap0Entry_t));
+
+ mps_dprint(sc, MPS_MAPPING, "%s: Writing DPM entry %d for target %d.\n",
+ __func__, mt_entry->dpm_entry_num, mt_entry->id);
if (mps_config_set_dpm_pg0(sc, &mpi_reply, &config_page,
mt_entry->dpm_entry_num)) {
- printf("%s: write of dpm entry %d for device failed\n",
- __func__, mt_entry->dpm_entry_num);
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: Write of DPM "
+ "entry %d for target %d failed.\n", __func__,
+ mt_entry->dpm_entry_num, mt_entry->id);
dpm_entry->MappingInformation = le16toh(dpm_entry->
MappingInformation);
dpm_entry->DeviceIndex = le16toh(dpm_entry->DeviceIndex);
@@ -307,7 +325,7 @@ _mapping_get_high_missing_et_idx(struct mps_softc *sc)
et_entry = &sc->enclosure_table[enc_idx];
if ((et_entry->missing_count > high_missing_count) &&
!et_entry->skip_search) {
- high_missing_count = et_entry->missing_count;
+ high_missing_count = et_entry->missing_count;
high_idx = enc_idx;
}
}
@@ -326,7 +344,7 @@ _mapping_get_high_missing_et_idx(struct mps_softc *sc)
static u32
_mapping_get_high_missing_mt_idx(struct mps_softc *sc)
{
- u32 map_idx, high_idx = MPS_ENCTABLE_BAD_IDX;
+ u32 map_idx, high_idx = MPS_MAPTABLE_BAD_IDX;
u8 high_missing_count = 0;
u32 start_idx, end_idx, start_idx_ir, end_idx_ir;
struct dev_mapping_table *mt_entry;
@@ -370,7 +388,7 @@ _mapping_get_ir_mt_idx_from_wwid(struct mps_softc *sc, u64 wwid)
_mapping_get_ir_maprange(sc, &start_idx, &end_idx);
mt_entry = &sc->mapping_table[start_idx];
- for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++)
+ for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++)
if (mt_entry->physical_id == wwid)
return map_idx;
@@ -458,20 +476,32 @@ _mapping_get_free_ir_mt_idx(struct mps_softc *sc)
u32 high_idx = MPS_MAPTABLE_BAD_IDX;
struct dev_mapping_table *mt_entry;
+ /*
+ * The IN_USE flag should be clear if the entry is available to use.
+ * This flag is cleared on initialization and and when a volume is
+ * deleted. All other times this flag should be set. If, for some
+ * reason, a free entry cannot be found, look for the entry with the
+ * highest missing count just in case there is one.
+ */
_mapping_get_ir_maprange(sc, &start_idx, &end_idx);
mt_entry = &sc->mapping_table[start_idx];
- for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++)
+ for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++) {
if (!(mt_entry->device_info & MPS_MAP_IN_USE))
return map_idx;
- mt_entry = &sc->mapping_table[start_idx];
- for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++) {
if (mt_entry->missing_count > high_missing_count) {
high_missing_count = mt_entry->missing_count;
high_idx = map_idx;
}
}
+
+ if (high_idx == MPS_MAPTABLE_BAD_IDX) {
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: Could not find a "
+ "free entry in the mapping table for a Volume. The mapping "
+ "table is probably corrupt.\n", __func__);
+ }
+
return high_idx;
}
@@ -494,6 +524,7 @@ _mapping_get_free_mt_idx(struct mps_softc *sc, u32 start_idx)
if (sc->ir_firmware && (volume_mapping_flags ==
MPI2_IOCPAGE8_IRFLAGS_HIGH_VOLUME_MAPPING))
max_idx -= sc->max_volumes;
+
for (map_idx = start_idx; map_idx < max_idx; map_idx++, mt_entry++)
if (!(mt_entry->device_info & (MPS_MAP_IN_USE |
MPS_DEV_RESERVED)))
@@ -542,12 +573,66 @@ static u32
_mapping_get_free_dpm_idx(struct mps_softc *sc)
{
u16 entry_num;
+ Mpi2DriverMap0Entry_t *dpm_entry;
+ u16 current_entry = MPS_DPM_BAD_IDX, missing_cnt, high_missing_cnt = 0;
+ u64 physical_id;
+ struct dev_mapping_table *mt_entry;
+ u32 map_idx;
- for (entry_num = 0; entry_num < sc->max_dpm_entries; entry_num++) {
- if (!sc->dpm_entry_used[entry_num])
- return entry_num;
+ for (entry_num = 0; entry_num < sc->max_dpm_entries; entry_num++) {
+ dpm_entry = (Mpi2DriverMap0Entry_t *) ((u8 *)sc->dpm_pg0 +
+ sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
+ dpm_entry += entry_num;
+ missing_cnt = dpm_entry->MappingInformation &
+ MPI2_DRVMAP0_MAPINFO_MISSING_MASK;
+
+ /*
+ * If entry is used and not missing, then this entry can't be
+ * used. Look at next one.
+ */
+ if (sc->dpm_entry_used[entry_num] && !missing_cnt)
+ continue;
+
+ /*
+ * If this entry is not used at all, then the missing count
+ * doesn't matter. Just use this one. Otherwise, keep looking
+ * and make sure the entry with the highest missing count is
+ * used.
+ */
+ if (!sc->dpm_entry_used[entry_num]) {
+ current_entry = entry_num;
+ break;
+ }
+ if ((current_entry == MPS_DPM_BAD_IDX) ||
+ (missing_cnt > high_missing_cnt)) {
+ current_entry = entry_num;
+ high_missing_cnt = missing_cnt;
+ }
+ }
+
+ /*
+ * If an entry has been found to use and it's already marked as used
+ * it means that some device was already using this entry but it's
+ * missing, and that means that the connection between the missing
+ * device's DPM entry and the mapping table needs to be cleared. To do
+ * this, use the Physical ID of the old device still in the DPM entry
+ * to find its mapping table entry, then mark its DPM entry as BAD.
+ */
+ if ((current_entry != MPS_DPM_BAD_IDX) &&
+ sc->dpm_entry_used[current_entry]) {
+ dpm_entry = (Mpi2DriverMap0Entry_t *) ((u8 *)sc->dpm_pg0 +
+ sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
+ dpm_entry += current_entry;
+ physical_id = dpm_entry->PhysicalIdentifier.High;
+ physical_id = (physical_id << 32) |
+ dpm_entry->PhysicalIdentifier.Low;
+ map_idx = _mapping_get_mt_idx_from_id(sc, physical_id);
+ if (map_idx != MPS_MAPTABLE_BAD_IDX) {
+ mt_entry = &sc->mapping_table[map_idx];
+ mt_entry->dpm_entry_num = MPS_DPM_BAD_IDX;
+ }
}
- return MPS_DPM_BAD_IDX;
+ return current_entry;
}
/**
@@ -566,40 +651,57 @@ _mapping_update_ir_missing_cnt(struct mps_softc *sc, u32 map_idx,
Mpi2EventIrConfigElement_t *element, u64 wwid)
{
struct dev_mapping_table *mt_entry;
- u8 missing_cnt, reason = element->ReasonCode;
+ u8 missing_cnt, reason = element->ReasonCode, update_dpm = 1;
u16 dpm_idx;
Mpi2DriverMap0Entry_t *dpm_entry;
- if (!sc->is_dpm_enable)
- return;
+ /*
+ * Depending on the reason code, update the missing count. Always set
+ * the init_complete flag when here, so just do it first. That flag is
+ * used for volumes to make sure that the DPM entry has been updated.
+ * When a volume is deleted, clear the map entry's IN_USE flag so that
+ * the entry can be used again if another volume is created. Also clear
+ * its dev_handle entry so that other functions can't find this volume
+ * by the handle, since it's not defined any longer.
+ */
mt_entry = &sc->mapping_table[map_idx];
- if (reason == MPI2_EVENT_IR_CHANGE_RC_ADDED) {
- mt_entry->missing_count = 0;
- } else if (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_CREATED) {
+ mt_entry->init_complete = 1;
+ if ((reason == MPI2_EVENT_IR_CHANGE_RC_ADDED) ||
+ (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_CREATED)) {
mt_entry->missing_count = 0;
- mt_entry->init_complete = 0;
- } else if ((reason == MPI2_EVENT_IR_CHANGE_RC_REMOVED) ||
- (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_DELETED)) {
- if (!mt_entry->init_complete) {
- if (mt_entry->missing_count < MPS_MAX_MISSING_COUNT)
- mt_entry->missing_count++;
- else
- mt_entry->init_complete = 1;
- }
- if (!mt_entry->missing_count)
+ } else if (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_DELETED) {
+ if (mt_entry->missing_count < MPS_MAX_MISSING_COUNT)
mt_entry->missing_count++;
+
+ mt_entry->device_info &= ~MPS_MAP_IN_USE;
mt_entry->dev_handle = 0;
}
+ /*
+ * If persistent mapping is enabled, update the DPM with the new missing
+ * count for the volume. If the DPM index is bad, get a free one. If
+ * it's bad for a volume that's being deleted do nothing because that
+ * volume doesn't have a DPM entry.
+ */
+ if (!sc->is_dpm_enable)
+ return;
dpm_idx = mt_entry->dpm_entry_num;
if (dpm_idx == MPS_DPM_BAD_IDX) {
- if ((reason == MPI2_EVENT_IR_CHANGE_RC_ADDED) ||
- (reason == MPI2_EVENT_IR_CHANGE_RC_REMOVED))
- dpm_idx = _mapping_get_dpm_idx_from_id(sc,
- mt_entry->physical_id, 0);
- else if (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_DELETED)
+ if (reason == MPI2_EVENT_IR_CHANGE_RC_VOLUME_DELETED)
+ {
+ mps_dprint(sc, MPS_MAPPING, "%s: Volume being deleted "
+ "is not in DPM so DPM missing count will not be "
+ "updated.\n", __func__);
return;
+ }
}
+ if (dpm_idx == MPS_DPM_BAD_IDX)
+ dpm_idx = _mapping_get_free_dpm_idx(sc);
+
+ /*
+ * Got the DPM entry for the volume or found a free DPM entry if this is
+ * a new volume. Check if the current information is outdated.
+ */
if (dpm_idx != MPS_DPM_BAD_IDX) {
dpm_entry = (Mpi2DriverMap0Entry_t *)((u8 *)sc->dpm_pg0 +
sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
@@ -607,17 +709,25 @@ _mapping_update_ir_missing_cnt(struct mps_softc *sc, u32 map_idx,
missing_cnt = dpm_entry->MappingInformation &
MPI2_DRVMAP0_MAPINFO_MISSING_MASK;
if ((mt_entry->physical_id ==
- le64toh((u64)dpm_entry->PhysicalIdentifier.High |
- dpm_entry->PhysicalIdentifier.Low)) && (missing_cnt ==
- mt_entry->missing_count))
- mt_entry->init_complete = 1;
- } else {
- dpm_idx = _mapping_get_free_dpm_idx(sc);
- mt_entry->init_complete = 0;
+ le64toh(((u64)dpm_entry->PhysicalIdentifier.High << 32) |
+ (u64)dpm_entry->PhysicalIdentifier.Low)) && (missing_cnt ==
+ mt_entry->missing_count)) {
+ mps_dprint(sc, MPS_MAPPING, "%s: DPM entry for volume "
+ "with target ID %d does not require an update.\n",
+ __func__, mt_entry->id);
+ update_dpm = 0;
+ }
}
- if ((dpm_idx != MPS_DPM_BAD_IDX) && !mt_entry->init_complete) {
- mt_entry->init_complete = 1;
+ /*
+ * Update the volume's persistent info if it's new or the ID or missing
+ * count has changed. If a good DPM index has not been found by now,
+ * there is no space left in the DPM table.
+ */
+ if ((dpm_idx != MPS_DPM_BAD_IDX) && update_dpm) {
+ mps_dprint(sc, MPS_MAPPING, "%s: Update DPM entry for volume "
+ "with target ID %d.\n", __func__, mt_entry->id);
+
mt_entry->dpm_entry_num = dpm_idx;
dpm_entry = (Mpi2DriverMap0Entry_t *)((u8 *)sc->dpm_pg0 +
sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
@@ -633,44 +743,47 @@ _mapping_update_ir_missing_cnt(struct mps_softc *sc, u32 map_idx,
sc->dpm_flush_entry[dpm_idx] = 1;
sc->dpm_entry_used[dpm_idx] = 1;
} else if (dpm_idx == MPS_DPM_BAD_IDX) {
- printf("%s: no space to add entry in DPM table\n", __func__);
- mt_entry->init_complete = 1;
+ mps_dprint(sc, MPS_INFO | MPS_MAPPING, "%s: No space to add an "
+ "entry in the DPM table for volume with target ID %d.\n",
+ __func__, mt_entry->id);
}
}
/**
- * _mapping_add_to_removal_table - mark an entry for removal
+ * _mapping_add_to_removal_table - add DPM index to the removal table
* @sc: per adapter object
- * @handle: Handle of enclosures/device/volume
+ * @dpm_idx: Index of DPM entry to remove
*
- * Adds the handle or DPM entry number in removal table.
+ * Adds a DPM entry number to the removal table.
*
* Returns nothing.
*/
static void
-_mapping_add_to_removal_table(struct mps_softc *sc, u16 handle,
- u16 dpm_idx)
+_mapping_add_to_removal_table(struct mps_softc *sc, u16 dpm_idx)
{
struct map_removal_table *remove_entry;
u32 i;
- u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags);
+ /*
+ * This is only used to remove entries from the DPM in the controller.
+ * If DPM is not enabled, just return.
+ */
+ if (!sc->is_dpm_enable)
+ return;
+
+ /*
+ * Find the first available removal_table entry and add the new entry
+ * there.
+ */
remove_entry = sc->removal_table;
for (i = 0; i < sc->max_devices; i++, remove_entry++) {
- if (remove_entry->dev_handle || remove_entry->dpm_entry_num !=
- MPS_DPM_BAD_IDX)
+ if (remove_entry->dpm_entry_num != MPS_DPM_BAD_IDX)
continue;
- if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
- MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
- if (dpm_idx)
- remove_entry->dpm_entry_num = dpm_idx;
- if (remove_entry->dpm_entry_num == MPS_DPM_BAD_IDX)
- remove_entry->dev_handle = handle;
- } else if ((ioc_pg8_flags &
- MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
- MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING)
- remove_entry->dev_handle = handle;
+
+ mps_dprint(sc, MPS_MAPPING, "%s: Adding DPM entry %d to table "
+ "for removal.\n", __func__, dpm_idx);
+ remove_entry->dpm_entry_num = dpm_idx;
break;
}
@@ -681,8 +794,13 @@ _mapping_add_to_removal_table(struct mps_softc *sc, u16 handle,
* @sc: per adapter object
* @topo_change: Topology change event entry
*
- * Search through the topology change list and if any device is found not
- * responding it's associated map table entry and DPM entry is updated
+ * Increment the missing count in the mapping table for a device that is not
+ * responding. If Persitent Mapping is used, increment the DPM entry as well.
+ * Currently, this function only increments the missing count if the device
+ * goes missing, so after initialization has completed. This means that the
+ * missing count can only go from 0 to 1 here. The missing count is incremented
+ * during initialization as well, so that's where a target's missing count can
+ * go past 1.
*
* Returns nothing.
*/
@@ -706,34 +824,45 @@ _mapping_update_missing_count(struct mps_softc *sc,
dev_handle);
phy_change->is_processed = 1;
if (map_idx == MPS_MAPTABLE_BAD_IDX) {
- printf("%s: device is already removed from mapping "
- "table\n", __func__);
+ mps_dprint(sc, MPS_INFO | MPS_MAPPING, "%s: device is "
+ "already removed from mapping table\n", __func__);
continue;
}
mt_entry = &sc->mapping_table[map_idx];
- if (!mt_entry->init_complete) {
- if (mt_entry->missing_count < MPS_MAX_MISSING_COUNT)
- mt_entry->missing_count++;
- else
- mt_entry->init_complete = 1;
- }
- if (!mt_entry->missing_count)
+ if (mt_entry->missing_count < MPS_MAX_MISSING_COUNT)
mt_entry->missing_count++;
- _mapping_add_to_removal_table(sc, mt_entry->dev_handle, 0);
- mt_entry->dev_handle = 0;
+ /*
+ * When using Enc/Slot mapping, when a device is removed, it's
+ * mapping table information should be cleared. Otherwise, the
+ * target ID will be incorrect if this same device is re-added
+ * to a different slot.
+ */
+ if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
+ MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
+ _mapping_clear_map_entry(mt_entry);
+ }
+
+ /*
+ * When using device mapping, update the missing count in the
+ * DPM entry, but only if the missing count has changed.
+ */
if (((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) &&
- sc->is_dpm_enable && !mt_entry->init_complete &&
+ sc->is_dpm_enable &&
mt_entry->dpm_entry_num != MPS_DPM_BAD_IDX) {
dpm_entry =
(Mpi2DriverMap0Entry_t *) ((u8 *)sc->dpm_pg0 +
sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
dpm_entry += mt_entry->dpm_entry_num;
- dpm_entry->MappingInformation = mt_entry->missing_count;
- sc->dpm_flush_entry[mt_entry->dpm_entry_num] = 1;
+ if (dpm_entry->MappingInformation !=
+ mt_entry->missing_count) {
+ dpm_entry->MappingInformation =
+ mt_entry->missing_count;
+ sc->dpm_flush_entry[mt_entry->dpm_entry_num] =
+ 1;
+ }
}
- mt_entry->init_complete = 1;
}
}
@@ -766,6 +895,10 @@ _mapping_find_enc_map_space(struct mps_softc *sc,
vol_mapping_flags = le16toh(sc->ioc_pg8.IRVolumeMappingFlags) &
MPI2_IOCPAGE8_IRFLAGS_MASK_VOLUME_MAPPING_MODE;
+ /*
+ * The end of the mapping table depends on where volumes are kept, if
+ * IR is enabled.
+ */
if (!sc->ir_firmware)
end_of_table = sc->max_devices;
else if (vol_mapping_flags == MPI2_IOCPAGE8_IRFLAGS_LOW_VOLUME_MAPPING)
@@ -773,6 +906,17 @@ _mapping_find_enc_map_space(struct mps_softc *sc,
else
end_of_table = sc->max_devices - sc->max_volumes;
+ /*
+ * The skip_count is the number of entries that are reserved at the
+ * beginning of the mapping table. But, it does not include the number
+ * of Physical IDs that are reserved for direct attached devices. Look
+ * through the mapping table after these reserved entries to see if
+ * the devices for this enclosure are already mapped. The PHY bit check
+ * is used to make sure that at least one PHY bit is common between the
+ * enclosure and the device that is already mapped.
+ */
+ mps_dprint(sc, MPS_MAPPING, "%s: Looking for space in the mapping "
+ "table for added enclosure.\n", __func__);
for (map_idx = (max_num_phy_ids + skip_count);
map_idx < end_of_table; map_idx++) {
mt_entry = &sc->mapping_table[map_idx];
@@ -782,11 +926,21 @@ _mapping_find_enc_map_space(struct mps_softc *sc,
num_found += 1;
if (num_found == et_entry->num_slots) {
start_idx = (map_idx - num_found) + 1;
+ mps_dprint(sc, MPS_MAPPING, "%s: Found space "
+ "in the mapping for enclosure at map index "
+ "%d.\n", __func__, start_idx);
return start_idx;
}
} else
num_found = 0;
}
+
+ /*
+ * If the enclosure's devices are not mapped already, look for
+ * contiguous entries in the mapping table that are not reserved. If
+ * enough entries are found, return the starting index for that space.
+ */
+ num_found = 0;
for (map_idx = (max_num_phy_ids + skip_count);
map_idx < end_of_table; map_idx++) {
mt_entry = &sc->mapping_table[map_idx];
@@ -794,40 +948,91 @@ _mapping_find_enc_map_space(struct mps_softc *sc,
num_found += 1;
if (num_found == et_entry->num_slots) {
start_idx = (map_idx - num_found) + 1;
+ mps_dprint(sc, MPS_MAPPING, "%s: Found space "
+ "in the mapping for enclosure at map index "
+ "%d.\n", __func__, start_idx);
return start_idx;
}
} else
num_found = 0;
}
+ /*
+ * If here, it means that not enough space in the mapping table was
+ * found to support this enclosure, so go through the enclosure table to
+ * see if any enclosure entries have a missing count. If so, get the
+ * enclosure with the highest missing count and check it to see if there
+ * is enough space for the new enclosure.
+ */
while (!done_flag) {
enc_idx = _mapping_get_high_missing_et_idx(sc);
- if (enc_idx == MPS_ENCTABLE_BAD_IDX)
+ if (enc_idx == MPS_ENCTABLE_BAD_IDX) {
+ mps_dprint(sc, MPS_MAPPING, "%s: Not enough space was "
+ "found in the mapping for the added enclosure.\n",
+ __func__);
return MPS_MAPTABLE_BAD_IDX;
+ }
+
+ /*
+ * Found a missing enclosure. Set the skip_search flag so this
+ * enclosure is not checked again for a high missing count if
+ * the loop continues. This way, all missing enclosures can
+ * have their space added together to find enough space in the
+ * mapping table for the added enclosure. The space must be
+ * contiguous.
+ */
+ mps_dprint(sc, MPS_MAPPING, "%s: Space from a missing "
+ "enclosure was found.\n", __func__);
enc_entry = &sc->enclosure_table[enc_idx];
- /*VSP FIXME*/
enc_entry->skip_search = 1;
+
+ /*
+ * Unmark all of the missing enclosure's device's reserved
+ * space. These will be remarked as reserved if this missing
+ * enclosure's space is not used.
+ */
+ mps_dprint(sc, MPS_MAPPING, "%s: Clear the reserved flag for "
+ "all of the map entries for the enclosure.\n", __func__);
mt_entry = &sc->mapping_table[enc_entry->start_index];
for (map_idx = enc_entry->start_index; map_idx <
(enc_entry->start_index + enc_entry->num_slots); map_idx++,
mt_entry++)
- mt_entry->device_info &= ~MPS_DEV_RESERVED;
+ mt_entry->device_info &= ~MPS_DEV_RESERVED;
+
+ /*
+ * Now that space has been unreserved, check again to see if
+ * enough space is available for the new enclosure.
+ */
+ mps_dprint(sc, MPS_MAPPING, "%s: Check if new mapping space is "
+ "enough for the new enclosure.\n", __func__);
found_space = 0;
- for (map_idx = (max_num_phy_ids +
- skip_count); map_idx < end_of_table; map_idx++) {
+ num_found = 0;
+ for (map_idx = (max_num_phy_ids + skip_count);
+ map_idx < end_of_table; map_idx++) {
mt_entry = &sc->mapping_table[map_idx];
if (!(mt_entry->device_info & MPS_DEV_RESERVED)) {
num_found += 1;
if (num_found == et_entry->num_slots) {
start_idx = (map_idx - num_found) + 1;
found_space = 1;
+ break;
}
} else
num_found = 0;
}
-
if (!found_space)
continue;
+
+ /*
+ * If enough space was found, all of the missing enclosures that
+ * will be used for the new enclosure must be added to the
+ * removal table. Then all mappings for the enclosure's devices
+ * and for the enclosure itself need to be cleared. There may be
+ * more than one enclosure to add to the removal table and
+ * clear.
+ */
+ mps_dprint(sc, MPS_MAPPING, "%s: Found space in the mapping "
+ "for enclosure at map index %d.\n", __func__, start_idx);
for (map_idx = start_idx; map_idx < (start_idx + num_found);
map_idx++) {
enc_entry = sc->enclosure_table;
@@ -838,26 +1043,38 @@ _mapping_find_enc_map_space(struct mps_softc *sc,
enc_entry->num_slots))
continue;
if (!enc_entry->removal_flag) {
+ mps_dprint(sc, MPS_MAPPING, "%s: "
+ "Enclosure %d will be removed from "
+ "the mapping table.\n", __func__,
+ enc_idx);
enc_entry->removal_flag = 1;
- _mapping_add_to_removal_table(sc, 0,
+ _mapping_add_to_removal_table(sc,
enc_entry->dpm_entry_num);
}
mt_entry = &sc->mapping_table[map_idx];
- if (mt_entry->device_info &
- MPS_MAP_IN_USE) {
- _mapping_add_to_removal_table(sc,
- mt_entry->dev_handle, 0);
- _mapping_clear_map_entry(mt_entry);
- }
+ _mapping_clear_map_entry(mt_entry);
if (map_idx == (enc_entry->start_index +
enc_entry->num_slots - 1))
_mapping_clear_enc_entry(et_entry);
}
}
+
+ /*
+ * During the search for space for this enclosure, some entries
+ * in the mapping table may have been unreserved. Go back and
+ * change all of these to reserved again. Only the enclosures
+ * with the removal_flag set should be left as unreserved. The
+ * skip_search flag needs to be cleared as well so that the
+ * enclosure's space will be looked at the next time space is
+ * needed.
+ */
enc_entry = sc->enclosure_table;
for (enc_idx = 0; enc_idx < sc->num_enc_table_entries;
enc_idx++, enc_entry++) {
if (!enc_entry->removal_flag) {
+ mps_dprint(sc, MPS_MAPPING, "%s: Reset the "
+ "reserved flag for all of the map entries "
+ "for enclosure %d.\n", __func__, enc_idx);
mt_entry = &sc->mapping_table[enc_entry->
start_index];
for (map_idx = enc_entry->start_index; map_idx <
@@ -905,6 +1122,7 @@ _mapping_get_dev_info(struct mps_softc *sc,
if (phy_change->is_processed || !phy_change->dev_handle ||
phy_change->reason != MPI2_EVENT_SAS_TOPO_RC_TARG_ADDED)
continue;
+
if (mps_config_get_sas_device_pg0(sc, &mpi_reply,
&sas_device_pg0, MPI2_SAS_DEVICE_PGAD_FORM_HANDLE,
phy_change->dev_handle)) {
@@ -918,9 +1136,9 @@ _mapping_get_dev_info(struct mps_softc *sc,
* when the system is shutdown.
*/
device_info = le32toh(sas_device_pg0.DeviceInfo);
- sas_address = sas_device_pg0.SASAddress.High;
+ sas_address = le32toh(sas_device_pg0.SASAddress.High);
sas_address = (sas_address << 32) |
- sas_device_pg0.SASAddress.Low;
+ le32toh(sas_device_pg0.SASAddress.Low);
if ((device_info & MPI2_SAS_DEVICE_INFO_END_DEVICE) &&
(device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE)) {
rc = mpssas_get_sas_address_for_sata_disk(sc,
@@ -939,18 +1157,29 @@ _mapping_get_dev_info(struct mps_softc *sc,
phy_change->physical_id = sas_address;
phy_change->slot = le16toh(sas_device_pg0.Slot);
- phy_change->device_info = le32toh(sas_device_pg0.DeviceInfo);
+ phy_change->device_info = device_info;
+ /*
+ * When using Enc/Slot mapping, if this device is an enclosure
+ * make sure that all of its slots can fit into the mapping
+ * table.
+ */
if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
+ /*
+ * The enclosure should already be in the enclosure
+ * table due to the Enclosure Add event. If not, just
+ * continue, nothing can be done.
+ */
enc_idx = _mapping_get_enc_idx_from_handle(sc,
topo_change->enc_handle);
if (enc_idx == MPS_ENCTABLE_BAD_IDX) {
phy_change->is_processed = 1;
- mps_dprint(sc, MPS_MAPPING, "%s: failed to add "
- "the device with handle 0x%04x because the "
- "enclosure is not in the mapping table\n",
- __func__, phy_change->dev_handle);
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because the enclosure is not in "
+ "the mapping table\n", __func__,
+ phy_change->dev_handle);
continue;
}
if (!((phy_change->device_info &
@@ -963,8 +1192,20 @@ _mapping_get_dev_info(struct mps_softc *sc,
continue;
}
et_entry = &sc->enclosure_table[enc_idx];
+
+ /*
+ * If the enclosure already has a start_index, it's been
+ * mapped, so go to the next Topo change.
+ */
if (et_entry->start_index != MPS_MAPTABLE_BAD_IDX)
continue;
+
+ /*
+ * If the Expander Handle is 0, the devices are direct
+ * attached. In that case, the start_index must be just
+ * after the reserved entries. Otherwise, find space in
+ * the mapping table for the enclosure's devices.
+ */
if (!topo_change->exp_handle) {
map_idx = sc->num_rsvd_entries;
et_entry->start_index = map_idx;
@@ -972,8 +1213,26 @@ _mapping_get_dev_info(struct mps_softc *sc,
map_idx = _mapping_find_enc_map_space(sc,
et_entry);
et_entry->start_index = map_idx;
+
+ /*
+ * If space cannot be found to hold all of the
+ * enclosure's devices in the mapping table,
+ * there's no need to continue checking the
+ * other devices in this event. Set all of the
+ * phy_details for this event (if the change is
+ * for an add) as already processed because none
+ * of these devices can be added to the mapping
+ * table.
+ */
if (et_entry->start_index ==
MPS_MAPTABLE_BAD_IDX) {
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING,
+ "%s: failed to add the enclosure "
+ "with ID 0x%016jx because there is "
+ "no free space available in the "
+ "mapping table for all of the "
+ "enclosure's devices.\n", __func__,
+ (uintmax_t)et_entry->enclosure_id);
phy_change->is_processed = 1;
for (phy_idx = 0; phy_idx <
topo_change->num_entries;
@@ -989,12 +1248,22 @@ _mapping_get_dev_info(struct mps_softc *sc,
break;
}
}
+
+ /*
+ * Found space in the mapping table for this enclosure.
+ * Initialize each mapping table entry for the
+ * enclosure.
+ */
+ mps_dprint(sc, MPS_MAPPING, "%s: Initialize %d map "
+ "entries for the enclosure, starting at map index "
+ " %d.\n", __func__, et_entry->num_slots, map_idx);
mt_entry = &sc->mapping_table[map_idx];
for (index = map_idx; index < (et_entry->num_slots
+ map_idx); index++, mt_entry++) {
mt_entry->device_info = MPS_DEV_RESERVED;
mt_entry->physical_id = et_entry->enclosure_id;
mt_entry->phy_bits = et_entry->phy_bits;
+ mt_entry->missing_count = 0;
}
}
}
@@ -1014,6 +1283,7 @@ _mapping_set_mid_to_eid(struct mps_softc *sc,
struct dev_mapping_table *mt_entry;
u16 slots = et_entry->num_slots, map_idx;
u32 start_idx = et_entry->start_index;
+
if (start_idx != MPS_MAPTABLE_BAD_IDX) {
mt_entry = &sc->mapping_table[start_idx];
for (map_idx = 0; map_idx < slots; map_idx++, mt_entry++)
@@ -1063,6 +1333,13 @@ _mapping_clear_removed_entries(struct mps_softc *sc)
}
}
}
+
+ /*
+ * When using Enc/Slot mapping, if a new enclosure was added and old
+ * enclosure space was needed, the enclosure table may now have gaps
+ * that need to be closed. All enclosure mappings need to be contiguous
+ * so that space can be reused correctly if available.
+ */
if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
num_entries = sc->num_enc_table_entries;
@@ -1105,8 +1382,8 @@ _mapping_clear_removed_entries(struct mps_softc *sc)
* @sc: per adapter object
* @topo_change: Topology change event entry
*
- * Search through the topology change event list and updates map table,
- * enclosure table and DPM pages for for the newly added devices.
+ * Search through the topology change event list and update map table,
+ * enclosure table and DPM pages for the newly added devices.
*
* Returns nothing
*/
@@ -1143,30 +1420,41 @@ _mapping_add_new_device(struct mps_softc *sc,
(sc, topo_change->enc_handle);
if (enc_idx == MPS_ENCTABLE_BAD_IDX) {
phy_change->is_processed = 1;
- printf("%s: failed to add the device with "
- "handle 0x%04x because the enclosure is "
- "not in the mapping table\n", __func__,
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because the enclosure is not in "
+ "the mapping table\n", __func__,
phy_change->dev_handle);
continue;
}
+
+ /*
+ * If the enclosure's start_index is BAD here, it means
+ * that there is no room in the mapping table to cover
+ * all of the devices that could be in the enclosure.
+ * There's no reason to process any of the devices for
+ * this enclosure since they can't be mapped.
+ */
et_entry = &sc->enclosure_table[enc_idx];
if (et_entry->start_index == MPS_MAPTABLE_BAD_IDX) {
phy_change->is_processed = 1;
- if (!sc->mt_full_retry) {
- sc->mt_add_device_failed = 1;
- continue;
- }
- printf("%s: failed to add the device with "
- "handle 0x%04x because there is no free "
- "space available in the mapping table\n",
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because there is no free space "
+ "available in the mapping table\n",
__func__, phy_change->dev_handle);
continue;
}
+
+ /*
+ * Add this device to the mapping table at the correct
+ * offset where space was found to map the enclosure.
+ * Then setup the DPM entry information if being used.
+ */
map_idx = et_entry->start_index + phy_change->slot -
et_entry->start_slot;
mt_entry = &sc->mapping_table[map_idx];
mt_entry->physical_id = phy_change->physical_id;
- mt_entry->channel = 0;
mt_entry->id = map_idx;
mt_entry->dev_handle = phy_change->dev_handle;
mt_entry->missing_count = 0;
@@ -1193,28 +1481,28 @@ _mapping_add_new_device(struct mps_softc *sc,
et_entry->enclosure_id);
dpm_entry->
PhysicalIdentifier.High =
- ( et_entry->enclosure_id
+ (et_entry->enclosure_id
>> 32);
dpm_entry->DeviceIndex =
(U16)et_entry->start_index;
dpm_entry->MappingInformation =
- et_entry->num_slots;
+ et_entry->num_slots;
dpm_entry->MappingInformation
<<= map_shift;
dpm_entry->PhysicalBitsMapping
= et_entry->phy_bits;
et_entry->dpm_entry_num =
dpm_idx;
- /* FIXME Do I need to set the dpm_idxin mt_entry too */
sc->dpm_entry_used[dpm_idx] = 1;
sc->dpm_flush_entry[dpm_idx] =
1;
phy_change->is_processed = 1;
} else {
phy_change->is_processed = 1;
- mps_dprint(sc, MPS_INFO, "%s: "
- "failed to add the device "
- "with handle 0x%04x to "
+ mps_dprint(sc, MPS_ERROR |
+ MPS_MAPPING, "%s: failed "
+ "to add the device with "
+ "handle 0x%04x to "
"persistent table because "
"there is no free space "
"available\n", __func__,
@@ -1225,11 +1513,20 @@ _mapping_add_new_device(struct mps_softc *sc,
mt_entry->dpm_entry_num = dpm_idx;
}
}
- /* FIXME Why not mt_entry too? */
et_entry->init_complete = 1;
} else if ((ioc_pg8_flags &
MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) {
+
+ /*
+ * Get the mapping table index for this device. If it's
+ * not in the mapping table yet, find a free entry if
+ * one is available. If there are no free entries, look
+ * for the entry that has the highest missing count. If
+ * none of that works to find an entry in the mapping
+ * table, there is a problem. Log a message and just
+ * continue on.
+ */
map_idx = _mapping_get_mt_idx_from_id
(sc, phy_change->physical_id);
if (map_idx == MPS_MAPTABLE_BAD_IDX) {
@@ -1239,23 +1536,24 @@ _mapping_add_new_device(struct mps_softc *sc,
map_idx = _mapping_get_free_mt_idx(sc,
search_idx);
}
+
+ /*
+ * If an entry will be used that has a missing device,
+ * clear its entry from the DPM in the controller.
+ */
if (map_idx == MPS_MAPTABLE_BAD_IDX) {
map_idx = _mapping_get_high_missing_mt_idx(sc);
if (map_idx != MPS_MAPTABLE_BAD_IDX) {
mt_entry = &sc->mapping_table[map_idx];
- if (mt_entry->dev_handle) {
- _mapping_add_to_removal_table
- (sc, mt_entry->dev_handle,
- 0);
- is_removed = 1;
- }
+ _mapping_add_to_removal_table(sc,
+ mt_entry->dpm_entry_num);
+ is_removed = 1;
mt_entry->init_complete = 0;
}
}
if (map_idx != MPS_MAPTABLE_BAD_IDX) {
mt_entry = &sc->mapping_table[map_idx];
mt_entry->physical_id = phy_change->physical_id;
- mt_entry->channel = 0;
mt_entry->id = map_idx;
mt_entry->dev_handle = phy_change->dev_handle;
mt_entry->missing_count = 0;
@@ -1263,13 +1561,10 @@ _mapping_add_new_device(struct mps_softc *sc,
| (MPS_DEV_RESERVED | MPS_MAP_IN_USE);
} else {
phy_change->is_processed = 1;
- if (!sc->mt_full_retry) {
- sc->mt_add_device_failed = 1;
- continue;
- }
- printf("%s: failed to add the device with "
- "handle 0x%04x because there is no free "
- "space available in the mapping table\n",
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: "
+ "failed to add the device with handle "
+ "0x%04x because there is no free space "
+ "available in the mapping table\n",
__func__, phy_change->dev_handle);
continue;
}
@@ -1287,16 +1582,24 @@ _mapping_add_new_device(struct mps_softc *sc,
PhysicalIdentifier.High;
temp64_var = (temp64_var << 32) |
dpm_entry->PhysicalIdentifier.Low;
+
+ /*
+ * If the Mapping Table's info is not
+ * the same as the DPM entry, clear the
+ * init_complete flag so that it's
+ * updated.
+ */
if ((mt_entry->physical_id ==
temp64_var) && !missing_cnt)
mt_entry->init_complete = 1;
+ else
+ mt_entry->init_complete = 0;
} else {
dpm_idx = _mapping_get_free_dpm_idx(sc);
mt_entry->init_complete = 0;
}
if (dpm_idx != MPS_DPM_BAD_IDX &&
!mt_entry->init_complete) {
- mt_entry->init_complete = 1;
mt_entry->dpm_entry_num = dpm_idx;
dpm_entry = (Mpi2DriverMap0Entry_t *)
((u8 *)sc->dpm_pg0 + hdr_sz);
@@ -1313,14 +1616,13 @@ _mapping_add_new_device(struct mps_softc *sc,
sc->dpm_flush_entry[dpm_idx] = 1;
phy_change->is_processed = 1;
} else if (dpm_idx == MPS_DPM_BAD_IDX) {
- phy_change->is_processed = 1;
- mps_dprint(sc, MPS_INFO, "%s: "
- "failed to add the device "
- "with handle 0x%04x to "
- "persistent table because "
- "there is no free space "
- "available\n", __func__,
- phy_change->dev_handle);
+ phy_change->is_processed = 1;
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING,
+ "%s: failed to add the device with "
+ "handle 0x%04x to persistent table "
+ "because there is no free space "
+ "available\n", __func__,
+ phy_change->dev_handle);
}
}
mt_entry->init_complete = 1;
@@ -1363,10 +1665,13 @@ _mapping_flush_dpm_pages(struct mps_softc *sc)
memcpy(&config_page.Entry, (u8 *)dpm_entry,
sizeof(Mpi2DriverMap0Entry_t));
/* TODO-How to handle failed writes? */
+ mps_dprint(sc, MPS_MAPPING, "%s: Flushing DPM entry %d.\n",
+ __func__, entry_num);
if (mps_config_set_dpm_pg0(sc, &mpi_reply, &config_page,
entry_num)) {
- printf("%s: write of dpm entry %d for device failed\n",
- __func__, entry_num);
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: Flush of "
+ "DPM entry %d for device failed\n", __func__,
+ entry_num);
} else
sc->dpm_flush_entry[entry_num] = 0;
dpm_entry->MappingInformation = le16toh(dpm_entry->
@@ -1456,7 +1761,6 @@ mps_mapping_free_memory(struct mps_softc *sc)
free(sc->dpm_pg0, M_MPT2);
}
-
static void
_mapping_process_dpm_pg0(struct mps_softc *sc)
{
@@ -1471,9 +1775,20 @@ _mapping_process_dpm_pg0(struct mps_softc *sc)
u64 physical_id;
u32 phy_bits = 0;
+ /*
+ * start_idx and end_idx are only used for IR.
+ */
if (sc->ir_firmware)
_mapping_get_ir_maprange(sc, &start_idx, &end_idx);
+ /*
+ * Look through all of the DPM entries that were read from the
+ * controller and copy them over to the driver's internal table if they
+ * have a non-zero ID. At this point, any ID with a value of 0 would be
+ * invalid, so don't copy it.
+ */
+ mps_dprint(sc, MPS_MAPPING, "%s: Start copy of %d DPM entries into the "
+ "mapping table.\n", __func__, sc->max_dpm_entries);
dpm_entry = (Mpi2DriverMap0Entry_t *) ((uint8_t *) sc->dpm_pg0 +
sizeof(MPI2_CONFIG_EXTENDED_PAGE_HEADER));
for (entry_num = 0; entry_num < sc->max_dpm_entries; entry_num++,
@@ -1492,13 +1807,20 @@ _mapping_process_dpm_pg0(struct mps_softc *sc)
MPI2_DRVMAP0_MAPINFO_MISSING_MASK;
dev_idx = le16toh(dpm_entry->DeviceIndex);
phy_bits = le32toh(dpm_entry->PhysicalBitsMapping);
+
+ /*
+ * Volumes are at special locations in the mapping table so
+ * account for that. Volume mapping table entries do not depend
+ * on the type of mapping, so continue the loop after adding
+ * volumes to the mapping table.
+ */
if (sc->ir_firmware && (dev_idx >= start_idx) &&
(dev_idx <= end_idx)) {
mt_entry = &sc->mapping_table[dev_idx];
- mt_entry->physical_id = dpm_entry->PhysicalIdentifier.High;
+ mt_entry->physical_id =
+ dpm_entry->PhysicalIdentifier.High;
mt_entry->physical_id = (mt_entry->physical_id << 32) |
dpm_entry->PhysicalIdentifier.Low;
- mt_entry->channel = MPS_RAID_CHANNEL;
mt_entry->id = dev_idx;
mt_entry->missing_count = missing_cnt;
mt_entry->dpm_entry_num = entry_num;
@@ -1507,7 +1829,16 @@ _mapping_process_dpm_pg0(struct mps_softc *sc)
}
if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
- if (dev_idx < (sc->num_rsvd_entries +
+
+ /*
+ * The dev_idx for an enclosure is the start index. If
+ * the start index is within the controller's default
+ * enclosure area, set the number of slots for this
+ * enclosure to the max allowed. Otherwise, it should be
+ * a normal enclosure and the number of slots is in the
+ * DPM entry's Mapping Information.
+ */
+ if (dev_idx < (sc->num_rsvd_entries +
max_num_phy_ids)) {
slot_id = 0;
if (ioc_pg8_flags &
@@ -1522,8 +1853,9 @@ _mapping_process_dpm_pg0(struct mps_softc *sc)
}
enc_idx = sc->num_enc_table_entries;
if (enc_idx >= sc->max_enclosures) {
- printf("%s: enclosure entries exceed max "
- "enclosures of %d\n", __func__,
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: "
+ "Number of enclosure entries in DPM exceed "
+ "the max allowed of %d.\n", __func__,
sc->max_enclosures);
break;
}
@@ -1539,21 +1871,32 @@ _mapping_process_dpm_pg0(struct mps_softc *sc)
et_entry->missing_count = missing_cnt;
et_entry->phy_bits = phy_bits;
+ /*
+ * Initialize all entries for this enclosure in the
+ * mapping table and mark them as reserved. The actual
+ * devices have not been processed yet but when they are
+ * they will use these entries. If an entry is found
+ * that already has a valid DPM index, the mapping table
+ * is corrupt. This can happen if the mapping type is
+ * changed without clearing all of the DPM entries in
+ * the controller.
+ */
mt_entry = &sc->mapping_table[dev_idx];
for (map_idx = dev_idx; map_idx < (dev_idx + num_slots);
map_idx++, mt_entry++) {
if (mt_entry->dpm_entry_num !=
MPS_DPM_BAD_IDX) {
- printf("%s: conflict in mapping table "
- "for enclosure %d\n", __func__,
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING,
+ "%s: Conflict in mapping table for "
+ " enclosure %d\n", __func__,
enc_idx);
break;
}
- physical_id = dpm_entry->PhysicalIdentifier.High;
+ physical_id =
+ dpm_entry->PhysicalIdentifier.High;
mt_entry->physical_id = (physical_id << 32) |
dpm_entry->PhysicalIdentifier.Low;
mt_entry->phy_bits = phy_bits;
- mt_entry->channel = 0;
mt_entry->id = dev_idx;
mt_entry->dpm_entry_num = entry_num;
mt_entry->missing_count = missing_cnt;
@@ -1562,18 +1905,24 @@ _mapping_process_dpm_pg0(struct mps_softc *sc)
} else if ((ioc_pg8_flags &
MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) {
+
+ /*
+ * Device mapping, so simply copy the DPM entries to the
+ * mapping table, but check for a corrupt mapping table
+ * (as described above in Enc/Slot mapping).
+ */
map_idx = dev_idx;
mt_entry = &sc->mapping_table[map_idx];
if (mt_entry->dpm_entry_num != MPS_DPM_BAD_IDX) {
- printf("%s: conflict in mapping table for "
- "device %d\n", __func__, map_idx);
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: "
+ "Conflict in mapping table for device %d\n",
+ __func__, map_idx);
break;
}
physical_id = dpm_entry->PhysicalIdentifier.High;
mt_entry->physical_id = (physical_id << 32) |
dpm_entry->PhysicalIdentifier.Low;
mt_entry->phy_bits = phy_bits;
- mt_entry->channel = 0;
mt_entry->id = dev_idx;
mt_entry->missing_count = missing_cnt;
mt_entry->dpm_entry_num = entry_num;
@@ -1585,43 +1934,91 @@ _mapping_process_dpm_pg0(struct mps_softc *sc)
/*
* mps_mapping_check_devices - start of the day check for device availabilty
* @sc: per adapter object
- * @sleep_flag: Flag indicating whether this function can sleep or not
*
* Returns nothing.
*/
void
-mps_mapping_check_devices(struct mps_softc *sc, int sleep_flag)
+mps_mapping_check_devices(void *data)
{
u32 i;
-/* u32 cntdn, i;
- u32 timeout = 60;*/
struct dev_mapping_table *mt_entry;
+ struct mps_softc *sc = (struct mps_softc *)data;
u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags);
struct enc_mapping_table *et_entry;
- u32 start_idx, end_idx;
+ u32 start_idx = 0, end_idx = 0;
+ u8 stop_device_checks = 0;
+
+ MPS_FUNCTRACE(sc);
- /* We need to ucomment this when this function is called
- * from the port enable complete */
-#if 0
+ /*
+ * Clear this flag so that this function is never called again except
+ * within this function if the check needs to be done again. The
+ * purpose is to check for missing devices that are currently in the
+ * mapping table so do this only at driver init after discovery.
+ */
sc->track_mapping_events = 0;
- cntdn = (sleep_flag == CAN_SLEEP) ? 1000*timeout : 2000*timeout;
- do {
- if (!sc->pending_map_events)
- break;
- if (sleep_flag == CAN_SLEEP)
- pause("mps_pause", (hz/1000));/* 1msec sleep */
- else
- DELAY(500); /* 500 useconds delay */
- } while (--cntdn);
+ /*
+ * callout synchronization
+ * This is used to prevent race conditions for the callout.
+ */
+ mps_dprint(sc, MPS_MAPPING, "%s: Start check for missing devices.\n",
+ __func__);
+ mtx_assert(&sc->mps_mtx, MA_OWNED);
+ if ((callout_pending(&sc->device_check_callout)) ||
+ (!callout_active(&sc->device_check_callout))) {
+ mps_dprint(sc, MPS_MAPPING, "%s: Device Check Callout is "
+ "already pending or not active.\n", __func__);
+ return;
+ }
+ callout_deactivate(&sc->device_check_callout);
+
+ /*
+ * Use callout to check if any devices in the mapping table have been
+ * processed yet. If ALL devices are marked as not init_complete, no
+ * devices have been processed and mapped. Until devices are mapped
+ * there's no reason to mark them as missing. Continue resetting this
+ * callout until devices have been mapped.
+ */
+ if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
+ MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
+ et_entry = sc->enclosure_table;
+ for (i = 0; i < sc->num_enc_table_entries; i++, et_entry++) {
+ if (et_entry->init_complete) {
+ stop_device_checks = 1;
+ break;
+ }
+ }
+ } else if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
+ MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) {
+ mt_entry = sc->mapping_table;
+ for (i = 0; i < sc->max_devices; i++, mt_entry++) {
+ if (mt_entry->init_complete) {
+ stop_device_checks = 1;
+ break;
+ }
+ }
+ }
- if (!cntdn)
- printf("%s: there are %d"
- " pending events after %d seconds of delay\n",
- __func__, sc->pending_map_events, timeout);
-#endif
- sc->pending_map_events = 0;
+ /*
+ * Setup another callout check after a delay. Keep doing this until
+ * devices are mapped.
+ */
+ if (!stop_device_checks) {
+ mps_dprint(sc, MPS_MAPPING, "%s: No devices have been mapped. "
+ "Reset callout to check again after a %d second delay.\n",
+ __func__, MPS_MISSING_CHECK_DELAY);
+ callout_reset(&sc->device_check_callout,
+ MPS_MISSING_CHECK_DELAY * hz, mps_mapping_check_devices,
+ sc);
+ return;
+ }
+ mps_dprint(sc, MPS_MAPPING, "%s: Device check complete.\n", __func__);
+ /*
+ * Depending on the mapping type, check if devices have been processed
+ * and update their missing counts if not processed.
+ */
if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) {
et_entry = sc->enclosure_table;
@@ -1629,11 +2026,16 @@ mps_mapping_check_devices(struct mps_softc *sc, int sleep_flag)
if (!et_entry->init_complete) {
if (et_entry->missing_count <
MPS_MAX_MISSING_COUNT) {
+ mps_dprint(sc, MPS_MAPPING, "%s: "
+ "Enclosure %d is missing from the "
+ "topology. Update its missing "
+ "count.\n", __func__, i);
et_entry->missing_count++;
if (et_entry->dpm_entry_num !=
- MPS_DPM_BAD_IDX)
+ MPS_DPM_BAD_IDX) {
_mapping_commit_enc_entry(sc,
et_entry);
+ }
}
et_entry->init_complete = 1;
}
@@ -1642,69 +2044,45 @@ mps_mapping_check_devices(struct mps_softc *sc, int sleep_flag)
return;
_mapping_get_ir_maprange(sc, &start_idx, &end_idx);
mt_entry = &sc->mapping_table[start_idx];
- for (i = start_idx; i < (end_idx + 1); i++, mt_entry++) {
- if (mt_entry->device_info & MPS_DEV_RESERVED
- && !mt_entry->physical_id)
- mt_entry->init_complete = 1;
- else if (mt_entry->device_info & MPS_DEV_RESERVED) {
- if (!mt_entry->init_complete) {
- if (mt_entry->missing_count <
- MPS_MAX_MISSING_COUNT) {
- mt_entry->missing_count++;
- if (mt_entry->dpm_entry_num !=
- MPS_DPM_BAD_IDX)
- _mapping_commit_map_entry(sc,
- mt_entry);
- }
- mt_entry->init_complete = 1;
- }
- }
- }
} else if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) ==
MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) {
+ start_idx = 0;
+ end_idx = sc->max_devices - 1;
mt_entry = sc->mapping_table;
- for (i = 0; i < sc->max_devices; i++, mt_entry++) {
- if (mt_entry->device_info & MPS_DEV_RESERVED
- && !mt_entry->physical_id)
- mt_entry->init_complete = 1;
- else if (mt_entry->device_info & MPS_DEV_RESERVED) {
- if (!mt_entry->init_complete) {
- if (mt_entry->missing_count <
- MPS_MAX_MISSING_COUNT) {
- mt_entry->missing_count++;
- if (mt_entry->dpm_entry_num !=
- MPS_DPM_BAD_IDX)
+ }
+
+ /*
+ * The start and end indices have been set above according to the
+ * mapping type. Go through these mappings and update any entries that
+ * do not have the init_complete flag set, which means they are missing.
+ */
+ if (end_idx == 0)
+ return;
+ for (i = start_idx; i < (end_idx + 1); i++, mt_entry++) {
+ if (mt_entry->device_info & MPS_DEV_RESERVED
+ && !mt_entry->physical_id)
+ mt_entry->init_complete = 1;
+ else if (mt_entry->device_info & MPS_DEV_RESERVED) {
+ if (!mt_entry->init_complete) {
+ mps_dprint(sc, MPS_MAPPING, "%s: Device in "
+ "mapping table at index %d is missing from "
+ "topology. Update its missing count.\n",
+ __func__, i);
+ if (mt_entry->missing_count <
+ MPS_MAX_MISSING_COUNT) {
+ mt_entry->missing_count++;
+ if (mt_entry->dpm_entry_num !=
+ MPS_DPM_BAD_IDX) {
_mapping_commit_map_entry(sc,
mt_entry);
}
- mt_entry->init_complete = 1;
}
+ mt_entry->init_complete = 1;
}
}
}
}
-
-/**
- * mps_mapping_is_reinit_required - check whether event replay required
- * @sc: per adapter object
- *
- * Checks the per ioc flags and decide whether reinit of events required
- *
- * Returns 1 for reinit of ioc 0 for not.
- */
-int mps_mapping_is_reinit_required(struct mps_softc *sc)
-{
- if (!sc->mt_full_retry && sc->mt_add_device_failed) {
- sc->mt_full_retry = 1;
- sc->mt_add_device_failed = 0;
- _mapping_flush_dpm_pages(sc);
- return 1;
- }
- sc->mt_full_retry = 1;
- return 0;
-}
-
/**
* mps_mapping_initialize - initialize mapping tables
* @sc: per adapter object
@@ -1733,11 +2111,14 @@ mps_mapping_initialize(struct mps_softc *sc)
sc->pending_map_events = 0;
sc->num_enc_table_entries = 0;
sc->num_rsvd_entries = 0;
- sc->num_channels = 1;
sc->max_dpm_entries = sc->ioc_pg8.MaxPersistentEntries;
sc->is_dpm_enable = (sc->max_dpm_entries) ? 1 : 0;
sc->track_mapping_events = 0;
+
+ mps_dprint(sc, MPS_MAPPING, "%s: Mapping table has a max of %d entries "
+ "and DPM has a max of %d entries.\n", __func__, sc->max_devices,
+ sc->max_dpm_entries);
if (ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_DISABLE_PERSISTENT_MAPPING)
sc->is_dpm_enable = 0;
@@ -1777,8 +2158,8 @@ mps_mapping_initialize(struct mps_softc *sc)
retry_read_dpm:
if (mps_config_get_dpm_pg0(sc, &mpi_reply, sc->dpm_pg0,
dpm_pg0_sz)) {
- printf("%s: dpm page read failed; disabling dpm\n",
- __func__);
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: DPM page "
+ "read failed.\n", __func__);
if (retry_count < 3) {
retry_count++;
goto retry_read_dpm;
@@ -1789,6 +2170,11 @@ retry_read_dpm:
if (sc->is_dpm_enable)
_mapping_process_dpm_pg0(sc);
+ else {
+ mps_dprint(sc, MPS_MAPPING, "%s: DPM processing is disabled. "
+ "Device mappings will not persist across reboots or "
+ "resets.\n", __func__);
+ }
sc->track_mapping_events = 1;
return 0;
@@ -1808,15 +2194,15 @@ mps_mapping_exit(struct mps_softc *sc)
}
/**
- * mps_mapping_get_sas_id - assign a target id for sas device
+ * mps_mapping_get_tid - return the target id for sas device and handle
* @sc: per adapter object
* @sas_address: sas address of the device
* @handle: device handle
*
- * Returns valid ID on success or BAD_ID.
+ * Returns valid target ID on success or BAD_ID.
*/
unsigned int
-mps_mapping_get_sas_id(struct mps_softc *sc, uint64_t sas_address, u16 handle)
+mps_mapping_get_tid(struct mps_softc *sc, uint64_t sas_address, u16 handle)
{
u32 map_idx;
struct dev_mapping_table *mt_entry;
@@ -1832,38 +2218,39 @@ mps_mapping_get_sas_id(struct mps_softc *sc, uint64_t sas_address, u16 handle)
}
/**
- * mps_mapping_get_sas_id_from_handle - find a target id in mapping table using
+ * mps_mapping_get_tid_from_handle - find a target id in mapping table using
* only the dev handle. This is just a wrapper function for the local function
* _mapping_get_mt_idx_from_handle.
* @sc: per adapter object
* @handle: device handle
*
- * Returns valid ID on success or BAD_ID.
+ * Returns valid target ID on success or BAD_ID.
*/
unsigned int
-mps_mapping_get_sas_id_from_handle(struct mps_softc *sc, u16 handle)
+mps_mapping_get_tid_from_handle(struct mps_softc *sc, u16 handle)
{
return (_mapping_get_mt_idx_from_handle(sc, handle));
}
/**
- * mps_mapping_get_raid_id - assign a target id for raid device
+ * mps_mapping_get_raid_tid - return the target id for raid device
* @sc: per adapter object
* @wwid: world wide identifier for raid volume
- * @handle: device handle
+ * @volHandle: volume device handle
*
- * Returns valid ID on success or BAD_ID.
+ * Returns valid target ID on success or BAD_ID.
*/
unsigned int
-mps_mapping_get_raid_id(struct mps_softc *sc, u64 wwid, u16 handle)
+mps_mapping_get_raid_tid(struct mps_softc *sc, u64 wwid, u16 volHandle)
{
- u32 map_idx;
+ u32 start_idx, end_idx, map_idx;
struct dev_mapping_table *mt_entry;
- for (map_idx = 0; map_idx < sc->max_devices; map_idx++) {
- mt_entry = &sc->mapping_table[map_idx];
- if (mt_entry->dev_handle == handle && mt_entry->physical_id ==
- wwid)
+ _mapping_get_ir_maprange(sc, &start_idx, &end_idx);
+ mt_entry = &sc->mapping_table[start_idx];
+ for (map_idx = start_idx; map_idx <= end_idx; map_idx++, mt_entry++) {
+ if (mt_entry->dev_handle == volHandle &&
+ mt_entry->physical_id == wwid)
return mt_entry->id;
}
@@ -1871,16 +2258,16 @@ mps_mapping_get_raid_id(struct mps_softc *sc, u64 wwid, u16 handle)
}
/**
- * mps_mapping_get_raid_id_from_handle - find raid device in mapping table
+ * mps_mapping_get_raid_tid_from_handle - find raid device in mapping table
* using only the volume dev handle. This is just a wrapper function for the
* local function _mapping_get_ir_mt_idx_from_handle.
* @sc: per adapter object
* @volHandle: volume device handle
*
- * Returns valid ID on success or BAD_ID.
+ * Returns valid target ID on success or BAD_ID.
*/
unsigned int
-mps_mapping_get_raid_id_from_handle(struct mps_softc *sc, u16 volHandle)
+mps_mapping_get_raid_tid_from_handle(struct mps_softc *sc, u16 volHandle)
{
return (_mapping_get_ir_mt_idx_from_handle(sc, volHandle));
}
@@ -1914,8 +2301,8 @@ mps_mapping_enclosure_dev_status_change_event(struct mps_softc *sc,
if (event_data->ReasonCode == MPI2_EVENT_SAS_ENCL_RC_ADDED) {
if (!event_data->NumSlots) {
- printf("%s: enclosure with handle = 0x%x reported 0 "
- "slots\n", __func__,
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: Enclosure "
+ "with handle = 0x%x reported 0 slots.\n", __func__,
le16toh(event_data->EnclosureHandle));
goto out;
}
@@ -1924,13 +2311,22 @@ mps_mapping_enclosure_dev_status_change_event(struct mps_softc *sc,
event_data->EnclosureLogicalID.Low;
enc_idx = _mapping_get_enc_idx_from_id(sc, temp64_var,
event_data->PhyBits);
+
+ /*
+ * If the Added enclosure is already in the Enclosure Table,
+ * make sure that all the the enclosure info is up to date. If
+ * the enclosure was missing and has just been added back, or if
+ * the enclosure's Phy Bits have changed, clear the missing
+ * count and update the Phy Bits in the mapping table and in the
+ * DPM, if it's being used.
+ */
if (enc_idx != MPS_ENCTABLE_BAD_IDX) {
et_entry = &sc->enclosure_table[enc_idx];
if (et_entry->init_complete &&
!et_entry->missing_count) {
- printf("%s: enclosure %d is already present "
- "with handle = 0x%x\n",__func__, enc_idx,
- et_entry->enc_handle);
+ mps_dprint(sc, MPS_MAPPING, "%s: Enclosure %d "
+ "is already present with handle = 0x%x\n",
+ __func__, enc_idx, et_entry->enc_handle);
goto out;
}
et_entry->enc_handle = le16toh(event_data->
@@ -1949,8 +2345,7 @@ mps_mapping_enclosure_dev_status_change_event(struct mps_softc *sc,
missing_count =
(u8)(dpm_entry->MappingInformation &
MPI2_DRVMAP0_MAPINFO_MISSING_MASK);
- if (!et_entry->init_complete && (
- missing_count || update_phy_bits)) {
+ if (missing_count || update_phy_bits) {
dpm_entry->MappingInformation
= et_entry->num_slots;
dpm_entry->MappingInformation
@@ -1963,20 +2358,29 @@ mps_mapping_enclosure_dev_status_change_event(struct mps_softc *sc,
}
}
} else {
+ /*
+ * This is a new enclosure that is being added.
+ * Initialize the Enclosure Table entry. It will be
+ * finalized when a device is added for the enclosure
+ * and the enclosure has enough space in the Mapping
+ * Table to map its devices.
+ */
enc_idx = sc->num_enc_table_entries;
if (enc_idx >= sc->max_enclosures) {
- printf("%s: enclosure can not be added; "
- "mapping table is full\n", __func__);
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: "
+ "Enclosure cannot be added to mapping "
+ "table because it's full.\n", __func__);
goto out;
}
sc->num_enc_table_entries++;
et_entry = &sc->enclosure_table[enc_idx];
et_entry->enc_handle = le16toh(event_data->
EnclosureHandle);
- et_entry->enclosure_id = event_data->
- EnclosureLogicalID.High;
- et_entry->enclosure_id = ( et_entry->enclosure_id <<
- 32) | event_data->EnclosureLogicalID.Low;
+ et_entry->enclosure_id = le64toh(event_data->
+ EnclosureLogicalID.High);
+ et_entry->enclosure_id =
+ ((et_entry->enclosure_id << 32) |
+ le64toh(event_data->EnclosureLogicalID.Low));
et_entry->start_index = MPS_MAPTABLE_BAD_IDX;
et_entry->dpm_entry_num = MPS_DPM_BAD_IDX;
et_entry->num_slots = le16toh(event_data->NumSlots);
@@ -1986,23 +2390,23 @@ mps_mapping_enclosure_dev_status_change_event(struct mps_softc *sc,
et_entry->init_complete = 1;
} else if (event_data->ReasonCode ==
MPI2_EVENT_SAS_ENCL_RC_NOT_RESPONDING) {
+ /*
+ * An enclosure was removed. Update its missing count and then
+ * update the DPM entry with the new missing count for the
+ * enclosure.
+ */
enc_idx = _mapping_get_enc_idx_from_handle(sc,
le16toh(event_data->EnclosureHandle));
if (enc_idx == MPS_ENCTABLE_BAD_IDX) {
- printf("%s: cannot unmap enclosure %d because it has "
- "already been deleted", __func__, enc_idx);
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING, "%s: Cannot "
+ "unmap enclosure %d because it has already been "
+ "deleted.\n", __func__, enc_idx);
goto out;
}
et_entry = &sc->enclosure_table[enc_idx];
- if (!et_entry->init_complete) {
- if (et_entry->missing_count < MPS_MAX_MISSING_COUNT)
- et_entry->missing_count++;
- else
- et_entry->init_complete = 1;
- }
- if (!et_entry->missing_count)
+ if (et_entry->missing_count < MPS_MAX_MISSING_COUNT)
et_entry->missing_count++;
- if (sc->is_dpm_enable && !et_entry->init_complete &&
+ if (sc->is_dpm_enable &&
et_entry->dpm_entry_num != MPS_DPM_BAD_IDX) {
dpm_entry += et_entry->dpm_entry_num;
dpm_entry->MappingInformation = et_entry->num_slots;
@@ -2072,66 +2476,6 @@ out:
}
/**
- * _mapping_check_update_ir_mt_idx - Check and update IR map table index
- * @sc: per adapter object
- * @event_data: event data payload
- * @evt_idx: current event index
- * @map_idx: current index and the place holder for new map table index
- * @wwid_table: world wide name for volumes in the element table
- *
- * pass through IR events and find whether any events matches and if so
- * tries to find new index if not returns failure
- *
- * Returns 0 on success and 1 on failure
- */
-static int
-_mapping_check_update_ir_mt_idx(struct mps_softc *sc,
- Mpi2EventDataIrConfigChangeList_t *event_data, int evt_idx, u32 *map_idx,
- u64 *wwid_table)
-{
- struct dev_mapping_table *mt_entry;
- u32 st_idx, end_idx, mt_idx = *map_idx;
- u8 match = 0;
- Mpi2EventIrConfigElement_t *element;
- u16 element_flags;
- int i;
-
- mt_entry = &sc->mapping_table[mt_idx];
- _mapping_get_ir_maprange(sc, &st_idx, &end_idx);
-search_again:
- match = 0;
- for (i = evt_idx + 1; i < event_data->NumElements; i++) {
- element = (Mpi2EventIrConfigElement_t *)
- &event_data->ConfigElement[i];
- element_flags = le16toh(element->ElementFlags);
- if ((element_flags &
- MPI2_EVENT_IR_CHANGE_EFLAGS_ELEMENT_TYPE_MASK) !=
- MPI2_EVENT_IR_CHANGE_EFLAGS_VOLUME_ELEMENT)
- continue;
- if (element->ReasonCode == MPI2_EVENT_IR_CHANGE_RC_ADDED ||
- element->ReasonCode ==
- MPI2_EVENT_IR_CHANGE_RC_VOLUME_CREATED) {
- if (mt_entry->physical_id == wwid_table[i]) {
- match = 1;
- break;
- }
- }
- }
-
- if (match) {
- do {
- mt_idx++;
- if (mt_idx > end_idx)
- return 1;
- mt_entry = &sc->mapping_table[mt_idx];
- } while (mt_entry->device_info & MPS_MAP_IN_USE);
- goto search_again;
- }
- *map_idx = mt_idx;
- return 0;
-}
-
-/**
* mps_mapping_ir_config_change_event - handle IR config change list events
* @sc: per adapter object
* @event_data: event data payload
@@ -2148,7 +2492,6 @@ mps_mapping_ir_config_change_event(struct mps_softc *sc,
u32 map_idx, flags;
struct dev_mapping_table *mt_entry;
u16 element_flags;
- u8 log_full_error = 0;
wwid_table = malloc(sizeof(u64) * event_data->NumElements, M_MPT2,
M_NOWAIT | M_ZERO);
@@ -2156,6 +2499,11 @@ mps_mapping_ir_config_change_event(struct mps_softc *sc,
goto out;
element = (Mpi2EventIrConfigElement_t *)&event_data->ConfigElement[0];
flags = le32toh(event_data->Flags);
+
+ /*
+ * For volume changes, get the WWID for the volume and put it in a
+ * table to be used in the processing of the IR change event.
+ */
for (i = 0; i < event_data->NumElements; i++, element++) {
element_flags = le16toh(element->ElementFlags);
if ((element->ReasonCode != MPI2_EVENT_IR_CHANGE_RC_ADDED) &&
@@ -2169,14 +2517,14 @@ mps_mapping_ir_config_change_event(struct mps_softc *sc,
MPI2_EVENT_IR_CHANGE_EFLAGS_VOLUME_ELEMENT) {
mps_config_get_volume_wwid(sc,
le16toh(element->VolDevHandle), &wwid_table[i]);
- map_idx = _mapping_get_ir_mt_idx_from_wwid(sc,
- wwid_table[i]);
- if (map_idx != MPS_MAPTABLE_BAD_IDX) {
- mt_entry = &sc->mapping_table[map_idx];
- mt_entry->device_info |= MPS_MAP_IN_USE;
- }
}
}
+
+ /*
+ * Check the ReasonCode for each element in the IR event and Add/Remove
+ * Volumes or Physical Disks of Volumes to/from the mapping table. Use
+ * the WWIDs gotten above in wwid_table.
+ */
if (flags == MPI2_EVENT_IR_CHANGE_FLAGS_FOREIGN_CONFIG)
goto out;
else {
@@ -2190,8 +2538,11 @@ mps_mapping_ir_config_change_event(struct mps_softc *sc,
map_idx = _mapping_get_ir_mt_idx_from_wwid
(sc, wwid_table[i]);
if (map_idx != MPS_MAPTABLE_BAD_IDX) {
+ /*
+ * The volume is already in the mapping
+ * table. Just update it's info.
+ */
mt_entry = &sc->mapping_table[map_idx];
- mt_entry->channel = MPS_RAID_CHANNEL;
mt_entry->id = map_idx;
mt_entry->dev_handle = le16toh
(element->VolDevHandle);
@@ -2201,31 +2552,33 @@ mps_mapping_ir_config_change_event(struct mps_softc *sc,
map_idx, element, wwid_table[i]);
continue;
}
+
+ /*
+ * Volume is not in mapping table yet. Find a
+ * free entry in the mapping table at the
+ * volume mapping locations. If no entries are
+ * available, this is an error because it means
+ * there are more volumes than can be mapped
+ * and that should never happen for volumes.
+ */
map_idx = _mapping_get_free_ir_mt_idx(sc);
if (map_idx == MPS_MAPTABLE_BAD_IDX)
- log_full_error = 1;
- else if (i < (event_data->NumElements - 1)) {
- log_full_error =
- _mapping_check_update_ir_mt_idx
- (sc, event_data, i, &map_idx,
- wwid_table);
- }
- if (log_full_error) {
- printf("%s: no space to add the RAID "
- "volume with handle 0x%04x in "
- "mapping table\n", __func__, le16toh
- (element->VolDevHandle));
+ {
+ mps_dprint(sc, MPS_ERROR | MPS_MAPPING,
+ "%s: failed to add the volume with "
+ "handle 0x%04x because there is no "
+ "free space available in the "
+ "mapping table\n", __func__,
+ le16toh(element->VolDevHandle));
continue;
}
mt_entry = &sc->mapping_table[map_idx];
mt_entry->physical_id = wwid_table[i];
- mt_entry->channel = MPS_RAID_CHANNEL;
mt_entry->id = map_idx;
mt_entry->dev_handle = le16toh(element->
VolDevHandle);
mt_entry->device_info = MPS_DEV_RESERVED |
MPS_MAP_IN_USE;
- mt_entry->init_complete = 0;
_mapping_update_ir_missing_cnt(sc, map_idx,
element, wwid_table[i]);
} else if (element->ReasonCode ==
@@ -2233,9 +2586,10 @@ mps_mapping_ir_config_change_event(struct mps_softc *sc,
map_idx = _mapping_get_ir_mt_idx_from_wwid(sc,
wwid_table[i]);
if (map_idx == MPS_MAPTABLE_BAD_IDX) {
- printf("%s: failed to remove a volume "
- "because it has already been "
- "removed\n", __func__);
+ mps_dprint(sc, MPS_MAPPING,"%s: Failed "
+ "to remove a volume because it has "
+ "already been removed.\n",
+ __func__);
continue;
}
_mapping_update_ir_missing_cnt(sc, map_idx,
@@ -2245,9 +2599,10 @@ mps_mapping_ir_config_change_event(struct mps_softc *sc,
map_idx = _mapping_get_mt_idx_from_handle(sc,
le16toh(element->VolDevHandle));
if (map_idx == MPS_MAPTABLE_BAD_IDX) {
- printf("%s: failed to remove volume "
- "with handle 0x%04x because it has "
- "already been removed\n", __func__,
+ mps_dprint(sc, MPS_MAPPING,"%s: Failed "
+ "to remove volume with handle "
+ "0x%04x because it has already "
+ "been removed.\n", __func__,
le16toh(element->VolDevHandle));
continue;
}
diff --git a/sys/dev/mps/mps_sas.c b/sys/dev/mps/mps_sas.c
index 74cc404..5149f50 100644
--- a/sys/dev/mps/mps_sas.c
+++ b/sys/dev/mps/mps_sas.c
@@ -347,7 +347,7 @@ mpssas_log_command(struct mps_command *cm, u_int level, const char *fmt, ...)
sbuf_printf(&sb, "SMID %u ", cm->cm_desc.Default.SMID);
sbuf_vprintf(&sb, fmt, ap);
sbuf_finish(&sb);
- mps_dprint_field(cm->cm_sc, level, "%s", sbuf_data(&sb));
+ mps_print_field(cm->cm_sc, "%s", sbuf_data(&sb));
va_end(ap);
}
@@ -733,7 +733,7 @@ mps_attach_sas(struct mps_softc *sc)
* of MaxTargets here so that we don't get into trouble later. This
* should move into the reinit logic.
*/
- sassc->maxtargets = sc->facts->MaxTargets;
+ sassc->maxtargets = sc->facts->MaxTargets + sc->facts->MaxVolumes;
sassc->targets = malloc(sizeof(struct mpssas_target) *
sassc->maxtargets, M_MPT2, M_WAITOK|M_ZERO);
if(!sassc->targets) {
@@ -910,6 +910,25 @@ mpssas_discovery_end(struct mpssas_softc *sassc)
if (sassc->flags & MPSSAS_DISCOVERY_TIMEOUT_PENDING)
callout_stop(&sassc->discovery_callout);
+ /*
+ * After discovery has completed, check the mapping table for any
+ * missing devices and update their missing counts. Only do this once
+ * whenever the driver is initialized so that missing counts aren't
+ * updated unnecessarily. Note that just because discovery has
+ * completed doesn't mean that events have been processed yet. The
+ * check_devices function is a callout timer that checks if ALL devices
+ * are missing. If so, it will wait a little longer for events to
+ * complete and keep resetting itself until some device in the mapping
+ * table is not missing, meaning that event processing has started.
+ */
+ if (sc->track_mapping_events) {
+ mps_dprint(sc, MPS_XINFO | MPS_MAPPING, "Discovery has "
+ "completed. Check for missing devices in the mapping "
+ "table.\n");
+ callout_reset(&sc->device_check_callout,
+ MPS_MISSING_CHECK_DELAY * hz, mps_mapping_check_devices,
+ sc);
+ }
}
static void
@@ -942,7 +961,12 @@ mpssas_action(struct cam_sim *sim, union ccb *ccb)
cpi->hba_eng_cnt = 0;
cpi->max_target = sassc->maxtargets - 1;
cpi->max_lun = 255;
- cpi->initiator_id = sassc->maxtargets - 1;
+
+ /*
+ * initiator_id is set here to an ID outside the set of valid
+ * target IDs (including volumes).
+ */
+ cpi->initiator_id = sassc->maxtargets;
strlcpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN);
strlcpy(cpi->hba_vid, "Avago Tech", HBA_IDLEN);
strlcpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);
@@ -1505,7 +1529,7 @@ mpssas_send_abort(struct mps_softc *sc, struct mps_command *tm, struct mps_comma
return -1;
}
- mpssas_log_command(tm, MPS_RECOVERY|MPS_INFO,
+ mpssas_log_command(cm, MPS_RECOVERY|MPS_INFO,
"Aborting command %p\n", cm);
req = (MPI2_SCSI_TASK_MANAGE_REQUEST *)tm->cm_req;
@@ -1536,7 +1560,7 @@ mpssas_send_abort(struct mps_softc *sc, struct mps_command *tm, struct mps_comma
err = mps_map_command(sc, tm);
if (err)
- mpssas_log_command(tm, MPS_RECOVERY,
+ mps_dprint(sc, MPS_RECOVERY,
"error %d sending abort for cm %p SMID %u\n",
err, cm, req->TaskMID);
return err;
@@ -1574,12 +1598,13 @@ mpssas_scsiio_timeout(void *data)
return;
}
- mpssas_log_command(cm, MPS_INFO, "command timeout cm %p ccb %p\n",
- cm, cm->cm_ccb);
-
targ = cm->cm_targ;
targ->timeouts++;
+ mpssas_log_command(cm, MPS_ERROR, "command timeout %d cm %p target "
+ "%u, handle(0x%04x)\n", cm->cm_ccb->ccb_h.timeout, cm, targ->tid,
+ targ->handle);
+
/* XXX first, check the firmware state, to see if it's still
* operational. if not, do a diag reset.
*/
@@ -2437,8 +2462,9 @@ mpssas_scsiio_complete(struct mps_softc *sc, struct mps_command *cm)
*/
mpssas_set_ccbstatus(ccb, CAM_REQ_CMP_ERR);
mpssas_log_command(cm, MPS_INFO,
- "terminated ioc %x scsi %x state %x xfer %u\n",
- le16toh(rep->IOCStatus), rep->SCSIStatus, rep->SCSIState,
+ "terminated ioc %x loginfo %x scsi %x state %x xfer %u\n",
+ le16toh(rep->IOCStatus), le32toh(rep->IOCLogInfo),
+ rep->SCSIStatus, rep->SCSIState,
le32toh(rep->TransferCount));
break;
case MPI2_IOCSTATUS_INVALID_FUNCTION:
@@ -2453,8 +2479,9 @@ mpssas_scsiio_complete(struct mps_softc *sc, struct mps_command *cm)
case MPI2_IOCSTATUS_SCSI_TASK_MGMT_FAILED:
default:
mpssas_log_command(cm, MPS_XINFO,
- "completed ioc %x scsi %x state %x xfer %u\n",
- le16toh(rep->IOCStatus), rep->SCSIStatus, rep->SCSIState,
+ "completed ioc %x loginfo %x scsi %x state %x xfer %u\n",
+ le16toh(rep->IOCStatus), le32toh(rep->IOCLogInfo),
+ rep->SCSIStatus, rep->SCSIState,
le32toh(rep->TransferCount));
csio->resid = cm->cm_length;
mpssas_set_ccbstatus(ccb, CAM_REQ_CMP_ERR);
diff --git a/sys/dev/mps/mps_sas_lsi.c b/sys/dev/mps/mps_sas_lsi.c
index c04a78a..a110bd8 100644
--- a/sys/dev/mps/mps_sas_lsi.c
+++ b/sys/dev/mps/mps_sas_lsi.c
@@ -217,9 +217,11 @@ mpssas_fw_work(struct mps_softc *sc, struct mps_fw_event_work *fw_event)
switch (phy->PhyStatus & MPI2_EVENT_SAS_TOPO_RC_MASK) {
case MPI2_EVENT_SAS_TOPO_RC_TARG_ADDED:
if (mpssas_add_device(sc,
- le16toh(phy->AttachedDevHandle), phy->LinkRate)){
- printf("%s: failed to add device with "
- "handle 0x%x\n", __func__,
+ le16toh(phy->AttachedDevHandle),
+ phy->LinkRate)){
+ mps_dprint(sc, MPS_ERROR, "%s: "
+ "failed to add device with handle "
+ "0x%x\n", __func__,
le16toh(phy->AttachedDevHandle));
mpssas_prepare_remove(sassc, le16toh(
phy->AttachedDevHandle));
@@ -283,8 +285,8 @@ mpssas_fw_work(struct mps_softc *sc, struct mps_fw_event_work *fw_event)
element =
(Mpi2EventIrConfigElement_t *)&event_data->ConfigElement[0];
- id = mps_mapping_get_raid_id_from_handle
- (sc, element->VolDevHandle);
+ id = mps_mapping_get_raid_tid_from_handle(sc,
+ element->VolDevHandle);
mps_mapping_ir_config_change_event(sc, event_data);
@@ -293,7 +295,8 @@ mpssas_fw_work(struct mps_softc *sc, struct mps_fw_event_work *fw_event)
case MPI2_EVENT_IR_CHANGE_RC_VOLUME_CREATED:
case MPI2_EVENT_IR_CHANGE_RC_ADDED:
if (!foreign_config) {
- if (mpssas_volume_add(sc, le16toh(element->VolDevHandle))){
+ if (mpssas_volume_add(sc,
+ le16toh(element->VolDevHandle))){
printf("%s: failed to add RAID "
"volume with handle 0x%x\n",
__func__, le16toh(element->
@@ -333,12 +336,16 @@ mpssas_fw_work(struct mps_softc *sc, struct mps_fw_event_work *fw_event)
* Phys Disk of a volume has been created. Hide
* it from the OS.
*/
- targ = mpssas_find_target_by_handle(sassc, 0, element->PhysDiskDevHandle);
+ targ = mpssas_find_target_by_handle(sassc, 0,
+ element->PhysDiskDevHandle);
if (targ == NULL)
break;
- /* Set raid component flags only if it is not WD.
- * OR WrapDrive with WD_HIDE_ALWAYS/WD_HIDE_IF_VOLUME is set in NVRAM
+ /*
+ * Set raid component flags only if it is not
+ * WD. OR WrapDrive with
+ * WD_HIDE_ALWAYS/WD_HIDE_IF_VOLUME is set in
+ * NVRAM
*/
if((!sc->WD_available) ||
((sc->WD_available &&
@@ -669,24 +676,61 @@ mpssas_add_device(struct mps_softc *sc, u16 handle, u8 linkrate){
}
}
- id = mps_mapping_get_sas_id(sc, sas_address, handle);
+ /*
+ * use_phynum:
+ * 1 - use the PhyNum field as a fallback to the mapping logic
+ * 0 - never use the PhyNum field
+ * -1 - only use the PhyNum field
+ *
+ * Note that using the Phy number to map a device can cause device adds
+ * to fail if multiple enclosures/expanders are in the topology. For
+ * example, if two devices are in the same slot number in two different
+ * enclosures within the topology, only one of those devices will be
+ * added. PhyNum mapping should not be used if multiple enclosures are
+ * in the topology.
+ */
+ id = MPS_MAP_BAD_ID;
+ if (sc->use_phynum != -1)
+ id = mps_mapping_get_tid(sc, sas_address, handle);
if (id == MPS_MAP_BAD_ID) {
- printf("failure at %s:%d/%s()! Could not get ID for device "
- "with handle 0x%04x\n", __FILE__, __LINE__, __func__,
- handle);
- error = ENXIO;
- goto out;
+ if ((sc->use_phynum == 0)
+ || ((id = config_page.PhyNum) > sassc->maxtargets)) {
+ mps_dprint(sc, MPS_INFO, "failure at %s:%d/%s()! "
+ "Could not get ID for device with handle 0x%04x\n",
+ __FILE__, __LINE__, __func__, handle);
+ error = ENXIO;
+ goto out;
+ }
}
+ mps_dprint(sc, MPS_MAPPING, "%s: Target ID for added device is %d.\n",
+ __func__, id);
- if (mpssas_check_id(sassc, id) != 0) {
- device_printf(sc->mps_dev, "Excluding target id %d\n", id);
- error = ENXIO;
- goto out;
+ /*
+ * Only do the ID check and reuse check if the target is not from a
+ * RAID Component. For Physical Disks of a Volume, the ID will be reused
+ * when a volume is deleted because the mapping entry for the PD will
+ * still be in the mapping table. The ID check should not be done here
+ * either since this PD is already being used.
+ */
+ targ = &sassc->targets[id];
+ if (!(targ->flags & MPS_TARGET_FLAGS_RAID_COMPONENT)) {
+ if (mpssas_check_id(sassc, id) != 0) {
+ device_printf(sc->mps_dev, "Excluding target id %d\n",
+ id);
+ error = ENXIO;
+ goto out;
+ }
+
+ if (targ->handle != 0x0) {
+ mps_dprint(sc, MPS_MAPPING, "Attempting to reuse "
+ "target id %d handle 0x%04x\n", id, targ->handle);
+ error = ENXIO;
+ goto out;
+ }
}
mps_dprint(sc, MPS_MAPPING, "SAS Address from SAS device page0 = %jx\n",
sas_address);
- targ = &sassc->targets[id];
targ->devinfo = device_info;
targ->devname = le32toh(config_page.DeviceName.High);
targ->devname = (targ->devname << 32) |
@@ -769,7 +813,6 @@ out:
}
mpssas_startup_decrement(sassc);
return (error);
-
}
int
@@ -1022,7 +1065,7 @@ mpssas_volume_add(struct mps_softc *sc, u16 handle)
goto out;
}
- id = mps_mapping_get_raid_id(sc, wwid, handle);
+ id = mps_mapping_get_raid_tid(sc, wwid, handle);
if (id == MPS_MAP_BAD_ID) {
printf("%s: could not get ID for volume with handle 0x%04x and "
"WWID 0x%016llx\n", __func__, handle,
@@ -1081,7 +1124,7 @@ mpssas_SSU_to_SATA_devices(struct mps_softc *sc)
*/
sc->SSU_started = TRUE;
sc->SSU_refcount = 0;
- for (targetid = 0; targetid < sc->facts->MaxTargets; targetid++) {
+ for (targetid = 0; targetid < sc->max_devices; targetid++) {
target = &sassc->targets[targetid];
if (target->handle == 0x0) {
continue;
@@ -1263,7 +1306,7 @@ out:
* 3: enable to SSD and HDD
* anything else will default to 1.
*/
- for (targetid = 0; targetid < sc->facts->MaxTargets; targetid++) {
+ for (targetid = 0; targetid < sc->max_devices; targetid++) {
target = &sc->sassc->targets[targetid];
if (target->handle == 0x0) {
continue;
diff --git a/sys/dev/mps/mps_table.c b/sys/dev/mps/mps_table.c
index f6e125d..b6c96ed 100644
--- a/sys/dev/mps/mps_table.c
+++ b/sys/dev/mps/mps_table.c
@@ -196,7 +196,7 @@ mps_describe_devinfo(uint32_t devinfo, char *string, int len)
}
void
-mps_print_iocfacts(struct mps_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
+_mps_print_iocfacts(struct mps_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
{
MPS_PRINTFIELD_START(sc, "IOCFacts");
@@ -205,17 +205,18 @@ mps_print_iocfacts(struct mps_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
MPS_PRINTFIELD(sc, facts, IOCNumber, %d);
MPS_PRINTFIELD(sc, facts, IOCExceptions, 0x%x);
MPS_PRINTFIELD(sc, facts, MaxChainDepth, %d);
- mps_dprint_field(sc, MPS_XINFO, "WhoInit: %s\n",
+ mps_print_field(sc, "WhoInit: %s\n",
mps_describe_table(mps_whoinit_names, facts->WhoInit));
MPS_PRINTFIELD(sc, facts, NumberOfPorts, %d);
+ MPS_PRINTFIELD(sc, facts, MaxMSIxVectors, %d);
MPS_PRINTFIELD(sc, facts, RequestCredit, %d);
MPS_PRINTFIELD(sc, facts, ProductID, 0x%x);
- mps_dprint_field(sc, MPS_XINFO, "IOCCapabilities: %b\n",
+ mps_print_field(sc, "IOCCapabilities: %b\n",
facts->IOCCapabilities, "\20" "\3ScsiTaskFull" "\4DiagTrace"
"\5SnapBuf" "\6ExtBuf" "\7EEDP" "\10BiDirTarg" "\11Multicast"
"\14TransRetry" "\15IR" "\16EventReplay" "\17RaidAccel"
"\20MSIXIndex" "\21HostDisc");
- mps_dprint_field(sc, MPS_XINFO, "FWVersion= %d-%d-%d-%d\n",
+ mps_print_field(sc, "FWVersion= %d-%d-%d-%d\n",
facts->FWVersion.Struct.Major,
facts->FWVersion.Struct.Minor,
facts->FWVersion.Struct.Unit,
@@ -225,7 +226,7 @@ mps_print_iocfacts(struct mps_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
MPS_PRINTFIELD(sc, facts, MaxTargets, %d);
MPS_PRINTFIELD(sc, facts, MaxSasExpanders, %d);
MPS_PRINTFIELD(sc, facts, MaxEnclosures, %d);
- mps_dprint_field(sc, MPS_XINFO, "ProtocolFlags: %b\n",
+ mps_print_field(sc, "ProtocolFlags: %b\n",
facts->ProtocolFlags, "\20" "\1ScsiTarg" "\2ScsiInit");
MPS_PRINTFIELD(sc, facts, HighPriorityCredit, %d);
MPS_PRINTFIELD(sc, facts, MaxReplyDescriptorPostQueueDepth, %d);
@@ -236,7 +237,7 @@ mps_print_iocfacts(struct mps_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
}
void
-mps_print_portfacts(struct mps_softc *sc, MPI2_PORT_FACTS_REPLY *facts)
+_mps_print_portfacts(struct mps_softc *sc, MPI2_PORT_FACTS_REPLY *facts)
{
MPS_PRINTFIELD_START(sc, "PortFacts");
@@ -246,24 +247,24 @@ mps_print_portfacts(struct mps_softc *sc, MPI2_PORT_FACTS_REPLY *facts)
}
void
-mps_print_event(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
+_mps_print_event(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
{
- MPS_EVENTFIELD_START(sc, "EventReply");
- MPS_EVENTFIELD(sc, event, EventDataLength, %d);
- MPS_EVENTFIELD(sc, event, AckRequired, %d);
- mps_dprint_field(sc, MPS_EVENT, "Event: %s (0x%x)\n",
+ MPS_PRINTFIELD_START(sc, "EventReply");
+ MPS_PRINTFIELD(sc, event, EventDataLength, %d);
+ MPS_PRINTFIELD(sc, event, AckRequired, %d);
+ mps_print_field(sc, "Event: %s (0x%x)\n",
mps_describe_table(mps_event_names, event->Event), event->Event);
- MPS_EVENTFIELD(sc, event, EventContext, 0x%x);
+ MPS_PRINTFIELD(sc, event, EventContext, 0x%x);
}
void
-mps_print_sasdev0(struct mps_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
+_mps_print_sasdev0(struct mps_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
{
MPS_PRINTFIELD_START(sc, "SAS Device Page 0");
MPS_PRINTFIELD(sc, buf, Slot, %d);
MPS_PRINTFIELD(sc, buf, EnclosureHandle, 0x%x);
- mps_dprint_field(sc, MPS_XINFO, "SASAddress: 0x%jx\n",
+ mps_print_field(sc, "SASAddress: 0x%jx\n",
mps_to_u64(&buf->SASAddress));
MPS_PRINTFIELD(sc, buf, ParentDevHandle, 0x%x);
MPS_PRINTFIELD(sc, buf, PhyNum, %d);
@@ -271,7 +272,7 @@ mps_print_sasdev0(struct mps_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
MPS_PRINTFIELD(sc, buf, DevHandle, 0x%x);
MPS_PRINTFIELD(sc, buf, AttachedPhyIdentifier, 0x%x);
MPS_PRINTFIELD(sc, buf, ZoneGroup, %d);
- mps_dprint_field(sc, MPS_XINFO, "DeviceInfo: %b,%s\n", buf->DeviceInfo,
+ mps_print_field(sc, "DeviceInfo: %b,%s\n", buf->DeviceInfo,
"\20" "\4SataHost" "\5SmpInit" "\6StpInit" "\7SspInit"
"\10SataDev" "\11SmpTarg" "\12StpTarg" "\13SspTarg" "\14Direct"
"\15LsiDev" "\16AtapiDev" "\17SepDev",
@@ -279,7 +280,7 @@ mps_print_sasdev0(struct mps_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
MPS_PRINTFIELD(sc, buf, Flags, 0x%x);
MPS_PRINTFIELD(sc, buf, PhysicalPort, %d);
MPS_PRINTFIELD(sc, buf, MaxPortConnections, %d);
- mps_dprint_field(sc, MPS_XINFO, "DeviceName: 0x%jx\n",
+ mps_print_field(sc, "DeviceName: 0x%jx\n",
mps_to_u64(&buf->DeviceName));
MPS_PRINTFIELD(sc, buf, PortGroups, %d);
MPS_PRINTFIELD(sc, buf, DmaGroup, %d);
@@ -287,10 +288,10 @@ mps_print_sasdev0(struct mps_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
}
void
-mps_print_evt_sas(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
+_mps_print_evt_sas(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
{
- mps_print_event(sc, event);
+ _mps_print_event(sc, event);
switch(event->Event) {
case MPI2_EVENT_SAS_DISCOVERY:
@@ -298,12 +299,12 @@ mps_print_evt_sas(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
MPI2_EVENT_DATA_SAS_DISCOVERY *data;
data = (MPI2_EVENT_DATA_SAS_DISCOVERY *)&event->EventData;
- mps_dprint_field(sc, MPS_EVENT, "Flags: %b\n", data->Flags,
+ mps_print_field(sc, "Flags: %b\n", data->Flags,
"\20" "\1InProgress" "\2DeviceChange");
- mps_dprint_field(sc, MPS_EVENT, "ReasonCode: %s\n",
+ mps_print_field(sc, "ReasonCode: %s\n",
mps_describe_table(mps_sasdisc_reason, data->ReasonCode));
- MPS_EVENTFIELD(sc, data, PhysicalPort, %d);
- mps_dprint_field(sc, MPS_EVENT, "DiscoveryStatus: %b\n",
+ MPS_PRINTFIELD(sc, data, PhysicalPort, %d);
+ mps_print_field(sc, "DiscoveryStatus: %b\n",
data->DiscoveryStatus, "\20"
"\1Loop" "\2UnaddressableDev" "\3DupSasAddr" "\5SmpTimeout"
"\6ExpRouteFull" "\7RouteIndexError" "\10SmpFailed"
@@ -322,26 +323,26 @@ mps_print_evt_sas(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
data = (MPI2_EVENT_DATA_SAS_TOPOLOGY_CHANGE_LIST *)
&event->EventData;
- MPS_EVENTFIELD(sc, data, EnclosureHandle, 0x%x);
- MPS_EVENTFIELD(sc, data, ExpanderDevHandle, 0x%x);
- MPS_EVENTFIELD(sc, data, NumPhys, %d);
- MPS_EVENTFIELD(sc, data, NumEntries, %d);
- MPS_EVENTFIELD(sc, data, StartPhyNum, %d);
- mps_dprint_field(sc, MPS_EVENT, "ExpStatus: %s (0x%x)\n",
+ MPS_PRINTFIELD(sc, data, EnclosureHandle, 0x%x);
+ MPS_PRINTFIELD(sc, data, ExpanderDevHandle, 0x%x);
+ MPS_PRINTFIELD(sc, data, NumPhys, %d);
+ MPS_PRINTFIELD(sc, data, NumEntries, %d);
+ MPS_PRINTFIELD(sc, data, StartPhyNum, %d);
+ mps_print_field(sc, "ExpStatus: %s (0x%x)\n",
mps_describe_table(mps_sastopo_exp, data->ExpStatus),
data->ExpStatus);
- MPS_EVENTFIELD(sc, data, PhysicalPort, %d);
+ MPS_PRINTFIELD(sc, data, PhysicalPort, %d);
for (i = 0; i < data->NumEntries; i++) {
phy = &data->PHY[i];
phynum = data->StartPhyNum + i;
- mps_dprint_field(sc, MPS_EVENT,
+ mps_print_field(sc,
"PHY[%d].AttachedDevHandle: 0x%04x\n", phynum,
phy->AttachedDevHandle);
- mps_dprint_field(sc, MPS_EVENT,
+ mps_print_field(sc,
"PHY[%d].LinkRate: %s (0x%x)\n", phynum,
mps_describe_table(mps_linkrate_names,
(phy->LinkRate >> 4) & 0xf), phy->LinkRate);
- mps_dprint_field(sc,MPS_EVENT,"PHY[%d].PhyStatus: %s\n",
+ mps_print_field(sc, "PHY[%d].PhyStatus: %s\n",
phynum, mps_describe_table(mps_phystatus_names,
phy->PhyStatus));
}
@@ -353,13 +354,13 @@ mps_print_evt_sas(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
data = (MPI2_EVENT_DATA_SAS_ENCL_DEV_STATUS_CHANGE *)
&event->EventData;
- MPS_EVENTFIELD(sc, data, EnclosureHandle, 0x%x);
- mps_dprint_field(sc, MPS_EVENT, "ReasonCode: %s\n",
+ MPS_PRINTFIELD(sc, data, EnclosureHandle, 0x%x);
+ mps_print_field(sc, "ReasonCode: %s\n",
mps_describe_table(mps_sastopo_exp, data->ReasonCode));
- MPS_EVENTFIELD(sc, data, PhysicalPort, %d);
- MPS_EVENTFIELD(sc, data, NumSlots, %d);
- MPS_EVENTFIELD(sc, data, StartSlot, %d);
- MPS_EVENTFIELD(sc, data, PhyBits, 0x%x);
+ MPS_PRINTFIELD(sc, data, PhysicalPort, %d);
+ MPS_PRINTFIELD(sc, data, NumSlots, %d);
+ MPS_PRINTFIELD(sc, data, StartSlot, %d);
+ MPS_PRINTFIELD(sc, data, PhyBits, 0x%x);
break;
}
case MPI2_EVENT_SAS_DEVICE_STATUS_CHANGE:
@@ -368,13 +369,13 @@ mps_print_evt_sas(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
data = (MPI2_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE *)
&event->EventData;
- MPS_EVENTFIELD(sc, data, TaskTag, 0x%x);
- mps_dprint_field(sc, MPS_EVENT, "ReasonCode: %s\n",
+ MPS_PRINTFIELD(sc, data, TaskTag, 0x%x);
+ mps_print_field(sc, "ReasonCode: %s\n",
mps_describe_table(mps_sasdev_reason, data->ReasonCode));
- MPS_EVENTFIELD(sc, data, ASC, 0x%x);
- MPS_EVENTFIELD(sc, data, ASCQ, 0x%x);
- MPS_EVENTFIELD(sc, data, DevHandle, 0x%x);
- mps_dprint_field(sc, MPS_EVENT, "SASAddress: 0x%jx\n",
+ MPS_PRINTFIELD(sc, data, ASC, 0x%x);
+ MPS_PRINTFIELD(sc, data, ASCQ, 0x%x);
+ MPS_PRINTFIELD(sc, data, DevHandle, 0x%x);
+ mps_print_field(sc, "SASAddress: 0x%jx\n",
mps_to_u64(&data->SASAddress));
}
default:
@@ -383,24 +384,24 @@ mps_print_evt_sas(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
}
void
-mps_print_expander1(struct mps_softc *sc, MPI2_CONFIG_PAGE_EXPANDER_1 *buf)
+_mps_print_expander1(struct mps_softc *sc, MPI2_CONFIG_PAGE_EXPANDER_1 *buf)
{
MPS_PRINTFIELD_START(sc, "SAS Expander Page 1 #%d", buf->Phy);
MPS_PRINTFIELD(sc, buf, PhysicalPort, %d);
MPS_PRINTFIELD(sc, buf, NumPhys, %d);
MPS_PRINTFIELD(sc, buf, Phy, %d);
MPS_PRINTFIELD(sc, buf, NumTableEntriesProgrammed, %d);
- mps_dprint_field(sc, MPS_XINFO, "ProgrammedLinkRate: %s (0x%x)\n",
+ mps_print_field(sc, "ProgrammedLinkRate: %s (0x%x)\n",
mps_describe_table(mps_linkrate_names,
(buf->ProgrammedLinkRate >> 4) & 0xf), buf->ProgrammedLinkRate);
- mps_dprint_field(sc, MPS_XINFO, "HwLinkRate: %s (0x%x)\n",
+ mps_print_field(sc, "HwLinkRate: %s (0x%x)\n",
mps_describe_table(mps_linkrate_names,
(buf->HwLinkRate >> 4) & 0xf), buf->HwLinkRate);
MPS_PRINTFIELD(sc, buf, AttachedDevHandle, 0x%04x);
- mps_dprint_field(sc, MPS_XINFO, "PhyInfo Reason: %s (0x%x)\n",
+ mps_print_field(sc, "PhyInfo Reason: %s (0x%x)\n",
mps_describe_table(mps_phyinfo_reason_names,
(buf->PhyInfo >> 16) & 0xf), buf->PhyInfo);
- mps_dprint_field(sc, MPS_XINFO, "AttachedDeviceInfo: %b,%s\n",
+ mps_print_field(sc, "AttachedDeviceInfo: %b,%s\n",
buf->AttachedDeviceInfo, "\20" "\4SATAhost" "\5SMPinit" "\6STPinit"
"\7SSPinit" "\10SATAdev" "\11SMPtarg" "\12STPtarg" "\13SSPtarg"
"\14Direct" "\15LSIdev" "\16ATAPIdev" "\17SEPdev",
@@ -408,14 +409,14 @@ mps_print_expander1(struct mps_softc *sc, MPI2_CONFIG_PAGE_EXPANDER_1 *buf)
buf->AttachedDeviceInfo & 0x03));
MPS_PRINTFIELD(sc, buf, ExpanderDevHandle, 0x%04x);
MPS_PRINTFIELD(sc, buf, ChangeCount, %d);
- mps_dprint_field(sc, MPS_XINFO, "NegotiatedLinkRate: %s (0x%x)\n",
+ mps_print_field(sc, "NegotiatedLinkRate: %s (0x%x)\n",
mps_describe_table(mps_linkrate_names,
buf->NegotiatedLinkRate & 0xf), buf->NegotiatedLinkRate);
MPS_PRINTFIELD(sc, buf, PhyIdentifier, %d);
MPS_PRINTFIELD(sc, buf, AttachedPhyIdentifier, %d);
MPS_PRINTFIELD(sc, buf, DiscoveryInfo, 0x%x);
MPS_PRINTFIELD(sc, buf, AttachedPhyInfo, 0x%x);
- mps_dprint_field(sc, MPS_XINFO, "AttachedPhyInfo Reason: %s (0x%x)\n",
+ mps_print_field(sc, "AttachedPhyInfo Reason: %s (0x%x)\n",
mps_describe_table(mps_phyinfo_reason_names,
buf->AttachedPhyInfo & 0xf), buf->AttachedPhyInfo);
MPS_PRINTFIELD(sc, buf, ZoneGroup, %d);
@@ -423,27 +424,27 @@ mps_print_expander1(struct mps_softc *sc, MPI2_CONFIG_PAGE_EXPANDER_1 *buf)
}
void
-mps_print_sasphy0(struct mps_softc *sc, MPI2_CONFIG_PAGE_SAS_PHY_0 *buf)
+_mps_print_sasphy0(struct mps_softc *sc, MPI2_CONFIG_PAGE_SAS_PHY_0 *buf)
{
MPS_PRINTFIELD_START(sc, "SAS PHY Page 0");
MPS_PRINTFIELD(sc, buf, OwnerDevHandle, 0x%04x);
MPS_PRINTFIELD(sc, buf, AttachedDevHandle, 0x%04x);
MPS_PRINTFIELD(sc, buf, AttachedPhyIdentifier, %d);
- mps_dprint_field(sc, MPS_XINFO, "AttachedPhyInfo Reason: %s (0x%x)\n",
+ mps_print_field(sc, "AttachedPhyInfo Reason: %s (0x%x)\n",
mps_describe_table(mps_phyinfo_reason_names,
buf->AttachedPhyInfo & 0xf), buf->AttachedPhyInfo);
- mps_dprint_field(sc, MPS_XINFO, "ProgrammedLinkRate: %s (0x%x)\n",
+ mps_print_field(sc, "ProgrammedLinkRate: %s (0x%x)\n",
mps_describe_table(mps_linkrate_names,
(buf->ProgrammedLinkRate >> 4) & 0xf), buf->ProgrammedLinkRate);
- mps_dprint_field(sc, MPS_XINFO, "HwLinkRate: %s (0x%x)\n",
+ mps_print_field(sc, "HwLinkRate: %s (0x%x)\n",
mps_describe_table(mps_linkrate_names,
(buf->HwLinkRate >> 4) & 0xf), buf->HwLinkRate);
MPS_PRINTFIELD(sc, buf, ChangeCount, %d);
MPS_PRINTFIELD(sc, buf, Flags, 0x%x);
- mps_dprint_field(sc, MPS_XINFO, "PhyInfo Reason: %s (0x%x)\n",
+ mps_print_field(sc, "PhyInfo Reason: %s (0x%x)\n",
mps_describe_table(mps_phyinfo_reason_names,
(buf->PhyInfo >> 16) & 0xf), buf->PhyInfo);
- mps_dprint_field(sc, MPS_XINFO, "NegotiatedLinkRate: %s (0x%x)\n",
+ mps_print_field(sc, "NegotiatedLinkRate: %s (0x%x)\n",
mps_describe_table(mps_linkrate_names,
buf->NegotiatedLinkRate & 0xf), buf->NegotiatedLinkRate);
}
diff --git a/sys/dev/mps/mps_table.h b/sys/dev/mps/mps_table.h
index 88aa2c3..1fe6b1e 100644
--- a/sys/dev/mps/mps_table.h
+++ b/sys/dev/mps/mps_table.h
@@ -41,13 +41,63 @@ extern struct mps_table_lookup mps_event_names[];
extern struct mps_table_lookup mps_phystatus_names[];
extern struct mps_table_lookup mps_linkrate_names[];
-void mps_print_iocfacts(struct mps_softc *, MPI2_IOC_FACTS_REPLY *);
-void mps_print_portfacts(struct mps_softc *, MPI2_PORT_FACTS_REPLY *);
-void mps_print_event(struct mps_softc *, MPI2_EVENT_NOTIFICATION_REPLY *);
-void mps_print_sasdev0(struct mps_softc *, MPI2_CONFIG_PAGE_SAS_DEV_0 *);
-void mps_print_evt_sas(struct mps_softc *, MPI2_EVENT_NOTIFICATION_REPLY *);
-void mps_print_expander1(struct mps_softc *, MPI2_CONFIG_PAGE_EXPANDER_1 *);
-void mps_print_sasphy0(struct mps_softc *, MPI2_CONFIG_PAGE_SAS_PHY_0 *);
+void _mps_print_iocfacts(struct mps_softc *, MPI2_IOC_FACTS_REPLY *);
+void _mps_print_portfacts(struct mps_softc *, MPI2_PORT_FACTS_REPLY *);
+void _mps_print_event(struct mps_softc *, MPI2_EVENT_NOTIFICATION_REPLY *);
+void _mps_print_sasdev0(struct mps_softc *, MPI2_CONFIG_PAGE_SAS_DEV_0 *);
+void _mps_print_evt_sas(struct mps_softc *, MPI2_EVENT_NOTIFICATION_REPLY *);
+void _mps_print_expander1(struct mps_softc *, MPI2_CONFIG_PAGE_EXPANDER_1 *);
+void _mps_print_sasphy0(struct mps_softc *, MPI2_CONFIG_PAGE_SAS_PHY_0 *);
void mps_print_sgl(struct mps_softc *, struct mps_command *, int);
void mps_print_scsiio_cmd(struct mps_softc *, struct mps_command *);
+
+static __inline void
+mps_print_iocfacts(struct mps_softc *sc, MPI2_IOC_FACTS_REPLY *facts)
+{
+ if (sc->mps_debug & MPS_XINFO)
+ _mps_print_iocfacts(sc, facts);
+}
+
+static __inline void
+mps_print_portfacts(struct mps_softc *sc, MPI2_PORT_FACTS_REPLY *facts)
+{
+ if (sc->mps_debug & MPS_XINFO)
+ _mps_print_portfacts(sc, facts);
+}
+
+static __inline void
+mps_print_event(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
+{
+ if (sc->mps_debug & MPS_EVENT)
+ _mps_print_event(sc, event);
+}
+
+static __inline void
+mps_print_sasdev0(struct mps_softc *sc, MPI2_CONFIG_PAGE_SAS_DEV_0 *buf)
+{
+ if (sc->mps_debug & MPS_XINFO)
+ _mps_print_sasdev0(sc, buf);
+}
+
+static __inline void
+mps_print_evt_sas(struct mps_softc *sc, MPI2_EVENT_NOTIFICATION_REPLY *event)
+{
+ if (sc->mps_debug & MPS_EVENT)
+ _mps_print_evt_sas(sc, event);
+}
+
+static __inline void
+mps_print_expander1(struct mps_softc *sc, MPI2_CONFIG_PAGE_EXPANDER_1 *buf)
+{
+ if (sc->mps_debug & MPS_XINFO)
+ _mps_print_expander1(sc, buf);
+}
+
+static __inline void
+mps_print_sasphy0(struct mps_softc *sc, MPI2_CONFIG_PAGE_SAS_PHY_0 *buf)
+{
+ if (sc->mps_debug & MPS_XINFO)
+ _mps_print_sasphy0(sc, buf);
+}
+
#endif
diff --git a/sys/dev/mps/mps_user.c b/sys/dev/mps/mps_user.c
index 3638ac6..dc1ced1 100644
--- a/sys/dev/mps/mps_user.c
+++ b/sys/dev/mps/mps_user.c
@@ -2052,7 +2052,7 @@ mps_user_btdh(struct mps_softc *sc, mps_btdh_mapping_t *data)
data->DevHandle = dev_handle;
} else {
bus = 0;
- target = mps_mapping_get_sas_id_from_handle(sc, dev_handle);
+ target = mps_mapping_get_tid_from_handle(sc, dev_handle);
data->Bus = bus;
data->TargetID = target;
}
diff --git a/sys/dev/mps/mpsvar.h b/sys/dev/mps/mpsvar.h
index f3a8929..9b6d72f 100644
--- a/sys/dev/mps/mpsvar.h
+++ b/sys/dev/mps/mpsvar.h
@@ -33,7 +33,7 @@
#ifndef _MPSVAR_H
#define _MPSVAR_H
-#define MPS_DRIVER_VERSION "21.01.00.00-fbsd"
+#define MPS_DRIVER_VERSION "21.02.00.00-fbsd"
#define MPS_DB_MAX_WAIT 2500
@@ -53,6 +53,7 @@
#define MPS_PERIODIC_DELAY 1 /* 1 second heartbeat/watchdog check */
#define MPS_ATA_ID_TIMEOUT 5 /* 5 second timeout for SATA ID cmd */
+#define MPS_MISSING_CHECK_DELAY 10 /* 10 seconds between missing check */
#define MPS_SCSI_RI_INVALID_FRAME (0x00000002)
#define MPS_STRING_LENGTH 64
@@ -70,7 +71,6 @@
#define MPS_MAX_MISSING_COUNT 0x0F
#define MPS_DEV_RESERVED 0x20000000
#define MPS_MAP_IN_USE 0x10000000
-#define MPS_RAID_CHANNEL 1
#define MPS_MAP_BAD_ID 0xFFFFFFFF
/*
@@ -107,7 +107,6 @@ typedef uint64_t u64;
* @phy_bits: bitfields indicating controller phys
* @dpm_entry_num: index of this device in device persistent map table
* @dev_handle: device handle for the device pointed by this entry
- * @channel: target channel
* @id: target id
* @missing_count: number of times the device not detected by driver
* @hide_flag: Hide this physical disk/not (foreign configuration)
@@ -119,8 +118,7 @@ struct dev_mapping_table {
u32 phy_bits;
u16 dpm_entry_num;
u16 dev_handle;
- u8 reserved1;
- u8 channel;
+ u16 reserved1;
u16 id;
u8 missing_count;
u8 init_complete;
@@ -285,6 +283,7 @@ struct mps_softc {
int chain_free_lowwater;
u_int enable_ssu;
int spinup_wait_time;
+ int use_phynum;
uint64_t chain_alloc_fail;
struct sysctl_ctx_list sysctl_ctx;
struct sysctl_oid *sysctl_tree;
@@ -292,6 +291,7 @@ struct mps_softc {
struct mps_command *commands;
struct mps_chain *chains;
struct callout periodic;
+ struct callout device_check_callout;
struct mpssas_softc *sassc;
char tmp_string[MPS_STRING_LENGTH];
@@ -376,13 +376,10 @@ struct mps_softc {
uint8_t max_volumes;
uint8_t num_enc_table_entries;
uint8_t num_rsvd_entries;
- uint8_t num_channels;
uint16_t max_dpm_entries;
uint8_t is_dpm_enable;
uint8_t track_mapping_events;
uint32_t pending_map_events;
- uint8_t mt_full_retry;
- uint8_t mt_add_device_failed;
/* FW diag Buffer List */
mps_fw_diagnostic_buffer_t
@@ -608,6 +605,9 @@ mps_unlock(struct mps_softc *sc)
#define mps_printf(sc, args...) \
device_printf((sc)->mps_dev, ##args)
+#define mps_print_field(sc, msg, args...) \
+ printf("\t" msg, ##args)
+
#define mps_vprintf(sc, args...) \
do { \
if (bootverbose) \
@@ -620,25 +620,13 @@ do { \
device_printf((sc)->mps_dev, msg, ##args); \
} while (0)
-#define mps_dprint_field(sc, level, msg, args...) \
-do { \
- if ((sc)->mps_debug & (level)) \
- printf("\t" msg, ##args); \
-} while (0)
-
#define MPS_PRINTFIELD_START(sc, tag...) \
- mps_dprint((sc), MPS_XINFO, ##tag); \
- mps_dprint_field((sc), MPS_XINFO, ":\n")
+ mps_printf((sc), ##tag); \
+ mps_print_field((sc), ":\n")
#define MPS_PRINTFIELD_END(sc, tag) \
- mps_dprint((sc), MPS_XINFO, tag "\n")
+ mps_printf((sc), tag "\n")
#define MPS_PRINTFIELD(sc, facts, attr, fmt) \
- mps_dprint_field((sc), MPS_XINFO, #attr ": " #fmt "\n", (facts)->attr)
-
-#define MPS_EVENTFIELD_START(sc, tag...) \
- mps_dprint((sc), MPS_EVENT, ##tag); \
- mps_dprint_field((sc), MPS_EVENT, ":\n")
-#define MPS_EVENTFIELD(sc, facts, attr, fmt) \
- mps_dprint_field((sc), MPS_EVENT, #attr ": " #fmt "\n", (facts)->attr)
+ mps_print_field((sc), #attr ": " #fmt "\n", (facts)->attr)
#define MPS_FUNCTRACE(sc) \
mps_dprint((sc), MPS_TRACE, "%s\n", __func__)
@@ -740,19 +728,18 @@ void mps_wd_config_pages(struct mps_softc *sc);
int mps_mapping_initialize(struct mps_softc *);
void mps_mapping_topology_change_event(struct mps_softc *,
Mpi2EventDataSasTopologyChangeList_t *);
-int mps_mapping_is_reinit_required(struct mps_softc *);
void mps_mapping_free_memory(struct mps_softc *sc);
int mps_config_set_dpm_pg0(struct mps_softc *, Mpi2ConfigReply_t *,
Mpi2DriverMappingPage0_t *, u16 );
void mps_mapping_exit(struct mps_softc *);
-void mps_mapping_check_devices(struct mps_softc *, int);
+void mps_mapping_check_devices(void *);
int mps_mapping_allocate_memory(struct mps_softc *sc);
-unsigned int mps_mapping_get_sas_id(struct mps_softc *, uint64_t , u16);
-unsigned int mps_mapping_get_sas_id_from_handle(struct mps_softc *sc,
- u16 handle);
-unsigned int mps_mapping_get_raid_id(struct mps_softc *sc, u64 wwid,
+unsigned int mps_mapping_get_tid(struct mps_softc *, uint64_t , u16);
+unsigned int mps_mapping_get_tid_from_handle(struct mps_softc *sc,
u16 handle);
-unsigned int mps_mapping_get_raid_id_from_handle(struct mps_softc *sc,
+unsigned int mps_mapping_get_raid_tid(struct mps_softc *sc, u64 wwid,
+ u16 volHandle);
+unsigned int mps_mapping_get_raid_tid_from_handle(struct mps_softc *sc,
u16 volHandle);
void mps_mapping_enclosure_dev_status_change_event(struct mps_softc *,
Mpi2EventDataSasEnclDevStatusChange_t *event_data);
diff --git a/sys/dev/nand/nandsim.c b/sys/dev/nand/nandsim.c
index aeb35f3..a1ac13a 100644
--- a/sys/dev/nand/nandsim.c
+++ b/sys/dev/nand/nandsim.c
@@ -71,6 +71,7 @@ static struct nandsim_chip *get_nandsim_chip(uint8_t, uint8_t);
static struct cdevsw nandsim_cdevsw = {
.d_version = D_VERSION,
+ .d_flags = D_NEEDGIANT,
.d_ioctl = nandsim_ioctl,
.d_name = "nandsim",
};
@@ -639,7 +640,7 @@ nandsim_modevent(module_t mod __unused, int type, void *data __unused)
switch (type) {
case MOD_LOAD:
nandsim_dev = make_dev(&nandsim_cdevsw, 0,
- UID_ROOT, GID_WHEEL, 0666, "nandsim.ioctl");
+ UID_ROOT, GID_WHEEL, 0600, "nandsim.ioctl");
break;
case MOD_UNLOAD:
for (i = 0; i < MAX_SIM_DEV; i++) {
diff --git a/sys/dev/psci/psci.c b/sys/dev/psci/psci.c
index c5fe0fb..23e67fc 100644
--- a/sys/dev/psci/psci.c
+++ b/sys/dev/psci/psci.c
@@ -221,6 +221,13 @@ psci_shutdown(void *xsc, int howto)
/* System reset and off do not return. */
}
+void
+psci_reset(void)
+{
+
+ psci_shutdown(NULL, 0);
+}
+
static int
psci_v0_1_init(device_t dev)
{
diff --git a/sys/dev/psci/psci.h b/sys/dev/psci/psci.h
index 58f1e79..d727966 100644
--- a/sys/dev/psci/psci.h
+++ b/sys/dev/psci/psci.h
@@ -36,7 +36,7 @@ typedef int (*psci_callfn_t)(register_t, register_t, register_t, register_t);
extern int psci_present;
-void psci_system_reset(void);
+void psci_reset(void);
int psci_cpu_on(unsigned long, unsigned long, unsigned long);
int psci_hvc_despatch(register_t, register_t, register_t, register_t);
int psci_smc_despatch(register_t, register_t, register_t, register_t);
diff --git a/sys/dev/qlnx/qlnxe/bcm_osal.h b/sys/dev/qlnx/qlnxe/bcm_osal.h
index 9bb5d36..8bdb4d3 100644
--- a/sys/dev/qlnx/qlnxe/bcm_osal.h
+++ b/sys/dev/qlnx/qlnxe/bcm_osal.h
@@ -34,12 +34,17 @@
#include "ecore_status.h"
#include <sys/bitstring.h>
+#if __FreeBSD_version >= 1200000
+#include <compat/linuxkpi/common/include/linux/bitops.h>
+#else
#if __FreeBSD_version >= 1100090
#include <compat/linuxkpi/common/include/linux/bitops.h>
#else
#include <ofed/include/linux/bitops.h>
#endif
+#endif
+#define OSAL_NUM_CPUS() mp_ncpus
/*
* prototypes of freebsd specific functions required by ecore
*/
@@ -60,6 +65,7 @@ extern int qlnx_pci_find_capability(void *ecore_dev, int cap);
extern uint32_t qlnx_direct_reg_rd32(void *p_hwfn, uint32_t *reg_addr);
extern void qlnx_direct_reg_wr32(void *p_hwfn, void *reg_addr, uint32_t value);
+extern void qlnx_direct_reg_wr64(void *p_hwfn, void *reg_addr, uint64_t value);
extern uint32_t qlnx_reg_rd32(void *p_hwfn, uint32_t reg_addr);
extern void qlnx_reg_wr32(void *p_hwfn, uint32_t reg_addr, uint32_t value);
@@ -129,6 +135,8 @@ rounddown_pow_of_two(unsigned long x)
#endif /* #ifndef QLNX_RDMA */
+#define OSAL_UNUSED
+
#define OSAL_CPU_TO_BE64(val) htobe64(val)
#define OSAL_BE64_TO_CPU(val) be64toh(val)
@@ -199,6 +207,8 @@ typedef struct osal_list_t
#define REG_WR(hwfn, addr, val) qlnx_reg_wr32(hwfn, addr, val)
#define REG_WR16(hwfn, addr, val) qlnx_reg_wr16(hwfn, addr, val)
#define DIRECT_REG_WR(p_hwfn, addr, value) qlnx_direct_reg_wr32(p_hwfn, addr, value)
+#define DIRECT_REG_WR64(p_hwfn, addr, value) \
+ qlnx_direct_reg_wr64(p_hwfn, addr, value)
#define DIRECT_REG_RD(p_hwfn, addr) qlnx_direct_reg_rd32(p_hwfn, addr)
#define REG_RD(hwfn, addr) qlnx_reg_rd32(hwfn, addr)
#define DOORBELL(hwfn, addr, value) \
diff --git a/sys/dev/qlnx/qlnxe/common_hsi.h b/sys/dev/qlnx/qlnxe/common_hsi.h
index 81fae82..e808ca9 100644
--- a/sys/dev/qlnx/qlnxe/common_hsi.h
+++ b/sys/dev/qlnx/qlnxe/common_hsi.h
@@ -88,7 +88,7 @@
#define CORE_SPQE_PAGE_SIZE_BYTES 4096
/*
- * Usually LL2 queues are opened in pairs TX-RX.
+ * Usually LL2 queues are opened in pairs – TX-RX.
* There is a hard restriction on number of RX queues (limited by Tstorm RAM) and TX counters (Pstorm RAM).
* Number of TX queues is almost unlimited.
* The constants are different so as to allow asymmetric LL2 connections
@@ -99,13 +99,13 @@
///////////////////////////////////////////////////////////////////////////////////////////////////
-// Include firmware version number only- do not add constants here to avoid redundunt compilations
+// Include firmware verison number only- do not add constants here to avoid redundunt compilations
///////////////////////////////////////////////////////////////////////////////////////////////////
#define FW_MAJOR_VERSION 8
-#define FW_MINOR_VERSION 18
-#define FW_REVISION_VERSION 14
+#define FW_MINOR_VERSION 30
+#define FW_REVISION_VERSION 0
#define FW_ENGINEERING_VERSION 0
/***********************/
@@ -113,60 +113,60 @@
/***********************/
/* PCI functions */
-#define MAX_NUM_PORTS_K2 (4)
#define MAX_NUM_PORTS_BB (2)
-#define MAX_NUM_PORTS (MAX_NUM_PORTS_K2)
+#define MAX_NUM_PORTS_K2 (4)
+#define MAX_NUM_PORTS_E5 (MAX_NUM_PORTS_K2)
+#define MAX_NUM_PORTS (MAX_NUM_PORTS_E5)
-#define MAX_NUM_PFS_K2 (16)
#define MAX_NUM_PFS_BB (8)
-#define MAX_NUM_PFS (MAX_NUM_PFS_K2)
+#define MAX_NUM_PFS_K2 (16)
+#define MAX_NUM_PFS_E5 (MAX_NUM_PFS_K2)
+#define MAX_NUM_PFS (MAX_NUM_PFS_E5)
#define MAX_NUM_OF_PFS_IN_CHIP (16) /* On both engines */
#define MAX_NUM_VFS_BB (120)
#define MAX_NUM_VFS_K2 (192)
-#define E4_MAX_NUM_VFS (MAX_NUM_VFS_K2)
-#define E5_MAX_NUM_VFS (240)
-#define COMMON_MAX_NUM_VFS (E5_MAX_NUM_VFS)
+#define MAX_NUM_VFS_E4 (MAX_NUM_VFS_K2)
+#define MAX_NUM_VFS_E5 (240)
+#define COMMON_MAX_NUM_VFS (MAX_NUM_VFS_E5)
#define MAX_NUM_FUNCTIONS_BB (MAX_NUM_PFS_BB + MAX_NUM_VFS_BB)
#define MAX_NUM_FUNCTIONS_K2 (MAX_NUM_PFS_K2 + MAX_NUM_VFS_K2)
-#define MAX_NUM_FUNCTIONS (MAX_NUM_PFS + E4_MAX_NUM_VFS)
+#define MAX_NUM_FUNCTIONS (MAX_NUM_PFS + MAX_NUM_VFS_E4)
/* in both BB and K2, the VF number starts from 16. so for arrays containing all */
/* possible PFs and VFs - we need a constant for this size */
#define MAX_FUNCTION_NUMBER_BB (MAX_NUM_PFS + MAX_NUM_VFS_BB)
#define MAX_FUNCTION_NUMBER_K2 (MAX_NUM_PFS + MAX_NUM_VFS_K2)
-#define MAX_FUNCTION_NUMBER (MAX_NUM_PFS + E4_MAX_NUM_VFS)
+#define MAX_FUNCTION_NUMBER_E4 (MAX_NUM_PFS + MAX_NUM_VFS_E4)
+#define MAX_FUNCTION_NUMBER_E5 (MAX_NUM_PFS + MAX_NUM_VFS_E5)
+#define COMMON_MAX_FUNCTION_NUMBER (MAX_NUM_PFS + MAX_NUM_VFS_E5)
#define MAX_NUM_VPORTS_K2 (208)
#define MAX_NUM_VPORTS_BB (160)
-#define MAX_NUM_VPORTS (MAX_NUM_VPORTS_K2)
+#define MAX_NUM_VPORTS_E4 (MAX_NUM_VPORTS_K2)
+#define MAX_NUM_VPORTS_E5 (256)
+#define COMMON_MAX_NUM_VPORTS (MAX_NUM_VPORTS_E5)
#define MAX_NUM_L2_QUEUES_K2 (320)
#define MAX_NUM_L2_QUEUES_BB (256)
#define MAX_NUM_L2_QUEUES (MAX_NUM_L2_QUEUES_K2)
/* Traffic classes in network-facing blocks (PBF, BTB, NIG, BRB, PRS and QM) */
-// 4-Port K2.
#define NUM_PHYS_TCS_4PORT_K2 (4)
+#define NUM_PHYS_TCS_4PORT_E5 (6)
#define NUM_OF_PHYS_TCS (8)
-
+#define PURE_LB_TC NUM_OF_PHYS_TCS
#define NUM_TCS_4PORT_K2 (NUM_PHYS_TCS_4PORT_K2 + 1)
+#define NUM_TCS_4PORT_E5 (NUM_PHYS_TCS_4PORT_E5 + 1)
#define NUM_OF_TCS (NUM_OF_PHYS_TCS + 1)
-#define LB_TC (NUM_OF_PHYS_TCS)
-
/* Num of possible traffic priority values */
#define NUM_OF_PRIO (8)
-#define MAX_NUM_VOQS_K2 (NUM_TCS_4PORT_K2 * MAX_NUM_PORTS_K2)
-#define MAX_NUM_VOQS_BB (NUM_OF_TCS * MAX_NUM_PORTS_BB)
-#define MAX_NUM_VOQS (MAX_NUM_VOQS_K2)
-#define MAX_PHYS_VOQS (NUM_OF_PHYS_TCS * MAX_NUM_PORTS_BB)
-
/* CIDs */
-#define E4_NUM_OF_CONNECTION_TYPES (8)
-#define E5_NUM_OF_CONNECTION_TYPES (16)
+#define NUM_OF_CONNECTION_TYPES_E4 (8)
+#define NUM_OF_CONNECTION_TYPES_E5 (16)
#define NUM_OF_TASK_TYPES (8)
#define NUM_OF_LCIDS (320)
#define NUM_OF_LTIDS (320)
@@ -375,11 +375,13 @@
/* number of TX queues in the QM */
#define MAX_QM_TX_QUEUES_K2 512
#define MAX_QM_TX_QUEUES_BB 448
+#define MAX_QM_TX_QUEUES_E5 MAX_QM_TX_QUEUES_K2
#define MAX_QM_TX_QUEUES MAX_QM_TX_QUEUES_K2
/* number of Other queues in the QM */
#define MAX_QM_OTHER_QUEUES_BB 64
#define MAX_QM_OTHER_QUEUES_K2 128
+#define MAX_QM_OTHER_QUEUES_E5 MAX_QM_OTHER_QUEUES_K2
#define MAX_QM_OTHER_QUEUES MAX_QM_OTHER_QUEUES_K2
/* number of queues in a PF queue group */
@@ -413,7 +415,9 @@
#define CAU_FSM_ETH_TX 1
/* Number of Protocol Indices per Status Block */
-#define PIS_PER_SB 12
+#define PIS_PER_SB_E4 12
+#define PIS_PER_SB_E5 8
+#define MAX_PIS_PER_SB OSAL_MAX_T(u8, PIS_PER_SB_E4, PIS_PER_SB_E5)
#define CAU_HC_STOPPED_STATE 3 /* fsm is stopped or not valid for this sb */
@@ -427,7 +431,8 @@
#define MAX_SB_PER_PATH_K2 (368)
#define MAX_SB_PER_PATH_BB (288)
-#define MAX_TOT_SB_PER_PATH MAX_SB_PER_PATH_K2
+#define MAX_SB_PER_PATH_E5 (512)
+#define MAX_TOT_SB_PER_PATH MAX_SB_PER_PATH_E5
#define MAX_SB_PER_PF_MIMD 129
#define MAX_SB_PER_PF_SIMD 64
@@ -588,7 +593,7 @@
// ILT Records
#define PXP_NUM_ILT_RECORDS_BB 7600
#define PXP_NUM_ILT_RECORDS_K2 11000
-#define MAX_NUM_ILT_RECORDS MAX(PXP_NUM_ILT_RECORDS_BB,PXP_NUM_ILT_RECORDS_K2)
+#define MAX_NUM_ILT_RECORDS OSAL_MAX_T(u16, PXP_NUM_ILT_RECORDS_BB,PXP_NUM_ILT_RECORDS_K2)
// Host Interface
@@ -633,7 +638,8 @@
/******************/
/* Number of PBF command queue lines. Each line is 32B. */
-#define PBF_MAX_CMD_LINES 3328
+#define PBF_MAX_CMD_LINES_E4 3328
+#define PBF_MAX_CMD_LINES_E5 5280
/* Number of BTB blocks. Each block is 256B. */
#define BTB_MAX_BLOCKS 1440
@@ -737,8 +743,8 @@ union rdma_eqe_data
*/
struct malicious_vf_eqe_data
{
- u8 vfId /* Malicious VF ID */;
- u8 errId /* Malicious VF error */;
+ u8 vf_id /* Malicious VF ID */;
+ u8 err_id /* Malicious VF error */;
__le16 reserved[3];
};
@@ -747,7 +753,7 @@ struct malicious_vf_eqe_data
*/
struct initial_cleanup_eqe_data
{
- u8 vfId /* VF ID */;
+ u8 vf_id /* VF ID */;
u8 reserved[7];
};
@@ -1059,7 +1065,7 @@ struct db_rdma_dpm_data
{
__le16 icid /* internal CID */;
__le16 prod_val /* aggregated value to update */;
- struct db_rdma_dpm_params params /* parameters passed to RDMA firmware */;
+ struct db_rdma_dpm_params params /* parametes passed to RDMA firmware */;
};
@@ -1113,25 +1119,25 @@ enum igu_seg_access
/*
- * Enumeration for L3 type field of parsing_and_err_flags_union. L3Type: 0 - unknown (not ip) ,1 - Ipv4, 2 - Ipv6 (this field can be filled according to the last-ethertype)
+ * Enumeration for L3 type field of parsing_and_err_flags. L3Type: 0 - unknown (not ip) ,1 - Ipv4, 2 - Ipv6 (this field can be filled according to the last-ethertype)
*/
enum l3_type
{
- e_l3Type_unknown,
- e_l3Type_ipv4,
- e_l3Type_ipv6,
+ e_l3_type_unknown,
+ e_l3_type_ipv4,
+ e_l3_type_ipv6,
MAX_L3_TYPE
};
/*
- * Enumeration for l4Protocol field of parsing_and_err_flags_union. L4-protocol 0 - none, 1 - TCP, 2- UDP. if the packet is IPv4 fragment, and its not the first fragment, the protocol-type should be set to none.
+ * Enumeration for l4Protocol field of parsing_and_err_flags. L4-protocol 0 - none, 1 - TCP, 2- UDP. if the packet is IPv4 fragment, and its not the first fragment, the protocol-type should be set to none.
*/
enum l4_protocol
{
- e_l4Protocol_none,
- e_l4Protocol_tcp,
- e_l4Protocol_udp,
+ e_l4_protocol_none,
+ e_l4_protocol_tcp,
+ e_l4_protocol_udp,
MAX_L4_PROTOCOL
};
@@ -1146,11 +1152,11 @@ struct parsing_and_err_flags
#define PARSING_AND_ERR_FLAGS_L3TYPE_SHIFT 0
#define PARSING_AND_ERR_FLAGS_L4PROTOCOL_MASK 0x3 /* L4-protocol 0 - none, 1 - TCP, 2- UDP. if the packet is IPv4 fragment, and its not the first fragment, the protocol-type should be set to none. (use enum l4_protocol) */
#define PARSING_AND_ERR_FLAGS_L4PROTOCOL_SHIFT 2
-#define PARSING_AND_ERR_FLAGS_IPV4FRAG_MASK 0x1 /* Set if the packet is IPv4 fragment. */
+#define PARSING_AND_ERR_FLAGS_IPV4FRAG_MASK 0x1 /* Set if the packet is IPv4/IPv6 fragment. */
#define PARSING_AND_ERR_FLAGS_IPV4FRAG_SHIFT 4
-#define PARSING_AND_ERR_FLAGS_TAG8021QEXIST_MASK 0x1 /* Set if VLAN tag exists. Invalid if tunnel type are IP GRE or IP GENEVE. */
+#define PARSING_AND_ERR_FLAGS_TAG8021QEXIST_MASK 0x1 /* corresponds to the same 8021q tag that is selected for 8021q-tag fiel. This flag should be set if the tag appears in the packet, regardless of its value. */
#define PARSING_AND_ERR_FLAGS_TAG8021QEXIST_SHIFT 5
-#define PARSING_AND_ERR_FLAGS_L4CHKSMWASCALCULATED_MASK 0x1 /* Set if L4 checksum was calculated. */
+#define PARSING_AND_ERR_FLAGS_L4CHKSMWASCALCULATED_MASK 0x1 /* Set if L4 checksum was calculated. taken from the EOP descriptor. */
#define PARSING_AND_ERR_FLAGS_L4CHKSMWASCALCULATED_SHIFT 6
#define PARSING_AND_ERR_FLAGS_TIMESYNCPKT_MASK 0x1 /* Set for PTP packet. */
#define PARSING_AND_ERR_FLAGS_TIMESYNCPKT_SHIFT 7
@@ -1162,11 +1168,11 @@ struct parsing_and_err_flags
#define PARSING_AND_ERR_FLAGS_L4CHKSMERROR_SHIFT 10
#define PARSING_AND_ERR_FLAGS_TUNNELEXIST_MASK 0x1 /* Set if GRE/VXLAN/GENEVE tunnel detected. */
#define PARSING_AND_ERR_FLAGS_TUNNELEXIST_SHIFT 11
-#define PARSING_AND_ERR_FLAGS_TUNNEL8021QTAGEXIST_MASK 0x1 /* Set if VLAN tag exists in tunnel header. */
+#define PARSING_AND_ERR_FLAGS_TUNNEL8021QTAGEXIST_MASK 0x1 /* This flag should be set if the tag appears in the packet tunnel header, regardless of its value.. */
#define PARSING_AND_ERR_FLAGS_TUNNEL8021QTAGEXIST_SHIFT 12
#define PARSING_AND_ERR_FLAGS_TUNNELIPHDRERROR_MASK 0x1 /* Set if either tunnel-ipv4-version-mismatch or tunnel-ipv4-hdr-len-error or tunnel-ipv4-cksm is set or tunneling ipv6 ver mismatch */
#define PARSING_AND_ERR_FLAGS_TUNNELIPHDRERROR_SHIFT 13
-#define PARSING_AND_ERR_FLAGS_TUNNELL4CHKSMWASCALCULATED_MASK 0x1 /* Set if GRE or VXLAN/GENEVE UDP checksum was calculated. */
+#define PARSING_AND_ERR_FLAGS_TUNNELL4CHKSMWASCALCULATED_MASK 0x1 /* taken from the EOP descriptor. */
#define PARSING_AND_ERR_FLAGS_TUNNELL4CHKSMWASCALCULATED_SHIFT 14
#define PARSING_AND_ERR_FLAGS_TUNNELL4CHKSMERROR_MASK 0x1 /* Set if tunnel L4 checksum validation failed. Valid only if tunnel L4 checksum was calculated. */
#define PARSING_AND_ERR_FLAGS_TUNNELL4CHKSMERROR_SHIFT 15
@@ -1419,21 +1425,42 @@ enum rss_hash_type
/*
* status block structure
*/
-struct status_block
+struct status_block_e4
+{
+ __le16 pi_array[PIS_PER_SB_E4];
+ __le32 sb_num;
+#define STATUS_BLOCK_E4_SB_NUM_MASK 0x1FF
+#define STATUS_BLOCK_E4_SB_NUM_SHIFT 0
+#define STATUS_BLOCK_E4_ZERO_PAD_MASK 0x7F
+#define STATUS_BLOCK_E4_ZERO_PAD_SHIFT 9
+#define STATUS_BLOCK_E4_ZERO_PAD2_MASK 0xFFFF
+#define STATUS_BLOCK_E4_ZERO_PAD2_SHIFT 16
+ __le32 prod_index;
+#define STATUS_BLOCK_E4_PROD_INDEX_MASK 0xFFFFFF
+#define STATUS_BLOCK_E4_PROD_INDEX_SHIFT 0
+#define STATUS_BLOCK_E4_ZERO_PAD3_MASK 0xFF
+#define STATUS_BLOCK_E4_ZERO_PAD3_SHIFT 24
+};
+
+
+/*
+ * status block structure
+ */
+struct status_block_e5
{
- __le16 pi_array[PIS_PER_SB];
+ __le16 pi_array[PIS_PER_SB_E5];
__le32 sb_num;
-#define STATUS_BLOCK_SB_NUM_MASK 0x1FF
-#define STATUS_BLOCK_SB_NUM_SHIFT 0
-#define STATUS_BLOCK_ZERO_PAD_MASK 0x7F
-#define STATUS_BLOCK_ZERO_PAD_SHIFT 9
-#define STATUS_BLOCK_ZERO_PAD2_MASK 0xFFFF
-#define STATUS_BLOCK_ZERO_PAD2_SHIFT 16
+#define STATUS_BLOCK_E5_SB_NUM_MASK 0x1FF
+#define STATUS_BLOCK_E5_SB_NUM_SHIFT 0
+#define STATUS_BLOCK_E5_ZERO_PAD_MASK 0x7F
+#define STATUS_BLOCK_E5_ZERO_PAD_SHIFT 9
+#define STATUS_BLOCK_E5_ZERO_PAD2_MASK 0xFFFF
+#define STATUS_BLOCK_E5_ZERO_PAD2_SHIFT 16
__le32 prod_index;
-#define STATUS_BLOCK_PROD_INDEX_MASK 0xFFFFFF
-#define STATUS_BLOCK_PROD_INDEX_SHIFT 0
-#define STATUS_BLOCK_ZERO_PAD3_MASK 0xFF
-#define STATUS_BLOCK_ZERO_PAD3_SHIFT 24
+#define STATUS_BLOCK_E5_PROD_INDEX_MASK 0xFFFFFF
+#define STATUS_BLOCK_E5_PROD_INDEX_SHIFT 0
+#define STATUS_BLOCK_E5_ZERO_PAD3_MASK 0xFF
+#define STATUS_BLOCK_E5_ZERO_PAD3_SHIFT 24
};
diff --git a/sys/dev/qlnx/qlnxe/ecore.h b/sys/dev/qlnx/qlnxe/ecore.h
index aacfe9d..e5d854b 100644
--- a/sys/dev/qlnx/qlnxe/ecore.h
+++ b/sys/dev/qlnx/qlnxe/ecore.h
@@ -39,8 +39,8 @@
#include "mcp_public.h"
#define ECORE_MAJOR_VERSION 8
-#define ECORE_MINOR_VERSION 18
-#define ECORE_REVISION_VERSION 13
+#define ECORE_MINOR_VERSION 30
+#define ECORE_REVISION_VERSION 0
#define ECORE_ENGINEERING_VERSION 0
#define ECORE_VERSION \
@@ -110,13 +110,13 @@ do { \
#define GET_FIELD(value, name) \
(((value) >> (name##_SHIFT)) & name##_MASK)
-#define ECORE_MFW_GET_FIELD(name, field) \
- (((name) & (field ## _MASK)) >> (field ## _SHIFT))
+#define GET_MFW_FIELD(name, field) \
+ (((name) & (field ## _MASK)) >> (field ## _OFFSET))
-#define ECORE_MFW_SET_FIELD(name, field, value) \
+#define SET_MFW_FIELD(name, field, value) \
do { \
- (name) &= ~((field ## _MASK) << (field ## _SHIFT)); \
- (name) |= (((value) << (field ## _SHIFT)) & (field ## _MASK)); \
+ (name) &= ~((field ## _MASK) << (field ## _OFFSET)); \
+ (name) |= (((value) << (field ## _OFFSET)) & (field ## _MASK)); \
} while (0)
static OSAL_INLINE u32 DB_ADDR(u32 cid, u32 DEMS)
@@ -401,6 +401,11 @@ enum ecore_wol_support {
ECORE_WOL_SUPPORT_PME,
};
+enum ecore_db_rec_exec {
+ DB_REC_DRY_RUN,
+ DB_REC_REAL_DEAL,
+};
+
struct ecore_hw_info {
/* PCI personality */
enum ecore_pci_personality personality;
@@ -450,10 +455,7 @@ struct ecore_hw_info {
#ifndef ETH_ALEN
#define ETH_ALEN 6 /* @@@ TBD - define somewhere else for Windows */
#endif
-
unsigned char hw_mac_addr[ETH_ALEN];
- u64 node_wwn; /* For FCoE only */
- u64 port_wwn; /* For FCoE only */
u16 num_iscsi_conns;
u16 num_fcoe_conns;
@@ -537,6 +539,12 @@ struct ecore_qm_info {
u8 num_pf_rls;
};
+struct ecore_db_recovery_info {
+ osal_list_t list;
+ osal_spinlock_t lock;
+ u32 db_recovery_counter;
+};
+
struct storm_stats {
u32 address;
u32 len;
@@ -605,6 +613,11 @@ struct ecore_hwfn {
struct ecore_ptt *p_main_ptt;
struct ecore_ptt *p_dpc_ptt;
+ /* PTP will be used only by the leading funtion.
+ * Usage of all PTP-apis should be synchronized as result.
+ */
+ struct ecore_ptt *p_ptp_ptt;
+
struct ecore_sb_sp_info *p_sp_sb;
struct ecore_sb_attn_info *p_sb_attn;
@@ -661,6 +674,9 @@ struct ecore_hwfn {
/* L2-related */
struct ecore_l2_info *p_l2_info;
+
+ /* Mechanism for recovering from doorbell drop */
+ struct ecore_db_recovery_info db_recovery_info;
};
enum ecore_mf_mode {
@@ -694,7 +710,7 @@ struct ecore_dev {
#define ECORE_IS_AH(dev) ((dev)->type == ECORE_DEV_TYPE_AH)
#define ECORE_IS_K2(dev) ECORE_IS_AH(dev)
-#define ECORE_IS_E5(dev) false
+#define ECORE_IS_E5(dev) ((dev)->type == ECORE_DEV_TYPE_E5)
#define ECORE_E5_MISSING_CODE OSAL_BUILD_BUG_ON(false)
@@ -703,6 +719,7 @@ struct ecore_dev {
#define ECORE_DEV_ID_MASK 0xff00
#define ECORE_DEV_ID_MASK_BB 0x1600
#define ECORE_DEV_ID_MASK_AH 0x8000
+#define ECORE_DEV_ID_MASK_E5 0x8100
u16 chip_num;
#define CHIP_NUM_MASK 0xffff
@@ -746,7 +763,7 @@ struct ecore_dev {
#define CHIP_BOND_ID_SHIFT 0
u8 num_engines;
- u8 num_ports_in_engines;
+ u8 num_ports_in_engine;
u8 num_funcs_in_port;
u8 path_id;
@@ -836,6 +853,9 @@ struct ecore_dev {
: MAX_SB_PER_PATH_K2)
#define NUM_OF_ENG_PFS(dev) (ECORE_IS_BB(dev) ? MAX_NUM_PFS_BB \
: MAX_NUM_PFS_K2)
+
+#define CRC8_TABLE_SIZE 256
+
/**
* @brief ecore_concrete_to_sw_fid - get the sw function id from
* the concrete value.
@@ -844,8 +864,7 @@ struct ecore_dev {
*
* @return OSAL_INLINE u8
*/
-static OSAL_INLINE u8 ecore_concrete_to_sw_fid(struct ecore_dev *p_dev,
- u32 concrete_fid)
+static OSAL_INLINE u8 ecore_concrete_to_sw_fid(u32 concrete_fid)
{
u8 vfid = GET_FIELD(concrete_fid, PXP_CONCRETE_FID_VFID);
u8 pfid = GET_FIELD(concrete_fid, PXP_CONCRETE_FID_PFID);
@@ -860,8 +879,8 @@ static OSAL_INLINE u8 ecore_concrete_to_sw_fid(struct ecore_dev *p_dev,
return sw_fid;
}
-#define PURE_LB_TC 8
#define PKT_LB_TC 9
+#define MAX_NUM_VOQS_E4 20
int ecore_configure_vport_wfq(struct ecore_dev *p_dev, u16 vp_id, u32 rate);
void ecore_configure_vp_wfq_on_link_change(struct ecore_dev *p_dev,
@@ -873,6 +892,7 @@ int ecore_configure_pf_min_bandwidth(struct ecore_dev *p_dev, u8 min_bw);
void ecore_clean_wfq_db(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt);
int ecore_device_num_engines(struct ecore_dev *p_dev);
int ecore_device_num_ports(struct ecore_dev *p_dev);
+int ecore_device_get_port_id(struct ecore_dev *p_dev);
void ecore_set_fw_mac_addr(__le16 *fw_msb, __le16 *fw_mid, __le16 *fw_lsb,
u8 *mac);
@@ -892,6 +912,13 @@ u16 ecore_get_cm_pq_idx_mcos(struct ecore_hwfn *p_hwfn, u8 tc);
u16 ecore_get_cm_pq_idx_vf(struct ecore_hwfn *p_hwfn, u16 vf);
u16 ecore_get_cm_pq_idx_rl(struct ecore_hwfn *p_hwfn, u8 qpid);
+const char *ecore_hw_get_resc_name(enum ecore_resources res_id);
+
+/* doorbell recovery mechanism */
+void ecore_db_recovery_dp(struct ecore_hwfn *p_hwfn);
+void ecore_db_recovery_execute(struct ecore_hwfn *p_hwfn,
+ enum ecore_db_rec_exec);
+
/* amount of resources used in qm init */
u8 ecore_init_qm_get_num_tcs(struct ecore_hwfn *p_hwfn);
u16 ecore_init_qm_get_num_vfs(struct ecore_hwfn *p_hwfn);
@@ -901,6 +928,4 @@ u16 ecore_init_qm_get_num_pqs(struct ecore_hwfn *p_hwfn);
#define ECORE_LEADING_HWFN(dev) (&dev->hwfns[0])
-const char *ecore_hw_get_resc_name(enum ecore_resources res_id);
-
#endif /* __ECORE_H */
diff --git a/sys/dev/qlnx/qlnxe/ecore_chain.h b/sys/dev/qlnx/qlnxe/ecore_chain.h
index e3beb8f..e89700d 100644
--- a/sys/dev/qlnx/qlnxe/ecore_chain.h
+++ b/sys/dev/qlnx/qlnxe/ecore_chain.h
@@ -214,6 +214,11 @@ static OSAL_INLINE u32 ecore_chain_get_cons_idx_u32(struct ecore_chain *p_chain)
return p_chain->u.chain32.cons_idx;
}
+/* FIXME:
+ * Should create OSALs for the below definitions.
+ * For Linux, replace them with the existing U16_MAX and U32_MAX, and handle
+ * kernel versions that lack them.
+ */
#define ECORE_U16_MAX ((u16)~0U)
#define ECORE_U32_MAX ((u32)~0U)
diff --git a/sys/dev/qlnx/qlnxe/ecore_cxt.c b/sys/dev/qlnx/qlnxe/ecore_cxt.c
index 73000a3..8c2a5da 100644
--- a/sys/dev/qlnx/qlnxe/ecore_cxt.c
+++ b/sys/dev/qlnx/qlnxe/ecore_cxt.c
@@ -72,17 +72,7 @@ __FBSDID("$FreeBSD$");
#define TM_ELEM_SIZE 4
/* ILT constants */
-/* If for some reason, HW P size is modified to be less than 32K,
- * special handling needs to be made for CDU initialization
- */
-#ifdef CONFIG_ECORE_ROCE
-/* For RoCE we configure to 64K to cover for RoCE max tasks 256K purpose. Can be
- * optimized with resource management scheme
- */
#define ILT_DEFAULT_HW_P_SIZE 4
-#else
-#define ILT_DEFAULT_HW_P_SIZE 3
-#endif
#define ILT_PAGE_IN_BYTES(hw_p_size) (1U << ((hw_p_size) + 12))
#define ILT_CFG_REG(cli, reg) PSWRQ2_REG_##cli##_##reg##_RT_OFFSET
@@ -97,22 +87,22 @@ __FBSDID("$FreeBSD$");
/* connection context union */
union conn_context {
- struct core_conn_context core_ctx;
- struct eth_conn_context eth_ctx;
- struct iscsi_conn_context iscsi_ctx;
- struct fcoe_conn_context fcoe_ctx;
- struct roce_conn_context roce_ctx;
+ struct e4_core_conn_context core_ctx;
+ struct e4_eth_conn_context eth_ctx;
+ struct e4_iscsi_conn_context iscsi_ctx;
+ struct e4_fcoe_conn_context fcoe_ctx;
+ struct e4_roce_conn_context roce_ctx;
};
/* TYPE-0 task context - iSCSI, FCOE */
union type0_task_context {
- struct iscsi_task_context iscsi_ctx;
- struct fcoe_task_context fcoe_ctx;
+ struct e4_iscsi_task_context iscsi_ctx;
+ struct e4_fcoe_task_context fcoe_ctx;
};
/* TYPE-1 task context - ROCE */
union type1_task_context {
- struct rdma_task_context roce_ctx;
+ struct e4_rdma_task_context roce_ctx;
};
struct src_ent {
@@ -274,12 +264,10 @@ struct ecore_cxt_mngr {
};
/* check if resources/configuration is required according to protocol type */
-static bool src_proto(struct ecore_hwfn *p_hwfn,
- enum protocol_type type)
+static bool src_proto(enum protocol_type type)
{
return type == PROTOCOLID_ISCSI ||
type == PROTOCOLID_FCOE ||
- type == PROTOCOLID_TOE ||
type == PROTOCOLID_IWARP;
}
@@ -319,14 +307,13 @@ struct ecore_src_iids {
u32 per_vf_cids;
};
-static void ecore_cxt_src_iids(struct ecore_hwfn *p_hwfn,
- struct ecore_cxt_mngr *p_mngr,
+static void ecore_cxt_src_iids(struct ecore_cxt_mngr *p_mngr,
struct ecore_src_iids *iids)
{
u32 i;
for (i = 0; i < MAX_CONN_TYPES; i++) {
- if (!src_proto(p_hwfn, i))
+ if (!src_proto(i))
continue;
iids->pf_cids += p_mngr->conn_cfg[i].cid_count;
@@ -346,8 +333,7 @@ struct ecore_tm_iids {
u32 per_vf_tids;
};
-static void ecore_cxt_tm_iids(struct ecore_hwfn *p_hwfn,
- struct ecore_cxt_mngr *p_mngr,
+static void ecore_cxt_tm_iids(struct ecore_cxt_mngr *p_mngr,
struct ecore_tm_iids *iids)
{
bool tm_vf_required = false;
@@ -454,6 +440,20 @@ static struct ecore_tid_seg *ecore_cxt_tid_seg_info(struct ecore_hwfn *p_hwfn,
return OSAL_NULL;
}
+static void ecore_cxt_set_srq_count(struct ecore_hwfn *p_hwfn, u32 num_srqs)
+{
+ struct ecore_cxt_mngr *p_mgr = p_hwfn->p_cxt_mngr;
+
+ p_mgr->srq_count = num_srqs;
+}
+
+u32 ecore_cxt_get_srq_count(struct ecore_hwfn *p_hwfn)
+{
+ struct ecore_cxt_mngr *p_mgr = p_hwfn->p_cxt_mngr;
+
+ return p_mgr->srq_count;
+}
+
/* set the iids (cid/tid) count per protocol */
static void ecore_cxt_set_proto_cid_count(struct ecore_hwfn *p_hwfn,
enum protocol_type type,
@@ -779,7 +779,7 @@ enum _ecore_status_t ecore_cxt_cfg_ilt_compute(struct ecore_hwfn *p_hwfn,
p_blk = ecore_cxt_set_blk(&p_cli->pf_blks[0]);
ecore_cxt_qm_iids(p_hwfn, &qm_iids);
- total = ecore_qm_pf_mem_size(p_hwfn->rel_pf_id, qm_iids.cids,
+ total = ecore_qm_pf_mem_size(qm_iids.cids,
qm_iids.vf_cids, qm_iids.tids,
p_hwfn->qm_info.num_pqs,
p_hwfn->qm_info.num_vf_pqs);
@@ -797,7 +797,7 @@ enum _ecore_status_t ecore_cxt_cfg_ilt_compute(struct ecore_hwfn *p_hwfn,
/* SRC */
p_cli = ecore_cxt_set_cli(&p_mngr->clients[ILT_CLI_SRC]);
- ecore_cxt_src_iids(p_hwfn, p_mngr, &src_iids);
+ ecore_cxt_src_iids(p_mngr, &src_iids);
/* Both the PF and VFs searcher connections are stored in the per PF
* database. Thus sum the PF searcher cids and all the VFs searcher
@@ -822,7 +822,7 @@ enum _ecore_status_t ecore_cxt_cfg_ilt_compute(struct ecore_hwfn *p_hwfn,
/* TM PF */
p_cli = ecore_cxt_set_cli(&p_mngr->clients[ILT_CLI_TM]);
- ecore_cxt_tm_iids(p_hwfn, p_mngr, &tm_iids);
+ ecore_cxt_tm_iids(p_mngr, &tm_iids);
total = tm_iids.pf_cids + tm_iids.pf_tids_total;
if (total) {
p_blk = ecore_cxt_set_blk(&p_cli->pf_blks[0]);
@@ -952,7 +952,7 @@ static enum _ecore_status_t ecore_cxt_src_t2_alloc(struct ecore_hwfn *p_hwfn)
if (!p_src->active)
return ECORE_SUCCESS;
- ecore_cxt_src_iids(p_hwfn, p_mngr, &src_iids);
+ ecore_cxt_src_iids(p_mngr, &src_iids);
conn_num = src_iids.pf_cids + src_iids.per_vf_cids * p_mngr->vf_count;
total_size = conn_num * sizeof(struct src_ent);
@@ -1287,7 +1287,7 @@ enum _ecore_status_t ecore_cxt_mngr_alloc(struct ecore_hwfn *p_hwfn)
clients[ILT_CLI_TSDM].last.reg = ILT_CFG_REG(TSDM, LAST_ILT);
clients[ILT_CLI_TSDM].p_size.reg = ILT_CFG_REG(TSDM, P_SIZE);
- /* default ILT page size for all clients is 32K */
+ /* default ILT page size for all clients is 64K */
for (i = 0; i < ILT_CLI_MAX; i++)
p_mngr->clients[i].p_size.val = ILT_DEFAULT_HW_P_SIZE;
@@ -1299,7 +1299,9 @@ enum _ecore_status_t ecore_cxt_mngr_alloc(struct ecore_hwfn *p_hwfn)
p_mngr->vf_count = p_hwfn->p_dev->p_iov_info->total_vfs;
/* Initialize the dynamic ILT allocation mutex */
+#ifdef CONFIG_ECORE_LOCK_ALLOC
OSAL_MUTEX_ALLOC(p_hwfn, &p_mngr->mutex);
+#endif
OSAL_MUTEX_INIT(&p_mngr->mutex);
/* Set the cxt mangr pointer priori to further allocations */
@@ -1347,7 +1349,9 @@ void ecore_cxt_mngr_free(struct ecore_hwfn *p_hwfn)
ecore_cid_map_free(p_hwfn);
ecore_cxt_src_t2_free(p_hwfn);
ecore_ilt_shadow_free(p_hwfn);
+#ifdef CONFIG_ECORE_LOCK_ALLOC
OSAL_MUTEX_DEALLOC(&p_hwfn->p_cxt_mngr->mutex);
+#endif
OSAL_FREE(p_hwfn->p_dev, p_hwfn->p_cxt_mngr);
p_hwfn->p_cxt_mngr = OSAL_NULL;
@@ -1555,7 +1559,7 @@ static void ecore_cdu_init_pf(struct ecore_hwfn *p_hwfn)
}
}
-void ecore_qm_init_pf(struct ecore_hwfn *p_hwfn)
+void ecore_qm_init_pf(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt)
{
struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
struct ecore_qm_iids iids;
@@ -1563,9 +1567,8 @@ void ecore_qm_init_pf(struct ecore_hwfn *p_hwfn)
OSAL_MEM_ZERO(&iids, sizeof(iids));
ecore_cxt_qm_iids(p_hwfn, &iids);
- ecore_qm_pf_rt_init(p_hwfn, p_hwfn->p_main_ptt, p_hwfn->port_id,
+ ecore_qm_pf_rt_init(p_hwfn, p_ptt, p_hwfn->port_id,
p_hwfn->rel_pf_id, qm_info->max_phys_tcs_per_port,
- p_hwfn->first_on_engine,
iids.cids, iids.vf_cids, iids.tids,
qm_info->start_pq,
qm_info->num_pqs - qm_info->num_vf_pqs,
@@ -1749,7 +1752,7 @@ static void ecore_ilt_init_pf(struct ecore_hwfn *p_hwfn)
if (p_shdw[line].p_virt != OSAL_NULL) {
SET_FIELD(ilt_hw_entry, ILT_ENTRY_VALID, 1ULL);
SET_FIELD(ilt_hw_entry, ILT_ENTRY_PHY_ADDR,
- (p_shdw[line].p_phys >> 12));
+ (unsigned long long)(p_shdw[line].p_phys >> 12));
DP_VERBOSE(
p_hwfn, ECORE_MSG_ILT,
@@ -1771,7 +1774,7 @@ static void ecore_src_init_pf(struct ecore_hwfn *p_hwfn)
struct ecore_src_iids src_iids;
OSAL_MEM_ZERO(&src_iids, sizeof(src_iids));
- ecore_cxt_src_iids(p_hwfn, p_mngr, &src_iids);
+ ecore_cxt_src_iids(p_mngr, &src_iids);
conn_num = src_iids.pf_cids + src_iids.per_vf_cids * p_mngr->vf_count;
if (!conn_num)
return;
@@ -1817,7 +1820,7 @@ static void ecore_tm_init_pf(struct ecore_hwfn *p_hwfn)
u8 i;
OSAL_MEM_ZERO(&tm_iids, sizeof(tm_iids));
- ecore_cxt_tm_iids(p_hwfn, p_mngr, &tm_iids);
+ ecore_cxt_tm_iids(p_mngr, &tm_iids);
/* @@@TBD No pre-scan for now */
@@ -1908,9 +1911,11 @@ static void ecore_prs_init_common(struct ecore_hwfn *p_hwfn)
static void ecore_prs_init_pf(struct ecore_hwfn *p_hwfn)
{
struct ecore_cxt_mngr *p_mngr = p_hwfn->p_cxt_mngr;
- struct ecore_conn_type_cfg *p_fcoe = &p_mngr->conn_cfg[PROTOCOLID_FCOE];
+ struct ecore_conn_type_cfg *p_fcoe;
struct ecore_tid_seg *p_tid;
+ p_fcoe = &p_mngr->conn_cfg[PROTOCOLID_FCOE];
+
/* If FCoE is active set the MAX OX_ID (tid) in the Parser */
if (!p_fcoe->cid_count)
return;
@@ -1934,9 +1939,9 @@ void ecore_cxt_hw_init_common(struct ecore_hwfn *p_hwfn)
ecore_prs_init_common(p_hwfn);
}
-void ecore_cxt_hw_init_pf(struct ecore_hwfn *p_hwfn)
+void ecore_cxt_hw_init_pf(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt)
{
- ecore_qm_init_pf(p_hwfn);
+ ecore_qm_init_pf(p_hwfn, p_ptt);
ecore_cm_init_pf(p_hwfn);
ecore_dq_init_pf(p_hwfn);
ecore_cdu_init_pf(p_hwfn);
@@ -2119,20 +2124,6 @@ enum _ecore_status_t ecore_cxt_get_cid_info(struct ecore_hwfn *p_hwfn,
return ECORE_SUCCESS;
}
-static void ecore_cxt_set_srq_count(struct ecore_hwfn *p_hwfn, u32 num_srqs)
-{
- struct ecore_cxt_mngr *p_mgr = p_hwfn->p_cxt_mngr;
-
- p_mgr->srq_count = num_srqs;
-}
-
-u32 ecore_cxt_get_srq_count(struct ecore_hwfn *p_hwfn)
-{
- struct ecore_cxt_mngr *p_mgr = p_hwfn->p_cxt_mngr;
-
- return p_mgr->srq_count;
-}
-
static void ecore_rdma_set_pf_params(struct ecore_hwfn *p_hwfn,
struct ecore_rdma_pf_params *p_params,
u32 num_tasks)
@@ -2143,7 +2134,7 @@ static void ecore_rdma_set_pf_params(struct ecore_hwfn *p_hwfn,
/* Override personality with rdma flavor */
num_srqs = OSAL_MIN_T(u32, ECORE_RDMA_MAX_SRQS, p_params->num_srqs);
- /* The only case RDMA personality can be overridden is if NVRAM is
+ /* The only case RDMA personality can be overriden is if NVRAM is
* configured with ETH_RDMA or if no rdma protocol was requested
*/
switch (p_params->rdma_protocol) {
@@ -2170,8 +2161,12 @@ static void ecore_rdma_set_pf_params(struct ecore_hwfn *p_hwfn,
switch (p_hwfn->hw_info.personality) {
case ECORE_PCI_ETH_IWARP:
- num_qps = OSAL_MIN_T(u32, IWARP_MAX_QPS, p_params->num_qps);
- num_cons = num_qps;
+ /* Each QP requires one connection */
+ num_cons = OSAL_MIN_T(u32, IWARP_MAX_QPS, p_params->num_qps);
+#ifdef CONFIG_ECORE_IWARP /* required for the define */
+ /* additional connections required for passive tcp handling */
+ num_cons += ECORE_IWARP_PREALLOC_CNT;
+#endif
proto = PROTOCOLID_IWARP;
p_params->roce_edpm_mode = false;
break;
@@ -2576,14 +2571,14 @@ enum _ecore_status_t ecore_cxt_get_task_ctx(struct ecore_hwfn *p_hwfn,
u8 ctx_type,
void **pp_task_ctx)
{
- struct ecore_cxt_mngr *p_mngr = p_hwfn->p_cxt_mngr;
- struct ecore_ilt_client_cfg *p_cli;
- struct ecore_ilt_cli_blk *p_seg;
- struct ecore_tid_seg *p_seg_info;
- u32 proto, seg;
- u32 total_lines;
- u32 tid_size, ilt_idx;
- u32 num_tids_per_block;
+ struct ecore_cxt_mngr *p_mngr = p_hwfn->p_cxt_mngr;
+ struct ecore_ilt_client_cfg *p_cli;
+ struct ecore_tid_seg *p_seg_info;
+ struct ecore_ilt_cli_blk *p_seg;
+ u32 num_tids_per_block;
+ u32 tid_size, ilt_idx;
+ u32 total_lines;
+ u32 proto, seg;
/* Verify the personality */
switch (p_hwfn->hw_info.personality) {
diff --git a/sys/dev/qlnx/qlnxe/ecore_cxt.h b/sys/dev/qlnx/qlnxe/ecore_cxt.h
index 0af50b0..14e874b 100644
--- a/sys/dev/qlnx/qlnxe/ecore_cxt.h
+++ b/sys/dev/qlnx/qlnxe/ecore_cxt.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef _ECORE_CID_
#define _ECORE_CID_
@@ -130,15 +129,17 @@ void ecore_cxt_hw_init_common(struct ecore_hwfn *p_hwfn);
* @brief ecore_cxt_hw_init_pf - Initailze ILT and DQ, PF phase, per path.
*
* @param p_hwfn
+ * @param p_ptt
*/
-void ecore_cxt_hw_init_pf(struct ecore_hwfn *p_hwfn);
+void ecore_cxt_hw_init_pf(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt);
/**
* @brief ecore_qm_init_pf - Initailze the QM PF phase, per path
*
* @param p_hwfn
+ * @param p_ptt
*/
-void ecore_qm_init_pf(struct ecore_hwfn *p_hwfn);
+void ecore_qm_init_pf(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt);
/**
* @brief Reconfigures QM pf on the fly
diff --git a/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c b/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c
index 02953aa..1fb7d8d 100644
--- a/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c
+++ b/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c
@@ -31,7 +31,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-
#include "bcm_osal.h"
#include "ecore.h"
#include "ecore_hw.h"
@@ -62,9 +61,6 @@ enum mem_groups {
MEM_GROUP_IOR,
MEM_GROUP_RAM,
MEM_GROUP_BTB_RAM,
- MEM_GROUP_RDIF_CTX,
- MEM_GROUP_TDIF_CTX,
- MEM_GROUP_CFC_MEM,
MEM_GROUP_CONN_CFC_MEM,
MEM_GROUP_TASK_CFC_MEM,
MEM_GROUP_CAU_PI,
@@ -73,6 +69,9 @@ enum mem_groups {
MEM_GROUP_PBUF,
MEM_GROUP_MULD_MEM,
MEM_GROUP_BTB_MEM,
+ MEM_GROUP_RDIF_CTX,
+ MEM_GROUP_TDIF_CTX,
+ MEM_GROUP_CFC_MEM,
MEM_GROUP_IGU_MEM,
MEM_GROUP_IGU_MSIX,
MEM_GROUP_CAU_SB,
@@ -95,9 +94,6 @@ static const char* s_mem_group_names[] = {
"IOR",
"RAM",
"BTB_RAM",
- "RDIF_CTX",
- "TDIF_CTX",
- "CFC_MEM",
"CONN_CFC_MEM",
"TASK_CFC_MEM",
"CAU_PI",
@@ -106,6 +102,9 @@ static const char* s_mem_group_names[] = {
"PBUF",
"MULD_MEM",
"BTB_MEM",
+ "RDIF_CTX",
+ "TDIF_CTX",
+ "CFC_MEM",
"IGU_MEM",
"IGU_MSIX",
"CAU_SB",
@@ -161,7 +160,7 @@ static u32 cond12(const u32 *r, const u32 *imm) {
return (r[0] != r[1] && r[2] > imm[0]);
}
-static u32 cond3(const u32 *r, const u32 *imm) {
+static u32 cond3(const u32 *r, const u32 OSAL_UNUSED *imm) {
return (r[0] != r[1]);
}
@@ -256,7 +255,7 @@ struct storm_defs {
/* Block constant definitions */
struct block_defs {
const char *name;
- bool has_dbg_bus[MAX_CHIP_IDS];
+ bool exists[MAX_CHIP_IDS];
bool associated_to_storm;
/* Valid only if associated_to_storm is true */
@@ -280,8 +279,8 @@ struct block_defs {
/* Reset register definitions */
struct reset_reg_defs {
u32 addr;
- u32 unreset_val;
bool exists[MAX_CHIP_IDS];
+ u32 unreset_val[MAX_CHIP_IDS];
};
/* Debug Bus Constraint operation constant definitions */
@@ -311,8 +310,8 @@ struct rss_mem_defs {
const char *mem_name;
const char *type_name;
u32 addr;
+ u32 entry_width;
u32 num_entries[MAX_CHIP_IDS];
- u32 entry_width[MAX_CHIP_IDS];
};
struct vfc_ram_defs {
@@ -550,7 +549,7 @@ static struct dbg_array s_dbg_arrays[MAX_BIN_DBG_BUFFER_TYPE] = { { OSAL_NULL }
static struct dbg_array s_dbg_arrays[MAX_BIN_DBG_BUFFER_TYPE] = {
/* BIN_BUF_DBG_MODE_TREE */
- { (const u32 *)dbg_modes_tree_buf, OSAL_ARRAY_SIZE(dbg_modes_tree_buf)},
+ { (const u32*)dbg_modes_tree_buf, OSAL_ARRAY_SIZE(dbg_modes_tree_buf)},
/* BIN_BUF_DBG_DUMP_REG */
{ dump_reg, OSAL_ARRAY_SIZE(dump_reg) },
@@ -615,7 +614,7 @@ static struct chip_defs s_chip_defs[MAX_CHIP_IDS] = {
/* FPGA */
{ MAX_NUM_PORTS_BB, MAX_NUM_PFS_BB, MAX_NUM_VFS_BB } } },
- { "k2",
+ { "ah",
/* ASIC */
{ { MAX_NUM_PORTS_K2, MAX_NUM_PFS_K2, MAX_NUM_VFS_K2 },
@@ -627,7 +626,21 @@ static struct chip_defs s_chip_defs[MAX_CHIP_IDS] = {
{ MAX_NUM_PORTS_K2, MAX_NUM_PFS_K2, MAX_NUM_VFS_K2 },
/* FPGA */
- { MAX_NUM_PORTS_K2, 8, MAX_NUM_VFS_K2 } } }
+ { MAX_NUM_PORTS_K2, 8, MAX_NUM_VFS_K2 } } },
+
+ { "e5",
+
+ /* ASIC */
+ { { MAX_NUM_PORTS_E5, MAX_NUM_PFS_E5, MAX_NUM_VFS_E5 },
+
+ /* EMUL_FULL */
+ { MAX_NUM_PORTS_E5, MAX_NUM_PFS_E5, MAX_NUM_VFS_E5 },
+
+ /* EMUL_REDUCED */
+ { MAX_NUM_PORTS_E5, MAX_NUM_PFS_E5, MAX_NUM_VFS_E5 },
+
+ /* FPGA */
+ { MAX_NUM_PORTS_E5, 8, MAX_NUM_VFS_E5 } } }
};
/* Storm constant definitions array */
@@ -635,7 +648,7 @@ static struct storm_defs s_storm_defs[] = {
/* Tstorm */
{ 'T', BLOCK_TSEM,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT }, true,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT }, true,
TSEM_REG_FAST_MEMORY,
TSEM_REG_DBG_FRAME_MODE_BB_K2, TSEM_REG_SLOW_DBG_ACTIVE_BB_K2,
TSEM_REG_SLOW_DBG_MODE_BB_K2, TSEM_REG_DBG_MODE1_CFG_BB_K2,
@@ -648,7 +661,7 @@ static struct storm_defs s_storm_defs[] = {
/* Mstorm */
{ 'M', BLOCK_MSEM,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM }, false,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM, DBG_BUS_CLIENT_RBCM }, false,
MSEM_REG_FAST_MEMORY,
MSEM_REG_DBG_FRAME_MODE_BB_K2, MSEM_REG_SLOW_DBG_ACTIVE_BB_K2,
MSEM_REG_SLOW_DBG_MODE_BB_K2, MSEM_REG_DBG_MODE1_CFG_BB_K2,
@@ -661,7 +674,7 @@ static struct storm_defs s_storm_defs[] = {
/* Ustorm */
{ 'U', BLOCK_USEM,
- { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU }, false,
+ { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU }, false,
USEM_REG_FAST_MEMORY,
USEM_REG_DBG_FRAME_MODE_BB_K2, USEM_REG_SLOW_DBG_ACTIVE_BB_K2,
USEM_REG_SLOW_DBG_MODE_BB_K2, USEM_REG_DBG_MODE1_CFG_BB_K2,
@@ -674,7 +687,7 @@ static struct storm_defs s_storm_defs[] = {
/* Xstorm */
{ 'X', BLOCK_XSEM,
- { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX }, false,
+ { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX }, false,
XSEM_REG_FAST_MEMORY,
XSEM_REG_DBG_FRAME_MODE_BB_K2, XSEM_REG_SLOW_DBG_ACTIVE_BB_K2,
XSEM_REG_SLOW_DBG_MODE_BB_K2, XSEM_REG_DBG_MODE1_CFG_BB_K2,
@@ -687,7 +700,7 @@ static struct storm_defs s_storm_defs[] = {
/* Ystorm */
{ 'Y', BLOCK_YSEM,
- { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCY }, false,
+ { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCY, DBG_BUS_CLIENT_RBCY }, false,
YSEM_REG_FAST_MEMORY,
YSEM_REG_DBG_FRAME_MODE_BB_K2, YSEM_REG_SLOW_DBG_ACTIVE_BB_K2,
YSEM_REG_SLOW_DBG_MODE_BB_K2, YSEM_REG_DBG_MODE1_CFG_BB_K2,
@@ -700,7 +713,7 @@ static struct storm_defs s_storm_defs[] = {
/* Pstorm */
{ 'P', BLOCK_PSEM,
- { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS }, true,
+ { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS }, true,
PSEM_REG_FAST_MEMORY,
PSEM_REG_DBG_FRAME_MODE_BB_K2, PSEM_REG_SLOW_DBG_ACTIVE_BB_K2,
PSEM_REG_SLOW_DBG_MODE_BB_K2, PSEM_REG_DBG_MODE1_CFG_BB_K2,
@@ -715,658 +728,668 @@ static struct storm_defs s_storm_defs[] = {
/* Block definitions array */
static struct block_defs block_grc_defs = {
- "grc", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCN, DBG_BUS_CLIENT_RBCN },
+ "grc", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCN, DBG_BUS_CLIENT_RBCN, DBG_BUS_CLIENT_RBCN },
GRC_REG_DBG_SELECT, GRC_REG_DBG_DWORD_ENABLE,
GRC_REG_DBG_SHIFT, GRC_REG_DBG_FORCE_VALID,
GRC_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISC_PL_UA, 1 };
static struct block_defs block_miscs_defs = {
- "miscs", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "miscs", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
false, false, MAX_DBG_RESET_REGS, 0 };
static struct block_defs block_misc_defs = {
- "misc", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "misc", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
false, false, MAX_DBG_RESET_REGS, 0 };
static struct block_defs block_dbu_defs = {
- "dbu", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "dbu", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
false, false, MAX_DBG_RESET_REGS, 0 };
static struct block_defs block_pglue_b_defs = {
- "pglue_b", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCH, DBG_BUS_CLIENT_RBCH },
+ "pglue_b", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCH, DBG_BUS_CLIENT_RBCH, DBG_BUS_CLIENT_RBCH },
PGLUE_B_REG_DBG_SELECT, PGLUE_B_REG_DBG_DWORD_ENABLE,
PGLUE_B_REG_DBG_SHIFT, PGLUE_B_REG_DBG_FORCE_VALID,
PGLUE_B_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISCS_PL_HV, 1 };
static struct block_defs block_cnig_defs = {
- "cnig", { false, true }, false, 0,
- { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCW },
+ "cnig", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCW, DBG_BUS_CLIENT_RBCW },
CNIG_REG_DBG_SELECT_K2_E5, CNIG_REG_DBG_DWORD_ENABLE_K2_E5,
CNIG_REG_DBG_SHIFT_K2_E5, CNIG_REG_DBG_FORCE_VALID_K2_E5,
CNIG_REG_DBG_FORCE_FRAME_K2_E5,
true, false, DBG_RESET_REG_MISCS_PL_HV, 0 };
static struct block_defs block_cpmu_defs = {
- "cpmu", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "cpmu", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
true, false, DBG_RESET_REG_MISCS_PL_HV, 8 };
static struct block_defs block_ncsi_defs = {
- "ncsi", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCZ },
+ "ncsi", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCZ },
NCSI_REG_DBG_SELECT, NCSI_REG_DBG_DWORD_ENABLE,
NCSI_REG_DBG_SHIFT, NCSI_REG_DBG_FORCE_VALID,
NCSI_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISCS_PL_HV, 5 };
static struct block_defs block_opte_defs = {
- "opte", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "opte", { true, true, false }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
true, false, DBG_RESET_REG_MISCS_PL_HV, 4 };
static struct block_defs block_bmb_defs = {
- "bmb", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCB },
+ "bmb", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCB, DBG_BUS_CLIENT_RBCB },
BMB_REG_DBG_SELECT, BMB_REG_DBG_DWORD_ENABLE,
BMB_REG_DBG_SHIFT, BMB_REG_DBG_FORCE_VALID,
BMB_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISCS_PL_UA, 7 };
static struct block_defs block_pcie_defs = {
- "pcie", { false, true }, false, 0,
- { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCH },
+ "pcie", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCH, DBG_BUS_CLIENT_RBCH },
PCIE_REG_DBG_COMMON_SELECT_K2_E5, PCIE_REG_DBG_COMMON_DWORD_ENABLE_K2_E5,
PCIE_REG_DBG_COMMON_SHIFT_K2_E5, PCIE_REG_DBG_COMMON_FORCE_VALID_K2_E5,
PCIE_REG_DBG_COMMON_FORCE_FRAME_K2_E5,
false, false, MAX_DBG_RESET_REGS, 0 };
static struct block_defs block_mcp_defs = {
- "mcp", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "mcp", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
false, false, MAX_DBG_RESET_REGS, 0 };
static struct block_defs block_mcp2_defs = {
- "mcp2", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCZ },
+ "mcp2", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCZ },
MCP2_REG_DBG_SELECT, MCP2_REG_DBG_DWORD_ENABLE,
MCP2_REG_DBG_SHIFT, MCP2_REG_DBG_FORCE_VALID,
MCP2_REG_DBG_FORCE_FRAME,
false, false, MAX_DBG_RESET_REGS, 0 };
static struct block_defs block_pswhst_defs = {
- "pswhst", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "pswhst", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
PSWHST_REG_DBG_SELECT, PSWHST_REG_DBG_DWORD_ENABLE,
PSWHST_REG_DBG_SHIFT, PSWHST_REG_DBG_FORCE_VALID,
PSWHST_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISC_PL_HV, 0 };
static struct block_defs block_pswhst2_defs = {
- "pswhst2", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "pswhst2", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
PSWHST2_REG_DBG_SELECT, PSWHST2_REG_DBG_DWORD_ENABLE,
PSWHST2_REG_DBG_SHIFT, PSWHST2_REG_DBG_FORCE_VALID,
PSWHST2_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISC_PL_HV, 0 };
static struct block_defs block_pswrd_defs = {
- "pswrd", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "pswrd", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
PSWRD_REG_DBG_SELECT, PSWRD_REG_DBG_DWORD_ENABLE,
PSWRD_REG_DBG_SHIFT, PSWRD_REG_DBG_FORCE_VALID,
PSWRD_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISC_PL_HV, 2 };
static struct block_defs block_pswrd2_defs = {
- "pswrd2", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "pswrd2", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
PSWRD2_REG_DBG_SELECT, PSWRD2_REG_DBG_DWORD_ENABLE,
PSWRD2_REG_DBG_SHIFT, PSWRD2_REG_DBG_FORCE_VALID,
PSWRD2_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISC_PL_HV, 2 };
static struct block_defs block_pswwr_defs = {
- "pswwr", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "pswwr", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
PSWWR_REG_DBG_SELECT, PSWWR_REG_DBG_DWORD_ENABLE,
PSWWR_REG_DBG_SHIFT, PSWWR_REG_DBG_FORCE_VALID,
PSWWR_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISC_PL_HV, 3 };
static struct block_defs block_pswwr2_defs = {
- "pswwr2", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "pswwr2", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
true, false, DBG_RESET_REG_MISC_PL_HV, 3 };
static struct block_defs block_pswrq_defs = {
- "pswrq", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "pswrq", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
PSWRQ_REG_DBG_SELECT, PSWRQ_REG_DBG_DWORD_ENABLE,
PSWRQ_REG_DBG_SHIFT, PSWRQ_REG_DBG_FORCE_VALID,
PSWRQ_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISC_PL_HV, 1 };
static struct block_defs block_pswrq2_defs = {
- "pswrq2", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "pswrq2", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
PSWRQ2_REG_DBG_SELECT, PSWRQ2_REG_DBG_DWORD_ENABLE,
PSWRQ2_REG_DBG_SHIFT, PSWRQ2_REG_DBG_FORCE_VALID,
PSWRQ2_REG_DBG_FORCE_FRAME,
true, false, DBG_RESET_REG_MISC_PL_HV, 1 };
static struct block_defs block_pglcs_defs = {
- "pglcs", { false, true }, false, 0,
- { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCH },
+ "pglcs", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCH, DBG_BUS_CLIENT_RBCH },
PGLCS_REG_DBG_SELECT_K2_E5, PGLCS_REG_DBG_DWORD_ENABLE_K2_E5,
PGLCS_REG_DBG_SHIFT_K2_E5, PGLCS_REG_DBG_FORCE_VALID_K2_E5,
PGLCS_REG_DBG_FORCE_FRAME_K2_E5,
true, false, DBG_RESET_REG_MISCS_PL_HV, 2 };
static struct block_defs block_ptu_defs ={
- "ptu", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "ptu", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
PTU_REG_DBG_SELECT, PTU_REG_DBG_DWORD_ENABLE,
PTU_REG_DBG_SHIFT, PTU_REG_DBG_FORCE_VALID,
PTU_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 20 };
static struct block_defs block_dmae_defs = {
- "dmae", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "dmae", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
DMAE_REG_DBG_SELECT, DMAE_REG_DBG_DWORD_ENABLE,
DMAE_REG_DBG_SHIFT, DMAE_REG_DBG_FORCE_VALID,
DMAE_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 28 };
static struct block_defs block_tcm_defs = {
- "tcm", { true, true }, true, DBG_TSTORM_ID,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT },
+ "tcm", { true, true, true }, true, DBG_TSTORM_ID,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT },
TCM_REG_DBG_SELECT, TCM_REG_DBG_DWORD_ENABLE,
TCM_REG_DBG_SHIFT, TCM_REG_DBG_FORCE_VALID,
TCM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 5 };
static struct block_defs block_mcm_defs = {
- "mcm", { true, true }, true, DBG_MSTORM_ID,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM },
+ "mcm", { true, true, true }, true, DBG_MSTORM_ID,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM, DBG_BUS_CLIENT_RBCM },
MCM_REG_DBG_SELECT, MCM_REG_DBG_DWORD_ENABLE,
MCM_REG_DBG_SHIFT, MCM_REG_DBG_FORCE_VALID,
MCM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 3 };
static struct block_defs block_ucm_defs = {
- "ucm", { true, true }, true, DBG_USTORM_ID,
- { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU },
+ "ucm", { true, true, true }, true, DBG_USTORM_ID,
+ { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU },
UCM_REG_DBG_SELECT, UCM_REG_DBG_DWORD_ENABLE,
UCM_REG_DBG_SHIFT, UCM_REG_DBG_FORCE_VALID,
UCM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 8 };
static struct block_defs block_xcm_defs = {
- "xcm", { true, true }, true, DBG_XSTORM_ID,
- { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX },
+ "xcm", { true, true, true }, true, DBG_XSTORM_ID,
+ { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX },
XCM_REG_DBG_SELECT, XCM_REG_DBG_DWORD_ENABLE,
XCM_REG_DBG_SHIFT, XCM_REG_DBG_FORCE_VALID,
XCM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 19 };
static struct block_defs block_ycm_defs = {
- "ycm", { true, true }, true, DBG_YSTORM_ID,
- { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCY },
+ "ycm", { true, true, true }, true, DBG_YSTORM_ID,
+ { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCY, DBG_BUS_CLIENT_RBCY },
YCM_REG_DBG_SELECT, YCM_REG_DBG_DWORD_ENABLE,
YCM_REG_DBG_SHIFT, YCM_REG_DBG_FORCE_VALID,
YCM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 5 };
static struct block_defs block_pcm_defs = {
- "pcm", { true, true }, true, DBG_PSTORM_ID,
- { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS },
+ "pcm", { true, true, true }, true, DBG_PSTORM_ID,
+ { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS },
PCM_REG_DBG_SELECT, PCM_REG_DBG_DWORD_ENABLE,
PCM_REG_DBG_SHIFT, PCM_REG_DBG_FORCE_VALID,
PCM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 4 };
static struct block_defs block_qm_defs = {
- "qm", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCQ },
+ "qm", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCQ, DBG_BUS_CLIENT_RBCQ },
QM_REG_DBG_SELECT, QM_REG_DBG_DWORD_ENABLE,
QM_REG_DBG_SHIFT, QM_REG_DBG_FORCE_VALID,
QM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 16 };
static struct block_defs block_tm_defs = {
- "tm", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS },
+ "tm", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS },
TM_REG_DBG_SELECT, TM_REG_DBG_DWORD_ENABLE,
TM_REG_DBG_SHIFT, TM_REG_DBG_FORCE_VALID,
TM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 17 };
static struct block_defs block_dorq_defs = {
- "dorq", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCY },
+ "dorq", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCY, DBG_BUS_CLIENT_RBCY },
DORQ_REG_DBG_SELECT, DORQ_REG_DBG_DWORD_ENABLE,
DORQ_REG_DBG_SHIFT, DORQ_REG_DBG_FORCE_VALID,
DORQ_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 18 };
static struct block_defs block_brb_defs = {
- "brb", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCR, DBG_BUS_CLIENT_RBCR },
+ "brb", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCR, DBG_BUS_CLIENT_RBCR, DBG_BUS_CLIENT_RBCR },
BRB_REG_DBG_SELECT, BRB_REG_DBG_DWORD_ENABLE,
BRB_REG_DBG_SHIFT, BRB_REG_DBG_FORCE_VALID,
BRB_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 0 };
static struct block_defs block_src_defs = {
- "src", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF },
+ "src", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF },
SRC_REG_DBG_SELECT, SRC_REG_DBG_DWORD_ENABLE,
SRC_REG_DBG_SHIFT, SRC_REG_DBG_FORCE_VALID,
SRC_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 2 };
static struct block_defs block_prs_defs = {
- "prs", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCR, DBG_BUS_CLIENT_RBCR },
+ "prs", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCR, DBG_BUS_CLIENT_RBCR, DBG_BUS_CLIENT_RBCR },
PRS_REG_DBG_SELECT, PRS_REG_DBG_DWORD_ENABLE,
PRS_REG_DBG_SHIFT, PRS_REG_DBG_FORCE_VALID,
PRS_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 1 };
static struct block_defs block_tsdm_defs = {
- "tsdm", { true, true }, true, DBG_TSTORM_ID,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT },
+ "tsdm", { true, true, true }, true, DBG_TSTORM_ID,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT },
TSDM_REG_DBG_SELECT, TSDM_REG_DBG_DWORD_ENABLE,
TSDM_REG_DBG_SHIFT, TSDM_REG_DBG_FORCE_VALID,
TSDM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 3 };
static struct block_defs block_msdm_defs = {
- "msdm", { true, true }, true, DBG_MSTORM_ID,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM },
+ "msdm", { true, true, true }, true, DBG_MSTORM_ID,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM, DBG_BUS_CLIENT_RBCM },
MSDM_REG_DBG_SELECT, MSDM_REG_DBG_DWORD_ENABLE,
MSDM_REG_DBG_SHIFT, MSDM_REG_DBG_FORCE_VALID,
MSDM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 6 };
static struct block_defs block_usdm_defs = {
- "usdm", { true, true }, true, DBG_USTORM_ID,
- { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU },
+ "usdm", { true, true, true }, true, DBG_USTORM_ID,
+ { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU },
USDM_REG_DBG_SELECT, USDM_REG_DBG_DWORD_ENABLE,
USDM_REG_DBG_SHIFT, USDM_REG_DBG_FORCE_VALID,
USDM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 7
};
static struct block_defs block_xsdm_defs = {
- "xsdm", { true, true }, true, DBG_XSTORM_ID,
- { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX },
+ "xsdm", { true, true, true }, true, DBG_XSTORM_ID,
+ { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX },
XSDM_REG_DBG_SELECT, XSDM_REG_DBG_DWORD_ENABLE,
XSDM_REG_DBG_SHIFT, XSDM_REG_DBG_FORCE_VALID,
XSDM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 20 };
static struct block_defs block_ysdm_defs = {
- "ysdm", { true, true }, true, DBG_YSTORM_ID,
- { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCY },
+ "ysdm", { true, true, true }, true, DBG_YSTORM_ID,
+ { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCY, DBG_BUS_CLIENT_RBCY },
YSDM_REG_DBG_SELECT, YSDM_REG_DBG_DWORD_ENABLE,
YSDM_REG_DBG_SHIFT, YSDM_REG_DBG_FORCE_VALID,
YSDM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 8 };
static struct block_defs block_psdm_defs = {
- "psdm", { true, true }, true, DBG_PSTORM_ID,
- { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS },
+ "psdm", { true, true, true }, true, DBG_PSTORM_ID,
+ { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS },
PSDM_REG_DBG_SELECT, PSDM_REG_DBG_DWORD_ENABLE,
PSDM_REG_DBG_SHIFT, PSDM_REG_DBG_FORCE_VALID,
PSDM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 7 };
static struct block_defs block_tsem_defs = {
- "tsem", { true, true }, true, DBG_TSTORM_ID,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT },
+ "tsem", { true, true, true }, true, DBG_TSTORM_ID,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT },
TSEM_REG_DBG_SELECT, TSEM_REG_DBG_DWORD_ENABLE,
TSEM_REG_DBG_SHIFT, TSEM_REG_DBG_FORCE_VALID,
TSEM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 4 };
static struct block_defs block_msem_defs = {
- "msem", { true, true }, true, DBG_MSTORM_ID,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM },
+ "msem", { true, true, true }, true, DBG_MSTORM_ID,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM, DBG_BUS_CLIENT_RBCM },
MSEM_REG_DBG_SELECT, MSEM_REG_DBG_DWORD_ENABLE,
MSEM_REG_DBG_SHIFT, MSEM_REG_DBG_FORCE_VALID,
MSEM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 9 };
static struct block_defs block_usem_defs = {
- "usem", { true, true }, true, DBG_USTORM_ID,
- { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU },
+ "usem", { true, true, true }, true, DBG_USTORM_ID,
+ { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU },
USEM_REG_DBG_SELECT, USEM_REG_DBG_DWORD_ENABLE,
USEM_REG_DBG_SHIFT, USEM_REG_DBG_FORCE_VALID,
USEM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 9 };
static struct block_defs block_xsem_defs = {
- "xsem", { true, true }, true, DBG_XSTORM_ID,
- { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX },
+ "xsem", { true, true, true }, true, DBG_XSTORM_ID,
+ { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX },
XSEM_REG_DBG_SELECT, XSEM_REG_DBG_DWORD_ENABLE,
XSEM_REG_DBG_SHIFT, XSEM_REG_DBG_FORCE_VALID,
XSEM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 21 };
static struct block_defs block_ysem_defs = {
- "ysem", { true, true }, true, DBG_YSTORM_ID,
- { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCY },
+ "ysem", { true, true, true }, true, DBG_YSTORM_ID,
+ { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCY, DBG_BUS_CLIENT_RBCY },
YSEM_REG_DBG_SELECT, YSEM_REG_DBG_DWORD_ENABLE,
YSEM_REG_DBG_SHIFT, YSEM_REG_DBG_FORCE_VALID,
YSEM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 11 };
static struct block_defs block_psem_defs = {
- "psem", { true, true }, true, DBG_PSTORM_ID,
- { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS },
+ "psem", { true, true, true }, true, DBG_PSTORM_ID,
+ { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS },
PSEM_REG_DBG_SELECT, PSEM_REG_DBG_DWORD_ENABLE,
PSEM_REG_DBG_SHIFT, PSEM_REG_DBG_FORCE_VALID,
PSEM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 10 };
static struct block_defs block_rss_defs = {
- "rss", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT },
+ "rss", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCT },
RSS_REG_DBG_SELECT, RSS_REG_DBG_DWORD_ENABLE,
RSS_REG_DBG_SHIFT, RSS_REG_DBG_FORCE_VALID,
RSS_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 18 };
static struct block_defs block_tmld_defs = {
- "tmld", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM },
+ "tmld", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM, DBG_BUS_CLIENT_RBCM },
TMLD_REG_DBG_SELECT, TMLD_REG_DBG_DWORD_ENABLE,
TMLD_REG_DBG_SHIFT, TMLD_REG_DBG_FORCE_VALID,
TMLD_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 13 };
static struct block_defs block_muld_defs = {
- "muld", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU },
+ "muld", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU },
MULD_REG_DBG_SELECT, MULD_REG_DBG_DWORD_ENABLE,
MULD_REG_DBG_SHIFT, MULD_REG_DBG_FORCE_VALID,
MULD_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 14 };
static struct block_defs block_yuld_defs = {
- "yuld", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU },
+ "yuld", { true, true, false }, false, 0,
+ { DBG_BUS_CLIENT_RBCU, DBG_BUS_CLIENT_RBCU, MAX_DBG_BUS_CLIENTS },
YULD_REG_DBG_SELECT_BB_K2, YULD_REG_DBG_DWORD_ENABLE_BB_K2,
YULD_REG_DBG_SHIFT_BB_K2, YULD_REG_DBG_FORCE_VALID_BB_K2,
YULD_REG_DBG_FORCE_FRAME_BB_K2,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 15 };
static struct block_defs block_xyld_defs = {
- "xyld", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX },
+ "xyld", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX, DBG_BUS_CLIENT_RBCX },
XYLD_REG_DBG_SELECT, XYLD_REG_DBG_DWORD_ENABLE,
XYLD_REG_DBG_SHIFT, XYLD_REG_DBG_FORCE_VALID,
XYLD_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 12 };
static struct block_defs block_prm_defs = {
- "prm", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM },
+ "prm", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM, DBG_BUS_CLIENT_RBCM },
PRM_REG_DBG_SELECT, PRM_REG_DBG_DWORD_ENABLE,
PRM_REG_DBG_SHIFT, PRM_REG_DBG_FORCE_VALID,
PRM_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 21 };
static struct block_defs block_pbf_pb1_defs = {
- "pbf_pb1", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCV },
+ "pbf_pb1", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCV, DBG_BUS_CLIENT_RBCV },
PBF_PB1_REG_DBG_SELECT, PBF_PB1_REG_DBG_DWORD_ENABLE,
PBF_PB1_REG_DBG_SHIFT, PBF_PB1_REG_DBG_FORCE_VALID,
PBF_PB1_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 11 };
static struct block_defs block_pbf_pb2_defs = {
- "pbf_pb2", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCV },
+ "pbf_pb2", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCV, DBG_BUS_CLIENT_RBCV },
PBF_PB2_REG_DBG_SELECT, PBF_PB2_REG_DBG_DWORD_ENABLE,
PBF_PB2_REG_DBG_SHIFT, PBF_PB2_REG_DBG_FORCE_VALID,
PBF_PB2_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 12 };
static struct block_defs block_rpb_defs = {
- "rpb", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM },
+ "rpb", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM, DBG_BUS_CLIENT_RBCM },
RPB_REG_DBG_SELECT, RPB_REG_DBG_DWORD_ENABLE,
RPB_REG_DBG_SHIFT, RPB_REG_DBG_FORCE_VALID,
RPB_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 13 };
static struct block_defs block_btb_defs = {
- "btb", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCR, DBG_BUS_CLIENT_RBCV },
+ "btb", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCR, DBG_BUS_CLIENT_RBCV, DBG_BUS_CLIENT_RBCV },
BTB_REG_DBG_SELECT, BTB_REG_DBG_DWORD_ENABLE,
BTB_REG_DBG_SHIFT, BTB_REG_DBG_FORCE_VALID,
BTB_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 10 };
static struct block_defs block_pbf_defs = {
- "pbf", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCV },
+ "pbf", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCV, DBG_BUS_CLIENT_RBCV },
PBF_REG_DBG_SELECT, PBF_REG_DBG_DWORD_ENABLE,
PBF_REG_DBG_SHIFT, PBF_REG_DBG_FORCE_VALID,
PBF_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 15 };
static struct block_defs block_rdif_defs = {
- "rdif", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM },
+ "rdif", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCT, DBG_BUS_CLIENT_RBCM, DBG_BUS_CLIENT_RBCM },
RDIF_REG_DBG_SELECT, RDIF_REG_DBG_DWORD_ENABLE,
RDIF_REG_DBG_SHIFT, RDIF_REG_DBG_FORCE_VALID,
RDIF_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 16 };
static struct block_defs block_tdif_defs = {
- "tdif", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS },
+ "tdif", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS, DBG_BUS_CLIENT_RBCS },
TDIF_REG_DBG_SELECT, TDIF_REG_DBG_DWORD_ENABLE,
TDIF_REG_DBG_SHIFT, TDIF_REG_DBG_FORCE_VALID,
TDIF_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 17 };
static struct block_defs block_cdu_defs = {
- "cdu", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF },
+ "cdu", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF },
CDU_REG_DBG_SELECT, CDU_REG_DBG_DWORD_ENABLE,
CDU_REG_DBG_SHIFT, CDU_REG_DBG_FORCE_VALID,
CDU_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 23 };
static struct block_defs block_ccfc_defs = {
- "ccfc", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF },
+ "ccfc", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF },
CCFC_REG_DBG_SELECT, CCFC_REG_DBG_DWORD_ENABLE,
CCFC_REG_DBG_SHIFT, CCFC_REG_DBG_FORCE_VALID,
CCFC_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 24 };
static struct block_defs block_tcfc_defs = {
- "tcfc", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF },
+ "tcfc", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF, DBG_BUS_CLIENT_RBCF },
TCFC_REG_DBG_SELECT, TCFC_REG_DBG_DWORD_ENABLE,
TCFC_REG_DBG_SHIFT, TCFC_REG_DBG_FORCE_VALID,
TCFC_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 25 };
static struct block_defs block_igu_defs = {
- "igu", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "igu", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
IGU_REG_DBG_SELECT, IGU_REG_DBG_DWORD_ENABLE,
IGU_REG_DBG_SHIFT, IGU_REG_DBG_FORCE_VALID,
IGU_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 27 };
static struct block_defs block_cau_defs = {
- "cau", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
+ "cau", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP, DBG_BUS_CLIENT_RBCP },
CAU_REG_DBG_SELECT, CAU_REG_DBG_DWORD_ENABLE,
CAU_REG_DBG_SHIFT, CAU_REG_DBG_FORCE_VALID,
CAU_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 19 };
static struct block_defs block_umac_defs = {
- "umac", { false, true }, false, 0,
- { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCZ },
+ "umac", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCZ },
UMAC_REG_DBG_SELECT_K2_E5, UMAC_REG_DBG_DWORD_ENABLE_K2_E5,
UMAC_REG_DBG_SHIFT_K2_E5, UMAC_REG_DBG_FORCE_VALID_K2_E5,
UMAC_REG_DBG_FORCE_FRAME_K2_E5,
true, false, DBG_RESET_REG_MISCS_PL_HV, 6 };
static struct block_defs block_xmac_defs = {
- "xmac", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "xmac", { true, false, false }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
false, false, MAX_DBG_RESET_REGS, 0 };
static struct block_defs block_dbg_defs = {
- "dbg", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "dbg", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
true, true, DBG_RESET_REG_MISC_PL_PDA_VAUX, 3 };
static struct block_defs block_nig_defs = {
- "nig", { true, true }, false, 0,
- { DBG_BUS_CLIENT_RBCN, DBG_BUS_CLIENT_RBCN },
+ "nig", { true, true, true }, false, 0,
+ { DBG_BUS_CLIENT_RBCN, DBG_BUS_CLIENT_RBCN, DBG_BUS_CLIENT_RBCN },
NIG_REG_DBG_SELECT, NIG_REG_DBG_DWORD_ENABLE,
NIG_REG_DBG_SHIFT, NIG_REG_DBG_FORCE_VALID,
NIG_REG_DBG_FORCE_FRAME,
true, true, DBG_RESET_REG_MISC_PL_PDA_VAUX, 0 };
static struct block_defs block_wol_defs = {
- "wol", { false, true }, false, 0,
- { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCZ },
+ "wol", { false, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCZ },
WOL_REG_DBG_SELECT_K2_E5, WOL_REG_DBG_DWORD_ENABLE_K2_E5,
WOL_REG_DBG_SHIFT_K2_E5, WOL_REG_DBG_FORCE_VALID_K2_E5,
WOL_REG_DBG_FORCE_FRAME_K2_E5,
true, true, DBG_RESET_REG_MISC_PL_PDA_VAUX, 7 };
static struct block_defs block_bmbn_defs = {
- "bmbn", { false, true }, false, 0,
- { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCB },
+ "bmbn", { false, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCB, DBG_BUS_CLIENT_RBCB },
BMBN_REG_DBG_SELECT_K2_E5, BMBN_REG_DBG_DWORD_ENABLE_K2_E5,
BMBN_REG_DBG_SHIFT_K2_E5, BMBN_REG_DBG_FORCE_VALID_K2_E5,
BMBN_REG_DBG_FORCE_FRAME_K2_E5,
false, false, MAX_DBG_RESET_REGS, 0 };
static struct block_defs block_ipc_defs = {
- "ipc", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "ipc", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
true, false, DBG_RESET_REG_MISCS_PL_UA, 8 };
static struct block_defs block_nwm_defs = {
- "nwm", { false, true }, false, 0,
- { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCW },
+ "nwm", { false, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCW, DBG_BUS_CLIENT_RBCW },
NWM_REG_DBG_SELECT_K2_E5, NWM_REG_DBG_DWORD_ENABLE_K2_E5,
NWM_REG_DBG_SHIFT_K2_E5, NWM_REG_DBG_FORCE_VALID_K2_E5,
NWM_REG_DBG_FORCE_FRAME_K2_E5,
true, false, DBG_RESET_REG_MISCS_PL_HV_2, 0 };
static struct block_defs block_nws_defs = {
- "nws", { false, true }, false, 0,
- { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCW },
+ "nws", { false, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCW, DBG_BUS_CLIENT_RBCW },
NWS_REG_DBG_SELECT_K2_E5, NWS_REG_DBG_DWORD_ENABLE_K2_E5,
NWS_REG_DBG_SHIFT_K2_E5, NWS_REG_DBG_FORCE_VALID_K2_E5,
NWS_REG_DBG_FORCE_FRAME_K2_E5,
true, false, DBG_RESET_REG_MISCS_PL_HV, 12 };
static struct block_defs block_ms_defs = {
- "ms", { false, true }, false, 0,
- { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCZ },
+ "ms", { false, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCZ, DBG_BUS_CLIENT_RBCZ },
MS_REG_DBG_SELECT_K2_E5, MS_REG_DBG_DWORD_ENABLE_K2_E5,
MS_REG_DBG_SHIFT_K2_E5, MS_REG_DBG_FORCE_VALID_K2_E5,
MS_REG_DBG_FORCE_FRAME_K2_E5,
true, false, DBG_RESET_REG_MISCS_PL_HV, 13 };
static struct block_defs block_phy_pcie_defs = {
- "phy_pcie", { false, true }, false, 0,
- { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCH },
+ "phy_pcie", { false, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCH, DBG_BUS_CLIENT_RBCH },
PCIE_REG_DBG_COMMON_SELECT_K2_E5, PCIE_REG_DBG_COMMON_DWORD_ENABLE_K2_E5,
PCIE_REG_DBG_COMMON_SHIFT_K2_E5, PCIE_REG_DBG_COMMON_FORCE_VALID_K2_E5,
PCIE_REG_DBG_COMMON_FORCE_FRAME_K2_E5,
false, false, MAX_DBG_RESET_REGS, 0 };
static struct block_defs block_led_defs = {
- "led", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "led", { false, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
true, false, DBG_RESET_REG_MISCS_PL_HV, 14 };
static struct block_defs block_avs_wrap_defs = {
- "avs_wrap", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "avs_wrap", { false, true, false }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
true, false, DBG_RESET_REG_MISCS_PL_UA, 11 };
+/* TODO: add debug bus parameters when E5 RGFS RF is added */
static struct block_defs block_rgfs_defs = {
- "rgfs", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "rgfs", { false, false, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
- false, false, MAX_DBG_RESET_REGS, 0 };
+ true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 29 };
static struct block_defs block_rgsrc_defs = {
- "rgsrc", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
- 0, 0, 0, 0, 0,
- false, false, MAX_DBG_RESET_REGS, 0 };
-
+ "rgsrc", { false, false, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCH },
+ RGSRC_REG_DBG_SELECT_E5, RGSRC_REG_DBG_DWORD_ENABLE_E5,
+ RGSRC_REG_DBG_SHIFT_E5, RGSRC_REG_DBG_FORCE_VALID_E5,
+ RGSRC_REG_DBG_FORCE_FRAME_E5,
+ true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 30 };
+
+/* TODO: add debug bus parameters when E5 TGFS RF is added */
static struct block_defs block_tgfs_defs = {
- "tgfs", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "tgfs", { false, false, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
- false, false, MAX_DBG_RESET_REGS, 0 };
+ true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 30 };
static struct block_defs block_tgsrc_defs = {
- "tgsrc", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
- 0, 0, 0, 0, 0,
- false, false, MAX_DBG_RESET_REGS, 0 };
+ "tgsrc", { false, false, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCV },
+ TGSRC_REG_DBG_SELECT_E5, TGSRC_REG_DBG_DWORD_ENABLE_E5,
+ TGSRC_REG_DBG_SHIFT_E5, TGSRC_REG_DBG_FORCE_VALID_E5,
+ TGSRC_REG_DBG_FORCE_FRAME_E5,
+ true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_1, 31 };
static struct block_defs block_ptld_defs = {
- "ptld", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
- 0, 0, 0, 0, 0,
- false, false, MAX_DBG_RESET_REGS, 0 };
+ "ptld", { false, false, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCT },
+ PTLD_REG_DBG_SELECT_E5, PTLD_REG_DBG_DWORD_ENABLE_E5,
+ PTLD_REG_DBG_SHIFT_E5, PTLD_REG_DBG_FORCE_VALID_E5,
+ PTLD_REG_DBG_FORCE_FRAME_E5,
+ true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 28 };
static struct block_defs block_ypld_defs = {
- "ypld", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
- 0, 0, 0, 0, 0,
- false, false, MAX_DBG_RESET_REGS, 0 };
+ "ypld", { false, false, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, DBG_BUS_CLIENT_RBCS },
+ YPLD_REG_DBG_SELECT_E5, YPLD_REG_DBG_DWORD_ENABLE_E5,
+ YPLD_REG_DBG_SHIFT_E5, YPLD_REG_DBG_FORCE_VALID_E5,
+ YPLD_REG_DBG_FORCE_FRAME_E5,
+ true, true, DBG_RESET_REG_MISC_PL_PDA_VMAIN_2, 27 };
static struct block_defs block_misc_aeu_defs = {
- "misc_aeu", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "misc_aeu", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
false, false, MAX_DBG_RESET_REGS, 0 };
static struct block_defs block_bar0_map_defs = {
- "bar0_map", { false, false }, false, 0,
- { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
+ "bar0_map", { true, true, true }, false, 0,
+ { MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS, MAX_DBG_BUS_CLIENTS },
0, 0, 0, 0, 0,
false, false, MAX_DBG_RESET_REGS, 0 };
@@ -1557,149 +1580,144 @@ static struct platform_defs s_platform_defs[] = {
static struct grc_param_defs s_grc_param_defs[] = {
/* DBG_GRC_PARAM_DUMP_TSTORM */
- { { 1, 1 }, 0, 1, false, 1, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 1, 1 },
/* DBG_GRC_PARAM_DUMP_MSTORM */
- { { 1, 1 }, 0, 1, false, 1, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 1, 1 },
/* DBG_GRC_PARAM_DUMP_USTORM */
- { { 1, 1 }, 0, 1, false, 1, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 1, 1 },
/* DBG_GRC_PARAM_DUMP_XSTORM */
- { { 1, 1 }, 0, 1, false, 1, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 1, 1 },
/* DBG_GRC_PARAM_DUMP_YSTORM */
- { { 1, 1 }, 0, 1, false, 1, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 1, 1 },
/* DBG_GRC_PARAM_DUMP_PSTORM */
- { { 1, 1 }, 0, 1, false, 1, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 1, 1 },
/* DBG_GRC_PARAM_DUMP_REGS */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_RAM */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_PBUF */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_IOR */
- { { 0, 0 }, 0, 1, false, 0, 1 },
+ { { 0, 0, 0 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_VFC */
- { { 0, 0 }, 0, 1, false, 0, 1 },
+ { { 0, 0, 0 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_CM_CTX */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_ILT */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_RSS */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_CAU */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_QM */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_MCP */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_RESERVED */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_CFC */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_IGU */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_BRB */
- { { 0, 0 }, 0, 1, false, 0, 1 },
+ { { 0, 0, 0 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_BTB */
- { { 0, 0 }, 0, 1, false, 0, 1 },
+ { { 0, 0, 0 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_BMB */
- { { 0, 0 }, 0, 1, false, 0, 1 },
+ { { 0, 0, 0 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_NIG */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_MULD */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_PRS */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_DMAE */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_TM */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_SDM */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_DIF */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_STATIC */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_UNSTALL */
- { { 0, 0 }, 0, 1, false, 0, 0 },
+ { { 0, 0, 0 }, 0, 1, false, 0, 0 },
/* DBG_GRC_PARAM_NUM_LCIDS */
- { { MAX_LCIDS, MAX_LCIDS }, 1, MAX_LCIDS, false, MAX_LCIDS, MAX_LCIDS },
+ { { MAX_LCIDS, MAX_LCIDS, MAX_LCIDS }, 1, MAX_LCIDS, false, MAX_LCIDS, MAX_LCIDS },
/* DBG_GRC_PARAM_NUM_LTIDS */
- { { MAX_LTIDS, MAX_LTIDS }, 1, MAX_LTIDS, false, MAX_LTIDS, MAX_LTIDS },
+ { { MAX_LTIDS, MAX_LTIDS, MAX_LTIDS }, 1, MAX_LTIDS, false, MAX_LTIDS, MAX_LTIDS },
/* DBG_GRC_PARAM_EXCLUDE_ALL */
- { { 0, 0 }, 0, 1, true, 0, 0 },
+ { { 0, 0, 0 }, 0, 1, true, 0, 0 },
/* DBG_GRC_PARAM_CRASH */
- { { 0, 0 }, 0, 1, true, 0, 0 },
+ { { 0, 0, 0 }, 0, 1, true, 0, 0 },
/* DBG_GRC_PARAM_PARITY_SAFE */
- { { 0, 0 }, 0, 1, false, 1, 0 },
+ { { 0, 0, 0 }, 0, 1, false, 1, 0 },
/* DBG_GRC_PARAM_DUMP_CM */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_DUMP_PHY */
- { { 1, 1 }, 0, 1, false, 0, 1 },
+ { { 1, 1, 1 }, 0, 1, false, 0, 1 },
/* DBG_GRC_PARAM_NO_MCP */
- { { 0, 0 }, 0, 1, false, 0, 0 },
+ { { 0, 0, 0 }, 0, 1, false, 0, 0 },
/* DBG_GRC_PARAM_NO_FW_VER */
- { { 0, 0 }, 0, 1, false, 0, 0 }
+ { { 0, 0, 0 }, 0, 1, false, 0, 0 }
};
static struct rss_mem_defs s_rss_mem_defs[] = {
- { "rss_mem_cid", "rss_cid", 0,
- { 256, 320 },
- { 32, 32 } },
+ { "rss_mem_cid", "rss_cid", 0, 32,
+ { 256, 320, 512 } },
- { "rss_mem_key_msb", "rss_key", 1024,
- { 128, 208 },
- { 256, 256 } },
+ { "rss_mem_key_msb", "rss_key", 1024, 256,
+ { 128, 208, 257 } },
- { "rss_mem_key_lsb", "rss_key", 2048,
- { 128, 208 },
- { 64, 64 } },
+ { "rss_mem_key_lsb", "rss_key", 2048, 64,
+ { 128, 208, 257 } },
- { "rss_mem_info", "rss_info", 3072,
- { 128, 208 },
- { 16, 16 } },
+ { "rss_mem_info", "rss_info", 3072, 16,
+ { 128, 208, 256 } },
- { "rss_mem_ind", "rss_ind", 4096,
- { 16384, 26624 },
- { 16, 16 } }
+ { "rss_mem_ind", "rss_ind", 4096, 16,
+ { 16384, 26624, 32768 } }
};
static struct vfc_ram_defs s_vfc_ram_defs[] = {
@@ -1711,40 +1729,40 @@ static struct vfc_ram_defs s_vfc_ram_defs[] = {
static struct big_ram_defs s_big_ram_defs[] = {
{ "BRB", MEM_GROUP_BRB_MEM, MEM_GROUP_BRB_RAM, DBG_GRC_PARAM_DUMP_BRB, BRB_REG_BIG_RAM_ADDRESS, BRB_REG_BIG_RAM_DATA,
- { 4800, 5632 } },
+ { 4800, 5632, 4416 } },
{ "BTB", MEM_GROUP_BTB_MEM, MEM_GROUP_BTB_RAM, DBG_GRC_PARAM_DUMP_BTB, BTB_REG_BIG_RAM_ADDRESS, BTB_REG_BIG_RAM_DATA,
- { 2880, 3680 } },
+ { 2880, 3680, 2640 } },
{ "BMB", MEM_GROUP_BMB_MEM, MEM_GROUP_BMB_RAM, DBG_GRC_PARAM_DUMP_BMB, BMB_REG_BIG_RAM_ADDRESS, BMB_REG_BIG_RAM_DATA,
- { 1152, 1152 } }
+ { 1152, 1152, 1152 } }
};
static struct reset_reg_defs s_reset_regs_defs[] = {
/* DBG_RESET_REG_MISCS_PL_UA */
- { MISCS_REG_RESET_PL_UA, 0x0, { true, true } },
+ { MISCS_REG_RESET_PL_UA, { true, true, true }, { 0x0, 0x0, 0x0 } },
/* DBG_RESET_REG_MISCS_PL_HV */
- { MISCS_REG_RESET_PL_HV, 0x0, { true, true } },
+ { MISCS_REG_RESET_PL_HV, { true, true, true }, { 0x0, 0x400, 0x600 } },
/* DBG_RESET_REG_MISCS_PL_HV_2 */
- { MISCS_REG_RESET_PL_HV_2_K2_E5, 0x0, { false, true } },
+ { MISCS_REG_RESET_PL_HV_2_K2_E5, { false, true, true }, { 0x0, 0x0, 0x0 } },
/* DBG_RESET_REG_MISC_PL_UA */
- { MISC_REG_RESET_PL_UA, 0x0, { true, true } },
+ { MISC_REG_RESET_PL_UA, { true, true, true }, { 0x0, 0x0, 0x0 } },
/* DBG_RESET_REG_MISC_PL_HV */
- { MISC_REG_RESET_PL_HV, 0x0, { true, true } },
+ { MISC_REG_RESET_PL_HV, { true, true, true }, { 0x0, 0x0, 0x0 } },
/* DBG_RESET_REG_MISC_PL_PDA_VMAIN_1 */
- { MISC_REG_RESET_PL_PDA_VMAIN_1, 0x4404040, { true, true } },
+ { MISC_REG_RESET_PL_PDA_VMAIN_1, { true, true, true }, { 0x4404040, 0x4404040, 0x404040 } },
/* DBG_RESET_REG_MISC_PL_PDA_VMAIN_2 */
- { MISC_REG_RESET_PL_PDA_VMAIN_2, 0x7c00007, { true, true } },
+ { MISC_REG_RESET_PL_PDA_VMAIN_2, { true, true, true }, { 0x7, 0x7c00007, 0x5c08007 } },
/* DBG_RESET_REG_MISC_PL_PDA_VAUX */
- { MISC_REG_RESET_PL_PDA_VAUX, 0x2, { true, true } },
+ { MISC_REG_RESET_PL_PDA_VAUX, { true, true, true }, { 0x2, 0x2, 0x2 } },
};
static struct phy_defs s_phy_defs[] = {
@@ -1841,7 +1859,11 @@ static enum dbg_status ecore_dbg_dev_init(struct ecore_hwfn *p_hwfn,
if (!s_app_ver)
return DBG_STATUS_APP_VERSION_NOT_SET;
- if (ECORE_IS_K2(p_hwfn->p_dev)) {
+ if (ECORE_IS_E5(p_hwfn->p_dev)) {
+ dev_data->chip_id = CHIP_E5;
+ dev_data->mode_enable[MODE_E5] = 1;
+ }
+ else if (ECORE_IS_K2(p_hwfn->p_dev)) {
dev_data->chip_id = CHIP_K2;
dev_data->mode_enable[MODE_K2] = 1;
}
@@ -2099,11 +2121,8 @@ static u32 ecore_dump_mfw_ver_param(struct ecore_hwfn *p_hwfn,
{
struct dbg_tools_data *dev_data = &p_hwfn->dbg_info;
char mfw_ver_str[16] = EMPTY_FW_VERSION_STR;
- bool is_emul;
- is_emul = dev_data->platform_id == PLATFORM_EMUL_FULL || dev_data->platform_id == PLATFORM_EMUL_REDUCED;
-
- if (dump && !is_emul && !ecore_grc_get_param(p_hwfn, DBG_GRC_PARAM_NO_FW_VER)) {
+ if (dump && dev_data->platform_id == PLATFORM_ASIC && !ecore_grc_get_param(p_hwfn, DBG_GRC_PARAM_NO_FW_VER)) {
u32 public_data_addr, global_section_offsize_addr, global_section_offsize, global_section_addr, mfw_ver;
/* Find MCP public data GRC address. Needs to be ORed with
@@ -2169,10 +2188,7 @@ static u32 ecore_dump_common_global_params(struct ecore_hwfn *p_hwfn,
/* Writes the "last" section (including CRC) to the specified buffer at the
* given offset. Returns the dumped size in dwords.
*/
-static u32 ecore_dump_last_section(struct ecore_hwfn *p_hwfn,
- u32 *dump_buf,
- u32 offset,
- bool dump)
+static u32 ecore_dump_last_section(u32 *dump_buf, u32 offset, bool dump)
{
u32 start_offset = offset;
@@ -2389,7 +2405,7 @@ static enum dbg_status ecore_bus_disable_inputs(struct ecore_hwfn *p_hwfn,
for (block_id = 0; block_id < MAX_BLOCK_ID; block_id++) {
struct block_defs *block = s_block_defs[block_id];
- if (block->has_dbg_bus[dev_data->chip_id] && !dev_data->block_in_reset[block_id])
+ if (block->dbg_client_id[dev_data->chip_id] != MAX_DBG_BUS_CLIENTS && !dev_data->block_in_reset[block_id])
ecore_wr(p_hwfn, p_ptt, block->dbg_enable_addr, 0);
}
@@ -2771,7 +2787,7 @@ static bool ecore_grc_is_mem_included(struct ecore_hwfn *p_hwfn,
case MEM_GROUP_CFC_MEM:
case MEM_GROUP_CONN_CFC_MEM:
case MEM_GROUP_TASK_CFC_MEM:
- return ecore_grc_is_included(p_hwfn, DBG_GRC_PARAM_DUMP_CFC);
+ return ecore_grc_is_included(p_hwfn, DBG_GRC_PARAM_DUMP_CFC) || ecore_grc_is_included(p_hwfn, DBG_GRC_PARAM_DUMP_CM_CTX);
case MEM_GROUP_IGU_MEM:
case MEM_GROUP_IGU_MSIX:
return ecore_grc_is_included(p_hwfn, DBG_GRC_PARAM_DUMP_IGU);
@@ -2828,7 +2844,7 @@ static void ecore_grc_unreset_blocks(struct ecore_hwfn *p_hwfn,
for (block_id = 0; block_id < MAX_BLOCK_ID; block_id++) {
struct block_defs *block = s_block_defs[block_id];
- if (block->has_reset_bit && block->unreset)
+ if (block->exists[dev_data->chip_id] && block->has_reset_bit && block->unreset)
reg_val[block->reset_reg] |= (1 << block->reset_bit_offset);
}
@@ -2837,7 +2853,7 @@ static void ecore_grc_unreset_blocks(struct ecore_hwfn *p_hwfn,
if (!s_reset_regs_defs[i].exists[dev_data->chip_id])
continue;
- reg_val[i] |= s_reset_regs_defs[i].unreset_val;
+ reg_val[i] |= s_reset_regs_defs[i].unreset_val[dev_data->chip_id];
if (reg_val[i])
ecore_wr(p_hwfn, p_ptt, s_reset_regs_defs[i].addr + RESET_REG_UNRESET_OFFSET, reg_val[i]);
@@ -2931,12 +2947,12 @@ static u32 ecore_grc_dump_regs_hdr(u32 *dump_buf,
* The addr and len arguments are specified in dwords.
*/
static u32 ecore_grc_dump_addr_range(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u32 *dump_buf,
- bool dump,
- u32 addr,
- u32 len,
- bool wide_bus)
+ struct ecore_ptt *p_ptt,
+ u32 *dump_buf,
+ bool dump,
+ u32 addr,
+ u32 len,
+ bool OSAL_UNUSED wide_bus)
{
u32 byte_addr = DWORDS_TO_BYTES(addr), offset = 0, i;
@@ -2967,12 +2983,12 @@ static u32 ecore_grc_dump_reg_entry_hdr(u32 *dump_buf,
* The addr and len arguments are specified in dwords.
*/
static u32 ecore_grc_dump_reg_entry(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u32 *dump_buf,
- bool dump,
- u32 addr,
- u32 len,
- bool wide_bus)
+ struct ecore_ptt *p_ptt,
+ u32 *dump_buf,
+ bool dump,
+ u32 addr,
+ u32 len,
+ bool OSAL_UNUSED wide_bus)
{
u32 offset = 0;
@@ -3059,9 +3075,9 @@ static u32 ecore_grc_dump_regs_entries(struct ecore_hwfn *p_hwfn,
const struct dbg_dump_reg *reg = (const struct dbg_dump_reg*)&input_regs_arr.ptr[input_offset];
offset += ecore_grc_dump_reg_entry(p_hwfn, p_ptt, dump_buf + offset, dump,
- GET_FIELD(reg->data, DBG_DUMP_REG_ADDRESS),
- GET_FIELD(reg->data, DBG_DUMP_REG_LENGTH),
- GET_FIELD(reg->data, DBG_DUMP_REG_WIDE_BUS));
+ GET_FIELD(reg->data, DBG_DUMP_REG_ADDRESS),
+ GET_FIELD(reg->data, DBG_DUMP_REG_LENGTH),
+ GET_FIELD(reg->data, DBG_DUMP_REG_WIDE_BUS));
(*num_dumped_reg_entries)++;
}
}
@@ -3376,18 +3392,18 @@ static u32 ecore_grc_dump_mem_hdr(struct ecore_hwfn *p_hwfn,
* The addr and len arguments are specified in dwords.
*/
static u32 ecore_grc_dump_mem(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u32 *dump_buf,
- bool dump,
- const char *name,
- u32 addr,
- u32 len,
- bool wide_bus,
- u32 bit_width,
- bool packed,
- const char *mem_group,
- bool is_storm,
- char storm_letter)
+ struct ecore_ptt *p_ptt,
+ u32 *dump_buf,
+ bool dump,
+ const char *name,
+ u32 addr,
+ u32 len,
+ bool wide_bus,
+ u32 bit_width,
+ bool packed,
+ const char *mem_group,
+ bool is_storm,
+ char storm_letter)
{
u32 offset = 0;
@@ -3735,19 +3751,18 @@ static u32 ecore_grc_dump_rss(struct ecore_hwfn *p_hwfn,
u8 rss_mem_id;
for (rss_mem_id = 0; rss_mem_id < NUM_RSS_MEM_TYPES; rss_mem_id++) {
- u32 rss_addr, num_entries, entry_width, total_dwords, i;
+ u32 rss_addr, num_entries, total_dwords;
struct rss_mem_defs *rss_defs;
bool packed;
rss_defs = &s_rss_mem_defs[rss_mem_id];
rss_addr = rss_defs->addr;
num_entries = rss_defs->num_entries[dev_data->chip_id];
- entry_width = rss_defs->entry_width[dev_data->chip_id];
- total_dwords = (num_entries * entry_width) / 32;
- packed = (entry_width == 16);
+ total_dwords = (num_entries * rss_defs->entry_width) / 32;
+ packed = (rss_defs->entry_width == 16);
offset += ecore_grc_dump_mem_hdr(p_hwfn, dump_buf + offset, dump, rss_defs->mem_name, 0, total_dwords,
- entry_width, packed, rss_defs->type_name, false, 0);
+ rss_defs->entry_width, packed, rss_defs->type_name, false, 0);
/* Dump RSS data */
if (!dump) {
@@ -3755,9 +3770,12 @@ static u32 ecore_grc_dump_rss(struct ecore_hwfn *p_hwfn,
continue;
}
- for (i = 0; i < total_dwords; i += RSS_REG_RSS_RAM_DATA_SIZE, rss_addr++) {
+ while (total_dwords) {
+ u32 num_dwords_to_read = OSAL_MIN_T(u32, RSS_REG_RSS_RAM_DATA_SIZE, total_dwords);
ecore_wr(p_hwfn, p_ptt, RSS_REG_RSS_RAM_ADDR, rss_addr);
- offset += ecore_grc_dump_addr_range(p_hwfn, p_ptt, dump_buf + offset, dump, BYTES_TO_DWORDS(RSS_REG_RSS_RAM_DATA), RSS_REG_RSS_RAM_DATA_SIZE, false);
+ offset += ecore_grc_dump_addr_range(p_hwfn, p_ptt, dump_buf + offset, dump, BYTES_TO_DWORDS(RSS_REG_RSS_RAM_DATA), num_dwords_to_read, false);
+ total_dwords -= num_dwords_to_read;
+ rss_addr++;
}
}
@@ -3805,12 +3823,13 @@ static u32 ecore_grc_dump_mcp(struct ecore_hwfn *p_hwfn,
u32 *dump_buf,
bool dump)
{
+ struct dbg_tools_data *dev_data = &p_hwfn->dbg_info;
bool block_enable[MAX_BLOCK_ID] = { 0 };
bool halted = false;
u32 offset = 0;
/* Halt MCP */
- if (dump && !ecore_grc_get_param(p_hwfn, DBG_GRC_PARAM_NO_MCP)) {
+ if (dump && dev_data->platform_id == PLATFORM_ASIC && !ecore_grc_get_param(p_hwfn, DBG_GRC_PARAM_NO_MCP)) {
halted = !ecore_mcp_halt(p_hwfn, p_ptt);
if (!halted)
DP_NOTICE(p_hwfn, false, "MCP halt failed!\n");
@@ -3922,7 +3941,7 @@ static u32 ecore_grc_dump_static_debug(struct ecore_hwfn *p_hwfn,
for (block_id = 0; block_id < MAX_BLOCK_ID; block_id++) {
struct block_defs *block = s_block_defs[block_id];
- if (block->has_dbg_bus[dev_data->chip_id])
+ if (block->dbg_client_id[dev_data->chip_id] != MAX_DBG_BUS_CLIENTS)
ecore_wr(p_hwfn, p_ptt, block->dbg_enable_addr, 0);
}
@@ -3939,7 +3958,7 @@ static u32 ecore_grc_dump_static_debug(struct ecore_hwfn *p_hwfn,
struct dbg_bus_block *block_desc;
u32 block_dwords;
- if (!block->has_dbg_bus[dev_data->chip_id])
+ if (block->dbg_client_id[dev_data->chip_id] == MAX_DBG_BUS_CLIENTS)
continue;
block_desc = get_dbg_bus_block_desc(p_hwfn, (enum block_id)block_id);
@@ -3994,16 +4013,14 @@ static enum dbg_status ecore_grc_dump(struct ecore_hwfn *p_hwfn,
u32 *num_dumped_dwords)
{
struct dbg_tools_data *dev_data = &p_hwfn->dbg_info;
- bool is_emul, parities_masked = false;
+ bool is_asic, parities_masked = false;
u8 i, port_mode = 0;
u32 offset = 0;
- is_emul = dev_data->platform_id == PLATFORM_EMUL_FULL || dev_data->platform_id == PLATFORM_EMUL_REDUCED;
+ is_asic = dev_data->platform_id == PLATFORM_ASIC;
*num_dumped_dwords = 0;
- ;
-
if (dump) {
/* Find port mode */
@@ -4035,7 +4052,7 @@ static enum dbg_status ecore_grc_dump(struct ecore_hwfn *p_hwfn,
}
/* Disable all parities using MFW command */
- if (dump && !is_emul && !ecore_grc_get_param(p_hwfn, DBG_GRC_PARAM_NO_MCP)) {
+ if (dump && is_asic && !ecore_grc_get_param(p_hwfn, DBG_GRC_PARAM_NO_MCP)) {
parities_masked = !ecore_mcp_mask_parities(p_hwfn, p_ptt, 1);
if (!parities_masked) {
DP_NOTICE(p_hwfn, false, "Failed to mask parities using MFW\n");
@@ -4103,7 +4120,7 @@ static enum dbg_status ecore_grc_dump(struct ecore_hwfn *p_hwfn,
offset += ecore_grc_dump_static_debug(p_hwfn, p_ptt, dump_buf + offset, dump);
/* Dump last section */
- offset += ecore_dump_last_section(p_hwfn, dump_buf, offset, dump);
+ offset += ecore_dump_last_section(dump_buf, offset, dump);
if (dump) {
@@ -4112,7 +4129,7 @@ static enum dbg_status ecore_grc_dump(struct ecore_hwfn *p_hwfn,
ecore_grc_stall_storms(p_hwfn, p_ptt, false);
/* Clear parity status */
- if (!is_emul)
+ if (is_asic)
ecore_grc_clear_all_prty(p_hwfn, p_ptt);
/* Enable all parities using MFW command */
@@ -4122,8 +4139,6 @@ static enum dbg_status ecore_grc_dump(struct ecore_hwfn *p_hwfn,
*num_dumped_dwords = offset;
- ;
-
return DBG_STATUS_OK;
}
@@ -4291,18 +4306,20 @@ static u32 ecore_idle_chk_dump_rule_entries(struct ecore_hwfn *p_hwfn,
if (!check_rule && dump)
continue;
+ if (!dump) {
+ u32 entry_dump_size = ecore_idle_chk_dump_failure(p_hwfn, p_ptt, dump_buf + offset, false, rule->rule_id, rule, 0, OSAL_NULL);
+
+ offset += num_reg_entries * entry_dump_size;
+ (*num_failing_rules) += num_reg_entries;
+ continue;
+ }
+
/* Go over all register entries (number of entries is the same for all
* condition registers).
*/
for (entry_id = 0; entry_id < num_reg_entries; entry_id++) {
u32 next_reg_offset = 0;
- if (!dump) {
- offset += ecore_idle_chk_dump_failure(p_hwfn, p_ptt, dump_buf + offset, false, rule->rule_id, rule, entry_id, OSAL_NULL);
- (*num_failing_rules)++;
- break;
- }
-
/* Read current entry of all condition registers */
for (reg_id = 0; reg_id < rule->num_cond_regs; reg_id++) {
const struct dbg_idle_chk_cond_reg *reg = &cond_regs[reg_id];
@@ -4332,7 +4349,6 @@ static u32 ecore_idle_chk_dump_rule_entries(struct ecore_hwfn *p_hwfn,
if ((*cond_arr[rule->cond_id])(cond_reg_values, imm_values)) {
offset += ecore_idle_chk_dump_failure(p_hwfn, p_ptt, dump_buf + offset, dump, rule->rule_id, rule, entry_id, cond_reg_values);
(*num_failing_rules)++;
- break;
}
}
}
@@ -4385,7 +4401,7 @@ static u32 ecore_idle_chk_dump(struct ecore_hwfn *p_hwfn,
ecore_dump_num_param(dump_buf + num_failing_rules_offset, dump, "num_rules", num_failing_rules);
/* Dump last section */
- offset += ecore_dump_last_section(p_hwfn, dump_buf, offset, dump);
+ offset += ecore_dump_last_section(dump_buf, offset, dump);
return offset;
}
@@ -4438,7 +4454,7 @@ static enum dbg_status ecore_nvram_read(struct ecore_hwfn *p_hwfn,
bytes_to_copy = (bytes_left > MCP_DRV_NVM_BUF_LEN) ? MCP_DRV_NVM_BUF_LEN : bytes_left;
/* Call NVRAM read command */
- if (ecore_mcp_nvm_rd_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_NVM_READ_NVRAM, (nvram_offset_bytes + read_offset) | (bytes_to_copy << DRV_MB_PARAM_NVM_LEN_SHIFT), &ret_mcp_resp, &ret_mcp_param, &ret_read_size, (u32*)((u8*)ret_buf + read_offset)))
+ if (ecore_mcp_nvm_rd_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_NVM_READ_NVRAM, (nvram_offset_bytes + read_offset) | (bytes_to_copy << DRV_MB_PARAM_NVM_LEN_OFFSET), &ret_mcp_resp, &ret_mcp_param, &ret_read_size, (u32*)((u8*)ret_buf + read_offset)))
return DBG_STATUS_NVRAM_READ_FAILED;
/* Check response */
@@ -4560,6 +4576,7 @@ static enum dbg_status ecore_mcp_trace_dump(struct ecore_hwfn *p_hwfn,
{
u32 trace_meta_offset_bytes = 0, trace_meta_size_bytes = 0, trace_meta_size_dwords = 0;
u32 trace_data_grc_addr, trace_data_size_bytes, trace_data_size_dwords;
+ struct dbg_tools_data *dev_data = &p_hwfn->dbg_info;
u32 running_bundle_id, offset = 0;
enum dbg_status status;
bool mcp_access;
@@ -4567,7 +4584,7 @@ static enum dbg_status ecore_mcp_trace_dump(struct ecore_hwfn *p_hwfn,
*num_dumped_dwords = 0;
- mcp_access = !ecore_grc_get_param(p_hwfn, DBG_GRC_PARAM_NO_MCP);
+ mcp_access = dev_data->platform_id == PLATFORM_ASIC && !ecore_grc_get_param(p_hwfn, DBG_GRC_PARAM_NO_MCP);
/* Get trace data info */
status = ecore_mcp_trace_get_data_info(p_hwfn, p_ptt, &trace_data_grc_addr, &trace_data_size_bytes);
@@ -4624,7 +4641,7 @@ static enum dbg_status ecore_mcp_trace_dump(struct ecore_hwfn *p_hwfn,
offset += trace_meta_size_dwords;
/* Dump last section */
- offset += ecore_dump_last_section(p_hwfn, dump_buf, offset, dump);
+ offset += ecore_dump_last_section(dump_buf, offset, dump);
*num_dumped_dwords = offset;
@@ -4683,7 +4700,7 @@ static enum dbg_status ecore_reg_fifo_dump(struct ecore_hwfn *p_hwfn,
}
/* Dump last section */
- offset += ecore_dump_last_section(p_hwfn, dump_buf, offset, dump);
+ offset += ecore_dump_last_section(dump_buf, offset, dump);
*num_dumped_dwords = offset;
@@ -4738,7 +4755,7 @@ static enum dbg_status ecore_igu_fifo_dump(struct ecore_hwfn *p_hwfn,
}
/* Dump last section */
- offset += ecore_dump_last_section(p_hwfn, dump_buf, offset, dump);
+ offset += ecore_dump_last_section(dump_buf, offset, dump);
*num_dumped_dwords = offset;
@@ -4780,7 +4797,7 @@ static enum dbg_status ecore_protection_override_dump(struct ecore_hwfn *p_hwfn,
}
/* Dump last section */
- offset += ecore_dump_last_section(p_hwfn, dump_buf, offset, dump);
+ offset += ecore_dump_last_section(dump_buf, offset, dump);
*num_dumped_dwords = offset;
@@ -4842,7 +4859,7 @@ static u32 ecore_fw_asserts_dump(struct ecore_hwfn *p_hwfn,
}
/* Dump last section */
- offset += ecore_dump_last_section(p_hwfn, dump_buf, offset, dump);
+ offset += ecore_dump_last_section(dump_buf, offset, dump);
return offset;
}
@@ -5062,13 +5079,12 @@ static bool ecore_is_overlapping_enable_mask(struct ecore_hwfn *p_hwfn,
}
enum dbg_status ecore_dbg_bus_enable_block(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- enum block_id block_id,
- u8 line_num,
- u8 enable_mask,
- u8 right_shift,
- u8 force_valid_mask,
- u8 force_frame_mask)
+ enum block_id block_id,
+ u8 line_num,
+ u8 enable_mask,
+ u8 right_shift,
+ u8 force_valid_mask,
+ u8 force_frame_mask)
{
struct dbg_tools_data *dev_data = &p_hwfn->dbg_info;
struct block_defs *block = s_block_defs[block_id];
@@ -5086,7 +5102,7 @@ enum dbg_status ecore_dbg_bus_enable_block(struct ecore_hwfn *p_hwfn,
return DBG_STATUS_INVALID_ARGS;
if (GET_FIELD(block_bus->data, DBG_BUS_BLOCK_DATA_ENABLE_MASK))
return DBG_STATUS_BLOCK_ALREADY_ENABLED;
- if (!block->has_dbg_bus[dev_data->chip_id] ||
+ if (block->dbg_client_id[dev_data->chip_id] == MAX_DBG_BUS_CLIENTS ||
line_num >= NUM_DBG_LINES(block_desc) ||
!enable_mask ||
enable_mask > MAX_CYCLE_VALUES_MASK ||
@@ -5386,15 +5402,15 @@ enum dbg_status ecore_dbg_bus_add_trigger_state(struct ecore_hwfn *p_hwfn,
}
enum dbg_status ecore_dbg_bus_add_constraint(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- enum dbg_bus_constraint_ops constraint_op,
- u32 data_val,
- u32 data_mask,
- bool compare_frame,
- u8 frame_bit,
- u8 cycle_offset,
- u8 dword_offset_in_cycle,
- bool is_mandatory)
+ struct ecore_ptt *p_ptt,
+ enum dbg_bus_constraint_ops constraint_op,
+ u32 data_val,
+ u32 data_mask,
+ bool compare_frame,
+ u8 frame_bit,
+ u8 cycle_offset,
+ u8 dword_offset_in_cycle,
+ bool is_mandatory)
{
struct dbg_tools_data *dev_data = &p_hwfn->dbg_info;
struct dbg_bus_data *bus = &dev_data->bus;
@@ -5874,7 +5890,7 @@ enum dbg_status ecore_dbg_bus_get_dump_buf_size(struct ecore_hwfn *p_hwfn,
}
/* Dump last section */
- *buf_size += ecore_dump_last_section(p_hwfn, OSAL_NULL, 0, false);
+ *buf_size += ecore_dump_last_section(OSAL_NULL, 0, false);
return DBG_STATUS_OK;
}
@@ -5929,7 +5945,7 @@ enum dbg_status ecore_dbg_bus_dump(struct ecore_hwfn *p_hwfn,
}
/* Dump last section */
- offset += ecore_dump_last_section(p_hwfn, dump_buf, offset, true);
+ offset += ecore_dump_last_section(dump_buf, offset, true);
/* If recorded to PCI buffer - free the buffer */
ecore_bus_free_pci_buf(p_hwfn);
diff --git a/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.h b/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.h
index 1a35235..b075096 100644
--- a/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.h
+++ b/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef _DBG_FW_FUNCS_H
#define _DBG_FW_FUNCS_H
/**************************** Public Functions *******************************/
@@ -179,7 +178,6 @@ enum dbg_status ecore_dbg_bus_set_nw_output(struct ecore_hwfn *p_hwfn,
* unit is 2 dwords (64 bits).
*
* @param p_hwfn - HW device data
- * @param p_ptt - Ptt window used for writing the registers.
* @param block - block to be enabled.
* @param line_num - debug line number to select.
* @param cycle_en - 4-bit value. If bit i is set, unit i is enabled.
@@ -200,13 +198,12 @@ enum dbg_status ecore_dbg_bus_set_nw_output(struct ecore_hwfn *p_hwfn,
* Otherwise, returns ok.
*/
enum dbg_status ecore_dbg_bus_enable_block(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- enum block_id block,
- u8 line_num,
- u8 cycle_en,
- u8 right_shift,
- u8 force_valid,
- u8 force_frame);
+ enum block_id block,
+ u8 line_num,
+ u8 cycle_en,
+ u8 right_shift,
+ u8 force_valid,
+ u8 force_frame);
/**
* @brief ecore_dbg_bus_enable_storm - Enables recording of the specified Storm
diff --git a/sys/dev/qlnx/qlnxe/ecore_dbg_values.h b/sys/dev/qlnx/qlnxe/ecore_dbg_values.h
index dc61df7..83b7968 100644
--- a/sys/dev/qlnx/qlnxe/ecore_dbg_values.h
+++ b/sys/dev/qlnx/qlnxe/ecore_dbg_values.h
@@ -35,27 +35,28 @@
static const u8 dbg_modes_tree_buf[] = {
0x02, 0x00, 0x01, 0x04, 0x05, 0x00, 0x01, 0x07, 0x09, 0x02, 0x00, 0x01,
0x05, 0x12, 0x00, 0x00, 0x06, 0x02, 0x00, 0x04, 0x00, 0x01, 0x09, 0x00,
- 0x06, 0x00, 0x01, 0x00, 0x06, 0x01, 0x04, 0x05, 0x02, 0x00, 0x04, 0x00,
- 0x01, 0x07, 0x09, 0x02, 0x00, 0x12, 0x00, 0x01, 0x07, 0x09, 0x02, 0x05,
- 0x02, 0x00, 0x0b, 0x10, 0x02, 0x05, 0x02, 0x00, 0x0b, 0x0f, 0x02, 0x05,
- 0x02, 0x00, 0x0b, 0x0e, 0x02, 0x00, 0x06, 0x01, 0x04, 0x05, 0x02, 0x05,
- 0x00, 0x01, 0x07, 0x09, 0x02, 0x00, 0x04, 0x00, 0x00, 0x06, 0x02, 0x00,
- 0x12, 0x00, 0x00, 0x06, 0x02, 0x04, 0x02, 0x00, 0x11, 0x0f, 0x02, 0x04,
- 0x02, 0x00, 0x11, 0x0e, 0x02, 0x04, 0x00, 0x01, 0x07, 0x09, 0x02, 0x05,
- 0x02, 0x0b, 0x10, 0x02, 0x05, 0x02, 0x0b, 0x0f, 0x02, 0x00, 0x06, 0x00,
- 0x04, 0x02, 0x04, 0x00, 0x00, 0x06, 0x02, 0x00, 0x04, 0x00, 0x09, 0x01,
- 0x06, 0x01, 0x08, 0x0a, 0x02, 0x05, 0x02, 0x0b, 0x0e, 0x02, 0x05, 0x00,
- 0x10, 0x02, 0x00, 0x04, 0x0c, 0x02, 0x00, 0x06, 0x04, 0x02, 0x00, 0x05,
- 0x0f, 0x02, 0x00, 0x06, 0x05, 0x00, 0x01, 0x04, 0x12, 0x02, 0x04, 0x00,
- 0x11, 0x02, 0x06, 0x00, 0x12, 0x02, 0x00, 0x06, 0x12, 0x02, 0x04, 0x06,
- 0x02, 0x05, 0x0f, 0x02, 0x05, 0x10, 0x01, 0x0b, 0x0d, 0x02, 0x04, 0x11,
- 0x00, 0x0d, 0x03,
+ 0x06, 0x00, 0x01, 0x00, 0x06, 0x01, 0x04, 0x05, 0x02, 0x00, 0x12, 0x00,
+ 0x01, 0x07, 0x09, 0x02, 0x00, 0x04, 0x00, 0x01, 0x07, 0x09, 0x02, 0x00,
+ 0x04, 0x02, 0x00, 0x0b, 0x0e, 0x02, 0x00, 0x04, 0x02, 0x00, 0x0b, 0x0f,
+ 0x02, 0x00, 0x04, 0x02, 0x00, 0x0b, 0x10, 0x02, 0x05, 0x00, 0x01, 0x07,
+ 0x09, 0x02, 0x00, 0x06, 0x01, 0x04, 0x05, 0x02, 0x04, 0x02, 0x00, 0x11,
+ 0x0f, 0x02, 0x04, 0x02, 0x00, 0x11, 0x0e, 0x02, 0x04, 0x00, 0x01, 0x07,
+ 0x09, 0x02, 0x00, 0x04, 0x00, 0x00, 0x06, 0x02, 0x00, 0x04, 0x02, 0x0b,
+ 0x10, 0x02, 0x00, 0x04, 0x02, 0x0b, 0x0e, 0x02, 0x00, 0x04, 0x02, 0x0b,
+ 0x0f, 0x02, 0x00, 0x06, 0x00, 0x04, 0x02, 0x00, 0x04, 0x00, 0x09, 0x02,
+ 0x04, 0x00, 0x00, 0x06, 0x01, 0x06, 0x01, 0x08, 0x0a, 0x00, 0x01, 0x04,
+ 0x12, 0x02, 0x04, 0x00, 0x11, 0x02, 0x00, 0x06, 0x12, 0x02, 0x00, 0x06,
+ 0x04, 0x02, 0x00, 0x06, 0x0e, 0x02, 0x00, 0x04, 0x0c, 0x02, 0x00, 0x04,
+ 0x0f, 0x02, 0x00, 0x04, 0x10, 0x02, 0x00, 0x06, 0x0f, 0x02, 0x00, 0x06,
+ 0x10, 0x02, 0x05, 0x00, 0x10, 0x02, 0x00, 0x06, 0x05, 0x02, 0x04, 0x0f,
+ 0x02, 0x12, 0x10, 0x02, 0x04, 0x11, 0x02, 0x04, 0x06, 0x01, 0x0b, 0x0d,
+ 0x02, 0x05, 0x10, 0x00, 0x0d, 0x00, 0x05, 0x03,
};
-/* Data size: 195 bytes */
+/* Data size: 212 bytes */
/* Array of registers to be dumped */
static const u32 dump_reg[] = {
- 0x00000c47, /* split NONE */
+ 0x00000c74, /* split NONE */
0x06000000, /* block grc */
0x02014000, /* grc.override_window_mem_self_init_start .. grc.override_window_mem_self_init_done (2 regs) */
0x0a014010, /* grc.rsv_attn_access_data_0 .. grc.trace_fifo_valid_data (10 regs) */
@@ -63,7 +64,7 @@ static const u32 dump_reg[] = {
0x0201403a, /* grc.dbgsyn_status .. grc.dbgsyn_almost_full_thr (2 regs) */
0x02014060, /* grc.INT_STS_0 .. grc.INT_MASK_0 (2 regs) */
0x04014100, /* grc.timeout_val .. grc.number_valid_override_window (4 regs) */
- 0x0b010000, /* block miscs */
+ 0x0d010000, /* block miscs */
0x02002410, /* miscs.reset_config .. miscs.reset_config_por (2 regs) */
0x0500241c, /* miscs.clk_100g_mode .. miscs.NVM_WR_EN (5 regs) */
0x0100245b, /* miscs.memctrl_status (1 regs) */
@@ -71,8 +72,10 @@ static const u32 dump_reg[] = {
0x83002500, /* miscs.gpio0_driver .. miscs.gpio_event_en (131 regs) */
0x0d0025af, /* miscs.LINK_HOLDOFF_STATUS .. miscs.vmain_por (13 regs) */
0x040025bd, /* miscs.pwr_attn .. miscs.func_hide_pin (4 regs) */
- 0x150025c2, /* miscs.four_port_shared_mdio_en .. miscs.unprepared_fw (21 regs) */
- 0x100025d8, /* miscs.VAUX_PRESENT .. miscs.perst_deassert_cnt (16 regs) */
+ 0x050025c4, /* miscs.sel_vaux .. miscs.isolate_path (5 regs) */
+ 0x0c0025cb, /* miscs.hot_reset_unprepared .. miscs.unprepared_fw (12 regs) */
+ 0x070025d8, /* miscs.VAUX_PRESENT .. miscs.CHIP_TEST_REG (7 regs) */
+ 0x080025e0, /* miscs.PCIE_DIS_IO .. miscs.perst_deassert_cnt (8 regs) */
0x010025eb, /* miscs.hot_reset_en (1 regs) */
0x020025ed, /* miscs.eco_reserved .. miscs.mcp_rom_tm (2 regs) */
0x09020000, /* block misc */
@@ -214,7 +217,7 @@ static const u32 dump_reg[] = {
0x02158060, /* ptu.INT_STS .. ptu.INT_MASK (2 regs) */
0x65158100, /* ptu.atc_num_sets .. ptu.atc_during_inv (101 regs) */
0x06158173, /* ptu.dbgsyn_almost_full_thr .. ptu.atc_ireq_fifo_tm (6 regs) */
- 0x25180000, /* block tcm */
+ 0x24180000, /* block tcm */
0x01460000, /* tcm.init (1 regs) */
0x05460010, /* tcm.dbg_select .. tcm.dbg_force_frame (5 regs) */
0x02460060, /* tcm.INT_STS_0 .. tcm.INT_MASK_0 (2 regs) */
@@ -228,9 +231,8 @@ static const u32 dump_reg[] = {
0x02460181, /* tcm.storm_weight .. tcm.msem_weight (2 regs) */
0x02460184, /* tcm.dorq_weight .. tcm.pbf_weight (2 regs) */
0x01460187, /* tcm.grc_weight (1 regs) */
- 0x0b460189, /* tcm.qm_p_weight .. tcm.storm_frwrd_mode (11 regs) */
- 0x01460195, /* tcm.msem_frwrd_mode (1 regs) */
- 0x0b460197, /* tcm.dorq_frwrd_mode .. tcm.ia_trans_part_fill_lvl (11 regs) */
+ 0x0a460189, /* tcm.qm_p_weight .. tcm.ia_arb_sp_timeout (10 regs) */
+ 0x09460199, /* tcm.sdm_err_handle_en .. tcm.ia_trans_part_fill_lvl (9 regs) */
0x1b4601c1, /* tcm.xx_msg_up_bnd .. tcm.xx_tbyp_tbl_up_bnd (27 regs) */
0x054601e4, /* tcm.xx_byp_lock_msg_thr .. tcm.unlock_miss (5 regs) */
0x04460201, /* tcm.prcs_agg_con_curr_st .. tcm.prcs_sm_task_curr_st (4 regs) */
@@ -252,7 +254,7 @@ static const u32 dump_reg[] = {
0x034602e1, /* tcm.eco_reserved .. tcm.is_foc_msem_nxt_inf_unit (3 regs) */
0x024602e6, /* tcm.is_foc_pbf_nxt_inf_unit .. tcm.is_foc_dorq_nxt_inf_unit (2 regs) */
0x05460530, /* tcm.ctx_rbc_accs .. tcm.sm_task_ctx (5 regs) */
- 0x22190000, /* block mcm */
+ 0x21190000, /* block mcm */
0x01480000, /* mcm.init (1 regs) */
0x05480010, /* mcm.dbg_select .. mcm.dbg_force_frame (5 regs) */
0x02480060, /* mcm.INT_STS_0 .. mcm.INT_MASK_0 (2 regs) */
@@ -264,9 +266,8 @@ static const u32 dump_reg[] = {
0x09480151, /* mcm.qm_task_use_st_flg_0 .. mcm.err_evnt_id (9 regs) */
0x02480181, /* mcm.storm_weight .. mcm.usem_weight (2 regs) */
0x02480184, /* mcm.pbf_weight .. mcm.grc_weight (2 regs) */
- 0x0d480187, /* mcm.ysdm_weight .. mcm.storm_frwrd_mode (13 regs) */
- 0x04480195, /* mcm.ysdm_frwrd_mode .. mcm.usem_frwrd_mode (4 regs) */
- 0x0a48019a, /* mcm.pbf_frwrd_mode .. mcm.ia_trans_part_fill_lvl (10 regs) */
+ 0x0c480187, /* mcm.ysdm_weight .. mcm.ia_arb_sp_timeout (12 regs) */
+ 0x0948019b, /* mcm.sdm_err_handle_en .. mcm.ia_trans_part_fill_lvl (9 regs) */
0x1b4801c1, /* mcm.xx_msg_up_bnd .. mcm.xx_tbyp_tbl_up_bnd (27 regs) */
0x054801e4, /* mcm.xx_byp_lock_msg_thr .. mcm.unlock_miss (5 regs) */
0x04480201, /* mcm.prcs_agg_con_curr_st .. mcm.prcs_sm_task_curr_st (4 regs) */
@@ -287,7 +288,7 @@ static const u32 dump_reg[] = {
0x014802e5, /* mcm.is_foc_pbf_nxt_inf_unit (1 regs) */
0x034802e7, /* mcm.is_foc_usdm_nxt_inf_unit .. mcm.is_foc_tmld_nxt_inf_unit (3 regs) */
0x05480600, /* mcm.ctx_rbc_accs .. mcm.sm_task_ctx (5 regs) */
- 0x1f1a0000, /* block ucm */
+ 0x1d1a0000, /* block ucm */
0x014a0000, /* ucm.init (1 regs) */
0x064a0013, /* ucm.memctrl_status .. ucm.dbg_force_frame (6 regs) */
0x024a0060, /* ucm.INT_STS_0 .. ucm.INT_MASK_0 (2 regs) */
@@ -299,15 +300,13 @@ static const u32 dump_reg[] = {
0x084a0141, /* ucm.qm_task_use_st_flg_0 .. ucm.qm_task_use_st_flg_7 (8 regs) */
0x094a0151, /* ucm.tm_task_evnt_id_0 .. ucm.err_evnt_id (9 regs) */
0x0a4a0181, /* ucm.storm_weight .. ucm.muld_weight (10 regs) */
- 0x0d4a018c, /* ucm.qm_p_weight .. ucm.ysdm_frwrd_mode (13 regs) */
- 0x044a019a, /* ucm.usdm_frwrd_mode .. ucm.muld_frwrd_mode (4 regs) */
- 0x0b4a019f, /* ucm.dorq_frwrd_mode .. ucm.ia_trans_part_fill_lvl (11 regs) */
+ 0x0a4a018c, /* ucm.qm_p_weight .. ucm.ia_arb_sp_timeout (10 regs) */
+ 0x094a01a1, /* ucm.sdm_err_handle_en .. ucm.ia_trans_part_fill_lvl (9 regs) */
0x1b4a01c1, /* ucm.xx_msg_up_bnd .. ucm.xx_tbyp_tbl_up_bnd (27 regs) */
0x054a01e4, /* ucm.xx_byp_lock_msg_thr .. ucm.unlock_miss (5 regs) */
0x044a0201, /* ucm.prcs_agg_con_curr_st .. ucm.prcs_sm_task_curr_st (4 regs) */
0x1b4a020d, /* ucm.n_sm_task_ctx_ld_0 .. ucm.trans_data_buf_crd_dir (27 regs) */
0x0a4a0230, /* ucm.agg_task_ctx_size_0 .. ucm.sm_task_ctx_size (10 regs) */
- 0x094a024c, /* ucm.agg_con_rule0_q .. ucm.agg_con_rule8_q (9 regs) */
0x074a025a, /* ucm.agg_task_rule0_q .. ucm.agg_task_rule6_q (7 regs) */
0x0d4a0281, /* ucm.in_prcs_tbl_crd_agg .. ucm.xx_byp_task_state_evnt_id_flg (13 regs) */
0x054a02a1, /* ucm.ccfc_init_crd .. ucm.fic_init_crd (5 regs) */
@@ -319,7 +318,7 @@ static const u32 dump_reg[] = {
0x094a02d1, /* ucm.fic_msg_cntr .. ucm.tcfc_cntr (9 regs) */
0x0a4a02e1, /* ucm.eco_reserved .. ucm.is_foc_muld_nxt_inf_unit (10 regs) */
0x054a05c0, /* ucm.ctx_rbc_accs .. ucm.sm_task_ctx (5 regs) */
- 0x201b0000, /* block xcm */
+ 0x1f1b0000, /* block xcm */
0x01400000, /* xcm.init (1 regs) */
0x01400002, /* xcm.qm_act_st_cnt_init_done (1 regs) */
0x05400010, /* xcm.dbg_select .. xcm.dbg_force_frame (5 regs) */
@@ -330,9 +329,8 @@ static const u32 dump_reg[] = {
0x01400131, /* xcm.err_evnt_id (1 regs) */
0x03400181, /* xcm.storm_weight .. xcm.usem_weight (3 regs) */
0x03400185, /* xcm.dorq_weight .. xcm.grc_weight (3 regs) */
- 0x0e400189, /* xcm.xsdm_weight .. xcm.storm_frwrd_mode (14 regs) */
- 0x05400198, /* xcm.xsdm_frwrd_mode .. xcm.usem_frwrd_mode (5 regs) */
- 0x0840019e, /* xcm.dorq_frwrd_mode .. xcm.ia_trans_part_fill_lvl (8 regs) */
+ 0x0d400189, /* xcm.xsdm_weight .. xcm.ia_arb_sp_timeout (13 regs) */
+ 0x064001a0, /* xcm.sdm_err_handle_en .. xcm.ia_trans_part_fill_lvl (6 regs) */
0x184001c1, /* xcm.xx_msg_up_bnd .. xcm.xx_cbyp_tbl_up_bnd (24 regs) */
0x054001e1, /* xcm.xx_byp_lock_msg_thr .. xcm.unlock_miss (5 regs) */
0x02400201, /* xcm.prcs_agg_con_curr_st .. xcm.prcs_sm_con_curr_st (2 regs) */
@@ -352,7 +350,7 @@ static const u32 dump_reg[] = {
0x024002e6, /* xcm.is_foc_pbf_nxt_inf_unit .. xcm.is_foc_dorq_nxt_inf_unit (2 regs) */
0x034002e9, /* xcm.is_foc_usdm_nxt_inf_unit .. xcm.is_foc_ysdm_nxt_inf_unit (3 regs) */
0x03400600, /* xcm.ctx_rbc_accs .. xcm.sm_con_ctx (3 regs) */
- 0x1e1c0000, /* block ycm */
+ 0x1d1c0000, /* block ycm */
0x01420000, /* ycm.init (1 regs) */
0x05420010, /* ycm.dbg_select .. ycm.dbg_force_frame (5 regs) */
0x02420060, /* ycm.INT_STS_0 .. ycm.INT_MASK_0 (2 regs) */
@@ -363,14 +361,13 @@ static const u32 dump_reg[] = {
0x20420121, /* ycm.qm_agg_task_ctx_part_size_0 .. ycm.qm_tcfc_xxlock_cmd_7 (32 regs) */
0x09420151, /* ycm.qm_task_use_st_flg_0 .. ycm.err_evnt_id (9 regs) */
0x05420181, /* ycm.storm_weight .. ycm.grc_weight (5 regs) */
- 0x0c420187, /* ycm.ysdm_weight .. ycm.storm_frwrd_mode (12 regs) */
- 0x0e420194, /* ycm.ysdm_frwrd_mode .. ycm.ia_trans_part_fill_lvl (14 regs) */
+ 0x0b420187, /* ycm.ysdm_weight .. ycm.ia_arb_sp_timeout (11 regs) */
+ 0x09420199, /* ycm.sdm_err_handle_en .. ycm.ia_trans_part_fill_lvl (9 regs) */
0x1b4201c1, /* ycm.xx_msg_up_bnd .. ycm.xx_tbyp_tbl_up_bnd (27 regs) */
0x054201e4, /* ycm.xx_byp_lock_msg_thr .. ycm.unlock_miss (5 regs) */
0x04420201, /* ycm.prcs_agg_con_curr_st .. ycm.prcs_sm_task_curr_st (4 regs) */
0x1b42020d, /* ycm.n_sm_task_ctx_ld_0 .. ycm.trans_data_buf_crd_dir (27 regs) */
0x0a420230, /* ycm.agg_task_ctx_size_0 .. ycm.sm_task_ctx_size (10 regs) */
- 0x05420248, /* ycm.agg_con_rule0_q .. ycm.agg_con_rule4_q (5 regs) */
0x0b420281, /* ycm.in_prcs_tbl_crd_agg .. ycm.xx_byp_task_state_evnt_id_flg (11 regs) */
0x064202a1, /* ycm.ccfc_init_crd .. ycm.fic_init_crd (6 regs) */
0x014202a9, /* ycm.dir_byp_msg_cnt (1 regs) */
@@ -392,7 +389,7 @@ static const u32 dump_reg[] = {
0x02440100, /* pcm.ifen .. pcm.err_evnt_id (2 regs) */
0x01440181, /* pcm.storm_weight (1 regs) */
0x01440183, /* pcm.grc_weight (1 regs) */
- 0x08440185, /* pcm.ia_group_pr0 .. pcm.storm_frwrd_mode (8 regs) */
+ 0x07440185, /* pcm.ia_group_pr0 .. pcm.ia_arb_sp_timeout (7 regs) */
0x0544018f, /* pcm.sdm_err_handle_en .. pcm.ia_trans_part_fill_lvl (5 regs) */
0x184401c1, /* pcm.xx_msg_up_bnd .. pcm.unlock_miss (24 regs) */
0x01440201, /* pcm.prcs_sm_con_curr_st (1 regs) */
@@ -405,16 +402,14 @@ static const u32 dump_reg[] = {
0x024402d1, /* pcm.fic_msg_cntr .. pcm.ccfc_cntr (2 regs) */
0x024402e1, /* pcm.eco_reserved .. pcm.is_foc_psem_nxt_inf_unit (2 regs) */
0x02440510, /* pcm.ctx_rbc_accs .. pcm.sm_con_ctx (2 regs) */
- 0x1e1e0000, /* block qm */
+ 0x1c1e0000, /* block qm */
0x020bc060, /* qm.INT_STS .. qm.INT_MASK (2 regs) */
0x0d0bc100, /* qm.wrc_drop_cnt_0 .. qm.cm_push_int_en (13 regs) */
0x380bc110, /* qm.MaxPqSizeTxSel_0 .. qm.MaxPqSizeTxSel_55 (56 regs) */
0x040bc200, /* qm.OutLdReqSizeConnTx .. qm.OutLdReqCrdConnOther (4 regs) */
0x0e0bc410, /* qm.QstatusTx_0 .. qm.QstatusTx_13 (14 regs) */
0x020bc430, /* qm.QstatusOther_0 .. qm.QstatusOther_1 (2 regs) */
- 0x280bc448, /* qm.CtxRegCcfc_0 .. qm.CtxRegCcfc_39 (40 regs) */
0x280bc488, /* qm.CtxRegTcfc_0 .. qm.CtxRegTcfc_39 (40 regs) */
- 0x280bc4c8, /* qm.ActCtrInitValCcfc_0 .. qm.ActCtrInitValCcfc_39 (40 regs) */
0x280bc508, /* qm.ActCtrInitValTcfc_0 .. qm.ActCtrInitValTcfc_39 (40 regs) */
0x040bc548, /* qm.PciReqQId .. qm.QmPageSize (4 regs) */
0x050bc54d, /* qm.PciReqPadToCacheLine .. qm.OvfErrorOther (5 regs) */
@@ -638,7 +633,7 @@ static const u32 dump_reg[] = {
0x203e8300, /* psdm.queue_full .. psdm.prm_fifo_full (32 regs) */
0x1a3e8340, /* psdm.int_cmpl_pend_empty .. psdm.prm_fifo_empty (26 regs) */
0x053e838a, /* psdm.dbg_select .. psdm.dbg_force_frame (5 regs) */
- 0x252a0000, /* block tsem */
+ 0x232a0000, /* block tsem */
0x025c0010, /* tsem.INT_STS_0 .. tsem.INT_MASK_0 (2 regs) */
0x025c0014, /* tsem.INT_STS_1 .. tsem.INT_MASK_1 (2 regs) */
0x035c0110, /* tsem.pf_err_vector .. tsem.exception_int (3 regs) */
@@ -649,13 +644,13 @@ static const u32 dump_reg[] = {
0x015c0403, /* tsem.sync_ram_wr_alm_full (1 regs) */
0x015c0441, /* tsem.ext_pas_empty (1 regs) */
0x015c0448, /* tsem.fic_empty (1 regs) */
- 0x055c0454, /* tsem.slow_ext_store_empty .. tsem.sync_dbg_empty (5 regs) */
+ 0x025c0454, /* tsem.slow_ext_store_empty .. tsem.slow_ext_load_empty (2 regs) */
+ 0x025c0457, /* tsem.slow_ram_wr_empty .. tsem.sync_dbg_empty (2 regs) */
0x025c0480, /* tsem.ext_pas_full .. tsem.ext_store_if_full (2 regs) */
0x015c0488, /* tsem.fic_full (1 regs) */
0x015c0491, /* tsem.ram_if_full (1 regs) */
0x065c0497, /* tsem.slow_ext_store_full .. tsem.sync_dbg_full (6 regs) */
0x055c054a, /* tsem.dbg_select .. tsem.dbg_force_frame (5 regs) */
- 0x015d0001, /* tsem.fast_memory.ram_ext_disable (1 regs) */
0x025d0010, /* tsem.fast_memory.INT_STS .. tsem.fast_memory.INT_MASK (2 regs) */
0x025d0120, /* tsem.fast_memory.gpre0 .. tsem.fast_memory.stall_mask (2 regs) */
0x045d0128, /* tsem.fast_memory.storm_stack_size .. tsem.fast_memory.pram_prty_addr_high (4 regs) */
@@ -671,9 +666,7 @@ static const u32 dump_reg[] = {
0x015d02d3, /* tsem.fast_memory.vfc_status (1 regs) */
0x045d0310, /* tsem.fast_memory.cam_bist_en .. tsem.fast_memory.cam_bist_status (4 regs) */
0x0e5d2800, /* tsem.fast_memory.vfc_config.mask_lsb_0_low .. tsem.fast_memory.vfc_config.indications2 (14 regs) */
- 0x055d280f, /* tsem.fast_memory.vfc_config.memories_rst .. tsem.fast_memory.vfc_config.interrupt_mask (5 regs) */
- 0x055d2816, /* tsem.fast_memory.vfc_config.inp_fifo_tm .. tsem.fast_memory.vfc_config.vfc_cam_bist_status (5 regs) */
- 0x065d281c, /* tsem.fast_memory.vfc_config.inp_fifo_alm_full .. tsem.fast_memory.vfc_config.cpu_mbist_memctrl_1_cntrl_cmd (6 regs) */
+ 0x135d280f, /* tsem.fast_memory.vfc_config.memories_rst .. tsem.fast_memory.vfc_config.cpu_mbist_memctrl_1_cntrl_cmd (19 regs) */
0x125d2824, /* tsem.fast_memory.vfc_config.debug_data .. tsem.fast_memory.vfc_config.mask_lsb_7_high (18 regs) */
0x0c5d283e, /* tsem.fast_memory.vfc_config.offset_alu_vector_0 .. tsem.fast_memory.vfc_config.cam_bist_skip_error_cnt (12 regs) */
0x1f2b0000, /* block msem */
@@ -687,13 +680,13 @@ static const u32 dump_reg[] = {
0x01600403, /* msem.sync_ram_wr_alm_full (1 regs) */
0x01600441, /* msem.ext_pas_empty (1 regs) */
0x01600448, /* msem.fic_empty (1 regs) */
- 0x05600454, /* msem.slow_ext_store_empty .. msem.sync_dbg_empty (5 regs) */
+ 0x02600454, /* msem.slow_ext_store_empty .. msem.slow_ext_load_empty (2 regs) */
+ 0x02600457, /* msem.slow_ram_wr_empty .. msem.sync_dbg_empty (2 regs) */
0x02600480, /* msem.ext_pas_full .. msem.ext_store_if_full (2 regs) */
0x01600488, /* msem.fic_full (1 regs) */
0x01600491, /* msem.ram_if_full (1 regs) */
0x06600497, /* msem.slow_ext_store_full .. msem.sync_dbg_full (6 regs) */
0x0560054a, /* msem.dbg_select .. msem.dbg_force_frame (5 regs) */
- 0x01610001, /* msem.fast_memory.ram_ext_disable (1 regs) */
0x02610010, /* msem.fast_memory.INT_STS .. msem.fast_memory.INT_MASK (2 regs) */
0x02610120, /* msem.fast_memory.gpre0 .. msem.fast_memory.stall_mask (2 regs) */
0x04610128, /* msem.fast_memory.storm_stack_size .. msem.fast_memory.pram_prty_addr_high (4 regs) */
@@ -719,13 +712,13 @@ static const u32 dump_reg[] = {
0x01640403, /* usem.sync_ram_wr_alm_full (1 regs) */
0x01640441, /* usem.ext_pas_empty (1 regs) */
0x01640448, /* usem.fic_empty (1 regs) */
- 0x05640454, /* usem.slow_ext_store_empty .. usem.sync_dbg_empty (5 regs) */
+ 0x02640454, /* usem.slow_ext_store_empty .. usem.slow_ext_load_empty (2 regs) */
+ 0x02640457, /* usem.slow_ram_wr_empty .. usem.sync_dbg_empty (2 regs) */
0x02640480, /* usem.ext_pas_full .. usem.ext_store_if_full (2 regs) */
0x01640488, /* usem.fic_full (1 regs) */
0x01640491, /* usem.ram_if_full (1 regs) */
0x06640497, /* usem.slow_ext_store_full .. usem.sync_dbg_full (6 regs) */
0x0564054a, /* usem.dbg_select .. usem.dbg_force_frame (5 regs) */
- 0x01650001, /* usem.fast_memory.ram_ext_disable (1 regs) */
0x02650010, /* usem.fast_memory.INT_STS .. usem.fast_memory.INT_MASK (2 regs) */
0x02650120, /* usem.fast_memory.gpre0 .. usem.fast_memory.stall_mask (2 regs) */
0x04650128, /* usem.fast_memory.storm_stack_size .. usem.fast_memory.pram_prty_addr_high (4 regs) */
@@ -750,12 +743,12 @@ static const u32 dump_reg[] = {
0x02500400, /* xsem.dbg_alm_full .. xsem.passive_alm_full (2 regs) */
0x01500403, /* xsem.sync_ram_wr_alm_full (1 regs) */
0x01500441, /* xsem.ext_pas_empty (1 regs) */
- 0x05500454, /* xsem.slow_ext_store_empty .. xsem.sync_dbg_empty (5 regs) */
+ 0x02500454, /* xsem.slow_ext_store_empty .. xsem.slow_ext_load_empty (2 regs) */
+ 0x02500457, /* xsem.slow_ram_wr_empty .. xsem.sync_dbg_empty (2 regs) */
0x02500480, /* xsem.ext_pas_full .. xsem.ext_store_if_full (2 regs) */
0x01500491, /* xsem.ram_if_full (1 regs) */
0x06500497, /* xsem.slow_ext_store_full .. xsem.sync_dbg_full (6 regs) */
0x0550054a, /* xsem.dbg_select .. xsem.dbg_force_frame (5 regs) */
- 0x01510001, /* xsem.fast_memory.ram_ext_disable (1 regs) */
0x02510010, /* xsem.fast_memory.INT_STS .. xsem.fast_memory.INT_MASK (2 regs) */
0x02510120, /* xsem.fast_memory.gpre0 .. xsem.fast_memory.stall_mask (2 regs) */
0x04510128, /* xsem.fast_memory.storm_stack_size .. xsem.fast_memory.pram_prty_addr_high (4 regs) */
@@ -780,12 +773,12 @@ static const u32 dump_reg[] = {
0x02540400, /* ysem.dbg_alm_full .. ysem.passive_alm_full (2 regs) */
0x01540403, /* ysem.sync_ram_wr_alm_full (1 regs) */
0x01540441, /* ysem.ext_pas_empty (1 regs) */
- 0x05540454, /* ysem.slow_ext_store_empty .. ysem.sync_dbg_empty (5 regs) */
+ 0x02540454, /* ysem.slow_ext_store_empty .. ysem.slow_ext_load_empty (2 regs) */
+ 0x02540457, /* ysem.slow_ram_wr_empty .. ysem.sync_dbg_empty (2 regs) */
0x02540480, /* ysem.ext_pas_full .. ysem.ext_store_if_full (2 regs) */
0x01540491, /* ysem.ram_if_full (1 regs) */
0x06540497, /* ysem.slow_ext_store_full .. ysem.sync_dbg_full (6 regs) */
0x0554054a, /* ysem.dbg_select .. ysem.dbg_force_frame (5 regs) */
- 0x01550001, /* ysem.fast_memory.ram_ext_disable (1 regs) */
0x02550010, /* ysem.fast_memory.INT_STS .. ysem.fast_memory.INT_MASK (2 regs) */
0x02550120, /* ysem.fast_memory.gpre0 .. ysem.fast_memory.stall_mask (2 regs) */
0x04550128, /* ysem.fast_memory.storm_stack_size .. ysem.fast_memory.pram_prty_addr_high (4 regs) */
@@ -811,13 +804,13 @@ static const u32 dump_reg[] = {
0x01580403, /* psem.sync_ram_wr_alm_full (1 regs) */
0x01580441, /* psem.ext_pas_empty (1 regs) */
0x01580448, /* psem.fic_empty (1 regs) */
- 0x05580454, /* psem.slow_ext_store_empty .. psem.sync_dbg_empty (5 regs) */
+ 0x02580454, /* psem.slow_ext_store_empty .. psem.slow_ext_load_empty (2 regs) */
+ 0x02580457, /* psem.slow_ram_wr_empty .. psem.sync_dbg_empty (2 regs) */
0x02580480, /* psem.ext_pas_full .. psem.ext_store_if_full (2 regs) */
0x01580488, /* psem.fic_full (1 regs) */
0x01580491, /* psem.ram_if_full (1 regs) */
0x06580497, /* psem.slow_ext_store_full .. psem.sync_dbg_full (6 regs) */
0x0558054a, /* psem.dbg_select .. psem.dbg_force_frame (5 regs) */
- 0x01590001, /* psem.fast_memory.ram_ext_disable (1 regs) */
0x02590010, /* psem.fast_memory.INT_STS .. psem.fast_memory.INT_MASK (2 regs) */
0x02590120, /* psem.fast_memory.gpre0 .. psem.fast_memory.stall_mask (2 regs) */
0x04590128, /* psem.fast_memory.storm_stack_size .. psem.fast_memory.pram_prty_addr_high (4 regs) */
@@ -832,14 +825,14 @@ static const u32 dump_reg[] = {
0x01590292, /* psem.fast_memory.stall_cycles_mask (1 regs) */
0x015902d3, /* psem.fast_memory.vfc_status (1 regs) */
0x04590310, /* psem.fast_memory.cam_bist_en .. psem.fast_memory.cam_bist_status (4 regs) */
- 0x05300000, /* block rss */
+ 0x04300000, /* block rss */
0x0308e201, /* rss.rss_init_en .. rss.if_enable (3 regs) */
0x0208e260, /* rss.INT_STS .. rss.INT_MASK (2 regs) */
0x0208e300, /* rss.key_rss_ext5 .. rss.tmld_credit (2 regs) */
- 0x0108e30d, /* rss.rbc_status (1 regs) */
0x0608e312, /* rss.eco_reserved .. rss.dbg_force_frame (6 regs) */
- 0x05310000, /* block tmld */
- 0x2f134000, /* tmld.scbd_strict_prio .. tmld.cm_hdr_127_96 (47 regs) */
+ 0x06310000, /* block tmld */
+ 0x01134000, /* tmld.scbd_strict_prio (1 regs) */
+ 0x2c134003, /* tmld.foci_foc_credits .. tmld.cm_hdr_127_96 (44 regs) */
0x05134030, /* tmld.stat_fic_msg .. tmld.len_err_log_2 (5 regs) */
0x01134036, /* tmld.len_err_log_v (1 regs) */
0x02134060, /* tmld.INT_STS .. tmld.INT_MASK (2 regs) */
@@ -850,8 +843,9 @@ static const u32 dump_reg[] = {
0x0113803f, /* muld.len_err_log_v (1 regs) */
0x02138060, /* muld.INT_STS .. muld.INT_MASK (2 regs) */
0x05138580, /* muld.dbg_select .. muld.dbg_force_frame (5 regs) */
- 0x06340000, /* block xyld */
- 0x31130000, /* xyld.scbd_strict_prio .. xyld.cm_hdr_127_96 (49 regs) */
+ 0x07340000, /* block xyld */
+ 0x01130000, /* xyld.scbd_strict_prio (1 regs) */
+ 0x2e130003, /* xyld.foci_foc_credits .. xyld.cm_hdr_127_96 (46 regs) */
0x04130032, /* xyld.seg_msg_log .. xyld.seg_msg_log_len_arr_95_64 (4 regs) */
0x06130037, /* xyld.seg_msg_log_v .. xyld.len_err_log_2 (6 regs) */
0x0113003e, /* xyld.len_err_log_v (1 regs) */
@@ -918,7 +912,8 @@ static const u32 dump_reg[] = {
0x06360100, /* pbf.pxp_req_if_init_crd .. pbf.tm_if_init_crd (6 regs) */
0x05360107, /* pbf.tcm_if_init_crd .. pbf.ycm_if_init_crd (5 regs) */
0x08360110, /* pbf.pb1_db_almost_full_thrsh .. pbf.mrku_almost_full_thrsh (8 regs) */
- 0x0c360120, /* pbf.tag_ethertype_0 .. pbf.tag_len_5 (12 regs) */
+ 0x04360120, /* pbf.tag_ethertype_0 .. pbf.tag_ethertype_3 (4 regs) */
+ 0x04360126, /* pbf.tag_len_0 .. pbf.tag_len_3 (4 regs) */
0x0836013e, /* pbf.llc_type_threshold .. pbf.gre_protocol (8 regs) */
0x01360148, /* pbf.nge_eth_type (1 regs) */
0x01360161, /* pbf.regular_inband_tag_order (1 regs) */
@@ -947,7 +942,6 @@ static const u32 dump_reg[] = {
0x0c3602b8, /* pbf.ycmd_qs_num_lines_voq17 .. pbf.num_blocks_allocated_cons_voq17 (12 regs) */
0x0c3602c8, /* pbf.ycmd_qs_num_lines_voq18 .. pbf.num_blocks_allocated_cons_voq18 (12 regs) */
0x0c3602d8, /* pbf.ycmd_qs_num_lines_voq19 .. pbf.num_blocks_allocated_cons_voq19 (12 regs) */
- 0x013603a8, /* pbf.eco_reserved (1 regs) */
0x053d0000, /* block rdif */
0x040c0010, /* rdif.stop_on_error .. rdif.min_eob2wf_l1_rd_del (4 regs) */
0x010c0015, /* rdif.dirty_l1 (1 regs) */
@@ -1019,23 +1013,22 @@ static const u32 dump_reg[] = {
0x06060487, /* igu.group_rl_en_0 .. igu.group_rl_pending_1 (6 regs) */
0x08060540, /* igu.attention_signal_p0_status .. igu.Interrupt_status (8 regs) */
0x1706054c, /* igu.error_handling_data_valid .. igu.dbg_force_frame (23 regs) */
- 0x10430000, /* block cau */
+ 0x0f430000, /* block cau */
0x01070035, /* cau.INT_STS (1 regs) */
0x01070038, /* cau.INT_MASK (1 regs) */
0x05070100, /* cau.num_pi_per_sb .. cau.reset_memories (5 regs) */
0x02070140, /* cau.in_arb_priority .. cau.in_arb_timeout (2 regs) */
- 0x05070180, /* cau.cqe_size .. cau.agg_release_timer (5 regs) */
0x040701c0, /* cau.tick_size .. cau.stop_scan (4 regs) */
- 0x02070220, /* cau.wdata_fifo_afull_thr .. cau.cqe_fifo_afull_thr (2 regs) */
+ 0x01070220, /* cau.wdata_fifo_afull_thr (1 regs) */
0x02070260, /* cau.igu_req_credit_status .. cau.igu_cmd_credit_status (2 regs) */
0x060702a0, /* cau.stat_ctrl_sb_select .. cau.stat_ctrl_timer_cmd_type (6 regs) */
- 0x110702e0, /* cau.stat_counter_sb_gen .. cau.stat_counter_cqe_partial_cache (17 regs) */
+ 0x0a0702e0, /* cau.stat_counter_sb_gen .. cau.stat_counter_fsm1_line (10 regs) */
0x06070320, /* cau.debug_fifo_status .. cau.error_cleanup_cmd_reg (6 regs) */
- 0x05070327, /* cau.agg_units_0to15_state .. cau.eco_reserved (5 regs) */
+ 0x0107032b, /* cau.eco_reserved (1 regs) */
0x05070360, /* cau.debug_record_mask_min_sb .. cau.debug_record_mask_cmd_type (5 regs) */
0x03070380, /* cau.req_counter .. cau.wdone_counter (3 regs) */
0x050703aa, /* cau.dbg_select .. cau.dbg_force_frame (5 regs) */
- 0x050703c0, /* cau.main_fsm_status .. cau.igu_cqe_agg_fsm_status (5 regs) */
+ 0x030703c0, /* cau.main_fsm_status .. cau.igu_dma_fsm_status (3 regs) */
0x0b4a0000, /* block dbg */
0x01004001, /* dbg.client_enable (1 regs) */
0x01004003, /* dbg.output_enable (1 regs) */
@@ -1090,15 +1083,13 @@ static const u32 dump_reg[] = {
0x02050007, /* mode bb, block cnig */
0x0108608e, /* cnig.eco_reserved (1 regs) */
0x020860ba, /* cnig.INT_STS .. cnig.INT_MASK (2 regs) */
- 0x13180000, /* block tcm */
+ 0x11180000, /* block tcm */
0x08460101, /* tcm.qm_con_base_evnt_id_0 .. tcm.qm_con_base_evnt_id_7 (8 regs) */
0x10460111, /* tcm.qm_agg_con_ctx_part_size_0 .. tcm.qm_sm_con_ctx_ldst_flg_7 (16 regs) */
0x10460131, /* tcm.qm_xxlock_cmd_0 .. tcm.qm_con_use_st_flg_7 (16 regs) */
0x08460149, /* tcm.tm_con_evnt_id_0 .. tcm.tm_con_evnt_id_7 (8 regs) */
0x01460183, /* tcm.ysem_weight (1 regs) */
0x01460188, /* tcm.tsdm_weight (1 regs) */
- 0x01460194, /* tcm.tsdm_frwrd_mode (1 regs) */
- 0x01460196, /* tcm.ysem_frwrd_mode (1 regs) */
0x084601dc, /* tcm.xx_byp_msg_up_bnd_0 .. tcm.xx_byp_msg_up_bnd_7 (8 regs) */
0x08460205, /* tcm.n_sm_con_ctx_ld_0 .. tcm.n_sm_con_ctx_ld_7 (8 regs) */
0x08460228, /* tcm.agg_con_ctx_size_0 .. tcm.agg_con_ctx_size_7 (8 regs) */
@@ -1110,14 +1101,12 @@ static const u32 dump_reg[] = {
0x014602c1, /* tcm.is_ysem_fill_lvl (1 regs) */
0x014602e4, /* tcm.is_foc_ysem_nxt_inf_unit (1 regs) */
0x014602e8, /* tcm.is_foc_tsdm_nxt_inf_unit (1 regs) */
- 0x12190000, /* block mcm */
+ 0x10190000, /* block mcm */
0x08480101, /* mcm.qm_con_base_evnt_id_0 .. mcm.qm_con_base_evnt_id_7 (8 regs) */
0x10480111, /* mcm.qm_agg_con_ctx_part_size_0 .. mcm.qm_sm_con_ctx_ldst_flg_7 (16 regs) */
0x10480141, /* mcm.qm_xxlock_cmd_0 .. mcm.qm_con_use_st_flg_7 (16 regs) */
0x01480183, /* mcm.ysem_weight (1 regs) */
0x01480186, /* mcm.msdm_weight (1 regs) */
- 0x01480194, /* mcm.msdm_frwrd_mode (1 regs) */
- 0x01480199, /* mcm.ysem_frwrd_mode (1 regs) */
0x084801dc, /* mcm.xx_byp_msg_up_bnd_0 .. mcm.xx_byp_msg_up_bnd_7 (8 regs) */
0x08480205, /* mcm.n_sm_con_ctx_ld_0 .. mcm.n_sm_con_ctx_ld_7 (8 regs) */
0x08480228, /* mcm.agg_con_ctx_size_0 .. mcm.agg_con_ctx_size_7 (8 regs) */
@@ -1129,7 +1118,7 @@ static const u32 dump_reg[] = {
0x014802c4, /* mcm.is_ysem_fill_lvl (1 regs) */
0x014802e4, /* mcm.is_foc_ysem_nxt_inf_unit (1 regs) */
0x014802e6, /* mcm.is_foc_msdm_nxt_inf_unit (1 regs) */
- 0x091a0000, /* block ucm */
+ 0x081a0000, /* block ucm */
0x084a0101, /* ucm.qm_con_base_evnt_id_0 .. ucm.qm_con_base_evnt_id_7 (8 regs) */
0x104a0111, /* ucm.qm_agg_con_ctx_part_size_0 .. ucm.qm_sm_con_ctx_ldst_flg_7 (16 regs) */
0x104a0131, /* ucm.qm_xxlock_cmd_0 .. ucm.qm_con_use_st_flg_7 (16 regs) */
@@ -1137,14 +1126,11 @@ static const u32 dump_reg[] = {
0x084a01dc, /* ucm.xx_byp_msg_up_bnd_0 .. ucm.xx_byp_msg_up_bnd_7 (8 regs) */
0x084a0205, /* ucm.n_sm_con_ctx_ld_0 .. ucm.n_sm_con_ctx_ld_7 (8 regs) */
0x084a0228, /* ucm.agg_con_ctx_size_0 .. ucm.agg_con_ctx_size_7 (8 regs) */
- 0x074a0245, /* ucm.agg_con_cf0_q .. ucm.agg_con_cf6_q (7 regs) */
- 0x054a0255, /* ucm.agg_task_cf0_q .. ucm.agg_task_cf4_q (5 regs) */
- 0x101b0000, /* block xcm */
+ 0x154a0245, /* ucm.agg_con_cf0_q .. ucm.agg_task_cf4_q (21 regs) */
+ 0x0e1b0000, /* block xcm */
0x30400101, /* xcm.qm_con_base_evnt_id_0 .. xcm.tm_con_evnt_id_7 (48 regs) */
0x01400184, /* xcm.ysem_weight (1 regs) */
0x01400188, /* xcm.msdm_weight (1 regs) */
- 0x01400197, /* xcm.msdm_frwrd_mode (1 regs) */
- 0x0140019d, /* xcm.ysem_frwrd_mode (1 regs) */
0x084001d9, /* xcm.xx_byp_msg_up_bnd_0 .. xcm.xx_byp_msg_up_bnd_7 (8 regs) */
0x08400203, /* xcm.n_sm_con_ctx_ld_0 .. xcm.n_sm_con_ctx_ld_7 (8 regs) */
0x08400215, /* xcm.agg_con_ctx_size_0 .. xcm.agg_con_ctx_size_7 (8 regs) */
@@ -1156,30 +1142,30 @@ static const u32 dump_reg[] = {
0x014002ca, /* xcm.is_ysem_fill_lvl (1 regs) */
0x014002e5, /* xcm.is_foc_ysem_nxt_inf_unit (1 regs) */
0x014002e8, /* xcm.is_foc_msdm_nxt_inf_unit (1 regs) */
- 0x0f1c0000, /* block ycm */
+ 0x0d1c0000, /* block ycm */
0x08420101, /* ycm.qm_con_base_evnt_id_0 .. ycm.qm_con_base_evnt_id_7 (8 regs) */
0x10420111, /* ycm.qm_agg_con_ctx_part_size_0 .. ycm.qm_sm_con_ctx_ldst_flg_7 (16 regs) */
0x10420141, /* ycm.qm_xxlock_cmd_0 .. ycm.qm_con_use_st_flg_7 (16 regs) */
0x01420186, /* ycm.msdm_weight (1 regs) */
- 0x01420193, /* ycm.msdm_frwrd_mode (1 regs) */
0x084201dc, /* ycm.xx_byp_msg_up_bnd_0 .. ycm.xx_byp_msg_up_bnd_7 (8 regs) */
0x08420205, /* ycm.n_sm_con_ctx_ld_0 .. ycm.n_sm_con_ctx_ld_7 (8 regs) */
0x08420228, /* ycm.agg_con_ctx_size_0 .. ycm.agg_con_ctx_size_7 (8 regs) */
- 0x03420245, /* ycm.agg_con_cf0_q .. ycm.agg_con_cf2_q (3 regs) */
- 0x0942024d, /* ycm.agg_task_cf0_q .. ycm.agg_task_rule6_q (9 regs) */
+ 0x11420245, /* ycm.agg_con_cf0_q .. ycm.agg_task_rule6_q (17 regs) */
0x014202aa, /* ycm.msdm_length_mis (1 regs) */
0x014202b1, /* ycm.msdm_msg_cntr (1 regs) */
0x014202bd, /* ycm.is_msdm_fill_lvl (1 regs) */
0x014202e4, /* ycm.is_foc_ysem_nxt_inf_unit (1 regs) */
0x014202e6, /* ycm.is_foc_msdm_nxt_inf_unit (1 regs) */
- 0x071d0000, /* block pcm */
+ 0x061d0000, /* block pcm */
0x01440184, /* pcm.psdm_weight (1 regs) */
- 0x0144018d, /* pcm.psdm_frwrd_mode (1 regs) */
0x08440202, /* pcm.n_sm_con_ctx_ld_0 .. pcm.n_sm_con_ctx_ld_7 (8 regs) */
0x014402aa, /* pcm.psdm_length_mis (1 regs) */
0x014402af, /* pcm.psdm_msg_cntr (1 regs) */
0x014402b3, /* pcm.is_psdm_fill_lvl (1 regs) */
0x014402e4, /* pcm.is_foc_psdm_nxt_inf_unit (1 regs) */
+ 0x021e0000, /* block qm */
+ 0x280bc448, /* qm.CtxRegCcfc_0 .. qm.CtxRegCcfc_39 (40 regs) */
+ 0x280bc4c8, /* qm.ActCtrInitValCcfc_0 .. qm.ActCtrInitValCcfc_39 (40 regs) */
0x03200000, /* block dorq */
0x1004012d, /* dorq.qm_en_byp_mask_0 .. dorq.dpi_val_sup_7 (16 regs) */
0x38040185, /* dorq.xcm_agg_flg_mask_conn_0 .. dorq.dpm_xcm_event_id_7 (56 regs) */
@@ -1204,15 +1190,19 @@ static const u32 dump_reg[] = {
0x04d40108, /* ysem.vf_err_vector (4 regs, WB) */
0x012f0000, /* block psem */
0x04d80108, /* psem.vf_err_vector (4 regs, WB) */
- 0x13180009, /* mode k2, block tcm */
+ 0x01310000, /* block tmld */
+ 0x02134001, /* tmld.scbd_wrr_weight_q0 .. tmld.scbd_wrr_weight_q1 (2 regs) */
+ 0x01340000, /* block xyld */
+ 0x02130001, /* xyld.scbd_wrr_weight_q0 .. xyld.scbd_wrr_weight_q1 (2 regs) */
+ 0x013c0000, /* block pbf */
+ 0x013603a8, /* pbf.eco_reserved (1 regs) */
+ 0x11180009, /* mode k2, block tcm */
0x08460101, /* tcm.qm_con_base_evnt_id_0 .. tcm.qm_con_base_evnt_id_7 (8 regs) */
0x10460111, /* tcm.qm_agg_con_ctx_part_size_0 .. tcm.qm_sm_con_ctx_ldst_flg_7 (16 regs) */
0x10460131, /* tcm.qm_xxlock_cmd_0 .. tcm.qm_con_use_st_flg_7 (16 regs) */
0x08460149, /* tcm.tm_con_evnt_id_0 .. tcm.tm_con_evnt_id_7 (8 regs) */
0x01460183, /* tcm.ysem_weight (1 regs) */
0x01460188, /* tcm.tsdm_weight (1 regs) */
- 0x01460194, /* tcm.tsdm_frwrd_mode (1 regs) */
- 0x01460196, /* tcm.ysem_frwrd_mode (1 regs) */
0x084601dc, /* tcm.xx_byp_msg_up_bnd_0 .. tcm.xx_byp_msg_up_bnd_7 (8 regs) */
0x08460205, /* tcm.n_sm_con_ctx_ld_0 .. tcm.n_sm_con_ctx_ld_7 (8 regs) */
0x08460228, /* tcm.agg_con_ctx_size_0 .. tcm.agg_con_ctx_size_7 (8 regs) */
@@ -1224,14 +1214,12 @@ static const u32 dump_reg[] = {
0x014602c1, /* tcm.is_ysem_fill_lvl (1 regs) */
0x014602e4, /* tcm.is_foc_ysem_nxt_inf_unit (1 regs) */
0x014602e8, /* tcm.is_foc_tsdm_nxt_inf_unit (1 regs) */
- 0x12190000, /* block mcm */
+ 0x10190000, /* block mcm */
0x08480101, /* mcm.qm_con_base_evnt_id_0 .. mcm.qm_con_base_evnt_id_7 (8 regs) */
0x10480111, /* mcm.qm_agg_con_ctx_part_size_0 .. mcm.qm_sm_con_ctx_ldst_flg_7 (16 regs) */
0x10480141, /* mcm.qm_xxlock_cmd_0 .. mcm.qm_con_use_st_flg_7 (16 regs) */
0x01480183, /* mcm.ysem_weight (1 regs) */
0x01480186, /* mcm.msdm_weight (1 regs) */
- 0x01480194, /* mcm.msdm_frwrd_mode (1 regs) */
- 0x01480199, /* mcm.ysem_frwrd_mode (1 regs) */
0x084801dc, /* mcm.xx_byp_msg_up_bnd_0 .. mcm.xx_byp_msg_up_bnd_7 (8 regs) */
0x08480205, /* mcm.n_sm_con_ctx_ld_0 .. mcm.n_sm_con_ctx_ld_7 (8 regs) */
0x08480228, /* mcm.agg_con_ctx_size_0 .. mcm.agg_con_ctx_size_7 (8 regs) */
@@ -1243,7 +1231,7 @@ static const u32 dump_reg[] = {
0x014802c4, /* mcm.is_ysem_fill_lvl (1 regs) */
0x014802e4, /* mcm.is_foc_ysem_nxt_inf_unit (1 regs) */
0x014802e6, /* mcm.is_foc_msdm_nxt_inf_unit (1 regs) */
- 0x091a0000, /* block ucm */
+ 0x081a0000, /* block ucm */
0x084a0101, /* ucm.qm_con_base_evnt_id_0 .. ucm.qm_con_base_evnt_id_7 (8 regs) */
0x104a0111, /* ucm.qm_agg_con_ctx_part_size_0 .. ucm.qm_sm_con_ctx_ldst_flg_7 (16 regs) */
0x104a0131, /* ucm.qm_xxlock_cmd_0 .. ucm.qm_con_use_st_flg_7 (16 regs) */
@@ -1251,14 +1239,11 @@ static const u32 dump_reg[] = {
0x084a01dc, /* ucm.xx_byp_msg_up_bnd_0 .. ucm.xx_byp_msg_up_bnd_7 (8 regs) */
0x084a0205, /* ucm.n_sm_con_ctx_ld_0 .. ucm.n_sm_con_ctx_ld_7 (8 regs) */
0x084a0228, /* ucm.agg_con_ctx_size_0 .. ucm.agg_con_ctx_size_7 (8 regs) */
- 0x074a0245, /* ucm.agg_con_cf0_q .. ucm.agg_con_cf6_q (7 regs) */
- 0x054a0255, /* ucm.agg_task_cf0_q .. ucm.agg_task_cf4_q (5 regs) */
- 0x101b0000, /* block xcm */
+ 0x154a0245, /* ucm.agg_con_cf0_q .. ucm.agg_task_cf4_q (21 regs) */
+ 0x0e1b0000, /* block xcm */
0x30400101, /* xcm.qm_con_base_evnt_id_0 .. xcm.tm_con_evnt_id_7 (48 regs) */
0x01400184, /* xcm.ysem_weight (1 regs) */
0x01400188, /* xcm.msdm_weight (1 regs) */
- 0x01400197, /* xcm.msdm_frwrd_mode (1 regs) */
- 0x0140019d, /* xcm.ysem_frwrd_mode (1 regs) */
0x084001d9, /* xcm.xx_byp_msg_up_bnd_0 .. xcm.xx_byp_msg_up_bnd_7 (8 regs) */
0x08400203, /* xcm.n_sm_con_ctx_ld_0 .. xcm.n_sm_con_ctx_ld_7 (8 regs) */
0x08400215, /* xcm.agg_con_ctx_size_0 .. xcm.agg_con_ctx_size_7 (8 regs) */
@@ -1270,30 +1255,30 @@ static const u32 dump_reg[] = {
0x014002ca, /* xcm.is_ysem_fill_lvl (1 regs) */
0x014002e5, /* xcm.is_foc_ysem_nxt_inf_unit (1 regs) */
0x014002e8, /* xcm.is_foc_msdm_nxt_inf_unit (1 regs) */
- 0x0f1c0000, /* block ycm */
+ 0x0d1c0000, /* block ycm */
0x08420101, /* ycm.qm_con_base_evnt_id_0 .. ycm.qm_con_base_evnt_id_7 (8 regs) */
0x10420111, /* ycm.qm_agg_con_ctx_part_size_0 .. ycm.qm_sm_con_ctx_ldst_flg_7 (16 regs) */
0x10420141, /* ycm.qm_xxlock_cmd_0 .. ycm.qm_con_use_st_flg_7 (16 regs) */
0x01420186, /* ycm.msdm_weight (1 regs) */
- 0x01420193, /* ycm.msdm_frwrd_mode (1 regs) */
0x084201dc, /* ycm.xx_byp_msg_up_bnd_0 .. ycm.xx_byp_msg_up_bnd_7 (8 regs) */
0x08420205, /* ycm.n_sm_con_ctx_ld_0 .. ycm.n_sm_con_ctx_ld_7 (8 regs) */
0x08420228, /* ycm.agg_con_ctx_size_0 .. ycm.agg_con_ctx_size_7 (8 regs) */
- 0x03420245, /* ycm.agg_con_cf0_q .. ycm.agg_con_cf2_q (3 regs) */
- 0x0942024d, /* ycm.agg_task_cf0_q .. ycm.agg_task_rule6_q (9 regs) */
+ 0x11420245, /* ycm.agg_con_cf0_q .. ycm.agg_task_rule6_q (17 regs) */
0x014202aa, /* ycm.msdm_length_mis (1 regs) */
0x014202b1, /* ycm.msdm_msg_cntr (1 regs) */
0x014202bd, /* ycm.is_msdm_fill_lvl (1 regs) */
0x014202e4, /* ycm.is_foc_ysem_nxt_inf_unit (1 regs) */
0x014202e6, /* ycm.is_foc_msdm_nxt_inf_unit (1 regs) */
- 0x071d0000, /* block pcm */
+ 0x061d0000, /* block pcm */
0x01440184, /* pcm.psdm_weight (1 regs) */
- 0x0144018d, /* pcm.psdm_frwrd_mode (1 regs) */
0x08440202, /* pcm.n_sm_con_ctx_ld_0 .. pcm.n_sm_con_ctx_ld_7 (8 regs) */
0x014402aa, /* pcm.psdm_length_mis (1 regs) */
0x014402af, /* pcm.psdm_msg_cntr (1 regs) */
0x014402b3, /* pcm.is_psdm_fill_lvl (1 regs) */
0x014402e4, /* pcm.is_foc_psdm_nxt_inf_unit (1 regs) */
+ 0x021e0000, /* block qm */
+ 0x280bc448, /* qm.CtxRegCcfc_0 .. qm.CtxRegCcfc_39 (40 regs) */
+ 0x280bc4c8, /* qm.ActCtrInitValCcfc_0 .. qm.ActCtrInitValCcfc_39 (40 regs) */
0x03200000, /* block dorq */
0x1004012d, /* dorq.qm_en_byp_mask_0 .. dorq.dpi_val_sup_7 (16 regs) */
0x38040185, /* dorq.xcm_agg_flg_mask_conn_0 .. dorq.dpm_xcm_event_id_7 (56 regs) */
@@ -1303,6 +1288,12 @@ static const u32 dump_reg[] = {
0x0807c051, /* prs.con_inc_value_0 .. prs.con_inc_value_7 (8 regs) */
0x0807c245, /* prs.cm_hdr_event_id_0 .. prs.cm_hdr_event_id_7 (8 regs) */
0x1007c25f, /* prs.output_format_0_0 .. prs.output_format_7_1 (16 regs) */
+ 0x01310000, /* block tmld */
+ 0x02134001, /* tmld.scbd_wrr_weight_q0 .. tmld.scbd_wrr_weight_q1 (2 regs) */
+ 0x01340000, /* block xyld */
+ 0x02130001, /* xyld.scbd_wrr_weight_q0 .. xyld.scbd_wrr_weight_q1 (2 regs) */
+ 0x013c0000, /* block pbf */
+ 0x013603a8, /* pbf.eco_reserved (1 regs) */
0x04010025, /* mode !bb, block miscs */
0x0100245c, /* miscs.bsc_smbio_enable_glitch_filter (1 regs) */
0x060024f0, /* miscs.pcie_link_up_state .. miscs.main_pll_status (6 regs) */
@@ -1548,107 +1539,18 @@ static const u32 dump_reg[] = {
0x02530000, /* block led */
0x061ae006, /* led.mac_led_swap .. led.eco_reserved (6 regs) */
0x021ae060, /* led.INT_STS_0 .. led.INT_MASK_0 (2 regs) */
- 0x08010015, /* mode !(k2|e5), block miscs */
- 0x03002458, /* miscs.memctrl_wr_rd_n .. miscs.memctrl_address (3 regs) */
- 0x02002464, /* miscs.INT_STS_1 .. miscs.INT_MASK_1 (2 regs) */
- 0x010025c1, /* miscs.nig_dbg_vector (1 regs) */
- 0x030025e8, /* miscs.pcie_rst_prepared_assert_cnt .. miscs.pcie_rst_deassert_cnt (3 regs) */
- 0x010025ec, /* miscs.pcie_rst_n (1 regs) */
- 0x030025ef, /* miscs.avs_otp_sram_ctrl .. miscs.avs_otp_ctrl_vmgmt (3 regs) */
- 0x060025f4, /* miscs.avs_pvtmon_daccode .. miscs.opte_almfull_thr (6 regs) */
- 0x040025fb, /* miscs.avs_clock_observe .. miscs.avs_tp_out (4 regs) */
- 0x01020000, /* block misc */
- 0x02002301, /* misc.xmac_phy_port_mode .. misc.xmac_core_port_mode (2 regs) */
- 0x01040000, /* block pglue_b */
- 0x030aa12f, /* pglue_b.memctrl_wr_rd_n .. pglue_b.memctrl_address (3 regs) */
- 0x04050000, /* block cnig */
- 0x02086080, /* cnig.nw_port_mode .. cnig.nw_serdes_swap (2 regs) */
- 0x25086095, /* cnig.mac_led_swap .. cnig.cnig_dbg_ifmux_phy_lasi_b (37 regs) */
- 0x010860be, /* cnig.cnig_dbg_nigtx_fifo_afull_thresh_large (1 regs) */
- 0x0a0860c8, /* cnig.pmeg_sign_ext .. cnig.pmfc_crc_tx_corrupt_on_error (10 regs) */
- 0x26150000, /* block pglcs */
- 0x05000902, /* pglcs.pgl_cs.config_2 .. pglcs.pgl_cs.pci_extended_bar_siz (5 regs) */
- 0x0800090a, /* pglcs.pgl_cs.reg_vpd_intf .. pglcs.pgl_cs.reg_id_val5 (8 regs) */
- 0x04000913, /* pglcs.pgl_cs.reg_id_val6 .. pglcs.pgl_cs.reg_msi_addr_l (4 regs) */
- 0x03000919, /* pglcs.pgl_cs.reg_msi_mask .. pglcs.pgl_cs.reg_pm_data_c (3 regs) */
- 0x03000930, /* pglcs.pgl_cs.reg_msix_control .. pglcs.pgl_cs.reg_msix_pba_off_bir (3 regs) */
- 0x1a000934, /* pglcs.pgl_cs.reg_pcie_capability .. pglcs.pgl_cs.reg_pwr_bdgt_data_8 (26 regs) */
- 0x02000950, /* pglcs.pgl_cs.reg_l1sub_cap .. pglcs.pgl_cs.reg_l1sub_ext_cap (2 regs) */
- 0x06000954, /* pglcs.pgl_cs.reg_pwr_bdgt_capability .. pglcs.pgl_cs.reg_rc_user_mem_hi2 (6 regs) */
- 0x1000097b, /* pglcs.pgl_cs.reg_PCIER_MC_WINDOW_SIZE_REQ .. pglcs.pgl_cs.reg_vf_nsp (16 regs) */
- 0x0200098c, /* pglcs.pgl_cs.reg_ats_inld_queue_depth .. pglcs.pgl_cs.reg_VFTPH_CAP (2 regs) */
- 0x0e000a00, /* pglcs.pgl_cs.tl_control_0 .. pglcs.pgl_cs.user_control_8 (14 regs) */
- 0x0c000a0f, /* pglcs.pgl_cs.tl_control_6 .. pglcs.pgl_cs.tl_rst_ctrl (12 regs) */
- 0x0a000a1c, /* pglcs.pgl_cs.tl_obff_ctrl .. pglcs.pgl_cs.tl_func14to15_stat (10 regs) */
- 0x29000a40, /* pglcs.pgl_cs.tl_status_0 .. pglcs.pgl_cs.tl_rst_debug (41 regs) */
- 0x01000a81, /* pglcs.pgl_cs.tl_iov_vfctl_0 (1 regs) */
- 0x02000a84, /* pglcs.pgl_cs.tl_fcimm_np_limit .. pglcs.pgl_cs.tl_fcimm_p_limit (2 regs) */
- 0x0a000a87, /* pglcs.pgl_cs.reg_capena_fn0_mask .. pglcs.pgl_cs.ptm_mstr_prop_dly (10 regs) */
- 0x0a000a94, /* pglcs.pgl_cs.PCIER_TL_STAT_TX_CTL .. pglcs.pgl_cs.PCIER_TL_STAT_RX_CTR_HI (10 regs) */
- 0x05000b00, /* pglcs.pgl_cs.PCIER_DBG_FIFO_CTLSTAT .. pglcs.pgl_cs.PCIER_TLPL_DBG_FIFO_CTL (5 regs) */
- 0x1a000b06, /* pglcs.pgl_cs.PCIER_DBG_FIFO_RD_9 .. pglcs.pgl_cs.PCIER_TLDA1_RDFIFO_0 (26 regs) */
- 0x0f000c00, /* pglcs.pgl_cs.pdl_control_0 .. pglcs.pgl_cs.pdl_control_14 (15 regs) */
- 0x08000c10, /* pglcs.pgl_cs.DLATTN_VEC .. pglcs.pgl_cs.dl_spare0 (8 regs) */
- 0x09000c40, /* pglcs.pgl_cs.mdio_addr .. pglcs.pgl_cs.ate_tlp_ctl (9 regs) */
- 0x03000c4c, /* pglcs.pgl_cs.serdes_pmi_addr .. pglcs.pgl_cs.serdes_pmi_rdata (3 regs) */
- 0x14000d00, /* pglcs.pgl_cs.dl_dbg_0 .. pglcs.pgl_cs.dl_dbg_19 (20 regs) */
- 0x0a000e00, /* pglcs.pgl_cs.reg_phy_ctl_0 .. pglcs.pgl_cs.phy_err_attn_mask (10 regs) */
- 0x08000e0c, /* pglcs.pgl_cs.reg_phy_ctl_8 .. pglcs.pgl_cs.reg_phy_ctl_15 (8 regs) */
- 0x04000e15, /* pglcs.pgl_cs.reg_phy_ctl_16 .. pglcs.pgl_cs.pl_gen3_ena_frmerr (4 regs) */
- 0x05000e40, /* pglcs.pgl_cs.pl_lpbk_master_ctl0 .. pglcs.pgl_cs.pl_lpbk_master_tx_setting (5 regs) */
- 0x01000e4c, /* pglcs.pgl_cs.pl_sw_ltssm_ctl (1 regs) */
- 0x10000e50, /* pglcs.pgl_cs.pcie_statis_ctl .. pglcs.pgl_cs.pcie_rxtlperr_statis (16 regs) */
- 0x06000e68, /* pglcs.pgl_cs.ltssm_statis_ctl .. pglcs.pgl_cs.ltssm_statis_cnt (6 regs) */
- 0x09000f00, /* pglcs.pgl_cs.Received_MCP_Errors_1512 .. pglcs.pgl_cs.rx_fts_limit (9 regs) */
- 0x06000f34, /* pglcs.pgl_cs.fts_hist .. pglcs.pgl_cs.recovery_hist_1 (6 regs) */
- 0x28000f3b, /* pglcs.pgl_cs.phy_ltssm_hist_0 .. pglcs.pgl_cs.phy_dbg_sed_extcfg_74 (40 regs) */
- 0x01000f64, /* pglcs.pgl_cs.phy_dbg_preset_lut (1 regs) */
- 0x01000f80, /* pglcs.pgl_cs.phy_dbg_muxed_sigs (1 regs) */
- 0x05000f84, /* pglcs.pgl_cs.phy_dbg_clkreq_0 .. pglcs.pgl_cs.misc_dbg_status (5 regs) */
- 0x01160000, /* block dmae */
- 0x03003140, /* dmae.memctrl_wr_rd_n .. dmae.memctrl_address (3 regs) */
- 0x011a0000, /* block ucm */
- 0x034a0010, /* ucm.memctrl_wr_rd_n .. ucm.memctrl_address (3 regs) */
- 0x01200000, /* block dorq */
- 0x030402b0, /* dorq.memctrl_wr_rd_n .. dorq.memctrl_address (3 regs) */
- 0x01210000, /* block brb */
- 0x040d0700, /* brb.memctrl_wr_rd_n .. brb.memctrl_status (4 regs) */
- 0x01230000, /* block prs */
- 0x0707c3e0, /* prs.cam_bist_en .. prs.cam_bist_dbg_compare_en (7 regs) */
- 0x012a0000, /* block tsem */
- 0x045d0330, /* tsem.fast_memory.memctrl_wr_rd_n .. tsem.fast_memory.memctrl_status (4 regs) */
- 0x012b0000, /* block msem */
- 0x04610330, /* msem.fast_memory.memctrl_wr_rd_n .. msem.fast_memory.memctrl_status (4 regs) */
- 0x012c0000, /* block usem */
- 0x04650330, /* usem.fast_memory.memctrl_wr_rd_n .. usem.fast_memory.memctrl_status (4 regs) */
- 0x012d0000, /* block xsem */
- 0x04510330, /* xsem.fast_memory.memctrl_wr_rd_n .. xsem.fast_memory.memctrl_status (4 regs) */
- 0x012e0000, /* block ysem */
- 0x04550330, /* ysem.fast_memory.memctrl_wr_rd_n .. ysem.fast_memory.memctrl_status (4 regs) */
- 0x012f0000, /* block psem */
- 0x04590330, /* psem.fast_memory.memctrl_wr_rd_n .. psem.fast_memory.memctrl_status (4 regs) */
- 0x01300000, /* block rss */
- 0x0408e322, /* rss.memctrl_wr_rd_n .. rss.memctrl_status (4 regs) */
- 0x013c0000, /* block pbf */
- 0x03360040, /* pbf.memctrl_wr_rd_n .. pbf.memctrl_address (3 regs) */
- 0x013f0000, /* block cdu */
- 0x041601d3, /* cdu.memctrl_wr_rd_n .. cdu.memctrl_status (4 regs) */
- 0x01420000, /* block igu */
- 0x07060018, /* igu.cam_bist_en .. igu.cam_bist_dbg_compare_en (7 regs) */
- 0x024a0000, /* block dbg */
- 0x0a0042b0, /* dbg.cpu_mbist_memctrl_0_cntrl_cmd .. dbg.cpu_mbist_memctrl_9_cntrl_cmd (10 regs) */
- 0x030042e5, /* dbg.memctrl_wr_rd_n .. dbg.memctrl_address (3 regs) */
- 0x024b0000, /* block nig */
- 0x04142218, /* nig.user_one_step_type .. nig.ts_shift (4 regs) */
- 0x0114221e, /* nig.user_one_step_32 (1 regs) */
0x01040003, /* mode !(bb|k2), block pglue_b */
0x020aa13a, /* pglue_b.dorq_access_via_bar0 .. pglue_b.vsc_en (2 regs) */
0x010d0000, /* block pswhst */
0x010a8031, /* pswhst.dest_dorq_credits (1 regs) */
0x01110000, /* block pswwr */
- 0x030a6833, /* pswwr.prm_sec_full_th .. pswwr.tgfs_full_th (3 regs) */
+ 0x030a6833, /* pswwr.prms_full_th .. pswwr.tgsrc_full_th (3 regs) */
+ 0x01120000, /* block pswwr2 */
+ 0x030a6c1a, /* pswwr2.prms_full_th2 .. pswwr2.prms_max_fill_level (3 regs) */
+ 0x01160000, /* block dmae */
+ 0x01003032, /* dmae.go_sticky (1 regs) */
0x01170000, /* block ptu */
- 0x0115817f, /* ptu.index2_rsc_type_mask (1 regs) */
+ 0x0515817b, /* ptu.LOG_INV_HALT_RSC_TYPE .. ptu.index2_rsc_type_mask (5 regs) */
0x0c180000, /* block tcm */
0x2c460022, /* tcm.affinity_type_0 .. tcm.agg_con_cf11_q (44 regs) */
0x0b46015a, /* tcm.agg_con_rule0_q .. tcm.agg_con_rule10_q (11 regs) */
@@ -1656,10 +1558,10 @@ static const u32 dump_reg[] = {
0x134601e9, /* tcm.err_affinity_type .. tcm.xx_byp_msg_up_bnd_15 (19 regs) */
0x08460267, /* tcm.cm_task_event_id_bwidth_0 .. tcm.cm_task_event_id_bwidth_7 (8 regs) */
0x1046028e, /* tcm.cm_con_event_id_bwidth_0 .. tcm.cm_con_event_id_bwidth_15 (16 regs) */
- 0x86460640, /* tcm.tm_con_evnt_id_0 .. tcm.is_foc_tsdm_nxt_inf_unit (134 regs) */
- 0x064606e0, /* tcm.psdm_weight .. tcm.is_foc_psdm_nxt_inf_unit (6 regs) */
- 0x06460700, /* tcm.msdm_weight .. tcm.is_foc_msdm_nxt_inf_unit (6 regs) */
- 0x05460720, /* tcm.ysem_weight .. tcm.is_foc_ysem_nxt_inf_unit (5 regs) */
+ 0x85460640, /* tcm.tm_con_evnt_id_0 .. tcm.is_foc_tsdm_nxt_inf_unit (133 regs) */
+ 0x054606e0, /* tcm.psdm_weight .. tcm.is_foc_psdm_nxt_inf_unit (5 regs) */
+ 0x05460700, /* tcm.msdm_weight .. tcm.is_foc_msdm_nxt_inf_unit (5 regs) */
+ 0x04460720, /* tcm.ysem_weight .. tcm.is_foc_ysem_nxt_inf_unit (4 regs) */
0x05460780, /* tcm.ptld_weight .. tcm.is_foc_ptld_nxt_inf_unit (5 regs) */
0x08460a00, /* tcm.agg_task_cf0_q .. tcm.agg_task_cf7_q (8 regs) */
0x0c190000, /* block mcm */
@@ -1670,19 +1572,20 @@ static const u32 dump_reg[] = {
0x09480257, /* mcm.agg_task_rule7_q .. mcm.cm_task_event_id_bwidth_7 (9 regs) */
0x1048028c, /* mcm.cm_con_event_id_bwidth_0 .. mcm.cm_con_event_id_bwidth_15 (16 regs) */
0x70480740, /* mcm.n_sm_con_ctx_ld_0 .. mcm.qm_sm_con_ctx_ldst_flg_15 (112 regs) */
- 0x06480a00, /* mcm.tsdm_weight .. mcm.is_foc_tsdm_nxt_inf_unit (6 regs) */
- 0x06480a20, /* mcm.psdm_weight .. mcm.is_foc_psdm_nxt_inf_unit (6 regs) */
- 0x06480a40, /* mcm.msdm_weight .. mcm.is_foc_msdm_nxt_inf_unit (6 regs) */
- 0x05480a80, /* mcm.ysem_weight .. mcm.is_foc_ysem_nxt_inf_unit (5 regs) */
+ 0x05480a00, /* mcm.tsdm_weight .. mcm.is_foc_tsdm_nxt_inf_unit (5 regs) */
+ 0x05480a20, /* mcm.psdm_weight .. mcm.is_foc_psdm_nxt_inf_unit (5 regs) */
+ 0x05480a40, /* mcm.msdm_weight .. mcm.is_foc_msdm_nxt_inf_unit (5 regs) */
+ 0x04480a80, /* mcm.ysem_weight .. mcm.is_foc_ysem_nxt_inf_unit (4 regs) */
0x05480b80, /* mcm.agg_task_cf0_q .. mcm.agg_task_cf4_q (5 regs) */
- 0x081a0000, /* block ucm */
+ 0x091a0000, /* block ucm */
0x294a002a, /* ucm.affinity_type_0 .. ucm.agg_con_cf8_q (41 regs) */
+ 0x094a015a, /* ucm.agg_con_rule0_q .. ucm.agg_con_rule8_q (9 regs) */
0x014a01aa, /* ucm.ext_rd_fill_lvl (1 regs) */
0x134a01e9, /* ucm.err_affinity_type .. ucm.xx_byp_msg_up_bnd_15 (19 regs) */
0x0a4a0261, /* ucm.agg_task_rule7_q .. ucm.cm_task_event_id_bwidth_7 (10 regs) */
0x104a028e, /* ucm.cm_con_event_id_bwidth_0 .. ucm.cm_con_event_id_bwidth_15 (16 regs) */
0x804a0700, /* ucm.tm_con_evnt_id_0 .. ucm.qm_sm_con_ctx_ldst_flg_15 (128 regs) */
- 0x074a0a00, /* ucm.ring_base .. ucm.is_foc_ysem_nxt_inf_unit (7 regs) */
+ 0x064a0a00, /* ucm.ring_base .. ucm.is_foc_ysem_nxt_inf_unit (6 regs) */
0x064a0a80, /* ucm.agg_task_cf0_q .. ucm.agg_task_cf5_q (6 regs) */
0x071b0000, /* block xcm */
0x39400022, /* xcm.affinity_type_0 .. xcm.agg_con_cf24_q (57 regs) */
@@ -1690,24 +1593,26 @@ static const u32 dump_reg[] = {
0x014001a6, /* xcm.ext_rd_fill_lvl (1 regs) */
0x134001e6, /* xcm.err_affinity_type .. xcm.xx_byp_msg_up_bnd_15 (19 regs) */
0x1040028a, /* xcm.cm_con_event_id_bwidth_0 .. xcm.cm_con_event_id_bwidth_15 (16 regs) */
- 0x96400700, /* xcm.tm_con_evnt_id_0 .. xcm.is_foc_msdm_nxt_inf_unit (150 regs) */
- 0x054007c0, /* xcm.ysem_weight .. xcm.is_foc_ysem_nxt_inf_unit (5 regs) */
- 0x081c0000, /* block ycm */
+ 0x95400700, /* xcm.tm_con_evnt_id_0 .. xcm.is_foc_msdm_nxt_inf_unit (149 regs) */
+ 0x044007c0, /* xcm.ysem_weight .. xcm.is_foc_ysem_nxt_inf_unit (4 regs) */
+ 0x091c0000, /* block ycm */
0x23420022, /* ycm.affinity_type_0 .. ycm.agg_con_cf2_q (35 regs) */
+ 0x0542015a, /* ycm.agg_con_rule0_q .. ycm.agg_con_rule4_q (5 regs) */
0x014201a2, /* ycm.ext_rd_fill_lvl (1 regs) */
0x134201e9, /* ycm.err_affinity_type .. ycm.xx_byp_msg_up_bnd_15 (19 regs) */
0x10420251, /* ycm.agg_task_rule0_q .. ycm.cm_task_event_id_bwidth_7 (16 regs) */
0x1042028c, /* ycm.cm_con_event_id_bwidth_0 .. ycm.cm_con_event_id_bwidth_15 (16 regs) */
- 0x76420740, /* ycm.n_sm_con_ctx_ld_0 .. ycm.is_foc_msdm_nxt_inf_unit (118 regs) */
+ 0x75420740, /* ycm.n_sm_con_ctx_ld_0 .. ycm.is_foc_msdm_nxt_inf_unit (117 regs) */
0x01420900, /* ycm.is_foc_ysem_nxt_inf_unit (1 regs) */
0x04420b00, /* ycm.agg_task_cf0_q .. ycm.agg_task_cf4_q (4 regs) */
0x041d0000, /* block pcm */
0x01440194, /* pcm.ext_rd_fill_lvl (1 regs) */
0x034401d9, /* pcm.err_affinity_type .. pcm.err_src_affinity (3 regs) */
- 0x164405c4, /* pcm.n_sm_con_ctx_ld_0 .. pcm.is_foc_psdm_nxt_inf_unit (22 regs) */
+ 0x154405c4, /* pcm.n_sm_con_ctx_ld_0 .. pcm.is_foc_psdm_nxt_inf_unit (21 regs) */
0x054405f0, /* pcm.ypld_weight .. pcm.is_foc_ypld_nxt_inf_unit (5 regs) */
- 0x021e0000, /* block qm */
+ 0x031e0000, /* block qm */
0x080bd733, /* qm.Voq_Arb_Grp2_Weight_0 .. qm.Voq_Arb_Grp2_Weight_7 (8 regs) */
+ 0xa00bda00, /* qm.CtxRegCcfc_0 .. qm.ActCtrInitValCcfc_79 (160 regs) */
0x040bff80, /* qm.AFullQmBypThrLineVoqMask_msb .. qm.VoqCrdByteFull_msb (4 regs) */
0x08200000, /* block dorq */
0x010402ab, /* dorq.iedpm_payload_endianity (1 regs) */
@@ -1719,7 +1624,7 @@ static const u32 dump_reg[] = {
0x06040af6, /* dorq.iedpm_abort_reason .. dorq.iedpm_drop_details_db_icid (6 regs) */
0x41040afd, /* dorq.iedpm_drop_reason .. dorq.dpm_iedpm_success_cnt (65 regs) */
0x01210000, /* block brb */
- 0x020d0376, /* brb.wc_ll_high_pri .. brb.br_fix_high_pri_collision (2 regs) */
+ 0x090d1000, /* brb.wc_ll_high_pri .. brb.limit_oversubscrition_pause_lb (9 regs) */
0x0b230000, /* block prs */
0x0307c2ec, /* prs.fc_dbg_select_a .. prs.fc_dbg_shift_a (3 regs) */
0x0887c2f0, /* prs.fc_dbg_out_data_a (8 regs, WB) */
@@ -1729,7 +1634,7 @@ static const u32 dump_reg[] = {
0x0407c390, /* prs.fc_dbg_force_valid_b .. prs.fc_dbg_out_frame_b (4 regs) */
0x0107c3c0, /* prs.ptld_initial_credit (1 regs) */
0x0107c3c3, /* prs.ptld_current_credit (1 regs) */
- 0x0607c3ce, /* prs.rgfs_initial_credit .. prs.fce_max_parking_lot_valid_entries (6 regs) */
+ 0x0707c3ce, /* prs.rgfs_initial_credit .. prs.fce_use_single_fc_chicken_bit (7 regs) */
0xb907c500, /* prs.compare_gre_version .. prs.xrc_opcodes (185 regs) */
0x0407c5ba, /* prs.new_entry_exclusive_classify_failed .. prs.en_ipv6_ext_event_id (4 regs) */
0x01240000, /* block tsdm */
@@ -1741,8 +1646,8 @@ static const u32 dump_reg[] = {
0x035c0118, /* tsem.pb_wr_sdm_dma_mode .. tsem.gpi_data_b (3 regs) */
0x015c02c1, /* tsem.thread_error_low (1 regs) */
0x025c02c6, /* tsem.thread_number .. tsem.thread_error_high (2 regs) */
- 0x085c0404, /* tsem.sync_foc_fifo_wr_alm_full .. tsem.fic1_a_max_thrds (8 regs) */
- 0x035c045b, /* tsem.pb_queue_empty .. tsem.sync_foc_pre_fetch_fifo_empty (3 regs) */
+ 0x095c0404, /* tsem.sync_foc_fifo_wr_alm_full .. tsem.stall_on_breakpoint (9 regs) */
+ 0x055c045b, /* tsem.pb_queue_empty .. tsem.ext_store_pre_fetch_fifo_empty (5 regs) */
0x035c049f, /* tsem.sync_ready_fifo_full .. tsem.sync_foc_fifo_full (3 regs) */
0x105c050a, /* tsem.dbg_queue_peformance_mon_stat .. tsem.dbg_queue_max_sleep_value (16 regs) */
0x015d0122, /* tsem.fast_memory.stall_common (1 regs) */
@@ -1759,8 +1664,8 @@ static const u32 dump_reg[] = {
0x03600118, /* msem.pb_wr_sdm_dma_mode .. msem.gpi_data_b (3 regs) */
0x016002c1, /* msem.thread_error_low (1 regs) */
0x026002c6, /* msem.thread_number .. msem.thread_error_high (2 regs) */
- 0x08600404, /* msem.sync_foc_fifo_wr_alm_full .. msem.fic1_a_max_thrds (8 regs) */
- 0x0360045b, /* msem.pb_queue_empty .. msem.sync_foc_pre_fetch_fifo_empty (3 regs) */
+ 0x09600404, /* msem.sync_foc_fifo_wr_alm_full .. msem.stall_on_breakpoint (9 regs) */
+ 0x0560045b, /* msem.pb_queue_empty .. msem.ext_store_pre_fetch_fifo_empty (5 regs) */
0x0360049f, /* msem.sync_ready_fifo_full .. msem.sync_foc_fifo_full (3 regs) */
0x1060050a, /* msem.dbg_queue_peformance_mon_stat .. msem.dbg_queue_max_sleep_value (16 regs) */
0x01610122, /* msem.fast_memory.stall_common (1 regs) */
@@ -1777,8 +1682,8 @@ static const u32 dump_reg[] = {
0x03640118, /* usem.pb_wr_sdm_dma_mode .. usem.gpi_data_b (3 regs) */
0x016402c1, /* usem.thread_error_low (1 regs) */
0x026402c6, /* usem.thread_number .. usem.thread_error_high (2 regs) */
- 0x08640404, /* usem.sync_foc_fifo_wr_alm_full .. usem.fic1_a_max_thrds (8 regs) */
- 0x0364045b, /* usem.pb_queue_empty .. usem.sync_foc_pre_fetch_fifo_empty (3 regs) */
+ 0x09640404, /* usem.sync_foc_fifo_wr_alm_full .. usem.stall_on_breakpoint (9 regs) */
+ 0x0564045b, /* usem.pb_queue_empty .. usem.ext_store_pre_fetch_fifo_empty (5 regs) */
0x0364049f, /* usem.sync_ready_fifo_full .. usem.sync_foc_fifo_full (3 regs) */
0x1064050a, /* usem.dbg_queue_peformance_mon_stat .. usem.dbg_queue_max_sleep_value (16 regs) */
0x01650122, /* usem.fast_memory.stall_common (1 regs) */
@@ -1795,8 +1700,8 @@ static const u32 dump_reg[] = {
0x03500118, /* xsem.pb_wr_sdm_dma_mode .. xsem.gpi_data_b (3 regs) */
0x015002c1, /* xsem.thread_error_low (1 regs) */
0x025002c6, /* xsem.thread_number .. xsem.thread_error_high (2 regs) */
- 0x08500404, /* xsem.sync_foc_fifo_wr_alm_full .. xsem.fic1_a_max_thrds (8 regs) */
- 0x0350045b, /* xsem.pb_queue_empty .. xsem.sync_foc_pre_fetch_fifo_empty (3 regs) */
+ 0x09500404, /* xsem.sync_foc_fifo_wr_alm_full .. xsem.stall_on_breakpoint (9 regs) */
+ 0x0550045b, /* xsem.pb_queue_empty .. xsem.ext_store_pre_fetch_fifo_empty (5 regs) */
0x0350049f, /* xsem.sync_ready_fifo_full .. xsem.sync_foc_fifo_full (3 regs) */
0x1050050a, /* xsem.dbg_queue_peformance_mon_stat .. xsem.dbg_queue_max_sleep_value (16 regs) */
0x01510122, /* xsem.fast_memory.stall_common (1 regs) */
@@ -1813,8 +1718,8 @@ static const u32 dump_reg[] = {
0x03540118, /* ysem.pb_wr_sdm_dma_mode .. ysem.gpi_data_b (3 regs) */
0x015402c1, /* ysem.thread_error_low (1 regs) */
0x025402c6, /* ysem.thread_number .. ysem.thread_error_high (2 regs) */
- 0x08540404, /* ysem.sync_foc_fifo_wr_alm_full .. ysem.fic1_a_max_thrds (8 regs) */
- 0x0354045b, /* ysem.pb_queue_empty .. ysem.sync_foc_pre_fetch_fifo_empty (3 regs) */
+ 0x09540404, /* ysem.sync_foc_fifo_wr_alm_full .. ysem.stall_on_breakpoint (9 regs) */
+ 0x0554045b, /* ysem.pb_queue_empty .. ysem.ext_store_pre_fetch_fifo_empty (5 regs) */
0x0354049f, /* ysem.sync_ready_fifo_full .. ysem.sync_foc_fifo_full (3 regs) */
0x1054050a, /* ysem.dbg_queue_peformance_mon_stat .. ysem.dbg_queue_max_sleep_value (16 regs) */
0x01550122, /* ysem.fast_memory.stall_common (1 regs) */
@@ -1831,8 +1736,8 @@ static const u32 dump_reg[] = {
0x03580118, /* psem.pb_wr_sdm_dma_mode .. psem.gpi_data_b (3 regs) */
0x015802c1, /* psem.thread_error_low (1 regs) */
0x025802c6, /* psem.thread_number .. psem.thread_error_high (2 regs) */
- 0x08580404, /* psem.sync_foc_fifo_wr_alm_full .. psem.fic1_a_max_thrds (8 regs) */
- 0x0358045b, /* psem.pb_queue_empty .. psem.sync_foc_pre_fetch_fifo_empty (3 regs) */
+ 0x09580404, /* psem.sync_foc_fifo_wr_alm_full .. psem.stall_on_breakpoint (9 regs) */
+ 0x0558045b, /* psem.pb_queue_empty .. psem.ext_store_pre_fetch_fifo_empty (5 regs) */
0x0358049f, /* psem.sync_ready_fifo_full .. psem.sync_foc_fifo_full (3 regs) */
0x1058050a, /* psem.dbg_queue_peformance_mon_stat .. psem.dbg_queue_max_sleep_value (16 regs) */
0x01590122, /* psem.fast_memory.stall_common (1 regs) */
@@ -1845,30 +1750,56 @@ static const u32 dump_reg[] = {
0x01300000, /* block rss */
0x0408e326, /* rss.fifo_full_status1 .. rss.state_machines1 (4 regs) */
0x01310000, /* block tmld */
- 0x19134240, /* tmld.l2ma_aggr_config1 .. tmld.ld_max_msg_size (25 regs) */
+ 0x3a134240, /* tmld.l2ma_aggr_config1 .. tmld.scbd_wrr_weight_q3 (58 regs) */
0x01320000, /* block muld */
- 0x1a138500, /* muld.l2ma_aggr_config1 .. muld.page_size (26 regs) */
+ 0x37138500, /* muld.l2ma_aggr_config1 .. muld.page_size (55 regs) */
0x01340000, /* block xyld */
- 0x19130240, /* xyld.l2ma_aggr_config1 .. xyld.ld_max_msg_size (25 regs) */
+ 0x3a130240, /* xyld.l2ma_aggr_config1 .. xyld.scbd_wrr_weight_q3 (58 regs) */
0x06350000, /* block ptld */
- 0x10164000, /* ptld.foci_foc_credits .. ptld.cm_hdr_127_96 (16 regs) */
- 0x03164011, /* ptld.stat_fic_msg .. ptld.len_err_log_2 (3 regs) */
- 0x01164015, /* ptld.len_err_log_v (1 regs) */
- 0x02164060, /* ptld.INT_STS .. ptld.INT_MASK (2 regs) */
- 0x19164300, /* ptld.l2ma_aggr_config1 .. ptld.ld_max_msg_size (25 regs) */
- 0x05164580, /* ptld.dbg_select .. ptld.dbg_force_frame (5 regs) */
+ 0x10168000, /* ptld.foci_foc_credits .. ptld.cm_hdr_127_96 (16 regs) */
+ 0x03168011, /* ptld.stat_fic_msg .. ptld.len_err_log_2 (3 regs) */
+ 0x01168015, /* ptld.len_err_log_v (1 regs) */
+ 0x02168060, /* ptld.INT_STS .. ptld.INT_MASK (2 regs) */
+ 0x36168300, /* ptld.l2ma_aggr_config1 .. ptld.ld_max_msg_size (54 regs) */
+ 0x05168580, /* ptld.dbg_select .. ptld.dbg_force_frame (5 regs) */
0x06360000, /* block ypld */
- 0x1016c000, /* ypld.foci_foc_credits .. ypld.cm_hdr_127_96 (16 regs) */
- 0x0316c011, /* ypld.stat_fic_msg .. ypld.len_err_log_2 (3 regs) */
- 0x0116c015, /* ypld.len_err_log_v (1 regs) */
- 0x0216c060, /* ypld.INT_STS .. ypld.INT_MASK (2 regs) */
- 0x1916c300, /* ypld.l2ma_aggr_config1 .. ypld.ld_max_msg_size (25 regs) */
- 0x0516c580, /* ypld.dbg_select .. ypld.dbg_force_frame (5 regs) */
+ 0x10170000, /* ypld.foci_foc_credits .. ypld.cm_hdr_127_96 (16 regs) */
+ 0x03170011, /* ypld.stat_fic_msg .. ypld.len_err_log_2 (3 regs) */
+ 0x01170015, /* ypld.len_err_log_v (1 regs) */
+ 0x02170060, /* ypld.INT_STS .. ypld.INT_MASK (2 regs) */
+ 0x36170300, /* ypld.l2ma_aggr_config1 .. ypld.ld_max_msg_size (54 regs) */
+ 0x05170580, /* ypld.dbg_select .. ypld.dbg_force_frame (5 regs) */
+ 0x01370000, /* block prm */
+ 0x1308c182, /* prm.num_of_wdone .. prm.num_of_xcm_done (19 regs) */
0x013b0000, /* block btb */
- 0x0236c217, /* btb.wc_ll_high_pri .. btb.br_fix_high_pri_collision (2 regs) */
- 0x023c0000, /* block pbf */
+ 0x0236d000, /* btb.wc_ll_high_pri .. btb.br_fix_high_pri_collision (2 regs) */
+ 0x163c0000, /* block pbf */
+ 0x03360002, /* pbf.sal_cache_init_done .. pbf.sal_cam_scrub_miss_en (3 regs) */
0x0236010c, /* pbf.tgfs_main_if_init_crd .. pbf.tgfs_side_if_init_crd (2 regs) */
0x0836014a, /* pbf.same_as_last_config .. pbf.num_lookups_in_sal (8 regs) */
+ 0x0236016a, /* pbf.event_id_mask_config .. pbf.event_id_l2_tags_exist_mask_config (2 regs) */
+ 0x0136019d, /* pbf.per_voq_stat_mask_loopback (1 regs) */
+ 0x0c3602e8, /* pbf.ycmd_qs_num_lines_voq20 .. pbf.num_blocks_allocated_cons_voq20 (12 regs) */
+ 0x0c3602f8, /* pbf.ycmd_qs_num_lines_voq21 .. pbf.num_blocks_allocated_cons_voq21 (12 regs) */
+ 0x0c360308, /* pbf.ycmd_qs_num_lines_voq22 .. pbf.num_blocks_allocated_cons_voq22 (12 regs) */
+ 0x0c360318, /* pbf.ycmd_qs_num_lines_voq23 .. pbf.num_blocks_allocated_cons_voq23 (12 regs) */
+ 0x0c360328, /* pbf.ycmd_qs_num_lines_voq24 .. pbf.num_blocks_allocated_cons_voq24 (12 regs) */
+ 0x0c360338, /* pbf.ycmd_qs_num_lines_voq25 .. pbf.num_blocks_allocated_cons_voq25 (12 regs) */
+ 0x0c360348, /* pbf.ycmd_qs_num_lines_voq26 .. pbf.num_blocks_allocated_cons_voq26 (12 regs) */
+ 0x0c360358, /* pbf.ycmd_qs_num_lines_voq27 .. pbf.num_blocks_allocated_cons_voq27 (12 regs) */
+ 0x0c360368, /* pbf.ycmd_qs_num_lines_voq28 .. pbf.num_blocks_allocated_cons_voq28 (12 regs) */
+ 0x0c360378, /* pbf.ycmd_qs_num_lines_voq29 .. pbf.num_blocks_allocated_cons_voq29 (12 regs) */
+ 0x0c360388, /* pbf.ycmd_qs_num_lines_voq30 .. pbf.num_blocks_allocated_cons_voq30 (12 regs) */
+ 0x0c360398, /* pbf.ycmd_qs_num_lines_voq31 .. pbf.num_blocks_allocated_cons_voq31 (12 regs) */
+ 0x0c3603a8, /* pbf.ycmd_qs_num_lines_voq32 .. pbf.num_blocks_allocated_cons_voq32 (12 regs) */
+ 0x0c3603b8, /* pbf.ycmd_qs_num_lines_voq33 .. pbf.num_blocks_allocated_cons_voq33 (12 regs) */
+ 0x0c3603c8, /* pbf.ycmd_qs_num_lines_voq34 .. pbf.num_blocks_allocated_cons_voq34 (12 regs) */
+ 0x0c3603d8, /* pbf.ycmd_qs_num_lines_voq35 .. pbf.num_blocks_allocated_cons_voq35 (12 regs) */
+ 0x013603e8, /* pbf.eco_reserved (1 regs) */
+ 0x013d0000, /* block rdif */
+ 0x010c0038, /* rdif.e4_backward_compatible_mode (1 regs) */
+ 0x013e0000, /* block tdif */
+ 0x090c4040, /* tdif.stat_num_err_interval_8 .. tdif.e4_backward_compatible_mode (9 regs) */
0x01400000, /* block ccfc */
0x010b8204, /* ccfc.eio_threshold (1 regs) */
0x01410000, /* block tcfc */
@@ -1880,140 +1811,144 @@ static const u32 dump_reg[] = {
0x020c8060, /* rgsrc.INT_STS .. rgsrc.INT_MASK (2 regs) */
0x010c8080, /* rgsrc.eco_reserved (1 regs) */
0x040c8100, /* rgsrc.cache_en .. rgsrc.max_hops (4 regs) */
- 0x040c8108, /* rgsrc.pxp_ctrl .. rgsrc.num_inhouse_cmd (4 regs) */
- 0x090c810d, /* rgsrc.num_src_cmd .. rgsrc.num_src_cmd_hit_hop_3_or_more (9 regs) */
+ 0x040c8114, /* rgsrc.pxp_ctrl .. rgsrc.num_inhouse_cmd (4 regs) */
+ 0x090c8119, /* rgsrc.num_src_cmd .. rgsrc.num_src_cmd_hit_hop_3_or_more (9 regs) */
0x06470000, /* block tgsrc */
0x050c8810, /* tgsrc.dbg_select .. tgsrc.dbg_force_frame (5 regs) */
0x020c8860, /* tgsrc.INT_STS .. tgsrc.INT_MASK (2 regs) */
0x010c8880, /* tgsrc.eco_reserved (1 regs) */
0x040c8900, /* tgsrc.cache_en .. tgsrc.max_hops (4 regs) */
- 0x040c8908, /* tgsrc.pxp_ctrl .. tgsrc.num_inhouse_cmd (4 regs) */
- 0x090c890d, /* tgsrc.num_src_cmd .. tgsrc.num_src_cmd_hit_hop_3_or_more (9 regs) */
+ 0x040c8914, /* tgsrc.pxp_ctrl .. tgsrc.num_inhouse_cmd (4 regs) */
+ 0x090c8919, /* tgsrc.num_src_cmd .. tgsrc.num_src_cmd_hit_hop_3_or_more (9 regs) */
0x014a0000, /* block dbg */
- 0x010042ea, /* dbg.filter_mode (1 regs) */
+ 0x020042ea, /* dbg.filter_mode .. dbg.trigger_semi_core (2 regs) */
0x034b0000, /* block nig */
0x0214003c, /* nig.INT_STS_10 .. nig.INT_MASK_10 (2 regs) */
0x01143600, /* nig.tx_bmb_fifo_alm_full_thr (1 regs) */
0x29143603, /* nig.tx_ooo_rfifo_full .. nig.ipv6_ext_authentication_hdr_type_valid (41 regs) */
- 0x02210143, /* mode !(bb|e5), block brb */
- 0x020d044b, /* brb.rc_eop_inp_sync_fifo_push_status_2 .. brb.rc_eop_inp_sync_fifo_push_status_3 (2 regs) */
- 0x020d045a, /* brb.rc_eop_out_sync_fifo_push_status_2 .. brb.rc_eop_out_sync_fifo_push_status_3 (2 regs) */
- 0x0e2a0000, /* block tsem */
- 0x015d0087, /* tsem.fast_memory.reserved_21C (1 regs) */
- 0x015d008a, /* tsem.fast_memory.reserved_228 (1 regs) */
- 0x015d008d, /* tsem.fast_memory.reserved_234 (1 regs) */
- 0x015d008f, /* tsem.fast_memory.reserved_23C (1 regs) */
- 0x015d0091, /* tsem.fast_memory.reserved_244 (1 regs) */
- 0x015d0094, /* tsem.fast_memory.reserved_250 (1 regs) */
- 0x015d0096, /* tsem.fast_memory.reserved_258 (1 regs) */
- 0x015d0098, /* tsem.fast_memory.reserved_260 (1 regs) */
- 0x015d009a, /* tsem.fast_memory.reserved_268 (1 regs) */
- 0x015d009c, /* tsem.fast_memory.reserved_270 (1 regs) */
- 0x015d009e, /* tsem.fast_memory.reserved_278 (1 regs) */
- 0x015d00a0, /* tsem.fast_memory.reserved_280 (1 regs) */
- 0x0f5d00a2, /* tsem.fast_memory.reserved_288 .. tsem.fast_memory.reserved_2C0 (15 regs) */
- 0x025d00b3, /* tsem.fast_memory.reserved_2CC .. tsem.fast_memory.reserved_2D0 (2 regs) */
- 0x0e2b0000, /* block msem */
- 0x01610087, /* msem.fast_memory.reserved_21C (1 regs) */
- 0x0161008a, /* msem.fast_memory.reserved_228 (1 regs) */
- 0x0161008d, /* msem.fast_memory.reserved_234 (1 regs) */
- 0x0161008f, /* msem.fast_memory.reserved_23C (1 regs) */
- 0x01610091, /* msem.fast_memory.reserved_244 (1 regs) */
- 0x01610094, /* msem.fast_memory.reserved_250 (1 regs) */
- 0x01610096, /* msem.fast_memory.reserved_258 (1 regs) */
- 0x01610098, /* msem.fast_memory.reserved_260 (1 regs) */
- 0x0161009a, /* msem.fast_memory.reserved_268 (1 regs) */
- 0x0161009c, /* msem.fast_memory.reserved_270 (1 regs) */
- 0x0161009e, /* msem.fast_memory.reserved_278 (1 regs) */
- 0x016100a0, /* msem.fast_memory.reserved_280 (1 regs) */
- 0x0f6100a2, /* msem.fast_memory.reserved_288 .. msem.fast_memory.reserved_2C0 (15 regs) */
- 0x026100b3, /* msem.fast_memory.reserved_2CC .. msem.fast_memory.reserved_2D0 (2 regs) */
- 0x0e2c0000, /* block usem */
- 0x01650087, /* usem.fast_memory.reserved_21C (1 regs) */
- 0x0165008a, /* usem.fast_memory.reserved_228 (1 regs) */
- 0x0165008d, /* usem.fast_memory.reserved_234 (1 regs) */
- 0x0165008f, /* usem.fast_memory.reserved_23C (1 regs) */
- 0x01650091, /* usem.fast_memory.reserved_244 (1 regs) */
- 0x01650094, /* usem.fast_memory.reserved_250 (1 regs) */
- 0x01650096, /* usem.fast_memory.reserved_258 (1 regs) */
- 0x01650098, /* usem.fast_memory.reserved_260 (1 regs) */
- 0x0165009a, /* usem.fast_memory.reserved_268 (1 regs) */
- 0x0165009c, /* usem.fast_memory.reserved_270 (1 regs) */
- 0x0165009e, /* usem.fast_memory.reserved_278 (1 regs) */
- 0x016500a0, /* usem.fast_memory.reserved_280 (1 regs) */
- 0x0f6500a2, /* usem.fast_memory.reserved_288 .. usem.fast_memory.reserved_2C0 (15 regs) */
- 0x026500b3, /* usem.fast_memory.reserved_2CC .. usem.fast_memory.reserved_2D0 (2 regs) */
- 0x0e2d0000, /* block xsem */
- 0x01510087, /* xsem.fast_memory.reserved_21C (1 regs) */
- 0x0151008a, /* xsem.fast_memory.reserved_228 (1 regs) */
- 0x0151008d, /* xsem.fast_memory.reserved_234 (1 regs) */
- 0x0151008f, /* xsem.fast_memory.reserved_23C (1 regs) */
- 0x01510091, /* xsem.fast_memory.reserved_244 (1 regs) */
- 0x01510094, /* xsem.fast_memory.reserved_250 (1 regs) */
- 0x01510096, /* xsem.fast_memory.reserved_258 (1 regs) */
- 0x01510098, /* xsem.fast_memory.reserved_260 (1 regs) */
- 0x0151009a, /* xsem.fast_memory.reserved_268 (1 regs) */
- 0x0151009c, /* xsem.fast_memory.reserved_270 (1 regs) */
- 0x0151009e, /* xsem.fast_memory.reserved_278 (1 regs) */
- 0x015100a0, /* xsem.fast_memory.reserved_280 (1 regs) */
- 0x0f5100a2, /* xsem.fast_memory.reserved_288 .. xsem.fast_memory.reserved_2C0 (15 regs) */
- 0x025100b3, /* xsem.fast_memory.reserved_2CC .. xsem.fast_memory.reserved_2D0 (2 regs) */
- 0x0e2e0000, /* block ysem */
- 0x01550087, /* ysem.fast_memory.reserved_21C (1 regs) */
- 0x0155008a, /* ysem.fast_memory.reserved_228 (1 regs) */
- 0x0155008d, /* ysem.fast_memory.reserved_234 (1 regs) */
- 0x0155008f, /* ysem.fast_memory.reserved_23C (1 regs) */
- 0x01550091, /* ysem.fast_memory.reserved_244 (1 regs) */
- 0x01550094, /* ysem.fast_memory.reserved_250 (1 regs) */
- 0x01550096, /* ysem.fast_memory.reserved_258 (1 regs) */
- 0x01550098, /* ysem.fast_memory.reserved_260 (1 regs) */
- 0x0155009a, /* ysem.fast_memory.reserved_268 (1 regs) */
- 0x0155009c, /* ysem.fast_memory.reserved_270 (1 regs) */
- 0x0155009e, /* ysem.fast_memory.reserved_278 (1 regs) */
- 0x015500a0, /* ysem.fast_memory.reserved_280 (1 regs) */
- 0x0f5500a2, /* ysem.fast_memory.reserved_288 .. ysem.fast_memory.reserved_2C0 (15 regs) */
- 0x025500b3, /* ysem.fast_memory.reserved_2CC .. ysem.fast_memory.reserved_2D0 (2 regs) */
- 0x0e2f0000, /* block psem */
- 0x01590087, /* psem.fast_memory.reserved_21C (1 regs) */
- 0x0159008a, /* psem.fast_memory.reserved_228 (1 regs) */
- 0x0159008d, /* psem.fast_memory.reserved_234 (1 regs) */
- 0x0159008f, /* psem.fast_memory.reserved_23C (1 regs) */
- 0x01590091, /* psem.fast_memory.reserved_244 (1 regs) */
- 0x01590094, /* psem.fast_memory.reserved_250 (1 regs) */
- 0x01590096, /* psem.fast_memory.reserved_258 (1 regs) */
- 0x01590098, /* psem.fast_memory.reserved_260 (1 regs) */
- 0x0159009a, /* psem.fast_memory.reserved_268 (1 regs) */
- 0x0159009c, /* psem.fast_memory.reserved_270 (1 regs) */
- 0x0159009e, /* psem.fast_memory.reserved_278 (1 regs) */
- 0x015900a0, /* psem.fast_memory.reserved_280 (1 regs) */
- 0x0f5900a2, /* psem.fast_memory.reserved_288 .. psem.fast_memory.reserved_2C0 (15 regs) */
- 0x025900b3, /* psem.fast_memory.reserved_2CC .. psem.fast_memory.reserved_2D0 (2 regs) */
- 0x014b0000, /* block nig */
- 0x301402b2, /* nig.tx_lb_vport_drop_160 .. nig.tx_lb_vport_drop_207 (48 regs) */
- 0x02540000, /* block avs_wrap */
- 0x041ad000, /* avs_wrap.avs_control .. avs_wrap.INT_MASK (4 regs) */
- 0x091ad00a, /* avs_wrap.eco_reserved .. avs_wrap.efuse_data_word_23 (9 regs) */
- 0x01010051, /* mode !e5, block miscs */
+ 0x08010015, /* mode !(k2|e5), block miscs */
+ 0x03002458, /* miscs.memctrl_wr_rd_n .. miscs.memctrl_address (3 regs) */
+ 0x02002464, /* miscs.INT_STS_1 .. miscs.INT_MASK_1 (2 regs) */
+ 0x010025c1, /* miscs.nig_dbg_vector (1 regs) */
+ 0x030025e8, /* miscs.pcie_rst_prepared_assert_cnt .. miscs.pcie_rst_deassert_cnt (3 regs) */
+ 0x010025ec, /* miscs.pcie_rst_n (1 regs) */
+ 0x030025ef, /* miscs.avs_otp_sram_ctrl .. miscs.avs_otp_ctrl_vmgmt (3 regs) */
+ 0x060025f4, /* miscs.avs_pvtmon_daccode .. miscs.opte_almfull_thr (6 regs) */
+ 0x040025fb, /* miscs.avs_clock_observe .. miscs.avs_tp_out (4 regs) */
+ 0x01020000, /* block misc */
+ 0x02002301, /* misc.xmac_phy_port_mode .. misc.xmac_core_port_mode (2 regs) */
+ 0x01040000, /* block pglue_b */
+ 0x030aa12f, /* pglue_b.memctrl_wr_rd_n .. pglue_b.memctrl_address (3 regs) */
+ 0x04050000, /* block cnig */
+ 0x02086080, /* cnig.nw_port_mode .. cnig.nw_serdes_swap (2 regs) */
+ 0x25086095, /* cnig.mac_led_swap .. cnig.cnig_dbg_ifmux_phy_lasi_b (37 regs) */
+ 0x010860be, /* cnig.cnig_dbg_nigtx_fifo_afull_thresh_large (1 regs) */
+ 0x0a0860c8, /* cnig.pmeg_sign_ext .. cnig.pmfc_crc_tx_corrupt_on_error (10 regs) */
+ 0x26150000, /* block pglcs */
+ 0x05000902, /* pglcs.pgl_cs.config_2 .. pglcs.pgl_cs.pci_extended_bar_siz (5 regs) */
+ 0x0800090a, /* pglcs.pgl_cs.reg_vpd_intf .. pglcs.pgl_cs.reg_id_val5 (8 regs) */
+ 0x04000913, /* pglcs.pgl_cs.reg_id_val6 .. pglcs.pgl_cs.reg_msi_addr_l (4 regs) */
+ 0x03000919, /* pglcs.pgl_cs.reg_msi_mask .. pglcs.pgl_cs.reg_pm_data_c (3 regs) */
+ 0x03000930, /* pglcs.pgl_cs.reg_msix_control .. pglcs.pgl_cs.reg_msix_pba_off_bir (3 regs) */
+ 0x1a000934, /* pglcs.pgl_cs.reg_pcie_capability .. pglcs.pgl_cs.reg_pwr_bdgt_data_8 (26 regs) */
+ 0x02000950, /* pglcs.pgl_cs.reg_l1sub_cap .. pglcs.pgl_cs.reg_l1sub_ext_cap (2 regs) */
+ 0x06000954, /* pglcs.pgl_cs.reg_pwr_bdgt_capability .. pglcs.pgl_cs.reg_rc_user_mem_hi2 (6 regs) */
+ 0x1000097b, /* pglcs.pgl_cs.reg_PCIER_MC_WINDOW_SIZE_REQ .. pglcs.pgl_cs.reg_vf_nsp (16 regs) */
+ 0x0200098c, /* pglcs.pgl_cs.reg_ats_inld_queue_depth .. pglcs.pgl_cs.reg_VFTPH_CAP (2 regs) */
+ 0x0e000a00, /* pglcs.pgl_cs.tl_control_0 .. pglcs.pgl_cs.user_control_8 (14 regs) */
+ 0x0c000a0f, /* pglcs.pgl_cs.tl_control_6 .. pglcs.pgl_cs.tl_rst_ctrl (12 regs) */
+ 0x0a000a1c, /* pglcs.pgl_cs.tl_obff_ctrl .. pglcs.pgl_cs.tl_func14to15_stat (10 regs) */
+ 0x29000a40, /* pglcs.pgl_cs.tl_status_0 .. pglcs.pgl_cs.tl_rst_debug (41 regs) */
+ 0x01000a81, /* pglcs.pgl_cs.tl_iov_vfctl_0 (1 regs) */
+ 0x02000a84, /* pglcs.pgl_cs.tl_fcimm_np_limit .. pglcs.pgl_cs.tl_fcimm_p_limit (2 regs) */
+ 0x0a000a87, /* pglcs.pgl_cs.reg_capena_fn0_mask .. pglcs.pgl_cs.ptm_mstr_prop_dly (10 regs) */
+ 0x0a000a94, /* pglcs.pgl_cs.PCIER_TL_STAT_TX_CTL .. pglcs.pgl_cs.PCIER_TL_STAT_RX_CTR_HI (10 regs) */
+ 0x05000b00, /* pglcs.pgl_cs.PCIER_DBG_FIFO_CTLSTAT .. pglcs.pgl_cs.PCIER_TLPL_DBG_FIFO_CTL (5 regs) */
+ 0x1a000b06, /* pglcs.pgl_cs.PCIER_DBG_FIFO_RD_9 .. pglcs.pgl_cs.PCIER_TLDA1_RDFIFO_0 (26 regs) */
+ 0x0f000c00, /* pglcs.pgl_cs.pdl_control_0 .. pglcs.pgl_cs.pdl_control_14 (15 regs) */
+ 0x08000c10, /* pglcs.pgl_cs.DLATTN_VEC .. pglcs.pgl_cs.dl_spare0 (8 regs) */
+ 0x09000c40, /* pglcs.pgl_cs.mdio_addr .. pglcs.pgl_cs.ate_tlp_ctl (9 regs) */
+ 0x03000c4c, /* pglcs.pgl_cs.serdes_pmi_addr .. pglcs.pgl_cs.serdes_pmi_rdata (3 regs) */
+ 0x14000d00, /* pglcs.pgl_cs.dl_dbg_0 .. pglcs.pgl_cs.dl_dbg_19 (20 regs) */
+ 0x0a000e00, /* pglcs.pgl_cs.reg_phy_ctl_0 .. pglcs.pgl_cs.phy_err_attn_mask (10 regs) */
+ 0x08000e0c, /* pglcs.pgl_cs.reg_phy_ctl_8 .. pglcs.pgl_cs.reg_phy_ctl_15 (8 regs) */
+ 0x04000e15, /* pglcs.pgl_cs.reg_phy_ctl_16 .. pglcs.pgl_cs.pl_gen3_ena_frmerr (4 regs) */
+ 0x05000e40, /* pglcs.pgl_cs.pl_lpbk_master_ctl0 .. pglcs.pgl_cs.pl_lpbk_master_tx_setting (5 regs) */
+ 0x01000e4c, /* pglcs.pgl_cs.pl_sw_ltssm_ctl (1 regs) */
+ 0x10000e50, /* pglcs.pgl_cs.pcie_statis_ctl .. pglcs.pgl_cs.pcie_rxtlperr_statis (16 regs) */
+ 0x06000e68, /* pglcs.pgl_cs.ltssm_statis_ctl .. pglcs.pgl_cs.ltssm_statis_cnt (6 regs) */
+ 0x09000f00, /* pglcs.pgl_cs.Received_MCP_Errors_1512 .. pglcs.pgl_cs.rx_fts_limit (9 regs) */
+ 0x06000f34, /* pglcs.pgl_cs.fts_hist .. pglcs.pgl_cs.recovery_hist_1 (6 regs) */
+ 0x28000f3b, /* pglcs.pgl_cs.phy_ltssm_hist_0 .. pglcs.pgl_cs.phy_dbg_sed_extcfg_74 (40 regs) */
+ 0x01000f64, /* pglcs.pgl_cs.phy_dbg_preset_lut (1 regs) */
+ 0x01000f80, /* pglcs.pgl_cs.phy_dbg_muxed_sigs (1 regs) */
+ 0x05000f84, /* pglcs.pgl_cs.phy_dbg_clkreq_0 .. pglcs.pgl_cs.misc_dbg_status (5 regs) */
+ 0x01160000, /* block dmae */
+ 0x03003140, /* dmae.memctrl_wr_rd_n .. dmae.memctrl_address (3 regs) */
+ 0x011a0000, /* block ucm */
+ 0x034a0010, /* ucm.memctrl_wr_rd_n .. ucm.memctrl_address (3 regs) */
+ 0x01200000, /* block dorq */
+ 0x030402b0, /* dorq.memctrl_wr_rd_n .. dorq.memctrl_address (3 regs) */
+ 0x01210000, /* block brb */
+ 0x040d0700, /* brb.memctrl_wr_rd_n .. brb.memctrl_status (4 regs) */
+ 0x01230000, /* block prs */
+ 0x0707c3e0, /* prs.cam_bist_en .. prs.cam_bist_dbg_compare_en (7 regs) */
+ 0x012a0000, /* block tsem */
+ 0x045d0330, /* tsem.fast_memory.memctrl_wr_rd_n .. tsem.fast_memory.memctrl_status (4 regs) */
+ 0x012b0000, /* block msem */
+ 0x04610330, /* msem.fast_memory.memctrl_wr_rd_n .. msem.fast_memory.memctrl_status (4 regs) */
+ 0x012c0000, /* block usem */
+ 0x04650330, /* usem.fast_memory.memctrl_wr_rd_n .. usem.fast_memory.memctrl_status (4 regs) */
+ 0x012d0000, /* block xsem */
+ 0x04510330, /* xsem.fast_memory.memctrl_wr_rd_n .. xsem.fast_memory.memctrl_status (4 regs) */
+ 0x012e0000, /* block ysem */
+ 0x04550330, /* ysem.fast_memory.memctrl_wr_rd_n .. ysem.fast_memory.memctrl_status (4 regs) */
+ 0x012f0000, /* block psem */
+ 0x04590330, /* psem.fast_memory.memctrl_wr_rd_n .. psem.fast_memory.memctrl_status (4 regs) */
+ 0x01300000, /* block rss */
+ 0x0408e322, /* rss.memctrl_wr_rd_n .. rss.memctrl_status (4 regs) */
+ 0x013c0000, /* block pbf */
+ 0x03360040, /* pbf.memctrl_wr_rd_n .. pbf.memctrl_address (3 regs) */
+ 0x013f0000, /* block cdu */
+ 0x041601d3, /* cdu.memctrl_wr_rd_n .. cdu.memctrl_status (4 regs) */
+ 0x01420000, /* block igu */
+ 0x07060018, /* igu.cam_bist_en .. igu.cam_bist_dbg_compare_en (7 regs) */
+ 0x024a0000, /* block dbg */
+ 0x0a0042b0, /* dbg.cpu_mbist_memctrl_0_cntrl_cmd .. dbg.cpu_mbist_memctrl_9_cntrl_cmd (10 regs) */
+ 0x030042e5, /* dbg.memctrl_wr_rd_n .. dbg.memctrl_address (3 regs) */
+ 0x024b0000, /* block nig */
+ 0x04142218, /* nig.user_one_step_type .. nig.ts_shift (4 regs) */
+ 0x0114221e, /* nig.user_one_step_32 (1 regs) */
+ 0x04010043, /* mode !e5, block miscs */
0x010025bc, /* miscs.function_hide (1 regs) */
+ 0x020025c2, /* miscs.four_port_shared_mdio_en .. miscs.sel_dbg_ifmux_test (2 regs) */
+ 0x020025c9, /* miscs.mdio_override .. miscs.mdio_subscription (2 regs) */
+ 0x010025df, /* miscs.LINK_IN_L23 (1 regs) */
0x01170000, /* block ptu */
0x0e158165, /* ptu.atc_fli_done_vf_31_0 .. ptu.atc_fli_done_clr_pf_15_0 (14 regs) */
- 0x05180000, /* block tcm */
+ 0x06180000, /* block tcm */
0x01460186, /* tcm.prs_weight (1 regs) */
+ 0x06460193, /* tcm.storm_frwrd_mode .. tcm.pbf_frwrd_mode (6 regs) */
0x014602ad, /* tcm.prs_length_mis (1 regs) */
0x014602b6, /* tcm.prs_msg_cntr (1 regs) */
0x014602c4, /* tcm.is_prs_fill_lvl (1 regs) */
0x014602e5, /* tcm.is_foc_prs_nxt_inf_unit (1 regs) */
- 0x071a0000, /* block ucm */
+ 0x01190000, /* block mcm */
+ 0x08480193, /* mcm.storm_frwrd_mode .. mcm.pbf_frwrd_mode (8 regs) */
+ 0x061a0000, /* block ucm */
0x014a018b, /* ucm.yuld_weight (1 regs) */
- 0x014a0199, /* ucm.psdm_frwrd_mode (1 regs) */
- 0x014a019e, /* ucm.yuld_frwrd_mode (1 regs) */
+ 0x0b4a0196, /* ucm.storm_frwrd_mode .. ucm.pbf_frwrd_mode (11 regs) */
0x014a02b2, /* ucm.yuld_length_mis (1 regs) */
0x014a02bc, /* ucm.yuld_msg_cntr (1 regs) */
0x014a02cd, /* ucm.is_yuld_fill_lvl (1 regs) */
0x014a02eb, /* ucm.is_foc_yuld_nxt_inf_unit (1 regs) */
+ 0x011b0000, /* block xcm */
+ 0x0a400196, /* xcm.storm_frwrd_mode .. xcm.pbf_frwrd_mode (10 regs) */
+ 0x011c0000, /* block ycm */
+ 0x07420192, /* ycm.storm_frwrd_mode .. ycm.pbf_frwrd_mode (7 regs) */
0x061d0000, /* block pcm */
0x01440182, /* pcm.pbf_weight (1 regs) */
- 0x0144018e, /* pcm.pbf_frwrd_mode (1 regs) */
+ 0x0344018c, /* pcm.storm_frwrd_mode .. pcm.pbf_frwrd_mode (3 regs) */
0x014402ab, /* pcm.pbf_length_mis (1 regs) */
0x014402b0, /* pcm.pbf_msg_cntr (1 regs) */
0x014402b4, /* pcm.is_pbf_fill_lvl (1 regs) */
@@ -2049,19 +1984,19 @@ static const u32 dump_reg[] = {
0x015c0402, /* tsem.sync_dra_wr_alm_full (1 regs) */
0x015c0440, /* tsem.dra_empty (1 regs) */
0x045c0450, /* tsem.slow_dbg_empty .. tsem.slow_dra_wr_empty (4 regs) */
+ 0x015c0456, /* tsem.slow_ram_rd_empty (1 regs) */
0x025c0459, /* tsem.thread_fifo_empty .. tsem.ord_id_fifo_empty (2 regs) */
0x015c0490, /* tsem.pas_if_full (1 regs) */
0x055c0492, /* tsem.slow_dbg_alm_full .. tsem.slow_dra_wr_full (5 regs) */
0x025c049d, /* tsem.thread_fifo_full .. tsem.ord_id_fifo_full (2 regs) */
0x035c04c0, /* tsem.thread_inter_cnt .. tsem.thread_orun_num (3 regs) */
0x0a5c0500, /* tsem.slow_dbg_active .. tsem.dbg_msg_src (10 regs) */
+ 0x015d0001, /* tsem.fast_memory.ram_ext_disable (1 regs) */
0x035d0122, /* tsem.fast_memory.stall_0 .. tsem.fast_memory.stall_2 (3 regs) */
0x015d0132, /* tsem.fast_memory.pram_last_addr (1 regs) */
0x015d0291, /* tsem.fast_memory.storm_active_cycles (1 regs) */
0x035d0293, /* tsem.fast_memory.storm_stall_cycles .. tsem.fast_memory.idle_inactive_cycles (3 regs) */
- 0x025d2814, /* tsem.fast_memory.vfc_config.rss_ram_tm_0 .. tsem.fast_memory.vfc_config.rss_ram_tm_1 (2 regs) */
- 0x015d281b, /* tsem.fast_memory.vfc_config.key_rss_ext5 (1 regs) */
- 0x1b2b0000, /* block msem */
+ 0x1d2b0000, /* block msem */
0x04600001, /* msem.enable_in .. msem.pas_disable (4 regs) */
0x01600100, /* msem.arb_cycle_size (1 regs) */
0x03600113, /* msem.ext_store_free_entries .. msem.gpre_samp_period (3 regs) */
@@ -2079,17 +2014,19 @@ static const u32 dump_reg[] = {
0x01600402, /* msem.sync_dra_wr_alm_full (1 regs) */
0x01600440, /* msem.dra_empty (1 regs) */
0x04600450, /* msem.slow_dbg_empty .. msem.slow_dra_wr_empty (4 regs) */
+ 0x01600456, /* msem.slow_ram_rd_empty (1 regs) */
0x02600459, /* msem.thread_fifo_empty .. msem.ord_id_fifo_empty (2 regs) */
0x01600490, /* msem.pas_if_full (1 regs) */
0x05600492, /* msem.slow_dbg_alm_full .. msem.slow_dra_wr_full (5 regs) */
0x0260049d, /* msem.thread_fifo_full .. msem.ord_id_fifo_full (2 regs) */
0x036004c0, /* msem.thread_inter_cnt .. msem.thread_orun_num (3 regs) */
0x0a600500, /* msem.slow_dbg_active .. msem.dbg_msg_src (10 regs) */
+ 0x01610001, /* msem.fast_memory.ram_ext_disable (1 regs) */
0x03610122, /* msem.fast_memory.stall_0 .. msem.fast_memory.stall_2 (3 regs) */
0x01610132, /* msem.fast_memory.pram_last_addr (1 regs) */
0x01610291, /* msem.fast_memory.storm_active_cycles (1 regs) */
0x03610293, /* msem.fast_memory.storm_stall_cycles .. msem.fast_memory.idle_inactive_cycles (3 regs) */
- 0x1b2c0000, /* block usem */
+ 0x1d2c0000, /* block usem */
0x04640001, /* usem.enable_in .. usem.pas_disable (4 regs) */
0x01640100, /* usem.arb_cycle_size (1 regs) */
0x03640113, /* usem.ext_store_free_entries .. usem.gpre_samp_period (3 regs) */
@@ -2107,17 +2044,19 @@ static const u32 dump_reg[] = {
0x01640402, /* usem.sync_dra_wr_alm_full (1 regs) */
0x01640440, /* usem.dra_empty (1 regs) */
0x04640450, /* usem.slow_dbg_empty .. usem.slow_dra_wr_empty (4 regs) */
+ 0x01640456, /* usem.slow_ram_rd_empty (1 regs) */
0x02640459, /* usem.thread_fifo_empty .. usem.ord_id_fifo_empty (2 regs) */
0x01640490, /* usem.pas_if_full (1 regs) */
0x05640492, /* usem.slow_dbg_alm_full .. usem.slow_dra_wr_full (5 regs) */
0x0264049d, /* usem.thread_fifo_full .. usem.ord_id_fifo_full (2 regs) */
0x036404c0, /* usem.thread_inter_cnt .. usem.thread_orun_num (3 regs) */
0x0a640500, /* usem.slow_dbg_active .. usem.dbg_msg_src (10 regs) */
+ 0x01650001, /* usem.fast_memory.ram_ext_disable (1 regs) */
0x03650122, /* usem.fast_memory.stall_0 .. usem.fast_memory.stall_2 (3 regs) */
0x01650132, /* usem.fast_memory.pram_last_addr (1 regs) */
0x01650291, /* usem.fast_memory.storm_active_cycles (1 regs) */
0x03650293, /* usem.fast_memory.storm_stall_cycles .. usem.fast_memory.idle_inactive_cycles (3 regs) */
- 0x1a2d0000, /* block xsem */
+ 0x1c2d0000, /* block xsem */
0x04500001, /* xsem.enable_in .. xsem.pas_disable (4 regs) */
0x01500100, /* xsem.arb_cycle_size (1 regs) */
0x03500113, /* xsem.ext_store_free_entries .. xsem.gpre_samp_period (3 regs) */
@@ -2134,17 +2073,19 @@ static const u32 dump_reg[] = {
0x01500402, /* xsem.sync_dra_wr_alm_full (1 regs) */
0x01500440, /* xsem.dra_empty (1 regs) */
0x04500450, /* xsem.slow_dbg_empty .. xsem.slow_dra_wr_empty (4 regs) */
+ 0x01500456, /* xsem.slow_ram_rd_empty (1 regs) */
0x02500459, /* xsem.thread_fifo_empty .. xsem.ord_id_fifo_empty (2 regs) */
0x01500490, /* xsem.pas_if_full (1 regs) */
0x05500492, /* xsem.slow_dbg_alm_full .. xsem.slow_dra_wr_full (5 regs) */
0x0250049d, /* xsem.thread_fifo_full .. xsem.ord_id_fifo_full (2 regs) */
0x035004c0, /* xsem.thread_inter_cnt .. xsem.thread_orun_num (3 regs) */
0x0a500500, /* xsem.slow_dbg_active .. xsem.dbg_msg_src (10 regs) */
+ 0x01510001, /* xsem.fast_memory.ram_ext_disable (1 regs) */
0x03510122, /* xsem.fast_memory.stall_0 .. xsem.fast_memory.stall_2 (3 regs) */
0x01510132, /* xsem.fast_memory.pram_last_addr (1 regs) */
0x01510291, /* xsem.fast_memory.storm_active_cycles (1 regs) */
0x03510293, /* xsem.fast_memory.storm_stall_cycles .. xsem.fast_memory.idle_inactive_cycles (3 regs) */
- 0x1a2e0000, /* block ysem */
+ 0x1c2e0000, /* block ysem */
0x04540001, /* ysem.enable_in .. ysem.pas_disable (4 regs) */
0x01540100, /* ysem.arb_cycle_size (1 regs) */
0x03540113, /* ysem.ext_store_free_entries .. ysem.gpre_samp_period (3 regs) */
@@ -2161,17 +2102,19 @@ static const u32 dump_reg[] = {
0x01540402, /* ysem.sync_dra_wr_alm_full (1 regs) */
0x01540440, /* ysem.dra_empty (1 regs) */
0x04540450, /* ysem.slow_dbg_empty .. ysem.slow_dra_wr_empty (4 regs) */
+ 0x01540456, /* ysem.slow_ram_rd_empty (1 regs) */
0x02540459, /* ysem.thread_fifo_empty .. ysem.ord_id_fifo_empty (2 regs) */
0x01540490, /* ysem.pas_if_full (1 regs) */
0x05540492, /* ysem.slow_dbg_alm_full .. ysem.slow_dra_wr_full (5 regs) */
0x0254049d, /* ysem.thread_fifo_full .. ysem.ord_id_fifo_full (2 regs) */
0x035404c0, /* ysem.thread_inter_cnt .. ysem.thread_orun_num (3 regs) */
0x0a540500, /* ysem.slow_dbg_active .. ysem.dbg_msg_src (10 regs) */
+ 0x01550001, /* ysem.fast_memory.ram_ext_disable (1 regs) */
0x03550122, /* ysem.fast_memory.stall_0 .. ysem.fast_memory.stall_2 (3 regs) */
0x01550132, /* ysem.fast_memory.pram_last_addr (1 regs) */
0x01550291, /* ysem.fast_memory.storm_active_cycles (1 regs) */
0x03550293, /* ysem.fast_memory.storm_stall_cycles .. ysem.fast_memory.idle_inactive_cycles (3 regs) */
- 0x1b2f0000, /* block psem */
+ 0x1d2f0000, /* block psem */
0x04580001, /* psem.enable_in .. psem.pas_disable (4 regs) */
0x01580100, /* psem.arb_cycle_size (1 regs) */
0x03580113, /* psem.ext_store_free_entries .. psem.gpre_samp_period (3 regs) */
@@ -2189,31 +2132,139 @@ static const u32 dump_reg[] = {
0x01580402, /* psem.sync_dra_wr_alm_full (1 regs) */
0x01580440, /* psem.dra_empty (1 regs) */
0x04580450, /* psem.slow_dbg_empty .. psem.slow_dra_wr_empty (4 regs) */
+ 0x01580456, /* psem.slow_ram_rd_empty (1 regs) */
0x02580459, /* psem.thread_fifo_empty .. psem.ord_id_fifo_empty (2 regs) */
0x01580490, /* psem.pas_if_full (1 regs) */
0x05580492, /* psem.slow_dbg_alm_full .. psem.slow_dra_wr_full (5 regs) */
0x0258049d, /* psem.thread_fifo_full .. psem.ord_id_fifo_full (2 regs) */
0x035804c0, /* psem.thread_inter_cnt .. psem.thread_orun_num (3 regs) */
0x0a580500, /* psem.slow_dbg_active .. psem.dbg_msg_src (10 regs) */
+ 0x01590001, /* psem.fast_memory.ram_ext_disable (1 regs) */
0x03590122, /* psem.fast_memory.stall_0 .. psem.fast_memory.stall_2 (3 regs) */
0x01590132, /* psem.fast_memory.pram_last_addr (1 regs) */
0x01590291, /* psem.fast_memory.storm_active_cycles (1 regs) */
0x03590293, /* psem.fast_memory.storm_stall_cycles .. psem.fast_memory.idle_inactive_cycles (3 regs) */
0x01300000, /* block rss */
- 0x0408e30e, /* rss.empty_status .. rss.state_machines (4 regs) */
+ 0x0508e30d, /* rss.rbc_status .. rss.state_machines (5 regs) */
0x05330000, /* block yuld */
0x2a132000, /* yuld.scbd_strict_prio .. yuld.cm_hdr_127_96 (42 regs) */
0x0513202b, /* yuld.stat_fic_msg .. yuld.len_err_log_2 (5 regs) */
0x01132031, /* yuld.len_err_log_v (1 regs) */
0x02132060, /* yuld.INT_STS .. yuld.INT_MASK (2 regs) */
0x05132580, /* yuld.dbg_select .. yuld.dbg_force_frame (5 regs) */
- 0x013c0000, /* block pbf */
+ 0x033c0000, /* block pbf */
0x01360106, /* pbf.pcm_if_init_crd (1 regs) */
+ 0x02360124, /* pbf.tag_ethertype_4 .. pbf.tag_ethertype_5 (2 regs) */
+ 0x0236012a, /* pbf.tag_len_4 .. pbf.tag_len_5 (2 regs) */
+ 0x05430000, /* block cau */
+ 0x05070180, /* cau.cqe_size .. cau.agg_release_timer (5 regs) */
+ 0x01070221, /* cau.cqe_fifo_afull_thr (1 regs) */
+ 0x070702ea, /* cau.stat_counter_cqe_msg_sent .. cau.stat_counter_cqe_partial_cache (7 regs) */
+ 0x04070327, /* cau.agg_units_0to15_state .. cau.agg_units_48to63_state (4 regs) */
+ 0x020703c3, /* cau.igu_cqe_cmd_fsm_status .. cau.igu_cqe_agg_fsm_status (2 regs) */
0x024a0000, /* block dbg */
0x01004002, /* dbg.other_client_enable (1 regs) */
0x01004004, /* dbg.other_engine_mode (1 regs) */
0x014b0000, /* block nig */
0xa0140212, /* nig.tx_lb_vport_drop_0 .. nig.tx_lb_vport_drop_159 (160 regs) */
+ 0x0221011b, /* mode !(bb|e5), block brb */
+ 0x020d044b, /* brb.rc_eop_inp_sync_fifo_push_status_2 .. brb.rc_eop_inp_sync_fifo_push_status_3 (2 regs) */
+ 0x020d045a, /* brb.rc_eop_out_sync_fifo_push_status_2 .. brb.rc_eop_out_sync_fifo_push_status_3 (2 regs) */
+ 0x0e2a0000, /* block tsem */
+ 0x015d0087, /* tsem.fast_memory.reserved_21C (1 regs) */
+ 0x015d008a, /* tsem.fast_memory.reserved_228 (1 regs) */
+ 0x015d008d, /* tsem.fast_memory.reserved_234 (1 regs) */
+ 0x015d008f, /* tsem.fast_memory.reserved_23C (1 regs) */
+ 0x015d0091, /* tsem.fast_memory.reserved_244 (1 regs) */
+ 0x015d0094, /* tsem.fast_memory.reserved_250 (1 regs) */
+ 0x015d0096, /* tsem.fast_memory.reserved_258 (1 regs) */
+ 0x015d0098, /* tsem.fast_memory.reserved_260 (1 regs) */
+ 0x015d009a, /* tsem.fast_memory.reserved_268 (1 regs) */
+ 0x015d009c, /* tsem.fast_memory.reserved_270 (1 regs) */
+ 0x015d009e, /* tsem.fast_memory.reserved_278 (1 regs) */
+ 0x015d00a0, /* tsem.fast_memory.reserved_280 (1 regs) */
+ 0x0f5d00a2, /* tsem.fast_memory.reserved_288 .. tsem.fast_memory.reserved_2C0 (15 regs) */
+ 0x025d00b3, /* tsem.fast_memory.reserved_2CC .. tsem.fast_memory.reserved_2D0 (2 regs) */
+ 0x0e2b0000, /* block msem */
+ 0x01610087, /* msem.fast_memory.reserved_21C (1 regs) */
+ 0x0161008a, /* msem.fast_memory.reserved_228 (1 regs) */
+ 0x0161008d, /* msem.fast_memory.reserved_234 (1 regs) */
+ 0x0161008f, /* msem.fast_memory.reserved_23C (1 regs) */
+ 0x01610091, /* msem.fast_memory.reserved_244 (1 regs) */
+ 0x01610094, /* msem.fast_memory.reserved_250 (1 regs) */
+ 0x01610096, /* msem.fast_memory.reserved_258 (1 regs) */
+ 0x01610098, /* msem.fast_memory.reserved_260 (1 regs) */
+ 0x0161009a, /* msem.fast_memory.reserved_268 (1 regs) */
+ 0x0161009c, /* msem.fast_memory.reserved_270 (1 regs) */
+ 0x0161009e, /* msem.fast_memory.reserved_278 (1 regs) */
+ 0x016100a0, /* msem.fast_memory.reserved_280 (1 regs) */
+ 0x0f6100a2, /* msem.fast_memory.reserved_288 .. msem.fast_memory.reserved_2C0 (15 regs) */
+ 0x026100b3, /* msem.fast_memory.reserved_2CC .. msem.fast_memory.reserved_2D0 (2 regs) */
+ 0x0e2c0000, /* block usem */
+ 0x01650087, /* usem.fast_memory.reserved_21C (1 regs) */
+ 0x0165008a, /* usem.fast_memory.reserved_228 (1 regs) */
+ 0x0165008d, /* usem.fast_memory.reserved_234 (1 regs) */
+ 0x0165008f, /* usem.fast_memory.reserved_23C (1 regs) */
+ 0x01650091, /* usem.fast_memory.reserved_244 (1 regs) */
+ 0x01650094, /* usem.fast_memory.reserved_250 (1 regs) */
+ 0x01650096, /* usem.fast_memory.reserved_258 (1 regs) */
+ 0x01650098, /* usem.fast_memory.reserved_260 (1 regs) */
+ 0x0165009a, /* usem.fast_memory.reserved_268 (1 regs) */
+ 0x0165009c, /* usem.fast_memory.reserved_270 (1 regs) */
+ 0x0165009e, /* usem.fast_memory.reserved_278 (1 regs) */
+ 0x016500a0, /* usem.fast_memory.reserved_280 (1 regs) */
+ 0x0f6500a2, /* usem.fast_memory.reserved_288 .. usem.fast_memory.reserved_2C0 (15 regs) */
+ 0x026500b3, /* usem.fast_memory.reserved_2CC .. usem.fast_memory.reserved_2D0 (2 regs) */
+ 0x0e2d0000, /* block xsem */
+ 0x01510087, /* xsem.fast_memory.reserved_21C (1 regs) */
+ 0x0151008a, /* xsem.fast_memory.reserved_228 (1 regs) */
+ 0x0151008d, /* xsem.fast_memory.reserved_234 (1 regs) */
+ 0x0151008f, /* xsem.fast_memory.reserved_23C (1 regs) */
+ 0x01510091, /* xsem.fast_memory.reserved_244 (1 regs) */
+ 0x01510094, /* xsem.fast_memory.reserved_250 (1 regs) */
+ 0x01510096, /* xsem.fast_memory.reserved_258 (1 regs) */
+ 0x01510098, /* xsem.fast_memory.reserved_260 (1 regs) */
+ 0x0151009a, /* xsem.fast_memory.reserved_268 (1 regs) */
+ 0x0151009c, /* xsem.fast_memory.reserved_270 (1 regs) */
+ 0x0151009e, /* xsem.fast_memory.reserved_278 (1 regs) */
+ 0x015100a0, /* xsem.fast_memory.reserved_280 (1 regs) */
+ 0x0f5100a2, /* xsem.fast_memory.reserved_288 .. xsem.fast_memory.reserved_2C0 (15 regs) */
+ 0x025100b3, /* xsem.fast_memory.reserved_2CC .. xsem.fast_memory.reserved_2D0 (2 regs) */
+ 0x0e2e0000, /* block ysem */
+ 0x01550087, /* ysem.fast_memory.reserved_21C (1 regs) */
+ 0x0155008a, /* ysem.fast_memory.reserved_228 (1 regs) */
+ 0x0155008d, /* ysem.fast_memory.reserved_234 (1 regs) */
+ 0x0155008f, /* ysem.fast_memory.reserved_23C (1 regs) */
+ 0x01550091, /* ysem.fast_memory.reserved_244 (1 regs) */
+ 0x01550094, /* ysem.fast_memory.reserved_250 (1 regs) */
+ 0x01550096, /* ysem.fast_memory.reserved_258 (1 regs) */
+ 0x01550098, /* ysem.fast_memory.reserved_260 (1 regs) */
+ 0x0155009a, /* ysem.fast_memory.reserved_268 (1 regs) */
+ 0x0155009c, /* ysem.fast_memory.reserved_270 (1 regs) */
+ 0x0155009e, /* ysem.fast_memory.reserved_278 (1 regs) */
+ 0x015500a0, /* ysem.fast_memory.reserved_280 (1 regs) */
+ 0x0f5500a2, /* ysem.fast_memory.reserved_288 .. ysem.fast_memory.reserved_2C0 (15 regs) */
+ 0x025500b3, /* ysem.fast_memory.reserved_2CC .. ysem.fast_memory.reserved_2D0 (2 regs) */
+ 0x0e2f0000, /* block psem */
+ 0x01590087, /* psem.fast_memory.reserved_21C (1 regs) */
+ 0x0159008a, /* psem.fast_memory.reserved_228 (1 regs) */
+ 0x0159008d, /* psem.fast_memory.reserved_234 (1 regs) */
+ 0x0159008f, /* psem.fast_memory.reserved_23C (1 regs) */
+ 0x01590091, /* psem.fast_memory.reserved_244 (1 regs) */
+ 0x01590094, /* psem.fast_memory.reserved_250 (1 regs) */
+ 0x01590096, /* psem.fast_memory.reserved_258 (1 regs) */
+ 0x01590098, /* psem.fast_memory.reserved_260 (1 regs) */
+ 0x0159009a, /* psem.fast_memory.reserved_268 (1 regs) */
+ 0x0159009c, /* psem.fast_memory.reserved_270 (1 regs) */
+ 0x0159009e, /* psem.fast_memory.reserved_278 (1 regs) */
+ 0x015900a0, /* psem.fast_memory.reserved_280 (1 regs) */
+ 0x0f5900a2, /* psem.fast_memory.reserved_288 .. psem.fast_memory.reserved_2C0 (15 regs) */
+ 0x025900b3, /* psem.fast_memory.reserved_2CC .. psem.fast_memory.reserved_2D0 (2 regs) */
+ 0x014b0000, /* block nig */
+ 0x301402b2, /* nig.tx_lb_vport_drop_160 .. nig.tx_lb_vport_drop_207 (48 regs) */
+ 0x02540000, /* block avs_wrap */
+ 0x041ad000, /* avs_wrap.avs_control .. avs_wrap.INT_MASK (4 regs) */
+ 0x091ad00a, /* avs_wrap.eco_reserved .. avs_wrap.efuse_data_word_23 (9 regs) */
0x01030033, /* mode !((!asic)|(bb|k2)), block dbu */
0x01002800, /* dbu.cmd (1 regs) */
0x0203001d, /* mode !(!asic), block dbu */
@@ -2272,29 +2323,24 @@ static const u32 dump_reg[] = {
0x0115037d, /* bmb.available_mac_size_0 (1 regs) */
0x01150383, /* bmb.tc_pause_0 (1 regs) */
0x01150389, /* bmb.tc_full_0 (1 regs) */
- 0x062f0000, /* block psem */
+ 0x042f0000, /* block psem */
0x0e592800, /* psem.fast_memory.vfc_config.mask_lsb_0_low .. psem.fast_memory.vfc_config.indications2 (14 regs) */
- 0x0559280f, /* psem.fast_memory.vfc_config.memories_rst .. psem.fast_memory.vfc_config.interrupt_mask (5 regs) */
- 0x05592816, /* psem.fast_memory.vfc_config.inp_fifo_tm .. psem.fast_memory.vfc_config.vfc_cam_bist_status (5 regs) */
- 0x0659281c, /* psem.fast_memory.vfc_config.inp_fifo_alm_full .. psem.fast_memory.vfc_config.cpu_mbist_memctrl_1_cntrl_cmd (6 regs) */
+ 0x1359280f, /* psem.fast_memory.vfc_config.memories_rst .. psem.fast_memory.vfc_config.cpu_mbist_memctrl_1_cntrl_cmd (19 regs) */
0x12592824, /* psem.fast_memory.vfc_config.debug_data .. psem.fast_memory.vfc_config.mask_lsb_7_high (18 regs) */
0x0c59283e, /* psem.fast_memory.vfc_config.offset_alu_vector_0 .. psem.fast_memory.vfc_config.cam_bist_skip_error_cnt (12 regs) */
- 0x01090041, /* mode (!bb)&(!(emul_reduced|fpga)), block bmb */
+ 0x0109004f, /* mode (!bb)&(!(emul_reduced|fpga)), block bmb */
0x02150252, /* bmb.wc_no_dead_cycles_en .. bmb.wc_highest_pri_en (2 regs) */
- 0x03090001, /* mode (!(bb|k2))&(!(emul_reduced|fpga)), block bmb */
- 0x02150254, /* bmb.wc_ll_high_pri .. bmb.br_fix_high_pri_collision (2 regs) */
- 0x08150339, /* bmb.rc_sop_inp_sync_fifo_pop_empty_1 .. bmb.rc_sop_out_sync_fifo_push_status_2 (8 regs) */
- 0x02150344, /* bmb.rc_out_sync_fifo_push_status_1 .. bmb.rc_out_sync_fifo_push_status_2 (2 regs) */
- 0x0609004f, /* mode (!e5)&(!(emul_reduced|fpga)), block bmb */
+ 0x06090041, /* mode (!e5)&(!(emul_reduced|fpga)), block bmb */
0x071502d9, /* bmb.rc_pkt_empty_3 .. bmb.rc_pkt_empty_9 (7 regs) */
0x071502e8, /* bmb.rc_pkt_full_3 .. bmb.rc_pkt_full_9 (7 regs) */
0x071502f7, /* bmb.rc_pkt_status_3 .. bmb.rc_pkt_status_9 (7 regs) */
0x08150339, /* bmb.rc_sop_inp_sync_fifo_pop_empty_8 .. bmb.rc_sop_out_sync_fifo_push_status_9 (8 regs) */
0x02150344, /* bmb.rc_out_sync_fifo_push_status_8 .. bmb.rc_out_sync_fifo_push_status_9 (2 regs) */
0x01150364, /* bmb.rc_pkt_state_1 (1 regs) */
- 0x022f0000, /* block psem */
- 0x02592814, /* psem.fast_memory.vfc_config.rss_ram_tm_0 .. psem.fast_memory.vfc_config.rss_ram_tm_1 (2 regs) */
- 0x0159281b, /* psem.fast_memory.vfc_config.key_rss_ext5 (1 regs) */
+ 0x03090001, /* mode (!(bb|k2))&(!(emul_reduced|fpga)), block bmb */
+ 0x08150339, /* bmb.rc_sop_inp_sync_fifo_pop_empty_1 .. bmb.rc_sop_out_sync_fifo_push_status_2 (8 regs) */
+ 0x02150344, /* bmb.rc_out_sync_fifo_push_status_1 .. bmb.rc_out_sync_fifo_push_status_2 (2 regs) */
+ 0x02151000, /* bmb.wc_ll_high_pri .. bmb.br_fix_high_pri_collision (2 regs) */
0x08480013, /* mode (!(k2|e5))&(!(!asic)), block umac */
0x02014403, /* umac.mac_0 .. umac.mac_1 (2 regs) */
0x01014406, /* umac.pause_quant (1 regs) */
@@ -2310,7 +2356,7 @@ static const u32 dump_reg[] = {
0x0100812c, /* ipc.freq_nw (1 regs) */
0x0800813a, /* ipc.otp_config_0 .. ipc.otp_config_7 (8 regs) */
0x0500814b, /* ipc.lcpll_refclk_sel .. ipc.cpu_otp_rd_syndrome (5 regs) */
- 0x04480099, /* mode (!bb)&(!(!asic)), block umac */
+ 0x044800c3, /* mode (!bb)&(!(!asic)), block umac */
0x07014423, /* umac.tx_ipg_length1 .. umac.dbg_force_frame (7 regs) */
0x02014460, /* umac.INT_STS .. umac.INT_MASK (2 regs) */
0x070144c1, /* umac.pause_opcode .. umac.mac_pause_sa_1 (7 regs) */
@@ -3004,7 +3050,7 @@ static const u32 dump_reg[] = {
0x02520000, /* block phy_pcie */
0x0c18a000, /* phy_pcie.eco_reserved .. phy_pcie.dbg_status (12 regs) */
0x0518a7fa, /* phy_pcie.dbg_select .. phy_pcie.dbg_force_frame (5 regs) */
- 0x044e00f3, /* mode bb&(!(!asic)), block ipc */
+ 0x044e0107, /* mode bb&(!(!asic)), block ipc */
0x03008123, /* ipc.mdio_comm .. ipc.mdio_mode (3 regs) */
0x0200812a, /* ipc.freq_main .. ipc.freq_storm (2 regs) */
0x0d00812d, /* ipc.free_running_cntr_0 .. ipc.hw_straps (13 regs) */
@@ -3199,7 +3245,7 @@ static const u32 dump_reg[] = {
0x01189b8a, /* phy_pcie.phy1.ahb_comlane_csr_5_x394 (1 regs) */
0x0b189b91, /* phy_pcie.phy1.ahb_comlane_csr_5_x401 .. phy_pcie.phy1.ahb_comlane_csr_5_x411 (11 regs) */
0x57189b9d, /* phy_pcie.phy1.ahb_comlane_csr_5_x413 .. phy_pcie.phy1.ahb_comlane_csr_5_x499 (87 regs) */
- 0x0100007e, /* split PORT */
+ 0x01000081, /* split PORT */
0x03060000, /* block cpmu */
0x0700c080, /* cpmu.lpi_mode_config .. cpmu.sw_force_lpi (7 regs) */
0x0600c0c9, /* cpmu.lpi_tx_req_stat_ro .. cpmu.lpi_duration_stat_ro (6 regs) */
@@ -3225,11 +3271,12 @@ static const u32 dump_reg[] = {
0x0907c2c2, /* prs.num_of_packets_0 .. prs.num_of_packets_8 (9 regs) */
0x0207c2d5, /* prs.queue_pkt_avail_status .. prs.storm_bkprs_status (2 regs) */
0x0107c3cd, /* prs.eop_req_ct (1 regs) */
- 0x063c0000, /* block pbf */
- 0x1236012c, /* pbf.first_hdr_hdrs_after_basic .. pbf.inner_hdr_must_have_hdrs (18 regs) */
+ 0x073c0000, /* block pbf */
+ 0x0636012c, /* pbf.first_hdr_hdrs_after_basic .. pbf.first_hdr_hdrs_after_tag_3 (6 regs) */
+ 0x07360134, /* pbf.first_hdr_must_have_hdrs .. pbf.inner_hdr_hdrs_after_tag_3 (7 regs) */
+ 0x0136013d, /* pbf.inner_hdr_must_have_hdrs (1 regs) */
0x02360146, /* pbf.vxlan_port .. pbf.nge_port (2 regs) */
0x01360149, /* pbf.nge_comp_ver (1 regs) */
- 0x01360160, /* pbf.prop_hdr_size (1 regs) */
0x01360162, /* pbf.t_tag_tagnum (1 regs) */
0x05360170, /* pbf.btb_shared_area_size .. pbf.num_strict_priority_slots (5 regs) */
0x2e4b0000, /* block nig */
@@ -3289,6 +3336,9 @@ static const u32 dump_reg[] = {
0x01184081, /* bmbn.eco_reserved_perport (1 regs) */
0x01530000, /* block led */
0x061ae000, /* led.control .. led.mac_led_speed (6 regs) */
+ 0x024b0003, /* mode !(bb|k2), block nig */
+ 0x02143420, /* nig.mng_to_mcp_ncsi_filter .. nig.mng_to_mcp_ncsi_filter_2 (2 regs) */
+ 0x02143601, /* nig.tx_order_fifo_full .. nig.lb_order_fifo_full (2 regs) */
0x01050015, /* mode !(k2|e5), block cnig */
0x0608608f, /* cnig.led_control .. cnig.mac_led_speed (6 regs) */
0x144b0000, /* block nig */
@@ -3312,12 +3362,11 @@ static const u32 dump_reg[] = {
0x0114223b, /* nig.mld_msg_type (1 regs) */
0x041422c4, /* nig.acpi_tag_remove .. nig.rm_eth_crc (4 regs) */
0x011422c9, /* nig.corrupt_eth_crc (1 regs) */
- 0x01170003, /* mode !(bb|k2), block ptu */
- 0x0415817b, /* ptu.LOG_INV_HALT_RSC_TYPE .. ptu.LOG_TRANSPEND_REUSE_MISS_PAGE_INDEX_MSB (4 regs) */
- 0x024b0000, /* block nig */
- 0x02143420, /* nig.mng_to_mcp_ncsi_filter_0 .. nig.mng_to_mcp_ncsi_filter_1 (2 regs) */
- 0x02143601, /* nig.tx_order_fifo_full .. nig.lb_order_fifo_full (2 regs) */
- 0x034b0051, /* mode !e5, block nig */
+ 0x033c0043, /* mode !e5, block pbf */
+ 0x02360132, /* pbf.first_hdr_hdrs_after_tag_4 .. pbf.first_hdr_hdrs_after_tag_5 (2 regs) */
+ 0x0236013b, /* pbf.inner_hdr_hdrs_after_tag_4 .. pbf.inner_hdr_hdrs_after_tag_5 (2 regs) */
+ 0x01360160, /* pbf.prop_hdr_size (1 regs) */
+ 0x034b0000, /* block nig */
0x01140390, /* nig.tx_macfifo_alm_full_thr (1 regs) */
0x02140393, /* nig.tx_macfifo_alm_full .. nig.tx_macfifo_empty (2 regs) */
0x011403c0, /* nig.tx_macfifo_full (1 regs) */
@@ -3461,6 +3510,22 @@ static const u32 dump_reg[] = {
0x01000d7a, /* pglcs.pgl_cs_shadow.SRIOV_BAR3_MASK_REG (1 regs) */
0x01000d7c, /* pglcs.pgl_cs_shadow.SRIOV_BAR5_MASK_REG (1 regs) */
0x01000e00, /* pglcs.first_vf (1 regs) */
+ 0x01170003, /* mode !(bb|k2), block ptu */
+ 0x02158179, /* ptu.inv_rsc_type .. ptu.inv_rsc_type_mask (2 regs) */
+ 0x03200000, /* block dorq */
+ 0x10040a04, /* dorq.prv_pf_max_icid_2 .. dorq.prv_vf_range2conn_type_5 (16 regs) */
+ 0x02040add, /* dorq.ddp_version .. dorq.rdmap_version (2 regs) */
+ 0x08040ae1, /* dorq.pf_ext_pcp_roce .. dorq.pf_int_vid_iwarp (8 regs) */
+ 0x01230000, /* block prs */
+ 0x0107c5b9, /* prs.new_entry_exclusive (1 regs) */
+ 0x03450000, /* block rgsrc */
+ 0x010c8104, /* rgsrc.hash_bin_bit_w (1 regs) */
+ 0x020c8112, /* rgsrc.table_t1_entry_size .. rgsrc.table_t2_entry_size (2 regs) */
+ 0x010c8118, /* rgsrc.was_error (1 regs) */
+ 0x03470000, /* block tgsrc */
+ 0x010c8904, /* tgsrc.hash_bin_bit_w (1 regs) */
+ 0x020c8912, /* tgsrc.table_t1_entry_size .. tgsrc.table_t2_entry_size (2 regs) */
+ 0x010c8918, /* tgsrc.was_error (1 regs) */
0x01040015, /* mode !(k2|e5), block pglue_b */
0x040aa901, /* pglue_b.pgl_addr_88_f0 .. pglue_b.pgl_addr_94_f0 (4 regs) */
0x0f150000, /* block pglcs */
@@ -3481,27 +3546,11 @@ static const u32 dump_reg[] = {
0x0b0008c0, /* pglcs.pgl_cs.Secondary_PCIE_Extended_Cap .. pglcs.pgl_cs.Lane14_15_equalization_ctrl (11 regs) */
0x01420000, /* block igu */
0x03060203, /* igu.pci_pf_msi_en .. igu.pci_pf_msix_func_mask (3 regs) */
- 0x01040135, /* mode !k2, block pglue_b */
- 0x010aa839, /* pglue_b.shadow_ats_stu (1 regs) */
- 0x01170003, /* mode !(bb|k2), block ptu */
- 0x02158179, /* ptu.inv_rsc_type .. ptu.inv_rsc_type_mask (2 regs) */
- 0x03200000, /* block dorq */
- 0x10040a04, /* dorq.prv_pf_max_icid_2 .. dorq.prv_vf_range2conn_type_5 (16 regs) */
- 0x02040add, /* dorq.ddp_version .. dorq.rdmap_version (2 regs) */
- 0x08040ae1, /* dorq.pf_ext_pcp_roce .. dorq.pf_int_vid_iwarp (8 regs) */
- 0x01230000, /* block prs */
- 0x0107c5b9, /* prs.new_entry_exclusive (1 regs) */
- 0x03450000, /* block rgsrc */
- 0x010c8104, /* rgsrc.hash_bin_bit_w (1 regs) */
- 0x020c8106, /* rgsrc.table_t1_entry_size .. rgsrc.table_t2_entry_size (2 regs) */
- 0x010c810c, /* rgsrc.was_error (1 regs) */
- 0x03470000, /* block tgsrc */
- 0x010c8904, /* tgsrc.hash_bin_bit_w (1 regs) */
- 0x020c8906, /* tgsrc.table_t1_entry_size .. tgsrc.table_t2_entry_size (2 regs) */
- 0x010c890c, /* tgsrc.was_error (1 regs) */
- 0x02200051, /* mode !e5, block dorq */
+ 0x02200043, /* mode !e5, block dorq */
0x10040102, /* dorq.pf_max_icid_0 .. dorq.vf_max_icid_7 (16 regs) */
0x02040231, /* dorq.pf_pcp .. dorq.pf_ext_vid (2 regs) */
+ 0x010401a3, /* mode !k2, block pglue_b */
+ 0x010aa839, /* pglue_b.shadow_ats_stu (1 regs) */
0x044c00fd, /* mode (!bb)&(!fpga), block wol */
0x12182040, /* wol.acpi_enable .. wol.mpkt_enable (18 regs) */
0x02982052, /* wol.mpkt_mac_addr (2 regs, WB) */
@@ -3520,7 +3569,7 @@ static const u32 dump_reg[] = {
0x01142062, /* nig.mpkt_enable (1 regs) */
0x02942064, /* nig.mpkt_mac_addr (2 regs, WB) */
0x01142066, /* nig.force_wol (1 regs) */
- 0x024b0051, /* mode !e5, block nig */
+ 0x024b0043, /* mode !e5, block nig */
0x20940680, /* nig.llh_func_filter_value (32 regs, WB) */
0x401406a0, /* nig.llh_func_filter_en .. nig.llh_func_filter_hdr_sel (64 regs) */
0x0400002a, /* split VF */
@@ -3567,13 +3616,13 @@ static const u32 dump_reg[] = {
0x01420015, /* mode !(k2|e5), block igu */
0x02060206, /* igu.pci_vf_msix_en .. igu.pci_vf_msix_func_mask (2 regs) */
};
-/* Data size: 14044 bytes */
+/* Data size: 14236 bytes */
#ifndef __PREVENT_DUMP_MEM_ARR__
/* Array of memories to be dumped */
static const u32 dump_mem[] = {
- 0x0000026f, /* split NONE */
+ 0x00000295, /* split NONE */
0x14040000, /* block pglue_b */
0x000aa910, 0x00000006, /* pglue_b.sdm_inb_int_b_pf_0, group=PXP_MEM, size=6 regs */
0x000aa918, 0x00000006, /* pglue_b.sdm_inb_int_b_pf_1, group=PXP_MEM, size=6 regs */
@@ -3613,13 +3662,12 @@ static const u32 dump_mem[] = {
0x030bd100, 0x00000100, /* qm.RlGlblCrd, group=QM_MEM, size=256 regs */
0x021f0000, /* block tm */
0x040b2000, 0x01000a00, /* tm.context_mem, group=TM_MEM, size=2560 regs, WB */
- 0x0c210000, /* block brb */
+ 0x0a210000, /* block brb */
0x050d0204, 0x00000004, /* brb.free_list_head, group=BRB_RAM, size=4 regs */
0x050d0208, 0x00000004, /* brb.free_list_tail, group=BRB_RAM, size=4 regs */
0x050d020c, 0x00000004, /* brb.free_list_size, group=BRB_RAM, size=4 regs */
0x060d0600, 0x01000014, /* brb.stopped_rd_req, group=BRB_MEM, size=20 regs, WB */
0x060d0640, 0x01000014, /* brb.stopped_rls_req, group=BRB_MEM, size=20 regs, WB */
- 0x060d0680, 0x00000022, /* brb.per_tc_counters, group=BRB_MEM, size=34 regs */
0x04230000, /* block prs */
0x0707c400, 0x01000040, /* prs.gft_profile_mask_ram, group=PRS_MEM, size=64 regs, WB */
0x0707c440, 0x0000001f, /* prs.gft_cam, group=PRS_MEM, size=31 regs */
@@ -3666,32 +3714,26 @@ static const u32 dump_mem[] = {
0x0b36c204, 0x00000004, /* btb.free_list_head, group=BTB_RAM, size=4 regs */
0x0b36c208, 0x00000004, /* btb.free_list_tail, group=BTB_RAM, size=4 regs */
0x0b36c20c, 0x00000004, /* btb.free_list_size, group=BTB_RAM, size=4 regs */
- 0x023d0000, /* block rdif */
- 0x0c0c1000, 0x01000a00, /* rdif.l1_task_context, group=RDIF_CTX, size=2560 regs, WB */
- 0x023e0000, /* block tdif */
- 0x0d0c6000, 0x01001400, /* tdif.l1_task_context, group=TDIF_CTX, size=5120 regs, WB */
- 0x0a400000, /* block ccfc */
- 0x0e0b81d0, 0x0000000e, /* ccfc.lcreq_credit, group=CFC_MEM, size=14 regs */
- 0x0f0ba200, 0x00000140, /* ccfc.activity_counter, group=CONN_CFC_MEM, size=320 regs */
- 0x0f0ba400, 0x00000140, /* ccfc.info_state, group=CONN_CFC_MEM, size=320 regs */
- 0x0f0ba600, 0x00000140, /* ccfc.info_reg, group=CONN_CFC_MEM, size=320 regs */
- 0x0f0bac00, 0x01000280, /* ccfc.cid_cam, group=CONN_CFC_MEM, size=640 regs, WB */
- 0x0a410000, /* block tcfc */
- 0x0e0b41d0, 0x0000000e, /* tcfc.lcreq_credit, group=CFC_MEM, size=14 regs */
- 0x100b6200, 0x00000140, /* tcfc.activity_counter, group=TASK_CFC_MEM, size=320 regs */
- 0x100b6400, 0x00000140, /* tcfc.info_state, group=TASK_CFC_MEM, size=320 regs */
- 0x100b6600, 0x00000140, /* tcfc.info_reg, group=TASK_CFC_MEM, size=320 regs */
- 0x100b6c00, 0x01000280, /* tcfc.cid_cam, group=TASK_CFC_MEM, size=640 regs, WB */
- 0x0e430000, /* block cau */
- 0x11070100, 0x00000001, /* cau.num_pi_per_sb, group=CAU_PI, size=1 regs */
- 0x12070800, 0x01000078, /* cau.cqe_fifo, group=CAU_MEM, size=120 regs, WB */
- 0x12070880, 0x01000010, /* cau.igu_cmd_fifo, group=CAU_MEM, size=16 regs, WB */
- 0x120708c0, 0x01000020, /* cau.pxp_req_fifo, group=CAU_MEM, size=32 regs, WB */
- 0x12070900, 0x01000100, /* cau.pxp_wdata_fifo, group=CAU_MEM, size=256 regs, WB */
- 0x12071100, 0x00000100, /* cau.fsm_table, group=CAU_MEM, size=256 regs */
- 0x12077000, 0x01000100, /* cau.agg_unit_descriptor, group=CAU_MEM, size=256 regs, WB */
- 0x02140007, /* mode bb, block pswrq2 */
- 0x13098000, 0x01003b60, /* pswrq2.ilt_memory, group=PXP_ILT, size=15200 regs, WB */
+ 0x08400000, /* block ccfc */
+ 0x0c0ba200, 0x00000140, /* ccfc.activity_counter, group=CONN_CFC_MEM, size=320 regs */
+ 0x0c0ba400, 0x00000140, /* ccfc.info_state, group=CONN_CFC_MEM, size=320 regs */
+ 0x0c0ba600, 0x00000140, /* ccfc.info_reg, group=CONN_CFC_MEM, size=320 regs */
+ 0x0c0bac00, 0x01000280, /* ccfc.cid_cam, group=CONN_CFC_MEM, size=640 regs, WB */
+ 0x08410000, /* block tcfc */
+ 0x0d0b6200, 0x00000140, /* tcfc.activity_counter, group=TASK_CFC_MEM, size=320 regs */
+ 0x0d0b6400, 0x00000140, /* tcfc.info_state, group=TASK_CFC_MEM, size=320 regs */
+ 0x0d0b6600, 0x00000140, /* tcfc.info_reg, group=TASK_CFC_MEM, size=320 regs */
+ 0x0d0b6c00, 0x01000280, /* tcfc.cid_cam, group=TASK_CFC_MEM, size=640 regs, WB */
+ 0x0a430000, /* block cau */
+ 0x0e070100, 0x00000001, /* cau.num_pi_per_sb, group=CAU_PI, size=1 regs */
+ 0x0f070880, 0x01000010, /* cau.igu_cmd_fifo, group=CAU_MEM, size=16 regs, WB */
+ 0x0f0708c0, 0x01000020, /* cau.pxp_req_fifo, group=CAU_MEM, size=32 regs, WB */
+ 0x0f070900, 0x01000100, /* cau.pxp_wdata_fifo, group=CAU_MEM, size=256 regs, WB */
+ 0x0f071100, 0x00000100, /* cau.fsm_table, group=CAU_MEM, size=256 regs */
+ 0x020d0007, /* mode bb, block pswhst */
+ 0x000a8200, 0x00000100, /* pswhst.zone_permission_table, group=PXP_MEM, size=256 regs */
+ 0x02140000, /* block pswrq2 */
+ 0x10098000, 0x01003b60, /* pswrq2.ilt_memory, group=PXP_ILT, size=15200 regs, WB */
0x06180000, /* block tcm */
0x02460580, 0x00000020, /* tcm.xx_lcid_cam, group=CM_MEM, size=32 regs */
0x024605c0, 0x00000020, /* tcm.xx_tbl, group=CM_MEM, size=32 regs */
@@ -3734,27 +3776,36 @@ static const u32 dump_mem[] = {
0x030bf400, 0x000001c0, /* qm.WfqVpMap, group=QM_MEM, size=448 regs */
0x021f0000, /* block tm */
0x040b0800, 0x01000130, /* tm.config_task_mem, group=TM_MEM, size=304 regs, WB */
- 0x02210000, /* block brb */
+ 0x04210000, /* block brb */
+ 0x060d0680, 0x00000022, /* brb.per_tc_counters, group=BRB_MEM, size=34 regs */
0x050d2000, 0x000012c0, /* brb.link_list, group=BRB_RAM, size=4800 regs */
0x022a0000, /* block tsem */
- 0x145c8000, 0x010010e0, /* tsem.passive_buffer, group=PBUF, size=4320 regs, WB */
+ 0x115c8000, 0x010010e0, /* tsem.passive_buffer, group=PBUF, size=4320 regs, WB */
0x022b0000, /* block msem */
- 0x14608000, 0x010010e0, /* msem.passive_buffer, group=PBUF, size=4320 regs, WB */
+ 0x11608000, 0x010010e0, /* msem.passive_buffer, group=PBUF, size=4320 regs, WB */
0x022c0000, /* block usem */
- 0x14648000, 0x01000b40, /* usem.passive_buffer, group=PBUF, size=2880 regs, WB */
+ 0x11648000, 0x01000b40, /* usem.passive_buffer, group=PBUF, size=2880 regs, WB */
0x022d0000, /* block xsem */
- 0x14508000, 0x010010e0, /* xsem.passive_buffer, group=PBUF, size=4320 regs, WB */
+ 0x11508000, 0x010010e0, /* xsem.passive_buffer, group=PBUF, size=4320 regs, WB */
0x022e0000, /* block ysem */
- 0x14548000, 0x010009d8, /* ysem.passive_buffer, group=PBUF, size=2520 regs, WB */
+ 0x11548000, 0x010009d8, /* ysem.passive_buffer, group=PBUF, size=2520 regs, WB */
0x022f0000, /* block psem */
- 0x14588000, 0x010002d0, /* psem.passive_buffer, group=PBUF, size=720 regs, WB */
+ 0x11588000, 0x010002d0, /* psem.passive_buffer, group=PBUF, size=720 regs, WB */
0x04320000, /* block muld */
- 0x15139000, 0x01000800, /* muld.bd_db_arr_dw, group=MULD_MEM, size=2048 regs, WB */
- 0x1513a000, 0x01000800, /* muld.sge_db_arr_dw, group=MULD_MEM, size=2048 regs, WB */
+ 0x12139000, 0x01000800, /* muld.bd_db_arr_dw, group=MULD_MEM, size=2048 regs, WB */
+ 0x1213a000, 0x01000800, /* muld.sge_db_arr_dw, group=MULD_MEM, size=2048 regs, WB */
0x063b0000, /* block btb */
- 0x1636c400, 0x01000008, /* btb.stopped_rd_req, group=BTB_MEM, size=8 regs, WB */
- 0x1636c440, 0x01000008, /* btb.stopped_rls_req, group=BTB_MEM, size=8 regs, WB */
+ 0x1336c400, 0x01000008, /* btb.stopped_rd_req, group=BTB_MEM, size=8 regs, WB */
+ 0x1336c440, 0x01000008, /* btb.stopped_rls_req, group=BTB_MEM, size=8 regs, WB */
0x0b36d000, 0x00000b40, /* btb.link_list, group=BTB_RAM, size=2880 regs */
+ 0x023d0000, /* block rdif */
+ 0x140c1000, 0x01000a00, /* rdif.l1_task_context, group=RDIF_CTX, size=2560 regs, WB */
+ 0x023e0000, /* block tdif */
+ 0x150c6000, 0x01001400, /* tdif.l1_task_context, group=TDIF_CTX, size=5120 regs, WB */
+ 0x02400000, /* block ccfc */
+ 0x160b81d0, 0x0000000e, /* ccfc.lcreq_credit, group=CFC_MEM, size=14 regs */
+ 0x02410000, /* block tcfc */
+ 0x160b41d0, 0x0000000e, /* tcfc.lcreq_credit, group=CFC_MEM, size=14 regs */
0x0c420000, /* block igu */
0x17060220, 0x00000009, /* igu.pending_bits_status, group=IGU_MEM, size=9 regs */
0x17060240, 0x00000009, /* igu.write_done_pending, group=IGU_MEM, size=9 regs */
@@ -3765,10 +3816,8 @@ static const u32 dump_mem[] = {
0x06430000, /* block cau */
0x19071800, 0x01000240, /* cau.sb_var_memory, group=CAU_SB, size=576 regs, WB */
0x19072000, 0x01000240, /* cau.sb_addr_memory, group=CAU_SB, size=576 regs, WB */
- 0x11074000, 0x00000d80, /* cau.pi_memory, group=CAU_PI, size=3456 regs */
- 0x020d0009, /* mode k2, block pswhst */
- 0x000a8200, 0x00000140, /* pswhst.zone_permission_table, group=PXP_MEM, size=320 regs */
- 0x06180000, /* block tcm */
+ 0x0e074000, 0x00000d80, /* cau.pi_memory, group=CAU_PI, size=3456 regs */
+ 0x06180009, /* mode k2, block tcm */
0x02460580, 0x00000020, /* tcm.xx_lcid_cam, group=CM_MEM, size=32 regs */
0x024605c0, 0x00000020, /* tcm.xx_tbl, group=CM_MEM, size=32 regs */
0x02462000, 0x00001600, /* tcm.xx_msg_ram, group=CM_MEM, size=5632 regs */
@@ -3797,26 +3846,35 @@ static const u32 dump_mem[] = {
0x041f0000, /* block tm */
0x040b0400, 0x010001a0, /* tm.config_conn_mem, group=TM_MEM, size=416 regs, WB */
0x040b0800, 0x01000200, /* tm.config_task_mem, group=TM_MEM, size=512 regs, WB */
- 0x02210000, /* block brb */
+ 0x04210000, /* block brb */
+ 0x060d0680, 0x00000022, /* brb.per_tc_counters, group=BRB_MEM, size=34 regs */
0x050d2000, 0x00001e00, /* brb.link_list, group=BRB_RAM, size=7680 regs */
0x022a0000, /* block tsem */
- 0x145c8000, 0x010010e0, /* tsem.passive_buffer, group=PBUF, size=4320 regs, WB */
+ 0x115c8000, 0x010010e0, /* tsem.passive_buffer, group=PBUF, size=4320 regs, WB */
0x022b0000, /* block msem */
- 0x14608000, 0x010010e0, /* msem.passive_buffer, group=PBUF, size=4320 regs, WB */
+ 0x11608000, 0x010010e0, /* msem.passive_buffer, group=PBUF, size=4320 regs, WB */
0x022c0000, /* block usem */
- 0x14648000, 0x01000b40, /* usem.passive_buffer, group=PBUF, size=2880 regs, WB */
+ 0x11648000, 0x01000b40, /* usem.passive_buffer, group=PBUF, size=2880 regs, WB */
0x022d0000, /* block xsem */
- 0x14508000, 0x010010e0, /* xsem.passive_buffer, group=PBUF, size=4320 regs, WB */
+ 0x11508000, 0x010010e0, /* xsem.passive_buffer, group=PBUF, size=4320 regs, WB */
0x022e0000, /* block ysem */
- 0x14548000, 0x010009d8, /* ysem.passive_buffer, group=PBUF, size=2520 regs, WB */
+ 0x11548000, 0x010009d8, /* ysem.passive_buffer, group=PBUF, size=2520 regs, WB */
0x022f0000, /* block psem */
- 0x14588000, 0x010002d0, /* psem.passive_buffer, group=PBUF, size=720 regs, WB */
+ 0x11588000, 0x010002d0, /* psem.passive_buffer, group=PBUF, size=720 regs, WB */
0x04320000, /* block muld */
- 0x15139000, 0x01000a00, /* muld.bd_db_arr_dw, group=MULD_MEM, size=2560 regs, WB */
- 0x1513a000, 0x01000a00, /* muld.sge_db_arr_dw, group=MULD_MEM, size=2560 regs, WB */
+ 0x12139000, 0x01000a00, /* muld.bd_db_arr_dw, group=MULD_MEM, size=2560 regs, WB */
+ 0x1213a000, 0x01000a00, /* muld.sge_db_arr_dw, group=MULD_MEM, size=2560 regs, WB */
0x043b0000, /* block btb */
- 0x1636c400, 0x01000010, /* btb.stopped_rd_req, group=BTB_MEM, size=16 regs, WB */
+ 0x1336c400, 0x01000010, /* btb.stopped_rd_req, group=BTB_MEM, size=16 regs, WB */
0x0b36d000, 0x00000e60, /* btb.link_list, group=BTB_RAM, size=3680 regs */
+ 0x023d0000, /* block rdif */
+ 0x140c1000, 0x01000a00, /* rdif.l1_task_context, group=RDIF_CTX, size=2560 regs, WB */
+ 0x023e0000, /* block tdif */
+ 0x150c6000, 0x01001400, /* tdif.l1_task_context, group=TDIF_CTX, size=5120 regs, WB */
+ 0x02400000, /* block ccfc */
+ 0x160b81d0, 0x0000000e, /* ccfc.lcreq_credit, group=CFC_MEM, size=14 regs */
+ 0x02410000, /* block tcfc */
+ 0x160b41d0, 0x0000000e, /* tcfc.lcreq_credit, group=CFC_MEM, size=14 regs */
0x0c420000, /* block igu */
0x17060220, 0x0000000c, /* igu.pending_bits_status, group=IGU_MEM, size=12 regs */
0x17060240, 0x0000000c, /* igu.write_done_pending, group=IGU_MEM, size=12 regs */
@@ -3824,8 +3882,14 @@ static const u32 dump_mem[] = {
0x17060c00, 0x00000180, /* igu.consumer_mem, group=IGU_MEM, size=384 regs */
0x17061000, 0x00000170, /* igu.mapping_memory, group=IGU_MEM, size=368 regs */
0x18061800, 0x010005c0, /* igu.msix_memory, group=IGU_MSIX, size=1472 regs, WB */
- 0x02140025, /* mode !bb, block pswrq2 */
- 0x13098000, 0x010055f0, /* pswrq2.ilt_memory, group=PXP_ILT, size=22000 regs, WB */
+ 0x06430000, /* block cau */
+ 0x19071800, 0x010002e0, /* cau.sb_var_memory, group=CAU_SB, size=736 regs, WB */
+ 0x19072000, 0x010002e0, /* cau.sb_addr_memory, group=CAU_SB, size=736 regs, WB */
+ 0x0e074000, 0x00001140, /* cau.pi_memory, group=CAU_PI, size=4416 regs */
+ 0x020d0025, /* mode !bb, block pswhst */
+ 0x000a8200, 0x00000140, /* pswhst.zone_permission_table, group=PXP_MEM, size=320 regs */
+ 0x02140000, /* block pswrq2 */
+ 0x10098000, 0x010055f0, /* pswrq2.ilt_memory, group=PXP_ILT, size=22000 regs, WB */
0x201e0000, /* block qm */
0x030bc180, 0x00000080, /* qm.BaseAddrOtherPq, group=QM_MEM, size=128 regs */
0x030bc800, 0x00000080, /* qm.PqFillLvlOther, group=QM_MEM, size=128 regs */
@@ -3844,15 +3908,7 @@ static const u32 dump_mem[] = {
0x030bf000, 0x00000200, /* qm.WfqVpCrd, group=QM_MEM, size=512 regs */
0x030bf400, 0x00000200, /* qm.WfqVpMap, group=QM_MEM, size=512 regs */
0x023b0000, /* block btb */
- 0x1636c440, 0x01000010, /* btb.stopped_rls_req, group=BTB_MEM, size=16 regs, WB */
- 0x06430000, /* block cau */
- 0x19071800, 0x010002e0, /* cau.sb_var_memory, group=CAU_SB, size=736 regs, WB */
- 0x19072000, 0x010002e0, /* cau.sb_addr_memory, group=CAU_SB, size=736 regs, WB */
- 0x11074000, 0x00001140, /* cau.pi_memory, group=CAU_PI, size=4416 regs */
- 0x020d0135, /* mode !k2, block pswhst */
- 0x000a8200, 0x00000100, /* pswhst.zone_permission_table, group=PXP_MEM, size=256 regs */
- 0x021f0000, /* block tm */
- 0x040b0400, 0x01000100, /* tm.config_conn_mem, group=TM_MEM, size=256 regs, WB */
+ 0x1336c440, 0x01000010, /* btb.stopped_rls_req, group=BTB_MEM, size=16 regs, WB */
0x06180003, /* mode !(bb|k2), block tcm */
0x02460580, 0x00000040, /* tcm.xx_lcid_cam, group=CM_MEM, size=64 regs */
0x024605c0, 0x00000040, /* tcm.xx_tbl, group=CM_MEM, size=64 regs */
@@ -3881,26 +3937,35 @@ static const u32 dump_mem[] = {
0x030bff40, 0x00000024, /* qm.VoqInitCrdByte, group=QM_MEM, size=36 regs */
0x021f0000, /* block tm */
0x040b0800, 0x01000260, /* tm.config_task_mem, group=TM_MEM, size=608 regs, WB */
- 0x02210000, /* block brb */
+ 0x04210000, /* block brb */
+ 0x060d0680, 0x00000024, /* brb.per_tc_counters, group=BRB_MEM, size=36 regs */
0x050d4000, 0x00002280, /* brb.link_list, group=BRB_RAM, size=8832 regs */
0x022a0000, /* block tsem */
- 0x145c8000, 0x00003100, /* tsem.passive_buffer, group=PBUF, size=12544 regs */
+ 0x115c8000, 0x00003100, /* tsem.passive_buffer, group=PBUF, size=12544 regs */
0x022b0000, /* block msem */
- 0x14608000, 0x00003100, /* msem.passive_buffer, group=PBUF, size=12544 regs */
+ 0x11608000, 0x00003100, /* msem.passive_buffer, group=PBUF, size=12544 regs */
0x022c0000, /* block usem */
- 0x14648000, 0x00003100, /* usem.passive_buffer, group=PBUF, size=12544 regs */
+ 0x11648000, 0x00003100, /* usem.passive_buffer, group=PBUF, size=12544 regs */
0x022d0000, /* block xsem */
- 0x14508000, 0x00003100, /* xsem.passive_buffer, group=PBUF, size=12544 regs */
+ 0x11508000, 0x00003100, /* xsem.passive_buffer, group=PBUF, size=12544 regs */
0x022e0000, /* block ysem */
- 0x14548000, 0x00003100, /* ysem.passive_buffer, group=PBUF, size=12544 regs */
+ 0x11548000, 0x00003100, /* ysem.passive_buffer, group=PBUF, size=12544 regs */
0x022f0000, /* block psem */
- 0x14588000, 0x00003100, /* psem.passive_buffer, group=PBUF, size=12544 regs */
+ 0x11588000, 0x00003100, /* psem.passive_buffer, group=PBUF, size=12544 regs */
0x04320000, /* block muld */
- 0x15139000, 0x01001000, /* muld.bd_db_arr_dw, group=MULD_MEM, size=4096 regs, WB */
- 0x1513a000, 0x01001000, /* muld.sge_db_arr_dw, group=MULD_MEM, size=4096 regs, WB */
+ 0x12139000, 0x01001000, /* muld.bd_db_arr_dw, group=MULD_MEM, size=4096 regs, WB */
+ 0x1213a000, 0x01001000, /* muld.sge_db_arr_dw, group=MULD_MEM, size=4096 regs, WB */
0x043b0000, /* block btb */
- 0x1636c400, 0x01000020, /* btb.stopped_rd_req, group=BTB_MEM, size=32 regs, WB */
- 0x0b36e000, 0x00001900, /* btb.link_list, group=BTB_RAM, size=6400 regs */
+ 0x1336c400, 0x01000020, /* btb.stopped_rd_req, group=BTB_MEM, size=32 regs, WB */
+ 0x0b36e000, 0x000014a0, /* btb.link_list, group=BTB_RAM, size=5280 regs */
+ 0x023d0000, /* block rdif */
+ 0x140c2000, 0x01001800, /* rdif.l1_task_context, group=RDIF_CTX, size=6144 regs, WB */
+ 0x023e0000, /* block tdif */
+ 0x150c6000, 0x01001800, /* tdif.l1_task_context, group=TDIF_CTX, size=6144 regs, WB */
+ 0x02400000, /* block ccfc */
+ 0x160b81d0, 0x0000000d, /* ccfc.lcreq_credit, group=CFC_MEM, size=13 regs */
+ 0x02410000, /* block tcfc */
+ 0x160b41d0, 0x0000000d, /* tcfc.lcreq_credit, group=CFC_MEM, size=13 regs */
0x0c420000, /* block igu */
0x17060220, 0x00000010, /* igu.pending_bits_status, group=IGU_MEM, size=16 regs */
0x17060240, 0x00000010, /* igu.write_done_pending, group=IGU_MEM, size=16 regs */
@@ -3908,20 +3973,29 @@ static const u32 dump_mem[] = {
0x17060c00, 0x00000210, /* igu.consumer_mem, group=IGU_MEM, size=528 regs */
0x17061000, 0x00000200, /* igu.mapping_memory, group=IGU_MEM, size=512 regs */
0x18061800, 0x01000800, /* igu.msix_memory, group=IGU_MSIX, size=2048 regs, WB */
- 0x02230051, /* mode !e5, block prs */
+ 0x06430000, /* block cau */
+ 0x19071800, 0x01000400, /* cau.sb_var_memory, group=CAU_SB, size=1024 regs, WB */
+ 0x19072000, 0x01000400, /* cau.sb_addr_memory, group=CAU_SB, size=1024 regs, WB */
+ 0x0e074000, 0x00001000, /* cau.pi_memory, group=CAU_PI, size=4096 regs */
+ 0x02230043, /* mode !e5, block prs */
0x0707c300, 0x00000080, /* prs.last_pkt_list, group=PRS_MEM, size=128 regs */
0x022a0000, /* block tsem */
- 0x145c02c4, 0x00000001, /* tsem.thread_valid, group=PBUF, size=1 regs */
+ 0x115c02c4, 0x00000001, /* tsem.thread_valid, group=PBUF, size=1 regs */
0x022b0000, /* block msem */
- 0x146002c4, 0x00000001, /* msem.thread_valid, group=PBUF, size=1 regs */
+ 0x116002c4, 0x00000001, /* msem.thread_valid, group=PBUF, size=1 regs */
0x022c0000, /* block usem */
- 0x146402c4, 0x00000001, /* usem.thread_valid, group=PBUF, size=1 regs */
+ 0x116402c4, 0x00000001, /* usem.thread_valid, group=PBUF, size=1 regs */
0x022d0000, /* block xsem */
- 0x145002c4, 0x00000001, /* xsem.thread_valid, group=PBUF, size=1 regs */
+ 0x115002c4, 0x00000001, /* xsem.thread_valid, group=PBUF, size=1 regs */
0x022e0000, /* block ysem */
- 0x145402c4, 0x00000001, /* ysem.thread_valid, group=PBUF, size=1 regs */
+ 0x115402c4, 0x00000001, /* ysem.thread_valid, group=PBUF, size=1 regs */
0x022f0000, /* block psem */
- 0x145802c4, 0x00000001, /* psem.thread_valid, group=PBUF, size=1 regs */
+ 0x115802c4, 0x00000001, /* psem.thread_valid, group=PBUF, size=1 regs */
+ 0x04430000, /* block cau */
+ 0x0f070800, 0x01000078, /* cau.cqe_fifo, group=CAU_MEM, size=120 regs, WB */
+ 0x0f077000, 0x01000100, /* cau.agg_unit_descriptor, group=CAU_MEM, size=256 regs, WB */
+ 0x021f01a3, /* mode !k2, block tm */
+ 0x040b0400, 0x01000100, /* tm.config_conn_mem, group=TM_MEM, size=256 regs, WB */
0x0809000b, /* mode !(emul_reduced|fpga), block bmb */
0x1a150204, 0x00000004, /* bmb.free_list_head, group=BMB_RAM, size=4 regs */
0x1a150208, 0x00000004, /* bmb.free_list_tail, group=BMB_RAM, size=4 regs */
@@ -3930,14 +4004,14 @@ static const u32 dump_mem[] = {
0x04090001, /* mode (!(bb|k2))&(!(emul_reduced|fpga)), block bmb */
0x1b150480, 0x01000006, /* bmb.stopped_rd_req, group=BMB_MEM, size=6 regs, WB */
0x1b1504c0, 0x0100000c, /* bmb.stopped_rls_req, group=BMB_MEM, size=12 regs, WB */
- 0x040900c9, /* mode bb&(!(emul_reduced|fpga)), block bmb */
+ 0x040900b7, /* mode bb&(!(emul_reduced|fpga)), block bmb */
0x1b150480, 0x01000014, /* bmb.stopped_rd_req, group=BMB_MEM, size=20 regs, WB */
0x1b1504c0, 0x01000028, /* bmb.stopped_rls_req, group=BMB_MEM, size=40 regs, WB */
- 0x0409008d, /* mode k2&(!(emul_reduced|fpga)), block bmb */
+ 0x04090087, /* mode k2&(!(emul_reduced|fpga)), block bmb */
0x1b150480, 0x01000014, /* bmb.stopped_rd_req, group=BMB_MEM, size=20 regs, WB */
0x1b1504c0, 0x01000028, /* bmb.stopped_rls_req, group=BMB_MEM, size=40 regs, WB */
};
-/* Data size: 2496 bytes */
+/* Data size: 2648 bytes */
#endif /* __PREVENT_DUMP_MEM_ARR__ */
@@ -4013,6 +4087,10 @@ static const u32 idle_chk_regs[] = {
0x1600302f, 0x00010001, /* cond: dmae.go_c29 */
0x16003030, 0x00010001, /* cond: dmae.go_c30 */
0x16003031, 0x00010001, /* cond: dmae.go_c31 */
+ 0x16003080, 0x00010001, /* cond: dmae.PRTY_STS_H_0 */
+ 0x16003081, 0x00010001, /* cond: dmae.PRTY_MASK_H_0 */
+ 0x4a004080, 0x00010001, /* cond: dbg.PRTY_STS_H_0 */
+ 0x4a004081, 0x00010001, /* cond: dbg.PRTY_MASK_H_0 */
0x00014019, 0x00010001, /* cond: grc.trace_fifo_valid_data */
0x00014060, 0x00010001, /* cond: grc.INT_STS_0 */
0x00014061, 0x00010001, /* cond: grc.INT_MASK_0 */
@@ -4020,6 +4098,8 @@ static const u32 idle_chk_regs[] = {
0x00014081, 0x00010001, /* cond: grc.PRTY_MASK_H_0 */
0x20040060, 0x00010001, /* cond: dorq.INT_STS */
0x20040061, 0x00010001, /* cond: dorq.INT_MASK */
+ 0x20040080, 0x00010001, /* cond: dorq.PRTY_STS_H_0 */
+ 0x20040081, 0x00010001, /* cond: dorq.PRTY_MASK_H_0 */
0x20040260, 0x00010001, /* cond: dorq.xcm_msg_init_crd */
0x20040261, 0x00010001, /* cond: dorq.tcm_msg_init_crd */
0x20040262, 0x00010001, /* cond: dorq.ucm_msg_init_crd */
@@ -4037,6 +4117,8 @@ static const u32 idle_chk_regs[] = {
0x200402a2, 0x00010001, /* cond: dorq.dpm_tbl_fill_lvl */
0x42060064, 0x00010001, /* cond: igu.PRTY_STS */
0x42060065, 0x00010001, /* cond: igu.PRTY_MASK */
+ 0x42060080, 0x00010001, /* cond: igu.PRTY_STS_H_0 */
+ 0x42060081, 0x00010001, /* cond: igu.PRTY_MASK_H_0 */
0x42060545, 0x00010001, /* cond: igu.attn_write_done_pending */
0x42060547, 0x00010001, /* cond: igu.Interrupt_status */
0x4206054c, 0x00010001, /* cond: igu.error_handling_data_valid */
@@ -4056,10 +4138,6 @@ static const u32 idle_chk_regs[] = {
0x43070323, 0x00000001, /* info: cau.error_fsm_line_pre mode=all */
0x43070324, 0x00010001, /* cond: cau.parity_latch_status */
0x43070325, 0x00010001, /* cond: cau.error_cleanup_cmd_reg */
- 0x43070327, 0x00010001, /* cond: cau.agg_units_0to15_state */
- 0x43070328, 0x00010001, /* cond: cau.agg_units_16to31_state */
- 0x43070329, 0x00010001, /* cond: cau.agg_units_32to47_state */
- 0x4307032a, 0x00010001, /* cond: cau.agg_units_48to63_state */
0x43070380, 0x00010001, /* cond: cau.req_counter */
0x43070381, 0x00010001, /* cond: cau.ack_counter */
0x43070380, 0x00010001, /* cond: cau.req_counter */
@@ -4067,8 +4145,6 @@ static const u32 idle_chk_regs[] = {
0x430703c0, 0x00010001, /* cond: cau.main_fsm_status */
0x430703c1, 0x00010001, /* cond: cau.var_read_fsm_status */
0x430703c2, 0x00010001, /* cond: cau.igu_dma_fsm_status */
- 0x430703c3, 0x00010001, /* cond: cau.igu_cqe_cmd_fsm_status */
- 0x430703c4, 0x00010001, /* cond: cau.igu_cqe_agg_fsm_status */
0x2307c010, 0x00010001, /* cond: prs.INT_STS_0 */
0x2307c011, 0x00010001, /* cond: prs.INT_MASK_0 */
0x2307c2da, 0x00000001, /* info: prs.mini_cache_failed_response mode=all */
@@ -4076,6 +4152,8 @@ static const u32 idle_chk_regs[] = {
0x00014019, 0x00000001, /* info: grc.trace_fifo_valid_data mode=all */
0x2307c014, 0x00010001, /* cond: prs.PRTY_STS */
0x2307c015, 0x00010001, /* cond: prs.PRTY_MASK */
+ 0x2307c081, 0x00010001, /* cond: prs.PRTY_STS_H_0 */
+ 0x2307c082, 0x00010001, /* cond: prs.PRTY_MASK_H_0 */
0x2307c2d5, 0x00010001, /* cond: prs.queue_pkt_avail_status */
0x2307c2d6, 0x00010001, /* cond: prs.storm_bkprs_status */
0x2307c2d7, 0x00010001, /* cond: prs.stop_parsing_status */
@@ -4091,9 +4169,13 @@ static const u32 idle_chk_regs[] = {
0x2307c3cd, 0x00010001, /* cond: prs.eop_req_ct */
0x3708c010, 0x00010001, /* cond: prm.INT_STS */
0x3708c011, 0x00010001, /* cond: prm.INT_MASK */
+ 0x3708c080, 0x00010001, /* cond: prm.PRTY_STS_H_0 */
+ 0x3708c081, 0x00010001, /* cond: prm.PRTY_MASK_H_0 */
0x3008e202, 0x00010001, /* cond: rss.rss_init_done */
0x3008e260, 0x00010001, /* cond: rss.INT_STS */
0x3008e261, 0x00010001, /* cond: rss.INT_MASK */
+ 0x3008e280, 0x00010001, /* cond: rss.PRTY_STS_H_0 */
+ 0x3008e281, 0x00010001, /* cond: rss.PRTY_MASK_H_0 */
0x3008e301, 0x00010001, /* cond: rss.tmld_credit */
0x14090000, 0x00010001, /* cond: pswrq2.rbc_done */
0x14090001, 0x00010001, /* cond: pswrq2.cfg_done */
@@ -4221,6 +4303,14 @@ static const u32 idle_chk_regs[] = {
0x120a6c16, 0x00010001, /* cond: pswwr2.cdu_curr_fill_level */
0x120a6c60, 0x00010001, /* cond: pswwr2.INT_STS */
0x120a6c61, 0x00010001, /* cond: pswwr2.INT_MASK */
+ 0x120a6c80, 0x00010001, /* cond: pswwr2.PRTY_STS_H_0 */
+ 0x120a6c81, 0x00010001, /* cond: pswwr2.PRTY_MASK_H_0 */
+ 0x120a6c84, 0x00010001, /* cond: pswwr2.PRTY_STS_H_1 */
+ 0x120a6c85, 0x00010001, /* cond: pswwr2.PRTY_MASK_H_1 */
+ 0x120a6c88, 0x00010001, /* cond: pswwr2.PRTY_STS_H_2 */
+ 0x120a6c89, 0x00010001, /* cond: pswwr2.PRTY_MASK_H_2 */
+ 0x120a6c8c, 0x00010001, /* cond: pswwr2.PRTY_STS_H_3 */
+ 0x120a6c8d, 0x00010001, /* cond: pswwr2.PRTY_MASK_H_3 */
0x0f0a7029, 0x00010001, /* cond: pswrd.fifo_full_status */
0x0f0a7060, 0x00010001, /* cond: pswrd.INT_STS */
0x0f0a7061, 0x00010001, /* cond: pswrd.INT_MASK */
@@ -4263,8 +4353,12 @@ static const u32 idle_chk_regs[] = {
0x0d0a8058, 0x00010008, /* cond: pswhst.clients_waiting_to_source_arb[0:7] */
0x0d0a8060, 0x00010001, /* cond: pswhst.INT_STS */
0x0d0a8061, 0x00010001, /* cond: pswhst.INT_MASK */
+ 0x0d0a8080, 0x00010001, /* cond: pswhst.PRTY_STS_H_0 */
+ 0x0d0a8081, 0x00010001, /* cond: pswhst.PRTY_MASK_H_0 */
0x040aa060, 0x00010001, /* cond: pglue_b.INT_STS */
0x040aa060, 0x00010001, /* cond: pglue_b.INT_STS */
+ 0x040aa080, 0x00010001, /* cond: pglue_b.PRTY_STS_H_0 */
+ 0x040aa081, 0x00010001, /* cond: pglue_b.PRTY_MASK_H_0 */
0x040aa120, 0x00010001, /* cond: pglue_b.pgl_write_blocked */
0x040aa121, 0x00010001, /* cond: pglue_b.pgl_read_blocked */
0x040aa122, 0x00010001, /* cond: pglue_b.read_fifo_occupancy_level */
@@ -4323,6 +4417,8 @@ static const u32 idle_chk_regs[] = {
0x1f0b0060, 0x00010001, /* cond: tm.INT_STS_0 */
0x1f0b0060, 0x00010001, /* cond: tm.INT_STS_0 */
0x1f0b0064, 0x00010001, /* cond: tm.INT_STS_1 */
+ 0x1f0b0080, 0x00010001, /* cond: tm.PRTY_STS_H_0 */
+ 0x1f0b0081, 0x00010001, /* cond: tm.PRTY_MASK_H_0 */
0x1f0b01c4, 0x00010001, /* cond: tm.pxp_read_data_fifo_status */
0x1f0b01c6, 0x00010001, /* cond: tm.pxp_read_ctrl_fifo_status */
0x1f0b01c8, 0x00010001, /* cond: tm.cfc_load_echo_fifo_status */
@@ -4344,10 +4440,11 @@ static const u32 idle_chk_regs[] = {
0x410b4157, 0x00000001, /* info: tcfc.error_data2 mode=all */
0x410b4158, 0x00000001, /* info: tcfc.error_data3 mode=all */
0x410b4159, 0x00000001, /* info: tcfc.error_data4 mode=all */
+ 0x410b4080, 0x00010001, /* cond: tcfc.PRTY_STS_H_0 */
+ 0x410b4081, 0x00010001, /* cond: tcfc.PRTY_MASK_H_0 */
0x410b4184, 0x00010001, /* cond: tcfc.lstate_arriving */
0x410b4187, 0x00010001, /* cond: tcfc.lstate_leaving */
0x410b41e2, 0x00010001, /* cond: tcfc.cduld_credit */
- 0x410b41e3, 0x00010001, /* cond: tcfc.cduwb_credit */
0x400b8001, 0x00010001, /* cond: ccfc.ll_init_done */
0x400b8002, 0x00010001, /* cond: ccfc.ac_init_done */
0x400b8003, 0x00010001, /* cond: ccfc.cam_init_done */
@@ -4359,6 +4456,8 @@ static const u32 idle_chk_regs[] = {
0x400b8157, 0x00000001, /* info: ccfc.error_data2 mode=all */
0x400b8158, 0x00000001, /* info: ccfc.error_data3 mode=all */
0x400b8159, 0x00000001, /* info: ccfc.error_data4 mode=all */
+ 0x400b8080, 0x00010001, /* cond: ccfc.PRTY_STS_H_0 */
+ 0x400b8081, 0x00010001, /* cond: ccfc.PRTY_MASK_H_0 */
0x400b8179, 0x00010001, /* cond: ccfc.PRTY_STS */
0x400b817a, 0x00010001, /* cond: ccfc.PRTY_MASK */
0x400b8184, 0x00010001, /* cond: ccfc.lstate_arriving */
@@ -4369,6 +4468,12 @@ static const u32 idle_chk_regs[] = {
0x1e0bc061, 0x00010001, /* cond: qm.INT_MASK */
0x1e0bc064, 0x00010001, /* cond: qm.PRTY_STS */
0x1e0bc065, 0x00010001, /* cond: qm.PRTY_MASK */
+ 0x1e0bc080, 0x00010001, /* cond: qm.PRTY_STS_H_0 */
+ 0x1e0bc081, 0x00010001, /* cond: qm.PRTY_MASK_H_0 */
+ 0x1e0bc084, 0x00010001, /* cond: qm.PRTY_STS_H_1 */
+ 0x1e0bc085, 0x00010001, /* cond: qm.PRTY_MASK_H_1 */
+ 0x1e0bc088, 0x00010001, /* cond: qm.PRTY_STS_H_2 */
+ 0x1e0bc089, 0x00010001, /* cond: qm.PRTY_MASK_H_2 */
0x1e0bc106, 0x00010006, /* cond: qm.wrc_fifolvl_0[0:5] */
0x1e0bc202, 0x00010001, /* cond: qm.OutLdReqCrdConnTx */
0x1e0bc200, 0x00010001, /* cond: qm.OutLdReqSizeConnTx */
@@ -4404,6 +4509,8 @@ static const u32 idle_chk_regs[] = {
0x3d0c0061, 0x00010001, /* cond: rdif.INT_MASK */
0x3e0c4060, 0x00010001, /* cond: tdif.INT_STS */
0x3e0c4061, 0x00010001, /* cond: tdif.INT_MASK */
+ 0x3e0c4080, 0x00010001, /* cond: tdif.PRTY_STS_H_0 */
+ 0x3e0c4081, 0x00010001, /* cond: tdif.PRTY_MASK_H_0 */
0x210d0030, 0x00010001, /* cond: brb.INT_STS_0 */
0x210d0031, 0x00010001, /* cond: brb.INT_MASK_0 */
0x218d0600, 0x00000014, /* info: brb.stopped_rd_req[0:4] width=3 access=WB mode=all */
@@ -4418,6 +4525,10 @@ static const u32 idle_chk_regs[] = {
0x210d0049, 0x00010001, /* cond: brb.INT_MASK_4 */
0x218d0600, 0x00000014, /* info: brb.stopped_rd_req[0:4] width=3 access=WB mode=all */
0x218d0640, 0x00000014, /* info: brb.stopped_rls_req[0:4] width=3 access=WB mode=all */
+ 0x210d0100, 0x00010001, /* cond: brb.PRTY_STS_H_0 */
+ 0x210d0101, 0x00010001, /* cond: brb.PRTY_MASK_H_0 */
+ 0x210d0104, 0x00010001, /* cond: brb.PRTY_STS_H_1 */
+ 0x210d0105, 0x00010001, /* cond: brb.PRTY_MASK_H_1 */
0x210d03ec, 0x00010001, /* cond: brb.wc_bandwidth_if_full */
0x210d03ed, 0x00010001, /* cond: brb.rc_pkt_if_full */
0x210d03ee, 0x00010005, /* cond: brb.rc_pkt_empty_0[0:4] */
@@ -4454,6 +4565,8 @@ static const u32 idle_chk_regs[] = {
0x3413001f, 0x00010001, /* cond: xyld.pci_pending_msg_ctr */
0x34130039, 0x00010001, /* cond: xyld.dbg_pending_ccfc_req */
0x3413003a, 0x00010001, /* cond: xyld.dbg_pending_tcfc_req */
+ 0x34130080, 0x00010001, /* cond: xyld.PRTY_STS_H_0 */
+ 0x34130081, 0x00010001, /* cond: xyld.PRTY_MASK_H_0 */
0x31134016, 0x00010001, /* cond: tmld.pending_msg_to_ext_ev_1_ctr */
0x31134017, 0x00010001, /* cond: tmld.pending_msg_to_ext_ev_2_ctr */
0x31134018, 0x00010001, /* cond: tmld.pending_msg_to_ext_ev_3_ctr */
@@ -4463,6 +4576,8 @@ static const u32 idle_chk_regs[] = {
0x31134003, 0x00010001, /* cond: tmld.foci_foc_credits */
0x31134031, 0x00010001, /* cond: tmld.dbg_pending_ccfc_req */
0x31134032, 0x00010001, /* cond: tmld.dbg_pending_tcfc_req */
+ 0x31134080, 0x00010001, /* cond: tmld.PRTY_STS_H_0 */
+ 0x31134081, 0x00010001, /* cond: tmld.PRTY_MASK_H_0 */
0x3213801c, 0x00010001, /* cond: muld.pending_msg_to_ext_ev_1_ctr */
0x3213801d, 0x00010001, /* cond: muld.pending_msg_to_ext_ev_2_ctr */
0x3213801e, 0x00010001, /* cond: muld.pending_msg_to_ext_ev_3_ctr */
@@ -4475,6 +4590,8 @@ static const u32 idle_chk_regs[] = {
0x32138026, 0x00010001, /* cond: muld.pci_pending_msg_ctr */
0x3213803a, 0x00010001, /* cond: muld.dbg_pending_ccfc_req */
0x3213803b, 0x00010001, /* cond: muld.dbg_pending_tcfc_req */
+ 0x32138080, 0x00010001, /* cond: muld.PRTY_STS_H_0 */
+ 0x32138081, 0x00010001, /* cond: muld.PRTY_MASK_H_0 */
0x4b140010, 0x00010001, /* cond: nig.INT_STS_0 */
0x4b140011, 0x00010001, /* cond: nig.INT_MASK_0 */
0x4b140014, 0x00010001, /* cond: nig.INT_STS_1 */
@@ -4491,6 +4608,14 @@ static const u32 idle_chk_regs[] = {
0x4b140025, 0x00010001, /* cond: nig.INT_MASK_5 */
0x4b1406e8, 0x00000001, /* info: nig.flowctrl_mode mode=all */
0x4b140713, 0x00000001, /* info: nig.rx_flowctrl_status mode=all */
+ 0x4b140080, 0x00010001, /* cond: nig.PRTY_STS_H_0 */
+ 0x4b140081, 0x00010001, /* cond: nig.PRTY_MASK_H_0 */
+ 0x4b140084, 0x00010001, /* cond: nig.PRTY_STS_H_1 */
+ 0x4b140085, 0x00010001, /* cond: nig.PRTY_MASK_H_1 */
+ 0x4b140088, 0x00010001, /* cond: nig.PRTY_STS_H_2 */
+ 0x4b140089, 0x00010001, /* cond: nig.PRTY_MASK_H_2 */
+ 0x4b14008c, 0x00010001, /* cond: nig.PRTY_STS_H_3 */
+ 0x4b14008d, 0x00010001, /* cond: nig.PRTY_MASK_H_3 */
0x4b140301, 0x00010001, /* cond: nig.lb_sopq_empty */
0x4b140303, 0x00010001, /* cond: nig.tx_sopq_empty */
0x4b1404c6, 0x00010001, /* cond: nig.rx_llh_rfifo_empty */
@@ -4506,6 +4631,8 @@ static const u32 idle_chk_regs[] = {
0x17158033, 0x00010001, /* cond: ptu.prm_fill_level */
0x17158060, 0x00010001, /* cond: ptu.INT_STS */
0x17158061, 0x00010001, /* cond: ptu.INT_MASK */
+ 0x17158080, 0x00010001, /* cond: ptu.PRTY_STS_H_0 */
+ 0x17158081, 0x00010001, /* cond: ptu.PRTY_MASK_H_0 */
0x3f160070, 0x00010001, /* cond: cdu.INT_STS */
0x3f160073, 0x00010001, /* cond: cdu.INT_MASK */
0x3f160200, 0x00000001, /* info: cdu.ccfc_cvld_error_data mode=all */
@@ -4514,6 +4641,8 @@ static const u32 idle_chk_regs[] = {
0x3f160203, 0x00000001, /* info: cdu.tcfc_ld_l1_num_error_data mode=all */
0x3f160204, 0x00000001, /* info: cdu.ccfc_wb_l1_num_error_data mode=all */
0x3f160205, 0x00000001, /* info: cdu.tcfc_wb_l1_num_error_data mode=all */
+ 0x3f160080, 0x00010001, /* cond: cdu.PRTY_STS_H_0 */
+ 0x3f160081, 0x00010001, /* cond: cdu.PRTY_MASK_H_0 */
0x3c36019a, 0x00010001, /* cond: pbf.num_pkts_received_with_error */
0x3c36019b, 0x00010001, /* cond: pbf.num_pkts_sent_with_error_to_btb */
0x3c36019c, 0x00010001, /* cond: pbf.num_pkts_sent_with_drop_to_btb */
@@ -4583,6 +4712,8 @@ static const u32 idle_chk_regs[] = {
0x3b36c03d, 0x00010001, /* cond: btb.INT_MASK_2 */
0x3b36c042, 0x00010001, /* cond: btb.INT_STS_3 */
0x3b36c043, 0x00010001, /* cond: btb.INT_MASK_3 */
+ 0x3b36c100, 0x00010001, /* cond: btb.PRTY_STS_H_0 */
+ 0x3b36c101, 0x00010001, /* cond: btb.PRTY_MASK_H_0 */
0x3b36c244, 0x00010001, /* cond: btb.wc_dup_empty */
0x3b36c246, 0x00010001, /* cond: btb.wc_dup_status */
0x3b36c247, 0x00010001, /* cond: btb.wc_empty_0 */
@@ -4600,6 +4731,8 @@ static const u32 idle_chk_regs[] = {
0x273e0010, 0x00010001, /* cond: xsdm.INT_STS */
0x273e0011, 0x00010001, /* cond: xsdm.INT_MASK */
0x273e0109, 0x00000001, /* info: xsdm.inp_queue_err_vect mode=all */
+ 0x273e0080, 0x00010001, /* cond: xsdm.PRTY_STS_H_0 */
+ 0x273e0081, 0x00010001, /* cond: xsdm.PRTY_MASK_H_0 */
0x273e0303, 0x00010001, /* cond: xsdm.qm_full */
0x273e030c, 0x00010001, /* cond: xsdm.rsp_brb_if_full */
0x273e030d, 0x00010001, /* cond: xsdm.rsp_pxp_if_full */
@@ -4633,6 +4766,8 @@ static const u32 idle_chk_regs[] = {
0x283e4010, 0x00010001, /* cond: ysdm.INT_STS */
0x283e4011, 0x00010001, /* cond: ysdm.INT_MASK */
0x283e4109, 0x00000001, /* info: ysdm.inp_queue_err_vect mode=all */
+ 0x283e4080, 0x00010001, /* cond: ysdm.PRTY_STS_H_0 */
+ 0x283e4081, 0x00010001, /* cond: ysdm.PRTY_MASK_H_0 */
0x283e4303, 0x00010001, /* cond: ysdm.qm_full */
0x283e430c, 0x00010001, /* cond: ysdm.rsp_brb_if_full */
0x283e430d, 0x00010001, /* cond: ysdm.rsp_pxp_if_full */
@@ -4666,6 +4801,8 @@ static const u32 idle_chk_regs[] = {
0x293e8010, 0x00010001, /* cond: psdm.INT_STS */
0x293e8011, 0x00010001, /* cond: psdm.INT_MASK */
0x293e8109, 0x00000001, /* info: psdm.inp_queue_err_vect mode=all */
+ 0x293e8080, 0x00010001, /* cond: psdm.PRTY_STS_H_0 */
+ 0x293e8081, 0x00010001, /* cond: psdm.PRTY_MASK_H_0 */
0x293e8303, 0x00010001, /* cond: psdm.qm_full */
0x293e830c, 0x00010001, /* cond: psdm.rsp_brb_if_full */
0x293e830d, 0x00010001, /* cond: psdm.rsp_pxp_if_full */
@@ -4699,6 +4836,8 @@ static const u32 idle_chk_regs[] = {
0x243ec010, 0x00010001, /* cond: tsdm.INT_STS */
0x243ec011, 0x00010001, /* cond: tsdm.INT_MASK */
0x243ec109, 0x00000001, /* info: tsdm.inp_queue_err_vect mode=all */
+ 0x243ec080, 0x00010001, /* cond: tsdm.PRTY_STS_H_0 */
+ 0x243ec081, 0x00010001, /* cond: tsdm.PRTY_MASK_H_0 */
0x243ec303, 0x00010001, /* cond: tsdm.qm_full */
0x243ec30c, 0x00010001, /* cond: tsdm.rsp_brb_if_full */
0x243ec30d, 0x00010001, /* cond: tsdm.rsp_pxp_if_full */
@@ -4732,6 +4871,8 @@ static const u32 idle_chk_regs[] = {
0x253f0010, 0x00010001, /* cond: msdm.INT_STS */
0x253f0011, 0x00010001, /* cond: msdm.INT_MASK */
0x253f0109, 0x00000001, /* info: msdm.inp_queue_err_vect mode=all */
+ 0x253f0080, 0x00010001, /* cond: msdm.PRTY_STS_H_0 */
+ 0x253f0081, 0x00010001, /* cond: msdm.PRTY_MASK_H_0 */
0x253f0303, 0x00010001, /* cond: msdm.qm_full */
0x253f030c, 0x00010001, /* cond: msdm.rsp_brb_if_full */
0x253f030d, 0x00010001, /* cond: msdm.rsp_pxp_if_full */
@@ -4765,6 +4906,8 @@ static const u32 idle_chk_regs[] = {
0x263f4010, 0x00010001, /* cond: usdm.INT_STS */
0x263f4011, 0x00010001, /* cond: usdm.INT_MASK */
0x263f4109, 0x00000001, /* info: usdm.inp_queue_err_vect mode=all */
+ 0x263f4080, 0x00010001, /* cond: usdm.PRTY_STS_H_0 */
+ 0x263f4081, 0x00010001, /* cond: usdm.PRTY_MASK_H_0 */
0x263f4303, 0x00010001, /* cond: usdm.qm_full */
0x263f430c, 0x00010001, /* cond: usdm.rsp_brb_if_full */
0x263f430d, 0x00010001, /* cond: usdm.rsp_pxp_if_full */
@@ -4802,6 +4945,10 @@ static const u32 idle_chk_regs[] = {
0x1b400068, 0x00010001, /* cond: xcm.INT_STS_2 */
0x1b400069, 0x00010001, /* cond: xcm.INT_MASK_2 */
0x1b4002d4, 0x00000001, /* info: xcm.qm_act_st_cnt_err_details mode=all */
+ 0x1b400080, 0x00010001, /* cond: xcm.PRTY_STS_H_0 */
+ 0x1b400081, 0x00010001, /* cond: xcm.PRTY_MASK_H_0 */
+ 0x1b400084, 0x00010001, /* cond: xcm.PRTY_STS_H_1 */
+ 0x1b400085, 0x00010001, /* cond: xcm.PRTY_MASK_H_1 */
0x1b4001a2, 0x00010001, /* cond: xcm.fi_desc_input_violate */
0x1b4001a3, 0x00010001, /* cond: xcm.ia_agg_con_part_fill_lvl */
0x1b4001a4, 0x00010001, /* cond: xcm.ia_sm_con_part_fill_lvl */
@@ -4836,6 +4983,10 @@ static const u32 idle_chk_regs[] = {
0x1c420061, 0x00010001, /* cond: ycm.INT_MASK_0 */
0x1c420064, 0x00010001, /* cond: ycm.INT_STS_1 */
0x1c420065, 0x00010001, /* cond: ycm.INT_MASK_1 */
+ 0x1c420080, 0x00010001, /* cond: ycm.PRTY_STS_H_0 */
+ 0x1c420081, 0x00010001, /* cond: ycm.PRTY_MASK_H_0 */
+ 0x1c420084, 0x00010001, /* cond: ycm.PRTY_STS_H_1 */
+ 0x1c420085, 0x00010001, /* cond: ycm.PRTY_MASK_H_1 */
0x1c42019b, 0x00010001, /* cond: ycm.fi_desc_input_violate */
0x1c42019c, 0x00010001, /* cond: ycm.se_desc_input_violate */
0x1c42019e, 0x00010001, /* cond: ycm.ia_sm_con_part_fill_lvl */
@@ -4871,6 +5022,8 @@ static const u32 idle_chk_regs[] = {
0x1d440061, 0x00010001, /* cond: pcm.INT_MASK_0 */
0x1d440064, 0x00010001, /* cond: pcm.INT_STS_1 */
0x1d440065, 0x00010001, /* cond: pcm.INT_MASK_1 */
+ 0x1d440080, 0x00010001, /* cond: pcm.PRTY_STS_H_0 */
+ 0x1d440081, 0x00010001, /* cond: pcm.PRTY_MASK_H_0 */
0x1d440191, 0x00010001, /* cond: pcm.fi_desc_input_violate */
0x1d440192, 0x00010001, /* cond: pcm.ia_sm_con_part_fill_lvl */
0x1d440193, 0x00010001, /* cond: pcm.ia_trans_part_fill_lvl */
@@ -4886,6 +5039,10 @@ static const u32 idle_chk_regs[] = {
0x18460061, 0x00010001, /* cond: tcm.INT_MASK_0 */
0x18460064, 0x00010001, /* cond: tcm.INT_STS_1 */
0x18460065, 0x00010001, /* cond: tcm.INT_MASK_1 */
+ 0x18460080, 0x00010001, /* cond: tcm.PRTY_STS_H_0 */
+ 0x18460081, 0x00010001, /* cond: tcm.PRTY_MASK_H_0 */
+ 0x18460084, 0x00010001, /* cond: tcm.PRTY_STS_H_1 */
+ 0x18460085, 0x00010001, /* cond: tcm.PRTY_MASK_H_1 */
0x1846019b, 0x00010001, /* cond: tcm.fi_desc_input_violate */
0x1846019c, 0x00010001, /* cond: tcm.se_desc_input_violate */
0x1846019d, 0x00010001, /* cond: tcm.ia_agg_con_part_fill_lvl */
@@ -4922,6 +5079,10 @@ static const u32 idle_chk_regs[] = {
0x19480061, 0x00010001, /* cond: mcm.INT_MASK_0 */
0x19480064, 0x00010001, /* cond: mcm.INT_STS_1 */
0x19480065, 0x00010001, /* cond: mcm.INT_MASK_1 */
+ 0x19480080, 0x00010001, /* cond: mcm.PRTY_STS_H_0 */
+ 0x19480081, 0x00010001, /* cond: mcm.PRTY_MASK_H_0 */
+ 0x19480084, 0x00010001, /* cond: mcm.PRTY_STS_H_1 */
+ 0x19480085, 0x00010001, /* cond: mcm.PRTY_MASK_H_1 */
0x1948019d, 0x00010001, /* cond: mcm.fi_desc_input_violate */
0x1948019e, 0x00010001, /* cond: mcm.se_desc_input_violate */
0x1948019f, 0x00010001, /* cond: mcm.ia_agg_con_part_fill_lvl */
@@ -4960,6 +5121,10 @@ static const u32 idle_chk_regs[] = {
0x1a4a0061, 0x00010001, /* cond: ucm.INT_MASK_0 */
0x1a4a0064, 0x00010001, /* cond: ucm.INT_STS_1 */
0x1a4a0065, 0x00010001, /* cond: ucm.INT_MASK_1 */
+ 0x1a4a0080, 0x00010001, /* cond: ucm.PRTY_STS_H_0 */
+ 0x1a4a0081, 0x00010001, /* cond: ucm.PRTY_MASK_H_0 */
+ 0x1a4a0084, 0x00010001, /* cond: ucm.PRTY_STS_H_1 */
+ 0x1a4a0085, 0x00010001, /* cond: ucm.PRTY_MASK_H_1 */
0x1a4a01a3, 0x00010001, /* cond: ucm.fi_desc_input_violate */
0x1a4a01a4, 0x00010001, /* cond: ucm.se_desc_input_violate */
0x1a4a01a5, 0x00010001, /* cond: ucm.ia_agg_con_part_fill_lvl */
@@ -5008,13 +5173,12 @@ static const u32 idle_chk_regs[] = {
0x2d500032, 0x00010001, /* cond: xsem.PRTY_STS */
0x2d500033, 0x00010001, /* cond: xsem.PRTY_MASK */
0x2d500110, 0x00010001, /* cond: xsem.pf_err_vector */
- 0x2d5001a0, 0x00010001, /* cond: xsem.foc_credit */
0x2d5001a0, 0x01010001, /* cond: xsem.foc_credit[1] */
+ 0x2d5001a0, 0x00010001, /* cond: xsem.foc_credit */
0x2d500441, 0x00010001, /* cond: xsem.ext_pas_empty */
0x2d500448, 0x00010002, /* cond: xsem.fic_empty[0:1] */
0x2d500454, 0x00010001, /* cond: xsem.slow_ext_store_empty */
0x2d500455, 0x00010001, /* cond: xsem.slow_ext_load_empty */
- 0x2d500456, 0x00010001, /* cond: xsem.slow_ram_rd_empty */
0x2d500457, 0x00010001, /* cond: xsem.slow_ram_wr_empty */
0x2d500458, 0x00010001, /* cond: xsem.sync_dbg_empty */
0x2d500481, 0x00010001, /* cond: xsem.ext_store_if_full */
@@ -5026,17 +5190,16 @@ static const u32 idle_chk_regs[] = {
0x2e540032, 0x00010001, /* cond: ysem.PRTY_STS */
0x2e540033, 0x00010001, /* cond: ysem.PRTY_MASK */
0x2e540110, 0x00010001, /* cond: ysem.pf_err_vector */
- 0x2e5401a0, 0x01010001, /* cond: ysem.foc_credit[1] */
0x2e5401a0, 0x02010001, /* cond: ysem.foc_credit[2] */
+ 0x2e5401a0, 0x00010001, /* cond: ysem.foc_credit */
+ 0x2e5401a0, 0x01010001, /* cond: ysem.foc_credit[1] */
0x2e5401a0, 0x03010001, /* cond: ysem.foc_credit[3] */
- 0x2e5401a0, 0x05010001, /* cond: ysem.foc_credit[5] */
0x2e5401a0, 0x04010001, /* cond: ysem.foc_credit[4] */
- 0x2e5401a0, 0x00010001, /* cond: ysem.foc_credit */
+ 0x2e5401a0, 0x05010001, /* cond: ysem.foc_credit[5] */
0x2e540441, 0x00010001, /* cond: ysem.ext_pas_empty */
0x2e540448, 0x00010002, /* cond: ysem.fic_empty[0:1] */
0x2e540454, 0x00010001, /* cond: ysem.slow_ext_store_empty */
0x2e540455, 0x00010001, /* cond: ysem.slow_ext_load_empty */
- 0x2e540456, 0x00010001, /* cond: ysem.slow_ram_rd_empty */
0x2e540457, 0x00010001, /* cond: ysem.slow_ram_wr_empty */
0x2e540458, 0x00010001, /* cond: ysem.sync_dbg_empty */
0x2e540481, 0x00010001, /* cond: ysem.ext_store_if_full */
@@ -5054,7 +5217,6 @@ static const u32 idle_chk_regs[] = {
0x2f580448, 0x00010001, /* cond: psem.fic_empty */
0x2f580454, 0x00010001, /* cond: psem.slow_ext_store_empty */
0x2f580455, 0x00010001, /* cond: psem.slow_ext_load_empty */
- 0x2f580456, 0x00010001, /* cond: psem.slow_ram_rd_empty */
0x2f580457, 0x00010001, /* cond: psem.slow_ram_wr_empty */
0x2f580458, 0x00010001, /* cond: psem.sync_dbg_empty */
0x2f580481, 0x00010001, /* cond: psem.ext_store_if_full */
@@ -5066,13 +5228,12 @@ static const u32 idle_chk_regs[] = {
0x2a5c0032, 0x00010001, /* cond: tsem.PRTY_STS */
0x2a5c0033, 0x00010001, /* cond: tsem.PRTY_MASK */
0x2a5c0110, 0x00010001, /* cond: tsem.pf_err_vector */
- 0x2a5c01a0, 0x01010001, /* cond: tsem.foc_credit[1] */
0x2a5c01a0, 0x00010001, /* cond: tsem.foc_credit */
+ 0x2a5c01a0, 0x01010001, /* cond: tsem.foc_credit[1] */
0x2a5c0441, 0x00010001, /* cond: tsem.ext_pas_empty */
0x2a5c0448, 0x00010001, /* cond: tsem.fic_empty */
0x2a5c0454, 0x00010001, /* cond: tsem.slow_ext_store_empty */
0x2a5c0455, 0x00010001, /* cond: tsem.slow_ext_load_empty */
- 0x2a5c0456, 0x00010001, /* cond: tsem.slow_ram_rd_empty */
0x2a5c0457, 0x00010001, /* cond: tsem.slow_ram_wr_empty */
0x2a5c0458, 0x00010001, /* cond: tsem.sync_dbg_empty */
0x2a5c0481, 0x00010001, /* cond: tsem.ext_store_if_full */
@@ -5083,18 +5244,19 @@ static const u32 idle_chk_regs[] = {
0x2b600015, 0x00010001, /* cond: msem.INT_MASK_1 */
0x2b600032, 0x00010001, /* cond: msem.PRTY_STS */
0x2b600033, 0x00010001, /* cond: msem.PRTY_MASK */
+ 0x2b600080, 0x00010001, /* cond: msem.PRTY_STS_H_0 */
+ 0x2b600081, 0x00010001, /* cond: msem.PRTY_MASK_H_0 */
0x2b600110, 0x00010001, /* cond: msem.pf_err_vector */
- 0x2b6001a0, 0x01010001, /* cond: msem.foc_credit[1] */
- 0x2b6001a0, 0x00010001, /* cond: msem.foc_credit */
+ 0x2b6001a0, 0x03010001, /* cond: msem.foc_credit[3] */
0x2b6001a0, 0x04010001, /* cond: msem.foc_credit[4] */
0x2b6001a0, 0x05010001, /* cond: msem.foc_credit[5] */
- 0x2b6001a0, 0x03010001, /* cond: msem.foc_credit[3] */
+ 0x2b6001a0, 0x00010001, /* cond: msem.foc_credit */
+ 0x2b6001a0, 0x01010001, /* cond: msem.foc_credit[1] */
0x2b6001a0, 0x02010001, /* cond: msem.foc_credit[2] */
0x2b600441, 0x00010001, /* cond: msem.ext_pas_empty */
0x2b600448, 0x00010001, /* cond: msem.fic_empty */
0x2b600454, 0x00010001, /* cond: msem.slow_ext_store_empty */
0x2b600455, 0x00010001, /* cond: msem.slow_ext_load_empty */
- 0x2b600456, 0x00010001, /* cond: msem.slow_ram_rd_empty */
0x2b600457, 0x00010001, /* cond: msem.slow_ram_wr_empty */
0x2b600458, 0x00010001, /* cond: msem.sync_dbg_empty */
0x2b600481, 0x00010001, /* cond: msem.ext_store_if_full */
@@ -5106,16 +5268,15 @@ static const u32 idle_chk_regs[] = {
0x2c640032, 0x00010001, /* cond: usem.PRTY_STS */
0x2c640033, 0x00010001, /* cond: usem.PRTY_MASK */
0x2c640110, 0x00010001, /* cond: usem.pf_err_vector */
- 0x2c6401a0, 0x02010001, /* cond: usem.foc_credit[2] */
+ 0x2c6401a0, 0x01010001, /* cond: usem.foc_credit[1] */
0x2c6401a0, 0x03010001, /* cond: usem.foc_credit[3] */
+ 0x2c6401a0, 0x02010001, /* cond: usem.foc_credit[2] */
0x2c6401a0, 0x00010001, /* cond: usem.foc_credit */
- 0x2c6401a0, 0x01010001, /* cond: usem.foc_credit[1] */
0x2c6401a0, 0x04010001, /* cond: usem.foc_credit[4] */
0x2c640441, 0x00010001, /* cond: usem.ext_pas_empty */
0x2c640448, 0x00010001, /* cond: usem.fic_empty */
0x2c640454, 0x00010001, /* cond: usem.slow_ext_store_empty */
0x2c640455, 0x00010001, /* cond: usem.slow_ext_load_empty */
- 0x2c640456, 0x00010001, /* cond: usem.slow_ram_rd_empty */
0x2c640457, 0x00010001, /* cond: usem.slow_ram_wr_empty */
0x2c640458, 0x00010001, /* cond: usem.sync_dbg_empty */
0x2c640481, 0x00010001, /* cond: usem.ext_store_if_full */
@@ -5139,19 +5300,20 @@ static const u32 idle_chk_regs[] = {
0x040aab93, 0x00010001, /* cond: pglue_b.tags_191_160 */
0x040aab94, 0x00010001, /* cond: pglue_b.tags_223_192 */
0x040aab95, 0x00010001, /* cond: pglue_b.tags_255_224 */
+ 0x410b41e3, 0x00010001, /* cond: tcfc.cduwb_credit */
0x1e8bc300, 0x00020040, /* cond: qm.PtrTblOther[0:63] width=2 access=WB */
0x1e8bc300, 0x00020040, /* cond: qm.PtrTblOther[0:63] width=2 access=WB */
0x1e0bc410, 0x0001000e, /* cond: qm.QstatusTx_0[0:13] */
0x1e0bc430, 0x00010002, /* cond: qm.QstatusOther_0[0:1] */
+ 0x1e0bc560, 0x00010008, /* cond: qm.VoqCrdLine[0:7] */
+ 0x1e0bc5a0, 0x00010008, /* cond: qm.VoqInitCrdLine[0:7] */
+ 0x02002300, 0x00010001, /* cond: misc.port_mode */
0x1e0bc560, 0x10010001, /* cond: qm.VoqCrdLine[16] */
0x1e0bc5a0, 0x10010001, /* cond: qm.VoqInitCrdLine[16] */
0x02002300, 0x00010001, /* cond: misc.port_mode */
0x1e0bc560, 0x00010012, /* cond: qm.VoqCrdLine[0:17] */
0x1e0bc5a0, 0x00010012, /* cond: qm.VoqInitCrdLine[0:17] */
0x02002300, 0x00010001, /* cond: misc.port_mode */
- 0x1e0bc560, 0x00010008, /* cond: qm.VoqCrdLine[0:7] */
- 0x1e0bc5a0, 0x00010008, /* cond: qm.VoqInitCrdLine[0:7] */
- 0x02002300, 0x00010001, /* cond: misc.port_mode */
0x1e0bc5e0, 0x00010008, /* cond: qm.VoqCrdByte[0:7] */
0x1e0bc620, 0x00010008, /* cond: qm.VoqInitCrdByte[0:7] */
0x02002300, 0x00010001, /* cond: misc.port_mode */
@@ -5204,6 +5366,7 @@ static const u32 idle_chk_regs[] = {
0x42060240, 0x0001000c, /* cond: igu.write_done_pending[0:11] */
0x0d0a8018, 0x00010001, /* cond: pswhst.vf_disabled_error_valid */
0x0d0a8017, 0x00000001, /* info: pswhst.vf_disabled_error_data mode=all */
+ 0x410b41e3, 0x00010001, /* cond: tcfc.cduwb_credit */
0x1e0bc410, 0x00010010, /* cond: qm.QstatusTx_0[0:15] */
0x1e0bc430, 0x00010004, /* cond: qm.QstatusOther_0[0:3] */
0x1e0bc560, 0x00010008, /* cond: qm.VoqCrdLine[0:7] */
@@ -5225,6 +5388,7 @@ static const u32 idle_chk_regs[] = {
0x1e0bc620, 0x00010008, /* cond: qm.VoqInitCrdByte[0:7] */
0x02002300, 0x00010001, /* cond: misc.port_mode */
0x210d03cc, 0x00010008, /* cond: brb.wc_empty_0[0:7] */
+ 0x210d041e, 0x00010001, /* cond: brb.rc_eop_empty */
0x218d06c0, 0x00030008, /* cond: brb.wc_status_0[0:7] width=3 access=WB */
0x3b36c030, 0x00010001, /* cond: btb.INT_STS_0 */
0x3b36c031, 0x00010001, /* cond: btb.INT_MASK_0 */
@@ -5283,6 +5447,10 @@ static const u32 idle_chk_regs[] = {
0x140902b2, 0x00010001, /* cond: pswrq2.blk_cnt_per_vq_31 */
0x14090270, 0x00010001, /* cond: pswrq2.max_blks_vq31 */
0x1f0b0064, 0x00010001, /* cond: tm.INT_STS_1 */
+ 0x09150100, 0x00010001, /* cond: bmb.PRTY_STS_H_0 */
+ 0x09150101, 0x00010001, /* cond: bmb.PRTY_MASK_H_0 */
+ 0x09150104, 0x00010001, /* cond: bmb.PRTY_STS_H_1 */
+ 0x09150105, 0x00010001, /* cond: bmb.PRTY_MASK_H_1 */
0x1f0b0064, 0x00010001, /* cond: tm.INT_STS_1 */
0x15000841, 0x00010001, /* cond: pglcs.pgl_cs.UNCORR_ERR_STATUS_OFF */
0x15000841, 0x00010001, /* cond: pglcs.pgl_cs.UNCORR_ERR_STATUS_OFF */
@@ -5306,7 +5474,6 @@ static const u32 idle_chk_regs[] = {
0x1e8bc300, 0x00020080, /* cond: qm.PtrTblOther[0:127] width=2 access=WB */
0x1e8bf800, 0x00020200, /* cond: qm.PtrTblTx[0:511] width=2 access=WB */
0x1e8bf800, 0x00020200, /* cond: qm.PtrTblTx[0:511] width=2 access=WB */
- 0x210d041e, 0x00010001, /* cond: brb.rc_eop_empty */
0x210d0494, 0x00010001, /* cond: brb.mac2_tc_occupancy_0 */
0x210d0495, 0x00010001, /* cond: brb.mac2_tc_occupancy_1 */
0x210d0496, 0x00010001, /* cond: brb.mac2_tc_occupancy_2 */
@@ -5366,40 +5533,28 @@ static const u32 idle_chk_regs[] = {
0x2adc0108, 0x00080001, /* cond: tsem.vf_err_vector width=8 access=WB */
0x2be00108, 0x00080001, /* cond: msem.vf_err_vector width=8 access=WB */
0x2ce40108, 0x00080001, /* cond: usem.vf_err_vector width=8 access=WB */
- 0x15000841, 0x00010001, /* cond: pglcs.pgl_cs.uc_err_status */
- 0x15000841, 0x00010001, /* cond: pglcs.pgl_cs.uc_err_status */
- 0x15000841, 0x00010001, /* cond: pglcs.pgl_cs.uc_err_status */
- 0x15000847, 0x00010004, /* cond: pglcs.pgl_cs.header_log1[0:3] */
- 0x15000a05, 0x00010001, /* cond: pglcs.pgl_cs.tl_ctrlstat_5 */
- 0x15000a05, 0x00010001, /* cond: pglcs.pgl_cs.tl_ctrlstat_5 */
- 0x15000a15, 0x00010001, /* cond: pglcs.pgl_cs.tl_func345_stat */
- 0x15000a17, 0x00010001, /* cond: pglcs.pgl_cs.tl_func678_stat */
- 0x15000c10, 0x00010001, /* cond: pglcs.pgl_cs.DLATTN_VEC */
- 0x01002464, 0x00010001, /* cond: miscs.INT_STS_1 */
- 0x01002465, 0x00010001, /* cond: miscs.INT_MASK_1 */
- 0x42060084, 0x00010001, /* cond: igu.PRTY_STS_H_1 */
- 0x42060085, 0x00010001, /* cond: igu.PRTY_MASK_H_1 */
- 0x4b140391, 0x00010001, /* cond: nig.rx_macfifo_empty */
0x42060220, 0x00010010, /* cond: igu.pending_bits_status[0:15] */
0x42060240, 0x00010010, /* cond: igu.write_done_pending[0:15] */
- 0x1e0bfe80, 0x10010001, /* cond: qm.VoqCrdLine[16] */
- 0x1e0bfec0, 0x10010001, /* cond: qm.VoqInitCrdLine[16] */
+ 0x410b41e3, 0x00010001, /* cond: tcfc.cduwb_credit */
+ 0x1e0bfe80, 0x00010024, /* cond: qm.VoqCrdLine[0:35] */
+ 0x1e0bfec0, 0x00010024, /* cond: qm.VoqInitCrdLine[0:35] */
0x02002300, 0x00010001, /* cond: misc.port_mode */
0x1e0bfe80, 0x00010008, /* cond: qm.VoqCrdLine[0:7] */
0x1e0bfec0, 0x00010008, /* cond: qm.VoqInitCrdLine[0:7] */
0x02002300, 0x00010001, /* cond: misc.port_mode */
- 0x1e0bfe80, 0x00010024, /* cond: qm.VoqCrdLine[0:35] */
- 0x1e0bfec0, 0x00010024, /* cond: qm.VoqInitCrdLine[0:35] */
- 0x02002300, 0x00010001, /* cond: misc.port_mode */
- 0x1e0bff00, 0x00010008, /* cond: qm.VoqCrdByte[0:7] */
- 0x1e0bff40, 0x00010008, /* cond: qm.VoqInitCrdByte[0:7] */
+ 0x1e0bfe80, 0x10010001, /* cond: qm.VoqCrdLine[16] */
+ 0x1e0bfec0, 0x10010001, /* cond: qm.VoqInitCrdLine[16] */
0x02002300, 0x00010001, /* cond: misc.port_mode */
0x1e0bff00, 0x10010001, /* cond: qm.VoqCrdByte[16] */
0x1e0bff40, 0x10010001, /* cond: qm.VoqInitCrdByte[16] */
0x02002300, 0x00010001, /* cond: misc.port_mode */
+ 0x1e0bff00, 0x00010008, /* cond: qm.VoqCrdByte[0:7] */
+ 0x1e0bff40, 0x00010008, /* cond: qm.VoqInitCrdByte[0:7] */
+ 0x02002300, 0x00010001, /* cond: misc.port_mode */
0x1e0bff00, 0x00010024, /* cond: qm.VoqCrdByte[0:35] */
0x1e0bff40, 0x00010024, /* cond: qm.VoqInitCrdByte[0:35] */
0x02002300, 0x00010001, /* cond: misc.port_mode */
+ 0x210d041e, 0x00010001, /* cond: brb.rc_eop_empty */
0x3b36c030, 0x00010001, /* cond: btb.INT_STS_0 */
0x3b36c031, 0x00010001, /* cond: btb.INT_MASK_0 */
0x3bb6c400, 0x00000020, /* info: btb.stopped_rd_req[0:7] width=3 access=WB mode=all */
@@ -5408,74 +5563,48 @@ static const u32 idle_chk_regs[] = {
0x3b36c049, 0x00010001, /* cond: btb.INT_MASK_4 */
0x3bb6c400, 0x00000020, /* info: btb.stopped_rd_req[0:7] width=3 access=WB mode=all */
0x3bb6c440, 0x00000010, /* info: btb.stopped_rls_req[0:7] width=2 access=WB mode=all */
- 0x1b400792, 0x00010001, /* cond: xcm.msdm_length_mis */
- 0x1b400794, 0x00010001, /* cond: xcm.is_msdm_fill_lvl */
- 0x1b4007c3, 0x00010001, /* cond: xcm.is_ysem_fill_lvl */
- 0x1c4207b2, 0x00010001, /* cond: ycm.msdm_length_mis */
- 0x1c4207b4, 0x00010001, /* cond: ycm.is_msdm_fill_lvl */
- 0x1d4405d6, 0x00010001, /* cond: pcm.psdm_length_mis */
- 0x1d4405d8, 0x00010001, /* cond: pcm.is_psdm_fill_lvl */
- 0x184606c2, 0x00010001, /* cond: tcm.tsdm_length_mis */
- 0x184606c4, 0x00010001, /* cond: tcm.is_tsdm_fill_lvl */
- 0x19480a42, 0x00010001, /* cond: mcm.msdm_length_mis */
- 0x19480a44, 0x00010001, /* cond: mcm.is_msdm_fill_lvl */
- 0x19480a83, 0x00010001, /* cond: mcm.is_ysem_fill_lvl */
- 0x16003080, 0x00010001, /* cond: dmae.PRTY_STS_H_0 */
- 0x16003081, 0x00010001, /* cond: dmae.PRTY_MASK_H_0 */
- 0x4a004080, 0x00010001, /* cond: dbg.PRTY_STS_H_0 */
- 0x4a004081, 0x00010001, /* cond: dbg.PRTY_MASK_H_0 */
+ 0x1b400791, 0x00010001, /* cond: xcm.msdm_length_mis */
+ 0x1b400793, 0x00010001, /* cond: xcm.is_msdm_fill_lvl */
+ 0x1b4007c2, 0x00010001, /* cond: xcm.is_ysem_fill_lvl */
+ 0x1c4207b1, 0x00010001, /* cond: ycm.msdm_length_mis */
+ 0x1c4207b3, 0x00010001, /* cond: ycm.is_msdm_fill_lvl */
+ 0x1d4405d5, 0x00010001, /* cond: pcm.psdm_length_mis */
+ 0x1d4405d7, 0x00010001, /* cond: pcm.is_psdm_fill_lvl */
+ 0x184606c1, 0x00010001, /* cond: tcm.tsdm_length_mis */
+ 0x184606c3, 0x00010001, /* cond: tcm.is_tsdm_fill_lvl */
+ 0x19480a41, 0x00010001, /* cond: mcm.msdm_length_mis */
+ 0x19480a43, 0x00010001, /* cond: mcm.is_msdm_fill_lvl */
+ 0x19480a82, 0x00010001, /* cond: mcm.is_ysem_fill_lvl */
+ 0x15000841, 0x00010001, /* cond: pglcs.pgl_cs.uc_err_status */
+ 0x15000841, 0x00010001, /* cond: pglcs.pgl_cs.uc_err_status */
+ 0x15000841, 0x00010001, /* cond: pglcs.pgl_cs.uc_err_status */
+ 0x15000847, 0x00010004, /* cond: pglcs.pgl_cs.header_log1[0:3] */
+ 0x15000a05, 0x00010001, /* cond: pglcs.pgl_cs.tl_ctrlstat_5 */
+ 0x15000a05, 0x00010001, /* cond: pglcs.pgl_cs.tl_ctrlstat_5 */
+ 0x15000a15, 0x00010001, /* cond: pglcs.pgl_cs.tl_func345_stat */
+ 0x15000a17, 0x00010001, /* cond: pglcs.pgl_cs.tl_func678_stat */
+ 0x15000c10, 0x00010001, /* cond: pglcs.pgl_cs.DLATTN_VEC */
+ 0x01002464, 0x00010001, /* cond: miscs.INT_STS_1 */
+ 0x01002465, 0x00010001, /* cond: miscs.INT_MASK_1 */
+ 0x42060084, 0x00010001, /* cond: igu.PRTY_STS_H_1 */
+ 0x42060085, 0x00010001, /* cond: igu.PRTY_MASK_H_1 */
+ 0x4b140391, 0x00010001, /* cond: nig.rx_macfifo_empty */
0x08014c00, 0x00010001, /* cond: opte.PRTY_STS_H_0 */
0x08014c01, 0x00010001, /* cond: opte.PRTY_MASK_H_0 */
- 0x20040080, 0x00010001, /* cond: dorq.PRTY_STS_H_0 */
- 0x20040081, 0x00010001, /* cond: dorq.PRTY_MASK_H_0 */
- 0x42060080, 0x00010001, /* cond: igu.PRTY_STS_H_0 */
- 0x42060081, 0x00010001, /* cond: igu.PRTY_MASK_H_0 */
- 0x2307c081, 0x00010001, /* cond: prs.PRTY_STS_H_0 */
- 0x2307c082, 0x00010001, /* cond: prs.PRTY_MASK_H_0 */
+ 0x43070327, 0x00010001, /* cond: cau.agg_units_0to15_state */
+ 0x43070328, 0x00010001, /* cond: cau.agg_units_16to31_state */
+ 0x43070329, 0x00010001, /* cond: cau.agg_units_32to47_state */
+ 0x4307032a, 0x00010001, /* cond: cau.agg_units_48to63_state */
+ 0x430703c3, 0x00010001, /* cond: cau.igu_cqe_cmd_fsm_status */
+ 0x430703c4, 0x00010001, /* cond: cau.igu_cqe_agg_fsm_status */
0x2307c085, 0x00010001, /* cond: prs.PRTY_STS_H_1 */
0x2307c086, 0x00010001, /* cond: prs.PRTY_MASK_H_1 */
0x2307c2d4, 0x00010001, /* cond: prs.prs_pkt_ct */
0x2307c3c3, 0x00010001, /* cond: prs.tcm_current_credit */
- 0x3708c080, 0x00010001, /* cond: prm.PRTY_STS_H_0 */
- 0x3708c081, 0x00010001, /* cond: prm.PRTY_MASK_H_0 */
- 0x3008e280, 0x00010001, /* cond: rss.PRTY_STS_H_0 */
- 0x3008e281, 0x00010001, /* cond: rss.PRTY_MASK_H_0 */
0x3008e30e, 0x00010001, /* cond: rss.empty_status */
0x3008e30f, 0x00010001, /* cond: rss.full_status */
0x3008e310, 0x00010001, /* cond: rss.counters_status */
0x3008e311, 0x00010001, /* cond: rss.state_machines */
- 0x120a6c80, 0x00010001, /* cond: pswwr2.PRTY_STS_H_0 */
- 0x120a6c81, 0x00010001, /* cond: pswwr2.PRTY_MASK_H_0 */
- 0x120a6c84, 0x00010001, /* cond: pswwr2.PRTY_STS_H_1 */
- 0x120a6c85, 0x00010001, /* cond: pswwr2.PRTY_MASK_H_1 */
- 0x120a6c88, 0x00010001, /* cond: pswwr2.PRTY_STS_H_2 */
- 0x120a6c89, 0x00010001, /* cond: pswwr2.PRTY_MASK_H_2 */
- 0x120a6c8c, 0x00010001, /* cond: pswwr2.PRTY_STS_H_3 */
- 0x120a6c8d, 0x00010001, /* cond: pswwr2.PRTY_MASK_H_3 */
- 0x0d0a8080, 0x00010001, /* cond: pswhst.PRTY_STS_H_0 */
- 0x0d0a8081, 0x00010001, /* cond: pswhst.PRTY_MASK_H_0 */
- 0x040aa080, 0x00010001, /* cond: pglue_b.PRTY_STS_H_0 */
- 0x040aa081, 0x00010001, /* cond: pglue_b.PRTY_MASK_H_0 */
- 0x1f0b0080, 0x00010001, /* cond: tm.PRTY_STS_H_0 */
- 0x1f0b0081, 0x00010001, /* cond: tm.PRTY_MASK_H_0 */
- 0x410b4080, 0x00010001, /* cond: tcfc.PRTY_STS_H_0 */
- 0x410b4081, 0x00010001, /* cond: tcfc.PRTY_MASK_H_0 */
- 0x400b8080, 0x00010001, /* cond: ccfc.PRTY_STS_H_0 */
- 0x400b8081, 0x00010001, /* cond: ccfc.PRTY_MASK_H_0 */
- 0x1e0bc080, 0x00010001, /* cond: qm.PRTY_STS_H_0 */
- 0x1e0bc081, 0x00010001, /* cond: qm.PRTY_MASK_H_0 */
- 0x1e0bc084, 0x00010001, /* cond: qm.PRTY_STS_H_1 */
- 0x1e0bc085, 0x00010001, /* cond: qm.PRTY_MASK_H_1 */
- 0x1e0bc088, 0x00010001, /* cond: qm.PRTY_STS_H_2 */
- 0x1e0bc089, 0x00010001, /* cond: qm.PRTY_MASK_H_2 */
- 0x3e0c4080, 0x00010001, /* cond: tdif.PRTY_STS_H_0 */
- 0x3e0c4081, 0x00010001, /* cond: tdif.PRTY_MASK_H_0 */
- 0x210d0100, 0x00010001, /* cond: brb.PRTY_STS_H_0 */
- 0x210d0101, 0x00010001, /* cond: brb.PRTY_MASK_H_0 */
- 0x210d0104, 0x00010001, /* cond: brb.PRTY_STS_H_1 */
- 0x210d0105, 0x00010001, /* cond: brb.PRTY_MASK_H_1 */
- 0x34130080, 0x00010001, /* cond: xyld.PRTY_STS_H_0 */
- 0x34130081, 0x00010001, /* cond: xyld.PRTY_MASK_H_0 */
0x33132013, 0x00010001, /* cond: yuld.pending_msg_to_ext_ev_1_ctr */
0x33132014, 0x00010001, /* cond: yuld.pending_msg_to_ext_ev_2_ctr */
0x33132015, 0x00010001, /* cond: yuld.pending_msg_to_ext_ev_3_ctr */
@@ -5487,67 +5616,15 @@ static const u32 idle_chk_regs[] = {
0x3313202d, 0x00010001, /* cond: yuld.dbg_pending_tcfc_req */
0x33132080, 0x00010001, /* cond: yuld.PRTY_STS_H_0 */
0x33132081, 0x00010001, /* cond: yuld.PRTY_MASK_H_0 */
- 0x31134080, 0x00010001, /* cond: tmld.PRTY_STS_H_0 */
- 0x31134081, 0x00010001, /* cond: tmld.PRTY_MASK_H_0 */
- 0x32138080, 0x00010001, /* cond: muld.PRTY_STS_H_0 */
- 0x32138081, 0x00010001, /* cond: muld.PRTY_MASK_H_0 */
- 0x4b140080, 0x00010001, /* cond: nig.PRTY_STS_H_0 */
- 0x4b140081, 0x00010001, /* cond: nig.PRTY_MASK_H_0 */
- 0x4b140084, 0x00010001, /* cond: nig.PRTY_STS_H_1 */
- 0x4b140085, 0x00010001, /* cond: nig.PRTY_MASK_H_1 */
- 0x4b140088, 0x00010001, /* cond: nig.PRTY_STS_H_2 */
- 0x4b140089, 0x00010001, /* cond: nig.PRTY_MASK_H_2 */
- 0x4b14008c, 0x00010001, /* cond: nig.PRTY_STS_H_3 */
- 0x4b14008d, 0x00010001, /* cond: nig.PRTY_MASK_H_3 */
0x4b140394, 0x00010001, /* cond: nig.tx_macfifo_empty */
- 0x17158080, 0x00010001, /* cond: ptu.PRTY_STS_H_0 */
- 0x17158081, 0x00010001, /* cond: ptu.PRTY_MASK_H_0 */
- 0x3f160080, 0x00010001, /* cond: cdu.PRTY_STS_H_0 */
- 0x3f160081, 0x00010001, /* cond: cdu.PRTY_MASK_H_0 */
0x3c360080, 0x00010001, /* cond: pbf.PRTY_STS_H_0 */
0x3c360081, 0x00010001, /* cond: pbf.PRTY_MASK_H_0 */
0x3c360084, 0x00010001, /* cond: pbf.PRTY_STS_H_1 */
0x3c360085, 0x00010001, /* cond: pbf.PRTY_MASK_H_1 */
- 0x3b36c100, 0x00010001, /* cond: btb.PRTY_STS_H_0 */
- 0x3b36c101, 0x00010001, /* cond: btb.PRTY_MASK_H_0 */
- 0x273e0080, 0x00010001, /* cond: xsdm.PRTY_STS_H_0 */
- 0x273e0081, 0x00010001, /* cond: xsdm.PRTY_MASK_H_0 */
- 0x283e4080, 0x00010001, /* cond: ysdm.PRTY_STS_H_0 */
- 0x283e4081, 0x00010001, /* cond: ysdm.PRTY_MASK_H_0 */
- 0x293e8080, 0x00010001, /* cond: psdm.PRTY_STS_H_0 */
- 0x293e8081, 0x00010001, /* cond: psdm.PRTY_MASK_H_0 */
- 0x243ec080, 0x00010001, /* cond: tsdm.PRTY_STS_H_0 */
- 0x243ec081, 0x00010001, /* cond: tsdm.PRTY_MASK_H_0 */
- 0x253f0080, 0x00010001, /* cond: msdm.PRTY_STS_H_0 */
- 0x253f0081, 0x00010001, /* cond: msdm.PRTY_MASK_H_0 */
- 0x263f4080, 0x00010001, /* cond: usdm.PRTY_STS_H_0 */
- 0x263f4081, 0x00010001, /* cond: usdm.PRTY_MASK_H_0 */
- 0x1b400080, 0x00010001, /* cond: xcm.PRTY_STS_H_0 */
- 0x1b400081, 0x00010001, /* cond: xcm.PRTY_MASK_H_0 */
- 0x1b400084, 0x00010001, /* cond: xcm.PRTY_STS_H_1 */
- 0x1b400085, 0x00010001, /* cond: xcm.PRTY_MASK_H_1 */
- 0x1c420080, 0x00010001, /* cond: ycm.PRTY_STS_H_0 */
- 0x1c420081, 0x00010001, /* cond: ycm.PRTY_MASK_H_0 */
- 0x1c420084, 0x00010001, /* cond: ycm.PRTY_STS_H_1 */
- 0x1c420085, 0x00010001, /* cond: ycm.PRTY_MASK_H_1 */
- 0x1d440080, 0x00010001, /* cond: pcm.PRTY_STS_H_0 */
- 0x1d440081, 0x00010001, /* cond: pcm.PRTY_MASK_H_0 */
0x1d4402ab, 0x00010001, /* cond: pcm.pbf_length_mis */
0x1d4402b4, 0x00010001, /* cond: pcm.is_pbf_fill_lvl */
- 0x18460080, 0x00010001, /* cond: tcm.PRTY_STS_H_0 */
- 0x18460081, 0x00010001, /* cond: tcm.PRTY_MASK_H_0 */
- 0x18460084, 0x00010001, /* cond: tcm.PRTY_STS_H_1 */
- 0x18460085, 0x00010001, /* cond: tcm.PRTY_MASK_H_1 */
0x184602ad, 0x00010001, /* cond: tcm.prs_length_mis */
0x184602c4, 0x00010001, /* cond: tcm.is_prs_fill_lvl */
- 0x19480080, 0x00010001, /* cond: mcm.PRTY_STS_H_0 */
- 0x19480081, 0x00010001, /* cond: mcm.PRTY_MASK_H_0 */
- 0x19480084, 0x00010001, /* cond: mcm.PRTY_STS_H_1 */
- 0x19480085, 0x00010001, /* cond: mcm.PRTY_MASK_H_1 */
- 0x1a4a0080, 0x00010001, /* cond: ucm.PRTY_STS_H_0 */
- 0x1a4a0081, 0x00010001, /* cond: ucm.PRTY_MASK_H_0 */
- 0x1a4a0084, 0x00010001, /* cond: ucm.PRTY_STS_H_1 */
- 0x1a4a0085, 0x00010001, /* cond: ucm.PRTY_MASK_H_1 */
0x1a4a02b2, 0x00010001, /* cond: ucm.yuld_length_mis */
0x1a4a02cd, 0x00010001, /* cond: ucm.is_yuld_fill_lvl */
0x2d500080, 0x00010001, /* cond: xsem.PRTY_STS_H_0 */
@@ -5560,6 +5637,7 @@ static const u32 idle_chk_regs[] = {
0x2d500451, 0x00010001, /* cond: xsem.slow_dra_fin_empty */
0x2d500452, 0x00010001, /* cond: xsem.slow_dra_rd_empty */
0x2d500453, 0x00010001, /* cond: xsem.slow_dra_wr_empty */
+ 0x2d500456, 0x00010001, /* cond: xsem.slow_ram_rd_empty */
0x2d500459, 0x00010001, /* cond: xsem.thread_fifo_empty */
0x2d500490, 0x00010001, /* cond: xsem.pas_if_full */
0x2d5004c2, 0x00010001, /* cond: xsem.thread_orun_num */
@@ -5574,6 +5652,7 @@ static const u32 idle_chk_regs[] = {
0x2e540451, 0x00010001, /* cond: ysem.slow_dra_fin_empty */
0x2e540452, 0x00010001, /* cond: ysem.slow_dra_rd_empty */
0x2e540453, 0x00010001, /* cond: ysem.slow_dra_wr_empty */
+ 0x2e540456, 0x00010001, /* cond: ysem.slow_ram_rd_empty */
0x2e540459, 0x00010001, /* cond: ysem.thread_fifo_empty */
0x2e540490, 0x00010001, /* cond: ysem.pas_if_full */
0x2e5404c2, 0x00010001, /* cond: ysem.thread_orun_num */
@@ -5588,6 +5667,7 @@ static const u32 idle_chk_regs[] = {
0x2f580451, 0x00010001, /* cond: psem.slow_dra_fin_empty */
0x2f580452, 0x00010001, /* cond: psem.slow_dra_rd_empty */
0x2f580453, 0x00010001, /* cond: psem.slow_dra_wr_empty */
+ 0x2f580456, 0x00010001, /* cond: psem.slow_ram_rd_empty */
0x2f580459, 0x00010001, /* cond: psem.thread_fifo_empty */
0x2f580490, 0x00010001, /* cond: psem.pas_if_full */
0x2f5804c2, 0x00010001, /* cond: psem.thread_orun_num */
@@ -5602,12 +5682,11 @@ static const u32 idle_chk_regs[] = {
0x2a5c0451, 0x00010001, /* cond: tsem.slow_dra_fin_empty */
0x2a5c0452, 0x00010001, /* cond: tsem.slow_dra_rd_empty */
0x2a5c0453, 0x00010001, /* cond: tsem.slow_dra_wr_empty */
+ 0x2a5c0456, 0x00010001, /* cond: tsem.slow_ram_rd_empty */
0x2a5c0459, 0x00010001, /* cond: tsem.thread_fifo_empty */
0x2a5c0490, 0x00010001, /* cond: tsem.pas_if_full */
0x2a5c04c2, 0x00010001, /* cond: tsem.thread_orun_num */
0x2a5c0505, 0x00010001, /* cond: tsem.dbg_if_full */
- 0x2b600080, 0x00010001, /* cond: msem.PRTY_STS_H_0 */
- 0x2b600081, 0x00010001, /* cond: msem.PRTY_MASK_H_0 */
0x2b6002c1, 0x00010001, /* cond: msem.thread_error */
0x2b6002c2, 0x00010001, /* cond: msem.thread_rdy */
0x2b6002c4, 0x00010001, /* cond: msem.thread_valid */
@@ -5616,6 +5695,7 @@ static const u32 idle_chk_regs[] = {
0x2b600451, 0x00010001, /* cond: msem.slow_dra_fin_empty */
0x2b600452, 0x00010001, /* cond: msem.slow_dra_rd_empty */
0x2b600453, 0x00010001, /* cond: msem.slow_dra_wr_empty */
+ 0x2b600456, 0x00010001, /* cond: msem.slow_ram_rd_empty */
0x2b600459, 0x00010001, /* cond: msem.thread_fifo_empty */
0x2b600490, 0x00010001, /* cond: msem.pas_if_full */
0x2b6004c2, 0x00010001, /* cond: msem.thread_orun_num */
@@ -5630,12 +5710,15 @@ static const u32 idle_chk_regs[] = {
0x2c640451, 0x00010001, /* cond: usem.slow_dra_fin_empty */
0x2c640452, 0x00010001, /* cond: usem.slow_dra_rd_empty */
0x2c640453, 0x00010001, /* cond: usem.slow_dra_wr_empty */
+ 0x2c640456, 0x00010001, /* cond: usem.slow_ram_rd_empty */
0x2c640459, 0x00010001, /* cond: usem.thread_fifo_empty */
0x2c640490, 0x00010001, /* cond: usem.pas_if_full */
0x2c6404c2, 0x00010001, /* cond: usem.thread_orun_num */
0x2c640505, 0x00010001, /* cond: usem.dbg_if_full */
0x0c014810, 0x00010001, /* cond: mcp2.PRTY_STS */
0x0c014811, 0x00010001, /* cond: mcp2.PRTY_MASK */
+ 0x0c014881, 0x00010001, /* cond: mcp2.PRTY_STS_H_0 */
+ 0x0c014882, 0x00010001, /* cond: mcp2.PRTY_MASK_H_0 */
0x07010000, 0x00010001, /* cond: ncsi.PRTY_STS_H_0 */
0x07010001, 0x00010001, /* cond: ncsi.PRTY_MASK_H_0 */
0x48014460, 0x00010001, /* cond: umac.INT_STS */
@@ -5670,33 +5753,27 @@ static const u32 idle_chk_regs[] = {
0x501cb050, 0x00010001, /* cond: nws.nws_cmu.ln3_top_err_ctrl1 */
0x501cb051, 0x00010001, /* cond: nws.nws_cmu.ln3_top_err_ctrl2 */
0x501cb052, 0x00010001, /* cond: nws.nws_cmu.ln3_top_err_ctrl3 */
- 0x09150100, 0x00010001, /* cond: bmb.PRTY_STS_H_0 */
- 0x09150101, 0x00010001, /* cond: bmb.PRTY_MASK_H_0 */
- 0x09150104, 0x00010001, /* cond: bmb.PRTY_STS_H_1 */
- 0x09150105, 0x00010001, /* cond: bmb.PRTY_MASK_H_1 */
0x4e008147, 0x00010001, /* cond: ipc.PRTY_STS */
0x4e008148, 0x00010001, /* cond: ipc.PRTY_MASK */
- 0x0c014881, 0x00010001, /* cond: mcp2.PRTY_STS_H_0 */
- 0x0c014882, 0x00010001, /* cond: mcp2.PRTY_MASK_H_0 */
};
-/* Data size: 13880 bytes */
+/* Data size: 13904 bytes */
/* Idle check immediates */
static const u32 idle_chk_imms[] = {
0x00000000, 0x000000b0, 0x00000000, 0x0000000f, 0x00000000, 0x34000000,
0x00000000, 0x00000060, 0x00000000, 0x00000005, 0x00000010, 0x00000002,
0x00000000, 0x00000001, 0x00000000, 0x00000020, 0x000000b7, 0x00000004,
- 0x00000008, 0x00000003, 0x00022aab, 0x0000eaaa, 0x0076417c, 0x00000000,
- 0x0001bc01, 0x00000000, 0x00000011, 0x00000001, 0x00000000, 0xffffffff,
- 0x7f800000, 0x80000000, 0x007fffff, 0x0000041e, 0x00000030, 0x000000ff,
+ 0x00000008, 0x00000003, 0x00022aab, 0x0000eaaa, 0x0001bc01, 0x00000000,
+ 0x0076417c, 0x00000000, 0x00000011, 0x00000001, 0x00000000, 0xffffffff,
+ 0x007fffff, 0x80000000, 0x7f800000, 0x0000041e, 0x00000030, 0x000000ff,
0x000fffff, 0x0000ffff, 0x000000ff, 0x00000000, 0x00000007, 0x00000000,
0x00001ffe, 0x0000002e, 0x000001ff, 0x00000040, 0x00000028, 0x0000002a,
- 0x00000034, 0x0000003f, 0x0000001d, 0x0000001a, 0x0000000a, 0x00000026,
- 0x0000000e, 0x00000017, 0x0000003c, 0x0000002c, 0x00000032, 0x00003f02,
+ 0x00000034, 0x0000001d, 0x0000003f, 0x0000000a, 0x0000000e, 0x0000001a,
+ 0x00000026, 0x00000017, 0x0000002c, 0x0000003c, 0x00000032, 0x00003f02,
0x00000000, 0x3fffffc0, 0x00000006, 0xc0000000, 0x0000001e, 0x003fffff,
0x00000002, 0x00000030, 0x00000004, 0x00000003, 0x000003e1, 0x00000381,
- 0x000fd010, 0x00000000, 0x00100000, 0x00000000, 0x00002000, 0x00000000,
- 0x0000e001, 0x00000000, 0x00000002, 0x00000002, 0x00000004, 0x00000004,
+ 0x00002000, 0x00000000, 0x000fd010, 0x00000000, 0x00100000, 0x00000000,
+ 0x0000e001, 0x00000000, 0x00000004, 0x00000004, 0x00000002, 0x00000002,
0x00000001, 0x0000000e, 0x00000001, 0x00000001, 0x00000001, 0x0000000f,
0x00000001, 0x00000001, 0x00000001, 0x00000010, 0x00000001, 0x00000001,
0x00000001, 0x00000011, 0x00000001, 0x00000001, 0x000001fe, 0x00000000,
@@ -5707,7 +5784,7 @@ static const u32 idle_chk_imms[] = {
/* Idle check rules */
static const u32 idle_chk_rules[] = {
- 0x0b490000, /* mode all */
+ 0x0bb80000, /* mode all */
0x00000000, 0x00010002, 0x00000000, /* ((r1&~r2)!=0), r1=misc.INT_STS, r2=misc.INT_MASK, */
0x01000001, 0x00010101, 0x00000002, /* (r1!=0), r1=misc.aeu_after_invert_1_igu, */
0x04000002, 0x00020101, 0x00010004, /* ((r1&~0xB0)!=0), r1=misc.aeu_after_invert_2_igu, */
@@ -5760,1316 +5837,1317 @@ static const u32 idle_chk_rules[] = {
0x01010031, 0x00010001, 0x00000043, /* (r1!=0), r1=dmae.go_c29, */
0x01010032, 0x00010001, 0x00000044, /* (r1!=0), r1=dmae.go_c30, */
0x01010033, 0x00010001, 0x00000045, /* (r1!=0), r1=dmae.go_c31, */
- 0x01020034, 0x00010001, 0x00000046, /* (r1!=0), r1=grc.trace_fifo_valid_data, */
- 0x00000035, 0x00010002, 0x00000047, /* ((r1&~r2)!=0), r1=grc.INT_STS_0, r2=grc.INT_MASK_0, */
- 0x00000036, 0x00010002, 0x00000049, /* ((r1&~r2)!=0), r1=grc.PRTY_STS_H_0, r2=grc.PRTY_MASK_H_0, */
- 0x00000037, 0x00010002, 0x0000004b, /* ((r1&~r2)!=0), r1=dorq.INT_STS, r2=dorq.INT_MASK, */
- 0x01000038, 0x00010001, 0x0009004d, /* (r1!=reset1), r1=dorq.xcm_msg_init_crd, */
- 0x01000039, 0x00010001, 0x0009004e, /* (r1!=reset1), r1=dorq.tcm_msg_init_crd, */
- 0x0100003a, 0x00010001, 0x0009004f, /* (r1!=reset1), r1=dorq.ucm_msg_init_crd, */
- 0x0100003b, 0x00010001, 0x000a0050, /* (r1!=reset1), r1=dorq.pbf_cmd_init_crd, */
- 0x0100003c, 0x00010001, 0x00000051, /* (r1!=0), r1=dorq.pf_usage_cnt, */
- 0x0100003d, 0x00010001, 0x00000052, /* (r1!=0), r1=dorq.vf_usage_cnt, */
- 0x0100003e, 0x00010001, 0x00000053, /* (r1!=0), r1=dorq.cfc_ld_req_fifo_fill_lvl, */
- 0x0100003f, 0x00010001, 0x00000054, /* (r1!=0), r1=dorq.dorq_fifo_fill_lvl, */
- 0x01020040, 0x00010201, 0x00000055, /* (r1!=0), r1=dorq.db_drop_cnt, */
- 0x01020041, 0x00010201, 0x00000058, /* (r1!=0), r1=dorq.dpm_abort_cnt, */
- 0x01000042, 0x00010001, 0x0000005b, /* (r1!=0), r1=dorq.dpm_tbl_fill_lvl, */
- 0x00000043, 0x00010002, 0x0000005c, /* ((r1&~r2)!=0), r1=igu.PRTY_STS, r2=igu.PRTY_MASK, */
- 0x01010044, 0x00010001, 0x0000005e, /* (r1!=0), r1=igu.attn_write_done_pending, */
- 0x01020045, 0x00010001, 0x0000005f, /* (r1!=0), r1=igu.Interrupt_status, */
- 0x01000046, 0x00010001, 0x00000060, /* (r1!=0), r1=igu.error_handling_data_valid, */
- 0x01000047, 0x00010001, 0x00000061, /* (r1!=0), r1=igu.silent_drop, */
- 0x01020048, 0x00010001, 0x00000062, /* (r1!=0), r1=igu.sb_ctrl_fsm, */
- 0x01020049, 0x00010001, 0x00000063, /* (r1!=0), r1=igu.int_handle_fsm, */
- 0x0402004a, 0x00020001, 0x000b0064, /* ((r1&~0x2)!=0), r1=igu.attn_fsm, */
- 0x0402004b, 0x00020001, 0x000d0065, /* ((r1&~0x1)!=0), r1=igu.ctrl_fsm, */
- 0x0402004c, 0x00020001, 0x000d0066, /* ((r1&~0x1)!=0), r1=igu.pxp_arb_fsm, */
- 0x0000004d, 0x00010002, 0x00000067, /* ((r1&~r2)!=0), r1=cau.PRTY_STS_H_0, r2=cau.PRTY_MASK_H_0, */
- 0x0101004e, 0x00010001, 0x000d0069, /* (r1!=1), r1=cau.igu_req_credit_status, */
- 0x0101004f, 0x00010001, 0x000d006a, /* (r1!=1), r1=cau.igu_cmd_credit_status, */
- 0x01010050, 0x00010001, 0x0000006b, /* (r1!=0), r1=cau.debug_fifo_status, */
- 0x01000051, 0x00010001, 0x0000006c, /* (r1!=0), r1=cau.error_pxp_req, */
- 0x01000052, 0x00010101, 0x0000006d, /* (r1!=0), r1=cau.error_fsm_line, */
- 0x01000053, 0x00010001, 0x0000006f, /* (r1!=0), r1=cau.parity_latch_status, */
- 0x01000054, 0x00010001, 0x00000070, /* (r1!=0), r1=cau.error_cleanup_cmd_reg, */
- 0x01020055, 0x00010001, 0x00000071, /* (r1!=0), r1=cau.agg_units_0to15_state, */
- 0x01020056, 0x00010001, 0x00000072, /* (r1!=0), r1=cau.agg_units_16to31_state, */
- 0x01020057, 0x00010001, 0x00000073, /* (r1!=0), r1=cau.agg_units_32to47_state, */
- 0x01020058, 0x00010001, 0x00000074, /* (r1!=0), r1=cau.agg_units_48to63_state, */
- 0x03010059, 0x00000002, 0x00000075, /* (r1!=r2), r1=cau.req_counter, r2=cau.ack_counter, */
- 0x0301005a, 0x00000002, 0x00000077, /* (r1!=r2), r1=cau.req_counter, r2=cau.wdone_counter, */
- 0x0102005b, 0x00010001, 0x00000079, /* (r1!=0), r1=cau.main_fsm_status, */
- 0x0102005c, 0x00010001, 0x0000007a, /* (r1!=0), r1=cau.var_read_fsm_status, */
- 0x0102005d, 0x00010001, 0x0000007b, /* (r1!=0), r1=cau.igu_dma_fsm_status, */
- 0x0102005e, 0x00010001, 0x0000007c, /* (r1!=0), r1=cau.igu_cqe_cmd_fsm_status, */
- 0x0102005f, 0x00010001, 0x0000007d, /* (r1!=0), r1=cau.igu_cqe_agg_fsm_status, */
- 0x00000060, 0x00010302, 0x0000007e, /* ((r1&~r2)!=0), r1=prs.INT_STS_0, r2=prs.INT_MASK_0, */
- 0x00000061, 0x00010002, 0x00000083, /* ((r1&~r2)!=0), r1=prs.PRTY_STS, r2=prs.PRTY_MASK, */
- 0x01010062, 0x00010001, 0x00000085, /* (r1!=0), r1=prs.queue_pkt_avail_status, */
- 0x01010063, 0x00010001, 0x00000086, /* (r1!=0), r1=prs.storm_bkprs_status, */
- 0x01010064, 0x00010001, 0x00000087, /* (r1!=0), r1=prs.stop_parsing_status, */
- 0x01010065, 0x00010001, 0x00000088, /* (r1!=0), r1=prs.ccfc_search_current_credit, */
- 0x01010066, 0x00010001, 0x00000089, /* (r1!=0), r1=prs.tcfc_search_current_credit, */
- 0x01010067, 0x00010001, 0x0000008a, /* (r1!=0), r1=prs.ccfc_load_current_credit, */
- 0x01010068, 0x00010001, 0x0000008b, /* (r1!=0), r1=prs.tcfc_load_current_credit, */
- 0x01010069, 0x00010001, 0x0000008c, /* (r1!=0), r1=prs.ccfc_search_req_ct, */
- 0x0101006a, 0x00010001, 0x0000008d, /* (r1!=0), r1=prs.tcfc_search_req_ct, */
- 0x0101006b, 0x00010001, 0x0000008e, /* (r1!=0), r1=prs.ccfc_load_req_ct, */
- 0x0101006c, 0x00010001, 0x0000008f, /* (r1!=0), r1=prs.tcfc_load_req_ct, */
- 0x0101006d, 0x00010001, 0x00000090, /* (r1!=0), r1=prs.sop_req_ct, */
- 0x0101006e, 0x00010001, 0x00000091, /* (r1!=0), r1=prs.eop_req_ct, */
- 0x0000006f, 0x00010002, 0x00000092, /* ((r1&~r2)!=0), r1=prm.INT_STS, r2=prm.INT_MASK, */
- 0x01000070, 0x00010001, 0x000d0094, /* (r1!=1), r1=rss.rss_init_done, */
- 0x00000071, 0x00010002, 0x00000095, /* ((r1&~r2)!=0), r1=rss.INT_STS, r2=rss.INT_MASK, */
- 0x01010072, 0x00010001, 0x000f0097, /* (r1!=0x20), r1=rss.tmld_credit, */
- 0x01000073, 0x00010001, 0x000d0098, /* (r1!=1), r1=pswrq2.rbc_done, */
- 0x01000074, 0x00010001, 0x000d0099, /* (r1!=1), r1=pswrq2.cfg_done, */
- 0x00020075, 0x00010002, 0x0000009a, /* ((r1&~r2)!=0), r1=pswrq2.INT_STS, r2=pswrq2.INT_MASK, */
- 0x00000076, 0x00010002, 0x0000009c, /* ((r1&~r2)!=0), r1=pswrq2.PRTY_STS_H_0, r2=pswrq2.PRTY_MASK_H_0, */
- 0x01010077, 0x00010001, 0x0000009e, /* (r1!=0), r1=pswrq2.vq0_entry_cnt[0:31], */
- 0x01000078, 0x00010001, 0x0010009f, /* (r1!=0xb7), r1=pswrq2.BW_CREDIT, */
- 0x01010079, 0x00010001, 0x000000a0, /* (r1!=0), r1=pswrq2.treq_fifo_fill_lvl, */
- 0x0101007a, 0x00010001, 0x000000a1, /* (r1!=0), r1=pswrq2.icpl_fifo_fill_lvl, */
- 0x0100007b, 0x00010001, 0x000000a2, /* (r1!=0), r1=pswrq2.l2p_err_add_31_0, */
- 0x0100007c, 0x00010001, 0x000000a3, /* (r1!=0), r1=pswrq2.l2p_err_add_63_32, */
- 0x0100007d, 0x00010001, 0x000000a4, /* (r1!=0), r1=pswrq2.l2p_err_details, */
- 0x0100007e, 0x00010001, 0x000000a5, /* (r1!=0), r1=pswrq2.l2p_err_details2, */
- 0x0801007f, 0x00010002, 0x001100a6, /* (r1<(r2-4)), r1=pswrq2.sr_cnt, r2=pswrq2.sr_num_cfg, */
- 0x03010080, 0x00000002, 0x000000a8, /* (r1!=r2), r1=pswrq2.sr_cnt, r2=pswrq2.sr_num_cfg, */
- 0x03010081, 0x00000002, 0x000000aa, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_0, r2=pswrq2.max_srs_vq0, */
- 0x03010082, 0x00000002, 0x000000ac, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_1, r2=pswrq2.max_srs_vq1, */
- 0x03010083, 0x00000002, 0x000000ae, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_2, r2=pswrq2.max_srs_vq2, */
- 0x03010084, 0x00000002, 0x000000b0, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_3, r2=pswrq2.max_srs_vq3, */
- 0x03010085, 0x00000002, 0x000000b2, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_4, r2=pswrq2.max_srs_vq4, */
- 0x03010086, 0x00000002, 0x000000b4, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_5, r2=pswrq2.max_srs_vq5, */
- 0x03010087, 0x00000002, 0x000000b6, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_6, r2=pswrq2.max_srs_vq6, */
- 0x03010088, 0x00000002, 0x000000b8, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_9, r2=pswrq2.max_srs_vq9, */
- 0x03010089, 0x00000002, 0x000000ba, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_11, r2=pswrq2.max_srs_vq11, */
- 0x0301008a, 0x00000002, 0x000000bc, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_12, r2=pswrq2.max_srs_vq12, */
- 0x0301008b, 0x00000002, 0x000000be, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_15, r2=pswrq2.max_srs_vq15, */
- 0x0301008c, 0x00000002, 0x000000c0, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_16, r2=pswrq2.max_srs_vq16, */
- 0x0301008d, 0x00000002, 0x000000c2, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_17, r2=pswrq2.max_srs_vq17, */
- 0x0301008e, 0x00000002, 0x000000c4, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_18, r2=pswrq2.max_srs_vq18, */
- 0x0301008f, 0x00000002, 0x000000c6, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_19, r2=pswrq2.max_srs_vq19, */
- 0x03010090, 0x00000002, 0x000000c8, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_21, r2=pswrq2.max_srs_vq21, */
- 0x03010091, 0x00000002, 0x000000ca, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_22, r2=pswrq2.max_srs_vq22, */
- 0x03010092, 0x00000002, 0x000000cc, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_23, r2=pswrq2.max_srs_vq23, */
- 0x03010093, 0x00000002, 0x000000ce, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_24, r2=pswrq2.max_srs_vq24, */
- 0x03010094, 0x00000002, 0x000000d0, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_26, r2=pswrq2.max_srs_vq26, */
- 0x03010095, 0x00000002, 0x000000d2, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_28, r2=pswrq2.max_srs_vq28, */
- 0x03010096, 0x00000002, 0x000000d4, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_29, r2=pswrq2.max_srs_vq29, */
- 0x03010097, 0x00000002, 0x000000d6, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_30, r2=pswrq2.max_srs_vq30, */
- 0x08010098, 0x00010002, 0x001200d8, /* (r1<(r2-8)), r1=pswrq2.blk_cnt, r2=pswrq2.blk_num_cfg, */
- 0x03010099, 0x00000002, 0x000000da, /* (r1!=r2), r1=pswrq2.blk_cnt, r2=pswrq2.blk_num_cfg, */
- 0x0301009a, 0x00000002, 0x000000dc, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_0, r2=pswrq2.max_blks_vq0, */
- 0x0301009b, 0x00000002, 0x000000de, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_1, r2=pswrq2.max_blks_vq1, */
- 0x0301009c, 0x00000002, 0x000000e0, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_2, r2=pswrq2.max_blks_vq2, */
- 0x0301009d, 0x00000002, 0x000000e2, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_3, r2=pswrq2.max_blks_vq3, */
- 0x0301009e, 0x00000002, 0x000000e4, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_4, r2=pswrq2.max_blks_vq4, */
- 0x0301009f, 0x00000002, 0x000000e6, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_5, r2=pswrq2.max_blks_vq5, */
- 0x030100a0, 0x00000002, 0x000000e8, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_6, r2=pswrq2.max_blks_vq6, */
- 0x030100a1, 0x00000002, 0x000000ea, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_9, r2=pswrq2.max_blks_vq9, */
- 0x030100a2, 0x00000002, 0x000000ec, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_11, r2=pswrq2.max_blks_vq11, */
- 0x030100a3, 0x00000002, 0x000000ee, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_12, r2=pswrq2.max_blks_vq12, */
- 0x030100a4, 0x00000002, 0x000000f0, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_15, r2=pswrq2.max_blks_vq15, */
- 0x030100a5, 0x00000002, 0x000000f2, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_16, r2=pswrq2.max_blks_vq16, */
- 0x030100a6, 0x00000002, 0x000000f4, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_17, r2=pswrq2.max_blks_vq17, */
- 0x030100a7, 0x00000002, 0x000000f6, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_18, r2=pswrq2.max_blks_vq18, */
- 0x030100a8, 0x00000002, 0x000000f8, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_19, r2=pswrq2.max_blks_vq19, */
- 0x030100a9, 0x00000002, 0x000000fa, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_21, r2=pswrq2.max_blks_vq21, */
- 0x030100aa, 0x00000002, 0x000000fc, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_22, r2=pswrq2.max_blks_vq22, */
- 0x030100ab, 0x00000002, 0x000000fe, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_23, r2=pswrq2.max_blks_vq23, */
- 0x030100ac, 0x00000002, 0x00000100, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_24, r2=pswrq2.max_blks_vq24, */
- 0x030100ad, 0x00000002, 0x00000102, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_26, r2=pswrq2.max_blks_vq26, */
- 0x030100ae, 0x00000002, 0x00000104, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_28, r2=pswrq2.max_blks_vq28, */
- 0x030100af, 0x00000002, 0x00000106, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_29, r2=pswrq2.max_blks_vq29, */
- 0x030100b0, 0x00000002, 0x00000108, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_30, r2=pswrq2.max_blks_vq30, */
- 0x010000b1, 0x00010001, 0x0000010a, /* (r1!=0), r1=pswrq2.l2p_close_gate_sts, */
- 0x010000b2, 0x00010001, 0x0000010b, /* (r1!=0), r1=pswrq2.misc_close_gate_sts, */
- 0x010200b3, 0x00010001, 0x0000010c, /* (r1!=0), r1=pswrq2.misc_stall_mem_sts, */
- 0x000200b4, 0x00010002, 0x0000010d, /* ((r1&~r2)!=0), r1=pswrq.INT_STS, r2=pswrq.INT_MASK, */
- 0x000200b5, 0x00010002, 0x0000010f, /* ((r1&~r2)!=0), r1=pswwr.INT_STS, r2=pswwr.INT_MASK, */
- 0x010000b6, 0x00010001, 0x00000111, /* (r1!=0), r1=pswwr2.pglue_eop_err_details, */
- 0x010100b7, 0x00010001, 0x00000112, /* (r1!=0), r1=pswwr2.prm_curr_fill_level, */
- 0x010100b8, 0x00010001, 0x00000113, /* (r1!=0), r1=pswwr2.cdu_curr_fill_level, */
- 0x000200b9, 0x00010002, 0x00000114, /* ((r1&~r2)!=0), r1=pswwr2.INT_STS, r2=pswwr2.INT_MASK, */
- 0x010000ba, 0x00010001, 0x00000116, /* (r1!=0), r1=pswrd.fifo_full_status, */
- 0x000200bb, 0x00010002, 0x00000117, /* ((r1&~r2)!=0), r1=pswrd.INT_STS, r2=pswrd.INT_MASK, */
- 0x010000bc, 0x00010001, 0x000d0119, /* (r1!=1), r1=pswrd2.start_init, */
- 0x010000bd, 0x00010001, 0x000d011a, /* (r1!=1), r1=pswrd2.init_done, */
- 0x010200be, 0x00010001, 0x0000011b, /* (r1!=0), r1=pswrd2.cpl_err_details, */
- 0x010200bf, 0x00010001, 0x0000011c, /* (r1!=0), r1=pswrd2.cpl_err_details2, */
- 0x010100c0, 0x00010001, 0x000d011d, /* (r1!=1), r1=pswrd2.port_is_idle_0, */
- 0x010100c1, 0x00010001, 0x000d011e, /* (r1!=1), r1=pswrd2.port_is_idle_1, */
- 0x010000c2, 0x00010001, 0x0000011f, /* (r1!=0), r1=pswrd2.almost_full_0[0:14], */
- 0x000200c3, 0x00010002, 0x00000120, /* ((r1&~r2)!=0), r1=pswrd2.INT_STS, r2=pswrd2.INT_MASK, */
- 0x000000c4, 0x00010002, 0x00000122, /* ((r1&~r2)!=0), r1=pswrd2.PRTY_STS_H_0, r2=pswrd2.PRTY_MASK_H_0, */
- 0x000000c5, 0x00010002, 0x00000124, /* ((r1&~r2)!=0), r1=pswrd2.PRTY_STS_H_1, r2=pswrd2.PRTY_MASK_H_1, */
- 0x010000c6, 0x00010001, 0x00000126, /* (r1!=0), r1=pswrd2.disable_inputs, */
- 0x010100c7, 0x00010001, 0x00000127, /* (r1!=0), r1=pswhst2.header_fifo_status, */
- 0x010100c8, 0x00010001, 0x00000128, /* (r1!=0), r1=pswhst2.data_fifo_status, */
- 0x000200c9, 0x00010002, 0x00000129, /* ((r1&~r2)!=0), r1=pswhst2.INT_STS, r2=pswhst2.INT_MASK, */
- 0x010200ca, 0x00010001, 0x0000012b, /* (r1!=0), r1=pswhst.discard_internal_writes_status, */
- 0x010200cb, 0x00010001, 0x0000012c, /* (r1!=0), r1=pswhst.discard_doorbells_status, */
- 0x010200cc, 0x00010001, 0x0013012d, /* (r1!=3), r1=pswhst.arb_is_idle, */
- 0x010200cd, 0x00010301, 0x0000012e, /* (r1!=0), r1=pswhst.incorrect_access_valid, */
- 0x010200ce, 0x00010101, 0x00000132, /* (r1!=0), r1=pswhst.per_violation_valid, */
- 0x010200cf, 0x00010001, 0x00140134, /* (r1!=reset1), r1=pswhst.source_credits_avail, */
- 0x010200d0, 0x00010101, 0x00000135, /* (r1!=0), r1=pswhst.source_credit_viol_valid, */
- 0x010200d1, 0x00010001, 0x00150137, /* (r1!=60074), r1=pswhst.dest_credits_avail, */
- 0x010200d2, 0x00010001, 0x00000138, /* (r1!=0), r1=pswhst.is_in_drain_mode, */
- 0x010200d3, 0x00010101, 0x00000139, /* (r1!=0), r1=pswhst.timeout_valid, */
- 0x010200d4, 0x00010101, 0x0000013b, /* (r1!=0), r1=pswhst.timeout_valid, */
- 0x010200d5, 0x00010001, 0x0000013d, /* (r1!=0), r1=pswhst.clients_waiting_to_source_arb[0:7], */
- 0x000200d6, 0x00010002, 0x0000013e, /* ((r1&~r2)!=0), r1=pswhst.INT_STS, r2=pswhst.INT_MASK, */
- 0x060200d7, 0x00020001, 0x00160140, /* ((r1&0x76417C)!=0), r1=pglue_b.INT_STS, */
- 0x060000d8, 0x00020001, 0x00180141, /* ((r1&0x01BC01)!=0), r1=pglue_b.INT_STS, */
- 0x010000d9, 0x00010001, 0x00000142, /* (r1!=0), r1=pglue_b.pgl_write_blocked, */
- 0x010000da, 0x00010001, 0x00000143, /* (r1!=0), r1=pglue_b.pgl_read_blocked, */
- 0x010100db, 0x00010001, 0x00000144, /* (r1!=0), r1=pglue_b.read_fifo_occupancy_level, */
- 0x010200dc, 0x00010001, 0x00000145, /* (r1!=0), r1=pglue_b.rx_legacy_errors, */
- 0x070100dd, 0x00030001, 0x001a0146, /* (((r1>>17)&1)!=0), r1=pglue_b.pgl_txw_cdts, */
- 0x010200de, 0x00010001, 0x00000147, /* (r1!=0), r1=pglue_b.cfg_space_a_request, */
- 0x010200df, 0x00010001, 0x00000148, /* (r1!=0), r1=pglue_b.cfg_space_b_request, */
- 0x010200e0, 0x00010001, 0x00000149, /* (r1!=0), r1=pglue_b.flr_request_vf_31_0, */
- 0x010200e1, 0x00010001, 0x0000014a, /* (r1!=0), r1=pglue_b.flr_request_vf_63_32, */
- 0x010200e2, 0x00010001, 0x0000014b, /* (r1!=0), r1=pglue_b.flr_request_vf_95_64, */
- 0x010200e3, 0x00010001, 0x0000014c, /* (r1!=0), r1=pglue_b.flr_request_vf_127_96, */
- 0x010200e4, 0x00010001, 0x0000014d, /* (r1!=0), r1=pglue_b.flr_request_vf_159_128, */
- 0x010200e5, 0x00010001, 0x0000014e, /* (r1!=0), r1=pglue_b.flr_request_vf_191_160, */
- 0x010200e6, 0x00010001, 0x0000014f, /* (r1!=0), r1=pglue_b.flr_request_pf_31_0, */
- 0x010200e7, 0x00010001, 0x00000150, /* (r1!=0), r1=pglue_b.sr_iov_disabled_request, */
- 0x010200e8, 0x00010001, 0x00000151, /* (r1!=0), r1=pglue_b.was_error_vf_31_0, */
- 0x010200e9, 0x00010001, 0x00000152, /* (r1!=0), r1=pglue_b.was_error_vf_63_32, */
- 0x010200ea, 0x00010001, 0x00000153, /* (r1!=0), r1=pglue_b.was_error_vf_95_64, */
- 0x010200eb, 0x00010001, 0x00000154, /* (r1!=0), r1=pglue_b.was_error_vf_127_96, */
- 0x010200ec, 0x00010001, 0x00000155, /* (r1!=0), r1=pglue_b.was_error_vf_159_128, */
- 0x010200ed, 0x00010001, 0x00000156, /* (r1!=0), r1=pglue_b.was_error_vf_191_160, */
- 0x010200ee, 0x00010001, 0x00000157, /* (r1!=0), r1=pglue_b.was_error_pf_31_0, */
- 0x010200ef, 0x00010001, 0x00000158, /* (r1!=0), r1=pglue_b.rx_err_details, */
- 0x010200f0, 0x00010001, 0x00000159, /* (r1!=0), r1=pglue_b.rx_tcpl_err_details, */
- 0x010200f1, 0x00010001, 0x0000015a, /* (r1!=0), r1=pglue_b.tx_err_wr_add_31_0, */
- 0x010200f2, 0x00010001, 0x0000015b, /* (r1!=0), r1=pglue_b.tx_err_wr_add_63_32, */
- 0x010200f3, 0x00010001, 0x0000015c, /* (r1!=0), r1=pglue_b.tx_err_wr_details, */
- 0x010200f4, 0x00010001, 0x0000015d, /* (r1!=0), r1=pglue_b.tx_err_wr_details2, */
- 0x010200f5, 0x00010001, 0x0000015e, /* (r1!=0), r1=pglue_b.tx_err_rd_add_31_0, */
- 0x010200f6, 0x00010001, 0x0000015f, /* (r1!=0), r1=pglue_b.tx_err_rd_add_63_32, */
- 0x010200f7, 0x00010001, 0x00000160, /* (r1!=0), r1=pglue_b.tx_err_rd_details, */
- 0x010200f8, 0x00010001, 0x00000161, /* (r1!=0), r1=pglue_b.tx_err_rd_details2, */
- 0x010200f9, 0x00010001, 0x00000162, /* (r1!=0), r1=pglue_b.vf_length_violation_details, */
- 0x010200fa, 0x00010001, 0x00000163, /* (r1!=0), r1=pglue_b.vf_length_violation_details2, */
- 0x010200fb, 0x00010001, 0x00000164, /* (r1!=0), r1=pglue_b.vf_grc_space_violation_details, */
- 0x010200fc, 0x00010001, 0x00000165, /* (r1!=0), r1=pglue_b.master_zlr_err_add_31_0, */
- 0x010200fd, 0x00010001, 0x00000166, /* (r1!=0), r1=pglue_b.master_zlr_err_add_63_32, */
- 0x010200fe, 0x00010001, 0x00000167, /* (r1!=0), r1=pglue_b.master_zlr_err_details, */
- 0x010200ff, 0x00010001, 0x00000168, /* (r1!=0), r1=pglue_b.admin_window_violation_details, */
- 0x01000100, 0x00010001, 0x00000169, /* (r1!=0), r1=pglue_b.out_of_range_function_in_pretend_details, */
- 0x01000101, 0x00010001, 0x0000016a, /* (r1!=0), r1=pglue_b.out_of_range_function_in_pretend_address, */
- 0x01010102, 0x00010001, 0x0000016b, /* (r1!=0), r1=pglue_b.write_fifo_occupancy_level, */
- 0x01020103, 0x00010001, 0x0000016c, /* (r1!=0), r1=pglue_b.illegal_address_add_31_0, */
- 0x01020104, 0x00010001, 0x0000016d, /* (r1!=0), r1=pglue_b.illegal_address_add_63_32, */
- 0x01020105, 0x00010001, 0x0000016e, /* (r1!=0), r1=pglue_b.illegal_address_details, */
- 0x01020106, 0x00010001, 0x0000016f, /* (r1!=0), r1=pglue_b.illegal_address_details2, */
- 0x01020107, 0x00010001, 0x001d0170, /* (r1!=0xffffffff), r1=pglue_b.tags_31_0, */
- 0x01020108, 0x00010001, 0x001d0171, /* (r1!=0xffffffff), r1=pglue_b.tags_63_32, */
- 0x01020109, 0x00010001, 0x001d0172, /* (r1!=0xffffffff), r1=pglue_b.tags_95_64, */
- 0x0102010a, 0x00010001, 0x001d0173, /* (r1!=0xffffffff), r1=pglue_b.tags_127_96, */
- 0x0102010b, 0x00010001, 0x00000174, /* (r1!=0), r1=pglue_b.vf_ilt_err_add_31_0, */
- 0x0102010c, 0x00010001, 0x00000175, /* (r1!=0), r1=pglue_b.vf_ilt_err_add_63_32, */
- 0x0102010d, 0x00010001, 0x00000176, /* (r1!=0), r1=pglue_b.vf_ilt_err_details, */
- 0x0102010e, 0x00010001, 0x00000177, /* (r1!=0), r1=pglue_b.vf_ilt_err_details2, */
- 0x0d00010f, 0x00010001, 0x001e0178, /* (r1&0x7F800000), r1=tm.INT_STS_0, */
- 0x0d020110, 0x00010001, 0x001f0179, /* (r1&0x80000000), r1=tm.INT_STS_0, */
- 0x0d000111, 0x00010001, 0x0020017a, /* (r1&0x7FFFFF), r1=tm.INT_STS_0, */
- 0x0d000112, 0x00010001, 0x0021017b, /* (r1&0x41E), r1=tm.INT_STS_1, */
- 0x01010113, 0x00010001, 0x0000017c, /* (r1!=0), r1=tm.pxp_read_data_fifo_status, */
- 0x01010114, 0x00010001, 0x0000017d, /* (r1!=0), r1=tm.pxp_read_ctrl_fifo_status, */
- 0x01010115, 0x00010001, 0x0000017e, /* (r1!=0), r1=tm.cfc_load_echo_fifo_status, */
- 0x01010116, 0x00010001, 0x0000017f, /* (r1!=0), r1=tm.client_out_fifo_status, */
- 0x01010117, 0x00010001, 0x00000180, /* (r1!=0), r1=tm.client_in_pbf_fifo_status, */
- 0x01010118, 0x00010001, 0x00000181, /* (r1!=0), r1=tm.client_in_xcm_fifo_status, */
- 0x01010119, 0x00010001, 0x00000182, /* (r1!=0), r1=tm.client_in_tcm_fifo_status, */
- 0x0101011a, 0x00010001, 0x00000183, /* (r1!=0), r1=tm.client_in_ucm_fifo_status, */
- 0x0101011b, 0x00010001, 0x00000184, /* (r1!=0), r1=tm.expiration_cmd_fifo_status, */
- 0x0101011c, 0x00010001, 0x00000185, /* (r1!=0), r1=tm.ac_command_fifo_status, */
- 0x0100011d, 0x00010001, 0x000d0186, /* (r1!=1), r1=tcfc.ll_init_done, */
- 0x0100011e, 0x00010001, 0x000d0187, /* (r1!=1), r1=tcfc.ac_init_done, */
- 0x0100011f, 0x00010001, 0x000d0188, /* (r1!=1), r1=tcfc.cam_init_done, */
- 0x01000120, 0x00010001, 0x000d0189, /* (r1!=1), r1=tcfc.tidram_init_done, */
- 0x00000121, 0x00010502, 0x0000018a, /* ((r1&~r2)!=0), r1=tcfc.INT_STS_0, r2=tcfc.INT_MASK_0, */
- 0x01010122, 0x00010001, 0x00000191, /* (r1!=0x0), r1=tcfc.lstate_arriving, */
- 0x01010123, 0x00010001, 0x00000192, /* (r1!=0x0), r1=tcfc.lstate_leaving, */
- 0x01010124, 0x00010001, 0x00220193, /* (r1!=0x30), r1=tcfc.cduld_credit, */
- 0x01010125, 0x00010001, 0x00220194, /* (r1!=reset1), r1=tcfc.cduwb_credit, */
- 0x01000126, 0x00010001, 0x000d0195, /* (r1!=1), r1=ccfc.ll_init_done, */
- 0x01000127, 0x00010001, 0x000d0196, /* (r1!=1), r1=ccfc.ac_init_done, */
- 0x01000128, 0x00010001, 0x000d0197, /* (r1!=1), r1=ccfc.cam_init_done, */
- 0x01000129, 0x00010001, 0x000d0198, /* (r1!=1), r1=ccfc.tidram_init_done, */
- 0x0000012a, 0x00010502, 0x00000199, /* ((r1&~r2)!=0), r1=ccfc.INT_STS_0, r2=ccfc.INT_MASK_0, */
- 0x0000012b, 0x00010002, 0x000001a0, /* ((r1&~r2)!=0), r1=ccfc.PRTY_STS, r2=ccfc.PRTY_MASK, */
- 0x0101012c, 0x00010001, 0x000001a2, /* (r1!=0x0), r1=ccfc.lstate_arriving, */
- 0x0101012d, 0x00010001, 0x000001a3, /* (r1!=0x0), r1=ccfc.lstate_leaving, */
- 0x0101012e, 0x00010001, 0x002201a4, /* (r1!=0x30), r1=ccfc.cduld_credit, */
- 0x0101012f, 0x00010001, 0x000a01a5, /* (r1!=0x10), r1=ccfc.cduwb_credit, */
- 0x00000130, 0x00010002, 0x000001a6, /* ((r1&~r2)!=0), r1=qm.INT_STS, r2=qm.INT_MASK, */
- 0x00000131, 0x00010002, 0x000001a8, /* ((r1&~r2)!=0), r1=qm.PRTY_STS, r2=qm.PRTY_MASK, */
- 0x01000132, 0x00010001, 0x000001aa, /* (r1!=0), r1=qm.wrc_fifolvl_0[0:5], */
- 0x03000133, 0x00000002, 0x000001ab, /* (r1!=r2), r1=qm.OutLdReqCrdConnTx, r2=qm.OutLdReqSizeConnTx, */
- 0x03000134, 0x00000002, 0x000001ad, /* (r1!=r2), r1=qm.OutLdReqCrdConnOther, r2=qm.OutLdReqSizeConnOther, */
- 0x01000135, 0x00010001, 0x000001af, /* (r1!=0), r1=qm.OvfQNumTx, */
- 0x01000136, 0x00010101, 0x000001b0, /* (r1!=0), r1=qm.OvfErrorTx, */
- 0x01000137, 0x00010001, 0x000001b2, /* (r1!=0), r1=qm.OvfQNumOther, */
- 0x01000138, 0x00010101, 0x000001b3, /* (r1!=0), r1=qm.OvfErrorOther, */
- 0x03010139, 0x00000002, 0x000001b5, /* (r1!=r2), r1=qm.CmCrd_0, r2=qm.CmInitCrd_0, */
- 0x0301013a, 0x00000002, 0x000001b7, /* (r1!=r2), r1=qm.CmCrd_1, r2=qm.CmInitCrd_1, */
- 0x0301013b, 0x00000002, 0x000001b9, /* (r1!=r2), r1=qm.CmCrd_2, r2=qm.CmInitCrd_2, */
- 0x0301013c, 0x00000002, 0x000001bb, /* (r1!=r2), r1=qm.CmCrd_3, r2=qm.CmInitCrd_3, */
- 0x0301013d, 0x00000002, 0x000001bd, /* (r1!=r2), r1=qm.CmCrd_4, r2=qm.CmInitCrd_4, */
- 0x0301013e, 0x00000002, 0x000001bf, /* (r1!=r2), r1=qm.CmCrd_5, r2=qm.CmInitCrd_5, */
- 0x0301013f, 0x00000002, 0x000001c1, /* (r1!=r2), r1=qm.CmCrd_6, r2=qm.CmInitCrd_6, */
- 0x03010140, 0x00000002, 0x000001c3, /* (r1!=r2), r1=qm.CmCrd_7, r2=qm.CmInitCrd_7, */
- 0x03010141, 0x00000002, 0x000001c5, /* (r1!=r2), r1=qm.CmCrd_8, r2=qm.CmInitCrd_8, */
- 0x03010142, 0x00000002, 0x000001c7, /* (r1!=r2), r1=qm.CmCrd_9, r2=qm.CmInitCrd_9, */
- 0x00000143, 0x00010002, 0x000001c9, /* ((r1&~r2)!=0), r1=rdif.INT_STS, r2=rdif.INT_MASK, */
- 0x00000144, 0x00010002, 0x000001cb, /* ((r1&~r2)!=0), r1=tdif.INT_STS, r2=tdif.INT_MASK, */
- 0x00000145, 0x00010202, 0x000001cd, /* ((r1&~r2)!=0), r1=brb.INT_STS_0, r2=brb.INT_MASK_0, */
- 0x00000146, 0x00010002, 0x000001d1, /* ((r1&~r2)!=0), r1=brb.INT_STS_1, r2=brb.INT_MASK_1, */
- 0x00000147, 0x00010002, 0x000001d3, /* ((r1&~r2)!=0), r1=brb.INT_STS_2, r2=brb.INT_MASK_2, */
- 0x00000148, 0x00010002, 0x000001d5, /* ((r1&~r2)!=0), r1=brb.INT_STS_3, r2=brb.INT_MASK_3, */
- 0x00000149, 0x00010202, 0x000001d7, /* ((r1&~r2)!=0), r1=brb.INT_STS_4, r2=brb.INT_MASK_4, */
- 0x0101014a, 0x00010001, 0x000001db, /* (r1!=0), r1=brb.wc_bandwidth_if_full, */
- 0x0101014b, 0x00010001, 0x000001dc, /* (r1!=0), r1=brb.rc_pkt_if_full, */
- 0x0101014c, 0x00010001, 0x002301dd, /* (r1!=255), r1=brb.rc_pkt_empty_0[0:4], */
- 0x0101014d, 0x00010001, 0x000301de, /* (r1!=15), r1=brb.rc_sop_empty, */
- 0x0101014e, 0x00010001, 0x000b01df, /* (r1!=2), r1=brb.ll_arb_empty, */
- 0x0101014f, 0x00010001, 0x000001e0, /* (r1!=0), r1=brb.stop_packet_counter, */
- 0x01010150, 0x00010001, 0x000001e1, /* (r1!=0), r1=brb.stop_byte_counter, */
- 0x01010151, 0x00010001, 0x000001e2, /* (r1!=0), r1=brb.rc_pkt_state, */
- 0x01010152, 0x00010001, 0x000001e3, /* (r1!=0), r1=brb.mac0_tc_occupancy_0, */
- 0x01010153, 0x00010001, 0x000001e4, /* (r1!=0), r1=brb.mac0_tc_occupancy_1, */
- 0x01010154, 0x00010001, 0x000001e5, /* (r1!=0), r1=brb.mac0_tc_occupancy_2, */
- 0x01010155, 0x00010001, 0x000001e6, /* (r1!=0), r1=brb.mac0_tc_occupancy_3, */
- 0x01010156, 0x00010001, 0x000001e7, /* (r1!=0), r1=brb.mac0_tc_occupancy_4, */
- 0x01010157, 0x00010001, 0x000001e8, /* (r1!=0), r1=brb.mac0_tc_occupancy_5, */
- 0x01010158, 0x00010001, 0x000001e9, /* (r1!=0), r1=brb.mac0_tc_occupancy_6, */
- 0x01010159, 0x00010001, 0x000001ea, /* (r1!=0), r1=brb.mac0_tc_occupancy_7, */
- 0x0101015a, 0x00010001, 0x000001eb, /* (r1!=0), r1=brb.mac0_tc_occupancy_8, */
- 0x0101015b, 0x00010001, 0x000001ec, /* (r1!=0), r1=brb.mac1_tc_occupancy_0, */
- 0x0101015c, 0x00010001, 0x000001ed, /* (r1!=0), r1=brb.mac1_tc_occupancy_1, */
- 0x0101015d, 0x00010001, 0x000001ee, /* (r1!=0), r1=brb.mac1_tc_occupancy_2, */
- 0x0101015e, 0x00010001, 0x000001ef, /* (r1!=0), r1=brb.mac1_tc_occupancy_3, */
- 0x0101015f, 0x00010001, 0x000001f0, /* (r1!=0), r1=brb.mac1_tc_occupancy_4, */
- 0x01010160, 0x00010001, 0x000001f1, /* (r1!=0), r1=brb.mac1_tc_occupancy_5, */
- 0x01010161, 0x00010001, 0x000001f2, /* (r1!=0), r1=brb.mac1_tc_occupancy_6, */
- 0x01010162, 0x00010001, 0x000001f3, /* (r1!=0), r1=brb.mac1_tc_occupancy_7, */
- 0x01010163, 0x00010001, 0x000001f4, /* (r1!=0), r1=brb.mac1_tc_occupancy_8, */
- 0x01010164, 0x00010001, 0x000001f5, /* (r1!=0), r1=xyld.pending_msg_to_ext_ev_1_ctr, */
- 0x01010165, 0x00010001, 0x000001f6, /* (r1!=0), r1=xyld.pending_msg_to_ext_ev_2_ctr, */
- 0x01010166, 0x00010001, 0x000001f7, /* (r1!=0), r1=xyld.pending_msg_to_ext_ev_3_ctr, */
- 0x01010167, 0x00010001, 0x000001f8, /* (r1!=0), r1=xyld.pending_msg_to_ext_ev_4_ctr, */
- 0x01010168, 0x00010001, 0x000001f9, /* (r1!=0), r1=xyld.pending_msg_to_ext_ev_5_ctr, */
- 0x03010169, 0x00000002, 0x000001fa, /* (r1!=r2), r1=xyld.foc_remain_credits, r2=xyld.foci_foc_credits, */
- 0x0101016a, 0x00010001, 0x000001fc, /* (r1!=0), r1=xyld.pci_pending_msg_ctr, */
- 0x0101016b, 0x00010001, 0x000001fd, /* (r1!=0), r1=xyld.dbg_pending_ccfc_req, */
- 0x0101016c, 0x00010001, 0x000001fe, /* (r1!=0), r1=xyld.dbg_pending_tcfc_req, */
- 0x0101016d, 0x00010001, 0x000001ff, /* (r1!=0), r1=tmld.pending_msg_to_ext_ev_1_ctr, */
- 0x0101016e, 0x00010001, 0x00000200, /* (r1!=0), r1=tmld.pending_msg_to_ext_ev_2_ctr, */
- 0x0101016f, 0x00010001, 0x00000201, /* (r1!=0), r1=tmld.pending_msg_to_ext_ev_3_ctr, */
- 0x01010170, 0x00010001, 0x00000202, /* (r1!=0), r1=tmld.pending_msg_to_ext_ev_4_ctr, */
- 0x01010171, 0x00010001, 0x00000203, /* (r1!=0), r1=tmld.pending_msg_to_ext_ev_5_ctr, */
- 0x03010172, 0x00000002, 0x00000204, /* (r1!=r2), r1=tmld.foc_remain_credits, r2=tmld.foci_foc_credits, */
- 0x01010173, 0x00010001, 0x00000206, /* (r1!=0), r1=tmld.dbg_pending_ccfc_req, */
- 0x01010174, 0x00010001, 0x00000207, /* (r1!=0), r1=tmld.dbg_pending_tcfc_req, */
- 0x01010175, 0x00010001, 0x00000208, /* (r1!=0), r1=muld.pending_msg_to_ext_ev_1_ctr, */
- 0x01010176, 0x00010001, 0x00000209, /* (r1!=0), r1=muld.pending_msg_to_ext_ev_2_ctr, */
- 0x01010177, 0x00010001, 0x0000020a, /* (r1!=0), r1=muld.pending_msg_to_ext_ev_3_ctr, */
- 0x01010178, 0x00010001, 0x0000020b, /* (r1!=0), r1=muld.pending_msg_to_ext_ev_4_ctr, */
- 0x01010179, 0x00010001, 0x0000020c, /* (r1!=0), r1=muld.pending_msg_to_ext_ev_5_ctr, */
- 0x0301017a, 0x00000002, 0x0000020d, /* (r1!=r2), r1=muld.foc_remain_credits, r2=muld.foci_foc_credits, */
- 0x0101017b, 0x00010001, 0x0000020f, /* (r1!=0), r1=muld.bd_pending_msg_ctr, */
- 0x0101017c, 0x00010001, 0x00000210, /* (r1!=0), r1=muld.sge_pending_msg_ctr, */
- 0x0101017d, 0x00010001, 0x00000211, /* (r1!=0), r1=muld.pci_pending_msg_ctr, */
- 0x0101017e, 0x00010001, 0x00000212, /* (r1!=0), r1=muld.dbg_pending_ccfc_req, */
- 0x0101017f, 0x00010001, 0x00000213, /* (r1!=0), r1=muld.dbg_pending_tcfc_req, */
- 0x00000180, 0x00010002, 0x00000214, /* ((r1&~r2)!=0), r1=nig.INT_STS_0, r2=nig.INT_MASK_0, */
- 0x00000181, 0x00010002, 0x00000216, /* ((r1&~r2)!=0), r1=nig.INT_STS_1, r2=nig.INT_MASK_1, */
- 0x00000182, 0x00010002, 0x00000218, /* ((r1&~r2)!=0), r1=nig.INT_STS_2, r2=nig.INT_MASK_2, */
- 0x00020183, 0x00010202, 0x0000021a, /* ((r1&~r2)!=0), r1=nig.INT_STS_3, r2=nig.INT_MASK_3, */
- 0x00000184, 0x00010002, 0x0000021e, /* ((r1&~r2)!=0), r1=nig.INT_STS_4, r2=nig.INT_MASK_4, */
- 0x00020185, 0x00010202, 0x00000220, /* ((r1&~r2)!=0), r1=nig.INT_STS_5, r2=nig.INT_MASK_5, */
- 0x01010186, 0x00010001, 0x00240224, /* (r1!=0x000fffff), r1=nig.lb_sopq_empty, */
- 0x01010187, 0x00010001, 0x00250225, /* (r1!=0x0000ffff), r1=nig.tx_sopq_empty, */
- 0x01010188, 0x00010001, 0x000d0226, /* (r1!=1), r1=nig.rx_llh_rfifo_empty, */
- 0x01010189, 0x00010001, 0x000d0227, /* (r1!=1), r1=nig.lb_btb_fifo_empty, */
- 0x0101018a, 0x00010001, 0x000d0228, /* (r1!=1), r1=nig.lb_llh_rfifo_empty, */
- 0x0500018b, 0x00040002, 0x00260229, /* (((r1&0xff)!=0)&&((r2&0x7)!=0)), r1=nig.rx_ptp_ts_msb_err, r2=nig.rx_ptp_en, */
- 0x0101018c, 0x00010001, 0x000d022b, /* (r1!=1), r1=nig.tx_btb_fifo_empty, */
- 0x0101018d, 0x00010001, 0x000d022c, /* (r1!=1), r1=nig.debug_fifo_empty, */
- 0x0100018e, 0x00010001, 0x0000022d, /* (r1!=0), r1=ptu.pxp_err_ctr, */
- 0x0100018f, 0x00010001, 0x0000022e, /* (r1!=0), r1=ptu.inv_err_ctr, */
- 0x01000190, 0x00010001, 0x0000022f, /* (r1!=0), r1=ptu.pbf_fill_level, */
- 0x01000191, 0x00010001, 0x00000230, /* (r1!=0), r1=ptu.prm_fill_level, */
- 0x00000192, 0x00010002, 0x00000231, /* ((r1&~r2)!=0), r1=ptu.INT_STS, r2=ptu.INT_MASK, */
- 0x00000193, 0x00010602, 0x00000233, /* ((r1&~r2)!=0), r1=cdu.INT_STS, r2=cdu.INT_MASK, */
- 0x01020194, 0x00010001, 0x0000023b, /* (r1!=0), r1=pbf.num_pkts_received_with_error, */
- 0x01020195, 0x00010001, 0x0000023c, /* (r1!=0), r1=pbf.num_pkts_sent_with_error_to_btb, */
- 0x01020196, 0x00010001, 0x0000023d, /* (r1!=0), r1=pbf.num_pkts_sent_with_drop_to_btb, */
- 0x01010197, 0x00010001, 0x0000023e, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq0, */
- 0x01010198, 0x00010001, 0x0000023f, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq0, */
- 0x01010199, 0x00010001, 0x00000240, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq0, */
- 0x0101019a, 0x00010001, 0x00000241, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq1, */
- 0x0101019b, 0x00010001, 0x00000242, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq1, */
- 0x0101019c, 0x00010001, 0x00000243, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq1, */
- 0x0101019d, 0x00010001, 0x00000244, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq2, */
- 0x0101019e, 0x00010001, 0x00000245, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq2, */
- 0x0101019f, 0x00010001, 0x00000246, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq2, */
- 0x010101a0, 0x00010001, 0x00000247, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq3, */
- 0x010101a1, 0x00010001, 0x00000248, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq3, */
- 0x010101a2, 0x00010001, 0x00000249, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq3, */
- 0x010101a3, 0x00010001, 0x0000024a, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq4, */
- 0x010101a4, 0x00010001, 0x0000024b, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq4, */
- 0x010101a5, 0x00010001, 0x0000024c, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq4, */
- 0x010101a6, 0x00010001, 0x0000024d, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq5, */
- 0x010101a7, 0x00010001, 0x0000024e, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq5, */
- 0x010101a8, 0x00010001, 0x0000024f, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq5, */
- 0x010101a9, 0x00010001, 0x00000250, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq6, */
- 0x010101aa, 0x00010001, 0x00000251, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq6, */
- 0x010101ab, 0x00010001, 0x00000252, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq6, */
- 0x010101ac, 0x00010001, 0x00000253, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq7, */
- 0x010101ad, 0x00010001, 0x00000254, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq7, */
- 0x010101ae, 0x00010001, 0x00000255, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq7, */
- 0x010101af, 0x00010001, 0x00000256, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq8, */
- 0x010101b0, 0x00010001, 0x00000257, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq8, */
- 0x010101b1, 0x00010001, 0x00000258, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq8, */
- 0x010101b2, 0x00010001, 0x00000259, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq9, */
- 0x010101b3, 0x00010001, 0x0000025a, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq9, */
- 0x010101b4, 0x00010001, 0x0000025b, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq9, */
- 0x010101b5, 0x00010001, 0x0000025c, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq10, */
- 0x010101b6, 0x00010001, 0x0000025d, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq10, */
- 0x010101b7, 0x00010001, 0x0000025e, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq10, */
- 0x010101b8, 0x00010001, 0x0000025f, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq11, */
- 0x010101b9, 0x00010001, 0x00000260, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq11, */
- 0x010101ba, 0x00010001, 0x00000261, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq11, */
- 0x010101bb, 0x00010001, 0x00000262, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq12, */
- 0x010101bc, 0x00010001, 0x00000263, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq12, */
- 0x010101bd, 0x00010001, 0x00000264, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq12, */
- 0x010101be, 0x00010001, 0x00000265, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq13, */
- 0x010101bf, 0x00010001, 0x00000266, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq13, */
- 0x010101c0, 0x00010001, 0x00000267, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq13, */
- 0x010101c1, 0x00010001, 0x00000268, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq14, */
- 0x010101c2, 0x00010001, 0x00000269, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq14, */
- 0x010101c3, 0x00010001, 0x0000026a, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq14, */
- 0x010101c4, 0x00010001, 0x0000026b, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq15, */
- 0x010101c5, 0x00010001, 0x0000026c, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq15, */
- 0x010101c6, 0x00010001, 0x0000026d, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq15, */
- 0x010101c7, 0x00010001, 0x0000026e, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq16, */
- 0x010101c8, 0x00010001, 0x0000026f, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq16, */
- 0x010101c9, 0x00010001, 0x00000270, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq16, */
- 0x010101ca, 0x00010001, 0x00000271, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq17, */
- 0x010101cb, 0x00010001, 0x00000272, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq17, */
- 0x010101cc, 0x00010001, 0x00000273, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq17, */
- 0x010101cd, 0x00010001, 0x00000274, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq18, */
- 0x010101ce, 0x00010001, 0x00000275, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq18, */
- 0x010101cf, 0x00010001, 0x00000276, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq18, */
- 0x010101d0, 0x00010001, 0x00000277, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq19, */
- 0x010101d1, 0x00010001, 0x00000278, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq19, */
- 0x010101d2, 0x00010001, 0x00000279, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq19, */
- 0x000001d3, 0x00010002, 0x0000027a, /* ((r1&~r2)!=0), r1=btb.INT_STS_1, r2=btb.INT_MASK_1, */
- 0x000001d4, 0x00010002, 0x0000027c, /* ((r1&~r2)!=0), r1=btb.INT_STS_2, r2=btb.INT_MASK_2, */
- 0x000001d5, 0x00010002, 0x0000027e, /* ((r1&~r2)!=0), r1=btb.INT_STS_3, r2=btb.INT_MASK_3, */
- 0x010101d6, 0x00010001, 0x00030280, /* (r1!=15), r1=btb.wc_dup_empty, */
- 0x010101d7, 0x00010001, 0x00000281, /* (r1!=0), r1=btb.wc_dup_status, */
- 0x010101d8, 0x00010001, 0x002a0282, /* (r1!=8190), r1=btb.wc_empty_0, */
- 0x010201d9, 0x00010001, 0x00000283, /* (r1!=0), r1=btb.wc_bandwidth_if_full, */
- 0x010201da, 0x00010001, 0x00000284, /* (r1!=0), r1=btb.rc_pkt_if_full, */
- 0x010101db, 0x00010001, 0x00230285, /* (r1!=255), r1=btb.rc_pkt_empty_0, */
- 0x010101dc, 0x00010001, 0x00230286, /* (r1!=255), r1=btb.rc_pkt_empty_1, */
- 0x010101dd, 0x00010001, 0x00230287, /* (r1!=255), r1=btb.rc_pkt_empty_2, */
- 0x010101de, 0x00010001, 0x00230288, /* (r1!=255), r1=btb.rc_pkt_empty_3, */
- 0x010101df, 0x00010001, 0x00030289, /* (r1!=15), r1=btb.rc_sop_empty, */
- 0x010101e0, 0x00010001, 0x000b028a, /* (r1!=2), r1=btb.ll_arb_empty, */
- 0x020101e1, 0x00010001, 0x002b028b, /* (r1>46), r1=btb.block_occupancy, */
- 0x010101e2, 0x00010001, 0x0000028c, /* (r1!=0), r1=btb.rc_pkt_state, */
- 0x010101e3, 0x00010001, 0x000b028d, /* (r1!=2), r1=btb.wc_status_0 width=3 access=WB, */
- 0x000001e4, 0x00010102, 0x0000028e, /* ((r1&~r2)!=0), r1=xsdm.INT_STS, r2=xsdm.INT_MASK, */
- 0x010101e5, 0x00010001, 0x00000291, /* (r1!=0), r1=xsdm.qm_full, */
- 0x010101e6, 0x00010001, 0x00000292, /* (r1!=0), r1=xsdm.rsp_brb_if_full, */
- 0x010101e7, 0x00010001, 0x00000293, /* (r1!=0), r1=xsdm.rsp_pxp_if_full, */
- 0x010101e8, 0x00010001, 0x00000294, /* (r1!=0), r1=xsdm.dst_pxp_if_full, */
- 0x010101e9, 0x00010001, 0x00000295, /* (r1!=0), r1=xsdm.dst_int_ram_if_full, */
- 0x010101ea, 0x00010001, 0x00000296, /* (r1!=0), r1=xsdm.dst_pas_buf_if_full, */
- 0x010101eb, 0x00010001, 0x000d0297, /* (r1!=1), r1=xsdm.int_cmpl_pend_empty, */
- 0x010101ec, 0x00010001, 0x000d0298, /* (r1!=1), r1=xsdm.int_cprm_pend_empty, */
- 0x010101ed, 0x00010001, 0x002c0299, /* (r1!=511), r1=xsdm.queue_empty, */
- 0x010101ee, 0x00010001, 0x000d029a, /* (r1!=1), r1=xsdm.delay_fifo_empty, */
- 0x010101ef, 0x00010001, 0x000d029b, /* (r1!=1), r1=xsdm.rsp_pxp_rdata_empty, */
- 0x010101f0, 0x00010001, 0x000d029c, /* (r1!=1), r1=xsdm.rsp_brb_rdata_empty, */
- 0x010101f1, 0x00010001, 0x000d029d, /* (r1!=1), r1=xsdm.rsp_int_ram_rdata_empty, */
- 0x010101f2, 0x00010001, 0x000d029e, /* (r1!=1), r1=xsdm.rsp_brb_pend_empty, */
- 0x010101f3, 0x00010001, 0x000d029f, /* (r1!=1), r1=xsdm.rsp_int_ram_pend_empty, */
- 0x010101f4, 0x00010001, 0x000d02a0, /* (r1!=1), r1=xsdm.dst_pxp_immed_empty, */
- 0x010101f5, 0x00010001, 0x000d02a1, /* (r1!=1), r1=xsdm.dst_pxp_dst_pend_empty, */
- 0x010101f6, 0x00010001, 0x000d02a2, /* (r1!=1), r1=xsdm.dst_pxp_src_pend_empty, */
- 0x010101f7, 0x00010001, 0x000d02a3, /* (r1!=1), r1=xsdm.dst_brb_src_pend_empty, */
- 0x010101f8, 0x00010001, 0x000d02a4, /* (r1!=1), r1=xsdm.dst_brb_src_addr_empty, */
- 0x010101f9, 0x00010001, 0x000d02a5, /* (r1!=1), r1=xsdm.dst_pxp_link_empty, */
- 0x010101fa, 0x00010001, 0x000d02a6, /* (r1!=1), r1=xsdm.dst_int_ram_wait_empty, */
- 0x010101fb, 0x00010001, 0x000d02a7, /* (r1!=1), r1=xsdm.dst_pas_buf_wait_empty, */
- 0x010101fc, 0x00010001, 0x000d02a8, /* (r1!=1), r1=xsdm.sh_delay_empty, */
- 0x010101fd, 0x00010001, 0x000d02a9, /* (r1!=1), r1=xsdm.cm_delay_empty, */
- 0x010101fe, 0x00010001, 0x000d02aa, /* (r1!=1), r1=xsdm.cmsg_que_empty, */
- 0x010101ff, 0x00010001, 0x000d02ab, /* (r1!=1), r1=xsdm.ccfc_load_pend_empty, */
- 0x01010200, 0x00010001, 0x000d02ac, /* (r1!=1), r1=xsdm.tcfc_load_pend_empty, */
- 0x01010201, 0x00010001, 0x000d02ad, /* (r1!=1), r1=xsdm.async_host_empty, */
- 0x01010202, 0x00010001, 0x000d02ae, /* (r1!=1), r1=xsdm.prm_fifo_empty, */
- 0x00000203, 0x00010102, 0x000002af, /* ((r1&~r2)!=0), r1=ysdm.INT_STS, r2=ysdm.INT_MASK, */
- 0x01010204, 0x00010001, 0x000002b2, /* (r1!=0), r1=ysdm.qm_full, */
- 0x01010205, 0x00010001, 0x000002b3, /* (r1!=0), r1=ysdm.rsp_brb_if_full, */
- 0x01010206, 0x00010001, 0x000002b4, /* (r1!=0), r1=ysdm.rsp_pxp_if_full, */
- 0x01010207, 0x00010001, 0x000002b5, /* (r1!=0), r1=ysdm.dst_pxp_if_full, */
- 0x01010208, 0x00010001, 0x000002b6, /* (r1!=0), r1=ysdm.dst_int_ram_if_full, */
- 0x01010209, 0x00010001, 0x000002b7, /* (r1!=0), r1=ysdm.dst_pas_buf_if_full, */
- 0x0101020a, 0x00010001, 0x000d02b8, /* (r1!=1), r1=ysdm.int_cmpl_pend_empty, */
- 0x0101020b, 0x00010001, 0x000d02b9, /* (r1!=1), r1=ysdm.int_cprm_pend_empty, */
- 0x0101020c, 0x00010001, 0x002c02ba, /* (r1!=511), r1=ysdm.queue_empty, */
- 0x0101020d, 0x00010001, 0x000d02bb, /* (r1!=1), r1=ysdm.delay_fifo_empty, */
- 0x0101020e, 0x00010001, 0x000d02bc, /* (r1!=1), r1=ysdm.rsp_pxp_rdata_empty, */
- 0x0101020f, 0x00010001, 0x000d02bd, /* (r1!=1), r1=ysdm.rsp_brb_rdata_empty, */
- 0x01010210, 0x00010001, 0x000d02be, /* (r1!=1), r1=ysdm.rsp_int_ram_rdata_empty, */
- 0x01010211, 0x00010001, 0x000d02bf, /* (r1!=1), r1=ysdm.rsp_brb_pend_empty, */
- 0x01010212, 0x00010001, 0x000d02c0, /* (r1!=1), r1=ysdm.rsp_int_ram_pend_empty, */
- 0x01010213, 0x00010001, 0x000d02c1, /* (r1!=1), r1=ysdm.dst_pxp_immed_empty, */
- 0x01010214, 0x00010001, 0x000d02c2, /* (r1!=1), r1=ysdm.dst_pxp_dst_pend_empty, */
- 0x01010215, 0x00010001, 0x000d02c3, /* (r1!=1), r1=ysdm.dst_pxp_src_pend_empty, */
- 0x01010216, 0x00010001, 0x000d02c4, /* (r1!=1), r1=ysdm.dst_brb_src_pend_empty, */
- 0x01010217, 0x00010001, 0x000d02c5, /* (r1!=1), r1=ysdm.dst_brb_src_addr_empty, */
- 0x01010218, 0x00010001, 0x000d02c6, /* (r1!=1), r1=ysdm.dst_pxp_link_empty, */
- 0x01010219, 0x00010001, 0x000d02c7, /* (r1!=1), r1=ysdm.dst_int_ram_wait_empty, */
- 0x0101021a, 0x00010001, 0x000d02c8, /* (r1!=1), r1=ysdm.dst_pas_buf_wait_empty, */
- 0x0101021b, 0x00010001, 0x000d02c9, /* (r1!=1), r1=ysdm.sh_delay_empty, */
- 0x0101021c, 0x00010001, 0x000d02ca, /* (r1!=1), r1=ysdm.cm_delay_empty, */
- 0x0101021d, 0x00010001, 0x000d02cb, /* (r1!=1), r1=ysdm.cmsg_que_empty, */
- 0x0101021e, 0x00010001, 0x000d02cc, /* (r1!=1), r1=ysdm.ccfc_load_pend_empty, */
- 0x0101021f, 0x00010001, 0x000d02cd, /* (r1!=1), r1=ysdm.tcfc_load_pend_empty, */
- 0x01010220, 0x00010001, 0x000d02ce, /* (r1!=1), r1=ysdm.async_host_empty, */
- 0x01010221, 0x00010001, 0x000d02cf, /* (r1!=1), r1=ysdm.prm_fifo_empty, */
- 0x00000222, 0x00010102, 0x000002d0, /* ((r1&~r2)!=0), r1=psdm.INT_STS, r2=psdm.INT_MASK, */
- 0x01010223, 0x00010001, 0x000002d3, /* (r1!=0), r1=psdm.qm_full, */
- 0x01010224, 0x00010001, 0x000002d4, /* (r1!=0), r1=psdm.rsp_brb_if_full, */
- 0x01010225, 0x00010001, 0x000002d5, /* (r1!=0), r1=psdm.rsp_pxp_if_full, */
- 0x01010226, 0x00010001, 0x000002d6, /* (r1!=0), r1=psdm.dst_pxp_if_full, */
- 0x01010227, 0x00010001, 0x000002d7, /* (r1!=0), r1=psdm.dst_int_ram_if_full, */
- 0x01010228, 0x00010001, 0x000002d8, /* (r1!=0), r1=psdm.dst_pas_buf_if_full, */
- 0x01010229, 0x00010001, 0x000d02d9, /* (r1!=1), r1=psdm.int_cmpl_pend_empty, */
- 0x0101022a, 0x00010001, 0x000d02da, /* (r1!=1), r1=psdm.int_cprm_pend_empty, */
- 0x0101022b, 0x00010001, 0x002c02db, /* (r1!=511), r1=psdm.queue_empty, */
- 0x0101022c, 0x00010001, 0x000d02dc, /* (r1!=1), r1=psdm.delay_fifo_empty, */
- 0x0101022d, 0x00010001, 0x000d02dd, /* (r1!=1), r1=psdm.rsp_pxp_rdata_empty, */
- 0x0101022e, 0x00010001, 0x000d02de, /* (r1!=1), r1=psdm.rsp_brb_rdata_empty, */
- 0x0101022f, 0x00010001, 0x000d02df, /* (r1!=1), r1=psdm.rsp_int_ram_rdata_empty, */
- 0x01010230, 0x00010001, 0x000d02e0, /* (r1!=1), r1=psdm.rsp_brb_pend_empty, */
- 0x01010231, 0x00010001, 0x000d02e1, /* (r1!=1), r1=psdm.rsp_int_ram_pend_empty, */
- 0x01010232, 0x00010001, 0x000d02e2, /* (r1!=1), r1=psdm.dst_pxp_immed_empty, */
- 0x01010233, 0x00010001, 0x000d02e3, /* (r1!=1), r1=psdm.dst_pxp_dst_pend_empty, */
- 0x01010234, 0x00010001, 0x000d02e4, /* (r1!=1), r1=psdm.dst_pxp_src_pend_empty, */
- 0x01010235, 0x00010001, 0x000d02e5, /* (r1!=1), r1=psdm.dst_brb_src_pend_empty, */
- 0x01010236, 0x00010001, 0x000d02e6, /* (r1!=1), r1=psdm.dst_brb_src_addr_empty, */
- 0x01010237, 0x00010001, 0x000d02e7, /* (r1!=1), r1=psdm.dst_pxp_link_empty, */
- 0x01010238, 0x00010001, 0x000d02e8, /* (r1!=1), r1=psdm.dst_int_ram_wait_empty, */
- 0x01010239, 0x00010001, 0x000d02e9, /* (r1!=1), r1=psdm.dst_pas_buf_wait_empty, */
- 0x0101023a, 0x00010001, 0x000d02ea, /* (r1!=1), r1=psdm.sh_delay_empty, */
- 0x0101023b, 0x00010001, 0x000d02eb, /* (r1!=1), r1=psdm.cm_delay_empty, */
- 0x0101023c, 0x00010001, 0x000d02ec, /* (r1!=1), r1=psdm.cmsg_que_empty, */
- 0x0101023d, 0x00010001, 0x000d02ed, /* (r1!=1), r1=psdm.ccfc_load_pend_empty, */
- 0x0101023e, 0x00010001, 0x000d02ee, /* (r1!=1), r1=psdm.tcfc_load_pend_empty, */
- 0x0101023f, 0x00010001, 0x000d02ef, /* (r1!=1), r1=psdm.async_host_empty, */
- 0x01010240, 0x00010001, 0x000d02f0, /* (r1!=1), r1=psdm.prm_fifo_empty, */
- 0x00000241, 0x00010102, 0x000002f1, /* ((r1&~r2)!=0), r1=tsdm.INT_STS, r2=tsdm.INT_MASK, */
- 0x01010242, 0x00010001, 0x000002f4, /* (r1!=0), r1=tsdm.qm_full, */
- 0x01010243, 0x00010001, 0x000002f5, /* (r1!=0), r1=tsdm.rsp_brb_if_full, */
- 0x01010244, 0x00010001, 0x000002f6, /* (r1!=0), r1=tsdm.rsp_pxp_if_full, */
- 0x01010245, 0x00010001, 0x000002f7, /* (r1!=0), r1=tsdm.dst_pxp_if_full, */
- 0x01010246, 0x00010001, 0x000002f8, /* (r1!=0), r1=tsdm.dst_int_ram_if_full, */
- 0x01010247, 0x00010001, 0x000002f9, /* (r1!=0), r1=tsdm.dst_pas_buf_if_full, */
- 0x01010248, 0x00010001, 0x000d02fa, /* (r1!=1), r1=tsdm.int_cmpl_pend_empty, */
- 0x01010249, 0x00010001, 0x000d02fb, /* (r1!=1), r1=tsdm.int_cprm_pend_empty, */
- 0x0101024a, 0x00010001, 0x002c02fc, /* (r1!=511), r1=tsdm.queue_empty, */
- 0x0101024b, 0x00010001, 0x000d02fd, /* (r1!=1), r1=tsdm.delay_fifo_empty, */
- 0x0101024c, 0x00010001, 0x000d02fe, /* (r1!=1), r1=tsdm.rsp_pxp_rdata_empty, */
- 0x0101024d, 0x00010001, 0x000d02ff, /* (r1!=1), r1=tsdm.rsp_brb_rdata_empty, */
- 0x0101024e, 0x00010001, 0x000d0300, /* (r1!=1), r1=tsdm.rsp_int_ram_rdata_empty, */
- 0x0101024f, 0x00010001, 0x000d0301, /* (r1!=1), r1=tsdm.rsp_brb_pend_empty, */
- 0x01010250, 0x00010001, 0x000d0302, /* (r1!=1), r1=tsdm.rsp_int_ram_pend_empty, */
- 0x01010251, 0x00010001, 0x000d0303, /* (r1!=1), r1=tsdm.dst_pxp_immed_empty, */
- 0x01010252, 0x00010001, 0x000d0304, /* (r1!=1), r1=tsdm.dst_pxp_dst_pend_empty, */
- 0x01010253, 0x00010001, 0x000d0305, /* (r1!=1), r1=tsdm.dst_pxp_src_pend_empty, */
- 0x01010254, 0x00010001, 0x000d0306, /* (r1!=1), r1=tsdm.dst_brb_src_pend_empty, */
- 0x01010255, 0x00010001, 0x000d0307, /* (r1!=1), r1=tsdm.dst_brb_src_addr_empty, */
- 0x01010256, 0x00010001, 0x000d0308, /* (r1!=1), r1=tsdm.dst_pxp_link_empty, */
- 0x01010257, 0x00010001, 0x000d0309, /* (r1!=1), r1=tsdm.dst_int_ram_wait_empty, */
- 0x01010258, 0x00010001, 0x000d030a, /* (r1!=1), r1=tsdm.dst_pas_buf_wait_empty, */
- 0x01010259, 0x00010001, 0x000d030b, /* (r1!=1), r1=tsdm.sh_delay_empty, */
- 0x0101025a, 0x00010001, 0x000d030c, /* (r1!=1), r1=tsdm.cm_delay_empty, */
- 0x0101025b, 0x00010001, 0x000d030d, /* (r1!=1), r1=tsdm.cmsg_que_empty, */
- 0x0101025c, 0x00010001, 0x000d030e, /* (r1!=1), r1=tsdm.ccfc_load_pend_empty, */
- 0x0101025d, 0x00010001, 0x000d030f, /* (r1!=1), r1=tsdm.tcfc_load_pend_empty, */
- 0x0101025e, 0x00010001, 0x000d0310, /* (r1!=1), r1=tsdm.async_host_empty, */
- 0x0101025f, 0x00010001, 0x000d0311, /* (r1!=1), r1=tsdm.prm_fifo_empty, */
- 0x00000260, 0x00010102, 0x00000312, /* ((r1&~r2)!=0), r1=msdm.INT_STS, r2=msdm.INT_MASK, */
- 0x01010261, 0x00010001, 0x00000315, /* (r1!=0), r1=msdm.qm_full, */
- 0x01010262, 0x00010001, 0x00000316, /* (r1!=0), r1=msdm.rsp_brb_if_full, */
- 0x01010263, 0x00010001, 0x00000317, /* (r1!=0), r1=msdm.rsp_pxp_if_full, */
- 0x01010264, 0x00010001, 0x00000318, /* (r1!=0), r1=msdm.dst_pxp_if_full, */
- 0x01010265, 0x00010001, 0x00000319, /* (r1!=0), r1=msdm.dst_int_ram_if_full, */
- 0x01010266, 0x00010001, 0x0000031a, /* (r1!=0), r1=msdm.dst_pas_buf_if_full, */
- 0x01010267, 0x00010001, 0x000d031b, /* (r1!=1), r1=msdm.int_cmpl_pend_empty, */
- 0x01010268, 0x00010001, 0x000d031c, /* (r1!=1), r1=msdm.int_cprm_pend_empty, */
- 0x01010269, 0x00010001, 0x002c031d, /* (r1!=511), r1=msdm.queue_empty, */
- 0x0101026a, 0x00010001, 0x000d031e, /* (r1!=1), r1=msdm.delay_fifo_empty, */
- 0x0101026b, 0x00010001, 0x000d031f, /* (r1!=1), r1=msdm.rsp_pxp_rdata_empty, */
- 0x0101026c, 0x00010001, 0x000d0320, /* (r1!=1), r1=msdm.rsp_brb_rdata_empty, */
- 0x0101026d, 0x00010001, 0x000d0321, /* (r1!=1), r1=msdm.rsp_int_ram_rdata_empty, */
- 0x0101026e, 0x00010001, 0x000d0322, /* (r1!=1), r1=msdm.rsp_brb_pend_empty, */
- 0x0101026f, 0x00010001, 0x000d0323, /* (r1!=1), r1=msdm.rsp_int_ram_pend_empty, */
- 0x01010270, 0x00010001, 0x000d0324, /* (r1!=1), r1=msdm.dst_pxp_immed_empty, */
- 0x01010271, 0x00010001, 0x000d0325, /* (r1!=1), r1=msdm.dst_pxp_dst_pend_empty, */
- 0x01010272, 0x00010001, 0x000d0326, /* (r1!=1), r1=msdm.dst_pxp_src_pend_empty, */
- 0x01010273, 0x00010001, 0x000d0327, /* (r1!=1), r1=msdm.dst_brb_src_pend_empty, */
- 0x01010274, 0x00010001, 0x000d0328, /* (r1!=1), r1=msdm.dst_brb_src_addr_empty, */
- 0x01010275, 0x00010001, 0x000d0329, /* (r1!=1), r1=msdm.dst_pxp_link_empty, */
- 0x01010276, 0x00010001, 0x000d032a, /* (r1!=1), r1=msdm.dst_int_ram_wait_empty, */
- 0x01010277, 0x00010001, 0x000d032b, /* (r1!=1), r1=msdm.dst_pas_buf_wait_empty, */
- 0x01010278, 0x00010001, 0x000d032c, /* (r1!=1), r1=msdm.sh_delay_empty, */
- 0x01010279, 0x00010001, 0x000d032d, /* (r1!=1), r1=msdm.cm_delay_empty, */
- 0x0101027a, 0x00010001, 0x000d032e, /* (r1!=1), r1=msdm.cmsg_que_empty, */
- 0x0101027b, 0x00010001, 0x000d032f, /* (r1!=1), r1=msdm.ccfc_load_pend_empty, */
- 0x0101027c, 0x00010001, 0x000d0330, /* (r1!=1), r1=msdm.tcfc_load_pend_empty, */
- 0x0101027d, 0x00010001, 0x000d0331, /* (r1!=1), r1=msdm.async_host_empty, */
- 0x0101027e, 0x00010001, 0x000d0332, /* (r1!=1), r1=msdm.prm_fifo_empty, */
- 0x0000027f, 0x00010102, 0x00000333, /* ((r1&~r2)!=0), r1=usdm.INT_STS, r2=usdm.INT_MASK, */
- 0x01010280, 0x00010001, 0x00000336, /* (r1!=0), r1=usdm.qm_full, */
- 0x01010281, 0x00010001, 0x00000337, /* (r1!=0), r1=usdm.rsp_brb_if_full, */
- 0x01010282, 0x00010001, 0x00000338, /* (r1!=0), r1=usdm.rsp_pxp_if_full, */
- 0x01010283, 0x00010001, 0x00000339, /* (r1!=0), r1=usdm.dst_pxp_if_full, */
- 0x01010284, 0x00010001, 0x0000033a, /* (r1!=0), r1=usdm.dst_int_ram_if_full, */
- 0x01010285, 0x00010001, 0x0000033b, /* (r1!=0), r1=usdm.dst_pas_buf_if_full, */
- 0x01010286, 0x00010001, 0x000d033c, /* (r1!=1), r1=usdm.int_cmpl_pend_empty, */
- 0x01010287, 0x00010001, 0x000d033d, /* (r1!=1), r1=usdm.int_cprm_pend_empty, */
- 0x01010288, 0x00010001, 0x002c033e, /* (r1!=511), r1=usdm.queue_empty, */
- 0x01010289, 0x00010001, 0x000d033f, /* (r1!=1), r1=usdm.delay_fifo_empty, */
- 0x0101028a, 0x00010001, 0x000d0340, /* (r1!=1), r1=usdm.rsp_pxp_rdata_empty, */
- 0x0101028b, 0x00010001, 0x000d0341, /* (r1!=1), r1=usdm.rsp_brb_rdata_empty, */
- 0x0101028c, 0x00010001, 0x000d0342, /* (r1!=1), r1=usdm.rsp_int_ram_rdata_empty, */
- 0x0101028d, 0x00010001, 0x000d0343, /* (r1!=1), r1=usdm.rsp_brb_pend_empty, */
- 0x0101028e, 0x00010001, 0x000d0344, /* (r1!=1), r1=usdm.rsp_int_ram_pend_empty, */
- 0x0101028f, 0x00010001, 0x000d0345, /* (r1!=1), r1=usdm.dst_pxp_immed_empty, */
- 0x01010290, 0x00010001, 0x000d0346, /* (r1!=1), r1=usdm.dst_pxp_dst_pend_empty, */
- 0x01010291, 0x00010001, 0x000d0347, /* (r1!=1), r1=usdm.dst_pxp_src_pend_empty, */
- 0x01010292, 0x00010001, 0x000d0348, /* (r1!=1), r1=usdm.dst_brb_src_pend_empty, */
- 0x01010293, 0x00010001, 0x000d0349, /* (r1!=1), r1=usdm.dst_brb_src_addr_empty, */
- 0x01010294, 0x00010001, 0x000d034a, /* (r1!=1), r1=usdm.dst_pxp_link_empty, */
- 0x01010295, 0x00010001, 0x000d034b, /* (r1!=1), r1=usdm.dst_int_ram_wait_empty, */
- 0x01010296, 0x00010001, 0x000d034c, /* (r1!=1), r1=usdm.dst_pas_buf_wait_empty, */
- 0x01010297, 0x00010001, 0x000d034d, /* (r1!=1), r1=usdm.sh_delay_empty, */
- 0x01010298, 0x00010001, 0x000d034e, /* (r1!=1), r1=usdm.cm_delay_empty, */
- 0x01010299, 0x00010001, 0x000d034f, /* (r1!=1), r1=usdm.cmsg_que_empty, */
- 0x0101029a, 0x00010001, 0x000d0350, /* (r1!=1), r1=usdm.ccfc_load_pend_empty, */
- 0x0101029b, 0x00010001, 0x000d0351, /* (r1!=1), r1=usdm.tcfc_load_pend_empty, */
- 0x0101029c, 0x00010001, 0x000d0352, /* (r1!=1), r1=usdm.async_host_empty, */
- 0x0101029d, 0x00010001, 0x000d0353, /* (r1!=1), r1=usdm.prm_fifo_empty, */
- 0x0000029e, 0x00010002, 0x00000354, /* ((r1&~r2)!=0), r1=xcm.INT_STS_0, r2=xcm.INT_MASK_0, */
- 0x0000029f, 0x00010002, 0x00000356, /* ((r1&~r2)!=0), r1=xcm.INT_STS_1, r2=xcm.INT_MASK_1, */
- 0x000002a0, 0x00010102, 0x00000358, /* ((r1&~r2)!=0), r1=xcm.INT_STS_2, r2=xcm.INT_MASK_2, */
- 0x010002a1, 0x00010001, 0x0000035b, /* (r1!=0), r1=xcm.fi_desc_input_violate, */
- 0x010102a2, 0x00010001, 0x0000035c, /* (r1!=0), r1=xcm.ia_agg_con_part_fill_lvl, */
- 0x010102a3, 0x00010001, 0x0000035d, /* (r1!=0), r1=xcm.ia_sm_con_part_fill_lvl, */
- 0x010102a4, 0x00010001, 0x0000035e, /* (r1!=0), r1=xcm.ia_trans_part_fill_lvl, */
- 0x010102a5, 0x00010001, 0x002d035f, /* (r1!=reset1), r1=xcm.xx_free_cnt, */
- 0x010102a6, 0x00010001, 0x00000360, /* (r1!=0), r1=xcm.xx_lcid_cam_fill_lvl, */
- 0x010102a7, 0x00010001, 0x00000361, /* (r1!=0), r1=xcm.xx_lock_cnt, */
- 0x010102a8, 0x00010001, 0x00000362, /* (r1!=0), r1=xcm.xx_cbyp_tbl_fill_lvl, */
- 0x010102a9, 0x00010001, 0x00000363, /* (r1!=0), r1=xcm.agg_con_fic_buf_fill_lvl, */
- 0x010102aa, 0x00010001, 0x00000364, /* (r1!=0), r1=xcm.sm_con_fic_buf_fill_lvl, */
- 0x010102ab, 0x00010001, 0x00000365, /* (r1!=0), r1=xcm.in_prcs_tbl_fill_lvl, */
- 0x010102ac, 0x00010001, 0x000d0366, /* (r1!=reset1), r1=xcm.ccfc_init_crd, */
- 0x010102ad, 0x00010001, 0x000a0367, /* (r1!=reset1), r1=xcm.qm_init_crd0, */
- 0x010102ae, 0x00010001, 0x000a0368, /* (r1!=reset1), r1=xcm.qm_init_crd1, */
- 0x010102af, 0x00010001, 0x00110369, /* (r1!=reset1), r1=xcm.tm_init_crd, */
- 0x010102b0, 0x00010001, 0x002e036a, /* (r1!=reset1), r1=xcm.fic_init_crd, */
- 0x010002b1, 0x00010001, 0x0000036b, /* (r1!=0), r1=xcm.xsdm_length_mis, */
- 0x010002b2, 0x00010001, 0x0000036c, /* (r1!=0), r1=xcm.ysdm_length_mis, */
- 0x010002b3, 0x00010001, 0x0000036d, /* (r1!=0), r1=xcm.dorq_length_mis, */
- 0x010002b4, 0x00010001, 0x0000036e, /* (r1!=0), r1=xcm.pbf_length_mis, */
- 0x010102b5, 0x00010001, 0x0000036f, /* (r1!=0), r1=xcm.is_qm_p_fill_lvl, */
- 0x010102b6, 0x00010001, 0x00000370, /* (r1!=0), r1=xcm.is_qm_s_fill_lvl, */
- 0x010102b7, 0x00010001, 0x00000371, /* (r1!=0), r1=xcm.is_tm_fill_lvl, */
- 0x010102b8, 0x00010001, 0x00000372, /* (r1!=0), r1=xcm.is_storm_fill_lvl, */
- 0x010102b9, 0x00010001, 0x00000373, /* (r1!=0), r1=xcm.is_xsdm_fill_lvl, */
- 0x010102ba, 0x00010001, 0x00000374, /* (r1!=0), r1=xcm.is_ysdm_fill_lvl, */
- 0x010102bb, 0x00010001, 0x00000375, /* (r1!=0), r1=xcm.is_msem_fill_lvl, */
- 0x010102bc, 0x00010001, 0x00000376, /* (r1!=0), r1=xcm.is_usem_fill_lvl, */
- 0x010102bd, 0x00010001, 0x00000377, /* (r1!=0), r1=xcm.is_dorq_fill_lvl, */
- 0x010102be, 0x00010001, 0x00000378, /* (r1!=0), r1=xcm.is_pbf_fill_lvl, */
- 0x000002bf, 0x00010002, 0x00000379, /* ((r1&~r2)!=0), r1=ycm.INT_STS_0, r2=ycm.INT_MASK_0, */
- 0x000002c0, 0x00010002, 0x0000037b, /* ((r1&~r2)!=0), r1=ycm.INT_STS_1, r2=ycm.INT_MASK_1, */
- 0x010002c1, 0x00010001, 0x0000037d, /* (r1!=0), r1=ycm.fi_desc_input_violate, */
- 0x010002c2, 0x00010001, 0x0000037e, /* (r1!=0), r1=ycm.se_desc_input_violate, */
- 0x010102c3, 0x00010001, 0x0000037f, /* (r1!=0), r1=ycm.ia_sm_con_part_fill_lvl, */
- 0x010102c4, 0x00010001, 0x00000380, /* (r1!=0), r1=ycm.ia_agg_task_part_fill_lvl, */
- 0x010102c5, 0x00010001, 0x00000381, /* (r1!=0), r1=ycm.ia_sm_task_part_fill_lvl, */
- 0x010102c6, 0x00010001, 0x00000382, /* (r1!=0), r1=ycm.ia_trans_part_fill_lvl, */
- 0x010102c7, 0x00010001, 0x002d0383, /* (r1!=reset1), r1=ycm.xx_free_cnt, */
- 0x010102c8, 0x00010001, 0x00000384, /* (r1!=0), r1=ycm.xx_lcid_cam_fill_lvl, */
- 0x010102c9, 0x00010001, 0x00000385, /* (r1!=0), r1=ycm.xx_lock_cnt, */
- 0x010102ca, 0x00010001, 0x00000386, /* (r1!=0), r1=ycm.xx_cbyp_tbl_fill_lvl, */
- 0x010102cb, 0x00010001, 0x00000387, /* (r1!=0), r1=ycm.xx_tbyp_tbl_fill_lvl, */
- 0x010102cc, 0x00010001, 0x00000388, /* (r1!=0), r1=ycm.xx_tbyp_tbl_fill_lvl, */
- 0x010102cd, 0x00010001, 0x00000389, /* (r1!=0), r1=ycm.sm_con_fic_buf_fill_lvl, */
- 0x010102ce, 0x00010001, 0x0000038a, /* (r1!=0), r1=ycm.agg_task_fic_buf_fill_lvl, */
- 0x010102cf, 0x00010001, 0x0000038b, /* (r1!=0), r1=ycm.sm_task_fic_buf_fill_lvl, */
- 0x010102d0, 0x00010001, 0x0000038c, /* (r1!=0), r1=ycm.in_prcs_tbl_fill_lvl, */
- 0x010102d1, 0x00010001, 0x000d038d, /* (r1!=reset1), r1=ycm.ccfc_init_crd, */
- 0x010102d2, 0x00010001, 0x000d038e, /* (r1!=reset1), r1=ycm.tcfc_init_crd, */
- 0x010102d3, 0x00010001, 0x000a038f, /* (r1!=reset1), r1=ycm.qm_init_crd0, */
- 0x010102d4, 0x00010001, 0x002f0390, /* (r1!=reset1), r1=ycm.fic_init_crd, */
- 0x010002d5, 0x00010001, 0x00000391, /* (r1!=0), r1=ycm.ysdm_length_mis, */
- 0x010002d6, 0x00010001, 0x00000392, /* (r1!=0), r1=ycm.pbf_length_mis, */
- 0x010002d7, 0x00010001, 0x00000393, /* (r1!=0), r1=ycm.xyld_length_mis, */
- 0x010102d8, 0x00010001, 0x00000394, /* (r1!=0), r1=ycm.is_qm_p_fill_lvl, */
- 0x010102d9, 0x00010001, 0x00000395, /* (r1!=0), r1=ycm.is_qm_s_fill_lvl, */
- 0x010102da, 0x00010001, 0x00000396, /* (r1!=0), r1=ycm.is_storm_fill_lvl, */
- 0x010102db, 0x00010001, 0x00000397, /* (r1!=0), r1=ycm.is_ysdm_fill_lvl, */
- 0x010102dc, 0x00010001, 0x00000398, /* (r1!=0), r1=ycm.is_xyld_fill_lvl, */
- 0x010102dd, 0x00010001, 0x00000399, /* (r1!=0), r1=ycm.is_msem_fill_lvl, */
- 0x010102de, 0x00010001, 0x0000039a, /* (r1!=0), r1=ycm.is_usem_fill_lvl, */
- 0x010102df, 0x00010001, 0x0000039b, /* (r1!=0), r1=ycm.is_pbf_fill_lvl, */
- 0x000002e0, 0x00010002, 0x0000039c, /* ((r1&~r2)!=0), r1=pcm.INT_STS_0, r2=pcm.INT_MASK_0, */
- 0x000002e1, 0x00010002, 0x0000039e, /* ((r1&~r2)!=0), r1=pcm.INT_STS_1, r2=pcm.INT_MASK_1, */
- 0x010002e2, 0x00010001, 0x000003a0, /* (r1!=0), r1=pcm.fi_desc_input_violate, */
- 0x010102e3, 0x00010001, 0x000003a1, /* (r1!=0), r1=pcm.ia_sm_con_part_fill_lvl, */
- 0x010102e4, 0x00010001, 0x000003a2, /* (r1!=0), r1=pcm.ia_trans_part_fill_lvl, */
- 0x010102e5, 0x00010001, 0x001103a3, /* (r1!=reset1), r1=pcm.xx_free_cnt, */
- 0x010102e6, 0x00010001, 0x000003a4, /* (r1!=0), r1=pcm.xx_lcid_cam_fill_lvl, */
- 0x010102e7, 0x00010001, 0x000003a5, /* (r1!=0), r1=pcm.xx_lock_cnt, */
- 0x010102e8, 0x00010001, 0x000003a6, /* (r1!=0), r1=pcm.sm_con_fic_buf_fill_lvl, */
- 0x010102e9, 0x00010001, 0x000003a7, /* (r1!=0), r1=pcm.in_prcs_tbl_fill_lvl, */
- 0x010102ea, 0x00010001, 0x000d03a8, /* (r1!=reset1), r1=pcm.ccfc_init_crd, */
- 0x010102eb, 0x00010001, 0x002e03a9, /* (r1!=reset1), r1=pcm.fic_init_crd, */
- 0x010102ec, 0x00010001, 0x000003aa, /* (r1!=0), r1=pcm.is_storm_fill_lvl, */
- 0x000002ed, 0x00010002, 0x000003ab, /* ((r1&~r2)!=0), r1=tcm.INT_STS_0, r2=tcm.INT_MASK_0, */
- 0x000002ee, 0x00010002, 0x000003ad, /* ((r1&~r2)!=0), r1=tcm.INT_STS_1, r2=tcm.INT_MASK_1, */
- 0x010002ef, 0x00010001, 0x000003af, /* (r1!=0), r1=tcm.fi_desc_input_violate, */
- 0x010002f0, 0x00010001, 0x000003b0, /* (r1!=0), r1=tcm.se_desc_input_violate, */
- 0x010102f1, 0x00010001, 0x000003b1, /* (r1!=0), r1=tcm.ia_agg_con_part_fill_lvl, */
- 0x010102f2, 0x00010001, 0x000003b2, /* (r1!=0), r1=tcm.ia_sm_con_part_fill_lvl, */
- 0x010102f3, 0x00010001, 0x000003b3, /* (r1!=0), r1=tcm.ia_agg_task_part_fill_lvl, */
- 0x010102f4, 0x00010001, 0x000003b4, /* (r1!=0), r1=tcm.ia_sm_task_part_fill_lvl, */
- 0x010102f5, 0x00010001, 0x000003b5, /* (r1!=0), r1=tcm.ia_trans_part_fill_lvl, */
- 0x010102f6, 0x00010001, 0x002d03b6, /* (r1!=reset1), r1=tcm.xx_free_cnt, */
- 0x010102f7, 0x00010001, 0x000003b7, /* (r1!=0), r1=tcm.xx_lcid_cam_fill_lvl, */
- 0x010102f8, 0x00010001, 0x000003b8, /* (r1!=0), r1=tcm.xx_lock_cnt, */
- 0x010102f9, 0x00010001, 0x000003b9, /* (r1!=0), r1=tcm.xx_cbyp_tbl_fill_lvl, */
- 0x010102fa, 0x00010001, 0x000003ba, /* (r1!=0), r1=tcm.xx_tbyp_tbl_fill_lvl, */
- 0x010102fb, 0x00010001, 0x000003bb, /* (r1!=0), r1=tcm.xx_tbyp_tbl_fill_lvl, */
- 0x010102fc, 0x00010001, 0x000003bc, /* (r1!=0), r1=tcm.agg_con_fic_buf_fill_lvl, */
- 0x010102fd, 0x00010001, 0x000003bd, /* (r1!=0), r1=tcm.sm_con_fic_buf_fill_lvl, */
- 0x010102fe, 0x00010001, 0x000003be, /* (r1!=0), r1=tcm.agg_task_fic_buf_fill_lvl, */
- 0x010102ff, 0x00010001, 0x000003bf, /* (r1!=0), r1=tcm.sm_task_fic_buf_fill_lvl, */
- 0x01010300, 0x00010001, 0x000003c0, /* (r1!=0), r1=tcm.in_prcs_tbl_fill_lvl, */
- 0x01010301, 0x00010001, 0x000d03c1, /* (r1!=reset1), r1=tcm.ccfc_init_crd, */
- 0x01010302, 0x00010001, 0x000d03c2, /* (r1!=reset1), r1=tcm.tcfc_init_crd, */
- 0x01010303, 0x00010001, 0x000a03c3, /* (r1!=reset1), r1=tcm.qm_init_crd0, */
- 0x01010304, 0x00010001, 0x001103c4, /* (r1!=reset1), r1=tcm.tm_init_crd, */
- 0x01010305, 0x00010001, 0x003003c5, /* (r1!=reset1), r1=tcm.fic_init_crd, */
- 0x01000306, 0x00010001, 0x000003c6, /* (r1!=0), r1=tcm.dorq_length_mis, */
- 0x01000307, 0x00010001, 0x000003c7, /* (r1!=0), r1=tcm.pbf_length_mis, */
- 0x01010308, 0x00010001, 0x000003c8, /* (r1!=0), r1=tcm.is_qm_p_fill_lvl, */
- 0x01010309, 0x00010001, 0x000003c9, /* (r1!=0), r1=tcm.is_qm_s_fill_lvl, */
- 0x0101030a, 0x00010001, 0x000003ca, /* (r1!=0), r1=tcm.is_tm_fill_lvl, */
- 0x0101030b, 0x00010001, 0x000003cb, /* (r1!=0), r1=tcm.is_storm_fill_lvl, */
- 0x0101030c, 0x00010001, 0x000003cc, /* (r1!=0), r1=tcm.is_msem_fill_lvl, */
- 0x0101030d, 0x00010001, 0x000003cd, /* (r1!=0), r1=tcm.is_dorq_fill_lvl, */
- 0x0101030e, 0x00010001, 0x000003ce, /* (r1!=0), r1=tcm.is_pbf_fill_lvl, */
- 0x0000030f, 0x00010002, 0x000003cf, /* ((r1&~r2)!=0), r1=mcm.INT_STS_0, r2=mcm.INT_MASK_0, */
- 0x00000310, 0x00010002, 0x000003d1, /* ((r1&~r2)!=0), r1=mcm.INT_STS_1, r2=mcm.INT_MASK_1, */
- 0x01000311, 0x00010001, 0x000003d3, /* (r1!=0), r1=mcm.fi_desc_input_violate, */
- 0x01000312, 0x00010001, 0x000003d4, /* (r1!=0), r1=mcm.se_desc_input_violate, */
- 0x01010313, 0x00010001, 0x000003d5, /* (r1!=0), r1=mcm.ia_agg_con_part_fill_lvl, */
- 0x01010314, 0x00010001, 0x000003d6, /* (r1!=0), r1=mcm.ia_sm_con_part_fill_lvl, */
- 0x01010315, 0x00010001, 0x000003d7, /* (r1!=0), r1=mcm.ia_agg_task_part_fill_lvl, */
- 0x01010316, 0x00010001, 0x000003d8, /* (r1!=0), r1=mcm.ia_sm_task_part_fill_lvl, */
- 0x01010317, 0x00010001, 0x000003d9, /* (r1!=0), r1=mcm.ia_trans_part_fill_lvl, */
- 0x01010318, 0x00010001, 0x002d03da, /* (r1!=reset1), r1=mcm.xx_free_cnt, */
- 0x01010319, 0x00010001, 0x000003db, /* (r1!=0), r1=mcm.xx_lcid_cam_fill_lvl, */
- 0x0101031a, 0x00010001, 0x000003dc, /* (r1!=0), r1=mcm.xx_lock_cnt, */
- 0x0101031b, 0x00010001, 0x000003dd, /* (r1!=0), r1=mcm.xx_cbyp_tbl_fill_lvl, */
- 0x0101031c, 0x00010001, 0x000003de, /* (r1!=0), r1=mcm.xx_tbyp_tbl_fill_lvl, */
- 0x0101031d, 0x00010001, 0x000003df, /* (r1!=0), r1=mcm.xx_tbyp_tbl_fill_lvl, */
- 0x0101031e, 0x00010001, 0x000003e0, /* (r1!=0), r1=mcm.agg_con_fic_buf_fill_lvl, */
- 0x0101031f, 0x00010001, 0x000003e1, /* (r1!=0), r1=mcm.sm_con_fic_buf_fill_lvl, */
- 0x01010320, 0x00010001, 0x000003e2, /* (r1!=0), r1=mcm.agg_task_fic_buf_fill_lvl, */
- 0x01010321, 0x00010001, 0x000003e3, /* (r1!=0), r1=mcm.sm_task_fic_buf_fill_lvl, */
- 0x01010322, 0x00010001, 0x000003e4, /* (r1!=0), r1=mcm.in_prcs_tbl_fill_lvl, */
- 0x01010323, 0x00010001, 0x000d03e5, /* (r1!=reset1), r1=mcm.ccfc_init_crd, */
- 0x01010324, 0x00010001, 0x000d03e6, /* (r1!=reset1), r1=mcm.tcfc_init_crd, */
- 0x01010325, 0x00010001, 0x000a03e7, /* (r1!=reset1), r1=mcm.qm_init_crd0, */
- 0x01010326, 0x00010001, 0x003003e8, /* (r1!=reset1), r1=mcm.fic_init_crd, */
- 0x01000327, 0x00010001, 0x000003e9, /* (r1!=0), r1=mcm.ysdm_length_mis, */
- 0x01000328, 0x00010001, 0x000003ea, /* (r1!=0), r1=mcm.usdm_length_mis, */
- 0x01000329, 0x00010001, 0x000003eb, /* (r1!=0), r1=mcm.pbf_length_mis, */
- 0x0100032a, 0x00010001, 0x000003ec, /* (r1!=0), r1=mcm.tmld_length_mis, */
- 0x0101032b, 0x00010001, 0x000003ed, /* (r1!=0), r1=mcm.is_qm_p_fill_lvl, */
- 0x0101032c, 0x00010001, 0x000003ee, /* (r1!=0), r1=mcm.is_qm_s_fill_lvl, */
- 0x0101032d, 0x00010001, 0x000003ef, /* (r1!=0), r1=mcm.is_storm_fill_lvl, */
- 0x0101032e, 0x00010001, 0x000003f0, /* (r1!=0), r1=mcm.is_ysdm_fill_lvl, */
- 0x0101032f, 0x00010001, 0x000003f1, /* (r1!=0), r1=mcm.is_usdm_fill_lvl, */
- 0x01010330, 0x00010001, 0x000003f2, /* (r1!=0), r1=mcm.is_tmld_fill_lvl, */
- 0x01010331, 0x00010001, 0x000003f3, /* (r1!=0), r1=mcm.is_usem_fill_lvl, */
- 0x01010332, 0x00010001, 0x000003f4, /* (r1!=0), r1=mcm.is_pbf_fill_lvl, */
- 0x00000333, 0x00010002, 0x000003f5, /* ((r1&~r2)!=0), r1=ucm.INT_STS_0, r2=ucm.INT_MASK_0, */
- 0x00000334, 0x00010002, 0x000003f7, /* ((r1&~r2)!=0), r1=ucm.INT_STS_1, r2=ucm.INT_MASK_1, */
- 0x01000335, 0x00010001, 0x000003f9, /* (r1!=0), r1=ucm.fi_desc_input_violate, */
- 0x01000336, 0x00010001, 0x000003fa, /* (r1!=0), r1=ucm.se_desc_input_violate, */
- 0x01010337, 0x00010001, 0x000003fb, /* (r1!=0), r1=ucm.ia_agg_con_part_fill_lvl, */
- 0x01010338, 0x00010001, 0x000003fc, /* (r1!=0), r1=ucm.ia_sm_con_part_fill_lvl, */
- 0x01010339, 0x00010001, 0x000003fd, /* (r1!=0), r1=ucm.ia_agg_task_part_fill_lvl, */
- 0x0101033a, 0x00010001, 0x000003fe, /* (r1!=0), r1=ucm.ia_sm_task_part_fill_lvl, */
- 0x0101033b, 0x00010001, 0x000003ff, /* (r1!=0), r1=ucm.ia_trans_part_fill_lvl, */
- 0x0101033c, 0x00010001, 0x002d0400, /* (r1!=reset1), r1=ucm.xx_free_cnt, */
- 0x0101033d, 0x00010001, 0x00000401, /* (r1!=0), r1=ucm.xx_lcid_cam_fill_lvl, */
- 0x0101033e, 0x00010001, 0x00000402, /* (r1!=0), r1=ucm.xx_lock_cnt, */
- 0x0101033f, 0x00010001, 0x00000403, /* (r1!=0), r1=ucm.xx_cbyp_tbl_fill_lvl, */
- 0x01010340, 0x00010001, 0x00000404, /* (r1!=0), r1=ucm.xx_tbyp_tbl_fill_lvl, */
- 0x01010341, 0x00010001, 0x00000405, /* (r1!=0), r1=ucm.xx_tbyp_tbl_fill_lvl, */
- 0x01010342, 0x00010001, 0x00000406, /* (r1!=0), r1=ucm.agg_con_fic_buf_fill_lvl, */
- 0x01010343, 0x00010001, 0x00000407, /* (r1!=0), r1=ucm.sm_con_fic_buf_fill_lvl, */
- 0x01010344, 0x00010001, 0x00000408, /* (r1!=0), r1=ucm.agg_task_fic_buf_fill_lvl, */
- 0x01010345, 0x00010001, 0x00000409, /* (r1!=0), r1=ucm.sm_task_fic_buf_fill_lvl, */
- 0x01010346, 0x00010001, 0x0000040a, /* (r1!=0), r1=ucm.in_prcs_tbl_fill_lvl, */
- 0x01010347, 0x00010001, 0x000d040b, /* (r1!=reset1), r1=ucm.ccfc_init_crd, */
- 0x01010348, 0x00010001, 0x000d040c, /* (r1!=reset1), r1=ucm.tcfc_init_crd, */
- 0x01010349, 0x00010001, 0x000a040d, /* (r1!=reset1), r1=ucm.qm_init_crd0, */
- 0x0101034a, 0x00010001, 0x0011040e, /* (r1!=reset1), r1=ucm.tm_init_crd, */
- 0x0101034b, 0x00010001, 0x002f040f, /* (r1!=reset1), r1=ucm.fic_init_crd, */
- 0x0100034c, 0x00010001, 0x00000410, /* (r1!=0), r1=ucm.ysdm_length_mis, */
- 0x0100034d, 0x00010001, 0x00000411, /* (r1!=0), r1=ucm.usdm_length_mis, */
- 0x0100034e, 0x00010001, 0x00000412, /* (r1!=0), r1=ucm.dorq_length_mis, */
- 0x0100034f, 0x00010001, 0x00000413, /* (r1!=0), r1=ucm.pbf_length_mis, */
- 0x01000350, 0x00010001, 0x00000414, /* (r1!=0), r1=ucm.rdif_length_mis, */
- 0x01000351, 0x00010001, 0x00000415, /* (r1!=0), r1=ucm.tdif_length_mis, */
- 0x01000352, 0x00010001, 0x00000416, /* (r1!=0), r1=ucm.muld_length_mis, */
- 0x01010353, 0x00010001, 0x00000417, /* (r1!=0), r1=ucm.is_qm_p_fill_lvl, */
- 0x01010354, 0x00010001, 0x00000418, /* (r1!=0), r1=ucm.is_qm_s_fill_lvl, */
- 0x01010355, 0x00010001, 0x00000419, /* (r1!=0), r1=ucm.is_tm_fill_lvl, */
- 0x01010356, 0x00010001, 0x0000041a, /* (r1!=0), r1=ucm.is_storm_fill_lvl, */
- 0x01010357, 0x00010001, 0x0000041b, /* (r1!=0), r1=ucm.is_ysdm_fill_lvl, */
- 0x01010358, 0x00010001, 0x0000041c, /* (r1!=0), r1=ucm.is_usdm_fill_lvl, */
- 0x01010359, 0x00010001, 0x0000041d, /* (r1!=0), r1=ucm.is_rdif_fill_lvl, */
- 0x0101035a, 0x00010001, 0x0000041e, /* (r1!=0), r1=ucm.is_tdif_fill_lvl, */
- 0x0101035b, 0x00010001, 0x0000041f, /* (r1!=0), r1=ucm.is_muld_fill_lvl, */
- 0x0101035c, 0x00010001, 0x00000420, /* (r1!=0), r1=ucm.is_dorq_fill_lvl, */
- 0x0101035d, 0x00010001, 0x00000421, /* (r1!=0), r1=ucm.is_pbf_fill_lvl, */
- 0x0000035e, 0x00010002, 0x00000422, /* ((r1&~r2)!=0), r1=xsem.INT_STS_0, r2=xsem.INT_MASK_0, */
- 0x0000035f, 0x00010002, 0x00000424, /* ((r1&~r2)!=0), r1=xsem.INT_STS_1, r2=xsem.INT_MASK_1, */
- 0x00000360, 0x00010002, 0x00000426, /* ((r1&~r2)!=0), r1=xsem.PRTY_STS, r2=xsem.PRTY_MASK, */
- 0x01020361, 0x00010001, 0x00000428, /* (r1!=0), r1=xsem.pf_err_vector, */
- 0x01010362, 0x00010001, 0x00310429, /* (r1!=0x3F), r1=xsem.foc_credit, */
- 0x01010363, 0x00010001, 0x0032042a, /* (r1!=0x1D), r1=xsem.foc_credit[1], */
- 0x01010364, 0x00010001, 0x000d042b, /* (r1!=1), r1=xsem.ext_pas_empty, */
- 0x01010365, 0x00010001, 0x000d042c, /* (r1!=1), r1=xsem.fic_empty[0:1], */
- 0x01010366, 0x00010001, 0x000d042d, /* (r1!=1), r1=xsem.slow_ext_store_empty, */
- 0x01010367, 0x00010001, 0x000d042e, /* (r1!=1), r1=xsem.slow_ext_load_empty, */
- 0x01010368, 0x00010001, 0x000d042f, /* (r1!=1), r1=xsem.slow_ram_rd_empty, */
- 0x01010369, 0x00010001, 0x000d0430, /* (r1!=1), r1=xsem.slow_ram_wr_empty, */
- 0x0101036a, 0x00010001, 0x000d0431, /* (r1!=1), r1=xsem.sync_dbg_empty, */
- 0x0101036b, 0x00010001, 0x00000432, /* (r1!=0), r1=xsem.ext_store_if_full, */
- 0x0101036c, 0x00010001, 0x00000433, /* (r1!=0), r1=xsem.ram_if_full, */
- 0x0000036d, 0x00010002, 0x00000434, /* ((r1&~r2)!=0), r1=ysem.INT_STS_0, r2=ysem.INT_MASK_0, */
- 0x0000036e, 0x00010002, 0x00000436, /* ((r1&~r2)!=0), r1=ysem.INT_STS_1, r2=ysem.INT_MASK_1, */
- 0x0000036f, 0x00010002, 0x00000438, /* ((r1&~r2)!=0), r1=ysem.PRTY_STS, r2=ysem.PRTY_MASK, */
- 0x01020370, 0x00010001, 0x0000043a, /* (r1!=0), r1=ysem.pf_err_vector, */
- 0x01010371, 0x00010001, 0x0033043b, /* (r1!=0x1A), r1=ysem.foc_credit[1], */
- 0x01010372, 0x00010001, 0x0034043c, /* (r1!=0xA), r1=ysem.foc_credit[2], */
- 0x01010373, 0x00010001, 0x0028043d, /* (r1!=0x7), r1=ysem.foc_credit[3], */
- 0x01010374, 0x00010001, 0x002e043e, /* (r1!=0x28), r1=ysem.foc_credit[5], */
- 0x01010375, 0x00010001, 0x0035043f, /* (r1!=0x26), r1=ysem.foc_credit[4], */
- 0x01010376, 0x00010001, 0x00360440, /* (r1!=0xE), r1=ysem.foc_credit, */
- 0x01010377, 0x00010001, 0x000d0441, /* (r1!=1), r1=ysem.ext_pas_empty, */
- 0x01010378, 0x00010001, 0x000d0442, /* (r1!=1), r1=ysem.fic_empty[0:1], */
- 0x01010379, 0x00010001, 0x000d0443, /* (r1!=1), r1=ysem.slow_ext_store_empty, */
- 0x0101037a, 0x00010001, 0x000d0444, /* (r1!=1), r1=ysem.slow_ext_load_empty, */
- 0x0101037b, 0x00010001, 0x000d0445, /* (r1!=1), r1=ysem.slow_ram_rd_empty, */
- 0x0101037c, 0x00010001, 0x000d0446, /* (r1!=1), r1=ysem.slow_ram_wr_empty, */
- 0x0101037d, 0x00010001, 0x000d0447, /* (r1!=1), r1=ysem.sync_dbg_empty, */
- 0x0101037e, 0x00010001, 0x00000448, /* (r1!=0), r1=ysem.ext_store_if_full, */
- 0x0101037f, 0x00010001, 0x00000449, /* (r1!=0), r1=ysem.ram_if_full, */
- 0x00000380, 0x00010002, 0x0000044a, /* ((r1&~r2)!=0), r1=psem.INT_STS_0, r2=psem.INT_MASK_0, */
- 0x00000381, 0x00010002, 0x0000044c, /* ((r1&~r2)!=0), r1=psem.INT_STS_1, r2=psem.INT_MASK_1, */
- 0x00000382, 0x00010002, 0x0000044e, /* ((r1&~r2)!=0), r1=psem.PRTY_STS, r2=psem.PRTY_MASK, */
- 0x01020383, 0x00010001, 0x00000450, /* (r1!=0), r1=psem.pf_err_vector, */
- 0x01010384, 0x00010001, 0x00370451, /* (r1!=0x17), r1=psem.foc_credit, */
- 0x01010385, 0x00010001, 0x002d0452, /* (r1!=0x40), r1=psem.foc_credit[1], */
- 0x01010386, 0x00010001, 0x000d0453, /* (r1!=1), r1=psem.ext_pas_empty, */
- 0x01010387, 0x00010001, 0x000d0454, /* (r1!=1), r1=psem.fic_empty, */
- 0x01010388, 0x00010001, 0x000d0455, /* (r1!=1), r1=psem.slow_ext_store_empty, */
- 0x01010389, 0x00010001, 0x000d0456, /* (r1!=1), r1=psem.slow_ext_load_empty, */
- 0x0101038a, 0x00010001, 0x000d0457, /* (r1!=1), r1=psem.slow_ram_rd_empty, */
- 0x0101038b, 0x00010001, 0x000d0458, /* (r1!=1), r1=psem.slow_ram_wr_empty, */
- 0x0101038c, 0x00010001, 0x000d0459, /* (r1!=1), r1=psem.sync_dbg_empty, */
- 0x0101038d, 0x00010001, 0x0000045a, /* (r1!=0), r1=psem.ext_store_if_full, */
- 0x0101038e, 0x00010001, 0x0000045b, /* (r1!=0), r1=psem.ram_if_full, */
- 0x0000038f, 0x00010002, 0x0000045c, /* ((r1&~r2)!=0), r1=tsem.INT_STS_0, r2=tsem.INT_MASK_0, */
- 0x00000390, 0x00010002, 0x0000045e, /* ((r1&~r2)!=0), r1=tsem.INT_STS_1, r2=tsem.INT_MASK_1, */
- 0x00000391, 0x00010002, 0x00000460, /* ((r1&~r2)!=0), r1=tsem.PRTY_STS, r2=tsem.PRTY_MASK, */
- 0x01020392, 0x00010001, 0x00000462, /* (r1!=0), r1=tsem.pf_err_vector, */
- 0x01010393, 0x00010001, 0x00380463, /* (r1!=0x3C), r1=tsem.foc_credit[1], */
- 0x01010394, 0x00010001, 0x00390464, /* (r1!=0x2C), r1=tsem.foc_credit, */
- 0x01010395, 0x00010001, 0x000d0465, /* (r1!=1), r1=tsem.ext_pas_empty, */
- 0x01010396, 0x00010001, 0x000d0466, /* (r1!=1), r1=tsem.fic_empty, */
- 0x01010397, 0x00010001, 0x000d0467, /* (r1!=1), r1=tsem.slow_ext_store_empty, */
- 0x01010398, 0x00010001, 0x000d0468, /* (r1!=1), r1=tsem.slow_ext_load_empty, */
- 0x01010399, 0x00010001, 0x000d0469, /* (r1!=1), r1=tsem.slow_ram_rd_empty, */
- 0x0101039a, 0x00010001, 0x000d046a, /* (r1!=1), r1=tsem.slow_ram_wr_empty, */
- 0x0101039b, 0x00010001, 0x000d046b, /* (r1!=1), r1=tsem.sync_dbg_empty, */
- 0x0101039c, 0x00010001, 0x0000046c, /* (r1!=0), r1=tsem.ext_store_if_full, */
- 0x0101039d, 0x00010001, 0x0000046d, /* (r1!=0), r1=tsem.ram_if_full, */
- 0x0000039e, 0x00010002, 0x0000046e, /* ((r1&~r2)!=0), r1=msem.INT_STS_0, r2=msem.INT_MASK_0, */
- 0x0000039f, 0x00010002, 0x00000470, /* ((r1&~r2)!=0), r1=msem.INT_STS_1, r2=msem.INT_MASK_1, */
- 0x000003a0, 0x00010002, 0x00000472, /* ((r1&~r2)!=0), r1=msem.PRTY_STS, r2=msem.PRTY_MASK, */
- 0x010203a1, 0x00010001, 0x00000474, /* (r1!=0), r1=msem.pf_err_vector, */
- 0x010103a2, 0x00010001, 0x00390475, /* (r1!=0x2C), r1=msem.foc_credit[1], */
- 0x010103a3, 0x00010001, 0x00090476, /* (r1!=0x5), r1=msem.foc_credit, */
- 0x010103a4, 0x00010001, 0x00280477, /* (r1!=0x7), r1=msem.foc_credit[4], */
- 0x010103a5, 0x00010001, 0x000f0478, /* (r1!=0x20), r1=msem.foc_credit[5], */
- 0x010103a6, 0x00010001, 0x001a0479, /* (r1!=0x11), r1=msem.foc_credit[3], */
- 0x010103a7, 0x00010001, 0x0037047a, /* (r1!=0x17), r1=msem.foc_credit[2], */
- 0x010103a8, 0x00010001, 0x000d047b, /* (r1!=1), r1=msem.ext_pas_empty, */
- 0x010103a9, 0x00010001, 0x000d047c, /* (r1!=1), r1=msem.fic_empty, */
- 0x010103aa, 0x00010001, 0x000d047d, /* (r1!=1), r1=msem.slow_ext_store_empty, */
- 0x010103ab, 0x00010001, 0x000d047e, /* (r1!=1), r1=msem.slow_ext_load_empty, */
- 0x010103ac, 0x00010001, 0x000d047f, /* (r1!=1), r1=msem.slow_ram_rd_empty, */
- 0x010103ad, 0x00010001, 0x000d0480, /* (r1!=1), r1=msem.slow_ram_wr_empty, */
- 0x010103ae, 0x00010001, 0x000d0481, /* (r1!=1), r1=msem.sync_dbg_empty, */
- 0x010103af, 0x00010001, 0x00000482, /* (r1!=0), r1=msem.ext_store_if_full, */
- 0x010103b0, 0x00010001, 0x00000483, /* (r1!=0), r1=msem.ram_if_full, */
- 0x000003b1, 0x00010002, 0x00000484, /* ((r1&~r2)!=0), r1=usem.INT_STS_0, r2=usem.INT_MASK_0, */
- 0x000003b2, 0x00010002, 0x00000486, /* ((r1&~r2)!=0), r1=usem.INT_STS_1, r2=usem.INT_MASK_1, */
- 0x000003b3, 0x00010002, 0x00000488, /* ((r1&~r2)!=0), r1=usem.PRTY_STS, r2=usem.PRTY_MASK, */
- 0x010203b4, 0x00010001, 0x0000048a, /* (r1!=0), r1=usem.pf_err_vector, */
- 0x010103b5, 0x00010001, 0x0034048b, /* (r1!=0xA), r1=usem.foc_credit[2], */
- 0x010103b6, 0x00010001, 0x0013048c, /* (r1!=0x3), r1=usem.foc_credit[3], */
- 0x010103b7, 0x00010001, 0x0009048d, /* (r1!=0x5), r1=usem.foc_credit, */
- 0x010103b8, 0x00010001, 0x003a048e, /* (r1!=0x32), r1=usem.foc_credit[1], */
- 0x010103b9, 0x00010001, 0x000f048f, /* (r1!=0x20), r1=usem.foc_credit[4], */
- 0x010103ba, 0x00010001, 0x000d0490, /* (r1!=1), r1=usem.ext_pas_empty, */
- 0x010103bb, 0x00010001, 0x000d0491, /* (r1!=1), r1=usem.fic_empty, */
- 0x010103bc, 0x00010001, 0x000d0492, /* (r1!=1), r1=usem.slow_ext_store_empty, */
- 0x010103bd, 0x00010001, 0x000d0493, /* (r1!=1), r1=usem.slow_ext_load_empty, */
- 0x010103be, 0x00010001, 0x000d0494, /* (r1!=1), r1=usem.slow_ram_rd_empty, */
- 0x010103bf, 0x00010001, 0x000d0495, /* (r1!=1), r1=usem.slow_ram_wr_empty, */
- 0x010103c0, 0x00010001, 0x000d0496, /* (r1!=1), r1=usem.sync_dbg_empty, */
- 0x010103c1, 0x00010001, 0x00000497, /* (r1!=0), r1=usem.ext_store_if_full, */
- 0x010103c2, 0x00010001, 0x00000498, /* (r1!=0), r1=usem.ram_if_full, */
- 0x009c0007, /* mode bb */
- 0x040003c3, 0x00020001, 0x003b0499, /* ((r1&~0x3f02)!=0), r1=pcie.PRTY_STS_H_0, */
- 0x010203c4, 0x00010001, 0x0000049a, /* (r1!=0), r1=igu.pending_bits_status[0:8], */
- 0x010103c5, 0x00010001, 0x0000049b, /* (r1!=0), r1=igu.write_done_pending[0:8], */
- 0x000003c6, 0x00010102, 0x0000049c, /* ((r1&~r2)!=0), r1=cnig.INT_STS, r2=cnig.INT_MASK, */
- 0x000003c7, 0x00010002, 0x0000049f, /* ((r1&~r2)!=0), r1=cnig.PRTY_STS, r2=cnig.PRTY_MASK, */
- 0x010203c8, 0x00010101, 0x000004a1, /* (r1!=0), r1=pswhst.vf_disabled_error_valid, */
- 0x010203c9, 0x00010001, 0x000004a3, /* (r1!=0), r1=pglue_b.flr_request_vf_223_192, */
- 0x010203ca, 0x00010001, 0x000004a4, /* (r1!=0), r1=pglue_b.flr_request_vf_255_224, */
- 0x010003cb, 0x00010001, 0x000004a5, /* (r1!=0), r1=pglue_b.incorrect_rcv_details, */
- 0x010203cc, 0x00010001, 0x000004a6, /* (r1!=0), r1=pglue_b.was_error_vf_223_192, */
- 0x010203cd, 0x00010001, 0x000004a7, /* (r1!=0), r1=pglue_b.was_error_vf_255_224, */
- 0x010203ce, 0x00010001, 0x001d04a8, /* (r1!=0xffffffff), r1=pglue_b.tags_159_128, */
- 0x010203cf, 0x00010001, 0x001d04a9, /* (r1!=0xffffffff), r1=pglue_b.tags_191_160, */
- 0x010203d0, 0x00010001, 0x001d04aa, /* (r1!=0xffffffff), r1=pglue_b.tags_223_192, */
- 0x010203d1, 0x00010001, 0x001d04ab, /* (r1!=0xffffffff), r1=pglue_b.tags_255_224, */
- 0x090103d2, 0x00060001, 0x003d04ac, /* ((r1[0]&0x3FFFFFC0)>>6)!=(((r1[0]&0xC0000000)>>30)|((r1[1]&0x3FFFFF)<<2)), r1=qm.PtrTblOther[0:63] width=2 access=WB, */
- 0x0a0103d3, 0x00030001, 0x004304ad, /* ((r1&0x30)>>4)!=(r1&0x03), r1=qm.PtrTblOther[0:63] width=2 access=WB, */
- 0x010003d4, 0x00010001, 0x000004ae, /* (r1!=0), r1=qm.QstatusTx_0[0:13], */
- 0x010003d5, 0x00010001, 0x000004af, /* (r1!=0), r1=qm.QstatusOther_0[0:1], */
- 0x0b0103d6, 0x00010003, 0x000004b0, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[16], r2=qm.VoqInitCrdLine[16], r3=misc.port_mode, */
- 0x0c0103d7, 0x00010003, 0x000004b3, /* (r1!=r2&&r3>0), r1=qm.VoqCrdLine[0:17], r2=qm.VoqInitCrdLine[0:17], r3=misc.port_mode, */
- 0x0b0103d8, 0x00010003, 0x000004b6, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[0:7], r2=qm.VoqInitCrdLine[0:7], r3=misc.port_mode, */
- 0x0b0103d9, 0x00010003, 0x000004b9, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[0:7], r2=qm.VoqInitCrdByte[0:7], r3=misc.port_mode, */
- 0x0b0103da, 0x00010003, 0x000004bc, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[16], r2=qm.VoqInitCrdByte[16], r3=misc.port_mode, */
- 0x0c0103db, 0x00010003, 0x000004bf, /* (r1!=r2&&r3>0), r1=qm.VoqCrdByte[0:17], r2=qm.VoqInitCrdByte[0:17], r3=misc.port_mode, */
- 0x090103dc, 0x00060001, 0x003d04c2, /* ((r1[0]&0x3FFFFFC0)>>6)!=(((r1[0]&0xC0000000)>>30)|((r1[1]&0x3FFFFF)<<2)), r1=qm.PtrTblTx[0:447] width=2 access=WB, */
- 0x0a0103dd, 0x00030001, 0x004304c3, /* ((r1&0x30)>>4)!=(r1&0x03), r1=qm.PtrTblTx[0:447] width=2 access=WB, */
- 0x010103de, 0x00010001, 0x002a04c4, /* (r1!=8190), r1=brb.wc_empty_0[0:3], */
- 0x010103df, 0x00010001, 0x001304c5, /* (r1!=reset1), r1=brb.rc_eop_empty, */
- 0x010103e0, 0x00010001, 0x000b04c6, /* (r1!=2), r1=brb.wc_status_0[0:3] width=3 access=WB, */
- 0x000003e1, 0x00010302, 0x000004c7, /* ((r1&~r2)!=0), r1=nig.PRTY_STS, r2=nig.PRTY_MASK, */
- 0x000003e2, 0x00010202, 0x000004cc, /* ((r1&~r2)!=0), r1=btb.INT_STS_0, r2=btb.INT_MASK_0, */
- 0x000003e3, 0x00010202, 0x000004d0, /* ((r1&~r2)!=0), r1=btb.INT_STS_4, r2=btb.INT_MASK_4, */
- 0x010003e4, 0x00010001, 0x000004d4, /* (r1!=0), r1=xcm.msdm_length_mis, */
- 0x010103e5, 0x00010001, 0x000004d5, /* (r1!=0), r1=xcm.is_msdm_fill_lvl, */
- 0x010103e6, 0x00010001, 0x000004d6, /* (r1!=0), r1=xcm.is_ysem_fill_lvl, */
- 0x010103e7, 0x00010001, 0x000004d7, /* (r1!=0), r1=xcm.qm_act_st_cnt[0:447], */
- 0x010003e8, 0x00010001, 0x000004d8, /* (r1!=0), r1=ycm.msdm_length_mis, */
- 0x010103e9, 0x00010001, 0x000004d9, /* (r1!=0), r1=ycm.is_msdm_fill_lvl, */
- 0x010003ea, 0x00010001, 0x000004da, /* (r1!=0), r1=pcm.psdm_length_mis, */
- 0x010103eb, 0x00010001, 0x000004db, /* (r1!=0), r1=pcm.is_psdm_fill_lvl, */
- 0x010003ec, 0x00010001, 0x000004dc, /* (r1!=0), r1=tcm.tsdm_length_mis, */
- 0x010103ed, 0x00010001, 0x000004dd, /* (r1!=0), r1=tcm.is_tsdm_fill_lvl, */
- 0x010003ee, 0x00010001, 0x000004de, /* (r1!=0), r1=mcm.msdm_length_mis, */
- 0x010103ef, 0x00010001, 0x000004df, /* (r1!=0), r1=mcm.is_msdm_fill_lvl, */
- 0x010103f0, 0x00010001, 0x000004e0, /* (r1!=0), r1=mcm.is_ysem_fill_lvl, */
- 0x010203f1, 0x00010001, 0x000004e1, /* (r1!=0), r1=xsem.vf_err_vector width=4 access=WB, */
- 0x010203f2, 0x00010001, 0x000004e2, /* (r1!=0), r1=ysem.vf_err_vector width=4 access=WB, */
- 0x010203f3, 0x00010001, 0x000004e3, /* (r1!=0), r1=psem.vf_err_vector width=4 access=WB, */
- 0x010203f4, 0x00010001, 0x000004e4, /* (r1!=0), r1=tsem.vf_err_vector width=4 access=WB, */
- 0x010203f5, 0x00010001, 0x000004e5, /* (r1!=0), r1=msem.vf_err_vector width=4 access=WB, */
- 0x010203f6, 0x00010001, 0x000004e6, /* (r1!=0), r1=usem.vf_err_vector width=4 access=WB, */
- 0x00540009, /* mode k2 */
- 0x000003f7, 0x00010002, 0x000004e7, /* ((r1&~r2)!=0), r1=pcie.PRTY_STS_H_0, r2=pcie.PRTY_MASK_H_0, */
- 0x010203f8, 0x00010001, 0x000004e9, /* (r1!=0), r1=igu.pending_bits_status[0:11], */
- 0x010103f9, 0x00010001, 0x000004ea, /* (r1!=0), r1=igu.write_done_pending[0:11], */
- 0x010203fa, 0x00010101, 0x000004eb, /* (r1!=0), r1=pswhst.vf_disabled_error_valid, */
- 0x010003fb, 0x00010001, 0x000004ed, /* (r1!=0), r1=qm.QstatusTx_0[0:15], */
- 0x010003fc, 0x00010001, 0x000004ee, /* (r1!=0), r1=qm.QstatusOther_0[0:3], */
- 0x0b0103fd, 0x00010003, 0x000004ef, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[0:7], r2=qm.VoqInitCrdLine[0:7], r3=misc.port_mode, */
- 0x0c0103fe, 0x00010003, 0x000004f2, /* (r1!=r2&&r3>0), r1=qm.VoqCrdLine[0:19], r2=qm.VoqInitCrdLine[0:19], r3=misc.port_mode, */
- 0x0b0103ff, 0x00010003, 0x000004f5, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[16], r2=qm.VoqInitCrdLine[16], r3=misc.port_mode, */
- 0x0b010400, 0x00010003, 0x000004f8, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[16], r2=qm.VoqInitCrdByte[16], r3=misc.port_mode, */
- 0x0c010401, 0x00010003, 0x000004fb, /* (r1!=r2&&r3>0), r1=qm.VoqCrdByte[0:19], r2=qm.VoqInitCrdByte[0:19], r3=misc.port_mode, */
- 0x0b010402, 0x00010003, 0x000004fe, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[0:7], r2=qm.VoqInitCrdByte[0:7], r3=misc.port_mode, */
- 0x01010403, 0x00010001, 0x002a0501, /* (r1!=8190), r1=brb.wc_empty_0[0:7], */
- 0x01010404, 0x00010001, 0x000b0502, /* (r1!=2), r1=brb.wc_status_0[0:7] width=3 access=WB, */
- 0x00000405, 0x00010202, 0x00000503, /* ((r1&~r2)!=0), r1=btb.INT_STS_0, r2=btb.INT_MASK_0, */
- 0x00000406, 0x00010202, 0x00000507, /* ((r1&~r2)!=0), r1=btb.INT_STS_4, r2=btb.INT_MASK_4, */
- 0x01000407, 0x00010001, 0x0000050b, /* (r1!=0), r1=xcm.msdm_length_mis, */
- 0x01010408, 0x00010001, 0x0000050c, /* (r1!=0), r1=xcm.is_msdm_fill_lvl, */
- 0x01010409, 0x00010001, 0x0000050d, /* (r1!=0), r1=xcm.is_ysem_fill_lvl, */
- 0x0100040a, 0x00010001, 0x0000050e, /* (r1!=0), r1=ycm.msdm_length_mis, */
- 0x0101040b, 0x00010001, 0x0000050f, /* (r1!=0), r1=ycm.is_msdm_fill_lvl, */
- 0x0100040c, 0x00010001, 0x00000510, /* (r1!=0), r1=pcm.psdm_length_mis, */
- 0x0101040d, 0x00010001, 0x00000511, /* (r1!=0), r1=pcm.is_psdm_fill_lvl, */
- 0x0100040e, 0x00010001, 0x00000512, /* (r1!=0), r1=tcm.tsdm_length_mis, */
- 0x0101040f, 0x00010001, 0x00000513, /* (r1!=0), r1=tcm.is_tsdm_fill_lvl, */
- 0x01000410, 0x00010001, 0x00000514, /* (r1!=0), r1=mcm.msdm_length_mis, */
- 0x01010411, 0x00010001, 0x00000515, /* (r1!=0), r1=mcm.is_msdm_fill_lvl, */
- 0x01010412, 0x00010001, 0x00000516, /* (r1!=0), r1=mcm.is_ysem_fill_lvl, */
- 0x00390021, /* mode asic */
- 0x03010413, 0x00000002, 0x00000517, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_7, r2=pswrq2.max_srs_vq7, */
- 0x03010414, 0x00000002, 0x00000519, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_8, r2=pswrq2.max_srs_vq8, */
- 0x03010415, 0x00000002, 0x0000051b, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_10, r2=pswrq2.max_srs_vq10, */
- 0x03010416, 0x00000002, 0x0000051d, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_13, r2=pswrq2.max_srs_vq13, */
- 0x03010417, 0x00000002, 0x0000051f, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_14, r2=pswrq2.max_srs_vq14, */
- 0x03010418, 0x00000002, 0x00000521, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_20, r2=pswrq2.max_srs_vq20, */
- 0x03010419, 0x00000002, 0x00000523, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_25, r2=pswrq2.max_srs_vq25, */
- 0x0301041a, 0x00000002, 0x00000525, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_27, r2=pswrq2.max_srs_vq27, */
- 0x0301041b, 0x00000002, 0x00000527, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_31, r2=pswrq2.max_srs_vq31, */
- 0x0301041c, 0x00000002, 0x00000529, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_7, r2=pswrq2.max_blks_vq7, */
- 0x0301041d, 0x00000002, 0x0000052b, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_8, r2=pswrq2.max_blks_vq8, */
- 0x0301041e, 0x00000002, 0x0000052d, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_10, r2=pswrq2.max_blks_vq10, */
- 0x0301041f, 0x00000002, 0x0000052f, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_13, r2=pswrq2.max_blks_vq13, */
- 0x03010420, 0x00000002, 0x00000531, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_14, r2=pswrq2.max_blks_vq14, */
- 0x03010421, 0x00000002, 0x00000533, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_20, r2=pswrq2.max_blks_vq20, */
- 0x03010422, 0x00000002, 0x00000535, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_25, r2=pswrq2.max_blks_vq25, */
- 0x03010423, 0x00000002, 0x00000537, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_27, r2=pswrq2.max_blks_vq27, */
- 0x03010424, 0x00000002, 0x00000539, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_31, r2=pswrq2.max_blks_vq31, */
- 0x0d020425, 0x00010001, 0x0046053b, /* (r1&0x3E1), r1=tm.INT_STS_1, */
+ 0x00000034, 0x00010002, 0x00000046, /* ((r1&~r2)!=0), r1=dmae.PRTY_STS_H_0, r2=dmae.PRTY_MASK_H_0, */
+ 0x00000035, 0x00010002, 0x00000048, /* ((r1&~r2)!=0), r1=dbg.PRTY_STS_H_0, r2=dbg.PRTY_MASK_H_0, */
+ 0x01020036, 0x00010001, 0x0000004a, /* (r1!=0), r1=grc.trace_fifo_valid_data, */
+ 0x00000037, 0x00010002, 0x0000004b, /* ((r1&~r2)!=0), r1=grc.INT_STS_0, r2=grc.INT_MASK_0, */
+ 0x00000038, 0x00010002, 0x0000004d, /* ((r1&~r2)!=0), r1=grc.PRTY_STS_H_0, r2=grc.PRTY_MASK_H_0, */
+ 0x00000039, 0x00010002, 0x0000004f, /* ((r1&~r2)!=0), r1=dorq.INT_STS, r2=dorq.INT_MASK, */
+ 0x0000003a, 0x00010002, 0x00000051, /* ((r1&~r2)!=0), r1=dorq.PRTY_STS_H_0, r2=dorq.PRTY_MASK_H_0, */
+ 0x0100003b, 0x00010001, 0x00090053, /* (r1!=reset1), r1=dorq.xcm_msg_init_crd, */
+ 0x0100003c, 0x00010001, 0x00090054, /* (r1!=reset1), r1=dorq.tcm_msg_init_crd, */
+ 0x0100003d, 0x00010001, 0x00090055, /* (r1!=reset1), r1=dorq.ucm_msg_init_crd, */
+ 0x0100003e, 0x00010001, 0x000a0056, /* (r1!=reset1), r1=dorq.pbf_cmd_init_crd, */
+ 0x0100003f, 0x00010001, 0x00000057, /* (r1!=0), r1=dorq.pf_usage_cnt, */
+ 0x01000040, 0x00010001, 0x00000058, /* (r1!=0), r1=dorq.vf_usage_cnt, */
+ 0x01000041, 0x00010001, 0x00000059, /* (r1!=0), r1=dorq.cfc_ld_req_fifo_fill_lvl, */
+ 0x01000042, 0x00010001, 0x0000005a, /* (r1!=0), r1=dorq.dorq_fifo_fill_lvl, */
+ 0x01020043, 0x00010201, 0x0000005b, /* (r1!=0), r1=dorq.db_drop_cnt, */
+ 0x01020044, 0x00010201, 0x0000005e, /* (r1!=0), r1=dorq.dpm_abort_cnt, */
+ 0x01000045, 0x00010001, 0x00000061, /* (r1!=0), r1=dorq.dpm_tbl_fill_lvl, */
+ 0x00000046, 0x00010002, 0x00000062, /* ((r1&~r2)!=0), r1=igu.PRTY_STS, r2=igu.PRTY_MASK, */
+ 0x00000047, 0x00010002, 0x00000064, /* ((r1&~r2)!=0), r1=igu.PRTY_STS_H_0, r2=igu.PRTY_MASK_H_0, */
+ 0x01010048, 0x00010001, 0x00000066, /* (r1!=0), r1=igu.attn_write_done_pending, */
+ 0x01020049, 0x00010001, 0x00000067, /* (r1!=0), r1=igu.Interrupt_status, */
+ 0x0100004a, 0x00010001, 0x00000068, /* (r1!=0), r1=igu.error_handling_data_valid, */
+ 0x0100004b, 0x00010001, 0x00000069, /* (r1!=0), r1=igu.silent_drop, */
+ 0x0102004c, 0x00010001, 0x0000006a, /* (r1!=0), r1=igu.sb_ctrl_fsm, */
+ 0x0102004d, 0x00010001, 0x0000006b, /* (r1!=0), r1=igu.int_handle_fsm, */
+ 0x0402004e, 0x00020001, 0x000b006c, /* ((r1&~0x2)!=0), r1=igu.attn_fsm, */
+ 0x0402004f, 0x00020001, 0x000d006d, /* ((r1&~0x1)!=0), r1=igu.ctrl_fsm, */
+ 0x04020050, 0x00020001, 0x000d006e, /* ((r1&~0x1)!=0), r1=igu.pxp_arb_fsm, */
+ 0x00000051, 0x00010002, 0x0000006f, /* ((r1&~r2)!=0), r1=cau.PRTY_STS_H_0, r2=cau.PRTY_MASK_H_0, */
+ 0x01010052, 0x00010001, 0x000d0071, /* (r1!=1), r1=cau.igu_req_credit_status, */
+ 0x01010053, 0x00010001, 0x000d0072, /* (r1!=1), r1=cau.igu_cmd_credit_status, */
+ 0x01010054, 0x00010001, 0x00000073, /* (r1!=0), r1=cau.debug_fifo_status, */
+ 0x01000055, 0x00010001, 0x00000074, /* (r1!=0), r1=cau.error_pxp_req, */
+ 0x01000056, 0x00010101, 0x00000075, /* (r1!=0), r1=cau.error_fsm_line, */
+ 0x01000057, 0x00010001, 0x00000077, /* (r1!=0), r1=cau.parity_latch_status, */
+ 0x01000058, 0x00010001, 0x00000078, /* (r1!=0), r1=cau.error_cleanup_cmd_reg, */
+ 0x03010059, 0x00000002, 0x00000079, /* (r1!=r2), r1=cau.req_counter, r2=cau.ack_counter, */
+ 0x0301005a, 0x00000002, 0x0000007b, /* (r1!=r2), r1=cau.req_counter, r2=cau.wdone_counter, */
+ 0x0102005b, 0x00010001, 0x0000007d, /* (r1!=0), r1=cau.main_fsm_status, */
+ 0x0102005c, 0x00010001, 0x0000007e, /* (r1!=0), r1=cau.var_read_fsm_status, */
+ 0x0102005d, 0x00010001, 0x0000007f, /* (r1!=0), r1=cau.igu_dma_fsm_status, */
+ 0x0000005e, 0x00010302, 0x00000080, /* ((r1&~r2)!=0), r1=prs.INT_STS_0, r2=prs.INT_MASK_0, */
+ 0x0000005f, 0x00010002, 0x00000085, /* ((r1&~r2)!=0), r1=prs.PRTY_STS, r2=prs.PRTY_MASK, */
+ 0x00000060, 0x00010002, 0x00000087, /* ((r1&~r2)!=0), r1=prs.PRTY_STS_H_0, r2=prs.PRTY_MASK_H_0, */
+ 0x01010061, 0x00010001, 0x00000089, /* (r1!=0), r1=prs.queue_pkt_avail_status, */
+ 0x01010062, 0x00010001, 0x0000008a, /* (r1!=0), r1=prs.storm_bkprs_status, */
+ 0x01010063, 0x00010001, 0x0000008b, /* (r1!=0), r1=prs.stop_parsing_status, */
+ 0x01010064, 0x00010001, 0x0000008c, /* (r1!=0), r1=prs.ccfc_search_current_credit, */
+ 0x01010065, 0x00010001, 0x0000008d, /* (r1!=0), r1=prs.tcfc_search_current_credit, */
+ 0x01010066, 0x00010001, 0x0000008e, /* (r1!=0), r1=prs.ccfc_load_current_credit, */
+ 0x01010067, 0x00010001, 0x0000008f, /* (r1!=0), r1=prs.tcfc_load_current_credit, */
+ 0x01010068, 0x00010001, 0x00000090, /* (r1!=0), r1=prs.ccfc_search_req_ct, */
+ 0x01010069, 0x00010001, 0x00000091, /* (r1!=0), r1=prs.tcfc_search_req_ct, */
+ 0x0101006a, 0x00010001, 0x00000092, /* (r1!=0), r1=prs.ccfc_load_req_ct, */
+ 0x0101006b, 0x00010001, 0x00000093, /* (r1!=0), r1=prs.tcfc_load_req_ct, */
+ 0x0101006c, 0x00010001, 0x00000094, /* (r1!=0), r1=prs.sop_req_ct, */
+ 0x0101006d, 0x00010001, 0x00000095, /* (r1!=0), r1=prs.eop_req_ct, */
+ 0x0000006e, 0x00010002, 0x00000096, /* ((r1&~r2)!=0), r1=prm.INT_STS, r2=prm.INT_MASK, */
+ 0x0000006f, 0x00010002, 0x00000098, /* ((r1&~r2)!=0), r1=prm.PRTY_STS_H_0, r2=prm.PRTY_MASK_H_0, */
+ 0x01000070, 0x00010001, 0x000d009a, /* (r1!=1), r1=rss.rss_init_done, */
+ 0x00000071, 0x00010002, 0x0000009b, /* ((r1&~r2)!=0), r1=rss.INT_STS, r2=rss.INT_MASK, */
+ 0x00000072, 0x00010002, 0x0000009d, /* ((r1&~r2)!=0), r1=rss.PRTY_STS_H_0, r2=rss.PRTY_MASK_H_0, */
+ 0x01010073, 0x00010001, 0x000f009f, /* (r1!=0x20), r1=rss.tmld_credit, */
+ 0x01000074, 0x00010001, 0x000d00a0, /* (r1!=1), r1=pswrq2.rbc_done, */
+ 0x01000075, 0x00010001, 0x000d00a1, /* (r1!=1), r1=pswrq2.cfg_done, */
+ 0x00020076, 0x00010002, 0x000000a2, /* ((r1&~r2)!=0), r1=pswrq2.INT_STS, r2=pswrq2.INT_MASK, */
+ 0x00000077, 0x00010002, 0x000000a4, /* ((r1&~r2)!=0), r1=pswrq2.PRTY_STS_H_0, r2=pswrq2.PRTY_MASK_H_0, */
+ 0x01010078, 0x00010001, 0x000000a6, /* (r1!=0), r1=pswrq2.vq0_entry_cnt[0:31], */
+ 0x01000079, 0x00010001, 0x001000a7, /* (r1!=0xb7), r1=pswrq2.BW_CREDIT, */
+ 0x0101007a, 0x00010001, 0x000000a8, /* (r1!=0), r1=pswrq2.treq_fifo_fill_lvl, */
+ 0x0101007b, 0x00010001, 0x000000a9, /* (r1!=0), r1=pswrq2.icpl_fifo_fill_lvl, */
+ 0x0100007c, 0x00010001, 0x000000aa, /* (r1!=0), r1=pswrq2.l2p_err_add_31_0, */
+ 0x0100007d, 0x00010001, 0x000000ab, /* (r1!=0), r1=pswrq2.l2p_err_add_63_32, */
+ 0x0100007e, 0x00010001, 0x000000ac, /* (r1!=0), r1=pswrq2.l2p_err_details, */
+ 0x0100007f, 0x00010001, 0x000000ad, /* (r1!=0), r1=pswrq2.l2p_err_details2, */
+ 0x08010080, 0x00010002, 0x001100ae, /* (r1<(r2-4)), r1=pswrq2.sr_cnt, r2=pswrq2.sr_num_cfg, */
+ 0x03010081, 0x00000002, 0x000000b0, /* (r1!=r2), r1=pswrq2.sr_cnt, r2=pswrq2.sr_num_cfg, */
+ 0x03010082, 0x00000002, 0x000000b2, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_0, r2=pswrq2.max_srs_vq0, */
+ 0x03010083, 0x00000002, 0x000000b4, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_1, r2=pswrq2.max_srs_vq1, */
+ 0x03010084, 0x00000002, 0x000000b6, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_2, r2=pswrq2.max_srs_vq2, */
+ 0x03010085, 0x00000002, 0x000000b8, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_3, r2=pswrq2.max_srs_vq3, */
+ 0x03010086, 0x00000002, 0x000000ba, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_4, r2=pswrq2.max_srs_vq4, */
+ 0x03010087, 0x00000002, 0x000000bc, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_5, r2=pswrq2.max_srs_vq5, */
+ 0x03010088, 0x00000002, 0x000000be, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_6, r2=pswrq2.max_srs_vq6, */
+ 0x03010089, 0x00000002, 0x000000c0, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_9, r2=pswrq2.max_srs_vq9, */
+ 0x0301008a, 0x00000002, 0x000000c2, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_11, r2=pswrq2.max_srs_vq11, */
+ 0x0301008b, 0x00000002, 0x000000c4, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_12, r2=pswrq2.max_srs_vq12, */
+ 0x0301008c, 0x00000002, 0x000000c6, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_15, r2=pswrq2.max_srs_vq15, */
+ 0x0301008d, 0x00000002, 0x000000c8, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_16, r2=pswrq2.max_srs_vq16, */
+ 0x0301008e, 0x00000002, 0x000000ca, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_17, r2=pswrq2.max_srs_vq17, */
+ 0x0301008f, 0x00000002, 0x000000cc, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_18, r2=pswrq2.max_srs_vq18, */
+ 0x03010090, 0x00000002, 0x000000ce, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_19, r2=pswrq2.max_srs_vq19, */
+ 0x03010091, 0x00000002, 0x000000d0, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_21, r2=pswrq2.max_srs_vq21, */
+ 0x03010092, 0x00000002, 0x000000d2, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_22, r2=pswrq2.max_srs_vq22, */
+ 0x03010093, 0x00000002, 0x000000d4, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_23, r2=pswrq2.max_srs_vq23, */
+ 0x03010094, 0x00000002, 0x000000d6, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_24, r2=pswrq2.max_srs_vq24, */
+ 0x03010095, 0x00000002, 0x000000d8, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_26, r2=pswrq2.max_srs_vq26, */
+ 0x03010096, 0x00000002, 0x000000da, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_28, r2=pswrq2.max_srs_vq28, */
+ 0x03010097, 0x00000002, 0x000000dc, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_29, r2=pswrq2.max_srs_vq29, */
+ 0x03010098, 0x00000002, 0x000000de, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_30, r2=pswrq2.max_srs_vq30, */
+ 0x08010099, 0x00010002, 0x001200e0, /* (r1<(r2-8)), r1=pswrq2.blk_cnt, r2=pswrq2.blk_num_cfg, */
+ 0x0301009a, 0x00000002, 0x000000e2, /* (r1!=r2), r1=pswrq2.blk_cnt, r2=pswrq2.blk_num_cfg, */
+ 0x0301009b, 0x00000002, 0x000000e4, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_0, r2=pswrq2.max_blks_vq0, */
+ 0x0301009c, 0x00000002, 0x000000e6, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_1, r2=pswrq2.max_blks_vq1, */
+ 0x0301009d, 0x00000002, 0x000000e8, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_2, r2=pswrq2.max_blks_vq2, */
+ 0x0301009e, 0x00000002, 0x000000ea, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_3, r2=pswrq2.max_blks_vq3, */
+ 0x0301009f, 0x00000002, 0x000000ec, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_4, r2=pswrq2.max_blks_vq4, */
+ 0x030100a0, 0x00000002, 0x000000ee, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_5, r2=pswrq2.max_blks_vq5, */
+ 0x030100a1, 0x00000002, 0x000000f0, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_6, r2=pswrq2.max_blks_vq6, */
+ 0x030100a2, 0x00000002, 0x000000f2, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_9, r2=pswrq2.max_blks_vq9, */
+ 0x030100a3, 0x00000002, 0x000000f4, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_11, r2=pswrq2.max_blks_vq11, */
+ 0x030100a4, 0x00000002, 0x000000f6, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_12, r2=pswrq2.max_blks_vq12, */
+ 0x030100a5, 0x00000002, 0x000000f8, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_15, r2=pswrq2.max_blks_vq15, */
+ 0x030100a6, 0x00000002, 0x000000fa, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_16, r2=pswrq2.max_blks_vq16, */
+ 0x030100a7, 0x00000002, 0x000000fc, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_17, r2=pswrq2.max_blks_vq17, */
+ 0x030100a8, 0x00000002, 0x000000fe, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_18, r2=pswrq2.max_blks_vq18, */
+ 0x030100a9, 0x00000002, 0x00000100, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_19, r2=pswrq2.max_blks_vq19, */
+ 0x030100aa, 0x00000002, 0x00000102, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_21, r2=pswrq2.max_blks_vq21, */
+ 0x030100ab, 0x00000002, 0x00000104, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_22, r2=pswrq2.max_blks_vq22, */
+ 0x030100ac, 0x00000002, 0x00000106, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_23, r2=pswrq2.max_blks_vq23, */
+ 0x030100ad, 0x00000002, 0x00000108, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_24, r2=pswrq2.max_blks_vq24, */
+ 0x030100ae, 0x00000002, 0x0000010a, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_26, r2=pswrq2.max_blks_vq26, */
+ 0x030100af, 0x00000002, 0x0000010c, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_28, r2=pswrq2.max_blks_vq28, */
+ 0x030100b0, 0x00000002, 0x0000010e, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_29, r2=pswrq2.max_blks_vq29, */
+ 0x030100b1, 0x00000002, 0x00000110, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_30, r2=pswrq2.max_blks_vq30, */
+ 0x010000b2, 0x00010001, 0x00000112, /* (r1!=0), r1=pswrq2.l2p_close_gate_sts, */
+ 0x010000b3, 0x00010001, 0x00000113, /* (r1!=0), r1=pswrq2.misc_close_gate_sts, */
+ 0x010200b4, 0x00010001, 0x00000114, /* (r1!=0), r1=pswrq2.misc_stall_mem_sts, */
+ 0x000200b5, 0x00010002, 0x00000115, /* ((r1&~r2)!=0), r1=pswrq.INT_STS, r2=pswrq.INT_MASK, */
+ 0x000200b6, 0x00010002, 0x00000117, /* ((r1&~r2)!=0), r1=pswwr.INT_STS, r2=pswwr.INT_MASK, */
+ 0x010000b7, 0x00010001, 0x00000119, /* (r1!=0), r1=pswwr2.pglue_eop_err_details, */
+ 0x010100b8, 0x00010001, 0x0000011a, /* (r1!=0), r1=pswwr2.prm_curr_fill_level, */
+ 0x010100b9, 0x00010001, 0x0000011b, /* (r1!=0), r1=pswwr2.cdu_curr_fill_level, */
+ 0x000200ba, 0x00010002, 0x0000011c, /* ((r1&~r2)!=0), r1=pswwr2.INT_STS, r2=pswwr2.INT_MASK, */
+ 0x000000bb, 0x00010002, 0x0000011e, /* ((r1&~r2)!=0), r1=pswwr2.PRTY_STS_H_0, r2=pswwr2.PRTY_MASK_H_0, */
+ 0x000000bc, 0x00010002, 0x00000120, /* ((r1&~r2)!=0), r1=pswwr2.PRTY_STS_H_1, r2=pswwr2.PRTY_MASK_H_1, */
+ 0x000000bd, 0x00010002, 0x00000122, /* ((r1&~r2)!=0), r1=pswwr2.PRTY_STS_H_2, r2=pswwr2.PRTY_MASK_H_2, */
+ 0x000000be, 0x00010002, 0x00000124, /* ((r1&~r2)!=0), r1=pswwr2.PRTY_STS_H_3, r2=pswwr2.PRTY_MASK_H_3, */
+ 0x010000bf, 0x00010001, 0x00000126, /* (r1!=0), r1=pswrd.fifo_full_status, */
+ 0x000200c0, 0x00010002, 0x00000127, /* ((r1&~r2)!=0), r1=pswrd.INT_STS, r2=pswrd.INT_MASK, */
+ 0x010000c1, 0x00010001, 0x000d0129, /* (r1!=1), r1=pswrd2.start_init, */
+ 0x010000c2, 0x00010001, 0x000d012a, /* (r1!=1), r1=pswrd2.init_done, */
+ 0x010200c3, 0x00010001, 0x0000012b, /* (r1!=0), r1=pswrd2.cpl_err_details, */
+ 0x010200c4, 0x00010001, 0x0000012c, /* (r1!=0), r1=pswrd2.cpl_err_details2, */
+ 0x010100c5, 0x00010001, 0x000d012d, /* (r1!=1), r1=pswrd2.port_is_idle_0, */
+ 0x010100c6, 0x00010001, 0x000d012e, /* (r1!=1), r1=pswrd2.port_is_idle_1, */
+ 0x010000c7, 0x00010001, 0x0000012f, /* (r1!=0), r1=pswrd2.almost_full_0[0:14], */
+ 0x000200c8, 0x00010002, 0x00000130, /* ((r1&~r2)!=0), r1=pswrd2.INT_STS, r2=pswrd2.INT_MASK, */
+ 0x000000c9, 0x00010002, 0x00000132, /* ((r1&~r2)!=0), r1=pswrd2.PRTY_STS_H_0, r2=pswrd2.PRTY_MASK_H_0, */
+ 0x000000ca, 0x00010002, 0x00000134, /* ((r1&~r2)!=0), r1=pswrd2.PRTY_STS_H_1, r2=pswrd2.PRTY_MASK_H_1, */
+ 0x010000cb, 0x00010001, 0x00000136, /* (r1!=0), r1=pswrd2.disable_inputs, */
+ 0x010100cc, 0x00010001, 0x00000137, /* (r1!=0), r1=pswhst2.header_fifo_status, */
+ 0x010100cd, 0x00010001, 0x00000138, /* (r1!=0), r1=pswhst2.data_fifo_status, */
+ 0x000200ce, 0x00010002, 0x00000139, /* ((r1&~r2)!=0), r1=pswhst2.INT_STS, r2=pswhst2.INT_MASK, */
+ 0x010200cf, 0x00010001, 0x0000013b, /* (r1!=0), r1=pswhst.discard_internal_writes_status, */
+ 0x010200d0, 0x00010001, 0x0000013c, /* (r1!=0), r1=pswhst.discard_doorbells_status, */
+ 0x010200d1, 0x00010001, 0x0013013d, /* (r1!=3), r1=pswhst.arb_is_idle, */
+ 0x010200d2, 0x00010301, 0x0000013e, /* (r1!=0), r1=pswhst.incorrect_access_valid, */
+ 0x010200d3, 0x00010101, 0x00000142, /* (r1!=0), r1=pswhst.per_violation_valid, */
+ 0x010200d4, 0x00010001, 0x00140144, /* (r1!=reset1), r1=pswhst.source_credits_avail, */
+ 0x010200d5, 0x00010101, 0x00000145, /* (r1!=0), r1=pswhst.source_credit_viol_valid, */
+ 0x010200d6, 0x00010001, 0x00150147, /* (r1!=60074), r1=pswhst.dest_credits_avail, */
+ 0x010200d7, 0x00010001, 0x00000148, /* (r1!=0), r1=pswhst.is_in_drain_mode, */
+ 0x010200d8, 0x00010101, 0x00000149, /* (r1!=0), r1=pswhst.timeout_valid, */
+ 0x010200d9, 0x00010101, 0x0000014b, /* (r1!=0), r1=pswhst.timeout_valid, */
+ 0x010200da, 0x00010001, 0x0000014d, /* (r1!=0), r1=pswhst.clients_waiting_to_source_arb[0:7], */
+ 0x000200db, 0x00010002, 0x0000014e, /* ((r1&~r2)!=0), r1=pswhst.INT_STS, r2=pswhst.INT_MASK, */
+ 0x000000dc, 0x00010002, 0x00000150, /* ((r1&~r2)!=0), r1=pswhst.PRTY_STS_H_0, r2=pswhst.PRTY_MASK_H_0, */
+ 0x060000dd, 0x00020001, 0x00160152, /* ((r1&0x01BC01)!=0), r1=pglue_b.INT_STS, */
+ 0x060200de, 0x00020001, 0x00180153, /* ((r1&0x76417C)!=0), r1=pglue_b.INT_STS, */
+ 0x000000df, 0x00010002, 0x00000154, /* ((r1&~r2)!=0), r1=pglue_b.PRTY_STS_H_0, r2=pglue_b.PRTY_MASK_H_0, */
+ 0x010000e0, 0x00010001, 0x00000156, /* (r1!=0), r1=pglue_b.pgl_write_blocked, */
+ 0x010000e1, 0x00010001, 0x00000157, /* (r1!=0), r1=pglue_b.pgl_read_blocked, */
+ 0x010100e2, 0x00010001, 0x00000158, /* (r1!=0), r1=pglue_b.read_fifo_occupancy_level, */
+ 0x010200e3, 0x00010001, 0x00000159, /* (r1!=0), r1=pglue_b.rx_legacy_errors, */
+ 0x070100e4, 0x00030001, 0x001a015a, /* (((r1>>17)&1)!=0), r1=pglue_b.pgl_txw_cdts, */
+ 0x010200e5, 0x00010001, 0x0000015b, /* (r1!=0), r1=pglue_b.cfg_space_a_request, */
+ 0x010200e6, 0x00010001, 0x0000015c, /* (r1!=0), r1=pglue_b.cfg_space_b_request, */
+ 0x010200e7, 0x00010001, 0x0000015d, /* (r1!=0), r1=pglue_b.flr_request_vf_31_0, */
+ 0x010200e8, 0x00010001, 0x0000015e, /* (r1!=0), r1=pglue_b.flr_request_vf_63_32, */
+ 0x010200e9, 0x00010001, 0x0000015f, /* (r1!=0), r1=pglue_b.flr_request_vf_95_64, */
+ 0x010200ea, 0x00010001, 0x00000160, /* (r1!=0), r1=pglue_b.flr_request_vf_127_96, */
+ 0x010200eb, 0x00010001, 0x00000161, /* (r1!=0), r1=pglue_b.flr_request_vf_159_128, */
+ 0x010200ec, 0x00010001, 0x00000162, /* (r1!=0), r1=pglue_b.flr_request_vf_191_160, */
+ 0x010200ed, 0x00010001, 0x00000163, /* (r1!=0), r1=pglue_b.flr_request_pf_31_0, */
+ 0x010200ee, 0x00010001, 0x00000164, /* (r1!=0), r1=pglue_b.sr_iov_disabled_request, */
+ 0x010200ef, 0x00010001, 0x00000165, /* (r1!=0), r1=pglue_b.was_error_vf_31_0, */
+ 0x010200f0, 0x00010001, 0x00000166, /* (r1!=0), r1=pglue_b.was_error_vf_63_32, */
+ 0x010200f1, 0x00010001, 0x00000167, /* (r1!=0), r1=pglue_b.was_error_vf_95_64, */
+ 0x010200f2, 0x00010001, 0x00000168, /* (r1!=0), r1=pglue_b.was_error_vf_127_96, */
+ 0x010200f3, 0x00010001, 0x00000169, /* (r1!=0), r1=pglue_b.was_error_vf_159_128, */
+ 0x010200f4, 0x00010001, 0x0000016a, /* (r1!=0), r1=pglue_b.was_error_vf_191_160, */
+ 0x010200f5, 0x00010001, 0x0000016b, /* (r1!=0), r1=pglue_b.was_error_pf_31_0, */
+ 0x010200f6, 0x00010001, 0x0000016c, /* (r1!=0), r1=pglue_b.rx_err_details, */
+ 0x010200f7, 0x00010001, 0x0000016d, /* (r1!=0), r1=pglue_b.rx_tcpl_err_details, */
+ 0x010200f8, 0x00010001, 0x0000016e, /* (r1!=0), r1=pglue_b.tx_err_wr_add_31_0, */
+ 0x010200f9, 0x00010001, 0x0000016f, /* (r1!=0), r1=pglue_b.tx_err_wr_add_63_32, */
+ 0x010200fa, 0x00010001, 0x00000170, /* (r1!=0), r1=pglue_b.tx_err_wr_details, */
+ 0x010200fb, 0x00010001, 0x00000171, /* (r1!=0), r1=pglue_b.tx_err_wr_details2, */
+ 0x010200fc, 0x00010001, 0x00000172, /* (r1!=0), r1=pglue_b.tx_err_rd_add_31_0, */
+ 0x010200fd, 0x00010001, 0x00000173, /* (r1!=0), r1=pglue_b.tx_err_rd_add_63_32, */
+ 0x010200fe, 0x00010001, 0x00000174, /* (r1!=0), r1=pglue_b.tx_err_rd_details, */
+ 0x010200ff, 0x00010001, 0x00000175, /* (r1!=0), r1=pglue_b.tx_err_rd_details2, */
+ 0x01020100, 0x00010001, 0x00000176, /* (r1!=0), r1=pglue_b.vf_length_violation_details, */
+ 0x01020101, 0x00010001, 0x00000177, /* (r1!=0), r1=pglue_b.vf_length_violation_details2, */
+ 0x01020102, 0x00010001, 0x00000178, /* (r1!=0), r1=pglue_b.vf_grc_space_violation_details, */
+ 0x01020103, 0x00010001, 0x00000179, /* (r1!=0), r1=pglue_b.master_zlr_err_add_31_0, */
+ 0x01020104, 0x00010001, 0x0000017a, /* (r1!=0), r1=pglue_b.master_zlr_err_add_63_32, */
+ 0x01020105, 0x00010001, 0x0000017b, /* (r1!=0), r1=pglue_b.master_zlr_err_details, */
+ 0x01020106, 0x00010001, 0x0000017c, /* (r1!=0), r1=pglue_b.admin_window_violation_details, */
+ 0x01000107, 0x00010001, 0x0000017d, /* (r1!=0), r1=pglue_b.out_of_range_function_in_pretend_details, */
+ 0x01000108, 0x00010001, 0x0000017e, /* (r1!=0), r1=pglue_b.out_of_range_function_in_pretend_address, */
+ 0x01010109, 0x00010001, 0x0000017f, /* (r1!=0), r1=pglue_b.write_fifo_occupancy_level, */
+ 0x0102010a, 0x00010001, 0x00000180, /* (r1!=0), r1=pglue_b.illegal_address_add_31_0, */
+ 0x0102010b, 0x00010001, 0x00000181, /* (r1!=0), r1=pglue_b.illegal_address_add_63_32, */
+ 0x0102010c, 0x00010001, 0x00000182, /* (r1!=0), r1=pglue_b.illegal_address_details, */
+ 0x0102010d, 0x00010001, 0x00000183, /* (r1!=0), r1=pglue_b.illegal_address_details2, */
+ 0x0102010e, 0x00010001, 0x001d0184, /* (r1!=0xffffffff), r1=pglue_b.tags_31_0, */
+ 0x0102010f, 0x00010001, 0x001d0185, /* (r1!=0xffffffff), r1=pglue_b.tags_63_32, */
+ 0x01020110, 0x00010001, 0x001d0186, /* (r1!=0xffffffff), r1=pglue_b.tags_95_64, */
+ 0x01020111, 0x00010001, 0x001d0187, /* (r1!=0xffffffff), r1=pglue_b.tags_127_96, */
+ 0x01020112, 0x00010001, 0x00000188, /* (r1!=0), r1=pglue_b.vf_ilt_err_add_31_0, */
+ 0x01020113, 0x00010001, 0x00000189, /* (r1!=0), r1=pglue_b.vf_ilt_err_add_63_32, */
+ 0x01020114, 0x00010001, 0x0000018a, /* (r1!=0), r1=pglue_b.vf_ilt_err_details, */
+ 0x01020115, 0x00010001, 0x0000018b, /* (r1!=0), r1=pglue_b.vf_ilt_err_details2, */
+ 0x0d000116, 0x00010001, 0x001e018c, /* (r1&0x7FFFFF), r1=tm.INT_STS_0, */
+ 0x0d020117, 0x00010001, 0x001f018d, /* (r1&0x80000000), r1=tm.INT_STS_0, */
+ 0x0d000118, 0x00010001, 0x0020018e, /* (r1&0x7F800000), r1=tm.INT_STS_0, */
+ 0x0d000119, 0x00010001, 0x0021018f, /* (r1&0x41E), r1=tm.INT_STS_1, */
+ 0x0000011a, 0x00010002, 0x00000190, /* ((r1&~r2)!=0), r1=tm.PRTY_STS_H_0, r2=tm.PRTY_MASK_H_0, */
+ 0x0101011b, 0x00010001, 0x00000192, /* (r1!=0), r1=tm.pxp_read_data_fifo_status, */
+ 0x0101011c, 0x00010001, 0x00000193, /* (r1!=0), r1=tm.pxp_read_ctrl_fifo_status, */
+ 0x0101011d, 0x00010001, 0x00000194, /* (r1!=0), r1=tm.cfc_load_echo_fifo_status, */
+ 0x0101011e, 0x00010001, 0x00000195, /* (r1!=0), r1=tm.client_out_fifo_status, */
+ 0x0101011f, 0x00010001, 0x00000196, /* (r1!=0), r1=tm.client_in_pbf_fifo_status, */
+ 0x01010120, 0x00010001, 0x00000197, /* (r1!=0), r1=tm.client_in_xcm_fifo_status, */
+ 0x01010121, 0x00010001, 0x00000198, /* (r1!=0), r1=tm.client_in_tcm_fifo_status, */
+ 0x01010122, 0x00010001, 0x00000199, /* (r1!=0), r1=tm.client_in_ucm_fifo_status, */
+ 0x01010123, 0x00010001, 0x0000019a, /* (r1!=0), r1=tm.expiration_cmd_fifo_status, */
+ 0x01010124, 0x00010001, 0x0000019b, /* (r1!=0), r1=tm.ac_command_fifo_status, */
+ 0x01000125, 0x00010001, 0x000d019c, /* (r1!=1), r1=tcfc.ll_init_done, */
+ 0x01000126, 0x00010001, 0x000d019d, /* (r1!=1), r1=tcfc.ac_init_done, */
+ 0x01000127, 0x00010001, 0x000d019e, /* (r1!=1), r1=tcfc.cam_init_done, */
+ 0x01000128, 0x00010001, 0x000d019f, /* (r1!=1), r1=tcfc.tidram_init_done, */
+ 0x00000129, 0x00010502, 0x000001a0, /* ((r1&~r2)!=0), r1=tcfc.INT_STS_0, r2=tcfc.INT_MASK_0, */
+ 0x0000012a, 0x00010002, 0x000001a7, /* ((r1&~r2)!=0), r1=tcfc.PRTY_STS_H_0, r2=tcfc.PRTY_MASK_H_0, */
+ 0x0101012b, 0x00010001, 0x000001a9, /* (r1!=0x0), r1=tcfc.lstate_arriving, */
+ 0x0101012c, 0x00010001, 0x000001aa, /* (r1!=0x0), r1=tcfc.lstate_leaving, */
+ 0x0101012d, 0x00010001, 0x002201ab, /* (r1!=0x30), r1=tcfc.cduld_credit, */
+ 0x0100012e, 0x00010001, 0x000d01ac, /* (r1!=1), r1=ccfc.ll_init_done, */
+ 0x0100012f, 0x00010001, 0x000d01ad, /* (r1!=1), r1=ccfc.ac_init_done, */
+ 0x01000130, 0x00010001, 0x000d01ae, /* (r1!=1), r1=ccfc.cam_init_done, */
+ 0x01000131, 0x00010001, 0x000d01af, /* (r1!=1), r1=ccfc.tidram_init_done, */
+ 0x00000132, 0x00010502, 0x000001b0, /* ((r1&~r2)!=0), r1=ccfc.INT_STS_0, r2=ccfc.INT_MASK_0, */
+ 0x00000133, 0x00010002, 0x000001b7, /* ((r1&~r2)!=0), r1=ccfc.PRTY_STS_H_0, r2=ccfc.PRTY_MASK_H_0, */
+ 0x00000134, 0x00010002, 0x000001b9, /* ((r1&~r2)!=0), r1=ccfc.PRTY_STS, r2=ccfc.PRTY_MASK, */
+ 0x01010135, 0x00010001, 0x000001bb, /* (r1!=0x0), r1=ccfc.lstate_arriving, */
+ 0x01010136, 0x00010001, 0x000001bc, /* (r1!=0x0), r1=ccfc.lstate_leaving, */
+ 0x01010137, 0x00010001, 0x002201bd, /* (r1!=0x30), r1=ccfc.cduld_credit, */
+ 0x01010138, 0x00010001, 0x000a01be, /* (r1!=0x10), r1=ccfc.cduwb_credit, */
+ 0x00000139, 0x00010002, 0x000001bf, /* ((r1&~r2)!=0), r1=qm.INT_STS, r2=qm.INT_MASK, */
+ 0x0000013a, 0x00010002, 0x000001c1, /* ((r1&~r2)!=0), r1=qm.PRTY_STS, r2=qm.PRTY_MASK, */
+ 0x0000013b, 0x00010002, 0x000001c3, /* ((r1&~r2)!=0), r1=qm.PRTY_STS_H_0, r2=qm.PRTY_MASK_H_0, */
+ 0x0000013c, 0x00010002, 0x000001c5, /* ((r1&~r2)!=0), r1=qm.PRTY_STS_H_1, r2=qm.PRTY_MASK_H_1, */
+ 0x0000013d, 0x00010002, 0x000001c7, /* ((r1&~r2)!=0), r1=qm.PRTY_STS_H_2, r2=qm.PRTY_MASK_H_2, */
+ 0x0100013e, 0x00010001, 0x000001c9, /* (r1!=0), r1=qm.wrc_fifolvl_0[0:5], */
+ 0x0300013f, 0x00000002, 0x000001ca, /* (r1!=r2), r1=qm.OutLdReqCrdConnTx, r2=qm.OutLdReqSizeConnTx, */
+ 0x03000140, 0x00000002, 0x000001cc, /* (r1!=r2), r1=qm.OutLdReqCrdConnOther, r2=qm.OutLdReqSizeConnOther, */
+ 0x01000141, 0x00010001, 0x000001ce, /* (r1!=0), r1=qm.OvfQNumTx, */
+ 0x01000142, 0x00010101, 0x000001cf, /* (r1!=0), r1=qm.OvfErrorTx, */
+ 0x01000143, 0x00010001, 0x000001d1, /* (r1!=0), r1=qm.OvfQNumOther, */
+ 0x01000144, 0x00010101, 0x000001d2, /* (r1!=0), r1=qm.OvfErrorOther, */
+ 0x03010145, 0x00000002, 0x000001d4, /* (r1!=r2), r1=qm.CmCrd_0, r2=qm.CmInitCrd_0, */
+ 0x03010146, 0x00000002, 0x000001d6, /* (r1!=r2), r1=qm.CmCrd_1, r2=qm.CmInitCrd_1, */
+ 0x03010147, 0x00000002, 0x000001d8, /* (r1!=r2), r1=qm.CmCrd_2, r2=qm.CmInitCrd_2, */
+ 0x03010148, 0x00000002, 0x000001da, /* (r1!=r2), r1=qm.CmCrd_3, r2=qm.CmInitCrd_3, */
+ 0x03010149, 0x00000002, 0x000001dc, /* (r1!=r2), r1=qm.CmCrd_4, r2=qm.CmInitCrd_4, */
+ 0x0301014a, 0x00000002, 0x000001de, /* (r1!=r2), r1=qm.CmCrd_5, r2=qm.CmInitCrd_5, */
+ 0x0301014b, 0x00000002, 0x000001e0, /* (r1!=r2), r1=qm.CmCrd_6, r2=qm.CmInitCrd_6, */
+ 0x0301014c, 0x00000002, 0x000001e2, /* (r1!=r2), r1=qm.CmCrd_7, r2=qm.CmInitCrd_7, */
+ 0x0301014d, 0x00000002, 0x000001e4, /* (r1!=r2), r1=qm.CmCrd_8, r2=qm.CmInitCrd_8, */
+ 0x0301014e, 0x00000002, 0x000001e6, /* (r1!=r2), r1=qm.CmCrd_9, r2=qm.CmInitCrd_9, */
+ 0x0000014f, 0x00010002, 0x000001e8, /* ((r1&~r2)!=0), r1=rdif.INT_STS, r2=rdif.INT_MASK, */
+ 0x00000150, 0x00010002, 0x000001ea, /* ((r1&~r2)!=0), r1=tdif.INT_STS, r2=tdif.INT_MASK, */
+ 0x00000151, 0x00010002, 0x000001ec, /* ((r1&~r2)!=0), r1=tdif.PRTY_STS_H_0, r2=tdif.PRTY_MASK_H_0, */
+ 0x00000152, 0x00010202, 0x000001ee, /* ((r1&~r2)!=0), r1=brb.INT_STS_0, r2=brb.INT_MASK_0, */
+ 0x00000153, 0x00010002, 0x000001f2, /* ((r1&~r2)!=0), r1=brb.INT_STS_1, r2=brb.INT_MASK_1, */
+ 0x00000154, 0x00010002, 0x000001f4, /* ((r1&~r2)!=0), r1=brb.INT_STS_2, r2=brb.INT_MASK_2, */
+ 0x00000155, 0x00010002, 0x000001f6, /* ((r1&~r2)!=0), r1=brb.INT_STS_3, r2=brb.INT_MASK_3, */
+ 0x00000156, 0x00010202, 0x000001f8, /* ((r1&~r2)!=0), r1=brb.INT_STS_4, r2=brb.INT_MASK_4, */
+ 0x00000157, 0x00010002, 0x000001fc, /* ((r1&~r2)!=0), r1=brb.PRTY_STS_H_0, r2=brb.PRTY_MASK_H_0, */
+ 0x00000158, 0x00010002, 0x000001fe, /* ((r1&~r2)!=0), r1=brb.PRTY_STS_H_1, r2=brb.PRTY_MASK_H_1, */
+ 0x01010159, 0x00010001, 0x00000200, /* (r1!=0), r1=brb.wc_bandwidth_if_full, */
+ 0x0101015a, 0x00010001, 0x00000201, /* (r1!=0), r1=brb.rc_pkt_if_full, */
+ 0x0101015b, 0x00010001, 0x00230202, /* (r1!=255), r1=brb.rc_pkt_empty_0[0:4], */
+ 0x0101015c, 0x00010001, 0x00030203, /* (r1!=15), r1=brb.rc_sop_empty, */
+ 0x0101015d, 0x00010001, 0x000b0204, /* (r1!=2), r1=brb.ll_arb_empty, */
+ 0x0101015e, 0x00010001, 0x00000205, /* (r1!=0), r1=brb.stop_packet_counter, */
+ 0x0101015f, 0x00010001, 0x00000206, /* (r1!=0), r1=brb.stop_byte_counter, */
+ 0x01010160, 0x00010001, 0x00000207, /* (r1!=0), r1=brb.rc_pkt_state, */
+ 0x01010161, 0x00010001, 0x00000208, /* (r1!=0), r1=brb.mac0_tc_occupancy_0, */
+ 0x01010162, 0x00010001, 0x00000209, /* (r1!=0), r1=brb.mac0_tc_occupancy_1, */
+ 0x01010163, 0x00010001, 0x0000020a, /* (r1!=0), r1=brb.mac0_tc_occupancy_2, */
+ 0x01010164, 0x00010001, 0x0000020b, /* (r1!=0), r1=brb.mac0_tc_occupancy_3, */
+ 0x01010165, 0x00010001, 0x0000020c, /* (r1!=0), r1=brb.mac0_tc_occupancy_4, */
+ 0x01010166, 0x00010001, 0x0000020d, /* (r1!=0), r1=brb.mac0_tc_occupancy_5, */
+ 0x01010167, 0x00010001, 0x0000020e, /* (r1!=0), r1=brb.mac0_tc_occupancy_6, */
+ 0x01010168, 0x00010001, 0x0000020f, /* (r1!=0), r1=brb.mac0_tc_occupancy_7, */
+ 0x01010169, 0x00010001, 0x00000210, /* (r1!=0), r1=brb.mac0_tc_occupancy_8, */
+ 0x0101016a, 0x00010001, 0x00000211, /* (r1!=0), r1=brb.mac1_tc_occupancy_0, */
+ 0x0101016b, 0x00010001, 0x00000212, /* (r1!=0), r1=brb.mac1_tc_occupancy_1, */
+ 0x0101016c, 0x00010001, 0x00000213, /* (r1!=0), r1=brb.mac1_tc_occupancy_2, */
+ 0x0101016d, 0x00010001, 0x00000214, /* (r1!=0), r1=brb.mac1_tc_occupancy_3, */
+ 0x0101016e, 0x00010001, 0x00000215, /* (r1!=0), r1=brb.mac1_tc_occupancy_4, */
+ 0x0101016f, 0x00010001, 0x00000216, /* (r1!=0), r1=brb.mac1_tc_occupancy_5, */
+ 0x01010170, 0x00010001, 0x00000217, /* (r1!=0), r1=brb.mac1_tc_occupancy_6, */
+ 0x01010171, 0x00010001, 0x00000218, /* (r1!=0), r1=brb.mac1_tc_occupancy_7, */
+ 0x01010172, 0x00010001, 0x00000219, /* (r1!=0), r1=brb.mac1_tc_occupancy_8, */
+ 0x01010173, 0x00010001, 0x0000021a, /* (r1!=0), r1=xyld.pending_msg_to_ext_ev_1_ctr, */
+ 0x01010174, 0x00010001, 0x0000021b, /* (r1!=0), r1=xyld.pending_msg_to_ext_ev_2_ctr, */
+ 0x01010175, 0x00010001, 0x0000021c, /* (r1!=0), r1=xyld.pending_msg_to_ext_ev_3_ctr, */
+ 0x01010176, 0x00010001, 0x0000021d, /* (r1!=0), r1=xyld.pending_msg_to_ext_ev_4_ctr, */
+ 0x01010177, 0x00010001, 0x0000021e, /* (r1!=0), r1=xyld.pending_msg_to_ext_ev_5_ctr, */
+ 0x03010178, 0x00000002, 0x0000021f, /* (r1!=r2), r1=xyld.foc_remain_credits, r2=xyld.foci_foc_credits, */
+ 0x01010179, 0x00010001, 0x00000221, /* (r1!=0), r1=xyld.pci_pending_msg_ctr, */
+ 0x0101017a, 0x00010001, 0x00000222, /* (r1!=0), r1=xyld.dbg_pending_ccfc_req, */
+ 0x0101017b, 0x00010001, 0x00000223, /* (r1!=0), r1=xyld.dbg_pending_tcfc_req, */
+ 0x0000017c, 0x00010002, 0x00000224, /* ((r1&~r2)!=0), r1=xyld.PRTY_STS_H_0, r2=xyld.PRTY_MASK_H_0, */
+ 0x0101017d, 0x00010001, 0x00000226, /* (r1!=0), r1=tmld.pending_msg_to_ext_ev_1_ctr, */
+ 0x0101017e, 0x00010001, 0x00000227, /* (r1!=0), r1=tmld.pending_msg_to_ext_ev_2_ctr, */
+ 0x0101017f, 0x00010001, 0x00000228, /* (r1!=0), r1=tmld.pending_msg_to_ext_ev_3_ctr, */
+ 0x01010180, 0x00010001, 0x00000229, /* (r1!=0), r1=tmld.pending_msg_to_ext_ev_4_ctr, */
+ 0x01010181, 0x00010001, 0x0000022a, /* (r1!=0), r1=tmld.pending_msg_to_ext_ev_5_ctr, */
+ 0x03010182, 0x00000002, 0x0000022b, /* (r1!=r2), r1=tmld.foc_remain_credits, r2=tmld.foci_foc_credits, */
+ 0x01010183, 0x00010001, 0x0000022d, /* (r1!=0), r1=tmld.dbg_pending_ccfc_req, */
+ 0x01010184, 0x00010001, 0x0000022e, /* (r1!=0), r1=tmld.dbg_pending_tcfc_req, */
+ 0x00000185, 0x00010002, 0x0000022f, /* ((r1&~r2)!=0), r1=tmld.PRTY_STS_H_0, r2=tmld.PRTY_MASK_H_0, */
+ 0x01010186, 0x00010001, 0x00000231, /* (r1!=0), r1=muld.pending_msg_to_ext_ev_1_ctr, */
+ 0x01010187, 0x00010001, 0x00000232, /* (r1!=0), r1=muld.pending_msg_to_ext_ev_2_ctr, */
+ 0x01010188, 0x00010001, 0x00000233, /* (r1!=0), r1=muld.pending_msg_to_ext_ev_3_ctr, */
+ 0x01010189, 0x00010001, 0x00000234, /* (r1!=0), r1=muld.pending_msg_to_ext_ev_4_ctr, */
+ 0x0101018a, 0x00010001, 0x00000235, /* (r1!=0), r1=muld.pending_msg_to_ext_ev_5_ctr, */
+ 0x0301018b, 0x00000002, 0x00000236, /* (r1!=r2), r1=muld.foc_remain_credits, r2=muld.foci_foc_credits, */
+ 0x0101018c, 0x00010001, 0x00000238, /* (r1!=0), r1=muld.bd_pending_msg_ctr, */
+ 0x0101018d, 0x00010001, 0x00000239, /* (r1!=0), r1=muld.sge_pending_msg_ctr, */
+ 0x0101018e, 0x00010001, 0x0000023a, /* (r1!=0), r1=muld.pci_pending_msg_ctr, */
+ 0x0101018f, 0x00010001, 0x0000023b, /* (r1!=0), r1=muld.dbg_pending_ccfc_req, */
+ 0x01010190, 0x00010001, 0x0000023c, /* (r1!=0), r1=muld.dbg_pending_tcfc_req, */
+ 0x00000191, 0x00010002, 0x0000023d, /* ((r1&~r2)!=0), r1=muld.PRTY_STS_H_0, r2=muld.PRTY_MASK_H_0, */
+ 0x00000192, 0x00010002, 0x0000023f, /* ((r1&~r2)!=0), r1=nig.INT_STS_0, r2=nig.INT_MASK_0, */
+ 0x00000193, 0x00010002, 0x00000241, /* ((r1&~r2)!=0), r1=nig.INT_STS_1, r2=nig.INT_MASK_1, */
+ 0x00000194, 0x00010002, 0x00000243, /* ((r1&~r2)!=0), r1=nig.INT_STS_2, r2=nig.INT_MASK_2, */
+ 0x00020195, 0x00010202, 0x00000245, /* ((r1&~r2)!=0), r1=nig.INT_STS_3, r2=nig.INT_MASK_3, */
+ 0x00000196, 0x00010002, 0x00000249, /* ((r1&~r2)!=0), r1=nig.INT_STS_4, r2=nig.INT_MASK_4, */
+ 0x00020197, 0x00010202, 0x0000024b, /* ((r1&~r2)!=0), r1=nig.INT_STS_5, r2=nig.INT_MASK_5, */
+ 0x00000198, 0x00010002, 0x0000024f, /* ((r1&~r2)!=0), r1=nig.PRTY_STS_H_0, r2=nig.PRTY_MASK_H_0, */
+ 0x00000199, 0x00010002, 0x00000251, /* ((r1&~r2)!=0), r1=nig.PRTY_STS_H_1, r2=nig.PRTY_MASK_H_1, */
+ 0x0000019a, 0x00010002, 0x00000253, /* ((r1&~r2)!=0), r1=nig.PRTY_STS_H_2, r2=nig.PRTY_MASK_H_2, */
+ 0x0000019b, 0x00010002, 0x00000255, /* ((r1&~r2)!=0), r1=nig.PRTY_STS_H_3, r2=nig.PRTY_MASK_H_3, */
+ 0x0101019c, 0x00010001, 0x00240257, /* (r1!=0x000fffff), r1=nig.lb_sopq_empty, */
+ 0x0101019d, 0x00010001, 0x00250258, /* (r1!=0x0000ffff), r1=nig.tx_sopq_empty, */
+ 0x0101019e, 0x00010001, 0x000d0259, /* (r1!=1), r1=nig.rx_llh_rfifo_empty, */
+ 0x0101019f, 0x00010001, 0x000d025a, /* (r1!=1), r1=nig.lb_btb_fifo_empty, */
+ 0x010101a0, 0x00010001, 0x000d025b, /* (r1!=1), r1=nig.lb_llh_rfifo_empty, */
+ 0x050001a1, 0x00040002, 0x0026025c, /* (((r1&0xff)!=0)&&((r2&0x7)!=0)), r1=nig.rx_ptp_ts_msb_err, r2=nig.rx_ptp_en, */
+ 0x010101a2, 0x00010001, 0x000d025e, /* (r1!=1), r1=nig.tx_btb_fifo_empty, */
+ 0x010101a3, 0x00010001, 0x000d025f, /* (r1!=1), r1=nig.debug_fifo_empty, */
+ 0x010001a4, 0x00010001, 0x00000260, /* (r1!=0), r1=ptu.pxp_err_ctr, */
+ 0x010001a5, 0x00010001, 0x00000261, /* (r1!=0), r1=ptu.inv_err_ctr, */
+ 0x010001a6, 0x00010001, 0x00000262, /* (r1!=0), r1=ptu.pbf_fill_level, */
+ 0x010001a7, 0x00010001, 0x00000263, /* (r1!=0), r1=ptu.prm_fill_level, */
+ 0x000001a8, 0x00010002, 0x00000264, /* ((r1&~r2)!=0), r1=ptu.INT_STS, r2=ptu.INT_MASK, */
+ 0x000001a9, 0x00010002, 0x00000266, /* ((r1&~r2)!=0), r1=ptu.PRTY_STS_H_0, r2=ptu.PRTY_MASK_H_0, */
+ 0x000001aa, 0x00010602, 0x00000268, /* ((r1&~r2)!=0), r1=cdu.INT_STS, r2=cdu.INT_MASK, */
+ 0x000001ab, 0x00010002, 0x00000270, /* ((r1&~r2)!=0), r1=cdu.PRTY_STS_H_0, r2=cdu.PRTY_MASK_H_0, */
+ 0x010201ac, 0x00010001, 0x00000272, /* (r1!=0), r1=pbf.num_pkts_received_with_error, */
+ 0x010201ad, 0x00010001, 0x00000273, /* (r1!=0), r1=pbf.num_pkts_sent_with_error_to_btb, */
+ 0x010201ae, 0x00010001, 0x00000274, /* (r1!=0), r1=pbf.num_pkts_sent_with_drop_to_btb, */
+ 0x010101af, 0x00010001, 0x00000275, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq0, */
+ 0x010101b0, 0x00010001, 0x00000276, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq0, */
+ 0x010101b1, 0x00010001, 0x00000277, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq0, */
+ 0x010101b2, 0x00010001, 0x00000278, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq1, */
+ 0x010101b3, 0x00010001, 0x00000279, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq1, */
+ 0x010101b4, 0x00010001, 0x0000027a, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq1, */
+ 0x010101b5, 0x00010001, 0x0000027b, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq2, */
+ 0x010101b6, 0x00010001, 0x0000027c, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq2, */
+ 0x010101b7, 0x00010001, 0x0000027d, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq2, */
+ 0x010101b8, 0x00010001, 0x0000027e, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq3, */
+ 0x010101b9, 0x00010001, 0x0000027f, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq3, */
+ 0x010101ba, 0x00010001, 0x00000280, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq3, */
+ 0x010101bb, 0x00010001, 0x00000281, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq4, */
+ 0x010101bc, 0x00010001, 0x00000282, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq4, */
+ 0x010101bd, 0x00010001, 0x00000283, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq4, */
+ 0x010101be, 0x00010001, 0x00000284, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq5, */
+ 0x010101bf, 0x00010001, 0x00000285, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq5, */
+ 0x010101c0, 0x00010001, 0x00000286, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq5, */
+ 0x010101c1, 0x00010001, 0x00000287, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq6, */
+ 0x010101c2, 0x00010001, 0x00000288, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq6, */
+ 0x010101c3, 0x00010001, 0x00000289, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq6, */
+ 0x010101c4, 0x00010001, 0x0000028a, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq7, */
+ 0x010101c5, 0x00010001, 0x0000028b, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq7, */
+ 0x010101c6, 0x00010001, 0x0000028c, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq7, */
+ 0x010101c7, 0x00010001, 0x0000028d, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq8, */
+ 0x010101c8, 0x00010001, 0x0000028e, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq8, */
+ 0x010101c9, 0x00010001, 0x0000028f, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq8, */
+ 0x010101ca, 0x00010001, 0x00000290, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq9, */
+ 0x010101cb, 0x00010001, 0x00000291, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq9, */
+ 0x010101cc, 0x00010001, 0x00000292, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq9, */
+ 0x010101cd, 0x00010001, 0x00000293, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq10, */
+ 0x010101ce, 0x00010001, 0x00000294, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq10, */
+ 0x010101cf, 0x00010001, 0x00000295, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq10, */
+ 0x010101d0, 0x00010001, 0x00000296, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq11, */
+ 0x010101d1, 0x00010001, 0x00000297, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq11, */
+ 0x010101d2, 0x00010001, 0x00000298, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq11, */
+ 0x010101d3, 0x00010001, 0x00000299, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq12, */
+ 0x010101d4, 0x00010001, 0x0000029a, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq12, */
+ 0x010101d5, 0x00010001, 0x0000029b, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq12, */
+ 0x010101d6, 0x00010001, 0x0000029c, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq13, */
+ 0x010101d7, 0x00010001, 0x0000029d, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq13, */
+ 0x010101d8, 0x00010001, 0x0000029e, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq13, */
+ 0x010101d9, 0x00010001, 0x0000029f, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq14, */
+ 0x010101da, 0x00010001, 0x000002a0, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq14, */
+ 0x010101db, 0x00010001, 0x000002a1, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq14, */
+ 0x010101dc, 0x00010001, 0x000002a2, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq15, */
+ 0x010101dd, 0x00010001, 0x000002a3, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq15, */
+ 0x010101de, 0x00010001, 0x000002a4, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq15, */
+ 0x010101df, 0x00010001, 0x000002a5, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq16, */
+ 0x010101e0, 0x00010001, 0x000002a6, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq16, */
+ 0x010101e1, 0x00010001, 0x000002a7, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq16, */
+ 0x010101e2, 0x00010001, 0x000002a8, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq17, */
+ 0x010101e3, 0x00010001, 0x000002a9, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq17, */
+ 0x010101e4, 0x00010001, 0x000002aa, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq17, */
+ 0x010101e5, 0x00010001, 0x000002ab, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq18, */
+ 0x010101e6, 0x00010001, 0x000002ac, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq18, */
+ 0x010101e7, 0x00010001, 0x000002ad, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq18, */
+ 0x010101e8, 0x00010001, 0x000002ae, /* (r1!=0), r1=pbf.ycmd_qs_cmd_cnt_voq19, */
+ 0x010101e9, 0x00010001, 0x000002af, /* (r1!=0), r1=pbf.ycmd_qs_occupancy_voq19, */
+ 0x010101ea, 0x00010001, 0x000002b0, /* (r1!=0), r1=pbf.btb_allocated_blocks_voq19, */
+ 0x000001eb, 0x00010002, 0x000002b1, /* ((r1&~r2)!=0), r1=btb.INT_STS_1, r2=btb.INT_MASK_1, */
+ 0x000001ec, 0x00010002, 0x000002b3, /* ((r1&~r2)!=0), r1=btb.INT_STS_2, r2=btb.INT_MASK_2, */
+ 0x000001ed, 0x00010002, 0x000002b5, /* ((r1&~r2)!=0), r1=btb.INT_STS_3, r2=btb.INT_MASK_3, */
+ 0x000001ee, 0x00010002, 0x000002b7, /* ((r1&~r2)!=0), r1=btb.PRTY_STS_H_0, r2=btb.PRTY_MASK_H_0, */
+ 0x010101ef, 0x00010001, 0x000302b9, /* (r1!=15), r1=btb.wc_dup_empty, */
+ 0x010101f0, 0x00010001, 0x000002ba, /* (r1!=0), r1=btb.wc_dup_status, */
+ 0x010101f1, 0x00010001, 0x002a02bb, /* (r1!=8190), r1=btb.wc_empty_0, */
+ 0x010201f2, 0x00010001, 0x000002bc, /* (r1!=0), r1=btb.wc_bandwidth_if_full, */
+ 0x010201f3, 0x00010001, 0x000002bd, /* (r1!=0), r1=btb.rc_pkt_if_full, */
+ 0x010101f4, 0x00010001, 0x002302be, /* (r1!=255), r1=btb.rc_pkt_empty_0, */
+ 0x010101f5, 0x00010001, 0x002302bf, /* (r1!=255), r1=btb.rc_pkt_empty_1, */
+ 0x010101f6, 0x00010001, 0x002302c0, /* (r1!=255), r1=btb.rc_pkt_empty_2, */
+ 0x010101f7, 0x00010001, 0x002302c1, /* (r1!=255), r1=btb.rc_pkt_empty_3, */
+ 0x010101f8, 0x00010001, 0x000302c2, /* (r1!=15), r1=btb.rc_sop_empty, */
+ 0x010101f9, 0x00010001, 0x000b02c3, /* (r1!=2), r1=btb.ll_arb_empty, */
+ 0x020101fa, 0x00010001, 0x002b02c4, /* (r1>46), r1=btb.block_occupancy, */
+ 0x010101fb, 0x00010001, 0x000002c5, /* (r1!=0), r1=btb.rc_pkt_state, */
+ 0x010101fc, 0x00010001, 0x000b02c6, /* (r1!=2), r1=btb.wc_status_0 width=3 access=WB, */
+ 0x000001fd, 0x00010102, 0x000002c7, /* ((r1&~r2)!=0), r1=xsdm.INT_STS, r2=xsdm.INT_MASK, */
+ 0x000001fe, 0x00010002, 0x000002ca, /* ((r1&~r2)!=0), r1=xsdm.PRTY_STS_H_0, r2=xsdm.PRTY_MASK_H_0, */
+ 0x010101ff, 0x00010001, 0x000002cc, /* (r1!=0), r1=xsdm.qm_full, */
+ 0x01010200, 0x00010001, 0x000002cd, /* (r1!=0), r1=xsdm.rsp_brb_if_full, */
+ 0x01010201, 0x00010001, 0x000002ce, /* (r1!=0), r1=xsdm.rsp_pxp_if_full, */
+ 0x01010202, 0x00010001, 0x000002cf, /* (r1!=0), r1=xsdm.dst_pxp_if_full, */
+ 0x01010203, 0x00010001, 0x000002d0, /* (r1!=0), r1=xsdm.dst_int_ram_if_full, */
+ 0x01010204, 0x00010001, 0x000002d1, /* (r1!=0), r1=xsdm.dst_pas_buf_if_full, */
+ 0x01010205, 0x00010001, 0x000d02d2, /* (r1!=1), r1=xsdm.int_cmpl_pend_empty, */
+ 0x01010206, 0x00010001, 0x000d02d3, /* (r1!=1), r1=xsdm.int_cprm_pend_empty, */
+ 0x01010207, 0x00010001, 0x002c02d4, /* (r1!=511), r1=xsdm.queue_empty, */
+ 0x01010208, 0x00010001, 0x000d02d5, /* (r1!=1), r1=xsdm.delay_fifo_empty, */
+ 0x01010209, 0x00010001, 0x000d02d6, /* (r1!=1), r1=xsdm.rsp_pxp_rdata_empty, */
+ 0x0101020a, 0x00010001, 0x000d02d7, /* (r1!=1), r1=xsdm.rsp_brb_rdata_empty, */
+ 0x0101020b, 0x00010001, 0x000d02d8, /* (r1!=1), r1=xsdm.rsp_int_ram_rdata_empty, */
+ 0x0101020c, 0x00010001, 0x000d02d9, /* (r1!=1), r1=xsdm.rsp_brb_pend_empty, */
+ 0x0101020d, 0x00010001, 0x000d02da, /* (r1!=1), r1=xsdm.rsp_int_ram_pend_empty, */
+ 0x0101020e, 0x00010001, 0x000d02db, /* (r1!=1), r1=xsdm.dst_pxp_immed_empty, */
+ 0x0101020f, 0x00010001, 0x000d02dc, /* (r1!=1), r1=xsdm.dst_pxp_dst_pend_empty, */
+ 0x01010210, 0x00010001, 0x000d02dd, /* (r1!=1), r1=xsdm.dst_pxp_src_pend_empty, */
+ 0x01010211, 0x00010001, 0x000d02de, /* (r1!=1), r1=xsdm.dst_brb_src_pend_empty, */
+ 0x01010212, 0x00010001, 0x000d02df, /* (r1!=1), r1=xsdm.dst_brb_src_addr_empty, */
+ 0x01010213, 0x00010001, 0x000d02e0, /* (r1!=1), r1=xsdm.dst_pxp_link_empty, */
+ 0x01010214, 0x00010001, 0x000d02e1, /* (r1!=1), r1=xsdm.dst_int_ram_wait_empty, */
+ 0x01010215, 0x00010001, 0x000d02e2, /* (r1!=1), r1=xsdm.dst_pas_buf_wait_empty, */
+ 0x01010216, 0x00010001, 0x000d02e3, /* (r1!=1), r1=xsdm.sh_delay_empty, */
+ 0x01010217, 0x00010001, 0x000d02e4, /* (r1!=1), r1=xsdm.cm_delay_empty, */
+ 0x01010218, 0x00010001, 0x000d02e5, /* (r1!=1), r1=xsdm.cmsg_que_empty, */
+ 0x01010219, 0x00010001, 0x000d02e6, /* (r1!=1), r1=xsdm.ccfc_load_pend_empty, */
+ 0x0101021a, 0x00010001, 0x000d02e7, /* (r1!=1), r1=xsdm.tcfc_load_pend_empty, */
+ 0x0101021b, 0x00010001, 0x000d02e8, /* (r1!=1), r1=xsdm.async_host_empty, */
+ 0x0101021c, 0x00010001, 0x000d02e9, /* (r1!=1), r1=xsdm.prm_fifo_empty, */
+ 0x0000021d, 0x00010102, 0x000002ea, /* ((r1&~r2)!=0), r1=ysdm.INT_STS, r2=ysdm.INT_MASK, */
+ 0x0000021e, 0x00010002, 0x000002ed, /* ((r1&~r2)!=0), r1=ysdm.PRTY_STS_H_0, r2=ysdm.PRTY_MASK_H_0, */
+ 0x0101021f, 0x00010001, 0x000002ef, /* (r1!=0), r1=ysdm.qm_full, */
+ 0x01010220, 0x00010001, 0x000002f0, /* (r1!=0), r1=ysdm.rsp_brb_if_full, */
+ 0x01010221, 0x00010001, 0x000002f1, /* (r1!=0), r1=ysdm.rsp_pxp_if_full, */
+ 0x01010222, 0x00010001, 0x000002f2, /* (r1!=0), r1=ysdm.dst_pxp_if_full, */
+ 0x01010223, 0x00010001, 0x000002f3, /* (r1!=0), r1=ysdm.dst_int_ram_if_full, */
+ 0x01010224, 0x00010001, 0x000002f4, /* (r1!=0), r1=ysdm.dst_pas_buf_if_full, */
+ 0x01010225, 0x00010001, 0x000d02f5, /* (r1!=1), r1=ysdm.int_cmpl_pend_empty, */
+ 0x01010226, 0x00010001, 0x000d02f6, /* (r1!=1), r1=ysdm.int_cprm_pend_empty, */
+ 0x01010227, 0x00010001, 0x002c02f7, /* (r1!=511), r1=ysdm.queue_empty, */
+ 0x01010228, 0x00010001, 0x000d02f8, /* (r1!=1), r1=ysdm.delay_fifo_empty, */
+ 0x01010229, 0x00010001, 0x000d02f9, /* (r1!=1), r1=ysdm.rsp_pxp_rdata_empty, */
+ 0x0101022a, 0x00010001, 0x000d02fa, /* (r1!=1), r1=ysdm.rsp_brb_rdata_empty, */
+ 0x0101022b, 0x00010001, 0x000d02fb, /* (r1!=1), r1=ysdm.rsp_int_ram_rdata_empty, */
+ 0x0101022c, 0x00010001, 0x000d02fc, /* (r1!=1), r1=ysdm.rsp_brb_pend_empty, */
+ 0x0101022d, 0x00010001, 0x000d02fd, /* (r1!=1), r1=ysdm.rsp_int_ram_pend_empty, */
+ 0x0101022e, 0x00010001, 0x000d02fe, /* (r1!=1), r1=ysdm.dst_pxp_immed_empty, */
+ 0x0101022f, 0x00010001, 0x000d02ff, /* (r1!=1), r1=ysdm.dst_pxp_dst_pend_empty, */
+ 0x01010230, 0x00010001, 0x000d0300, /* (r1!=1), r1=ysdm.dst_pxp_src_pend_empty, */
+ 0x01010231, 0x00010001, 0x000d0301, /* (r1!=1), r1=ysdm.dst_brb_src_pend_empty, */
+ 0x01010232, 0x00010001, 0x000d0302, /* (r1!=1), r1=ysdm.dst_brb_src_addr_empty, */
+ 0x01010233, 0x00010001, 0x000d0303, /* (r1!=1), r1=ysdm.dst_pxp_link_empty, */
+ 0x01010234, 0x00010001, 0x000d0304, /* (r1!=1), r1=ysdm.dst_int_ram_wait_empty, */
+ 0x01010235, 0x00010001, 0x000d0305, /* (r1!=1), r1=ysdm.dst_pas_buf_wait_empty, */
+ 0x01010236, 0x00010001, 0x000d0306, /* (r1!=1), r1=ysdm.sh_delay_empty, */
+ 0x01010237, 0x00010001, 0x000d0307, /* (r1!=1), r1=ysdm.cm_delay_empty, */
+ 0x01010238, 0x00010001, 0x000d0308, /* (r1!=1), r1=ysdm.cmsg_que_empty, */
+ 0x01010239, 0x00010001, 0x000d0309, /* (r1!=1), r1=ysdm.ccfc_load_pend_empty, */
+ 0x0101023a, 0x00010001, 0x000d030a, /* (r1!=1), r1=ysdm.tcfc_load_pend_empty, */
+ 0x0101023b, 0x00010001, 0x000d030b, /* (r1!=1), r1=ysdm.async_host_empty, */
+ 0x0101023c, 0x00010001, 0x000d030c, /* (r1!=1), r1=ysdm.prm_fifo_empty, */
+ 0x0000023d, 0x00010102, 0x0000030d, /* ((r1&~r2)!=0), r1=psdm.INT_STS, r2=psdm.INT_MASK, */
+ 0x0000023e, 0x00010002, 0x00000310, /* ((r1&~r2)!=0), r1=psdm.PRTY_STS_H_0, r2=psdm.PRTY_MASK_H_0, */
+ 0x0101023f, 0x00010001, 0x00000312, /* (r1!=0), r1=psdm.qm_full, */
+ 0x01010240, 0x00010001, 0x00000313, /* (r1!=0), r1=psdm.rsp_brb_if_full, */
+ 0x01010241, 0x00010001, 0x00000314, /* (r1!=0), r1=psdm.rsp_pxp_if_full, */
+ 0x01010242, 0x00010001, 0x00000315, /* (r1!=0), r1=psdm.dst_pxp_if_full, */
+ 0x01010243, 0x00010001, 0x00000316, /* (r1!=0), r1=psdm.dst_int_ram_if_full, */
+ 0x01010244, 0x00010001, 0x00000317, /* (r1!=0), r1=psdm.dst_pas_buf_if_full, */
+ 0x01010245, 0x00010001, 0x000d0318, /* (r1!=1), r1=psdm.int_cmpl_pend_empty, */
+ 0x01010246, 0x00010001, 0x000d0319, /* (r1!=1), r1=psdm.int_cprm_pend_empty, */
+ 0x01010247, 0x00010001, 0x002c031a, /* (r1!=511), r1=psdm.queue_empty, */
+ 0x01010248, 0x00010001, 0x000d031b, /* (r1!=1), r1=psdm.delay_fifo_empty, */
+ 0x01010249, 0x00010001, 0x000d031c, /* (r1!=1), r1=psdm.rsp_pxp_rdata_empty, */
+ 0x0101024a, 0x00010001, 0x000d031d, /* (r1!=1), r1=psdm.rsp_brb_rdata_empty, */
+ 0x0101024b, 0x00010001, 0x000d031e, /* (r1!=1), r1=psdm.rsp_int_ram_rdata_empty, */
+ 0x0101024c, 0x00010001, 0x000d031f, /* (r1!=1), r1=psdm.rsp_brb_pend_empty, */
+ 0x0101024d, 0x00010001, 0x000d0320, /* (r1!=1), r1=psdm.rsp_int_ram_pend_empty, */
+ 0x0101024e, 0x00010001, 0x000d0321, /* (r1!=1), r1=psdm.dst_pxp_immed_empty, */
+ 0x0101024f, 0x00010001, 0x000d0322, /* (r1!=1), r1=psdm.dst_pxp_dst_pend_empty, */
+ 0x01010250, 0x00010001, 0x000d0323, /* (r1!=1), r1=psdm.dst_pxp_src_pend_empty, */
+ 0x01010251, 0x00010001, 0x000d0324, /* (r1!=1), r1=psdm.dst_brb_src_pend_empty, */
+ 0x01010252, 0x00010001, 0x000d0325, /* (r1!=1), r1=psdm.dst_brb_src_addr_empty, */
+ 0x01010253, 0x00010001, 0x000d0326, /* (r1!=1), r1=psdm.dst_pxp_link_empty, */
+ 0x01010254, 0x00010001, 0x000d0327, /* (r1!=1), r1=psdm.dst_int_ram_wait_empty, */
+ 0x01010255, 0x00010001, 0x000d0328, /* (r1!=1), r1=psdm.dst_pas_buf_wait_empty, */
+ 0x01010256, 0x00010001, 0x000d0329, /* (r1!=1), r1=psdm.sh_delay_empty, */
+ 0x01010257, 0x00010001, 0x000d032a, /* (r1!=1), r1=psdm.cm_delay_empty, */
+ 0x01010258, 0x00010001, 0x000d032b, /* (r1!=1), r1=psdm.cmsg_que_empty, */
+ 0x01010259, 0x00010001, 0x000d032c, /* (r1!=1), r1=psdm.ccfc_load_pend_empty, */
+ 0x0101025a, 0x00010001, 0x000d032d, /* (r1!=1), r1=psdm.tcfc_load_pend_empty, */
+ 0x0101025b, 0x00010001, 0x000d032e, /* (r1!=1), r1=psdm.async_host_empty, */
+ 0x0101025c, 0x00010001, 0x000d032f, /* (r1!=1), r1=psdm.prm_fifo_empty, */
+ 0x0000025d, 0x00010102, 0x00000330, /* ((r1&~r2)!=0), r1=tsdm.INT_STS, r2=tsdm.INT_MASK, */
+ 0x0000025e, 0x00010002, 0x00000333, /* ((r1&~r2)!=0), r1=tsdm.PRTY_STS_H_0, r2=tsdm.PRTY_MASK_H_0, */
+ 0x0101025f, 0x00010001, 0x00000335, /* (r1!=0), r1=tsdm.qm_full, */
+ 0x01010260, 0x00010001, 0x00000336, /* (r1!=0), r1=tsdm.rsp_brb_if_full, */
+ 0x01010261, 0x00010001, 0x00000337, /* (r1!=0), r1=tsdm.rsp_pxp_if_full, */
+ 0x01010262, 0x00010001, 0x00000338, /* (r1!=0), r1=tsdm.dst_pxp_if_full, */
+ 0x01010263, 0x00010001, 0x00000339, /* (r1!=0), r1=tsdm.dst_int_ram_if_full, */
+ 0x01010264, 0x00010001, 0x0000033a, /* (r1!=0), r1=tsdm.dst_pas_buf_if_full, */
+ 0x01010265, 0x00010001, 0x000d033b, /* (r1!=1), r1=tsdm.int_cmpl_pend_empty, */
+ 0x01010266, 0x00010001, 0x000d033c, /* (r1!=1), r1=tsdm.int_cprm_pend_empty, */
+ 0x01010267, 0x00010001, 0x002c033d, /* (r1!=511), r1=tsdm.queue_empty, */
+ 0x01010268, 0x00010001, 0x000d033e, /* (r1!=1), r1=tsdm.delay_fifo_empty, */
+ 0x01010269, 0x00010001, 0x000d033f, /* (r1!=1), r1=tsdm.rsp_pxp_rdata_empty, */
+ 0x0101026a, 0x00010001, 0x000d0340, /* (r1!=1), r1=tsdm.rsp_brb_rdata_empty, */
+ 0x0101026b, 0x00010001, 0x000d0341, /* (r1!=1), r1=tsdm.rsp_int_ram_rdata_empty, */
+ 0x0101026c, 0x00010001, 0x000d0342, /* (r1!=1), r1=tsdm.rsp_brb_pend_empty, */
+ 0x0101026d, 0x00010001, 0x000d0343, /* (r1!=1), r1=tsdm.rsp_int_ram_pend_empty, */
+ 0x0101026e, 0x00010001, 0x000d0344, /* (r1!=1), r1=tsdm.dst_pxp_immed_empty, */
+ 0x0101026f, 0x00010001, 0x000d0345, /* (r1!=1), r1=tsdm.dst_pxp_dst_pend_empty, */
+ 0x01010270, 0x00010001, 0x000d0346, /* (r1!=1), r1=tsdm.dst_pxp_src_pend_empty, */
+ 0x01010271, 0x00010001, 0x000d0347, /* (r1!=1), r1=tsdm.dst_brb_src_pend_empty, */
+ 0x01010272, 0x00010001, 0x000d0348, /* (r1!=1), r1=tsdm.dst_brb_src_addr_empty, */
+ 0x01010273, 0x00010001, 0x000d0349, /* (r1!=1), r1=tsdm.dst_pxp_link_empty, */
+ 0x01010274, 0x00010001, 0x000d034a, /* (r1!=1), r1=tsdm.dst_int_ram_wait_empty, */
+ 0x01010275, 0x00010001, 0x000d034b, /* (r1!=1), r1=tsdm.dst_pas_buf_wait_empty, */
+ 0x01010276, 0x00010001, 0x000d034c, /* (r1!=1), r1=tsdm.sh_delay_empty, */
+ 0x01010277, 0x00010001, 0x000d034d, /* (r1!=1), r1=tsdm.cm_delay_empty, */
+ 0x01010278, 0x00010001, 0x000d034e, /* (r1!=1), r1=tsdm.cmsg_que_empty, */
+ 0x01010279, 0x00010001, 0x000d034f, /* (r1!=1), r1=tsdm.ccfc_load_pend_empty, */
+ 0x0101027a, 0x00010001, 0x000d0350, /* (r1!=1), r1=tsdm.tcfc_load_pend_empty, */
+ 0x0101027b, 0x00010001, 0x000d0351, /* (r1!=1), r1=tsdm.async_host_empty, */
+ 0x0101027c, 0x00010001, 0x000d0352, /* (r1!=1), r1=tsdm.prm_fifo_empty, */
+ 0x0000027d, 0x00010102, 0x00000353, /* ((r1&~r2)!=0), r1=msdm.INT_STS, r2=msdm.INT_MASK, */
+ 0x0000027e, 0x00010002, 0x00000356, /* ((r1&~r2)!=0), r1=msdm.PRTY_STS_H_0, r2=msdm.PRTY_MASK_H_0, */
+ 0x0101027f, 0x00010001, 0x00000358, /* (r1!=0), r1=msdm.qm_full, */
+ 0x01010280, 0x00010001, 0x00000359, /* (r1!=0), r1=msdm.rsp_brb_if_full, */
+ 0x01010281, 0x00010001, 0x0000035a, /* (r1!=0), r1=msdm.rsp_pxp_if_full, */
+ 0x01010282, 0x00010001, 0x0000035b, /* (r1!=0), r1=msdm.dst_pxp_if_full, */
+ 0x01010283, 0x00010001, 0x0000035c, /* (r1!=0), r1=msdm.dst_int_ram_if_full, */
+ 0x01010284, 0x00010001, 0x0000035d, /* (r1!=0), r1=msdm.dst_pas_buf_if_full, */
+ 0x01010285, 0x00010001, 0x000d035e, /* (r1!=1), r1=msdm.int_cmpl_pend_empty, */
+ 0x01010286, 0x00010001, 0x000d035f, /* (r1!=1), r1=msdm.int_cprm_pend_empty, */
+ 0x01010287, 0x00010001, 0x002c0360, /* (r1!=511), r1=msdm.queue_empty, */
+ 0x01010288, 0x00010001, 0x000d0361, /* (r1!=1), r1=msdm.delay_fifo_empty, */
+ 0x01010289, 0x00010001, 0x000d0362, /* (r1!=1), r1=msdm.rsp_pxp_rdata_empty, */
+ 0x0101028a, 0x00010001, 0x000d0363, /* (r1!=1), r1=msdm.rsp_brb_rdata_empty, */
+ 0x0101028b, 0x00010001, 0x000d0364, /* (r1!=1), r1=msdm.rsp_int_ram_rdata_empty, */
+ 0x0101028c, 0x00010001, 0x000d0365, /* (r1!=1), r1=msdm.rsp_brb_pend_empty, */
+ 0x0101028d, 0x00010001, 0x000d0366, /* (r1!=1), r1=msdm.rsp_int_ram_pend_empty, */
+ 0x0101028e, 0x00010001, 0x000d0367, /* (r1!=1), r1=msdm.dst_pxp_immed_empty, */
+ 0x0101028f, 0x00010001, 0x000d0368, /* (r1!=1), r1=msdm.dst_pxp_dst_pend_empty, */
+ 0x01010290, 0x00010001, 0x000d0369, /* (r1!=1), r1=msdm.dst_pxp_src_pend_empty, */
+ 0x01010291, 0x00010001, 0x000d036a, /* (r1!=1), r1=msdm.dst_brb_src_pend_empty, */
+ 0x01010292, 0x00010001, 0x000d036b, /* (r1!=1), r1=msdm.dst_brb_src_addr_empty, */
+ 0x01010293, 0x00010001, 0x000d036c, /* (r1!=1), r1=msdm.dst_pxp_link_empty, */
+ 0x01010294, 0x00010001, 0x000d036d, /* (r1!=1), r1=msdm.dst_int_ram_wait_empty, */
+ 0x01010295, 0x00010001, 0x000d036e, /* (r1!=1), r1=msdm.dst_pas_buf_wait_empty, */
+ 0x01010296, 0x00010001, 0x000d036f, /* (r1!=1), r1=msdm.sh_delay_empty, */
+ 0x01010297, 0x00010001, 0x000d0370, /* (r1!=1), r1=msdm.cm_delay_empty, */
+ 0x01010298, 0x00010001, 0x000d0371, /* (r1!=1), r1=msdm.cmsg_que_empty, */
+ 0x01010299, 0x00010001, 0x000d0372, /* (r1!=1), r1=msdm.ccfc_load_pend_empty, */
+ 0x0101029a, 0x00010001, 0x000d0373, /* (r1!=1), r1=msdm.tcfc_load_pend_empty, */
+ 0x0101029b, 0x00010001, 0x000d0374, /* (r1!=1), r1=msdm.async_host_empty, */
+ 0x0101029c, 0x00010001, 0x000d0375, /* (r1!=1), r1=msdm.prm_fifo_empty, */
+ 0x0000029d, 0x00010102, 0x00000376, /* ((r1&~r2)!=0), r1=usdm.INT_STS, r2=usdm.INT_MASK, */
+ 0x0000029e, 0x00010002, 0x00000379, /* ((r1&~r2)!=0), r1=usdm.PRTY_STS_H_0, r2=usdm.PRTY_MASK_H_0, */
+ 0x0101029f, 0x00010001, 0x0000037b, /* (r1!=0), r1=usdm.qm_full, */
+ 0x010102a0, 0x00010001, 0x0000037c, /* (r1!=0), r1=usdm.rsp_brb_if_full, */
+ 0x010102a1, 0x00010001, 0x0000037d, /* (r1!=0), r1=usdm.rsp_pxp_if_full, */
+ 0x010102a2, 0x00010001, 0x0000037e, /* (r1!=0), r1=usdm.dst_pxp_if_full, */
+ 0x010102a3, 0x00010001, 0x0000037f, /* (r1!=0), r1=usdm.dst_int_ram_if_full, */
+ 0x010102a4, 0x00010001, 0x00000380, /* (r1!=0), r1=usdm.dst_pas_buf_if_full, */
+ 0x010102a5, 0x00010001, 0x000d0381, /* (r1!=1), r1=usdm.int_cmpl_pend_empty, */
+ 0x010102a6, 0x00010001, 0x000d0382, /* (r1!=1), r1=usdm.int_cprm_pend_empty, */
+ 0x010102a7, 0x00010001, 0x002c0383, /* (r1!=511), r1=usdm.queue_empty, */
+ 0x010102a8, 0x00010001, 0x000d0384, /* (r1!=1), r1=usdm.delay_fifo_empty, */
+ 0x010102a9, 0x00010001, 0x000d0385, /* (r1!=1), r1=usdm.rsp_pxp_rdata_empty, */
+ 0x010102aa, 0x00010001, 0x000d0386, /* (r1!=1), r1=usdm.rsp_brb_rdata_empty, */
+ 0x010102ab, 0x00010001, 0x000d0387, /* (r1!=1), r1=usdm.rsp_int_ram_rdata_empty, */
+ 0x010102ac, 0x00010001, 0x000d0388, /* (r1!=1), r1=usdm.rsp_brb_pend_empty, */
+ 0x010102ad, 0x00010001, 0x000d0389, /* (r1!=1), r1=usdm.rsp_int_ram_pend_empty, */
+ 0x010102ae, 0x00010001, 0x000d038a, /* (r1!=1), r1=usdm.dst_pxp_immed_empty, */
+ 0x010102af, 0x00010001, 0x000d038b, /* (r1!=1), r1=usdm.dst_pxp_dst_pend_empty, */
+ 0x010102b0, 0x00010001, 0x000d038c, /* (r1!=1), r1=usdm.dst_pxp_src_pend_empty, */
+ 0x010102b1, 0x00010001, 0x000d038d, /* (r1!=1), r1=usdm.dst_brb_src_pend_empty, */
+ 0x010102b2, 0x00010001, 0x000d038e, /* (r1!=1), r1=usdm.dst_brb_src_addr_empty, */
+ 0x010102b3, 0x00010001, 0x000d038f, /* (r1!=1), r1=usdm.dst_pxp_link_empty, */
+ 0x010102b4, 0x00010001, 0x000d0390, /* (r1!=1), r1=usdm.dst_int_ram_wait_empty, */
+ 0x010102b5, 0x00010001, 0x000d0391, /* (r1!=1), r1=usdm.dst_pas_buf_wait_empty, */
+ 0x010102b6, 0x00010001, 0x000d0392, /* (r1!=1), r1=usdm.sh_delay_empty, */
+ 0x010102b7, 0x00010001, 0x000d0393, /* (r1!=1), r1=usdm.cm_delay_empty, */
+ 0x010102b8, 0x00010001, 0x000d0394, /* (r1!=1), r1=usdm.cmsg_que_empty, */
+ 0x010102b9, 0x00010001, 0x000d0395, /* (r1!=1), r1=usdm.ccfc_load_pend_empty, */
+ 0x010102ba, 0x00010001, 0x000d0396, /* (r1!=1), r1=usdm.tcfc_load_pend_empty, */
+ 0x010102bb, 0x00010001, 0x000d0397, /* (r1!=1), r1=usdm.async_host_empty, */
+ 0x010102bc, 0x00010001, 0x000d0398, /* (r1!=1), r1=usdm.prm_fifo_empty, */
+ 0x000002bd, 0x00010002, 0x00000399, /* ((r1&~r2)!=0), r1=xcm.INT_STS_0, r2=xcm.INT_MASK_0, */
+ 0x000002be, 0x00010002, 0x0000039b, /* ((r1&~r2)!=0), r1=xcm.INT_STS_1, r2=xcm.INT_MASK_1, */
+ 0x000002bf, 0x00010102, 0x0000039d, /* ((r1&~r2)!=0), r1=xcm.INT_STS_2, r2=xcm.INT_MASK_2, */
+ 0x000002c0, 0x00010002, 0x000003a0, /* ((r1&~r2)!=0), r1=xcm.PRTY_STS_H_0, r2=xcm.PRTY_MASK_H_0, */
+ 0x000002c1, 0x00010002, 0x000003a2, /* ((r1&~r2)!=0), r1=xcm.PRTY_STS_H_1, r2=xcm.PRTY_MASK_H_1, */
+ 0x010002c2, 0x00010001, 0x000003a4, /* (r1!=0), r1=xcm.fi_desc_input_violate, */
+ 0x010102c3, 0x00010001, 0x000003a5, /* (r1!=0), r1=xcm.ia_agg_con_part_fill_lvl, */
+ 0x010102c4, 0x00010001, 0x000003a6, /* (r1!=0), r1=xcm.ia_sm_con_part_fill_lvl, */
+ 0x010102c5, 0x00010001, 0x000003a7, /* (r1!=0), r1=xcm.ia_trans_part_fill_lvl, */
+ 0x010102c6, 0x00010001, 0x002d03a8, /* (r1!=reset1), r1=xcm.xx_free_cnt, */
+ 0x010102c7, 0x00010001, 0x000003a9, /* (r1!=0), r1=xcm.xx_lcid_cam_fill_lvl, */
+ 0x010102c8, 0x00010001, 0x000003aa, /* (r1!=0), r1=xcm.xx_lock_cnt, */
+ 0x010102c9, 0x00010001, 0x000003ab, /* (r1!=0), r1=xcm.xx_cbyp_tbl_fill_lvl, */
+ 0x010102ca, 0x00010001, 0x000003ac, /* (r1!=0), r1=xcm.agg_con_fic_buf_fill_lvl, */
+ 0x010102cb, 0x00010001, 0x000003ad, /* (r1!=0), r1=xcm.sm_con_fic_buf_fill_lvl, */
+ 0x010102cc, 0x00010001, 0x000003ae, /* (r1!=0), r1=xcm.in_prcs_tbl_fill_lvl, */
+ 0x010102cd, 0x00010001, 0x000d03af, /* (r1!=reset1), r1=xcm.ccfc_init_crd, */
+ 0x010102ce, 0x00010001, 0x000a03b0, /* (r1!=reset1), r1=xcm.qm_init_crd0, */
+ 0x010102cf, 0x00010001, 0x000a03b1, /* (r1!=reset1), r1=xcm.qm_init_crd1, */
+ 0x010102d0, 0x00010001, 0x001103b2, /* (r1!=reset1), r1=xcm.tm_init_crd, */
+ 0x010102d1, 0x00010001, 0x002e03b3, /* (r1!=reset1), r1=xcm.fic_init_crd, */
+ 0x010002d2, 0x00010001, 0x000003b4, /* (r1!=0), r1=xcm.xsdm_length_mis, */
+ 0x010002d3, 0x00010001, 0x000003b5, /* (r1!=0), r1=xcm.ysdm_length_mis, */
+ 0x010002d4, 0x00010001, 0x000003b6, /* (r1!=0), r1=xcm.dorq_length_mis, */
+ 0x010002d5, 0x00010001, 0x000003b7, /* (r1!=0), r1=xcm.pbf_length_mis, */
+ 0x010102d6, 0x00010001, 0x000003b8, /* (r1!=0), r1=xcm.is_qm_p_fill_lvl, */
+ 0x010102d7, 0x00010001, 0x000003b9, /* (r1!=0), r1=xcm.is_qm_s_fill_lvl, */
+ 0x010102d8, 0x00010001, 0x000003ba, /* (r1!=0), r1=xcm.is_tm_fill_lvl, */
+ 0x010102d9, 0x00010001, 0x000003bb, /* (r1!=0), r1=xcm.is_storm_fill_lvl, */
+ 0x010102da, 0x00010001, 0x000003bc, /* (r1!=0), r1=xcm.is_xsdm_fill_lvl, */
+ 0x010102db, 0x00010001, 0x000003bd, /* (r1!=0), r1=xcm.is_ysdm_fill_lvl, */
+ 0x010102dc, 0x00010001, 0x000003be, /* (r1!=0), r1=xcm.is_msem_fill_lvl, */
+ 0x010102dd, 0x00010001, 0x000003bf, /* (r1!=0), r1=xcm.is_usem_fill_lvl, */
+ 0x010102de, 0x00010001, 0x000003c0, /* (r1!=0), r1=xcm.is_dorq_fill_lvl, */
+ 0x010102df, 0x00010001, 0x000003c1, /* (r1!=0), r1=xcm.is_pbf_fill_lvl, */
+ 0x000002e0, 0x00010002, 0x000003c2, /* ((r1&~r2)!=0), r1=ycm.INT_STS_0, r2=ycm.INT_MASK_0, */
+ 0x000002e1, 0x00010002, 0x000003c4, /* ((r1&~r2)!=0), r1=ycm.INT_STS_1, r2=ycm.INT_MASK_1, */
+ 0x000002e2, 0x00010002, 0x000003c6, /* ((r1&~r2)!=0), r1=ycm.PRTY_STS_H_0, r2=ycm.PRTY_MASK_H_0, */
+ 0x000002e3, 0x00010002, 0x000003c8, /* ((r1&~r2)!=0), r1=ycm.PRTY_STS_H_1, r2=ycm.PRTY_MASK_H_1, */
+ 0x010002e4, 0x00010001, 0x000003ca, /* (r1!=0), r1=ycm.fi_desc_input_violate, */
+ 0x010002e5, 0x00010001, 0x000003cb, /* (r1!=0), r1=ycm.se_desc_input_violate, */
+ 0x010102e6, 0x00010001, 0x000003cc, /* (r1!=0), r1=ycm.ia_sm_con_part_fill_lvl, */
+ 0x010102e7, 0x00010001, 0x000003cd, /* (r1!=0), r1=ycm.ia_agg_task_part_fill_lvl, */
+ 0x010102e8, 0x00010001, 0x000003ce, /* (r1!=0), r1=ycm.ia_sm_task_part_fill_lvl, */
+ 0x010102e9, 0x00010001, 0x000003cf, /* (r1!=0), r1=ycm.ia_trans_part_fill_lvl, */
+ 0x010102ea, 0x00010001, 0x002d03d0, /* (r1!=reset1), r1=ycm.xx_free_cnt, */
+ 0x010102eb, 0x00010001, 0x000003d1, /* (r1!=0), r1=ycm.xx_lcid_cam_fill_lvl, */
+ 0x010102ec, 0x00010001, 0x000003d2, /* (r1!=0), r1=ycm.xx_lock_cnt, */
+ 0x010102ed, 0x00010001, 0x000003d3, /* (r1!=0), r1=ycm.xx_cbyp_tbl_fill_lvl, */
+ 0x010102ee, 0x00010001, 0x000003d4, /* (r1!=0), r1=ycm.xx_tbyp_tbl_fill_lvl, */
+ 0x010102ef, 0x00010001, 0x000003d5, /* (r1!=0), r1=ycm.xx_tbyp_tbl_fill_lvl, */
+ 0x010102f0, 0x00010001, 0x000003d6, /* (r1!=0), r1=ycm.sm_con_fic_buf_fill_lvl, */
+ 0x010102f1, 0x00010001, 0x000003d7, /* (r1!=0), r1=ycm.agg_task_fic_buf_fill_lvl, */
+ 0x010102f2, 0x00010001, 0x000003d8, /* (r1!=0), r1=ycm.sm_task_fic_buf_fill_lvl, */
+ 0x010102f3, 0x00010001, 0x000003d9, /* (r1!=0), r1=ycm.in_prcs_tbl_fill_lvl, */
+ 0x010102f4, 0x00010001, 0x000d03da, /* (r1!=reset1), r1=ycm.ccfc_init_crd, */
+ 0x010102f5, 0x00010001, 0x000d03db, /* (r1!=reset1), r1=ycm.tcfc_init_crd, */
+ 0x010102f6, 0x00010001, 0x000a03dc, /* (r1!=reset1), r1=ycm.qm_init_crd0, */
+ 0x010102f7, 0x00010001, 0x002f03dd, /* (r1!=reset1), r1=ycm.fic_init_crd, */
+ 0x010002f8, 0x00010001, 0x000003de, /* (r1!=0), r1=ycm.ysdm_length_mis, */
+ 0x010002f9, 0x00010001, 0x000003df, /* (r1!=0), r1=ycm.pbf_length_mis, */
+ 0x010002fa, 0x00010001, 0x000003e0, /* (r1!=0), r1=ycm.xyld_length_mis, */
+ 0x010102fb, 0x00010001, 0x000003e1, /* (r1!=0), r1=ycm.is_qm_p_fill_lvl, */
+ 0x010102fc, 0x00010001, 0x000003e2, /* (r1!=0), r1=ycm.is_qm_s_fill_lvl, */
+ 0x010102fd, 0x00010001, 0x000003e3, /* (r1!=0), r1=ycm.is_storm_fill_lvl, */
+ 0x010102fe, 0x00010001, 0x000003e4, /* (r1!=0), r1=ycm.is_ysdm_fill_lvl, */
+ 0x010102ff, 0x00010001, 0x000003e5, /* (r1!=0), r1=ycm.is_xyld_fill_lvl, */
+ 0x01010300, 0x00010001, 0x000003e6, /* (r1!=0), r1=ycm.is_msem_fill_lvl, */
+ 0x01010301, 0x00010001, 0x000003e7, /* (r1!=0), r1=ycm.is_usem_fill_lvl, */
+ 0x01010302, 0x00010001, 0x000003e8, /* (r1!=0), r1=ycm.is_pbf_fill_lvl, */
+ 0x00000303, 0x00010002, 0x000003e9, /* ((r1&~r2)!=0), r1=pcm.INT_STS_0, r2=pcm.INT_MASK_0, */
+ 0x00000304, 0x00010002, 0x000003eb, /* ((r1&~r2)!=0), r1=pcm.INT_STS_1, r2=pcm.INT_MASK_1, */
+ 0x00000305, 0x00010002, 0x000003ed, /* ((r1&~r2)!=0), r1=pcm.PRTY_STS_H_0, r2=pcm.PRTY_MASK_H_0, */
+ 0x01000306, 0x00010001, 0x000003ef, /* (r1!=0), r1=pcm.fi_desc_input_violate, */
+ 0x01010307, 0x00010001, 0x000003f0, /* (r1!=0), r1=pcm.ia_sm_con_part_fill_lvl, */
+ 0x01010308, 0x00010001, 0x000003f1, /* (r1!=0), r1=pcm.ia_trans_part_fill_lvl, */
+ 0x01010309, 0x00010001, 0x001103f2, /* (r1!=reset1), r1=pcm.xx_free_cnt, */
+ 0x0101030a, 0x00010001, 0x000003f3, /* (r1!=0), r1=pcm.xx_lcid_cam_fill_lvl, */
+ 0x0101030b, 0x00010001, 0x000003f4, /* (r1!=0), r1=pcm.xx_lock_cnt, */
+ 0x0101030c, 0x00010001, 0x000003f5, /* (r1!=0), r1=pcm.sm_con_fic_buf_fill_lvl, */
+ 0x0101030d, 0x00010001, 0x000003f6, /* (r1!=0), r1=pcm.in_prcs_tbl_fill_lvl, */
+ 0x0101030e, 0x00010001, 0x000d03f7, /* (r1!=reset1), r1=pcm.ccfc_init_crd, */
+ 0x0101030f, 0x00010001, 0x002e03f8, /* (r1!=reset1), r1=pcm.fic_init_crd, */
+ 0x01010310, 0x00010001, 0x000003f9, /* (r1!=0), r1=pcm.is_storm_fill_lvl, */
+ 0x00000311, 0x00010002, 0x000003fa, /* ((r1&~r2)!=0), r1=tcm.INT_STS_0, r2=tcm.INT_MASK_0, */
+ 0x00000312, 0x00010002, 0x000003fc, /* ((r1&~r2)!=0), r1=tcm.INT_STS_1, r2=tcm.INT_MASK_1, */
+ 0x00000313, 0x00010002, 0x000003fe, /* ((r1&~r2)!=0), r1=tcm.PRTY_STS_H_0, r2=tcm.PRTY_MASK_H_0, */
+ 0x00000314, 0x00010002, 0x00000400, /* ((r1&~r2)!=0), r1=tcm.PRTY_STS_H_1, r2=tcm.PRTY_MASK_H_1, */
+ 0x01000315, 0x00010001, 0x00000402, /* (r1!=0), r1=tcm.fi_desc_input_violate, */
+ 0x01000316, 0x00010001, 0x00000403, /* (r1!=0), r1=tcm.se_desc_input_violate, */
+ 0x01010317, 0x00010001, 0x00000404, /* (r1!=0), r1=tcm.ia_agg_con_part_fill_lvl, */
+ 0x01010318, 0x00010001, 0x00000405, /* (r1!=0), r1=tcm.ia_sm_con_part_fill_lvl, */
+ 0x01010319, 0x00010001, 0x00000406, /* (r1!=0), r1=tcm.ia_agg_task_part_fill_lvl, */
+ 0x0101031a, 0x00010001, 0x00000407, /* (r1!=0), r1=tcm.ia_sm_task_part_fill_lvl, */
+ 0x0101031b, 0x00010001, 0x00000408, /* (r1!=0), r1=tcm.ia_trans_part_fill_lvl, */
+ 0x0101031c, 0x00010001, 0x002d0409, /* (r1!=reset1), r1=tcm.xx_free_cnt, */
+ 0x0101031d, 0x00010001, 0x0000040a, /* (r1!=0), r1=tcm.xx_lcid_cam_fill_lvl, */
+ 0x0101031e, 0x00010001, 0x0000040b, /* (r1!=0), r1=tcm.xx_lock_cnt, */
+ 0x0101031f, 0x00010001, 0x0000040c, /* (r1!=0), r1=tcm.xx_cbyp_tbl_fill_lvl, */
+ 0x01010320, 0x00010001, 0x0000040d, /* (r1!=0), r1=tcm.xx_tbyp_tbl_fill_lvl, */
+ 0x01010321, 0x00010001, 0x0000040e, /* (r1!=0), r1=tcm.xx_tbyp_tbl_fill_lvl, */
+ 0x01010322, 0x00010001, 0x0000040f, /* (r1!=0), r1=tcm.agg_con_fic_buf_fill_lvl, */
+ 0x01010323, 0x00010001, 0x00000410, /* (r1!=0), r1=tcm.sm_con_fic_buf_fill_lvl, */
+ 0x01010324, 0x00010001, 0x00000411, /* (r1!=0), r1=tcm.agg_task_fic_buf_fill_lvl, */
+ 0x01010325, 0x00010001, 0x00000412, /* (r1!=0), r1=tcm.sm_task_fic_buf_fill_lvl, */
+ 0x01010326, 0x00010001, 0x00000413, /* (r1!=0), r1=tcm.in_prcs_tbl_fill_lvl, */
+ 0x01010327, 0x00010001, 0x000d0414, /* (r1!=reset1), r1=tcm.ccfc_init_crd, */
+ 0x01010328, 0x00010001, 0x000d0415, /* (r1!=reset1), r1=tcm.tcfc_init_crd, */
+ 0x01010329, 0x00010001, 0x000a0416, /* (r1!=reset1), r1=tcm.qm_init_crd0, */
+ 0x0101032a, 0x00010001, 0x00110417, /* (r1!=reset1), r1=tcm.tm_init_crd, */
+ 0x0101032b, 0x00010001, 0x00300418, /* (r1!=reset1), r1=tcm.fic_init_crd, */
+ 0x0100032c, 0x00010001, 0x00000419, /* (r1!=0), r1=tcm.dorq_length_mis, */
+ 0x0100032d, 0x00010001, 0x0000041a, /* (r1!=0), r1=tcm.pbf_length_mis, */
+ 0x0101032e, 0x00010001, 0x0000041b, /* (r1!=0), r1=tcm.is_qm_p_fill_lvl, */
+ 0x0101032f, 0x00010001, 0x0000041c, /* (r1!=0), r1=tcm.is_qm_s_fill_lvl, */
+ 0x01010330, 0x00010001, 0x0000041d, /* (r1!=0), r1=tcm.is_tm_fill_lvl, */
+ 0x01010331, 0x00010001, 0x0000041e, /* (r1!=0), r1=tcm.is_storm_fill_lvl, */
+ 0x01010332, 0x00010001, 0x0000041f, /* (r1!=0), r1=tcm.is_msem_fill_lvl, */
+ 0x01010333, 0x00010001, 0x00000420, /* (r1!=0), r1=tcm.is_dorq_fill_lvl, */
+ 0x01010334, 0x00010001, 0x00000421, /* (r1!=0), r1=tcm.is_pbf_fill_lvl, */
+ 0x00000335, 0x00010002, 0x00000422, /* ((r1&~r2)!=0), r1=mcm.INT_STS_0, r2=mcm.INT_MASK_0, */
+ 0x00000336, 0x00010002, 0x00000424, /* ((r1&~r2)!=0), r1=mcm.INT_STS_1, r2=mcm.INT_MASK_1, */
+ 0x00000337, 0x00010002, 0x00000426, /* ((r1&~r2)!=0), r1=mcm.PRTY_STS_H_0, r2=mcm.PRTY_MASK_H_0, */
+ 0x00000338, 0x00010002, 0x00000428, /* ((r1&~r2)!=0), r1=mcm.PRTY_STS_H_1, r2=mcm.PRTY_MASK_H_1, */
+ 0x01000339, 0x00010001, 0x0000042a, /* (r1!=0), r1=mcm.fi_desc_input_violate, */
+ 0x0100033a, 0x00010001, 0x0000042b, /* (r1!=0), r1=mcm.se_desc_input_violate, */
+ 0x0101033b, 0x00010001, 0x0000042c, /* (r1!=0), r1=mcm.ia_agg_con_part_fill_lvl, */
+ 0x0101033c, 0x00010001, 0x0000042d, /* (r1!=0), r1=mcm.ia_sm_con_part_fill_lvl, */
+ 0x0101033d, 0x00010001, 0x0000042e, /* (r1!=0), r1=mcm.ia_agg_task_part_fill_lvl, */
+ 0x0101033e, 0x00010001, 0x0000042f, /* (r1!=0), r1=mcm.ia_sm_task_part_fill_lvl, */
+ 0x0101033f, 0x00010001, 0x00000430, /* (r1!=0), r1=mcm.ia_trans_part_fill_lvl, */
+ 0x01010340, 0x00010001, 0x002d0431, /* (r1!=reset1), r1=mcm.xx_free_cnt, */
+ 0x01010341, 0x00010001, 0x00000432, /* (r1!=0), r1=mcm.xx_lcid_cam_fill_lvl, */
+ 0x01010342, 0x00010001, 0x00000433, /* (r1!=0), r1=mcm.xx_lock_cnt, */
+ 0x01010343, 0x00010001, 0x00000434, /* (r1!=0), r1=mcm.xx_cbyp_tbl_fill_lvl, */
+ 0x01010344, 0x00010001, 0x00000435, /* (r1!=0), r1=mcm.xx_tbyp_tbl_fill_lvl, */
+ 0x01010345, 0x00010001, 0x00000436, /* (r1!=0), r1=mcm.xx_tbyp_tbl_fill_lvl, */
+ 0x01010346, 0x00010001, 0x00000437, /* (r1!=0), r1=mcm.agg_con_fic_buf_fill_lvl, */
+ 0x01010347, 0x00010001, 0x00000438, /* (r1!=0), r1=mcm.sm_con_fic_buf_fill_lvl, */
+ 0x01010348, 0x00010001, 0x00000439, /* (r1!=0), r1=mcm.agg_task_fic_buf_fill_lvl, */
+ 0x01010349, 0x00010001, 0x0000043a, /* (r1!=0), r1=mcm.sm_task_fic_buf_fill_lvl, */
+ 0x0101034a, 0x00010001, 0x0000043b, /* (r1!=0), r1=mcm.in_prcs_tbl_fill_lvl, */
+ 0x0101034b, 0x00010001, 0x000d043c, /* (r1!=reset1), r1=mcm.ccfc_init_crd, */
+ 0x0101034c, 0x00010001, 0x000d043d, /* (r1!=reset1), r1=mcm.tcfc_init_crd, */
+ 0x0101034d, 0x00010001, 0x000a043e, /* (r1!=reset1), r1=mcm.qm_init_crd0, */
+ 0x0101034e, 0x00010001, 0x0030043f, /* (r1!=reset1), r1=mcm.fic_init_crd, */
+ 0x0100034f, 0x00010001, 0x00000440, /* (r1!=0), r1=mcm.ysdm_length_mis, */
+ 0x01000350, 0x00010001, 0x00000441, /* (r1!=0), r1=mcm.usdm_length_mis, */
+ 0x01000351, 0x00010001, 0x00000442, /* (r1!=0), r1=mcm.pbf_length_mis, */
+ 0x01000352, 0x00010001, 0x00000443, /* (r1!=0), r1=mcm.tmld_length_mis, */
+ 0x01010353, 0x00010001, 0x00000444, /* (r1!=0), r1=mcm.is_qm_p_fill_lvl, */
+ 0x01010354, 0x00010001, 0x00000445, /* (r1!=0), r1=mcm.is_qm_s_fill_lvl, */
+ 0x01010355, 0x00010001, 0x00000446, /* (r1!=0), r1=mcm.is_storm_fill_lvl, */
+ 0x01010356, 0x00010001, 0x00000447, /* (r1!=0), r1=mcm.is_ysdm_fill_lvl, */
+ 0x01010357, 0x00010001, 0x00000448, /* (r1!=0), r1=mcm.is_usdm_fill_lvl, */
+ 0x01010358, 0x00010001, 0x00000449, /* (r1!=0), r1=mcm.is_tmld_fill_lvl, */
+ 0x01010359, 0x00010001, 0x0000044a, /* (r1!=0), r1=mcm.is_usem_fill_lvl, */
+ 0x0101035a, 0x00010001, 0x0000044b, /* (r1!=0), r1=mcm.is_pbf_fill_lvl, */
+ 0x0000035b, 0x00010002, 0x0000044c, /* ((r1&~r2)!=0), r1=ucm.INT_STS_0, r2=ucm.INT_MASK_0, */
+ 0x0000035c, 0x00010002, 0x0000044e, /* ((r1&~r2)!=0), r1=ucm.INT_STS_1, r2=ucm.INT_MASK_1, */
+ 0x0000035d, 0x00010002, 0x00000450, /* ((r1&~r2)!=0), r1=ucm.PRTY_STS_H_0, r2=ucm.PRTY_MASK_H_0, */
+ 0x0000035e, 0x00010002, 0x00000452, /* ((r1&~r2)!=0), r1=ucm.PRTY_STS_H_1, r2=ucm.PRTY_MASK_H_1, */
+ 0x0100035f, 0x00010001, 0x00000454, /* (r1!=0), r1=ucm.fi_desc_input_violate, */
+ 0x01000360, 0x00010001, 0x00000455, /* (r1!=0), r1=ucm.se_desc_input_violate, */
+ 0x01010361, 0x00010001, 0x00000456, /* (r1!=0), r1=ucm.ia_agg_con_part_fill_lvl, */
+ 0x01010362, 0x00010001, 0x00000457, /* (r1!=0), r1=ucm.ia_sm_con_part_fill_lvl, */
+ 0x01010363, 0x00010001, 0x00000458, /* (r1!=0), r1=ucm.ia_agg_task_part_fill_lvl, */
+ 0x01010364, 0x00010001, 0x00000459, /* (r1!=0), r1=ucm.ia_sm_task_part_fill_lvl, */
+ 0x01010365, 0x00010001, 0x0000045a, /* (r1!=0), r1=ucm.ia_trans_part_fill_lvl, */
+ 0x01010366, 0x00010001, 0x002d045b, /* (r1!=reset1), r1=ucm.xx_free_cnt, */
+ 0x01010367, 0x00010001, 0x0000045c, /* (r1!=0), r1=ucm.xx_lcid_cam_fill_lvl, */
+ 0x01010368, 0x00010001, 0x0000045d, /* (r1!=0), r1=ucm.xx_lock_cnt, */
+ 0x01010369, 0x00010001, 0x0000045e, /* (r1!=0), r1=ucm.xx_cbyp_tbl_fill_lvl, */
+ 0x0101036a, 0x00010001, 0x0000045f, /* (r1!=0), r1=ucm.xx_tbyp_tbl_fill_lvl, */
+ 0x0101036b, 0x00010001, 0x00000460, /* (r1!=0), r1=ucm.xx_tbyp_tbl_fill_lvl, */
+ 0x0101036c, 0x00010001, 0x00000461, /* (r1!=0), r1=ucm.agg_con_fic_buf_fill_lvl, */
+ 0x0101036d, 0x00010001, 0x00000462, /* (r1!=0), r1=ucm.sm_con_fic_buf_fill_lvl, */
+ 0x0101036e, 0x00010001, 0x00000463, /* (r1!=0), r1=ucm.agg_task_fic_buf_fill_lvl, */
+ 0x0101036f, 0x00010001, 0x00000464, /* (r1!=0), r1=ucm.sm_task_fic_buf_fill_lvl, */
+ 0x01010370, 0x00010001, 0x00000465, /* (r1!=0), r1=ucm.in_prcs_tbl_fill_lvl, */
+ 0x01010371, 0x00010001, 0x000d0466, /* (r1!=reset1), r1=ucm.ccfc_init_crd, */
+ 0x01010372, 0x00010001, 0x000d0467, /* (r1!=reset1), r1=ucm.tcfc_init_crd, */
+ 0x01010373, 0x00010001, 0x000a0468, /* (r1!=reset1), r1=ucm.qm_init_crd0, */
+ 0x01010374, 0x00010001, 0x00110469, /* (r1!=reset1), r1=ucm.tm_init_crd, */
+ 0x01010375, 0x00010001, 0x002f046a, /* (r1!=reset1), r1=ucm.fic_init_crd, */
+ 0x01000376, 0x00010001, 0x0000046b, /* (r1!=0), r1=ucm.ysdm_length_mis, */
+ 0x01000377, 0x00010001, 0x0000046c, /* (r1!=0), r1=ucm.usdm_length_mis, */
+ 0x01000378, 0x00010001, 0x0000046d, /* (r1!=0), r1=ucm.dorq_length_mis, */
+ 0x01000379, 0x00010001, 0x0000046e, /* (r1!=0), r1=ucm.pbf_length_mis, */
+ 0x0100037a, 0x00010001, 0x0000046f, /* (r1!=0), r1=ucm.rdif_length_mis, */
+ 0x0100037b, 0x00010001, 0x00000470, /* (r1!=0), r1=ucm.tdif_length_mis, */
+ 0x0100037c, 0x00010001, 0x00000471, /* (r1!=0), r1=ucm.muld_length_mis, */
+ 0x0101037d, 0x00010001, 0x00000472, /* (r1!=0), r1=ucm.is_qm_p_fill_lvl, */
+ 0x0101037e, 0x00010001, 0x00000473, /* (r1!=0), r1=ucm.is_qm_s_fill_lvl, */
+ 0x0101037f, 0x00010001, 0x00000474, /* (r1!=0), r1=ucm.is_tm_fill_lvl, */
+ 0x01010380, 0x00010001, 0x00000475, /* (r1!=0), r1=ucm.is_storm_fill_lvl, */
+ 0x01010381, 0x00010001, 0x00000476, /* (r1!=0), r1=ucm.is_ysdm_fill_lvl, */
+ 0x01010382, 0x00010001, 0x00000477, /* (r1!=0), r1=ucm.is_usdm_fill_lvl, */
+ 0x01010383, 0x00010001, 0x00000478, /* (r1!=0), r1=ucm.is_rdif_fill_lvl, */
+ 0x01010384, 0x00010001, 0x00000479, /* (r1!=0), r1=ucm.is_tdif_fill_lvl, */
+ 0x01010385, 0x00010001, 0x0000047a, /* (r1!=0), r1=ucm.is_muld_fill_lvl, */
+ 0x01010386, 0x00010001, 0x0000047b, /* (r1!=0), r1=ucm.is_dorq_fill_lvl, */
+ 0x01010387, 0x00010001, 0x0000047c, /* (r1!=0), r1=ucm.is_pbf_fill_lvl, */
+ 0x00000388, 0x00010002, 0x0000047d, /* ((r1&~r2)!=0), r1=xsem.INT_STS_0, r2=xsem.INT_MASK_0, */
+ 0x00000389, 0x00010002, 0x0000047f, /* ((r1&~r2)!=0), r1=xsem.INT_STS_1, r2=xsem.INT_MASK_1, */
+ 0x0000038a, 0x00010002, 0x00000481, /* ((r1&~r2)!=0), r1=xsem.PRTY_STS, r2=xsem.PRTY_MASK, */
+ 0x0102038b, 0x00010001, 0x00000483, /* (r1!=0), r1=xsem.pf_err_vector, */
+ 0x0101038c, 0x00010001, 0x00310484, /* (r1!=0x1D), r1=xsem.foc_credit[1], */
+ 0x0101038d, 0x00010001, 0x00320485, /* (r1!=0x3F), r1=xsem.foc_credit, */
+ 0x0101038e, 0x00010001, 0x000d0486, /* (r1!=1), r1=xsem.ext_pas_empty, */
+ 0x0101038f, 0x00010001, 0x000d0487, /* (r1!=1), r1=xsem.fic_empty[0:1], */
+ 0x01010390, 0x00010001, 0x000d0488, /* (r1!=1), r1=xsem.slow_ext_store_empty, */
+ 0x01010391, 0x00010001, 0x000d0489, /* (r1!=1), r1=xsem.slow_ext_load_empty, */
+ 0x01010392, 0x00010001, 0x000d048a, /* (r1!=1), r1=xsem.slow_ram_wr_empty, */
+ 0x01010393, 0x00010001, 0x000d048b, /* (r1!=1), r1=xsem.sync_dbg_empty, */
+ 0x01010394, 0x00010001, 0x0000048c, /* (r1!=0), r1=xsem.ext_store_if_full, */
+ 0x01010395, 0x00010001, 0x0000048d, /* (r1!=0), r1=xsem.ram_if_full, */
+ 0x00000396, 0x00010002, 0x0000048e, /* ((r1&~r2)!=0), r1=ysem.INT_STS_0, r2=ysem.INT_MASK_0, */
+ 0x00000397, 0x00010002, 0x00000490, /* ((r1&~r2)!=0), r1=ysem.INT_STS_1, r2=ysem.INT_MASK_1, */
+ 0x00000398, 0x00010002, 0x00000492, /* ((r1&~r2)!=0), r1=ysem.PRTY_STS, r2=ysem.PRTY_MASK, */
+ 0x01020399, 0x00010001, 0x00000494, /* (r1!=0), r1=ysem.pf_err_vector, */
+ 0x0101039a, 0x00010001, 0x00330495, /* (r1!=0xA), r1=ysem.foc_credit[2], */
+ 0x0101039b, 0x00010001, 0x00340496, /* (r1!=0xE), r1=ysem.foc_credit, */
+ 0x0101039c, 0x00010001, 0x00350497, /* (r1!=0x1A), r1=ysem.foc_credit[1], */
+ 0x0101039d, 0x00010001, 0x00280498, /* (r1!=0x7), r1=ysem.foc_credit[3], */
+ 0x0101039e, 0x00010001, 0x00360499, /* (r1!=0x26), r1=ysem.foc_credit[4], */
+ 0x0101039f, 0x00010001, 0x002e049a, /* (r1!=0x28), r1=ysem.foc_credit[5], */
+ 0x010103a0, 0x00010001, 0x000d049b, /* (r1!=1), r1=ysem.ext_pas_empty, */
+ 0x010103a1, 0x00010001, 0x000d049c, /* (r1!=1), r1=ysem.fic_empty[0:1], */
+ 0x010103a2, 0x00010001, 0x000d049d, /* (r1!=1), r1=ysem.slow_ext_store_empty, */
+ 0x010103a3, 0x00010001, 0x000d049e, /* (r1!=1), r1=ysem.slow_ext_load_empty, */
+ 0x010103a4, 0x00010001, 0x000d049f, /* (r1!=1), r1=ysem.slow_ram_wr_empty, */
+ 0x010103a5, 0x00010001, 0x000d04a0, /* (r1!=1), r1=ysem.sync_dbg_empty, */
+ 0x010103a6, 0x00010001, 0x000004a1, /* (r1!=0), r1=ysem.ext_store_if_full, */
+ 0x010103a7, 0x00010001, 0x000004a2, /* (r1!=0), r1=ysem.ram_if_full, */
+ 0x000003a8, 0x00010002, 0x000004a3, /* ((r1&~r2)!=0), r1=psem.INT_STS_0, r2=psem.INT_MASK_0, */
+ 0x000003a9, 0x00010002, 0x000004a5, /* ((r1&~r2)!=0), r1=psem.INT_STS_1, r2=psem.INT_MASK_1, */
+ 0x000003aa, 0x00010002, 0x000004a7, /* ((r1&~r2)!=0), r1=psem.PRTY_STS, r2=psem.PRTY_MASK, */
+ 0x010203ab, 0x00010001, 0x000004a9, /* (r1!=0), r1=psem.pf_err_vector, */
+ 0x010103ac, 0x00010001, 0x003704aa, /* (r1!=0x17), r1=psem.foc_credit, */
+ 0x010103ad, 0x00010001, 0x002d04ab, /* (r1!=0x40), r1=psem.foc_credit[1], */
+ 0x010103ae, 0x00010001, 0x000d04ac, /* (r1!=1), r1=psem.ext_pas_empty, */
+ 0x010103af, 0x00010001, 0x000d04ad, /* (r1!=1), r1=psem.fic_empty, */
+ 0x010103b0, 0x00010001, 0x000d04ae, /* (r1!=1), r1=psem.slow_ext_store_empty, */
+ 0x010103b1, 0x00010001, 0x000d04af, /* (r1!=1), r1=psem.slow_ext_load_empty, */
+ 0x010103b2, 0x00010001, 0x000d04b0, /* (r1!=1), r1=psem.slow_ram_wr_empty, */
+ 0x010103b3, 0x00010001, 0x000d04b1, /* (r1!=1), r1=psem.sync_dbg_empty, */
+ 0x010103b4, 0x00010001, 0x000004b2, /* (r1!=0), r1=psem.ext_store_if_full, */
+ 0x010103b5, 0x00010001, 0x000004b3, /* (r1!=0), r1=psem.ram_if_full, */
+ 0x000003b6, 0x00010002, 0x000004b4, /* ((r1&~r2)!=0), r1=tsem.INT_STS_0, r2=tsem.INT_MASK_0, */
+ 0x000003b7, 0x00010002, 0x000004b6, /* ((r1&~r2)!=0), r1=tsem.INT_STS_1, r2=tsem.INT_MASK_1, */
+ 0x000003b8, 0x00010002, 0x000004b8, /* ((r1&~r2)!=0), r1=tsem.PRTY_STS, r2=tsem.PRTY_MASK, */
+ 0x010203b9, 0x00010001, 0x000004ba, /* (r1!=0), r1=tsem.pf_err_vector, */
+ 0x010103ba, 0x00010001, 0x003804bb, /* (r1!=0x2C), r1=tsem.foc_credit, */
+ 0x010103bb, 0x00010001, 0x003904bc, /* (r1!=0x3C), r1=tsem.foc_credit[1], */
+ 0x010103bc, 0x00010001, 0x000d04bd, /* (r1!=1), r1=tsem.ext_pas_empty, */
+ 0x010103bd, 0x00010001, 0x000d04be, /* (r1!=1), r1=tsem.fic_empty, */
+ 0x010103be, 0x00010001, 0x000d04bf, /* (r1!=1), r1=tsem.slow_ext_store_empty, */
+ 0x010103bf, 0x00010001, 0x000d04c0, /* (r1!=1), r1=tsem.slow_ext_load_empty, */
+ 0x010103c0, 0x00010001, 0x000d04c1, /* (r1!=1), r1=tsem.slow_ram_wr_empty, */
+ 0x010103c1, 0x00010001, 0x000d04c2, /* (r1!=1), r1=tsem.sync_dbg_empty, */
+ 0x010103c2, 0x00010001, 0x000004c3, /* (r1!=0), r1=tsem.ext_store_if_full, */
+ 0x010103c3, 0x00010001, 0x000004c4, /* (r1!=0), r1=tsem.ram_if_full, */
+ 0x000003c4, 0x00010002, 0x000004c5, /* ((r1&~r2)!=0), r1=msem.INT_STS_0, r2=msem.INT_MASK_0, */
+ 0x000003c5, 0x00010002, 0x000004c7, /* ((r1&~r2)!=0), r1=msem.INT_STS_1, r2=msem.INT_MASK_1, */
+ 0x000003c6, 0x00010002, 0x000004c9, /* ((r1&~r2)!=0), r1=msem.PRTY_STS, r2=msem.PRTY_MASK, */
+ 0x000003c7, 0x00010002, 0x000004cb, /* ((r1&~r2)!=0), r1=msem.PRTY_STS_H_0, r2=msem.PRTY_MASK_H_0, */
+ 0x010203c8, 0x00010001, 0x000004cd, /* (r1!=0), r1=msem.pf_err_vector, */
+ 0x010103c9, 0x00010001, 0x001a04ce, /* (r1!=0x11), r1=msem.foc_credit[3], */
+ 0x010103ca, 0x00010001, 0x002804cf, /* (r1!=0x7), r1=msem.foc_credit[4], */
+ 0x010103cb, 0x00010001, 0x000f04d0, /* (r1!=0x20), r1=msem.foc_credit[5], */
+ 0x010103cc, 0x00010001, 0x000904d1, /* (r1!=0x5), r1=msem.foc_credit, */
+ 0x010103cd, 0x00010001, 0x003804d2, /* (r1!=0x2C), r1=msem.foc_credit[1], */
+ 0x010103ce, 0x00010001, 0x003704d3, /* (r1!=0x17), r1=msem.foc_credit[2], */
+ 0x010103cf, 0x00010001, 0x000d04d4, /* (r1!=1), r1=msem.ext_pas_empty, */
+ 0x010103d0, 0x00010001, 0x000d04d5, /* (r1!=1), r1=msem.fic_empty, */
+ 0x010103d1, 0x00010001, 0x000d04d6, /* (r1!=1), r1=msem.slow_ext_store_empty, */
+ 0x010103d2, 0x00010001, 0x000d04d7, /* (r1!=1), r1=msem.slow_ext_load_empty, */
+ 0x010103d3, 0x00010001, 0x000d04d8, /* (r1!=1), r1=msem.slow_ram_wr_empty, */
+ 0x010103d4, 0x00010001, 0x000d04d9, /* (r1!=1), r1=msem.sync_dbg_empty, */
+ 0x010103d5, 0x00010001, 0x000004da, /* (r1!=0), r1=msem.ext_store_if_full, */
+ 0x010103d6, 0x00010001, 0x000004db, /* (r1!=0), r1=msem.ram_if_full, */
+ 0x000003d7, 0x00010002, 0x000004dc, /* ((r1&~r2)!=0), r1=usem.INT_STS_0, r2=usem.INT_MASK_0, */
+ 0x000003d8, 0x00010002, 0x000004de, /* ((r1&~r2)!=0), r1=usem.INT_STS_1, r2=usem.INT_MASK_1, */
+ 0x000003d9, 0x00010002, 0x000004e0, /* ((r1&~r2)!=0), r1=usem.PRTY_STS, r2=usem.PRTY_MASK, */
+ 0x010203da, 0x00010001, 0x000004e2, /* (r1!=0), r1=usem.pf_err_vector, */
+ 0x010103db, 0x00010001, 0x003a04e3, /* (r1!=0x32), r1=usem.foc_credit[1], */
+ 0x010103dc, 0x00010001, 0x001304e4, /* (r1!=0x3), r1=usem.foc_credit[3], */
+ 0x010103dd, 0x00010001, 0x003304e5, /* (r1!=0xA), r1=usem.foc_credit[2], */
+ 0x010103de, 0x00010001, 0x000904e6, /* (r1!=0x5), r1=usem.foc_credit, */
+ 0x010103df, 0x00010001, 0x000f04e7, /* (r1!=0x20), r1=usem.foc_credit[4], */
+ 0x010103e0, 0x00010001, 0x000d04e8, /* (r1!=1), r1=usem.ext_pas_empty, */
+ 0x010103e1, 0x00010001, 0x000d04e9, /* (r1!=1), r1=usem.fic_empty, */
+ 0x010103e2, 0x00010001, 0x000d04ea, /* (r1!=1), r1=usem.slow_ext_store_empty, */
+ 0x010103e3, 0x00010001, 0x000d04eb, /* (r1!=1), r1=usem.slow_ext_load_empty, */
+ 0x010103e4, 0x00010001, 0x000d04ec, /* (r1!=1), r1=usem.slow_ram_wr_empty, */
+ 0x010103e5, 0x00010001, 0x000d04ed, /* (r1!=1), r1=usem.sync_dbg_empty, */
+ 0x010103e6, 0x00010001, 0x000004ee, /* (r1!=0), r1=usem.ext_store_if_full, */
+ 0x010103e7, 0x00010001, 0x000004ef, /* (r1!=0), r1=usem.ram_if_full, */
+ 0x009f0007, /* mode bb */
+ 0x040003e8, 0x00020001, 0x003b04f0, /* ((r1&~0x3f02)!=0), r1=pcie.PRTY_STS_H_0, */
+ 0x010203e9, 0x00010001, 0x000004f1, /* (r1!=0), r1=igu.pending_bits_status[0:8], */
+ 0x010103ea, 0x00010001, 0x000004f2, /* (r1!=0), r1=igu.write_done_pending[0:8], */
+ 0x000003eb, 0x00010102, 0x000004f3, /* ((r1&~r2)!=0), r1=cnig.INT_STS, r2=cnig.INT_MASK, */
+ 0x000003ec, 0x00010002, 0x000004f6, /* ((r1&~r2)!=0), r1=cnig.PRTY_STS, r2=cnig.PRTY_MASK, */
+ 0x010203ed, 0x00010101, 0x000004f8, /* (r1!=0), r1=pswhst.vf_disabled_error_valid, */
+ 0x010203ee, 0x00010001, 0x000004fa, /* (r1!=0), r1=pglue_b.flr_request_vf_223_192, */
+ 0x010203ef, 0x00010001, 0x000004fb, /* (r1!=0), r1=pglue_b.flr_request_vf_255_224, */
+ 0x010003f0, 0x00010001, 0x000004fc, /* (r1!=0), r1=pglue_b.incorrect_rcv_details, */
+ 0x010203f1, 0x00010001, 0x000004fd, /* (r1!=0), r1=pglue_b.was_error_vf_223_192, */
+ 0x010203f2, 0x00010001, 0x000004fe, /* (r1!=0), r1=pglue_b.was_error_vf_255_224, */
+ 0x010203f3, 0x00010001, 0x001d04ff, /* (r1!=0xffffffff), r1=pglue_b.tags_159_128, */
+ 0x010203f4, 0x00010001, 0x001d0500, /* (r1!=0xffffffff), r1=pglue_b.tags_191_160, */
+ 0x010203f5, 0x00010001, 0x001d0501, /* (r1!=0xffffffff), r1=pglue_b.tags_223_192, */
+ 0x010203f6, 0x00010001, 0x001d0502, /* (r1!=0xffffffff), r1=pglue_b.tags_255_224, */
+ 0x010103f7, 0x00010001, 0x00220503, /* (r1!=reset1), r1=tcfc.cduwb_credit, */
+ 0x090103f8, 0x00060001, 0x003d0504, /* ((r1[0]&0x3FFFFFC0)>>6)!=(((r1[0]&0xC0000000)>>30)|((r1[1]&0x3FFFFF)<<2)), r1=qm.PtrTblOther[0:63] width=2 access=WB, */
+ 0x0a0103f9, 0x00030001, 0x00430505, /* ((r1&0x30)>>4)!=(r1&0x03), r1=qm.PtrTblOther[0:63] width=2 access=WB, */
+ 0x010003fa, 0x00010001, 0x00000506, /* (r1!=0), r1=qm.QstatusTx_0[0:13], */
+ 0x010003fb, 0x00010001, 0x00000507, /* (r1!=0), r1=qm.QstatusOther_0[0:1], */
+ 0x0b0103fc, 0x00010003, 0x00000508, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[0:7], r2=qm.VoqInitCrdLine[0:7], r3=misc.port_mode, */
+ 0x0b0103fd, 0x00010003, 0x0000050b, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[16], r2=qm.VoqInitCrdLine[16], r3=misc.port_mode, */
+ 0x0c0103fe, 0x00010003, 0x0000050e, /* (r1!=r2&&r3>0), r1=qm.VoqCrdLine[0:17], r2=qm.VoqInitCrdLine[0:17], r3=misc.port_mode, */
+ 0x0b0103ff, 0x00010003, 0x00000511, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[0:7], r2=qm.VoqInitCrdByte[0:7], r3=misc.port_mode, */
+ 0x0b010400, 0x00010003, 0x00000514, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[16], r2=qm.VoqInitCrdByte[16], r3=misc.port_mode, */
+ 0x0c010401, 0x00010003, 0x00000517, /* (r1!=r2&&r3>0), r1=qm.VoqCrdByte[0:17], r2=qm.VoqInitCrdByte[0:17], r3=misc.port_mode, */
+ 0x0a010402, 0x00030001, 0x0043051a, /* ((r1&0x30)>>4)!=(r1&0x03), r1=qm.PtrTblTx[0:447] width=2 access=WB, */
+ 0x09010403, 0x00060001, 0x003d051b, /* ((r1[0]&0x3FFFFFC0)>>6)!=(((r1[0]&0xC0000000)>>30)|((r1[1]&0x3FFFFF)<<2)), r1=qm.PtrTblTx[0:447] width=2 access=WB, */
+ 0x01010404, 0x00010001, 0x002a051c, /* (r1!=8190), r1=brb.wc_empty_0[0:3], */
+ 0x01010405, 0x00010001, 0x0013051d, /* (r1!=reset1), r1=brb.rc_eop_empty, */
+ 0x01010406, 0x00010001, 0x000b051e, /* (r1!=2), r1=brb.wc_status_0[0:3] width=3 access=WB, */
+ 0x00000407, 0x00010302, 0x0000051f, /* ((r1&~r2)!=0), r1=nig.PRTY_STS, r2=nig.PRTY_MASK, */
+ 0x00000408, 0x00010202, 0x00000524, /* ((r1&~r2)!=0), r1=btb.INT_STS_0, r2=btb.INT_MASK_0, */
+ 0x00000409, 0x00010202, 0x00000528, /* ((r1&~r2)!=0), r1=btb.INT_STS_4, r2=btb.INT_MASK_4, */
+ 0x0100040a, 0x00010001, 0x0000052c, /* (r1!=0), r1=xcm.msdm_length_mis, */
+ 0x0101040b, 0x00010001, 0x0000052d, /* (r1!=0), r1=xcm.is_msdm_fill_lvl, */
+ 0x0101040c, 0x00010001, 0x0000052e, /* (r1!=0), r1=xcm.is_ysem_fill_lvl, */
+ 0x0101040d, 0x00010001, 0x0000052f, /* (r1!=0), r1=xcm.qm_act_st_cnt[0:447], */
+ 0x0100040e, 0x00010001, 0x00000530, /* (r1!=0), r1=ycm.msdm_length_mis, */
+ 0x0101040f, 0x00010001, 0x00000531, /* (r1!=0), r1=ycm.is_msdm_fill_lvl, */
+ 0x01000410, 0x00010001, 0x00000532, /* (r1!=0), r1=pcm.psdm_length_mis, */
+ 0x01010411, 0x00010001, 0x00000533, /* (r1!=0), r1=pcm.is_psdm_fill_lvl, */
+ 0x01000412, 0x00010001, 0x00000534, /* (r1!=0), r1=tcm.tsdm_length_mis, */
+ 0x01010413, 0x00010001, 0x00000535, /* (r1!=0), r1=tcm.is_tsdm_fill_lvl, */
+ 0x01000414, 0x00010001, 0x00000536, /* (r1!=0), r1=mcm.msdm_length_mis, */
+ 0x01010415, 0x00010001, 0x00000537, /* (r1!=0), r1=mcm.is_msdm_fill_lvl, */
+ 0x01010416, 0x00010001, 0x00000538, /* (r1!=0), r1=mcm.is_ysem_fill_lvl, */
+ 0x01020417, 0x00010001, 0x00000539, /* (r1!=0), r1=xsem.vf_err_vector width=4 access=WB, */
+ 0x01020418, 0x00010001, 0x0000053a, /* (r1!=0), r1=ysem.vf_err_vector width=4 access=WB, */
+ 0x01020419, 0x00010001, 0x0000053b, /* (r1!=0), r1=psem.vf_err_vector width=4 access=WB, */
+ 0x0102041a, 0x00010001, 0x0000053c, /* (r1!=0), r1=tsem.vf_err_vector width=4 access=WB, */
+ 0x0102041b, 0x00010001, 0x0000053d, /* (r1!=0), r1=msem.vf_err_vector width=4 access=WB, */
+ 0x0102041c, 0x00010001, 0x0000053e, /* (r1!=0), r1=usem.vf_err_vector width=4 access=WB, */
+ 0x005a0009, /* mode k2 */
+ 0x0000041d, 0x00010002, 0x0000053f, /* ((r1&~r2)!=0), r1=pcie.PRTY_STS_H_0, r2=pcie.PRTY_MASK_H_0, */
+ 0x0102041e, 0x00010001, 0x00000541, /* (r1!=0), r1=igu.pending_bits_status[0:11], */
+ 0x0101041f, 0x00010001, 0x00000542, /* (r1!=0), r1=igu.write_done_pending[0:11], */
+ 0x01020420, 0x00010101, 0x00000543, /* (r1!=0), r1=pswhst.vf_disabled_error_valid, */
+ 0x01010421, 0x00010001, 0x00220545, /* (r1!=reset1), r1=tcfc.cduwb_credit, */
+ 0x01000422, 0x00010001, 0x00000546, /* (r1!=0), r1=qm.QstatusTx_0[0:15], */
+ 0x01000423, 0x00010001, 0x00000547, /* (r1!=0), r1=qm.QstatusOther_0[0:3], */
+ 0x0b010424, 0x00010003, 0x00000548, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[0:7], r2=qm.VoqInitCrdLine[0:7], r3=misc.port_mode, */
+ 0x0c010425, 0x00010003, 0x0000054b, /* (r1!=r2&&r3>0), r1=qm.VoqCrdLine[0:19], r2=qm.VoqInitCrdLine[0:19], r3=misc.port_mode, */
+ 0x0b010426, 0x00010003, 0x0000054e, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[16], r2=qm.VoqInitCrdLine[16], r3=misc.port_mode, */
+ 0x0b010427, 0x00010003, 0x00000551, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[16], r2=qm.VoqInitCrdByte[16], r3=misc.port_mode, */
+ 0x0c010428, 0x00010003, 0x00000554, /* (r1!=r2&&r3>0), r1=qm.VoqCrdByte[0:19], r2=qm.VoqInitCrdByte[0:19], r3=misc.port_mode, */
+ 0x0b010429, 0x00010003, 0x00000557, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[0:7], r2=qm.VoqInitCrdByte[0:7], r3=misc.port_mode, */
+ 0x0101042a, 0x00010001, 0x002a055a, /* (r1!=8190), r1=brb.wc_empty_0[0:7], */
+ 0x0101042b, 0x00010001, 0x0003055b, /* (r1!=reset1), r1=brb.rc_eop_empty, */
+ 0x0101042c, 0x00010001, 0x000b055c, /* (r1!=2), r1=brb.wc_status_0[0:7] width=3 access=WB, */
+ 0x0000042d, 0x00010202, 0x0000055d, /* ((r1&~r2)!=0), r1=btb.INT_STS_0, r2=btb.INT_MASK_0, */
+ 0x0000042e, 0x00010202, 0x00000561, /* ((r1&~r2)!=0), r1=btb.INT_STS_4, r2=btb.INT_MASK_4, */
+ 0x0100042f, 0x00010001, 0x00000565, /* (r1!=0), r1=xcm.msdm_length_mis, */
+ 0x01010430, 0x00010001, 0x00000566, /* (r1!=0), r1=xcm.is_msdm_fill_lvl, */
+ 0x01010431, 0x00010001, 0x00000567, /* (r1!=0), r1=xcm.is_ysem_fill_lvl, */
+ 0x01000432, 0x00010001, 0x00000568, /* (r1!=0), r1=ycm.msdm_length_mis, */
+ 0x01010433, 0x00010001, 0x00000569, /* (r1!=0), r1=ycm.is_msdm_fill_lvl, */
+ 0x01000434, 0x00010001, 0x0000056a, /* (r1!=0), r1=pcm.psdm_length_mis, */
+ 0x01010435, 0x00010001, 0x0000056b, /* (r1!=0), r1=pcm.is_psdm_fill_lvl, */
+ 0x01000436, 0x00010001, 0x0000056c, /* (r1!=0), r1=tcm.tsdm_length_mis, */
+ 0x01010437, 0x00010001, 0x0000056d, /* (r1!=0), r1=tcm.is_tsdm_fill_lvl, */
+ 0x01000438, 0x00010001, 0x0000056e, /* (r1!=0), r1=mcm.msdm_length_mis, */
+ 0x01010439, 0x00010001, 0x0000056f, /* (r1!=0), r1=mcm.is_msdm_fill_lvl, */
+ 0x0101043a, 0x00010001, 0x00000570, /* (r1!=0), r1=mcm.is_ysem_fill_lvl, */
+ 0x003f0021, /* mode asic */
+ 0x0301043b, 0x00000002, 0x00000571, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_7, r2=pswrq2.max_srs_vq7, */
+ 0x0301043c, 0x00000002, 0x00000573, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_8, r2=pswrq2.max_srs_vq8, */
+ 0x0301043d, 0x00000002, 0x00000575, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_10, r2=pswrq2.max_srs_vq10, */
+ 0x0301043e, 0x00000002, 0x00000577, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_13, r2=pswrq2.max_srs_vq13, */
+ 0x0301043f, 0x00000002, 0x00000579, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_14, r2=pswrq2.max_srs_vq14, */
+ 0x03010440, 0x00000002, 0x0000057b, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_20, r2=pswrq2.max_srs_vq20, */
+ 0x03010441, 0x00000002, 0x0000057d, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_25, r2=pswrq2.max_srs_vq25, */
+ 0x03010442, 0x00000002, 0x0000057f, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_27, r2=pswrq2.max_srs_vq27, */
+ 0x03010443, 0x00000002, 0x00000581, /* (r1!=r2), r1=pswrq2.sr_cnt_per_vq_31, r2=pswrq2.max_srs_vq31, */
+ 0x03010444, 0x00000002, 0x00000583, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_7, r2=pswrq2.max_blks_vq7, */
+ 0x03010445, 0x00000002, 0x00000585, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_8, r2=pswrq2.max_blks_vq8, */
+ 0x03010446, 0x00000002, 0x00000587, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_10, r2=pswrq2.max_blks_vq10, */
+ 0x03010447, 0x00000002, 0x00000589, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_13, r2=pswrq2.max_blks_vq13, */
+ 0x03010448, 0x00000002, 0x0000058b, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_14, r2=pswrq2.max_blks_vq14, */
+ 0x03010449, 0x00000002, 0x0000058d, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_20, r2=pswrq2.max_blks_vq20, */
+ 0x0301044a, 0x00000002, 0x0000058f, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_25, r2=pswrq2.max_blks_vq25, */
+ 0x0301044b, 0x00000002, 0x00000591, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_27, r2=pswrq2.max_blks_vq27, */
+ 0x0301044c, 0x00000002, 0x00000593, /* (r1!=r2), r1=pswrq2.blk_cnt_per_vq_31, r2=pswrq2.max_blks_vq31, */
+ 0x0d02044d, 0x00010001, 0x00460595, /* (r1&0x3E1), r1=tm.INT_STS_1, */
+ 0x0000044e, 0x00010002, 0x00000596, /* ((r1&~r2)!=0), r1=bmb.PRTY_STS_H_0, r2=bmb.PRTY_MASK_H_0, */
+ 0x0000044f, 0x00010002, 0x00000598, /* ((r1&~r2)!=0), r1=bmb.PRTY_STS_H_1, r2=bmb.PRTY_MASK_H_1, */
0x0003001f, /* mode !asic */
- 0x0d020426, 0x00010001, 0x0047053c, /* (r1&0x381), r1=tm.INT_STS_1, */
- 0x00ae0025, /* mode !bb */
- 0x06000427, 0x00020001, 0x0048053d, /* ((r1&0x0FD010)!=0), r1=pglcs.pgl_cs.UNCORR_ERR_STATUS_OFF, */
- 0x06020428, 0x00020001, 0x004a053e, /* ((r1&0x100000)!=0), r1=pglcs.pgl_cs.UNCORR_ERR_STATUS_OFF, */
- 0x06020429, 0x00020001, 0x004c053f, /* ((r1&0x2000)!=0), r1=pglcs.pgl_cs.UNCORR_ERR_STATUS_OFF, */
- 0x0102042a, 0x00010001, 0x00000540, /* (r1!=0), r1=pglcs.pgl_cs.HDR_LOG_0_OFF[0:3], */
- 0x0100042b, 0x00010001, 0x00000541, /* (r1!=0), r1=pglcs.syncfifo_pop_underflow, */
- 0x0100042c, 0x00010001, 0x00000542, /* (r1!=0), r1=pglcs.syncfifo_push_overflow, */
- 0x0101042d, 0x00010001, 0x00000543, /* (r1!=0), r1=pglcs.tx_syncfifo_pop_status, */
- 0x0600042e, 0x00020001, 0x004e0544, /* ((r1&0xE001)!=0), r1=pcie.INT_STS, */
- 0x0000042f, 0x00010102, 0x00000545, /* ((r1&~r2)!=0), r1=cnig.INT_STS, r2=cnig.INT_MASK, */
- 0x00000430, 0x00010002, 0x00000548, /* ((r1&~r2)!=0), r1=cnig.PRTY_STS, r2=cnig.PRTY_MASK, */
- 0x01000431, 0x00010001, 0x0000054a, /* (r1!=0), r1=pglue_b.syncfifo_push_overflow, */
- 0x01000432, 0x00010001, 0x0000054b, /* (r1!=0), r1=pglue_b.syncfifo_pop_underflow, */
- 0x01010433, 0x00010001, 0x0000054c, /* (r1!=0), r1=pglue_b.rxh_syncfifo_pop_status, */
- 0x01010434, 0x00010101, 0x0000054d, /* (r1!=0), r1=pglue_b.rxd_syncfifo_pop_status, */
- 0x09010435, 0x00060001, 0x003d054f, /* ((r1[0]&0x3FFFFFC0)>>6)!=(((r1[0]&0xC0000000)>>30)|((r1[1]&0x3FFFFF)<<2)), r1=qm.PtrTblOther[0:127] width=2 access=WB, */
- 0x0a010436, 0x00030001, 0x00430550, /* ((r1&0x30)>>4)!=(r1&0x03), r1=qm.PtrTblOther[0:127] width=2 access=WB, */
- 0x09010437, 0x00060001, 0x003d0551, /* ((r1[0]&0x3FFFFFC0)>>6)!=(((r1[0]&0xC0000000)>>30)|((r1[1]&0x3FFFFF)<<2)), r1=qm.PtrTblTx[0:511] width=2 access=WB, */
- 0x0a010438, 0x00030001, 0x00430552, /* ((r1&0x30)>>4)!=(r1&0x03), r1=qm.PtrTblTx[0:511] width=2 access=WB, */
- 0x01010439, 0x00010001, 0x00030553, /* (r1!=reset1), r1=brb.rc_eop_empty, */
- 0x0101043a, 0x00010001, 0x00000554, /* (r1!=0), r1=brb.mac2_tc_occupancy_0, */
- 0x0101043b, 0x00010001, 0x00000555, /* (r1!=0), r1=brb.mac2_tc_occupancy_1, */
- 0x0101043c, 0x00010001, 0x00000556, /* (r1!=0), r1=brb.mac2_tc_occupancy_2, */
- 0x0101043d, 0x00010001, 0x00000557, /* (r1!=0), r1=brb.mac2_tc_occupancy_3, */
- 0x0101043e, 0x00010001, 0x00000558, /* (r1!=0), r1=brb.mac2_tc_occupancy_4, */
- 0x0101043f, 0x00010001, 0x00000559, /* (r1!=0), r1=brb.mac3_tc_occupancy_0, */
- 0x01010440, 0x00010001, 0x0000055a, /* (r1!=0), r1=brb.mac3_tc_occupancy_1, */
- 0x01010441, 0x00010001, 0x0000055b, /* (r1!=0), r1=brb.mac3_tc_occupancy_2, */
- 0x01010442, 0x00010001, 0x0000055c, /* (r1!=0), r1=brb.mac3_tc_occupancy_3, */
- 0x01010443, 0x00010001, 0x0000055d, /* (r1!=0), r1=brb.mac3_tc_occupancy_4, */
- 0x00000444, 0x00010002, 0x0000055e, /* ((r1&~r2)!=0), r1=nig.INT_STS_6, r2=nig.INT_MASK_6, */
- 0x00020445, 0x00010202, 0x00000560, /* ((r1&~r2)!=0), r1=nig.INT_STS_7, r2=nig.INT_MASK_7, */
- 0x00000446, 0x00010002, 0x00000564, /* ((r1&~r2)!=0), r1=nig.INT_STS_8, r2=nig.INT_MASK_8, */
- 0x00020447, 0x00010202, 0x00000566, /* ((r1&~r2)!=0), r1=nig.INT_STS_9, r2=nig.INT_MASK_9, */
- 0x00000448, 0x00010302, 0x0000056a, /* ((r1&~r2)!=0), r1=nig.PRTY_STS, r2=nig.PRTY_MASK, */
- 0x06000449, 0x00020001, 0x0050056f, /* ((r1&0x00000002)!=2), r1=nws.common_status, */
- 0x0600044a, 0x00020001, 0x00520570, /* ((r1&0x00000004)!=4), r1=nws.common_status, */
- 0x0600044b, 0x00020001, 0x000d0571, /* ((r1&0x00000001)!=0), r1=nws.INT_STS_0, */
- 0x0000044c, 0x00010002, 0x00000572, /* ((r1&~r2)!=0), r1=nws.PRTY_STS_H_0, r2=nws.PRTY_MASK_H_0, */
- 0x0e02044d, 0x00040002, 0x00540574, /* ((r1!=1)&&(((r2>>14)&1)==1)), r1=nws.nws_cmu.ln0_top_phy_if_status, r2=nws.common_control, */
- 0x0e02044e, 0x00040002, 0x00580576, /* ((r1!=1)&&(((r2>>15)&1)==1)), r1=nws.nws_cmu.ln1_top_phy_if_status, r2=nws.common_control, */
- 0x0e02044f, 0x00040002, 0x005c0578, /* ((r1!=1)&&(((r2>>16)&1)==1)), r1=nws.nws_cmu.ln2_top_phy_if_status, r2=nws.common_control, */
- 0x0e020450, 0x00040002, 0x0060057a, /* ((r1!=1)&&(((r2>>17)&1)==1)), r1=nws.nws_cmu.ln3_top_phy_if_status, r2=nws.common_control, */
- 0x06000451, 0x00020001, 0x000d057c, /* ((r1&0x00000001)!=0), r1=nwm.INT_STS, */
- 0x06000452, 0x00020001, 0x0064057d, /* ((r1&0x000001FE)!=0), r1=nwm.INT_STS, */
- 0x00000453, 0x00010002, 0x0000057e, /* ((r1&~r2)!=0), r1=nwm.PRTY_STS_H_0, r2=nwm.PRTY_MASK_H_0, */
- 0x00000454, 0x00010002, 0x00000580, /* ((r1&~r2)!=0), r1=nwm.PRTY_STS_H_1, r2=nwm.PRTY_MASK_H_1, */
- 0x00000455, 0x00010002, 0x00000582, /* ((r1&~r2)!=0), r1=nwm.PRTY_STS_H_2, r2=nwm.PRTY_MASK_H_2, */
- 0x01010456, 0x00010001, 0x00230584, /* (r1!=255), r1=btb.rc_pkt_empty_4, */
- 0x01010457, 0x00010001, 0x00230585, /* (r1!=255), r1=btb.rc_pkt_empty_5, */
- 0x01010458, 0x00010001, 0x00230586, /* (r1!=255), r1=btb.rc_pkt_empty_6, */
- 0x01010459, 0x00010001, 0x00230587, /* (r1!=255), r1=btb.rc_pkt_empty_7, */
- 0x0101045a, 0x00010001, 0x00000588, /* (r1!=0), r1=xcm.qm_act_st_cnt[0:511], */
- 0x0102045b, 0x00010001, 0x00000589, /* (r1!=0), r1=xsem.vf_err_vector width=8 access=WB, */
- 0x0102045c, 0x00010001, 0x0000058a, /* (r1!=0), r1=ysem.vf_err_vector width=8 access=WB, */
- 0x0102045d, 0x00010001, 0x0000058b, /* (r1!=0), r1=psem.vf_err_vector width=8 access=WB, */
- 0x0102045e, 0x00010001, 0x0000058c, /* (r1!=0), r1=tsem.vf_err_vector width=8 access=WB, */
- 0x0102045f, 0x00010001, 0x0000058d, /* (r1!=0), r1=msem.vf_err_vector width=8 access=WB, */
- 0x01020460, 0x00010001, 0x0000058e, /* (r1!=0), r1=usem.vf_err_vector width=8 access=WB, */
+ 0x0d020450, 0x00010001, 0x0047059a, /* (r1&0x381), r1=tm.INT_STS_1, */
+ 0x00ab0025, /* mode !bb */
+ 0x06020451, 0x00020001, 0x0048059b, /* ((r1&0x2000)!=0), r1=pglcs.pgl_cs.UNCORR_ERR_STATUS_OFF, */
+ 0x06000452, 0x00020001, 0x004a059c, /* ((r1&0x0FD010)!=0), r1=pglcs.pgl_cs.UNCORR_ERR_STATUS_OFF, */
+ 0x06020453, 0x00020001, 0x004c059d, /* ((r1&0x100000)!=0), r1=pglcs.pgl_cs.UNCORR_ERR_STATUS_OFF, */
+ 0x01020454, 0x00010001, 0x0000059e, /* (r1!=0), r1=pglcs.pgl_cs.HDR_LOG_0_OFF[0:3], */
+ 0x01000455, 0x00010001, 0x0000059f, /* (r1!=0), r1=pglcs.syncfifo_pop_underflow, */
+ 0x01000456, 0x00010001, 0x000005a0, /* (r1!=0), r1=pglcs.syncfifo_push_overflow, */
+ 0x01010457, 0x00010001, 0x000005a1, /* (r1!=0), r1=pglcs.tx_syncfifo_pop_status, */
+ 0x06000458, 0x00020001, 0x004e05a2, /* ((r1&0xE001)!=0), r1=pcie.INT_STS, */
+ 0x00000459, 0x00010102, 0x000005a3, /* ((r1&~r2)!=0), r1=cnig.INT_STS, r2=cnig.INT_MASK, */
+ 0x0000045a, 0x00010002, 0x000005a6, /* ((r1&~r2)!=0), r1=cnig.PRTY_STS, r2=cnig.PRTY_MASK, */
+ 0x0100045b, 0x00010001, 0x000005a8, /* (r1!=0), r1=pglue_b.syncfifo_push_overflow, */
+ 0x0100045c, 0x00010001, 0x000005a9, /* (r1!=0), r1=pglue_b.syncfifo_pop_underflow, */
+ 0x0101045d, 0x00010001, 0x000005aa, /* (r1!=0), r1=pglue_b.rxh_syncfifo_pop_status, */
+ 0x0101045e, 0x00010101, 0x000005ab, /* (r1!=0), r1=pglue_b.rxd_syncfifo_pop_status, */
+ 0x0901045f, 0x00060001, 0x003d05ad, /* ((r1[0]&0x3FFFFFC0)>>6)!=(((r1[0]&0xC0000000)>>30)|((r1[1]&0x3FFFFF)<<2)), r1=qm.PtrTblOther[0:127] width=2 access=WB, */
+ 0x0a010460, 0x00030001, 0x004305ae, /* ((r1&0x30)>>4)!=(r1&0x03), r1=qm.PtrTblOther[0:127] width=2 access=WB, */
+ 0x09010461, 0x00060001, 0x003d05af, /* ((r1[0]&0x3FFFFFC0)>>6)!=(((r1[0]&0xC0000000)>>30)|((r1[1]&0x3FFFFF)<<2)), r1=qm.PtrTblTx[0:511] width=2 access=WB, */
+ 0x0a010462, 0x00030001, 0x004305b0, /* ((r1&0x30)>>4)!=(r1&0x03), r1=qm.PtrTblTx[0:511] width=2 access=WB, */
+ 0x01010463, 0x00010001, 0x000005b1, /* (r1!=0), r1=brb.mac2_tc_occupancy_0, */
+ 0x01010464, 0x00010001, 0x000005b2, /* (r1!=0), r1=brb.mac2_tc_occupancy_1, */
+ 0x01010465, 0x00010001, 0x000005b3, /* (r1!=0), r1=brb.mac2_tc_occupancy_2, */
+ 0x01010466, 0x00010001, 0x000005b4, /* (r1!=0), r1=brb.mac2_tc_occupancy_3, */
+ 0x01010467, 0x00010001, 0x000005b5, /* (r1!=0), r1=brb.mac2_tc_occupancy_4, */
+ 0x01010468, 0x00010001, 0x000005b6, /* (r1!=0), r1=brb.mac3_tc_occupancy_0, */
+ 0x01010469, 0x00010001, 0x000005b7, /* (r1!=0), r1=brb.mac3_tc_occupancy_1, */
+ 0x0101046a, 0x00010001, 0x000005b8, /* (r1!=0), r1=brb.mac3_tc_occupancy_2, */
+ 0x0101046b, 0x00010001, 0x000005b9, /* (r1!=0), r1=brb.mac3_tc_occupancy_3, */
+ 0x0101046c, 0x00010001, 0x000005ba, /* (r1!=0), r1=brb.mac3_tc_occupancy_4, */
+ 0x0000046d, 0x00010002, 0x000005bb, /* ((r1&~r2)!=0), r1=nig.INT_STS_6, r2=nig.INT_MASK_6, */
+ 0x0002046e, 0x00010202, 0x000005bd, /* ((r1&~r2)!=0), r1=nig.INT_STS_7, r2=nig.INT_MASK_7, */
+ 0x0000046f, 0x00010002, 0x000005c1, /* ((r1&~r2)!=0), r1=nig.INT_STS_8, r2=nig.INT_MASK_8, */
+ 0x00020470, 0x00010202, 0x000005c3, /* ((r1&~r2)!=0), r1=nig.INT_STS_9, r2=nig.INT_MASK_9, */
+ 0x00000471, 0x00010302, 0x000005c7, /* ((r1&~r2)!=0), r1=nig.PRTY_STS, r2=nig.PRTY_MASK, */
+ 0x06000472, 0x00020001, 0x005005cc, /* ((r1&0x00000004)!=4), r1=nws.common_status, */
+ 0x06000473, 0x00020001, 0x005205cd, /* ((r1&0x00000002)!=2), r1=nws.common_status, */
+ 0x06000474, 0x00020001, 0x000d05ce, /* ((r1&0x00000001)!=0), r1=nws.INT_STS_0, */
+ 0x00000475, 0x00010002, 0x000005cf, /* ((r1&~r2)!=0), r1=nws.PRTY_STS_H_0, r2=nws.PRTY_MASK_H_0, */
+ 0x0e020476, 0x00040002, 0x005405d1, /* ((r1!=1)&&(((r2>>14)&1)==1)), r1=nws.nws_cmu.ln0_top_phy_if_status, r2=nws.common_control, */
+ 0x0e020477, 0x00040002, 0x005805d3, /* ((r1!=1)&&(((r2>>15)&1)==1)), r1=nws.nws_cmu.ln1_top_phy_if_status, r2=nws.common_control, */
+ 0x0e020478, 0x00040002, 0x005c05d5, /* ((r1!=1)&&(((r2>>16)&1)==1)), r1=nws.nws_cmu.ln2_top_phy_if_status, r2=nws.common_control, */
+ 0x0e020479, 0x00040002, 0x006005d7, /* ((r1!=1)&&(((r2>>17)&1)==1)), r1=nws.nws_cmu.ln3_top_phy_if_status, r2=nws.common_control, */
+ 0x0600047a, 0x00020001, 0x000d05d9, /* ((r1&0x00000001)!=0), r1=nwm.INT_STS, */
+ 0x0600047b, 0x00020001, 0x006405da, /* ((r1&0x000001FE)!=0), r1=nwm.INT_STS, */
+ 0x0000047c, 0x00010002, 0x000005db, /* ((r1&~r2)!=0), r1=nwm.PRTY_STS_H_0, r2=nwm.PRTY_MASK_H_0, */
+ 0x0000047d, 0x00010002, 0x000005dd, /* ((r1&~r2)!=0), r1=nwm.PRTY_STS_H_1, r2=nwm.PRTY_MASK_H_1, */
+ 0x0000047e, 0x00010002, 0x000005df, /* ((r1&~r2)!=0), r1=nwm.PRTY_STS_H_2, r2=nwm.PRTY_MASK_H_2, */
+ 0x0101047f, 0x00010001, 0x002305e1, /* (r1!=255), r1=btb.rc_pkt_empty_4, */
+ 0x01010480, 0x00010001, 0x002305e2, /* (r1!=255), r1=btb.rc_pkt_empty_5, */
+ 0x01010481, 0x00010001, 0x002305e3, /* (r1!=255), r1=btb.rc_pkt_empty_6, */
+ 0x01010482, 0x00010001, 0x002305e4, /* (r1!=255), r1=btb.rc_pkt_empty_7, */
+ 0x01010483, 0x00010001, 0x000005e5, /* (r1!=0), r1=xcm.qm_act_st_cnt[0:511], */
+ 0x01020484, 0x00010001, 0x000005e6, /* (r1!=0), r1=xsem.vf_err_vector width=8 access=WB, */
+ 0x01020485, 0x00010001, 0x000005e7, /* (r1!=0), r1=ysem.vf_err_vector width=8 access=WB, */
+ 0x01020486, 0x00010001, 0x000005e8, /* (r1!=0), r1=psem.vf_err_vector width=8 access=WB, */
+ 0x01020487, 0x00010001, 0x000005e9, /* (r1!=0), r1=tsem.vf_err_vector width=8 access=WB, */
+ 0x01020488, 0x00010001, 0x000005ea, /* (r1!=0), r1=msem.vf_err_vector width=8 access=WB, */
+ 0x01020489, 0x00010001, 0x000005eb, /* (r1!=0), r1=usem.vf_err_vector width=8 access=WB, */
+ 0x00480003, /* mode !(bb|k2) */
+ 0x0102048a, 0x00010001, 0x000005ec, /* (r1!=0), r1=igu.pending_bits_status[0:15], */
+ 0x0101048b, 0x00010001, 0x000005ed, /* (r1!=0), r1=igu.write_done_pending[0:15], */
+ 0x0101048c, 0x00010001, 0x002d05ee, /* (r1!=reset1), r1=tcfc.cduwb_credit, */
+ 0x0c01048d, 0x00010003, 0x000005ef, /* (r1!=r2&&r3>0), r1=qm.VoqCrdLine[0:35], r2=qm.VoqInitCrdLine[0:35], r3=misc.port_mode, */
+ 0x0b01048e, 0x00010003, 0x000005f2, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[0:7], r2=qm.VoqInitCrdLine[0:7], r3=misc.port_mode, */
+ 0x0b01048f, 0x00010003, 0x000005f5, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[16], r2=qm.VoqInitCrdLine[16], r3=misc.port_mode, */
+ 0x0b010490, 0x00010003, 0x000005f8, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[16], r2=qm.VoqInitCrdByte[16], r3=misc.port_mode, */
+ 0x0b010491, 0x00010003, 0x000005fb, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[0:7], r2=qm.VoqInitCrdByte[0:7], r3=misc.port_mode, */
+ 0x0c010492, 0x00010003, 0x000005fe, /* (r1!=r2&&r3>0), r1=qm.VoqCrdByte[0:35], r2=qm.VoqInitCrdByte[0:35], r3=misc.port_mode, */
+ 0x01010493, 0x00010001, 0x000d0601, /* (r1!=reset1), r1=brb.rc_eop_empty, */
+ 0x00000494, 0x00010202, 0x00000602, /* ((r1&~r2)!=0), r1=btb.INT_STS_0, r2=btb.INT_MASK_0, */
+ 0x00000495, 0x00010202, 0x00000606, /* ((r1&~r2)!=0), r1=btb.INT_STS_4, r2=btb.INT_MASK_4, */
+ 0x01000496, 0x00010001, 0x0000060a, /* (r1!=0), r1=xcm.msdm_length_mis, */
+ 0x01010497, 0x00010001, 0x0000060b, /* (r1!=0), r1=xcm.is_msdm_fill_lvl, */
+ 0x01010498, 0x00010001, 0x0000060c, /* (r1!=0), r1=xcm.is_ysem_fill_lvl, */
+ 0x01000499, 0x00010001, 0x0000060d, /* (r1!=0), r1=ycm.msdm_length_mis, */
+ 0x0101049a, 0x00010001, 0x0000060e, /* (r1!=0), r1=ycm.is_msdm_fill_lvl, */
+ 0x0100049b, 0x00010001, 0x0000060f, /* (r1!=0), r1=pcm.psdm_length_mis, */
+ 0x0101049c, 0x00010001, 0x00000610, /* (r1!=0), r1=pcm.is_psdm_fill_lvl, */
+ 0x0100049d, 0x00010001, 0x00000611, /* (r1!=0), r1=tcm.tsdm_length_mis, */
+ 0x0101049e, 0x00010001, 0x00000612, /* (r1!=0), r1=tcm.is_tsdm_fill_lvl, */
+ 0x0100049f, 0x00010001, 0x00000613, /* (r1!=0), r1=mcm.msdm_length_mis, */
+ 0x010104a0, 0x00010001, 0x00000614, /* (r1!=0), r1=mcm.is_msdm_fill_lvl, */
+ 0x010104a1, 0x00010001, 0x00000615, /* (r1!=0), r1=mcm.is_ysem_fill_lvl, */
0x00240015, /* mode !(k2|e5) */
- 0x06020461, 0x00020001, 0x004a058f, /* ((r1&0x100000)!=0), r1=pglcs.pgl_cs.uc_err_status, */
- 0x06000462, 0x00020001, 0x00480590, /* ((r1&0x0FD010)!=0), r1=pglcs.pgl_cs.uc_err_status, */
- 0x06020463, 0x00020001, 0x004c0591, /* ((r1&0x2000)!=0), r1=pglcs.pgl_cs.uc_err_status, */
- 0x01020464, 0x00010001, 0x00000592, /* (r1!=0), r1=pglcs.pgl_cs.header_log1[0:3], */
- 0x06020465, 0x00020001, 0x00660593, /* ((r1&0x2000000)!=0), r1=pglcs.pgl_cs.tl_ctrlstat_5, */
- 0x04000466, 0x00020001, 0x00680594, /* ((r1&~0x2040902)!=0), r1=pglcs.pgl_cs.tl_ctrlstat_5, */
- 0x04000467, 0x00020001, 0x006a0595, /* ((r1&~0x10240902)!=0), r1=pglcs.pgl_cs.tl_func345_stat, */
- 0x04000468, 0x00020001, 0x006a0596, /* ((r1&~0x10240902)!=0), r1=pglcs.pgl_cs.tl_func678_stat, */
- 0x06000469, 0x00020001, 0x000b0597, /* ((r1&0x2)!=0), r1=pglcs.pgl_cs.DLATTN_VEC, */
- 0x0000046a, 0x00010002, 0x00000598, /* ((r1&~r2)!=0), r1=miscs.INT_STS_1, r2=miscs.INT_MASK_1, */
- 0x0000046b, 0x00010002, 0x0000059a, /* ((r1&~r2)!=0), r1=igu.PRTY_STS_H_1, r2=igu.PRTY_MASK_H_1, */
- 0x0101046c, 0x00010001, 0x000d059c, /* (r1!=1), r1=nig.rx_macfifo_empty, */
- 0x00420003, /* mode !(bb|k2) */
- 0x0102046d, 0x00010001, 0x0000059d, /* (r1!=0), r1=igu.pending_bits_status[0:15], */
- 0x0101046e, 0x00010001, 0x0000059e, /* (r1!=0), r1=igu.write_done_pending[0:15], */
- 0x0b01046f, 0x00010003, 0x0000059f, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[16], r2=qm.VoqInitCrdLine[16], r3=misc.port_mode, */
- 0x0b010470, 0x00010003, 0x000005a2, /* (r1!=r2&&r3==0), r1=qm.VoqCrdLine[0:7], r2=qm.VoqInitCrdLine[0:7], r3=misc.port_mode, */
- 0x0c010471, 0x00010003, 0x000005a5, /* (r1!=r2&&r3>0), r1=qm.VoqCrdLine[0:35], r2=qm.VoqInitCrdLine[0:35], r3=misc.port_mode, */
- 0x0b010472, 0x00010003, 0x000005a8, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[0:7], r2=qm.VoqInitCrdByte[0:7], r3=misc.port_mode, */
- 0x0b010473, 0x00010003, 0x000005ab, /* (r1!=r2&&r3==0), r1=qm.VoqCrdByte[16], r2=qm.VoqInitCrdByte[16], r3=misc.port_mode, */
- 0x0c010474, 0x00010003, 0x000005ae, /* (r1!=r2&&r3>0), r1=qm.VoqCrdByte[0:35], r2=qm.VoqInitCrdByte[0:35], r3=misc.port_mode, */
- 0x00000475, 0x00010202, 0x000005b1, /* ((r1&~r2)!=0), r1=btb.INT_STS_0, r2=btb.INT_MASK_0, */
- 0x00000476, 0x00010202, 0x000005b5, /* ((r1&~r2)!=0), r1=btb.INT_STS_4, r2=btb.INT_MASK_4, */
- 0x01000477, 0x00010001, 0x000005b9, /* (r1!=0), r1=xcm.msdm_length_mis, */
- 0x01010478, 0x00010001, 0x000005ba, /* (r1!=0), r1=xcm.is_msdm_fill_lvl, */
- 0x01010479, 0x00010001, 0x000005bb, /* (r1!=0), r1=xcm.is_ysem_fill_lvl, */
- 0x0100047a, 0x00010001, 0x000005bc, /* (r1!=0), r1=ycm.msdm_length_mis, */
- 0x0101047b, 0x00010001, 0x000005bd, /* (r1!=0), r1=ycm.is_msdm_fill_lvl, */
- 0x0100047c, 0x00010001, 0x000005be, /* (r1!=0), r1=pcm.psdm_length_mis, */
- 0x0101047d, 0x00010001, 0x000005bf, /* (r1!=0), r1=pcm.is_psdm_fill_lvl, */
- 0x0100047e, 0x00010001, 0x000005c0, /* (r1!=0), r1=tcm.tsdm_length_mis, */
- 0x0101047f, 0x00010001, 0x000005c1, /* (r1!=0), r1=tcm.is_tsdm_fill_lvl, */
- 0x01000480, 0x00010001, 0x000005c2, /* (r1!=0), r1=mcm.msdm_length_mis, */
- 0x01010481, 0x00010001, 0x000005c3, /* (r1!=0), r1=mcm.is_msdm_fill_lvl, */
- 0x01010482, 0x00010001, 0x000005c4, /* (r1!=0), r1=mcm.is_ysem_fill_lvl, */
- 0x01cb0051, /* mode !e5 */
- 0x00000483, 0x00010002, 0x000005c5, /* ((r1&~r2)!=0), r1=dmae.PRTY_STS_H_0, r2=dmae.PRTY_MASK_H_0, */
- 0x00000484, 0x00010002, 0x000005c7, /* ((r1&~r2)!=0), r1=dbg.PRTY_STS_H_0, r2=dbg.PRTY_MASK_H_0, */
- 0x00000485, 0x00010002, 0x000005c9, /* ((r1&~r2)!=0), r1=opte.PRTY_STS_H_0, r2=opte.PRTY_MASK_H_0, */
- 0x00000486, 0x00010002, 0x000005cb, /* ((r1&~r2)!=0), r1=dorq.PRTY_STS_H_0, r2=dorq.PRTY_MASK_H_0, */
- 0x00000487, 0x00010002, 0x000005cd, /* ((r1&~r2)!=0), r1=igu.PRTY_STS_H_0, r2=igu.PRTY_MASK_H_0, */
- 0x00000488, 0x00010002, 0x000005cf, /* ((r1&~r2)!=0), r1=prs.PRTY_STS_H_0, r2=prs.PRTY_MASK_H_0, */
- 0x00000489, 0x00010002, 0x000005d1, /* ((r1&~r2)!=0), r1=prs.PRTY_STS_H_1, r2=prs.PRTY_MASK_H_1, */
- 0x0101048a, 0x00010001, 0x000005d3, /* (r1!=0), r1=prs.prs_pkt_ct, */
- 0x0101048b, 0x00010001, 0x000005d4, /* (r1!=0), r1=prs.tcm_current_credit, */
- 0x0000048c, 0x00010002, 0x000005d5, /* ((r1&~r2)!=0), r1=prm.PRTY_STS_H_0, r2=prm.PRTY_MASK_H_0, */
- 0x0000048d, 0x00010002, 0x000005d7, /* ((r1&~r2)!=0), r1=rss.PRTY_STS_H_0, r2=rss.PRTY_MASK_H_0, */
- 0x0102048e, 0x00010001, 0x006c05d9, /* (r1!=31), r1=rss.empty_status, */
- 0x0102048f, 0x00010001, 0x000005da, /* (r1!=0), r1=rss.full_status, */
- 0x01020490, 0x00010001, 0x000005db, /* (r1!=0), r1=rss.counters_status, */
- 0x01010491, 0x00010001, 0x000005dc, /* (r1!=0), r1=rss.state_machines, */
- 0x00000492, 0x00010002, 0x000005dd, /* ((r1&~r2)!=0), r1=pswwr2.PRTY_STS_H_0, r2=pswwr2.PRTY_MASK_H_0, */
- 0x00000493, 0x00010002, 0x000005df, /* ((r1&~r2)!=0), r1=pswwr2.PRTY_STS_H_1, r2=pswwr2.PRTY_MASK_H_1, */
- 0x00000494, 0x00010002, 0x000005e1, /* ((r1&~r2)!=0), r1=pswwr2.PRTY_STS_H_2, r2=pswwr2.PRTY_MASK_H_2, */
- 0x00000495, 0x00010002, 0x000005e3, /* ((r1&~r2)!=0), r1=pswwr2.PRTY_STS_H_3, r2=pswwr2.PRTY_MASK_H_3, */
- 0x00000496, 0x00010002, 0x000005e5, /* ((r1&~r2)!=0), r1=pswhst.PRTY_STS_H_0, r2=pswhst.PRTY_MASK_H_0, */
- 0x00000497, 0x00010002, 0x000005e7, /* ((r1&~r2)!=0), r1=pglue_b.PRTY_STS_H_0, r2=pglue_b.PRTY_MASK_H_0, */
- 0x00000498, 0x00010002, 0x000005e9, /* ((r1&~r2)!=0), r1=tm.PRTY_STS_H_0, r2=tm.PRTY_MASK_H_0, */
- 0x00000499, 0x00010002, 0x000005eb, /* ((r1&~r2)!=0), r1=tcfc.PRTY_STS_H_0, r2=tcfc.PRTY_MASK_H_0, */
- 0x0000049a, 0x00010002, 0x000005ed, /* ((r1&~r2)!=0), r1=ccfc.PRTY_STS_H_0, r2=ccfc.PRTY_MASK_H_0, */
- 0x0000049b, 0x00010002, 0x000005ef, /* ((r1&~r2)!=0), r1=qm.PRTY_STS_H_0, r2=qm.PRTY_MASK_H_0, */
- 0x0000049c, 0x00010002, 0x000005f1, /* ((r1&~r2)!=0), r1=qm.PRTY_STS_H_1, r2=qm.PRTY_MASK_H_1, */
- 0x0000049d, 0x00010002, 0x000005f3, /* ((r1&~r2)!=0), r1=qm.PRTY_STS_H_2, r2=qm.PRTY_MASK_H_2, */
- 0x0000049e, 0x00010002, 0x000005f5, /* ((r1&~r2)!=0), r1=tdif.PRTY_STS_H_0, r2=tdif.PRTY_MASK_H_0, */
- 0x0000049f, 0x00010002, 0x000005f7, /* ((r1&~r2)!=0), r1=brb.PRTY_STS_H_0, r2=brb.PRTY_MASK_H_0, */
- 0x000004a0, 0x00010002, 0x000005f9, /* ((r1&~r2)!=0), r1=brb.PRTY_STS_H_1, r2=brb.PRTY_MASK_H_1, */
- 0x000004a1, 0x00010002, 0x000005fb, /* ((r1&~r2)!=0), r1=xyld.PRTY_STS_H_0, r2=xyld.PRTY_MASK_H_0, */
- 0x010104a2, 0x00010001, 0x000005fd, /* (r1!=0), r1=yuld.pending_msg_to_ext_ev_1_ctr, */
- 0x010104a3, 0x00010001, 0x000005fe, /* (r1!=0), r1=yuld.pending_msg_to_ext_ev_2_ctr, */
- 0x010104a4, 0x00010001, 0x000005ff, /* (r1!=0), r1=yuld.pending_msg_to_ext_ev_3_ctr, */
- 0x010104a5, 0x00010001, 0x00000600, /* (r1!=0), r1=yuld.pending_msg_to_ext_ev_4_ctr, */
- 0x010104a6, 0x00010001, 0x00000601, /* (r1!=0), r1=yuld.pending_msg_to_ext_ev_5_ctr, */
- 0x030104a7, 0x00000002, 0x00000602, /* (r1!=r2), r1=yuld.foc_remain_credits, r2=yuld.foci_foc_credits, */
- 0x010104a8, 0x00010001, 0x00000604, /* (r1!=0), r1=yuld.dbg_pending_ccfc_req, */
- 0x010104a9, 0x00010001, 0x00000605, /* (r1!=0), r1=yuld.dbg_pending_tcfc_req, */
- 0x000004aa, 0x00010002, 0x00000606, /* ((r1&~r2)!=0), r1=yuld.PRTY_STS_H_0, r2=yuld.PRTY_MASK_H_0, */
- 0x000004ab, 0x00010002, 0x00000608, /* ((r1&~r2)!=0), r1=tmld.PRTY_STS_H_0, r2=tmld.PRTY_MASK_H_0, */
- 0x000004ac, 0x00010002, 0x0000060a, /* ((r1&~r2)!=0), r1=muld.PRTY_STS_H_0, r2=muld.PRTY_MASK_H_0, */
- 0x000004ad, 0x00010002, 0x0000060c, /* ((r1&~r2)!=0), r1=nig.PRTY_STS_H_0, r2=nig.PRTY_MASK_H_0, */
- 0x000004ae, 0x00010002, 0x0000060e, /* ((r1&~r2)!=0), r1=nig.PRTY_STS_H_1, r2=nig.PRTY_MASK_H_1, */
- 0x000004af, 0x00010002, 0x00000610, /* ((r1&~r2)!=0), r1=nig.PRTY_STS_H_2, r2=nig.PRTY_MASK_H_2, */
- 0x000004b0, 0x00010002, 0x00000612, /* ((r1&~r2)!=0), r1=nig.PRTY_STS_H_3, r2=nig.PRTY_MASK_H_3, */
- 0x010104b1, 0x00010001, 0x000d0614, /* (r1!=1), r1=nig.tx_macfifo_empty, */
- 0x000004b2, 0x00010002, 0x00000615, /* ((r1&~r2)!=0), r1=ptu.PRTY_STS_H_0, r2=ptu.PRTY_MASK_H_0, */
- 0x000004b3, 0x00010002, 0x00000617, /* ((r1&~r2)!=0), r1=cdu.PRTY_STS_H_0, r2=cdu.PRTY_MASK_H_0, */
- 0x000004b4, 0x00010002, 0x00000619, /* ((r1&~r2)!=0), r1=pbf.PRTY_STS_H_0, r2=pbf.PRTY_MASK_H_0, */
- 0x000004b5, 0x00010002, 0x0000061b, /* ((r1&~r2)!=0), r1=pbf.PRTY_STS_H_1, r2=pbf.PRTY_MASK_H_1, */
- 0x000004b6, 0x00010002, 0x0000061d, /* ((r1&~r2)!=0), r1=btb.PRTY_STS_H_0, r2=btb.PRTY_MASK_H_0, */
- 0x000004b7, 0x00010002, 0x0000061f, /* ((r1&~r2)!=0), r1=xsdm.PRTY_STS_H_0, r2=xsdm.PRTY_MASK_H_0, */
- 0x000004b8, 0x00010002, 0x00000621, /* ((r1&~r2)!=0), r1=ysdm.PRTY_STS_H_0, r2=ysdm.PRTY_MASK_H_0, */
- 0x000004b9, 0x00010002, 0x00000623, /* ((r1&~r2)!=0), r1=psdm.PRTY_STS_H_0, r2=psdm.PRTY_MASK_H_0, */
- 0x000004ba, 0x00010002, 0x00000625, /* ((r1&~r2)!=0), r1=tsdm.PRTY_STS_H_0, r2=tsdm.PRTY_MASK_H_0, */
- 0x000004bb, 0x00010002, 0x00000627, /* ((r1&~r2)!=0), r1=msdm.PRTY_STS_H_0, r2=msdm.PRTY_MASK_H_0, */
- 0x000004bc, 0x00010002, 0x00000629, /* ((r1&~r2)!=0), r1=usdm.PRTY_STS_H_0, r2=usdm.PRTY_MASK_H_0, */
- 0x000004bd, 0x00010002, 0x0000062b, /* ((r1&~r2)!=0), r1=xcm.PRTY_STS_H_0, r2=xcm.PRTY_MASK_H_0, */
- 0x000004be, 0x00010002, 0x0000062d, /* ((r1&~r2)!=0), r1=xcm.PRTY_STS_H_1, r2=xcm.PRTY_MASK_H_1, */
- 0x000004bf, 0x00010002, 0x0000062f, /* ((r1&~r2)!=0), r1=ycm.PRTY_STS_H_0, r2=ycm.PRTY_MASK_H_0, */
- 0x000004c0, 0x00010002, 0x00000631, /* ((r1&~r2)!=0), r1=ycm.PRTY_STS_H_1, r2=ycm.PRTY_MASK_H_1, */
- 0x000004c1, 0x00010002, 0x00000633, /* ((r1&~r2)!=0), r1=pcm.PRTY_STS_H_0, r2=pcm.PRTY_MASK_H_0, */
- 0x010004c2, 0x00010001, 0x00000635, /* (r1!=0), r1=pcm.pbf_length_mis, */
- 0x010104c3, 0x00010001, 0x00000636, /* (r1!=0), r1=pcm.is_pbf_fill_lvl, */
- 0x000004c4, 0x00010002, 0x00000637, /* ((r1&~r2)!=0), r1=tcm.PRTY_STS_H_0, r2=tcm.PRTY_MASK_H_0, */
- 0x000004c5, 0x00010002, 0x00000639, /* ((r1&~r2)!=0), r1=tcm.PRTY_STS_H_1, r2=tcm.PRTY_MASK_H_1, */
- 0x010004c6, 0x00010001, 0x0000063b, /* (r1!=0), r1=tcm.prs_length_mis, */
- 0x010104c7, 0x00010001, 0x0000063c, /* (r1!=0), r1=tcm.is_prs_fill_lvl, */
- 0x000004c8, 0x00010002, 0x0000063d, /* ((r1&~r2)!=0), r1=mcm.PRTY_STS_H_0, r2=mcm.PRTY_MASK_H_0, */
- 0x000004c9, 0x00010002, 0x0000063f, /* ((r1&~r2)!=0), r1=mcm.PRTY_STS_H_1, r2=mcm.PRTY_MASK_H_1, */
- 0x000004ca, 0x00010002, 0x00000641, /* ((r1&~r2)!=0), r1=ucm.PRTY_STS_H_0, r2=ucm.PRTY_MASK_H_0, */
- 0x000004cb, 0x00010002, 0x00000643, /* ((r1&~r2)!=0), r1=ucm.PRTY_STS_H_1, r2=ucm.PRTY_MASK_H_1, */
- 0x010004cc, 0x00010001, 0x00000645, /* (r1!=0), r1=ucm.yuld_length_mis, */
- 0x010104cd, 0x00010001, 0x00000646, /* (r1!=0), r1=ucm.is_yuld_fill_lvl, */
- 0x000004ce, 0x00010002, 0x00000647, /* ((r1&~r2)!=0), r1=xsem.PRTY_STS_H_0, r2=xsem.PRTY_MASK_H_0, */
- 0x010204cf, 0x00010001, 0x00000649, /* (r1!=0), r1=xsem.thread_error, */
- 0x010104d0, 0x00010001, 0x0000064a, /* (r1!=0), r1=xsem.thread_rdy, */
- 0x010104d1, 0x00010001, 0x0000064b, /* (r1!=0), r1=xsem.thread_valid, */
- 0x010104d2, 0x00010001, 0x000d064c, /* (r1!=1), r1=xsem.dra_empty, */
- 0x010104d3, 0x00010001, 0x000d064d, /* (r1!=1), r1=xsem.slow_dbg_empty, */
- 0x010104d4, 0x00010001, 0x000d064e, /* (r1!=1), r1=xsem.slow_dra_fin_empty, */
- 0x010104d5, 0x00010001, 0x000d064f, /* (r1!=1), r1=xsem.slow_dra_rd_empty, */
- 0x010104d6, 0x00010001, 0x000d0650, /* (r1!=1), r1=xsem.slow_dra_wr_empty, */
- 0x010104d7, 0x00010001, 0x000d0651, /* (r1!=1), r1=xsem.thread_fifo_empty, */
- 0x010104d8, 0x00010001, 0x00000652, /* (r1!=0), r1=xsem.pas_if_full, */
- 0x010204d9, 0x00010001, 0x00000653, /* (r1!=0), r1=xsem.thread_orun_num, */
- 0x010104da, 0x00010001, 0x00000654, /* (r1!=0), r1=xsem.dbg_if_full, */
- 0x000004db, 0x00010002, 0x00000655, /* ((r1&~r2)!=0), r1=ysem.PRTY_STS_H_0, r2=ysem.PRTY_MASK_H_0, */
- 0x010204dc, 0x00010001, 0x00000657, /* (r1!=0), r1=ysem.thread_error, */
- 0x010104dd, 0x00010001, 0x00000658, /* (r1!=0), r1=ysem.thread_rdy, */
- 0x010104de, 0x00010001, 0x00000659, /* (r1!=0), r1=ysem.thread_valid, */
- 0x010104df, 0x00010001, 0x000d065a, /* (r1!=1), r1=ysem.dra_empty, */
- 0x010104e0, 0x00010001, 0x000d065b, /* (r1!=1), r1=ysem.slow_dbg_empty, */
- 0x010104e1, 0x00010001, 0x000d065c, /* (r1!=1), r1=ysem.slow_dra_fin_empty, */
- 0x010104e2, 0x00010001, 0x000d065d, /* (r1!=1), r1=ysem.slow_dra_rd_empty, */
- 0x010104e3, 0x00010001, 0x000d065e, /* (r1!=1), r1=ysem.slow_dra_wr_empty, */
- 0x010104e4, 0x00010001, 0x000d065f, /* (r1!=1), r1=ysem.thread_fifo_empty, */
- 0x010104e5, 0x00010001, 0x00000660, /* (r1!=0), r1=ysem.pas_if_full, */
- 0x010204e6, 0x00010001, 0x00000661, /* (r1!=0), r1=ysem.thread_orun_num, */
- 0x010104e7, 0x00010001, 0x00000662, /* (r1!=0), r1=ysem.dbg_if_full, */
- 0x000004e8, 0x00010002, 0x00000663, /* ((r1&~r2)!=0), r1=psem.PRTY_STS_H_0, r2=psem.PRTY_MASK_H_0, */
- 0x010204e9, 0x00010001, 0x00000665, /* (r1!=0), r1=psem.thread_error, */
- 0x010104ea, 0x00010001, 0x00000666, /* (r1!=0), r1=psem.thread_rdy, */
- 0x010104eb, 0x00010001, 0x00000667, /* (r1!=0), r1=psem.thread_valid, */
- 0x010104ec, 0x00010001, 0x000d0668, /* (r1!=1), r1=psem.dra_empty, */
- 0x010104ed, 0x00010001, 0x000d0669, /* (r1!=1), r1=psem.slow_dbg_empty, */
- 0x010104ee, 0x00010001, 0x000d066a, /* (r1!=1), r1=psem.slow_dra_fin_empty, */
- 0x010104ef, 0x00010001, 0x000d066b, /* (r1!=1), r1=psem.slow_dra_rd_empty, */
- 0x010104f0, 0x00010001, 0x000d066c, /* (r1!=1), r1=psem.slow_dra_wr_empty, */
- 0x010104f1, 0x00010001, 0x000d066d, /* (r1!=1), r1=psem.thread_fifo_empty, */
- 0x010104f2, 0x00010001, 0x0000066e, /* (r1!=0), r1=psem.pas_if_full, */
- 0x010204f3, 0x00010001, 0x0000066f, /* (r1!=0), r1=psem.thread_orun_num, */
- 0x010104f4, 0x00010001, 0x00000670, /* (r1!=0), r1=psem.dbg_if_full, */
- 0x000004f5, 0x00010002, 0x00000671, /* ((r1&~r2)!=0), r1=tsem.PRTY_STS_H_0, r2=tsem.PRTY_MASK_H_0, */
- 0x010204f6, 0x00010001, 0x00000673, /* (r1!=0), r1=tsem.thread_error, */
- 0x010104f7, 0x00010001, 0x00000674, /* (r1!=0), r1=tsem.thread_rdy, */
- 0x010104f8, 0x00010001, 0x00000675, /* (r1!=0), r1=tsem.thread_valid, */
- 0x010104f9, 0x00010001, 0x000d0676, /* (r1!=1), r1=tsem.dra_empty, */
- 0x010104fa, 0x00010001, 0x000d0677, /* (r1!=1), r1=tsem.slow_dbg_empty, */
- 0x010104fb, 0x00010001, 0x000d0678, /* (r1!=1), r1=tsem.slow_dra_fin_empty, */
- 0x010104fc, 0x00010001, 0x000d0679, /* (r1!=1), r1=tsem.slow_dra_rd_empty, */
- 0x010104fd, 0x00010001, 0x000d067a, /* (r1!=1), r1=tsem.slow_dra_wr_empty, */
- 0x010104fe, 0x00010001, 0x000d067b, /* (r1!=1), r1=tsem.thread_fifo_empty, */
- 0x010104ff, 0x00010001, 0x0000067c, /* (r1!=0), r1=tsem.pas_if_full, */
- 0x01020500, 0x00010001, 0x0000067d, /* (r1!=0), r1=tsem.thread_orun_num, */
- 0x01010501, 0x00010001, 0x0000067e, /* (r1!=0), r1=tsem.dbg_if_full, */
- 0x00000502, 0x00010002, 0x0000067f, /* ((r1&~r2)!=0), r1=msem.PRTY_STS_H_0, r2=msem.PRTY_MASK_H_0, */
- 0x01020503, 0x00010001, 0x00000681, /* (r1!=0), r1=msem.thread_error, */
- 0x01010504, 0x00010001, 0x00000682, /* (r1!=0), r1=msem.thread_rdy, */
- 0x01010505, 0x00010001, 0x00000683, /* (r1!=0), r1=msem.thread_valid, */
- 0x01010506, 0x00010001, 0x000d0684, /* (r1!=1), r1=msem.dra_empty, */
- 0x01010507, 0x00010001, 0x000d0685, /* (r1!=1), r1=msem.slow_dbg_empty, */
- 0x01010508, 0x00010001, 0x000d0686, /* (r1!=1), r1=msem.slow_dra_fin_empty, */
- 0x01010509, 0x00010001, 0x000d0687, /* (r1!=1), r1=msem.slow_dra_rd_empty, */
- 0x0101050a, 0x00010001, 0x000d0688, /* (r1!=1), r1=msem.slow_dra_wr_empty, */
- 0x0101050b, 0x00010001, 0x000d0689, /* (r1!=1), r1=msem.thread_fifo_empty, */
- 0x0101050c, 0x00010001, 0x0000068a, /* (r1!=0), r1=msem.pas_if_full, */
- 0x0102050d, 0x00010001, 0x0000068b, /* (r1!=0), r1=msem.thread_orun_num, */
- 0x0101050e, 0x00010001, 0x0000068c, /* (r1!=0), r1=msem.dbg_if_full, */
- 0x0000050f, 0x00010002, 0x0000068d, /* ((r1&~r2)!=0), r1=usem.PRTY_STS_H_0, r2=usem.PRTY_MASK_H_0, */
- 0x01020510, 0x00010001, 0x0000068f, /* (r1!=0), r1=usem.thread_error, */
- 0x01010511, 0x00010001, 0x00000690, /* (r1!=0), r1=usem.thread_rdy, */
- 0x01010512, 0x00010001, 0x00000691, /* (r1!=0), r1=usem.thread_valid, */
- 0x01010513, 0x00010001, 0x000d0692, /* (r1!=1), r1=usem.dra_empty, */
- 0x01010514, 0x00010001, 0x000d0693, /* (r1!=1), r1=usem.slow_dbg_empty, */
- 0x01010515, 0x00010001, 0x000d0694, /* (r1!=1), r1=usem.slow_dra_fin_empty, */
- 0x01010516, 0x00010001, 0x000d0695, /* (r1!=1), r1=usem.slow_dra_rd_empty, */
- 0x01010517, 0x00010001, 0x000d0696, /* (r1!=1), r1=usem.slow_dra_wr_empty, */
- 0x01010518, 0x00010001, 0x000d0697, /* (r1!=1), r1=usem.thread_fifo_empty, */
- 0x01010519, 0x00010001, 0x00000698, /* (r1!=0), r1=usem.pas_if_full, */
- 0x0102051a, 0x00010001, 0x00000699, /* (r1!=0), r1=usem.thread_orun_num, */
- 0x0101051b, 0x00010001, 0x0000069a, /* (r1!=0), r1=usem.dbg_if_full, */
- 0x0003001d, /* mode !(!asic) */
- 0x0000051c, 0x00010002, 0x0000069b, /* ((r1&~r2)!=0), r1=mcp2.PRTY_STS, r2=mcp2.PRTY_MASK, */
- 0x0003004f, /* mode (!e5)&(!(emul_reduced|fpga)) */
- 0x0000051d, 0x00010002, 0x0000069d, /* ((r1&~r2)!=0), r1=ncsi.PRTY_STS_H_0, r2=ncsi.PRTY_MASK_H_0, */
- 0x00600099, /* mode (!bb)&(!(!asic)) */
- 0x0600051e, 0x00020001, 0x000b069f, /* ((r1&0x00000002)!=0), r1=umac.INT_STS, */
- 0x0600051f, 0x00020001, 0x000d06a0, /* ((r1&0x00000001)!=0), r1=umac.INT_STS, */
- 0x01020520, 0x00010001, 0x000006a1, /* (r1!=0), r1=nws.nws_cmu.phy0_top_err_ctrl0, */
- 0x01020521, 0x00010001, 0x000006a2, /* (r1!=0), r1=nws.nws_cmu.phy0_top_err_ctrl1, */
- 0x01020522, 0x00010001, 0x000006a3, /* (r1!=0), r1=nws.nws_cmu.phy0_top_err_ctrl2, */
- 0x01000523, 0x00010001, 0x000006a4, /* (r1!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status0, */
- 0x06000524, 0x00020001, 0x000d06a5, /* ((r1&0x00000001)!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status0, */
- 0x06000525, 0x00020001, 0x000b06a6, /* ((r1&0x00000002)!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status0, */
- 0x06000526, 0x00020001, 0x006d06a7, /* ((r1&0x00000004)!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status0, */
- 0x01000527, 0x00010001, 0x000006a8, /* (r1!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status1, */
- 0x01000528, 0x00010001, 0x000006a9, /* (r1!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status2, */
- 0x01000529, 0x00010001, 0x000006aa, /* (r1!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status3, */
- 0x0100052a, 0x00010001, 0x000d06ab, /* (r1!=1), r1=nws.nws_cmu.cmu_lc0_top_phy_if_status, */
- 0x0100052b, 0x00010001, 0x000006ac, /* (r1!=0), r1=nws.nws_cmu.cmu_lc0_top_err_ctrl1, */
- 0x0100052c, 0x00010001, 0x000006ad, /* (r1!=0), r1=nws.nws_cmu.cmu_lc0_top_err_ctrl2, */
- 0x0100052d, 0x00010001, 0x000006ae, /* (r1!=0), r1=nws.nws_cmu.cmu_lc0_top_err_ctrl3, */
- 0x0100052e, 0x00010001, 0x000d06af, /* (r1!=1), r1=nws.nws_cmu.cmu_r0_top_phy_if_status, */
- 0x0100052f, 0x00010001, 0x000006b0, /* (r1!=0), r1=nws.nws_cmu.cmu_r0_top_err_ctrl1, */
- 0x01000530, 0x00010001, 0x000006b1, /* (r1!=0), r1=nws.nws_cmu.cmu_r0_top_err_ctrl2, */
- 0x01000531, 0x00010001, 0x000006b2, /* (r1!=0), r1=nws.nws_cmu.cmu_r0_top_err_ctrl3, */
- 0x01020532, 0x00010001, 0x000006b3, /* (r1!=0), r1=nws.nws_cmu.ln0_top_err_ctrl1, */
- 0x01020533, 0x00010001, 0x000006b4, /* (r1!=0), r1=nws.nws_cmu.ln0_top_err_ctrl2, */
- 0x01020534, 0x00010001, 0x000006b5, /* (r1!=0), r1=nws.nws_cmu.ln0_top_err_ctrl3, */
- 0x01020535, 0x00010001, 0x000006b6, /* (r1!=0), r1=nws.nws_cmu.ln1_top_err_ctrl1, */
- 0x01020536, 0x00010001, 0x000006b7, /* (r1!=0), r1=nws.nws_cmu.ln1_top_err_ctrl2, */
- 0x01020537, 0x00010001, 0x000006b8, /* (r1!=0), r1=nws.nws_cmu.ln1_top_err_ctrl3, */
- 0x01020538, 0x00010001, 0x000006b9, /* (r1!=0), r1=nws.nws_cmu.ln2_top_err_ctrl1, */
- 0x01020539, 0x00010001, 0x000006ba, /* (r1!=0), r1=nws.nws_cmu.ln2_top_err_ctrl2, */
- 0x0102053a, 0x00010001, 0x000006bb, /* (r1!=0), r1=nws.nws_cmu.ln2_top_err_ctrl3, */
- 0x0102053b, 0x00010001, 0x000006bc, /* (r1!=0), r1=nws.nws_cmu.ln3_top_err_ctrl1, */
- 0x0102053c, 0x00010001, 0x000006bd, /* (r1!=0), r1=nws.nws_cmu.ln3_top_err_ctrl2, */
- 0x0102053d, 0x00010001, 0x000006be, /* (r1!=0), r1=nws.nws_cmu.ln3_top_err_ctrl3, */
- 0x00060153, /* mode asic&(!e5) */
- 0x0000053e, 0x00010002, 0x000006bf, /* ((r1&~r2)!=0), r1=bmb.PRTY_STS_H_0, r2=bmb.PRTY_MASK_H_0, */
- 0x0000053f, 0x00010002, 0x000006c1, /* ((r1&~r2)!=0), r1=bmb.PRTY_STS_H_1, r2=bmb.PRTY_MASK_H_1, */
- 0x00030163, /* mode bb&asic */
- 0x00000540, 0x00010002, 0x000006c3, /* ((r1&~r2)!=0), r1=ipc.PRTY_STS, r2=ipc.PRTY_MASK, */
- 0x000300a5, /* mode (!e5)&(!(!asic)) */
- 0x00000541, 0x00010002, 0x000006c5, /* ((r1&~r2)!=0), r1=mcp2.PRTY_STS_H_0, r2=mcp2.PRTY_MASK_H_0, */
+ 0x060004a2, 0x00020001, 0x004a0616, /* ((r1&0x0FD010)!=0), r1=pglcs.pgl_cs.uc_err_status, */
+ 0x060204a3, 0x00020001, 0x00480617, /* ((r1&0x2000)!=0), r1=pglcs.pgl_cs.uc_err_status, */
+ 0x060204a4, 0x00020001, 0x004c0618, /* ((r1&0x100000)!=0), r1=pglcs.pgl_cs.uc_err_status, */
+ 0x010204a5, 0x00010001, 0x00000619, /* (r1!=0), r1=pglcs.pgl_cs.header_log1[0:3], */
+ 0x060204a6, 0x00020001, 0x0066061a, /* ((r1&0x2000000)!=0), r1=pglcs.pgl_cs.tl_ctrlstat_5, */
+ 0x040004a7, 0x00020001, 0x0068061b, /* ((r1&~0x2040902)!=0), r1=pglcs.pgl_cs.tl_ctrlstat_5, */
+ 0x040004a8, 0x00020001, 0x006a061c, /* ((r1&~0x10240902)!=0), r1=pglcs.pgl_cs.tl_func345_stat, */
+ 0x040004a9, 0x00020001, 0x006a061d, /* ((r1&~0x10240902)!=0), r1=pglcs.pgl_cs.tl_func678_stat, */
+ 0x060004aa, 0x00020001, 0x000b061e, /* ((r1&0x2)!=0), r1=pglcs.pgl_cs.DLATTN_VEC, */
+ 0x000004ab, 0x00010002, 0x0000061f, /* ((r1&~r2)!=0), r1=miscs.INT_STS_1, r2=miscs.INT_MASK_1, */
+ 0x000004ac, 0x00010002, 0x00000621, /* ((r1&~r2)!=0), r1=igu.PRTY_STS_H_1, r2=igu.PRTY_MASK_H_1, */
+ 0x010104ad, 0x00010001, 0x000d0623, /* (r1!=1), r1=nig.rx_macfifo_empty, */
+ 0x01590043, /* mode !e5 */
+ 0x000004ae, 0x00010002, 0x00000624, /* ((r1&~r2)!=0), r1=opte.PRTY_STS_H_0, r2=opte.PRTY_MASK_H_0, */
+ 0x010204af, 0x00010001, 0x00000626, /* (r1!=0), r1=cau.agg_units_0to15_state, */
+ 0x010204b0, 0x00010001, 0x00000627, /* (r1!=0), r1=cau.agg_units_16to31_state, */
+ 0x010204b1, 0x00010001, 0x00000628, /* (r1!=0), r1=cau.agg_units_32to47_state, */
+ 0x010204b2, 0x00010001, 0x00000629, /* (r1!=0), r1=cau.agg_units_48to63_state, */
+ 0x010204b3, 0x00010001, 0x0000062a, /* (r1!=0), r1=cau.igu_cqe_cmd_fsm_status, */
+ 0x010204b4, 0x00010001, 0x0000062b, /* (r1!=0), r1=cau.igu_cqe_agg_fsm_status, */
+ 0x000004b5, 0x00010002, 0x0000062c, /* ((r1&~r2)!=0), r1=prs.PRTY_STS_H_1, r2=prs.PRTY_MASK_H_1, */
+ 0x010104b6, 0x00010001, 0x0000062e, /* (r1!=0), r1=prs.prs_pkt_ct, */
+ 0x010104b7, 0x00010001, 0x0000062f, /* (r1!=0), r1=prs.tcm_current_credit, */
+ 0x010204b8, 0x00010001, 0x006c0630, /* (r1!=31), r1=rss.empty_status, */
+ 0x010204b9, 0x00010001, 0x00000631, /* (r1!=0), r1=rss.full_status, */
+ 0x010204ba, 0x00010001, 0x00000632, /* (r1!=0), r1=rss.counters_status, */
+ 0x010104bb, 0x00010001, 0x00000633, /* (r1!=0), r1=rss.state_machines, */
+ 0x010104bc, 0x00010001, 0x00000634, /* (r1!=0), r1=yuld.pending_msg_to_ext_ev_1_ctr, */
+ 0x010104bd, 0x00010001, 0x00000635, /* (r1!=0), r1=yuld.pending_msg_to_ext_ev_2_ctr, */
+ 0x010104be, 0x00010001, 0x00000636, /* (r1!=0), r1=yuld.pending_msg_to_ext_ev_3_ctr, */
+ 0x010104bf, 0x00010001, 0x00000637, /* (r1!=0), r1=yuld.pending_msg_to_ext_ev_4_ctr, */
+ 0x010104c0, 0x00010001, 0x00000638, /* (r1!=0), r1=yuld.pending_msg_to_ext_ev_5_ctr, */
+ 0x030104c1, 0x00000002, 0x00000639, /* (r1!=r2), r1=yuld.foc_remain_credits, r2=yuld.foci_foc_credits, */
+ 0x010104c2, 0x00010001, 0x0000063b, /* (r1!=0), r1=yuld.dbg_pending_ccfc_req, */
+ 0x010104c3, 0x00010001, 0x0000063c, /* (r1!=0), r1=yuld.dbg_pending_tcfc_req, */
+ 0x000004c4, 0x00010002, 0x0000063d, /* ((r1&~r2)!=0), r1=yuld.PRTY_STS_H_0, r2=yuld.PRTY_MASK_H_0, */
+ 0x010104c5, 0x00010001, 0x000d063f, /* (r1!=1), r1=nig.tx_macfifo_empty, */
+ 0x000004c6, 0x00010002, 0x00000640, /* ((r1&~r2)!=0), r1=pbf.PRTY_STS_H_0, r2=pbf.PRTY_MASK_H_0, */
+ 0x000004c7, 0x00010002, 0x00000642, /* ((r1&~r2)!=0), r1=pbf.PRTY_STS_H_1, r2=pbf.PRTY_MASK_H_1, */
+ 0x010004c8, 0x00010001, 0x00000644, /* (r1!=0), r1=pcm.pbf_length_mis, */
+ 0x010104c9, 0x00010001, 0x00000645, /* (r1!=0), r1=pcm.is_pbf_fill_lvl, */
+ 0x010004ca, 0x00010001, 0x00000646, /* (r1!=0), r1=tcm.prs_length_mis, */
+ 0x010104cb, 0x00010001, 0x00000647, /* (r1!=0), r1=tcm.is_prs_fill_lvl, */
+ 0x010004cc, 0x00010001, 0x00000648, /* (r1!=0), r1=ucm.yuld_length_mis, */
+ 0x010104cd, 0x00010001, 0x00000649, /* (r1!=0), r1=ucm.is_yuld_fill_lvl, */
+ 0x000004ce, 0x00010002, 0x0000064a, /* ((r1&~r2)!=0), r1=xsem.PRTY_STS_H_0, r2=xsem.PRTY_MASK_H_0, */
+ 0x010204cf, 0x00010001, 0x0000064c, /* (r1!=0), r1=xsem.thread_error, */
+ 0x010104d0, 0x00010001, 0x0000064d, /* (r1!=0), r1=xsem.thread_rdy, */
+ 0x010104d1, 0x00010001, 0x0000064e, /* (r1!=0), r1=xsem.thread_valid, */
+ 0x010104d2, 0x00010001, 0x000d064f, /* (r1!=1), r1=xsem.dra_empty, */
+ 0x010104d3, 0x00010001, 0x000d0650, /* (r1!=1), r1=xsem.slow_dbg_empty, */
+ 0x010104d4, 0x00010001, 0x000d0651, /* (r1!=1), r1=xsem.slow_dra_fin_empty, */
+ 0x010104d5, 0x00010001, 0x000d0652, /* (r1!=1), r1=xsem.slow_dra_rd_empty, */
+ 0x010104d6, 0x00010001, 0x000d0653, /* (r1!=1), r1=xsem.slow_dra_wr_empty, */
+ 0x010104d7, 0x00010001, 0x000d0654, /* (r1!=1), r1=xsem.slow_ram_rd_empty, */
+ 0x010104d8, 0x00010001, 0x000d0655, /* (r1!=1), r1=xsem.thread_fifo_empty, */
+ 0x010104d9, 0x00010001, 0x00000656, /* (r1!=0), r1=xsem.pas_if_full, */
+ 0x010204da, 0x00010001, 0x00000657, /* (r1!=0), r1=xsem.thread_orun_num, */
+ 0x010104db, 0x00010001, 0x00000658, /* (r1!=0), r1=xsem.dbg_if_full, */
+ 0x000004dc, 0x00010002, 0x00000659, /* ((r1&~r2)!=0), r1=ysem.PRTY_STS_H_0, r2=ysem.PRTY_MASK_H_0, */
+ 0x010204dd, 0x00010001, 0x0000065b, /* (r1!=0), r1=ysem.thread_error, */
+ 0x010104de, 0x00010001, 0x0000065c, /* (r1!=0), r1=ysem.thread_rdy, */
+ 0x010104df, 0x00010001, 0x0000065d, /* (r1!=0), r1=ysem.thread_valid, */
+ 0x010104e0, 0x00010001, 0x000d065e, /* (r1!=1), r1=ysem.dra_empty, */
+ 0x010104e1, 0x00010001, 0x000d065f, /* (r1!=1), r1=ysem.slow_dbg_empty, */
+ 0x010104e2, 0x00010001, 0x000d0660, /* (r1!=1), r1=ysem.slow_dra_fin_empty, */
+ 0x010104e3, 0x00010001, 0x000d0661, /* (r1!=1), r1=ysem.slow_dra_rd_empty, */
+ 0x010104e4, 0x00010001, 0x000d0662, /* (r1!=1), r1=ysem.slow_dra_wr_empty, */
+ 0x010104e5, 0x00010001, 0x000d0663, /* (r1!=1), r1=ysem.slow_ram_rd_empty, */
+ 0x010104e6, 0x00010001, 0x000d0664, /* (r1!=1), r1=ysem.thread_fifo_empty, */
+ 0x010104e7, 0x00010001, 0x00000665, /* (r1!=0), r1=ysem.pas_if_full, */
+ 0x010204e8, 0x00010001, 0x00000666, /* (r1!=0), r1=ysem.thread_orun_num, */
+ 0x010104e9, 0x00010001, 0x00000667, /* (r1!=0), r1=ysem.dbg_if_full, */
+ 0x000004ea, 0x00010002, 0x00000668, /* ((r1&~r2)!=0), r1=psem.PRTY_STS_H_0, r2=psem.PRTY_MASK_H_0, */
+ 0x010204eb, 0x00010001, 0x0000066a, /* (r1!=0), r1=psem.thread_error, */
+ 0x010104ec, 0x00010001, 0x0000066b, /* (r1!=0), r1=psem.thread_rdy, */
+ 0x010104ed, 0x00010001, 0x0000066c, /* (r1!=0), r1=psem.thread_valid, */
+ 0x010104ee, 0x00010001, 0x000d066d, /* (r1!=1), r1=psem.dra_empty, */
+ 0x010104ef, 0x00010001, 0x000d066e, /* (r1!=1), r1=psem.slow_dbg_empty, */
+ 0x010104f0, 0x00010001, 0x000d066f, /* (r1!=1), r1=psem.slow_dra_fin_empty, */
+ 0x010104f1, 0x00010001, 0x000d0670, /* (r1!=1), r1=psem.slow_dra_rd_empty, */
+ 0x010104f2, 0x00010001, 0x000d0671, /* (r1!=1), r1=psem.slow_dra_wr_empty, */
+ 0x010104f3, 0x00010001, 0x000d0672, /* (r1!=1), r1=psem.slow_ram_rd_empty, */
+ 0x010104f4, 0x00010001, 0x000d0673, /* (r1!=1), r1=psem.thread_fifo_empty, */
+ 0x010104f5, 0x00010001, 0x00000674, /* (r1!=0), r1=psem.pas_if_full, */
+ 0x010204f6, 0x00010001, 0x00000675, /* (r1!=0), r1=psem.thread_orun_num, */
+ 0x010104f7, 0x00010001, 0x00000676, /* (r1!=0), r1=psem.dbg_if_full, */
+ 0x000004f8, 0x00010002, 0x00000677, /* ((r1&~r2)!=0), r1=tsem.PRTY_STS_H_0, r2=tsem.PRTY_MASK_H_0, */
+ 0x010204f9, 0x00010001, 0x00000679, /* (r1!=0), r1=tsem.thread_error, */
+ 0x010104fa, 0x00010001, 0x0000067a, /* (r1!=0), r1=tsem.thread_rdy, */
+ 0x010104fb, 0x00010001, 0x0000067b, /* (r1!=0), r1=tsem.thread_valid, */
+ 0x010104fc, 0x00010001, 0x000d067c, /* (r1!=1), r1=tsem.dra_empty, */
+ 0x010104fd, 0x00010001, 0x000d067d, /* (r1!=1), r1=tsem.slow_dbg_empty, */
+ 0x010104fe, 0x00010001, 0x000d067e, /* (r1!=1), r1=tsem.slow_dra_fin_empty, */
+ 0x010104ff, 0x00010001, 0x000d067f, /* (r1!=1), r1=tsem.slow_dra_rd_empty, */
+ 0x01010500, 0x00010001, 0x000d0680, /* (r1!=1), r1=tsem.slow_dra_wr_empty, */
+ 0x01010501, 0x00010001, 0x000d0681, /* (r1!=1), r1=tsem.slow_ram_rd_empty, */
+ 0x01010502, 0x00010001, 0x000d0682, /* (r1!=1), r1=tsem.thread_fifo_empty, */
+ 0x01010503, 0x00010001, 0x00000683, /* (r1!=0), r1=tsem.pas_if_full, */
+ 0x01020504, 0x00010001, 0x00000684, /* (r1!=0), r1=tsem.thread_orun_num, */
+ 0x01010505, 0x00010001, 0x00000685, /* (r1!=0), r1=tsem.dbg_if_full, */
+ 0x01020506, 0x00010001, 0x00000686, /* (r1!=0), r1=msem.thread_error, */
+ 0x01010507, 0x00010001, 0x00000687, /* (r1!=0), r1=msem.thread_rdy, */
+ 0x01010508, 0x00010001, 0x00000688, /* (r1!=0), r1=msem.thread_valid, */
+ 0x01010509, 0x00010001, 0x000d0689, /* (r1!=1), r1=msem.dra_empty, */
+ 0x0101050a, 0x00010001, 0x000d068a, /* (r1!=1), r1=msem.slow_dbg_empty, */
+ 0x0101050b, 0x00010001, 0x000d068b, /* (r1!=1), r1=msem.slow_dra_fin_empty, */
+ 0x0101050c, 0x00010001, 0x000d068c, /* (r1!=1), r1=msem.slow_dra_rd_empty, */
+ 0x0101050d, 0x00010001, 0x000d068d, /* (r1!=1), r1=msem.slow_dra_wr_empty, */
+ 0x0101050e, 0x00010001, 0x000d068e, /* (r1!=1), r1=msem.slow_ram_rd_empty, */
+ 0x0101050f, 0x00010001, 0x000d068f, /* (r1!=1), r1=msem.thread_fifo_empty, */
+ 0x01010510, 0x00010001, 0x00000690, /* (r1!=0), r1=msem.pas_if_full, */
+ 0x01020511, 0x00010001, 0x00000691, /* (r1!=0), r1=msem.thread_orun_num, */
+ 0x01010512, 0x00010001, 0x00000692, /* (r1!=0), r1=msem.dbg_if_full, */
+ 0x00000513, 0x00010002, 0x00000693, /* ((r1&~r2)!=0), r1=usem.PRTY_STS_H_0, r2=usem.PRTY_MASK_H_0, */
+ 0x01020514, 0x00010001, 0x00000695, /* (r1!=0), r1=usem.thread_error, */
+ 0x01010515, 0x00010001, 0x00000696, /* (r1!=0), r1=usem.thread_rdy, */
+ 0x01010516, 0x00010001, 0x00000697, /* (r1!=0), r1=usem.thread_valid, */
+ 0x01010517, 0x00010001, 0x000d0698, /* (r1!=1), r1=usem.dra_empty, */
+ 0x01010518, 0x00010001, 0x000d0699, /* (r1!=1), r1=usem.slow_dbg_empty, */
+ 0x01010519, 0x00010001, 0x000d069a, /* (r1!=1), r1=usem.slow_dra_fin_empty, */
+ 0x0101051a, 0x00010001, 0x000d069b, /* (r1!=1), r1=usem.slow_dra_rd_empty, */
+ 0x0101051b, 0x00010001, 0x000d069c, /* (r1!=1), r1=usem.slow_dra_wr_empty, */
+ 0x0101051c, 0x00010001, 0x000d069d, /* (r1!=1), r1=usem.slow_ram_rd_empty, */
+ 0x0101051d, 0x00010001, 0x000d069e, /* (r1!=1), r1=usem.thread_fifo_empty, */
+ 0x0101051e, 0x00010001, 0x0000069f, /* (r1!=0), r1=usem.pas_if_full, */
+ 0x0102051f, 0x00010001, 0x000006a0, /* (r1!=0), r1=usem.thread_orun_num, */
+ 0x01010520, 0x00010001, 0x000006a1, /* (r1!=0), r1=usem.dbg_if_full, */
+ 0x0006001d, /* mode !(!asic) */
+ 0x00000521, 0x00010002, 0x000006a2, /* ((r1&~r2)!=0), r1=mcp2.PRTY_STS, r2=mcp2.PRTY_MASK, */
+ 0x00000522, 0x00010002, 0x000006a4, /* ((r1&~r2)!=0), r1=mcp2.PRTY_STS_H_0, r2=mcp2.PRTY_MASK_H_0, */
+ 0x0003000b, /* mode !(emul_reduced|fpga) */
+ 0x00000523, 0x00010002, 0x000006a6, /* ((r1&~r2)!=0), r1=ncsi.PRTY_STS_H_0, r2=ncsi.PRTY_MASK_H_0, */
+ 0x006000c3, /* mode (!bb)&(!(!asic)) */
+ 0x06000524, 0x00020001, 0x000b06a8, /* ((r1&0x00000002)!=0), r1=umac.INT_STS, */
+ 0x06000525, 0x00020001, 0x000d06a9, /* ((r1&0x00000001)!=0), r1=umac.INT_STS, */
+ 0x01020526, 0x00010001, 0x000006aa, /* (r1!=0), r1=nws.nws_cmu.phy0_top_err_ctrl0, */
+ 0x01020527, 0x00010001, 0x000006ab, /* (r1!=0), r1=nws.nws_cmu.phy0_top_err_ctrl1, */
+ 0x01020528, 0x00010001, 0x000006ac, /* (r1!=0), r1=nws.nws_cmu.phy0_top_err_ctrl2, */
+ 0x06000529, 0x00020001, 0x006d06ad, /* ((r1&0x00000004)!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status0, */
+ 0x0600052a, 0x00020001, 0x000b06ae, /* ((r1&0x00000002)!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status0, */
+ 0x0600052b, 0x00020001, 0x000d06af, /* ((r1&0x00000001)!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status0, */
+ 0x0100052c, 0x00010001, 0x000006b0, /* (r1!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status0, */
+ 0x0100052d, 0x00010001, 0x000006b1, /* (r1!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status1, */
+ 0x0100052e, 0x00010001, 0x000006b2, /* (r1!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status2, */
+ 0x0100052f, 0x00010001, 0x000006b3, /* (r1!=0), r1=nws.nws_cmu.phy0_top_regbus_err_info_status3, */
+ 0x01000530, 0x00010001, 0x000d06b4, /* (r1!=1), r1=nws.nws_cmu.cmu_lc0_top_phy_if_status, */
+ 0x01000531, 0x00010001, 0x000006b5, /* (r1!=0), r1=nws.nws_cmu.cmu_lc0_top_err_ctrl1, */
+ 0x01000532, 0x00010001, 0x000006b6, /* (r1!=0), r1=nws.nws_cmu.cmu_lc0_top_err_ctrl2, */
+ 0x01000533, 0x00010001, 0x000006b7, /* (r1!=0), r1=nws.nws_cmu.cmu_lc0_top_err_ctrl3, */
+ 0x01000534, 0x00010001, 0x000d06b8, /* (r1!=1), r1=nws.nws_cmu.cmu_r0_top_phy_if_status, */
+ 0x01000535, 0x00010001, 0x000006b9, /* (r1!=0), r1=nws.nws_cmu.cmu_r0_top_err_ctrl1, */
+ 0x01000536, 0x00010001, 0x000006ba, /* (r1!=0), r1=nws.nws_cmu.cmu_r0_top_err_ctrl2, */
+ 0x01000537, 0x00010001, 0x000006bb, /* (r1!=0), r1=nws.nws_cmu.cmu_r0_top_err_ctrl3, */
+ 0x01020538, 0x00010001, 0x000006bc, /* (r1!=0), r1=nws.nws_cmu.ln0_top_err_ctrl1, */
+ 0x01020539, 0x00010001, 0x000006bd, /* (r1!=0), r1=nws.nws_cmu.ln0_top_err_ctrl2, */
+ 0x0102053a, 0x00010001, 0x000006be, /* (r1!=0), r1=nws.nws_cmu.ln0_top_err_ctrl3, */
+ 0x0102053b, 0x00010001, 0x000006bf, /* (r1!=0), r1=nws.nws_cmu.ln1_top_err_ctrl1, */
+ 0x0102053c, 0x00010001, 0x000006c0, /* (r1!=0), r1=nws.nws_cmu.ln1_top_err_ctrl2, */
+ 0x0102053d, 0x00010001, 0x000006c1, /* (r1!=0), r1=nws.nws_cmu.ln1_top_err_ctrl3, */
+ 0x0102053e, 0x00010001, 0x000006c2, /* (r1!=0), r1=nws.nws_cmu.ln2_top_err_ctrl1, */
+ 0x0102053f, 0x00010001, 0x000006c3, /* (r1!=0), r1=nws.nws_cmu.ln2_top_err_ctrl2, */
+ 0x01020540, 0x00010001, 0x000006c4, /* (r1!=0), r1=nws.nws_cmu.ln2_top_err_ctrl3, */
+ 0x01020541, 0x00010001, 0x000006c5, /* (r1!=0), r1=nws.nws_cmu.ln3_top_err_ctrl1, */
+ 0x01020542, 0x00010001, 0x000006c6, /* (r1!=0), r1=nws.nws_cmu.ln3_top_err_ctrl2, */
+ 0x01020543, 0x00010001, 0x000006c7, /* (r1!=0), r1=nws.nws_cmu.ln3_top_err_ctrl3, */
+ 0x0003018d, /* mode bb&asic */
+ 0x00000544, 0x00010002, 0x000006c8, /* ((r1&~r2)!=0), r1=ipc.PRTY_STS, r2=ipc.PRTY_MASK, */
};
-/* Data size: 16212 bytes */
+/* Data size: 16240 bytes */
/* Array of attentions data per register */
static const u32 attn_reg[] = {
@@ -7082,17 +7160,17 @@ static const u32 attn_reg[] = {
0x00000000, 0x180aa060, 0x000aa063, 0x000aa061, /* pglue_b.INT_STS */
0x00000000, 0x010aa064, 0x000aa067, 0x000aa065, /* pglue_b.PRTY_STS */
0x012a0007, 0x160aa080, 0x000aa083, 0x000aa081, /* pglue_b.PRTY_STS_H_0, mode bb */
- 0x00010143, 0x1f0aa080, 0x000aa083, 0x000aa081, /* pglue_b.PRTY_STS_H_0, mode !(bb|e5) */
- 0x00200143, 0x030aa084, 0x000aa087, 0x000aa085, /* pglue_b.PRTY_STS_H_1, mode !(bb|e5) */
+ 0x00010025, 0x1f0aa080, 0x000aa083, 0x000aa081, /* pglue_b.PRTY_STS_H_0, mode !bb */
+ 0x00200025, 0x030aa084, 0x000aa087, 0x000aa085, /* pglue_b.PRTY_STS_H_1, mode !bb */
0x01400007, 0x060860ba, 0x000860bd, 0x000860bb, /* cnig.INT_STS, mode bb */
0x00000025, 0x07086086, 0x00086089, 0x00086087, /* cnig.INT_STS, mode !bb */
0x01460007, 0x020860d2, 0x000860d5, 0x000860d3, /* cnig.PRTY_STS, mode bb */
0x01480025, 0x0208608b, 0x0008608e, 0x0008608c, /* cnig.PRTY_STS, mode !bb */
0x00000000, 0x0100c0f8, 0x0000c0fb, 0x0000c0f9, /* cpmu.INT_STS_0 */
0x00000000, 0x01010133, 0x00010136, 0x00010134, /* ncsi.INT_STS_0 */
- 0x00000051, 0x01010000, 0x00010003, 0x00010001, /* ncsi.PRTY_STS_H_0, mode !e5 */
- 0x00000051, 0x01014c82, 0x00014c85, 0x00014c83, /* opte.PRTY_STS, mode !e5 */
- 0x00010051, 0x0b014c00, 0x00014c03, 0x00014c01, /* opte.PRTY_STS_H_0, mode !e5 */
+ 0x00000000, 0x03010000, 0x00010003, 0x00010001, /* ncsi.PRTY_STS_H_0 */
+ 0x00000043, 0x01014c82, 0x00014c85, 0x00014c83, /* opte.PRTY_STS, mode !e5 */
+ 0x00010043, 0x0b014c00, 0x00014c03, 0x00014c01, /* opte.PRTY_STS_H_0, mode !e5 */
0x014a0000, 0x17150030, 0x00150033, 0x00150031, /* bmb.INT_STS_0 */
0x01610000, 0x20150036, 0x00150039, 0x00150037, /* bmb.INT_STS_1 */
0x01810000, 0x1c15003c, 0x0015003f, 0x0015003d, /* bmb.INT_STS_2 */
@@ -7106,257 +7184,358 @@ static const u32 attn_reg[] = {
0x023f0000, 0x0715006d, 0x00150070, 0x0015006e, /* bmb.INT_STS_10 */
0x02460000, 0x08150073, 0x00150076, 0x00150074, /* bmb.INT_STS_11 */
0x00000000, 0x05150077, 0x0015007a, 0x00150078, /* bmb.PRTY_STS */
- 0x00050051, 0x1f150100, 0x00150103, 0x00150101, /* bmb.PRTY_STS_H_0, mode !e5 */
- 0x00240051, 0x0f150104, 0x00150107, 0x00150105, /* bmb.PRTY_STS_H_1, mode !e5 */
+ 0x024e0000, 0x2e150100, 0x00150103, 0x00150101, /* bmb.PRTY_STS_H_0 */
+ 0x027c0007, 0x0f150104, 0x00150107, 0x00150105, /* bmb.PRTY_STS_H_1, mode bb */
+ 0x027c0009, 0x0f150104, 0x00150107, 0x00150105, /* bmb.PRTY_STS_H_1, mode k2 */
+ 0x028b0003, 0x17150104, 0x00150107, 0x00150105, /* bmb.PRTY_STS_H_1, mode !(bb|k2) */
0x00000025, 0x110151e8, 0x000151eb, 0x000151e9, /* pcie.INT_STS, mode !bb */
0x00000025, 0x030151ec, 0x000151ef, 0x000151ed, /* pcie.PRTY_STS, mode !bb */
- 0x024e0007, 0x11015000, 0x00015003, 0x00015001, /* pcie.PRTY_STS_H_0, mode bb */
+ 0x02a20007, 0x11015000, 0x00015003, 0x00015001, /* pcie.PRTY_STS_H_0, mode bb */
0x00030025, 0x08015000, 0x00015003, 0x00015001, /* pcie.PRTY_STS_H_0, mode !bb */
0x00000000, 0x01014810, 0x00014813, 0x00014811, /* mcp2.PRTY_STS */
- 0x00010051, 0x0c014881, 0x00014884, 0x00014882, /* mcp2.PRTY_STS_H_0, mode !e5 */
+ 0x00010000, 0x0c014881, 0x00014884, 0x00014882, /* mcp2.PRTY_STS_H_0 */
0x00000000, 0x120a8060, 0x000a8063, 0x000a8061, /* pswhst.INT_STS */
0x00000000, 0x010a8064, 0x000a8067, 0x000a8065, /* pswhst.PRTY_STS */
- 0x00010051, 0x110a8080, 0x000a8083, 0x000a8081, /* pswhst.PRTY_STS_H_0, mode !e5 */
+ 0x00010000, 0x110a8080, 0x000a8083, 0x000a8081, /* pswhst.PRTY_STS_H_0 */
0x00000000, 0x050a7860, 0x000a7863, 0x000a7861, /* pswhst2.INT_STS */
0x00000000, 0x010a7864, 0x000a7867, 0x000a7865, /* pswhst2.PRTY_STS */
0x00000000, 0x030a7060, 0x000a7063, 0x000a7061, /* pswrd.INT_STS */
0x00000000, 0x010a7064, 0x000a7067, 0x000a7065, /* pswrd.PRTY_STS */
0x00000000, 0x050a7460, 0x000a7463, 0x000a7461, /* pswrd2.INT_STS */
0x00000000, 0x010a7464, 0x000a7467, 0x000a7465, /* pswrd2.PRTY_STS */
- 0x00010000, 0x1f0a7480, 0x000a7483, 0x000a7481, /* pswrd2.PRTY_STS_H_0 */
- 0x00200000, 0x030a7484, 0x000a7487, 0x000a7485, /* pswrd2.PRTY_STS_H_1 */
+ 0x02b30007, 0x1f0a7480, 0x000a7483, 0x000a7481, /* pswrd2.PRTY_STS_H_0, mode bb */
+ 0x02b30009, 0x1f0a7480, 0x000a7483, 0x000a7481, /* pswrd2.PRTY_STS_H_0, mode k2 */
+ 0x00010003, 0x1f0a7480, 0x000a7483, 0x000a7481, /* pswrd2.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x02d20007, 0x030a7484, 0x000a7487, 0x000a7485, /* pswrd2.PRTY_STS_H_1, mode bb */
+ 0x02d20009, 0x030a7484, 0x000a7487, 0x000a7485, /* pswrd2.PRTY_STS_H_1, mode k2 */
+ 0x02d50003, 0x030a7484, 0x000a7487, 0x000a7485, /* pswrd2.PRTY_STS_H_1, mode !(bb|k2) */
0x00000000, 0x130a6860, 0x000a6863, 0x000a6861, /* pswwr.INT_STS */
0x00000000, 0x010a6864, 0x000a6867, 0x000a6865, /* pswwr.PRTY_STS */
0x00000000, 0x160a6c60, 0x000a6c63, 0x000a6c61, /* pswwr2.INT_STS */
0x00000000, 0x010a6c64, 0x000a6c67, 0x000a6c65, /* pswwr2.PRTY_STS */
- 0x00010051, 0x1f0a6c80, 0x000a6c83, 0x000a6c81, /* pswwr2.PRTY_STS_H_0, mode !e5 */
- 0x00200051, 0x1f0a6c84, 0x000a6c87, 0x000a6c85, /* pswwr2.PRTY_STS_H_1, mode !e5 */
- 0x003f0051, 0x1f0a6c88, 0x000a6c8b, 0x000a6c89, /* pswwr2.PRTY_STS_H_2, mode !e5 */
- 0x005e0051, 0x140a6c8c, 0x000a6c8f, 0x000a6c8d, /* pswwr2.PRTY_STS_H_3, mode !e5 */
+ 0x02d80007, 0x1f0a6c80, 0x000a6c83, 0x000a6c81, /* pswwr2.PRTY_STS_H_0, mode bb */
+ 0x02d80009, 0x1f0a6c80, 0x000a6c83, 0x000a6c81, /* pswwr2.PRTY_STS_H_0, mode k2 */
+ 0x00010003, 0x1f0a6c80, 0x000a6c83, 0x000a6c81, /* pswwr2.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x02f70007, 0x1f0a6c84, 0x000a6c87, 0x000a6c85, /* pswwr2.PRTY_STS_H_1, mode bb */
+ 0x02f70009, 0x1f0a6c84, 0x000a6c87, 0x000a6c85, /* pswwr2.PRTY_STS_H_1, mode k2 */
+ 0x03160003, 0x1f0a6c84, 0x000a6c87, 0x000a6c85, /* pswwr2.PRTY_STS_H_1, mode !(bb|k2) */
+ 0x03350007, 0x1f0a6c88, 0x000a6c8b, 0x000a6c89, /* pswwr2.PRTY_STS_H_2, mode bb */
+ 0x03350009, 0x1f0a6c88, 0x000a6c8b, 0x000a6c89, /* pswwr2.PRTY_STS_H_2, mode k2 */
+ 0x03540003, 0x1f0a6c88, 0x000a6c8b, 0x000a6c89, /* pswwr2.PRTY_STS_H_2, mode !(bb|k2) */
+ 0x03730007, 0x140a6c8c, 0x000a6c8f, 0x000a6c8d, /* pswwr2.PRTY_STS_H_3, mode bb */
+ 0x03730009, 0x140a6c8c, 0x000a6c8f, 0x000a6c8d, /* pswwr2.PRTY_STS_H_3, mode k2 */
+ 0x03870003, 0x1f0a6c8c, 0x000a6c8f, 0x000a6c8d, /* pswwr2.PRTY_STS_H_3, mode !(bb|k2) */
+ 0x03a60003, 0x0d0a6c90, 0x000a6c93, 0x000a6c91, /* pswwr2.PRTY_STS_H_4, mode !(bb|k2) */
0x00000000, 0x170a0060, 0x000a0063, 0x000a0061, /* pswrq.INT_STS */
0x00000000, 0x010a0064, 0x000a0067, 0x000a0065, /* pswrq.PRTY_STS */
0x00000000, 0x0f090060, 0x00090063, 0x00090061, /* pswrq2.INT_STS */
- 0x025f0007, 0x09090080, 0x00090083, 0x00090081, /* pswrq2.PRTY_STS_H_0, mode bb */
+ 0x03b30007, 0x09090080, 0x00090083, 0x00090081, /* pswrq2.PRTY_STS_H_0, mode bb */
0x00000025, 0x0a090080, 0x00090083, 0x00090081, /* pswrq2.PRTY_STS_H_0, mode !bb */
0x00000000, 0x02000740, 0x00000743, 0x00000741, /* pglcs.INT_STS */
0x00000000, 0x02003060, 0x00003063, 0x00003061, /* dmae.INT_STS */
- 0x00000051, 0x03003080, 0x00003083, 0x00003081, /* dmae.PRTY_STS_H_0, mode !e5 */
+ 0x00000000, 0x03003080, 0x00003083, 0x00003081, /* dmae.PRTY_STS_H_0 */
0x00000000, 0x08158060, 0x00158063, 0x00158061, /* ptu.INT_STS */
- 0x00000051, 0x12158080, 0x00158083, 0x00158081, /* ptu.PRTY_STS_H_0, mode !e5 */
- 0x02680007, 0x08460060, 0x00460063, 0x00460061, /* tcm.INT_STS_0, mode bb */
- 0x02680009, 0x08460060, 0x00460063, 0x00460061, /* tcm.INT_STS_0, mode k2 */
- 0x00000003, 0x10460060, 0x00460063, 0x00460061, /* tcm.INT_STS_0, mode !(bb|k2) */
- 0x02700000, 0x22460064, 0x00460067, 0x00460065, /* tcm.INT_STS_1 */
- 0x00320000, 0x01460068, 0x0046006b, 0x00460069, /* tcm.INT_STS_2 */
- 0x02920007, 0x1f460080, 0x00460083, 0x00460081, /* tcm.PRTY_STS_H_0, mode bb */
- 0x00000143, 0x1f460080, 0x00460083, 0x00460081, /* tcm.PRTY_STS_H_0, mode !(bb|e5) */
- 0x00280007, 0x02460084, 0x00460087, 0x00460085, /* tcm.PRTY_STS_H_1, mode bb */
- 0x00270143, 0x03460084, 0x00460087, 0x00460085, /* tcm.PRTY_STS_H_1, mode !(bb|e5) */
- 0x02b10007, 0x0e480060, 0x00480063, 0x00480061, /* mcm.INT_STS_0, mode bb */
- 0x02b10009, 0x0e480060, 0x00480063, 0x00480061, /* mcm.INT_STS_0, mode k2 */
- 0x00000003, 0x16480060, 0x00480063, 0x00480061, /* mcm.INT_STS_0, mode !(bb|k2) */
- 0x00160000, 0x1a480064, 0x00480067, 0x00480065, /* mcm.INT_STS_1 */
- 0x00300000, 0x01480068, 0x0048006b, 0x00480069, /* mcm.INT_STS_2 */
- 0x00000051, 0x1f480080, 0x00480083, 0x00480081, /* mcm.PRTY_STS_H_0, mode !e5 */
- 0x001f0051, 0x04480084, 0x00480087, 0x00480085, /* mcm.PRTY_STS_H_1, mode !e5 */
- 0x02bf0000, 0x164a0060, 0x004a0063, 0x004a0061, /* ucm.INT_STS_0 */
- 0x00170007, 0x1d4a0064, 0x004a0067, 0x004a0065, /* ucm.INT_STS_1, mode bb */
- 0x00170009, 0x1d4a0064, 0x004a0067, 0x004a0065, /* ucm.INT_STS_1, mode k2 */
- 0x00160003, 0x1e4a0064, 0x004a0067, 0x004a0065, /* ucm.INT_STS_1, mode !(bb|k2) */
- 0x00340000, 0x014a0068, 0x004a006b, 0x004a0069, /* ucm.INT_STS_2 */
- 0x00000051, 0x1f4a0080, 0x004a0083, 0x004a0081, /* ucm.PRTY_STS_H_0, mode !e5 */
- 0x001f0051, 0x074a0084, 0x004a0087, 0x004a0085, /* ucm.PRTY_STS_H_1, mode !e5 */
- 0x00000000, 0x14400060, 0x00400063, 0x00400061, /* xcm.INT_STS_0 */
- 0x00140000, 0x19400064, 0x00400067, 0x00400065, /* xcm.INT_STS_1 */
- 0x002d0000, 0x08400068, 0x0040006b, 0x00400069, /* xcm.INT_STS_2 */
- 0x02d50007, 0x1f400080, 0x00400083, 0x00400081, /* xcm.PRTY_STS_H_0, mode bb */
- 0x00000143, 0x1f400080, 0x00400083, 0x00400081, /* xcm.PRTY_STS_H_0, mode !(bb|e5) */
- 0x02f40007, 0x0b400084, 0x00400087, 0x00400085, /* xcm.PRTY_STS_H_1, mode bb */
- 0x00250143, 0x0c400084, 0x00400087, 0x00400085, /* xcm.PRTY_STS_H_1, mode !(bb|e5) */
- 0x00000000, 0x11420060, 0x00420063, 0x00420061, /* ycm.INT_STS_0 */
- 0x00110000, 0x17420064, 0x00420067, 0x00420065, /* ycm.INT_STS_1 */
- 0x00280000, 0x01420068, 0x0042006b, 0x00420069, /* ycm.INT_STS_2 */
- 0x02ff0007, 0x1f420080, 0x00420083, 0x00420081, /* ycm.PRTY_STS_H_0, mode bb */
- 0x00000143, 0x1f420080, 0x00420083, 0x00420081, /* ycm.PRTY_STS_H_0, mode !(bb|e5) */
- 0x00290007, 0x03420084, 0x00420087, 0x00420085, /* ycm.PRTY_STS_H_1, mode bb */
- 0x00280143, 0x04420084, 0x00420087, 0x00420085, /* ycm.PRTY_STS_H_1, mode !(bb|e5) */
- 0x00000000, 0x0b440060, 0x00440063, 0x00440061, /* pcm.INT_STS_0 */
- 0x031e0007, 0x0e440064, 0x00440067, 0x00440065, /* pcm.INT_STS_1, mode bb */
- 0x031e0009, 0x0e440064, 0x00440067, 0x00440065, /* pcm.INT_STS_1, mode k2 */
- 0x000b0003, 0x0c440064, 0x00440067, 0x00440065, /* pcm.INT_STS_1, mode !(bb|k2) */
- 0x00190000, 0x01440068, 0x0044006b, 0x00440069, /* pcm.INT_STS_2 */
- 0x032c0007, 0x0b440080, 0x00440083, 0x00440081, /* pcm.PRTY_STS_H_0, mode bb */
- 0x00000143, 0x0f440080, 0x00440083, 0x00440081, /* pcm.PRTY_STS_H_0, mode !(bb|e5) */
+ 0x03bc0007, 0x12158080, 0x00158083, 0x00158081, /* ptu.PRTY_STS_H_0, mode bb */
+ 0x03bc0009, 0x12158080, 0x00158083, 0x00158081, /* ptu.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x11158080, 0x00158083, 0x00158081, /* ptu.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x03ce0007, 0x08460060, 0x00460063, 0x00460061, /* tcm.INT_STS_0, mode bb */
+ 0x03ce0009, 0x08460060, 0x00460063, 0x00460061, /* tcm.INT_STS_0, mode k2 */
+ 0x00000003, 0x0e460060, 0x00460063, 0x00460061, /* tcm.INT_STS_0, mode !(bb|k2) */
+ 0x03d60000, 0x22460064, 0x00460067, 0x00460065, /* tcm.INT_STS_1 */
+ 0x00300000, 0x01460068, 0x0046006b, 0x00460069, /* tcm.INT_STS_2 */
+ 0x03f80007, 0x1f460080, 0x00460083, 0x00460081, /* tcm.PRTY_STS_H_0, mode bb */
+ 0x04170009, 0x1f460080, 0x00460083, 0x00460081, /* tcm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x1f460080, 0x00460083, 0x00460081, /* tcm.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x00390007, 0x02460084, 0x00460087, 0x00460085, /* tcm.PRTY_STS_H_1, mode bb */
+ 0x04360009, 0x03460084, 0x00460087, 0x00460085, /* tcm.PRTY_STS_H_1, mode k2 */
+ 0x04390003, 0x0a460084, 0x00460087, 0x00460085, /* tcm.PRTY_STS_H_1, mode !(bb|k2) */
+ 0x04430007, 0x0e480060, 0x00480063, 0x00480061, /* mcm.INT_STS_0, mode bb */
+ 0x04430009, 0x0e480060, 0x00480063, 0x00480061, /* mcm.INT_STS_0, mode k2 */
+ 0x00000003, 0x14480060, 0x00480063, 0x00480061, /* mcm.INT_STS_0, mode !(bb|k2) */
+ 0x00140000, 0x1a480064, 0x00480067, 0x00480065, /* mcm.INT_STS_1 */
+ 0x002e0000, 0x01480068, 0x0048006b, 0x00480069, /* mcm.INT_STS_2 */
+ 0x04510007, 0x1f480080, 0x00480083, 0x00480081, /* mcm.PRTY_STS_H_0, mode bb */
+ 0x04510009, 0x1f480080, 0x00480083, 0x00480081, /* mcm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x1f480080, 0x00480083, 0x00480081, /* mcm.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x00300007, 0x04480084, 0x00480087, 0x00480085, /* mcm.PRTY_STS_H_1, mode bb */
+ 0x00300009, 0x04480084, 0x00480087, 0x00480085, /* mcm.PRTY_STS_H_1, mode k2 */
+ 0x04700003, 0x0a480084, 0x00480087, 0x00480085, /* mcm.PRTY_STS_H_1, mode !(bb|k2) */
+ 0x047a0000, 0x144a0060, 0x004a0063, 0x004a0061, /* ucm.INT_STS_0 */
+ 0x00150007, 0x1d4a0064, 0x004a0067, 0x004a0065, /* ucm.INT_STS_1, mode bb */
+ 0x00150009, 0x1d4a0064, 0x004a0067, 0x004a0065, /* ucm.INT_STS_1, mode k2 */
+ 0x00140003, 0x1e4a0064, 0x004a0067, 0x004a0065, /* ucm.INT_STS_1, mode !(bb|k2) */
+ 0x00320000, 0x014a0068, 0x004a006b, 0x004a0069, /* ucm.INT_STS_2 */
+ 0x048e0007, 0x1f4a0080, 0x004a0083, 0x004a0081, /* ucm.PRTY_STS_H_0, mode bb */
+ 0x048e0009, 0x1f4a0080, 0x004a0083, 0x004a0081, /* ucm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x1f4a0080, 0x004a0083, 0x004a0081, /* ucm.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x002a0000, 0x074a0084, 0x004a0087, 0x004a0085, /* ucm.PRTY_STS_H_1 */
+ 0x00000000, 0x12400060, 0x00400063, 0x00400061, /* xcm.INT_STS_0 */
+ 0x00120000, 0x19400064, 0x00400067, 0x00400065, /* xcm.INT_STS_1 */
+ 0x002b0000, 0x08400068, 0x0040006b, 0x00400069, /* xcm.INT_STS_2 */
+ 0x04ad0007, 0x1f400080, 0x00400083, 0x00400081, /* xcm.PRTY_STS_H_0, mode bb */
+ 0x04cc0009, 0x1f400080, 0x00400083, 0x00400081, /* xcm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x1f400080, 0x00400083, 0x00400081, /* xcm.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x04eb0007, 0x0b400084, 0x00400087, 0x00400085, /* xcm.PRTY_STS_H_1, mode bb */
+ 0x04f60009, 0x0c400084, 0x00400087, 0x00400085, /* xcm.PRTY_STS_H_1, mode k2 */
+ 0x05020003, 0x0d400084, 0x00400087, 0x00400085, /* xcm.PRTY_STS_H_1, mode !(bb|k2) */
+ 0x00000000, 0x0f420060, 0x00420063, 0x00420061, /* ycm.INT_STS_0 */
+ 0x000f0000, 0x17420064, 0x00420067, 0x00420065, /* ycm.INT_STS_1 */
+ 0x00260000, 0x01420068, 0x0042006b, 0x00420069, /* ycm.INT_STS_2 */
+ 0x050f0007, 0x1f420080, 0x00420083, 0x00420081, /* ycm.PRTY_STS_H_0, mode bb */
+ 0x052e0009, 0x1f420080, 0x00420083, 0x00420081, /* ycm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x1f420080, 0x00420083, 0x00420081, /* ycm.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x00370007, 0x03420084, 0x00420087, 0x00420085, /* ycm.PRTY_STS_H_1, mode bb */
+ 0x054d0009, 0x04420084, 0x00420087, 0x00420085, /* ycm.PRTY_STS_H_1, mode k2 */
+ 0x05510003, 0x09420084, 0x00420087, 0x00420085, /* ycm.PRTY_STS_H_1, mode !(bb|k2) */
+ 0x00000000, 0x09440060, 0x00440063, 0x00440061, /* pcm.INT_STS_0 */
+ 0x055a0007, 0x0e440064, 0x00440067, 0x00440065, /* pcm.INT_STS_1, mode bb */
+ 0x055a0009, 0x0e440064, 0x00440067, 0x00440065, /* pcm.INT_STS_1, mode k2 */
+ 0x00090003, 0x0c440064, 0x00440067, 0x00440065, /* pcm.INT_STS_1, mode !(bb|k2) */
+ 0x00170000, 0x01440068, 0x0044006b, 0x00440069, /* pcm.INT_STS_2 */
+ 0x05680007, 0x0b440080, 0x00440083, 0x00440081, /* pcm.PRTY_STS_H_0, mode bb */
+ 0x05730009, 0x0f440080, 0x00440083, 0x00440081, /* pcm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x11440080, 0x00440083, 0x00440081, /* pcm.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x160bc060, 0x000bc063, 0x000bc061, /* qm.INT_STS */
0x00000000, 0x0b0bc064, 0x000bc067, 0x000bc065, /* qm.PRTY_STS */
- 0x000b0051, 0x1f0bc080, 0x000bc083, 0x000bc081, /* qm.PRTY_STS_H_0, mode !e5 */
- 0x002a0051, 0x1f0bc084, 0x000bc087, 0x000bc085, /* qm.PRTY_STS_H_1, mode !e5 */
- 0x03370007, 0x0b0bc088, 0x000bc08b, 0x000bc089, /* qm.PRTY_STS_H_2, mode bb */
- 0x00490143, 0x130bc088, 0x000bc08b, 0x000bc089, /* qm.PRTY_STS_H_2, mode !(bb|e5) */
+ 0x05820007, 0x1f0bc080, 0x000bc083, 0x000bc081, /* qm.PRTY_STS_H_0, mode bb */
+ 0x05820009, 0x1f0bc080, 0x000bc083, 0x000bc081, /* qm.PRTY_STS_H_0, mode k2 */
+ 0x000b0003, 0x1f0bc080, 0x000bc083, 0x000bc081, /* qm.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x05a10007, 0x1f0bc084, 0x000bc087, 0x000bc085, /* qm.PRTY_STS_H_1, mode bb */
+ 0x05a10009, 0x1f0bc084, 0x000bc087, 0x000bc085, /* qm.PRTY_STS_H_1, mode k2 */
+ 0x05c00003, 0x1f0bc084, 0x000bc087, 0x000bc085, /* qm.PRTY_STS_H_1, mode !(bb|k2) */
+ 0x05df0007, 0x0b0bc088, 0x000bc08b, 0x000bc089, /* qm.PRTY_STS_H_2, mode bb */
+ 0x00000025, 0x000bc088, 0x000bc08b, 0x000bc089, /* qm.PRTY_STS_H_2, mode !bb */
0x00000000, 0x200b0060, 0x000b0063, 0x000b0061, /* tm.INT_STS_0 */
0x00200000, 0x0b0b0064, 0x000b0067, 0x000b0065, /* tm.INT_STS_1 */
- 0x00000051, 0x110b0080, 0x000b0083, 0x000b0081, /* tm.PRTY_STS_H_0, mode !e5 */
+ 0x05ea0007, 0x110b0080, 0x000b0083, 0x000b0081, /* tm.PRTY_STS_H_0, mode bb */
+ 0x05ea0009, 0x110b0080, 0x000b0083, 0x000b0081, /* tm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x0f0b0080, 0x000b0083, 0x000b0081, /* tm.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x0c040060, 0x00040063, 0x00040061, /* dorq.INT_STS */
0x00000000, 0x01040064, 0x00040067, 0x00040065, /* dorq.PRTY_STS */
- 0x00010051, 0x06040080, 0x00040083, 0x00040081, /* dorq.PRTY_STS_H_0, mode !e5 */
+ 0x05fb0007, 0x06040080, 0x00040083, 0x00040081, /* dorq.PRTY_STS_H_0, mode bb */
+ 0x05fb0009, 0x06040080, 0x00040083, 0x00040081, /* dorq.PRTY_STS_H_0, mode k2 */
+ 0x00010003, 0x0c040080, 0x00040083, 0x00040081, /* dorq.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x200d0030, 0x000d0033, 0x000d0031, /* brb.INT_STS_0 */
- 0x03420000, 0x200d0036, 0x000d0039, 0x000d0037, /* brb.INT_STS_1 */
+ 0x06010000, 0x200d0036, 0x000d0039, 0x000d0037, /* brb.INT_STS_1 */
0x003e0000, 0x1c0d003c, 0x000d003f, 0x000d003d, /* brb.INT_STS_2 */
- 0x03620000, 0x200d0042, 0x000d0045, 0x000d0043, /* brb.INT_STS_3 */
- 0x03820000, 0x1c0d0048, 0x000d004b, 0x000d0049, /* brb.INT_STS_4 */
+ 0x06210000, 0x200d0042, 0x000d0045, 0x000d0043, /* brb.INT_STS_3 */
+ 0x06410000, 0x1c0d0048, 0x000d004b, 0x000d0049, /* brb.INT_STS_4 */
0x00940000, 0x010d004e, 0x000d0051, 0x000d004f, /* brb.INT_STS_5 */
- 0x039e0000, 0x0a0d0054, 0x000d0057, 0x000d0055, /* brb.INT_STS_6 */
+ 0x065d0000, 0x0a0d0054, 0x000d0057, 0x000d0055, /* brb.INT_STS_6 */
0x009d0000, 0x200d005a, 0x000d005d, 0x000d005b, /* brb.INT_STS_7 */
0x00bd0000, 0x110d0061, 0x000d0064, 0x000d0062, /* brb.INT_STS_8 */
0x00ce0000, 0x010d0067, 0x000d006a, 0x000d0068, /* brb.INT_STS_9 */
- 0x03a80000, 0x150d006d, 0x000d0070, 0x000d006e, /* brb.INT_STS_10 */
- 0x03bd0000, 0x090d0073, 0x000d0076, 0x000d0074, /* brb.INT_STS_11 */
+ 0x06670000, 0x150d006d, 0x000d0070, 0x000d006e, /* brb.INT_STS_10 */
+ 0x067c0000, 0x090d0073, 0x000d0076, 0x000d0074, /* brb.INT_STS_11 */
0x00000000, 0x050d0077, 0x000d007a, 0x000d0078, /* brb.PRTY_STS */
- 0x03c60007, 0x1f0d0100, 0x000d0103, 0x000d0101, /* brb.PRTY_STS_H_0, mode bb */
- 0x00050143, 0x1f0d0100, 0x000d0103, 0x000d0101, /* brb.PRTY_STS_H_0, mode !(bb|e5) */
- 0x03e50007, 0x0e0d0104, 0x000d0107, 0x000d0105, /* brb.PRTY_STS_H_1, mode bb */
- 0x03f30143, 0x1e0d0104, 0x000d0107, 0x000d0105, /* brb.PRTY_STS_H_1, mode !(bb|e5) */
+ 0x06850007, 0x1f0d0100, 0x000d0103, 0x000d0101, /* brb.PRTY_STS_H_0, mode bb */
+ 0x06a40009, 0x1f0d0100, 0x000d0103, 0x000d0101, /* brb.PRTY_STS_H_0, mode k2 */
+ 0x00050003, 0x1f0d0100, 0x000d0103, 0x000d0101, /* brb.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x06c30007, 0x0e0d0104, 0x000d0107, 0x000d0105, /* brb.PRTY_STS_H_1, mode bb */
+ 0x06d10009, 0x1e0d0104, 0x000d0107, 0x000d0105, /* brb.PRTY_STS_H_1, mode k2 */
+ 0x06ef0003, 0x1f0d0104, 0x000d0107, 0x000d0105, /* brb.PRTY_STS_H_1, mode !(bb|k2) */
+ 0x00520003, 0x010d0108, 0x000d010b, 0x000d0109, /* brb.PRTY_STS_H_2, mode !(bb|k2) */
0x00000000, 0x0108e076, 0x0008e077, 0x0008e079, /* src.INT_STS */
0x00000000, 0x0207c010, 0x0007c013, 0x0007c011, /* prs.INT_STS_0 */
0x00000000, 0x0207c014, 0x0007c017, 0x0007c015, /* prs.PRTY_STS */
- 0x04110007, 0x1f07c081, 0x0007c084, 0x0007c082, /* prs.PRTY_STS_H_0, mode bb */
- 0x00020143, 0x1f07c081, 0x0007c084, 0x0007c082, /* prs.PRTY_STS_H_0, mode !(bb|e5) */
- 0x04300007, 0x0507c085, 0x0007c088, 0x0007c086, /* prs.PRTY_STS_H_1, mode bb */
- 0x04350143, 0x1f07c085, 0x0007c088, 0x0007c086, /* prs.PRTY_STS_H_1, mode !(bb|e5) */
+ 0x070e0007, 0x1f07c081, 0x0007c084, 0x0007c082, /* prs.PRTY_STS_H_0, mode bb */
+ 0x072d0009, 0x1f07c081, 0x0007c084, 0x0007c082, /* prs.PRTY_STS_H_0, mode k2 */
+ 0x00020003, 0x1707c081, 0x0007c084, 0x0007c082, /* prs.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x074c0007, 0x0507c085, 0x0007c088, 0x0007c086, /* prs.PRTY_STS_H_1, mode bb */
+ 0x0751011b, 0x1f07c085, 0x0007c088, 0x0007c086, /* prs.PRTY_STS_H_1, mode !(bb|e5) */
0x00000000, 0x1c3ec010, 0x003ec013, 0x003ec011, /* tsdm.INT_STS */
- 0x00000051, 0x0a3ec080, 0x003ec083, 0x003ec081, /* tsdm.PRTY_STS_H_0, mode !e5 */
+ 0x07700007, 0x0a3ec080, 0x003ec083, 0x003ec081, /* tsdm.PRTY_STS_H_0, mode bb */
+ 0x07700009, 0x0a3ec080, 0x003ec083, 0x003ec081, /* tsdm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x0b3ec080, 0x003ec083, 0x003ec081, /* tsdm.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x1c3f0010, 0x003f0013, 0x003f0011, /* msdm.INT_STS */
- 0x00000051, 0x0b3f0080, 0x003f0083, 0x003f0081, /* msdm.PRTY_STS_H_0, mode !e5 */
+ 0x077a0007, 0x0b3f0080, 0x003f0083, 0x003f0081, /* msdm.PRTY_STS_H_0, mode bb */
+ 0x077a0009, 0x0b3f0080, 0x003f0083, 0x003f0081, /* msdm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x0c3f0080, 0x003f0083, 0x003f0081, /* msdm.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x1c3f4010, 0x003f4013, 0x003f4011, /* usdm.INT_STS */
- 0x00000051, 0x0a3f4080, 0x003f4083, 0x003f4081, /* usdm.PRTY_STS_H_0, mode !e5 */
+ 0x07850007, 0x0a3f4080, 0x003f4083, 0x003f4081, /* usdm.PRTY_STS_H_0, mode bb */
+ 0x07850009, 0x0a3f4080, 0x003f4083, 0x003f4081, /* usdm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x0b3f4080, 0x003f4083, 0x003f4081, /* usdm.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x1c3e0010, 0x003e0013, 0x003e0011, /* xsdm.INT_STS */
- 0x00000051, 0x0a3e0080, 0x003e0083, 0x003e0081, /* xsdm.PRTY_STS_H_0, mode !e5 */
+ 0x078f0007, 0x0a3e0080, 0x003e0083, 0x003e0081, /* xsdm.PRTY_STS_H_0, mode bb */
+ 0x078f0009, 0x0a3e0080, 0x003e0083, 0x003e0081, /* xsdm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x0b3e0080, 0x003e0083, 0x003e0081, /* xsdm.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x1c3e4010, 0x003e4013, 0x003e4011, /* ysdm.INT_STS */
- 0x00000051, 0x093e4080, 0x003e4083, 0x003e4081, /* ysdm.PRTY_STS_H_0, mode !e5 */
+ 0x078f0007, 0x093e4080, 0x003e4083, 0x003e4081, /* ysdm.PRTY_STS_H_0, mode bb */
+ 0x078f0009, 0x093e4080, 0x003e4083, 0x003e4081, /* ysdm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x0a3e4080, 0x003e4083, 0x003e4081, /* ysdm.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x1c3e8010, 0x003e8013, 0x003e8011, /* psdm.INT_STS */
- 0x00000051, 0x093e8080, 0x003e8083, 0x003e8081, /* psdm.PRTY_STS_H_0, mode !e5 */
- 0x04540007, 0x205c0010, 0x005c0013, 0x005c0011, /* tsem.INT_STS_0, mode bb */
- 0x04540009, 0x205c0010, 0x005c0013, 0x005c0011, /* tsem.INT_STS_0, mode k2 */
- 0x00000003, 0x205c0010, 0x005c0013, 0x005c0011, /* tsem.INT_STS_0, mode !(bb|k2) */
- 0x04740000, 0x2d5c0014, 0x005c0017, 0x005c0015, /* tsem.INT_STS_1 */
- 0x04a10003, 0x1f5c0018, 0x005c001b, 0x005c0019, /* tsem.INT_STS_2, mode !(bb|k2) */
+ 0x07990007, 0x093e8080, 0x003e8083, 0x003e8081, /* psdm.PRTY_STS_H_0, mode bb */
+ 0x07990009, 0x093e8080, 0x003e8083, 0x003e8081, /* psdm.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x0a3e8080, 0x003e8083, 0x003e8081, /* psdm.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x07a20007, 0x205c0010, 0x005c0013, 0x005c0011, /* tsem.INT_STS_0, mode bb */
+ 0x07a20009, 0x205c0010, 0x005c0013, 0x005c0011, /* tsem.INT_STS_0, mode k2 */
+ 0x00000003, 0x1f5c0010, 0x005c0013, 0x005c0011, /* tsem.INT_STS_0, mode !(bb|k2) */
+ 0x07c20000, 0x2d5c0014, 0x005c0017, 0x005c0015, /* tsem.INT_STS_1 */
+ 0x07ef0003, 0x1f5c0018, 0x005c001b, 0x005c0019, /* tsem.INT_STS_2, mode !(bb|k2) */
0x00000000, 0x015d0010, 0x005d0013, 0x005d0011, /* tsem.fast_memory.INT_STS */
- 0x00000000, 0x035c0032, 0x005c0035, 0x005c0033, /* tsem.PRTY_STS */
- 0x00030051, 0x065c0080, 0x005c0083, 0x005c0081, /* tsem.PRTY_STS_H_0, mode !e5 */
- 0x00090143, 0x075d0080, 0x005d0083, 0x005d0081, /* tsem.fast_memory.PRTY_STS_H_0, mode !(bb|e5) */
- 0x04c00051, 0x065d2880, 0x005d2883, 0x005d2881, /* tsem.fast_memory.vfc_config.PRTY_STS_H_0, mode !e5 */
- 0x04540007, 0x20600010, 0x00600013, 0x00600011, /* msem.INT_STS_0, mode bb */
- 0x04540009, 0x20600010, 0x00600013, 0x00600011, /* msem.INT_STS_0, mode k2 */
- 0x00000003, 0x20600010, 0x00600013, 0x00600011, /* msem.INT_STS_0, mode !(bb|k2) */
- 0x04740000, 0x2d600014, 0x00600017, 0x00600015, /* msem.INT_STS_1 */
- 0x04a10003, 0x1f600018, 0x0060001b, 0x00600019, /* msem.INT_STS_2, mode !(bb|k2) */
+ 0x080e0007, 0x035c0032, 0x005c0035, 0x005c0033, /* tsem.PRTY_STS, mode bb */
+ 0x080e0009, 0x035c0032, 0x005c0035, 0x005c0033, /* tsem.PRTY_STS, mode k2 */
+ 0x00000003, 0x055c0032, 0x005c0035, 0x005c0033, /* tsem.PRTY_STS, mode !(bb|k2) */
+ 0x00060043, 0x065c0080, 0x005c0083, 0x005c0081, /* tsem.PRTY_STS_H_0, mode !e5 */
+ 0x08110009, 0x075d0080, 0x005d0083, 0x005d0081, /* tsem.fast_memory.PRTY_STS_H_0, mode k2 */
+ 0x000c0003, 0x085d0080, 0x005d0083, 0x005d0081, /* tsem.fast_memory.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x08180000, 0x075d2880, 0x005d2883, 0x005d2881, /* tsem.fast_memory.vfc_config.PRTY_STS_H_0 */
+ 0x07a20007, 0x20600010, 0x00600013, 0x00600011, /* msem.INT_STS_0, mode bb */
+ 0x07a20009, 0x20600010, 0x00600013, 0x00600011, /* msem.INT_STS_0, mode k2 */
+ 0x00000003, 0x1f600010, 0x00600013, 0x00600011, /* msem.INT_STS_0, mode !(bb|k2) */
+ 0x07c20000, 0x2d600014, 0x00600017, 0x00600015, /* msem.INT_STS_1 */
+ 0x07ef0003, 0x1f600018, 0x0060001b, 0x00600019, /* msem.INT_STS_2, mode !(bb|k2) */
0x00000000, 0x01610010, 0x00610013, 0x00610011, /* msem.fast_memory.INT_STS */
- 0x00000000, 0x03600032, 0x00600035, 0x00600033, /* msem.PRTY_STS */
- 0x00030051, 0x06600080, 0x00600083, 0x00600081, /* msem.PRTY_STS_H_0, mode !e5 */
- 0x00090143, 0x07610080, 0x00610083, 0x00610081, /* msem.fast_memory.PRTY_STS_H_0, mode !(bb|e5) */
- 0x04540007, 0x20640010, 0x00640013, 0x00640011, /* usem.INT_STS_0, mode bb */
- 0x04540009, 0x20640010, 0x00640013, 0x00640011, /* usem.INT_STS_0, mode k2 */
- 0x00000003, 0x20640010, 0x00640013, 0x00640011, /* usem.INT_STS_0, mode !(bb|k2) */
- 0x04740000, 0x2d640014, 0x00640017, 0x00640015, /* usem.INT_STS_1 */
- 0x04a10003, 0x1f640018, 0x0064001b, 0x00640019, /* usem.INT_STS_2, mode !(bb|k2) */
+ 0x080e0007, 0x03600032, 0x00600035, 0x00600033, /* msem.PRTY_STS, mode bb */
+ 0x080e0009, 0x03600032, 0x00600035, 0x00600033, /* msem.PRTY_STS, mode k2 */
+ 0x00000003, 0x05600032, 0x00600035, 0x00600033, /* msem.PRTY_STS, mode !(bb|k2) */
+ 0x081f0007, 0x06600080, 0x00600083, 0x00600081, /* msem.PRTY_STS_H_0, mode bb */
+ 0x081f0009, 0x06600080, 0x00600083, 0x00600081, /* msem.PRTY_STS_H_0, mode k2 */
+ 0x00060003, 0x10600080, 0x00600083, 0x00600081, /* msem.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x08250009, 0x07610080, 0x00610083, 0x00610081, /* msem.fast_memory.PRTY_STS_H_0, mode k2 */
+ 0x00160003, 0x08610080, 0x00610083, 0x00610081, /* msem.fast_memory.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x07a20007, 0x20640010, 0x00640013, 0x00640011, /* usem.INT_STS_0, mode bb */
+ 0x07a20009, 0x20640010, 0x00640013, 0x00640011, /* usem.INT_STS_0, mode k2 */
+ 0x00000003, 0x1f640010, 0x00640013, 0x00640011, /* usem.INT_STS_0, mode !(bb|k2) */
+ 0x07c20000, 0x2d640014, 0x00640017, 0x00640015, /* usem.INT_STS_1 */
+ 0x07ef0003, 0x1f640018, 0x0064001b, 0x00640019, /* usem.INT_STS_2, mode !(bb|k2) */
0x00000000, 0x01650010, 0x00650013, 0x00650011, /* usem.fast_memory.INT_STS */
- 0x00000000, 0x03640032, 0x00640035, 0x00640033, /* usem.PRTY_STS */
- 0x00030051, 0x06640080, 0x00640083, 0x00640081, /* usem.PRTY_STS_H_0, mode !e5 */
- 0x00090143, 0x07650080, 0x00650083, 0x00650081, /* usem.fast_memory.PRTY_STS_H_0, mode !(bb|e5) */
- 0x04540007, 0x20500010, 0x00500013, 0x00500011, /* xsem.INT_STS_0, mode bb */
- 0x04540009, 0x20500010, 0x00500013, 0x00500011, /* xsem.INT_STS_0, mode k2 */
- 0x00000003, 0x20500010, 0x00500013, 0x00500011, /* xsem.INT_STS_0, mode !(bb|k2) */
- 0x04740000, 0x2d500014, 0x00500017, 0x00500015, /* xsem.INT_STS_1 */
- 0x04a10003, 0x1f500018, 0x0050001b, 0x00500019, /* xsem.INT_STS_2, mode !(bb|k2) */
+ 0x080e0007, 0x03640032, 0x00640035, 0x00640033, /* usem.PRTY_STS, mode bb */
+ 0x080e0009, 0x03640032, 0x00640035, 0x00640033, /* usem.PRTY_STS, mode k2 */
+ 0x00000003, 0x05640032, 0x00640035, 0x00640033, /* usem.PRTY_STS, mode !(bb|k2) */
+ 0x00060043, 0x06640080, 0x00640083, 0x00640081, /* usem.PRTY_STS_H_0, mode !e5 */
+ 0x08110009, 0x07650080, 0x00650083, 0x00650081, /* usem.fast_memory.PRTY_STS_H_0, mode k2 */
+ 0x000c0003, 0x08650080, 0x00650083, 0x00650081, /* usem.fast_memory.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x07a20007, 0x20500010, 0x00500013, 0x00500011, /* xsem.INT_STS_0, mode bb */
+ 0x07a20009, 0x20500010, 0x00500013, 0x00500011, /* xsem.INT_STS_0, mode k2 */
+ 0x00000003, 0x1f500010, 0x00500013, 0x00500011, /* xsem.INT_STS_0, mode !(bb|k2) */
+ 0x07c20000, 0x2d500014, 0x00500017, 0x00500015, /* xsem.INT_STS_1 */
+ 0x07ef0003, 0x1f500018, 0x0050001b, 0x00500019, /* xsem.INT_STS_2, mode !(bb|k2) */
0x00000000, 0x01510010, 0x00510013, 0x00510011, /* xsem.fast_memory.INT_STS */
- 0x00000000, 0x03500032, 0x00500035, 0x00500033, /* xsem.PRTY_STS */
- 0x00030051, 0x07500080, 0x00500083, 0x00500081, /* xsem.PRTY_STS_H_0, mode !e5 */
- 0x000a0143, 0x07510080, 0x00510083, 0x00510081, /* xsem.fast_memory.PRTY_STS_H_0, mode !(bb|e5) */
- 0x04540007, 0x20540010, 0x00540013, 0x00540011, /* ysem.INT_STS_0, mode bb */
- 0x04540009, 0x20540010, 0x00540013, 0x00540011, /* ysem.INT_STS_0, mode k2 */
- 0x00000003, 0x20540010, 0x00540013, 0x00540011, /* ysem.INT_STS_0, mode !(bb|k2) */
- 0x04740000, 0x2d540014, 0x00540017, 0x00540015, /* ysem.INT_STS_1 */
- 0x04a10003, 0x1f540018, 0x0054001b, 0x00540019, /* ysem.INT_STS_2, mode !(bb|k2) */
+ 0x080e0007, 0x03500032, 0x00500035, 0x00500033, /* xsem.PRTY_STS, mode bb */
+ 0x080e0009, 0x03500032, 0x00500035, 0x00500033, /* xsem.PRTY_STS, mode k2 */
+ 0x00000003, 0x05500032, 0x00500035, 0x00500033, /* xsem.PRTY_STS, mode !(bb|k2) */
+ 0x00060043, 0x07500080, 0x00500083, 0x00500081, /* xsem.PRTY_STS_H_0, mode !e5 */
+ 0x082c0009, 0x07510080, 0x00510083, 0x00510081, /* xsem.fast_memory.PRTY_STS_H_0, mode k2 */
+ 0x000d0003, 0x08510080, 0x00510083, 0x00510081, /* xsem.fast_memory.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x07a20007, 0x20540010, 0x00540013, 0x00540011, /* ysem.INT_STS_0, mode bb */
+ 0x07a20009, 0x20540010, 0x00540013, 0x00540011, /* ysem.INT_STS_0, mode k2 */
+ 0x00000003, 0x1f540010, 0x00540013, 0x00540011, /* ysem.INT_STS_0, mode !(bb|k2) */
+ 0x07c20000, 0x2d540014, 0x00540017, 0x00540015, /* ysem.INT_STS_1 */
+ 0x07ef0003, 0x1f540018, 0x0054001b, 0x00540019, /* ysem.INT_STS_2, mode !(bb|k2) */
0x00000000, 0x01550010, 0x00550013, 0x00550011, /* ysem.fast_memory.INT_STS */
- 0x00000000, 0x03540032, 0x00540035, 0x00540033, /* ysem.PRTY_STS */
- 0x00030051, 0x07540080, 0x00540083, 0x00540081, /* ysem.PRTY_STS_H_0, mode !e5 */
- 0x000a0143, 0x07550080, 0x00550083, 0x00550081, /* ysem.fast_memory.PRTY_STS_H_0, mode !(bb|e5) */
- 0x04540007, 0x20580010, 0x00580013, 0x00580011, /* psem.INT_STS_0, mode bb */
- 0x04540009, 0x20580010, 0x00580013, 0x00580011, /* psem.INT_STS_0, mode k2 */
- 0x00000003, 0x20580010, 0x00580013, 0x00580011, /* psem.INT_STS_0, mode !(bb|k2) */
- 0x04740000, 0x2d580014, 0x00580017, 0x00580015, /* psem.INT_STS_1 */
- 0x04a10003, 0x1f580018, 0x0058001b, 0x00580019, /* psem.INT_STS_2, mode !(bb|k2) */
+ 0x080e0007, 0x03540032, 0x00540035, 0x00540033, /* ysem.PRTY_STS, mode bb */
+ 0x080e0009, 0x03540032, 0x00540035, 0x00540033, /* ysem.PRTY_STS, mode k2 */
+ 0x00000003, 0x05540032, 0x00540035, 0x00540033, /* ysem.PRTY_STS, mode !(bb|k2) */
+ 0x00060043, 0x07540080, 0x00540083, 0x00540081, /* ysem.PRTY_STS_H_0, mode !e5 */
+ 0x082c0009, 0x07550080, 0x00550083, 0x00550081, /* ysem.fast_memory.PRTY_STS_H_0, mode k2 */
+ 0x000d0003, 0x08550080, 0x00550083, 0x00550081, /* ysem.fast_memory.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x07a20007, 0x20580010, 0x00580013, 0x00580011, /* psem.INT_STS_0, mode bb */
+ 0x07a20009, 0x20580010, 0x00580013, 0x00580011, /* psem.INT_STS_0, mode k2 */
+ 0x00000003, 0x1f580010, 0x00580013, 0x00580011, /* psem.INT_STS_0, mode !(bb|k2) */
+ 0x07c20000, 0x2d580014, 0x00580017, 0x00580015, /* psem.INT_STS_1 */
+ 0x07ef0003, 0x1f580018, 0x0058001b, 0x00580019, /* psem.INT_STS_2, mode !(bb|k2) */
0x00000000, 0x01590010, 0x00590013, 0x00590011, /* psem.fast_memory.INT_STS */
- 0x00000000, 0x03580032, 0x00580035, 0x00580033, /* psem.PRTY_STS */
- 0x00030051, 0x06580080, 0x00580083, 0x00580081, /* psem.PRTY_STS_H_0, mode !e5 */
- 0x00090143, 0x07590080, 0x00590083, 0x00590081, /* psem.fast_memory.PRTY_STS_H_0, mode !(bb|e5) */
- 0x04c00051, 0x06592880, 0x00592883, 0x00592881, /* psem.fast_memory.vfc_config.PRTY_STS_H_0, mode !e5 */
- 0x04c60000, 0x1608e260, 0x0008e263, 0x0008e261, /* rss.INT_STS */
- 0x00000051, 0x0408e280, 0x0008e283, 0x0008e281, /* rss.PRTY_STS_H_0, mode !e5 */
+ 0x080e0007, 0x03580032, 0x00580035, 0x00580033, /* psem.PRTY_STS, mode bb */
+ 0x080e0009, 0x03580032, 0x00580035, 0x00580033, /* psem.PRTY_STS, mode k2 */
+ 0x00000003, 0x05580032, 0x00580035, 0x00580033, /* psem.PRTY_STS, mode !(bb|k2) */
+ 0x00060043, 0x06580080, 0x00580083, 0x00580081, /* psem.PRTY_STS_H_0, mode !e5 */
+ 0x08110009, 0x07590080, 0x00590083, 0x00590081, /* psem.fast_memory.PRTY_STS_H_0, mode k2 */
+ 0x000c0003, 0x08590080, 0x00590083, 0x00590081, /* psem.fast_memory.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x08180000, 0x07592880, 0x00592883, 0x00592881, /* psem.fast_memory.vfc_config.PRTY_STS_H_0 */
+ 0x08330000, 0x1608e260, 0x0008e263, 0x0008e261, /* rss.INT_STS */
+ 0x08490000, 0x0a08e280, 0x0008e283, 0x0008e281, /* rss.PRTY_STS_H_0 */
0x00000000, 0x06134060, 0x00134063, 0x00134061, /* tmld.INT_STS */
- 0x00000051, 0x08134080, 0x00134083, 0x00134081, /* tmld.PRTY_STS_H_0, mode !e5 */
+ 0x08530007, 0x08134080, 0x00134083, 0x00134081, /* tmld.PRTY_STS_H_0, mode bb */
+ 0x08530009, 0x08134080, 0x00134083, 0x00134081, /* tmld.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x0e134080, 0x00134083, 0x00134081, /* tmld.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x06138060, 0x00138063, 0x00138061, /* muld.INT_STS */
- 0x00000051, 0x0a138080, 0x00138083, 0x00138081, /* muld.PRTY_STS_H_0, mode !e5 */
- 0x00000051, 0x06132060, 0x00132063, 0x00132061, /* yuld.INT_STS, mode !e5 */
- 0x00000051, 0x06132080, 0x00132083, 0x00132081, /* yuld.PRTY_STS_H_0, mode !e5 */
+ 0x085b0007, 0x0a138080, 0x00138083, 0x00138081, /* muld.PRTY_STS_H_0, mode bb */
+ 0x085b0009, 0x0a138080, 0x00138083, 0x00138081, /* muld.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x10138080, 0x00138083, 0x00138081, /* muld.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x00000043, 0x06132060, 0x00132063, 0x00132061, /* yuld.INT_STS, mode !e5 */
+ 0x00000043, 0x06132080, 0x00132083, 0x00132081, /* yuld.PRTY_STS_H_0, mode !e5 */
0x00000000, 0x06130060, 0x00130063, 0x00130061, /* xyld.INT_STS */
- 0x00000051, 0x09130080, 0x00130083, 0x00130081, /* xyld.PRTY_STS_H_0, mode !e5 */
- 0x00000003, 0x06164060, 0x00164063, 0x00164061, /* ptld.INT_STS, mode !(bb|k2) */
- 0x00000003, 0x0616c060, 0x0016c063, 0x0016c061, /* ypld.INT_STS, mode !(bb|k2) */
- 0x00000000, 0x0b08c010, 0x0008c013, 0x0008c011, /* prm.INT_STS */
+ 0x08650007, 0x09130080, 0x00130083, 0x00130081, /* xyld.PRTY_STS_H_0, mode bb */
+ 0x08650009, 0x09130080, 0x00130083, 0x00130081, /* xyld.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x0f130080, 0x00130083, 0x00130081, /* xyld.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x00000003, 0x06168060, 0x00168063, 0x00168061, /* ptld.INT_STS, mode !(bb|k2) */
+ 0x00000003, 0x08168080, 0x00168083, 0x00168081, /* ptld.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x00000003, 0x06170060, 0x00170063, 0x00170061, /* ypld.INT_STS, mode !(bb|k2) */
+ 0x00000003, 0x08170080, 0x00170083, 0x00170081, /* ypld.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x086e0000, 0x0b08c010, 0x0008c013, 0x0008c011, /* prm.INT_STS */
0x00000000, 0x0108c014, 0x0008c017, 0x0008c015, /* prm.PRTY_STS */
- 0x04dc0007, 0x1808c080, 0x0008c083, 0x0008c081, /* prm.PRTY_STS_H_0, mode bb */
- 0x00010143, 0x1708c080, 0x0008c083, 0x0008c081, /* prm.PRTY_STS_H_0, mode !(bb|e5) */
+ 0x08790007, 0x1808c080, 0x0008c083, 0x0008c081, /* prm.PRTY_STS_H_0, mode bb */
+ 0x08910009, 0x1708c080, 0x0008c083, 0x0008c081, /* prm.PRTY_STS_H_0, mode k2 */
+ 0x00010003, 0x1808c080, 0x0008c083, 0x0008c081, /* prm.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x09368010, 0x00368013, 0x00368011, /* pbf_pb1.INT_STS */
0x00000000, 0x01368014, 0x00368017, 0x00368015, /* pbf_pb1.PRTY_STS */
0x00000000, 0x09369010, 0x00369013, 0x00369011, /* pbf_pb2.INT_STS */
0x00000000, 0x01369014, 0x00369017, 0x00369015, /* pbf_pb2.PRTY_STS */
0x00000000, 0x0908f010, 0x0008f013, 0x0008f011, /* rpb.INT_STS */
0x00000000, 0x0108f014, 0x0008f017, 0x0008f015, /* rpb.PRTY_STS */
- 0x04f40000, 0x1a36c030, 0x0036c033, 0x0036c031, /* btb.INT_STS_0 */
- 0x050e0000, 0x1236c036, 0x0036c039, 0x0036c037, /* btb.INT_STS_1 */
- 0x05200000, 0x0536c03c, 0x0036c03f, 0x0036c03d, /* btb.INT_STS_2 */
+ 0x08a80000, 0x1a36c030, 0x0036c033, 0x0036c031, /* btb.INT_STS_0 */
+ 0x08c20000, 0x1236c036, 0x0036c039, 0x0036c037, /* btb.INT_STS_1 */
+ 0x08d40000, 0x0536c03c, 0x0036c03f, 0x0036c03d, /* btb.INT_STS_2 */
0x00240000, 0x2036c042, 0x0036c045, 0x0036c043, /* btb.INT_STS_3 */
- 0x05250000, 0x1c36c048, 0x0036c04b, 0x0036c049, /* btb.INT_STS_4 */
+ 0x08d90000, 0x1c36c048, 0x0036c04b, 0x0036c049, /* btb.INT_STS_4 */
0x005b0000, 0x2036c04e, 0x0036c051, 0x0036c04f, /* btb.INT_STS_5 */
0x007b0000, 0x0136c054, 0x0036c057, 0x0036c055, /* btb.INT_STS_6 */
0x007c0000, 0x0136c061, 0x0036c064, 0x0036c062, /* btb.INT_STS_8 */
0x007d0000, 0x0136c067, 0x0036c06a, 0x0036c068, /* btb.INT_STS_9 */
- 0x05410000, 0x0236c06d, 0x0036c070, 0x0036c06e, /* btb.INT_STS_10 */
- 0x05430000, 0x0436c073, 0x0036c076, 0x0036c074, /* btb.INT_STS_11 */
+ 0x08f50000, 0x0236c06d, 0x0036c070, 0x0036c06e, /* btb.INT_STS_10 */
+ 0x08f70000, 0x0436c073, 0x0036c076, 0x0036c074, /* btb.INT_STS_11 */
0x00000000, 0x0536c077, 0x0036c07a, 0x0036c078, /* btb.PRTY_STS */
- 0x05470007, 0x1736c100, 0x0036c103, 0x0036c101, /* btb.PRTY_STS_H_0, mode bb */
- 0x00050143, 0x1f36c100, 0x0036c103, 0x0036c101, /* btb.PRTY_STS_H_0, mode !(bb|e5) */
+ 0x08fb0007, 0x1736c100, 0x0036c103, 0x0036c101, /* btb.PRTY_STS_H_0, mode bb */
+ 0x09120009, 0x1f36c100, 0x0036c103, 0x0036c101, /* btb.PRTY_STS_H_0, mode k2 */
+ 0x00050003, 0x1f36c100, 0x0036c103, 0x0036c101, /* btb.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x00240003, 0x0836c104, 0x0036c107, 0x0036c105, /* btb.PRTY_STS_H_1, mode !(bb|k2) */
0x00000000, 0x01360060, 0x00360063, 0x00360061, /* pbf.INT_STS */
0x00000000, 0x01360064, 0x00360067, 0x00360065, /* pbf.PRTY_STS */
- 0x00010051, 0x1f360080, 0x00360083, 0x00360081, /* pbf.PRTY_STS_H_0, mode !e5 */
- 0x00200051, 0x1b360084, 0x00360087, 0x00360085, /* pbf.PRTY_STS_H_1, mode !e5 */
+ 0x00010043, 0x1f360080, 0x00360083, 0x00360081, /* pbf.PRTY_STS_H_0, mode !e5 */
+ 0x00200043, 0x1b360084, 0x00360087, 0x00360085, /* pbf.PRTY_STS_H_1, mode !e5 */
0x00000000, 0x090c0060, 0x000c0063, 0x000c0061, /* rdif.INT_STS */
0x01480000, 0x020c0064, 0x000c0067, 0x000c0065, /* rdif.PRTY_STS */
0x00000000, 0x090c4060, 0x000c4063, 0x000c4061, /* tdif.INT_STS */
0x01480000, 0x020c4064, 0x000c4067, 0x000c4065, /* tdif.PRTY_STS */
- 0x00010051, 0x0b0c4080, 0x000c4083, 0x000c4081, /* tdif.PRTY_STS_H_0, mode !e5 */
+ 0x09310007, 0x0b0c4080, 0x000c4083, 0x000c4081, /* tdif.PRTY_STS_H_0, mode bb */
+ 0x09310009, 0x0b0c4080, 0x000c4083, 0x000c4081, /* tdif.PRTY_STS_H_0, mode k2 */
+ 0x00010003, 0x0c0c4080, 0x000c4083, 0x000c4081, /* tdif.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x08160070, 0x00160071, 0x00160073, /* cdu.INT_STS */
- 0x00000051, 0x05160080, 0x00160083, 0x00160081, /* cdu.PRTY_STS_H_0, mode !e5 */
+ 0x093c0007, 0x05160080, 0x00160083, 0x00160081, /* cdu.PRTY_STS_H_0, mode bb */
+ 0x093c0009, 0x05160080, 0x00160083, 0x00160081, /* cdu.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x04160080, 0x00160083, 0x00160081, /* cdu.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x020b8060, 0x000b8063, 0x000b8061, /* ccfc.INT_STS_0 */
0x00000000, 0x060b8179, 0x000b817c, 0x000b817a, /* ccfc.PRTY_STS */
- 0x00060051, 0x020b8080, 0x000b8083, 0x000b8081, /* ccfc.PRTY_STS_H_0, mode !e5 */
+ 0x07970007, 0x020b8080, 0x000b8083, 0x000b8081, /* ccfc.PRTY_STS_H_0, mode bb */
+ 0x07970009, 0x020b8080, 0x000b8083, 0x000b8081, /* ccfc.PRTY_STS_H_0, mode k2 */
+ 0x00060003, 0x040b8080, 0x000b8083, 0x000b8081, /* ccfc.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x020b4060, 0x000b4063, 0x000b4061, /* tcfc.INT_STS_0 */
0x00000000, 0x060b4179, 0x000b417c, 0x000b417a, /* tcfc.PRTY_STS */
- 0x00060051, 0x020b4080, 0x000b4083, 0x000b4081, /* tcfc.PRTY_STS_H_0, mode !e5 */
+ 0x00080007, 0x020b4080, 0x000b4083, 0x000b4081, /* tcfc.PRTY_STS_H_0, mode bb */
+ 0x00080009, 0x020b4080, 0x000b4083, 0x000b4081, /* tcfc.PRTY_STS_H_0, mode k2 */
+ 0x00060003, 0x040b4080, 0x000b4083, 0x000b4081, /* tcfc.PRTY_STS_H_0, mode !(bb|k2) */
0x00000000, 0x0b060060, 0x00060063, 0x00060061, /* igu.INT_STS */
0x00000000, 0x01060064, 0x00060067, 0x00060065, /* igu.PRTY_STS */
- 0x055e0007, 0x1f060080, 0x00060083, 0x00060081, /* igu.PRTY_STS_H_0, mode bb */
- 0x00010143, 0x1c060080, 0x00060083, 0x00060081, /* igu.PRTY_STS_H_0, mode !(bb|e5) */
- 0x00020015, 0x01060084, 0x00060087, 0x00060085, /* igu.PRTY_STS_H_1, mode !(k2|e5) */
- 0x00000000, 0x0b070035, 0x00070036, 0x00070038, /* cau.INT_STS */
- 0x057d0007, 0x0d070080, 0x00070083, 0x00070081, /* cau.PRTY_STS_H_0, mode bb */
- 0x00000025, 0x0d070080, 0x00070083, 0x00070081, /* cau.PRTY_STS_H_0, mode !bb */
+ 0x09410007, 0x1f060080, 0x00060083, 0x00060081, /* igu.PRTY_STS_H_0, mode bb */
+ 0x09600009, 0x1c060080, 0x00060083, 0x00060081, /* igu.PRTY_STS_H_0, mode k2 */
+ 0x00010003, 0x1c060080, 0x00060083, 0x00060081, /* igu.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x001e0015, 0x01060084, 0x00060087, 0x00060085, /* igu.PRTY_STS_H_1, mode !(k2|e5) */
+ 0x097c0000, 0x0b070035, 0x00070036, 0x00070038, /* cau.INT_STS */
+ 0x09870007, 0x0d070080, 0x00070083, 0x00070081, /* cau.PRTY_STS_H_0, mode bb */
+ 0x09940009, 0x0d070080, 0x00070083, 0x00070081, /* cau.PRTY_STS_H_0, mode k2 */
+ 0x00000003, 0x0a070080, 0x00070083, 0x00070081, /* cau.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x00000003, 0x023c0060, 0x003c0063, 0x003c0061, /* rgfs.INT_STS, mode !(bb|k2) */
+ 0x00000003, 0x013c0064, 0x003c0067, 0x003c0065, /* rgfs.PRTY_STS, mode !(bb|k2) */
0x00000003, 0x010c8060, 0x000c8063, 0x000c8061, /* rgsrc.INT_STS, mode !(bb|k2) */
+ 0x00000003, 0x020c8081, 0x000c8084, 0x000c8082, /* rgsrc.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x00000003, 0x02340060, 0x00340063, 0x00340061, /* tgfs.INT_STS, mode !(bb|k2) */
+ 0x00000003, 0x01340064, 0x00340067, 0x00340065, /* tgfs.PRTY_STS, mode !(bb|k2) */
0x00000003, 0x010c8860, 0x000c8863, 0x000c8861, /* tgsrc.INT_STS, mode !(bb|k2) */
+ 0x00000003, 0x020c8881, 0x000c8884, 0x000c8882, /* tgsrc.PRTY_STS_H_0, mode !(bb|k2) */
0x00000025, 0x02014460, 0x00014463, 0x00014461, /* umac.INT_STS, mode !bb */
0x00000000, 0x01004060, 0x00004063, 0x00004061, /* dbg.INT_STS */
- 0x00000051, 0x01004080, 0x00004083, 0x00004081, /* dbg.PRTY_STS_H_0, mode !e5 */
+ 0x00000000, 0x01004080, 0x00004083, 0x00004081, /* dbg.PRTY_STS_H_0 */
0x00000000, 0x0e140010, 0x00140013, 0x00140011, /* nig.INT_STS_0 */
0x000e0000, 0x20140014, 0x00140017, 0x00140015, /* nig.INT_STS_1 */
0x002e0000, 0x16140018, 0x0014001b, 0x00140019, /* nig.INT_STS_2 */
@@ -7370,33 +7549,39 @@ static const u32 attn_reg[] = {
0x00ce0003, 0x1014003c, 0x0014003f, 0x0014003d, /* nig.INT_STS_10, mode !(bb|k2) */
0x00000007, 0x01140028, 0x0014002b, 0x00140029, /* nig.PRTY_STS, mode bb */
0x00000025, 0x01140038, 0x0014003b, 0x00140039, /* nig.PRTY_STS, mode !bb */
- 0x058a0007, 0x1f140080, 0x00140083, 0x00140081, /* nig.PRTY_STS_H_0, mode bb */
- 0x00010143, 0x1f140080, 0x00140083, 0x00140081, /* nig.PRTY_STS_H_0, mode !(bb|e5) */
- 0x00000051, 0x00140084, 0x00140087, 0x00140085, /* nig.PRTY_STS_H_1, mode !e5 */
- 0x05a90007, 0x1f140088, 0x0014008b, 0x00140089, /* nig.PRTY_STS_H_2, mode bb */
- 0x05c80143, 0x1f140088, 0x0014008b, 0x00140089, /* nig.PRTY_STS_H_2, mode !(bb|e5) */
- 0x00000051, 0x0014008c, 0x0014008f, 0x0014008d, /* nig.PRTY_STS_H_3, mode !e5 */
+ 0x09a10007, 0x1f140080, 0x00140083, 0x00140081, /* nig.PRTY_STS_H_0, mode bb */
+ 0x09c00009, 0x1f140080, 0x00140083, 0x00140081, /* nig.PRTY_STS_H_0, mode k2 */
+ 0x00010003, 0x1f140080, 0x00140083, 0x00140081, /* nig.PRTY_STS_H_0, mode !(bb|k2) */
+ 0x09df0007, 0x1f140084, 0x00140087, 0x00140085, /* nig.PRTY_STS_H_1, mode bb */
+ 0x09fe0009, 0x1f140084, 0x00140087, 0x00140085, /* nig.PRTY_STS_H_1, mode k2 */
+ 0x0a1d0003, 0x1f140084, 0x00140087, 0x00140085, /* nig.PRTY_STS_H_1, mode !(bb|k2) */
+ 0x0a3c0007, 0x1f140088, 0x0014008b, 0x00140089, /* nig.PRTY_STS_H_2, mode bb */
+ 0x0a5b0009, 0x1f140088, 0x0014008b, 0x00140089, /* nig.PRTY_STS_H_2, mode k2 */
+ 0x0a7a0003, 0x1f140088, 0x0014008b, 0x00140089, /* nig.PRTY_STS_H_2, mode !(bb|k2) */
+ 0x0a990007, 0x1114008c, 0x0014008f, 0x0014008d, /* nig.PRTY_STS_H_3, mode bb */
+ 0x0aaa0009, 0x0e14008c, 0x0014008f, 0x0014008d, /* nig.PRTY_STS_H_3, mode k2 */
+ 0x0ab80003, 0x1914008c, 0x0014008f, 0x0014008d, /* nig.PRTY_STS_H_3, mode !(bb|k2) */
0x00000025, 0x01180010, 0x00180013, 0x00180011, /* wol.INT_STS_0, mode !bb */
- 0x00000143, 0x18180080, 0x00180083, 0x00180081, /* wol.PRTY_STS_H_0, mode !(bb|e5) */
+ 0x00000025, 0x18180080, 0x00180083, 0x00180081, /* wol.PRTY_STS_H_0, mode !bb */
0x00000025, 0x01184010, 0x00184013, 0x00184011, /* bmbn.INT_STS_0, mode !bb */
- 0x05e70007, 0x0e008143, 0x00008146, 0x00008144, /* ipc.INT_STS_0, mode bb */
- 0x05e70025, 0x060080b7, 0x000080ba, 0x000080b8, /* ipc.INT_STS_0, mode !bb */
+ 0x0ad10007, 0x0e008143, 0x00008146, 0x00008144, /* ipc.INT_STS_0, mode bb */
+ 0x0ad10025, 0x060080b7, 0x000080ba, 0x000080b8, /* ipc.INT_STS_0, mode !bb */
0x00000015, 0x01008147, 0x0000814a, 0x00008148, /* ipc.PRTY_STS, mode !(k2|e5) */
- 0x05f50025, 0x12200001, 0x00200004, 0x00200002, /* nwm.INT_STS, mode !bb */
+ 0x0adf0025, 0x12200001, 0x00200004, 0x00200002, /* nwm.INT_STS, mode !bb */
0x00000025, 0x1f200080, 0x00200083, 0x00200081, /* nwm.PRTY_STS_H_0, mode !bb */
0x001f0025, 0x1f200084, 0x00200087, 0x00200085, /* nwm.PRTY_STS_H_1, mode !bb */
0x003e0025, 0x0a200088, 0x0020008b, 0x00200089, /* nwm.PRTY_STS_H_2, mode !bb */
0x00000025, 0x0a1c0060, 0x001c0063, 0x001c0061, /* nws.INT_STS_0, mode !bb */
- 0x06070025, 0x0a1c0064, 0x001c0067, 0x001c0065, /* nws.INT_STS_1, mode !bb */
- 0x06110025, 0x0a1c0068, 0x001c006b, 0x001c0069, /* nws.INT_STS_2, mode !bb */
- 0x061b0025, 0x0a1c006c, 0x001c006f, 0x001c006d, /* nws.INT_STS_3, mode !bb */
+ 0x0af10025, 0x0a1c0064, 0x001c0067, 0x001c0065, /* nws.INT_STS_1, mode !bb */
+ 0x0afb0025, 0x0a1c0068, 0x001c006b, 0x001c0069, /* nws.INT_STS_2, mode !bb */
+ 0x0b050025, 0x0a1c006c, 0x001c006f, 0x001c006d, /* nws.INT_STS_3, mode !bb */
0x00000025, 0x041c0080, 0x001c0083, 0x001c0081, /* nws.PRTY_STS_H_0, mode !bb */
0x00000025, 0x011a8060, 0x001a8063, 0x001a8061, /* ms.INT_STS, mode !bb */
0x00000025, 0x011ae060, 0x001ae063, 0x001ae061, /* led.INT_STS_0, mode !bb */
- 0x06250143, 0x031ad002, 0x001ad005, 0x001ad003, /* avs_wrap.INT_STS, mode !(bb|e5) */
- 0x00000143, 0x031ad006, 0x001ad009, 0x001ad007, /* avs_wrap.PRTY_STS, mode !(bb|e5) */
+ 0x0b0f011b, 0x031ad002, 0x001ad005, 0x001ad003, /* avs_wrap.INT_STS, mode !(bb|e5) */
+ 0x0000011b, 0x031ad006, 0x001ad009, 0x001ad007, /* avs_wrap.PRTY_STS, mode !(bb|e5) */
};
-/* Data size: 5152 bytes */
+/* Data size: 6864 bytes */
/* Array of attentions data per block */
static const u32 attn_block[] = {
@@ -7407,86 +7592,86 @@ static const u32 attn_block[] = {
0x00000016, 0x00060001, 0x0000002e, 0x00070004, /* block pglue_b, 1 interrupt regs (24 attentions), 4 parity regs (35 attentions) */
0x00000051, 0x000b0002, 0x0000005b, 0x000d0002, /* block cnig, 2 interrupt regs (10 attentions), 2 parity regs (2 attentions) */
0x00000000, 0x000f0001, 0x00000000, 0x00100000, /* block cpmu, 1 interrupt regs (1 attentions) */
- 0x00000000, 0x00100001, 0x00000006, 0x00110001, /* block ncsi, 1 interrupt regs (1 attentions), 1 parity regs (1 attentions) */
- 0x00000000, 0x00120000, 0x0000005d, 0x00120002, /* block opte, 2 parity regs (12 attentions) */
- 0x00000069, 0x0014000c, 0x00000193, 0x00200003, /* block bmb, 12 interrupt regs (298 attentions), 3 parity regs (51 attentions) */
- 0x000001c6, 0x00230001, 0x000001d7, 0x00240003, /* block pcie, 1 interrupt regs (17 attentions), 3 parity regs (24 attentions) */
- 0x00000000, 0x00270000, 0x00000000, 0x00270000, /* block mcp */
- 0x00000000, 0x00270000, 0x000001ef, 0x00270002, /* block mcp2, 2 parity regs (13 attentions) */
- 0x000001fc, 0x00290001, 0x0000020e, 0x002a0002, /* block pswhst, 1 interrupt regs (18 attentions), 2 parity regs (18 attentions) */
- 0x00000220, 0x002c0001, 0x0000002e, 0x002d0001, /* block pswhst2, 1 interrupt regs (5 attentions), 1 parity regs (1 attentions) */
- 0x00000225, 0x002e0001, 0x0000002e, 0x002f0001, /* block pswrd, 1 interrupt regs (3 attentions), 1 parity regs (1 attentions) */
- 0x00000228, 0x00300001, 0x0000022d, 0x00310003, /* block pswrd2, 1 interrupt regs (5 attentions), 3 parity regs (35 attentions) */
- 0x00000250, 0x00340001, 0x0000002e, 0x00350001, /* block pswwr, 1 interrupt regs (19 attentions), 1 parity regs (1 attentions) */
- 0x00000263, 0x00360001, 0x00000279, 0x00370005, /* block pswwr2, 1 interrupt regs (22 attentions), 5 parity regs (114 attentions) */
- 0x000002eb, 0x003c0001, 0x00000302, 0x003d0001, /* block pswrq, 1 interrupt regs (23 attentions), 1 parity regs (1 attentions) */
- 0x00000303, 0x003e0001, 0x00000312, 0x003f0002, /* block pswrq2, 1 interrupt regs (15 attentions), 2 parity regs (11 attentions) */
- 0x0000031d, 0x00410001, 0x00000000, 0x00420000, /* block pglcs, 1 interrupt regs (2 attentions) */
- 0x0000031f, 0x00420001, 0x00000321, 0x00430001, /* block dmae, 1 interrupt regs (2 attentions), 1 parity regs (3 attentions) */
- 0x00000324, 0x00440001, 0x0000032c, 0x00450001, /* block ptu, 1 interrupt regs (8 attentions), 1 parity regs (18 attentions) */
- 0x0000033e, 0x00460005, 0x00000371, 0x004b0004, /* block tcm, 5 interrupt regs (51 attentions), 4 parity regs (42 attentions) */
- 0x0000039b, 0x004f0005, 0x000003cc, 0x00540002, /* block mcm, 5 interrupt regs (49 attentions), 2 parity regs (35 attentions) */
- 0x000003ef, 0x00560005, 0x00000424, 0x005b0002, /* block ucm, 5 interrupt regs (53 attentions), 2 parity regs (38 attentions) */
- 0x0000044a, 0x005d0003, 0x0000047f, 0x00600004, /* block xcm, 3 interrupt regs (53 attentions), 4 parity regs (49 attentions) */
- 0x000004b0, 0x00640003, 0x000004d9, 0x00670004, /* block ycm, 3 interrupt regs (41 attentions), 4 parity regs (44 attentions) */
- 0x00000505, 0x006b0005, 0x0000051f, 0x00700002, /* block pcm, 5 interrupt regs (26 attentions), 2 parity regs (19 attentions) */
- 0x00000532, 0x00720001, 0x00000548, 0x00730005, /* block qm, 1 interrupt regs (22 attentions), 5 parity regs (92 attentions) */
- 0x000005a4, 0x00780002, 0x000005cf, 0x007a0001, /* block tm, 2 interrupt regs (43 attentions), 1 parity regs (17 attentions) */
- 0x000005e0, 0x007b0001, 0x000005ec, 0x007c0002, /* block dorq, 1 interrupt regs (12 attentions), 2 parity regs (7 attentions) */
- 0x000005f3, 0x007e000c, 0x000006dc, 0x008a0005, /* block brb, 12 interrupt regs (233 attentions), 5 parity regs (74 attentions) */
- 0x00000000, 0x008f0001, 0x00000000, 0x00900000, /* block src, 1 interrupt regs (1 attentions) */
- 0x00000726, 0x00900001, 0x00000728, 0x00910005, /* block prs, 1 interrupt regs (2 attentions), 5 parity regs (75 attentions) */
- 0x00000773, 0x00960001, 0x0000078f, 0x00970001, /* block tsdm, 1 interrupt regs (28 attentions), 1 parity regs (10 attentions) */
- 0x00000773, 0x00980001, 0x00000799, 0x00990001, /* block msdm, 1 interrupt regs (28 attentions), 1 parity regs (11 attentions) */
- 0x00000773, 0x009a0001, 0x00000790, 0x009b0001, /* block usdm, 1 interrupt regs (28 attentions), 1 parity regs (10 attentions) */
- 0x00000773, 0x009c0001, 0x000007a4, 0x009d0001, /* block xsdm, 1 interrupt regs (28 attentions), 1 parity regs (10 attentions) */
- 0x00000773, 0x009e0001, 0x000007ae, 0x009f0001, /* block ysdm, 1 interrupt regs (28 attentions), 1 parity regs (9 attentions) */
- 0x00000773, 0x00a00001, 0x000007ae, 0x00a10001, /* block psdm, 1 interrupt regs (28 attentions), 1 parity regs (9 attentions) */
- 0x000007b7, 0x00a20006, 0x00000838, 0x00a80004, /* block tsem, 6 interrupt regs (129 attentions), 4 parity regs (20 attentions) */
- 0x000007b7, 0x00ac0006, 0x00000838, 0x00b20003, /* block msem, 6 interrupt regs (129 attentions), 3 parity regs (16 attentions) */
- 0x000007b7, 0x00b50006, 0x00000838, 0x00bb0003, /* block usem, 6 interrupt regs (129 attentions), 3 parity regs (16 attentions) */
- 0x000007b7, 0x00be0006, 0x0000084c, 0x00c40003, /* block xsem, 6 interrupt regs (129 attentions), 3 parity regs (17 attentions) */
- 0x000007b7, 0x00c70006, 0x0000084c, 0x00cd0003, /* block ysem, 6 interrupt regs (129 attentions), 3 parity regs (17 attentions) */
- 0x000007b7, 0x00d00006, 0x00000838, 0x00d60004, /* block psem, 6 interrupt regs (129 attentions), 4 parity regs (20 attentions) */
- 0x0000085d, 0x00da0001, 0x00000873, 0x00db0001, /* block rss, 1 interrupt regs (22 attentions), 1 parity regs (4 attentions) */
- 0x00000877, 0x00dc0001, 0x0000087d, 0x00dd0001, /* block tmld, 1 interrupt regs (6 attentions), 1 parity regs (8 attentions) */
- 0x00000877, 0x00de0001, 0x00000885, 0x00df0001, /* block muld, 1 interrupt regs (6 attentions), 1 parity regs (10 attentions) */
- 0x00000877, 0x00e00001, 0x0000088f, 0x00e10001, /* block yuld, 1 interrupt regs (6 attentions), 1 parity regs (6 attentions) */
- 0x00000877, 0x00e20001, 0x00000895, 0x00e30001, /* block xyld, 1 interrupt regs (6 attentions), 1 parity regs (9 attentions) */
- 0x00000877, 0x00e40001, 0x00000000, 0x00e50000, /* block ptld, 1 interrupt regs (6 attentions) */
- 0x00000877, 0x00e50001, 0x00000000, 0x00e60000, /* block ypld, 1 interrupt regs (6 attentions) */
- 0x0000089e, 0x00e60001, 0x000008a9, 0x00e70003, /* block prm, 1 interrupt regs (11 attentions), 3 parity regs (30 attentions) */
- 0x000008c7, 0x00ea0001, 0x0000002e, 0x00eb0001, /* block pbf_pb1, 1 interrupt regs (9 attentions), 1 parity regs (1 attentions) */
- 0x000008c7, 0x00ec0001, 0x0000002e, 0x00ed0001, /* block pbf_pb2, 1 interrupt regs (9 attentions), 1 parity regs (1 attentions) */
- 0x000008c7, 0x00ee0001, 0x0000002e, 0x00ef0001, /* block rpb, 1 interrupt regs (9 attentions), 1 parity regs (1 attentions) */
- 0x000008d0, 0x00f0000b, 0x00000951, 0x00fb0003, /* block btb, 11 interrupt regs (129 attentions), 3 parity regs (36 attentions) */
- 0x00000000, 0x00fe0001, 0x00000975, 0x00ff0003, /* block pbf, 1 interrupt regs (1 attentions), 3 parity regs (59 attentions) */
- 0x000009b0, 0x01020001, 0x0000002e, 0x01030001, /* block rdif, 1 interrupt regs (9 attentions), 1 parity regs (1 attentions) */
- 0x000009b0, 0x01040001, 0x000009b9, 0x01050002, /* block tdif, 1 interrupt regs (9 attentions), 2 parity regs (12 attentions) */
- 0x000009c5, 0x01070001, 0x000009cd, 0x01080001, /* block cdu, 1 interrupt regs (8 attentions), 1 parity regs (5 attentions) */
- 0x000009d2, 0x01090001, 0x000009d4, 0x010a0002, /* block ccfc, 1 interrupt regs (2 attentions), 2 parity regs (8 attentions) */
- 0x000009d2, 0x010c0001, 0x000009dc, 0x010d0002, /* block tcfc, 1 interrupt regs (2 attentions), 2 parity regs (8 attentions) */
- 0x000009e4, 0x010f0001, 0x000009ef, 0x01100004, /* block igu, 1 interrupt regs (11 attentions), 4 parity regs (42 attentions) */
- 0x00000a19, 0x01140001, 0x00000a24, 0x01150002, /* block cau, 1 interrupt regs (11 attentions), 2 parity regs (15 attentions) */
- 0x00000000, 0x01170000, 0x00000000, 0x01170000, /* block rgfs */
- 0x00000000, 0x01170001, 0x00000000, 0x01180000, /* block rgsrc, 1 interrupt regs (1 attentions) */
- 0x00000000, 0x01180000, 0x00000000, 0x01180000, /* block tgfs */
- 0x00000000, 0x01180001, 0x00000000, 0x01190000, /* block tgsrc, 1 interrupt regs (1 attentions) */
- 0x00000a33, 0x01190001, 0x00000000, 0x011a0000, /* block umac, 1 interrupt regs (2 attentions) */
- 0x00000000, 0x011a0000, 0x00000000, 0x011a0000, /* block xmac */
- 0x00000000, 0x011a0001, 0x00000050, 0x011b0001, /* block dbg, 1 interrupt regs (1 attentions), 1 parity regs (1 attentions) */
- 0x00000a35, 0x011c000b, 0x00000b13, 0x01270008, /* block nig, 11 interrupt regs (222 attentions), 8 parity regs (113 attentions) */
- 0x00000000, 0x012f0001, 0x00000b84, 0x01300001, /* block wol, 1 interrupt regs (1 attentions), 1 parity regs (24 attentions) */
- 0x00000000, 0x01310001, 0x00000000, 0x01320000, /* block bmbn, 1 interrupt regs (1 attentions) */
- 0x00000b9c, 0x01320002, 0x00000ba9, 0x01340001, /* block ipc, 2 interrupt regs (13 attentions), 1 parity regs (1 attentions) */
- 0x00000baa, 0x01350001, 0x00000bbb, 0x01360003, /* block nwm, 1 interrupt regs (17 attentions), 3 parity regs (72 attentions) */
- 0x00000c03, 0x01390004, 0x00000c28, 0x013d0001, /* block nws, 4 interrupt regs (37 attentions), 1 parity regs (4 attentions) */
- 0x00000000, 0x013e0001, 0x00000000, 0x013f0000, /* block ms, 1 interrupt regs (1 attentions) */
- 0x00000000, 0x013f0000, 0x00000000, 0x013f0000, /* block phy_pcie */
- 0x00000000, 0x013f0001, 0x00000000, 0x01400000, /* block led, 1 interrupt regs (1 attentions) */
- 0x00000c2c, 0x01400001, 0x00000c2e, 0x01410001, /* block avs_wrap, 1 interrupt regs (2 attentions), 1 parity regs (3 attentions) */
- 0x00000000, 0x01420000, 0x00000000, 0x01420000, /* block misc_aeu */
- 0x00000000, 0x01420000, 0x00000000, 0x01420000, /* block bar0_map */
+ 0x00000000, 0x00100001, 0x0000005d, 0x00110001, /* block ncsi, 1 interrupt regs (1 attentions), 1 parity regs (3 attentions) */
+ 0x00000000, 0x00120000, 0x00000060, 0x00120002, /* block opte, 2 parity regs (12 attentions) */
+ 0x0000006c, 0x0014000c, 0x00000196, 0x00200005, /* block bmb, 12 interrupt regs (298 attentions), 5 parity regs (66 attentions) */
+ 0x000001d8, 0x00250001, 0x000001e9, 0x00260003, /* block pcie, 1 interrupt regs (17 attentions), 3 parity regs (24 attentions) */
+ 0x00000000, 0x00290000, 0x00000000, 0x00290000, /* block mcp */
+ 0x00000000, 0x00290000, 0x00000201, 0x00290002, /* block mcp2, 2 parity regs (13 attentions) */
+ 0x0000020e, 0x002b0001, 0x00000220, 0x002c0002, /* block pswhst, 1 interrupt regs (18 attentions), 2 parity regs (18 attentions) */
+ 0x00000232, 0x002e0001, 0x0000002e, 0x002f0001, /* block pswhst2, 1 interrupt regs (5 attentions), 1 parity regs (1 attentions) */
+ 0x00000237, 0x00300001, 0x0000002e, 0x00310001, /* block pswrd, 1 interrupt regs (3 attentions), 1 parity regs (1 attentions) */
+ 0x0000023a, 0x00320001, 0x0000023f, 0x00330007, /* block pswrd2, 1 interrupt regs (5 attentions), 7 parity regs (40 attentions) */
+ 0x00000267, 0x003a0001, 0x0000002e, 0x003b0001, /* block pswwr, 1 interrupt regs (19 attentions), 1 parity regs (1 attentions) */
+ 0x0000027a, 0x003c0001, 0x00000290, 0x003d000e, /* block pswwr2, 1 interrupt regs (22 attentions), 14 parity regs (161 attentions) */
+ 0x00000331, 0x004b0001, 0x00000348, 0x004c0001, /* block pswrq, 1 interrupt regs (23 attentions), 1 parity regs (1 attentions) */
+ 0x00000349, 0x004d0001, 0x00000358, 0x004e0002, /* block pswrq2, 1 interrupt regs (15 attentions), 2 parity regs (11 attentions) */
+ 0x00000363, 0x00500001, 0x00000000, 0x00510000, /* block pglcs, 1 interrupt regs (2 attentions) */
+ 0x00000365, 0x00510001, 0x0000005d, 0x00520001, /* block dmae, 1 interrupt regs (2 attentions), 1 parity regs (3 attentions) */
+ 0x00000367, 0x00530001, 0x0000036f, 0x00540003, /* block ptu, 1 interrupt regs (8 attentions), 3 parity regs (20 attentions) */
+ 0x00000383, 0x00570005, 0x000003b4, 0x005c0006, /* block tcm, 5 interrupt regs (49 attentions), 6 parity regs (59 attentions) */
+ 0x000003ef, 0x00620005, 0x0000041e, 0x00670006, /* block mcm, 5 interrupt regs (47 attentions), 6 parity regs (52 attentions) */
+ 0x00000452, 0x006d0005, 0x00000485, 0x00720004, /* block ucm, 5 interrupt regs (51 attentions), 4 parity regs (49 attentions) */
+ 0x000004b6, 0x00760003, 0x000004e9, 0x00790006, /* block xcm, 3 interrupt regs (51 attentions), 6 parity regs (54 attentions) */
+ 0x0000051f, 0x007f0003, 0x00000546, 0x00820006, /* block ycm, 3 interrupt regs (39 attentions), 6 parity regs (58 attentions) */
+ 0x00000580, 0x00880005, 0x00000598, 0x008d0003, /* block pcm, 5 interrupt regs (24 attentions), 3 parity regs (24 attentions) */
+ 0x000005b0, 0x00900001, 0x000005c6, 0x00910009, /* block qm, 1 interrupt regs (22 attentions), 9 parity regs (116 attentions) */
+ 0x0000063a, 0x009a0002, 0x00000665, 0x009c0003, /* block tm, 2 interrupt regs (43 attentions), 3 parity regs (20 attentions) */
+ 0x00000679, 0x009f0001, 0x00000685, 0x00a00004, /* block dorq, 1 interrupt regs (12 attentions), 4 parity regs (13 attentions) */
+ 0x00000692, 0x00a4000c, 0x0000077b, 0x00b00008, /* block brb, 12 interrupt regs (233 attentions), 8 parity regs (83 attentions) */
+ 0x00000000, 0x00b80001, 0x00000000, 0x00b90000, /* block src, 1 interrupt regs (1 attentions) */
+ 0x000007ce, 0x00b90001, 0x000007d0, 0x00ba0006, /* block prs, 1 interrupt regs (2 attentions), 6 parity regs (78 attentions) */
+ 0x0000081e, 0x00c00001, 0x0000083a, 0x00c10003, /* block tsdm, 1 interrupt regs (28 attentions), 3 parity regs (11 attentions) */
+ 0x0000081e, 0x00c40001, 0x00000845, 0x00c50003, /* block msdm, 1 interrupt regs (28 attentions), 3 parity regs (14 attentions) */
+ 0x0000081e, 0x00c80001, 0x00000853, 0x00c90003, /* block usdm, 1 interrupt regs (28 attentions), 3 parity regs (11 attentions) */
+ 0x0000081e, 0x00cc0001, 0x0000085e, 0x00cd0003, /* block xsdm, 1 interrupt regs (28 attentions), 3 parity regs (11 attentions) */
+ 0x0000081e, 0x00d00001, 0x00000869, 0x00d10003, /* block ysdm, 1 interrupt regs (28 attentions), 3 parity regs (10 attentions) */
+ 0x0000081e, 0x00d40001, 0x00000873, 0x00d50003, /* block psdm, 1 interrupt regs (28 attentions), 3 parity regs (12 attentions) */
+ 0x0000087f, 0x00d80006, 0x00000901, 0x00de0007, /* block tsem, 6 interrupt regs (130 attentions), 7 parity regs (24 attentions) */
+ 0x0000087f, 0x00e50006, 0x00000919, 0x00eb0008, /* block msem, 6 interrupt regs (130 attentions), 8 parity regs (30 attentions) */
+ 0x0000087f, 0x00f30006, 0x00000901, 0x00f90006, /* block usem, 6 interrupt regs (130 attentions), 6 parity regs (20 attentions) */
+ 0x0000087f, 0x00ff0006, 0x00000937, 0x01050006, /* block xsem, 6 interrupt regs (130 attentions), 6 parity regs (21 attentions) */
+ 0x0000087f, 0x010b0006, 0x00000937, 0x01110006, /* block ysem, 6 interrupt regs (130 attentions), 6 parity regs (21 attentions) */
+ 0x0000087f, 0x01170006, 0x00000901, 0x011d0007, /* block psem, 6 interrupt regs (130 attentions), 7 parity regs (24 attentions) */
+ 0x0000094c, 0x01240001, 0x00000962, 0x01250001, /* block rss, 1 interrupt regs (22 attentions), 1 parity regs (10 attentions) */
+ 0x0000096c, 0x01260001, 0x00000972, 0x01270003, /* block tmld, 1 interrupt regs (6 attentions), 3 parity regs (15 attentions) */
+ 0x0000096c, 0x012a0001, 0x00000981, 0x012b0003, /* block muld, 1 interrupt regs (6 attentions), 3 parity regs (19 attentions) */
+ 0x0000096c, 0x012e0001, 0x00000994, 0x012f0001, /* block yuld, 1 interrupt regs (6 attentions), 1 parity regs (6 attentions) */
+ 0x0000096c, 0x01300001, 0x0000099a, 0x01310003, /* block xyld, 1 interrupt regs (6 attentions), 3 parity regs (17 attentions) */
+ 0x0000096c, 0x01340001, 0x000009ab, 0x01350001, /* block ptld, 1 interrupt regs (6 attentions), 1 parity regs (8 attentions) */
+ 0x0000096c, 0x01360001, 0x000009ab, 0x01370001, /* block ypld, 1 interrupt regs (6 attentions), 1 parity regs (8 attentions) */
+ 0x000009b3, 0x01380001, 0x000009be, 0x01390004, /* block prm, 1 interrupt regs (11 attentions), 4 parity regs (30 attentions) */
+ 0x000009dc, 0x013d0001, 0x0000002e, 0x013e0001, /* block pbf_pb1, 1 interrupt regs (9 attentions), 1 parity regs (1 attentions) */
+ 0x000009dc, 0x013f0001, 0x0000002e, 0x01400001, /* block pbf_pb2, 1 interrupt regs (9 attentions), 1 parity regs (1 attentions) */
+ 0x000009dc, 0x01410001, 0x0000002e, 0x01420001, /* block rpb, 1 interrupt regs (9 attentions), 1 parity regs (1 attentions) */
+ 0x000009e5, 0x0143000b, 0x00000a66, 0x014e0005, /* block btb, 11 interrupt regs (129 attentions), 5 parity regs (44 attentions) */
+ 0x00000000, 0x01530001, 0x00000a92, 0x01540003, /* block pbf, 1 interrupt regs (1 attentions), 3 parity regs (59 attentions) */
+ 0x00000acd, 0x01570001, 0x0000002e, 0x01580001, /* block rdif, 1 interrupt regs (9 attentions), 1 parity regs (1 attentions) */
+ 0x00000acd, 0x01590001, 0x00000ad6, 0x015a0004, /* block tdif, 1 interrupt regs (9 attentions), 4 parity regs (13 attentions) */
+ 0x00000ae3, 0x015e0001, 0x00000aeb, 0x015f0003, /* block cdu, 1 interrupt regs (8 attentions), 3 parity regs (5 attentions) */
+ 0x00000af0, 0x01620001, 0x00000af2, 0x01630004, /* block ccfc, 1 interrupt regs (2 attentions), 4 parity regs (11 attentions) */
+ 0x00000af0, 0x01670001, 0x00000afd, 0x01680004, /* block tcfc, 1 interrupt regs (2 attentions), 4 parity regs (10 attentions) */
+ 0x00000b07, 0x016c0001, 0x00000b12, 0x016d0005, /* block igu, 1 interrupt regs (11 attentions), 5 parity regs (54 attentions) */
+ 0x00000b48, 0x01720001, 0x00000b53, 0x01730003, /* block cau, 1 interrupt regs (11 attentions), 3 parity regs (16 attentions) */
+ 0x000005b0, 0x01760001, 0x000005c6, 0x01770001, /* block rgfs, 1 interrupt regs (2 attentions), 1 parity regs (1 attentions) */
+ 0x00000000, 0x01780001, 0x00000968, 0x01790001, /* block rgsrc, 1 interrupt regs (1 attentions), 1 parity regs (2 attentions) */
+ 0x000005b0, 0x017a0001, 0x000005c6, 0x017b0001, /* block tgfs, 1 interrupt regs (2 attentions), 1 parity regs (1 attentions) */
+ 0x00000000, 0x017c0001, 0x00000968, 0x017d0001, /* block tgsrc, 1 interrupt regs (1 attentions), 1 parity regs (2 attentions) */
+ 0x00000b63, 0x017e0001, 0x00000000, 0x017f0000, /* block umac, 1 interrupt regs (2 attentions) */
+ 0x00000000, 0x017f0000, 0x00000000, 0x017f0000, /* block xmac */
+ 0x00000000, 0x017f0001, 0x00000050, 0x01800001, /* block dbg, 1 interrupt regs (1 attentions), 1 parity regs (1 attentions) */
+ 0x00000b65, 0x0181000b, 0x00000c43, 0x018c000e, /* block nig, 11 interrupt regs (222 attentions), 14 parity regs (121 attentions) */
+ 0x00000000, 0x019a0001, 0x00000cbc, 0x019b0001, /* block wol, 1 interrupt regs (1 attentions), 1 parity regs (24 attentions) */
+ 0x00000000, 0x019c0001, 0x00000000, 0x019d0000, /* block bmbn, 1 interrupt regs (1 attentions) */
+ 0x00000cd4, 0x019d0002, 0x00000ce1, 0x019f0001, /* block ipc, 2 interrupt regs (13 attentions), 1 parity regs (1 attentions) */
+ 0x00000ce2, 0x01a00001, 0x00000cf3, 0x01a10003, /* block nwm, 1 interrupt regs (17 attentions), 3 parity regs (72 attentions) */
+ 0x00000d3b, 0x01a40004, 0x00000d60, 0x01a80001, /* block nws, 4 interrupt regs (37 attentions), 1 parity regs (4 attentions) */
+ 0x00000000, 0x01a90001, 0x00000000, 0x01aa0000, /* block ms, 1 interrupt regs (1 attentions) */
+ 0x00000000, 0x01aa0000, 0x00000000, 0x01aa0000, /* block phy_pcie */
+ 0x00000000, 0x01aa0001, 0x00000000, 0x01ab0000, /* block led, 1 interrupt regs (1 attentions) */
+ 0x00000d64, 0x01ab0001, 0x00000d66, 0x01ac0001, /* block avs_wrap, 1 interrupt regs (2 attentions), 1 parity regs (3 attentions) */
+ 0x00000000, 0x01ad0000, 0x00000000, 0x01ad0000, /* block misc_aeu */
+ 0x00000000, 0x01ad0000, 0x00000000, 0x01ad0000, /* block bar0_map */
};
/* Data size: 1392 bytes */
diff --git a/sys/dev/qlnx/qlnxe/ecore_dcbx.c b/sys/dev/qlnx/qlnxe/ecore_dcbx.c
index 29f521f..1961a43 100644
--- a/sys/dev/qlnx/qlnxe/ecore_dcbx.c
+++ b/sys/dev/qlnx/qlnxe/ecore_dcbx.c
@@ -31,7 +31,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-
#include "bcm_osal.h"
#include "ecore.h"
#include "ecore_sp_commands.h"
@@ -61,13 +60,13 @@ __FBSDID("$FreeBSD$");
static bool ecore_dcbx_app_ethtype(u32 app_info_bitmap)
{
- return !!(ECORE_MFW_GET_FIELD(app_info_bitmap, DCBX_APP_SF) ==
+ return !!(GET_MFW_FIELD(app_info_bitmap, DCBX_APP_SF) ==
DCBX_APP_SF_ETHTYPE);
}
static bool ecore_dcbx_ieee_app_ethtype(u32 app_info_bitmap)
{
- u8 mfw_val = ECORE_MFW_GET_FIELD(app_info_bitmap, DCBX_APP_SF_IEEE);
+ u8 mfw_val = GET_MFW_FIELD(app_info_bitmap, DCBX_APP_SF_IEEE);
/* Old MFW */
if (mfw_val == DCBX_APP_SF_IEEE_RESERVED)
@@ -78,13 +77,13 @@ static bool ecore_dcbx_ieee_app_ethtype(u32 app_info_bitmap)
static bool ecore_dcbx_app_port(u32 app_info_bitmap)
{
- return !!(ECORE_MFW_GET_FIELD(app_info_bitmap, DCBX_APP_SF) ==
+ return !!(GET_MFW_FIELD(app_info_bitmap, DCBX_APP_SF) ==
DCBX_APP_SF_PORT);
}
static bool ecore_dcbx_ieee_app_port(u32 app_info_bitmap, u8 type)
{
- u8 mfw_val = ECORE_MFW_GET_FIELD(app_info_bitmap, DCBX_APP_SF_IEEE);
+ u8 mfw_val = GET_MFW_FIELD(app_info_bitmap, DCBX_APP_SF_IEEE);
/* Old MFW */
if (mfw_val == DCBX_APP_SF_IEEE_RESERVED)
@@ -240,7 +239,6 @@ ecore_dcbx_update_app_info(struct ecore_dcbx_results *p_data,
{
enum ecore_pci_personality personality;
enum dcbx_protocol_type id;
- char *name;
int i;
for (i = 0; i < OSAL_ARRAY_SIZE(ecore_dcbx_app_update); i++) {
@@ -250,7 +248,6 @@ ecore_dcbx_update_app_info(struct ecore_dcbx_results *p_data,
continue;
personality = ecore_dcbx_app_update[i].personality;
- name = ecore_dcbx_app_update[i].name;
ecore_dcbx_set_params(p_data, p_hwfn, enable,
prio, tc, type, personality);
@@ -338,10 +335,9 @@ ecore_dcbx_process_tlv(struct ecore_hwfn *p_hwfn,
ieee = (dcbx_version == DCBX_CONFIG_VERSION_IEEE);
/* Parse APP TLV */
for (i = 0; i < count; i++) {
- protocol_id = ECORE_MFW_GET_FIELD(p_tbl[i].entry,
- DCBX_APP_PROTOCOL_ID);
- priority_map = ECORE_MFW_GET_FIELD(p_tbl[i].entry,
- DCBX_APP_PRI_MAP);
+ protocol_id = GET_MFW_FIELD(p_tbl[i].entry,
+ DCBX_APP_PROTOCOL_ID);
+ priority_map = GET_MFW_FIELD(p_tbl[i].entry, DCBX_APP_PRI_MAP);
DP_VERBOSE(p_hwfn, ECORE_MSG_DCB, "Id = 0x%x pri_map = %u\n",
protocol_id, priority_map);
rc = ecore_dcbx_get_app_priority(priority_map, &priority);
@@ -394,17 +390,17 @@ static enum _ecore_status_t
ecore_dcbx_process_mib_info(struct ecore_hwfn *p_hwfn)
{
struct dcbx_app_priority_feature *p_app;
- enum _ecore_status_t rc = ECORE_SUCCESS;
- struct ecore_dcbx_results data = { 0 };
struct dcbx_app_priority_entry *p_tbl;
+ struct ecore_dcbx_results data = { 0 };
struct dcbx_ets_feature *p_ets;
struct ecore_hw_info *p_info;
u32 pri_tc_tbl, flags;
u8 dcbx_version;
int num_entries;
+ enum _ecore_status_t rc = ECORE_SUCCESS;
flags = p_hwfn->p_dcbx_info->operational.flags;
- dcbx_version = ECORE_MFW_GET_FIELD(flags, DCBX_CONFIG_VERSION);
+ dcbx_version = GET_MFW_FIELD(flags, DCBX_CONFIG_VERSION);
p_app = &p_hwfn->p_dcbx_info->operational.features.app;
p_tbl = p_app->app_pri_tbl;
@@ -413,15 +409,15 @@ ecore_dcbx_process_mib_info(struct ecore_hwfn *p_hwfn)
pri_tc_tbl = p_ets->pri_tc_tbl[0];
p_info = &p_hwfn->hw_info;
- num_entries = ECORE_MFW_GET_FIELD(p_app->flags, DCBX_APP_NUM_ENTRIES);
+ num_entries = GET_MFW_FIELD(p_app->flags, DCBX_APP_NUM_ENTRIES);
rc = ecore_dcbx_process_tlv(p_hwfn, &data, p_tbl, pri_tc_tbl,
num_entries, dcbx_version);
if (rc != ECORE_SUCCESS)
return rc;
- p_info->num_active_tc = ECORE_MFW_GET_FIELD(p_ets->flags, DCBX_ETS_MAX_TCS);
- p_hwfn->qm_info.ooo_tc = ECORE_MFW_GET_FIELD(p_ets->flags, DCBX_OOO_TC);
+ p_info->num_active_tc = GET_MFW_FIELD(p_ets->flags, DCBX_ETS_MAX_TCS);
+ p_hwfn->qm_info.ooo_tc = GET_MFW_FIELD(p_ets->flags, DCBX_OOO_TC);
data.pf_id = p_hwfn->rel_pf_id;
data.dcbx_enabled = !!dcbx_version;
@@ -439,9 +435,9 @@ ecore_dcbx_copy_mib(struct ecore_hwfn *p_hwfn,
struct ecore_dcbx_mib_meta_data *p_data,
enum ecore_mib_read_type type)
{
- enum _ecore_status_t rc = ECORE_SUCCESS;
u32 prefix_seq_num, suffix_seq_num;
int read_count = 0;
+ enum _ecore_status_t rc = ECORE_SUCCESS;
/* The data is considered to be valid only if both sequence numbers are
* the same.
@@ -526,26 +522,24 @@ ecore_dcbx_get_app_data(struct ecore_hwfn *p_hwfn,
u8 pri_map;
int i;
- p_params->app_willing = ECORE_MFW_GET_FIELD(p_app->flags,
- DCBX_APP_WILLING);
- p_params->app_valid = ECORE_MFW_GET_FIELD(p_app->flags,
- DCBX_APP_ENABLED);
- p_params->app_error = ECORE_MFW_GET_FIELD(p_app->flags, DCBX_APP_ERROR);
- p_params->num_app_entries = ECORE_MFW_GET_FIELD(p_app->flags,
- DCBX_APP_NUM_ENTRIES);
+ p_params->app_willing = GET_MFW_FIELD(p_app->flags, DCBX_APP_WILLING);
+ p_params->app_valid = GET_MFW_FIELD(p_app->flags, DCBX_APP_ENABLED);
+ p_params->app_error = GET_MFW_FIELD(p_app->flags, DCBX_APP_ERROR);
+ p_params->num_app_entries = GET_MFW_FIELD(p_app->flags,
+ DCBX_APP_NUM_ENTRIES);
for (i = 0; i < DCBX_MAX_APP_PROTOCOL; i++) {
entry = &p_params->app_entry[i];
if (ieee) {
u8 sf_ieee;
u32 val;
- sf_ieee = ECORE_MFW_GET_FIELD(p_tbl[i].entry,
- DCBX_APP_SF_IEEE);
+ sf_ieee = GET_MFW_FIELD(p_tbl[i].entry,
+ DCBX_APP_SF_IEEE);
switch (sf_ieee) {
case DCBX_APP_SF_IEEE_RESERVED:
/* Old MFW */
- val = ECORE_MFW_GET_FIELD(p_tbl[i].entry,
- DCBX_APP_SF);
+ val = GET_MFW_FIELD(p_tbl[i].entry,
+ DCBX_APP_SF);
entry->sf_ieee = val ?
ECORE_DCBX_SF_IEEE_TCP_UDP_PORT :
ECORE_DCBX_SF_IEEE_ETHTYPE;
@@ -564,14 +558,14 @@ ecore_dcbx_get_app_data(struct ecore_hwfn *p_hwfn,
break;
}
} else {
- entry->ethtype = !(ECORE_MFW_GET_FIELD(p_tbl[i].entry,
- DCBX_APP_SF));
+ entry->ethtype = !(GET_MFW_FIELD(p_tbl[i].entry,
+ DCBX_APP_SF));
}
- pri_map = ECORE_MFW_GET_FIELD(p_tbl[i].entry, DCBX_APP_PRI_MAP);
+ pri_map = GET_MFW_FIELD(p_tbl[i].entry, DCBX_APP_PRI_MAP);
ecore_dcbx_get_app_priority(pri_map, &entry->prio);
- entry->proto_id = ECORE_MFW_GET_FIELD(p_tbl[i].entry,
- DCBX_APP_PROTOCOL_ID);
+ entry->proto_id = GET_MFW_FIELD(p_tbl[i].entry,
+ DCBX_APP_PROTOCOL_ID);
ecore_dcbx_get_app_protocol_type(p_hwfn, p_tbl[i].entry,
entry->proto_id,
&entry->proto_type, ieee);
@@ -589,10 +583,10 @@ ecore_dcbx_get_pfc_data(struct ecore_hwfn *p_hwfn,
{
u8 pfc_map;
- p_params->pfc.willing = ECORE_MFW_GET_FIELD(pfc, DCBX_PFC_WILLING);
- p_params->pfc.max_tc = ECORE_MFW_GET_FIELD(pfc, DCBX_PFC_CAPS);
- p_params->pfc.enabled = ECORE_MFW_GET_FIELD(pfc, DCBX_PFC_ENABLED);
- pfc_map = ECORE_MFW_GET_FIELD(pfc, DCBX_PFC_PRI_EN_BITMAP);
+ p_params->pfc.willing = GET_MFW_FIELD(pfc, DCBX_PFC_WILLING);
+ p_params->pfc.max_tc = GET_MFW_FIELD(pfc, DCBX_PFC_CAPS);
+ p_params->pfc.enabled = GET_MFW_FIELD(pfc, DCBX_PFC_ENABLED);
+ pfc_map = GET_MFW_FIELD(pfc, DCBX_PFC_PRI_EN_BITMAP);
p_params->pfc.prio[0] = !!(pfc_map & DCBX_PFC_PRI_EN_BITMAP_PRI_0);
p_params->pfc.prio[1] = !!(pfc_map & DCBX_PFC_PRI_EN_BITMAP_PRI_1);
p_params->pfc.prio[2] = !!(pfc_map & DCBX_PFC_PRI_EN_BITMAP_PRI_2);
@@ -616,13 +610,10 @@ ecore_dcbx_get_ets_data(struct ecore_hwfn *p_hwfn,
u32 bw_map[2], tsa_map[2], pri_map;
int i;
- p_params->ets_willing = ECORE_MFW_GET_FIELD(p_ets->flags,
- DCBX_ETS_WILLING);
- p_params->ets_enabled = ECORE_MFW_GET_FIELD(p_ets->flags,
- DCBX_ETS_ENABLED);
- p_params->ets_cbs = ECORE_MFW_GET_FIELD(p_ets->flags, DCBX_ETS_CBS);
- p_params->max_ets_tc = ECORE_MFW_GET_FIELD(p_ets->flags,
- DCBX_ETS_MAX_TCS);
+ p_params->ets_willing = GET_MFW_FIELD(p_ets->flags, DCBX_ETS_WILLING);
+ p_params->ets_enabled = GET_MFW_FIELD(p_ets->flags, DCBX_ETS_ENABLED);
+ p_params->ets_cbs = GET_MFW_FIELD(p_ets->flags, DCBX_ETS_CBS);
+ p_params->max_ets_tc = GET_MFW_FIELD(p_ets->flags, DCBX_ETS_MAX_TCS);
DP_VERBOSE(p_hwfn, ECORE_MSG_DCB,
"ETS params: willing %d, enabled = %d ets_cbs %d pri_tc_tbl_0 %x max_ets_tc %d\n",
p_params->ets_willing, p_params->ets_enabled,
@@ -669,7 +660,6 @@ ecore_dcbx_get_common_params(struct ecore_hwfn *p_hwfn,
static void
ecore_dcbx_get_local_params(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
struct ecore_dcbx_get *params)
{
struct dcbx_features *p_feat;
@@ -683,7 +673,6 @@ ecore_dcbx_get_local_params(struct ecore_hwfn *p_hwfn,
static void
ecore_dcbx_get_remote_params(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
struct ecore_dcbx_get *params)
{
struct dcbx_features *p_feat;
@@ -698,7 +687,6 @@ ecore_dcbx_get_remote_params(struct ecore_hwfn *p_hwfn,
static enum _ecore_status_t
ecore_dcbx_get_operational_params(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
struct ecore_dcbx_get *params)
{
struct ecore_dcbx_operational_params *p_operational;
@@ -714,7 +702,7 @@ ecore_dcbx_get_operational_params(struct ecore_hwfn *p_hwfn,
* was successfuly performed
*/
p_operational = &params->operational;
- enabled = !!(ECORE_MFW_GET_FIELD(flags, DCBX_CONFIG_VERSION) !=
+ enabled = !!(GET_MFW_FIELD(flags, DCBX_CONFIG_VERSION) !=
DCBX_CONFIG_VERSION_DISABLED);
if (!enabled) {
p_operational->enabled = enabled;
@@ -726,15 +714,15 @@ ecore_dcbx_get_operational_params(struct ecore_hwfn *p_hwfn,
p_feat = &p_hwfn->p_dcbx_info->operational.features;
p_results = &p_hwfn->p_dcbx_info->results;
- val = !!(ECORE_MFW_GET_FIELD(flags, DCBX_CONFIG_VERSION) ==
+ val = !!(GET_MFW_FIELD(flags, DCBX_CONFIG_VERSION) ==
DCBX_CONFIG_VERSION_IEEE);
p_operational->ieee = val;
- val = !!(ECORE_MFW_GET_FIELD(flags, DCBX_CONFIG_VERSION) ==
+ val = !!(GET_MFW_FIELD(flags, DCBX_CONFIG_VERSION) ==
DCBX_CONFIG_VERSION_CEE);
p_operational->cee = val;
- val = !!(ECORE_MFW_GET_FIELD(flags, DCBX_CONFIG_VERSION) ==
+ val = !!(GET_MFW_FIELD(flags, DCBX_CONFIG_VERSION) ==
DCBX_CONFIG_VERSION_STATIC);
p_operational->local = val;
@@ -749,7 +737,7 @@ ecore_dcbx_get_operational_params(struct ecore_hwfn *p_hwfn,
p_operational->ieee);
ecore_dcbx_get_priority_info(p_hwfn, &p_operational->app_prio,
p_results);
- err = ECORE_MFW_GET_FIELD(p_feat->app.flags, DCBX_APP_ERROR);
+ err = GET_MFW_FIELD(p_feat->app.flags, DCBX_APP_ERROR);
p_operational->err = err;
p_operational->enabled = enabled;
p_operational->valid = true;
@@ -757,10 +745,8 @@ ecore_dcbx_get_operational_params(struct ecore_hwfn *p_hwfn,
return ECORE_SUCCESS;
}
-static void
-ecore_dcbx_get_dscp_params(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- struct ecore_dcbx_get *params)
+static void ecore_dcbx_get_dscp_params(struct ecore_hwfn *p_hwfn,
+ struct ecore_dcbx_get *params)
{
struct ecore_dcbx_dscp_params *p_dscp;
struct dcb_dscp_map *p_dscp_map;
@@ -769,8 +755,8 @@ ecore_dcbx_get_dscp_params(struct ecore_hwfn *p_hwfn,
p_dscp = &params->dscp;
p_dscp_map = &p_hwfn->p_dcbx_info->dscp_map;
- p_dscp->enabled = ECORE_MFW_GET_FIELD(p_dscp_map->flags,
- DCB_DSCP_ENABLE);
+ p_dscp->enabled = GET_MFW_FIELD(p_dscp_map->flags, DCB_DSCP_ENABLE);
+
/* MFW encodes 64 dscp entries into 8 element array of u32 entries,
* where each entry holds the 4bit priority map for 8 dscp entries.
*/
@@ -784,10 +770,8 @@ ecore_dcbx_get_dscp_params(struct ecore_hwfn *p_hwfn,
}
}
-static void
-ecore_dcbx_get_local_lldp_params(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- struct ecore_dcbx_get *params)
+static void ecore_dcbx_get_local_lldp_params(struct ecore_hwfn *p_hwfn,
+ struct ecore_dcbx_get *params)
{
struct lldp_config_params_s *p_local;
@@ -800,10 +784,8 @@ ecore_dcbx_get_local_lldp_params(struct ecore_hwfn *p_hwfn,
OSAL_ARRAY_SIZE(p_local->local_port_id));
}
-static void
-ecore_dcbx_get_remote_lldp_params(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- struct ecore_dcbx_get *params)
+static void ecore_dcbx_get_remote_lldp_params(struct ecore_hwfn *p_hwfn,
+ struct ecore_dcbx_get *params)
{
struct lldp_status_params_s *p_remote;
@@ -817,34 +799,32 @@ ecore_dcbx_get_remote_lldp_params(struct ecore_hwfn *p_hwfn,
}
static enum _ecore_status_t
-ecore_dcbx_get_params(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
+ecore_dcbx_get_params(struct ecore_hwfn *p_hwfn,
struct ecore_dcbx_get *p_params,
enum ecore_mib_read_type type)
{
- enum _ecore_status_t rc = ECORE_SUCCESS;
-
switch (type) {
case ECORE_DCBX_REMOTE_MIB:
- ecore_dcbx_get_remote_params(p_hwfn, p_ptt, p_params);
+ ecore_dcbx_get_remote_params(p_hwfn, p_params);
break;
case ECORE_DCBX_LOCAL_MIB:
- ecore_dcbx_get_local_params(p_hwfn, p_ptt, p_params);
+ ecore_dcbx_get_local_params(p_hwfn, p_params);
break;
case ECORE_DCBX_OPERATIONAL_MIB:
- ecore_dcbx_get_operational_params(p_hwfn, p_ptt, p_params);
+ ecore_dcbx_get_operational_params(p_hwfn, p_params);
break;
case ECORE_DCBX_REMOTE_LLDP_MIB:
- ecore_dcbx_get_remote_lldp_params(p_hwfn, p_ptt, p_params);
+ ecore_dcbx_get_remote_lldp_params(p_hwfn, p_params);
break;
case ECORE_DCBX_LOCAL_LLDP_MIB:
- ecore_dcbx_get_local_lldp_params(p_hwfn, p_ptt, p_params);
+ ecore_dcbx_get_local_lldp_params(p_hwfn, p_params);
break;
default:
DP_ERR(p_hwfn, "MIB read err, unknown mib type %d\n", type);
return ECORE_INVAL;
}
- return rc;
+ return ECORE_SUCCESS;
}
static enum _ecore_status_t
@@ -993,25 +973,17 @@ ecore_dcbx_mib_update_event(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
return rc;
if (type == ECORE_DCBX_OPERATIONAL_MIB) {
- ecore_dcbx_get_dscp_params(p_hwfn, p_ptt,
- &p_hwfn->p_dcbx_info->get);
+ ecore_dcbx_get_dscp_params(p_hwfn, &p_hwfn->p_dcbx_info->get);
rc = ecore_dcbx_process_mib_info(p_hwfn);
if (!rc) {
- bool enabled;
-
/* reconfigure tcs of QM queues according
* to negotiation results
*/
ecore_qm_reconf(p_hwfn, p_ptt);
/* update storm FW with negotiation results */
- ecore_sp_pf_update(p_hwfn);
-
- /* set eagle enigne 1 flow control workaround
- * according to negotiation results
- */
- enabled = p_hwfn->p_dcbx_info->results.dcbx_enabled;
+ ecore_sp_pf_update_dcbx(p_hwfn);
#ifdef CONFIG_ECORE_ROCE
/* for roce PFs, we may want to enable/disable DPM
@@ -1023,7 +995,7 @@ ecore_dcbx_mib_update_event(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
}
}
- ecore_dcbx_get_params(p_hwfn, p_ptt, &p_hwfn->p_dcbx_info->get, type);
+ ecore_dcbx_get_params(p_hwfn, &p_hwfn->p_dcbx_info->get, type);
if (type == ECORE_DCBX_OPERATIONAL_MIB) {
struct ecore_dcbx_results *p_data;
@@ -1153,7 +1125,7 @@ enum _ecore_status_t ecore_dcbx_query_params(struct ecore_hwfn *p_hwfn,
if (rc != ECORE_SUCCESS)
goto out;
- rc = ecore_dcbx_get_params(p_hwfn, p_ptt, p_get, type);
+ rc = ecore_dcbx_get_params(p_hwfn, p_get, type);
out:
ecore_ptt_release(p_hwfn, p_ptt);
@@ -1180,13 +1152,13 @@ ecore_dcbx_set_pfc_data(struct ecore_hwfn *p_hwfn,
*pfc &= ~DCBX_PFC_ENABLED_MASK;
*pfc &= ~DCBX_PFC_CAPS_MASK;
- *pfc |= (u32)p_params->pfc.max_tc << DCBX_PFC_CAPS_SHIFT;
+ *pfc |= (u32)p_params->pfc.max_tc << DCBX_PFC_CAPS_OFFSET;
for (i = 0; i < ECORE_MAX_PFC_PRIORITIES; i++)
if (p_params->pfc.prio[i])
pfc_map |= (1 << i);
*pfc &= ~DCBX_PFC_PRI_EN_BITMAP_MASK;
- *pfc |= (pfc_map << DCBX_PFC_PRI_EN_BITMAP_SHIFT);
+ *pfc |= (pfc_map << DCBX_PFC_PRI_EN_BITMAP_OFFSET);
DP_VERBOSE(p_hwfn, ECORE_MSG_DCB, "pfc = 0x%x\n", *pfc);
}
@@ -1216,7 +1188,7 @@ ecore_dcbx_set_ets_data(struct ecore_hwfn *p_hwfn,
p_ets->flags &= ~DCBX_ETS_ENABLED_MASK;
p_ets->flags &= ~DCBX_ETS_MAX_TCS_MASK;
- p_ets->flags |= (u32)p_params->max_ets_tc << DCBX_ETS_MAX_TCS_SHIFT;
+ p_ets->flags |= (u32)p_params->max_ets_tc << DCBX_ETS_MAX_TCS_OFFSET;
bw_map = (u8 *)&p_ets->tc_bw_tbl[0];
tsa_map = (u8 *)&p_ets->tc_tsa_tbl[0];
@@ -1262,7 +1234,7 @@ ecore_dcbx_set_app_data(struct ecore_hwfn *p_hwfn,
p_app->flags &= ~DCBX_APP_NUM_ENTRIES_MASK;
p_app->flags |= (u32)p_params->num_app_entries <<
- DCBX_APP_NUM_ENTRIES_SHIFT;
+ DCBX_APP_NUM_ENTRIES_OFFSET;
for (i = 0; i < DCBX_MAX_APP_PROTOCOL; i++) {
entry = &p_app->app_pri_tbl[i].entry;
@@ -1272,44 +1244,44 @@ ecore_dcbx_set_app_data(struct ecore_hwfn *p_hwfn,
switch (p_params->app_entry[i].sf_ieee) {
case ECORE_DCBX_SF_IEEE_ETHTYPE:
*entry |= ((u32)DCBX_APP_SF_IEEE_ETHTYPE <<
- DCBX_APP_SF_IEEE_SHIFT);
+ DCBX_APP_SF_IEEE_OFFSET);
*entry |= ((u32)DCBX_APP_SF_ETHTYPE <<
- DCBX_APP_SF_SHIFT);
+ DCBX_APP_SF_OFFSET);
break;
case ECORE_DCBX_SF_IEEE_TCP_PORT:
*entry |= ((u32)DCBX_APP_SF_IEEE_TCP_PORT <<
- DCBX_APP_SF_IEEE_SHIFT);
+ DCBX_APP_SF_IEEE_OFFSET);
*entry |= ((u32)DCBX_APP_SF_PORT <<
- DCBX_APP_SF_SHIFT);
+ DCBX_APP_SF_OFFSET);
break;
case ECORE_DCBX_SF_IEEE_UDP_PORT:
*entry |= ((u32)DCBX_APP_SF_IEEE_UDP_PORT <<
- DCBX_APP_SF_IEEE_SHIFT);
+ DCBX_APP_SF_IEEE_OFFSET);
*entry |= ((u32)DCBX_APP_SF_PORT <<
- DCBX_APP_SF_SHIFT);
+ DCBX_APP_SF_OFFSET);
break;
case ECORE_DCBX_SF_IEEE_TCP_UDP_PORT:
*entry |= (u32)DCBX_APP_SF_IEEE_TCP_UDP_PORT <<
- DCBX_APP_SF_IEEE_SHIFT;
+ DCBX_APP_SF_IEEE_OFFSET;
*entry |= ((u32)DCBX_APP_SF_PORT <<
- DCBX_APP_SF_SHIFT);
+ DCBX_APP_SF_OFFSET);
break;
}
} else {
*entry &= ~DCBX_APP_SF_MASK;
if (p_params->app_entry[i].ethtype)
*entry |= ((u32)DCBX_APP_SF_ETHTYPE <<
- DCBX_APP_SF_SHIFT);
+ DCBX_APP_SF_OFFSET);
else
*entry |= ((u32)DCBX_APP_SF_PORT <<
- DCBX_APP_SF_SHIFT);
+ DCBX_APP_SF_OFFSET);
}
*entry &= ~DCBX_APP_PROTOCOL_ID_MASK;
*entry |= ((u32)p_params->app_entry[i].proto_id <<
- DCBX_APP_PROTOCOL_ID_SHIFT);
+ DCBX_APP_PROTOCOL_ID_OFFSET);
*entry &= ~DCBX_APP_PRI_MAP_MASK;
*entry |= ((u32)(p_params->app_entry[i].prio) <<
- DCBX_APP_PRI_MAP_SHIFT);
+ DCBX_APP_PRI_MAP_OFFSET);
}
DP_VERBOSE(p_hwfn, ECORE_MSG_DCB, "flags = 0x%x\n", p_app->flags);
@@ -1422,12 +1394,10 @@ enum _ecore_status_t ecore_dcbx_config_params(struct ecore_hwfn *p_hwfn,
}
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_SET_DCBX,
- 1 << DRV_MB_PARAM_LLDP_SEND_SHIFT, &resp, &param);
- if (rc != ECORE_SUCCESS) {
+ 1 << DRV_MB_PARAM_LLDP_SEND_OFFSET, &resp, &param);
+ if (rc != ECORE_SUCCESS)
DP_NOTICE(p_hwfn, false,
"Failed to send DCBX update request\n");
- return rc;
- }
return rc;
}
diff --git a/sys/dev/qlnx/qlnxe/ecore_dcbx.h b/sys/dev/qlnx/qlnxe/ecore_dcbx.h
index a42e9f3..81b515e 100644
--- a/sys/dev/qlnx/qlnxe/ecore_dcbx.h
+++ b/sys/dev/qlnx/qlnxe/ecore_dcbx.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_DCBX_H__
#define __ECORE_DCBX_H__
diff --git a/sys/dev/qlnx/qlnxe/ecore_dev.c b/sys/dev/qlnx/qlnxe/ecore_dev.c
index d6726ca5..6aca38b 100644
--- a/sys/dev/qlnx/qlnxe/ecore_dev.c
+++ b/sys/dev/qlnx/qlnxe/ecore_dev.c
@@ -31,7 +31,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-
#include "bcm_osal.h"
#include "reg_addr.h"
#include "ecore_gtt_reg_addr.h"
@@ -74,6 +73,285 @@ __FBSDID("$FreeBSD$");
static osal_spinlock_t qm_lock;
static bool qm_lock_init = false;
+/******************** Doorbell Recovery *******************/
+/* The doorbell recovery mechanism consists of a list of entries which represent
+ * doorbelling entities (l2 queues, roce sq/rq/cqs, the slowpath spq, etc). Each
+ * entity needs to register with the mechanism and provide the parameters
+ * describing it's doorbell, including a location where last used doorbell data
+ * can be found. The doorbell execute function will traverse the list and
+ * doorbell all of the registered entries.
+ */
+struct ecore_db_recovery_entry {
+ osal_list_entry_t list_entry;
+ void OSAL_IOMEM *db_addr;
+ void *db_data;
+ enum ecore_db_rec_width db_width;
+ enum ecore_db_rec_space db_space;
+ u8 hwfn_idx;
+};
+
+/* display a single doorbell recovery entry */
+static void ecore_db_recovery_dp_entry(struct ecore_hwfn *p_hwfn,
+ struct ecore_db_recovery_entry *db_entry,
+ char *action)
+{
+ DP_VERBOSE(p_hwfn, ECORE_MSG_SPQ, "(%s: db_entry %p, addr %p, data %p, width %s, %s space, hwfn %d)\n",
+ action, db_entry, db_entry->db_addr, db_entry->db_data,
+ db_entry->db_width == DB_REC_WIDTH_32B ? "32b" : "64b",
+ db_entry->db_space == DB_REC_USER ? "user" : "kernel",
+ db_entry->hwfn_idx);
+}
+
+/* doorbell address sanity (address within doorbell bar range) */
+static bool ecore_db_rec_sanity(struct ecore_dev *p_dev, void OSAL_IOMEM *db_addr)
+{
+ if (db_addr < p_dev->doorbells || db_addr >
+ (void OSAL_IOMEM *)((uint8_t *)p_dev->doorbells + p_dev->db_size)) {
+ OSAL_WARN(true,
+ "Illegal doorbell address: %p. Legal range for doorbell addresses is [%p..%p]\n",
+ db_addr, p_dev->doorbells,
+ (void *)((uint8_t *)p_dev->doorbells + p_dev->db_size));
+ return false;
+ } else {
+ return true;
+ }
+}
+
+/* find hwfn according to the doorbell address */
+static struct ecore_hwfn *ecore_db_rec_find_hwfn(struct ecore_dev *p_dev,
+ void OSAL_IOMEM *db_addr)
+{
+ struct ecore_hwfn *p_hwfn;
+
+ /* in CMT doorbell bar is split down the middle between engine 0 and enigne 1 */
+ if (p_dev->num_hwfns > 1)
+ p_hwfn = db_addr < p_dev->hwfns[1].doorbells ?
+ &p_dev->hwfns[0] : &p_dev->hwfns[1];
+ else
+ p_hwfn = ECORE_LEADING_HWFN(p_dev);
+
+ return p_hwfn;
+}
+
+/* add a new entry to the doorbell recovery mechanism */
+enum _ecore_status_t ecore_db_recovery_add(struct ecore_dev *p_dev,
+ void OSAL_IOMEM *db_addr,
+ void *db_data,
+ enum ecore_db_rec_width db_width,
+ enum ecore_db_rec_space db_space)
+{
+ struct ecore_db_recovery_entry *db_entry;
+ struct ecore_hwfn *p_hwfn;
+
+ /* shortcircuit VFs, for now */
+ if (IS_VF(p_dev)) {
+ DP_VERBOSE(p_dev, ECORE_MSG_IOV, "db recovery - skipping VF doorbell\n");
+ return ECORE_SUCCESS;
+ }
+
+ /* sanitize doorbell address */
+ if (!ecore_db_rec_sanity(p_dev, db_addr))
+ return ECORE_INVAL;
+
+ /* obtain hwfn from doorbell address */
+ p_hwfn = ecore_db_rec_find_hwfn(p_dev, db_addr);
+
+ /* create entry */
+ db_entry = OSAL_ZALLOC(p_hwfn->p_dev, GFP_KERNEL, sizeof(*db_entry));
+ if (!db_entry) {
+ DP_NOTICE(p_dev, false, "Failed to allocate a db recovery entry\n");
+ return ECORE_NOMEM;
+ }
+
+ /* populate entry */
+ db_entry->db_addr = db_addr;
+ db_entry->db_data = db_data;
+ db_entry->db_width = db_width;
+ db_entry->db_space = db_space;
+ db_entry->hwfn_idx = p_hwfn->my_id;
+
+ /* display */
+ ecore_db_recovery_dp_entry(p_hwfn, db_entry, "Adding");
+
+ /* protect the list */
+ OSAL_SPIN_LOCK(&p_hwfn->db_recovery_info.lock);
+ OSAL_LIST_PUSH_TAIL(&db_entry->list_entry,
+ &p_hwfn->db_recovery_info.list);
+ OSAL_SPIN_UNLOCK(&p_hwfn->db_recovery_info.lock);
+
+ return ECORE_SUCCESS;
+}
+
+/* remove an entry from the doorbell recovery mechanism */
+enum _ecore_status_t ecore_db_recovery_del(struct ecore_dev *p_dev,
+ void OSAL_IOMEM *db_addr,
+ void *db_data)
+{
+ struct ecore_db_recovery_entry *db_entry = OSAL_NULL;
+ enum _ecore_status_t rc = ECORE_INVAL;
+ struct ecore_hwfn *p_hwfn;
+
+ /* shortcircuit VFs, for now */
+ if (IS_VF(p_dev)) {
+ DP_VERBOSE(p_dev, ECORE_MSG_IOV, "db recovery - skipping VF doorbell\n");
+ return ECORE_SUCCESS;
+ }
+
+ /* sanitize doorbell address */
+ if (!ecore_db_rec_sanity(p_dev, db_addr))
+ return ECORE_INVAL;
+
+ /* obtain hwfn from doorbell address */
+ p_hwfn = ecore_db_rec_find_hwfn(p_dev, db_addr);
+
+ /* protect the list */
+ OSAL_SPIN_LOCK(&p_hwfn->db_recovery_info.lock);
+ OSAL_LIST_FOR_EACH_ENTRY(db_entry,
+ &p_hwfn->db_recovery_info.list,
+ list_entry,
+ struct ecore_db_recovery_entry) {
+
+ /* search according to db_data addr since db_addr is not unique (roce) */
+ if (db_entry->db_data == db_data) {
+ ecore_db_recovery_dp_entry(p_hwfn, db_entry, "Deleting");
+ OSAL_LIST_REMOVE_ENTRY(&db_entry->list_entry,
+ &p_hwfn->db_recovery_info.list);
+ rc = ECORE_SUCCESS;
+ break;
+ }
+ }
+
+ OSAL_SPIN_UNLOCK(&p_hwfn->db_recovery_info.lock);
+
+ if (rc == ECORE_INVAL) {
+ OSAL_WARN(true, "Failed to find element in list. Key (db_data addr) was %p. db_addr was %p\n",
+ db_data, db_addr);
+ } else {
+ OSAL_FREE(p_dev, db_entry);
+ }
+
+ return rc;
+}
+
+/* initialize the doorbell recovery mechanism */
+static void ecore_db_recovery_setup(struct ecore_hwfn *p_hwfn)
+{
+ DP_VERBOSE(p_hwfn, ECORE_MSG_SPQ, "Setting up db recovery\n");
+ OSAL_LIST_INIT(&p_hwfn->db_recovery_info.list);
+#ifdef CONFIG_ECORE_LOCK_ALLOC
+ OSAL_SPIN_LOCK_ALLOC(p_hwfn, &p_hwfn->db_recovery_info.lock);
+#endif
+ OSAL_SPIN_LOCK_INIT(&p_hwfn->db_recovery_info.lock);
+ p_hwfn->db_recovery_info.db_recovery_counter = 0;
+}
+
+/* destroy the doorbell recovery mechanism */
+static void ecore_db_recovery_teardown(struct ecore_hwfn *p_hwfn)
+{
+ struct ecore_db_recovery_entry *db_entry = OSAL_NULL;
+
+ DP_VERBOSE(p_hwfn, ECORE_MSG_SPQ, "Tearing down db recovery\n");
+ if (!OSAL_LIST_IS_EMPTY(&p_hwfn->db_recovery_info.list)) {
+ DP_VERBOSE(p_hwfn, false, "Doorbell Recovery teardown found the doorbell recovery list was not empty (Expected in disorderly driver unload (e.g. recovery) otherwise this probably means some flow forgot to db_recovery_del). Prepare to purge doorbell recovery list...\n");
+ while (!OSAL_LIST_IS_EMPTY(&p_hwfn->db_recovery_info.list)) {
+ db_entry = OSAL_LIST_FIRST_ENTRY(&p_hwfn->db_recovery_info.list,
+ struct ecore_db_recovery_entry,
+ list_entry);
+ ecore_db_recovery_dp_entry(p_hwfn, db_entry, "Purging");
+ OSAL_LIST_REMOVE_ENTRY(&db_entry->list_entry,
+ &p_hwfn->db_recovery_info.list);
+ OSAL_FREE(p_hwfn->p_dev, db_entry);
+ }
+ }
+#ifdef CONFIG_ECORE_LOCK_ALLOC
+ OSAL_SPIN_LOCK_DEALLOC(&p_hwfn->db_recovery_info.lock);
+#endif
+ p_hwfn->db_recovery_info.db_recovery_counter = 0;
+}
+
+/* print the content of the doorbell recovery mechanism */
+void ecore_db_recovery_dp(struct ecore_hwfn *p_hwfn)
+{
+ struct ecore_db_recovery_entry *db_entry = OSAL_NULL;
+
+ DP_NOTICE(p_hwfn, false,
+ "Dispalying doorbell recovery database. Counter was %d\n",
+ p_hwfn->db_recovery_info.db_recovery_counter);
+
+ /* protect the list */
+ OSAL_SPIN_LOCK(&p_hwfn->db_recovery_info.lock);
+ OSAL_LIST_FOR_EACH_ENTRY(db_entry,
+ &p_hwfn->db_recovery_info.list,
+ list_entry,
+ struct ecore_db_recovery_entry) {
+ ecore_db_recovery_dp_entry(p_hwfn, db_entry, "Printing");
+ }
+
+ OSAL_SPIN_UNLOCK(&p_hwfn->db_recovery_info.lock);
+}
+
+/* ring the doorbell of a single doorbell recovery entry */
+static void ecore_db_recovery_ring(struct ecore_hwfn *p_hwfn,
+ struct ecore_db_recovery_entry *db_entry,
+ enum ecore_db_rec_exec db_exec)
+{
+ /* Print according to width */
+ if (db_entry->db_width == DB_REC_WIDTH_32B)
+ DP_VERBOSE(p_hwfn, ECORE_MSG_SPQ, "%s doorbell address %p data %x\n",
+ db_exec == DB_REC_DRY_RUN ? "would have rung" : "ringing",
+ db_entry->db_addr, *(u32 *)db_entry->db_data);
+ else
+ DP_VERBOSE(p_hwfn, ECORE_MSG_SPQ, "%s doorbell address %p data %llx\n",
+ db_exec == DB_REC_DRY_RUN ? "would have rung" : "ringing",
+ db_entry->db_addr, (unsigned long long)*(u64 *)(db_entry->db_data));
+
+ /* Sanity */
+ if (!ecore_db_rec_sanity(p_hwfn->p_dev, db_entry->db_addr))
+ return;
+
+ /* Flush the write combined buffer. Since there are multiple doorbelling
+ * entities using the same address, if we don't flush, a transaction
+ * could be lost.
+ */
+ OSAL_WMB(p_hwfn->p_dev);
+
+ /* Ring the doorbell */
+ if (db_exec == DB_REC_REAL_DEAL) {
+ if (db_entry->db_width == DB_REC_WIDTH_32B)
+ DIRECT_REG_WR(p_hwfn, db_entry->db_addr, *(u32 *)(db_entry->db_data));
+ else
+ DIRECT_REG_WR64(p_hwfn, db_entry->db_addr, *(u64 *)(db_entry->db_data));
+ }
+
+ /* Flush the write combined buffer. Next doorbell may come from a
+ * different entity to the same address...
+ */
+ OSAL_WMB(p_hwfn->p_dev);
+}
+
+/* traverse the doorbell recovery entry list and ring all the doorbells */
+void ecore_db_recovery_execute(struct ecore_hwfn *p_hwfn,
+ enum ecore_db_rec_exec db_exec)
+{
+ struct ecore_db_recovery_entry *db_entry = OSAL_NULL;
+
+ DP_NOTICE(p_hwfn, false, "Executing doorbell recovery. Counter was %d\n",
+ p_hwfn->db_recovery_info.db_recovery_counter);
+
+ /* protect the list */
+ OSAL_SPIN_LOCK(&p_hwfn->db_recovery_info.lock);
+ OSAL_LIST_FOR_EACH_ENTRY(db_entry,
+ &p_hwfn->db_recovery_info.list,
+ list_entry,
+ struct ecore_db_recovery_entry)
+ ecore_db_recovery_ring(p_hwfn, db_entry, db_exec);
+ OSAL_SPIN_UNLOCK(&p_hwfn->db_recovery_info.lock);
+
+ /* track amount of times recovery was executed */
+ p_hwfn->db_recovery_info.db_recovery_counter++;
+}
+/******************** Doorbell Recovery end ****************/
+
/* Configurable */
#define ECORE_MIN_DPIS (4) /* The minimal number of DPIs required to
* load the driver. The number was
@@ -81,14 +359,16 @@ static bool qm_lock_init = false;
*/
/* Derived */
-#define ECORE_MIN_PWM_REGION ((ECORE_WID_SIZE) * (ECORE_MIN_DPIS))
+#define ECORE_MIN_PWM_REGION (ECORE_WID_SIZE * ECORE_MIN_DPIS)
enum BAR_ID {
BAR_ID_0, /* used for GRC */
BAR_ID_1 /* Used for doorbells */
};
-static u32 ecore_hw_bar_size(struct ecore_hwfn *p_hwfn, enum BAR_ID bar_id)
+static u32 ecore_hw_bar_size(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
+ enum BAR_ID bar_id)
{
u32 bar_reg = (bar_id == BAR_ID_0 ?
PGLUE_B_REG_PF_BAR0_SIZE : PGLUE_B_REG_PF_BAR1_SIZE);
@@ -102,7 +382,7 @@ static u32 ecore_hw_bar_size(struct ecore_hwfn *p_hwfn, enum BAR_ID bar_id)
return 1 << 17;
}
- val = ecore_rd(p_hwfn, p_hwfn->p_main_ptt, bar_reg);
+ val = ecore_rd(p_hwfn, p_ptt, bar_reg);
if (val)
return 1 << (val + 15);
@@ -111,12 +391,12 @@ static u32 ecore_hw_bar_size(struct ecore_hwfn *p_hwfn, enum BAR_ID bar_id)
* In older MFW versions they are set to 0 which means disabled.
*/
if (p_hwfn->p_dev->num_hwfns > 1) {
- DP_NOTICE(p_hwfn, false,
- "BAR size not configured. Assuming BAR size of 256kB for GRC and 512kB for DB\n");
+ DP_INFO(p_hwfn,
+ "BAR size not configured. Assuming BAR size of 256kB for GRC and 512kB for DB\n");
return BAR_ID_0 ? 256 * 1024 : 512 * 1024;
} else {
- DP_NOTICE(p_hwfn, false,
- "BAR size not configured. Assuming BAR size of 512kB for GRC and 512kB for DB\n");
+ DP_INFO(p_hwfn,
+ "BAR size not configured. Assuming BAR size of 512kB for GRC and 512kB for DB\n");
return 512 * 1024;
}
}
@@ -151,7 +431,9 @@ void ecore_init_struct(struct ecore_dev *p_dev)
p_hwfn->my_id = i;
p_hwfn->b_active = false;
+#ifdef CONFIG_ECORE_LOCK_ALLOC
OSAL_MUTEX_ALLOC(p_hwfn, &p_hwfn->dmae_info.mutex);
+#endif
OSAL_MUTEX_INIT(&p_hwfn->dmae_info.mutex);
}
@@ -219,11 +501,13 @@ void ecore_resc_free(struct ecore_dev *p_dev)
ecore_dmae_info_free(p_hwfn);
ecore_dcbx_info_free(p_hwfn);
/* @@@TBD Flush work-queue ?*/
+
+ /* destroy doorbell recovery mechanism */
+ ecore_db_recovery_teardown(p_hwfn);
}
}
/******************** QM initialization *******************/
-
/* bitmaps for indicating active traffic classes. Special case for Arrowhead 4 port */
#define ACTIVE_TCS_BMAP 0x9f /* 0..3 actualy used, 4 serves OOO, 7 serves high priority stuff (e.g. DCQCN) */
#define ACTIVE_TCS_BMAP_4PORT_K2 0xf /* 0..3 actually used, OOO and high priority stuff all use 3 */
@@ -342,7 +626,7 @@ static void ecore_init_qm_params(struct ecore_hwfn *p_hwfn)
qm_info->vport_wfq_en = 1;
/* TC config is different for AH 4 port */
- four_port = p_hwfn->p_dev->num_ports_in_engines == MAX_NUM_PORTS_K2;
+ four_port = p_hwfn->p_dev->num_ports_in_engine == MAX_NUM_PORTS_K2;
/* in AH 4 port we have fewer TCs per port */
qm_info->max_phys_tcs_per_port = four_port ? NUM_PHYS_TCS_4PORT_K2 : NUM_OF_PHYS_TCS;
@@ -367,7 +651,7 @@ static void ecore_init_qm_vport_params(struct ecore_hwfn *p_hwfn)
static void ecore_init_qm_port_params(struct ecore_hwfn *p_hwfn)
{
/* Initialize qm port parameters */
- u8 i, active_phys_tcs, num_ports = p_hwfn->p_dev->num_ports_in_engines;
+ u8 i, active_phys_tcs, num_ports = p_hwfn->p_dev->num_ports_in_engine;
/* indicate how ooo and high pri traffic is dealt with */
active_phys_tcs = num_ports == MAX_NUM_PORTS_K2 ?
@@ -379,7 +663,7 @@ static void ecore_init_qm_port_params(struct ecore_hwfn *p_hwfn)
p_qm_port->active = 1;
p_qm_port->active_phys_tcs = active_phys_tcs;
- p_qm_port->num_pbf_cmd_lines = PBF_MAX_CMD_LINES / num_ports;
+ p_qm_port->num_pbf_cmd_lines = PBF_MAX_CMD_LINES_E4 / num_ports;
p_qm_port->num_btb_blocks = BTB_MAX_BLOCKS / num_ports;
}
}
@@ -704,7 +988,7 @@ static void ecore_dp_init_qm_params(struct ecore_hwfn *p_hwfn)
qm_info->pf_rl_en, qm_info->pf_wfq_en, qm_info->vport_rl_en, qm_info->vport_wfq_en, qm_info->pf_wfq, qm_info->pf_rl, qm_info->num_pf_rls, ecore_get_pq_flags(p_hwfn));
/* port table */
- for (i = 0; i < p_hwfn->p_dev->num_ports_in_engines; i++) {
+ for (i = 0; i < p_hwfn->p_dev->num_ports_in_engine; i++) {
port = &(qm_info->qm_port_params[i]);
DP_VERBOSE(p_hwfn, ECORE_MSG_HW, "port idx %d, active %d, active_phys_tcs %d, num_pbf_cmd_lines %d, num_btb_blocks %d, reserved %d\n",
i, port->active, port->active_phys_tcs, port->num_pbf_cmd_lines, port->num_btb_blocks, port->reserved);
@@ -779,7 +1063,7 @@ enum _ecore_status_t ecore_qm_reconf(struct ecore_hwfn *p_hwfn,
ecore_init_clear_rt_data(p_hwfn);
/* prepare QM portion of runtime array */
- ecore_qm_init_pf(p_hwfn);
+ ecore_qm_init_pf(p_hwfn, p_ptt);
/* activate init tool on runtime array */
rc = ecore_init_run(p_hwfn, p_ptt, PHASE_QM_PF, p_hwfn->rel_pf_id,
@@ -821,7 +1105,7 @@ static enum _ecore_status_t ecore_alloc_qm_data(struct ecore_hwfn *p_hwfn)
qm_info->qm_port_params = OSAL_ZALLOC(p_hwfn->p_dev, GFP_KERNEL,
sizeof(struct init_qm_port_params) *
- p_hwfn->p_dev->num_ports_in_engines);
+ p_hwfn->p_dev->num_ports_in_engine);
if (!qm_info->qm_port_params)
goto alloc_err;
@@ -842,9 +1126,9 @@ alloc_err:
enum _ecore_status_t ecore_resc_alloc(struct ecore_dev *p_dev)
{
- enum _ecore_status_t rc = ECORE_SUCCESS;
u32 rdma_tasks, excess_tasks;
u32 line_count;
+ enum _ecore_status_t rc = ECORE_SUCCESS;
int i;
if (IS_VF(p_dev)) {
@@ -1034,6 +1318,9 @@ enum _ecore_status_t ecore_resc_alloc(struct ecore_dev *p_dev)
"Failed to allocate memory for dcbx structure\n");
goto alloc_err;
}
+
+ /* initialize the doorbell recovery mechanism */
+ ecore_db_recovery_setup(p_hwfn);
}
p_dev->reset_stats = OSAL_ZALLOC(p_dev, GFP_KERNEL,
@@ -1080,7 +1367,7 @@ void ecore_resc_setup(struct ecore_dev *p_dev)
ecore_int_setup(p_hwfn, p_hwfn->p_main_ptt);
ecore_l2_setup(p_hwfn);
- ecore_iov_setup(p_hwfn, p_hwfn->p_main_ptt);
+ ecore_iov_setup(p_hwfn);
#ifdef CONFIG_ECORE_LL2
if (p_hwfn->using_ll2)
ecore_ll2_setup(p_hwfn);
@@ -1163,6 +1450,8 @@ static enum _ecore_status_t ecore_calc_hw_mode(struct ecore_hwfn *p_hwfn)
hw_mode |= 1 << MODE_BB;
} else if (ECORE_IS_AH(p_hwfn->p_dev)) {
hw_mode |= 1 << MODE_K2;
+ } else if (ECORE_IS_E5(p_hwfn->p_dev)) {
+ hw_mode |= 1 << MODE_E5;
} else {
DP_NOTICE(p_hwfn, true, "Unknown chip type %#x\n",
p_hwfn->p_dev->type);
@@ -1170,7 +1459,7 @@ static enum _ecore_status_t ecore_calc_hw_mode(struct ecore_hwfn *p_hwfn)
}
/* Ports per engine is based on the values in CNIG_REG_NW_PORT_MODE*/
- switch (p_hwfn->p_dev->num_ports_in_engines) {
+ switch (p_hwfn->p_dev->num_ports_in_engine) {
case 1:
hw_mode |= 1 << MODE_PORTS_PER_ENG_1;
break;
@@ -1182,7 +1471,7 @@ static enum _ecore_status_t ecore_calc_hw_mode(struct ecore_hwfn *p_hwfn)
break;
default:
DP_NOTICE(p_hwfn, true, "num_ports_in_engine = %d not supported\n",
- p_hwfn->p_dev->num_ports_in_engines);
+ p_hwfn->p_dev->num_ports_in_engine);
return ECORE_INVAL;
}
@@ -1257,24 +1546,25 @@ static enum _ecore_status_t ecore_hw_init_chip(struct ecore_hwfn *p_hwfn,
if (ECORE_IS_AH(p_dev)) {
/* 2 for 4-port, 1 for 2-port, 0 for 1-port */
ecore_wr(p_hwfn, p_ptt, MISC_REG_PORT_MODE,
- (p_dev->num_ports_in_engines >> 1));
+ (p_dev->num_ports_in_engine >> 1));
ecore_wr(p_hwfn, p_ptt, MISC_REG_BLOCK_256B_EN,
- p_dev->num_ports_in_engines == 4 ? 0 : 3);
+ p_dev->num_ports_in_engine == 4 ? 0 : 3);
} else if (ECORE_IS_E5(p_dev)) {
ECORE_E5_MISSING_CODE;
}
- }
- /* Poll on RBC */
- ecore_wr(p_hwfn, p_ptt, PSWRQ2_REG_RBC_DONE, 1);
- for (i = 0; i < 100; i++) {
- OSAL_UDELAY(50);
- if (ecore_rd(p_hwfn, p_ptt, PSWRQ2_REG_CFG_DONE) == 1)
- break;
+ /* Poll on RBC */
+ ecore_wr(p_hwfn, p_ptt, PSWRQ2_REG_RBC_DONE, 1);
+ for (i = 0; i < 100; i++) {
+ OSAL_UDELAY(50);
+ if (ecore_rd(p_hwfn, p_ptt, PSWRQ2_REG_CFG_DONE) == 1)
+ break;
+ }
+ if (i == 100)
+ DP_NOTICE(p_hwfn, true,
+ "RBC done failed to complete in PSWRQ2\n");
}
- if (i == 100)
- DP_NOTICE(p_hwfn, true, "RBC done failed to complete in PSWRQ2\n");
return ECORE_SUCCESS;
}
@@ -1363,6 +1653,10 @@ static void ecore_init_cache_line_size(struct ecore_hwfn *p_hwfn,
OSAL_CACHE_LINE_SIZE, wr_mbs);
STORE_RT_REG(p_hwfn, PGLUE_REG_B_CACHE_LINE_SIZE_RT_OFFSET, val);
+ if (val > 0) {
+ STORE_RT_REG(p_hwfn, PSWRQ2_REG_DRAM_ALIGN_WR_RT_OFFSET, val);
+ STORE_RT_REG(p_hwfn, PSWRQ2_REG_DRAM_ALIGN_RD_RT_OFFSET, val);
+ }
}
static enum _ecore_status_t ecore_hw_init_common(struct ecore_hwfn *p_hwfn,
@@ -1379,11 +1673,11 @@ static enum _ecore_status_t ecore_hw_init_common(struct ecore_hwfn *p_hwfn,
ecore_init_cau_rt_data(p_dev);
/* Program GTT windows */
- ecore_gtt_init(p_hwfn);
+ ecore_gtt_init(p_hwfn, p_ptt);
#ifndef ASIC_ONLY
if (CHIP_REV_IS_EMUL(p_dev)) {
- rc = ecore_hw_init_chip(p_hwfn, p_hwfn->p_main_ptt);
+ rc = ecore_hw_init_chip(p_hwfn, p_ptt);
if (rc != ECORE_SUCCESS)
return rc;
}
@@ -1397,7 +1691,7 @@ static enum _ecore_status_t ecore_hw_init_common(struct ecore_hwfn *p_hwfn,
}
ecore_qm_common_rt_init(p_hwfn,
- p_dev->num_ports_in_engines,
+ p_dev->num_ports_in_engine,
qm_info->max_phys_tcs_per_port,
qm_info->pf_rl_en, qm_info->pf_wfq_en,
qm_info->vport_rl_en, qm_info->vport_wfq_en,
@@ -1411,6 +1705,10 @@ static enum _ecore_status_t ecore_hw_init_common(struct ecore_hwfn *p_hwfn,
if (rc != ECORE_SUCCESS)
return rc;
+ /* @@@TBD mask DORQ afull as it is now benign. Init tool should do this */
+ ecore_wr(p_hwfn, p_ptt, DORQ_REG_INT_MASK,
+ DORQ_REG_INT_STS_DORQ_FIFO_AFULL);
+
/* @@TBD MichalK - should add VALIDATE_VFID to init tool...
* need to decide with which value, maybe runtime
*/
@@ -1656,7 +1954,7 @@ ecore_hw_init_dpi_size(struct ecore_hwfn *p_hwfn,
dpi_page_size_1 = ECORE_WID_SIZE * n_cpus;
dpi_page_size_2 = OSAL_MAX_T(u32, ECORE_WID_SIZE, OSAL_PAGE_SIZE);
dpi_page_size = OSAL_MAX_T(u32, dpi_page_size_1, dpi_page_size_2);
- dpi_page_size = OSAL_ROUNDUP_POW_OF_TWO(dpi_page_size);
+ dpi_page_size = (dpi_page_size + OSAL_PAGE_SIZE - 1) & ~(OSAL_PAGE_SIZE - 1);
dpi_bit_shift = OSAL_LOG2(dpi_page_size / 4096);
dpi_count = pwm_region_size / dpi_page_size;
@@ -1695,7 +1993,7 @@ ecore_hw_init_pf_doorbell_bar(struct ecore_hwfn *p_hwfn,
enum _ecore_status_t rc = ECORE_SUCCESS;
u8 cond;
- db_bar_size = ecore_hw_bar_size(p_hwfn, BAR_ID_1);
+ db_bar_size = ecore_hw_bar_size(p_hwfn, p_ptt, BAR_ID_1);
if (p_hwfn->p_dev->num_hwfns > 1)
db_bar_size /= 2;
@@ -1718,7 +2016,7 @@ ecore_hw_init_pf_doorbell_bar(struct ecore_hwfn *p_hwfn,
OSAL_NULL) +
ecore_cxt_get_proto_cid_count(p_hwfn, PROTOCOLID_ETH,
OSAL_NULL);
- norm_regsize = ROUNDUP(ECORE_PF_DEMS_SIZE * non_pwm_conn, 4096);
+ norm_regsize = ROUNDUP(ECORE_PF_DEMS_SIZE * non_pwm_conn, OSAL_PAGE_SIZE);
min_addr_reg1 = norm_regsize / 4096;
pwm_regsize = db_bar_size - norm_regsize;
@@ -1739,7 +2037,7 @@ ecore_hw_init_pf_doorbell_bar(struct ecore_hwfn *p_hwfn,
/* Either EDPM is mandatory, or we are attempting to allocate a
* WID per CPU.
*/
- n_cpus = OSAL_NUM_ACTIVE_CPU();
+ n_cpus = OSAL_NUM_CPUS();
rc = ecore_hw_init_dpi_size(p_hwfn, p_ptt, pwm_regsize, n_cpus);
}
@@ -1772,11 +2070,19 @@ ecore_hw_init_pf_doorbell_bar(struct ecore_hwfn *p_hwfn,
/* Check return codes from above calls */
if (rc != ECORE_SUCCESS) {
+#ifndef LINUX_REMOVE
DP_ERR(p_hwfn,
"Failed to allocate enough DPIs. Allocated %d but the current minimum is %d. You can try reducing this down to %d via user configuration n_dpi or by disabling EDPM via user configuration roce_edpm\n",
p_hwfn->dpi_count,
p_hwfn->pf_params.rdma_pf_params.min_dpis,
ECORE_MIN_DPIS);
+#else
+ DP_ERR(p_hwfn,
+ "Failed to allocate enough DPIs. Allocated %d but the current minimum is %d. You can try reducing this down to %d via the module parameter min_roce_dpis or by disabling EDPM via the module parameter roce_edpm\n",
+ p_hwfn->dpi_count,
+ p_hwfn->pf_params.rdma_pf_params.min_dpis,
+ ECORE_MIN_DPIS);
+#endif
return ECORE_NORESOURCES;
}
@@ -1805,6 +2111,9 @@ static enum _ecore_status_t ecore_hw_init_port(struct ecore_hwfn *p_hwfn,
hw_mode);
if (rc != ECORE_SUCCESS)
return rc;
+
+ ecore_wr(p_hwfn, p_ptt, PGLUE_B_REG_MASTER_WRITE_PAD_ENABLE, 0);
+
#if 0
/* FW 8.10.5.0 requires us to configure PF_VECTOR and DUALMODE in LLH.
* This would hopefully be moved to MFW.
@@ -1824,7 +2133,7 @@ static enum _ecore_status_t ecore_hw_init_port(struct ecore_hwfn *p_hwfn,
* based, so we need to take this into account.
*/
if (!ECORE_IS_BB(p_hwfn->p_dev))
- pf_id /= p_hwfn->p_dev->num_ports_in_engines;
+ pf_id /= p_hwfn->p_dev->num_ports_in_engine;
ecore_wr(p_hwfn, p_ptt,
NIG_REG_LLH_TAGMAC_DEF_PF_VECTOR, 1 << pf_id);
@@ -1900,7 +2209,7 @@ static enum _ecore_status_t ecore_hw_init_pf(struct ecore_hwfn *p_hwfn,
/* Update rate limit once we'll actually have a link */
p_hwfn->qm_info.pf_rl = 100000;
}
- ecore_cxt_hw_init_pf(p_hwfn);
+ ecore_cxt_hw_init_pf(p_hwfn, p_ptt);
ecore_int_igu_init_rt(p_hwfn);
@@ -1986,6 +2295,17 @@ static enum _ecore_status_t ecore_hw_init_pf(struct ecore_hwfn *p_hwfn,
}
}
#endif
+ /* No default PF is configured in 100G NPAR mode, so need add an LLH
+ * filter with the primary MAC address.
+ */
+ if (p_hwfn->p_dev->num_hwfns > 1 && IS_LEAD_HWFN(p_hwfn)) {
+ rc = ecore_llh_add_mac_filter(p_hwfn, p_ptt,
+ p_hwfn->hw_info.hw_mac_addr);
+ if (rc != ECORE_SUCCESS)
+ DP_NOTICE(p_hwfn, false,
+ "Failed to add an LLH filter with the primary MAC in 100 NPAR mode\n");
+ }
+
if (b_hw_start) {
/* enable interrupts */
rc = ecore_int_igu_enable(p_hwfn, p_ptt, int_mode);
@@ -1993,7 +2313,8 @@ static enum _ecore_status_t ecore_hw_init_pf(struct ecore_hwfn *p_hwfn,
return rc;
/* send function start command */
- rc = ecore_sp_pf_start(p_hwfn, p_tunn, p_hwfn->p_dev->mf_mode,
+ rc = ecore_sp_pf_start(p_hwfn, p_ptt, p_tunn,
+ p_hwfn->p_dev->mf_mode,
allow_npar_tx_switch);
if (rc) {
DP_NOTICE(p_hwfn, true, "Function start ramrod failed\n");
@@ -2093,6 +2414,13 @@ static void
ecore_fill_load_req_params(struct ecore_load_req_params *p_load_req,
struct ecore_drv_load_params *p_drv_load)
{
+ /* Make sure that if ecore-client didn't provide inputs, all the
+ * expected defaults are indeed zero.
+ */
+ OSAL_BUILD_BUG_ON(ECORE_DRV_ROLE_OS != 0);
+ OSAL_BUILD_BUG_ON(ECORE_LOAD_REQ_LOCK_TO_DEFAULT != 0);
+ OSAL_BUILD_BUG_ON(ECORE_OVERRIDE_FORCE_LOAD_NONE != 0);
+
OSAL_MEM_ZERO(p_load_req, sizeof(*p_load_req));
if (p_drv_load != OSAL_NULL) {
@@ -2103,12 +2431,6 @@ ecore_fill_load_req_params(struct ecore_load_req_params *p_load_req,
p_load_req->avoid_eng_reset = p_drv_load->avoid_eng_reset;
p_load_req->override_force_load =
p_drv_load->override_force_load;
- } else {
- p_load_req->drv_role = ECORE_DRV_ROLE_OS;
- p_load_req->timeout_val = ECORE_LOAD_REQ_LOCK_TO_DEFAULT;
- p_load_req->avoid_eng_reset = false;
- p_load_req->override_force_load =
- ECORE_OVERRIDE_FORCE_LOAD_NONE;
}
}
@@ -2259,7 +2581,7 @@ enum _ecore_status_t ecore_hw_init(struct ecore_dev *p_dev,
"sending phony dcbx set command to trigger DCBx attention handling\n");
mfw_rc = ecore_mcp_cmd(p_hwfn, p_hwfn->p_main_ptt,
DRV_MSG_CODE_SET_DCBX,
- 1 << DRV_MB_PARAM_DCBX_NOTIFY_SHIFT,
+ 1 << DRV_MB_PARAM_DCBX_NOTIFY_OFFSET,
&load_code, &param);
if (mfw_rc != ECORE_SUCCESS) {
DP_NOTICE(p_hwfn, true,
@@ -2473,6 +2795,13 @@ enum _ecore_status_t ecore_hw_stop(struct ecore_dev *p_dev)
rc2 = ECORE_UNKNOWN_ERROR;
}
}
+
+ /* 100g NPAR mode - remove the LLH filter with the primary MAC
+ * address.
+ */
+ if (p_hwfn->p_dev->num_hwfns > 1 && IS_LEAD_HWFN(p_hwfn))
+ ecore_llh_remove_mac_filter(p_hwfn, p_ptt,
+ p_hwfn->hw_info.hw_mac_addr);
} /* hwfn loop */
if (IS_PF(p_dev)) {
@@ -2495,18 +2824,21 @@ enum _ecore_status_t ecore_hw_stop(struct ecore_dev *p_dev)
return rc2;
}
-void ecore_hw_stop_fastpath(struct ecore_dev *p_dev)
+enum _ecore_status_t ecore_hw_stop_fastpath(struct ecore_dev *p_dev)
{
int j;
for_each_hwfn(p_dev, j) {
struct ecore_hwfn *p_hwfn = &p_dev->hwfns[j];
- struct ecore_ptt *p_ptt = p_hwfn->p_main_ptt;
+ struct ecore_ptt *p_ptt;
if (IS_VF(p_dev)) {
ecore_vf_pf_int_cleanup(p_hwfn);
continue;
}
+ p_ptt = ecore_ptt_acquire(p_hwfn);
+ if (!p_ptt)
+ return ECORE_AGAIN;
DP_VERBOSE(p_hwfn, ECORE_MSG_IFDOWN, "Shutting down the fastpath\n");
@@ -2527,15 +2859,22 @@ void ecore_hw_stop_fastpath(struct ecore_dev *p_dev)
ecore_int_igu_init_pure_rt(p_hwfn, p_ptt, false, false);
/* Need to wait 1ms to guarantee SBs are cleared */
OSAL_MSLEEP(1);
+ ecore_ptt_release(p_hwfn, p_ptt);
}
+
+ return ECORE_SUCCESS;
}
-void ecore_hw_start_fastpath(struct ecore_hwfn *p_hwfn)
+enum _ecore_status_t ecore_hw_start_fastpath(struct ecore_hwfn *p_hwfn)
{
- struct ecore_ptt *p_ptt = p_hwfn->p_main_ptt;
+ struct ecore_ptt *p_ptt;
if (IS_VF(p_hwfn->p_dev))
- return;
+ return ECORE_SUCCESS;
+
+ p_ptt = ecore_ptt_acquire(p_hwfn);
+ if (!p_ptt)
+ return ECORE_AGAIN;
/* If roce info is allocated it means roce is initialized and should
* be enabled in searcher.
@@ -2548,24 +2887,30 @@ void ecore_hw_start_fastpath(struct ecore_hwfn *p_hwfn)
}
/* Re-open incoming traffic */
- ecore_wr(p_hwfn, p_hwfn->p_main_ptt,
+ ecore_wr(p_hwfn, p_ptt,
NIG_REG_RX_LLH_BRB_GATE_DNTFWD_PERPF, 0x0);
+ ecore_ptt_release(p_hwfn, p_ptt);
+
+ return ECORE_SUCCESS;
}
/* TEMP macro to be removed when wol code revisted */
#define ECORE_WOL_WR(_p_hwfn, _p_ptt, _offset, _val) ECORE_IS_BB(_p_hwfn->p_dev) ? \
ecore_wr(_p_hwfn, _p_ptt, _offset, _val) : \
ecore_mcp_wol_wr(_p_hwfn, _p_ptt, _offset, _val);
-enum _ecore_status_t ecore_set_nwuf_reg(struct ecore_dev *p_dev,
- const bool b_enable,
- u32 reg_idx,
- u32 pattern_size,
- u32 crc)
+enum _ecore_status_t ecore_set_nwuf_reg(struct ecore_dev *p_dev, u32 reg_idx,
+ u32 pattern_size, u32 crc)
{
struct ecore_hwfn *hwfn = &p_dev->hwfns[0];
+ enum _ecore_status_t rc = ECORE_SUCCESS;
+ struct ecore_ptt *p_ptt;
u32 reg_len = 0;
u32 reg_crc = 0;
+ p_ptt = ecore_ptt_acquire(hwfn);
+ if (!p_ptt)
+ return ECORE_AGAIN;
+
/* Get length and CRC register offsets */
switch (reg_idx)
{
@@ -2618,7 +2963,8 @@ enum _ecore_status_t ecore_set_nwuf_reg(struct ecore_dev *p_dev,
WOL_REG_ACPI_PAT_7_CRC_K2_E5;
break;
default:
- return ECORE_UNKNOWN_ERROR;
+ rc = ECORE_UNKNOWN_ERROR;
+ goto out;
}
/* Allign pattern size to 4 */
@@ -2627,52 +2973,55 @@ enum _ecore_status_t ecore_set_nwuf_reg(struct ecore_dev *p_dev,
pattern_size++;
}
/* write pattern length */
- ECORE_WOL_WR(hwfn, hwfn->p_main_ptt, reg_len, pattern_size);
+ ECORE_WOL_WR(hwfn, p_ptt, reg_len, pattern_size);
/* write crc value*/
- ECORE_WOL_WR(hwfn, hwfn->p_main_ptt, reg_crc, crc);
+ ECORE_WOL_WR(hwfn, p_ptt, reg_crc, crc);
DP_INFO(p_dev,
"ecore_set_nwuf_reg: idx[%d] reg_crc[0x%x=0x%08x] "
"reg_len[0x%x=0x%x]\n",
reg_idx, reg_crc, crc, reg_len, pattern_size);
+out:
+ ecore_ptt_release(hwfn, p_ptt);
- return ECORE_SUCCESS;
+ return rc;
}
-void ecore_wol_buffer_clear(struct ecore_dev *p_dev)
+void ecore_wol_buffer_clear(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt)
{
- struct ecore_hwfn *hwfn = &p_dev->hwfns[0];
const u32 wake_buffer_clear_offset =
- ECORE_IS_BB(p_dev) ?
+ ECORE_IS_BB(p_hwfn->p_dev) ?
NIG_REG_WAKE_BUFFER_CLEAR_BB : WOL_REG_WAKE_BUFFER_CLEAR_K2_E5;
- DP_INFO(p_dev,
+ DP_INFO(p_hwfn->p_dev,
"ecore_wol_buffer_clear: reset "
"REG_WAKE_BUFFER_CLEAR offset=0x%08x\n",
wake_buffer_clear_offset);
- ECORE_WOL_WR(hwfn, hwfn->p_main_ptt, wake_buffer_clear_offset, 1);
- ECORE_WOL_WR(hwfn, hwfn->p_main_ptt, wake_buffer_clear_offset, 0);
+ ECORE_WOL_WR(p_hwfn, p_ptt, wake_buffer_clear_offset, 1);
+ ECORE_WOL_WR(p_hwfn, p_ptt, wake_buffer_clear_offset, 0);
}
-enum _ecore_status_t ecore_get_wake_info(struct ecore_dev *p_dev,
- struct ecore_wake_info *wake_info)
+enum _ecore_status_t ecore_get_wake_info(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
+ struct ecore_wake_info *wake_info)
{
- struct ecore_hwfn *hwfn = &p_dev->hwfns[0];
+ struct ecore_dev *p_dev = p_hwfn->p_dev;
u32 *buf = OSAL_NULL;
u32 i = 0;
const u32 reg_wake_buffer_offest =
ECORE_IS_BB(p_dev) ? NIG_REG_WAKE_BUFFER_BB :
WOL_REG_WAKE_BUFFER_K2_E5;
- wake_info->wk_info = ecore_rd(hwfn, hwfn->p_main_ptt,
+ wake_info->wk_info = ecore_rd(p_hwfn, p_ptt,
ECORE_IS_BB(p_dev) ? NIG_REG_WAKE_INFO_BB :
WOL_REG_WAKE_INFO_K2_E5);
- wake_info->wk_details = ecore_rd(hwfn, hwfn->p_main_ptt,
+ wake_info->wk_details = ecore_rd(p_hwfn, p_ptt,
ECORE_IS_BB(p_dev) ? NIG_REG_WAKE_DETAILS_BB :
WOL_REG_WAKE_DETAILS_K2_E5);
- wake_info->wk_pkt_len = ecore_rd(hwfn, hwfn->p_main_ptt,
+ wake_info->wk_pkt_len = ecore_rd(p_hwfn, p_ptt,
ECORE_IS_BB(p_dev) ? NIG_REG_WAKE_PKT_LEN_BB :
WOL_REG_WAKE_PKT_LEN_K2_E5);
@@ -2695,13 +3044,13 @@ enum _ecore_status_t ecore_get_wake_info(struct ecore_dev *p_dev,
i);
break;
}
- buf[i] = ecore_rd(hwfn, hwfn->p_main_ptt,
+ buf[i] = ecore_rd(p_hwfn, p_ptt,
reg_wake_buffer_offest + (i * sizeof(u32)));
DP_INFO(p_dev, "ecore_get_wake_info: wk_buffer[%u]: 0x%08x\n",
i, buf[i]);
}
- ecore_wol_buffer_clear(p_dev);
+ ecore_wol_buffer_clear(p_hwfn, p_ptt);
return ECORE_SUCCESS;
}
@@ -2877,12 +3226,14 @@ const char *ecore_hw_get_resc_name(enum ecore_resources res_id)
static enum _ecore_status_t
__ecore_hw_set_soft_resc_size(struct ecore_hwfn *p_hwfn,
- enum ecore_resources res_id, u32 resc_max_val,
+ struct ecore_ptt *p_ptt,
+ enum ecore_resources res_id,
+ u32 resc_max_val,
u32 *p_mcp_resp)
{
enum _ecore_status_t rc;
- rc = ecore_mcp_set_resc_max_val(p_hwfn, p_hwfn->p_main_ptt, res_id,
+ rc = ecore_mcp_set_resc_max_val(p_hwfn, p_ptt, res_id,
resc_max_val, p_mcp_resp);
if (rc != ECORE_SUCCESS) {
DP_NOTICE(p_hwfn, true,
@@ -2900,7 +3251,8 @@ __ecore_hw_set_soft_resc_size(struct ecore_hwfn *p_hwfn,
}
static enum _ecore_status_t
-ecore_hw_set_soft_resc_size(struct ecore_hwfn *p_hwfn)
+ecore_hw_set_soft_resc_size(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt)
{
bool b_ah = ECORE_IS_AH(p_hwfn->p_dev);
u32 resc_max_val, mcp_resp;
@@ -2916,7 +3268,7 @@ ecore_hw_set_soft_resc_size(struct ecore_hwfn *p_hwfn)
/* No need for a case for ECORE_CMDQS_CQS since
* CNQ/CMDQS are the same resource.
*/
- resc_max_val = NUM_OF_GLOBAL_QUEUES;
+ resc_max_val = NUM_OF_CMDQS_CQS;
break;
case ECORE_RDMA_STATS_QUEUE:
resc_max_val = b_ah ? RDMA_NUM_STATISTIC_COUNTERS_K2
@@ -2929,7 +3281,7 @@ ecore_hw_set_soft_resc_size(struct ecore_hwfn *p_hwfn)
continue;
}
- rc = __ecore_hw_set_soft_resc_size(p_hwfn, res_id,
+ rc = __ecore_hw_set_soft_resc_size(p_hwfn, p_ptt, res_id,
resc_max_val, &mcp_resp);
if (rc != ECORE_SUCCESS)
return rc;
@@ -2991,7 +3343,7 @@ enum _ecore_status_t ecore_hw_get_dflt_resc(struct ecore_hwfn *p_hwfn,
case ECORE_RDMA_CNQ_RAM:
case ECORE_CMDQS_CQS:
/* CNQ/CMDQS are the same resource */
- *p_resc_num = NUM_OF_GLOBAL_QUEUES / num_funcs;
+ *p_resc_num = NUM_OF_CMDQS_CQS / num_funcs;
break;
case ECORE_RDMA_STATS_QUEUE:
*p_resc_num = (b_ah ? RDMA_NUM_STATISTIC_COUNTERS_K2 :
@@ -3019,7 +3371,7 @@ enum _ecore_status_t ecore_hw_get_dflt_resc(struct ecore_hwfn *p_hwfn,
case ECORE_BDQ:
if (!*p_resc_num)
*p_resc_start = 0;
- else if (p_hwfn->p_dev->num_ports_in_engines == 4)
+ else if (p_hwfn->p_dev->num_ports_in_engine == 4)
*p_resc_start = p_hwfn->port_id;
else if (p_hwfn->hw_info.personality == ECORE_PCI_ISCSI)
*p_resc_start = p_hwfn->port_id;
@@ -3131,10 +3483,8 @@ static enum _ecore_status_t ecore_hw_set_resc_info(struct ecore_hwfn *p_hwfn,
return ECORE_SUCCESS;
}
-#define ECORE_RESC_ALLOC_LOCK_RETRY_CNT 10
-#define ECORE_RESC_ALLOC_LOCK_RETRY_INTVL_US 10000 /* 10 msec */
-
static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
bool drv_resc_alloc)
{
struct ecore_resc_unlock_params resc_unlock_params;
@@ -3164,15 +3514,10 @@ static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn,
* Old drivers that don't acquire the lock can run in parallel, and
* their allocation values won't be affected by the updated max values.
*/
- OSAL_MEM_ZERO(&resc_lock_params, sizeof(resc_lock_params));
- resc_lock_params.resource = ECORE_RESC_LOCK_RESC_ALLOC;
- resc_lock_params.retry_num = ECORE_RESC_ALLOC_LOCK_RETRY_CNT;
- resc_lock_params.retry_interval = ECORE_RESC_ALLOC_LOCK_RETRY_INTVL_US;
- resc_lock_params.sleep_b4_retry = true;
- OSAL_MEM_ZERO(&resc_unlock_params, sizeof(resc_unlock_params));
- resc_unlock_params.resource = ECORE_RESC_LOCK_RESC_ALLOC;
-
- rc = ecore_mcp_resc_lock(p_hwfn, p_hwfn->p_main_ptt, &resc_lock_params);
+ ecore_mcp_resc_lock_default_init(&resc_lock_params, &resc_unlock_params,
+ ECORE_RESC_LOCK_RESC_ALLOC, false);
+
+ rc = ecore_mcp_resc_lock(p_hwfn, p_ptt, &resc_lock_params);
if (rc != ECORE_SUCCESS && rc != ECORE_NOTIMPL) {
return rc;
} else if (rc == ECORE_NOTIMPL) {
@@ -3183,7 +3528,7 @@ static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn,
"Failed to acquire the resource lock for the resource allocation commands\n");
return ECORE_BUSY;
} else {
- rc = ecore_hw_set_soft_resc_size(p_hwfn);
+ rc = ecore_hw_set_soft_resc_size(p_hwfn, p_ptt);
if (rc != ECORE_SUCCESS && rc != ECORE_NOTIMPL) {
DP_NOTICE(p_hwfn, false,
"Failed to set the max values of the soft resources\n");
@@ -3191,7 +3536,7 @@ static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn,
} else if (rc == ECORE_NOTIMPL) {
DP_INFO(p_hwfn,
"Skip the max values setting of the soft resources since it is not supported by the MFW\n");
- rc = ecore_mcp_resc_unlock(p_hwfn, p_hwfn->p_main_ptt,
+ rc = ecore_mcp_resc_unlock(p_hwfn, p_ptt,
&resc_unlock_params);
if (rc != ECORE_SUCCESS)
DP_INFO(p_hwfn,
@@ -3204,7 +3549,7 @@ static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn,
goto unlock_and_exit;
if (resc_lock_params.b_granted && !resc_unlock_params.b_released) {
- rc = ecore_mcp_resc_unlock(p_hwfn, p_hwfn->p_main_ptt,
+ rc = ecore_mcp_resc_unlock(p_hwfn, p_ptt,
&resc_unlock_params);
if (rc != ECORE_SUCCESS)
DP_INFO(p_hwfn,
@@ -3250,7 +3595,7 @@ static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn,
}
/* This will also learn the number of SBs from MFW */
- if (ecore_int_igu_reset_cam(p_hwfn, p_hwfn->p_main_ptt))
+ if (ecore_int_igu_reset_cam(p_hwfn, p_ptt))
return ECORE_INVAL;
ecore_hw_set_feat(p_hwfn);
@@ -3267,7 +3612,7 @@ static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn,
unlock_and_exit:
if (resc_lock_params.b_granted && !resc_unlock_params.b_released)
- ecore_mcp_resc_unlock(p_hwfn, p_hwfn->p_main_ptt,
+ ecore_mcp_resc_unlock(p_hwfn, p_ptt,
&resc_unlock_params);
return rc;
}
@@ -3607,15 +3952,15 @@ static void ecore_hw_info_port_num_bb(struct ecore_hwfn *p_hwfn,
port_mode = ecore_rd(p_hwfn, p_ptt, CNIG_REG_NW_PORT_MODE_BB);
if (port_mode < 3) {
- p_hwfn->p_dev->num_ports_in_engines = 1;
+ p_hwfn->p_dev->num_ports_in_engine = 1;
} else if (port_mode <= 5) {
- p_hwfn->p_dev->num_ports_in_engines = 2;
+ p_hwfn->p_dev->num_ports_in_engine = 2;
} else {
DP_NOTICE(p_hwfn, true, "PORT MODE: %d not supported\n",
- p_hwfn->p_dev->num_ports_in_engines);
+ p_hwfn->p_dev->num_ports_in_engine);
- /* Default num_ports_in_engines to something */
- p_hwfn->p_dev->num_ports_in_engines = 1;
+ /* Default num_ports_in_engine to something */
+ p_hwfn->p_dev->num_ports_in_engine = 1;
}
}
@@ -3625,21 +3970,20 @@ static void ecore_hw_info_port_num_ah_e5(struct ecore_hwfn *p_hwfn,
u32 port;
int i;
- p_hwfn->p_dev->num_ports_in_engines = 0;
+ p_hwfn->p_dev->num_ports_in_engine = 0;
#ifndef ASIC_ONLY
if (CHIP_REV_IS_EMUL(p_hwfn->p_dev)) {
- port = ecore_rd(p_hwfn, p_ptt,
- MISCS_REG_ECO_RESERVED);
+ port = ecore_rd(p_hwfn, p_ptt, MISCS_REG_ECO_RESERVED);
switch ((port & 0xf000) >> 12) {
case 1:
- p_hwfn->p_dev->num_ports_in_engines = 1;
+ p_hwfn->p_dev->num_ports_in_engine = 1;
break;
case 3:
- p_hwfn->p_dev->num_ports_in_engines = 2;
+ p_hwfn->p_dev->num_ports_in_engine = 2;
break;
case 0xf:
- p_hwfn->p_dev->num_ports_in_engines = 4;
+ p_hwfn->p_dev->num_ports_in_engine = 4;
break;
default:
DP_NOTICE(p_hwfn, false,
@@ -3652,7 +3996,14 @@ static void ecore_hw_info_port_num_ah_e5(struct ecore_hwfn *p_hwfn,
port = ecore_rd(p_hwfn, p_ptt,
CNIG_REG_NIG_PORT0_CONF_K2_E5 + (i * 4));
if (port & 1)
- p_hwfn->p_dev->num_ports_in_engines++;
+ p_hwfn->p_dev->num_ports_in_engine++;
+ }
+
+ if (!p_hwfn->p_dev->num_ports_in_engine) {
+ DP_NOTICE(p_hwfn, true, "All NIG ports are inactive\n");
+
+ /* Default num_ports_in_engine to something */
+ p_hwfn->p_dev->num_ports_in_engine = 1;
}
}
@@ -3779,7 +4130,7 @@ ecore_get_hw_info(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
* the resources/features depends on them.
* This order is not harmful if not forcing.
*/
- rc = ecore_hw_get_resc(p_hwfn, drv_resc_alloc);
+ rc = ecore_hw_get_resc(p_hwfn, p_ptt, drv_resc_alloc);
if (rc != ECORE_SUCCESS && p_params->b_relaxed_probe) {
rc = ECORE_SUCCESS;
p_params->p_relaxed_res = ECORE_HW_PREPARE_BAD_MCP;
@@ -3788,9 +4139,10 @@ ecore_get_hw_info(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
return rc;
}
-static enum _ecore_status_t ecore_get_dev_info(struct ecore_dev *p_dev)
+static enum _ecore_status_t ecore_get_dev_info(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt)
{
- struct ecore_hwfn *p_hwfn = ECORE_LEADING_HWFN(p_dev);
+ struct ecore_dev *p_dev = p_hwfn->p_dev;
u16 device_id_mask;
u32 tmp;
@@ -3809,22 +4161,24 @@ static enum _ecore_status_t ecore_get_dev_info(struct ecore_dev *p_dev)
case ECORE_DEV_ID_MASK_AH:
p_dev->type = ECORE_DEV_TYPE_AH;
break;
+ case ECORE_DEV_ID_MASK_E5:
+ p_dev->type = ECORE_DEV_TYPE_E5;
+ break;
default:
DP_NOTICE(p_hwfn, true, "Unknown device id 0x%x\n",
p_dev->device_id);
return ECORE_ABORTED;
}
- p_dev->chip_num = (u16)ecore_rd(p_hwfn, p_hwfn->p_main_ptt,
- MISCS_REG_CHIP_NUM);
- p_dev->chip_rev = (u16)ecore_rd(p_hwfn, p_hwfn->p_main_ptt,
- MISCS_REG_CHIP_REV);
+ p_dev->chip_num = (u16)ecore_rd(p_hwfn, p_ptt,
+ MISCS_REG_CHIP_NUM);
+ p_dev->chip_rev = (u16)ecore_rd(p_hwfn, p_ptt,
+ MISCS_REG_CHIP_REV);
MASK_FIELD(CHIP_REV, p_dev->chip_rev);
/* Learn number of HW-functions */
- tmp = ecore_rd(p_hwfn, p_hwfn->p_main_ptt,
- MISCS_REG_CMT_ENABLED_FOR_PAIR);
+ tmp = ecore_rd(p_hwfn, p_ptt, MISCS_REG_CMT_ENABLED_FOR_PAIR);
if (tmp & (1 << p_hwfn->rel_pf_id)) {
DP_NOTICE(p_dev->hwfns, false, "device in CMT mode\n");
@@ -3843,10 +4197,10 @@ static enum _ecore_status_t ecore_get_dev_info(struct ecore_dev *p_dev)
}
#endif
- p_dev->chip_bond_id = ecore_rd(p_hwfn, p_hwfn->p_main_ptt,
+ p_dev->chip_bond_id = ecore_rd(p_hwfn, p_ptt,
MISCS_REG_CHIP_TEST_REG) >> 4;
MASK_FIELD(CHIP_BOND_ID, p_dev->chip_bond_id);
- p_dev->chip_metal = (u16)ecore_rd(p_hwfn, p_hwfn->p_main_ptt,
+ p_dev->chip_metal = (u16)ecore_rd(p_hwfn, p_ptt,
MISCS_REG_CHIP_METAL);
MASK_FIELD(CHIP_METAL, p_dev->chip_metal);
DP_INFO(p_dev->hwfns,
@@ -3864,12 +4218,10 @@ static enum _ecore_status_t ecore_get_dev_info(struct ecore_dev *p_dev)
#ifndef ASIC_ONLY
if (CHIP_REV_IS_EMUL(p_dev) && ECORE_IS_AH(p_dev))
- ecore_wr(p_hwfn, p_hwfn->p_main_ptt,
- MISCS_REG_PLL_MAIN_CTRL_4, 0x1);
+ ecore_wr(p_hwfn, p_ptt, MISCS_REG_PLL_MAIN_CTRL_4, 0x1);
if (CHIP_REV_IS_EMUL(p_dev)) {
- tmp = ecore_rd(p_hwfn, p_hwfn->p_main_ptt,
- MISCS_REG_ECO_RESERVED);
+ tmp = ecore_rd(p_hwfn, p_ptt, MISCS_REG_ECO_RESERVED);
if (tmp & (1 << 29)) {
DP_NOTICE(p_hwfn, false, "Emulation: Running on a FULL build\n");
p_dev->b_is_emul_full = true;
@@ -3965,7 +4317,7 @@ static enum _ecore_status_t ecore_hw_prepare_single(struct ecore_hwfn *p_hwfn,
/* First hwfn learns basic information, e.g., number of hwfns */
if (!p_hwfn->my_id) {
- rc = ecore_get_dev_info(p_dev);
+ rc = ecore_get_dev_info(p_hwfn, p_hwfn->p_main_ptt);
if (rc != ECORE_SUCCESS) {
if (p_params->b_relaxed_probe)
p_params->p_relaxed_res =
@@ -4089,11 +4441,15 @@ enum _ecore_status_t ecore_hw_prepare(struct ecore_dev *p_dev,
/* adjust bar offset for second engine */
addr = (u8 OSAL_IOMEM *)p_dev->regview +
- ecore_hw_bar_size(p_hwfn, BAR_ID_0) / 2;
+ ecore_hw_bar_size(p_hwfn,
+ p_hwfn->p_main_ptt,
+ BAR_ID_0) / 2;
p_regview = (void OSAL_IOMEM *)addr;
addr = (u8 OSAL_IOMEM *)p_dev->doorbells +
- ecore_hw_bar_size(p_hwfn, BAR_ID_1) / 2;
+ ecore_hw_bar_size(p_hwfn,
+ p_hwfn->p_main_ptt,
+ BAR_ID_1) / 2;
p_doorbell = (void OSAL_IOMEM *)addr;
/* prepare second hw function */
@@ -4143,7 +4499,9 @@ void ecore_hw_remove(struct ecore_dev *p_dev)
ecore_hw_hwfn_free(p_hwfn);
ecore_mcp_free(p_hwfn);
+#ifdef CONFIG_ECORE_LOCK_ALLOC
OSAL_MUTEX_DEALLOC(&p_hwfn->dmae_info.mutex);
+#endif
}
ecore_iov_free_hw_info(p_dev);
@@ -4324,11 +4682,11 @@ ecore_chain_alloc_pbl(struct ecore_dev *p_dev,
struct ecore_chain *p_chain,
struct ecore_chain_ext_pbl *ext_pbl)
{
- void *p_virt = OSAL_NULL;
- u8 *p_pbl_virt = OSAL_NULL;
- void **pp_virt_addr_tbl = OSAL_NULL;
- dma_addr_t p_phys = 0, p_pbl_phys = 0;
u32 page_cnt = p_chain->page_cnt, size, i;
+ dma_addr_t p_phys = 0, p_pbl_phys = 0;
+ void **pp_virt_addr_tbl = OSAL_NULL;
+ u8 *p_pbl_virt = OSAL_NULL;
+ void *p_virt = OSAL_NULL;
size = page_cnt * sizeof(*pp_virt_addr_tbl);
pp_virt_addr_tbl = (void **)OSAL_VZALLOC(p_dev, size);
@@ -4534,9 +4892,14 @@ ecore_llh_add_mac_filter_bb_ah(struct ecore_hwfn *p_hwfn,
return ECORE_SUCCESS;
}
+/* OSAL_UNUSED is temporary used to avoid unused-parameter compilation warnings.
+ * Should be removed when the function is implemented.
+ */
static enum _ecore_status_t
-ecore_llh_add_mac_filter_e5(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
- u32 high, u32 low, u32 *p_entry_num)
+ecore_llh_add_mac_filter_e5(struct ecore_hwfn OSAL_UNUSED *p_hwfn,
+ struct ecore_ptt OSAL_UNUSED *p_ptt,
+ u32 OSAL_UNUSED high, u32 OSAL_UNUSED low,
+ u32 OSAL_UNUSED *p_entry_num)
{
ECORE_E5_MISSING_CODE;
@@ -4569,7 +4932,7 @@ enum _ecore_status_t ecore_llh_add_mac_filter(struct ecore_hwfn *p_hwfn,
}
DP_VERBOSE(p_hwfn, ECORE_MSG_HW,
- "MAC: %02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx is added at %d\n",
+ "MAC: %02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx is added at LLH entry %d\n",
p_filter[0], p_filter[1], p_filter[2], p_filter[3],
p_filter[4], p_filter[5], entry_num);
@@ -4613,10 +4976,14 @@ ecore_llh_remove_mac_filter_bb_ah(struct ecore_hwfn *p_hwfn,
return ECORE_SUCCESS;
}
+/* OSAL_UNUSED is temporary used to avoid unused-parameter compilation warnings.
+ * Should be removed when the function is implemented.
+ */
static enum _ecore_status_t
-ecore_llh_remove_mac_filter_e5(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt, u32 high, u32 low,
- u32 *p_entry_num)
+ecore_llh_remove_mac_filter_e5(struct ecore_hwfn OSAL_UNUSED *p_hwfn,
+ struct ecore_ptt OSAL_UNUSED *p_ptt,
+ u32 OSAL_UNUSED high, u32 OSAL_UNUSED low,
+ u32 OSAL_UNUSED *p_entry_num)
{
ECORE_E5_MISSING_CODE;
@@ -4651,7 +5018,7 @@ void ecore_llh_remove_mac_filter(struct ecore_hwfn *p_hwfn,
}
DP_VERBOSE(p_hwfn, ECORE_MSG_HW,
- "MAC: %02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx was removed from %d\n",
+ "MAC: %02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx was removed from LLH entry %d\n",
p_filter[0], p_filter[1], p_filter[2], p_filter[3],
p_filter[4], p_filter[5], entry_num);
}
@@ -4697,11 +5064,15 @@ ecore_llh_add_protocol_filter_bb_ah(struct ecore_hwfn *p_hwfn,
return ECORE_SUCCESS;
}
+/* OSAL_UNUSED is temporary used to avoid unused-parameter compilation warnings.
+ * Should be removed when the function is implemented.
+ */
static enum _ecore_status_t
-ecore_llh_add_protocol_filter_e5(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- enum ecore_llh_port_filter_type_t type,
- u32 high, u32 low, u32 *p_entry_num)
+ecore_llh_add_protocol_filter_e5(struct ecore_hwfn OSAL_UNUSED *p_hwfn,
+ struct ecore_ptt OSAL_UNUSED *p_ptt,
+ enum ecore_llh_port_filter_type_t OSAL_UNUSED type,
+ u32 OSAL_UNUSED high, u32 OSAL_UNUSED low,
+ u32 OSAL_UNUSED *p_entry_num)
{
ECORE_E5_MISSING_CODE;
@@ -4760,37 +5131,37 @@ ecore_llh_add_protocol_filter(struct ecore_hwfn *p_hwfn,
switch (type) {
case ECORE_LLH_FILTER_ETHERTYPE:
DP_VERBOSE(p_hwfn, ECORE_MSG_HW,
- "ETH type %x is added at %d\n",
+ "ETH type %x is added at LLH entry %d\n",
source_port_or_eth_type, entry_num);
break;
case ECORE_LLH_FILTER_TCP_SRC_PORT:
DP_VERBOSE(p_hwfn, ECORE_MSG_HW,
- "TCP src port %x is added at %d\n",
+ "TCP src port %x is added at LLH entry %d\n",
source_port_or_eth_type, entry_num);
break;
case ECORE_LLH_FILTER_UDP_SRC_PORT:
DP_VERBOSE(p_hwfn, ECORE_MSG_HW,
- "UDP src port %x is added at %d\n",
+ "UDP src port %x is added at LLH entry %d\n",
source_port_or_eth_type, entry_num);
break;
case ECORE_LLH_FILTER_TCP_DEST_PORT:
DP_VERBOSE(p_hwfn, ECORE_MSG_HW,
- "TCP dst port %x is added at %d\n",
+ "TCP dst port %x is added at LLH entry %d\n",
dest_port, entry_num);
break;
case ECORE_LLH_FILTER_UDP_DEST_PORT:
DP_VERBOSE(p_hwfn, ECORE_MSG_HW,
- "UDP dst port %x is added at %d\n",
+ "UDP dst port %x is added at LLH entry %d\n",
dest_port, entry_num);
break;
case ECORE_LLH_FILTER_TCP_SRC_AND_DEST_PORT:
DP_VERBOSE(p_hwfn, ECORE_MSG_HW,
- "TCP src/dst ports %x/%x are added at %d\n",
+ "TCP src/dst ports %x/%x are added at LLH entry %d\n",
source_port_or_eth_type, dest_port, entry_num);
break;
case ECORE_LLH_FILTER_UDP_SRC_AND_DEST_PORT:
DP_VERBOSE(p_hwfn, ECORE_MSG_HW,
- "UDP src/dst ports %x/%x are added at %d\n",
+ "UDP src/dst ports %x/%x are added at LLH entry %d\n",
source_port_or_eth_type, dest_port, entry_num);
break;
}
@@ -4854,11 +5225,15 @@ ecore_llh_remove_protocol_filter_bb_ah(struct ecore_hwfn *p_hwfn,
return ECORE_SUCCESS;
}
+/* OSAL_UNUSED is temporary used to avoid unused-parameter compilation warnings.
+ * Should be removed when the function is implemented.
+ */
static enum _ecore_status_t
-ecore_llh_remove_protocol_filter_e5(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- enum ecore_llh_port_filter_type_t type,
- u32 high, u32 low, u32 *p_entry_num)
+ecore_llh_remove_protocol_filter_e5(struct ecore_hwfn OSAL_UNUSED *p_hwfn,
+ struct ecore_ptt OSAL_UNUSED *p_ptt,
+ enum ecore_llh_port_filter_type_t OSAL_UNUSED type,
+ u32 OSAL_UNUSED high, u32 OSAL_UNUSED low,
+ u32 OSAL_UNUSED *p_entry_num)
{
ECORE_E5_MISSING_CODE;
@@ -4917,7 +5292,7 @@ ecore_llh_remove_protocol_filter(struct ecore_hwfn *p_hwfn,
}
DP_VERBOSE(p_hwfn, ECORE_MSG_HW,
- "Protocol filter [type %d, source_port_or_eth_type 0x%x, dest_port 0x%x] was removed from %d\n",
+ "Protocol filter [type %d, source_port_or_eth_type 0x%x, dest_port 0x%x] was removed from LLH entry %d\n",
type, source_port_or_eth_type, dest_port, entry_num);
}
@@ -4939,8 +5314,11 @@ static void ecore_llh_clear_all_filters_bb_ah(struct ecore_hwfn *p_hwfn,
}
}
-static void ecore_llh_clear_all_filters_e5(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt)
+/* OSAL_UNUSED is temporary used to avoid unused-parameter compilation warnings.
+ * Should be removed when the function is implemented.
+ */
+static void ecore_llh_clear_all_filters_e5(struct ecore_hwfn OSAL_UNUSED *p_hwfn,
+ struct ecore_ptt OSAL_UNUSED *p_ptt)
{
ECORE_E5_MISSING_CODE;
}
@@ -5140,8 +5518,7 @@ static void ecore_configure_wfq_for_all_vports(struct ecore_hwfn *p_hwfn,
}
}
-static void
-ecore_init_wfq_default_param(struct ecore_hwfn *p_hwfn, u32 min_pf_rate)
+static void ecore_init_wfq_default_param(struct ecore_hwfn *p_hwfn)
{
int i;
@@ -5151,8 +5528,7 @@ ecore_init_wfq_default_param(struct ecore_hwfn *p_hwfn, u32 min_pf_rate)
}
static void ecore_disable_wfq_for_all_vports(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u32 min_pf_rate)
+ struct ecore_ptt *p_ptt)
{
struct init_qm_vport_params *vport_params;
int i;
@@ -5160,7 +5536,7 @@ static void ecore_disable_wfq_for_all_vports(struct ecore_hwfn *p_hwfn,
vport_params = p_hwfn->qm_info.qm_vport_params;
for (i = 0; i < p_hwfn->qm_info.num_vports; i++) {
- ecore_init_wfq_default_param(p_hwfn, min_pf_rate);
+ ecore_init_wfq_default_param(p_hwfn);
ecore_init_vport_wfq(p_hwfn, p_ptt,
vport_params[i].first_tx_pq_id,
vport_params[i].vport_wfq);
@@ -5200,13 +5576,6 @@ static enum _ecore_status_t ecore_init_wfq_param(struct ecore_hwfn *p_hwfn,
non_requested_count = num_vports - req_count;
/* validate possible error cases */
- if (req_rate > min_pf_rate) {
- DP_VERBOSE(p_hwfn, ECORE_MSG_LINK,
- "Vport [%d] - Requested rate[%d Mbps] is greater than configured PF min rate[%d Mbps]\n",
- vport_id, req_rate, min_pf_rate);
- return ECORE_INVAL;
- }
-
if (req_rate < min_pf_rate / ECORE_WFQ_UNIT) {
DP_VERBOSE(p_hwfn, ECORE_MSG_LINK,
"Vport [%d] - Requested rate[%d Mbps] is less than one percent of configured PF min rate[%d Mbps]\n",
@@ -5313,7 +5682,7 @@ static int __ecore_configure_vp_wfq_on_link_change(struct ecore_hwfn *p_hwfn,
if (rc == ECORE_SUCCESS && use_wfq)
ecore_configure_wfq_for_all_vports(p_hwfn, p_ptt, min_pf_rate);
else
- ecore_disable_wfq_for_all_vports(p_hwfn, p_ptt, min_pf_rate);
+ ecore_disable_wfq_for_all_vports(p_hwfn, p_ptt);
return rc;
}
@@ -5516,8 +5885,7 @@ void ecore_clean_wfq_db(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt)
p_link = &p_hwfn->mcp_info->link_output;
if (p_link->min_pf_rate)
- ecore_disable_wfq_for_all_vports(p_hwfn, p_ptt,
- p_link->min_pf_rate);
+ ecore_disable_wfq_for_all_vports(p_hwfn, p_ptt);
OSAL_MEMSET(p_hwfn->qm_info.wfq_data, 0,
sizeof(*p_hwfn->qm_info.wfq_data) *
@@ -5535,7 +5903,13 @@ int ecore_device_num_ports(struct ecore_dev *p_dev)
if (p_dev->num_hwfns > 1)
return 1;
- return p_dev->num_ports_in_engines * ecore_device_num_engines(p_dev);
+ return p_dev->num_ports_in_engine * ecore_device_num_engines(p_dev);
+}
+
+int ecore_device_get_port_id(struct ecore_dev *p_dev)
+{
+ return (ECORE_LEADING_HWFN(p_dev)->abs_pf_id) %
+ ecore_device_num_ports(p_dev);
}
void ecore_set_fw_mac_addr(__le16 *fw_msb,
diff --git a/sys/dev/qlnx/qlnxe/ecore_dev_api.h b/sys/dev/qlnx/qlnxe/ecore_dev_api.h
index 235209e..94202a4 100644
--- a/sys/dev/qlnx/qlnxe/ecore_dev_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_dev_api.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_DEV_API_H__
#define __ECORE_DEV_API_H__
@@ -171,8 +170,9 @@ enum _ecore_status_t ecore_hw_stop(struct ecore_dev *p_dev);
*
* @param p_dev
*
+ * @return enum _ecore_status_t
*/
-void ecore_hw_stop_fastpath(struct ecore_dev *p_dev);
+enum _ecore_status_t ecore_hw_stop_fastpath(struct ecore_dev *p_dev);
/**
* @brief ecore_hw_hibernate_prepare -should be called when
@@ -197,10 +197,11 @@ void ecore_hw_hibernate_resume(struct ecore_dev *p_dev);
* @brief ecore_hw_start_fastpath -restart fastpath traffic,
* only if hw_stop_fastpath was called
- * @param p_dev
+ * @param p_hwfn
*
+ * @return enum _ecore_status_t
*/
-void ecore_hw_start_fastpath(struct ecore_hwfn *p_hwfn);
+enum _ecore_status_t ecore_hw_start_fastpath(struct ecore_hwfn *p_hwfn);
enum ecore_hw_prepare_result {
ECORE_HW_PREPARE_SUCCESS,
@@ -270,7 +271,6 @@ void ecore_hw_remove(struct ecore_dev *p_dev);
* @brief ecore_set_nwuf_reg -
*
* @param p_dev
-* @param wol_flag - wol_capability
* @param reg_idx - Index of the pattern register
* @param pattern_size - size of pattern
* @param crc - CRC value of patter & mask
@@ -278,30 +278,31 @@ void ecore_hw_remove(struct ecore_dev *p_dev);
* @return enum _ecore_status_t
*/
enum _ecore_status_t ecore_set_nwuf_reg(struct ecore_dev *p_dev,
- const bool b_enable,
- u32 reg_idx,
- u32 pattern_size,
- u32 crc);
+ u32 reg_idx, u32 pattern_size, u32 crc);
/**
* @brief ecore_get_wake_info - get magic packet buffer
*
-* @param p_dev
+* @param p_hwfn
+* @param p_ppt
* @param wake_info - pointer to ecore_wake_info buffer
*
* @return enum _ecore_status_t
*/
-enum _ecore_status_t ecore_get_wake_info(struct ecore_dev *p_dev,
- struct ecore_wake_info *wake_info);
+enum _ecore_status_t ecore_get_wake_info(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
+ struct ecore_wake_info *wake_info);
/**
* @brief ecore_wol_buffer_clear - Clear magic package buffer
*
-* @param p_dev
+* @param p_hwfn
+* @param p_ptt
*
* @return void
*/
-void ecore_wol_buffer_clear(struct ecore_dev *p_dev);
+void ecore_wol_buffer_clear(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt);
/**
* @brief ecore_ptt_acquire - Allocate a PTT window
@@ -328,6 +329,7 @@ struct ecore_ptt *ecore_ptt_acquire(struct ecore_hwfn *p_hwfn);
void ecore_ptt_release(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt);
+#ifndef __EXTRACT__LINUX__
struct ecore_eth_stats_common {
u64 no_buff_discards;
u64 packet_too_big_discard;
@@ -418,6 +420,7 @@ struct ecore_eth_stats {
struct ecore_eth_stats_ah ah;
};
};
+#endif
enum ecore_dmae_address_type_t {
ECORE_DMAE_ADDRESS_HOST_VIRT,
@@ -482,7 +485,7 @@ ecore_dmae_grc2host(struct ecore_hwfn *p_hwfn,
/**
* @brief ecore_dmae_host2host - copy data from to source address
- * to a destination address (for SRIOV) using the given ptt
+ * to a destination adress (for SRIOV) using the given ptt
*
* @param p_hwfn
* @param p_ptt
@@ -710,4 +713,44 @@ ecore_change_pci_hwfn(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
u8 enable);
+#ifndef __EXTRACT__LINUX__
+enum ecore_db_rec_width {
+ DB_REC_WIDTH_32B,
+ DB_REC_WIDTH_64B,
+};
+
+enum ecore_db_rec_space {
+ DB_REC_KERNEL,
+ DB_REC_USER,
+};
+#endif
+
+/**
+ * @brief db_recovery_add - add doorbell information to the doorbell
+ * recovery mechanism.
+ *
+ * @param p_dev
+ * @param db_addr - doorbell address
+ * @param db_data - address of where db_data is stored
+ * @param db_width - doorbell is 32b pr 64b
+ * @param db_space - doorbell recovery addresses are user or kernel space
+ */
+enum _ecore_status_t ecore_db_recovery_add(struct ecore_dev *p_dev,
+ void OSAL_IOMEM *db_addr,
+ void *db_data,
+ enum ecore_db_rec_width db_width,
+ enum ecore_db_rec_space db_space);
+
+/**
+ * @brief db_recovery_del - remove doorbell information from the doorbell
+ * recovery mechanism. db_data serves as key (db_addr is not unique).
+ *
+ * @param cdev
+ * @param db_addr - doorbell address
+ * @param db_data - address where db_data is stored. Serves as key for the
+ * entry to delete.
+ */
+enum _ecore_status_t ecore_db_recovery_del(struct ecore_dev *p_dev,
+ void OSAL_IOMEM *db_addr,
+ void *db_data);
#endif
diff --git a/sys/dev/qlnx/qlnxe/ecore_fcoe_api.h b/sys/dev/qlnx/qlnxe/ecore_fcoe_api.h
index 49456e1..edd650d 100644
--- a/sys/dev/qlnx/qlnxe/ecore_fcoe_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_fcoe_api.h
@@ -129,6 +129,7 @@ ecore_sp_fcoe_func_start(struct ecore_hwfn *p_hwfn,
enum _ecore_status_t
ecore_sp_fcoe_func_stop(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
enum spq_mode comp_mode,
struct ecore_spq_comp_cb *p_comp_addr);
diff --git a/sys/dev/qlnx/qlnxe/ecore_gtt_reg_addr.h b/sys/dev/qlnx/qlnxe/ecore_gtt_reg_addr.h
index 3c76b4c..7be3257 100644
--- a/sys/dev/qlnx/qlnxe/ecore_gtt_reg_addr.h
+++ b/sys/dev/qlnx/qlnxe/ecore_gtt_reg_addr.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef GTT_REG_ADDR_H
#define GTT_REG_ADDR_H
diff --git a/sys/dev/qlnx/qlnxe/ecore_hsi_common.h b/sys/dev/qlnx/qlnxe/ecore_hsi_common.h
index 02dc33e..945955a 100644
--- a/sys/dev/qlnx/qlnxe/ecore_hsi_common.h
+++ b/sys/dev/qlnx/qlnxe/ecore_hsi_common.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_HSI_COMMON__
#define __ECORE_HSI_COMMON__
/********************************/
@@ -74,6 +73,392 @@ enum common_ramrod_cmd_id
/*
+ * How ll2 should deal with packet upon errors
+ */
+enum core_error_handle
+{
+ LL2_DROP_PACKET /* If error occurs drop packet */,
+ LL2_DO_NOTHING /* If error occurs do nothing */,
+ LL2_ASSERT /* If error occurs assert */,
+ MAX_CORE_ERROR_HANDLE
+};
+
+
+/*
+ * opcodes for the event ring
+ */
+enum core_event_opcode
+{
+ CORE_EVENT_TX_QUEUE_START,
+ CORE_EVENT_TX_QUEUE_STOP,
+ CORE_EVENT_RX_QUEUE_START,
+ CORE_EVENT_RX_QUEUE_STOP,
+ CORE_EVENT_RX_QUEUE_FLUSH,
+ MAX_CORE_EVENT_OPCODE
+};
+
+
+/*
+ * The L4 pseudo checksum mode for Core
+ */
+enum core_l4_pseudo_checksum_mode
+{
+ CORE_L4_PSEUDO_CSUM_CORRECT_LENGTH /* Pseudo Checksum on packet is calculated with the correct packet length. */,
+ CORE_L4_PSEUDO_CSUM_ZERO_LENGTH /* Pseudo Checksum on packet is calculated with zero length. */,
+ MAX_CORE_L4_PSEUDO_CHECKSUM_MODE
+};
+
+
+/*
+ * Light-L2 RX Producers in Tstorm RAM
+ */
+struct core_ll2_port_stats
+{
+ struct regpair gsi_invalid_hdr;
+ struct regpair gsi_invalid_pkt_length;
+ struct regpair gsi_unsupported_pkt_typ;
+ struct regpair gsi_crcchksm_error;
+};
+
+
+/*
+ * Ethernet TX Per Queue Stats
+ */
+struct core_ll2_pstorm_per_queue_stat
+{
+ struct regpair sent_ucast_bytes /* number of total bytes sent without errors */;
+ struct regpair sent_mcast_bytes /* number of total bytes sent without errors */;
+ struct regpair sent_bcast_bytes /* number of total bytes sent without errors */;
+ struct regpair sent_ucast_pkts /* number of total packets sent without errors */;
+ struct regpair sent_mcast_pkts /* number of total packets sent without errors */;
+ struct regpair sent_bcast_pkts /* number of total packets sent without errors */;
+};
+
+
+/*
+ * Light-L2 RX Producers in Tstorm RAM
+ */
+struct core_ll2_rx_prod
+{
+ __le16 bd_prod /* BD Producer */;
+ __le16 cqe_prod /* CQE Producer */;
+ __le32 reserved;
+};
+
+
+struct core_ll2_tstorm_per_queue_stat
+{
+ struct regpair packet_too_big_discard /* Number of packets discarded because they are bigger than MTU */;
+ struct regpair no_buff_discard /* Number of packets discarded due to lack of host buffers */;
+};
+
+
+struct core_ll2_ustorm_per_queue_stat
+{
+ struct regpair rcv_ucast_bytes;
+ struct regpair rcv_mcast_bytes;
+ struct regpair rcv_bcast_bytes;
+ struct regpair rcv_ucast_pkts;
+ struct regpair rcv_mcast_pkts;
+ struct regpair rcv_bcast_pkts;
+};
+
+
+/*
+ * Core Ramrod Command IDs (light L2)
+ */
+enum core_ramrod_cmd_id
+{
+ CORE_RAMROD_UNUSED,
+ CORE_RAMROD_RX_QUEUE_START /* RX Queue Start Ramrod */,
+ CORE_RAMROD_TX_QUEUE_START /* TX Queue Start Ramrod */,
+ CORE_RAMROD_RX_QUEUE_STOP /* RX Queue Stop Ramrod */,
+ CORE_RAMROD_TX_QUEUE_STOP /* TX Queue Stop Ramrod */,
+ CORE_RAMROD_RX_QUEUE_FLUSH /* RX Flush queue Ramrod */,
+ MAX_CORE_RAMROD_CMD_ID
+};
+
+
+/*
+ * Core RX CQE Type for Light L2
+ */
+enum core_roce_flavor_type
+{
+ CORE_ROCE,
+ CORE_RROCE,
+ MAX_CORE_ROCE_FLAVOR_TYPE
+};
+
+
+/*
+ * Specifies how ll2 should deal with packets errors: packet_too_big and no_buff
+ */
+struct core_rx_action_on_error
+{
+ u8 error_type;
+#define CORE_RX_ACTION_ON_ERROR_PACKET_TOO_BIG_MASK 0x3 /* ll2 how to handle error packet_too_big (use enum core_error_handle) */
+#define CORE_RX_ACTION_ON_ERROR_PACKET_TOO_BIG_SHIFT 0
+#define CORE_RX_ACTION_ON_ERROR_NO_BUFF_MASK 0x3 /* ll2 how to handle error with no_buff (use enum core_error_handle) */
+#define CORE_RX_ACTION_ON_ERROR_NO_BUFF_SHIFT 2
+#define CORE_RX_ACTION_ON_ERROR_RESERVED_MASK 0xF
+#define CORE_RX_ACTION_ON_ERROR_RESERVED_SHIFT 4
+};
+
+
+/*
+ * Core RX BD for Light L2
+ */
+struct core_rx_bd
+{
+ struct regpair addr;
+ __le16 reserved[4];
+};
+
+
+/*
+ * Core RX CM offload BD for Light L2
+ */
+struct core_rx_bd_with_buff_len
+{
+ struct regpair addr;
+ __le16 buff_length;
+ __le16 reserved[3];
+};
+
+/*
+ * Core RX CM offload BD for Light L2
+ */
+union core_rx_bd_union
+{
+ struct core_rx_bd rx_bd /* Core Rx Bd static buffer size */;
+ struct core_rx_bd_with_buff_len rx_bd_with_len /* Core Rx Bd with dynamic buffer length */;
+};
+
+
+
+/*
+ * Opaque Data for Light L2 RX CQE .
+ */
+struct core_rx_cqe_opaque_data
+{
+ __le32 data[2] /* Opaque CQE Data */;
+};
+
+
+/*
+ * Core RX CQE Type for Light L2
+ */
+enum core_rx_cqe_type
+{
+ CORE_RX_CQE_ILLIGAL_TYPE /* Bad RX Cqe type */,
+ CORE_RX_CQE_TYPE_REGULAR /* Regular Core RX CQE */,
+ CORE_RX_CQE_TYPE_GSI_OFFLOAD /* Fp Gsi offload RX CQE */,
+ CORE_RX_CQE_TYPE_SLOW_PATH /* Slow path Core RX CQE */,
+ MAX_CORE_RX_CQE_TYPE
+};
+
+
+/*
+ * Core RX CQE for Light L2 .
+ */
+struct core_rx_fast_path_cqe
+{
+ u8 type /* CQE type */;
+ u8 placement_offset /* Offset (in bytes) of the packet from start of the buffer */;
+ struct parsing_and_err_flags parse_flags /* Parsing and error flags from the parser */;
+ __le16 packet_length /* Total packet length (from the parser) */;
+ __le16 vlan /* 802.1q VLAN tag */;
+ struct core_rx_cqe_opaque_data opaque_data /* Opaque Data */;
+ struct parsing_err_flags err_flags /* bit- map: each bit represents a specific error. errors indications are provided by the cracker. see spec for detailed description */;
+ __le16 reserved0;
+ __le32 reserved1[3];
+};
+
+/*
+ * Core Rx CM offload CQE .
+ */
+struct core_rx_gsi_offload_cqe
+{
+ u8 type /* CQE type */;
+ u8 data_length_error /* set if gsi data is bigger than buff */;
+ struct parsing_and_err_flags parse_flags /* Parsing and error flags from the parser */;
+ __le16 data_length /* Total packet length (from the parser) */;
+ __le16 vlan /* 802.1q VLAN tag */;
+ __le32 src_mac_addrhi /* hi 4 bytes source mac address */;
+ __le16 src_mac_addrlo /* lo 2 bytes of source mac address */;
+ __le16 qp_id /* These are the lower 16 bit of QP id in RoCE BTH header */;
+ __le32 gid_dst[4] /* Gid destination address */;
+};
+
+/*
+ * Core RX CQE for Light L2 .
+ */
+struct core_rx_slow_path_cqe
+{
+ u8 type /* CQE type */;
+ u8 ramrod_cmd_id;
+ __le16 echo;
+ struct core_rx_cqe_opaque_data opaque_data /* Opaque Data */;
+ __le32 reserved1[5];
+};
+
+/*
+ * Core RX CM offload BD for Light L2
+ */
+union core_rx_cqe_union
+{
+ struct core_rx_fast_path_cqe rx_cqe_fp /* Fast path CQE */;
+ struct core_rx_gsi_offload_cqe rx_cqe_gsi /* GSI offload CQE */;
+ struct core_rx_slow_path_cqe rx_cqe_sp /* Slow path CQE */;
+};
+
+
+
+
+
+/*
+ * Ramrod data for rx queue start ramrod
+ */
+struct core_rx_start_ramrod_data
+{
+ struct regpair bd_base /* bd address of the first bd page */;
+ struct regpair cqe_pbl_addr /* Base address on host of CQE PBL */;
+ __le16 mtu /* Maximum transmission unit */;
+ __le16 sb_id /* Status block ID */;
+ u8 sb_index /* index of the protocol index */;
+ u8 complete_cqe_flg /* post completion to the CQE ring if set */;
+ u8 complete_event_flg /* post completion to the event ring if set */;
+ u8 drop_ttl0_flg /* drop packet with ttl0 if set */;
+ __le16 num_of_pbl_pages /* Num of pages in CQE PBL */;
+ u8 inner_vlan_removal_en /* if set, 802.1q tags will be removed and copied to CQE */;
+ u8 queue_id /* Light L2 RX Queue ID */;
+ u8 main_func_queue /* Is this the main queue for the PF */;
+ u8 mf_si_bcast_accept_all /* Duplicate broadcast packets to LL2 main queue in mf_si mode. Valid if main_func_queue is set. */;
+ u8 mf_si_mcast_accept_all /* Duplicate multicast packets to LL2 main queue in mf_si mode. Valid if main_func_queue is set. */;
+ struct core_rx_action_on_error action_on_error /* Specifies how ll2 should deal with packets errors: packet_too_big and no_buff */;
+ u8 gsi_offload_flag /* set when in GSI offload mode on ROCE connection */;
+ u8 reserved[7];
+};
+
+
+/*
+ * Ramrod data for rx queue stop ramrod
+ */
+struct core_rx_stop_ramrod_data
+{
+ u8 complete_cqe_flg /* post completion to the CQE ring if set */;
+ u8 complete_event_flg /* post completion to the event ring if set */;
+ u8 queue_id /* Light L2 RX Queue ID */;
+ u8 reserved1;
+ __le16 reserved2[2];
+};
+
+
+/*
+ * Flags for Core TX BD
+ */
+struct core_tx_bd_data
+{
+ __le16 as_bitfield;
+#define CORE_TX_BD_DATA_FORCE_VLAN_MODE_MASK 0x1 /* Do not allow additional VLAN manipulations on this packet (DCB) */
+#define CORE_TX_BD_DATA_FORCE_VLAN_MODE_SHIFT 0
+#define CORE_TX_BD_DATA_VLAN_INSERTION_MASK 0x1 /* Insert VLAN into packet */
+#define CORE_TX_BD_DATA_VLAN_INSERTION_SHIFT 1
+#define CORE_TX_BD_DATA_START_BD_MASK 0x1 /* This is the first BD of the packet (for debug) */
+#define CORE_TX_BD_DATA_START_BD_SHIFT 2
+#define CORE_TX_BD_DATA_IP_CSUM_MASK 0x1 /* Calculate the IP checksum for the packet */
+#define CORE_TX_BD_DATA_IP_CSUM_SHIFT 3
+#define CORE_TX_BD_DATA_L4_CSUM_MASK 0x1 /* Calculate the L4 checksum for the packet */
+#define CORE_TX_BD_DATA_L4_CSUM_SHIFT 4
+#define CORE_TX_BD_DATA_IPV6_EXT_MASK 0x1 /* Packet is IPv6 with extensions */
+#define CORE_TX_BD_DATA_IPV6_EXT_SHIFT 5
+#define CORE_TX_BD_DATA_L4_PROTOCOL_MASK 0x1 /* If IPv6+ext, and if l4_csum is 1, than this field indicates L4 protocol: 0-TCP, 1-UDP */
+#define CORE_TX_BD_DATA_L4_PROTOCOL_SHIFT 6
+#define CORE_TX_BD_DATA_L4_PSEUDO_CSUM_MODE_MASK 0x1 /* The pseudo checksum mode to place in the L4 checksum field. Required only when IPv6+ext and l4_csum is set. (use enum core_l4_pseudo_checksum_mode) */
+#define CORE_TX_BD_DATA_L4_PSEUDO_CSUM_MODE_SHIFT 7
+#define CORE_TX_BD_DATA_NBDS_MASK 0xF /* Number of BDs that make up one packet - width wide enough to present CORE_LL2_TX_MAX_BDS_PER_PACKET */
+#define CORE_TX_BD_DATA_NBDS_SHIFT 8
+#define CORE_TX_BD_DATA_ROCE_FLAV_MASK 0x1 /* Use roce_flavor enum - Differentiate between Roce flavors is valid when connType is ROCE (use enum core_roce_flavor_type) */
+#define CORE_TX_BD_DATA_ROCE_FLAV_SHIFT 12
+#define CORE_TX_BD_DATA_IP_LEN_MASK 0x1 /* Calculate ip length */
+#define CORE_TX_BD_DATA_IP_LEN_SHIFT 13
+#define CORE_TX_BD_DATA_RESERVED0_MASK 0x3
+#define CORE_TX_BD_DATA_RESERVED0_SHIFT 14
+};
+
+/*
+ * Core TX BD for Light L2
+ */
+struct core_tx_bd
+{
+ struct regpair addr /* Buffer Address */;
+ __le16 nbytes /* Number of Bytes in Buffer */;
+ __le16 nw_vlan_or_lb_echo /* Network packets: VLAN to insert to packet (if insertion flag set) LoopBack packets: echo data to pass to Rx */;
+ struct core_tx_bd_data bd_data /* BD flags */;
+ __le16 bitfield1;
+#define CORE_TX_BD_L4_HDR_OFFSET_W_MASK 0x3FFF /* L4 Header Offset from start of packet (in Words). This is needed if both l4_csum and ipv6_ext are set */
+#define CORE_TX_BD_L4_HDR_OFFSET_W_SHIFT 0
+#define CORE_TX_BD_TX_DST_MASK 0x3 /* Packet destination - Network, Loopback or Drop (use enum core_tx_dest) */
+#define CORE_TX_BD_TX_DST_SHIFT 14
+};
+
+
+
+/*
+ * Light L2 TX Destination
+ */
+enum core_tx_dest
+{
+ CORE_TX_DEST_NW /* TX Destination to the Network */,
+ CORE_TX_DEST_LB /* TX Destination to the Loopback */,
+ CORE_TX_DEST_RESERVED,
+ CORE_TX_DEST_DROP /* TX Drop */,
+ MAX_CORE_TX_DEST
+};
+
+
+/*
+ * Ramrod data for tx queue start ramrod
+ */
+struct core_tx_start_ramrod_data
+{
+ struct regpair pbl_base_addr /* Address of the pbl page */;
+ __le16 mtu /* Maximum transmission unit */;
+ __le16 sb_id /* Status block ID */;
+ u8 sb_index /* Status block protocol index */;
+ u8 stats_en /* Statistics Enable */;
+ u8 stats_id /* Statistics Counter ID */;
+ u8 conn_type /* connection type that loaded ll2 */;
+ __le16 pbl_size /* Number of BD pages pointed by PBL */;
+ __le16 qm_pq_id /* QM PQ ID */;
+ u8 gsi_offload_flag /* set when in GSI offload mode on ROCE connection */;
+ u8 resrved[3];
+};
+
+
+/*
+ * Ramrod data for tx queue stop ramrod
+ */
+struct core_tx_stop_ramrod_data
+{
+ __le32 reserved0[2];
+};
+
+
+/*
+ * Enum flag for what type of dcb data to update
+ */
+enum dcb_dscp_update_mode
+{
+ DONT_UPDATE_DCB_DSCP /* use when no change should be done to dcb data */,
+ UPDATE_DCB /* use to update only l2 (vlan) priority */,
+ UPDATE_DSCP /* use to update only l3 dscp */,
+ UPDATE_DCB_DSCP /* update vlan pri and dscp */,
+ MAX_DCB_DSCP_UPDATE_MODE
+};
+
+
+/*
* The core storm context for the Ystorm
*/
struct ystorm_core_conn_st_ctx
@@ -560,7 +945,7 @@ struct ustorm_core_conn_st_ctx
/*
* core connection context
*/
-struct core_conn_context
+struct e4_core_conn_context
{
struct ystorm_core_conn_st_ctx ystorm_st_context /* ystorm storm context */;
struct regpair ystorm_st_padding[2] /* padding */;
@@ -576,389 +961,503 @@ struct core_conn_context
};
-/*
- * How ll2 should deal with packet upon errors
- */
-enum core_error_handle
-{
- LL2_DROP_PACKET /* If error occurs drop packet */,
- LL2_DO_NOTHING /* If error occurs do nothing */,
- LL2_ASSERT /* If error occurs assert */,
- MAX_CORE_ERROR_HANDLE
-};
-
-
-/*
- * opcodes for the event ring
- */
-enum core_event_opcode
-{
- CORE_EVENT_TX_QUEUE_START,
- CORE_EVENT_TX_QUEUE_STOP,
- CORE_EVENT_RX_QUEUE_START,
- CORE_EVENT_RX_QUEUE_STOP,
- CORE_EVENT_RX_QUEUE_FLUSH,
- MAX_CORE_EVENT_OPCODE
-};
-
-
-/*
- * The L4 pseudo checksum mode for Core
- */
-enum core_l4_pseudo_checksum_mode
-{
- CORE_L4_PSEUDO_CSUM_CORRECT_LENGTH /* Pseudo Checksum on packet is calculated with the correct packet length. */,
- CORE_L4_PSEUDO_CSUM_ZERO_LENGTH /* Pseudo Checksum on packet is calculated with zero length. */,
- MAX_CORE_L4_PSEUDO_CHECKSUM_MODE
-};
-
-
-/*
- * Light-L2 RX Producers in Tstorm RAM
- */
-struct core_ll2_port_stats
-{
- struct regpair gsi_invalid_hdr;
- struct regpair gsi_invalid_pkt_length;
- struct regpair gsi_unsupported_pkt_typ;
- struct regpair gsi_crcchksm_error;
-};
-
-
-/*
- * Ethernet TX Per Queue Stats
- */
-struct core_ll2_pstorm_per_queue_stat
-{
- struct regpair sent_ucast_bytes /* number of total bytes sent without errors */;
- struct regpair sent_mcast_bytes /* number of total bytes sent without errors */;
- struct regpair sent_bcast_bytes /* number of total bytes sent without errors */;
- struct regpair sent_ucast_pkts /* number of total packets sent without errors */;
- struct regpair sent_mcast_pkts /* number of total packets sent without errors */;
- struct regpair sent_bcast_pkts /* number of total packets sent without errors */;
-};
-
-
-/*
- * Light-L2 RX Producers in Tstorm RAM
- */
-struct core_ll2_rx_prod
-{
- __le16 bd_prod /* BD Producer */;
- __le16 cqe_prod /* CQE Producer */;
- __le32 reserved;
-};
-
-
-struct core_ll2_tstorm_per_queue_stat
-{
- struct regpair packet_too_big_discard /* Number of packets discarded because they are bigger than MTU */;
- struct regpair no_buff_discard /* Number of packets discarded due to lack of host buffers */;
-};
-
-
-struct core_ll2_ustorm_per_queue_stat
-{
- struct regpair rcv_ucast_bytes;
- struct regpair rcv_mcast_bytes;
- struct regpair rcv_bcast_bytes;
- struct regpair rcv_ucast_pkts;
- struct regpair rcv_mcast_pkts;
- struct regpair rcv_bcast_pkts;
-};
-
-
-/*
- * Core Ramrod Command IDs (light L2)
- */
-enum core_ramrod_cmd_id
-{
- CORE_RAMROD_UNUSED,
- CORE_RAMROD_RX_QUEUE_START /* RX Queue Start Ramrod */,
- CORE_RAMROD_TX_QUEUE_START /* TX Queue Start Ramrod */,
- CORE_RAMROD_RX_QUEUE_STOP /* RX Queue Stop Ramrod */,
- CORE_RAMROD_TX_QUEUE_STOP /* TX Queue Stop Ramrod */,
- CORE_RAMROD_RX_QUEUE_FLUSH /* RX Flush queue Ramrod */,
- MAX_CORE_RAMROD_CMD_ID
-};
-
-
-/*
- * Core RX CQE Type for Light L2
- */
-enum core_roce_flavor_type
-{
- CORE_ROCE,
- CORE_RROCE,
- MAX_CORE_ROCE_FLAVOR_TYPE
-};
-
-
-/*
- * Specifies how ll2 should deal with packets errors: packet_too_big and no_buff
- */
-struct core_rx_action_on_error
-{
- u8 error_type;
-#define CORE_RX_ACTION_ON_ERROR_PACKET_TOO_BIG_MASK 0x3 /* ll2 how to handle error packet_too_big (use enum core_error_handle) */
-#define CORE_RX_ACTION_ON_ERROR_PACKET_TOO_BIG_SHIFT 0
-#define CORE_RX_ACTION_ON_ERROR_NO_BUFF_MASK 0x3 /* ll2 how to handle error with no_buff (use enum core_error_handle) */
-#define CORE_RX_ACTION_ON_ERROR_NO_BUFF_SHIFT 2
-#define CORE_RX_ACTION_ON_ERROR_RESERVED_MASK 0xF
-#define CORE_RX_ACTION_ON_ERROR_RESERVED_SHIFT 4
-};
-
-
-/*
- * Core RX BD for Light L2
- */
-struct core_rx_bd
-{
- struct regpair addr;
- __le16 reserved[4];
-};
-
-
-/*
- * Core RX CM offload BD for Light L2
- */
-struct core_rx_bd_with_buff_len
-{
- struct regpair addr;
- __le16 buff_length;
- __le16 reserved[3];
-};
-
-/*
- * Core RX CM offload BD for Light L2
- */
-union core_rx_bd_union
-{
- struct core_rx_bd rx_bd /* Core Rx Bd static buffer size */;
- struct core_rx_bd_with_buff_len rx_bd_with_len /* Core Rx Bd with dynamic buffer length */;
-};
-
-
-
-/*
- * Opaque Data for Light L2 RX CQE .
- */
-struct core_rx_cqe_opaque_data
-{
- __le32 data[2] /* Opaque CQE Data */;
-};
-
-
-/*
- * Core RX CQE Type for Light L2
- */
-enum core_rx_cqe_type
-{
- CORE_RX_CQE_ILLIGAL_TYPE /* Bad RX Cqe type */,
- CORE_RX_CQE_TYPE_REGULAR /* Regular Core RX CQE */,
- CORE_RX_CQE_TYPE_GSI_OFFLOAD /* Fp Gsi offload RX CQE */,
- CORE_RX_CQE_TYPE_SLOW_PATH /* Slow path Core RX CQE */,
- MAX_CORE_RX_CQE_TYPE
-};
-
-
-/*
- * Core RX CQE for Light L2 .
- */
-struct core_rx_fast_path_cqe
-{
- u8 type /* CQE type */;
- u8 placement_offset /* Offset (in bytes) of the packet from start of the buffer */;
- struct parsing_and_err_flags parse_flags /* Parsing and error flags from the parser */;
- __le16 packet_length /* Total packet length (from the parser) */;
- __le16 vlan /* 802.1q VLAN tag */;
- struct core_rx_cqe_opaque_data opaque_data /* Opaque Data */;
- struct parsing_err_flags err_flags /* bit- map: each bit represents a specific error. errors indications are provided by the cracker. see spec for detailed description */;
- __le16 reserved0;
- __le32 reserved1[3];
-};
-
-/*
- * Core Rx CM offload CQE .
- */
-struct core_rx_gsi_offload_cqe
-{
- u8 type /* CQE type */;
- u8 data_length_error /* set if gsi data is bigger than buff */;
- struct parsing_and_err_flags parse_flags /* Parsing and error flags from the parser */;
- __le16 data_length /* Total packet length (from the parser) */;
- __le16 vlan /* 802.1q VLAN tag */;
- __le32 src_mac_addrhi /* hi 4 bytes source mac address */;
- __le16 src_mac_addrlo /* lo 2 bytes of source mac address */;
- __le16 qp_id /* These are the lower 16 bit of QP id in RoCE BTH header */;
- __le32 gid_dst[4] /* Gid destination address */;
-};
-
-/*
- * Core RX CQE for Light L2 .
- */
-struct core_rx_slow_path_cqe
-{
- u8 type /* CQE type */;
- u8 ramrod_cmd_id;
- __le16 echo;
- struct core_rx_cqe_opaque_data opaque_data /* Opaque Data */;
- __le32 reserved1[5];
-};
-
-/*
- * Core RX CM offload BD for Light L2
- */
-union core_rx_cqe_union
-{
- struct core_rx_fast_path_cqe rx_cqe_fp /* Fast path CQE */;
- struct core_rx_gsi_offload_cqe rx_cqe_gsi /* GSI offload CQE */;
- struct core_rx_slow_path_cqe rx_cqe_sp /* Slow path CQE */;
-};
-
-
-
-
-
-/*
- * Ramrod data for rx queue start ramrod
- */
-struct core_rx_start_ramrod_data
-{
- struct regpair bd_base /* bd address of the first bd page */;
- struct regpair cqe_pbl_addr /* Base address on host of CQE PBL */;
- __le16 mtu /* Maximum transmission unit */;
- __le16 sb_id /* Status block ID */;
- u8 sb_index /* index of the protocol index */;
- u8 complete_cqe_flg /* post completion to the CQE ring if set */;
- u8 complete_event_flg /* post completion to the event ring if set */;
- u8 drop_ttl0_flg /* drop packet with ttl0 if set */;
- __le16 num_of_pbl_pages /* Num of pages in CQE PBL */;
- u8 inner_vlan_removal_en /* if set, 802.1q tags will be removed and copied to CQE */;
- u8 queue_id /* Light L2 RX Queue ID */;
- u8 main_func_queue /* Is this the main queue for the PF */;
- u8 mf_si_bcast_accept_all /* Duplicate broadcast packets to LL2 main queue in mf_si mode. Valid if main_func_queue is set. */;
- u8 mf_si_mcast_accept_all /* Duplicate multicast packets to LL2 main queue in mf_si mode. Valid if main_func_queue is set. */;
- struct core_rx_action_on_error action_on_error /* Specifies how ll2 should deal with packets errors: packet_too_big and no_buff */;
- u8 gsi_offload_flag /* set when in GSI offload mode on ROCE connection */;
- u8 reserved[7];
-};
-
-
-/*
- * Ramrod data for rx queue stop ramrod
- */
-struct core_rx_stop_ramrod_data
-{
- u8 complete_cqe_flg /* post completion to the CQE ring if set */;
- u8 complete_event_flg /* post completion to the event ring if set */;
- u8 queue_id /* Light L2 RX Queue ID */;
- u8 reserved1;
- __le16 reserved2[2];
-};
-
-
-/*
- * Flags for Core TX BD
- */
-struct core_tx_bd_data
-{
- __le16 as_bitfield;
-#define CORE_TX_BD_DATA_FORCE_VLAN_MODE_MASK 0x1 /* Do not allow additional VLAN manipulations on this packet (DCB) */
-#define CORE_TX_BD_DATA_FORCE_VLAN_MODE_SHIFT 0
-#define CORE_TX_BD_DATA_VLAN_INSERTION_MASK 0x1 /* Insert VLAN into packet */
-#define CORE_TX_BD_DATA_VLAN_INSERTION_SHIFT 1
-#define CORE_TX_BD_DATA_START_BD_MASK 0x1 /* This is the first BD of the packet (for debug) */
-#define CORE_TX_BD_DATA_START_BD_SHIFT 2
-#define CORE_TX_BD_DATA_IP_CSUM_MASK 0x1 /* Calculate the IP checksum for the packet */
-#define CORE_TX_BD_DATA_IP_CSUM_SHIFT 3
-#define CORE_TX_BD_DATA_L4_CSUM_MASK 0x1 /* Calculate the L4 checksum for the packet */
-#define CORE_TX_BD_DATA_L4_CSUM_SHIFT 4
-#define CORE_TX_BD_DATA_IPV6_EXT_MASK 0x1 /* Packet is IPv6 with extensions */
-#define CORE_TX_BD_DATA_IPV6_EXT_SHIFT 5
-#define CORE_TX_BD_DATA_L4_PROTOCOL_MASK 0x1 /* If IPv6+ext, and if l4_csum is 1, than this field indicates L4 protocol: 0-TCP, 1-UDP */
-#define CORE_TX_BD_DATA_L4_PROTOCOL_SHIFT 6
-#define CORE_TX_BD_DATA_L4_PSEUDO_CSUM_MODE_MASK 0x1 /* The pseudo checksum mode to place in the L4 checksum field. Required only when IPv6+ext and l4_csum is set. (use enum core_l4_pseudo_checksum_mode) */
-#define CORE_TX_BD_DATA_L4_PSEUDO_CSUM_MODE_SHIFT 7
-#define CORE_TX_BD_DATA_NBDS_MASK 0xF /* Number of BDs that make up one packet - width wide enough to present CORE_LL2_TX_MAX_BDS_PER_PACKET */
-#define CORE_TX_BD_DATA_NBDS_SHIFT 8
-#define CORE_TX_BD_DATA_ROCE_FLAV_MASK 0x1 /* Use roce_flavor enum - Differentiate between Roce flavors is valid when connType is ROCE (use enum core_roce_flavor_type) */
-#define CORE_TX_BD_DATA_ROCE_FLAV_SHIFT 12
-#define CORE_TX_BD_DATA_IP_LEN_MASK 0x1 /* Calculate ip length */
-#define CORE_TX_BD_DATA_IP_LEN_SHIFT 13
-#define CORE_TX_BD_DATA_RESERVED0_MASK 0x3
-#define CORE_TX_BD_DATA_RESERVED0_SHIFT 14
-};
-
-/*
- * Core TX BD for Light L2
- */
-struct core_tx_bd
-{
- struct regpair addr /* Buffer Address */;
- __le16 nbytes /* Number of Bytes in Buffer */;
- __le16 nw_vlan_or_lb_echo /* Network packets: VLAN to insert to packet (if insertion flag set) LoopBack packets: echo data to pass to Rx */;
- struct core_tx_bd_data bd_data /* BD Flags */;
- __le16 bitfield1;
-#define CORE_TX_BD_L4_HDR_OFFSET_W_MASK 0x3FFF /* L4 Header Offset from start of packet (in Words). This is needed if both l4_csum and ipv6_ext are set */
-#define CORE_TX_BD_L4_HDR_OFFSET_W_SHIFT 0
-#define CORE_TX_BD_TX_DST_MASK 0x3 /* Packet destination - Network, Loopback or Drop (use enum core_tx_dest) */
-#define CORE_TX_BD_TX_DST_SHIFT 14
-};
-
-
-
-/*
- * Light L2 TX Destination
- */
-enum core_tx_dest
+struct e5_xstorm_core_conn_ag_ctx
{
- CORE_TX_DEST_NW /* TX Destination to the Network */,
- CORE_TX_DEST_LB /* TX Destination to the Loopback */,
- CORE_TX_DEST_RESERVED,
- CORE_TX_DEST_DROP /* TX Drop */,
- MAX_CORE_TX_DEST
+ u8 reserved0 /* cdu_validation */;
+ u8 state_and_core_id /* state_and_core_id */;
+ u8 flags0;
+#define E5_XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED1_MASK 0x1 /* exist_in_qm1 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED1_SHIFT 1
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED2_MASK 0x1 /* exist_in_qm2 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED2_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1 /* exist_in_qm3 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED3_MASK 0x1 /* bit4 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED3_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED4_MASK 0x1 /* cf_array_active */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED4_SHIFT 5
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED5_MASK 0x1 /* bit6 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED5_SHIFT 6
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED6_MASK 0x1 /* bit7 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED6_SHIFT 7
+ u8 flags1;
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED7_MASK 0x1 /* bit8 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED7_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED8_MASK 0x1 /* bit9 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED8_SHIFT 1
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED9_MASK 0x1 /* bit10 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED9_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT11_SHIFT 3
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT12_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT13_SHIFT 5
+#define E5_XSTORM_CORE_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x1 /* bit14 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 6
+#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x1 /* bit15 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT 7
+ u8 flags2;
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF3_SHIFT 6
+ u8 flags3;
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF4_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF5_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF6_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF7_SHIFT 6
+ u8 flags4;
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF8_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF9_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF10_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF11_MASK 0x3 /* cf11 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF11_SHIFT 6
+ u8 flags5;
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF12_MASK 0x3 /* cf12 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF12_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF13_MASK 0x3 /* cf13 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF13_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF14_MASK 0x3 /* cf14 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF14_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF15_MASK 0x3 /* cf15 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF15_SHIFT 6
+ u8 flags6;
+#define E5_XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_MASK 0x3 /* cf16 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF17_MASK 0x3 /* cf_array_cf */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF17_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_MASK 0x3 /* cf18 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_MASK 0x3 /* cf19 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_SHIFT 6
+ u8 flags7;
+#define E5_XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf20 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED10_MASK 0x3 /* cf21 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED10_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_MASK 0x3 /* cf22 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 6
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 7
+ u8 flags8;
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 1
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 3
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF7EN_SHIFT 5
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF8EN_SHIFT 6
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF9EN_SHIFT 7
+ u8 flags9;
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF10EN_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF11EN_MASK 0x1 /* cf11en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF11EN_SHIFT 1
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF12EN_MASK 0x1 /* cf12en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF12EN_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF13EN_MASK 0x1 /* cf13en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF13EN_SHIFT 3
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF14EN_MASK 0x1 /* cf14en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF14EN_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF15EN_MASK 0x1 /* cf15en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF15EN_SHIFT 5
+#define E5_XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_EN_MASK 0x1 /* cf16en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_EN_SHIFT 6
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF17EN_MASK 0x1 /* cf_array_cf_en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF17EN_SHIFT 7
+ u8 flags10;
+#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_EN_MASK 0x1 /* cf18en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_EN_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_EN_MASK 0x1 /* cf19en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT 1
+#define E5_XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf20en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED11_MASK 0x1 /* cf21en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED11_SHIFT 3
+#define E5_XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1 /* cf22en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF23EN_MASK 0x1 /* cf23en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF23EN_SHIFT 5
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED12_MASK 0x1 /* rule0en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED12_SHIFT 6
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED13_MASK 0x1 /* rule1en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED13_SHIFT 7
+ u8 flags11;
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED14_MASK 0x1 /* rule2en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED14_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED15_MASK 0x1 /* rule3en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED15_SHIFT 1
+#define E5_XSTORM_CORE_CONN_AG_CTX_TX_DEC_RULE_EN_MASK 0x1 /* rule4en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 3
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 5
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED1_MASK 0x1 /* rule8en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE9EN_MASK 0x1 /* rule9en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE9EN_SHIFT 7
+ u8 flags12;
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE10EN_MASK 0x1 /* rule10en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE10EN_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE11EN_MASK 0x1 /* rule11en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE11EN_SHIFT 1
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED2_MASK 0x1 /* rule12en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED3_MASK 0x1 /* rule13en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE14EN_MASK 0x1 /* rule14en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE14EN_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE15EN_MASK 0x1 /* rule15en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE15EN_SHIFT 5
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE16EN_MASK 0x1 /* rule16en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE16EN_SHIFT 6
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE17EN_MASK 0x1 /* rule17en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE17EN_SHIFT 7
+ u8 flags13;
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE18EN_MASK 0x1 /* rule18en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE18EN_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE19EN_MASK 0x1 /* rule19en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_RULE19EN_SHIFT 1
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED4_MASK 0x1 /* rule20en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED4_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED5_MASK 0x1 /* rule21en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED5_SHIFT 3
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED6_MASK 0x1 /* rule22en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED7_MASK 0x1 /* rule23en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED7_SHIFT 5
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED8_MASK 0x1 /* rule24en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED9_MASK 0x1 /* rule25en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
+ u8 flags14;
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT16_MASK 0x1 /* bit16 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT16_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT17_MASK 0x1 /* bit17 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT17_SHIFT 1
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT18_MASK 0x1 /* bit18 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT18_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT19_MASK 0x1 /* bit19 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT19_SHIFT 3
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT20_MASK 0x1 /* bit20 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT20_SHIFT 4
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT21_MASK 0x1 /* bit21 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_BIT21_SHIFT 5
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF23_MASK 0x3 /* cf23 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_CF23_SHIFT 6
+ u8 byte2 /* byte2 */;
+ __le16 physical_q0 /* physical_q0 */;
+ __le16 consolid_prod /* physical_q1 */;
+ __le16 reserved16 /* physical_q2 */;
+ __le16 tx_bd_cons /* word3 */;
+ __le16 tx_bd_or_spq_prod /* word4 */;
+ __le16 word5 /* word5 */;
+ __le16 conn_dpi /* conn_dpi */;
+ u8 byte3 /* byte3 */;
+ u8 byte4 /* byte4 */;
+ u8 byte5 /* byte5 */;
+ u8 byte6 /* byte6 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+ __le32 reg4 /* reg4 */;
+ __le32 reg5 /* cf_array0 */;
+ __le32 reg6 /* cf_array1 */;
+ u8 flags15;
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit22 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit23 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit24 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf24 */
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf24en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule26en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule27en */
+#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
+ u8 byte7 /* byte7 */;
+ __le16 word7 /* word7 */;
+ __le16 word8 /* word8 */;
+ __le16 word9 /* word9 */;
+ __le16 word10 /* word10 */;
+ __le16 word11 /* word11 */;
+ __le32 reg7 /* reg7 */;
+ __le32 reg8 /* reg8 */;
+ __le32 reg9 /* reg9 */;
+ u8 byte8 /* byte8 */;
+ u8 byte9 /* byte9 */;
+ u8 byte10 /* byte10 */;
+ u8 byte11 /* byte11 */;
+ u8 byte12 /* byte12 */;
+ u8 byte13 /* byte13 */;
+ u8 byte14 /* byte14 */;
+ u8 byte15 /* byte15 */;
+ __le32 reg10 /* reg10 */;
+ __le32 reg11 /* reg11 */;
+ __le32 reg12 /* reg12 */;
+ __le32 reg13 /* reg13 */;
+ __le32 reg14 /* reg14 */;
+ __le32 reg15 /* reg15 */;
+ __le32 reg16 /* reg16 */;
+ __le32 reg17 /* reg17 */;
+ __le32 reg18 /* reg18 */;
+ __le32 reg19 /* reg19 */;
+ __le16 word12 /* word12 */;
+ __le16 word13 /* word13 */;
+ __le16 word14 /* word14 */;
+ __le16 word15 /* word15 */;
};
-
-/*
- * Ramrod data for tx queue start ramrod
- */
-struct core_tx_start_ramrod_data
+struct e5_tstorm_core_conn_ag_ctx
{
- struct regpair pbl_base_addr /* Address of the pbl page */;
- __le16 mtu /* Maximum transmission unit */;
- __le16 sb_id /* Status block ID */;
- u8 sb_index /* Status block protocol index */;
- u8 stats_en /* Statistics Enable */;
- u8 stats_id /* Statistics Counter ID */;
- u8 conn_type /* connection type that loaded ll2 */;
- __le16 pbl_size /* Number of BD pages pointed by PBL */;
- __le16 qm_pq_id /* QM PQ ID */;
- u8 gsi_offload_flag /* set when in GSI offload mode on ROCE connection */;
- u8 resrved[3];
+ u8 byte0 /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ u8 flags0;
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 0
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT2_SHIFT 2
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT3_SHIFT 3
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT4_SHIFT 4
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_BIT5_SHIFT 5
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 6
+ u8 flags1;
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 0
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 2
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF3_SHIFT 4
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF4_SHIFT 6
+ u8 flags2;
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF5_SHIFT 0
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF6_SHIFT 2
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF7_SHIFT 4
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF8_SHIFT 6
+ u8 flags3;
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF9_SHIFT 0
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF10_SHIFT 2
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 4
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 5
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 6
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 7
+ u8 flags4;
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 0
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 1
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 2
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF7EN_SHIFT 3
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF8EN_SHIFT 4
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF9EN_SHIFT 5
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_CF10EN_SHIFT 6
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 7
+ u8 flags5;
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 0
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 1
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 2
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 3
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 4
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 5
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 6
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_RULE8EN_SHIFT 7
+ u8 flags6;
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */
+#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
+ u8 byte2 /* byte2 */;
+ __le16 word0 /* word0 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+ __le32 reg4 /* reg4 */;
+ __le32 reg5 /* reg5 */;
+ __le32 reg6 /* reg6 */;
+ __le32 reg7 /* reg7 */;
+ __le32 reg8 /* reg8 */;
+ u8 byte3 /* byte3 */;
+ u8 byte4 /* byte4 */;
+ u8 byte5 /* byte5 */;
+ u8 e4_reserved8 /* byte6 */;
+ __le16 word1 /* word1 */;
+ __le16 word2 /* conn_dpi */;
+ __le32 reg9 /* reg9 */;
+ __le16 word3 /* word3 */;
+ __le16 e4_reserved9 /* word4 */;
};
-
-/*
- * Ramrod data for tx queue stop ramrod
- */
-struct core_tx_stop_ramrod_data
+struct e5_ustorm_core_conn_ag_ctx
{
- __le32 reserved0[2];
+ u8 reserved /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ u8 flags0;
+#define E5_USTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_USTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 0
+#define E5_USTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_USTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_USTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF0_SHIFT 2
+#define E5_USTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF1_SHIFT 4
+#define E5_USTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF2_SHIFT 6
+ u8 flags1;
+#define E5_USTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF3_SHIFT 0
+#define E5_USTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF4_SHIFT 2
+#define E5_USTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF5_SHIFT 4
+#define E5_USTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF6_SHIFT 6
+ u8 flags2;
+#define E5_USTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 0
+#define E5_USTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 1
+#define E5_USTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 2
+#define E5_USTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 3
+#define E5_USTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 4
+#define E5_USTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 5
+#define E5_USTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_USTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 6
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 7
+ u8 flags3;
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 0
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 1
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 2
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 3
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 4
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 5
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 6
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
+#define E5_USTORM_CORE_CONN_AG_CTX_RULE8EN_SHIFT 7
+ u8 flags4;
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf7 */
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf8 */
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED4_SHIFT 4
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf7en */
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED5_SHIFT 6
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf8en */
+#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED6_SHIFT 7
+ u8 byte2 /* byte2 */;
+ __le16 word0 /* conn_dpi */;
+ __le16 word1 /* word1 */;
+ __le32 rx_producers /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+ __le16 word2 /* word2 */;
+ __le16 word3 /* word3 */;
};
-
/*
- * Enum flag for what type of dcb data to update
+ * core connection context
*/
-enum dcb_dscp_update_mode
+struct e5_core_conn_context
{
- DONT_UPDATE_DCB_DSCP /* use when no change should be done to dcb data */,
- UPDATE_DCB /* use to update only l2 (vlan) priority */,
- UPDATE_DSCP /* use to update only l3 dscp */,
- UPDATE_DCB_DSCP /* update vlan pri and dscp */,
- MAX_DCB_DSCP_UPDATE_MODE
+ struct ystorm_core_conn_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct regpair ystorm_st_padding[2] /* padding */;
+ struct pstorm_core_conn_st_ctx pstorm_st_context /* pstorm storm context */;
+ struct regpair pstorm_st_padding[2] /* padding */;
+ struct xstorm_core_conn_st_ctx xstorm_st_context /* xstorm storm context */;
+ struct e5_xstorm_core_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
+ struct e5_tstorm_core_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
+ struct e5_ustorm_core_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+ struct mstorm_core_conn_st_ctx mstorm_st_context /* mstorm storm context */;
+ struct ustorm_core_conn_st_ctx ustorm_st_context /* ustorm storm context */;
+ struct regpair ustorm_st_padding[2] /* padding */;
};
@@ -1830,489 +2329,8 @@ struct e5_mstorm_core_conn_ag_ctx
};
-struct e5_tstorm_core_conn_ag_ctx
-{
- u8 byte0 /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- u8 flags0;
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 0
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT2_SHIFT 2
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT3_SHIFT 3
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT4_SHIFT 4
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_BIT5_SHIFT 5
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 6
- u8 flags1;
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 0
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 2
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF3_SHIFT 4
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF4_SHIFT 6
- u8 flags2;
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF5_SHIFT 0
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF6_SHIFT 2
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF7_SHIFT 4
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF8_SHIFT 6
- u8 flags3;
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF9_SHIFT 0
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF10_SHIFT 2
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 4
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 5
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 6
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 7
- u8 flags4;
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 0
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 1
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 2
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF7EN_SHIFT 3
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF8EN_SHIFT 4
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF9EN_SHIFT 5
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_CF10EN_SHIFT 6
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 7
- u8 flags5;
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 0
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 1
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 2
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 3
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 4
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 5
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 6
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_RULE8EN_SHIFT 7
- u8 flags6;
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */
-#define E5_TSTORM_CORE_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
- u8 byte2 /* byte2 */;
- __le16 word0 /* word0 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
- __le32 reg4 /* reg4 */;
- __le32 reg5 /* reg5 */;
- __le32 reg6 /* reg6 */;
- __le32 reg7 /* reg7 */;
- __le32 reg8 /* reg8 */;
- u8 byte3 /* byte3 */;
- u8 byte4 /* byte4 */;
- u8 byte5 /* byte5 */;
- u8 e4_reserved8 /* byte6 */;
- __le16 word1 /* word1 */;
- __le16 word2 /* conn_dpi */;
- __le32 reg9 /* reg9 */;
- __le16 word3 /* word3 */;
- __le16 e4_reserved9 /* word4 */;
-};
-
-
-struct e5_ustorm_core_conn_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- u8 flags0;
-#define E5_USTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_USTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 0
-#define E5_USTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_USTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_USTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF0_SHIFT 2
-#define E5_USTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF1_SHIFT 4
-#define E5_USTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF2_SHIFT 6
- u8 flags1;
-#define E5_USTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF3_SHIFT 0
-#define E5_USTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF4_SHIFT 2
-#define E5_USTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF5_SHIFT 4
-#define E5_USTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF6_SHIFT 6
- u8 flags2;
-#define E5_USTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 0
-#define E5_USTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 1
-#define E5_USTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 2
-#define E5_USTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 3
-#define E5_USTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 4
-#define E5_USTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 5
-#define E5_USTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_USTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 6
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 7
- u8 flags3;
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 0
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 1
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 2
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 3
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 4
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 5
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 6
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
-#define E5_USTORM_CORE_CONN_AG_CTX_RULE8EN_SHIFT 7
- u8 flags4;
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf7 */
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf8 */
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED4_SHIFT 4
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf7en */
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED5_SHIFT 6
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf8en */
-#define E5_USTORM_CORE_CONN_AG_CTX_E4_RESERVED6_SHIFT 7
- u8 byte2 /* byte2 */;
- __le16 word0 /* conn_dpi */;
- __le16 word1 /* word1 */;
- __le32 rx_producers /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
- __le16 word2 /* word2 */;
- __le16 word3 /* word3 */;
-};
-struct e5_xstorm_core_conn_ag_ctx
-{
- u8 reserved0 /* cdu_validation */;
- u8 state_and_core_id /* state_and_core_id */;
- u8 flags0;
-#define E5_XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED1_MASK 0x1 /* exist_in_qm1 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED1_SHIFT 1
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED2_MASK 0x1 /* exist_in_qm2 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED2_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1 /* exist_in_qm3 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED3_MASK 0x1 /* bit4 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED3_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED4_MASK 0x1 /* cf_array_active */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED4_SHIFT 5
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED5_MASK 0x1 /* bit6 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED5_SHIFT 6
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED6_MASK 0x1 /* bit7 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED6_SHIFT 7
- u8 flags1;
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED7_MASK 0x1 /* bit8 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED7_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED8_MASK 0x1 /* bit9 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED8_SHIFT 1
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED9_MASK 0x1 /* bit10 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED9_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT11_SHIFT 3
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT12_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT13_SHIFT 5
-#define E5_XSTORM_CORE_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x1 /* bit14 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 6
-#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x1 /* bit15 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT 7
- u8 flags2;
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF3_SHIFT 6
- u8 flags3;
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF4_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF5_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF6_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF7_SHIFT 6
- u8 flags4;
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF8_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF9_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF10_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF11_MASK 0x3 /* cf11 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF11_SHIFT 6
- u8 flags5;
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF12_MASK 0x3 /* cf12 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF12_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF13_MASK 0x3 /* cf13 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF13_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF14_MASK 0x3 /* cf14 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF14_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF15_MASK 0x3 /* cf15 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF15_SHIFT 6
- u8 flags6;
-#define E5_XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_MASK 0x3 /* cf16 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF17_MASK 0x3 /* cf_array_cf */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF17_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_MASK 0x3 /* cf18 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_MASK 0x3 /* cf19 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_SHIFT 6
- u8 flags7;
-#define E5_XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf20 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED10_MASK 0x3 /* cf21 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED10_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_MASK 0x3 /* cf22 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 6
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 7
- u8 flags8;
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 1
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 3
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF7EN_SHIFT 5
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF8EN_SHIFT 6
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF9EN_SHIFT 7
- u8 flags9;
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF10EN_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF11EN_MASK 0x1 /* cf11en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF11EN_SHIFT 1
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF12EN_MASK 0x1 /* cf12en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF12EN_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF13EN_MASK 0x1 /* cf13en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF13EN_SHIFT 3
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF14EN_MASK 0x1 /* cf14en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF14EN_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF15EN_MASK 0x1 /* cf15en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF15EN_SHIFT 5
-#define E5_XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_EN_MASK 0x1 /* cf16en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_EN_SHIFT 6
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF17EN_MASK 0x1 /* cf_array_cf_en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF17EN_SHIFT 7
- u8 flags10;
-#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_EN_MASK 0x1 /* cf18en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_DQ_CF_EN_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_EN_MASK 0x1 /* cf19en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT 1
-#define E5_XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf20en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED11_MASK 0x1 /* cf21en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED11_SHIFT 3
-#define E5_XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1 /* cf22en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF23EN_MASK 0x1 /* cf23en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF23EN_SHIFT 5
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED12_MASK 0x1 /* rule0en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED12_SHIFT 6
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED13_MASK 0x1 /* rule1en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED13_SHIFT 7
- u8 flags11;
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED14_MASK 0x1 /* rule2en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED14_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED15_MASK 0x1 /* rule3en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RESERVED15_SHIFT 1
-#define E5_XSTORM_CORE_CONN_AG_CTX_TX_DEC_RULE_EN_MASK 0x1 /* rule4en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 3
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 5
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED1_MASK 0x1 /* rule8en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE9EN_MASK 0x1 /* rule9en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE9EN_SHIFT 7
- u8 flags12;
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE10EN_MASK 0x1 /* rule10en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE10EN_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE11EN_MASK 0x1 /* rule11en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE11EN_SHIFT 1
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED2_MASK 0x1 /* rule12en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED3_MASK 0x1 /* rule13en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE14EN_MASK 0x1 /* rule14en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE14EN_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE15EN_MASK 0x1 /* rule15en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE15EN_SHIFT 5
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE16EN_MASK 0x1 /* rule16en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE16EN_SHIFT 6
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE17EN_MASK 0x1 /* rule17en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE17EN_SHIFT 7
- u8 flags13;
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE18EN_MASK 0x1 /* rule18en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE18EN_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE19EN_MASK 0x1 /* rule19en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_RULE19EN_SHIFT 1
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED4_MASK 0x1 /* rule20en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED4_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED5_MASK 0x1 /* rule21en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED5_SHIFT 3
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED6_MASK 0x1 /* rule22en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED7_MASK 0x1 /* rule23en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED7_SHIFT 5
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED8_MASK 0x1 /* rule24en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED9_MASK 0x1 /* rule25en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
- u8 flags14;
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT16_MASK 0x1 /* bit16 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT16_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT17_MASK 0x1 /* bit17 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT17_SHIFT 1
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT18_MASK 0x1 /* bit18 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT18_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT19_MASK 0x1 /* bit19 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT19_SHIFT 3
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT20_MASK 0x1 /* bit20 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT20_SHIFT 4
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT21_MASK 0x1 /* bit21 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_BIT21_SHIFT 5
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF23_MASK 0x3 /* cf23 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_CF23_SHIFT 6
- u8 byte2 /* byte2 */;
- __le16 physical_q0 /* physical_q0 */;
- __le16 consolid_prod /* physical_q1 */;
- __le16 reserved16 /* physical_q2 */;
- __le16 tx_bd_cons /* word3 */;
- __le16 tx_bd_or_spq_prod /* word4 */;
- __le16 word5 /* word5 */;
- __le16 conn_dpi /* conn_dpi */;
- u8 byte3 /* byte3 */;
- u8 byte4 /* byte4 */;
- u8 byte5 /* byte5 */;
- u8 byte6 /* byte6 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
- __le32 reg4 /* reg4 */;
- __le32 reg5 /* cf_array0 */;
- __le32 reg6 /* cf_array1 */;
- u8 flags15;
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit22 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit23 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit24 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf24 */
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf24en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule26en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule27en */
-#define E5_XSTORM_CORE_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
- u8 byte7 /* byte7 */;
- __le16 word7 /* word7 */;
- __le16 word8 /* word8 */;
- __le16 word9 /* word9 */;
- __le16 word10 /* word10 */;
- __le16 word11 /* word11 */;
- __le32 reg7 /* reg7 */;
- __le32 reg8 /* reg8 */;
- __le32 reg9 /* reg9 */;
- u8 byte8 /* byte8 */;
- u8 byte9 /* byte9 */;
- u8 byte10 /* byte10 */;
- u8 byte11 /* byte11 */;
- u8 byte12 /* byte12 */;
- u8 byte13 /* byte13 */;
- u8 byte14 /* byte14 */;
- u8 byte15 /* byte15 */;
- __le32 reg10 /* reg10 */;
- __le32 reg11 /* reg11 */;
- __le32 reg12 /* reg12 */;
- __le32 reg13 /* reg13 */;
- __le32 reg14 /* reg14 */;
- __le32 reg15 /* reg15 */;
- __le32 reg16 /* reg16 */;
- __le32 reg17 /* reg17 */;
- __le32 reg18 /* reg18 */;
- __le32 reg19 /* reg19 */;
- __le16 word12 /* word12 */;
- __le16 word13 /* word13 */;
- __le16 word14 /* word14 */;
- __le16 word15 /* word15 */;
-};
-
struct e5_ystorm_core_conn_ag_ctx
{
@@ -2532,25 +2550,48 @@ struct qm_rf_opportunistic_mask
/*
- * QM hardware structure of QM map memory
+ * E4 QM hardware structure of QM map memory
+ */
+struct qm_rf_pq_map_e4
+{
+ __le32 reg;
+#define QM_RF_PQ_MAP_E4_PQ_VALID_MASK 0x1 /* PQ active */
+#define QM_RF_PQ_MAP_E4_PQ_VALID_SHIFT 0
+#define QM_RF_PQ_MAP_E4_RL_ID_MASK 0xFF /* RL ID */
+#define QM_RF_PQ_MAP_E4_RL_ID_SHIFT 1
+#define QM_RF_PQ_MAP_E4_VP_PQ_ID_MASK 0x1FF /* the first PQ associated with the VPORT and VOQ of this PQ */
+#define QM_RF_PQ_MAP_E4_VP_PQ_ID_SHIFT 9
+#define QM_RF_PQ_MAP_E4_VOQ_MASK 0x1F /* VOQ */
+#define QM_RF_PQ_MAP_E4_VOQ_SHIFT 18
+#define QM_RF_PQ_MAP_E4_WRR_WEIGHT_GROUP_MASK 0x3 /* WRR weight */
+#define QM_RF_PQ_MAP_E4_WRR_WEIGHT_GROUP_SHIFT 23
+#define QM_RF_PQ_MAP_E4_RL_VALID_MASK 0x1 /* RL active */
+#define QM_RF_PQ_MAP_E4_RL_VALID_SHIFT 25
+#define QM_RF_PQ_MAP_E4_RESERVED_MASK 0x3F
+#define QM_RF_PQ_MAP_E4_RESERVED_SHIFT 26
+};
+
+
+/*
+ * E5 QM hardware structure of QM map memory
*/
-struct qm_rf_pq_map
+struct qm_rf_pq_map_e5
{
__le32 reg;
-#define QM_RF_PQ_MAP_PQ_VALID_MASK 0x1 /* PQ active */
-#define QM_RF_PQ_MAP_PQ_VALID_SHIFT 0
-#define QM_RF_PQ_MAP_RL_ID_MASK 0xFF /* RL ID */
-#define QM_RF_PQ_MAP_RL_ID_SHIFT 1
-#define QM_RF_PQ_MAP_VP_PQ_ID_MASK 0x1FF /* the first PQ associated with the VPORT and VOQ of this PQ */
-#define QM_RF_PQ_MAP_VP_PQ_ID_SHIFT 9
-#define QM_RF_PQ_MAP_VOQ_MASK 0x1F /* VOQ */
-#define QM_RF_PQ_MAP_VOQ_SHIFT 18
-#define QM_RF_PQ_MAP_WRR_WEIGHT_GROUP_MASK 0x3 /* WRR weight */
-#define QM_RF_PQ_MAP_WRR_WEIGHT_GROUP_SHIFT 23
-#define QM_RF_PQ_MAP_RL_VALID_MASK 0x1 /* RL active */
-#define QM_RF_PQ_MAP_RL_VALID_SHIFT 25
-#define QM_RF_PQ_MAP_RESERVED_MASK 0x3F
-#define QM_RF_PQ_MAP_RESERVED_SHIFT 26
+#define QM_RF_PQ_MAP_E5_PQ_VALID_MASK 0x1 /* PQ active */
+#define QM_RF_PQ_MAP_E5_PQ_VALID_SHIFT 0
+#define QM_RF_PQ_MAP_E5_RL_ID_MASK 0xFF /* RL ID */
+#define QM_RF_PQ_MAP_E5_RL_ID_SHIFT 1
+#define QM_RF_PQ_MAP_E5_VP_PQ_ID_MASK 0x1FF /* the first PQ associated with the VPORT and VOQ of this PQ */
+#define QM_RF_PQ_MAP_E5_VP_PQ_ID_SHIFT 9
+#define QM_RF_PQ_MAP_E5_VOQ_MASK 0x3F /* VOQ */
+#define QM_RF_PQ_MAP_E5_VOQ_SHIFT 18
+#define QM_RF_PQ_MAP_E5_WRR_WEIGHT_GROUP_MASK 0x3 /* WRR weight */
+#define QM_RF_PQ_MAP_E5_WRR_WEIGHT_GROUP_SHIFT 24
+#define QM_RF_PQ_MAP_E5_RL_VALID_MASK 0x1 /* RL active */
+#define QM_RF_PQ_MAP_E5_RL_VALID_SHIFT 26
+#define QM_RF_PQ_MAP_E5_RESERVED_MASK 0x1F
+#define QM_RF_PQ_MAP_E5_RESERVED_SHIFT 27
};
diff --git a/sys/dev/qlnx/qlnxe/ecore_hsi_debug_tools.h b/sys/dev/qlnx/qlnxe/ecore_hsi_debug_tools.h
index c5181a7..845fc04 100644
--- a/sys/dev/qlnx/qlnxe/ecore_hsi_debug_tools.h
+++ b/sys/dev/qlnx/qlnxe/ecore_hsi_debug_tools.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_HSI_DEBUG_TOOLS__
#define __ECORE_HSI_DEBUG_TOOLS__
/****************************************/
@@ -91,8 +90,8 @@ enum block_addr
GRCBASE_MULD = 0x4e0000,
GRCBASE_YULD = 0x4c8000,
GRCBASE_XYLD = 0x4c0000,
- GRCBASE_PTLD = 0x590000,
- GRCBASE_YPLD = 0x5b0000,
+ GRCBASE_PTLD = 0x5a0000,
+ GRCBASE_YPLD = 0x5c0000,
GRCBASE_PRM = 0x230000,
GRCBASE_PBF_PB1 = 0xda0000,
GRCBASE_PBF_PB2 = 0xda4000,
diff --git a/sys/dev/qlnx/qlnxe/ecore_hsi_eth.h b/sys/dev/qlnx/qlnxe/ecore_hsi_eth.h
index 42b8dac..d2a4b70 100644
--- a/sys/dev/qlnx/qlnxe/ecore_hsi_eth.h
+++ b/sys/dev/qlnx/qlnxe/ecore_hsi_eth.h
@@ -89,10 +89,10 @@ struct e4_xstorm_eth_conn_ag_ctx
#define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED9_SHIFT 2
#define E4_XSTORM_ETH_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */
#define E4_XSTORM_ETH_CONN_AG_CTX_BIT11_SHIFT 3
-#define E4_XSTORM_ETH_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */
-#define E4_XSTORM_ETH_CONN_AG_CTX_BIT12_SHIFT 4
-#define E4_XSTORM_ETH_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */
-#define E4_XSTORM_ETH_CONN_AG_CTX_BIT13_SHIFT 5
+#define E4_XSTORM_ETH_CONN_AG_CTX_E5_RESERVED2_MASK 0x1 /* bit12 */
+#define E4_XSTORM_ETH_CONN_AG_CTX_E5_RESERVED2_SHIFT 4
+#define E4_XSTORM_ETH_CONN_AG_CTX_E5_RESERVED3_MASK 0x1 /* bit13 */
+#define E4_XSTORM_ETH_CONN_AG_CTX_E5_RESERVED3_SHIFT 5
#define E4_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x1 /* bit14 */
#define E4_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 6
#define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x1 /* bit15 */
@@ -570,7 +570,7 @@ struct mstorm_eth_conn_st_ctx
/*
* eth connection context
*/
-struct eth_conn_context
+struct e4_eth_conn_context
{
struct tstorm_eth_conn_st_ctx tstorm_st_context /* tstorm storm context */;
struct regpair tstorm_st_padding[2] /* padding */;
@@ -586,6 +586,551 @@ struct eth_conn_context
};
+struct e5_xstorm_eth_conn_ag_ctx
+{
+ u8 reserved0 /* cdu_validation */;
+ u8 state_and_core_id /* state_and_core_id */;
+ u8 flags0;
+#define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED1_MASK 0x1 /* exist_in_qm1 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED1_SHIFT 1
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED2_MASK 0x1 /* exist_in_qm2 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED2_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1 /* exist_in_qm3 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED3_MASK 0x1 /* bit4 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED3_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED4_MASK 0x1 /* cf_array_active */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED4_SHIFT 5
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED5_MASK 0x1 /* bit6 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED5_SHIFT 6
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED6_MASK 0x1 /* bit7 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED6_SHIFT 7
+ u8 flags1;
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED7_MASK 0x1 /* bit8 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED7_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED8_MASK 0x1 /* bit9 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED8_SHIFT 1
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED9_MASK 0x1 /* bit10 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED9_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_BIT11_SHIFT 3
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_COPY_CONDITION_LO_MASK 0x1 /* bit12 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_COPY_CONDITION_LO_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_COPY_CONDITION_HI_MASK 0x1 /* bit13 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_COPY_CONDITION_HI_SHIFT 5
+#define E5_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x1 /* bit14 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 6
+#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x1 /* bit15 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT 7
+ u8 flags2;
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF0_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF1_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF3_SHIFT 6
+ u8 flags3;
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF4_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF5_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF6_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF7_SHIFT 6
+ u8 flags4;
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF8_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF9_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF10_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF11_MASK 0x3 /* cf11 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF11_SHIFT 6
+ u8 flags5;
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF12_MASK 0x3 /* cf12 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF12_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF13_MASK 0x3 /* cf13 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF13_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF14_MASK 0x3 /* cf14 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF14_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF15_MASK 0x3 /* cf15 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF15_SHIFT 6
+ u8 flags6;
+#define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK 0x3 /* cf16 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_MASK 0x3 /* cf_array_cf */
+#define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_MASK 0x3 /* cf18 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_MASK 0x3 /* cf19 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_SHIFT 6
+ u8 flags7;
+#define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf20 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED10_MASK 0x3 /* cf21 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED10_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_MASK 0x3 /* cf22 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT 6
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT 7
+ u8 flags8;
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 1
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT 3
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT 5
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT 6
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT 7
+ u8 flags9;
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF11EN_MASK 0x1 /* cf11en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF11EN_SHIFT 1
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF12EN_MASK 0x1 /* cf12en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF12EN_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF13EN_MASK 0x1 /* cf13en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF13EN_SHIFT 3
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF14EN_MASK 0x1 /* cf14en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF14EN_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF15EN_MASK 0x1 /* cf15en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_CF15EN_SHIFT 5
+#define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK 0x1 /* cf16en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT 6
+#define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK 0x1 /* cf_array_cf_en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT 7
+ u8 flags10;
+#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_MASK 0x1 /* cf18en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_MASK 0x1 /* cf19en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT 1
+#define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf20en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED11_MASK 0x1 /* cf21en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED11_SHIFT 3
+#define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1 /* cf22en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK 0x1 /* cf23en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 5
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED12_MASK 0x1 /* rule0en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED12_SHIFT 6
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED13_MASK 0x1 /* rule1en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED13_SHIFT 7
+ u8 flags11;
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED14_MASK 0x1 /* rule2en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED14_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED15_MASK 0x1 /* rule3en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED15_SHIFT 1
+#define E5_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_MASK 0x1 /* rule4en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 3
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 5
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_MASK 0x1 /* rule8en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE9EN_MASK 0x1 /* rule9en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE9EN_SHIFT 7
+ u8 flags12;
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE10EN_MASK 0x1 /* rule10en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE10EN_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE11EN_MASK 0x1 /* rule11en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE11EN_SHIFT 1
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_MASK 0x1 /* rule12en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_MASK 0x1 /* rule13en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE14EN_MASK 0x1 /* rule14en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE14EN_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE15EN_MASK 0x1 /* rule15en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE15EN_SHIFT 5
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE16EN_MASK 0x1 /* rule16en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE16EN_SHIFT 6
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE17EN_MASK 0x1 /* rule17en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE17EN_SHIFT 7
+ u8 flags13;
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE18EN_MASK 0x1 /* rule18en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE18EN_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE19EN_MASK 0x1 /* rule19en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_RULE19EN_SHIFT 1
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_MASK 0x1 /* rule20en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_MASK 0x1 /* rule21en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_SHIFT 3
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_MASK 0x1 /* rule22en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_MASK 0x1 /* rule23en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_SHIFT 5
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_MASK 0x1 /* rule24en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_MASK 0x1 /* rule25en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
+ u8 flags14;
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK 0x1 /* bit16 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK 0x1 /* bit17 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT 1
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK 0x1 /* bit18 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK 0x1 /* bit19 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT 3
+#define E5_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_MASK 0x1 /* bit20 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT 4
+#define E5_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK 0x1 /* bit21 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT 5
+#define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_MASK 0x3 /* cf23 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_SHIFT 6
+ u8 edpm_vport /* byte2 */;
+ __le16 physical_q0 /* physical_q0 */;
+ __le16 tx_l2_edpm_usg_cnt /* physical_q1 */;
+ __le16 edpm_num_bds /* physical_q2 */;
+ __le16 tx_bd_cons /* word3 */;
+ __le16 tx_bd_prod /* word4 */;
+ __le16 tx_class /* word5 */;
+ __le16 conn_dpi /* conn_dpi */;
+ u8 byte3 /* byte3 */;
+ u8 byte4 /* byte4 */;
+ u8 byte5 /* byte5 */;
+ u8 byte6 /* byte6 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+ __le32 reg4 /* reg4 */;
+ __le32 reg5 /* cf_array0 */;
+ __le32 reg6 /* cf_array1 */;
+ u8 flags15;
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_REDIRECTION_CONDITION_LO_MASK 0x1 /* bit22 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_REDIRECTION_CONDITION_LO_SHIFT 0
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_REDIRECTION_CONDITION_HI_MASK 0x1 /* bit23 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_REDIRECTION_CONDITION_HI_SHIFT 1
+#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit24 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf24 */
+#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
+#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf24en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
+#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule26en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
+#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule27en */
+#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
+ u8 byte7 /* byte7 */;
+ __le16 word7 /* word7 */;
+ __le16 word8 /* word8 */;
+ __le16 word9 /* word9 */;
+ __le16 word10 /* word10 */;
+ __le16 word11 /* word11 */;
+ __le32 reg7 /* reg7 */;
+ __le32 reg8 /* reg8 */;
+ __le32 reg9 /* reg9 */;
+ u8 byte8 /* byte8 */;
+ u8 byte9 /* byte9 */;
+ u8 byte10 /* byte10 */;
+ u8 byte11 /* byte11 */;
+ u8 byte12 /* byte12 */;
+ u8 byte13 /* byte13 */;
+ u8 byte14 /* byte14 */;
+ u8 byte15 /* byte15 */;
+ __le32 reg10 /* reg10 */;
+ __le32 reg11 /* reg11 */;
+ __le32 reg12 /* reg12 */;
+ __le32 reg13 /* reg13 */;
+ __le32 reg14 /* reg14 */;
+ __le32 reg15 /* reg15 */;
+ __le32 reg16 /* reg16 */;
+ __le32 reg17 /* reg17 */;
+ __le32 reg18 /* reg18 */;
+ __le32 reg19 /* reg19 */;
+ __le16 word12 /* word12 */;
+ __le16 word13 /* word13 */;
+ __le16 word14 /* word14 */;
+ __le16 word15 /* word15 */;
+};
+
+struct e5_ystorm_eth_conn_ag_ctx
+{
+ u8 byte0 /* cdu_validation */;
+ u8 state_and_core_id /* state_and_core_id */;
+ u8 flags0;
+#define E5_YSTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_YSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 0
+#define E5_YSTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_YSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK 0x3 /* cf0 */
+#define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT 2
+#define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_MASK 0x3 /* cf1 */
+#define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_SHIFT 4
+#define E5_YSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */
+#define E5_YSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 6
+ u8 flags1;
+#define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK 0x1 /* cf0en */
+#define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 0
+#define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_MASK 0x1 /* cf1en */
+#define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_SHIFT 1
+#define E5_YSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_YSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 2
+#define E5_YSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_YSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 3
+#define E5_YSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_YSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 4
+#define E5_YSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_YSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 5
+#define E5_YSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_YSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 6
+#define E5_YSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_YSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 7
+ u8 tx_q0_int_coallecing_timeset /* byte2 */;
+ u8 byte3 /* byte3 */;
+ __le16 word0 /* word0 */;
+ __le32 terminate_spqe /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le16 tx_bd_cons_upd /* word1 */;
+ __le16 word2 /* word2 */;
+ __le16 word3 /* word3 */;
+ __le16 word4 /* word4 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+};
+
+struct e5_tstorm_eth_conn_ag_ctx
+{
+ u8 byte0 /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ u8 flags0;
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 0
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT2_SHIFT 2
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT3_SHIFT 3
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT4_SHIFT 4
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_BIT5_SHIFT 5
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF0_SHIFT 6
+ u8 flags1;
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF1_SHIFT 0
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 2
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF3_SHIFT 4
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF4_SHIFT 6
+ u8 flags2;
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF5_SHIFT 0
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF6_SHIFT 2
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF7_SHIFT 4
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF8_SHIFT 6
+ u8 flags3;
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF9_SHIFT 0
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF10_SHIFT 2
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT 4
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT 5
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 6
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 7
+ u8 flags4;
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT 0
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT 1
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT 2
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT 3
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT 4
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT 5
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT 6
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 7
+ u8 flags5;
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 0
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 1
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 2
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 3
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 4
+#define E5_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_MASK 0x1 /* rule6en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_SHIFT 5
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 6
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT 7
+ u8 flags6;
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */
+#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
+ u8 byte2 /* byte2 */;
+ __le16 rx_bd_cons /* word0 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+ __le32 reg4 /* reg4 */;
+ __le32 reg5 /* reg5 */;
+ __le32 reg6 /* reg6 */;
+ __le32 reg7 /* reg7 */;
+ __le32 reg8 /* reg8 */;
+ u8 byte3 /* byte3 */;
+ u8 byte4 /* byte4 */;
+ u8 byte5 /* byte5 */;
+ u8 e4_reserved8 /* byte6 */;
+ __le16 rx_bd_prod /* word1 */;
+ __le16 word2 /* conn_dpi */;
+ __le32 reg9 /* reg9 */;
+ __le16 word3 /* word3 */;
+ __le16 e4_reserved9 /* word4 */;
+};
+
+struct e5_ustorm_eth_conn_ag_ctx
+{
+ u8 byte0 /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ u8 flags0;
+#define E5_USTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_USTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 0
+#define E5_USTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_USTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_MASK 0x3 /* timer0cf */
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_SHIFT 2
+#define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_MASK 0x3 /* timer1cf */
+#define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_SHIFT 4
+#define E5_USTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
+#define E5_USTORM_ETH_CONN_AG_CTX_CF2_SHIFT 6
+ u8 flags1;
+#define E5_USTORM_ETH_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E5_USTORM_ETH_CONN_AG_CTX_CF3_SHIFT 0
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_MASK 0x3 /* cf4 */
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_SHIFT 2
+#define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_MASK 0x3 /* cf5 */
+#define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_SHIFT 4
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK 0x3 /* cf6 */
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT 6
+ u8 flags2;
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_MASK 0x1 /* cf0en */
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_SHIFT 0
+#define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_MASK 0x1 /* cf1en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_SHIFT 1
+#define E5_USTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_USTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 2
+#define E5_USTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E5_USTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 3
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_MASK 0x1 /* cf4en */
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_SHIFT 4
+#define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_MASK 0x1 /* cf5en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_SHIFT 5
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK 0x1 /* cf6en */
+#define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 6
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 7
+ u8 flags3;
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 0
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 1
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 2
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 3
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 4
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT 5
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 6
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
+#define E5_USTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT 7
+ u8 flags4;
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf7 */
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf8 */
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT 4
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf7en */
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT 6
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf8en */
+#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT 7
+ u8 byte2 /* byte2 */;
+ __le16 word0 /* conn_dpi */;
+ __le16 tx_bd_cons /* word1 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 tx_int_coallecing_timeset /* reg3 */;
+ __le16 tx_drv_bd_cons /* word2 */;
+ __le16 rx_drv_cqe_cons /* word3 */;
+};
+
+/*
+ * eth connection context
+ */
+struct e5_eth_conn_context
+{
+ struct tstorm_eth_conn_st_ctx tstorm_st_context /* tstorm storm context */;
+ struct regpair tstorm_st_padding[2] /* padding */;
+ struct pstorm_eth_conn_st_ctx pstorm_st_context /* pstorm storm context */;
+ struct xstorm_eth_conn_st_ctx xstorm_st_context /* xstorm storm context */;
+ struct e5_xstorm_eth_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
+ struct ystorm_eth_conn_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct e5_ystorm_eth_conn_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
+ struct e5_tstorm_eth_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
+ struct e5_ustorm_eth_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+ struct ustorm_eth_conn_st_ctx ustorm_st_context /* ustorm storm context */;
+ struct mstorm_eth_conn_st_ctx mstorm_st_context /* mstorm storm context */;
+};
+
+
/*
* Ethernet filter types: mac/vlan/pair
*/
@@ -1281,10 +1826,10 @@ struct E4XstormEthConnAgCtxDqExtLdPart
#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_SHIFT 2
#define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_MASK 0x1 /* bit11 */
#define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_SHIFT 3
-#define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT12_MASK 0x1 /* bit12 */
-#define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT12_SHIFT 4
-#define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT13_MASK 0x1 /* bit13 */
-#define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT13_SHIFT 5
+#define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED2_MASK 0x1 /* bit12 */
+#define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED2_SHIFT 4
+#define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED3_MASK 0x1 /* bit13 */
+#define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED3_SHIFT 5
#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_MASK 0x1 /* bit14 */
#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_SHIFT 6
#define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_MASK 0x1 /* bit15 */
@@ -1554,10 +2099,10 @@ struct e4_xstorm_eth_hw_conn_ag_ctx
#define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_SHIFT 2
#define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */
#define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_SHIFT 3
-#define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */
-#define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT12_SHIFT 4
-#define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */
-#define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT13_SHIFT 5
+#define E4_XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED2_MASK 0x1 /* bit12 */
+#define E4_XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED2_SHIFT 4
+#define E4_XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED3_MASK 0x1 /* bit13 */
+#define E4_XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED3_SHIFT 5
#define E4_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x1 /* bit14 */
#define E4_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 6
#define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x1 /* bit15 */
@@ -1777,10 +2322,10 @@ struct E5XstormEthConnAgCtxDqExtLdPart
#define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_SHIFT 2
#define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_MASK 0x1 /* bit11 */
#define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_SHIFT 3
-#define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT12_MASK 0x1 /* bit12 */
-#define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT12_SHIFT 4
-#define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT13_MASK 0x1 /* bit13 */
-#define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT13_SHIFT 5
+#define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_COPY_CONDITION_LO_MASK 0x1 /* bit12 */
+#define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_COPY_CONDITION_LO_SHIFT 4
+#define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_COPY_CONDITION_HI_MASK 0x1 /* bit13 */
+#define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_COPY_CONDITION_HI_SHIFT 5
#define E5XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_MASK 0x1 /* bit14 */
#define E5XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_SHIFT 6
#define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_MASK 0x1 /* bit15 */
@@ -1958,7 +2503,7 @@ struct E5XstormEthConnAgCtxDqExtLdPart
#define E5XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_SHIFT 5
#define E5XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_MASK 0x3 /* cf23 */
#define E5XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_SHIFT 6
- u8 byte2 /* byte2 */;
+ u8 edpm_vport /* byte2 */;
__le16 physical_q0 /* physical_q0 */;
__le16 tx_l2_edpm_usg_cnt /* physical_q1 */;
__le16 edpm_num_bds /* physical_q2 */;
@@ -2017,489 +2562,8 @@ struct e5_mstorm_eth_conn_ag_ctx
};
-struct e5_tstorm_eth_conn_ag_ctx
-{
- u8 byte0 /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- u8 flags0;
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 0
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT2_SHIFT 2
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT3_SHIFT 3
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT4_SHIFT 4
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_BIT5_SHIFT 5
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF0_SHIFT 6
- u8 flags1;
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF1_SHIFT 0
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 2
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF3_SHIFT 4
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF4_SHIFT 6
- u8 flags2;
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF5_SHIFT 0
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF6_SHIFT 2
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF7_SHIFT 4
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF8_SHIFT 6
- u8 flags3;
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF9_SHIFT 0
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF10_SHIFT 2
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT 4
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT 5
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 6
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 7
- u8 flags4;
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT 0
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT 1
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT 2
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT 3
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT 4
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT 5
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT 6
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 7
- u8 flags5;
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 0
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 1
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 2
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 3
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 4
-#define E5_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_MASK 0x1 /* rule6en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_SHIFT 5
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 6
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT 7
- u8 flags6;
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */
-#define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
- u8 byte2 /* byte2 */;
- __le16 rx_bd_cons /* word0 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
- __le32 reg4 /* reg4 */;
- __le32 reg5 /* reg5 */;
- __le32 reg6 /* reg6 */;
- __le32 reg7 /* reg7 */;
- __le32 reg8 /* reg8 */;
- u8 byte3 /* byte3 */;
- u8 byte4 /* byte4 */;
- u8 byte5 /* byte5 */;
- u8 e4_reserved8 /* byte6 */;
- __le16 rx_bd_prod /* word1 */;
- __le16 word2 /* conn_dpi */;
- __le32 reg9 /* reg9 */;
- __le16 word3 /* word3 */;
- __le16 e4_reserved9 /* word4 */;
-};
-struct e5_ustorm_eth_conn_ag_ctx
-{
- u8 byte0 /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- u8 flags0;
-#define E5_USTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_USTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 0
-#define E5_USTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_USTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_MASK 0x3 /* timer0cf */
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_SHIFT 2
-#define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_MASK 0x3 /* timer1cf */
-#define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_SHIFT 4
-#define E5_USTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
-#define E5_USTORM_ETH_CONN_AG_CTX_CF2_SHIFT 6
- u8 flags1;
-#define E5_USTORM_ETH_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E5_USTORM_ETH_CONN_AG_CTX_CF3_SHIFT 0
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_MASK 0x3 /* cf4 */
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_SHIFT 2
-#define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_MASK 0x3 /* cf5 */
-#define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_SHIFT 4
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK 0x3 /* cf6 */
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT 6
- u8 flags2;
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_MASK 0x1 /* cf0en */
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_SHIFT 0
-#define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_MASK 0x1 /* cf1en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_SHIFT 1
-#define E5_USTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_USTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 2
-#define E5_USTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E5_USTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 3
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_MASK 0x1 /* cf4en */
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_SHIFT 4
-#define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_MASK 0x1 /* cf5en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_SHIFT 5
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK 0x1 /* cf6en */
-#define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 6
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 7
- u8 flags3;
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 0
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 1
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 2
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 3
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 4
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT 5
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 6
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
-#define E5_USTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT 7
- u8 flags4;
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf7 */
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf8 */
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT 4
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf7en */
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT 6
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf8en */
-#define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT 7
- u8 byte2 /* byte2 */;
- __le16 word0 /* conn_dpi */;
- __le16 tx_bd_cons /* word1 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 tx_int_coallecing_timeset /* reg3 */;
- __le16 tx_drv_bd_cons /* word2 */;
- __le16 rx_drv_cqe_cons /* word3 */;
-};
-
-
-struct e5_xstorm_eth_conn_ag_ctx
-{
- u8 reserved0 /* cdu_validation */;
- u8 state_and_core_id /* state_and_core_id */;
- u8 flags0;
-#define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED1_MASK 0x1 /* exist_in_qm1 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED1_SHIFT 1
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED2_MASK 0x1 /* exist_in_qm2 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED2_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1 /* exist_in_qm3 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED3_MASK 0x1 /* bit4 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED3_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED4_MASK 0x1 /* cf_array_active */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED4_SHIFT 5
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED5_MASK 0x1 /* bit6 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED5_SHIFT 6
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED6_MASK 0x1 /* bit7 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED6_SHIFT 7
- u8 flags1;
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED7_MASK 0x1 /* bit8 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED7_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED8_MASK 0x1 /* bit9 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED8_SHIFT 1
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED9_MASK 0x1 /* bit10 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED9_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_BIT11_SHIFT 3
-#define E5_XSTORM_ETH_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_BIT12_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_BIT13_SHIFT 5
-#define E5_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x1 /* bit14 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 6
-#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x1 /* bit15 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT 7
- u8 flags2;
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF0_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF1_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF3_SHIFT 6
- u8 flags3;
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF4_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF5_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF6_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF7_SHIFT 6
- u8 flags4;
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF8_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF9_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF10_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF11_MASK 0x3 /* cf11 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF11_SHIFT 6
- u8 flags5;
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF12_MASK 0x3 /* cf12 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF12_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF13_MASK 0x3 /* cf13 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF13_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF14_MASK 0x3 /* cf14 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF14_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF15_MASK 0x3 /* cf15 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF15_SHIFT 6
- u8 flags6;
-#define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK 0x3 /* cf16 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_MASK 0x3 /* cf_array_cf */
-#define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_MASK 0x3 /* cf18 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_MASK 0x3 /* cf19 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_SHIFT 6
- u8 flags7;
-#define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf20 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED10_MASK 0x3 /* cf21 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED10_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_MASK 0x3 /* cf22 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT 6
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT 7
- u8 flags8;
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 1
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT 3
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT 5
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT 6
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT 7
- u8 flags9;
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF11EN_MASK 0x1 /* cf11en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF11EN_SHIFT 1
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF12EN_MASK 0x1 /* cf12en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF12EN_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF13EN_MASK 0x1 /* cf13en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF13EN_SHIFT 3
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF14EN_MASK 0x1 /* cf14en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF14EN_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF15EN_MASK 0x1 /* cf15en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_CF15EN_SHIFT 5
-#define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK 0x1 /* cf16en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT 6
-#define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK 0x1 /* cf_array_cf_en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT 7
- u8 flags10;
-#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_MASK 0x1 /* cf18en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_MASK 0x1 /* cf19en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT 1
-#define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf20en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED11_MASK 0x1 /* cf21en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED11_SHIFT 3
-#define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1 /* cf22en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK 0x1 /* cf23en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 5
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED12_MASK 0x1 /* rule0en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED12_SHIFT 6
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED13_MASK 0x1 /* rule1en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED13_SHIFT 7
- u8 flags11;
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED14_MASK 0x1 /* rule2en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED14_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED15_MASK 0x1 /* rule3en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED15_SHIFT 1
-#define E5_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_MASK 0x1 /* rule4en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 3
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 5
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_MASK 0x1 /* rule8en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE9EN_MASK 0x1 /* rule9en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE9EN_SHIFT 7
- u8 flags12;
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE10EN_MASK 0x1 /* rule10en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE10EN_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE11EN_MASK 0x1 /* rule11en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE11EN_SHIFT 1
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_MASK 0x1 /* rule12en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_MASK 0x1 /* rule13en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE14EN_MASK 0x1 /* rule14en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE14EN_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE15EN_MASK 0x1 /* rule15en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE15EN_SHIFT 5
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE16EN_MASK 0x1 /* rule16en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE16EN_SHIFT 6
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE17EN_MASK 0x1 /* rule17en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE17EN_SHIFT 7
- u8 flags13;
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE18EN_MASK 0x1 /* rule18en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE18EN_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE19EN_MASK 0x1 /* rule19en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_RULE19EN_SHIFT 1
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_MASK 0x1 /* rule20en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_MASK 0x1 /* rule21en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_SHIFT 3
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_MASK 0x1 /* rule22en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_MASK 0x1 /* rule23en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_SHIFT 5
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_MASK 0x1 /* rule24en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_MASK 0x1 /* rule25en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
- u8 flags14;
-#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK 0x1 /* bit16 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK 0x1 /* bit17 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT 1
-#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK 0x1 /* bit18 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK 0x1 /* bit19 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT 3
-#define E5_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_MASK 0x1 /* bit20 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT 4
-#define E5_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK 0x1 /* bit21 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT 5
-#define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_MASK 0x3 /* cf23 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_SHIFT 6
- u8 byte2 /* byte2 */;
- __le16 physical_q0 /* physical_q0 */;
- __le16 tx_l2_edpm_usg_cnt /* physical_q1 */;
- __le16 edpm_num_bds /* physical_q2 */;
- __le16 tx_bd_cons /* word3 */;
- __le16 tx_bd_prod /* word4 */;
- __le16 tx_class /* word5 */;
- __le16 conn_dpi /* conn_dpi */;
- u8 byte3 /* byte3 */;
- u8 byte4 /* byte4 */;
- u8 byte5 /* byte5 */;
- u8 byte6 /* byte6 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
- __le32 reg4 /* reg4 */;
- __le32 reg5 /* cf_array0 */;
- __le32 reg6 /* cf_array1 */;
- u8 flags15;
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit22 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit23 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit24 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf24 */
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf24en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule26en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule27en */
-#define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
- u8 byte7 /* byte7 */;
- __le16 word7 /* word7 */;
- __le16 word8 /* word8 */;
- __le16 word9 /* word9 */;
- __le16 word10 /* word10 */;
- __le16 word11 /* word11 */;
- __le32 reg7 /* reg7 */;
- __le32 reg8 /* reg8 */;
- __le32 reg9 /* reg9 */;
- u8 byte8 /* byte8 */;
- u8 byte9 /* byte9 */;
- u8 byte10 /* byte10 */;
- u8 byte11 /* byte11 */;
- u8 byte12 /* byte12 */;
- u8 byte13 /* byte13 */;
- u8 byte14 /* byte14 */;
- u8 byte15 /* byte15 */;
- __le32 reg10 /* reg10 */;
- __le32 reg11 /* reg11 */;
- __le32 reg12 /* reg12 */;
- __le32 reg13 /* reg13 */;
- __le32 reg14 /* reg14 */;
- __le32 reg15 /* reg15 */;
- __le32 reg16 /* reg16 */;
- __le32 reg17 /* reg17 */;
- __le32 reg18 /* reg18 */;
- __le32 reg19 /* reg19 */;
- __le16 word12 /* word12 */;
- __le16 word13 /* word13 */;
- __le16 word14 /* word14 */;
- __le16 word15 /* word15 */;
-};
-
struct e5_xstorm_eth_hw_conn_ag_ctx
{
@@ -2531,10 +2595,10 @@ struct e5_xstorm_eth_hw_conn_ag_ctx
#define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_SHIFT 2
#define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */
#define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_SHIFT 3
-#define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */
-#define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT12_SHIFT 4
-#define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */
-#define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT13_SHIFT 5
+#define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_COPY_CONDITION_LO_MASK 0x1 /* bit12 */
+#define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_COPY_CONDITION_LO_SHIFT 4
+#define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_COPY_CONDITION_HI_MASK 0x1 /* bit13 */
+#define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_COPY_CONDITION_HI_SHIFT 5
#define E5_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x1 /* bit14 */
#define E5_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 6
#define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x1 /* bit15 */
@@ -2712,7 +2776,7 @@ struct e5_xstorm_eth_hw_conn_ag_ctx
#define E5_XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT 5
#define E5_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_MASK 0x3 /* cf23 */
#define E5_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_SHIFT 6
- u8 byte2 /* byte2 */;
+ u8 edpm_vport /* byte2 */;
__le16 physical_q0 /* physical_q0 */;
__le16 tx_l2_edpm_usg_cnt /* physical_q1 */;
__le16 edpm_num_bds /* physical_q2 */;
@@ -2723,51 +2787,6 @@ struct e5_xstorm_eth_hw_conn_ag_ctx
};
-struct e5_ystorm_eth_conn_ag_ctx
-{
- u8 byte0 /* cdu_validation */;
- u8 state_and_core_id /* state_and_core_id */;
- u8 flags0;
-#define E5_YSTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_YSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 0
-#define E5_YSTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_YSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK 0x3 /* cf0 */
-#define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT 2
-#define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_MASK 0x3 /* cf1 */
-#define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_SHIFT 4
-#define E5_YSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */
-#define E5_YSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 6
- u8 flags1;
-#define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK 0x1 /* cf0en */
-#define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 0
-#define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_MASK 0x1 /* cf1en */
-#define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_SHIFT 1
-#define E5_YSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_YSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 2
-#define E5_YSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_YSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 3
-#define E5_YSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_YSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 4
-#define E5_YSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_YSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 5
-#define E5_YSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_YSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 6
-#define E5_YSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_YSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 7
- u8 tx_q0_int_coallecing_timeset /* byte2 */;
- u8 byte3 /* byte3 */;
- __le16 word0 /* word0 */;
- __le32 terminate_spqe /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le16 tx_bd_cons_upd /* word1 */;
- __le16 word2 /* word2 */;
- __le16 word3 /* word3 */;
- __le16 word4 /* word4 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
-};
-
/*
* GFT CAM line struct
diff --git a/sys/dev/qlnx/qlnxe/ecore_hsi_fcoe.h b/sys/dev/qlnx/qlnxe/ecore_hsi_fcoe.h
index 81a9d8c..95afb61 100644
--- a/sys/dev/qlnx/qlnxe/ecore_hsi_fcoe.h
+++ b/sys/dev/qlnx/qlnxe/ecore_hsi_fcoe.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_HSI_FCOE__
#define __ECORE_HSI_FCOE__
/****************************************/
@@ -763,7 +762,7 @@ struct mstorm_fcoe_conn_st_ctx
/*
* fcoe connection context
*/
-struct fcoe_conn_context
+struct e4_fcoe_conn_context
{
struct ystorm_fcoe_conn_st_ctx ystorm_st_context /* ystorm storm context */;
struct pstorm_fcoe_conn_st_ctx pstorm_st_context /* pstorm storm context */;
@@ -783,360 +782,6 @@ struct fcoe_conn_context
};
-/*
- * FCoE connection offload params passed by driver to FW in FCoE offload ramrod
- */
-struct fcoe_conn_offload_ramrod_params
-{
- struct fcoe_conn_offload_ramrod_data offload_ramrod_data;
-};
-
-
-/*
- * FCoE connection terminate params passed by driver to FW in FCoE terminate conn ramrod
- */
-struct fcoe_conn_terminate_ramrod_params
-{
- struct fcoe_conn_terminate_ramrod_data terminate_ramrod_data;
-};
-
-
-/*
- * FCoE event type
- */
-enum fcoe_event_type
-{
- FCOE_EVENT_INIT_FUNC /* Slowpath completion on INIT_FUNC ramrod */,
- FCOE_EVENT_DESTROY_FUNC /* Slowpath completion on DESTROY_FUNC ramrod */,
- FCOE_EVENT_STAT_FUNC /* Slowpath completion on STAT_FUNC ramrod */,
- FCOE_EVENT_OFFLOAD_CONN /* Slowpath completion on OFFLOAD_CONN ramrod */,
- FCOE_EVENT_TERMINATE_CONN /* Slowpath completion on TERMINATE_CONN ramrod */,
- FCOE_EVENT_ERROR /* Error event */,
- MAX_FCOE_EVENT_TYPE
-};
-
-
-/*
- * FCoE init params passed by driver to FW in FCoE init ramrod
- */
-struct fcoe_init_ramrod_params
-{
- struct fcoe_init_func_ramrod_data init_ramrod_data;
-};
-
-
-
-
-/*
- * FCoE ramrod Command IDs
- */
-enum fcoe_ramrod_cmd_id
-{
- FCOE_RAMROD_CMD_ID_INIT_FUNC /* FCoE function init ramrod */,
- FCOE_RAMROD_CMD_ID_DESTROY_FUNC /* FCoE function destroy ramrod */,
- FCOE_RAMROD_CMD_ID_STAT_FUNC /* FCoE statistics ramrod */,
- FCOE_RAMROD_CMD_ID_OFFLOAD_CONN /* FCoE connection offload ramrod */,
- FCOE_RAMROD_CMD_ID_TERMINATE_CONN /* FCoE connection offload ramrod. Command ID known only to FW and VBD */,
- MAX_FCOE_RAMROD_CMD_ID
-};
-
-
-/*
- * FCoE statistics params buffer passed by driver to FW in FCoE statistics ramrod
- */
-struct fcoe_stat_ramrod_params
-{
- struct fcoe_stat_ramrod_data stat_ramrod_data;
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct e4_ystorm_fcoe_conn_ag_ctx
-{
- u8 byte0 /* cdu_validation */;
- u8 byte1 /* state */;
- u8 flags0;
-#define E4_YSTORM_FCOE_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_BIT0_SHIFT 0
-#define E4_YSTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 1
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF0_SHIFT 2
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF1_SHIFT 4
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 6
- u8 flags1;
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF0EN_SHIFT 0
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF1EN_SHIFT 1
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 2
-#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 3
-#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 4
-#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 5
-#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 6
-#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 7
- u8 byte2 /* byte2 */;
- u8 byte3 /* byte3 */;
- __le16 word0 /* word0 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le16 word1 /* word1 */;
- __le16 word2 /* word2 */;
- __le16 word3 /* word3 */;
- __le16 word4 /* word4 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
-};
-
-
-struct e5_mstorm_fcoe_conn_ag_ctx
-{
- u8 byte0 /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- u8 flags0;
-#define E5_MSTORM_FCOE_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_BIT0_SHIFT 0
-#define E5_MSTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF0_SHIFT 2
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF1_SHIFT 4
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 6
- u8 flags1;
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF0EN_SHIFT 0
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF1EN_SHIFT 1
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 2
-#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 3
-#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 4
-#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 5
-#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 6
-#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 7
- __le16 word0 /* word0 */;
- __le16 word1 /* word1 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
-};
-
-
-struct e5_tstorm_fcoe_conn_ag_ctx
-{
- u8 reserved0 /* cdu_validation */;
- u8 state_and_core_id /* state_and_core_id */;
- u8 flags0;
-#define E5_TSTORM_FCOE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
-#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT2_SHIFT 2
-#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT3_SHIFT 3
-#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT4_SHIFT 4
-#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT5_SHIFT 5
-#define E5_TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_MASK 0x3 /* timer0cf */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_SHIFT 6
- u8 flags1;
-#define E5_TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x3 /* timer1cf */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 0
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 2
-#define E5_TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_MASK 0x3 /* timer_stop_all */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_SHIFT 4
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF4_SHIFT 6
- u8 flags2;
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF5_SHIFT 0
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF6_SHIFT 2
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF7_SHIFT 4
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF8_SHIFT 6
- u8 flags3;
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF9_SHIFT 0
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF10_SHIFT 2
-#define E5_TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_EN_MASK 0x1 /* cf0en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_EN_SHIFT 4
-#define E5_TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x1 /* cf1en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 5
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 6
-#define E5_TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_MASK 0x1 /* cf3en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_SHIFT 7
- u8 flags4;
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF4EN_SHIFT 0
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF5EN_SHIFT 1
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF6EN_SHIFT 2
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF7EN_SHIFT 3
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF8EN_SHIFT 4
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF9EN_SHIFT 5
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_CF10EN_SHIFT 6
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 7
- u8 flags5;
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 0
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 1
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 2
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 3
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE5EN_SHIFT 4
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE6EN_SHIFT 5
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE7EN_SHIFT 6
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE8EN_SHIFT 7
- u8 flags6;
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */
-#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
- u8 byte2 /* byte2 */;
- __le16 word0 /* word0 */;
- __le32 reg0 /* reg0 */;
-};
-
-
-struct e5_ustorm_fcoe_conn_ag_ctx
-{
- u8 byte0 /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- u8 flags0;
-#define E5_USTORM_FCOE_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_USTORM_FCOE_CONN_AG_CTX_BIT0_SHIFT 0
-#define E5_USTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_USTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF0_SHIFT 2
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF1_SHIFT 4
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 6
- u8 flags1;
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF3_SHIFT 0
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF4_SHIFT 2
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF5_SHIFT 4
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF6_SHIFT 6
- u8 flags2;
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF0EN_SHIFT 0
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF1EN_SHIFT 1
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 2
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF3EN_SHIFT 3
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF4EN_SHIFT 4
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF5EN_SHIFT 5
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_CF6EN_SHIFT 6
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 7
- u8 flags3;
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 0
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 1
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 2
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 3
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE5EN_SHIFT 4
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE6EN_SHIFT 5
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE7EN_SHIFT 6
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_RULE8EN_SHIFT 7
- u8 flags4;
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf7 */
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf8 */
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED4_SHIFT 4
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf7en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED5_SHIFT 6
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf8en */
-#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED6_SHIFT 7
- u8 byte2 /* byte2 */;
- __le16 word0 /* conn_dpi */;
- __le16 word1 /* word1 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
- __le16 word2 /* word2 */;
- __le16 word3 /* word3 */;
-};
-
-
struct e5_xstorm_fcoe_conn_ag_ctx
{
u8 reserved0 /* cdu_validation */;
@@ -1391,6 +1036,383 @@ struct e5_xstorm_fcoe_conn_ag_ctx
__le32 reg7 /* reg7 */;
};
+struct e5_tstorm_fcoe_conn_ag_ctx
+{
+ u8 reserved0 /* cdu_validation */;
+ u8 state_and_core_id /* state_and_core_id */;
+ u8 flags0;
+#define E5_TSTORM_FCOE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
+#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT2_SHIFT 2
+#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT3_SHIFT 3
+#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT4_SHIFT 4
+#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_BIT5_SHIFT 5
+#define E5_TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_MASK 0x3 /* timer0cf */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_SHIFT 6
+ u8 flags1;
+#define E5_TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x3 /* timer1cf */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 0
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 2
+#define E5_TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_MASK 0x3 /* timer_stop_all */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_SHIFT 4
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF4_SHIFT 6
+ u8 flags2;
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF5_SHIFT 0
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF6_SHIFT 2
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF7_SHIFT 4
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF8_SHIFT 6
+ u8 flags3;
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF9_SHIFT 0
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF10_SHIFT 2
+#define E5_TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_EN_MASK 0x1 /* cf0en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_EN_SHIFT 4
+#define E5_TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x1 /* cf1en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 5
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 6
+#define E5_TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_MASK 0x1 /* cf3en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_SHIFT 7
+ u8 flags4;
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF4EN_SHIFT 0
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF5EN_SHIFT 1
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF6EN_SHIFT 2
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF7EN_SHIFT 3
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF8EN_SHIFT 4
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF9EN_SHIFT 5
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_CF10EN_SHIFT 6
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 7
+ u8 flags5;
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 0
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 1
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 2
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 3
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE5EN_SHIFT 4
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE6EN_SHIFT 5
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE7EN_SHIFT 6
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_RULE8EN_SHIFT 7
+ u8 flags6;
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */
+#define E5_TSTORM_FCOE_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
+ u8 byte2 /* byte2 */;
+ __le16 word0 /* word0 */;
+ __le32 reg0 /* reg0 */;
+};
+
+struct e5_ustorm_fcoe_conn_ag_ctx
+{
+ u8 byte0 /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ u8 flags0;
+#define E5_USTORM_FCOE_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_USTORM_FCOE_CONN_AG_CTX_BIT0_SHIFT 0
+#define E5_USTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_USTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF0_SHIFT 2
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF1_SHIFT 4
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 6
+ u8 flags1;
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF3_SHIFT 0
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF4_SHIFT 2
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF5_SHIFT 4
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF6_SHIFT 6
+ u8 flags2;
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF0EN_SHIFT 0
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF1EN_SHIFT 1
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 2
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF3EN_SHIFT 3
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF4EN_SHIFT 4
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF5EN_SHIFT 5
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_CF6EN_SHIFT 6
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 7
+ u8 flags3;
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 0
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 1
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 2
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 3
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE5EN_SHIFT 4
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE6EN_SHIFT 5
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE7EN_SHIFT 6
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_RULE8EN_SHIFT 7
+ u8 flags4;
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf7 */
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf8 */
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED4_SHIFT 4
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf7en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED5_SHIFT 6
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf8en */
+#define E5_USTORM_FCOE_CONN_AG_CTX_E4_RESERVED6_SHIFT 7
+ u8 byte2 /* byte2 */;
+ __le16 word0 /* conn_dpi */;
+ __le16 word1 /* word1 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+ __le16 word2 /* word2 */;
+ __le16 word3 /* word3 */;
+};
+
+struct e5_mstorm_fcoe_conn_ag_ctx
+{
+ u8 byte0 /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ u8 flags0;
+#define E5_MSTORM_FCOE_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_BIT0_SHIFT 0
+#define E5_MSTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF0_SHIFT 2
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF1_SHIFT 4
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 6
+ u8 flags1;
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF0EN_SHIFT 0
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF1EN_SHIFT 1
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 2
+#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 3
+#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 4
+#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 5
+#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 6
+#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_MSTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 7
+ __le16 word0 /* word0 */;
+ __le16 word1 /* word1 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+};
+
+/*
+ * fcoe connection context
+ */
+struct e5_fcoe_conn_context
+{
+ struct ystorm_fcoe_conn_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct pstorm_fcoe_conn_st_ctx pstorm_st_context /* pstorm storm context */;
+ struct regpair pstorm_st_padding[2] /* padding */;
+ struct xstorm_fcoe_conn_st_ctx xstorm_st_context /* xstorm storm context */;
+ struct e5_xstorm_fcoe_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
+ struct regpair xstorm_ag_padding[6] /* padding */;
+ struct ustorm_fcoe_conn_st_ctx ustorm_st_context /* ustorm storm context */;
+ struct regpair ustorm_st_padding[2] /* padding */;
+ struct e5_tstorm_fcoe_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
+ struct regpair tstorm_ag_padding[2] /* padding */;
+ struct timers_context timer_context /* timer context */;
+ struct e5_ustorm_fcoe_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+ struct tstorm_fcoe_conn_st_ctx tstorm_st_context /* tstorm storm context */;
+ struct e5_mstorm_fcoe_conn_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
+ struct mstorm_fcoe_conn_st_ctx mstorm_st_context /* mstorm storm context */;
+};
+
+
+/*
+ * FCoE connection offload params passed by driver to FW in FCoE offload ramrod
+ */
+struct fcoe_conn_offload_ramrod_params
+{
+ struct fcoe_conn_offload_ramrod_data offload_ramrod_data;
+};
+
+
+/*
+ * FCoE connection terminate params passed by driver to FW in FCoE terminate conn ramrod
+ */
+struct fcoe_conn_terminate_ramrod_params
+{
+ struct fcoe_conn_terminate_ramrod_data terminate_ramrod_data;
+};
+
+
+/*
+ * FCoE event type
+ */
+enum fcoe_event_type
+{
+ FCOE_EVENT_INIT_FUNC /* Slowpath completion on INIT_FUNC ramrod */,
+ FCOE_EVENT_DESTROY_FUNC /* Slowpath completion on DESTROY_FUNC ramrod */,
+ FCOE_EVENT_STAT_FUNC /* Slowpath completion on STAT_FUNC ramrod */,
+ FCOE_EVENT_OFFLOAD_CONN /* Slowpath completion on OFFLOAD_CONN ramrod */,
+ FCOE_EVENT_TERMINATE_CONN /* Slowpath completion on TERMINATE_CONN ramrod */,
+ FCOE_EVENT_ERROR /* Error event */,
+ MAX_FCOE_EVENT_TYPE
+};
+
+
+/*
+ * FCoE init params passed by driver to FW in FCoE init ramrod
+ */
+struct fcoe_init_ramrod_params
+{
+ struct fcoe_init_func_ramrod_data init_ramrod_data;
+};
+
+
+
+
+/*
+ * FCoE ramrod Command IDs
+ */
+enum fcoe_ramrod_cmd_id
+{
+ FCOE_RAMROD_CMD_ID_INIT_FUNC /* FCoE function init ramrod */,
+ FCOE_RAMROD_CMD_ID_DESTROY_FUNC /* FCoE function destroy ramrod */,
+ FCOE_RAMROD_CMD_ID_STAT_FUNC /* FCoE statistics ramrod */,
+ FCOE_RAMROD_CMD_ID_OFFLOAD_CONN /* FCoE connection offload ramrod */,
+ FCOE_RAMROD_CMD_ID_TERMINATE_CONN /* FCoE connection offload ramrod. Command ID known only to FW and VBD */,
+ MAX_FCOE_RAMROD_CMD_ID
+};
+
+
+/*
+ * FCoE statistics params buffer passed by driver to FW in FCoE statistics ramrod
+ */
+struct fcoe_stat_ramrod_params
+{
+ struct fcoe_stat_ramrod_data stat_ramrod_data;
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+struct e4_ystorm_fcoe_conn_ag_ctx
+{
+ u8 byte0 /* cdu_validation */;
+ u8 byte1 /* state */;
+ u8 flags0;
+#define E4_YSTORM_FCOE_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_BIT0_SHIFT 0
+#define E4_YSTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 1
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF0_SHIFT 2
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF1_SHIFT 4
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 6
+ u8 flags1;
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF0EN_SHIFT 0
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF1EN_SHIFT 1
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 2
+#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 3
+#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 4
+#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 5
+#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 6
+#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E4_YSTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 7
+ u8 byte2 /* byte2 */;
+ u8 byte3 /* byte3 */;
+ __le16 word0 /* word0 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le16 word1 /* word1 */;
+ __le16 word2 /* word2 */;
+ __le16 word3 /* word3 */;
+ __le16 word4 /* word4 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+};
+
+
+
+
+
struct e5_ystorm_fcoe_conn_ag_ctx
{
diff --git a/sys/dev/qlnx/qlnxe/ecore_hsi_iscsi.h b/sys/dev/qlnx/qlnxe/ecore_hsi_iscsi.h
index b6d685b..13eb35a 100644
--- a/sys/dev/qlnx/qlnxe/ecore_hsi_iscsi.h
+++ b/sys/dev/qlnx/qlnxe/ecore_hsi_iscsi.h
@@ -559,7 +559,7 @@ struct ustorm_iscsi_conn_st_ctx
/*
* iscsi connection context
*/
-struct iscsi_conn_context
+struct e4_iscsi_conn_context
{
struct ystorm_iscsi_conn_st_ctx ystorm_st_context /* ystorm storm context */;
struct regpair ystorm_st_padding[2] /* padding */;
@@ -582,307 +582,6 @@ struct iscsi_conn_context
};
-/*
- * iSCSI init params passed by driver to FW in iSCSI init ramrod
- */
-struct iscsi_init_ramrod_params
-{
- struct iscsi_spe_func_init iscsi_init_spe /* parameters initialized by the miniport and handed to bus-driver */;
- struct tcp_init_params tcp_init /* TCP parameters initialized by the bus-driver */;
-};
-
-
-
-
-
-
-
-
-
-
-
-
-struct e4_ystorm_iscsi_conn_ag_ctx
-{
- u8 byte0 /* cdu_validation */;
- u8 byte1 /* state */;
- u8 flags0;
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6
- u8 flags1;
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
- u8 byte2 /* byte2 */;
- u8 byte3 /* byte3 */;
- __le16 word0 /* word0 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le16 word1 /* word1 */;
- __le16 word2 /* word2 */;
- __le16 word3 /* word3 */;
- __le16 word4 /* word4 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
-};
-
-
-struct e5_mstorm_iscsi_conn_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 state_and_core_id /* state_and_core_id */;
- u8 flags0;
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6
- u8 flags1;
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
- __le16 word0 /* word0 */;
- __le16 word1 /* word1 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
-};
-
-
-struct e5_tstorm_iscsi_conn_ag_ctx
-{
- u8 reserved0 /* cdu_validation */;
- u8 state_and_core_id /* state_and_core_id */;
- u8 flags0;
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_SHIFT 2
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_SHIFT 3
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 4
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_SHIFT 5
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 6
- u8 flags1;
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_MASK 0x3 /* timer1cf */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_SHIFT 0
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_MASK 0x3 /* timer2cf */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_SHIFT 2
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 4
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 6
- u8 flags2;
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 0
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 2
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 4
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 6
- u8 flags3;
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf9 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 2
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 4
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_MASK 0x1 /* cf1en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_SHIFT 5
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_MASK 0x1 /* cf2en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_SHIFT 6
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7
- u8 flags4;
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 0
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 1
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 2
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 3
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 4
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf9en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 5
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 6
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7
- u8 flags5;
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7
- u8 flags6;
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */
-#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
- u8 cid_offload_cnt /* byte2 */;
- __le16 word0 /* word0 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
- __le32 reg4 /* reg4 */;
- __le32 reg5 /* reg5 */;
- __le32 reg6 /* reg6 */;
- __le32 reg7 /* reg7 */;
- __le32 reg8 /* reg8 */;
-};
-
-
-struct e5_ustorm_iscsi_conn_ag_ctx
-{
- u8 byte0 /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- u8 flags0;
-#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0
-#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6
- u8 flags1;
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_SHIFT 0
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 2
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 4
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 6
- u8 flags2;
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_SHIFT 3
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 4
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 5
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 6
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7
- u8 flags3;
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7
- u8 flags4;
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf7 */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf8 */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 4
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf7en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 6
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf8en */
-#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 7
- u8 byte2 /* byte2 */;
- __le16 word0 /* conn_dpi */;
- __le16 word1 /* word1 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 reg3 /* reg3 */;
- __le16 word2 /* word2 */;
- __le16 word3 /* word3 */;
-};
-
-
struct e5_xstorm_iscsi_conn_ag_ctx
{
u8 cdu_validation /* cdu_validation */;
@@ -1155,6 +854,333 @@ struct e5_xstorm_iscsi_conn_ag_ctx
__le32 reg17 /* reg17 */;
};
+struct e5_tstorm_iscsi_conn_ag_ctx
+{
+ u8 reserved0 /* cdu_validation */;
+ u8 state_and_core_id /* state_and_core_id */;
+ u8 flags0;
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_SHIFT 2
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_SHIFT 3
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 4
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_SHIFT 5
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 6
+ u8 flags1;
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_MASK 0x3 /* timer1cf */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_SHIFT 0
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_MASK 0x3 /* timer2cf */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_SHIFT 2
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 4
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 6
+ u8 flags2;
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 0
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 2
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 4
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 6
+ u8 flags3;
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf9 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 2
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 4
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_MASK 0x1 /* cf1en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_SHIFT 5
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_MASK 0x1 /* cf2en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_SHIFT 6
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7
+ u8 flags4;
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 0
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 1
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 2
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 3
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 4
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf9en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 5
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 6
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7
+ u8 flags5;
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7
+ u8 flags6;
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */
+#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
+ u8 cid_offload_cnt /* byte2 */;
+ __le16 word0 /* word0 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+ __le32 reg4 /* reg4 */;
+ __le32 reg5 /* reg5 */;
+ __le32 reg6 /* reg6 */;
+ __le32 reg7 /* reg7 */;
+ __le32 reg8 /* reg8 */;
+};
+
+struct e5_ustorm_iscsi_conn_ag_ctx
+{
+ u8 byte0 /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ u8 flags0;
+#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0
+#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6
+ u8 flags1;
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_SHIFT 0
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 2
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 4
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 6
+ u8 flags2;
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_SHIFT 3
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 4
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 5
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 6
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7
+ u8 flags3;
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7
+ u8 flags4;
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf7 */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf8 */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 4
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf7en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 6
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf8en */
+#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 7
+ u8 byte2 /* byte2 */;
+ __le16 word0 /* conn_dpi */;
+ __le16 word1 /* word1 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+ __le16 word2 /* word2 */;
+ __le16 word3 /* word3 */;
+};
+
+struct e5_mstorm_iscsi_conn_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 state_and_core_id /* state_and_core_id */;
+ u8 flags0;
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6
+ u8 flags1;
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
+ __le16 word0 /* word0 */;
+ __le16 word1 /* word1 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+};
+
+/*
+ * iscsi connection context
+ */
+struct e5_iscsi_conn_context
+{
+ struct ystorm_iscsi_conn_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct regpair ystorm_st_padding[2] /* padding */;
+ struct pstorm_iscsi_tcp_conn_st_ctx pstorm_st_context /* pstorm storm context */;
+ struct regpair pstorm_st_padding[2] /* padding */;
+ struct pb_context xpb2_context /* xpb2 context */;
+ struct xstorm_iscsi_tcp_conn_st_ctx xstorm_st_context /* xstorm storm context */;
+ struct regpair xstorm_st_padding[2] /* padding */;
+ struct e5_xstorm_iscsi_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
+ struct e5_tstorm_iscsi_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
+ struct regpair tstorm_ag_padding[2] /* padding */;
+ struct timers_context timer_context /* timer context */;
+ struct e5_ustorm_iscsi_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+ struct pb_context upb_context /* upb context */;
+ struct tstorm_iscsi_conn_st_ctx tstorm_st_context /* tstorm storm context */;
+ struct regpair tstorm_st_padding[2] /* padding */;
+ struct e5_mstorm_iscsi_conn_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
+ struct mstorm_iscsi_tcp_conn_st_ctx mstorm_st_context /* mstorm storm context */;
+ struct ustorm_iscsi_conn_st_ctx ustorm_st_context /* ustorm storm context */;
+};
+
+
+/*
+ * iSCSI init params passed by driver to FW in iSCSI init ramrod
+ */
+struct iscsi_init_ramrod_params
+{
+ struct iscsi_spe_func_init iscsi_init_spe /* parameters initialized by the miniport and handed to bus-driver */;
+ struct tcp_init_params tcp_init /* TCP parameters initialized by the bus-driver */;
+};
+
+
+
+
+
+
+
+
+
+
+
+
+struct e4_ystorm_iscsi_conn_ag_ctx
+{
+ u8 byte0 /* cdu_validation */;
+ u8 byte1 /* state */;
+ u8 flags0;
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6
+ u8 flags1;
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
+ u8 byte2 /* byte2 */;
+ u8 byte3 /* byte3 */;
+ __le16 word0 /* word0 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le16 word1 /* word1 */;
+ __le16 word2 /* word2 */;
+ __le16 word3 /* word3 */;
+ __le16 word4 /* word4 */;
+ __le32 reg2 /* reg2 */;
+ __le32 reg3 /* reg3 */;
+};
+
+
+
+
+
struct e5_ystorm_iscsi_conn_ag_ctx
{
diff --git a/sys/dev/qlnx/qlnxe/ecore_hsi_iwarp.h b/sys/dev/qlnx/qlnxe/ecore_hsi_iwarp.h
index 768671a..f5b8841 100644
--- a/sys/dev/qlnx/qlnxe/ecore_hsi_iwarp.h
+++ b/sys/dev/qlnx/qlnxe/ecore_hsi_iwarp.h
@@ -458,7 +458,7 @@ struct ustorm_iwarp_conn_st_ctx
/*
* iwarp connection context
*/
-struct iwarp_conn_context
+struct e4_iwarp_conn_context
{
struct ystorm_iwarp_conn_st_ctx ystorm_st_context /* ystorm storm context */;
struct regpair ystorm_st_padding[2] /* padding */;
@@ -477,6 +477,419 @@ struct iwarp_conn_context
};
+struct e5_xstorm_iwarp_conn_ag_ctx
+{
+ u8 reserved0 /* cdu_validation */;
+ u8 state_and_core_id /* state_and_core_id */;
+ u8 flags0;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM1_MASK 0x1 /* exist_in_qm1 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM1_SHIFT 1
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED1_MASK 0x1 /* exist_in_qm2 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED1_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1 /* exist_in_qm3 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT4_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED2_MASK 0x1 /* cf_array_active */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED2_SHIFT 5
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT6_MASK 0x1 /* bit6 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT6_SHIFT 6
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT7_MASK 0x1 /* bit7 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT7_SHIFT 7
+ u8 flags1;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT8_MASK 0x1 /* bit8 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT8_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT9_MASK 0x1 /* bit9 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT9_SHIFT 1
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT10_MASK 0x1 /* bit10 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT10_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT11_SHIFT 3
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT12_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT13_SHIFT 5
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT14_MASK 0x1 /* bit14 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT14_SHIFT 6
+#define E5_XSTORM_IWARP_CONN_AG_CTX_YSTORM_FLUSH_OR_REWIND_SND_MAX_MASK 0x1 /* bit15 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_YSTORM_FLUSH_OR_REWIND_SND_MAX_SHIFT 7
+ u8 flags2;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF0_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF1_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF2_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 6
+ u8 flags3;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF4_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF5_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF6_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF7_SHIFT 6
+ u8 flags4;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF8_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF9_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF10_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF11_MASK 0x3 /* cf11 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF11_SHIFT 6
+ u8 flags5;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF12_MASK 0x3 /* cf12 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF12_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF13_MASK 0x3 /* cf13 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF13_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_MASK 0x3 /* cf14 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF15_MASK 0x3 /* cf15 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF15_SHIFT 6
+ u8 flags6;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_MASK 0x3 /* cf16 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF17_MASK 0x3 /* cf_array_cf */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF17_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF18_MASK 0x3 /* cf18 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF18_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_MASK 0x3 /* cf19 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_SHIFT 6
+ u8 flags7;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf20 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_MASK 0x3 /* cf21 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_MASK 0x3 /* cf22 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF0EN_SHIFT 6
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF1EN_SHIFT 7
+ u8 flags8;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF2EN_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 1
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF4EN_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF5EN_SHIFT 3
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF6EN_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF7EN_SHIFT 5
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF8EN_SHIFT 6
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF9EN_SHIFT 7
+ u8 flags9;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF10EN_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF11EN_MASK 0x1 /* cf11en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF11EN_SHIFT 1
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF12EN_MASK 0x1 /* cf12en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF12EN_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF13EN_MASK 0x1 /* cf13en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF13EN_SHIFT 3
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_EN_MASK 0x1 /* cf14en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_EN_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF15EN_MASK 0x1 /* cf15en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF15EN_SHIFT 5
+#define E5_XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_EN_MASK 0x1 /* cf16en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_EN_SHIFT 6
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF17EN_MASK 0x1 /* cf_array_cf_en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF17EN_SHIFT 7
+ u8 flags10;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF18EN_MASK 0x1 /* cf18en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF18EN_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_EN_MASK 0x1 /* cf19en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT 1
+#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf20en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_EN_MASK 0x1 /* cf21en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_EN_SHIFT 3
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1 /* cf22en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF23EN_MASK 0x1 /* cf23en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF23EN_SHIFT 5
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE0EN_SHIFT 6
+#define E5_XSTORM_IWARP_CONN_AG_CTX_MORE_TO_SEND_RULE_EN_MASK 0x1 /* rule1en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_MORE_TO_SEND_RULE_EN_SHIFT 7
+ u8 flags11;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_TX_BLOCKED_EN_MASK 0x1 /* rule2en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE3EN_SHIFT 1
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED3_MASK 0x1 /* rule4en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED3_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE5EN_SHIFT 3
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE6EN_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE7EN_SHIFT 5
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED1_MASK 0x1 /* rule8en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE9EN_MASK 0x1 /* rule9en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE9EN_SHIFT 7
+ u8 flags12;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_NOT_EMPTY_RULE_EN_MASK 0x1 /* rule10en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_NOT_EMPTY_RULE_EN_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE11EN_MASK 0x1 /* rule11en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE11EN_SHIFT 1
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED2_MASK 0x1 /* rule12en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED3_MASK 0x1 /* rule13en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FENCE_RULE_EN_MASK 0x1 /* rule14en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FENCE_RULE_EN_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE15EN_MASK 0x1 /* rule15en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE15EN_SHIFT 5
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE16EN_MASK 0x1 /* rule16en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE16EN_SHIFT 6
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE17EN_MASK 0x1 /* rule17en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE17EN_SHIFT 7
+ u8 flags13;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_IRQ_NOT_EMPTY_RULE_EN_MASK 0x1 /* rule18en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_IRQ_NOT_EMPTY_RULE_EN_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_HQ_NOT_FULL_RULE_EN_MASK 0x1 /* rule19en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_HQ_NOT_FULL_RULE_EN_SHIFT 1
+#define E5_XSTORM_IWARP_CONN_AG_CTX_ORQ_RD_FENCE_RULE_EN_MASK 0x1 /* rule20en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_ORQ_RD_FENCE_RULE_EN_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE21EN_MASK 0x1 /* rule21en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE21EN_SHIFT 3
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED6_MASK 0x1 /* rule22en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_ORQ_NOT_FULL_RULE_EN_MASK 0x1 /* rule23en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_ORQ_NOT_FULL_RULE_EN_SHIFT 5
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED8_MASK 0x1 /* rule24en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED9_MASK 0x1 /* rule25en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
+ u8 flags14;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT16_MASK 0x1 /* bit16 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT16_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT17_MASK 0x1 /* bit17 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT17_SHIFT 1
+#define E5_XSTORM_IWARP_CONN_AG_CTX_DPM_PORT_NUM_MASK 0x3 /* bit18 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_DPM_PORT_NUM_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT20_MASK 0x1 /* bit20 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT20_SHIFT 4
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RDMA_EDPM_ENABLE_MASK 0x1 /* bit21 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_RDMA_EDPM_ENABLE_SHIFT 5
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF23_MASK 0x3 /* cf23 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_CF23_SHIFT 6
+ u8 byte2 /* byte2 */;
+ __le16 physical_q0 /* physical_q0 */;
+ __le16 physical_q1 /* physical_q1 */;
+ __le16 sq_comp_cons /* physical_q2 */;
+ __le16 sq_tx_cons /* word3 */;
+ __le16 sq_prod /* word4 */;
+ __le16 word5 /* word5 */;
+ __le16 conn_dpi /* conn_dpi */;
+ u8 byte3 /* byte3 */;
+ u8 byte4 /* byte4 */;
+ u8 byte5 /* byte5 */;
+ u8 byte6 /* byte6 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 more_to_send_seq /* reg3 */;
+ __le32 reg4 /* reg4 */;
+ __le32 rewinded_snd_max /* cf_array0 */;
+ __le32 rd_msn /* cf_array1 */;
+ u8 flags15;
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit22 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit23 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit24 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf24 */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf24en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule26en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule27en */
+#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
+ u8 byte7 /* byte7 */;
+ __le16 irq_prod_via_msdm /* word7 */;
+ __le16 irq_cons /* word8 */;
+ __le16 hq_cons_th_or_mpa_data /* word9 */;
+ __le16 hq_cons /* word10 */;
+ __le16 tx_rdma_edpm_usg_cnt /* word11 */;
+ __le32 atom_msn /* reg7 */;
+ __le32 orq_cons /* reg8 */;
+ __le32 orq_cons_th /* reg9 */;
+ u8 max_ord /* byte8 */;
+ u8 wqe_data_pad_bytes /* byte9 */;
+ u8 former_hq_prod /* byte10 */;
+ u8 irq_prod_via_msem /* byte11 */;
+ u8 byte12 /* byte12 */;
+ u8 max_pkt_pdu_size_lo /* byte13 */;
+ u8 max_pkt_pdu_size_hi /* byte14 */;
+ u8 byte15 /* byte15 */;
+ __le32 reg10 /* reg10 */;
+ __le32 reg11 /* reg11 */;
+ __le32 reg12 /* reg12 */;
+ __le32 shared_queue_page_addr_lo /* reg13 */;
+ __le32 shared_queue_page_addr_hi /* reg14 */;
+ __le32 reg15 /* reg15 */;
+ __le32 reg16 /* reg16 */;
+ __le32 reg17 /* reg17 */;
+};
+
+struct e5_tstorm_iwarp_conn_ag_ctx
+{
+ u8 reserved0 /* cdu_validation */;
+ u8 state_and_core_id /* state_and_core_id */;
+ u8 flags0;
+#define E5_TSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
+#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT1_SHIFT 1
+#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT2_SHIFT 2
+#define E5_TSTORM_IWARP_CONN_AG_CTX_MSTORM_FLUSH_MASK 0x1 /* bit3 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_MSTORM_FLUSH_SHIFT 3
+#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT4_SHIFT 4
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CACHED_ORQ_MASK 0x1 /* bit5 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CACHED_ORQ_SHIFT 5
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF0_SHIFT 6
+ u8 flags1;
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_MASK 0x3 /* timer1cf */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_SHIFT 0
+#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_MASK 0x3 /* timer2cf */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_SHIFT 2
+#define E5_TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 4
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF4_SHIFT 6
+ u8 flags2;
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF5_SHIFT 0
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF6_SHIFT 2
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF7_SHIFT 4
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF8_SHIFT 6
+ u8 flags3;
+#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf9 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF10_SHIFT 2
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF0EN_SHIFT 4
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_EN_MASK 0x1 /* cf1en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_EN_SHIFT 5
+#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_EN_MASK 0x1 /* cf2en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_EN_SHIFT 6
+#define E5_TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7
+ u8 flags4;
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF4EN_SHIFT 0
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF5EN_SHIFT 1
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF6EN_SHIFT 2
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF7EN_SHIFT 3
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF8EN_SHIFT 4
+#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf9en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 5
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_CF10EN_SHIFT 6
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE0EN_SHIFT 7
+ u8 flags5;
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE1EN_SHIFT 0
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE2EN_SHIFT 1
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE3EN_SHIFT 2
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE4EN_SHIFT 3
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE5EN_SHIFT 4
+#define E5_TSTORM_IWARP_CONN_AG_CTX_SND_SQ_CONS_RULE_MASK 0x1 /* rule6en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_SND_SQ_CONS_RULE_SHIFT 5
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE7EN_SHIFT 6
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE8EN_SHIFT 7
+ u8 flags6;
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */
+#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
+ u8 orq_cache_idx /* byte2 */;
+ __le16 sq_tx_cons_th /* word0 */;
+ __le32 reg0 /* reg0 */;
+ __le32 reg1 /* reg1 */;
+ __le32 unaligned_nxt_seq /* reg2 */;
+ __le32 reg3 /* reg3 */;
+ __le32 reg4 /* reg4 */;
+ __le32 reg5 /* reg5 */;
+ __le32 reg6 /* reg6 */;
+ __le32 reg7 /* reg7 */;
+ __le32 reg8 /* reg8 */;
+ u8 hq_prod /* byte3 */;
+ u8 orq_prod /* byte4 */;
+ u8 irq_cons /* byte5 */;
+ u8 e4_reserved8 /* byte6 */;
+ __le16 sq_tx_cons /* word1 */;
+ __le16 conn_dpi /* conn_dpi */;
+ __le32 snd_seq /* reg9 */;
+ __le16 rq_prod /* word3 */;
+ __le16 e4_reserved9 /* word4 */;
+};
+
+/*
+ * iwarp connection context
+ */
+struct e5_iwarp_conn_context
+{
+ struct ystorm_iwarp_conn_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct regpair ystorm_st_padding[2] /* padding */;
+ struct pstorm_iwarp_conn_st_ctx pstorm_st_context /* pstorm storm context */;
+ struct regpair pstorm_st_padding[2] /* padding */;
+ struct xstorm_iwarp_conn_st_ctx xstorm_st_context /* xstorm storm context */;
+ struct regpair xstorm_st_padding[2] /* padding */;
+ struct e5_xstorm_iwarp_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
+ struct e5_tstorm_iwarp_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
+ struct timers_context timer_context /* timer context */;
+ struct e5_ustorm_rdma_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+ struct tstorm_iwarp_conn_st_ctx tstorm_st_context /* tstorm storm context */;
+ struct regpair tstorm_st_padding[2] /* padding */;
+ struct mstorm_iwarp_conn_st_ctx mstorm_st_context /* mstorm storm context */;
+ struct ustorm_iwarp_conn_st_ctx ustorm_st_context /* ustorm storm context */;
+};
+
+
/*
* iWARP create QP params passed by driver to FW in CreateQP Request Ramrod
*/
@@ -701,7 +1114,7 @@ struct iwarp_mpa_offload_ramrod_data
struct mpa_ulp_buffer incoming_ulp_buffer /* host buffer for placing the incoming MPA reply */;
struct regpair async_eqe_output_buf /* host buffer for async tcp/mpa completion information - must have space for at least 8 bytes */;
struct regpair handle_for_async /* a host cookie that will be echoed back with in every qp-specific async EQE */;
- struct regpair shared_queue_addr /* Address of shared queue address that consist of SQ/RQ and FW internal queues (IRQ/ORQ/HQ) */;
+ struct regpair shared_queue_addr /* Address of shared queue adress that consist of SQ/RQ and FW internal queues (IRQ/ORQ/HQ) */;
u8 stats_counter_id /* Statistics counter ID to use */;
u8 reserved3[15];
};
@@ -1033,127 +1446,6 @@ struct e5_mstorm_iwarp_conn_ag_ctx
};
-struct e5_tstorm_iwarp_conn_ag_ctx
-{
- u8 reserved0 /* cdu_validation */;
- u8 state_and_core_id /* state_and_core_id */;
- u8 flags0;
-#define E5_TSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
-#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT1_SHIFT 1
-#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT2_SHIFT 2
-#define E5_TSTORM_IWARP_CONN_AG_CTX_MSTORM_FLUSH_MASK 0x1 /* bit3 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_MSTORM_FLUSH_SHIFT 3
-#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_BIT4_SHIFT 4
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CACHED_ORQ_MASK 0x1 /* bit5 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CACHED_ORQ_SHIFT 5
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF0_SHIFT 6
- u8 flags1;
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_MASK 0x3 /* timer1cf */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_SHIFT 0
-#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_MASK 0x3 /* timer2cf */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_SHIFT 2
-#define E5_TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 4
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF4_SHIFT 6
- u8 flags2;
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF5_SHIFT 0
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF6_SHIFT 2
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF7_SHIFT 4
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF8_SHIFT 6
- u8 flags3;
-#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf9 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF10_SHIFT 2
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF0EN_SHIFT 4
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_EN_MASK 0x1 /* cf1en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_EN_SHIFT 5
-#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_EN_MASK 0x1 /* cf2en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_EN_SHIFT 6
-#define E5_TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7
- u8 flags4;
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF4EN_SHIFT 0
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF5EN_SHIFT 1
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF6EN_SHIFT 2
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF7EN_SHIFT 3
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF8EN_SHIFT 4
-#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf9en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 5
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_CF10EN_SHIFT 6
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE0EN_SHIFT 7
- u8 flags5;
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE1EN_SHIFT 0
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE2EN_SHIFT 1
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE3EN_SHIFT 2
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE4EN_SHIFT 3
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE5EN_SHIFT 4
-#define E5_TSTORM_IWARP_CONN_AG_CTX_SND_SQ_CONS_RULE_MASK 0x1 /* rule6en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_SND_SQ_CONS_RULE_SHIFT 5
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE7EN_SHIFT 6
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_RULE8EN_SHIFT 7
- u8 flags6;
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */
-#define E5_TSTORM_IWARP_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
- u8 orq_cache_idx /* byte2 */;
- __le16 sq_tx_cons_th /* word0 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 unaligned_nxt_seq /* reg2 */;
- __le32 reg3 /* reg3 */;
- __le32 reg4 /* reg4 */;
- __le32 reg5 /* reg5 */;
- __le32 reg6 /* reg6 */;
- __le32 reg7 /* reg7 */;
- __le32 reg8 /* reg8 */;
- u8 hq_prod /* byte3 */;
- u8 orq_prod /* byte4 */;
- u8 irq_cons /* byte5 */;
- u8 e4_reserved8 /* byte6 */;
- __le16 sq_tx_cons /* word1 */;
- __le16 conn_dpi /* conn_dpi */;
- __le32 snd_seq /* reg9 */;
- __le16 rq_prod /* word3 */;
- __le16 e4_reserved9 /* word4 */;
-};
-
struct e5_ustorm_iwarp_conn_ag_ctx
{
@@ -1238,276 +1530,6 @@ struct e5_ustorm_iwarp_conn_ag_ctx
};
-struct e5_xstorm_iwarp_conn_ag_ctx
-{
- u8 reserved0 /* cdu_validation */;
- u8 state_and_core_id /* state_and_core_id */;
- u8 flags0;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM1_MASK 0x1 /* exist_in_qm1 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM1_SHIFT 1
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED1_MASK 0x1 /* exist_in_qm2 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED1_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1 /* exist_in_qm3 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT4_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED2_MASK 0x1 /* cf_array_active */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED2_SHIFT 5
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT6_MASK 0x1 /* bit6 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT6_SHIFT 6
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT7_MASK 0x1 /* bit7 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT7_SHIFT 7
- u8 flags1;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT8_MASK 0x1 /* bit8 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT8_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT9_MASK 0x1 /* bit9 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT9_SHIFT 1
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT10_MASK 0x1 /* bit10 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT10_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT11_SHIFT 3
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT12_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT13_SHIFT 5
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT14_MASK 0x1 /* bit14 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT14_SHIFT 6
-#define E5_XSTORM_IWARP_CONN_AG_CTX_YSTORM_FLUSH_OR_REWIND_SND_MAX_MASK 0x1 /* bit15 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_YSTORM_FLUSH_OR_REWIND_SND_MAX_SHIFT 7
- u8 flags2;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF0_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF1_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF2_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 6
- u8 flags3;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF4_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF5_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF6_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF7_SHIFT 6
- u8 flags4;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF8_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF9_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF10_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF11_MASK 0x3 /* cf11 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF11_SHIFT 6
- u8 flags5;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF12_MASK 0x3 /* cf12 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF12_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF13_MASK 0x3 /* cf13 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF13_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_MASK 0x3 /* cf14 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF15_MASK 0x3 /* cf15 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF15_SHIFT 6
- u8 flags6;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_MASK 0x3 /* cf16 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF17_MASK 0x3 /* cf_array_cf */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF17_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF18_MASK 0x3 /* cf18 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF18_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_MASK 0x3 /* cf19 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_SHIFT 6
- u8 flags7;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf20 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_MASK 0x3 /* cf21 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_MASK 0x3 /* cf22 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF0EN_SHIFT 6
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF1EN_SHIFT 7
- u8 flags8;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF2EN_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 1
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF4EN_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF5EN_SHIFT 3
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF6EN_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF7EN_SHIFT 5
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF8EN_SHIFT 6
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF9EN_SHIFT 7
- u8 flags9;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF10EN_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF11EN_MASK 0x1 /* cf11en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF11EN_SHIFT 1
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF12EN_MASK 0x1 /* cf12en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF12EN_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF13EN_MASK 0x1 /* cf13en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF13EN_SHIFT 3
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_EN_MASK 0x1 /* cf14en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_EN_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF15EN_MASK 0x1 /* cf15en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF15EN_SHIFT 5
-#define E5_XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_EN_MASK 0x1 /* cf16en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_EN_SHIFT 6
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF17EN_MASK 0x1 /* cf_array_cf_en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF17EN_SHIFT 7
- u8 flags10;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF18EN_MASK 0x1 /* cf18en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF18EN_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_EN_MASK 0x1 /* cf19en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT 1
-#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf20en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_EN_MASK 0x1 /* cf21en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_EN_SHIFT 3
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1 /* cf22en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF23EN_MASK 0x1 /* cf23en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF23EN_SHIFT 5
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE0EN_SHIFT 6
-#define E5_XSTORM_IWARP_CONN_AG_CTX_MORE_TO_SEND_RULE_EN_MASK 0x1 /* rule1en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_MORE_TO_SEND_RULE_EN_SHIFT 7
- u8 flags11;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_TX_BLOCKED_EN_MASK 0x1 /* rule2en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE3EN_SHIFT 1
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED3_MASK 0x1 /* rule4en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RESERVED3_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE5EN_SHIFT 3
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE6EN_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE7EN_SHIFT 5
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED1_MASK 0x1 /* rule8en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE9EN_MASK 0x1 /* rule9en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE9EN_SHIFT 7
- u8 flags12;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_NOT_EMPTY_RULE_EN_MASK 0x1 /* rule10en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_NOT_EMPTY_RULE_EN_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE11EN_MASK 0x1 /* rule11en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE11EN_SHIFT 1
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED2_MASK 0x1 /* rule12en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED3_MASK 0x1 /* rule13en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FENCE_RULE_EN_MASK 0x1 /* rule14en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_SQ_FENCE_RULE_EN_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE15EN_MASK 0x1 /* rule15en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE15EN_SHIFT 5
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE16EN_MASK 0x1 /* rule16en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE16EN_SHIFT 6
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE17EN_MASK 0x1 /* rule17en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE17EN_SHIFT 7
- u8 flags13;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_IRQ_NOT_EMPTY_RULE_EN_MASK 0x1 /* rule18en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_IRQ_NOT_EMPTY_RULE_EN_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_HQ_NOT_FULL_RULE_EN_MASK 0x1 /* rule19en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_HQ_NOT_FULL_RULE_EN_SHIFT 1
-#define E5_XSTORM_IWARP_CONN_AG_CTX_ORQ_RD_FENCE_RULE_EN_MASK 0x1 /* rule20en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_ORQ_RD_FENCE_RULE_EN_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE21EN_MASK 0x1 /* rule21en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RULE21EN_SHIFT 3
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED6_MASK 0x1 /* rule22en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_ORQ_NOT_FULL_RULE_EN_MASK 0x1 /* rule23en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_ORQ_NOT_FULL_RULE_EN_SHIFT 5
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED8_MASK 0x1 /* rule24en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED9_MASK 0x1 /* rule25en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
- u8 flags14;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT16_MASK 0x1 /* bit16 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT16_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT17_MASK 0x1 /* bit17 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT17_SHIFT 1
-#define E5_XSTORM_IWARP_CONN_AG_CTX_DPM_PORT_NUM_MASK 0x3 /* bit18 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_DPM_PORT_NUM_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT20_MASK 0x1 /* bit20 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_BIT20_SHIFT 4
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RDMA_EDPM_ENABLE_MASK 0x1 /* bit21 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_RDMA_EDPM_ENABLE_SHIFT 5
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF23_MASK 0x3 /* cf23 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_CF23_SHIFT 6
- u8 byte2 /* byte2 */;
- __le16 physical_q0 /* physical_q0 */;
- __le16 physical_q1 /* physical_q1 */;
- __le16 sq_comp_cons /* physical_q2 */;
- __le16 sq_tx_cons /* word3 */;
- __le16 sq_prod /* word4 */;
- __le16 word5 /* word5 */;
- __le16 conn_dpi /* conn_dpi */;
- u8 byte3 /* byte3 */;
- u8 byte4 /* byte4 */;
- u8 byte5 /* byte5 */;
- u8 byte6 /* byte6 */;
- __le32 reg0 /* reg0 */;
- __le32 reg1 /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 more_to_send_seq /* reg3 */;
- __le32 reg4 /* reg4 */;
- __le32 rewinded_snd_max /* cf_array0 */;
- __le32 rd_msn /* cf_array1 */;
- u8 flags15;
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit22 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit23 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit24 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf24 */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf24en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule26en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule27en */
-#define E5_XSTORM_IWARP_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
- u8 byte7 /* byte7 */;
- __le16 irq_prod_via_msdm /* word7 */;
- __le16 irq_cons /* word8 */;
- __le16 hq_cons_th_or_mpa_data /* word9 */;
- __le16 hq_cons /* word10 */;
- __le16 tx_rdma_edpm_usg_cnt /* word11 */;
- __le32 atom_msn /* reg7 */;
- __le32 orq_cons /* reg8 */;
- __le32 orq_cons_th /* reg9 */;
- u8 max_ord /* byte8 */;
- u8 wqe_data_pad_bytes /* byte9 */;
- u8 former_hq_prod /* byte10 */;
- u8 irq_prod_via_msem /* byte11 */;
- u8 byte12 /* byte12 */;
- u8 max_pkt_pdu_size_lo /* byte13 */;
- u8 max_pkt_pdu_size_hi /* byte14 */;
- u8 byte15 /* byte15 */;
- __le32 reg10 /* reg10 */;
- __le32 reg11 /* reg11 */;
- __le32 reg12 /* reg12 */;
- __le32 shared_queue_page_addr_lo /* reg13 */;
- __le32 shared_queue_page_addr_hi /* reg14 */;
- __le32 reg15 /* reg15 */;
- __le32 reg16 /* reg16 */;
- __le32 reg17 /* reg17 */;
-};
-
struct e5_ystorm_iwarp_conn_ag_ctx
{
diff --git a/sys/dev/qlnx/qlnxe/ecore_hsi_rdma.h b/sys/dev/qlnx/qlnxe/ecore_hsi_rdma.h
index 6da9fe3..66f44b8 100644
--- a/sys/dev/qlnx/qlnxe/ecore_hsi_rdma.h
+++ b/sys/dev/qlnx/qlnxe/ecore_hsi_rdma.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_HSI_RDMA__
#define __ECORE_HSI_RDMA__
/************************************************************************/
@@ -37,6 +36,128 @@
#include "rdma_common.h"
/*
+ * The rdma task context of Mstorm
+ */
+struct ystorm_rdma_task_st_ctx
+{
+ struct regpair temp[4];
+};
+
+struct e4_ystorm_rdma_task_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 byte1 /* state */;
+ __le16 msem_ctx_upd_seq /* icid */;
+ u8 flags0;
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E4_YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
+#define E4_YSTORM_RDMA_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_VALID_SHIFT 6
+#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
+ u8 flags1;
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 0
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 2
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_MASK 0x3 /* cf2special */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 6
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 7
+ u8 flags2;
+#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT4_SHIFT 0
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 1
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 2
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 3
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 4
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 5
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 6
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 7
+ u8 key /* byte2 */;
+ __le32 mw_cnt /* reg0 */;
+ u8 ref_cnt_seq /* byte3 */;
+ u8 ctx_upd_seq /* byte4 */;
+ __le16 dif_flags /* word1 */;
+ __le16 tx_ref_count /* word2 */;
+ __le16 last_used_ltid /* word3 */;
+ __le16 parent_mr_lo /* word4 */;
+ __le16 parent_mr_hi /* word5 */;
+ __le32 fbo_lo /* reg1 */;
+ __le32 fbo_hi /* reg2 */;
+};
+
+struct e4_mstorm_rdma_task_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 byte1 /* state */;
+ __le16 icid /* icid */;
+ u8 flags0;
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E4_MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
+#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT2_MASK 0x1 /* bit2 */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT2_SHIFT 6
+#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
+ u8 flags1;
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 0
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 2
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF2_MASK 0x3 /* cf2 */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF2_SHIFT 4
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 6
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 7
+ u8 flags2;
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_CF2EN_SHIFT 0
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 1
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 2
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 3
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 4
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 5
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 6
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 7
+ u8 key /* byte2 */;
+ __le32 mw_cnt /* reg0 */;
+ u8 ref_cnt_seq /* byte3 */;
+ u8 ctx_upd_seq /* byte4 */;
+ __le16 dif_flags /* word1 */;
+ __le16 tx_ref_count /* word2 */;
+ __le16 last_used_ltid /* word3 */;
+ __le16 parent_mr_lo /* word4 */;
+ __le16 parent_mr_hi /* word5 */;
+ __le32 fbo_lo /* reg1 */;
+ __le32 fbo_hi /* reg2 */;
+};
+
+/*
* The roce task context of Mstorm
*/
struct mstorm_rdma_task_st_ctx
@@ -44,6 +165,325 @@ struct mstorm_rdma_task_st_ctx
struct regpair temp[4];
};
+/*
+ * The roce task context of Ustorm
+ */
+struct ustorm_rdma_task_st_ctx
+{
+ struct regpair temp[2];
+};
+
+struct e4_ustorm_rdma_task_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 byte1 /* state */;
+ __le16 icid /* icid */;
+ u8 flags0;
+#define E4_USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E4_USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E4_USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E4_USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_RUNT_VALID_MASK 0x1 /* exist_in_qm1 */
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_RUNT_VALID_SHIFT 5
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_MASK 0x3 /* timer0cf */
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_SHIFT 6
+ u8 flags1;
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_MASK 0x3 /* timer1cf */
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_SHIFT 0
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_MASK 0x3 /* timer2cf */
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_SHIFT 2
+#define E4_USTORM_RDMA_TASK_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E4_USTORM_RDMA_TASK_AG_CTX_CF3_SHIFT 4
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_MASK 0x3 /* cf4 */
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_SHIFT 6
+ u8 flags2;
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_MASK 0x1 /* cf0en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_SHIFT 0
+#define E4_USTORM_RDMA_TASK_AG_CTX_RESERVED2_MASK 0x1 /* cf1en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_RESERVED2_SHIFT 1
+#define E4_USTORM_RDMA_TASK_AG_CTX_RESERVED3_MASK 0x1 /* cf2en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_RESERVED3_SHIFT 2
+#define E4_USTORM_RDMA_TASK_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_CF3EN_SHIFT 3
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_MASK 0x1 /* cf4en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_SHIFT 4
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 5
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 6
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 7
+ u8 flags3;
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 0
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 1
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 2
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E4_USTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 3
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_MASK 0xF /* nibble1 */
+#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_SHIFT 4
+ __le32 dif_err_intervals /* reg0 */;
+ __le32 dif_error_1st_interval /* reg1 */;
+ __le32 reg2 /* reg2 */;
+ __le32 dif_runt_value /* reg3 */;
+ __le32 reg4 /* reg4 */;
+ __le32 reg5 /* reg5 */;
+};
+
+/*
+ * RDMA task context
+ */
+struct e4_rdma_task_context
+{
+ struct ystorm_rdma_task_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct e4_ystorm_rdma_task_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
+ struct tdif_task_context tdif_context /* tdif context */;
+ struct e4_mstorm_rdma_task_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
+ struct mstorm_rdma_task_st_ctx mstorm_st_context /* mstorm storm context */;
+ struct rdif_task_context rdif_context /* rdif context */;
+ struct ustorm_rdma_task_st_ctx ustorm_st_context /* ustorm storm context */;
+ struct regpair ustorm_st_padding[2] /* padding */;
+ struct e4_ustorm_rdma_task_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+};
+
+
+struct e5_ystorm_rdma_task_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ __le16 msem_ctx_upd_seq /* icid */;
+ u8 flags0;
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E5_YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
+#define E5_YSTORM_RDMA_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_VALID_SHIFT 6
+#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
+ u8 flags1;
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 0
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 2
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_MASK 0x3 /* cf2special */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 6
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 7
+ u8 flags2;
+#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT4_SHIFT 0
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 1
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 2
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 3
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 4
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 5
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 6
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 7
+ u8 flags3;
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit5 */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
+#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
+ __le32 mw_cnt /* reg0 */;
+ u8 key /* byte2 */;
+ u8 ref_cnt_seq /* byte3 */;
+ u8 ctx_upd_seq /* byte4 */;
+ u8 e4_reserved7 /* byte5 */;
+ __le16 dif_flags /* word1 */;
+ __le16 tx_ref_count /* word2 */;
+ __le16 last_used_ltid /* word3 */;
+ __le16 parent_mr_lo /* word4 */;
+ __le16 parent_mr_hi /* word5 */;
+ __le16 e4_reserved8 /* word6 */;
+ __le32 fbo_lo /* reg1 */;
+};
+
+struct e5_mstorm_rdma_task_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ __le16 icid /* icid */;
+ u8 flags0;
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E5_MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
+#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT2_MASK 0x1 /* bit2 */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT2_SHIFT 6
+#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
+ u8 flags1;
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 0
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 2
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF2_MASK 0x3 /* cf2 */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF2_SHIFT 4
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 6
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 7
+ u8 flags2;
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_CF2EN_SHIFT 0
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 1
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 2
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 3
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 4
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 5
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 6
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 7
+ u8 flags3;
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit4 */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
+#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
+ __le32 mw_cnt /* reg0 */;
+ u8 key /* byte2 */;
+ u8 ref_cnt_seq /* byte3 */;
+ u8 ctx_upd_seq /* byte4 */;
+ u8 e4_reserved7 /* byte5 */;
+ __le16 dif_flags /* regpair0 */;
+ __le16 tx_ref_count /* word2 */;
+ __le16 last_used_ltid /* word3 */;
+ __le16 parent_mr_lo /* word4 */;
+ __le16 parent_mr_hi /* regpair1 */;
+ __le16 e4_reserved8 /* word6 */;
+ __le32 fbo_lo /* reg1 */;
+};
+
+struct e5_ustorm_rdma_task_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ __le16 icid /* icid */;
+ u8 flags0;
+#define E5_USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E5_USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E5_USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_RUNT_VALID_MASK 0x1 /* exist_in_qm1 */
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_RUNT_VALID_SHIFT 5
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_MASK 0x3 /* timer0cf */
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_SHIFT 6
+ u8 flags1;
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_MASK 0x3 /* timer1cf */
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_SHIFT 0
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_MASK 0x3 /* timer2cf */
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_SHIFT 2
+#define E5_USTORM_RDMA_TASK_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E5_USTORM_RDMA_TASK_AG_CTX_CF3_SHIFT 4
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_MASK 0x3 /* dif_error_cf */
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_SHIFT 6
+ u8 flags2;
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_MASK 0x1 /* cf0en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_SHIFT 0
+#define E5_USTORM_RDMA_TASK_AG_CTX_RESERVED2_MASK 0x1 /* cf1en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_RESERVED2_SHIFT 1
+#define E5_USTORM_RDMA_TASK_AG_CTX_RESERVED3_MASK 0x1 /* cf2en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_RESERVED3_SHIFT 2
+#define E5_USTORM_RDMA_TASK_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_CF3EN_SHIFT 3
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_MASK 0x1 /* cf4en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_SHIFT 4
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 5
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 6
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 7
+ u8 flags3;
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 0
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 1
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 2
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 3
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_SHIFT 4
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_SHIFT 5
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit4 */
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_SHIFT 6
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* rule7en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_SHIFT 7
+ u8 flags4;
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_MASK 0x3 /* cf5 */
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_SHIFT 0
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf5en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_SHIFT 2
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule8en */
+#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED7_SHIFT 3
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_MASK 0xF /* dif_error_type */
+#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_SHIFT 4
+ u8 byte2 /* byte2 */;
+ u8 byte3 /* byte3 */;
+ u8 e4_reserved8 /* byte4 */;
+ __le32 dif_err_intervals /* dif_err_intervals */;
+ __le32 dif_error_1st_interval /* dif_error_1st_interval */;
+ __le32 reg2 /* reg2 */;
+ __le32 dif_runt_value /* reg3 */;
+ __le32 reg4 /* reg4 */;
+};
+
+/*
+ * RDMA task context
+ */
+struct e5_rdma_task_context
+{
+ struct ystorm_rdma_task_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct e5_ystorm_rdma_task_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
+ struct tdif_task_context tdif_context /* tdif context */;
+ struct e5_mstorm_rdma_task_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
+ struct mstorm_rdma_task_st_ctx mstorm_st_context /* mstorm storm context */;
+ struct rdif_task_context rdif_context /* rdif context */;
+ struct ustorm_rdma_task_st_ctx ustorm_st_context /* ustorm storm context */;
+ struct regpair ustorm_st_padding[2] /* padding */;
+ struct e5_ustorm_rdma_task_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+};
+
+
/*
* rdma function init ramrod data
@@ -332,212 +772,6 @@ struct rdma_srq_modify_ramrod_data
/*
- * The rdma task context of Mstorm
- */
-struct ystorm_rdma_task_st_ctx
-{
- struct regpair temp[4];
-};
-
-struct e4_ystorm_rdma_task_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 byte1 /* state */;
- __le16 msem_ctx_upd_seq /* icid */;
- u8 flags0;
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E4_YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
-#define E4_YSTORM_RDMA_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_VALID_SHIFT 6
-#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
- u8 flags1;
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 0
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 2
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_MASK 0x3 /* cf2special */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 6
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 7
- u8 flags2;
-#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_BIT4_SHIFT 0
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 1
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 2
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 3
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 4
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 5
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 6
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E4_YSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 7
- u8 key /* byte2 */;
- __le32 mw_cnt /* reg0 */;
- u8 ref_cnt_seq /* byte3 */;
- u8 ctx_upd_seq /* byte4 */;
- __le16 dif_flags /* word1 */;
- __le16 tx_ref_count /* word2 */;
- __le16 last_used_ltid /* word3 */;
- __le16 parent_mr_lo /* word4 */;
- __le16 parent_mr_hi /* word5 */;
- __le32 fbo_lo /* reg1 */;
- __le32 fbo_hi /* reg2 */;
-};
-
-struct e4_mstorm_rdma_task_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 byte1 /* state */;
- __le16 icid /* icid */;
- u8 flags0;
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E4_MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
-#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT2_MASK 0x1 /* bit2 */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT2_SHIFT 6
-#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
- u8 flags1;
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 0
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 2
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF2_MASK 0x3 /* cf2 */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF2_SHIFT 4
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 6
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 7
- u8 flags2;
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_CF2EN_SHIFT 0
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 1
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 2
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 3
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 4
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 5
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 6
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E4_MSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 7
- u8 key /* byte2 */;
- __le32 mw_cnt /* reg0 */;
- u8 ref_cnt_seq /* byte3 */;
- u8 ctx_upd_seq /* byte4 */;
- __le16 dif_flags /* word1 */;
- __le16 tx_ref_count /* word2 */;
- __le16 last_used_ltid /* word3 */;
- __le16 parent_mr_lo /* word4 */;
- __le16 parent_mr_hi /* word5 */;
- __le32 fbo_lo /* reg1 */;
- __le32 fbo_hi /* reg2 */;
-};
-
-/*
- * The roce task context of Ustorm
- */
-struct ustorm_rdma_task_st_ctx
-{
- struct regpair temp[2];
-};
-
-struct e4_ustorm_rdma_task_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 byte1 /* state */;
- __le16 icid /* icid */;
- u8 flags0;
-#define E4_USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E4_USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E4_USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E4_USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_RUNT_VALID_MASK 0x1 /* exist_in_qm1 */
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_RUNT_VALID_SHIFT 5
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_MASK 0x3 /* timer0cf */
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_SHIFT 6
- u8 flags1;
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_MASK 0x3 /* timer1cf */
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_SHIFT 0
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_MASK 0x3 /* timer2cf */
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_SHIFT 2
-#define E4_USTORM_RDMA_TASK_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E4_USTORM_RDMA_TASK_AG_CTX_CF3_SHIFT 4
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_MASK 0x3 /* cf4 */
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_SHIFT 6
- u8 flags2;
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_MASK 0x1 /* cf0en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_SHIFT 0
-#define E4_USTORM_RDMA_TASK_AG_CTX_RESERVED2_MASK 0x1 /* cf1en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_RESERVED2_SHIFT 1
-#define E4_USTORM_RDMA_TASK_AG_CTX_RESERVED3_MASK 0x1 /* cf2en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_RESERVED3_SHIFT 2
-#define E4_USTORM_RDMA_TASK_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_CF3EN_SHIFT 3
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_MASK 0x1 /* cf4en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_SHIFT 4
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 5
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 6
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 7
- u8 flags3;
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 0
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 1
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 2
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E4_USTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 3
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_MASK 0xF /* nibble1 */
-#define E4_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_SHIFT 4
- __le32 dif_err_intervals /* reg0 */;
- __le32 dif_error_1st_interval /* reg1 */;
- __le32 reg2 /* reg2 */;
- __le32 dif_runt_value /* reg3 */;
- __le32 reg4 /* reg4 */;
- __le32 reg5 /* reg5 */;
-};
-
-/*
- * RDMA task context
- */
-struct rdma_task_context
-{
- struct ystorm_rdma_task_st_ctx ystorm_st_context /* ystorm storm context */;
- struct e4_ystorm_rdma_task_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
- struct tdif_task_context tdif_context /* tdif context */;
- struct e4_mstorm_rdma_task_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
- struct mstorm_rdma_task_st_ctx mstorm_st_context /* mstorm storm context */;
- struct rdif_task_context rdif_context /* rdif context */;
- struct ustorm_rdma_task_st_ctx ustorm_st_context /* ustorm storm context */;
- struct regpair ustorm_st_padding[2] /* padding */;
- struct e4_ustorm_rdma_task_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
-};
-
-
-/*
* RDMA Tid type enumeration (for register_tid ramrod)
*/
enum rdma_tid_type
@@ -1397,77 +1631,6 @@ struct e5_mstorm_rdma_conn_ag_ctx
};
-struct e5_mstorm_rdma_task_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- __le16 icid /* icid */;
- u8 flags0;
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E5_MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
-#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT2_MASK 0x1 /* bit2 */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT2_SHIFT 6
-#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
- u8 flags1;
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 0
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 2
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF2_MASK 0x3 /* cf2 */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF2_SHIFT 4
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 6
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 7
- u8 flags2;
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_CF2EN_SHIFT 0
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 1
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 2
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 3
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 4
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 5
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 6
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 7
- u8 flags3;
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit4 */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
-#define E5_MSTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
- __le32 mw_cnt /* reg0 */;
- u8 key /* byte2 */;
- u8 ref_cnt_seq /* byte3 */;
- u8 ctx_upd_seq /* byte4 */;
- u8 e4_reserved7 /* byte5 */;
- __le16 dif_flags /* regpair0 */;
- __le16 tx_ref_count /* word2 */;
- __le16 last_used_ltid /* word3 */;
- __le16 parent_mr_lo /* word4 */;
- __le16 parent_mr_hi /* regpair1 */;
- __le16 e4_reserved8 /* word6 */;
- __le32 fbo_lo /* reg1 */;
-};
-
struct e5_tstorm_rdma_conn_ag_ctx
{
@@ -1755,82 +1918,6 @@ struct e5_ustorm_rdma_conn_ag_ctx
};
-struct e5_ustorm_rdma_task_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- __le16 icid /* icid */;
- u8 flags0;
-#define E5_USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E5_USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E5_USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_RUNT_VALID_MASK 0x1 /* exist_in_qm1 */
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_RUNT_VALID_SHIFT 5
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_MASK 0x3 /* timer0cf */
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_SHIFT 6
- u8 flags1;
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_MASK 0x3 /* timer1cf */
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_SHIFT 0
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_MASK 0x3 /* timer2cf */
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_SHIFT 2
-#define E5_USTORM_RDMA_TASK_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E5_USTORM_RDMA_TASK_AG_CTX_CF3_SHIFT 4
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_MASK 0x3 /* dif_error_cf */
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_SHIFT 6
- u8 flags2;
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_MASK 0x1 /* cf0en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_SHIFT 0
-#define E5_USTORM_RDMA_TASK_AG_CTX_RESERVED2_MASK 0x1 /* cf1en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_RESERVED2_SHIFT 1
-#define E5_USTORM_RDMA_TASK_AG_CTX_RESERVED3_MASK 0x1 /* cf2en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_RESERVED3_SHIFT 2
-#define E5_USTORM_RDMA_TASK_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_CF3EN_SHIFT 3
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_MASK 0x1 /* cf4en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_SHIFT 4
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 5
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 6
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 7
- u8 flags3;
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 0
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 1
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 2
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 3
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_SHIFT 4
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_SHIFT 5
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit4 */
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_SHIFT 6
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* rule7en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_SHIFT 7
- u8 flags4;
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_MASK 0x3 /* cf5 */
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_SHIFT 0
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf5en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_SHIFT 2
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule8en */
-#define E5_USTORM_RDMA_TASK_AG_CTX_E4_RESERVED7_SHIFT 3
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_MASK 0xF /* dif_error_type */
-#define E5_USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_SHIFT 4
- u8 byte2 /* byte2 */;
- u8 byte3 /* byte3 */;
- u8 e4_reserved8 /* byte4 */;
- __le32 dif_err_intervals /* dif_err_intervals */;
- __le32 dif_error_1st_interval /* dif_error_1st_interval */;
- __le32 reg2 /* reg2 */;
- __le32 dif_runt_value /* reg3 */;
- __le32 reg4 /* reg4 */;
-};
-
struct e5_xstorm_rdma_conn_ag_ctx
{
@@ -2109,75 +2196,4 @@ struct e5_ystorm_rdma_conn_ag_ctx
};
-struct e5_ystorm_rdma_task_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- __le16 msem_ctx_upd_seq /* icid */;
- u8 flags0;
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E5_YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
-#define E5_YSTORM_RDMA_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_VALID_SHIFT 6
-#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
- u8 flags1;
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 0
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 2
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_MASK 0x3 /* cf2special */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 6
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 7
- u8 flags2;
-#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_BIT4_SHIFT 0
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 1
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 2
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 3
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 4
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 5
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 6
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 7
- u8 flags3;
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit5 */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
-#define E5_YSTORM_RDMA_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
- __le32 mw_cnt /* reg0 */;
- u8 key /* byte2 */;
- u8 ref_cnt_seq /* byte3 */;
- u8 ctx_upd_seq /* byte4 */;
- u8 e4_reserved7 /* byte5 */;
- __le16 dif_flags /* word1 */;
- __le16 tx_ref_count /* word2 */;
- __le16 last_used_ltid /* word3 */;
- __le16 parent_mr_lo /* word4 */;
- __le16 parent_mr_hi /* word5 */;
- __le16 e4_reserved8 /* word6 */;
- __le32 fbo_lo /* reg1 */;
-};
-
#endif /* __ECORE_HSI_RDMA__ */
diff --git a/sys/dev/qlnx/qlnxe/ecore_hsi_roce.h b/sys/dev/qlnx/qlnxe/ecore_hsi_roce.h
index 7021513..a0831d7 100644
--- a/sys/dev/qlnx/qlnxe/ecore_hsi_roce.h
+++ b/sys/dev/qlnx/qlnxe/ecore_hsi_roce.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_HSI_ROCE__
#define __ECORE_HSI_ROCE__
/************************************************************************/
@@ -41,14 +40,13 @@
#include "roce_common.h"
/*
- * The roce storm context of Mstorm
+ * The roce storm context of Ystorm
*/
-struct mstorm_roce_conn_st_ctx
+struct ystorm_roce_conn_st_ctx
{
- struct regpair temp[6];
+ struct regpair temp[2];
};
-
/*
* The roce storm context of Mstorm
*/
@@ -57,15 +55,6 @@ struct pstorm_roce_conn_st_ctx
struct regpair temp[16];
};
-
-/*
- * The roce storm context of Ystorm
- */
-struct ystorm_roce_conn_st_ctx
-{
- struct regpair temp[2];
-};
-
/*
* The roce storm context of Xstorm
*/
@@ -83,6 +72,14 @@ struct tstorm_roce_conn_st_ctx
};
/*
+ * The roce storm context of Mstorm
+ */
+struct mstorm_roce_conn_st_ctx
+{
+ struct regpair temp[6];
+};
+
+/*
* The roce storm context of Ystorm
*/
struct ustorm_roce_conn_st_ctx
@@ -93,7 +90,7 @@ struct ustorm_roce_conn_st_ctx
/*
* roce connection context
*/
-struct roce_conn_context
+struct e4_roce_conn_context
{
struct ystorm_roce_conn_st_ctx ystorm_st_context /* ystorm storm context */;
struct regpair ystorm_st_padding[2] /* padding */;
@@ -112,6 +109,29 @@ struct roce_conn_context
/*
+ * roce connection context
+ */
+struct e5_roce_conn_context
+{
+ struct ystorm_roce_conn_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct regpair ystorm_st_padding[2] /* padding */;
+ struct pstorm_roce_conn_st_ctx pstorm_st_context /* pstorm storm context */;
+ struct xstorm_roce_conn_st_ctx xstorm_st_context /* xstorm storm context */;
+ struct regpair xstorm_st_padding[2] /* padding */;
+ struct e5_xstorm_rdma_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
+ struct e5_tstorm_rdma_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
+ struct timers_context timer_context /* timer context */;
+ struct e5_ustorm_rdma_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+ struct tstorm_roce_conn_st_ctx tstorm_st_context /* tstorm storm context */;
+ struct mstorm_roce_conn_st_ctx mstorm_st_context /* mstorm storm context */;
+ struct ustorm_roce_conn_st_ctx ustorm_st_context /* ustorm storm context */;
+ struct regpair ustorm_st_padding[2] /* padding */;
+};
+
+
+
+
+/*
* roce create qp requester ramrod data
*/
struct roce_create_qp_req_ramrod_data
diff --git a/sys/dev/qlnx/qlnxe/ecore_hw.c b/sys/dev/qlnx/qlnxe/ecore_hw.c
index 4aeb1e8..46293cd 100644
--- a/sys/dev/qlnx/qlnxe/ecore_hw.c
+++ b/sys/dev/qlnx/qlnxe/ecore_hw.c
@@ -31,7 +31,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-
#include "bcm_osal.h"
#include "ecore_hsi_common.h"
#include "ecore_status.h"
@@ -90,7 +89,9 @@ enum _ecore_status_t ecore_ptt_pool_alloc(struct ecore_hwfn *p_hwfn)
}
p_hwfn->p_ptt_pool = p_pool;
+#ifdef CONFIG_ECORE_LOCK_ALLOC
OSAL_SPIN_LOCK_ALLOC(p_hwfn, &p_pool->lock);
+#endif
OSAL_SPIN_LOCK_INIT(&p_pool->lock);
return ECORE_SUCCESS;
@@ -109,8 +110,10 @@ void ecore_ptt_invalidate(struct ecore_hwfn *p_hwfn)
void ecore_ptt_pool_free(struct ecore_hwfn *p_hwfn)
{
+#ifdef CONFIG_ECORE_LOCK_ALLOC
if (p_hwfn->p_ptt_pool)
OSAL_SPIN_LOCK_DEALLOC(&p_hwfn->p_ptt_pool->lock);
+#endif
OSAL_FREE(p_hwfn->p_dev, p_hwfn->p_ptt_pool);
p_hwfn->p_ptt_pool = OSAL_NULL;
}
@@ -156,8 +159,7 @@ void ecore_ptt_release(struct ecore_hwfn *p_hwfn,
OSAL_SPIN_UNLOCK(&p_hwfn->p_ptt_pool->lock);
}
-u32 ecore_ptt_get_hw_addr(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt)
+u32 ecore_ptt_get_hw_addr(struct ecore_ptt *p_ptt)
{
/* The HW is using DWORDS and we need to translate it to Bytes */
return OSAL_LE32_TO_CPU(p_ptt->pxp.offset) << 2;
@@ -181,7 +183,7 @@ void ecore_ptt_set_win(struct ecore_hwfn *p_hwfn,
{
u32 prev_hw_addr;
- prev_hw_addr = ecore_ptt_get_hw_addr(p_hwfn, p_ptt);
+ prev_hw_addr = ecore_ptt_get_hw_addr(p_ptt);
if (new_hw_addr == prev_hw_addr)
return;
@@ -204,7 +206,7 @@ static u32 ecore_set_ptt(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
u32 hw_addr)
{
- u32 win_hw_addr = ecore_ptt_get_hw_addr(p_hwfn, p_ptt);
+ u32 win_hw_addr = ecore_ptt_get_hw_addr(p_ptt);
u32 offset;
offset = hw_addr - win_hw_addr;
@@ -442,7 +444,7 @@ u32 ecore_vfid_to_concrete(struct ecore_hwfn *p_hwfn, u8 vfid)
#if 0
/* Ecore HW lock
* =============
- * Although the implementation is ready, today we don't have any flow that
+ * Although the implemention is ready, today we don't have any flow that
* utliizes said locks - and we want to keep it this way.
* If this changes, this needs to be revisted.
*/
diff --git a/sys/dev/qlnx/qlnxe/ecore_hw.h b/sys/dev/qlnx/qlnxe/ecore_hw.h
index 9b80ac6..f2d4452 100644
--- a/sys/dev/qlnx/qlnxe/ecore_hw.h
+++ b/sys/dev/qlnx/qlnxe/ecore_hw.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_HW_H__
#define __ECORE_HW_H__
@@ -94,8 +93,10 @@ enum _dmae_cmd_crc_mask {
* @brief ecore_gtt_init - Initialize GTT windows
*
* @param p_hwfn
+* @param p_ptt
*/
-void ecore_gtt_init(struct ecore_hwfn *p_hwfn);
+void ecore_gtt_init(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt);
/**
* @brief ecore_ptt_invalidate - Forces all ptt entries to be re-configured
@@ -123,13 +124,11 @@ void ecore_ptt_pool_free(struct ecore_hwfn *p_hwfn);
/**
* @brief ecore_ptt_get_hw_addr - Get PTT's GRC/HW address
*
- * @param p_hwfn
* @param p_ptt
*
* @return u32
*/
-u32 ecore_ptt_get_hw_addr(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt);
+u32 ecore_ptt_get_hw_addr(struct ecore_ptt *p_ptt);
/**
* @brief ecore_ptt_get_bar_addr - Get PPT's external BAR address
@@ -281,35 +280,6 @@ enum _ecore_status_t ecore_dmae_info_alloc(struct ecore_hwfn *p_hwfn);
*/
void ecore_dmae_info_free(struct ecore_hwfn *p_hwfn);
-union ecore_qm_pq_params {
- struct {
- u8 q_idx;
- } iscsi;
-
- struct {
- u8 tc;
- } core;
-
- struct {
- u8 is_vf;
- u8 vf_id;
- u8 tc;
- } eth;
-
- struct {
- u8 dcqcn;
- u8 qpid; /* roce relative */
- } roce;
-
- struct {
- u8 qidx;
- } iwarp;
-};
-
-u16 ecore_get_qm_pq(struct ecore_hwfn *p_hwfn,
- enum protocol_type proto,
- union ecore_qm_pq_params *params);
-
enum _ecore_status_t ecore_init_fw_data(struct ecore_dev *p_dev,
const u8 *fw_data);
diff --git a/sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.c b/sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.c
index 079d132..2bff62b 100644
--- a/sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.c
+++ b/sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.c
@@ -31,7 +31,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-
#include "bcm_osal.h"
#include "ecore_hw.h"
#include "ecore_init_ops.h"
@@ -46,12 +45,12 @@ __FBSDID("$FreeBSD$");
#define CDU_VALIDATION_DEFAULT_CFG 61
-static u16 con_region_offsets[3][E4_NUM_OF_CONNECTION_TYPES] = {
+static u16 con_region_offsets[3][NUM_OF_CONNECTION_TYPES_E4] = {
{ 400, 336, 352, 304, 304, 384, 416, 352}, /* region 3 offsets */
{ 528, 496, 416, 448, 448, 512, 544, 480}, /* region 4 offsets */
{ 608, 544, 496, 512, 576, 592, 624, 560} /* region 5 offsets */
};
-static u16 task_region_offsets[1][E4_NUM_OF_CONNECTION_TYPES] = {
+static u16 task_region_offsets[1][NUM_OF_CONNECTION_TYPES_E4] = {
{ 240, 240, 112, 0, 0, 0, 0, 96} /* region 1 offsets */
};
@@ -67,6 +66,9 @@ static u16 task_region_offsets[1][E4_NUM_OF_CONNECTION_TYPES] = {
/* Other PQ constants */
#define QM_OTHER_PQS_PER_PF 4
+/* VOQ constants */
+#define QM_E5_NUM_EXT_VOQ (MAX_NUM_PORTS_E5 * NUM_OF_TCS)
+
/* WFQ constants: */
/* Upper bound in MB, 10 * burst size of 1ms in 50Gbps */
@@ -76,7 +78,8 @@ static u16 task_region_offsets[1][E4_NUM_OF_CONNECTION_TYPES] = {
#define QM_WFQ_VP_PQ_VOQ_SHIFT 0
/* Bit of PF in WFQ VP PQ map */
-#define QM_WFQ_VP_PQ_PF_SHIFT 5
+#define QM_WFQ_VP_PQ_PF_E4_SHIFT 5
+#define QM_WFQ_VP_PQ_PF_E5_SHIFT 6
/* 0x9000 = 4*9*1024 */
#define QM_WFQ_INC_VAL(weight) ((weight) * 0x9000)
@@ -84,6 +87,9 @@ static u16 task_region_offsets[1][E4_NUM_OF_CONNECTION_TYPES] = {
/* 0.7 * upper bound (62500000) */
#define QM_WFQ_MAX_INC_VAL 43750000
+/* Number of VOQs in E5 QmWfqCrd register */
+#define QM_WFQ_CRD_E5_NUM_VOQS 16
+
/* RL constants: */
/* Upper bound is set to 10 * burst size of 1ms in 50Gbps */
@@ -117,9 +123,11 @@ static u16 task_region_offsets[1][E4_NUM_OF_CONNECTION_TYPES] = {
/* Pure LB CmdQ lines (+spare) */
#define PBF_CMDQ_PURE_LB_LINES 150
-#define PBF_CMDQ_LINES_RT_OFFSET(voq) (PBF_REG_YCMD_QS_NUM_LINES_VOQ0_RT_OFFSET + voq * (PBF_REG_YCMD_QS_NUM_LINES_VOQ1_RT_OFFSET - PBF_REG_YCMD_QS_NUM_LINES_VOQ0_RT_OFFSET))
+#define PBF_CMDQ_LINES_E5_RSVD_RATIO 8
+
+#define PBF_CMDQ_LINES_RT_OFFSET(ext_voq) (PBF_REG_YCMD_QS_NUM_LINES_VOQ0_RT_OFFSET + ext_voq * (PBF_REG_YCMD_QS_NUM_LINES_VOQ1_RT_OFFSET - PBF_REG_YCMD_QS_NUM_LINES_VOQ0_RT_OFFSET))
-#define PBF_BTB_GUARANTEED_RT_OFFSET(voq) (PBF_REG_BTB_GUARANTEED_VOQ0_RT_OFFSET + voq * (PBF_REG_BTB_GUARANTEED_VOQ1_RT_OFFSET - PBF_REG_BTB_GUARANTEED_VOQ0_RT_OFFSET))
+#define PBF_BTB_GUARANTEED_RT_OFFSET(ext_voq) (PBF_REG_BTB_GUARANTEED_VOQ0_RT_OFFSET + ext_voq * (PBF_REG_BTB_GUARANTEED_VOQ1_RT_OFFSET - PBF_REG_BTB_GUARANTEED_VOQ0_RT_OFFSET))
#define QM_VOQ_LINE_CRD(pbf_cmd_lines) ((((pbf_cmd_lines) - 4) * 2) | QM_LINE_CRD_REG_SIGN_BIT)
@@ -155,23 +163,41 @@ static u16 task_region_offsets[1][E4_NUM_OF_CONNECTION_TYPES] = {
#define QM_CMD_STRUCT_SIZE(cmd) cmd##_STRUCT_SIZE
#define QM_CMD_SET_FIELD(var, cmd, field, value) SET_FIELD(var[cmd##_##field##_OFFSET], cmd##_##field, value)
-/* QM: VOQ macros */
-#define PHYS_VOQ(port, tc, max_phys_tcs_per_port) ((port) * (max_phys_tcs_per_port) + (tc))
-#define LB_VOQ(port) (MAX_PHYS_VOQS + (port))
-#define VOQ(port, tc, max_phys_tcs_per_port) ((tc) < LB_TC ? PHYS_VOQ(port, tc, max_phys_tcs_per_port) : LB_VOQ(port))
+#define QM_INIT_TX_PQ_MAP(map, chip, pq_id, rl_valid, vp_pq_id, rl_id, ext_voq, wrr) OSAL_MEMSET(&map, 0, sizeof(map)); SET_FIELD(map.reg, QM_RF_PQ_MAP_##chip##_PQ_VALID, 1); SET_FIELD(map.reg, QM_RF_PQ_MAP_##chip##_RL_VALID, rl_valid); SET_FIELD(map.reg, QM_RF_PQ_MAP_##chip##_VP_PQ_ID, vp_pq_id); SET_FIELD(map.reg, QM_RF_PQ_MAP_##chip##_RL_ID, rl_id); SET_FIELD(map.reg, QM_RF_PQ_MAP_##chip##_VOQ, ext_voq); SET_FIELD(map.reg, QM_RF_PQ_MAP_##chip##_WRR_WEIGHT_GROUP, wrr); STORE_RT_REG(p_hwfn, QM_REG_TXPQMAP_RT_OFFSET + pq_id, *((u32 *)&map))
+#define WRITE_PQ_INFO_TO_RAM 1
+#define PQ_INFO_ELEMENT(vp, pf, tc, port, rl_valid, rl) (((vp) << 0) | ((pf) << 12) | ((tc) << 16) | ((port) << 20) | ((rl_valid) << 22) | ((rl) << 24))
+#define PQ_INFO_RAM_GRC_ADDRESS(pq_id) XSEM_REG_FAST_MEMORY + SEM_FAST_REG_INT_RAM + 21768 + (pq_id) * 4
/******************** INTERNAL IMPLEMENTATION *********************/
+/* Returns the external VOQ number */
+static u8 ecore_get_ext_voq(struct ecore_hwfn *p_hwfn,
+ u8 port_id,
+ u8 tc,
+ u8 max_phys_tcs_per_port)
+{
+ if (tc == PURE_LB_TC)
+ return NUM_OF_PHYS_TCS * (ECORE_IS_E5(p_hwfn->p_dev) ? MAX_NUM_PORTS_E5 : MAX_NUM_PORTS_BB) + port_id;
+ else
+ return port_id * (ECORE_IS_E5(p_hwfn->p_dev) ? NUM_OF_PHYS_TCS : max_phys_tcs_per_port) + tc;
+}
+
/* Prepare PF RL enable/disable runtime init values */
static void ecore_enable_pf_rl(struct ecore_hwfn *p_hwfn,
bool pf_rl_en)
{
STORE_RT_REG(p_hwfn, QM_REG_RLPFENABLE_RT_OFFSET, pf_rl_en ? 1 : 0);
if (pf_rl_en) {
+ u8 num_ext_voqs = ECORE_IS_E5(p_hwfn->p_dev) ? QM_E5_NUM_EXT_VOQ : MAX_NUM_VOQS_E4;
+ u64 voq_bit_mask = ((u64)1 << num_ext_voqs) - 1;
/* Enable RLs for all VOQs */
- STORE_RT_REG(p_hwfn, QM_REG_RLPFVOQENABLE_RT_OFFSET, (1 << MAX_NUM_VOQS) - 1);
+ STORE_RT_REG(p_hwfn, QM_REG_RLPFVOQENABLE_RT_OFFSET, (u32)voq_bit_mask);
+#ifdef QM_REG_RLPFVOQENABLE_MSB_RT_OFFSET
+ if (num_ext_voqs >= 32)
+ STORE_RT_REG(p_hwfn, QM_REG_RLPFVOQENABLE_MSB_RT_OFFSET, (u32)(voq_bit_mask >> 32));
+#endif
/* Write RL period */
STORE_RT_REG(p_hwfn, QM_REG_RLPFPERIOD_RT_OFFSET, QM_RL_PERIOD_CLK_25M);
@@ -226,16 +252,16 @@ static void ecore_enable_vport_wfq(struct ecore_hwfn *p_hwfn,
* the specified VOQ.
*/
static void ecore_cmdq_lines_voq_rt_init(struct ecore_hwfn *p_hwfn,
- u8 voq,
+ u8 ext_voq,
u16 cmdq_lines)
{
u32 qm_line_crd;
qm_line_crd = QM_VOQ_LINE_CRD(cmdq_lines);
- OVERWRITE_RT_REG(p_hwfn, PBF_CMDQ_LINES_RT_OFFSET(voq), (u32)cmdq_lines);
- STORE_RT_REG(p_hwfn, QM_REG_VOQCRDLINE_RT_OFFSET + voq, qm_line_crd);
- STORE_RT_REG(p_hwfn, QM_REG_VOQINITCRDLINE_RT_OFFSET + voq, qm_line_crd);
+ OVERWRITE_RT_REG(p_hwfn, PBF_CMDQ_LINES_RT_OFFSET(ext_voq), (u32)cmdq_lines);
+ STORE_RT_REG(p_hwfn, QM_REG_VOQCRDLINE_RT_OFFSET + ext_voq, qm_line_crd);
+ STORE_RT_REG(p_hwfn, QM_REG_VOQINITCRDLINE_RT_OFFSET + ext_voq, qm_line_crd);
}
/* Prepare runtime init values to allocate PBF command queue lines. */
@@ -244,11 +270,12 @@ static void ecore_cmdq_lines_rt_init(struct ecore_hwfn *p_hwfn,
u8 max_phys_tcs_per_port,
struct init_qm_port_params port_params[MAX_NUM_PORTS])
{
- u8 tc, voq, port_id, num_tcs_in_port;
+ u8 tc, ext_voq, port_id, num_tcs_in_port;
+ u8 num_ext_voqs = ECORE_IS_E5(p_hwfn->p_dev) ? QM_E5_NUM_EXT_VOQ : MAX_NUM_VOQS_E4;
- /* Clear PBF lines for all VOQs */
- for (voq = 0; voq < MAX_NUM_VOQS; voq++)
- STORE_RT_REG(p_hwfn, PBF_CMDQ_LINES_RT_OFFSET(voq), 0);
+ /* Clear PBF lines of all VOQs */
+ for (ext_voq = 0; ext_voq < num_ext_voqs; ext_voq++)
+ STORE_RT_REG(p_hwfn, PBF_CMDQ_LINES_RT_OFFSET(ext_voq), 0);
for (port_id = 0; port_id < max_ports_per_engine; port_id++) {
u16 phys_lines, phys_lines_per_tc;
@@ -256,26 +283,32 @@ static void ecore_cmdq_lines_rt_init(struct ecore_hwfn *p_hwfn,
if (!port_params[port_id].active)
continue;
- /* Find #lines to divide between the active physical TCs */
- phys_lines = port_params[port_id].num_pbf_cmd_lines - PBF_CMDQ_PURE_LB_LINES;
+ /* Find number of command queue lines to divide between the
+ * active physical TCs. In E5, 1/8 of the lines are reserved.
+ * the lines for pure LB TC are subtracted.
+ */
+ phys_lines = port_params[port_id].num_pbf_cmd_lines;
+ if (ECORE_IS_E5(p_hwfn->p_dev))
+ phys_lines -= DIV_ROUND_UP(phys_lines, PBF_CMDQ_LINES_E5_RSVD_RATIO);
+ phys_lines -= PBF_CMDQ_PURE_LB_LINES;
/* Find #lines per active physical TC */
num_tcs_in_port = 0;
- for (tc = 0; tc < NUM_OF_PHYS_TCS; tc++)
+ for (tc = 0; tc < max_phys_tcs_per_port; tc++)
if (((port_params[port_id].active_phys_tcs >> tc) & 0x1) == 1)
num_tcs_in_port++;
phys_lines_per_tc = phys_lines / num_tcs_in_port;
/* Init registers per active TC */
- for (tc = 0; tc < NUM_OF_PHYS_TCS; tc++) {
- if (((port_params[port_id].active_phys_tcs >> tc) & 0x1) == 1) {
- voq = PHYS_VOQ(port_id, tc, max_phys_tcs_per_port);
- ecore_cmdq_lines_voq_rt_init(p_hwfn, voq, phys_lines_per_tc);
- }
+ for (tc = 0; tc < max_phys_tcs_per_port; tc++) {
+ ext_voq = ecore_get_ext_voq(p_hwfn, port_id, tc, max_phys_tcs_per_port);
+ if (((port_params[port_id].active_phys_tcs >> tc) & 0x1) == 1)
+ ecore_cmdq_lines_voq_rt_init(p_hwfn, ext_voq, phys_lines_per_tc);
}
/* Init registers for pure LB TC */
- ecore_cmdq_lines_voq_rt_init(p_hwfn, LB_VOQ(port_id), PBF_CMDQ_PURE_LB_LINES);
+ ext_voq = ecore_get_ext_voq(p_hwfn, port_id, PURE_LB_TC, max_phys_tcs_per_port);
+ ecore_cmdq_lines_voq_rt_init(p_hwfn, ext_voq, PBF_CMDQ_PURE_LB_LINES);
}
}
@@ -290,7 +323,7 @@ static void ecore_cmdq_lines_rt_init(struct ecore_hwfn *p_hwfn,
* headroom.
* b. B = B - 38 (remainder after global headroom allocation).
* c. MAX(38,B/(C+0.7)) blocks are allocated for the pure LB VOQ.
- * d. B = B % MAX(38, B/(C+0.7)) (remainder after pure LB allocation).
+ * d. B = B – MAX(38, B/(C+0.7)) (remainder after pure LB allocation).
* e. B/C blocks are allocated for each physical TC.
* Assumptions:
* - MTU is up to 9700 bytes (38 blocks)
@@ -304,7 +337,7 @@ static void ecore_btb_blocks_rt_init(struct ecore_hwfn *p_hwfn,
struct init_qm_port_params port_params[MAX_NUM_PORTS])
{
u32 usable_blocks, pure_lb_blocks, phys_blocks;
- u8 tc, voq, port_id, num_tcs_in_port;
+ u8 tc, ext_voq, port_id, num_tcs_in_port;
for (port_id = 0; port_id < max_ports_per_engine; port_id++) {
if (!port_params[port_id].active)
@@ -328,32 +361,32 @@ static void ecore_btb_blocks_rt_init(struct ecore_hwfn *p_hwfn,
/* Init physical TCs */
for (tc = 0; tc < NUM_OF_PHYS_TCS; tc++) {
if (((port_params[port_id].active_phys_tcs >> tc) & 0x1) == 1) {
- voq = PHYS_VOQ(port_id, tc, max_phys_tcs_per_port);
- STORE_RT_REG(p_hwfn, PBF_BTB_GUARANTEED_RT_OFFSET(voq), phys_blocks);
+ ext_voq = ecore_get_ext_voq(p_hwfn, port_id, tc, max_phys_tcs_per_port);
+ STORE_RT_REG(p_hwfn, PBF_BTB_GUARANTEED_RT_OFFSET(ext_voq), phys_blocks);
}
}
/* Init pure LB TC */
- STORE_RT_REG(p_hwfn, PBF_BTB_GUARANTEED_RT_OFFSET(LB_VOQ(port_id)), pure_lb_blocks);
+ ext_voq = ecore_get_ext_voq(p_hwfn, port_id, PURE_LB_TC, max_phys_tcs_per_port);
+ STORE_RT_REG(p_hwfn, PBF_BTB_GUARANTEED_RT_OFFSET(ext_voq), pure_lb_blocks);
}
}
/* Prepare Tx PQ mapping runtime init values for the specified PF */
static void ecore_tx_pq_map_rt_init(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u8 port_id,
- u8 pf_id,
- u8 max_phys_tcs_per_port,
- bool is_first_pf,
- u32 num_pf_cids,
- u32 num_vf_cids,
- u16 start_pq,
- u16 num_pf_pqs,
- u16 num_vf_pqs,
- u8 start_vport,
- u32 base_mem_addr_4kb,
- struct init_qm_pq_params *pq_params,
- struct init_qm_vport_params *vport_params)
+ struct ecore_ptt *p_ptt,
+ u8 port_id,
+ u8 pf_id,
+ u8 max_phys_tcs_per_port,
+ u32 num_pf_cids,
+ u32 num_vf_cids,
+ u16 start_pq,
+ u16 num_pf_pqs,
+ u16 num_vf_pqs,
+ u8 start_vport,
+ u32 base_mem_addr_4kb,
+ struct init_qm_pq_params *pq_params,
+ struct init_qm_vport_params *vport_params)
{
/* A bit per Tx PQ indicating if the PQ is associated with a VF */
u32 tx_pq_vf_mask[MAX_QM_TX_QUEUES / QM_PF_QUEUE_GROUP_SIZE] = { 0 };
@@ -381,12 +414,11 @@ static void ecore_tx_pq_map_rt_init(struct ecore_hwfn *p_hwfn,
/* Go over all Tx PQs */
for (i = 0, pq_id = start_pq; i < num_pqs; i++, pq_id++) {
u32 max_qm_global_rls = MAX_QM_GLOBAL_RLS;
- struct qm_rf_pq_map tx_pq_map;
+ u8 ext_voq, vport_id_in_pf;
bool is_vf_pq, rl_valid;
- u8 voq, vport_id_in_pf;
u16 first_tx_pq_id;
- voq = VOQ(port_id, pq_params[i].tc_id, max_phys_tcs_per_port);
+ ext_voq = ecore_get_ext_voq(p_hwfn, port_id, pq_params[i].tc_id, max_phys_tcs_per_port);
is_vf_pq = (i >= num_pf_pqs);
rl_valid = pq_params[i].rl_valid && pq_params[i].vport_id < max_qm_global_rls;
@@ -394,34 +426,41 @@ static void ecore_tx_pq_map_rt_init(struct ecore_hwfn *p_hwfn,
vport_id_in_pf = pq_params[i].vport_id - start_vport;
first_tx_pq_id = vport_params[vport_id_in_pf].first_tx_pq_id[pq_params[i].tc_id];
if (first_tx_pq_id == QM_INVALID_PQ_ID) {
+ u32 map_val = (ext_voq << QM_WFQ_VP_PQ_VOQ_SHIFT) | (pf_id << (ECORE_IS_E5(p_hwfn->p_dev) ? QM_WFQ_VP_PQ_PF_E5_SHIFT : QM_WFQ_VP_PQ_PF_E4_SHIFT));
/* Create new VP PQ */
vport_params[vport_id_in_pf].first_tx_pq_id[pq_params[i].tc_id] = pq_id;
first_tx_pq_id = pq_id;
/* Map VP PQ to VOQ and PF */
- STORE_RT_REG(p_hwfn, QM_REG_WFQVPMAP_RT_OFFSET + first_tx_pq_id, (voq << QM_WFQ_VP_PQ_VOQ_SHIFT) | (pf_id << QM_WFQ_VP_PQ_PF_SHIFT));
+ STORE_RT_REG(p_hwfn, QM_REG_WFQVPMAP_RT_OFFSET + first_tx_pq_id, map_val);
}
/* Check RL ID */
if (pq_params[i].rl_valid && pq_params[i].vport_id >= max_qm_global_rls)
DP_NOTICE(p_hwfn, true, "Invalid VPORT ID for rate limiter configuration\n");
- /* Fill PQ map entry */
- OSAL_MEMSET(&tx_pq_map, 0, sizeof(tx_pq_map));
- SET_FIELD(tx_pq_map.reg, QM_RF_PQ_MAP_PQ_VALID, 1);
- SET_FIELD(tx_pq_map.reg, QM_RF_PQ_MAP_RL_VALID, rl_valid ? 1 : 0);
- SET_FIELD(tx_pq_map.reg, QM_RF_PQ_MAP_VP_PQ_ID, first_tx_pq_id);
- SET_FIELD(tx_pq_map.reg, QM_RF_PQ_MAP_RL_ID, rl_valid ? pq_params[i].vport_id : 0);
- SET_FIELD(tx_pq_map.reg, QM_RF_PQ_MAP_VOQ, voq);
- SET_FIELD(tx_pq_map.reg, QM_RF_PQ_MAP_WRR_WEIGHT_GROUP, pq_params[i].wrr_group);
-
- /* Write PQ map entry to CAM */
- STORE_RT_REG(p_hwfn, QM_REG_TXPQMAP_RT_OFFSET + pq_id, *((u32*)&tx_pq_map));
+ /* Prepare PQ map entry */
+ if (ECORE_IS_E5(p_hwfn->p_dev)) {
+ struct qm_rf_pq_map_e5 tx_pq_map;
+ QM_INIT_TX_PQ_MAP(tx_pq_map, E5, pq_id, rl_valid ? 1 : 0, first_tx_pq_id, rl_valid ? pq_params[i].vport_id : 0, ext_voq, pq_params[i].wrr_group);
+ }
+ else {
+ struct qm_rf_pq_map_e4 tx_pq_map;
+ QM_INIT_TX_PQ_MAP(tx_pq_map, E4, pq_id, rl_valid ? 1 : 0, first_tx_pq_id, rl_valid ? pq_params[i].vport_id : 0, ext_voq, pq_params[i].wrr_group);
+ }
/* Set base address */
STORE_RT_REG(p_hwfn, QM_REG_BASEADDRTXPQ_RT_OFFSET + pq_id, mem_addr_4kb);
+
+ if (WRITE_PQ_INFO_TO_RAM != 0)
+ {
+ u32 pq_info = 0;
+ pq_info = PQ_INFO_ELEMENT(first_tx_pq_id, pf_id, pq_params[i].tc_id, port_id, rl_valid ? 1 : 0, rl_valid ? pq_params[i].vport_id : 0);
+ ecore_wr(p_hwfn, p_ptt, PQ_INFO_RAM_GRC_ADDRESS(pq_id), pq_info);
+ }
+
/* If VF PQ, add indication to PQ VF mask */
if (is_vf_pq) {
tx_pq_vf_mask[pq_id / QM_PF_QUEUE_GROUP_SIZE] |= (1 << (pq_id % QM_PF_QUEUE_GROUP_SIZE));
@@ -440,11 +479,10 @@ static void ecore_tx_pq_map_rt_init(struct ecore_hwfn *p_hwfn,
/* Prepare Other PQ mapping runtime init values for the specified PF */
static void ecore_other_pq_map_rt_init(struct ecore_hwfn *p_hwfn,
- u8 port_id,
- u8 pf_id,
- u32 num_pf_cids,
- u32 num_tids,
- u32 base_mem_addr_4kb)
+ u8 pf_id,
+ u32 num_pf_cids,
+ u32 num_tids,
+ u32 base_mem_addr_4kb)
{
u32 pq_size, pq_mem_4kb, mem_addr_4kb;
u16 i, pq_id, pq_group;
@@ -482,25 +520,25 @@ static int ecore_pf_wfq_rt_init(struct ecore_hwfn *p_hwfn,
struct init_qm_pq_params *pq_params)
{
u32 inc_val, crd_reg_offset;
- u8 voq;
+ u8 ext_voq;
u16 i;
- crd_reg_offset = (pf_id < MAX_NUM_PFS_BB ? QM_REG_WFQPFCRD_RT_OFFSET : QM_REG_WFQPFCRD_MSB_RT_OFFSET) + (pf_id % MAX_NUM_PFS_BB);
-
inc_val = QM_WFQ_INC_VAL(pf_wfq);
if (!inc_val || inc_val > QM_WFQ_MAX_INC_VAL) {
DP_NOTICE(p_hwfn, true, "Invalid PF WFQ weight configuration\n");
return -1;
}
- for(i = 0; i < num_tx_pqs; i++) {
- voq = VOQ(port_id, pq_params[i].tc_id, max_phys_tcs_per_port);
- OVERWRITE_RT_REG(p_hwfn, crd_reg_offset + voq * MAX_NUM_PFS_BB, (u32)QM_WFQ_CRD_REG_SIGN_BIT);
+ for (i = 0; i < num_tx_pqs; i++) {
+ ext_voq = ecore_get_ext_voq(p_hwfn, port_id, pq_params[i].tc_id, max_phys_tcs_per_port);
+ crd_reg_offset = ECORE_IS_E5(p_hwfn->p_dev) ?
+ (ext_voq < QM_WFQ_CRD_E5_NUM_VOQS ? QM_REG_WFQPFCRD_RT_OFFSET : QM_REG_WFQPFCRD_MSB_RT_OFFSET) + (ext_voq % QM_WFQ_CRD_E5_NUM_VOQS) * MAX_NUM_PFS_E5 + pf_id :
+ (pf_id < MAX_NUM_PFS_BB ? QM_REG_WFQPFCRD_RT_OFFSET : QM_REG_WFQPFCRD_MSB_RT_OFFSET) + ext_voq * MAX_NUM_PFS_BB + (pf_id % MAX_NUM_PFS_BB);
+ OVERWRITE_RT_REG(p_hwfn, crd_reg_offset, (u32)QM_WFQ_CRD_REG_SIGN_BIT);
+ STORE_RT_REG(p_hwfn, QM_REG_WFQPFUPPERBOUND_RT_OFFSET + pf_id, QM_WFQ_UPPER_BOUND | (u32)QM_WFQ_CRD_REG_SIGN_BIT);
+ STORE_RT_REG(p_hwfn, QM_REG_WFQPFWEIGHT_RT_OFFSET + pf_id, inc_val);
}
- STORE_RT_REG(p_hwfn, QM_REG_WFQPFUPPERBOUND_RT_OFFSET + pf_id, QM_WFQ_UPPER_BOUND | (u32)QM_WFQ_CRD_REG_SIGN_BIT);
- STORE_RT_REG(p_hwfn, QM_REG_WFQPFWEIGHT_RT_OFFSET + pf_id, inc_val);
-
return 0;
}
@@ -614,9 +652,9 @@ static bool ecore_poll_on_qm_cmd_ready(struct ecore_hwfn *p_hwfn,
static bool ecore_send_qm_cmd(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
- u32 cmd_addr,
- u32 cmd_data_lsb,
- u32 cmd_data_msb)
+ u32 cmd_addr,
+ u32 cmd_data_lsb,
+ u32 cmd_data_msb)
{
if (!ecore_poll_on_qm_cmd_ready(p_hwfn, p_ptt))
return false;
@@ -633,12 +671,11 @@ static bool ecore_send_qm_cmd(struct ecore_hwfn *p_hwfn,
/******************** INTERFACE IMPLEMENTATION *********************/
-u32 ecore_qm_pf_mem_size(u8 pf_id,
- u32 num_pf_cids,
- u32 num_vf_cids,
- u32 num_tids,
- u16 num_pf_pqs,
- u16 num_vf_pqs)
+u32 ecore_qm_pf_mem_size(u32 num_pf_cids,
+ u32 num_vf_cids,
+ u32 num_tids,
+ u16 num_pf_pqs,
+ u16 num_vf_pqs)
{
return QM_PQ_MEM_4KB(num_pf_cids) * num_pf_pqs +
QM_PQ_MEM_4KB(num_vf_cids) * num_vf_pqs +
@@ -689,23 +726,22 @@ int ecore_qm_common_rt_init(struct ecore_hwfn *p_hwfn,
}
int ecore_qm_pf_rt_init(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u8 port_id,
- u8 pf_id,
- u8 max_phys_tcs_per_port,
- bool is_first_pf,
- u32 num_pf_cids,
- u32 num_vf_cids,
- u32 num_tids,
- u16 start_pq,
- u16 num_pf_pqs,
- u16 num_vf_pqs,
- u8 start_vport,
- u8 num_vports,
- u16 pf_wfq,
- u32 pf_rl,
- struct init_qm_pq_params *pq_params,
- struct init_qm_vport_params *vport_params)
+ struct ecore_ptt *p_ptt,
+ u8 port_id,
+ u8 pf_id,
+ u8 max_phys_tcs_per_port,
+ u32 num_pf_cids,
+ u32 num_vf_cids,
+ u32 num_tids,
+ u16 start_pq,
+ u16 num_pf_pqs,
+ u16 num_vf_pqs,
+ u8 start_vport,
+ u8 num_vports,
+ u16 pf_wfq,
+ u32 pf_rl,
+ struct init_qm_pq_params *pq_params,
+ struct init_qm_vport_params *vport_params)
{
u32 other_mem_size_4kb;
u8 tc, i;
@@ -719,12 +755,12 @@ int ecore_qm_pf_rt_init(struct ecore_hwfn *p_hwfn,
/* Map Other PQs (if any) */
#if QM_OTHER_PQS_PER_PF > 0
- ecore_other_pq_map_rt_init(p_hwfn, port_id, pf_id, num_pf_cids, num_tids, 0);
+ ecore_other_pq_map_rt_init(p_hwfn, pf_id, num_pf_cids, num_tids, 0);
#endif
/* Map Tx PQs */
- ecore_tx_pq_map_rt_init(p_hwfn, p_ptt, port_id, pf_id, max_phys_tcs_per_port, is_first_pf, num_pf_cids, num_vf_cids,
- start_pq, num_pf_pqs, num_vf_pqs, start_vport, other_mem_size_4kb, pq_params, vport_params);
+ ecore_tx_pq_map_rt_init(p_hwfn, p_ptt, port_id, pf_id, max_phys_tcs_per_port, num_pf_cids, num_vf_cids,
+ start_pq, num_pf_pqs, num_vf_pqs, start_vport, other_mem_size_4kb, pq_params, vport_params);
/* Init PF WFQ */
if (pf_wfq)
@@ -1204,8 +1240,7 @@ void ecore_init_brb_ram(struct ecore_hwfn *p_hwfn,
#ifndef UNUSED_HSI_FUNC
/* In MF, should be called once per engine to set EtherType of OuterTag */
-void ecore_set_engine_mf_ovlan_eth_type(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt, u32 ethType)
+void ecore_set_engine_mf_ovlan_eth_type(struct ecore_hwfn *p_hwfn, u32 ethType)
{
/* Update PRS register */
STORE_RT_REG(p_hwfn, PRS_REG_TAG_ETHERTYPE_0_RT_OFFSET, ethType);
@@ -1218,8 +1253,7 @@ void ecore_set_engine_mf_ovlan_eth_type(struct ecore_hwfn *p_hwfn,
}
/* In MF, should be called once per port to set EtherType of OuterTag */
-void ecore_set_port_mf_ovlan_eth_type(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt, u32 ethType)
+void ecore_set_port_mf_ovlan_eth_type(struct ecore_hwfn *p_hwfn, u32 ethType)
{
/* Update DORQ register */
STORE_RT_REG(p_hwfn, DORQ_REG_TAG1_ETHERTYPE_RT_OFFSET, ethType);
@@ -1533,8 +1567,7 @@ u32 ecore_get_mstorm_eth_vf_prods_offset(struct ecore_hwfn *p_hwfn, u8 vf_id, u8
static u8 cdu_crc8_table[CRC8_TABLE_SIZE];
/* Calculate and return CDU validation byte per connection type/region/cid */
-static u8 ecore_calc_cdu_validation_byte(struct ecore_hwfn * p_hwfn, u8 conn_type,
- u8 region, u32 cid)
+static u8 ecore_calc_cdu_validation_byte(u8 conn_type, u8 region, u32 cid)
{
const u8 validation_cfg = CDU_VALIDATION_DEFAULT_CFG;
@@ -1588,8 +1621,8 @@ static u8 ecore_calc_cdu_validation_byte(struct ecore_hwfn * p_hwfn, u8 conn_typ
}
/* Calcualte and set validation bytes for session context */
-void ecore_calc_session_ctx_validation(struct ecore_hwfn * p_hwfn, void *p_ctx_mem,
- u16 ctx_size, u8 ctx_type, u32 cid)
+void ecore_calc_session_ctx_validation(void *p_ctx_mem, u16 ctx_size,
+ u8 ctx_type, u32 cid)
{
u8 *x_val_ptr, *t_val_ptr, *u_val_ptr, *p_ctx;
@@ -1600,14 +1633,14 @@ void ecore_calc_session_ctx_validation(struct ecore_hwfn * p_hwfn, void *p_ctx_m
OSAL_MEMSET(p_ctx, 0, ctx_size);
- *x_val_ptr = ecore_calc_cdu_validation_byte(p_hwfn, ctx_type, 3, cid);
- *t_val_ptr = ecore_calc_cdu_validation_byte(p_hwfn, ctx_type, 4, cid);
- *u_val_ptr = ecore_calc_cdu_validation_byte(p_hwfn, ctx_type, 5, cid);
+ *x_val_ptr = ecore_calc_cdu_validation_byte(ctx_type, 3, cid);
+ *t_val_ptr = ecore_calc_cdu_validation_byte(ctx_type, 4, cid);
+ *u_val_ptr = ecore_calc_cdu_validation_byte(ctx_type, 5, cid);
}
/* Calcualte and set validation bytes for task context */
-void ecore_calc_task_ctx_validation(struct ecore_hwfn * p_hwfn, void *p_ctx_mem,
- u16 ctx_size, u8 ctx_type, u32 tid)
+void ecore_calc_task_ctx_validation(void *p_ctx_mem, u16 ctx_size, u8 ctx_type,
+ u32 tid)
{
u8 *p_ctx, *region1_val_ptr;
@@ -1616,8 +1649,7 @@ void ecore_calc_task_ctx_validation(struct ecore_hwfn * p_hwfn, void *p_ctx_mem,
OSAL_MEMSET(p_ctx, 0, ctx_size);
- *region1_val_ptr = ecore_calc_cdu_validation_byte(p_hwfn, ctx_type,
- 1, tid);
+ *region1_val_ptr = ecore_calc_cdu_validation_byte(ctx_type, 1, tid);
}
/* Memset session context to 0 while preserving validation bytes */
diff --git a/sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.h b/sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.h
index 3db14f7..a63e3d7 100644
--- a/sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.h
+++ b/sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.h
@@ -40,7 +40,6 @@ struct init_qm_pq_params;
* Returns the required host memory size in 4KB units.
* Must be called before all QM init HSI functions.
*
- * @param pf_id - physical function ID
* @param num_pf_cids - number of connections used by this PF
* @param num_vf_cids - number of connections used by VFs of this PF
* @param num_tids - number of tasks used by this PF
@@ -49,12 +48,11 @@ struct init_qm_pq_params;
*
* @return The required host memory size in 4KB units.
*/
-u32 ecore_qm_pf_mem_size(u8 pf_id,
- u32 num_pf_cids,
- u32 num_vf_cids,
- u32 num_tids,
- u16 num_pf_pqs,
- u16 num_vf_pqs);
+u32 ecore_qm_pf_mem_size(u32 num_pf_cids,
+ u32 num_vf_cids,
+ u32 num_tids,
+ u16 num_pf_pqs,
+ u16 num_vf_pqs);
/**
* @brief ecore_qm_common_rt_init - Prepare QM runtime init values for the
@@ -89,7 +87,6 @@ int ecore_qm_common_rt_init(struct ecore_hwfn *p_hwfn,
* @param port_id - port ID
* @param pf_id - PF ID
* @param max_phys_tcs_per_port - max number of physical TCs per port in HW
- * @param is_first_pf - 1 = first PF in engine, 0 = othwerwise
* @param num_pf_cids - number of connections used by this PF
* @param num_vf_cids - number of connections used by VFs of this PF
* @param num_tids - number of tasks used by this PF
@@ -114,23 +111,22 @@ int ecore_qm_common_rt_init(struct ecore_hwfn *p_hwfn,
* @return 0 on success, -1 on error.
*/
int ecore_qm_pf_rt_init(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u8 port_id,
- u8 pf_id,
- u8 max_phys_tcs_per_port,
- bool is_first_pf,
- u32 num_pf_cids,
- u32 num_vf_cids,
- u32 num_tids,
- u16 start_pq,
- u16 num_pf_pqs,
- u16 num_vf_pqs,
- u8 start_vport,
- u8 num_vports,
- u16 pf_wfq,
- u32 pf_rl,
- struct init_qm_pq_params *pq_params,
- struct init_qm_vport_params *vport_params);
+ struct ecore_ptt *p_ptt,
+ u8 port_id,
+ u8 pf_id,
+ u8 max_phys_tcs_per_port,
+ u32 num_pf_cids,
+ u32 num_vf_cids,
+ u32 num_tids,
+ u16 start_pq,
+ u16 num_pf_pqs,
+ u16 num_vf_pqs,
+ u8 start_vport,
+ u8 num_vports,
+ u16 pf_wfq,
+ u32 pf_rl,
+ struct init_qm_pq_params *pq_params,
+ struct init_qm_vport_params *vport_params);
/**
* @brief ecore_init_pf_wfq - Initializes the WFQ weight of the specified PF
@@ -302,24 +298,18 @@ void ecore_init_brb_ram(struct ecore_hwfn *p_hwfn,
* is in BD mode.
*
* @param p_hwfn - HW device data
- * @param p_ptt - ptt window used for writing the registers.
* @param ethType - etherType to configure
*/
-void ecore_set_engine_mf_ovlan_eth_type(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u32 ethType);
+void ecore_set_engine_mf_ovlan_eth_type(struct ecore_hwfn *p_hwfn, u32 ethType);
/**
* @brief ecore_set_port_mf_ovlan_eth_type - initializes DORQ ethType Regs to
* input ethType. should Be called once per port.
*
* @param p_hwfn - HW device data
- * @param p_ptt - ptt window used for writing the registers.
* @param ethType - etherType to configure
*/
-void ecore_set_port_mf_ovlan_eth_type(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u32 ethType);
+void ecore_set_port_mf_ovlan_eth_type(struct ecore_hwfn *p_hwfn, u32 ethType);
#endif /* UNUSED_HSI_FUNC */
@@ -481,57 +471,50 @@ void ecore_enable_context_validation(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt);
/**
-* @brief ecore_calc_session_ctx_validation - Calcualte validation byte for
-* session context.
-*
-* @param p_ctx_mem - pointer to context memory.
-* @param ctx_size - context size.
-* @param ctx_type - context type.
-* @param cid - context cid.
-*/
-void ecore_calc_session_ctx_validation(struct ecore_hwfn * p_hwfn,
- void *p_ctx_mem,
- u16 ctx_size,
- u8 ctx_type,
- u32 cid);
+ * @brief ecore_calc_session_ctx_validation - Calcualte validation byte for
+ * session context.
+ *
+ * @param p_ctx_mem - pointer to context memory.
+ * @param ctx_size - context size.
+ * @param ctx_type - context type.
+ * @param cid - context cid.
+ */
+void ecore_calc_session_ctx_validation(void *p_ctx_mem, u16 ctx_size,
+ u8 ctx_type, u32 cid);
/**
-* @brief ecore_calc_task_ctx_validation - Calcualte validation byte for task
-* context.
-*
-* @param p_hwfn - HW device data
-* @param p_ctx_mem - pointer to context memory.
-* @param ctx_size - context size.
-* @param ctx_type - context type.
-* @param tid - context tid.
-*/
-void ecore_calc_task_ctx_validation(struct ecore_hwfn * p_hwfn,
- void *p_ctx_mem,
- u16 ctx_size,
- u8 ctx_type,
+ * @brief ecore_calc_task_ctx_validation - Calcualte validation byte for task
+ * context.
+ *
+ * @param p_ctx_mem - pointer to context memory.
+ * @param ctx_size - context size.
+ * @param ctx_type - context type.
+ * @param tid - context tid.
+ */
+void ecore_calc_task_ctx_validation(void *p_ctx_mem, u16 ctx_size, u8 ctx_type,
u32 tid);
/**
-* @brief ecore_memset_session_ctx - Memset session context to 0 while
-* preserving validation bytes.
-*
-* @param p_hwfn - HW device data
-* @param p_ctx_mem - pointer to context memory.
-* @param ctx_size - size to initialzie.
-* @param ctx_type - context type.
-*/
+ * @brief ecore_memset_session_ctx - Memset session context to 0 while
+ * preserving validation bytes.
+ *
+ * @param p_hwfn - HW device data
+ * @param p_ctx_mem - pointer to context memory.
+ * @param ctx_size - size to initialzie.
+ * @param ctx_type - context type.
+ */
void ecore_memset_session_ctx(void *p_ctx_mem,
u32 ctx_size,
u8 ctx_type);
/**
-* @brief ecore_memset_task_ctx - Memset task context to 0 while preserving
-* validation bytes.
-*
-* @param p_ctx_mem - pointer to context memory.
-* @param ctx_size - size to initialzie.
-* @param ctx_type - context type.
-*/
+ * @brief ecore_memset_task_ctx - Memset task context to 0 while preserving
+ * validation bytes.
+ *
+ * @param p_ctx_mem - pointer to context memory.
+ * @param ctx_size - size to initialzie.
+ * @param ctx_type - context type.
+ */
void ecore_memset_task_ctx(void *p_ctx_mem,
u32 ctx_size,
u8 ctx_type);
diff --git a/sys/dev/qlnx/qlnxe/ecore_init_ops.c b/sys/dev/qlnx/qlnxe/ecore_init_ops.c
index 08676f1c..41a42fb 100644
--- a/sys/dev/qlnx/qlnxe/ecore_init_ops.c
+++ b/sys/dev/qlnx/qlnxe/ecore_init_ops.c
@@ -31,7 +31,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-
/* include the precompiled configuration values - only once */
#include "bcm_osal.h"
#include "ecore_hsi_common.h"
@@ -75,6 +74,13 @@ void ecore_init_clear_rt_data(struct ecore_hwfn *p_hwfn)
void ecore_init_store_rt_reg(struct ecore_hwfn *p_hwfn,
u32 rt_offset, u32 val)
{
+ if (rt_offset >= RUNTIME_ARRAY_SIZE) {
+ DP_ERR(p_hwfn,
+ "Avoid storing %u in rt_data at index %u since RUNTIME_ARRAY_SIZE is %u!\n",
+ val, rt_offset, RUNTIME_ARRAY_SIZE);
+ return;
+ }
+
p_hwfn->rt_data.init_val[rt_offset] = val;
p_hwfn->rt_data.b_valid[rt_offset] = true;
}
@@ -85,6 +91,14 @@ void ecore_init_store_rt_agg(struct ecore_hwfn *p_hwfn,
{
osal_size_t i;
+ if ((rt_offset + size - 1) >= RUNTIME_ARRAY_SIZE) {
+ DP_ERR(p_hwfn,
+ "Avoid storing values in rt_data at indices %u-%u since RUNTIME_ARRAY_SIZE is %u!\n",
+ rt_offset, (u32)(rt_offset + size - 1),
+ RUNTIME_ARRAY_SIZE);
+ return;
+ }
+
for (i = 0; i < size / sizeof(u32); i++) {
p_hwfn->rt_data.init_val[rt_offset + i] = p_val[i];
p_hwfn->rt_data.b_valid[rt_offset + i] = true;
@@ -201,8 +215,7 @@ static enum _ecore_status_t ecore_init_array_dmae(struct ecore_hwfn *p_hwfn,
static enum _ecore_status_t ecore_init_fill_dmae(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
- u32 addr, u32 fill,
- u32 fill_count)
+ u32 addr, u32 fill_count)
{
static u32 zero_buffer[DMAE_MAX_RW_SIZE];
@@ -335,8 +348,7 @@ static enum _ecore_status_t ecore_init_cmd_wr(struct ecore_hwfn *p_hwfn,
case INIT_SRC_ZEROS:
data = OSAL_LE32_TO_CPU(p_cmd->args.zeros_count);
if (b_must_dmae || (b_can_dmae && (data >= 64)))
- rc = ecore_init_fill_dmae(p_hwfn, p_ptt,
- addr, 0, data);
+ rc = ecore_init_fill_dmae(p_hwfn, p_ptt, addr, data);
else
ecore_init_fill(p_hwfn, p_ptt, addr, 0, data);
break;
@@ -425,14 +437,6 @@ static void ecore_init_cmd_rd(struct ecore_hwfn *p_hwfn,
OSAL_LE32_TO_CPU(cmd->op_data));
}
-/* init_ops callbacks entry point */
-static void ecore_init_cmd_cb(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- struct init_callback_op *p_cmd)
-{
- DP_NOTICE(p_hwfn, true, "Currently init values have no need of callbacks\n");
-}
-
static u8 ecore_init_cmd_mode_match(struct ecore_hwfn *p_hwfn,
u16 *p_offset, int modes)
{
@@ -471,8 +475,7 @@ static u32 ecore_init_cmd_mode(struct ecore_hwfn *p_hwfn,
INIT_IF_MODE_OP_CMD_OFFSET);
}
-static u32 ecore_init_cmd_phase(struct ecore_hwfn *p_hwfn,
- struct init_if_phase_op *p_cmd,
+static u32 ecore_init_cmd_phase(struct init_if_phase_op *p_cmd,
u32 phase, u32 phase_id)
{
u32 data = OSAL_LE32_TO_CPU(p_cmd->phase_data);
@@ -529,8 +532,8 @@ enum _ecore_status_t ecore_init_run(struct ecore_hwfn *p_hwfn,
modes);
break;
case INIT_OP_IF_PHASE:
- cmd_num += ecore_init_cmd_phase(p_hwfn, &cmd->if_phase,
- phase, phase_id);
+ cmd_num += ecore_init_cmd_phase(&cmd->if_phase, phase,
+ phase_id);
b_dmae = GET_FIELD(data,
INIT_IF_PHASE_OP_DMAE_ENABLE);
break;
@@ -542,7 +545,8 @@ enum _ecore_status_t ecore_init_run(struct ecore_hwfn *p_hwfn,
break;
case INIT_OP_CALLBACK:
- ecore_init_cmd_cb(p_hwfn, p_ptt, &cmd->callback);
+ DP_NOTICE(p_hwfn, true,
+ "Currently init values have no need of callbacks\n");
break;
}
@@ -556,7 +560,8 @@ enum _ecore_status_t ecore_init_run(struct ecore_hwfn *p_hwfn,
return rc;
}
-void ecore_gtt_init(struct ecore_hwfn *p_hwfn)
+void ecore_gtt_init(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt)
{
u32 gtt_base;
u32 i;
@@ -574,7 +579,7 @@ void ecore_gtt_init(struct ecore_hwfn *p_hwfn)
/* initialize PTT/GTT (poll for completion) */
if (!initialized) {
- ecore_wr(p_hwfn, p_hwfn->p_main_ptt,
+ ecore_wr(p_hwfn, p_ptt,
PGLUE_B_REG_START_INIT_PTT_GTT, 1);
initialized = true;
}
@@ -583,7 +588,7 @@ void ecore_gtt_init(struct ecore_hwfn *p_hwfn)
/* ptt might be overrided by HW until this is done */
OSAL_UDELAY(10);
ecore_ptt_invalidate(p_hwfn);
- val = ecore_rd(p_hwfn, p_hwfn->p_main_ptt,
+ val = ecore_rd(p_hwfn, p_ptt,
PGLUE_B_REG_INIT_DONE_PTT_GTT);
} while ((val != 1) && --poll_cnt);
@@ -602,7 +607,11 @@ void ecore_gtt_init(struct ecore_hwfn *p_hwfn)
}
enum _ecore_status_t ecore_init_fw_data(struct ecore_dev *p_dev,
- const u8 *data)
+#ifdef CONFIG_ECORE_BINARY_FW
+ const u8 *fw_data)
+#else
+ const u8 OSAL_UNUSED *fw_data)
+#endif
{
struct ecore_fw_data *fw = p_dev->fw_data;
@@ -610,24 +619,24 @@ enum _ecore_status_t ecore_init_fw_data(struct ecore_dev *p_dev,
struct bin_buffer_hdr *buf_hdr;
u32 offset, len;
- if (!data) {
+ if (!fw_data) {
DP_NOTICE(p_dev, true, "Invalid fw data\n");
return ECORE_INVAL;
}
- buf_hdr = (struct bin_buffer_hdr *)data;
+ buf_hdr = (struct bin_buffer_hdr *)fw_data;
offset = buf_hdr[BIN_BUF_INIT_FW_VER_INFO].offset;
- fw->fw_ver_info = (struct fw_ver_info *)(data + offset);
+ fw->fw_ver_info = (struct fw_ver_info *)(fw_data + offset);
offset = buf_hdr[BIN_BUF_INIT_CMD].offset;
- fw->init_ops = (union init_op *)(data + offset);
+ fw->init_ops = (union init_op *)(fw_data + offset);
offset = buf_hdr[BIN_BUF_INIT_VAL].offset;
- fw->arr_data = (u32 *)(data + offset);
+ fw->arr_data = (u32 *)(fw_data + offset);
offset = buf_hdr[BIN_BUF_INIT_MODE_TREE].offset;
- fw->modes_tree_buf = (u8 *)(data + offset);
+ fw->modes_tree_buf = (u8 *)(fw_data + offset);
len = buf_hdr[BIN_BUF_INIT_CMD].length;
fw->init_ops_size = len / sizeof(struct init_raw_op);
#else
diff --git a/sys/dev/qlnx/qlnxe/ecore_init_ops.h b/sys/dev/qlnx/qlnxe/ecore_init_ops.h
index 8bd914d..36bccad 100644
--- a/sys/dev/qlnx/qlnxe/ecore_init_ops.h
+++ b/sys/dev/qlnx/qlnxe/ecore_init_ops.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_INIT_OPS__
#define __ECORE_INIT_OPS__
@@ -130,5 +129,6 @@ void ecore_init_store_rt_agg(struct ecore_hwfn *p_hwfn,
*
* @param p_hwfn
*/
-void ecore_gtt_init(struct ecore_hwfn *p_hwfn);
+void ecore_gtt_init(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt);
#endif /* __ECORE_INIT_OPS__ */
diff --git a/sys/dev/qlnx/qlnxe/ecore_init_values.h b/sys/dev/qlnx/qlnxe/ecore_init_values.h
index eb356e8..023a080 100644
--- a/sys/dev/qlnx/qlnxe/ecore_init_values.h
+++ b/sys/dev/qlnx/qlnxe/ecore_init_values.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __INIT_VALUES_H__
#define __INIT_VALUES_H__
@@ -36,33 +35,60 @@
ARRAY_DECL u32 init_ops[] = {
/* GRC */
0x00030003, 0xffff0000, /* if phase != 'engine', skip 3 ops (no DMAE) */
- 0x00020002, 0x00450000, /* if mode != '!asic', skip 2 ops */
+ 0x00020002, 0x00650000, /* if mode != '!asic', skip 2 ops */
0x0280c201, 0x00000000, /* write 0x0 to address 0x50184 */
0x02810201, 0x00000000, /* write 0x0 to address 0x50204 */
/* MISCS */
- 0x00060003, 0xffff0000, /* if phase != 'engine', skip 6 ops (no DMAE) */
- 0x00030002, 0x00450000, /* if mode != '!asic', skip 3 ops */
+ 0x000d0003, 0xffff0000, /* if phase != 'engine', skip 13 ops (no DMAE) */
+ 0x00030002, 0x00650000, /* if mode != '!asic', skip 3 ops */
0x0048c201, 0x00000000, /* write 0x0 to address 0x9184 */
0x0048d201, 0x00000000, /* write 0x0 to address 0x91a4 */
0x004ba601, 0x00000001, /* write 0x1 to address 0x974c */
- 0x00010002, 0x00ac0000, /* if mode != '(!asic)&bb', skip 1 ops */
+ 0x00020002, 0x00a70000, /* if mode != '(!asic)&bb', skip 2 ops */
0x0048ca01, 0x00000000, /* write 0x0 to address 0x9194 */
+ 0x00483401, 0x00000001, /* write 0x1 to address 0x9068 */
+ 0x00010002, 0x00af0000, /* if mode != '(!asic)&k2', skip 1 ops */
+ 0x00483401, 0x00000401, /* write 0x401 to address 0x9068 */
+ 0x00010002, 0x00a70000, /* if mode != '(!asic)&bb', skip 1 ops */
+ 0x00483201, 0x00000001, /* write 0x1 to address 0x9064 */
+ 0x00010002, 0x00af0000, /* if mode != '(!asic)&k2', skip 1 ops */
+ 0x00483201, 0x00000401, /* write 0x401 to address 0x9064 */
/* MISC */
- 0x003b0003, 0xffff0000, /* if phase != 'engine', skip 59 ops (no DMAE) */
+ 0x004f0003, 0xffff0000, /* if phase != 'engine', skip 79 ops (no DMAE) */
0x0040c201, 0x00000000, /* write 0x0 to address 0x8184 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0x28007201, 0x00000001, /* write 0x1 to address 0x5000e4 */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00650000, /* if mode != '!asic', skip 1 ops */
+ 0x00402c01, 0x00000000, /* write 0x0 to address 0x8058 */
+ 0x00010002, 0x00a70000, /* if mode != '(!asic)&bb', skip 1 ops */
+ 0x00405401, 0x00000000, /* write 0x0 to address 0x80a8 */
+ 0x00010002, 0x00b30000, /* if mode != '(!asic)&ports_per_eng_1', skip 1 ops */
+ 0x00460001, 0x00000000, /* write 0x0 to address 0x8c00 */
+ 0x00010002, 0x00c30000, /* if mode != '(!asic)&ports_per_eng_2', skip 1 ops */
+ 0x00460001, 0x00000001, /* write 0x1 to address 0x8c00 */
+ 0x00010002, 0x00b70000, /* if mode != '(!asic)&ports_per_eng_4', skip 1 ops */
+ 0x00460001, 0x00000002, /* write 0x2 to address 0x8c00 */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x00460a01, 0x00000000, /* write 0x0 to address 0x8c14 */
+ 0x00010002, 0x00650000, /* if mode != '!asic', skip 1 ops */
+ 0x00403401, 0x0000000c, /* write 0xc to address 0x8068 */
+ 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x00403c01, 0x33bfbfbf, /* write 0x33bfbfbf to address 0x8078 */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
- 0x00404401, 0x07fffff8, /* write 0x7fffff8 to address 0x8088 */
- 0x00010002, 0x00b90000, /* if mode != '!k2', skip 1 ops */
+ 0x00010002, 0x00020000, /* if mode != 'bb', skip 1 ops */
0x00404401, 0x003ffff8, /* write 0x3ffff8 to address 0x8088 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
- 0x00404c01, 0x000002c0, /* write 0x2c0 to address 0x8098 */
- 0x00010002, 0x00b90000, /* if mode != '!k2', skip 1 ops */
+ 0x00404401, 0x07fffff8, /* write 0x7fffff8 to address 0x8088 */
+ 0x00010002, 0x00020000, /* if mode != 'bb', skip 1 ops */
0x00404c01, 0x000000c0, /* write 0xc0 to address 0x8098 */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
+ 0x00404c01, 0x000002c0, /* write 0x2c0 to address 0x8098 */
+ 0x00010002, 0x00650000, /* if mode != '!asic', skip 1 ops */
+ 0x00402a01, 0xffffffff, /* write 0xffffffff to address 0x8054 */
+ 0x00010002, 0x00a70000, /* if mode != '(!asic)&bb', skip 1 ops */
+ 0x00405201, 0x0000000f, /* write 0xf to address 0x80a4 */
+ 0x00010002, 0x00650000, /* if mode != '!asic', skip 1 ops */
+ 0x00403201, 0xffffffff, /* write 0xffffffff to address 0x8064 */
+ 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x00403a01, 0x1fffffff, /* write 0x1fffffff to address 0x8074 */
0x00404201, 0xffffffff, /* write 0xffffffff to address 0x8084 */
0x00404a01, 0xffffffff, /* write 0xffffffff to address 0x8094 */
@@ -79,14 +105,14 @@ ARRAY_DECL u32 init_ops[] = {
0xc2031401, 0x0000000f, /* write 0xf to address 0x1840628 */
0xca028601, 0x00000001, /* write 0x1 to address 0x194050c */
0xca031401, 0x0000000f, /* write 0xf to address 0x1940628 */
- 0x00060002, 0x00680000, /* if mode != 'fpga&(bb|k2)', skip 6 ops */
+ 0x00060002, 0x00800000, /* if mode != 'fpga&(bb|k2)', skip 6 ops */
0xa2028021, 0x00000000, /* write array of size 3 from offset 0 to address 0x1440500 */
0xaa028021, 0x00000000, /* write array of size 3 from offset 0 to address 0x1540500 */
0xb2028021, 0x00000000, /* write array of size 3 from offset 0 to address 0x1640500 */
0xba028021, 0x00000000, /* write array of size 3 from offset 0 to address 0x1740500 */
0xc2028021, 0x00000000, /* write array of size 3 from offset 0 to address 0x1840500 */
0xca028021, 0x00000000, /* write array of size 3 from offset 0 to address 0x1940500 */
- 0x00060002, 0x00310000, /* if mode != '(bb|k2)&(asic|chipsim)', skip 6 ops */
+ 0x00060002, 0x003f0000, /* if mode != '(bb|k2)&(asic|chipsim)', skip 6 ops */
0xa2028021, 0x00000004, /* write array of size 3 from offset 4 to address 0x1440500 */
0xaa028021, 0x00000004, /* write array of size 3 from offset 4 to address 0x1540500 */
0xb2028021, 0x00000004, /* write array of size 3 from offset 4 to address 0x1640500 */
@@ -109,15 +135,17 @@ ARRAY_DECL u32 init_ops[] = {
0xca028021, 0x0000000c, /* write array of size 3 from offset 12 to address 0x1940500 */
0x00403a01, 0xffffffff, /* write 0xffffffff to address 0x8074 */
/* PGLUE_B */
- 0x00140003, 0xffff0000, /* if phase != 'engine', skip 20 ops (no DMAE) */
- 0x00020002, 0x00450000, /* if mode != '!asic', skip 2 ops */
+ 0x001b0003, 0xffff0000, /* if phase != 'engine', skip 27 ops (no DMAE) */
+ 0x00010002, 0x00220000, /* if mode != 'fpga', skip 1 ops */
+ 0x15521601, 0x00000108, /* write 0x108 to address 0x2aa42c */
+ 0x00020002, 0x00650000, /* if mode != '!asic', skip 2 ops */
0x1540c201, 0x00080000, /* write 0x80000 to address 0x2a8184 */
0x1540ca01, 0x00000000, /* write 0x0 to address 0x2a8194 */
- 0x00010002, 0x00ac0000, /* if mode != '(!asic)&bb', skip 1 ops */
+ 0x00010002, 0x00a70000, /* if mode != '(!asic)&bb', skip 1 ops */
0x15410201, 0x00000000, /* write 0x0 to address 0x2a8204 */
- 0x00010002, 0x00b40000, /* if mode != '(!asic)&k2', skip 1 ops */
+ 0x00010002, 0x008f0000, /* if mode != '(!asic)&(!bb)', skip 1 ops */
0x15410201, 0x00000000, /* write 0x0 to address 0x2a8204 */
- 0x15571a31, 0x70210001, /* write runtime array of size 1 from offset 28705 to address 0x2aae34 */
+ 0x15571a31, 0x73810001, /* write runtime array of size 1 from offset 29569 to address 0x2aae34 */
0x00080002, 0x00010000, /* if mode != 'bb|k2', skip 8 ops */
0x1550d421, 0x00000010, /* write array of size 4 from offset 16 to address 0x2aa1a8 */
0x1550de21, 0x00000015, /* write array of size 4 from offset 21 to address 0x2aa1bc */
@@ -127,9 +155,14 @@ ARRAY_DECL u32 init_ops[] = {
0x15510621, 0x00000027, /* write array of size 4 from offset 39 to address 0x2aa20c */
0x15512001, 0x000001c7, /* write 0x1c7 to address 0x2aa240 */
0x1552b221, 0x0000002c, /* write array of size 6 from offset 44 to address 0x2aa564 */
+ 0x00010002, 0x008f0000, /* if mode != '(!asic)&(!bb)', skip 1 ops */
+ 0x1557ae01, 0x00000000, /* write 0x0 to address 0x2aaf5c */
0x15400001, 0x00000001, /* write 0x1 to address 0x2a8000 */
0x15400801, 0x00000001, /* write 0x1 to address 0x2a8010 */
- 0x1550e031, 0x701f0002, /* write runtime array of size 2 from offset 28703 to address 0x2aa1c0 */
+ 0x1550e031, 0x737f0002, /* write runtime array of size 2 from offset 29567 to address 0x2aa1c0 */
+ 0x00020002, 0x00650000, /* if mode != '!asic', skip 2 ops */
+ 0x15400401, 0x00000001, /* write 0x1 to address 0x2a8008 */
+ 0x15400610, 0x00000001, /* wait until address 0x2a800c reads 0x1 */
0x00020003, 0x00000000, /* if phase != 'engine0', skip 2 ops (no DMAE) */
0x15400230, 0x00000001, /* wait until address 0x2a8004 reads 0x1 */
0x15400a30, 0x00000001, /* wait until address 0x2a8014 reads 0x1 */
@@ -137,36 +170,36 @@ ARRAY_DECL u32 init_ops[] = {
0x15400230, 0x00000002, /* wait until address 0x2a8004 reads 0x2 */
0x15400a30, 0x00000002, /* wait until address 0x2a8014 reads 0x2 */
0x00040013, 0xffff0002, /* if phase != 'pf', skip 4 ops */
- 0x15427231, 0x701e0001, /* write runtime array of size 1 from offset 28702 to address 0x2a84e4 */
+ 0x15427231, 0x737e0001, /* write runtime array of size 1 from offset 29566 to address 0x2a84e4 */
0x1550b621, 0x00000033, /* write array of size 3 from offset 51 to address 0x2aa16c */
0x1552ca01, 0x00000000, /* write 0x0 to address 0x2aa594 */
- 0x15573031, 0x70220003, /* write runtime array of size 3 from offset 28706 to address 0x2aae60 */
+ 0x15573031, 0x73820003, /* write runtime array of size 3 from offset 29570 to address 0x2aae60 */
0x00020013, 0xffff0003, /* if phase != 'vf', skip 2 ops */
0x1550b401, 0x00000001, /* write 0x1 to address 0x2aa168 */
0x1552cc01, 0x00000000, /* write 0x0 to address 0x2aa598 */
/* CNIG */
- 0x00060003, 0xffff0000, /* if phase != 'engine', skip 6 ops (no DMAE) */
- 0x00020002, 0x00ac0000, /* if mode != '(!asic)&bb', skip 2 ops */
+ 0x00070003, 0xffff0000, /* if phase != 'engine', skip 7 ops (no DMAE) */
+ 0x00030002, 0x00a70000, /* if mode != '(!asic)&bb', skip 3 ops */
+ 0x10c10001, 0x00000004, /* write 0x4 to address 0x218200 */
0x10c17601, 0x00000000, /* write 0x0 to address 0x2182ec */
0x10c1a601, 0x00000000, /* write 0x0 to address 0x21834c */
- 0x00020002, 0x00900000, /* if mode != '(!asic)&(!bb)', skip 2 ops */
+ 0x00020002, 0x008f0000, /* if mode != '(!asic)&(!bb)', skip 2 ops */
0x10c10e01, 0x00000000, /* write 0x0 to address 0x21821c */
0x10c11801, 0x00000000, /* write 0x0 to address 0x218230 */
/* CPMU */
0x00020003, 0xffff0000, /* if phase != 'engine', skip 2 ops (no DMAE) */
- 0x00010002, 0x00450000, /* if mode != '!asic', skip 1 ops */
+ 0x00010002, 0x00650000, /* if mode != '!asic', skip 1 ops */
0x0181f201, 0x00000000, /* write 0x0 to address 0x303e4 */
/* PCIE */
0x00040003, 0xffff0000, /* if phase != 'engine', skip 4 ops (no DMAE) */
- 0x00010002, 0x00ac0000, /* if mode != '(!asic)&bb', skip 1 ops */
+ 0x00010002, 0x00a70000, /* if mode != '(!asic)&bb', skip 1 ops */
0x02a00201, 0x00003f02, /* write 0x3f02 to address 0x54004 */
- 0x00010002, 0x00900000, /* if mode != '(!asic)&(!bb)', skip 1 ops */
+ 0x00010002, 0x008f0000, /* if mode != '(!asic)&(!bb)', skip 1 ops */
0x02a00201, 0x00000000, /* write 0x0 to address 0x54004 */
/* PSWHST */
- 0x000a0003, 0xffff0000, /* if phase != 'engine', skip 10 ops (no DMAE) */
+ 0x00090003, 0xffff0000, /* if phase != 'engine', skip 9 ops (no DMAE) */
0x1500c201, 0x00000200, /* write 0x200 to address 0x2a0184 */
0x1500ca01, 0x00000000, /* write 0x0 to address 0x2a0194 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
0x15010201, 0x00000000, /* write 0x0 to address 0x2a0204 */
0x15020011, 0x00000048, /* write 72 zeros to address 0x2a0400 */
0x15000001, 0x00000001, /* write 0x1 to address 0x2a0000 */
@@ -183,9 +216,10 @@ ARRAY_DECL u32 init_ops[] = {
0x14e0c201, 0x00000000, /* write 0x0 to address 0x29c184 */
0x14e0ca01, 0x00000000, /* write 0x0 to address 0x29c194 */
/* PSWRD2 */
- 0x00070003, 0xffff0000, /* if phase != 'engine', skip 7 ops (no DMAE) */
+ 0x00080003, 0xffff0000, /* if phase != 'engine', skip 8 ops (no DMAE) */
0x14e8c201, 0x00000000, /* write 0x0 to address 0x29d184 */
0x14e8ca01, 0x00000000, /* write 0x0 to address 0x29d194 */
+ 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
0x14e90201, 0x00000000, /* write 0x0 to address 0x29d204 */
0x14e90a01, 0x00000000, /* write 0x0 to address 0x29d214 */
0x14e86601, 0x00000003, /* write 0x3 to address 0x29d0cc */
@@ -199,7 +233,7 @@ ARRAY_DECL u32 init_ops[] = {
0x00070003, 0xffff0000, /* if phase != 'engine', skip 7 ops (no DMAE) */
0x14d8c201, 0x00000000, /* write 0x0 to address 0x29b184 */
0x14d8ca01, 0x00000000, /* write 0x0 to address 0x29b194 */
- 0x00040002, 0x00240000, /* if mode != '!e5', skip 4 ops */
+ 0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0x14d90201, 0x00000000, /* write 0x0 to address 0x29b204 */
0x14d90a01, 0x00000000, /* write 0x0 to address 0x29b214 */
0x14d91201, 0x00000000, /* write 0x0 to address 0x29b224 */
@@ -209,36 +243,38 @@ ARRAY_DECL u32 init_ops[] = {
0x1400c201, 0x00000000, /* write 0x0 to address 0x280184 */
0x1400ca01, 0x00000000, /* write 0x0 to address 0x280194 */
/* PSWRQ2 */
- 0x00070003, 0xffff0000, /* if phase != 'engine', skip 7 ops (no DMAE) */
+ 0x000a0003, 0xffff0000, /* if phase != 'engine', skip 10 ops (no DMAE) */
0x1200c201, 0x00000000, /* write 0x0 to address 0x240184 */
0x00010002, 0x00020000, /* if mode != 'bb', skip 1 ops */
0x12010201, 0x00000000, /* write 0x0 to address 0x240204 */
- 0x00010002, 0x002c0000, /* if mode != '!bb', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x12010201, 0x00000000, /* write 0x0 to address 0x240204 */
- 0x12020831, 0x1a2c0002, /* write runtime array of size 2 from offset 6700 to address 0x240410 */
+ 0x12020831, 0x1d8c0002, /* write runtime array of size 2 from offset 7564 to address 0x240410 */
0x1202be01, 0x00000003, /* write 0x3 to address 0x24057c */
+ 0x00020002, 0x00650000, /* if mode != '!asic', skip 2 ops */
+ 0x12000001, 0x00000001, /* write 0x1 to address 0x240000 */
+ 0x12000210, 0x00000001, /* wait until address 0x240004 reads 0x1 */
0x00060013, 0xffff0002, /* if phase != 'pf', skip 6 ops */
- 0x12000631, 0x1a0f0005, /* write runtime array of size 5 from offset 6671 to address 0x24000c */
- 0x12001431, 0x1a140001, /* write runtime array of size 1 from offset 6676 to address 0x240028 */
- 0x12001831, 0x1a15000a, /* write runtime array of size 10 from offset 6677 to address 0x240030 */
- 0x12003031, 0x1a1f0002, /* write runtime array of size 2 from offset 6687 to address 0x240060 */
- 0x12004831, 0x1a21000b, /* write runtime array of size 11 from offset 6689 to address 0x240090 */
- 0x13000131, 0x1a2e55f0, /* write runtime array of size 22000 from offset 6702 to address 0x260000 (WB) */
+ 0x12000631, 0x1d6f0005, /* write runtime array of size 5 from offset 7535 to address 0x24000c */
+ 0x12001431, 0x1d740001, /* write runtime array of size 1 from offset 7540 to address 0x240028 */
+ 0x12001831, 0x1d75000a, /* write runtime array of size 10 from offset 7541 to address 0x240030 */
+ 0x12003031, 0x1d7f0002, /* write runtime array of size 2 from offset 7551 to address 0x240060 */
+ 0x12004831, 0x1d81000b, /* write runtime array of size 11 from offset 7553 to address 0x240090 */
+ 0x13000131, 0x1d8e55f0, /* write runtime array of size 22000 from offset 7566 to address 0x260000 (WB) */
/* PGLCS */
0x00020003, 0xffff0000, /* if phase != 'engine', skip 2 ops (no DMAE) */
- 0x00010002, 0x00450000, /* if mode != '!asic', skip 1 ops */
+ 0x00010002, 0x00650000, /* if mode != '!asic', skip 1 ops */
0x000e8201, 0x00000000, /* write 0x0 to address 0x1d04 */
/* DMAE */
- 0x00040003, 0xffff0000, /* if phase != 'engine', skip 4 ops (no DMAE) */
+ 0x00030003, 0xffff0000, /* if phase != 'engine', skip 3 ops (no DMAE) */
0x0060c201, 0x00000000, /* write 0x0 to address 0xc184 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
0x00610201, 0x00000000, /* write 0x0 to address 0xc204 */
0x00640011, 0x000001c0, /* write 448 zeros to address 0xc800 */
/* PTU */
0x00090013, 0xffff0000, /* if phase != 'engine', skip 9 ops */
0x2b002e01, 0x00000000, /* write 0x0 to address 0x56005c */
0x2b00c201, 0x00000000, /* write 0x0 to address 0x560184 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
+ 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x2b010201, 0x00000000, /* write 0x0 to address 0x560204 */
0x2b000001, 0x00000001, /* write 0x1 to address 0x560000 */
0x2b000210, 0x00000001, /* wait until address 0x560004 reads 0x1 */
@@ -264,28 +300,28 @@ ARRAY_DECL u32 init_ops[] = {
0x00010013, 0x00070002, /* if phase != 'pf7', skip 1 ops */
0x2b003c01, 0x00700000, /* write 0x700000 to address 0x560078 */
0x00020013, 0x00080002, /* if phase != 'pf8', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x2b003c01, 0x00800000, /* write 0x800000 to address 0x560078 */
0x00020013, 0x00090002, /* if phase != 'pf9', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x2b003c01, 0x00900000, /* write 0x900000 to address 0x560078 */
0x00020013, 0x000a0002, /* if phase != 'pf10', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x2b003c01, 0x00a00000, /* write 0xa00000 to address 0x560078 */
0x00020013, 0x000b0002, /* if phase != 'pf11', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x2b003c01, 0x00b00000, /* write 0xb00000 to address 0x560078 */
0x00020013, 0x000c0002, /* if phase != 'pf12', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x2b003c01, 0x00c00000, /* write 0xc00000 to address 0x560078 */
0x00020013, 0x000d0002, /* if phase != 'pf13', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x2b003c01, 0x00d00000, /* write 0xd00000 to address 0x560078 */
0x00020013, 0x000e0002, /* if phase != 'pf14', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x2b003c01, 0x00e00000, /* write 0xe00000 to address 0x560078 */
0x00020013, 0x000f0002, /* if phase != 'pf15', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x2b003c01, 0x00f00000, /* write 0xf00000 to address 0x560078 */
0x00030013, 0xffff0002, /* if phase != 'pf', skip 3 ops */
0x2b004001, 0x00000001, /* write 0x1 to address 0x560080 */
@@ -369,10 +405,10 @@ ARRAY_DECL u32 init_ops[] = {
0x8c045e21, 0x00000095, /* write array of size 2 from offset 149 to address 0x11808bc */
0x8c046411, 0x00000006, /* write 6 zeros to address 0x11808c8 */
0x00050013, 0xffff0002, /* if phase != 'pf', skip 5 ops */
- 0x00020002, 0x00450000, /* if mode != '!asic', skip 2 ops */
+ 0x00020002, 0x00650000, /* if mode != '!asic', skip 2 ops */
0x8c03aa01, 0x00000040, /* write 0x40 to address 0x1180754 */
0x8c03c801, 0x00000000, /* write 0x0 to address 0x1180790 */
- 0x00010002, 0x00440000, /* if mode != '(!asic)&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00640000, /* if mode != '(!asic)&(bb|k2)', skip 1 ops */
0x8c03ba01, 0x00000008, /* write 0x8 to address 0x1180774 */
0x00030013, 0x00000002, /* if phase != 'pf0', skip 3 ops */
0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
@@ -407,48 +443,46 @@ ARRAY_DECL u32 init_ops[] = {
0x8c048201, 0x00000038, /* write 0x38 to address 0x1180904 */
0x8c048601, 0x00000038, /* write 0x38 to address 0x118090c */
0x00030013, 0x00080002, /* if phase != 'pf8', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x8c048201, 0x00000040, /* write 0x40 to address 0x1180904 */
0x8c048601, 0x00000040, /* write 0x40 to address 0x118090c */
0x00030013, 0x00090002, /* if phase != 'pf9', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x8c048201, 0x00000048, /* write 0x48 to address 0x1180904 */
0x8c048601, 0x00000048, /* write 0x48 to address 0x118090c */
0x00030013, 0x000a0002, /* if phase != 'pf10', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x8c048201, 0x00000050, /* write 0x50 to address 0x1180904 */
0x8c048601, 0x00000050, /* write 0x50 to address 0x118090c */
0x00030013, 0x000b0002, /* if phase != 'pf11', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x8c048201, 0x00000058, /* write 0x58 to address 0x1180904 */
0x8c048601, 0x00000058, /* write 0x58 to address 0x118090c */
0x00030013, 0x000c0002, /* if phase != 'pf12', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x8c048201, 0x00000060, /* write 0x60 to address 0x1180904 */
0x8c048601, 0x00000060, /* write 0x60 to address 0x118090c */
0x00030013, 0x000d0002, /* if phase != 'pf13', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x8c048201, 0x00000068, /* write 0x68 to address 0x1180904 */
0x8c048601, 0x00000068, /* write 0x68 to address 0x118090c */
0x00030013, 0x000e0002, /* if phase != 'pf14', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x8c048201, 0x00000070, /* write 0x70 to address 0x1180904 */
0x8c048601, 0x00000070, /* write 0x70 to address 0x118090c */
0x00030013, 0x000f0002, /* if phase != 'pf15', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x8c048201, 0x00000078, /* write 0x78 to address 0x1180904 */
0x8c048601, 0x00000078, /* write 0x78 to address 0x118090c */
/* MCM */
- 0x00620013, 0xffff0000, /* if phase != 'engine', skip 98 ops */
+ 0x00600013, 0xffff0000, /* if phase != 'engine', skip 96 ops */
0x9000ca01, 0x00000000, /* write 0x0 to address 0x1200194 */
0x9000d201, 0x00000000, /* write 0x0 to address 0x12001a4 */
- 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
+ 0x004b0002, 0x00010000, /* if mode != 'bb|k2', skip 75 ops */
0x9000c201, 0x00000000, /* write 0x0 to address 0x1200184 */
- 0x900c0001, 0x00000000, /* write 0x0 to address 0x1201800 */
- 0x00020002, 0x00240000, /* if mode != '!e5', skip 2 ops */
0x90010201, 0x00000000, /* write 0x0 to address 0x1200204 */
0x90010a01, 0x00000000, /* write 0x0 to address 0x1200214 */
- 0x00470002, 0x00010000, /* if mode != 'bb|k2', skip 71 ops */
+ 0x900c0001, 0x00000000, /* write 0x0 to address 0x1201800 */
0x900c0801, 0x00000000, /* write 0x0 to address 0x1201810 */
0x900c0001, 0x00000200, /* write 0x200 to address 0x1201800 */
0x900c0801, 0x00000000, /* write 0x0 to address 0x1201810 */
@@ -539,10 +573,10 @@ ARRAY_DECL u32 init_ops[] = {
0x90046001, 0x00000001, /* write 0x1 to address 0x12008c0 */
0x90046611, 0x00000004, /* write 4 zeros to address 0x12008cc */
0x00050013, 0xffff0002, /* if phase != 'pf', skip 5 ops */
- 0x00020002, 0x00450000, /* if mode != '!asic', skip 2 ops */
+ 0x00020002, 0x00650000, /* if mode != '!asic', skip 2 ops */
0x9003aa01, 0x00000040, /* write 0x40 to address 0x1200754 */
0x9003c801, 0x00000000, /* write 0x0 to address 0x1200790 */
- 0x00010002, 0x00440000, /* if mode != '(!asic)&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00640000, /* if mode != '(!asic)&(bb|k2)', skip 1 ops */
0x9003ba01, 0x00000008, /* write 0x8 to address 0x1200774 */
0x00030013, 0x00000002, /* if phase != 'pf0', skip 3 ops */
0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
@@ -577,48 +611,46 @@ ARRAY_DECL u32 init_ops[] = {
0x90048201, 0x00000039, /* write 0x39 to address 0x1200904 */
0x90048601, 0x00000039, /* write 0x39 to address 0x120090c */
0x00030013, 0x00080002, /* if phase != 'pf8', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x90048201, 0x00000041, /* write 0x41 to address 0x1200904 */
0x90048601, 0x00000041, /* write 0x41 to address 0x120090c */
0x00030013, 0x00090002, /* if phase != 'pf9', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x90048201, 0x00000049, /* write 0x49 to address 0x1200904 */
0x90048601, 0x00000049, /* write 0x49 to address 0x120090c */
0x00030013, 0x000a0002, /* if phase != 'pf10', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x90048201, 0x00000051, /* write 0x51 to address 0x1200904 */
0x90048601, 0x00000051, /* write 0x51 to address 0x120090c */
0x00030013, 0x000b0002, /* if phase != 'pf11', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x90048201, 0x00000059, /* write 0x59 to address 0x1200904 */
0x90048601, 0x00000059, /* write 0x59 to address 0x120090c */
0x00030013, 0x000c0002, /* if phase != 'pf12', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x90048201, 0x00000061, /* write 0x61 to address 0x1200904 */
0x90048601, 0x00000061, /* write 0x61 to address 0x120090c */
0x00030013, 0x000d0002, /* if phase != 'pf13', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x90048201, 0x00000069, /* write 0x69 to address 0x1200904 */
0x90048601, 0x00000069, /* write 0x69 to address 0x120090c */
0x00030013, 0x000e0002, /* if phase != 'pf14', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x90048201, 0x00000071, /* write 0x71 to address 0x1200904 */
0x90048601, 0x00000071, /* write 0x71 to address 0x120090c */
0x00030013, 0x000f0002, /* if phase != 'pf15', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x90048201, 0x00000079, /* write 0x79 to address 0x1200904 */
0x90048601, 0x00000079, /* write 0x79 to address 0x120090c */
/* UCM */
- 0x004b0013, 0xffff0000, /* if phase != 'engine', skip 75 ops */
+ 0x00490013, 0xffff0000, /* if phase != 'engine', skip 73 ops */
0x9400c201, 0x00000000, /* write 0x0 to address 0x1280184 */
0x9400d201, 0x00000000, /* write 0x0 to address 0x12801a4 */
- 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
+ 0x94010a01, 0x00000000, /* write 0x0 to address 0x1280214 */
+ 0x00320002, 0x00010000, /* if mode != 'bb|k2', skip 50 ops */
0x9400ca01, 0x00000000, /* write 0x0 to address 0x1280194 */
- 0x940b8001, 0x00000000, /* write 0x0 to address 0x1281700 */
- 0x00020002, 0x00240000, /* if mode != '!e5', skip 2 ops */
0x94010201, 0x00000000, /* write 0x0 to address 0x1280204 */
- 0x94010a01, 0x00000000, /* write 0x0 to address 0x1280214 */
- 0x002f0002, 0x00010000, /* if mode != 'bb|k2', skip 47 ops */
+ 0x940b8001, 0x00000000, /* write 0x0 to address 0x1281700 */
0x940b8801, 0x00000000, /* write 0x0 to address 0x1281710 */
0x940b8001, 0x00000200, /* write 0x200 to address 0x1281700 */
0x940b8801, 0x00000000, /* write 0x0 to address 0x1281710 */
@@ -718,35 +750,35 @@ ARRAY_DECL u32 init_ops[] = {
0x94048201, 0x0000003a, /* write 0x3a to address 0x1280904 */
0x94048601, 0x0000003a, /* write 0x3a to address 0x128090c */
0x00030013, 0x00080002, /* if phase != 'pf8', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x94048201, 0x00000042, /* write 0x42 to address 0x1280904 */
0x94048601, 0x00000042, /* write 0x42 to address 0x128090c */
0x00030013, 0x00090002, /* if phase != 'pf9', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x94048201, 0x0000004a, /* write 0x4a to address 0x1280904 */
0x94048601, 0x0000004a, /* write 0x4a to address 0x128090c */
0x00030013, 0x000a0002, /* if phase != 'pf10', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x94048201, 0x00000052, /* write 0x52 to address 0x1280904 */
0x94048601, 0x00000052, /* write 0x52 to address 0x128090c */
0x00030013, 0x000b0002, /* if phase != 'pf11', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x94048201, 0x0000005a, /* write 0x5a to address 0x1280904 */
0x94048601, 0x0000005a, /* write 0x5a to address 0x128090c */
0x00030013, 0x000c0002, /* if phase != 'pf12', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x94048201, 0x00000062, /* write 0x62 to address 0x1280904 */
0x94048601, 0x00000062, /* write 0x62 to address 0x128090c */
0x00030013, 0x000d0002, /* if phase != 'pf13', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x94048201, 0x0000006a, /* write 0x6a to address 0x1280904 */
0x94048601, 0x0000006a, /* write 0x6a to address 0x128090c */
0x00030013, 0x000e0002, /* if phase != 'pf14', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x94048201, 0x00000072, /* write 0x72 to address 0x1280904 */
0x94048601, 0x00000072, /* write 0x72 to address 0x128090c */
0x00030013, 0x000f0002, /* if phase != 'pf15', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x94048201, 0x0000007a, /* write 0x7a to address 0x1280904 */
0x94048601, 0x0000007a, /* write 0x7a to address 0x128090c */
/* XCM */
@@ -770,7 +802,7 @@ ARRAY_DECL u32 init_ops[] = {
0x80043421, 0x00000136, /* write array of size 3 from offset 310 to address 0x1000868 */
0x80000410, 0x00000001, /* wait until address 0x1000008 reads 0x1 */
0x00010013, 0xffff0002, /* if phase != 'pf', skip 1 ops */
- 0x80048231, 0x86040001, /* write runtime array of size 1 from offset 34308 to address 0x1000904 */
+ 0x80048231, 0x89640001, /* write runtime array of size 1 from offset 35172 to address 0x1000904 */
/* YCM */
0x008d0013, 0xffff0000, /* if phase != 'engine', skip 141 ops */
0x8400c201, 0x00000000, /* write 0x0 to address 0x1080184 */
@@ -947,35 +979,35 @@ ARRAY_DECL u32 init_ops[] = {
0x84048201, 0x0000003b, /* write 0x3b to address 0x1080904 */
0x84048601, 0x0000003b, /* write 0x3b to address 0x108090c */
0x00030013, 0x00080002, /* if phase != 'pf8', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x84048201, 0x00000043, /* write 0x43 to address 0x1080904 */
0x84048601, 0x00000043, /* write 0x43 to address 0x108090c */
0x00030013, 0x00090002, /* if phase != 'pf9', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x84048201, 0x0000004b, /* write 0x4b to address 0x1080904 */
0x84048601, 0x0000004b, /* write 0x4b to address 0x108090c */
0x00030013, 0x000a0002, /* if phase != 'pf10', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x84048201, 0x00000053, /* write 0x53 to address 0x1080904 */
0x84048601, 0x00000053, /* write 0x53 to address 0x108090c */
0x00030013, 0x000b0002, /* if phase != 'pf11', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x84048201, 0x0000005b, /* write 0x5b to address 0x1080904 */
0x84048601, 0x0000005b, /* write 0x5b to address 0x108090c */
0x00030013, 0x000c0002, /* if phase != 'pf12', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x84048201, 0x00000063, /* write 0x63 to address 0x1080904 */
0x84048601, 0x00000063, /* write 0x63 to address 0x108090c */
0x00030013, 0x000d0002, /* if phase != 'pf13', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x84048201, 0x0000006b, /* write 0x6b to address 0x1080904 */
0x84048601, 0x0000006b, /* write 0x6b to address 0x108090c */
0x00030013, 0x000e0002, /* if phase != 'pf14', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x84048201, 0x00000073, /* write 0x73 to address 0x1080904 */
0x84048601, 0x00000073, /* write 0x73 to address 0x108090c */
0x00030013, 0x000f0002, /* if phase != 'pf15', skip 3 ops */
- 0x00020002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
+ 0x00020002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 2 ops */
0x84048201, 0x0000007b, /* write 0x7b to address 0x1080904 */
0x84048601, 0x0000007b, /* write 0x7b to address 0x108090c */
/* PCM */
@@ -994,44 +1026,44 @@ ARRAY_DECL u32 init_ops[] = {
0x88040421, 0x00000142, /* write array of size 4 from offset 322 to address 0x1100808 */
0x88040e21, 0x00000147, /* write array of size 3 from offset 327 to address 0x110081c */
/* QM */
- 0x00590013, 0xffff0000, /* if phase != 'engine', skip 89 ops */
+ 0x005a0013, 0xffff0000, /* if phase != 'engine', skip 90 ops */
0x1780c201, 0x00000000, /* write 0x0 to address 0x2f0184 */
0x1780ca01, 0x00000000, /* write 0x0 to address 0x2f0194 */
0x00020002, 0x00020000, /* if mode != 'bb', skip 2 ops */
0x17811201, 0x00000000, /* write 0x0 to address 0x2f0224 */
0x17ae9c01, 0x00000001, /* write 0x1 to address 0x2f5d38 */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x17811201, 0x00000000, /* write 0x0 to address 0x2f0224 */
- 0x00020002, 0x00240000, /* if mode != '!e5', skip 2 ops */
+ 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
0x17810201, 0x00000000, /* write 0x0 to address 0x2f0204 */
0x17810a01, 0x00000000, /* write 0x0 to address 0x2f0214 */
0x17aebe01, 0x00000001, /* write 0x1 to address 0x2f5d7c */
0x17aec010, 0x00000001, /* wait until address 0x2f5d80 reads 0x1 */
0x00010002, 0x00020000, /* if mode != 'bb', skip 1 ops */
0x17c80011, 0x000001c0, /* write 448 zeros to address 0x2f9000 */
- 0x00010002, 0x002c0000, /* if mode != '!bb', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x17c80011, 0x00000200, /* write 512 zeros to address 0x2f9000 */
- 0x17a60031, 0x78640001, /* write runtime array of size 1 from offset 30820 to address 0x2f4c00 */
- 0x17a70031, 0x78970001, /* write runtime array of size 1 from offset 30871 to address 0x2f4e00 */
- 0x17ae0031, 0x79b90001, /* write runtime array of size 1 from offset 31161 to address 0x2f5c00 */
- 0x17ae0a31, 0x79ba0001, /* write runtime array of size 1 from offset 31162 to address 0x2f5c14 */
- 0x178c8c31, 0x74ed0004, /* write runtime array of size 4 from offset 29933 to address 0x2f1918 */
- 0x178ca231, 0x74f10001, /* write runtime array of size 1 from offset 29937 to address 0x2f1944 */
- 0x178cb431, 0x74f20008, /* write runtime array of size 8 from offset 29938 to address 0x2f1968 */
- 0x178cf431, 0x75020004, /* write runtime array of size 4 from offset 29954 to address 0x2f19e8 */
- 0x178d0431, 0x75060002, /* write runtime array of size 2 from offset 29958 to address 0x2f1a08 */
- 0x17976c31, 0x755c0008, /* write runtime array of size 8 from offset 30044 to address 0x2f2ed8 */
+ 0x17a60031, 0x7bc40001, /* write runtime array of size 1 from offset 31684 to address 0x2f4c00 */
+ 0x17a70031, 0x7bf70001, /* write runtime array of size 1 from offset 31735 to address 0x2f4e00 */
+ 0x17ae0031, 0x7d190001, /* write runtime array of size 1 from offset 32025 to address 0x2f5c00 */
+ 0x17ae0a31, 0x7d1a0001, /* write runtime array of size 1 from offset 32026 to address 0x2f5c14 */
+ 0x178c8c31, 0x784d0004, /* write runtime array of size 4 from offset 30797 to address 0x2f1918 */
+ 0x178ca231, 0x78510001, /* write runtime array of size 1 from offset 30801 to address 0x2f1944 */
+ 0x178cb431, 0x78520008, /* write runtime array of size 8 from offset 30802 to address 0x2f1968 */
+ 0x178cf431, 0x78620004, /* write runtime array of size 4 from offset 30818 to address 0x2f19e8 */
+ 0x178d0431, 0x78660002, /* write runtime array of size 2 from offset 30822 to address 0x2f1a08 */
+ 0x17976c31, 0x78bc0008, /* write runtime array of size 8 from offset 30908 to address 0x2f2ed8 */
0x179a0011, 0x00000100, /* write 256 zeros to address 0x2f3400 */
- 0x17a70231, 0x78980001, /* write runtime array of size 1 from offset 30872 to address 0x2f4e04 */
+ 0x17a70231, 0x7bf80001, /* write runtime array of size 1 from offset 31736 to address 0x2f4e04 */
0x00050002, 0x00020000, /* if mode != 'bb', skip 5 ops */
0x17860111, 0x00000080, /* write 128 zeros to address 0x2f0c00 (WB) */
0x17a64011, 0x00000008, /* write 8 zeros to address 0x2f4c80 */
0x17d00021, 0x0000014b, /* write array of size 448 from offset 331 to address 0x2fa000 */
0x17d80021, 0x0000014d, /* write array of size 448 from offset 333 to address 0x2fb000 */
0x17f00111, 0x00000380, /* write 896 zeros to address 0x2fe000 (WB) */
- 0x00060002, 0x002c0000, /* if mode != '!bb', skip 6 ops */
+ 0x00060002, 0x00250000, /* if mode != '!bb', skip 6 ops */
0x17860111, 0x00000100, /* write 256 zeros to address 0x2f0c00 (WB) */
- 0x178cc431, 0x74fa0008, /* write runtime array of size 8 from offset 29946 to address 0x2f1988 */
+ 0x178cc431, 0x785a0008, /* write runtime array of size 8 from offset 30810 to address 0x2f1988 */
0x17a64011, 0x00000010, /* write 16 zeros to address 0x2f4c80 */
0x17d00021, 0x0000014f, /* write array of size 512 from offset 335 to address 0x2fa000 */
0x17d80021, 0x00000151, /* write array of size 512 from offset 337 to address 0x2fb000 */
@@ -1061,25 +1093,26 @@ ARRAY_DECL u32 init_ops[] = {
0x178a2001, 0x00000001, /* write 0x1 to address 0x2f1440 */
0x178a2401, 0x00000001, /* write 0x1 to address 0x2f1448 */
0x178a3201, 0x0000000a, /* write 0xa to address 0x2f1464 */
- 0x178b4031, 0x851f0024, /* write runtime array of size 36 from offset 34079 to address 0x2f1680 */
+ 0x178b4031, 0x887f0024, /* write runtime array of size 36 from offset 34943 to address 0x2f1680 */
0x178b8001, 0x00000054, /* write 0x54 to address 0x2f1700 */
0x178c4021, 0x00000171, /* write array of size 18 from offset 369 to address 0x2f1880 */
0x178c9601, 0x000080a8, /* write 0x80a8 to address 0x2f192c */
0x178c9a21, 0x00000173, /* write array of size 2 from offset 371 to address 0x2f1934 */
0x178ca421, 0x00000035, /* write array of size 2 from offset 53 to address 0x2f1948 */
- 0x00020002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 2 ops */
- 0x17ae1e21, 0x00000175, /* write array of size 4 from offset 373 to address 0x2f5c3c */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x17ae5e21, 0x00000175, /* write array of size 4 from offset 373 to address 0x2f5cbc */
- 0x00010002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00da0000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x17ae1e21, 0x00000175, /* write array of size 4 from offset 373 to address 0x2f5c3c */
+ 0x00010002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
0x178c6421, 0x0000017a, /* write array of size 2 from offset 378 to address 0x2f18c8 */
- 0x17976431, 0x75580002, /* write runtime array of size 2 from offset 30040 to address 0x2f2ec8 */
- 0x17a60e31, 0x78650001, /* write runtime array of size 1 from offset 30821 to address 0x2f4c1c */
- 0x17976831, 0x755a0002, /* write runtime array of size 2 from offset 30042 to address 0x2f2ed0 */
- 0x17a61031, 0x78660001, /* write runtime array of size 1 from offset 30822 to address 0x2f4c20 */
+ 0x17976431, 0x78b80002, /* write runtime array of size 2 from offset 30904 to address 0x2f2ec8 */
+ 0x17a60e31, 0x7bc50001, /* write runtime array of size 1 from offset 31685 to address 0x2f4c1c */
+ 0x17976831, 0x78ba0002, /* write runtime array of size 2 from offset 30906 to address 0x2f2ed0 */
+ 0x17a61031, 0x7bc60001, /* write runtime array of size 1 from offset 31686 to address 0x2f4c20 */
0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
- 0x178ac031, 0x84fb0024, /* write runtime array of size 36 from offset 34043 to address 0x2f1580 */
+ 0x178ac031, 0x885b0024, /* write runtime array of size 36 from offset 34907 to address 0x2f1580 */
0x178bc021, 0x00000171, /* write array of size 18 from offset 369 to address 0x2f1780 */
- 0x00010002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
0x178be421, 0x0000017a, /* write array of size 2 from offset 378 to address 0x2f17c8 */
0x17960001, 0x00000001, /* write 0x1 to address 0x2f2c00 */
0x17973201, 0x00000001, /* write 0x1 to address 0x2f2e64 */
@@ -1092,56 +1125,55 @@ ARRAY_DECL u32 init_ops[] = {
0x178e3021, 0x0000017e, /* write array of size 8 from offset 382 to address 0x2f1c60 */
0x178e5021, 0x00000180, /* write array of size 8 from offset 384 to address 0x2f1ca0 */
0x178e7021, 0x00000182, /* write array of size 8 from offset 386 to address 0x2f1ce0 */
- 0x00040002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 4 ops */
+ 0x00040002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 4 ops */
0x17f81021, 0x0000017c, /* write array of size 8 from offset 380 to address 0x2ff020 */
0x17f83021, 0x0000017e, /* write array of size 8 from offset 382 to address 0x2ff060 */
0x17f85021, 0x00000180, /* write array of size 8 from offset 384 to address 0x2ff0a0 */
0x17f87021, 0x00000182, /* write array of size 8 from offset 386 to address 0x2ff0e0 */
0x00180013, 0xffff0004, /* if phase != 'qm_pf', skip 24 ops */
- 0x17821a31, 0x742a003b, /* write runtime array of size 59 from offset 29738 to address 0x2f0434 */
- 0x17830031, 0x746d0080, /* write runtime array of size 128 from offset 29805 to address 0x2f0600 */
- 0x17960231, 0x75080038, /* write runtime array of size 56 from offset 29960 to address 0x2f2c04 */
- 0x17970231, 0x75480008, /* write runtime array of size 8 from offset 30024 to address 0x2f2e04 */
- 0x179a0031, 0x75640100, /* write runtime array of size 256 from offset 30052 to address 0x2f3400 */
- 0x179e0031, 0x76640100, /* write runtime array of size 256 from offset 30308 to address 0x2f3c00 */
- 0x17a64031, 0x78670010, /* write runtime array of size 16 from offset 30823 to address 0x2f4c80 */
- 0x17a68031, 0x78770010, /* write runtime array of size 16 from offset 30839 to address 0x2f4d00 */
- 0x17a74031, 0x78990010, /* write runtime array of size 16 from offset 30873 to address 0x2f4e80 */
- 0x17a78031, 0x78a90010, /* write runtime array of size 16 from offset 30889 to address 0x2f4f00 */
- 0x17b00031, 0x79bb0200, /* write runtime array of size 512 from offset 31163 to address 0x2f6000 */
- 0x17c80031, 0x7bbb0200, /* write runtime array of size 512 from offset 31675 to address 0x2f9000 */
- 0x17d00031, 0x7dbb0200, /* write runtime array of size 512 from offset 32187 to address 0x2fa000 */
- 0x17e80031, 0x81bb0200, /* write runtime array of size 512 from offset 33211 to address 0x2fd000 */
- 0x00030002, 0x002c0000, /* if mode != '!bb', skip 3 ops */
- 0x17829031, 0x74650008, /* write runtime array of size 8 from offset 29797 to address 0x2f0520 */
- 0x17967231, 0x75400008, /* write runtime array of size 8 from offset 30016 to address 0x2f2ce4 */
- 0x17971231, 0x75500008, /* write runtime array of size 8 from offset 30032 to address 0x2f2e24 */
- 0x17a20031, 0x77640100, /* write runtime array of size 256 from offset 30564 to address 0x2f4400 */
- 0x17a6c031, 0x78870010, /* write runtime array of size 16 from offset 30855 to address 0x2f4d80 */
- 0x17aa0031, 0x78b90100, /* write runtime array of size 256 from offset 30905 to address 0x2f5400 */
- 0x17e00031, 0x7fbb0200, /* write runtime array of size 512 from offset 32699 to address 0x2fc000 */
+ 0x17821a31, 0x778a003b, /* write runtime array of size 59 from offset 30602 to address 0x2f0434 */
+ 0x17830031, 0x77cd0080, /* write runtime array of size 128 from offset 30669 to address 0x2f0600 */
+ 0x17960231, 0x78680038, /* write runtime array of size 56 from offset 30824 to address 0x2f2c04 */
+ 0x17970231, 0x78a80008, /* write runtime array of size 8 from offset 30888 to address 0x2f2e04 */
+ 0x179a0031, 0x78c40100, /* write runtime array of size 256 from offset 30916 to address 0x2f3400 */
+ 0x179e0031, 0x79c40100, /* write runtime array of size 256 from offset 31172 to address 0x2f3c00 */
+ 0x17a64031, 0x7bc70010, /* write runtime array of size 16 from offset 31687 to address 0x2f4c80 */
+ 0x17a68031, 0x7bd70010, /* write runtime array of size 16 from offset 31703 to address 0x2f4d00 */
+ 0x17a74031, 0x7bf90010, /* write runtime array of size 16 from offset 31737 to address 0x2f4e80 */
+ 0x17a78031, 0x7c090010, /* write runtime array of size 16 from offset 31753 to address 0x2f4f00 */
+ 0x17b00031, 0x7d1b0200, /* write runtime array of size 512 from offset 32027 to address 0x2f6000 */
+ 0x17c80031, 0x7f1b0200, /* write runtime array of size 512 from offset 32539 to address 0x2f9000 */
+ 0x17d00031, 0x811b0200, /* write runtime array of size 512 from offset 33051 to address 0x2fa000 */
+ 0x17e80031, 0x851b0200, /* write runtime array of size 512 from offset 34075 to address 0x2fd000 */
+ 0x00030002, 0x00250000, /* if mode != '!bb', skip 3 ops */
+ 0x17829031, 0x77c50008, /* write runtime array of size 8 from offset 30661 to address 0x2f0520 */
+ 0x17967231, 0x78a00008, /* write runtime array of size 8 from offset 30880 to address 0x2f2ce4 */
+ 0x17971231, 0x78b00008, /* write runtime array of size 8 from offset 30896 to address 0x2f2e24 */
+ 0x17a20031, 0x7ac40100, /* write runtime array of size 256 from offset 31428 to address 0x2f4400 */
+ 0x17a6c031, 0x7be70010, /* write runtime array of size 16 from offset 31719 to address 0x2f4d80 */
+ 0x17aa0031, 0x7c190100, /* write runtime array of size 256 from offset 31769 to address 0x2f5400 */
+ 0x17e00031, 0x831b0200, /* write runtime array of size 512 from offset 33563 to address 0x2fc000 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
- 0x17fa0031, 0x83bb0140, /* write runtime array of size 320 from offset 33723 to address 0x2ff400 */
+ 0x17fa0031, 0x871b0140, /* write runtime array of size 320 from offset 34587 to address 0x2ff400 */
0x00020013, 0xffff0003, /* if phase != 'vf', skip 2 ops */
0x17975401, 0x00000001, /* write 0x1 to address 0x2f2ea8 */
0x17975a11, 0x00000002, /* write 2 zeros to address 0x2f2eb4 */
/* TM */
- 0x00170013, 0xffff0000, /* if phase != 'engine', skip 23 ops */
+ 0x00160013, 0xffff0000, /* if phase != 'engine', skip 22 ops */
0x16000001, 0x00000008, /* write 0x8 to address 0x2c0000 */
0x1600c201, 0x00000000, /* write 0x0 to address 0x2c0184 */
0x1600ca01, 0x00000060, /* write 0x60 to address 0x2c0194 */
- 0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
+ 0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
+ 0x16010201, 0x00000000, /* write 0x0 to address 0x2c0204 */
0x16025601, 0x00001415, /* write 0x1415 to address 0x2c04ac */
0x16025a01, 0x00002820, /* write 0x2820 to address 0x2c04b4 */
0x16026201, 0x00002411, /* write 0x2411 to address 0x2c04c4 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0x16010201, 0x00000000, /* write 0x0 to address 0x2c0204 */
0x16000810, 0x00000001, /* wait until address 0x2c0010 reads 0x1 */
- 0x16024231, 0x70280002, /* write runtime array of size 2 from offset 28712 to address 0x2c0484 */
+ 0x16024231, 0x73880002, /* write runtime array of size 2 from offset 29576 to address 0x2c0484 */
0x16024611, 0x00000002, /* write 2 zeros to address 0x2c048c */
0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x16023021, 0x00000184, /* write array of size 2 from offset 388 to address 0x2c0460 */
- 0x00010002, 0x00680000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00800000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
0x16022401, 0x00000085, /* write 0x85 to address 0x2c0448 */
0x00010002, 0x00000000, /* if mode != '(bb|k2)&((emul_reduced|emul_full)&bb)', skip 1 ops */
0x16022401, 0x00000004, /* write 0x4 to address 0x2c0448 */
@@ -1151,23 +1183,22 @@ ARRAY_DECL u32 init_ops[] = {
0x16022a01, 0x00000001, /* write 0x1 to address 0x2c0454 */
0x16022e01, 0x00000001, /* write 0x1 to address 0x2c045c */
0x00040013, 0xffff0002, /* if phase != 'pf', skip 4 ops */
- 0x16080131, 0x702a01a0, /* write runtime array of size 416 from offset 28714 to address 0x2c1000 (WB) */
- 0x16100131, 0x71ca0260, /* write runtime array of size 608 from offset 29130 to address 0x2c2000 (WB) */
- 0x16021e31, 0x70260001, /* write runtime array of size 1 from offset 28710 to address 0x2c043c */
- 0x16022231, 0x70270001, /* write runtime array of size 1 from offset 28711 to address 0x2c0444 */
+ 0x16080131, 0x738a01a0, /* write runtime array of size 416 from offset 29578 to address 0x2c1000 (WB) */
+ 0x16100131, 0x752a0260, /* write runtime array of size 608 from offset 29994 to address 0x2c2000 (WB) */
+ 0x16021e31, 0x73860001, /* write runtime array of size 1 from offset 29574 to address 0x2c043c */
+ 0x16022231, 0x73870001, /* write runtime array of size 1 from offset 29575 to address 0x2c0444 */
0x00010013, 0xffff0003, /* if phase != 'vf', skip 1 ops */
- 0x16021c31, 0x70250001, /* write runtime array of size 1 from offset 28709 to address 0x2c0438 */
+ 0x16021c31, 0x73850001, /* write runtime array of size 1 from offset 29573 to address 0x2c0438 */
/* DORQ */
- 0x001f0013, 0xffff0000, /* if phase != 'engine', skip 31 ops */
- 0x0800c201, 0x00000000, /* write 0x0 to address 0x100184 */
+ 0x001e0013, 0xffff0000, /* if phase != 'engine', skip 30 ops */
+ 0x0800c201, 0x00000008, /* write 0x8 to address 0x100184 */
0x0800ca01, 0x00000000, /* write 0x0 to address 0x100194 */
+ 0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
+ 0x08010201, 0x00000000, /* write 0x0 to address 0x100204 */
0x08041221, 0x00000033, /* write array of size 3 from offset 51 to address 0x100824 */
- 0x0804ee01, 0x00000600, /* write 0x600 to address 0x1009dc */
- 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
0x08045a11, 0x00000002, /* write 2 zeros to address 0x1008b4 */
0x08046601, 0x000012b7, /* write 0x12b7 to address 0x1008cc */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0x08010201, 0x00000000, /* write 0x0 to address 0x100204 */
+ 0x0804ee01, 0x00000600, /* write 0x600 to address 0x1009dc */
0x08080011, 0x00000280, /* write 640 zeros to address 0x101000 */
0x00140002, 0x00010000, /* if mode != 'bb|k2', skip 20 ops */
0x08024401, 0x00000001, /* write 0x1 to address 0x100488 */
@@ -1193,89 +1224,89 @@ ARRAY_DECL u32 init_ops[] = {
0x00060013, 0xffff0002, /* if phase != 'pf', skip 6 ops */
0x08028231, 0x00100001, /* write runtime array of size 1 from offset 16 to address 0x100504 */
0x08028821, 0x00000035, /* write array of size 2 from offset 53 to address 0x100510 */
- 0x00010002, 0x003d0000, /* if mode != 'ports_per_eng_1', skip 1 ops */
+ 0x00010002, 0x00300000, /* if mode != 'ports_per_eng_1', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x08020431, 0x00000010, /* write runtime array of size 16 from offset 0 to address 0x100408 */
0x00040013, 0x00000002, /* if phase != 'pf0', skip 4 ops */
- 0x00010002, 0x004f0000, /* if mode != 'ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00370000, /* if mode != 'ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
0x00040013, 0x00010002, /* if phase != 'pf1', skip 4 ops */
- 0x00010002, 0x004f0000, /* if mode != 'ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00370000, /* if mode != 'ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
0x00040013, 0x00020002, /* if phase != 'pf2', skip 4 ops */
- 0x00010002, 0x004f0000, /* if mode != 'ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00370000, /* if mode != 'ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000002, /* write 0x2 to address 0x100500 */
0x00040013, 0x00030002, /* if phase != 'pf3', skip 4 ops */
- 0x00010002, 0x004f0000, /* if mode != 'ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00370000, /* if mode != 'ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000003, /* write 0x3 to address 0x100500 */
0x00040013, 0x00040002, /* if phase != 'pf4', skip 4 ops */
- 0x00010002, 0x004f0000, /* if mode != 'ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00370000, /* if mode != 'ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
0x00040013, 0x00050002, /* if phase != 'pf5', skip 4 ops */
- 0x00010002, 0x004f0000, /* if mode != 'ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00370000, /* if mode != 'ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
0x00040013, 0x00060002, /* if phase != 'pf6', skip 4 ops */
- 0x00010002, 0x004f0000, /* if mode != 'ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00370000, /* if mode != 'ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000002, /* write 0x2 to address 0x100500 */
0x00040013, 0x00070002, /* if phase != 'pf7', skip 4 ops */
- 0x00010002, 0x004f0000, /* if mode != 'ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00370000, /* if mode != 'ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000003, /* write 0x3 to address 0x100500 */
0x00040013, 0x00080002, /* if phase != 'pf8', skip 4 ops */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
- 0x00010002, 0x00cf0000, /* if mode != 'k2&ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00bb0000, /* if mode != '(!bb)&ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
0x00040013, 0x00090002, /* if phase != 'pf9', skip 4 ops */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
- 0x00010002, 0x00cf0000, /* if mode != 'k2&ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00bb0000, /* if mode != '(!bb)&ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
0x00040013, 0x000a0002, /* if phase != 'pf10', skip 4 ops */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000002, /* write 0x2 to address 0x100500 */
- 0x00010002, 0x00cf0000, /* if mode != 'k2&ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00bb0000, /* if mode != '(!bb)&ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
0x00040013, 0x000b0002, /* if phase != 'pf11', skip 4 ops */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000003, /* write 0x3 to address 0x100500 */
- 0x00010002, 0x00cf0000, /* if mode != 'k2&ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00bb0000, /* if mode != '(!bb)&ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
0x00040013, 0x000c0002, /* if phase != 'pf12', skip 4 ops */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
- 0x00010002, 0x00cf0000, /* if mode != 'k2&ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00bb0000, /* if mode != '(!bb)&ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
0x00040013, 0x000d0002, /* if phase != 'pf13', skip 4 ops */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
- 0x00010002, 0x00cf0000, /* if mode != 'k2&ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00bb0000, /* if mode != '(!bb)&ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
0x00040013, 0x000e0002, /* if phase != 'pf14', skip 4 ops */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000002, /* write 0x2 to address 0x100500 */
- 0x00010002, 0x00cf0000, /* if mode != 'k2&ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00bb0000, /* if mode != '(!bb)&ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000000, /* write 0x0 to address 0x100500 */
0x00040013, 0x000f0002, /* if phase != 'pf15', skip 4 ops */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x08028001, 0x00000003, /* write 0x3 to address 0x100500 */
- 0x00010002, 0x00cf0000, /* if mode != 'k2&ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00bb0000, /* if mode != '(!bb)&ports_per_eng_2', skip 1 ops */
0x08028001, 0x00000001, /* write 0x1 to address 0x100500 */
0x00010013, 0xffff0002, /* if phase != 'pf', skip 1 ops */
0x08028401, 0x00000001, /* write 0x1 to address 0x100508 */
@@ -1338,9 +1369,9 @@ ARRAY_DECL u32 init_ops[] = {
0x1a05de01, 0x00000000, /* write 0x0 to address 0x340bbc */
0x1a05e401, 0x00000000, /* write 0x0 to address 0x340bc8 */
0x1a05e801, 0x00000000, /* write 0x0 to address 0x340bd0 */
- 0x00010002, 0x002c0000, /* if mode != '!bb', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x1a00dc01, 0x04000000, /* write 0x4000000 to address 0x3401b8 */
- 0x003d0002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 61 ops */
+ 0x003d0002, 0x00da0000, /* if mode != 'k2&ports_per_eng_4', skip 61 ops */
0x1a044021, 0x0000019a, /* write array of size 4 from offset 410 to address 0x340880 */
0x1a048021, 0x0000019c, /* write array of size 3 from offset 412 to address 0x340900 */
0x1a048a21, 0x0000019c, /* write array of size 3 from offset 412 to address 0x340914 */
@@ -1402,7 +1433,7 @@ ARRAY_DECL u32 init_ops[] = {
0x1a06ae21, 0x000001cb, /* write array of size 4 from offset 459 to address 0x340d5c */
0x1a06b821, 0x000001cb, /* write array of size 4 from offset 459 to address 0x340d70 */
0x1a06c201, 0x000000f8, /* write 0xf8 to address 0x340d84 */
- 0x001e0002, 0x00560000, /* if mode != 'bb&(!100g)&ports_per_eng_1', skip 30 ops */
+ 0x001e0002, 0x005e0000, /* if mode != 'bb&(!100g)&ports_per_eng_1', skip 30 ops */
0x1a044021, 0x000001d0, /* write array of size 2 from offset 464 to address 0x340880 */
0x1a046021, 0x000001d3, /* write array of size 2 from offset 467 to address 0x3408c0 */
0x1a048021, 0x000001d6, /* write array of size 3 from offset 470 to address 0x340900 */
@@ -1433,7 +1464,7 @@ ARRAY_DECL u32 init_ops[] = {
0x1a069e01, 0x000007d8, /* write 0x7d8 to address 0x340d3c */
0x1a06ae21, 0x000001e0, /* write array of size 2 from offset 480 to address 0x340d5c */
0x1a06be01, 0x000012c1, /* write 0x12c1 to address 0x340d7c */
- 0x00210002, 0x004a0000, /* if mode != 'bb&(!100g)&ports_per_eng_2', skip 33 ops */
+ 0x00210002, 0x00580000, /* if mode != 'bb&(!100g)&ports_per_eng_2', skip 33 ops */
0x1a044021, 0x000001e2, /* write array of size 2 from offset 482 to address 0x340880 */
0x1a046021, 0x000001e4, /* write array of size 2 from offset 484 to address 0x3408c0 */
0x1a048021, 0x000001e6, /* write array of size 3 from offset 486 to address 0x340900 */
@@ -1467,7 +1498,7 @@ ARRAY_DECL u32 init_ops[] = {
0x1a069e01, 0x00000468, /* write 0x468 to address 0x340d3c */
0x1a06ae21, 0x0000020c, /* write array of size 3 from offset 524 to address 0x340d5c */
0x1a06be01, 0x00000110, /* write 0x110 to address 0x340d7c */
- 0x00200002, 0x00cc0000, /* if mode != 'bb&100g', skip 32 ops */
+ 0x00200002, 0x00dd0000, /* if mode != 'bb&100g', skip 32 ops */
0x1a044021, 0x00000210, /* write array of size 2 from offset 528 to address 0x340880 */
0x1a046021, 0x00000213, /* write array of size 2 from offset 531 to address 0x3408c0 */
0x1a048021, 0x00000216, /* write array of size 3 from offset 534 to address 0x340900 */
@@ -1500,7 +1531,7 @@ ARRAY_DECL u32 init_ops[] = {
0x1a069c21, 0x0000022d, /* write array of size 3 from offset 557 to address 0x340d38 */
0x1a06ac21, 0x00000231, /* write array of size 3 from offset 561 to address 0x340d58 */
0x1a06be01, 0x000012c1, /* write 0x12c1 to address 0x340d7c */
- 0x00400002, 0x00c40000, /* if mode != 'k2&(!ports_per_eng_4)', skip 64 ops */
+ 0x00400002, 0x00cb0000, /* if mode != 'k2&(!ports_per_eng_4)', skip 64 ops */
0x1a044021, 0x00000235, /* write array of size 4 from offset 565 to address 0x340880 */
0x1a046021, 0x0000023a, /* write array of size 4 from offset 570 to address 0x3408c0 */
0x1a048021, 0x0000023f, /* write array of size 3 from offset 575 to address 0x340900 */
@@ -1565,7 +1596,7 @@ ARRAY_DECL u32 init_ops[] = {
0x1a06ac21, 0x0000027d, /* write array of size 4 from offset 637 to address 0x340d58 */
0x1a06b821, 0x00000282, /* write array of size 4 from offset 642 to address 0x340d70 */
0x1a06c201, 0x00001e01, /* write 0x1e01 to address 0x340d84 */
- 0x000b0002, 0x00bc0000, /* if mode != 'bb&(!100g)', skip 11 ops */
+ 0x000b0002, 0x00c70000, /* if mode != 'bb&(!100g)', skip 11 ops */
0x1a04bc21, 0x00000287, /* write array of size 2 from offset 647 to address 0x340978 */
0x1a04ec21, 0x00000287, /* write array of size 2 from offset 647 to address 0x3409d8 */
0x1a04fc01, 0x00000018, /* write 0x18 to address 0x3409f8 */
@@ -1587,18 +1618,18 @@ ARRAY_DECL u32 init_ops[] = {
0x00010013, 0xffff0000, /* if phase != 'engine', skip 1 ops */
0x11c0f201, 0x00000000, /* write 0x0 to address 0x2381e4 */
0x00040013, 0xffff0002, /* if phase != 'pf', skip 4 ops */
- 0x11c28131, 0x1a090002, /* write runtime array of size 2 from offset 6665 to address 0x238500 (WB) */
- 0x11c29131, 0x1a0b0002, /* write runtime array of size 2 from offset 6667 to address 0x238520 (WB) */
- 0x11c2a031, 0x1a0d0001, /* write runtime array of size 1 from offset 6669 to address 0x238540 */
- 0x11c30231, 0x1a0e0001, /* write runtime array of size 1 from offset 6670 to address 0x238604 */
+ 0x11c28131, 0x1d690002, /* write runtime array of size 2 from offset 7529 to address 0x238500 (WB) */
+ 0x11c29131, 0x1d6b0002, /* write runtime array of size 2 from offset 7531 to address 0x238520 (WB) */
+ 0x11c2a031, 0x1d6d0001, /* write runtime array of size 1 from offset 7533 to address 0x238540 */
+ 0x11c30231, 0x1d6e0001, /* write runtime array of size 1 from offset 7534 to address 0x238604 */
/* PRS */
- 0x00270013, 0xffff0000, /* if phase != 'engine', skip 39 ops */
+ 0x00280013, 0xffff0000, /* if phase != 'engine', skip 40 ops */
0x0f800201, 0x00000001, /* write 0x1 to address 0x1f0004 */
0x0f800621, 0x00000035, /* write array of size 2 from offset 53 to address 0x1f000c */
0x0f802201, 0x00000000, /* write 0x0 to address 0x1f0044 */
0x0f802a01, 0x00000000, /* write 0x0 to address 0x1f0054 */
0x0f80b201, 0x00000001, /* write 0x1 to address 0x1f0164 */
- 0x0f83a631, 0x1a070001, /* write runtime array of size 1 from offset 6663 to address 0x1f074c */
+ 0x0f83a631, 0x1d670001, /* write runtime array of size 1 from offset 7527 to address 0x1f074c */
0x0f84a801, 0x00008915, /* write 0x8915 to address 0x1f0950 */
0x0f84ba21, 0x00000289, /* write array of size 2 from offset 649 to address 0x1f0974 */
0x0f84e421, 0x0000028b, /* write array of size 2 from offset 651 to address 0x1f09c8 */
@@ -1606,11 +1637,12 @@ ARRAY_DECL u32 init_ops[] = {
0x00020002, 0x00020000, /* if mode != 'bb', skip 2 ops */
0x0f810401, 0x00000000, /* write 0x0 to address 0x1f0208 */
0x0f810c01, 0x00000000, /* write 0x0 to address 0x1f0218 */
- 0x00020002, 0x00030000, /* if mode != 'k2', skip 2 ops */
+ 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0x0f810401, 0x00000000, /* write 0x0 to address 0x1f0208 */
- 0x0f810c01, 0x00000000, /* write 0x0 to address 0x1f0218 */
- 0x00010002, 0x002e0000, /* if mode != 'mf_sd', skip 1 ops */
+ 0x00010002, 0x00270000, /* if mode != 'mf_sd', skip 1 ops */
0x0f83b201, 0x00000001, /* write 0x1 to address 0x1f0764 */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
+ 0x0f810c01, 0x00000000, /* write 0x0 to address 0x1f0218 */
0x00120002, 0x00010000, /* if mode != 'bb|k2', skip 18 ops */
0x0f808021, 0x0000028e, /* write array of size 3 from offset 654 to address 0x1f0100 */
0x0f808821, 0x00000292, /* write array of size 5 from offset 658 to address 0x1f0110 */
@@ -1630,16 +1662,17 @@ ARRAY_DECL u32 init_ops[] = {
0x0f84da01, 0xfffff690, /* write 0xfffff690 to address 0x1f09b4 */
0x0f84e001, 0x0000304a, /* write 0x304a to address 0x1f09c0 */
0x0f88e201, 0x00000004, /* write 0x4 to address 0x1f11c4 */
- 0x0f80b231, 0x19f90001, /* write runtime array of size 1 from offset 6649 to address 0x1f0164 */
+ 0x0f80b231, 0x1d590001, /* write runtime array of size 1 from offset 7513 to address 0x1f0164 */
0x0f800410, 0x00000001, /* wait until address 0x1f0008 reads 0x1 */
- 0x000a0013, 0xffff0002, /* if phase != 'pf', skip 10 ops */
- 0x0f80b431, 0x19fa0004, /* write runtime array of size 4 from offset 6650 to address 0x1f0168 */
+ 0x000b0013, 0xffff0002, /* if phase != 'pf', skip 11 ops */
+ 0x0f80b431, 0x1d5a0004, /* write runtime array of size 4 from offset 7514 to address 0x1f0168 */
0x0f80c801, 0x00000001, /* write 0x1 to address 0x1f0190 */
- 0x0f820031, 0x19fe0001, /* write runtime array of size 1 from offset 6654 to address 0x1f0400 */
+ 0x0f820031, 0x1d5e0001, /* write runtime array of size 1 from offset 7518 to address 0x1f0400 */
0x0f820201, 0x00000000, /* write 0x0 to address 0x1f0404 */
- 0x0f820431, 0x19ff0002, /* write runtime array of size 2 from offset 6655 to address 0x1f0408 */
- 0x0f821631, 0x1a010006, /* write runtime array of size 6 from offset 6657 to address 0x1f042c */
- 0x0f84b431, 0x1a080001, /* write runtime array of size 1 from offset 6664 to address 0x1f0968 */
+ 0x0f820431, 0x1d5f0002, /* write runtime array of size 2 from offset 7519 to address 0x1f0408 */
+ 0x0f821631, 0x1d610006, /* write runtime array of size 6 from offset 7521 to address 0x1f042c */
+ 0x0f822201, 0x00000001, /* write 0x1 to address 0x1f0444 */
+ 0x0f84b431, 0x1d680001, /* write runtime array of size 1 from offset 7528 to address 0x1f0968 */
0x0f84b601, 0x00000000, /* write 0x0 to address 0x1f096c */
0x0f84fe01, 0x00000000, /* write 0x0 to address 0x1f09fc */
0x0f88de01, 0x00000000, /* write 0x0 to address 0x1f11bc */
@@ -1660,28 +1693,28 @@ ARRAY_DECL u32 init_ops[] = {
0x00010013, 0x00070002, /* if phase != 'pf7', skip 1 ops */
0x0f84a401, 0xff700000, /* write 0xff700000 to address 0x1f0948 */
0x00020013, 0x00080002, /* if phase != 'pf8', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x0f84a401, 0xff800000, /* write 0xff800000 to address 0x1f0948 */
0x00020013, 0x00090002, /* if phase != 'pf9', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x0f84a401, 0xff900000, /* write 0xff900000 to address 0x1f0948 */
0x00020013, 0x000a0002, /* if phase != 'pf10', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x0f84a401, 0xffa00000, /* write 0xffa00000 to address 0x1f0948 */
0x00020013, 0x000b0002, /* if phase != 'pf11', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x0f84a401, 0xffb00000, /* write 0xffb00000 to address 0x1f0948 */
0x00020013, 0x000c0002, /* if phase != 'pf12', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x0f84a401, 0xffc00000, /* write 0xffc00000 to address 0x1f0948 */
0x00020013, 0x000d0002, /* if phase != 'pf13', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x0f84a401, 0xffd00000, /* write 0xffd00000 to address 0x1f0948 */
0x00020013, 0x000e0002, /* if phase != 'pf14', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x0f84a401, 0xffe00000, /* write 0xffe00000 to address 0x1f0948 */
0x00020013, 0x000f0002, /* if phase != 'pf15', skip 2 ops */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x0f84a401, 0xfff00000, /* write 0xfff00000 to address 0x1f0948 */
0x00110013, 0xffff0001, /* if phase != 'port', skip 17 ops */
0x0f839801, 0x00000000, /* write 0x0 to address 0x1f0730 */
@@ -1691,89 +1724,83 @@ ARRAY_DECL u32 init_ops[] = {
0x0f83dc01, 0x00000000, /* write 0x0 to address 0x1f07b8 */
0x0f843601, 0x000017c1, /* write 0x17c1 to address 0x1f086c */
0x0f843a21, 0x000002c0, /* write array of size 2 from offset 704 to address 0x1f0874 */
- 0x00020002, 0x002e0000, /* if mode != 'mf_sd', skip 2 ops */
+ 0x00020002, 0x00270000, /* if mode != 'mf_sd', skip 2 ops */
0x0f83be21, 0x000002c3, /* write array of size 2 from offset 707 to address 0x1f077c */
0x0f83cc01, 0x00000001, /* write 0x1 to address 0x1f0798 */
- 0x00010002, 0x00d40000, /* if mode != 'mf_si', skip 1 ops */
+ 0x00010002, 0x00e50000, /* if mode != 'mf_si', skip 1 ops */
0x0f851001, 0x00000001, /* write 0x1 to address 0x1f0a20 */
- 0x00020002, 0x00d20000, /* if mode != 'sf|mf_si', skip 2 ops */
+ 0x00020002, 0x00e30000, /* if mode != 'sf|mf_si', skip 2 ops */
0x0f83be21, 0x000002c6, /* write array of size 2 from offset 710 to address 0x1f077c */
0x0f83cc01, 0x00000000, /* write 0x0 to address 0x1f0798 */
- 0x00010002, 0x00d80000, /* if mode != '!mf_si', skip 1 ops */
+ 0x00010002, 0x00e60000, /* if mode != '!mf_si', skip 1 ops */
0x0f851001, 0x00000003, /* write 0x3 to address 0x1f0a20 */
/* TSDM */
- 0x00070013, 0xffff0000, /* if phase != 'engine', skip 7 ops */
+ 0x00060013, 0xffff0000, /* if phase != 'engine', skip 6 ops */
0x7d802201, 0x00000000, /* write 0x0 to address 0xfb0044 */
- 0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
+ 0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
+ 0x7d810201, 0x00000000, /* write 0x0 to address 0xfb0204 */
0x7d820001, 0x00000018, /* write 0x18 to address 0xfb0400 */
0x7d840001, 0x0000030c, /* write 0x30c to address 0xfb0800 */
0x7d840c01, 0x00000305, /* write 0x305 to address 0xfb0818 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0x7d810201, 0x00000000, /* write 0x0 to address 0xfb0204 */
/* MSDM */
- 0x00060013, 0xffff0000, /* if phase != 'engine', skip 6 ops */
+ 0x00050013, 0xffff0000, /* if phase != 'engine', skip 5 ops */
0x7e002201, 0x00000000, /* write 0x0 to address 0xfc0044 */
- 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
+ 0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
+ 0x7e010201, 0x00000000, /* write 0x0 to address 0xfc0204 */
0x7e020001, 0x00000018, /* write 0x18 to address 0xfc0400 */
0x7e041021, 0x000002c9, /* write array of size 2 from offset 713 to address 0xfc0820 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0x7e010201, 0x00000000, /* write 0x0 to address 0xfc0204 */
/* USDM */
- 0x00070013, 0xffff0000, /* if phase != 'engine', skip 7 ops */
+ 0x00060013, 0xffff0000, /* if phase != 'engine', skip 6 ops */
0x7e802201, 0x00000000, /* write 0x0 to address 0xfd0044 */
- 0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
+ 0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
+ 0x7e810201, 0x00000000, /* write 0x0 to address 0xfd0204 */
0x7e820001, 0x00000018, /* write 0x18 to address 0xfd0400 */
0x7e840401, 0x00000305, /* write 0x305 to address 0xfd0808 */
0x7e840c21, 0x000002cc, /* write array of size 2 from offset 716 to address 0xfd0818 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0x7e810201, 0x00000000, /* write 0x0 to address 0xfd0204 */
/* XSDM */
0x00070013, 0xffff0000, /* if phase != 'engine', skip 7 ops */
0x7c002201, 0x00000000, /* write 0x0 to address 0xf80044 */
- 0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
+ 0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
+ 0x7c010201, 0x00000000, /* write 0x0 to address 0xf80204 */
0x7c020001, 0x00000018, /* write 0x18 to address 0xf80400 */
+ 0x7c020a01, 0x00000a8b, /* write 0xa8b to address 0xf80414 */
0x7c040021, 0x000002cf, /* write array of size 3 from offset 719 to address 0xf80800 */
0x7c041c01, 0x00000309, /* write 0x309 to address 0xf80838 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0x7c010201, 0x00000000, /* write 0x0 to address 0xf80204 */
/* YSDM */
- 0x00060013, 0xffff0000, /* if phase != 'engine', skip 6 ops */
+ 0x00050013, 0xffff0000, /* if phase != 'engine', skip 5 ops */
0x7c802201, 0x00000000, /* write 0x0 to address 0xf90044 */
- 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
+ 0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
+ 0x7c810201, 0x00000000, /* write 0x0 to address 0xf90204 */
0x7c820001, 0x00000018, /* write 0x18 to address 0xf90400 */
0x7c840821, 0x000002d3, /* write array of size 5 from offset 723 to address 0xf90810 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0x7c810201, 0x00000000, /* write 0x0 to address 0xf90204 */
/* PSDM */
- 0x00060013, 0xffff0000, /* if phase != 'engine', skip 6 ops */
+ 0x00050013, 0xffff0000, /* if phase != 'engine', skip 5 ops */
0x7d002201, 0x00000000, /* write 0x0 to address 0xfa0044 */
- 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
+ 0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
+ 0x7d010201, 0x00000000, /* write 0x0 to address 0xfa0204 */
0x7d020001, 0x00000018, /* write 0x18 to address 0xfa0400 */
0x7d040801, 0x00000305, /* write 0x305 to address 0xfa0810 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0x7d010201, 0x00000000, /* write 0x0 to address 0xfa0204 */
/* TSEM */
- 0x00560013, 0xffff0000, /* if phase != 'engine', skip 86 ops */
+ 0x00550013, 0xffff0000, /* if phase != 'engine', skip 85 ops */
0xb8002a01, 0x00000000, /* write 0x0 to address 0x1700054 */
- 0xb8006601, 0x00000000, /* write 0x0 to address 0x17000cc */
+ 0xb8010201, 0x00000000, /* write 0x0 to address 0x1700204 */
0xba002201, 0x00000000, /* write 0x0 to address 0x1740044 */
0xba032c01, 0x00000001, /* write 0x1 to address 0x1740658 */
0xba03a421, 0x000002d9, /* write array of size 3 from offset 729 to address 0x1740748 */
0xba052401, 0x00001fff, /* write 0x1fff to address 0x1740a48 */
0xba501e01, 0x00000007, /* write 0x7 to address 0x174a03c */
+ 0xba510201, 0x00000000, /* write 0x0 to address 0x174a204 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0xba010201, 0x00000000, /* write 0x0 to address 0x1740204 */
- 0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
+ 0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb8002201, 0x00000000, /* write 0x0 to address 0x1700044 */
+ 0xb8006601, 0x00000000, /* write 0x0 to address 0x17000cc */
0xb9000111, 0x000010e0, /* write 4320 zeros to address 0x1720000 (WB) */
0xba025001, 0x00000007, /* write 0x7 to address 0x17404a0 */
0xbb000011, 0x00005000, /* write 20480 zeros to address 0x1760000 */
- 0x00020002, 0x00240000, /* if mode != '!e5', skip 2 ops */
- 0xb8010201, 0x00000000, /* write 0x0 to address 0x1700204 */
- 0xba510201, 0x00000000, /* write 0x0 to address 0x174a204 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xba025c01, 0x00000000, /* write 0x0 to address 0x17404b8 */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xba025c01, 0x00000002, /* write 0x2 to address 0x17404b8 */
0x000b0002, 0x00010000, /* if mode != 'bb|k2', skip 11 ops */
0xbb050021, 0x000002dd, /* write array of size 6 from offset 733 to address 0x1760a00 */
@@ -1787,17 +1814,17 @@ ARRAY_DECL u32 init_ops[] = {
0xbb85c821, 0x00000736, /* write array of size 4 from offset 1846 to address 0x1770b90 */
0xbb9f1021, 0x0000073b, /* write array of size 26 from offset 1851 to address 0x1773e20 */
0xbb9ffc21, 0x00000756, /* write array of size 2 from offset 1878 to address 0x1773ff8 */
- 0x00010002, 0x00680000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00800000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
0xbb25c801, 0x00000002, /* write 0x2 to address 0x1764b90 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xbb25ca01, 0x00000000, /* write 0x0 to address 0x1764b94 */
- 0x00010002, 0x006d0000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00990000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
0xbb25ca01, 0x00000001, /* write 0x1 to address 0x1764b94 */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xbb25ca01, 0x00000002, /* write 0x2 to address 0x1764b94 */
- 0x00010002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
0xbb25c601, 0x00000003, /* write 0x3 to address 0x1764b8c */
- 0x00010002, 0x00860000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00850000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
0xbb25c601, 0x00000002, /* write 0x2 to address 0x1764b8c */
0x00010002, 0x00120000, /* if mode != '(bb|k2)&(asic|chipsim|emul_full)', skip 1 ops */
0xbb25c801, 0x00000003, /* write 0x3 to address 0x1764b90 */
@@ -1808,134 +1835,134 @@ ARRAY_DECL u32 init_ops[] = {
0xba500601, 0xc000ffff, /* write 0xc000ffff to address 0x174a00c */
0xba502001, 0x00000001, /* write 0x1 to address 0x174a040 */
0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
- 0xb8022401, 0x000020f7, /* write 0x20f7 to address 0x1700448 */
+ 0xb8022401, 0x00002259, /* write 0x2259 to address 0x1700448 */
0xb8028121, 0x0000075c, /* write array of size 14 from offset 1884 to address 0x1700500 (WB) */
0xb8800021, 0x0000076b, /* write array of size 256 from offset 1899 to address 0x1710000 */
- 0x00020002, 0x005c0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
- 0xbc000121, 0x0000076d, /* write array of size 65584 from offset 1901 to address 0x1780000 (WB) */
- 0xbe006121, 0x0001079e, /* write array of size 8144 from offset 67486 to address 0x17c00c0 (WB) */
+ 0x00020002, 0x006a0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
+ 0xbc000121, 0x0000076d, /* write array of size 67232 from offset 1901 to address 0x1780000 (WB) */
+ 0xbe0d4121, 0x00010e0e, /* write array of size 6496 from offset 69134 to address 0x17c1a80 (WB) */
0x00180002, 0x00010000, /* if mode != 'bb|k2', skip 24 ops */
- 0xb8800021, 0x000107a1, /* write array of size 13 from offset 67489 to address 0x1710000 */
- 0xb8802221, 0x000107af, /* write array of size 9 from offset 67503 to address 0x1710044 */
- 0xb8804221, 0x000107b9, /* write array of size 2 from offset 67513 to address 0x1710084 */
- 0xb8804a21, 0x000107bc, /* write array of size 2 from offset 67516 to address 0x1710094 */
- 0xb8805001, 0x0012868d, /* write 0x12868d to address 0x17100a0 */
- 0xb8807a01, 0x0004844a, /* write 0x4844a to address 0x17100f4 */
- 0xb8808201, 0x00060041, /* write 0x60041 to address 0x1710104 */
- 0xb8808821, 0x000107bf, /* write array of size 2 from offset 67519 to address 0x1710110 */
- 0xb8809021, 0x000107c2, /* write array of size 2 from offset 67522 to address 0x1710120 */
- 0xb8809a01, 0x0006001c, /* write 0x6001c to address 0x1710134 */
- 0xb880a201, 0x00060616, /* write 0x60616 to address 0x1710144 */
- 0xb880aa01, 0x000607a3, /* write 0x607a3 to address 0x1710154 */
- 0xb880ba01, 0x00060072, /* write 0x60072 to address 0x1710174 */
- 0xb880c201, 0x00080ed2, /* write 0x80ed2 to address 0x1710184 */
- 0xb880c821, 0x000107c5, /* write array of size 2 from offset 67525 to address 0x1710190 */
- 0xb880d001, 0x001e0c33, /* write 0x1e0c33 to address 0x17101a0 */
- 0xb8810221, 0x000107c8, /* write array of size 2 from offset 67528 to address 0x1710204 */
- 0xb8811221, 0x000107cb, /* write array of size 2 from offset 67531 to address 0x1710224 */
- 0xb8814201, 0x0012802a, /* write 0x12802a to address 0x1710284 */
- 0xb8818221, 0x000107ce, /* write array of size 6 from offset 67534 to address 0x1710304 */
- 0xb8819221, 0x000107d5, /* write array of size 2 from offset 67541 to address 0x1710324 */
- 0xb8819a21, 0x000107d8, /* write array of size 2 from offset 67544 to address 0x1710334 */
- 0xb881a201, 0x000c6788, /* write 0xc6788 to address 0x1710344 */
- 0xb881aa01, 0x000c7a2a, /* write 0xc7a2a to address 0x1710354 */
+ 0xb8800021, 0x00010e11, /* write array of size 13 from offset 69137 to address 0x1710000 */
+ 0xb8802221, 0x00010e1f, /* write array of size 9 from offset 69151 to address 0x1710044 */
+ 0xb8804221, 0x00010e29, /* write array of size 2 from offset 69161 to address 0x1710084 */
+ 0xb8804a21, 0x00010e2c, /* write array of size 2 from offset 69164 to address 0x1710094 */
+ 0xb8805001, 0x001289c5, /* write 0x1289c5 to address 0x17100a0 */
+ 0xb8807a01, 0x00048782, /* write 0x48782 to address 0x17100f4 */
+ 0xb8808201, 0x000600fe, /* write 0x600fe to address 0x1710104 */
+ 0xb8808821, 0x00010e2f, /* write array of size 2 from offset 69167 to address 0x1710110 */
+ 0xb8809021, 0x00010e32, /* write array of size 2 from offset 69170 to address 0x1710120 */
+ 0xb8809a01, 0x000600d9, /* write 0x600d9 to address 0x1710134 */
+ 0xb880a201, 0x000607b6, /* write 0x607b6 to address 0x1710144 */
+ 0xb880aa01, 0x00060002, /* write 0x60002 to address 0x1710154 */
+ 0xb880ba01, 0x0006012f, /* write 0x6012f to address 0x1710174 */
+ 0xb880c201, 0x0008103c, /* write 0x8103c to address 0x1710184 */
+ 0xb880c821, 0x00010e35, /* write array of size 2 from offset 69173 to address 0x1710190 */
+ 0xb880d001, 0x001e0d9b, /* write 0x1e0d9b to address 0x17101a0 */
+ 0xb8810221, 0x00010e38, /* write array of size 2 from offset 69176 to address 0x1710204 */
+ 0xb8811221, 0x00010e3b, /* write array of size 2 from offset 69179 to address 0x1710224 */
+ 0xb8814201, 0x00128362, /* write 0x128362 to address 0x1710284 */
+ 0xb8818221, 0x00010e3e, /* write array of size 6 from offset 69182 to address 0x1710304 */
+ 0xb8819221, 0x00010e45, /* write array of size 2 from offset 69189 to address 0x1710324 */
+ 0xb8819a21, 0x00010e48, /* write array of size 2 from offset 69192 to address 0x1710334 */
+ 0xb881a201, 0x000c708b, /* write 0xc708b to address 0x1710344 */
+ 0xb881aa01, 0x000c7229, /* write 0xc7229 to address 0x1710354 */
0xba502411, 0x00000002, /* write 2 zeros to address 0x174a048 */
0x00050013, 0x00000002, /* if phase != 'pf0', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb224411, 0x00000002, /* write 2 zeros to address 0x1764488 */
0xbb228411, 0x00000002, /* write 2 zeros to address 0x1764508 */
0xbb2e9001, 0x00000000, /* write 0x0 to address 0x1765d20 */
- 0xbb788821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f110 */
+ 0xbb788821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f110 */
0x00050013, 0x00010002, /* if phase != 'pf1', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb224811, 0x00000002, /* write 2 zeros to address 0x1764490 */
0xbb228811, 0x00000002, /* write 2 zeros to address 0x1764510 */
0xbb2e9201, 0x00000000, /* write 0x0 to address 0x1765d24 */
- 0xbb788c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f118 */
+ 0xbb788c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f118 */
0x00050013, 0x00020002, /* if phase != 'pf2', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb224c11, 0x00000002, /* write 2 zeros to address 0x1764498 */
0xbb228c11, 0x00000002, /* write 2 zeros to address 0x1764518 */
0xbb2e9401, 0x00000000, /* write 0x0 to address 0x1765d28 */
- 0xbb789021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f120 */
+ 0xbb789021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f120 */
0x00050013, 0x00030002, /* if phase != 'pf3', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb225011, 0x00000002, /* write 2 zeros to address 0x17644a0 */
0xbb229011, 0x00000002, /* write 2 zeros to address 0x1764520 */
0xbb2e9601, 0x00000000, /* write 0x0 to address 0x1765d2c */
- 0xbb789421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f128 */
+ 0xbb789421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f128 */
0x00050013, 0x00040002, /* if phase != 'pf4', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb225411, 0x00000002, /* write 2 zeros to address 0x17644a8 */
0xbb229411, 0x00000002, /* write 2 zeros to address 0x1764528 */
0xbb2e9801, 0x00000000, /* write 0x0 to address 0x1765d30 */
- 0xbb789821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f130 */
+ 0xbb789821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f130 */
0x00050013, 0x00050002, /* if phase != 'pf5', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb225811, 0x00000002, /* write 2 zeros to address 0x17644b0 */
0xbb229811, 0x00000002, /* write 2 zeros to address 0x1764530 */
0xbb2e9a01, 0x00000000, /* write 0x0 to address 0x1765d34 */
- 0xbb789c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f138 */
+ 0xbb789c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f138 */
0x00050013, 0x00060002, /* if phase != 'pf6', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb225c11, 0x00000002, /* write 2 zeros to address 0x17644b8 */
0xbb229c11, 0x00000002, /* write 2 zeros to address 0x1764538 */
0xbb2e9c01, 0x00000000, /* write 0x0 to address 0x1765d38 */
- 0xbb78a021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f140 */
+ 0xbb78a021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f140 */
0x00050013, 0x00070002, /* if phase != 'pf7', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb226011, 0x00000002, /* write 2 zeros to address 0x17644c0 */
0xbb22a011, 0x00000002, /* write 2 zeros to address 0x1764540 */
0xbb2e9e01, 0x00000000, /* write 0x0 to address 0x1765d3c */
- 0xbb78a421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f148 */
+ 0xbb78a421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f148 */
0x00050013, 0x00080002, /* if phase != 'pf8', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb226411, 0x00000002, /* write 2 zeros to address 0x17644c8 */
0xbb22a411, 0x00000002, /* write 2 zeros to address 0x1764548 */
0xbb2ea001, 0x00000000, /* write 0x0 to address 0x1765d40 */
- 0xbb78a821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f150 */
+ 0xbb78a821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f150 */
0x00050013, 0x00090002, /* if phase != 'pf9', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb226811, 0x00000002, /* write 2 zeros to address 0x17644d0 */
0xbb22a811, 0x00000002, /* write 2 zeros to address 0x1764550 */
0xbb2ea201, 0x00000000, /* write 0x0 to address 0x1765d44 */
- 0xbb78ac21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f158 */
+ 0xbb78ac21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f158 */
0x00050013, 0x000a0002, /* if phase != 'pf10', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb226c11, 0x00000002, /* write 2 zeros to address 0x17644d8 */
0xbb22ac11, 0x00000002, /* write 2 zeros to address 0x1764558 */
0xbb2ea401, 0x00000000, /* write 0x0 to address 0x1765d48 */
- 0xbb78b021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f160 */
+ 0xbb78b021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f160 */
0x00050013, 0x000b0002, /* if phase != 'pf11', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb227011, 0x00000002, /* write 2 zeros to address 0x17644e0 */
0xbb22b011, 0x00000002, /* write 2 zeros to address 0x1764560 */
0xbb2ea601, 0x00000000, /* write 0x0 to address 0x1765d4c */
- 0xbb78b421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f168 */
+ 0xbb78b421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f168 */
0x00050013, 0x000c0002, /* if phase != 'pf12', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb227411, 0x00000002, /* write 2 zeros to address 0x17644e8 */
0xbb22b411, 0x00000002, /* write 2 zeros to address 0x1764568 */
0xbb2ea801, 0x00000000, /* write 0x0 to address 0x1765d50 */
- 0xbb78b821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f170 */
+ 0xbb78b821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f170 */
0x00050013, 0x000d0002, /* if phase != 'pf13', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb227811, 0x00000002, /* write 2 zeros to address 0x17644f0 */
0xbb22b811, 0x00000002, /* write 2 zeros to address 0x1764570 */
0xbb2eaa01, 0x00000000, /* write 0x0 to address 0x1765d54 */
- 0xbb78bc21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f178 */
+ 0xbb78bc21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f178 */
0x00050013, 0x000e0002, /* if phase != 'pf14', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb227c11, 0x00000002, /* write 2 zeros to address 0x17644f8 */
0xbb22bc11, 0x00000002, /* write 2 zeros to address 0x1764578 */
0xbb2eac01, 0x00000000, /* write 0x0 to address 0x1765d58 */
- 0xbb78c021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f180 */
+ 0xbb78c021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f180 */
0x00050013, 0x000f0002, /* if phase != 'pf15', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xbb228011, 0x00000002, /* write 2 zeros to address 0x1764500 */
0xbb22c011, 0x00000002, /* write 2 zeros to address 0x1764580 */
0xbb2eae01, 0x00000000, /* write 0x0 to address 0x1765d5c */
- 0xbb78c421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x176f188 */
+ 0xbb78c421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x176f188 */
0x00010013, 0xffff0002, /* if phase != 'pf', skip 1 ops */
0xb8020601, 0x00000001, /* write 0x1 to address 0x170040c */
0x00060013, 0x00000001, /* if phase != 'port0', skip 6 ops */
@@ -1944,34 +1971,33 @@ ARRAY_DECL u32 init_ops[] = {
0xbb265811, 0x00000020, /* write 32 zeros to address 0x1764cb0 */
0xbb5a4411, 0x00000002, /* write 2 zeros to address 0x176b488 */
0xbb5a5411, 0x00000002, /* write 2 zeros to address 0x176b4a8 */
- 0xbb5a6411, 0x00000002, /* write 2 zeros to address 0x176b4c8 */
+ 0xbb5a6421, 0x00010e4e, /* write array of size 2 from offset 69198 to address 0x176b4c8 */
0x00060013, 0x00010001, /* if phase != 'port1', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xbb25d011, 0x00000002, /* write 2 zeros to address 0x1764ba0 */
0xbb269811, 0x00000020, /* write 32 zeros to address 0x1764d30 */
0xbb5a4811, 0x00000002, /* write 2 zeros to address 0x176b490 */
0xbb5a5811, 0x00000002, /* write 2 zeros to address 0x176b4b0 */
- 0xbb5a6811, 0x00000002, /* write 2 zeros to address 0x176b4d0 */
+ 0xbb5a6821, 0x00010e4e, /* write array of size 2 from offset 69198 to address 0x176b4d0 */
0x00060013, 0x00020001, /* if phase != 'port2', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xbb25d411, 0x00000002, /* write 2 zeros to address 0x1764ba8 */
0xbb26d811, 0x00000020, /* write 32 zeros to address 0x1764db0 */
0xbb5a4c11, 0x00000002, /* write 2 zeros to address 0x176b498 */
0xbb5a5c11, 0x00000002, /* write 2 zeros to address 0x176b4b8 */
- 0xbb5a6c11, 0x00000002, /* write 2 zeros to address 0x176b4d8 */
+ 0xbb5a6c21, 0x00010e4e, /* write array of size 2 from offset 69198 to address 0x176b4d8 */
0x00060013, 0x00030001, /* if phase != 'port3', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xbb25d811, 0x00000002, /* write 2 zeros to address 0x1764bb0 */
0xbb271811, 0x00000020, /* write 32 zeros to address 0x1764e30 */
0xbb5a5011, 0x00000002, /* write 2 zeros to address 0x176b4a0 */
0xbb5a6011, 0x00000002, /* write 2 zeros to address 0x176b4c0 */
- 0xbb5a7011, 0x00000002, /* write 2 zeros to address 0x176b4e0 */
+ 0xbb5a7021, 0x00010e4e, /* write array of size 2 from offset 69198 to address 0x176b4e0 */
0x00010013, 0xffff0003, /* if phase != 'vf', skip 1 ops */
0xb8020401, 0x00000001, /* write 0x1 to address 0x1700408 */
/* MSEM */
- 0x004a0013, 0xffff0000, /* if phase != 'engine', skip 74 ops */
+ 0x00490013, 0xffff0000, /* if phase != 'engine', skip 73 ops */
0xc0002a01, 0x00000000, /* write 0x0 to address 0x1800054 */
- 0xc0006601, 0x00000000, /* write 0x0 to address 0x18000cc */
0xc2002201, 0x00000000, /* write 0x0 to address 0x1840044 */
0xc2032c01, 0x00000001, /* write 0x1 to address 0x1840658 */
0xc203a421, 0x000002d9, /* write array of size 3 from offset 729 to address 0x1840748 */
@@ -1980,182 +2006,182 @@ ARRAY_DECL u32 init_ops[] = {
0xc0036001, 0x00000000, /* write 0x0 to address 0x18006c0 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0xc2010201, 0x00000000, /* write 0x0 to address 0x1840204 */
- 0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
+ 0x00060002, 0x00010000, /* if mode != 'bb|k2', skip 6 ops */
0xc0002201, 0x00000000, /* write 0x0 to address 0x1800044 */
+ 0xc0006601, 0x00000000, /* write 0x0 to address 0x18000cc */
+ 0xc0010201, 0x00000000, /* write 0x0 to address 0x1800204 */
0xc1000111, 0x000010e0, /* write 4320 zeros to address 0x1820000 (WB) */
0xc2025001, 0x00000007, /* write 0x7 to address 0x18404a0 */
0xc3000011, 0x00005000, /* write 20480 zeros to address 0x1860000 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0xc0010201, 0x00000000, /* write 0x0 to address 0x1800204 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xc2025c01, 0x00000000, /* write 0x0 to address 0x18404b8 */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xc2025c01, 0x00000002, /* write 0x2 to address 0x18404b8 */
0x000a0002, 0x00010000, /* if mode != 'bb|k2', skip 10 ops */
- 0xc3000021, 0x000107de, /* write array of size 6 from offset 67550 to address 0x1860000 */
- 0xc324c821, 0x000107e5, /* write array of size 7 from offset 67557 to address 0x1864990 */
+ 0xc3000021, 0x00010e51, /* write array of size 6 from offset 69201 to address 0x1860000 */
+ 0xc324c821, 0x00010e58, /* write array of size 7 from offset 69208 to address 0x1864990 */
0xc324d611, 0x00000017, /* write 23 zeros to address 0x18649ac */
- 0xc363dc21, 0x000107ed, /* write array of size 5 from offset 67565 to address 0x186c7b8 */
+ 0xc363dc21, 0x00010e60, /* write array of size 5 from offset 69216 to address 0x186c7b8 */
0xc363e611, 0x00000009, /* write 9 zeros to address 0x186c7cc */
0xc3956021, 0x000006e6, /* write array of size 1 from offset 1766 to address 0x1872ac0 */
0xc3956211, 0x00000019, /* write 25 zeros to address 0x1872ac4 */
- 0xc3985421, 0x000107f3, /* write array of size 640 from offset 67571 to address 0x18730a8 */
- 0xc39d6021, 0x00010a74, /* write array of size 320 from offset 68212 to address 0x1873ac0 */
- 0xc39ffc21, 0x00010a76, /* write array of size 2 from offset 68214 to address 0x1873ff8 */
- 0x00010002, 0x00680000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
+ 0xc3985421, 0x00010e66, /* write array of size 640 from offset 69222 to address 0x18730a8 */
+ 0xc39d6021, 0x000110e7, /* write array of size 320 from offset 69863 to address 0x1873ac0 */
+ 0xc39ffc21, 0x000110e9, /* write array of size 2 from offset 69865 to address 0x1873ff8 */
+ 0x00010002, 0x00800000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
0xc3247401, 0x00000002, /* write 0x2 to address 0x18648e8 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xc3247601, 0x00000000, /* write 0x0 to address 0x18648ec */
- 0x00010002, 0x006d0000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00990000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
0xc3247601, 0x00000001, /* write 0x1 to address 0x18648ec */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xc3247601, 0x00000002, /* write 0x2 to address 0x18648ec */
- 0x00010002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
0xc3247201, 0x00000003, /* write 0x3 to address 0x18648e4 */
- 0x00010002, 0x00860000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00850000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
0xc3247201, 0x00000002, /* write 0x2 to address 0x18648e4 */
0x00010002, 0x00120000, /* if mode != '(bb|k2)&(asic|chipsim|emul_full)', skip 1 ops */
0xc3247401, 0x00000003, /* write 0x3 to address 0x18648e8 */
0xc2032e10, 0x00000000, /* wait until address 0x184065c reads 0x0 */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
- 0xc0022401, 0x000010e4, /* write 0x10e4 to address 0x1800448 */
- 0xc0028121, 0x00010a79, /* write array of size 10 from offset 68217 to address 0x1800500 (WB) */
- 0xc0029921, 0x00010a84, /* write array of size 2 from offset 68228 to address 0x1800530 (WB) */
- 0xc0800021, 0x00010a87, /* write array of size 256 from offset 68231 to address 0x1810000 */
- 0x00020002, 0x005c0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
- 0xc4000121, 0x00010a89, /* write array of size 38948 from offset 68233 to address 0x1880000 (WB) */
- 0xc5304921, 0x0001a2ae, /* write array of size 10204 from offset 107182 to address 0x18a6090 (WB) */
+ 0xc0022401, 0x00001156, /* write 0x1156 to address 0x1800448 */
+ 0xc0028121, 0x000110ec, /* write array of size 10 from offset 69868 to address 0x1800500 (WB) */
+ 0xc0029921, 0x000110f7, /* write array of size 2 from offset 69879 to address 0x1800530 (WB) */
+ 0xc0800021, 0x000110fa, /* write array of size 256 from offset 69882 to address 0x1810000 */
+ 0x00020002, 0x006a0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
+ 0xc4000121, 0x000110fc, /* write array of size 40088 from offset 69884 to address 0x1880000 (WB) */
+ 0xc5393121, 0x0001ad95, /* write array of size 9064 from offset 109973 to address 0x18a7260 (WB) */
0x00120002, 0x00010000, /* if mode != 'bb|k2', skip 18 ops */
- 0xc0800021, 0x0001a2b1, /* write array of size 9 from offset 107185 to address 0x1810000 */
- 0xc0801421, 0x0001a2bb, /* write array of size 2 from offset 107195 to address 0x1810028 */
- 0xc0802221, 0x0001a2be, /* write array of size 5 from offset 107198 to address 0x1810044 */
- 0xc0804201, 0x00024f63, /* write 0x24f63 to address 0x1810084 */
- 0xc0804a21, 0x0001a2c4, /* write array of size 2 from offset 107204 to address 0x1810094 */
- 0xc0805021, 0x0001a2c7, /* write array of size 2 from offset 107207 to address 0x18100a0 */
- 0xc0808201, 0x001e01f9, /* write 0x1e01f9 to address 0x1810104 */
- 0xc0808801, 0x001e0366, /* write 0x1e0366 to address 0x1810110 */
- 0xc0808e21, 0x0001a2ca, /* write array of size 6 from offset 107210 to address 0x181011c */
- 0xc080c421, 0x0001a2d1, /* write array of size 11 from offset 107217 to address 0x1810188 */
- 0xc0810221, 0x0001a2dd, /* write array of size 2 from offset 107229 to address 0x1810204 */
- 0xc0810a21, 0x0001a2e0, /* write array of size 2 from offset 107232 to address 0x1810214 */
- 0xc0811221, 0x0001a2e3, /* write array of size 2 from offset 107235 to address 0x1810224 */
- 0xc0814201, 0x001e4d84, /* write 0x1e4d84 to address 0x1810284 */
- 0xc0814a21, 0x0001a2e6, /* write array of size 2 from offset 107238 to address 0x1810294 */
- 0xc0818421, 0x0001a2e9, /* write array of size 7 from offset 107241 to address 0x1810308 */
- 0xc0819421, 0x0001a2f1, /* write array of size 5 from offset 107249 to address 0x1810328 */
- 0xc081a021, 0x0001a2f7, /* write array of size 2 from offset 107255 to address 0x1810340 */
+ 0xc0800021, 0x0001ad98, /* write array of size 9 from offset 109976 to address 0x1810000 */
+ 0xc0801421, 0x0001ada2, /* write array of size 2 from offset 109986 to address 0x1810028 */
+ 0xc0802221, 0x0001ada5, /* write array of size 5 from offset 109989 to address 0x1810044 */
+ 0xc0804201, 0x000251a0, /* write 0x251a0 to address 0x1810084 */
+ 0xc0804a21, 0x0001adab, /* write array of size 2 from offset 109995 to address 0x1810094 */
+ 0xc0805021, 0x0001adae, /* write array of size 2 from offset 109998 to address 0x18100a0 */
+ 0xc0808201, 0x001e013d, /* write 0x1e013d to address 0x1810104 */
+ 0xc0808801, 0x001e02b1, /* write 0x1e02b1 to address 0x1810110 */
+ 0xc0808e21, 0x0001adb1, /* write array of size 7 from offset 110001 to address 0x181011c */
+ 0xc080c421, 0x0001adb9, /* write array of size 11 from offset 110009 to address 0x1810188 */
+ 0xc0810221, 0x0001adc5, /* write array of size 2 from offset 110021 to address 0x1810204 */
+ 0xc0810a21, 0x0001adc8, /* write array of size 2 from offset 110024 to address 0x1810214 */
+ 0xc0811221, 0x0001adcb, /* write array of size 2 from offset 110027 to address 0x1810224 */
+ 0xc0814201, 0x001e4fc0, /* write 0x1e4fc0 to address 0x1810284 */
+ 0xc0814a21, 0x0001adce, /* write array of size 2 from offset 110030 to address 0x1810294 */
+ 0xc0818421, 0x0001add1, /* write array of size 7 from offset 110033 to address 0x1810308 */
+ 0xc0819421, 0x0001add9, /* write array of size 5 from offset 110041 to address 0x1810328 */
+ 0xc081a021, 0x0001addf, /* write array of size 2 from offset 110047 to address 0x1810340 */
0x00060013, 0x00000002, /* if phase != 'pf0', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc320f011, 0x00000002, /* write 2 zeros to address 0x18641e0 */
0xc3213011, 0x00000002, /* write 2 zeros to address 0x1864260 */
0xc359b001, 0x00000000, /* write 0x0 to address 0x186b360 */
- 0xc38ab821, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x1871570 */
- 0xc3981421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873028 */
+ 0xc38ab821, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x1871570 */
+ 0xc3981421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873028 */
0x00060013, 0x00010002, /* if phase != 'pf1', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc320f411, 0x00000002, /* write 2 zeros to address 0x18641e8 */
0xc3213411, 0x00000002, /* write 2 zeros to address 0x1864268 */
0xc359b201, 0x00000000, /* write 0x0 to address 0x186b364 */
- 0xc38ac021, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x1871580 */
- 0xc3981821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873030 */
+ 0xc38ac021, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x1871580 */
+ 0xc3981821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873030 */
0x00060013, 0x00020002, /* if phase != 'pf2', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc320f811, 0x00000002, /* write 2 zeros to address 0x18641f0 */
0xc3213811, 0x00000002, /* write 2 zeros to address 0x1864270 */
0xc359b401, 0x00000000, /* write 0x0 to address 0x186b368 */
- 0xc38ac821, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x1871590 */
- 0xc3981c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873038 */
+ 0xc38ac821, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x1871590 */
+ 0xc3981c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873038 */
0x00060013, 0x00030002, /* if phase != 'pf3', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc320fc11, 0x00000002, /* write 2 zeros to address 0x18641f8 */
0xc3213c11, 0x00000002, /* write 2 zeros to address 0x1864278 */
0xc359b601, 0x00000000, /* write 0x0 to address 0x186b36c */
- 0xc38ad021, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x18715a0 */
- 0xc3982021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873040 */
+ 0xc38ad021, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x18715a0 */
+ 0xc3982021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873040 */
0x00060013, 0x00040002, /* if phase != 'pf4', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3210011, 0x00000002, /* write 2 zeros to address 0x1864200 */
0xc3214011, 0x00000002, /* write 2 zeros to address 0x1864280 */
0xc359b801, 0x00000000, /* write 0x0 to address 0x186b370 */
- 0xc38ad821, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x18715b0 */
- 0xc3982421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873048 */
+ 0xc38ad821, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x18715b0 */
+ 0xc3982421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873048 */
0x00060013, 0x00050002, /* if phase != 'pf5', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3210411, 0x00000002, /* write 2 zeros to address 0x1864208 */
0xc3214411, 0x00000002, /* write 2 zeros to address 0x1864288 */
0xc359ba01, 0x00000000, /* write 0x0 to address 0x186b374 */
- 0xc38ae021, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x18715c0 */
- 0xc3982821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873050 */
+ 0xc38ae021, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x18715c0 */
+ 0xc3982821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873050 */
0x00060013, 0x00060002, /* if phase != 'pf6', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3210811, 0x00000002, /* write 2 zeros to address 0x1864210 */
0xc3214811, 0x00000002, /* write 2 zeros to address 0x1864290 */
0xc359bc01, 0x00000000, /* write 0x0 to address 0x186b378 */
- 0xc38ae821, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x18715d0 */
- 0xc3982c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873058 */
+ 0xc38ae821, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x18715d0 */
+ 0xc3982c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873058 */
0x00060013, 0x00070002, /* if phase != 'pf7', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3210c11, 0x00000002, /* write 2 zeros to address 0x1864218 */
0xc3214c11, 0x00000002, /* write 2 zeros to address 0x1864298 */
0xc359be01, 0x00000000, /* write 0x0 to address 0x186b37c */
- 0xc38af021, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x18715e0 */
- 0xc3983021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873060 */
+ 0xc38af021, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x18715e0 */
+ 0xc3983021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873060 */
0x00060013, 0x00080002, /* if phase != 'pf8', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3211011, 0x00000002, /* write 2 zeros to address 0x1864220 */
0xc3215011, 0x00000002, /* write 2 zeros to address 0x18642a0 */
0xc359c001, 0x00000000, /* write 0x0 to address 0x186b380 */
- 0xc38af821, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x18715f0 */
- 0xc3983421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873068 */
+ 0xc38af821, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x18715f0 */
+ 0xc3983421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873068 */
0x00060013, 0x00090002, /* if phase != 'pf9', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3211411, 0x00000002, /* write 2 zeros to address 0x1864228 */
0xc3215411, 0x00000002, /* write 2 zeros to address 0x18642a8 */
0xc359c201, 0x00000000, /* write 0x0 to address 0x186b384 */
- 0xc38b0021, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x1871600 */
- 0xc3983821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873070 */
+ 0xc38b0021, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x1871600 */
+ 0xc3983821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873070 */
0x00060013, 0x000a0002, /* if phase != 'pf10', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3211811, 0x00000002, /* write 2 zeros to address 0x1864230 */
0xc3215811, 0x00000002, /* write 2 zeros to address 0x18642b0 */
0xc359c401, 0x00000000, /* write 0x0 to address 0x186b388 */
- 0xc38b0821, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x1871610 */
- 0xc3983c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873078 */
+ 0xc38b0821, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x1871610 */
+ 0xc3983c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873078 */
0x00060013, 0x000b0002, /* if phase != 'pf11', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3211c11, 0x00000002, /* write 2 zeros to address 0x1864238 */
0xc3215c11, 0x00000002, /* write 2 zeros to address 0x18642b8 */
0xc359c601, 0x00000000, /* write 0x0 to address 0x186b38c */
- 0xc38b1021, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x1871620 */
- 0xc3984021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873080 */
+ 0xc38b1021, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x1871620 */
+ 0xc3984021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873080 */
0x00060013, 0x000c0002, /* if phase != 'pf12', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3212011, 0x00000002, /* write 2 zeros to address 0x1864240 */
0xc3216011, 0x00000002, /* write 2 zeros to address 0x18642c0 */
0xc359c801, 0x00000000, /* write 0x0 to address 0x186b390 */
- 0xc38b1821, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x1871630 */
- 0xc3984421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873088 */
+ 0xc38b1821, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x1871630 */
+ 0xc3984421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873088 */
0x00060013, 0x000d0002, /* if phase != 'pf13', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3212411, 0x00000002, /* write 2 zeros to address 0x1864248 */
0xc3216411, 0x00000002, /* write 2 zeros to address 0x18642c8 */
0xc359ca01, 0x00000000, /* write 0x0 to address 0x186b394 */
- 0xc38b2021, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x1871640 */
- 0xc3984821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873090 */
+ 0xc38b2021, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x1871640 */
+ 0xc3984821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873090 */
0x00060013, 0x000e0002, /* if phase != 'pf14', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3212811, 0x00000002, /* write 2 zeros to address 0x1864250 */
0xc3216811, 0x00000002, /* write 2 zeros to address 0x18642d0 */
0xc359cc01, 0x00000000, /* write 0x0 to address 0x186b398 */
- 0xc38b2821, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x1871650 */
- 0xc3984c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1873098 */
+ 0xc38b2821, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x1871650 */
+ 0xc3984c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1873098 */
0x00060013, 0x000f0002, /* if phase != 'pf15', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc3212c11, 0x00000002, /* write 2 zeros to address 0x1864258 */
0xc3216c11, 0x00000002, /* write 2 zeros to address 0x18642d8 */
0xc359ce01, 0x00000000, /* write 0x0 to address 0x186b39c */
- 0xc38b3021, 0x0001a2fa, /* write array of size 4 from offset 107258 to address 0x1871660 */
- 0xc3985021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x18730a0 */
+ 0xc38b3021, 0x0001ade2, /* write array of size 4 from offset 110050 to address 0x1871660 */
+ 0xc3985021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x18730a0 */
0x00010013, 0xffff0002, /* if phase != 'pf', skip 1 ops */
0xc0020601, 0x00000001, /* write 0x1 to address 0x180040c */
0x00020013, 0x00000001, /* if phase != 'port0', skip 2 ops */
@@ -2173,395 +2199,397 @@ ARRAY_DECL u32 init_ops[] = {
0x00010013, 0xffff0003, /* if phase != 'vf', skip 1 ops */
0xc0020401, 0x00000001, /* write 0x1 to address 0x1800408 */
/* USEM */
- 0x00410013, 0xffff0000, /* if phase != 'engine', skip 65 ops */
+ 0x00400013, 0xffff0000, /* if phase != 'engine', skip 64 ops */
0xc8002a01, 0x00000000, /* write 0x0 to address 0x1900054 */
- 0xc8006601, 0x00000000, /* write 0x0 to address 0x19000cc */
+ 0xc8010201, 0x00000000, /* write 0x0 to address 0x1900204 */
0xca002201, 0x00000000, /* write 0x0 to address 0x1940044 */
0xca032c01, 0x00000001, /* write 0x1 to address 0x1940658 */
0xca03a421, 0x000002d9, /* write array of size 3 from offset 729 to address 0x1940748 */
0xca052401, 0x00001fff, /* write 0x1fff to address 0x1940a48 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0xca010201, 0x00000000, /* write 0x0 to address 0x1940204 */
- 0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
+ 0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xc8002201, 0x00000000, /* write 0x0 to address 0x1900044 */
+ 0xc8006601, 0x00000000, /* write 0x0 to address 0x19000cc */
0xc9000111, 0x00000b40, /* write 2880 zeros to address 0x1920000 (WB) */
0xca025001, 0x00000007, /* write 0x7 to address 0x19404a0 */
0xcb000011, 0x00005000, /* write 20480 zeros to address 0x1960000 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0xc8010201, 0x00000000, /* write 0x0 to address 0x1900204 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xca025c01, 0x00000000, /* write 0x0 to address 0x19404b8 */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xca025c01, 0x00000002, /* write 0x2 to address 0x19404b8 */
0x00070002, 0x00010000, /* if mode != 'bb|k2', skip 7 ops */
- 0xcb088021, 0x0001a2ff, /* write array of size 6 from offset 107263 to address 0x1961100 */
- 0xcb3f2421, 0x000107e5, /* write array of size 7 from offset 67557 to address 0x1967e48 */
+ 0xcb088021, 0x0001ade7, /* write array of size 6 from offset 110055 to address 0x1961100 */
+ 0xcb3f2421, 0x00010e58, /* write array of size 7 from offset 69208 to address 0x1967e48 */
0xcb3f3211, 0x00000017, /* write 23 zeros to address 0x1967e64 */
0xcb93a821, 0x000006e6, /* write array of size 1 from offset 1766 to address 0x1972750 */
0xcb93aa11, 0x00000019, /* write 25 zeros to address 0x1972754 */
- 0xcb9a2821, 0x00010a74, /* write array of size 320 from offset 68212 to address 0x1973450 */
- 0xcb9ffc21, 0x0001a306, /* write array of size 2 from offset 107270 to address 0x1973ff8 */
- 0x00010002, 0x00680000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
+ 0xcb9a2821, 0x000110e7, /* write array of size 320 from offset 69863 to address 0x1973450 */
+ 0xcb9ffc21, 0x0001adee, /* write array of size 2 from offset 110062 to address 0x1973ff8 */
+ 0x00010002, 0x00800000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
0xcb3ed001, 0x00000002, /* write 0x2 to address 0x1967da0 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xcb3ed201, 0x00000000, /* write 0x0 to address 0x1967da4 */
- 0x00010002, 0x006d0000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00990000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
0xcb3ed201, 0x00000001, /* write 0x1 to address 0x1967da4 */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xcb3ed201, 0x00000002, /* write 0x2 to address 0x1967da4 */
- 0x00010002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
0xcb3ece01, 0x00000003, /* write 0x3 to address 0x1967d9c */
- 0x00010002, 0x00860000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00850000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
0xcb3ece01, 0x00000002, /* write 0x2 to address 0x1967d9c */
0x00010002, 0x00120000, /* if mode != '(bb|k2)&(asic|chipsim|emul_full)', skip 1 ops */
0xcb3ed001, 0x00000003, /* write 0x3 to address 0x1967da0 */
0xca032e10, 0x00000000, /* wait until address 0x194065c reads 0x0 */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
- 0xc8022401, 0x00001cab, /* write 0x1cab to address 0x1900448 */
- 0xc8028921, 0x0001a309, /* write array of size 2 from offset 107273 to address 0x1900510 (WB) */
- 0xc8029121, 0x0001a30c, /* write array of size 6 from offset 107276 to address 0x1900520 (WB) */
- 0xc8800021, 0x0001a313, /* write array of size 256 from offset 107283 to address 0x1910000 */
- 0x00020002, 0x005c0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
- 0xcc000121, 0x0001a315, /* write array of size 31248 from offset 107285 to address 0x1980000 (WB) */
- 0xccf42121, 0x00021d26, /* write array of size 17904 from offset 138534 to address 0x199e840 (WB) */
+ 0xc8022401, 0x00001b5f, /* write 0x1b5f to address 0x1900448 */
+ 0xc8028921, 0x0001adf1, /* write array of size 2 from offset 110065 to address 0x1900510 (WB) */
+ 0xc8029121, 0x0001adf4, /* write array of size 6 from offset 110068 to address 0x1900520 (WB) */
+ 0xc8800021, 0x0001adfb, /* write array of size 256 from offset 110075 to address 0x1910000 */
+ 0x00020002, 0x006a0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
+ 0xcc000121, 0x0001adfd, /* write array of size 30848 from offset 110077 to address 0x1980000 (WB) */
+ 0xccf10121, 0x0002267e, /* write array of size 18304 from offset 140926 to address 0x199e200 (WB) */
0x000e0002, 0x00010000, /* if mode != 'bb|k2', skip 14 ops */
- 0xc8800021, 0x00021d29, /* write array of size 12 from offset 138537 to address 0x1910000 */
- 0xc8802221, 0x00021d36, /* write array of size 9 from offset 138550 to address 0x1910044 */
- 0xc8803601, 0x0012301a, /* write 0x12301a to address 0x191006c */
- 0xc8804221, 0x00021d40, /* write array of size 2 from offset 138560 to address 0x1910084 */
- 0xc8804a21, 0x00021d43, /* write array of size 2 from offset 138563 to address 0x1910094 */
- 0xc8805021, 0x00021d46, /* write array of size 3 from offset 138566 to address 0x19100a0 */
- 0xc8808201, 0x001e0d93, /* write 0x1e0d93 to address 0x1910104 */
- 0xc8808801, 0x001e0a9e, /* write 0x1e0a9e to address 0x1910110 */
- 0xc8809021, 0x00021d4a, /* write array of size 5 from offset 138570 to address 0x1910120 */
- 0xc880c421, 0x00021d50, /* write array of size 7 from offset 138576 to address 0x1910188 */
- 0xc8810221, 0x00021d58, /* write array of size 6 from offset 138584 to address 0x1910204 */
- 0xc8811221, 0x00021d5f, /* write array of size 3 from offset 138591 to address 0x1910224 */
- 0xc8814221, 0x00021d63, /* write array of size 2 from offset 138595 to address 0x1910284 */
- 0xc8818221, 0x00021d66, /* write array of size 5 from offset 138598 to address 0x1910304 */
+ 0xc8800021, 0x00022681, /* write array of size 12 from offset 140929 to address 0x1910000 */
+ 0xc8802221, 0x0002268e, /* write array of size 9 from offset 140942 to address 0x1910044 */
+ 0xc8803601, 0x00122d7a, /* write 0x122d7a to address 0x191006c */
+ 0xc8804221, 0x00022698, /* write array of size 2 from offset 140952 to address 0x1910084 */
+ 0xc8804a21, 0x0002269b, /* write array of size 2 from offset 140955 to address 0x1910094 */
+ 0xc8805021, 0x0002269e, /* write array of size 3 from offset 140958 to address 0x19100a0 */
+ 0xc8808201, 0x001e097f, /* write 0x1e097f to address 0x1910104 */
+ 0xc8808801, 0x001e0684, /* write 0x1e0684 to address 0x1910110 */
+ 0xc8809021, 0x000226a2, /* write array of size 6 from offset 140962 to address 0x1910120 */
+ 0xc880c421, 0x000226a9, /* write array of size 7 from offset 140969 to address 0x1910188 */
+ 0xc8810221, 0x000226b1, /* write array of size 6 from offset 140977 to address 0x1910204 */
+ 0xc8811221, 0x000226b8, /* write array of size 3 from offset 140984 to address 0x1910224 */
+ 0xc8814221, 0x000226bc, /* write array of size 2 from offset 140988 to address 0x1910284 */
+ 0xc8818221, 0x000226bf, /* write array of size 5 from offset 140991 to address 0x1910304 */
0x00060013, 0x00000002, /* if phase != 'pf0', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb000011, 0x00000002, /* write 2 zeros to address 0x1960000 */
0xcb3b4c11, 0x00000002, /* write 2 zeros to address 0x1967698 */
0xcb3b8c11, 0x00000002, /* write 2 zeros to address 0x1967718 */
0xcb5a2c01, 0x00000000, /* write 0x0 to address 0x196b458 */
- 0xcb9cb021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1973960 */
+ 0xcb9cb021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1973960 */
0x00060013, 0x00010002, /* if phase != 'pf1', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb000411, 0x00000002, /* write 2 zeros to address 0x1960008 */
0xcb3b5011, 0x00000002, /* write 2 zeros to address 0x19676a0 */
0xcb3b9011, 0x00000002, /* write 2 zeros to address 0x1967720 */
0xcb5a2e01, 0x00000000, /* write 0x0 to address 0x196b45c */
- 0xcb9cb421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1973968 */
+ 0xcb9cb421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1973968 */
0x00060013, 0x00020002, /* if phase != 'pf2', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb000811, 0x00000002, /* write 2 zeros to address 0x1960010 */
0xcb3b5411, 0x00000002, /* write 2 zeros to address 0x19676a8 */
0xcb3b9411, 0x00000002, /* write 2 zeros to address 0x1967728 */
0xcb5a3001, 0x00000000, /* write 0x0 to address 0x196b460 */
- 0xcb9cb821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1973970 */
+ 0xcb9cb821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1973970 */
0x00060013, 0x00030002, /* if phase != 'pf3', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb000c11, 0x00000002, /* write 2 zeros to address 0x1960018 */
0xcb3b5811, 0x00000002, /* write 2 zeros to address 0x19676b0 */
0xcb3b9811, 0x00000002, /* write 2 zeros to address 0x1967730 */
0xcb5a3201, 0x00000000, /* write 0x0 to address 0x196b464 */
- 0xcb9cbc21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1973978 */
+ 0xcb9cbc21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1973978 */
0x00060013, 0x00040002, /* if phase != 'pf4', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb001011, 0x00000002, /* write 2 zeros to address 0x1960020 */
0xcb3b5c11, 0x00000002, /* write 2 zeros to address 0x19676b8 */
0xcb3b9c11, 0x00000002, /* write 2 zeros to address 0x1967738 */
0xcb5a3401, 0x00000000, /* write 0x0 to address 0x196b468 */
- 0xcb9cc021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1973980 */
+ 0xcb9cc021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1973980 */
0x00060013, 0x00050002, /* if phase != 'pf5', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb001411, 0x00000002, /* write 2 zeros to address 0x1960028 */
0xcb3b6011, 0x00000002, /* write 2 zeros to address 0x19676c0 */
0xcb3ba011, 0x00000002, /* write 2 zeros to address 0x1967740 */
0xcb5a3601, 0x00000000, /* write 0x0 to address 0x196b46c */
- 0xcb9cc421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1973988 */
+ 0xcb9cc421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1973988 */
0x00060013, 0x00060002, /* if phase != 'pf6', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb001811, 0x00000002, /* write 2 zeros to address 0x1960030 */
0xcb3b6411, 0x00000002, /* write 2 zeros to address 0x19676c8 */
0xcb3ba411, 0x00000002, /* write 2 zeros to address 0x1967748 */
0xcb5a3801, 0x00000000, /* write 0x0 to address 0x196b470 */
- 0xcb9cc821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1973990 */
+ 0xcb9cc821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1973990 */
0x00060013, 0x00070002, /* if phase != 'pf7', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb001c11, 0x00000002, /* write 2 zeros to address 0x1960038 */
0xcb3b6811, 0x00000002, /* write 2 zeros to address 0x19676d0 */
0xcb3ba811, 0x00000002, /* write 2 zeros to address 0x1967750 */
0xcb5a3a01, 0x00000000, /* write 0x0 to address 0x196b474 */
- 0xcb9ccc21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1973998 */
+ 0xcb9ccc21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1973998 */
0x00060013, 0x00080002, /* if phase != 'pf8', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb002011, 0x00000002, /* write 2 zeros to address 0x1960040 */
0xcb3b6c11, 0x00000002, /* write 2 zeros to address 0x19676d8 */
0xcb3bac11, 0x00000002, /* write 2 zeros to address 0x1967758 */
0xcb5a3c01, 0x00000000, /* write 0x0 to address 0x196b478 */
- 0xcb9cd021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x19739a0 */
+ 0xcb9cd021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x19739a0 */
0x00060013, 0x00090002, /* if phase != 'pf9', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb002411, 0x00000002, /* write 2 zeros to address 0x1960048 */
0xcb3b7011, 0x00000002, /* write 2 zeros to address 0x19676e0 */
0xcb3bb011, 0x00000002, /* write 2 zeros to address 0x1967760 */
0xcb5a3e01, 0x00000000, /* write 0x0 to address 0x196b47c */
- 0xcb9cd421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x19739a8 */
+ 0xcb9cd421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x19739a8 */
0x00060013, 0x000a0002, /* if phase != 'pf10', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb002811, 0x00000002, /* write 2 zeros to address 0x1960050 */
0xcb3b7411, 0x00000002, /* write 2 zeros to address 0x19676e8 */
0xcb3bb411, 0x00000002, /* write 2 zeros to address 0x1967768 */
0xcb5a4001, 0x00000000, /* write 0x0 to address 0x196b480 */
- 0xcb9cd821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x19739b0 */
+ 0xcb9cd821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x19739b0 */
0x00060013, 0x000b0002, /* if phase != 'pf11', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb002c11, 0x00000002, /* write 2 zeros to address 0x1960058 */
0xcb3b7811, 0x00000002, /* write 2 zeros to address 0x19676f0 */
0xcb3bb811, 0x00000002, /* write 2 zeros to address 0x1967770 */
0xcb5a4201, 0x00000000, /* write 0x0 to address 0x196b484 */
- 0xcb9cdc21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x19739b8 */
+ 0xcb9cdc21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x19739b8 */
0x00060013, 0x000c0002, /* if phase != 'pf12', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb003011, 0x00000002, /* write 2 zeros to address 0x1960060 */
0xcb3b7c11, 0x00000002, /* write 2 zeros to address 0x19676f8 */
0xcb3bbc11, 0x00000002, /* write 2 zeros to address 0x1967778 */
0xcb5a4401, 0x00000000, /* write 0x0 to address 0x196b488 */
- 0xcb9ce021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x19739c0 */
+ 0xcb9ce021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x19739c0 */
0x00060013, 0x000d0002, /* if phase != 'pf13', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb003411, 0x00000002, /* write 2 zeros to address 0x1960068 */
0xcb3b8011, 0x00000002, /* write 2 zeros to address 0x1967700 */
0xcb3bc011, 0x00000002, /* write 2 zeros to address 0x1967780 */
0xcb5a4601, 0x00000000, /* write 0x0 to address 0x196b48c */
- 0xcb9ce421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x19739c8 */
+ 0xcb9ce421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x19739c8 */
0x00060013, 0x000e0002, /* if phase != 'pf14', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb003811, 0x00000002, /* write 2 zeros to address 0x1960070 */
0xcb3b8411, 0x00000002, /* write 2 zeros to address 0x1967708 */
0xcb3bc411, 0x00000002, /* write 2 zeros to address 0x1967788 */
0xcb5a4801, 0x00000000, /* write 0x0 to address 0x196b490 */
- 0xcb9ce821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x19739d0 */
+ 0xcb9ce821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x19739d0 */
0x00060013, 0x000f0002, /* if phase != 'pf15', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xcb003c11, 0x00000002, /* write 2 zeros to address 0x1960078 */
0xcb3b8811, 0x00000002, /* write 2 zeros to address 0x1967710 */
0xcb3bc811, 0x00000002, /* write 2 zeros to address 0x1967790 */
0xcb5a4a01, 0x00000000, /* write 0x0 to address 0x196b494 */
- 0xcb9cec21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x19739d8 */
+ 0xcb9cec21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x19739d8 */
0x00010013, 0xffff0002, /* if phase != 'pf', skip 1 ops */
0xc8020601, 0x00000001, /* write 0x1 to address 0x190040c */
- 0x00020013, 0x00000001, /* if phase != 'port0', skip 2 ops */
- 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
+ 0x00030013, 0x00000001, /* if phase != 'port0', skip 3 ops */
+ 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
0xcb3ed411, 0x00000002, /* write 2 zeros to address 0x1967da8 */
- 0x00020013, 0x00010001, /* if phase != 'port1', skip 2 ops */
- 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
+ 0xcb76b821, 0x00010e4e, /* write array of size 2 from offset 69198 to address 0x196ed70 */
+ 0x00030013, 0x00010001, /* if phase != 'port1', skip 3 ops */
+ 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
0xcb3ed811, 0x00000002, /* write 2 zeros to address 0x1967db0 */
- 0x00020013, 0x00020001, /* if phase != 'port2', skip 2 ops */
- 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
+ 0xcb76bc21, 0x00010e4e, /* write array of size 2 from offset 69198 to address 0x196ed78 */
+ 0x00030013, 0x00020001, /* if phase != 'port2', skip 3 ops */
+ 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
0xcb3edc11, 0x00000002, /* write 2 zeros to address 0x1967db8 */
- 0x00020013, 0x00030001, /* if phase != 'port3', skip 2 ops */
- 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
+ 0xcb76c021, 0x00010e4e, /* write array of size 2 from offset 69198 to address 0x196ed80 */
+ 0x00030013, 0x00030001, /* if phase != 'port3', skip 3 ops */
+ 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
0xcb3ee011, 0x00000002, /* write 2 zeros to address 0x1967dc0 */
+ 0xcb76c421, 0x00010e4e, /* write array of size 2 from offset 69198 to address 0x196ed88 */
0x00010013, 0xffff0003, /* if phase != 'vf', skip 1 ops */
0xc8020401, 0x00000001, /* write 0x1 to address 0x1900408 */
/* XSEM */
- 0x00510013, 0xffff0000, /* if phase != 'engine', skip 81 ops */
+ 0x00500013, 0xffff0000, /* if phase != 'engine', skip 80 ops */
0xa0002a01, 0x00000000, /* write 0x0 to address 0x1400054 */
- 0xa0006601, 0x00000000, /* write 0x0 to address 0x14000cc */
+ 0xa0010201, 0x00000000, /* write 0x0 to address 0x1400204 */
0xa2002201, 0x00000000, /* write 0x0 to address 0x1440044 */
0xa2032c01, 0x00000001, /* write 0x1 to address 0x1440658 */
0xa203a421, 0x000002d9, /* write array of size 3 from offset 729 to address 0x1440748 */
0xa2052401, 0x00001fff, /* write 0x1fff to address 0x1440a48 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0xa2010201, 0x00000000, /* write 0x0 to address 0x1440204 */
- 0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
+ 0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa0002201, 0x00000000, /* write 0x0 to address 0x1400044 */
+ 0xa0006601, 0x00000000, /* write 0x0 to address 0x14000cc */
0xa1000111, 0x000010e0, /* write 4320 zeros to address 0x1420000 (WB) */
0xa2025001, 0x00000007, /* write 0x7 to address 0x14404a0 */
0xa3000011, 0x00005000, /* write 20480 zeros to address 0x1460000 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0xa0010201, 0x00000000, /* write 0x0 to address 0x1400204 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xa2025c01, 0x00000000, /* write 0x0 to address 0x14404b8 */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xa2025c01, 0x00000002, /* write 0x2 to address 0x14404b8 */
0x000a0002, 0x00010000, /* if mode != 'bb|k2', skip 10 ops */
- 0xa3000021, 0x00021d6c, /* write array of size 6 from offset 138604 to address 0x1460000 */
- 0xa3262021, 0x000107e5, /* write array of size 7 from offset 67557 to address 0x1464c40 */
+ 0xa3000021, 0x000226c5, /* write array of size 6 from offset 140997 to address 0x1460000 */
+ 0xa3262021, 0x00010e58, /* write array of size 7 from offset 69208 to address 0x1464c40 */
0xa3262e11, 0x00000017, /* write 23 zeros to address 0x1464c5c */
- 0xa33a8021, 0x00021d73, /* write array of size 2 from offset 138611 to address 0x1467500 */
+ 0xa33a8021, 0x000226cc, /* write array of size 2 from offset 141004 to address 0x1467500 */
0xa356c021, 0x000006e6, /* write array of size 1 from offset 1766 to address 0x146ad80 */
0xa356c211, 0x00000019, /* write 25 zeros to address 0x146ad84 */
- 0xa364a021, 0x00021d76, /* write array of size 15 from offset 138614 to address 0x146c940 */
- 0xa364be21, 0x00021d86, /* write array of size 7 from offset 138630 to address 0x146c97c */
- 0xa364cc21, 0x00021d88, /* write array of size 6 from offset 138632 to address 0x146c998 */
- 0xa39ffc21, 0x00021d8f, /* write array of size 2 from offset 138639 to address 0x1473ff8 */
- 0x00010002, 0x00680000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
+ 0xa364a021, 0x000226cf, /* write array of size 15 from offset 141007 to address 0x146c940 */
+ 0xa364be21, 0x000226df, /* write array of size 7 from offset 141023 to address 0x146c97c */
+ 0xa364cc21, 0x000226e1, /* write array of size 6 from offset 141025 to address 0x146c998 */
+ 0xa39ffc21, 0x000226e8, /* write array of size 2 from offset 141032 to address 0x1473ff8 */
+ 0x00010002, 0x00800000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
0xa325cc01, 0x00000002, /* write 0x2 to address 0x1464b98 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xa325ce01, 0x00000000, /* write 0x0 to address 0x1464b9c */
- 0x00010002, 0x006d0000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00990000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
0xa325ce01, 0x00000001, /* write 0x1 to address 0x1464b9c */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xa325ce01, 0x00000002, /* write 0x2 to address 0x1464b9c */
- 0x00010002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
0xa325ca01, 0x00000003, /* write 0x3 to address 0x1464b94 */
- 0x00010002, 0x00860000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00850000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
0xa325ca01, 0x00000002, /* write 0x2 to address 0x1464b94 */
0x00010002, 0x00120000, /* if mode != '(bb|k2)&(asic|chipsim|emul_full)', skip 1 ops */
0xa325cc01, 0x00000003, /* write 0x3 to address 0x1464b98 */
0xa2032e10, 0x00000000, /* wait until address 0x144065c reads 0x0 */
0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
- 0xa0022401, 0x00001bf3, /* write 0x1bf3 to address 0x1400448 */
- 0xa0028121, 0x00021d92, /* write array of size 14 from offset 138642 to address 0x1400500 (WB) */
- 0xa0800021, 0x00021da1, /* write array of size 256 from offset 138657 to address 0x1410000 */
- 0x00020002, 0x005c0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
- 0xa4000121, 0x00021da3, /* write array of size 62772 from offset 138659 to address 0x1480000 (WB) */
- 0xa5ea6921, 0x000312d8, /* write array of size 10956 from offset 201432 to address 0x14bd4d0 (WB) */
+ 0xa0022401, 0x00001bf9, /* write 0x1bf9 to address 0x1400448 */
+ 0xa0028121, 0x000226eb, /* write array of size 14 from offset 141035 to address 0x1400500 (WB) */
+ 0xa0800021, 0x000226fa, /* write array of size 256 from offset 141050 to address 0x1410000 */
+ 0x00020002, 0x006a0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
+ 0xa4000121, 0x000226fc, /* write array of size 63396 from offset 141052 to address 0x1480000 (WB) */
+ 0xa5ef4921, 0x00031ea1, /* write array of size 10332 from offset 204449 to address 0x14bde90 (WB) */
0x001c0002, 0x00010000, /* if mode != 'bb|k2', skip 28 ops */
- 0xa0800021, 0x000312db, /* write array of size 2 from offset 201435 to address 0x1410000 */
- 0xa0800621, 0x000312de, /* write array of size 3 from offset 201438 to address 0x141000c */
- 0xa0801021, 0x000312e2, /* write array of size 7 from offset 201442 to address 0x1410020 */
- 0xa0802021, 0x000312ea, /* write array of size 2 from offset 201450 to address 0x1410040 */
- 0xa0802821, 0x000312ed, /* write array of size 2 from offset 201453 to address 0x1410050 */
- 0xa0803001, 0x001e371c, /* write 0x1e371c to address 0x1410060 */
- 0xa0804221, 0x000312f0, /* write array of size 6 from offset 201456 to address 0x1410084 */
- 0xa0805001, 0x00127def, /* write 0x127def to address 0x14100a0 */
- 0xa0807221, 0x000312f7, /* write array of size 2 from offset 201463 to address 0x14100e4 */
- 0xa0808221, 0x000312fa, /* write array of size 2 from offset 201466 to address 0x1410104 */
- 0xa0808821, 0x000312fd, /* write array of size 3 from offset 201469 to address 0x1410110 */
- 0xa0809021, 0x00031301, /* write array of size 3 from offset 201473 to address 0x1410120 */
- 0xa0809821, 0x00031305, /* write array of size 3 from offset 201477 to address 0x1410130 */
- 0xa080a001, 0x00040f60, /* write 0x40f60 to address 0x1410140 */
- 0xa080c201, 0x0006108b, /* write 0x6108b to address 0x1410184 */
- 0xa080c821, 0x00031309, /* write array of size 2 from offset 201481 to address 0x1410190 */
- 0xa080d001, 0x000616b3, /* write 0x616b3 to address 0x14101a0 */
- 0xa0810201, 0x000849dc, /* write 0x849dc to address 0x1410204 */
- 0xa0810621, 0x0003130c, /* write array of size 3 from offset 201484 to address 0x141020c */
- 0xa0811021, 0x00031310, /* write array of size 2 from offset 201488 to address 0x1410220 */
- 0xa0814221, 0x00031313, /* write array of size 3 from offset 201491 to address 0x1410284 */
- 0xa0814a01, 0x00127db5, /* write 0x127db5 to address 0x1410294 */
- 0xa0818201, 0x000c7929, /* write 0xc7929 to address 0x1410304 */
- 0xa0818821, 0x00031317, /* write array of size 3 from offset 201495 to address 0x1410310 */
- 0xa0819021, 0x0003131b, /* write array of size 3 from offset 201499 to address 0x1410320 */
- 0xa0819821, 0x0003131f, /* write array of size 3 from offset 201503 to address 0x1410330 */
- 0xa081a021, 0x00031323, /* write array of size 3 from offset 201507 to address 0x1410340 */
- 0xa081a821, 0x00031327, /* write array of size 3 from offset 201511 to address 0x1410350 */
+ 0xa0800021, 0x00031ea4, /* write array of size 2 from offset 204452 to address 0x1410000 */
+ 0xa0800621, 0x00031ea7, /* write array of size 3 from offset 204455 to address 0x141000c */
+ 0xa0801021, 0x00031eab, /* write array of size 7 from offset 204459 to address 0x1410020 */
+ 0xa0802021, 0x00031eb3, /* write array of size 2 from offset 204467 to address 0x1410040 */
+ 0xa0802821, 0x00031eb6, /* write array of size 2 from offset 204470 to address 0x1410050 */
+ 0xa0803001, 0x001e244a, /* write 0x1e244a to address 0x1410060 */
+ 0xa0804221, 0x00031eb9, /* write array of size 6 from offset 204473 to address 0x1410084 */
+ 0xa0805001, 0x00127f27, /* write 0x127f27 to address 0x14100a0 */
+ 0xa0807221, 0x00031ec0, /* write array of size 2 from offset 204480 to address 0x14100e4 */
+ 0xa0808221, 0x00031ec3, /* write array of size 2 from offset 204483 to address 0x1410104 */
+ 0xa0808821, 0x00031ec6, /* write array of size 3 from offset 204486 to address 0x1410110 */
+ 0xa0809021, 0x00031eca, /* write array of size 3 from offset 204490 to address 0x1410120 */
+ 0xa0809821, 0x00031ece, /* write array of size 3 from offset 204494 to address 0x1410130 */
+ 0xa080a001, 0x00040f5e, /* write 0x40f5e to address 0x1410140 */
+ 0xa080c201, 0x0006131e, /* write 0x6131e to address 0x1410184 */
+ 0xa080c821, 0x00031ed2, /* write array of size 2 from offset 204498 to address 0x1410190 */
+ 0xa080d001, 0x0006118b, /* write 0x6118b to address 0x14101a0 */
+ 0xa0810201, 0x00084952, /* write 0x84952 to address 0x1410204 */
+ 0xa0810621, 0x00031ed5, /* write array of size 3 from offset 204501 to address 0x141020c */
+ 0xa0811021, 0x00031ed9, /* write array of size 2 from offset 204505 to address 0x1410220 */
+ 0xa0814221, 0x00031edc, /* write array of size 3 from offset 204508 to address 0x1410284 */
+ 0xa0814a01, 0x00127bd4, /* write 0x127bd4 to address 0x1410294 */
+ 0xa0818201, 0x000c7b1d, /* write 0xc7b1d to address 0x1410304 */
+ 0xa0818821, 0x00031ee0, /* write array of size 3 from offset 204512 to address 0x1410310 */
+ 0xa0819021, 0x00031ee4, /* write array of size 3 from offset 204516 to address 0x1410320 */
+ 0xa0819821, 0x00031ee8, /* write array of size 3 from offset 204520 to address 0x1410330 */
+ 0xa081a021, 0x00031eec, /* write array of size 3 from offset 204524 to address 0x1410340 */
+ 0xa081a821, 0x00031ef0, /* write array of size 3 from offset 204528 to address 0x1410350 */
0x00060013, 0x00000002, /* if phase != 'pf0', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31a6811, 0x00000038, /* write 56 zeros to address 0x14634d0 */
0xa3228811, 0x00000002, /* write 2 zeros to address 0x1464510 */
0xa3270c01, 0x00000000, /* write 0x0 to address 0x1464e18 */
0xa352c011, 0x0000000e, /* write 14 zeros to address 0x146a580 */
- 0xa363a021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c740 */
+ 0xa363a021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c740 */
0x00060013, 0x00010002, /* if phase != 'pf1', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31ad811, 0x00000038, /* write 56 zeros to address 0x14635b0 */
0xa3228c11, 0x00000002, /* write 2 zeros to address 0x1464518 */
0xa3270e01, 0x00000000, /* write 0x0 to address 0x1464e1c */
0xa352dc11, 0x0000000e, /* write 14 zeros to address 0x146a5b8 */
- 0xa363a421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c748 */
+ 0xa363a421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c748 */
0x00060013, 0x00020002, /* if phase != 'pf2', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31b4811, 0x00000038, /* write 56 zeros to address 0x1463690 */
0xa3229011, 0x00000002, /* write 2 zeros to address 0x1464520 */
0xa3271001, 0x00000000, /* write 0x0 to address 0x1464e20 */
0xa352f811, 0x0000000e, /* write 14 zeros to address 0x146a5f0 */
- 0xa363a821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c750 */
+ 0xa363a821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c750 */
0x00060013, 0x00030002, /* if phase != 'pf3', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31bb811, 0x00000038, /* write 56 zeros to address 0x1463770 */
0xa3229411, 0x00000002, /* write 2 zeros to address 0x1464528 */
0xa3271201, 0x00000000, /* write 0x0 to address 0x1464e24 */
0xa3531411, 0x0000000e, /* write 14 zeros to address 0x146a628 */
- 0xa363ac21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c758 */
+ 0xa363ac21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c758 */
0x00060013, 0x00040002, /* if phase != 'pf4', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31c2811, 0x00000038, /* write 56 zeros to address 0x1463850 */
0xa3229811, 0x00000002, /* write 2 zeros to address 0x1464530 */
0xa3271401, 0x00000000, /* write 0x0 to address 0x1464e28 */
0xa3533011, 0x0000000e, /* write 14 zeros to address 0x146a660 */
- 0xa363b021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c760 */
+ 0xa363b021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c760 */
0x00060013, 0x00050002, /* if phase != 'pf5', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31c9811, 0x00000038, /* write 56 zeros to address 0x1463930 */
0xa3229c11, 0x00000002, /* write 2 zeros to address 0x1464538 */
0xa3271601, 0x00000000, /* write 0x0 to address 0x1464e2c */
0xa3534c11, 0x0000000e, /* write 14 zeros to address 0x146a698 */
- 0xa363b421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c768 */
+ 0xa363b421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c768 */
0x00060013, 0x00060002, /* if phase != 'pf6', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31d0811, 0x00000038, /* write 56 zeros to address 0x1463a10 */
0xa322a011, 0x00000002, /* write 2 zeros to address 0x1464540 */
0xa3271801, 0x00000000, /* write 0x0 to address 0x1464e30 */
0xa3536811, 0x0000000e, /* write 14 zeros to address 0x146a6d0 */
- 0xa363b821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c770 */
+ 0xa363b821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c770 */
0x00060013, 0x00070002, /* if phase != 'pf7', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31d7811, 0x00000038, /* write 56 zeros to address 0x1463af0 */
0xa322a411, 0x00000002, /* write 2 zeros to address 0x1464548 */
0xa3271a01, 0x00000000, /* write 0x0 to address 0x1464e34 */
0xa3538411, 0x0000000e, /* write 14 zeros to address 0x146a708 */
- 0xa363bc21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c778 */
+ 0xa363bc21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c778 */
0x00060013, 0x00080002, /* if phase != 'pf8', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31de811, 0x00000038, /* write 56 zeros to address 0x1463bd0 */
0xa322a811, 0x00000002, /* write 2 zeros to address 0x1464550 */
0xa3271c01, 0x00000000, /* write 0x0 to address 0x1464e38 */
0xa353a011, 0x0000000e, /* write 14 zeros to address 0x146a740 */
- 0xa363c021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c780 */
+ 0xa363c021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c780 */
0x00060013, 0x00090002, /* if phase != 'pf9', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31e5811, 0x00000038, /* write 56 zeros to address 0x1463cb0 */
0xa322ac11, 0x00000002, /* write 2 zeros to address 0x1464558 */
0xa3271e01, 0x00000000, /* write 0x0 to address 0x1464e3c */
0xa353bc11, 0x0000000e, /* write 14 zeros to address 0x146a778 */
- 0xa363c421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c788 */
+ 0xa363c421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c788 */
0x00060013, 0x000a0002, /* if phase != 'pf10', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31ec811, 0x00000038, /* write 56 zeros to address 0x1463d90 */
0xa322b011, 0x00000002, /* write 2 zeros to address 0x1464560 */
0xa3272001, 0x00000000, /* write 0x0 to address 0x1464e40 */
0xa353d811, 0x0000000e, /* write 14 zeros to address 0x146a7b0 */
- 0xa363c821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c790 */
+ 0xa363c821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c790 */
0x00060013, 0x000b0002, /* if phase != 'pf11', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31f3811, 0x00000038, /* write 56 zeros to address 0x1463e70 */
0xa322b411, 0x00000002, /* write 2 zeros to address 0x1464568 */
0xa3272201, 0x00000000, /* write 0x0 to address 0x1464e44 */
0xa353f411, 0x0000000e, /* write 14 zeros to address 0x146a7e8 */
- 0xa363cc21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c798 */
+ 0xa363cc21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c798 */
0x00060013, 0x000c0002, /* if phase != 'pf12', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa31fa811, 0x00000038, /* write 56 zeros to address 0x1463f50 */
0xa322b811, 0x00000002, /* write 2 zeros to address 0x1464570 */
0xa3272401, 0x00000000, /* write 0x0 to address 0x1464e48 */
0xa3541011, 0x0000000e, /* write 14 zeros to address 0x146a820 */
- 0xa363d021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c7a0 */
+ 0xa363d021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c7a0 */
0x00060013, 0x000d0002, /* if phase != 'pf13', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa3201811, 0x00000038, /* write 56 zeros to address 0x1464030 */
0xa322bc11, 0x00000002, /* write 2 zeros to address 0x1464578 */
0xa3272601, 0x00000000, /* write 0x0 to address 0x1464e4c */
0xa3542c11, 0x0000000e, /* write 14 zeros to address 0x146a858 */
- 0xa363d421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c7a8 */
+ 0xa363d421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c7a8 */
0x00060013, 0x000e0002, /* if phase != 'pf14', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa3208811, 0x00000038, /* write 56 zeros to address 0x1464110 */
0xa322c011, 0x00000002, /* write 2 zeros to address 0x1464580 */
0xa3272801, 0x00000000, /* write 0x0 to address 0x1464e50 */
0xa3544811, 0x0000000e, /* write 14 zeros to address 0x146a890 */
- 0xa363d821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c7b0 */
+ 0xa363d821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c7b0 */
0x00060013, 0x000f0002, /* if phase != 'pf15', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa320f811, 0x00000038, /* write 56 zeros to address 0x14641f0 */
0xa322c411, 0x00000002, /* write 2 zeros to address 0x1464588 */
0xa3272a01, 0x00000000, /* write 0x0 to address 0x1464e54 */
0xa3546411, 0x0000000e, /* write 14 zeros to address 0x146a8c8 */
- 0xa363dc21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x146c7b8 */
+ 0xa363dc21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x146c7b8 */
0x00010013, 0xffff0002, /* if phase != 'pf', skip 1 ops */
0xa0020601, 0x00000001, /* write 0x1 to address 0x140040c */
0x00020013, 0x00000001, /* if phase != 'port0', skip 2 ops */
@@ -2579,167 +2607,166 @@ ARRAY_DECL u32 init_ops[] = {
0x00010013, 0xffff0003, /* if phase != 'vf', skip 1 ops */
0xa0020401, 0x00000001, /* write 0x1 to address 0x1400408 */
/* YSEM */
- 0x00400013, 0xffff0000, /* if phase != 'engine', skip 64 ops */
+ 0x003f0013, 0xffff0000, /* if phase != 'engine', skip 63 ops */
0xa8002a01, 0x00000000, /* write 0x0 to address 0x1500054 */
- 0xa8006601, 0x00000000, /* write 0x0 to address 0x15000cc */
+ 0xa8010201, 0x00000000, /* write 0x0 to address 0x1500204 */
0xaa002201, 0x00000000, /* write 0x0 to address 0x1540044 */
0xaa032c01, 0x00000001, /* write 0x1 to address 0x1540658 */
0xaa03a421, 0x000002d9, /* write array of size 3 from offset 729 to address 0x1540748 */
0xaa052401, 0x00001fff, /* write 0x1fff to address 0x1540a48 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0xaa010201, 0x00000000, /* write 0x0 to address 0x1540204 */
- 0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
+ 0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xa8002201, 0x00000000, /* write 0x0 to address 0x1500044 */
+ 0xa8006601, 0x00000000, /* write 0x0 to address 0x15000cc */
0xa9000111, 0x000009d8, /* write 2520 zeros to address 0x1520000 (WB) */
0xaa025001, 0x00000007, /* write 0x7 to address 0x15404a0 */
0xab000011, 0x00005000, /* write 20480 zeros to address 0x1560000 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0xa8010201, 0x00000000, /* write 0x0 to address 0x1500204 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xaa025c01, 0x00000000, /* write 0x0 to address 0x15404b8 */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xaa025c01, 0x00000002, /* write 0x2 to address 0x15404b8 */
0x00070002, 0x00010000, /* if mode != 'bb|k2', skip 7 ops */
- 0xab000421, 0x0003132b, /* write array of size 6 from offset 201515 to address 0x1560008 */
- 0xab1ef821, 0x000107e5, /* write array of size 7 from offset 67557 to address 0x1563df0 */
+ 0xab000421, 0x00031ef4, /* write array of size 6 from offset 204532 to address 0x1560008 */
+ 0xab1ef821, 0x00010e58, /* write array of size 7 from offset 69208 to address 0x1563df0 */
0xab1f0611, 0x00000017, /* write 23 zeros to address 0x1563e0c */
0xab457c21, 0x000006e6, /* write array of size 1 from offset 1766 to address 0x1568af8 */
0xab457e11, 0x00000019, /* write 25 zeros to address 0x1568afc */
- 0xab4b7c21, 0x000107f3, /* write array of size 640 from offset 67571 to address 0x15696f8 */
- 0xab9ffc21, 0x00031332, /* write array of size 2 from offset 201522 to address 0x1573ff8 */
- 0x00010002, 0x00680000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
+ 0xab4b7c21, 0x00010e66, /* write array of size 640 from offset 69222 to address 0x15696f8 */
+ 0xab9ffc21, 0x00031efb, /* write array of size 2 from offset 204539 to address 0x1573ff8 */
+ 0x00010002, 0x00800000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
0xab1e4401, 0x00000002, /* write 0x2 to address 0x1563c88 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xab1e4601, 0x00000000, /* write 0x0 to address 0x1563c8c */
- 0x00010002, 0x006d0000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00990000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
0xab1e4601, 0x00000001, /* write 0x1 to address 0x1563c8c */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xab1e4601, 0x00000002, /* write 0x2 to address 0x1563c8c */
- 0x00010002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
0xab1e4201, 0x00000003, /* write 0x3 to address 0x1563c84 */
- 0x00010002, 0x00860000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00850000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
0xab1e4201, 0x00000002, /* write 0x2 to address 0x1563c84 */
0x00010002, 0x00120000, /* if mode != '(bb|k2)&(asic|chipsim|emul_full)', skip 1 ops */
0xab1e4401, 0x00000003, /* write 0x3 to address 0x1563c88 */
0xaa032e10, 0x00000000, /* wait until address 0x154065c reads 0x0 */
0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
- 0xa8022401, 0x00001ec9, /* write 0x1ec9 to address 0x1500448 */
- 0xa8028121, 0x00031335, /* write array of size 14 from offset 201525 to address 0x1500500 (WB) */
- 0xa8800021, 0x00031344, /* write array of size 256 from offset 201540 to address 0x1510000 */
- 0x00020002, 0x005c0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
- 0xac000121, 0x00031346, /* write array of size 41948 from offset 201542 to address 0x1580000 (WB) */
- 0xad47b921, 0x0003b723, /* write array of size 7204 from offset 243491 to address 0x15a8f70 (WB) */
+ 0xa8022401, 0x0000203a, /* write 0x203a to address 0x1500448 */
+ 0xa8028121, 0x00031efe, /* write array of size 14 from offset 204542 to address 0x1500500 (WB) */
+ 0xa8800021, 0x00031f0d, /* write array of size 256 from offset 204557 to address 0x1510000 */
+ 0x00020002, 0x006a0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
+ 0xac000121, 0x00031f0f, /* write array of size 42680 from offset 204559 to address 0x1580000 (WB) */
+ 0xad4d7121, 0x0003c5c8, /* write array of size 6472 from offset 247240 to address 0x15a9ae0 (WB) */
0x000e0002, 0x00010000, /* if mode != 'bb|k2', skip 14 ops */
- 0xa8800021, 0x0003b726, /* write array of size 22 from offset 243494 to address 0x1510000 */
- 0xa8804221, 0x0003b73d, /* write array of size 2 from offset 243517 to address 0x1510084 */
- 0xa8804a21, 0x0003b740, /* write array of size 2 from offset 243520 to address 0x1510094 */
- 0xa8805001, 0x001256a3, /* write 0x1256a3 to address 0x15100a0 */
- 0xa8807201, 0x001e54be, /* write 0x1e54be to address 0x15100e4 */
- 0xa8808201, 0x00040cf6, /* write 0x40cf6 to address 0x1510104 */
- 0xa8808621, 0x0003b743, /* write array of size 3 from offset 243523 to address 0x151010c */
- 0xa8809001, 0x001e012c, /* write 0x1e012c to address 0x1510120 */
- 0xa880c221, 0x0003b747, /* write array of size 12 from offset 243527 to address 0x1510184 */
- 0xa8810221, 0x0003b754, /* write array of size 6 from offset 243540 to address 0x1510204 */
- 0xa8811221, 0x0003b75b, /* write array of size 3 from offset 243547 to address 0x1510224 */
- 0xa8811a01, 0x001235cb, /* write 0x1235cb to address 0x1510234 */
- 0xa8814221, 0x0003b75f, /* write array of size 5 from offset 243551 to address 0x1510284 */
- 0xa8818421, 0x0003b765, /* write array of size 10 from offset 243557 to address 0x1510308 */
+ 0xa8800021, 0x0003c5cb, /* write array of size 22 from offset 247243 to address 0x1510000 */
+ 0xa8804221, 0x0003c5e2, /* write array of size 2 from offset 247266 to address 0x1510084 */
+ 0xa8804a21, 0x0003c5e5, /* write array of size 2 from offset 247269 to address 0x1510094 */
+ 0xa8805001, 0x00125697, /* write 0x125697 to address 0x15100a0 */
+ 0xa8807201, 0x001e562d, /* write 0x1e562d to address 0x15100e4 */
+ 0xa8808201, 0x000403df, /* write 0x403df to address 0x1510104 */
+ 0xa8808621, 0x0003c5e8, /* write array of size 3 from offset 247272 to address 0x151010c */
+ 0xa8809001, 0x001e0002, /* write 0x1e0002 to address 0x1510120 */
+ 0xa880c221, 0x0003c5ec, /* write array of size 12 from offset 247276 to address 0x1510184 */
+ 0xa8810221, 0x0003c5f9, /* write array of size 6 from offset 247289 to address 0x1510204 */
+ 0xa8811221, 0x0003c600, /* write array of size 3 from offset 247296 to address 0x1510224 */
+ 0xa8811a01, 0x00123c09, /* write 0x123c09 to address 0x1510234 */
+ 0xa8814221, 0x0003c604, /* write array of size 5 from offset 247300 to address 0x1510284 */
+ 0xa8818421, 0x0003c60a, /* write array of size 10 from offset 247306 to address 0x1510308 */
0x00050013, 0x00000002, /* if phase != 'pf0', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1ac011, 0x00000002, /* write 2 zeros to address 0x1563580 */
0xab1b0011, 0x00000002, /* write 2 zeros to address 0x1563600 */
0xab1ffc01, 0x00000000, /* write 0x0 to address 0x1563ff8 */
- 0xab508821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a110 */
+ 0xab508821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a110 */
0x00050013, 0x00010002, /* if phase != 'pf1', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1ac411, 0x00000002, /* write 2 zeros to address 0x1563588 */
0xab1b0411, 0x00000002, /* write 2 zeros to address 0x1563608 */
0xab1ffe01, 0x00000000, /* write 0x0 to address 0x1563ffc */
- 0xab508c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a118 */
+ 0xab508c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a118 */
0x00050013, 0x00020002, /* if phase != 'pf2', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1ac811, 0x00000002, /* write 2 zeros to address 0x1563590 */
0xab1b0811, 0x00000002, /* write 2 zeros to address 0x1563610 */
0xab200001, 0x00000000, /* write 0x0 to address 0x1564000 */
- 0xab509021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a120 */
+ 0xab509021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a120 */
0x00050013, 0x00030002, /* if phase != 'pf3', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1acc11, 0x00000002, /* write 2 zeros to address 0x1563598 */
0xab1b0c11, 0x00000002, /* write 2 zeros to address 0x1563618 */
0xab200201, 0x00000000, /* write 0x0 to address 0x1564004 */
- 0xab509421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a128 */
+ 0xab509421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a128 */
0x00050013, 0x00040002, /* if phase != 'pf4', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1ad011, 0x00000002, /* write 2 zeros to address 0x15635a0 */
0xab1b1011, 0x00000002, /* write 2 zeros to address 0x1563620 */
0xab200401, 0x00000000, /* write 0x0 to address 0x1564008 */
- 0xab509821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a130 */
+ 0xab509821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a130 */
0x00050013, 0x00050002, /* if phase != 'pf5', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1ad411, 0x00000002, /* write 2 zeros to address 0x15635a8 */
0xab1b1411, 0x00000002, /* write 2 zeros to address 0x1563628 */
0xab200601, 0x00000000, /* write 0x0 to address 0x156400c */
- 0xab509c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a138 */
+ 0xab509c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a138 */
0x00050013, 0x00060002, /* if phase != 'pf6', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1ad811, 0x00000002, /* write 2 zeros to address 0x15635b0 */
0xab1b1811, 0x00000002, /* write 2 zeros to address 0x1563630 */
0xab200801, 0x00000000, /* write 0x0 to address 0x1564010 */
- 0xab50a021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a140 */
+ 0xab50a021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a140 */
0x00050013, 0x00070002, /* if phase != 'pf7', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1adc11, 0x00000002, /* write 2 zeros to address 0x15635b8 */
0xab1b1c11, 0x00000002, /* write 2 zeros to address 0x1563638 */
0xab200a01, 0x00000000, /* write 0x0 to address 0x1564014 */
- 0xab50a421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a148 */
+ 0xab50a421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a148 */
0x00050013, 0x00080002, /* if phase != 'pf8', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1ae011, 0x00000002, /* write 2 zeros to address 0x15635c0 */
0xab1b2011, 0x00000002, /* write 2 zeros to address 0x1563640 */
0xab200c01, 0x00000000, /* write 0x0 to address 0x1564018 */
- 0xab50a821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a150 */
+ 0xab50a821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a150 */
0x00050013, 0x00090002, /* if phase != 'pf9', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1ae411, 0x00000002, /* write 2 zeros to address 0x15635c8 */
0xab1b2411, 0x00000002, /* write 2 zeros to address 0x1563648 */
0xab200e01, 0x00000000, /* write 0x0 to address 0x156401c */
- 0xab50ac21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a158 */
+ 0xab50ac21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a158 */
0x00050013, 0x000a0002, /* if phase != 'pf10', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1ae811, 0x00000002, /* write 2 zeros to address 0x15635d0 */
0xab1b2811, 0x00000002, /* write 2 zeros to address 0x1563650 */
0xab201001, 0x00000000, /* write 0x0 to address 0x1564020 */
- 0xab50b021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a160 */
+ 0xab50b021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a160 */
0x00050013, 0x000b0002, /* if phase != 'pf11', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1aec11, 0x00000002, /* write 2 zeros to address 0x15635d8 */
0xab1b2c11, 0x00000002, /* write 2 zeros to address 0x1563658 */
0xab201201, 0x00000000, /* write 0x0 to address 0x1564024 */
- 0xab50b421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a168 */
+ 0xab50b421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a168 */
0x00050013, 0x000c0002, /* if phase != 'pf12', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1af011, 0x00000002, /* write 2 zeros to address 0x15635e0 */
0xab1b3011, 0x00000002, /* write 2 zeros to address 0x1563660 */
0xab201401, 0x00000000, /* write 0x0 to address 0x1564028 */
- 0xab50b821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a170 */
+ 0xab50b821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a170 */
0x00050013, 0x000d0002, /* if phase != 'pf13', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1af411, 0x00000002, /* write 2 zeros to address 0x15635e8 */
0xab1b3411, 0x00000002, /* write 2 zeros to address 0x1563668 */
0xab201601, 0x00000000, /* write 0x0 to address 0x156402c */
- 0xab50bc21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a178 */
+ 0xab50bc21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a178 */
0x00050013, 0x000e0002, /* if phase != 'pf14', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1af811, 0x00000002, /* write 2 zeros to address 0x15635f0 */
0xab1b3811, 0x00000002, /* write 2 zeros to address 0x1563670 */
0xab201801, 0x00000000, /* write 0x0 to address 0x1564030 */
- 0xab50c021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a180 */
+ 0xab50c021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a180 */
0x00050013, 0x000f0002, /* if phase != 'pf15', skip 5 ops */
0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
0xab1afc11, 0x00000002, /* write 2 zeros to address 0x15635f8 */
0xab1b3c11, 0x00000002, /* write 2 zeros to address 0x1563678 */
0xab201a01, 0x00000000, /* write 0x0 to address 0x1564034 */
- 0xab50c421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x156a188 */
+ 0xab50c421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x156a188 */
0x00010013, 0xffff0002, /* if phase != 'pf', skip 1 ops */
0xa8020601, 0x00000001, /* write 0x1 to address 0x150040c */
0x00020013, 0x00000001, /* if phase != 'port0', skip 2 ops */
@@ -2757,47 +2784,45 @@ ARRAY_DECL u32 init_ops[] = {
0x00010013, 0xffff0003, /* if phase != 'vf', skip 1 ops */
0xa8020401, 0x00000001, /* write 0x1 to address 0x1500408 */
/* PSEM */
- 0x004a0013, 0xffff0000, /* if phase != 'engine', skip 74 ops */
+ 0x00480013, 0xffff0000, /* if phase != 'engine', skip 72 ops */
0xb0002a01, 0x00000000, /* write 0x0 to address 0x1600054 */
- 0xb0006601, 0x00000000, /* write 0x0 to address 0x16000cc */
+ 0xb0010201, 0x00000000, /* write 0x0 to address 0x1600204 */
0xb2002201, 0x00000000, /* write 0x0 to address 0x1640044 */
0xb2032c01, 0x00000001, /* write 0x1 to address 0x1640658 */
0xb203a421, 0x000002d9, /* write array of size 3 from offset 729 to address 0x1640748 */
0xb2052401, 0x00001fff, /* write 0x1fff to address 0x1640a48 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0xb2010201, 0x00000000, /* write 0x0 to address 0x1640204 */
- 0x00040002, 0x00010000, /* if mode != 'bb|k2', skip 4 ops */
+ 0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb0002201, 0x00000000, /* write 0x0 to address 0x1600044 */
+ 0xb0006601, 0x00000000, /* write 0x0 to address 0x16000cc */
0xb1000111, 0x000002d0, /* write 720 zeros to address 0x1620000 (WB) */
0xb2025001, 0x00000007, /* write 0x7 to address 0x16404a0 */
0xb3000011, 0x00005000, /* write 20480 zeros to address 0x1660000 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0xb0010201, 0x00000000, /* write 0x0 to address 0x1600204 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xb2025c01, 0x00000000, /* write 0x0 to address 0x16404b8 */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xb2025c01, 0x00000002, /* write 0x2 to address 0x16404b8 */
- 0x00010002, 0x001f0000, /* if mode != '!(emul_reduced|fpga)', skip 1 ops */
+ 0x00020002, 0x001f0000, /* if mode != '!(emul_reduced|fpga)', skip 2 ops */
0xb2501e01, 0x00000007, /* write 0x7 to address 0x164a03c */
- 0x00010002, 0x00230000, /* if mode != '(!e5)&(!(emul_reduced|fpga))', skip 1 ops */
0xb2510201, 0x00000000, /* write 0x0 to address 0x164a204 */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb3000021, 0x000002dd, /* write array of size 6 from offset 733 to address 0x1660000 */
- 0xb300fc21, 0x0003b770, /* write array of size 4 from offset 243568 to address 0x16601f8 */
+ 0xb300fc21, 0x0003c615, /* write array of size 4 from offset 247317 to address 0x16601f8 */
0xb382fc21, 0x000006e6, /* write array of size 1 from offset 1766 to address 0x16705f8 */
0xb382fe11, 0x00000019, /* write 25 zeros to address 0x16705fc */
- 0xb39ffc21, 0x0003b775, /* write array of size 2 from offset 243573 to address 0x1673ff8 */
- 0x00010002, 0x00680000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
+ 0xb39ffc21, 0x0003c61a, /* write array of size 2 from offset 247322 to address 0x1673ff8 */
+ 0x00010002, 0x00800000, /* if mode != 'fpga&(bb|k2)', skip 1 ops */
0xb3142401, 0x00000002, /* write 0x2 to address 0x1662848 */
- 0x00010002, 0x00720000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00760000, /* if mode != 'ports_per_eng_1&(bb|k2)', skip 1 ops */
0xb3142601, 0x00000000, /* write 0x0 to address 0x166284c */
- 0x00010002, 0x006d0000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00990000, /* if mode != 'ports_per_eng_2&(bb|k2)', skip 1 ops */
0xb3142601, 0x00000001, /* write 0x1 to address 0x166284c */
- 0x00010002, 0x009f0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x009e0000, /* if mode != 'ports_per_eng_4&(bb|k2)', skip 1 ops */
0xb3142601, 0x00000002, /* write 0x2 to address 0x166284c */
- 0x00010002, 0x008b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x007b0000, /* if mode != 'k2&(bb|k2)', skip 1 ops */
0xb3142201, 0x00000003, /* write 0x3 to address 0x1662844 */
- 0x00010002, 0x00860000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
+ 0x00010002, 0x00850000, /* if mode != 'bb&(bb|k2)', skip 1 ops */
0xb3142201, 0x00000002, /* write 0x2 to address 0x1662844 */
0x00010002, 0x00120000, /* if mode != '(bb|k2)&(asic|chipsim|emul_full)', skip 1 ops */
0xb3142401, 0x00000003, /* write 0x3 to address 0x1662848 */
@@ -2808,28 +2833,28 @@ ARRAY_DECL u32 init_ops[] = {
0xb2500021, 0x00000759, /* write array of size 2 from offset 1881 to address 0x164a000 */
0xb2500601, 0xc000ffff, /* write 0xc000ffff to address 0x164a00c */
0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
- 0xb0022401, 0x0000102e, /* write 0x102e to address 0x1600448 */
- 0xb0028121, 0x0003b778, /* write array of size 14 from offset 243576 to address 0x1600500 (WB) */
- 0xb0800021, 0x0003b787, /* write array of size 256 from offset 243591 to address 0x1610000 */
- 0x00020002, 0x005c0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
- 0xb4000121, 0x0003b789, /* write array of size 41836 from offset 243593 to address 0x1680000 (WB) */
- 0xb546d921, 0x00045af6, /* write array of size 7316 from offset 285430 to address 0x16a8db0 (WB) */
+ 0xb0022401, 0x00000f69, /* write 0xf69 to address 0x1600448 */
+ 0xb0028121, 0x0003c61d, /* write array of size 14 from offset 247325 to address 0x1600500 (WB) */
+ 0xb0800021, 0x0003c62c, /* write array of size 256 from offset 247340 to address 0x1610000 */
+ 0x00020002, 0x006a0000, /* if mode != '(bb|k2)&(!chipsim)', skip 2 ops */
+ 0xb4000121, 0x0003c62e, /* write array of size 42876 from offset 247342 to address 0x1680000 (WB) */
+ 0xb54ef921, 0x00046dab, /* write array of size 6276 from offset 290219 to address 0x16a9df0 (WB) */
0x00010002, 0x001f0000, /* if mode != '!(emul_reduced|fpga)', skip 1 ops */
0xb2502001, 0x00000001, /* write 0x1 to address 0x164a040 */
0x000d0002, 0x00010000, /* if mode != 'bb|k2', skip 13 ops */
- 0xb0800021, 0x00045af9, /* write array of size 13 from offset 285433 to address 0x1610000 */
- 0xb0802221, 0x00045b07, /* write array of size 9 from offset 285447 to address 0x1610044 */
- 0xb0804221, 0x00045b11, /* write array of size 2 from offset 285457 to address 0x1610084 */
- 0xb0804801, 0x001e536e, /* write 0x1e536e to address 0x1610090 */
- 0xb0808221, 0x00045b14, /* write array of size 2 from offset 285460 to address 0x1610104 */
- 0xb0808801, 0x001e0337, /* write 0x1e0337 to address 0x1610110 */
- 0xb0809021, 0x00045b17, /* write array of size 2 from offset 285463 to address 0x1610120 */
- 0xb080c221, 0x00045b1a, /* write array of size 2 from offset 285466 to address 0x1610184 */
- 0xb080c821, 0x00045b1d, /* write array of size 10 from offset 285469 to address 0x1610190 */
- 0xb0810221, 0x00045b28, /* write array of size 3 from offset 285480 to address 0x1610204 */
- 0xb0811221, 0x00045b2c, /* write array of size 2 from offset 285484 to address 0x1610224 */
- 0xb0814221, 0x00045b2f, /* write array of size 2 from offset 285487 to address 0x1610284 */
- 0xb0818421, 0x00045b32, /* write array of size 6 from offset 285490 to address 0x1610308 */
+ 0xb0800021, 0x00046dae, /* write array of size 13 from offset 290222 to address 0x1610000 */
+ 0xb0802221, 0x00046dbc, /* write array of size 9 from offset 290236 to address 0x1610044 */
+ 0xb0804221, 0x00046dc6, /* write array of size 2 from offset 290246 to address 0x1610084 */
+ 0xb0804801, 0x001e5578, /* write 0x1e5578 to address 0x1610090 */
+ 0xb0808221, 0x00046dc9, /* write array of size 2 from offset 290249 to address 0x1610104 */
+ 0xb0808801, 0x001e02af, /* write 0x1e02af to address 0x1610110 */
+ 0xb0809021, 0x00046dcc, /* write array of size 2 from offset 290252 to address 0x1610120 */
+ 0xb080c221, 0x00046dcf, /* write array of size 2 from offset 290255 to address 0x1610184 */
+ 0xb080c821, 0x00046dd2, /* write array of size 10 from offset 290258 to address 0x1610190 */
+ 0xb0810221, 0x00046ddd, /* write array of size 4 from offset 290269 to address 0x1610204 */
+ 0xb0811221, 0x00046de2, /* write array of size 2 from offset 290274 to address 0x1610224 */
+ 0xb0814221, 0x00046de5, /* write array of size 2 from offset 290277 to address 0x1610284 */
+ 0xb0818421, 0x00046de8, /* write array of size 6 from offset 290280 to address 0x1610308 */
0x00010002, 0x001f0000, /* if mode != '!(emul_reduced|fpga)', skip 1 ops */
0xb2502411, 0x00000002, /* write 2 zeros to address 0x164a048 */
0x00060013, 0x00000002, /* if phase != 'pf0', skip 6 ops */
@@ -2837,113 +2862,113 @@ ARRAY_DECL u32 init_ops[] = {
0xb310a011, 0x00000002, /* write 2 zeros to address 0x1662140 */
0xb310e011, 0x00000002, /* write 2 zeros to address 0x16621c0 */
0xb349a401, 0x00000000, /* write 0x0 to address 0x1669348 */
- 0xb37d3c21, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fa78 */
- 0xb386fc21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670df8 */
+ 0xb37d3c21, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fa78 */
+ 0xb386fc21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670df8 */
0x00060013, 0x00010002, /* if phase != 'pf1', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310a411, 0x00000002, /* write 2 zeros to address 0x1662148 */
0xb310e411, 0x00000002, /* write 2 zeros to address 0x16621c8 */
0xb349a601, 0x00000000, /* write 0x0 to address 0x166934c */
- 0xb37d4021, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fa80 */
- 0xb3870021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e00 */
+ 0xb37d4021, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fa80 */
+ 0xb3870021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e00 */
0x00060013, 0x00020002, /* if phase != 'pf2', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310a811, 0x00000002, /* write 2 zeros to address 0x1662150 */
0xb310e811, 0x00000002, /* write 2 zeros to address 0x16621d0 */
0xb349a801, 0x00000000, /* write 0x0 to address 0x1669350 */
- 0xb37d4421, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fa88 */
- 0xb3870421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e08 */
+ 0xb37d4421, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fa88 */
+ 0xb3870421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e08 */
0x00060013, 0x00030002, /* if phase != 'pf3', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310ac11, 0x00000002, /* write 2 zeros to address 0x1662158 */
0xb310ec11, 0x00000002, /* write 2 zeros to address 0x16621d8 */
0xb349aa01, 0x00000000, /* write 0x0 to address 0x1669354 */
- 0xb37d4821, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fa90 */
- 0xb3870821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e10 */
+ 0xb37d4821, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fa90 */
+ 0xb3870821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e10 */
0x00060013, 0x00040002, /* if phase != 'pf4', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310b011, 0x00000002, /* write 2 zeros to address 0x1662160 */
0xb310f011, 0x00000002, /* write 2 zeros to address 0x16621e0 */
0xb349ac01, 0x00000000, /* write 0x0 to address 0x1669358 */
- 0xb37d4c21, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fa98 */
- 0xb3870c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e18 */
+ 0xb37d4c21, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fa98 */
+ 0xb3870c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e18 */
0x00060013, 0x00050002, /* if phase != 'pf5', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310b411, 0x00000002, /* write 2 zeros to address 0x1662168 */
0xb310f411, 0x00000002, /* write 2 zeros to address 0x16621e8 */
0xb349ae01, 0x00000000, /* write 0x0 to address 0x166935c */
- 0xb37d5021, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166faa0 */
- 0xb3871021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e20 */
+ 0xb37d5021, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166faa0 */
+ 0xb3871021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e20 */
0x00060013, 0x00060002, /* if phase != 'pf6', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310b811, 0x00000002, /* write 2 zeros to address 0x1662170 */
0xb310f811, 0x00000002, /* write 2 zeros to address 0x16621f0 */
0xb349b001, 0x00000000, /* write 0x0 to address 0x1669360 */
- 0xb37d5421, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166faa8 */
- 0xb3871421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e28 */
+ 0xb37d5421, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166faa8 */
+ 0xb3871421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e28 */
0x00060013, 0x00070002, /* if phase != 'pf7', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310bc11, 0x00000002, /* write 2 zeros to address 0x1662178 */
0xb310fc11, 0x00000002, /* write 2 zeros to address 0x16621f8 */
0xb349b201, 0x00000000, /* write 0x0 to address 0x1669364 */
- 0xb37d5821, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fab0 */
- 0xb3871821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e30 */
+ 0xb37d5821, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fab0 */
+ 0xb3871821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e30 */
0x00060013, 0x00080002, /* if phase != 'pf8', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310c011, 0x00000002, /* write 2 zeros to address 0x1662180 */
0xb3110011, 0x00000002, /* write 2 zeros to address 0x1662200 */
0xb349b401, 0x00000000, /* write 0x0 to address 0x1669368 */
- 0xb37d5c21, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fab8 */
- 0xb3871c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e38 */
+ 0xb37d5c21, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fab8 */
+ 0xb3871c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e38 */
0x00060013, 0x00090002, /* if phase != 'pf9', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310c411, 0x00000002, /* write 2 zeros to address 0x1662188 */
0xb3110411, 0x00000002, /* write 2 zeros to address 0x1662208 */
0xb349b601, 0x00000000, /* write 0x0 to address 0x166936c */
- 0xb37d6021, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fac0 */
- 0xb3872021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e40 */
+ 0xb37d6021, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fac0 */
+ 0xb3872021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e40 */
0x00060013, 0x000a0002, /* if phase != 'pf10', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310c811, 0x00000002, /* write 2 zeros to address 0x1662190 */
0xb3110811, 0x00000002, /* write 2 zeros to address 0x1662210 */
0xb349b801, 0x00000000, /* write 0x0 to address 0x1669370 */
- 0xb37d6421, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fac8 */
- 0xb3872421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e48 */
+ 0xb37d6421, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fac8 */
+ 0xb3872421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e48 */
0x00060013, 0x000b0002, /* if phase != 'pf11', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310cc11, 0x00000002, /* write 2 zeros to address 0x1662198 */
0xb3110c11, 0x00000002, /* write 2 zeros to address 0x1662218 */
0xb349ba01, 0x00000000, /* write 0x0 to address 0x1669374 */
- 0xb37d6821, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fad0 */
- 0xb3872821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e50 */
+ 0xb37d6821, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fad0 */
+ 0xb3872821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e50 */
0x00060013, 0x000c0002, /* if phase != 'pf12', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310d011, 0x00000002, /* write 2 zeros to address 0x16621a0 */
0xb3111011, 0x00000002, /* write 2 zeros to address 0x1662220 */
0xb349bc01, 0x00000000, /* write 0x0 to address 0x1669378 */
- 0xb37d6c21, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fad8 */
- 0xb3872c21, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e58 */
+ 0xb37d6c21, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fad8 */
+ 0xb3872c21, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e58 */
0x00060013, 0x000d0002, /* if phase != 'pf13', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310d411, 0x00000002, /* write 2 zeros to address 0x16621a8 */
0xb3111411, 0x00000002, /* write 2 zeros to address 0x1662228 */
0xb349be01, 0x00000000, /* write 0x0 to address 0x166937c */
- 0xb37d7021, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fae0 */
- 0xb3873021, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e60 */
+ 0xb37d7021, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fae0 */
+ 0xb3873021, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e60 */
0x00060013, 0x000e0002, /* if phase != 'pf14', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310d811, 0x00000002, /* write 2 zeros to address 0x16621b0 */
0xb3111811, 0x00000002, /* write 2 zeros to address 0x1662230 */
0xb349c001, 0x00000000, /* write 0x0 to address 0x1669380 */
- 0xb37d7421, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166fae8 */
- 0xb3873421, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e68 */
+ 0xb37d7421, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166fae8 */
+ 0xb3873421, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e68 */
0x00060013, 0x000f0002, /* if phase != 'pf15', skip 6 ops */
0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
0xb310dc11, 0x00000002, /* write 2 zeros to address 0x16621b8 */
0xb3111c11, 0x00000002, /* write 2 zeros to address 0x1662238 */
0xb349c201, 0x00000000, /* write 0x0 to address 0x1669384 */
- 0xb37d7821, 0x00045b39, /* write array of size 2 from offset 285497 to address 0x166faf0 */
- 0xb3873821, 0x000107db, /* write array of size 2 from offset 67547 to address 0x1670e70 */
+ 0xb37d7821, 0x00046def, /* write array of size 2 from offset 290287 to address 0x166faf0 */
+ 0xb3873821, 0x00010e4b, /* write array of size 2 from offset 69195 to address 0x1670e70 */
0x00010013, 0xffff0002, /* if phase != 'pf', skip 1 ops */
0xb0020601, 0x00000001, /* write 0x1 to address 0x160040c */
0x00020013, 0x00000001, /* if phase != 'port0', skip 2 ops */
@@ -2961,16 +2986,15 @@ ARRAY_DECL u32 init_ops[] = {
0x00010013, 0xffff0003, /* if phase != 'vf', skip 1 ops */
0xb0020401, 0x00000001, /* write 0x1 to address 0x1600408 */
/* RSS */
- 0x00050013, 0xffff0000, /* if phase != 'engine', skip 5 ops */
+ 0x00040013, 0xffff0000, /* if phase != 'engine', skip 4 ops */
0x11c4c201, 0x00000000, /* write 0x0 to address 0x238984 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
0x11c50201, 0x00000000, /* write 0x0 to address 0x238a04 */
0x11c40201, 0x00000001, /* write 0x1 to address 0x238804 */
0x11c40210, 0x00000000, /* wait until address 0x238804 reads 0x0 */
/* TMLD */
0x00030013, 0xffff0000, /* if phase != 'engine', skip 3 ops */
0x2680c201, 0x00000000, /* write 0x0 to address 0x4d0184 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
+ 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x26810201, 0x00000000, /* write 0x0 to address 0x4d0204 */
/* MULD */
0x00090013, 0xffff0000, /* if phase != 'engine', skip 9 ops */
@@ -2978,20 +3002,21 @@ ARRAY_DECL u32 init_ops[] = {
0x00020002, 0x00020000, /* if mode != 'bb', skip 2 ops */
0x27200111, 0x00000800, /* write 2048 zeros to address 0x4e4000 (WB) */
0x27400111, 0x00000800, /* write 2048 zeros to address 0x4e8000 (WB) */
- 0x00020002, 0x002c0000, /* if mode != '!bb', skip 2 ops */
+ 0x00020002, 0x00250000, /* if mode != '!bb', skip 2 ops */
0x27200111, 0x00000a00, /* write 2560 zeros to address 0x4e4000 (WB) */
0x27400111, 0x00000a00, /* write 2560 zeros to address 0x4e8000 (WB) */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
+ 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x27010201, 0x00000000, /* write 0x0 to address 0x4e0204 */
/* YULD */
- 0x00030013, 0xffff0000, /* if phase != 'engine', skip 3 ops */
- 0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
+ 0x00040013, 0xffff0000, /* if phase != 'engine', skip 4 ops */
+ 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x2640c201, 0x00000000, /* write 0x0 to address 0x4c8184 */
+ 0x00010002, 0x00e80000, /* if mode != '!e5', skip 1 ops */
0x26410201, 0x00000000, /* write 0x0 to address 0x4c8204 */
/* XYLD */
0x00030013, 0xffff0000, /* if phase != 'engine', skip 3 ops */
0x2600c201, 0x00000000, /* write 0x0 to address 0x4c0184 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
+ 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x26010201, 0x00000000, /* write 0x0 to address 0x4c0204 */
/* PRM */
0x000d0013, 0xffff0000, /* if phase != 'engine', skip 13 ops */
@@ -3002,7 +3027,7 @@ ARRAY_DECL u32 init_ops[] = {
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0x11810201, 0x00000000, /* write 0x0 to address 0x230204 */
0x11821201, 0x00000001, /* write 0x1 to address 0x230424 */
- 0x00010002, 0x002e0000, /* if mode != 'mf_sd', skip 1 ops */
+ 0x00010002, 0x00270000, /* if mode != 'mf_sd', skip 1 ops */
0x11820001, 0x00000001, /* write 0x1 to address 0x230400 */
0x00010002, 0x00020000, /* if mode != 'bb', skip 1 ops */
0x11821401, 0x00000001, /* write 0x1 to address 0x230428 */
@@ -3041,77 +3066,76 @@ ARRAY_DECL u32 init_ops[] = {
0x6d800201, 0x00000003, /* write 0x3 to address 0xdb0004 */
0x00010002, 0x00020000, /* if mode != 'bb', skip 1 ops */
0x6d842601, 0x00000005, /* write 0x5 to address 0xdb084c */
- 0x00010002, 0x004e0000, /* if mode != '100g', skip 1 ops */
+ 0x00010002, 0x005c0000, /* if mode != '100g', skip 1 ops */
0x6d842401, 0x00000567, /* write 0x567 to address 0xdb0848 */
0x6d800410, 0x00000003, /* wait until address 0xdb0008 reads 0x3 */
/* PBF */
- 0x00360013, 0xffff0000, /* if phase != 'engine', skip 54 ops */
+ 0x00350013, 0xffff0000, /* if phase != 'engine', skip 53 ops */
0x6c00c201, 0x00000000, /* write 0x0 to address 0xd80184 */
0x6c00ca01, 0x00000000, /* write 0x0 to address 0xd80194 */
- 0x6c024031, 0x85c60001, /* write runtime array of size 1 from offset 34246 to address 0xd80480 */
- 0x6c035031, 0x85c80001, /* write runtime array of size 1 from offset 34248 to address 0xd806a0 */
- 0x6c035e31, 0x85c90002, /* write runtime array of size 2 from offset 34249 to address 0xd806bc */
- 0x6c037031, 0x85cb0001, /* write runtime array of size 1 from offset 34251 to address 0xd806e0 */
- 0x6c037e31, 0x85cc0002, /* write runtime array of size 2 from offset 34252 to address 0xd806fc */
- 0x6c039031, 0x85ce0001, /* write runtime array of size 1 from offset 34254 to address 0xd80720 */
- 0x6c039e31, 0x85cf0002, /* write runtime array of size 2 from offset 34255 to address 0xd8073c */
- 0x6c03b031, 0x85d10001, /* write runtime array of size 1 from offset 34257 to address 0xd80760 */
- 0x6c03be31, 0x85d20002, /* write runtime array of size 2 from offset 34258 to address 0xd8077c */
- 0x6c03d031, 0x85d40001, /* write runtime array of size 1 from offset 34260 to address 0xd807a0 */
- 0x6c03de31, 0x85d50002, /* write runtime array of size 2 from offset 34261 to address 0xd807bc */
- 0x6c03f031, 0x85d70001, /* write runtime array of size 1 from offset 34263 to address 0xd807e0 */
- 0x6c03fe31, 0x85d80002, /* write runtime array of size 2 from offset 34264 to address 0xd807fc */
- 0x6c041031, 0x85da0001, /* write runtime array of size 1 from offset 34266 to address 0xd80820 */
- 0x6c041e31, 0x85db0002, /* write runtime array of size 2 from offset 34267 to address 0xd8083c */
- 0x6c043031, 0x85dd0001, /* write runtime array of size 1 from offset 34269 to address 0xd80860 */
- 0x6c043e31, 0x85de0002, /* write runtime array of size 2 from offset 34270 to address 0xd8087c */
- 0x6c045031, 0x85e00001, /* write runtime array of size 1 from offset 34272 to address 0xd808a0 */
- 0x6c045e31, 0x85e10002, /* write runtime array of size 2 from offset 34273 to address 0xd808bc */
- 0x6c047031, 0x85e30001, /* write runtime array of size 1 from offset 34275 to address 0xd808e0 */
- 0x6c047e31, 0x85e40002, /* write runtime array of size 2 from offset 34276 to address 0xd808fc */
- 0x6c049031, 0x85e60001, /* write runtime array of size 1 from offset 34278 to address 0xd80920 */
- 0x6c049e31, 0x85e70002, /* write runtime array of size 2 from offset 34279 to address 0xd8093c */
- 0x6c04b031, 0x85e90001, /* write runtime array of size 1 from offset 34281 to address 0xd80960 */
- 0x6c04be31, 0x85ea0002, /* write runtime array of size 2 from offset 34282 to address 0xd8097c */
- 0x6c04d031, 0x85ec0001, /* write runtime array of size 1 from offset 34284 to address 0xd809a0 */
- 0x6c04de31, 0x85ed0002, /* write runtime array of size 2 from offset 34285 to address 0xd809bc */
- 0x6c04f031, 0x85ef0001, /* write runtime array of size 1 from offset 34287 to address 0xd809e0 */
- 0x6c04fe31, 0x85f00002, /* write runtime array of size 2 from offset 34288 to address 0xd809fc */
- 0x6c051031, 0x85f20001, /* write runtime array of size 1 from offset 34290 to address 0xd80a20 */
- 0x6c051e31, 0x85f30002, /* write runtime array of size 2 from offset 34291 to address 0xd80a3c */
- 0x6c053031, 0x85f50001, /* write runtime array of size 1 from offset 34293 to address 0xd80a60 */
- 0x6c053e31, 0x85f60002, /* write runtime array of size 2 from offset 34294 to address 0xd80a7c */
- 0x6c055031, 0x85f80001, /* write runtime array of size 1 from offset 34296 to address 0xd80aa0 */
- 0x6c055e31, 0x85f90002, /* write runtime array of size 2 from offset 34297 to address 0xd80abc */
- 0x6c057031, 0x85fb0001, /* write runtime array of size 1 from offset 34299 to address 0xd80ae0 */
- 0x6c057e31, 0x85fc0002, /* write runtime array of size 2 from offset 34300 to address 0xd80afc */
- 0x6c059031, 0x85fe0001, /* write runtime array of size 1 from offset 34302 to address 0xd80b20 */
- 0x6c059e31, 0x85ff0002, /* write runtime array of size 2 from offset 34303 to address 0xd80b3c */
- 0x6c05b031, 0x86010001, /* write runtime array of size 1 from offset 34305 to address 0xd80b60 */
- 0x6c05be31, 0x86020002, /* write runtime array of size 2 from offset 34306 to address 0xd80b7c */
+ 0x6c010201, 0x00000000, /* write 0x0 to address 0xd80204 */
+ 0x6c010a01, 0x00000000, /* write 0x0 to address 0xd80214 */
+ 0x6c024031, 0x89260001, /* write runtime array of size 1 from offset 35110 to address 0xd80480 */
+ 0x6c035031, 0x89280001, /* write runtime array of size 1 from offset 35112 to address 0xd806a0 */
+ 0x6c035e31, 0x89290002, /* write runtime array of size 2 from offset 35113 to address 0xd806bc */
+ 0x6c037031, 0x892b0001, /* write runtime array of size 1 from offset 35115 to address 0xd806e0 */
+ 0x6c037e31, 0x892c0002, /* write runtime array of size 2 from offset 35116 to address 0xd806fc */
+ 0x6c039031, 0x892e0001, /* write runtime array of size 1 from offset 35118 to address 0xd80720 */
+ 0x6c039e31, 0x892f0002, /* write runtime array of size 2 from offset 35119 to address 0xd8073c */
+ 0x6c03b031, 0x89310001, /* write runtime array of size 1 from offset 35121 to address 0xd80760 */
+ 0x6c03be31, 0x89320002, /* write runtime array of size 2 from offset 35122 to address 0xd8077c */
+ 0x6c03d031, 0x89340001, /* write runtime array of size 1 from offset 35124 to address 0xd807a0 */
+ 0x6c03de31, 0x89350002, /* write runtime array of size 2 from offset 35125 to address 0xd807bc */
+ 0x6c03f031, 0x89370001, /* write runtime array of size 1 from offset 35127 to address 0xd807e0 */
+ 0x6c03fe31, 0x89380002, /* write runtime array of size 2 from offset 35128 to address 0xd807fc */
+ 0x6c041031, 0x893a0001, /* write runtime array of size 1 from offset 35130 to address 0xd80820 */
+ 0x6c041e31, 0x893b0002, /* write runtime array of size 2 from offset 35131 to address 0xd8083c */
+ 0x6c043031, 0x893d0001, /* write runtime array of size 1 from offset 35133 to address 0xd80860 */
+ 0x6c043e31, 0x893e0002, /* write runtime array of size 2 from offset 35134 to address 0xd8087c */
+ 0x6c045031, 0x89400001, /* write runtime array of size 1 from offset 35136 to address 0xd808a0 */
+ 0x6c045e31, 0x89410002, /* write runtime array of size 2 from offset 35137 to address 0xd808bc */
+ 0x6c047031, 0x89430001, /* write runtime array of size 1 from offset 35139 to address 0xd808e0 */
+ 0x6c047e31, 0x89440002, /* write runtime array of size 2 from offset 35140 to address 0xd808fc */
+ 0x6c049031, 0x89460001, /* write runtime array of size 1 from offset 35142 to address 0xd80920 */
+ 0x6c049e31, 0x89470002, /* write runtime array of size 2 from offset 35143 to address 0xd8093c */
+ 0x6c04b031, 0x89490001, /* write runtime array of size 1 from offset 35145 to address 0xd80960 */
+ 0x6c04be31, 0x894a0002, /* write runtime array of size 2 from offset 35146 to address 0xd8097c */
+ 0x6c04d031, 0x894c0001, /* write runtime array of size 1 from offset 35148 to address 0xd809a0 */
+ 0x6c04de31, 0x894d0002, /* write runtime array of size 2 from offset 35149 to address 0xd809bc */
+ 0x6c04f031, 0x894f0001, /* write runtime array of size 1 from offset 35151 to address 0xd809e0 */
+ 0x6c04fe31, 0x89500002, /* write runtime array of size 2 from offset 35152 to address 0xd809fc */
+ 0x6c051031, 0x89520001, /* write runtime array of size 1 from offset 35154 to address 0xd80a20 */
+ 0x6c051e31, 0x89530002, /* write runtime array of size 2 from offset 35155 to address 0xd80a3c */
+ 0x6c053031, 0x89550001, /* write runtime array of size 1 from offset 35157 to address 0xd80a60 */
+ 0x6c053e31, 0x89560002, /* write runtime array of size 2 from offset 35158 to address 0xd80a7c */
+ 0x6c055031, 0x89580001, /* write runtime array of size 1 from offset 35160 to address 0xd80aa0 */
+ 0x6c055e31, 0x89590002, /* write runtime array of size 2 from offset 35161 to address 0xd80abc */
+ 0x6c057031, 0x895b0001, /* write runtime array of size 1 from offset 35163 to address 0xd80ae0 */
+ 0x6c057e31, 0x895c0002, /* write runtime array of size 2 from offset 35164 to address 0xd80afc */
+ 0x6c059031, 0x895e0001, /* write runtime array of size 1 from offset 35166 to address 0xd80b20 */
+ 0x6c059e31, 0x895f0002, /* write runtime array of size 2 from offset 35167 to address 0xd80b3c */
+ 0x6c05b031, 0x89610001, /* write runtime array of size 1 from offset 35169 to address 0xd80b60 */
+ 0x6c05be31, 0x89620002, /* write runtime array of size 2 from offset 35170 to address 0xd80b7c */
0x00010002, 0x00020000, /* if mode != 'bb', skip 1 ops */
0x6c020001, 0x00000001, /* write 0x1 to address 0xd80400 */
- 0x00010002, 0x002e0000, /* if mode != 'mf_sd', skip 1 ops */
+ 0x00010002, 0x00270000, /* if mode != 'mf_sd', skip 1 ops */
0x6c024c01, 0x00000001, /* write 0x1 to address 0xd80498 */
- 0x00010002, 0x002c0000, /* if mode != '!bb', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x6c022801, 0x00000018, /* write 0x18 to address 0xd80450 */
- 0x00020002, 0x00240000, /* if mode != '!e5', skip 2 ops */
- 0x6c010201, 0x00000000, /* write 0x0 to address 0xd80204 */
- 0x6c010a01, 0x00000000, /* write 0x0 to address 0xd80214 */
0x6c000001, 0x00000001, /* write 0x1 to address 0xd80000 */
0x6c000001, 0x00000000, /* write 0x0 to address 0xd80000 */
0x000c0013, 0xffff0001, /* if phase != 'port', skip 12 ops */
0x6c025801, 0x00000082, /* write 0x82 to address 0xd804b0 */
0x6c025e01, 0x00000080, /* write 0x80 to address 0xd804bc */
- 0x6c026821, 0x00045b3c, /* write array of size 2 from offset 285500 to address 0xd804d0 */
- 0x6c026e21, 0x00045b3f, /* write array of size 2 from offset 285503 to address 0xd804dc */
+ 0x6c026821, 0x00046df2, /* write array of size 2 from offset 290290 to address 0xd804d0 */
+ 0x6c026e21, 0x00046df5, /* write array of size 2 from offset 290293 to address 0xd804dc */
0x6c027a01, 0x00000000, /* write 0x0 to address 0xd804f4 */
- 0x6c028c21, 0x00045b42, /* write array of size 2 from offset 285506 to address 0xd80518 */
+ 0x6c028c21, 0x00046df8, /* write array of size 2 from offset 290296 to address 0xd80518 */
0x6c029201, 0x00000000, /* write 0x0 to address 0xd80524 */
- 0x6c02e031, 0x85c70001, /* write runtime array of size 1 from offset 34247 to address 0xd805c0 */
- 0x00010002, 0x002e0000, /* if mode != 'mf_sd', skip 1 ops */
+ 0x6c02e031, 0x89270001, /* write runtime array of size 1 from offset 35111 to address 0xd805c0 */
+ 0x00010002, 0x00270000, /* if mode != 'mf_sd', skip 1 ops */
0x6c025c01, 0x00000082, /* write 0x82 to address 0xd804b8 */
- 0x00010002, 0x00d20000, /* if mode != 'sf|mf_si', skip 1 ops */
+ 0x00010002, 0x00e30000, /* if mode != 'sf|mf_si', skip 1 ops */
0x6c025c01, 0x00000000, /* write 0x0 to address 0xd804b8 */
/* RDIF */
0x00040013, 0xffff0000, /* if phase != 'engine', skip 4 ops */
@@ -3129,179 +3153,178 @@ ARRAY_DECL u32 init_ops[] = {
0x18810201, 0x00000000, /* write 0x0 to address 0x310204 */
0x18800001, 0x00000001, /* write 0x1 to address 0x310000 */
/* CDU */
- 0x00990013, 0xffff0000, /* if phase != 'engine', skip 153 ops */
+ 0x00980013, 0xffff0000, /* if phase != 'engine', skip 152 ops */
0x2c00e601, 0x00000000, /* write 0x0 to address 0x5801cc */
- 0x2c048031, 0x85b90003, /* write runtime array of size 3 from offset 34233 to address 0x580900 */
- 0x007e0002, 0x00010000, /* if mode != 'bb|k2', skip 126 ops */
- 0x2c080121, 0x00045b45, /* write array of size 9 from offset 285509 to address 0x581000 (WB) */
- 0x2c082121, 0x00045b4f, /* write array of size 9 from offset 285519 to address 0x581040 (WB) */
- 0x2c084121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x581080 (WB) */
- 0x2c086121, 0x00045b63, /* write array of size 9 from offset 285539 to address 0x5810c0 (WB) */
- 0x2c088121, 0x00045b6d, /* write array of size 9 from offset 285549 to address 0x581100 (WB) */
- 0x2c08a121, 0x00045b77, /* write array of size 9 from offset 285559 to address 0x581140 (WB) */
- 0x2c08c121, 0x00045b81, /* write array of size 9 from offset 285569 to address 0x581180 (WB) */
- 0x2c08e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5811c0 (WB) */
- 0x2c090121, 0x00045b8b, /* write array of size 9 from offset 285579 to address 0x581200 (WB) */
- 0x2c092121, 0x00045b95, /* write array of size 9 from offset 285589 to address 0x581240 (WB) */
- 0x2c094121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x581280 (WB) */
- 0x2c096121, 0x00045b9f, /* write array of size 9 from offset 285599 to address 0x5812c0 (WB) */
- 0x2c098121, 0x00045ba9, /* write array of size 9 from offset 285609 to address 0x581300 (WB) */
- 0x2c09a121, 0x00045bb3, /* write array of size 9 from offset 285619 to address 0x581340 (WB) */
- 0x2c09c121, 0x00045bbd, /* write array of size 9 from offset 285629 to address 0x581380 (WB) */
- 0x2c09e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5813c0 (WB) */
- 0x2c0a0121, 0x00045bc7, /* write array of size 9 from offset 285639 to address 0x581400 (WB) */
- 0x2c0a2121, 0x00045b4f, /* write array of size 9 from offset 285519 to address 0x581440 (WB) */
- 0x2c0a4121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x581480 (WB) */
- 0x2c0a6121, 0x00045bd1, /* write array of size 9 from offset 285649 to address 0x5814c0 (WB) */
- 0x2c0a8121, 0x00045b6d, /* write array of size 9 from offset 285549 to address 0x581500 (WB) */
- 0x2c0aa121, 0x00045bb3, /* write array of size 9 from offset 285619 to address 0x581540 (WB) */
- 0x2c0ac121, 0x00045bdb, /* write array of size 9 from offset 285659 to address 0x581580 (WB) */
- 0x2c0ae121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5815c0 (WB) */
- 0x2c0b0121, 0x00045be5, /* write array of size 9 from offset 285669 to address 0x581600 (WB) */
- 0x2c0b2121, 0x00045b95, /* write array of size 9 from offset 285589 to address 0x581640 (WB) */
- 0x2c0b4121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x581680 (WB) */
- 0x2c0b6121, 0x00045bef, /* write array of size 9 from offset 285679 to address 0x5816c0 (WB) */
- 0x2c0b8121, 0x00045bf9, /* write array of size 9 from offset 285689 to address 0x581700 (WB) */
- 0x2c0ba121, 0x00045bb3, /* write array of size 9 from offset 285619 to address 0x581740 (WB) */
- 0x2c0bc121, 0x00045c03, /* write array of size 9 from offset 285699 to address 0x581780 (WB) */
- 0x2c0be121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5817c0 (WB) */
- 0x2c0c0121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x581800 (WB) */
- 0x2c0c2121, 0x00045c0d, /* write array of size 9 from offset 285709 to address 0x581840 (WB) */
- 0x2c0c4121, 0x00045c17, /* write array of size 9 from offset 285719 to address 0x581880 (WB) */
- 0x2c0c6121, 0x00045bef, /* write array of size 9 from offset 285679 to address 0x5818c0 (WB) */
- 0x2c0c8121, 0x00045c21, /* write array of size 9 from offset 285729 to address 0x581900 (WB) */
- 0x2c0ca121, 0x00045bb3, /* write array of size 9 from offset 285619 to address 0x581940 (WB) */
- 0x2c0cc121, 0x00045c2b, /* write array of size 9 from offset 285739 to address 0x581980 (WB) */
- 0x2c0ce121, 0x00045c35, /* write array of size 9 from offset 285749 to address 0x5819c0 (WB) */
- 0x2c0d0121, 0x00045c3f, /* write array of size 9 from offset 285759 to address 0x581a00 (WB) */
- 0x2c0d2121, 0x00045b4f, /* write array of size 9 from offset 285519 to address 0x581a40 (WB) */
- 0x2c0d4121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x581a80 (WB) */
- 0x2c0d6121, 0x00045b63, /* write array of size 9 from offset 285539 to address 0x581ac0 (WB) */
- 0x2c0d8121, 0x00045b6d, /* write array of size 9 from offset 285549 to address 0x581b00 (WB) */
- 0x2c0da121, 0x00045bb3, /* write array of size 9 from offset 285619 to address 0x581b40 (WB) */
- 0x2c0dc121, 0x00045c49, /* write array of size 9 from offset 285769 to address 0x581b80 (WB) */
- 0x2c0de121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x581bc0 (WB) */
- 0x2c0e0121, 0x00045c3f, /* write array of size 9 from offset 285759 to address 0x581c00 (WB) */
- 0x2c0e2121, 0x00045b4f, /* write array of size 9 from offset 285519 to address 0x581c40 (WB) */
- 0x2c0e4121, 0x00045c53, /* write array of size 9 from offset 285779 to address 0x581c80 (WB) */
- 0x2c0e6121, 0x00045b63, /* write array of size 9 from offset 285539 to address 0x581cc0 (WB) */
- 0x2c0e8121, 0x00045b6d, /* write array of size 9 from offset 285549 to address 0x581d00 (WB) */
- 0x2c0ea121, 0x00045bb3, /* write array of size 9 from offset 285619 to address 0x581d40 (WB) */
- 0x2c0ec121, 0x00045c5d, /* write array of size 9 from offset 285789 to address 0x581d80 (WB) */
- 0x2c0ee121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x581dc0 (WB) */
- 0x2c0f0121, 0x00045c3f, /* write array of size 9 from offset 285759 to address 0x581e00 (WB) */
- 0x2c0f2121, 0x00045c67, /* write array of size 9 from offset 285799 to address 0x581e40 (WB) */
- 0x2c0f4121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x581e80 (WB) */
- 0x2c0f6121, 0x00045b63, /* write array of size 9 from offset 285539 to address 0x581ec0 (WB) */
- 0x2c0f8121, 0x00045b6d, /* write array of size 9 from offset 285549 to address 0x581f00 (WB) */
- 0x2c0fa121, 0x00045bb3, /* write array of size 9 from offset 285619 to address 0x581f40 (WB) */
- 0x2c0fc121, 0x00045c71, /* write array of size 9 from offset 285809 to address 0x581f80 (WB) */
- 0x2c0fe121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x581fc0 (WB) */
- 0x2c110121, 0x00045c7b, /* write array of size 9 from offset 285819 to address 0x582200 (WB) */
- 0x2c112121, 0x00045c85, /* write array of size 9 from offset 285829 to address 0x582240 (WB) */
- 0x2c114121, 0x00045c8f, /* write array of size 9 from offset 285839 to address 0x582280 (WB) */
- 0x2c116121, 0x00045c99, /* write array of size 9 from offset 285849 to address 0x5822c0 (WB) */
- 0x2c118121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582300 (WB) */
- 0x2c11a121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582340 (WB) */
- 0x2c11c121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582380 (WB) */
- 0x2c11e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5823c0 (WB) */
- 0x2c120121, 0x00045ca3, /* write array of size 9 from offset 285859 to address 0x582400 (WB) */
- 0x2c122121, 0x00045cad, /* write array of size 9 from offset 285869 to address 0x582440 (WB) */
- 0x2c124121, 0x00045cb7, /* write array of size 9 from offset 285879 to address 0x582480 (WB) */
- 0x2c126121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5824c0 (WB) */
- 0x2c128121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582500 (WB) */
- 0x2c12a121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582540 (WB) */
- 0x2c12c121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582580 (WB) */
- 0x2c12e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5825c0 (WB) */
- 0x2c130121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582600 (WB) */
- 0x2c132121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582640 (WB) */
- 0x2c134121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582680 (WB) */
- 0x2c136121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5826c0 (WB) */
- 0x2c138121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582700 (WB) */
- 0x2c13a121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582740 (WB) */
- 0x2c13c121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582780 (WB) */
- 0x2c13e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5827c0 (WB) */
- 0x2c140121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582800 (WB) */
- 0x2c142121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582840 (WB) */
- 0x2c144121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582880 (WB) */
- 0x2c146121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5828c0 (WB) */
- 0x2c148121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582900 (WB) */
- 0x2c14a121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582940 (WB) */
- 0x2c14c121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582980 (WB) */
- 0x2c14e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5829c0 (WB) */
- 0x2c150121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582a00 (WB) */
- 0x2c152121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582a40 (WB) */
- 0x2c154121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582a80 (WB) */
- 0x2c156121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582ac0 (WB) */
- 0x2c158121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582b00 (WB) */
- 0x2c15a121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582b40 (WB) */
- 0x2c15c121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582b80 (WB) */
- 0x2c15e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582bc0 (WB) */
- 0x2c160121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582c00 (WB) */
- 0x2c162121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582c40 (WB) */
- 0x2c164121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582c80 (WB) */
- 0x2c166121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582cc0 (WB) */
- 0x2c168121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582d00 (WB) */
- 0x2c16a121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582d40 (WB) */
- 0x2c16c121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582d80 (WB) */
- 0x2c16e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582dc0 (WB) */
- 0x2c170121, 0x00045cc1, /* write array of size 9 from offset 285889 to address 0x582e00 (WB) */
- 0x2c172121, 0x00045cad, /* write array of size 9 from offset 285869 to address 0x582e40 (WB) */
- 0x2c174121, 0x00045ccb, /* write array of size 9 from offset 285899 to address 0x582e80 (WB) */
- 0x2c176121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582ec0 (WB) */
- 0x2c178121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582f00 (WB) */
- 0x2c17a121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582f40 (WB) */
- 0x2c17c121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582f80 (WB) */
- 0x2c17e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582fc0 (WB) */
- 0x2c180121, 0x00045cd5, /* write array of size 64 from offset 285909 to address 0x583000 (WB) */
- 0x2c189121, 0x00045d16, /* write array of size 16 from offset 285974 to address 0x583120 (WB) */
+ 0x2c048031, 0x89190003, /* write runtime array of size 3 from offset 35097 to address 0x580900 */
+ 0x007f0002, 0x00010000, /* if mode != 'bb|k2', skip 127 ops */
+ 0x2c010201, 0x00000000, /* write 0x0 to address 0x580204 */
+ 0x2c080121, 0x00046dfb, /* write array of size 9 from offset 290299 to address 0x581000 (WB) */
+ 0x2c082121, 0x00046e05, /* write array of size 9 from offset 290309 to address 0x581040 (WB) */
+ 0x2c084121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x581080 (WB) */
+ 0x2c086121, 0x00046e19, /* write array of size 9 from offset 290329 to address 0x5810c0 (WB) */
+ 0x2c088121, 0x00046e23, /* write array of size 9 from offset 290339 to address 0x581100 (WB) */
+ 0x2c08a121, 0x00046e2d, /* write array of size 9 from offset 290349 to address 0x581140 (WB) */
+ 0x2c08c121, 0x00046e37, /* write array of size 9 from offset 290359 to address 0x581180 (WB) */
+ 0x2c08e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5811c0 (WB) */
+ 0x2c090121, 0x00046e41, /* write array of size 9 from offset 290369 to address 0x581200 (WB) */
+ 0x2c092121, 0x00046e4b, /* write array of size 9 from offset 290379 to address 0x581240 (WB) */
+ 0x2c094121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x581280 (WB) */
+ 0x2c096121, 0x00046e55, /* write array of size 9 from offset 290389 to address 0x5812c0 (WB) */
+ 0x2c098121, 0x00046e5f, /* write array of size 9 from offset 290399 to address 0x581300 (WB) */
+ 0x2c09a121, 0x00046e69, /* write array of size 9 from offset 290409 to address 0x581340 (WB) */
+ 0x2c09c121, 0x00046e73, /* write array of size 9 from offset 290419 to address 0x581380 (WB) */
+ 0x2c09e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5813c0 (WB) */
+ 0x2c0a0121, 0x00046e7d, /* write array of size 9 from offset 290429 to address 0x581400 (WB) */
+ 0x2c0a2121, 0x00046e05, /* write array of size 9 from offset 290309 to address 0x581440 (WB) */
+ 0x2c0a4121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x581480 (WB) */
+ 0x2c0a6121, 0x00046e87, /* write array of size 9 from offset 290439 to address 0x5814c0 (WB) */
+ 0x2c0a8121, 0x00046e23, /* write array of size 9 from offset 290339 to address 0x581500 (WB) */
+ 0x2c0aa121, 0x00046e69, /* write array of size 9 from offset 290409 to address 0x581540 (WB) */
+ 0x2c0ac121, 0x00046e91, /* write array of size 9 from offset 290449 to address 0x581580 (WB) */
+ 0x2c0ae121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5815c0 (WB) */
+ 0x2c0b0121, 0x00046e9b, /* write array of size 9 from offset 290459 to address 0x581600 (WB) */
+ 0x2c0b2121, 0x00046e4b, /* write array of size 9 from offset 290379 to address 0x581640 (WB) */
+ 0x2c0b4121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x581680 (WB) */
+ 0x2c0b6121, 0x00046ea5, /* write array of size 9 from offset 290469 to address 0x5816c0 (WB) */
+ 0x2c0b8121, 0x00046eaf, /* write array of size 9 from offset 290479 to address 0x581700 (WB) */
+ 0x2c0ba121, 0x00046e69, /* write array of size 9 from offset 290409 to address 0x581740 (WB) */
+ 0x2c0bc121, 0x00046eb9, /* write array of size 9 from offset 290489 to address 0x581780 (WB) */
+ 0x2c0be121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5817c0 (WB) */
+ 0x2c0c0121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x581800 (WB) */
+ 0x2c0c2121, 0x00046ec3, /* write array of size 9 from offset 290499 to address 0x581840 (WB) */
+ 0x2c0c4121, 0x00046ecd, /* write array of size 9 from offset 290509 to address 0x581880 (WB) */
+ 0x2c0c6121, 0x00046ea5, /* write array of size 9 from offset 290469 to address 0x5818c0 (WB) */
+ 0x2c0c8121, 0x00046ed7, /* write array of size 9 from offset 290519 to address 0x581900 (WB) */
+ 0x2c0ca121, 0x00046e69, /* write array of size 9 from offset 290409 to address 0x581940 (WB) */
+ 0x2c0cc121, 0x00046ee1, /* write array of size 9 from offset 290529 to address 0x581980 (WB) */
+ 0x2c0ce121, 0x00046eeb, /* write array of size 9 from offset 290539 to address 0x5819c0 (WB) */
+ 0x2c0d0121, 0x00046ef5, /* write array of size 9 from offset 290549 to address 0x581a00 (WB) */
+ 0x2c0d2121, 0x00046e05, /* write array of size 9 from offset 290309 to address 0x581a40 (WB) */
+ 0x2c0d4121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x581a80 (WB) */
+ 0x2c0d6121, 0x00046e19, /* write array of size 9 from offset 290329 to address 0x581ac0 (WB) */
+ 0x2c0d8121, 0x00046e23, /* write array of size 9 from offset 290339 to address 0x581b00 (WB) */
+ 0x2c0da121, 0x00046e69, /* write array of size 9 from offset 290409 to address 0x581b40 (WB) */
+ 0x2c0dc121, 0x00046eff, /* write array of size 9 from offset 290559 to address 0x581b80 (WB) */
+ 0x2c0de121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x581bc0 (WB) */
+ 0x2c0e0121, 0x00046ef5, /* write array of size 9 from offset 290549 to address 0x581c00 (WB) */
+ 0x2c0e2121, 0x00046e05, /* write array of size 9 from offset 290309 to address 0x581c40 (WB) */
+ 0x2c0e4121, 0x00046f09, /* write array of size 9 from offset 290569 to address 0x581c80 (WB) */
+ 0x2c0e6121, 0x00046e19, /* write array of size 9 from offset 290329 to address 0x581cc0 (WB) */
+ 0x2c0e8121, 0x00046e23, /* write array of size 9 from offset 290339 to address 0x581d00 (WB) */
+ 0x2c0ea121, 0x00046e69, /* write array of size 9 from offset 290409 to address 0x581d40 (WB) */
+ 0x2c0ec121, 0x00046f13, /* write array of size 9 from offset 290579 to address 0x581d80 (WB) */
+ 0x2c0ee121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x581dc0 (WB) */
+ 0x2c0f0121, 0x00046ef5, /* write array of size 9 from offset 290549 to address 0x581e00 (WB) */
+ 0x2c0f2121, 0x00046f1d, /* write array of size 9 from offset 290589 to address 0x581e40 (WB) */
+ 0x2c0f4121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x581e80 (WB) */
+ 0x2c0f6121, 0x00046e19, /* write array of size 9 from offset 290329 to address 0x581ec0 (WB) */
+ 0x2c0f8121, 0x00046e23, /* write array of size 9 from offset 290339 to address 0x581f00 (WB) */
+ 0x2c0fa121, 0x00046e69, /* write array of size 9 from offset 290409 to address 0x581f40 (WB) */
+ 0x2c0fc121, 0x00046f27, /* write array of size 9 from offset 290599 to address 0x581f80 (WB) */
+ 0x2c0fe121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x581fc0 (WB) */
+ 0x2c110121, 0x00046f31, /* write array of size 9 from offset 290609 to address 0x582200 (WB) */
+ 0x2c112121, 0x00046f3b, /* write array of size 9 from offset 290619 to address 0x582240 (WB) */
+ 0x2c114121, 0x00046f45, /* write array of size 9 from offset 290629 to address 0x582280 (WB) */
+ 0x2c116121, 0x00046f4f, /* write array of size 9 from offset 290639 to address 0x5822c0 (WB) */
+ 0x2c118121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582300 (WB) */
+ 0x2c11a121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582340 (WB) */
+ 0x2c11c121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582380 (WB) */
+ 0x2c11e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5823c0 (WB) */
+ 0x2c120121, 0x00046f59, /* write array of size 9 from offset 290649 to address 0x582400 (WB) */
+ 0x2c122121, 0x00046f63, /* write array of size 9 from offset 290659 to address 0x582440 (WB) */
+ 0x2c124121, 0x00046f6d, /* write array of size 9 from offset 290669 to address 0x582480 (WB) */
+ 0x2c126121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5824c0 (WB) */
+ 0x2c128121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582500 (WB) */
+ 0x2c12a121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582540 (WB) */
+ 0x2c12c121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582580 (WB) */
+ 0x2c12e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5825c0 (WB) */
+ 0x2c130121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582600 (WB) */
+ 0x2c132121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582640 (WB) */
+ 0x2c134121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582680 (WB) */
+ 0x2c136121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5826c0 (WB) */
+ 0x2c138121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582700 (WB) */
+ 0x2c13a121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582740 (WB) */
+ 0x2c13c121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582780 (WB) */
+ 0x2c13e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5827c0 (WB) */
+ 0x2c140121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582800 (WB) */
+ 0x2c142121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582840 (WB) */
+ 0x2c144121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582880 (WB) */
+ 0x2c146121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5828c0 (WB) */
+ 0x2c148121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582900 (WB) */
+ 0x2c14a121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582940 (WB) */
+ 0x2c14c121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582980 (WB) */
+ 0x2c14e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5829c0 (WB) */
+ 0x2c150121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582a00 (WB) */
+ 0x2c152121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582a40 (WB) */
+ 0x2c154121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582a80 (WB) */
+ 0x2c156121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582ac0 (WB) */
+ 0x2c158121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582b00 (WB) */
+ 0x2c15a121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582b40 (WB) */
+ 0x2c15c121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582b80 (WB) */
+ 0x2c15e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582bc0 (WB) */
+ 0x2c160121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582c00 (WB) */
+ 0x2c162121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582c40 (WB) */
+ 0x2c164121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582c80 (WB) */
+ 0x2c166121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582cc0 (WB) */
+ 0x2c168121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582d00 (WB) */
+ 0x2c16a121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582d40 (WB) */
+ 0x2c16c121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582d80 (WB) */
+ 0x2c16e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582dc0 (WB) */
+ 0x2c170121, 0x00046f77, /* write array of size 9 from offset 290679 to address 0x582e00 (WB) */
+ 0x2c172121, 0x00046f63, /* write array of size 9 from offset 290659 to address 0x582e40 (WB) */
+ 0x2c174121, 0x00046f81, /* write array of size 9 from offset 290689 to address 0x582e80 (WB) */
+ 0x2c176121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582ec0 (WB) */
+ 0x2c178121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582f00 (WB) */
+ 0x2c17a121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582f40 (WB) */
+ 0x2c17c121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582f80 (WB) */
+ 0x2c17e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582fc0 (WB) */
+ 0x2c180121, 0x00046f8b, /* write array of size 64 from offset 290699 to address 0x583000 (WB) */
+ 0x2c189121, 0x00046fcc, /* write array of size 16 from offset 290764 to address 0x583120 (WB) */
0x2c18b111, 0x00000020, /* write 32 zeros to address 0x583160 (WB) */
- 0x2c18f121, 0x00045d27, /* write array of size 8 from offset 285991 to address 0x5831e0 (WB) */
- 0x2c191121, 0x00045d16, /* write array of size 16 from offset 285974 to address 0x583220 (WB) */
+ 0x2c18f121, 0x00046fdd, /* write array of size 8 from offset 290781 to address 0x5831e0 (WB) */
+ 0x2c191121, 0x00046fcc, /* write array of size 16 from offset 290764 to address 0x583220 (WB) */
0x2c193111, 0x00000008, /* write 8 zeros to address 0x583260 (WB) */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0x2c010201, 0x00000000, /* write 0x0 to address 0x580204 */
- 0x000a0002, 0x00620000, /* if mode != '(bb|k2)&(!fpga)', skip 10 ops */
- 0x2c100121, 0x00045d30, /* write array of size 9 from offset 286000 to address 0x582000 (WB) */
- 0x2c102121, 0x00045d3a, /* write array of size 9 from offset 286010 to address 0x582040 (WB) */
- 0x2c104121, 0x00045d44, /* write array of size 9 from offset 286020 to address 0x582080 (WB) */
- 0x2c106121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5820c0 (WB) */
- 0x2c108121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582100 (WB) */
- 0x2c10a121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582140 (WB) */
- 0x2c10c121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582180 (WB) */
- 0x2c10e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5821c0 (WB) */
- 0x2c188121, 0x00045d4e, /* write array of size 8 from offset 286030 to address 0x583100 (WB) */
- 0x2c190121, 0x00045d4e, /* write array of size 8 from offset 286030 to address 0x583200 (WB) */
- 0x000a0002, 0x00680000, /* if mode != 'fpga&(bb|k2)', skip 10 ops */
- 0x2c100121, 0x00045d57, /* write array of size 9 from offset 286039 to address 0x582000 (WB) */
- 0x2c102121, 0x00045d3a, /* write array of size 9 from offset 286010 to address 0x582040 (WB) */
- 0x2c104121, 0x00045d61, /* write array of size 9 from offset 286049 to address 0x582080 (WB) */
- 0x2c106121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5820c0 (WB) */
- 0x2c108121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582100 (WB) */
- 0x2c10a121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582140 (WB) */
- 0x2c10c121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x582180 (WB) */
- 0x2c10e121, 0x00045b59, /* write array of size 9 from offset 285529 to address 0x5821c0 (WB) */
- 0x2c188121, 0x00045d4e, /* write array of size 8 from offset 286030 to address 0x583100 (WB) */
- 0x2c190121, 0x00045d4e, /* write array of size 8 from offset 286030 to address 0x583200 (WB) */
+ 0x000a0002, 0x00700000, /* if mode != '(bb|k2)&(!fpga)', skip 10 ops */
+ 0x2c100121, 0x00046fe6, /* write array of size 9 from offset 290790 to address 0x582000 (WB) */
+ 0x2c102121, 0x00046ff0, /* write array of size 9 from offset 290800 to address 0x582040 (WB) */
+ 0x2c104121, 0x00046ffa, /* write array of size 9 from offset 290810 to address 0x582080 (WB) */
+ 0x2c106121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5820c0 (WB) */
+ 0x2c108121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582100 (WB) */
+ 0x2c10a121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582140 (WB) */
+ 0x2c10c121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582180 (WB) */
+ 0x2c10e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5821c0 (WB) */
+ 0x2c188121, 0x00047004, /* write array of size 8 from offset 290820 to address 0x583100 (WB) */
+ 0x2c190121, 0x00047004, /* write array of size 8 from offset 290820 to address 0x583200 (WB) */
+ 0x000a0002, 0x00800000, /* if mode != 'fpga&(bb|k2)', skip 10 ops */
+ 0x2c100121, 0x0004700d, /* write array of size 9 from offset 290829 to address 0x582000 (WB) */
+ 0x2c102121, 0x00046ff0, /* write array of size 9 from offset 290800 to address 0x582040 (WB) */
+ 0x2c104121, 0x00047017, /* write array of size 9 from offset 290839 to address 0x582080 (WB) */
+ 0x2c106121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5820c0 (WB) */
+ 0x2c108121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582100 (WB) */
+ 0x2c10a121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582140 (WB) */
+ 0x2c10c121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x582180 (WB) */
+ 0x2c10e121, 0x00046e0f, /* write array of size 9 from offset 290319 to address 0x5821c0 (WB) */
+ 0x2c188121, 0x00047004, /* write array of size 8 from offset 290820 to address 0x583100 (WB) */
+ 0x2c190121, 0x00047004, /* write array of size 8 from offset 290820 to address 0x583200 (WB) */
0x00010013, 0xffff0002, /* if phase != 'pf', skip 1 ops */
- 0x2c048631, 0x85bc000a, /* write runtime array of size 10 from offset 34236 to address 0x58090c */
+ 0x2c048631, 0x891c000a, /* write runtime array of size 10 from offset 35100 to address 0x58090c */
/* CCFC */
0x00150013, 0xffff0000, /* if phase != 'engine', skip 21 ops */
0x1700c201, 0x00000000, /* write 0x0 to address 0x2e0184 */
- 0x1702a821, 0x00045d6b, /* write array of size 2 from offset 286059 to address 0x2e0550 */
+ 0x1702a821, 0x00047021, /* write array of size 2 from offset 290849 to address 0x2e0550 */
0x1702ea01, 0x00000001, /* write 0x1 to address 0x2e05d4 */
0x1702f401, 0x00000000, /* write 0x0 to address 0x2e05e8 */
- 0x17048021, 0x00045d6e, /* write array of size 14 from offset 286062 to address 0x2e0900 */
+ 0x17048021, 0x00047024, /* write array of size 14 from offset 290852 to address 0x2e0900 */
0x17500001, 0x00000000, /* write 0x0 to address 0x2ea000 */
0x17527e01, 0x00000000, /* write 0x0 to address 0x2ea4fc */
0x00010002, 0x00020000, /* if mode != 'bb', skip 1 ops */
0x1702e001, 0x000e0000, /* write 0xe0000 to address 0x2e05c0 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
+ 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x17010201, 0x00000000, /* write 0x0 to address 0x2e0204 */
0x00020002, 0x00200000, /* if mode != 'emul_reduced|fpga', skip 2 ops */
0x1703c201, 0x00000004, /* write 0x4 to address 0x2e0784 */
0x17000001, 0x00001c5f, /* write 0x1c5f to address 0x2e0000 */
- 0x00010002, 0x00950000, /* if mode != 'asic|emul_full|chipsim', skip 1 ops */
+ 0x00010002, 0x008a0000, /* if mode != 'asic|emul_full|chipsim', skip 1 ops */
0x17000001, 0x00001e7f, /* write 0x1e7f to address 0x2e0000 */
0x17000210, 0x00000001, /* wait until address 0x2e0004 reads 0x1 */
0x17000410, 0x00000001, /* wait until address 0x2e0008 reads 0x1 */
@@ -3319,18 +3342,18 @@ ARRAY_DECL u32 init_ops[] = {
0x1682aa01, 0x0001ffff, /* write 0x1ffff to address 0x2d0554 */
0x1682ea01, 0x00000001, /* write 0x1 to address 0x2d05d4 */
0x1682f401, 0x00000000, /* write 0x0 to address 0x2d05e8 */
- 0x16848021, 0x00045d7d, /* write array of size 14 from offset 286077 to address 0x2d0900 */
+ 0x16848021, 0x00047033, /* write array of size 14 from offset 290867 to address 0x2d0900 */
0x16d00001, 0x00000000, /* write 0x0 to address 0x2da000 */
0x16d27e01, 0x00000000, /* write 0x0 to address 0x2da4fc */
0x00030002, 0x00020000, /* if mode != 'bb', skip 3 ops */
0x1682e001, 0x000e0000, /* write 0xe0000 to address 0x2d05c0 */
0x16838801, 0x0000ffff, /* write 0xffff to address 0x2d0710 */
0x1683c001, 0x00000002, /* write 0x2 to address 0x2d0780 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
+ 0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x16810201, 0x00000000, /* write 0x0 to address 0x2d0204 */
0x00010002, 0x00200000, /* if mode != 'emul_reduced|fpga', skip 1 ops */
0x16800001, 0x00001c5f, /* write 0x1c5f to address 0x2d0000 */
- 0x00010002, 0x00950000, /* if mode != 'asic|emul_full|chipsim', skip 1 ops */
+ 0x00010002, 0x008a0000, /* if mode != 'asic|emul_full|chipsim', skip 1 ops */
0x16800001, 0x00001e7f, /* write 0x1e7f to address 0x2d0000 */
0x16800210, 0x00000001, /* wait until address 0x2d0004 reads 0x1 */
0x16800410, 0x00000001, /* wait until address 0x2d0008 reads 0x1 */
@@ -3343,7 +3366,7 @@ ARRAY_DECL u32 init_ops[] = {
0x00010013, 0xffff0003, /* if phase != 'vf', skip 1 ops */
0x16838201, 0x00000001, /* write 0x1 to address 0x2d0704 */
/* IGU */
- 0x00070013, 0xffff0000, /* if phase != 'engine', skip 7 ops */
+ 0x000a0013, 0xffff0000, /* if phase != 'engine', skip 10 ops */
0x0c00c201, 0x000001d0, /* write 0x1d0 to address 0x180184 */
0x0c00ca01, 0x00000000, /* write 0x0 to address 0x180194 */
0x00020002, 0x00020000, /* if mode != 'bb', skip 2 ops */
@@ -3351,6 +3374,9 @@ ARRAY_DECL u32 init_ops[] = {
0x0c010a01, 0x00000000, /* write 0x0 to address 0x180214 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0x0c010201, 0x00000000, /* write 0x0 to address 0x180204 */
+ 0x00020002, 0x00650000, /* if mode != '!asic', skip 2 ops */
+ 0x0c000001, 0x0000007e, /* write 0x7e to address 0x180000 */
+ 0x0c000010, 0x00000000, /* wait until address 0x180000 reads 0x0 */
0x00050013, 0xffff0002, /* if phase != 'pf', skip 5 ops */
0x0c041031, 0x00140002, /* write runtime array of size 2 from offset 20 to address 0x180820 */
0x0c041831, 0x00170001, /* write runtime array of size 1 from offset 23 to address 0x180830 */
@@ -3360,184 +3386,183 @@ ARRAY_DECL u32 init_ops[] = {
0x00010013, 0xffff0003, /* if phase != 'vf', skip 1 ops */
0x0c040231, 0x00130001, /* write runtime array of size 1 from offset 19 to address 0x180804 */
/* CAU */
- 0x00160013, 0xffff0000, /* if phase != 'engine', skip 22 ops */
+ 0x00170013, 0xffff0000, /* if phase != 'engine', skip 23 ops */
0x0e007001, 0x00000000, /* write 0x0 to address 0x1c00e0 */
0x00010002, 0x00020000, /* if mode != 'bb', skip 1 ops */
0x0e010201, 0x00000000, /* write 0x0 to address 0x1c0204 */
- 0x00010002, 0x002c0000, /* if mode != '!bb', skip 1 ops */
+ 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0x0e010201, 0x00000000, /* write 0x0 to address 0x1c0204 */
0x0e020801, 0x0000001f, /* write 0x1f to address 0x1c0410 */
+ 0x00010002, 0x00e80000, /* if mode != '!e5', skip 1 ops */
0x0e030231, 0x00180001, /* write runtime array of size 1 from offset 24 to address 0x1c0604 */
0x0e020810, 0x00000000, /* wait until address 0x1c0410 reads 0x0 */
0x000c0002, 0x00010000, /* if mode != 'bb|k2', skip 12 ops */
- 0x0e220021, 0x00045d8c, /* write array of size 5 from offset 286092 to address 0x1c4400 */
+ 0x0e220021, 0x00047042, /* write array of size 5 from offset 290882 to address 0x1c4400 */
0x0e220a11, 0x0000000a, /* write 10 zeros to address 0x1c4414 */
- 0x0e221e21, 0x00045d92, /* write array of size 6 from offset 286098 to address 0x1c443c */
+ 0x0e221e21, 0x00047048, /* write array of size 6 from offset 290888 to address 0x1c443c */
0x0e222a11, 0x0000000a, /* write 10 zeros to address 0x1c4454 */
- 0x0e223e21, 0x00045d99, /* write array of size 6 from offset 286105 to address 0x1c447c */
+ 0x0e223e21, 0x0004704f, /* write array of size 6 from offset 290895 to address 0x1c447c */
0x0e224a11, 0x0000000a, /* write 10 zeros to address 0x1c4494 */
- 0x0e225e21, 0x00045da0, /* write array of size 5 from offset 286112 to address 0x1c44bc */
+ 0x0e225e21, 0x00047056, /* write array of size 5 from offset 290902 to address 0x1c44bc */
0x0e226811, 0x0000000b, /* write 11 zeros to address 0x1c44d0 */
- 0x0e227e21, 0x00045da6, /* write array of size 6 from offset 286118 to address 0x1c44fc */
+ 0x0e227e21, 0x0004705c, /* write array of size 6 from offset 290908 to address 0x1c44fc */
0x0e228a11, 0x0000000a, /* write 10 zeros to address 0x1c4514 */
0x0e229e01, 0x00008004, /* write 0x8004 to address 0x1c453c */
0x0e22a011, 0x000000b0, /* write 176 zeros to address 0x1c4540 */
- 0x0e300131, 0x02f902e0, /* write runtime array of size 736 from offset 761 to address 0x1c6000 (WB) */
+ 0x0e300131, 0x04190400, /* write runtime array of size 1024 from offset 1049 to address 0x1c6000 (WB) */
0x00030013, 0xffff0002, /* if phase != 'pf', skip 3 ops */
- 0x0e300131, 0x02f902e0, /* write runtime array of size 736 from offset 761 to address 0x1c6000 (WB) */
- 0x0e400131, 0x05d902e0, /* write runtime array of size 736 from offset 1497 to address 0x1c8000 (WB) */
- 0x0e800031, 0x08b91140, /* write runtime array of size 4416 from offset 2233 to address 0x1d0000 */
+ 0x0e300131, 0x04190400, /* write runtime array of size 1024 from offset 1049 to address 0x1c6000 (WB) */
+ 0x0e400131, 0x08190400, /* write runtime array of size 1024 from offset 2073 to address 0x1c8000 (WB) */
+ 0x0e800031, 0x0c191140, /* write runtime array of size 4416 from offset 3097 to address 0x1d0000 */
/* DBG */
0x00010013, 0xffff0000, /* if phase != 'engine', skip 1 ops */
0x0080c201, 0x00000000, /* write 0x0 to address 0x10184 */
/* NIG */
- 0x00210013, 0xffff0000, /* if phase != 'engine', skip 33 ops */
+ 0x00200013, 0xffff0000, /* if phase != 'engine', skip 32 ops */
0x28002a01, 0x00000000, /* write 0x0 to address 0x500054 */
0x28003201, 0x00000000, /* write 0x0 to address 0x500064 */
0x28004201, 0x00000000, /* write 0x0 to address 0x500084 */
- 0x28040231, 0x85430001, /* write runtime array of size 1 from offset 34115 to address 0x500804 */
- 0x00070002, 0x00020000, /* if mode != 'bb', skip 7 ops */
+ 0x28040231, 0x88a30001, /* write runtime array of size 1 from offset 34979 to address 0x500804 */
+ 0x00060002, 0x00020000, /* if mode != 'bb', skip 6 ops */
0x28002201, 0x00000040, /* write 0x40 to address 0x500044 */
0x28005201, 0x00000000, /* write 0x0 to address 0x5000a4 */
0x28010201, 0x00000000, /* write 0x0 to address 0x500204 */
0x28011201, 0x00000000, /* write 0x0 to address 0x500224 */
- 0x28011a01, 0x00000000, /* write 0x0 to address 0x500234 */
0x28041e01, 0x00000002, /* write 0x2 to address 0x50083c */
0x2845ae01, 0x00000001, /* write 0x1 to address 0x508b5c */
- 0x00050002, 0x00030000, /* if mode != 'k2', skip 5 ops */
+ 0x00040002, 0x00030000, /* if mode != 'k2', skip 4 ops */
0x28007401, 0x00000001, /* write 0x1 to address 0x5000e8 */
0x28010201, 0x00000000, /* write 0x0 to address 0x500204 */
0x28011201, 0x00000000, /* write 0x0 to address 0x500224 */
- 0x28011a01, 0x00000000, /* write 0x0 to address 0x500234 */
0x28483401, 0x00000000, /* write 0x0 to address 0x509068 */
- 0x00010002, 0x002e0000, /* if mode != 'mf_sd', skip 1 ops */
+ 0x00010002, 0x00270000, /* if mode != 'mf_sd', skip 1 ops */
0x28040e01, 0x00000001, /* write 0x1 to address 0x50081c */
- 0x00020002, 0x002c0000, /* if mode != '!bb', skip 2 ops */
+ 0x00030002, 0x00250000, /* if mode != '!bb', skip 3 ops */
+ 0x28002201, 0x00000000, /* write 0x0 to address 0x500044 */
0x28005201, 0x00000000, /* write 0x0 to address 0x5000a4 */
0x28006201, 0x00000000, /* write 0x0 to address 0x5000c4 */
- 0x00030002, 0x00010000, /* if mode != 'bb|k2', skip 3 ops */
+ 0x00050002, 0x00010000, /* if mode != 'bb|k2', skip 5 ops */
+ 0x28010a01, 0x00000000, /* write 0x0 to address 0x500214 */
+ 0x28011a01, 0x00000000, /* write 0x0 to address 0x500234 */
0x28041c01, 0x00000001, /* write 0x1 to address 0x500838 */
0x28042001, 0x0000070c, /* write 0x70c to address 0x500840 */
0x2845a001, 0x00000081, /* write 0x81 to address 0x508b40 */
- 0x00010002, 0x00240000, /* if mode != '!e5', skip 1 ops */
- 0x28010a01, 0x00000000, /* write 0x0 to address 0x500214 */
0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
0x28007201, 0x00000000, /* write 0x0 to address 0x5000e4 */
- 0x00010002, 0x00d50000, /* if mode != 'k2&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00bf0000, /* if mode != '(!bb)&ports_per_eng_4', skip 1 ops */
0x28480021, 0x00000035, /* write array of size 2 from offset 53 to address 0x509000 */
0x00080013, 0xffff0002, /* if phase != 'pf', skip 8 ops */
0x2808fa01, 0x00000000, /* write 0x0 to address 0x5011f4 */
0x280b3201, 0x00000000, /* write 0x0 to address 0x501664 */
- 0x280cd231, 0x85490001, /* write runtime array of size 1 from offset 34121 to address 0x5019a4 */
- 0x280cd831, 0x854a000d, /* write runtime array of size 13 from offset 34122 to address 0x5019b0 */
+ 0x280cd231, 0x88a90001, /* write runtime array of size 1 from offset 34985 to address 0x5019a4 */
+ 0x280cd831, 0x88aa000d, /* write runtime array of size 13 from offset 34986 to address 0x5019b0 */
0x28447c01, 0x00000000, /* write 0x0 to address 0x5088f8 */
0x00020002, 0x00010000, /* if mode != 'bb|k2', skip 2 ops */
- 0x280d0131, 0x85570020, /* write runtime array of size 32 from offset 34135 to address 0x501a00 (WB) */
- 0x280d4031, 0x85770040, /* write runtime array of size 64 from offset 34167 to address 0x501a80 */
+ 0x280d0131, 0x88b70020, /* write runtime array of size 32 from offset 34999 to address 0x501a00 (WB) */
+ 0x280d4031, 0x88d70040, /* write runtime array of size 64 from offset 35031 to address 0x501a80 */
0x00200013, 0xffff0001, /* if phase != 'port', skip 32 ops */
0x28081201, 0x00000080, /* write 0x80 to address 0x501024 */
0x28081c01, 0x00000082, /* write 0x82 to address 0x501038 */
- 0x28082021, 0x00045b3f, /* write array of size 2 from offset 285503 to address 0x501040 */
- 0x28082c21, 0x00045dad, /* write array of size 2 from offset 286125 to address 0x501058 */
+ 0x28082021, 0x00046df5, /* write array of size 2 from offset 290293 to address 0x501040 */
+ 0x28082c21, 0x00047063, /* write array of size 2 from offset 290915 to address 0x501058 */
0x2808f411, 0x00000002, /* write 2 zeros to address 0x5011e8 */
0x280af001, 0x00000001, /* write 0x1 to address 0x5015e0 */
0x280b2e01, 0x00000000, /* write 0x0 to address 0x50165c */
0x280c8401, 0x00000001, /* write 0x1 to address 0x501908 */
- 0x280cc831, 0x85440005, /* write runtime array of size 5 from offset 34116 to address 0x501990 */
- 0x280ddc21, 0x00045db0, /* write array of size 2 from offset 286128 to address 0x501bb8 */
- 0x280f8631, 0x85b70001, /* write runtime array of size 1 from offset 34231 to address 0x501f0c */
+ 0x280cc831, 0x88a40005, /* write runtime array of size 5 from offset 34980 to address 0x501990 */
+ 0x280ddc21, 0x00047066, /* write array of size 2 from offset 290918 to address 0x501bb8 */
+ 0x280f8631, 0x89170001, /* write runtime array of size 1 from offset 35095 to address 0x501f0c */
0x280fa801, 0x00000001, /* write 0x1 to address 0x501f50 */
0x28442801, 0x00000001, /* write 0x1 to address 0x508850 */
- 0x28447831, 0x85b80001, /* write runtime array of size 1 from offset 34232 to address 0x5088f0 */
+ 0x28447831, 0x89180001, /* write runtime array of size 1 from offset 35096 to address 0x5088f0 */
0x28459411, 0x00000002, /* write 2 zeros to address 0x508b28 */
0x28459c01, 0x000017c1, /* write 0x17c1 to address 0x508b38 */
- 0x00010002, 0x00030000, /* if mode != 'k2', skip 1 ops */
- 0x28459001, 0x00000001, /* write 0x1 to address 0x508b20 */
- 0x00010002, 0x003c0000, /* if mode != 'sf', skip 1 ops */
+ 0x00010002, 0x002f0000, /* if mode != 'sf', skip 1 ops */
0x280cae01, 0x00000000, /* write 0x0 to address 0x50195c */
- 0x00020002, 0x002e0000, /* if mode != 'mf_sd', skip 2 ops */
+ 0x00020002, 0x00270000, /* if mode != 'mf_sd', skip 2 ops */
0x28080c01, 0x00000083, /* write 0x83 to address 0x501018 */
0x28081001, 0x00000082, /* write 0x82 to address 0x501020 */
- 0x00010002, 0x004e0000, /* if mode != '100g', skip 1 ops */
+ 0x00010002, 0x005c0000, /* if mode != '100g', skip 1 ops */
0x28448021, 0x00000182, /* write array of size 8 from offset 386 to address 0x508900 */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
+ 0x28459001, 0x00000001, /* write 0x1 to address 0x508b20 */
0x00010002, 0x00010000, /* if mode != 'bb|k2', skip 1 ops */
0x28458601, 0x000012b7, /* write 0x12b7 to address 0x508b0c */
- 0x00020002, 0x00d20000, /* if mode != 'sf|mf_si', skip 2 ops */
+ 0x00020002, 0x00e30000, /* if mode != 'sf|mf_si', skip 2 ops */
0x28080c01, 0x00000082, /* write 0x82 to address 0x501018 */
0x28081001, 0x00000000, /* write 0x0 to address 0x501020 */
- 0x00010002, 0x003b0000, /* if mode != '!sf', skip 1 ops */
+ 0x00010002, 0x002e0000, /* if mode != '!sf', skip 1 ops */
0x280cae01, 0x00000001, /* write 0x1 to address 0x50195c */
0x000c0013, 0x00000001, /* if phase != 'port0', skip 12 ops */
- 0x00010002, 0x00810000, /* if mode != 'k2&sf&ports_per_eng_1', skip 1 ops */
- 0x280cb821, 0x00045db3, /* write array of size 8 from offset 286131 to address 0x501970 */
- 0x00010002, 0x007c0000, /* if mode != 'k2&sf&ports_per_eng_2', skip 1 ops */
- 0x280cb821, 0x00045db3, /* write array of size 8 from offset 286131 to address 0x501970 */
- 0x00010002, 0x00770000, /* if mode != 'k2&sf&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00460000, /* if mode != '(!bb)&sf&ports_per_eng_1', skip 1 ops */
+ 0x280cb821, 0x00047069, /* write array of size 8 from offset 290921 to address 0x501970 */
+ 0x00010002, 0x004c0000, /* if mode != '(!bb)&sf&ports_per_eng_2', skip 1 ops */
+ 0x280cb821, 0x00047069, /* write array of size 8 from offset 290921 to address 0x501970 */
+ 0x00010002, 0x00520000, /* if mode != '(!bb)&sf&ports_per_eng_4', skip 1 ops */
0x280cb821, 0x00000175, /* write array of size 4 from offset 373 to address 0x501970 */
- 0x00010002, 0x00380000, /* if mode != 'k2&(!sf)&ports_per_eng_1', skip 1 ops */
- 0x280cb821, 0x00045dbc, /* write array of size 8 from offset 286140 to address 0x501970 */
- 0x00010002, 0x00500000, /* if mode != 'k2&(!sf)&ports_per_eng_2', skip 1 ops */
- 0x280cb821, 0x00045dbc, /* write array of size 8 from offset 286140 to address 0x501970 */
- 0x00010002, 0x003e0000, /* if mode != 'k2&(!sf)&ports_per_eng_4', skip 1 ops */
- 0x280cb821, 0x00045dc5, /* write array of size 4 from offset 286149 to address 0x501970 */
+ 0x00010002, 0x002a0000, /* if mode != '(!bb)&(!sf)&ports_per_eng_1', skip 1 ops */
+ 0x280cb821, 0x00047072, /* write array of size 8 from offset 290930 to address 0x501970 */
+ 0x00010002, 0x00310000, /* if mode != '(!bb)&(!sf)&ports_per_eng_2', skip 1 ops */
+ 0x280cb821, 0x00047072, /* write array of size 8 from offset 290930 to address 0x501970 */
+ 0x00010002, 0x00380000, /* if mode != '(!bb)&(!sf)&ports_per_eng_4', skip 1 ops */
+ 0x280cb821, 0x0004707b, /* write array of size 4 from offset 290939 to address 0x501970 */
0x000a0013, 0x00010001, /* if phase != 'port1', skip 10 ops */
- 0x00010002, 0x00b80000, /* if mode != '(!k2)&ports_per_eng_2', skip 1 ops */
+ 0x00010002, 0x00e00000, /* if mode != 'bb&ports_per_eng_2', skip 1 ops */
0x280cb801, 0x00000001, /* write 0x1 to address 0x501970 */
- 0x00010002, 0x007c0000, /* if mode != 'k2&sf&ports_per_eng_2', skip 1 ops */
- 0x280cb821, 0x00045db3, /* write array of size 8 from offset 286131 to address 0x501970 */
- 0x00010002, 0x00770000, /* if mode != 'k2&sf&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x004c0000, /* if mode != '(!bb)&sf&ports_per_eng_2', skip 1 ops */
+ 0x280cb821, 0x00047069, /* write array of size 8 from offset 290921 to address 0x501970 */
+ 0x00010002, 0x00520000, /* if mode != '(!bb)&sf&ports_per_eng_4', skip 1 ops */
0x280cb821, 0x00000175, /* write array of size 4 from offset 373 to address 0x501970 */
- 0x00010002, 0x00500000, /* if mode != 'k2&(!sf)&ports_per_eng_2', skip 1 ops */
- 0x280cb821, 0x00045dca, /* write array of size 8 from offset 286154 to address 0x501970 */
- 0x00010002, 0x003e0000, /* if mode != 'k2&(!sf)&ports_per_eng_4', skip 1 ops */
- 0x280cb821, 0x00045dd3, /* write array of size 4 from offset 286163 to address 0x501970 */
+ 0x00010002, 0x00310000, /* if mode != '(!bb)&(!sf)&ports_per_eng_2', skip 1 ops */
+ 0x280cb821, 0x00047080, /* write array of size 8 from offset 290944 to address 0x501970 */
+ 0x00010002, 0x00380000, /* if mode != '(!bb)&(!sf)&ports_per_eng_4', skip 1 ops */
+ 0x280cb821, 0x00047089, /* write array of size 4 from offset 290953 to address 0x501970 */
0x00040013, 0x00020001, /* if phase != 'port2', skip 4 ops */
- 0x00010002, 0x00770000, /* if mode != 'k2&sf&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00520000, /* if mode != '(!bb)&sf&ports_per_eng_4', skip 1 ops */
0x280cb821, 0x00000175, /* write array of size 4 from offset 373 to address 0x501970 */
- 0x00010002, 0x003e0000, /* if mode != 'k2&(!sf)&ports_per_eng_4', skip 1 ops */
- 0x280cb821, 0x00045dd8, /* write array of size 4 from offset 286168 to address 0x501970 */
+ 0x00010002, 0x00380000, /* if mode != '(!bb)&(!sf)&ports_per_eng_4', skip 1 ops */
+ 0x280cb821, 0x0004708e, /* write array of size 4 from offset 290958 to address 0x501970 */
0x00040013, 0x00030001, /* if phase != 'port3', skip 4 ops */
- 0x00010002, 0x00770000, /* if mode != 'k2&sf&ports_per_eng_4', skip 1 ops */
+ 0x00010002, 0x00520000, /* if mode != '(!bb)&sf&ports_per_eng_4', skip 1 ops */
0x280cb821, 0x00000175, /* write array of size 4 from offset 373 to address 0x501970 */
- 0x00010002, 0x003e0000, /* if mode != 'k2&(!sf)&ports_per_eng_4', skip 1 ops */
- 0x280cb821, 0x00045ddd, /* write array of size 4 from offset 286173 to address 0x501970 */
+ 0x00010002, 0x00380000, /* if mode != '(!bb)&(!sf)&ports_per_eng_4', skip 1 ops */
+ 0x280cb821, 0x00047093, /* write array of size 4 from offset 290963 to address 0x501970 */
0x00010013, 0xffff0001, /* if phase != 'port', skip 1 ops */
0x28070821, 0x00000035, /* write array of size 2 from offset 53 to address 0x500e10 */
/* WOL */
- 0x00060013, 0xffff0000, /* if phase != 'engine', skip 6 ops */
- 0x00010002, 0x009a0000, /* if mode != '(!bb)&(!fpga)', skip 1 ops */
+ 0x00050013, 0xffff0000, /* if phase != 'engine', skip 5 ops */
+ 0x00020002, 0x00940000, /* if mode != '(!bb)&(!fpga)', skip 2 ops */
0x30002201, 0x00000000, /* write 0x0 to address 0x600044 */
- 0x00010002, 0x00c00000, /* if mode != 'k2&(!fpga)', skip 1 ops */
0x30010201, 0x00000000, /* write 0x0 to address 0x600204 */
- 0x00010002, 0x002a0000, /* if mode != '((!bb)&mf_sd)&(!fpga)', skip 1 ops */
+ 0x00010002, 0x00230000, /* if mode != '((!bb)&mf_sd)&(!fpga)', skip 1 ops */
0x3040ce01, 0x00000001, /* write 0x1 to address 0x60819c */
/* BMBN */
0x00040013, 0xffff0000, /* if phase != 'engine', skip 4 ops */
- 0x00010002, 0x002c0000, /* if mode != '!bb', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x30802201, 0x00000000, /* write 0x0 to address 0x610044 */
- 0x00010002, 0x002b0000, /* if mode != '(!bb)&mf_sd', skip 1 ops */
+ 0x00010002, 0x00240000, /* if mode != '(!bb)&mf_sd', skip 1 ops */
0x3080fc01, 0x00000001, /* write 0x1 to address 0x6101f8 */
/* NWM */
0x00050013, 0xffff0000, /* if phase != 'engine', skip 5 ops */
- 0x00040002, 0x00900000, /* if mode != '(!asic)&(!bb)', skip 4 ops */
+ 0x00040002, 0x008f0000, /* if mode != '(!asic)&(!bb)', skip 4 ops */
0x40000401, 0x00000000, /* write 0x0 to address 0x800008 */
0x40010201, 0x00000000, /* write 0x0 to address 0x800204 */
0x40010a01, 0x00000000, /* write 0x0 to address 0x800214 */
0x40011201, 0x0000003c, /* write 0x3c to address 0x800224 */
/* NWS */
0x00030013, 0xffff0000, /* if phase != 'engine', skip 3 ops */
- 0x00020002, 0x00900000, /* if mode != '(!asic)&(!bb)', skip 2 ops */
+ 0x00020002, 0x008f0000, /* if mode != '(!asic)&(!bb)', skip 2 ops */
0x3800c201, 0x000003fe, /* write 0x3fe to address 0x700184 */
0x38010201, 0x00000000, /* write 0x0 to address 0x700204 */
/* MS */
0x00020013, 0xffff0000, /* if phase != 'engine', skip 2 ops */
- 0x00010002, 0x009a0000, /* if mode != '(!bb)&(!fpga)', skip 1 ops */
+ 0x00010002, 0x00940000, /* if mode != '(!bb)&(!fpga)', skip 1 ops */
0x3500c201, 0x00000000, /* write 0x0 to address 0x6a0184 */
/* MISC_AEU */
0x00360013, 0xffff0000, /* if phase != 'engine', skip 54 ops */
0x00010002, 0x00020000, /* if mode != 'bb', skip 1 ops */
0x13000111, 0x00003b60, /* write 15200 zeros to address 0x260000 (WB) */
- 0x00010002, 0x002c0000, /* if mode != '!bb', skip 1 ops */
+ 0x00010002, 0x00250000, /* if mode != '!bb', skip 1 ops */
0x13000111, 0x000055f0, /* write 22000 zeros to address 0x260000 (WB) */
0x00300002, 0x00010000, /* if mode != 'bb|k2', skip 48 ops */
0x80057e01, 0x01030012, /* write 0x1030012 to address 0x1000afc */
@@ -3590,32 +3615,32 @@ ARRAY_DECL u32 init_ops[] = {
0x94058401, 0x00000000, /* write 0x0 to address 0x1280b08 */
0x00441401, 0x00000003, /* write 0x3 to address 0x8828 */
};
-/* Data size: 27896 bytes */
+/* Data size: 28104 bytes */
-ARRAY_DECL u16 init_ops_size = 0xd9f;
+ARRAY_DECL u16 init_ops_size = 0xdb9;
/* block command offsets array */
ARRAY_DECL u16 init_ops_offsets[] = {
- 0x0000, 0x0004, 0x0004, 0x000b, 0x000b, 0x0047, 0x0000, 0x0000, 0x0047,
- 0x006a, 0x006a, 0x0071, 0x0071, 0x0074, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0074, 0x0079, 0x0000, 0x0000, 0x0000, 0x0000, 0x0079,
- 0x0084, 0x0084, 0x0087, 0x0087, 0x008a, 0x008a, 0x0092, 0x0092, 0x0095,
- 0x0095, 0x009d, 0x009d, 0x00a0, 0x00a0, 0x00af, 0x00af, 0x00b2, 0x00b2,
- 0x00b7, 0x00b7, 0x00ef, 0x00ef, 0x0181, 0x0181, 0x022a, 0x022a, 0x02b6,
- 0x02b6, 0x02cb, 0x02cb, 0x0399, 0x0399, 0x03a7, 0x03a7, 0x042a, 0x042a,
- 0x0449, 0x0449, 0x04c6, 0x04c6, 0x05f1, 0x05f1, 0x05f8, 0x05f8, 0x0665,
- 0x0665, 0x066d, 0x066d, 0x0674, 0x0674, 0x067c, 0x067c, 0x0684, 0x0684,
- 0x068b, 0x068b, 0x0692, 0x0692, 0x0769, 0x0769, 0x0834, 0x0834, 0x08f6,
- 0x08f6, 0x09c8, 0x09c8, 0x0a79, 0x0a79, 0x0b44, 0x0b44, 0x0b4a, 0x0b4a,
- 0x0b4e, 0x0b4e, 0x0b58, 0x0b58, 0x0b5c, 0x0b5c, 0x0b60, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0b60, 0x0b6e, 0x0b6e, 0x0b71, 0x0b71, 0x0b74, 0x0b74,
- 0x0b77, 0x0b77, 0x0b8e, 0x0b8e, 0x0bd2, 0x0bd2, 0x0bd7, 0x0bd7, 0x0bdf,
- 0x0bdf, 0x0c7b, 0x0c7b, 0x0c96, 0x0c96, 0x0cb2, 0x0cb2, 0x0cc2, 0x0cc2,
- 0x0cdd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0cdd, 0x0cdf, 0x0cdf, 0x0d4f, 0x0d4f,
- 0x0d56, 0x0d56, 0x0d5b, 0x0000, 0x0000, 0x0d5b, 0x0d61, 0x0d61, 0x0d65,
- 0x0d65, 0x0d68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d68,
- 0x0d9f, 0x0000, 0x0000,
+ 0x0000, 0x0004, 0x0004, 0x0012, 0x0012, 0x0062, 0x0000, 0x0000, 0x0062,
+ 0x008c, 0x008c, 0x0094, 0x0094, 0x0097, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0097, 0x009c, 0x0000, 0x0000, 0x0000, 0x0000, 0x009c,
+ 0x00a6, 0x00a6, 0x00a9, 0x00a9, 0x00ac, 0x00ac, 0x00b5, 0x00b5, 0x00b8,
+ 0x00b8, 0x00c0, 0x00c0, 0x00c3, 0x00c3, 0x00d5, 0x00d5, 0x00d8, 0x00d8,
+ 0x00dc, 0x00dc, 0x0114, 0x0114, 0x01a6, 0x01a6, 0x024d, 0x024d, 0x02d7,
+ 0x02d7, 0x02ec, 0x02ec, 0x03ba, 0x03ba, 0x03c8, 0x03c8, 0x044c, 0x044c,
+ 0x046a, 0x046a, 0x04e6, 0x04e6, 0x0611, 0x0611, 0x0618, 0x0618, 0x0687,
+ 0x0687, 0x068e, 0x068e, 0x0694, 0x0694, 0x069b, 0x069b, 0x06a3, 0x06a3,
+ 0x06a9, 0x06a9, 0x06af, 0x06af, 0x0785, 0x0785, 0x084f, 0x084f, 0x0914,
+ 0x0914, 0x09e5, 0x09e5, 0x0a95, 0x0a95, 0x0b5e, 0x0b5e, 0x0b63, 0x0b63,
+ 0x0b67, 0x0b67, 0x0b71, 0x0b71, 0x0b76, 0x0b76, 0x0b7a, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0b7a, 0x0b88, 0x0b88, 0x0b8b, 0x0b8b, 0x0b8e, 0x0b8e,
+ 0x0b91, 0x0b91, 0x0ba8, 0x0ba8, 0x0beb, 0x0beb, 0x0bf0, 0x0bf0, 0x0bf8,
+ 0x0bf8, 0x0c93, 0x0c93, 0x0cae, 0x0cae, 0x0cca, 0x0cca, 0x0cdd, 0x0cdd,
+ 0x0cf9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0cf9, 0x0cfb, 0x0cfb, 0x0d6a, 0x0d6a,
+ 0x0d70, 0x0d70, 0x0d75, 0x0000, 0x0000, 0x0d75, 0x0d7b, 0x0d7b, 0x0d7f,
+ 0x0d7f, 0x0d82, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d82,
+ 0x0db9, 0x0000, 0x0000,
};
/* Data size: 348 bytes */
@@ -3743,7 +3768,7 @@ ARRAY_DECL u32 init_val[] = {
0x00000305, 0x00000314, 0x00000020, 0x00000306, 0x00000329, 0x00000030,
0x0000030b, 0x0000030c, 0x0000030e, 0x00000050, 0x00000305, 0x0000020b,
0x0000020d, 0x0000030f, 0x00000310, 0x00000030, 0x00000007, 0x00000003,
- 0x0000003f, 0x00000060, 0x0001000a, 0x000e1208, 0x58a0ccc7, 0x00000000,
+ 0x0000003f, 0x00000060, 0x0001000a, 0x00001e08, 0x58befdf4, 0x00000000,
0x010201ff, 0x00400804, 0x00000020, 0x00000010, 0x00000000, 0x00003fe0,
0x010017e4, 0x00000100, 0x000017e6, 0x00000000, 0x00000000, 0x00000000,
0x000017e8, 0x00000000, 0x00000000, 0x00000000, 0x000017ea, 0x00000000,
@@ -3937,26 +3962,89 @@ ARRAY_DECL u32 init_val[] = {
0x00000020, 0x01760a00, 0x00000018, 0x00000020, 0x00000000, 0xbfff0000,
0x000000e0, 0xfff9ff81, 0x00000fff, 0xfff9ff85, 0x00000fff, 0x00003dc1,
0x00000ffe, 0x000ffdc1, 0x00000ffe, 0xffffe3ef, 0x00000fff, 0xffffffe1,
- 0x00000fff, 0x01ffffc1, 0x00000ffe, 0x00010012, 0x001e2168, 0x00100300,
- 0xffffffff, 0x00007f86, 0x000120f7, 0x0000f004, 0x05000008, 0x000001d4,
- 0x05800000, 0x000081dc, 0x00081d41, 0x00007500, 0x21000000, 0x000088d4,
+ 0x00000fff, 0x01ffffc1, 0x00000ffe, 0x00010012, 0x001e22c9, 0x00106a00,
+ 0xffffffff, 0x00007f86, 0x00012259, 0x0000f004, 0x1a400000, 0x000087d8,
+ 0xc12000e1, 0x000080d6, 0xc1000400, 0x000080d6, 0x81400000, 0x00006181,
+ 0x81172ae5, 0x0000c900, 0x1a800000, 0x000006f0, 0x1b400000, 0x000006f8,
+ 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180,
+ 0x1a010020, 0x00004900, 0x1ac0071f, 0x00000190, 0x05400000, 0x000001d8,
+ 0x05c00000, 0x000002d0, 0x09400000, 0x000002d8, 0x09c00000, 0x000007d0,
+ 0x1d400000, 0x000087dc, 0x1da1948e, 0x00000624, 0x26404437, 0x0000f896,
+ 0x00000001, 0x00000080, 0x81801ee3, 0x0000e080, 0x0a44c20a, 0x00006100,
+ 0x82b71a06, 0x00006100, 0x031cca0a, 0x00008000, 0xb3404a0a, 0x0000f902,
+ 0x02000000, 0x00000004, 0xb3403c0a, 0x00007902, 0x01800000, 0x00008004,
+ 0x02c0f80c, 0x00001784, 0xffffffff, 0x00007f86, 0x0240480c, 0x00001002,
+ 0x01c00807, 0x0000e082, 0x0200400b, 0x00000004, 0x01800006, 0x00009084,
+ 0xb3784a0a, 0x0000d004, 0x00384000, 0x00000000, 0x002a1dc9, 0x00007404,
+ 0xb3783c0a, 0x00005004, 0x00383000, 0x00008000, 0x01ffe01f, 0x00009980,
+ 0x13a04589, 0x00004388, 0x00004589, 0x00008098, 0x13401d89, 0x0000c488,
+ 0x42003d89, 0x00008089, 0x0d601589, 0x0000c788, 0x07606d89, 0x0000008a,
+ 0x00c07589, 0x0000c588, 0x87406589, 0x00000696, 0x000000a4, 0x0000f400,
+ 0x05001014, 0x00006380, 0x00003874, 0x0000a481, 0x46000000, 0x00001981,
+ 0x05001014, 0x00006380, 0x00003874, 0x0000a481, 0x46000000, 0x00001981,
+ 0x2644b828, 0x0000f86a, 0x00000001, 0x00000080, 0xe21ccb99, 0x0000e100,
+ 0x0a44c288, 0x00006100, 0x41800d98, 0x0000e283, 0x62400000, 0x00000981,
+ 0x22800000, 0x000088e6, 0x00421cb8, 0x00007300, 0xe2000b99, 0x00001090,
+ 0x1384b020, 0x0000f86a, 0x00000001, 0x00008000, 0x14800d98, 0x0000f896,
+ 0x00000001, 0x00008000, 0x12c02589, 0x0000c388, 0x00002589, 0x00008098,
+ 0x10600d89, 0x0000c488, 0xd8000d89, 0x000080a8, 0x02601589, 0x00004791,
+ 0x04e04589, 0x0000019e, 0x26403d89, 0x0000f8a2, 0x08000000, 0x00000083,
+ 0x00000044, 0x00007400, 0x81800e69, 0x00009283, 0x0804b096, 0x0000e108,
+ 0x60000816, 0x0000640b, 0xe2000b88, 0x0000e180, 0x81800b88, 0x00000180,
+ 0x00000206, 0x0000f890, 0x00000000, 0x00000000, 0x11800589, 0x0000f892,
+ 0x00000001, 0x000080a0, 0xffffffff, 0x00007f86, 0x8000068a, 0x00001583,
+ 0x00000046, 0x0000f200, 0x62400800, 0x0000e189, 0xe2803000, 0x0000c991,
+ 0x40001d89, 0x00001583, 0xc1005800, 0x00001989, 0x00000097, 0x00007009,
+ 0x0099027a, 0x00007100, 0x40003589, 0x00001583, 0x81405800, 0x00006189,
+ 0xc1009800, 0x00004989, 0x00000098, 0x00007009, 0x00000060, 0x0000f000,
+ 0x40004d89, 0x00001583, 0x81407000, 0x00006189, 0xc1009800, 0x00004989,
+ 0x00000098, 0x00007009, 0x26405589, 0x0000788a, 0x00000000, 0x00008083,
+ 0xc0000074, 0x00006c00, 0x0e200605, 0x00004490, 0xe200068a, 0x00008090,
+ 0x0040078a, 0x0000c591, 0x00800630, 0x00008189, 0x81001ee3, 0x00001880,
+ 0x82b71a04, 0x00001100, 0xb380260a, 0x00002006, 0xffffffff, 0x00007f86,
+ 0x007801f9, 0x00007503, 0x81000a04, 0x00009080, 0xb388260a, 0x00002806,
+ 0x02800b31, 0x0000e080, 0x01814021, 0x00004100, 0x00005006, 0x0000e502,
+ 0x01bfe01f, 0x00008980, 0x02a98006, 0x00006000, 0x0000086c, 0x0000e46b,
+ 0x1c01400a, 0x0000e000, 0x1c87f800, 0x000089e9, 0xe000186c, 0x0000ec03,
+ 0x00600356, 0x00007004, 0x00000060, 0x0000f000, 0xc12c4d89, 0x0000e101,
+ 0xc0000074, 0x0000e400, 0x80000605, 0x00006583, 0xf0000074, 0x00002400,
+ 0xf3ec4874, 0x00006800, 0x80000630, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x00000060, 0x00007010, 0x00000060, 0x00007010, 0x01c14021, 0x00006100,
+ 0x01800b31, 0x00000880, 0x00003007, 0x00006502, 0x02bfe01f, 0x00008980,
+ 0x01a9800a, 0x00006000, 0x042c486c, 0x0000e06b, 0x00000060, 0x00007400,
+ 0x1c014006, 0x0000e000, 0x1c87f800, 0x000089e9, 0xe000186c, 0x0000ec03,
+ 0xc1006800, 0x00009981, 0x81400000, 0x00001981, 0x00600337, 0x0000f100,
+ 0x009a0934, 0x0000f100, 0x000000a4, 0x0000f200, 0x0dc04037, 0x00006380,
+ 0x00005874, 0x0000a481, 0x000000a4, 0x0000f400, 0x0dc04037, 0x00006380,
+ 0x00009874, 0x0000a481, 0x80006874, 0x0000ec85, 0x0dc04037, 0x00006380,
+ 0x00009874, 0x0000a481, 0x80006074, 0x00006c85, 0x01800001, 0x0000e180,
+ 0x10000800, 0x00006404, 0x01400000, 0x00006180, 0x0a43bc0a, 0x00006000,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00502000, 0x00007900,
+ 0x0004c010, 0x00008980, 0x0027f800, 0x00007900, 0x003ffffe, 0x00008280,
+ 0x00302006, 0x0000e102, 0x04147005, 0x0000b187, 0x81205002, 0x000080cd,
+ 0x703830ec, 0x0000d600, 0x00382800, 0x00008000, 0x00b7090e, 0x00007500,
+ 0xc0007800, 0x0000e181, 0x80605404, 0x00004101, 0x01825800, 0x00001980,
+ 0x000800ec, 0x00005780, 0x00884080, 0x000081c0, 0x001030ec, 0x00005780,
+ 0x00804940, 0x00008280, 0x001050ec, 0x00005780, 0x00004002, 0x00008080,
+ 0x0080d6ec, 0x00005f80, 0x00884941, 0x0000038c, 0x05000008, 0x000001d4,
+ 0x05800000, 0x000081dc, 0x00c51ea9, 0x0000f500, 0x21000000, 0x000088d4,
0x21c00400, 0x0000e180, 0x21800000, 0x0000c980, 0x81000000, 0x0000e181,
0x00001000, 0x00006504, 0x00000404, 0x0000e583, 0x80502008, 0x00000980,
0x81000800, 0x0000e191, 0xc0408800, 0x00004981, 0xc0200405, 0x000080cd,
- 0x00130779, 0x00007500, 0x80000e04, 0x00009583, 0x80405000, 0x00006191,
+ 0x00d00922, 0x00007500, 0x80000e04, 0x00009583, 0x80405000, 0x00006191,
0x80401000, 0x0000c989, 0x80000604, 0x0000e583, 0xffc00000, 0x00008980,
0x001810ec, 0x0000d790, 0x00884980, 0x00000180, 0x0018d0ec, 0x0000d790,
0x00884840, 0x000000c8, 0x008806ec, 0x00005f80, 0x00804140, 0x00008284,
- 0x001c0002, 0x00007100, 0x81c01ee3, 0x00006080, 0x01800800, 0x00004981,
+ 0x00d900bf, 0x00007100, 0x81c01ee3, 0x00006080, 0x01800800, 0x00004981,
0x81f71a07, 0x00006100, 0x05004000, 0x00000980, 0xb3b82c07, 0x00002084,
0x21c00000, 0x0000f900, 0x00001000, 0x00000980, 0x05400000, 0x000001d8,
- 0x05c00000, 0x000008d0, 0x00281da1, 0x00007500, 0x21400000, 0x000008d8,
+ 0x05c00000, 0x000008d0, 0x00e51f05, 0x0000f500, 0x21400000, 0x000008d8,
0x01502a05, 0x00009900, 0xffffffff, 0x00007f86, 0x00000c04, 0x00009583,
- 0x01800000, 0x00001989, 0x00000032, 0x00007009, 0x00000c04, 0x00009583,
- 0x01c01c04, 0x000011a1, 0x00000032, 0x0000f029, 0x00000c07, 0x00009583,
+ 0x01800000, 0x00001989, 0x000000ef, 0x00007009, 0x00000c04, 0x00009583,
+ 0x01c01c04, 0x000011a1, 0x000000ef, 0x0000f029, 0x00000c07, 0x00009583,
0x00005884, 0x0000ec36, 0xd0000884, 0x00006c30, 0x80502008, 0x0000e180,
0x00001000, 0x00006504, 0x00000c06, 0x0000e583, 0xc0408800, 0x00008981,
- 0x003a0779, 0x0000f500, 0x40e02c00, 0x000080c3, 0x80405000, 0x00006191,
+ 0x00f70922, 0x00007500, 0x40e02c00, 0x000080c3, 0x80405000, 0x00006191,
0x80401000, 0x0000c989, 0x00000406, 0x00009583, 0x001810ec, 0x0000d790,
0x00884980, 0x00000180, 0x0018d0ec, 0x0000d790, 0x00884840, 0x000000c8,
0x008806ec, 0x00005f80, 0x00804140, 0x00008284, 0x1a400000, 0x00006180,
@@ -3964,12 +4052,12 @@ ARRAY_DECL u32 init_val[] = {
0x33c18869, 0x00006001, 0x00400000, 0x00007900, 0x00040080, 0x00008980,
0x1b800000, 0x0000e180, 0x43c18869, 0x0000e001, 0x1bc00000, 0x000087c0,
0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180, 0x1a010020, 0x00004900,
- 0x00510779, 0x00007500, 0x1af9571f, 0x00008628, 0xc0200401, 0x000000cd,
+ 0x010e0922, 0x0000f500, 0x1af9571f, 0x00008628, 0xc0200401, 0x000000cd,
0x000800ec, 0x00005780, 0x00884080, 0x000081c0, 0x001030ec, 0x00005780,
0x00884e80, 0x000001c0, 0x21000000, 0x000088d4, 0x21c00000, 0x000088d8,
0x00890eec, 0x00005f80, 0x00004800, 0x00000084, 0x0101ff18, 0x0000e281,
0x05000000, 0x00008980, 0x0000ac04, 0x00006583, 0x05400000, 0x00000980,
- 0x05c00000, 0x000081d8, 0x005f0aca, 0x00007109, 0x01018718, 0x0000e281,
+ 0x05c00000, 0x000081d8, 0x011c0c33, 0x00007109, 0x01018718, 0x0000e281,
0x00001000, 0x0000a504, 0x00008404, 0x00006583, 0x20001014, 0x0000a402,
0x01001f18, 0x0000e281, 0xa0001015, 0x0000240a, 0x00000c04, 0x00006583,
0xc0c00000, 0x00008980, 0x01006718, 0x0000e281, 0x60001015, 0x0000240a,
@@ -3979,87 +4067,87 @@ ARRAY_DECL u32 init_val[] = {
0x1a400000, 0x000087d8, 0xc10000e1, 0x000086e8, 0x1a38ff20, 0x0000062c,
0x05000000, 0x000081d4, 0x05800000, 0x000081dc, 0x1d000000, 0x000087d4,
0x1dc00000, 0x00006180, 0x9a519232, 0x00004900, 0x9d94728e, 0x00009900,
- 0x27404437, 0x00007896, 0x00000001, 0x00000080, 0x81001ee3, 0x00006080,
+ 0x56804437, 0x00007896, 0x00000001, 0x00000080, 0x81001ee3, 0x00006080,
0x0a44c224, 0x00006100, 0x89371a04, 0x0000e100, 0x019cca24, 0x00008000,
0xb3405224, 0x0000f902, 0x02400000, 0x00008004, 0xb3404424, 0x00007902,
0x01c00000, 0x00000004, 0x0140f806, 0x00009784, 0xffffffff, 0x00007f86,
0x02805006, 0x00001002, 0xb3b83424, 0x0000a084, 0x02000808, 0x0000e082,
0x02404805, 0x00008004, 0x01c00007, 0x00009084, 0xb3785224, 0x0000d004,
- 0x00384800, 0x00008000, 0x00921d50, 0x00007500, 0xb3784424, 0x00005004,
- 0x00383800, 0x00000000, 0x02503206, 0x00009900, 0x13a01405, 0x0000c488,
- 0x2c005c05, 0x00000089, 0x27400405, 0x0000f892, 0xf0000000, 0x00000084,
- 0x1d3f8074, 0x00007900, 0x003ffffe, 0x00008280, 0x0000009f, 0x00007400,
+ 0x00384800, 0x00008000, 0x014f1eb8, 0x0000f500, 0xb3784424, 0x00005004,
+ 0x00383800, 0x00000000, 0x01d03206, 0x00001900, 0x2b401406, 0x0000c488,
+ 0xa6005c06, 0x0000808a, 0x56800406, 0x0000f892, 0xd8000000, 0x0000808a,
+ 0x1d3f8074, 0x00007900, 0x003ffffe, 0x00008280, 0x0000015c, 0x0000f400,
0x0dc04037, 0x00006380, 0xd0000874, 0x00002400, 0x09000800, 0x00006181,
- 0x00202874, 0x0000e006, 0x009e078b, 0x00007100, 0x09202c05, 0x00001901,
+ 0x00203074, 0x0000e006, 0x015b0934, 0x0000f100, 0x09203406, 0x00001901,
0x01000000, 0x0000e180, 0x10000800, 0x00006404, 0x700000ec, 0x0000d680,
0x00000040, 0x00000080, 0x04147004, 0x00006187, 0x50001077, 0x00003403,
0x00502000, 0x00007900, 0x0004c010, 0x00008980, 0x0027f800, 0x00007900,
0x003ffffe, 0x00008280, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
- 0x81205002, 0x000080cd, 0x00af0765, 0x00007500, 0x01e0784a, 0x000080c3,
+ 0x81205002, 0x000080cd, 0x016c090e, 0x0000f500, 0x01a0784a, 0x000000c3,
0x80604404, 0x00009101, 0x000800ec, 0x00005780, 0x00884080, 0x000081c0,
0x001030ec, 0x00005780, 0x00804940, 0x00008280, 0x00000424, 0x00009583,
0x001050ec, 0x00005780, 0x00004002, 0x00008080, 0x83026000, 0x00001991,
- 0x0080d6ec, 0x00005f80, 0x00884941, 0x0000038c, 0x81c02648, 0x0000e283,
- 0x0239b736, 0x00000901, 0x03000000, 0x000000e8, 0x01c00206, 0x0000e188,
- 0x0279b736, 0x00008908, 0x000000d0, 0x0000f010, 0x00003809, 0x00006502,
- 0x0080000c, 0x0000a586, 0x01c00000, 0x00007900, 0x00001380, 0x00008980,
- 0x02205c06, 0x0000e121, 0x0002880c, 0x0000a487, 0x81e80500, 0x0000e100,
- 0x0414700a, 0x0000e187, 0x75e80007, 0x00006101, 0x0020400c, 0x0000b106,
- 0x703860ec, 0x0000d600, 0x00383800, 0x00000000, 0x01e00002, 0x00009980,
- 0x00000001, 0x00007480, 0xc1d05b05, 0x00001000, 0x703838ec, 0x00005600,
- 0x00385000, 0x00008000, 0x0f81bc07, 0x00006000, 0x0080000c, 0x00003586,
- 0x0414700a, 0x0000e187, 0x0002880c, 0x00003487, 0x2c07e407, 0x00009680,
- 0x01c588b0, 0x00001001, 0x01c00206, 0x00006180, 0x02203f36, 0x00008001,
- 0x02604408, 0x00009900, 0x00003809, 0x00009502, 0x01c00000, 0x00007900,
- 0x00001380, 0x00008980, 0x81e80500, 0x0000e100, 0x02205c06, 0x00004121,
- 0x75e80007, 0x0000e901, 0x0020400c, 0x00006906, 0x703860ec, 0x0000d600,
- 0x00383800, 0x00000000, 0x01e00002, 0x00009980, 0x00000001, 0x00007480,
- 0xc1d05b05, 0x00001000, 0x703838ec, 0x00005600, 0x00385000, 0x00008000,
- 0x80000636, 0x00006583, 0x0331b736, 0x00008101, 0x01c0140c, 0x0000e791,
- 0x01c1d000, 0x00000989, 0x02c01505, 0x0000e781, 0xb844e000, 0x00000980,
- 0x02001d05, 0x0000e283, 0x01c1d407, 0x00000091, 0x02000000, 0x00001981,
- 0x78603c07, 0x0000e101, 0x02000800, 0x00004991, 0x01c01c0c, 0x00009283,
- 0x02001c0c, 0x0000e281, 0x02e05c08, 0x00000001, 0x02400c0b, 0x0000e189,
- 0x01c00c0b, 0x00000189, 0x00000120, 0x00007010, 0x00000407, 0x0000e583,
- 0x02003c07, 0x00008281, 0x10420600, 0x0000f904, 0x00000001, 0x0000f089,
- 0x22a03c07, 0x0000448c, 0x24000c08, 0x0000008a, 0x22001408, 0x0000c488,
- 0x1c001c08, 0x0000008a, 0x21802408, 0x00004488, 0x14002c08, 0x0000808a,
- 0x42003408, 0x0000f88a, 0x00000001, 0x00000080, 0x0240140b, 0x00009181,
+ 0x0080d6ec, 0x00005f80, 0x00884941, 0x0000038c, 0x81802648, 0x00006283,
+ 0x01f9b736, 0x00000901, 0x02c00000, 0x000080e4, 0x01800307, 0x00006188,
+ 0x0239b736, 0x00000908, 0x0000018d, 0x0000f010, 0x00003008, 0x00006502,
+ 0x0080000b, 0x00002586, 0x01800000, 0x0000f900, 0x00001380, 0x00008980,
+ 0x01e05607, 0x00006121, 0x0002880b, 0x00002487, 0x81a80500, 0x00006100,
+ 0x04147009, 0x0000e187, 0x75e80006, 0x0000e101, 0x0020380b, 0x00003106,
+ 0x703858ec, 0x00005600, 0x00383000, 0x00008000, 0x01a00002, 0x00001980,
+ 0x00000001, 0x00007480, 0xc1905305, 0x00001000, 0x703830ec, 0x0000d600,
+ 0x00384800, 0x00008000, 0x0f81bc06, 0x0000e000, 0x0080000b, 0x0000b586,
+ 0x04147009, 0x0000e187, 0x0002880b, 0x0000b487, 0x2c07e406, 0x00001680,
+ 0x018588b0, 0x00009001, 0x01800307, 0x0000e180, 0x01e03736, 0x00000001,
+ 0x02203c07, 0x00001900, 0x00003008, 0x00009502, 0x01800000, 0x0000f900,
+ 0x00001380, 0x00008980, 0x81a80500, 0x00006100, 0x01e05607, 0x0000c121,
+ 0x75e80006, 0x00006901, 0x0020380b, 0x0000e906, 0x703858ec, 0x00005600,
+ 0x00383000, 0x00008000, 0x01a00002, 0x00001980, 0x00000001, 0x00007480,
+ 0xc1905305, 0x00001000, 0x703830ec, 0x0000d600, 0x00384800, 0x00008000,
+ 0x80000636, 0x00006583, 0x02f1b736, 0x00000101, 0x0180140b, 0x0000e791,
+ 0x0181d000, 0x00008989, 0x02801507, 0x0000e781, 0xb844e000, 0x00000980,
+ 0x02001d07, 0x00006283, 0x0181d406, 0x00000091, 0x02000000, 0x00001981,
+ 0x78603406, 0x0000e101, 0x02000800, 0x00004991, 0x01801c0b, 0x00009283,
+ 0x02001c0b, 0x00006281, 0x02a05408, 0x00000001, 0x02000c0a, 0x0000e189,
+ 0x01800c0a, 0x00000189, 0x000001dd, 0x0000f010, 0x00000406, 0x00006583,
+ 0x01c03c06, 0x00000281, 0x10420600, 0x0000f904, 0x00000001, 0x0000f089,
+ 0x3a403c06, 0x0000448c, 0x9e000c07, 0x0000008b, 0x39a01407, 0x0000c488,
+ 0x96001c07, 0x0000008b, 0x39202407, 0x00004488, 0x8e002c07, 0x0000008b,
+ 0x71403407, 0x0000788a, 0x00000001, 0x00000080, 0x0200140a, 0x00009181,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x10420600, 0x0000f904,
- 0x10420600, 0x0000f904, 0x02400c09, 0x00001181, 0x10420600, 0x0000f904,
- 0x02400c09, 0x00001181, 0x10420600, 0x0000f904, 0x02400c09, 0x00001181,
- 0x10420600, 0x0000f904, 0x02400c09, 0x00001181, 0x10420600, 0x0000f904,
- 0x02400c09, 0x00001181, 0x02400c09, 0x00009183, 0x10420600, 0x0000f904,
+ 0x10420600, 0x0000f904, 0x02000c08, 0x00001181, 0x10420600, 0x0000f904,
+ 0x02000c08, 0x00001181, 0x10420600, 0x0000f904, 0x02000c08, 0x00001181,
+ 0x10420600, 0x0000f904, 0x02000c08, 0x00001181, 0x10420600, 0x0000f904,
+ 0x02000c08, 0x00001181, 0x02000c08, 0x00009183, 0x10420600, 0x0000f904,
0x00000001, 0x0000f089, 0x10420600, 0x0000f904, 0x10420600, 0x0000f904,
0x10420600, 0x0000f904, 0x10420600, 0x0000f904, 0x10420600, 0x0000f904,
- 0x10420600, 0x0000f904, 0x02404409, 0x00009183, 0x10420600, 0x0000f904,
- 0x10420600, 0x0000f904, 0x00000115, 0x00007010, 0x00000001, 0x0000f080,
- 0x01c02000, 0x0000e181, 0x03801c08, 0x0000c881, 0x03282c0c, 0x0000e000,
- 0x02204407, 0x00008101, 0x02001c08, 0x00009881, 0x022040e5, 0x00006000,
- 0x02604408, 0x0000c900, 0x01c20200, 0x0000f904, 0x03400a00, 0x0000f904,
- 0x03c03807, 0x0000e100, 0x03406808, 0x0000c200, 0x02c00c0b, 0x00006183,
- 0x01e07007, 0x00008700, 0x03400000, 0x0000e180, 0x01c0380d, 0x00004300,
- 0x10403c00, 0x00007904, 0x03c00000, 0x0000e181, 0x01c0480f, 0x0000c800,
- 0x0039b00c, 0x00006502, 0x03c00800, 0x00000991, 0x03400800, 0x00009990,
- 0xffffffff, 0x00007f86, 0x03606c0f, 0x00009303, 0x00403c00, 0x00007914,
- 0x00000001, 0x0000f089, 0x0000040f, 0x00009583, 0x00000127, 0x0000f013,
+ 0x10420600, 0x0000f904, 0x02004408, 0x00009183, 0x10420600, 0x0000f904,
+ 0x10420600, 0x0000f904, 0x000001d2, 0x0000f010, 0x00000001, 0x0000f080,
+ 0x01802000, 0x00006181, 0x03401c08, 0x0000c881, 0x02e83c0b, 0x00006000,
+ 0x02204406, 0x00000101, 0x02001c08, 0x00009881, 0x022040e5, 0x00006000,
+ 0x02604408, 0x0000c900, 0x01820200, 0x00007904, 0x03000a00, 0x00007904,
+ 0x03803006, 0x00006100, 0x03006008, 0x0000c200, 0x02800c0a, 0x00006183,
+ 0x01a06806, 0x00008700, 0x03000000, 0x00006180, 0x0180300c, 0x0000c300,
+ 0x10403400, 0x0000f904, 0x03800000, 0x00006181, 0x0180480e, 0x0000c800,
+ 0x0039b00b, 0x0000e502, 0x03800800, 0x00008991, 0x03000800, 0x00001990,
+ 0xffffffff, 0x00007f86, 0x0320640e, 0x00001303, 0x00403400, 0x0000f914,
+ 0x00000001, 0x0000f089, 0x0000040e, 0x00001583, 0x000001e4, 0x0000f013,
0x00000001, 0x0000f080, 0x41000d98, 0x00006283, 0xf0000874, 0x0000a400,
- 0x41002598, 0x00009283, 0xffffffff, 0x00007f86, 0x000001a8, 0x00007010,
- 0x00000198, 0x00007010, 0x0a43bc04, 0x0000e000, 0x10000800, 0x00003404,
+ 0x41002598, 0x00009283, 0xffffffff, 0x00007f86, 0x00000265, 0x0000f010,
+ 0x00000255, 0x0000f010, 0x0a43bc04, 0x0000e000, 0x10000800, 0x00003404,
0x00502000, 0x00007900, 0x0004c010, 0x00008980, 0x0027f800, 0x00007900,
- 0x003ffffe, 0x00008280, 0x89205002, 0x000000cd, 0x014c0765, 0x00007500,
- 0x01e0784a, 0x000080c3, 0x80602424, 0x00001101, 0x000800ec, 0x00005780,
+ 0x003ffffe, 0x00008280, 0x89205002, 0x000000cd, 0x0209090e, 0x0000f500,
+ 0x01a0784a, 0x000000c3, 0x80602424, 0x00001101, 0x000800ec, 0x00005780,
0x00884080, 0x000081c0, 0x001030ec, 0x00005780, 0x00804940, 0x00008280,
0x001050ec, 0x00005780, 0x00004002, 0x00008080, 0x814010ec, 0x0000d684,
0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0080d0ec, 0x0000d780,
0x00884941, 0x00008388, 0xc0000f8a, 0x00006583, 0x01ac558a, 0x00008901,
- 0x4194518a, 0x00000019, 0xc1a4548a, 0x00001901, 0x00000175, 0x00007008,
+ 0x4194518a, 0x00000019, 0xc1a4548a, 0x00001901, 0x00000232, 0x00007008,
0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01400000, 0x000080d0,
0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x002a4005, 0x0000e086,
0x04147004, 0x00003187, 0x700700ec, 0x00005680, 0x00382002, 0x00008000,
0xc1f82aec, 0x0000a880, 0xc1f014ec, 0x0000d002, 0x00383000, 0x00008000,
0xc1fc66ec, 0x00003838, 0xc23c70ec, 0x0000b838, 0xc23c82ec, 0x00003838,
- 0xc23c94ec, 0x0000b838, 0xc23c26ec, 0x0000b838, 0x01713e77, 0x0000f500,
+ 0xc23c94ec, 0x0000b838, 0xc23c26ec, 0x0000b838, 0x022e41a0, 0x00007500,
0xc27c30ec, 0x0000b838, 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080,
0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
0x00000000, 0x00000084, 0x89001ee3, 0x00009880, 0x89371a24, 0x00009100,
@@ -4071,959 +4159,1016 @@ ARRAY_DECL u32 init_val[] = {
0x700700ec, 0x00005680, 0x00382002, 0x00008000, 0xc1f82aec, 0x0000a880,
0xc1f014ec, 0x0000d002, 0x00383000, 0x00008000, 0xc1fc66ec, 0x00003838,
0xc23c70ec, 0x0000b838, 0xc23c82ec, 0x00003838, 0xc23c94ec, 0x0000b838,
- 0xc23c26ec, 0x0000b838, 0x01943e77, 0x00007500, 0xc27c30ec, 0x0000b838,
+ 0xc23c26ec, 0x0000b838, 0x025141a0, 0x0000f500, 0xc27c30ec, 0x0000b838,
0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080, 0xffc00000, 0x00001980,
0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x019c253f, 0x0000f500, 0x0348100d, 0x00006180, 0x0304b897, 0x0000c900,
- 0x8379c902, 0x0000001c, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x042bb000, 0x0000f900, 0x002bc77a, 0x00008980, 0x04500000, 0x00007900,
- 0x002a5ce8, 0x00000980, 0x04800000, 0x000000fc, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x01a820b1, 0x00007500, 0x82f81400, 0x00008030,
- 0x81c01000, 0x00009980, 0x01ac253f, 0x0000f500, 0x0348100d, 0x00006180,
- 0x0304b897, 0x0000c900, 0x8379c902, 0x0000001c, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x042ad000, 0x00007900, 0x002bc77a, 0x00008980,
- 0x04512000, 0x00007900, 0x0026a42a, 0x00000980, 0x04800000, 0x000000fc,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x01b820b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x81c01000, 0x00009980, 0xc320004c, 0x00008ffd,
+ 0x025926a1, 0x00007500, 0x0348100d, 0x00006180, 0x0304b897, 0x0000c900,
+ 0x8379c902, 0x0000001c, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x042ad000, 0x00007900, 0x002bc77c, 0x00008980, 0x04500000, 0x00007900,
+ 0x002a5ce8, 0x00000980, 0x04800000, 0x000080dc, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x02652213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x81401000, 0x00001980, 0x026926a1, 0x00007500, 0x0348100d, 0x00006180,
+ 0x0304b897, 0x0000c900, 0x8379c902, 0x0000001c, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x042aa800, 0x00007900, 0x002bc77c, 0x00008980,
+ 0x04512000, 0x00007900, 0x0026a42a, 0x00000980, 0x04800000, 0x000080dc,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x02752213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x81401000, 0x00001980, 0xc320004c, 0x00008ffd,
0x001810ec, 0x00005780, 0x00884980, 0x00000180, 0x0080d6ec, 0x00005f80,
- 0x00884941, 0x0000038c, 0x01800001, 0x0000e180, 0x01400000, 0x00004980,
+ 0x00884941, 0x0000038c, 0x01c00001, 0x00006180, 0x01800000, 0x00004980,
0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x70000877, 0x00006401,
- 0x10000800, 0x00003404, 0x00302006, 0x0000e102, 0x04147005, 0x0000b187,
+ 0x10000800, 0x00003404, 0x00302007, 0x00006102, 0x04147006, 0x0000b187,
0x00502000, 0x00007900, 0x0004c010, 0x00008980, 0x0027f800, 0x00007900,
- 0x003ffffe, 0x00008280, 0x703830ec, 0x0000d600, 0x00382800, 0x00008000,
- 0x01001000, 0x0000e181, 0x0a43bc05, 0x00006000, 0x40e07c0a, 0x000080c3,
- 0x80602c04, 0x00001101, 0x3e400489, 0x00004290, 0xa6000704, 0x00000093,
- 0x89000704, 0x00007892, 0xe8000000, 0x0000808f, 0x01010437, 0x00006283,
- 0x04800000, 0x00008980, 0xffc00000, 0x00006180, 0x00150012, 0x0000e20e,
- 0x000800ec, 0x00005780, 0x00884080, 0x000081c0, 0x03c00000, 0x00006180,
- 0x00150812, 0x00006216, 0x03801002, 0x00006100, 0x0000180f, 0x0000e106,
+ 0x003ffffe, 0x00008280, 0x703838ec, 0x00005600, 0x00383000, 0x00008000,
+ 0x01001000, 0x0000e181, 0x0a43bc06, 0x00006000, 0x40e07c0a, 0x000080c3,
+ 0x80603404, 0x00001101, 0x53a00489, 0x00004190, 0x00000704, 0x00000088,
+ 0x00800c05, 0x00004791, 0x02c00704, 0x0000048b, 0xc3400c05, 0x0000788a,
+ 0xd8000000, 0x00008187, 0x0294090e, 0x00007300, 0x01825000, 0x00009980,
+ 0xffc00000, 0x00001980, 0x000800ec, 0x00005780, 0x00884080, 0x000081c0,
+ 0x001030ec, 0x00005780, 0x00804940, 0x00008280, 0x001050ec, 0x00005780,
+ 0x00004002, 0x00008080, 0x0080d6ec, 0x00005f80, 0x00884941, 0x0000038c,
+ 0x01010437, 0x00006283, 0x04800000, 0x00008980, 0x00150012, 0x0000e20e,
+ 0x00150812, 0x00003216, 0x03c00000, 0x00006180, 0x03801002, 0x00004900,
+ 0x8100230e, 0x00006780, 0x0000180f, 0x00002106, 0x0318b000, 0x00007900,
+ 0x00039240, 0x00008980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04400800, 0x00007900, 0x0001c000, 0x00000980, 0xc000180f, 0x00006006,
+ 0x45102012, 0x0000b107, 0x02000806, 0x00006180, 0x02400000, 0x00004980,
+ 0x028038a0, 0x0000e180, 0x02c3c100, 0x00004980, 0x04c00000, 0x000001c0,
+ 0xffc00000, 0x00001980, 0x000800ec, 0x00005780, 0x00884080, 0x000081c0,
+ 0x001030ec, 0x00005780, 0x00804940, 0x00008280, 0x001050ec, 0x00005780,
+ 0x00004002, 0x00008080, 0x0080d6ec, 0x00005f80, 0x00884941, 0x0000038c,
+ 0x02000000, 0x000080fc, 0x04800000, 0x00006180, 0x00202808, 0x0000e002,
+ 0x03801002, 0x00006100, 0x0000180f, 0x0000e106, 0xc3202808, 0x00006000,
+ 0x00127812, 0x0000b206, 0xc1001777, 0x0000e283, 0x028038a0, 0x00000980,
+ 0x8100230e, 0x00006780, 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900,
+ 0x00039340, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04400800, 0x00007900, 0x0001c000, 0x00000980, 0xd3602808, 0x00006000,
+ 0x8620280a, 0x00003011, 0x02400000, 0x00006180, 0x45102012, 0x0000e107,
+ 0x000002b2, 0x0000f400, 0x02c3c100, 0x00006180, 0x04000000, 0x0000c980,
+ 0x04c00000, 0x00009980, 0x01010437, 0x00006283, 0x04800000, 0x00008980,
+ 0x000800ec, 0x00005780, 0x00884080, 0x000081c0, 0x00150012, 0x0000e20e,
+ 0x00150812, 0x00003216, 0x03c00000, 0x00006180, 0x03801002, 0x00004900,
0x001030ec, 0x00005780, 0x00804940, 0x00008280, 0x8100230e, 0x00006780,
- 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900, 0x00039240, 0x00008980,
+ 0x0000180f, 0x00002106, 0x0318b000, 0x00007900, 0x00039240, 0x00008980,
0x03400000, 0x00007900, 0x00018008, 0x00000980, 0x04400800, 0x00007900,
0x0001c000, 0x00000980, 0x001050ec, 0x00005780, 0x00004002, 0x00008080,
- 0x02000806, 0x00006180, 0x45102012, 0x0000e107, 0x02400000, 0x00006180,
- 0x028038a0, 0x0000c980, 0x02c3c100, 0x00006180, 0x04000000, 0x0000c980,
- 0x04c00000, 0x00009980, 0x0080d6ec, 0x00005f80, 0x00884941, 0x0000038c,
- 0x01f40765, 0x00007300, 0x01c25000, 0x00001980, 0xffc00000, 0x00001980,
+ 0xc000180f, 0x00006006, 0x45102012, 0x0000b107, 0x02000806, 0x00006180,
+ 0x02400000, 0x00004980, 0x028038a0, 0x0000e180, 0x02c3c100, 0x00004980,
+ 0x04c00000, 0x000001c0, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x0080d0ec, 0x0000d780, 0x00884941, 0x00008388,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x02f9090e, 0x0000f300, 0x01826000, 0x00009980, 0x02fb0275, 0x0000f300,
+ 0x00006074, 0x00006c81, 0x02fd090e, 0x00007300, 0x01825000, 0x00009980,
0x000800ec, 0x00005780, 0x00884080, 0x000081c0, 0x001030ec, 0x00005780,
0x00804940, 0x00008280, 0x001050ec, 0x00005780, 0x00004002, 0x00008080,
- 0x0080d6ec, 0x00005f80, 0x00884941, 0x0000038c, 0x01010437, 0x00006283,
- 0x04800000, 0x00008980, 0x000800ec, 0x00005780, 0x00884080, 0x000081c0,
- 0x00150012, 0x0000e20e, 0x00150812, 0x00003216, 0x03c00000, 0x00006180,
- 0x03801002, 0x00004900, 0x001030ec, 0x00005780, 0x00804940, 0x00008280,
- 0x8100230e, 0x00006780, 0x0000180f, 0x00002106, 0x0318b000, 0x00007900,
- 0x00039240, 0x00008980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
- 0x04400800, 0x00007900, 0x0001c000, 0x00000980, 0x001050ec, 0x00005780,
- 0x00004002, 0x00008080, 0xc000180f, 0x00006006, 0x45102012, 0x0000b107,
- 0x02000806, 0x00006180, 0x02400000, 0x00004980, 0x028038a0, 0x0000e180,
- 0x02c3c100, 0x00004980, 0x04c00000, 0x000001c0, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0080d0ec, 0x0000d780,
- 0x00884941, 0x00008388, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x02220765, 0x0000f300, 0x01c26000, 0x00001980,
- 0x022401b8, 0x0000f300, 0x00006074, 0x00006c81, 0x02260765, 0x00007300,
- 0x01c25000, 0x00001980, 0x000800ec, 0x00005780, 0x00884080, 0x000081c0,
- 0x001030ec, 0x00005780, 0x00804940, 0x00008280, 0x001050ec, 0x00005780,
- 0x00004002, 0x00008080, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x0080d0ec, 0x0000d780, 0x00884941, 0x00008388, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x030d0275, 0x00007300,
+ 0x00006074, 0x00006c81, 0x02000000, 0x000080fc, 0x000800ec, 0x00005780,
+ 0x00884080, 0x000081c0, 0x04800000, 0x00006180, 0x00202808, 0x0000e002,
+ 0x03801002, 0x00006100, 0x0000180f, 0x0000e106, 0x001030ec, 0x00005780,
+ 0x00804940, 0x00008280, 0xc3202808, 0x00006000, 0x00127812, 0x0000b206,
+ 0xc1001777, 0x0000e283, 0x028038a0, 0x00000980, 0x8100230e, 0x00006780,
+ 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900, 0x00039340, 0x00000980,
+ 0x03400000, 0x00007900, 0x00018008, 0x00000980, 0x04400800, 0x00007900,
+ 0x0001c000, 0x00000980, 0x001050ec, 0x00005780, 0x00004002, 0x00008080,
+ 0xd3602808, 0x00006000, 0x8620280a, 0x00003011, 0x02400000, 0x00006180,
+ 0x45102012, 0x0000e107, 0x02c3c100, 0x00006180, 0x04000000, 0x0000c980,
+ 0x04c00000, 0x00009980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
0xffffffff, 0x00007f86, 0x0080d0ec, 0x0000d780, 0x00884941, 0x00008388,
0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x023601b8, 0x0000f300, 0x00006074, 0x00006c81, 0x023b253f, 0x00007500,
- 0x0370100c, 0x00006180, 0x03101202, 0x0000c900, 0xc3682d05, 0x00006100,
- 0x01e82d05, 0x00004900, 0xba803aec, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00001c07, 0x00001583, 0x0dc04037, 0x00006398, 0x04382074, 0x00002099,
- 0xead02204, 0x00006118, 0x86282874, 0x0000609d, 0x00000246, 0x0000f030,
- 0x024601bd, 0x00007300, 0xc1000800, 0x0000e181, 0xf7e02874, 0x0000e001,
- 0x00382009, 0x0000e086, 0x04382074, 0x0000b081, 0x01800c07, 0x0000e081,
- 0x82282809, 0x00002086, 0x86282874, 0x00006085, 0x04101009, 0x00003187,
- 0xba8032ec, 0x00002884, 0x81a03c07, 0x00006100, 0xf7e02874, 0x0000e001,
- 0xba784a06, 0x0000d004, 0x00372800, 0x00000002, 0x025501bd, 0x0000f500,
- 0x0dc04037, 0x00006380, 0xead02204, 0x00008900, 0xc1000800, 0x00009981,
- 0x00000034, 0x0000e582, 0xc19722e4, 0x00000900, 0x0e41cb88, 0x00006000,
- 0x819c4388, 0x00008900, 0xc1544288, 0x0000e100, 0x00000048, 0x0000e409,
- 0x0000048d, 0x0000f010, 0x0a44c224, 0x0000e900, 0x09112288, 0x00001100,
- 0x0dfbf837, 0x0000f900, 0x003ffffe, 0x00008280, 0x00000024, 0x00009582,
- 0x80000636, 0x00009583, 0xffffffff, 0x00007f86, 0x000003dc, 0x0000f038,
- 0x0000040a, 0x0000f010, 0x8939b736, 0x00001900, 0x80103224, 0x00009502,
- 0x4179b736, 0x00009931, 0x000004ee, 0x0000f019, 0x81a82a06, 0x0000e100,
- 0xc1582d05, 0x00000000, 0x81c02648, 0x00001283, 0xc000079d, 0x00001583,
- 0xffffffff, 0x00007f86, 0x000004ba, 0x00007010, 0x000003f7, 0x0000f010,
- 0x01c02437, 0x00009283, 0x000003e2, 0x00007013, 0x090ce99d, 0x00009900,
- 0x0001c024, 0x00009502, 0x01c20437, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00000489, 0x0000f018, 0x00000401, 0x00007008, 0x02010437, 0x00006283,
- 0x89001ee3, 0x00000880, 0x83771a24, 0x00001100, 0xb3b83a0d, 0x00002004,
- 0x00000420, 0x00007010, 0x000728a0, 0x00009502, 0x091502a0, 0x00006110,
- 0xc1000800, 0x00004989, 0x00000285, 0x0000f009, 0x00003824, 0x00009502,
- 0x41408800, 0x00006199, 0xc1009000, 0x00004999, 0x0000036d, 0x0000f019,
- 0x0a04e424, 0x00006882, 0x00012424, 0x00009583, 0x00012424, 0x00009583,
- 0x00018c24, 0x00001583, 0x00000344, 0x00007008, 0x0000034d, 0x0000f050,
- 0x00000292, 0x00007008, 0x00018c24, 0x00001583, 0x00012c24, 0x00001583,
- 0x81c00e9c, 0x00001283, 0x0000035c, 0x00007038, 0x00000365, 0x00007010,
- 0x00000344, 0x00007010, 0x01c78474, 0x00009283, 0x00000303, 0x0000700b,
- 0xcd64ec9d, 0x00000213, 0x00000024, 0x00006582, 0x036122ec, 0x00000101,
- 0x4d800000, 0x0000e189, 0x0d000000, 0x00004988, 0x03001c0d, 0x0000e281,
- 0x0d801c0d, 0x00008281, 0x000002a4, 0x00007008, 0x4da9bd37, 0x0000e101,
- 0x090ced37, 0x00004000, 0x0d01240c, 0x00009000, 0x00000034, 0x00001582,
- 0x000002a4, 0x0000700b, 0x80000206, 0x00009582, 0x0dc40037, 0x0000e388,
- 0x10000877, 0x00002411, 0x09103206, 0x00009900, 0x0001a824, 0x00001502,
- 0x8351aa35, 0x0000e118, 0x83503206, 0x0000c930, 0xc1c0474c, 0x00009283,
- 0xdd506a0d, 0x00001900, 0x0000037a, 0x00007011, 0x891baa06, 0x00006100,
- 0x029ba834, 0x00008100, 0x8021b224, 0x00006502, 0x021ba835, 0x00008100,
- 0x03612424, 0x0000e131, 0x0361b436, 0x0000c919, 0x0d5ba835, 0x00006100,
- 0xdd982b05, 0x00008900, 0x83206a24, 0x0000e100, 0x1d606c0d, 0x00000901,
- 0x8029b20c, 0x0000e502, 0x0da06c36, 0x00008101, 0x0920640c, 0x00006131,
- 0x0929b536, 0x00004919, 0x02a0680a, 0x00001100, 0x81e1220c, 0x0000e100,
- 0x81a1220c, 0x00000100, 0x831bac0d, 0x00006000, 0x0261200a, 0x00000100,
- 0x83506424, 0x00006000, 0x9dd06424, 0x00008000, 0x8000020d, 0x0000e582,
- 0x5d612424, 0x00008901, 0x4da12536, 0x00006101, 0x00000877, 0x0000a411,
- 0x0d21200a, 0x0000e100, 0xc1582a0d, 0x00000000, 0x00000009, 0x00006582,
- 0x81000e04, 0x00000191, 0x81c02648, 0x00001283, 0xffffffff, 0x00007f86,
- 0x000004a3, 0x0000f010, 0x000002cf, 0x0000f010, 0xc1c0474c, 0x00006283,
- 0xe0000874, 0x00002400, 0x0000036f, 0x00007013, 0x80000207, 0x00001582,
- 0xb9183306, 0x00009908, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b,
- 0xc0000704, 0x00001583, 0x02000806, 0x0000e188, 0x02400000, 0x0000c988,
- 0x028038a0, 0x00006188, 0x02c3c100, 0x0000c988, 0x00000322, 0x00007010,
- 0x01c10437, 0x00006283, 0x04800000, 0x00008980, 0x00150012, 0x0000e20e,
- 0x00150812, 0x00003216, 0x03c00000, 0x00006180, 0x03801002, 0x00004900,
- 0x8900230e, 0x0000e780, 0x0000180f, 0x00002106, 0x0318b000, 0x00007900,
- 0x00039240, 0x00008980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
- 0x04400800, 0x00007900, 0x0001c000, 0x00000980, 0x001810ec, 0x00005780,
- 0x00884980, 0x00000180, 0xc000180f, 0x00006006, 0x45112012, 0x00003107,
- 0x04c00000, 0x000001c0, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0x0335090e, 0x00007300, 0x01826000, 0x00009980, 0x03370275, 0x00007300,
+ 0x00006074, 0x00006c81, 0x033c26a1, 0x0000f500, 0x0370100c, 0x00006180,
+ 0x03101202, 0x0000c900, 0xc3702e05, 0x00006100, 0x01f02e05, 0x00004900,
+ 0xba803aec, 0x00002084, 0xffffffff, 0x00007fa7, 0x00001c07, 0x00001583,
+ 0x0dc04037, 0x00006398, 0x04382074, 0x00002099, 0xead02204, 0x00006118,
+ 0x86302874, 0x0000609d, 0x00000347, 0x0000f030, 0x0347027a, 0x0000f300,
+ 0xc1000800, 0x0000e181, 0xf7e82874, 0x00006001, 0x00382009, 0x0000e086,
+ 0x04382074, 0x0000b081, 0x01800c07, 0x0000e081, 0x82302809, 0x00002086,
+ 0x86302874, 0x00006085, 0x04101009, 0x00003187, 0xba8032ec, 0x00002884,
+ 0x81a03c07, 0x00006100, 0xf7e82874, 0x00006001, 0xba784a06, 0x0000d004,
+ 0x00372800, 0x00000002, 0x0356027a, 0x0000f500, 0x0dc04037, 0x00006380,
+ 0xead02204, 0x00008900, 0xc1000800, 0x00009981, 0x00000034, 0x0000e582,
+ 0x891722e4, 0x00008900, 0x0e41cb88, 0x00006000, 0xc1dc4388, 0x00008900,
+ 0xc1544288, 0x0000e100, 0x00000048, 0x0000e409, 0x000005d3, 0x0000f010,
+ 0x0a44c225, 0x00006900, 0x09512a88, 0x00001100, 0x0dfbf837, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x00000025, 0x00001582, 0x80000636, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x000004ff, 0x0000f038, 0x00000527, 0x00007010,
+ 0x8979b736, 0x00009900, 0x80183a25, 0x00001502, 0x41f9b736, 0x00001931,
+ 0x000005f9, 0x00007019, 0xc1e83b07, 0x00006100, 0xc1582d07, 0x00008000,
+ 0x81802648, 0x00009283, 0xc000079d, 0x00001583, 0xffffffff, 0x00007f86,
+ 0x00000554, 0x0000f010, 0x00000493, 0x0000f010, 0x01802437, 0x00001283,
+ 0x00000511, 0x00007013, 0x094ce99d, 0x00001900, 0x0001c025, 0x00001502,
+ 0x01820437, 0x00001283, 0xffffffff, 0x00007f86, 0x000005cd, 0x00007018,
+ 0x00000508, 0x0000f008, 0x01c10437, 0x00006283, 0x89401ee3, 0x00008880,
+ 0x89771a25, 0x00009100, 0xb3b83225, 0x0000a004, 0x00000586, 0x0000f010,
+ 0x000728a0, 0x00009502, 0x095502a0, 0x0000e110, 0xc1000800, 0x00004989,
+ 0x00000384, 0x0000f009, 0x00003025, 0x00009502, 0x00000505, 0x0000f01b,
+ 0x0a04e425, 0x0000e882, 0x00012425, 0x00001583, 0x00012425, 0x00001583,
+ 0x00018c25, 0x00009583, 0x00000423, 0x00007008, 0x0000042c, 0x0000f050,
+ 0x00000391, 0x0000f008, 0x00018c25, 0x00009583, 0x00012c25, 0x00009583,
+ 0x81800e9c, 0x00009283, 0x00000469, 0x0000f038, 0x00000471, 0x0000f010,
+ 0x00000423, 0x00007010, 0x01878474, 0x00001283, 0x000003fc, 0x0000700b,
+ 0xcd64ec9d, 0x00008217, 0x00000025, 0x0000e582, 0x03a12aec, 0x00008101,
+ 0x4d800000, 0x0000e189, 0x0d000000, 0x00004988, 0x03401c0e, 0x00006281,
+ 0x0d801c0e, 0x00008281, 0x000003a3, 0x00007008, 0x4da9bd37, 0x0000e101,
+ 0x094ced37, 0x0000c000, 0x0d012c0d, 0x00009000, 0x00000034, 0x00001582,
+ 0x000003a3, 0x0000700b, 0xc0000307, 0x00001582, 0x0dc40037, 0x0000e388,
+ 0x10000877, 0x00002411, 0x09583b07, 0x00001900, 0x0001a825, 0x00009502,
+ 0x8391aa35, 0x0000e118, 0x83983b07, 0x0000c930, 0xc180474c, 0x00001283,
+ 0xdd50720e, 0x00001900, 0x0000049d, 0x0000f011, 0x895bab07, 0x0000e100,
+ 0x031ba834, 0x00008100, 0x8021b225, 0x0000e502, 0x025ba835, 0x00000100,
+ 0x03a12c25, 0x0000e131, 0x03a1b436, 0x0000c919, 0x0d5ba835, 0x00006100,
+ 0xdd982b05, 0x00008900, 0x83607225, 0x0000e100, 0x1d60740e, 0x00000901,
+ 0x8029b20d, 0x00006502, 0x0da07436, 0x00008101, 0x09606c0d, 0x0000e131,
+ 0x0969b536, 0x0000c919, 0x0320700c, 0x00001100, 0x81a12a0d, 0x00006100,
+ 0xc1e12a0d, 0x00000100, 0x835bac0e, 0x0000e000, 0x02e1280c, 0x00000100,
+ 0x83906c25, 0x00006000, 0x9dd06c25, 0x00008000, 0x8000020e, 0x0000e582,
+ 0x5d612c25, 0x00008901, 0x4da12d36, 0x0000e101, 0x00000877, 0x0000a411,
+ 0x0d21280c, 0x00006100, 0xc1582a0e, 0x00000000, 0x0000000b, 0x0000e582,
+ 0x81000e04, 0x00000191, 0x81802648, 0x00009283, 0xffffffff, 0x00007f86,
+ 0x0000053d, 0x0000f010, 0x000003d2, 0x00007010, 0xc180474c, 0x0000e283,
+ 0xe0000874, 0x00002400, 0x00000c05, 0x00001583, 0xc181074c, 0x00001283,
+ 0x000005ee, 0x00007010, 0x000003f6, 0x00007008, 0x000003f6, 0x00007010,
+ 0x80000206, 0x00009582, 0xb9112224, 0x00009908, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x0000f08b, 0xc0000704, 0x00001583, 0x00000c05, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x0000043b, 0x00007008, 0x00000478, 0x0000f008,
+ 0x03dd090e, 0x00007300, 0x01825000, 0x00009980, 0x001810ec, 0x00005780,
+ 0x00884980, 0x00000180, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
0xffffffff, 0x00007f86, 0x0080d0ec, 0x0000d780, 0x00884941, 0x00008388,
0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x02f600b9, 0x0000f300, 0x02c00000, 0x00009980, 0x00c002ec, 0x0000df80,
- 0x1017c00b, 0x00009684, 0x1d800000, 0x0000e180, 0x40000048, 0x0000e407,
+ 0x03e90176, 0x00007300, 0x02800000, 0x00001980, 0x00c002ec, 0x0000df80,
+ 0x101f580b, 0x00009684, 0x1d800000, 0x0000e180, 0x40000048, 0x0000e407,
0x0dfbf837, 0x0000f900, 0x003ffffe, 0x00008280, 0x1d000002, 0x0000e180,
0x8000004c, 0x00006407, 0x1d400000, 0x000087dc, 0x53a00400, 0x000000d3,
- 0x9d94728e, 0x00009900, 0x02800636, 0x00007893, 0x28000000, 0x00000183,
- 0xc0000f04, 0x00009583, 0x00000294, 0x00007013, 0x024ce99d, 0x0000e100,
- 0xb6f8204c, 0x0000e001, 0x00127009, 0x00006502, 0xd3800000, 0x00008980,
- 0x82382074, 0x0000e054, 0x80001074, 0x0000b43c, 0x00000009, 0x00009582,
- 0x82400f48, 0x0000e088, 0x02c10748, 0x00004088, 0x89000a0b, 0x00001888,
- 0x00000294, 0x00007010, 0x00203824, 0x00002080, 0xac605609, 0x0000a084,
- 0xffffffff, 0x00007f97, 0x837f0207, 0x0000f900, 0x0000003e, 0x00008280,
- 0x8010520d, 0x00001502, 0x82800a0a, 0x000010d8, 0xac605609, 0x0000a8dc,
- 0x00000613, 0x0000f070, 0xac405e09, 0x00002086, 0xffffffff, 0x00007fa7,
- 0x82505a0d, 0x00009100, 0x80105209, 0x00009502, 0xd3400b4d, 0x000060e0,
- 0x20000877, 0x0000a461, 0x50001074, 0x0000ec65, 0x00000573, 0x0000f068,
- 0x00000294, 0x0000f000, 0x03240765, 0x00007300, 0x01c25000, 0x00001980,
- 0x001810ec, 0x00005780, 0x00884980, 0x00000180, 0x814010ec, 0x0000d684,
+ 0x1d80048e, 0x00000096, 0x49c00636, 0x0000f893, 0x30000000, 0x0000818b,
+ 0x80000206, 0x00006582, 0xc000004c, 0x0000a403, 0xb9112224, 0x00009908,
+ 0x000003d6, 0x00007011, 0xffffffff, 0x00007f86, 0x00000000, 0x00007083,
+ 0xc0000f04, 0x00009583, 0x00000393, 0x00007013, 0x018ce99d, 0x0000e100,
+ 0xb6f8204c, 0x0000e001, 0x00127006, 0x00006502, 0xd3800000, 0x00008980,
+ 0x82382074, 0x0000e054, 0x80001074, 0x0000b43c, 0x00000006, 0x00009582,
+ 0x82800f48, 0x0000e088, 0x82400f48, 0x0000c888, 0x82104f48, 0x00001008,
+ 0x00000393, 0x00007010, 0x89420208, 0x00009080, 0x00203025, 0x00002080,
+ 0xac606e0a, 0x00002084, 0xffffffff, 0x00007f97, 0x83bf0206, 0x00007900,
+ 0x0000003e, 0x00008280, 0x80106a0e, 0x00009502, 0x83400a0d, 0x000010d8,
+ 0xac606e0a, 0x000028dc, 0x00000698, 0x0000f070, 0xac40360a, 0x0000a086,
+ 0xffffffff, 0x00007fa7, 0x8250320e, 0x00001100, 0x80106a09, 0x00001502,
+ 0xd3400b4d, 0x000060e0, 0x20000877, 0x0000a461, 0x50001074, 0x0000ec65,
+ 0x00000787, 0x0000f068, 0x00000393, 0x0000f000, 0x81804648, 0x00009283,
+ 0x30000877, 0x00006409, 0x30000848, 0x00003409, 0x128510a2, 0x00009908,
+ 0x00000428, 0x0000f008, 0x000004a5, 0x00009583, 0x00000428, 0x0000f00b,
+ 0x09400800, 0x00009981, 0xcf8257a2, 0x0000c410, 0x50000c25, 0x00000188,
+ 0xeda78474, 0x00004595, 0x76c00f04, 0x0000fd94, 0x1280084a, 0x00006080,
+ 0x30000877, 0x00002401, 0xed278474, 0x0000c595, 0x76800f04, 0x00007d92,
+ 0x00011425, 0x00001583, 0x00010c25, 0x00001583, 0x00010425, 0x00009583,
+ 0x0000041c, 0x00007038, 0x00000423, 0x00007040, 0x0000046e, 0x00007010,
+ 0xc0000704, 0x00001583, 0x094ce99d, 0x00009910, 0x00000423, 0x0000f009,
+ 0x00000025, 0x00001582, 0x09400000, 0x0000e189, 0xc1009000, 0x0000c991,
+ 0x8140b000, 0x00001991, 0x00000424, 0x0000f008, 0x043b0337, 0x0000f100,
+ 0x01410437, 0x0000e283, 0x04800000, 0x00008980, 0x00150012, 0x0000e20e,
+ 0x00150812, 0x00003216, 0x03c00000, 0x00006180, 0x03801002, 0x00004900,
+ 0x8940230e, 0x00006780, 0x0000180f, 0x00002106, 0x0318b000, 0x00007900,
+ 0x00039240, 0x00008980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04400800, 0x00007900, 0x0001c000, 0x00000980, 0x001810ec, 0x00005780,
+ 0x00884980, 0x00000180, 0xc000180f, 0x00006006, 0x45112812, 0x0000b107,
+ 0x02000806, 0x00006180, 0x02400000, 0x00004980, 0x028038a0, 0x0000e180,
+ 0x02c3c100, 0x00004980, 0x04c00000, 0x000001c0, 0x814010ec, 0x0000d684,
0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0080d0ec, 0x0000d780,
0x00884941, 0x00008388, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x033000b9, 0x00007300, 0x02c00000, 0x00009980,
- 0x00c002ec, 0x0000df80, 0x1019900b, 0x00001684, 0x1d800000, 0x0000e180,
+ 0x00000002, 0x00008480, 0x045c0176, 0x00007300, 0x02800000, 0x00001980,
+ 0x00c002ec, 0x0000df80, 0x1042f00b, 0x00009684, 0x1d800000, 0x0000e180,
0x40000048, 0x0000e407, 0x0dfbf837, 0x0000f900, 0x003ffffe, 0x00008280,
0x1d000002, 0x0000e180, 0x8000004c, 0x00006407, 0x1d400000, 0x000087dc,
- 0x53a00400, 0x000000d3, 0x9d94728e, 0x00009900, 0x02800636, 0x00007893,
- 0x28000000, 0x00000183, 0x81c04648, 0x00001283, 0x30000877, 0x00006409,
- 0x30000848, 0x00003409, 0x128510a2, 0x00009908, 0x00000349, 0x0000f008,
- 0x000004a5, 0x00009583, 0x00000349, 0x0000f00b, 0x09000800, 0x00001981,
- 0xa5a257a2, 0x00004410, 0x92000c24, 0x0000808e, 0xe9a78474, 0x0000c595,
- 0x74c00f04, 0x00007b97, 0x1280084a, 0x00006080, 0x30000877, 0x00002401,
- 0xe9278474, 0x00004595, 0x74800f04, 0x00007b95, 0x00011424, 0x00009583,
- 0x00010c24, 0x00009583, 0x00010424, 0x00001583, 0x0000033d, 0x0000f038,
- 0x00000344, 0x00007040, 0x00000361, 0x0000f010, 0xc0000704, 0x00001583,
- 0x090ce99d, 0x00001910, 0x00000344, 0x0000f009, 0x00000024, 0x00009582,
- 0xc1009000, 0x0000e191, 0x4140b000, 0x00004991, 0x09000000, 0x00001989,
- 0x00000364, 0x0000f010, 0x00000345, 0x00007000, 0x00019424, 0x00001583,
- 0x0001fc24, 0x00009583, 0xffffffff, 0x00007f86, 0x00000344, 0x00007008,
- 0x00000344, 0x00007008, 0xc120a412, 0x000000d6, 0x01400800, 0x00001981,
- 0x811502a0, 0x00009900, 0x03650236, 0x0000f100, 0x00013424, 0x00001583,
- 0x00000361, 0x0000f013, 0x00000344, 0x0000f000, 0x02950aa1, 0x00009900,
- 0x0000380a, 0x00009502, 0x41409000, 0x00006199, 0xc1009000, 0x00004999,
- 0x00000292, 0x00007031, 0x01400800, 0x00001981, 0x036f0236, 0x0000f100,
- 0x50001074, 0x00006405, 0x8000004c, 0x00003407, 0xd3800000, 0x00006180,
- 0x02403d74, 0x0000c281, 0x00001c09, 0x00009583, 0x80000207, 0x0000e582,
- 0x80002074, 0x0000240c, 0xb9183306, 0x00009908, 0x000002d3, 0x0000f011,
- 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x8000020d, 0x00001582,
- 0xc000034e, 0x00009582, 0xffffffff, 0x00007f86, 0x000002ab, 0x00007008,
- 0x00000395, 0x00007010, 0x82800f48, 0x00006080, 0x02c10748, 0x0000c080,
- 0x83400a0b, 0x00001880, 0x0020380d, 0x0000a080, 0xffffffff, 0x00007fa7,
- 0x833f0207, 0x00007900, 0x0000003e, 0x00008280, 0xac603e0a, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x80103a0c, 0x00001502, 0x81c00a07, 0x000010d8,
- 0xac603e0a, 0x000028dc, 0x00000613, 0x0000f070, 0xac404e0a, 0x0000a086,
- 0xffffffff, 0x00007fa7, 0x82d04a0c, 0x00001100, 0x80103a0b, 0x00009502,
- 0xd3400b4d, 0x000060e0, 0x20000877, 0x0000a461, 0x000005fa, 0x0000f069,
- 0x81c01677, 0x00001283, 0x80001874, 0x0000ec0c, 0x025bab75, 0x0000e100,
- 0x029a724e, 0x0000c100, 0x00005009, 0x0000e502, 0x8312724e, 0x00008900,
- 0x82c27075, 0x0000801e, 0x000003d6, 0x0000f051, 0x00000877, 0x0000e401,
- 0xe0000074, 0x00003400, 0x83503a0c, 0x00006100, 0x50001074, 0x0000a405,
- 0xdd503a0c, 0x0000e100, 0xd3800000, 0x00008980, 0xdd982b05, 0x00006100,
- 0x81000e04, 0x00004181, 0x9dd03a0c, 0x0000e100, 0x81906a06, 0x00008100,
- 0x09106824, 0x0000e100, 0x0d506835, 0x00008100, 0x03ab0765, 0x0000f500,
- 0x0d106834, 0x0000e100, 0xc1506b05, 0x00000000, 0x01c25000, 0x00001980,
+ 0x53a00400, 0x000000d3, 0x1d80048e, 0x00000096, 0x49c00636, 0x0000f893,
+ 0x30000000, 0x0000818b, 0x00019425, 0x00009583, 0x0001fc25, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x00000423, 0x00007008, 0x00000423, 0x00007008,
+ 0x04710337, 0x0000f500, 0xc100a412, 0x000000d7, 0x01200ca0, 0x00000096,
+ 0x00013425, 0x00009583, 0xc1009000, 0x0000e191, 0x8140a000, 0x0000c991,
+ 0x811502a0, 0x00006110, 0x41400800, 0x00004991, 0x00000423, 0x00007008,
+ 0x04780337, 0x00007100, 0x02000000, 0x000080fc, 0x04800000, 0x00006180,
+ 0x00202808, 0x0000e002, 0x03801002, 0x00006100, 0x0000180f, 0x0000e106,
+ 0xc3202808, 0x00006000, 0x00127812, 0x0000b206, 0xc1001777, 0x0000e283,
+ 0x028038a0, 0x00000980, 0x8940230e, 0x00006780, 0xc000180f, 0x0000a006,
+ 0x0318b000, 0x00007900, 0x00039340, 0x00000980, 0x03400000, 0x00007900,
+ 0x00018008, 0x00000980, 0x04400800, 0x00007900, 0x0001c000, 0x00000980,
+ 0x001810ec, 0x00005780, 0x00884980, 0x00000180, 0xd3602808, 0x00006000,
+ 0x8620280a, 0x00003011, 0x02400000, 0x00006180, 0x45112812, 0x0000e107,
+ 0x00000452, 0x00007400, 0x02c3c100, 0x00006180, 0x04000000, 0x0000c980,
+ 0x04c00000, 0x00009980, 0x0241ff9c, 0x00009281, 0x00000c09, 0x00001583,
+ 0xc1009000, 0x0000e191, 0x81407800, 0x0000c991, 0x41400800, 0x00001991,
+ 0x00000371, 0x00007008, 0x01010437, 0x00009283, 0x000005d1, 0x00007013,
+ 0x811502a0, 0x00009900, 0x049d0337, 0x0000f100, 0x8000020e, 0x00001582,
+ 0xc000034e, 0x00009582, 0xffffffff, 0x00007f86, 0x000003aa, 0x00007008,
+ 0x000004b8, 0x0000f010, 0x82000f48, 0x0000e080, 0x81800f48, 0x00004880,
+ 0x82d03748, 0x00009000, 0x8382020b, 0x00009080, 0x0020300e, 0x00002080,
+ 0xac606608, 0x00002084, 0xffffffff, 0x00007f97, 0x837f0206, 0x00007900,
+ 0x0000003e, 0x00008280, 0x8010620d, 0x00001502, 0x83000a0c, 0x000010d8,
+ 0xac606608, 0x000028dc, 0x00000698, 0x0000f070, 0xac404e08, 0x00002086,
+ 0xffffffff, 0x00007fa7, 0x82904a0d, 0x00001100, 0x8010620a, 0x00009502,
+ 0xd3400b4d, 0x000060e0, 0x20000877, 0x0000a461, 0x0000067f, 0x00007069,
+ 0x81801677, 0x00009283, 0x80001874, 0x0000ec0c, 0x019bab75, 0x0000e100,
+ 0x021a724e, 0x00004100, 0x00004006, 0x00006502, 0x8312724e, 0x00008900,
+ 0x82827075, 0x00000036, 0x000004f9, 0x0000f051, 0x00000877, 0x0000e401,
+ 0xe0000074, 0x00003400, 0x83906a0c, 0x00006100, 0x50001074, 0x0000a405,
+ 0xdd506a0c, 0x0000e100, 0xd3800000, 0x00008980, 0xdd982b05, 0x00006100,
+ 0x81000e04, 0x00004181, 0x01825000, 0x0000e180, 0x9dd06a0c, 0x00004100,
+ 0xc1d07307, 0x0000e100, 0x09507025, 0x00008100, 0x04ce090e, 0x00007500,
+ 0x0d507035, 0x0000e100, 0x0d107034, 0x00008100, 0xc1507305, 0x00009000,
0x001810ec, 0x00005780, 0x00884980, 0x00000180, 0x814010ec, 0x0000d684,
0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0080d0ec, 0x0000d780,
0x00884941, 0x00008388, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x0001a824, 0x0000e502, 0x82400f48, 0x00008880,
- 0x82d1aa35, 0x0000e118, 0x82d12224, 0x0000c930, 0x00000077, 0x00006407,
- 0x80001874, 0x00003406, 0xdd505a0b, 0x00006100, 0x50000074, 0x0000e405,
- 0x02c10748, 0x00009080, 0x83400a0b, 0x00001880, 0x0020380d, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x833f0207, 0x00007900, 0x0000003e, 0x00008280,
- 0xac603e09, 0x00002084, 0xffffffff, 0x00007fa7, 0x80103a0c, 0x00001502,
- 0x81c00a07, 0x000010d8, 0xac603e09, 0x000028dc, 0x00000613, 0x0000f070,
- 0xac405609, 0x0000a086, 0xffffffff, 0x00007fa7, 0x82d0520c, 0x00001100,
- 0x80103a0b, 0x00009502, 0xd3400b4d, 0x000060e0, 0x20000877, 0x0000a461,
- 0x8312724e, 0x00006160, 0x81c00000, 0x000049e0, 0x00000559, 0x00007068,
- 0x82dbab75, 0x0000e100, 0x0340024e, 0x0000c180, 0x001ba80d, 0x00001502,
- 0x0000039b, 0x0000704b, 0x82903a0b, 0x0000e000, 0x89000a0c, 0x00008180,
- 0x000002ab, 0x00007400, 0x81d05224, 0x00006202, 0xd3905224, 0x00008200,
- 0x50001074, 0x00006c0d, 0x03de00b9, 0x00007300, 0x02c00000, 0x00009980,
- 0x00d802ec, 0x0000df80, 0x101f000a, 0x000015c4, 0x02800636, 0x00007893,
- 0x28000000, 0x00000183, 0x81ff2aec, 0x00002e84, 0x81fce4ec, 0x00005604,
+ 0x00000002, 0x00008480, 0x0001a825, 0x00006502, 0x82400f48, 0x00008880,
+ 0x8291aa35, 0x00006118, 0x82912a25, 0x00004930, 0x81d04f48, 0x00006000,
+ 0x80001874, 0x0000a406, 0x83020207, 0x0000e080, 0xdd50520a, 0x00008900,
+ 0x0020300c, 0x0000a080, 0x82800f48, 0x00006080, 0x00000077, 0x00006407,
+ 0xac606e0a, 0x00002084, 0x50000074, 0x00006c05, 0x83bf0206, 0x00007900,
+ 0x0000003e, 0x00008280, 0xffffffff, 0x00007f86, 0x80106a0e, 0x00009502,
+ 0x83400a0d, 0x000010d8, 0xac606e0a, 0x000028dc, 0x00000698, 0x0000f070,
+ 0xac40360a, 0x0000a086, 0xffffffff, 0x00007fa7, 0x8210320e, 0x00009100,
+ 0x80106a08, 0x00009502, 0xd3400b4d, 0x000060e0, 0x20000877, 0x0000a461,
+ 0x8312724e, 0x00006160, 0x83400000, 0x000049e0, 0x000006cd, 0x0000f068,
+ 0x829bab75, 0x00006100, 0x0380024e, 0x0000c180, 0x001ba80e, 0x00001502,
+ 0x000004be, 0x0000704b, 0x81906a0a, 0x00006000, 0x89400a0c, 0x00000180,
+ 0x000003aa, 0x00007400, 0x81903225, 0x00006202, 0xd3903225, 0x00000200,
+ 0x50001074, 0x00006c0d, 0x05010176, 0x00007300, 0x02800000, 0x00001980,
+ 0x00d802ec, 0x0000df80, 0x1048180a, 0x000095c4, 0x49c00636, 0x0000f893,
+ 0x30000000, 0x0000818b, 0x05080337, 0x0000f500, 0xc1008c12, 0x000000d7,
+ 0x41400800, 0x00009981, 0x01c10437, 0x00006283, 0x0181ff9c, 0x00000281,
+ 0x00001c06, 0x00009583, 0xffffffff, 0x00007f86, 0x00000603, 0x00007008,
+ 0x00000379, 0x0000f008, 0x05110337, 0x00007500, 0xc100ac12, 0x000080d7,
+ 0x41400800, 0x00009981, 0x81ff2aec, 0x00002e84, 0x81fce4ec, 0x00005604,
0x003ce800, 0x00000000, 0x81fcf4ec, 0x0000d604, 0x003cf800, 0x00008000,
0x81fd04ec, 0x00005604, 0x003d0800, 0x00000000, 0x81fd14ec, 0x0000d604,
0x003d1800, 0x00008000, 0x81fd24ec, 0x0000d604, 0x003d2800, 0x00008000,
0x81fd34ec, 0x00005604, 0x003d3800, 0x00000000, 0xc000079d, 0x00001583,
- 0x81f83eec, 0x0000a68c, 0x0000054e, 0x0000f011, 0xffffffff, 0x00007f86,
- 0x00054007, 0x00001502, 0x00000272, 0x0000f00b, 0x03f70236, 0x0000f300,
- 0x81609407, 0x000080d3, 0x02c1ff9c, 0x00001281, 0x00000c0b, 0x00009583,
- 0xc1009000, 0x0000e191, 0x41407800, 0x0000c991, 0x01400800, 0x00009991,
- 0x00000270, 0x00007008, 0x01010437, 0x00009283, 0x00000363, 0x0000700b,
- 0x04010236, 0x00007300, 0x81150aa1, 0x00009900, 0x01c10437, 0x00006283,
- 0x0281ff9c, 0x00000281, 0x000004e4, 0x0000f00b, 0x00001c0a, 0x00009583,
- 0x4140a800, 0x00006191, 0xc1009000, 0x0000c991, 0x00000278, 0x00007009,
- 0x0000036e, 0x0000f200, 0x01400800, 0x00001981, 0x82f1b636, 0x00009900,
- 0x8010320b, 0x00001502, 0x02f1b636, 0x0000e131, 0x02e03406, 0x0000c919,
- 0x041100e7, 0x00007500, 0xffffffff, 0x00007f86, 0x41605c0b, 0x00009901,
- 0x8da82e36, 0x00001101, 0x80000636, 0x00009583, 0xb9183306, 0x0000e110,
+ 0x81f836ec, 0x0000268c, 0x00000782, 0x00007011, 0xffffffff, 0x00007f86,
+ 0x00054006, 0x00009502, 0x81403800, 0x00006191, 0xc1009000, 0x0000c991,
+ 0x00000373, 0x00007009, 0x05270337, 0x0000f100, 0x8271b636, 0x00001900,
+ 0x80183a09, 0x00009502, 0x0271b636, 0x00006131, 0x02703e07, 0x00004919,
+ 0x052e01a4, 0x0000f500, 0xffffffff, 0x00007f86, 0x41e04c09, 0x00001901,
+ 0x8da83e36, 0x00009101, 0x80000636, 0x00009583, 0xb9112224, 0x0000e110,
0xf0000874, 0x0000e410, 0xc1000800, 0x00001991, 0xffffffff, 0x00007f97,
0x00000000, 0x0000f093, 0x2739df3a, 0x00000934, 0x27b9ef3c, 0x0000093c,
0x2839ff3e, 0x00000a04, 0x28ba0f40, 0x00000a0c, 0x293a1f42, 0x00000a14,
- 0x00000269, 0x0000f400, 0x29ba2f44, 0x00000a1c, 0x2a7a3747, 0x00000a20,
- 0x0a04e409, 0x00006882, 0xa5402409, 0x0000c1b8, 0x00001c09, 0x000080c0,
- 0x85800c09, 0x00004488, 0x52001409, 0x00000188, 0xe8672fa1, 0x0000c711,
- 0x90403409, 0x0000108a, 0x4a8728a1, 0x0000f80b, 0x40000000, 0x0000018b,
- 0x02cce99d, 0x00001900, 0x0000000b, 0x00001582, 0x0000054a, 0x0000f013,
- 0x028ce99d, 0x0000e100, 0xb0000874, 0x0000e400, 0x0000000a, 0x00006582,
- 0xc1000800, 0x00000981, 0x40001074, 0x0000ec16, 0x000004fa, 0x00007009,
- 0x0002580a, 0x00001502, 0x00000548, 0x0000f01b, 0x82c00c48, 0x00009880,
- 0xa340560b, 0x00002086, 0xa3604e0b, 0x00002084, 0xffffffff, 0x00007f97,
- 0x0280820a, 0x00009880, 0x82a24448, 0x00006100, 0x0340800a, 0x00004784,
- 0x0020500a, 0x0000a080, 0xffffffff, 0x00007fa7, 0x82905209, 0x00009100,
- 0x0280820a, 0x00009880, 0x0280800a, 0x00009784, 0x0280500d, 0x00009100,
- 0x0000000a, 0x00009582, 0x0280080a, 0x000061b8, 0x82400a09, 0x000080b8,
- 0xa3604e0b, 0x000028bc, 0x000004f8, 0x0000f050, 0xa3605e0b, 0x00002004,
- 0xffffffff, 0x00007fa7, 0x0010580a, 0x00001502, 0xc000079d, 0x00001583,
- 0x01c00c37, 0x00009283, 0x00000531, 0x00007048, 0x00000469, 0x0000f010,
- 0x0000054c, 0x0000f008, 0x02c00f48, 0x00006080, 0x02810748, 0x00004080,
- 0x0300080b, 0x0000e080, 0x82400a0a, 0x00008880, 0x83400a09, 0x00001080,
- 0x0020380d, 0x0000a080, 0xac605e0c, 0x00002084, 0xffffffff, 0x00007f97,
- 0x82bf0207, 0x00007900, 0x0000003e, 0x00008280, 0x80105a0a, 0x00001502,
- 0x82c00a0b, 0x000010d8, 0xac605e0c, 0x000028dc, 0x0000054c, 0x0000f070,
- 0xac404e0c, 0x0000a086, 0xffffffff, 0x00007fa7, 0x82904a0a, 0x00009100,
- 0x80105a0a, 0x00001502, 0x82c0320d, 0x0000e7e8, 0x8280fa0d, 0x000082e8,
- 0x82d79a0b, 0x0000f968, 0x00000006, 0x00008080, 0x0000051b, 0x0000f468,
- 0x0000400b, 0x0000f96a, 0x01c00000, 0x00008000, 0x029057e4, 0x0000e068,
- 0x0241fc0d, 0x0000c2e9, 0xc000079d, 0x0000e583, 0x93400a4d, 0x00000080,
- 0x0241ff9c, 0x0000e291, 0xb0000074, 0x00002410, 0x00000292, 0x0000f009,
- 0x00000c09, 0x00001583, 0xc0006f9d, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00000597, 0x0000f010, 0x00000597, 0x00007018, 0x01c02437, 0x00006283,
- 0x82f71a24, 0x00008100, 0xb380560b, 0x0000a085, 0x0e8540a8, 0x00006110,
- 0x20000848, 0x00006401, 0x530ce99d, 0x0000e100, 0x8d80179d, 0x00004881,
- 0xffffffff, 0x00007f86, 0x02400c0a, 0x00006081, 0x0f81bc0a, 0x00002000,
- 0xb3984e0b, 0x00002886, 0x0240140a, 0x00006081, 0x02c0179d, 0x00004881,
- 0x02cce99d, 0x00006100, 0xcda05c09, 0x0000c001, 0x0000000b, 0x00001582,
- 0x02c02800, 0x0000e191, 0x02c02000, 0x00004989, 0xffffffff, 0x00007f86,
- 0x41205874, 0x0000e806, 0xa8400034, 0x00007892, 0x20000000, 0x00008185,
- 0xc1209c12, 0x000080d6, 0x01400800, 0x00001981, 0xd8c10437, 0x0000f88e,
- 0xf8000000, 0x0000818f, 0x091c4388, 0x0000e100, 0x44024074, 0x00006006,
- 0x0001a824, 0x0000e502, 0x0c024704, 0x0000a000, 0x8351aa35, 0x0000e118,
- 0x835c4388, 0x0000c930, 0x1281b877, 0x0000e001, 0x84026074, 0x00003004,
- 0x0dfbf837, 0x0000f900, 0x003ffffe, 0x00008280, 0x2739df3a, 0x00000934,
- 0x27b9ef3c, 0x0000093c, 0x2839ff3e, 0x00000a04, 0x28ba0f40, 0x00000a0c,
- 0x293a1f42, 0x00000a14, 0x29ba2f44, 0x00000a1c, 0x2a3a3f46, 0x00000a24,
- 0xdd506a0d, 0x00001900, 0x5560474c, 0x0000448c, 0x5600020d, 0x0000008d,
- 0xe540034e, 0x0000f892, 0xf8000000, 0x0000018b, 0xc0000f04, 0x00006583,
- 0x0603a74c, 0x00002004, 0x02c00000, 0x00006181, 0x4403a048, 0x0000e007,
- 0x02c00800, 0x00006189, 0xe0000074, 0x00006400, 0xc140474c, 0x0000e283,
- 0x0e84e09c, 0x00000900, 0xb9183306, 0x0000e108, 0x04205848, 0x00006001,
- 0x0efcf79d, 0x00008330, 0x0f7d079f, 0x00000338, 0x0ffd17a1, 0x00008400,
- 0x107d27a3, 0x00008408, 0x10fd37a5, 0x00008410, 0x00000000, 0x00007488,
- 0x117d47a7, 0x00000418, 0x11c548a9, 0x00009900, 0x00000008, 0x0000e582,
- 0xb9183306, 0x00008900, 0x50000074, 0x0000ec0d, 0xffffffff, 0x00007f97,
- 0x00000000, 0x00007083, 0x40000d9c, 0x00001583, 0x41408000, 0x00006191,
- 0xc1009000, 0x0000c991, 0x00000364, 0x00007011, 0x01c02437, 0x00009283,
- 0x0000058b, 0x00007013, 0xc1000800, 0x0000e181, 0x82c00c48, 0x0000c880,
- 0xa3404e0b, 0x00002086, 0xa361260b, 0x00002084, 0xffffffff, 0x00007f97,
- 0x02808209, 0x00009880, 0x82a24448, 0x00006100, 0x0240800a, 0x0000c784,
- 0x0020500a, 0x0000a080, 0xffffffff, 0x00007fa7, 0x82905224, 0x00009100,
- 0x0280820a, 0x00009880, 0x0280800a, 0x00009784, 0x02805009, 0x00001100,
- 0x0000000a, 0x00009582, 0x0280080a, 0x000061b8, 0x82400a24, 0x000080b8,
- 0xa3604e0b, 0x000028bc, 0x000004f8, 0x0000f050, 0xa3605e0b, 0x00002004,
- 0xffffffff, 0x00007fa7, 0x0010580a, 0x00001502, 0x93400a4d, 0x0000e0c0,
- 0x40003074, 0x00002446, 0x02ca614c, 0x00009940, 0x000005e2, 0x0000f048,
- 0x0000000b, 0x00001582, 0x000005a2, 0x0000f013, 0x0f81bc09, 0x0000e000,
- 0x20000048, 0x0000b401, 0x02c06409, 0x0000e080, 0x12400000, 0x00000980,
- 0xcd80140b, 0x0000e081, 0x2ac800ab, 0x0000c380, 0xa8400034, 0x00007892,
- 0x20000000, 0x00008185, 0x0001940a, 0x00001583, 0x0001040a, 0x00009593,
- 0x00000530, 0x0000700b, 0x0001fc0a, 0x00009583, 0x00000530, 0x0000700b,
- 0x00011c0a, 0x00001583, 0x4140a800, 0x00006191, 0xc1009000, 0x0000c991,
- 0x00000408, 0x0000f011, 0x00000278, 0x00007000, 0x04f000e7, 0x00007300,
- 0x41603406, 0x00009901, 0x8da03736, 0x00001101, 0x80000636, 0x00009583,
- 0xc1000800, 0x00006191, 0xf0000874, 0x0000e410, 0xb9183306, 0x00009910,
- 0x00000418, 0x0000f008, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083,
- 0x04fa0236, 0x0000f300, 0x81609405, 0x000000d3, 0x0241ff9c, 0x00006281,
- 0x82c00c48, 0x00000880, 0xa340560b, 0x00002086, 0x00000c09, 0x00001583,
- 0x02404800, 0x00001991, 0xa3606e0b, 0x0000a084, 0x0240820a, 0x0000e080,
- 0x41204874, 0x0000e006, 0x02408009, 0x00006784, 0x82a24448, 0x00008900,
- 0x0020500a, 0x0000a080, 0xffffffff, 0x00007fa7, 0x8290520d, 0x00001100,
- 0x0280820a, 0x00009880, 0x0280800a, 0x00009784, 0x02805009, 0x00001100,
- 0x0000000a, 0x00009582, 0x0280080a, 0x000061b8, 0x82400a0d, 0x000000b8,
- 0xa3604e0b, 0x000028bc, 0x000004f8, 0x0000f050, 0xa3605e0b, 0x00002004,
- 0xffffffff, 0x00007fa7, 0x0010580a, 0x00001502, 0x0280fc48, 0x0000e2c9,
- 0x82403448, 0x000007c8, 0x82d79a09, 0x0000f948, 0x00000006, 0x00008080,
- 0x00000469, 0x0000f040, 0x0000400b, 0x00007902, 0x01c00000, 0x00008000,
- 0x0241fc48, 0x00006281, 0x02a057e4, 0x00008800, 0xffffffff, 0x00007f86,
- 0x0000fc09, 0x00001583, 0xffffffff, 0x00007f86, 0x01c0380a, 0x00006318,
- 0x0200400a, 0x00000330, 0xffffffff, 0x00007f86, 0x0038400b, 0x0000d000,
- 0x00383800, 0x00000000, 0x02003800, 0x00001980, 0x823f1008, 0x00006802,
- 0x00000469, 0x0000f400, 0x003842ec, 0x00005600, 0x00000000, 0x00008080,
- 0x100000ec, 0x0000d680, 0x00000000, 0x00008080, 0xc1000800, 0x00009981,
- 0xad278474, 0x00004595, 0x56800f04, 0x0000dd95, 0x00000364, 0x0000f400,
- 0xc1212c12, 0x000080d6, 0x811502a0, 0x00009900, 0x0531078b, 0x00007100,
- 0x0280fc48, 0x0000e281, 0x82403448, 0x00000780, 0x82d79a09, 0x0000f900,
- 0x00000006, 0x00008080, 0x0000400b, 0x00007902, 0x01c00000, 0x00008000,
- 0x02a057e4, 0x00006000, 0x0241fc48, 0x0000c281, 0x0000fc09, 0x00001583,
- 0xffffffff, 0x00007f86, 0x01c0380a, 0x00006318, 0x0200400a, 0x00000330,
- 0xffffffff, 0x00007f86, 0x0038400b, 0x0000d000, 0x00383800, 0x00000000,
- 0x02003800, 0x00001980, 0x823f1008, 0x00006802, 0x003842ec, 0x00005600,
+ 0x0000036a, 0x00007400, 0x29ba2f44, 0x00000a1c, 0x2a7a3747, 0x00000a20,
+ 0xc0000f04, 0x00006583, 0x0603a74c, 0x00002004, 0x02000000, 0x00006181,
+ 0x4403a048, 0x0000e007, 0x02000800, 0x00006189, 0xe0000074, 0x00006400,
+ 0xc140474c, 0x0000e283, 0x0e84e09c, 0x00000900, 0xb9112224, 0x0000e108,
+ 0x04204048, 0x00006001, 0x0efcf79d, 0x00008330, 0x0f7d079f, 0x00000338,
+ 0x0ffd17a1, 0x00008400, 0x107d27a3, 0x00008408, 0x10fd37a5, 0x00008410,
+ 0x00000000, 0x00007488, 0x117d47a7, 0x00000418, 0x11c548a9, 0x00009900,
+ 0x00000009, 0x00006582, 0xb9112224, 0x00008900, 0x50000074, 0x0000ec0d,
+ 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x40000d9c, 0x00001583,
+ 0x81408000, 0x00006191, 0xc1009000, 0x0000c991, 0x05580337, 0x00007111,
+ 0x01802437, 0x00001283, 0x0000069a, 0x00007013, 0xc1000800, 0x0000e181,
+ 0x81800c48, 0x00004880, 0xa3405606, 0x0000a086, 0xa3612e06, 0x00002084,
+ 0xffffffff, 0x00007f97, 0x82a24448, 0x00006100, 0x0240820a, 0x0000c880,
+ 0x02008009, 0x00001784, 0x0020480a, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x82904a25, 0x00001100, 0x0240820a, 0x00009880, 0x02808009, 0x00009784,
+ 0x02405008, 0x00009100, 0x00000009, 0x00009582, 0x02400809, 0x000061b8,
+ 0x82000a25, 0x000080b8, 0xa3604606, 0x000028bc, 0x0000060e, 0x00007050,
+ 0xa3603606, 0x00002004, 0xffffffff, 0x00007fa7, 0x00103009, 0x00009502,
+ 0x93400a4d, 0x0000e0c0, 0x40003074, 0x00002446, 0x01800000, 0x000061c1,
+ 0x09026405, 0x0000e040, 0x000006e8, 0x0000f048, 0xc181874c, 0x00006283,
+ 0x020a614c, 0x00008900, 0x01800800, 0x00009991, 0xffffffff, 0x00007f86,
+ 0x86203077, 0x00006801, 0xafc0014c, 0x0000c48a, 0x82000c37, 0x0000018e,
+ 0x38a1074c, 0x0000c596, 0x98a0874c, 0x00001b88, 0x0f81bc09, 0x0000e000,
+ 0x20000048, 0x0000b401, 0x01806409, 0x00006080, 0x12400000, 0x00000980,
+ 0xcd801406, 0x00006081, 0x2ac800ab, 0x0000c380, 0xe8000034, 0x00007892,
+ 0x18000000, 0x0000818d, 0x0a04e408, 0x0000e882, 0xc9402408, 0x000041b8,
+ 0x00001c08, 0x000000c0, 0xb2400c08, 0x00004488, 0x1e001408, 0x0000018b,
+ 0x17e72fa1, 0x0000c708, 0x8ea03408, 0x00000b8f, 0x928728a1, 0x0000f80b,
+ 0xa8000000, 0x00000383, 0x028ce99d, 0x00009900, 0x0000000a, 0x00009582,
+ 0x000006b2, 0x00007013, 0x024ce99d, 0x0000e100, 0xb0000874, 0x0000e400,
+ 0x00000009, 0x00006582, 0xc1000800, 0x00000981, 0x40001074, 0x0000ec16,
+ 0x00000610, 0x00007009, 0x00025809, 0x00001502, 0x000006b0, 0x0000701b,
+ 0x82800c48, 0x00001880, 0xa3404e0a, 0x0000a086, 0xa360460a, 0x00002084,
+ 0xffffffff, 0x00007f97, 0x82624448, 0x00006100, 0x01808209, 0x0000c880,
+ 0x00204809, 0x0000a080, 0x01808006, 0x00009784, 0xffffffff, 0x00007f97,
+ 0x82504a08, 0x00001100, 0x02408209, 0x00009880, 0x02408009, 0x00009784,
+ 0x01804806, 0x00001100, 0x00000006, 0x00009582, 0x02400806, 0x000061b8,
+ 0x82000a08, 0x000080b8, 0xa360460a, 0x000028bc, 0x0000060e, 0x00007050,
+ 0xa360560a, 0x00002004, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
+ 0xe8105009, 0x0000f84b, 0x00000001, 0x00008000, 0x00001437, 0x0000c08c,
+ 0x000457a4, 0x00000098, 0xd8c44fa4, 0x0000c4a0, 0x860157a4, 0x0000818e,
+ 0xe86177a4, 0x00004488, 0x820057a4, 0x0000818b, 0x0e40079d, 0x0000c593,
+ 0x10c00c37, 0x0000098b, 0xe86557a4, 0x00004488, 0x860577a4, 0x0000818e,
+ 0xd8c477a4, 0x00004488, 0x5200079d, 0x00008194, 0x12000c37, 0x0000c795,
+ 0x1060079d, 0x00008696, 0xb1000c37, 0x0000788f, 0x68000000, 0x00008382,
+ 0x01400020, 0x0000e180, 0x04800000, 0x00004980, 0x043c5000, 0x00007900,
+ 0x002bc796, 0x00000980, 0x01c00000, 0x000000f4, 0x81401000, 0x00001980,
+ 0x0446d800, 0x0000f900, 0x001a2686, 0x00000980, 0x05cd2213, 0x0000f500,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x03e00702, 0x0000802e,
+ 0x01010437, 0x00006283, 0xc1009000, 0x00008981, 0x81409c01, 0x000000d7,
+ 0x0000049b, 0x0000f009, 0x05d30337, 0x0000f300, 0x81150aa1, 0x00009900,
+ 0xc181874c, 0x00006283, 0x02800000, 0x00000981, 0x095c4388, 0x00006100,
+ 0x02800800, 0x0000c991, 0x0001a825, 0x00006502, 0x44024074, 0x0000a006,
+ 0x8391aa35, 0x0000e118, 0x839c4388, 0x0000c930, 0x1281b877, 0x0000e001,
+ 0x0c024704, 0x00003000, 0x09026405, 0x00006000, 0x84026074, 0x00003004,
+ 0x0dfbf837, 0x0000f900, 0x003ffffe, 0x00008280, 0x2701d03a, 0x0000e100,
+ 0x86205077, 0x0000e001, 0x2779e73b, 0x00008938, 0x27f9f73d, 0x00000a00,
+ 0x287a073f, 0x00008a08, 0x28fa1741, 0x00008a10, 0x297a2743, 0x00008a18,
+ 0x29fa3745, 0x00000a20, 0x9d7a390e, 0x00008a24, 0x7540474c, 0x0000448c,
+ 0x5400020e, 0x0000008f, 0x2e00034e, 0x00007893, 0x10000000, 0x00008285,
+ 0x50001074, 0x00006405, 0x8000004c, 0x00003407, 0xd3800000, 0x00006180,
+ 0x02403d74, 0x0000c281, 0x00001c09, 0x00009583, 0x80000206, 0x00006582,
+ 0x80002074, 0x0000240c, 0xb9112224, 0x00009908, 0x000003d6, 0x00007011,
+ 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x05fb01a4, 0x00007300,
+ 0x41f03e07, 0x00001901, 0x8db03f36, 0x00001101, 0x80000636, 0x00009583,
+ 0xc1000800, 0x00006191, 0xf0000874, 0x0000e410, 0xb9112224, 0x00009910,
+ 0x00000535, 0x00007008, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083,
+ 0x00019406, 0x00001583, 0x00010406, 0x00009593, 0x000006a6, 0x0000700b,
+ 0x0001fc06, 0x00009583, 0x00011c06, 0x00001583, 0xffffffff, 0x00007f86,
+ 0x000006a6, 0x00007008, 0x00000379, 0x0000f008, 0x060e0337, 0x0000f500,
+ 0xc100ac12, 0x000080d7, 0x41400800, 0x00009981, 0x06100337, 0x0000f300,
+ 0xc1609005, 0x000000d3, 0x0181ff9c, 0x00006281, 0x82800c48, 0x00008880,
+ 0xa340460a, 0x00002086, 0x00000c06, 0x00001583, 0x01804800, 0x00001991,
+ 0xa3612e0a, 0x00002084, 0x02408208, 0x00006080, 0x41203074, 0x0000e006,
+ 0x01808009, 0x00006784, 0x82224448, 0x00000900, 0x00204808, 0x00002080,
+ 0xffffffff, 0x00007fa7, 0x82104a25, 0x00009100, 0x02408208, 0x00001880,
+ 0x02008009, 0x00001784, 0x01804006, 0x00009100, 0x00000006, 0x00009582,
+ 0x02000806, 0x0000e1b8, 0x82400a25, 0x000000b8, 0xa3604e0a, 0x0000a8bc,
+ 0x0000060e, 0x00007050, 0xa360560a, 0x00002004, 0xffffffff, 0x00007fa7,
+ 0x00105008, 0x00001502, 0x000006b4, 0x0000f04b, 0xc000079d, 0x0000e583,
+ 0x93400a4d, 0x00000080, 0x0281ff9c, 0x0000e291, 0xb0000074, 0x00002410,
+ 0x00000391, 0x00007009, 0x00000c0a, 0x00001583, 0xc0006f9d, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x0000077a, 0x00007010, 0x0000077a, 0x0000f018,
+ 0x82001ee3, 0x00006080, 0x20000848, 0x00006401, 0x81b71a08, 0x0000e100,
+ 0x8d80179d, 0x00008881, 0xb3804e06, 0x00002085, 0x530ce99d, 0x0000e100,
+ 0x0200179d, 0x00004881, 0xffffffff, 0x00007f97, 0x02800c09, 0x00009081,
+ 0xb3985606, 0x0000a886, 0x028ce99d, 0x0000e100, 0x0f81bc06, 0x0000e000,
+ 0x01802437, 0x0000e283, 0x02401406, 0x00008881, 0x0e8540a8, 0x00006110,
+ 0xcda04409, 0x0000c001, 0x0000000a, 0x00009582, 0x02802800, 0x00006191,
+ 0x02802000, 0x0000c989, 0xffffffff, 0x00007f86, 0x41205074, 0x00006806,
+ 0xe8000034, 0x00007892, 0x18000000, 0x0000818d, 0xc1000800, 0x00009981,
+ 0xa9078474, 0x0000c594, 0xd4800f04, 0x00005b91, 0x02800f48, 0x0000e080,
+ 0x82000f48, 0x0000c880, 0x0380080a, 0x0000e080, 0x82504748, 0x00000000,
+ 0x89420a09, 0x00009080, 0x00203825, 0x0000a080, 0xac60560e, 0x00002084,
+ 0xffffffff, 0x00007f97, 0x81bf0207, 0x00007900, 0x0000003e, 0x00008280,
+ 0x80105206, 0x00009502, 0x82800a0a, 0x000010d8, 0xac60560e, 0x000028dc,
+ 0x000006c4, 0x0000f070, 0xac40460e, 0x0000a086, 0xffffffff, 0x00007fa7,
+ 0x82504206, 0x00001100, 0x80105209, 0x00009502, 0x81803225, 0x000067e8,
+ 0x8200fa25, 0x000002e8, 0x82979a06, 0x0000f968, 0x00000006, 0x00008080,
+ 0x00000629, 0x00007060, 0x019047e4, 0x0000e000, 0x0241fc25, 0x00004281,
+ 0x0000fc09, 0x00001583, 0x0000600a, 0x00007902, 0x02c00000, 0x00008000,
+ 0x000006be, 0x00007019, 0xffffffff, 0x00007f86, 0x03006006, 0x00009300,
+ 0x02003800, 0x00001980, 0x0038600a, 0x0000d000, 0x00385800, 0x00000000,
+ 0x823f1008, 0x00006802, 0x00000629, 0x0000f400, 0x003842ec, 0x00005600,
0x00000000, 0x00008080, 0x100000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0xe460079d, 0x00004592, 0x00600c37, 0x0000f08c, 0x01c00c37, 0x00009283,
- 0x00000434, 0x0000700b, 0x054c0236, 0x0000f300, 0x81609427, 0x000000d3,
- 0x00000469, 0x0000f200, 0x40001874, 0x0000ec06, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x81f83aec, 0x0000a684, 0x00000272, 0x0000f403, 0xffffffff, 0x00007f86,
- 0x12403807, 0x00001900, 0x8240320d, 0x0000e780, 0x8280fa0d, 0x00000280,
- 0x82d79a09, 0x0000f900, 0x00000006, 0x00008080, 0x0000400b, 0x00007902,
- 0x01c00000, 0x00008000, 0x0241fc0d, 0x0000e281, 0x029057e4, 0x00008800,
- 0x0000fc09, 0x0000e583, 0x20000877, 0x0000a401, 0xd3400b4d, 0x00006080,
- 0x8312724e, 0x00008900, 0x0200400a, 0x00006330, 0x01c0380a, 0x00000318,
- 0x0340024e, 0x00009180, 0x0038400b, 0x0000d000, 0x00383800, 0x00000000,
- 0x02000007, 0x000000dd, 0x82dbab75, 0x0000e100, 0x823f1008, 0x0000e002,
+ 0x02150aa1, 0x00001900, 0x00003008, 0x00009502, 0xc1009000, 0x00006199,
+ 0x81409000, 0x00004999, 0x41400800, 0x00009999, 0x00000391, 0x00007030,
+ 0x067c0337, 0x00007100, 0x067f0337, 0x0000f500, 0xc1012c12, 0x000080d7,
+ 0x811502a0, 0x00009900, 0x8180320e, 0x0000e780, 0x8240fa0b, 0x00000280,
+ 0x82179a06, 0x0000f900, 0x00000006, 0x00008080, 0x00383008, 0x0000a000,
+ 0x03504fe4, 0x0000e000, 0x0281fc0e, 0x00004281, 0x00384808, 0x00002080,
+ 0x0000fc0a, 0x0000e583, 0x20000e77, 0x00002400, 0xd3400b4d, 0x00006080,
+ 0x0180300d, 0x00008318, 0xffffffff, 0x00007f86, 0x0240480d, 0x00001330,
+ 0x00383008, 0x00002800, 0x00384808, 0x0000a880, 0x81801677, 0x00006283,
+ 0x02003800, 0x00008980, 0x823f1008, 0x0000e002, 0x80001874, 0x0000340c,
+ 0x000004b8, 0x0000f400, 0x003842ec, 0x00005600, 0x00000000, 0x00008080,
+ 0x100000ec, 0x0000d680, 0x00000000, 0x00008080, 0x069a0337, 0x00007300,
+ 0xc1609004, 0x000080d3, 0x02002736, 0x0000e180, 0xf844e000, 0x00000981,
+ 0x02800000, 0x0000e181, 0x02001008, 0x0000c784, 0x81fa4aec, 0x00002e84,
+ 0x00000408, 0x00001583, 0x000006a7, 0x00007033, 0x01821a00, 0x00007904,
+ 0x81f834ec, 0x0000ae84, 0x02800c0a, 0x00009081, 0xa9e05408, 0x0000f833,
+ 0x08000000, 0x00000385, 0x06a70934, 0x00007100, 0xb8432408, 0x00001181,
+ 0x81f836ec, 0x0000a684, 0xffffffff, 0x0000ffb7, 0x02021200, 0x00007904,
+ 0x00004006, 0x00009502, 0x81403800, 0x00006191, 0xc1009000, 0x0000c991,
+ 0x0000055a, 0x0000f009, 0x06b00337, 0x00007100, 0x01800c37, 0x00001283,
+ 0x0000059a, 0x0000700b, 0x06b40337, 0x00007300, 0xc1609027, 0x000000d3,
+ 0x0201fc48, 0x0000e281, 0x81803448, 0x00000780, 0x0000fc08, 0x00006583,
+ 0x0240fc48, 0x00008281, 0x82979a06, 0x00007900, 0x00000006, 0x00008080,
+ 0x0000600a, 0x00007902, 0x02c00000, 0x00008000, 0x0000066b, 0x0000f230,
+ 0x01a04fe4, 0x00001800, 0x0000066c, 0x00007400, 0xffffffff, 0x00007f86,
+ 0x02c05806, 0x00009300, 0xc000079d, 0x0000e583, 0xd000084c, 0x00002401,
+ 0x00000629, 0x0000f013, 0x00000629, 0x0000f200, 0x40001874, 0x0000ec06,
+ 0x01400020, 0x0000e180, 0x04800000, 0x00004980, 0x04150000, 0x0000f900,
+ 0x002bc77e, 0x00000980, 0x000005c7, 0x0000f400, 0x01c00000, 0x000000f4,
+ 0x81401000, 0x00001980, 0x8240320c, 0x00006780, 0x8180fa07, 0x00000280,
+ 0x82979a09, 0x00007900, 0x00000006, 0x00008080, 0x0038580a, 0x00002080,
+ 0x025037e4, 0x00006000, 0x0201fc0c, 0x00004281, 0x0038300a, 0x00002000,
+ 0x0000fc08, 0x00006583, 0x20000877, 0x0000a401, 0x02c05809, 0x00006330,
+ 0x02003800, 0x00008980, 0xd3400b4d, 0x00006080, 0x823f1008, 0x00002002,
+ 0x01803009, 0x00006318, 0x83400000, 0x00008980, 0x0038580a, 0x0000a880,
+ 0x0038300a, 0x0000a800, 0x003842ec, 0x00005600, 0x00000000, 0x00008080,
+ 0x100000ec, 0x0000d680, 0x00000000, 0x00008080, 0x0380024e, 0x00006180,
+ 0x8312724e, 0x00008900, 0x829bab75, 0x00001900, 0x2f9ba80e, 0x0000784b,
+ 0xc8000000, 0x00000287, 0x82803448, 0x00006780, 0x0200fc48, 0x00000281,
+ 0x81979a0a, 0x00007900, 0x00000006, 0x00008080, 0x00385806, 0x00002080,
+ 0x026047e4, 0x0000e000, 0x0281fc48, 0x0000c281, 0x00384006, 0x0000a000,
+ 0x0000fc0a, 0x0000e583, 0x40003074, 0x0000a406, 0x02c05809, 0x00006330,
+ 0x09026405, 0x0000a000, 0x93400a4d, 0x00009080, 0xc181874c, 0x00006283,
+ 0x02004009, 0x00000318, 0x00385806, 0x0000a880, 0x00384006, 0x00002800,
+ 0x81803800, 0x000080e0, 0x01800800, 0x0000e191, 0x823f1008, 0x0000e002,
+ 0x003842ec, 0x00005600, 0x00000000, 0x00008080, 0x020a614c, 0x00006100,
+ 0x86203077, 0x0000e001, 0x100000ec, 0x0000d680, 0x00000000, 0x00008080,
+ 0xafc0014c, 0x0000c48a, 0x82000c37, 0x0000018e, 0xe821074c, 0x0000c996,
+ 0x5a00874c, 0x00000196, 0x02400f48, 0x0000e080, 0x82800f48, 0x00004880,
+ 0x03400809, 0x0000e080, 0x81905748, 0x00008000, 0x89420a06, 0x00009080,
+ 0x00203025, 0x00002080, 0xac60460d, 0x0000a084, 0xffffffff, 0x00007f97,
+ 0x83bf0206, 0x00007900, 0x0000003e, 0x00008280, 0x8010420e, 0x00009502,
+ 0x82800a08, 0x000090d8, 0xac60560d, 0x000028dc, 0x00000741, 0x0000f070,
+ 0xac404e0d, 0x00002086, 0xffffffff, 0x00007fa7, 0x81904a0e, 0x00001100,
+ 0x80105206, 0x00009502, 0x82003225, 0x0000e7e8, 0x8240fa25, 0x000082e8,
+ 0x82979a08, 0x00007968, 0x00000006, 0x00008080, 0x0000072d, 0x00007060,
+ 0x0038400a, 0x0000a000, 0x03904fe4, 0x0000e000, 0x0181fc25, 0x00004281,
+ 0x0038480a, 0x0000a080, 0x0000fc06, 0x00001583, 0x0200400e, 0x00001318,
+ 0xffffffff, 0x00007f86, 0x0240480e, 0x00001330, 0x0038400a, 0x00002800,
+ 0x02003800, 0x00001980, 0x0038480a, 0x00002880, 0x823f1008, 0x00006802,
0x003842ec, 0x00005600, 0x00000000, 0x00008080, 0x100000ec, 0x0000d680,
- 0x00000000, 0x00008080, 0xe6dba80d, 0x0000784a, 0xb0000000, 0x0000018e,
- 0x82803224, 0x00006780, 0x8240fa24, 0x00008280, 0x82d79a0a, 0x0000f900,
- 0x00000006, 0x00008080, 0x0000400b, 0x00007902, 0x01c00000, 0x00008000,
- 0x02904fe4, 0x00006000, 0x20000877, 0x00006401, 0x0241fc24, 0x00006281,
- 0x50001074, 0x0000a405, 0x0000fc09, 0x0000e583, 0xd3400b4d, 0x00000080,
- 0x01c0380a, 0x00006318, 0x0200400a, 0x00000330, 0xffffffff, 0x00007f86,
- 0x0038400b, 0x0000d000, 0x00383800, 0x00000000, 0x02003800, 0x00001980,
- 0x823f1008, 0x00006802, 0x00000294, 0x00007400, 0x003842ec, 0x00005600,
+ 0x00000000, 0x00008080, 0x40003874, 0x00006c06, 0x020a614c, 0x00006100,
+ 0x0f81bc09, 0x0000e000, 0x00000008, 0x0000e582, 0x096042ec, 0x00008101,
+ 0x02801c25, 0x0000e281, 0x020a6537, 0x00008010, 0x01806409, 0x00006080,
+ 0x0d000000, 0x00008988, 0x0d00440a, 0x00006010, 0x20000048, 0x00002401,
+ 0xcd40044c, 0x000004a4, 0x2ac800ab, 0x00006380, 0x0d801c25, 0x00008281,
+ 0x4d800000, 0x0000e189, 0x4da9bd37, 0x00004911, 0x53000000, 0x00006180,
+ 0xcd801406, 0x00004881, 0xe8000034, 0x00007892, 0x18000000, 0x0000818d,
+ 0x0000072e, 0x0000f200, 0x40004074, 0x00006c06, 0x028082a4, 0x00006080,
+ 0x82400f48, 0x00004880, 0x2a4053a5, 0x00006300, 0x01800f48, 0x00000880,
+ 0x82904f48, 0x0000e000, 0x02001006, 0x00008080, 0x8942120a, 0x00006080,
+ 0x80000877, 0x0000a401, 0x00203825, 0x0000a080, 0xac604e08, 0x00002084,
+ 0xffffffff, 0x00007f97, 0x81bf0207, 0x00007900, 0x0000003e, 0x00008280,
+ 0x80104a06, 0x00009502, 0x82800a09, 0x000010d8, 0xac605608, 0x000028dc,
+ 0x00000777, 0x0000f070, 0xac404608, 0x0000a086, 0xffffffff, 0x00007fa7,
+ 0x81904206, 0x00001100, 0x80105206, 0x00009502, 0x8200fa25, 0x000062e8,
+ 0x82403225, 0x000007e8, 0x82979a09, 0x0000f968, 0x00000006, 0x00008080,
+ 0x0000076e, 0x0000f060, 0x019047e4, 0x0000e000, 0x0241fc25, 0x00004281,
+ 0x0000580a, 0x0000f902, 0x02000000, 0x00008000, 0x0000fc09, 0x00001583,
+ 0xffffffff, 0x00007f97, 0x02c05806, 0x00006330, 0x02004006, 0x00000318,
+ 0xffffffff, 0x00007f86, 0x0038580a, 0x00005000, 0x00384000, 0x00000000,
+ 0x02003800, 0x00001980, 0x823f1008, 0x00006802, 0x003842ec, 0x00005600,
0x00000000, 0x00008080, 0x100000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0x02802736, 0x00006180, 0xf844e000, 0x00000981, 0x02400000, 0x0000e181,
- 0x0280100a, 0x0000c784, 0x81fa4aec, 0x00002e84, 0x0000040a, 0x00009583,
- 0x0000059c, 0x0000f033, 0x01c21a00, 0x0000f904, 0x81f83cec, 0x00002e84,
- 0x02400c09, 0x00009081, 0x67204c0a, 0x0000f833, 0x90000000, 0x0000028c,
- 0x1d387874, 0x00007900, 0x003ffffe, 0x00008280, 0x8160940f, 0x000000d3,
- 0xd8c10437, 0x0000f88e, 0xf8000000, 0x0000818f, 0xb843240a, 0x00009181,
- 0x81f83eec, 0x00002684, 0xffffffff, 0x0000ffb7, 0x02021200, 0x00007904,
- 0x30004007, 0x0000f80b, 0xa8000000, 0x0000818f, 0x01c00c37, 0x00009283,
- 0x000005e0, 0x0000f00b, 0x02800f48, 0x0000e080, 0x02410748, 0x00004080,
- 0x0300080a, 0x00006080, 0x82c00a09, 0x00000880, 0x89000a0b, 0x00001080,
- 0x00203824, 0x00002080, 0xac60560c, 0x0000a084, 0xffffffff, 0x00007f97,
- 0x837f0207, 0x0000f900, 0x0000003e, 0x00008280, 0x8010520d, 0x00001502,
- 0x82400a0a, 0x000010d8, 0xac604e0c, 0x0000a8dc, 0x000005e0, 0x0000f070,
- 0xac405e0c, 0x00002086, 0xffffffff, 0x00007fa7, 0x82905a0d, 0x00009100,
- 0x80104a0a, 0x00009502, 0x8280fa24, 0x000062e8, 0x82403224, 0x000087e8,
- 0x82d79a09, 0x00007968, 0x00000006, 0x00008080, 0x000005cc, 0x0000f060,
- 0x0000400b, 0x00007902, 0x01c00000, 0x00008000, 0x035057e4, 0x0000e000,
- 0x0241fc24, 0x0000c281, 0x0000fc09, 0x00001583, 0xffffffff, 0x00007f86,
- 0x01c0380d, 0x0000e318, 0x0200400d, 0x00008330, 0xffffffff, 0x00007f86,
- 0x0038400b, 0x0000d000, 0x00383800, 0x00000000, 0x02003800, 0x00001980,
- 0x823f1008, 0x00006802, 0x003842ec, 0x00005600, 0x00000000, 0x00008080,
- 0x100000ec, 0x0000d680, 0x00000000, 0x00008080, 0x40003874, 0x00006c06,
- 0x02ca614c, 0x00006100, 0x0f81bc09, 0x0000e000, 0x0000000b, 0x0000e582,
- 0x09205aec, 0x00000101, 0x02801c24, 0x00006281, 0x02ca6537, 0x00008010,
- 0x0d000000, 0x00006188, 0x0d005c0a, 0x0000c010, 0x02c06409, 0x0000e080,
- 0x20000048, 0x00002401, 0xcd40044c, 0x000004a4, 0x2ac800ab, 0x00006380,
- 0x0d801c24, 0x00000281, 0x4d800000, 0x0000e189, 0x4da9bd37, 0x00004911,
- 0x53000000, 0x00006180, 0xcd80140b, 0x0000c881, 0xa8400034, 0x00007892,
- 0x20000000, 0x00008185, 0x000005cd, 0x0000f200, 0x40004074, 0x00006c06,
- 0x82403448, 0x00006780, 0x0280fc48, 0x00008281, 0x82d79a09, 0x0000f900,
- 0x00000006, 0x00008080, 0x0000400b, 0x00007902, 0x01c00000, 0x00008000,
- 0x0241fc48, 0x00006281, 0x02a057e4, 0x00008800, 0x0000fc09, 0x0000e583,
- 0x40003074, 0x0000a406, 0x93400a4d, 0x00009080, 0x01c0380a, 0x00006318,
- 0x0200400a, 0x00000330, 0xffffffff, 0x00007f86, 0x0038400b, 0x0000d000,
- 0x00383800, 0x00000000, 0x02003800, 0x00001980, 0x823f1008, 0x00006802,
- 0x003842ec, 0x00005600, 0x00000000, 0x00008080, 0x100000ec, 0x0000d680,
- 0x00000000, 0x00008080, 0xdc80014c, 0x0000458a, 0x7e800c37, 0x0000fa8e,
- 0x8280320d, 0x0000e780, 0x82c0fa0d, 0x00008280, 0x82579a0a, 0x00007900,
- 0x00000006, 0x00008080, 0x00004009, 0x0000f902, 0x01c00000, 0x00008000,
- 0x0281fc0d, 0x0000e281, 0x03105fe4, 0x00000800, 0x0000fc0a, 0x0000e583,
- 0x20000e77, 0x00002400, 0xd3400b4d, 0x00009080, 0x01c0380c, 0x00006318,
- 0x0200400c, 0x00000330, 0xffffffff, 0x00007f86, 0x00384009, 0x00005000,
- 0x00383800, 0x00000000, 0x81c01677, 0x0000e283, 0x02003800, 0x00008980,
- 0x823f1008, 0x0000e002, 0x80001874, 0x0000340c, 0x00000395, 0x00007400,
- 0x003842ec, 0x00005600, 0x00000000, 0x00008080, 0x100000ec, 0x0000d680,
- 0x00000000, 0x00008080, 0x06150236, 0x0000f300, 0x81609404, 0x000080d3,
- 0x00000000, 0x00007080, 0x1a400000, 0x000087d8, 0xc10000e1, 0x000000d6,
- 0xc1200400, 0x000000d6, 0x010004e5, 0x000006a8, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1a38ff20, 0x0000062c, 0x05000000, 0x000081d4, 0x05800000, 0x000081dc,
- 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x1d000000, 0x000087d4,
- 0x01804437, 0x0000e283, 0x1dc00000, 0x00008980, 0x1da1948e, 0x00000624,
- 0x00000492, 0x00001583, 0xffffffff, 0x00007f86, 0x0000069c, 0x00007010,
- 0x000006ea, 0x00007048, 0x82801ee3, 0x0000e080, 0x0a44c209, 0x00006100,
- 0x82771a0a, 0x00006100, 0x01dcca09, 0x00000000, 0xb3406a09, 0x00007902,
- 0x03000000, 0x00008004, 0xb3405c09, 0x00007902, 0x02000000, 0x00000004,
- 0x0180f807, 0x00001784, 0xffffffff, 0x00007f86, 0x03406807, 0x00009002,
- 0x02c0080b, 0x0000e082, 0x03006006, 0x00008004, 0x02000008, 0x00009084,
- 0xb3786a09, 0x00005004, 0x00386000, 0x00008000, 0xb3785c09, 0x00005004,
- 0x00384000, 0x00000000, 0x00020437, 0x0000788c, 0x00000000, 0x00000000,
- 0x90c01648, 0x0000788f, 0x00000001, 0x00008060, 0xa7014097, 0x0000781b,
- 0x08000000, 0x00008387, 0x01814039, 0x00001100, 0x0180f806, 0x00001780,
- 0x0184b828, 0x00006100, 0x41603406, 0x00000901, 0x0180f806, 0x00001780,
- 0x00000406, 0x00006583, 0x81603406, 0x00000901, 0xb3803609, 0x0000a096,
- 0xffffffff, 0x00007fa7, 0x81800a06, 0x00001090, 0xb3883609, 0x0000a896,
- 0x82400d48, 0x0000e080, 0x81aa4548, 0x00004900, 0x14403a06, 0x0000f902,
- 0x01800000, 0x00000000, 0xbbc04c09, 0x00002082, 0x81aa4548, 0x00001900,
- 0xffffffff, 0x00007f86, 0x14405a06, 0x0000f902, 0x01800000, 0x00000000,
- 0x82504b07, 0x00009100, 0x80004a09, 0x00009582, 0x82005209, 0x0000e198,
- 0x82000000, 0x000089b0, 0x82400d48, 0x00009880, 0xbbe03a09, 0x0000f902,
- 0x81980700, 0x00000000, 0xffffffff, 0x00007fa7, 0x81d03407, 0x00009100,
- 0xbbe03209, 0x0000a081, 0x81d05a07, 0x00009000, 0xffffffff, 0x00007f97,
- 0x82603207, 0x00001100, 0x80001a09, 0x00009582, 0x82402209, 0x00001198,
- 0x82504a08, 0x00009c18, 0x0000072a, 0x0000f030, 0x80000605, 0x00006583,
- 0x01904a09, 0x00000900, 0x02400000, 0x00009988, 0x000006d6, 0x00007011,
- 0x00000630, 0x00007890, 0x00000000, 0x00000000, 0x00000505, 0x00007890,
- 0x00000000, 0x00008020, 0x9d000009, 0x0000f893, 0x00000001, 0x00008060,
- 0xd9404806, 0x0000c9b2, 0x94000d98, 0x00000195, 0xe21ccb99, 0x0000e100,
- 0x0a44c288, 0x00006100, 0x41800d98, 0x0000e283, 0x62400000, 0x00000981,
- 0x22800000, 0x000088e6, 0x067b1b4e, 0x0000f300, 0xe2000b99, 0x00001090,
- 0xa444b020, 0x0000786b, 0x00000001, 0x00008000, 0xab000d98, 0x00007897,
- 0x00000001, 0x00008000, 0xd9002589, 0x00004388, 0x00002589, 0x00008098,
- 0xd6c00d89, 0x0000c488, 0x3a000d89, 0x000001ad, 0x00801589, 0x00004791,
- 0x81804589, 0x00000199, 0xa7003d89, 0x0000f8a3, 0x60000000, 0x00000384,
- 0x40001d89, 0x00001583, 0x41400000, 0x0000e189, 0xc1005800, 0x00004989,
- 0x00000690, 0x0000f011, 0x068c0236, 0x00007100, 0x40003589, 0x00001583,
- 0x41405800, 0x00006189, 0xc1009800, 0x00004989, 0x0000068b, 0x0000f009,
- 0x069101bd, 0x00007100, 0x81400e69, 0x00009283, 0x0804b096, 0x0000e108,
- 0x60000816, 0x0000640b, 0x9fc00d98, 0x0000f88f, 0x60000000, 0x00008385,
- 0x40004d89, 0x00001583, 0x41407000, 0x00006189, 0xc1009800, 0x00004989,
- 0x0000068b, 0x0000f009, 0x40005589, 0x00001583, 0x00000690, 0x00007013,
- 0x069d078b, 0x00007100, 0xc0000074, 0x00006c00, 0xe0400505, 0x00004490,
- 0x0400068a, 0x00008196, 0xe040078a, 0x0000c990, 0x56000630, 0x00008195,
+ 0x077027c8, 0x00007204, 0x01900000, 0x00009980, 0x80172a07, 0x00006502,
+ 0x93d03a07, 0x00000900, 0x000006c1, 0x0000f00b, 0x00000629, 0x0000f400,
+ 0x90000877, 0x0000e401, 0xc000084c, 0x00003401, 0x01400800, 0x00001981,
+ 0x93d72ae5, 0x00009900, 0xb0572ae5, 0x0000f80b, 0x98000000, 0x0000838b,
+ 0x01010437, 0x00006283, 0xc1009000, 0x00008981, 0x1d387874, 0x00007900,
+ 0x003ffffe, 0x00008280, 0x811502a0, 0x00006108, 0x81407800, 0x00004981,
+ 0x000005d1, 0x00007010, 0x0000049c, 0x00007000, 0xffffffff, 0x0000ffe7,
+ 0x81f832ec, 0x00002684, 0x00000373, 0x0000f403, 0xffffffff, 0x00007f86,
+ 0x12403006, 0x00001900, 0x82803225, 0x0000e780, 0x8200fa08, 0x00008280,
+ 0x81979a0a, 0x00007900, 0x00000006, 0x00008080, 0x025047e4, 0x0000e000,
+ 0x0281fc25, 0x00004281, 0x00005806, 0x0000f902, 0x02000000, 0x00008000,
+ 0x0000fc0a, 0x0000e583, 0x20000877, 0x0000a401, 0xd3400b4d, 0x00006080,
+ 0x50001074, 0x0000a405, 0xffffffff, 0x00007f86, 0x02c05809, 0x00006330,
+ 0x02004009, 0x00000318, 0xffffffff, 0x00007f86, 0x00385806, 0x00005000,
+ 0x00384000, 0x00000000, 0x02003800, 0x00001980, 0x823f1008, 0x00006802,
+ 0x00000393, 0x00007400, 0x003842ec, 0x00005600, 0x00000000, 0x00008080,
+ 0x100000ec, 0x0000d680, 0x00000000, 0x00008080, 0x0200fc48, 0x00006281,
+ 0x81803448, 0x00000780, 0x82979a06, 0x00007900, 0x00000006, 0x00008080,
+ 0x026047e4, 0x0000e000, 0x0181fc48, 0x0000c281, 0x0000580a, 0x0000f902,
+ 0x02000000, 0x00008000, 0x0000fc06, 0x00001583, 0xffffffff, 0x00007f97,
+ 0x02c05809, 0x00006330, 0x02004009, 0x00000318, 0xffffffff, 0x00007f86,
+ 0x0038580a, 0x00005000, 0x00384000, 0x00000000, 0x02003800, 0x00001980,
+ 0x823f1008, 0x00006802, 0x000005b1, 0x00007400, 0x003842ec, 0x00005600,
+ 0x00000000, 0x00008080, 0x100000ec, 0x0000d680, 0x00000000, 0x00008080,
+ 0x1a400000, 0x000087d8, 0xc12000e1, 0x000080d6, 0xc1000400, 0x000080d6,
+ 0x81400000, 0x00006181, 0x81172ae5, 0x0000c900, 0x1a800000, 0x000006f0,
+ 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8,
+ 0x1cc00000, 0x0000e180, 0x1a010020, 0x00004900, 0x1ac0071f, 0x00000190,
+ 0x05400000, 0x000001d8, 0x05c00000, 0x000002d0, 0x09400000, 0x000002d8,
+ 0x09c00000, 0x000007d0, 0x1d400000, 0x000087dc, 0x01804437, 0x0000e283,
+ 0x9a519232, 0x00008900, 0x9d94728e, 0x00009900, 0x00000492, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x00000839, 0x0000f010, 0x00000890, 0x00007048,
+ 0x82801ee3, 0x0000e080, 0x0a44c209, 0x00006100, 0x82771a0a, 0x00006100,
+ 0x02dcca09, 0x00000000, 0xb3406a09, 0x00007902, 0x03000000, 0x00008004,
+ 0xb3403c09, 0x00007902, 0x01800000, 0x00008004, 0x0200f80b, 0x00009784,
+ 0xffffffff, 0x00007f86, 0x0340680b, 0x00009002, 0x01c00807, 0x0000e082,
+ 0x03006008, 0x00000004, 0x01800006, 0x00009084, 0xb3786a09, 0x00005004,
+ 0x00386000, 0x00008000, 0xb3783c09, 0x00005004, 0x00383000, 0x00008000,
+ 0x00020437, 0x0000788c, 0x00000000, 0x00000000, 0xf9801648, 0x0000f88f,
+ 0x00000001, 0x00008060, 0x0e414097, 0x0000781a, 0x38400000, 0x00008484,
+ 0x01814039, 0x00001100, 0x0180f806, 0x00001780, 0x0184b828, 0x00006100,
+ 0x81603406, 0x00000901, 0x0180f806, 0x00001780, 0x00000406, 0x00006583,
+ 0xc1603406, 0x00008901, 0xb3803609, 0x0000a096, 0xffffffff, 0x00007fa7,
+ 0x81800a06, 0x00001090, 0xb3883609, 0x0000a896, 0x82400d48, 0x0000e080,
+ 0x81aa4548, 0x00004900, 0x14403a06, 0x0000f902, 0x01800000, 0x00000000,
+ 0xbbc04c09, 0x00002082, 0x81aa4548, 0x00001900, 0xffffffff, 0x00007f86,
+ 0x14405a06, 0x0000f902, 0x01800000, 0x00000000, 0x82504b07, 0x00009100,
+ 0x80004a09, 0x00009582, 0x82005209, 0x0000e198, 0x82000000, 0x000089b0,
+ 0x82400d48, 0x00009880, 0xbbe03a09, 0x0000f902, 0x81980700, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x81d03407, 0x00009100, 0xbbe03209, 0x0000a081,
+ 0x81d05a07, 0x00009000, 0xffffffff, 0x00007f97, 0x82603207, 0x00001100,
+ 0x80001a09, 0x00009582, 0x82402209, 0x00001198, 0x82504a08, 0x00009c18,
+ 0x000008d3, 0x0000f030, 0xc0000705, 0x00006583, 0x01904a09, 0x00000900,
+ 0x02400000, 0x00009988, 0x00000873, 0x0000f011, 0x00000630, 0x00007890,
+ 0x00000000, 0x00000000, 0x00000605, 0x00007890, 0x00000000, 0x00008020,
+ 0x05c00009, 0x0000f892, 0x00400001, 0x00000060, 0x0d004806, 0x0000c9b3,
+ 0xd0000d98, 0x00000290, 0xe21ccb99, 0x0000e100, 0x0a44c288, 0x00006100,
+ 0x41800d98, 0x0000e283, 0x62400000, 0x00000981, 0x22800000, 0x000088e6,
+ 0x081e1cb8, 0x0000f300, 0xe2000b99, 0x00001090, 0x0c84b020, 0x0000786a,
+ 0x00400001, 0x00000000, 0x0e800d98, 0x00007896, 0x00400001, 0x00000000,
+ 0x0cc02589, 0x00004389, 0x00002589, 0x00008098, 0x08800d89, 0x0000c489,
+ 0xac000d89, 0x000002a8, 0x02601589, 0x0000c589, 0x02e01d89, 0x00000094,
+ 0x07204589, 0x00004199, 0x00003d89, 0x000000a0, 0x00c03589, 0x00004789,
+ 0x82a04d89, 0x0000808e, 0x15405589, 0x00007892, 0xc8400000, 0x00008481,
+ 0x08300337, 0x0000f300, 0xc1605800, 0x000080d3, 0x08320337, 0x00007300,
+ 0xc160980b, 0x000000d3, 0x81800e69, 0x00009283, 0x0804b096, 0x0000e108,
+ 0x60000816, 0x0000640b, 0x08800d98, 0x0000788e, 0xd0400000, 0x00008481,
+ 0x08390337, 0x0000f300, 0xc160980e, 0x000000d3, 0x083a0934, 0x00007100,
+ 0xe2000b88, 0x0000e180, 0x82400b88, 0x00000180, 0x00000209, 0x0000f890,
+ 0x00000000, 0x00000000, 0x08800589, 0x00007892, 0x00400001, 0x000000a0,
+ 0xffffffff, 0x00007f86, 0x8000068a, 0x00001583, 0xe2803000, 0x00009991,
+ 0x00000822, 0x00007011, 0xc1000800, 0x0000e181, 0xc0000074, 0x0000e400,
+ 0x80000605, 0x00006583, 0xf0000874, 0x0000a400, 0x80000630, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00000855, 0x0000f010, 0x00000855, 0x0000f010,
0x02400b31, 0x0000e080, 0x01814021, 0x00004100, 0x00004806, 0x0000e502,
0x027fe01f, 0x00008980, 0x02698009, 0x00006000, 0x0000086c, 0x0000e46b,
0x1c014009, 0x0000e000, 0x1c87f800, 0x000089e9, 0xe000186c, 0x0000ec03,
- 0x07010255, 0x0000f004, 0xe2000b88, 0x0000e180, 0x82400b88, 0x00000180,
- 0x00000209, 0x0000f890, 0x00000000, 0x00000000, 0x9fc00589, 0x0000f893,
- 0x00000001, 0x000080a0, 0xffffffff, 0x00007f86, 0x8000068a, 0x00001583,
- 0xe2803000, 0x00009991, 0x0000067f, 0x00007011, 0xc1000800, 0x0000e181,
- 0xc0000074, 0x0000e400, 0x40000505, 0x00006583, 0xf0000874, 0x0000a400,
- 0x80000630, 0x00009583, 0xffffffff, 0x00007f86, 0x00000690, 0x00007010,
- 0x00000690, 0x00007010, 0x02400b31, 0x0000e080, 0x01414021, 0x00004100,
- 0x00004805, 0x0000e502, 0x027fe01f, 0x00008980, 0x02698009, 0x00006000,
- 0x0000086c, 0x0000e46b, 0x06c801bd, 0x0000f500, 0x1c014009, 0x0000e000,
- 0x1c87f800, 0x000089e9, 0xe000186c, 0x0000ec03, 0x0000068b, 0x00007200,
- 0x81606c00, 0x000080d3, 0xa55cca95, 0x0000e100, 0x6607f598, 0x00008281,
- 0xe6400000, 0x00001980, 0x41800d98, 0x0000e283, 0xe2000000, 0x00008980,
- 0x62400000, 0x0000e181, 0x0a44c288, 0x00006100, 0x06d41b4e, 0x0000f500,
- 0x22800000, 0x000088e6, 0xe2000b99, 0x00001090, 0x9f44b020, 0x00007863,
- 0x88000000, 0x00000384, 0x80024a09, 0x00001582, 0x02400800, 0x00009998,
- 0x0000066c, 0x00007019, 0x82771a0a, 0x00006100, 0xa55cca95, 0x00008100,
- 0xb3803609, 0x0000a084, 0xe6400000, 0x00006180, 0x6607f598, 0x00004281,
- 0x000006cd, 0x0000f403, 0x01800c06, 0x00009081, 0xb3803609, 0x00002884,
- 0x41800d98, 0x0000e283, 0xe21ccb99, 0x00000900, 0x62400000, 0x0000e181,
- 0x0a44c288, 0x00006100, 0x06e81b4e, 0x0000f500, 0x22800000, 0x000088e6,
- 0xe2000b99, 0x00001090, 0x9f44b020, 0x00007863, 0x88000000, 0x00000384,
- 0x81401648, 0x00006283, 0x82401ee3, 0x00000880, 0x82771a09, 0x00006100,
- 0x22400000, 0x00000991, 0xb3a03609, 0x0000a004, 0x0a44c207, 0x00006110,
- 0x0a44c288, 0x0000b110, 0xe21ccb99, 0x00001910, 0x0000073b, 0x00007409,
- 0x81800a06, 0x00009080, 0xb3a03609, 0x00002804, 0x0244bb99, 0x00001000,
- 0xd381cf09, 0x00004470, 0x5e04bf39, 0x0000816e, 0xe221cf97, 0x0000c968,
- 0x12004f28, 0x0000816e, 0xffffffff, 0x00007f86, 0x00014039, 0x00001502,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0000071c, 0x00007008,
- 0x07010255, 0x00007204, 0xc0000874, 0x0000ec00, 0x06ac01bd, 0x0000f100,
- 0x82401ee3, 0x00009880, 0x82771a09, 0x00009100, 0xb3802609, 0x00002006,
- 0xffffffff, 0x00007f86, 0x0709013c, 0x0000f503, 0x81000a04, 0x00009080,
- 0xb3882609, 0x00002806, 0x81d14399, 0x00001000, 0xe2104a07, 0x00006100,
- 0x81904a07, 0x00008100, 0x80000206, 0x00009582, 0x0000069c, 0x0000700b,
- 0xe65c4388, 0x00009900, 0xfe014739, 0x00004510, 0xff000630, 0x00008097,
- 0x00004828, 0x0000e502, 0x8214ba39, 0x00000100, 0x81904399, 0x00006100,
- 0xe2104399, 0x00008100, 0x81914206, 0x00006068, 0x25c1c839, 0x00008900,
- 0xa2103a08, 0x0000e000, 0xe2104a06, 0x00000168, 0xffffffff, 0x00007f86,
- 0xa7000388, 0x0000f88b, 0x70000000, 0x00008388, 0x80000630, 0x00009583,
- 0x000006ff, 0x00007013, 0x0181c821, 0x0000e100, 0x02400b31, 0x00000880,
- 0x00004806, 0x0000e502, 0x00000869, 0x00002401, 0x027fe01f, 0x00006180,
- 0x0000086c, 0x0000e46b, 0x07010255, 0x00007404, 0x1c87f800, 0x000061e9,
- 0x02698009, 0x00004800, 0x1c01c809, 0x0000e000, 0xe000186c, 0x0000a403,
- 0x00000701, 0x0000f000, 0x80000605, 0x00009583, 0x01800000, 0x0000e188,
- 0x02400000, 0x0000c988, 0x000006d9, 0x00007011, 0x0000066c, 0x0000f000,
- 0x01c00020, 0x00006180, 0x04800000, 0x00004980, 0x0407c800, 0x00007900,
- 0x001c0e3c, 0x00008980, 0x04603000, 0x00007900, 0x003ddc7c, 0x00000980,
- 0x03c00000, 0x000000d4, 0x81c01000, 0x00009980, 0x073b20b1, 0x00007500,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x03200702, 0x0000802e,
- 0x073f253f, 0x0000f500, 0x0340100d, 0x0000e180, 0x0304b897, 0x0000c900,
- 0x8379c902, 0x0000001c, 0x01c00020, 0x00006180, 0x04800000, 0x00004980,
- 0x043fe000, 0x0000f900, 0x0035b0b4, 0x00000980, 0x045ee800, 0x0000f900,
- 0x003b280e, 0x00008980, 0x00000737, 0x00007400, 0x03c00000, 0x000000d4,
- 0x81c01000, 0x00009980, 0x0147fc0a, 0x00001280, 0x0002a805, 0x00009582,
- 0x0002e805, 0x00001582, 0x00028805, 0x00001582, 0x0000074f, 0x00007008,
- 0x0000074f, 0x00007008, 0x00000757, 0x00007010, 0x01200000, 0x00008ffd,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04109004, 0x0000e987,
- 0x700708ec, 0x0000d680, 0x00382002, 0x00008000, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x01800000, 0x00006180, 0x01c00020, 0x00004980,
- 0x82202006, 0x0000e086, 0x08001a0b, 0x00003106, 0x04268800, 0x0000f900,
- 0x00118560, 0x00000980, 0x04534800, 0x00007900, 0x003e124c, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x076520b1, 0x0000f500, 0x0480bf02, 0x0000809d, 0x03c03006, 0x00009900,
- 0x0318b000, 0x00007900, 0x00038000, 0x00000980, 0x03c00000, 0x00006180,
- 0x03801002, 0x00004900, 0x04800000, 0x00006180, 0x0000180f, 0x0000e106,
- 0x83203c07, 0x0000e101, 0xc000180f, 0x00006006, 0x81c0230e, 0x00006780,
- 0x02000804, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
- 0x04400800, 0x00007900, 0x0001c000, 0x00000980, 0x02400000, 0x00006180,
- 0x45103812, 0x0000e107, 0x00000001, 0x00007480, 0x02803000, 0x00006180,
- 0x02c3c100, 0x00004980, 0x04c00000, 0x000001c0, 0x03c00000, 0x00006180,
- 0x03801002, 0x00004900, 0x04800000, 0x00006180, 0x0000180f, 0x0000e106,
- 0x8100230e, 0x00006780, 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900,
- 0x000211c0, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
- 0x04400800, 0x00007900, 0x0001c000, 0x00000980, 0x02000800, 0x00006180,
- 0x45102012, 0x0000e107, 0x02403000, 0x000000e8, 0x00000001, 0x00007480,
- 0x02c00000, 0x000001c0, 0x04c00000, 0x00009980, 0x81401ee3, 0x0000e080,
- 0x00001000, 0x00006406, 0x81771a05, 0x00006100, 0xffc00000, 0x00008980,
- 0xb3802405, 0x0000a006, 0x003cf800, 0x00007900, 0x003ffffe, 0x00008280,
- 0xc0c00000, 0x00006180, 0x01800001, 0x0000c980, 0x0027f800, 0x00007900,
- 0x003ffffe, 0x00008280, 0x81000a04, 0x00006080, 0x00302006, 0x00002102,
- 0xb3882405, 0x0000a806, 0x40000500, 0x000080d4, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04147005, 0x00006987, 0x00400000, 0x00007900,
- 0x00040090, 0x00000980, 0x703830ec, 0x0000d600, 0x00382800, 0x00008000,
- 0x008806ec, 0x00005f80, 0x00004000, 0x00008084, 0x1a400000, 0x000087d8,
- 0xc10000e1, 0x000000d6, 0xc1200400, 0x000000d6, 0x010004e5, 0x000006a8,
- 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1a38ff20, 0x0000062c, 0x05000000, 0x000081d4,
- 0x05800000, 0x000081dc, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc,
- 0x1d000000, 0x000087d4, 0x1dc00000, 0x00006180, 0x9a519232, 0x00004900,
- 0x9d94728e, 0x00009900, 0x0e404437, 0x0000f896, 0x00400001, 0x00008080,
- 0x0a44c206, 0x0000e900, 0x81801ee3, 0x0000e080, 0x031cca06, 0x00004000,
- 0x02c0f80c, 0x0000e784, 0x81b71a06, 0x00000100, 0xb3405206, 0x0000f902,
- 0x02400000, 0x00008004, 0xb3404406, 0x00007902, 0x01c00000, 0x00000004,
- 0xffffffff, 0x00007f97, 0x0280500c, 0x00001002, 0x02000808, 0x0000e082,
- 0x0240480b, 0x00000004, 0x01c00007, 0x00009084, 0xb3785206, 0x0000d004,
- 0x00384800, 0x00008000, 0x07ca1c61, 0x00007404, 0xb3784406, 0x00005004,
- 0x00383800, 0x00000000, 0x023fe01f, 0x00009980, 0x07a04589, 0x0000c389,
- 0x00004589, 0x00008098, 0x07401d89, 0x00004489, 0x82003d89, 0x00008288,
- 0x0d601589, 0x0000c788, 0x07606d89, 0x0000008a, 0x00c07589, 0x0000c588,
- 0x87406589, 0x00000696, 0x00000844, 0x0000f400, 0x05001014, 0x00006380,
- 0x00003874, 0x0000a481, 0x46000000, 0x00001981, 0x05001014, 0x00006380,
- 0x00003874, 0x0000a481, 0x46000000, 0x00001981, 0x0e44b828, 0x0000f86a,
- 0x00400001, 0x00008080, 0xe21ccb99, 0x0000e100, 0x0a44c288, 0x00006100,
- 0x41800d98, 0x0000e283, 0x62400000, 0x00000981, 0x22800000, 0x000088e6,
- 0x07e21b4e, 0x00007300, 0xe2000b99, 0x00001090, 0xfb84b020, 0x0000786b,
- 0x00000001, 0x00008000, 0xfc800d98, 0x00007897, 0x00000001, 0x00008000,
- 0x06c02589, 0x00004389, 0x00002589, 0x00008098, 0x04600d89, 0x00004489,
- 0x18000d89, 0x000002a8, 0x02601589, 0x00004791, 0x04e04589, 0x0000019e,
- 0x0e403d89, 0x0000f8a2, 0x08400000, 0x00000480, 0x000007e4, 0x0000f400,
- 0x81400e69, 0x00009283, 0x0804b096, 0x0000e108, 0x60000816, 0x0000640b,
- 0xe2000b88, 0x0000e180, 0x81800b88, 0x00000180, 0x00000206, 0x0000f890,
- 0x00000000, 0x00000000, 0xf9800589, 0x00007893, 0x00000001, 0x000080a0,
- 0xffffffff, 0x00007f86, 0x8000068a, 0x00001583, 0x000007e6, 0x00007200,
- 0x62400800, 0x0000e189, 0xe2803000, 0x0000c991, 0x40001d89, 0x00001583,
- 0xc1005800, 0x00001989, 0x00000837, 0x0000f009, 0x083901bd, 0x00007100,
- 0x40003589, 0x00001583, 0x41405800, 0x00006189, 0xc1009800, 0x00004989,
- 0x00000838, 0x0000f009, 0x00000800, 0x00007000, 0x40004d89, 0x00001583,
- 0x41407000, 0x00006189, 0xc1009800, 0x00004989, 0x00000838, 0x0000f009,
- 0x0e405589, 0x0000788a, 0x00400000, 0x00008480, 0xc0000074, 0x00006c00,
- 0x02200505, 0x0000c491, 0x2200068a, 0x00000290, 0x0040078a, 0x0000c591,
- 0x00800630, 0x00008189, 0x81001ee3, 0x00001880, 0x81b71a04, 0x00001100,
- 0xb3802606, 0x00002006, 0xffffffff, 0x00007f86, 0x0818013c, 0x0000f503,
- 0x81000a04, 0x00009080, 0xb3882606, 0x00002806, 0x01800b31, 0x0000e080,
- 0x01c14021, 0x0000c100, 0x00003007, 0x00006502, 0x01bfe01f, 0x00008980,
- 0x01a98006, 0x00006000, 0x0000086c, 0x0000e46b, 0x1c014006, 0x0000e000,
- 0x1c87f800, 0x000089e9, 0xe000186c, 0x0000ec03, 0x08000255, 0x00007004,
- 0x00000800, 0x00007000, 0xc12c4d89, 0x0000e101, 0xc0000074, 0x0000e400,
- 0x40000505, 0x00006583, 0xf0000074, 0x00002400, 0xf3ec4874, 0x00006800,
- 0x80000630, 0x00009583, 0xffffffff, 0x00007f86, 0x00000800, 0x0000f010,
- 0x00000800, 0x0000f010, 0x01400b31, 0x0000e080, 0x01814021, 0x00004100,
- 0x00002806, 0x0000e502, 0x01bfe01f, 0x00008980, 0x01698006, 0x00006000,
- 0x042c486c, 0x0000e06b, 0x00000800, 0x0000f400, 0x1c014005, 0x0000e000,
- 0x1c87f800, 0x000089e9, 0xe000186c, 0x0000ec03, 0xc1006800, 0x00009981,
- 0x41400000, 0x00001981, 0x08000236, 0x00007100, 0x083a078b, 0x00007100,
- 0x00000844, 0x0000f200, 0x0dc04037, 0x00006380, 0x00005874, 0x0000a481,
- 0x00000844, 0x0000f400, 0x0dc04037, 0x00006380, 0x00009874, 0x0000a481,
- 0x80006874, 0x0000ec85, 0x0dc04037, 0x00006380, 0x00009874, 0x0000a481,
- 0x80006074, 0x00006c85, 0x01800001, 0x0000e180, 0x01400000, 0x00004980,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00302006, 0x0000e102,
- 0x10000800, 0x00003404, 0x01001000, 0x0000e181, 0x04147005, 0x0000e187,
- 0x00502000, 0x00007900, 0x0004c010, 0x00008980, 0x0027f800, 0x00007900,
- 0x003ffffe, 0x00008280, 0x703830ec, 0x0000d600, 0x00382800, 0x00008000,
- 0xc0c05000, 0x00006180, 0x0a43bc06, 0x00006000, 0x08570765, 0x00007500,
- 0x01e0784b, 0x000000c3, 0x80603404, 0x00001101, 0x000800ec, 0x00005780,
- 0x00884080, 0x000081c0, 0x001030ec, 0x00005780, 0x00804940, 0x00008280,
- 0x001050ec, 0x00005780, 0x00004002, 0x00008080, 0x0080d6ec, 0x00005f80,
- 0x00884941, 0x0000038c, 0x01809800, 0x00007900, 0x00003c00, 0x00008980,
- 0x2a385f0a, 0x0000801c, 0xc95722e4, 0x00001900, 0x0864250b, 0x00007004,
- 0x00000406, 0x00009583, 0x847f1fe3, 0x00009908, 0x8a008a11, 0x0000a088,
- 0x0000086d, 0x00007010, 0xffffffff, 0x00007f97, 0x04403c11, 0x00001281,
- 0x04401411, 0x00001181, 0x00000c11, 0x00001583, 0x00000872, 0x0000701b,
- 0x0e6e5000, 0x0000f900, 0x0038b0ac, 0x00008980, 0x08722158, 0x0000f500,
- 0x0e385f0a, 0x0000801c, 0x01a03406, 0x00009900, 0x30407ea9, 0x0000f902,
- 0x03800000, 0x00008000, 0x3000d2a9, 0x00007902, 0x06400000, 0x00008000,
- 0x30388ca9, 0x00002080, 0x307880a9, 0x0000a080, 0x30b868a9, 0x0000a080,
- 0xc100170e, 0x00006283, 0x06000000, 0x00008980, 0x318066a9, 0x00007902,
- 0x01c00000, 0x00008000, 0x31f830a9, 0x00002080, 0x31f82aa9, 0x0000a080,
- 0x8650c81a, 0x00008125, 0x0000089f, 0x00007408, 0x06308011, 0x0000012e,
- 0x4978680d, 0x00008125, 0x84771ee3, 0x00001900, 0xab607611, 0x0000a885,
- 0x84400e0e, 0x00001880, 0xac800011, 0x00005085, 0x00400000, 0x00008000,
- 0xaca86011, 0x00005004, 0x00003800, 0x00000002, 0x0441060e, 0x00001080,
- 0x84400a11, 0x00001880, 0x89800a11, 0x00001080, 0x8440fa26, 0x00006280,
- 0x81003226, 0x00000780, 0x0981fc26, 0x00006281, 0x06908fe4, 0x00000800,
- 0x2c0a07e2, 0x00001680, 0x844588b0, 0x00009000, 0x8456fa11, 0x0000f900,
- 0x00000006, 0x00008080, 0x0000fc26, 0x00006583, 0x84502211, 0x00000000,
- 0x00008011, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x0100201a, 0x0000e318, 0x0400801a, 0x00008330, 0xffffffff, 0x00007f86,
- 0x00388011, 0x00005000, 0x00382000, 0x00000000, 0xc1000f0e, 0x00009283,
- 0x84771ee3, 0x00009910, 0xab607611, 0x0000d015, 0x00087800, 0x00000002,
- 0x000008bd, 0x0000f008, 0x84400e0e, 0x00001880, 0xac400611, 0x00005085,
- 0x00400000, 0x00008000, 0xac486611, 0x00005006, 0x00203800, 0x00000000,
- 0x0441060e, 0x00001080, 0x83000a11, 0x00001880, 0x8440fa0c, 0x0000e280,
- 0x8100320c, 0x00008780, 0x0301fc0c, 0x00006281, 0x01d08fe4, 0x00000800,
- 0x2c0a07e2, 0x00001680, 0x844588b0, 0x00009000, 0x8456fa11, 0x0000f900,
- 0x00000006, 0x00008080, 0x0000fc0c, 0x0000e583, 0x84502211, 0x00000000,
- 0x00007811, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x01002007, 0x0000e318, 0x03c07807, 0x00008330, 0xffffffff, 0x00007f86,
- 0x00387811, 0x0000d000, 0x00382000, 0x00000000, 0xc100270e, 0x00006283,
- 0x84401ee3, 0x00000880, 0x84771a11, 0x00009100, 0xb3400211, 0x0000d084,
- 0x00400000, 0x00008000, 0xb3400411, 0x0000d084, 0x00400000, 0x00008000,
- 0xb3400611, 0x00005084, 0x00400000, 0x00008000, 0xb3800011, 0x00005084,
- 0x00400000, 0x00008000, 0xb3800211, 0x0000d084, 0x00400000, 0x00008000,
- 0xb3800611, 0x00005084, 0x00400000, 0x00008000, 0xb3b8cc11, 0x00005004,
- 0x0038c000, 0x00008000, 0xb3400211, 0x00005004, 0x00400000, 0x00000080,
- 0xb3400411, 0x00005004, 0x00400000, 0x00000080, 0xb3400611, 0x0000d004,
- 0x00400000, 0x00000080, 0xb3800011, 0x0000d004, 0x00400000, 0x00000080,
- 0x000008f8, 0x0000f408, 0xb3b8da11, 0x0000a804, 0xb3800611, 0x0000d004,
- 0x00400000, 0x00000080, 0x2c0a07e2, 0x00001680, 0x844588b0, 0x00009000,
- 0x8116fa11, 0x00007900, 0x00000006, 0x00008080, 0x01e06d0d, 0x00001001,
- 0x3e203d0d, 0x0000780a, 0x00400001, 0x00008080, 0x0341fc25, 0x00006281,
- 0x84400c25, 0x00000880, 0xa3487611, 0x00002886, 0xa3400611, 0x00005085,
- 0x00400000, 0x00008000, 0xa3603611, 0x0000a804, 0xa3683611, 0x00002804,
- 0x0000fc0d, 0x00006583, 0x0440fc25, 0x00000281, 0x03208fe4, 0x00006000,
- 0x84403425, 0x00004780, 0x09400c25, 0x00006081, 0x84502211, 0x00000000,
- 0x00008011, 0x0000f902, 0x03c00000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x03c0780c, 0x00006318, 0x0400800c, 0x00000330, 0xffffffff, 0x00007f86,
- 0x00388011, 0x00005000, 0x00387800, 0x00008000, 0x38603c25, 0x00007812,
- 0x00400001, 0x00008080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x84771ee3, 0x00006100, 0xb9192b25, 0x00004900,
- 0x7d382811, 0x0000a884, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x00000000, 0x00007083, 0x0905253f, 0x00007500, 0x03481800, 0x00006180,
- 0x03101202, 0x0000c900, 0x01e04c09, 0x00001900, 0x01400000, 0x000001d0,
+ 0x0856027a, 0x0000f100, 0xc0000074, 0x00006c00, 0x15000605, 0x00004491,
+ 0x5000068a, 0x00008291, 0x1500078a, 0x0000c991, 0xc8000630, 0x00000290,
+ 0x02400b31, 0x0000e080, 0x01814021, 0x00004100, 0x00004806, 0x0000e502,
+ 0x027fe01f, 0x00008980, 0x02698009, 0x00006000, 0x0000086c, 0x0000e46b,
+ 0x1c014009, 0x0000e000, 0x1c87f800, 0x000089e9, 0xe000186c, 0x0000ec03,
+ 0x08650356, 0x0000f004, 0x0866027a, 0x0000f100, 0x08680337, 0x00007300,
+ 0xc1606800, 0x000080d3, 0x6607f598, 0x0000e281, 0xa55cca95, 0x00008100,
+ 0x62200400, 0x000009e5, 0x41800d98, 0x0000e283, 0x0a44c288, 0x0000a100,
+ 0x08711cb8, 0x0000f500, 0xa2400400, 0x000008e8, 0xe2000b99, 0x0000e090,
+ 0x22400000, 0x00008981, 0x0804b020, 0x0000f862, 0x90400000, 0x00000481,
+ 0x80024a09, 0x00001582, 0x02400800, 0x00009998, 0x0000080f, 0x0000f019,
+ 0x82771a0a, 0x00006100, 0x6607f598, 0x00008281, 0xb3803609, 0x0000a084,
+ 0xa55cca95, 0x0000e100, 0xe2000000, 0x00008980, 0x41800d98, 0x0000e283,
+ 0xe6400000, 0x00008980, 0x62400000, 0x0000e181, 0x0a44c288, 0x00006100,
+ 0x01800c06, 0x00006081, 0x22800000, 0x00000980, 0x08851cb8, 0x00007500,
+ 0xb3803609, 0x00002884, 0xe2000b99, 0x0000e090, 0x22400000, 0x00008981,
+ 0x0804b020, 0x0000f862, 0x90400000, 0x00000481, 0x41800d98, 0x0000e283,
+ 0xe21ccb99, 0x00000900, 0x62400000, 0x0000e181, 0x0a44c288, 0x00006100,
+ 0x088e1cb8, 0x0000f500, 0x22800000, 0x000088e6, 0xe2000b99, 0x00001090,
+ 0x0804b020, 0x0000f862, 0x90400000, 0x00000481, 0x81401648, 0x00006283,
+ 0x82401ee3, 0x00000880, 0x82771a09, 0x00006100, 0x22400000, 0x00000991,
+ 0xb3a03609, 0x0000a004, 0xe21ccb99, 0x00006110, 0x0a44c288, 0x0000e110,
+ 0x000008e4, 0x0000740b, 0x81800a06, 0x00009080, 0xb3a03609, 0x00002804,
+ 0x0244bb99, 0x0000e000, 0x0a44c206, 0x0000a100, 0x0721cf09, 0x0000c471,
+ 0xb004bf39, 0x00000269, 0x16e1cf97, 0x0000c969, 0x5e004f28, 0x00008269,
+ 0xffffffff, 0x00007f86, 0x00014039, 0x00001502, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x000008c5, 0x0000f008, 0x08a70356, 0x0000f204,
+ 0xc0000874, 0x0000ec00, 0x08a8027a, 0x00007100, 0x82401ee3, 0x00009880,
+ 0x82771a09, 0x00009100, 0xb3802609, 0x00002006, 0xffffffff, 0x00007f86,
+ 0x08af01f9, 0x0000f503, 0x81000a04, 0x00009080, 0xb3882609, 0x00002806,
+ 0x81d14399, 0x00001000, 0xe2104a07, 0x00006100, 0x81904a07, 0x00008100,
+ 0x80000206, 0x00009582, 0xe65c4388, 0x00001910, 0x00000839, 0x00007009,
+ 0xfe014739, 0x00004510, 0x7f000630, 0x00008191, 0x00004828, 0x0000e502,
+ 0x81d4ba39, 0x00000100, 0x82903b99, 0x00006100, 0xe2103b99, 0x00008100,
+ 0xa2103207, 0x00006000, 0x25c1c839, 0x00008900, 0x8191420a, 0x00009068,
+ 0xe2104a06, 0x00009168, 0xffffffff, 0x00007f86, 0xc0000388, 0x00009582,
+ 0xe65c4388, 0x00001910, 0x00000839, 0x00007009, 0x00014039, 0x00001502,
+ 0x000008a5, 0x0000f013, 0x80000630, 0x00009583, 0x000008a5, 0x0000f013,
+ 0x0181c821, 0x0000e100, 0x02400b31, 0x00000880, 0x00004806, 0x0000e502,
+ 0x00000869, 0x00002401, 0x027fe01f, 0x00006180, 0x0000086c, 0x0000e46b,
+ 0x08d20356, 0x00007404, 0x1c87f800, 0x000061e9, 0x02698009, 0x00004800,
+ 0x1c01c809, 0x0000e000, 0xe000186c, 0x0000a403, 0x08d3027a, 0x00007100,
+ 0xc0000705, 0x00009583, 0x01800000, 0x0000e188, 0x02400000, 0x0000c988,
+ 0x00000876, 0x0000f011, 0x0000080f, 0x00007000, 0x01400020, 0x0000e180,
+ 0x04800000, 0x00004980, 0x0407c800, 0x00007900, 0x001c0e3c, 0x00008980,
+ 0x04603000, 0x00007900, 0x003ddc7c, 0x00000980, 0x01c00000, 0x000000f4,
+ 0x81401000, 0x00001980, 0x08e42213, 0x0000f500, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x03e00702, 0x0000802e, 0x08e826a1, 0x00007500,
+ 0x0340100d, 0x0000e180, 0x0304b897, 0x0000c900, 0x8379c902, 0x0000001c,
+ 0x01400020, 0x0000e180, 0x04800000, 0x00004980, 0x04000000, 0x00007900,
+ 0x0035b0b6, 0x00008980, 0x045ee800, 0x0000f900, 0x003b280e, 0x00008980,
+ 0x000008e0, 0x00007400, 0x01c00000, 0x000000f4, 0x81401000, 0x00001980,
+ 0x0147fc0a, 0x00001280, 0x0002a805, 0x00009582, 0x0002e805, 0x00001582,
+ 0x00028805, 0x00001582, 0x000008f8, 0x00007008, 0x000008f8, 0x00007008,
+ 0x00000900, 0x00007010, 0x01200000, 0x00008ffd, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x04109004, 0x0000e987, 0x700708ec, 0x0000d680,
+ 0x00382002, 0x00008000, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x01800000, 0x00006180, 0x01400020, 0x0000c980, 0x82202006, 0x0000e086,
+ 0x08001a0b, 0x00003106, 0x04268800, 0x0000f900, 0x00118560, 0x00000980,
+ 0x04534800, 0x00007900, 0x003e124c, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x090e2213, 0x0000f500,
+ 0x0480bf02, 0x00000095, 0x01c03006, 0x00001900, 0x0318b000, 0x00007900,
+ 0x00038000, 0x00000980, 0x03c00000, 0x00006180, 0x03801002, 0x00004900,
+ 0x04800000, 0x00006180, 0x0000180f, 0x0000e106, 0x83203406, 0x0000e101,
+ 0xc000180f, 0x00006006, 0x8180230e, 0x0000e780, 0x02000804, 0x00000980,
+ 0x03400000, 0x00007900, 0x00018008, 0x00000980, 0x04400800, 0x00007900,
+ 0x0001c000, 0x00000980, 0x02400000, 0x00006180, 0x45103012, 0x00006107,
+ 0x00000001, 0x00007480, 0x02803000, 0x00006180, 0x02c3c100, 0x00004980,
+ 0x04c00000, 0x000001c0, 0x03c00000, 0x00006180, 0x03801002, 0x00004900,
+ 0x04800000, 0x00006180, 0x0000180f, 0x0000e106, 0x8100230e, 0x00006780,
+ 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900, 0x000211c0, 0x00000980,
+ 0x03400000, 0x00007900, 0x00018008, 0x00000980, 0x04400800, 0x00007900,
+ 0x0001c000, 0x00000980, 0x02000800, 0x00006180, 0x45102012, 0x0000e107,
+ 0x02403000, 0x000000e8, 0x00000001, 0x00007480, 0x02c00000, 0x000001c0,
+ 0x04c00000, 0x00009980, 0x81401ee3, 0x0000e080, 0x00001000, 0x00006406,
+ 0x81771a05, 0x00006100, 0xffc00000, 0x00008980, 0xb3802405, 0x0000a006,
+ 0x003cf800, 0x00007900, 0x003ffffe, 0x00008280, 0xc0c00000, 0x00006180,
+ 0x01800001, 0x0000c980, 0x0027f800, 0x00007900, 0x003ffffe, 0x00008280,
+ 0x81000a04, 0x00006080, 0x00302006, 0x00002102, 0xb3882405, 0x0000a806,
+ 0x40000500, 0x000080d4, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x04147005, 0x00006987, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
+ 0x703830ec, 0x0000d600, 0x00382800, 0x00008000, 0x008806ec, 0x00005f80,
+ 0x00004000, 0x00008084, 0x2a409800, 0x00007900, 0x00003c00, 0x00008980,
+ 0x2af85f0a, 0x00000a28, 0x811722e4, 0x00009900, 0x0951266c, 0x00007004,
+ 0x00000407, 0x0000e583, 0x839562ac, 0x00000900, 0x867f1fe3, 0x00001908,
+ 0x8a00c219, 0x00002088, 0x0000095b, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0x06403c18, 0x00009281, 0x06001419, 0x00009181, 0x00000c18, 0x00001583,
+ 0x00000960, 0x0000f01b, 0x146e5000, 0x00007900, 0x0038b0ac, 0x00008980,
+ 0x096022b9, 0x00007500, 0x14385f0a, 0x00008324, 0x0e203c07, 0x00001900,
+ 0x3041340e, 0x00007902, 0x01400000, 0x00000000, 0x30006a0e, 0x0000f902,
+ 0x01c00000, 0x00008000, 0x3038340e, 0x0000a080, 0x3038660e, 0x00002080,
+ 0x31416e0e, 0x0000f902, 0x0b000000, 0x00008000, 0xc1001705, 0x0000e283,
+ 0x04800000, 0x00008980, 0x31815c0e, 0x00007902, 0x09400000, 0x00008000,
+ 0x3180de0e, 0x0000f902, 0x0a800000, 0x00008000, 0x31c0d00e, 0x0000f902,
+ 0x06400000, 0x00008000, 0x31f94a0e, 0x0000a080, 0x84d0380d, 0x0000810d,
+ 0x00000991, 0x00007408, 0x04b06006, 0x00000132, 0xc4e96d2d, 0x0000e101,
+ 0x86771ee3, 0x00004910, 0x86000e05, 0x00009880, 0xab602e19, 0x0000a885,
+ 0xac800018, 0x00005085, 0x00400000, 0x00008000, 0x86400e05, 0x00001880,
+ 0xaca8d818, 0x00005004, 0x0000d000, 0x00000002, 0x8610ce05, 0x00001000,
+ 0x86020a18, 0x00001080, 0x8640fa18, 0x00006280, 0x81803218, 0x00000780,
+ 0x0601fc18, 0x00006281, 0x0350cfe4, 0x00008800, 0x2c0a07e2, 0x00001680,
+ 0x864588b0, 0x00001000, 0x8656fa19, 0x0000f900, 0x00000006, 0x00008080,
+ 0x0000fc18, 0x0000e583, 0x86503219, 0x00008000, 0x00003819, 0x00007902,
+ 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x0180300d, 0x0000e318,
+ 0x01c0380d, 0x00008330, 0xffffffff, 0x00007f86, 0x00383819, 0x0000d000,
+ 0x00383000, 0x00008000, 0xc1000f05, 0x00001283, 0x86000e05, 0x00006090,
+ 0x86771ee3, 0x00004910, 0xab602e19, 0x0000d015, 0x00093000, 0x00008002,
+ 0x000009b0, 0x0000f008, 0xac400618, 0x00005085, 0x00400000, 0x00008000,
+ 0x86400e05, 0x00001880, 0xac48de18, 0x00005006, 0x0020d000, 0x00000000,
+ 0x8610ce05, 0x00001000, 0x81c20218, 0x0000e080, 0x8640fa18, 0x00000280,
+ 0x0610cfe4, 0x0000e000, 0x81803207, 0x00004780, 0x2c0a07e2, 0x00001680,
+ 0x864588b0, 0x00001000, 0x8656fa19, 0x0000f900, 0x00000006, 0x00008080,
+ 0x01c1fc07, 0x00006281, 0x86503219, 0x00008000, 0x00006819, 0x00007902,
+ 0x01800000, 0x00000000, 0x0000fc07, 0x00009583, 0xffffffff, 0x00007f97,
+ 0x01803018, 0x00006318, 0x03406818, 0x00000330, 0xffffffff, 0x00007f86,
+ 0x00386819, 0x0000d000, 0x00383000, 0x00008000, 0xc1004705, 0x00001283,
+ 0x0630660c, 0x0000e111, 0x86771ee3, 0x00004910, 0xab602e19, 0x00002895,
+ 0x00000a11, 0x00007008, 0x80000e2c, 0x00006583, 0x86402605, 0x00008880,
+ 0x81f02a19, 0x0000e100, 0x81a80500, 0x00008900, 0x06408000, 0x00006191,
+ 0x06404000, 0x00004989, 0x03000000, 0x0000f900, 0x000010c4, 0x00008980,
+ 0xc197c207, 0x0000f900, 0x00000006, 0x00008080, 0x0020c80c, 0x00006906,
+ 0x01c00000, 0x00007900, 0x00007fc0, 0x00000980, 0x703860ec, 0x0000d600,
+ 0x00383000, 0x00008000, 0x81e0cc19, 0x0000e100, 0x01980006, 0x00004980,
+ 0x703958ec, 0x0000d600, 0x00392800, 0x00000000, 0x04181006, 0x00006987,
+ 0x703838ec, 0x00005600, 0x00383000, 0x00008000, 0x00d002ec, 0x00005f80,
+ 0x108e6809, 0x00009384, 0x80000e2c, 0x00009583, 0x000009d7, 0x00007013,
+ 0x2c007e05, 0x00009680, 0x864588b0, 0x00001000, 0xafb83019, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0xafb83219, 0x00002884, 0xafb83019, 0x0000a004,
+ 0xffffffff, 0x00007fa7, 0xafb83219, 0x0000a804, 0x0620c7e4, 0x00006000,
+ 0x14400000, 0x0000c980, 0x8000fa18, 0x0000e582, 0x14000020, 0x00000980,
+ 0x09c00000, 0x000081e8, 0x09800000, 0x000000dc, 0x000009ea, 0x0000f418,
+ 0x14f92f2b, 0x00000508, 0xd450c218, 0x00006100, 0x9431662c, 0x00004900,
+ 0x01400020, 0x0000e180, 0x04800000, 0x00004980, 0x043b0000, 0x0000f900,
+ 0x001abc2e, 0x00008980, 0x047ea800, 0x0000f900, 0x001a8d3a, 0x00000980,
+ 0x000009f5, 0x00007400, 0x01c00000, 0x000000f4, 0x81401000, 0x00001980,
+ 0x8000062c, 0x00001583, 0x01400020, 0x00006188, 0x04800000, 0x0000c988,
+ 0x01c00000, 0x00006188, 0x03400000, 0x00004988, 0x000009f9, 0x00007010,
+ 0x043b0800, 0x00007900, 0x001abc2e, 0x00008980, 0x04525000, 0x0000f900,
+ 0x000a98fe, 0x00008980, 0x81401000, 0x00001980, 0x09f92213, 0x00007500,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x03e00702, 0x0000802e,
+ 0x86002605, 0x00009880, 0x86702a18, 0x00009100, 0x86400e05, 0x00006080,
+ 0x86003219, 0x0000c080, 0xafa03818, 0x0000a884, 0x8610ce05, 0x00001000,
+ 0x86010251, 0x0000e080, 0x86421218, 0x00000080, 0x00203019, 0x00002080,
+ 0xffffffff, 0x00007fa7, 0x80103218, 0x00009502, 0x09800c26, 0x000010d9,
+ 0x00000a56, 0x0000f071, 0x2c007e05, 0x00009680, 0x860588b0, 0x00009000,
+ 0xaf800618, 0x0000d084, 0x00400000, 0x00008000, 0xafb95c18, 0x00005004,
+ 0x003a9000, 0x00000000, 0xaffa8018, 0x00005004, 0x00393800, 0x00008000,
+ 0xaff8d218, 0x00005004, 0x00393000, 0x00000000, 0xafba8e18, 0x00002804,
+ 0xc1002705, 0x0000e283, 0x86401ee3, 0x00008880, 0x86371a19, 0x00001100,
+ 0xb3400218, 0x0000d084, 0x00400000, 0x00008000, 0xb3400418, 0x0000d084,
+ 0x00400000, 0x00008000, 0xb3400618, 0x00005084, 0x00400000, 0x00008000,
+ 0xb3800018, 0x00005084, 0x00400000, 0x00008000, 0xb3800218, 0x0000d084,
+ 0x00400000, 0x00008000, 0xb3800618, 0x00005084, 0x00400000, 0x00008000,
+ 0xb3b89c18, 0x00005004, 0x00389000, 0x00008000, 0xb3400218, 0x00005004,
+ 0x00400000, 0x00000080, 0xb3400418, 0x00005004, 0x00400000, 0x00000080,
+ 0xb3400618, 0x0000d004, 0x00400000, 0x00000080, 0xb3800018, 0x0000d004,
+ 0x00400000, 0x00000080, 0x00000a4d, 0x0000f408, 0xb3b8e218, 0x00002804,
+ 0xb3800618, 0x0000d004, 0x00400000, 0x00000080, 0x2c0a07e2, 0x00001680,
+ 0x860588b0, 0x00009000, 0x83d6fa18, 0x0000f900, 0x00000006, 0x00008080,
+ 0x01a16d2d, 0x00006001, 0x06696d2d, 0x00000901, 0x9360352d, 0x0000780a,
+ 0x00400001, 0x00008080, 0x0381fc19, 0x00006281, 0x86000c19, 0x00000880,
+ 0xa3482e18, 0x0000a886, 0xa3400618, 0x00005085, 0x00400000, 0x00008000,
+ 0xa3415618, 0x00002806, 0xa368ce18, 0x0000a804, 0x0000fc0e, 0x00006583,
+ 0x0600fc19, 0x00000281, 0x01e0c7e4, 0x0000e000, 0x86003419, 0x00004780,
+ 0x06400c19, 0x00006081, 0x86107a18, 0x00008000, 0x00006818, 0x0000f902,
+ 0x03000000, 0x00000000, 0xffffffff, 0x00007fa7, 0x03006007, 0x0000e318,
+ 0x03406807, 0x00008330, 0xffffffff, 0x00007f86, 0x00386818, 0x00005000,
+ 0x00386000, 0x00008000, 0x8da03419, 0x00007812, 0x00400001, 0x00008080,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x86771ee3, 0x0000e100, 0xb9102204, 0x00004900, 0x7d394819, 0x0000a884,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00000000, 0x00007083,
+ 0x01900000, 0x0000e180, 0x0f028a19, 0x0000e000, 0x00302806, 0x00006886,
+ 0x0a5c26b3, 0x0000f500, 0x0420c806, 0x00006887, 0x03c03006, 0x00009900,
+ 0x01900000, 0x00007900, 0x00004000, 0x00000980, 0x00302806, 0x00006886,
+ 0x0a6226b3, 0x00007500, 0x81800c19, 0x00001481, 0x03c03006, 0x00009900,
+ 0x00000a06, 0x00007200, 0xc6800f1a, 0x00006081, 0x20000826, 0x00002401,
+ 0x0a6926a1, 0x0000f500, 0x03481800, 0x00006180, 0x03101202, 0x0000c900,
+ 0x01e04c09, 0x00001900, 0x01400000, 0x000001d0, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x05400000, 0x0000e180, 0x04182005, 0x0000e187,
+ 0x700708ec, 0x0000d680, 0x00382802, 0x00000000, 0x05c00000, 0x000081d8,
+ 0x00400c09, 0x00004588, 0x01001409, 0x0000008a, 0x0a81094c, 0x0000f004,
+ 0x00000a81, 0x0000f000, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x042b3000, 0x00007900, 0x0038b0ac, 0x00008980, 0x04579800, 0x00007900,
+ 0x001cdbc6, 0x00000980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x82f81400, 0x0000803c, 0x0a812213, 0x00007500, 0x04b84f08, 0x0000001c,
+ 0x81402800, 0x00009980, 0x03800000, 0x000080fc, 0x03009000, 0x0000f900,
+ 0x0000d200, 0x00008980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
+ 0x04384f08, 0x00000104, 0x04b85f0a, 0x0000010c, 0xc3981302, 0x00001900,
+ 0x00981eec, 0x0000df80, 0x00004800, 0x00000084, 0x01000d05, 0x00006081,
+ 0x00001000, 0x0000a504, 0x00000405, 0x00006583, 0xc0202c04, 0x00000001,
+ 0x40c00400, 0x000000d2, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
+ 0x01000800, 0x00006191, 0x82302801, 0x00006080, 0x40000505, 0x00006583,
+ 0x80e82d05, 0x00000901, 0x01000000, 0x00006181, 0x86202001, 0x0000e001,
+ 0x01000800, 0x00001991, 0x00000001, 0x0000f481, 0x96602001, 0x00006801,
+ 0x00202801, 0x0000e806, 0x01038484, 0x00009281, 0x00028404, 0x00001583,
+ 0x01800000, 0x0000e190, 0x01400020, 0x00004990, 0x41a44c89, 0x00006111,
+ 0x0f042406, 0x0000e014, 0x00000001, 0x00007088, 0x041db000, 0x0000f900,
+ 0x0038b0b2, 0x00008980, 0x04609800, 0x0000f900, 0x002940b8, 0x00008980,
+ 0x03400000, 0x0000e180, 0x08001a0b, 0x00006106, 0x8140b000, 0x00006180,
+ 0xc2f00600, 0x0000c901, 0x0aae2213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x01fc4706, 0x00008108, 0x0ab226a1, 0x0000f500, 0x03501800, 0x00006180,
+ 0x03101202, 0x0000c900, 0x01e44c89, 0x00001900, 0x01000000, 0x000081d0,
0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x05400000, 0x0000e180,
- 0x04182005, 0x0000e187, 0x700708ec, 0x0000d680, 0x00382802, 0x00000000,
- 0x05c00000, 0x000081d8, 0x00400c09, 0x00004588, 0x01001409, 0x0000008a,
- 0x091d085f, 0x0000f004, 0x0000091d, 0x0000f000, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x042b3000, 0x00007900, 0x0038b0ac, 0x00008980,
- 0x04579800, 0x00007900, 0x001cdbc6, 0x00000980, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030, 0x091d20b1, 0x00007500,
- 0x04b84f08, 0x0000803c, 0x81c02800, 0x00001980, 0x03800000, 0x000080fc,
- 0x03009000, 0x0000f900, 0x0000d200, 0x00008980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x04384f08, 0x00000104, 0x04b85f0a, 0x0000010c,
- 0xc3981302, 0x00001900, 0x00981eec, 0x0000df80, 0x00004800, 0x00000084,
- 0x01000d05, 0x00006081, 0x00001000, 0x0000a504, 0x00000405, 0x00006583,
- 0xc0202c04, 0x00000001, 0x40c00400, 0x000000d2, 0x00400000, 0x00007900,
- 0x00040090, 0x00000980, 0x01000800, 0x00006191, 0x82302801, 0x00006080,
- 0x40000505, 0x00006583, 0x80e82d05, 0x00000901, 0x01000000, 0x00006181,
- 0x86202001, 0x0000e001, 0x01000800, 0x00001991, 0x00000001, 0x0000f481,
- 0x96602001, 0x00006801, 0x00202801, 0x0000e806, 0x01038484, 0x00009281,
- 0x00028404, 0x00001583, 0x01800000, 0x0000e190, 0x01c00020, 0x0000c990,
- 0x41a44c89, 0x00006111, 0x0f042406, 0x0000e014, 0x00000001, 0x00007088,
- 0x041c7800, 0x0000f900, 0x0038b0b2, 0x00008980, 0x04609800, 0x0000f900,
- 0x002940b8, 0x00008980, 0x01400000, 0x00006180, 0x08001a0b, 0x00006106,
- 0x81c0b000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x094a20b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03fc4706, 0x00000108, 0x094e253f, 0x00007500,
- 0x03501800, 0x00006180, 0x03101202, 0x0000c900, 0x01e44c89, 0x00001900,
- 0x01000000, 0x000081d0, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x05400000, 0x0000e180, 0x041c2004, 0x0000e187, 0x700708ec, 0x0000d680,
- 0x00382002, 0x00008000, 0x05800000, 0x000081dc, 0x1a000000, 0x000086e4,
- 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
- 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x20800000, 0x000088cc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec,
- 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4,
- 0x28800000, 0x00008acc, 0x29000000, 0x00008ad4, 0x29800000, 0x00008adc,
- 0x253c4f88, 0x00000914, 0x25fc578b, 0x00000918, 0x56603c89, 0x0000c389,
- 0x00003c89, 0x00000098, 0x45c02489, 0x0000c489, 0x48003489, 0x0000828d,
- 0x00c01c89, 0x0000c789, 0x13405489, 0x0000908d, 0x4c005489, 0x0000c299,
- 0x4e004c89, 0x0000828d, 0x23405c89, 0x00004588, 0x90008489, 0x00001388,
- 0x09790938, 0x00007100, 0x12000000, 0x000004f8, 0x83771ee3, 0x0000e100,
- 0x0d000000, 0x0000c980, 0x0d800000, 0x0000f900, 0x000c0000, 0x00008980,
- 0x01809800, 0x00007900, 0x00003600, 0x00008980, 0xab7a460d, 0x00007902,
- 0x93980400, 0x00008004, 0x0d400000, 0x000083dc, 0x0e400000, 0x000003e8,
- 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000, 0x000084c0,
- 0x10400000, 0x000004c8, 0x10c00000, 0x000084d0, 0x11400000, 0x000004d8,
- 0x11c00000, 0x000084e4, 0x12800000, 0x000084ec, 0x13000000, 0x000084f4,
- 0x13c00000, 0x0000e180, 0x0e000004, 0x00004980, 0x033c6f8c, 0x0000002c,
- 0x02bc7f8e, 0x00008024, 0x0994250b, 0x00007404, 0x023c8f90, 0x00000014,
- 0x01fc578b, 0x00008a20, 0x83400aa9, 0x0000e080, 0x81c03aa9, 0x00008080,
- 0x307d340d, 0x0000b038, 0x303cc2a9, 0x00003038, 0x303ce20d, 0x00003038,
- 0x303cf40d, 0x0000b038, 0x01000ca6, 0x00001283, 0x303d060d, 0x0000b038,
- 0x307d100d, 0x0000b038, 0x307d220d, 0x00003038, 0x303b4207, 0x0000b038,
- 0x303b5407, 0x00003038, 0x303b6607, 0x0000b038, 0x307b7007, 0x0000b038,
- 0x307b8207, 0x00003038, 0x307b9407, 0x0000b038, 0x307ba607, 0x00003038,
- 0x30bbb007, 0x0000b038, 0x30bbc207, 0x0000b038, 0x30bbd407, 0x00003038,
- 0x30bbe607, 0x0000b038, 0x30fbf007, 0x0000b038, 0x30fc0207, 0x0000b038,
- 0x30fc1407, 0x00003038, 0x30fc2607, 0x0000b038, 0x313c3007, 0x0000b038,
- 0x313c4207, 0x0000b038, 0x313c5407, 0x00003038, 0x313c6607, 0x0000b038,
- 0x000009cc, 0x0000f408, 0x317c7007, 0x0000b038, 0xcddcc398, 0x00006100,
- 0x0000006b, 0x00006411, 0x0fc02c07, 0x00006000, 0x00000088, 0x00003600,
- 0x00000c07, 0x00006583, 0x3000006b, 0x0000a403, 0x23500000, 0x00007900,
- 0x00003200, 0x00000980, 0x0400286b, 0x0000e001, 0x03c02888, 0x0000b001,
- 0xddc00000, 0x00006180, 0x40c3586b, 0x00006001, 0x9dc84208, 0x0000871a,
- 0x20b86709, 0x0000072c, 0x1ff8570b, 0x00000804, 0xde982800, 0x0000e180,
- 0x203fe01f, 0x0000c980, 0x227c0249, 0x0000e180, 0x229f4000, 0x0000c980,
- 0x22c00000, 0x00006180, 0x1e001208, 0x00004880, 0x1e7fe01f, 0x0000e180,
- 0x0dc04037, 0x00004388, 0x23704608, 0x00006101, 0x25408800, 0x00004989,
- 0x40000587, 0x00006583, 0x03400000, 0x00008981, 0x03400800, 0x00006191,
- 0x81c00000, 0x00004980, 0x05010000, 0x00007900, 0x00080822, 0x00008980,
- 0x0000040d, 0x0000e583, 0x05c00000, 0x00008980, 0x01000800, 0x00006191,
- 0x01001000, 0x00004989, 0x8101066b, 0x00006283, 0x0683f07e, 0x00008900,
- 0x0803e07c, 0x00006100, 0x61a02014, 0x0000e002, 0x01000800, 0x00006191,
- 0x01001000, 0x00004989, 0x0000040d, 0x0000e583, 0x0740087c, 0x00000180,
- 0x05408000, 0x0000f900, 0x00200100, 0x00008980, 0x05801000, 0x0000f900,
- 0x00005504, 0x00000980, 0x8c800000, 0x00006180, 0x65a02014, 0x0000e003,
- 0x80002807, 0x00007902, 0x01000000, 0x00000604, 0x000009f2, 0x00007410,
- 0x07c3e87d, 0x00006100, 0x0843d880, 0x00004000, 0x03401800, 0x00009991,
- 0x0003e07e, 0x00009502, 0x03401000, 0x00001989, 0x000009f2, 0x00007009,
- 0x0003e07d, 0x00009502, 0x03400000, 0x00009989, 0x000009f2, 0x00007009,
- 0x003bd487, 0x00001503, 0x03400800, 0x000019a1, 0x0c7c0031, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00000c0d, 0x00006583, 0x01c08269, 0x00008880,
- 0x83401ee3, 0x00006080, 0x0bc03b68, 0x00004300, 0x0c77f831, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x81f71a0d, 0x00006100, 0x04035831, 0x00002000,
- 0xb3b83407, 0x00002084, 0x0a841805, 0x0000e100, 0x12c35831, 0x0000a000,
- 0xb3b82c07, 0x0000a004, 0x08800000, 0x00006180, 0x24435831, 0x0000e000,
- 0x08800800, 0x00006188, 0x33c35831, 0x00006000, 0x01000ca6, 0x0000e283,
- 0xe0000816, 0x00002402, 0x0c000000, 0x00006180, 0x61abb831, 0x0000e000,
- 0x52303606, 0x0000e101, 0x51053037, 0x00006000, 0x14602848, 0x0000e001,
- 0x90000816, 0x00003401, 0x06c00000, 0x00006180, 0x0a03d87b, 0x0000c900,
- 0x0a4b4782, 0x0000823a, 0x00000a2b, 0x0000f408, 0x8b6bb16b, 0x00008304,
- 0x0c1bb88d, 0x00008302, 0x82c03aec, 0x0000f902, 0x01000000, 0x00000604,
- 0x81ff2aec, 0x00002e84, 0x03408375, 0x00006080, 0xc0000816, 0x00006402,
- 0x01006a76, 0x00006300, 0x40002816, 0x0000a407, 0x81f83cec, 0x0000d604,
- 0x00382000, 0x00000000, 0x81fb84ec, 0x0000d604, 0x003b6000, 0x00008000,
- 0x81f826ec, 0x00002684, 0x46002000, 0x0000e181, 0x05001014, 0x0000c380,
- 0xffffffff, 0x00007f97, 0x1f402007, 0x00006000, 0x1f802007, 0x00000000,
- 0x1f002007, 0x0000e000, 0x07c02007, 0x00008000, 0x06802007, 0x0000e000,
- 0x08002007, 0x00008000, 0x01010437, 0x00006283, 0x0dc08037, 0x00000380,
- 0x128538a7, 0x0000e110, 0x123837a6, 0x0000c011, 0x00000ab3, 0x0000f200,
- 0x08c00c23, 0x00006081, 0xa0000816, 0x0000a401, 0x05001014, 0x00006380,
- 0x46000000, 0x00008981, 0x0a33250b, 0x0000f404, 0x2a3c5f8a, 0x0000801c,
- 0x01809c00, 0x00001980, 0x00000406, 0x00009583, 0x81ff1fe3, 0x00001908,
- 0x8a006a07, 0x0000a088, 0x00000a3c, 0x00007010, 0xffffffff, 0x00007f97,
- 0x01c03c0d, 0x00001281, 0x03401407, 0x00001181, 0x00000c0d, 0x00009583,
- 0x00000a41, 0x0000f01b, 0x0e568800, 0x00007900, 0x0038b0b2, 0x00008980,
- 0x0a412158, 0x00007500, 0x01fc578b, 0x00008320, 0x01a03406, 0x00009900,
- 0x303844a9, 0x0000a080, 0x300052a9, 0x0000f902, 0x02400000, 0x00000000,
- 0x30383ea9, 0x0000a000, 0x304030a9, 0x0000f902, 0x01400000, 0x00000000,
+ 0x041c2004, 0x0000e187, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
+ 0x05800000, 0x000081dc, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec,
+ 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
+ 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
+ 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
+ 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
+ 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4,
+ 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc,
+ 0x29000000, 0x00008ad4, 0x29800000, 0x00008adc, 0x253c4f88, 0x00000914,
+ 0x25fc578b, 0x00000918, 0x83803c89, 0x0000c389, 0x00003c89, 0x00000098,
+ 0x72402489, 0x0000c489, 0x1a003489, 0x00008388, 0x00c01c89, 0x00004788,
+ 0x13a05489, 0x0000108e, 0x78c05489, 0x00004299, 0x20004c89, 0x00008388,
+ 0x23805c89, 0x00004588, 0x10208489, 0x0000138b, 0x0add0a9c, 0x00007100,
+ 0x12000000, 0x000004f8, 0x83771ee3, 0x0000e100, 0x0d000000, 0x0000c980,
+ 0x0d800000, 0x0000f900, 0x000c0000, 0x00008980, 0x2a409800, 0x00007900,
+ 0x00003600, 0x00008980, 0xab7a460d, 0x00007902, 0x93980400, 0x00008004,
+ 0x0d400000, 0x000083dc, 0x0e400000, 0x000003e8, 0x0ec00000, 0x000083f0,
+ 0x0f400000, 0x000003f8, 0x0fc00000, 0x000084c0, 0x10400000, 0x000004c8,
+ 0x10c00000, 0x000084d0, 0x11400000, 0x000004d8, 0x11c00000, 0x000084e4,
+ 0x12800000, 0x000084ec, 0x13000000, 0x000084f4, 0x13d72ae5, 0x00006100,
+ 0x0e000004, 0x00004980, 0x02fc6f8c, 0x00000028, 0x027c7f8e, 0x00000020,
+ 0x0af8266c, 0x0000f404, 0x01bc8f90, 0x00008014, 0x2abc578b, 0x00000a2c,
+ 0x83400aac, 0x0000e080, 0x83003aac, 0x00000080, 0x307d340d, 0x0000b038,
+ 0x303cc2ac, 0x00003038, 0x303ce20d, 0x00003038, 0x303cf40d, 0x0000b038,
+ 0x01000ca6, 0x00001283, 0x303d060d, 0x0000b038, 0x307d100d, 0x0000b038,
+ 0x307d220d, 0x00003038, 0x303b420c, 0x00003038, 0x303b540c, 0x0000b038,
+ 0x303b660c, 0x00003038, 0x307b700c, 0x00003038, 0x307b820c, 0x0000b038,
+ 0x307b940c, 0x00003038, 0x307ba60c, 0x0000b038, 0x30bbb00c, 0x00003038,
+ 0x30bbc20c, 0x00003038, 0x30bbd40c, 0x0000b038, 0x30bbe60c, 0x00003038,
+ 0x30fbf00c, 0x00003038, 0x30fc020c, 0x00003038, 0x30fc140c, 0x0000b038,
+ 0x30fc260c, 0x00003038, 0x313c300c, 0x00003038, 0x313c420c, 0x00003038,
+ 0x313c540c, 0x0000b038, 0x313c660c, 0x00003038, 0x00000b30, 0x00007408,
+ 0x317c700c, 0x00003038, 0xcddcc398, 0x00006100, 0x0000006b, 0x00006411,
+ 0x0fc02c0c, 0x0000e000, 0x00000088, 0x00003600, 0x00000c0c, 0x0000e583,
+ 0x3000006b, 0x0000a403, 0x23500000, 0x00007900, 0x00003200, 0x00000980,
+ 0x0400286b, 0x0000e001, 0x03c02888, 0x0000b001, 0xddc00000, 0x00006180,
+ 0x40c3586b, 0x00006001, 0x9dc83206, 0x0000871a, 0x20b85f08, 0x0000072c,
+ 0x1ff84f0a, 0x00008804, 0xde982800, 0x0000e180, 0x203fe01f, 0x0000c980,
+ 0x227c0249, 0x0000e180, 0x229f4000, 0x0000c980, 0x22c00000, 0x00006180,
+ 0x1e001206, 0x0000c880, 0x1e7fe01f, 0x0000e180, 0x0dc04037, 0x00004388,
+ 0x23703606, 0x00006101, 0x25408800, 0x00004989, 0x40000587, 0x00006583,
+ 0x03400000, 0x00008981, 0x03400800, 0x00006191, 0x83000000, 0x0000c980,
+ 0x05010000, 0x00007900, 0x00080822, 0x00008980, 0x0000040d, 0x0000e583,
+ 0x05c00000, 0x00008980, 0x01000800, 0x00006191, 0x01001000, 0x00004989,
+ 0x8101066b, 0x00006283, 0x0683f07e, 0x00008900, 0x0803e07c, 0x00006100,
+ 0x61a02014, 0x0000e002, 0x01000800, 0x00006191, 0x01001000, 0x00004989,
+ 0x0000040d, 0x0000e583, 0x0740087c, 0x00000180, 0x05408000, 0x0000f900,
+ 0x00200100, 0x00008980, 0x05801000, 0x0000f900, 0x00005504, 0x00000980,
+ 0x8c800000, 0x00006180, 0x65a02014, 0x0000e003, 0x8000280c, 0x0000f902,
+ 0x01000000, 0x00000604, 0x00000b56, 0x00007410, 0x07c3e87d, 0x00006100,
+ 0x0843d880, 0x00004000, 0x03401800, 0x00009991, 0x0003e07e, 0x00009502,
+ 0x03401000, 0x00001989, 0x00000b56, 0x00007009, 0x0003e07d, 0x00009502,
+ 0x03400000, 0x00009989, 0x00000b56, 0x00007009, 0x003bd487, 0x00001503,
+ 0x03400800, 0x000019a1, 0x0c7c0031, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x00000c0d, 0x00006583, 0x03008269, 0x00000880, 0x83401ee3, 0x00006080,
+ 0x0bc06368, 0x0000c300, 0x0c77f831, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x83371a0d, 0x0000e100, 0x04035831, 0x00002000, 0xb3b8340c, 0x0000a084,
+ 0x0a841805, 0x0000e100, 0x12c35831, 0x0000a000, 0xb3b82c0c, 0x00002004,
+ 0x08800000, 0x00006180, 0x24435831, 0x0000e000, 0x08800800, 0x00006188,
+ 0x33c35831, 0x00006000, 0x01000ca6, 0x0000e283, 0xe0000816, 0x00002402,
+ 0x0c000000, 0x00006180, 0x61abb831, 0x0000e000, 0x52303606, 0x0000e101,
+ 0x51053037, 0x00006000, 0x14602848, 0x0000e001, 0x90000816, 0x00003401,
+ 0x06c00000, 0x00006180, 0x0a03d87b, 0x0000c900, 0x0a4b4782, 0x0000823a,
+ 0x00000b8f, 0x0000f408, 0x8b6bb16b, 0x00008304, 0x0c1bb88d, 0x00008302,
+ 0x82c03aec, 0x0000f902, 0x01000000, 0x00000604, 0x81ff2aec, 0x00002e84,
+ 0x03408375, 0x00006080, 0xc0000816, 0x00006402, 0x01006a76, 0x00006300,
+ 0x40002816, 0x0000a407, 0x81f83cec, 0x0000d604, 0x00382000, 0x00000000,
+ 0x81fb84ec, 0x0000d604, 0x003b6000, 0x00008000, 0x81f826ec, 0x00002684,
+ 0x46002000, 0x0000e181, 0x05001014, 0x0000c380, 0xffffffff, 0x00007f97,
+ 0x1f402007, 0x00006000, 0x1f802007, 0x00000000, 0x1f002007, 0x0000e000,
+ 0x07c02007, 0x00008000, 0x06802007, 0x0000e000, 0x08002007, 0x00008000,
+ 0x01010437, 0x00006283, 0x0dc08037, 0x00000380, 0x128538a7, 0x0000e110,
+ 0x123837a6, 0x0000c011, 0x00000c1c, 0x0000f200, 0x08c00c23, 0x00006081,
+ 0xa0000816, 0x0000a401, 0x05001014, 0x00006380, 0x46000000, 0x00008981,
+ 0x0b97266c, 0x00007404, 0x2afc5f8a, 0x00000a28, 0x2a409e00, 0x00009980,
+ 0x00000407, 0x0000e583, 0x82d562ac, 0x00000900, 0x833f1fe3, 0x00009908,
+ 0x8a006a0c, 0x00002088, 0x00000ba1, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x03003c0d, 0x00009281, 0x0340140c, 0x00009181, 0x00000c0d, 0x00009583,
+ 0x00000ba6, 0x0000701b, 0x14587000, 0x0000f900, 0x0038b0b2, 0x00008980,
+ 0x0ba622b9, 0x0000f500, 0x143c5f8a, 0x00008324, 0x0e203c07, 0x00001900,
+ 0x3038440b, 0x00002080, 0x3000520b, 0x00007902, 0x02400000, 0x00000000,
+ 0x30383e0b, 0x00002000, 0x3040300b, 0x00007902, 0x01400000, 0x00000000,
0x01000c08, 0x00006283, 0x20804437, 0x00002000, 0x03402000, 0x00006191,
0x03400000, 0x0000c989, 0x01002437, 0x00006283, 0x2600500a, 0x00008900,
- 0x26783f09, 0x00000320, 0xcdb9b40d, 0x00009001, 0x00000a52, 0x0000f008,
- 0x80000636, 0x00009583, 0x8d802636, 0x00001091, 0x0dfff037, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x01001408, 0x00006283, 0x0dc20037, 0x00000380,
- 0x03402000, 0x00006191, 0x07404437, 0x0000e000, 0x03400000, 0x0000e189,
- 0x0e414028, 0x0000c900, 0x01000c37, 0x00009283, 0x12c03806, 0x0000e410,
- 0x4de06c0d, 0x00004901, 0x00000ab3, 0x0000f400, 0x01008437, 0x00009283,
- 0x12802805, 0x00009908, 0x80002832, 0x00007902, 0x01000000, 0x00000604,
- 0x01000c31, 0x00006283, 0xa8126a4d, 0x00008900, 0x01c00000, 0x00006188,
- 0xe81a6b4d, 0x0000c900, 0x1a390728, 0x00000624, 0x01c0f005, 0x00006010,
- 0x1a80f81f, 0x00000900, 0x01000c31, 0x00006283, 0x1ac0d01a, 0x00008900,
- 0x1c803807, 0x0000e100, 0x1b414021, 0x0000c100, 0x01c14829, 0x0000e110,
- 0x01c00000, 0x00004988, 0x01000c31, 0x00009283, 0x1cc03807, 0x00006100,
- 0x01c1502a, 0x0000c910, 0x01c00000, 0x00001988, 0x00000ab3, 0x0000f400,
- 0xffffffff, 0x00007f86, 0x1d003807, 0x00009900, 0xe0001015, 0x00006403,
- 0x00001016, 0x00003402, 0x00000a8d, 0x00007400, 0xa8126a4d, 0x00006100,
- 0xa0000814, 0x0000e402, 0xe81a6b4d, 0x00009900, 0x80000630, 0x00006583,
- 0x03401431, 0x00008481, 0x80000630, 0x00006583, 0x27000000, 0x00000981,
- 0xe0001015, 0x00006403, 0x00001016, 0x00003402, 0xa8126a4d, 0x00006100,
- 0x71a06831, 0x00006000, 0x00000a8d, 0x0000f210, 0x27000800, 0x0000e191,
- 0xe81a6b4d, 0x0000c900, 0x80000636, 0x00009583, 0x00000034, 0x00001582,
- 0xffffffff, 0x00007f86, 0x00000a8c, 0x0000f010, 0x00000a8d, 0x00007008,
- 0x27001800, 0x00009981, 0x00000ab3, 0x0000f200, 0x46006000, 0x00006181,
- 0x05001014, 0x0000c380, 0x0a910938, 0x00007100, 0x80000630, 0x00006583,
- 0x05001000, 0x00000980, 0x05600000, 0x00006180, 0x05800000, 0x0000c980,
- 0x05e04000, 0x000081e2, 0x00000aa2, 0x0000f008, 0x0a991982, 0x00007300,
- 0x27000800, 0x00001981, 0x01400000, 0x00001980, 0x002a4005, 0x00006886,
- 0xc1f014ec, 0x00002882, 0xc1f82aec, 0x0000a880, 0x0aa23f46, 0x0000f500,
- 0xc1c004ec, 0x0000d000, 0x00400140, 0x00000080, 0xc1c002ec, 0x0000d000,
- 0x00400000, 0x00000080, 0x00000ab3, 0x0000f200, 0x0b02469c, 0x00006806,
- 0x00000ab3, 0x0000f200, 0x2744508a, 0x00006100, 0x0dc04037, 0x0000c380,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x042f5000, 0x0000f900,
- 0x0038b0ae, 0x00000980, 0x04579800, 0x00007900, 0x001cdbc6, 0x00000980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x0ab320b1, 0x0000f500, 0x04bc4f88, 0x0000803c, 0x81c02800, 0x00001980,
- 0x03c00000, 0x00006180, 0x02000804, 0x0000c980, 0x001010ec, 0x0000d780,
- 0x00004800, 0x00008080, 0x02400000, 0x00006180, 0x0000180f, 0x0000e106,
+ 0x26783f09, 0x00000320, 0xcdb9b40d, 0x00009001, 0x00000bb7, 0x0000f008,
+ 0x80000636, 0x00009583, 0x8d802636, 0x00001091, 0x01001408, 0x00006283,
+ 0x0e414028, 0x00000900, 0x0dfff037, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x03402000, 0x00006191, 0x03400000, 0x0000c989, 0x0dc20037, 0x00009380,
+ 0x4de06c0d, 0x00001901, 0x07404037, 0x0000e800, 0x01000c37, 0x00009283,
+ 0x12c03806, 0x0000e410, 0x16c04437, 0x0000e010, 0x00000c1c, 0x00007401,
+ 0x01008437, 0x00009283, 0x12802805, 0x00009908, 0x80002832, 0x00007902,
+ 0x01000000, 0x00000604, 0x01000c31, 0x00006283, 0xe7926a4d, 0x00008900,
+ 0x03000000, 0x0000e188, 0xa7da6b4d, 0x00004900, 0x1a390728, 0x00000624,
+ 0x0300f005, 0x0000e010, 0x1a80f81f, 0x00000900, 0x01000c31, 0x00006283,
+ 0x1ac0d01a, 0x00008900, 0x1c80600c, 0x0000e100, 0x1b414021, 0x0000c100,
+ 0x03014829, 0x00006110, 0x03000000, 0x0000c988, 0x01000c31, 0x00009283,
+ 0x1cc0600c, 0x00006100, 0x0301502a, 0x00004910, 0x03000000, 0x00009988,
+ 0x00000c1c, 0x0000f400, 0xffffffff, 0x00007f86, 0x1d00600c, 0x00009900,
+ 0xe0001015, 0x00006403, 0x00001016, 0x00003402, 0x00000bf3, 0x0000f400,
+ 0xe7926a4d, 0x00006100, 0xa0000814, 0x0000e402, 0xa7da6b4d, 0x00001900,
+ 0x80000630, 0x00006583, 0x03401431, 0x00008481, 0x80000630, 0x00006583,
+ 0x27000000, 0x00000981, 0xe0001015, 0x00006403, 0x00001016, 0x00003402,
+ 0xe7926a4d, 0x00006100, 0x71a06831, 0x00006000, 0x00000bf3, 0x00007210,
+ 0x27000800, 0x0000e191, 0xa7da6b4d, 0x00004900, 0x80000636, 0x00009583,
+ 0x00000034, 0x00001582, 0xffffffff, 0x00007f86, 0x00000bf2, 0x00007010,
+ 0x00000bf3, 0x0000f008, 0x27001800, 0x00009981, 0x00000c1c, 0x0000f200,
+ 0x46006000, 0x00006181, 0x05001014, 0x0000c380, 0x0bf70a9c, 0x00007100,
+ 0x80000630, 0x00006583, 0x05001000, 0x00000980, 0x05600000, 0x00006180,
+ 0x05800000, 0x0000c980, 0x05e04000, 0x000081e2, 0x00000c08, 0x0000f008,
+ 0x0bff1aec, 0x00007300, 0x27000800, 0x00001981, 0x01400000, 0x00001980,
+ 0x002a4005, 0x00006886, 0xc1f014ec, 0x00002882, 0xc1f82aec, 0x0000a880,
+ 0x0c08426e, 0x0000f500, 0xc1c004ec, 0x0000d000, 0x00400140, 0x00000080,
+ 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080, 0x00000c1c, 0x0000f400,
+ 0xc101874c, 0x0000e283, 0x0b02469c, 0x00002006, 0xa7927a4f, 0x00006110,
+ 0xa7c00800, 0x00004991, 0x00000c1c, 0x0000f200, 0x2744508a, 0x00006100,
+ 0x0dc04037, 0x0000c380, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x04306000, 0x00007900, 0x0038b0ae, 0x00000980, 0x04579800, 0x00007900,
+ 0x001cdbc6, 0x00000980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x82f81400, 0x0000803c, 0x0c1c2213, 0x0000f500, 0x04bc4f88, 0x0000001c,
+ 0x81402800, 0x00009980, 0x03c00000, 0x00006180, 0x02000804, 0x0000c980,
+ 0x001010ec, 0x0000d780, 0x00004800, 0x00008080, 0x02400000, 0x00006180,
+ 0x0000180f, 0x0000e106, 0x03009000, 0x0000f900, 0x00041100, 0x00000980,
+ 0x03400000, 0x00007900, 0x00018008, 0x00000980, 0x0010d0ec, 0x0000d780,
+ 0x00884942, 0x000082c8, 0x02800000, 0x00006180, 0xc000180f, 0x00006006,
+ 0x0c2f0a8b, 0x00007500, 0x02c3c100, 0x00006180, 0x83901202, 0x0000c900,
+ 0x01502041, 0x00006180, 0xc3981302, 0x00004900, 0x000800ec, 0x00005780,
+ 0x00004000, 0x00000080, 0x00802eec, 0x0000df80, 0x00804281, 0x00008584,
+ 0x03c00000, 0x00006180, 0x10002814, 0x0000e404, 0x26000000, 0x0000e180,
+ 0x0000180f, 0x0000e106, 0x29800000, 0x00006180, 0x60015015, 0x0000e482,
0x03009000, 0x0000f900, 0x00041100, 0x00000980, 0x03400000, 0x00007900,
- 0x00018008, 0x00000980, 0x0010d0ec, 0x0000d780, 0x00884942, 0x000082c8,
- 0x02800000, 0x00006180, 0xc000180f, 0x00006006, 0x0ac60927, 0x0000f500,
- 0x02c3c100, 0x00006180, 0x83901202, 0x0000c900, 0x01502041, 0x00006180,
- 0xc3981302, 0x00004900, 0x000800ec, 0x00005780, 0x00004000, 0x00000080,
- 0x00802eec, 0x0000df80, 0x00804281, 0x00008584, 0x03c00000, 0x00006180,
- 0x10002814, 0x0000e404, 0x26000000, 0x0000e180, 0x0000180f, 0x0000e106,
- 0x29800000, 0x00006180, 0x60015015, 0x0000e482, 0x03009000, 0x0000f900,
- 0x00041100, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
- 0xc000180f, 0x00006006, 0x0001f814, 0x00003483, 0x46000000, 0x00006181,
- 0x0701b8a6, 0x00006000, 0x03a81402, 0x00008038, 0x1a000000, 0x000086e4,
- 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
- 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
- 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
- 0x23800000, 0x000088fc, 0x2540000d, 0x000089d8, 0x25c00000, 0x000089e4,
- 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc,
- 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc, 0x29000000, 0x00008ad4,
- 0x0afa0927, 0x0000f500, 0x29c00000, 0x0000e180, 0x25001002, 0x00004900,
- 0xe619bb37, 0x00006100, 0x01402040, 0x00004980, 0xffc00000, 0x00001980,
- 0x000800ec, 0x00005780, 0x00804140, 0x00000280, 0x000818ec, 0x00005780,
- 0x00004800, 0x00008080, 0x0090d6ec, 0x0000df80, 0x00884942, 0x000002cc,
- 0x2c0c06e3, 0x00001680, 0x03c588b0, 0x00001000, 0x03c0300f, 0x0000e784,
- 0x8f18fb1f, 0x00008900, 0x0000fc10, 0x00006583, 0x83c00a0f, 0x00000080,
- 0xc540720f, 0x0000f902, 0x03400000, 0x00000004, 0x012087e4, 0x00006030,
- 0x01010410, 0x0000c198, 0xffffffff, 0x00007f86, 0x0e000004, 0x0000e3b0,
- 0x010027e4, 0x00000818, 0x0e400004, 0x00006398, 0x03406804, 0x00008318,
- 0x03807004, 0x00001330, 0x00000001, 0x00007480, 0xc5786a0f, 0x0000a804,
- 0xc578720f, 0x00002884, 0x1100000e, 0x000004d4, 0x11c00000, 0x000004e0,
- 0x12400000, 0x000004e8, 0x12c00000, 0x00001980, 0x6d409a08, 0x0000c389,
- 0x00009a08, 0x000000b0, 0x68e0b208, 0x00004489, 0xb000ba08, 0x0000028e,
- 0x0080aa08, 0x00004790, 0x03c04208, 0x000080aa, 0xda804a08, 0x000078b2,
- 0xe0400000, 0x0000858a, 0xd0001045, 0x00006c04, 0x6b409a08, 0x0000c389,
- 0x00009a08, 0x000000b0, 0x6920b208, 0x0000c489, 0xb400ba08, 0x0000828e,
- 0x0080aa08, 0x0000c791, 0x03404208, 0x000000aa, 0x6b404a08, 0x0000c9b1,
- 0xc8005208, 0x0000028e, 0x00001847, 0x0000e106, 0xc0000845, 0x00003401,
- 0x91901202, 0x0000e100, 0xc0001847, 0x00006006, 0xd1981302, 0x00001900,
- 0xffffffff, 0x00007f97, 0x6c209a08, 0x00004389, 0x00009a08, 0x00000098,
- 0x66e04208, 0x000044a9, 0xc2004a08, 0x000082b6, 0x00805208, 0x00004791,
- 0x01a0aa08, 0x0000028f, 0x66e0aa08, 0x0000c9a9, 0xd800ba08, 0x000002b6,
- 0x92704608, 0x00001901, 0x80009a08, 0x00009582, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x00000b40, 0x00007008, 0x80009a08, 0x00009582,
- 0x92c01800, 0x00006199, 0x90000849, 0x00006419, 0x00000b52, 0x00007031,
- 0x84024844, 0x0000e000, 0x0000304a, 0x00003206, 0x00000001, 0x00007480,
- 0x0000384b, 0x00006106, 0x94024844, 0x00003000, 0xc000384b, 0x0000e006,
- 0x4000304a, 0x00003107, 0xd1004000, 0x00006181, 0xd0001045, 0x0000e404,
- 0x91405000, 0x0000e181, 0x00001847, 0x0000e106, 0xc0001847, 0x00006006,
- 0xc0000845, 0x00003401, 0x11a01502, 0x00008418, 0x00001849, 0x0000ec06,
- 0x00000b37, 0x00007400, 0x80001049, 0x00006c80, 0x80000849, 0x00006c01,
- 0x81004208, 0x00001180, 0x80001204, 0x00009582, 0x92c01800, 0x00006199,
- 0x90000849, 0x00006419, 0x00000b40, 0x00007031, 0x00000b40, 0x0000f000,
- 0x00000b20, 0x00007200, 0xd1004000, 0x00001981, 0x00000b29, 0x00007200,
- 0x91401000, 0x00001981, 0x80005208, 0x00001582, 0xd1002800, 0x00006189,
- 0xd0001045, 0x0000640c, 0x00000b20, 0x0000f011, 0x00000b49, 0x0000f000,
- 0x00000b37, 0x00007400, 0x00121849, 0x0000ed80, 0x80000849, 0x00006c01,
- 0x91405000, 0x0000e181, 0x00001847, 0x0000e106, 0x00000b4e, 0x0000f400,
+ 0x00018008, 0x00000980, 0xc000180f, 0x00006006, 0x0001f814, 0x00003483,
+ 0x46000000, 0x00006181, 0x0701b8a6, 0x00006000, 0x03a81402, 0x00008038,
+ 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4,
+ 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
+ 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
+ 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
+ 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
+ 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
+ 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x2540000d, 0x000089d8,
+ 0x25c00000, 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4,
+ 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc,
+ 0x29000000, 0x00008ad4, 0x0c630a8b, 0x0000f500, 0x29c00000, 0x0000e180,
+ 0x25001002, 0x00004900, 0xe619bb37, 0x00006100, 0x01402040, 0x00004980,
+ 0xffc00000, 0x00001980, 0x000800ec, 0x00005780, 0x00804140, 0x00000280,
+ 0x000818ec, 0x00005780, 0x00004800, 0x00008080, 0x0090d6ec, 0x0000df80,
+ 0x00884942, 0x000002cc, 0x2c0c06e3, 0x00001680, 0x03c588b0, 0x00001000,
+ 0x03c0300f, 0x0000e784, 0x8f18fb1f, 0x00008900, 0x0000fc10, 0x00006583,
+ 0x83c00a0f, 0x00000080, 0xc540720f, 0x0000f902, 0x03400000, 0x00000004,
+ 0x012087e4, 0x00006030, 0x01010410, 0x0000c198, 0xffffffff, 0x00007f86,
+ 0x0e000004, 0x0000e3b0, 0x010027e4, 0x00000818, 0x0e400004, 0x00006398,
+ 0x03406804, 0x00008318, 0x03807004, 0x00001330, 0x00000001, 0x00007480,
+ 0xc5786a0f, 0x0000a804, 0xc578720f, 0x00002884, 0x1100000e, 0x000004d4,
+ 0x11c00000, 0x000004e0, 0x12400000, 0x000004e8, 0x12c00000, 0x00001980,
+ 0x9a609a05, 0x00004389, 0x00009a05, 0x000080b0, 0x9600b205, 0x0000c489,
+ 0x8200ba05, 0x00000389, 0x0080aa05, 0x0000c790, 0x03c04205, 0x000000aa,
+ 0x34c04a05, 0x0000f8b3, 0x28400000, 0x00000686, 0xd0001045, 0x00006c04,
+ 0x98609a05, 0x0000c389, 0x00009a05, 0x000080b0, 0x9640b205, 0x00004489,
+ 0x8600ba05, 0x00008389, 0x0080aa05, 0x00004791, 0x03404205, 0x000080aa,
+ 0x98604a05, 0x0000c9b1, 0x9a005205, 0x00000389, 0x00001847, 0x0000e106,
+ 0xc0000845, 0x00003401, 0x91901202, 0x0000e100, 0xc0001847, 0x00006006,
+ 0xd1981302, 0x00001900, 0xffffffff, 0x00007f97, 0x99409a05, 0x0000c389,
+ 0x00009a05, 0x00008098, 0x94004205, 0x0000c4a9, 0x94004a05, 0x000003b1,
+ 0x00805205, 0x0000c791, 0x01a0aa05, 0x0000828f, 0x9400aa05, 0x000049a9,
+ 0xaa00ba05, 0x000083b1, 0x92702e05, 0x00001901, 0x80009a05, 0x00001582,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00000ca9, 0x00007008,
+ 0x80009a05, 0x00001582, 0x92c01800, 0x00006199, 0x90000849, 0x00006419,
+ 0x00000cbb, 0x00007031, 0x84024844, 0x0000e000, 0x0000304a, 0x00003206,
+ 0x00000001, 0x00007480, 0x0000384b, 0x00006106, 0x94024844, 0x00003000,
+ 0xc000384b, 0x0000e006, 0x4000304a, 0x00003107, 0xd1004000, 0x00006181,
+ 0xd0001045, 0x0000e404, 0x91405000, 0x0000e181, 0x00001847, 0x0000e106,
0xc0001847, 0x00006006, 0xc0000845, 0x00003401, 0x11a01502, 0x00008418,
- 0x00000b20, 0x00007200, 0xd1002800, 0x00009981, 0x00001849, 0x0000ec06,
- 0x00000b37, 0x00007400, 0x80001049, 0x00006c80, 0x80000849, 0x00006c01,
- 0x00003c24, 0x00001583, 0x02000000, 0x00009991, 0x00000b77, 0x00007011,
- 0x08003008, 0x00006a06, 0xc0104316, 0x00006502, 0x02000000, 0x00008981,
- 0x02000800, 0x00001991, 0x41006515, 0x00001283, 0x41018515, 0x0000e283,
- 0x0000185c, 0x0000a413, 0xffffffff, 0x00007f86, 0x00000404, 0x0000e583,
- 0x2000185c, 0x00002413, 0x02005140, 0x00001990, 0x4000105c, 0x0000ec02,
- 0x00000b85, 0x00007008, 0x0b810b14, 0x00007100, 0xffc00000, 0x00001980,
- 0xffffffff, 0x00007f86, 0x00908eec, 0x00005f80, 0x008045c0, 0x000001c4,
- 0x00018410, 0x00001583, 0x0b8b0b14, 0x0000f500, 0x00000408, 0x0000e583,
- 0xa000105c, 0x0000a412, 0x02004040, 0x00006188, 0x02004940, 0x00004990,
- 0x00000001, 0x00007280, 0x001088ec, 0x00005780, 0x008045c0, 0x000081c0,
- 0x4000105c, 0x00006402, 0xa000105d, 0x00003402, 0x0247f804, 0x00001280,
- 0x80804809, 0x00004389, 0x00004809, 0x000080d0, 0x06e05809, 0x00004589,
- 0x05807809, 0x00000092, 0x01001809, 0x0000f88b, 0x60400000, 0x0000058f,
- 0x0bc00000, 0x0000e180, 0x08003005, 0x00006206, 0x01400005, 0x0000f900,
- 0x00000100, 0x00000380, 0x0c800000, 0x0000e180, 0x0000182f, 0x00006106,
- 0x0cc00002, 0x0000e180, 0x00002832, 0x00006206, 0x0b18b000, 0x0000f900,
- 0x00019a40, 0x00008980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0xc000182f, 0x0000e006,
- 0x40003032, 0x00003107, 0x0c000000, 0x00006180, 0x00003833, 0x00006106,
- 0x0ba81402, 0x00008238, 0x01400000, 0x00009981, 0x0d400000, 0x000083dc,
- 0x00202035, 0x00006006, 0x0e835637, 0x00003002, 0x0d000000, 0x000083d8,
- 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4,
- 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4, 0x10800000, 0x000084cc,
- 0x4d792724, 0x00009901, 0x0bc01c04, 0x0000f88b, 0x00400001, 0x00000000,
- 0x77c04809, 0x00004389, 0x00004809, 0x000080d0, 0x0d605809, 0x0000c588,
- 0x03e07809, 0x00000092, 0xfe001809, 0x00007892, 0xd8400000, 0x00000680,
- 0x0bc00b14, 0x0000f300, 0x0200a840, 0x00009980, 0x0018d0ec, 0x00005780,
- 0x00004000, 0x00000080, 0x0a000a00, 0x00006180, 0x0a400000, 0x0000c980,
- 0x0ac80000, 0x000002e8, 0xffc00000, 0x00001980, 0x001088ec, 0x00005780,
- 0x008045c0, 0x000081c0, 0x009856ec, 0x0000df80, 0x00004801, 0x00008084,
- 0x0bc00000, 0x0000e180, 0x08003008, 0x0000e206, 0x02000008, 0x0000f900,
- 0x00000100, 0x00000380, 0x0c800000, 0x000083d4, 0x0000182f, 0x00006106,
- 0x00004032, 0x0000b206, 0x0cc00002, 0x0000e180, 0x00202035, 0x00006006,
- 0x0dc00000, 0x0000e180, 0x0e40ac05, 0x00006000, 0xc000182f, 0x0000e006,
- 0xa000085c, 0x0000b402, 0x0b18b000, 0x0000f900, 0x00019a40, 0x00008980,
- 0x0b400000, 0x0000f900, 0x00018008, 0x00000980, 0x0c401000, 0x0000f900,
- 0x0001c000, 0x00000980, 0x40003032, 0x00006107, 0x00003833, 0x00003106,
- 0x0c000000, 0x00006180, 0x0e835637, 0x00006002, 0x0ba81402, 0x00008238,
- 0x0d000000, 0x000083d8, 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec,
- 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4,
- 0x10800000, 0x000084cc, 0x4d792724, 0x00009901, 0xee001c04, 0x0000f892,
- 0x78400000, 0x00008681, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0415e800, 0x0000f900, 0x0015fc90, 0x00000980, 0x04588000, 0x00007900,
- 0x002e4088, 0x00000980, 0x04800000, 0x000000fc, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x0bf820b1, 0x00007500, 0x82f81400, 0x00008030,
- 0x81c01000, 0x00009980, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x041ce000, 0x00007900, 0x0015fc90, 0x00000980, 0x04588000, 0x00007900,
- 0x002e4088, 0x00000980, 0x04800000, 0x000000fc, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x0c0420b1, 0x0000f500, 0x82f81400, 0x00008030,
- 0x81c01000, 0x00009980, 0x0bc00000, 0x0000e180, 0x08003005, 0x00006206,
+ 0x00001849, 0x0000ec06, 0x00000ca0, 0x00007400, 0x80001049, 0x00006c80,
+ 0x80000849, 0x00006c01, 0x81004205, 0x00009180, 0x80001204, 0x00009582,
+ 0x92c01800, 0x00006199, 0x90000849, 0x00006419, 0x00000ca9, 0x00007031,
+ 0x00000ca9, 0x0000f000, 0x00000c89, 0x0000f200, 0xd1004000, 0x00001981,
+ 0x00000c92, 0x0000f200, 0x91401000, 0x00001981, 0x80005205, 0x00009582,
+ 0xd1002800, 0x00006189, 0xd0001045, 0x0000640c, 0x00000c89, 0x00007011,
+ 0x00000cb2, 0x0000f000, 0x00000ca0, 0x00007400, 0x00121849, 0x0000ed80,
+ 0x80000849, 0x00006c01, 0x91405000, 0x0000e181, 0x00001847, 0x0000e106,
+ 0x00000cb7, 0x00007400, 0xc0001847, 0x00006006, 0xc0000845, 0x00003401,
+ 0x11a01502, 0x00008418, 0x00000c89, 0x0000f200, 0xd1002800, 0x00009981,
+ 0x00001849, 0x0000ec06, 0x00000ca0, 0x00007400, 0x80001049, 0x00006c80,
+ 0x80000849, 0x00006c01, 0x00003c24, 0x00001583, 0x01400000, 0x00001991,
+ 0x00000ce0, 0x00007011, 0x08003005, 0x0000ea06, 0xc0102b16, 0x0000e502,
+ 0x01400000, 0x00000981, 0x01400800, 0x00009991, 0x41006515, 0x00001283,
+ 0x41018515, 0x0000e283, 0x0000185c, 0x0000a413, 0xffffffff, 0x00007f86,
+ 0x00000404, 0x0000e583, 0x2000185c, 0x00002413, 0x01405140, 0x00009990,
+ 0x4000105c, 0x0000ec02, 0x00000cee, 0x00007008, 0x0cea0c7d, 0x0000f100,
+ 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x00908eec, 0x00005f80,
+ 0x008045c0, 0x000001c4, 0x00018410, 0x00001583, 0x0cf40c7d, 0x00007500,
+ 0x00000405, 0x00006583, 0xa000105c, 0x0000a412, 0x01404040, 0x0000e188,
+ 0x01404940, 0x0000c990, 0x00000001, 0x00007280, 0x001088ec, 0x00005780,
+ 0x008045c0, 0x000081c0, 0x4000105c, 0x00006402, 0xa000105d, 0x00003402,
+ 0x0247f804, 0x00001280, 0xada04809, 0x0000c389, 0x00004809, 0x000080d0,
+ 0x06e05809, 0x00004589, 0x05807809, 0x00000092, 0x5b401809, 0x0000788b,
+ 0xa8400000, 0x0000868a, 0x0bc00000, 0x0000e180, 0x08003005, 0x00006206,
0x01400005, 0x0000f900, 0x00000100, 0x00000380, 0x0c800000, 0x0000e180,
0x0000182f, 0x00006106, 0x0cc00002, 0x0000e180, 0x00002832, 0x00006206,
- 0xc000182f, 0x0000e006, 0x8000105c, 0x00003402, 0x0b18b000, 0x0000f900,
+ 0x0b18b000, 0x0000f900, 0x00019a40, 0x00008980, 0x0b400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980,
+ 0xc000182f, 0x0000e006, 0x40003032, 0x00003107, 0x0c000000, 0x00006180,
+ 0x00003833, 0x00006106, 0x0ba81402, 0x00008238, 0x01400000, 0x00009981,
+ 0x0d400000, 0x000083dc, 0x00202035, 0x00006006, 0x0e835637, 0x00003002,
+ 0x0d000000, 0x000083d8, 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec,
+ 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4,
+ 0x10800000, 0x000084cc, 0x4d792724, 0x00009901, 0x65c01c04, 0x0000788b,
+ 0x00400001, 0x00000000, 0xa4e04809, 0x00004389, 0x00004809, 0x000080d0,
+ 0x0d605809, 0x0000c588, 0x03e07809, 0x00000092, 0x58401809, 0x00007893,
+ 0x20400000, 0x0000868c, 0x0d290c7d, 0x0000f300, 0x0140a840, 0x00001980,
+ 0x0018d0ec, 0x00005780, 0x00004000, 0x00000080, 0x0a000a00, 0x00006180,
+ 0x0a400000, 0x0000c980, 0x0ac80000, 0x000002e8, 0xffc00000, 0x00001980,
+ 0x001088ec, 0x00005780, 0x008045c0, 0x000081c0, 0x009856ec, 0x0000df80,
+ 0x00004801, 0x00008084, 0x0bc00000, 0x0000e180, 0x08003008, 0x0000e206,
+ 0x02000008, 0x0000f900, 0x00000100, 0x00000380, 0x0c800000, 0x000083d4,
+ 0x0000182f, 0x00006106, 0x00004032, 0x0000b206, 0x0cc00002, 0x0000e180,
+ 0x00202035, 0x00006006, 0x0dc00000, 0x0000e180, 0x0e40ac05, 0x00006000,
+ 0xc000182f, 0x0000e006, 0xa000085c, 0x0000b402, 0x0b18b000, 0x0000f900,
0x00019a40, 0x00008980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0x40003032, 0x00006107,
- 0x00003833, 0x00003106, 0x00000bab, 0x00007400, 0x0c000000, 0x00006180,
- 0x8b901202, 0x00004900, 0x01400000, 0x0000e181, 0xcb981302, 0x0000c900,
- 0x0c1d0b14, 0x00007300, 0x02009840, 0x00009980, 0xffc00000, 0x00006180,
- 0x0a000a00, 0x00004980, 0x001088ec, 0x00005780, 0x008045c0, 0x000081c0,
- 0x0a480000, 0x000082e8, 0x0ac00000, 0x00001980, 0x009856ec, 0x0000df80,
- 0x00004801, 0x00008084, 0x0e3b4024, 0x00008324, 0x0c2a0b14, 0x0000f500,
- 0x8de02c05, 0x00006101, 0x0200b840, 0x00004980, 0x1a00d01a, 0x00001900,
- 0x0018d0ec, 0x00005780, 0x00004000, 0x00000080, 0x00000bc5, 0x0000f400,
+ 0x00003833, 0x00003106, 0x0c000000, 0x00006180, 0x0e835637, 0x00006002,
+ 0x0ba81402, 0x00008238, 0x0d000000, 0x000083d8, 0x0e000000, 0x000083e4,
+ 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc,
+ 0x10000000, 0x000084c4, 0x10800000, 0x000084cc, 0x4d792724, 0x00009901,
+ 0x48401c04, 0x0000f893, 0xb8400000, 0x0000068c, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0415e800, 0x0000f900, 0x0015fc90, 0x00000980,
+ 0x04588000, 0x00007900, 0x002e4088, 0x00000980, 0x04800000, 0x000080dc,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x0d612213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x81401000, 0x00001980, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x041ce000, 0x00007900, 0x0015fc90, 0x00000980,
+ 0x04588000, 0x00007900, 0x002e4088, 0x00000980, 0x04800000, 0x000080dc,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x0d6d2213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x81401000, 0x00001980, 0x0bc00000, 0x0000e180,
+ 0x08003005, 0x00006206, 0x01400005, 0x0000f900, 0x00000100, 0x00000380,
+ 0x0c800000, 0x0000e180, 0x0000182f, 0x00006106, 0x0cc00002, 0x0000e180,
+ 0x00002832, 0x00006206, 0xc000182f, 0x0000e006, 0x8000105c, 0x00003402,
+ 0x0b18b000, 0x0000f900, 0x00019a40, 0x00008980, 0x0b400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980,
+ 0x40003032, 0x00006107, 0x00003833, 0x00003106, 0x00000d14, 0x0000f400,
+ 0x0c000000, 0x00006180, 0x8b901202, 0x00004900, 0x01400000, 0x0000e181,
+ 0xcb981302, 0x0000c900, 0x0d860c7d, 0x0000f300, 0x01409840, 0x00001980,
+ 0xffc00000, 0x00006180, 0x0a000a00, 0x00004980, 0x001088ec, 0x00005780,
+ 0x008045c0, 0x000081c0, 0x0a480000, 0x000082e8, 0x0ac00000, 0x00001980,
+ 0x009856ec, 0x0000df80, 0x00004801, 0x00008084, 0x0e3b4024, 0x00008324,
+ 0x0d920c7d, 0x0000f500, 0x4df8d605, 0x00008620, 0x0140b840, 0x00009980,
+ 0x0018d0ec, 0x00005780, 0x00004000, 0x00000080, 0x00000d2e, 0x0000f400,
0x0a000001, 0x000002e4, 0x0ac80000, 0x000002e8, 0x0de90c21, 0x00000322,
- 0x00000bb8, 0x0000f400, 0x0fb8e720, 0x0000833c, 0x1000e81d, 0x00001900,
- 0x0fc00414, 0x00006004, 0x0a00243c, 0x0000b002, 0x23c80009, 0x00006180,
- 0x22d01202, 0x0000c900, 0x23060000, 0x00007900, 0x001f2252, 0x00008980,
- 0x0c3d20e8, 0x0000f500, 0x23630000, 0x00007900, 0x0015fc94, 0x00008980,
- 0xe3c1e614, 0x0000082b, 0x0f007400, 0x00001281, 0x0000143c, 0x00001583,
- 0x0a80243c, 0x0000e00a, 0x0a002414, 0x0000300a, 0x00000cd3, 0x00007011,
- 0x0021e414, 0x00009503, 0x01a00000, 0x00006188, 0x01400000, 0x0000c988,
- 0x01b71ee3, 0x0000e109, 0x0a002505, 0x0000e00a, 0x00000c54, 0x0000f010,
- 0x01c00020, 0x00006180, 0x0a002405, 0x0000e002, 0x04011800, 0x0000f900,
+ 0x00000d21, 0x0000f400, 0x0fb8e720, 0x0000833c, 0x1000e81d, 0x00001900,
+ 0x23c80009, 0x00006180, 0x0fc00404, 0x0000e004, 0x22d01202, 0x0000e100,
+ 0x0a00243c, 0x0000e002, 0x23060000, 0x00007900, 0x001f2252, 0x00008980,
+ 0x0da5224a, 0x0000f500, 0x23630000, 0x00007900, 0x0015fc94, 0x00008980,
+ 0xe2b0203c, 0x0000883f, 0x0f007400, 0x00001281, 0x0000143c, 0x00001583,
+ 0x0a002404, 0x0000680a, 0x0a80243c, 0x0000680a, 0x00000e3b, 0x00007010,
+ 0x0021e404, 0x00001503, 0x01e00000, 0x0000e188, 0x01800000, 0x0000c988,
+ 0x01f71ee3, 0x00006109, 0x0a002506, 0x0000e00a, 0x00000dbc, 0x00007010,
+ 0x01400020, 0x0000e180, 0x0a002406, 0x0000e002, 0x04011800, 0x0000f900,
0x00279fa0, 0x00008980, 0x046fb800, 0x00007900, 0x001ac1e6, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x82f81400, 0x00008030,
- 0x00000dcd, 0x00007400, 0x04b83702, 0x0000803c, 0x81c0a800, 0x00009980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x82f81400, 0x0000803c,
+ 0x00000f35, 0x00007400, 0x04b83702, 0x00000034, 0x8140a800, 0x00001980,
0xc1001f04, 0x0000e283, 0x08000000, 0x00000980, 0x08400000, 0x000082d8,
0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0,
0x0b400000, 0x000002f8, 0x0bc00000, 0x000001c0, 0x04400000, 0x000001c8,
- 0x04c00000, 0x000081d0, 0x00000c87, 0x0000f408, 0x05400000, 0x000001d8,
- 0x05c00000, 0x00006180, 0x1c400000, 0x0000c990, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0x1b86d800, 0x00007900, 0x0032a52e, 0x00000980,
- 0x1c000000, 0x00009980, 0xffffffff, 0x00007f86, 0x01002805, 0x00001900,
- 0x01000000, 0x0000e180, 0x01802004, 0x0000c900, 0x0c6f2178, 0x0000f500,
- 0x1bc03006, 0x0000e100, 0x00002004, 0x0000e586, 0x1b402004, 0x00001900,
- 0x0c7117b1, 0x0000f300, 0x0c003000, 0x000083c4, 0xc0c00400, 0x000002cc,
+ 0x04c00000, 0x000081d0, 0x00000def, 0x0000f408, 0x05400000, 0x000001d8,
+ 0x05c00000, 0x00006180, 0x1c000000, 0x00004990, 0x82c02cec, 0x00007902,
+ 0x01000000, 0x00000604, 0x1b46d800, 0x00007900, 0x0032a52e, 0x00000980,
+ 0x1bc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x01002805, 0x00001900,
+ 0x01000000, 0x0000e180, 0x01802004, 0x0000c900, 0x0dd722d9, 0x0000f500,
+ 0x1b803006, 0x00006100, 0x00002004, 0x0000e586, 0x1b002004, 0x00009900,
+ 0x0dd91898, 0x00007300, 0x0c003000, 0x000083c4, 0xc0c00400, 0x000002cc,
0x20001010, 0x0000e402, 0x00009020, 0x00003484, 0x00001823, 0x00006106,
0x01000021, 0x00003586, 0x09482000, 0x0000e180, 0x8000082c, 0x0000e402,
0x60001011, 0x0000e402, 0x00001010, 0x0000b403, 0x00501000, 0x00007900,
0x00044210, 0x00008980, 0x000800ec, 0x00005780, 0x00804100, 0x00008180,
0xc0001823, 0x0000e006, 0x00300021, 0x00003581, 0x09001702, 0x00008082,
- 0xc0001800, 0x0000e181, 0x88901202, 0x00004900, 0x00000cd1, 0x00007400,
+ 0xc0001800, 0x0000e181, 0x88901202, 0x00004900, 0x00000e39, 0x0000f400,
0xc8981302, 0x0000e100, 0xc8232800, 0x00004980, 0xc9586b0d, 0x00001900,
- 0xc0000f09, 0x00001583, 0x01a80000, 0x00006198, 0x01c00020, 0x00004998,
- 0x01b71ee3, 0x00006119, 0xc1b84f09, 0x00004919, 0x00000c98, 0x00007030,
+ 0xc0000f09, 0x00001583, 0x01a80000, 0x00006198, 0x01400020, 0x0000c998,
+ 0x01b71ee3, 0x00006119, 0xc1b84f09, 0x00004919, 0x00000e00, 0x00007030,
0x04011800, 0x0000f900, 0x00279fa0, 0x00008980, 0x046fb800, 0x00007900,
- 0x001ac1e6, 0x00000980, 0x01400000, 0x00006180, 0x08001a0b, 0x00006106,
- 0x81c0a800, 0x0000e180, 0xc2f00600, 0x0000c901, 0x00000dcd, 0x00007400,
- 0x82f81400, 0x00008030, 0x03f81706, 0x00008108, 0xc0000709, 0x00006583,
+ 0x001ac1e6, 0x00000980, 0x03400000, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x8140a800, 0x00006180, 0xc2f00600, 0x0000c901, 0x00000f35, 0x00007400,
+ 0x82f81400, 0x0000803c, 0x01f81706, 0x00000108, 0xc0000709, 0x00006583,
0x06004008, 0x00000900, 0x06785709, 0x00000128, 0x06f8670b, 0x00000130,
- 0x00000cab, 0x00007410, 0x0778770d, 0x00000138, 0x07c0780f, 0x00006100,
+ 0x00000e13, 0x0000f410, 0x0778770d, 0x00000138, 0x07c0780f, 0x00006100,
0xc6400800, 0x00004989, 0x20001010, 0x0000e402, 0x00000016, 0x00003784,
0x00501000, 0x00007900, 0x0004c250, 0x00008980, 0x40000811, 0x00006402,
0xe0001010, 0x0000b402, 0x80202802, 0x000080c3, 0x04d00013, 0x00006380,
0xc0c01000, 0x00000980, 0x008806ec, 0x00005f80, 0x00804100, 0x00000284,
- 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0x1b86d800, 0x00007900,
- 0x0032a52e, 0x00000980, 0x1c000000, 0x000087c4, 0xffffffff, 0x00007f86,
+ 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0x1b46d800, 0x00007900,
+ 0x0032a52e, 0x00000980, 0x1bc00000, 0x000087c0, 0xffffffff, 0x00007f86,
0x01002805, 0x00001900, 0x01000000, 0x0000e180, 0x01802004, 0x0000c900,
- 0x0cb82178, 0x0000f500, 0x1bc03006, 0x0000e100, 0x00002004, 0x0000e586,
- 0x1b402004, 0x00001900, 0x0cba17b1, 0x00007300, 0x0c003800, 0x000003c4,
+ 0x0e2022d9, 0x00007500, 0x1b803006, 0x00006100, 0x00002004, 0x0000e586,
+ 0x1b002004, 0x00009900, 0x0e221898, 0x0000f300, 0x0c003800, 0x000003c4,
0x8f000ee3, 0x00006080, 0xc0c01000, 0x0000c980, 0xbcf8283c, 0x00002004,
0x08c00000, 0x0000e180, 0x20001010, 0x0000e402, 0x00009020, 0x00006484,
0x01000021, 0x00003586, 0x09482800, 0x00006180, 0x00001823, 0x00006106,
@@ -5032,644 +5177,645 @@ ARRAY_DECL u32 init_val[] = {
0xc6400f19, 0x00006081, 0xc0001823, 0x00002006, 0x09001702, 0x00008082,
0xc0002800, 0x0000e181, 0x88901202, 0x00004900, 0xc8981302, 0x0000e100,
0xc8232800, 0x00004980, 0xc9582b05, 0x00001900, 0x008046ec, 0x00005f80,
- 0x00004801, 0x00008084, 0x08003014, 0x00006206, 0x0d00ac05, 0x00003002,
+ 0x00004801, 0x00008084, 0x08003004, 0x0000e206, 0x0d00ac0a, 0x00003002,
0x23c8000b, 0x0000e180, 0x0d80ac3c, 0x0000e002, 0x23060000, 0x00007900,
0x001f2252, 0x00008980, 0x2363f800, 0x0000f900, 0x0015fc94, 0x00008980,
- 0x0cde20e8, 0x00007500, 0xe2c1e005, 0x0000882b, 0xe3d0a214, 0x00001900,
+ 0x0e46224a, 0x00007500, 0xe2c1e00a, 0x0000882b, 0xe3d02204, 0x00001900,
0x1a38ef1c, 0x00000624, 0x1ab8ff1e, 0x0000062c, 0x1b390f20, 0x00000634,
0x1bb91f22, 0x0000063c, 0x1c392f24, 0x00000704, 0x1cf93727, 0x00000708,
- 0x3b860615, 0x00007897, 0x00400001, 0x00000000, 0x00003c24, 0x00007888,
+ 0x95860615, 0x0000f897, 0x00400001, 0x00000000, 0x00003c24, 0x00007888,
0x00000000, 0x00000000, 0x00018615, 0x0000788c, 0x00000000, 0x00008020,
- 0x4e440715, 0x0000f88f, 0x00400001, 0x00000060, 0x0d606615, 0x00004597,
+ 0xa8440715, 0x0000788f, 0x00400001, 0x00000060, 0x0d606615, 0x00004597,
0x8cc01f15, 0x0000868d, 0x23d0000c, 0x00006180, 0x0d80ac3c, 0x0000e002,
0x23060000, 0x00007900, 0x001f2252, 0x00008980, 0x237ef800, 0x0000f900,
- 0x0015fc90, 0x00000980, 0x0cf720e8, 0x0000f500, 0xe2c1e116, 0x0000882b,
+ 0x0015fc90, 0x00000980, 0x0e5f224a, 0x0000f500, 0xe2c1e116, 0x0000882b,
0xe3e12424, 0x00001900, 0x81060615, 0x0000e283, 0x17000000, 0x00008980,
0x17400000, 0x000005f8, 0x17c00000, 0x000006c0, 0x18400000, 0x000006c8,
- 0x18c00000, 0x000086d0, 0x00000d16, 0x0000f408, 0x19400000, 0x000006d8,
- 0x19c00000, 0x0000e180, 0x08003004, 0x00006216, 0x0d0417b1, 0x0000f500,
+ 0x18c00000, 0x000086d0, 0x00000e7e, 0x00007408, 0x19400000, 0x000006d8,
+ 0x19c00000, 0x0000e180, 0x08003004, 0x00006216, 0x0e6c1898, 0x0000f500,
0x0c405800, 0x00001980, 0x0c002004, 0x00009900, 0xc000105d, 0x00006402,
0xc000105c, 0x00003403, 0x1ab9f86a, 0x00007900, 0x003ffffe, 0x00008280,
- 0x5cc20415, 0x00007897, 0x00400001, 0x00008080, 0x0f000000, 0x000006ee,
+ 0xb6c20415, 0x0000f897, 0x00400001, 0x00008080, 0x0f000000, 0x000006ee,
0x0000001a, 0x0000e582, 0x1a00d81b, 0x00008900, 0x1abf086a, 0x00007900,
0x003ffffe, 0x00008280, 0x0f000800, 0x00006188, 0xda800000, 0x00004980,
- 0x00000daf, 0x0000f400, 0x1788005e, 0x00006380, 0x19c0d01a, 0x00008900,
+ 0x00000f17, 0x00007400, 0x1788005e, 0x00006380, 0x19c0d01a, 0x00008900,
0x01005800, 0x00006180, 0x1061e06a, 0x0000e000, 0x81006615, 0x00001283,
0x0c404000, 0x0000e190, 0x08003004, 0x00006216, 0x0c002004, 0x00001910,
- 0x00000d30, 0x0000f008, 0x0d1c17b1, 0x00007100, 0x0e80ac14, 0x00006000,
+ 0x00000e98, 0x00007008, 0x0e841898, 0x00007100, 0x0e80ac04, 0x0000e000,
0x0e40ac3c, 0x00003000, 0x81018615, 0x0000e283, 0x8000505c, 0x0000a406,
- 0x0f21e414, 0x0000e001, 0x8000105d, 0x00002402, 0x61a1e06a, 0x00006002,
- 0x8000105c, 0x0000b403, 0x00000d27, 0x0000f008, 0x00000daf, 0x0000f200,
+ 0x0f21e404, 0x00006001, 0x8000105d, 0x00002402, 0x61a1e06a, 0x00006002,
+ 0x8000105c, 0x0000b403, 0x00000e8f, 0x00007008, 0x00000f17, 0x00007200,
0x01004800, 0x00009980, 0x08003004, 0x0000e206, 0xc000085d, 0x0000b403,
- 0x0d2c17b1, 0x0000f500, 0x98806404, 0x000083c4, 0x0c002004, 0x00009900,
- 0x00000da2, 0x00007400, 0xa000085d, 0x00006402, 0x4000105c, 0x00003402,
- 0x0200b140, 0x00001980, 0xc1001f15, 0x00001283, 0xa000105c, 0x00006412,
+ 0x0e941898, 0x00007500, 0x98806404, 0x000083c4, 0x0c002004, 0x00009900,
+ 0x00000f0a, 0x00007400, 0xa000085d, 0x00006402, 0x4000105c, 0x00003402,
+ 0x0140b140, 0x00009980, 0xc1001f15, 0x00001283, 0xa000105c, 0x00006412,
0xe000105d, 0x00003412, 0x01007800, 0x00006190, 0xe000105c, 0x00006413,
- 0x00000db0, 0x00007008, 0x00000daf, 0x0000f200, 0x1ab9f86a, 0x00007900,
+ 0x00000f18, 0x00007008, 0x00000f17, 0x00007200, 0x1ab9f86a, 0x00007900,
0x003ffffe, 0x00008280, 0x23d0000c, 0x00006180, 0x0d80ac3c, 0x0000e002,
0x23060000, 0x00007900, 0x001f2252, 0x00008980, 0x235f0800, 0x0000f900,
- 0x0015fc92, 0x00008980, 0x0d4220e8, 0x0000f500, 0xe2c1e116, 0x0000882b,
+ 0x0015fc92, 0x00008980, 0x0eaa224a, 0x0000f500, 0xe2c1e116, 0x0000882b,
0xe3e12424, 0x00001900, 0x40001d16, 0x0000e583, 0x17000000, 0x00008980,
0x17400000, 0x000005f8, 0x17c00000, 0x000006c0, 0x18400000, 0x000006c8,
- 0x18c00000, 0x000086d0, 0x00000d55, 0x00007408, 0x19400000, 0x000006d8,
+ 0x18c00000, 0x000086d0, 0x00000ebd, 0x00007408, 0x19400000, 0x000006d8,
0x19c00000, 0x00009980, 0x40002516, 0x00009583, 0x01004800, 0x00006188,
- 0x01c00020, 0x0000c990, 0x04800000, 0x0000e190, 0x03c00000, 0x0000c990,
- 0x00000daf, 0x0000f008, 0x00000db6, 0x00007400, 0x04203000, 0x0000f900,
- 0x0015fc92, 0x00008980, 0x41c00002, 0x000080d4, 0x00000daf, 0x0000f200,
+ 0x01400020, 0x00004990, 0x04800000, 0x0000e190, 0x01c00000, 0x00004990,
+ 0x00000f17, 0x00007008, 0x00000f1e, 0x00007400, 0x04203000, 0x0000f900,
+ 0x0015fc92, 0x00008980, 0x41400002, 0x000080f4, 0x00000f17, 0x00007200,
0x01001800, 0x00009980, 0x23d0000c, 0x00006180, 0x0d80ac3c, 0x0000e002,
0x23060000, 0x00007900, 0x001f2252, 0x00008980, 0x237ef800, 0x0000f900,
- 0x0015fc90, 0x00000980, 0x0d6020e8, 0x0000f500, 0xe2c1e116, 0x0000882b,
+ 0x0015fc90, 0x00000980, 0x0ec8224a, 0x00007500, 0xe2c1e116, 0x0000882b,
0xe3e12424, 0x00001900, 0x81060615, 0x0000e283, 0x17000000, 0x00008980,
0x17400000, 0x000005f8, 0x17c00000, 0x000006c0, 0x18400000, 0x000006c8,
- 0x18c00000, 0x000086d0, 0x00000d89, 0x0000f408, 0x19400000, 0x000006d8,
- 0x19c00000, 0x0000e180, 0x08003005, 0x0000e216, 0x0d6d17b1, 0x0000f500,
+ 0x18c00000, 0x000086d0, 0x00000ef1, 0x0000f408, 0x19400000, 0x000006d8,
+ 0x19c00000, 0x0000e180, 0x08003005, 0x0000e216, 0x0ed51898, 0x00007500,
0x0c405800, 0x00001980, 0x0c002805, 0x00009900, 0x01020415, 0x00006283,
0xc000105c, 0x0000a403, 0xc000105d, 0x0000ec02, 0x1ab9f86a, 0x00007900,
- 0x003ffffe, 0x00008280, 0x00000d7c, 0x00007008, 0x01c00020, 0x00006180,
+ 0x003ffffe, 0x00008280, 0x00000ee4, 0x0000f008, 0x01400020, 0x0000e180,
0x04800000, 0x00004980, 0x043bf000, 0x0000f900, 0x0015fc90, 0x00000980,
- 0x047a4800, 0x0000f900, 0x000be452, 0x00008980, 0x00000dca, 0x0000f400,
- 0x03c00000, 0x000000d4, 0x81c01000, 0x00009980, 0x0000001a, 0x0000e582,
+ 0x047a4800, 0x0000f900, 0x000be452, 0x00008980, 0x00000f32, 0x0000f400,
+ 0x01c00000, 0x000000f4, 0x81401000, 0x00001980, 0x0000001a, 0x0000e582,
0x0f000000, 0x00008980, 0x1abf086a, 0x00007900, 0x003ffffe, 0x00008280,
0x0f000800, 0x00006188, 0xda800000, 0x00004980, 0x1ac00000, 0x00006181,
- 0x1a00d81b, 0x00004900, 0x00000daf, 0x0000f400, 0x1788005e, 0x00006380,
+ 0x1a00d81b, 0x00004900, 0x00000f17, 0x00007400, 0x1788005e, 0x00006380,
0x1061e06a, 0x00002000, 0x01005800, 0x00006180, 0x19c0d01a, 0x00004900,
0x81006615, 0x00001283, 0x0c404000, 0x0000e190, 0x08003005, 0x0000e216,
- 0x0c002805, 0x00001910, 0x00000da7, 0x00007008, 0x0d8f17b1, 0x00007100,
- 0x0e80ac14, 0x00006000, 0x0e40ac3c, 0x00003000, 0x81018615, 0x0000e283,
- 0x8000505c, 0x0000a406, 0x0f21e414, 0x0000e001, 0x8000105d, 0x00002402,
- 0x61a1e06a, 0x00006002, 0x8000105c, 0x0000b403, 0x00000d9a, 0x0000f008,
- 0x00000daf, 0x0000f200, 0x01004800, 0x00009980, 0x08003004, 0x0000e206,
- 0xc000085d, 0x0000b403, 0x0d9f17b1, 0x00007500, 0x98806404, 0x000083c4,
+ 0x0c002805, 0x00001910, 0x00000f0f, 0x00007008, 0x0ef71898, 0x0000f100,
+ 0x0e80ac04, 0x0000e000, 0x0e40ac3c, 0x00003000, 0x81018615, 0x0000e283,
+ 0x8000505c, 0x0000a406, 0x0f21e404, 0x00006001, 0x8000105d, 0x00002402,
+ 0x61a1e06a, 0x00006002, 0x8000105c, 0x0000b403, 0x00000f02, 0x0000f008,
+ 0x00000f17, 0x00007200, 0x01004800, 0x00009980, 0x08003004, 0x0000e206,
+ 0xc000085d, 0x0000b403, 0x0f071898, 0x0000f500, 0x98806404, 0x000083c4,
0x0c002004, 0x00009900, 0xa000085d, 0x00006402, 0x4000105c, 0x00003402,
- 0x0200b140, 0x00001980, 0x0da30b14, 0x00007100, 0x001088ec, 0x00005780,
+ 0x0140b140, 0x00009980, 0x0f0b0c7d, 0x0000f100, 0x001088ec, 0x00005780,
0x00004000, 0x00000080, 0x0098beec, 0x0000df80, 0x00804680, 0x000081c4,
0xc1001f15, 0x00001283, 0xa000105c, 0x00006412, 0xe000105d, 0x00003412,
- 0x01007800, 0x00006190, 0xe000105c, 0x00006413, 0x00000db0, 0x00007008,
- 0x1ab9f86a, 0x00007900, 0x003ffffe, 0x00008280, 0x0db00b8e, 0x0000f100,
- 0x01c00020, 0x00006180, 0x04800000, 0x00004980, 0x041de800, 0x00007900,
- 0x0015fc92, 0x00008980, 0x03c00000, 0x000000d4, 0x81c01000, 0x00009980,
- 0x00000dca, 0x0000f200, 0x04541000, 0x00007900, 0x0025b900, 0x00008980,
+ 0x01007800, 0x00006190, 0xe000105c, 0x00006413, 0x00000f18, 0x00007008,
+ 0x1ab9f86a, 0x00007900, 0x003ffffe, 0x00008280, 0x0f180cf7, 0x0000f100,
+ 0x01400020, 0x0000e180, 0x04800000, 0x00004980, 0x041de800, 0x00007900,
+ 0x0015fc92, 0x00008980, 0x01c00000, 0x000000f4, 0x81401000, 0x00001980,
+ 0x00000f32, 0x0000f200, 0x04541000, 0x00007900, 0x0025b900, 0x00008980,
0x4101e515, 0x0000e283, 0x04000000, 0x00008981, 0x17000000, 0x000085f4,
0x17800000, 0x000085fc, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc,
- 0x00000dce, 0x0000f410, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
- 0x01c00020, 0x00006180, 0x04800000, 0x00004980, 0x04000000, 0x00007900,
+ 0x00000f36, 0x0000f410, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
+ 0x01400020, 0x0000e180, 0x04800000, 0x00004980, 0x04000000, 0x00007900,
0x0015fc96, 0x00000980, 0x047e8000, 0x0000f900, 0x002d9166, 0x00000980,
- 0x03c00000, 0x000000d4, 0x81c01000, 0x00009980, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x03200702, 0x0000802e, 0x0dce20b1, 0x0000f100,
+ 0x01c00000, 0x000000f4, 0x81401000, 0x00001980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x03e00702, 0x0000802e, 0x0f362213, 0x0000f100,
0x2c0c06e3, 0x00001680, 0x0f0588b0, 0x00001000, 0x0f00303c, 0x0000e784,
- 0x0e40ac14, 0x0000a000, 0x00000414, 0x00006583, 0x8f000a3c, 0x00000080,
+ 0x0e40ac04, 0x00002000, 0x00000404, 0x0000e583, 0x8f000a3c, 0x00000080,
0xc5782e3c, 0x00002004, 0xc5b8f23c, 0x00002886, 0x23c0000a, 0x00006188,
- 0x22c00000, 0x0000c988, 0x22800000, 0x00001988, 0x00000de1, 0x00007410,
- 0x01400805, 0x00009080, 0xc5782e3c, 0x0000a804, 0x00000e50, 0x0000f400,
+ 0x22c00000, 0x0000c988, 0x22800000, 0x00001988, 0x00000f49, 0x00007410,
+ 0x01400805, 0x00009080, 0xc5782e3c, 0x0000a804, 0x00000fb9, 0x0000f400,
0x23060000, 0x00007900, 0x001f2252, 0x00008980, 0x2342f800, 0x0000f900,
0x0015fc96, 0x00000980, 0x00003c24, 0x00001583, 0x81018615, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00000dee, 0x0000f008, 0x00000dee, 0x0000f010,
+ 0xffffffff, 0x00007f86, 0x00000f56, 0x00007008, 0x00000f56, 0x00007010,
0x23d0000a, 0x00006180, 0x0b00ac3c, 0x00006002, 0x23060000, 0x00007900,
- 0x001f2252, 0x00008980, 0x00000e50, 0x0000f400, 0x2343f800, 0x00007900,
- 0x0015fc96, 0x00000980, 0xe2c0003c, 0x000008a8, 0x82c028ec, 0x0000f902,
- 0x01000000, 0x00000604, 0x23d8000a, 0x0000e180, 0x0d80ac14, 0x0000e002,
+ 0x001f2252, 0x00008980, 0x00000fb9, 0x0000f400, 0x2343f800, 0x00007900,
+ 0x0015fc96, 0x00000980, 0xe2c0003c, 0x000008a8, 0x82c040ec, 0x00007902,
+ 0x01000000, 0x00000604, 0x2280b817, 0x00006100, 0x23d8000a, 0x0000c980,
0x23060000, 0x00007900, 0x001f2252, 0x00008980, 0x23450800, 0x00007900,
- 0x0015fc96, 0x00000980, 0x0df920e8, 0x0000f500, 0x22b0a717, 0x0000883f,
- 0x22c02805, 0x00009900, 0x23e0000a, 0x00006180, 0x0d00ac14, 0x00006002,
- 0x23060000, 0x00007900, 0x001f2252, 0x00008980, 0x23451000, 0x00007900,
- 0x0015fc96, 0x00000980, 0x0e0220e8, 0x00007500, 0x22f91705, 0x00008828,
- 0xe3e0a414, 0x00001900, 0x00018515, 0x0000788c, 0x00000000, 0x00000000,
- 0x8200441e, 0x0000f88f, 0x00400001, 0x00000060, 0x08006515, 0x0000458c,
- 0x0400bf05, 0x0000822e, 0x00000c24, 0x00001583, 0x00003c24, 0x00009593,
- 0x00000e2d, 0x0000f013, 0x00011005, 0x00001502, 0x05096022, 0x000090a0,
- 0x00000e2d, 0x0000f029, 0x0000a005, 0x00001502, 0x23f0000a, 0x0000e1b0,
- 0x0d00ac3c, 0x00006032, 0x23060000, 0x00007930, 0x001f2252, 0x00008980,
- 0x00000e2d, 0x00007018, 0x23470800, 0x0000f900, 0x0015fc96, 0x00000980,
- 0x0e1920e8, 0x00007500, 0xe3f82e3c, 0x0000082c, 0x22811022, 0x00001900,
- 0x04017800, 0x00009981, 0x2c0c06e3, 0x00001680, 0x0f0588b0, 0x00001000,
- 0x00003c24, 0x0000e583, 0x0f00303c, 0x00008784, 0x8f000a3c, 0x00006080,
- 0x01400000, 0x00008991, 0x01400000, 0x00006189, 0x08003014, 0x0000e20e,
- 0x00000e25, 0x00007010, 0xc010a316, 0x00001502, 0x01400800, 0x00009991,
- 0x23e8000a, 0x0000e180, 0x0800308b, 0x00006206, 0x23060000, 0x00007900,
- 0x001f2252, 0x00008980, 0x0e5220e8, 0x00007500, 0x235b2000, 0x00007900,
- 0x0015fc8e, 0x00000980, 0xe3c00610, 0x000008a8, 0x41006515, 0x00001283,
- 0x0000b805, 0x00001502, 0xffffffff, 0x00007f86, 0x00000e46, 0x00007008,
- 0x00000e46, 0x0000f028, 0x05096017, 0x00001080, 0x0000a005, 0x00001502,
- 0x00003c24, 0x00001583, 0x41000d15, 0x00009283, 0x00000e46, 0x0000f018,
- 0x00000e39, 0x0000f010, 0x00000e46, 0x00007010, 0x23f8000a, 0x00006180,
- 0x0d80ac3c, 0x0000e002, 0x23060000, 0x00007900, 0x001f2252, 0x00008980,
- 0x23482800, 0x00007900, 0x0015fc96, 0x00000980, 0x0e4220e8, 0x0000f500,
- 0x22f8bf05, 0x00008828, 0xe3e1e43c, 0x00001900, 0x00000e1a, 0x00007400,
- 0x00003c24, 0x00001583, 0x04018000, 0x0000e191, 0x04018800, 0x00004989,
- 0xc578263c, 0x00002084, 0x23060000, 0x00007900, 0x001f2252, 0x00008980,
- 0x2361f800, 0x00007900, 0x0015fc96, 0x00000980, 0x23c0000b, 0x00006180,
- 0x22c0b817, 0x0000c900, 0x22802805, 0x00006100, 0x01000804, 0x0000c080,
- 0xc578263c, 0x0000a884, 0x0ecf20e8, 0x00007100, 0x00000ecf, 0x00007000,
- 0xc5b8503c, 0x0000a084, 0x00018410, 0x00001583, 0xc5b8303c, 0x0000a804,
- 0x00000e7f, 0x00007411, 0x0280080a, 0x00009080, 0xc5b8503c, 0x00002884,
- 0x0f010612, 0x00009080, 0x8f000e12, 0x0000e080, 0x85000a3c, 0x00004880,
- 0x00202014, 0x00002080, 0xffffffff, 0x00007fa7, 0x823f0204, 0x0000f900,
- 0x0000003e, 0x00008280, 0xac60263c, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x80102208, 0x00009502, 0x81000a04, 0x000010d8, 0xac60263c, 0x000028dc,
- 0x00000ec3, 0x0000f070, 0xac41e63c, 0x0000a086, 0xffffffff, 0x00007fa7,
- 0x8f11e208, 0x00001100, 0x8010223c, 0x00001502, 0x8100fa14, 0x0000e2e8,
- 0x8f003214, 0x000087e8, 0x8f179a3c, 0x0000f968, 0x00000006, 0x00008080,
- 0x00000e7f, 0x0000f060, 0x0000483c, 0x00007902, 0x02000000, 0x00008000,
- 0x011027e4, 0x00006000, 0x0501fc14, 0x0000c281, 0x0000fc14, 0x00001583,
- 0xffffffff, 0x00007f86, 0x02404804, 0x0000e330, 0x02004004, 0x00008318,
- 0xffffffff, 0x00007f86, 0x0038483c, 0x0000d000, 0x00384000, 0x00000000,
- 0x02003800, 0x00001980, 0x823f1008, 0x00006802, 0x003842ec, 0x00005600,
- 0x00000000, 0x00008080, 0x100000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0x0e820b70, 0x00007500, 0x81000000, 0x000000e8, 0x42b92724, 0x00009901,
- 0x00000405, 0x00006583, 0x0a000800, 0x00000980, 0x0a400000, 0x000002e8,
- 0x0ac00000, 0x00006180, 0xc0000828, 0x0000e410, 0x00000e9c, 0x0000f008,
- 0x0bc00000, 0x000003c8, 0x0000182f, 0x00006106, 0x0008702a, 0x00003504,
- 0x0f000316, 0x00007900, 0x00000100, 0x00000380, 0x40003032, 0x00006107,
- 0x40000828, 0x00003401, 0x0b18b000, 0x0000f900, 0x00019a00, 0x00000980,
- 0x0b400000, 0x0000f900, 0x00018000, 0x00008980, 0x0c401000, 0x0000f900,
- 0x0001c000, 0x00000980, 0xc000182f, 0x0000e006, 0x0001e032, 0x00003206,
- 0x0c000000, 0x00006180, 0x0cc00002, 0x0000c980, 0x00000eb1, 0x0000f400,
- 0x0ba81402, 0x00008238, 0x8a806800, 0x00001981, 0x0bc00000, 0x0000e180,
- 0x0800303c, 0x00006206, 0x0f00003c, 0x0000f900, 0x00000100, 0x00000380,
- 0x0c800000, 0x0000e180, 0x0000182f, 0x00006106, 0x0cc00002, 0x0000e180,
- 0x0001e032, 0x00006206, 0x40000828, 0x00006401, 0x8000082a, 0x0000b404,
+ 0x0015fc96, 0x00000980, 0x0f62224a, 0x0000f500, 0x22c04008, 0x0000e100,
+ 0x0d80ac04, 0x00006002, 0xe3e02404, 0x00001900, 0x23e0000a, 0x00006180,
+ 0x0d00ac04, 0x0000e002, 0x23060000, 0x00007900, 0x001f2252, 0x00008980,
+ 0x23451000, 0x00007900, 0x0015fc96, 0x00000980, 0x0f6b224a, 0x0000f500,
+ 0x22f91708, 0x00000828, 0xe3e02404, 0x00001900, 0x00018515, 0x0000788c,
+ 0x00000000, 0x00000000, 0xdc40441e, 0x0000f88f, 0x00400001, 0x00000060,
+ 0x08006515, 0x0000458c, 0x0400bf08, 0x0000022e, 0x00000c24, 0x00001583,
+ 0x00003c24, 0x00009593, 0x00000f96, 0x00007013, 0x00011008, 0x00009502,
+ 0x01096022, 0x000010a0, 0x00000f96, 0x00007029, 0x00002008, 0x00001502,
+ 0x23f0000a, 0x0000e1b0, 0x0d00ac3c, 0x00006032, 0x23060000, 0x00007930,
+ 0x001f2252, 0x00008980, 0x00000f96, 0x0000f018, 0x23470800, 0x0000f900,
+ 0x0015fc96, 0x00000980, 0x0f82224a, 0x00007500, 0xe3f8463c, 0x0000882c,
+ 0x22811022, 0x00001900, 0x04017800, 0x00009981, 0x2c0c06e3, 0x00001680,
+ 0x0f0588b0, 0x00001000, 0x00003c24, 0x0000e583, 0x0f00303c, 0x00008784,
+ 0x8f000a3c, 0x00006080, 0x02000000, 0x00000991, 0x02000000, 0x0000e189,
+ 0x08003004, 0x0000620e, 0x00000f8e, 0x00007010, 0xc0102316, 0x00009502,
+ 0x02000800, 0x00001991, 0x23e8000a, 0x0000e180, 0x0800308b, 0x00006206,
+ 0x23060000, 0x00007900, 0x001f2252, 0x00008980, 0x0fbb224a, 0x00007500,
+ 0x235b2000, 0x00007900, 0x0015fc8e, 0x00000980, 0xe3c00610, 0x000008a8,
+ 0x41006515, 0x00001283, 0x0000b808, 0x00009502, 0xffffffff, 0x00007f86,
+ 0x00000faf, 0x00007008, 0x00000faf, 0x0000f028, 0x01096017, 0x00009080,
+ 0x00002008, 0x00001502, 0x00003c24, 0x00001583, 0x41000d15, 0x00009283,
+ 0x00000faf, 0x0000f018, 0x00000fa2, 0x0000f010, 0x00000faf, 0x00007010,
+ 0x23f8000a, 0x00006180, 0x0d80ac3c, 0x0000e002, 0x23060000, 0x00007900,
+ 0x001f2252, 0x00008980, 0x23482800, 0x00007900, 0x0015fc96, 0x00000980,
+ 0x0fab224a, 0x0000f500, 0x22f8bf08, 0x00000828, 0xe3e1e43c, 0x00001900,
+ 0x00000f83, 0x0000f400, 0x00003c24, 0x00001583, 0x04018000, 0x0000e191,
+ 0x04018800, 0x00004989, 0xc578263c, 0x00002084, 0x23060000, 0x00007900,
+ 0x001f2252, 0x00008980, 0x2361f800, 0x00007900, 0x0015fc96, 0x00000980,
+ 0x23c0000b, 0x00006180, 0x22c0b817, 0x0000c900, 0x22804008, 0x00006100,
+ 0x01000804, 0x0000c080, 0xc578263c, 0x0000a884, 0x1039224a, 0x00007100,
+ 0x00001039, 0x00007000, 0xc5b8503c, 0x0000a084, 0x00018410, 0x00001583,
+ 0xc5b8303c, 0x0000a804, 0x00000fe9, 0x0000f411, 0x0280080a, 0x00009080,
+ 0xc5b8503c, 0x00002884, 0x8f000e12, 0x00009880, 0x8f000e12, 0x0000e080,
+ 0x8151e612, 0x0000c000, 0x82820205, 0x00009080, 0x0020200a, 0x00002080,
+ 0xffffffff, 0x00007fa7, 0x827f0204, 0x00007900, 0x0000003e, 0x00008280,
+ 0xac60263c, 0x00002084, 0xffffffff, 0x00007fa7, 0x80102209, 0x00001502,
+ 0x81000a04, 0x000010d8, 0xac60263c, 0x000028dc, 0x0000102d, 0x0000f070,
+ 0xac41e63c, 0x0000a086, 0xffffffff, 0x00007fa7, 0x8f11e209, 0x00009100,
+ 0x8010223c, 0x00001502, 0x8100fa05, 0x0000e2e8, 0x8f00320a, 0x000087e8,
+ 0x8f179a3c, 0x0000f968, 0x00000006, 0x00008080, 0x00000fe9, 0x00007060,
+ 0x0000483c, 0x00007902, 0x01400000, 0x00000000, 0x011027e4, 0x00006000,
+ 0x0281fc0a, 0x0000c281, 0x0000fc0a, 0x00001583, 0xffffffff, 0x00007f86,
+ 0x02404804, 0x0000e330, 0x01402804, 0x00008318, 0xffffffff, 0x00007f86,
+ 0x0038483c, 0x0000d000, 0x00382800, 0x00008000, 0x01403800, 0x00009980,
+ 0x823f1005, 0x0000e802, 0x00382aec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x100000ec, 0x0000d680, 0x00000000, 0x00008080, 0x0fec0cd9, 0x0000f500,
+ 0x81000000, 0x000000e8, 0x42b92724, 0x00009901, 0x00000408, 0x0000e583,
+ 0x0a000800, 0x00000980, 0x0a400000, 0x000002e8, 0x0ac00000, 0x00006180,
+ 0xc0000828, 0x0000e410, 0x00001006, 0x0000f008, 0x0bc00000, 0x000003c8,
+ 0x0000182f, 0x00006106, 0x0008702a, 0x00003504, 0x0f000316, 0x00007900,
+ 0x00000100, 0x00000380, 0x40003032, 0x00006107, 0x40000828, 0x00003401,
0x0b18b000, 0x0000f900, 0x00019a00, 0x00000980, 0x0b400000, 0x0000f900,
0x00018000, 0x00008980, 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0xc000182f, 0x0000e006, 0x40003032, 0x00003107, 0x0c000000, 0x00006180,
- 0x00003833, 0x00006106, 0x0ba01502, 0x00008238, 0x00018410, 0x0000e583,
- 0x0f000000, 0x00008980, 0x0f004000, 0x0000e189, 0x0f003800, 0x0000c991,
- 0x0d400000, 0x000003fc, 0x0021e035, 0x0000e006, 0xd000082d, 0x00003404,
- 0x0d000000, 0x000083d8, 0x0dc00000, 0x000003e0, 0x0e400000, 0x000003e8,
- 0x0ec00000, 0x000003f4, 0x10000000, 0x000084c4, 0x0ec10b01, 0x0000f500,
- 0x10800000, 0x000084cc, 0x8fc04001, 0x0000e180, 0x0f80500a, 0x00004900,
- 0x009856ec, 0x0000df80, 0x00004801, 0x00008084, 0x2c0c06e3, 0x00001680,
- 0x0f0588b0, 0x00001000, 0x0f00303c, 0x00001784, 0x8f000a3c, 0x00009080,
- 0xc5406c3c, 0x0000f902, 0x03000000, 0x00008004, 0xffffffff, 0x00007fa7,
- 0x0340000d, 0x0000f900, 0x00100000, 0x00000380, 0x0300080c, 0x00009080,
- 0xc5786c3c, 0x0000d004, 0x00386000, 0x00008000, 0x0ed10b70, 0x00007300,
- 0x01000800, 0x00009981, 0x00000000, 0x00007080, 0x0fc0f40a, 0x0000e000,
- 0x0fc0f50b, 0x0000b000, 0x0cc22c0f, 0x0000e002, 0x08022a37, 0x00003104,
- 0x04000000, 0x0000e180, 0x0e40ac0b, 0x0000e000, 0x04400000, 0x000001c8,
- 0x04c00000, 0x0000e180, 0x8211f23e, 0x0000c900, 0xc1c00001, 0x000000d2,
- 0xeae1af0c, 0x0000c411, 0xae01b40d, 0x00000316, 0x0e87fa37, 0x00007896,
- 0x0080003f, 0x00008000, 0xdd403749, 0x00004189, 0x0000040f, 0x00008088,
- 0xdb400c0f, 0x0000f88b, 0x00400001, 0x00000000, 0xc180140f, 0x0000f892,
- 0xa0800000, 0x00008981, 0x3f201c0e, 0x0000448c, 0xee217448, 0x00008493,
- 0x7d421757, 0x00007892, 0x98800000, 0x0000878e, 0x0d008302, 0x00006080,
- 0x08025c05, 0x0000e002, 0x0310414b, 0x00007900, 0x00003c4c, 0x00008280,
- 0x8104064b, 0x0000e283, 0x0b00ac0a, 0x0000a002, 0x0341a202, 0x00009300,
- 0x41008545, 0x00009283, 0xffffffff, 0x00007f86, 0x00000f4c, 0x0000f008,
- 0x00000f4c, 0x0000f008, 0x03c00000, 0x00006180, 0x0de02b44, 0x00004100,
- 0x00013037, 0x00001502, 0x03c00800, 0x00001988, 0xed204545, 0x0000c495,
- 0xce00040b, 0x0000838e, 0xeca06f25, 0x00004313, 0x0004064b, 0x00008088,
- 0xeb600c24, 0x0000c491, 0xb200040a, 0x0000838e, 0xd540400c, 0x0000f893,
- 0x00402001, 0x00008000, 0xed604544, 0x00004419, 0xc600040f, 0x00000488,
- 0x0c20841e, 0x0000c496, 0xbe20241e, 0x00000490, 0x1740004e, 0x00007892,
- 0x48800000, 0x00000788, 0x60800c24, 0x0000788a, 0xe8800000, 0x0000878a,
- 0xc012631e, 0x0000e502, 0x8d18f31e, 0x00000900, 0x00000f4e, 0x00007013,
- 0x07bfe81e, 0x0000f900, 0x003ffffe, 0x00008280, 0x0780801e, 0x00006380,
- 0x0800300f, 0x0000a206, 0xc7800a34, 0x00006080, 0x00007000, 0x0000a484,
- 0x8d001ee3, 0x00006080, 0xc0002800, 0x0000c981, 0x0dc0000f, 0x00007900,
- 0x00000100, 0x00000380, 0x83d1a6e3, 0x00006000, 0xc0c00000, 0x00008980,
- 0xbc406a0f, 0x00007902, 0x03000000, 0x00008004, 0xbc40540f, 0x0000f902,
- 0x02400000, 0x00008004, 0x117c0045, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0037f800, 0x0000f900, 0x003ffffe, 0x00008280, 0x03406a3c, 0x00006002,
- 0xd151f23e, 0x00008900, 0x0bc00000, 0x0000e180, 0x41285845, 0x00006000,
- 0x0c800000, 0x0000e180, 0x00100000, 0x0000c380, 0x0300000c, 0x00006084,
- 0x0000182f, 0x0000a106, 0x0280080a, 0x0000e082, 0x0001b832, 0x00002206,
- 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc1c01800, 0x0000e180,
- 0x0cc00002, 0x0000c980, 0x51792724, 0x00006101, 0x02400009, 0x0000c084,
- 0x001000ec, 0x00005780, 0x008041c0, 0x000001c0, 0x00400000, 0x00007900,
- 0x00040090, 0x00000980, 0x01400000, 0x0000f900, 0x00008080, 0x00008980,
- 0x0b18b000, 0x0000f900, 0x0000d9c0, 0x00000980, 0x0b400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0xbc786a0f, 0x00005004, 0x00386000, 0x00008000, 0xc000182f, 0x0000e006,
- 0x40003032, 0x00003107, 0xbc78540f, 0x0000d004, 0x00384800, 0x00008000,
- 0x00003833, 0x00006106, 0xa0000000, 0x0000b482, 0x07000000, 0x0000e180,
- 0x51425845, 0x00006002, 0x87c0014d, 0x00008090, 0x0c000000, 0x00006180,
+ 0xc000182f, 0x0000e006, 0x0001e032, 0x00003206, 0x0c000000, 0x00006180,
+ 0x0cc00002, 0x0000c980, 0x0000101b, 0x0000f400, 0x0ba81402, 0x00008238,
+ 0x8a806800, 0x00001981, 0x0bc00000, 0x0000e180, 0x0800303c, 0x00006206,
+ 0x0f00003c, 0x0000f900, 0x00000100, 0x00000380, 0x0c800000, 0x0000e180,
+ 0x0000182f, 0x00006106, 0x0cc00002, 0x0000e180, 0x0001e032, 0x00006206,
+ 0x40000828, 0x00006401, 0x8000082a, 0x0000b404, 0x0b18b000, 0x0000f900,
+ 0x00019a00, 0x00000980, 0x0b400000, 0x0000f900, 0x00018000, 0x00008980,
+ 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0xc000182f, 0x0000e006,
+ 0x40003032, 0x00003107, 0x0c000000, 0x00006180, 0x00003833, 0x00006106,
+ 0x0ba01502, 0x00008238, 0x00018410, 0x0000e583, 0x0f000000, 0x00008980,
+ 0x0f004000, 0x0000e189, 0x0f003800, 0x0000c991, 0x0d400000, 0x000003fc,
+ 0x0021e035, 0x0000e006, 0xd000082d, 0x00003404, 0x0d000000, 0x000083d8,
+ 0x0dc00000, 0x000003e0, 0x0e400000, 0x000003e8, 0x0ec00000, 0x000003f4,
+ 0x10000000, 0x000084c4, 0x102b0c6a, 0x00007500, 0x10800000, 0x000084cc,
+ 0x8fc04001, 0x0000e180, 0x0f80500a, 0x00004900, 0x009856ec, 0x0000df80,
+ 0x00004801, 0x00008084, 0x2c0c06e3, 0x00001680, 0x0f0588b0, 0x00001000,
+ 0x0f00303c, 0x00001784, 0x8f000a3c, 0x00009080, 0xc5406c3c, 0x0000f902,
+ 0x03000000, 0x00008004, 0xffffffff, 0x00007fa7, 0x0340000d, 0x0000f900,
+ 0x00100000, 0x00000380, 0x0300080c, 0x00009080, 0xc5786c3c, 0x0000d004,
+ 0x00386000, 0x00008000, 0x103b0cd9, 0x00007300, 0x01000800, 0x00009981,
+ 0x00000000, 0x00007080, 0x0fc0f40a, 0x0000e000, 0x0fc0f50b, 0x0000b000,
+ 0x0cc22c0f, 0x0000e002, 0x08022a34, 0x00003104, 0x04000000, 0x0000e180,
+ 0x0e40ac0b, 0x0000e000, 0x04400000, 0x000001c8, 0x04c00000, 0x0000e180,
+ 0x8211f23e, 0x0000c900, 0xc1c00001, 0x000000d2, 0x1821af0c, 0x0000c410,
+ 0x8221b40d, 0x00000411, 0x6907fa34, 0x00007896, 0x0080003f, 0x00008000,
+ 0x0a803749, 0x0000c188, 0x0020040f, 0x00000088, 0x35c00c0f, 0x0000f88a,
+ 0x00800001, 0x00000000, 0x1c00140f, 0x0000f893, 0xf0800000, 0x0000098c,
+ 0x6c601c0e, 0x0000c48c, 0xc2217448, 0x00000496, 0xd7c21757, 0x0000f892,
+ 0xe8800000, 0x00008889, 0x03c08302, 0x0000e080, 0x08025c05, 0x0000e002,
+ 0x0310414b, 0x00007900, 0x00003c4c, 0x00008280, 0x8104064b, 0x0000e283,
+ 0x0b00ac0a, 0x0000a002, 0x03407a02, 0x00001300, 0x41008545, 0x00009283,
+ 0xffffffff, 0x00007f86, 0x000010b6, 0x00007008, 0x000010b6, 0x00007008,
+ 0x18000000, 0x00006180, 0x0d202b44, 0x00004100, 0x00013034, 0x00001502,
+ 0x18000800, 0x00001988, 0x1a604545, 0x00004494, 0xa220040b, 0x00000489,
+ 0x19e06f25, 0x00004312, 0x0024064b, 0x00000088, 0x18a00c24, 0x00004490,
+ 0x8620040a, 0x00008489, 0x2fc0400c, 0x0000f892, 0x00802001, 0x00008000,
+ 0x1aa04544, 0x00004418, 0x9a200460, 0x0000848b, 0x3960841e, 0x00004496,
+ 0x9220241e, 0x00008493, 0x71c0004e, 0x0000f892, 0x98800000, 0x00000883,
+ 0xbb000c24, 0x0000f88a, 0x38800000, 0x00000886, 0xc012631e, 0x0000e502,
+ 0x83d8f31e, 0x00008900, 0x000010b8, 0x0000f013, 0x07bfe81e, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x0780801e, 0x00006380, 0x08003060, 0x0000a206,
+ 0xc7800a0f, 0x0000e080, 0x00007000, 0x0000a484, 0x83c01ee3, 0x0000e080,
+ 0xc0002800, 0x0000c981, 0x0d000060, 0x00007900, 0x00000100, 0x00000380,
+ 0x98107ee3, 0x0000e000, 0xc0c00000, 0x00008980, 0xbc406a60, 0x00007902,
+ 0x03000000, 0x00008004, 0xbc405460, 0x0000f902, 0x02400000, 0x00008004,
+ 0x117c0045, 0x0000f900, 0x003ffffe, 0x00008280, 0x0037f800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x03406a3c, 0x00006002, 0xd151f23e, 0x00008900,
+ 0x0bc00000, 0x0000e180, 0x41285845, 0x00006000, 0x0c800000, 0x0000e180,
+ 0x00100000, 0x0000c380, 0x0300000c, 0x00006084, 0x0000182f, 0x0000a106,
+ 0x0280080a, 0x0000e082, 0x0001a032, 0x00002206, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0xc1c01800, 0x0000e180, 0x0cc00002, 0x0000c980,
+ 0x51792724, 0x00006101, 0x02400009, 0x0000c084, 0x001000ec, 0x00005780,
+ 0x008041c0, 0x000001c0, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
+ 0x01400000, 0x0000f900, 0x00008080, 0x00008980, 0x0b18b000, 0x0000f900,
+ 0x0000d9c0, 0x00000980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0xbc786a60, 0x00005004,
+ 0x00386000, 0x00008000, 0xc000182f, 0x0000e006, 0x40003032, 0x00003107,
+ 0xbc785460, 0x0000d004, 0x00384800, 0x00008000, 0x00003833, 0x00006106,
+ 0xa0000000, 0x0000b482, 0x07000000, 0x0000e180, 0x51425845, 0x00006002,
+ 0x87c0014d, 0x00008090, 0x0c000000, 0x00006180, 0x8b901202, 0x00004900,
+ 0xcb981302, 0x00009900, 0x00905eec, 0x0000df80, 0x00884c40, 0x000080c4,
+ 0x00001063, 0x0000f200, 0x18000000, 0x00001980, 0x8000024c, 0x00001582,
+ 0x81000e09, 0x00001283, 0xffffffff, 0x00007f86, 0x000010bd, 0x0000f010,
+ 0x00001076, 0x00007008, 0x10bf1967, 0x0000f300, 0x41013000, 0x00001981,
+ 0x10c11967, 0x0000f300, 0x4100d000, 0x00001981, 0x10c31914, 0x0000f300,
+ 0xc1c00000, 0x00001981, 0x10c51967, 0x00007300, 0x41012000, 0x00009981,
+ 0x10c71914, 0x00007300, 0xc1c09000, 0x00001981, 0x03c0000c, 0x0000f900,
+ 0x00000040, 0x00000380, 0x1ac0400f, 0x0000f88a, 0x00800041, 0x00000080,
+ 0x4101b000, 0x00009981, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x10cf1967, 0x0000f100, 0x10d11914, 0x0000f300, 0xc1c02000, 0x00009981,
+ 0x10d31914, 0x00007300, 0xc1c01800, 0x00001981, 0x10d51914, 0x00007300,
+ 0xc1c03800, 0x00009981, 0x10d71967, 0x00007300, 0x41009800, 0x00001981,
+ 0x00000051, 0x0000e582, 0x0d008302, 0x00008880, 0x03d0194b, 0x0000f900,
+ 0x00003e4c, 0x00000280, 0x0141a202, 0x0000e300, 0x0b00ac60, 0x0000a002,
+ 0x000010e2, 0x00007210, 0x0d000000, 0x00001990, 0x00000c0a, 0x00001583,
+ 0x0d028851, 0x00009910, 0x00001139, 0x0000f009, 0x73804545, 0x0000c494,
+ 0x2820040b, 0x0000058c, 0x6e202f25, 0x0000c410, 0xea200424, 0x00000496,
+ 0x6e60064b, 0x0000c4c0, 0xee200460, 0x0000848e, 0xd6c0000f, 0x00007892,
+ 0x00802241, 0x00008000, 0x5c000434, 0x00004288, 0xfc32601e, 0x00000411,
+ 0x0000040a, 0x0000f890, 0x00000000, 0x00000000, 0xc458fa4d, 0x0000780a,
+ 0x00800001, 0x00000060, 0x0012631e, 0x00007812, 0x00000000, 0x00000000,
+ 0x6120040a, 0x0000c188, 0x00200051, 0x00000090, 0x3e600052, 0x0000c791,
+ 0xa120df51, 0x00002112, 0x00000524, 0x00007890, 0x00000000, 0x00000000,
+ 0xc2c01851, 0x0000788e, 0x00800001, 0x00000060, 0x3da00052, 0x0000c791,
+ 0xa0c17448, 0x00009e95, 0xb940024c, 0x0000f892, 0x68800000, 0x00000988,
+ 0x83c01ee3, 0x0000e080, 0x08003060, 0x00006206, 0x0d000060, 0x00007900,
+ 0x00000100, 0x00000380, 0x98107ee3, 0x0000e000, 0x00007000, 0x0000a484,
+ 0xbc406260, 0x0000f902, 0x02c00000, 0x00000004, 0xbc405660, 0x00007902,
+ 0x02400000, 0x00008004, 0xc0200408, 0x000000cd, 0x00080000, 0x00006380,
+ 0x0bc00000, 0x00000980, 0x0300623c, 0x00006002, 0x0c800000, 0x00000980,
+ 0x00100000, 0x00006380, 0x02c0000b, 0x00000084, 0x0280080a, 0x0000e082,
+ 0x0000182f, 0x0000a106, 0x07bfe81e, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0xc1c01800, 0x0000e180, 0x0001a032, 0x0000e206, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x0cc00002, 0x0000e180, 0x02400009, 0x0000c084,
+ 0xc000182f, 0x0000e006, 0xa0001010, 0x0000b403, 0x00400000, 0x00007900,
+ 0x00040090, 0x00000980, 0x01501800, 0x00007900, 0x0000c080, 0x00000980,
+ 0x001000ec, 0x00005780, 0x00804100, 0x00000380, 0x0b18b000, 0x0000f900,
+ 0x00011900, 0x00008980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0xbc786260, 0x0000d004,
+ 0x00385800, 0x00000000, 0xbc785660, 0x00005004, 0x00384800, 0x00008000,
+ 0x40003032, 0x00006107, 0xa0000000, 0x0000b482, 0xc7d26a4d, 0x00006100,
+ 0x00003833, 0x00006106, 0x04880012, 0x00006380, 0x06c28852, 0x00000000,
+ 0x07000751, 0x00008090, 0x0c000000, 0x00006180, 0x8b901202, 0x00004900,
+ 0x0bba9502, 0x00008420, 0x1249f44d, 0x00000416, 0xc7800b1e, 0x00009080,
+ 0x00905eec, 0x0000df80, 0x00884c40, 0x00008184, 0x000010e2, 0x0000f400,
+ 0x00013052, 0x0000e502, 0x0d000000, 0x00000980, 0x0d000800, 0x00009988,
+ 0x8d010344, 0x00001180, 0x8007e234, 0x00001582, 0x80172a4d, 0x00001502,
+ 0x8000064b, 0x00009583, 0x0000135d, 0x0000f018, 0x00001367, 0x00007010,
+ 0x00001365, 0x00007048, 0x0107e453, 0x00006283, 0x0d07e453, 0x00008281,
+ 0x00001369, 0x0000f013, 0x0d001434, 0x0000e781, 0x0b804c0f, 0x00002082,
+ 0x0d28740f, 0x00006001, 0x18007c34, 0x00008080, 0x03002060, 0x00006784,
+ 0x83c00c34, 0x00000880, 0xa343060f, 0x0000a086, 0xa3602e0f, 0x0000a084,
+ 0x02400c0c, 0x00009081, 0xffffffff, 0x00007f86, 0x18008260, 0x00009880,
+ 0x9821a434, 0x00006100, 0x01008060, 0x00004784, 0x00230060, 0x0000a080,
+ 0xffffffff, 0x00007fa7, 0x98130205, 0x00009100, 0x18008260, 0x00009880,
+ 0x18008060, 0x00009784, 0x01030004, 0x00001100, 0x00204804, 0x00001502,
+ 0x98102c09, 0x00009040, 0xa363060f, 0x0000a8c4, 0x0000122f, 0x00007048,
+ 0xa3607e0f, 0x00002004, 0x18204804, 0x00001100, 0xffffffff, 0x00007f97,
+ 0x00107860, 0x00009502, 0x00001317, 0x0000704b, 0x83c01ee3, 0x0000e080,
+ 0x00007000, 0x00006484, 0x98107ee3, 0x0000e000, 0xc0001000, 0x00008981,
+ 0xbc407260, 0x00007902, 0x03400000, 0x00000004, 0xbc805860, 0x0000f902,
+ 0x02800000, 0x00008004, 0x0037f800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0380723c, 0x00006002,
+ 0xc0c00000, 0x00008980, 0x0340000d, 0x00006084, 0x01000000, 0x00000980,
+ 0x02c0080b, 0x0000e082, 0x014001c0, 0x00000980, 0x0280000a, 0x00006084,
+ 0xc1c00000, 0x00000980, 0x0000040c, 0x00009583, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
+ 0x001000ec, 0x00005780, 0x00004000, 0x00000080, 0xbc787260, 0x00005004,
+ 0x00386800, 0x00000000, 0x000012ee, 0x0000f410, 0xbcb85860, 0x0000d004,
+ 0x00385000, 0x00008000, 0x02800000, 0x0000e188, 0xa0000000, 0x0000e482,
+ 0x0bc00000, 0x0000e180, 0x08003034, 0x0000e206, 0x03c00034, 0x00007900,
+ 0x00000100, 0x00000380, 0x0c800000, 0x0000e180, 0x0411f00a, 0x00006187,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x0000182f, 0x00006106,
+ 0x00006045, 0x00003406, 0x0cc00002, 0x0000e180, 0x00007832, 0x00006206,
+ 0x0b08b000, 0x00007900, 0x00021a80, 0x00000980, 0x0b400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x0c401000, 0x0000f900, 0x00014000, 0x00008980,
+ 0x700708ec, 0x0000d680, 0x00385002, 0x00000000, 0x0b804d45, 0x0000e082,
+ 0xc000182f, 0x0000b006, 0x40003032, 0x00006107, 0x00003833, 0x00003106,
+ 0xd1c00000, 0x0000e181, 0x91da6b4d, 0x00004900, 0x0c000000, 0x00006180,
0x8b901202, 0x00004900, 0xcb981302, 0x00009900, 0x00905eec, 0x0000df80,
- 0x00884c40, 0x000080c4, 0x00000ef9, 0x0000f200, 0x03c00000, 0x00001980,
- 0x8000024c, 0x00001582, 0x81000e09, 0x00001283, 0xffffffff, 0x00007f86,
- 0x00000f53, 0x00007010, 0x00000f0c, 0x00007008, 0x0f551880, 0x00007300,
- 0x41013000, 0x00001981, 0x0f571880, 0x0000f300, 0x4100d000, 0x00001981,
- 0x0f59182d, 0x0000f300, 0xc1c00000, 0x00001981, 0x0f5b1880, 0x0000f300,
- 0x41012000, 0x00009981, 0x0f5d182d, 0x00007300, 0xc1c09000, 0x00001981,
- 0x0d00000c, 0x00007900, 0x00000040, 0x00000380, 0xc0404034, 0x0000f88b,
- 0x00400041, 0x00000080, 0x4101b000, 0x00009981, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x0f651880, 0x0000f100, 0x0f67182d, 0x00007300,
- 0xc1c02000, 0x00009981, 0x0f69182d, 0x0000f300, 0xc1c01800, 0x00001981,
- 0x0f6b182d, 0x00007300, 0xc1c03800, 0x00009981, 0x0f6d1880, 0x0000f300,
- 0x41009800, 0x00001981, 0x00000051, 0x0000e582, 0x0dc08302, 0x00008880,
- 0x0d10194b, 0x00007900, 0x00003e4c, 0x00000280, 0x0141ba02, 0x0000e300,
- 0x0b00ac0f, 0x0000a002, 0x00000f78, 0x0000f210, 0x0dc00000, 0x00001990,
- 0x00000c0a, 0x00001583, 0x0dc28851, 0x00009910, 0x00000fcf, 0x0000f009,
- 0x46404545, 0x0000c494, 0x4c20040b, 0x00008589, 0x40e02f25, 0x0000c410,
- 0x16200424, 0x00008494, 0x4120064b, 0x0000c4c0, 0x1a20040f, 0x0000848c,
- 0x7c400034, 0x00007892, 0x00802241, 0x00008000, 0x2ec00437, 0x00004288,
- 0x2832601e, 0x00008317, 0x0000040a, 0x0000f890, 0x00000000, 0x00000000,
- 0x69d8fa4d, 0x0000780a, 0x00800001, 0x00000060, 0x0012631e, 0x00007812,
- 0x00000000, 0x00000000, 0x33e0040a, 0x00004188, 0x00200051, 0x00000090,
- 0x3e600052, 0x0000c791, 0xa120df51, 0x00002112, 0x00000524, 0x00007890,
- 0x00000000, 0x00000000, 0x68401851, 0x0000f88e, 0x00800001, 0x00000060,
- 0x3da00052, 0x0000c791, 0xa0c17448, 0x00009e95, 0x5ec0024c, 0x00007892,
- 0x18800000, 0x0000088d, 0x8d001ee3, 0x00006080, 0x0800300f, 0x00006206,
- 0x0dc0000f, 0x00007900, 0x00000100, 0x00000380, 0x83d1a6e3, 0x00006000,
- 0x00007000, 0x0000a484, 0xbc40620f, 0x0000f902, 0x02c00000, 0x00000004,
- 0xbc40560f, 0x00007902, 0x02400000, 0x00008004, 0xc0200408, 0x000000cd,
- 0x00080000, 0x00006380, 0x0bc00000, 0x00000980, 0x0300623c, 0x00006002,
- 0x0c800000, 0x00000980, 0x00100000, 0x00006380, 0x02c0000b, 0x00000084,
- 0x0280080a, 0x0000e082, 0x0000182f, 0x0000a106, 0x07bfe81e, 0x0000f900,
- 0x003ffffe, 0x00008280, 0xc1c01800, 0x0000e180, 0x0001b832, 0x0000e206,
- 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0cc00002, 0x0000e180,
- 0x02400009, 0x0000c084, 0xc000182f, 0x0000e006, 0xa0001010, 0x0000b403,
+ 0x00884c40, 0x00000384, 0x23c80000, 0x00006180, 0x0800308b, 0x00006206,
+ 0x23060000, 0x00007900, 0x001f2252, 0x00008980, 0x23767000, 0x00007900,
+ 0x0003afc2, 0x00000980, 0x11ae224a, 0x0000f500, 0x2287fa34, 0x00007900,
+ 0x0000003e, 0x00008280, 0xe3d01202, 0x00001900, 0x0e40ac60, 0x00006000,
+ 0x0cc22c0f, 0x0000b002, 0x8147fa34, 0x00007900, 0x0000003e, 0x00008280,
+ 0x6e808405, 0x00007896, 0x00800001, 0x00000000, 0x45a00405, 0x000044ca,
+ 0xde220405, 0x00000496, 0x34c04545, 0x0000f896, 0x00800001, 0x00000000,
+ 0x34400460, 0x0000788a, 0xb0800000, 0x00000b80, 0x00017448, 0x00009583,
+ 0x0001b448, 0x00001593, 0x0d020f57, 0x00001189, 0x00001231, 0x00007011,
+ 0x6d000c34, 0x000078b2, 0x00800001, 0x00008080, 0xffffffff, 0x00007f86,
+ 0xc0028757, 0x00001583, 0x0d004800, 0x0000e191, 0x0d001000, 0x00004989,
+ 0x11c71914, 0x0000f500, 0xffffffff, 0x00007f86, 0xc1e1a434, 0x00009901,
+ 0x11c91967, 0x0000f300, 0x41009000, 0x00009981, 0x11cb1967, 0x00007300,
+ 0x4100a800, 0x00001981, 0x11cd1967, 0x00007300, 0x4100b000, 0x00001981,
+ 0x1800db44, 0x00009000, 0x0d202860, 0x00001100, 0x48217448, 0x0000c292,
+ 0xaa20241e, 0x00000493, 0x62a1b448, 0x0000c492, 0x2620241e, 0x0000848e,
+ 0x767a641f, 0x0000780a, 0x98800000, 0x00000988, 0x8000064b, 0x00006583,
+ 0x0780201e, 0x00000380, 0x07fa674c, 0x0000e101, 0xc0000810, 0x0000e442,
+ 0x0280141e, 0x00009283, 0x07bfe81e, 0x00007910, 0x003ffffe, 0x00008280,
+ 0xc7d26a4d, 0x00009910, 0x8dd2631e, 0x00007812, 0x00800001, 0x00000000,
+ 0x8d42701b, 0x0000f812, 0x00800001, 0x00000000, 0x00013034, 0x00007830,
+ 0x00000000, 0x00000000, 0x8cc4064b, 0x0000788e, 0x00800001, 0x00000060,
+ 0x7a821757, 0x0000f892, 0x00800001, 0x00008080, 0x07bfd81e, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x07202860, 0x00001100, 0x07bf781e, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x04880012, 0x00006380, 0x06e02860, 0x00000100,
+ 0xc7800b1e, 0x00009080, 0x8100464b, 0x00001283, 0x07bfb81e, 0x00007910,
+ 0x003ffffe, 0x00008280, 0x00001275, 0x00007009, 0x8000064b, 0x00009583,
+ 0xc0c00000, 0x000061c8, 0x00007000, 0x000064cc, 0xc0004000, 0x000061c9,
+ 0x01000000, 0x0000c9c8, 0x00001243, 0x0000f040, 0x00080000, 0x00006380,
+ 0x08003060, 0x0000a206, 0x0d000060, 0x00007900, 0x00000100, 0x00000380,
+ 0x0bc00000, 0x000003c8, 0x00100000, 0x00006380, 0x0000182f, 0x0000a106,
+ 0xc1c01800, 0x0000e180, 0x0001a032, 0x0000e206, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x0cc00002, 0x0000e180, 0xc000182f, 0x0000e006,
0x00400000, 0x00007900, 0x00040090, 0x00000980, 0x01501800, 0x00007900,
- 0x0000c080, 0x00000980, 0x001000ec, 0x00005780, 0x00804100, 0x00000380,
- 0x0b18b000, 0x0000f900, 0x00011900, 0x00008980, 0x0b400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0xbc78620f, 0x0000d004, 0x00385800, 0x00000000, 0xbc78560f, 0x00005004,
- 0x00384800, 0x00008000, 0x40003032, 0x00006107, 0xa0000000, 0x0000b482,
- 0xc7d26a4d, 0x00006100, 0x00003833, 0x00006106, 0x04880012, 0x00006380,
- 0x06c28852, 0x00000000, 0x07000751, 0x00008090, 0x0c000000, 0x00006180,
- 0x8b901202, 0x00004900, 0x0bba9502, 0x00008420, 0x1249f44d, 0x00000416,
- 0xc7800b1e, 0x00009080, 0x00905eec, 0x0000df80, 0x00884c40, 0x00008184,
- 0x00000f78, 0x00007400, 0x00013052, 0x0000e502, 0x0dc00000, 0x00000980,
- 0x0dc00800, 0x00009988, 0x8dc10344, 0x00001180, 0x8007e237, 0x00001582,
- 0x80172a4d, 0x00001502, 0x8000064b, 0x00009583, 0x000011f3, 0x0000f018,
- 0x000011fd, 0x0000f010, 0x000011fb, 0x00007048, 0x0107e453, 0x00006283,
- 0x0dc7e453, 0x00008281, 0x000011ff, 0x00007013, 0x0dc01437, 0x0000e781,
- 0x0b804c34, 0x0000a082, 0x0de87434, 0x0000e001, 0x03c07c37, 0x00008080,
- 0x0300200f, 0x00006784, 0x8d000c37, 0x00008880, 0xa3407e34, 0x00002086,
- 0xa3602e34, 0x00002084, 0x02c00c0c, 0x00001081, 0xffffffff, 0x00007f86,
- 0x03c0820f, 0x00009880, 0x83e1bc37, 0x00006100, 0x0100800f, 0x00004784,
- 0x0020780f, 0x0000a080, 0xffffffff, 0x00007fa7, 0x83d07a05, 0x00009100,
- 0x03c0820f, 0x00009880, 0x03c0800f, 0x00009784, 0x01007804, 0x00001100,
- 0x00205804, 0x00009502, 0x83d02c0b, 0x00001040, 0xa3607e34, 0x000028c4,
- 0x000010c5, 0x00007048, 0xa361a634, 0x00002004, 0x03e05804, 0x00009100,
- 0xffffffff, 0x00007f97, 0x0011a00f, 0x00001502, 0x000011ad, 0x0000704b,
- 0x8d001ee3, 0x00006080, 0x00007000, 0x00006484, 0x83d1a6e3, 0x00006000,
- 0xc0001000, 0x00008981, 0xbc40720f, 0x00007902, 0x03400000, 0x00000004,
- 0xbc80580f, 0x0000f902, 0x02800000, 0x00008004, 0x0037f800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0380723c, 0x00006002, 0xc0c00000, 0x00008980, 0x0340000d, 0x00006084,
- 0x01000000, 0x00000980, 0x02c0080b, 0x0000e082, 0x014001c0, 0x00000980,
- 0x0280000a, 0x00006084, 0xc1c00000, 0x00000980, 0x0000040c, 0x00009583,
- 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
- 0x00040090, 0x00000980, 0x001000ec, 0x00005780, 0x00004000, 0x00000080,
- 0xbc78720f, 0x00005004, 0x00386800, 0x00000000, 0x00001184, 0x0000f410,
- 0xbcb8580f, 0x0000d004, 0x00385000, 0x00008000, 0x02800000, 0x0000e188,
- 0xa0000000, 0x0000e482, 0x0bc00000, 0x0000e180, 0x08003037, 0x0000e206,
- 0x0d000037, 0x0000f900, 0x00000100, 0x00000380, 0x0c800000, 0x0000e180,
- 0x0411f00a, 0x00006187, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x0000182f, 0x00006106, 0x00006045, 0x00003406, 0x0cc00002, 0x0000e180,
- 0x0001a032, 0x0000e206, 0x0b08b000, 0x00007900, 0x00021a80, 0x00000980,
+ 0x0000c080, 0x00000980, 0x0b18b000, 0x0000f900, 0x0000d9c0, 0x00000980,
0x0b400000, 0x0000f900, 0x00018008, 0x00000980, 0x0c401000, 0x0000f900,
- 0x00014000, 0x00008980, 0x700708ec, 0x0000d680, 0x00385002, 0x00000000,
- 0x0b804d45, 0x0000e082, 0xc000182f, 0x0000b006, 0x40003032, 0x00006107,
- 0x00003833, 0x00003106, 0xd1c00000, 0x0000e181, 0x91da6b4d, 0x00004900,
- 0x0c000000, 0x00006180, 0x8b901202, 0x00004900, 0xcb981302, 0x00009900,
- 0x00905eec, 0x0000df80, 0x00884c40, 0x00000384, 0x23c80000, 0x00006180,
- 0x0800308b, 0x00006206, 0x23060000, 0x00007900, 0x001f2252, 0x00008980,
- 0x23767000, 0x00007900, 0x0003afc2, 0x00000980, 0x104420e8, 0x0000f500,
- 0x2287fa37, 0x00007900, 0x0000003e, 0x00008280, 0xe3d01202, 0x00001900,
- 0x0e40ac0f, 0x00006000, 0x0cc22c34, 0x00003002, 0x8147fa37, 0x00007900,
- 0x0000003e, 0x00008280, 0x14008405, 0x00007896, 0x00800001, 0x00000000,
- 0x18600405, 0x0000c4ca, 0x0a220405, 0x00008494, 0xda404545, 0x0000f897,
- 0x00400001, 0x00000000, 0xd9c0040f, 0x0000788b, 0x40400000, 0x00008a85,
- 0x00017448, 0x00009583, 0x0001b448, 0x00001593, 0x0dc20f57, 0x00001189,
- 0x000010c7, 0x0000f011, 0x12800c37, 0x000078b2, 0x00800001, 0x00008080,
- 0xffffffff, 0x00007f86, 0xc0028757, 0x00001583, 0x0dc04800, 0x0000e191,
- 0x0dc01000, 0x00004989, 0x105d182d, 0x0000f500, 0xffffffff, 0x00007f86,
- 0xc1e1bc37, 0x00009901, 0x105f1880, 0x0000f300, 0x41009000, 0x00009981,
- 0x10611880, 0x00007300, 0x4100a800, 0x00001981, 0x10631880, 0x0000f300,
- 0x4100b000, 0x00001981, 0x03c0db44, 0x00009000, 0x0de0280f, 0x00001100,
- 0x1ae17448, 0x00004292, 0xd620241e, 0x00008490, 0x3561b448, 0x00004492,
- 0x5220241e, 0x0000848b, 0x1bfa641f, 0x0000780a, 0x48800000, 0x0000088d,
- 0x8000064b, 0x00006583, 0x0780201e, 0x00000380, 0x07fa674c, 0x0000e101,
- 0xc0000810, 0x0000e442, 0x0280141e, 0x00009283, 0x07bfe81e, 0x00007910,
- 0x003ffffe, 0x00008280, 0xc7d26a4d, 0x00009910, 0x3352631e, 0x0000f812,
- 0x00800001, 0x00000000, 0x32c2701b, 0x0000f812, 0x00800001, 0x00000000,
- 0x00013037, 0x00007830, 0x00000000, 0x00000000, 0x3244064b, 0x0000f88e,
- 0x00800001, 0x00000060, 0x20021757, 0x00007892, 0x00800001, 0x00008080,
- 0x07bfd81e, 0x0000f900, 0x003ffffe, 0x00008280, 0x0720280f, 0x00001100,
- 0x07bf781e, 0x0000f900, 0x003ffffe, 0x00008280, 0x04880012, 0x00006380,
- 0x06e0280f, 0x00000100, 0xc7800b1e, 0x00009080, 0x8100464b, 0x00001283,
- 0x07bfb81e, 0x00007910, 0x003ffffe, 0x00008280, 0x0000110b, 0x00007009,
+ 0x0001c000, 0x00000980, 0x117f8045, 0x00007900, 0x003ffffe, 0x00008280,
+ 0x001000ec, 0x00005780, 0x00804100, 0x00000380, 0x40003032, 0x00006107,
+ 0xa0000000, 0x0000b482, 0x0c000000, 0x00006180, 0x00003833, 0x00006106,
+ 0x0ba01502, 0x00008238, 0xd151f23e, 0x00006100, 0x83c01ee3, 0x0000c880,
+ 0x98107ee3, 0x0000e000, 0x41285845, 0x0000a000, 0xbc405260, 0x0000f902,
+ 0x02400000, 0x00008004, 0xbc406c60, 0x00007902, 0x03000000, 0x00008004,
+ 0x51792724, 0x00001901, 0x51425845, 0x0000e802, 0x0280523c, 0x00009002,
+ 0x0340080d, 0x0000e082, 0x02400009, 0x00000084, 0x0300000c, 0x00009084,
+ 0xbc785260, 0x0000d004, 0x00384800, 0x00008000, 0xbc786c60, 0x00005004,
+ 0x00386000, 0x00008000, 0x00905eec, 0x0000df80, 0x00884c40, 0x000080c4,
+ 0x122f1914, 0x0000f300, 0xc1c07000, 0x00009981, 0x12311914, 0x0000f300,
+ 0xc1c0d800, 0x00001981, 0x12331914, 0x00007300, 0xc1c04000, 0x00009981,
+ 0x12351967, 0x0000f300, 0x4100a000, 0x00009981, 0x12371967, 0x00007300,
+ 0x41009000, 0x00009981, 0x00017448, 0x00009583, 0x8000024c, 0x00001582,
+ 0xffffffff, 0x00007f86, 0x0000123f, 0x00007010, 0x0000123f, 0x00007010,
+ 0x81000e09, 0x00001283, 0xc7800000, 0x00009988, 0x000011df, 0x00007009,
+ 0x12411967, 0x0000f300, 0x41013000, 0x00001981, 0x12431967, 0x00007300,
+ 0x4100a800, 0x00001981, 0x0000d034, 0x00001502, 0xa0001010, 0x00006c0a,
+ 0x0000132d, 0x00007011, 0x81000e4b, 0x00001283, 0x11440045, 0x0000e390,
+ 0x0800300f, 0x00002216, 0x000010c3, 0x00007009, 0xc0107b16, 0x00001502,
+ 0xc0c00000, 0x0000e190, 0x00007000, 0x0000e494, 0xc0004000, 0x0000e191,
+ 0x01000000, 0x00004990, 0x000012b6, 0x0000f008, 0x00080000, 0x00006380,
+ 0x0bc00000, 0x00000980, 0x0c800000, 0x0000e180, 0x00100000, 0x0000c380,
+ 0x18000316, 0x00007900, 0x00000100, 0x00000380, 0x000850ec, 0x00005780,
+ 0x00004800, 0x00008080, 0x0000182f, 0x00006106, 0x40003032, 0x00003107,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
+ 0x00040090, 0x00000980, 0x01501800, 0x00007900, 0x0000c3c0, 0x00008980,
+ 0x0b18b000, 0x0000f900, 0x0000d9c0, 0x00000980, 0x0b400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980,
+ 0xc000182f, 0x0000e006, 0x00007045, 0x0000b406, 0x001000ec, 0x00005780,
+ 0x00804100, 0x00000380, 0x00030032, 0x00006206, 0xa0000000, 0x0000b482,
+ 0x41c00403, 0x000083c0, 0x0cc00002, 0x0000e180, 0x8b901202, 0x00004900,
+ 0xcb981302, 0x0000e100, 0x0a000802, 0x00004980, 0x00001219, 0x0000f400,
+ 0x0a400000, 0x0000e180, 0x0a8871a0, 0x00004980, 0x0ac00000, 0x00001980,
0x8000064b, 0x00009583, 0xc0c00000, 0x000061c8, 0x00007000, 0x000064cc,
- 0xc0004000, 0x000061c9, 0x01000000, 0x0000c9c8, 0x000010d9, 0x00007040,
- 0x00080000, 0x00006380, 0x0800300f, 0x0000a206, 0x0dc0000f, 0x00007900,
+ 0xc0004000, 0x000061c9, 0x01000000, 0x0000c9c8, 0x0000132f, 0x00007040,
+ 0x00080000, 0x00006380, 0x08003060, 0x0000a206, 0x0d000060, 0x00007900,
0x00000100, 0x00000380, 0x0bc00000, 0x000003c8, 0x00100000, 0x00006380,
- 0x0000182f, 0x0000a106, 0xc1c01800, 0x0000e180, 0x0001b832, 0x0000e206,
+ 0x0000182f, 0x0000a106, 0xc1c01800, 0x0000e180, 0x0001a032, 0x0000e206,
0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0cc00002, 0x0000e180,
0xc000182f, 0x0000e006, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
- 0x01501800, 0x00007900, 0x0000c080, 0x00000980, 0x0b18b000, 0x0000f900,
+ 0x01501800, 0x00007900, 0x0000c040, 0x00000980, 0x0b18b000, 0x0000f900,
0x0000d9c0, 0x00000980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0x117f8045, 0x00007900,
- 0x003ffffe, 0x00008280, 0x001000ec, 0x00005780, 0x00804100, 0x00000380,
- 0x40003032, 0x00006107, 0xa0000000, 0x0000b482, 0x0c000000, 0x00006180,
- 0x00003833, 0x00006106, 0x0ba01502, 0x00008238, 0xd151f23e, 0x00006100,
- 0x8d001ee3, 0x00004880, 0x83d1a6e3, 0x00006000, 0x41285845, 0x0000a000,
- 0xbc40520f, 0x0000f902, 0x02400000, 0x00008004, 0xbc406c0f, 0x00007902,
- 0x03000000, 0x00008004, 0x51792724, 0x00001901, 0x51425845, 0x0000e802,
- 0x0280523c, 0x00009002, 0x0340080d, 0x0000e082, 0x02400009, 0x00000084,
- 0x0300000c, 0x00009084, 0xbc78520f, 0x0000d004, 0x00384800, 0x00008000,
- 0xbc786c0f, 0x00005004, 0x00386000, 0x00008000, 0x00905eec, 0x0000df80,
- 0x00884c40, 0x000080c4, 0x10c5182d, 0x00007300, 0xc1c07000, 0x00009981,
- 0x10c7182d, 0x0000f300, 0xc1c0d800, 0x00001981, 0x10c9182d, 0x00007300,
- 0xc1c04000, 0x00009981, 0x10cb1880, 0x00007300, 0x4100a000, 0x00009981,
- 0x10cd1880, 0x00007300, 0x41009000, 0x00009981, 0x00017448, 0x00009583,
- 0x8000024c, 0x00001582, 0xffffffff, 0x00007f86, 0x000010d5, 0x00007010,
- 0x000010d5, 0x00007010, 0x81000e09, 0x00001283, 0xc7800000, 0x00009988,
- 0x00001075, 0x0000f009, 0x10d71880, 0x0000f300, 0x41013000, 0x00001981,
- 0x10d91880, 0x00007300, 0x4100a800, 0x00001981, 0x0000d037, 0x00001502,
- 0xa0001010, 0x00006c0a, 0x000011c3, 0x0000f011, 0x81000e4b, 0x00001283,
- 0x11440045, 0x0000e390, 0x08003034, 0x0000a216, 0x00000f59, 0x0000f009,
- 0xc011a316, 0x00009502, 0xc0c00000, 0x0000e190, 0x00007000, 0x0000e494,
- 0xc0004000, 0x0000e191, 0x01000000, 0x00004990, 0x0000114c, 0x0000f008,
+ 0x003ffffe, 0x00008280, 0x40003032, 0x00006107, 0xa0000000, 0x0000b482,
+ 0x0c000000, 0x00006180, 0x00003833, 0x00006106, 0x0ba01502, 0x00008238,
+ 0x82c060ec, 0x0000f902, 0x02800000, 0x00008604, 0x83c01ee3, 0x0000e080,
+ 0x00200013, 0x0000e585, 0x98107ee3, 0x0000e000, 0x00104813, 0x00002302,
+ 0xbc785260, 0x0000a084, 0xbc786c60, 0x00002084, 0x08806209, 0x0000e000,
+ 0xd151f23e, 0x00008900, 0xbc784a60, 0x00002004, 0xbc786460, 0x00002004,
+ 0x0280523c, 0x00006002, 0x41285845, 0x0000a000, 0x51792724, 0x00006101,
+ 0x0780401e, 0x0000c380, 0x02400009, 0x00006084, 0x51425845, 0x0000a002,
+ 0x0340080d, 0x0000e082, 0x04900012, 0x00000380, 0x0300000c, 0x00009084,
+ 0x001000ec, 0x00005780, 0x00804100, 0x00000380, 0xbc785260, 0x0000d004,
+ 0x00384800, 0x00008000, 0xbc786c60, 0x00005004, 0x00386000, 0x00008000,
+ 0x00905eec, 0x0000df80, 0x00884c40, 0x000080c4, 0x08003034, 0x0000e206,
+ 0x00007000, 0x00003484, 0xc0200408, 0x000000cd, 0x00080000, 0x00006380,
+ 0x0bc00000, 0x00000980, 0x03c00034, 0x00007900, 0x00000100, 0x00000380,
+ 0x0c800000, 0x0000e180, 0x00100000, 0x0000c380, 0x000850ec, 0x00005780,
+ 0x00004800, 0x00008080, 0x0000182f, 0x00006106, 0x00007832, 0x00003206,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc1c01800, 0x0000e180,
+ 0x0cc00002, 0x0000c980, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
+ 0x01521800, 0x0000f900, 0x0000c080, 0x00000980, 0x0b18b000, 0x0000f900,
+ 0x0000d9c0, 0x00000980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0xc000182f, 0x0000e006,
+ 0x00007045, 0x0000b406, 0x001000ec, 0x00005780, 0x00804100, 0x00000380,
+ 0x40003032, 0x00006107, 0xa0000000, 0x0000b482, 0x01000000, 0x0000e180,
+ 0x00003833, 0x00006106, 0x0c000000, 0x00006180, 0x8b901202, 0x00004900,
+ 0xcb981302, 0x0000e100, 0x0a000a00, 0x00004980, 0x00001219, 0x0000f400,
+ 0x0a480000, 0x000082e8, 0x0ac00000, 0x00001980, 0x8000024c, 0x00001582,
+ 0x000012e5, 0x0000f013, 0x81000e09, 0x00001283, 0xc7800000, 0x00009988,
+ 0x000010fe, 0x0000f009, 0x12e71967, 0x0000f300, 0x41013000, 0x00001981,
+ 0x03c28852, 0x00009000, 0x0001300f, 0x00009502, 0x41001800, 0x00009999,
+ 0x000010fe, 0x00007031, 0x12ec1967, 0x0000f100, 0x12ee1967, 0x0000f300,
+ 0x4101a800, 0x00009981, 0x0bc00000, 0x0000e180, 0x08003060, 0x00006206,
+ 0x0d000060, 0x00007900, 0x00000100, 0x00000380, 0x0c800000, 0x0000e180,
+ 0x00006045, 0x00006406, 0x0000182f, 0x00006106, 0x0001a032, 0x0000b206,
+ 0x0cc00002, 0x0000e180, 0x0b804d45, 0x0000e082, 0x0b08b000, 0x00007900,
+ 0x0000dac0, 0x00000980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x0c401000, 0x0000f900, 0x00014000, 0x00008980, 0xc000182f, 0x0000e006,
+ 0x40003032, 0x00003107, 0x91da6b4d, 0x00006100, 0x00003833, 0x00006106,
+ 0x51c0030c, 0x00000380, 0x0ba81402, 0x00008238, 0xd151f23e, 0x00001900,
+ 0x00905eec, 0x0000df80, 0x00884c40, 0x000080c4, 0x13091967, 0x00007300,
+ 0x41001000, 0x00001981, 0x130b1967, 0x0000f300, 0x41000000, 0x00009981,
+ 0x130d1967, 0x0000f300, 0x41000800, 0x00001981, 0x81000e09, 0x00001283,
+ 0xc7800000, 0x00009988, 0x000010f2, 0x0000f009, 0x000012e5, 0x00007000,
+ 0x13131967, 0x0000f300, 0x41012800, 0x00001981, 0x13151967, 0x0000f300,
+ 0x4100b000, 0x00001981, 0x13171914, 0x0000f300, 0xc1c0c800, 0x00009981,
+ 0x98003434, 0x00001780, 0x83d79a60, 0x00007900, 0x00000006, 0x00008080,
+ 0x0000500f, 0x00007902, 0x01400000, 0x00000000, 0x0d01fc34, 0x00006281,
+ 0x1800fc34, 0x00000281, 0x0000fc34, 0x00006583, 0x012307e4, 0x00000800,
+ 0xffffffff, 0x00007f86, 0x02805004, 0x0000e330, 0x01402804, 0x00008318,
+ 0xffffffff, 0x00007f86, 0x0038500f, 0x0000d000, 0x00382800, 0x00008000,
+ 0x01403800, 0x00009980, 0x823f1005, 0x0000e802, 0x00001163, 0x00007400,
+ 0x00382aec, 0x0000d600, 0x00000000, 0x00008080, 0x100000ec, 0x0000d680,
+ 0x00000000, 0x00008080, 0x132f1967, 0x0000f300, 0x4101b800, 0x00001981,
+ 0x0000d034, 0x00001502, 0x0800300f, 0x0000ea2e, 0x0000132d, 0x00007021,
+ 0x0018b00f, 0x00009502, 0xc0c00000, 0x0000e190, 0x00007000, 0x0000e494,
+ 0xc0004000, 0x0000e191, 0x01000000, 0x00004990, 0x00001379, 0x00007008,
0x00080000, 0x00006380, 0x0bc00000, 0x00000980, 0x0c800000, 0x0000e180,
- 0x00100000, 0x0000c380, 0x03c00316, 0x00007900, 0x00000100, 0x00000380,
- 0x000850ec, 0x00005780, 0x00004800, 0x00008080, 0x0000182f, 0x00006106,
- 0x40003032, 0x00003107, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x00400000, 0x00007900, 0x00040090, 0x00000980, 0x01501800, 0x00007900,
- 0x0000c3c0, 0x00008980, 0x0b18b000, 0x0000f900, 0x0000d9c0, 0x00000980,
- 0x0b400000, 0x0000f900, 0x00018008, 0x00000980, 0x0c401000, 0x0000f900,
- 0x0001c000, 0x00000980, 0xc000182f, 0x0000e006, 0x00007045, 0x0000b406,
- 0x001000ec, 0x00005780, 0x00804100, 0x00000380, 0x00007832, 0x00006206,
- 0xa0000000, 0x0000b482, 0x41c00403, 0x000083c0, 0x0cc00002, 0x0000e180,
- 0x8b901202, 0x00004900, 0xcb981302, 0x0000e100, 0x0a000802, 0x00004980,
- 0x000010af, 0x0000f400, 0x0a400000, 0x0000e180, 0x0a8871a0, 0x00004980,
- 0x0ac00000, 0x00001980, 0x8000064b, 0x00009583, 0xc0c00000, 0x000061c8,
- 0x00007000, 0x000064cc, 0xc0004000, 0x000061c9, 0x01000000, 0x0000c9c8,
- 0x000011c5, 0x00007040, 0x00080000, 0x00006380, 0x0800300f, 0x0000a206,
- 0x0dc0000f, 0x00007900, 0x00000100, 0x00000380, 0x0bc00000, 0x000003c8,
- 0x00100000, 0x00006380, 0x0000182f, 0x0000a106, 0xc1c01800, 0x0000e180,
- 0x0001b832, 0x0000e206, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0cc00002, 0x0000e180, 0xc000182f, 0x0000e006, 0x00400000, 0x00007900,
- 0x00040090, 0x00000980, 0x01501800, 0x00007900, 0x0000c040, 0x00000980,
- 0x0b18b000, 0x0000f900, 0x0000d9c0, 0x00000980, 0x0b400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0x117f8045, 0x00007900, 0x003ffffe, 0x00008280, 0x40003032, 0x00006107,
- 0xa0000000, 0x0000b482, 0x0c000000, 0x00006180, 0x00003833, 0x00006106,
- 0x0ba01502, 0x00008238, 0x82c060ec, 0x0000f902, 0x02800000, 0x00008604,
- 0x8d001ee3, 0x00006080, 0x00200013, 0x0000e585, 0x83d1a6e3, 0x00006000,
- 0x00104813, 0x00002302, 0xbc78520f, 0x0000a084, 0xbc786c0f, 0x00002084,
- 0x08806209, 0x0000e000, 0xd151f23e, 0x00008900, 0xbc784a0f, 0x00002004,
- 0xbc78640f, 0x00002004, 0x0280523c, 0x00006002, 0x41285845, 0x0000a000,
- 0x51792724, 0x00006101, 0x0780401e, 0x0000c380, 0x02400009, 0x00006084,
- 0x51425845, 0x0000a002, 0x0340080d, 0x0000e082, 0x04900012, 0x00000380,
- 0x0300000c, 0x00009084, 0x001000ec, 0x00005780, 0x00804100, 0x00000380,
- 0xbc78520f, 0x0000d004, 0x00384800, 0x00008000, 0xbc786c0f, 0x00005004,
- 0x00386000, 0x00008000, 0x00905eec, 0x0000df80, 0x00884c40, 0x000080c4,
- 0x08003037, 0x0000e206, 0x00007000, 0x00003484, 0xc0200408, 0x000000cd,
- 0x00080000, 0x00006380, 0x0bc00000, 0x00000980, 0x0d000037, 0x0000f900,
- 0x00000100, 0x00000380, 0x0c800000, 0x0000e180, 0x00100000, 0x0000c380,
- 0x000850ec, 0x00005780, 0x00004800, 0x00008080, 0x0000182f, 0x00006106,
- 0x0001a032, 0x0000b206, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x00100000, 0x0000c380, 0x18000316, 0x00007900, 0x00000100, 0x00000380,
+ 0x0000182f, 0x00006106, 0x40003032, 0x00003107, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
+ 0x01501800, 0x00007900, 0x0000c380, 0x00000980, 0x0b18b000, 0x0000f900,
+ 0x0000d9c0, 0x00000980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0xc000182f, 0x0000e006,
+ 0x00007045, 0x0000b406, 0x000850ec, 0x00005780, 0x00004800, 0x00008080,
+ 0x00030032, 0x00006206, 0xa0000000, 0x0000b482, 0x41c00403, 0x000083c0,
+ 0x0cc00002, 0x0000e180, 0x8b901202, 0x00004900, 0xcb981302, 0x0000e100,
+ 0x0a000802, 0x00004980, 0x00001299, 0x00007400, 0x0a400000, 0x0000e180,
+ 0x0a8871a0, 0x00004980, 0x0ac00000, 0x00001980, 0x135d1967, 0x0000f300,
+ 0x41004000, 0x00001981, 0x135f1914, 0x0000f300, 0xc1c09800, 0x00009981,
+ 0x13611914, 0x00007300, 0xc1c0a800, 0x00009981, 0x13631914, 0x0000f300,
+ 0xc1c0a000, 0x00001981, 0x13651914, 0x0000f300, 0xc1c0b800, 0x00001981,
+ 0x13671914, 0x00007300, 0xc1c0b000, 0x00009981, 0x13691914, 0x0000f300,
+ 0xc1c0c000, 0x00001981, 0x03c10434, 0x00006080, 0x181a2344, 0x00000900,
+ 0x00007860, 0x00001502, 0xc1c0d000, 0x00001991, 0x00001147, 0x0000f009,
+ 0x136f1914, 0x00007100, 0x13711914, 0x0000f300, 0xc1c05000, 0x00001981,
+ 0x13731914, 0x00007300, 0xc1c02000, 0x00009981, 0x13751967, 0x0000f300,
+ 0x4101a000, 0x00001981, 0x13771967, 0x00007300, 0x41002800, 0x00009981,
+ 0x13791967, 0x0000f300, 0x41012000, 0x00009981, 0x08003034, 0x0000e206,
+ 0x00007000, 0x00003484, 0xc0200408, 0x000000cd, 0x00080000, 0x00006380,
+ 0x0bc00000, 0x00000980, 0x03c00034, 0x00007900, 0x00000100, 0x00000380,
+ 0x0c800000, 0x0000e180, 0x00100000, 0x0000c380, 0x0000182f, 0x00006106,
+ 0x00007832, 0x00003206, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
0xc1c01800, 0x0000e180, 0x0cc00002, 0x0000c980, 0x00400000, 0x00007900,
- 0x00040090, 0x00000980, 0x01521800, 0x0000f900, 0x0000c080, 0x00000980,
- 0x0b18b000, 0x0000f900, 0x0000d9c0, 0x00000980, 0x0b400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0xc000182f, 0x0000e006, 0x00007045, 0x0000b406, 0x001000ec, 0x00005780,
- 0x00804100, 0x00000380, 0x40003032, 0x00006107, 0xa0000000, 0x0000b482,
- 0x01000000, 0x0000e180, 0x00003833, 0x00006106, 0x0c000000, 0x00006180,
- 0x8b901202, 0x00004900, 0xcb981302, 0x0000e100, 0x0a000a00, 0x00004980,
- 0x000010af, 0x0000f400, 0x0a480000, 0x000082e8, 0x0ac00000, 0x00001980,
- 0x8000024c, 0x00001582, 0x0000117b, 0x00007013, 0x81000e09, 0x00001283,
- 0xc7800000, 0x00009988, 0x00000f94, 0x00007009, 0x117d1880, 0x00007300,
- 0x41013000, 0x00001981, 0x0d028852, 0x00001000, 0x00013034, 0x00001502,
- 0x41001800, 0x00009999, 0x00000f94, 0x0000f031, 0x11821880, 0x0000f100,
- 0x11841880, 0x00007300, 0x4101a800, 0x00009981, 0x0bc00000, 0x0000e180,
- 0x0800300f, 0x00006206, 0x0dc0000f, 0x00007900, 0x00000100, 0x00000380,
- 0x0c800000, 0x0000e180, 0x00006045, 0x00006406, 0x0000182f, 0x00006106,
- 0x0001b832, 0x0000b206, 0x0cc00002, 0x0000e180, 0x0b804d45, 0x0000e082,
- 0x0b08b000, 0x00007900, 0x0000dac0, 0x00000980, 0x0b400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x0c401000, 0x0000f900, 0x00014000, 0x00008980,
- 0xc000182f, 0x0000e006, 0x40003032, 0x00003107, 0x91da6b4d, 0x00006100,
- 0x00003833, 0x00006106, 0x51c0030c, 0x00000380, 0x0ba81402, 0x00008238,
- 0xd151f23e, 0x00001900, 0x00905eec, 0x0000df80, 0x00884c40, 0x000080c4,
- 0x119f1880, 0x00007300, 0x41001000, 0x00001981, 0x11a11880, 0x0000f300,
- 0x41000000, 0x00009981, 0x11a31880, 0x00007300, 0x41000800, 0x00001981,
- 0x81000e09, 0x00001283, 0xc7800000, 0x00009988, 0x00000f88, 0x0000f009,
- 0x0000117b, 0x0000f000, 0x11a91880, 0x00007300, 0x41012800, 0x00001981,
- 0x11ab1880, 0x0000f300, 0x4100b000, 0x00001981, 0x11ad182d, 0x00007300,
- 0xc1c0c800, 0x00009981, 0x83c03437, 0x00001780, 0x8d179a0f, 0x0000f900,
- 0x00000006, 0x00008080, 0x00002834, 0x0000f902, 0x01000000, 0x00008000,
- 0x0dc1fc37, 0x00006281, 0x03c0fc37, 0x00000281, 0x0000fc37, 0x00006583,
- 0x02e07fe4, 0x00000800, 0xffffffff, 0x00007f86, 0x0100200b, 0x0000e318,
- 0x0140280b, 0x00008330, 0xffffffff, 0x00007f86, 0x00382834, 0x00005000,
- 0x00382000, 0x00000000, 0x01403800, 0x00009980, 0x823f1005, 0x0000e802,
- 0x00000ff9, 0x00007400, 0x00382aec, 0x0000d600, 0x00000000, 0x00008080,
- 0x100000ec, 0x0000d680, 0x00000000, 0x00008080, 0x11c51880, 0x00007300,
- 0x4101b800, 0x00001981, 0x0000d037, 0x00001502, 0x08003034, 0x00006a2e,
- 0x000011c3, 0x0000f021, 0x0018b034, 0x00001502, 0xc0c00000, 0x0000e190,
- 0x00007000, 0x0000e494, 0xc0004000, 0x0000e191, 0x01000000, 0x00004990,
- 0x0000120f, 0x00007008, 0x00080000, 0x00006380, 0x0bc00000, 0x00000980,
- 0x0c800000, 0x0000e180, 0x00100000, 0x0000c380, 0x03c00316, 0x00007900,
- 0x00000100, 0x00000380, 0x0000182f, 0x00006106, 0x40003032, 0x00003107,
- 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
- 0x00040090, 0x00000980, 0x01501800, 0x00007900, 0x0000c380, 0x00000980,
+ 0x00040090, 0x00000980, 0x01501800, 0x00007900, 0x0000c040, 0x00000980,
0x0b18b000, 0x0000f900, 0x0000d9c0, 0x00000980, 0x0b400000, 0x0000f900,
0x00018008, 0x00000980, 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0xc000182f, 0x0000e006, 0x00007045, 0x0000b406, 0x000850ec, 0x00005780,
- 0x00004800, 0x00008080, 0x00007832, 0x00006206, 0xa0000000, 0x0000b482,
- 0x41c00403, 0x000083c0, 0x0cc00002, 0x0000e180, 0x8b901202, 0x00004900,
- 0xcb981302, 0x0000e100, 0x0a000802, 0x00004980, 0x0000112f, 0x0000f400,
- 0x0a400000, 0x0000e180, 0x0a8871a0, 0x00004980, 0x0ac00000, 0x00001980,
- 0x11f31880, 0x00007300, 0x41004000, 0x00001981, 0x11f5182d, 0x0000f300,
- 0xc1c09800, 0x00009981, 0x11f7182d, 0x00007300, 0xc1c0a800, 0x00009981,
- 0x11f9182d, 0x0000f300, 0xc1c0a000, 0x00001981, 0x11fb182d, 0x00007300,
- 0xc1c0b800, 0x00001981, 0x11fd182d, 0x00007300, 0xc1c0b000, 0x00009981,
- 0x11ff182d, 0x0000f300, 0xc1c0c000, 0x00001981, 0x0d010437, 0x0000e080,
- 0x03da2344, 0x00000900, 0x0001a00f, 0x00009502, 0xc1c0d000, 0x00001991,
- 0x00000fdd, 0x0000f009, 0x1205182d, 0x00007100, 0x1207182d, 0x00007300,
- 0xc1c05000, 0x00001981, 0x1209182d, 0x0000f300, 0xc1c02000, 0x00009981,
- 0x120b1880, 0x0000f300, 0x4101a000, 0x00001981, 0x120d1880, 0x0000f300,
- 0x41002800, 0x00009981, 0x120f1880, 0x00007300, 0x41012000, 0x00009981,
- 0x08003037, 0x0000e206, 0x00007000, 0x00003484, 0xc0200408, 0x000000cd,
- 0x00080000, 0x00006380, 0x0bc00000, 0x00000980, 0x0d000037, 0x0000f900,
- 0x00000100, 0x00000380, 0x0c800000, 0x0000e180, 0x00100000, 0x0000c380,
- 0x0000182f, 0x00006106, 0x0001a032, 0x0000b206, 0x003bf800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0xc1c01800, 0x0000e180, 0x0cc00002, 0x0000c980,
- 0x00400000, 0x00007900, 0x00040090, 0x00000980, 0x01501800, 0x00007900,
- 0x0000c040, 0x00000980, 0x0b18b000, 0x0000f900, 0x0000d9c0, 0x00000980,
- 0x0b400000, 0x0000f900, 0x00018008, 0x00000980, 0x0c401000, 0x0000f900,
- 0x0001c000, 0x00000980, 0xc000182f, 0x0000e006, 0x00007045, 0x0000b406,
- 0x40003032, 0x00006107, 0xa0000000, 0x0000b482, 0x01000000, 0x0000e180,
- 0x00003833, 0x00006106, 0x0000112f, 0x0000f400, 0x0c000000, 0x00006180,
- 0x8b901202, 0x00004900, 0xcb981302, 0x00009900, 0x1234182d, 0x00007300,
- 0xc1c03800, 0x00009981, 0x01408302, 0x0000e080, 0x0d029c34, 0x0000e000,
- 0x0dd0014b, 0x00007900, 0x00003a0c, 0x00000280, 0x0300d826, 0x00006100,
- 0x0b00ac0f, 0x0000a002, 0x01402a02, 0x00009300, 0xed204545, 0x0000c495,
- 0xce00040b, 0x0000838e, 0xeca02f25, 0x0000c411, 0x0800064b, 0x000004c6,
- 0xeb20040f, 0x0000448b, 0x0400241e, 0x00000496, 0xc0000037, 0x00007892,
- 0x00802201, 0x00000000, 0x0000864b, 0x00007894, 0x00000000, 0x00000000,
- 0xbf800434, 0x0000f892, 0x00800001, 0x00000060, 0x0000141e, 0x0000f894,
- 0x00000000, 0x00000000, 0xbf126b1f, 0x0000f80a, 0x00800001, 0x00000060,
- 0x5392601e, 0x00004110, 0x00200553, 0x00008090, 0x00c0c344, 0x000047b1,
- 0x84c0024c, 0x00000a96, 0x5f400e09, 0x0000c494, 0x38200553, 0x00008495,
- 0xa680c344, 0x0000f89a, 0x00800001, 0x00008080, 0x12800000, 0x0000e180,
- 0x00000845, 0x0000e484, 0x0100841e, 0x0000e283, 0xd151f23e, 0x00008900,
- 0x40c0f045, 0x00006000, 0x002a984f, 0x0000b000, 0x91d8fb1f, 0x00006100,
- 0x516a9845, 0x00006002, 0x12fab754, 0x00000430, 0x00001262, 0x00007410,
- 0x13400755, 0x000004b8, 0x12829d53, 0x00000428, 0x0000000c, 0x00009582,
- 0x1380d826, 0x0000e110, 0x13c0084f, 0x00008390, 0x00007000, 0x00006484,
- 0xa0001010, 0x00003402, 0xc0200405, 0x000080cd, 0x00080000, 0x00006380,
- 0x01000000, 0x00000980, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
- 0x00040090, 0x00000980, 0x01521800, 0x0000f900, 0x00004080, 0x00008980,
- 0x0b18b000, 0x0000f900, 0x00015880, 0x00000980, 0xc1c00000, 0x0000e180,
- 0xa0000000, 0x0000e482, 0x0a000a00, 0x00006180, 0x0a400000, 0x0000c980,
- 0x0a800100, 0x000002ec, 0x0b400000, 0x000082fc, 0x0c000000, 0x000083c4,
- 0x0cc00000, 0x000083c8, 0x8d001ee3, 0x00006080, 0x08003037, 0x0000e206,
- 0x03c00037, 0x00007900, 0x00000100, 0x00000380, 0x8dd1a6e3, 0x0000e000,
- 0xd000082d, 0x0000a404, 0xbc404a37, 0x00007902, 0x02000000, 0x00000004,
- 0xbc805837, 0x00007902, 0x02800000, 0x00008004, 0x0000182f, 0x00006106,
- 0x00001031, 0x0000b406, 0x00007832, 0x00006206, 0x00800033, 0x00003586,
- 0x02404a3c, 0x00006002, 0x9000182d, 0x00002403, 0x02000008, 0x00006084,
- 0xc000182f, 0x00002006, 0x02c0080b, 0x0000e082, 0x80003831, 0x0000a405,
- 0x0280000a, 0x00006084, 0x00003833, 0x0000a106, 0x001000ec, 0x00005780,
- 0x00804100, 0x000001c0, 0x8b901202, 0x00006100, 0x40003032, 0x00006107,
- 0xbc784a37, 0x00005004, 0x00384000, 0x00000000, 0xbcb85837, 0x00005004,
- 0x00385000, 0x00008000, 0xcb981302, 0x00009900, 0x009856ec, 0x0000df80,
- 0x00884c40, 0x000001c4, 0x129c1880, 0x00007300, 0x41006000, 0x00009981,
- 0x0140841e, 0x00006283, 0x02c00000, 0x00000980, 0x03000000, 0x0000e190,
- 0x02800000, 0x00004980, 0x00002056, 0x0000e582, 0x0d429c37, 0x0000a000,
- 0x02c00800, 0x0000e190, 0x0dc29c0f, 0x00006000, 0x00004056, 0x0000e582,
- 0x0cc29c09, 0x0000a004, 0x02800800, 0x00006190, 0x0e029c05, 0x00006000,
- 0xac800409, 0x0000f892, 0x00800001, 0x00000000, 0x00000c37, 0x0000c08a,
- 0x00002553, 0x00008088, 0x0101371b, 0x0000c510, 0x0082a70c, 0x00008416,
- 0x00c0000c, 0x00004790, 0x04a1371b, 0x00000023, 0x00806754, 0x00004512,
- 0x04802553, 0x0000008a, 0x12b41880, 0x00007300, 0x41004800, 0x00009981,
- 0x0dc00800, 0x00009981, 0x00000c05, 0x00007890, 0x00000000, 0x00000000,
- 0xbd205c0a, 0x0000780e, 0x00800001, 0x00000060, 0x00000c0f, 0x00007890,
- 0x00000000, 0x00000000, 0xbb800055, 0x00007892, 0x00800001, 0x00000060,
- 0x58200434, 0x0000c48a, 0xec218615, 0x0000048d, 0xbb001609, 0x0000f88e,
- 0x00800001, 0x00008080, 0x8d12aa56, 0x00006000, 0x08025c0f, 0x00002002,
- 0x8d00c234, 0x00001080, 0x8d11a40f, 0x00001000, 0x801a2234, 0x00009502,
- 0x41006000, 0x00009999, 0x000012c9, 0x00007031, 0x12c91880, 0x0000f100,
- 0x00007000, 0x00006484, 0x00001045, 0x0000b484, 0xc0002800, 0x0000e181,
- 0xd151f23e, 0x00004900, 0x00080000, 0x00006380, 0x40c0f045, 0x0000a000,
+ 0xc000182f, 0x0000e006, 0x00007045, 0x0000b406, 0x40003032, 0x00006107,
+ 0xa0000000, 0x0000b482, 0x01000000, 0x0000e180, 0x00003833, 0x00006106,
+ 0x00001299, 0x00007400, 0x0c000000, 0x00006180, 0x8b901202, 0x00004900,
+ 0xcb981302, 0x00009900, 0x139e1914, 0x00007300, 0xc1c03800, 0x00009981,
+ 0x01408302, 0x0000e080, 0x0d029c0f, 0x00006000, 0x0d10014b, 0x00007900,
+ 0x00003a0c, 0x00000280, 0x0300d826, 0x00006100, 0x0b00ac60, 0x0000a002,
+ 0x01402a02, 0x00009300, 0x1a604545, 0x00004494, 0xa220040b, 0x00000489,
+ 0x19e02f25, 0x0000c410, 0xdc20064b, 0x000005c0, 0x18600460, 0x0000448a,
+ 0xd820241e, 0x00008590, 0x1a800034, 0x0000f893, 0x00802201, 0x00000000,
+ 0x0000864b, 0x00007894, 0x00000000, 0x00000000, 0x1a00040f, 0x00007893,
+ 0x00800001, 0x00000060, 0x0000141e, 0x0000f894, 0x00000000, 0x00000000,
+ 0x19926b1f, 0x0000f80b, 0x00800001, 0x00000060, 0x80d2601e, 0x00004110,
+ 0x00200553, 0x00008090, 0x00c0c344, 0x000047b1, 0x84c0024c, 0x00000a96,
+ 0x8c800e09, 0x00004494, 0x0c200553, 0x00008590, 0x0100c344, 0x0000789b,
+ 0x00800001, 0x00008080, 0x12800000, 0x0000e180, 0x00000845, 0x0000e484,
+ 0x0100841e, 0x0000e283, 0xd151f23e, 0x00008900, 0x40c0f045, 0x00006000,
+ 0x002a984f, 0x0000b000, 0x91d8fb1f, 0x00006100, 0x516a9845, 0x00006002,
+ 0x12fab754, 0x00000430, 0x000013cc, 0x00007410, 0x13400755, 0x000004b8,
+ 0x12829d53, 0x00000428, 0x0000000c, 0x00009582, 0x1380d826, 0x0000e110,
+ 0x13c0084f, 0x00008390, 0x00007000, 0x00006484, 0xa0001010, 0x00003402,
+ 0xc0200405, 0x000080cd, 0x00080000, 0x00006380, 0x01000000, 0x00000980,
0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x003bf800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x0021b84f, 0x0000e000, 0xa0001010, 0x00003402,
- 0x00400000, 0x00007900, 0x00040090, 0x00000980, 0x01521800, 0x0000f900,
- 0x00004080, 0x00008980, 0x0b18b000, 0x0000f900, 0x000158c0, 0x00008980,
- 0x51425845, 0x00006002, 0xa0000000, 0x0000b482, 0x91c2681f, 0x00008422,
- 0x923a714d, 0x00000424, 0x128a9853, 0x00008428, 0x12bab553, 0x00008430,
- 0x40c00400, 0x000080d0, 0xc1c00000, 0x0000e180, 0x0a000a00, 0x00004980,
- 0x0a480000, 0x000082e8, 0x0ac00000, 0x000002f4, 0x0bc00000, 0x000083c0,
- 0x0c400000, 0x000003c8, 0x00001279, 0x0000f400, 0x0cc00000, 0x00006180,
- 0x12c2a054, 0x0000c900, 0x13baaf0c, 0x00000434, 0x12ee1880, 0x00007300,
- 0x41008800, 0x00009981, 0x12f01880, 0x00007300, 0x41005800, 0x00001981,
- 0x58200434, 0x0000c48a, 0xec218615, 0x0000048d, 0xb0401609, 0x0000f896,
- 0x60800000, 0x00008987, 0x12f61880, 0x00007300, 0x41005000, 0x00009981,
- 0x12f81880, 0x0000f300, 0x41007800, 0x00009981, 0x000012b5, 0x0000f200,
- 0x0dc00000, 0x00001981, 0x12fc1880, 0x00007300, 0x41013000, 0x00001981,
- 0x12fe1880, 0x0000f300, 0x41012800, 0x00001981, 0x13001880, 0x0000f300,
- 0x41008000, 0x00001981, 0x13021880, 0x00007300, 0x41007800, 0x00009981,
- 0x13041880, 0x00007300, 0x41007000, 0x00001981, 0x13061880, 0x0000f300,
- 0x41019800, 0x00009981, 0x0d422837, 0x00006880, 0x02800837, 0x00001282,
- 0x09024c0f, 0x0000e00e, 0x0a024c34, 0x0000300e, 0x000013f4, 0x0000f011,
- 0x0000440f, 0x00001583, 0x000014e0, 0x0000f00b, 0x8000064b, 0x00009583,
- 0x00001494, 0x0000f043, 0x03c08302, 0x00009880, 0x03007a02, 0x00009300,
- 0xed200837, 0x0000c495, 0x3600040b, 0x0000048f, 0xeca06725, 0x0000c411,
- 0x32001424, 0x00008497, 0xe5c11f49, 0x0000f88a, 0x00800001, 0x00008080,
- 0xffffffff, 0x00007f86, 0xc0019f49, 0x00001583, 0x0dc04000, 0x00001989,
- 0x00001395, 0x00007011, 0x66017448, 0x0000448a, 0x4a20241e, 0x0000848e,
- 0xc960ff4c, 0x0000f812, 0x00800001, 0x00000000, 0x72b1ba4b, 0x0000c412,
- 0x0e20141e, 0x00000497, 0x64f0f94d, 0x00004410, 0x5230f14c, 0x0000840e,
- 0x0e017448, 0x0000c590, 0x8700024c, 0x00000696, 0x13271880, 0x0000f300,
- 0x4100e800, 0x00009981, 0x13291880, 0x00007300, 0x41012800, 0x00001981,
- 0x0dd0594b, 0x0000f900, 0x00003c0c, 0x00000280, 0x00000037, 0x00007900,
- 0x00002400, 0x00000582, 0x41010000, 0x00009991, 0x00001336, 0x00007009,
- 0x13301880, 0x00007100, 0x0140241e, 0x00009283, 0x0780201e, 0x0000e388,
- 0x07fa674c, 0x00008909, 0x4100e000, 0x00009991, 0x0000131f, 0x00007008,
- 0x13361880, 0x00007100, 0x0d00c64b, 0x00006281, 0x08025c0f, 0x00002002,
- 0x0000c434, 0x0000e583, 0x0de07b44, 0x00008100, 0x83c01ee3, 0x0000e080,
- 0x0d00d837, 0x0000c000, 0x06c0d837, 0x0000e000, 0x1181a034, 0x00008900,
- 0x8dd07ee3, 0x00006000, 0x11402800, 0x00000980, 0xbc402a37, 0x00007902,
- 0x01000000, 0x00000004, 0xbc805037, 0x0000f902, 0x02400000, 0x00008004,
- 0x07bfd81e, 0x00007908, 0x003ffffe, 0x00008280, 0x0800300f, 0x00006206,
- 0x00007000, 0x00003484, 0x01402a3c, 0x00006002, 0x0f80f434, 0x00002000,
- 0x01000004, 0x00006084, 0xc0004000, 0x00008981, 0x0280080a, 0x0000e082,
- 0x00080000, 0x00000380, 0x02400009, 0x00006084, 0xc0c00000, 0x00008980,
- 0xbc782a37, 0x00005004, 0x00382000, 0x00000000, 0xbcb85037, 0x0000d004,
- 0x00384800, 0x00008000, 0x0dc0000f, 0x00007900, 0x00000100, 0x00000380,
- 0x03c00c34, 0x00006481, 0x0bc00000, 0x00000980, 0x0c800000, 0x0000e180,
- 0x71e07845, 0x00006000, 0xd151f23e, 0x00006100, 0x00100000, 0x0000c380,
- 0x40c0f045, 0x00006000, 0x0000182f, 0x00003106, 0x51425c45, 0x0000e002,
- 0x0001b832, 0x0000b206, 0x001000ec, 0x00005780, 0x00804100, 0x00000380,
- 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x04880012, 0x00006380,
- 0xc1c01800, 0x00000980, 0x02040445, 0x00006283, 0x0cc00002, 0x00000980,
- 0x00400000, 0x00007900, 0x00040090, 0x00000980, 0x0b18b000, 0x0000f900,
- 0x0000d9c0, 0x00000980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0x01521800, 0x0000f900,
- 0x0000c080, 0x00000980, 0xc000182f, 0x0000e006, 0x40003032, 0x00003107,
- 0x000850ec, 0x00005780, 0x00004800, 0x00008080, 0x00003833, 0x00006106,
- 0xa0000000, 0x0000b482, 0x04000000, 0x0000f910, 0x00020002, 0x00008980,
- 0x0c000000, 0x00006180, 0x8b901202, 0x00004900, 0x0ba26d02, 0x0000041c,
+ 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
+ 0x01521800, 0x0000f900, 0x00004080, 0x00008980, 0x0b18b000, 0x0000f900,
+ 0x00015880, 0x00000980, 0xc1c00000, 0x0000e180, 0xa0000000, 0x0000e482,
0x0a000a00, 0x00006180, 0x0a400000, 0x0000c980, 0x0a800100, 0x000002ec,
- 0x01000000, 0x0000e180, 0x51792724, 0x00004901, 0x04400000, 0x0000e190,
- 0x04800000, 0x0000c990, 0x04c00000, 0x00001990, 0x00905eec, 0x0000df80,
- 0x00884c40, 0x000080c4, 0x07bfe81e, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x8018f24c, 0x00006502, 0xc7d26a4d, 0x00008900, 0x00017448, 0x00009583,
- 0x8000024c, 0x00001582, 0x00001329, 0x00007008, 0x00001393, 0x0000f010,
- 0x00001393, 0x0000f010, 0x81000e09, 0x00001283, 0xc7800000, 0x00009988,
- 0x00001329, 0x0000f009, 0x13951880, 0x0000f300, 0x41013000, 0x00001981,
- 0x13971880, 0x00007300, 0x4100d800, 0x00009981, 0x0000131b, 0x0000f200,
- 0x0dc00800, 0x00009981, 0x139b182d, 0x0000f300, 0xc1c07800, 0x00001981,
- 0x08022a04, 0x0000e904, 0x01401404, 0x00001283, 0x01004404, 0x00009283,
- 0xffffffff, 0x00007f86, 0x0000156f, 0x0000f010, 0x00001569, 0x0000f010,
- 0x0dc1060e, 0x00009080, 0x8dc00e0e, 0x0000e080, 0x82c00a37, 0x00004880,
- 0x0020200b, 0x0000a080, 0xac61a637, 0x0000a084, 0xffffffff, 0x00007f97,
- 0x817f0204, 0x00007900, 0x0000003e, 0x00008280, 0x8011a205, 0x00001502,
- 0x00001575, 0x00007073, 0x8d000a34, 0x00009080, 0xac61a637, 0x00002884,
- 0xac407e37, 0x00002086, 0xffffffff, 0x00007fa7, 0x8dd07a05, 0x00001100,
- 0x8011a237, 0x00009502, 0x000014d3, 0x0000f06b, 0x03400000, 0x0000e180,
- 0x08025c37, 0x00006002, 0x83c0c344, 0x00006080, 0x08003034, 0x00002206,
- 0xc361ba0f, 0x0000e100, 0x0c800000, 0x00000980, 0x8dc01ee3, 0x00006080,
- 0x00007000, 0x00006484, 0x03c00034, 0x00007900, 0x00000100, 0x00000380,
- 0x8d11bee3, 0x0000e000, 0x00007832, 0x0000a206, 0xbc405a34, 0x0000f902,
- 0x02800000, 0x00008004, 0xbc807834, 0x0000f902, 0x03800000, 0x00000004,
- 0xc0001000, 0x00006181, 0x00003045, 0x00006406, 0x0037f800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x02c05a3c, 0x00006002, 0xc0c00000, 0x00008980,
- 0x117cf845, 0x00007900, 0x003ffffe, 0x00008280, 0x002ff800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x0bc00000, 0x0000e180, 0x0280000a, 0x0000c084,
- 0x03c0080f, 0x0000e082, 0x0b804d0d, 0x00002082, 0x0b804d45, 0x0000e082,
- 0x0000182f, 0x00003106, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x0b400000, 0x000082fc, 0x0c000000, 0x000083c4, 0x0cc00000, 0x000083c8,
+ 0x83c01ee3, 0x0000e080, 0x08003034, 0x0000e206, 0x18000034, 0x00007900,
+ 0x00000100, 0x00000380, 0x8d107ee3, 0x00006000, 0xd000082d, 0x0000a404,
+ 0xbc405a34, 0x0000f902, 0x02800000, 0x00008004, 0xbc804834, 0x0000f902,
+ 0x02000000, 0x00000004, 0x0000182f, 0x00006106, 0x00001031, 0x0000b406,
+ 0x00030032, 0x00006206, 0x00800033, 0x00003586, 0x02c05a3c, 0x00006002,
+ 0x9000182d, 0x00002403, 0x0280000a, 0x00006084, 0xc000182f, 0x00002006,
+ 0x02400809, 0x0000e082, 0x80003831, 0x0000a405, 0x02000008, 0x00006084,
+ 0x00003833, 0x0000a106, 0x001000ec, 0x00005780, 0x00804100, 0x000001c0,
+ 0x8b901202, 0x00006100, 0x40003032, 0x00006107, 0xbc785a34, 0x0000d004,
+ 0x00385000, 0x00008000, 0xbcb84834, 0x0000d004, 0x00384000, 0x00000000,
+ 0xcb981302, 0x00009900, 0x009856ec, 0x0000df80, 0x00884c40, 0x000001c4,
+ 0x14061967, 0x0000f300, 0x41006000, 0x00009981, 0x0140841e, 0x00006283,
+ 0x02c00000, 0x00000980, 0x03000000, 0x0000e190, 0x02800000, 0x00004980,
+ 0x00002056, 0x0000e582, 0x0d429c34, 0x0000a000, 0x02c00800, 0x0000e190,
+ 0x0dc29c60, 0x00006000, 0x00004056, 0x0000e582, 0x0cc29c09, 0x0000a004,
+ 0x02800800, 0x00006190, 0x0e029c05, 0x00006000, 0x07000409, 0x00007893,
+ 0x00800001, 0x00000000, 0x00000c34, 0x0000c08a, 0x00002553, 0x00008088,
+ 0x0101371b, 0x0000c510, 0x0082a70c, 0x00008416, 0x00c0000c, 0x00004790,
+ 0x04a1371b, 0x00000023, 0x00806754, 0x00004512, 0x04802553, 0x0000008a,
+ 0x141e1967, 0x0000f300, 0x41004800, 0x00009981, 0x0d000800, 0x00009981,
+ 0x00000c05, 0x00007890, 0x00000000, 0x00000000, 0x17a05c0a, 0x0000780f,
+ 0x00800001, 0x00000060, 0x00000c60, 0x00007890, 0x00000000, 0x00000000,
+ 0x16000055, 0x0000f893, 0x00800001, 0x00000060, 0x8560040f, 0x0000c48a,
+ 0xc0218615, 0x00000588, 0x15801609, 0x0000788f, 0x00800001, 0x00008080,
+ 0x83d2aa56, 0x0000e000, 0x08025c60, 0x00002002, 0x83c0c20f, 0x00001080,
+ 0x83d07c60, 0x00001000, 0x801a220f, 0x00001502, 0x41006000, 0x00009999,
+ 0x00001433, 0x00007031, 0x14331967, 0x00007100, 0x00007000, 0x00006484,
+ 0x00001045, 0x0000b484, 0xc0002800, 0x0000e181, 0xd151f23e, 0x00004900,
+ 0x00080000, 0x00006380, 0x40c0f045, 0x0000a000, 0x002ff800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x0021a04f, 0x0000e000, 0xa0001010, 0x00003402, 0x00400000, 0x00007900,
+ 0x00040090, 0x00000980, 0x01521800, 0x0000f900, 0x00004080, 0x00008980,
+ 0x0b18b000, 0x0000f900, 0x000158c0, 0x00008980, 0x51425845, 0x00006002,
+ 0xa0000000, 0x0000b482, 0x91c2681f, 0x00008422, 0x923a714d, 0x00000424,
+ 0x128a9853, 0x00008428, 0x12bab553, 0x00008430, 0x40c00400, 0x000080d0,
+ 0xc1c00000, 0x0000e180, 0x0a000a00, 0x00004980, 0x0a480000, 0x000082e8,
+ 0x0ac00000, 0x000002f4, 0x0bc00000, 0x000083c0, 0x0c400000, 0x000003c8,
+ 0x000013e3, 0x00007400, 0x0cc00000, 0x00006180, 0x12c2a054, 0x0000c900,
+ 0x13baaf0c, 0x00000434, 0x14581967, 0x00007300, 0x41008800, 0x00009981,
+ 0x145a1967, 0x0000f300, 0x41005800, 0x00001981, 0x8560040f, 0x0000c48a,
+ 0xc0218615, 0x00000588, 0x0ac01609, 0x00007897, 0xb0800000, 0x00000a82,
+ 0x14601967, 0x0000f300, 0x41005000, 0x00009981, 0x14621967, 0x00007300,
+ 0x41007800, 0x00009981, 0x0000141f, 0x0000f200, 0x0d000000, 0x00001981,
+ 0x14661967, 0x0000f300, 0x41013000, 0x00001981, 0x14681967, 0x00007300,
+ 0x41012800, 0x00001981, 0x146a1967, 0x0000f300, 0x41008000, 0x00001981,
+ 0x146c1967, 0x0000f300, 0x41007800, 0x00009981, 0x146e1967, 0x00007300,
+ 0x41007000, 0x00001981, 0x14701967, 0x00007300, 0x41019800, 0x00009981,
+ 0x0d422834, 0x00006880, 0x02800834, 0x00001282, 0x09024c60, 0x0000e00e,
+ 0x0a024c0f, 0x0000b00e, 0x0000155f, 0x00007011, 0x00004460, 0x00001583,
+ 0x00001647, 0x0000f00b, 0x8000064b, 0x00009583, 0x00001600, 0x0000f043,
+ 0x18008302, 0x00009880, 0x02830202, 0x00009300, 0x1a600834, 0x00004494,
+ 0x0a20040b, 0x0000058a, 0x19e05725, 0x0000c410, 0x06201424, 0x00000592,
+ 0x40411f49, 0x0000f88b, 0x00800001, 0x00008080, 0xffffffff, 0x00007f86,
+ 0xc0019f49, 0x00001583, 0x0d004000, 0x00001989, 0x000014ff, 0x0000f011,
+ 0x93417448, 0x0000c48a, 0x1e20241e, 0x00000589, 0x23e0ff4c, 0x00007813,
+ 0x00800001, 0x00000000, 0x9ff1a24b, 0x00004412, 0xe220141e, 0x00000591,
+ 0x9230f94d, 0x00004410, 0x2630f14c, 0x00008509, 0x0e017448, 0x0000c590,
+ 0x8700024c, 0x00000696, 0x14911967, 0x00007300, 0x4100e800, 0x00009981,
+ 0x14931967, 0x0000f300, 0x41012800, 0x00001981, 0x03d0594b, 0x00007900,
+ 0x00003c0c, 0x00000280, 0x0000000f, 0x0000f900, 0x00002400, 0x00000582,
+ 0x41010000, 0x00009991, 0x000014a0, 0x0000f009, 0x149a1967, 0x00007100,
+ 0x0140241e, 0x00009283, 0x0780201e, 0x0000e388, 0x07fa674c, 0x00008909,
+ 0x4100e000, 0x00009991, 0x00001489, 0x0000f008, 0x14a01967, 0x00007100,
+ 0x0d00c64b, 0x00006281, 0x08025c60, 0x00002002, 0x0000c434, 0x0000e583,
+ 0x11402800, 0x00000980, 0x0d230344, 0x0000e100, 0x00007000, 0x0000a484,
+ 0x98001ee3, 0x0000e080, 0x03c0d834, 0x00004000, 0x06c0d834, 0x0000e000,
+ 0x1180780f, 0x00008900, 0x8d1306e3, 0x00006000, 0xc0004000, 0x00008981,
+ 0xbc405234, 0x00007902, 0x02400000, 0x00008004, 0xbc802834, 0x0000f902,
+ 0x01000000, 0x00000004, 0x07bfd81e, 0x00007908, 0x003ffffe, 0x00008280,
+ 0x00080000, 0x00006380, 0x08003060, 0x0000a206, 0x0280523c, 0x00006002,
+ 0x0f80f40f, 0x0000a000, 0x02400009, 0x00006084, 0xc0c00000, 0x00008980,
+ 0x01400805, 0x0000e082, 0x0bc00000, 0x00000980, 0x01000004, 0x00006084,
+ 0x0c800000, 0x00000980, 0xbc785234, 0x00005004, 0x00384800, 0x00008000,
+ 0xbcb82834, 0x0000d004, 0x00382000, 0x00000000, 0x0d000060, 0x00007900,
+ 0x00000100, 0x00000380, 0x18000c0f, 0x0000e481, 0x00100000, 0x00000380,
+ 0x71e30045, 0x00006000, 0x0000182f, 0x00003106, 0xd151f23e, 0x00006100,
+ 0x0001a032, 0x0000e206, 0x04880012, 0x00006380, 0x40c0f045, 0x0000a000,
+ 0xc1c01800, 0x0000e180, 0x51425c45, 0x0000e002, 0x001000ec, 0x00005780,
+ 0x00804100, 0x00000380, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x02040445, 0x00006283, 0x0cc00002, 0x00000980, 0x00400000, 0x00007900,
+ 0x00040090, 0x00000980, 0x0b18b000, 0x0000f900, 0x0000d9c0, 0x00000980,
+ 0x0b400000, 0x0000f900, 0x00018008, 0x00000980, 0x0c401000, 0x0000f900,
+ 0x0001c000, 0x00000980, 0x01521800, 0x0000f900, 0x0000c080, 0x00000980,
+ 0xc000182f, 0x0000e006, 0x40003032, 0x00003107, 0x000850ec, 0x00005780,
+ 0x00004800, 0x00008080, 0x00003833, 0x00006106, 0xa0000000, 0x0000b482,
+ 0x04000000, 0x0000f910, 0x00020002, 0x00008980, 0x0c000000, 0x00006180,
+ 0x8b901202, 0x00004900, 0x0ba26d02, 0x0000041c, 0x0a000a00, 0x00006180,
+ 0x0a400000, 0x0000c980, 0x0a800100, 0x000002ec, 0x01000000, 0x0000e180,
+ 0x51792724, 0x00004901, 0x04400000, 0x0000e190, 0x04800000, 0x0000c990,
+ 0x04c00000, 0x00001990, 0x00905eec, 0x0000df80, 0x00884c40, 0x000080c4,
+ 0x07bfe81e, 0x0000f900, 0x003ffffe, 0x00008280, 0x8018f24c, 0x00006502,
+ 0xc7d26a4d, 0x00008900, 0x00017448, 0x00009583, 0x8000024c, 0x00001582,
+ 0x00001493, 0x00007008, 0x000014fd, 0x0000f010, 0x000014fd, 0x0000f010,
+ 0x81000e09, 0x00001283, 0xc7800000, 0x00009988, 0x00001493, 0x0000f009,
+ 0x14ff1967, 0x0000f300, 0x41013000, 0x00001981, 0x15011967, 0x0000f300,
+ 0x4100d800, 0x00009981, 0x00001485, 0x0000f200, 0x0d000800, 0x00009981,
+ 0x15051914, 0x0000f300, 0xc1c07800, 0x00001981, 0x08022a04, 0x0000e904,
+ 0x01401404, 0x00001283, 0x01004404, 0x00009283, 0xffffffff, 0x00007f86,
+ 0x000016d6, 0x00007010, 0x000016d0, 0x00007010, 0x8d000e0e, 0x00009880,
+ 0x8d000e0e, 0x0000e080, 0x8151a60e, 0x0000c000, 0x83c20205, 0x00009080,
+ 0x0020200f, 0x00002080, 0xffffffff, 0x00007fa7, 0x827f0204, 0x00007900,
+ 0x0000003e, 0x00008280, 0xac602634, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x80102209, 0x00001502, 0x000016dc, 0x00007073, 0x81000a04, 0x00009080,
+ 0xac602634, 0x00002884, 0xac430634, 0x00002086, 0xffffffff, 0x00007fa7,
+ 0x8d130209, 0x00001100, 0x80102234, 0x00009502, 0x00001641, 0x0000f06b,
+ 0x02c00000, 0x0000e180, 0x08025c34, 0x00006002, 0x9800c344, 0x00006080,
+ 0x0800300f, 0x0000a206, 0xc2e1a260, 0x0000e100, 0x00007000, 0x0000a484,
+ 0x8d001ee3, 0x00006080, 0xc0001000, 0x00004981, 0x1800000f, 0x0000f900,
+ 0x00000100, 0x00000380, 0x83d1a6e3, 0x00006000, 0x00003045, 0x0000a406,
+ 0xbc40820f, 0x00007902, 0x03800000, 0x00000004, 0xbc80680f, 0x0000f902,
+ 0x03000000, 0x00008004, 0x0037f800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x117cf845, 0x00007900, 0x003ffffe, 0x00008280, 0x0400823c, 0x00006002,
+ 0xc0c00000, 0x00008980, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x0bc00000, 0x000003c8, 0x0380000e, 0x00006084, 0x0b804d0b, 0x00002082,
+ 0x0340080d, 0x0000e082, 0x0b804d45, 0x00002082, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x0000182f, 0x00006106, 0x00030032, 0x00003206,
0xc1c00000, 0x0000e180, 0x0cc00002, 0x0000c980, 0x13c00000, 0x0000e180,
- 0xd151f23e, 0x00004900, 0x0380000e, 0x00006084, 0x40003032, 0x0000a107,
+ 0xd151f23e, 0x00004900, 0x0300000c, 0x00006084, 0xa0000000, 0x00002482,
0x00400000, 0x00007900, 0x00040090, 0x00000980, 0x0b18b000, 0x0000f900,
0x00019a00, 0x00000980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0x001000ec, 0x00005780,
- 0x00004000, 0x00000080, 0xbc785a34, 0x0000d004, 0x00385000, 0x00008000,
- 0xbcb87834, 0x0000d004, 0x00387000, 0x00000000, 0xc000182f, 0x0000e006,
- 0xa0000000, 0x0000b482, 0x00003833, 0x00006106, 0x51425845, 0x00003002,
+ 0x00004000, 0x00000080, 0xbc78820f, 0x00005004, 0x00387000, 0x00000000,
+ 0xbcb8680f, 0x0000d004, 0x00386000, 0x00008000, 0xc000182f, 0x0000e006,
+ 0x40003032, 0x00003107, 0x00003833, 0x00006106, 0x51425845, 0x00003002,
0x01000000, 0x0000e180, 0x01400040, 0x0000c980, 0x0c000000, 0x00006180,
- 0x8b901202, 0x00004900, 0x0bb86d02, 0x00008438, 0x93e86801, 0x00001980,
+ 0x8b901202, 0x00004900, 0x0bb85d02, 0x00008438, 0x93e86801, 0x00001980,
0x00905eec, 0x0000df80, 0x00884c40, 0x00008284, 0x09024c0f, 0x00006006,
0x0a024c09, 0x00003006, 0x00000c09, 0x00001583, 0x0000440f, 0x0000958b,
- 0x03c0014b, 0x0000f908, 0x00003040, 0x00008280, 0x0000130d, 0x0000f011,
+ 0x03c0014b, 0x0000f908, 0x00003040, 0x00008280, 0x00001477, 0x0000f011,
0x0000000f, 0x00007890, 0x00000040, 0x00008000, 0x00021757, 0x00007890,
0x00000000, 0x00008020, 0x00017448, 0x00007892, 0x00000000, 0x00008020,
- 0x8cc01c0e, 0x0000448c, 0xc8200344, 0x00000590, 0x1880064b, 0x000078cb,
- 0x38800000, 0x00008a80, 0x2500064b, 0x0000f8c3, 0x78800000, 0x00008988,
- 0x0b804c37, 0x0000e882, 0x0de87437, 0x00001001, 0x8d000c37, 0x00001880,
- 0xa3407e34, 0x00002086, 0xa3605e34, 0x0000a084, 0xffffffff, 0x00007f97,
- 0x03c0820f, 0x00009880, 0x83e1bc37, 0x00006100, 0x0100800f, 0x00004784,
- 0x0020280f, 0x0000a080, 0xffffffff, 0x00007fa7, 0x83d02a0b, 0x00001100,
- 0x0140820f, 0x00009880, 0x01408005, 0x00009784, 0x01402804, 0x00009100,
- 0x00000005, 0x00009582, 0x82c00a0b, 0x000010b8, 0xa3605e34, 0x0000a8bc,
- 0x000010c5, 0x00007050, 0xa361a634, 0x00002004, 0x02c00805, 0x00009180,
- 0xffffffff, 0x00007f97, 0x0011a00b, 0x00009502, 0x02c0fc37, 0x0000e2c9,
- 0x83c03437, 0x000087c8, 0x8d179a0f, 0x0000f948, 0x00000006, 0x00008080,
- 0x00001434, 0x0000f040, 0x00002834, 0x0000f902, 0x01000000, 0x00008000,
- 0x02e05fe4, 0x00006000, 0x0dc1fc37, 0x0000c281, 0x0000fc37, 0x00009583,
- 0xffffffff, 0x00007f86, 0x0100200b, 0x0000e318, 0x0140280b, 0x00008330,
- 0xffffffff, 0x00007f86, 0x00382834, 0x00005000, 0x00382000, 0x00000000,
+ 0xba201c0e, 0x0000c48c, 0x9e200344, 0x00000593, 0x7340064b, 0x0000f8cb,
+ 0x90800000, 0x00008a8b, 0x8000064b, 0x0000f8c3, 0xc8800000, 0x00008a83,
+ 0x0b804c60, 0x00006882, 0x0d287460, 0x00009001, 0x83c00c34, 0x00009880,
+ 0xa343060f, 0x0000a086, 0xa3602e0f, 0x0000a084, 0xffffffff, 0x00007f97,
+ 0x18008060, 0x00001880, 0x9821a434, 0x00006100, 0x01008060, 0x00004784,
+ 0x00204860, 0x0000a080, 0xffffffff, 0x00007fa7, 0x98104a05, 0x00009100,
+ 0x02808260, 0x00009880, 0x0280800a, 0x00009784, 0x02805004, 0x00009100,
+ 0x0000000a, 0x00009582, 0x0100080a, 0x0000e1b8, 0x81400a05, 0x000080b8,
+ 0xa3602e0f, 0x0000a8bc, 0x0000122f, 0x00007050, 0xa3607e0f, 0x00002004,
+ 0xffffffff, 0x00007fa7, 0x00107804, 0x00001502, 0x0100fc34, 0x0000e2c9,
+ 0x98003434, 0x000087c8, 0x83d79a60, 0x00007948, 0x00000006, 0x00008080,
+ 0x0000159f, 0x0000f040, 0x0000500f, 0x00007902, 0x01400000, 0x00000000,
+ 0x012027e4, 0x00006000, 0x0d01fc34, 0x0000c281, 0x0000fc34, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x02805004, 0x0000e330, 0x01402804, 0x00008318,
+ 0xffffffff, 0x00007f86, 0x0038500f, 0x0000d000, 0x00382800, 0x00008000,
0x01403800, 0x00009980, 0x823f1005, 0x0000e802, 0x00382aec, 0x0000d600,
0x00000000, 0x00008080, 0x100000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0x0800300f, 0x00006206, 0x00007000, 0x00003484, 0xc0000402, 0x000080d0,
+ 0x08003060, 0x00006206, 0x00007000, 0x00003484, 0xc0000402, 0x000080d0,
0x0037f800, 0x0000f900, 0x003ffffe, 0x00008280, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x0d00000f, 0x00007900, 0x00000100, 0x00000380,
+ 0x00000040, 0x00000080, 0x03c00060, 0x0000f900, 0x00000100, 0x00000380,
0xc0c00000, 0x00006180, 0x0411f004, 0x0000e187, 0x002ff800, 0x0000f900,
0x003ffffe, 0x00008280, 0x0bc00000, 0x000003c8, 0x0000182f, 0x00006106,
0x00005045, 0x00003406, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc1c00000, 0x0000e180,
- 0x0001a032, 0x0000e206, 0x0cc00002, 0x0000e180, 0x0b804d45, 0x0000e082,
+ 0x00007832, 0x00006206, 0x0cc00002, 0x0000e180, 0x0b804d45, 0x0000e082,
0x00400000, 0x00007900, 0x00040090, 0x00000980, 0x0b08b000, 0x00007900,
0x00019a80, 0x00008980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
0x0c401000, 0x0000f900, 0x00014000, 0x00008980, 0xc000182f, 0x0000e006,
@@ -5677,281 +5823,237 @@ ARRAY_DECL u32 init_val[] = {
0x40003032, 0x00006107, 0x00003833, 0x00003106, 0x014001c0, 0x0000e180,
0x91da6b4d, 0x00004900, 0x0c000000, 0x00006180, 0x8b901202, 0x00004900,
0x01000000, 0x0000e180, 0xcb981302, 0x0000c900, 0x00905eec, 0x0000df80,
- 0x00884c40, 0x00008284, 0x1464182d, 0x00007300, 0xc1c0e800, 0x00001981,
- 0x1466182d, 0x0000f300, 0xc1c0e000, 0x00009981, 0x08022a04, 0x0000e904,
+ 0x00884c40, 0x00008284, 0x15cf1914, 0x0000f300, 0xc1c0e800, 0x00001981,
+ 0x15d11914, 0x0000f300, 0xc1c0e000, 0x00009981, 0x08022a04, 0x0000e904,
0x01401404, 0x00001283, 0x01004404, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00001563, 0x0000f010, 0x0000155f, 0x0000f010, 0x83c00e0e, 0x00006080,
- 0x0dc1060e, 0x0000c080, 0x8d000a37, 0x00001880, 0x00202034, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x82ff0204, 0x0000f900, 0x0000003e, 0x00008280,
- 0xac60260f, 0x00002084, 0xffffffff, 0x00007fa7, 0x8010220b, 0x00009502,
- 0x81000a04, 0x000010d8, 0xac60260f, 0x000028dc, 0x00001540, 0x00007070,
- 0xac41be0f, 0x00002086, 0xffffffff, 0x00007fa7, 0x83d1ba0b, 0x00009100,
- 0x8010220f, 0x00001502, 0x83c0fa34, 0x0000e2e8, 0x8dc03234, 0x000087e8,
- 0x8dd79a37, 0x0000f968, 0x00000006, 0x00008080, 0x000013b2, 0x00007060,
- 0x00002837, 0x0000f902, 0x01000000, 0x00008000, 0x02d07fe4, 0x0000e000,
- 0x0d01fc34, 0x0000c281, 0x0000fc34, 0x00009583, 0xffffffff, 0x00007f86,
- 0x0100200b, 0x0000e318, 0x0140280b, 0x00008330, 0xffffffff, 0x00007f86,
- 0x00382837, 0x00005000, 0x00382000, 0x00000000, 0x01403800, 0x00009980,
- 0x823f1005, 0x0000e802, 0x000013b2, 0x0000f400, 0x00382aec, 0x0000d600,
- 0x00000000, 0x00008080, 0x100000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0x08022a04, 0x0000e904, 0x01401404, 0x00001283, 0x01004404, 0x00009283,
- 0xffffffff, 0x00007f86, 0x000014cf, 0x00007010, 0x000014c9, 0x00007010,
- 0x0dc1060e, 0x00009080, 0x8dc00e0e, 0x0000e080, 0x82c00a37, 0x00004880,
- 0x0020200b, 0x0000a080, 0xac61a637, 0x0000a084, 0xffffffff, 0x00007f97,
- 0x817f0204, 0x00007900, 0x0000003e, 0x00008280, 0x8011a205, 0x00001502,
- 0xc1c06800, 0x000019f1, 0x000013ab, 0x0000f059, 0x14a6182d, 0x00007100,
- 0x14a8182d, 0x00007300, 0xc1c01800, 0x00001981, 0x03c08302, 0x00009880,
- 0x0dc07a02, 0x00001300, 0xeca1bf25, 0x0000c413, 0x60008405, 0x00008591,
- 0x98601405, 0x0000c496, 0x8e204405, 0x00000591, 0x5ec02405, 0x0000788f,
- 0x88800000, 0x00000a86, 0x0d000c34, 0x00001181, 0x00000c34, 0x0000c0b0,
+ 0x000016ca, 0x0000f010, 0x000016c6, 0x0000f010, 0x8d000e0e, 0x00009880,
+ 0x8d000e0e, 0x0000e080, 0x8151a60e, 0x0000c000, 0x83c20205, 0x00009080,
+ 0x0020200f, 0x00002080, 0xffffffff, 0x00007fa7, 0x827f0204, 0x00007900,
+ 0x0000003e, 0x00008280, 0xac602634, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x80102209, 0x00001502, 0x81000a04, 0x000010d8, 0xac602634, 0x0000a8dc,
+ 0x000016a7, 0x00007070, 0xac41a634, 0x0000a086, 0xffffffff, 0x00007fa7,
+ 0x8d11a209, 0x00009100, 0x80102234, 0x00009502, 0x9800fa05, 0x000062e8,
+ 0x8d00320f, 0x000007e8, 0x8d179a34, 0x0000f968, 0x00000006, 0x00008080,
+ 0x0000151e, 0x0000f260, 0x029307e4, 0x00009868, 0x00002834, 0x0000f902,
+ 0x01000000, 0x00008000, 0x03c1fc0f, 0x00009281, 0x0000fc0f, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x0100200a, 0x00006318, 0x0140280a, 0x00000330,
+ 0xffffffff, 0x00007f86, 0x00382834, 0x00005000, 0x00382000, 0x00000000,
+ 0x01403800, 0x00009980, 0x823f1005, 0x0000e802, 0x0000151e, 0x0000f400,
+ 0x00382aec, 0x0000d600, 0x00000000, 0x00008080, 0x100000ec, 0x0000d680,
+ 0x00000000, 0x00008080, 0x08022a04, 0x0000e904, 0x01401404, 0x00001283,
+ 0x01004404, 0x00009283, 0xffffffff, 0x00007f86, 0x0000163d, 0x00007010,
+ 0x00001637, 0x00007010, 0x8d000e0e, 0x00009880, 0x8d000e0e, 0x0000e080,
+ 0x8151a60e, 0x0000c000, 0x83c20205, 0x00009080, 0x0020200f, 0x00002080,
+ 0xffffffff, 0x00007fa7, 0x827f0204, 0x00007900, 0x0000003e, 0x00008280,
+ 0xac602634, 0x0000a084, 0xffffffff, 0x00007fa7, 0x80102209, 0x00001502,
+ 0xc1c06800, 0x000019f1, 0x00001517, 0x00007059, 0x16141914, 0x00007100,
+ 0x16161914, 0x00007300, 0xc1c01800, 0x00001981, 0x18008302, 0x00009880,
+ 0x0d030202, 0x00001300, 0x19e1a725, 0x0000c412, 0x3c208405, 0x00000594,
+ 0xc6201405, 0x0000c496, 0x6a204405, 0x00000594, 0xb8802405, 0x0000788f,
+ 0xf8800000, 0x00008b81, 0x03c00c0f, 0x00001181, 0x00000c0f, 0x000040b0,
0x00021757, 0x00000088, 0x00020f57, 0x00007890, 0x00000000, 0x00000000,
- 0x3140464b, 0x0000788f, 0x00800001, 0x00000060, 0x98601405, 0x0000c496,
- 0x8e204405, 0x00000591, 0x03002405, 0x00004796, 0x0c20464b, 0x00000189,
- 0x98601405, 0x0000c496, 0x8e204405, 0x00000591, 0x02802405, 0x0000c794,
- 0x0be17448, 0x00000190, 0x99a21757, 0x0000c492, 0x86201405, 0x00008591,
- 0x00c04405, 0x0000c596, 0x0ba02405, 0x00000188, 0x14c51880, 0x00007300,
- 0x41014800, 0x00001981, 0x14c71880, 0x0000f300, 0x4100b800, 0x00009981,
- 0x14c91880, 0x00007300, 0x41011800, 0x00001981, 0x14cb182d, 0x00007300,
- 0xc1c08800, 0x00001981, 0x14cd1880, 0x0000f300, 0x4100c000, 0x00009981,
- 0x14cf182d, 0x0000f300, 0xc1c03000, 0x00001981, 0x14d1182d, 0x0000f300,
- 0xc1c08000, 0x00009981, 0x14d31880, 0x0000f300, 0x41013800, 0x00009981,
- 0x8d00320b, 0x00006780, 0x83c0fa0b, 0x00000280, 0x8dd79a34, 0x00007900,
- 0x00000006, 0x00008080, 0x00002837, 0x0000f902, 0x01000000, 0x00008000,
- 0x0d107fe4, 0x0000e000, 0x02c1fc0b, 0x0000c281, 0x0000fc0b, 0x00009583,
- 0x0000148a, 0x0000f400, 0xffffffff, 0x00007f86, 0x01002034, 0x0000e318,
- 0x01402834, 0x00008330, 0x0d002434, 0x00001181, 0x00000c34, 0x00009583,
- 0x0d00194b, 0x0000f930, 0x00002a0c, 0x00008280, 0x000013f4, 0x00007019,
- 0xfd000034, 0x0000f892, 0x00802201, 0x00000000, 0x7e821757, 0x0000c490,
- 0xe8217448, 0x00000497, 0x00420415, 0x00004594, 0x07e0040b, 0x00000792,
- 0x14ef17b1, 0x00007500, 0x0c405000, 0x0000e180, 0x08003004, 0x0000e206,
- 0x0c002004, 0x00009900, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04104004, 0x00006987, 0x700708ec, 0x0000d680,
- 0x00382002, 0x00008000, 0x01040415, 0x00009283, 0x6000081e, 0x00006412,
- 0xa0001010, 0x0000b412, 0xffffffff, 0x00007f86, 0x07b9f81e, 0x0000f908,
- 0x003ffffe, 0x00008280, 0x81060615, 0x00001283, 0x0e80f437, 0x00006012,
- 0xc0001010, 0x00003413, 0x0dc00c37, 0x0000e091, 0xc0001011, 0x0000a412,
- 0x8dc01ee3, 0x00006080, 0x61a1b81e, 0x00006012, 0x83d1bee3, 0x00009000,
- 0xbc402a0f, 0x0000f902, 0x01000000, 0x00000004, 0xbc80480f, 0x00007902,
- 0x02000000, 0x00000004, 0xffffffff, 0x00007f97, 0x01402a3c, 0x00009002,
- 0x02400809, 0x0000e082, 0x01000004, 0x00000084, 0x81c18615, 0x0000e283,
- 0x02000008, 0x00000084, 0xbc782a0f, 0x0000d004, 0x00382000, 0x00000000,
- 0xbcb8480f, 0x00005004, 0x00384000, 0x00000000, 0x00001544, 0x0000f008,
- 0x08003034, 0x0000e206, 0x00007000, 0x00003484, 0xc0200408, 0x000000cd,
- 0x00080000, 0x00006380, 0x0bc00000, 0x00000980, 0x0dc00034, 0x0000f900,
- 0x00000100, 0x00000380, 0x0c800000, 0x0000e180, 0x00100000, 0x0000c380,
- 0x0000182f, 0x00006106, 0x00002045, 0x0000b406, 0xc1c01800, 0x0000e180,
- 0x0001b832, 0x0000e206, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0cc00002, 0x0000e180, 0x80001010, 0x0000e402, 0x0e80f647, 0x0000e002,
- 0xc000182f, 0x0000b006, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
- 0x01521800, 0x0000f900, 0x0000c080, 0x00000980, 0x0b18b000, 0x0000f900,
- 0x00019a40, 0x00008980, 0x0b400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x0c401000, 0x0000f900, 0x0001c000, 0x00000980, 0x001000ec, 0x00005780,
- 0x00804100, 0x00000380, 0x40003032, 0x00006107, 0xa0000000, 0x0000b482,
- 0xc7d26a4d, 0x00006100, 0x00003833, 0x00006106, 0x11da4c4d, 0x00000420,
- 0x13ba9751, 0x0000843c, 0x14000753, 0x00008090, 0x0a000a00, 0x00006180,
- 0x0a400000, 0x0000c980, 0x0a800100, 0x000002ec, 0x0c000000, 0x00006180,
- 0x8b901202, 0x00004900, 0x51681524, 0x00008238, 0x009856ec, 0x0000df80,
- 0x00884c40, 0x00008284, 0x1542182d, 0x00007300, 0xc1c06800, 0x00009981,
- 0xe4400344, 0x00004590, 0xf200064b, 0x0000ecca, 0x154817b1, 0x00007500,
- 0x0c406800, 0x00006180, 0x08003009, 0x00006206, 0x0c004809, 0x00009900,
- 0x00007000, 0x00006484, 0xa0000811, 0x0000b402, 0xc0004000, 0x00006181,
- 0xc0000811, 0x00006403, 0x00080000, 0x00006380, 0x45801800, 0x00000981,
- 0x00100000, 0x00006380, 0x07029052, 0x00008900, 0x003bf800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x000403d0, 0x00008980,
- 0x01501800, 0x00007900, 0x0000c3c0, 0x00008980, 0x07429853, 0x0000e100,
- 0xa0000000, 0x0000e482, 0x08124f51, 0x00000205, 0x0860044d, 0x0000008d,
- 0x41c00403, 0x000000d0, 0x009006ec, 0x00005f80, 0x00804100, 0x00008384,
- 0x155f182d, 0x00007300, 0xc1c02800, 0x00001981, 0x1561182d, 0x0000f300,
- 0xc1c08800, 0x00001981, 0xe0600344, 0x0000c591, 0x7000064b, 0x00006acb,
- 0x1565182d, 0x00007300, 0xc1c08000, 0x00009981, 0xdfe00344, 0x00004591,
- 0x6fc0064b, 0x00006ac9, 0x15691880, 0x0000f300, 0x41019000, 0x00001981,
- 0x156b182d, 0x0000f300, 0xc1c08800, 0x00001981, 0xeca06725, 0x0000c411,
- 0x32001424, 0x00008497, 0xe5c11f49, 0x0000f88a, 0xb8800000, 0x00008988,
- 0x1571182d, 0x00007300, 0xc1c08000, 0x00009981, 0xeca06725, 0x0000c411,
- 0x32001424, 0x00008497, 0xe5c11f49, 0x0000f88a, 0xb8800000, 0x00008988,
- 0x1577182d, 0x00007300, 0xc1c06800, 0x00009981, 0xeca06725, 0x0000c411,
- 0x32001424, 0x00008497, 0xe5c11f49, 0x0000f88a, 0xb8800000, 0x00008988,
- 0x01410405, 0x00009283, 0x41002000, 0x00009991, 0x157e1880, 0x00007111,
- 0x00000000, 0x00007080, 0xbc391cec, 0x00002084, 0xc00007e2, 0x00006583,
- 0x89800ee3, 0x00000880, 0xbcf94826, 0x00002004, 0xffffffff, 0x00007f86,
- 0x88c00e23, 0x00006191, 0x48c00d23, 0x00000189, 0x08c00c23, 0x00001181,
- 0x04184829, 0x00006987, 0x00000001, 0x00007480, 0xbc391cec, 0x0000a884,
- 0xbcf94826, 0x0000a804, 0x01400000, 0x00001980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04182005, 0x00006987, 0x700708ec, 0x0000d680,
- 0x00382802, 0x00000000, 0xc5a00c09, 0x00004488, 0x2a200c09, 0x000085ab,
- 0x8c001409, 0x0000f88b, 0x90800000, 0x00000b81, 0x01401c0c, 0x0000e283,
- 0x01000000, 0x00008981, 0x07371ee3, 0x00006109, 0x04c00000, 0x00004988,
- 0x01c0580b, 0x0000e108, 0x2a00500a, 0x0000c908, 0x0000163e, 0x00007010,
- 0x159f250b, 0x00007204, 0x01809800, 0x00007900, 0x00003400, 0x00000980,
- 0x00000406, 0x00009583, 0x863f1fe3, 0x00009908, 0x8a00c218, 0x0000a088,
- 0x000015a8, 0x00007010, 0xffffffff, 0x00007f97, 0x06003c18, 0x00001281,
- 0x06001418, 0x00001181, 0x00000c18, 0x00001583, 0x000015ad, 0x0000f01b,
- 0x0e7d5800, 0x0000f900, 0x0021936a, 0x00008980, 0x15ad2158, 0x00007500,
- 0xc1b85006, 0x00000320, 0x01c0580b, 0x00001900, 0x3038c2a9, 0x00002080,
- 0x304080a9, 0x00007902, 0x01c00000, 0x00008000, 0x307832a9, 0x0000a080,
- 0x3180d8a9, 0x00007902, 0x06800000, 0x00008000, 0x31b8caa9, 0x0000a080,
- 0x01400ce0, 0x00001283, 0x000015ba, 0x0000700b, 0x15b72108, 0x00007100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00001623, 0x00007013,
- 0xbc390cec, 0x0000a084, 0xc00007e2, 0x00006583, 0x86001c1c, 0x00008880,
- 0x8710c41c, 0x0000e000, 0x0030c013, 0x0000a086, 0x2c0a07e2, 0x00001680,
- 0x860588b0, 0x00009000, 0x88400e21, 0x0000e091, 0x48400d21, 0x00008089,
- 0xc1002707, 0x00006283, 0x82283013, 0x0000a086, 0xbc40021c, 0x00005084,
- 0x00400000, 0x00008000, 0xbc40041c, 0x00005084, 0x00400000, 0x00008000,
- 0xbc40061c, 0x0000d084, 0x00400000, 0x00008000, 0xbc80001c, 0x0000d084,
- 0x00400000, 0x00008000, 0xbc80021c, 0x00005084, 0x00400000, 0x00008000,
- 0xbc80041c, 0x00005084, 0x00400000, 0x00008000, 0xbc80061c, 0x0000d084,
- 0x00400000, 0x00008000, 0xbcc0021c, 0x0000d084, 0x00400000, 0x00008000,
- 0x0170c7e4, 0x0000e000, 0x08400c21, 0x0000c081, 0xbcf8281c, 0x00005004,
- 0x00389800, 0x00000000, 0xbc40021c, 0x0000d004, 0x00400000, 0x00000080,
- 0xbc40041c, 0x0000d004, 0x00400000, 0x00000080, 0xbc40061c, 0x00005004,
- 0x00400000, 0x00000080, 0xbc80001c, 0x00005004, 0x00400000, 0x00000080,
- 0xbc80021c, 0x0000d004, 0x00400000, 0x00000080, 0xbc80041c, 0x0000d004,
- 0x00400000, 0x00000080, 0xbc80061c, 0x00005004, 0x00400000, 0x00000080,
- 0xbcc0021c, 0x00005004, 0x00400000, 0x00000080, 0xbc390cec, 0x00002884,
- 0x00001605, 0x00007410, 0x84d6fa18, 0x0000f910, 0x00000006, 0x00008080,
- 0x04a03506, 0x0000e011, 0x07683506, 0x00008901, 0x00001608, 0x0000f000,
- 0x0441fc1d, 0x00006281, 0x87000c1d, 0x00000880, 0xa3483e1c, 0x0000a886,
- 0xa340061c, 0x0000d085, 0x00400000, 0x00008000, 0xa360ce1c, 0x0000a804,
- 0xa368ce1c, 0x00002804, 0x0000fc11, 0x0000e583, 0x0700fc1d, 0x00000281,
- 0x0520e7e4, 0x0000e000, 0x8700341d, 0x00004780, 0x07400c1d, 0x00006081,
- 0x87109a1c, 0x00000000, 0x0000301c, 0x0000f902, 0x01400000, 0x00000000,
- 0xffffffff, 0x00007fa7, 0x01402814, 0x00006318, 0x01803014, 0x00000330,
- 0xffffffff, 0x00007f86, 0x0038301c, 0x00005000, 0x00382800, 0x00008000,
- 0xffffffff, 0x00007f86, 0x0020941d, 0x00009503, 0x000015f0, 0x0000f013,
- 0x87371ee3, 0x00009900, 0xab603e1c, 0x0000d005, 0x00088000, 0x00008002,
- 0x87000e07, 0x00009880, 0xac40061c, 0x0000d085, 0x00400000, 0x00008000,
- 0xac48de1c, 0x0000d006, 0x0020d000, 0x00000000, 0x07010607, 0x00009080,
- 0x87000a1c, 0x00001880, 0x8616fa18, 0x0000f900, 0x00000006, 0x00008080,
- 0x8140321c, 0x0000e780, 0x8180fa1c, 0x00000280, 0x86102a18, 0x0000e000,
- 0x0701fc1c, 0x00000281, 0x00003818, 0x0000f902, 0x01400000, 0x00000000,
- 0x0000fc1c, 0x00006583, 0x019037e4, 0x00008800, 0xffffffff, 0x00007f97,
- 0x01402806, 0x00006318, 0x01c03806, 0x00000330, 0x0000163e, 0x00007400,
- 0xffffffff, 0x00007f86, 0x00383818, 0x00005000, 0x00382800, 0x00008000,
- 0x2c0036e3, 0x00001680, 0x870588b0, 0x00001000, 0xc5782a1c, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x01400805, 0x00009080, 0xc5782a1c, 0x00002884,
- 0xc540021c, 0x00005004, 0x00408800, 0x00000080, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x163e157f, 0x0000f300, 0x01000800, 0x00009981,
- 0x0000163e, 0x0000f000, 0x0000163e, 0x00007200, 0x01001000, 0x00009981,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x04373000, 0x0000f900,
- 0x0021936a, 0x00008980, 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x163e20b1, 0x00007500, 0x04b84f08, 0x0000803c, 0x81c02800, 0x00001980,
- 0x06202404, 0x00006101, 0x00204806, 0x00006086, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0x82284806, 0x0000e086, 0x00002010, 0x0000b586,
- 0x04284810, 0x00006087, 0x04184806, 0x00003187, 0x1c404008, 0x0000e100,
- 0x86204810, 0x0000e087, 0x1b86d800, 0x00007900, 0x0032a52e, 0x00000980,
- 0x164d2178, 0x00007500, 0x1c382f06, 0x0000863c, 0x1b408010, 0x00001900,
- 0x164f17b1, 0x0000f300, 0x0c00c708, 0x00008307, 0x04800000, 0x000081cc,
- 0x04009000, 0x00007900, 0x0000d980, 0x00008980, 0x04400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x05384f08, 0x00000114, 0x05b85f0a, 0x0000011c,
- 0x06386f0c, 0x00000124, 0x06b87f0e, 0x0000012c, 0xc4981302, 0x00009900,
- 0x009826ec, 0x00005f80, 0x00004800, 0x00000084, 0x0f000000, 0x000083f4,
- 0x0f800000, 0x000083fc, 0x0147fc0a, 0x00001280, 0xd3832005, 0x0000c188,
- 0x00234005, 0x00000088, 0x02a30805, 0x00004a8a, 0x87010400, 0x00000095,
- 0x01c00020, 0x00006180, 0x04800000, 0x00004980, 0x043b7800, 0x0000f900,
- 0x003fe204, 0x00000980, 0x047cb800, 0x0000f900, 0x000b530a, 0x00000980,
- 0x000016d8, 0x0000f400, 0x03c00000, 0x000000d4, 0x81c01000, 0x00009980,
+ 0x8cc0464b, 0x0000f88f, 0x00800001, 0x00000060, 0xc6201405, 0x0000c496,
+ 0x6a204405, 0x00000594, 0x03002405, 0x0000c797, 0x0ba0464b, 0x00000189,
+ 0xc6201405, 0x0000c496, 0x6a204405, 0x00000594, 0x02802405, 0x00004795,
+ 0x0b617448, 0x00008190, 0xc7621757, 0x00004492, 0x62201405, 0x00008594,
+ 0x00c04405, 0x00004597, 0x0b202405, 0x00008188, 0x16331967, 0x00007300,
+ 0x41014800, 0x00001981, 0x16351967, 0x00007300, 0x4100b800, 0x00009981,
+ 0x16371967, 0x0000f300, 0x41011800, 0x00001981, 0x16391914, 0x0000f300,
+ 0xc1c08800, 0x00001981, 0x163b1967, 0x0000f300, 0x4100c000, 0x00009981,
+ 0x163d1914, 0x00007300, 0xc1c03000, 0x00001981, 0x163f1914, 0x0000f300,
+ 0xc1c08000, 0x00009981, 0x16411967, 0x00007300, 0x41013800, 0x00009981,
+ 0x8280fa05, 0x0000e280, 0x9800320f, 0x00000780, 0x000015ef, 0x00007400,
+ 0x8d179a60, 0x0000f900, 0x00000006, 0x00008080, 0x029057e4, 0x00001800,
+ 0x03c0240f, 0x00001181, 0x00000c0f, 0x00001583, 0x03c0194b, 0x00007930,
+ 0x00002a0c, 0x00008280, 0x0000155f, 0x0000f019, 0x57c0000f, 0x0000f893,
+ 0x00802201, 0x00000000, 0xabe21757, 0x00004490, 0xbe217448, 0x00008592,
+ 0x00420415, 0x00004594, 0x07e0040b, 0x00000792, 0x16561898, 0x0000f500,
+ 0x0c405000, 0x0000e180, 0x08003004, 0x0000e206, 0x0c002004, 0x00009900,
+ 0x01000000, 0x00009980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x04104004, 0x00006987, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
+ 0x01040415, 0x00009283, 0x6000081e, 0x00006412, 0xa0001010, 0x0000b412,
+ 0xffffffff, 0x00007f86, 0x07b9f81e, 0x0000f908, 0x003ffffe, 0x00008280,
+ 0x81060615, 0x00001283, 0x0e80f434, 0x00006012, 0xc0001010, 0x00003413,
+ 0x0d000c34, 0x0000e091, 0xc0001011, 0x0000a412, 0x8d001ee3, 0x00006080,
+ 0x61a1a01e, 0x00006012, 0x9811a6e3, 0x00009000, 0xbc404a60, 0x0000f902,
+ 0x02000000, 0x00000004, 0xbc802860, 0x00007902, 0x01000000, 0x00000004,
+ 0xffffffff, 0x00007f97, 0x02404a3c, 0x00009002, 0x01400805, 0x0000e082,
+ 0x02000008, 0x00000084, 0x81c18615, 0x0000e283, 0x01000004, 0x00000084,
+ 0xbc784a60, 0x0000d004, 0x00384000, 0x00000000, 0xbcb82860, 0x00005004,
+ 0x00382000, 0x00000000, 0x000016ab, 0x00007008, 0x0800300f, 0x00006206,
+ 0x00007000, 0x00003484, 0xc0200408, 0x000000cd, 0x00080000, 0x00006380,
+ 0x0bc00000, 0x00000980, 0x0d00000f, 0x00007900, 0x00000100, 0x00000380,
+ 0x0c800000, 0x0000e180, 0x00100000, 0x0000c380, 0x0000182f, 0x00006106,
+ 0x00002045, 0x0000b406, 0xc1c01800, 0x0000e180, 0x0001a032, 0x0000e206,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0cc00002, 0x0000e180,
+ 0x80001010, 0x0000e402, 0x0e80f647, 0x0000e002, 0xc000182f, 0x0000b006,
+ 0x00400000, 0x00007900, 0x00040090, 0x00000980, 0x01521800, 0x0000f900,
+ 0x0000c080, 0x00000980, 0x0b18b000, 0x0000f900, 0x00019a40, 0x00008980,
+ 0x0b400000, 0x0000f900, 0x00018008, 0x00000980, 0x0c401000, 0x0000f900,
+ 0x0001c000, 0x00000980, 0x001000ec, 0x00005780, 0x00804100, 0x00000380,
+ 0x40003032, 0x00006107, 0xa0000000, 0x0000b482, 0xc7d26a4d, 0x00006100,
+ 0x00003833, 0x00006106, 0x11da4c4d, 0x00000420, 0x13ba9751, 0x0000843c,
+ 0x14000753, 0x00008090, 0x0a000a00, 0x00006180, 0x0a400000, 0x0000c980,
+ 0x0a800100, 0x000002ec, 0x0c000000, 0x00006180, 0x8b901202, 0x00004900,
+ 0x51681524, 0x00008238, 0x009856ec, 0x0000df80, 0x00884c40, 0x00008284,
+ 0x16a91914, 0x0000f300, 0xc1c06800, 0x00009981, 0xe4c00344, 0x0000c590,
+ 0xf240064b, 0x00006ccc, 0x16af1898, 0x0000f500, 0x0c406800, 0x00006180,
+ 0x08003009, 0x00006206, 0x0c004809, 0x00009900, 0x00007000, 0x00006484,
+ 0xa0000811, 0x0000b402, 0xc0004000, 0x00006181, 0xc0000811, 0x00006403,
+ 0x00080000, 0x00006380, 0x45801800, 0x00000981, 0x00100000, 0x00006380,
+ 0x07029052, 0x00008900, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x00400000, 0x00007900, 0x000403d0, 0x00008980, 0x01501800, 0x00007900,
+ 0x0000c3c0, 0x00008980, 0x07429853, 0x0000e100, 0xa0000000, 0x0000e482,
+ 0x08124f51, 0x00000205, 0x0860044d, 0x0000008d, 0x41c00403, 0x000000d0,
+ 0x009006ec, 0x00005f80, 0x00804100, 0x00008384, 0x16c61914, 0x0000f300,
+ 0xc1c02800, 0x00001981, 0x16c81914, 0x00007300, 0xc1c08800, 0x00001981,
+ 0xe0e00344, 0x00004591, 0x7040064b, 0x0000eacd, 0x16cc1914, 0x0000f300,
+ 0xc1c08000, 0x00009981, 0xe0600344, 0x0000c591, 0x7000064b, 0x00006acb,
+ 0x16d01967, 0x0000f300, 0x41019000, 0x00001981, 0x16d21914, 0x0000f300,
+ 0xc1c08800, 0x00001981, 0x19e05725, 0x0000c410, 0x06201424, 0x00000592,
+ 0x40411f49, 0x0000f88b, 0x08800000, 0x00000a84, 0x16d81914, 0x0000f300,
+ 0xc1c08000, 0x00009981, 0x19e05725, 0x0000c410, 0x06201424, 0x00000592,
+ 0x40411f49, 0x0000f88b, 0x08800000, 0x00000a84, 0x16de1914, 0x0000f300,
+ 0xc1c06800, 0x00009981, 0x19e05725, 0x0000c410, 0x06201424, 0x00000592,
+ 0x40411f49, 0x0000f88b, 0x08800000, 0x00000a84, 0x01410405, 0x00009283,
+ 0x41002000, 0x00009991, 0x16e51967, 0x00007111, 0x00000000, 0x00007080,
+ 0xbc3914ec, 0x0000a084, 0xc00007e2, 0x00006583, 0x8b800ee3, 0x00008880,
+ 0xbcf9402e, 0x00002004, 0xffffffff, 0x00007f86, 0x88800e22, 0x00006191,
+ 0x48800d22, 0x00000189, 0x08800c22, 0x00001181, 0x04184828, 0x0000e987,
+ 0x00000001, 0x00007480, 0xbc3914ec, 0x00002884, 0xbcf9402e, 0x0000a804,
0x01400000, 0x00001980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
0x04182005, 0x00006987, 0x700708ec, 0x0000d680, 0x00382802, 0x00000000,
- 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04109004, 0x0000e987, 0x700708ec, 0x0000d680,
- 0x00382002, 0x00008000, 0x01030400, 0x00001281, 0x00020404, 0x00009583,
- 0x4f420000, 0x0000e189, 0x1000083c, 0x0000e40c, 0xcf000800, 0x0000e189,
- 0xc000083d, 0x0000e409, 0x00001687, 0x0000f010, 0x00001690, 0x0000f400,
- 0x8f901202, 0x0000e100, 0x0000183f, 0x0000e106, 0xcf981302, 0x00006100,
- 0xc000183f, 0x00006006, 0x00010404, 0x00009583, 0x1000303c, 0x0000640c,
- 0x8000003d, 0x0000b488, 0xcf000800, 0x0000e189, 0x0000303e, 0x0000e20e,
- 0x00001692, 0x00007010, 0x4000303e, 0x00006107, 0x0000383f, 0x00003106,
- 0xc000383f, 0x00006806, 0x000016b4, 0x0000f200, 0x8f407800, 0x00009981,
- 0x00030404, 0x00001583, 0x01c00020, 0x0000e190, 0x04800000, 0x0000c990,
- 0x03c00000, 0x0000e190, 0x01400000, 0x0000c990, 0x00001671, 0x0000f008,
- 0x000016c1, 0x00007400, 0x04240000, 0x00007900, 0x003c22bc, 0x00000980,
- 0x81c01000, 0x00009980, 0x01407400, 0x00001281, 0x00007405, 0x00001583,
- 0x01430400, 0x00001289, 0x000016c4, 0x0000f011, 0x00020405, 0x00001583,
- 0x0f00103c, 0x0000e388, 0xd000103d, 0x0000a40c, 0xcf000800, 0x0000e189,
- 0xc000083d, 0x0000e409, 0x000016ab, 0x00007010, 0x000016b3, 0x00007400,
- 0x8f901202, 0x0000e100, 0x0000183f, 0x0000e106, 0xcf981302, 0x00006100,
- 0xc000183f, 0x00006006, 0x00010405, 0x00001583, 0x0f00603c, 0x00006388,
- 0x0000303e, 0x0000220e, 0xcf000800, 0x0000e189, 0x4000303e, 0x0000e10f,
- 0x000016b8, 0x0000f010, 0x0000383f, 0x0000e906, 0xc000383f, 0x00006806,
- 0x8f405000, 0x00009981, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
- 0x00887eec, 0x00005f80, 0x00004000, 0x00008084, 0x00030405, 0x00009583,
- 0x01c00020, 0x0000e190, 0x04800000, 0x0000c990, 0x03c00000, 0x0000e190,
- 0x01400000, 0x0000c990, 0x00000001, 0x00007088, 0x042b1800, 0x00007900,
- 0x003c22bc, 0x00000980, 0x81c01000, 0x00009980, 0x000016d8, 0x0000f200,
- 0x0451f000, 0x0000f900, 0x003efbb4, 0x00008980, 0x01010400, 0x00001283,
- 0x01c00020, 0x0000e188, 0x04800000, 0x0000c988, 0x03c00000, 0x0000e188,
- 0x01400000, 0x0000c988, 0x00001671, 0x0000f010, 0x042b5800, 0x0000f900,
- 0x003c22bc, 0x00000980, 0x000016d8, 0x0000f400, 0x044d3800, 0x0000f900,
- 0x000373c2, 0x00008980, 0x81c01000, 0x00009980, 0x01c00020, 0x00006180,
- 0x04800000, 0x00004980, 0x042c4800, 0x0000f900, 0x003c22bc, 0x00000980,
- 0x04534800, 0x00007900, 0x003e124c, 0x00008980, 0x03c00000, 0x000000d4,
- 0x81c01000, 0x00009980, 0x167520b1, 0x00007500, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x03200702, 0x0000802e, 0x00001675, 0x0000f000,
- 0x0000157f, 0x0000f000, 0x0143840c, 0x00001281, 0x00028405, 0x00009583,
- 0x01800000, 0x0000e190, 0x02008010, 0x0000c910, 0x01b71ee3, 0x0000e111,
- 0x0f006606, 0x00006014, 0x00000001, 0x00007088, 0x01c00020, 0x00006180,
+ 0xf2e00c09, 0x00004488, 0xf8200c09, 0x000085ad, 0xe6801409, 0x0000788b,
+ 0xe0800000, 0x00000b8c, 0x01401c0c, 0x0000e283, 0x01000000, 0x00008981,
+ 0x07771ee3, 0x0000e109, 0x01c00000, 0x00004988, 0x2a80580b, 0x00006108,
+ 0x2ac0500a, 0x0000c908, 0x000017a8, 0x0000f010, 0x1706266c, 0x00007204,
+ 0x2a409800, 0x00007900, 0x00003800, 0x00000980, 0x00000407, 0x0000e583,
+ 0x879562ac, 0x00008900, 0x817f1fe3, 0x00009908, 0x8a002a05, 0x0000a088,
+ 0x00001710, 0x0000f010, 0xffffffff, 0x00007f97, 0x01403c05, 0x00001281,
+ 0x01401405, 0x00001181, 0x00000c05, 0x00001583, 0x00001715, 0x0000701b,
+ 0x147d5800, 0x00007900, 0x0021936a, 0x00008980, 0x171522b9, 0x0000f500,
+ 0x14385f0a, 0x00008324, 0x0e203c07, 0x00001900, 0x3038ba1e, 0x00002080,
+ 0x3040b01e, 0x00007902, 0x05400000, 0x00008000, 0x3178e21e, 0x0000a080,
+ 0x3180da1e, 0x0000f902, 0x06800000, 0x00008000, 0x3180cc1e, 0x00007902,
+ 0x06000000, 0x00000000, 0x01400ce0, 0x00001283, 0x00001723, 0x0000f00b,
+ 0x17202269, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x0000178d, 0x00007013, 0xbc3914ec, 0x0000a084, 0xc00007e2, 0x00006583,
+ 0x81401c1d, 0x00000880, 0x87502c1d, 0x0000e000, 0x0030b807, 0x0000a086,
+ 0x2c0a07e2, 0x00001680, 0x814588b0, 0x00009000, 0x88800e22, 0x0000e091,
+ 0x48800d22, 0x00008089, 0xc1002715, 0x00006283, 0x8228e007, 0x00002086,
+ 0xbc40021d, 0x0000d084, 0x00400000, 0x00008000, 0xbc40041d, 0x0000d084,
+ 0x00400000, 0x00008000, 0xbc40061d, 0x00005084, 0x00400000, 0x00008000,
+ 0xbc80001d, 0x00005084, 0x00400000, 0x00008000, 0xbc80021d, 0x0000d084,
+ 0x00400000, 0x00008000, 0xbc80041d, 0x0000d084, 0x00400000, 0x00008000,
+ 0xbc80061d, 0x00005084, 0x00400000, 0x00008000, 0xbcc0021d, 0x00005084,
+ 0x00400000, 0x00008000, 0x05f0bfe4, 0x0000e000, 0x08800c22, 0x0000c081,
+ 0x8496fa05, 0x00007910, 0x00000006, 0x00008080, 0xbcf8b81d, 0x0000d004,
+ 0x00383800, 0x00000000, 0xbc40021d, 0x00005004, 0x00400000, 0x00000080,
+ 0xbc40041d, 0x00005004, 0x00400000, 0x00000080, 0xbc40061d, 0x0000d004,
+ 0x00400000, 0x00000080, 0xbc80001d, 0x0000d004, 0x00400000, 0x00000080,
+ 0xbc80021d, 0x00005004, 0x00400000, 0x00000080, 0xbc80041d, 0x00005004,
+ 0x00400000, 0x00000080, 0xbc80061d, 0x0000d004, 0x00400000, 0x00000080,
+ 0xbcc0021d, 0x0000d004, 0x00400000, 0x00000080, 0x0000176e, 0x00007410,
+ 0xbc3914ec, 0x00002884, 0x0460e51c, 0x0000e011, 0x0628e51c, 0x00008901,
+ 0x00001771, 0x0000f000, 0x0401fc18, 0x0000e281, 0x87400c18, 0x00008880,
+ 0xa348ae1d, 0x00002886, 0xa340061d, 0x00005085, 0x00400000, 0x00008000,
+ 0xa340d61d, 0x00002806, 0xa368c61d, 0x00002804, 0x0000fc10, 0x00006583,
+ 0x0740fc18, 0x00008281, 0x04e0efe4, 0x0000e000, 0x87403418, 0x0000c780,
+ 0x06000c18, 0x00006081, 0x8750921d, 0x00008000, 0x0000381d, 0x0000f902,
+ 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x01803013, 0x0000e318,
+ 0x01c03813, 0x00008330, 0xffffffff, 0x00007f86, 0x0038381d, 0x00005000,
+ 0x00383000, 0x00008000, 0xffffffff, 0x00007f86, 0x00208c18, 0x00009503,
+ 0x00001759, 0x00007013, 0x87771ee3, 0x00001900, 0xab60ae1d, 0x00005005,
+ 0x0008b000, 0x00008002, 0x87400e15, 0x00001880, 0xac40061d, 0x00005085,
+ 0x00400000, 0x00008000, 0xac48de1d, 0x00005006, 0x0020c800, 0x00000000,
+ 0x87400e15, 0x00001880, 0x8750ee15, 0x00001000, 0x8740fa1d, 0x0000e280,
+ 0x81c2021d, 0x00008080, 0x8156fa05, 0x0000f900, 0x00000006, 0x00008080,
+ 0x81803207, 0x0000e780, 0x0750efe4, 0x00008800, 0x01c1fc07, 0x00006281,
+ 0x81503205, 0x00008000, 0x00008005, 0x0000f902, 0x01800000, 0x00000000,
+ 0x0000fc07, 0x00009583, 0xffffffff, 0x00007f97, 0x0180301d, 0x00006318,
+ 0x0400801d, 0x00000330, 0x000017a8, 0x0000f400, 0xffffffff, 0x00007f86,
+ 0x00388005, 0x00005000, 0x00383000, 0x00008000, 0x2c0036e3, 0x00001680,
+ 0x874588b0, 0x00009000, 0xc5782a1d, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x01400805, 0x00009080, 0xc5782a1d, 0x0000a884, 0xc540021d, 0x0000d004,
+ 0x00408800, 0x00000080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x17a816e6, 0x00007300, 0x01000800, 0x00009981, 0x000017a8, 0x00007000,
+ 0x000017a8, 0x0000f200, 0x01001000, 0x00009981, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x04373000, 0x0000f900, 0x0021936a, 0x00008980,
+ 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x17a82213, 0x0000f500,
+ 0x04b84f08, 0x0000001c, 0x81402800, 0x00009980, 0x07602404, 0x00006101,
+ 0x00204806, 0x00006086, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604,
+ 0x82284806, 0x0000e086, 0x00002010, 0x0000b586, 0x04284810, 0x00006087,
+ 0x04184806, 0x00003187, 0x1c004008, 0x00006100, 0x86204810, 0x0000e087,
+ 0x1b46d800, 0x00007900, 0x0032a52e, 0x00000980, 0x17b722d9, 0x00007500,
+ 0x1bf82f06, 0x00008638, 0x1b008010, 0x00009900, 0x17b91898, 0x0000f300,
+ 0x0c00ef08, 0x00008307, 0x04800000, 0x000081cc, 0x04009000, 0x00007900,
+ 0x0000d980, 0x00008980, 0x04400000, 0x0000f900, 0x00010000, 0x00000980,
+ 0x05384f08, 0x00000114, 0x05b85f0a, 0x0000011c, 0x06386f0c, 0x00000124,
+ 0x06b87f0e, 0x0000012c, 0xc4981302, 0x00009900, 0x009826ec, 0x00005f80,
+ 0x00004800, 0x00000084, 0x0143840c, 0x00001281, 0x00028405, 0x00009583,
+ 0x01800000, 0x0000e190, 0x01c08010, 0x0000c910, 0x01b71ee3, 0x0000e111,
+ 0x0f006606, 0x00006014, 0x00000001, 0x00007088, 0x01400020, 0x0000e180,
0x82208806, 0x00006086, 0x04238000, 0x00007900, 0x003dc5c6, 0x00000980,
- 0x01400000, 0x00006180, 0x08001a0b, 0x00006106, 0x046fb800, 0x00007900,
- 0x001ac1e6, 0x00000980, 0x82e00500, 0x0000802e, 0x16f220b1, 0x00007500,
- 0x03384702, 0x00000108, 0x81c0a800, 0x0000e180, 0x03c03006, 0x0000c900,
- 0x00400000, 0x00007900, 0x00040350, 0x00000980, 0xc0c00000, 0x00006180,
- 0x82382001, 0x00006080, 0x80000604, 0x0000e583, 0x86282001, 0x0000a001,
- 0x80c01000, 0x00006191, 0x96702001, 0x00006001, 0x00000001, 0x00007480,
- 0x40000504, 0x0000e583, 0x00001000, 0x00008981, 0xc0202404, 0x00006101,
- 0x00001001, 0x00006416, 0x01000000, 0x000002f0, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x0b400000, 0x00006180, 0x04186004, 0x0000e187,
- 0x700708ec, 0x0000d680, 0x00382002, 0x00008000, 0x09000000, 0x000082d4,
- 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec,
- 0x07000000, 0x000081f4, 0x07800000, 0x000081fc, 0x08000000, 0x000082c4,
- 0x08c00000, 0x000082c8, 0x00401c11, 0x00004589, 0x06402411, 0x0000078e,
- 0x01809800, 0x00007900, 0x00001c00, 0x00000980, 0x1716250b, 0x00007404,
- 0x02001800, 0x00006181, 0x03771ee3, 0x0000c901, 0x01f89713, 0x00008a20,
- 0x00000406, 0x00009583, 0x81ff1fe3, 0x00001908, 0x8a003a07, 0x0000a088,
- 0x0000171f, 0x0000f010, 0xffffffff, 0x00007f97, 0x01c03c07, 0x00001281,
- 0x01c01407, 0x00001181, 0x00000c07, 0x00009583, 0x00001724, 0x0000f01b,
- 0x0e609800, 0x0000f900, 0x003dc5c4, 0x00008980, 0x17242158, 0x00007500,
- 0xc1b89006, 0x00000320, 0x01c09813, 0x00001900, 0x30b85ca9, 0x0000a000,
- 0x308056a9, 0x0000f902, 0x02400000, 0x00000000, 0x30f838a9, 0x00002080,
- 0x30f832a9, 0x0000a000, 0x30f82ca9, 0x00002080, 0x01000ce0, 0x00009283,
- 0x00001746, 0x0000f00b, 0x172d2108, 0x0000f100, 0xffffffff, 0x00007f86,
+ 0x03400000, 0x0000e180, 0x08001a0b, 0x00006106, 0x046fb800, 0x00007900,
+ 0x001ac1e6, 0x00000980, 0x82e00500, 0x0000802e, 0x17d82213, 0x00007500,
+ 0x03f83f02, 0x00000108, 0x01c0af06, 0x00008095, 0x00400000, 0x00007900,
+ 0x00040350, 0x00000980, 0xc0c00000, 0x00006180, 0x82382001, 0x00006080,
+ 0x80000604, 0x0000e583, 0x86282001, 0x0000a001, 0x80c01000, 0x00006191,
+ 0x96702001, 0x00006001, 0x00000001, 0x00007480, 0x40000504, 0x0000e583,
+ 0x00001000, 0x00008981, 0xc0202404, 0x00006101, 0x00001001, 0x00006416,
+ 0x01000000, 0x000002f0, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x0b400000, 0x00006180, 0x04186004, 0x0000e187, 0x700708ec, 0x0000d680,
+ 0x00382002, 0x00008000, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc,
+ 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x07000000, 0x000081f4,
+ 0x07800000, 0x000081fc, 0x08000000, 0x000082c4, 0x08c00000, 0x000082c8,
+ 0x00401c11, 0x0000c588, 0x86602411, 0x0000078e, 0x2a409800, 0x00007900,
+ 0x00001c00, 0x00000980, 0x17fc266c, 0x00007404, 0x01801800, 0x0000e181,
+ 0x03771ee3, 0x0000c901, 0x2ab89713, 0x00000a2c, 0x00000407, 0x0000e583,
+ 0x839562ac, 0x00000900, 0x823f1fe3, 0x00001908, 0x8a004208, 0x0000a088,
+ 0x00001806, 0x00007010, 0xffffffff, 0x00007f97, 0x02003c08, 0x00001281,
+ 0x02001408, 0x00001181, 0x00000c08, 0x00009583, 0x0000180b, 0x0000701b,
+ 0x14609800, 0x00007900, 0x003dc5c4, 0x00008980, 0x180b22b9, 0x0000f500,
+ 0x14389f12, 0x00008324, 0x0e203c07, 0x00001900, 0x30b85c0e, 0x00002000,
+ 0x3080560e, 0x00007902, 0x02400000, 0x00000000, 0x30f8400e, 0x0000a080,
+ 0x30f83a0e, 0x0000a000, 0x30f82c0e, 0x0000a080, 0x01000ce0, 0x00009283,
+ 0x0000182d, 0x0000700b, 0x18142269, 0x00007100, 0xffffffff, 0x00007f86,
0x00000468, 0x00001583, 0x23d80800, 0x0000e190, 0x22800000, 0x00004990,
- 0x23060000, 0x0000f910, 0x001f2252, 0x00008980, 0x00001746, 0x0000f008,
- 0x173920e8, 0x00007500, 0x23429800, 0x0000f900, 0x003dc5c8, 0x00008980,
- 0x22d01202, 0x0000e100, 0xe3f71ee3, 0x00004900, 0x173b16f2, 0x00007300,
- 0x01000800, 0x00001980, 0x2c0036e3, 0x00001680, 0x81c588b0, 0x00001000,
- 0xc5782a07, 0x0000a084, 0x80407800, 0x00009981, 0xffffffff, 0x00007f97,
- 0x01400805, 0x00009080, 0xc5782a07, 0x00002884, 0xc5400207, 0x00005004,
+ 0x23060000, 0x0000f910, 0x001f2252, 0x00008980, 0x0000182d, 0x00007008,
+ 0x1820224a, 0x0000f500, 0x23429800, 0x0000f900, 0x003dc5c8, 0x00008980,
+ 0x22d01202, 0x0000e100, 0xe3f71ee3, 0x00004900, 0x182217d8, 0x0000f300,
+ 0x01000800, 0x00001980, 0x2c0036e3, 0x00001680, 0x820588b0, 0x00001000,
+ 0xc5782a08, 0x0000a084, 0x80407800, 0x00009981, 0xffffffff, 0x00007f97,
+ 0x01400805, 0x00009080, 0xc5782a08, 0x00002884, 0xc5400208, 0x00005004,
0x00409000, 0x00000080, 0x008806ec, 0x00005f80, 0x00006800, 0x00008084,
- 0x174916f2, 0x00007300, 0x01082800, 0x0000f900, 0x00008040, 0x00008980,
- 0x41006518, 0x00009283, 0xc9103a07, 0x00006108, 0x06003025, 0x0000e009,
- 0x16003025, 0x00006009, 0x0100302a, 0x0000300a, 0x00001762, 0x0000f010,
- 0x89584b09, 0x0000e100, 0x81c01c0d, 0x0000c880, 0x81d03c0d, 0x00006000,
+ 0x183017d8, 0x0000f300, 0x01082800, 0x0000f900, 0x00008040, 0x00008980,
+ 0x41006518, 0x00009283, 0xc9104208, 0x00006108, 0x06003825, 0x00006009,
+ 0x16003825, 0x0000e009, 0x0100382a, 0x0000b00a, 0x00001849, 0x0000f010,
+ 0x89584b09, 0x0000e100, 0x82001c0d, 0x0000c880, 0x8210440d, 0x00006000,
0x24b02825, 0x00002083, 0x00285005, 0x0000e086, 0x00385204, 0x00003086,
0x82205005, 0x00006086, 0x2000101c, 0x0000b402, 0x04385805, 0x0000e087,
0x82305204, 0x0000b086, 0x86305805, 0x00006087, 0x0000101c, 0x0000b403,
- 0x0a202705, 0x00000224, 0xbcf82807, 0x0000a004, 0x81f71ee3, 0x00009900,
- 0xab715607, 0x00002085, 0x176216de, 0x0000f500, 0xffffffff, 0x00007f86,
+ 0x0a202705, 0x00000224, 0xbcf82808, 0x0000a004, 0x82371ee3, 0x00009900,
+ 0xab715608, 0x00002085, 0x184917c5, 0x00007500, 0xffffffff, 0x00007f86,
0x4aa82d05, 0x00001901, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604,
- 0x01e04408, 0x0000e101, 0x00002009, 0x00006586, 0x1c408010, 0x0000e100,
- 0x04288809, 0x0000e087, 0x86208809, 0x0000e887, 0x1bc02805, 0x0000e100,
- 0x00208804, 0x0000e086, 0x1b404809, 0x00006100, 0x82288804, 0x00006086,
- 0x04188804, 0x00006987, 0x01802004, 0x00009900, 0x17972178, 0x00007500,
- 0x1b86d800, 0x00007900, 0x0032a52e, 0x00000980, 0x1c003006, 0x00001900,
- 0x41001d18, 0x00006283, 0x02002000, 0x00000981, 0x01c00020, 0x0000e190,
- 0x04800000, 0x0000c990, 0x03c00000, 0x0000e190, 0x01400000, 0x0000c990,
- 0x00001783, 0x0000f008, 0x04006800, 0x0000f900, 0x003dc5c6, 0x00000980,
- 0x047e8000, 0x0000f900, 0x002d9e8a, 0x00008980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x03001002, 0x00009900,
- 0x178320b1, 0x00007100, 0x178416de, 0x0000f100, 0x178616f2, 0x00007300,
- 0x01001820, 0x00001980, 0x00001762, 0x0000f400, 0x001048ec, 0x00005780,
- 0x00004000, 0x00000080, 0xca588b11, 0x00001900, 0x02388f10, 0x00000018,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x041b4000, 0x0000f900,
+ 0x02203406, 0x0000e101, 0x00002009, 0x00006586, 0x1c008010, 0x00006100,
+ 0x04288809, 0x0000e087, 0x86208809, 0x0000e887, 0x1b802805, 0x00006100,
+ 0x00208804, 0x0000e086, 0x1b004809, 0x0000e100, 0x82288804, 0x00006086,
+ 0x04188804, 0x00006987, 0x01802004, 0x00009900, 0x187e22d9, 0x00007500,
+ 0x1b46d800, 0x00007900, 0x0032a52e, 0x00000980, 0x1bc03006, 0x00009900,
+ 0x41001d18, 0x00006283, 0x01802000, 0x00008981, 0x01400020, 0x00006190,
+ 0x04800000, 0x0000c990, 0x01c00000, 0x00006190, 0x03400000, 0x00004990,
+ 0x0000186a, 0x00007008, 0x04006800, 0x0000f900, 0x003dc5c6, 0x00000980,
+ 0x047e8000, 0x0000f900, 0x002d9e8a, 0x00008980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x03c01002, 0x00009900,
+ 0x186a2213, 0x0000f100, 0x186b17c5, 0x0000f100, 0x186d17d8, 0x00007300,
+ 0x01001820, 0x00001980, 0x00001849, 0x0000f400, 0x001048ec, 0x00005780,
+ 0x00004000, 0x00000080, 0xca588b11, 0x00001900, 0x01f88f10, 0x00000018,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x041b4000, 0x0000f900,
0x003dc5c4, 0x00008980, 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x00001782, 0x00007400, 0x04b83708, 0x0000803c, 0x81c02800, 0x00001980,
- 0x179917b1, 0x0000f300, 0x0c003f10, 0x00000307, 0x0c400711, 0x000002bc,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c,
+ 0x00001869, 0x00007400, 0x04802f07, 0x00000095, 0x01c03006, 0x00001900,
+ 0x18801898, 0x0000f300, 0x0c004710, 0x00000307, 0x0c400711, 0x000002bc,
0x00001c31, 0x0000e583, 0x0dc0b817, 0x00008900, 0x0000902c, 0x00006484,
0x0100002d, 0x00003586, 0x000800ec, 0x00005780, 0x00004000, 0x00000080,
0xcdf1562a, 0x00006109, 0x0000182f, 0x00006106, 0x00001c11, 0x00006583,
@@ -5961,115 +6063,115 @@ ARRAY_DECL u32 init_val[] = {
0x0e78d719, 0x00000328, 0xcb232800, 0x00006180, 0x0ec0d81b, 0x00004900,
0x00805eec, 0x00005f80, 0x00004801, 0x00008084, 0xbb7a0aec, 0x0000a084,
0x8cb71ee3, 0x00009900, 0xffffffff, 0x00007f97, 0x80120a32, 0x00001502,
- 0x801a0a32, 0x00009502, 0xffffffff, 0x00007f86, 0x000017c1, 0x0000f008,
- 0x000017bf, 0x0000f008, 0x80172a41, 0x00001502, 0x90771ee3, 0x00009908,
- 0x000017c1, 0x00007009, 0xc0172b41, 0x00001502, 0xd0771ee3, 0x00001908,
- 0x000017c1, 0x00007011, 0x000017c2, 0x0000f200, 0x90800800, 0x00001980,
+ 0x801a0a32, 0x00009502, 0xffffffff, 0x00007f86, 0x000018a8, 0x0000f008,
+ 0x000018a6, 0x00007008, 0x80172a41, 0x00001502, 0x90771ee3, 0x00009908,
+ 0x000018a8, 0x00007009, 0xc0172b41, 0x00001502, 0xd0771ee3, 0x00001908,
+ 0x000018a8, 0x00007011, 0x000018a9, 0x00007200, 0x90800800, 0x00001980,
0x90800000, 0x00009980, 0xffffffff, 0x00007f86, 0x2c003242, 0x00001680,
- 0x8c8588b0, 0x00001000, 0x8c800a32, 0x00009080, 0xbb41ea32, 0x00007902,
- 0x0ec00000, 0x00000004, 0xbb41d432, 0x0000f902, 0x0e400000, 0x00008004,
- 0xbb41c632, 0x0000f902, 0x0dc00000, 0x00000004, 0xbb81b032, 0x00007902,
- 0x0d400000, 0x00008004, 0xbb81a232, 0x00007902, 0x0cc00000, 0x00008004,
- 0xbb81fc32, 0x0000f902, 0x0f800000, 0x00000004, 0x01403031, 0x0000c389,
- 0x00203031, 0x00008098, 0x01001031, 0x00004489, 0xd6201031, 0x0000059f,
- 0x00c00031, 0x00004791, 0x82a05031, 0x0000038f, 0xfec05031, 0x0000c4b0,
- 0x36206031, 0x00000688, 0x06006031, 0x0000f8aa, 0xe0c00000, 0x00008b8f,
- 0x00000831, 0x00009582, 0xcf400b3d, 0x00001088, 0x0000181e, 0x0000f009,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x042e9000, 0x00007900,
+ 0x8c8588b0, 0x00001000, 0x8c800a32, 0x00009080, 0xbb41fa32, 0x0000f902,
+ 0x0f800000, 0x00000004, 0xbb41ec32, 0x00007902, 0x0ec00000, 0x00000004,
+ 0xbb41d632, 0x00007902, 0x0e400000, 0x00008004, 0xbb81c032, 0x0000f902,
+ 0x0dc00000, 0x00000004, 0xbb81b232, 0x0000f902, 0x0d400000, 0x00008004,
+ 0xbb81a432, 0x00007902, 0x0cc00000, 0x00008004, 0x1e203031, 0x00004389,
+ 0x00203031, 0x00008098, 0x1de01031, 0x00004489, 0xa4201031, 0x00000699,
+ 0x00c00031, 0x00004791, 0x82a05031, 0x0000038f, 0x1ba05031, 0x0000c4b1,
+ 0x04206031, 0x0000068a, 0x3fc06031, 0x0000f8aa, 0x18c00000, 0x00000c87,
+ 0x00000831, 0x00009582, 0xcfc00b3f, 0x00001088, 0x00001905, 0x00007009,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x042e9000, 0x00007900,
0x00328e8c, 0x00008980, 0x044a7000, 0x00007900, 0x00153394, 0x00008980,
- 0x04800000, 0x000000fc, 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901,
- 0x181e20b1, 0x00007500, 0x82f81400, 0x00008030, 0x81c01000, 0x00009980,
- 0x00002031, 0x00009582, 0xce518230, 0x00006108, 0x8e400a39, 0x00004088,
- 0x0000181e, 0x0000f009, 0x00002031, 0x00009582, 0x8e800a3a, 0x000060b0,
- 0xce918230, 0x00000930, 0xce118230, 0x00006118, 0x8e000a38, 0x0000c098,
- 0x0000181e, 0x0000f030, 0x0000181e, 0x0000f000, 0x00004031, 0x00009582,
- 0xcd118230, 0x0000e108, 0x8d000a34, 0x00004088, 0x0000181e, 0x0000f009,
- 0x03404031, 0x0000f8b2, 0x90c00000, 0x00008c80, 0x00006831, 0x00009582,
- 0xcf918230, 0x0000e108, 0x8f800a3e, 0x00004088, 0x0000181e, 0x0000f009,
- 0x000017df, 0x00007000, 0x0f400001, 0x000083ec, 0x0e800000, 0x000003e4,
- 0x0e000000, 0x000003dc, 0x0d800000, 0x000003d4, 0x0000181e, 0x00007400,
- 0x0d000000, 0x000083cc, 0x0f800000, 0x000083fc, 0x0000181e, 0x00007200,
- 0x8ec00a3b, 0x00009080, 0x0000181e, 0x00007200, 0xcdd18230, 0x00006100,
- 0x8dc00a37, 0x0000c080, 0x0000181e, 0x00007400, 0x80000242, 0x00006582,
- 0xcec00b3b, 0x00000080, 0x90572ae5, 0x0000e108, 0xd0572ae5, 0x00004910,
- 0x0000181e, 0x00007200, 0xcd918230, 0x0000e100, 0x8d800a36, 0x0000c080,
- 0x0000181e, 0x00007200, 0xcd518230, 0x0000e100, 0x8d400a35, 0x0000c080,
- 0x0000181e, 0x00007200, 0xccd18230, 0x0000e100, 0x8cc00a33, 0x0000c080,
- 0x0000181e, 0x00007200, 0xcfd18230, 0x0000e100, 0x8fc00a3f, 0x0000c080,
- 0xffffffff, 0x00007f86, 0xbb7a0aec, 0x00002884, 0xbb79ea32, 0x00005004,
- 0x0039d800, 0x00000000, 0xbb79d432, 0x0000d004, 0x0039c800, 0x00008000,
- 0xbb79c632, 0x0000d004, 0x0039b800, 0x00000000, 0xbbb9b032, 0x00005004,
- 0x0039a800, 0x00008000, 0x00000001, 0x00007480, 0xbbb9a232, 0x00005004,
- 0x00399800, 0x00008000, 0xbbb9fc32, 0x0000d004, 0x0039f000, 0x00000000,
+ 0x04800000, 0x000080dc, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x19052213, 0x0000f500, 0x82f81400, 0x0000803c, 0x81401000, 0x00001980,
+ 0x00002031, 0x00009582, 0xced18230, 0x0000e108, 0x8ec00a3b, 0x00004088,
+ 0x00001905, 0x00007009, 0x00002031, 0x00009582, 0x8f400a3d, 0x000060b0,
+ 0xcf518230, 0x00008930, 0xce918230, 0x0000e118, 0x8e800a3a, 0x0000c098,
+ 0x00001905, 0x00007030, 0x00001905, 0x00007000, 0x00004031, 0x00009582,
+ 0xcd918230, 0x00006108, 0x8d800a36, 0x00004088, 0x00001905, 0x00007009,
+ 0x3d004031, 0x0000f8b2, 0xc8c00000, 0x00008c87, 0x00006831, 0x00009582,
+ 0xccd18230, 0x00006108, 0x8cc00a33, 0x00004088, 0x00001905, 0x00007009,
+ 0x000018c6, 0x0000f000, 0x0fc00001, 0x000003f8, 0x0f400000, 0x000003ec,
+ 0x0e800000, 0x000003e4, 0x0e000000, 0x000003dc, 0x00001905, 0x0000f400,
+ 0x0d800000, 0x000003d4, 0x0cc00000, 0x000083d0, 0x00001905, 0x0000f200,
+ 0x8f800a3e, 0x00009080, 0x00001905, 0x0000f200, 0xce518230, 0x0000e100,
+ 0x8e400a39, 0x0000c080, 0x00001905, 0x0000f400, 0x80000242, 0x00006582,
+ 0xcf800b3e, 0x00000080, 0x90572ae5, 0x0000e108, 0xd0572ae5, 0x00004910,
+ 0x00001905, 0x0000f200, 0xce118230, 0x00006100, 0x8e000a38, 0x0000c080,
+ 0x00001905, 0x0000f200, 0xcdd18230, 0x00006100, 0x8dc00a37, 0x0000c080,
+ 0x00001905, 0x0000f200, 0xcd518230, 0x0000e100, 0x8d400a35, 0x0000c080,
+ 0x00001905, 0x0000f200, 0xcd118230, 0x00006100, 0x8d000a34, 0x0000c080,
+ 0xffffffff, 0x00007f86, 0xbb7a0aec, 0x00002884, 0xbb79fa32, 0x0000d004,
+ 0x0039f000, 0x00000000, 0xbb79ec32, 0x00005004, 0x0039d800, 0x00000000,
+ 0xbb79d632, 0x00005004, 0x0039c800, 0x00008000, 0xbbb9c032, 0x0000d004,
+ 0x0039b800, 0x00000000, 0x00000001, 0x00007480, 0xbbb9b232, 0x0000d004,
+ 0x0039a800, 0x00008000, 0xbbb9a432, 0x00005004, 0x00399800, 0x00008000,
0x23060000, 0x00007900, 0x001f2252, 0x00008980, 0x236d9800, 0x00007900,
- 0x003859f8, 0x00008980, 0x183520e8, 0x00007500, 0x23d00000, 0x00006180,
+ 0x003859f8, 0x00008980, 0x191c224a, 0x00007500, 0x23d00000, 0x00006180,
0x22c13026, 0x0000c900, 0x22b83f07, 0x00001900, 0x2c0c06e3, 0x00001680,
0x010588b0, 0x00009000, 0x2c1206e3, 0x00001680, 0x014588b0, 0x00001000,
- 0x04803005, 0x0000e784, 0x01003004, 0x00008784, 0xbc80ca12, 0x00007902,
+ 0x05803005, 0x00006784, 0x01003004, 0x00008784, 0xbc80ca16, 0x0000f902,
0x06000000, 0x00008004, 0xc0006f07, 0x00006583, 0x81000a04, 0x00000080,
- 0xbc80b412, 0x00007902, 0x05400000, 0x00000004, 0xbcb8a612, 0x00002084,
- 0x0000184d, 0x0000f408, 0xc5407c04, 0x0000f902, 0x03800000, 0x00000004,
- 0x06000818, 0x00001088, 0xc0006f07, 0x00009583, 0x00001871, 0x0000f033,
- 0xc0007707, 0x00009583, 0x05800816, 0x00001088, 0x0000184d, 0x0000f009,
+ 0xbc80ac16, 0x0000f902, 0x05000000, 0x00008004, 0xbcb89e16, 0x00002084,
+ 0x00001934, 0x0000f408, 0xc5407c04, 0x0000f902, 0x03800000, 0x00000004,
+ 0x06000818, 0x00001088, 0xc0006f07, 0x00009583, 0x00001958, 0x0000f033,
+ 0xc0007707, 0x00009583, 0x05400815, 0x00001088, 0x00001934, 0x0000f009,
0xc000df07, 0x00001583, 0x06400819, 0x00001088, 0x05f83fe4, 0x0000e000,
- 0x05000814, 0x0000c080, 0xbcb8ca12, 0x00005004, 0x0038c000, 0x00008000,
- 0x0380080e, 0x00006080, 0x03c07817, 0x00000300, 0xbcb8b412, 0x00005004,
- 0x0038a800, 0x00000000, 0xbcb8a612, 0x0000a884, 0xc5787c04, 0x0000d004,
+ 0x04c00813, 0x0000c080, 0xbcb8ca16, 0x0000d004, 0x0038c000, 0x00008000,
+ 0x0380080e, 0x00006080, 0x03c07817, 0x00000300, 0xbcb8ac16, 0x0000d004,
+ 0x0038a000, 0x00008000, 0xbcb89e16, 0x0000a884, 0xc5787c04, 0x0000d004,
0x00387000, 0x00000000, 0x80000607, 0x0000e583, 0x01000000, 0x00000980,
0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x0411f004, 0x0000e187,
- 0x00007000, 0x0000b494, 0x00001874, 0x0000f208, 0x700708ec, 0x0000d680,
+ 0x00007000, 0x0000b494, 0x0000195b, 0x0000f208, 0x700708ec, 0x0000d680,
0x00382002, 0x00008000, 0xc0200402, 0x00000ffd, 0x0037f800, 0x0000f900,
0x003ffffe, 0x00008280, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280,
0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
0x000403d0, 0x00008980, 0xc0c00000, 0x00006180, 0xa0000000, 0x0000e482,
0x01000000, 0x0000e180, 0x014001e0, 0x00004980, 0xc1c00000, 0x00009980,
- 0x009006ec, 0x00005f80, 0x00004000, 0x00008084, 0x0000184d, 0x00007400,
- 0xc0001f07, 0x00001583, 0x05400815, 0x00001088, 0x01c00020, 0x00006180,
+ 0x009006ec, 0x00005f80, 0x00004000, 0x00008084, 0x00001934, 0x00007400,
+ 0xc0001f07, 0x00001583, 0x05000814, 0x00001088, 0x01400020, 0x0000e180,
0x08001a0b, 0x00006106, 0x04341000, 0x00007900, 0x0003991e, 0x00008980,
- 0x047f0800, 0x00007900, 0x0001c650, 0x00000980, 0x04800000, 0x000000fc,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x188020b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x81c01000, 0x00009980, 0x23060000, 0x00007900,
+ 0x047f0800, 0x00007900, 0x0001c650, 0x00000980, 0x04800000, 0x000080dc,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x19672213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x81401000, 0x00001980, 0x23060000, 0x00007900,
0x001f2252, 0x00008980, 0x23773000, 0x00007900, 0x0003991e, 0x00008980,
- 0x188820e8, 0x00007500, 0x23c0000c, 0x0000e180, 0x22c13026, 0x0000c900,
+ 0x196f224a, 0x0000f500, 0x23c0000c, 0x0000e180, 0x22c13026, 0x0000c900,
0x22a82504, 0x00001900, 0x80172a4d, 0x00001502, 0x00003c24, 0x00001583,
- 0xffffffff, 0x00007f86, 0x0000188d, 0x00007008, 0x0000191f, 0x00007008,
- 0x00000404, 0x0000e583, 0x02800000, 0x00008980, 0x07792724, 0x0000e109,
- 0x0b804c1d, 0x00006092, 0x01400000, 0x000084e8, 0x8220e80a, 0x00006086,
- 0x0411f005, 0x00003187, 0x2c0c06e3, 0x00001680, 0x074588b0, 0x00001000,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x0740301d, 0x0000e784,
+ 0xffffffff, 0x00007f86, 0x00001974, 0x0000f008, 0x00001a06, 0x0000f008,
+ 0x00000404, 0x0000e583, 0x03000000, 0x00008980, 0x02b92724, 0x0000e109,
+ 0x0b804c0a, 0x00006092, 0x01400000, 0x000084e8, 0x8220500c, 0x00006086,
+ 0x0411f005, 0x00003187, 0x2c0c06e3, 0x00001680, 0x028588b0, 0x00001000,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x0280300a, 0x0000e784,
0x12c00000, 0x00008980, 0x700708ec, 0x0000d680, 0x00382802, 0x00000000,
- 0x87400a1d, 0x00006080, 0x13000000, 0x00000980, 0xc541121d, 0x00007902,
- 0x08400000, 0x00008004, 0x00000404, 0x0000e583, 0x12000000, 0x00008980,
+ 0x82800a0a, 0x00006080, 0x13000000, 0x00000980, 0xc5411a0a, 0x0000f902,
+ 0x08800000, 0x00008004, 0x00000404, 0x0000e583, 0x12000000, 0x00008980,
0x12c0e01c, 0x00006108, 0x1280e01c, 0x0000c908, 0x9318fb1f, 0x00006108,
0x12400000, 0x0000c980, 0x4000fd04, 0x00006583, 0x00003845, 0x00002406,
0x01410504, 0x00006198, 0x016827e4, 0x00008830, 0x122827e4, 0x00006030,
0x13c00000, 0x0000c980, 0x02402fe4, 0x0000e018, 0x12402fe4, 0x00004818,
- 0x08811005, 0x00006330, 0x08410809, 0x00000318, 0x00000404, 0x0000e583,
- 0xa0001010, 0x0000a402, 0xc579121d, 0x00005004, 0x00390800, 0x00008000,
- 0x87c00000, 0x000004f4, 0x00001950, 0x00007410, 0x1389f70a, 0x00008416,
- 0x93e86801, 0x00001980, 0x0000041f, 0x00001583, 0xc0c00000, 0x0000e190,
+ 0x08c11805, 0x00006330, 0x08811009, 0x00000318, 0x00000404, 0x0000e583,
+ 0xa0001010, 0x0000a402, 0xc5791a0a, 0x0000d004, 0x00391000, 0x00008000,
+ 0x82c00000, 0x000004f4, 0x00001a37, 0x0000f410, 0x1389f70c, 0x00008416,
+ 0x93e86801, 0x00001980, 0x0000040b, 0x00001583, 0xc0c00000, 0x0000e190,
0x00007000, 0x0000e494, 0xc0002800, 0x00006191, 0x01000000, 0x00004990,
- 0x000018ec, 0x0000f008, 0x00080000, 0x00006380, 0x0bc00000, 0x00000980,
+ 0x000019d3, 0x00007008, 0x00080000, 0x00006380, 0x0bc00000, 0x00000980,
0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0c800000, 0x0000e180,
- 0x0000182f, 0x00006106, 0x07400316, 0x00007900, 0x00000100, 0x00000380,
+ 0x0000182f, 0x00006106, 0x02800316, 0x00007900, 0x00000100, 0x00000380,
0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x40003032, 0x00006107,
0xc000182f, 0x0000b006, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
0x01521800, 0x0000f900, 0x000043c0, 0x00000980, 0x001000ec, 0x00005780,
0x00004000, 0x00000080, 0x0b18b000, 0x0000f900, 0x00019a00, 0x00000980,
0x0b400000, 0x0000f900, 0x00018008, 0x00000980, 0x0c401000, 0x0000f900,
0x0001c000, 0x00000980, 0x23060000, 0x00007900, 0x001f2252, 0x00008980,
- 0x23590800, 0x0000f900, 0x00039920, 0x00000980, 0x0000e832, 0x00006206,
+ 0x23590800, 0x0000f900, 0x00039920, 0x00000980, 0x00005032, 0x00006206,
0xa0000000, 0x0000b482, 0x41c00400, 0x000083c0, 0x0cc00002, 0x0000e180,
- 0x8b901202, 0x00004900, 0x18e320e8, 0x0000f500, 0xcb981302, 0x0000e100,
+ 0x8b901202, 0x00004900, 0x19ca224a, 0x0000f500, 0xcb981302, 0x0000e100,
0x23c8000c, 0x00004980, 0xa2c0663e, 0x000008a8, 0x0a000a02, 0x0000e180,
0x0a400000, 0x0000c980, 0x0ac00000, 0x00006180, 0x0a8871a0, 0x00004980,
0xffc00000, 0x00001980, 0x001820ec, 0x00005780, 0x00004000, 0x00000080,
- 0x009856ec, 0x0000df80, 0x00884c40, 0x00008284, 0x0800301d, 0x00006206,
+ 0x009856ec, 0x0000df80, 0x00884c40, 0x00008284, 0x0800300a, 0x00006206,
0x00007000, 0x00003484, 0xc0200405, 0x000080cd, 0x00080000, 0x00006380,
- 0x0bc00000, 0x00000980, 0x0740001d, 0x0000f900, 0x00000100, 0x00000380,
+ 0x0bc00000, 0x00000980, 0x0280000a, 0x0000f900, 0x00000100, 0x00000380,
0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0c800000, 0x0000e180,
0x0000182f, 0x00006106, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0xc1c00000, 0x0000e180, 0x0000e832, 0x00006206, 0x0cc00002, 0x0000e180,
+ 0xc1c00000, 0x0000e180, 0x00005032, 0x00006206, 0x0cc00002, 0x0000e180,
0xc000182f, 0x0000e006, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
0x01521800, 0x0000f900, 0x00004080, 0x00008980, 0x001000ec, 0x00005780,
0x00004000, 0x00000080, 0x0b18b000, 0x0000f900, 0x00019a00, 0x00000980,
@@ -6077,32 +6179,32 @@ ARRAY_DECL u32 init_val[] = {
0x0001c000, 0x00000980, 0x23060000, 0x00007900, 0x001f2252, 0x00008980,
0x23593800, 0x0000f900, 0x00039920, 0x00000980, 0x40003032, 0x00006107,
0xa0000000, 0x0000b482, 0x01000000, 0x0000e180, 0x00003833, 0x00006106,
- 0x0c000000, 0x00006180, 0x8b901202, 0x00004900, 0x191720e8, 0x0000f500,
+ 0x0c000000, 0x00006180, 0x8b901202, 0x00004900, 0x19fe224a, 0x00007500,
0xcb981302, 0x0000e100, 0x23c8000c, 0x00004980, 0xa2c05e3e, 0x000088a8,
0xffc00000, 0x00006180, 0x0a000a00, 0x00004980, 0x001820ec, 0x00005780,
0x00004000, 0x00000080, 0x0a480000, 0x000082e8, 0x0ac00000, 0x00001980,
- 0x009856ec, 0x0000df80, 0x00884c40, 0x00008284, 0x07c00000, 0x00006181,
- 0x0800301d, 0x00006206, 0xc010eb16, 0x0000e502, 0x02800000, 0x00008980,
- 0x07c00800, 0x00006191, 0x01400000, 0x00004980, 0x00000404, 0x0000e583,
- 0x0411f005, 0x0000a187, 0x07792724, 0x0000e109, 0x0b804c1d, 0x00006092,
+ 0x009856ec, 0x0000df80, 0x00884c40, 0x00008284, 0x02c00000, 0x00006181,
+ 0x0800300a, 0x00006206, 0xc0105316, 0x0000e502, 0x03000000, 0x00008980,
+ 0x02c00800, 0x00006191, 0x01400000, 0x00004980, 0x00000404, 0x0000e583,
+ 0x0411f005, 0x0000a187, 0x02b92724, 0x0000e109, 0x0b804c0a, 0x00006092,
0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x12800000, 0x0000e180,
- 0x8220e80a, 0x00006086, 0x2c0c06e3, 0x00001680, 0x074588b0, 0x00001000,
- 0x0740301d, 0x0000e784, 0x12c00000, 0x00008980, 0x700708ec, 0x0000d680,
- 0x00382802, 0x00000000, 0x87400a1d, 0x00006080, 0x13000000, 0x00000980,
- 0xc5410a1d, 0x00007902, 0x08000000, 0x00000004, 0x00000404, 0x0000e583,
+ 0x8220500c, 0x00006086, 0x2c0c06e3, 0x00001680, 0x028588b0, 0x00001000,
+ 0x0280300a, 0x0000e784, 0x12c00000, 0x00008980, 0x700708ec, 0x0000d680,
+ 0x00382802, 0x00000000, 0x82800a0a, 0x00006080, 0x13000000, 0x00000980,
+ 0xc5411a0a, 0x0000f902, 0x08800000, 0x00008004, 0x00000404, 0x0000e583,
0x12000000, 0x00008980, 0x12c0e01c, 0x00006108, 0x1280e01c, 0x0000c908,
0x9318fb1f, 0x00006108, 0x12400000, 0x0000c980, 0x4000fd04, 0x00006583,
- 0x00003845, 0x00002406, 0x03010504, 0x00006198, 0x026827e4, 0x00008830,
- 0x024067e4, 0x0000e018, 0x122827e4, 0x00004830, 0x124067e4, 0x00006018,
- 0x08010009, 0x0000c318, 0x08410809, 0x00006330, 0x13c00000, 0x00000980,
- 0x00000404, 0x0000e583, 0xa0001010, 0x0000a402, 0xc5790a1d, 0x00005004,
- 0x00390000, 0x00000000, 0x13400000, 0x00006180, 0x1380500a, 0x0000c900,
- 0x000018b8, 0x0000f208, 0x93e86801, 0x00006180, 0xd151f23e, 0x00004900,
- 0x0800301d, 0x00006206, 0x00007000, 0x00003484, 0xc0200405, 0x000080cd,
- 0x00080000, 0x00006380, 0x0bc00000, 0x00000980, 0x0740001d, 0x0000f900,
+ 0x00003845, 0x00002406, 0x02410504, 0x00006198, 0x016827e4, 0x00008830,
+ 0x01404fe4, 0x0000e018, 0x122827e4, 0x00004830, 0x12404fe4, 0x00006018,
+ 0x08811005, 0x0000c318, 0x08c11805, 0x00006330, 0x13c00000, 0x00000980,
+ 0x00000404, 0x0000e583, 0xa0001010, 0x0000a402, 0xc5791a0a, 0x0000d004,
+ 0x00391000, 0x00008000, 0x13400000, 0x00006180, 0x1380600c, 0x0000c900,
+ 0x0000199f, 0x00007208, 0x93e86801, 0x00006180, 0xd151f23e, 0x00004900,
+ 0x0800300a, 0x00006206, 0x00007000, 0x00003484, 0xc0200405, 0x000080cd,
+ 0x00080000, 0x00006380, 0x0bc00000, 0x00000980, 0x0280000a, 0x0000f900,
0x00000100, 0x00000380, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280,
0x0c800000, 0x0000e180, 0x0000182f, 0x00006106, 0x003bf800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0xc1c00000, 0x0000e180, 0x0000e832, 0x00006206,
+ 0x003ffffe, 0x00008280, 0xc1c00000, 0x0000e180, 0x00005032, 0x00006206,
0x0cc00002, 0x0000e180, 0xc000182f, 0x0000e006, 0x00400000, 0x00007900,
0x00040090, 0x00000980, 0x01521800, 0x0000f900, 0x00004080, 0x00008980,
0x001000ec, 0x00005780, 0x00004000, 0x00000080, 0x0b18b000, 0x0000f900,
@@ -6111,1376 +6213,1501 @@ ARRAY_DECL u32 init_val[] = {
0x001f2252, 0x00008980, 0x235b4800, 0x0000f900, 0x00039920, 0x00000980,
0x40003032, 0x00006107, 0xa0000000, 0x0000b482, 0x01000000, 0x0000e180,
0x00003833, 0x00006106, 0x0c000000, 0x00006180, 0x8b901202, 0x00004900,
- 0x197b20e8, 0x0000f500, 0xcb981302, 0x0000e100, 0x23c8000c, 0x00004980,
- 0xa2c06e3e, 0x000088a8, 0x0000041f, 0x00001583, 0x0a000a02, 0x00006190,
+ 0x1a62224a, 0x00007500, 0xcb981302, 0x0000e100, 0x23c8000c, 0x00004980,
+ 0xa2c06e3e, 0x000088a8, 0x0000040b, 0x00001583, 0x0a000a02, 0x00006190,
0x0a400000, 0x00004990, 0x0ac00000, 0x0000e190, 0x0a8871a0, 0x0000c990,
- 0x00001917, 0x0000f008, 0x000018e7, 0x0000f000, 0x80000e30, 0x00001583,
- 0x000019b0, 0x0000f033, 0x8000022d, 0x00009582, 0x19801000, 0x00009991,
- 0x0023382d, 0x0000a090, 0x000019b0, 0x00007008, 0x00000466, 0x00006583,
- 0x19800c66, 0x00000081, 0x0020002d, 0x00005091, 0x00400000, 0x00008000,
- 0x0000002d, 0x0000d010, 0x00400000, 0x00000080, 0x7e3d66ec, 0x0000a084,
- 0x003f302d, 0x00002080, 0x0000022d, 0x0000d090, 0x00400000, 0x00008000,
- 0x0000022d, 0x00005010, 0x00400000, 0x00000080, 0x80000267, 0x00001582,
- 0x001168ac, 0x0000e186, 0x001560e6, 0x00003186, 0xeb000bac, 0x00009080,
- 0x000019b0, 0x0000f408, 0x003f302d, 0x0000a880, 0x7e3d66ec, 0x00002884,
- 0x00000466, 0x00006583, 0x99533a67, 0x00008900, 0x00200065, 0x00005091,
- 0x00400000, 0x00008000, 0x00000065, 0x0000d010, 0x00400000, 0x00000080,
- 0x7e3d66ec, 0x0000a084, 0x00233867, 0x0000a080, 0x003f3065, 0x00002080,
- 0x00000265, 0x0000d090, 0x00400000, 0x00008000, 0x00000265, 0x00005010,
- 0x00400000, 0x00000080, 0x80000267, 0x0000e582, 0x19800c66, 0x00000081,
- 0x001328ac, 0x0000e186, 0x001560e6, 0x00003186, 0xeb000bac, 0x00009080,
- 0x0000199b, 0x0000f410, 0x003f3065, 0x0000a880, 0x7e3d66ec, 0x00002884,
- 0x00000001, 0x00007480, 0x0c77f831, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x8c000000, 0x00001981, 0x3c3c4797, 0x00008e3e, 0x3c44bb88, 0x00009000,
- 0x39600e30, 0x00004291, 0x74216797, 0x00008613, 0xce800e30, 0x0000f8b2,
- 0x00c00000, 0x00000c8e, 0x822cc031, 0x00006000, 0xa000106c, 0x0000b402,
- 0x00000001, 0x00007480, 0x0b04bb88, 0x00006000, 0x22800800, 0x00000981,
- 0xdca01001, 0x000008eb, 0x003b322e, 0x0000a000, 0xffffffff, 0x00007fa7,
- 0x00033097, 0x00009502, 0x1944bb88, 0x00006008, 0x822cc031, 0x00002008,
- 0x9c800800, 0x00006189, 0xa000106c, 0x0000640a, 0x000019cb, 0x00007010,
- 0x00000001, 0x00007480, 0x003b2a2e, 0x00002800, 0x62a01430, 0x000088ab,
- 0x7e079eec, 0x0000f902, 0x2bc00000, 0x00008004, 0x2b400000, 0x00008af0,
- 0x19e00000, 0x000006d4, 0x2b800000, 0x00009980, 0x800002f3, 0x00006582,
- 0x99979af3, 0x00008900, 0x003f30f3, 0x0000a090, 0xbc800bf3, 0x00009190,
- 0x000019db, 0x0000f008, 0x80157af2, 0x00001502, 0x001730f3, 0x0000e986,
- 0xfcc00bf3, 0x00001180, 0x001f98af, 0x0000e9ae, 0x7e3f9eec, 0x00002884,
- 0x7e3d7eec, 0x0000a804, 0x80000e30, 0x0000e583, 0x000008ae, 0x00002487,
- 0x001168ae, 0x00006186, 0x001010e7, 0x00003186, 0x000000ae, 0x0000e58e,
- 0x000008ee, 0x00003487, 0x99400000, 0x00006181, 0x041810e7, 0x0000e187,
- 0x00395a66, 0x00005000, 0x00396000, 0x00000000, 0x003d7066, 0x00005000,
- 0x003f3800, 0x00008000, 0x2b794466, 0x00008e34, 0x39b9672b, 0x00000a3c,
- 0xbb933266, 0x00006100, 0x8b933266, 0x0000c908, 0x00076897, 0x00009502,
- 0x0b400800, 0x000099f1, 0x00001b00, 0x0000f059, 0x3e478fed, 0x0000c461,
- 0x9427feee, 0x0000068e, 0x694737f1, 0x0000c969, 0x28257ff1, 0x0000065e,
- 0x3c800800, 0x00009981, 0x000768f1, 0x00009502, 0x62400800, 0x0000e1f1,
- 0xa000106c, 0x00006472, 0x9c800800, 0x000019f1, 0x00001a47, 0x0000f070,
- 0x3fc168f2, 0x0000c315, 0x0020042d, 0x00000088, 0xa1000665, 0x00007892,
- 0x48c00000, 0x00000d83, 0xbcc004f2, 0x00007892, 0x98c00000, 0x00000d84,
- 0x80000665, 0x00006583, 0xe2802000, 0x00000981, 0x22b32e65, 0x0000e101,
- 0x3c8730af, 0x0000c108, 0x190730af, 0x00009108, 0x00001aa3, 0x0000f010,
- 0x803186ee, 0x00001503, 0x00001a62, 0x0000700b, 0xe214bae6, 0x0000e100,
- 0x0a0578af, 0x00000900, 0x99801698, 0x00001283, 0x0b400c31, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00001a12, 0x0000f008, 0x00001a12, 0x0000f008,
- 0x82c150ec, 0x00007902, 0x0a400000, 0x00000604, 0x1cc4d09a, 0x00006100,
- 0x4001286c, 0x00006483, 0x0a44d09a, 0x00001900, 0x0b402431, 0x00001283,
- 0x9c880800, 0x00006188, 0xe000506c, 0x0000e40e, 0x00001a1b, 0x00007009,
- 0x0b404431, 0x00001283, 0x9c972ae5, 0x0000e110, 0xe000506c, 0x0000e416,
- 0xffffffff, 0x00007f86, 0x2000086c, 0x00006c03, 0x80000e30, 0x0000e583,
- 0x7001586c, 0x0000a484, 0x0c7e7831, 0x00007900, 0x003ffffe, 0x00008280,
- 0x1c4007af, 0x0000078b, 0x00001a28, 0x0000f010, 0x4b400d31, 0x00001283,
- 0x0c7fe831, 0x00007910, 0x003ffffe, 0x00008280, 0x0c77f831, 0x00007910,
- 0x003ffffe, 0x00008280, 0x22400800, 0x00006191, 0x10718031, 0x00006010,
- 0x800006ee, 0x00006583, 0x000000ae, 0x0000a487, 0x003d70ee, 0x0000d010,
- 0x003f3800, 0x00008000, 0x7e3f7eec, 0x00002084, 0x003f98ee, 0x0000a080,
- 0x003f32ee, 0x00005010, 0x003d7800, 0x00008000, 0x4b6574ee, 0x00008f08,
- 0x800002ae, 0x0000e582, 0x001570ad, 0x00002186, 0xbb87f800, 0x0000e189,
- 0x001778f3, 0x00006186, 0x003f38f2, 0x00002010, 0x000732f2, 0x00007912,
- 0x2bc00000, 0x00000000, 0xbba16c2d, 0x00006111, 0x001770ef, 0x00006186,
- 0x003f98ee, 0x00002880, 0xbb9572ae, 0x0000e110, 0xfbc00bef, 0x0000c080,
- 0x003d70ae, 0x00002090, 0x80000665, 0x00006583, 0x8c000e30, 0x00008181,
- 0x003d6865, 0x0000d010, 0x003d6000, 0x00008000, 0x003b3a65, 0x00005010,
- 0x003f6800, 0x00008000, 0x8007feee, 0x00009583, 0x7e3f7eec, 0x0000a884,
- 0x8b932a65, 0x00009908, 0x80000630, 0x00009583, 0x8b400000, 0x00001988,
- 0x00000001, 0x0000f089, 0x80000665, 0x00009583, 0x00057066, 0x00007912,
+ 0x000019fe, 0x00007008, 0x000019ce, 0x0000f000, 0x0f000000, 0x000083f4,
+ 0x0f800000, 0x000083fc, 0x0147fc0a, 0x00001280, 0x55432005, 0x0000c189,
+ 0x00234005, 0x00000088, 0x02a30805, 0x00004a8a, 0x87010400, 0x00000095,
+ 0x01400020, 0x0000e180, 0x04800000, 0x00004980, 0x043b7800, 0x0000f900,
+ 0x003fe204, 0x00000980, 0x047cb800, 0x0000f900, 0x000b530a, 0x00000980,
+ 0x00001ae6, 0x00007400, 0x01c00000, 0x000000f4, 0x81401000, 0x00001980,
+ 0x01400000, 0x00001980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x04182005, 0x00006987, 0x700708ec, 0x0000d680, 0x00382802, 0x00000000,
+ 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x04109004, 0x0000e987, 0x700708ec, 0x0000d680,
+ 0x00382002, 0x00008000, 0x01030400, 0x00001281, 0x00020404, 0x00009583,
+ 0x4f420000, 0x0000e189, 0x1000083c, 0x0000e40c, 0xcf000800, 0x0000e189,
+ 0xc000083d, 0x0000e409, 0x00001a95, 0x0000f010, 0x00001a9e, 0x00007400,
+ 0x8f901202, 0x0000e100, 0x0000183f, 0x0000e106, 0xcf981302, 0x00006100,
+ 0xc000183f, 0x00006006, 0x00010404, 0x00009583, 0x1000303c, 0x0000640c,
+ 0x8000003d, 0x0000b488, 0xcf000800, 0x0000e189, 0x0000303e, 0x0000e20e,
+ 0x00001aa0, 0x0000f010, 0x4000303e, 0x00006107, 0x0000383f, 0x00003106,
+ 0xc000383f, 0x00006806, 0x00001ac2, 0x00007200, 0x8f407800, 0x00009981,
+ 0x00030404, 0x00001583, 0x01400020, 0x00006190, 0x04800000, 0x0000c990,
+ 0x01c00000, 0x00006190, 0x03400000, 0x00004990, 0x00001a7f, 0x00007008,
+ 0x00001acf, 0x0000f400, 0x04240000, 0x00007900, 0x003c22bc, 0x00000980,
+ 0x81401000, 0x00001980, 0x01407400, 0x00001281, 0x00007405, 0x00001583,
+ 0x01430400, 0x00001289, 0x00001ad2, 0x00007011, 0x00020405, 0x00001583,
+ 0x0f00103c, 0x0000e388, 0xd000103d, 0x0000a40c, 0xcf000800, 0x0000e189,
+ 0xc000083d, 0x0000e409, 0x00001ab9, 0x00007010, 0x00001ac1, 0x00007400,
+ 0x8f901202, 0x0000e100, 0x0000183f, 0x0000e106, 0xcf981302, 0x00006100,
+ 0xc000183f, 0x00006006, 0x00010405, 0x00001583, 0x0f00603c, 0x00006388,
+ 0x0000303e, 0x0000220e, 0xcf000800, 0x0000e189, 0x4000303e, 0x0000e10f,
+ 0x00001ac6, 0x0000f010, 0x0000383f, 0x0000e906, 0xc000383f, 0x00006806,
+ 0x8f405000, 0x00009981, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x00887eec, 0x00005f80, 0x00004000, 0x00008084, 0x00030405, 0x00009583,
+ 0x01400020, 0x00006190, 0x04800000, 0x0000c990, 0x01c00000, 0x00006190,
+ 0x03400000, 0x00004990, 0x00000001, 0x00007088, 0x042b1800, 0x00007900,
+ 0x003c22bc, 0x00000980, 0x81401000, 0x00001980, 0x00001ae6, 0x00007200,
+ 0x0451f000, 0x0000f900, 0x003efbb4, 0x00008980, 0x01010400, 0x00001283,
+ 0x01400020, 0x00006188, 0x04800000, 0x0000c988, 0x01c00000, 0x00006188,
+ 0x03400000, 0x00004988, 0x00001a7f, 0x00007010, 0x042b5800, 0x0000f900,
+ 0x003c22bc, 0x00000980, 0x00001ae6, 0x00007400, 0x044d3800, 0x0000f900,
+ 0x000373c2, 0x00008980, 0x81401000, 0x00001980, 0x01400020, 0x0000e180,
+ 0x04800000, 0x00004980, 0x042c4800, 0x0000f900, 0x003c22bc, 0x00000980,
+ 0x04534800, 0x00007900, 0x003e124c, 0x00008980, 0x01c00000, 0x000000f4,
+ 0x81401000, 0x00001980, 0x1a832213, 0x00007500, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x03e00702, 0x0000802e, 0x00001a83, 0x0000f000,
+ 0x000016e6, 0x0000f000, 0x80000e30, 0x00001583, 0x00001b1a, 0x00007033,
+ 0x8000022d, 0x00009582, 0x19801000, 0x00009991, 0x0023382d, 0x0000a090,
+ 0x00001b1a, 0x0000f008, 0x00000466, 0x00006583, 0x19800c66, 0x00000081,
+ 0x0020002d, 0x00005091, 0x00400000, 0x00008000, 0x0000002d, 0x0000d010,
+ 0x00400000, 0x00000080, 0x7e3d66ec, 0x0000a084, 0x003f302d, 0x00002080,
+ 0x0000022d, 0x0000d090, 0x00400000, 0x00008000, 0x0000022d, 0x00005010,
+ 0x00400000, 0x00000080, 0x80000267, 0x00001582, 0x001168ac, 0x0000e186,
+ 0x001560e6, 0x00003186, 0xeb000bac, 0x00009080, 0x00001b1a, 0x00007408,
+ 0x003f302d, 0x0000a880, 0x7e3d66ec, 0x00002884, 0x00000466, 0x00006583,
+ 0x99533a67, 0x00008900, 0x00200065, 0x00005091, 0x00400000, 0x00008000,
+ 0x00000065, 0x0000d010, 0x00400000, 0x00000080, 0x7e3d66ec, 0x0000a084,
+ 0x00233867, 0x0000a080, 0x003f3065, 0x00002080, 0x00000265, 0x0000d090,
+ 0x00400000, 0x00008000, 0x00000265, 0x00005010, 0x00400000, 0x00000080,
+ 0x80000267, 0x0000e582, 0x19800c66, 0x00000081, 0x001328ac, 0x0000e186,
+ 0x001560e6, 0x00003186, 0xeb000bac, 0x00009080, 0x00001b05, 0x0000f410,
+ 0x003f3065, 0x0000a880, 0x7e3d66ec, 0x00002884, 0x00000001, 0x00007480,
+ 0x0c77f831, 0x0000f900, 0x003ffffe, 0x00008280, 0x8c000000, 0x00001981,
+ 0x3c3c4797, 0x00008e3e, 0x3c44bb88, 0x00009000, 0x66a00e30, 0x00004291,
+ 0x48216797, 0x00008616, 0x29000e30, 0x0000f8b3, 0x50c00000, 0x00000d89,
+ 0x822cc031, 0x00006000, 0xa000106c, 0x0000b402, 0x00000001, 0x00007480,
+ 0x0b04bb88, 0x00006000, 0x22800800, 0x00000981, 0xdca01001, 0x000008eb,
+ 0x003b322e, 0x0000a000, 0xffffffff, 0x00007fa7, 0x00033097, 0x00009502,
+ 0x1944bb88, 0x00006008, 0x822cc031, 0x00002008, 0x9c800800, 0x00006189,
+ 0xa000106c, 0x0000640a, 0x00001b35, 0x00007010, 0x00000001, 0x00007480,
+ 0x003b2a2e, 0x00002800, 0x62a01430, 0x000088ab, 0x7e079eec, 0x0000f902,
+ 0x2bc00000, 0x00008004, 0x2b400000, 0x00008af0, 0x19e00000, 0x000006d4,
+ 0x2b800000, 0x00009980, 0x800002f3, 0x00006582, 0x99979af3, 0x00008900,
+ 0x003f30f3, 0x0000a090, 0xbc800bf3, 0x00009190, 0x00001b45, 0x0000f008,
+ 0x80157af2, 0x00001502, 0x001730f3, 0x0000e986, 0xfcc00bf3, 0x00001180,
+ 0x001f98af, 0x0000e9ae, 0x7e3f9eec, 0x00002884, 0x7e3d7eec, 0x0000a804,
+ 0x80000e30, 0x0000e583, 0x000008ae, 0x00002487, 0x001168ae, 0x00006186,
+ 0x001010e7, 0x00003186, 0x000000ae, 0x0000e58e, 0x000008ee, 0x00003487,
+ 0x99400000, 0x00006181, 0x041810e7, 0x0000e187, 0x00395a66, 0x00005000,
+ 0x00396000, 0x00000000, 0x003d7066, 0x00005000, 0x003f3800, 0x00008000,
+ 0x2b794466, 0x00008e34, 0x39b9672b, 0x00000a3c, 0xbb933266, 0x00006100,
+ 0x8b933266, 0x0000c908, 0x00076897, 0x00009502, 0x0b400800, 0x000099f1,
+ 0x00001c6a, 0x00007059, 0x6b878fed, 0x0000c461, 0x6827feee, 0x00000789,
+ 0x968737f1, 0x0000c969, 0xfc257ff1, 0x00008758, 0x3c800800, 0x00009981,
+ 0x000768f1, 0x00009502, 0x62400800, 0x0000e1f1, 0xa000106c, 0x00006472,
+ 0x9c800800, 0x000019f1, 0x00001bb1, 0x00007070, 0x6d0168f2, 0x00004315,
+ 0x0020042d, 0x00000088, 0xfb800665, 0x0000f892, 0x98c00000, 0x00000d8e,
+ 0x174004f2, 0x0000f893, 0xe8c00000, 0x00000d8f, 0x80000665, 0x00006583,
+ 0xe2802000, 0x00000981, 0x22b32e65, 0x0000e101, 0x3c8730af, 0x0000c108,
+ 0x190730af, 0x00009108, 0x00001c0d, 0x00007010, 0x803186ee, 0x00001503,
+ 0x00001bcc, 0x0000700b, 0xe214bae6, 0x0000e100, 0x0a0578af, 0x00000900,
+ 0x99801698, 0x00001283, 0x0b400c31, 0x00001283, 0xffffffff, 0x00007f86,
+ 0x00001b7c, 0x0000f008, 0x00001b7c, 0x0000f008, 0x82c150ec, 0x00007902,
+ 0x0a400000, 0x00000604, 0x1cc4d09a, 0x00006100, 0x4001286c, 0x00006483,
+ 0x0a44d09a, 0x00001900, 0x0b402431, 0x00001283, 0x9c880800, 0x00006188,
+ 0xe000506c, 0x0000e40e, 0x00001b85, 0x00007009, 0x0b404431, 0x00001283,
+ 0x9c972ae5, 0x0000e110, 0xe000506c, 0x0000e416, 0xffffffff, 0x00007f86,
+ 0x2000086c, 0x00006c03, 0x80000e30, 0x0000e583, 0x7001586c, 0x0000a484,
+ 0x0c7e7831, 0x00007900, 0x003ffffe, 0x00008280, 0x1c4007af, 0x0000078b,
+ 0x00001b92, 0x0000f010, 0x4b400d31, 0x00001283, 0x0c7fe831, 0x00007910,
+ 0x003ffffe, 0x00008280, 0x0c77f831, 0x00007910, 0x003ffffe, 0x00008280,
+ 0x22400800, 0x00006191, 0x10718031, 0x00006010, 0x800006ee, 0x00006583,
+ 0x000000ae, 0x0000a487, 0x003d70ee, 0x0000d010, 0x003f3800, 0x00008000,
+ 0x7e3f7eec, 0x00002084, 0x003f98ee, 0x0000a080, 0x003f32ee, 0x00005010,
+ 0x003d7800, 0x00008000, 0x4b6574ee, 0x00008f08, 0x800002ae, 0x0000e582,
+ 0x001570ad, 0x00002186, 0xbb87f800, 0x0000e189, 0x001778f3, 0x00006186,
+ 0x003f38f2, 0x00002010, 0x000732f2, 0x00007912, 0x2bc00000, 0x00000000,
+ 0xbba16c2d, 0x00006111, 0x001770ef, 0x00006186, 0x003f98ee, 0x00002880,
+ 0xbb9572ae, 0x0000e110, 0xfbc00bef, 0x0000c080, 0x003d70ae, 0x00002090,
+ 0x80000665, 0x00006583, 0x8c000e30, 0x00008181, 0x003d6865, 0x0000d010,
+ 0x003d6000, 0x00008000, 0x003b3a65, 0x00005010, 0x003f6800, 0x00008000,
+ 0x8007feee, 0x00009583, 0x7e3f7eec, 0x0000a884, 0x8b932a65, 0x00009908,
+ 0x80000630, 0x00009583, 0x8b400000, 0x00001988, 0x7e3d6eec, 0x0000a094,
+ 0x00000001, 0x00007088, 0x80000665, 0x00009583, 0x00057066, 0x00007912,
0x39c00000, 0x00000000, 0xbb933266, 0x0000e110, 0x00000eee, 0x00006496,
0x00073266, 0x0000f912, 0x2bc00000, 0x00000000, 0x800006ee, 0x00009583,
0x8b5572ae, 0x00006100, 0x000000ae, 0x00006487, 0x003d70ee, 0x0000d010,
- 0x003f3800, 0x00008000, 0x7e3b2eec, 0x0000a084, 0x003d68ee, 0x00002080,
- 0x003f32ee, 0x00005010, 0x003d7800, 0x00008000, 0x0b3f37af, 0x0000022c,
- 0xffffffff, 0x00007f86, 0x00177065, 0x0000e186, 0x001328ad, 0x00003186,
- 0xd9400b65, 0x00009080, 0x00000001, 0x00007480, 0x003d68ee, 0x0000a880,
- 0x7e3b2eec, 0x00002884, 0x4a000d31, 0x00001283, 0x190008f2, 0x00006190,
- 0x0a0008f2, 0x00008190, 0x00001a06, 0x00007009, 0x00001a06, 0x0000f400,
- 0x00000028, 0x00009582, 0xe2b32e65, 0x00001909, 0xe2b32e65, 0x0000e101,
- 0x0a04bb88, 0x00004000, 0x99801698, 0x00001283, 0x0b400c31, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00001a75, 0x00007008, 0x00001a75, 0x00007008,
- 0x82c150ec, 0x00007902, 0x0a400000, 0x00000604, 0x1cc4d09a, 0x00006100,
- 0x4001286c, 0x00006483, 0x0a44d09a, 0x00001900, 0x0b402431, 0x00001283,
- 0x9c880800, 0x00006188, 0xe000506c, 0x0000e40e, 0x00001a7e, 0x00007009,
- 0x0b404431, 0x00001283, 0x9c972ae5, 0x0000e110, 0xe000506c, 0x0000e416,
- 0xffffffff, 0x00007f86, 0x2000086c, 0x00006c03, 0x0c7e7831, 0x00007900,
- 0x003ffffe, 0x00008280, 0x00001a47, 0x0000f400, 0x9c800000, 0x00006181,
- 0x7001586c, 0x00006484, 0x1c44bb88, 0x00001000, 0xbc976a88, 0x00006000,
- 0xe2176af1, 0x00000100, 0x80318665, 0x0000e503, 0xa214baf2, 0x00000100,
- 0x25c768ed, 0x00006100, 0xa000106c, 0x0000e402, 0x3b4780ef, 0x0000e000,
- 0x822cc031, 0x00002008, 0x003d6865, 0x00005000, 0x003d6000, 0x00008000,
- 0x003b3a65, 0x0000d000, 0x003f6800, 0x00008000, 0x00001a47, 0x0000f400,
- 0xdca01001, 0x000008eb, 0x22b32e65, 0x00009901, 0x7e3f80ec, 0x0000a084,
- 0x7e3f7eec, 0x00002084, 0xffffffff, 0x00007f97, 0x80278630, 0x00009503,
- 0xc00003ef, 0x00001582, 0xffffffff, 0x00007f86, 0x00001aed, 0x0000f008,
- 0x00001ab1, 0x0000f010, 0x7e033aec, 0x0000f902, 0x3c800000, 0x00000004,
- 0xffffffff, 0x00007fa7, 0x19c00867, 0x00009080, 0x00001a47, 0x0000f400,
- 0x7e3b3aec, 0x0000d004, 0x003f9000, 0x00000000, 0x62400800, 0x00001981,
- 0x803186ee, 0x00001503, 0x00001ae6, 0x0000700b, 0xbc976a88, 0x00006000,
- 0xa000106c, 0x00002402, 0x003d6865, 0x00005000, 0x003d6000, 0x00008000,
- 0x003b3a65, 0x0000d000, 0x003d7800, 0x00008000, 0xe2176ae6, 0x00006100,
- 0x9c800800, 0x00000981, 0x00001a28, 0x0000f400, 0xa214baf2, 0x00006100,
- 0x25c768ed, 0x00008900, 0x3b4578af, 0x00009900, 0x7e079eec, 0x0000f902,
- 0x3bc00000, 0x00000004, 0x9c800800, 0x0000e181, 0xa000106c, 0x0000e402,
- 0x3984b897, 0x00006100, 0x2bc4bb88, 0x00004000, 0xab800800, 0x00006181,
- 0xb9d01202, 0x00004900, 0x800002f3, 0x00006582, 0xf9d81302, 0x00000900,
- 0xbc979af3, 0x0000e100, 0x8b400bf3, 0x00004190, 0x003f70f3, 0x00002090,
- 0x00001ae4, 0x0000f008, 0x80177a2d, 0x0000e502, 0x001568ae, 0x00002186,
- 0x0b400e65, 0x0000e081, 0x001790ad, 0x00002186, 0xbb800e65, 0x00006081,
- 0x001770f3, 0x00002186, 0xbb9792f2, 0x00006100, 0xfcc00bf3, 0x00004180,
- 0x0000042d, 0x00006583, 0x001f98ef, 0x000021ae, 0x003d70f2, 0x00005010,
- 0x003f3800, 0x00008000, 0x003cbaf2, 0x0000d010, 0x003d7800, 0x00008000,
- 0x80000665, 0x00009583, 0x7e3f9eec, 0x0000d004, 0x003f7800, 0x00000000,
- 0x003d6865, 0x0000d010, 0x003d6000, 0x00008000, 0x003b3a65, 0x00005010,
- 0x003f6800, 0x00008000, 0x8c000e30, 0x00006081, 0x3c800e30, 0x00000081,
- 0x003984f2, 0x00001503, 0x2b2794f2, 0x0000e118, 0xcc2794f2, 0x00004919,
- 0x7e3b3cec, 0x0000201c, 0x00001ade, 0x00007030, 0xffffffff, 0x00007f97,
- 0x000338ac, 0x00009502, 0x7e0794ec, 0x0000281f, 0x003774f2, 0x00006503,
- 0xe2800800, 0x00000981, 0x00001a47, 0x0000f400, 0x22b776ee, 0x0000e101,
- 0x822cc031, 0x0000e008, 0x8b9772ee, 0x00009908, 0x00001ad4, 0x0000f200,
- 0xbb800000, 0x00009980, 0x4b400d31, 0x00001283, 0x3c8730af, 0x00009110,
- 0x00001aa5, 0x00007009, 0x000008f2, 0x00009582, 0xe2801000, 0x00001989,
- 0x00001aa5, 0x00007011, 0x00001aa5, 0x00007000, 0x7e033aec, 0x0000f902,
- 0x3c800000, 0x00000004, 0xc00003ef, 0x00001582, 0x00001a9f, 0x00007213,
- 0x3c8008f2, 0x00001090, 0x00001a9d, 0x0000f000, 0x803186ee, 0x0000e503,
- 0xa000106c, 0x00002402, 0xdca01801, 0x000088eb, 0x22b776ee, 0x00009901,
- 0x00001b44, 0x00007008, 0x800006ee, 0x00006583, 0xe214bae6, 0x00008100,
- 0x003d70ee, 0x0000d010, 0x003f3800, 0x00008000, 0x00001a47, 0x0000f400,
- 0x003cbaee, 0x00005010, 0x003d7800, 0x00008000, 0x3984b897, 0x00001900,
- 0x8007feee, 0x00009583, 0x00001b4c, 0x0000f00b, 0x00073097, 0x00001502,
- 0x997776ee, 0x0000e161, 0x995772ee, 0x00004960, 0xbc9572ae, 0x0000e160,
- 0xab5572ae, 0x0000c960, 0x00001b4c, 0x0000f068, 0x800002ae, 0x0000e582,
- 0xeb5d73ae, 0x00008900, 0x2b3f37e7, 0x0000061c, 0x003f38f2, 0x00002010,
- 0x003f32f2, 0x0000a090, 0x3b4578af, 0x0000e100, 0xbb87f800, 0x0000c989,
- 0x003d7af2, 0x0000a010, 0x000019eb, 0x0000f400, 0xbb9572ae, 0x0000e110,
- 0xbb800eee, 0x00004091, 0x003d70ae, 0x00002090, 0x800006ee, 0x00006583,
- 0x000000ae, 0x0000a487, 0x003d70ee, 0x0000d010, 0x003f3800, 0x00008000,
- 0x7e3f96ec, 0x00002084, 0x003fb8ee, 0x00002080, 0x003f32ee, 0x00005010,
- 0x003d7800, 0x00008000, 0x800002ae, 0x0000e582, 0x3cf776ee, 0x00008901,
- 0x62b776ee, 0x00006101, 0x001570ad, 0x0000e186, 0xbb87f800, 0x0000e189,
- 0x001790f7, 0x0000e186, 0xbba79cf3, 0x00006111, 0x001770f2, 0x00006186,
- 0xfc800bf2, 0x00006080, 0xa2800e8a, 0x00000081, 0x7e3f96ec, 0x0000a884,
- 0x8c000e30, 0x0000e181, 0xbc9572ae, 0x00000900, 0x003fb8ee, 0x0000a880,
- 0x003f38f2, 0x00002010, 0x000732f2, 0x00007912, 0x2bc00000, 0x00000000,
- 0xbb9572ae, 0x00009910, 0x003d70ae, 0x00002090, 0x80000665, 0x00009583,
- 0x003d6865, 0x0000d010, 0x003d6000, 0x00008000, 0x003b3a65, 0x00005010,
- 0x003f6800, 0x00008000, 0x8007feee, 0x00009583, 0x8b932a65, 0x00009908,
- 0x6947feee, 0x00004489, 0x942737f1, 0x0000066e, 0xc50578f1, 0x0000f85a,
- 0x90c00000, 0x00008c8f, 0xc0000730, 0x00006583, 0x822cc031, 0x0000a000,
- 0x8c000800, 0x0000e181, 0xa000106c, 0x0000e402, 0x0ac4b897, 0x0000e100,
- 0x0b04bb88, 0x0000c000, 0x00000001, 0x00007480, 0xdc800801, 0x000008ea,
- 0xcc000800, 0x0000e189, 0xe2800800, 0x0000c981, 0x4b400d31, 0x00001283,
- 0x3c8730af, 0x00009110, 0x00001af8, 0x0000f009, 0x00001af8, 0x00007400,
- 0x000008f2, 0x00009582, 0xe2800800, 0x00001989, 0x000019f3, 0x0000f200,
- 0x3c800000, 0x00001981, 0x000019ee, 0x0000f200, 0x0b400000, 0x00009981,
- 0x19400020, 0x0000e180, 0x08048aac, 0x00006106, 0x19618065, 0x0000e000,
- 0x0c016a66, 0x00006106, 0x19432820, 0x00006100, 0x19c4bb88, 0x00000000,
- 0x70c08618, 0x00004495, 0x0c2334ac, 0x00000617, 0x70c42f2f, 0x00004411,
- 0x0c34302e, 0x00008617, 0x7a600694, 0x00004493, 0x00201431, 0x00008697,
- 0xf2c14097, 0x0000786a, 0x00c00001, 0x00008000, 0xef433821, 0x0000f872,
- 0x00c00001, 0x00008000, 0x78c4b71a, 0x00004469, 0x0a232f96, 0x0000066f,
- 0x06401618, 0x0000f897, 0x00c00001, 0x00008000, 0x00000c31, 0x0000788c,
+ 0x003f3800, 0x00008000, 0x003d60ee, 0x0000a080, 0x003f32ee, 0x00005010,
+ 0x003d7800, 0x00008000, 0x0b3f37af, 0x0000022c, 0xffffffff, 0x00007f86,
+ 0x001770ad, 0x00006186, 0x001568ac, 0x00003186, 0xeb400bad, 0x00009080,
+ 0x00000001, 0x00007480, 0x003d60ee, 0x00002880, 0x7e3d6eec, 0x0000a884,
+ 0x4a000d31, 0x00001283, 0x190008f2, 0x00006190, 0x0a0008f2, 0x00008190,
+ 0x00001b70, 0x00007009, 0x00001b70, 0x0000f400, 0x00000028, 0x00009582,
+ 0xe2b32e65, 0x00001909, 0xe2b32e65, 0x0000e101, 0x0a04bb88, 0x00004000,
+ 0x99801698, 0x00001283, 0x0b400c31, 0x00001283, 0xffffffff, 0x00007f86,
+ 0x00001bdf, 0x0000f008, 0x00001bdf, 0x0000f008, 0x82c150ec, 0x00007902,
+ 0x0a400000, 0x00000604, 0x1cc4d09a, 0x00006100, 0x4001286c, 0x00006483,
+ 0x0a44d09a, 0x00001900, 0x0b402431, 0x00001283, 0x9c880800, 0x00006188,
+ 0xe000506c, 0x0000e40e, 0x00001be8, 0x0000f009, 0x0b404431, 0x00001283,
+ 0x9c972ae5, 0x0000e110, 0xe000506c, 0x0000e416, 0xffffffff, 0x00007f86,
+ 0x2000086c, 0x00006c03, 0x0c7e7831, 0x00007900, 0x003ffffe, 0x00008280,
+ 0x00001bb1, 0x00007400, 0x9c800000, 0x00006181, 0x7001586c, 0x00006484,
+ 0x1c44bb88, 0x00001000, 0xbc976a88, 0x00006000, 0xe2176af1, 0x00000100,
+ 0x80318665, 0x0000e503, 0xa214baf2, 0x00000100, 0x25c768ed, 0x00006100,
+ 0xa000106c, 0x0000e402, 0x3b4780ef, 0x0000e000, 0x822cc031, 0x00002008,
+ 0x003d6865, 0x00005000, 0x003d6000, 0x00008000, 0x003b3a65, 0x0000d000,
+ 0x003f6800, 0x00008000, 0x00001bb1, 0x00007400, 0xdca01001, 0x000008eb,
+ 0x22b32e65, 0x00009901, 0x7e3f80ec, 0x0000a084, 0x7e3f7eec, 0x00002084,
+ 0xffffffff, 0x00007f97, 0x80278630, 0x00009503, 0xc00003ef, 0x00001582,
+ 0xffffffff, 0x00007f86, 0x00001c57, 0x00007008, 0x00001c1b, 0x0000f010,
+ 0x7e033aec, 0x0000f902, 0x3c800000, 0x00000004, 0xffffffff, 0x00007fa7,
+ 0x19c00867, 0x00009080, 0x00001bb1, 0x00007400, 0x7e3b3aec, 0x0000d004,
+ 0x003f9000, 0x00000000, 0x62400800, 0x00001981, 0x803186ee, 0x00001503,
+ 0x00001c50, 0x0000f00b, 0xbc976a88, 0x00006000, 0xa000106c, 0x00002402,
+ 0x003d6865, 0x00005000, 0x003d6000, 0x00008000, 0x003b3a65, 0x0000d000,
+ 0x003d7800, 0x00008000, 0xe2176ae6, 0x00006100, 0x9c800800, 0x00000981,
+ 0x00001b92, 0x0000f400, 0xa214baf2, 0x00006100, 0x25c768ed, 0x00008900,
+ 0x3b4578af, 0x00009900, 0x7e079eec, 0x0000f902, 0x3bc00000, 0x00000004,
+ 0x9c800800, 0x0000e181, 0xa000106c, 0x0000e402, 0x3984b897, 0x00006100,
+ 0x2bc4bb88, 0x00004000, 0xab800800, 0x00006181, 0xb9d01202, 0x00004900,
+ 0x800002f3, 0x00006582, 0xf9d81302, 0x00000900, 0xbc979af3, 0x0000e100,
+ 0x8b400bf3, 0x00004190, 0x003f70f3, 0x00002090, 0x00001c4e, 0x0000f008,
+ 0x80177a2d, 0x0000e502, 0x001568ae, 0x00002186, 0x0b400e65, 0x0000e081,
+ 0x001790ad, 0x00002186, 0xbb800e65, 0x00006081, 0x001770f3, 0x00002186,
+ 0xbb9792f2, 0x00006100, 0xfcc00bf3, 0x00004180, 0x0000042d, 0x00006583,
+ 0x001f98ef, 0x000021ae, 0x003d70f2, 0x00005010, 0x003f3800, 0x00008000,
+ 0x003cbaf2, 0x0000d010, 0x003d7800, 0x00008000, 0x80000665, 0x00009583,
+ 0x7e3f9eec, 0x0000d004, 0x003f7800, 0x00000000, 0x003d6865, 0x0000d010,
+ 0x003d6000, 0x00008000, 0x003b3a65, 0x00005010, 0x003f6800, 0x00008000,
+ 0x8c000e30, 0x00006081, 0x3c800e30, 0x00000081, 0x003984f2, 0x00001503,
+ 0x2b2794f2, 0x0000e118, 0xcc2794f2, 0x00004919, 0x7e3b3cec, 0x0000201c,
+ 0x00001c48, 0x00007030, 0xffffffff, 0x00007f97, 0x000338ac, 0x00009502,
+ 0x7e0794ec, 0x0000281f, 0x003774f2, 0x00006503, 0xe2800800, 0x00000981,
+ 0x00001bb1, 0x00007400, 0x22b776ee, 0x0000e101, 0x822cc031, 0x0000e008,
+ 0x8b9772ee, 0x00009908, 0x00001c3e, 0x00007200, 0xbb800000, 0x00009980,
+ 0x4b400d31, 0x00001283, 0x3c8730af, 0x00009110, 0x00001c0f, 0x00007009,
+ 0x000008f2, 0x00009582, 0xe2801000, 0x00001989, 0x00001c0f, 0x00007011,
+ 0x00001c0f, 0x00007000, 0x7e033aec, 0x0000f902, 0x3c800000, 0x00000004,
+ 0xc00003ef, 0x00001582, 0x00001c09, 0x00007213, 0x3c8008f2, 0x00001090,
+ 0x00001c07, 0x0000f000, 0x803186ee, 0x0000e503, 0xa000106c, 0x00002402,
+ 0xdca01801, 0x000088eb, 0x22b776ee, 0x00009901, 0x00001cae, 0x00007008,
+ 0x800006ee, 0x00006583, 0xe214bae6, 0x00008100, 0x003d70ee, 0x0000d010,
+ 0x003f3800, 0x00008000, 0x00001bb1, 0x00007400, 0x003cbaee, 0x00005010,
+ 0x003d7800, 0x00008000, 0x3984b897, 0x00001900, 0x8007feee, 0x00009583,
+ 0x00001cb6, 0x0000700b, 0x00073097, 0x00001502, 0x997776ee, 0x0000e161,
+ 0x995772ee, 0x00004960, 0xbc9572ae, 0x0000e160, 0xab5572ae, 0x0000c960,
+ 0x00001cb6, 0x00007068, 0x800002ae, 0x0000e582, 0xeb5d73ae, 0x00008900,
+ 0x2b3f37e7, 0x0000061c, 0x003f38f2, 0x00002010, 0x003f32f2, 0x0000a090,
+ 0x3b4578af, 0x0000e100, 0xbb87f800, 0x0000c989, 0x003d7af2, 0x0000a010,
+ 0x00001b55, 0x00007400, 0xbb9572ae, 0x0000e110, 0xbb800eee, 0x00004091,
+ 0x003d70ae, 0x00002090, 0x800006ee, 0x00006583, 0x000000ae, 0x0000a487,
+ 0x003d70ee, 0x0000d010, 0x003f3800, 0x00008000, 0x7e3f96ec, 0x00002084,
+ 0x003fb0ee, 0x0000a080, 0x003f32ee, 0x00005010, 0x003d7800, 0x00008000,
+ 0x800002ae, 0x0000e582, 0x3cf776ee, 0x00008901, 0x62b776ee, 0x00006101,
+ 0x001570ad, 0x0000e186, 0xbb87f800, 0x0000e189, 0x001790f6, 0x00006186,
+ 0xbba79cf3, 0x00006111, 0x001770f2, 0x00006186, 0xfc800bf2, 0x00006080,
+ 0xa2800e8a, 0x00000081, 0x7e3f96ec, 0x0000a884, 0x8c000e30, 0x0000e181,
+ 0xbc9572ae, 0x00000900, 0x003fb0ee, 0x00002880, 0x003f38f2, 0x00002010,
+ 0x000732f2, 0x00007912, 0x2bc00000, 0x00000000, 0xbb9572ae, 0x00009910,
+ 0x003d70ae, 0x00002090, 0x80000665, 0x00009583, 0x003d6865, 0x0000d010,
+ 0x003d6000, 0x00008000, 0x003b3a65, 0x00005010, 0x003f6800, 0x00008000,
+ 0x8007feee, 0x00009583, 0x8b932a65, 0x00009908, 0x9687feee, 0x00004489,
+ 0x682737f1, 0x00000769, 0x1f8578f1, 0x0000785b, 0xe0c00000, 0x00008d8a,
+ 0xc0000730, 0x00006583, 0x822cc031, 0x0000a000, 0x8c000800, 0x0000e181,
+ 0xa000106c, 0x0000e402, 0x0ac4b897, 0x0000e100, 0x0b04bb88, 0x0000c000,
+ 0x00000001, 0x00007480, 0xdc800801, 0x000008ea, 0xcc000800, 0x0000e189,
+ 0xe2800800, 0x0000c981, 0x4b400d31, 0x00001283, 0x3c8730af, 0x00009110,
+ 0x00001c62, 0x0000f009, 0x00001c62, 0x00007400, 0x000008f2, 0x00009582,
+ 0xe2800800, 0x00001989, 0x00001b5d, 0x0000f200, 0x3c800000, 0x00001981,
+ 0x00001b58, 0x0000f200, 0x0b400000, 0x00009981, 0x19400020, 0x00009980,
+ 0x1984bb88, 0x0000e000, 0x19618065, 0x00000800, 0x19432820, 0x00009100,
+ 0xa3c08618, 0x0000c495, 0x3c242f2f, 0x00008712, 0xa3d4302e, 0x00004411,
+ 0x52200694, 0x00008792, 0x46001431, 0x0000f897, 0x00c00001, 0x00008000,
+ 0x44014097, 0x0000786b, 0x00c00001, 0x00008000, 0x48033021, 0x0000f873,
+ 0x00c00001, 0x00008000, 0xa164b71a, 0x0000c469, 0x3a232f96, 0x0000876a,
+ 0x60401618, 0x0000f897, 0x00c00001, 0x00008000, 0x00000c31, 0x0000788c,
0x00000000, 0x00000000, 0x00001698, 0x0000f88c, 0x00000000, 0x00008020,
- 0xf181489a, 0x00007862, 0x00c00001, 0x00008060, 0x81c00388, 0x0000448b,
- 0x10200d98, 0x00008697, 0xe2000d31, 0x00007896, 0x00c00001, 0x00008000,
- 0x81800630, 0x00004491, 0x18214797, 0x00008710, 0x6ea01698, 0x0000c98f,
- 0xea200c31, 0x0000868e, 0x1cc4d09a, 0x00006100, 0x4001286c, 0x00006483,
+ 0x42c1489a, 0x0000f863, 0x00c00001, 0x00008060, 0xaec00388, 0x0000c48b,
+ 0xd0200d98, 0x00000791, 0x3a000d31, 0x0000f897, 0x00c00001, 0x00008000,
+ 0xae800630, 0x0000c491, 0xe8214797, 0x00000712, 0x9ba01698, 0x0000c98f,
+ 0xba200c31, 0x00008789, 0x1cc4d09a, 0x00006100, 0x4001286c, 0x00006483,
0x82c150ec, 0x00007902, 0x0a000000, 0x00008604, 0x0a44d09a, 0x00001900,
0x0a002431, 0x00001283, 0x9c880800, 0x00006188, 0xe000506c, 0x0000e40e,
- 0x0c7e7831, 0x0000f908, 0x003ffffe, 0x00008280, 0x00001bab, 0x0000f010,
+ 0x0c7e7831, 0x0000f908, 0x003ffffe, 0x00008280, 0x00001d4b, 0x00007010,
0x00000001, 0x00007480, 0x9c800000, 0x00006181, 0x7001586c, 0x00006484,
- 0x0a04bb88, 0x0000e000, 0x1c44bb88, 0x00008000, 0x59800d98, 0x00001283,
- 0x1984bb88, 0x00009010, 0x00001c04, 0x0000f009, 0x00014066, 0x00001502,
- 0x00001bfd, 0x0000f00b, 0x00000869, 0x00006c01, 0x00000001, 0x00007280,
- 0x62401000, 0x00001981, 0x80000630, 0x00006583, 0x19718630, 0x00008901,
- 0x2b414028, 0x00009908, 0x00001c23, 0x0000f011, 0x1984bb88, 0x00001000,
- 0x83600d98, 0x0000c18d, 0x00214797, 0x00000008, 0x72e00d31, 0x0000c495,
- 0x3e256f66, 0x00000677, 0x00000d31, 0x0000f88c, 0x00000000, 0x00000000,
- 0xdb0330ad, 0x0000f85a, 0xf8c00000, 0x00000dac, 0xfae00d31, 0x0000458d,
- 0x7d6337ad, 0x0000805d, 0x00056866, 0x00009502, 0xe2000b88, 0x00006188,
- 0x6607f598, 0x00000289, 0x00001b6c, 0x0000f009, 0x73e56f66, 0x0000c473,
- 0xd8200d31, 0x0000868e, 0xdb0330ad, 0x0000f85a, 0x00c00001, 0x00000080,
- 0x8000008a, 0x00006d86, 0x00000465, 0x00006583, 0xa2a32c65, 0x00008901,
- 0x62800800, 0x00009991, 0x1ba41982, 0x00007100, 0xdb014097, 0x0000f80a,
- 0x00c00001, 0x00000080, 0xa000106c, 0x0000e402, 0x00000869, 0x0000b401,
- 0xdca08001, 0x000089e2, 0xe2a00406, 0x000008e1, 0x00000001, 0x0000f080,
- 0x0a004431, 0x00001283, 0xe000506c, 0x00006c16, 0x00001bb5, 0x00007009,
- 0x4a000d98, 0x00001283, 0x0a07f800, 0x00006191, 0x5c87f800, 0x0000c991,
- 0x0a000800, 0x0000e189, 0x5c800800, 0x00004989, 0x00001bb4, 0x00007010,
- 0x1ca14428, 0x00001901, 0x9c800000, 0x00006181, 0x7001586c, 0x00006484,
- 0x0c7e7831, 0x00007900, 0x003ffffe, 0x00008280, 0x00000001, 0x00007480,
- 0x1c44bb88, 0x0000e000, 0x2000086c, 0x00002403, 0x0a04bb88, 0x00001000,
- 0x78c4bf21, 0x00004469, 0x8224bf21, 0x00008617, 0x00e10f28, 0x0000c511,
- 0x00600b88, 0x0000039b, 0x1984bb88, 0x00001000, 0x00001b5e, 0x0000f400,
- 0x00033021, 0x00001502, 0x6607b598, 0x0000e291, 0xe214ba21, 0x00008110,
- 0xa000106c, 0x0000e402, 0x00000869, 0x0000b401, 0x9c800800, 0x00009981,
- 0x00000001, 0x00007280, 0x62400800, 0x00001981, 0x00014067, 0x00009502,
- 0x25c14028, 0x0000e158, 0x9994ba28, 0x0000c158, 0xa2144266, 0x00006058,
- 0xe2133388, 0x00008158, 0x00001bc6, 0x00007070, 0xd7833821, 0x0000785a,
- 0xe8c00000, 0x00008d8d, 0x99801694, 0x0000e283, 0x00000869, 0x00002401,
- 0x62403000, 0x00001991, 0x00001bf3, 0x0000f011, 0x99802694, 0x00001283,
- 0x62404800, 0x00001991, 0x00001bf3, 0x0000f011, 0x70c04694, 0x0000428f,
- 0xe020478c, 0x00000697, 0x70c00e94, 0x0000c397, 0x00210694, 0x00008088,
- 0x89a03598, 0x0000438f, 0x00201598, 0x00008088, 0x87e14797, 0x0000c469,
- 0x7e24bf21, 0x00008768, 0x0b414797, 0x0000450b, 0xfe610431, 0x00008495,
- 0x10c01431, 0x0000f897, 0x00c00001, 0x00008000, 0x70c14797, 0x0000c469,
- 0x0c24bf21, 0x0000866f, 0x8ba10f97, 0x00004109, 0x00214797, 0x00000008,
- 0xf2408431, 0x0000f896, 0x38c00000, 0x00000e82, 0xe1814097, 0x00007812,
- 0xe8c00000, 0x00008e82, 0x13408694, 0x0000f897, 0x80c00000, 0x00000e82,
+ 0x0a04bb88, 0x0000e000, 0x1c44bb88, 0x00008000, 0x80000630, 0x00006583,
+ 0x19718630, 0x00008901, 0x2b414028, 0x00009908, 0x00001d91, 0x00007011,
+ 0x1984bb88, 0x00001000, 0xb0600d98, 0x0000c18d, 0x00214797, 0x00000008,
+ 0x9ee00d31, 0x00004495, 0xfe256f66, 0x00008771, 0x00000d31, 0x0000f88c,
+ 0x00000000, 0x00000000, 0x350330ad, 0x0000785b, 0xf8c00000, 0x00008ea7,
+ 0xfbe00d31, 0x0000c58d, 0x7de337ad, 0x0000005d, 0x00056866, 0x00009502,
+ 0xe2000b88, 0x00006188, 0x6607f598, 0x00000289, 0x00001cd4, 0x00007009,
+ 0x9fe56f66, 0x00004473, 0xa8200d31, 0x00000789, 0x350330ad, 0x0000785b,
+ 0x00c00001, 0x00000080, 0x8000008a, 0x00006d86, 0x00000465, 0x00006583,
+ 0xa2a32c65, 0x00008901, 0x62800800, 0x00009991, 0x1d041aec, 0x0000f100,
+ 0x35014097, 0x0000780b, 0x00c00001, 0x00000080, 0xa000106c, 0x0000e402,
+ 0x00000869, 0x0000b401, 0xdca08001, 0x000089e2, 0xe2a00406, 0x000008e1,
+ 0x00000001, 0x0000f080, 0xa000106c, 0x0000e402, 0x00000869, 0x0000b401,
+ 0x9c800800, 0x00009981, 0x00000001, 0x00007280, 0x62400800, 0x00001981,
+ 0x00014066, 0x00001502, 0x25c14028, 0x0000e158, 0x99d4ba28, 0x00004158,
+ 0xa2144267, 0x0000e058, 0xe2133b88, 0x00000158, 0x00001d0b, 0x0000f070,
+ 0x31833021, 0x0000f85b, 0x00c00000, 0x00000e89, 0x59c00d98, 0x00009283,
+ 0x19c4bb88, 0x00001010, 0x00001d6c, 0x0000f009, 0x00014067, 0x00009502,
+ 0x00001d65, 0x0000700b, 0x00000869, 0x00006c01, 0x00000001, 0x00007280,
+ 0x62401000, 0x00001981, 0xa164bf21, 0x0000c469, 0x4824bf21, 0x00000712,
+ 0xfd210f28, 0x00004511, 0xfe800b88, 0x0000039d, 0x1984bb88, 0x00001000,
+ 0x00001cc6, 0x0000f400, 0x00033021, 0x00001502, 0x6607b598, 0x0000e291,
+ 0xe214ba21, 0x00008110, 0x99c01694, 0x00006283, 0x00000869, 0x00002401,
+ 0x62403000, 0x00001991, 0x00001d49, 0x00007011, 0x99c02694, 0x00009283,
+ 0x62404800, 0x00001991, 0x00001d49, 0x00007011, 0xa3c04694, 0x0000c28f,
+ 0x8c20478c, 0x00008792, 0xa3c00e94, 0x00004397, 0x00210694, 0x00008088,
+ 0xb6a03598, 0x0000438f, 0x00201598, 0x00008088, 0xb4e14797, 0x0000c469,
+ 0x4e24bf21, 0x0000876b, 0x0c614797, 0x0000c50a, 0xfd610431, 0x00008591,
+ 0x6ac01431, 0x00007897, 0x00c00001, 0x00008000, 0xa3c14797, 0x00004469,
+ 0x3c24bf21, 0x0000076a, 0xb8a10f97, 0x00004109, 0x00214797, 0x00000008,
+ 0x43808431, 0x00007897, 0x78c00000, 0x00008e8d, 0x47814097, 0x0000f813,
+ 0x28c00000, 0x00008e8e, 0x6d408694, 0x0000f897, 0xc0c00000, 0x00008e8d,
0xc000038c, 0x00001582, 0x62404000, 0x0000e189, 0x62403800, 0x0000c991,
- 0x00000001, 0x00007280, 0x20000869, 0x0000ec01, 0xc0000b88, 0x0000e582,
+ 0x00000001, 0x00007280, 0x20000869, 0x0000ec01, 0x0a004431, 0x00001283,
+ 0xe000506c, 0x00006c16, 0x00001d55, 0x0000f009, 0x4a000d98, 0x00001283,
+ 0x0a07f800, 0x00006191, 0x5c87f800, 0x0000c991, 0x0a000800, 0x0000e189,
+ 0x5c800800, 0x00004989, 0x00001d54, 0x0000f010, 0x1ca14428, 0x00001901,
+ 0x9c800000, 0x00006181, 0x7001586c, 0x00006484, 0x0c7e7831, 0x00007900,
+ 0x003ffffe, 0x00008280, 0x00000001, 0x00007480, 0x1c44bb88, 0x0000e000,
+ 0x2000086c, 0x00002403, 0x0a04bb88, 0x00001000, 0xc0000b88, 0x0000e582,
0x1984bb88, 0x00008000, 0x9c800800, 0x00006189, 0xa000106c, 0x0000640a,
- 0x00001b5e, 0x0000f400, 0x00033021, 0x00001502, 0x6607b598, 0x0000e291,
+ 0x00001cc6, 0x0000f400, 0x00033021, 0x00001502, 0x6607b598, 0x0000e291,
0xe214ba21, 0x00008110, 0xc0000b88, 0x0000e582, 0x6607f598, 0x00008281,
0xe2000b88, 0x0000e180, 0xa000106c, 0x0000a40a, 0x25c00897, 0x0000e088,
0x9c800800, 0x00008989, 0xffffffff, 0x00007f86, 0x00014097, 0x00009502,
- 0x00001bc6, 0x0000706b, 0xc0000388, 0x00009582, 0x62405000, 0x00006191,
- 0x00000869, 0x00006411, 0x00000001, 0x0000f091, 0xef64bf28, 0x0000c568,
- 0xf5214797, 0x00007c60, 0x1c0d19b4, 0x0000f100, 0x00000001, 0x0000f080,
+ 0x00001d0b, 0x0000f06b, 0xc0000388, 0x00009582, 0x62405000, 0x00006191,
+ 0x00000869, 0x00006411, 0x00000001, 0x0000f091, 0xf564bf28, 0x00004568,
+ 0x75214797, 0x00007967, 0x1d751b1e, 0x0000f100, 0x00000001, 0x0000f080,
0x99401698, 0x0000e283, 0x62400800, 0x00008981, 0x00000001, 0x0000708b,
0x19400c31, 0x00001283, 0x00000001, 0x0000708b, 0x00014097, 0x00009502,
0x82c150ec, 0x0000f90a, 0x0a400000, 0x00000604, 0x0a44d09a, 0x00009908,
- 0x00000001, 0x00007090, 0x00000001, 0x0000f080, 0x00001b68, 0x0000f200,
+ 0x00000001, 0x00007090, 0x00000001, 0x0000f080, 0x00001cd0, 0x00007200,
0x40001014, 0x0000ec02, 0x00000465, 0x00006583, 0x8000008a, 0x00002586,
- 0x1b6c1982, 0x00007500, 0x22400800, 0x0000e181, 0x0c401031, 0x0000c380,
- 0x62800800, 0x0000e191, 0xa2a32c65, 0x00004901, 0x00001b6c, 0x0000f000,
- 0x80000e30, 0x00001583, 0x2b41602c, 0x00009908, 0x00001c33, 0x00007011,
- 0x59400d31, 0x00001283, 0x1941582c, 0x00001110, 0x00001b8c, 0x00007009,
- 0x00001b8c, 0x0000f400, 0x00000865, 0x0000e582, 0x19400000, 0x00000981,
- 0x19400800, 0x00009991, 0xa000106c, 0x0000e402, 0x10000869, 0x00003401,
- 0x00000001, 0x00007480, 0x9c800800, 0x0000e181, 0x0c410031, 0x0000c380,
- 0x62400800, 0x00001981, 0x0005622e, 0x0000f902, 0x19c00000, 0x00008000,
- 0x59400d31, 0x00001283, 0x00001b8c, 0x0000720b, 0x19856067, 0x0000e110,
- 0x2b433867, 0x00008900, 0x00001b8c, 0x00007401, 0x00000866, 0x00001582,
- 0x19400e30, 0x00001189, 0x00000001, 0x00007280, 0x62402000, 0x00006181,
- 0x20000869, 0x00006401, 0x00000001, 0x00007480, 0x9c800800, 0x0000e181,
+ 0x1cd41aec, 0x00007500, 0x22400800, 0x0000e181, 0x0c401031, 0x0000c380,
+ 0x62800800, 0x0000e191, 0xa2a32c65, 0x00004901, 0x00001cd4, 0x00007000,
+ 0xa000106c, 0x0000e402, 0x10000869, 0x00003401, 0x00000001, 0x00007480,
+ 0x9c800800, 0x0000e181, 0x0c410031, 0x0000c380, 0x62400800, 0x00001981,
+ 0x80000e30, 0x00001583, 0x2b41602c, 0x00009908, 0x00001d9e, 0x00007011,
+ 0x59400d31, 0x00001283, 0x1941582c, 0x00001110, 0x00001cec, 0x0000f009,
+ 0x00001cec, 0x00007400, 0x00000865, 0x0000e582, 0x19400000, 0x00000981,
+ 0x19400800, 0x00009991, 0x00000001, 0x00007280, 0x62402000, 0x00006181,
+ 0x20000869, 0x00006401, 0x0005622e, 0x0000f902, 0x19c00000, 0x00008000,
+ 0x59400d31, 0x00001283, 0x00001cec, 0x0000f20b, 0x19856067, 0x0000e110,
+ 0x2b433867, 0x00008900, 0x00001cec, 0x0000f401, 0x00000866, 0x00001582,
+ 0x19400e30, 0x00001189, 0x00000001, 0x00007480, 0x9c800800, 0x0000e181,
0xa000106c, 0x0000e402, 0x62400800, 0x00001981, 0x19400828, 0x00001180,
- 0x00032897, 0x00009502, 0x00001be6, 0x0000f200, 0x25c14028, 0x00009908,
+ 0x00032897, 0x00009502, 0x00001d3c, 0x00007200, 0x25c14028, 0x00009908,
0xa000106c, 0x0000e402, 0x10000869, 0x00003401, 0x00000001, 0x00007480,
0x9c800800, 0x0000e181, 0x0c408031, 0x0000c380, 0x62400800, 0x00001981,
- 0x00000069, 0x0000ec01, 0xd6801431, 0x0000f88e, 0x00c00000, 0x00000d8c,
- 0x01800000, 0x00006180, 0x01c00020, 0x00004980, 0x0034a006, 0x00006086,
- 0x08001a0b, 0x00003106, 0x04192000, 0x00007900, 0x003e17ee, 0x00000980,
- 0x0442d800, 0x00007900, 0x002793bc, 0x00000980, 0x03c00000, 0x000000d4,
- 0x82e00500, 0x0000802e, 0x1c5d20b1, 0x00007500, 0x03006f02, 0x0000009d,
+ 0x00000069, 0x0000ec01, 0x30801431, 0x0000f88f, 0xc0c00000, 0x00008e88,
+ 0x01800000, 0x00006180, 0x01400020, 0x0000c980, 0x0034a006, 0x00006086,
+ 0x08001a0b, 0x00003106, 0x04184000, 0x0000f900, 0x003e17ee, 0x00000980,
+ 0x0442d800, 0x00007900, 0x002793bc, 0x00000980, 0x01c00000, 0x000000f4,
+ 0x82e00500, 0x0000802e, 0x1dc52213, 0x00007500, 0x03c06f02, 0x00008095,
0x04803006, 0x00009900, 0x00000001, 0x00007480, 0xc000086c, 0x00006403,
- 0x20000869, 0x00003401, 0x62401800, 0x00009981, 0x08048a06, 0x00006106,
- 0x0c016a07, 0x0000b106, 0x995722e4, 0x00001900, 0x91208618, 0x0000c495,
- 0x12203c06, 0x00000711, 0x91242f2f, 0x0000c411, 0x1234302e, 0x00000711,
- 0x8d800694, 0x0000c491, 0xfa20d796, 0x00008710, 0x20402598, 0x0000f88f,
- 0xe8c00000, 0x00000e83, 0x81401694, 0x0000e283, 0x00000869, 0x00002401,
- 0x62403000, 0x00001991, 0x00001c77, 0x00007011, 0x8ec02694, 0x00004397,
- 0x00204694, 0x00008088, 0x00e0478c, 0x0000c78f, 0x81600e94, 0x00008193,
- 0x0120d796, 0x00004513, 0x80c02598, 0x0000008c, 0x62404800, 0x00009981,
- 0x00000000, 0x0000f280, 0x20000869, 0x0000ec01, 0x00001c77, 0x0000f400,
+ 0x20000869, 0x00003401, 0x62401800, 0x00009981, 0x991722e4, 0x00009900,
+ 0xbe208618, 0x00004495, 0xe2242f2f, 0x00000713, 0xbe34302e, 0x0000c411,
+ 0xac200694, 0x00008793, 0x00002598, 0x0000c08e, 0x00020431, 0x00008088,
+ 0x04214797, 0x0000c569, 0x8164bf21, 0x00008260, 0x03e00e94, 0x00004595,
+ 0x8140d796, 0x0000010f, 0x03a00e94, 0x0000c595, 0x8140d796, 0x00008108,
+ 0x81801694, 0x0000e283, 0x00000869, 0x00002401, 0x62403000, 0x00001991,
+ 0x00001ddf, 0x00007011, 0xbbc02694, 0x0000c497, 0x9c204694, 0x0000078b,
+ 0x7840478c, 0x0000f88f, 0x88c00000, 0x00000e8f, 0x62404800, 0x00009981,
+ 0x00000000, 0x0000f280, 0x20000869, 0x0000ec01, 0x00001ddf, 0x0000f400,
0xc000038c, 0x00001582, 0x62404000, 0x0000e189, 0x62403800, 0x0000c991,
- 0x00000000, 0x0000f480, 0xc000086c, 0x00006403, 0xa0000869, 0x0000b401,
+ 0xa0000869, 0x0000e401, 0xc000086c, 0x00003403, 0x00000000, 0x0000f280,
0x62401800, 0x00009981, 0x01820431, 0x00001283, 0x62407000, 0x00009991,
0x00000000, 0x00007091, 0xc0000399, 0x00009582, 0x41801598, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00001c89, 0x00007010, 0x00001c8b, 0x0000f010,
+ 0xffffffff, 0x00007f86, 0x00001df1, 0x0000f010, 0x00001df3, 0x00007010,
0x00000000, 0x0000f280, 0x62401000, 0x00001981, 0x01801c90, 0x00006281,
- 0xa200a68e, 0x00000080, 0x00000c06, 0x0000e583, 0x99002d00, 0x00000880,
- 0x82c0a000, 0x0000e188, 0x82c14000, 0x0000c990, 0x19e00002, 0x0000e180,
- 0x0a44c206, 0x00006100, 0x81d05a88, 0x0000e000, 0x19800000, 0x00008980,
- 0x22800000, 0x00007900, 0x00001044, 0x00000980, 0x81903a06, 0x0000e100,
- 0xc1d80a64, 0x00008080, 0x81e80500, 0x0000e100, 0x0010308a, 0x0000e106,
- 0xd9d05a88, 0x00006000, 0x04147066, 0x00002187, 0x703c50ec, 0x00005600,
- 0x00383800, 0x00000000, 0x90000869, 0x0000e401, 0x7000186c, 0x0000b404,
- 0x60000816, 0x0000e403, 0x8000086e, 0x0000b402, 0x703b38ec, 0x00005600,
- 0x003b3000, 0x00008000, 0x62406800, 0x00006181, 0x0a000897, 0x00004080,
+ 0x99c0a68e, 0x00008080, 0x00000c06, 0x0000e583, 0x19a00002, 0x00008980,
+ 0x8280a000, 0x00006188, 0x82814000, 0x00004990, 0x19400000, 0x00006180,
+ 0x0a44c206, 0x00006100, 0x82d05267, 0x0000e000, 0xa2a80500, 0x00000900,
+ 0x22000000, 0x0000f900, 0x00001044, 0x00000980, 0x81905a06, 0x0000e100,
+ 0x04147065, 0x00002187, 0x82c02d00, 0x0000e080, 0x00103088, 0x00006106,
+ 0xe2980a0b, 0x0000e080, 0xd9905267, 0x00008000, 0x703c40ec, 0x0000d600,
+ 0x003c5000, 0x00000000, 0x90000869, 0x0000e401, 0x7000186c, 0x0000b404,
+ 0x60000816, 0x0000e403, 0x8000086e, 0x0000b402, 0x703b30ec, 0x0000d600,
+ 0x003b2800, 0x00008000, 0x62406800, 0x00006181, 0x0a000897, 0x00004080,
0x1c400897, 0x0000e080, 0x1a04b096, 0x00008900, 0x0804b096, 0x00001900,
- 0x00c002ec, 0x0000df80, 0x11c5600b, 0x00001684, 0xb864e013, 0x0000e180,
- 0x81c02d00, 0x0000c880, 0x303ce207, 0x00003038, 0x303cf407, 0x0000b038,
- 0x303d0607, 0x0000b038, 0x307d1007, 0x0000b038, 0x307d2207, 0x00003038,
- 0x01c05000, 0x00001981, 0x01c00c07, 0x00009183, 0x01c00000, 0x0000e189,
- 0x99d0c000, 0x00004988, 0x02c20200, 0x0000f904, 0x22000000, 0x00006189,
- 0x00385864, 0x00006086, 0x82305864, 0x00006886, 0x04285864, 0x00006887,
- 0x00001cb4, 0x00007410, 0x86205864, 0x0000e887, 0x10432400, 0x00007904,
- 0x98a00c9c, 0x00004489, 0x2e200c9c, 0x000007aa, 0x9a80149c, 0x00004489,
- 0xe0201c9c, 0x00008791, 0x38001d9c, 0x0000f88b, 0x08c00000, 0x00008e89,
- 0xb864e013, 0x0000e180, 0x01c00c07, 0x0000c081, 0x22404800, 0x00001981,
- 0xffffffff, 0x0000ffb7, 0x02c20a00, 0x00007904, 0x19020a00, 0x00007904,
- 0x22400c89, 0x00006183, 0x1980400b, 0x00000780, 0x02c0c064, 0x00009880,
- 0x02c05866, 0x00009300, 0x00001cca, 0x00007410, 0x10005c00, 0x0000f904,
- 0x02c32064, 0x00001900, 0x00001d15, 0x0000f200, 0x02c04064, 0x00001780,
- 0x82c0469c, 0x00001880, 0x99d05f9c, 0x00001000, 0xa420259c, 0x0000c991,
- 0x4221fa67, 0x000007b2, 0x01c02407, 0x00006081, 0xb86ce013, 0x00008980,
- 0x02c05000, 0x00009980, 0x00001cdd, 0x00007000, 0x10020e00, 0x0000f904,
- 0x02c0080b, 0x00009182, 0x00001cdc, 0x00007013, 0x00001d19, 0x00007000,
+ 0x00c002ec, 0x0000df80, 0x11d0a00b, 0x00009684, 0x99802d00, 0x00006080,
+ 0xb864e013, 0x0000c980, 0x303ce266, 0x0000b038, 0x303cf466, 0x00003038,
+ 0x303d0666, 0x00003038, 0x307d1066, 0x00003038, 0x307d2266, 0x0000b038,
+ 0x02805000, 0x00009981, 0x02800c0a, 0x00009183, 0x22000000, 0x00006189,
+ 0x99d0c000, 0x00004988, 0x02c20200, 0x0000f904, 0x00385865, 0x00006886,
+ 0x82305865, 0x0000e886, 0x04285865, 0x0000e887, 0x00001e1c, 0x00007410,
+ 0x86205865, 0x00006887, 0x10432c00, 0x0000f904, 0x19400000, 0x00009981,
+ 0xc5a00c9c, 0x0000c489, 0xfe200c9c, 0x000087ac, 0xc780149c, 0x0000c489,
+ 0xb0201c9c, 0x00008794, 0x92001d9c, 0x0000f88b, 0x48c00000, 0x00000f84,
+ 0xb864e013, 0x0000e180, 0x19400c65, 0x0000c081, 0x22404800, 0x00001981,
+ 0xffffffff, 0x0000ffb7, 0x02820a00, 0x0000f904, 0x02c20a00, 0x00007904,
+ 0x22400c89, 0x00006183, 0x1980400a, 0x00008780, 0x0280c00b, 0x00001880,
+ 0x02805066, 0x00009300, 0x00001e32, 0x00007410, 0x10005400, 0x00007904,
+ 0x0280580b, 0x00009900, 0x00001e7d, 0x00007200, 0x0280400b, 0x00009780,
+ 0x8280469c, 0x00009880, 0x99d0579c, 0x00009000, 0xd120259c, 0x00004991,
+ 0x1221fa67, 0x000087b5, 0x19402465, 0x00006081, 0xb86ce013, 0x00008980,
+ 0x02805000, 0x00001980, 0x00001e45, 0x00007000, 0x10020e00, 0x0000f904,
+ 0x0280080a, 0x00009182, 0x00001e44, 0x00007013, 0x00001e81, 0x0000f000,
0xb864e013, 0x0000e180, 0xb0000869, 0x00006401, 0x2234e69c, 0x00006101,
- 0x01c01c07, 0x00004081, 0x19804800, 0x00009981, 0xffffffff, 0x00007fa7,
- 0x22820a00, 0x00007904, 0x02c20a00, 0x00007904, 0x19800c66, 0x00006183,
- 0x1900400b, 0x00008880, 0x2283278a, 0x00009300, 0x10045400, 0x0000f904,
- 0x00001ce7, 0x00007210, 0x2280580b, 0x00001900, 0x00001d15, 0x0000f200,
- 0x02c0c00b, 0x00009780, 0x40001d9c, 0x00006583, 0x226ce59c, 0x00000901,
- 0x01ece407, 0x00006001, 0x1980159c, 0x00000799, 0xb844e000, 0x0000e198,
- 0x19000000, 0x00004999, 0x00001d03, 0x0000f030, 0x00001cfd, 0x00007400,
- 0x78432466, 0x00006181, 0x02c05000, 0x00000980, 0x02e3300b, 0x00009100,
- 0x10020e00, 0x0000f904, 0x19000c64, 0x00009081, 0x22a32464, 0x00001900,
- 0x0000588a, 0x00001502, 0x00001cfb, 0x0000f04b, 0x2c07e466, 0x00001680,
- 0x02c588b0, 0x00001001, 0x22605c89, 0x00009001, 0x00000489, 0x00001583,
- 0xb864e013, 0x00006190, 0x22401c89, 0x00004891, 0x02c10000, 0x0000e190,
- 0x2b004800, 0x00004991, 0x00001d19, 0x0000f008, 0x1924480b, 0x00001100,
- 0xffffffff, 0x00007f97, 0x2b420a00, 0x00007904, 0x02c20a00, 0x00007904,
- 0x2b000cac, 0x00006183, 0x19a448ad, 0x00000700, 0x2b40580b, 0x00006100,
- 0x2283200b, 0x0000c800, 0x02e4480b, 0x00006708, 0x1983308a, 0x00008300,
- 0x00001d0c, 0x0000f210, 0x10033400, 0x00007904, 0x00001d19, 0x0000f200,
- 0x10005c00, 0x0000f904, 0x00001d1a, 0x0000f200, 0x19000800, 0x00009981,
- 0x19000000, 0x00001981, 0x82e03c07, 0x00009900, 0x0010320b, 0x0000f828,
- 0x00000000, 0x00000000, 0x2fc00464, 0x0000f88b, 0x00c00001, 0x00000010,
- 0x4a007488, 0x000078b3, 0x00c00001, 0x00000080, 0x62406000, 0x0000e181,
+ 0x19401c65, 0x00004081, 0x19804800, 0x00009981, 0xffffffff, 0x00007fa7,
+ 0x22820a00, 0x00007904, 0x02820a00, 0x0000f904, 0x19800c66, 0x00006183,
+ 0x02c0400a, 0x00000880, 0x22805f8a, 0x00009300, 0x10045400, 0x0000f904,
+ 0x00001e4f, 0x00007210, 0x2280500a, 0x00001900, 0x00001e7d, 0x00007200,
+ 0x0280c00a, 0x00009780, 0x40001d9c, 0x00006583, 0x226ce59c, 0x00000901,
+ 0x196ce465, 0x00006001, 0x02c0159c, 0x00008799, 0xb844e000, 0x0000e198,
+ 0x02800000, 0x0000c999, 0x00001e6b, 0x00007030, 0x00001e65, 0x00007400,
+ 0x7843240b, 0x0000e181, 0x19805000, 0x00008980, 0x19a05866, 0x00001100,
+ 0x10020e00, 0x0000f904, 0x02800c0a, 0x00009081, 0x22a0540a, 0x00001900,
+ 0x0003308a, 0x00009502, 0x00001e63, 0x0000f04b, 0x2c07e40b, 0x00009680,
+ 0x028588b0, 0x00009001, 0x22605489, 0x00001001, 0x00000489, 0x00001583,
+ 0xb864e013, 0x00006190, 0x22401c89, 0x00004891, 0x19810000, 0x00006190,
+ 0x2b004800, 0x00004991, 0x00001e81, 0x00007008, 0x02e44866, 0x00009100,
+ 0xffffffff, 0x00007f97, 0x2b420a00, 0x00007904, 0x02820a00, 0x0000f904,
+ 0x2b000cac, 0x00006183, 0x19a448ad, 0x00000700, 0x2b40500a, 0x00006100,
+ 0x2280580a, 0x00004800, 0x02a4480a, 0x00006708, 0x1983308a, 0x00008300,
+ 0x00001e74, 0x0000f210, 0x10033400, 0x00007904, 0x00001e81, 0x00007200,
+ 0x10005400, 0x00007904, 0x00001e82, 0x00007200, 0x02c00800, 0x00009981,
+ 0x02c00000, 0x00001981, 0x82a32c65, 0x00001900, 0x0010320a, 0x00007828,
+ 0x00000000, 0x00000000, 0x89c0040b, 0x0000f88b, 0x00c00001, 0x00000010,
+ 0xa4007488, 0x000078b3, 0x00c00001, 0x00000080, 0x62406000, 0x0000e181,
0xa0000869, 0x0000e401, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xb9132a65, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x0c244488, 0x00006101, 0x08018c06, 0x0000e000, 0x00000c06, 0x0000e583,
- 0x9a644488, 0x00000901, 0x01800000, 0x00006191, 0x0bc4c406, 0x00006008,
- 0x9a533a67, 0x00001900, 0x00203431, 0x00006800, 0x01800c31, 0x00001283,
- 0x82c038ec, 0x0000f912, 0x01800000, 0x00008604, 0x0a44d09a, 0x0000e110,
- 0x4001286c, 0x0000e493, 0x00001d39, 0x00007008, 0x1cc4d09a, 0x00006100,
- 0x80000869, 0x00006401, 0x0a803807, 0x00001900, 0xc1404769, 0x00006283,
- 0xb9132a65, 0x00008900, 0x4c000000, 0x0000e189, 0xe000086c, 0x0000e403,
- 0xffffffff, 0x00007f86, 0x01e98008, 0x00001800, 0x1c014007, 0x00009000,
+ 0xb9132264, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x0c244488, 0x00006101, 0x08018c66, 0x0000e000, 0x00000c66, 0x0000e583,
+ 0x9a644488, 0x00000901, 0x19800000, 0x00006191, 0x0bc4c466, 0x00006008,
+ 0x9a533a67, 0x00001900, 0x00233431, 0x00006800, 0x01800c31, 0x00001283,
+ 0x82c050ec, 0x00007912, 0x01800000, 0x00008604, 0x0a44d09a, 0x0000e110,
+ 0x4001286c, 0x0000e493, 0x00001ea1, 0x0000f008, 0x1cc4d09a, 0x00006100,
+ 0x80000869, 0x00006401, 0x0a80500a, 0x00001900, 0xc1404769, 0x00006283,
+ 0xb9132264, 0x00008900, 0x4c000000, 0x0000e189, 0xe000086c, 0x0000e403,
+ 0xffffffff, 0x00007f86, 0x01a98007, 0x00009800, 0x1c014006, 0x00001000,
0x00000000, 0x0000f081, 0x0001001a, 0x0000e502, 0x1a400000, 0x00008980,
0x1a400432, 0x00008092, 0x33c18869, 0x00006001, 0xe0001814, 0x0000b402,
0x1b000000, 0x00006180, 0x43c18869, 0x0000e001, 0x1b400000, 0x000006f8,
0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180,
0x1a010020, 0x00004900, 0x00000001, 0x00007480, 0x1af9571f, 0x00008628,
- 0x01000800, 0x00001991, 0x08048a06, 0x00006106, 0x0c016a04, 0x0000b106,
- 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x81400000, 0x000080e2, 0x01c0d01a, 0x00001900,
- 0xae408618, 0x0000c495, 0xe4202406, 0x00000712, 0xae442f2f, 0x0000c411,
- 0xe434302e, 0x00000712, 0x5a800694, 0x00007893, 0x00c00001, 0x00008000,
- 0xae414797, 0x00004469, 0xe424bf21, 0x00000772, 0xae802598, 0x0000c497,
- 0xe8201598, 0x00008792, 0x5d000399, 0x0000f893, 0x00c00001, 0x00008000,
- 0x00060718, 0x0000788c, 0x00000000, 0x00000000, 0x5e00d096, 0x0000f813,
- 0x00c00001, 0x00008060, 0x03614797, 0x0000c50a, 0x83601431, 0x00000289,
- 0x00000869, 0x00006c01, 0xae201694, 0x0000c497, 0xe2202694, 0x00008792,
- 0xae404694, 0x0000c28f, 0xe220478c, 0x00000792, 0x5c800e94, 0x00007897,
- 0xf0c00000, 0x00000e8a, 0x20000869, 0x0000ec01, 0x00000001, 0x00007280,
- 0x01401000, 0x00001981, 0x00000001, 0x00007480, 0x2000086e, 0x0000e402,
- 0xa0000814, 0x0000b402, 0x01400000, 0x00009981, 0x1a38d71a, 0x00000200,
- 0x00014097, 0x00006502, 0x06800000, 0x00000980, 0x0000481a, 0x00006302,
- 0x60000816, 0x0000b403, 0x82c048ec, 0x0000f902, 0x01800000, 0x00008604,
- 0x05d00017, 0x00009380, 0x00001d89, 0x0000f411, 0xffffffff, 0x00007f86,
- 0x0a804809, 0x00001900, 0x41000d98, 0x00009283, 0x7000186c, 0x00006414,
- 0x8000086e, 0x00003412, 0x0c401031, 0x0000e390, 0x0a000897, 0x00000090,
- 0x1c400897, 0x00009090, 0x01001431, 0x00009283, 0x00001d9e, 0x0000f00b,
- 0x05eff817, 0x0000f900, 0x003ffffe, 0x00008280, 0xc1060718, 0x00009283,
- 0x00003820, 0x00001502, 0x01040431, 0x00009283, 0x00001d9e, 0x0000f008,
- 0x00001d9e, 0x0000f010, 0x00001d9a, 0x00007008, 0x82c038ec, 0x00007902,
- 0x01800000, 0x00008604, 0xa0000814, 0x0000e402, 0x0000086e, 0x00003402,
- 0x00001d9e, 0x00007401, 0xffffffff, 0x00007f86, 0x0a803807, 0x00001900,
- 0x40001015, 0x0000e402, 0xa0000814, 0x0000b402, 0x01405800, 0x00006181,
- 0x20001015, 0x00006403, 0x00000001, 0x00007480, 0x41001517, 0x00001283,
- 0x02000800, 0x00001991, 0x1a400000, 0x00006180, 0xe0001814, 0x0000e402,
- 0x01018419, 0x0000e283, 0x9a519232, 0x00008900, 0xa0000814, 0x00006412,
- 0x40001015, 0x00003412, 0x33c18869, 0x00006001, 0xc0001814, 0x00003413,
- 0x43c18869, 0x0000e001, 0x20001015, 0x0000b413, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x00000001, 0x0000f490, 0x1a38ff20, 0x0000062c, 0x01002000, 0x00006191,
- 0x1a81502a, 0x0000c900, 0x0000d020, 0x00001502, 0x01000000, 0x0000e191,
- 0x8000086d, 0x00006412, 0x6000086d, 0x0000ec13, 0x00001db9, 0x0000f008,
- 0x00000001, 0x0000f080, 0x01001431, 0x00009283, 0x82c038ec, 0x0000f90a,
- 0x01000000, 0x00000604, 0x0100282a, 0x00001008, 0x00001dc4, 0x0000f010,
- 0xffffffff, 0x00007f86, 0x00002007, 0x00001502, 0x01001000, 0x0000e1e1,
- 0x2000086e, 0x0000e462, 0x00000001, 0x000070e1, 0x00001dcf, 0x0000f000,
- 0x01040431, 0x00009283, 0x82c028ec, 0x00007912, 0x01000000, 0x00000604,
- 0x81371ee3, 0x00001910, 0x00001dd1, 0x00007008, 0xffffffff, 0x00007f86,
- 0x7d382004, 0x00002084, 0xffffffff, 0x00007fa7, 0x0100202a, 0x00001000,
- 0x00002005, 0x00009502, 0x00001dd1, 0x0000f063, 0x00000001, 0x00007280,
- 0x01000800, 0x00009981, 0x00000001, 0x00007480, 0x40001015, 0x0000e402,
- 0xa0000814, 0x0000b402, 0x01001800, 0x00006181, 0x20001015, 0x00006403,
- 0x05000000, 0x000081d4, 0x05800000, 0x000081dc, 0x04384f08, 0x00000104,
- 0x04b85f0a, 0x0000010c, 0x03400000, 0x000080f0, 0x88c00000, 0x00001980,
- 0xc8402409, 0x00004389, 0x00202409, 0x00000098, 0xcb201409, 0x0000c489,
- 0x48201409, 0x0000079c, 0xbcc00c09, 0x0000c689, 0x7e203409, 0x0000878d,
- 0x0f403409, 0x000045a8, 0x8cc03c09, 0x00000d8e, 0xb3000223, 0x0000f88b,
- 0xe0c00000, 0x00000f86, 0x1dea250b, 0x00007404, 0x01809800, 0x00007900,
- 0x00001000, 0x00000980, 0x2a385f0a, 0x0000801c, 0x00000406, 0x00009583,
- 0x81ff1fe3, 0x00001908, 0x8a003a07, 0x0000a088, 0x00001df3, 0x00007010,
- 0xffffffff, 0x00007f97, 0x01c03c07, 0x00001281, 0x01c01407, 0x00001181,
- 0x00000c07, 0x00009583, 0x00001df8, 0x0000701b, 0x0e78d800, 0x00007900,
- 0x00051992, 0x00008980, 0x1df82158, 0x0000f500, 0x01c0370b, 0x0000801b,
- 0x0e00500a, 0x00001900, 0x30403aa9, 0x0000f902, 0x01800000, 0x00000000,
- 0x304104a9, 0x0000f902, 0x07800000, 0x00000000, 0x3000cea9, 0x0000f902,
- 0x03c00000, 0x00000000, 0x3078d6a9, 0x00002000, 0x83383207, 0x00008224,
- 0x03390120, 0x00000220, 0x09c0f01e, 0x0000e100, 0x0420c80c, 0x00006001,
- 0x3080c0a9, 0x0000f902, 0x03800000, 0x00008000, 0x1468c80c, 0x0000e001,
- 0x0438d00d, 0x0000b001, 0x88c16800, 0x00006180, 0x24b0c80c, 0x00006003,
- 0x07014829, 0x00006100, 0x4538c80c, 0x0000e003, 0x0780700e, 0x0000e100,
- 0x65a0780c, 0x00006003, 0x06c14028, 0x0000e100, 0x8628780c, 0x0000e003,
- 0x307858a9, 0x0000a080, 0x06813827, 0x00006100, 0xa6b0780c, 0x0000e003,
- 0x1e152192, 0x0000f500, 0x83783d07, 0x00000038, 0x0280f01e, 0x00009900,
- 0x01880000, 0x0000e180, 0x01f0ce19, 0x0000c901, 0x1e1a2f3a, 0x0000f500,
- 0x41f07d19, 0x0000801d, 0x41b87c0f, 0x0000801d, 0x00000419, 0x00001583,
- 0x81d05a0b, 0x00006110, 0x81c00000, 0x0000c988, 0x40000519, 0x00001583,
- 0x81185b0b, 0x00006110, 0x81000000, 0x0000c988, 0x00103806, 0x0000e986,
- 0x00001eab, 0x0000f400, 0x04102006, 0x0000e987, 0x02c03006, 0x00001900,
- 0x1e28250b, 0x0000f404, 0x01c0580b, 0x00006100, 0x01809a00, 0x00004980,
- 0x2a00500a, 0x00001900, 0x00000406, 0x00009583, 0x81ff1fe3, 0x00001908,
- 0x8a003a07, 0x0000a088, 0x00001e31, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x01c03c07, 0x00001281, 0x01c01407, 0x00001181, 0x00000c07, 0x00009583,
- 0x00001e36, 0x0000f01b, 0x0e75a800, 0x00007900, 0x00051994, 0x00008980,
- 0x1e362158, 0x00007500, 0x01c0370b, 0x0000801b, 0x0e00500a, 0x00001900,
- 0x30005aa9, 0x00007902, 0x02800000, 0x00000000, 0x303834a9, 0x0000a000,
- 0x88c17000, 0x00001980, 0xffffffff, 0x00007f86, 0x43785e0b, 0x00008120,
- 0x03f8370a, 0x0000802c, 0x1e4021e0, 0x0000f500, 0x43787b0a, 0x0000001c,
- 0x02b85f18, 0x00008018, 0xb3000223, 0x0000f88b, 0xe0c00000, 0x00000f86,
- 0x1e46250b, 0x00007404, 0x01c0580b, 0x00006100, 0x01809900, 0x00004980,
- 0x2a00500a, 0x00001900, 0x00000406, 0x00009583, 0x81ff1fe3, 0x00001908,
- 0x8a003a07, 0x0000a088, 0x00001e4f, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x01c03c07, 0x00001281, 0x01c01407, 0x00001181, 0x00000c07, 0x00009583,
- 0x00001e54, 0x0000701b, 0x0380370a, 0x0000001b, 0x1e542158, 0x0000f500,
- 0x0e77d800, 0x00007900, 0x00051994, 0x00008980, 0x0e385f0e, 0x0000001c,
- 0x30383aa9, 0x0000a080, 0x88c17800, 0x00009980, 0xffffffff, 0x00007f97,
- 0x83603c07, 0x00006101, 0xf8c08407, 0x0000c081, 0x1e5a223d, 0x0000f004,
- 0xb3000223, 0x0000f88b, 0xe0c00000, 0x00000f86, 0x1e60250b, 0x0000f404,
- 0x01809800, 0x00007900, 0x00001000, 0x00000980, 0x01f8570b, 0x00008a20,
- 0x00000406, 0x00009583, 0x81ff1fe3, 0x00001908, 0x8a003a07, 0x0000a088,
- 0x00001e69, 0x00007010, 0xffffffff, 0x00007f97, 0x01c03c07, 0x00001281,
- 0x01c01407, 0x00001181, 0x00000c07, 0x00009583, 0x00001e6e, 0x0000701b,
- 0x0e54d800, 0x0000f900, 0x00051994, 0x00008980, 0x1e6e2158, 0x0000f500,
- 0x01c0370b, 0x0000801b, 0x0e00500a, 0x00001900, 0x3000c2a9, 0x0000f902,
- 0x03c00000, 0x00000000, 0x300074a9, 0x00007902, 0x02c00000, 0x00008000,
- 0x303856a9, 0x00002000, 0x307838a9, 0x0000a080, 0x8360c418, 0x00006101,
- 0x0028780c, 0x0000e002, 0x20b0780c, 0x0000e002, 0x8628c00d, 0x00003003,
- 0x3040f2a9, 0x00007902, 0x07400000, 0x00000000, 0x61a0700c, 0x00006000,
- 0xa6b0c00d, 0x00003003, 0xc000070f, 0x00006583, 0x71f0580c, 0x00002000,
- 0x8220500c, 0x0000e000, 0xc738c00d, 0x0000b003, 0x81f71ee3, 0x00006110,
- 0x9270380c, 0x0000e000, 0xa2a0f00c, 0x0000e000, 0xe7a0780d, 0x0000b003,
- 0x88c18000, 0x00006180, 0xb2f0e80c, 0x00006000, 0xc328700c, 0x00006800,
- 0xd378580c, 0x0000e800, 0x3040e6a9, 0x00007902, 0x06c00000, 0x00000000,
- 0xe3a8500c, 0x0000e800, 0xf3f8380c, 0x0000e800, 0x0428f00c, 0x0000e801,
- 0x81f8df1b, 0x00006101, 0x1478e80c, 0x0000e001, 0x24a0e00c, 0x0000e801,
- 0x4538e00c, 0x0000e801, 0x3080d0a9, 0x00007902, 0x06400000, 0x00008000,
- 0x5560d80c, 0x00006801, 0x307834a9, 0x00002000, 0x81a8e51c, 0x0000e101,
- 0x65a8d80c, 0x0000e003, 0xc1b0e61c, 0x00006101, 0x8630d80c, 0x0000e003,
- 0xc1e0d41a, 0x0000e101, 0xa6b8d80c, 0x00006003, 0xc720d00c, 0x00006803,
- 0x97603607, 0x0000a810, 0x01e8dd1b, 0x0000e101, 0xe7a8d00c, 0x00006003,
- 0x1ea22f3a, 0x0000f500, 0x41c0d11b, 0x00008019, 0x41a0e41c, 0x00009901,
- 0xc000071c, 0x00001583, 0x0018d006, 0x00006196, 0x00000006, 0x0000358e,
- 0x0000041b, 0x00009583, 0x81000000, 0x0000e188, 0x8110ca19, 0x00004910,
- 0xffffffff, 0x00007f86, 0x04102006, 0x0000e987, 0x02c03006, 0x00001900,
- 0x1eac2f2a, 0x00007100, 0xb3000223, 0x0000f88b, 0xe0c00000, 0x00000f86,
- 0x1eaf2222, 0x00007100, 0x01040405, 0x00001283, 0x1eb13cd7, 0x0000f113,
- 0x01400000, 0x000000fc, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x04182005, 0x0000e187, 0xc000180f, 0x00003006, 0x03009000, 0x0000f900,
- 0x0000c100, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0x700708ec, 0x0000d680, 0x00382802, 0x00000000, 0x03801002, 0x00001900,
- 0x00981eec, 0x0000df80, 0x00004800, 0x00000084, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0434c800, 0x00007900, 0x00051992, 0x00008980,
- 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030, 0x04804f08, 0x0000003c,
- 0x1ecc20b1, 0x00007500, 0x03e84909, 0x0000803c, 0x81c02800, 0x00001980,
- 0x82c054ec, 0x00007902, 0x01c00000, 0x00000604, 0x1bb5b800, 0x00007900,
- 0x00051992, 0x00008980, 0x1c404008, 0x00009900, 0xffffffff, 0x00007f86,
- 0x0180500a, 0x0000e100, 0x00204807, 0x0000e086, 0x82284807, 0x00006086,
- 0x0000200a, 0x00003586, 0x0428480a, 0x0000e087, 0x04184807, 0x0000b187,
- 0x00001ee6, 0x0000f400, 0x1bc03006, 0x0000e100, 0x8620480a, 0x00006087,
- 0x1b783f0a, 0x00008700, 0x0011180a, 0x00006186, 0x0020480d, 0x0000b086,
- 0x0428480a, 0x0000e087, 0x8228480d, 0x00003086, 0x1c404008, 0x0000e100,
- 0x8620480a, 0x00006087, 0x1bb5b800, 0x00007900, 0x00051992, 0x00008980,
- 0x1bf86f0c, 0x00000700, 0x1b40500a, 0x00001900, 0x1eaf2178, 0x00007100,
- 0x01800000, 0x00006180, 0x0f002405, 0x0000e004, 0x00001405, 0x0000e583,
- 0x0f002406, 0x00002004, 0xc1982304, 0x00009900, 0x00002c05, 0x00009583,
- 0x00000c05, 0x00001583, 0x00001ef9, 0x00007008, 0x00001ef1, 0x0000f008,
- 0x00001f05, 0x0000f010, 0x01400000, 0x00001980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04182005, 0x00006987, 0x700708ec, 0x0000d680,
- 0x00382802, 0x00000000, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0417e800, 0x00007900,
- 0x00051996, 0x00000980, 0x0450f800, 0x0000f900, 0x00271992, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x1f0520b1, 0x0000f500, 0x04b83702, 0x0000803c, 0x81c0e000, 0x00009980,
- 0x3bc00040, 0x00006180, 0x08001aae, 0x00006106, 0x39d8f000, 0x0000f900,
- 0x00051996, 0x00000980, 0x3b50f800, 0x0000f900, 0x00271992, 0x00008980,
- 0x3b800000, 0x00006180, 0xebb00600, 0x0000c901, 0xabb81400, 0x00008a3c,
- 0x1ef120de, 0x0000f500, 0x2b783702, 0x00000a30, 0xbbc0e000, 0x00009980,
- 0x01400000, 0x00006180, 0x05004008, 0x0000c900, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x05404809, 0x00006100, 0x04182005, 0x0000e187,
- 0x01000000, 0x0000e180, 0x0580500a, 0x00004900, 0x700708ec, 0x0000d680,
- 0x00382802, 0x00000000, 0x05f8670b, 0x00008120, 0x0678770d, 0x00000128,
- 0x06f8470f, 0x00000100, 0x01f8670b, 0x00000018, 0x1f2222e6, 0x0000f404,
- 0x01386c0e, 0x00008014, 0x02384f0a, 0x0000803c, 0x1f233cd7, 0x00007100,
- 0x04800702, 0x0000018c, 0x04009000, 0x00007900, 0x0000c1c0, 0x00000980,
- 0x04400000, 0x0000f900, 0x00010000, 0x00000980, 0xc0001813, 0x00006806,
- 0x009826ec, 0x00005f80, 0x00004800, 0x00000084, 0x01400000, 0x000081c0,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x05004008, 0x0000e100,
- 0x04182005, 0x0000e187, 0x700708ec, 0x0000d680, 0x00382802, 0x00000000,
- 0x05785709, 0x00000118, 0x05f8670b, 0x00008120, 0x0678770d, 0x00000128,
- 0x06f8470f, 0x00008108, 0x04607709, 0x00000100, 0x1f3a23ac, 0x0000f500,
- 0x03f86f0a, 0x00008024, 0x0280600c, 0x00009900, 0x1f3b3cd7, 0x00007100,
- 0x04800702, 0x0000018c, 0x04009000, 0x00007900, 0x0000c2c0, 0x00000980,
- 0x04400000, 0x0000f900, 0x00010000, 0x00000980, 0xc0001813, 0x00006806,
- 0x009826ec, 0x00005f80, 0x00004800, 0x00000084, 0x01400000, 0x000081c0,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x05004008, 0x0000e100,
- 0x04182005, 0x0000e187, 0x700708ec, 0x0000d680, 0x00382802, 0x00000000,
- 0x05785709, 0x00000118, 0x05f8670b, 0x00008120, 0x0678770d, 0x00000128,
- 0x06f8470f, 0x0000010c, 0x04b85709, 0x00000104, 0x1f522248, 0x0000f500,
- 0x04385c0e, 0x0000803c, 0x02c0680d, 0x00001900, 0x04800702, 0x0000018c,
- 0x04009000, 0x00007900, 0x0000c200, 0x00000980, 0x04400000, 0x0000f900,
+ 0x01000800, 0x00001991, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
+ 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x81800000, 0x000080e2,
+ 0x0140d01a, 0x00009900, 0xda808618, 0x0000c495, 0xa8242f2f, 0x00008715,
+ 0xda94302e, 0x00004411, 0x9c200694, 0x00008795, 0xda800e94, 0x00004495,
+ 0xa8214797, 0x0000076d, 0xda84bf21, 0x0000c473, 0xb0202598, 0x00008795,
+ 0xdb001598, 0x00004495, 0xb0200399, 0x00008795, 0x00060718, 0x0000788c,
+ 0x00000000, 0x00000000, 0xb700d096, 0x00007813, 0x00c00001, 0x00008060,
+ 0x03614797, 0x0000c50a, 0x83601431, 0x00000289, 0x00000869, 0x00006c01,
+ 0xda601694, 0x00004497, 0xa6202694, 0x00000795, 0xd8404694, 0x0000c98f,
+ 0xa820478c, 0x00000795, 0x20000869, 0x0000ec01, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x00000001, 0x00007280, 0x01801000, 0x00001981,
+ 0x00000001, 0x00007480, 0x2000086e, 0x0000e402, 0xa0000814, 0x0000b402,
+ 0x01800000, 0x00009981, 0x1a38d71a, 0x00000200, 0x00014097, 0x00006502,
+ 0x06800000, 0x00000980, 0x0000381a, 0x0000e302, 0x60000816, 0x0000b403,
+ 0x82c048ec, 0x0000f902, 0x01c00000, 0x00000604, 0x05d00017, 0x00009380,
+ 0x00001eed, 0x00007411, 0xffffffff, 0x00007f86, 0x0a804809, 0x00001900,
+ 0x41000d98, 0x00009283, 0x7000186c, 0x00006414, 0x8000086e, 0x00003412,
+ 0x0c401031, 0x0000e390, 0x0a000897, 0x00000090, 0x1c400897, 0x00009090,
+ 0x01001431, 0x00009283, 0x00001f02, 0x0000700b, 0x05eff817, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0xc1060718, 0x00009283, 0x00002820, 0x00009502,
+ 0x01040431, 0x00009283, 0x00001f02, 0x00007008, 0x00001f02, 0x00007010,
+ 0x00001efe, 0x0000f008, 0x82c038ec, 0x00007902, 0x01400000, 0x00008604,
+ 0xa0000814, 0x0000e402, 0x0000086e, 0x00003402, 0x00001f02, 0x0000f401,
+ 0xffffffff, 0x00007f86, 0x0a803807, 0x00001900, 0x40001015, 0x0000e402,
+ 0xa0000814, 0x0000b402, 0x01805800, 0x00006181, 0x20001015, 0x00006403,
+ 0x00000001, 0x00007480, 0x41001517, 0x00001283, 0x02000800, 0x00001991,
+ 0x1a400000, 0x00006180, 0xe0001814, 0x0000e402, 0x01018419, 0x0000e283,
+ 0x9a519232, 0x00008900, 0xa0000814, 0x00006412, 0x40001015, 0x00003412,
+ 0x33c18869, 0x00006001, 0xc0001814, 0x00003413, 0x43c18869, 0x0000e001,
+ 0x20001015, 0x0000b413, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
+ 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x00000001, 0x0000f490,
+ 0x1a38ff20, 0x0000062c, 0x01002000, 0x00006191, 0x1a81502a, 0x0000c900,
+ 0x0000d020, 0x00001502, 0x01000000, 0x0000e191, 0x8000086d, 0x00006412,
+ 0x6000086d, 0x0000ec13, 0x00001f1d, 0x0000f008, 0x00000001, 0x0000f080,
+ 0x01001431, 0x00009283, 0x82c038ec, 0x0000f90a, 0x01000000, 0x00000604,
+ 0x0100282a, 0x00001008, 0x00001f28, 0x0000f010, 0xffffffff, 0x00007f86,
+ 0x00002007, 0x00001502, 0x01001000, 0x0000e1e1, 0x2000086e, 0x0000e462,
+ 0x00000001, 0x000070e1, 0x00001f33, 0x00007000, 0x01040431, 0x00009283,
+ 0x82c028ec, 0x00007912, 0x01000000, 0x00000604, 0x81371ee3, 0x00001910,
+ 0x00001f35, 0x0000f008, 0xffffffff, 0x00007f86, 0x7d382004, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x0100202a, 0x00001000, 0x00002005, 0x00009502,
+ 0x00001f35, 0x00007063, 0x00000001, 0x00007280, 0x01000800, 0x00009981,
+ 0x00000001, 0x00007480, 0x40001015, 0x0000e402, 0xa0000814, 0x0000b402,
+ 0x01001800, 0x00006181, 0x20001015, 0x00006403, 0x05000000, 0x000081d4,
+ 0x05800000, 0x000081dc, 0x04384f08, 0x00000104, 0x04b85f0a, 0x0000010c,
+ 0x01c00000, 0x000080d8, 0x87c00000, 0x00001980, 0xf4a02409, 0x0000c389,
+ 0x00202409, 0x00000098, 0xf7801409, 0x0000c489, 0x10201409, 0x0000879f,
+ 0xe9400c09, 0x00004689, 0x4a203409, 0x00000888, 0x0f203409, 0x000045a8,
+ 0x8ce03c09, 0x00000d8f, 0x0c80021f, 0x0000788a, 0x11000000, 0x00009082,
+ 0x1f4e266c, 0x0000f404, 0x2a409800, 0x00007900, 0x00001000, 0x00000980,
+ 0x2ab8570b, 0x00000a2c, 0x00000407, 0x0000e583, 0x811562ac, 0x00000900,
+ 0x867f1fe3, 0x00001908, 0x8a00ca19, 0x0000a088, 0x00001f58, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x06403c19, 0x00001281, 0x06401419, 0x00001181,
+ 0x00000c19, 0x00009583, 0x00001f5d, 0x0000f01b, 0x03385f0a, 0x00008324,
+ 0x1f5d22b9, 0x00007500, 0x1478d800, 0x0000f900, 0x00051992, 0x00008980,
+ 0x14003f0c, 0x00008323, 0x30405a04, 0x00007902, 0x02800000, 0x00000000,
+ 0x30411c04, 0x00007902, 0x08800000, 0x00000000, 0x30007e04, 0x0000f902,
+ 0x03800000, 0x00008000, 0x30790604, 0x0000a000, 0x81b8520b, 0x00008218,
+ 0x01816923, 0x000081bd, 0x0600580b, 0x0000e100, 0x04207806, 0x0000e001,
+ 0x14687806, 0x00006001, 0x04390007, 0x0000b001, 0x3080f004, 0x00007902,
+ 0x07400000, 0x00000000, 0x06c11823, 0x0000e100, 0x24b07806, 0x0000e003,
+ 0x06811022, 0x00006100, 0x45387806, 0x00006003, 0x07013026, 0x00006100,
+ 0x65a07006, 0x0000e003, 0xc1f05e0b, 0x0000e101, 0x86287006, 0x00006003,
+ 0x30786804, 0x00002080, 0x1f7922f3, 0x0000f500, 0x0640f01e, 0x00006100,
+ 0xa6b07006, 0x00006003, 0x0300e81d, 0x00009900, 0x02880000, 0x0000e180,
+ 0x02f07e0f, 0x0000c901, 0x1f7e325c, 0x0000f500, 0x42f0750f, 0x0000802d,
+ 0x42b8740e, 0x0000802d, 0x0000040f, 0x00009583, 0x81d06a0d, 0x00006110,
+ 0x81c00000, 0x0000c988, 0x4000050f, 0x00009583, 0x81186b0d, 0x00006110,
+ 0x81000000, 0x0000c988, 0x0010380a, 0x0000e986, 0x00002011, 0x0000f400,
+ 0x0410200a, 0x0000e987, 0x0340500a, 0x00001900, 0x1f8b266c, 0x0000f404,
+ 0x2af85f0a, 0x00000a28, 0x2a409a00, 0x00001980, 0x00000407, 0x0000e583,
+ 0x811562ac, 0x00000900, 0x867f1fe3, 0x00001908, 0x8a00ca19, 0x0000a088,
+ 0x00001f95, 0x0000f010, 0xffffffff, 0x00007f97, 0x06403c19, 0x00001281,
+ 0x06401419, 0x00001181, 0x00000c19, 0x00009583, 0x00001f9a, 0x0000701b,
+ 0x03385f0a, 0x00008324, 0x1f9a22b9, 0x0000f500, 0x1475a800, 0x0000f900,
+ 0x00051994, 0x00008980, 0x14003f0c, 0x00008323, 0x30007204, 0x0000f902,
+ 0x03400000, 0x00008000, 0x30385c04, 0x0000a000, 0x87c17000, 0x00001980,
+ 0xffffffff, 0x00007f86, 0x41f8760e, 0x0000803c, 0x1fa32341, 0x0000f500,
+ 0x03986f0d, 0x0000001d, 0x03387f0e, 0x00000034, 0x0c80021f, 0x0000788a,
+ 0x11000000, 0x00009082, 0x1fa8266c, 0x00007404, 0x2af85f0a, 0x00000a28,
+ 0x2a409900, 0x00001980, 0x00000407, 0x0000e583, 0x811562ac, 0x00000900,
+ 0x867f1fe3, 0x00001908, 0x8a00ca19, 0x0000a088, 0x00001fb2, 0x0000f010,
+ 0xffffffff, 0x00007f97, 0x06403c19, 0x00001281, 0x06401419, 0x00001181,
+ 0x00000c19, 0x00009583, 0x00001fb7, 0x0000701b, 0x03785f0a, 0x00000324,
+ 0x1fb722b9, 0x0000f500, 0x1477d800, 0x0000f900, 0x00051994, 0x00008980,
+ 0x14003f0d, 0x00000323, 0x30385a04, 0x00002080, 0x87c17800, 0x00009980,
+ 0xffffffff, 0x00007f97, 0x81e05c0b, 0x00006101, 0xf8c0840b, 0x0000c081,
+ 0x1fbd239e, 0x0000f004, 0x0c80021f, 0x0000788a, 0x11000000, 0x00009082,
+ 0x1fc3266c, 0x0000f404, 0x2a409800, 0x00007900, 0x00001000, 0x00000980,
+ 0x2ab8570b, 0x00000a2c, 0x00000407, 0x0000e583, 0x811562ac, 0x00000900,
+ 0x867f1fe3, 0x00001908, 0x8a00ca19, 0x0000a088, 0x00001fcd, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x06403c19, 0x00001281, 0x06401419, 0x00001181,
+ 0x00000c19, 0x00009583, 0x00001fd3, 0x0000f01b, 0x03003f0a, 0x00008323,
+ 0x14385f0c, 0x00008028, 0x1fd322b9, 0x00007500, 0x1454d800, 0x00007900,
+ 0x00051994, 0x00008980, 0x0e40500a, 0x00009900, 0x3000f204, 0x00007902,
+ 0x07400000, 0x00000000, 0x3000e404, 0x0000f902, 0x06c00000, 0x00000000,
+ 0x3038d604, 0x00002000, 0x3078c804, 0x00002080, 0x81e0f41e, 0x00006101,
+ 0x0028e806, 0x0000e002, 0x20b0e806, 0x0000e002, 0x8628f007, 0x00003003,
+ 0x3040c204, 0x0000f902, 0x02c00000, 0x00008000, 0x61a0e006, 0x00006000,
+ 0xa6b0f007, 0x00003003, 0xc000071d, 0x00006583, 0x71f0d806, 0x0000a000,
+ 0x8220d006, 0x00006000, 0xc738f007, 0x0000b003, 0x86771ee3, 0x00006110,
+ 0x9270c806, 0x0000e000, 0xa2a0c006, 0x0000e000, 0xe7a0e807, 0x0000b003,
+ 0x87c18000, 0x00006180, 0xb2f05806, 0x0000e000, 0xc328e006, 0x00006800,
+ 0xd378d806, 0x00006800, 0x30407e04, 0x00007902, 0x03800000, 0x00008000,
+ 0xe3a8d006, 0x00006800, 0xf3f8c806, 0x0000e800, 0x0428c006, 0x0000e801,
+ 0x02e8750e, 0x0000e101, 0x14785806, 0x00006001, 0x42f0760e, 0x00006101,
+ 0x24a07806, 0x0000e001, 0x82f8770e, 0x00006101, 0x45387806, 0x0000e001,
+ 0x30806804, 0x0000f902, 0x03000000, 0x00000000, 0x55607006, 0x0000e801,
+ 0x30785404, 0x0000a000, 0x82a87d0f, 0x0000e101, 0x65a87006, 0x00006003,
+ 0xc2b07e0f, 0x00006101, 0x86307006, 0x00006003, 0xc2e06c0d, 0x0000e101,
+ 0xa6b87006, 0x0000e003, 0xc7206806, 0x00006803, 0x97605619, 0x0000a810,
+ 0x2008325c, 0x00007500, 0x02a86d0d, 0x00006101, 0xe7a86806, 0x00006003,
+ 0x42a07c0f, 0x00009901, 0xc000070f, 0x00009583, 0x81d86b0d, 0x00006110,
+ 0x81c00000, 0x0000c988, 0x0000040e, 0x00001583, 0x8110620c, 0x00006110,
+ 0x81000000, 0x0000c988, 0x0010380a, 0x0000e986, 0x0410200a, 0x0000e987,
+ 0x0340500a, 0x00001900, 0x2012324f, 0x0000f100, 0x0c80021f, 0x0000788a,
+ 0x11000000, 0x00009082, 0x20152383, 0x00007100, 0x01040405, 0x00001283,
+ 0x20173fff, 0x00007113, 0x01400000, 0x000000fc, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x04182005, 0x0000e187, 0xc000180f, 0x00003006,
+ 0x03009000, 0x0000f900, 0x0000c100, 0x00000980, 0x03400000, 0x00007900,
+ 0x00010000, 0x00000980, 0x700708ec, 0x0000d680, 0x00382802, 0x00000000,
+ 0x03801002, 0x00001900, 0x00981eec, 0x0000df80, 0x00004800, 0x00000084,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0434c800, 0x00007900,
+ 0x00051992, 0x00008980, 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c,
+ 0x04804f08, 0x0000801c, 0x20322213, 0x00007500, 0x01e84909, 0x0000801c,
+ 0x81402800, 0x00009980, 0x82c054ec, 0x00007902, 0x01c00000, 0x00000604,
+ 0x1b75b800, 0x00007900, 0x00051992, 0x00008980, 0x1c004008, 0x00001900,
+ 0xffffffff, 0x00007f86, 0x0180500a, 0x0000e100, 0x00204807, 0x0000e086,
+ 0x82284807, 0x00006086, 0x0000200a, 0x00003586, 0x0428480a, 0x0000e087,
+ 0x04184807, 0x0000b187, 0x0000204c, 0x00007400, 0x1b803006, 0x00006100,
+ 0x8620480a, 0x00006087, 0x1b383f0a, 0x0000863c, 0x0010f80a, 0x00006186,
+ 0x00204807, 0x0000b086, 0x0428480a, 0x0000e087, 0x82284807, 0x00003086,
+ 0x1c004008, 0x00006100, 0x8620480a, 0x00006087, 0x1b75b800, 0x00007900,
+ 0x00051992, 0x00008980, 0x1bb83f06, 0x0000063c, 0x1b00500a, 0x00009900,
+ 0x201522d9, 0x0000f100, 0x01800000, 0x00006180, 0x0f002405, 0x0000e004,
+ 0x00001405, 0x0000e583, 0x0f002406, 0x00002004, 0xc1982304, 0x00009900,
+ 0x00002c05, 0x00009583, 0x00000c05, 0x00001583, 0x0000205f, 0x0000f008,
+ 0x00002057, 0x00007008, 0x0000206b, 0x00007010, 0x01400000, 0x00001980,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04182005, 0x00006987,
+ 0x700708ec, 0x0000d680, 0x00382802, 0x00000000, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0417e800, 0x00007900, 0x00051996, 0x00000980, 0x0450f800, 0x0000f900,
+ 0x00271992, 0x00008980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x82f81400, 0x0000803c, 0x206b2213, 0x00007500, 0x04b83702, 0x0000001c,
+ 0x8140e000, 0x00001980, 0x3bc00040, 0x00006180, 0x08001aae, 0x00006106,
+ 0x39d8f000, 0x0000f900, 0x00051996, 0x00000980, 0x3b50f800, 0x0000f900,
+ 0x00271992, 0x00008980, 0x3b800000, 0x00006180, 0xebb00600, 0x0000c901,
+ 0xabb81400, 0x00008a3c, 0x20572240, 0x00007500, 0x2b783702, 0x00000a30,
+ 0xbbc0e000, 0x00009980, 0x01400000, 0x000081c0, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x05004008, 0x0000e100, 0x04182005, 0x0000e187,
+ 0x700708ec, 0x0000d680, 0x00382802, 0x00000000, 0x05785709, 0x00000118,
+ 0x05f8670b, 0x00008120, 0x0678770d, 0x00000128, 0x06f8470f, 0x00008108,
+ 0x04607709, 0x00000100, 0x20862447, 0x0000f404, 0x03f86f0a, 0x00000020,
+ 0x0280600c, 0x00009900, 0x20873fff, 0x0000f100, 0x04800702, 0x0000018c,
+ 0x04009000, 0x00007900, 0x0000c1c0, 0x00000980, 0x04400000, 0x0000f900,
0x00010000, 0x00000980, 0xc0001813, 0x00006806, 0x009826ec, 0x00005f80,
- 0x00004800, 0x00000084, 0x024728e5, 0x0000e100, 0x0fc00404, 0x0000e004,
- 0xc20004e5, 0x000000a8, 0x00001c04, 0x00001583, 0x00001c04, 0x00001583,
- 0x00000c04, 0x00009583, 0x00001f7d, 0x0000f008, 0x00001f67, 0x00007038,
- 0x00001f70, 0x00007008, 0x13201b08, 0x000044a8, 0x20402308, 0x000087b7,
- 0x26403308, 0x00007892, 0x81000000, 0x00008f8c, 0x00003404, 0x00001583,
- 0x00003c04, 0x00009583, 0xffffffff, 0x00007f86, 0x00001f74, 0x0000f008,
- 0x00001f7d, 0x0000f008, 0x13201b08, 0x000044a8, 0x20402308, 0x000087b7,
- 0x26403308, 0x00007892, 0x81000000, 0x00008f8c, 0x00001f8a, 0x00007400,
- 0x08000c04, 0x0000e080, 0x08001a09, 0x0000b106, 0xc2001e04, 0x0000802a,
- 0x08000c04, 0x0000e080, 0x08001a09, 0x0000b106, 0xc2281e04, 0x00000028,
- 0x0d001c04, 0x00006806, 0x82202404, 0x00009900, 0x13201b08, 0x000044a8,
- 0x20402308, 0x000087b7, 0x26403308, 0x00007892, 0x81000000, 0x00008f8c,
- 0x82981b03, 0x00006100, 0x08000c04, 0x0000e080, 0xc2283e04, 0x00008028,
- 0x01030400, 0x00001281, 0x00010404, 0x00009583, 0x08003a09, 0x0000690e,
- 0x00001f88, 0x00007009, 0x00020404, 0x00009583, 0x08001a09, 0x0000610e,
- 0x08002c04, 0x0000b088, 0xc2202404, 0x00009908, 0x0d003c04, 0x0000e806,
- 0x82202404, 0x00009900, 0x0d001c04, 0x00006806, 0xc2602404, 0x00009900,
- 0x13201b08, 0x000044a8, 0x20402308, 0x000087b7, 0x26403308, 0x00007892,
- 0x01000001, 0x00008080, 0xffffffff, 0x00007f86, 0xc0002308, 0x00009582,
- 0x01000000, 0x00009989, 0x00001f9b, 0x0000f009, 0xc0003308, 0x00001582,
- 0x01001000, 0x00001989, 0x00001f9b, 0x0000f009, 0xc0001b08, 0x00001582,
- 0x0107f800, 0x00009991, 0x01000800, 0x00001989, 0x00001f9b, 0x00007010,
- 0x9d40fcec, 0x0000f902, 0x07800000, 0x00000000, 0x9d40eeec, 0x0000f902,
- 0x07000000, 0x00008000, 0x9d80d8ec, 0x0000f902, 0x06800000, 0x00008000,
- 0x9d80caec, 0x0000f902, 0x06000000, 0x00000000, 0x9d80bcec, 0x00007902,
- 0x05800000, 0x00008000, 0x9d80aeec, 0x00007902, 0x05000000, 0x00000000,
- 0x9dc098ec, 0x0000f902, 0x04400000, 0x00000000, 0x9dc082ec, 0x00007902,
- 0x03c00000, 0x00000000, 0x9dc06cec, 0x00007902, 0x03000000, 0x00000000,
- 0x00000c04, 0x00004088, 0x00000c04, 0x000000a8, 0x0be01404, 0x00004492,
- 0x72400d0a, 0x00008890, 0x0f000f0a, 0x00007896, 0x01000001, 0x00000000,
- 0x0fc0150a, 0x0000f896, 0x01000001, 0x00000000, 0x1080170a, 0x00007896,
- 0x01000001, 0x00000000, 0x1140250a, 0x00007896, 0x01000001, 0x00000000,
- 0x1200270a, 0x00007896, 0x01000001, 0x00000000, 0x12c0450a, 0x0000f896,
- 0x01000001, 0x00000000, 0x1380470a, 0x00007896, 0x01000001, 0x00000000,
- 0x0a20850a, 0x00004496, 0xaa40870a, 0x00000890, 0x1301050a, 0x0000c596,
- 0x09e1070a, 0x0000898e, 0xfac00d0a, 0x00007897, 0x00c00001, 0x00008000,
- 0xfb800f0a, 0x0000f897, 0x00c00001, 0x00008000, 0xfc40150a, 0x0000f897,
- 0x00c00001, 0x00008000, 0xfd00170a, 0x00007897, 0x00c00001, 0x00008000,
- 0xfdc0250a, 0x0000f897, 0x00c00001, 0x00008000, 0xfe80270a, 0x0000f897,
- 0x00c00001, 0x00008000, 0xff40450a, 0x0000f897, 0x00c00001, 0x00008000,
- 0x0000470a, 0x00007896, 0x01000001, 0x00000000, 0x0060850a, 0x0000c496,
- 0x0e40870a, 0x00008890, 0x06c1050a, 0x00004596, 0x08a1070a, 0x0000838d,
- 0x04800d0a, 0x0000f896, 0x01000001, 0x00000000, 0x05400f0a, 0x0000f896,
- 0x01000001, 0x00000000, 0x0600150a, 0x0000f896, 0x01000001, 0x00000000,
- 0x06c0170a, 0x00007896, 0x01000001, 0x00000000, 0x0780250a, 0x0000f896,
- 0x01000001, 0x00000000, 0x0840270a, 0x00007896, 0x01000001, 0x00000000,
- 0x0900450a, 0x0000f896, 0x01000001, 0x00000000, 0x09c0470a, 0x00007896,
- 0x01000001, 0x00000000, 0x0540850a, 0x00004496, 0x5c40870a, 0x00000890,
- 0x0921050a, 0x0000c596, 0x8761070a, 0x0000848e, 0x00001fc5, 0x0000f400,
- 0x80172a1f, 0x00009502, 0x87c00a1f, 0x00001090, 0x00001fc7, 0x00007400,
- 0x80172a1c, 0x00009502, 0x87000a1c, 0x00001090, 0x00001fc9, 0x0000f400,
- 0xc0172b1f, 0x00009502, 0xc7c00b1f, 0x00001090, 0x00001fcb, 0x00007400,
- 0xc0172b1c, 0x00009502, 0xc7000b1c, 0x00001090, 0x00001fcd, 0x00007400,
- 0x80172a1e, 0x00001502, 0x87800a1e, 0x00001090, 0x00001fcf, 0x0000f400,
- 0x80172a1b, 0x00001502, 0x86c00a1b, 0x00001090, 0x00001fd1, 0x0000f400,
- 0xc0172b1e, 0x00001502, 0xc7800b1e, 0x00001090, 0x00001fd3, 0x00007400,
- 0xc0172b1b, 0x00001502, 0xc6c00b1b, 0x00001090, 0x80172a1d, 0x00001502,
- 0xc1c0870a, 0x0000e283, 0x87400a1d, 0x00008090, 0x00002009, 0x0000f00b,
- 0x80172a1a, 0x00009502, 0x86800a1a, 0x00001090, 0x4101050a, 0x00001283,
- 0x0000200d, 0x0000700b, 0xc0172b1d, 0x00001502, 0xc7400b1d, 0x00001090,
- 0xc1c1070a, 0x00001283, 0x0000205f, 0x0000f00b, 0x0000205f, 0x0000f400,
- 0xc0172b1a, 0x00009502, 0xc6800b1a, 0x00001090, 0x00001fd9, 0x00007400,
- 0x80172a19, 0x00009502, 0x86400a19, 0x00001090, 0x00001fdb, 0x0000f400,
- 0x80172a16, 0x00009502, 0x85800a16, 0x00001090, 0x00001fdd, 0x0000f400,
- 0xc0172b19, 0x00009502, 0xc6400b19, 0x00001090, 0x00001fdf, 0x00007400,
- 0xc0172b16, 0x00009502, 0xc5800b16, 0x00001090, 0x00001fe1, 0x0000f400,
- 0x80172a18, 0x00001502, 0x86000a18, 0x00001090, 0x00001fe3, 0x00007400,
- 0x80172a15, 0x00009502, 0x85400a15, 0x00001090, 0x00001fe5, 0x00007400,
- 0xc0172b18, 0x00001502, 0xc6000b18, 0x00001090, 0x00001fe7, 0x0000f400,
- 0xc0172b15, 0x00009502, 0xc5400b15, 0x00001090, 0x80172a17, 0x00001502,
- 0xc1c0870a, 0x0000e283, 0x85c00a17, 0x00008090, 0x00002030, 0x0000f00b,
- 0x80172a14, 0x00001502, 0x85000a14, 0x00001090, 0x4101050a, 0x00001283,
- 0x00002034, 0x0000700b, 0xc0172b17, 0x00001502, 0xc5c00b17, 0x00001090,
- 0xc1c1070a, 0x00001283, 0x0000205f, 0x0000f00b, 0x0000205f, 0x0000f400,
- 0xc0172b14, 0x00001502, 0xc5000b14, 0x00001090, 0x00001fb1, 0x0000f400,
- 0x80172a13, 0x00009502, 0x84c00a13, 0x00001090, 0x00001fb3, 0x00007400,
- 0x80172a0f, 0x00001502, 0x83c00a0f, 0x00001090, 0x00001fb5, 0x00007400,
- 0xc0172b13, 0x00009502, 0xc4c00b13, 0x00001090, 0x00001fb7, 0x0000f400,
- 0xc0172b0f, 0x00001502, 0xc3c00b0f, 0x00001090, 0x00001fb9, 0x00007400,
- 0x80172a11, 0x00001502, 0x84400a11, 0x00001090, 0x00001fbb, 0x0000f400,
- 0x80172a0d, 0x00009502, 0x83400a0d, 0x00001090, 0x00001fbd, 0x0000f400,
- 0xc0172b11, 0x00001502, 0xc4400b11, 0x00001090, 0x00001fbf, 0x00007400,
- 0xc0172b0d, 0x00009502, 0xc3400b0d, 0x00001090, 0x80172a10, 0x00009502,
- 0xc1c0870a, 0x0000e283, 0x84000a10, 0x00008090, 0x00002057, 0x0000700b,
- 0x80172a0c, 0x00001502, 0x83000a0c, 0x00001090, 0x4101050a, 0x00001283,
- 0x0000205b, 0x0000700b, 0xc0172b10, 0x00009502, 0xc4000b10, 0x00001090,
- 0xc1c1070a, 0x00001283, 0x0000205f, 0x0000f00b, 0xc0172b0c, 0x00001502,
- 0xc3000b0c, 0x00001090, 0xc0172b09, 0x00001502, 0x9d78fcec, 0x00005000,
- 0x0038f000, 0x00008000, 0x9d78eeec, 0x00005000, 0x0038e000, 0x00000000,
- 0x9db8d8ec, 0x00005000, 0x0038d000, 0x00000000, 0x9db8caec, 0x00005000,
- 0x0038c000, 0x00008000, 0x9db8bcec, 0x0000d000, 0x0038b000, 0x00000000,
- 0x9db8aeec, 0x0000d000, 0x0038a000, 0x00008000, 0x9df898ec, 0x00005000,
- 0x00388800, 0x00008000, 0x00000000, 0x00007488, 0x9df882ec, 0x0000d000,
- 0x00387800, 0x00008000, 0x9df86cec, 0x0000d000, 0x00386000, 0x00008000,
- 0x0f60250a, 0x0000c496, 0xf640270a, 0x00000890, 0x13001309, 0x0000c388,
- 0x00401309, 0x00008098, 0x02600309, 0x00004791, 0x01802309, 0x0000818f,
- 0x24c02309, 0x0000f8aa, 0x69000000, 0x00009084, 0x01400000, 0x00006180,
- 0x04184006, 0x0000e187, 0x01c00020, 0x00006180, 0x00104006, 0x00006186,
- 0x04127000, 0x0000f900, 0x0028e40e, 0x00000980, 0x0460f800, 0x0000f900,
- 0x003ab282, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x82f81400, 0x00008030, 0x000020a4, 0x00007400, 0x04805709, 0x00008014,
- 0x81c1a000, 0x0000e180, 0x03c03006, 0x0000c900, 0xc0000b09, 0x00001582,
- 0x00000000, 0x0000f093, 0x2092165b, 0x00007100, 0xc0003b09, 0x00001582,
- 0x00000000, 0x0000f093, 0x00002096, 0x00007000, 0x208c0748, 0x00007300,
- 0x0120540a, 0x00001900, 0x00000000, 0x00007080, 0x20954087, 0x0000f300,
- 0x0160540a, 0x00009900, 0x20962f01, 0x0000f100, 0x20978408, 0x0000f100,
- 0x00000000, 0x00007080, 0x2099436c, 0x00007100, 0x01c00020, 0x00006180,
+ 0x00004800, 0x00000084, 0x01400000, 0x000081c0, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x05004008, 0x0000e100, 0x04182005, 0x0000e187,
+ 0x700708ec, 0x0000d680, 0x00382802, 0x00000000, 0x05785709, 0x00000118,
+ 0x05f8670b, 0x00008120, 0x0678770d, 0x00000128, 0x06f8470f, 0x00008108,
+ 0x04607709, 0x00000100, 0x209e250d, 0x0000f500, 0x03f86f0a, 0x00008024,
+ 0x0280600c, 0x00009900, 0x209f3fff, 0x0000f100, 0x04800702, 0x0000018c,
+ 0x04009000, 0x00007900, 0x0000c2c0, 0x00000980, 0x04400000, 0x0000f900,
+ 0x00010000, 0x00000980, 0xc0001813, 0x00006806, 0x009826ec, 0x00005f80,
+ 0x00004800, 0x00000084, 0x01400000, 0x000081c0, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x05004008, 0x0000e100, 0x04182005, 0x0000e187,
+ 0x700708ec, 0x0000d680, 0x00382802, 0x00000000, 0x05785709, 0x00000118,
+ 0x05f8670b, 0x00008120, 0x0678770d, 0x00000128, 0x06f8470f, 0x0000010c,
+ 0x04b85709, 0x00000104, 0x20b623a9, 0x00007500, 0x04385c0e, 0x0000803c,
+ 0x02c0680d, 0x00001900, 0x04800702, 0x0000018c, 0x04009000, 0x00007900,
+ 0x0000c200, 0x00000980, 0x04400000, 0x0000f900, 0x00010000, 0x00000980,
+ 0xc0001813, 0x00006806, 0x009826ec, 0x00005f80, 0x00004800, 0x00000084,
+ 0x024728e5, 0x0000e100, 0x0fc00404, 0x0000e004, 0xc20004e5, 0x000000a8,
+ 0x00001c04, 0x00001583, 0x00001c04, 0x00001583, 0x00000c04, 0x00009583,
+ 0x000020e1, 0x0000f008, 0x000020cb, 0x00007038, 0x000020d4, 0x0000f008,
+ 0x3f601b08, 0x000044a8, 0xe8402308, 0x000008b1, 0x7ec03308, 0x00007892,
+ 0xa1000000, 0x00001087, 0x00003404, 0x00001583, 0x00003c04, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x000020d8, 0x0000f008, 0x000020e1, 0x0000f008,
+ 0x3f601b08, 0x000044a8, 0xe8402308, 0x000008b1, 0x7ec03308, 0x00007892,
+ 0xa1000000, 0x00001087, 0x000020ee, 0x0000f400, 0x08000c04, 0x0000e080,
+ 0x08001a09, 0x0000b106, 0xc2001e04, 0x0000802a, 0x08000c04, 0x0000e080,
+ 0x08001a09, 0x0000b106, 0xc2281e04, 0x00000028, 0x0d001c04, 0x00006806,
+ 0x82202404, 0x00009900, 0x3f601b08, 0x000044a8, 0xe8402308, 0x000008b1,
+ 0x7ec03308, 0x00007892, 0xa1000000, 0x00001087, 0x82981b03, 0x00006100,
+ 0x08000c04, 0x0000e080, 0xc2283e04, 0x00008028, 0x01030400, 0x00001281,
+ 0x00010404, 0x00009583, 0x08003a09, 0x0000690e, 0x000020ec, 0x0000f009,
+ 0x00020404, 0x00009583, 0x08001a09, 0x0000610e, 0x08002c04, 0x0000b088,
+ 0xc2202404, 0x00009908, 0x0d003c04, 0x0000e806, 0x82202404, 0x00009900,
+ 0x0d001c04, 0x00006806, 0xc2602404, 0x00009900, 0x3f601b08, 0x000044a8,
+ 0xe8402308, 0x000008b1, 0x7ec03308, 0x00007892, 0x01000001, 0x00008080,
+ 0xffffffff, 0x00007f86, 0xc0002308, 0x00009582, 0x01000000, 0x00009989,
+ 0x000020ff, 0x00007009, 0xc0003308, 0x00001582, 0x01001000, 0x00001989,
+ 0x000020ff, 0x00007009, 0xc0001b08, 0x00001582, 0x0107f800, 0x00009991,
+ 0x01000800, 0x00001989, 0x000020ff, 0x0000f010, 0x9d40fcec, 0x0000f902,
+ 0x07800000, 0x00000000, 0x9d40eeec, 0x0000f902, 0x07000000, 0x00008000,
+ 0x9d80d8ec, 0x0000f902, 0x06800000, 0x00008000, 0x9d80caec, 0x0000f902,
+ 0x06000000, 0x00000000, 0x9d80bcec, 0x00007902, 0x05800000, 0x00008000,
+ 0x9d80aeec, 0x00007902, 0x05000000, 0x00000000, 0x9dc098ec, 0x0000f902,
+ 0x04400000, 0x00000000, 0x9dc082ec, 0x00007902, 0x03c00000, 0x00000000,
+ 0x9dc06cec, 0x00007902, 0x03000000, 0x00000000, 0x00000c04, 0x00004088,
+ 0x00000c04, 0x000000a8, 0x38601404, 0x0000c492, 0x3a400d0a, 0x00008893,
+ 0x68000f0a, 0x0000f896, 0x01000001, 0x00000000, 0x68c0150a, 0x00007896,
+ 0x01000001, 0x00000000, 0x6980170a, 0x0000f896, 0x01000001, 0x00000000,
+ 0x6a40250a, 0x00007896, 0x01000001, 0x00000000, 0x6b00270a, 0x0000f896,
+ 0x01000001, 0x00000000, 0x6bc0450a, 0x00007896, 0x01000001, 0x00000000,
+ 0x6c80470a, 0x0000f896, 0x01000001, 0x00000000, 0x36a0850a, 0x0000c496,
+ 0x7240870a, 0x00000893, 0x1301050a, 0x0000c596, 0x09e1070a, 0x0000898e,
+ 0x53c00d0a, 0x0000f896, 0x01000001, 0x00000000, 0x54800f0a, 0x00007896,
+ 0x01000001, 0x00000000, 0x5540150a, 0x00007896, 0x01000001, 0x00000000,
+ 0x5600170a, 0x00007896, 0x01000001, 0x00000000, 0x56c0250a, 0x0000f896,
+ 0x01000001, 0x00000000, 0x5780270a, 0x00007896, 0x01000001, 0x00000000,
+ 0x5840450a, 0x0000f896, 0x01000001, 0x00000000, 0x5900470a, 0x00007896,
+ 0x01000001, 0x00000000, 0x2ce0850a, 0x0000c496, 0xd640870a, 0x00000892,
+ 0x06c1050a, 0x00004596, 0x08a1070a, 0x0000838d, 0x5d800d0a, 0x0000f896,
+ 0x01000001, 0x00000000, 0x5e400f0a, 0x00007896, 0x01000001, 0x00000000,
+ 0x5f00150a, 0x0000f896, 0x01000001, 0x00000000, 0x5fc0170a, 0x00007896,
+ 0x01000001, 0x00000000, 0x6080250a, 0x00007896, 0x01000001, 0x00000000,
+ 0x6140270a, 0x00007896, 0x01000001, 0x00000000, 0x6200450a, 0x00007896,
+ 0x01000001, 0x00000000, 0x62c0470a, 0x0000f896, 0x01000001, 0x00000000,
+ 0x31c0850a, 0x00004496, 0x2440870a, 0x00000893, 0x0921050a, 0x0000c596,
+ 0x8761070a, 0x0000848e, 0x00002129, 0x0000f400, 0x80172a1f, 0x00009502,
+ 0x87c00a1f, 0x00001090, 0x0000212b, 0x00007400, 0x80172a1c, 0x00009502,
+ 0x87000a1c, 0x00001090, 0x0000212d, 0x00007400, 0xc0172b1f, 0x00009502,
+ 0xc7c00b1f, 0x00001090, 0x0000212f, 0x0000f400, 0xc0172b1c, 0x00009502,
+ 0xc7000b1c, 0x00001090, 0x00002131, 0x0000f400, 0x80172a1e, 0x00001502,
+ 0x87800a1e, 0x00001090, 0x00002133, 0x00007400, 0x80172a1b, 0x00001502,
+ 0x86c00a1b, 0x00001090, 0x00002135, 0x00007400, 0xc0172b1e, 0x00001502,
+ 0xc7800b1e, 0x00001090, 0x00002137, 0x0000f400, 0xc0172b1b, 0x00001502,
+ 0xc6c00b1b, 0x00001090, 0x80172a1d, 0x00001502, 0xc1c0870a, 0x0000e283,
+ 0x87400a1d, 0x00008090, 0x0000216d, 0x0000f00b, 0x80172a1a, 0x00009502,
+ 0x86800a1a, 0x00001090, 0x4101050a, 0x00001283, 0x00002171, 0x0000700b,
+ 0xc0172b1d, 0x00001502, 0xc7400b1d, 0x00001090, 0xc1c1070a, 0x00001283,
+ 0x000021c3, 0x0000700b, 0x000021c3, 0x00007400, 0xc0172b1a, 0x00009502,
+ 0xc6800b1a, 0x00001090, 0x0000213d, 0x0000f400, 0x80172a19, 0x00009502,
+ 0x86400a19, 0x00001090, 0x0000213f, 0x00007400, 0x80172a16, 0x00009502,
+ 0x85800a16, 0x00001090, 0x00002141, 0x00007400, 0xc0172b19, 0x00009502,
+ 0xc6400b19, 0x00001090, 0x00002143, 0x0000f400, 0xc0172b16, 0x00009502,
+ 0xc5800b16, 0x00001090, 0x00002145, 0x0000f400, 0x80172a18, 0x00001502,
+ 0x86000a18, 0x00001090, 0x00002147, 0x00007400, 0x80172a15, 0x00009502,
+ 0x85400a15, 0x00001090, 0x00002149, 0x0000f400, 0xc0172b18, 0x00001502,
+ 0xc6000b18, 0x00001090, 0x0000214b, 0x00007400, 0xc0172b15, 0x00009502,
+ 0xc5400b15, 0x00001090, 0x80172a17, 0x00001502, 0xc1c0870a, 0x0000e283,
+ 0x85c00a17, 0x00008090, 0x00002194, 0x0000f00b, 0x80172a14, 0x00001502,
+ 0x85000a14, 0x00001090, 0x4101050a, 0x00001283, 0x00002198, 0x0000f00b,
+ 0xc0172b17, 0x00001502, 0xc5c00b17, 0x00001090, 0xc1c1070a, 0x00001283,
+ 0x000021c3, 0x0000700b, 0x000021c3, 0x00007400, 0xc0172b14, 0x00001502,
+ 0xc5000b14, 0x00001090, 0x00002115, 0x0000f400, 0x80172a13, 0x00009502,
+ 0x84c00a13, 0x00001090, 0x00002117, 0x00007400, 0x80172a0f, 0x00001502,
+ 0x83c00a0f, 0x00001090, 0x00002119, 0x0000f400, 0xc0172b13, 0x00009502,
+ 0xc4c00b13, 0x00001090, 0x0000211b, 0x00007400, 0xc0172b0f, 0x00001502,
+ 0xc3c00b0f, 0x00001090, 0x0000211d, 0x00007400, 0x80172a11, 0x00001502,
+ 0x84400a11, 0x00001090, 0x0000211f, 0x0000f400, 0x80172a0d, 0x00009502,
+ 0x83400a0d, 0x00001090, 0x00002121, 0x00007400, 0xc0172b11, 0x00001502,
+ 0xc4400b11, 0x00001090, 0x00002123, 0x0000f400, 0xc0172b0d, 0x00009502,
+ 0xc3400b0d, 0x00001090, 0x80172a10, 0x00009502, 0xc1c0870a, 0x0000e283,
+ 0x84000a10, 0x00008090, 0x000021bb, 0x0000700b, 0x80172a0c, 0x00001502,
+ 0x83000a0c, 0x00001090, 0x4101050a, 0x00001283, 0x000021bf, 0x0000f00b,
+ 0xc0172b10, 0x00009502, 0xc4000b10, 0x00001090, 0xc1c1070a, 0x00001283,
+ 0x000021c3, 0x0000700b, 0xc0172b0c, 0x00001502, 0xc3000b0c, 0x00001090,
+ 0xc0172b09, 0x00001502, 0x9d78fcec, 0x00005000, 0x0038f000, 0x00008000,
+ 0x9d78eeec, 0x00005000, 0x0038e000, 0x00000000, 0x9db8d8ec, 0x00005000,
+ 0x0038d000, 0x00000000, 0x9db8caec, 0x00005000, 0x0038c000, 0x00008000,
+ 0x9db8bcec, 0x0000d000, 0x0038b000, 0x00000000, 0x9db8aeec, 0x0000d000,
+ 0x0038a000, 0x00008000, 0x9df898ec, 0x00005000, 0x00388800, 0x00008000,
+ 0x00000000, 0x00007488, 0x9df882ec, 0x0000d000, 0x00387800, 0x00008000,
+ 0x9df86cec, 0x0000d000, 0x00386000, 0x00008000, 0x3be0250a, 0x0000c496,
+ 0xbe40270a, 0x00000893, 0x3f401309, 0x0000c388, 0x00401309, 0x00008098,
+ 0x02200309, 0x0000c791, 0x01602309, 0x0000818e, 0x7d402309, 0x000078aa,
+ 0x79000000, 0x0000908f, 0x01800000, 0x00006180, 0x01400020, 0x0000c980,
+ 0x00205006, 0x00006086, 0x08001a0b, 0x00003106, 0x04127000, 0x0000f900,
+ 0x0028e40e, 0x00000980, 0x0460f800, 0x0000f900, 0x003ab282, 0x00008980,
+ 0x01e04508, 0x0000801c, 0x82e00500, 0x0000802e, 0x00002206, 0x00007400,
+ 0x03f84f02, 0x00008108, 0x0341a706, 0x00008095, 0xc0000b09, 0x00001582,
+ 0x00000000, 0x0000f093, 0x21f41a69, 0x00007100, 0xc0003b09, 0x00001582,
+ 0x00000000, 0x0000f093, 0x000021f8, 0x00007000, 0x21ee08f1, 0x0000f300,
+ 0x0120540a, 0x00001900, 0x00000000, 0x00007080, 0x21f743b3, 0x00007300,
+ 0x0160540a, 0x00009900, 0x21f83226, 0x0000f100, 0x21f98740, 0x0000f100,
+ 0x00000000, 0x00007080, 0x21fb4699, 0x00007100, 0x01400020, 0x0000e180,
0x08001a0b, 0x00006106, 0x0435f000, 0x00007900, 0x00232460, 0x00000980,
- 0x045ed000, 0x00007900, 0x0016e9b4, 0x00008980, 0x04800000, 0x000000fc,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x81c01000, 0x00009980, 0x20a520b1, 0x00007100, 0x780408ec, 0x00005680,
+ 0x045ed000, 0x00007900, 0x0016e9b4, 0x00008980, 0x04800000, 0x000080dc,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c,
+ 0x81401000, 0x00001980, 0x22072213, 0x00007100, 0x780408ec, 0x00005680,
0x00000000, 0x00008080, 0x780000ec, 0x00005680, 0x02090000, 0x00000080,
0x780008ec, 0x0000d680, 0x00000000, 0x00008080, 0x81400cec, 0x00005684,
0x00000000, 0x00008080, 0x81400aec, 0x00005684, 0x00000000, 0x00008080,
0x403840ec, 0x0000d700, 0x00000000, 0x00008080, 0x1ff856ec, 0x0000a080,
- 0x02103a07, 0x00001900, 0xffffffff, 0x00007f97, 0x8100120a, 0x00009880,
- 0x81001204, 0x00009080, 0x1ff83e04, 0x00005000, 0x00388800, 0x00008000,
- 0x20388004, 0x00005000, 0x00386000, 0x00008000, 0x20385a04, 0x0000d000,
- 0x00389000, 0x00008000, 0x20387c04, 0x00005000, 0x00382800, 0x00008000,
+ 0x02102a05, 0x00001900, 0xffffffff, 0x00007f97, 0x8100120a, 0x00009880,
+ 0x81001204, 0x00009080, 0x1ff82e04, 0x0000d000, 0x00388800, 0x00008000,
+ 0x20388004, 0x00005000, 0x00387800, 0x00008000, 0x20385a04, 0x0000d000,
+ 0x00389000, 0x00008000, 0x20383c04, 0x0000d000, 0x00386800, 0x00000000,
0x0100080a, 0x00001080, 0x0001f804, 0x00001582, 0x02800000, 0x00006198,
- 0x0280080a, 0x0000c0b0, 0x20c520a5, 0x0000f500, 0xffffffff, 0x00007f86,
- 0x1ff856ec, 0x00002880, 0x1fc786ec, 0x00007902, 0x2ac00000, 0x00008000,
- 0xffffffff, 0x00007fa7, 0xaa0012f0, 0x00009880, 0xaa0012a8, 0x00009080,
- 0x1fff7ea8, 0x00005000, 0x003f6800, 0x00008000, 0x203f38a8, 0x0000d000,
- 0x003d7800, 0x00008000, 0x203d72a8, 0x0000d000, 0x003d6800, 0x00000000,
- 0x203d64a8, 0x00005000, 0x003f7000, 0x00008000, 0x2a0008f0, 0x00001080,
- 0x0001f8a8, 0x00001582, 0x3c0008f0, 0x000060b0, 0x3c000000, 0x00008998,
- 0x800016ef, 0x00009583, 0x1fff86ec, 0x00002880, 0x00000001, 0x0000f091,
- 0x000000ab, 0x00001582, 0x02177aef, 0x00009910, 0x00000001, 0x0000f089,
- 0x20dd20a5, 0x00007100, 0x00000001, 0x0000f080, 0xa03d40ec, 0x0000b838,
- 0xa03d52ec, 0x0000b838, 0x20e320c5, 0x00007500, 0xa03d64ec, 0x0000b838,
+ 0x0280080a, 0x0000c0b0, 0x22272207, 0x00007500, 0xffffffff, 0x00007f86,
+ 0x1ff856ec, 0x00002880, 0x1fc55eec, 0x0000f902, 0x2a800000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0xbc0012ab, 0x00009880, 0xbc0012f0, 0x00009080,
+ 0x1fff7ef0, 0x0000d000, 0x003f6800, 0x00008000, 0x203f38f0, 0x00005000,
+ 0x003d7800, 0x00008000, 0x203d72f0, 0x00005000, 0x003d6800, 0x00000000,
+ 0x203d64f0, 0x0000d000, 0x003f7000, 0x00008000, 0x3c0008ab, 0x00001080,
+ 0x0001f8f0, 0x00009582, 0x2ac008ab, 0x000060b0, 0x2ac00000, 0x00000998,
+ 0x800016ef, 0x00009583, 0x1ffd5eec, 0x0000a880, 0x00000001, 0x0000f091,
+ 0x000000aa, 0x00009582, 0x02177aef, 0x00009910, 0x00000001, 0x0000f089,
+ 0x223f2207, 0x0000f100, 0x00000001, 0x0000f080, 0xa03d40ec, 0x0000b838,
+ 0xa03d52ec, 0x0000b838, 0x22452227, 0x00007500, 0xa03d64ec, 0x0000b838,
0xa03d76ec, 0x0000b838, 0xa03d40ec, 0x00003038, 0xa03d52ec, 0x00003038,
0x00000001, 0x00007480, 0xa03d64ec, 0x00003038, 0xa03d76ec, 0x00003038,
0x203c88ec, 0x00002080, 0x24247fe4, 0x00009800, 0xffffffff, 0x00007f97,
0x24048890, 0x00001202, 0x3bc00060, 0x00006190, 0x39c4688d, 0x00004910,
0xbbc01800, 0x0000e190, 0x3b44608c, 0x00004910, 0x00000001, 0x00007088,
0xebb00600, 0x0000e101, 0x08001aae, 0x00006106, 0xabb81400, 0x00008a3c,
- 0x000020de, 0x0000f400, 0x2b7c5f8f, 0x00000a30, 0x3b84508a, 0x00009900,
- 0x00172008, 0x00006186, 0x00101006, 0x00003186, 0x04300008, 0x00006087,
- 0x04181006, 0x0000b187, 0x01c00020, 0x00006180, 0x0d001f08, 0x0000e006,
+ 0x00002240, 0x0000f400, 0x2b7c5f8f, 0x00000a30, 0x3b84508a, 0x00009900,
+ 0x00172007, 0x00006186, 0x00101006, 0x00003186, 0x04300007, 0x00006087,
+ 0x04181006, 0x0000b187, 0x01400020, 0x0000e180, 0x0d001f07, 0x0000e006,
0x041e2000, 0x0000f900, 0x00395f38, 0x00000980, 0x046f4000, 0x0000f900,
- 0x003fbfce, 0x00008980, 0x01400000, 0x00006180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x210820b1, 0x0000f500, 0x03383702, 0x0000803c,
- 0x81c00800, 0x0000e180, 0x04804008, 0x0000c900, 0x9e3910ec, 0x0000b838,
- 0x9e3922ec, 0x00003838, 0x9e3934ec, 0x0000b838, 0x9e3946ec, 0x0000b838,
- 0x000004e3, 0x00001583, 0x4001fde3, 0x00001583, 0x400005e3, 0x00001583,
- 0x0000212f, 0x0000f008, 0x00002122, 0x0000f030, 0x00002139, 0x0000f048,
- 0x82012aec, 0x0000f902, 0x09000000, 0x00008604, 0x488105e3, 0x0000e283,
- 0x08c0fde3, 0x00000281, 0x08e11fe4, 0x00001800, 0x00002128, 0x0000f009,
- 0x08812023, 0x00001202, 0x08800000, 0x00009981, 0x08800800, 0x00009991,
- 0xffffffff, 0x00007f86, 0x1a211422, 0x00009901, 0x9e3910ec, 0x00003038,
- 0x9e3922ec, 0x0000b038, 0x00000001, 0x00007480, 0x9e3934ec, 0x00003038,
- 0x9e3946ec, 0x00003038, 0x488105e3, 0x0000e283, 0x08c0fde3, 0x00000281,
- 0x820128ec, 0x00007902, 0x09000000, 0x00008604, 0x08e11fe4, 0x00001800,
- 0x00002118, 0x00007010, 0xffffffff, 0x00007f86, 0x08812823, 0x00009202,
- 0x08800000, 0x00009981, 0x08800800, 0x00009991, 0x0000211d, 0x00007400,
- 0xffffffff, 0x00007f86, 0x1a211422, 0x00009901, 0x823916ec, 0x0000a684,
- 0x08f71fe4, 0x0000e000, 0x1a000000, 0x00004981, 0x9e3922ec, 0x0000b038,
- 0x9e3934ec, 0x00003038, 0x08811023, 0x00001202, 0x9e3946ec, 0x00003038,
- 0x00000001, 0x00007480, 0x9e3910ec, 0x00003038, 0x1a000800, 0x00001991,
- 0x00002114, 0x00007200, 0x82012cec, 0x0000f902, 0x09000000, 0x00008604,
- 0xc000030f, 0x00006582, 0x01800000, 0x00008980, 0x81800000, 0x00009980,
- 0x81800800, 0x00009990, 0x02800000, 0x0000f900, 0x000014c0, 0x00008980,
- 0x00000406, 0x00006583, 0x0011000a, 0x00002106, 0x81a80500, 0x0000e110,
- 0xc320300a, 0x0000e006, 0xffffffff, 0x00007f86, 0x00000006, 0x0000ed8e,
- 0xffffffff, 0x00007f86, 0x04287806, 0x0000e885, 0x75e80006, 0x00006901,
- 0x703850ec, 0x0000d600, 0x00383000, 0x00008000, 0x01800004, 0x00009980,
- 0x02800000, 0x0000f900, 0x00007fc0, 0x00000980, 0x0011000a, 0x00006186,
- 0x82207806, 0x00003080, 0x703860ec, 0x0000d600, 0x00385800, 0x00000000,
- 0x00000001, 0x00007480, 0x04190006, 0x00006987, 0x703850ec, 0x0000d600,
- 0x00383000, 0x00008000, 0x00000006, 0x00009582, 0x9de036ec, 0x00002090,
- 0x3bc00040, 0x0000e190, 0x39c1c839, 0x00004910, 0x00000001, 0x00007088,
- 0x3b40e000, 0x00007900, 0x00188ac0, 0x00000980, 0x80172a06, 0x0000e502,
- 0x08001aae, 0x0000a106, 0x81800a06, 0x0000e090, 0xbbc1b000, 0x00008980,
- 0x9de036ec, 0x0000a890, 0xaba00500, 0x00008a3a, 0x000020de, 0x0000f400,
- 0x2bf9c702, 0x00008a34, 0xfbb83be3, 0x00008a30, 0x01800000, 0x00006180,
- 0x01c00020, 0x00004980, 0x00300006, 0x0000e086, 0x08001a0b, 0x00003106,
- 0x01400000, 0x00006180, 0x82280006, 0x0000e086, 0xc2f00600, 0x0000e101,
- 0x0d001e06, 0x0000e006, 0x04245800, 0x0000f900, 0x0026484c, 0x00008980,
- 0x047a4000, 0x00007900, 0x003bdaae, 0x00000980, 0x82f81400, 0x00008030,
- 0x217820b1, 0x00007500, 0x04803702, 0x0000809d, 0x03c03006, 0x00009900,
- 0x81b71ee3, 0x00001900, 0x89036206, 0x00007902, 0x01800000, 0x00000000,
- 0xffffffff, 0x00007fa7, 0x0000046c, 0x00009583, 0x1b336fe4, 0x00009810,
- 0x00000001, 0x0000f089, 0x0180306c, 0x00009202, 0x3bc00060, 0x00006188,
- 0x39c3706e, 0x00004908, 0xbbd36a6d, 0x00006108, 0xebb00600, 0x00004909,
- 0x00000001, 0x00007090, 0x3b6b5800, 0x00007900, 0x0003cd08, 0x00008980,
- 0xaba80500, 0x00006101, 0x08001aae, 0x00006106, 0x2bc38f02, 0x00008a34,
- 0x2b538971, 0x00000a34, 0x2b438371, 0x00000a30, 0x2b138170, 0x00000a30,
- 0x2b037b70, 0x00008e38, 0x219120de, 0x0000f500, 0x3b93796f, 0x00000e38,
- 0xfbbb7f6f, 0x00001901, 0x00000001, 0x0000f080, 0x4000251b, 0x0000e583,
- 0x07400800, 0x00000980, 0x01800000, 0x00006180, 0x47771ee3, 0x0000c901,
- 0x01006000, 0x0000e189, 0x30ff101d, 0x00006002, 0x000021b0, 0x00007208,
- 0x81981302, 0x00001900, 0x4000251b, 0x00001583, 0x000021a6, 0x0000f01b,
- 0x4000151b, 0x00001583, 0x01005000, 0x00009989, 0x000021b0, 0x00007009,
- 0x4000151b, 0x00001583, 0x0100e000, 0x00009999, 0x000021b0, 0x0000f019,
- 0x40000d1b, 0x00001583, 0x01004800, 0x00009989, 0x000021b0, 0x00007009,
- 0x000021af, 0x0000f000, 0x4000351b, 0x00009583, 0x01008000, 0x00001989,
- 0x000021b0, 0x00007009, 0x4000351b, 0x00009583, 0x01004000, 0x000099a9,
- 0x000021b0, 0x0000f029, 0x40003d1b, 0x00001583, 0x01024000, 0x00009989,
- 0x000021b0, 0x00007009, 0x01000000, 0x00001981, 0x86202006, 0x0000e087,
- 0x8620501d, 0x00003087, 0x0000041b, 0x00006583, 0x81ff1fe3, 0x00000900,
- 0x8a38ea07, 0x00005000, 0x00383000, 0x00008000, 0x01c00000, 0x0000e180,
- 0x81371ee3, 0x0000c900, 0x01c00800, 0x00006189, 0x02800000, 0x00004980,
- 0x00000c1a, 0x00006583, 0x81b71ee3, 0x00008900, 0x89003a04, 0x0000a880,
- 0x01c00000, 0x0000e180, 0x0000200a, 0x0000648e, 0x0130760e, 0x0000e101,
- 0x0018c007, 0x0000618e, 0x0410c007, 0x0000698f, 0x97785606, 0x00002880,
- 0x000021c9, 0x00007400, 0x97783e06, 0x00002800, 0x01f8760e, 0x00009000,
- 0x01000c04, 0x00006081, 0x81808404, 0x00008080, 0x8a0f1a06, 0x00002881,
- 0x01a02404, 0x00009900, 0x00003806, 0x00009502, 0x81ff17e2, 0x00006140,
- 0x81bf17e2, 0x0000c940, 0x97385607, 0x000020c0, 0x000021c6, 0x0000f048,
- 0x9738c2ec, 0x00002080, 0x97383e07, 0x0000a000, 0x0000040a, 0x00009583,
- 0x8220d00a, 0x0000e88e, 0x40000518, 0x00006583, 0x0430d00a, 0x0000208f,
- 0x97383e06, 0x0000a800, 0x02800c0a, 0x00006081, 0x0630e61c, 0x00000909,
- 0x000021dd, 0x0000f210, 0x97385606, 0x0000a880, 0x1fd8e6ec, 0x0000a803,
- 0x2038d8ec, 0x0000a882, 0x8628d51a, 0x00009901, 0x00000001, 0x00007480,
- 0x46000d18, 0x00009081, 0x9738c2ec, 0x0000a880, 0x00002407, 0x00006583,
- 0x8380840a, 0x00008080, 0x8a387a0e, 0x00002080, 0x01006000, 0x0000e189,
- 0x42c00000, 0x00004980, 0x82d8530a, 0x00009900, 0xffffffff, 0x00007f86,
- 0x0000080f, 0x0000ec82, 0x83c00000, 0x00001981, 0x00002202, 0x00007408,
- 0x30ff100f, 0x0000e802, 0x5168500f, 0x0000e800, 0x00002407, 0x00009583,
- 0x000021f8, 0x0000701b, 0x00001407, 0x00009583, 0x01005000, 0x00009989,
- 0x00002202, 0x00007009, 0x00001407, 0x00009583, 0x0100e000, 0x00009999,
- 0x00002202, 0x0000f019, 0x00000c07, 0x00009583, 0x01004800, 0x00009989,
- 0x00002202, 0x00007009, 0x00002201, 0x00007000, 0x00003407, 0x00001583,
- 0x01008000, 0x00001989, 0x00002202, 0x00007009, 0x00003407, 0x00001583,
- 0x01004000, 0x000099a9, 0x00002202, 0x0000f029, 0x00003c07, 0x00009583,
- 0x01024000, 0x00009989, 0x00002202, 0x00007009, 0x01000000, 0x00001981,
- 0x8620300f, 0x00006087, 0x8620200b, 0x00003087, 0x8a387a0e, 0x00005000,
- 0x00385800, 0x00000000, 0x83b71ee3, 0x00009900, 0x8a38320e, 0x0000a000,
- 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x81800e06, 0x00009081,
- 0x8a38320e, 0x00002800, 0x8a38f20b, 0x00002080, 0x80007a0b, 0x00001582,
- 0xffffffff, 0x00007f97, 0x8768f51e, 0x00006118, 0x0f40f40d, 0x00006032,
- 0x8a20ea1d, 0x0000a019, 0xffffffff, 0x00007f86, 0x00000001, 0x0000749b,
- 0x8768f51e, 0x00006118, 0x02c00c1d, 0x0000c199, 0x8a305a1d, 0x00002819,
- 0x9700eaec, 0x00002081, 0xffffffff, 0x00007fa7, 0x07400c1d, 0x00001181,
- 0x9718eaec, 0x0000a882, 0x87606c0d, 0x00001900, 0x9700ee1d, 0x0000a080,
- 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x87606c0d, 0x00006100,
- 0x02c00c1d, 0x0000c181, 0x97005e1d, 0x0000a880, 0x81400ee3, 0x0000e283,
- 0x81800ee3, 0x00008780, 0xba783806, 0x0000a088, 0xba783806, 0x00002010,
- 0xffffffff, 0x00007fa7, 0x01c00807, 0x0000e090, 0x01c00807, 0x00008088,
- 0x00000001, 0x0000f481, 0xba783806, 0x00002888, 0xba783806, 0x0000a810,
- 0x01800002, 0x0000e180, 0xc1502204, 0x0000c900, 0x01c80004, 0x0000e180,
- 0x81002d00, 0x0000c880, 0xc1d80a04, 0x0000e080, 0xc1a80500, 0x00000900,
- 0x760010ec, 0x00005680, 0x00383000, 0x00008000, 0x763838ec, 0x00005600,
- 0x000ff800, 0x00000080, 0x760000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0x00c002ec, 0x0000df80, 0x1211d00b, 0x00009684, 0xb9182b05, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x010004e4, 0x00008098,
- 0x2241220c, 0x0000f500, 0x81bf1fe3, 0x00001900, 0x02c03006, 0x00001900,
- 0x81bf1fe3, 0x00001900, 0x8a003206, 0x00002080, 0xffffffff, 0x00007f86,
- 0x0000222c, 0x0000f403, 0x81bf1fe3, 0x00006100, 0x01c7c406, 0x0000c281,
- 0x8a003a06, 0x00002880, 0x073f2fe5, 0x00008134, 0x01400000, 0x0000e181,
- 0x078728e5, 0x0000c900, 0x00001c05, 0x00009583, 0x0200780f, 0x00009908,
- 0x00002262, 0x00007009, 0x00001c05, 0x00009583, 0x00002257, 0x0000701b,
- 0x00000c05, 0x00001583, 0x02004809, 0x00009908, 0x00002262, 0x00007009,
- 0x00001405, 0x00001583, 0x0200500a, 0x00009908, 0x00002262, 0x00007009,
- 0x00002260, 0x0000f000, 0x00002c05, 0x00009583, 0x0200680d, 0x00009908,
- 0x00002262, 0x00007009, 0x00002c05, 0x00009583, 0x0200600c, 0x00001928,
- 0x00002262, 0x0000f029, 0x00003405, 0x00009583, 0x02008010, 0x00009908,
- 0x00002262, 0x00007009, 0x02009813, 0x00001900, 0xffffffff, 0x00007f86,
- 0x01004008, 0x00009b00, 0x00072804, 0x0000e502, 0x02002004, 0x00008900,
- 0x01400c05, 0x00001089, 0x00002269, 0x0000f011, 0x9b403c05, 0x0000f88a,
- 0x59000000, 0x00001182, 0x81402c05, 0x00009880, 0x82104205, 0x00001000,
- 0x80067a08, 0x00001582, 0x0000226e, 0x00007033, 0x823ff801, 0x00001980,
- 0x82800000, 0x000000e6, 0xb63ffa08, 0x0000f88a, 0x01000003, 0x00000080,
- 0xffffffff, 0x00007f86, 0x8a382a08, 0x00002080, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x01003c05, 0x00001283, 0x8100fa08, 0x00006288,
- 0x81402a08, 0x00000788, 0x011027e4, 0x00009808, 0x00002290, 0x00007010,
- 0x00000405, 0x00006583, 0x010020e5, 0x00000400, 0x04c09804, 0x00001208,
- 0x000022a5, 0x0000f009, 0x00000c05, 0x00001583, 0x04809004, 0x00001208,
- 0x000022a5, 0x0000f009, 0x00001405, 0x00001583, 0x04408804, 0x00001208,
- 0x000022a5, 0x0000f009, 0x00001c05, 0x00009583, 0x03c07804, 0x00001208,
- 0x000022a5, 0x0000f009, 0x00002405, 0x00001583, 0x03006004, 0x00001208,
- 0x000022a5, 0x0000f009, 0x00002c05, 0x00009583, 0x02c05804, 0x00001208,
- 0x000022a5, 0x0000f009, 0x000022a5, 0x00007400, 0x00003405, 0x00009583,
- 0x04008004, 0x00001208, 0x00004c0a, 0x00009583, 0x01801c0a, 0x000062b1,
- 0x01000000, 0x000009b0, 0x01801c06, 0x000060b0, 0x3840e404, 0x000040b1,
- 0x000022a0, 0x0000f018, 0x0107f800, 0x00009980, 0x01003004, 0x00001800,
- 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01400200, 0x0000f904,
- 0x0107fa08, 0x0000e280, 0x01402005, 0x00000200, 0x01803004, 0x00009800,
- 0x01803005, 0x00009300, 0x10003400, 0x00007904, 0x8a382a08, 0x00002080,
- 0x02800c0a, 0x00009081, 0xffffffff, 0x00007f97, 0x00001805, 0x0000ec04,
- 0x8a382a08, 0x0000a880, 0x82000a08, 0x00009080, 0x80068208, 0x00009582,
- 0x81002a08, 0x00001790, 0x8200fa08, 0x00006290, 0x01e02404, 0x00008911,
- 0x000022d4, 0x00007008, 0x02000000, 0x00006181, 0x011047e4, 0x00004800,
- 0x014022ec, 0x00009100, 0x00204407, 0x00009503, 0x000022d1, 0x0000f01b,
- 0x00001c08, 0x00001583, 0x0100780f, 0x00009908, 0x000022c6, 0x0000f009,
- 0x00001c08, 0x00001583, 0x000022bc, 0x0000701b, 0x00000c08, 0x00009583,
- 0x01009012, 0x00009908, 0x000022c6, 0x0000f009, 0x00001408, 0x00009583,
- 0x01008811, 0x00009908, 0x000022c6, 0x0000f009, 0x000022c5, 0x0000f000,
- 0x00002c08, 0x00001583, 0x0100580b, 0x00009908, 0x000022c6, 0x0000f009,
- 0x00002c08, 0x00001583, 0x0100600c, 0x00001928, 0x000022c6, 0x00007029,
- 0x00003408, 0x00001583, 0x01008010, 0x00009908, 0x000022c6, 0x0000f009,
- 0x01009813, 0x00001900, 0x00204407, 0x00009503, 0x01002804, 0x00009208,
- 0xffffffff, 0x00007f86, 0x01802004, 0x00001b00, 0x00072806, 0x00006502,
- 0x01003006, 0x00008900, 0x82002c08, 0x00001890, 0x82102208, 0x00001010,
- 0x000022d1, 0x00007008, 0xb5067a08, 0x0000f89a, 0xa9000000, 0x00009186,
- 0x02000c08, 0x00009081, 0x00003c08, 0x00009583, 0x000022ae, 0x0000f013,
- 0x823ff801, 0x00001980, 0x02400c09, 0x00009081, 0x9c7ffa08, 0x0000f892,
- 0x01000003, 0x00000080, 0x3bc00060, 0x0000e180, 0x0420501e, 0x00006087,
- 0x8620481e, 0x00006087, 0x08001aae, 0x00003106, 0x39f40800, 0x0000f900,
- 0x002f51f0, 0x00008980, 0x3b73c800, 0x00007900, 0x00065644, 0x00008980,
- 0xaba00500, 0x00008a3a, 0x2bf8e702, 0x00008a34, 0x22e520de, 0x0000f500,
- 0x2b019f1d, 0x00000ebd, 0x3b80f01e, 0x00009900, 0x00000001, 0x0000f080,
- 0x028004e4, 0x000080b4, 0x047f2fe5, 0x00000108, 0x02400000, 0x0000e181,
- 0x04c728e5, 0x00004900, 0x00001c09, 0x00009583, 0x07c03807, 0x00009908,
- 0x00002301, 0x0000f009, 0x00001c09, 0x00009583, 0x000022f6, 0x0000f01b,
- 0x00000c09, 0x00001583, 0x07c0780f, 0x00009908, 0x00002301, 0x0000f009,
- 0x00001409, 0x00001583, 0x07c04008, 0x00009908, 0x00002301, 0x0000f009,
- 0x000022ff, 0x0000f000, 0x00002c09, 0x00009583, 0x07c02805, 0x00009908,
- 0x00002301, 0x0000f009, 0x00002c09, 0x00009583, 0x07c0600c, 0x00001928,
- 0x00002301, 0x00007029, 0x00003409, 0x00009583, 0x07c02004, 0x00009908,
- 0x00002301, 0x0000f009, 0x07c08010, 0x00001900, 0xffffffff, 0x00007f86,
- 0x02c0f81f, 0x00009b00, 0x0007280b, 0x0000e502, 0x07c0580b, 0x00008900,
- 0x02400c09, 0x00001089, 0x00002308, 0x0000f011, 0xc3003c09, 0x0000f88a,
- 0x51000000, 0x00009187, 0x82402c09, 0x00009880, 0x87d0fa09, 0x00001000,
- 0x80067a1f, 0x00001582, 0x0000230d, 0x0000f033, 0x87fff801, 0x00001980,
- 0x87000000, 0x000000fa, 0xe2fffa1f, 0x0000788a, 0x01000003, 0x00000080,
- 0xffffffff, 0x00007f86, 0x8a005a1f, 0x00007902, 0x03400000, 0x00008000,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x02403c0b, 0x00009281,
- 0x00000c09, 0x00001583, 0x00002409, 0x00009593, 0x82c0fa1f, 0x00006290,
- 0x82402a1f, 0x00000790, 0x02d05fe4, 0x00009810, 0x00002332, 0x00007008,
- 0x00000409, 0x00006583, 0x02c058e5, 0x00000400, 0x0400800b, 0x00001208,
- 0x00002359, 0x00007009, 0x00000c09, 0x00001583, 0x03c0780b, 0x00001208,
- 0x00002359, 0x00007009, 0x00001409, 0x00001583, 0x0200400b, 0x00001208,
- 0x00002359, 0x00007009, 0x00001c09, 0x00009583, 0x01c0380b, 0x00001208,
- 0x00002359, 0x00007009, 0x00002409, 0x00001583, 0x0180300b, 0x00001208,
- 0x00002359, 0x00007009, 0x00002c09, 0x00009583, 0x0140280b, 0x00001208,
- 0x00002359, 0x00007009, 0x00002359, 0x0000f400, 0x00003409, 0x00009583,
- 0x0100200b, 0x00001208, 0x00004c1c, 0x00001583, 0x07401c1c, 0x0000e2b1,
- 0x02c00000, 0x000009b0, 0x07401c1d, 0x000060b0, 0x38408c0b, 0x0000c0b1,
- 0x00002342, 0x00007018, 0x02c7f800, 0x00009980, 0x02c0e80b, 0x00001800,
- 0x02c058e5, 0x00009400, 0xffffffff, 0x00007f86, 0x03000200, 0x0000f904,
- 0x02c7fa1f, 0x0000e280, 0x0300580c, 0x00000200, 0x0740e80b, 0x00009800,
- 0x0740e80c, 0x00009300, 0x1000ec00, 0x00007904, 0xc280870d, 0x0000e283,
- 0x07000c1c, 0x00000081, 0x02c00000, 0x00001990, 0x0010f80b, 0x0000e996,
- 0x23482566, 0x00007310, 0x0780580b, 0x00001910, 0xc280170d, 0x00001283,
- 0x234a16dd, 0x00007113, 0xc280470d, 0x00001283, 0x02c00000, 0x00001990,
- 0x0010f80b, 0x0000e996, 0x234f3ed9, 0x00007310, 0x0880580b, 0x00001910,
- 0xc280270d, 0x00001283, 0x02d06a0d, 0x00009910, 0x2352436b, 0x00007111,
- 0x2354220c, 0x0000f300, 0x82d0fa1f, 0x00009900, 0x8a005a1f, 0x00007902,
- 0x03400000, 0x00008000, 0xffffffff, 0x00007fa7, 0x0000100b, 0x0000ec04,
- 0x8a385a1f, 0x00002880, 0x87c00a1f, 0x00009080, 0x8006821f, 0x00009582,
- 0x07800000, 0x00006191, 0x82402a1f, 0x0000c790, 0x87c0fa1f, 0x00009290,
- 0x00002387, 0x0000f008, 0x02d0ffe4, 0x00001800, 0x07405aec, 0x00009100,
- 0x0020f409, 0x00009503, 0x00002384, 0x0000701b, 0x00001c1e, 0x00009583,
- 0x02c03807, 0x00009908, 0x00002379, 0x0000f009, 0x00001c1e, 0x00009583,
- 0x0000236f, 0x0000701b, 0x00000c1e, 0x00001583, 0x02c0780f, 0x00009908,
- 0x00002379, 0x0000f009, 0x0000141e, 0x00001583, 0x02c04008, 0x00009908,
- 0x00002379, 0x0000f009, 0x00002378, 0x00007000, 0x00002c1e, 0x00009583,
- 0x02c02805, 0x00009908, 0x00002379, 0x0000f009, 0x00002c1e, 0x00009583,
- 0x02c03006, 0x00001928, 0x00002379, 0x00007029, 0x0000341e, 0x00009583,
- 0x02c02004, 0x00009908, 0x00002379, 0x0000f009, 0x02c08010, 0x00001900,
- 0x0020f409, 0x00009503, 0x02c0e80b, 0x00009208, 0xffffffff, 0x00007f86,
- 0x0300580b, 0x00001b00, 0x0007280c, 0x00006502, 0x02c0600c, 0x00008900,
- 0x87802c1e, 0x00001890, 0x87d05a1e, 0x00009010, 0x00002384, 0x0000f008,
- 0xe1c67a1f, 0x0000789a, 0x41000000, 0x0000918c, 0x07800c1e, 0x00009081,
- 0x00003c1e, 0x00001583, 0x00002361, 0x00007013, 0x87fff801, 0x00001980,
- 0x03800c0e, 0x00009081, 0xc43ffa1f, 0x0000f892, 0x01000003, 0x00000080,
- 0x3bc00060, 0x0000e180, 0x0420e013, 0x00006087, 0x86207013, 0x00006087,
- 0x08001aae, 0x00003106, 0x39cc1800, 0x0000f900, 0x00198f26, 0x00000980,
- 0x3b43c800, 0x00007900, 0x003ec9b2, 0x00000980, 0xaba00500, 0x00008a3a,
- 0x2bf88f02, 0x00000a34, 0x239820de, 0x00007500, 0x2b019712, 0x00008ebd,
- 0x3b809813, 0x00009900, 0x0000041c, 0x00001583, 0xb910520a, 0x0000e108,
- 0x01000000, 0x00004990, 0x81280500, 0x00006110, 0x01980005, 0x0000c990,
- 0x700040ec, 0x0000d690, 0x00382544, 0x00008008, 0x700000ec, 0x00005690,
- 0x00000000, 0x00008080, 0xc1906a0d, 0x00001910, 0x700000ec, 0x00005690,
- 0x00000000, 0x00008080, 0x00000000, 0x0000f088, 0x700040ec, 0x00005680,
- 0x003837c0, 0x00000078, 0x00c002ec, 0x0000df80, 0x121d480b, 0x00001684,
- 0xb910520a, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x003fbfce, 0x00008980, 0x03400000, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x22692213, 0x00007500, 0x03f83f02, 0x00000108,
+ 0x01c00f06, 0x00008095, 0x9e3910ec, 0x0000b838, 0x9e3922ec, 0x00003838,
+ 0x9e3934ec, 0x0000b838, 0x9e3946ec, 0x0000b838, 0x000004e3, 0x00001583,
+ 0x4001fde3, 0x00001583, 0x400005e3, 0x00001583, 0x00002290, 0x00007008,
+ 0x00002283, 0x00007030, 0x0000229a, 0x0000f048, 0x82012aec, 0x0000f902,
+ 0x09000000, 0x00008604, 0x488105e3, 0x0000e283, 0x08c0fde3, 0x00000281,
+ 0x08e11fe4, 0x00001800, 0x00002289, 0x00007009, 0x08812023, 0x00001202,
+ 0x08800000, 0x00009981, 0x08800800, 0x00009991, 0xffffffff, 0x00007f86,
+ 0x1a211422, 0x00009901, 0x9e3910ec, 0x00003038, 0x9e3922ec, 0x0000b038,
+ 0x00000001, 0x00007480, 0x9e3934ec, 0x00003038, 0x9e3946ec, 0x00003038,
+ 0x488105e3, 0x0000e283, 0x08c0fde3, 0x00000281, 0x820128ec, 0x00007902,
+ 0x09000000, 0x00008604, 0x08e11fe4, 0x00001800, 0x00002279, 0x0000f010,
+ 0xffffffff, 0x00007f86, 0x08812823, 0x00009202, 0x08800000, 0x00009981,
+ 0x08800800, 0x00009991, 0x0000227e, 0x00007400, 0xffffffff, 0x00007f86,
+ 0x1a211422, 0x00009901, 0x823916ec, 0x0000a684, 0x08f71fe4, 0x0000e000,
+ 0x1a000000, 0x00004981, 0x9e3922ec, 0x0000b038, 0x9e3934ec, 0x00003038,
+ 0x08811023, 0x00001202, 0x9e3946ec, 0x00003038, 0x00000001, 0x00007480,
+ 0x9e3910ec, 0x00003038, 0x1a000800, 0x00001991, 0x00002275, 0x0000f200,
+ 0x82012cec, 0x0000f902, 0x09000000, 0x00008604, 0xc000030f, 0x00006582,
+ 0x81c00000, 0x00008980, 0x02400000, 0x00006180, 0x81c00800, 0x00004990,
+ 0x02800000, 0x0000f900, 0x000014c0, 0x00008980, 0x00000407, 0x0000e583,
+ 0x0011000a, 0x00002106, 0x81e80500, 0x00006110, 0xc320380a, 0x00006006,
+ 0x81c00000, 0x00009988, 0xffffffff, 0x00007f86, 0x00103809, 0x0000e986,
+ 0x04287809, 0x0000e885, 0x75e80009, 0x00006901, 0x703850ec, 0x0000d600,
+ 0x00384800, 0x00008000, 0x02400004, 0x00009980, 0x02800000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0x0011000a, 0x00006186, 0x82207809, 0x00003080,
+ 0x703860ec, 0x0000d600, 0x00385800, 0x00000000, 0x00000001, 0x00007480,
+ 0x04190009, 0x00006987, 0x703850ec, 0x0000d600, 0x00384800, 0x00008000,
+ 0x00000038, 0x00001582, 0x9de03eec, 0x0000a090, 0x3bc00040, 0x0000e190,
+ 0x39c28851, 0x00004910, 0x00000001, 0x00007088, 0x3b40e000, 0x00007900,
+ 0x00188ac0, 0x00000980, 0x80172a07, 0x00006502, 0x08001aae, 0x0000a106,
+ 0x81c00a07, 0x0000e090, 0xbbc1b000, 0x00008980, 0x9de03eec, 0x00002890,
+ 0xaba00500, 0x00008a3a, 0x00002240, 0x0000f400, 0x2bfa8702, 0x00000a34,
+ 0xfbb9cbe3, 0x00000a30, 0x01800000, 0x00006180, 0x01400020, 0x0000c980,
+ 0x00300006, 0x0000e086, 0x08001a0b, 0x00003106, 0x03400000, 0x0000e180,
+ 0x82280006, 0x0000e086, 0xc2f00600, 0x0000e101, 0x0d001e06, 0x0000e006,
+ 0x04245800, 0x0000f900, 0x0026484c, 0x00008980, 0x047a4000, 0x00007900,
+ 0x003bdaae, 0x00000980, 0x82f81400, 0x0000803c, 0x22d92213, 0x0000f500,
+ 0x04803702, 0x00000095, 0x01c03006, 0x00001900, 0x81b71ee3, 0x00001900,
+ 0x89003a06, 0x0000f902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x00000407, 0x00001583, 0x01f367e4, 0x00009810, 0x00000001, 0x0000f089,
+ 0x01803007, 0x00001202, 0x3bc00060, 0x00006188, 0x39c3686d, 0x00004908,
+ 0xbbd3626c, 0x00006108, 0xebb00600, 0x00004909, 0x00000001, 0x00007090,
+ 0x3b6b5800, 0x00007900, 0x0003cd08, 0x00008980, 0xaba80500, 0x00006101,
+ 0x08001aae, 0x00006106, 0x2bc38702, 0x00000a34, 0x2b538170, 0x00000a34,
+ 0x2b437b70, 0x00000a30, 0x2b13796f, 0x00000a30, 0x2b03736f, 0x00008e38,
+ 0x22f22240, 0x0000f500, 0x3b93716e, 0x00000e38, 0xfbbb776e, 0x00001901,
+ 0x00000001, 0x0000f080, 0x4000251b, 0x0000e583, 0x07400800, 0x00000980,
+ 0x02800000, 0x00006180, 0x47771ee3, 0x0000c901, 0x01006000, 0x0000e189,
+ 0x30ff101d, 0x00006002, 0x00002311, 0x00007208, 0x82981302, 0x00001900,
+ 0x4000251b, 0x00001583, 0x00002307, 0x0000f01b, 0x4000151b, 0x00001583,
+ 0x01005000, 0x00009989, 0x00002311, 0x00007009, 0x4000151b, 0x00001583,
+ 0x0100e000, 0x00009999, 0x00002311, 0x0000f019, 0x40000d1b, 0x00001583,
+ 0x01004800, 0x00009989, 0x00002311, 0x00007009, 0x00002310, 0x0000f000,
+ 0x4000351b, 0x00009583, 0x01008000, 0x00001989, 0x00002311, 0x00007009,
+ 0x4000351b, 0x00009583, 0x01004000, 0x000099a9, 0x00002311, 0x0000f029,
+ 0x40003d1b, 0x00001583, 0x01024000, 0x00009989, 0x00002311, 0x00007009,
+ 0x01000000, 0x00001981, 0x8620200a, 0x0000e087, 0x8620601d, 0x00003087,
+ 0x0000041b, 0x00006583, 0x82ff1fe3, 0x00000900, 0x8a38ea0b, 0x00005000,
+ 0x00385000, 0x00008000, 0x02c00000, 0x0000e180, 0x81371ee3, 0x0000c900,
+ 0x02c00800, 0x00006189, 0x03000000, 0x00004980, 0x00000c1a, 0x00006583,
+ 0x82b71ee3, 0x00008900, 0x89005a04, 0x0000a880, 0x02c00000, 0x0000e180,
+ 0x0000200c, 0x0000648e, 0x0130c618, 0x0000e101, 0x0018c80b, 0x0000e18e,
+ 0x0410c80b, 0x0000e98f, 0x9778660a, 0x00002880, 0x0000232a, 0x00007400,
+ 0x97785e0a, 0x00002800, 0x02f8c618, 0x00009000, 0x01000c04, 0x00006081,
+ 0x82808404, 0x00008080, 0x8a0f1a0a, 0x00002881, 0x02a02404, 0x00009900,
+ 0x0000580a, 0x00009502, 0x82ff17e2, 0x00006140, 0x82bf17e2, 0x0000c940,
+ 0x9738660b, 0x000020c0, 0x00002327, 0x00007048, 0x9738caec, 0x0000a080,
+ 0x97385e0b, 0x0000a000, 0x0000040c, 0x00009583, 0x8220d00c, 0x0000e88e,
+ 0x40000519, 0x0000e583, 0x0430d00c, 0x0000208f, 0x97385e0a, 0x0000a800,
+ 0x03000c0c, 0x00006081, 0x0670e61c, 0x00008909, 0x0000233e, 0x0000f210,
+ 0x9738660a, 0x0000a880, 0x1fd8e6ec, 0x0000a803, 0x2038d8ec, 0x0000a882,
+ 0x8668d51a, 0x00001901, 0x00000001, 0x00007480, 0x46400d19, 0x00009081,
+ 0x9738caec, 0x00002880, 0x0000240c, 0x0000e583, 0x8380840d, 0x00000080,
+ 0x8a387a0e, 0x00002080, 0x01006000, 0x0000e189, 0x42800000, 0x0000c980,
+ 0x82986b0d, 0x00001900, 0xffffffff, 0x00007f86, 0x0000080f, 0x0000ec82,
+ 0x83c00000, 0x00001981, 0x00002363, 0x00007408, 0x30ff100f, 0x0000e802,
+ 0x5168680f, 0x00006800, 0x0000240c, 0x00001583, 0x00002359, 0x0000701b,
+ 0x0000140c, 0x00001583, 0x01005000, 0x00009989, 0x00002363, 0x00007009,
+ 0x0000140c, 0x00001583, 0x0100e000, 0x00009999, 0x00002363, 0x0000f019,
+ 0x00000c0c, 0x00001583, 0x01004800, 0x00009989, 0x00002363, 0x00007009,
+ 0x00002362, 0x0000f000, 0x0000340c, 0x00009583, 0x01008000, 0x00001989,
+ 0x00002363, 0x00007009, 0x0000340c, 0x00009583, 0x01004000, 0x000099a9,
+ 0x00002363, 0x0000f029, 0x00003c0c, 0x00001583, 0x01024000, 0x00009989,
+ 0x00002363, 0x00007009, 0x01000000, 0x00001981, 0x8620580f, 0x0000e087,
+ 0x8620200a, 0x0000b087, 0x8a387a0e, 0x00005000, 0x00385000, 0x00008000,
+ 0x83b71ee3, 0x00009900, 0x8a38520e, 0x0000a000, 0xffffffff, 0x00007f86,
+ 0x00000001, 0x00007483, 0x82800e0a, 0x00009081, 0x8a38520e, 0x00002800,
+ 0x8a38720c, 0x00002080, 0x80007a0c, 0x00009582, 0xffffffff, 0x00007f97,
+ 0x8368750e, 0x0000e118, 0x0f40740c, 0x00006032, 0x8a206a0d, 0x0000a019,
+ 0xffffffff, 0x00007f86, 0x00000001, 0x0000749b, 0x8368750e, 0x0000e118,
+ 0x01c00c0d, 0x00004199, 0x8a303a0d, 0x0000a819, 0x97006aec, 0x0000a081,
+ 0xffffffff, 0x00007fa7, 0x03400c0d, 0x00001181, 0x97186aec, 0x00002882,
+ 0x8360640c, 0x00009900, 0x97006e0d, 0x0000a080, 0xffffffff, 0x00007f86,
+ 0x00000001, 0x00007483, 0x8360640c, 0x0000e100, 0x01c00c0d, 0x00004181,
+ 0x97003e0d, 0x00002880, 0x81400ee3, 0x0000e283, 0x81800ee3, 0x00008780,
+ 0xba783806, 0x0000a088, 0xba783806, 0x00002010, 0xffffffff, 0x00007fa7,
+ 0x01c00807, 0x0000e090, 0x01c00807, 0x00008088, 0x00000001, 0x0000f481,
+ 0xba783806, 0x00002888, 0xba783806, 0x0000a810, 0x02800002, 0x0000e180,
+ 0xc1502204, 0x0000c900, 0x02c80004, 0x0000e180, 0x81002d00, 0x0000c880,
+ 0xc2d80a04, 0x0000e080, 0xc2a80500, 0x00000900, 0x760010ec, 0x00005680,
+ 0x00385000, 0x00008000, 0x763858ec, 0x00005600, 0x000ff800, 0x00000080,
+ 0x760000ec, 0x0000d680, 0x00000000, 0x00008080, 0x00c002ec, 0x0000df80,
+ 0x121cd80b, 0x00009684, 0xb9182b05, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x010004e4, 0x000080a8, 0x23a2236d, 0x0000f500,
+ 0x82bf1fe3, 0x00001900, 0x0300500a, 0x00009900, 0x82bf1fe3, 0x00001900,
+ 0x8a00520a, 0x00002080, 0xffffffff, 0x00007f86, 0x0000238d, 0x0000f403,
+ 0x82bf1fe3, 0x00006100, 0x01c7c40a, 0x0000c281, 0x8a003a0a, 0x00002880,
0x073f2fe5, 0x00008134, 0x01400000, 0x0000e181, 0x078728e5, 0x0000c900,
- 0x00001c05, 0x00009583, 0x01c0580b, 0x00009908, 0x000023c6, 0x00007009,
- 0x00001c05, 0x00009583, 0x000023bb, 0x0000701b, 0x00000c05, 0x00001583,
- 0x01c08811, 0x00009908, 0x000023c6, 0x00007009, 0x00001405, 0x00001583,
- 0x01c0780f, 0x00009908, 0x000023c6, 0x00007009, 0x000023c4, 0x0000f000,
- 0x00002c05, 0x00009583, 0x01c0680d, 0x00009908, 0x000023c6, 0x00007009,
- 0x00002c05, 0x00009583, 0x01c0600c, 0x00001928, 0x000023c6, 0x0000f029,
- 0x00003405, 0x00009583, 0x01c08010, 0x00009908, 0x000023c6, 0x00007009,
- 0x01c09012, 0x00001900, 0xffffffff, 0x00007f86, 0x01003807, 0x00009b00,
- 0x00072804, 0x0000e502, 0x01c02004, 0x00008900, 0x01400c05, 0x00001089,
- 0x000023cd, 0x0000f011, 0xf4403c05, 0x0000f88a, 0x79000000, 0x0000918d,
- 0x81402c05, 0x00009880, 0x81d03a05, 0x00001000, 0x80067a07, 0x00001582,
- 0x000023d2, 0x00007033, 0x81fff801, 0x00001980, 0x02000000, 0x00001981,
- 0x0e7ffa07, 0x0000f88b, 0x01000003, 0x00000080, 0xffffffff, 0x00007f86,
- 0x8a386a07, 0x0000a080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x01003c0d, 0x00001281, 0x00000c04, 0x00009583, 0x8100fa07, 0x00006290,
- 0x81402a07, 0x00000790, 0x011027e4, 0x00009810, 0x000023f5, 0x0000f008,
- 0x00000405, 0x00006583, 0x010020e5, 0x00000400, 0x04809004, 0x00001208,
- 0x00002408, 0x00007009, 0x00000c05, 0x00001583, 0x04408804, 0x00001208,
- 0x00002408, 0x00007009, 0x00001405, 0x00001583, 0x03c07804, 0x00001208,
- 0x00002408, 0x00007009, 0x00001c05, 0x00009583, 0x02c05804, 0x00001208,
- 0x00002408, 0x00007009, 0x00002405, 0x00001583, 0x02805004, 0x00001208,
- 0x00002408, 0x00007009, 0x00002c05, 0x00009583, 0x02404804, 0x00001208,
- 0x00002408, 0x00007009, 0x00002408, 0x0000f400, 0x00003405, 0x00009583,
- 0x04008004, 0x00001208, 0x00004c08, 0x00001583, 0x01801c08, 0x0000e2b1,
- 0x01000000, 0x000009b0, 0x01801c06, 0x000060b0, 0x3840e404, 0x000040b1,
- 0x00002405, 0x0000f018, 0x0107f800, 0x00009980, 0x01003004, 0x00001800,
- 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01400200, 0x0000f904,
- 0x0107fa07, 0x0000e280, 0x01402005, 0x00000200, 0x01803004, 0x00009800,
- 0x01803005, 0x00009300, 0x10003400, 0x00007904, 0x02000c08, 0x00006081,
- 0x0000200d, 0x0000a404, 0x8a386a07, 0x00002880, 0x81c00a07, 0x00009080,
- 0x80068207, 0x00009582, 0x01800000, 0x00006191, 0x81002a07, 0x00004790,
- 0x81c0fa07, 0x00006290, 0x01602404, 0x00000911, 0x00002439, 0x00007008,
- 0x00000405, 0x00006583, 0x01103fe4, 0x00008800, 0x010022ec, 0x00001100,
- 0x00002436, 0x00007019, 0x00001c06, 0x00009583, 0x01c0580b, 0x00009908,
- 0x00002429, 0x00007009, 0x00001c06, 0x00009583, 0x0000241f, 0x0000701b,
- 0x00000c06, 0x00001583, 0x01c08811, 0x00009908, 0x00002429, 0x00007009,
- 0x00001406, 0x00001583, 0x01c0780f, 0x00009908, 0x00002429, 0x00007009,
- 0x00002428, 0x0000f000, 0x00002c06, 0x00009583, 0x01c04809, 0x00009908,
- 0x00002429, 0x00007009, 0x00002c06, 0x00009583, 0x01c0500a, 0x00001928,
- 0x00002429, 0x0000f029, 0x00003406, 0x00009583, 0x01c08010, 0x00009908,
- 0x00002429, 0x00007009, 0x01c09012, 0x00001900, 0x00203405, 0x00009503,
- 0x01c02007, 0x00001208, 0xffffffff, 0x00007f86, 0x01c03807, 0x00009b00,
- 0x00072807, 0x0000e502, 0x03003807, 0x00000900, 0x81802c06, 0x00001890,
- 0x81d06206, 0x00001010, 0x00002436, 0x00007008, 0x0e467a07, 0x0000f89b,
- 0x01000001, 0x00000000, 0xf57ffa07, 0x0000f892, 0xc9000002, 0x00009281,
- 0x01800c06, 0x00009081, 0x00403c06, 0x0000c589, 0x7fe03005, 0x00007d1e,
- 0x3bc00060, 0x0000e180, 0x8620401e, 0x0000e087, 0x39d33000, 0x00007900,
- 0x00198f26, 0x00000980, 0x3b7b4800, 0x00007900, 0x00007fea, 0x00008980,
- 0xebb00600, 0x0000e101, 0x08001aae, 0x00006106, 0xabb81400, 0x00008a3c,
- 0x244620de, 0x0000f500, 0x2b78ef1c, 0x00000a30, 0xbbc1a800, 0x00006180,
- 0x3b80f01e, 0x0000c900, 0x00000001, 0x0000f080, 0x01000000, 0x00009980,
- 0x01400000, 0x00001980, 0x01800000, 0x00001980, 0x01c00000, 0x00009980,
- 0x02000000, 0x00009980, 0x02400000, 0x00001980, 0x02800000, 0x00001980,
- 0x02c00000, 0x00009980, 0x03000000, 0x00001980, 0x03400000, 0x00009980,
- 0x03800000, 0x00009980, 0x03c00000, 0x00001980, 0x04000000, 0x00009980,
- 0x04400000, 0x00001980, 0x04800000, 0x00001980, 0x04c00000, 0x00009980,
- 0x05000000, 0x00001980, 0x05400000, 0x00009980, 0x05800000, 0x00009980,
- 0x05c00000, 0x00001980, 0x06000000, 0x00001980, 0x06400000, 0x00009980,
- 0x06800000, 0x00009980, 0x06c00000, 0x00001980, 0x07000000, 0x00009980,
- 0x07400000, 0x00001980, 0x07800000, 0x00001980, 0x07c00000, 0x00009980,
- 0x08000000, 0x00009980, 0x08400000, 0x00001980, 0x08800000, 0x00001980,
- 0x08c00000, 0x00009980, 0x09000000, 0x00001980, 0x09400000, 0x00009980,
- 0x09800000, 0x00009980, 0x09c00000, 0x00001980, 0x0a000000, 0x00001980,
- 0x0a400000, 0x00009980, 0x0a800000, 0x00009980, 0x0ac00000, 0x00001980,
- 0x0b000000, 0x00009980, 0x0b400000, 0x00001980, 0x0b800000, 0x00001980,
- 0x0bc00000, 0x00009980, 0x0c000000, 0x00001980, 0x0c400000, 0x00009980,
- 0x0c800000, 0x00009980, 0x0cc00000, 0x00001980, 0x0d000000, 0x00009980,
- 0x0d400000, 0x00001980, 0x0d800000, 0x00001980, 0x0dc00000, 0x00009980,
- 0x0e000000, 0x00009980, 0x0e400000, 0x00001980, 0x0e800000, 0x00001980,
- 0x0ec00000, 0x00009980, 0x0f000000, 0x00001980, 0x0f400000, 0x00009980,
- 0x0f800000, 0x00009980, 0x0fc00000, 0x00001980, 0x10000000, 0x00009980,
- 0x10400000, 0x00001980, 0x10800000, 0x00001980, 0x10c00000, 0x00009980,
- 0x11000000, 0x00001980, 0x11400000, 0x00009980, 0x11800000, 0x00009980,
- 0x11c00000, 0x00001980, 0x12000000, 0x00001980, 0x12400000, 0x00009980,
- 0x12800000, 0x00009980, 0x12c00000, 0x00001980, 0x13000000, 0x00009980,
- 0x13400000, 0x00001980, 0x13800000, 0x00001980, 0x13c00000, 0x00009980,
- 0x14000000, 0x00001980, 0x14400000, 0x00009980, 0x14800000, 0x00009980,
- 0x14c00000, 0x00001980, 0x15000000, 0x00009980, 0x15400000, 0x00001980,
- 0x15800000, 0x00001980, 0x15c00000, 0x00009980, 0x16000000, 0x00009980,
- 0x16400000, 0x00001980, 0x16800000, 0x00001980, 0x16c00000, 0x00009980,
- 0x17000000, 0x00001980, 0x17400000, 0x00009980, 0x17800000, 0x00009980,
- 0x17c00000, 0x00001980, 0x18000000, 0x00001980, 0x18400000, 0x00009980,
- 0x18800000, 0x00009980, 0x18c00000, 0x00001980, 0x19000000, 0x00009980,
- 0x19400000, 0x00001980, 0x19800000, 0x00001980, 0x19c00000, 0x00009980,
- 0x1a000000, 0x00009980, 0x1a400000, 0x00001980, 0x1a800000, 0x00001980,
- 0x1ac00000, 0x00009980, 0x1b000000, 0x00001980, 0x1b400000, 0x00009980,
- 0x1b800000, 0x00009980, 0x1bc00000, 0x00001980, 0x1c000000, 0x00009980,
- 0x1c400000, 0x00001980, 0x1c800000, 0x00001980, 0x1cc00000, 0x00009980,
- 0x1d000000, 0x00001980, 0x1d400000, 0x00009980, 0x1d800000, 0x00009980,
- 0x1dc00000, 0x00001980, 0x1e000000, 0x00001980, 0x1e400000, 0x00009980,
- 0x1e800000, 0x00009980, 0x1ec00000, 0x00001980, 0x1f000000, 0x00009980,
- 0x1f400000, 0x00001980, 0x1f800000, 0x00001980, 0x1fc00000, 0x00009980,
- 0x20000000, 0x00009980, 0x20400000, 0x00001980, 0x20800000, 0x00001980,
- 0x20c00000, 0x00009980, 0x21000000, 0x00001980, 0x21400000, 0x00009980,
- 0x21800000, 0x00009980, 0x21c00000, 0x00001980, 0x22000000, 0x00001980,
- 0x22400000, 0x00009980, 0x22800000, 0x00009980, 0x22c00000, 0x00001980,
- 0x23000000, 0x00009980, 0x23400000, 0x00001980, 0x23800000, 0x00001980,
- 0x23c00000, 0x00009980, 0x24000000, 0x00001980, 0x24400000, 0x00009980,
- 0x24800000, 0x00009980, 0x24c00000, 0x00001980, 0x25000000, 0x00009980,
- 0x25400000, 0x00001980, 0x25800000, 0x00001980, 0x25c00000, 0x00009980,
- 0x26000000, 0x00009980, 0x26400000, 0x00001980, 0x26800000, 0x00001980,
- 0x26c00000, 0x00009980, 0x27000000, 0x00001980, 0x27400000, 0x00009980,
- 0x27800000, 0x00009980, 0x27c00000, 0x00001980, 0x28000000, 0x00001980,
- 0x28400000, 0x00009980, 0x28800000, 0x00009980, 0x28c00000, 0x00001980,
- 0x29000000, 0x00009980, 0x29400000, 0x00001980, 0x29800000, 0x00001980,
- 0x29c00000, 0x00009980, 0x2a000000, 0x00009980, 0x2a400000, 0x00001980,
- 0x2a800000, 0x00001980, 0x2ac00000, 0x00009980, 0x2b000000, 0x00001980,
- 0x2b400000, 0x00009980, 0x2b800000, 0x00009980, 0x2bc00000, 0x00001980,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xffffffff, 0x00007f86,
+ 0x00001c05, 0x00009583, 0x0200780f, 0x00009908, 0x000023c3, 0x00007009,
+ 0x00001c05, 0x00009583, 0x000023b8, 0x0000701b, 0x00000c05, 0x00001583,
+ 0x02004809, 0x00009908, 0x000023c3, 0x00007009, 0x00001405, 0x00001583,
+ 0x0200500a, 0x00009908, 0x000023c3, 0x00007009, 0x000023c1, 0x0000f000,
+ 0x00002c05, 0x00009583, 0x0200680d, 0x00009908, 0x000023c3, 0x00007009,
+ 0x00002c05, 0x00009583, 0x0200600c, 0x00001928, 0x000023c3, 0x0000f029,
+ 0x00003405, 0x00009583, 0x02008010, 0x00009908, 0x000023c3, 0x00007009,
+ 0x02009813, 0x00001900, 0xffffffff, 0x00007f86, 0x01004008, 0x00009b00,
+ 0x00072804, 0x0000e502, 0x02002004, 0x00008900, 0x01400c05, 0x00001089,
+ 0x000023ca, 0x00007011, 0xf3803c05, 0x0000788a, 0x61000000, 0x0000918d,
+ 0x81402c05, 0x00009880, 0x82104205, 0x00001000, 0x80067a08, 0x00001582,
+ 0x000023cf, 0x00007033, 0x823ff801, 0x00001980, 0x82800000, 0x000000e6,
+ 0x0e7ffa08, 0x0000f88b, 0x01000003, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x8a382a08, 0x00002080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
+ 0x01003c05, 0x00001283, 0x8100fa08, 0x00006288, 0x81402a08, 0x00000788,
+ 0x011027e4, 0x00009808, 0x000023f1, 0x00007010, 0x00000405, 0x00006583,
+ 0x010020e5, 0x00000400, 0x04c09804, 0x00001208, 0x00002406, 0x0000f009,
+ 0x00000c05, 0x00001583, 0x04809004, 0x00001208, 0x00002406, 0x0000f009,
+ 0x00001405, 0x00001583, 0x04408804, 0x00001208, 0x00002406, 0x0000f009,
+ 0x00001c05, 0x00009583, 0x03c07804, 0x00001208, 0x00002406, 0x0000f009,
+ 0x00002405, 0x00001583, 0x03006004, 0x00001208, 0x00002406, 0x0000f009,
+ 0x00002c05, 0x00009583, 0x02c05804, 0x00001208, 0x00002406, 0x0000f009,
+ 0x00002406, 0x00007400, 0x00003405, 0x00009583, 0x04008004, 0x00001208,
+ 0x00004c0a, 0x00009583, 0x01801c0a, 0x000062b1, 0x01000000, 0x000009b0,
+ 0x01801c06, 0x000060b0, 0x3840e404, 0x000040b1, 0x00002401, 0x00007018,
+ 0x0107f800, 0x00009980, 0x01003004, 0x00001800, 0x010020e5, 0x00009400,
+ 0xffffffff, 0x00007f86, 0x01400200, 0x0000f904, 0x0107fa08, 0x0000e280,
+ 0x01402005, 0x00000200, 0x01803004, 0x00009800, 0x01803005, 0x00009300,
+ 0x10003400, 0x00007904, 0x8a382a08, 0x00002080, 0x02800c0a, 0x00009081,
+ 0xffffffff, 0x00007f97, 0x00001805, 0x0000ec04, 0x8a382a08, 0x0000a880,
+ 0x82000a08, 0x00009080, 0x80068208, 0x00009582, 0x01c00000, 0x0000e191,
+ 0x81002a08, 0x00004790, 0x8200fa08, 0x00006290, 0x01a02404, 0x00000911,
+ 0x00002435, 0x00007008, 0x011047e4, 0x00001800, 0x014022ec, 0x00009100,
+ 0x00203c06, 0x00001503, 0x00002432, 0x0000701b, 0x00001c07, 0x00001583,
+ 0x0100780f, 0x00009908, 0x00002427, 0x0000f009, 0x00001c07, 0x00001583,
+ 0x0000241d, 0x0000f01b, 0x00000c07, 0x00009583, 0x01009012, 0x00009908,
+ 0x00002427, 0x0000f009, 0x00001407, 0x00009583, 0x01008811, 0x00009908,
+ 0x00002427, 0x0000f009, 0x00002426, 0x00007000, 0x00002c07, 0x00001583,
+ 0x0100580b, 0x00009908, 0x00002427, 0x0000f009, 0x00002c07, 0x00001583,
+ 0x0100600c, 0x00001928, 0x00002427, 0x00007029, 0x00003407, 0x00001583,
+ 0x01008010, 0x00009908, 0x00002427, 0x0000f009, 0x01009813, 0x00001900,
+ 0x00203c06, 0x00001503, 0x01002804, 0x00009208, 0xffffffff, 0x00007f86,
+ 0x02002004, 0x00009b00, 0x00072808, 0x0000e502, 0x01004008, 0x00008900,
+ 0x81c02c07, 0x00001890, 0x82102207, 0x00001010, 0x00002432, 0x0000f008,
+ 0x0d467a08, 0x0000f89b, 0xb1000000, 0x00001281, 0x01c00c07, 0x00009081,
+ 0x00003c07, 0x00009583, 0x0000240f, 0x00007013, 0x823ff801, 0x00001980,
+ 0x02400c09, 0x00009081, 0xf4bffa08, 0x00007892, 0x01000003, 0x00000080,
+ 0x3bc00060, 0x0000e180, 0x0420501e, 0x00006087, 0x8620481e, 0x00006087,
+ 0x08001aae, 0x00003106, 0x39f40800, 0x0000f900, 0x002f51f0, 0x00008980,
+ 0x3b73c800, 0x00007900, 0x00065644, 0x00008980, 0xaba00500, 0x00008a3a,
+ 0x2bf8e702, 0x00008a34, 0x24462240, 0x0000f500, 0x2b019f1d, 0x00000ebd,
+ 0x3b80f01e, 0x00009900, 0x00000001, 0x0000f080, 0x81c001e4, 0x000080b8,
+ 0x013f2fe5, 0x00008014, 0x01c00000, 0x00006181, 0x018728e5, 0x0000c900,
+ 0x00001c07, 0x00001583, 0x0940580b, 0x00009908, 0x00002462, 0x00007009,
+ 0x00001c07, 0x00001583, 0x00002457, 0x0000701b, 0x00000c07, 0x00009583,
+ 0x09404809, 0x00009908, 0x00002462, 0x00007009, 0x00001407, 0x00009583,
+ 0x0940780f, 0x00009908, 0x00002462, 0x00007009, 0x00002460, 0x0000f000,
+ 0x00002c07, 0x00001583, 0x0940680d, 0x00009908, 0x00002462, 0x00007009,
+ 0x00002c07, 0x00001583, 0x0940500a, 0x00001928, 0x00002462, 0x0000f029,
+ 0x00003407, 0x00001583, 0x09408010, 0x00009908, 0x00002462, 0x00007009,
+ 0x09409012, 0x00001900, 0xffffffff, 0x00007f86, 0x03012825, 0x00001b00,
+ 0x0007280c, 0x00006502, 0x0940600c, 0x00008900, 0x01c00c07, 0x00001089,
+ 0x00002469, 0x0000f011, 0x1b403c07, 0x0000788b, 0x59000000, 0x00001282,
+ 0x81c02c07, 0x00009880, 0x89512a07, 0x00009000, 0x80067a25, 0x00001582,
+ 0x0000246e, 0x00007033, 0x897ff801, 0x00001980, 0x87000000, 0x000001ce,
+ 0x3b3ffa25, 0x0000788b, 0x01000003, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x8a006225, 0x0000f902, 0x03800000, 0x00008000, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0x01c03c0c, 0x00009281, 0x00000c07, 0x00009583,
+ 0x00002407, 0x00001593, 0x8300fa25, 0x0000e290, 0x81c02a25, 0x00008790,
+ 0x031067e4, 0x00009810, 0x00002493, 0x00007008, 0x00000407, 0x0000e583,
+ 0x030060e5, 0x00000400, 0x0480900c, 0x00009208, 0x000024ba, 0x00007009,
+ 0x00000c07, 0x00009583, 0x0440880c, 0x00009208, 0x000024ba, 0x00007009,
+ 0x00001407, 0x00009583, 0x03c0780c, 0x00009208, 0x000024ba, 0x00007009,
+ 0x00001c07, 0x00001583, 0x02c0580c, 0x00009208, 0x000024ba, 0x00007009,
+ 0x00002407, 0x00009583, 0x0280500c, 0x00009208, 0x000024ba, 0x00007009,
+ 0x00002c07, 0x00001583, 0x0200400c, 0x00009208, 0x000024ba, 0x00007009,
+ 0x000024ba, 0x0000f400, 0x00003407, 0x00001583, 0x0400800c, 0x00009208,
+ 0x00004c1c, 0x00001583, 0x07401c1c, 0x0000e2b1, 0x03000000, 0x000089b0,
+ 0x07401c1d, 0x000060b0, 0x3840240c, 0x0000c0b1, 0x000024a3, 0x0000f018,
+ 0x0307f800, 0x00001980, 0x0300e80c, 0x00001800, 0x030060e5, 0x00009400,
+ 0xffffffff, 0x00007f86, 0x03400200, 0x00007904, 0x0307fa25, 0x00006280,
+ 0x0340600d, 0x00008200, 0x0740e80c, 0x00001800, 0x0740e80d, 0x00001300,
+ 0x1000ec00, 0x00007904, 0xc300870e, 0x0000e283, 0x07000c1c, 0x00000081,
+ 0x03000000, 0x00009990, 0x0011280c, 0x00006996, 0x24a92f3b, 0x00007310,
+ 0x0780600c, 0x00001910, 0xc300170e, 0x00001283, 0x24ab1aeb, 0x0000f113,
+ 0xc300470e, 0x00001283, 0x03000000, 0x00009990, 0x0011280c, 0x00006996,
+ 0x24b04202, 0x00007310, 0x0840600c, 0x00001910, 0xc300270e, 0x00001283,
+ 0x0310720e, 0x00001910, 0x24b34698, 0x0000f111, 0x24b5236d, 0x00007300,
+ 0x83112a25, 0x00001900, 0x8a006225, 0x0000f902, 0x03800000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x0000100c, 0x00006c04, 0x8a386225, 0x0000a880,
+ 0x89400a25, 0x00009080, 0x80068225, 0x00009582, 0x02400000, 0x00006191,
+ 0x81c02a25, 0x00004790, 0x8940fa25, 0x00009290, 0x000024e8, 0x00007008,
+ 0x03112fe4, 0x00009800, 0x074062ec, 0x00001100, 0x00204c07, 0x00001503,
+ 0x000024e5, 0x0000701b, 0x00001c09, 0x00009583, 0x0300580b, 0x00001908,
+ 0x000024da, 0x00007009, 0x00001c09, 0x00009583, 0x000024d0, 0x0000701b,
+ 0x00000c09, 0x00001583, 0x03008811, 0x00001908, 0x000024da, 0x00007009,
+ 0x00001409, 0x00001583, 0x0300780f, 0x00001908, 0x000024da, 0x00007009,
+ 0x000024d9, 0x00007000, 0x00002c09, 0x00009583, 0x03004008, 0x00001908,
+ 0x000024da, 0x00007009, 0x00002c09, 0x00009583, 0x0300500a, 0x00009928,
+ 0x000024da, 0x0000f029, 0x00003409, 0x00009583, 0x03008010, 0x00001908,
+ 0x000024da, 0x00007009, 0x03009012, 0x00009900, 0x00204c07, 0x00001503,
+ 0x0300e80c, 0x00009208, 0xffffffff, 0x00007f86, 0x0340600c, 0x00009b00,
+ 0x0007280d, 0x0000e502, 0x0300680d, 0x00000900, 0x82402c09, 0x00001890,
+ 0x89506209, 0x00001010, 0x000024e5, 0x0000f008, 0x3a067a25, 0x0000f89b,
+ 0x49000000, 0x00009287, 0x02400c09, 0x00009081, 0x00003c09, 0x00001583,
+ 0x000024c2, 0x0000f013, 0x897ff801, 0x00001980, 0x04c00c13, 0x00009081,
+ 0x1c7ffa25, 0x0000f893, 0x01000003, 0x00000080, 0x3bc00060, 0x0000e180,
+ 0x0420e006, 0x0000e087, 0x86209806, 0x0000e087, 0x08001aae, 0x00003106,
+ 0x39cc1800, 0x0000f900, 0x00198f26, 0x00000980, 0x3b43c800, 0x00007900,
+ 0x003ec9b2, 0x00000980, 0xaba00500, 0x00008a3a, 0x2bf82702, 0x00008a34,
+ 0x24f92240, 0x00007500, 0x2b019705, 0x00008ebd, 0x3b803006, 0x00009900,
+ 0x0000041c, 0x00001583, 0xb9183b07, 0x0000e108, 0x01000000, 0x00004990,
+ 0x81280500, 0x00006110, 0x01980005, 0x0000c990, 0x700040ec, 0x0000d690,
+ 0x00382544, 0x00008008, 0x700000ec, 0x00005690, 0x00000000, 0x00008080,
+ 0xc190720e, 0x00001910, 0x700000ec, 0x00005690, 0x00000000, 0x00008080,
+ 0x00000000, 0x0000f088, 0x700040ec, 0x00005680, 0x003837c0, 0x00000078,
+ 0x00c002ec, 0x0000df80, 0x1248500b, 0x00001684, 0xb9183b07, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x073f2fe5, 0x00008134,
+ 0x01400000, 0x0000e181, 0x078728e5, 0x0000c900, 0x00001c05, 0x00009583,
+ 0x01c0580b, 0x00009908, 0x00002527, 0x00007009, 0x00001c05, 0x00009583,
+ 0x0000251c, 0x0000f01b, 0x00000c05, 0x00001583, 0x01c08811, 0x00009908,
+ 0x00002527, 0x00007009, 0x00001405, 0x00001583, 0x01c0780f, 0x00009908,
+ 0x00002527, 0x00007009, 0x00002525, 0x0000f000, 0x00002c05, 0x00009583,
+ 0x01c0680d, 0x00009908, 0x00002527, 0x00007009, 0x00002c05, 0x00009583,
+ 0x01c0600c, 0x00001928, 0x00002527, 0x0000f029, 0x00003405, 0x00009583,
+ 0x01c08010, 0x00009908, 0x00002527, 0x00007009, 0x01c09012, 0x00001900,
+ 0xffffffff, 0x00007f86, 0x01003807, 0x00009b00, 0x00072804, 0x0000e502,
+ 0x01c02004, 0x00008900, 0x01400c05, 0x00001089, 0x0000252e, 0x00007011,
+ 0x4c803c05, 0x0000788b, 0x81000000, 0x00001288, 0x81402c05, 0x00009880,
+ 0x81d03a05, 0x00001000, 0x80067a07, 0x00001582, 0x00002533, 0x00007033,
+ 0x81fff801, 0x00001980, 0x02000000, 0x00001981, 0x66bffa07, 0x0000788b,
+ 0x01000003, 0x00000080, 0xffffffff, 0x00007f86, 0x8a386a07, 0x0000a080,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x01003c0d, 0x00001281,
+ 0x00000c04, 0x00009583, 0x8100fa07, 0x00006290, 0x81402a07, 0x00000790,
+ 0x011027e4, 0x00009810, 0x00002556, 0x0000f008, 0x00000405, 0x00006583,
+ 0x010020e5, 0x00000400, 0x04809004, 0x00001208, 0x00002569, 0x00007009,
+ 0x00000c05, 0x00001583, 0x04408804, 0x00001208, 0x00002569, 0x00007009,
+ 0x00001405, 0x00001583, 0x03c07804, 0x00001208, 0x00002569, 0x00007009,
+ 0x00001c05, 0x00009583, 0x02c05804, 0x00001208, 0x00002569, 0x00007009,
+ 0x00002405, 0x00001583, 0x02805004, 0x00001208, 0x00002569, 0x00007009,
+ 0x00002c05, 0x00009583, 0x02404804, 0x00001208, 0x00002569, 0x00007009,
+ 0x00002569, 0x0000f400, 0x00003405, 0x00009583, 0x04008004, 0x00001208,
+ 0x00004c08, 0x00001583, 0x01801c08, 0x0000e2b1, 0x01000000, 0x000009b0,
+ 0x01801c06, 0x000060b0, 0x3840e404, 0x000040b1, 0x00002566, 0x00007018,
+ 0x0107f800, 0x00009980, 0x01003004, 0x00001800, 0x010020e5, 0x00009400,
+ 0xffffffff, 0x00007f86, 0x01400200, 0x0000f904, 0x0107fa07, 0x0000e280,
+ 0x01402005, 0x00000200, 0x01803004, 0x00009800, 0x01803005, 0x00009300,
+ 0x10003400, 0x00007904, 0x02000c08, 0x00006081, 0x0000200d, 0x0000a404,
+ 0x8a386a07, 0x00002880, 0x81c00a07, 0x00009080, 0x80068207, 0x00009582,
+ 0x01800000, 0x00006191, 0x81002a07, 0x00004790, 0x81c0fa07, 0x00006290,
+ 0x01602404, 0x00000911, 0x0000259a, 0x0000f008, 0x00000405, 0x00006583,
+ 0x01103fe4, 0x00008800, 0x010022ec, 0x00001100, 0x00002597, 0x00007019,
+ 0x00001c06, 0x00009583, 0x01c0580b, 0x00009908, 0x0000258a, 0x0000f009,
+ 0x00001c06, 0x00009583, 0x00002580, 0x0000f01b, 0x00000c06, 0x00001583,
+ 0x01c08811, 0x00009908, 0x0000258a, 0x0000f009, 0x00001406, 0x00001583,
+ 0x01c0780f, 0x00009908, 0x0000258a, 0x0000f009, 0x00002589, 0x0000f000,
+ 0x00002c06, 0x00009583, 0x01c04809, 0x00009908, 0x0000258a, 0x0000f009,
+ 0x00002c06, 0x00009583, 0x01c0500a, 0x00001928, 0x0000258a, 0x00007029,
+ 0x00003406, 0x00009583, 0x01c08010, 0x00009908, 0x0000258a, 0x0000f009,
+ 0x01c09012, 0x00001900, 0x00203405, 0x00009503, 0x01c02007, 0x00001208,
+ 0xffffffff, 0x00007f86, 0x01c03807, 0x00009b00, 0x00072807, 0x0000e502,
+ 0x03003807, 0x00000900, 0x81802c06, 0x00001890, 0x81d06206, 0x00001010,
+ 0x00002597, 0x00007008, 0x66867a07, 0x0000789b, 0x01000001, 0x00000000,
+ 0x4dbffa07, 0x00007893, 0xd1000002, 0x0000128c, 0x01800c06, 0x00009081,
+ 0x00403c06, 0x0000c589, 0x7fe03005, 0x00007d1e, 0x3bc00060, 0x0000e180,
+ 0x8620401e, 0x0000e087, 0x39d33000, 0x00007900, 0x00198f26, 0x00000980,
+ 0x3b7b4800, 0x00007900, 0x00007fea, 0x00008980, 0xebb00600, 0x0000e101,
+ 0x08001aae, 0x00006106, 0xabb81400, 0x00008a3c, 0x25a72240, 0x00007500,
+ 0x2b78ef1c, 0x00000a30, 0xbbc1a800, 0x00006180, 0x3b80f01e, 0x0000c900,
+ 0x00000001, 0x0000f080, 0x01000000, 0x00009980, 0x01400000, 0x00001980,
+ 0x01800000, 0x00001980, 0x01c00000, 0x00009980, 0x02000000, 0x00009980,
+ 0x02400000, 0x00001980, 0x02800000, 0x00001980, 0x02c00000, 0x00009980,
+ 0x03000000, 0x00001980, 0x03400000, 0x00009980, 0x03800000, 0x00009980,
+ 0x03c00000, 0x00001980, 0x04000000, 0x00009980, 0x04400000, 0x00001980,
+ 0x04800000, 0x00001980, 0x04c00000, 0x00009980, 0x05000000, 0x00001980,
+ 0x05400000, 0x00009980, 0x05800000, 0x00009980, 0x05c00000, 0x00001980,
+ 0x06000000, 0x00001980, 0x06400000, 0x00009980, 0x06800000, 0x00009980,
+ 0x06c00000, 0x00001980, 0x07000000, 0x00009980, 0x07400000, 0x00001980,
+ 0x07800000, 0x00001980, 0x07c00000, 0x00009980, 0x08000000, 0x00009980,
+ 0x08400000, 0x00001980, 0x08800000, 0x00001980, 0x08c00000, 0x00009980,
+ 0x09000000, 0x00001980, 0x09400000, 0x00009980, 0x09800000, 0x00009980,
+ 0x09c00000, 0x00001980, 0x0a000000, 0x00001980, 0x0a400000, 0x00009980,
+ 0x0a800000, 0x00009980, 0x0ac00000, 0x00001980, 0x0b000000, 0x00009980,
+ 0x0b400000, 0x00001980, 0x0b800000, 0x00001980, 0x0bc00000, 0x00009980,
+ 0x0c000000, 0x00001980, 0x0c400000, 0x00009980, 0x0c800000, 0x00009980,
+ 0x0cc00000, 0x00001980, 0x0d000000, 0x00009980, 0x0d400000, 0x00001980,
+ 0x0d800000, 0x00001980, 0x0dc00000, 0x00009980, 0x0e000000, 0x00009980,
+ 0x0e400000, 0x00001980, 0x0e800000, 0x00001980, 0x0ec00000, 0x00009980,
+ 0x0f000000, 0x00001980, 0x0f400000, 0x00009980, 0x0f800000, 0x00009980,
+ 0x0fc00000, 0x00001980, 0x10000000, 0x00009980, 0x10400000, 0x00001980,
+ 0x10800000, 0x00001980, 0x10c00000, 0x00009980, 0x11000000, 0x00001980,
+ 0x11400000, 0x00009980, 0x11800000, 0x00009980, 0x11c00000, 0x00001980,
+ 0x12000000, 0x00001980, 0x12400000, 0x00009980, 0x12800000, 0x00009980,
+ 0x12c00000, 0x00001980, 0x13000000, 0x00009980, 0x13400000, 0x00001980,
+ 0x13800000, 0x00001980, 0x13c00000, 0x00009980, 0x14000000, 0x00001980,
+ 0x14400000, 0x00009980, 0x14800000, 0x00009980, 0x14c00000, 0x00001980,
+ 0x15000000, 0x00009980, 0x15400000, 0x00001980, 0x15800000, 0x00001980,
+ 0x15c00000, 0x00009980, 0x16000000, 0x00009980, 0x16400000, 0x00001980,
+ 0x16800000, 0x00001980, 0x16c00000, 0x00009980, 0x17000000, 0x00001980,
+ 0x17400000, 0x00009980, 0x17800000, 0x00009980, 0x17c00000, 0x00001980,
+ 0x18000000, 0x00001980, 0x18400000, 0x00009980, 0x18800000, 0x00009980,
+ 0x18c00000, 0x00001980, 0x19000000, 0x00009980, 0x19400000, 0x00001980,
+ 0x19800000, 0x00001980, 0x19c00000, 0x00009980, 0x1a000000, 0x00009980,
+ 0x1a400000, 0x00001980, 0x1a800000, 0x00001980, 0x1ac00000, 0x00009980,
+ 0x1b000000, 0x00001980, 0x1b400000, 0x00009980, 0x1b800000, 0x00009980,
+ 0x1bc00000, 0x00001980, 0x1c000000, 0x00009980, 0x1c400000, 0x00001980,
+ 0x1c800000, 0x00001980, 0x1cc00000, 0x00009980, 0x1d000000, 0x00001980,
+ 0x1d400000, 0x00009980, 0x1d800000, 0x00009980, 0x1dc00000, 0x00001980,
+ 0x1e000000, 0x00001980, 0x1e400000, 0x00009980, 0x1e800000, 0x00009980,
+ 0x1ec00000, 0x00001980, 0x1f000000, 0x00009980, 0x1f400000, 0x00001980,
+ 0x1f800000, 0x00001980, 0x1fc00000, 0x00009980, 0x20000000, 0x00009980,
+ 0x20400000, 0x00001980, 0x20800000, 0x00001980, 0x20c00000, 0x00009980,
+ 0x21000000, 0x00001980, 0x21400000, 0x00009980, 0x21800000, 0x00009980,
+ 0x21c00000, 0x00001980, 0x22000000, 0x00001980, 0x22400000, 0x00009980,
+ 0x22800000, 0x00009980, 0x22c00000, 0x00001980, 0x23000000, 0x00009980,
+ 0x23400000, 0x00001980, 0x23800000, 0x00001980, 0x23c00000, 0x00009980,
+ 0x24000000, 0x00001980, 0x24400000, 0x00009980, 0x24800000, 0x00009980,
+ 0x24c00000, 0x00001980, 0x25000000, 0x00009980, 0x25400000, 0x00001980,
+ 0x25800000, 0x00001980, 0x25c00000, 0x00009980, 0x26000000, 0x00009980,
+ 0x26400000, 0x00001980, 0x26800000, 0x00001980, 0x26c00000, 0x00009980,
+ 0x27000000, 0x00001980, 0x27400000, 0x00009980, 0x27800000, 0x00009980,
+ 0x27c00000, 0x00001980, 0x28000000, 0x00001980, 0x28400000, 0x00009980,
+ 0x28800000, 0x00009980, 0x28c00000, 0x00001980, 0x29000000, 0x00009980,
+ 0x29400000, 0x00001980, 0x29800000, 0x00001980, 0x29c00000, 0x00009980,
+ 0x2a000000, 0x00009980, 0x2a400000, 0x00001980, 0x2a800000, 0x00001980,
+ 0x2ac00000, 0x00009980, 0x2b000000, 0x00001980, 0x2b400000, 0x00009980,
+ 0x2b800000, 0x00009980, 0x2bc00000, 0x00001980, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x2a000ce0, 0x00006283, 0x01800000, 0x00000981,
- 0x823d56ec, 0x00002694, 0x2a371fe4, 0x00001810, 0x00000001, 0x00007088,
- 0x00000001, 0x0000f481, 0x2a0550a8, 0x00009202, 0x01800800, 0x00009991,
- 0x2b000000, 0x0000f900, 0x000010c4, 0x00008980, 0xaac02d00, 0x0000e080,
- 0x001830ac, 0x0000e106, 0xaaa80500, 0x00006100, 0xea980aab, 0x0000c080,
- 0x703d60ec, 0x0000d600, 0x003d5000, 0x00008000, 0x2a800004, 0x0000e180,
- 0xc15722e4, 0x0000c900, 0x2ac00000, 0x00007900, 0x00007fc0, 0x00000980,
- 0x822030aa, 0x00006080, 0x001830ab, 0x0000b186, 0x703d40ec, 0x00005600,
- 0x00383800, 0x00000000, 0xaa402d00, 0x00006080, 0x041710aa, 0x0000e187,
- 0x703d58ec, 0x00005600, 0x003d5000, 0x00008000, 0x00c002ec, 0x0000df80,
- 0x1249080b, 0x00001684, 0x252224f5, 0x0000f100, 0xb9182b05, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x01800000, 0x0000f900,
- 0x000010c4, 0x00008980, 0x8d802d00, 0x00006080, 0x0019a806, 0x0000e106,
- 0x81680500, 0x00006100, 0xc1580a36, 0x00004080, 0x703830ec, 0x0000d600,
- 0x00382800, 0x00008000, 0x01400004, 0x0000e180, 0xc11722e4, 0x00004900,
- 0x01800000, 0x0000f900, 0x00007fc0, 0x00000980, 0x8221a805, 0x00006080,
- 0x0019a806, 0x00003186, 0x7039a0ec, 0x00005600, 0x00383800, 0x00000000,
- 0xaa402d00, 0x00006080, 0x04171005, 0x0000e187, 0x703830ec, 0x0000d600,
- 0x00382800, 0x00008000, 0x00c002ec, 0x0000df80, 0x1249d80b, 0x00009684,
- 0x253c24f5, 0x0000f100, 0xb9182304, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x2a000ce0, 0x00006283, 0x01c00000, 0x00008981, 0x823d4eec, 0x00002694,
+ 0x2a371fe4, 0x00001810, 0x00000001, 0x00007088, 0x00000001, 0x0000f481,
+ 0x2a0548a8, 0x00009202, 0x01c00800, 0x00001991, 0x2b400000, 0x00007900,
+ 0x000010c4, 0x00008980, 0x81c02d00, 0x0000e080, 0x001d48ad, 0x00006106,
+ 0xaa280500, 0x0000e100, 0xea180a07, 0x00004080, 0x703d68ec, 0x00005600,
+ 0x003d4000, 0x00000000, 0x2a000004, 0x00006180, 0xc15722e4, 0x0000c900,
+ 0x2b400000, 0x00007900, 0x00007fc0, 0x00000980, 0x822548a8, 0x0000e080,
+ 0x001d48ad, 0x0000b186, 0x703d58ec, 0x00005600, 0x003d5000, 0x00008000,
+ 0xab002d00, 0x00006080, 0x041710a8, 0x00006187, 0x703d68ec, 0x00005600,
+ 0x003d4000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1254100b, 0x00001684,
+ 0x26832656, 0x0000f100, 0xb9182b05, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x01800000, 0x0000f900, 0x000010c4, 0x00008980,
+ 0x8d802d00, 0x00006080, 0x0019a806, 0x0000e106, 0x81680500, 0x00006100,
+ 0xc1580a36, 0x00004080, 0x703830ec, 0x0000d600, 0x00382800, 0x00008000,
+ 0x01400004, 0x0000e180, 0xc11722e4, 0x00004900, 0x01800000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0x8221a805, 0x00006080, 0x0019a806, 0x00003186,
+ 0x7039a0ec, 0x00005600, 0x00383800, 0x00000000, 0xab002d00, 0x00006080,
+ 0x04171005, 0x0000e187, 0x703830ec, 0x0000d600, 0x00382800, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x1254e00b, 0x00001684, 0x269d2656, 0x0000f100,
+ 0xb9182304, 0x00001900, 0x01a03c07, 0x00001901, 0xffffffff, 0x00007f97,
0x00000000, 0x00007083, 0x203870ec, 0x00002080, 0x01a06fe4, 0x00009800,
0xffffffff, 0x00007f97, 0x01807006, 0x00001202, 0x3bc00060, 0x00006190,
0xebb00600, 0x00004911, 0xbbc01800, 0x0000e190, 0xaba80500, 0x0000c911,
0x00000001, 0x00007088, 0x39d90000, 0x00007900, 0x0019b31e, 0x00008980,
0x3b57f800, 0x00007900, 0x0019b31e, 0x00008980, 0x2bc01002, 0x0000e100,
- 0x08001aae, 0x00006106, 0x000020de, 0x0000f400, 0x2b78670d, 0x00000a30,
- 0x3b803807, 0x00009900, 0xc000070e, 0x00001583, 0x03400000, 0x00006190,
- 0x03c00000, 0x0000c990, 0x83d81302, 0x0000e110, 0x43726280, 0x00004990,
- 0x0000255d, 0x00007008, 0x780408ec, 0x00005680, 0x00000000, 0x00008080,
- 0x783878ec, 0x00005600, 0x00386800, 0x00000000, 0x780000ec, 0x00005680,
- 0x00000040, 0x00000080, 0x03000000, 0x00006180, 0x03400001, 0x00004980,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00000001, 0x00007480,
- 0x0410700c, 0x00006187, 0x0030700d, 0x00003102, 0x703868ec, 0x00005600,
- 0x00386000, 0x00008000, 0x8a00621e, 0x00002080, 0x8a004a1e, 0x0000a081,
- 0x07400000, 0x00001980, 0xffffffff, 0x00007f86, 0x0f60640c, 0x0000e802,
- 0x0240440c, 0x00006081, 0x09006409, 0x00008081, 0x8300121d, 0x00001880,
- 0x0fc0580c, 0x0000f902, 0x08400000, 0x00008004, 0x0fb9160c, 0x00002004,
- 0xffffffff, 0x00007f97, 0x0020f40b, 0x00001503, 0x03000f22, 0x00009189,
- 0x000025a3, 0x00007011, 0x00000c0c, 0x00001583, 0x03000000, 0x000019b0,
- 0x4320ec1d, 0x0000e131, 0x03212424, 0x00004931, 0x000025a3, 0x00007018,
- 0x257c3691, 0x00007300, 0x12c0600c, 0x00009900, 0x03000000, 0x00001980,
- 0x0020480c, 0x0000e886, 0x25813691, 0x0000f500, 0x8220e80c, 0x0000e886,
- 0x12c0600c, 0x00009900, 0x03001000, 0x00009980, 0x25853691, 0x00007500,
- 0x8220e80c, 0x0000e886, 0x12c0600c, 0x00009900, 0x03000800, 0x00009980,
- 0x25893691, 0x00007500, 0x8220e80c, 0x0000e886, 0x12c0600c, 0x00009900,
- 0x03002000, 0x00009980, 0x258d3691, 0x0000f500, 0x8220e80c, 0x0000e886,
- 0x12c0600c, 0x00009900, 0x03001800, 0x00001980, 0x25913691, 0x00007500,
- 0x8220e80c, 0x0000e886, 0x12c0600c, 0x00009900, 0x03000000, 0x00001980,
- 0x25953691, 0x0000f500, 0x8220e80c, 0x0000e886, 0x12c0600c, 0x00009900,
- 0x03002800, 0x00001980, 0x25993691, 0x0000f500, 0x8220e80c, 0x0000e886,
- 0x12c0600c, 0x00009900, 0x03003000, 0x00001980, 0x259d3691, 0x00007500,
- 0x8220e80c, 0x0000e886, 0x12c0600c, 0x00009900, 0x80000221, 0x00009582,
- 0x0300e81d, 0x00001910, 0x25a039d5, 0x00007111, 0x4000050b, 0x00001583,
- 0x02e0ec1d, 0x00001911, 0x25a33c8d, 0x0000f111, 0x0740081d, 0x00009080,
- 0x0006801d, 0x00001582, 0x0000256d, 0x00007013, 0x00000001, 0x0000f080,
- 0x0107f809, 0x0000e280, 0x0e40500a, 0x00000900, 0x25ac2158, 0x0000f500,
- 0x0e382f06, 0x0000001c, 0x01802004, 0x00009900, 0xffc00000, 0x00006180,
- 0x05c00020, 0x0000c980, 0x01000000, 0x0000e180, 0x00001817, 0x0000e106,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04184004, 0x00006187,
- 0xc0001817, 0x00003006, 0x05001000, 0x00007900, 0x00004000, 0x00000980,
- 0x05400000, 0x00007900, 0x000403d0, 0x00008980, 0x700708ec, 0x0000d680,
- 0x00382002, 0x00008000, 0x05801002, 0x00001900, 0x00882eec, 0x00005f80,
- 0x00004000, 0x00008084, 0x0878670d, 0x00000200, 0x0880700e, 0x0000e100,
- 0x00210806, 0x00006086, 0x08c0780f, 0x00006100, 0x82290806, 0x0000e086,
- 0x09008010, 0x0000e100, 0x04190806, 0x00006187, 0x01f88f06, 0x00000214,
- 0x1bbd2800, 0x0000f900, 0x000dac98, 0x00008980, 0x09b89f12, 0x0000021c,
- 0x1c386707, 0x00000704, 0xffffffff, 0x0000ffd7, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100,
- 0x00002004, 0x0000e586, 0x1bc03006, 0x0000e100, 0x04290804, 0x00006087,
- 0x25d42178, 0x00007500, 0x86210804, 0x00006887, 0x1b402004, 0x00001900,
- 0x00405421, 0x00004589, 0x01807c21, 0x00008388, 0x25d9250b, 0x0000f404,
- 0x2a387f0e, 0x0000801c, 0x01809900, 0x00001980, 0x00000406, 0x00009583,
- 0x813f1fe3, 0x00001908, 0x8a002204, 0x0000a088, 0x000025e2, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x01003c04, 0x00001281, 0x01001404, 0x00001181,
- 0x00000c04, 0x00009583, 0x000025e7, 0x0000701b, 0xc1387806, 0x00000014,
- 0x000025fd, 0x00007400, 0x02926000, 0x0000f900, 0x00033fce, 0x00000980,
- 0x02787704, 0x00000018, 0x30382aa9, 0x00002080, 0x06000000, 0x000081e4,
- 0x06c00000, 0x000081e8, 0x00002610, 0x00007400, 0xffffffff, 0x00007f86,
- 0x06202c05, 0x00001901, 0x25f0250b, 0x00007404, 0x2a387f0e, 0x0000801c,
- 0x01809900, 0x00001980, 0x00000406, 0x00009583, 0x813f1fe3, 0x00001908,
- 0x8a002204, 0x0000a088, 0x000025f9, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x01003c04, 0x00001281, 0x01001404, 0x00001181, 0x00000c04, 0x00009583,
- 0x000025fe, 0x0000f01b, 0xc1387806, 0x00000014, 0x0293a000, 0x00007900,
- 0x00033fce, 0x00000980, 0x02787704, 0x00000018, 0x25fe25a7, 0x00007100,
- 0x30382aa9, 0x00002080, 0x06000100, 0x000001e4, 0x06c00000, 0x000081e8,
- 0x00002610, 0x00007400, 0xffffffff, 0x00007f86, 0x06202c05, 0x00001901,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x040f5000, 0x00007900,
- 0x00033fce, 0x00000980, 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x261020b1, 0x00007500, 0x04b86f20, 0x0000003c, 0x81c02800, 0x00001980,
- 0x05c00020, 0x0000e180, 0x01000000, 0x0000c980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x00001817, 0x0000e106, 0x04184004, 0x00003187,
- 0x07800000, 0x000081fc, 0x05001000, 0x00007900, 0x00008000, 0x00000980,
- 0x05400000, 0x00007900, 0x000483d0, 0x00000980, 0x07009000, 0x00007900,
- 0x0000c4c0, 0x00000980, 0x07400000, 0x0000f900, 0x00010000, 0x00000980,
- 0xc0001817, 0x00006006, 0xc000181f, 0x0000b006, 0x700708ec, 0x0000d680,
- 0x00382002, 0x00008000, 0x07b81502, 0x00000118, 0x00902eec, 0x00005f80,
- 0x008841c0, 0x000001c4, 0x86c01630, 0x00006283, 0x93c00c19, 0x00008880,
- 0x11400000, 0x0000e180, 0x0a41824b, 0x0000e100, 0x4381044f, 0x0000f902,
- 0x12000000, 0x00008004, 0x11800020, 0x00006180, 0x09020c21, 0x0000e006,
- 0x43ba264f, 0x00003024, 0x0ec14446, 0x0000e000, 0x0bc18546, 0x00003000,
- 0x00002651, 0x0000f408, 0x11c00000, 0x00006180, 0x08001f2c, 0x0000c281,
- 0xd1b30e61, 0x0000e101, 0x93d25b28, 0x0000c100, 0x80198a4f, 0x0000e502,
- 0x88404421, 0x00008180, 0x48004530, 0x00001283, 0xc0198b20, 0x00001502,
- 0x00002658, 0x00007010, 0x00002658, 0x00007010, 0x00002658, 0x0000f018,
- 0x80000221, 0x00006582, 0x12c00000, 0x00000981, 0x12c00800, 0x00009989,
- 0xffffffff, 0x00007f86, 0x14625846, 0x0000e801, 0xc9c00331, 0x0000c488,
- 0x9c400430, 0x00008994, 0xc9c01c20, 0x00004488, 0xac518948, 0x0000891c,
- 0x95804530, 0x0000f897, 0x01000001, 0x00008080, 0xc6d30260, 0x00009900,
- 0x48004528, 0x00001283, 0x000888ec, 0x0000d788, 0x00004800, 0x00008080,
- 0x0000265a, 0x00007011, 0x00000001, 0x0000f080, 0x00000046, 0x00006c01,
- 0x00f18948, 0x0000c51b, 0x80604530, 0x00007f94, 0x88402c21, 0x00009180,
- 0xcb11894f, 0x0000c412, 0xb0404530, 0x00000994, 0x96198b20, 0x0000781b,
- 0xe9000000, 0x00001381, 0x00002648, 0x0000f200, 0x20000846, 0x00006c01,
- 0x00002641, 0x0000f200, 0x12c00000, 0x00009981, 0x08001d5d, 0x0000e281,
- 0x0d81544f, 0x0000a002, 0x00001c20, 0x0000e583, 0x12c0c44f, 0x00008080,
- 0x0801444f, 0x00006002, 0x00000046, 0x00003409, 0x00000c4f, 0x00006583,
- 0x12800000, 0x00000980, 0x68390a4b, 0x00002084, 0x93d98ae5, 0x0000e408,
- 0x12c00000, 0x00008980, 0x08127a5a, 0x0000e008, 0x12c1ff5a, 0x00000281,
- 0xd292d25a, 0x0000e110, 0x13f30fe4, 0x0000c800, 0xd2910320, 0x0000e008,
- 0x1242f85f, 0x00008900, 0x0001444b, 0x00006583, 0x1202604c, 0x00000900,
- 0x11e28c51, 0x0000e109, 0x12c01000, 0x0000c989, 0x11fabf57, 0x0000e111,
- 0x12c00800, 0x0000c991, 0x0822004f, 0x0000f900, 0x00000010, 0x00000282,
- 0x51eaed5d, 0x00009901, 0x08000000, 0x0000f910, 0x001401c0, 0x00000980,
- 0x0000267f, 0x00007008, 0x00000445, 0x00001583, 0x08026020, 0x0000e202,
- 0xd1da634c, 0x00008910, 0x00002691, 0x00007013, 0x00000001, 0x00007480,
- 0x001088ec, 0x00005780, 0x00884d00, 0x000081c0, 0xc5002714, 0x00009081,
- 0x0815004f, 0x00007900, 0x00000008, 0x00000282, 0xd1d2624c, 0x00001910,
- 0x00002691, 0x0000f009, 0x8000025a, 0x00009582, 0x88000b31, 0x00001890,
- 0x0811034a, 0x00001010, 0x00002696, 0x0000f008, 0xd2910320, 0x00009000,
- 0x0804004f, 0x00009282, 0x92910a21, 0x00001910, 0x92990b21, 0x00001908,
- 0x0000267b, 0x0000f010, 0x8804064c, 0x00009283, 0xc801ff4c, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00002691, 0x00007010, 0x0000267b, 0x0000f008,
- 0x00000001, 0x00007480, 0xc5002714, 0x00006081, 0x00000046, 0x00002401,
- 0x001088ec, 0x00005780, 0x00884d00, 0x000081c0, 0x00002688, 0x0000f200,
- 0xd2800000, 0x00009980, 0x43004528, 0x00009283, 0x03401d2a, 0x00006289,
- 0x0d81540c, 0x0000a00a, 0x000026a4, 0x0000f011, 0x00000c0d, 0x00009583,
- 0x8520640c, 0x00009908, 0xc9fa5614, 0x0000a088, 0x000026b5, 0x00007008,
- 0x43001d2a, 0x00009283, 0x8520640c, 0x00009908, 0xc9fa5614, 0x00002008,
- 0x000026b5, 0x00007008, 0x00000c44, 0x00001583, 0x000026f1, 0x0000700b,
- 0x03018745, 0x00001281, 0x0001840c, 0x00009583, 0x007a36ec, 0x0000d714,
- 0x003a2800, 0x00000000, 0x000004ec, 0x00005794, 0x00000002, 0x0000aa80,
- 0x000026e3, 0x00007008, 0x00001cec, 0x0000d784, 0x00000014, 0x00000480,
- 0x03400000, 0x00007900, 0x0002001e, 0x00000980, 0x00000001, 0x00007480,
- 0x30ea200d, 0x0000e880, 0x20386cec, 0x0000d704, 0x00195019, 0x00000480,
- 0x0000004a, 0x00001582, 0x000026a4, 0x0000700b, 0x0502504a, 0x00006300,
- 0x03400000, 0x0000c980, 0xbac06a14, 0x00002081, 0xc1c004ec, 0x00005080,
- 0x00400000, 0x00008000, 0x18400c61, 0x0000e181, 0x0300a7e4, 0x00000800,
- 0xc1f926ec, 0x0000b838, 0xc1f86aec, 0x00002880, 0xc23930ec, 0x00003838,
+ 0x08001aae, 0x00006106, 0x00002240, 0x0000f400, 0x2b78670d, 0x00000a30,
+ 0x3b803807, 0x00009900, 0xc000070f, 0x00009583, 0x15810251, 0x0000e090,
+ 0x8340240f, 0x00008890, 0x83207a0d, 0x00006110, 0x03808000, 0x00000990,
+ 0x000026df, 0x00007008, 0x8357c20c, 0x00007900, 0x00000006, 0x00008080,
+ 0x83928a0e, 0x00006000, 0x0b428858, 0x0000a180, 0x8300160f, 0x0000e080,
+ 0x0f80700e, 0x00006182, 0x83000a58, 0x00006180, 0x93c03a0c, 0x00008080,
+ 0x15d0600e, 0x00009200, 0x0000600d, 0x0000f902, 0x03800000, 0x00008000,
+ 0x09401857, 0x00009880, 0x03c0f825, 0x00001784, 0xffffffff, 0x00007f86,
+ 0x15406025, 0x00006002, 0x03002057, 0x00008080, 0x00006058, 0x00006502,
+ 0x1500700f, 0x00008004, 0x000026f6, 0x0000f00b, 0x03100000, 0x0000e180,
+ 0x03800060, 0x0000c980, 0xc3106a4f, 0x00006000, 0x8380320d, 0x00008080,
+ 0x700100ec, 0x00005680, 0x003860e0, 0x00008010, 0x703870ec, 0x00005600,
+ 0x00000000, 0x00008080, 0x703ab0ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x03180006, 0x00006180, 0x10000826, 0x0000e401, 0x703aa8ec, 0x0000d600,
+ 0x003aa000, 0x00000000, 0x00000001, 0x00007480, 0xc9c00b27, 0x00006080,
+ 0x0418100c, 0x00002187, 0x700100ec, 0x00005680, 0x003867c0, 0x00000078,
+ 0x8340240f, 0x0000e080, 0x03800000, 0x0000c980, 0x83207a0d, 0x0000e100,
+ 0x83928a0e, 0x00000000, 0x8357c20c, 0x00007900, 0x00000006, 0x00008080,
+ 0x8300160f, 0x0000e080, 0x0f80700e, 0x00006182, 0x93c03a0c, 0x0000e080,
+ 0x0b42880f, 0x00002180, 0x0039280d, 0x0000a080, 0x15928a51, 0x0000e100,
+ 0x83000a0f, 0x00004180, 0x0310600e, 0x00001200, 0x0038700d, 0x00002000,
+ 0x0300200c, 0x00006080, 0x1540180c, 0x00000880, 0x15412855, 0x00006002,
+ 0x1500f855, 0x00008784, 0xffffffff, 0x00007f86, 0x0000600f, 0x0000e502,
+ 0x15007054, 0x00000004, 0x000026cc, 0x0000f013, 0x80001250, 0x0000e582,
+ 0x83000a0d, 0x00008080, 0x0038780c, 0x0000a0b0, 0x0039280d, 0x0000a0b0,
+ 0xc9c00b27, 0x00006098, 0x10000826, 0x00002419, 0xffffffff, 0x00007f86,
+ 0x0038780d, 0x0000a8b0, 0x0038780c, 0x00002030, 0x0039280c, 0x00005030,
+ 0x00387000, 0x00000000, 0x03800a50, 0x00001198, 0x000026cc, 0x0000f430,
+ 0xffffffff, 0x00007f86, 0x0038780d, 0x00002830, 0x03da8350, 0x00009900,
+ 0x0000700f, 0x00009502, 0x83800000, 0x0000e188, 0x83800b50, 0x00004090,
+ 0xffffffff, 0x00007f86, 0x03801a0e, 0x00006080, 0xd410720e, 0x0000c900,
+ 0x0942980e, 0x00001002, 0x0000700c, 0x0000f902, 0x03000000, 0x00000000,
+ 0x03c00052, 0x00001084, 0xffffffff, 0x00007f97, 0x0038700d, 0x0000d000,
+ 0x00386000, 0x00008000, 0x03800060, 0x0000e180, 0x03000000, 0x00004980,
+ 0x8380320d, 0x0000e080, 0xc3000a0d, 0x00000080, 0x700040ec, 0x00005680,
+ 0x003860c0, 0x00000010, 0x03180006, 0x00001980, 0x703928ec, 0x00005600,
+ 0x00387800, 0x00008000, 0x0418100c, 0x00006987, 0x700040ec, 0x00005680,
+ 0x003867c0, 0x00000078, 0x03100000, 0x00009980, 0xc3106a4f, 0x00009000,
+ 0x700100ec, 0x00005680, 0x003860e0, 0x00008010, 0x703870ec, 0x00005600,
+ 0x00000000, 0x00008080, 0x703ab0ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x03180006, 0x00001980, 0x703aa8ec, 0x0000d600, 0x003aa000, 0x00000000,
+ 0x00000001, 0x00007480, 0x0418100c, 0x00006987, 0x700100ec, 0x00005680,
+ 0x003867c0, 0x00000078, 0x82007a51, 0x00001282, 0x82400c0a, 0x0000e088,
+ 0x8202050a, 0x00004088, 0x82504c0a, 0x00009008, 0x0000273a, 0x00007010,
+ 0x82504a08, 0x00009000, 0x00204009, 0x00002080, 0x82410251, 0x00001080,
+ 0xffffffff, 0x00007f97, 0x80104209, 0x00001502, 0x09800c26, 0x000010d9,
+ 0x00002759, 0x0000f071, 0x82408207, 0x00006180, 0x0f828808, 0x0000a004,
+ 0x80128a09, 0x0000e502, 0x0bc13407, 0x0000a000, 0x82400000, 0x00009980,
+ 0x82400800, 0x000099f0, 0xffffffff, 0x00007f86, 0x01c01c51, 0x00006281,
+ 0x02604c07, 0x00008201, 0x00001407, 0x00006583, 0x14604826, 0x0000a001,
+ 0x0240240a, 0x00009880, 0x02605009, 0x00009100, 0x02403809, 0x00009080,
+ 0x82504209, 0x00009000, 0xaf805009, 0x0000f902, 0x02000000, 0x00000004,
+ 0x00002755, 0x0000f40b, 0xffffffff, 0x00007f86, 0x81d04208, 0x00001908,
+ 0xffffffff, 0x00007f86, 0x00001c07, 0x00001583, 0x81d84308, 0x00001908,
+ 0x00002755, 0x0000f009, 0x00000c07, 0x00009583, 0x81d8530a, 0x00006108,
+ 0x81d0520a, 0x00004910, 0x00000001, 0x00007480, 0x94400a51, 0x00006080,
+ 0x20000026, 0x0000a401, 0x89c00a27, 0x00009080, 0x82002626, 0x00009283,
+ 0x02000000, 0x0000f908, 0x00004000, 0x00000980, 0x0220540a, 0x00006109,
+ 0x4228550a, 0x0000c909, 0x0000273a, 0x00007010, 0x0f028a09, 0x0000e800,
+ 0x273a26b3, 0x0000f500, 0x82000c09, 0x00001481, 0x03c04008, 0x00009900,
+ 0x0000273a, 0x0000f000, 0x02000002, 0x00001980, 0x00000001, 0x00007480,
+ 0xc2280500, 0x00001900, 0x770000ec, 0x00005680, 0x00384000, 0x00000000,
+ 0xc19722e4, 0x0000e100, 0x00000826, 0x00006401, 0x04400000, 0x00006180,
+ 0x44000d10, 0x0000c081, 0x82671800, 0x00009980, 0x27702764, 0x0000f300,
+ 0x04000c10, 0x00009081, 0x2c007c0c, 0x00001680, 0x834588b0, 0x00001000,
+ 0xafba9c0d, 0x0000d004, 0x003a9000, 0x00000000, 0xafb88e0d, 0x00005004,
+ 0x003a8800, 0x00000000, 0xaffa800d, 0x0000d004, 0x00393800, 0x00008000,
+ 0xaff8820d, 0x0000d004, 0x00393000, 0x00000000, 0x00c002ec, 0x0000df80,
+ 0x125be00b, 0x00001684, 0x2c007c0c, 0x00001680, 0x820588b0, 0x00001000,
+ 0x80000a09, 0x0000e582, 0x81c0240c, 0x00000880, 0xaf829c08, 0x0000f902,
+ 0x14800000, 0x00000004, 0xaf808e08, 0x00007902, 0x14400000, 0x00000004,
+ 0xafc28008, 0x0000f902, 0x09c00000, 0x00008004, 0xafc08208, 0x0000f902,
+ 0x09800000, 0x00000004, 0x82206207, 0x00009100, 0x82003208, 0x00001080,
+ 0xafa03808, 0x0000a084, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x80103a51, 0x00009502, 0xffffffff, 0x00007f86,
+ 0x000027bb, 0x00007008, 0x000027b0, 0x0000f010, 0x27942764, 0x0000f300,
+ 0x04000c10, 0x00009081, 0xafba9c0d, 0x0000d004, 0x003a9000, 0x00000000,
+ 0xafb88e0d, 0x00005004, 0x003a8800, 0x00000000, 0xaffa800d, 0x0000d004,
+ 0x00393800, 0x00008000, 0xaff8820d, 0x0000d004, 0x00393000, 0x00000000,
+ 0x00c002ec, 0x0000df80, 0x125cf00b, 0x00001684, 0x2c007c0c, 0x00001680,
+ 0x834588b0, 0x00001000, 0x82401209, 0x0000e180, 0x8200240c, 0x00000880,
+ 0xaf829c0d, 0x0000f902, 0x14800000, 0x00000004, 0xaf808e0d, 0x00007902,
+ 0x14400000, 0x00000004, 0xafc2800d, 0x0000f902, 0x09c00000, 0x00008004,
+ 0xafc0820d, 0x0000f902, 0x09800000, 0x00000004, 0x83606208, 0x00009100,
+ 0x8200320d, 0x00001080, 0xafa03808, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x80103a51, 0x00009502, 0x0000276e, 0x0000f00b, 0x02000000, 0x0000e180,
+ 0x00000026, 0x0000e401, 0x80388aec, 0x0000d604, 0x00000000, 0x00008080,
+ 0x00206008, 0x00006886, 0x27b8272e, 0x0000f500, 0x82286008, 0x0000e886,
+ 0x02804008, 0x00009900, 0xb9183306, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0402c800, 0x00007900, 0x001aa58e, 0x00000980, 0x044c1000, 0x00007900,
+ 0x001c5f2a, 0x00008980, 0x04800000, 0x000080dc, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x27c72213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x81401000, 0x00001980, 0x00000000, 0x00007080, 0xc0001f48, 0x00006583,
+ 0x82d722e4, 0x00000900, 0x40001506, 0x000015b3, 0x82802748, 0x000018b0,
+ 0x000027f1, 0x0000f019, 0x2c007f48, 0x00001680, 0x820588b0, 0x00001000,
+ 0xaf829c08, 0x0000f902, 0x14800000, 0x00000004, 0xaf808e08, 0x00007902,
+ 0x14400000, 0x00000004, 0xafc28008, 0x0000f902, 0x09c00000, 0x00008004,
+ 0xafc08208, 0x0000f902, 0x09800000, 0x00000004, 0x823a420a, 0x00001100,
+ 0x82003208, 0x00001080, 0xafa03808, 0x0000a084, 0x82128a51, 0x00009900,
+ 0xffffffff, 0x00007f97, 0xfc003c51, 0x00004468, 0xfe403c51, 0x00008917,
+ 0x06401626, 0x0000c58f, 0x08c00e26, 0x0000048d, 0x02000000, 0x00009980,
+ 0x003a4008, 0x00006886, 0x27e5272e, 0x00007500, 0x82283008, 0x0000e886,
+ 0x02804008, 0x00009900, 0xb9105a0b, 0x00001900, 0x2c007f48, 0x00001680,
+ 0x820588b0, 0x00001000, 0xafba9c08, 0x0000d004, 0x003a9000, 0x00000000,
+ 0xafb88e08, 0x00005004, 0x003a8800, 0x00000000, 0xaffa8008, 0x0000d004,
+ 0x00393800, 0x00008000, 0x00000000, 0x0000f280, 0xaff88208, 0x0000d004,
+ 0x00393000, 0x00000000, 0x01c00000, 0x0000e180, 0x01400020, 0x0000c980,
+ 0x04050800, 0x0000f900, 0x001aa58e, 0x00000980, 0x044cb000, 0x00007900,
+ 0x003216a2, 0x00000980, 0x03400000, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x03f81702, 0x00000108, 0x27ff2213, 0x00007500,
+ 0x41d24000, 0x0000801d, 0x8141b800, 0x00006180, 0x41e83506, 0x00004901,
+ 0x02000000, 0x0000e180, 0x00128804, 0x0000e186, 0x00280008, 0x00006086,
+ 0x04103804, 0x0000b187, 0x01400020, 0x0000e180, 0x043a4008, 0x0000e087,
+ 0x82283008, 0x00006086, 0x08001a0b, 0x00003106, 0x0420d800, 0x0000f900,
+ 0x001aa58e, 0x00000980, 0x045ff000, 0x00007900, 0x003c5312, 0x00008980,
+ 0x82e00500, 0x0000802e, 0x03f81702, 0x00000108, 0x0341bf04, 0x00000095,
+ 0x01c04008, 0x00001900, 0x28102213, 0x00007100, 0x82800f48, 0x00001880,
+ 0x82905748, 0x00001000, 0x82905506, 0x00009000, 0x8282020a, 0x00009080,
+ 0x0020480a, 0x0000a080, 0x82810208, 0x00001080, 0xffffffff, 0x00007f97,
+ 0x80104a0a, 0x00009502, 0x09800c26, 0x0000e0d9, 0x81c00000, 0x000009d8,
+ 0xb9105a0b, 0x0000e158, 0x49800d26, 0x000040d9, 0x0000283a, 0x00007070,
+ 0x2c007f48, 0x00001680, 0x820588b0, 0x00001000, 0xafba9c08, 0x0000d004,
+ 0x003a9000, 0x00000000, 0xafb88e08, 0x00005004, 0x003a8800, 0x00000000,
+ 0x00000000, 0x0000f480, 0xaffa8008, 0x0000d004, 0x00393800, 0x00008000,
+ 0xaff88208, 0x0000d004, 0x00393000, 0x00000000, 0x02280500, 0x0000e101,
+ 0x02a807e4, 0x0000c800, 0x0240880a, 0x00009202, 0x84000e10, 0x0000e089,
+ 0x0440880a, 0x00008308, 0x0000285b, 0x00007011, 0x2c007f48, 0x00001680,
+ 0x820588b0, 0x00001000, 0xafba9c08, 0x0000d004, 0x003a9000, 0x00000000,
+ 0xafb88e08, 0x00005004, 0x003a8800, 0x00000000, 0xaffa8008, 0x0000d004,
+ 0x00393800, 0x00008000, 0xaff88208, 0x0000d004, 0x00393000, 0x00000000,
+ 0x00c002ec, 0x0000df80, 0x125e680b, 0x00001684, 0x02400000, 0x00006180,
+ 0x0f104208, 0x00006000, 0x003a4009, 0x0000e886, 0x82283009, 0x00006886,
+ 0x284126b3, 0x0000f500, 0x04204009, 0x00006887, 0x03c04809, 0x00009900,
+ 0x02400000, 0x0000f900, 0x00004000, 0x00000980, 0x003a4009, 0x0000e886,
+ 0x82283009, 0x00006886, 0x284826b3, 0x0000f500, 0x82400c08, 0x00001481,
+ 0x03c04809, 0x00009900, 0x02000000, 0x0000e180, 0x20000826, 0x0000e401,
+ 0xc4000f10, 0x00006081, 0x003a4008, 0x00002086, 0x82283008, 0x0000e886,
+ 0x03004008, 0x00009900, 0x284f2769, 0x0000f004, 0xb9105a0b, 0x00001900,
+ 0x2c007f48, 0x00001680, 0x820588b0, 0x00001000, 0xafba9c08, 0x0000d004,
+ 0x003a9000, 0x00000000, 0xafb88e08, 0x00005004, 0x003a8800, 0x00000000,
+ 0xaffa8008, 0x0000d004, 0x00393800, 0x00008000, 0x00000000, 0x0000f280,
+ 0xaff88208, 0x0000d004, 0x00393000, 0x00000000, 0x01c00000, 0x0000e180,
+ 0x00128804, 0x0000e186, 0x01400020, 0x0000e180, 0x04128804, 0x0000e187,
+ 0x041b2800, 0x00007900, 0x001abc2e, 0x00008980, 0x0477d800, 0x00007900,
+ 0x003a48e4, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x82f81400, 0x0000803c, 0x04800702, 0x0000001d, 0x0000280f, 0x00007400,
+ 0x41c83248, 0x0000801c, 0x8141b800, 0x00006180, 0x03402004, 0x00004900,
+ 0x02000000, 0x00009980, 0x003a4008, 0x00006886, 0x0000284e, 0x00007400,
+ 0x82283008, 0x0000e886, 0x03004008, 0x00009900, 0xc000070e, 0x00001583,
+ 0x03400000, 0x00006190, 0x03c00000, 0x0000c990, 0x83d81302, 0x0000e110,
+ 0x43726280, 0x00004990, 0x0000287c, 0x0000f008, 0x780408ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x783878ec, 0x00005600, 0x00386800, 0x00000000,
+ 0x780000ec, 0x00005680, 0x00000040, 0x00000080, 0x03000000, 0x00006180,
+ 0x03400001, 0x00004980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x00000001, 0x00007480, 0x0410700c, 0x00006187, 0x0030700d, 0x00003102,
+ 0x703868ec, 0x00005600, 0x00386000, 0x00008000, 0x11400000, 0x0000e180,
+ 0x93400c19, 0x0000c880, 0x86c01630, 0x00006283, 0x11800020, 0x00008980,
+ 0x4381044d, 0x00007902, 0x12000000, 0x00008004, 0x43ba264d, 0x0000b024,
+ 0x0a41824d, 0x0000e100, 0x09020c23, 0x00003006, 0x0ec14446, 0x0000e000,
+ 0x0bc18546, 0x00003000, 0x000028b0, 0x00007408, 0x11c00000, 0x00006180,
+ 0xd1b30e61, 0x0000c901, 0x08001f2c, 0x00006281, 0x93526b28, 0x00008100,
+ 0x80198a4d, 0x00006502, 0x88c04423, 0x00008180, 0x48004530, 0x00001283,
+ 0xc0198b20, 0x00001502, 0x000028b7, 0x00007010, 0x000028b7, 0x00007010,
+ 0x000028b7, 0x0000f018, 0x80000223, 0x0000e582, 0x13400000, 0x00000981,
+ 0x13400800, 0x00009989, 0xffffffff, 0x00007f86, 0x14626846, 0x0000e801,
+ 0x15a00331, 0x0000c489, 0x5a400430, 0x00008a91, 0x15a01c20, 0x00004489,
+ 0x6a518948, 0x00008a19, 0x2d404530, 0x00007896, 0x01400001, 0x00000080,
+ 0xc6db0360, 0x00009900, 0x48004528, 0x00001283, 0x000888ec, 0x0000d788,
+ 0x00004800, 0x00008080, 0x000028b9, 0x00007011, 0x00000001, 0x0000f080,
+ 0x00000046, 0x00006c01, 0x00f18948, 0x0000c51b, 0x80604530, 0x00007f94,
+ 0x88c02c23, 0x00009180, 0x16f1894d, 0x00004413, 0x6e404530, 0x00000a91,
+ 0x2dd98b20, 0x0000f81a, 0xe1400000, 0x00009484, 0x000028a7, 0x0000f200,
+ 0x20000846, 0x00006c01, 0x000028a0, 0x00007200, 0x13400000, 0x00009981,
+ 0x08001d5d, 0x0000e281, 0x0801444d, 0x00002002, 0x00001c20, 0x0000e583,
+ 0x12800000, 0x00000980, 0x12c00000, 0x00006180, 0x00000046, 0x00006409,
+ 0x00000c4d, 0x0000e583, 0x1242f85f, 0x00008900, 0x93598ae5, 0x00006408,
+ 0x9292d25a, 0x00008910, 0x08126a5a, 0x00006008, 0x1202604c, 0x00000900,
+ 0x1341ff5a, 0x00006281, 0x92910320, 0x00000008, 0x0001444d, 0x00006583,
+ 0x51eaed5d, 0x00000901, 0x13730fe4, 0x00006000, 0x11e28c51, 0x0000c909,
+ 0x92801000, 0x0000e189, 0x11fabf57, 0x0000c911, 0x92800800, 0x00009991,
+ 0x0822004d, 0x00007900, 0x00000010, 0x00000282, 0x08000000, 0x0000f910,
+ 0x001401c0, 0x00000980, 0x000028db, 0x0000f009, 0x00000445, 0x00001583,
+ 0x08026020, 0x0000e202, 0xd1da634c, 0x00008910, 0x000028eb, 0x00007013,
+ 0x00000001, 0x00007480, 0x001088ec, 0x00005780, 0x00884d00, 0x000081c0,
+ 0xc5002714, 0x00009081, 0x0815004d, 0x0000f900, 0x00000008, 0x00000282,
+ 0xd1d2624c, 0x00001910, 0x000028eb, 0x0000f009, 0x8000025a, 0x00009582,
+ 0x88000b31, 0x00001890, 0x0811024a, 0x00009010, 0x000028f0, 0x00007008,
+ 0x92910320, 0x00001000, 0x0811004d, 0x00007900, 0x00000008, 0x00000282,
+ 0x8804064c, 0x00009283, 0xc801ff4c, 0x00001283, 0x000028d7, 0x00007008,
+ 0x000028eb, 0x00007010, 0x000028d7, 0x00007008, 0x00000001, 0x00007480,
+ 0xc5002714, 0x00006081, 0x00000046, 0x00002401, 0x001088ec, 0x00005780,
+ 0x00884d00, 0x000081c0, 0x92800000, 0x00001980, 0x35d1004d, 0x0000788e,
+ 0x01400009, 0x00000000, 0xff04064c, 0x0000c596, 0x7e41ff4c, 0x0000ff8c,
+ 0x43004528, 0x00009283, 0x03401d2a, 0x00006289, 0x0d81540c, 0x0000a00a,
+ 0x00002901, 0x0000f011, 0x00000c0d, 0x00009583, 0x83a0640c, 0x00001908,
+ 0xc9fa560e, 0x00002088, 0x00002912, 0x0000f008, 0x43001d2a, 0x00009283,
+ 0x83a0640c, 0x00001908, 0xc9fa560e, 0x0000a008, 0x00002912, 0x0000f008,
+ 0x00000c44, 0x00001583, 0x0000294e, 0x0000f00b, 0x03018745, 0x00001281,
+ 0x0001840c, 0x00009583, 0x007a36ec, 0x0000d714, 0x003a2800, 0x00000000,
+ 0x000004ec, 0x00005794, 0x00000002, 0x0000aa80, 0x00002940, 0x00007008,
+ 0x00001cec, 0x0000d784, 0x00000014, 0x00000480, 0x03400000, 0x00007900,
+ 0x0002001e, 0x00000980, 0x00000001, 0x00007480, 0x30ea200d, 0x0000e880,
+ 0x20386cec, 0x0000d704, 0x00195019, 0x00000480, 0x0000004a, 0x00001582,
+ 0x00002901, 0x0000700b, 0x0382504a, 0x0000e300, 0x03400000, 0x0000c980,
+ 0xbac06a0e, 0x0000a081, 0xc1c004ec, 0x00005080, 0x00400000, 0x00008000,
+ 0x18400c61, 0x0000e181, 0x030077e4, 0x00008800, 0xc1f926ec, 0x0000b838,
+ 0xc1f86aec, 0x00002880, 0xc23930ec, 0x00003838, 0xc23942ec, 0x00003838,
+ 0xc23954ec, 0x0000b838, 0xc238e6ec, 0x00003838, 0xc278f0ec, 0x00003838,
+ 0xc1c004ec, 0x0000d000, 0x00400000, 0x00000080, 0x292841a0, 0x00007500,
+ 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080, 0x1282500c, 0x00001400,
+ 0x0000004a, 0x00001582, 0x0382504a, 0x00006310, 0x18400c61, 0x0000c191,
+ 0x030077e4, 0x0000e010, 0x03400000, 0x00004990, 0x00002901, 0x00007008,
+ 0xbac06a0e, 0x0000a081, 0xc1c004ec, 0x00005080, 0x00400000, 0x00008000,
+ 0xc1f926ec, 0x0000b838, 0xc23930ec, 0x00003838, 0xc1f86aec, 0x00002880,
0xc23942ec, 0x00003838, 0xc23954ec, 0x0000b838, 0xc238e6ec, 0x00003838,
0xc278f0ec, 0x00003838, 0xc1c004ec, 0x0000d000, 0x00400000, 0x00000080,
- 0x26cb3e77, 0x00007500, 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080,
- 0x1282500c, 0x00001400, 0x0000004a, 0x00001582, 0x0502504a, 0x0000e310,
- 0x18400c61, 0x0000c191, 0x0300a7e4, 0x00006010, 0x03400000, 0x00004990,
- 0x000026a4, 0x00007008, 0xbac06a14, 0x00002081, 0xc1c004ec, 0x00005080,
- 0x00400000, 0x00008000, 0xc1f926ec, 0x0000b838, 0xc23930ec, 0x00003838,
- 0xc1f86aec, 0x00002880, 0xc23942ec, 0x00003838, 0xc23954ec, 0x0000b838,
- 0xc238e6ec, 0x00003838, 0xc278f0ec, 0x00003838, 0xc1c004ec, 0x0000d000,
- 0x00400000, 0x00000080, 0x26e13e77, 0x0000f500, 0xc1c002ec, 0x0000d000,
- 0x00400000, 0x00000080, 0x1282500c, 0x00001400, 0xfac0004a, 0x00004590,
- 0x81000c44, 0x00007c8a, 0x200006ec, 0x0000d784, 0x00000000, 0x00008080,
- 0x203afeec, 0x0000d704, 0x003f2800, 0x00000000, 0x203a36ec, 0x00005704,
- 0x003a2800, 0x00000000, 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80,
- 0x03400000, 0x00007900, 0x0002001e, 0x00000980, 0x00000001, 0x00007480,
- 0x30ea200d, 0x0000e880, 0x20386cec, 0x0000d704, 0x00195019, 0x00000480,
- 0x05018745, 0x00001281, 0x00018414, 0x00009583, 0x007a36ec, 0x0000d714,
- 0x003a2800, 0x00000000, 0x03000000, 0x0000e190, 0x03400001, 0x0000c990,
- 0x00002729, 0x0000f008, 0x0412280c, 0x00006187, 0xc722200d, 0x0000b003,
- 0xe7a2200d, 0x0000e801, 0xa6a2200d, 0x0000e801, 0x00386cec, 0x00005704,
- 0x00000000, 0x00008080, 0x03401800, 0x00009980, 0xb6e2200d, 0x0000e801,
- 0x00386cec, 0x00005704, 0x00000000, 0x00008080, 0x03400000, 0x00007900,
- 0x0002001e, 0x00000980, 0x30ea200d, 0x0000e880, 0x20386cec, 0x0000d704,
- 0x00192019, 0x00008480, 0x81c002ec, 0x00005684, 0x00400000, 0x00008000,
- 0x0012300d, 0x00006986, 0x041a300d, 0x0000e987, 0x81f86cec, 0x0000d604,
- 0x00386000, 0x00008000, 0xffffffff, 0x00007ff7, 0xffffffff, 0x00007ff7,
- 0x81f862ec, 0x00002684, 0xffffffff, 0x00007fa7, 0x8500140c, 0x00001880,
- 0x0308d800, 0x00007900, 0x00020014, 0x00000980, 0xcb80ac14, 0x00007902,
- 0x04c00000, 0x00008000, 0xcb809614, 0x00007902, 0x04400000, 0x00000000,
- 0xcbc08014, 0x00007902, 0x03c00000, 0x00000000, 0xcbc07214, 0x0000f902,
- 0x03400000, 0x00008000, 0x200384ec, 0x0000d784, 0x00386006, 0x00008000,
- 0x0038acec, 0x00005704, 0x00389800, 0x00000000, 0x003894ec, 0x0000d704,
- 0x00388800, 0x00008000, 0x003884ec, 0x00005704, 0x00387800, 0x00008000,
- 0x00000001, 0x00007480, 0x003874ec, 0x00005704, 0x00386800, 0x00000000,
- 0x000814ec, 0x0000d784, 0x00000015, 0x00000080, 0x200006ec, 0x0000d784,
- 0x00000000, 0x00008080, 0x203afeec, 0x0000d704, 0x003f2800, 0x00000000,
- 0x203a36ec, 0x00005704, 0x003a2800, 0x00000000, 0x03000000, 0x00006180,
- 0x03400001, 0x00004980, 0x0412280c, 0x00006187, 0xc722200d, 0x0000b003,
- 0xe7a2200d, 0x0000e801, 0xa6a2200d, 0x0000e801, 0x00386cec, 0x00005704,
+ 0x293e41a0, 0x0000f500, 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080,
+ 0x1282500c, 0x00001400, 0xfac0004a, 0x00004590, 0x81000c44, 0x00007c8a,
+ 0x200006ec, 0x0000d784, 0x00000000, 0x00008080, 0x203afeec, 0x0000d704,
+ 0x003f2800, 0x00000000, 0x203a36ec, 0x00005704, 0x003a2800, 0x00000000,
+ 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x03400000, 0x00007900,
+ 0x0002001e, 0x00000980, 0x00000001, 0x00007480, 0x30ea200d, 0x0000e880,
+ 0x20386cec, 0x0000d704, 0x00195019, 0x00000480, 0x03818745, 0x00009281,
+ 0x0001840e, 0x00001583, 0x007a36ec, 0x0000d714, 0x003a2800, 0x00000000,
+ 0x03000000, 0x0000e190, 0x03400001, 0x0000c990, 0x00002986, 0x00007008,
+ 0x0412280c, 0x00006187, 0xc722200d, 0x0000b003, 0xe7a2200d, 0x0000e801,
+ 0xa6a2200d, 0x0000e801, 0x00386cec, 0x00005704, 0x00000000, 0x00008080,
+ 0x03401800, 0x00009980, 0xb6e2200d, 0x0000e801, 0x00386cec, 0x00005704,
0x00000000, 0x00008080, 0x03400000, 0x00007900, 0x0002001e, 0x00000980,
0x30ea200d, 0x0000e880, 0x20386cec, 0x0000d704, 0x00192019, 0x00008480,
0x81c002ec, 0x00005684, 0x00400000, 0x00008000, 0x0012300d, 0x00006986,
0x041a300d, 0x0000e987, 0x81f86cec, 0x0000d604, 0x00386000, 0x00008000,
0xffffffff, 0x00007ff7, 0xffffffff, 0x00007ff7, 0x81f862ec, 0x00002684,
- 0xffffffff, 0x00007fa7, 0x8500140c, 0x00001880, 0xcb809c14, 0x00007902,
- 0x04800000, 0x00000000, 0xcb808e14, 0x00007902, 0x04000000, 0x00008000,
- 0xcbc07814, 0x0000f902, 0x03800000, 0x00008000, 0xcbc06a14, 0x0000f902,
- 0x03000000, 0x00000000, 0x0508d800, 0x00007900, 0x00020014, 0x00000980,
- 0x200384ec, 0x0000d784, 0x0038a006, 0x00008000, 0x00389cec, 0x00005704,
- 0x00389000, 0x00008000, 0x00388cec, 0x0000d704, 0x00388000, 0x00000000,
- 0x00387cec, 0x0000d704, 0x00387000, 0x00000000, 0x00000001, 0x00007480,
+ 0xffffffff, 0x00007fa7, 0x8380140c, 0x00009880, 0xcb80a40e, 0x00007902,
+ 0x04c00000, 0x00008000, 0xcb80960e, 0x0000f902, 0x04400000, 0x00000000,
+ 0xcbc0800e, 0x0000f902, 0x03c00000, 0x00000000, 0xcbc06a0e, 0x00007902,
+ 0x03000000, 0x00000000, 0x0388d800, 0x0000f900, 0x00020014, 0x00000980,
+ 0x200384ec, 0x0000d784, 0x00387006, 0x00000000, 0x0038a4ec, 0x0000d704,
+ 0x00389800, 0x00000000, 0x003894ec, 0x0000d704, 0x00388800, 0x00008000,
+ 0x003884ec, 0x00005704, 0x00387800, 0x00008000, 0x00000001, 0x00007480,
0x00386cec, 0x00005704, 0x00386000, 0x00008000, 0x000814ec, 0x0000d784,
- 0x00000015, 0x00000080, 0x03604000, 0x0000e180, 0x03c00000, 0x00004980,
- 0x0401400d, 0x00006003, 0x0f01440f, 0x0000b000, 0x03800000, 0x0000e180,
- 0x2401400d, 0x0000e003, 0x80000614, 0x00006583, 0x4520780d, 0x0000a007,
- 0x83803f14, 0x00006090, 0x6590a00f, 0x0000e103, 0x04000804, 0x0000e180,
- 0x0038a00f, 0x00006106, 0x04400000, 0x00006180, 0xc000080f, 0x0000e416,
- 0x45004528, 0x00006283, 0x04800000, 0x00008980, 0x86b13328, 0x00006100,
- 0x0032e01b, 0x0000a096, 0xc6805522, 0x00006080, 0x0403081b, 0x0000a012,
- 0xc528cf61, 0x00006203, 0xc369652c, 0x00000901, 0x04e70000, 0x00007900,
+ 0x00000015, 0x00000080, 0x200006ec, 0x0000d784, 0x00000000, 0x00008080,
+ 0x203afeec, 0x0000d704, 0x003f2800, 0x00000000, 0x203a36ec, 0x00005704,
+ 0x003a2800, 0x00000000, 0x03000001, 0x0000e180, 0x0012300d, 0x0000e186,
+ 0x041a300d, 0x00006187, 0xc722200c, 0x00003003, 0xe7a2200c, 0x00006801,
+ 0xa6a2200c, 0x00006801, 0x003864ec, 0x0000d704, 0x00000000, 0x00008080,
+ 0x03000000, 0x0000f900, 0x0002001e, 0x00000980, 0x30ea200c, 0x00006880,
+ 0x203864ec, 0x00005704, 0x00192019, 0x00008480, 0x81c002ec, 0x00005684,
+ 0x00400000, 0x00008000, 0x03000000, 0x00001980, 0x0412280c, 0x0000e987,
+ 0x81f86cec, 0x0000d604, 0x00386000, 0x00008000, 0x0348d800, 0x0000f900,
+ 0x00020014, 0x00000980, 0xffffffff, 0x00007ff7, 0xffffffff, 0x0000ffe7,
+ 0x81f862ec, 0x00002684, 0xffffffff, 0x00007fa7, 0x8380140c, 0x00009880,
+ 0xcb80ac0e, 0x0000f902, 0x05000000, 0x00000000, 0xcb809e0e, 0x00007902,
+ 0x04800000, 0x00000000, 0xcbc0880e, 0x00007902, 0x04000000, 0x00008000,
+ 0xcbc07a0e, 0x0000f902, 0x03800000, 0x00008000, 0x200384ec, 0x0000d784,
+ 0x00386806, 0x00000000, 0x0038acec, 0x00005704, 0x0038a000, 0x00008000,
+ 0x00389cec, 0x00005704, 0x00389000, 0x00008000, 0x00388cec, 0x0000d704,
+ 0x00388000, 0x00000000, 0x00000001, 0x00007480, 0x00387cec, 0x0000d704,
+ 0x00387000, 0x00000000, 0x000814ec, 0x0000d784, 0x00000015, 0x00000080,
+ 0x03604000, 0x0000e180, 0x03c00000, 0x00004980, 0x0401400d, 0x00006003,
+ 0x0f01440f, 0x0000b000, 0x03800000, 0x0000e180, 0x2401400d, 0x0000e003,
+ 0x80000614, 0x00006583, 0x4520780d, 0x0000a007, 0x83803f14, 0x00006090,
+ 0x6590a00f, 0x0000e103, 0x04000804, 0x0000e180, 0x0038a00f, 0x00006106,
+ 0x04400000, 0x00006180, 0xc000080f, 0x0000e416, 0x45004528, 0x00006283,
+ 0x04800000, 0x00008980, 0x86b13328, 0x00006100, 0x0032e01b, 0x0000a096,
+ 0xc6805521, 0x00006080, 0x0403081b, 0x0000a012, 0x0528cc60, 0x0000e203,
+ 0xc369652c, 0x00000901, 0x04e70000, 0x00007900, 0x00002580, 0x00008980,
+ 0x03001800, 0x0000f900, 0x00004000, 0x00000980, 0x000029fb, 0x0000f210,
+ 0x18400c61, 0x0000e181, 0x05800000, 0x00008988, 0x00000421, 0x00006583,
+ 0x08000000, 0x00000980, 0x823b0828, 0x0000e010, 0x82210828, 0x00003008,
+ 0xd8400000, 0x0000e191, 0x08400001, 0x0000c980, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0xc0000761, 0x0000e583, 0x04113020, 0x00002187,
+ 0x05c00008, 0x0000e180, 0x00230821, 0x00006102, 0x05009000, 0x0000f900,
+ 0x0002c440, 0x00000980, 0x000029ef, 0x0000f410, 0x05400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x703908ec, 0x0000d600, 0x00390000, 0x00000000,
+ 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x00881eec, 0x00005f80,
+ 0x00884a41, 0x00000484, 0x08400000, 0x000082c0, 0xffc00000, 0x00006180,
+ 0x00181021, 0x0000e186, 0x780408ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x48326280, 0x00009980, 0x783908ec, 0x00005600, 0x00390000, 0x00000000,
+ 0x780000ec, 0x00005680, 0x00000040, 0x00000080, 0x00881eec, 0x00005f80,
+ 0x00884a41, 0x00000484, 0x05009000, 0x0000f900, 0x00030540, 0x00000980,
+ 0x2a022885, 0x00007500, 0x05400000, 0x00007900, 0x00018030, 0x00008980,
+ 0x05c00008, 0x0000e180, 0x05800000, 0x0000c980, 0x00000421, 0x00006583,
+ 0x08000000, 0x00000980, 0x82210828, 0x00006008, 0x823b0828, 0x0000b010,
+ 0x08400001, 0x0000e180, 0x04113020, 0x0000e187, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0xd8400000, 0x0000e191, 0x00230821, 0x00006102,
+ 0x703908ec, 0x0000d600, 0x00390000, 0x00000000, 0x7ac00761, 0x0000788a,
+ 0x79400000, 0x0000948f, 0x43001d1c, 0x0000c197, 0x00402228, 0x00008088,
+ 0x43001530, 0x00004493, 0x1844042a, 0x00000a8d, 0x00801523, 0x0000c796,
+ 0x88201425, 0x00008094, 0x95802425, 0x0000788e, 0x01400000, 0x00009582,
+ 0x03006428, 0x00009281, 0x0000440c, 0x00001583, 0x00002a59, 0x0000f00b,
+ 0x03001425, 0x00001283, 0x00002a3e, 0x0000700b, 0x43004528, 0x00009283,
+ 0x5df8e6ec, 0x0000b83c, 0x5e38f0ec, 0x0000383c, 0x5e3902ec, 0x0000383c,
+ 0x5e3914ec, 0x0000b83c, 0x5e3926ec, 0x0000383c, 0x5e7930ec, 0x0000383c,
+ 0x5e7942ec, 0x0000383c, 0x5e7954ec, 0x0000b83c, 0x5e7966ec, 0x0000383c,
+ 0x5eb970ec, 0x0000b83c, 0x5eb982ec, 0x0000383c, 0x5eb994ec, 0x0000b83c,
+ 0x5eb9a6ec, 0x0000383c, 0x5ef9b0ec, 0x0000383c, 0x5ef9c2ec, 0x0000383c,
+ 0x5ef9d4ec, 0x0000b83c, 0x5ef9e6ec, 0x0000383c, 0x5f39f0ec, 0x0000383c,
+ 0x00002a3e, 0x0000f408, 0x5f3a02ec, 0x0000b83c, 0x5f3a14ec, 0x0000383c,
+ 0x5f3a66ec, 0x0000383c, 0x5f7a70ec, 0x0000383c, 0x5f7a82ec, 0x0000b83c,
+ 0x5f7a94ec, 0x0000383c, 0x5f7aa6ec, 0x0000b83c, 0x5fbab0ec, 0x0000383c,
+ 0x5fbac2ec, 0x0000383c, 0x5fbad4ec, 0x0000b83c, 0x5fbae6ec, 0x0000383c,
+ 0x5ffaf0ec, 0x0000383c, 0x5e4302ec, 0x00002806, 0x03002425, 0x00001283,
+ 0x00002a56, 0x0000f00b, 0x83371ee3, 0x00001900, 0x5dc0b60c, 0x00007902,
+ 0x05400000, 0x00000004, 0xffffffff, 0x00007fa7, 0x80000216, 0x00001582,
+ 0x00002a56, 0x0000f00b, 0x2c194216, 0x00001600, 0x030588b0, 0x00001000,
+ 0x00000415, 0x0000e583, 0x0340180c, 0x00008780, 0x03172810, 0x00009200,
+ 0x0300600d, 0x00009100, 0x0318b00c, 0x0000e108, 0x03006316, 0x00000010,
+ 0xffffffff, 0x00007f86, 0x0300180c, 0x00009780, 0x0300080c, 0x00009182,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x00002a50, 0x0000f010, 0x00000001, 0x00007480,
+ 0x03000c25, 0x00001283, 0x8000101c, 0x0000ec12, 0x03078734, 0x00001281,
+ 0x0003040c, 0x0000f890, 0x00000000, 0x00000000, 0x9800dd35, 0x00007892,
+ 0x01400001, 0x00008060, 0xf7e01425, 0x00004596, 0x7f802425, 0x00007e89,
+ 0x83371ee3, 0x00001900, 0xbaf86a0c, 0x00002080, 0xffffffff, 0x00007fa7,
+ 0x0000040d, 0x00001583, 0x18400c61, 0x00006191, 0x01400000, 0x00000990,
+ 0x01686d0d, 0x00009911, 0x00002a1b, 0x0000f008, 0xc1f82aec, 0x0000a880,
+ 0xc1c004ec, 0x00005080, 0x00400000, 0x00008000, 0xc1f926ec, 0x0000b838,
+ 0xc23930ec, 0x00003838, 0xc23942ec, 0x00003838, 0xc23954ec, 0x0000b838,
+ 0xc238e6ec, 0x00003838, 0xc278f0ec, 0x00003838, 0xc279a2ec, 0x00003838,
+ 0xc279b4ec, 0x0000b838, 0xc279c6ec, 0x0000b838, 0xc2b9d0ec, 0x00003838,
+ 0xc2b9e2ec, 0x0000b838, 0xc2b9f4ec, 0x00003838, 0xc2ba06ec, 0x0000b838,
+ 0xc2fa10ec, 0x0000b838, 0x2a7e41a0, 0x00007500, 0xc1c002ec, 0x0000d000,
+ 0x00400000, 0x00000080, 0xc1c004ec, 0x0000d000, 0x00400000, 0x00000080,
+ 0x0102042a, 0x00009283, 0x0801540c, 0x0000e892, 0x8320640c, 0x00009910,
+ 0x00113004, 0x00006986, 0x04230804, 0x0000e887, 0x863b0804, 0x0000e887,
+ 0x2a882870, 0x0000f500, 0x0b80040c, 0x00005094, 0x00400000, 0x00008000,
+ 0x03802004, 0x00001900, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x83371ee3, 0x00001900,
+ 0x7b40600c, 0x00002180, 0xffffffff, 0x00007fa7, 0x00000c0c, 0x00001583,
+ 0x00002a60, 0x0000f00b, 0x03006428, 0x00009281, 0x4b20440c, 0x0000c48b,
+ 0x3a401425, 0x00008a94, 0x95802425, 0x0000788e, 0x01400000, 0x00009582,
+ 0x83371ee3, 0x00001900, 0x7b40600c, 0x00002180, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0xa4400c0c, 0x0000f892, 0x01400000, 0x00001583,
+ 0x0d81540d, 0x0000e802, 0x8380240d, 0x00001880, 0x83001a0e, 0x00009080,
+ 0x99407c0c, 0x00007902, 0x03400000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x03c0080f, 0x00001082, 0x0340000d, 0x00009084, 0x99787c0c, 0x0000d000,
+ 0x00386800, 0x00000000, 0x43004528, 0x00009283, 0x0c02e40c, 0x0000e012,
+ 0x0c41540d, 0x0000b010, 0x00002ab9, 0x0000f009, 0x0000140c, 0x00001583,
+ 0x83406800, 0x00001988, 0x00002ab0, 0x0000f009, 0x0000040d, 0x00001583,
+ 0x83407800, 0x0000e190, 0x83407000, 0x00004988, 0xffffffff, 0x00007f86,
+ 0x8350720d, 0x00009000, 0x9940740d, 0x00007902, 0x03000000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x0380080e, 0x00001082, 0x0300000c, 0x00009084,
+ 0x9978740d, 0x0000d000, 0x00386000, 0x00008000, 0x0302042a, 0x00001283,
+ 0x0801540d, 0x0000e092, 0x0011300c, 0x00003186, 0x83606c0d, 0x00006110,
+ 0x0423080c, 0x0000e087, 0x863b080c, 0x00006887, 0x2ac32870, 0x0000f500,
+ 0x0b80040d, 0x0000d094, 0x00400000, 0x00008000, 0x0380600c, 0x00001900,
+ 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x40000561, 0x00001583, 0x000278ec, 0x00007902,
+ 0x03000000, 0x00000704, 0x03802000, 0x0000e190, 0x0801540f, 0x00006092,
+ 0x00002ad9, 0x00007008, 0x43004528, 0x00006283, 0x03400000, 0x00000980,
+ 0x0402780e, 0x0000e000, 0x08027a0d, 0x0000b100, 0x88a07c0f, 0x00006100,
+ 0x1402780e, 0x00006000, 0x8233080e, 0x00006886, 0x0411480e, 0x0000e997,
+ 0x0abdf82a, 0x0000f900, 0x003ffffe, 0x00008280, 0x0bb87422, 0x00005004,
+ 0x00386800, 0x00000000, 0x83000e4f, 0x00001283, 0x08027a0f, 0x00006910,
+ 0x00002ae4, 0x00007009, 0x00207c23, 0x00001503, 0x00002ae4, 0x0000f00b,
+ 0x06c00000, 0x00006180, 0x8880120f, 0x00004880, 0x2ae429bb, 0x0000f500,
+ 0x0fb8c422, 0x0000b03c, 0x0f80a622, 0x0000f902, 0x08400000, 0x00008004,
+ 0x8300164f, 0x00001283, 0x00002af6, 0x0000f013, 0x00070c61, 0x00001583,
+ 0x2ae82a9c, 0x0000f10b, 0x0102042a, 0x00009283, 0x0801540f, 0x00006092,
+ 0x00113004, 0x0000b186, 0x83e07c0f, 0x0000e110, 0x04230804, 0x00006087,
+ 0x863b0804, 0x0000e887, 0x0b80040f, 0x00005094, 0x00400000, 0x00008000,
+ 0x03802004, 0x00001900, 0x2af22870, 0x0000f100, 0xffc00000, 0x00001980,
+ 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x08a11c23, 0x00001901, 0x000144ec, 0x0000d784, 0x00000016, 0x00000380,
+ 0x08027a0f, 0x0000e900, 0x00207c22, 0x00009503, 0x000278ec, 0x00007902,
+ 0x13800000, 0x00000704, 0x06c00000, 0x0000e190, 0x83c7fa0f, 0x00004290,
+ 0x00002b32, 0x0000f008, 0x83c0120f, 0x00006080, 0x03604000, 0x0000c980,
+ 0x0f80a60f, 0x0000f902, 0x08400000, 0x00008004, 0x0fb8c40f, 0x0000b03c,
+ 0x03c00000, 0x00006180, 0x0401400d, 0x00006003, 0x2401400d, 0x0000e003,
+ 0x0f01440f, 0x0000b000, 0x03800000, 0x0000e180, 0x4520780d, 0x00006007,
+ 0x80000614, 0x00006583, 0x6590a00f, 0x00002103, 0x83803f14, 0x00006090,
+ 0x0038a00f, 0x00006106, 0x04000804, 0x0000e180, 0xc000080f, 0x0000e416,
+ 0x45004528, 0x00006283, 0x04400000, 0x00008980, 0x04800000, 0x00006180,
+ 0x0032e01b, 0x00006096, 0x86b13328, 0x00006100, 0x0403081b, 0x0000a012,
+ 0x0528cc60, 0x0000e203, 0xc6805521, 0x00000080, 0x04e70000, 0x00007900,
0x00002580, 0x00008980, 0x03001800, 0x0000f900, 0x00004000, 0x00000980,
- 0x0000279e, 0x00007210, 0x18400c61, 0x0000e181, 0x05800000, 0x00008988,
- 0x00000422, 0x00006583, 0x08400001, 0x00000980, 0x82330028, 0x0000e010,
- 0x82211028, 0x00003008, 0x98000000, 0x0000e191, 0x08000000, 0x0000c980,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x80000660, 0x00006583,
- 0x00230821, 0x0000a102, 0x05c00008, 0x0000e180, 0x04113020, 0x0000e187,
- 0x05009000, 0x0000f900, 0x0002c440, 0x00000980, 0x00002792, 0x00007410,
- 0x05400000, 0x00007900, 0x00018030, 0x00008980, 0x703908ec, 0x0000d600,
- 0x00390000, 0x00000000, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
- 0x00881eec, 0x00005f80, 0x00884a41, 0x00000484, 0x08800000, 0x000002c4,
- 0xffc00000, 0x00006180, 0x00181022, 0x0000e186, 0x780408ec, 0x00005680,
- 0x00000000, 0x00008080, 0x48726280, 0x00001980, 0x783910ec, 0x00005600,
- 0x00390800, 0x00008000, 0x780000ec, 0x00005680, 0x00000040, 0x00000080,
- 0x00881eec, 0x00005f80, 0x00884a41, 0x00000484, 0x05009000, 0x0000f900,
- 0x00030540, 0x00000980, 0x27a52626, 0x0000f500, 0x05400000, 0x00007900,
+ 0x00002b43, 0x00007210, 0xc369652c, 0x0000e101, 0x18400c61, 0x00004181,
+ 0x05009000, 0x0000f900, 0x0002c440, 0x00000980, 0x05400000, 0x00007900,
0x00018030, 0x00008980, 0x05c00008, 0x0000e180, 0x05800000, 0x0000c980,
- 0x00000422, 0x00006583, 0x08400001, 0x00000980, 0x08000000, 0x0000e180,
- 0x82330028, 0x0000e010, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x00230821, 0x00006102, 0x04113020, 0x0000b187, 0x98000000, 0x0000e191,
- 0x82211028, 0x00006008, 0x703908ec, 0x0000d600, 0x00390000, 0x00000000,
- 0xe3800660, 0x0000788b, 0x91000000, 0x0000938c, 0xf7601d1c, 0x00004196,
- 0x00402228, 0x00008088, 0xf7601530, 0x0000c492, 0x5e44042a, 0x00008a88,
- 0x00801523, 0x0000c796, 0x88201425, 0x00008094, 0xfe402425, 0x0000788f,
- 0x19000000, 0x0000938f, 0x03006428, 0x00009281, 0x0000440c, 0x00001583,
- 0x000027fc, 0x0000700b, 0x03001425, 0x00001283, 0x000027e1, 0x0000700b,
- 0x43004528, 0x00009283, 0x5df8e6ec, 0x0000b83c, 0x5e38f0ec, 0x0000383c,
- 0x5e3902ec, 0x0000383c, 0x5e3914ec, 0x0000b83c, 0x5e3926ec, 0x0000383c,
- 0x5e7930ec, 0x0000383c, 0x5e7942ec, 0x0000383c, 0x5e7954ec, 0x0000b83c,
- 0x5e7966ec, 0x0000383c, 0x5eb970ec, 0x0000b83c, 0x5eb982ec, 0x0000383c,
- 0x5eb994ec, 0x0000b83c, 0x5eb9a6ec, 0x0000383c, 0x5ef9b0ec, 0x0000383c,
- 0x5ef9c2ec, 0x0000383c, 0x5ef9d4ec, 0x0000b83c, 0x5ef9e6ec, 0x0000383c,
- 0x5f39f0ec, 0x0000383c, 0x000027e1, 0x0000f408, 0x5f3a02ec, 0x0000b83c,
- 0x5f3a14ec, 0x0000383c, 0x5f3a66ec, 0x0000383c, 0x5f7a70ec, 0x0000383c,
- 0x5f7a82ec, 0x0000b83c, 0x5f7a94ec, 0x0000383c, 0x5f7aa6ec, 0x0000b83c,
- 0x5fbab0ec, 0x0000383c, 0x5fbac2ec, 0x0000383c, 0x5fbad4ec, 0x0000b83c,
- 0x5fbae6ec, 0x0000383c, 0x5ffaf0ec, 0x0000383c, 0x5e6302ec, 0x00002804,
- 0x03002425, 0x00001283, 0x000027f9, 0x0000700b, 0x83371ee3, 0x00001900,
- 0x5dc0b60c, 0x00007902, 0x05400000, 0x00000004, 0xffffffff, 0x00007fa7,
- 0x80000216, 0x00001582, 0x000027f9, 0x0000700b, 0x2c194216, 0x00001600,
- 0x030588b0, 0x00001000, 0x00000415, 0x0000e583, 0x0340180c, 0x00008780,
- 0x03172810, 0x00009200, 0x0300600d, 0x00009100, 0x0318b00c, 0x0000e108,
- 0x03006316, 0x00000010, 0xffffffff, 0x00007f86, 0x0300180c, 0x00009780,
- 0x0300080c, 0x00009182, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x000027f3, 0x00007010,
- 0x00000001, 0x00007480, 0x03000c25, 0x00001283, 0x8000101c, 0x0000ec12,
- 0x03078734, 0x00001281, 0x0003040c, 0x0000f890, 0x00000000, 0x00000000,
- 0x00c0dd35, 0x0000f892, 0x01400001, 0x00008060, 0xf7e01425, 0x00004596,
- 0x7f802425, 0x00007e89, 0x83371ee3, 0x00001900, 0xbaf86a0c, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x0000040d, 0x00001583, 0x18400c61, 0x00006191,
- 0x01400000, 0x00000990, 0x01686d0d, 0x00009911, 0x000027be, 0x00007008,
- 0xc1f82aec, 0x0000a880, 0xc1c004ec, 0x00005080, 0x00400000, 0x00008000,
- 0xc1f926ec, 0x0000b838, 0xc23930ec, 0x00003838, 0xc23942ec, 0x00003838,
- 0xc23954ec, 0x0000b838, 0xc238e6ec, 0x00003838, 0xc278f0ec, 0x00003838,
- 0xc279a2ec, 0x00003838, 0xc279b4ec, 0x0000b838, 0xc279c6ec, 0x0000b838,
- 0xc2b9d0ec, 0x00003838, 0xc2b9e2ec, 0x0000b838, 0xc2b9f4ec, 0x00003838,
- 0xc2ba06ec, 0x0000b838, 0xc2fa10ec, 0x0000b838, 0x28213e77, 0x00007500,
- 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080, 0xc1c004ec, 0x0000d000,
- 0x00400000, 0x00000080, 0x0102042a, 0x00009283, 0x0801540c, 0x0000e892,
- 0x8320640c, 0x00009910, 0x00113004, 0x00006986, 0x04230804, 0x0000e887,
- 0x86330004, 0x0000e887, 0x282b2551, 0x0000f500, 0x0b80040c, 0x00005094,
- 0x00400000, 0x00008000, 0x03802004, 0x00001900, 0xffc00000, 0x00001980,
- 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x83371ee3, 0x00001900, 0x7b40600c, 0x00002180, 0xffffffff, 0x00007fa7,
- 0x00000c0c, 0x00001583, 0x00002803, 0x0000700b, 0x03006428, 0x00009281,
- 0xff80440c, 0x0000448a, 0x80401425, 0x00000997, 0xfe402425, 0x0000788f,
- 0x19000000, 0x0000938f, 0x83371ee3, 0x00001900, 0x7b40600c, 0x00002180,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x0d000c0c, 0x00007892,
- 0x19400000, 0x00009480, 0x0d81540d, 0x0000e802, 0x8380240d, 0x00001880,
- 0x83001a0e, 0x00009080, 0x99407c0c, 0x00007902, 0x03400000, 0x00008000,
- 0xffffffff, 0x00007fa7, 0x03c0080f, 0x00001082, 0x0340000d, 0x00009084,
- 0x99787c0c, 0x0000d000, 0x00386800, 0x00000000, 0x43004528, 0x00009283,
- 0x0c02e40c, 0x0000e012, 0x0c41540d, 0x0000b010, 0x0000285c, 0x0000f009,
- 0x0000140c, 0x00001583, 0x83406800, 0x00001988, 0x00002853, 0x0000f009,
- 0x0000040d, 0x00001583, 0x83407800, 0x0000e190, 0x83407000, 0x00004988,
- 0xffffffff, 0x00007f86, 0x8350720d, 0x00009000, 0x9940740d, 0x00007902,
- 0x03000000, 0x00000000, 0xffffffff, 0x00007fa7, 0x0380080e, 0x00001082,
- 0x0300000c, 0x00009084, 0x9978740d, 0x0000d000, 0x00386000, 0x00008000,
- 0x0302042a, 0x00001283, 0x0801540d, 0x0000e092, 0x0011300c, 0x00003186,
- 0x83606c0d, 0x00006110, 0x0423080c, 0x0000e087, 0x8633000c, 0x00006887,
- 0x28662551, 0x0000f500, 0x0b80040d, 0x0000d094, 0x00400000, 0x00008000,
- 0x0380600c, 0x00001900, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x40000561, 0x00001583,
- 0x000268ec, 0x0000f902, 0x03000000, 0x00000704, 0x03802000, 0x0000e190,
- 0x0801540f, 0x00006092, 0x0000287c, 0x0000f008, 0x43004528, 0x00006283,
- 0x03400000, 0x00000980, 0x0402680e, 0x00006000, 0x08026a0d, 0x00003100,
- 0x93a07c0f, 0x00006100, 0x1402680e, 0x0000e000, 0x8233080e, 0x00006886,
- 0x0411480e, 0x0000e997, 0x0abdf82a, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0bb8744e, 0x00005004, 0x00386800, 0x00000000, 0x83000e4d, 0x00009283,
- 0x08026a0f, 0x0000e910, 0x00002887, 0x0000f009, 0x00207c23, 0x00001503,
- 0x00002887, 0x0000700b, 0x06c00000, 0x00006180, 0x9380120f, 0x00004880,
- 0x2887275e, 0x00007500, 0x0fb8c44e, 0x0000b03c, 0x0f80a64e, 0x0000f902,
- 0x08800000, 0x00008004, 0x8300164d, 0x00009283, 0x00002899, 0x00007013,
- 0x00070c61, 0x00001583, 0x288b283f, 0x0000f10b, 0x0102042a, 0x00009283,
- 0x0801540f, 0x00006092, 0x00113004, 0x0000b186, 0x83e07c0f, 0x0000e110,
- 0x04230804, 0x00006087, 0x86330004, 0x0000e887, 0x0b80040f, 0x00005094,
- 0x00400000, 0x00008000, 0x03802004, 0x00001900, 0x28952551, 0x00007100,
- 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x13a11c23, 0x00001901, 0x000144ec, 0x0000d784,
- 0x00000016, 0x00000380, 0x08026a0f, 0x00006900, 0x00207c4e, 0x00009503,
- 0x000268ec, 0x0000f902, 0x08c00000, 0x00008704, 0x06c00000, 0x0000e190,
- 0x83c7fa0f, 0x00004290, 0x000028d5, 0x0000f008, 0x83c0120f, 0x00006080,
- 0x03604000, 0x0000c980, 0x0f80a60f, 0x0000f902, 0x08800000, 0x00008004,
- 0x0fb8c40f, 0x0000b03c, 0x03c00000, 0x00006180, 0x0401400d, 0x00006003,
- 0x2401400d, 0x0000e003, 0x0f01440f, 0x0000b000, 0x03800000, 0x0000e180,
- 0x4520780d, 0x00006007, 0x80000614, 0x00006583, 0x6590a00f, 0x00002103,
- 0x83803f14, 0x00006090, 0x0038a00f, 0x00006106, 0x04000804, 0x0000e180,
- 0xc000080f, 0x0000e416, 0x45004528, 0x00006283, 0x04400000, 0x00008980,
- 0x04800000, 0x00006180, 0x0032e01b, 0x00006096, 0x86b13328, 0x00006100,
- 0x0403081b, 0x0000a012, 0xc528cf61, 0x00006203, 0xc6805522, 0x00000080,
- 0x04e70000, 0x00007900, 0x00002580, 0x00008980, 0x03001800, 0x0000f900,
- 0x00004000, 0x00000980, 0x000028e6, 0x00007210, 0xc369652c, 0x0000e101,
- 0x18400c61, 0x00004181, 0x05009000, 0x0000f900, 0x0002c440, 0x00000980,
- 0x05400000, 0x00007900, 0x00018030, 0x00008980, 0x05c00008, 0x0000e180,
- 0x05800000, 0x0000c980, 0x00000422, 0x00009583, 0x82330028, 0x0000e010,
- 0x82211028, 0x00003008, 0x98000000, 0x00009991, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008818ec, 0x0000d780,
- 0x00884a41, 0x00008480, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x08026a0f, 0x0000e100, 0x08011a0c, 0x00003100,
- 0x8010620f, 0x00009502, 0x00207c4e, 0x00009503, 0xffffffff, 0x00007f86,
- 0x0000289a, 0x00007010, 0x00002881, 0x00007010, 0x0102042a, 0x00009283,
- 0x0801540f, 0x00006092, 0x00113004, 0x0000b186, 0x83e07c0f, 0x0000e110,
- 0x04230804, 0x00006087, 0x86330004, 0x0000e887, 0x00002894, 0x0000f400,
- 0x0b80040f, 0x00005094, 0x00400000, 0x00008000, 0x03802004, 0x00001900,
- 0x05009000, 0x0000f900, 0x00030540, 0x00000980, 0x28c92626, 0x0000f500,
- 0x05400000, 0x00007900, 0x00018030, 0x00008980, 0x05c00008, 0x0000e180,
- 0x05800000, 0x0000c980, 0x000028c9, 0x0000f000, 0x0000042a, 0x0000e583,
- 0x0801540d, 0x0000a082, 0x08c68000, 0x000061c1, 0x83206c0d, 0x00004900,
- 0x5db874ec, 0x0000a084, 0x0000290f, 0x0000f248, 0x0b809c0c, 0x00007902,
- 0x04400000, 0x00008004, 0x83002228, 0x00006282, 0x184f0800, 0x00008980,
- 0x0e014660, 0x0000e000, 0x08014761, 0x0000b012, 0x03c02800, 0x00006180,
- 0x98114a29, 0x00004900, 0x21607825, 0x0000c495, 0x1640dd35, 0x00008a8a,
- 0x21601530, 0x00004489, 0x38409f0f, 0x00000a12, 0x46208c23, 0x0000780a,
- 0x01400001, 0x00000080, 0x0300080e, 0x0000e080, 0x83401211, 0x00000880,
- 0x0000000c, 0x00006582, 0x06c00000, 0x00008980, 0x0fb8c40d, 0x0000303c,
- 0x290b275e, 0x00007500, 0x0f80a60d, 0x00007902, 0x08800000, 0x00008004,
- 0x5db864ec, 0x00002894, 0x290d27b3, 0x00007300, 0x0401b800, 0x00001980,
- 0x01e09f0f, 0x0000c511, 0x80a08823, 0x0000ff0a, 0x43000d23, 0x00001283,
- 0x4300451c, 0x00001283, 0xffffffff, 0x00007f86, 0x00002914, 0x0000f010,
- 0x000028f6, 0x00007008, 0x000028f6, 0x00007400, 0x0abbf82a, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x08c68000, 0x00009981, 0x0300080e, 0x00001080,
- 0x291c283f, 0x0000f500, 0x0000000c, 0x00009582, 0x5db864ec, 0x00002894,
- 0x03fff00f, 0x0000f900, 0x003ffffe, 0x00008280, 0x00007813, 0x00009502,
- 0x03800000, 0x0000f910, 0x00040000, 0x00000980, 0x8390f21e, 0x00001910,
- 0x00002918, 0x0000f008, 0x43001d1c, 0x00006283, 0x0411480e, 0x0000a107,
- 0x0078eeec, 0x0000d704, 0x00387000, 0x00000000, 0x434066e3, 0x00006089,
- 0x0d81540d, 0x00002012, 0x4340440d, 0x00009091, 0x04000000, 0x00007900,
- 0x0002001e, 0x00000980, 0x30e86810, 0x00006880, 0x203884ec, 0x0000d704,
- 0x00000016, 0x00008480, 0x1178eeec, 0x0000d704, 0x00387000, 0x00000000,
- 0xf000080e, 0x0000ec01, 0x2278eeec, 0x0000d704, 0x00387000, 0x00000000,
- 0x03004000, 0x00007900, 0x00050006, 0x00008980, 0x200004ec, 0x00005784,
- 0x00386002, 0x0000aa00, 0x200084ec, 0x0000d784, 0x0001580a, 0x00002a80,
- 0x2018a4ec, 0x00005784, 0x01081019, 0x00000480, 0x200054ec, 0x00005784,
- 0x05089810, 0x00008480, 0x03018000, 0x0000f900, 0x00220016, 0x00000980,
- 0x2009d4ec, 0x0000d784, 0x00386015, 0x00000000, 0x00091cec, 0x0000d784,
- 0x00000015, 0x00000080, 0x000994ec, 0x0000d784, 0x00000015, 0x00008280,
- 0x5db86eec, 0x00002084, 0xffffffff, 0x00007fa7, 0x0007280d, 0x00001502,
- 0x294c286a, 0x0000f500, 0x0340080d, 0x00001090, 0x5db86eec, 0x00002894,
- 0x04801e5c, 0x00001281, 0x00001412, 0x00001583, 0x83003e4c, 0x00001283,
- 0xc302074c, 0x00001283, 0x00002953, 0x0000f010, 0x0000295b, 0x00007010,
- 0x0000295b, 0x00007010, 0x4304052a, 0x00001283, 0x0002e061, 0x0000e80b,
- 0x00000001, 0x0000f089, 0xc306074c, 0x00009283, 0x0a026412, 0x0000688a,
- 0x0000295b, 0x0000f011, 0x00004412, 0x00001583, 0x00000001, 0x0000f0d3,
- 0xd8400000, 0x0000e180, 0x00000010, 0x00006586, 0x97014010, 0x0000e800,
+ 0x00000421, 0x00009583, 0x823b0828, 0x0000e010, 0x82210828, 0x00003008,
+ 0xd8400000, 0x00009991, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008818ec, 0x0000d780, 0x00884a41, 0x00008480,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x08027a0f, 0x00006100, 0x0802720c, 0x0000b100, 0x8010620f, 0x00009502,
+ 0x00207c22, 0x00009503, 0xffffffff, 0x00007f86, 0x00002af7, 0x00007010,
+ 0x00002ade, 0x0000f010, 0x0102042a, 0x00009283, 0x0801540f, 0x00006092,
+ 0x00113004, 0x0000b186, 0x83e07c0f, 0x0000e110, 0x04230804, 0x00006087,
+ 0x863b0804, 0x0000e887, 0x00002af1, 0x00007400, 0x0b80040f, 0x00005094,
+ 0x00400000, 0x00008000, 0x03802004, 0x00001900, 0x05009000, 0x0000f900,
+ 0x00030540, 0x00000980, 0x2b262885, 0x0000f500, 0x05400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x05c00008, 0x0000e180, 0x05800000, 0x0000c980,
+ 0x00002b26, 0x00007000, 0x0000042a, 0x0000e583, 0x0801540d, 0x0000a082,
+ 0x08c68000, 0x000061c1, 0x83206c0d, 0x00004900, 0x5db874ec, 0x0000a084,
+ 0x00002b6c, 0x00007248, 0x0b809c0c, 0x00007902, 0x04400000, 0x00008004,
+ 0x184001e1, 0x000086c2, 0x83002228, 0x00006282, 0x0e014761, 0x00002000,
+ 0xd8114a29, 0x0000e100, 0x08014460, 0x00006012, 0x03c02800, 0x00001980,
+ 0x6d007825, 0x00004495, 0xd040dd35, 0x00000a8e, 0x6d001530, 0x0000c489,
+ 0xf2409f0f, 0x00008a16, 0xdd608c23, 0x0000780a, 0x01400001, 0x00000080,
+ 0x0300080e, 0x0000e080, 0x83401211, 0x00000880, 0x0000000c, 0x00006582,
+ 0x06c00000, 0x00008980, 0x0fb8c40d, 0x0000303c, 0x2b6829bb, 0x0000f500,
+ 0x0f80a60d, 0x00007902, 0x08400000, 0x00008004, 0x5db864ec, 0x00002894,
+ 0x2b6a2a10, 0x0000f300, 0x0401b800, 0x00001980, 0x01e09f0f, 0x0000c511,
+ 0x80a08823, 0x0000ff0a, 0x43000d23, 0x00001283, 0x4300451c, 0x00001283,
+ 0xffffffff, 0x00007f86, 0x00002b71, 0x00007010, 0x00002b53, 0x00007008,
+ 0x00002b53, 0x00007400, 0x0abbf82a, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x08c68000, 0x00009981, 0x0300080e, 0x00001080, 0x2b792a9c, 0x0000f500,
+ 0x0000000c, 0x00009582, 0x5db864ec, 0x00002894, 0x03fff00f, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x00007813, 0x00009502, 0x03800000, 0x0000f910,
+ 0x00040000, 0x00000980, 0x8390f21e, 0x00001910, 0x00002b75, 0x0000f008,
+ 0x43001d1c, 0x00006283, 0x0411480e, 0x0000a107, 0x0078eeec, 0x0000d704,
+ 0x00387000, 0x00000000, 0x434066e3, 0x00006089, 0x0d81540d, 0x00002012,
+ 0x4340440d, 0x00009091, 0x03000000, 0x0000f900, 0x0002001e, 0x00000980,
+ 0x30e8680c, 0x0000e880, 0x203864ec, 0x00005704, 0x00000016, 0x00008480,
+ 0x1178eeec, 0x0000d704, 0x00387000, 0x00000000, 0xf000080e, 0x0000ec01,
+ 0x2278eeec, 0x0000d704, 0x00387000, 0x00000000, 0x03404000, 0x0000f900,
+ 0x00050006, 0x00008980, 0x200004ec, 0x00005784, 0x00386802, 0x00002a00,
+ 0x200084ec, 0x0000d784, 0x0001580a, 0x00002a80, 0x2018a4ec, 0x00005784,
+ 0x01081019, 0x00000480, 0x200054ec, 0x00005784, 0x05089810, 0x00008480,
+ 0x03418000, 0x00007900, 0x00220016, 0x00000980, 0x2009d4ec, 0x0000d784,
+ 0x00386815, 0x00008000, 0x00091cec, 0x0000d784, 0x00000015, 0x00000080,
+ 0x000994ec, 0x0000d784, 0x00000015, 0x00008280, 0x5db86eec, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x0007280d, 0x00001502, 0x2ba92ac7, 0x0000f500,
+ 0x0340080d, 0x00001090, 0x5db86eec, 0x00002894, 0x04801e5c, 0x00001281,
+ 0x00001412, 0x00001583, 0x83003e4c, 0x00001283, 0xc302074c, 0x00001283,
+ 0x00002bb0, 0x0000f010, 0x00002bb8, 0x00007010, 0x00002bb8, 0x00007010,
+ 0x4304052a, 0x00001283, 0x0002e061, 0x0000e80b, 0x00000001, 0x0000f089,
+ 0xc306074c, 0x00009283, 0x0a026412, 0x0000688a, 0x00002bb8, 0x0000f011,
+ 0x00004412, 0x00001583, 0x00000001, 0x0000f0d3, 0x98400000, 0x0000e181,
+ 0x00000010, 0x00006586, 0x18000000, 0x0000e181, 0x97014010, 0x00006000,
0x4382e010, 0x00006800, 0x56414010, 0x0000e800, 0x80014010, 0x0000e800,
- 0x70014010, 0x0000e800, 0x5a800050, 0x00007892, 0x01400001, 0x00000080,
+ 0x70014010, 0x0000e800, 0xf2000050, 0x00007892, 0x01400001, 0x00000080,
0x0a02d412, 0x0000e082, 0x00000810, 0x00003402, 0x8362ba57, 0x00000039,
- 0x0000296e, 0x00007200, 0x83e09255, 0x00006100, 0x83000001, 0x00008980,
+ 0x00002bcc, 0x00007200, 0x83e09255, 0x00006100, 0x83000001, 0x00008980,
0x83da8b51, 0x00006100, 0x00001010, 0x00006402, 0x03428851, 0x00008039,
0x8336e810, 0x00001980, 0x4344052a, 0x00006283, 0x0d028050, 0x00008900,
0x0d7a9751, 0x00000318, 0x0dfaa753, 0x00008320, 0x0e7ab755, 0x00000328,
0x0efac757, 0x00008330, 0x0f400759, 0x000003b8, 0x0fc00000, 0x000084c0,
- 0x00002985, 0x0000f408, 0x10400000, 0x000004c8, 0x10c00000, 0x0000e180,
+ 0x00002be3, 0x00007408, 0x10400000, 0x000004c8, 0x10c00000, 0x0000e180,
0x20001010, 0x00006412, 0x8fd2d25a, 0x00006100, 0x0d815412, 0x0000e002,
- 0x043df810, 0x0000f900, 0x003ffffe, 0x00008280, 0x0480c412, 0x00006080,
- 0xa0000010, 0x0000a400, 0xcf92624c, 0x00006100, 0xa6c14010, 0x0000e000,
- 0x6801f212, 0x0000a086, 0xcfd07a0f, 0x0000e100, 0x66014010, 0x0000e000,
+ 0x043df810, 0x0000f900, 0x003ffffe, 0x00008280, 0x84a09412, 0x00006100,
+ 0xa0000010, 0x00006400, 0xcf92624c, 0x00006100, 0xa6c14010, 0x0000e000,
+ 0x6981f212, 0x0000a086, 0xcfd07a0f, 0x0000e100, 0x66014010, 0x0000e000,
0x0000040d, 0x0000e583, 0xca50620c, 0x00008900, 0x83000000, 0x000002f0,
0x0aa7f82a, 0x00007900, 0x003ffffe, 0x00008280, 0x03000800, 0x0000e189,
0xf000002a, 0x00006400, 0x0b400000, 0x00006180, 0x4b20740e, 0x00004901,
@@ -7489,341 +7716,407 @@ ARRAY_DECL u32 init_val[] = {
0x0cc00000, 0x00006180, 0x8a52e25c, 0x0000c900, 0x0762774d, 0x00000138,
0x07ba7d4e, 0x0000813c, 0x0a000410, 0x000085b3, 0x00000001, 0x00007480,
0x0b3ae80d, 0x00000231, 0x8b507c0e, 0x00009000, 0x0000042a, 0x0000e583,
- 0x0e81540d, 0x00002000, 0x08c68000, 0x000019c1, 0x00002a3b, 0x00007049,
- 0x83002228, 0x00006282, 0x18470800, 0x00000980, 0x0e014660, 0x0000e000,
- 0x08014761, 0x0000b012, 0x98614b0d, 0x00008600, 0x3ba04528, 0x0000c497,
- 0xb4407825, 0x00000a93, 0x3b40dd35, 0x00004989, 0xb4401530, 0x00000a8b,
- 0x0e01540d, 0x0000e002, 0x0e015444, 0x00003002, 0x43001d1c, 0x00006283,
- 0x1180e81d, 0x00008900, 0x510066e3, 0x0000e089, 0x0d81540c, 0x0000a012,
- 0x11400000, 0x00007900, 0x00040000, 0x00000980, 0x5100440c, 0x00006091,
- 0x9150f21e, 0x00000900, 0x0000140d, 0x00006583, 0x04114845, 0x0000a107,
- 0x0078eeec, 0x0000570c, 0x003a2800, 0x00000000, 0x03400000, 0x0000f908,
- 0x0002001e, 0x00000980, 0x00002a44, 0x0000f010, 0x30ea200d, 0x0000e880,
- 0x20386cec, 0x0000d704, 0x00000016, 0x00008480, 0x1178eeec, 0x0000d704,
- 0x003a2800, 0x00000000, 0xf0000845, 0x0000ec01, 0x2278eeec, 0x0000d704,
- 0x003a2800, 0x00000000, 0x03004000, 0x00007900, 0x00050006, 0x00008980,
- 0x200004ec, 0x00005784, 0x00386002, 0x0000aa00, 0x200084ec, 0x0000d784,
- 0x0001580a, 0x00002a80, 0x2018a4ec, 0x00005784, 0x01081019, 0x00000480,
- 0x200054ec, 0x00005784, 0x05089810, 0x00008480, 0x03018000, 0x0000f900,
- 0x00220016, 0x00000980, 0x2009d4ec, 0x0000d784, 0x00386015, 0x00000000,
- 0x00091cec, 0x0000d784, 0x00000015, 0x00000080, 0x000994ec, 0x0000d784,
- 0x00000015, 0x00008280, 0x5df860ec, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x0007280c, 0x00009502, 0x0300080c, 0x00001090, 0x5df860ec, 0x00002894,
- 0x29da286a, 0x00007100, 0x29a927b3, 0x0000f300, 0x04029000, 0x00001980,
- 0x000029a9, 0x00007000, 0x8a52e25c, 0x0000e100, 0x00000861, 0x0000e487,
- 0x0300004c, 0x00007900, 0x001001c0, 0x00008282, 0xd8401761, 0x00001881,
- 0x27c2e061, 0x00006803, 0x00002aa2, 0x00007010, 0x4000052a, 0x00001583,
- 0x0002e061, 0x0000e843, 0x000029ed, 0x00007041, 0xa880004c, 0x0000f896,
- 0x017e0001, 0x00000000, 0x49a07825, 0x00004495, 0x9a40dd35, 0x00000a8c,
- 0x93401530, 0x0000f88a, 0x99400000, 0x0000148f, 0x03007825, 0x00009282,
- 0x4000dd35, 0x00009583, 0x40001530, 0x00001583, 0x00002a4d, 0x0000f010,
- 0x00002a4d, 0x0000f008, 0x00002a4d, 0x0000f008, 0x43001d1c, 0x00006283,
- 0x0882d40d, 0x00002002, 0x510066e3, 0x0000e089, 0x03371ee3, 0x00000909,
- 0x00002a54, 0x0000f011, 0x11400000, 0x0000e180, 0x8360640c, 0x0000c900,
- 0x6800620d, 0x0000f902, 0x03800000, 0x00000004, 0x03730fe4, 0x00009800,
- 0xffffffff, 0x00007f97, 0x83106a0c, 0x00006202, 0xd1106a0e, 0x00008200,
- 0x03000045, 0x0000e595, 0x00800045, 0x0000358b, 0x9150f21e, 0x00006110,
- 0x9152724e, 0x00004908, 0x0e015444, 0x0000e012, 0x0882d444, 0x0000b00a,
- 0x04130045, 0x00006117, 0x0412e045, 0x0000310f, 0x1180e81d, 0x0000e110,
- 0x1182684d, 0x0000c908, 0xc3106b0c, 0x00009202, 0x00001444, 0x0000e583,
- 0x01800045, 0x00002593, 0xffffffff, 0x00007f86, 0x03018745, 0x00009289,
- 0x00002aca, 0x0000f010, 0x0001840c, 0x00009583, 0x007a36ec, 0x0000d714,
- 0x003a2800, 0x00000000, 0x03400000, 0x0000f910, 0x0002001e, 0x00000980,
- 0x00002a77, 0x0000f008, 0x30ea200d, 0x0000e880, 0x20386cec, 0x0000d704,
- 0x00000016, 0x00008480, 0x117a36ec, 0x00005704, 0x003a2800, 0x00000000,
- 0xf0000845, 0x0000ec01, 0x227a36ec, 0x00005704, 0x003a2800, 0x00000000,
- 0x03004000, 0x00007900, 0x00050006, 0x00008980, 0x200004ec, 0x00005784,
- 0x00386002, 0x0000aa00, 0x200084ec, 0x0000d784, 0x0001580a, 0x00002a80,
- 0x2018a4ec, 0x00005784, 0x01081019, 0x00000480, 0x200054ec, 0x00005784,
- 0x05089810, 0x00008480, 0x03018000, 0x0000f900, 0x00220016, 0x00000980,
- 0x2009d4ec, 0x0000d784, 0x00386015, 0x00000000, 0x00091cec, 0x0000d784,
- 0x00000015, 0x00000080, 0xc0000344, 0x00009582, 0x03699000, 0x00009988,
- 0x00002aa7, 0x0000f011, 0xc000280d, 0x0000ec06, 0xa000080d, 0x0000ec01,
- 0x00386cec, 0x00005704, 0x00000000, 0x00008080, 0x5df868ec, 0x00002004,
- 0xffffffff, 0x00007fa7, 0x0007280d, 0x00001502, 0x0340080d, 0x00001090,
- 0x5df868ec, 0x00002814, 0x2a3b286a, 0x00007100, 0x43000d23, 0x00001283,
- 0x4300451c, 0x00001283, 0xffffffff, 0x00007f86, 0x00002a40, 0x00007010,
- 0x000029a0, 0x0000f008, 0x000029a0, 0x0000f400, 0x0abbf82a, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x08c68000, 0x00009981, 0x2a452698, 0x00007100,
+ 0x0e81540c, 0x0000a000, 0x08c68000, 0x000019c1, 0x00002c9a, 0x0000f049,
+ 0x184000e1, 0x000006c2, 0x5860640c, 0x00006101, 0x0e014761, 0x0000e000,
+ 0x83002228, 0x00006282, 0xd8114a29, 0x00000900, 0x08014460, 0x0000e812,
+ 0x87804528, 0x0000c497, 0x72407825, 0x00008b90, 0x8720dd35, 0x0000c989,
+ 0x72401530, 0x00008b88, 0x0e01540d, 0x0000e002, 0x0e015444, 0x00003002,
+ 0x43001d1c, 0x00006283, 0x1180e81d, 0x00008900, 0x510066e3, 0x0000e089,
+ 0x0d81540c, 0x0000a012, 0x11400000, 0x00007900, 0x00040000, 0x00000980,
+ 0x5100440c, 0x00006091, 0x9150f21e, 0x00000900, 0x0000140d, 0x00006583,
+ 0x04114845, 0x0000a107, 0x0078eeec, 0x0000570c, 0x003a2800, 0x00000000,
+ 0x03000000, 0x00007908, 0x0002001e, 0x00000980, 0x00002ca3, 0x0000f010,
+ 0x30ea200c, 0x00006880, 0x203864ec, 0x00005704, 0x00000016, 0x00008480,
+ 0x1178eeec, 0x0000d704, 0x003a2800, 0x00000000, 0xf0000845, 0x0000ec01,
+ 0x2278eeec, 0x0000d704, 0x003a2800, 0x00000000, 0x03404000, 0x0000f900,
+ 0x00050006, 0x00008980, 0x200004ec, 0x00005784, 0x00386802, 0x00002a00,
+ 0x200084ec, 0x0000d784, 0x0001580a, 0x00002a80, 0x2018a4ec, 0x00005784,
+ 0x01081019, 0x00000480, 0x200054ec, 0x00005784, 0x05089810, 0x00008480,
+ 0x03418000, 0x00007900, 0x00220016, 0x00000980, 0x2009d4ec, 0x0000d784,
+ 0x00386815, 0x00008000, 0x00091cec, 0x0000d784, 0x00000015, 0x00000080,
0x000994ec, 0x0000d784, 0x00000015, 0x00008280, 0x5df860ec, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x0007280c, 0x00009502, 0x000029d9, 0x00007400,
- 0x0300080c, 0x00001090, 0x5df860ec, 0x00002894, 0x2a4f27b3, 0x00007300,
- 0x04029000, 0x00001980, 0x0882d40d, 0x00006802, 0x43001d1c, 0x00009283,
- 0x510066e3, 0x0000e089, 0x03371ee3, 0x00000909, 0x000029f8, 0x0000f009,
- 0x0000140d, 0x00006583, 0x03c00000, 0x00008980, 0x83d2724e, 0x00006100,
- 0x0d815411, 0x0000e002, 0x117a6eec, 0x0000570c, 0x00387800, 0x00008000,
- 0x00002acf, 0x0000f010, 0x03800000, 0x00007900, 0x0002001e, 0x00000980,
- 0x03404411, 0x0000e081, 0xf000080f, 0x00002401, 0x30e0680e, 0x0000e880,
- 0x003874ec, 0x00005704, 0x00000000, 0x00008080, 0x127a6eec, 0x0000d704,
- 0x00387800, 0x00008000, 0x03008000, 0x00007900, 0x0015000a, 0x00000980,
- 0x200044ec, 0x0000d784, 0x00386006, 0x00008a00, 0x0329d000, 0x0000f900,
- 0x00010014, 0x00000980, 0x20105cec, 0x00005784, 0x00386014, 0x00008000,
- 0x000068ec, 0x00007902, 0x03000000, 0x00000704, 0xffffffff, 0x00007fa7,
- 0x83001e0d, 0x00009283, 0x08006a0d, 0x0000e910, 0x8340120d, 0x00009890,
- 0x00002ad2, 0x0000f008, 0x0fc0620d, 0x00002085, 0x000029f8, 0x00007403,
- 0xffffffff, 0x00007f86, 0x5100640c, 0x00009081, 0x200006ec, 0x0000d784,
- 0x00000000, 0x00008080, 0x203afeec, 0x0000d704, 0x003f2800, 0x00000000,
- 0x203a36ec, 0x00005704, 0x003a2800, 0x00000000, 0x03400000, 0x00007900,
- 0x0002001e, 0x00000980, 0x04000000, 0x0000e180, 0x0301400b, 0x0000c980,
- 0x30ea200d, 0x00006080, 0x82222010, 0x00003006, 0x30e22010, 0x0000e080,
- 0x0022200c, 0x00003004, 0x20386cec, 0x0000d704, 0x00386000, 0x00008000,
- 0x117a36ec, 0x00005704, 0x003a2800, 0x00000000, 0xc3222010, 0x00006006,
- 0xf0000845, 0x00003401, 0x200006ec, 0x0000d784, 0x00388000, 0x00000000,
- 0x203afeec, 0x0000d704, 0x003f2800, 0x00000000, 0x203a36ec, 0x00005704,
- 0x003a2800, 0x00000000, 0x03004000, 0x00007900, 0x00050006, 0x00008980,
- 0x200004ec, 0x00005784, 0x00386002, 0x0000aa00, 0x200084ec, 0x0000d784,
+ 0xffffffff, 0x00007fa7, 0x0007280c, 0x00009502, 0x0300080c, 0x00001090,
+ 0x5df860ec, 0x00002894, 0x2c392ac7, 0x0000f100, 0x2c082a10, 0x0000f300,
+ 0x04029000, 0x00001980, 0x00002c08, 0x0000f000, 0x0300004c, 0x00007900,
+ 0x001001c0, 0x00008282, 0x8a52e25c, 0x0000e100, 0x00000861, 0x0000e487,
+ 0x18001460, 0x00006081, 0x27c2e061, 0x0000e003, 0x00002d01, 0x0000f010,
+ 0x4000052a, 0x00001583, 0x0002e061, 0x0000e843, 0x00002c4c, 0x0000f041,
+ 0x4040004c, 0x00007897, 0x017e0001, 0x00000000, 0x95807825, 0x00004495,
+ 0x5840dd35, 0x00000b89, 0x2b001530, 0x0000f88b, 0x91400000, 0x00009682,
+ 0x03007825, 0x00009282, 0x4000dd35, 0x00009583, 0x40001530, 0x00001583,
+ 0x00002cac, 0x0000f010, 0x00002cac, 0x0000f008, 0x00002cac, 0x0000f008,
+ 0x43001d1c, 0x00006283, 0x0882d40d, 0x00002002, 0x510066e3, 0x0000e089,
+ 0x03371ee3, 0x00000909, 0x00002cb3, 0x0000f011, 0x11400000, 0x0000e180,
+ 0x8360640c, 0x0000c900, 0x6800620d, 0x0000f902, 0x03800000, 0x00000004,
+ 0x03730fe4, 0x00009800, 0xffffffff, 0x00007f97, 0x83106a0c, 0x00006202,
+ 0xd2506a0e, 0x00000200, 0x03000045, 0x0000e595, 0x00800045, 0x0000358b,
+ 0x9150f21e, 0x00006110, 0x9152724e, 0x00004908, 0x0e015444, 0x0000e012,
+ 0x0882d444, 0x0000b00a, 0x041b0045, 0x0000e117, 0x0412e045, 0x0000310f,
+ 0x1180e81d, 0x0000e110, 0x1182684d, 0x0000c908, 0xc3106b0c, 0x00009202,
+ 0x00001444, 0x0000e583, 0x01800045, 0x00002593, 0xffffffff, 0x00007f86,
+ 0x03018745, 0x00009289, 0x00002d29, 0x0000f010, 0x0001840c, 0x00009583,
+ 0x007a36ec, 0x0000d714, 0x003a2800, 0x00000000, 0x03000000, 0x00007910,
+ 0x0002001e, 0x00000980, 0x00002cd6, 0x00007008, 0x30ea200c, 0x00006880,
+ 0x203864ec, 0x00005704, 0x00000016, 0x00008480, 0x117a36ec, 0x00005704,
+ 0x003a2800, 0x00000000, 0xf0000845, 0x0000ec01, 0x227a36ec, 0x00005704,
+ 0x003a2800, 0x00000000, 0x03404000, 0x0000f900, 0x00050006, 0x00008980,
+ 0x200004ec, 0x00005784, 0x00386802, 0x00002a00, 0x200084ec, 0x0000d784,
0x0001580a, 0x00002a80, 0x2018a4ec, 0x00005784, 0x01081019, 0x00000480,
- 0x200054ec, 0x00005784, 0x05089810, 0x00008480, 0x03018000, 0x0000f900,
- 0x00220016, 0x00000980, 0x00002a2e, 0x0000f400, 0x2009d4ec, 0x0000d784,
- 0x00386015, 0x00000000, 0x00091cec, 0x0000d784, 0x00000015, 0x00000080,
- 0x2aa3294c, 0x0000f100, 0x49a07825, 0x00004495, 0x9a40dd35, 0x00000a8c,
- 0x93401530, 0x0000f88a, 0x99400000, 0x0000148f, 0x03000000, 0x0000f900,
- 0x00180000, 0x00008980, 0x0010f00c, 0x00006986, 0x0413000c, 0x0000e907,
- 0x1178eeec, 0x0000d704, 0x00386000, 0x00008000, 0x0078eeec, 0x0000d704,
- 0x00386000, 0x00008000, 0xf000080c, 0x00006c01, 0x2278eeec, 0x0000d704,
- 0x00386000, 0x00008000, 0x0338a000, 0x00007900, 0x0002001c, 0x00008980,
- 0x200994ec, 0x00005784, 0x00386019, 0x00000000, 0x03004000, 0x00007900,
- 0x00050006, 0x00008980, 0x200004ec, 0x00005784, 0x00386002, 0x0000aa00,
- 0x000084ec, 0x00005784, 0x0000000a, 0x00002a80, 0x200814ec, 0x00005784,
- 0x05089804, 0x00000080, 0x03018000, 0x0000f900, 0x00200016, 0x00008980,
- 0x2009d4ec, 0x0000d784, 0x00386015, 0x00000000, 0x000144ec, 0x0000d784,
- 0x00000016, 0x00008280, 0x5df868ec, 0x00002004, 0xffffffff, 0x00007fa7,
- 0x0007280d, 0x00001502, 0x00002a3a, 0x0000f400, 0x0340080d, 0x00001090,
- 0x5df868ec, 0x00002814, 0x2acb2698, 0x00007100, 0xc0000344, 0x00009582,
- 0x03699000, 0x00009988, 0x00002a31, 0x0000f009, 0x00002aa7, 0x0000f000,
- 0x0300a411, 0x00001081, 0x000029f8, 0x00007200, 0x51004411, 0x00001081,
- 0x00002ad0, 0x00007200, 0x03008411, 0x00009081, 0x0000042a, 0x0000e583,
- 0x0801540e, 0x0000a082, 0x08c68000, 0x000061c1, 0x8360740e, 0x0000c900,
- 0x5db88cec, 0x0000a004, 0x00002b04, 0x0000f248, 0x0b80a40d, 0x00007902,
- 0x04c00000, 0x00000004, 0x83002228, 0x00006282, 0x184f0820, 0x00000980,
- 0x08014761, 0x0000e012, 0x0e014660, 0x0000b000, 0x0300004c, 0x00007900,
- 0x001001c0, 0x00008282, 0xd8401761, 0x00006081, 0x98114a29, 0x00004900,
- 0x8a52e25c, 0x0000e100, 0x27c2e061, 0x0000e003, 0x00002b02, 0x0000f010,
- 0x4000052a, 0x00001583, 0x0002e061, 0x0000e843, 0x00002aed, 0x00007041,
- 0x0300004c, 0x00007900, 0x003e0000, 0x00000282, 0x00002b02, 0x0000f013,
- 0x03802800, 0x00009980, 0x838b095c, 0x00008039, 0x5fc07825, 0x0000c495,
- 0xfc40dd35, 0x00008a8d, 0x5fc01530, 0x00004489, 0x2240a70e, 0x00000a16,
- 0xc3609c23, 0x0000f80a, 0x01400001, 0x00000080, 0x03400811, 0x0000e080,
- 0x83801213, 0x00008880, 0x0000000d, 0x0000e582, 0x06c00000, 0x00008980,
- 0x0fb8c40e, 0x0000303c, 0x2afe275e, 0x00007500, 0x0f80a60e, 0x00007902,
- 0x08800000, 0x00008004, 0x5db86cec, 0x00002814, 0x2b0027b3, 0x00007300,
- 0x0401b800, 0x00001980, 0x0220a70e, 0x0000c511, 0x80c09823, 0x00007f0a,
- 0x2aed294c, 0x0000f100, 0x00002aed, 0x00007000, 0x43000d23, 0x00001283,
- 0x4300451c, 0x00001283, 0xffffffff, 0x00007f86, 0x00002b09, 0x00007010,
- 0x00002adc, 0x00007008, 0x00002adc, 0x00007400, 0x0abbf82a, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x08c68000, 0x00009981, 0x03400811, 0x00001080,
- 0x2b11283f, 0x0000f500, 0x0000000d, 0x00001582, 0x5db86cec, 0x00002814,
- 0x03bff00e, 0x0000f900, 0x003ffffe, 0x00008280, 0x00007014, 0x00009502,
- 0x0882d40e, 0x0000e812, 0x00002b0d, 0x00007009, 0x43001d1c, 0x00009283,
- 0x510066e3, 0x0000e089, 0x03b71ee3, 0x00008909, 0x00002bad, 0x00007011,
- 0xc340050e, 0x00000494, 0x6838620d, 0x0000303c, 0x03b30fe4, 0x00009800,
- 0xffffffff, 0x00007f97, 0x8310720c, 0x00006202, 0xd110720d, 0x00008200,
+ 0x200054ec, 0x00005784, 0x05089810, 0x00008480, 0x03418000, 0x00007900,
+ 0x00220016, 0x00000980, 0x2009d4ec, 0x0000d784, 0x00386815, 0x00008000,
+ 0x00091cec, 0x0000d784, 0x00000015, 0x00000080, 0xc0000349, 0x00001582,
+ 0x03299000, 0x00001988, 0x00002d06, 0x0000f011, 0xc000280c, 0x00006c06,
+ 0xa000080c, 0x00006c01, 0x003864ec, 0x0000d704, 0x00000000, 0x00008080,
+ 0x5df860ec, 0x0000a004, 0xffffffff, 0x00007fa7, 0x0007280c, 0x00009502,
+ 0x0300080c, 0x00001090, 0x5df860ec, 0x0000a814, 0x2c9a2ac7, 0x0000f100,
+ 0x43000d23, 0x00001283, 0x4300451c, 0x00001283, 0xffffffff, 0x00007f86,
+ 0x00002c9f, 0x0000f010, 0x00002bfe, 0x0000f008, 0x00002bfe, 0x0000f400,
+ 0x0abbf82a, 0x0000f900, 0x003ffffe, 0x00008280, 0x08c68000, 0x00009981,
+ 0x2ca428f5, 0x00007100, 0x000994ec, 0x0000d784, 0x00000015, 0x00008280,
+ 0x5df860ec, 0x00002084, 0xffffffff, 0x00007fa7, 0x0007280c, 0x00009502,
+ 0x00002c38, 0x00007400, 0x0300080c, 0x00001090, 0x5df860ec, 0x00002894,
+ 0x2cae2a10, 0x0000f300, 0x04029000, 0x00001980, 0x0882d40d, 0x00006802,
+ 0x43001d1c, 0x00009283, 0x510066e3, 0x0000e089, 0x03371ee3, 0x00000909,
+ 0x00002c57, 0x0000f009, 0x0000140d, 0x00006583, 0x03800000, 0x00000980,
+ 0x8392724e, 0x0000e100, 0x0d815411, 0x0000e002, 0x117a6eec, 0x0000570c,
+ 0x00387000, 0x00000000, 0x00002d2e, 0x00007010, 0x03000000, 0x0000f900,
+ 0x0002001e, 0x00000980, 0x03404411, 0x0000e081, 0xf000080e, 0x0000a401,
+ 0x30e0680c, 0x00006880, 0x003864ec, 0x0000d704, 0x00000000, 0x00008080,
+ 0x127a6eec, 0x0000d704, 0x00387000, 0x00000000, 0x03408000, 0x0000f900,
+ 0x0015000a, 0x00000980, 0x200044ec, 0x0000d784, 0x00386806, 0x00000a00,
+ 0x0369d000, 0x00007900, 0x00010014, 0x00000980, 0x20105cec, 0x00005784,
+ 0x00386814, 0x00000000, 0x000068ec, 0x00007902, 0x03000000, 0x00000704,
+ 0xffffffff, 0x00007fa7, 0x83001e0d, 0x00009283, 0x08006a0d, 0x0000e910,
+ 0x8340120d, 0x00009890, 0x00002d31, 0x0000f008, 0x0fc0620d, 0x00002085,
+ 0x00002c57, 0x00007403, 0xffffffff, 0x00007f86, 0x5100640c, 0x00009081,
+ 0x200006ec, 0x0000d784, 0x00000000, 0x00008080, 0x203afeec, 0x0000d704,
+ 0x003f2800, 0x00000000, 0x203a36ec, 0x00005704, 0x003a2800, 0x00000000,
+ 0x03000000, 0x0000f900, 0x0002001e, 0x00000980, 0x04000000, 0x0000e180,
+ 0x0341400b, 0x00004980, 0x30ea200c, 0x0000e080, 0x82222010, 0x00003006,
+ 0x30e22010, 0x0000e080, 0x0022200d, 0x0000b004, 0x203864ec, 0x00005704,
+ 0x00386800, 0x00000000, 0x117a36ec, 0x00005704, 0x003a2800, 0x00000000,
+ 0xc3222010, 0x00006006, 0xf0000845, 0x00003401, 0x200006ec, 0x0000d784,
+ 0x00388000, 0x00000000, 0x203afeec, 0x0000d704, 0x003f2800, 0x00000000,
+ 0x203a36ec, 0x00005704, 0x003a2800, 0x00000000, 0x03404000, 0x0000f900,
+ 0x00050006, 0x00008980, 0x200004ec, 0x00005784, 0x00386802, 0x00002a00,
+ 0x200084ec, 0x0000d784, 0x0001580a, 0x00002a80, 0x2018a4ec, 0x00005784,
+ 0x01081019, 0x00000480, 0x200054ec, 0x00005784, 0x05089810, 0x00008480,
+ 0x03418000, 0x00007900, 0x00220016, 0x00000980, 0x00002c8d, 0x0000f400,
+ 0x2009d4ec, 0x0000d784, 0x00386815, 0x00008000, 0x00091cec, 0x0000d784,
+ 0x00000015, 0x00000080, 0x2d022ba9, 0x0000f100, 0x95807825, 0x00004495,
+ 0x5840dd35, 0x00000b89, 0x2b001530, 0x0000f88b, 0x91400000, 0x00009682,
+ 0x03000000, 0x0000f900, 0x00180000, 0x00008980, 0x0010f00c, 0x00006986,
+ 0x041b000c, 0x00006907, 0x1178eeec, 0x0000d704, 0x00386000, 0x00008000,
+ 0x0078eeec, 0x0000d704, 0x00386000, 0x00008000, 0xf000080c, 0x00006c01,
+ 0x2278eeec, 0x0000d704, 0x00386000, 0x00008000, 0x0378a000, 0x0000f900,
+ 0x0002001c, 0x00008980, 0x200994ec, 0x00005784, 0x00386819, 0x00008000,
+ 0x03404000, 0x0000f900, 0x00050006, 0x00008980, 0x200004ec, 0x00005784,
+ 0x00386802, 0x00002a00, 0x000084ec, 0x00005784, 0x0000000a, 0x00002a80,
+ 0x200814ec, 0x00005784, 0x05089804, 0x00000080, 0x03418000, 0x00007900,
+ 0x00200016, 0x00008980, 0x2009d4ec, 0x0000d784, 0x00386815, 0x00008000,
+ 0x000144ec, 0x0000d784, 0x00000016, 0x00008280, 0x5df860ec, 0x0000a004,
+ 0xffffffff, 0x00007fa7, 0x0007280c, 0x00009502, 0x00002c99, 0x0000f400,
+ 0x0300080c, 0x00001090, 0x5df860ec, 0x0000a814, 0x2d2a28f5, 0x0000f100,
+ 0xc0000349, 0x00001582, 0x03299000, 0x00001988, 0x00002c90, 0x00007009,
+ 0x00002d06, 0x0000f000, 0x0300a411, 0x00001081, 0x00002c57, 0x00007200,
+ 0x51004411, 0x00001081, 0x00002d2f, 0x0000f200, 0x03008411, 0x00009081,
+ 0x0000042a, 0x0000e583, 0x0801540f, 0x00002082, 0x08c68000, 0x000061c1,
+ 0x83a07c0f, 0x0000c900, 0x5db88cec, 0x0000a004, 0x00002d64, 0x0000f248,
+ 0x0b80a40e, 0x00007902, 0x04c00000, 0x00000004, 0x83002228, 0x00006282,
+ 0x18000000, 0x00000981, 0x184f0820, 0x0000e180, 0x08014460, 0x00006012,
+ 0x0300004c, 0x00007900, 0x001001c0, 0x00008282, 0xd8114a29, 0x0000e100,
+ 0x0e014761, 0x0000e000, 0x18001460, 0x00006081, 0x27c2e061, 0x0000e003,
+ 0x00002d62, 0x00007210, 0x8a52e25c, 0x00009900, 0x4000052a, 0x00001583,
+ 0x0002e061, 0x0000e843, 0x00002d4d, 0x0000f041, 0x0300004c, 0x00007900,
+ 0x003e0000, 0x00000282, 0x00002d62, 0x0000f013, 0x03802800, 0x00009980,
+ 0x838b095c, 0x00008039, 0xabc07825, 0x00004495, 0xbc40dd35, 0x00000b8a,
+ 0xabc01530, 0x0000c489, 0xe240a70e, 0x00000b12, 0x5b609c23, 0x0000f80b,
+ 0x01400001, 0x00000080, 0x03800811, 0x0000e080, 0x83c01213, 0x00000880,
+ 0x0000000e, 0x0000e582, 0x06c00000, 0x00008980, 0x0fb8c40f, 0x0000b03c,
+ 0x2d5e29bb, 0x0000f500, 0x0f80a60f, 0x0000f902, 0x08400000, 0x00008004,
+ 0x5db874ec, 0x00002814, 0x2d602a10, 0x0000f300, 0x0401b800, 0x00001980,
+ 0x0220a70e, 0x0000c511, 0x80c09823, 0x00007f0a, 0x2d4d2ba9, 0x00007100,
+ 0x00002d4d, 0x0000f000, 0x43000d23, 0x00001283, 0x4300451c, 0x00001283,
+ 0xffffffff, 0x00007f86, 0x00002d69, 0x00007010, 0x00002d3b, 0x0000f008,
+ 0x00002d3b, 0x0000f400, 0x0abbf82a, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x08c68000, 0x00009981, 0x03800811, 0x00001080, 0x2d712a9c, 0x00007500,
+ 0x0000000e, 0x00001582, 0x5db874ec, 0x00002814, 0x03bff00e, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x00007014, 0x00009502, 0x0882d40f, 0x00006812,
+ 0x00002d6d, 0x00007009, 0x43001d1c, 0x00009283, 0x510066e3, 0x0000e089,
+ 0x03f71ee3, 0x00000909, 0x00002e0e, 0x00007011, 0xc380050f, 0x00008494,
+ 0x68006a0e, 0x00007902, 0x03000000, 0x00008004, 0x03f30fe4, 0x00001800,
+ 0xffffffff, 0x00007f97, 0x83507a0d, 0x0000e202, 0xd2507a0c, 0x00000200,
0x03000045, 0x0000e595, 0x00800045, 0x0000358b, 0x9150f21e, 0x00006110,
0x9152724e, 0x00004908, 0x0e015444, 0x0000e012, 0x0882d444, 0x0000b00a,
- 0x04130045, 0x00006117, 0x0412e045, 0x0000310f, 0x1180e81d, 0x0000e110,
- 0x1182684d, 0x0000c908, 0xc310730c, 0x00009202, 0x00001444, 0x0000e583,
- 0x01800045, 0x00002593, 0xffffffff, 0x00007f86, 0x03418745, 0x00001289,
- 0x00002b86, 0x0000f010, 0x0001840d, 0x00001583, 0x007a36ec, 0x0000d714,
- 0x003a2800, 0x00000000, 0x03400000, 0x0000f910, 0x0002001e, 0x00000980,
- 0x00002b5b, 0x0000f008, 0x30ea200d, 0x0000e880, 0x20386cec, 0x0000d704,
+ 0x041b0045, 0x0000e117, 0x0412e045, 0x0000310f, 0x1180e81d, 0x0000e110,
+ 0x1182684d, 0x0000c908, 0xc3107b0d, 0x00009202, 0x00001444, 0x0000e583,
+ 0x01800045, 0x00002593, 0xffffffff, 0x00007f86, 0x03818745, 0x00001289,
+ 0x00002de7, 0x00007010, 0x0001840e, 0x00001583, 0x007a36ec, 0x0000d714,
+ 0x003a2800, 0x00000000, 0x03000000, 0x00007910, 0x0002001e, 0x00000980,
+ 0x00002dbc, 0x0000f008, 0x30ea200c, 0x00006880, 0x203864ec, 0x00005704,
0x00000016, 0x00008480, 0x117a36ec, 0x00005704, 0x003a2800, 0x00000000,
0xf0000845, 0x0000ec01, 0x227a36ec, 0x00005704, 0x003a2800, 0x00000000,
- 0x03004000, 0x00007900, 0x00050006, 0x00008980, 0x200004ec, 0x00005784,
- 0x00386002, 0x0000aa00, 0x200084ec, 0x0000d784, 0x0001580a, 0x00002a80,
+ 0x03404000, 0x0000f900, 0x00050006, 0x00008980, 0x200004ec, 0x00005784,
+ 0x00386802, 0x00002a00, 0x200084ec, 0x0000d784, 0x0001580a, 0x00002a80,
0x2018a4ec, 0x00005784, 0x01081019, 0x00000480, 0x200054ec, 0x00005784,
- 0x05089810, 0x00008480, 0x03018000, 0x0000f900, 0x00220016, 0x00000980,
- 0x2009d4ec, 0x0000d784, 0x00386015, 0x00000000, 0x00091cec, 0x0000d784,
- 0x00000015, 0x00000080, 0xc0000344, 0x00009582, 0x03699000, 0x00009988,
- 0x00002b8a, 0x00007011, 0xc000280d, 0x0000ec06, 0xa000080d, 0x0000ec01,
- 0x00386cec, 0x00005704, 0x00000000, 0x00008080, 0x5db876ec, 0x0000a004,
- 0xffffffff, 0x00007fa7, 0x0007280e, 0x00001502, 0x2b5b286a, 0x00007500,
- 0x0380080e, 0x00001090, 0x5db876ec, 0x0000a814, 0x200006ec, 0x0000d784,
+ 0x05089810, 0x00008480, 0x03418000, 0x00007900, 0x00220016, 0x00000980,
+ 0x2009d4ec, 0x0000d784, 0x00386815, 0x00008000, 0x00091cec, 0x0000d784,
+ 0x00000015, 0x00000080, 0xc0000349, 0x00001582, 0x03299000, 0x00001988,
+ 0x00002deb, 0x0000f011, 0xc000280c, 0x00006c06, 0xa000080c, 0x00006c01,
+ 0x003864ec, 0x0000d704, 0x00000000, 0x00008080, 0x5db87eec, 0x00002004,
+ 0xffffffff, 0x00007fa7, 0x0007280f, 0x00009502, 0x2dbc2ac7, 0x00007500,
+ 0x03c0080f, 0x00001090, 0x5db87eec, 0x00002814, 0x200006ec, 0x0000d784,
0x00000000, 0x00008080, 0x203afeec, 0x0000d704, 0x003f2800, 0x00000000,
- 0x203a36ec, 0x00005704, 0x003a2800, 0x00000000, 0x03400000, 0x00007900,
- 0x0002001e, 0x00000980, 0x04000000, 0x0000e180, 0x0301400b, 0x0000c980,
- 0x30ea200d, 0x00006080, 0x82222010, 0x00003006, 0x30e22010, 0x0000e080,
- 0x0022200c, 0x00003004, 0x20386cec, 0x0000d704, 0x00386000, 0x00008000,
+ 0x203a36ec, 0x00005704, 0x003a2800, 0x00000000, 0x03000000, 0x0000f900,
+ 0x0002001e, 0x00000980, 0x04000000, 0x0000e180, 0x0341400b, 0x00004980,
+ 0x30ea200c, 0x0000e080, 0x82222010, 0x00003006, 0x30e22010, 0x0000e080,
+ 0x0022200d, 0x0000b004, 0x203864ec, 0x00005704, 0x00386800, 0x00000000,
0x117a36ec, 0x00005704, 0x003a2800, 0x00000000, 0xc3222010, 0x00006006,
0xf0000845, 0x00003401, 0x200006ec, 0x0000d784, 0x00388000, 0x00000000,
0x203afeec, 0x0000d704, 0x003f2800, 0x00000000, 0x203a36ec, 0x00005704,
- 0x003a2800, 0x00000000, 0x03004000, 0x00007900, 0x00050006, 0x00008980,
- 0x200004ec, 0x00005784, 0x00386002, 0x0000aa00, 0x200084ec, 0x0000d784,
+ 0x003a2800, 0x00000000, 0x03404000, 0x0000f900, 0x00050006, 0x00008980,
+ 0x200004ec, 0x00005784, 0x00386802, 0x00002a00, 0x200084ec, 0x0000d784,
0x0001580a, 0x00002a80, 0x2018a4ec, 0x00005784, 0x01081019, 0x00000480,
- 0x200054ec, 0x00005784, 0x05089810, 0x00008480, 0x03018000, 0x0000f900,
- 0x00220016, 0x00000980, 0x00002b4e, 0x00007400, 0x2009d4ec, 0x0000d784,
- 0x00386015, 0x00000000, 0x00091cec, 0x0000d784, 0x00000015, 0x00000080,
- 0x2b872698, 0x00007100, 0xc0000344, 0x00009582, 0x03699000, 0x00009988,
- 0x00002b51, 0x00007009, 0x03000000, 0x0000f900, 0x00180000, 0x00008980,
- 0x0010f00c, 0x00006986, 0x0413000c, 0x0000e907, 0x1178eeec, 0x0000d704,
+ 0x200054ec, 0x00005784, 0x05089810, 0x00008480, 0x03418000, 0x00007900,
+ 0x00220016, 0x00000980, 0x00002daf, 0x00007400, 0x2009d4ec, 0x0000d784,
+ 0x00386815, 0x00008000, 0x00091cec, 0x0000d784, 0x00000015, 0x00000080,
+ 0x2de828f5, 0x00007100, 0xc0000349, 0x00001582, 0x03299000, 0x00001988,
+ 0x00002db2, 0x0000f009, 0x03000000, 0x0000f900, 0x00180000, 0x00008980,
+ 0x0010f00c, 0x00006986, 0x041b000c, 0x00006907, 0x1178eeec, 0x0000d704,
0x00386000, 0x00008000, 0x0078eeec, 0x0000d704, 0x00386000, 0x00008000,
0xf000080c, 0x00006c01, 0x2278eeec, 0x0000d704, 0x00386000, 0x00008000,
- 0x0338a000, 0x00007900, 0x0002001c, 0x00008980, 0x200994ec, 0x00005784,
- 0x00386019, 0x00000000, 0x03004000, 0x00007900, 0x00050006, 0x00008980,
- 0x200004ec, 0x00005784, 0x00386002, 0x0000aa00, 0x000084ec, 0x00005784,
+ 0x0378a000, 0x0000f900, 0x0002001c, 0x00008980, 0x200994ec, 0x00005784,
+ 0x00386819, 0x00008000, 0x03404000, 0x0000f900, 0x00050006, 0x00008980,
+ 0x200004ec, 0x00005784, 0x00386802, 0x00002a00, 0x000084ec, 0x00005784,
0x0000000a, 0x00002a80, 0x200814ec, 0x00005784, 0x05089804, 0x00000080,
- 0x03018000, 0x0000f900, 0x00200016, 0x00008980, 0x2009d4ec, 0x0000d784,
- 0x00386015, 0x00000000, 0x000144ec, 0x0000d784, 0x00000016, 0x00008280,
- 0x5db876ec, 0x0000a004, 0xffffffff, 0x00007fa7, 0x0007280e, 0x00001502,
- 0x2b86286a, 0x00007500, 0x0380080e, 0x00001090, 0x5db876ec, 0x0000a814,
- 0x0000140e, 0x00006583, 0x04000000, 0x00000980, 0x8412724e, 0x0000e100,
- 0x0d81540d, 0x00006002, 0x117a6eec, 0x0000570c, 0x00388000, 0x00000000,
- 0x00002bd0, 0x0000f010, 0x03c00000, 0x0000f900, 0x0002001e, 0x00000980,
- 0x0380440d, 0x00006081, 0xf0000810, 0x0000a401, 0x30e0700f, 0x00006880,
- 0x00387cec, 0x0000d704, 0x00000000, 0x00008080, 0x127a6eec, 0x0000d704,
- 0x00388000, 0x00000000, 0x03008000, 0x00007900, 0x0015000a, 0x00000980,
- 0x200044ec, 0x0000d784, 0x00386006, 0x00008a00, 0x0329d000, 0x0000f900,
- 0x00010014, 0x00000980, 0x20105cec, 0x00005784, 0x00386014, 0x00008000,
- 0x000070ec, 0x00007902, 0x03000000, 0x00000704, 0xffffffff, 0x00007fa7,
- 0x83001e0e, 0x00009283, 0x0800720d, 0x0000e910, 0x8380120d, 0x00009890,
- 0x00002bd3, 0x0000f008, 0x0fc0720e, 0x0000a085, 0x00002b1a, 0x0000f403,
- 0xffffffff, 0x00007f86, 0x5100640e, 0x00001081, 0x0380a40d, 0x00001081,
- 0x00002b1a, 0x0000f200, 0x5100440d, 0x00009081, 0x00002bd1, 0x00007200,
- 0x0380840d, 0x00009081, 0x0000042a, 0x0000e583, 0x0d41440d, 0x0000a000,
- 0x00002bfe, 0x0000704b, 0x83002228, 0x00006282, 0x18470800, 0x00000980,
- 0x08014761, 0x0000e012, 0x0e014660, 0x0000b000, 0x0000040d, 0x0000e583,
- 0x98114a29, 0x00008900, 0x00002bef, 0x0000f013, 0x5df86cec, 0x00002084,
- 0x06c00000, 0x00001980, 0xffffffff, 0x00007f97, 0x0007280d, 0x00001502,
- 0x0340080d, 0x00001090, 0x5df86cec, 0x00002894, 0x83401402, 0x00001880,
- 0x0f80a60d, 0x00007902, 0x08800000, 0x00008004, 0x45000000, 0x00009980,
- 0x0fb8c40d, 0x0000303c, 0xffffffff, 0x00007f86, 0xc0001722, 0x0000e583,
- 0x0e001214, 0x0000a100, 0x00002c0c, 0x0000f013, 0x2bef275e, 0x00007100,
- 0x8a52e25c, 0x0000e100, 0x00000861, 0x0000e487, 0x0300004c, 0x00007900,
- 0x001001c0, 0x00008282, 0xd8401761, 0x00001881, 0x27c2e061, 0x00006803,
- 0x00002bfc, 0x00007010, 0x4000052a, 0x00001583, 0x0002e061, 0x0000e843,
- 0x00002bdf, 0x00007041, 0x0300004c, 0x00007900, 0x003e0000, 0x00000282,
- 0x00002bdf, 0x0000f00b, 0x2bdf294c, 0x0000f100, 0x00002bdf, 0x00007000,
- 0x43000d23, 0x00001283, 0x4300451c, 0x00001283, 0xffffffff, 0x00007f86,
- 0x00002c03, 0x0000f010, 0x00002bd8, 0x00007008, 0x83002228, 0x00006282,
- 0x18470800, 0x00000980, 0x0abbf82a, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0e014660, 0x0000e000, 0x08014761, 0x0000b012, 0x98114a29, 0x00001900,
- 0xf7c0040d, 0x0000788a, 0x79400000, 0x0000158f, 0x5df86cec, 0x0000a004,
- 0xffffffff, 0x00007fa7, 0x0007280d, 0x00001502, 0x2c12283f, 0x00007500,
- 0x0340080d, 0x00001090, 0x5df86cec, 0x0000a814, 0x0000042a, 0x0000e583,
- 0x0d41440d, 0x0000a000, 0x08c68000, 0x000019c1, 0x00002c59, 0x0000f049,
- 0x81002228, 0x0000e282, 0x18470800, 0x00000980, 0x0e014660, 0x0000e000,
- 0x08014761, 0x0000b012, 0x98114a29, 0x00001900, 0x87a0040d, 0x00004493,
- 0xa4407825, 0x00000b90, 0x06a0dd35, 0x00004589, 0x03401530, 0x0000808c,
- 0x01007825, 0x00001282, 0x4000dd35, 0x00009583, 0x40001530, 0x00001583,
- 0x00002c52, 0x00007010, 0x00002c52, 0x00007008, 0x00002c52, 0x00007008,
- 0x83401408, 0x00006080, 0x01c00020, 0x00004980, 0x0f906e0d, 0x0000a006,
- 0x01801002, 0x0000e100, 0x00001807, 0x00006106, 0x01001000, 0x0000f900,
- 0x00008000, 0x00000980, 0x01400000, 0x0000f900, 0x000483d0, 0x00000980,
- 0x0000140d, 0x00006583, 0xc0001807, 0x00002006, 0x001008ec, 0x0000d780,
- 0x00004000, 0x00000080, 0x03401d2a, 0x00009289, 0x00002c57, 0x00007010,
- 0x0000140d, 0x00009583, 0x02400809, 0x0000e088, 0x06c00000, 0x00000988,
- 0x83401408, 0x00009888, 0x00002c69, 0x0000f010, 0x2c3d275e, 0x00007500,
- 0x0fb8c40d, 0x0000303c, 0x0f80a60d, 0x00007902, 0x08800000, 0x00008004,
- 0x8a52e25c, 0x0000e100, 0x00000861, 0x0000e487, 0x0100004c, 0x0000f900,
- 0x001001c0, 0x00008282, 0xd8401761, 0x00001881, 0x27c2e061, 0x00006803,
- 0x00002c4d, 0x0000f010, 0x4000052a, 0x00001583, 0x0002e061, 0x0000e843,
- 0x00002c1f, 0x0000f041, 0x1340004c, 0x00007897, 0x017e0001, 0x00000000,
- 0x8a407825, 0x0000c495, 0xa440dd35, 0x00008b88, 0x14801530, 0x0000788b,
- 0x29400000, 0x00009681, 0x2c4e294c, 0x0000f100, 0x8a407825, 0x0000c495,
- 0xa440dd35, 0x00008b88, 0x09401530, 0x00007893, 0x01400001, 0x00000080,
- 0x0401b800, 0x00001980, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x2c2527b3, 0x0000f100, 0x00002c25, 0x0000f000, 0x2c59283f, 0x00007300,
- 0xc2000b08, 0x00009080, 0x41000d23, 0x00009283, 0x4100451c, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00002c5e, 0x00007010, 0x00002c16, 0x00007008,
- 0x81002228, 0x0000e282, 0x18470800, 0x00000980, 0x0abbf82a, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x0e014660, 0x0000e000, 0x08014761, 0x0000b012,
- 0x18068429, 0x0000028e, 0x87a0040d, 0x00004493, 0xa4407825, 0x00000b90,
- 0xfd60dd35, 0x0000c589, 0x7ea01530, 0x00007b8f, 0x00000c0d, 0x00006583,
- 0x06c00000, 0x00008980, 0x83401408, 0x00006080, 0x0280080a, 0x00004088,
- 0x0fb8c40d, 0x0000303c, 0x2c72275e, 0x0000f500, 0x0f80a60d, 0x00007902,
- 0x08800000, 0x00008004, 0x02c0080b, 0x00001090, 0x5df86aec, 0x0000a004,
- 0xffffffff, 0x00007fa7, 0x0007280d, 0x00001502, 0x0340080d, 0x00001090,
- 0x5df86aec, 0x0000a814, 0x0000042a, 0x0000e583, 0x0d41440d, 0x0000a000,
- 0x08c68000, 0x000019c1, 0x00002cbe, 0x0000f049, 0x81002228, 0x0000e282,
- 0x18470800, 0x00000980, 0x0e014660, 0x0000e000, 0x08014761, 0x0000b012,
- 0x98114a29, 0x00001900, 0x9440040d, 0x00004493, 0x6e407825, 0x00008b91,
- 0x06a0dd35, 0x00004589, 0x03401530, 0x0000808c, 0x01007825, 0x00001282,
- 0x4000dd35, 0x00009583, 0x40001530, 0x00001583, 0x00002cb7, 0x0000f010,
- 0x00002cb7, 0x0000f008, 0x00002cb7, 0x0000f008, 0x83401408, 0x00006080,
- 0x01c00020, 0x00004980, 0x0f906e0d, 0x0000a006, 0x01801002, 0x0000e100,
- 0x00001807, 0x00006106, 0x01001000, 0x0000f900, 0x00008000, 0x00000980,
- 0x01400000, 0x0000f900, 0x000483d0, 0x00000980, 0x0000140d, 0x00006583,
- 0xc0001807, 0x00002006, 0x001008ec, 0x0000d780, 0x00004000, 0x00000080,
- 0x03401d2a, 0x00009289, 0x00002cbc, 0x00007010, 0x0000140d, 0x00009583,
- 0x02400809, 0x0000e088, 0x06c00000, 0x00000988, 0x83401408, 0x00009888,
- 0x00002cce, 0x00007010, 0x2ca2275e, 0x00007500, 0x0fb8c40d, 0x0000303c,
- 0x0f80a60d, 0x00007902, 0x08800000, 0x00008004, 0x8a52e25c, 0x0000e100,
- 0x00000861, 0x0000e487, 0x0100004c, 0x0000f900, 0x001001c0, 0x00008282,
- 0xd8401761, 0x00001881, 0x27c2e061, 0x00006803, 0x00002cb2, 0x0000f010,
- 0x4000052a, 0x00001583, 0x0002e061, 0x0000e843, 0x00002c84, 0x00007041,
- 0x2c80004c, 0x00007897, 0x017e0001, 0x00000000, 0x96e07825, 0x00004495,
- 0x6e40dd35, 0x00000b89, 0x2dc01530, 0x0000f88b, 0x51400000, 0x00009684,
- 0x2cb3294c, 0x00007100, 0x96e07825, 0x00004495, 0x6e40dd35, 0x00000b89,
- 0x22801530, 0x00007893, 0x01400001, 0x00000080, 0x0401b800, 0x00001980,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x2c8a27b3, 0x0000f100,
- 0x00002c8a, 0x0000f000, 0x2cbe283f, 0x00007300, 0xc2000b08, 0x00009080,
- 0x41000d23, 0x00009283, 0x4100451c, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00002cc3, 0x0000f010, 0x00002c7b, 0x0000f008, 0x81002228, 0x0000e282,
- 0x18470800, 0x00000980, 0x0abbf82a, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0e014660, 0x0000e000, 0x08014761, 0x0000b012, 0x18068429, 0x0000028e,
- 0x9440040d, 0x00004493, 0x6e407825, 0x00008b91, 0xfd60dd35, 0x0000c589,
- 0x7ea01530, 0x00007b8f, 0x00000c0d, 0x00006583, 0x06c00000, 0x00008980,
+ 0x03418000, 0x00007900, 0x00200016, 0x00008980, 0x2009d4ec, 0x0000d784,
+ 0x00386815, 0x00008000, 0x000144ec, 0x0000d784, 0x00000016, 0x00008280,
+ 0x5db87eec, 0x00002004, 0xffffffff, 0x00007fa7, 0x0007280f, 0x00009502,
+ 0x2de72ac7, 0x0000f500, 0x03c0080f, 0x00001090, 0x5db87eec, 0x00002814,
+ 0x0000140f, 0x0000e583, 0x04000000, 0x00000980, 0x8412724e, 0x0000e100,
+ 0x0d81540e, 0x00006002, 0x117a6eec, 0x0000570c, 0x00388000, 0x00000000,
+ 0x00002e31, 0x0000f010, 0x03000000, 0x0000f900, 0x0002001e, 0x00000980,
+ 0x03c0440e, 0x0000e081, 0xf0000810, 0x0000a401, 0x30e0780c, 0x0000e880,
+ 0x003864ec, 0x0000d704, 0x00000000, 0x00008080, 0x127a6eec, 0x0000d704,
+ 0x00388000, 0x00000000, 0x03408000, 0x0000f900, 0x0015000a, 0x00000980,
+ 0x200044ec, 0x0000d784, 0x00386806, 0x00000a00, 0x0369d000, 0x00007900,
+ 0x00010014, 0x00000980, 0x20105cec, 0x00005784, 0x00386814, 0x00000000,
+ 0x000068ec, 0x00007902, 0x03000000, 0x00000704, 0xffffffff, 0x00007fa7,
+ 0x83001e0d, 0x00009283, 0x08006a0e, 0x0000e910, 0x83c0120e, 0x00001890,
+ 0x00002e34, 0x0000f008, 0x0fc07a0f, 0x0000a085, 0x00002d7a, 0x0000f403,
+ 0xffffffff, 0x00007f86, 0x5100640f, 0x00009081, 0x03c0a40e, 0x00009081,
+ 0x00002d7a, 0x0000f200, 0x5100440e, 0x00009081, 0x00002e32, 0x0000f200,
+ 0x03c0840e, 0x00001081, 0x0000042a, 0x0000e583, 0x0d41440d, 0x0000a000,
+ 0x00002e60, 0x0000f04b, 0x83002228, 0x00006282, 0x18000000, 0x00000981,
+ 0x18470800, 0x0000e180, 0x08014460, 0x00006012, 0x0000040d, 0x0000e583,
+ 0x0e014761, 0x00002000, 0xd8114a29, 0x00009900, 0x00002e51, 0x00007011,
+ 0x5df86cec, 0x00002084, 0x06c00000, 0x00001980, 0xffffffff, 0x00007f97,
+ 0x0007280d, 0x00001502, 0x0340080d, 0x00001090, 0x5df86cec, 0x00002894,
+ 0x83401402, 0x00001880, 0x0f80a60d, 0x00007902, 0x08400000, 0x00008004,
+ 0x45000000, 0x00009980, 0x0fb8c40d, 0x0000303c, 0xffffffff, 0x00007f86,
+ 0xc0001721, 0x0000e583, 0x0e001214, 0x0000a100, 0x00002e6e, 0x0000f013,
+ 0x2e5129bb, 0x00007100, 0x0300004c, 0x00007900, 0x001001c0, 0x00008282,
+ 0x8a52e25c, 0x0000e100, 0x00000861, 0x0000e487, 0x18001460, 0x00006081,
+ 0x27c2e061, 0x0000e003, 0x00002e5e, 0x0000f010, 0x4000052a, 0x00001583,
+ 0x0002e061, 0x0000e843, 0x00002e41, 0x0000f041, 0x0300004c, 0x00007900,
+ 0x003e0000, 0x00000282, 0x00002e41, 0x0000700b, 0x2e412ba9, 0x00007100,
+ 0x00002e41, 0x0000f000, 0x43000d23, 0x00001283, 0x4300451c, 0x00001283,
+ 0xffffffff, 0x00007f86, 0x00002e65, 0x00007010, 0x00002e39, 0x00007008,
+ 0x184000e1, 0x000006c2, 0x83002228, 0x00006282, 0x0e014761, 0x00002000,
+ 0x0abbf82a, 0x0000f900, 0x003ffffe, 0x00008280, 0xd8114a29, 0x0000e100,
+ 0x08014460, 0x00006012, 0x9040040d, 0x0000f88b, 0x89400000, 0x00001782,
+ 0x5df86cec, 0x0000a004, 0xffffffff, 0x00007fa7, 0x0007280d, 0x00001502,
+ 0x2e742a9c, 0x00007500, 0x0340080d, 0x00001090, 0x5df86cec, 0x0000a814,
+ 0x0000042a, 0x0000e583, 0x0d41440d, 0x0000a000, 0x08c68000, 0x000019c1,
+ 0x00002ebb, 0x00007049, 0x184000e1, 0x000006c2, 0x81002228, 0x0000e282,
+ 0x0e014761, 0x00002000, 0xd8114a29, 0x0000e100, 0x08014460, 0x00006012,
+ 0xd3e0040d, 0x00004493, 0x68407825, 0x00000b95, 0x06a0dd35, 0x00004589,
+ 0x03401530, 0x0000808c, 0x01007825, 0x00001282, 0x4000dd35, 0x00009583,
+ 0x40001530, 0x00001583, 0x00002eb4, 0x00007010, 0x00002eb4, 0x00007008,
+ 0x00002eb4, 0x00007008, 0x83401408, 0x00006080, 0x01c00020, 0x00004980,
+ 0x0f906e0d, 0x0000a006, 0x01801002, 0x0000e100, 0x00001807, 0x00006106,
+ 0x01001000, 0x0000f900, 0x00008000, 0x00000980, 0x01400000, 0x0000f900,
+ 0x000483d0, 0x00000980, 0x0000140d, 0x00006583, 0xc0001807, 0x00002006,
+ 0x001008ec, 0x0000d780, 0x00004000, 0x00000080, 0x03401d2a, 0x00009289,
+ 0x00002eb9, 0x0000f010, 0x0000140d, 0x00009583, 0x02400809, 0x0000e088,
+ 0x06c00000, 0x00000988, 0x83401408, 0x00009888, 0x00002ecc, 0x00007010,
+ 0x2e9f29bb, 0x00007500, 0x0fb8c40d, 0x0000303c, 0x0f80a60d, 0x00007902,
+ 0x08400000, 0x00008004, 0x0100004c, 0x0000f900, 0x001001c0, 0x00008282,
+ 0x8a52e25c, 0x0000e100, 0x00000861, 0x0000e487, 0x18001460, 0x00006081,
+ 0x27c2e061, 0x0000e003, 0x00002eaf, 0x00007010, 0x4000052a, 0x00001583,
+ 0x0002e061, 0x0000e843, 0x00002e81, 0x0000f041, 0xabc0004c, 0x0000f897,
+ 0x017e0001, 0x00000000, 0xd6807825, 0x0000c495, 0x6840dd35, 0x00008b8d,
+ 0xad001530, 0x0000788b, 0x39400000, 0x00009784, 0x2eb02ba9, 0x0000f100,
+ 0xd6807825, 0x0000c495, 0x6840dd35, 0x00008b8d, 0xa1c01530, 0x00007893,
+ 0x01400001, 0x00000080, 0x0401b800, 0x00001980, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x2e872a10, 0x00007100, 0x00002e87, 0x0000f000,
+ 0x2ebb2a9c, 0x00007300, 0xc2000b08, 0x00009080, 0x41000d23, 0x00009283,
+ 0x4100451c, 0x00009283, 0xffffffff, 0x00007f86, 0x00002ec0, 0x00007010,
+ 0x00002e78, 0x00007008, 0x184000e1, 0x000006c2, 0x81002228, 0x0000e282,
+ 0x0e014761, 0x00002000, 0x0abbf82a, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x08c68000, 0x0000e181, 0x08014460, 0x00006012, 0xd8114a29, 0x00009900,
+ 0xd3e0040d, 0x00004493, 0x68407825, 0x00000b95, 0xfd40dd35, 0x0000c588,
+ 0xfea01530, 0x00007b8e, 0x00000c0d, 0x00006583, 0x06c00000, 0x00008980,
+ 0x83401408, 0x00006080, 0x0280080a, 0x00004088, 0x0fb8c40d, 0x0000303c,
+ 0x2ed529bb, 0x0000f500, 0x0f80a60d, 0x00007902, 0x08400000, 0x00008004,
+ 0x02c0080b, 0x00001090, 0x5df86aec, 0x0000a004, 0xffffffff, 0x00007fa7,
+ 0x0007280d, 0x00001502, 0x0340080d, 0x00001090, 0x5df86aec, 0x0000a814,
+ 0x0000042a, 0x0000e583, 0x0d41440d, 0x0000a000, 0x08c68000, 0x000019c1,
+ 0x00002f21, 0x0000f049, 0x184000e1, 0x000006c2, 0x81002228, 0x0000e282,
+ 0x0e014761, 0x00002000, 0xd8114a29, 0x0000e100, 0x08014460, 0x00006012,
+ 0xe0a0040d, 0x0000c493, 0x34407825, 0x00000b96, 0x06a0dd35, 0x00004589,
+ 0x03401530, 0x0000808c, 0x01007825, 0x00001282, 0x4000dd35, 0x00009583,
+ 0x40001530, 0x00001583, 0x00002f1a, 0x00007010, 0x00002f1a, 0x00007008,
+ 0x00002f1a, 0x00007008, 0x83401408, 0x00006080, 0x01c00020, 0x00004980,
+ 0x0f906e0d, 0x0000a006, 0x01801002, 0x0000e100, 0x00001807, 0x00006106,
+ 0x01001000, 0x0000f900, 0x00008000, 0x00000980, 0x01400000, 0x0000f900,
+ 0x000483d0, 0x00000980, 0x0000140d, 0x00006583, 0xc0001807, 0x00002006,
+ 0x001008ec, 0x0000d780, 0x00004000, 0x00000080, 0x03401d2a, 0x00009289,
+ 0x00002f1f, 0x00007010, 0x0000140d, 0x00009583, 0x02400809, 0x0000e088,
+ 0x06c00000, 0x00000988, 0x83401408, 0x00009888, 0x00002f32, 0x00007010,
+ 0x2f0529bb, 0x0000f500, 0x0fb8c40d, 0x0000303c, 0x0f80a60d, 0x00007902,
+ 0x08400000, 0x00008004, 0x0100004c, 0x0000f900, 0x001001c0, 0x00008282,
+ 0x8a52e25c, 0x0000e100, 0x00000861, 0x0000e487, 0x18001460, 0x00006081,
+ 0x27c2e061, 0x0000e003, 0x00002f15, 0x00007010, 0x4000052a, 0x00001583,
+ 0x0002e061, 0x0000e843, 0x00002ee7, 0x0000f041, 0xc540004c, 0x0000f897,
+ 0x017e0001, 0x00000000, 0xe3407825, 0x0000c495, 0x3440dd35, 0x00008b8e,
+ 0xc6801530, 0x0000788b, 0x69400000, 0x00009787, 0x2f162ba9, 0x00007100,
+ 0xe3407825, 0x0000c495, 0x3440dd35, 0x00008b8e, 0xbb401530, 0x00007893,
+ 0x01400001, 0x00000080, 0x0401b800, 0x00001980, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x2eed2a10, 0x00007100, 0x00002eed, 0x0000f000,
+ 0x2f212a9c, 0x0000f300, 0xc2000b08, 0x00009080, 0x41000d23, 0x00009283,
+ 0x4100451c, 0x00009283, 0xffffffff, 0x00007f86, 0x00002f26, 0x00007010,
+ 0x00002ede, 0x00007008, 0x184000e1, 0x000006c2, 0x81002228, 0x0000e282,
+ 0x0e014761, 0x00002000, 0x0abbf82a, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x08c68000, 0x0000e181, 0x08014460, 0x00006012, 0xd8114a29, 0x00009900,
+ 0xe0a0040d, 0x0000c493, 0x34407825, 0x00000b96, 0xfd40dd35, 0x0000c588,
+ 0xfea01530, 0x00007b8e, 0x00000c0d, 0x00006583, 0x06c00000, 0x00008980,
0x83401408, 0x00006080, 0x0280080a, 0x00004088, 0x0fb8c40d, 0x0000303c,
- 0x2cd7275e, 0x0000f500, 0x0f80a60d, 0x00007902, 0x08800000, 0x00008004,
- 0x02c0080b, 0x00001090, 0x02007400, 0x00009281, 0x00003408, 0x00001583,
- 0x00001408, 0x00009583, 0xffffffff, 0x00007f86, 0x00002d0a, 0x00007008,
- 0x00002ceb, 0x0000f008, 0x02000000, 0x0000e180, 0x01c00020, 0x00004980,
- 0x0d001c08, 0x0000e006, 0x0fc00508, 0x00003004, 0x04062000, 0x0000f900,
+ 0x2f3b29bb, 0x00007500, 0x0f80a60d, 0x00007902, 0x08400000, 0x00008004,
+ 0x02c0080b, 0x00001090, 0x8a00fa1e, 0x0000a080, 0x8a003a1e, 0x00002081,
+ 0x07400000, 0x00001980, 0xffffffff, 0x00007f86, 0x0f60fc1f, 0x0000e802,
+ 0x0240441f, 0x0000e081, 0x09006407, 0x00000081, 0x87c0121d, 0x00009880,
+ 0x0fc0601f, 0x0000f902, 0x08400000, 0x00008004, 0x0fb9161f, 0x0000a004,
+ 0xffffffff, 0x00007f97, 0x0020f40c, 0x00009503, 0x07c00f22, 0x00001189,
+ 0x00002f78, 0x00007011, 0x00000c1f, 0x00009583, 0x07c00000, 0x000099b0,
+ 0x47e0ec1d, 0x00006131, 0x07e12424, 0x0000c931, 0x00002f78, 0x00007018,
+ 0x2f5139b5, 0x00007300, 0x1300f81f, 0x00001900, 0x07c00000, 0x00009980,
+ 0x0020481f, 0x00006886, 0x2f5639b5, 0x0000f500, 0x8220e81f, 0x00006886,
+ 0x1300f81f, 0x00001900, 0x07c01000, 0x00001980, 0x2f5a39b5, 0x0000f500,
+ 0x8220e81f, 0x00006886, 0x1300f81f, 0x00001900, 0x07c00800, 0x00001980,
+ 0x2f5e39b5, 0x00007500, 0x8220e81f, 0x00006886, 0x1300f81f, 0x00001900,
+ 0x07c02000, 0x00001980, 0x2f6239b5, 0x00007500, 0x8220e81f, 0x00006886,
+ 0x1300f81f, 0x00001900, 0x07c01800, 0x00009980, 0x2f6639b5, 0x0000f500,
+ 0x8220e81f, 0x00006886, 0x1300f81f, 0x00001900, 0x07c00000, 0x00009980,
+ 0x2f6a39b5, 0x0000f500, 0x8220e81f, 0x00006886, 0x1300f81f, 0x00001900,
+ 0x07c02800, 0x00009980, 0x2f6e39b5, 0x00007500, 0x8220e81f, 0x00006886,
+ 0x1300f81f, 0x00001900, 0x07c03000, 0x00009980, 0x2f7239b5, 0x0000f500,
+ 0x8220e81f, 0x00006886, 0x1300f81f, 0x00001900, 0x80000221, 0x00009582,
+ 0x0880e81d, 0x00001910, 0x2f753cf6, 0x00007111, 0x4000050c, 0x00009583,
+ 0x0320ec1d, 0x00009911, 0x2f783fb5, 0x00007111, 0x0740081d, 0x00009080,
+ 0x0006801d, 0x00001582, 0x00002f42, 0x0000f013, 0x00000001, 0x0000f080,
+ 0x0107f809, 0x0000e280, 0x14403807, 0x00008900, 0x2f8122b9, 0x0000f500,
+ 0x14382f06, 0x00000324, 0x0e002004, 0x00001900, 0xffc00000, 0x00006180,
+ 0x05c00020, 0x0000c980, 0x01000000, 0x0000e180, 0x00001817, 0x0000e106,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04184004, 0x00006187,
+ 0xc0001817, 0x00003006, 0x05001000, 0x00007900, 0x00004000, 0x00000980,
+ 0x05400000, 0x00007900, 0x000403d0, 0x00008980, 0x700708ec, 0x0000d680,
+ 0x00382002, 0x00008000, 0x05801002, 0x00001900, 0x00882eec, 0x00005f80,
+ 0x00004000, 0x00008084, 0x0878670d, 0x00000200, 0x0880700e, 0x0000e100,
+ 0x00210806, 0x00006086, 0x08c0780f, 0x00006100, 0x82290806, 0x0000e086,
+ 0x09008010, 0x0000e100, 0x04190806, 0x00006187, 0x01f88f06, 0x00000214,
+ 0x1b7d2800, 0x0000f900, 0x000dac98, 0x00008980, 0x09b89f12, 0x0000021c,
+ 0x1bf86707, 0x00000700, 0xffffffff, 0x0000ffd7, 0x82c02cec, 0x00007902,
+ 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100,
+ 0x00002004, 0x0000e586, 0x1b803006, 0x00006100, 0x04290804, 0x00006087,
+ 0x2fa922d9, 0x0000f500, 0x86210804, 0x00006887, 0x1b002004, 0x00009900,
+ 0x00405421, 0x00004589, 0x01807c21, 0x00008388, 0x2fae266c, 0x00007404,
+ 0x2af87f0e, 0x00000a28, 0x2a409900, 0x00001980, 0x00000407, 0x00001583,
+ 0x813f1fe3, 0x00001908, 0x8a002204, 0x0000a088, 0x00002fb7, 0x0000f010,
+ 0xffffffff, 0x00007f97, 0x01003c04, 0x00001281, 0x01001404, 0x00001181,
+ 0x00000c04, 0x00009583, 0x00002fbc, 0x0000f01b, 0xc1387007, 0x00000018,
+ 0x00002fd2, 0x0000f400, 0x01d26000, 0x00007900, 0x00033fce, 0x00000980,
+ 0x02787f04, 0x00008014, 0x30382aac, 0x00002080, 0x06000000, 0x000081e4,
+ 0x06c00000, 0x000081e8, 0x00002fe5, 0x00007400, 0xffffffff, 0x00007f86,
+ 0x06202c05, 0x00001901, 0x2fc5266c, 0x0000f404, 0x2af87f0e, 0x00000a28,
+ 0x2a409900, 0x00001980, 0x00000407, 0x00001583, 0x813f1fe3, 0x00001908,
+ 0x8a002204, 0x0000a088, 0x00002fce, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x01003c04, 0x00001281, 0x01001404, 0x00001181, 0x00000c04, 0x00009583,
+ 0x00002fd3, 0x0000f01b, 0xc1387007, 0x00000018, 0x01d3a000, 0x0000f900,
+ 0x00033fce, 0x00000980, 0x02787f04, 0x00008014, 0x2fd32f7c, 0x00007100,
+ 0x30382aac, 0x00002080, 0x06000100, 0x000001e4, 0x06c00000, 0x000081e8,
+ 0x00002fe5, 0x00007400, 0xffffffff, 0x00007f86, 0x06202c05, 0x00001901,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x040f5000, 0x00007900,
+ 0x00033fce, 0x00000980, 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c,
+ 0x2fe52213, 0x00007500, 0x04b90f0c, 0x0000801c, 0x81402800, 0x00009980,
+ 0x05c00020, 0x0000e180, 0x01000000, 0x0000c980, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x00001817, 0x0000e106, 0x04184004, 0x00003187,
+ 0x07800000, 0x000081fc, 0x05001000, 0x00007900, 0x00008000, 0x00000980,
+ 0x05400000, 0x00007900, 0x000483d0, 0x00000980, 0x07009000, 0x00007900,
+ 0x0000c4c0, 0x00000980, 0x07400000, 0x0000f900, 0x00010000, 0x00000980,
+ 0xc0001817, 0x00006006, 0xc000181f, 0x0000b006, 0x700708ec, 0x0000d680,
+ 0x00382002, 0x00008000, 0x07b81502, 0x00000118, 0x00902eec, 0x00005f80,
+ 0x008841c0, 0x000001c4, 0x02007400, 0x00009281, 0x00003408, 0x00001583,
+ 0x00001408, 0x00009583, 0xffffffff, 0x00007f86, 0x0000302e, 0x00007008,
+ 0x0000300f, 0x00007008, 0x01c00000, 0x0000e180, 0x01400020, 0x0000c980,
+ 0x0d001c07, 0x0000e006, 0x0fc00507, 0x00003004, 0x04062000, 0x0000f900,
0x00379d94, 0x00000980, 0x0449d000, 0x00007900, 0x000c9e5e, 0x00008980,
- 0x01400000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x2ceb20b1, 0x0000f500, 0x03381702, 0x0000003c, 0x04810708, 0x0000009d,
- 0x0d809429, 0x0000e002, 0x0d001c08, 0x0000b006, 0x02838404, 0x00006281,
- 0x08001a09, 0x00002106, 0x8a402429, 0x00001880, 0xa9e0840a, 0x00004489,
- 0x9e401408, 0x00008b8a, 0xa380160c, 0x0000c497, 0xec400e0c, 0x00008b91,
- 0x1ac01d04, 0x0000c58e, 0x93804510, 0x00008988, 0x8a400a29, 0x00009080,
+ 0x03400000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x300f2213, 0x00007500, 0x03c10702, 0x00008095, 0x01f83f02, 0x00008108,
+ 0x0d809429, 0x0000e002, 0x0d001c08, 0x0000b006, 0x02438404, 0x00006281,
+ 0x08001a0b, 0x0000a106, 0x8a402429, 0x00001880, 0x0e608409, 0x0000c488,
+ 0xe6601408, 0x00000c88, 0x0800160c, 0x00004496, 0x34600e0c, 0x00000c90,
+ 0x1ae01d04, 0x0000c58f, 0x93804510, 0x00008988, 0x8a400a29, 0x00009080,
0x99402c29, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
0x01400805, 0x00001082, 0x01000004, 0x00009084, 0x99782c29, 0x00005000,
0x00382000, 0x00000000, 0x01020412, 0x00001283, 0x08009429, 0x00006092,
0x00007004, 0x00003186, 0x8a614c29, 0x00006110, 0x00070804, 0x00006487,
- 0x0e008704, 0x0000e800, 0x2d082551, 0x00007500, 0x0b800429, 0x0000d094,
+ 0x0e008704, 0x0000e800, 0x302c2870, 0x0000f500, 0x0b800429, 0x0000d094,
0x00400000, 0x00008000, 0x03802004, 0x00001900, 0x008006ec, 0x0000df80,
0x00000000, 0x00000084, 0x02c78503, 0x00009281, 0x0000840b, 0x00009583,
0x0d001c08, 0x00006016, 0x0fc00508, 0x0000b014, 0x01003006, 0x0000e110,
- 0x08003b08, 0x0000e116, 0x00002d2f, 0x0000f008, 0x01c00020, 0x00006180,
+ 0x08003b08, 0x0000e116, 0x00003053, 0x00007008, 0x01400020, 0x0000e180,
0x08001a0b, 0x00006106, 0x0404e800, 0x0000f900, 0x00379d94, 0x00000980,
- 0x0449d000, 0x00007900, 0x000c9e5e, 0x00008980, 0x82e00500, 0x0000802e,
- 0x03384702, 0x00000108, 0x2d1c20b1, 0x0000f500, 0x03f82702, 0x00000014,
- 0x81c10000, 0x00009980, 0x99402c29, 0x0000f902, 0x01000000, 0x00008000,
+ 0x0449d000, 0x00007900, 0x000c9e5e, 0x00008980, 0x01e80702, 0x0000802e,
+ 0x82f81400, 0x0000803c, 0x30402213, 0x0000f500, 0x04b82708, 0x00008034,
+ 0x81410000, 0x00001980, 0x99402c29, 0x0000f902, 0x01000000, 0x00008000,
0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
0x99782c29, 0x00005000, 0x00382000, 0x00000000, 0x01020412, 0x00001283,
0x08009429, 0x00006092, 0x00007004, 0x00003186, 0x8a614c29, 0x00006110,
- 0x00070804, 0x00006487, 0x0e008704, 0x0000e800, 0x2d2d2551, 0x0000f500,
+ 0x00070804, 0x00006487, 0x0e008704, 0x0000e800, 0x30512870, 0x0000f500,
0x0b800429, 0x0000d094, 0x00400000, 0x00008000, 0x03802004, 0x00001900,
0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x0d815429, 0x00006002,
0x0d001c06, 0x00003006, 0x08001a04, 0x00006106, 0x08003a0a, 0x00003106,
- 0x8a402429, 0x00006080, 0x0143841c, 0x0000c281, 0xad008405, 0x00004489,
- 0xd0401406, 0x00000b8a, 0xa7601624, 0x0000c497, 0xb2400e24, 0x00008b93,
- 0xa6001d1c, 0x0000788f, 0x51400000, 0x0000968d, 0x99402c29, 0x0000f902,
+ 0x8a402429, 0x00006080, 0x0143841c, 0x0000c281, 0x11808405, 0x0000c488,
+ 0x18601406, 0x00008c89, 0x0be01624, 0x0000c496, 0xfc600e24, 0x00000c91,
+ 0x6f401d1c, 0x0000788e, 0x71800000, 0x00001886, 0x99402c29, 0x0000f902,
0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082,
0x01000004, 0x00009084, 0x99782c29, 0x00005000, 0x00382000, 0x00000000,
0x0102042a, 0x00009283, 0x01000000, 0x00007900, 0x00003840, 0x00008980,
0x00113004, 0x0000e186, 0x08015429, 0x0000b092, 0x8a614c29, 0x00006110,
- 0x0e014704, 0x0000e000, 0x2d4d2551, 0x0000f500, 0x0b800429, 0x0000d094,
+ 0x0e014704, 0x0000e000, 0x30712870, 0x00007500, 0x0b800429, 0x0000d094,
0x00400000, 0x00008000, 0x03802004, 0x00001900, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x05400000, 0x00009980, 0x00104815, 0x00006984,
- 0xcc802408, 0x00004389, 0x00402408, 0x00008098, 0xbf400c08, 0x00004489,
- 0x18400c08, 0x00000bad, 0x00801408, 0x0000c789, 0x92603408, 0x0000098c,
- 0x23203408, 0x0000c5a9, 0x92403c08, 0x00008693, 0x82c04229, 0x00006080,
- 0x00012815, 0x0000a587, 0x9940540b, 0x0000f902, 0x02400000, 0x00000000,
- 0xffffffff, 0x00007fa7, 0x0280080a, 0x00001082, 0x02400009, 0x00009084,
- 0x9978540b, 0x00005000, 0x00384800, 0x00008000, 0x7338a8ec, 0x00005600,
- 0x00000000, 0x00008080, 0xa380160c, 0x0000c497, 0xec400e0c, 0x00008b91,
- 0x0c801d04, 0x0000c58e, 0x8c604510, 0x0000818f, 0x02400000, 0x00001980,
- 0x00102009, 0x00006984, 0xc0c02406, 0x00004389, 0x00402406, 0x00000098,
- 0xd9e00c06, 0x0000c489, 0xdc400c06, 0x00000bad, 0x00801406, 0x0000c788,
- 0x17403406, 0x0000948f, 0x27203406, 0x000045a8, 0x97203c06, 0x00008a94,
+ 0x00000000, 0x00000084, 0x02800000, 0x00001980, 0x0010580a, 0x00006984,
+ 0x31202408, 0x00004388, 0x00602408, 0x00000098, 0x23e00c08, 0x0000c488,
+ 0x62600c08, 0x00008cab, 0x00801408, 0x00004788, 0x12803408, 0x0000898d,
+ 0x23403408, 0x000045a8, 0x12603c08, 0x00000694, 0x82c04229, 0x00006080,
+ 0x0001280a, 0x00002587, 0x9940ac0b, 0x00007902, 0x05000000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x05400815, 0x00001082, 0x05000014, 0x00009084,
+ 0x9978ac0b, 0x0000d000, 0x0038a000, 0x00008000, 0x733850ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x0800160c, 0x00004496, 0x34600e0c, 0x00000c90,
+ 0x0ca01d04, 0x0000c58f, 0x8c604510, 0x0000818f, 0x02400000, 0x00001980,
+ 0x00102009, 0x00006984, 0x25602406, 0x00004388, 0x00602406, 0x00008098,
+ 0x3e800c06, 0x00004488, 0x26600c06, 0x00008cac, 0x00801406, 0x00004789,
+ 0x97403406, 0x0000148f, 0x27403406, 0x0000c5a9, 0x17203c06, 0x00008a95,
0x82c04229, 0x00006080, 0x00012809, 0x00002587, 0x99402c0b, 0x0000f902,
0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082,
0x01000004, 0x00009084, 0x99782c0b, 0x00005000, 0x00382000, 0x00000000,
0x014001e0, 0x00001980, 0x733848ec, 0x0000d600, 0x00000000, 0x00008080,
0x00105005, 0x0000e984, 0x753828ec, 0x0000d600, 0x00000000, 0x00008080,
- 0xa7601624, 0x0000c497, 0xb2400e24, 0x00008b93, 0xa6001d1c, 0x0000788f,
- 0x51400000, 0x0000968d, 0x0c409404, 0x0000e000, 0x0c01e40b, 0x0000b002,
- 0x0000140b, 0x00009583, 0x82c06800, 0x00001988, 0x00002d8d, 0x0000f009,
+ 0x0be01624, 0x0000c496, 0xfc600e24, 0x00000c91, 0x6f401d1c, 0x0000788e,
+ 0x71800000, 0x00001886, 0x0c409404, 0x0000e000, 0x0c01e40b, 0x0000b002,
+ 0x0000140b, 0x00009583, 0x82c06800, 0x00001988, 0x000030b1, 0x0000f009,
0x00000404, 0x00001583, 0x82c07800, 0x0000e190, 0x82c07000, 0x00004988,
0xffffffff, 0x00007f86, 0x82d14a0b, 0x00009000, 0x99402c0b, 0x0000f902,
0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082,
@@ -7832,663 +8125,663 @@ ARRAY_DECL u32 init_val[] = {
0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
0x99782c29, 0x00005000, 0x00382000, 0x00000000, 0x01020412, 0x00001283,
0x08009429, 0x00006092, 0x00007004, 0x00003186, 0x8a614c29, 0x00006110,
- 0x00070804, 0x00006487, 0x0e008704, 0x0000e800, 0x2da82551, 0x00007500,
+ 0x00070804, 0x00006487, 0x0e008704, 0x0000e800, 0x30cc2870, 0x00007500,
0x0b800429, 0x0000d094, 0x00400000, 0x00008000, 0x03802004, 0x00001900,
0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x8a401229, 0x00009080,
- 0x99782429, 0x00003038, 0xffffffff, 0x00007fa7, 0x01000804, 0x00001082,
- 0x99782429, 0x00002880, 0x0102042a, 0x00006283, 0x01400005, 0x00000084,
- 0x01000000, 0x00007900, 0x00003840, 0x00008980, 0x99782c29, 0x00002800,
- 0x08015429, 0x0000e092, 0x00113004, 0x0000b186, 0x8a614c29, 0x00006110,
- 0x0e014704, 0x0000e000, 0x2dbc2551, 0x00007500, 0x0b800429, 0x0000d094,
- 0x00400000, 0x00008000, 0x03802004, 0x00001900, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x82c06229, 0x0000e080, 0x0000f015, 0x00002587,
- 0x9940540b, 0x0000f902, 0x02400000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x0280080a, 0x00001082, 0x02400009, 0x00009084, 0x00002d64, 0x0000f400,
- 0x9978540b, 0x00005000, 0x00384800, 0x00008000, 0x7338a8ec, 0x00005600,
- 0x00000000, 0x00008080, 0xc100870b, 0x00009283, 0xc110720e, 0x0000e108,
- 0x8118630c, 0x00004908, 0x00002cfe, 0x0000f011, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x04152000, 0x00007900, 0x001b6c24, 0x00008980,
- 0x046d3000, 0x0000f900, 0x000f02e6, 0x00008980, 0x03c00000, 0x000000d4,
- 0x82e00500, 0x0000802e, 0x2dd920b1, 0x0000f500, 0x03382702, 0x00000108,
- 0x81c08000, 0x00009980, 0x8a400a29, 0x00009080, 0x99402c29, 0x0000f902,
- 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082,
- 0x01000004, 0x00009084, 0x99782c29, 0x00005000, 0x00382000, 0x00000000,
- 0x0102042a, 0x00009283, 0x01000000, 0x00007900, 0x00003840, 0x00008980,
- 0x00113004, 0x0000e186, 0x08015429, 0x0000b092, 0x8a614c29, 0x00006110,
- 0x0e014704, 0x0000e000, 0x2dec2551, 0x00007500, 0x0b800429, 0x0000d094,
- 0x00400000, 0x00008000, 0x03802004, 0x00001900, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x82c05a29, 0x00006080, 0x00007815, 0x00002587,
- 0x9940540b, 0x0000f902, 0x02400000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x0280080a, 0x00001082, 0x02400009, 0x00009084, 0x00002d64, 0x0000f400,
- 0x9978540b, 0x00005000, 0x00384800, 0x00008000, 0x7338a8ec, 0x00005600,
- 0x00000000, 0x00008080, 0x82c03a29, 0x00006080, 0x00007815, 0x00002587,
- 0x9940540b, 0x0000f902, 0x02400000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x0280080a, 0x00001082, 0x02400009, 0x00009084, 0x00002d64, 0x0000f400,
- 0x9978540b, 0x00005000, 0x00384800, 0x00008000, 0x7338a8ec, 0x00005600,
- 0x00000000, 0x00008080, 0x82c05229, 0x0000e080, 0x00007809, 0x0000a587,
- 0x99402c0b, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0x99782c0b, 0x00005000,
- 0x00382000, 0x00000000, 0x014001e0, 0x00001980, 0x733848ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x00105005, 0x0000e984, 0x753828ec, 0x0000d600,
- 0x00000000, 0x00008080, 0xa7601624, 0x0000c497, 0xb2400e24, 0x00008b93,
- 0xa6001d1c, 0x0000788f, 0x51400000, 0x0000968d, 0x82c06229, 0x0000e080,
- 0x0000f009, 0x0000a587, 0x99402c0b, 0x0000f902, 0x01000000, 0x00008000,
- 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
- 0x99782c0b, 0x00005000, 0x00382000, 0x00000000, 0x014001e0, 0x00001980,
- 0x733848ec, 0x0000d600, 0x00000000, 0x00008080, 0x00105005, 0x0000e984,
- 0x753828ec, 0x0000d600, 0x00000000, 0x00008080, 0xa7601624, 0x0000c497,
- 0xb2400e24, 0x00008b93, 0xa6001d1c, 0x0000788f, 0x51400000, 0x0000968d,
- 0x02c01d12, 0x00009281, 0x0000140b, 0x00009583, 0x00002408, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00002d96, 0x00007008, 0x00002d96, 0x00007010,
- 0x00000c0b, 0x00006583, 0x0d809408, 0x00002002, 0x82e04408, 0x00001908,
- 0xc9f9660b, 0x00002088, 0x00002e3b, 0x0000f008, 0x42001d12, 0x00009283,
- 0x82e04408, 0x00001908, 0xc9f9660b, 0x0000a008, 0x00002d96, 0x00007010,
- 0xffffffff, 0x00007f97, 0x0000002c, 0x00001582, 0x0a070800, 0x00001991,
- 0x00002d96, 0x0000f009, 0x02c1602c, 0x0000e300, 0x02400000, 0x00004980,
- 0xbac04a0b, 0x00002081, 0xc1c004ec, 0x00005080, 0x00400000, 0x00008000,
- 0x0a000c28, 0x0000e181, 0x02005fe4, 0x00000800, 0xc1f866ec, 0x0000b838,
- 0xc1f84aec, 0x0000a880, 0xc23870ec, 0x00003838, 0xc23882ec, 0x0000b838,
- 0xc23894ec, 0x00003838, 0xc23826ec, 0x00003838, 0xc27830ec, 0x00003838,
- 0xc1c004ec, 0x0000d000, 0x00400000, 0x00000080, 0x2e533e77, 0x00007500,
- 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080, 0x0b016008, 0x00009400,
- 0x0000002c, 0x00001582, 0x00070c28, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00002e3f, 0x00007010, 0x00002d96, 0x00007008, 0x01020412, 0x00001283,
- 0x08009429, 0x00006092, 0x00007004, 0x00003186, 0x8a614c29, 0x00006110,
- 0x04214004, 0x0000e087, 0x0e008704, 0x0000e800, 0x2e622551, 0x00007500,
+ 0x99402c29, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0x99782c29, 0x00005000,
+ 0x00382000, 0x00000000, 0x0102042a, 0x00009283, 0x01000000, 0x00007900,
+ 0x00003840, 0x00008980, 0x00113004, 0x0000e186, 0x08015429, 0x0000b092,
+ 0x8a614c29, 0x00006110, 0x0e014704, 0x0000e000, 0x30e12870, 0x00007500,
0x0b800429, 0x0000d094, 0x00400000, 0x00008000, 0x03802004, 0x00001900,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x82c05229, 0x0000e080,
- 0x00007815, 0x00002587, 0x9940540b, 0x0000f902, 0x02400000, 0x00000000,
- 0xffffffff, 0x00007fa7, 0x0280080a, 0x00001082, 0x02400009, 0x00009084,
- 0x00002d64, 0x0000f400, 0x9978540b, 0x00005000, 0x00384800, 0x00008000,
- 0x7338a8ec, 0x00005600, 0x00000000, 0x00008080, 0x82c04a29, 0x0000e080,
- 0x00032015, 0x0000a587, 0x9940540b, 0x0000f902, 0x02400000, 0x00000000,
- 0xffffffff, 0x00007fa7, 0x0280080a, 0x00001082, 0x02400009, 0x00009084,
- 0x00002d64, 0x0000f400, 0x9978540b, 0x00005000, 0x00384800, 0x00008000,
- 0x7338a8ec, 0x00005600, 0x00000000, 0x00008080, 0x02000000, 0x000080d8,
- 0x01c00020, 0x00006180, 0x0d001c08, 0x0000e006, 0x04364800, 0x00007900,
- 0x001b6c22, 0x00008980, 0x04518000, 0x00007900, 0x00373a94, 0x00008980,
- 0x01400000, 0x00006180, 0x08001b08, 0x0000e106, 0x81c10800, 0x00006180,
- 0xc190720e, 0x0000c900, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x2e8c20b1, 0x0000f500, 0x82f81400, 0x00008030, 0x03f84706, 0x00008108,
- 0x82c03229, 0x0000e080, 0x00001015, 0x0000a587, 0x9940540b, 0x0000f902,
- 0x02400000, 0x00000000, 0xffffffff, 0x00007fa7, 0x0280080a, 0x00001082,
- 0x02400009, 0x00009084, 0x00002d64, 0x0000f400, 0x9978540b, 0x00005000,
- 0x00384800, 0x00008000, 0x7338a8ec, 0x00005600, 0x00000000, 0x00008080,
- 0xc1008723, 0x00009283, 0xc1113226, 0x0000e108, 0x81192324, 0x00004908,
- 0x00002dce, 0x00007009, 0x0102042a, 0x00009283, 0x01000000, 0x00007900,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x82c06229, 0x0000e080,
+ 0x0000f00a, 0x0000a587, 0x9940ac0b, 0x00007902, 0x05000000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x05400815, 0x00001082, 0x05000014, 0x00009084,
+ 0x00003088, 0x00007400, 0x9978ac0b, 0x0000d000, 0x0038a000, 0x00008000,
+ 0x733850ec, 0x0000d600, 0x00000000, 0x00008080, 0xc100870b, 0x00009283,
+ 0xc110720e, 0x0000e108, 0x8118630c, 0x00004908, 0x00003022, 0x0000f011,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x04152000, 0x00007900,
+ 0x001b6c24, 0x00008980, 0x046d3000, 0x0000f900, 0x000f02e6, 0x00008980,
+ 0x01c00000, 0x000000f4, 0x82e00500, 0x0000802e, 0x30fe2213, 0x0000f500,
+ 0x03f82702, 0x00000108, 0x81408000, 0x00001980, 0x8a400a29, 0x00009080,
+ 0x99402c29, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0x99782c29, 0x00005000,
+ 0x00382000, 0x00000000, 0x0102042a, 0x00009283, 0x01000000, 0x00007900,
0x00003840, 0x00008980, 0x00113004, 0x0000e186, 0x08015429, 0x0000b092,
- 0x8a614c29, 0x00006110, 0x0e014704, 0x0000e000, 0x2ea72551, 0x00007500,
+ 0x8a614c29, 0x00006110, 0x0e014704, 0x0000e000, 0x31112870, 0x0000f500,
0x0b800429, 0x0000d094, 0x00400000, 0x00008000, 0x03802004, 0x00001900,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x82c04a29, 0x0000e080,
- 0x00032009, 0x00002587, 0x99402c0b, 0x0000f902, 0x01000000, 0x00008000,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x82c05a29, 0x00006080,
+ 0x0000780a, 0x0000a587, 0x9940ac0b, 0x00007902, 0x05000000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x05400815, 0x00001082, 0x05000014, 0x00009084,
+ 0x00003088, 0x00007400, 0x9978ac0b, 0x0000d000, 0x0038a000, 0x00008000,
+ 0x733850ec, 0x0000d600, 0x00000000, 0x00008080, 0x82c03a29, 0x00006080,
+ 0x0000780a, 0x0000a587, 0x9940ac0b, 0x00007902, 0x05000000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x05400815, 0x00001082, 0x05000014, 0x00009084,
+ 0x00003088, 0x00007400, 0x9978ac0b, 0x0000d000, 0x0038a000, 0x00008000,
+ 0x733850ec, 0x0000d600, 0x00000000, 0x00008080, 0x82c05229, 0x0000e080,
+ 0x00007809, 0x0000a587, 0x99402c0b, 0x0000f902, 0x01000000, 0x00008000,
0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
0x99782c0b, 0x00005000, 0x00382000, 0x00000000, 0x014001e0, 0x00001980,
0x733848ec, 0x0000d600, 0x00000000, 0x00008080, 0x00105005, 0x0000e984,
- 0x753828ec, 0x0000d600, 0x00000000, 0x00008080, 0xa7601624, 0x0000c497,
- 0xb2400e24, 0x00008b93, 0xa6001d1c, 0x0000788f, 0x51400000, 0x0000968d,
- 0x82c05a29, 0x00006080, 0x00007809, 0x0000a587, 0x99402c0b, 0x0000f902,
+ 0x753828ec, 0x0000d600, 0x00000000, 0x00008080, 0x0be01624, 0x0000c496,
+ 0xfc600e24, 0x00000c91, 0x6f401d1c, 0x0000788e, 0x71800000, 0x00001886,
+ 0x82c06229, 0x0000e080, 0x0000f009, 0x0000a587, 0x99402c0b, 0x0000f902,
0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082,
0x01000004, 0x00009084, 0x99782c0b, 0x00005000, 0x00382000, 0x00000000,
0x014001e0, 0x00001980, 0x733848ec, 0x0000d600, 0x00000000, 0x00008080,
0x00105005, 0x0000e984, 0x753828ec, 0x0000d600, 0x00000000, 0x00008080,
- 0xa7601624, 0x0000c497, 0xb2400e24, 0x00008b93, 0xa6001d1c, 0x0000788f,
- 0x51400000, 0x0000968d, 0x82c03a29, 0x00006080, 0x00007809, 0x0000a587,
+ 0x0be01624, 0x0000c496, 0xfc600e24, 0x00000c91, 0x6f401d1c, 0x0000788e,
+ 0x71800000, 0x00001886, 0x02c01d12, 0x00009281, 0x0000140b, 0x00009583,
+ 0x00002408, 0x00009583, 0xffffffff, 0x00007f86, 0x000030ba, 0x0000f008,
+ 0x000030ba, 0x0000f010, 0x00000c0b, 0x00006583, 0x0d809408, 0x00002002,
+ 0x82e04408, 0x00001908, 0xc9f9660b, 0x00002088, 0x00003160, 0x0000f008,
+ 0x42001d12, 0x00009283, 0x82e04408, 0x00001908, 0xc9f9660b, 0x0000a008,
+ 0x000030ba, 0x0000f010, 0xffffffff, 0x00007f97, 0x0000002c, 0x00001582,
+ 0x0a070800, 0x00001991, 0x000030ba, 0x00007009, 0x02c1602c, 0x0000e300,
+ 0x02400000, 0x00004980, 0xbac04a0b, 0x00002081, 0xc1c004ec, 0x00005080,
+ 0x00400000, 0x00008000, 0x0a000c28, 0x0000e181, 0x02005fe4, 0x00000800,
+ 0xc1f866ec, 0x0000b838, 0xc1f84aec, 0x0000a880, 0xc23870ec, 0x00003838,
+ 0xc23882ec, 0x0000b838, 0xc23894ec, 0x00003838, 0xc23826ec, 0x00003838,
+ 0xc27830ec, 0x00003838, 0xc1c004ec, 0x0000d000, 0x00400000, 0x00000080,
+ 0x317841a0, 0x00007500, 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080,
+ 0x0b016008, 0x00009400, 0x0000002c, 0x00001582, 0x00070c28, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00003164, 0x00007010, 0x000030ba, 0x0000f008,
+ 0x01020412, 0x00001283, 0x08009429, 0x00006092, 0x00007004, 0x00003186,
+ 0x8a614c29, 0x00006110, 0x04214004, 0x0000e087, 0x0e008704, 0x0000e800,
+ 0x31872870, 0x0000f500, 0x0b800429, 0x0000d094, 0x00400000, 0x00008000,
+ 0x03802004, 0x00001900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x82c05229, 0x0000e080, 0x0000780a, 0x0000a587, 0x9940ac0b, 0x00007902,
+ 0x05000000, 0x00000000, 0xffffffff, 0x00007fa7, 0x05400815, 0x00001082,
+ 0x05000014, 0x00009084, 0x00003088, 0x00007400, 0x9978ac0b, 0x0000d000,
+ 0x0038a000, 0x00008000, 0x733850ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x82c04a29, 0x0000e080, 0x0003200a, 0x00002587, 0x9940ac0b, 0x00007902,
+ 0x05000000, 0x00000000, 0xffffffff, 0x00007fa7, 0x05400815, 0x00001082,
+ 0x05000014, 0x00009084, 0x00003088, 0x00007400, 0x9978ac0b, 0x0000d000,
+ 0x0038a000, 0x00008000, 0x733850ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x02000000, 0x000080d8, 0x01400020, 0x0000e180, 0x0d001c08, 0x0000e006,
+ 0x04364800, 0x00007900, 0x001b6c22, 0x00008980, 0x04518000, 0x00007900,
+ 0x00373a94, 0x00008980, 0x03400000, 0x0000e180, 0x08001b08, 0x0000e106,
+ 0x81410800, 0x0000e180, 0xc190720e, 0x0000c900, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x31b12213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x01f84706, 0x00000108, 0x82c03229, 0x0000e080, 0x0000100a, 0x00002587,
+ 0x9940ac0b, 0x00007902, 0x05000000, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x05400815, 0x00001082, 0x05000014, 0x00009084, 0x00003088, 0x00007400,
+ 0x9978ac0b, 0x0000d000, 0x0038a000, 0x00008000, 0x733850ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0xc1008723, 0x00009283, 0xc1113226, 0x0000e108,
+ 0x81192324, 0x00004908, 0x000030f3, 0x0000f009, 0x0102042a, 0x00009283,
+ 0x01000000, 0x00007900, 0x00003840, 0x00008980, 0x00113004, 0x0000e186,
+ 0x08015429, 0x0000b092, 0x8a614c29, 0x00006110, 0x0e014704, 0x0000e000,
+ 0x31cc2870, 0x0000f500, 0x0b800429, 0x0000d094, 0x00400000, 0x00008000,
+ 0x03802004, 0x00001900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x82c04a29, 0x0000e080, 0x00032009, 0x00002587, 0x99402c0b, 0x0000f902,
+ 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082,
+ 0x01000004, 0x00009084, 0x99782c0b, 0x00005000, 0x00382000, 0x00000000,
+ 0x014001e0, 0x00001980, 0x733848ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x00105005, 0x0000e984, 0x753828ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x0be01624, 0x0000c496, 0xfc600e24, 0x00000c91, 0x6f401d1c, 0x0000788e,
+ 0x71800000, 0x00001886, 0x82c05a29, 0x00006080, 0x00007809, 0x0000a587,
0x99402c0b, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
0x01400805, 0x00001082, 0x01000004, 0x00009084, 0x99782c0b, 0x00005000,
0x00382000, 0x00000000, 0x014001e0, 0x00001980, 0x733848ec, 0x0000d600,
0x00000000, 0x00008080, 0x00105005, 0x0000e984, 0x753828ec, 0x0000d600,
- 0x00000000, 0x00008080, 0xa7601624, 0x0000c497, 0xb2400e24, 0x00008b93,
- 0xa6001d1c, 0x0000788f, 0x51400000, 0x0000968d, 0x02080000, 0x00006180,
- 0x08003a06, 0x00006106, 0x01c00020, 0x00006180, 0x0d001c08, 0x0000e006,
- 0x04364800, 0x00007900, 0x001b6c22, 0x00008980, 0x04518000, 0x00007900,
- 0x00373a94, 0x00008980, 0x00002e87, 0x00007400, 0xc1913226, 0x0000e100,
- 0x08001b08, 0x0000e106, 0x41c00021, 0x000000d4, 0x82c03229, 0x0000e080,
- 0x00001009, 0x00002587, 0x99402c0b, 0x0000f902, 0x01000000, 0x00008000,
+ 0x00000000, 0x00008080, 0x0be01624, 0x0000c496, 0xfc600e24, 0x00000c91,
+ 0x6f401d1c, 0x0000788e, 0x71800000, 0x00001886, 0x82c03a29, 0x00006080,
+ 0x00007809, 0x0000a587, 0x99402c0b, 0x0000f902, 0x01000000, 0x00008000,
0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
0x99782c0b, 0x00005000, 0x00382000, 0x00000000, 0x014001e0, 0x00001980,
0x733848ec, 0x0000d600, 0x00000000, 0x00008080, 0x00105005, 0x0000e984,
- 0x753828ec, 0x0000d600, 0x00000000, 0x00008080, 0xa7601624, 0x0000c497,
- 0xb2400e24, 0x00008b93, 0xa6001d1c, 0x0000788f, 0x51400000, 0x0000968d,
- 0xe0a0ac0a, 0x0000c199, 0x0040a40a, 0x000000a0, 0xc0809c0a, 0x0000c888,
- 0x0800bc0a, 0x000081b4, 0x00002f0a, 0x0000f200, 0x81582304, 0x00001900,
- 0x00002f0a, 0x0000f200, 0x8150720e, 0x00001900, 0x81400000, 0x00009980,
- 0x01200000, 0x00008ffd, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x04102804, 0x0000e987, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x82401a0b, 0x0000e280,
- 0x05800000, 0x00000980, 0x80001209, 0x0000e582, 0x06800000, 0x00000980,
- 0x04800000, 0x00006180, 0x0f805811, 0x0000e182, 0x04c00000, 0x000081d0,
- 0x05400000, 0x000081dc, 0x06000000, 0x000081e4, 0x00000001, 0x0000f488,
- 0x06c00000, 0x00006180, 0x04001840, 0x00004980, 0x06803006, 0x0000e108,
- 0x058728e5, 0x0000c908, 0x80001a09, 0x00009582, 0x05c728e5, 0x00006108,
- 0x06c03006, 0x00004908, 0x00000001, 0x0000f089, 0x80000a09, 0x00001582,
- 0x00000001, 0x00007480, 0x06003006, 0x00006110, 0x050728e5, 0x00004910,
- 0x054728e5, 0x0000e108, 0x06403006, 0x0000c908, 0x8000020b, 0x0000e582,
- 0x0280c7e2, 0x00000080, 0x68383a0a, 0x0000a084, 0x81d05a0b, 0x00001910,
- 0x00002f32, 0x00007010, 0xffffffff, 0x00007f86, 0x80000207, 0x00001582,
- 0x81d5a802, 0x00001988, 0xc000030b, 0x00001582, 0xc1d85b0b, 0x00009910,
- 0x00002f37, 0x0000f011, 0xc0000307, 0x00001582, 0xc1fe0802, 0x00009988,
- 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x68383a0a, 0x00002884,
- 0x0287ec07, 0x00006281, 0x06000000, 0x00008980, 0x00000c0a, 0x0000e583,
- 0x03c00020, 0x00000980, 0x02801407, 0x00006181, 0xc6040000, 0x00008988,
- 0x00000c0a, 0x0000e583, 0x038087e2, 0x00000080, 0x86040000, 0x000019b0,
- 0x00002f46, 0x00007031, 0x00002407, 0x00009583, 0x83c40000, 0x00009988,
- 0x0287ed07, 0x00001281, 0x00000c0a, 0x0000e583, 0x02801507, 0x00008181,
- 0x00000c0a, 0x0000e583, 0xc6010318, 0x00008388, 0x86010218, 0x000093b0,
- 0x00002f4f, 0x00007031, 0x40002507, 0x00009583, 0x83c1020f, 0x00001388,
- 0x0287ee07, 0x00001281, 0x00000c0a, 0x0000e583, 0x02801607, 0x00008181,
- 0xc6100318, 0x0000f908, 0x00000008, 0x00000380, 0x00000c0a, 0x00001583,
- 0x86100218, 0x00007930, 0x00000008, 0x00000380, 0x00002f5b, 0x00007031,
- 0x80002607, 0x00009583, 0x83d0020f, 0x0000f908, 0x00000008, 0x00000380,
- 0x0287ef07, 0x00009281, 0x00000c0a, 0x0000e583, 0x02801707, 0x00000181,
- 0x00000c0a, 0x0000e583, 0xc6020318, 0x00008388, 0x86020218, 0x000093b0,
- 0x00002f64, 0x00007031, 0xc0002707, 0x00009583, 0x83c2020f, 0x00001388,
- 0x0287ec06, 0x00001281, 0x00000c0a, 0x0000e583, 0x02801406, 0x00008181,
- 0xc6200318, 0x0000f908, 0x00000010, 0x00000380, 0x00000c0a, 0x00001583,
- 0x86200218, 0x00007930, 0x00000010, 0x00000380, 0x00002f70, 0x00007031,
- 0x00002406, 0x00001583, 0x83e0020f, 0x0000f908, 0x00000010, 0x00000380,
- 0x40000506, 0x00009583, 0x82b71ee3, 0x00009910, 0x6838c20a, 0x0000d014,
- 0x00387800, 0x00008000, 0x80000606, 0x00009583, 0x6838c20e, 0x00005014,
- 0x00387800, 0x00008000, 0x6820220e, 0x00002005, 0xc0000706, 0x00009583,
- 0x6878c20e, 0x0000d014, 0x00387800, 0x00008000, 0xffffffff, 0x00007f86,
- 0x00000404, 0x00001583, 0x6860220e, 0x0000a005, 0x6800020e, 0x0000508c,
- 0x00400000, 0x00008000, 0x6800020e, 0x0000d00c, 0x00400040, 0x00008080,
- 0xffffffff, 0x00007f86, 0x00000404, 0x00001583, 0x00000001, 0x00007480,
- 0x6840020e, 0x0000d08c, 0x00400000, 0x00008000, 0x6840020e, 0x0000500c,
- 0x00400040, 0x00008080, 0x2f8d2158, 0x0000f500, 0x0147f806, 0x00006280,
- 0x0e404809, 0x00000900, 0x01b84705, 0x00000320, 0x01600000, 0x00000ffd,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04182005, 0x00006987,
- 0x700708ec, 0x0000d680, 0x00382802, 0x00000000, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x07e70000, 0x0000e180, 0x07000804, 0x0000c980,
- 0x000838ec, 0x0000d780, 0x00004800, 0x00008080, 0x00000001, 0x00007480,
- 0x07400000, 0x000001f8, 0x87e03406, 0x00001901, 0x81600400, 0x000080d2,
- 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x09384f08, 0x00000214,
- 0x09b85f0a, 0x0000021c, 0x0a386f0c, 0x00000224, 0x0ab87f0e, 0x0000022c,
- 0x41c00000, 0x000080e0, 0x02400000, 0x00001980, 0x70003425, 0x00004388,
- 0x00603425, 0x00008098, 0x63a01c25, 0x0000c388, 0x00601c25, 0x00008098,
- 0xefc00c25, 0x0000788b, 0x01400001, 0x00008000, 0x2e001425, 0x0000788a,
- 0x51800000, 0x00001a85, 0xe9802425, 0x0000788a, 0x01800001, 0x00008000,
- 0x0c402c25, 0x0000f88b, 0x51800000, 0x00001a85, 0x7e604c25, 0x0000c388,
- 0x00604c25, 0x00008098, 0x74403c25, 0x00004488, 0x54604425, 0x00000d91,
- 0x1d80fe28, 0x0000f88f, 0x01800001, 0x00008000, 0x31c00207, 0x0000f893,
- 0xb9800000, 0x00001a85, 0x95405c25, 0x000043a8, 0x00607425, 0x000000b0,
- 0x1e808425, 0x0000788b, 0x51800000, 0x00001a85, 0x31c00207, 0x0000f893,
- 0xb9800000, 0x00001a85, 0x01c1c000, 0x00006180, 0x03013026, 0x0000c900,
- 0x2fc6213c, 0x00007500, 0x02c13827, 0x00006100, 0x04171007, 0x00006187,
- 0x08003807, 0x00006100, 0x03c09823, 0x00004980, 0x00c002ec, 0x0000df80,
- 0x12de400b, 0x00009684, 0x2fc924f5, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000406, 0x00009583, 0x82bf1fe3, 0x00009908, 0x8a005a0a, 0x00002088,
- 0x00002fd3, 0x00007010, 0xffffffff, 0x00007f97, 0x02803c0b, 0x00009281,
- 0x02c0140a, 0x00009181, 0x00000c0b, 0x00009583, 0x00002fd8, 0x0000701b,
- 0x02467000, 0x00007900, 0x00181872, 0x00008980, 0x000030d0, 0x0000f400,
- 0x02393f26, 0x0000801c, 0x01a03406, 0x00009900, 0x82618430, 0x0000e101,
- 0x5161d008, 0x00006000, 0x61a9d008, 0x0000e000, 0xe7b9d009, 0x0000b001,
- 0x02800c3b, 0x00006281, 0x71f1d008, 0x00002000, 0x8229d808, 0x00006000,
- 0xf7e05009, 0x0000b001, 0x04019808, 0x00006000, 0x82018809, 0x00003001,
- 0x14019808, 0x0000e000, 0x92018809, 0x0000b001, 0x06000000, 0x00006180,
- 0x24019808, 0x0000e000, 0x34019808, 0x00006000, 0xa2018809, 0x0000b001,
- 0x44019808, 0x0000e000, 0xa2a18818, 0x00003000, 0x0000043c, 0x00006583,
- 0xc219db3b, 0x00008900, 0xb2018809, 0x00006001, 0xb2e05018, 0x0000b000,
- 0x02a03406, 0x0000e111, 0x9261e008, 0x00006000, 0x02801000, 0x0000e189,
- 0xc2018809, 0x0000e001, 0xa2a9e008, 0x0000e000, 0xd2018809, 0x00003001,
- 0x05800000, 0x00007900, 0x00004000, 0x00000980, 0x82205018, 0x00006002,
- 0xb2f1e008, 0x0000b000, 0x41c00025, 0x000081dc, 0x03000000, 0x000081d4,
- 0x0000043b, 0x0000e583, 0x04c00000, 0x00000980, 0x40000531, 0x00001583,
- 0xffffffff, 0x00007f86, 0x00003008, 0x0000f008, 0x00003008, 0x0000f010,
- 0x01800000, 0x00006180, 0x01c00020, 0x00004980, 0x04296000, 0x0000f900,
- 0x00181872, 0x00008980, 0x03c00000, 0x000000d4, 0x00003209, 0x0000f400,
- 0x01b1d830, 0x00000019, 0x81c06000, 0x00001980, 0x40000531, 0x0000e583,
- 0x82ff17e2, 0x00000900, 0x9700560b, 0x0000a081, 0x06001000, 0x0000e191,
- 0x82c14337, 0x0000c080, 0x8359820b, 0x0000e100, 0x03800000, 0x00000980,
- 0x82c00000, 0x000000d8, 0x00000c0a, 0x0000e583, 0xc6198330, 0x00000900,
- 0x06000c18, 0x0000e389, 0x05698530, 0x00000901, 0x4000053b, 0x0000e583,
- 0x44f71ee3, 0x00008901, 0x02801000, 0x0000e191, 0x02803000, 0x00004989,
- 0x80000635, 0x00006583, 0x05b9d73a, 0x00000901, 0x02c00800, 0x00006191,
- 0x04e0540a, 0x0000c901, 0xc0000735, 0x00006583, 0x8371b636, 0x00008901,
- 0x02801000, 0x0000e191, 0x02b9af35, 0x0000c909, 0x00000436, 0x00006583,
- 0xc379b736, 0x00000901, 0x04605c0a, 0x00006301, 0x02401439, 0x00008181,
- 0x02800000, 0x0000e181, 0x83d9bb37, 0x00004900, 0x02800800, 0x0000e191,
- 0xc3d1c238, 0x0000c900, 0x40000536, 0x00006583, 0x45a9bd37, 0x00008901,
- 0x02c01000, 0x0000e190, 0x02c00000, 0x00004988, 0x05c1c030, 0x0000803a,
- 0x02c05c0a, 0x0000e300, 0x01a1bc37, 0x00008901, 0x41801439, 0x00006181,
- 0x02c0100b, 0x00008880, 0x02a05c11, 0x00006301, 0x45e05c11, 0x00008301,
- 0x01205c11, 0x00009303, 0xc019bb30, 0x00009502, 0xffffffff, 0x00007f86,
- 0x00003048, 0x00007008, 0x0000303e, 0x00007018, 0x01000d37, 0x00009181,
- 0x0001fc04, 0x00001583, 0x00000409, 0x00009583, 0xffffffff, 0x00007f86,
- 0x0000303e, 0x00007018, 0x00003048, 0x00007010, 0x01002c0a, 0x00006283,
- 0x0b400000, 0x00008980, 0x0b000000, 0x0000e180, 0x4b400800, 0x00004991,
- 0x0100540a, 0x00006283, 0x8199bb37, 0x00008900, 0x01818530, 0x00000234,
- 0x000031c4, 0x00007400, 0x4b41cf37, 0x00000230, 0x8b400800, 0x00001991,
- 0x82800c30, 0x00006080, 0x0b000000, 0x0000c980, 0x43b86e0a, 0x0000d004,
- 0x00383000, 0x00008000, 0x01801000, 0x0000e180, 0x8b205c11, 0x0000c301,
- 0x82c01430, 0x0000e080, 0x82218006, 0x00006086, 0x0b800000, 0x00006180,
- 0x0c018e06, 0x0000e000, 0x0f80060b, 0x00005084, 0x00400000, 0x00008000,
- 0x0ff8a80b, 0x0000a884, 0x0ff89a0b, 0x00002884, 0x43b87c0a, 0x0000d004,
- 0x00387000, 0x00000000, 0x0fb8c40b, 0x0000d004, 0x0038b800, 0x00008000,
- 0x0fb8b60b, 0x0000a804, 0x0fc0000b, 0x00005004, 0x00400000, 0x00000080,
- 0x0fc0020b, 0x0000d004, 0x00400000, 0x00000080, 0x0bc00000, 0x0000e180,
- 0x8b50c218, 0x00004900, 0x30643691, 0x0000f500, 0x0b418530, 0x00008230,
- 0x12c9bf06, 0x00000230, 0x01800800, 0x00009980, 0x82218006, 0x0000e886,
- 0x30693691, 0x00007500, 0x0bc18e06, 0x0000e800, 0x12c03006, 0x00009900,
- 0x01802000, 0x00009980, 0x82218006, 0x0000e886, 0x306e3691, 0x0000f500,
- 0x0b418e06, 0x00006800, 0x12c03006, 0x00009900, 0x01801800, 0x00001980,
- 0x82218006, 0x0000e886, 0x30733691, 0x0000f500, 0x0b018e06, 0x0000e800,
- 0x12c03006, 0x00009900, 0x01802800, 0x00001980, 0x82218006, 0x0000e886,
- 0x30783691, 0x00007500, 0x0ac18e06, 0x00006800, 0x12c03006, 0x00009900,
- 0x01803000, 0x00001980, 0x82218006, 0x0000e886, 0x307d3691, 0x00007500,
- 0x0b818e06, 0x00006800, 0x12c03006, 0x00009900, 0x01800020, 0x00009980,
- 0x308139da, 0x00007500, 0x81a18430, 0x00001900, 0x0c403006, 0x00001900,
- 0x05000000, 0x00006180, 0x09c0600b, 0x0000e084, 0x05400000, 0x000001d8,
- 0xc1400f0c, 0x00006283, 0x05c00000, 0x00008980, 0x27353000, 0x0000f900,
- 0x0029a9a8, 0x00008980, 0x27753000, 0x00007900, 0x0029a9a8, 0x00008980,
- 0x27b53000, 0x00007900, 0x0029a9a8, 0x00008980, 0x27f53000, 0x0000f900,
- 0x0029a9a8, 0x00008980, 0x0440000b, 0x00007900, 0x00000002, 0x00000080,
- 0x04800000, 0x000081cc, 0x06000000, 0x000081e4, 0x06800000, 0x000081ec,
- 0x04001860, 0x0000e180, 0x050728e5, 0x00004908, 0x054728e5, 0x0000e108,
- 0x058728e5, 0x0000c910, 0x05c728e5, 0x00001910, 0x814010ec, 0x0000d684,
+ 0x753828ec, 0x0000d600, 0x00000000, 0x00008080, 0x0be01624, 0x0000c496,
+ 0xfc600e24, 0x00000c91, 0x6f401d1c, 0x0000788e, 0x71800000, 0x00001886,
+ 0x02080000, 0x00006180, 0x01400020, 0x0000c980, 0x08003a06, 0x00006106,
+ 0x0d001c08, 0x0000b006, 0x04364800, 0x00007900, 0x001b6c22, 0x00008980,
+ 0x04518000, 0x00007900, 0x00373a94, 0x00008980, 0x000031ac, 0x0000f400,
+ 0xc1913226, 0x0000e100, 0x08001b08, 0x0000e106, 0x41400021, 0x000000f4,
+ 0x82c03229, 0x0000e080, 0x00001009, 0x00002587, 0x99402c0b, 0x0000f902,
+ 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082,
+ 0x01000004, 0x00009084, 0x99782c0b, 0x00005000, 0x00382000, 0x00000000,
+ 0x014001e0, 0x00001980, 0x733848ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x00105005, 0x0000e984, 0x753828ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x0be01624, 0x0000c496, 0xfc600e24, 0x00000c91, 0x6f401d1c, 0x0000788e,
+ 0x71800000, 0x00001886, 0x4540ac0a, 0x0000c198, 0x0060a40a, 0x000080a0,
+ 0xc0809c0a, 0x0000c888, 0x0800bc0a, 0x000081b4, 0x0000322f, 0x00007200,
+ 0x81182304, 0x00009900, 0x0000322f, 0x00007200, 0x8110720e, 0x00009900,
+ 0x81000000, 0x00001980, 0x01600000, 0x00000ffd, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x04102005, 0x0000e987, 0x700708ec, 0x0000d680,
+ 0x00382802, 0x00000000, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x81c01a0b, 0x00006280, 0x05800000, 0x00000980, 0x80001207, 0x00006582,
+ 0x06800000, 0x00000980, 0x04800000, 0x00006180, 0x0f805811, 0x0000e182,
+ 0x04c00000, 0x000081d0, 0x05400000, 0x000081dc, 0x06000000, 0x000081e4,
+ 0x00000001, 0x0000f488, 0x06c00000, 0x00006180, 0x04001840, 0x00004980,
+ 0x0680500a, 0x0000e108, 0x058728e5, 0x0000c908, 0x80001a07, 0x00001582,
+ 0x05c728e5, 0x00006108, 0x06c0500a, 0x00004908, 0x00000001, 0x0000f089,
+ 0x80000a07, 0x00009582, 0x00000001, 0x00007480, 0x0600500a, 0x00006110,
+ 0x050728e5, 0x00004910, 0x054728e5, 0x0000e108, 0x0640500a, 0x0000c908,
+ 0x8000020d, 0x0000e582, 0x833f17e2, 0x00008900, 0x69805a0c, 0x0000f902,
+ 0x02800000, 0x00008004, 0x833f17e2, 0x00001900, 0xffffffff, 0x00007f97,
+ 0xc000030d, 0x0000e582, 0x0010680b, 0x0000a196, 0x69b8520c, 0x00002804,
+ 0x0418680b, 0x00006997, 0x00000001, 0x00007480, 0xffffffff, 0x00007f86,
+ 0x69b85a0c, 0x00002884, 0x0607ec0b, 0x00006281, 0x06c00000, 0x00008980,
+ 0x00000c18, 0x0000e583, 0x06800020, 0x00008980, 0x0600140b, 0x00006181,
+ 0xc6c40000, 0x00008988, 0x00000c18, 0x0000e583, 0x064087e2, 0x00000080,
+ 0x86c40000, 0x000019b0, 0x00003268, 0x00007031, 0x0000240b, 0x00009583,
+ 0x86840000, 0x00001988, 0x0607ed0b, 0x00001281, 0x00000c18, 0x0000e583,
+ 0x0600150b, 0x00008181, 0x00000c18, 0x0000e583, 0xc6c1031b, 0x00008388,
+ 0x86c1021b, 0x000093b0, 0x00003271, 0x0000f031, 0x4000250b, 0x00009583,
+ 0x8681021a, 0x00001388, 0x0607ee0b, 0x00001281, 0x00000c18, 0x0000e583,
+ 0x0600160b, 0x00008181, 0xc6d0031b, 0x0000f908, 0x00000008, 0x00000380,
+ 0x00000c18, 0x00001583, 0x86d0021b, 0x00007930, 0x00000008, 0x00000380,
+ 0x0000327d, 0x0000f031, 0x8000260b, 0x00009583, 0x8690021a, 0x0000f908,
+ 0x00000008, 0x00000380, 0x0607ef0b, 0x00009281, 0x00000c18, 0x0000e583,
+ 0x0600170b, 0x00000181, 0x00000c18, 0x0000e583, 0xc6c2031b, 0x00008388,
+ 0x86c2021b, 0x000093b0, 0x00003286, 0x00007031, 0xc000270b, 0x00009583,
+ 0x8682021a, 0x00001388, 0x0607ec0a, 0x00001281, 0x00000c18, 0x0000e583,
+ 0x0600140a, 0x00008181, 0xc6e0031b, 0x0000f908, 0x00000010, 0x00000380,
+ 0x00000c18, 0x00001583, 0x86e0021b, 0x00007930, 0x00000010, 0x00000380,
+ 0x00003292, 0x00007031, 0x0000240a, 0x00001583, 0x86a0021a, 0x0000f908,
+ 0x00000010, 0x00000380, 0x4000050a, 0x00009583, 0x86371ee3, 0x00009910,
+ 0x6838da18, 0x0000d014, 0x0038d000, 0x00000000, 0x8000060a, 0x00009583,
+ 0x6838da19, 0x00005014, 0x0038d000, 0x00000000, 0x68202219, 0x00002005,
+ 0xc000070a, 0x00009583, 0x6878da19, 0x0000d014, 0x0038d000, 0x00000000,
+ 0xffffffff, 0x00007f86, 0x00000404, 0x00001583, 0x68602219, 0x0000a005,
+ 0x68000219, 0x0000508c, 0x00400000, 0x00008000, 0x68000219, 0x0000d00c,
+ 0x00400040, 0x00008080, 0xffffffff, 0x00007f86, 0x00000404, 0x00001583,
+ 0x00000001, 0x00007480, 0x68400219, 0x0000d08c, 0x00400000, 0x00008000,
+ 0x68400219, 0x0000500c, 0x00400040, 0x00008080, 0x0147f806, 0x00006280,
+ 0x14404809, 0x00008900, 0x32b022b9, 0x00007500, 0x14383f08, 0x00000324,
+ 0x0e002805, 0x00001900, 0x01600000, 0x00000ffd, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x04182005, 0x00006987, 0x700708ec, 0x0000d680,
+ 0x00382802, 0x00000000, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x07e70000, 0x0000e180, 0x07000804, 0x0000c980, 0x000838ec, 0x0000d780,
+ 0x00004800, 0x00008080, 0x00000001, 0x00007480, 0x07400000, 0x000001f8,
+ 0x87e04c09, 0x00001901, 0x81600400, 0x000080d2, 0x0b000000, 0x000082f4,
+ 0x0b800000, 0x000082fc, 0x09384f08, 0x00000214, 0x09b85f0a, 0x0000021c,
+ 0x0a386f0c, 0x00000224, 0x0ab87f0e, 0x0000022c, 0x01c00000, 0x000080d8,
+ 0x82000000, 0x00001980, 0xd4603425, 0x0000c388, 0x00603425, 0x00008098,
+ 0xc8001c25, 0x00004388, 0x00601c25, 0x00008098, 0xb8800c25, 0x0000f88a,
+ 0x01800001, 0x00008000, 0xf6c01425, 0x0000788a, 0x69800000, 0x00009b8e,
+ 0xb2402425, 0x0000788b, 0x01800001, 0x00008000, 0xd5002c25, 0x0000f88b,
+ 0x69800000, 0x00009b8e, 0xe2c04c25, 0x0000c388, 0x00604c25, 0x00008098,
+ 0xd8a03c25, 0x0000c488, 0x9a604425, 0x00008d97, 0xe640fe28, 0x0000788f,
+ 0x01800001, 0x00008000, 0xfa800208, 0x0000f893, 0xd1800000, 0x00009b8e,
+ 0xf9a05c25, 0x0000c3a8, 0x00607425, 0x000000b0, 0xe7408425, 0x0000788b,
+ 0x69800000, 0x00009b8e, 0xfa800208, 0x0000f893, 0xd1800000, 0x00009b8e,
+ 0x0241c000, 0x0000e180, 0x03013026, 0x0000c900, 0x32e9229d, 0x00007500,
+ 0x02c13827, 0x00006100, 0x04171009, 0x0000e187, 0x08004809, 0x00006100,
+ 0x03c09823, 0x00004980, 0x00c002ec, 0x0000df80, 0x1317580b, 0x00001684,
+ 0x32ec2656, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000407, 0x00001583,
+ 0x827f1fe3, 0x00009908, 0x8a005209, 0x0000a088, 0x000032f6, 0x0000f010,
+ 0xffffffff, 0x00007f97, 0x02403c0a, 0x00001281, 0x02801409, 0x00001181,
+ 0x00000c0a, 0x00001583, 0x000032fb, 0x0000f01b, 0xc1793007, 0x00000020,
+ 0x000033f3, 0x00007400, 0x02467000, 0x00007900, 0x00181872, 0x00008980,
+ 0x01b93f05, 0x0000801c, 0x81e18430, 0x00006101, 0x5161d006, 0x0000e000,
+ 0x61a9d006, 0x00006000, 0xe7b9d007, 0x00003001, 0x02400c3b, 0x00006281,
+ 0x71f1d006, 0x0000a000, 0x8229d806, 0x0000e000, 0xf7e04807, 0x00003001,
+ 0x04019806, 0x0000e000, 0x82018807, 0x0000b001, 0x14019806, 0x00006000,
+ 0x92018807, 0x00003001, 0x24019806, 0x00006000, 0xa2018807, 0x00003001,
+ 0x34019806, 0x0000e000, 0xb2018807, 0x0000b001, 0x44019806, 0x00006000,
+ 0xc2018807, 0x00003001, 0x06000000, 0x00006180, 0xd2018807, 0x0000e001,
+ 0x0000043c, 0x00006583, 0xa2a18818, 0x0000a000, 0xc199db3b, 0x0000e100,
+ 0xb2e04818, 0x0000e000, 0x02603c07, 0x0000e111, 0x9261e006, 0x0000e000,
+ 0x02401000, 0x0000e189, 0xa2a9e006, 0x00006000, 0x05800000, 0x00007900,
+ 0x00004000, 0x00000980, 0xb2f1e006, 0x00006000, 0x82204818, 0x00003002,
+ 0x42000025, 0x000081dc, 0x02c00000, 0x000001d4, 0x0000043b, 0x0000e583,
+ 0x04c00000, 0x00000980, 0x40000531, 0x00001583, 0xffffffff, 0x00007f86,
+ 0x0000332b, 0x00007008, 0x0000332b, 0x00007010, 0x01800000, 0x00006180,
+ 0x01400020, 0x0000c980, 0x04296000, 0x0000f900, 0x00181872, 0x00008980,
+ 0x01c00000, 0x000000f4, 0x0000352c, 0x0000f400, 0x01b1d830, 0x00000019,
+ 0x81406000, 0x00009980, 0x40000531, 0x0000e583, 0x82bf17e2, 0x00008900,
+ 0x97004e0a, 0x00002081, 0x06001000, 0x0000e191, 0x82814337, 0x00004080,
+ 0x8359820a, 0x00006100, 0x03800000, 0x00000980, 0x82800000, 0x000080f0,
+ 0x00000c09, 0x0000e583, 0xc6198330, 0x00000900, 0x06000c18, 0x0000e389,
+ 0x05698530, 0x00000901, 0x4000053b, 0x0000e583, 0x44f71ee3, 0x00008901,
+ 0x02401000, 0x0000e191, 0x02403000, 0x00004989, 0x80000635, 0x00006583,
+ 0x05b9d73a, 0x00000901, 0x02800800, 0x0000e191, 0x04e04c09, 0x0000c901,
+ 0xc0000735, 0x00006583, 0x8371b636, 0x00008901, 0x02401000, 0x0000e191,
+ 0x0279af35, 0x0000c909, 0x00000436, 0x00006583, 0xc379b736, 0x00000901,
+ 0x04605409, 0x0000e301, 0x01c01439, 0x00000181, 0x02400000, 0x0000e181,
+ 0x83d9bb37, 0x00004900, 0x02400800, 0x0000e191, 0xc3d1c238, 0x0000c900,
+ 0x40000536, 0x00006583, 0x45a9bd37, 0x00008901, 0x02801000, 0x00006190,
+ 0x02800000, 0x0000c988, 0x05c1c030, 0x0000803a, 0x02805409, 0x0000e300,
+ 0x0321bc37, 0x00008901, 0x43001439, 0x00006181, 0x0280100a, 0x00008880,
+ 0x02605411, 0x0000e301, 0x45e05411, 0x00000301, 0x01205411, 0x00001303,
+ 0xc019bb30, 0x00009502, 0xffffffff, 0x00007f86, 0x0000336b, 0x0000f008,
+ 0x00003361, 0x00007018, 0x01000d37, 0x00009181, 0x0001fc04, 0x00001583,
+ 0x00000407, 0x00001583, 0xffffffff, 0x00007f86, 0x00003361, 0x00007018,
+ 0x0000336b, 0x0000f010, 0x01002c09, 0x00006283, 0x0b000000, 0x00000980,
+ 0x02800000, 0x00006180, 0x4b000800, 0x0000c991, 0x01005409, 0x00006283,
+ 0xc2598330, 0x00000900, 0x0b39b830, 0x00008231, 0x000034e7, 0x0000f400,
+ 0x0281b839, 0x00000026, 0x8b000800, 0x00009991, 0x82400c30, 0x00006080,
+ 0x0b000000, 0x0000c980, 0x43b87c09, 0x0000d004, 0x00387000, 0x00000000,
+ 0x43b86e09, 0x0000d004, 0x00386000, 0x00008000, 0x02401000, 0x0000e180,
+ 0x8b205411, 0x00004301, 0x82801430, 0x00006080, 0x82218009, 0x00006086,
+ 0x0b800000, 0x00006180, 0x0c018e09, 0x0000e000, 0x0f80060a, 0x0000d084,
+ 0x00400000, 0x00008000, 0x0ff8a80a, 0x00002884, 0x0ff89a0a, 0x0000a884,
+ 0x0fb8c40a, 0x00005004, 0x0038b800, 0x00008000, 0x0fb8b60a, 0x00002804,
+ 0x0fc0000a, 0x0000d004, 0x00400000, 0x00000080, 0x0fc0020a, 0x00005004,
+ 0x00400000, 0x00000080, 0x0bc00000, 0x0000e180, 0x8b50c218, 0x00004900,
+ 0x338739b5, 0x00007500, 0x0b418530, 0x00008230, 0x1309bf09, 0x00008230,
+ 0x02400800, 0x00009980, 0x82218009, 0x0000e886, 0x338c39b5, 0x0000f500,
+ 0x0bc18e09, 0x0000e800, 0x13004809, 0x00001900, 0x02402000, 0x00009980,
+ 0x82218009, 0x0000e886, 0x339139b5, 0x0000f500, 0x0b418e09, 0x00006800,
+ 0x13004809, 0x00001900, 0x02401800, 0x00001980, 0x82218009, 0x0000e886,
+ 0x339639b5, 0x00007500, 0x0b018e09, 0x0000e800, 0x13004809, 0x00001900,
+ 0x02402800, 0x00001980, 0x82218009, 0x0000e886, 0x339b39b5, 0x0000f500,
+ 0x0ac18e09, 0x00006800, 0x13004809, 0x00001900, 0x02403000, 0x00001980,
+ 0x82218009, 0x0000e886, 0x33a039b5, 0x00007500, 0x0b818e09, 0x00006800,
+ 0x13004809, 0x00001900, 0x02400020, 0x00009980, 0x33a43cfb, 0x0000f500,
+ 0x82618430, 0x00001900, 0x08c04809, 0x00001900, 0x05000000, 0x00006180,
+ 0x09c0580a, 0x0000e084, 0x05400000, 0x000001d8, 0xc1400f0b, 0x0000e283,
+ 0x05c00000, 0x00008980, 0x27353000, 0x0000f900, 0x0029a9a8, 0x00008980,
+ 0x27753000, 0x00007900, 0x0029a9a8, 0x00008980, 0x27b53000, 0x00007900,
+ 0x0029a9a8, 0x00008980, 0x27f53000, 0x0000f900, 0x0029a9a8, 0x00008980,
+ 0x0440000a, 0x0000f900, 0x00000002, 0x00000080, 0x04800000, 0x000081cc,
+ 0x06000000, 0x000081e4, 0x06800000, 0x000081ec, 0x04001860, 0x0000e180,
+ 0x050728e5, 0x00004908, 0x054728e5, 0x0000e108, 0x058728e5, 0x0000c910,
+ 0x05c728e5, 0x00001910, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780, 0x008849c0, 0x000000c8,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x02400f0b, 0x00006080, 0x050728e5, 0x0000c900, 0x057f2fe5, 0x00000118,
+ 0x04600009, 0x00006080, 0x05c728e5, 0x00000900, 0x814010ec, 0x0000d684,
0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780,
0x008849c0, 0x000000c8, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x02800f0c, 0x0000e080, 0x050728e5, 0x0000c900,
- 0x057f2fe5, 0x00000118, 0x0460000a, 0x00006080, 0x05c728e5, 0x00000900,
+ 0x00000002, 0x00008480, 0x04400811, 0x00009080, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780,
+ 0x008849c0, 0x000000c8, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0xfa800208, 0x0000f893, 0xd1800000, 0x00009b8e,
+ 0x02438000, 0x0000e180, 0x03013026, 0x0000c900, 0x33e2229d, 0x00007500,
+ 0x02c13827, 0x00006100, 0x04171009, 0x0000e187, 0x08004809, 0x00006100,
+ 0x03c09823, 0x00004980, 0x00c002ec, 0x0000df80, 0x131f200b, 0x00009684,
+ 0x33e52656, 0x00007100, 0xffffffff, 0x00007f86, 0x00000407, 0x00001583,
+ 0x82bf1fe3, 0x00009908, 0x8a004a0a, 0x0000a088, 0x000033ef, 0x0000f010,
+ 0xffffffff, 0x00007f97, 0x02803c09, 0x00001281, 0x0240140a, 0x00001181,
+ 0x00000c09, 0x00001583, 0x000033f4, 0x0000701b, 0xc1793007, 0x00000020,
+ 0x02709000, 0x0000f900, 0x00181872, 0x00008980, 0x01b93f05, 0x0000801c,
+ 0x33f432ab, 0x0000f100, 0x81e18430, 0x00006101, 0x00299006, 0x0000e000,
+ 0x10719006, 0x0000e000, 0x86298007, 0x0000b001, 0x20b99006, 0x00006000,
+ 0x96718007, 0x0000b001, 0x30e19806, 0x0000e000, 0xa6b98007, 0x00003001,
+ 0x41299806, 0x00006000, 0xb6e18807, 0x0000b001, 0x51719806, 0x00006000,
+ 0xc7298807, 0x00003001, 0x61b99806, 0x0000e000, 0xd7718807, 0x00003001,
+ 0x71e1a006, 0x00006000, 0xe7b98807, 0x0000b001, 0x82801430, 0x00006080,
+ 0x8229a006, 0x0000e000, 0x9271a006, 0x0000e000, 0xf7e19007, 0x0000b001,
+ 0x82013800, 0x00006180, 0xa2b9a006, 0x00006000, 0xb2e1a806, 0x00006800,
+ 0xc329a806, 0x0000e800, 0xd361b006, 0x00006800, 0xe3a9b006, 0x0000e800,
+ 0xf3f1b006, 0x0000e800, 0x8639b006, 0x00006801, 0x34e20006, 0x0000e801,
+ 0x452a0006, 0x00006801, 0x55620806, 0x00006801, 0x65aa0806, 0x0000e801,
+ 0x0f81140a, 0x00007902, 0x08400000, 0x00008004, 0x0f81060a, 0x00007902,
+ 0x03c00000, 0x00008004, 0x0fc0700a, 0x0000f902, 0x03400000, 0x00000004,
+ 0x0fc0620a, 0x0000f902, 0x02c00000, 0x00000004, 0x75f20806, 0x0000e801,
+ 0x09c00731, 0x00007893, 0x01800001, 0x00008000, 0x12400531, 0x00007893,
+ 0x01800001, 0x00008000, 0x8d000732, 0x00004490, 0xd0600433, 0x00008d90,
+ 0x8d000736, 0x0000c490, 0xea600530, 0x00008d91, 0x4cc00532, 0x0000788b,
+ 0xe1800000, 0x00001a88, 0x82800000, 0x0000e180, 0x43a03c07, 0x00004901,
+ 0x8240fa0a, 0x00006282, 0x0b800000, 0x00008980, 0x81e5d001, 0x0000e180,
+ 0x38422000, 0x0000c981, 0x00003430, 0x00007011, 0xffffffff, 0x00007fa7,
+ 0x0b820200, 0x00007904, 0x82403430, 0x00006780, 0x0b00fc30, 0x00000281,
+ 0x82503a09, 0x00006000, 0x0b41fc30, 0x00000281, 0x0001a809, 0x00007902,
+ 0x0bc00000, 0x00008000, 0x08c00c2e, 0x0000e283, 0x0b2167e4, 0x00008800,
+ 0x08c728e5, 0x0000e110, 0x08c160e5, 0x00004408, 0x0b000000, 0x00006188,
+ 0x01000c2e, 0x0000c281, 0x0000fc2d, 0x0000e583, 0x82800a0a, 0x00000080,
+ 0x0b01a82c, 0x00006330, 0x0b01782c, 0x00008318, 0x81c02207, 0x00006080,
+ 0x0b80082e, 0x00008780, 0x0d41182c, 0x0000e230, 0x0bc1182c, 0x00000218,
+ 0x43a87404, 0x00009301, 0x0039a809, 0x0000d000, 0x00397800, 0x00000000,
+ 0xfb08020a, 0x0000458b, 0xfe80fa0a, 0x00007e93, 0x02401000, 0x00009980,
+ 0x82218009, 0x0000e886, 0x344e39b5, 0x0000f500, 0x0801e609, 0x00006800,
+ 0x13004809, 0x00001900, 0x02400800, 0x00009980, 0x82218009, 0x0000e886,
+ 0x345339b5, 0x0000f500, 0x0fc1e609, 0x0000e800, 0x13004809, 0x00001900,
+ 0x02402000, 0x00009980, 0x82218009, 0x0000e886, 0x345839b5, 0x00007500,
+ 0x0f41e609, 0x00006800, 0x13004809, 0x00001900, 0x02401800, 0x00001980,
+ 0x82218009, 0x0000e886, 0x345d39b5, 0x00007500, 0x0f01e609, 0x0000e800,
+ 0x13004809, 0x00001900, 0x02402800, 0x00001980, 0x82218009, 0x0000e886,
+ 0x346239b5, 0x00007500, 0x0ec1e609, 0x00006800, 0x13004809, 0x00001900,
+ 0x02403000, 0x00001980, 0x82218009, 0x0000e886, 0x342139b5, 0x0000f500,
+ 0x0f81e609, 0x00006800, 0x13004809, 0x00001900, 0x00003421, 0x00007000,
+ 0x82800c30, 0x00001880, 0x4381740a, 0x0000f902, 0x0b400000, 0x00008004,
+ 0xffffffff, 0x00007f86, 0x4381660a, 0x0000f902, 0x08c00000, 0x00000004,
+ 0x8ec00736, 0x0000c188, 0x0060170f, 0x00000088, 0x05e00521, 0x0000c589,
+ 0x02e1bc2e, 0x00008023, 0x96e00732, 0x0000c288, 0x4c600521, 0x00008d89,
+ 0x3b800433, 0x0000f88b, 0x01800000, 0x00001a86, 0x80000208, 0x0000e582,
+ 0xf0000806, 0x00002401, 0x82c02cec, 0x0000f90a, 0x01000000, 0x00000604,
+ 0x01a12c25, 0x0000e109, 0x41a92d25, 0x00004909, 0x00003488, 0x0000f010,
+ 0x04192806, 0x0000e187, 0x00002008, 0x0000b586, 0x01002805, 0x00006100,
+ 0x04292808, 0x0000e087, 0x01402004, 0x0000e100, 0x86212808, 0x00006087,
+ 0x1b759800, 0x0000f900, 0x00181874, 0x00008980, 0x00003492, 0x00007400,
+ 0x1c383724, 0x0000863c, 0x1bb84705, 0x00000630, 0x00212807, 0x00006086,
+ 0x00013804, 0x00003586, 0x04292804, 0x0000e087, 0x82292807, 0x0000b086,
+ 0x1c012024, 0x00006100, 0x86212804, 0x00006087, 0x1b759800, 0x0000f900,
+ 0x00181874, 0x00008980, 0x1bb83f06, 0x0000063c, 0x1b002004, 0x00009900,
+ 0x349322d9, 0x00007100, 0x01400020, 0x0000e180, 0x04800000, 0x00004980,
+ 0x0435a000, 0x00007900, 0x00181874, 0x00008980, 0x04733000, 0x0000f900,
+ 0x002b0336, 0x00008980, 0x01c00000, 0x000000f4, 0x81401000, 0x00001980,
+ 0x000037d9, 0x00007400, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x03e00702, 0x0000802e, 0xc891ba37, 0x0000e100, 0x8281422e, 0x00004080,
+ 0x8b11ba0a, 0x00009100, 0x96e00732, 0x0000c288, 0x4c600521, 0x00008d89,
+ 0x3b800433, 0x0000f88b, 0x01800000, 0x00001a86, 0x41002d21, 0x00006283,
+ 0x01c00000, 0x00000980, 0x01800000, 0x00006180, 0x01400020, 0x0000c980,
+ 0xc1c00800, 0x00006191, 0x03400000, 0x0000c980, 0x41005521, 0x00006283,
+ 0x01e18430, 0x00000901, 0x040f8800, 0x00007900, 0x00181876, 0x00000980,
+ 0x044bb000, 0x0000f900, 0x002cbc28, 0x00008980, 0x41e99633, 0x0000801d,
+ 0x00003692, 0x0000f400, 0x81a20340, 0x0000801a, 0x01800800, 0x0000e191,
+ 0x81408800, 0x0000c980, 0x00000433, 0x00006583, 0x82814242, 0x00008080,
+ 0x4b3a0e41, 0x00008231, 0x48e21441, 0x00000238, 0x0ba21d42, 0x00000234,
+ 0x000034ee, 0x00007408, 0x43fa0f41, 0x0000e101, 0x48c01643, 0x00004181,
+ 0x8b19120a, 0x00009100, 0x00000440, 0x0000e583, 0x02800000, 0x00000981,
+ 0x02800800, 0x0000e191, 0x01000000, 0x00004981, 0x40000540, 0x00001583,
+ 0x02401000, 0x0000e191, 0x026a0540, 0x0000c909, 0x80000640, 0x00001583,
+ 0x01000800, 0x00006191, 0x02605409, 0x00004301, 0xc0000740, 0x00001583,
+ 0x02800000, 0x0000e188, 0x02801000, 0x00004990, 0xffffffff, 0x00007f86,
+ 0x02805404, 0x00009300, 0x0280100a, 0x00001880, 0x01205409, 0x00006301,
+ 0x48605409, 0x00000301, 0x01e05409, 0x00001303, 0x8019122e, 0x00001502,
+ 0xffffffff, 0x00007f86, 0x000034ee, 0x0000f008, 0x000034dd, 0x00007028,
+ 0x02400d0f, 0x00009181, 0x0001fc09, 0x00009583, 0x40000523, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x000034dd, 0x00007018, 0x000034ee, 0x0000f010,
+ 0x01402c04, 0x00006283, 0x0b000000, 0x00000980, 0x02800000, 0x00006180,
+ 0x4b000800, 0x0000c991, 0x01005404, 0x0000e283, 0x8251722e, 0x00008900,
+ 0x02410d22, 0x00008230, 0xcb287d0f, 0x0000e101, 0x02801523, 0x0000c081,
+ 0x8b000800, 0x00009991, 0x01400020, 0x00009980, 0x04159800, 0x00007900,
+ 0x00181876, 0x00000980, 0x00003785, 0x00007400, 0x046fc000, 0x00007900,
+ 0x001a4f0c, 0x00008980, 0x81409000, 0x00009980, 0x40000530, 0x00006583,
+ 0x82800c30, 0x00008880, 0x43b9740a, 0x0000d004, 0x00396800, 0x00008000,
+ 0x43b9660a, 0x0000d004, 0x00391800, 0x00000000, 0x0000351a, 0x0000f008,
+ 0x80000630, 0x00009583, 0xc3c00800, 0x0000e189, 0x02800000, 0x0000c990,
+ 0x0b012024, 0x0000e110, 0x02412825, 0x00004910, 0x00003506, 0x00007008,
+ 0x8000060f, 0x00006583, 0x02a18430, 0x00008901, 0x01400020, 0x00006188,
+ 0xc3c01000, 0x0000c991, 0x81404800, 0x00001988, 0x00003506, 0x00007010,
+ 0x00003785, 0x00007400, 0x040f9000, 0x00007900, 0x00181874, 0x00008980,
+ 0x04679800, 0x00007900, 0x00221662, 0x00008980, 0x80000630, 0x00006583,
+ 0x024066e3, 0x00008081, 0xc2400800, 0x00006190, 0x42618430, 0x0000c901,
+ 0x13004809, 0x00009910, 0x00003512, 0x00007008, 0x350d39b5, 0x00007100,
+ 0x02400020, 0x00009980, 0x024047e2, 0x00009081, 0x00003519, 0x0000f400,
+ 0x82218009, 0x0000e886, 0x13004809, 0x00001900, 0x351539b5, 0x0000f500,
+ 0x00000009, 0x0000ed87, 0x13004809, 0x00001900, 0x02400000, 0x00001980,
+ 0x024047e2, 0x00009081, 0x82218009, 0x0000e886, 0x13004809, 0x00001900,
+ 0x351a39b5, 0x00007100, 0x40000532, 0x00001583, 0x00003533, 0x0000700b,
+ 0x80000e32, 0x00006583, 0x30f1b522, 0x0000a000, 0x08801422, 0x0000e389,
+ 0x0887ec22, 0x00000291, 0x41c04522, 0x00001283, 0x80000632, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x00003533, 0x00007008, 0x00003533, 0x00007010,
+ 0x01800000, 0x00006180, 0x01400020, 0x0000c980, 0x042c7000, 0x00007900,
+ 0x00181874, 0x00008980, 0x01c00000, 0x000000f4, 0x0191b030, 0x00008018,
+ 0x81406000, 0x00009980, 0x04424000, 0x0000f900, 0x002172dc, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x000037d9, 0x00007400,
+ 0x82f81400, 0x0000803c, 0x04803006, 0x00009900, 0x40000534, 0x00001583,
+ 0x03f1a634, 0x00009911, 0xa9000436, 0x0000c288, 0x72600536, 0x00000d8a,
+ 0x8bc00432, 0x0000788b, 0xc9800000, 0x00009a8a, 0x02400020, 0x00009980,
+ 0x353d39b5, 0x0000f500, 0x82218009, 0x0000e886, 0x13004809, 0x00001900,
+ 0x0000140c, 0x00001583, 0x03002000, 0x00009989, 0x00003557, 0x00007009,
+ 0x00000c0c, 0x00001583, 0x03001800, 0x00001989, 0x00003557, 0x00007009,
+ 0x02402c0c, 0x00009181, 0x00000c09, 0x00001583, 0x03003800, 0x000019b1,
+ 0x8bc00432, 0x0000788b, 0xc9800000, 0x00009a8a, 0xc000030d, 0x00001582,
+ 0x02400000, 0x0000e190, 0x03002800, 0x00004989, 0x42618430, 0x00001911,
+ 0x00003557, 0x0000f008, 0x354f39b5, 0x0000f300, 0x13004809, 0x00001900,
+ 0x0000240c, 0x00001583, 0x03001000, 0x00009989, 0x00003557, 0x00007009,
+ 0x00001c0c, 0x00009583, 0x03000800, 0x00009989, 0x00003557, 0x00007009,
+ 0x00003c0c, 0x00001583, 0x03003000, 0x00001989, 0x00000432, 0x00001583,
+ 0x0000362f, 0x0000f00b, 0x82801430, 0x00001880, 0x0fb9140a, 0x00005004,
+ 0x00390800, 0x00008000, 0x0fb9060a, 0x00005004, 0x00387800, 0x00008000,
+ 0x0ff8700a, 0x0000d004, 0x00386800, 0x00000000, 0x0ff8620a, 0x0000d004,
+ 0x00385800, 0x00000000, 0x03838026, 0x0000e082, 0x028a0000, 0x00008980,
+ 0x03400027, 0x0000e084, 0x0417100a, 0x00002187, 0x356a229d, 0x00007500,
+ 0x03f09824, 0x0000e180, 0x0300700e, 0x0000c900, 0x02f8570d, 0x00008200,
+ 0x00c002ec, 0x0000df80, 0x134b600b, 0x00009684, 0x356d2656, 0x00007100,
+ 0xffffffff, 0x00007f86, 0x00000407, 0x00001583, 0x827f1fe3, 0x00009908,
+ 0x8a005209, 0x0000a088, 0x00003577, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x02403c0a, 0x00001281, 0x02801409, 0x00001181, 0x00000c0a, 0x00001583,
+ 0x0000357c, 0x0000701b, 0xc1787007, 0x00000020, 0x000033f3, 0x00007400,
+ 0x026f7800, 0x00007900, 0x00181874, 0x00008980, 0x01b86f05, 0x0000001c,
+ 0x973852ec, 0x0000a000, 0x82401430, 0x00006080, 0x04226806, 0x0000e001,
+ 0x146a6806, 0x0000e801, 0x0f811409, 0x00007902, 0x08400000, 0x00008004,
+ 0x0000180a, 0x00006582, 0x24b26806, 0x0000a001, 0x0f810609, 0x00007902,
+ 0x03c00000, 0x00008004, 0x0fc07009, 0x0000f902, 0x03400000, 0x00000004,
+ 0x0fc06209, 0x0000f902, 0x02c00000, 0x00000004, 0x82840000, 0x0000e190,
+ 0x82868000, 0x0000c988, 0x0040074c, 0x0000c589, 0x00600f4c, 0x0000818c,
+ 0xc8000000, 0x00009980, 0xb5c0064d, 0x0000c490, 0xb860054d, 0x00008d93,
+ 0x8bc0044d, 0x0000f88b, 0xb9800000, 0x00001a8f, 0x02400e4c, 0x00006081,
+ 0xc8000800, 0x00008980, 0x82604c09, 0x00006100, 0xc8000e4c, 0x00004081,
+ 0xb3605409, 0x0000c420, 0x5c60064d, 0x00008d93, 0x0860054d, 0x00004590,
+ 0x0960044d, 0x0000058f, 0x01400020, 0x0000e180, 0x04800000, 0x00004980,
+ 0x042ad000, 0x00007900, 0x001b2672, 0x00000980, 0x047e8800, 0x00007900,
+ 0x00215f72, 0x00008980, 0x0000349b, 0x00007400, 0x01c00000, 0x000000f4,
+ 0x81401000, 0x00001980, 0x02800000, 0x00006180, 0x01400020, 0x0000c980,
+ 0x042bd000, 0x0000f900, 0x001b2672, 0x00000980, 0x04488800, 0x00007900,
+ 0x00369078, 0x00008980, 0x0b392f24, 0x00000024, 0x00003785, 0x00007400,
+ 0x02aa6030, 0x00000029, 0x81405000, 0x00009980, 0x05172ae5, 0x0000e100,
+ 0x00000007, 0x00006586, 0xc1400f20, 0x0000e283, 0x00026007, 0x0000a000,
+ 0x10026007, 0x0000e000, 0x09c10409, 0x0000b002, 0x02801f20, 0x0000e781,
+ 0x20026007, 0x00002000, 0x04800000, 0x00006180, 0x30026007, 0x00006000,
+ 0x04c00000, 0x0000e180, 0x40026007, 0x0000e000, 0x05400000, 0x0000e180,
+ 0x50026007, 0x00006000, 0x05800000, 0x0000e180, 0x60026207, 0x0000e000,
+ 0x05c00000, 0x00006180, 0xc33a6a07, 0x0000e006, 0x86000607, 0x000001a4,
+ 0x05000000, 0x00007910, 0x003fffc0, 0x00008980, 0x06008207, 0x0000e090,
+ 0x06800000, 0x0000c980, 0xc1403720, 0x00006283, 0x06c00000, 0x00008980,
+ 0x0460040a, 0x0000f900, 0x00000002, 0x00000080, 0x04001860, 0x0000e180,
+ 0x3840c409, 0x00004081, 0x000035d2, 0x0000f208, 0xb840a409, 0x00009081,
+ 0xffffffff, 0x00007fa7, 0x1000c400, 0x00007904, 0x06000000, 0x00001980,
+ 0x1080a400, 0x0000f904, 0x05000000, 0x00001980, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009820ec, 0x0000d780,
+ 0x00004800, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x4000054d, 0x00009583, 0x000035f5, 0x0000700b,
+ 0x02802720, 0x00006080, 0x04800000, 0x00004980, 0x0440000a, 0x0000f900,
+ 0x00000004, 0x00000080, 0x02902000, 0x0000f900, 0x00004500, 0x00000980,
+ 0x04c00000, 0x000081e0, 0x06400000, 0x000001e8, 0x06c00000, 0x00006180,
+ 0x04001860, 0x0000c980, 0x053f2fe5, 0x00008114, 0x05bf2fe5, 0x0000811c,
+ 0x02408000, 0x00001981, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x00b850ec, 0x00005700, 0x00084802, 0x00008080,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x02400c09, 0x00006183, 0x04400811, 0x00000080, 0x82800e0a, 0x00009081,
+ 0x000035e9, 0x00007011, 0x0000044d, 0x00009583, 0x0000362f, 0x0000f00b,
+ 0x05000000, 0x00006180, 0x09c1000a, 0x0000e084, 0x05400000, 0x000001d8,
+ 0x05c00000, 0x000009f0, 0x27400000, 0x000009f8, 0xc1400f20, 0x0000e283,
+ 0x27c00000, 0x00008980, 0x0440000a, 0x0000f900, 0x00000002, 0x00000080,
+ 0x04800000, 0x000081cc, 0x06000000, 0x000081e4, 0x06800000, 0x000081ec,
+ 0x04001860, 0x0000e180, 0x27048090, 0x00004908, 0x27448891, 0x0000e108,
+ 0x050728e5, 0x00004908, 0x054728e5, 0x0000e108, 0x27848090, 0x0000c910,
+ 0x27c48891, 0x00006110, 0x058728e5, 0x0000c910, 0x05c728e5, 0x00001910,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
0x009020ec, 0x00005780, 0x008849c0, 0x000000c8, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x04400811, 0x00009080,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02400f20, 0x00006080,
+ 0x050728e5, 0x0000c900, 0x057f2fe5, 0x00000118, 0x05fcb7e5, 0x00008930,
+ 0x277cc797, 0x00000938, 0x04600009, 0x00006080, 0x27c4c899, 0x00000900,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
0x009020ec, 0x00005780, 0x008849c0, 0x000000c8, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x31c00207, 0x0000f893,
- 0xb9800000, 0x00001a85, 0x01c38000, 0x00006180, 0x03013026, 0x0000c900,
- 0x30bf213c, 0x00007500, 0x02c13827, 0x00006100, 0x04171007, 0x00006187,
- 0x08003807, 0x00006100, 0x03c09823, 0x00004980, 0x00c002ec, 0x0000df80,
- 0x1306080b, 0x00001684, 0x30c224f5, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000406, 0x00009583, 0x82ff1fe3, 0x00001908, 0x8a00520b, 0x00002088,
- 0x000030cc, 0x00007010, 0xffffffff, 0x00007f97, 0x02c03c0a, 0x00009281,
- 0x0280140b, 0x00009181, 0x00000c0a, 0x00001583, 0x000030d1, 0x0000f01b,
- 0x02709000, 0x0000f900, 0x00181872, 0x00008980, 0x02393f26, 0x0000801c,
- 0x01a03406, 0x00009900, 0x30d12f89, 0x00007100, 0x82618430, 0x0000e101,
- 0x00299008, 0x00006000, 0x10719008, 0x00006000, 0x86298009, 0x00003001,
- 0x20b99008, 0x0000e000, 0x96718009, 0x00003001, 0x30e19808, 0x00006000,
- 0xa6b98009, 0x0000b001, 0x41299808, 0x0000e000, 0xb6e18809, 0x00003001,
- 0x51719808, 0x0000e000, 0xc7298809, 0x0000b001, 0x61b99808, 0x00006000,
- 0xd7718809, 0x0000b001, 0x71e1a008, 0x0000e000, 0xe7b98809, 0x00003001,
- 0x82c01430, 0x0000e080, 0x8229a008, 0x00006000, 0x9271a008, 0x00006000,
- 0xf7e19009, 0x00003001, 0x81c13800, 0x00006180, 0xa2b9a008, 0x0000e000,
- 0xb2e1a808, 0x0000e800, 0xc329a808, 0x00006800, 0xd361b008, 0x0000e800,
- 0xe3a9b008, 0x00006800, 0xf3f1b008, 0x00006800, 0x8639b008, 0x0000e801,
- 0x34e20008, 0x00006801, 0x452a0008, 0x0000e801, 0x55620808, 0x0000e801,
- 0x65aa0808, 0x00006801, 0x0f811c0b, 0x00007902, 0x08800000, 0x00008004,
- 0x0f810e0b, 0x00007902, 0x08000000, 0x00000004, 0x0fc0780b, 0x0000f902,
- 0x03800000, 0x00000004, 0x0fc06a0b, 0x0000f902, 0x03000000, 0x00008004,
- 0x75f20808, 0x00006801, 0x41000731, 0x0000f892, 0x01800001, 0x00008000,
- 0x49800531, 0x00007892, 0x01800001, 0x00008000, 0x28a00732, 0x00004490,
- 0x8a600433, 0x00008c92, 0x28a00736, 0x0000c490, 0xa4600530, 0x00008c93,
- 0x84000532, 0x0000788a, 0xc9800000, 0x0000188f, 0x82c00000, 0x00006180,
- 0x43e03406, 0x0000c901, 0x8180fa0b, 0x0000e282, 0x0bc00000, 0x00000980,
- 0x38422000, 0x0000e181, 0x8b65d001, 0x00004980, 0x0000310d, 0x0000f011,
- 0xffffffff, 0x00007fa7, 0x0bc20200, 0x0000f904, 0x82803430, 0x00006780,
- 0x0b00fc30, 0x00000281, 0x82916a0a, 0x0000e000, 0x0b81fc30, 0x00000281,
- 0x0001c00a, 0x0000f902, 0x0d400000, 0x00000000, 0x01800c2f, 0x0000e283,
- 0x0b2167e4, 0x00008800, 0x018728e5, 0x00006110, 0x018160e5, 0x0000c408,
- 0x0b000000, 0x00006188, 0x01000c2f, 0x00004281, 0x0000fc2e, 0x0000e583,
- 0x82c00a0b, 0x00000080, 0x0b01c02c, 0x0000e330, 0x0b01a82c, 0x00000318,
- 0x8b40222d, 0x00006080, 0x0bc0082f, 0x00008780, 0x0e00302c, 0x0000e230,
- 0x0d40302c, 0x00000218, 0x43e87c04, 0x00009301, 0x0039c00a, 0x00005000,
- 0x0039a800, 0x00008000, 0xfb08020b, 0x0000c58b, 0xfe80fa0b, 0x0000fe93,
- 0x01801000, 0x00009980, 0x82218006, 0x0000e886, 0x312b3691, 0x0000f500,
- 0x0801e606, 0x00006800, 0x12c03006, 0x00009900, 0x01800800, 0x00009980,
- 0x82218006, 0x0000e886, 0x31303691, 0x0000f500, 0x0fc1e606, 0x0000e800,
- 0x12c03006, 0x00009900, 0x01802000, 0x00009980, 0x82218006, 0x0000e886,
- 0x31353691, 0x0000f500, 0x0f41e606, 0x00006800, 0x12c03006, 0x00009900,
- 0x01801800, 0x00001980, 0x82218006, 0x0000e886, 0x313a3691, 0x0000f500,
- 0x0f01e606, 0x0000e800, 0x12c03006, 0x00009900, 0x01802800, 0x00001980,
- 0x82218006, 0x0000e886, 0x313f3691, 0x0000f500, 0x0ec1e606, 0x00006800,
- 0x12c03006, 0x00009900, 0x01803000, 0x00001980, 0x82218006, 0x0000e886,
- 0x30fe3691, 0x0000f500, 0x0f81e606, 0x00006800, 0x12c03006, 0x00009900,
- 0x000030fe, 0x00007000, 0x82c00c30, 0x00009880, 0x4381740b, 0x00007902,
- 0x0b400000, 0x00008004, 0xffffffff, 0x00007f86, 0x4381660b, 0x00007902,
- 0x01800000, 0x00008004, 0x2a600736, 0x00004188, 0x00601720, 0x00008088,
- 0x05e00522, 0x0000c589, 0x02e1bc2e, 0x00008023, 0x32800732, 0x00004288,
- 0x06600522, 0x00000c8b, 0x72c00433, 0x0000788a, 0xe9800000, 0x0000988c,
- 0x80000207, 0x0000e582, 0xf0000808, 0x0000a401, 0x82c02cec, 0x0000f90a,
- 0x01000000, 0x00000604, 0x01a12c25, 0x0000e109, 0x41a92d25, 0x00004909,
- 0x00003165, 0x0000f010, 0x04192806, 0x0000e187, 0x00002008, 0x0000b586,
- 0x01002805, 0x00006100, 0x04292808, 0x0000e087, 0x01402004, 0x0000e100,
- 0x86212808, 0x00006087, 0x1bb59800, 0x0000f900, 0x00181874, 0x00008980,
- 0x0000316f, 0x0000f400, 0x1c783724, 0x00008700, 0x1bf84705, 0x00000634,
- 0x00212809, 0x0000e086, 0x00013804, 0x00003586, 0x04292804, 0x0000e087,
- 0x82292809, 0x00003086, 0x1c412024, 0x0000e100, 0x86212804, 0x00006087,
- 0x1bb59800, 0x0000f900, 0x00181874, 0x00008980, 0x1bf84f08, 0x00000700,
- 0x1b402004, 0x00001900, 0x31702178, 0x00007100, 0x01c00020, 0x00006180,
- 0x04800000, 0x00004980, 0x0435a000, 0x00007900, 0x00181874, 0x00008980,
- 0x04733000, 0x0000f900, 0x002b0336, 0x00008980, 0x03c00000, 0x000000d4,
- 0x81c01000, 0x00009980, 0x000034b6, 0x00007400, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x03200702, 0x0000802e, 0xc8d1ba37, 0x00006100,
- 0x82c1422e, 0x0000c080, 0x8b11ba0b, 0x00001100, 0x32800732, 0x00004288,
- 0x06600522, 0x00000c8b, 0x72c00433, 0x0000788a, 0xe9800000, 0x0000988c,
- 0x41002d22, 0x00006283, 0x02000000, 0x00000980, 0x01800000, 0x00006180,
- 0x01c00020, 0x00004980, 0xc2000800, 0x00006191, 0x01400000, 0x00004980,
- 0x41005522, 0x00006283, 0x02218430, 0x00000901, 0x040f8800, 0x00007900,
- 0x00181876, 0x00000980, 0x044bb000, 0x0000f900, 0x002cbc28, 0x00008980,
- 0x42299633, 0x00008021, 0x0000336f, 0x00007400, 0x81a20340, 0x0000801a,
- 0x01800800, 0x0000e191, 0x81c08800, 0x00004980, 0x00000433, 0x00006583,
- 0x82c14242, 0x00000080, 0x4b3a0e41, 0x00008231, 0x41a21441, 0x00008238,
- 0x0ba21d42, 0x00000234, 0x000031cb, 0x0000f408, 0x483a0f41, 0x00006101,
- 0x41801643, 0x0000c181, 0x8b191a0b, 0x00009100, 0x00000440, 0x0000e583,
- 0x02c00000, 0x00008981, 0x02c00800, 0x00006191, 0x01000000, 0x00004981,
- 0x40000540, 0x00001583, 0x02801000, 0x0000e191, 0x02aa0540, 0x0000c909,
- 0x80000640, 0x00001583, 0x01000800, 0x00006191, 0x02a05c0a, 0x0000c301,
- 0xc0000740, 0x00001583, 0x02c00000, 0x00006188, 0x02c01000, 0x0000c990,
- 0xffffffff, 0x00007f86, 0x02c05c04, 0x00009300, 0x02c0100b, 0x00001880,
- 0x01205c0a, 0x0000e301, 0x48a05c0a, 0x00008301, 0x02a05c0a, 0x00001303,
- 0x80191a2e, 0x00009502, 0xffffffff, 0x00007f86, 0x000031cb, 0x00007008,
- 0x000031ba, 0x0000f028, 0x02800d20, 0x00001181, 0x0001fc0a, 0x00009583,
- 0x40000506, 0x00009583, 0xffffffff, 0x00007f86, 0x000031ba, 0x0000f018,
- 0x000031cb, 0x00007010, 0x01402c04, 0x00006283, 0x0b400000, 0x00008980,
- 0x0b000000, 0x0000e180, 0x4b400800, 0x00004991, 0x01005404, 0x0000e283,
- 0xc1991b23, 0x00000900, 0x0b790022, 0x00008235, 0x0b001506, 0x00006081,
- 0x8b400800, 0x00008991, 0x8191722e, 0x00001900, 0x01c00020, 0x00001980,
- 0x04159800, 0x00007900, 0x00181876, 0x00000980, 0x00003462, 0x00007400,
- 0x046fc000, 0x00007900, 0x001a4f0c, 0x00008980, 0x81c09000, 0x00001980,
- 0x40000530, 0x00006583, 0x82c00c30, 0x00000880, 0x43b9740b, 0x00005004,
- 0x00396800, 0x00008000, 0x43b9660b, 0x00005004, 0x00383000, 0x00008000,
- 0x000031f7, 0x00007008, 0x80000630, 0x00009583, 0xc8000800, 0x00006189,
- 0x0b000000, 0x00004990, 0x0b412024, 0x00006110, 0x01812825, 0x00004910,
- 0x000031e3, 0x00007008, 0x80000620, 0x0000e583, 0x0b218430, 0x00000901,
- 0x01c00020, 0x0000e188, 0xc8001000, 0x00004991, 0x81c04800, 0x00009988,
- 0x000031e3, 0x00007010, 0x00003462, 0x00007400, 0x040f9000, 0x00007900,
- 0x00181874, 0x00008980, 0x04679800, 0x00007900, 0x00221662, 0x00008980,
- 0x80000630, 0x00006583, 0x018066e3, 0x00008081, 0xc1800800, 0x00006190,
- 0x41a18430, 0x0000c901, 0x12c03006, 0x00001910, 0x000031ef, 0x00007008,
- 0x31ea3691, 0x0000f100, 0x01800020, 0x00009980, 0x018047e2, 0x00009081,
- 0x000031f6, 0x0000f400, 0x82218006, 0x0000e886, 0x12c03006, 0x00009900,
- 0x31f23691, 0x00007500, 0x00000006, 0x0000ed87, 0x12c03006, 0x00009900,
- 0x01800000, 0x00001980, 0x018047e2, 0x00009081, 0x82218006, 0x0000e886,
- 0x12c03006, 0x00009900, 0x31f73691, 0x0000f100, 0x40000532, 0x00001583,
- 0x00003210, 0x0000700b, 0x80000e32, 0x00006583, 0x30f1b523, 0x00002000,
- 0x08c01423, 0x0000e389, 0x08c7ec23, 0x00000291, 0x41804523, 0x00001283,
- 0x80000632, 0x00001583, 0xffffffff, 0x00007f86, 0x00003210, 0x00007008,
- 0x00003210, 0x00007010, 0x01800000, 0x00006180, 0x01c00020, 0x00004980,
- 0x042c7000, 0x00007900, 0x00181874, 0x00008980, 0x03c00000, 0x000000d4,
- 0x0191b030, 0x00008018, 0x81c06000, 0x00001980, 0x04424000, 0x0000f900,
- 0x002172dc, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x000034b6, 0x00007400, 0x82f81400, 0x00008030, 0x04803006, 0x00009900,
- 0x40000534, 0x00001583, 0x0831a634, 0x00001911, 0x44a00436, 0x0000c288,
- 0x2c600536, 0x00000c8c, 0xc3000432, 0x0000f88a, 0xb1800000, 0x00001981,
- 0x01800020, 0x00009980, 0x321a3691, 0x00007500, 0x82218006, 0x0000e886,
- 0x12c03006, 0x00009900, 0x0000140d, 0x00009583, 0x03402000, 0x00001989,
- 0x00003234, 0x0000f009, 0x00000c0d, 0x00009583, 0x03401800, 0x00009989,
- 0x00003234, 0x0000f009, 0x02802c0d, 0x00001181, 0x00000c0a, 0x00001583,
- 0x03403800, 0x000099b1, 0xc3000432, 0x0000f88a, 0xb1800000, 0x00001981,
- 0xc000030e, 0x00001582, 0x01800000, 0x0000e190, 0x03402800, 0x0000c989,
- 0x41a18430, 0x00001911, 0x00003234, 0x00007008, 0x322c3691, 0x00007300,
- 0x12c03006, 0x00009900, 0x0000240d, 0x00009583, 0x03401000, 0x00001989,
- 0x00003234, 0x0000f009, 0x00001c0d, 0x00001583, 0x03400800, 0x00001989,
- 0x00003234, 0x0000f009, 0x00003c0d, 0x00009583, 0x03403000, 0x00009989,
- 0x00000432, 0x00001583, 0x0000330c, 0x0000700b, 0x028a0000, 0x00006180,
- 0x82c01430, 0x0000c880, 0x0ff8780b, 0x0000d004, 0x00387000, 0x00000000,
- 0x03838026, 0x0000e082, 0x0417100a, 0x00002187, 0x0ff86a0b, 0x0000d004,
- 0x00386000, 0x00008000, 0x03400027, 0x0000e084, 0x03f09824, 0x00000980,
- 0x0fb91c0b, 0x00005004, 0x00391000, 0x00008000, 0x0fb90e0b, 0x00005004,
- 0x00390000, 0x00000000, 0x3247213c, 0x00007500, 0x03386f0e, 0x0000802c,
- 0x0800500a, 0x00001900, 0x00c002ec, 0x0000df80, 0x1312480b, 0x00009684,
- 0x324a24f5, 0x00007100, 0xffffffff, 0x00007f86, 0x00000406, 0x00009583,
- 0x82bf1fe3, 0x00009908, 0x8a005a0a, 0x00002088, 0x00003254, 0x00007010,
- 0xffffffff, 0x00007f97, 0x02803c0b, 0x00009281, 0x02c0140a, 0x00009181,
- 0x00000c0b, 0x00009583, 0x00003259, 0x0000701b, 0x026f7800, 0x00007900,
- 0x00181874, 0x00008980, 0x000030d0, 0x0000f400, 0x02386f0e, 0x0000001c,
- 0x01a03406, 0x00009900, 0x82801430, 0x00006080, 0x04226808, 0x00006001,
- 0x146a6808, 0x00006801, 0x97385aec, 0x00002000, 0x0f811c0a, 0x0000f902,
- 0x08800000, 0x00008004, 0x0f810e0a, 0x0000f902, 0x08000000, 0x00000004,
- 0x0fc0780a, 0x00007902, 0x03800000, 0x00000004, 0x0fc06a0a, 0x00007902,
- 0x03000000, 0x00008004, 0x24b26808, 0x00006801, 0x0040074c, 0x0000c589,
- 0x80600f4c, 0x0000818d, 0xc8400000, 0x00001980, 0x5160064d, 0x0000c490,
- 0x7260054d, 0x00000c95, 0xc300044d, 0x0000788a, 0xa1800000, 0x00001986,
- 0x0000100b, 0x00006582, 0xc8400800, 0x00000980, 0x02800e4c, 0x00006081,
- 0x02c40000, 0x000089b0, 0x02c68000, 0x00006198, 0xc8400e4c, 0x0000c081,
- 0x02a0540a, 0x00009900, 0x4f005f0a, 0x00004440, 0x1660064d, 0x00008c95,
- 0x0860054d, 0x00004590, 0x0960044d, 0x0000058f, 0x01c00020, 0x00006180,
- 0x04800000, 0x00004980, 0x042ae000, 0x00007900, 0x001b2672, 0x00000980,
- 0x047e8800, 0x00007900, 0x00215f72, 0x00008980, 0x00003178, 0x0000f400,
- 0x03c00000, 0x000000d4, 0x81c01000, 0x00009980, 0x0b000000, 0x0000e180,
- 0x01c00020, 0x00004980, 0x042be000, 0x0000f900, 0x001b2672, 0x00000980,
- 0x04488800, 0x00007900, 0x00369078, 0x00008980, 0x0b792f24, 0x00008018,
- 0x00003462, 0x00007400, 0x0b2a6030, 0x00000231, 0x81c05000, 0x00001980,
- 0x05172ae5, 0x0000e100, 0x00000006, 0x0000e586, 0xc1400f21, 0x00006283,
- 0x00026006, 0x00002000, 0x10026006, 0x00006000, 0x09c10c0a, 0x00003002,
- 0x02c01f21, 0x0000e781, 0x20026006, 0x0000a000, 0x04800000, 0x00006180,
- 0x30026006, 0x0000e000, 0x04c00000, 0x0000e180, 0x40026006, 0x00006000,
- 0x05400000, 0x0000e180, 0x50026006, 0x0000e000, 0x05800000, 0x0000e180,
- 0x60026206, 0x00006000, 0x05c00000, 0x00006180, 0xc33a6a06, 0x00006006,
- 0x86000606, 0x000081a4, 0x05000000, 0x00007910, 0x003fffc0, 0x00008980,
- 0x06008206, 0x00006090, 0x06800000, 0x0000c980, 0xc1403721, 0x0000e283,
- 0x06c00000, 0x00008980, 0x0460040b, 0x00007900, 0x00000002, 0x00000080,
- 0x04001860, 0x0000e180, 0x3840c40a, 0x00004081, 0x000032af, 0x00007208,
- 0xb840a40a, 0x00009081, 0xffffffff, 0x00007fa7, 0x1000c400, 0x00007904,
- 0x06000000, 0x00001980, 0x1080a400, 0x0000f904, 0x05000000, 0x00001980,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x04400811, 0x00006080,
+ 0x27049092, 0x00000900, 0x277ca793, 0x00008938, 0x27c4a895, 0x00009900,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009820ec, 0x0000d780, 0x00004800, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x4000054d, 0x00009583,
- 0x000032d2, 0x0000f00b, 0x02c02721, 0x00006080, 0x04800000, 0x00004980,
- 0x01902000, 0x0000f900, 0x00004500, 0x00000980, 0x0440000b, 0x00007900,
- 0x00000004, 0x00000080, 0x04c00000, 0x000081e0, 0x06400000, 0x000001e8,
- 0x06c00000, 0x00006180, 0x04001860, 0x0000c980, 0x053f2fe5, 0x00008114,
- 0x05bf2fe5, 0x0000811c, 0x02808000, 0x00001981, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x00b830ec, 0x00005700,
- 0x00084802, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x02800c0a, 0x00006183, 0x04400811, 0x00000080,
- 0x81800e06, 0x00009081, 0x000032c6, 0x00007011, 0x0000044d, 0x00009583,
- 0x0000330c, 0x0000700b, 0x05000000, 0x00006180, 0x09c1080b, 0x0000e084,
- 0x05400000, 0x000001d8, 0x05c00000, 0x000009f0, 0x27400000, 0x000009f8,
- 0xc1400f21, 0x00006283, 0x27c00000, 0x00008980, 0x0440000b, 0x00007900,
- 0x00000002, 0x00000080, 0x04800000, 0x000081cc, 0x06000000, 0x000081e4,
- 0x06800000, 0x000081ec, 0x04001860, 0x0000e180, 0x27048090, 0x00004908,
- 0x27448891, 0x0000e108, 0x050728e5, 0x00004908, 0x054728e5, 0x0000e108,
- 0x27848090, 0x0000c910, 0x27c48891, 0x00006110, 0x058728e5, 0x0000c910,
- 0x05c728e5, 0x00001910, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780, 0x008849c0, 0x000000c8,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x02800f21, 0x0000e080, 0x050728e5, 0x0000c900, 0x057f2fe5, 0x00000118,
- 0x05fcb7e5, 0x00008930, 0x277cc797, 0x00000938, 0x0460000a, 0x00006080,
- 0x27c4c899, 0x00000900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780, 0x008849c0, 0x000000c8,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x04400811, 0x00006080, 0x27049092, 0x00000900, 0x277ca793, 0x00008938,
- 0x27c4a895, 0x00009900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780, 0x008849c0, 0x000000c8,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x0b800000, 0x00006180, 0x82c01430, 0x0000c880, 0x0fb91c0b, 0x00005004,
- 0x00391000, 0x00008000, 0x0fb90e0b, 0x00005004, 0x00390000, 0x00000000,
- 0x0ff8780b, 0x0000d004, 0x00387000, 0x00000000, 0x0ff86a0b, 0x0000d004,
- 0x00386000, 0x00008000, 0x0bc00000, 0x0000e180, 0x0b211422, 0x0000c901,
- 0x0b211120, 0x00000232, 0x4b211b32, 0x00008234, 0x8ba91a32, 0x00000234,
- 0x31c00207, 0x0000f893, 0xb9800000, 0x00001a85, 0x01c04000, 0x00006180,
- 0x03013026, 0x0000c900, 0x3324213c, 0x0000f500, 0x02c13827, 0x00006100,
- 0x04171007, 0x00006187, 0x08003807, 0x00006100, 0x03c09823, 0x00004980,
- 0x00c002ec, 0x0000df80, 0x1319300b, 0x00001684, 0x332724f5, 0x00007100,
- 0xffffffff, 0x00007f86, 0x00000406, 0x00009583, 0x82ff1fe3, 0x00001908,
- 0x8a00520b, 0x00002088, 0x00003331, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x02c03c0a, 0x00009281, 0x0280140b, 0x00009181, 0x00000c0a, 0x00001583,
- 0x00003336, 0x0000f01b, 0x026f0800, 0x0000f900, 0x001b2672, 0x00000980,
- 0x000030d0, 0x0000f400, 0xc1b93006, 0x00008020, 0x01c13827, 0x00001900,
- 0x82c01430, 0x0000e080, 0x81c12000, 0x00004980, 0x0fc0700b, 0x00007902,
- 0x03400000, 0x00000004, 0x0f81140b, 0x0000f902, 0x08400000, 0x00008004,
- 0x0f81060b, 0x0000f902, 0x03c00000, 0x00008004, 0x0fc0620b, 0x00007902,
- 0x01800000, 0x00008004, 0x82618430, 0x00009901, 0xd1c0020d, 0x0000f892,
- 0x01800001, 0x00008000, 0x6a40050e, 0x00004490, 0xcc60020d, 0x00000c96,
- 0x0420030e, 0x0000c591, 0x82e0050e, 0x00008288, 0x334939d5, 0x0000f300,
- 0xc3206830, 0x00008020, 0x0f81140b, 0x0000f902, 0x08400000, 0x00008004,
- 0x0f81060b, 0x0000f902, 0x03c00000, 0x00008004, 0x0fc0700b, 0x00007902,
- 0x03400000, 0x00000004, 0x00003343, 0x0000f200, 0x0fc0620b, 0x00007902,
- 0x01800000, 0x00008004, 0x01800000, 0x00006180, 0x86287009, 0x0000e001,
- 0x33573c8d, 0x00007500, 0x00218006, 0x0000e886, 0x02c03006, 0x00001900,
- 0x82c01430, 0x00009880, 0x0fc0700b, 0x00007902, 0x03400000, 0x00000004,
- 0x0f81140b, 0x0000f902, 0x08400000, 0x00008004, 0x0f81060b, 0x0000f902,
- 0x03c00000, 0x00008004, 0x0fc0620b, 0x00007902, 0x01800000, 0x00008004,
- 0x8000020d, 0x00001582, 0xc000030e, 0x00001582, 0x4000050e, 0x00001583,
- 0x00003366, 0x00007010, 0x00003366, 0x00007010, 0x00003374, 0x00007008,
- 0x01c00020, 0x00006180, 0x8220740e, 0x0000c900, 0x040bc000, 0x0000f900,
- 0x001b2674, 0x00000980, 0x04585800, 0x00007900, 0x00026410, 0x00000980,
- 0x01a87030, 0x00000020, 0x8188710d, 0x00008018, 0x41c00007, 0x000080d4,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x000034b6, 0x00007400,
- 0x82f81400, 0x00008030, 0x03f84706, 0x00008108, 0x82801430, 0x00006080,
- 0x8628700f, 0x00006087, 0x0fb9140a, 0x00005004, 0x00390800, 0x00008000,
+ 0x009020ec, 0x00005780, 0x008849c0, 0x000000c8, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0b800000, 0x00006180,
+ 0x82801430, 0x00004880, 0x0fb9140a, 0x00005004, 0x00390800, 0x00008000,
0x0fb9060a, 0x00005004, 0x00387800, 0x00008000, 0x0ff8700a, 0x0000d004,
- 0x00386800, 0x00000000, 0x0ff8620a, 0x0000d004, 0x00383000, 0x00008000,
- 0x31c00207, 0x0000f893, 0xb9800000, 0x00001a85, 0x02a00830, 0x000000d2,
- 0x3386213c, 0x00007500, 0x03013026, 0x0000e100, 0x0417100a, 0x0000e187,
- 0x0800500a, 0x00006100, 0x03c09823, 0x00004980, 0x00c002ec, 0x0000df80,
- 0x131c400b, 0x00009684, 0x338924f5, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000406, 0x00009583, 0x82bf1fe3, 0x00009908, 0x8a005a0a, 0x00002088,
- 0x00003393, 0x00007010, 0xffffffff, 0x00007f97, 0x02803c0b, 0x00009281,
- 0x02c0140a, 0x00009181, 0x00000c0b, 0x00009583, 0x00003398, 0x0000701b,
- 0x024dd800, 0x00007900, 0x001b2674, 0x00000980, 0x000030d0, 0x0000f400,
- 0xc1b93006, 0x00008020, 0x01c13827, 0x00001900, 0x82016230, 0x0000809d,
- 0xc2598b31, 0x0000e100, 0x82019008, 0x00006000, 0x0184b000, 0x00006180,
- 0x92019008, 0x0000e000, 0xa2019008, 0x00006800, 0xb2019008, 0x0000e800,
- 0x000033a3, 0x00007400, 0xc2019008, 0x00006800, 0xd2019008, 0x0000e800,
- 0x01a00896, 0x000000d2, 0x33a42f95, 0x00007100, 0x31c00207, 0x0000f893,
- 0xb9800000, 0x00001a85, 0x0281c000, 0x0000e180, 0x03013026, 0x0000c900,
- 0x33ac213c, 0x0000f500, 0x03c09823, 0x00006180, 0x0417100a, 0x0000e187,
- 0x0800500a, 0x00001900, 0x00c002ec, 0x0000df80, 0x131d700b, 0x00001684,
- 0x33af24f5, 0x00007100, 0xffffffff, 0x00007f86, 0x00000406, 0x00009583,
- 0x82ff1fe3, 0x00001908, 0x8a00520b, 0x00002088, 0x000033b9, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x02c03c0a, 0x00009281, 0x0280140b, 0x00009181,
- 0x00000c0a, 0x00001583, 0x000033be, 0x0000f01b, 0x0251f800, 0x00007900,
- 0x001b2674, 0x00000980, 0x000030d0, 0x0000f400, 0xc1b93006, 0x00008020,
- 0x01c13827, 0x00001900, 0x82c01532, 0x0000e080, 0x02299532, 0x0000c901,
- 0x0f80860b, 0x0000f902, 0x03c00000, 0x00008004, 0x41400800, 0x0000e181,
- 0x82399008, 0x0000e000, 0x0f80940b, 0x0000f902, 0x04400000, 0x00008004,
- 0x0fc0700b, 0x00007902, 0x03400000, 0x00000004, 0xc0000f0f, 0x0000e583,
- 0x92619808, 0x0000a000, 0x0fc0620b, 0x00007902, 0x01800000, 0x00008004,
- 0x81c14000, 0x00006180, 0xc2518230, 0x0000c900, 0x000033d7, 0x00007008,
- 0x0b000000, 0x0000e180, 0x01c00020, 0x00004980, 0x04143000, 0x00007900,
- 0x001b2674, 0x00000980, 0x0b792f24, 0x00008018, 0x00003460, 0x0000f400,
- 0x4b287832, 0x00008231, 0x81c07000, 0x00009980, 0x80000632, 0x00001583,
- 0xc000030e, 0x00001582, 0xffffffff, 0x00007f86, 0x000033dc, 0x0000f010,
- 0x000033dd, 0x00007010, 0x04000c30, 0x000000bf, 0xc3800b0e, 0x00006080,
- 0x82801532, 0x00008880, 0x80000633, 0x00006583, 0x0b000000, 0x00000980,
- 0x0fb8940a, 0x00005004, 0x00388800, 0x00008000, 0x0fb8860a, 0x00005004,
- 0x00387800, 0x00008000, 0x0ff8700a, 0x0000d004, 0x00386800, 0x00000000,
- 0x0ff8620a, 0x0000d004, 0x00383000, 0x00008000, 0x0b800000, 0x000082fc,
- 0x0b689412, 0x00008234, 0x02c08c30, 0x00008230, 0x0b20890f, 0x00008232,
- 0x33f12f12, 0x0000f500, 0x0284b000, 0x00006189, 0x0284b800, 0x0000c991,
- 0x01812024, 0x00009900, 0x0000342c, 0x00007200, 0x01a0540a, 0x00009900,
- 0x0340c000, 0x0000e180, 0x03013026, 0x0000c900, 0x33f9213c, 0x0000f500,
- 0x03c09823, 0x00006180, 0x0417100d, 0x00006187, 0x0800680d, 0x00001900,
- 0x00c002ec, 0x0000df80, 0x131fd80b, 0x00001684, 0x33fc24f5, 0x00007100,
- 0xffffffff, 0x00007f86, 0x00000406, 0x00009583, 0x82ff1fe3, 0x00001908,
- 0x8a00520b, 0x00002088, 0x00003406, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x02c03c0a, 0x00009281, 0x0280140b, 0x00009181, 0x00000c0a, 0x00001583,
- 0x0000340b, 0x0000f01b, 0x02710800, 0x0000f900, 0x001b2674, 0x00000980,
- 0x000030d0, 0x0000f400, 0xc1b93006, 0x00008020, 0x01c13827, 0x00001900,
- 0x82c01431, 0x00006080, 0x24a99009, 0x0000e001, 0x0fb8560b, 0x0000a004,
- 0x41400800, 0x0000e181, 0x04318009, 0x00006001, 0x81c15000, 0x0000e180,
- 0x14798009, 0x0000e001, 0x0f806c0b, 0x00007902, 0x03000000, 0x00008004,
- 0xc000070a, 0x00006583, 0x82118230, 0x00000900, 0xc2618c31, 0x00006101,
- 0x0b000000, 0x00004988, 0x0b412024, 0x00006108, 0x01812825, 0x00004908,
- 0x00003422, 0x0000f010, 0x01c00020, 0x00006180, 0x0b218c31, 0x0000c901,
- 0x00003460, 0x0000f400, 0x0433f800, 0x0000f900, 0x001b2674, 0x00000980,
- 0x81c07000, 0x0000e180, 0x4b38570a, 0x00004901, 0x0b000000, 0x000082f8,
- 0x0b00010a, 0x000002bc, 0x02800000, 0x00006180, 0x8b506a0d, 0x00004900,
- 0xcb586b0d, 0x0000e100, 0x0011800a, 0x0000e186, 0x342b2f12, 0x0000f500,
- 0x01806724, 0x00000230, 0x02e0670a, 0x00008232, 0x0184b000, 0x00001980,
- 0x342d2f95, 0x00007100, 0x001820ec, 0x00005780, 0x00004800, 0x00008080,
- 0x31c00207, 0x0000f893, 0xb9800000, 0x00001a85, 0x03600808, 0x000080d6,
- 0x3437213c, 0x0000f500, 0x03013026, 0x0000e100, 0x0417100d, 0x00006187,
- 0x0800680d, 0x00006100, 0x03c09823, 0x00004980, 0x00c002ec, 0x0000df80,
- 0x1341c80b, 0x00001684, 0x343a24f5, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000406, 0x00009583, 0x82ff1fe3, 0x00001908, 0x8a00520b, 0x00002088,
- 0x00003444, 0x0000f010, 0xffffffff, 0x00007f97, 0x02c03c0a, 0x00009281,
- 0x0280140b, 0x00009181, 0x00000c0a, 0x00001583, 0x00003449, 0x0000f01b,
- 0x02520800, 0x00007900, 0x001b2676, 0x00008980, 0x000030d0, 0x0000f400,
- 0xc1b93006, 0x00008020, 0x01c13827, 0x00001900, 0x82c01431, 0x00006080,
- 0xc2618c31, 0x00004901, 0x0f80e60b, 0x0000f902, 0x03c00000, 0x00008004,
- 0x81c14800, 0x0000e180, 0x04318009, 0x00006001, 0x0f80f40b, 0x0000f902,
- 0x07400000, 0x00008004, 0x0fc0700b, 0x00007902, 0x03400000, 0x00000004,
- 0xc0000f0f, 0x0000e583, 0x14798009, 0x00002001, 0x0fc0620b, 0x00007902,
- 0x01800000, 0x00008004, 0x0b000000, 0x00006190, 0x0b412024, 0x00004910,
- 0x00003468, 0x00007008, 0x01c00020, 0x00006180, 0x01812825, 0x0000c900,
- 0x0414e800, 0x00007900, 0x001b2676, 0x00008980, 0x0b287831, 0x00000231,
- 0x81c07000, 0x00009980, 0x045dd000, 0x00007900, 0x002e1f28, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x82f81400, 0x00008030,
- 0x000034b6, 0x00007400, 0x04b8372d, 0x0000003c, 0x0141602c, 0x00009900,
- 0x8011821c, 0x0000e502, 0xc3800b0e, 0x00008180, 0x82801431, 0x0000e080,
- 0x0000000f, 0x0000648f, 0x0fb8f40a, 0x00005004, 0x0038e800, 0x00008000,
- 0x0fb8e60a, 0x00005004, 0x00387800, 0x00008000, 0x0ff8700a, 0x0000d004,
- 0x00386800, 0x00000000, 0x000033a3, 0x00007400, 0x0ff8620a, 0x0000d004,
- 0x00383000, 0x00008000, 0x0184b000, 0x00001980, 0x34773a3b, 0x00007004,
- 0x8a202404, 0x00009901, 0x31c00207, 0x0000f893, 0xb9800000, 0x00001a85,
- 0x02800010, 0x000000e6, 0x3480213c, 0x0000f500, 0x03013026, 0x0000e100,
- 0x0417100a, 0x0000e187, 0x0800500a, 0x00006100, 0x03c09823, 0x00004980,
- 0x00c002ec, 0x0000df80, 0x1344100b, 0x00001684, 0x348324f5, 0x00007100,
- 0xffffffff, 0x00007f86, 0x00000406, 0x00009583, 0x82ff1fe3, 0x00001908,
- 0x8a00520b, 0x00002088, 0x0000348d, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x02c03c0a, 0x00009281, 0x0280140b, 0x00009181, 0x00000c0a, 0x00001583,
- 0x00003492, 0x0000f01b, 0x02552000, 0x0000f900, 0x001b2678, 0x00000980,
- 0x000030d0, 0x0000f400, 0xc1b93006, 0x00008020, 0x01c13827, 0x00001900,
- 0x02838404, 0x00006281, 0x0f00240b, 0x0000a004, 0x0002840a, 0x00006583,
- 0x0f002708, 0x0000a004, 0x81c13000, 0x0000e180, 0xc2599332, 0x0000c900,
- 0x02099833, 0x00008020, 0x000034a7, 0x0000f208, 0x82319e33, 0x00001901,
- 0xc0000733, 0x00009583, 0x01a05c0b, 0x00006110, 0x0000a809, 0x00006488,
- 0x01c00020, 0x0000e190, 0x03c00000, 0x0000c990, 0x000034a7, 0x00007008,
- 0x04170800, 0x0000f900, 0x001b2678, 0x00000980, 0x0000320b, 0x00007400,
- 0x047e3800, 0x0000f900, 0x0014cb18, 0x00000980, 0x41c00002, 0x000080d4,
- 0x8a204c09, 0x00009901, 0x31c00207, 0x0000f893, 0xb9800000, 0x00001a85,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x042b6800, 0x0000f900,
- 0x00181870, 0x00000980, 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x04812f24, 0x0000003c, 0x03e92925, 0x0000803c, 0x81c02800, 0x00001980,
- 0x34b720b1, 0x00007100, 0x82c044ec, 0x0000f902, 0x01800000, 0x00008604,
- 0x1c412024, 0x0000e100, 0x00212807, 0x00006086, 0x82292807, 0x00006886,
- 0x04192807, 0x0000e987, 0x1c384707, 0x00008018, 0x02803006, 0x0000e100,
- 0x00002006, 0x00006586, 0x1bc0500a, 0x0000e100, 0x04292806, 0x00006087,
- 0x86212806, 0x00006887, 0x000034d1, 0x0000f400, 0x1bab8800, 0x00007900,
- 0x00181870, 0x00000980, 0x1b403006, 0x00001900, 0x00103806, 0x00006186,
- 0x00212809, 0x0000b086, 0x04292806, 0x00006087, 0x82292809, 0x00003086,
- 0x02c04008, 0x00006100, 0x86212806, 0x0000e087, 0x1bab8800, 0x00007900,
- 0x00181870, 0x00000980, 0x1c784f24, 0x00008700, 0x1bf8370b, 0x00000634,
- 0x34d22178, 0x0000f100, 0x01040405, 0x0000e283, 0x01800000, 0x00008980,
+ 0x00386800, 0x00000000, 0x0ff8620a, 0x0000d004, 0x00385800, 0x00000000,
+ 0x0bc00000, 0x0000e180, 0x0b210c21, 0x0000c901, 0x0b21090f, 0x00008232,
+ 0x4b211332, 0x00000234, 0x8ba91232, 0x00008234, 0xfa800208, 0x0000f893,
+ 0xd1800000, 0x00009b8e, 0x02404000, 0x0000e180, 0x03013026, 0x0000c900,
+ 0x3647229d, 0x00007500, 0x02c13827, 0x00006100, 0x04171009, 0x0000e187,
+ 0x08004809, 0x00006100, 0x03c09823, 0x00004980, 0x00c002ec, 0x0000df80,
+ 0x1352480b, 0x00001684, 0x364a2656, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000407, 0x00001583, 0x82bf1fe3, 0x00009908, 0x8a004a0a, 0x0000a088,
+ 0x00003654, 0x0000f010, 0xffffffff, 0x00007f97, 0x02803c09, 0x00001281,
+ 0x0240140a, 0x00001181, 0x00000c09, 0x00001583, 0x00003659, 0x0000f01b,
+ 0xc2b93007, 0x00000020, 0x000033f3, 0x00007400, 0x026ef800, 0x00007900,
+ 0x001b2672, 0x00000980, 0x01b93f0a, 0x0000801c, 0x82801430, 0x00006080,
+ 0x82012000, 0x00004980, 0x0fc0700a, 0x0000f902, 0x03400000, 0x00000004,
+ 0x0f81140a, 0x00007902, 0x08400000, 0x00008004, 0x0f81060a, 0x00007902,
+ 0x03c00000, 0x00008004, 0x0fc0620a, 0x0000f902, 0x02c00000, 0x00000004,
+ 0x81e18430, 0x00001901, 0x9a80020d, 0x0000f893, 0x01800001, 0x00008000,
+ 0xcea0050e, 0x00004490, 0x1260020d, 0x00008d95, 0x0420030e, 0x0000c591,
+ 0x82e0050e, 0x00008288, 0x366c3cf6, 0x0000f300, 0xc8a06830, 0x00000018,
+ 0x0f81140a, 0x00007902, 0x08400000, 0x00008004, 0x0f81060a, 0x00007902,
+ 0x03c00000, 0x00008004, 0x0fc0700a, 0x0000f902, 0x03400000, 0x00000004,
+ 0x00003666, 0x00007200, 0x0fc0620a, 0x0000f902, 0x02c00000, 0x00000004,
+ 0x02800000, 0x00006180, 0x86287007, 0x00006001, 0x367a3fb5, 0x0000f500,
+ 0x0021800a, 0x0000e886, 0x0300500a, 0x00009900, 0x82801430, 0x00001880,
+ 0x0fc0700a, 0x0000f902, 0x03400000, 0x00000004, 0x0f81140a, 0x00007902,
+ 0x08400000, 0x00008004, 0x0f81060a, 0x00007902, 0x03c00000, 0x00008004,
+ 0x0fc0620a, 0x0000f902, 0x02c00000, 0x00000004, 0x8000020d, 0x00001582,
+ 0xc000030e, 0x00001582, 0x4000050e, 0x00001583, 0x00003689, 0x0000f010,
+ 0x00003689, 0x0000f010, 0x00003697, 0x0000f008, 0x01400020, 0x0000e180,
+ 0x81e0740e, 0x0000c900, 0x040bb000, 0x00007900, 0x001b2674, 0x00000980,
+ 0x04585800, 0x00007900, 0x00026410, 0x00000980, 0x01a87030, 0x0000001c,
+ 0x8188710d, 0x00008018, 0x03403800, 0x000080d5, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x000037d9, 0x00007400, 0x82f81400, 0x0000803c,
+ 0x01f83f06, 0x00000108, 0x82401430, 0x00006080, 0x8628700f, 0x00006087,
+ 0x0fb91409, 0x00005004, 0x00390800, 0x00008000, 0x0fb90609, 0x00005004,
+ 0x00387800, 0x00008000, 0x0ff87009, 0x0000d004, 0x00386800, 0x00000000,
+ 0x0ff86209, 0x0000d004, 0x00385800, 0x00000000, 0xfa800208, 0x0000f893,
+ 0xd1800000, 0x00009b8e, 0x02a00830, 0x000000d2, 0x36a9229d, 0x00007500,
+ 0x03013026, 0x0000e100, 0x0417100a, 0x0000e187, 0x0800500a, 0x00006100,
+ 0x03c09823, 0x00004980, 0x00c002ec, 0x0000df80, 0x1355580b, 0x00001684,
+ 0x36ac2656, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000407, 0x00001583,
+ 0x827f1fe3, 0x00009908, 0x8a005209, 0x0000a088, 0x000036b6, 0x0000f010,
+ 0xffffffff, 0x00007f97, 0x02403c0a, 0x00001281, 0x02801409, 0x00001181,
+ 0x00000c0a, 0x00001583, 0x000036bb, 0x0000f01b, 0xc2b93007, 0x00000020,
+ 0x000033f3, 0x00007400, 0x024dc800, 0x0000f900, 0x001b2674, 0x00000980,
+ 0x01b93f0a, 0x0000801c, 0x81816230, 0x000000a1, 0xc1d98b31, 0x00006100,
+ 0x82019006, 0x0000e000, 0x0244b000, 0x00006180, 0x92019006, 0x00006000,
+ 0xa2019006, 0x0000e800, 0xb2019006, 0x00006800, 0x000036c6, 0x00007400,
+ 0xc2019006, 0x0000e800, 0xd2019006, 0x00006800, 0x02600896, 0x000000d2,
+ 0x36c732b8, 0x00007100, 0xfa800208, 0x0000f893, 0xd1800000, 0x00009b8e,
+ 0x0281c000, 0x0000e180, 0x03013026, 0x0000c900, 0x36cf229d, 0x00007500,
+ 0x03c09823, 0x00006180, 0x0417100a, 0x0000e187, 0x0800500a, 0x00001900,
+ 0x00c002ec, 0x0000df80, 0x1356880b, 0x00009684, 0x36d22656, 0x0000f100,
+ 0xffffffff, 0x00007f86, 0x00000407, 0x00001583, 0x82bf1fe3, 0x00009908,
+ 0x8a004a0a, 0x0000a088, 0x000036dc, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0x02803c09, 0x00001281, 0x0240140a, 0x00001181, 0x00000c09, 0x00001583,
+ 0x000036e1, 0x0000f01b, 0xc2b93007, 0x00000020, 0x000033f3, 0x00007400,
+ 0x0251e800, 0x0000f900, 0x001b2674, 0x00000980, 0x01b93f0a, 0x0000801c,
+ 0x82801532, 0x00006080, 0x01a99532, 0x00004901, 0x0f807e0a, 0x0000f902,
+ 0x03800000, 0x00000004, 0x41400800, 0x0000e181, 0x82399006, 0x00006000,
+ 0x0f808c0a, 0x00007902, 0x04000000, 0x00000004, 0x0fc0680a, 0x0000f902,
+ 0x03000000, 0x00008004, 0xc0000f0e, 0x00006583, 0x92619806, 0x00002000,
+ 0x0fc05a0a, 0x00007902, 0x02800000, 0x00008004, 0x82014000, 0x00006180,
+ 0xc1d18230, 0x00004900, 0x000036fa, 0x00007008, 0x02800000, 0x00006180,
+ 0x01400020, 0x0000c980, 0x04142000, 0x0000f900, 0x001b2674, 0x00000980,
+ 0x0b392f24, 0x00000024, 0x00003783, 0x00007400, 0x42a87032, 0x00000029,
+ 0x81407000, 0x00001980, 0x80000632, 0x00001583, 0xc000030d, 0x00001582,
+ 0xffffffff, 0x00007f86, 0x000036ff, 0x00007010, 0x00003700, 0x0000f010,
+ 0x03c00c30, 0x000000bb, 0xc3400b0d, 0x00006080, 0x82401532, 0x00008880,
+ 0x80000633, 0x00006583, 0x0b000000, 0x00000980, 0x0fb88c09, 0x00005004,
+ 0x00388000, 0x00000000, 0x0fb87e09, 0x0000d004, 0x00387000, 0x00000000,
+ 0x0ff86809, 0x0000d004, 0x00386000, 0x00008000, 0x0ff85a09, 0x00005004,
+ 0x00385000, 0x00008000, 0x0b800000, 0x000082fc, 0x0b688c11, 0x00008234,
+ 0x0b087010, 0x00008230, 0x8b218410, 0x0000002c, 0x37143237, 0x00007500,
+ 0x0244b000, 0x00006189, 0x0244b800, 0x0000c991, 0x02812024, 0x00009900,
+ 0x0000374f, 0x00007200, 0x02604c09, 0x00009900, 0x0340c000, 0x0000e180,
+ 0x03013026, 0x0000c900, 0x371c229d, 0x00007500, 0x03c09823, 0x00006180,
+ 0x0417100d, 0x00006187, 0x0800680d, 0x00001900, 0x00c002ec, 0x0000df80,
+ 0x1358f00b, 0x00001684, 0x371f2656, 0x0000f100, 0xffffffff, 0x00007f86,
+ 0x00000407, 0x00001583, 0x82bf1fe3, 0x00009908, 0x8a004a0a, 0x0000a088,
+ 0x00003729, 0x00007010, 0xffffffff, 0x00007f97, 0x02803c09, 0x00001281,
+ 0x0240140a, 0x00001181, 0x00000c09, 0x00001583, 0x0000372e, 0x0000701b,
+ 0xc2b93007, 0x00000020, 0x000033f3, 0x00007400, 0x0270f800, 0x00007900,
+ 0x001b2674, 0x00000980, 0x01b93f0a, 0x0000801c, 0x82801431, 0x0000e080,
+ 0x24a99007, 0x00006001, 0x0fb85e0a, 0x0000a004, 0x41400800, 0x0000e181,
+ 0x04318007, 0x0000e001, 0x82015000, 0x0000e180, 0x14798007, 0x00006001,
+ 0x0f806c0a, 0x0000f902, 0x03000000, 0x00008004, 0xc000070b, 0x0000e583,
+ 0x81918230, 0x00008900, 0xc1e18c31, 0x0000e101, 0x02800000, 0x0000c988,
+ 0x0b012024, 0x0000e108, 0x02412825, 0x00004908, 0x00003745, 0x00007010,
+ 0x01400020, 0x0000e180, 0x02a18c31, 0x00004901, 0x00003783, 0x00007400,
+ 0x0433e800, 0x00007900, 0x001b2674, 0x00000980, 0x81407000, 0x00006180,
+ 0x42b85f0b, 0x0000c901, 0x02800000, 0x000082f0, 0x0b800000, 0x00006180,
+ 0x0011800a, 0x0000e186, 0x0bc00000, 0x0000e180, 0x8b506a0d, 0x00004900,
+ 0x0b40650d, 0x00000230, 0x374e3237, 0x00007500, 0x0b20610b, 0x00000232,
+ 0x02b85724, 0x0000802c, 0x0244b000, 0x00001980, 0x375032b8, 0x00007100,
+ 0x001820ec, 0x00005780, 0x00004800, 0x00008080, 0xfa800208, 0x0000f893,
+ 0xd1800000, 0x00009b8e, 0x03600808, 0x000080d6, 0x375a229d, 0x0000f500,
+ 0x03013026, 0x0000e100, 0x0417100d, 0x00006187, 0x0800680d, 0x00006100,
+ 0x03c09823, 0x00004980, 0x00c002ec, 0x0000df80, 0x135ae00b, 0x00001684,
+ 0x375d2656, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000407, 0x00001583,
+ 0x82bf1fe3, 0x00009908, 0x8a004a0a, 0x0000a088, 0x00003767, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x02803c09, 0x00001281, 0x0240140a, 0x00001181,
+ 0x00000c09, 0x00001583, 0x0000376c, 0x0000701b, 0xc2b93007, 0x00000020,
+ 0x000033f3, 0x00007400, 0x0251f800, 0x00007900, 0x001b2676, 0x00008980,
+ 0x01b93f0a, 0x0000801c, 0x82801431, 0x0000e080, 0xc1e18c31, 0x0000c901,
+ 0x0f807e0a, 0x0000f902, 0x03800000, 0x00000004, 0x82014800, 0x0000e180,
+ 0x04318007, 0x0000e001, 0x0f80ec0a, 0x00007902, 0x07000000, 0x00000004,
+ 0x0fc0680a, 0x0000f902, 0x03000000, 0x00008004, 0xc0000f0e, 0x00006583,
+ 0x14798007, 0x0000a001, 0x0fc05a0a, 0x00007902, 0x02800000, 0x00008004,
+ 0x02800000, 0x0000e190, 0x0b012024, 0x0000c910, 0x0000378b, 0x0000f008,
+ 0x01400020, 0x0000e180, 0x02412825, 0x0000c900, 0x04142000, 0x0000f900,
+ 0x001b2676, 0x00008980, 0x02a87031, 0x00008029, 0x81407000, 0x00001980,
+ 0x045dd000, 0x00007900, 0x002e1f28, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x82f81400, 0x0000803c, 0x000037d9, 0x00007400,
+ 0x04b84f2c, 0x0000001c, 0x0340500a, 0x00001900, 0x8011820f, 0x00006502,
+ 0xc3400b0d, 0x00008180, 0x82401431, 0x0000e080, 0x0000000e, 0x0000e48f,
+ 0x0fb8ec09, 0x00005004, 0x0038e000, 0x00000000, 0x0fb87e09, 0x0000d004,
+ 0x00387000, 0x00000000, 0x0ff86809, 0x0000d004, 0x00386000, 0x00008000,
+ 0x000036c6, 0x00007400, 0x0ff85a09, 0x00005004, 0x00385000, 0x00008000,
+ 0x0244b000, 0x00001980, 0x379a3d5d, 0x0000f004, 0x8a202404, 0x00009901,
+ 0xfa800208, 0x0000f893, 0xd1800000, 0x00009b8e, 0x02400010, 0x000080f6,
+ 0x37a3229d, 0x0000f500, 0x0300500a, 0x0000e100, 0x04171009, 0x0000e187,
+ 0x08004809, 0x00006100, 0x03c09823, 0x00004980, 0x00c002ec, 0x0000df80,
+ 0x135d280b, 0x00001684, 0x37a62656, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000407, 0x00001583, 0x82bf1fe3, 0x00009908, 0x8a004a0a, 0x0000a088,
+ 0x000037b0, 0x00007010, 0xffffffff, 0x00007f97, 0x02803c09, 0x00001281,
+ 0x0240140a, 0x00001181, 0x00000c09, 0x00001583, 0x000037b5, 0x0000f01b,
+ 0xc2b93007, 0x00000020, 0x000033f3, 0x00007400, 0x02551000, 0x0000f900,
+ 0x001b2678, 0x00000980, 0x01b93f0a, 0x0000801c, 0x02438404, 0x00006281,
+ 0x0f00240a, 0x00002004, 0x00028409, 0x00006583, 0x0f002706, 0x00002004,
+ 0x82013000, 0x0000e180, 0xc1d99332, 0x00004900, 0x01899833, 0x00008018,
+ 0x000037ca, 0x00007208, 0x81b19e33, 0x00009901, 0xc0000733, 0x00009583,
+ 0x01a0540a, 0x00006110, 0x0000a80d, 0x0000e488, 0x01400020, 0x00006190,
+ 0x01c00000, 0x00004990, 0x000037ca, 0x0000f008, 0x0416f800, 0x00007900,
+ 0x001b2678, 0x00000980, 0x0000352e, 0x00007400, 0x047e3800, 0x0000f900,
+ 0x0014cb18, 0x00000980, 0x41400002, 0x000080f4, 0x8a206c0d, 0x00009901,
+ 0xfa800208, 0x0000f893, 0xd1800000, 0x00009b8e, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x042b6800, 0x0000f900, 0x00181870, 0x00000980,
+ 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x04812f24, 0x0000801c,
+ 0x01e92925, 0x0000801c, 0x81402800, 0x00009980, 0x37da2213, 0x0000f100,
+ 0x82c044ec, 0x0000f902, 0x01800000, 0x00008604, 0x1c012024, 0x00006100,
+ 0x00212807, 0x00006086, 0x82292807, 0x00006886, 0x04192807, 0x0000e987,
+ 0x1bf84707, 0x00000018, 0x02803006, 0x0000e100, 0x00002006, 0x00006586,
+ 0x1b80500a, 0x00006100, 0x04292806, 0x00006087, 0x86212806, 0x00006887,
+ 0x000037f5, 0x0000f400, 0x1b6b8800, 0x00007900, 0x00181870, 0x00000980,
+ 0x1b003006, 0x00009900, 0x02c03006, 0x00006100, 0x00212807, 0x00006086,
+ 0x00104006, 0x00006186, 0x82292807, 0x0000b086, 0x1c012024, 0x00006100,
+ 0x04292806, 0x00006087, 0x1b80580b, 0x00006100, 0x86212806, 0x0000e087,
+ 0x1b6b8800, 0x00007900, 0x00181870, 0x00000980, 0x1b383f06, 0x0000863c,
+ 0x37f622d9, 0x00007100, 0x01040405, 0x0000e283, 0x01800000, 0x00008980,
0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04182006, 0x00006987,
- 0x34da3cd7, 0x00007310, 0x700708ec, 0x0000d680, 0x00383002, 0x00000000,
+ 0x37fe3fff, 0x00007310, 0x700708ec, 0x0000d680, 0x00383002, 0x00000000,
0x08009000, 0x00007900, 0x00010000, 0x00000980, 0x40000505, 0x00006583,
0x08c00000, 0x00000980, 0x08400000, 0x0000f900, 0x00010000, 0x00000980,
0x88009800, 0x0000e189, 0x88009000, 0x00004991, 0x00400505, 0x00004590,
0x00400504, 0x00000093, 0xd0000821, 0x0000ec04, 0x90000821, 0x00006c01,
- 0x000034e9, 0x00007200, 0x08812024, 0x00009900, 0x08801002, 0x00009900,
+ 0x0000380d, 0x00007200, 0x08812024, 0x00009900, 0x08801002, 0x00009900,
0x00001823, 0x0000e906, 0xc0001823, 0x00006806, 0x008046ec, 0x00005f80,
0x00004801, 0x00008084, 0x8000163d, 0x00006583, 0x0d400000, 0x00008980,
0x0d801800, 0x0000f900, 0x00090000, 0x00008980, 0x0d000000, 0x0000e180,
- 0x0411e836, 0x0000e101, 0x000034ff, 0x0000f010, 0xc804073f, 0x0000e283,
- 0x0f41873f, 0x00008281, 0x8231e836, 0x0000e816, 0x000034fb, 0x0000f011,
- 0xc801873f, 0x00009283, 0x80000836, 0x0000ec0e, 0x00003507, 0x00007009,
- 0x00003507, 0x0000f400, 0x0001843d, 0x00001583, 0x0d0728e5, 0x0000e108,
+ 0x0411e836, 0x0000e101, 0x00003823, 0x00007010, 0xc844073f, 0x00006283,
+ 0x0f41873f, 0x00008281, 0x8231e836, 0x0000e816, 0x0000381f, 0x0000f011,
+ 0xc841873f, 0x00001283, 0x80000836, 0x0000ec0e, 0x0000382b, 0x00007009,
+ 0x0000382b, 0x0000f400, 0x0001843d, 0x00001583, 0x0d0728e5, 0x0000e108,
0x0d41f03e, 0x00004908, 0x8000263d, 0x00009583, 0x00000836, 0x0000ec0c,
- 0x80004036, 0x0000ec0e, 0x00003506, 0x00007008, 0x80002e3d, 0x00001583,
- 0x80004036, 0x0000ec0e, 0x00003507, 0x00007011, 0xc0000036, 0x00006c03,
+ 0x80004036, 0x0000ec0e, 0x0000382a, 0x00007008, 0x80002e3d, 0x00001583,
+ 0x80004036, 0x0000ec0e, 0x0000382b, 0x00007011, 0xc0000036, 0x00006c03,
0x300006ec, 0x00005784, 0x0039b000, 0x00008000, 0x3039aeec, 0x00005704,
- 0x0039a000, 0x00000000, 0x00000001, 0x00007480, 0x303a0eec, 0x00005704,
- 0x0039f800, 0x00008000, 0x0001a0ec, 0x00007902, 0x08c00000, 0x00008704,
- 0x08800000, 0x00001980, 0xc804073f, 0x0000e283, 0x0411e822, 0x00002101,
+ 0x0039a000, 0x00000000, 0x00000001, 0x00007480, 0x30399eec, 0x00005704,
+ 0x0039f800, 0x00008000, 0x0001a0ec, 0x00007902, 0x0cc00000, 0x00000704,
+ 0x08800000, 0x00001980, 0xc844073f, 0x00006283, 0x0411e822, 0x00002101,
0x00c004ec, 0x0000d784, 0x00391000, 0x00008000, 0x0001b8ec, 0x00007902,
0x0d800000, 0x00000704, 0x0001a8ec, 0x0000f902, 0x0d000000, 0x00008704,
- 0x000198ec, 0x0000f902, 0x0c800000, 0x00008704, 0x000118ec, 0x00007902,
+ 0x000198ec, 0x0000f902, 0x0c800000, 0x00008704, 0x000188ec, 0x00007902,
0x08800000, 0x00000704, 0x8000063d, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00003532, 0x0000f008, 0x00003525, 0x0000f010, 0x0d79ff41, 0x00008310,
- 0x0881873f, 0x00009281, 0x53c18422, 0x0000f893, 0x51800000, 0x00001a8a,
+ 0x00003856, 0x0000f008, 0x00003849, 0x00007010, 0x0d79ff41, 0x00008310,
+ 0x0881873f, 0x00009281, 0x1cc18422, 0x0000f892, 0x71c00000, 0x00001c83,
0x80001a3d, 0x0000e582, 0x0d800000, 0x00008980, 0x0411e836, 0x00006901,
0x00c006ec, 0x00005784, 0x0039b000, 0x00008000, 0x00c006ec, 0x00005784,
0x00000000, 0x00008080, 0x00000001, 0x00007498, 0x00c006ec, 0x00005784,
0x00000000, 0x00008080, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
- 0x00003560, 0x0000f000, 0xc801873f, 0x00006283, 0x0881873f, 0x00000281,
- 0x00003542, 0x00007013, 0x8000063d, 0x00001583, 0x0d420841, 0x00006108,
+ 0x00003884, 0x00007000, 0xc841873f, 0x0000e283, 0x0881873f, 0x00000281,
+ 0x00003866, 0x0000f013, 0x8000063d, 0x00001583, 0x0d420841, 0x00006108,
0x8d11fa3f, 0x00004908, 0x0d400000, 0x0000e190, 0x8d000000, 0x0000c990,
0xe0000034, 0x00006c11, 0xffffffff, 0x00007f86, 0xe001f834, 0x0000e809,
- 0xffffffff, 0x00007f86, 0xae400035, 0x00004490, 0xe4600234, 0x00000d92,
- 0x5c818734, 0x00007897, 0xa1800000, 0x00001a8a, 0x8000063d, 0x00001583,
- 0x00000034, 0x00006d93, 0x0000354f, 0x00007011, 0x00018422, 0x00009583,
- 0xc001f834, 0x0000e813, 0x0001f834, 0x0000e917, 0x0000354f, 0x0000f010,
- 0x01800034, 0x0000ed83, 0x0dff2f3e, 0x0000830c, 0xae400035, 0x00004490,
- 0xe4600234, 0x00000d92, 0x5c818734, 0x00007897, 0xa1800000, 0x00001a8a,
- 0x0dc00000, 0x000083cc, 0xae400035, 0x00004490, 0xe4600234, 0x00000d92,
- 0x5c818734, 0x00007897, 0x01800001, 0x00000080, 0x0d800000, 0x00001980,
+ 0xffffffff, 0x00007f86, 0x12c00035, 0x0000c491, 0x2c600234, 0x00008e91,
+ 0x25818734, 0x00007896, 0xc1c00000, 0x00009c83, 0x8000063d, 0x00001583,
+ 0x00000034, 0x00006d93, 0x00003873, 0x0000f011, 0x00018422, 0x00009583,
+ 0xc001f834, 0x0000e813, 0x0001f834, 0x0000e917, 0x00003873, 0x00007010,
+ 0x01800034, 0x0000ed83, 0x0dff2f3e, 0x0000830c, 0x12c00035, 0x0000c491,
+ 0x2c600234, 0x00008e91, 0x25818734, 0x00007896, 0xc1c00000, 0x00009c83,
+ 0x0dc00000, 0x000083cc, 0x12c00035, 0x0000c491, 0x2c600234, 0x00008e91,
+ 0x25818734, 0x00007896, 0x01c00001, 0x00008080, 0x0d800000, 0x00001980,
0x80001a3d, 0x0000e582, 0x0411e836, 0x00002101, 0x00c006ec, 0x00005784,
0x0039b000, 0x00008000, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
0x00000001, 0x00007498, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
@@ -8505,1091 +8798,1094 @@ ARRAY_DECL u32 init_val[] = {
0x003f2800, 0x00000000, 0x8880123d, 0x00009880, 0x60f9ba22, 0x00005004,
0x0039b000, 0x00008000, 0x60f9ac22, 0x0000d004, 0x0039a000, 0x00000000,
0x00000001, 0x00007480, 0x60f99e22, 0x00005004, 0x00399000, 0x00000000,
- 0x613f2822, 0x00005004, 0x003f2800, 0x00000000, 0x8880223e, 0x00006780,
- 0x0000003f, 0x00002586, 0x0f807c3e, 0x00006281, 0x88c7fa22, 0x00008280,
- 0x0000443e, 0x00006583, 0x88d40223, 0x00008080, 0x88dffa23, 0x00009280,
- 0x20911a3f, 0x00006902, 0x0000003f, 0x0000d784, 0x00000000, 0x00008080,
- 0x0001e83f, 0x0000f902, 0x0f000000, 0x00000704, 0x0001d83f, 0x0000f902,
- 0x0e800000, 0x00000704, 0x0ef9f73e, 0x00001909, 0x000035c0, 0x0000f408,
- 0x0001b83f, 0x0000f902, 0x0d800000, 0x00000704, 0x0001a83f, 0x00007902,
- 0x0d000000, 0x00008704, 0x0000443e, 0x00009583, 0x000035b4, 0x0000f01b,
- 0x0000243e, 0x00009583, 0x0f39f73e, 0x00009909, 0x000035c0, 0x0000f009,
- 0x0000243e, 0x00009583, 0x000035ac, 0x0000f01b, 0x0000143e, 0x00009583,
- 0x8f79f73e, 0x00009909, 0x000035c0, 0x0000f009, 0x0000143e, 0x00009583,
- 0xcf79f73e, 0x00009919, 0x000035c0, 0x00007019, 0x00000c3e, 0x00009583,
- 0x4f79f73e, 0x00009909, 0x000035c0, 0x0000f009, 0x000035e5, 0x00007000,
- 0x0000343e, 0x00001583, 0x8f39f73e, 0x00001909, 0x000035c0, 0x0000f009,
- 0x0000343e, 0x00001583, 0xcf39f73e, 0x00006119, 0x4f39f73e, 0x0000c931,
- 0x000035c0, 0x00007031, 0x000035c0, 0x0000f000, 0x0000643e, 0x00001583,
- 0x0eb9f73e, 0x00009909, 0x000035c0, 0x0000f009, 0x0000643e, 0x00001583,
- 0x000035dc, 0x0000701b, 0x0000543e, 0x00001583, 0x8ef9f73e, 0x00009909,
- 0x000035c0, 0x0000f009, 0x0000543e, 0x00001583, 0xcef9f73e, 0x0000e119,
- 0x4ef9f73e, 0x00004931, 0x000035c0, 0x00007031, 0x8000063e, 0x0000e583,
- 0x0000083f, 0x0000a586, 0x0fa1f7e4, 0x00006000, 0x20911a3f, 0x0000e102,
- 0x0039e83f, 0x00005704, 0x0039e000, 0x00008000, 0x0039d83f, 0x00005704,
- 0x0039d000, 0x00008000, 0x8dd1f237, 0x0000e310, 0x8f91f2e5, 0x00000408,
- 0xffffffff, 0x00007f86, 0x00000422, 0x00006583, 0x8dd1ba3e, 0x00000208,
- 0xffffffff, 0x00007f86, 0x0039b83f, 0x00005704, 0x0039b000, 0x00008000,
- 0x00000001, 0x0000f290, 0x0039a83f, 0x0000d704, 0x0039a000, 0x00000000,
- 0x63f9eaec, 0x0000d004, 0x0039e000, 0x00008000, 0x63f9dcec, 0x0000d004,
- 0x0039d000, 0x00008000, 0x00000001, 0x00007480, 0x63f9beec, 0x00005004,
- 0x0039b000, 0x00008000, 0x6439a8ec, 0x00005004, 0x0039a000, 0x00000000,
- 0x0000743e, 0x00009583, 0x8eb9f73e, 0x00001909, 0x000035c0, 0x0000f009,
- 0x0000743e, 0x00009583, 0x4eb9f73e, 0x00009929, 0x000035c0, 0x00007029,
- 0x00007c3e, 0x00001583, 0xceb9f73e, 0x00009909, 0x000035c0, 0x0000f009,
- 0x000035c0, 0x00007200, 0x0f79f73e, 0x00009901, 0x08c01222, 0x00001880,
- 0x88c00a23, 0x00009080, 0x0f911c23, 0x00002006, 0xffffffff, 0x00007fa7,
- 0x00000423, 0x00001583, 0x01800000, 0x0000e188, 0x01c00020, 0x0000c988,
- 0x81911222, 0x0000e108, 0x01400000, 0x0000c988, 0x00000001, 0x00007090,
+ 0x613f2822, 0x00005004, 0x003f2800, 0x00000000, 0x8880223d, 0x00006780,
+ 0x0f807c3d, 0x00000281, 0x8f47fa22, 0x0000e280, 0x0000003f, 0x00002586,
+ 0x0000443e, 0x00006583, 0x8f54023d, 0x00008080, 0x8f5ffa3d, 0x00009280,
+ 0x2091ea3f, 0x00006902, 0x0000003f, 0x0000d784, 0x00000000, 0x00008080,
+ 0x0001e03f, 0x00007902, 0x0ec00000, 0x00008704, 0x0001d03f, 0x00007902,
+ 0x0dc00000, 0x00008704, 0x0eb9ef3d, 0x00009909, 0x000038e4, 0x00007408,
+ 0x0001b03f, 0x00007902, 0x0d400000, 0x00000704, 0x0001a03f, 0x0000f902,
+ 0x0cc00000, 0x00000704, 0x0000443e, 0x00009583, 0x000038d8, 0x0000701b,
+ 0x0000243e, 0x00009583, 0x0ef9ef3d, 0x00001909, 0x000038e4, 0x00007009,
+ 0x0000243e, 0x00009583, 0x000038d0, 0x0000f01b, 0x0000143e, 0x00009583,
+ 0x8f39ef3d, 0x00001909, 0x000038e4, 0x00007009, 0x0000143e, 0x00009583,
+ 0xcf39ef3d, 0x00001919, 0x000038e4, 0x0000f019, 0x00000c3e, 0x00009583,
+ 0x4f39ef3d, 0x00001909, 0x000038e4, 0x00007009, 0x00003909, 0x0000f000,
+ 0x0000343e, 0x00001583, 0x8ef9ef3d, 0x00009909, 0x000038e4, 0x00007009,
+ 0x0000343e, 0x00001583, 0xcef9ef3d, 0x0000e119, 0x4ef9ef3d, 0x00004931,
+ 0x000038e4, 0x0000f031, 0x000038e4, 0x00007000, 0x0000643e, 0x00001583,
+ 0x0df9ef3d, 0x00001909, 0x000038e4, 0x00007009, 0x0000643e, 0x00001583,
+ 0x00003900, 0x0000f01b, 0x0000543e, 0x00001583, 0x8eb9ef3d, 0x00001909,
+ 0x000038e4, 0x00007009, 0x0000543e, 0x00001583, 0xceb9ef3d, 0x00006119,
+ 0x4eb9ef3d, 0x0000c931, 0x000038e4, 0x0000f031, 0x8000063d, 0x0000e583,
+ 0x0000083f, 0x0000a586, 0x0fa1f7e4, 0x00006000, 0x2091ea3f, 0x0000e102,
+ 0x0039e03f, 0x0000d704, 0x0039d800, 0x00000000, 0x0039d03f, 0x0000d704,
+ 0x0039b800, 0x00000000, 0x8d91f236, 0x0000e310, 0x8f91f2e5, 0x00000408,
+ 0xffffffff, 0x00007f86, 0x00000422, 0x00006583, 0x8d91b23e, 0x00000208,
+ 0xffffffff, 0x00007f86, 0x0039b03f, 0x0000d704, 0x0039a800, 0x00008000,
+ 0x00000001, 0x0000f290, 0x0039a03f, 0x00005704, 0x00399800, 0x00008000,
+ 0x63f9e2ec, 0x00005004, 0x0039d800, 0x00000000, 0x63f9d4ec, 0x00005004,
+ 0x0039b800, 0x00000000, 0x00000001, 0x00007480, 0x63f9b6ec, 0x0000d004,
+ 0x0039a800, 0x00008000, 0x6439a0ec, 0x0000d004, 0x00399800, 0x00008000,
+ 0x0000743e, 0x00009583, 0x8df9ef3d, 0x00009909, 0x000038e4, 0x00007009,
+ 0x0000743e, 0x00009583, 0x4df9ef3d, 0x00001929, 0x000038e4, 0x0000f029,
+ 0x00007c3e, 0x00001583, 0xcdf9ef3d, 0x00001909, 0x000038e4, 0x00007009,
+ 0x000038e4, 0x0000f200, 0x0f39ef3d, 0x00001901, 0x0c401222, 0x00001880,
+ 0x8c400a31, 0x00009080, 0x0f918c31, 0x00002006, 0xffffffff, 0x00007fa7,
+ 0x00000431, 0x00001583, 0x01800000, 0x0000e188, 0x01400020, 0x00004988,
+ 0x81911222, 0x0000e108, 0x03400000, 0x00004988, 0x00000001, 0x00007090,
0x04017000, 0x00007900, 0x0013ed32, 0x00008980, 0x047ca000, 0x0000f900,
- 0x0019343e, 0x00000980, 0x81c11000, 0x00006180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x35fb20b1, 0x0000f500, 0x03381702, 0x00000108,
- 0x03c03006, 0x00009900, 0xc0000321, 0x00006582, 0x08801221, 0x00000880,
- 0x88800a22, 0x00009080, 0x0fa10e22, 0x00002004, 0xffffffff, 0x00007fa7,
- 0x88400a21, 0x00009080, 0x0fa10e22, 0x0000a804, 0x0f810e22, 0x0000a016,
- 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x88400a21, 0x00001090,
- 0x0f890e22, 0x0000a816, 0xffffffff, 0x00007f86, 0xc0000322, 0x00006582,
- 0x08c01222, 0x00008880, 0x88c00a23, 0x00009080, 0x0fa11623, 0x0000a004,
- 0xffffffff, 0x00007fa7, 0x88800a22, 0x00001180, 0x0fa11623, 0x00002804,
- 0x0f811623, 0x00002016, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483,
- 0x88800a22, 0x00009190, 0x0f891623, 0x00002816, 0x02c00000, 0x0000e180,
+ 0x0019343e, 0x00000980, 0x81411000, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x391f2213, 0x0000f500, 0x03f81702, 0x00000108,
+ 0x01c03006, 0x00001900, 0xc0000320, 0x0000e582, 0x08801220, 0x00008880,
+ 0x88800a22, 0x00009080, 0x0fa10622, 0x0000a004, 0xffffffff, 0x00007fa7,
+ 0x88000a20, 0x00009080, 0x0fa10622, 0x00002804, 0x0f810622, 0x00002016,
+ 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x88000a20, 0x00001090,
+ 0x0f890622, 0x00002816, 0xffffffff, 0x00007f86, 0xc0000322, 0x00006582,
+ 0x0c401222, 0x00008880, 0x8c400a31, 0x00009080, 0x0fa11631, 0x0000a004,
+ 0xffffffff, 0x00007fa7, 0x88800a22, 0x00001180, 0x0fa11631, 0x00002804,
+ 0x0f811631, 0x00002016, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483,
+ 0x88800a22, 0x00009190, 0x0f891631, 0x00002816, 0x02c00000, 0x0000e180,
0x914ffa42, 0x0000c280, 0x0fc00000, 0x00006180, 0x0412280b, 0x00006101,
0x00c004ec, 0x0000d784, 0x00385800, 0x00000000, 0x0f800000, 0x000003f4,
- 0x8f400042, 0x00008484, 0x000110ec, 0x0000f902, 0x02c00000, 0x00008704,
- 0x000058ec, 0x00007902, 0x08400000, 0x00000704, 0x000100ec, 0x00007902,
- 0x02c00000, 0x00008704, 0x000100ec, 0x00007902, 0x02c00000, 0x00008704,
- 0xffffffff, 0x00007f86, 0xc001083f, 0x0000e803, 0xffffffff, 0x00007f86,
- 0x09010c20, 0x00006802, 0x00001c20, 0x00001583, 0x02c11022, 0x0000e108,
- 0x0c010a0b, 0x00006116, 0xffffffff, 0x00007f86, 0x00001c20, 0x0000e583,
- 0x02d05a0b, 0x00000910, 0x36323510, 0x0000f500, 0xffffffff, 0x00007f86,
- 0x0f80580b, 0x0000e108, 0x0410583f, 0x00006117, 0x8d9ffa42, 0x00006280,
- 0x00000037, 0x0000a586, 0xc0001b42, 0x00006582, 0x2091b237, 0x00002102,
- 0x00000037, 0x00005784, 0x00000000, 0x00008080, 0x0001a837, 0x0000f902,
- 0x0d000000, 0x00008704, 0x00019837, 0x0000f902, 0x0c800000, 0x00008704,
- 0x00011837, 0x00007902, 0x08800000, 0x00000704, 0x00010837, 0x0000f902,
- 0x08000000, 0x00008704, 0x02c02342, 0x0000e0b0, 0x00000837, 0x00002586,
- 0x82c0120b, 0x000060b0, 0x209a1237, 0x00006102, 0x0039a837, 0x00005704,
- 0x0039a000, 0x00000000, 0x00399837, 0x00005704, 0x00399000, 0x00000000,
- 0x00003655, 0x00007418, 0x00391837, 0x0000d704, 0x00391000, 0x00008000,
- 0x00390837, 0x00005704, 0x00390000, 0x00000000, 0x60f9aa0b, 0x00005004,
- 0x0039a000, 0x00000000, 0x60f99c0b, 0x00005004, 0x00399000, 0x00000000,
- 0x60f91e0b, 0x00005004, 0x00391000, 0x00008000, 0x6139080b, 0x00005004,
- 0x00390000, 0x00000000, 0x80001a42, 0x00006582, 0x0cc00000, 0x00008980,
- 0x82c01242, 0x0000e0b0, 0x04122833, 0x0000e101, 0x00c006ec, 0x00005784,
- 0x00399800, 0x00008000, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
- 0x00003672, 0x00007418, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
+ 0x8f400042, 0x00008484, 0x000108ec, 0x0000f902, 0x02c00000, 0x00008704,
+ 0x000058ec, 0x00007902, 0x08000000, 0x00008704, 0x000078ec, 0x0000f902,
+ 0x02c00000, 0x00008704, 0x000078ec, 0x0000f902, 0x02c00000, 0x00008704,
+ 0xffffffff, 0x00007f86, 0xc001003f, 0x00006803, 0xffffffff, 0x00007f86,
+ 0x0901040f, 0x00006802, 0x00001c0f, 0x00009583, 0x02c10821, 0x0000e108,
+ 0x0c01020b, 0x0000e116, 0xffffffff, 0x00007f86, 0x00001c0f, 0x00006583,
+ 0x02d05a0b, 0x00000910, 0x39563834, 0x0000f500, 0xffffffff, 0x00007f86,
+ 0x0f80580b, 0x0000e108, 0x0410583f, 0x00006117, 0x8d5ffa42, 0x00006280,
+ 0x00000036, 0x00002586, 0xc0001b42, 0x00006582, 0x2091aa36, 0x0000a102,
+ 0x00000036, 0x0000d784, 0x00000000, 0x00008080, 0x00019836, 0x00007902,
+ 0x0d000000, 0x00008704, 0x00018836, 0x0000f902, 0x0c800000, 0x00008704,
+ 0x00010836, 0x00007902, 0x08800000, 0x00000704, 0x00007836, 0x00007902,
+ 0x08000000, 0x00008704, 0x02c02342, 0x0000e0b0, 0x00000836, 0x0000a586,
+ 0x82c0120b, 0x000060b0, 0x209a1236, 0x0000e102, 0x00399836, 0x0000d704,
+ 0x0039a000, 0x00000000, 0x00398836, 0x00005704, 0x00399000, 0x00000000,
+ 0x00003979, 0x0000f418, 0x00390836, 0x0000d704, 0x00391000, 0x00008000,
+ 0x00387836, 0x0000d704, 0x00390000, 0x00000000, 0x60f99a0b, 0x00005004,
+ 0x0039a000, 0x00000000, 0x60f98c0b, 0x0000d004, 0x00399000, 0x00000000,
+ 0x60f90e0b, 0x0000d004, 0x00391000, 0x00008000, 0x6138780b, 0x00005004,
+ 0x00390000, 0x00000000, 0x80001a42, 0x00006582, 0x0c800000, 0x00000980,
+ 0x82c01242, 0x0000e0b0, 0x04122832, 0x00006101, 0x00c006ec, 0x00005784,
+ 0x00399000, 0x00000000, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
+ 0x00003996, 0x00007418, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
0x00c006ec, 0x00005784, 0x00000000, 0x00008080, 0x60c0020b, 0x00005084,
0x00400000, 0x00008000, 0x60c0040b, 0x00005084, 0x00400000, 0x00008000,
0x60c0060b, 0x0000d084, 0x00400000, 0x00008000, 0x6100000b, 0x00005084,
0x00400000, 0x00008000, 0x60c0020b, 0x0000d004, 0x00400000, 0x00000080,
0x60c0040b, 0x0000d004, 0x00400000, 0x00000080, 0x60c0060b, 0x00005004,
0x00400000, 0x00000080, 0x6100000b, 0x0000d004, 0x00400000, 0x00000080,
- 0x80001a42, 0x00006582, 0x00000837, 0x00002586, 0x02c02242, 0x000060b0,
- 0x2091b237, 0x00002102, 0x00000037, 0x00005784, 0x00000000, 0x00008080,
- 0x00000037, 0x00005784, 0x00000000, 0x00008080, 0x00000001, 0x00007498,
- 0x00000037, 0x00005784, 0x00000000, 0x00008080, 0x00000037, 0x00005784,
+ 0x80001a42, 0x00006582, 0x00000836, 0x0000a586, 0x02c02242, 0x000060b0,
+ 0x2091aa36, 0x0000a102, 0x00000036, 0x0000d784, 0x00000000, 0x00008080,
+ 0x00000036, 0x0000d784, 0x00000000, 0x00008080, 0x00000001, 0x00007498,
+ 0x00000036, 0x0000d784, 0x00000000, 0x00008080, 0x00000036, 0x0000d784,
0x00000000, 0x00008080, 0x82c0120b, 0x00001880, 0x60c0020b, 0x00005084,
0x00400000, 0x00008000, 0x60c0040b, 0x00005084, 0x00400000, 0x00008000,
0x60c0060b, 0x0000d084, 0x00400000, 0x00008000, 0x6100000b, 0x00005084,
0x00400000, 0x00008000, 0x60c0020b, 0x0000d004, 0x00400000, 0x00000080,
0x60c0040b, 0x0000d004, 0x00400000, 0x00000080, 0x00000001, 0x00007480,
0x60c0060b, 0x00005004, 0x00400000, 0x00000080, 0x6100000b, 0x0000d004,
- 0x00400000, 0x00000080, 0x8000064b, 0x00006583, 0x0d400000, 0x00000981,
- 0x0ea03808, 0x0000e180, 0x0d400800, 0x0000c991, 0x0ec00000, 0x00007900,
- 0x00020012, 0x00000980, 0x042a583a, 0x0000e101, 0x30e2583b, 0x0000b080,
- 0x00007c4b, 0x00006583, 0xb6e1a83a, 0x00002001, 0x2039dcec, 0x0000d704,
- 0x0039d000, 0x00008000, 0x00400cec, 0x0000d784, 0x00000101, 0x00008080,
- 0x8d55044b, 0x00006080, 0x0000083a, 0x0000a586, 0x2091aa3a, 0x0000e902,
- 0x000254ec, 0x0000f902, 0x12400000, 0x00008704, 0x000244ec, 0x00007902,
- 0x11c00000, 0x00000704, 0x0001fcec, 0x00007902, 0x0f800000, 0x00008704,
- 0x0001ecec, 0x0000f902, 0x0ec00000, 0x00008704, 0x003a503a, 0x00005704,
- 0x003a4800, 0x00000000, 0x003a403a, 0x0000d704, 0x003a3800, 0x00008000,
- 0x00000001, 0x00007498, 0x0039f83a, 0x0000d704, 0x0039f000, 0x00000000,
- 0x0039e83a, 0x00005704, 0x0039d800, 0x00000000, 0x0d406c4b, 0x00001080,
- 0x8d401235, 0x00001880, 0x60fa5235, 0x00005004, 0x003a4800, 0x00000000,
- 0x60fa4435, 0x0000d004, 0x003a3800, 0x00008000, 0x00000001, 0x00007480,
- 0x60f9fe35, 0x00005004, 0x0039f000, 0x00000000, 0x6139e835, 0x00005004,
- 0x0039d800, 0x00000000, 0x4000053a, 0x00006583, 0x0d000000, 0x00008981,
- 0x88800000, 0x0000e180, 0x0d000800, 0x00004991, 0xc000033a, 0x00006582,
- 0x0d400000, 0x00008980, 0x88800800, 0x00009990, 0xffffffff, 0x00007f86,
- 0x08a11434, 0x00009203, 0x8d411009, 0x00001990, 0x000036ca, 0x0000f009,
- 0x000036d4, 0x0000f000, 0x0d403835, 0x00009380, 0x80004035, 0x00006c06,
- 0x00000035, 0x00006d01, 0xb0000835, 0x0000ec01, 0x04111835, 0x00006901,
- 0x0039acec, 0x0000d704, 0x00000000, 0x00008080, 0x0d400000, 0x0000f900,
- 0x00050012, 0x00008980, 0xe7a1d035, 0x00006801, 0x0039acec, 0x0000d704,
- 0x00000000, 0x00008080, 0x0d410000, 0x00007900, 0x00010016, 0x00008980,
- 0x04391835, 0x00006901, 0x0039acec, 0x0000d704, 0x00000000, 0x00008080,
- 0x000110ec, 0x0000f902, 0x0d400000, 0x00000704, 0xffffffff, 0x00007fa7,
- 0x88801e22, 0x00001283, 0x08011222, 0x0000e910, 0x000036e7, 0x0000f009,
- 0x80391a22, 0x00001502, 0x000036e7, 0x00007013, 0x00000434, 0x00001583,
- 0x08800000, 0x00001991, 0x00000001, 0x0000f091, 0x000036ea, 0x00007000,
- 0x4000053a, 0x00009583, 0x08801000, 0x00009989, 0x00000001, 0x0000f089,
- 0x000104ec, 0x00005784, 0x00000016, 0x00008280, 0x0da03808, 0x00009980,
- 0x04391836, 0x00006901, 0xb6e1a036, 0x0000e801, 0x000110ec, 0x0000f902,
- 0x0d400000, 0x00000704, 0x0039b4ec, 0x0000d704, 0x00000000, 0x00008080,
- 0x000104ec, 0x00005784, 0x00000016, 0x00008280, 0xffffffff, 0x00007f86,
- 0x0c011435, 0x00006800, 0x000110ec, 0x0000f902, 0x0d000000, 0x00008704,
+ 0x00400000, 0x00000080, 0x8000064c, 0x0000e583, 0x0e800000, 0x00000981,
+ 0x0ee03808, 0x00006180, 0x0e800800, 0x0000c991, 0x0d400000, 0x0000f900,
+ 0x00020012, 0x00000980, 0x042a603b, 0x0000e101, 0x30e26035, 0x0000b080,
+ 0x00007c4c, 0x0000e583, 0xb6e1d03b, 0x0000a001, 0x2039acec, 0x00005704,
+ 0x0039d800, 0x00000000, 0x00400cec, 0x0000d784, 0x00000101, 0x00008080,
+ 0x8e95044c, 0x0000e080, 0x00000835, 0x0000a586, 0x2091d235, 0x0000e902,
+ 0x00025cec, 0x00007902, 0x12800000, 0x00008704, 0x00024cec, 0x0000f902,
+ 0x12000000, 0x00000704, 0x00023cec, 0x00007902, 0x0f800000, 0x00008704,
+ 0x0001ecec, 0x0000f902, 0x0ec00000, 0x00008704, 0x003a5835, 0x0000d704,
+ 0x003a5000, 0x00000000, 0x003a4835, 0x00005704, 0x003a4000, 0x00008000,
+ 0x00000001, 0x00007498, 0x003a3835, 0x0000d704, 0x0039f000, 0x00000000,
+ 0x0039e835, 0x00005704, 0x0039d800, 0x00000000, 0x0e806c4c, 0x00009080,
+ 0x8e80123a, 0x00001880, 0x60fa5a3a, 0x0000d004, 0x003a5000, 0x00000000,
+ 0x60fa4c3a, 0x00005004, 0x003a4000, 0x00008000, 0x00000001, 0x00007480,
+ 0x60fa3e3a, 0x00005004, 0x0039f000, 0x00000000, 0x6139e83a, 0x00005004,
+ 0x0039d800, 0x00000000, 0x40000537, 0x0000e583, 0x0d800000, 0x00000981,
+ 0x8cc00000, 0x0000e180, 0x0d800800, 0x0000c991, 0xc0000337, 0x00001582,
+ 0x8cc00800, 0x00009990, 0xffffffff, 0x00007f86, 0x0ce19c36, 0x00001203,
+ 0x0cc00000, 0x00001980, 0x8cc11009, 0x00001990, 0x000039ee, 0x00007008,
+ 0x000039f8, 0x00007000, 0x0cc03833, 0x00009380, 0x80004033, 0x00006c06,
+ 0x00000033, 0x00006d01, 0xb0000833, 0x0000ec01, 0x04111033, 0x0000e901,
+ 0x00399cec, 0x0000d704, 0x00000000, 0x00008080, 0x0cc00000, 0x0000f900,
+ 0x00050012, 0x00008980, 0xe7a1b833, 0x0000e801, 0x00399cec, 0x0000d704,
+ 0x00000000, 0x00008080, 0x0cc10000, 0x00007900, 0x00010016, 0x00008980,
+ 0x04391033, 0x0000e901, 0x00399cec, 0x0000d704, 0x00000000, 0x00008080,
+ 0x0001a0ec, 0x00007902, 0x0cc00000, 0x00000704, 0xffffffff, 0x00007fa7,
+ 0x8c401e34, 0x00001283, 0x0801a233, 0x00006910, 0x00003a0b, 0x00007009,
+ 0x80391233, 0x00009502, 0x00003a0b, 0x0000f013, 0x00000436, 0x00009583,
+ 0x08800000, 0x00001991, 0x00000001, 0x0000f091, 0x00003a0e, 0x00007000,
+ 0x40000537, 0x00001583, 0x08801000, 0x00009989, 0x00000001, 0x0000f089,
+ 0x000104ec, 0x00005784, 0x00000016, 0x00008280, 0x0001a0ec, 0x00007902,
+ 0x0cc00000, 0x00000704, 0x0ce03808, 0x00009980, 0xffffffff, 0x00007f97,
+ 0x0c01a434, 0x0000e000, 0x04391033, 0x00003101, 0xb6e1b033, 0x00006801,
+ 0x00399cec, 0x0000d704, 0x00000000, 0x00008080, 0x000104ec, 0x00005784,
+ 0x00000016, 0x00008280, 0x0001f8ec, 0x0000f902, 0x0cc00000, 0x00000704,
0x00400cec, 0x0000d784, 0x00000101, 0x00008080, 0x00026cec, 0x00007902,
0x13000000, 0x00008704, 0x00025cec, 0x00007902, 0x12800000, 0x00008704,
0x00024cec, 0x0000f902, 0x12000000, 0x00000704, 0x00023cec, 0x00007902,
- 0x10400000, 0x00000704, 0xe1200c3a, 0x0000c38a, 0x00601622, 0x00008088,
- 0x02200435, 0x0000c793, 0x84800e22, 0x0000088f, 0xe380053a, 0x00007893,
- 0x59800000, 0x00009b8b, 0x0d002223, 0x0000e080, 0x00000835, 0x0000a586,
- 0x20911a35, 0x00006902, 0x003a6835, 0x0000d704, 0x003a6000, 0x00000000,
- 0x003a5835, 0x0000d704, 0x003a5000, 0x00000000, 0x003a4835, 0x00005704,
- 0x003a4000, 0x00008000, 0x003a3835, 0x0000d704, 0x003a0800, 0x00008000,
- 0xd7001a23, 0x0000f8b3, 0x29800000, 0x00001b8b, 0x0d09d000, 0x0000f900,
+ 0x10400000, 0x00000704, 0x45a00c37, 0x0000c38b, 0x0060163f, 0x00008088,
+ 0x02200434, 0x00004793, 0x84800e3f, 0x0000088f, 0xac800537, 0x0000f892,
+ 0x79c00000, 0x00009d84, 0x0d802222, 0x0000e080, 0x0000083e, 0x00002586,
+ 0x2091123e, 0x00006902, 0x003a683e, 0x00005704, 0x003a6000, 0x00000000,
+ 0x003a583e, 0x00005704, 0x003a5000, 0x00000000, 0x003a483e, 0x0000d704,
+ 0x003a4000, 0x00008000, 0x003a383e, 0x00005704, 0x003a0800, 0x00008000,
+ 0xa0001a22, 0x0000f8b2, 0x49c00000, 0x00009d84, 0x0d09d000, 0x0000f900,
0x00020016, 0x00008980, 0x2009e4ec, 0x0000d784, 0x0039a03e, 0x00008600,
- 0x0001a8ec, 0x0000f902, 0x0d000000, 0x00008704, 0xffffffff, 0x00007fa7,
- 0x88c01e35, 0x00006283, 0x0801aa34, 0x0000a100, 0x00000434, 0x00001583,
- 0xffffffff, 0x00007f86, 0x00003747, 0x0000f008, 0x00003747, 0x00007048,
- 0x0da83800, 0x00007900, 0x00020014, 0x00000980, 0x8887fa34, 0x0000e280,
- 0x8d54e801, 0x00008980, 0x0007fc34, 0x0000e583, 0x04111036, 0x0000a101,
- 0x0039b4ec, 0x0000d704, 0x00000000, 0x00008080, 0x00480cec, 0x00005784,
- 0x00000101, 0x00008080, 0x88e1a434, 0x00001901, 0x0001fcec, 0x00007902,
- 0x0f800000, 0x00008704, 0x0001ecec, 0x0000f902, 0x0f000000, 0x00000704,
- 0x0001dcec, 0x0000f902, 0x0e800000, 0x00000704, 0x0001bcec, 0x0000f902,
- 0x0d800000, 0x00000704, 0x0039f835, 0x0000d704, 0x0039f000, 0x00000000,
- 0x0039e835, 0x00005704, 0x0039e000, 0x00008000, 0x0039d835, 0x00005704,
- 0x0039d000, 0x00008000, 0x0039b835, 0x00005704, 0x0039b000, 0x00008000,
- 0x65f9faec, 0x00005004, 0x0039f000, 0x00000000, 0x65f9ecec, 0x0000d004,
- 0x0039e000, 0x00008000, 0x00003749, 0x0000f410, 0x65f9deec, 0x00005004,
- 0x0039d000, 0x00008000, 0x6639b8ec, 0x00005004, 0x0039b000, 0x00008000,
- 0x00000001, 0x00007280, 0x08800800, 0x00001981, 0x0d400000, 0x00001980,
- 0x00111835, 0x0000e986, 0x374e3587, 0x00007500, 0x8621a035, 0x00006887,
- 0x0f81a835, 0x00001900, 0x8d100623, 0x0000e080, 0x00000835, 0x0000a586,
- 0x80001e23, 0x0000e583, 0x2091a235, 0x00002102, 0x003a6835, 0x0000d704,
- 0x003a6000, 0x00000000, 0x003a5835, 0x0000d704, 0x003a5000, 0x00000000,
- 0x00003765, 0x0000f418, 0x003a4835, 0x00005704, 0x003a4000, 0x00008000,
- 0x003a3835, 0x0000d704, 0x003a0800, 0x00008000, 0x0d004623, 0x00009080,
- 0x8d001234, 0x00001880, 0x60fa6a34, 0x00005004, 0x003a6000, 0x00000000,
- 0x60fa5c34, 0x00005004, 0x003a5000, 0x00000000, 0x60fa4e34, 0x00005004,
- 0x003a4000, 0x00008000, 0x613a3834, 0x00005004, 0x003a0800, 0x00008000,
- 0x88801e22, 0x00001283, 0x0d002000, 0x00006191, 0x0d001800, 0x0000c989,
- 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x08a1a434, 0x00001901,
- 0x8d100623, 0x0000e080, 0x00000835, 0x0000a586, 0x80001e23, 0x0000e583,
- 0x2091a235, 0x00002102, 0x00000035, 0x0000d784, 0x00000000, 0x00008080,
- 0x00000035, 0x0000d784, 0x00000000, 0x00008080, 0x0000378a, 0x00007418,
- 0x00000035, 0x0000d784, 0x00000000, 0x00008080, 0x00000035, 0x0000d784,
- 0x00000000, 0x00008080, 0x0d004623, 0x00009080, 0x8d001234, 0x00001880,
- 0x60c00234, 0x00005084, 0x00400000, 0x00008000, 0x60c00434, 0x00005084,
- 0x00400000, 0x00008000, 0x60c00634, 0x0000d084, 0x00400000, 0x00008000,
- 0x61000034, 0x00005084, 0x00400000, 0x00008000, 0x60c00234, 0x0000d004,
- 0x00400000, 0x00000080, 0x60c00434, 0x0000d004, 0x00400000, 0x00000080,
- 0x60c00634, 0x00005004, 0x00400000, 0x00000080, 0x61000034, 0x0000d004,
- 0x00400000, 0x00000080, 0x0d003800, 0x00001980, 0x378e3691, 0x0000f500,
- 0x82311834, 0x00006886, 0x12c1a034, 0x00009900, 0x0d400020, 0x0000e180,
- 0x08011234, 0x00006100, 0x00111835, 0x0000e986, 0x00003798, 0x00007400,
- 0x8621a035, 0x00006887, 0x0f81a835, 0x00001900, 0x0d000000, 0x00007900,
- 0x00340040, 0x00008980, 0x00111834, 0x00006986, 0x0f81a034, 0x00001900,
- 0x37653587, 0x0000f100, 0x08405c0b, 0x00008202, 0x02c00000, 0x0000e180,
- 0x0e211422, 0x0000c901, 0xc2c11522, 0x00008305, 0x37a035e7, 0x00007500,
- 0x8c000022, 0x000080b2, 0x0880580b, 0x00009900, 0x82d10221, 0x00001300,
- 0x82d1820b, 0x00009302, 0x03004000, 0x0000e189, 0x0fc00000, 0x0000c990,
+ 0x0001a0ec, 0x00007902, 0x0cc00000, 0x00000704, 0xffffffff, 0x00007fa7,
+ 0x88801e34, 0x00006283, 0x0801a236, 0x0000a100, 0x00000436, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00003a6b, 0x0000f008, 0x00003a6b, 0x00007048,
+ 0x0ce83800, 0x00007900, 0x00020014, 0x00000980, 0x8d07fa36, 0x0000e280,
+ 0x8f94e801, 0x00000980, 0x0007fc36, 0x00006583, 0x0411a033, 0x00002101,
+ 0x00399cec, 0x0000d704, 0x00000000, 0x00008080, 0x00480cec, 0x00005784,
+ 0x00000101, 0x00008080, 0x88a1b436, 0x00009901, 0x0001ecec, 0x0000f902,
+ 0x0f000000, 0x00000704, 0x0001dcec, 0x0000f902, 0x0e800000, 0x00000704,
+ 0x0001bcec, 0x0000f902, 0x0d400000, 0x00000704, 0x0001a4ec, 0x0000f902,
+ 0x0cc00000, 0x00000704, 0x0039e83e, 0x0000d704, 0x0039e000, 0x00008000,
+ 0x0039d83e, 0x0000d704, 0x0039d000, 0x00008000, 0x0039b83e, 0x0000d704,
+ 0x0039a800, 0x00008000, 0x0039a03e, 0x0000d704, 0x00399800, 0x00008000,
+ 0x65f9eaec, 0x0000d004, 0x0039e000, 0x00008000, 0x65f9dcec, 0x0000d004,
+ 0x0039d000, 0x00008000, 0x00003a6d, 0x00007410, 0x65f9beec, 0x00005004,
+ 0x0039a800, 0x00008000, 0x6639a0ec, 0x00005004, 0x00399800, 0x00008000,
+ 0x00000001, 0x00007280, 0x08800800, 0x00001981, 0x0cc00000, 0x00001980,
+ 0x00111033, 0x00006986, 0x3a7238ab, 0x0000f500, 0x8621b033, 0x0000e887,
+ 0x0f419833, 0x00001900, 0x8d900622, 0x0000e080, 0x0000083e, 0x00002586,
+ 0x80001e22, 0x00006583, 0x2091b23e, 0x00002102, 0x003a683e, 0x00005704,
+ 0x003a6000, 0x00000000, 0x003a583e, 0x00005704, 0x003a5000, 0x00000000,
+ 0x00003a89, 0x0000f418, 0x003a483e, 0x0000d704, 0x003a4000, 0x00008000,
+ 0x003a383e, 0x00005704, 0x003a0800, 0x00008000, 0x0d804622, 0x00009080,
+ 0x8d801236, 0x00001880, 0x60fa6a36, 0x0000d004, 0x003a6000, 0x00000000,
+ 0x60fa5c36, 0x0000d004, 0x003a5000, 0x00000000, 0x60fa4e36, 0x0000d004,
+ 0x003a4000, 0x00008000, 0x613a3836, 0x0000d004, 0x003a0800, 0x00008000,
+ 0x88801e3f, 0x00001283, 0x0d802000, 0x0000e191, 0x0d801800, 0x00004989,
+ 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x08a1b436, 0x00001901,
+ 0x8d900622, 0x0000e080, 0x0000083e, 0x00002586, 0x80001e22, 0x00006583,
+ 0x2091b23e, 0x00002102, 0x0000003e, 0x00005784, 0x00000000, 0x00008080,
+ 0x0000003e, 0x00005784, 0x00000000, 0x00008080, 0x00003aae, 0x0000f418,
+ 0x0000003e, 0x00005784, 0x00000000, 0x00008080, 0x0000003e, 0x00005784,
+ 0x00000000, 0x00008080, 0x0d804622, 0x00009080, 0x8d801236, 0x00001880,
+ 0x60c00236, 0x0000d084, 0x00400000, 0x00008000, 0x60c00436, 0x0000d084,
+ 0x00400000, 0x00008000, 0x60c00636, 0x00005084, 0x00400000, 0x00008000,
+ 0x61000036, 0x0000d084, 0x00400000, 0x00008000, 0x60c00236, 0x00005004,
+ 0x00400000, 0x00000080, 0x60c00436, 0x00005004, 0x00400000, 0x00000080,
+ 0x60c00636, 0x0000d004, 0x00400000, 0x00000080, 0x61000036, 0x00005004,
+ 0x00400000, 0x00000080, 0x0cc03800, 0x00009980, 0x3ab239b5, 0x00007500,
+ 0x82311033, 0x00006886, 0x13019833, 0x00001900, 0x0cc00020, 0x0000e180,
+ 0x0801fa36, 0x0000e100, 0x00111033, 0x00006986, 0x00003abc, 0x0000f400,
+ 0x8621b033, 0x0000e887, 0x0f419833, 0x00001900, 0x0cc00000, 0x0000f900,
+ 0x00340040, 0x00008980, 0x00111033, 0x00006986, 0x0f419833, 0x00001900,
+ 0x3a8938ab, 0x0000f100, 0x08005c0b, 0x0000803e, 0x02c00000, 0x0000e180,
+ 0x0c211422, 0x00004901, 0xc2c11522, 0x0000820d, 0x3ac4390b, 0x0000f500,
+ 0x88400022, 0x0000009e, 0x0880580b, 0x00009900, 0x82d07a20, 0x00001300,
+ 0x82d10a0b, 0x00009302, 0x01c04000, 0x00006189, 0x0fc00000, 0x0000c990,
0x0f800000, 0x00006190, 0x0f400040, 0x0000c990, 0x00000001, 0x00007088,
- 0x00000431, 0x0000e583, 0x02c00000, 0x00008981, 0x02c00800, 0x00006191,
- 0x8fd18230, 0x00004900, 0x37ae34ed, 0x00007500, 0x10490421, 0x00000406,
- 0xe7a0583f, 0x0000e801, 0xffffffff, 0x00007fa7, 0x0e79a723, 0x00000328,
- 0x81c00e3a, 0x00001283, 0x10400000, 0x0000e188, 0x0fc00000, 0x0000c988,
- 0x0f400040, 0x0000e188, 0x0f800000, 0x00004988, 0x000037ce, 0x00007010,
- 0x37b734ed, 0x00007100, 0xffffffff, 0x00007fa7, 0x0e79a723, 0x00000328,
- 0x81c01e3a, 0x00009283, 0x10400000, 0x0000e188, 0x0fc00000, 0x0000c988,
- 0x0f400080, 0x0000e188, 0x0f800000, 0x00004988, 0x000037c5, 0x0000f010,
- 0x37c034ed, 0x00007100, 0xffffffff, 0x00007fa7, 0x0e79a723, 0x00000328,
- 0x81c01e3a, 0x00009283, 0x03000800, 0x00009989, 0x00000001, 0x0000f089,
- 0x0fc00000, 0x000083f4, 0x8fd18230, 0x00006100, 0x0801d23d, 0x00006100,
- 0x37cc3510, 0x0000f500, 0x0f800000, 0x0000e180, 0xe7a1883f, 0x00006001,
- 0x10490421, 0x00000406, 0x000037cf, 0x0000f200, 0x08400800, 0x00001981,
- 0x08400000, 0x00009981, 0x08080000, 0x00006180, 0x0801d20b, 0x00006100,
- 0xc8210c21, 0x00006100, 0x0431c80b, 0x00006087, 0x37d736be, 0x00007500,
- 0x0e810020, 0x0000e100, 0x8621c00b, 0x00006087, 0x08c0580b, 0x00001900,
- 0x00002422, 0x00001583, 0x000037df, 0x0000700b, 0x00000422, 0x00009583,
- 0x02c01000, 0x00006191, 0x02c01800, 0x0000c989, 0x00000001, 0x00007480,
- 0xffffffff, 0x00007f86, 0x03205c0b, 0x00001901, 0x02c00000, 0x00009980,
- 0x000035fb, 0x0000f400, 0x82e1c438, 0x00009900, 0x0840580b, 0x00009900,
- 0xc0000722, 0x00006583, 0xd0511222, 0x00000900, 0x88800000, 0x000083fc,
- 0x08800800, 0x0000e191, 0x8fd11a23, 0x00004900, 0x48000422, 0x000080b2,
- 0x37ee34ed, 0x0000f500, 0x0f800000, 0x0000e180, 0xe7a1103f, 0x0000e001,
- 0x90591b23, 0x00006100, 0x0f400040, 0x00004980, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0cc1a034, 0x00009900,
- 0x88000e33, 0x00001283, 0x03002800, 0x00006189, 0x08019a32, 0x0000e110,
- 0xc8e10420, 0x00006111, 0x08019a23, 0x0000e110, 0x00000001, 0x00007088,
- 0x37fa36be, 0x00007300, 0x0e800000, 0x00001980, 0x00001c22, 0x00009583,
- 0x10400000, 0x0000e188, 0x0fc00000, 0x0000c988, 0x0f400020, 0x0000e188,
- 0x0f800000, 0x00004988, 0x00003803, 0x0000f010, 0x38063510, 0x0000f300,
- 0x8f519232, 0x00009900, 0x00003806, 0x00007000, 0x00002422, 0x00001583,
- 0x03003000, 0x00001991, 0x00000001, 0x0000f091, 0x00003607, 0x0000f400,
- 0x08800000, 0x00001980, 0x88a10420, 0x00001900, 0x0ca11723, 0x00000204,
- 0x08c00000, 0x0000e180, 0x0cf11622, 0x00004901, 0x381035e7, 0x0000f500,
- 0x88c7fa22, 0x0000e280, 0x0e391722, 0x00000901, 0x08800723, 0x000000b2,
- 0x00000438, 0x0000e583, 0x0fc00000, 0x00008980, 0x0f800000, 0x0000e180,
- 0xc000183f, 0x00006413, 0x10400000, 0x00006180, 0x0f400040, 0x00004980,
- 0x0000381e, 0x00007210, 0x0f819032, 0x00009910, 0x00000433, 0x00009583,
- 0x08800800, 0x0000e189, 0x08801000, 0x0000c991, 0xffffffff, 0x00007f86,
- 0xc721103f, 0x0000e803, 0x0411903f, 0x00006907, 0x381f34ed, 0x0000f100,
- 0xffffffff, 0x00007fa7, 0x0e79a723, 0x00000328, 0x82c00e3a, 0x00001283,
- 0x10400000, 0x0000e188, 0x0fc00000, 0x0000c988, 0x0f400060, 0x00006188,
- 0x0f800000, 0x00004988, 0x0000384a, 0x00007010, 0x382834ed, 0x00007100,
- 0xffffffff, 0x00007fa7, 0x0e79a723, 0x00000328, 0x82c01e3a, 0x00009283,
- 0x10400000, 0x0000e188, 0x0fc00000, 0x0000c988, 0x0f400080, 0x0000e188,
- 0x0f800000, 0x00004988, 0x00003839, 0x0000f010, 0x383134ed, 0x0000f100,
- 0xffffffff, 0x00007fa7, 0x0e79a723, 0x00000328, 0x82c01e3a, 0x00009283,
- 0x00003839, 0x0000f013, 0x00003858, 0x00007400, 0x00000438, 0x00001583,
- 0x03004800, 0x00006189, 0x03009800, 0x0000c991, 0x00000438, 0x00001583,
- 0x08801800, 0x00001991, 0x0000383f, 0x00007011, 0x00000433, 0x00009583,
- 0x08800800, 0x0000e189, 0x08801000, 0x0000c991, 0x0fc00000, 0x000083f8,
- 0x0f400000, 0x0000e180, 0xc721103f, 0x00006003, 0x00001c22, 0x00006583,
- 0x0801d23d, 0x0000a100, 0x38483510, 0x0000f500, 0x10400000, 0x00006180,
- 0x0411903f, 0x00006117, 0x0f819032, 0x00009908, 0x0000384b, 0x0000f200,
- 0x08c00800, 0x00009981, 0x08c00000, 0x00001981, 0x0c880800, 0x0000e180,
- 0x0801d222, 0x0000e100, 0xcca11c23, 0x00006100, 0x0431c822, 0x0000e087,
- 0x385336be, 0x00007500, 0x0e819032, 0x0000e100, 0x86210822, 0x00006087,
- 0x08c11022, 0x00001900, 0x00002422, 0x00001583, 0x00003859, 0x0000f00b,
- 0x00000438, 0x00001583, 0x03005000, 0x00006189, 0x0300a000, 0x00004991,
- 0x00000001, 0x0000f080, 0x00000438, 0x0000e583, 0x08800000, 0x00008980,
- 0x00010822, 0x0000e986, 0x00000822, 0x0000ed8f, 0x000035fb, 0x0000f400,
- 0xffffffff, 0x00007f86, 0x08411022, 0x00009900, 0xc0000722, 0x00006583,
+ 0x00000423, 0x0000e583, 0x02c00000, 0x00008981, 0x02c00800, 0x00006191,
+ 0x8fd10a21, 0x00004900, 0x3ad23811, 0x00007500, 0x0cc87c20, 0x0000030e,
+ 0xe7a0583f, 0x0000e801, 0xffffffff, 0x00007fa7, 0x0e39a733, 0x00000324,
+ 0x82c00e39, 0x00001283, 0x0cc00000, 0x0000e188, 0x0fc00000, 0x0000c988,
+ 0x0f400040, 0x0000e188, 0x0f800000, 0x00004988, 0x00003af2, 0x0000f010,
+ 0x3adb3811, 0x0000f100, 0xffffffff, 0x00007fa7, 0x0e39a733, 0x00000324,
+ 0x82c01e39, 0x00009283, 0x0cc00000, 0x0000e188, 0x0fc00000, 0x0000c988,
+ 0x0f400080, 0x0000e188, 0x0f800000, 0x00004988, 0x00003ae9, 0x0000f010,
+ 0x3ae43811, 0x0000f100, 0xffffffff, 0x00007fa7, 0x0e39a733, 0x00000324,
+ 0x82c01e39, 0x00009283, 0x01c00800, 0x00001989, 0x00000001, 0x0000f089,
+ 0x0fc00000, 0x000083f4, 0x8fd10a21, 0x00006100, 0x0801ca3d, 0x00006100,
+ 0x3af03834, 0x0000f500, 0x0f800000, 0x0000e180, 0xe7a1183f, 0x00006001,
+ 0x10487c20, 0x00000406, 0x00003af3, 0x00007200, 0x08000800, 0x00009981,
+ 0x08000000, 0x00001981, 0x03c80000, 0x0000e180, 0x0801ca0b, 0x00006100,
+ 0xc3e10420, 0x0000e100, 0x0431c00b, 0x0000e087, 0x3afb39e2, 0x00007500,
+ 0x0dc0780f, 0x00006100, 0x8621800b, 0x0000e087, 0x0880580b, 0x00009900,
+ 0x00002422, 0x00001583, 0x00003b01, 0x0000700b, 0x00000001, 0x00007480,
+ 0x00000422, 0x00009583, 0x01c01000, 0x00006191, 0x01c01800, 0x0000c989,
+ 0x02c00000, 0x00009980, 0x0000391f, 0x0000f400, 0x82e18430, 0x00009900,
+ 0x0800580b, 0x00001900, 0xc0000722, 0x00006583, 0xccd11222, 0x00000900,
+ 0x88800000, 0x000083fc, 0x08800800, 0x0000e191, 0x8fd18a31, 0x00004900,
+ 0x48000422, 0x0000009e, 0x3b103811, 0x00007500, 0x0f800000, 0x0000e180,
+ 0xe7a1103f, 0x0000e001, 0x8cd98b31, 0x00006100, 0x0f400040, 0x00004980,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x0c79a733, 0x00008308, 0x88400e32, 0x00001283, 0x01c02800, 0x0000e189,
+ 0x08019231, 0x00006110, 0x88b18e31, 0x00006111, 0x08019222, 0x0000e110,
+ 0x00000001, 0x00007088, 0x3b1d39e2, 0x00007300, 0x0dc00000, 0x0000e180,
+ 0xc8a10420, 0x00004901, 0x00001c22, 0x00009583, 0x10400000, 0x0000e188,
+ 0x0fc00000, 0x0000c988, 0x0f400020, 0x0000e188, 0x0f800000, 0x00004988,
+ 0x00003b26, 0x00007010, 0x3b293834, 0x0000f300, 0x8f518a31, 0x00009900,
+ 0x00003b29, 0x0000f000, 0x00002422, 0x00001583, 0x01c03000, 0x00009991,
+ 0x00000001, 0x0000f091, 0x0000392b, 0x00007400, 0x08800000, 0x00001980,
+ 0x88a10420, 0x00001900, 0x0c400000, 0x0000e180, 0x88111222, 0x0000c900,
+ 0x8c47fa22, 0x0000e280, 0x0cb11622, 0x00000901, 0x3b33390b, 0x0000f500,
+ 0x8e000222, 0x0000009e, 0x08818831, 0x00009900, 0x00000438, 0x0000e583,
0x0fc00000, 0x00008980, 0x0f800000, 0x0000e180, 0xc000183f, 0x00006413,
- 0x0e511422, 0x00000322, 0x0000386f, 0x00007410, 0x83000000, 0x000084c4,
- 0x0f811823, 0x0000e110, 0x0f400040, 0x00004980, 0x80000622, 0x00009583,
- 0x08800800, 0x0000e189, 0x08801000, 0x0000c991, 0xffffffff, 0x00007f86,
- 0xc721103f, 0x0000e803, 0x0411183f, 0x00006907, 0x387034ed, 0x0000f100,
- 0xffffffff, 0x00007fa7, 0x0cc1a034, 0x00009900, 0x82c00e33, 0x00001283,
- 0x03005800, 0x0000e189, 0x08019a32, 0x0000e110, 0xc8e1cc39, 0x00006111,
- 0x08019a23, 0x0000e110, 0x00000001, 0x00007088, 0x387a36be, 0x0000f300,
- 0x0e800800, 0x00009980, 0x00001c22, 0x00009583, 0x10400000, 0x0000e188,
+ 0x0cc00000, 0x00006180, 0x0f400040, 0x00004980, 0x00003b41, 0x00007210,
+ 0x0f818030, 0x00009910, 0x00000432, 0x00001583, 0x08800800, 0x0000e189,
+ 0x08801000, 0x0000c991, 0xffffffff, 0x00007f86, 0xc721103f, 0x0000e803,
+ 0x0411803f, 0x0000e907, 0x3b423811, 0x00007100, 0xffffffff, 0x00007fa7,
+ 0x0e79a733, 0x00008328, 0x82c00e3a, 0x00001283, 0x0cc00000, 0x0000e188,
+ 0x0fc00000, 0x0000c988, 0x0f400060, 0x00006188, 0x0f800000, 0x00004988,
+ 0x00003b6d, 0x00007010, 0x3b4b3811, 0x00007100, 0xffffffff, 0x00007fa7,
+ 0x0e79a733, 0x00008328, 0x82c01e3a, 0x00009283, 0x0cc00000, 0x0000e188,
+ 0x0fc00000, 0x0000c988, 0x0f400080, 0x0000e188, 0x0f800000, 0x00004988,
+ 0x00003b5c, 0x0000f010, 0x3b543811, 0x0000f100, 0xffffffff, 0x00007fa7,
+ 0x0e79a733, 0x00008328, 0x82c01e3a, 0x00009283, 0x00003b5c, 0x0000f013,
+ 0x00003b78, 0x0000f400, 0x00000438, 0x00001583, 0x01c04800, 0x0000e189,
+ 0x01c09800, 0x00004991, 0x00000438, 0x00001583, 0x08801800, 0x00001991,
+ 0x00003b62, 0x0000f011, 0x00000432, 0x00001583, 0x08800800, 0x0000e189,
+ 0x08801000, 0x0000c991, 0x0fc00000, 0x000083f8, 0x0f400000, 0x0000e180,
+ 0xc721103f, 0x00006003, 0x00001c22, 0x00006583, 0x0801d23d, 0x0000a100,
+ 0x3b6b3834, 0x0000f500, 0x10400000, 0x00006180, 0x0411803f, 0x0000e117,
+ 0x0f818030, 0x00009908, 0x00003b6e, 0x00007200, 0x0c000800, 0x00001981,
+ 0x0c000000, 0x00009981, 0x0c480800, 0x0000e180, 0x0801d222, 0x0000e100,
+ 0x3b7339e2, 0x0000f500, 0xcc51ce30, 0x00000208, 0x0dd90731, 0x00008209,
+ 0x00002422, 0x00001583, 0x00003b79, 0x0000700b, 0x00000438, 0x00001583,
+ 0x01c05000, 0x0000e189, 0x01c0a000, 0x0000c991, 0x00000001, 0x0000f080,
+ 0x00000438, 0x0000e583, 0x08800000, 0x00008980, 0x00010022, 0x00006986,
+ 0x00000822, 0x0000ed8f, 0x0000391f, 0x0000f400, 0xffffffff, 0x00007f86,
+ 0x08011022, 0x00001900, 0xc0000722, 0x00006583, 0x0fc00000, 0x00008980,
+ 0x0f800000, 0x0000e180, 0xc000183f, 0x00006413, 0x0e511422, 0x00000322,
+ 0x00003b8f, 0x0000f410, 0x81c00000, 0x000003cc, 0x0f818831, 0x0000e110,
+ 0x0f400040, 0x00004980, 0x80000622, 0x00009583, 0x08800800, 0x0000e189,
+ 0x08801000, 0x0000c991, 0xffffffff, 0x00007f86, 0xc721103f, 0x0000e803,
+ 0x0411883f, 0x00006907, 0x3b903811, 0x00007100, 0xffffffff, 0x00007fa7,
+ 0x0c79a733, 0x00008308, 0x88000e32, 0x00009283, 0x01c05800, 0x00006189,
+ 0x08019231, 0x00006110, 0x88b18e31, 0x00006111, 0x08019222, 0x0000e110,
+ 0x00000001, 0x00007088, 0x3b9b39e2, 0x0000f300, 0x0dc00800, 0x00006180,
+ 0xc8a1cc39, 0x00004901, 0x00001c22, 0x00009583, 0x10400000, 0x0000e188,
0x0f800000, 0x00004988, 0x0fc00000, 0x00007908, 0x00040000, 0x00000980,
- 0x00003884, 0x0000f010, 0x38873510, 0x0000f500, 0x0f400020, 0x00001980,
- 0x8f519232, 0x00009900, 0x00003887, 0x00007000, 0x00002422, 0x00001583,
- 0x03006000, 0x00001991, 0x00000001, 0x0000f091, 0x00003607, 0x0000f400,
+ 0x00003ba5, 0x0000f010, 0x3ba83834, 0x0000f500, 0x0f400020, 0x00001980,
+ 0x8f518a31, 0x00009900, 0x00003ba8, 0x0000f000, 0x00002422, 0x00001583,
+ 0x01c06000, 0x00009991, 0x00000001, 0x0000f091, 0x0000392b, 0x00007400,
0x00000438, 0x0000e583, 0x08800000, 0x00008980, 0xc8800800, 0x00006188,
0x8891ca39, 0x00004900, 0x0e39080b, 0x00008330, 0x02c00000, 0x0000e180,
- 0x8ed10220, 0x0000c900, 0x82f0660c, 0x0000e100, 0x8e990320, 0x00004900,
- 0x389435e7, 0x0000f500, 0x0e785c0c, 0x00008208, 0x03000000, 0x00009981,
- 0x82d1cb20, 0x00009300, 0x82d1020b, 0x00001302, 0x03009000, 0x00006189,
- 0x11000000, 0x00004991, 0x0fc00000, 0x00007910, 0x00200000, 0x00000980,
- 0x00000001, 0x00007088, 0xc000070c, 0x00006583, 0x8fd10220, 0x00008900,
- 0x11000800, 0x0000e191, 0x0f800000, 0x0000c980, 0x00000438, 0x0000e583,
- 0x0f400040, 0x00008980, 0xd051ca39, 0x0000e100, 0xe7a2203f, 0x0000e001,
- 0x90590320, 0x00006100, 0xc000183f, 0x00006413, 0x000038ad, 0x0000f210,
- 0x0f810821, 0x00009910, 0x00000444, 0x00009583, 0x02c01000, 0x00006191,
- 0x02c00800, 0x00004989, 0xffffffff, 0x00007f86, 0xc720583f, 0x00006803,
- 0x0411e03f, 0x0000e907, 0x38ae34ed, 0x0000f100, 0xffffffff, 0x00007fa7,
- 0x10f9a723, 0x0000002c, 0x81400e0b, 0x00001283, 0x08400000, 0x00006191,
- 0x08005a43, 0x00006110, 0x10400000, 0x0000e188, 0x0fc00000, 0x0000c988,
- 0x000038eb, 0x0000f010, 0x38b934ed, 0x00007300, 0x0f400080, 0x00006180,
- 0x0f800000, 0x0000c980, 0xffffffff, 0x00007fa7, 0x10f9a723, 0x0000002c,
- 0x81401e0b, 0x00009283, 0x10400000, 0x0000e188, 0x08005a43, 0x00006110,
- 0x0fc00000, 0x0000e188, 0x0f800000, 0x00004988, 0x000038d7, 0x0000f010,
- 0x38c334ed, 0x0000f300, 0x0f400040, 0x00001980, 0xffffffff, 0x00007fa7,
- 0x0801a034, 0x00001900, 0x81401e20, 0x00009283, 0x03007800, 0x00006189,
- 0x08010220, 0x00006110, 0x10400000, 0x0000e190, 0x0fc00000, 0x0000c990,
- 0x00000001, 0x00007088, 0x38ce34ed, 0x00007300, 0x0f400060, 0x0000e180,
- 0x0f800000, 0x0000c980, 0xffffffff, 0x00007fa7, 0x10f9a723, 0x0000002c,
- 0x81401e0b, 0x00009283, 0x03007000, 0x0000e189, 0x90d10220, 0x00004910,
- 0x08005b20, 0x00006910, 0x00000001, 0x00007088, 0x38d73614, 0x00007300,
- 0x10810020, 0x00009900, 0x0fc00000, 0x0000f900, 0x00200000, 0x00000980,
- 0x00000438, 0x0000e583, 0x8fd1da3b, 0x00008900, 0x0f800000, 0x0000e180,
- 0xe7b8603f, 0x0000e001, 0x0f400000, 0x0000e180, 0xc000183f, 0x00006413,
- 0x000038e9, 0x0000f410, 0x9061d139, 0x00008404, 0x8f521a43, 0x0000e100,
- 0x0f81e03c, 0x0000c910, 0x00000444, 0x00009583, 0x02c00800, 0x00006189,
- 0x02c01000, 0x00004991, 0xffffffff, 0x00007f86, 0xc720583f, 0x00006803,
- 0x0411e03f, 0x0000e907, 0x38ea3510, 0x0000f100, 0x08400800, 0x00001981,
- 0x02c80800, 0x0000e180, 0x00121820, 0x0000e186, 0xc2e10c21, 0x00006100,
- 0x04321820, 0x0000e087, 0x38f336be, 0x00007500, 0x0e80580b, 0x0000e100,
- 0x86306020, 0x00006087, 0x08c10020, 0x00001900, 0x00002422, 0x00001583,
- 0x02c00000, 0x00006188, 0x03006800, 0x0000c991, 0x82f0660c, 0x00001908,
- 0x00000001, 0x00007090, 0x00000438, 0x00001583, 0x0000080b, 0x00006d8f,
- 0x000035fb, 0x0000f400, 0xffffffff, 0x00007f86, 0x0840580b, 0x00009900,
- 0xffffffff, 0x00007f86, 0xc0000723, 0x0000e583, 0x08000000, 0x00008981,
+ 0x8ed10220, 0x0000c900, 0x82f07e0f, 0x0000e100, 0x8e990320, 0x00004900,
+ 0x0e607c0f, 0x00008301, 0x3bb6390b, 0x00007500, 0x88c0020f, 0x0000009e,
+ 0x0880580b, 0x00009900, 0x82d07a3a, 0x00009300, 0x82d1020b, 0x00001302,
+ 0x01c09000, 0x0000e189, 0x11000000, 0x00004991, 0x0fc00000, 0x00007910,
+ 0x00200000, 0x00000980, 0x00000001, 0x00007088, 0xc000070f, 0x00006583,
+ 0x8fd10220, 0x00008900, 0x11000800, 0x0000e191, 0x0f800000, 0x0000c980,
+ 0x00000438, 0x0000e583, 0x0f400040, 0x00008980, 0xccd07a0f, 0x0000e100,
+ 0xe7a2203f, 0x0000e001, 0x8cd1d23a, 0x00006100, 0xc000183f, 0x00006413,
+ 0x00003bcf, 0x00007210, 0x0f810821, 0x00009910, 0x00000444, 0x00009583,
+ 0x02c01000, 0x00006191, 0x02c00800, 0x00004989, 0xffffffff, 0x00007f86,
+ 0xc720583f, 0x00006803, 0x0411e03f, 0x0000e907, 0x3bd03811, 0x0000f100,
+ 0xffffffff, 0x00007fa7, 0x10f9a733, 0x0000802c, 0x81400e0b, 0x00001283,
+ 0x08000000, 0x0000e191, 0x08005a43, 0x00006110, 0x0cc00000, 0x0000e188,
+ 0x0fc00000, 0x0000c988, 0x00003c0d, 0x0000f010, 0x3bdb3811, 0x0000f300,
+ 0x0f400080, 0x00006180, 0x0f800000, 0x0000c980, 0xffffffff, 0x00007fa7,
+ 0x10f9a733, 0x0000802c, 0x81401e0b, 0x00009283, 0x0cc00000, 0x0000e188,
+ 0x08005a43, 0x00006110, 0x0fc00000, 0x0000e188, 0x0f800000, 0x00004988,
+ 0x00003bf9, 0x0000f010, 0x3be53811, 0x00007300, 0x0f400040, 0x00001980,
+ 0xffffffff, 0x00007fa7, 0x03c1a034, 0x00009900, 0x81401e0f, 0x00001283,
+ 0x01c07800, 0x0000e189, 0x08007a0b, 0x0000e110, 0x0cc00000, 0x0000e190,
+ 0x0fc00000, 0x0000c990, 0x00000001, 0x00007088, 0x3bf03811, 0x0000f300,
+ 0x0f400060, 0x0000e180, 0x0f800000, 0x0000c980, 0xffffffff, 0x00007fa7,
+ 0x10f9a733, 0x00008200, 0x81401e20, 0x00009283, 0x01c07000, 0x00006189,
+ 0x90d05a0b, 0x00004910, 0x0801030b, 0x00006910, 0x00000001, 0x00007088,
+ 0x3bf93938, 0x0000f300, 0x1080580b, 0x00009900, 0x0fc00000, 0x0000f900,
+ 0x00200000, 0x00000980, 0x00000438, 0x0000e583, 0x8fd1da3b, 0x00008900,
+ 0x0f800000, 0x0000e180, 0xe7a1183f, 0x00006001, 0x0f400000, 0x0000e180,
+ 0xc000183f, 0x00006413, 0x00003c0b, 0x00007410, 0x9061d139, 0x00008404,
+ 0x8f521a43, 0x0000e100, 0x0f81e03c, 0x0000c910, 0x00000444, 0x00009583,
+ 0x02c00800, 0x00006189, 0x02c01000, 0x00004991, 0xffffffff, 0x00007f86,
+ 0xc720583f, 0x00006803, 0x0411e03f, 0x0000e907, 0x3c0c3834, 0x00007100,
+ 0x08000800, 0x00009981, 0x02c80800, 0x0000e180, 0x0012180f, 0x00006186,
+ 0xc2e10420, 0x00006100, 0x0432180f, 0x00006087, 0x3c1539e2, 0x00007500,
+ 0x0dc0580b, 0x00006100, 0x8621800f, 0x00006087, 0x0880780f, 0x00009900,
+ 0x00002422, 0x00001583, 0x02c00000, 0x00006188, 0x01c06800, 0x00004991,
+ 0x82e18430, 0x00001908, 0x00000001, 0x00007090, 0x00000438, 0x00001583,
+ 0x0000080b, 0x00006d8f, 0x0000391f, 0x0000f400, 0xffffffff, 0x00007f86,
+ 0x0800580b, 0x00001900, 0xc0000733, 0x00006583, 0x08000000, 0x00008981,
0x0fc00000, 0x0000f900, 0x00200000, 0x00000980, 0x08000800, 0x00006191,
0x8fd1a234, 0x00004900, 0x00000422, 0x00006583, 0x0f800000, 0x00000980,
- 0x0cf11e23, 0x00006101, 0xe7a1003f, 0x00006001, 0x0ca11422, 0x0000e101,
- 0xc000183f, 0x00006413, 0x03000000, 0x0000e181, 0x0f400040, 0x00004980,
- 0x00003915, 0x00007410, 0x9041a123, 0x00008406, 0x0f81a835, 0x00009910,
- 0x00000420, 0x00001583, 0x08000800, 0x00006189, 0x08001000, 0x00004991,
- 0xffffffff, 0x00007f86, 0xc721003f, 0x00006803, 0x0411a83f, 0x0000e907,
- 0x391634ed, 0x00007100, 0xffffffff, 0x00007fa7, 0x0e01a034, 0x00001900,
- 0x88000e38, 0x00009283, 0x03008000, 0x0000e189, 0x0801c220, 0x00006110,
- 0xc8e19c33, 0x00006111, 0x0801c223, 0x00006110, 0x00000001, 0x00007088,
- 0x392036be, 0x00007300, 0x0e800800, 0x00009980, 0x00001c22, 0x00009583,
- 0x0e400000, 0x00009988, 0x04110039, 0x0000e909, 0x00003941, 0x00007010,
- 0x00c006ec, 0x00005784, 0x0039c800, 0x00008000, 0x00c006ec, 0x00005784,
- 0x00000000, 0x00008080, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
- 0x00c006ec, 0x00005784, 0x00000000, 0x00008080, 0x0801c220, 0x00006900,
- 0x80001a20, 0x00001582, 0x88001220, 0x000018d0, 0x60c00220, 0x000050d4,
- 0x00400000, 0x00008000, 0x00003944, 0x00007038, 0x60c00420, 0x00005084,
- 0x00400000, 0x00008000, 0x60c00620, 0x0000d084, 0x00400000, 0x00008000,
- 0x61000020, 0x00005084, 0x00400000, 0x00008000, 0x60c00220, 0x0000d004,
- 0x00400000, 0x00000080, 0x60c00420, 0x0000d004, 0x00400000, 0x00000080,
- 0x00003944, 0x00007400, 0x60c00620, 0x00005004, 0x00400000, 0x00000080,
- 0x61000020, 0x0000d004, 0x00400000, 0x00000080, 0x00002422, 0x00001583,
- 0x03008800, 0x00001991, 0x00000001, 0x0000f091, 0x00000432, 0x0000e583,
- 0x08000000, 0x00000980, 0x88219c33, 0x00009900, 0x00000820, 0x00006d8f,
- 0x00003607, 0x0000f400, 0xffffffff, 0x00007f86, 0x08810020, 0x00009900,
- 0x394f34ed, 0x0000f500, 0x10400000, 0x000003fc, 0x0f4000a0, 0x0000e180,
- 0x0f800000, 0x0000c980, 0x83000000, 0x00009980, 0xffffffff, 0x00007f97,
- 0x0c41a034, 0x00001900, 0x39001e31, 0x0000498d, 0x9070020c, 0x00008e8b,
- 0x08000000, 0x00009980, 0x04018820, 0x00006901, 0x00c004ec, 0x0000d784,
+ 0x0cb19e33, 0x0000e101, 0xe7a1003f, 0x00006001, 0x0c611422, 0x0000e101,
+ 0xc000183f, 0x00006413, 0x01c00000, 0x00006181, 0x0f400040, 0x00004980,
+ 0x00003c37, 0x00007410, 0x0f81a835, 0x0000e110, 0xccd19a33, 0x0000c900,
+ 0x8cd9a334, 0x00001900, 0x00000420, 0x00001583, 0x08000800, 0x00006189,
+ 0x08001000, 0x00004991, 0xffffffff, 0x00007f86, 0xc721003f, 0x00006803,
+ 0x0411a83f, 0x0000e907, 0x3c383811, 0x00007100, 0xffffffff, 0x00007fa7,
+ 0x0e01a034, 0x00001900, 0x88400e38, 0x00001283, 0x01c08000, 0x00006189,
+ 0x0801c220, 0x00006110, 0x88b19e33, 0x00006111, 0x0801c222, 0x0000e110,
+ 0x00000001, 0x00007088, 0x3c4339e2, 0x00007300, 0x0dc00800, 0x00006180,
+ 0xc8a19432, 0x00004901, 0x00001c22, 0x00009583, 0x0e400000, 0x00009988,
+ 0x04110039, 0x0000e909, 0x00003c64, 0x0000f010, 0x00c006ec, 0x00005784,
+ 0x0039c800, 0x00008000, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
+ 0x00c006ec, 0x00005784, 0x00000000, 0x00008080, 0x00c006ec, 0x00005784,
+ 0x00000000, 0x00008080, 0x0801c220, 0x00006900, 0x80001a20, 0x00001582,
+ 0x88001220, 0x000018d0, 0x60c00220, 0x000050d4, 0x00400000, 0x00008000,
+ 0x00003c67, 0x0000f038, 0x60c00420, 0x00005084, 0x00400000, 0x00008000,
+ 0x60c00620, 0x0000d084, 0x00400000, 0x00008000, 0x61000020, 0x00005084,
+ 0x00400000, 0x00008000, 0x60c00220, 0x0000d004, 0x00400000, 0x00000080,
+ 0x60c00420, 0x0000d004, 0x00400000, 0x00000080, 0x00003c67, 0x0000f400,
+ 0x60c00620, 0x00005004, 0x00400000, 0x00000080, 0x61000020, 0x0000d004,
+ 0x00400000, 0x00000080, 0x00002422, 0x00001583, 0x01c08800, 0x00009991,
+ 0x00000001, 0x0000f091, 0x0000392b, 0x00007400, 0x00000431, 0x0000e583,
+ 0x08800000, 0x00008980, 0xc8800800, 0x00006188, 0x88a19432, 0x00004900,
+ 0x3c703811, 0x0000f500, 0x0cc00000, 0x000003fc, 0x0f4000a0, 0x0000e180,
+ 0x0f800000, 0x0000c980, 0x81c00000, 0x00001980, 0xffffffff, 0x00007f97,
+ 0x08c1a034, 0x00001900, 0x9d201e23, 0x0000498d, 0xd2700207, 0x00000f89,
+ 0x08000000, 0x00009980, 0x04011820, 0x00006901, 0x00c004ec, 0x0000d784,
0x00390000, 0x00000000, 0x0001a0ec, 0x00007902, 0x08000000, 0x00008704,
- 0x000198ec, 0x0000f902, 0x0c800000, 0x00008704, 0x000118ec, 0x00007902,
+ 0x000198ec, 0x0000f902, 0x0c800000, 0x00008704, 0x000188ec, 0x00007902,
0x08000000, 0x00008704, 0x000110ec, 0x0000f902, 0x08000000, 0x00008704,
0xffffffff, 0x00007fa7, 0x11419020, 0x00006200, 0x11019822, 0x00008200,
- 0xc2c40745, 0x00006283, 0x11819822, 0x00000200, 0x03018745, 0x00001281,
- 0x0000398c, 0x00007009, 0x0001840c, 0x00009583, 0x0000397a, 0x0000f00b,
- 0xc2c20745, 0x00009283, 0x08004000, 0x0000e188, 0x08020000, 0x0000c990,
- 0xffffffff, 0x00007f86, 0x08021020, 0x00009202, 0x88d22a45, 0x00006110,
- 0x0c022a0c, 0x00006116, 0xc8d23246, 0x0000e110, 0x889a3346, 0x0000c910,
- 0x000039bd, 0x00007008, 0x0d50620c, 0x0000e100, 0x04220022, 0x0000e087,
- 0x0000398a, 0x0000f400, 0x0d011823, 0x00006100, 0x08822f22, 0x00006000,
- 0x08800000, 0x00006180, 0x08c11022, 0x00004900, 0xc2c20745, 0x00009283,
+ 0xc8040745, 0x00006283, 0x11819822, 0x00000200, 0x01c18745, 0x00009281,
+ 0x00003cad, 0x00007009, 0x00018407, 0x00001583, 0x00003c9b, 0x0000f00b,
+ 0xc8020745, 0x00009283, 0x08004000, 0x0000e188, 0x08020000, 0x0000c990,
+ 0xffffffff, 0x00007f86, 0x08021020, 0x00009202, 0x8c522a45, 0x00006110,
+ 0x0c022a07, 0x0000e116, 0xcc523246, 0x0000e110, 0x889a3346, 0x0000c910,
+ 0x00003cde, 0x00007008, 0x0d503a07, 0x0000e100, 0x04220022, 0x0000e087,
+ 0x00003cab, 0x0000f400, 0x0d018831, 0x00006100, 0x08822f22, 0x00006000,
+ 0x08800000, 0x00006180, 0x0cc11022, 0x0000c900, 0xc8020745, 0x00009283,
0x08080000, 0x0000e188, 0x08040000, 0x0000c990, 0xffffffff, 0x00007f86,
- 0x08021020, 0x00009202, 0x0c81a023, 0x0000e210, 0x889a3346, 0x00000910,
- 0x88d22a45, 0x00006110, 0xc8d23246, 0x0000c910, 0x000039bd, 0x00007008,
- 0x0d419032, 0x0000e100, 0x04220022, 0x0000e087, 0x0d011823, 0x00006100,
- 0x08822f22, 0x00006000, 0x08800800, 0x0000e180, 0x08c11022, 0x00004900,
- 0x39bd38fd, 0x00007100, 0x000039bd, 0x0000f000, 0x00018745, 0x0000408c,
- 0x0001840c, 0x00008090, 0x33500042, 0x00004495, 0x5e600245, 0x00000e93,
- 0x35e00044, 0x0000c691, 0x7a60840c, 0x00000e93, 0x34002042, 0x00004495,
- 0x5e600245, 0x00000e93, 0x03600044, 0x00004793, 0x82810042, 0x00008190,
+ 0x08021020, 0x00009202, 0x0c81a031, 0x0000e210, 0x889a3346, 0x00000910,
+ 0x8c522a45, 0x00006110, 0xcc523246, 0x0000c910, 0x00003cde, 0x00007008,
+ 0x0d419032, 0x0000e100, 0x04220022, 0x0000e087, 0x0d018831, 0x00006100,
+ 0x08822f22, 0x00006000, 0x08800800, 0x0000e180, 0x0cc11022, 0x0000c900,
+ 0x3cde3c1f, 0x0000f100, 0x00003cde, 0x0000f000, 0x00018745, 0x0000408c,
+ 0x00018407, 0x00000090, 0x97700042, 0x00004495, 0xa0600245, 0x00008f91,
+ 0x9a000044, 0x00004691, 0xbc608407, 0x00008f91, 0x98202042, 0x0000c495,
+ 0xa0600245, 0x00008f91, 0x03600044, 0x00004793, 0x82810042, 0x00008190,
0x03200245, 0x0000c591, 0x82600044, 0x0000018c, 0x02e00245, 0x00004591,
0x82400044, 0x0000018b, 0x08000000, 0x00007900, 0x00004000, 0x00000980,
- 0x000039a9, 0x00007400, 0x88220440, 0x0000e100, 0x0881a023, 0x00004200,
- 0x08b91720, 0x0000020c, 0x08000000, 0x0000e180, 0x0c022a0c, 0x0000e106,
- 0x000039a9, 0x00007400, 0x88ea060c, 0x00000203, 0x08810020, 0x00009900,
- 0x08000020, 0x00006180, 0x0c022a0c, 0x0000e106, 0x88ea060c, 0x00000203,
- 0x08810020, 0x00009900, 0x39aa3860, 0x0000f100, 0x80000245, 0x00001582,
- 0x00000044, 0x00009582, 0xffffffff, 0x00007f86, 0x000039af, 0x00007010,
- 0x000039bd, 0x00007008, 0x03020745, 0x00001283, 0x08001000, 0x0000e188,
+ 0x00003cca, 0x00007400, 0x88220440, 0x0000e100, 0x0881a031, 0x00004200,
+ 0x08b91720, 0x00000304, 0x08000000, 0x0000e180, 0x0c022a07, 0x00006106,
+ 0x00003cca, 0x00007400, 0x8c6a0607, 0x00008203, 0x08810020, 0x00009900,
+ 0x08000020, 0x00006180, 0x0c022a07, 0x00006106, 0x8c6a0607, 0x00008203,
+ 0x08810020, 0x00009900, 0x3ccb3b80, 0x0000f100, 0x80000245, 0x00001582,
+ 0x00000044, 0x00009582, 0xffffffff, 0x00007f86, 0x00003cd0, 0x0000f010,
+ 0x00003cde, 0x00007008, 0x01c20745, 0x00009283, 0x08001000, 0x0000e188,
0x08008000, 0x0000c990, 0xffffffff, 0x00007f86, 0x08021020, 0x00009202,
0x88922a45, 0x0000e110, 0xc8923246, 0x00004910, 0x881a3346, 0x00006110,
- 0x88220440, 0x0000c911, 0x000039bd, 0x00007008, 0x39bd37e3, 0x0000f500,
- 0x08c11022, 0x00006100, 0x08822f20, 0x0000e000, 0x08810020, 0x00009900,
- 0x0f4000a0, 0x0000e180, 0x08018a0c, 0x00006100, 0x10400000, 0x000003fc,
- 0x39c434ed, 0x0000f500, 0x0f800000, 0x0000e180, 0x8c800a0c, 0x00004080,
- 0x8f400a0c, 0x00001080, 0xffffffff, 0x00007fa7, 0x0c41a034, 0x00001900,
- 0x39001e31, 0x0000498d, 0xa8700232, 0x00000e92, 0x88401440, 0x00009880,
+ 0x88220440, 0x0000c911, 0x00003cde, 0x00007008, 0x3cde3b05, 0x00007500,
+ 0x0c411022, 0x00006100, 0x08822f20, 0x0000e000, 0x08810020, 0x00009900,
+ 0x0f4000a0, 0x0000e180, 0x08011a07, 0x0000e100, 0x0cc00000, 0x000003fc,
+ 0x3ce53811, 0x0000f500, 0x0f800000, 0x0000e180, 0x8c400a07, 0x0000c080,
+ 0x8f400a07, 0x00009080, 0xffffffff, 0x00007fa7, 0x08c1a034, 0x00001900,
+ 0x9d201e23, 0x0000498d, 0xea700231, 0x00000f90, 0x88401440, 0x00009880,
0x0d002042, 0x0000e282, 0x88400a21, 0x00000080, 0x0ff91021, 0x00002084,
- 0x000039d3, 0x00007009, 0xffffffff, 0x00007f86, 0x00000c22, 0x00001583,
- 0x08801000, 0x00009989, 0x000039d3, 0x00007009, 0x00001c22, 0x00009583,
+ 0x00003cf4, 0x00007009, 0xffffffff, 0x00007f86, 0x00000c22, 0x00001583,
+ 0x08801000, 0x00009989, 0x00003cf4, 0x00007009, 0x00001c22, 0x00009583,
0x08802000, 0x00009989, 0x00000001, 0x00007280, 0x0ff91021, 0x0000a884,
- 0x108003ff, 0x000082c0, 0x39d9394b, 0x00007500, 0x00206020, 0x00006886,
- 0x10010020, 0x00001900, 0x00000001, 0x0000f080, 0xc0000331, 0x0000e582,
- 0x08001231, 0x00000880, 0x08000820, 0x00009080, 0x0f811620, 0x0000a006,
- 0x0fc10820, 0x00002084, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x80000222, 0x00009582, 0xffffffff, 0x00007f86, 0x00003a0d, 0x0000f008,
- 0x00003a2a, 0x0000f010, 0x00001421, 0x0000e583, 0x0c000000, 0x00000981,
- 0x00002421, 0x0000e583, 0x0c000800, 0x00000989, 0x00001421, 0x00009593,
- 0x08c00000, 0x00006188, 0x08400000, 0x0000c988, 0x8847fa31, 0x00009288,
- 0x00003a05, 0x00007010, 0x39f03809, 0x00007300, 0x08810821, 0x00009900,
- 0x0000040c, 0x00009583, 0x01880000, 0x00006190, 0x01c00020, 0x0000c990,
- 0x01a18c31, 0x0000e111, 0x81a0640c, 0x00004911, 0x00003a00, 0x00007008,
+ 0x108003ff, 0x000082c0, 0x3cfa3c6c, 0x0000f500, 0x00211020, 0x00006886,
+ 0x10010020, 0x00001900, 0x00000001, 0x0000f080, 0xc0000323, 0x0000e582,
+ 0x03c01223, 0x00008880, 0x03c0080f, 0x00009080, 0x0f810e0f, 0x00002006,
+ 0x0fc1000f, 0x00002084, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x80000221, 0x00009582, 0xffffffff, 0x00007f86, 0x00003d2e, 0x0000f008,
+ 0x00003d4c, 0x00007010, 0x00001420, 0x00006583, 0x08400000, 0x00000981,
+ 0x00002420, 0x00006583, 0x08400800, 0x00000989, 0x00001420, 0x00001593,
+ 0x0c000000, 0x0000e188, 0x08000000, 0x00004988, 0x8807fa23, 0x00001288,
+ 0x00003d26, 0x00007010, 0x3d113b2c, 0x00007300, 0x08810020, 0x00009900,
+ 0x00000407, 0x00001583, 0x01880000, 0x00006190, 0x01400020, 0x00004990,
+ 0x01a11c23, 0x0000e111, 0x81a03c07, 0x00004911, 0x00003d21, 0x0000f008,
0x0407c800, 0x00007900, 0x0013ed32, 0x00008980, 0x045be000, 0x00007900,
- 0x001b52d6, 0x00008980, 0x03c00000, 0x00006180, 0x08001a0b, 0x00006106,
- 0x01418800, 0x000080dd, 0x00003a25, 0x0000f400, 0x82e00500, 0x0000802e,
- 0x04b81706, 0x00008030, 0x00000430, 0x00009583, 0x08401800, 0x00001989,
- 0x08400800, 0x00009991, 0x00003a2a, 0x0000f008, 0x00003a2a, 0x00007000,
- 0x00003421, 0x00009583, 0x08400020, 0x00001988, 0x48618c31, 0x00001909,
- 0x00003a2a, 0x0000f010, 0x3a0b3691, 0x0000f300, 0x12c10821, 0x00009900,
- 0x00003a2a, 0x0000f200, 0x08402800, 0x00009981, 0x0307ec21, 0x00001281,
- 0x00000c0c, 0x00001583, 0x80000a22, 0x00001582, 0xffffffff, 0x00007f86,
- 0x00003a2c, 0x0000f010, 0x00003a2c, 0x00007030, 0x3a163860, 0x0000f500,
- 0x08c00000, 0x000082c8, 0x8887fa31, 0x00001280, 0x0000040c, 0x00009583,
- 0x01800000, 0x0000e190, 0x01c00020, 0x0000c990, 0x01a18c31, 0x0000e111,
- 0x81a0640c, 0x00004911, 0x00003a26, 0x0000f008, 0x0435a800, 0x0000f900,
- 0x00119258, 0x00008980, 0x045be000, 0x00007900, 0x001b52d6, 0x00008980,
- 0x03c00000, 0x00006180, 0x08001a0b, 0x00006106, 0x01418800, 0x000080dd,
- 0x82e00500, 0x0000802e, 0x04b81706, 0x00008030, 0x3a2620b1, 0x00007100,
- 0x00000c21, 0x00001583, 0x08401000, 0x00009989, 0x08402000, 0x00009991,
- 0x00003a2a, 0x0000f008, 0x00000001, 0x00007280, 0x0fc10820, 0x0000a884,
- 0x00002c21, 0x00006583, 0x03000000, 0x00000981, 0x80000222, 0x00006582,
- 0x03000800, 0x00000989, 0x88800000, 0x00009980, 0x88800800, 0x00009990,
- 0xffffffff, 0x00007f86, 0x0321140c, 0x00001203, 0x08400000, 0x00009990,
- 0x48618c31, 0x00001911, 0x00003a2a, 0x0000f008, 0x3a393691, 0x00007300,
- 0x12c10821, 0x00009900, 0x00003a2a, 0x0000f200, 0x08403000, 0x00009981,
- 0x01809800, 0x00007900, 0x00002a00, 0x00000980, 0x01000000, 0x00006181,
- 0x01c0580b, 0x00004900, 0x027934e4, 0x00000a20, 0x3a41250b, 0x00007004,
- 0x303852a9, 0x00002080, 0x81c15800, 0x00001980, 0xffffffff, 0x00007f97,
- 0x0000040a, 0x00006583, 0x04205009, 0x00002001, 0x01800000, 0x0000e190,
- 0x14685009, 0x00006001, 0x82800aa9, 0x0000e090, 0x65b85009, 0x00002001,
- 0x00003b37, 0x0000f210, 0x24b05009, 0x0000e807, 0x00003b39, 0x00007000,
- 0x00000806, 0x00001582, 0x30007a0a, 0x0000f902, 0x03000000, 0x00000000,
- 0x3000740a, 0x00007902, 0x03400000, 0x00008000, 0x00003a5c, 0x00007038,
- 0x00000806, 0x00001582, 0x82287d0f, 0x0000e109, 0x02287d0f, 0x00004911,
- 0xffffffff, 0x00007f86, 0x86207808, 0x0000600b, 0x82207808, 0x00003012,
- 0xffffffff, 0x00007f86, 0xa6b07808, 0x0000e00b, 0xa2b07808, 0x0000b012,
- 0x80001e0f, 0x00009583, 0x03000000, 0x0000e188, 0x08207fe4, 0x00004808,
- 0x10810020, 0x00006108, 0x03287d0f, 0x0000c909, 0x00003a6c, 0x00007010,
- 0x3a64394b, 0x00007300, 0x1000600c, 0x00001900, 0x03000020, 0x00009980,
- 0x3a6839da, 0x0000f500, 0x83287d0f, 0x00001900, 0x0c40600c, 0x00001900,
- 0x013f0004, 0x0000f900, 0x003ffffe, 0x00008280, 0xcd40fc04, 0x0000f88e,
- 0x71c00000, 0x00001d88, 0x02c00e0f, 0x00001181, 0x00000c0b, 0x00009583,
- 0x02c00000, 0x000019b1, 0x00003b0b, 0x00007019, 0x8000160f, 0x00001583,
- 0x02c00800, 0x00001989, 0x53202c0f, 0x00004389, 0x00602c0f, 0x00000098,
- 0x5320140f, 0x0000c389, 0x0060140f, 0x00008098, 0x01000c0f, 0x00004789,
- 0x09401c0f, 0x00000688, 0x4fc0240f, 0x0000c689, 0x1660440f, 0x00008e9e,
- 0xb5803c0f, 0x000078aa, 0xb9c00000, 0x00009d87, 0xb2c04c0f, 0x0000788a,
- 0x59c00000, 0x00001d88, 0x0000040b, 0x00001583, 0x03000000, 0x0000e190,
- 0x82d8730e, 0x00004910, 0x03287d0f, 0x0000e111, 0xc310720e, 0x00004910,
- 0x00003a8d, 0x00007008, 0x0000240f, 0x0000e583, 0xc2d06a0d, 0x00008900,
- 0x8000080c, 0x00006c8e, 0x3a8a3799, 0x0000f500, 0xffffffff, 0x00007f86,
- 0x0880600c, 0x00009900, 0x00206004, 0x00006880, 0xcd40fc04, 0x0000f88e,
- 0x71c00000, 0x00001d88, 0x0000240f, 0x0000e583, 0x02c00000, 0x00000980,
- 0x0010700c, 0x00006186, 0x0010680b, 0x0000b186, 0x0418700c, 0x0000e187,
- 0x0428780b, 0x00003087, 0x08c0600c, 0x00006100, 0x8000080b, 0x0000e48f,
- 0x3a8a37e3, 0x00007500, 0xffffffff, 0x00007f86, 0x0880580b, 0x00009900,
- 0x00003a8a, 0x00007000, 0x0000040b, 0x00001583, 0x08c00000, 0x0000e191,
- 0x02c0150f, 0x00004890, 0x82c00a0b, 0x0000e090, 0x08800000, 0x00008991,
- 0x00003aba, 0x0000f008, 0x00002c0f, 0x00006583, 0x88400000, 0x00000980,
- 0x08c00800, 0x00006189, 0x08800800, 0x0000c991, 0xc000030d, 0x00001582,
- 0x88400800, 0x00009988, 0x0fc0600b, 0x00002084, 0x08610c22, 0x00001203,
- 0x00003ab0, 0x0000f00b, 0x00001c0c, 0x00009583, 0x0fc0200b, 0x0000508e,
- 0x00400000, 0x00008000, 0x00003b3f, 0x00007009, 0x00000c0c, 0x00001583,
- 0x0fc0100b, 0x0000508e, 0x00400000, 0x00008000, 0x00003b3f, 0x00007009,
- 0x03000000, 0x00001980, 0x83287d0f, 0x00001900, 0x3b3c3809, 0x0000f500,
- 0x08d86b0d, 0x00006100, 0x0421180c, 0x0000e087, 0x0880600c, 0x00009900,
- 0x03000000, 0x00001980, 0x00003af6, 0x00007400, 0x83287d0f, 0x00001900,
- 0x0c40600c, 0x00001900, 0x00002c0f, 0x00006583, 0x02c00000, 0x00000980,
- 0x08d86b0d, 0x00006100, 0x82e87d0f, 0x0000c900, 0x0000080b, 0x0000ec8f,
- 0x3ac23860, 0x0000f500, 0xffffffff, 0x00007f86, 0x0880580b, 0x00009900,
- 0x0000040c, 0x00006583, 0x02e0640c, 0x00000901, 0x03000020, 0x00001988,
- 0x83287d0f, 0x00009908, 0x00003af6, 0x0000f208, 0x0c40600c, 0x00009908,
- 0x00205804, 0x0000e880, 0xcd40fc04, 0x0000f88e, 0x71c00000, 0x00001d88,
- 0x0000040b, 0x00001583, 0x02c00000, 0x00007900, 0x00004000, 0x00000980,
- 0x08c0600c, 0x0000e110, 0x82e87d0f, 0x0000c900, 0x00003ad4, 0x00007008,
- 0x3a8a3809, 0x0000f300, 0x0880580b, 0x00009900, 0x00003a8a, 0x00007000,
- 0x3a8a3860, 0x0000f300, 0x08b8670b, 0x0000020c, 0x0000040b, 0x0000e583,
- 0x8810720e, 0x00000900, 0x08206d0e, 0x0000820c, 0x88e87d0f, 0x00006101,
- 0xc8c00000, 0x0000c991, 0x00003aea, 0x0000f008, 0x0000340f, 0x00006583,
- 0x08586b0d, 0x00000900, 0x02c00000, 0x0000e180, 0x80000823, 0x0000e48f,
- 0x3ae3388c, 0x00007500, 0xffffffff, 0x00007f86, 0x03011823, 0x00009900,
- 0x0000040c, 0x00006583, 0x02e0640c, 0x00000901, 0x03000000, 0x00009988,
- 0x83287d0f, 0x00009908, 0x00003af6, 0x0000f208, 0x0c40600c, 0x00009908,
- 0x00003ac8, 0x00007000, 0x0000340f, 0x00006583, 0xc8c00000, 0x00008981,
- 0x3af038fd, 0x0000f500, 0x8d79070d, 0x00000310, 0xc8c00800, 0x00006189,
- 0x08800000, 0x00004980, 0x0000040c, 0x00006583, 0x02e0640c, 0x00000901,
- 0x03000020, 0x00001988, 0x83287d0f, 0x00009908, 0x00003ac8, 0x0000f010,
- 0x0c40600c, 0x00001900, 0x3ac839da, 0x00007100, 0x0000040b, 0x0000e583,
- 0x8810720e, 0x00000900, 0x08206d0e, 0x0000820c, 0x88f8640f, 0x0000802c,
- 0x00003b04, 0x00007008, 0x00003c0f, 0x0000e583, 0x80000023, 0x00002487,
- 0x0840600c, 0x0000e100, 0x80000823, 0x0000e48f, 0x3a8a388c, 0x00007500,
- 0x02c00800, 0x00001980, 0x03011823, 0x00009900, 0x00003a8a, 0x00007000,
- 0x00003c0f, 0x0000e583, 0xc8c00000, 0x00008981, 0x3a8a38fd, 0x00007500,
- 0x0d79070b, 0x00008310, 0xc8c00800, 0x00006189, 0x08800800, 0x0000c980,
- 0x00003a8a, 0x00007000, 0x0000b004, 0x0000ec80, 0xcd40fc04, 0x0000f88e,
- 0x01c00001, 0x00008080, 0xffffffff, 0x00007f86, 0xc000070a, 0x00006583,
- 0x0800240b, 0x00002080, 0x0000ac0b, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00003b15, 0x00007010, 0x00003b23, 0x0000f050, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x04060800, 0x0000f900, 0x00119262, 0x00008980,
- 0x04641800, 0x0000f900, 0x000c2fa6, 0x00000980, 0xc2f00600, 0x0000e101,
- 0x08002712, 0x00006080, 0x82f81400, 0x00008030, 0x4488780f, 0x00008109,
- 0x4480760f, 0x00008016, 0x3b2320b1, 0x00007500, 0x8140d10d, 0x0000809d,
- 0x83c8700d, 0x0000803e, 0x3bc00040, 0x00006180, 0x08001aae, 0x00006106,
- 0x39c62800, 0x0000f900, 0x00119262, 0x00008980, 0x3b641800, 0x0000f900,
- 0x000c2fa6, 0x00000980, 0xebb00600, 0x0000e101, 0x080027ad, 0x0000e080,
- 0xabb81400, 0x00008a3c, 0x6b48780f, 0x00008a35, 0x6b406e0f, 0x00000a32,
- 0x3b3220de, 0x00007500, 0xab00710e, 0x00008e3a, 0xbbc0d000, 0x0000e180,
- 0xfb906a0d, 0x0000c900, 0x00003b39, 0x0000f200, 0x013bf804, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x01800806, 0x00006080, 0x8280120a, 0x00000080,
- 0x00305006, 0x00001502, 0x00003a4d, 0x0000f04b, 0xb9104a09, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x02e0640c, 0x00009901,
- 0xb200040c, 0x00007892, 0xb1c00000, 0x00009d85, 0x00003ac8, 0x0000f200,
- 0x02c00000, 0x00001981, 0x988000ec, 0x00005080, 0x00400000, 0x00008000,
- 0x350006ec, 0x00005004, 0x00600800, 0x00000083, 0x988000ec, 0x0000d000,
- 0x00400800, 0x00008080, 0x02000001, 0x000000e8, 0x41c00000, 0x000080d9,
- 0x83400000, 0x00001980, 0x8140120a, 0x00006282, 0x831052e5, 0x00008400,
- 0x02c00000, 0x00007900, 0x00002580, 0x00008980, 0x81400a0a, 0x0000e280,
- 0xc300220a, 0x00000880, 0x00003b61, 0x0000f208, 0x02d82c0a, 0x0000002d,
- 0x3b56388c, 0x00007500, 0x0878670a, 0x00008200, 0x02c00800, 0x00006180,
- 0x0300580b, 0x0000c900, 0x0000040c, 0x00009583, 0x02400000, 0x00001991,
- 0x00003b5d, 0x0000f011, 0x8240120a, 0x00006282, 0x81c00a07, 0x00000080,
- 0x02400800, 0x00001981, 0x00003b6c, 0x00007009, 0x3b6a3809, 0x0000f500,
- 0x0884b000, 0x0000f900, 0x00004000, 0x00000980, 0x08c04008, 0x00001900,
- 0x3b65388c, 0x00007500, 0x0878670a, 0x00008200, 0x02c00000, 0x0000e180,
- 0x0300580b, 0x0000c900, 0x0000040c, 0x00009583, 0x0c44b000, 0x00006188,
- 0x02400000, 0x00004991, 0x00003b6c, 0x00007011, 0x3b5939da, 0x00007100,
- 0xdd00040c, 0x0000788a, 0xb1c00000, 0x00001d8b, 0x08c4b708, 0x000080ac,
- 0x3b703809, 0x00007500, 0x0420280b, 0x00006887, 0x0880580b, 0x00009900,
- 0x0000040c, 0x00009583, 0x0c44b000, 0x00001988, 0x00003b76, 0x0000f011,
- 0x3b7439da, 0x00007100, 0x02400800, 0x00006181, 0x81800a06, 0x0000c080,
- 0xc1400a0a, 0x0000e080, 0x02c4b000, 0x00000980, 0x8140420a, 0x00006080,
- 0x8220280b, 0x0000e086, 0x8140320a, 0x0000e080, 0xc2d05205, 0x00004000,
- 0x3b803799, 0x00007500, 0x0880580b, 0x0000e100, 0x81505205, 0x00004000,
- 0x02c02805, 0x00001900, 0x0000040c, 0x00009583, 0x83400a0d, 0x00001088,
- 0x00003b85, 0x0000f009, 0x00000409, 0x00009583, 0x00003b89, 0x0000700b,
- 0x02001008, 0x00006080, 0x0280080a, 0x00000080, 0x0010000a, 0x00001582,
- 0x00003b4a, 0x00007013, 0x02000001, 0x000080e9, 0x81503ae5, 0x00009400,
- 0x02c4b000, 0x0000e180, 0x82400a0a, 0x00004780, 0x3b913860, 0x00007500,
- 0x82c00c0a, 0x0000e281, 0xc2c00c09, 0x00000281, 0x08b8470b, 0x0000820c,
- 0x82400a0d, 0x00009180, 0x82c04209, 0x00009880, 0x82c03209, 0x00006080,
- 0x83104a0b, 0x0000c000, 0xc3104a0b, 0x00001000, 0x02c00000, 0x00007900,
- 0x00002580, 0x00008980, 0x08c0600c, 0x00006100, 0x0010680b, 0x0000e186,
- 0x3b9d37e3, 0x0000f500, 0xc2c00c09, 0x00009281, 0x0880580b, 0x00009900,
- 0x03000000, 0x0000f900, 0x00002580, 0x00008980, 0x83905205, 0x0000e100,
- 0xc3802207, 0x00000880, 0x84000a07, 0x0000e780, 0x08503a07, 0x00000900,
- 0x3ba8388c, 0x0000f500, 0x83103a07, 0x00006100, 0xc3000c07, 0x0000c281,
- 0x02c00c10, 0x0000e281, 0x0800700e, 0x00008900, 0x0000040c, 0x00009583,
- 0x81c00a07, 0x0000e088, 0x82800a0a, 0x00008088, 0x02001008, 0x00001088,
- 0x00003bb1, 0x0000f010, 0x8000520a, 0x00009582, 0x83400a0d, 0x00009190,
- 0x00003bb6, 0x0000f009, 0x00003b8b, 0x00007000, 0x3bb339d5, 0x00007300,
- 0x0304b000, 0x00001980, 0x00003c80, 0x0000f200, 0x988000ec, 0x0000d000,
- 0x00407800, 0x00000080, 0x98b82aec, 0x00002000, 0x988000ec, 0x0000d000,
- 0x00401000, 0x00008080, 0xffffffff, 0x00007f97, 0x01402a09, 0x00001000,
- 0x98b82aec, 0x0000a800, 0x98b82cec, 0x00002000, 0xffffffff, 0x00007fa7,
- 0x01402a07, 0x00009000, 0x98b82cec, 0x0000a800, 0x98b82cec, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x01405005, 0x00009180, 0x01402a06, 0x00001000,
- 0x98b82cec, 0x00002880, 0x81400000, 0x00009980, 0xfe504a05, 0x0000780a,
- 0x01c00001, 0x00008080, 0x82003205, 0x00006080, 0x0fc00000, 0x00004980,
- 0x90502a08, 0x00006000, 0x0f800000, 0x00000980, 0x82004205, 0x0000e080,
- 0x0f400040, 0x00004980, 0x3bd234ed, 0x0000f500, 0xd0400a05, 0x0000e080,
- 0x8fd02a08, 0x00000000, 0xe7a0283f, 0x00006801, 0xffffffff, 0x00007fa7,
- 0x0339a723, 0x00008020, 0x81400e08, 0x00001283, 0xc1400f0c, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00003bf1, 0x00007008, 0x00003bea, 0x00007010,
- 0x02c03800, 0x0000f900, 0x00020002, 0x00008980, 0x0430600b, 0x0000e901,
- 0x00385cec, 0x00005704, 0x00000000, 0x00008080, 0x000004ec, 0x0000d784,
- 0x00000012, 0x00008a80, 0x000104ec, 0x00005784, 0x00000596, 0x000082a0,
- 0x000058ec, 0x00007902, 0x02000000, 0x00008704, 0xffffffff, 0x00007fa7,
- 0x81401e0b, 0x00009283, 0x08005a08, 0x0000e910, 0x00003c76, 0x00007009,
- 0x1d84b208, 0x0000f893, 0xb1c00000, 0x00009d8f, 0x8004b60c, 0x00009583,
- 0x0304b000, 0x00009990, 0x00003bf6, 0x00007009, 0x3bee39d5, 0x00007100,
- 0x00003c7a, 0x0000f200, 0x988000ec, 0x0000d000, 0x00404000, 0x00008080,
- 0x3bf339d5, 0x0000f300, 0x0304b000, 0x00001980, 0x00003c7a, 0x0000f200,
- 0x988000ec, 0x0000d000, 0x00403000, 0x00000080, 0x81400a05, 0x00009080,
- 0xf2104a05, 0x0000f812, 0x01c00001, 0x00008080, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x988000ec, 0x0000d000,
- 0x00401800, 0x00000080, 0x0200a800, 0x00001980, 0x0a90320a, 0x00007823,
- 0x01c00001, 0x00008080, 0x0fc00000, 0x000083f8, 0x8140120a, 0x00006282,
- 0x10400000, 0x00008980, 0x0f400040, 0x00006180, 0xc000183f, 0x00006413,
- 0x0f804008, 0x00009910, 0x00003c0e, 0x0000f010, 0x81400a0a, 0x00009282,
- 0x01400800, 0x0000e189, 0x01401000, 0x0000c991, 0xffffffff, 0x00007f86,
- 0xc720283f, 0x0000e803, 0x0410403f, 0x00006907, 0x3c0f34ed, 0x0000f100,
- 0xffffffff, 0x00007fa7, 0x0241a034, 0x00009900, 0x81400e09, 0x00009283,
- 0x02c03800, 0x00007910, 0x00020002, 0x00008980, 0x0400480b, 0x00006911,
- 0x00003c25, 0x0000f008, 0x00385cec, 0x00005704, 0x00000000, 0x00008080,
+ 0x001b52d6, 0x00008980, 0x01c00000, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x03418800, 0x000080d5, 0x00003d47, 0x0000f400, 0x82e00500, 0x0000802e,
+ 0x04b81706, 0x0000803c, 0x00000421, 0x00009583, 0x08001800, 0x00009989,
+ 0x08000800, 0x00001991, 0x00003d4c, 0x00007008, 0x00003d4c, 0x0000f000,
+ 0x00003420, 0x00001583, 0x08000020, 0x00009988, 0x48211c23, 0x00009909,
+ 0x00003d4c, 0x00007010, 0x3d2c39b5, 0x00007300, 0x13010020, 0x00001900,
+ 0x00003d4c, 0x00007200, 0x08002800, 0x00001981, 0x01c7ec20, 0x00001281,
+ 0x00000c07, 0x00009583, 0x80000a21, 0x00001582, 0xffffffff, 0x00007f86,
+ 0x00003d4e, 0x0000f010, 0x00003d4e, 0x00007030, 0x0c400000, 0x000082c4,
+ 0x3d383b80, 0x0000f500, 0x8847fa23, 0x00001280, 0x08810821, 0x00009900,
+ 0x00000407, 0x00001583, 0x01800000, 0x0000e190, 0x01400020, 0x00004990,
+ 0x01a11c23, 0x0000e111, 0x81a03c07, 0x00004911, 0x00003d48, 0x0000f008,
+ 0x0435a800, 0x0000f900, 0x00119258, 0x00008980, 0x045be000, 0x00007900,
+ 0x001b52d6, 0x00008980, 0x01c00000, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x03418800, 0x000080d5, 0x82e00500, 0x0000802e, 0x04b81706, 0x0000803c,
+ 0x3d482213, 0x00007100, 0x00000c20, 0x00009583, 0x08001000, 0x00001989,
+ 0x08002000, 0x00001991, 0x00003d4c, 0x00007008, 0x00000001, 0x00007280,
+ 0x0fc1000f, 0x0000a884, 0x00002c20, 0x0000e583, 0x01c00000, 0x00008981,
+ 0x80000221, 0x00006582, 0x01c00800, 0x00008989, 0x88400000, 0x00009980,
+ 0x88400800, 0x00009990, 0xffffffff, 0x00007f86, 0x01e10c07, 0x00001203,
+ 0x08000000, 0x00001990, 0x48211c23, 0x00009911, 0x00003d4c, 0x00007008,
+ 0x3d5b39b5, 0x00007300, 0x13010020, 0x00001900, 0x00003d4c, 0x00007200,
+ 0x08003000, 0x00001981, 0x2a409800, 0x00007900, 0x00002a00, 0x00000980,
+ 0x01000000, 0x00006181, 0x2ac13026, 0x00004900, 0x823939e4, 0x00000a28,
+ 0x3d63266c, 0x00007004, 0x303852ac, 0x00002080, 0x82015800, 0x00001980,
+ 0xffffffff, 0x00007f97, 0x0000040a, 0x00006583, 0x04205007, 0x0000a001,
+ 0x02400000, 0x0000e190, 0x14685007, 0x0000e001, 0x82800aac, 0x0000e090,
+ 0x65b85007, 0x0000a001, 0x00003e5c, 0x00007210, 0x24b05007, 0x00006807,
+ 0x00003e5e, 0x0000f000, 0x00000809, 0x00001582, 0x3038720a, 0x00003038,
+ 0x30006c0a, 0x00007902, 0x03000000, 0x00000000, 0x00003d7d, 0x0000f038,
+ 0x00000809, 0x00001582, 0x81a8750e, 0x00006109, 0x01a8750e, 0x0000c911,
+ 0xffffffff, 0x00007f86, 0x86207006, 0x0000600b, 0x82207006, 0x00003012,
+ 0xffffffff, 0x00007f86, 0xa6b07006, 0x0000e00b, 0xa2b07006, 0x0000b012,
+ 0x80001e0e, 0x00001583, 0x03c00000, 0x0000e188, 0x082077e4, 0x0000c808,
+ 0x10810020, 0x00006108, 0x03e8750e, 0x0000c909, 0x00003d8d, 0x0000f010,
+ 0x3d853c6c, 0x0000f300, 0x1000780f, 0x00001900, 0x03c00020, 0x00009980,
+ 0x3d893cfb, 0x00007500, 0x83e8750e, 0x00001900, 0x08c0780f, 0x00001900,
+ 0x013f0004, 0x0000f900, 0x003ffffe, 0x00008280, 0x9680fc04, 0x0000f88f,
+ 0x99c00000, 0x00009f81, 0x02c00e0e, 0x00009181, 0x00000c0b, 0x00009583,
+ 0x01c00000, 0x000019b1, 0x00003e30, 0x0000f019, 0x8000160e, 0x00009583,
+ 0x01c00800, 0x00001989, 0xb7602c0e, 0x00004389, 0x00602c0e, 0x00008098,
+ 0xb760140e, 0x0000c389, 0x0060140e, 0x00000098, 0x01000c0e, 0x0000c789,
+ 0x09801c0e, 0x00008688, 0xb3e0240e, 0x0000c689, 0x6060440e, 0x00008f9c,
+ 0x7dc03c0e, 0x000078ab, 0xd1c00000, 0x00001f80, 0x7b004c0e, 0x0000788b,
+ 0x81c00000, 0x00009f81, 0x00000407, 0x00001583, 0x03c00000, 0x0000e190,
+ 0x82d86b0d, 0x00004910, 0x03e8750e, 0x0000e111, 0xc3d06a0d, 0x00004910,
+ 0x00003daf, 0x0000f008, 0x0000240e, 0x00006583, 0xc2d0620c, 0x00008900,
+ 0x8000080f, 0x00006c8e, 0x3dab3abd, 0x0000f500, 0xffffffff, 0x00007f86,
+ 0x0880780f, 0x00009900, 0xffffffff, 0x00007f86, 0x00203804, 0x0000e880,
+ 0x9680fc04, 0x0000f88f, 0x99c00000, 0x00009f81, 0x0000240e, 0x00006583,
+ 0x02c00000, 0x00000980, 0x0010680f, 0x00006186, 0x0010600b, 0x00003186,
+ 0x0418680f, 0x0000e187, 0x0428700b, 0x0000b087, 0x0c40780f, 0x00006100,
+ 0x8000080b, 0x0000e48f, 0x3dab3b05, 0x00007500, 0xffffffff, 0x00007f86,
+ 0x0880580b, 0x00009900, 0x00003dab, 0x0000f000, 0x00000407, 0x00001583,
+ 0x08800000, 0x00006191, 0x02c0150e, 0x0000c890, 0x82c00a0b, 0x0000e090,
+ 0x08400000, 0x00008991, 0x00003ddb, 0x0000f008, 0x00002c0e, 0x0000e583,
+ 0x88000000, 0x00008980, 0x08800800, 0x0000e189, 0x08400800, 0x0000c991,
+ 0xc000030c, 0x00009582, 0x88000800, 0x00001988, 0x0fc0380b, 0x0000a084,
+ 0x08210421, 0x00001203, 0x00003dd2, 0x0000f00b, 0x00001c07, 0x00001583,
+ 0x0fc0200b, 0x0000508e, 0x00400000, 0x00008000, 0x00003e64, 0x0000f009,
+ 0x00000c07, 0x00009583, 0x0fc0100b, 0x0000508e, 0x00400000, 0x00008000,
+ 0x00003e64, 0x0000f009, 0x8c00070c, 0x00000280, 0x8828750e, 0x00009900,
+ 0x3e613b2c, 0x0000f500, 0x04011020, 0x0000e887, 0x08810020, 0x00009900,
+ 0x08000000, 0x00009980, 0x00003e19, 0x00007400, 0x8828750e, 0x00009900,
+ 0x08c10020, 0x00001900, 0x00002c0e, 0x0000e583, 0x02c00000, 0x00000980,
+ 0x0c58630c, 0x00006100, 0x82e8750e, 0x0000c900, 0x0000080b, 0x0000ec8f,
+ 0x3de33b80, 0x0000f500, 0xffffffff, 0x00007f86, 0x0880580b, 0x00009900,
+ 0x00000407, 0x0000e583, 0x02e03c07, 0x00000901, 0x08000020, 0x00009988,
+ 0x8828750e, 0x00001908, 0x00003e19, 0x0000f208, 0x08c10020, 0x00009908,
+ 0x00205804, 0x0000e880, 0x9680fc04, 0x0000f88f, 0x99c00000, 0x00009f81,
+ 0x00000407, 0x00001583, 0x02c00000, 0x00007900, 0x00004000, 0x00000980,
+ 0x0c00780f, 0x00006110, 0x82e8750e, 0x0000c900, 0x00003df5, 0x0000f008,
+ 0x3dab3b2c, 0x0000f300, 0x0880580b, 0x00009900, 0x00003dab, 0x0000f000,
+ 0x3dab3b80, 0x0000f300, 0x08b87f0b, 0x00000304, 0x00000407, 0x0000e583,
+ 0x88106a0d, 0x00000900, 0x0820650d, 0x0000020c, 0x88e8750e, 0x00006101,
+ 0xc8c00000, 0x0000c991, 0x00003e0b, 0x00007008, 0x0000340e, 0x0000e583,
+ 0x0858630c, 0x00000900, 0x02c00000, 0x0000e180, 0x80000823, 0x0000e48f,
+ 0x3e043bad, 0x0000f500, 0xffffffff, 0x00007f86, 0x03c11823, 0x00009900,
+ 0x00000407, 0x0000e583, 0x02e03c07, 0x00000901, 0x03c00000, 0x00009988,
+ 0x83e8750e, 0x00009908, 0x00003e19, 0x0000f208, 0x08c0780f, 0x00009908,
+ 0x00003de9, 0x0000f000, 0x0000340e, 0x0000e583, 0x80000023, 0x00002487,
+ 0x0d58630c, 0x0000e100, 0x80000823, 0x0000e48f, 0x3e133c1f, 0x00007500,
+ 0x08800000, 0x00006180, 0x0d010020, 0x00004900, 0x0cc11823, 0x00009900,
+ 0x00000407, 0x0000e583, 0x02e03c07, 0x00000901, 0x03c00020, 0x00001988,
+ 0x83e8750e, 0x00009908, 0x00003de9, 0x00007010, 0x08c0780f, 0x00001900,
+ 0x3de93cfb, 0x0000f100, 0x00000407, 0x0000e583, 0x02c0780f, 0x00008900,
+ 0x08286c0d, 0x00008200, 0x08e0740c, 0x0000020e, 0x00003e27, 0x0000f008,
+ 0x00003c0e, 0x00006583, 0x80000023, 0x00002487, 0x0840780f, 0x0000e100,
+ 0x80000823, 0x0000e48f, 0x3dab3bad, 0x0000f500, 0x02c00800, 0x00001980,
+ 0x03c11823, 0x00009900, 0x00003dab, 0x0000f000, 0x00003c0e, 0x00006583,
+ 0x80000023, 0x00002487, 0x0d40580b, 0x0000e100, 0x80000823, 0x0000e48f,
+ 0x3dab3c1f, 0x00007500, 0x08800800, 0x0000e180, 0x0d010020, 0x00004900,
+ 0x0cc11823, 0x00009900, 0x00003dab, 0x0000f000, 0x0000b004, 0x0000ec80,
+ 0x9680fc04, 0x0000f88f, 0x01c00001, 0x00008080, 0xffffffff, 0x00007f86,
+ 0xc000070a, 0x00006583, 0x0800240b, 0x00002080, 0x0000ac0b, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00003e3a, 0x0000f010, 0x00003e48, 0x00007050,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x04060800, 0x0000f900,
+ 0x00119262, 0x00008980, 0x04641800, 0x0000f900, 0x000c2fa6, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08002712, 0x00006080, 0x82f81400, 0x0000803c,
+ 0x4488700e, 0x00008109, 0x4480660e, 0x0000001e, 0x3e482213, 0x0000f500,
+ 0x81c0d10d, 0x00008095, 0x8340690c, 0x00000036, 0x3bc00040, 0x00006180,
+ 0x08001aae, 0x00006106, 0x39c62800, 0x0000f900, 0x00119262, 0x00008980,
+ 0x3b641800, 0x0000f900, 0x000c2fa6, 0x00000980, 0xebb00600, 0x0000e101,
+ 0x080027ad, 0x0000e080, 0xabb81400, 0x00008a3c, 0x6b48700e, 0x00008a35,
+ 0x6b40660e, 0x00000a32, 0x3e572240, 0x00007500, 0xab00690d, 0x00008e3a,
+ 0xbbc0d000, 0x0000e180, 0xfb90620c, 0x0000c900, 0x00003e5e, 0x00007200,
+ 0x013bf804, 0x0000f900, 0x003ffffe, 0x00008280, 0x02400809, 0x00006080,
+ 0x8280120a, 0x00000080, 0x00305009, 0x00001502, 0x00003d6f, 0x0000704b,
+ 0xb9184308, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x02e03c07, 0x00009901, 0x7a400407, 0x00007893, 0xb9c00000, 0x00009e8e,
+ 0x00003de9, 0x00007200, 0x02c00000, 0x00001981, 0x988000ec, 0x00005080,
+ 0x00400000, 0x00008000, 0x350006ec, 0x00005004, 0x00600800, 0x00000083,
+ 0x988000ec, 0x0000d000, 0x00400800, 0x00008080, 0x02400001, 0x000080f0,
+ 0x42000000, 0x000080d9, 0x83400000, 0x00001980, 0x8140120c, 0x00006282,
+ 0x82d062e5, 0x00000400, 0x02800000, 0x0000f900, 0x00002580, 0x00008980,
+ 0x81400a0c, 0x0000e280, 0xc2c0220c, 0x00008880, 0x00003e86, 0x0000f208,
+ 0x02982c0c, 0x00000029, 0x3e7b3bad, 0x00007500, 0x08785f0c, 0x00000200,
+ 0x02c00800, 0x00006180, 0x03c0500a, 0x0000c900, 0x00000407, 0x00001583,
+ 0x02800000, 0x00001991, 0x00003e82, 0x00007011, 0x81c0120c, 0x0000e282,
+ 0x82000a08, 0x00000080, 0x02800800, 0x00001981, 0x00003e91, 0x0000f009,
+ 0x3e8f3b2c, 0x0000f500, 0x0884b000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x0c004809, 0x00009900, 0x3e8a3bad, 0x0000f500, 0x08785f0c, 0x00000200,
+ 0x02c00000, 0x0000e180, 0x03c0500a, 0x0000c900, 0x00000407, 0x00001583,
+ 0x08c4b000, 0x00006188, 0x02800000, 0x00004991, 0x00003e91, 0x0000f011,
+ 0x3e7e3cfb, 0x00007100, 0xa6400407, 0x0000f88b, 0xd9c00000, 0x00001f84,
+ 0x0c04b709, 0x0000809c, 0x3e953b2c, 0x00007500, 0x04202807, 0x00006887,
+ 0x08803807, 0x00009900, 0x00000407, 0x00001583, 0x08c4b000, 0x00001988,
+ 0x00003e9b, 0x0000f011, 0x3e993cfb, 0x00007100, 0x02800800, 0x00006181,
+ 0x81800a06, 0x0000c080, 0xc1400a0c, 0x0000e080, 0x01c4b000, 0x00000980,
+ 0x8140420c, 0x00006080, 0x82202807, 0x0000e086, 0x8140320c, 0x0000e080,
+ 0xc1d06205, 0x00004000, 0x3ea53abd, 0x00007500, 0x08803807, 0x0000e100,
+ 0x81506205, 0x00004000, 0x02c02805, 0x00001900, 0xffffffff, 0x00007f86,
+ 0x00000407, 0x00001583, 0x83400a0d, 0x00001088, 0x00003eab, 0x0000f009,
+ 0x0000040a, 0x00009583, 0x00003eaf, 0x0000f00b, 0x02401009, 0x00006080,
+ 0x0300080c, 0x00000080, 0x0010000c, 0x00001582, 0x00003e6f, 0x0000f013,
+ 0x02400001, 0x000000f1, 0x815042e5, 0x00009400, 0x0284b000, 0x00006180,
+ 0x81c00a0c, 0x0000c780, 0x3eb73b80, 0x00007500, 0x82800c0c, 0x00006281,
+ 0xc2800c07, 0x00000281, 0x08b84f0a, 0x00008304, 0x82800a0d, 0x00009180,
+ 0x81c0420a, 0x00009880, 0x81c0320a, 0x00006080, 0x82d05207, 0x00004000,
+ 0xc2d05207, 0x00009000, 0x01c00000, 0x00007900, 0x00002580, 0x00008980,
+ 0x0c40580b, 0x00006100, 0x00106807, 0x0000e186, 0x3ec33b05, 0x0000f500,
+ 0xc1c00c0a, 0x00009281, 0x08803807, 0x00009900, 0x02c00000, 0x00007900,
+ 0x00002580, 0x00008980, 0x84000a08, 0x0000e780, 0x0010400b, 0x00002186,
+ 0x01c00000, 0x0000e180, 0x83906205, 0x00004100, 0xc3802208, 0x0000e080,
+ 0xc2c00c08, 0x00004281, 0x01c00c10, 0x0000e281, 0x08504208, 0x00000900,
+ 0x3ed03bad, 0x0000f500, 0x08385f0e, 0x0000803c, 0x02c03807, 0x00001900,
+ 0x00000407, 0x00001583, 0x82000a08, 0x0000e088, 0x83000a0c, 0x00008088,
+ 0x02401009, 0x00001088, 0x00003ed9, 0x00007010, 0x8000520c, 0x00009582,
+ 0x83400a0d, 0x00009190, 0x00003ede, 0x00007009, 0x00003eb1, 0x00007000,
+ 0x3edb3cf6, 0x00007300, 0x0884b000, 0x00001980, 0x00003fa8, 0x0000f200,
+ 0x988000ec, 0x0000d000, 0x00407800, 0x00000080, 0x98b82aec, 0x00002000,
+ 0x988000ec, 0x0000d000, 0x00401000, 0x00008080, 0xffffffff, 0x00007f97,
+ 0x01402a0a, 0x00001000, 0x98b82aec, 0x0000a800, 0x98b82cec, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x01402a08, 0x00009000, 0x98b82cec, 0x0000a800,
+ 0x98b82cec, 0x0000a080, 0xffffffff, 0x00007fa7, 0x01405005, 0x00009180,
+ 0x01402a06, 0x00001000, 0x98b82cec, 0x00002880, 0x81400000, 0x00009980,
+ 0xc8505205, 0x0000f80b, 0x01c00001, 0x00008080, 0x81c03205, 0x00006080,
+ 0x0fc00000, 0x00004980, 0x8cd02a07, 0x00006000, 0x0f800000, 0x00000980,
+ 0x81c04205, 0x0000e080, 0x0f400040, 0x00004980, 0x3efa3811, 0x0000f500,
+ 0xccc00a05, 0x0000e080, 0x8fd02a07, 0x00000000, 0xe7a0283f, 0x00006801,
+ 0xffffffff, 0x00007fa7, 0x0279a733, 0x0000001c, 0x81400e07, 0x00001283,
+ 0xc1400f09, 0x00009283, 0xffffffff, 0x00007f86, 0x00003f19, 0x0000f008,
+ 0x00003f12, 0x00007010, 0x01c03800, 0x0000f900, 0x00020002, 0x00008980,
+ 0x04304807, 0x0000e901, 0x00383cec, 0x00005704, 0x00000000, 0x00008080,
+ 0x000004ec, 0x0000d784, 0x00000012, 0x00008a80, 0x000104ec, 0x00005784,
+ 0x00000596, 0x000082a0, 0x000048ec, 0x0000f902, 0x01c00000, 0x00008704,
+ 0xffffffff, 0x00007fa7, 0x81401e09, 0x00001283, 0x08004a07, 0x00006910,
+ 0x00003f9e, 0x00007009, 0xe784b207, 0x0000f893, 0xf1c00000, 0x00001f88,
+ 0x8004b609, 0x00009583, 0x0884b000, 0x00009990, 0x00003f1e, 0x0000f009,
+ 0x3f163cf6, 0x0000f100, 0x00003fa2, 0x0000f200, 0x988000ec, 0x0000d000,
+ 0x00404000, 0x00008080, 0x3f1b3cf6, 0x0000f300, 0x0884b000, 0x00001980,
+ 0x00003fa2, 0x0000f200, 0x988000ec, 0x0000d000, 0x00403000, 0x00000080,
+ 0x81400a05, 0x00009080, 0xbc105205, 0x00007813, 0x01c00001, 0x00008080,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x988000ec, 0x0000d000, 0x00401800, 0x00000080, 0x01c0a800, 0x00001980,
+ 0xd490320c, 0x00007823, 0x01c00001, 0x00008080, 0x0fc00000, 0x000083f8,
+ 0x8140120c, 0x00006282, 0x0cc00000, 0x00008980, 0x0f400040, 0x00006180,
+ 0xc000183f, 0x00006413, 0x0f803807, 0x00009910, 0x00003f36, 0x00007010,
+ 0x81400a0c, 0x00009282, 0x01400800, 0x0000e189, 0x01401000, 0x0000c991,
+ 0xffffffff, 0x00007f86, 0xc720283f, 0x0000e803, 0x0410383f, 0x00006907,
+ 0x3f373811, 0x00007100, 0xffffffff, 0x00007fa7, 0x0281a034, 0x00009900,
+ 0x81400e0a, 0x00009283, 0x01403800, 0x0000f910, 0x00020002, 0x00008980,
+ 0x04005005, 0x0000e911, 0x00003f4d, 0x00007008, 0x00382cec, 0x0000d704,
+ 0x00000000, 0x00008080, 0x000004ec, 0x0000d784, 0x00000012, 0x00002a80,
+ 0x000104ec, 0x00005784, 0x00000596, 0x000082a0, 0x000048ec, 0x0000f902,
+ 0x01400000, 0x00000704, 0xffffffff, 0x00007fa7, 0x81401e09, 0x00001283,
+ 0x01c01007, 0x0000e090, 0x08004a05, 0x0000a110, 0x00003fa4, 0x00007009,
+ 0xe904b205, 0x00007893, 0x51c00000, 0x00001f8d, 0x3f4f3cf6, 0x00007300,
+ 0x0884b000, 0x00001980, 0x00003fa8, 0x0000f200, 0x988000ec, 0x0000d000,
+ 0x00404800, 0x00000080, 0x988000ec, 0x0000d000, 0x00402000, 0x00008080,
+ 0x02400000, 0x00001980, 0xe2104209, 0x00007823, 0x01c00001, 0x00008080,
+ 0x0fc00000, 0x0000f900, 0x00200000, 0x00000980, 0x81c01209, 0x0000e282,
+ 0x81800a09, 0x00008280, 0x8fd04ae5, 0x0000e400, 0x0f800000, 0x00000980,
+ 0x01404809, 0x0000e100, 0xe7a0303f, 0x0000e001, 0x0f400040, 0x00006180,
+ 0xc000183f, 0x00006413, 0x00003f6b, 0x00007410, 0xccd04a09, 0x0000e100,
+ 0x8cc02209, 0x00004880, 0x0f804809, 0x00009910, 0x01800c06, 0x00009283,
+ 0x01800800, 0x0000e189, 0x01801000, 0x0000c991, 0xffffffff, 0x00007f86,
+ 0xc720303f, 0x0000e803, 0x0410483f, 0x0000e907, 0x3f6c3811, 0x0000f100,
+ 0xffffffff, 0x00007fa7, 0x0281a034, 0x00009900, 0x81800e0a, 0x00009283,
+ 0x01803800, 0x0000f910, 0x00020002, 0x00008980, 0x04005006, 0x0000e911,
+ 0x00003f82, 0x00007008, 0x003834ec, 0x0000d704, 0x00000000, 0x00008080,
0x000004ec, 0x0000d784, 0x00000012, 0x00002a80, 0x000104ec, 0x00005784,
- 0x00000596, 0x000082a0, 0x000048ec, 0x0000f902, 0x01400000, 0x00000704,
- 0xffffffff, 0x00007fa7, 0x81401e09, 0x00001283, 0x02001008, 0x0000e090,
- 0x08004a05, 0x0000a110, 0x00003c7c, 0x00007009, 0x1f04b205, 0x00007893,
- 0x11c00000, 0x00001e84, 0x3c2739d5, 0x00007300, 0x0304b000, 0x00001980,
- 0x00003c80, 0x0000f200, 0x988000ec, 0x0000d000, 0x00404800, 0x00000080,
- 0x988000ec, 0x0000d000, 0x00402000, 0x00008080, 0x02000000, 0x00009980,
- 0x18103a08, 0x0000f823, 0x01c00001, 0x00008080, 0x0fc00000, 0x0000f900,
- 0x00200000, 0x00000980, 0x82401208, 0x0000e282, 0x81800a08, 0x00000280,
- 0x8fd042e5, 0x00006400, 0x0f800000, 0x00000980, 0x01404008, 0x0000e100,
- 0xe7a0303f, 0x0000e001, 0x0f400040, 0x00006180, 0xc000183f, 0x00006413,
- 0x00003c43, 0x00007410, 0xd0504208, 0x0000e100, 0x90402208, 0x0000c880,
- 0x0f804008, 0x00009910, 0x01800c06, 0x00009283, 0x01800800, 0x0000e189,
- 0x01801000, 0x0000c991, 0xffffffff, 0x00007f86, 0xc720303f, 0x0000e803,
- 0x0410403f, 0x00006907, 0x3c4434ed, 0x0000f100, 0xffffffff, 0x00007fa7,
- 0x0241a034, 0x00009900, 0x81800e09, 0x00009283, 0x02803800, 0x0000f910,
- 0x00020002, 0x00008980, 0x0400480a, 0x0000e911, 0x00003c5a, 0x00007008,
- 0x003854ec, 0x0000d704, 0x00000000, 0x00008080, 0x000004ec, 0x0000d784,
- 0x00000012, 0x00002a80, 0x000104ec, 0x00005784, 0x00000596, 0x000082a0,
- 0x000048ec, 0x0000f902, 0x01800000, 0x00000704, 0xffffffff, 0x00007fa7,
- 0x81801e09, 0x00001283, 0x02000808, 0x0000e090, 0x08004a06, 0x0000a110,
- 0x00003c85, 0x00007009, 0x05a4b206, 0x0000c591, 0x7d603c08, 0x0000002c,
- 0x3c5c39d5, 0x00007300, 0x0304b000, 0x00001980, 0x00003c8a, 0x0000f400,
- 0x988000ec, 0x0000d000, 0x00405800, 0x00008080, 0x98b842ec, 0x0000a880,
- 0x3c6439d5, 0x0000f500, 0x988000ec, 0x0000d000, 0x00402800, 0x00000080,
- 0x0304b000, 0x00001980, 0x354028ec, 0x0000a006, 0x350006ec, 0x00005004,
- 0x00600000, 0x00008083, 0xffffffff, 0x00007f97, 0x80000205, 0x00009582,
- 0x988000ec, 0x00005010, 0x00406800, 0x00008080, 0x356028ec, 0x0000200c,
- 0x00003c73, 0x0000f010, 0xffffffff, 0x00007f97, 0x80000205, 0x00009582,
- 0x988000ec, 0x00005010, 0x00407000, 0x00008080, 0x988000ec, 0x00005008,
- 0x00400000, 0x00000080, 0x00003c8a, 0x0000f200, 0x988002ec, 0x0000d080,
- 0x00400000, 0x00008000, 0x3c7839d5, 0x00007300, 0x0304b000, 0x00001980,
- 0x988000ec, 0x0000d000, 0x00403800, 0x00008080, 0x00003c8a, 0x0000f200,
- 0x98b02aec, 0x00002882, 0x3c7e39d5, 0x00007300, 0x0304b000, 0x00001980,
- 0x988000ec, 0x0000d000, 0x00405000, 0x00000080, 0x00003c8a, 0x0000f200,
- 0x98b052ec, 0x00002882, 0x82800a0a, 0x00009080, 0x0050320a, 0x0000f82b,
- 0x51c00000, 0x00009e81, 0x3c8739d5, 0x00007300, 0x0304b000, 0x00001980,
- 0x988000ec, 0x0000d000, 0x00406000, 0x00000080, 0x98b82aec, 0x00002880,
- 0x00000001, 0x00007280, 0x988008ec, 0x0000d080, 0x00400000, 0x00008000,
- 0x8d00140b, 0x00001880, 0x0ff9e034, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x4000053c, 0x00009583, 0x8d400000, 0x00006190, 0x0ec05a33, 0x0000e014,
- 0x0da19c33, 0x00009911, 0x00003cd4, 0x00007008, 0x0cc0fc0b, 0x00009281,
- 0x0e219fe4, 0x00009800, 0x0dc1c0e5, 0x00009400, 0x8cc01235, 0x00001880,
- 0xcb819433, 0x00007902, 0x0c400000, 0x00008000, 0xcb811e33, 0x0000f902,
- 0x08800000, 0x00000000, 0xcbc10833, 0x0000f902, 0x08000000, 0x00008000,
- 0xcbc06233, 0x00007902, 0x02c00000, 0x00008000, 0x95200436, 0x0000c489,
- 0x5a600c36, 0x00008f89, 0x96201436, 0x00004489, 0x6a601c36, 0x00000f89,
- 0x97202436, 0x0000c489, 0x7a602c36, 0x00008f89, 0x31403436, 0x0000f893,
- 0x09c00000, 0x00009e86, 0x0cc19038, 0x00009202, 0x0c819037, 0x00001210,
- 0x00003cc8, 0x00007011, 0x00003cd1, 0x0000f000, 0x0cc18838, 0x00009202,
- 0x0c418837, 0x00001210, 0x00003cc8, 0x00007011, 0x00003cd1, 0x0000f000,
- 0x0cc11838, 0x00009202, 0x08c11837, 0x00001210, 0x00003cc8, 0x00007011,
- 0x00003cd1, 0x0000f000, 0x0cc11038, 0x00001202, 0x08811037, 0x00001210,
- 0x00003cc8, 0x00007011, 0x00003cd1, 0x0000f000, 0x0cc10838, 0x00001202,
- 0x08410837, 0x00001210, 0x00003cc8, 0x00007011, 0x00003cd1, 0x0000f000,
- 0x0cc10038, 0x00009202, 0x08010037, 0x00001210, 0x00003cc8, 0x00007011,
- 0x00003cd1, 0x0000f000, 0x0cc06038, 0x00001202, 0x03006037, 0x00001210,
- 0x00003cc8, 0x00007011, 0x00003cd1, 0x0000f000, 0x0cc05838, 0x00009202,
- 0x02c05837, 0x00001210, 0x00003cd1, 0x0000f009, 0x8cc01235, 0x00001880,
- 0xcbb99433, 0x0000d000, 0x00398800, 0x00000000, 0xcbb91e33, 0x00005000,
- 0x00391000, 0x00008000, 0xcbf90833, 0x00005000, 0x00390000, 0x00000000,
- 0xcbf86233, 0x0000d000, 0x00385800, 0x00000000, 0x8d400a35, 0x00009080,
- 0x80080235, 0x00001582, 0x00003c98, 0x0000f013, 0x00000001, 0x00007480,
- 0x8000003c, 0x00006c86, 0x0ff9e034, 0x00002884, 0x00003cda, 0x0000f200,
- 0x81800000, 0x00009980, 0x81800a06, 0x00009080, 0x81c00a06, 0x00001080,
- 0x8001fa07, 0x00001582, 0x0b800406, 0x0000d084, 0x00400000, 0x00008000,
- 0x00003cd9, 0x0000f031, 0x00000001, 0x0000f080, 0xc1f822ec, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x99e02404, 0x0000e100, 0x99800c04, 0x0000c880,
- 0xbbf84266, 0x00003038, 0xbbf85466, 0x0000b038, 0x14403267, 0x0000f902,
- 0x01c00000, 0x00008000, 0xffffffff, 0x00007f86, 0x01400c08, 0x00001283,
- 0xc1c0c6ec, 0x0000f912, 0x06400000, 0x00008000, 0xc200d0ec, 0x00007912,
- 0x06c00000, 0x00000000, 0x00003d7a, 0x00007008, 0x99d85306, 0x00001100,
- 0xc238e2ec, 0x00003038, 0xc238f4ec, 0x0000b038, 0x80004a67, 0x00001582,
- 0x80384608, 0x00009503, 0xffffffff, 0x00007f86, 0x00003d27, 0x00007030,
- 0x00003d24, 0x0000f008, 0x99f0d31c, 0x00001100, 0x80104a67, 0x00001502,
- 0x00003d57, 0x0000f01b, 0x01010408, 0x00009283, 0x03000804, 0x0000e188,
- 0x03400000, 0x00004988, 0x03800000, 0x00006188, 0x03da0080, 0x0000c988,
- 0x00003d87, 0x0000f010, 0xc2133eec, 0x0000a082, 0x04400000, 0x0000f900,
- 0x00018030, 0x00008980, 0xc103fb0a, 0x0000e282, 0x05000000, 0x00008980,
- 0x05400000, 0x0000e180, 0xd0000811, 0x0000e40c, 0x85000800, 0x00006189,
- 0x85433815, 0x0000e001, 0x80000608, 0x0000e583, 0x04c00006, 0x00000980,
- 0x04009000, 0x00007900, 0x00010040, 0x00008980, 0xc1f8b4ec, 0x00003038,
- 0x00003d3d, 0x0000f408, 0x0480570b, 0x00008112, 0x05404a08, 0x00008116,
- 0x01010408, 0x00009283, 0x001040ec, 0x00005790, 0x00004800, 0x00008080,
- 0xc4003000, 0x00009991, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008818ec, 0x0000d780, 0x00884900, 0x00008280,
- 0x19c00e08, 0x0000e081, 0xc2800b0a, 0x00000080, 0x00384467, 0x00006503,
- 0x82000e08, 0x00000081, 0x82000000, 0x00001989, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x00000001, 0x00007480, 0xbbf84266, 0x00002880,
- 0xbbf85466, 0x0000a880, 0x99d84a06, 0x00009100, 0x80001a67, 0x00001582,
- 0x00003cf7, 0x0000701b, 0x0f404467, 0x00006802, 0x00000c67, 0x00009583,
- 0x00001467, 0x00009583, 0x00000467, 0x00001583, 0x00003cfa, 0x00007008,
- 0x00003d6c, 0x0000f008, 0x00003cf7, 0x0000f010, 0x99800a0a, 0x00009080,
- 0xc3c02e66, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0xc3f82e66, 0x0000d000,
- 0x00382000, 0x00000000, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x00000001, 0x00007480, 0x0410d004, 0x00006987,
- 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x99c02309, 0x00006080,
- 0xc2002000, 0x00000981, 0x8107fa67, 0x0000e282, 0xd0000811, 0x0000a404,
- 0xc2001800, 0x0000e189, 0xc5000800, 0x0000c989, 0x01010408, 0x00006283,
- 0xc2402309, 0x00000080, 0x001040ec, 0x00005790, 0x00004800, 0x00008080,
- 0xc4003000, 0x00009991, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008818ec, 0x0000d780, 0x00884900, 0x00008280,
- 0x19c00e08, 0x0000e081, 0xc2800b0a, 0x00000080, 0x00384467, 0x00006503,
- 0x82000e08, 0x00000081, 0x82000000, 0x00001989, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x00000001, 0x00007480, 0xbbf84266, 0x0000b838,
- 0xbbf85466, 0x0000a880, 0x0fc04467, 0x0000e802, 0x00000467, 0x00001583,
- 0x00001467, 0x00009583, 0xffffffff, 0x00007f86, 0x00003db5, 0x00007008,
- 0x00003cfa, 0x00007010, 0x01c00020, 0x00006180, 0x03c00000, 0x00004980,
- 0x04274800, 0x00007900, 0x00040d12, 0x00008980, 0x0444c000, 0x00007900,
- 0x001d8e88, 0x00008980, 0x08001a0b, 0x00006106, 0x08004512, 0x00003000,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x3d6c20b1, 0x0000f500, 0x04884804, 0x0000810a, 0x83f0d31c, 0x00006100,
- 0x81c0f000, 0x00008980, 0x01c00020, 0x00006180, 0x01400000, 0x00004980,
- 0x04294000, 0x00007900, 0x00040d12, 0x00008980, 0x044d3000, 0x00007900,
- 0x003c7c02, 0x00008980, 0x08001a0b, 0x00006106, 0x08004512, 0x00003000,
- 0x82e00500, 0x0000802e, 0x03002702, 0x00008108, 0x84804906, 0x0000803e,
- 0x3d7a20b1, 0x00007500, 0x03c0fd06, 0x0000009d, 0x8158530a, 0x00001900,
- 0x01c00020, 0x00006180, 0x04800000, 0x00004980, 0x040e6000, 0x0000f900,
- 0x00040d12, 0x00008980, 0x045b4800, 0x0000f900, 0x00352ef0, 0x00008980,
- 0x03c00000, 0x00006180, 0x08001a0b, 0x00006106, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x3d8720b1, 0x0000f500, 0x82f81400, 0x00008030,
- 0x0480e804, 0x0000009d, 0xc2402aec, 0x00007902, 0x81180000, 0x00000000,
- 0xc21036ec, 0x00002082, 0x0d80e467, 0x0000e000, 0x0e80e407, 0x0000b000,
- 0xc24062ec, 0x00002001, 0x8000ba04, 0x0000e582, 0x09800000, 0x00000980,
- 0xc2b874ec, 0x00002080, 0xc2a02cec, 0x0000a080, 0x00003da4, 0x00007218,
- 0x09c00000, 0x00006180, 0x0f403406, 0x00006000, 0x998017e2, 0x00001880,
- 0x99800a66, 0x00009080, 0xca002e66, 0x00007902, 0x01000000, 0x00008000,
+ 0x00000596, 0x000082a0, 0x000050ec, 0x0000f902, 0x01800000, 0x00000704,
+ 0xffffffff, 0x00007fa7, 0x81801e0a, 0x00001283, 0x02400809, 0x0000e090,
+ 0x08005206, 0x0000a110, 0x00003fad, 0x00007009, 0x05a4b206, 0x0000c591,
+ 0x7d604409, 0x0000802c, 0x3f843cf6, 0x0000f300, 0x0884b000, 0x00001980,
+ 0x00003fb2, 0x00007400, 0x988000ec, 0x0000d000, 0x00405800, 0x00008080,
+ 0x98b84aec, 0x00002880, 0x3f8c3cf6, 0x00007500, 0x988000ec, 0x0000d000,
+ 0x00402800, 0x00000080, 0x0884b000, 0x00001980, 0x354028ec, 0x0000a006,
+ 0x350006ec, 0x00005004, 0x00600000, 0x00008083, 0xffffffff, 0x00007f97,
+ 0x80000205, 0x00009582, 0x988000ec, 0x00005010, 0x00406800, 0x00008080,
+ 0x356028ec, 0x0000200c, 0x00003f9b, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0x80000205, 0x00009582, 0x988000ec, 0x00005010, 0x00407000, 0x00008080,
+ 0x988000ec, 0x00005008, 0x00400000, 0x00000080, 0x00003fb2, 0x00007200,
+ 0x988002ec, 0x0000d080, 0x00400000, 0x00008000, 0x3fa03cf6, 0x0000f300,
+ 0x0884b000, 0x00001980, 0x988000ec, 0x0000d000, 0x00403800, 0x00008080,
+ 0x00003fb2, 0x00007200, 0x98b02aec, 0x00002882, 0x3fa63cf6, 0x0000f300,
+ 0x0884b000, 0x00001980, 0x988000ec, 0x0000d000, 0x00405000, 0x00000080,
+ 0x00003fb2, 0x00007200, 0x98b062ec, 0x00002882, 0x83000a0c, 0x00009080,
+ 0xca50320c, 0x0000f82b, 0x91c00000, 0x00009f8a, 0x3faf3cf6, 0x0000f300,
+ 0x0884b000, 0x00001980, 0x988000ec, 0x0000d000, 0x00406000, 0x00000080,
+ 0x98b82aec, 0x00002880, 0x00000001, 0x00007280, 0x988008ec, 0x0000d080,
+ 0x00400000, 0x00008000, 0x8d40140c, 0x00001880, 0x0ff9e035, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x4000053c, 0x00009583, 0x81c00000, 0x0000e190,
+ 0x0ec06234, 0x0000e014, 0x0da1a434, 0x00009911, 0x00003ffc, 0x00007008,
+ 0x0d00fc0c, 0x00009281, 0x0e21a7e4, 0x00001800, 0x0dc1c0e5, 0x00009400,
+ 0x8d001207, 0x00001880, 0xcb819c34, 0x00007902, 0x0c800000, 0x00008000,
+ 0xcb818e34, 0x00007902, 0x08c00000, 0x00008000, 0xcbc11034, 0x00007902,
+ 0x08400000, 0x00000000, 0xcbc10234, 0x00007902, 0x03000000, 0x00000000,
+ 0xfa200436, 0x0000c489, 0xaa600c36, 0x00008f8f, 0xfb201436, 0x0000c489,
+ 0xba601c36, 0x00008f8f, 0xfc202436, 0x00004489, 0xca602c36, 0x00000f8f,
+ 0xfb403436, 0x0000f893, 0x49c00000, 0x00009f8f, 0x0d019838, 0x00009202,
+ 0x0cc19837, 0x00001210, 0x00003ff0, 0x0000f011, 0x00003ff9, 0x0000f000,
+ 0x0d019038, 0x00001202, 0x0c819037, 0x00001210, 0x00003ff0, 0x0000f011,
+ 0x00003ff9, 0x0000f000, 0x0d018838, 0x00001202, 0x0c418837, 0x00001210,
+ 0x00003ff0, 0x0000f011, 0x00003ff9, 0x0000f000, 0x0d011838, 0x00001202,
+ 0x08c11837, 0x00001210, 0x00003ff0, 0x0000f011, 0x00003ff9, 0x0000f000,
+ 0x0d011038, 0x00009202, 0x08811037, 0x00001210, 0x00003ff0, 0x0000f011,
+ 0x00003ff9, 0x0000f000, 0x0d010838, 0x00009202, 0x08410837, 0x00001210,
+ 0x00003ff0, 0x0000f011, 0x00003ff9, 0x0000f000, 0x0d010038, 0x00001202,
+ 0x08010037, 0x00001210, 0x00003ff0, 0x0000f011, 0x00003ff9, 0x0000f000,
+ 0x0d006038, 0x00009202, 0x03006037, 0x00001210, 0x00003ff9, 0x0000f009,
+ 0x8d001207, 0x00001880, 0xcbb99c34, 0x0000d000, 0x00399000, 0x00000000,
+ 0xcbb98e34, 0x0000d000, 0x00391800, 0x00000000, 0xcbf91034, 0x0000d000,
+ 0x00390800, 0x00008000, 0xcbf90234, 0x0000d000, 0x00386000, 0x00008000,
+ 0x81c00a07, 0x00009080, 0x80080207, 0x00009582, 0x00003fc0, 0x00007013,
+ 0x00000001, 0x00007480, 0x8000003c, 0x00006c86, 0x0ff9e035, 0x0000a884,
+ 0x00004002, 0x00007200, 0x81800000, 0x00009980, 0x81800a06, 0x00009080,
+ 0x81c00a06, 0x00001080, 0x8001fa07, 0x00001582, 0x0b800406, 0x0000d084,
+ 0x00400000, 0x00008000, 0x00004001, 0x00007031, 0x00000001, 0x0000f080,
+ 0xc1f822ec, 0x0000a080, 0xffffffff, 0x00007fa7, 0x99e02404, 0x0000e100,
+ 0x99800c04, 0x0000c880, 0xbbf84266, 0x00003038, 0xbbf85466, 0x0000b038,
+ 0x14403267, 0x0000f902, 0x01c00000, 0x00008000, 0xffffffff, 0x00007f86,
+ 0x01400c08, 0x00001283, 0xc1c0c6ec, 0x0000f912, 0x06400000, 0x00008000,
+ 0xc200d0ec, 0x00007912, 0x06c00000, 0x00000000, 0x000040a2, 0x00007008,
+ 0x99d85306, 0x00001100, 0xc238e2ec, 0x00003038, 0xc238f4ec, 0x0000b038,
+ 0x80004a67, 0x00001582, 0x80384608, 0x00009503, 0xffffffff, 0x00007f86,
+ 0x0000404f, 0x0000f030, 0x0000404c, 0x00007008, 0x99f0d31c, 0x00001100,
+ 0x80104a67, 0x00001502, 0x0000407f, 0x0000f01b, 0x01010408, 0x00009283,
+ 0x03000804, 0x0000e188, 0x03400000, 0x00004988, 0x03800000, 0x00006188,
+ 0x03da0080, 0x0000c988, 0x000040af, 0x0000f010, 0xc2133eec, 0x0000a082,
+ 0x04400000, 0x0000f900, 0x00018030, 0x00008980, 0xc103fb0a, 0x0000e282,
+ 0x05000000, 0x00008980, 0x05400000, 0x0000e180, 0xd0000811, 0x0000e40c,
+ 0x85000800, 0x00006189, 0x85433815, 0x0000e001, 0x80000608, 0x0000e583,
+ 0x04c00006, 0x00000980, 0x04009000, 0x00007900, 0x00010040, 0x00008980,
+ 0xc1f8b4ec, 0x00003038, 0x00004065, 0x00007408, 0x0480570b, 0x00008112,
+ 0x05404a08, 0x00008116, 0x01010408, 0x00009283, 0x001040ec, 0x00005790,
+ 0x00004800, 0x00008080, 0xc4003000, 0x00009991, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008818ec, 0x0000d780,
+ 0x00884900, 0x00008280, 0x19c00e08, 0x0000e081, 0xc2800b0a, 0x00000080,
+ 0x00384467, 0x00006503, 0x82000e08, 0x00000081, 0x82000000, 0x00001989,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000001, 0x00007480,
+ 0xbbf84266, 0x00002880, 0xbbf85466, 0x0000a880, 0x99d84a06, 0x00009100,
+ 0x80001a67, 0x00001582, 0x0000401f, 0x0000f01b, 0x0f404467, 0x00006802,
+ 0x00000c67, 0x00009583, 0x00001467, 0x00009583, 0x00000467, 0x00001583,
+ 0x00004022, 0x0000f008, 0x00004094, 0x00007008, 0x0000401f, 0x00007010,
+ 0x99800a0a, 0x00009080, 0xc3c02e66, 0x00007902, 0x01000000, 0x00008000,
0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
- 0xca382e66, 0x0000d000, 0x00382000, 0x00000000, 0x01000000, 0x00009980,
+ 0xc3f82e66, 0x0000d000, 0x00382000, 0x00000000, 0x01000000, 0x00009980,
0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00000001, 0x00007480,
0x0410d004, 0x00006987, 0x700008ec, 0x00005680, 0x00382002, 0x00008000,
- 0x0000dc0c, 0x00009583, 0x998017e2, 0x00009890, 0xca002e66, 0x0000f912,
- 0x01000000, 0x00008000, 0x00003dc3, 0x0000f008, 0xffffffff, 0x00007f97,
- 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0xca382e66, 0x0000d000,
- 0x00382000, 0x00000000, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x00000001, 0x00007480, 0x0410d004, 0x00006987,
- 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0xc3c02e0a, 0x00007902,
+ 0x99c02309, 0x00006080, 0xc2002000, 0x00000981, 0x8107fa67, 0x0000e282,
+ 0xd0000811, 0x0000a404, 0xc2001800, 0x0000e189, 0xc5000800, 0x0000c989,
+ 0x01010408, 0x00006283, 0xc2402309, 0x00000080, 0x001040ec, 0x00005790,
+ 0x00004800, 0x00008080, 0xc4003000, 0x00009991, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008818ec, 0x0000d780,
+ 0x00884900, 0x00008280, 0x19c00e08, 0x0000e081, 0xc2800b0a, 0x00000080,
+ 0x00384467, 0x00006503, 0x82000e08, 0x00000081, 0x82000000, 0x00001989,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000001, 0x00007480,
+ 0xbbf84266, 0x0000b838, 0xbbf85466, 0x0000a880, 0x0fc04467, 0x0000e802,
+ 0x00000467, 0x00001583, 0x00001467, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x000040dd, 0x0000f008, 0x00004022, 0x0000f010, 0x01400020, 0x0000e180,
+ 0x01c00000, 0x0000c980, 0x04274800, 0x00007900, 0x00040d12, 0x00008980,
+ 0x0444c000, 0x00007900, 0x001d8e88, 0x00008980, 0x08001a0b, 0x00006106,
+ 0x08004512, 0x00003000, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x82f81400, 0x0000803c, 0x40942213, 0x00007500, 0x04884804, 0x0000810a,
+ 0x81f0d31c, 0x0000e100, 0x8140f000, 0x00000980, 0x01400020, 0x0000e180,
+ 0x03400000, 0x0000c980, 0x04294000, 0x00007900, 0x00040d12, 0x00008980,
+ 0x044d3000, 0x00007900, 0x003c7c02, 0x00008980, 0x08001a0b, 0x00006106,
+ 0x08004512, 0x00003000, 0x82e00500, 0x0000802e, 0x03c02702, 0x00008108,
+ 0x84804906, 0x0000001e, 0x40a22213, 0x00007500, 0x01c0fd06, 0x00000095,
+ 0x8358530a, 0x00009900, 0x01400020, 0x0000e180, 0x04800000, 0x00004980,
+ 0x040e6000, 0x0000f900, 0x00040d12, 0x00008980, 0x045b4800, 0x0000f900,
+ 0x00352ef0, 0x00008980, 0x01c00000, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x40af2213, 0x0000f500,
+ 0x82f81400, 0x0000803c, 0x0480e804, 0x00008095, 0xc2402aec, 0x00007902,
+ 0x81180000, 0x00000000, 0xc21036ec, 0x00002082, 0x0d80e467, 0x0000e000,
+ 0x0e80e407, 0x0000b000, 0xc24062ec, 0x00002001, 0x8000ba04, 0x0000e582,
+ 0x09800000, 0x00000980, 0xc2b874ec, 0x00002080, 0xc2a02cec, 0x0000a080,
+ 0x000040cc, 0x0000f218, 0x09c00000, 0x00006180, 0x0f403406, 0x00006000,
+ 0x998017e2, 0x00001880, 0x99800a66, 0x00009080, 0xca002e66, 0x00007902,
0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082,
- 0x01000004, 0x00009084, 0xc3f82e0a, 0x0000d000, 0x00382000, 0x00000000,
+ 0x01000004, 0x00009084, 0xca382e66, 0x0000d000, 0x00382000, 0x00000000,
0x01000000, 0x00009980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
0x00000001, 0x00007480, 0x0410d004, 0x00006987, 0x700008ec, 0x00005680,
- 0x00382002, 0x00008000, 0x01078705, 0x00001281, 0x00030404, 0x00001583,
- 0x998017e2, 0x00009890, 0x99801266, 0x00001090, 0x00003dd6, 0x00007008,
- 0xca002e66, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0xca382e66, 0x0000d000,
+ 0x00382002, 0x00008000, 0x0000dc0c, 0x00009583, 0x998017e2, 0x00009890,
+ 0xca002e66, 0x0000f912, 0x01000000, 0x00008000, 0x000040eb, 0x0000f008,
+ 0xffffffff, 0x00007f97, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
+ 0xca382e66, 0x0000d000, 0x00382000, 0x00000000, 0x01000000, 0x00009980,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00000001, 0x00007480,
+ 0x0410d004, 0x00006987, 0x700008ec, 0x00005680, 0x00382002, 0x00008000,
+ 0xc3c02e0a, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0xc3f82e0a, 0x0000d000,
0x00382000, 0x00000000, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
0x00000040, 0x00000080, 0x00000001, 0x00007480, 0x0410d004, 0x00006987,
- 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x81007e0e, 0x00001283,
- 0x998017e2, 0x00009890, 0x99801266, 0x00001090, 0x00003de8, 0x0000f008,
- 0xca002e66, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x01078705, 0x00001281,
+ 0x00030404, 0x00001583, 0x998017e2, 0x00009890, 0x99801266, 0x00001090,
+ 0x000040fe, 0x00007008, 0xca002e66, 0x00007902, 0x01000000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
+ 0xca382e66, 0x0000d000, 0x00382000, 0x00000000, 0x01000000, 0x00009980,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00000001, 0x00007480,
+ 0x0410d004, 0x00006987, 0x700008ec, 0x00005680, 0x00382002, 0x00008000,
+ 0x81007e0e, 0x00001283, 0x998017e2, 0x00009890, 0x99801266, 0x00001090,
+ 0x00004110, 0x0000f008, 0xca002e66, 0x00007902, 0x01000000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
+ 0xca382e66, 0x0000d000, 0x00382000, 0x00000000, 0x01000000, 0x00009980,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00000001, 0x00007480,
+ 0x0410d004, 0x00006987, 0x700008ec, 0x00005680, 0x00382002, 0x00008000,
+ 0x80172a05, 0x00001502, 0x998017e2, 0x00009890, 0xca002e66, 0x0000f912,
+ 0x01000000, 0x00008000, 0x00004121, 0x00007008, 0xffffffff, 0x00007f97,
0x01400805, 0x00001082, 0x01000004, 0x00009084, 0xca382e66, 0x0000d000,
0x00382000, 0x00000000, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
0x00000040, 0x00000080, 0x00000001, 0x00007480, 0x0410d004, 0x00006987,
- 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x80172a05, 0x00001502,
- 0x998017e2, 0x00009890, 0xca002e66, 0x0000f912, 0x01000000, 0x00008000,
- 0x00003df9, 0x0000f008, 0xffffffff, 0x00007f97, 0x01400805, 0x00001082,
- 0x01000004, 0x00009084, 0xca382e66, 0x0000d000, 0x00382000, 0x00000000,
- 0x01000000, 0x00009980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x00000001, 0x00007480, 0x0410d004, 0x00006987, 0x700008ec, 0x00005680,
- 0x00382002, 0x00008000, 0x0107070e, 0x00001281, 0x00030404, 0x00001583,
- 0x998017e2, 0x00009890, 0x99801266, 0x00001090, 0x00003e0c, 0x0000f008,
+ 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x0107070e, 0x00001281,
+ 0x00030404, 0x00001583, 0x998017e2, 0x00009890, 0x99801266, 0x00001090,
+ 0x00004134, 0x0000f008, 0xca002e66, 0x00007902, 0x01000000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
+ 0xca382e66, 0x0000d000, 0x00382000, 0x00000000, 0x01000000, 0x00009980,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00000001, 0x00007480,
+ 0x0410d004, 0x00006987, 0x700008ec, 0x00005680, 0x00382002, 0x00008000,
+ 0x0100ff0e, 0x00001281, 0x01002404, 0x00001181, 0x00000c04, 0x00009583,
+ 0x998017e2, 0x00001898, 0x99801266, 0x00009098, 0x00004148, 0x0000f030,
0xca002e66, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
0x01400805, 0x00001082, 0x01000004, 0x00009084, 0xca382e66, 0x0000d000,
0x00382000, 0x00000000, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
0x00000040, 0x00000080, 0x00000001, 0x00007480, 0x0410d004, 0x00006987,
- 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x0100ff0e, 0x00001281,
- 0x01002404, 0x00001181, 0x00000c04, 0x00009583, 0x998017e2, 0x00001898,
- 0x99801266, 0x00009098, 0x00003e20, 0x0000f030, 0xca002e66, 0x00007902,
+ 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x19e33c07, 0x00001201,
+ 0x01203467, 0x00009303, 0x998017e2, 0x00009890, 0x99801a66, 0x00009090,
+ 0x0000415b, 0x0000f008, 0xca002e66, 0x00007902, 0x01000000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
+ 0xca382e66, 0x0000d000, 0x00382000, 0x00000000, 0x01000000, 0x00009980,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00000001, 0x00007480,
+ 0x0410d004, 0x00006987, 0x700008ec, 0x00005680, 0x00382002, 0x00008000,
+ 0xc008ab1d, 0x0000f900, 0x00000022, 0x00000582, 0xc2a134ec, 0x0000a000,
+ 0x00004186, 0x00007009, 0xc000031d, 0x0000f900, 0x00000002, 0x00008582,
+ 0x99c1a31c, 0x00001188, 0xc870d267, 0x00001108, 0x00004169, 0x00007008,
+ 0xc036eb1d, 0x0000f900, 0x00000020, 0x00008582, 0x99c2431c, 0x00009188,
+ 0xc870d267, 0x00001108, 0x00004191, 0x0000f010, 0xc25020ec, 0x0000f902,
+ 0x19c00300, 0x00008000, 0xc2b910ec, 0x0000b038, 0xc2b922ec, 0x00003038,
+ 0xffffffff, 0x00007f86, 0x88533a67, 0x00006100, 0x01008204, 0x0000c880,
+ 0x19c08067, 0x00001780, 0x08033804, 0x00001300, 0xc2133eec, 0x0000a082,
+ 0x05400000, 0x000081d0, 0x04400000, 0x0000f900, 0x00018030, 0x00008980,
+ 0xc103fb0a, 0x0000e282, 0x03000804, 0x00008980, 0x85433815, 0x0000e001,
+ 0xd0000811, 0x0000b40c, 0x04009000, 0x00007900, 0x00010040, 0x00008980,
+ 0xc1f8b4ec, 0x00003038, 0x03400000, 0x000000f8, 0x03da0080, 0x00006180,
+ 0x04c00006, 0x0000c980, 0x0480570b, 0x00008112, 0x85000800, 0x00006189,
+ 0x85584b09, 0x0000c900, 0x85704608, 0x00001901, 0x0e400608, 0x00007892,
+ 0x2a000000, 0x0000a083, 0xc2433aec, 0x0000a002, 0xc24020ec, 0x0000a082,
+ 0xc2b910ec, 0x0000b038, 0xc2b922ec, 0x00003038, 0xc840c267, 0x00009180,
+ 0xc27b38ec, 0x00002000, 0x01008204, 0x00009880, 0x00004172, 0x00007403,
+ 0x19c08067, 0x0000e780, 0x88533a67, 0x00008900, 0x08033804, 0x00001300,
+ 0x01400020, 0x0000e180, 0x0418e807, 0x0000e187, 0x81ff1fe3, 0x0000e100,
+ 0x08001a0b, 0x00006106, 0x04194800, 0x0000f900, 0x0006f8ae, 0x00008980,
+ 0x046a6000, 0x00007900, 0x002648f6, 0x00000980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x41a02213, 0x00007500,
+ 0x81405800, 0x00006180, 0x04803807, 0x0000c900, 0x01c00800, 0x00001980,
+ 0xc2f822ec, 0x0000b838, 0xc2f834ec, 0x00003838, 0xc2f846ec, 0x00003838,
+ 0xc33850ec, 0x00003838, 0xc33862ec, 0x0000b838, 0xc33874ec, 0x00003838,
+ 0xc33886ec, 0x0000b838, 0xc37890ec, 0x0000b838, 0xc378a2ec, 0x00003838,
+ 0xc378b4ec, 0x0000b838, 0xc378c6ec, 0x0000b838, 0xc3b8d0ec, 0x00003838,
+ 0xc3b8e2ec, 0x0000b838, 0xc3b8f4ec, 0x00003838, 0xc3b906ec, 0x00003838,
+ 0xc3f910ec, 0x00003838, 0x41b34008, 0x00007500, 0xc3f922ec, 0x0000b838,
+ 0xc3f934ec, 0x00003838, 0xc2f822ec, 0x00003038, 0xc2f834ec, 0x0000b038,
+ 0xc2f846ec, 0x0000b038, 0xc33850ec, 0x0000b038, 0xc33862ec, 0x00003038,
+ 0xc33874ec, 0x0000b038, 0xc33886ec, 0x00003038, 0xc37890ec, 0x00003038,
+ 0xc378a2ec, 0x0000b038, 0xc378b4ec, 0x00003038, 0xc378c6ec, 0x00003038,
+ 0xc3b8d0ec, 0x0000b038, 0xc3b8e2ec, 0x00003038, 0xc3b8f4ec, 0x0000b038,
+ 0xc3b906ec, 0x0000b038, 0xc3f910ec, 0x0000b038, 0x00000001, 0x00007480,
+ 0xc3f922ec, 0x00003038, 0xc3f934ec, 0x0000b038, 0x02020412, 0x00001283,
+ 0x08009408, 0x0000e892, 0x82204408, 0x00001910, 0x0b800408, 0x0000d094,
+ 0x00400000, 0x00008000, 0x82371ee3, 0x00009900, 0xbac04208, 0x00002080,
+ 0xffffffff, 0x00007fa7, 0x00000408, 0x00001583, 0x700000ec, 0x00005690,
+ 0x00000040, 0x00000080, 0x02400000, 0x0000e190, 0x02000000, 0x00004990,
+ 0x000041f1, 0x0000f008, 0x04107008, 0x00006987, 0x700700ec, 0x00005680,
+ 0x00384002, 0x00008000, 0x82371ee3, 0x00009900, 0xbac04a08, 0x00002081,
+ 0xc1c004ec, 0x00005080, 0x00400000, 0x00008000, 0xc1f866ec, 0x0000b838,
+ 0xc23870ec, 0x00003838, 0xc1f84aec, 0x0000a880, 0xc23882ec, 0x0000b838,
+ 0xc23894ec, 0x00003838, 0xc23826ec, 0x00003838, 0xc27830ec, 0x00003838,
+ 0xc278e2ec, 0x00003838, 0xc278f4ec, 0x0000b838, 0xc27906ec, 0x0000b838,
+ 0xc2b910ec, 0x00003838, 0xc2b922ec, 0x0000b838, 0xc2b934ec, 0x00003838,
+ 0xc2b946ec, 0x00003838, 0xc2f950ec, 0x00003838, 0x41ef41a0, 0x00007500,
+ 0xc1c004ec, 0x0000d000, 0x00400000, 0x00000080, 0xc1c002ec, 0x0000d000,
+ 0x00400000, 0x00000080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x820027e2, 0x00009880, 0x82002a08, 0x00001080, 0x99402c08, 0x0000f902,
0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082,
- 0x01000004, 0x00009084, 0xca382e66, 0x0000d000, 0x00382000, 0x00000000,
+ 0x01000004, 0x00009084, 0x99782c08, 0x00005000, 0x00382000, 0x00000000,
0x01000000, 0x00009980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x00000001, 0x00007480, 0x0410d004, 0x00006987, 0x700008ec, 0x00005680,
- 0x00382002, 0x00008000, 0x19e33c07, 0x00001201, 0x01203467, 0x00009303,
- 0x998017e2, 0x00009890, 0x99801a66, 0x00009090, 0x00003e33, 0x0000f008,
- 0xca002e66, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0xca382e66, 0x0000d000,
- 0x00382000, 0x00000000, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x00000001, 0x00007480, 0x0410d004, 0x00006987,
- 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0xc008ab1d, 0x0000f900,
- 0x00000022, 0x00000582, 0xc2a134ec, 0x0000a000, 0x00003e5e, 0x0000f009,
- 0xc000031d, 0x0000f900, 0x00000002, 0x00008582, 0x99c1a31c, 0x00001188,
- 0xc870d267, 0x00001108, 0x00003e41, 0x0000f008, 0xc036eb1d, 0x0000f900,
- 0x00000020, 0x00008582, 0x99c2431c, 0x00009188, 0xc870d267, 0x00001108,
- 0x00003e69, 0x0000f010, 0xc25020ec, 0x0000f902, 0x19c00300, 0x00008000,
- 0xc2b910ec, 0x0000b038, 0xc2b922ec, 0x00003038, 0xffffffff, 0x00007f86,
- 0x88533a67, 0x00006100, 0x01008204, 0x0000c880, 0x19c08067, 0x00001780,
- 0x08033804, 0x00001300, 0xc2133eec, 0x0000a082, 0x05400000, 0x000081d0,
- 0x04400000, 0x0000f900, 0x00018030, 0x00008980, 0xc103fb0a, 0x0000e282,
- 0x03000804, 0x00008980, 0x85433815, 0x0000e001, 0xd0000811, 0x0000b40c,
- 0x04009000, 0x00007900, 0x00010040, 0x00008980, 0xc1f8b4ec, 0x00003038,
- 0x03400000, 0x000000f8, 0x03da0080, 0x00006180, 0x04c00006, 0x0000c980,
- 0x0480570b, 0x00008112, 0x85000800, 0x00006189, 0x85584b09, 0x0000c900,
- 0x85704608, 0x00001901, 0x44400608, 0x00007893, 0xe9c00000, 0x00001e89,
- 0xc2433aec, 0x0000a002, 0xc24020ec, 0x0000a082, 0xc2b910ec, 0x0000b038,
- 0xc2b922ec, 0x00003038, 0xc840c267, 0x00009180, 0xc27b38ec, 0x00002000,
- 0x01008204, 0x00009880, 0x00003e4a, 0x00007403, 0x19c08067, 0x0000e780,
- 0x88533a67, 0x00008900, 0x08033804, 0x00001300, 0x01c00020, 0x00006180,
- 0x0418e808, 0x0000e187, 0x823f1fe3, 0x0000e100, 0x08001a0b, 0x00006106,
- 0x04194800, 0x0000f900, 0x0006f8ae, 0x00008980, 0x046a6000, 0x00007900,
- 0x002648f6, 0x00000980, 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901,
- 0x82f81400, 0x00008030, 0x3e7720b1, 0x0000f500, 0x03c05801, 0x000000dd,
- 0x04804008, 0x00009900, 0xc2f822ec, 0x0000b838, 0xc2f834ec, 0x00003838,
- 0xc2f846ec, 0x00003838, 0xc33850ec, 0x00003838, 0xc33862ec, 0x0000b838,
- 0xc33874ec, 0x00003838, 0xc33886ec, 0x0000b838, 0xc37890ec, 0x0000b838,
- 0xc378a2ec, 0x00003838, 0xc378b4ec, 0x0000b838, 0xc378c6ec, 0x0000b838,
- 0xc3b8d0ec, 0x00003838, 0xc3b8e2ec, 0x0000b838, 0xc3b8f4ec, 0x00003838,
- 0xc3b906ec, 0x00003838, 0xc3f910ec, 0x00003838, 0x3e8a3ce0, 0x00007500,
- 0xc3f922ec, 0x0000b838, 0xc3f934ec, 0x00003838, 0xc2f822ec, 0x00003038,
- 0xc2f834ec, 0x0000b038, 0xc2f846ec, 0x0000b038, 0xc33850ec, 0x0000b038,
- 0xc33862ec, 0x00003038, 0xc33874ec, 0x0000b038, 0xc33886ec, 0x00003038,
- 0xc37890ec, 0x00003038, 0xc378a2ec, 0x0000b038, 0xc378b4ec, 0x00003038,
- 0xc378c6ec, 0x00003038, 0xc3b8d0ec, 0x0000b038, 0xc3b8e2ec, 0x00003038,
- 0xc3b8f4ec, 0x0000b038, 0xc3b906ec, 0x0000b038, 0xc3f910ec, 0x0000b038,
- 0x00000001, 0x00007480, 0xc3f922ec, 0x00003038, 0xc3f934ec, 0x0000b038,
- 0x02020412, 0x00001283, 0x08009408, 0x0000e892, 0x82204408, 0x00001910,
- 0x0b800408, 0x0000d094, 0x00400000, 0x00008000, 0x82371ee3, 0x00009900,
- 0xbac04208, 0x00002080, 0xffffffff, 0x00007fa7, 0x00000408, 0x00001583,
- 0x700000ec, 0x00005690, 0x00000040, 0x00000080, 0x02400000, 0x0000e190,
- 0x02000000, 0x00004990, 0x00003ec8, 0x00007008, 0x04107008, 0x00006987,
- 0x700700ec, 0x00005680, 0x00384002, 0x00008000, 0x82371ee3, 0x00009900,
- 0xbac04a08, 0x00002081, 0xc1c004ec, 0x00005080, 0x00400000, 0x00008000,
- 0xc1f866ec, 0x0000b838, 0xc23870ec, 0x00003838, 0xc1f84aec, 0x0000a880,
- 0xc23882ec, 0x0000b838, 0xc23894ec, 0x00003838, 0xc23826ec, 0x00003838,
- 0xc27830ec, 0x00003838, 0xc278e2ec, 0x00003838, 0xc278f4ec, 0x0000b838,
- 0xc27906ec, 0x0000b838, 0xc2b910ec, 0x00003838, 0xc2b922ec, 0x0000b838,
- 0xc2b934ec, 0x00003838, 0xc2b946ec, 0x00003838, 0xc2f950ec, 0x00003838,
- 0x3ec63e77, 0x0000f500, 0xc1c004ec, 0x0000d000, 0x00400000, 0x00000080,
- 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x820027e2, 0x00009880, 0x82002a08, 0x00001080,
- 0x99402c08, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0x99782c08, 0x00005000,
- 0x00382000, 0x00000000, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04107004, 0x00006987, 0x700708ec, 0x0000d680,
- 0x00382002, 0x00008000, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x03000000, 0x00001980, 0x82c00a0c, 0x00009880, 0xbbc10a0b, 0x00007902,
- 0x08000000, 0x00008000, 0xbbc0f40b, 0x00007902, 0x07400000, 0x00000000,
- 0xffffffff, 0x00007f97, 0x82690d21, 0x00001900, 0x80111209, 0x00009502,
- 0x02c00000, 0x0000e189, 0x08010c0b, 0x00006010, 0xffffffff, 0x00007f86,
- 0x82c00a0c, 0x0000e080, 0x00205821, 0x00006000, 0x0300080c, 0x00009080,
- 0x0001800c, 0x00009582, 0xbbf90a0b, 0x0000d000, 0x00390000, 0x00000000,
- 0xbbf8f40b, 0x0000d000, 0x0038e800, 0x00008000, 0x00003eda, 0x00007010,
- 0x80007a22, 0x00009582, 0xbac00222, 0x0000d0b0, 0x00400000, 0x00008000,
- 0xbac00222, 0x00005030, 0x00400000, 0x00000080, 0x00000001, 0x0000f098,
- 0x8a005a22, 0x0000a080, 0x8a00ea22, 0x0000a081, 0xffffffff, 0x00007f97,
- 0x0f605a0b, 0x0000e802, 0xc9f8660b, 0x00002080, 0x0760efe4, 0x00001800,
- 0x0740e8e5, 0x00009400, 0xffffffff, 0x00007f86, 0x0300e80c, 0x00001200,
- 0xc9f8660b, 0x0000a880, 0xc9f8660b, 0x0000a000, 0xffffffff, 0x00007f86,
- 0x00000001, 0x00007483, 0x0740e80c, 0x00001200, 0xc9f8ee0b, 0x00002800,
- 0x0680a014, 0x00006100, 0x03000804, 0x00004980, 0x05000000, 0x000080f4,
- 0x04009000, 0x00007900, 0x0000c080, 0x00000980, 0x04400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03800000, 0x0000e180, 0x03da0080, 0x00004980,
- 0x04c00000, 0x0000e180, 0x0600b016, 0x0000c900, 0x06785f15, 0x0000812c,
- 0x05c00000, 0x00006180, 0x85102a05, 0x00004900, 0x00000001, 0x00007480,
- 0x05383a05, 0x00000118, 0x05404809, 0x00001900, 0xc1c042ec, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x82000c08, 0x00001880, 0xbbc03208, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x01400c06, 0x00009283, 0x02080000, 0x0000e188,
- 0x024000a0, 0x0000c988, 0x827f1fe3, 0x0000e108, 0x08003408, 0x00006008,
- 0x00003f2c, 0x0000f010, 0xc1d84aec, 0x00002081, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x04012800, 0x0000f900, 0x0033eb84, 0x00008980,
- 0x04691000, 0x0000f900, 0x00158bf8, 0x00008980, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030, 0x3f2c20b1, 0x0000f500,
- 0x03c0a708, 0x0000809d, 0x04804809, 0x00009900, 0xbbc02c08, 0x0000a082,
- 0xc1c04cec, 0x0000f902, 0x01c00000, 0x00008000, 0x02d82800, 0x000001d4,
- 0x05000000, 0x00001980, 0x81800a05, 0x00009080, 0xbbc83408, 0x0000a882,
- 0xbbf83408, 0x00002000, 0x02000000, 0x00009980, 0x8143fa05, 0x00006282,
- 0x00002808, 0x00002186, 0x00000808, 0x0000ec8f, 0x3f3b3f03, 0x00007500,
- 0x05803006, 0x00001900, 0x01404008, 0x00009900, 0x84c00006, 0x00006180,
- 0x04803006, 0x0000c900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008018ec, 0x00005780, 0x00004801, 0x00000080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x00000001, 0x0000f080, 0x01c064ec, 0x00008e86, 0x01004000, 0x00001980,
- 0x01000804, 0x00009182, 0xffffffff, 0x00007fa7, 0x02020300, 0x00007904,
- 0x00003f48, 0x0000f410, 0xc2f84207, 0x0000b838, 0x81c00a07, 0x00009080,
- 0x3f4f3f14, 0x0000f100, 0xb840400c, 0x000080e0, 0xc2f822ec, 0x00003038,
- 0x02000808, 0x00006182, 0x81c00aec, 0x00000080, 0x00003f5b, 0x0000740b,
- 0xffffffff, 0x00007f86, 0x10002500, 0x00007904, 0xc2f82207, 0x00003038,
- 0x02000808, 0x00006182, 0x81c00a07, 0x00000080, 0x00003f56, 0x0000f213,
- 0x10002500, 0x00007904, 0x00000001, 0x0000f080, 0x0147f809, 0x00006280,
- 0x0e40580b, 0x00000900, 0x3f612158, 0x0000f500, 0x0e38370a, 0x0000001c,
- 0x01802805, 0x00009900, 0x01600000, 0x00000ffd, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04182005, 0x00006987, 0x700708ec, 0x0000d680,
- 0x00382802, 0x00000000, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x1c404008, 0x0000e100, 0x00204807, 0x0000e086, 0x82284807, 0x0000e886,
- 0x04184807, 0x00006987, 0x03003807, 0x00009900, 0x1b90c000, 0x0000f900,
- 0x00285c78, 0x00008980, 0x1c00600c, 0x00001900, 0xffffffff, 0x00007ff7,
- 0x82c034ec, 0x00007902, 0x01400000, 0x00008604, 0xffffffff, 0x00007fa7,
- 0x01c03006, 0x00006100, 0x00002005, 0x00006586, 0x1bc03807, 0x0000e100,
- 0x04284805, 0x0000e087, 0x3f7c2178, 0x00007500, 0x86204805, 0x0000e887,
- 0x1b402805, 0x00001900, 0x00400c09, 0x00004588, 0x08c01c09, 0x00008e8d,
- 0x3f81250b, 0x0000f404, 0x2a385f0a, 0x0000801c, 0x01809d00, 0x00009980,
- 0x00000406, 0x00009583, 0x81ff1fe3, 0x00001908, 0x8a002a07, 0x00002088,
- 0x00003f8a, 0x0000f010, 0xffffffff, 0x00007f97, 0x01c03c05, 0x00009281,
- 0x01401407, 0x00009181, 0x00000c05, 0x00001583, 0x00003f8f, 0x0000701b,
- 0xc1785806, 0x0000801c, 0x00004018, 0x0000f400, 0x02d72000, 0x0000f900,
- 0x0033eb80, 0x00000980, 0x02783f05, 0x00008018, 0x00000c07, 0x00006583,
- 0x817f1fe3, 0x00008900, 0x300096a9, 0x00007902, 0x04400000, 0x00000000,
- 0x304080a9, 0x00007902, 0x03c00000, 0x00000000, 0x8a386205, 0x0000a080,
- 0x307872a9, 0x00002080, 0x05400000, 0x0000e180, 0x85bf1fe3, 0x0000c900,
- 0x00003fa2, 0x00007408, 0x44588011, 0x00008118, 0x01c00020, 0x0000e190,
- 0x08006616, 0x0000e004, 0x04190800, 0x00007900, 0x0033eb80, 0x00000980,
- 0x00003faa, 0x00007400, 0x03c00000, 0x000000d4, 0x81c0a000, 0x00001980,
- 0xc0017f10, 0x00009583, 0x01c00020, 0x00006198, 0x03c00000, 0x00004998,
- 0x81c0a000, 0x00006198, 0x01400000, 0x00004998, 0x00003fb1, 0x0000f030,
- 0x04192000, 0x00007900, 0x0033eb80, 0x00000980, 0x04691000, 0x0000f900,
- 0x00158bf8, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x00004071, 0x0000f400, 0x82f81400, 0x00008030, 0x0480b016, 0x00009900,
- 0x81c00f10, 0x00001880, 0xbbf86a07, 0x00002080, 0xffffffff, 0x00007fa7,
- 0x01000c0d, 0x00006283, 0x08006c15, 0x0000a000, 0x01400000, 0x0000e190,
- 0x01c00020, 0x0000c990, 0x81c0a000, 0x00009990, 0x00003fbd, 0x00007008,
- 0x00003fde, 0x00007200, 0x041a2000, 0x00007900, 0x0033eb80, 0x00000980,
- 0x40000511, 0x00006583, 0x0000080d, 0x00002482, 0x03000000, 0x00006180,
- 0x0420300d, 0x0000e087, 0x8620300d, 0x0000e087, 0x0010900c, 0x0000b186,
- 0x01800000, 0x00006180, 0x1240780d, 0x0000e002, 0x3240780d, 0x00006002,
- 0x00000806, 0x00003597, 0x0000040f, 0x00006583, 0x823f180d, 0x0000a086,
- 0x81800f10, 0x0000e080, 0x5160700d, 0x0000e000, 0xbbf83407, 0x0000d000,
- 0x00384000, 0x00000000, 0x00004072, 0x00007208, 0xbbf86a07, 0x00005000,
- 0x00386000, 0x00008000, 0xc5607c0f, 0x0000e101, 0x81771ee3, 0x00004900,
- 0xbae03a05, 0x00007902, 0x01800400, 0x00008000, 0xbaf86205, 0x0000a080,
- 0x81771ee3, 0x00001900, 0xbaf0aa05, 0x00002081, 0x00000407, 0x00001583,
- 0x01400000, 0x0000e190, 0x01c00020, 0x0000c990, 0x81c0a000, 0x00009990,
- 0x00003fe5, 0x0000f008, 0x041d4000, 0x0000f900, 0x0033eb80, 0x00000980,
- 0x04691000, 0x0000f900, 0x00158bf8, 0x00008980, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x00004071, 0x0000f400, 0x82f81400, 0x00008030,
- 0x03f8b715, 0x00000108, 0x4000050f, 0x00006583, 0x0000080c, 0x0000a586,
- 0x81f71ee3, 0x0000e100, 0x8238800c, 0x0000e086, 0x817f17e2, 0x00001900,
- 0xbaf86207, 0x00005000, 0x00383000, 0x00008000, 0x00003ff4, 0x00007408,
- 0xc9f83605, 0x00002000, 0x01f71fe4, 0x00009800, 0x97002e05, 0x00002081,
- 0xffffffff, 0x00007fa7, 0x00001405, 0x00001583, 0x01803806, 0x00009308,
- 0x00003ff7, 0x00007009, 0x014038e5, 0x00001400, 0xffffffff, 0x00007f86,
- 0x01802806, 0x00001200, 0x8000060f, 0x00006583, 0x817f17e2, 0x00008900,
- 0xc9f83605, 0x0000a800, 0x817f17e2, 0x00001900, 0x00004002, 0x0000f208,
- 0xc9f83605, 0x0000a080, 0x97002e05, 0x00002081, 0xffffffff, 0x00007fa7,
- 0x00001405, 0x00001583, 0x01c03806, 0x00001308, 0x00004005, 0x00007009,
- 0x01c038e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01c03806, 0x00001200,
- 0x00004072, 0x0000f400, 0x817f17e2, 0x00001900, 0xc9f83e05, 0x0000a880,
- 0x400b250b, 0x0000f404, 0x2a385f0a, 0x0000801c, 0x01809900, 0x00001980,
- 0x00000406, 0x00009583, 0x81ff1fe3, 0x00001908, 0x8a002a07, 0x00002088,
- 0x00004014, 0x0000f010, 0xffffffff, 0x00007f97, 0x01c03c05, 0x00009281,
- 0x01401407, 0x00009181, 0x00000c05, 0x00001583, 0x00004019, 0x0000f01b,
- 0xc1785806, 0x0000801c, 0x02fa1800, 0x00007900, 0x0033eb80, 0x00000980,
- 0x02783f05, 0x00008018, 0x40193f5c, 0x00007100, 0x30387aa9, 0x00002080,
- 0x05400000, 0x0000e180, 0x048000a0, 0x00004980, 0x84bf1fe3, 0x00001900,
- 0xffffffff, 0x00007f86, 0x80017e0f, 0x0000e583, 0xc4b07e0f, 0x00008901,
- 0x01c00020, 0x00006198, 0x03c00000, 0x00004998, 0x01400000, 0x00006198,
- 0x81c0a000, 0x00004998, 0x0000402d, 0x00007030, 0x043c1000, 0x0000f900,
- 0x0033eb80, 0x00000980, 0x04691000, 0x0000f900, 0x00158bf8, 0x00008980,
- 0x00004071, 0x0000f400, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x03200702, 0x0000802e, 0x81c00e0f, 0x00001880, 0xbbf87207, 0x00002080,
- 0xbbf86407, 0x0000a080, 0xffffffff, 0x00007f97, 0x01000c0e, 0x00009283,
- 0x85480000, 0x00006188, 0x01c00020, 0x0000c988, 0x01400000, 0x0000e188,
- 0x08007415, 0x0000e008, 0x00004040, 0x00007010, 0x043d2000, 0x00007900,
- 0x0033eb80, 0x00000980, 0x04691000, 0x0000f900, 0x00158bf8, 0x00008980,
- 0x81c0a000, 0x00006180, 0x08001a0b, 0x00006106, 0x00004071, 0x0000f400,
- 0x82e00500, 0x0000802e, 0x03f81715, 0x00000030, 0x81771ee3, 0x00001900,
- 0xbac08a05, 0x00007902, 0x04000000, 0x00008000, 0xbac02a05, 0x0000a081,
- 0xffffffff, 0x00007fa7, 0x80202e0f, 0x00009503, 0x81771ee3, 0x0000e108,
- 0x84400000, 0x00004988, 0x44707e0f, 0x00001909, 0x00004059, 0x0000f010,
- 0xbaf88a05, 0x0000d000, 0x00388000, 0x00000000, 0x01771fe4, 0x00001800,
- 0x817f17e2, 0x00006100, 0x040028e5, 0x00004400, 0xc9f82e05, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x817f17e2, 0x00006100, 0x04408005, 0x0000c200,
- 0xc9f88e05, 0x00002880, 0xc9f82e05, 0x00002000, 0xffffffff, 0x00007fa7,
- 0x817f17e2, 0x00006100, 0x04008005, 0x00004200, 0xc9f88605, 0x00002800,
- 0x0000040f, 0x00006583, 0x8418630c, 0x00000900, 0x03bff00e, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x04607c0f, 0x00009909, 0x00004063, 0x0000f008,
- 0xc143fb0c, 0x00006282, 0x04400000, 0x00000981, 0x04400800, 0x0000e189,
- 0xc3000b0c, 0x0000c080, 0x00004073, 0x00007400, 0xbbf87207, 0x0000a880,
- 0xbbf86407, 0x00002880, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0414f000, 0x00007900, 0x0033eb80, 0x00000980, 0x047a9000, 0x0000f900,
- 0x0016f7fa, 0x00008980, 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901,
- 0x82f81400, 0x00008030, 0x04b84f08, 0x0000803c, 0x81c02800, 0x00001980,
- 0x407220b1, 0x00007100, 0x84000000, 0x00001980, 0x0180070a, 0x00000094,
- 0x02800000, 0x00006180, 0x04182005, 0x0000e187, 0x05804008, 0x00006100,
- 0x0010800a, 0x00006186, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x05404809, 0x00006100, 0x0420880a, 0x00006087, 0x700708ec, 0x0000d680,
- 0x00382802, 0x00000000, 0x40823f03, 0x00007500, 0x01c00000, 0x0000e180,
- 0x05003006, 0x0000c900, 0x0140070a, 0x000000a4, 0x04804008, 0x0000e100,
- 0x00000013, 0x00006586, 0xc0001813, 0x00006806, 0x00801eec, 0x0000df80,
- 0x00004801, 0x00008084, 0x12e0240a, 0x00004298, 0x1680140a, 0x000010a1,
- 0x23804c0a, 0x00007892, 0xba000000, 0x00002084, 0x00000805, 0x00001582,
- 0x8150720e, 0x00009908, 0x0000408f, 0x0000f009, 0x81400000, 0x00009980,
- 0x01200000, 0x00008ffd, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x04102804, 0x0000e987, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x0000408f, 0x00007200,
- 0x81582304, 0x00001900, 0x1c404008, 0x0000e100, 0x00204807, 0x0000e086,
+ 0x04107004, 0x00006987, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x03400000, 0x00009980,
+ 0x83000a0d, 0x00009880, 0xbbc1020c, 0x00007902, 0x07c00000, 0x00008000,
+ 0xbbc0f40c, 0x0000f902, 0x07400000, 0x00000000, 0xffffffff, 0x00007f97,
+ 0x81e90520, 0x00009900, 0x80110a07, 0x00001502, 0x03000000, 0x00006189,
+ 0x0801040c, 0x00006010, 0xffffffff, 0x00007f86, 0x83000a0d, 0x0000e080,
+ 0x00206020, 0x00006000, 0x0340080d, 0x00009080, 0x0001800d, 0x00001582,
+ 0xbbf9020c, 0x0000d000, 0x0038f800, 0x00000000, 0xbbf8f40c, 0x00005000,
+ 0x0038e800, 0x00008000, 0x00004203, 0x00007010, 0x80007a21, 0x00009582,
+ 0xbac00221, 0x0000d0b0, 0x00400000, 0x00008000, 0xbac00221, 0x00005030,
+ 0x00400000, 0x00000080, 0x00000001, 0x0000f098, 0x8a006221, 0x00002080,
+ 0x8a00ea21, 0x0000a081, 0xffffffff, 0x00007f97, 0x0f60620c, 0x0000e802,
+ 0xc9f86e0c, 0x00002080, 0x0760efe4, 0x00001800, 0x0740e8e5, 0x00009400,
+ 0xffffffff, 0x00007f86, 0x0340e80d, 0x00001200, 0xc9f86e0c, 0x0000a880,
+ 0xc9f86e0c, 0x0000a000, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483,
+ 0x0740e80d, 0x00009200, 0xc9f8ee0c, 0x0000a800, 0x0680a014, 0x00006100,
+ 0x03000804, 0x00004980, 0x05000000, 0x000080f4, 0x04009000, 0x00007900,
+ 0x0000c080, 0x00000980, 0x04400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x03800000, 0x0000e180, 0x03da0080, 0x00004980, 0x04c00000, 0x0000e180,
+ 0x0600b016, 0x0000c900, 0x06785f15, 0x0000812c, 0x05c00000, 0x00006180,
+ 0x85102a05, 0x00004900, 0x00000001, 0x00007480, 0x05383a05, 0x00000118,
+ 0x05404809, 0x00001900, 0xc1c042ec, 0x00002080, 0xffffffff, 0x00007fa7,
+ 0x82000c08, 0x00001880, 0xbbc03208, 0x00002080, 0xffffffff, 0x00007fa7,
+ 0x01400c06, 0x00009283, 0x01c80000, 0x0000e188, 0x020000a0, 0x00004988,
+ 0x823f1fe3, 0x00006108, 0x08003407, 0x00006008, 0x00004254, 0x0000f010,
+ 0xc1d842ec, 0x0000a081, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x04012800, 0x0000f900, 0x0033eb84, 0x00008980, 0x04691000, 0x0000f900,
+ 0x00158bf8, 0x00008980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x42542213, 0x0000f500, 0x82f81400, 0x0000803c, 0x0480a708, 0x00000095,
+ 0xbbc02c08, 0x0000a082, 0xc1c04cec, 0x0000f902, 0x01c00000, 0x00008000,
+ 0x02d82800, 0x000001d4, 0x05000000, 0x00001980, 0x81800a05, 0x00009080,
+ 0xbbc83408, 0x0000a882, 0xbbf83408, 0x00002000, 0x02000000, 0x00009980,
+ 0x8143fa05, 0x00006282, 0x00002808, 0x00002186, 0x00000808, 0x0000ec8f,
+ 0x4263422c, 0x00007500, 0x05803006, 0x00001900, 0x01404008, 0x00009900,
+ 0x84c00006, 0x00006180, 0x04803006, 0x0000c900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008018ec, 0x00005780,
+ 0x00004801, 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x00000001, 0x0000f080, 0x01c064ec, 0x00008e86,
+ 0x01004000, 0x00001980, 0x01000804, 0x00009182, 0xffffffff, 0x00007fa7,
+ 0x02020300, 0x00007904, 0x00004270, 0x00007410, 0xc2f84207, 0x0000b838,
+ 0x81c00a07, 0x00009080, 0x4277423d, 0x0000f100, 0xb840400c, 0x000080e0,
+ 0xc2f822ec, 0x00003038, 0x02000808, 0x00006182, 0x81c00aec, 0x00000080,
+ 0x00004283, 0x0000740b, 0xffffffff, 0x00007f86, 0x10002500, 0x00007904,
+ 0xc2f82207, 0x00003038, 0x02000808, 0x00006182, 0x81c00a07, 0x00000080,
+ 0x0000427e, 0x0000f213, 0x10002500, 0x00007904, 0x00000001, 0x0000f080,
+ 0x0147f809, 0x00006280, 0x1440500a, 0x00008900, 0x428922b9, 0x0000f500,
+ 0x14383707, 0x00008324, 0x0e002805, 0x00001900, 0x01600000, 0x00000ffd,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04182005, 0x00006987,
+ 0x700708ec, 0x0000d680, 0x00382802, 0x00000000, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x1c004008, 0x00006100, 0x00204807, 0x0000e086,
0x82284807, 0x0000e886, 0x04184807, 0x00006987, 0x03003807, 0x00009900,
- 0x1b883800, 0x00007900, 0x002a1f4a, 0x00000980, 0x1c00600c, 0x00001900,
+ 0x1b50c000, 0x0000f900, 0x00285c78, 0x00008980, 0x1bc0600c, 0x00009900,
0xffffffff, 0x00007ff7, 0x82c034ec, 0x00007902, 0x01400000, 0x00008604,
0xffffffff, 0x00007fa7, 0x01c03006, 0x00006100, 0x00002005, 0x00006586,
- 0x1bc03807, 0x0000e100, 0x04284805, 0x0000e087, 0x40ac2178, 0x00007500,
- 0x86204805, 0x0000e887, 0x1b402805, 0x00001900, 0x00001409, 0x00001583,
- 0x00002409, 0x00001583, 0xffffffff, 0x00007f86, 0x000040bd, 0x0000f008,
- 0x000040bd, 0x0000f008, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x040a2000, 0x0000f900, 0x002a1f4a, 0x00000980, 0x047a9000, 0x0000f900,
- 0x0016f7fa, 0x00008980, 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901,
- 0x82f81400, 0x00008030, 0x40bd20b1, 0x0000f500, 0x04b84f08, 0x0000803c,
- 0x81c02800, 0x00001980, 0x01400000, 0x000000fc, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04182005, 0x0000e187, 0xc000180f, 0x00003006,
- 0x03009000, 0x0000f900, 0x000080c0, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x700708ec, 0x0000d680, 0x00382802, 0x00000000,
- 0x03b84702, 0x00000100, 0x04785709, 0x00000108, 0x04c0580b, 0x00001900,
- 0x00901eec, 0x00005f80, 0x00004800, 0x00000084, 0x01000000, 0x0000e180,
- 0x00208806, 0x00006086, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x04186004, 0x0000e187, 0x82288806, 0x0000b086, 0x700708ec, 0x0000d680,
- 0x00382002, 0x00008000, 0x08008010, 0x00006100, 0x04188806, 0x00006187,
- 0x01f88f06, 0x00008204, 0x1b98b000, 0x0000f900, 0x000af636, 0x00008980,
- 0x08b89f12, 0x0000020c, 0x0938af14, 0x00000214, 0x09b8bf16, 0x0000021c,
- 0x0a38cf18, 0x00000224, 0x0ab8df1a, 0x0000022c, 0x1c388707, 0x00008704,
- 0xffffffff, 0x00007f86, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604,
- 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100, 0x00002004, 0x0000e586,
- 0x1bc03006, 0x0000e100, 0x04288804, 0x00006087, 0x40eb2178, 0x00007500,
- 0x86208804, 0x00006887, 0x1b402004, 0x00001900, 0x25c03c11, 0x00004198,
- 0x00802411, 0x000080a0, 0x25c01411, 0x0000c488, 0x1a801411, 0x0000909a,
- 0x00800c11, 0x0000c788, 0x03204c11, 0x0000028f, 0x04a04c11, 0x0000c5a9,
- 0x02805411, 0x00008388, 0xc007ff17, 0x00006583, 0x81000ee3, 0x00000880,
- 0xdd800004, 0x0000d085, 0x00400000, 0x00008000, 0xdda00004, 0x00005085,
- 0x00400000, 0x00008000, 0xdd800204, 0x0000d084, 0x00400000, 0x00008000,
- 0xdd800004, 0x0000d004, 0x00400000, 0x00000080, 0x813f1fe3, 0x00006108,
- 0x81008717, 0x0000c090, 0x01a04012, 0x0000f900, 0x00000002, 0x00008082,
- 0x01c03006, 0x00006100, 0x01400013, 0x00004084, 0x4107250b, 0x00007404,
- 0x2a382f07, 0x00000018, 0x01809900, 0x00006180, 0x01c03006, 0x00004900,
- 0x30002aa9, 0x0000a080, 0xffffffff, 0x00007f86, 0x0000412e, 0x00007403,
- 0xd0802804, 0x00002804, 0xd0800004, 0x0000d084, 0x00400000, 0x00008000,
- 0x017ff917, 0x0000f900, 0x000000fe, 0x00008280, 0xc007ff17, 0x00006583,
- 0x01404005, 0x00008880, 0x81008717, 0x00006090, 0x813f1fe3, 0x00008908,
- 0x0000412e, 0x00007400, 0x0147f805, 0x00001380, 0xd0b82804, 0x00002884,
- 0x412e6376, 0x00007404, 0x01008010, 0x00001780, 0x03402004, 0x00001900,
- 0x0000412e, 0x0000f000, 0x412e63e7, 0x0000f204, 0x01008010, 0x00001780,
- 0x0000412e, 0x0000f000, 0x412e6433, 0x00007404, 0x01808010, 0x00009780,
- 0x03403006, 0x00001900, 0x0000412e, 0x0000f000, 0x02388f10, 0x00000018,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x041cd800, 0x0000f900,
- 0x000af636, 0x00008980, 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x412e20b1, 0x00007500, 0x04b83708, 0x0000803c, 0x81c02800, 0x00001980,
- 0x07c00004, 0x00006180, 0x07800000, 0x00004980, 0x07009000, 0x00007900,
- 0x00012280, 0x00008980, 0x07400000, 0x0000f900, 0x00010000, 0x00000980,
- 0xc7981302, 0x00009900, 0x00803eec, 0x00005f80, 0x00004801, 0x00008084,
- 0x00502800, 0x0000f900, 0x0000c950, 0x00008980, 0x40e0ac0f, 0x000000c3,
- 0x51400a02, 0x0000f896, 0x02000001, 0x00008080, 0x6000100a, 0x0000e402,
- 0x60005009, 0x0000b406, 0xc0005009, 0x00006c06, 0xffffffff, 0x00007f86,
- 0xffc00000, 0x00006180, 0x00000823, 0x0000e405, 0xffffffff, 0x00007f86,
- 0x008806ec, 0x00005f80, 0x00804080, 0x00008a84, 0x6000100a, 0x0000e402,
- 0x40001009, 0x00003402, 0x0000413f, 0x00007400, 0x80155009, 0x00006d02,
- 0x40015009, 0x0000ec83, 0x01000000, 0x0000e180, 0x0022e806, 0x0000e086,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x041ac004, 0x00006187,
- 0x822ae806, 0x00003086, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
- 0x02000000, 0x0000e180, 0x041ae806, 0x0000e187, 0x01c00706, 0x000080a4,
- 0x1b987000, 0x0000f900, 0x0032c1a4, 0x00000980, 0x02800000, 0x000080ec,
- 0x1c3ae707, 0x00000704, 0xffffffff, 0x00007fc7, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100,
- 0x00002004, 0x0000e586, 0x1bc03006, 0x0000e100, 0x042ae804, 0x0000e087,
- 0x41642178, 0x00007500, 0x8622e804, 0x0000e887, 0x1b402004, 0x00001900,
- 0x00006c5d, 0x00004088, 0x00006c5d, 0x00000098, 0x61e05c5d, 0x0000c188,
- 0x0080645d, 0x00008090, 0x18203e23, 0x0000c58f, 0x9c400a02, 0x00009b8f,
- 0x01403e23, 0x00004597, 0x9b000a02, 0x00001b8b, 0x5d007c5d, 0x00004388,
- 0x00807c5d, 0x000000a8, 0xbf00845d, 0x0000f88a, 0x7a000000, 0x0000a188,
- 0xd9800a02, 0x0000f88e, 0x0a000000, 0x0000218b, 0xcc800a02, 0x0000788e,
- 0x4a000000, 0x0000218a, 0x01c00020, 0x00006180, 0x0c011c05, 0x0000e004,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x045f7800, 0x00007900,
- 0x0014c9c4, 0x00000980, 0x00004231, 0x0000f400, 0xc1001005, 0x0000809d,
- 0x01400000, 0x00001980, 0x303b42a9, 0x00003038, 0x4b000000, 0x00006180,
- 0x00002023, 0x0000e481, 0x80000023, 0x0000e487, 0xa000002c, 0x0000b401,
- 0x307ba6a9, 0x0000b038, 0x09400000, 0x0000e180, 0x34c34023, 0x0000e003,
- 0x0b400000, 0x00006180, 0x85834023, 0x0000e001, 0x95834023, 0x00006001,
- 0xa6a0302c, 0x00003001, 0x01008274, 0x00006080, 0xa5834023, 0x00006001,
- 0x303b66a9, 0x00003038, 0x307b70a9, 0x00003038, 0x30bbb0a9, 0x00003038,
- 0x30bbc2a9, 0x00003038, 0x30bbd4a9, 0x0000b038, 0x08002374, 0x00006300,
- 0xb6e03023, 0x0000a007, 0x89000000, 0x0000e180, 0x70834723, 0x0000e000,
- 0xc1040723, 0x00006283, 0x09c00000, 0x00008980, 0x303b54a9, 0x0000b038,
- 0x307b82a9, 0x0000b038, 0x307b94a9, 0x00003038, 0x30bbe6a9, 0x00003038,
- 0x30fbf0a9, 0x00003038, 0x30fc02a9, 0x00003038, 0x30fc14a9, 0x0000b038,
- 0x30fc26a9, 0x00003038, 0x313c30a9, 0x00003038, 0x09800000, 0x0000e180,
- 0xc85b4b69, 0x0000c900, 0xc9734668, 0x00006100, 0x8853aa75, 0x00004900,
- 0xc89b636c, 0x0000e100, 0x0a80406d, 0x00004880, 0x8b63b86e, 0x00008208,
- 0x88c00c6c, 0x0000e080, 0x0703c078, 0x00004900, 0x000041b7, 0x0000f410,
- 0x077bd779, 0x00000138, 0x07c3d87b, 0x00006100, 0x2a038070, 0x0000c908,
- 0x41af250b, 0x0000f204, 0x01809900, 0x00006180, 0x01c38871, 0x00004900,
- 0x00000406, 0x00009583, 0x300182a9, 0x0000790a, 0x0c400000, 0x00008000,
- 0x300192a9, 0x0000f90a, 0x0cc00000, 0x00000000, 0x000042c9, 0x0000f210,
- 0x0bc38871, 0x0000e108, 0x0b838070, 0x00004908, 0x40001008, 0x0000e402,
- 0x6000100a, 0x0000b402, 0xc1040723, 0x00006283, 0xa0001008, 0x0000a402,
- 0x8000002c, 0x0000e403, 0x60002809, 0x0000b406, 0xc000080a, 0x0000e402,
- 0x00005008, 0x0000b407, 0x03800000, 0x000001e4, 0x0100086d, 0x0000e180,
- 0xc000002c, 0x00002407, 0xc0002809, 0x0000e406, 0xc000080a, 0x00003403,
- 0xc9000000, 0x00006180, 0x60005008, 0x0000e407, 0x82e00055, 0x000001dd,
- 0x46000400, 0x000081e8, 0x00004223, 0x0000f400, 0x01411800, 0x00006181,
- 0x0c03786f, 0x00004910, 0x43802004, 0x0000e100, 0x865c3b87, 0x0000c900,
- 0x307ba6a9, 0x0000b038, 0x303b42a9, 0x00003038, 0x303b66a9, 0x00003038,
- 0x02001008, 0x00006380, 0x6000080a, 0x00002402, 0x307b70a9, 0x00003038,
- 0x307b94a9, 0x00003038, 0x30bbb0a9, 0x00003038, 0x30bbc2a9, 0x00003038,
- 0x30bbd4a9, 0x0000b038, 0x30fc26a9, 0x00003038, 0x01008274, 0x00006080,
- 0x40005008, 0x0000e406, 0x09000000, 0x00006180, 0xa0001008, 0x00006402,
- 0x08002374, 0x00006300, 0x0000d009, 0x0000a482, 0x0d034404, 0x00006006,
- 0xe000a80a, 0x00003480, 0x03800000, 0x00007900, 0x000c0000, 0x00008980,
- 0x82202024, 0x0000e004, 0x20001008, 0x00003403, 0x08c00080, 0x00006180,
- 0x0e034404, 0x00006006, 0x0000080b, 0x00006402, 0x82aab009, 0x00003586,
- 0xa6a0300e, 0x0000e003, 0xa000080a, 0x0000b401, 0xb2e02024, 0x0000e004,
- 0x60005008, 0x0000b407, 0x09400000, 0x0000e180, 0x34c34023, 0x0000e003,
- 0x0100086d, 0x0000e180, 0x80001009, 0x00002403, 0x303b54a9, 0x0000b038,
- 0x307b82a9, 0x0000b038, 0x30bbe6a9, 0x00003038, 0x30fbf0a9, 0x00003038,
- 0x30fc02a9, 0x00003038, 0x30fc14a9, 0x0000b038, 0x313c30a9, 0x00003038,
- 0xf7e0300e, 0x00006001, 0xc000080a, 0x00003403, 0x09800000, 0x0000e180,
- 0xc0005008, 0x0000e407, 0x0a000000, 0x000082f0, 0x0bc00000, 0x000083c0,
- 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8,
- 0x0dc00000, 0x000003e0, 0x0e400000, 0x000003e8, 0x0ec00000, 0x000083f0,
- 0x0f400000, 0x000003f8, 0x0fc00000, 0x000084c0, 0x10400000, 0x000004c8,
- 0x10c00000, 0x000084d0, 0x11400000, 0x000004d8, 0x11c00000, 0x000004e0,
- 0x12400000, 0x000004e8, 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8,
- 0x13c00000, 0x000085c0, 0x14400000, 0x000005c8, 0x14c00000, 0x000085d0,
- 0x15400000, 0x000005d8, 0x15e00000, 0x000080f2, 0x04400000, 0x000081de,
- 0x45e00400, 0x000001e1, 0x01411000, 0x0000e181, 0x8853aa75, 0x00004900,
- 0xc85b4b69, 0x0000e100, 0x03c0406d, 0x0000c880, 0x0400406d, 0x00006080,
- 0x09c3606c, 0x0000c900, 0x88bb916e, 0x00000234, 0x0ba3bf73, 0x00008208,
- 0x073bcf78, 0x00000134, 0x07bbdf7a, 0x0000013c, 0x02d0000b, 0x00006380,
- 0x88c00c84, 0x00000880, 0x096b4d69, 0x0000e101, 0x0a404004, 0x00004880,
- 0x0ac04004, 0x0000e080, 0x0a804004, 0x00004880, 0x81000a02, 0x00009282,
- 0x01000000, 0x0000e189, 0x01001000, 0x00004991, 0x00004266, 0x00007400,
- 0xffffffff, 0x00007f86, 0x01202405, 0x00009101, 0x01c00020, 0x00006180,
- 0x0c011c05, 0x0000e004, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04609000, 0x00007900, 0x0009c2b4, 0x00000980, 0xc1001005, 0x0000809d,
- 0x01400000, 0x00001980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x82f81400, 0x00008030, 0x03f01704, 0x0000010a, 0x423620b1, 0x0000f100,
- 0x303b42a9, 0x00003038, 0x303b54a9, 0x0000b038, 0x303b66a9, 0x00003038,
- 0x307b70a9, 0x00003038, 0x01010468, 0x00006283, 0x1d000000, 0x00008980,
+ 0x1b803807, 0x00006100, 0x04284805, 0x0000e087, 0x42a422d9, 0x0000f500,
+ 0x86204805, 0x0000e887, 0x1b002805, 0x00009900, 0x00400c09, 0x0000c589,
+ 0x08c01c09, 0x00000e8f, 0x42a9266c, 0x00007404, 0x2af85f0a, 0x00000a28,
+ 0x2a409d00, 0x00009980, 0x00000407, 0x00001583, 0x833f1fe3, 0x00009908,
+ 0x8a002a0c, 0x0000a088, 0x000042b2, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x03003c05, 0x00001281, 0x0140140c, 0x00001181, 0x00000c05, 0x00001583,
+ 0x000042b8, 0x0000f01b, 0x02003f0a, 0x00008017, 0x02972000, 0x00007900,
+ 0x0033eb80, 0x00000980, 0x00004342, 0x0000f400, 0x01b8470b, 0x0000801c,
+ 0x02402805, 0x00009900, 0x00000c0c, 0x0000e583, 0x817f1fe3, 0x00008900,
+ 0x30008eac, 0x00007902, 0x01800000, 0x00000000, 0x304080ac, 0x00007902,
+ 0x03c00000, 0x00000000, 0x8a386a05, 0x00002080, 0x307872ac, 0x00002080,
+ 0x05400000, 0x0000e180, 0x85bf1fe3, 0x0000c900, 0x000042cb, 0x00007408,
+ 0x45188006, 0x00008118, 0x01400020, 0x00006190, 0x08006e16, 0x00006004,
+ 0x04190800, 0x00007900, 0x0033eb80, 0x00000980, 0x000042d3, 0x0000f400,
+ 0x01c00000, 0x000000f4, 0x8140a000, 0x00009980, 0xc0017f10, 0x00009583,
+ 0x01400020, 0x0000e198, 0x01c00000, 0x0000c998, 0x8140a000, 0x0000e198,
+ 0x03400000, 0x0000c998, 0x000042da, 0x00007030, 0x04192000, 0x00007900,
+ 0x0033eb80, 0x00000980, 0x04691000, 0x0000f900, 0x00158bf8, 0x00008980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x0000439d, 0x00007400,
+ 0x82f81400, 0x0000803c, 0x0480b016, 0x00009900, 0x83000f10, 0x00009880,
+ 0xbbf86a0c, 0x0000a080, 0xffffffff, 0x00007fa7, 0x01000c0d, 0x00006283,
+ 0x08006c15, 0x0000a000, 0x03400000, 0x00006190, 0x01400020, 0x00004990,
+ 0x8140a000, 0x00001990, 0x000042e6, 0x0000f008, 0x00004307, 0x00007200,
+ 0x041a2000, 0x00007900, 0x0033eb80, 0x00000980, 0x40000506, 0x00006583,
+ 0x0000080d, 0x00002482, 0x01800000, 0x00006180, 0x0420380d, 0x00006087,
+ 0x8620380d, 0x00006087, 0x00000806, 0x00003597, 0x01c00000, 0x0000e180,
+ 0x1240780d, 0x0000e002, 0x0000040f, 0x00006583, 0x3240780d, 0x0000a002,
+ 0x823f180d, 0x00006086, 0x00108807, 0x00003186, 0x81800f10, 0x0000e080,
+ 0x5160700d, 0x0000e000, 0x0000439e, 0x0000f408, 0xbbf8340c, 0x00005000,
+ 0x00384000, 0x00000000, 0xbbf86a0c, 0x0000d000, 0x00383800, 0x00000000,
+ 0xc5607c0f, 0x0000e101, 0x81771ee3, 0x00004900, 0xbae06205, 0x0000f902,
+ 0x01800400, 0x00008000, 0xbaf83a05, 0x00002080, 0x81771ee3, 0x00001900,
+ 0xbaf0aa05, 0x00002081, 0x0000040c, 0x00009583, 0x03400000, 0x00006190,
+ 0x01400020, 0x00004990, 0x8140a000, 0x00001990, 0x0000430e, 0x00007008,
+ 0x041d4000, 0x0000f900, 0x0033eb80, 0x00000980, 0x04691000, 0x0000f900,
+ 0x00158bf8, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x0000439d, 0x00007400, 0x82f81400, 0x0000803c, 0x01f8b715, 0x00008108,
+ 0x4000050f, 0x00006583, 0x00000807, 0x00002586, 0x83371ee3, 0x00006100,
+ 0x82388007, 0x00006086, 0x817f17e2, 0x00001900, 0xbaf83a0c, 0x00005000,
+ 0x00383000, 0x00008000, 0x0000431d, 0x00007408, 0xc9f83605, 0x00002000,
+ 0x03371fe4, 0x00001800, 0x97002e05, 0x00002081, 0xffffffff, 0x00007fa7,
+ 0x00001405, 0x00001583, 0x01806006, 0x00001308, 0x00004320, 0x0000f009,
+ 0x014060e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01802806, 0x00001200,
+ 0x8000060f, 0x00006583, 0x817f17e2, 0x00008900, 0xc9f83605, 0x0000a800,
+ 0x817f17e2, 0x00001900, 0x0000432b, 0x00007208, 0xc9f83605, 0x0000a080,
+ 0x97002e05, 0x00002081, 0xffffffff, 0x00007fa7, 0x00001405, 0x00001583,
+ 0x03006006, 0x00001308, 0x0000432e, 0x00007009, 0x030060e5, 0x00009400,
+ 0xffffffff, 0x00007f86, 0x03006006, 0x00001200, 0x0000439e, 0x00007400,
+ 0x817f17e2, 0x00001900, 0xc9f86605, 0x00002880, 0x4334266c, 0x00007404,
+ 0x2af85f0a, 0x00000a28, 0x2a409900, 0x00001980, 0x00000407, 0x00001583,
+ 0x833f1fe3, 0x00009908, 0x8a002a0c, 0x0000a088, 0x0000433d, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x03003c05, 0x00001281, 0x0140140c, 0x00001181,
+ 0x00000c05, 0x00001583, 0x00004343, 0x0000f01b, 0x02003f0a, 0x00008017,
+ 0x02ba1800, 0x0000f900, 0x0033eb80, 0x00000980, 0x01b8470b, 0x0000801c,
+ 0x02402805, 0x00009900, 0x43434284, 0x00007100, 0x30387aac, 0x00002080,
+ 0x03000000, 0x00006180, 0x050000a0, 0x00004980, 0x853f1fe3, 0x00001900,
+ 0xffffffff, 0x00007f86, 0x80017e0f, 0x0000e583, 0xc5307e0f, 0x00008901,
+ 0x01400020, 0x0000e198, 0x01c00000, 0x0000c998, 0x03400000, 0x0000e198,
+ 0x8140a000, 0x0000c998, 0x00004358, 0x0000f030, 0x043c1000, 0x0000f900,
+ 0x0033eb80, 0x00000980, 0x04691000, 0x0000f900, 0x00158bf8, 0x00008980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x0000439d, 0x00007400,
+ 0x82f81400, 0x0000803c, 0x0480a014, 0x00009900, 0x83000e0f, 0x00009880,
+ 0xbbf8720c, 0x0000a080, 0xbbf83c0c, 0x0000a080, 0xffffffff, 0x00007f97,
+ 0x01000c0e, 0x00009283, 0x83080000, 0x0000e188, 0x01400020, 0x00004988,
+ 0x03400000, 0x00006188, 0x0800740c, 0x00006008, 0x0000436c, 0x0000f010,
+ 0x043d2000, 0x00007900, 0x0033eb80, 0x00000980, 0x04691000, 0x0000f900,
+ 0x00158bf8, 0x00008980, 0x8140a000, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x0000439d, 0x00007400, 0x03f8a702, 0x00008108,
+ 0x01c0600c, 0x00001900, 0x81771ee3, 0x00001900, 0xbac08a05, 0x00007902,
+ 0x04000000, 0x00008000, 0xbac02a05, 0x0000a081, 0xffffffff, 0x00007fa7,
+ 0x80202e0f, 0x00009503, 0x81771ee3, 0x0000e108, 0x84400000, 0x00004988,
+ 0x44707e0f, 0x00001909, 0x00004385, 0x00007010, 0xbaf88a05, 0x0000d000,
+ 0x00388000, 0x00000000, 0x01771fe4, 0x00001800, 0x817f17e2, 0x00006100,
+ 0x040028e5, 0x00004400, 0xc9f82e05, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x817f17e2, 0x00006100, 0x04408005, 0x0000c200, 0xc9f88e05, 0x00002880,
+ 0xc9f82e05, 0x00002000, 0xffffffff, 0x00007fa7, 0x817f17e2, 0x00006100,
+ 0x04008005, 0x00004200, 0xc9f88605, 0x00002800, 0x0000040f, 0x00006583,
+ 0x84183b07, 0x00000900, 0x03bff00e, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x05207c0f, 0x00009909, 0x0000438f, 0x00007008, 0xc143fb07, 0x0000e282,
+ 0x05000000, 0x00000981, 0x05000800, 0x0000e189, 0xc1c00b07, 0x0000c080,
+ 0x0000439f, 0x0000f400, 0xbbf8720c, 0x00002880, 0xbbf83c0c, 0x00002880,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0414f000, 0x00007900,
+ 0x0033eb80, 0x00000980, 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c,
+ 0x04b84f08, 0x0000001c, 0x81402800, 0x00009980, 0x439e2213, 0x0000f100,
+ 0x84000000, 0x00001980, 0x0180070a, 0x00000094, 0x02800000, 0x00006180,
+ 0x04182005, 0x0000e187, 0x05804008, 0x00006100, 0x0010800a, 0x00006186,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x05404809, 0x00006100,
+ 0x0420a00a, 0x00006087, 0x700708ec, 0x0000d680, 0x00382802, 0x00000000,
+ 0x43ae422c, 0x00007500, 0x01c00000, 0x0000e180, 0x05003006, 0x0000c900,
+ 0x0140070a, 0x000000a4, 0x04804008, 0x0000e100, 0x00000013, 0x00006586,
+ 0xc0001813, 0x00006806, 0x00801eec, 0x0000df80, 0x00004801, 0x00008084,
+ 0x7860240a, 0x0000c298, 0x6e80140a, 0x000010a7, 0xee804c0a, 0x0000f892,
+ 0x1a000000, 0x0000a18e, 0x00000805, 0x00001582, 0x8150720e, 0x00009908,
+ 0x000043bb, 0x00007009, 0x81400000, 0x00009980, 0x01200000, 0x00008ffd,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04102804, 0x0000e987,
+ 0x700708ec, 0x0000d680, 0x00382002, 0x00008000, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x000043bb, 0x0000f200, 0x81582304, 0x00001900,
+ 0x1c004008, 0x00006100, 0x00204807, 0x0000e086, 0x82284807, 0x0000e886,
+ 0x04184807, 0x00006987, 0x03003807, 0x00009900, 0x1b483800, 0x00007900,
+ 0x002a1f4a, 0x00000980, 0x1bc0600c, 0x00009900, 0xffffffff, 0x00007ff7,
+ 0x82c034ec, 0x00007902, 0x01400000, 0x00008604, 0xffffffff, 0x00007fa7,
+ 0x01c03006, 0x00006100, 0x00002005, 0x00006586, 0x1b803807, 0x00006100,
+ 0x04284805, 0x0000e087, 0x43d822d9, 0x0000f500, 0x86204805, 0x0000e887,
+ 0x1b002805, 0x00009900, 0x00001409, 0x00001583, 0x00002409, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x000043e9, 0x00007008, 0x000043e9, 0x00007008,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x040a2000, 0x0000f900,
+ 0x002a1f4a, 0x00000980, 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c,
+ 0x43e92213, 0x00007500, 0x04b84f08, 0x0000001c, 0x81402800, 0x00009980,
+ 0x01400000, 0x000000fc, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x04182005, 0x0000e187, 0xc000180f, 0x00003006, 0x03009000, 0x0000f900,
+ 0x000080c0, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
+ 0x700708ec, 0x0000d680, 0x00382802, 0x00000000, 0x03b84702, 0x00000100,
+ 0x04785709, 0x00000108, 0x04c0580b, 0x00001900, 0x00901eec, 0x00005f80,
+ 0x00004800, 0x00000084, 0x01000000, 0x0000e180, 0x00208806, 0x00006086,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04186004, 0x0000e187,
+ 0x82288806, 0x0000b086, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
+ 0x08008010, 0x00006100, 0x04188806, 0x00006187, 0x01f88f06, 0x00008204,
+ 0x1b58b000, 0x0000f900, 0x000af636, 0x00008980, 0x08b89f12, 0x0000020c,
+ 0x0938af14, 0x00000214, 0x09b8bf16, 0x0000021c, 0x0a38cf18, 0x00000224,
+ 0x0ab8df1a, 0x0000022c, 0x1bf88707, 0x00008700, 0xffffffff, 0x00007f86,
+ 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
+ 0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x1b803006, 0x00006100,
+ 0x04288804, 0x00006087, 0x441722d9, 0x00007500, 0x86208804, 0x00006887,
+ 0x1b002004, 0x00009900, 0x8b203c11, 0x00004198, 0x00802411, 0x000080a0,
+ 0x8b201411, 0x0000c488, 0x72801411, 0x00001198, 0x00800c11, 0x00004789,
+ 0x03004c11, 0x0000828f, 0x04a04c11, 0x0000c5a9, 0x82805411, 0x0000028f,
+ 0xc007ff17, 0x00006583, 0x81000ee3, 0x00000880, 0xdd800004, 0x0000d085,
+ 0x00400000, 0x00008000, 0xdda00004, 0x00005085, 0x00400000, 0x00008000,
+ 0xdd800204, 0x0000d084, 0x00400000, 0x00008000, 0xdd800004, 0x0000d004,
+ 0x00400000, 0x00000080, 0x81008717, 0x00006090, 0x813f1fe3, 0x00008908,
+ 0x01a04012, 0x0000f900, 0x00000002, 0x00008082, 0x01400013, 0x0000e084,
+ 0x01c03006, 0x00008900, 0x4433266c, 0x00007404, 0x01802805, 0x0000e100,
+ 0x2a409900, 0x00004980, 0x2ab83f06, 0x00000a2c, 0x30002aac, 0x0000a080,
+ 0xffffffff, 0x00007f86, 0x00004459, 0x00007403, 0xd0802804, 0x00002804,
+ 0xd0800004, 0x0000d084, 0x00400000, 0x00008000, 0x017ff917, 0x0000f900,
+ 0x000000fe, 0x00008280, 0xc007ff17, 0x00006583, 0x01404005, 0x00008880,
+ 0x81008717, 0x00006090, 0x813f1fe3, 0x00008908, 0x00004459, 0x00007400,
+ 0x0147f805, 0x00001380, 0xd0b82804, 0x00002884, 0x445968fb, 0x0000f404,
+ 0x01008010, 0x00001780, 0x03402004, 0x00001900, 0x00004459, 0x0000f000,
+ 0x4459696b, 0x00007204, 0x01008010, 0x00001780, 0x00004459, 0x0000f000,
+ 0x445969b7, 0x0000f204, 0x01808010, 0x00009780, 0x00004459, 0x0000f000,
+ 0x01f88f10, 0x00000018, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x041cd800, 0x0000f900, 0x000af636, 0x00008980, 0x047a9000, 0x0000f900,
+ 0x0016f7fa, 0x00008980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x82f81400, 0x0000803c, 0x44592213, 0x00007500, 0x04802f07, 0x00000095,
+ 0x01c03006, 0x00001900, 0x07c00004, 0x00006180, 0x07800000, 0x00004980,
+ 0x07009000, 0x00007900, 0x00012280, 0x00008980, 0x07400000, 0x0000f900,
+ 0x00010000, 0x00000980, 0xc7981302, 0x00009900, 0x00803eec, 0x00005f80,
+ 0x00004801, 0x00008084, 0x00502800, 0x0000f900, 0x0000c950, 0x00008980,
+ 0x40e0ac0f, 0x000000c3, 0x1c000a02, 0x0000f897, 0x02000001, 0x00008080,
+ 0x6000100a, 0x0000e402, 0x60005009, 0x0000b406, 0xc0005009, 0x00006c06,
+ 0xffffffff, 0x00007f86, 0xffc00000, 0x00006180, 0x00000823, 0x0000e405,
+ 0xffffffff, 0x00007f86, 0x008806ec, 0x00005f80, 0x00804080, 0x00008a84,
+ 0x6000100a, 0x0000e402, 0x40001009, 0x00003402, 0x0000446a, 0x00007400,
+ 0x80155009, 0x00006d02, 0x40015009, 0x0000ec83, 0x01000000, 0x0000e180,
+ 0x0022e806, 0x0000e086, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x041ac004, 0x00006187, 0x822ae806, 0x00003086, 0x700708ec, 0x0000d680,
+ 0x00382002, 0x00008000, 0x02000000, 0x0000e180, 0x041ae806, 0x0000e187,
+ 0x01c00706, 0x000080a4, 0x1b587000, 0x0000f900, 0x0032c1a4, 0x00000980,
+ 0x02800000, 0x000080ec, 0x1bfae707, 0x00000700, 0xffffffff, 0x00007fc7,
+ 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
+ 0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x1b803006, 0x00006100,
+ 0x042ae804, 0x0000e087, 0x448f22d9, 0x0000f500, 0x8622e804, 0x0000e887,
+ 0x1b002004, 0x00009900, 0x00006c5d, 0x00004088, 0x00006c5d, 0x00000098,
+ 0xc7805c5d, 0x0000c188, 0x0080645d, 0x00008090, 0x18403e23, 0x0000c58f,
+ 0x9c600a02, 0x00001c88, 0x01403e23, 0x00004597, 0x9b200a02, 0x00001b8c,
+ 0xc2a07c5d, 0x00004388, 0x00807c5d, 0x000000a8, 0x8a40845d, 0x0000f88b,
+ 0xe2000000, 0x0000a381, 0xa4c00a02, 0x0000f88f, 0x72000000, 0x0000a384,
+ 0x97c00a02, 0x0000f88f, 0xb2000000, 0x00002383, 0x03400000, 0x0000e180,
+ 0x0c011c05, 0x0000e004, 0x01400020, 0x0000e180, 0x01202c05, 0x00004900,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0000455e, 0x00007400,
+ 0x045f7800, 0x00007900, 0x0014c9c4, 0x00000980, 0x81401000, 0x00001980,
+ 0x303b42ac, 0x00003038, 0x4b000000, 0x00006180, 0x00002023, 0x0000e481,
+ 0x80000023, 0x0000e487, 0xa000002c, 0x0000b401, 0x307ba6ac, 0x0000b038,
+ 0x09400000, 0x0000e180, 0x34c34023, 0x0000e003, 0x0b400000, 0x00006180,
+ 0x85834023, 0x0000e001, 0x95834023, 0x00006001, 0xa6a0382c, 0x0000b001,
+ 0x01008274, 0x00006080, 0xa5834023, 0x00006001, 0x303b66ac, 0x00003038,
+ 0x307b70ac, 0x00003038, 0x30bbb0ac, 0x00003038, 0x30bbc2ac, 0x00003038,
+ 0x30bbd4ac, 0x0000b038, 0x08002374, 0x00006300, 0xb6e03823, 0x00002007,
+ 0x89000000, 0x0000e180, 0x70834723, 0x0000e000, 0xc1040723, 0x00006283,
+ 0x09c00000, 0x00008980, 0x303b54ac, 0x0000b038, 0x307b82ac, 0x0000b038,
+ 0x307b94ac, 0x00003038, 0x30bbe6ac, 0x00003038, 0x30fbf0ac, 0x00003038,
+ 0x30fc02ac, 0x00003038, 0x30fc14ac, 0x0000b038, 0x30fc26ac, 0x00003038,
+ 0x313c30ac, 0x00003038, 0x09800000, 0x0000e180, 0xc85b4b69, 0x0000c900,
+ 0xc9734668, 0x00006100, 0x8853aa75, 0x00004900, 0xc89b636c, 0x0000e100,
+ 0x0a80406d, 0x00004880, 0x8b63b86e, 0x00008208, 0x88c00c6c, 0x0000e080,
+ 0x0703c078, 0x00004900, 0x000044e3, 0x00007410, 0x077bd779, 0x00000138,
+ 0x07c3d87b, 0x00006100, 0x2ac38070, 0x0000c908, 0x44db266c, 0x00007204,
+ 0x2a409900, 0x00006180, 0x2a838871, 0x0000c900, 0x00000407, 0x00001583,
+ 0x300182ac, 0x0000790a, 0x0c400000, 0x00008000, 0x300192ac, 0x0000f90a,
+ 0x0cc00000, 0x00000000, 0x000045f6, 0x00007210, 0x0bc38871, 0x0000e108,
+ 0x0b838070, 0x00004908, 0x40001008, 0x0000e402, 0x6000100a, 0x0000b402,
+ 0xc1040723, 0x00006283, 0xa0001008, 0x0000a402, 0x8000002c, 0x0000e403,
+ 0x60002809, 0x0000b406, 0xc000080a, 0x0000e402, 0x00005008, 0x0000b407,
+ 0x03800000, 0x000001e4, 0x0100086d, 0x0000e180, 0xc000002c, 0x00002407,
+ 0xc0002809, 0x0000e406, 0xc000080a, 0x00003403, 0xc9000000, 0x00006180,
+ 0x60005008, 0x0000e407, 0x82e00055, 0x000001dd, 0x46000400, 0x000081e8,
+ 0x0000454f, 0x00007400, 0x01411800, 0x00006181, 0x0c03786f, 0x00004910,
+ 0x43802004, 0x0000e100, 0x865c3b87, 0x0000c900, 0x307ba6ac, 0x0000b038,
+ 0x303b42ac, 0x00003038, 0x303b66ac, 0x00003038, 0x02001008, 0x00006380,
+ 0x6000080a, 0x00002402, 0x307b70ac, 0x00003038, 0x307b94ac, 0x00003038,
+ 0x30bbb0ac, 0x00003038, 0x30bbc2ac, 0x00003038, 0x30bbd4ac, 0x0000b038,
+ 0x30fc26ac, 0x00003038, 0x01008274, 0x00006080, 0x40005008, 0x0000e406,
+ 0x09000000, 0x00006180, 0xa0001008, 0x00006402, 0x08002374, 0x00006300,
+ 0x0000d009, 0x0000a482, 0x0d034404, 0x00006006, 0xe000a80a, 0x00003480,
+ 0x03800000, 0x00007900, 0x000c0000, 0x00008980, 0x82202024, 0x0000e004,
+ 0x20001008, 0x00003403, 0x08c00080, 0x00006180, 0x0e034404, 0x00006006,
+ 0x0000080b, 0x00006402, 0x82aab009, 0x00003586, 0xa6a0380e, 0x00006003,
+ 0xa000080a, 0x0000b401, 0xb2e02024, 0x0000e004, 0x60005008, 0x0000b407,
+ 0x09400000, 0x0000e180, 0x34c34023, 0x0000e003, 0x0100086d, 0x0000e180,
+ 0x80001009, 0x00002403, 0x303b54ac, 0x0000b038, 0x307b82ac, 0x0000b038,
+ 0x30bbe6ac, 0x00003038, 0x30fbf0ac, 0x00003038, 0x30fc02ac, 0x00003038,
+ 0x30fc14ac, 0x0000b038, 0x313c30ac, 0x00003038, 0xf7e0380e, 0x0000e001,
+ 0xc000080a, 0x00003403, 0x09800000, 0x0000e180, 0xc0005008, 0x0000e407,
+ 0x0a000000, 0x000082f0, 0x0bc00000, 0x000083c0, 0x0c400000, 0x000003c8,
+ 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8, 0x0dc00000, 0x000003e0,
+ 0x0e400000, 0x000003e8, 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8,
+ 0x0fc00000, 0x000084c0, 0x10400000, 0x000004c8, 0x10c00000, 0x000084d0,
+ 0x11400000, 0x000004d8, 0x11c00000, 0x000004e0, 0x12400000, 0x000004e8,
+ 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8, 0x13c00000, 0x000085c0,
+ 0x14400000, 0x000005c8, 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8,
+ 0x15e00000, 0x000080f2, 0x04400000, 0x000081de, 0x45e00400, 0x000001e1,
+ 0x01411000, 0x0000e181, 0x8853aa75, 0x00004900, 0xc85b4b69, 0x0000e100,
+ 0x03c0406d, 0x0000c880, 0x0400406d, 0x00006080, 0x09c3606c, 0x0000c900,
+ 0x88bb916e, 0x00000234, 0x0ba3bf73, 0x00008208, 0x073bcf78, 0x00000134,
+ 0x07bbdf7a, 0x0000013c, 0x02d0000b, 0x00006380, 0x88c00c84, 0x00000880,
+ 0x096b4d69, 0x0000e101, 0x0a404004, 0x00004880, 0x0ac04004, 0x0000e080,
+ 0x0a804004, 0x00004880, 0x81000a02, 0x00009282, 0x01000000, 0x0000e189,
+ 0x01001000, 0x00004991, 0x00004593, 0x0000f400, 0xffffffff, 0x00007f86,
+ 0x01202405, 0x00009101, 0x03400000, 0x0000e180, 0x0c011c05, 0x0000e004,
+ 0x01400020, 0x0000e180, 0x01202c05, 0x00004900, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04609000, 0x00007900, 0x0009c2b4, 0x00000980,
+ 0x81401000, 0x00001980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x82f81400, 0x0000803c, 0x01f01704, 0x0000810a, 0x45632213, 0x00007100,
+ 0x303b42ac, 0x00003038, 0x303b54ac, 0x0000b038, 0x303b66ac, 0x00003038,
+ 0x307b70ac, 0x00003038, 0x01010468, 0x00006283, 0x1d000000, 0x00008980,
0xc8935a6b, 0x00006110, 0x1d400000, 0x0000c980, 0x0703606c, 0x0000e110,
0x0743686d, 0x00004910, 0x0783706e, 0x00006110, 0x07c3786f, 0x0000c910,
0x01008468, 0x00006283, 0x1d800000, 0x00000980, 0xc85b4b69, 0x00006110,
@@ -9598,8 +9894,8 @@ ARRAY_DECL u32 init_val[] = {
0x95c34023, 0x00006011, 0x1ec00000, 0x00006180, 0xa5c34023, 0x00006011,
0x01020468, 0x00006283, 0x1f000000, 0x00000980, 0xc97b4768, 0x0000e110,
0x1f400000, 0x00004980, 0x01000c68, 0x00006283, 0x1f800000, 0x00008980,
- 0x307b82a9, 0x0000b038, 0x307b94a9, 0x00003038, 0x1fc00000, 0x000008c0,
- 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0, 0x00004265, 0x0000f408,
+ 0x307b82ac, 0x0000b038, 0x307b94ac, 0x00003038, 0x1fc00000, 0x000008c0,
+ 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0, 0x00004592, 0x0000f408,
0x21400000, 0x000008d8, 0x21c00000, 0x00006180, 0x00001023, 0x00006415,
0x60005009, 0x00006c06, 0xc1040723, 0x00009283, 0x6000100a, 0x00006412,
0x0000080b, 0x0000b412, 0xc5c00000, 0x0000e190, 0xc000080a, 0x0000e413,
@@ -9609,8 +9905,8 @@ ARRAY_DECL u32 init_val[] = {
0x000808ec, 0x0000d780, 0x00884dc0, 0x000005c0, 0xc000a800, 0x00006181,
0x00001807, 0x00006106, 0x40781604, 0x00008018, 0x01009000, 0x00007900,
0x00032240, 0x00000980, 0x008806ec, 0x00005f80, 0x00804080, 0x00008a84,
- 0x303b42a9, 0x00003038, 0x303b66a9, 0x00003038, 0x307b82a9, 0x0000b038,
- 0x307b94a9, 0x00003038, 0x303b54a9, 0x0000b038, 0x01008468, 0x00006283,
+ 0x303b42ac, 0x00003038, 0x303b66ac, 0x00003038, 0x307b82ac, 0x0000b038,
+ 0x307b94ac, 0x00003038, 0x303b54ac, 0x0000b038, 0x01008468, 0x00006283,
0x1e000000, 0x00008980, 0x07038070, 0x0000e110, 0x07438871, 0x00004910,
0xc893626c, 0x00006110, 0x07839072, 0x00004910, 0x07c39873, 0x0000e110,
0x1e400000, 0x0000c980, 0x01004468, 0x00006283, 0x1e800000, 0x00000980,
@@ -9620,83 +9916,338 @@ ARRAY_DECL u32 init_val[] = {
0x0b034404, 0x0000e016, 0x20000000, 0x0000e180, 0x82202024, 0x00006014,
0x01040468, 0x00006283, 0x20400000, 0x00008980, 0x20800000, 0x00006180,
0x0c034404, 0x00006016, 0x20c00000, 0x0000e180, 0xb2e02024, 0x00006014,
- 0x01001468, 0x00006283, 0x21000000, 0x00008980, 0x307b70a9, 0x00003038,
- 0x307ba6a9, 0x0000b038, 0x30bbb0a9, 0x00003038, 0x000042a7, 0x00007408,
+ 0x01001468, 0x00006283, 0x21000000, 0x00008980, 0x307b70ac, 0x00003038,
+ 0x307ba6ac, 0x0000b038, 0x30bbb0ac, 0x00003038, 0x000045d4, 0x00007408,
0x21400000, 0x000008d8, 0x21c00000, 0x00001980, 0x01001460, 0x00001283,
- 0x01002468, 0x00006283, 0x20000809, 0x00002412, 0x000042a7, 0x0000f00b,
+ 0x01002468, 0x00006283, 0x20000809, 0x00002412, 0x000045d4, 0x0000f00b,
0x4100650d, 0x00001283, 0x027f9809, 0x0000f910, 0x003ffffe, 0x00008280,
0xffffffff, 0x00007f86, 0x80000809, 0x0000ec0b, 0x01000c68, 0x00009283,
0x00001023, 0x00006415, 0x20000808, 0x0000b413, 0x40001009, 0x0000e412,
- 0x6000080a, 0x00003412, 0x00004265, 0x00007008, 0x80001009, 0x00006402,
- 0xc000080a, 0x00003403, 0x00004266, 0x00007400, 0xc5d93326, 0x0000e100,
+ 0x6000080a, 0x00003412, 0x00004592, 0x00007008, 0x80001009, 0x00006402,
+ 0xc000080a, 0x00003403, 0x00004593, 0x0000f400, 0xc5d93326, 0x0000e100,
0xe0005009, 0x00006406, 0x01010800, 0x00006181, 0x40015009, 0x00006483,
- 0x303b42a9, 0x00003038, 0x60005009, 0x0000e406, 0x6000100a, 0x0000b402,
+ 0x303b42ac, 0x00003038, 0x60005009, 0x0000e406, 0x6000100a, 0x0000b402,
0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x000042e4, 0x00007400,
+ 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x00004611, 0x0000f400,
0x21800000, 0x000088dc, 0x01007800, 0x00006181, 0x1880d01a, 0x00004900,
- 0x42ca4137, 0x0000f100, 0x03800000, 0x00007900, 0x00080000, 0x00000980,
- 0xa6a0300e, 0x0000e003, 0x00001009, 0x00003403, 0x303b42a9, 0x00003038,
+ 0x45f74462, 0x0000f100, 0x03800000, 0x00007900, 0x00080000, 0x00000980,
+ 0xa6a0380e, 0x00006003, 0x00001009, 0x00003403, 0x303b42ac, 0x00003038,
0x6000100a, 0x0000e402, 0x40015009, 0x00003483, 0x1a800000, 0x00006180,
- 0xf7e0300e, 0x00006001, 0x1ac00000, 0x000086f0, 0x1b400000, 0x000006f8,
+ 0xf7e0380e, 0x0000e001, 0x1ac00000, 0x000086f0, 0x1b400000, 0x000006f8,
0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0,
0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8,
0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0,
0x20400000, 0x000008c8, 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8,
0x21c00000, 0x00006180, 0x02d0000b, 0x0000c380, 0x01007000, 0x00009981,
- 0x00004266, 0x00007400, 0xa000a809, 0x00006482, 0x00000023, 0x00003405,
+ 0x00004593, 0x0000f400, 0xa000a809, 0x00006482, 0x00000023, 0x00003405,
0x889aeb5d, 0x00001900, 0x1a000000, 0x0000e180, 0x00000023, 0x00006405,
0x1a400000, 0x00006180, 0x50000823, 0x00006401, 0x1a800000, 0x000086ec,
0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x00004265, 0x00007400, 0x21000000, 0x000088d4, 0x21c00000, 0x000088d8,
+ 0x00004592, 0x00007400, 0x21000000, 0x000088d4, 0x21c00000, 0x000088d8,
0x1a000000, 0x0000e180, 0x50000023, 0x0000e401, 0x1a400000, 0x000006e8,
0x1ac00000, 0x000086f0, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0,
0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8,
0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8,
- 0x20c00000, 0x000088d0, 0x00004265, 0x00007400, 0x21400000, 0x000008d8,
- 0x21c00000, 0x00001980, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x20c00000, 0x000088d0, 0x00004592, 0x00007400, 0x21400000, 0x000008d8,
+ 0x21c00000, 0x00001980, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
0x0413c800, 0x00007900, 0x000af636, 0x00008980, 0x047a9000, 0x0000f900,
- 0x0016f7fa, 0x00008980, 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901,
- 0x82f81400, 0x00008030, 0x00004235, 0x00007400, 0x04baef5c, 0x0000803c,
- 0x81c02800, 0x00001980, 0x431f250b, 0x0000f404, 0x01809800, 0x00007900,
- 0x00002000, 0x00000980, 0x01faf75f, 0x00008a20, 0x5f400406, 0x0000f88a,
- 0x4a000000, 0x00002186, 0x4325250b, 0x0000f404, 0x01809800, 0x00007900,
- 0x00002000, 0x00000980, 0x01faf75f, 0x00008a20, 0x73400406, 0x0000788a,
- 0x4a000000, 0x00002186, 0x432b250b, 0x00007404, 0x01809800, 0x00007900,
- 0x00001000, 0x00000980, 0x01faf75f, 0x00008a20, 0x9d400406, 0x0000788a,
- 0x4a000000, 0x00002186, 0x4330250b, 0x00007404, 0x2a3aff5e, 0x0000801c,
- 0x01809e00, 0x00009980, 0x8d800406, 0x0000f88a, 0x4a000000, 0x00002186,
+ 0x0016f7fa, 0x00008980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x82f81400, 0x0000803c, 0x00004562, 0x00007400, 0x04baef5c, 0x0000001c,
+ 0x81402800, 0x00009980, 0x464c266c, 0x00007404, 0x2a409800, 0x00007900,
+ 0x00002000, 0x00000980, 0x2abaf75f, 0x00000a2c, 0x2a400407, 0x0000788b,
+ 0xb2000000, 0x0000a28f, 0x4652266c, 0x00007404, 0x2a409800, 0x00007900,
+ 0x00002000, 0x00000980, 0x2abaf75f, 0x00000a2c, 0x3e400407, 0x0000788b,
+ 0xb2000000, 0x0000a28f, 0x4658266c, 0x00007404, 0x2a409800, 0x00007900,
+ 0x00001000, 0x00000980, 0x2abaf75f, 0x00000a2c, 0x68800407, 0x0000788b,
+ 0xb2000000, 0x0000a28f, 0x465d266c, 0x00007404, 0x2afaff5e, 0x00000a28,
+ 0x2a409e00, 0x00009980, 0x58c00407, 0x0000f88b, 0xb2000000, 0x0000a28f,
0xc1007f0c, 0x00006283, 0x01000000, 0x00008981, 0x1a000000, 0x000086e4,
0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
- 0x01000800, 0x00006191, 0x1841502a, 0x00004900, 0x00004265, 0x00007400,
+ 0x01000800, 0x00006191, 0x1841502a, 0x00004900, 0x00004592, 0x00007400,
0xffffffff, 0x00007f86, 0x51602060, 0x0000e800, 0x8100360c, 0x00006283,
0x1a000000, 0x00000980, 0x1a400000, 0x000006e8, 0x1ac00000, 0x000086f0,
0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8,
0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0,
0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8,
0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0,
- 0x00004346, 0x0000f410, 0x21400000, 0x000008d8, 0x01000800, 0x0000e190,
- 0x21c00000, 0x00004980, 0x0101840d, 0x00001283, 0x00004346, 0x00007400,
- 0x01000000, 0x00009980, 0x01000800, 0x00009990, 0x4364250b, 0x0000f404,
- 0x2a3aff5e, 0x0000801c, 0x01809900, 0x00001980, 0xb2800406, 0x0000f88a,
- 0x4a000000, 0x00002186, 0x4369250b, 0x00007404, 0x2a3aff5e, 0x0000801c,
- 0x01809900, 0x00001980, 0xad000406, 0x0000f88a, 0x4a000000, 0x00002186,
- 0x0000635d, 0x00007000, 0x0044140a, 0x00004589, 0x80c44c0a, 0x0000008c,
- 0x8150720e, 0x00001900, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04102804, 0x0000e987, 0x700708ec, 0x0000d680,
- 0x00382002, 0x00008000, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x0000436f, 0x0000f200,
- 0x81582304, 0x00001900, 0x01800001, 0x0000e180, 0x01000000, 0x0000c980,
+ 0x00004673, 0x0000f410, 0x21400000, 0x000008d8, 0x01000800, 0x0000e190,
+ 0x21c00000, 0x00004980, 0x0101840d, 0x00001283, 0x00004673, 0x00007400,
+ 0x01000000, 0x00009980, 0x01000800, 0x00009990, 0x4691266c, 0x00007404,
+ 0x2afaff5e, 0x00000a28, 0x2a409900, 0x00001980, 0x7dc00407, 0x0000788b,
+ 0xb2000000, 0x0000a28f, 0x4696266c, 0x0000f404, 0x2afaff5e, 0x00000a28,
+ 0x2a409900, 0x00001980, 0x78400407, 0x0000f88b, 0xb2000000, 0x0000a28f,
+ 0x000068e2, 0x00007000, 0x0044140a, 0x00004589, 0x80c44c0a, 0x0000008c,
+ 0x8110720e, 0x00009900, 0x01400000, 0x00001980, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x04102005, 0x0000e987, 0x700708ec, 0x0000d680,
+ 0x00382802, 0x00000000, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x0000469c, 0x0000f200,
+ 0x81182304, 0x00009900, 0xffc00000, 0x00006180, 0x40001011, 0x00006402,
+ 0x02c00000, 0x0000e180, 0x00020039, 0x0000e587, 0x04282839, 0x00006083,
+ 0x00001011, 0x00003403, 0x03800000, 0x0000e180, 0x0000180b, 0x00006106,
+ 0x81002302, 0x00006780, 0x0000182b, 0x00002405, 0x20003010, 0x0000e406,
+ 0x60001012, 0x0000b402, 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980,
+ 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
+ 0x00010000, 0x00000980, 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8,
+ 0x00502800, 0x0000f900, 0x0000c150, 0x00000980, 0xb6e02839, 0x00006081,
+ 0x40003011, 0x0000b407, 0xc000180b, 0x0000e006, 0x4510200e, 0x00003107,
+ 0x22000061, 0x000008e4, 0x22800000, 0x000008f0, 0x23800000, 0x000088fc,
+ 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
+ 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec,
+ 0x8b005000, 0x0000e181, 0x22c80033, 0x0000c080, 0x23400734, 0x000080b0,
+ 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0x02a0ad02, 0x00000083,
+ 0xc0c07800, 0x00001980, 0x008806ec, 0x00005f80, 0x00804100, 0x00008a84,
+ 0x04000000, 0x0000e180, 0x0880a404, 0x0000e002, 0x00000404, 0x0000e583,
+ 0x04400000, 0x00008980, 0x04800000, 0x000081cc, 0x0900a404, 0x0000e80a,
+ 0x00004768, 0x0000f010, 0x00000404, 0x00001583, 0x0800ac04, 0x0000e80a,
+ 0x00004768, 0x00007011, 0x00000404, 0x00001583, 0x00004768, 0x0000f013,
+ 0x81000a02, 0x00009282, 0x18002800, 0x00001991, 0x0000473a, 0x0000f009,
+ 0xc1006714, 0x00009283, 0x41001d15, 0x00001283, 0x01018415, 0x00001283,
+ 0x00004839, 0x00007010, 0x00004868, 0x0000f010, 0x000048bb, 0x00007010,
+ 0x81001614, 0x00001283, 0x40001011, 0x0000e412, 0x0000182b, 0x00003415,
+ 0x60001012, 0x00006412, 0x00001011, 0x0000b413, 0x00004733, 0x0000f210,
+ 0x40001011, 0x0000ec13, 0x41006515, 0x00001283, 0x000047d7, 0x00007013,
+ 0x60001012, 0x0000e402, 0x00001011, 0x00003403, 0x01880033, 0x00006080,
+ 0x22000000, 0x00008980, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0,
+ 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
+ 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
+ 0x26400000, 0x000009e8, 0x26c00000, 0x00009980, 0xe0860614, 0x00004496,
+ 0xcc860415, 0x00001197, 0x0221052e, 0x00004563, 0x01000f2b, 0x00000a92,
+ 0x82c028ec, 0x0000f902, 0x01000000, 0x00000604, 0xe0001810, 0x0000ec02,
+ 0x0000c006, 0x00007860, 0x00000000, 0x00000000, 0x0000472b, 0x0000f88c,
+ 0x00000000, 0x00008020, 0x00002830, 0x0000f858, 0x00000000, 0x00008020,
+ 0x00000f2b, 0x00007896, 0x00000000, 0x00008020, 0x15e03c2c, 0x0000478f,
+ 0x8b460415, 0x00000d93, 0xe261052e, 0x0000c962, 0x4c800f2b, 0x0000918f,
+ 0xffffffff, 0x00007f86, 0x01006415, 0x00001283, 0x01803017, 0x00006108,
+ 0x01000000, 0x00000989, 0x000047f6, 0x0000f011, 0x00000006, 0x00009582,
+ 0x60000812, 0x0000e452, 0x00000811, 0x00003453, 0xc7d90320, 0x00006150,
+ 0xc0000812, 0x00006453, 0x01401c88, 0x00001283, 0x000048fe, 0x0000f00b,
+ 0x00000c04, 0x00006583, 0x02c00000, 0x00000980, 0x03800000, 0x0000e180,
+ 0x0000180b, 0x00006106, 0x81402302, 0x0000e780, 0xc000180b, 0x00002006,
+ 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
+ 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0x03000000, 0x00006180,
+ 0x4510280e, 0x0000e107, 0x0000488c, 0x00007408, 0x03c00004, 0x0000e180,
+ 0x82901202, 0x00004900, 0xc2981302, 0x00009900, 0x00502800, 0x0000f900,
+ 0x0000c010, 0x00000980, 0xc000a800, 0x00006181, 0x20001010, 0x0000e402,
+ 0x40607e60, 0x0000808d, 0x008806ec, 0x00005f80, 0x00804100, 0x00008a84,
+ 0xc1010715, 0x00006283, 0x18001800, 0x00000981, 0xc019031f, 0x00001502,
+ 0xffffffff, 0x00007f86, 0x00004908, 0x00007008, 0x00004901, 0x00007008,
+ 0x02c00000, 0x000000f8, 0x26c00000, 0x00007900, 0x0001c080, 0x00008980,
+ 0x98402302, 0x00006780, 0x0000180b, 0x0000a106, 0x23800000, 0x0000f900,
+ 0x00050000, 0x00008980, 0xc000180b, 0x0000e006, 0xc0000812, 0x00003403,
+ 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
+ 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0x22000000, 0x00006180,
+ 0x4513080e, 0x00006107, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0,
+ 0x23400000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
+ 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
+ 0x26800000, 0x00006180, 0xc7d90320, 0x00004900, 0x03000000, 0x00006180,
+ 0x03c00004, 0x0000c980, 0x02a81402, 0x00008028, 0xa6d90320, 0x00009900,
+ 0x00502800, 0x0000f900, 0x0000c010, 0x00000980, 0xc000a800, 0x00006181,
+ 0x20001010, 0x0000e402, 0x40607e60, 0x0000808d, 0x008806ec, 0x00005f80,
+ 0x00804100, 0x00008a84, 0x0900a409, 0x00006002, 0x0880a40a, 0x00003002,
+ 0x00000409, 0x00006583, 0x0800ac08, 0x00002002, 0x18000000, 0x00006180,
+ 0xa0001011, 0x00006412, 0x0000040a, 0x00006583, 0x18400000, 0x00000980,
+ 0x18800000, 0x0000e180, 0xc0001011, 0x00006412, 0x00000408, 0x0000e583,
+ 0x18c00000, 0x00008980, 0x19000000, 0x0000e180, 0xe0001011, 0x0000e412,
+ 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x1a400000, 0x000006e8,
+ 0x1ac00000, 0x000000d0, 0x01400000, 0x000000d8, 0x00000409, 0x00006583,
+ 0x01c00000, 0x00000980, 0x0000040a, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x000047d1, 0x00007008, 0x0000479f, 0x00007008, 0x00000408, 0x00001583,
+ 0x18508800, 0x0000e190, 0x40015010, 0x00006493, 0xd851522a, 0x0000e110,
+ 0x18001002, 0x00004910, 0x0000479f, 0x00007008, 0x82c034ec, 0x00007902,
+ 0x01000000, 0x00000604, 0x1c108f02, 0x00008094, 0x04115005, 0x0000e987,
+ 0x01c02805, 0x00001900, 0x1bf83707, 0x00000010, 0x01802004, 0x00009900,
+ 0x01000000, 0x00007900, 0x00044080, 0x00000980, 0x1b803006, 0x00006100,
+ 0x00002004, 0x0000e586, 0x479622d9, 0x00007500, 0x1b508800, 0x0000f900,
+ 0x002ccd18, 0x00008980, 0x1b002004, 0x00009900, 0x01c00004, 0x00006180,
+ 0x01800000, 0x00004980, 0x01009000, 0x00007900, 0x00012280, 0x00008980,
+ 0x01400000, 0x0000f900, 0x00010000, 0x00000980, 0x000808ec, 0x0000d780,
+ 0x00884e00, 0x000081c0, 0xc1981302, 0x00009900, 0xc0003000, 0x0000e181,
+ 0x20001010, 0x0000e402, 0x00502800, 0x0000f900, 0x00004290, 0x00008980,
+ 0xc0c00000, 0x00001980, 0x008806ec, 0x00005f80, 0x00804100, 0x000082c4,
+ 0x01803017, 0x00001100, 0x00000006, 0x00009582, 0x82c028ec, 0x0000793a,
+ 0x01000000, 0x00000604, 0x00004818, 0x00007051, 0x0000002f, 0x00001582,
+ 0x04d00013, 0x0000e390, 0x05800000, 0x00008990, 0xffffffff, 0x00007f86,
+ 0x00017816, 0x00006312, 0xb000082b, 0x0000b411, 0x000047b6, 0x0000f008,
+ 0x013ff82f, 0x00007900, 0x0000fffe, 0x00008280, 0x0c002804, 0x0000e000,
+ 0x18000c60, 0x00008181, 0x00000006, 0x00006582, 0x01000000, 0x00008981,
+ 0x60000812, 0x0000e452, 0x00000811, 0x00003453, 0xc7d90320, 0x00006150,
+ 0xc0000812, 0x00006453, 0x3f801c88, 0x0000788e, 0xfa400000, 0x00002388,
+ 0x0d416404, 0x00006004, 0x0f416461, 0x0000b004, 0x00202461, 0x00009503,
+ 0x18400c61, 0x00001091, 0x30e3082c, 0x00006814, 0x00004930, 0x0000f008,
+ 0x98400ee3, 0x0000e080, 0x22000888, 0x0000c380, 0xddb82061, 0x00002004,
+ 0x2341a034, 0x0000e100, 0x8000082b, 0x00006401, 0x22008088, 0x00009380,
+ 0xffffffff, 0x00007f86, 0x01000804, 0x00001082, 0xddb82061, 0x00002814,
+ 0xfcc60415, 0x0000c494, 0x2681052e, 0x00009166, 0xc4c00f2b, 0x00007897,
+ 0x32000000, 0x0000238d, 0x82400a02, 0x00001282, 0x0000040a, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x0000479f, 0x00007010, 0x00004781, 0x00007010,
+ 0x0000479f, 0x0000f000, 0x81020615, 0x00009283, 0x01400020, 0x00006190,
+ 0x04800000, 0x0000c990, 0x01c00000, 0x00006190, 0x03400000, 0x00004990,
+ 0x000046f2, 0x00007008, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0472c800, 0x0000f900, 0x000bc11a, 0x00000980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x03c01002, 0x00009900,
+ 0x47e62213, 0x00007100, 0x0000072b, 0x00006400, 0xe0001810, 0x0000b403,
+ 0x0000272b, 0x0000f894, 0x00000000, 0x00000000, 0x5140b806, 0x0000786a,
+ 0x02400001, 0x00000010, 0x02403032, 0x0000f872, 0x02400001, 0x00000080,
+ 0x22000888, 0x00006380, 0x22c80033, 0x00000080, 0x22020088, 0x00006380,
+ 0x2341a034, 0x00000900, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
+ 0xe3e1052e, 0x00004563, 0x71e00f2b, 0x00007b91, 0x01803017, 0x00001100,
+ 0x00000006, 0x00009582, 0x01000000, 0x0000e1b9, 0xa0001810, 0x00006453,
+ 0x82c028ec, 0x0000f952, 0x01000000, 0x00000604, 0x0000471d, 0x00007038,
+ 0x0000002f, 0x00001582, 0x04d00013, 0x0000e390, 0x05800000, 0x00008990,
+ 0xffffffff, 0x00007f86, 0x00017816, 0x00006312, 0xb000082b, 0x0000b411,
+ 0x000047b6, 0x0000f008, 0x000047b6, 0x0000f400, 0x187ff82f, 0x00007900,
+ 0x0000fffe, 0x00008280, 0x0c002861, 0x0000e000, 0x18000c60, 0x00008181,
+ 0xc011732e, 0x00006502, 0x98400000, 0x00008980, 0x98400800, 0x00006190,
+ 0x00000888, 0x0000e402, 0x22020088, 0x00006380, 0x1000009b, 0x00002403,
+ 0x10630888, 0x00006000, 0xa000002b, 0x00003401, 0x0c617732, 0x00000324,
+ 0xa511722e, 0x0000e100, 0x22c80033, 0x0000c080, 0x23497734, 0x0000023a,
+ 0xe6c00000, 0x00001981, 0xdfb1012e, 0x0000c563, 0x6fc00f2b, 0x0000f990,
+ 0x22021800, 0x0000e180, 0x60000812, 0x0000e402, 0x81002614, 0x0000e283,
+ 0x26c00000, 0x00000980, 0xc0000812, 0x00006403, 0xa0000888, 0x0000b410,
+ 0x0000182b, 0x00006415, 0x20000810, 0x0000b413, 0xe6e0fc1f, 0x00006111,
+ 0x01000800, 0x00004991, 0x01000000, 0x0000e189, 0x00000811, 0x00006403,
+ 0x00000006, 0x00006582, 0x25000000, 0x00000980, 0xc7d90320, 0x00006100,
+ 0x60000812, 0x0000e452, 0x00000811, 0x00006453, 0xc0000812, 0x00003453,
+ 0x8ba90020, 0x00008238, 0x8e400020, 0x000008a4, 0x22800000, 0x000008f0,
+ 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
+ 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8,
+ 0x22c80033, 0x00006080, 0x2341a034, 0x00000900, 0xc7d90320, 0x00006150,
+ 0xa5190320, 0x0000c900, 0x3f801c88, 0x0000788e, 0xfa400000, 0x00002388,
+ 0xc019032e, 0x00006502, 0x98400000, 0x00008980, 0x98400800, 0x00006190,
+ 0x40001011, 0x00006402, 0x22022800, 0x0000e180, 0x80001011, 0x00006402,
+ 0x02c00000, 0x0000e180, 0x10630888, 0x00006000, 0x18403e2b, 0x0000e281,
+ 0x60000812, 0x00002402, 0x0000180b, 0x00006106, 0x00001011, 0x00003403,
+ 0x25000000, 0x000000f8, 0x00002461, 0x00006583, 0xc0000812, 0x0000a403,
+ 0x98402302, 0x00006780, 0x40001011, 0x00002403, 0x26c00000, 0x00007900,
+ 0x0002c000, 0x00000980, 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980,
+ 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
+ 0x00010000, 0x00000980, 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8,
+ 0xc000180b, 0x0000e006, 0x0000182b, 0x0000340d, 0x22400000, 0x0000e180,
+ 0x4513080e, 0x00006107, 0x22800000, 0x000008f0, 0x23800000, 0x000088fc,
+ 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25400000, 0x000009d8,
+ 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8, 0x22c80033, 0x00006080,
+ 0x2341a034, 0x00000900, 0x8b810020, 0x00000326, 0x07c00520, 0x000080b0,
+ 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0x00004761, 0x0000f400,
+ 0x02a90502, 0x00000238, 0xa5190320, 0x00009900, 0x02c00000, 0x0000e180,
+ 0x00001011, 0x0000e402, 0x0000180b, 0x00006106, 0x60000812, 0x0000b402,
+ 0x25000000, 0x000009ec, 0x03800000, 0x0000e180, 0x98402302, 0x0000c780,
+ 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
+ 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0x20000810, 0x00006403,
+ 0x60001011, 0x00003403, 0xc000180b, 0x0000e006, 0xc0000812, 0x00003403,
+ 0x22203800, 0x00006180, 0x4513080e, 0x00006107, 0x22400000, 0x000008e8,
+ 0x22c00000, 0x000088f0, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
+ 0x24800000, 0x000089cc, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
+ 0x26400000, 0x000009e8, 0x8ba90020, 0x00008238, 0x8e79a020, 0x00000834,
+ 0x03000000, 0x00006180, 0x03c00004, 0x0000c980, 0x02a81402, 0x00008028,
+ 0x07c10520, 0x00008912, 0xe6f1662c, 0x00009901, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x01c3c0e0, 0x00006180, 0x0d001c61, 0x0000e006,
+ 0x22400000, 0x00007900, 0x00040000, 0x00000980, 0x0200b000, 0x0000f900,
+ 0x0001e180, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x22000000, 0x00006180, 0x82230807, 0x00006004, 0x22800000, 0x000088ec,
+ 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
+ 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc,
+ 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x01000804, 0x0000e180,
+ 0x01400000, 0x00004980, 0x01800000, 0x000080ec, 0x03000000, 0x000080f4,
+ 0x03800000, 0x000080fc, 0x82800a02, 0x00009180, 0xc000180b, 0x0000e006,
+ 0xa000080d, 0x00003401, 0x98402302, 0x00006780, 0xc2981302, 0x00000900,
+ 0x4513080e, 0x0000e907, 0x001808ec, 0x00005780, 0x00884880, 0x000082c8,
+ 0x00502800, 0x0000f900, 0x0000c010, 0x00000980, 0xc000a800, 0x00006181,
+ 0x20001010, 0x0000e402, 0x40607e60, 0x0000808d, 0x008806ec, 0x00005f80,
+ 0x00804100, 0x00008a84, 0x02c00000, 0x0000e180, 0x20000810, 0x00006403,
+ 0x0000180b, 0x00006106, 0x60000812, 0x0000b402, 0x03800000, 0x0000e180,
+ 0x98402302, 0x0000c780, 0x0000182b, 0x0000e405, 0xc0001810, 0x00003403,
+ 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
+ 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006,
+ 0xc0000812, 0x00003403, 0xc7d9732e, 0x00006100, 0x4513080e, 0x00006107,
+ 0x22000200, 0x000008e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
+ 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
+ 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
+ 0x26800000, 0x000089ec, 0x03000000, 0x00006180, 0x03c00004, 0x0000c980,
+ 0x02a01502, 0x00008028, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x01c3c0e0, 0x00006180, 0x0d001c61, 0x0000e006, 0x22400000, 0x00007900,
+ 0x00040000, 0x00000980, 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980,
+ 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x22000000, 0x00006180,
+ 0x82230807, 0x00006004, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
+ 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
+ 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
+ 0x26800000, 0x000089ec, 0x01000804, 0x0000e180, 0x01400000, 0x00004980,
+ 0x01800000, 0x000080ec, 0x03000000, 0x000080f4, 0x000048ad, 0x0000f400,
+ 0x03800000, 0x000080fc, 0x82800a02, 0x00009180, 0x18002c60, 0x00001081,
+ 0xccc00c04, 0x0000f893, 0x62000000, 0x0000a484, 0x00502800, 0x0000f900,
+ 0x0000c010, 0x00000980, 0xc000a800, 0x00006181, 0x20001010, 0x0000e402,
+ 0xc060780a, 0x000080cd, 0x008806ec, 0x00005f80, 0x00804100, 0x00008a84,
+ 0xc1001f14, 0x00006283, 0x60005011, 0x00002406, 0x60000812, 0x0000e402,
+ 0x0000182b, 0x00003415, 0x18005000, 0x00001991, 0x00004962, 0x00007008,
+ 0x81001614, 0x00001283, 0x00004733, 0x0000700b, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x01c3c0a0, 0x0000e180, 0x0d001c61, 0x0000e006,
+ 0x02c00000, 0x0000e180, 0x82230807, 0x00006004, 0x0200b000, 0x0000f900,
+ 0x0001e080, 0x00000980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x22080000, 0x0000e180,
+ 0xc000180b, 0x0000e006, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0,
+ 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
+ 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
+ 0x26400000, 0x000009e8, 0x26c00000, 0x0000e180, 0x01000804, 0x0000c980,
+ 0x01400000, 0x000000d8, 0x03000000, 0x000080f8, 0x000048b1, 0x00007400,
+ 0x03c00000, 0x00006180, 0x82800a02, 0x00004080, 0x98402302, 0x00006780,
+ 0xc2981302, 0x00000900, 0x98771ee3, 0x00009900, 0xe2030c61, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00008461, 0x00009583, 0x18404033, 0x000067b0,
+ 0x0f416404, 0x00002034, 0x01a02404, 0x0000e130, 0x01400020, 0x0000c9b0,
+ 0x000049a3, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x045ac800, 0x0000f900, 0x00329896, 0x00008980, 0x03400000, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x81401000, 0x00006180, 0xc2f00600, 0x0000c901,
+ 0x000047e5, 0x0000f400, 0x82f81400, 0x0000803c, 0x01c03006, 0x00006100,
+ 0x04972861, 0x0000c200, 0x98400ee3, 0x0000e080, 0x8000082b, 0x00006401,
+ 0xddb82861, 0x0000a004, 0x22000888, 0x00006380, 0xa000002b, 0x0000a401,
+ 0x22008088, 0x00009380, 0xffffffff, 0x00007f86, 0x01000805, 0x00001080,
+ 0xddb82061, 0x0000a804, 0x00000004, 0x00001582, 0xddb82861, 0x0000a80c,
+ 0x0000002f, 0x00001582, 0x82c028ec, 0x0000f902, 0x01000000, 0x00000604,
+ 0x04d00013, 0x0000e390, 0x05800000, 0x00008990, 0x000047ee, 0x00007008,
+ 0x187ff82f, 0x00007900, 0x0000fffe, 0x00008280, 0x22000888, 0x00006380,
+ 0x00017816, 0x00002302, 0x18000c60, 0x0000e181, 0xb000082b, 0x0000a401,
+ 0x22c80033, 0x00006080, 0x2341a034, 0x00000900, 0x22020088, 0x00006380,
+ 0x0c002861, 0x00008000, 0xb661052e, 0x0000c563, 0x5b200f2b, 0x0000e493,
+ 0xc1006714, 0x00009283, 0x22000000, 0x0000e190, 0x0000182b, 0x00006415,
+ 0x22400000, 0x00006190, 0x22800000, 0x00004990, 0x00004733, 0x00007008,
+ 0x0000041f, 0x0000e583, 0x18400000, 0x00008981, 0x18400800, 0x00006191,
+ 0x23800000, 0x00004980, 0x02c00000, 0x000009d0, 0xe7a3088e, 0x00006001,
+ 0x0000180b, 0x00003106, 0x03800000, 0x0000e180, 0x98402302, 0x0000c780,
+ 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
+ 0xc000180b, 0x0000e006, 0x4513080e, 0x00003107, 0x22c00000, 0x000088f0,
+ 0x23400000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
+ 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8,
+ 0x26c00000, 0x000080f0, 0x03c00004, 0x0000e180, 0x82901202, 0x00004900,
+ 0x2528101f, 0x00008028, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780, 0x00884880, 0x000082c8,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x01c3c0a0, 0x0000e180, 0x0d001c08, 0x0000e006, 0x02c00000, 0x000000f8,
+ 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
+ 0x00010000, 0x00000980, 0x001808ec, 0x00005780, 0x00884880, 0x000082c8,
+ 0x82204007, 0x00006004, 0xc000180b, 0x0000b006, 0x23800000, 0x00006180,
+ 0x4513080e, 0x00006107, 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980,
+ 0x23c00000, 0x000009d0, 0x22080088, 0x00006380, 0x01000804, 0x00000980,
+ 0x01400000, 0x000000d8, 0x000048b4, 0x00007400, 0x03000000, 0x000000fc,
+ 0xc2981302, 0x0000e100, 0x82800a02, 0x00004080, 0x49a546a8, 0x00007300,
+ 0x81605015, 0x000000d6, 0x01800001, 0x0000e180, 0x01000000, 0x0000c980,
0xffc00000, 0x00006180, 0x00020039, 0x0000e587, 0x700000ec, 0x0000d680,
0x00000040, 0x00000080, 0x00232006, 0x00006102, 0x40001011, 0x00003402,
0x02c00000, 0x0000e180, 0x04135004, 0x00006187, 0x00502800, 0x0000f900,
@@ -9714,34 +10265,34 @@ ARRAY_DECL u32 init_val[] = {
0x22c80033, 0x0000c080, 0x23400734, 0x000080b0, 0x03c00004, 0x0000e180,
0x82901202, 0x00004900, 0x02a0ad02, 0x00000083, 0xc0c07800, 0x00006180,
0x806b2564, 0x00004901, 0x008806ec, 0x00005f80, 0x00804100, 0x00008a84,
- 0x01400001, 0x0000e180, 0x01000000, 0x0000c980, 0x00003406, 0x00006583,
- 0x00232005, 0x0000a102, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x98403e61, 0x0000e089, 0x04135004, 0x0000a187, 0x000043ea, 0x0000f208,
- 0x703828ec, 0x0000d600, 0x00382000, 0x00000000, 0x00000406, 0x00006583,
- 0x22800000, 0x00000980, 0x01404032, 0x00006780, 0xa0000834, 0x00002409,
- 0x00002c06, 0x00006583, 0x0020308a, 0x00002080, 0x22400000, 0x00007900,
- 0x00010000, 0x00000980, 0x22000000, 0x000008ec, 0x01400805, 0x0000e180,
+ 0x01800001, 0x0000e180, 0x01000000, 0x0000c980, 0x00003405, 0x00006583,
+ 0x00232006, 0x0000a102, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x98403e61, 0x0000e089, 0x04135004, 0x0000a187, 0x00004a14, 0x00007208,
+ 0x703830ec, 0x0000d600, 0x00382000, 0x00000000, 0x00000405, 0x00006583,
+ 0x22800000, 0x00000980, 0x01804032, 0x00006780, 0xa0000834, 0x00002409,
+ 0x00002c05, 0x00006583, 0x0020288a, 0x00002080, 0x22400000, 0x00007900,
+ 0x00010000, 0x00000980, 0x22000000, 0x000008ec, 0x01800806, 0x0000e180,
0x23000000, 0x00000980, 0x23800800, 0x00007900, 0x000a0000, 0x00008980,
0x23400000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x26800000, 0x000089ec, 0x000043da, 0x0000f410, 0x2283008a, 0x00006390,
- 0x6249a134, 0x00000900, 0x62002805, 0x00006100, 0xe2d16a2d, 0x0000c900,
- 0x81400ee3, 0x00006080, 0x5000088a, 0x00006402, 0xdd802005, 0x00002086,
- 0xffffffff, 0x00007fa7, 0x81000a04, 0x00001082, 0xdd882005, 0x0000a896,
- 0x02c00000, 0x000000f8, 0x81402302, 0x0000e780, 0x0000180b, 0x0000a106,
+ 0x26800000, 0x000089ec, 0x00004a04, 0x0000f410, 0x2283008a, 0x00006390,
+ 0x6249a134, 0x00000900, 0x62003006, 0x00006100, 0xe2d16a2d, 0x0000c900,
+ 0x81800ee3, 0x00006080, 0x5000088a, 0x00006402, 0xdd802006, 0x00002086,
+ 0xffffffff, 0x00007fa7, 0x81000a04, 0x00001082, 0xdd882006, 0x0000a896,
+ 0x02c00000, 0x000000f8, 0x81802302, 0x0000e780, 0x0000180b, 0x0000a106,
0x0200b000, 0x0000f900, 0x0001e180, 0x00008980, 0x02400000, 0x0000f900,
0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006,
- 0x4510280e, 0x0000b107, 0x03000000, 0x00006180, 0x03c00004, 0x0000c980,
+ 0x4510300e, 0x0000b107, 0x03000000, 0x00006180, 0x03c00004, 0x0000c980,
0x02a01502, 0x00008028, 0x7fe0ac00, 0x000000c3, 0x00502800, 0x0000f900,
0x0000c010, 0x00000980, 0x00607a61, 0x0000008d, 0x008806ec, 0x00005f80,
0x00804100, 0x00008a84, 0x80003605, 0x00006583, 0x01c00000, 0x00008981,
0x01800000, 0x0000e181, 0x01c00800, 0x00004991, 0x40004506, 0x0000e583,
0x01400000, 0x00000981, 0x01800800, 0x0000e191, 0x0000182b, 0x0000e405,
0x40000505, 0x00009583, 0x00000406, 0x00006583, 0x01400800, 0x00000991,
- 0x0101fd06, 0x00001291, 0x00004400, 0x0000f011, 0x00000405, 0x00009583,
+ 0x0101fd06, 0x00001291, 0x00004a2a, 0x0000f011, 0x00000405, 0x00009583,
0x0101f800, 0x0000e189, 0x0101fd05, 0x00004291, 0x00000406, 0x00009583,
- 0x01000800, 0x00006191, 0x0020203c, 0x00006082, 0x00004407, 0x00007011,
+ 0x01000800, 0x00006191, 0x0020203c, 0x00006082, 0x00004a31, 0x0000f011,
0x00000405, 0x00009583, 0x01000000, 0x0000e189, 0x01001000, 0x00004991,
0x02000001, 0x00006180, 0x6000003c, 0x0000e502, 0x61a0203c, 0x0000e002,
0x00232008, 0x0000b102, 0x01000000, 0x000008e8, 0x700000ec, 0x0000d680,
@@ -9755,8 +10306,8 @@ ARRAY_DECL u32 init_val[] = {
0xb2f8283c, 0x00006080, 0xa6a03889, 0x0000e001, 0xe000088e, 0x0000b409,
0x23000000, 0x000088f4, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
0x24c00000, 0x000009d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x00004435, 0x0000f408, 0x26800000, 0x000089ec, 0x25282d05, 0x00006109,
- 0xe2d16a2d, 0x0000c900, 0x00000c06, 0x00001583, 0x00004435, 0x00007013,
+ 0x00004a5f, 0x00007408, 0x26800000, 0x000089ec, 0x25282d05, 0x00006109,
+ 0xe2d16a2d, 0x0000c900, 0x00000c06, 0x00001583, 0x00004a5f, 0x0000f013,
0xc104072b, 0x00001283, 0x1000109b, 0x0000e413, 0x1000089b, 0x0000b40b,
0xa6f8301f, 0x0000092d, 0x02c00000, 0x000000f8, 0x81002302, 0x00006780,
0x0000180b, 0x0000a106, 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980,
@@ -9788,7 +10339,7 @@ ARRAY_DECL u32 init_val[] = {
0xdda02005, 0x00002084, 0x007f8001, 0x00007900, 0x003ffffe, 0x00008280,
0xc0000800, 0x00006181, 0x812a0001, 0x0000e604, 0x80c00000, 0x00001981,
0x81000a04, 0x00001082, 0xdda02005, 0x00002894, 0x008806ec, 0x00005f80,
- 0x00004000, 0x00008084, 0x4490447b, 0x00007100, 0xffc00000, 0x00006180,
+ 0x00004000, 0x00008084, 0x4aba4aa5, 0x0000f100, 0xffc00000, 0x00006180,
0x40001011, 0x00006402, 0x01400001, 0x0000e180, 0x01000000, 0x0000c980,
0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00502800, 0x0000f900,
0x0000c010, 0x00000980, 0x00232005, 0x00006102, 0x80155011, 0x0000b502,
@@ -9808,49 +10359,49 @@ ARRAY_DECL u32 init_val[] = {
0xa07c222b, 0x0000d000, 0x003b3800, 0x00000000, 0x19c03e2b, 0x0000e281,
0x19400065, 0x00000084, 0x00002467, 0x00009583, 0xa07b302b, 0x00005000,
0x003b2800, 0x00008000, 0x98814000, 0x00006189, 0x1a4be17c, 0x00004908,
- 0x000049b9, 0x00007010, 0x1800417c, 0x00006080, 0x1980417c, 0x00004880,
- 0xb1600368, 0x00004492, 0x1683856e, 0x00001193, 0xb1600287, 0x0000c190,
+ 0x00004fe2, 0x0000f010, 0x1800417c, 0x00006080, 0x1980417c, 0x00004880,
+ 0x76a00368, 0x00004493, 0x6a83856e, 0x00001297, 0x76a00287, 0x0000c191,
0x00814761, 0x00000010, 0x00814c62, 0x0000c708, 0x8bb00287, 0x0000368e,
- 0x62c00d87, 0x0000f88f, 0x22000000, 0x0000a28c, 0x08015263, 0x00006106,
- 0x08036a62, 0x0000b106, 0xb1631c62, 0x0000c410, 0x16812776, 0x00009113,
- 0xb1612f77, 0x0000c410, 0x16813778, 0x00009113, 0xb1613f79, 0x0000c410,
- 0x1691497a, 0x00009113, 0xb167077a, 0x00004996, 0x18800a02, 0x00001193,
+ 0xed400d87, 0x0000788e, 0x72400000, 0x0000258d, 0x08015263, 0x00006106,
+ 0x08036a62, 0x0000b106, 0x76a31c62, 0x0000c411, 0x6a812776, 0x00009217,
+ 0x76a12f77, 0x0000c411, 0x6a813778, 0x00009217, 0x76a13f79, 0x0000c411,
+ 0x6a91497a, 0x00009217, 0x76a7077a, 0x00004997, 0x6c800a02, 0x00009297,
0x9840f000, 0x0000e181, 0x0a03d465, 0x0000e080, 0x00019066, 0x00006502,
- 0x98e32c65, 0x00008900, 0xce3b9063, 0x0000a084, 0x0b03d462, 0x0000600a,
- 0xa0000034, 0x00003409, 0x000049d7, 0x0000f010, 0xffffffff, 0x00007f86,
- 0x987b9772, 0x0000e100, 0x99fb9371, 0x0000c100, 0x18a39472, 0x0000e101,
- 0x99631267, 0x0000c100, 0x9a408265, 0x00001180, 0x9ee00472, 0x0000c488,
- 0x2c800c72, 0x0000928c, 0x28601472, 0x0000c189, 0x00a00269, 0x00008088,
- 0x3f595269, 0x0000f833, 0x1a000000, 0x0000ac8a, 0x5601867a, 0x0000f896,
- 0x02c00001, 0x00000000, 0x3f595269, 0x0000780b, 0xc2000000, 0x0000ac8a,
+ 0x98e32c65, 0x00008900, 0xce3b8063, 0x00002084, 0x0b03d462, 0x0000600a,
+ 0xa0000034, 0x00003409, 0x00005000, 0x00007010, 0xffffffff, 0x00007f86,
+ 0x987b8770, 0x0000e100, 0x99fb8371, 0x00004100, 0x18a38470, 0x0000e101,
+ 0x99631267, 0x0000c100, 0x9a408265, 0x00001180, 0x64200470, 0x0000c489,
+ 0x7e800c70, 0x00001488, 0xede01470, 0x0000c189, 0x00a00269, 0x00008088,
+ 0xc9d95269, 0x0000f832, 0x7a400000, 0x0000af8b, 0xe101867a, 0x00007897,
+ 0x02c00001, 0x00000000, 0xc9d95269, 0x0000780a, 0x22400000, 0x0000af8c,
0xd8401f34, 0x0000e283, 0x19401f34, 0x00008281, 0x80195269, 0x00009502,
- 0xffffffff, 0x00007f86, 0x00004827, 0x00007010, 0x00004827, 0x0000f018,
+ 0xffffffff, 0x00007f86, 0x00004e51, 0x0000f010, 0x00004e51, 0x00007018,
0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x26c00000, 0x000089e8, 0x00001572, 0x00004088, 0x00001572, 0x00000098,
- 0x3c600572, 0x0000c588, 0x1d000d72, 0x00000094, 0xb6402572, 0x0000789b,
- 0xa2000000, 0x00002384, 0x6840007f, 0x0000c48b, 0xbe800f2b, 0x0000118f,
- 0xf7c00080, 0x0000f8cb, 0x62000000, 0x0000238d, 0x19739672, 0x00001901,
- 0x55600269, 0x0000c18b, 0x0080172b, 0x00008088, 0xa4000e72, 0x0000c492,
- 0x4083c72b, 0x00001192, 0xe584072b, 0x00007896, 0x02800001, 0x00008000,
- 0xe099031f, 0x0000f862, 0x8a800000, 0x0000a485, 0xa520172b, 0x0000c48d,
- 0xbc800e72, 0x00009295, 0x5bc3c72b, 0x0000c497, 0x9084072b, 0x00001791,
- 0x2159031f, 0x0000f863, 0x72c00000, 0x0000ad8f, 0x02c00000, 0x000000f8,
- 0x99802302, 0x0000e780, 0x98f35772, 0x00000000, 0x0000180b, 0x00006106,
+ 0x26c00000, 0x000089e8, 0x00001570, 0x0000c088, 0x00001570, 0x00008098,
+ 0x3c600570, 0x00004588, 0x1d000d70, 0x00008094, 0x40c02570, 0x0000789b,
+ 0xf2400000, 0x00002685, 0x2d60007f, 0x0000448a, 0x12a00f2b, 0x0000138c,
+ 0x82400080, 0x0000f8cb, 0xb2400000, 0x0000268e, 0x19738670, 0x00001901,
+ 0x1a800269, 0x0000418a, 0x00a0172b, 0x00000088, 0x69400e70, 0x0000c493,
+ 0x9483c72b, 0x00009296, 0x7084072b, 0x00007896, 0x02c00001, 0x00000000,
+ 0x6b99031f, 0x0000f862, 0xdac00000, 0x00002786, 0x6a40172b, 0x0000448c,
+ 0x0ea00e70, 0x00001492, 0x20e3c72b, 0x0000c496, 0xe8a4072b, 0x00001895,
+ 0xac59031f, 0x00007862, 0xd3000000, 0x0000b180, 0x02c00000, 0x000000f8,
+ 0x99802302, 0x0000e780, 0x98f35770, 0x00008000, 0x0000180b, 0x00006106,
0x4513300e, 0x0000b107, 0x99806263, 0x0000e080, 0xc000180b, 0x00002006,
0x0218b000, 0x0000f900, 0x0001e140, 0x00008980, 0x02400000, 0x0000f900,
0x00018008, 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980,
0x01000802, 0x0000e180, 0x01400000, 0x00004980, 0x0197f840, 0x00006180,
0x01c00000, 0x0000c980, 0x03000000, 0x00006180, 0x03c00004, 0x0000c980,
0x02a81402, 0x00008028, 0xa2d33662, 0x0000e000, 0xe293526a, 0x00008900,
- 0x00000c62, 0x00009583, 0x00004abe, 0x0000701b, 0x0000007f, 0x0000e582,
+ 0x00000c62, 0x00009583, 0x000050e7, 0x0000f01b, 0x0000007f, 0x0000e582,
0x98ff1fe3, 0x00008900, 0xd0bb3863, 0x0000a084, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0003f867, 0x00001502,
- 0xffffffff, 0x00007f86, 0x00004a4a, 0x00007008, 0x00004a4a, 0x0000f028,
+ 0xffffffff, 0x00007f86, 0x00005073, 0x0000f008, 0x00005073, 0x00007028,
0x0cfbef7f, 0x00000304, 0x0c3c077e, 0x0000023c, 0x00000462, 0x00001583,
- 0x00134880, 0x00001502, 0xffffffff, 0x00007f86, 0x00004b55, 0x00007010,
- 0x00004893, 0x00007010, 0x19c04033, 0x00006780, 0x23018030, 0x00008900,
+ 0x00134880, 0x00001502, 0xffffffff, 0x00007f86, 0x0000517e, 0x0000f010,
+ 0x00004ebd, 0x00007010, 0x19c04033, 0x00006780, 0x23018030, 0x00008900,
0x18000067, 0x00007900, 0x00000200, 0x00000380, 0x99802302, 0x0000e780,
0x0003000e, 0x0000a206, 0x0c018269, 0x00006002, 0x4513300e, 0x00002107,
0x001808ec, 0x00005780, 0x00884880, 0x000082c8, 0x23734f31, 0x0000083e,
@@ -9859,9 +10410,9 @@ ARRAY_DECL u32 init_val[] = {
0x19800800, 0x0000e189, 0x90000889, 0x00006401, 0x00001c62, 0x0000e583,
0x0c880032, 0x00000080, 0x00000462, 0x00009593, 0x18c00934, 0x0000e088,
0x63800800, 0x00000988, 0x19cf2863, 0x0000e208, 0xb000088e, 0x00002409,
- 0x0000456d, 0x00007010, 0x00000c65, 0x0000e583, 0xd000008e, 0x00002401,
+ 0x00004b97, 0x0000f010, 0x00000c65, 0x0000e583, 0xd000008e, 0x00002401,
0xd783e08e, 0x0000e001, 0xa0000089, 0x0000b401, 0x4d033867, 0x0000e100,
- 0x620be17c, 0x00004900, 0x00004858, 0x00007208, 0x62433867, 0x0000e100,
+ 0x620be17c, 0x00004900, 0x00004e82, 0x0000f208, 0x62433867, 0x0000e100,
0xa298fb20, 0x0000c110, 0x001848ec, 0x0000d780, 0x00004003, 0x00000080,
0x1a407800, 0x00009981, 0x18000000, 0x00006180, 0x18800001, 0x00004980,
0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04135060, 0x0000e187,
@@ -9872,57 +10423,57 @@ ARRAY_DECL u32 init_val[] = {
0x96632801, 0x00006001, 0x008806ec, 0x00005f80, 0x00804100, 0x000082c4,
0x98c00ee3, 0x00001880, 0xddbb3a63, 0x0000a084, 0xffffffff, 0x00007fa7,
0x19400867, 0x00001080, 0xddbb2a63, 0x0000a884, 0x00000065, 0x00009582,
- 0xddbb3a63, 0x0000a88c, 0x458c447b, 0x00007100, 0x99000420, 0x000006ee,
+ 0xddbb3a63, 0x0000a88c, 0x4bb64aa5, 0x00007100, 0x99000420, 0x000006ee,
0x98401614, 0x00001283, 0x18418415, 0x00001283, 0xffffffff, 0x00007f86,
- 0x0000593d, 0x0000f010, 0x0000593d, 0x0000f010, 0x00019866, 0x00001502,
- 0x4594447b, 0x0000f16b, 0xb2019f66, 0x0000c209, 0x34833718, 0x0000116b,
- 0x63c08f7a, 0x00007893, 0x62400000, 0x0000268c, 0x00033018, 0x00001502,
- 0x00004d90, 0x0000706b, 0x18460415, 0x0000e283, 0x60001012, 0x00002402,
+ 0x00005f69, 0x00007010, 0x00005f69, 0x00007010, 0x00019866, 0x00001502,
+ 0x4bbe4aa5, 0x0000716b, 0x77219f66, 0x0000c208, 0x88a33718, 0x0000926f,
+ 0xee008f7a, 0x0000f892, 0xaa800000, 0x0000298d, 0x00033018, 0x00001502,
+ 0x000053b9, 0x0000f06b, 0x18460415, 0x0000e283, 0x60001012, 0x00002402,
0x22000000, 0x00006180, 0x00001011, 0x00006403, 0x22400000, 0x000008e8,
0x22c00000, 0x000088f0, 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0,
0x24400000, 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8,
- 0x25c00000, 0x000009e0, 0x00004d73, 0x00007410, 0x26400000, 0x000009e8,
- 0x26c00000, 0x00009980, 0xc0008f7a, 0x00001583, 0x00004f89, 0x0000700b,
+ 0x25c00000, 0x000009e0, 0x0000539c, 0x0000f410, 0x26400000, 0x000009e8,
+ 0x26c00000, 0x00009980, 0xc0008f7a, 0x00001583, 0x000055b2, 0x0000700b,
0x5842052c, 0x00006283, 0x99b3166a, 0x00000000, 0xe253526a, 0x00006100,
- 0xa2806266, 0x0000c080, 0x1a40c819, 0x00001908, 0x000045df, 0x00007010,
+ 0xa2806266, 0x0000c080, 0x1a40c819, 0x00001908, 0x00004c09, 0x0000f010,
0x0000c834, 0x00001502, 0x19800002, 0x000061e8, 0xe000082c, 0x0000e468,
- 0x19fff835, 0x00007968, 0x00000002, 0x00008280, 0x000050f9, 0x0000f060,
+ 0x19fff835, 0x00007968, 0x00000002, 0x00008280, 0x00005722, 0x00007060,
0x18c33866, 0x00009100, 0x00027863, 0x00001582, 0x0d400035, 0x0000f930,
0x003ffffc, 0x00000280, 0x98410614, 0x00001283, 0x997f1fe3, 0x00009910,
- 0x8a033a65, 0x00002090, 0x00004b33, 0x00007008, 0xffffffff, 0x00007f97,
- 0x19803c67, 0x00009281, 0x00001466, 0x00001583, 0x45c34490, 0x0000710b,
+ 0x8a033a65, 0x00002090, 0x0000515c, 0x0000f008, 0xffffffff, 0x00007f97,
+ 0x19803c67, 0x00009281, 0x00001466, 0x00001583, 0x4bed4aba, 0x0000f10b,
0x1a001002, 0x00006100, 0x18c03d1f, 0x00004781, 0x1943fd1f, 0x0000e281,
0x0f41a867, 0x00002100, 0x19803000, 0x0000e181, 0xda1b4463, 0x00004300,
0x98c3fd1f, 0x00001280, 0x37831263, 0x00007902, 0x18400000, 0x00000100,
- 0xffffffff, 0x00007fa7, 0x00034061, 0x00001502, 0x00004f81, 0x0000f013,
+ 0xffffffff, 0x00007fa7, 0x00034061, 0x00001502, 0x000055aa, 0x00007013,
0x00031019, 0x00001502, 0x0d428035, 0x000060f0, 0x98c04c65, 0x000088f0,
- 0x99933a63, 0x00001070, 0x00004f81, 0x0000f058, 0x37b9e666, 0x0000b138,
+ 0x99933a63, 0x00001070, 0x000055aa, 0x00007058, 0x37b9e666, 0x0000b138,
0x37f9f066, 0x0000b138, 0x37fa0266, 0x00003138, 0x37fa1466, 0x0000b138,
0x37fa2666, 0x00003138, 0x383a3066, 0x0000b138, 0x383a4266, 0x0000b138,
0x383a5466, 0x00003138, 0x383a6666, 0x0000b138, 0x387a7066, 0x0000b138,
0xffffffff, 0x00007f86, 0xd8400000, 0x0000e180, 0x99ff1fe3, 0x0000c900,
- 0xd0bb3867, 0x00002084, 0xbd43074e, 0x0000c110, 0x0080877a, 0x00000088,
- 0xcf20977a, 0x0000c488, 0x96a06f7a, 0x0000958c, 0x88c0777a, 0x0000f88b,
- 0xaa800000, 0x0000aa8f, 0xe6c1c42c, 0x0000f897, 0x42800000, 0x00002b8c,
+ 0xd0bb3867, 0x00002084, 0x8283074e, 0x00004111, 0x0080877a, 0x00000088,
+ 0x94a0977a, 0x00004489, 0xeea06f7a, 0x00009788, 0x13c0777a, 0x0000788b,
+ 0x0ac00000, 0x00002e81, 0x71c1c42c, 0x00007897, 0xa2c00000, 0x0000ae8d,
0x18c00f7d, 0x0000e281, 0x19400f7d, 0x00008781, 0x18c01463, 0x0000e080,
0x19400c65, 0x00000180, 0xc0000f7d, 0x0000e583, 0x18c32863, 0x00008800,
0x198bef7d, 0x00006030, 0x198be863, 0x00008018, 0x98c0a371, 0x0000e180,
0x0b03d465, 0x0000a002, 0x00002c4c, 0x0000e583, 0x22004088, 0x00000380,
0x23033066, 0x00006100, 0xd8632a63, 0x0000c100, 0x99a32a63, 0x00009100,
- 0xc100172b, 0x00001283, 0x80195266, 0x00009502, 0x0000574b, 0x0000f010,
- 0x0000574b, 0x0000f010, 0x0000574b, 0x00007018, 0x0013304f, 0x00001502,
+ 0xc100172b, 0x00001283, 0x80195266, 0x00009502, 0x00005d77, 0x0000f010,
+ 0x00005d77, 0x0000f010, 0x00005d77, 0x00007018, 0x0013304f, 0x00001502,
0x0d000834, 0x0000e088, 0xe000002c, 0x0000a408, 0x8b400000, 0x00009989,
- 0x0000574b, 0x0000f010, 0x8000064c, 0x00001583, 0x8e526a4d, 0x00009910,
+ 0x00005d77, 0x0000f010, 0x8000064c, 0x00001583, 0x8e526a4d, 0x00009910,
0xa280228a, 0x00009080, 0xc000977a, 0x0000e583, 0x01000802, 0x00000980,
0x01400000, 0x00006180, 0x0197f840, 0x00004980, 0x01c00000, 0x0000e180,
- 0x0a026466, 0x0000e010, 0x00004f6c, 0x0000f008, 0x00000466, 0x00006583,
+ 0x0a026466, 0x0000e010, 0x00005595, 0x00007008, 0x00000466, 0x00006583,
0xb4c26088, 0x00002000, 0x999b0b61, 0x0000e108, 0x99804b61, 0x00004790,
0xffffffff, 0x00007f86, 0x99801a66, 0x00001890, 0xc0006f7a, 0x00006583,
0x999b0a66, 0x00000010, 0xc000877a, 0x00001593, 0x19400000, 0x0000e190,
0x09826065, 0x0000e008, 0x40000d4c, 0x00009583, 0xe29b0b61, 0x0000e108,
- 0xc3232888, 0x0000e000, 0x002a6088, 0x0000e808, 0x00004e6b, 0x0000f010,
+ 0xc3232888, 0x0000e000, 0x002a6088, 0x0000e808, 0x00005494, 0x00007010,
0xc0000361, 0x00001582, 0x0001f867, 0x00009502, 0xffffffff, 0x00007f86,
- 0x00004e63, 0x00007008, 0x00004e50, 0x0000f028, 0x18c0403f, 0x0000e780,
+ 0x0000548c, 0x00007008, 0x00005479, 0x0000f028, 0x18c0403f, 0x0000e780,
0x99c02302, 0x00000780, 0x18800063, 0x00007900, 0x00000200, 0x00000380,
0x2381e83d, 0x0000e100, 0x45133862, 0x00006107, 0x0f41ea66, 0x00006002,
0x23c1f03e, 0x00008900, 0x2499ff3c, 0x00000826, 0x19c31062, 0x00006100,
@@ -9930,29 +10481,29 @@ ARRAY_DECL u32 init_val[] = {
0x00000c66, 0x00001583, 0x19800000, 0x00006198, 0x09426066, 0x00006030,
0xffffffff, 0x00007f86, 0xd3633088, 0x00006800, 0x00072867, 0x0000e502,
0x19800000, 0x00000981, 0x19800800, 0x00009991, 0x00030033, 0x00001502,
- 0x00004e43, 0x00007063, 0xd8400f2b, 0x0000e283, 0x0cc30060, 0x00000900,
+ 0x0000546c, 0x00007063, 0xd8400f2b, 0x0000e283, 0x0cc30060, 0x00000900,
0x19400800, 0x0000e189, 0x0e844465, 0x00006010, 0x22000888, 0x00006380,
0xa000002b, 0x0000a401, 0x223df888, 0x0000f900, 0x003ffffe, 0x00008280,
0x0b3e002c, 0x00007900, 0x003ffffe, 0x00008280, 0x19480060, 0x00006080,
0x61a32888, 0x00002000, 0x00032817, 0x00007872, 0x00000000, 0x00000000,
- 0x00001513, 0x0000f894, 0x00000000, 0x00000000, 0x94c0002f, 0x0000788b,
- 0x02000001, 0x00000060, 0xcbc32f32, 0x00004170, 0x0091c82e, 0x00000060,
- 0x97800f2b, 0x0000f897, 0x52000000, 0x0000a482, 0xc1400f2b, 0x0000f897,
- 0xd2400000, 0x0000a787, 0xc8000f2b, 0x00007897, 0x82400000, 0x0000a788,
+ 0x00001513, 0x0000f894, 0x00000000, 0x00000000, 0x1f40002f, 0x0000f88b,
+ 0x02400001, 0x00008060, 0x91032f32, 0x0000c171, 0x0091c82e, 0x00000060,
+ 0x22000f2b, 0x0000f897, 0xa2400000, 0x0000a783, 0x4b800f2b, 0x00007897,
+ 0x1a800000, 0x00002a89, 0x52400f2b, 0x0000f897, 0xca800000, 0x0000aa89,
0x82c180ec, 0x0000f902, 0x05800000, 0x00000604, 0x18fff82f, 0x0000f900,
0x0000fffe, 0x00008280, 0x05800000, 0x0000e180, 0xb000082b, 0x00006401,
- 0x0000464b, 0x0000f400, 0x04d00013, 0x00006380, 0x59000d64, 0x00008181,
+ 0x00004c75, 0x00007400, 0x04d00013, 0x00006380, 0x59000d64, 0x00008181,
0x0c018063, 0x00006000, 0x00017816, 0x00002302, 0x22c80060, 0x00006080,
0x2440a488, 0x0000a000, 0xa539a02e, 0x00000834, 0x00001c88, 0x00007894,
- 0x00000000, 0x00000000, 0x2100038a, 0x0000f893, 0x02400001, 0x00008060,
- 0x8c400466, 0x0000f88b, 0x02400001, 0x00000080, 0x02c00000, 0x000000f8,
+ 0x00000000, 0x00000000, 0xab40038a, 0x00007892, 0x02800001, 0x00008060,
+ 0x16800466, 0x0000f88b, 0x02800001, 0x00000080, 0x02c00000, 0x000000f8,
0x00000c6b, 0x00006583, 0x0000180b, 0x0000a106, 0x000808ec, 0x0000d780,
0x00004800, 0x00008080, 0x99802302, 0x0000e780, 0x0003380e, 0x00002206,
0x0218b000, 0x0000f900, 0x0001e040, 0x00000980, 0x02400000, 0x0000f900,
0x00018008, 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980,
0xc000180b, 0x0000e006, 0x4513300e, 0x0000b107, 0x001010ec, 0x0000d780,
0x00884880, 0x000082c8, 0x03000000, 0x00006180, 0x03c00004, 0x0000c980,
- 0x00004df6, 0x0000f408, 0x02a81402, 0x00008028, 0x19000c64, 0x00001181,
+ 0x0000541f, 0x0000f408, 0x02a81402, 0x00008028, 0x19000c64, 0x00001181,
0x18000000, 0x00006180, 0x18400001, 0x00004980, 0x700000ec, 0x0000d680,
0x00000040, 0x00000080, 0x04135060, 0x0000e187, 0x00232061, 0x0000b102,
0x703b08ec, 0x00005600, 0x003b0000, 0x00008000, 0x001848ec, 0x0000d780,
@@ -9963,10 +10514,10 @@ ARRAY_DECL u32 init_val[] = {
0x008806ec, 0x00005f80, 0x00804100, 0x000082c4, 0x0000007f, 0x0000e582,
0x997f1fe3, 0x00008900, 0xd0bb1865, 0x00002084, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0003f863, 0x00009502,
- 0xffffffff, 0x00007f86, 0x00004a36, 0x0000f008, 0x00004a36, 0x00007028,
+ 0xffffffff, 0x00007f86, 0x0000505f, 0x00007008, 0x0000505f, 0x0000f028,
0x99516a2d, 0x00006100, 0x19d90a2d, 0x00004100, 0x00196867, 0x00009502,
- 0xc100272b, 0x00001283, 0xffffffff, 0x00007f86, 0x00004a99, 0x0000f040,
- 0x00004b00, 0x00007008, 0x40001d72, 0x00006583, 0x1980407f, 0x00000780,
+ 0xc100272b, 0x00001283, 0xffffffff, 0x00007f86, 0x000050c2, 0x0000f040,
+ 0x00005129, 0x00007008, 0x40001d70, 0x0000e583, 0x1980407f, 0x00000780,
0x99c00000, 0x000080f8, 0x18000066, 0x0000f900, 0x00000200, 0x00000380,
0x19c00800, 0x00006191, 0x00100089, 0x00006503, 0x0003000e, 0x00006206,
0x0000088e, 0x00003586, 0x02c00000, 0x0000e180, 0x98c02302, 0x00004780,
@@ -9982,32 +10533,32 @@ ARRAY_DECL u32 init_val[] = {
0xe223fc7f, 0x00006101, 0xa298fb20, 0x00004100, 0xe293526a, 0x00006100,
0xe2c00a65, 0x00004080, 0x237bf77d, 0x00008830, 0x23c04000, 0x00006180,
0x25440080, 0x0000c900, 0x253c1781, 0x0000091c, 0x25841883, 0x0000e100,
- 0x19000c64, 0x00004181, 0x0000456f, 0x0000f400, 0x0c880032, 0x00006080,
+ 0x19000c64, 0x00004181, 0x00004b99, 0x00007400, 0x0c880032, 0x00006080,
0x4d031863, 0x00000900, 0x62431863, 0x00009900, 0x99771ee3, 0x00001900,
0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
- 0x18c04060, 0x0000e7b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x000047f3, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x18c04060, 0x0000e7b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00004e1d, 0x0000f018, 0x0412d800, 0x00007900,
0x0005a686, 0x00000980, 0x045d8800, 0x0000f900, 0x001dca7e, 0x00008980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x46ec20b1, 0x00007500,
- 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100, 0x04972863, 0x00004200,
- 0x19739672, 0x00001901, 0x62c00c72, 0x0000449b, 0xf283c72b, 0x00001197,
- 0x1f04072b, 0x00004995, 0x5c81051f, 0x00009361, 0x98c7fb2c, 0x00006280,
- 0x99880000, 0x00008980, 0x9c131a66, 0x0000e100, 0x1a000400, 0x00008980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x4d162213, 0x0000f500,
+ 0x82f81400, 0x0000803c, 0x01fbd77a, 0x00006100, 0x04972863, 0x00004200,
+ 0x19738670, 0x00001901, 0x27e00c70, 0x0000449a, 0x46a3c72b, 0x00001394,
+ 0xe424072b, 0x00004995, 0xae81051f, 0x00001465, 0x98c7fb2c, 0x00006280,
+ 0x99880000, 0x00008980, 0x9e131a66, 0x00006100, 0x1a000400, 0x00008980,
0x18c02263, 0x0000e080, 0x1b320004, 0x00004980, 0x19c0f863, 0x0000e784,
0x9a280500, 0x00000900, 0x19831838, 0x00006002, 0x75e80068, 0x0000a101,
0x1bc33839, 0x00006004, 0x9d98fb20, 0x00008100, 0x1ac40000, 0x0000f900,
0x000014c4, 0x00000980, 0x1b440000, 0x0000f900, 0x00007fc0, 0x00000980,
0x8b18fb20, 0x0000e100, 0x9d51aa35, 0x00000900, 0x18281736, 0x00000630,
- 0x80003a70, 0x00006582, 0x1b83786f, 0x00008900, 0x1bc33066, 0x00009900,
- 0xd8c7fb2c, 0x00009282, 0xffffffff, 0x00007f86, 0x00004ba0, 0x0000f030,
- 0x00004cc2, 0x00007008, 0x700400ec, 0x00005680, 0x003b44c4, 0x00008010,
+ 0x80003a78, 0x0000e582, 0x1b83786f, 0x00008900, 0x1bc33066, 0x00009900,
+ 0xd8c7fb2c, 0x00009282, 0xffffffff, 0x00007f86, 0x000051c9, 0x00007030,
+ 0x000052eb, 0x0000f008, 0x700400ec, 0x00005680, 0x003b44c4, 0x00008010,
0x703b30ec, 0x0000d600, 0x003b7000, 0x00000000, 0x700400ec, 0x00005680,
0x003b67c0, 0x00000078, 0x19800000, 0x000007dc, 0x00d802ec, 0x0000df80,
- 0x1458a009, 0x000093c4, 0x40000d72, 0x00001583, 0x00004ca2, 0x0000700b,
+ 0x14c9f009, 0x000013c4, 0x40000d70, 0x00009583, 0x000052cb, 0x0000700b,
0x19c04000, 0x00009981, 0xc7233834, 0x0000e007, 0x09821c63, 0x00003004,
0x19800c63, 0x00009180, 0x00001866, 0x00009582, 0x01000802, 0x0000e1b0,
0x09821c67, 0x0000e034, 0x01400000, 0x000061b0, 0xb6e3382b, 0x00006037,
- 0x00004c3e, 0x0000f018, 0x02c00000, 0x0000e180, 0x99bb966a, 0x0000c000,
+ 0x00005267, 0x0000f018, 0x02c00000, 0x0000e180, 0x99bb866a, 0x00004000,
0x03800000, 0x0000e180, 0x0000180b, 0x00006106, 0x98c02302, 0x0000e780,
0x99806266, 0x00008080, 0x0218b000, 0x0000f900, 0x0001e140, 0x00008980,
0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03401000, 0x0000f900,
@@ -10015,51 +10566,51 @@ ARRAY_DECL u32 init_val[] = {
0x0197f840, 0x00006180, 0x01c00000, 0x0000c980, 0x03000000, 0x00006180,
0x03c00004, 0x0000c980, 0x02a81402, 0x00008028, 0xa2d33662, 0x0000e000,
0xe293526a, 0x00008900, 0x0bd34a69, 0x00006100, 0x86231034, 0x00006003,
- 0x80000269, 0x00006582, 0x99ff1fe3, 0x00000900, 0xd0bb8067, 0x00002084,
- 0x99802302, 0x00006790, 0x0e021863, 0x00002212, 0x00004c16, 0x00007008,
+ 0x80000269, 0x00006582, 0x99ff1fe3, 0x00000900, 0xd0bbc067, 0x0000a084,
+ 0x99802302, 0x00006790, 0x0e021863, 0x00002212, 0x0000523f, 0x0000f008,
0x18000063, 0x0000f900, 0x00000200, 0x00000380, 0x19c00000, 0x00006181,
0x0003000e, 0x00006206, 0x4513300e, 0x00006907, 0x08021863, 0x00006b02,
- 0x00031870, 0x00009502, 0xe2231c63, 0x0000e121, 0x23020040, 0x0000c920,
- 0x23420841, 0x00006120, 0x19934a69, 0x00004920, 0x00004c28, 0x00007028,
+ 0x00031878, 0x00001502, 0xe2231c63, 0x0000e121, 0x23020040, 0x0000c920,
+ 0x23420841, 0x00006120, 0x19934a69, 0x00004920, 0x00005251, 0x0000f028,
0x00021066, 0x0000e502, 0x1dc21042, 0x00000900, 0x23d34a69, 0x00001930,
- 0x00004b6f, 0x00007019, 0x00000462, 0x00001583, 0x00001c62, 0x00009593,
- 0x000048a7, 0x0000f013, 0x001808ec, 0x00005780, 0x00884880, 0x000082c8,
+ 0x00005198, 0x00007019, 0x00000462, 0x00001583, 0x00001c62, 0x00009593,
+ 0x00004ed1, 0x00007013, 0x001808ec, 0x00005780, 0x00884880, 0x000082c8,
0x19000c64, 0x0000e181, 0x1dc00000, 0x00000981, 0x00000462, 0x0000e583,
0x0c880032, 0x00000080, 0x00001c62, 0x00009593, 0x9a400b1f, 0x0000e088,
0xc0000812, 0x0000240b, 0xc7c00b1f, 0x0000e088, 0x8b000a2c, 0x00000188,
- 0x00004c33, 0x0000f010, 0xd804072b, 0x00006283, 0x63800800, 0x00008980,
+ 0x0000525c, 0x0000f010, 0xd804072b, 0x00006283, 0x63800800, 0x00008980,
0xb000088e, 0x00006401, 0x1000089b, 0x0000b40b, 0x18c00934, 0x00006080,
0x2501c839, 0x00000910, 0x2541d03a, 0x00006110, 0x1000109b, 0x0000e413,
0x00001465, 0x0000e583, 0xa0000089, 0x00002401, 0x198f2863, 0x0000e200,
0xd000008e, 0x00002401, 0x09415c63, 0x00006006, 0xd783e08e, 0x0000b001,
0x620be17c, 0x00006100, 0xa2934b20, 0x00004100, 0x2660072f, 0x000089af,
- 0x00004bdd, 0x0000f408, 0xa6d8fb1f, 0x0000e100, 0x4d033066, 0x0000c900,
+ 0x00005206, 0x00007408, 0xa6d8fb1f, 0x0000e100, 0x4d033066, 0x0000c900,
0x62433066, 0x0000e100, 0x19e31c67, 0x00004001, 0x00000c65, 0x0000e583,
0xa000088e, 0x00002401, 0xc000008e, 0x00006401, 0x4000089b, 0x00003409,
0x2603e87d, 0x0000e108, 0xc143d08e, 0x00006001, 0xd804072b, 0x00006283,
0x09415c63, 0x0000a006, 0xcb196463, 0x00001000, 0x8000022c, 0x00001582,
- 0xffffffff, 0x00007f86, 0x000047f6, 0x00007010, 0x00004c69, 0x0000f008,
+ 0xffffffff, 0x00007f86, 0x00004e20, 0x0000f010, 0x00005292, 0x00007008,
0x0901a465, 0x0000e806, 0x00232c67, 0x00001503, 0x19808467, 0x00001090,
- 0x38401466, 0x00009891, 0x00004c69, 0x0000f008, 0xffffffff, 0x0000ffb7,
+ 0x38401466, 0x00009891, 0x00005292, 0x00007008, 0xffffffff, 0x0000ffb7,
0x18820300, 0x00007904, 0x1a020300, 0x00007904, 0x09834c63, 0x00006804,
0x19400c63, 0x00009180, 0x00001865, 0x00009582, 0x18e31c67, 0x0000e030,
- 0x0901a466, 0x0000a036, 0x000055bb, 0x00007019, 0x00233063, 0x00009502,
- 0x09834c63, 0x00006854, 0xb6e3182b, 0x00006857, 0x00004c69, 0x0000f038,
- 0xd803c72b, 0x00001283, 0x00004f34, 0x0000700b, 0x00000467, 0x00001583,
- 0x0000456d, 0x0000700b, 0x00000477, 0x00006583, 0x19807800, 0x00000981,
+ 0x0901a466, 0x0000a036, 0x00005be7, 0x0000f019, 0x00233063, 0x00009502,
+ 0x09834c63, 0x00006854, 0xb6e3182b, 0x00006857, 0x00005292, 0x00007038,
+ 0xd803c72b, 0x00001283, 0x0000555d, 0x0000f00b, 0x00000467, 0x00001583,
+ 0x00004b97, 0x0000f00b, 0x00000477, 0x00006583, 0x19807800, 0x00000981,
0x001848ec, 0x0000d780, 0x00004001, 0x00008080, 0x1a633c66, 0x0000e101,
- 0x0901a465, 0x0000200e, 0x00004814, 0x00007010, 0x19804000, 0x00006181,
+ 0x0901a465, 0x0000200e, 0x00004e3e, 0x0000f010, 0x19804000, 0x00006181,
0x18e33c65, 0x00004101, 0x18008467, 0x0000e081, 0x58233c66, 0x00000101,
0xc7231834, 0x0000e807, 0x003300ec, 0x0000d702, 0x00004000, 0x00000080,
0x18000000, 0x00006180, 0x18800001, 0x00004980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x00004578, 0x0000f400, 0x04135060, 0x0000e187,
+ 0x00000040, 0x00000080, 0x00004ba2, 0x0000f400, 0x04135060, 0x0000e187,
0x00232062, 0x0000b102, 0x703b10ec, 0x00005600, 0x003b0000, 0x00008000,
0x99916a2d, 0x00006100, 0x19d90a2d, 0x00004100, 0x00196867, 0x00009502,
0x8b400a2d, 0x000060c8, 0x18c00934, 0x000000c8, 0x19cf2863, 0x00006248,
- 0xb000088e, 0x0000a449, 0x000047df, 0x0000f040, 0x0219532a, 0x0000e300,
+ 0xb000088e, 0x0000a449, 0x00004e09, 0x00007040, 0x0219532a, 0x0000e300,
0x19400880, 0x0000c180, 0x19432b2a, 0x0000e000, 0x4d033867, 0x00000900,
0x620be17c, 0x00006100, 0x02004065, 0x00004700, 0x00000008, 0x00001582,
- 0x0219532a, 0x00006310, 0x19400800, 0x00004988, 0x000047c0, 0x0000f009,
+ 0x0219532a, 0x00006310, 0x19400800, 0x00004988, 0x00004dea, 0x00007009,
0x18c04065, 0x00009700, 0x194f2863, 0x00001200, 0x02c00000, 0x0000e180,
0x0008008e, 0x00006501, 0x0000180b, 0x00006106, 0x90000889, 0x00003401,
0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0xe2c00a66, 0x0000e080,
@@ -10069,77 +10620,77 @@ ARRAY_DECL u32 init_val[] = {
0xc000180b, 0x0000e006, 0x4513300e, 0x0000b107, 0x001848ec, 0x0000d780,
0x00004003, 0x00000080, 0xa298fb20, 0x0000e100, 0x2343e87d, 0x00000900,
0x233c077e, 0x0000883c, 0x2500077f, 0x000000b0, 0x03c00004, 0x0000e180,
- 0x82901202, 0x00004900, 0x0000456f, 0x0000f400, 0xc2981302, 0x0000e100,
+ 0x82901202, 0x00004900, 0x00004b99, 0x00007400, 0xc2981302, 0x0000e100,
0x63832865, 0x00004900, 0x0c819063, 0x00006000, 0x62433867, 0x00000900,
0x99b71ee3, 0x00001900, 0xe2033c66, 0x0000a084, 0xffffffff, 0x00007fa7,
0x00020467, 0x00009583, 0x18c04060, 0x0000e7b0, 0x01972880, 0x00000230,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00004811, 0x0000f018,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00004e3b, 0x00007018,
0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x047e3000, 0x00007900,
- 0x00236d3e, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x47f320b1, 0x00007500, 0x03001002, 0x0000e100,
- 0x04972863, 0x00004200, 0x03c03006, 0x00009900, 0x47f643f0, 0x00007500,
+ 0x00236d3e, 0x00000980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x4e1d2213, 0x00007500, 0x03c01002, 0x0000e100,
+ 0x04972863, 0x00004200, 0x01c03006, 0x00001900, 0x4e204a1a, 0x00007500,
0xc1604001, 0x000000da, 0xc1603401, 0x000000d6, 0xb000002b, 0x00006c07,
- 0x5b400467, 0x0000788b, 0xaa000000, 0x0000238c, 0x02c00000, 0x0000e180,
- 0x99b35772, 0x0000c000, 0x03800000, 0x0000e180, 0x0000180b, 0x00006106,
+ 0xe5c00467, 0x0000788a, 0xfa400000, 0x0000268d, 0x02c00000, 0x0000e180,
+ 0x99b35770, 0x00004000, 0x03800000, 0x0000e180, 0x0000180b, 0x00006106,
0x99c02302, 0x00006780, 0x99806266, 0x00008080, 0x0218b000, 0x0000f900,
0x0001e140, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
0x03401000, 0x0000f900, 0x0001c000, 0x00000980, 0xc000180b, 0x0000e006,
0x4513380e, 0x00003107, 0x01000802, 0x0000e180, 0x01400000, 0x00004980,
0x0197f840, 0x00006180, 0x01c00000, 0x0000c980, 0x03000000, 0x00006180,
- 0x03c00004, 0x0000c980, 0x00004735, 0x00007400, 0x02a81402, 0x00008028,
- 0xa2d33662, 0x0000e000, 0xe293526a, 0x00008900, 0x481443f0, 0x00007500,
+ 0x03c00004, 0x0000c980, 0x00004d5f, 0x00007400, 0x02a81402, 0x00008028,
+ 0xa2d33662, 0x0000e000, 0xe293526a, 0x00008900, 0x4e3e4a1a, 0x00007500,
0xc1604001, 0x000000da, 0xc1604402, 0x000080d6, 0x19803800, 0x00006181,
0x18008c67, 0x0000c081, 0x000880ec, 0x0000d780, 0x00004000, 0x00000080,
0x58233c66, 0x00006101, 0x0901a465, 0x0000a006, 0x003300ec, 0x0000d702,
0x00004000, 0x00000080, 0x18800001, 0x00006180, 0x18000000, 0x00004980,
0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00232062, 0x0000e102,
- 0x04135060, 0x0000b187, 0x18e33c65, 0x00001101, 0x00004578, 0x0000f400,
+ 0x04135060, 0x0000b187, 0x18e33c65, 0x00001101, 0x00004ba2, 0x0000f400,
0x703b10ec, 0x00005600, 0x003b0000, 0x00008000, 0xc7231834, 0x0000e807,
- 0x50a00c65, 0x0000c489, 0xe2801465, 0x0000128c, 0x00400572, 0x00004588,
- 0xcd400d72, 0x0000a392, 0x99f71ee3, 0x00009900, 0xe2031c67, 0x0000a084,
+ 0x15c00c65, 0x0000c488, 0x34a01465, 0x00001489, 0x00400570, 0x0000c588,
+ 0x4d400d70, 0x0000a392, 0x99f71ee3, 0x00009900, 0xe2031c67, 0x0000a084,
0xffffffff, 0x00007fa7, 0x00010463, 0x00001583, 0x19404060, 0x0000e7b0,
- 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0,
- 0x00004c0d, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x00005236, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
0x0457b800, 0x0000f900, 0x001791fc, 0x00000980, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x483e20b1, 0x0000f500, 0x82f81400, 0x00008030,
- 0x03d34a69, 0x0000e100, 0x04972865, 0x00004200, 0x08036463, 0x0000e002,
+ 0x08001a0b, 0x00006106, 0x4e682213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x01d34a69, 0x00006100, 0x04972865, 0x00004200, 0x08036463, 0x0000e002,
0x0b415c65, 0x00003002, 0x00231c65, 0x00009503, 0x19c0c62b, 0x00001289,
- 0x0000458b, 0x00007011, 0x00004467, 0x00009583, 0x19c18000, 0x0000e191,
+ 0x00004bb5, 0x00007011, 0x00004467, 0x00009583, 0x19c18000, 0x0000e191,
0x19c0e000, 0x00004989, 0xffffffff, 0x00007f86, 0x98a33c67, 0x00001901,
0xa8614761, 0x00004511, 0xd4214c62, 0x0000c816, 0x10000888, 0x00006402,
0x1000009b, 0x0000b403, 0xcb91ca39, 0x0000e100, 0x2440a488, 0x00006000,
0x22c80060, 0x00006080, 0x2341a034, 0x00000900, 0xe6c00000, 0x00006181,
0xa511ca39, 0x0000c900, 0x00001c88, 0x00007894, 0x00000000, 0x00000000,
- 0x2100038a, 0x0000f893, 0x02400001, 0x00008060, 0x8c400466, 0x0000f88b,
- 0x3a400000, 0x0000a383, 0xd804072b, 0x00006283, 0x4000189b, 0x00002403,
+ 0xab40038a, 0x00007892, 0x02800001, 0x00008060, 0x16800466, 0x0000f88b,
+ 0x8a800000, 0x0000a684, 0xd804072b, 0x00006283, 0x4000189b, 0x00002403,
0xe6c00000, 0x00006181, 0x2501c839, 0x0000c910, 0x1000089b, 0x0000e40b,
0x1000109b, 0x0000b413, 0x2541d03a, 0x00006110, 0xa000088e, 0x0000e401,
0x00000466, 0x00006583, 0x09415c65, 0x0000a006, 0x26040881, 0x0000e110,
0x2603e87d, 0x0000c908, 0xd804072b, 0x00006283, 0xc000008e, 0x0000a401,
0xc7c00b1f, 0x00006080, 0xc0000812, 0x0000a403, 0x8b000a2c, 0x0000e180,
- 0xc143d08e, 0x0000a001, 0x00004d65, 0x0000f410, 0xcb196465, 0x0000e000,
+ 0xc143d08e, 0x0000a001, 0x0000538e, 0x0000f410, 0xcb196465, 0x0000e000,
0xa6d8fb1f, 0x00000900, 0xa298fb20, 0x0000e100, 0x09821c66, 0x0000200c,
- 0x8000022c, 0x00001582, 0x0901a463, 0x00006816, 0x00004d63, 0x0000f009,
+ 0x8000022c, 0x00001582, 0x0901a463, 0x00006816, 0x0000538c, 0x00007009,
0x00231c66, 0x00009503, 0x19c08466, 0x00001090, 0x38401467, 0x00001891,
- 0x00004d63, 0x00007008, 0xffffffff, 0x0000ffb7, 0x18820300, 0x00007904,
+ 0x0000538c, 0x0000f008, 0xffffffff, 0x0000ffb7, 0x18820300, 0x00007904,
0x18820300, 0x00007904, 0x09831c63, 0x00006804, 0x19400c63, 0x00009180,
0x00001865, 0x00009582, 0x19a31c66, 0x00006030, 0x0901a467, 0x00002036,
- 0x00004d3c, 0x00007019, 0x00233866, 0x00001502, 0x09831c63, 0x00006854,
- 0x00004d63, 0x0000f039, 0x30e31f2b, 0x0000e806, 0xd803c72b, 0x00001283,
+ 0x00005365, 0x00007019, 0x00233866, 0x00001502, 0x09831c63, 0x00006854,
+ 0x0000538c, 0x00007039, 0x30e31f2b, 0x0000e806, 0xd803c72b, 0x00001283,
0x001848ec, 0x00005790, 0x00004001, 0x00008080, 0x19407800, 0x00006191,
- 0x09821c67, 0x00006014, 0x0000598a, 0x0000f008, 0x1a633c65, 0x0000e101,
+ 0x09821c67, 0x00006014, 0x00005fb6, 0x0000f008, 0x1a633c65, 0x0000e101,
0x19804000, 0x00008981, 0x18008467, 0x0000e081, 0x0901a465, 0x0000a006,
- 0x18e33c65, 0x0000e101, 0x58233c66, 0x00000101, 0x000047a3, 0x00007400,
+ 0x18e33c65, 0x0000e101, 0x58233c66, 0x00000101, 0x00004dcd, 0x0000f400,
0x003300ec, 0x0000d702, 0x00004000, 0x00000080, 0xc7231834, 0x0000e807,
0x99771ee3, 0x00001900, 0xe2031c65, 0x00002084, 0xffffffff, 0x00007fa7,
0x00020463, 0x00001583, 0x19c04060, 0x000067b0, 0x01972880, 0x00000230,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00004c72, 0x00007018,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x0000529b, 0x0000f018,
0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04459800, 0x00007900,
- 0x001ce9f2, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x48a720b1, 0x0000f500, 0x03001002, 0x0000e100,
- 0x04972867, 0x0000c200, 0x03c03006, 0x00009900, 0x00021066, 0x00001502,
+ 0x001ce9f2, 0x00000980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x4ed12213, 0x00007500, 0x03c01002, 0x0000e100,
+ 0x04972867, 0x0000c200, 0x01c03006, 0x00001900, 0x00021066, 0x00001502,
0x10934842, 0x0000e110, 0x1dc00800, 0x00000991, 0x001808ec, 0x0000d790,
- 0x00884880, 0x000082c8, 0x00005b2b, 0x0000f008, 0x00004754, 0x0000f400,
+ 0x00884880, 0x000082c8, 0x00006157, 0x00007008, 0x00004d7e, 0x00007400,
0x10020269, 0x00006002, 0x19000c64, 0x00008181, 0x10400041, 0x00009084,
0x98c7fb2c, 0x00006280, 0x99880000, 0x00008980, 0x99d31a66, 0x0000e100,
0x1a000400, 0x00008980, 0x18c02263, 0x0000e080, 0x1b320004, 0x00004980,
@@ -10147,450 +10698,619 @@ ARRAY_DECL u32 init_val[] = {
0x75e80068, 0x0000a101, 0x1bc33039, 0x0000e004, 0x9d98fb20, 0x00008100,
0x1ac40000, 0x0000f900, 0x000014c4, 0x00000980, 0x1b440000, 0x0000f900,
0x00007fc0, 0x00000980, 0x8b18fb20, 0x0000e100, 0x9d51aa35, 0x00000900,
- 0x1ca81736, 0x00000630, 0x80003a67, 0x00006582, 0x1b83786f, 0x00008900,
- 0x1bc38070, 0x00009900, 0xd8c7fb2c, 0x00009282, 0xffffffff, 0x00007f86,
- 0x00005351, 0x00007030, 0x0000532f, 0x0000f008, 0x700400ec, 0x00005680,
- 0x003b44c4, 0x00008010, 0x703b80ec, 0x00005600, 0x003b7000, 0x00000000,
- 0x700400ec, 0x00005680, 0x003b67c0, 0x00000078, 0x19800000, 0x000087de,
- 0x1c000000, 0x00009980, 0x00d802ec, 0x0000df80, 0x1486a809, 0x000013c4,
- 0x00000c77, 0x00001583, 0x000055ad, 0x0000f00b, 0x19c04000, 0x00009981,
- 0xc7233834, 0x0000e007, 0x09821c63, 0x00003004, 0x19800c63, 0x00009180,
- 0x00001866, 0x00009582, 0x01000802, 0x0000e1b0, 0x09821c67, 0x0000e034,
- 0x01400000, 0x000061b0, 0xb6e3382b, 0x00006037, 0x0000558d, 0x0000f018,
- 0x03800000, 0x0000e180, 0x98c02302, 0x00004780, 0x02c00000, 0x0000e180,
- 0x4513180e, 0x0000e107, 0x98d30e6a, 0x0000e000, 0x0000180b, 0x0000a106,
- 0x99806263, 0x0000e080, 0xc000180b, 0x00002006, 0x0218b000, 0x0000f900,
- 0x0001e140, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03401000, 0x0000f900, 0x0001c000, 0x00000980, 0x0197f840, 0x00006180,
- 0x01c00000, 0x0000c980, 0x03000000, 0x00006180, 0x03c00004, 0x0000c980,
- 0x02a81402, 0x00008028, 0xa2d33662, 0x0000e000, 0xe293526a, 0x00008900,
- 0xaf800c62, 0x0000789a, 0xc2400000, 0x0000a289, 0x8039c0ec, 0x0000d700,
- 0x00000000, 0x00000880, 0x800000ec, 0x00005780, 0x00000000, 0x00008080,
- 0x99f35772, 0x0000e000, 0x03800000, 0x00000980, 0x803f28ec, 0x0000d700,
- 0x00000000, 0x00008080, 0x98c02302, 0x0000e780, 0x99806267, 0x00000080,
- 0xa2d33662, 0x0000e000, 0x4513180e, 0x00002107, 0x800330ec, 0x00007902,
- 0x18c00000, 0x00008700, 0x02c00000, 0x0000e180, 0x01000802, 0x0000c980,
- 0x01400000, 0x00006180, 0x0000180b, 0x00006106, 0x0218b000, 0x0000f900,
- 0x0001e140, 0x00008980, 0x80000e66, 0x0000e583, 0xc000180b, 0x00002006,
+ 0x80003a67, 0x00006582, 0xdb181302, 0x00000900, 0x1bfb7f70, 0x00000638,
+ 0xd8c7fb2c, 0x00009282, 0xffffffff, 0x00007f86, 0x0000597a, 0x00007030,
+ 0x00005958, 0x0000f008, 0x700400ec, 0x00005680, 0x003b44c4, 0x00008010,
+ 0x703b80ec, 0x00005600, 0x003b7000, 0x00000000, 0x700400ec, 0x00005680,
+ 0x003b67c0, 0x00000078, 0x19800000, 0x000007e0, 0x1dc00000, 0x00009981,
+ 0x00d802ec, 0x0000df80, 0x14d7f009, 0x000013c4, 0x00000c77, 0x00001583,
+ 0x00005bd9, 0x0000700b, 0x19c04000, 0x00009981, 0xc7233834, 0x0000e007,
+ 0x09821c63, 0x00003004, 0x19800c63, 0x00009180, 0x00001866, 0x00009582,
+ 0x01000802, 0x0000e1b0, 0x09821c67, 0x0000e034, 0x01400000, 0x000061b0,
+ 0xb6e3382b, 0x00006037, 0x00005bb9, 0x0000f018, 0x03800000, 0x0000e180,
+ 0x98c02302, 0x00004780, 0x02c00000, 0x0000e180, 0x4513180e, 0x0000e107,
+ 0x98d30e6a, 0x0000e000, 0x0000180b, 0x0000a106, 0x99806263, 0x0000e080,
+ 0xc000180b, 0x00002006, 0x0218b000, 0x0000f900, 0x0001e140, 0x00008980,
0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03401000, 0x0000f900,
0x0001c000, 0x00000980, 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980,
- 0x03000000, 0x00006180, 0x03c00004, 0x0000c980, 0x000058d2, 0x00007410,
- 0x02a81402, 0x00008028, 0xe293526a, 0x00006100, 0x1da33466, 0x00004909,
- 0x2c009466, 0x00001680, 0x98c588b0, 0x00009000, 0xe3033c63, 0x0000a004,
- 0x1ba33466, 0x00009901, 0xffffffff, 0x00007f97, 0x00000c67, 0x00009583,
- 0x19a807e4, 0x00001808, 0xe33b8463, 0x0000208c, 0x00004944, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x19c33070, 0x00009300, 0xe33b3c63, 0x00002884,
- 0x00c002ec, 0x0000df80, 0x1489400b, 0x00001684, 0x2c009476, 0x00009680,
- 0x98c588b0, 0x00009000, 0x99bf1fe3, 0x00001900, 0xe3033c63, 0x0000a004,
- 0x8a031a66, 0x00002080, 0xffffffff, 0x00007fa7, 0x19803c63, 0x00001281,
- 0x00001466, 0x00001583, 0x00000c67, 0x00009583, 0xffffffff, 0x00007f86,
- 0x000058ed, 0x0000f008, 0x00004944, 0x0000f010, 0x2c00946e, 0x00009680,
- 0x998588b0, 0x00009000, 0xe33bbc66, 0x00002084, 0x1c2807e4, 0x00001800,
- 0xffffffff, 0x00007f97, 0x1c038077, 0x00009300, 0xe33b8466, 0x00002884,
- 0x00c002ec, 0x0000df80, 0x1489e80b, 0x00009684, 0x98ff1fe3, 0x00001900,
- 0x8a038263, 0x0000a080, 0xe3033c66, 0x0000a004, 0xffffffff, 0x00007f97,
- 0x1c003c70, 0x00001281, 0x1da01470, 0x0000c989, 0x68a00c67, 0x0000928a,
- 0x2c009476, 0x00009680, 0x99c588b0, 0x00001000, 0xe3000467, 0x00005004,
- 0x00400800, 0x00000082, 0x98c01c6e, 0x00006080, 0x1d23746e, 0x00004901,
- 0x07836863, 0x0000f902, 0x1b000000, 0x00008100, 0x07835a63, 0x00007902,
- 0x1a000000, 0x00000100, 0x1de3746e, 0x00001901, 0xffffffff, 0x00007f97,
- 0x198b596b, 0x0000e100, 0x18cb586c, 0x00004100, 0x000b4063, 0x00001502,
- 0x1c000000, 0x00001999, 0x0000583d, 0x00007031, 0x2c00946e, 0x00009680,
- 0x98c588b0, 0x00009000, 0x98001263, 0x00006080, 0x0a035c66, 0x0000a006,
- 0x19c00c66, 0x00006080, 0x9c801263, 0x0000c080, 0x98d33a60, 0x00006000,
- 0x09035c75, 0x00002006, 0xe33bc663, 0x0000a084, 0xe304e463, 0x00007902,
- 0x21c00000, 0x00008004, 0xffffffff, 0x00007f97, 0x1da3c466, 0x00001000,
- 0x0023a876, 0x00009502, 0x0e843887, 0x0000e148, 0x1803c078, 0x0000c948,
- 0x0e44e09c, 0x00009948, 0x000057ec, 0x00007040, 0x00000c60, 0x00001583,
- 0xe37a0063, 0x0000303c, 0xe37a1263, 0x0000303c, 0x000058f5, 0x00007018,
- 0x1823c478, 0x0000e100, 0x19c00c78, 0x00004081, 0x18e33467, 0x00009001,
- 0x8623186b, 0x0000e807, 0x19c0096b, 0x0000e080, 0x198b596b, 0x00000900,
- 0x5ac33867, 0x0000e100, 0x1d800000, 0x00004981, 0x2c00946e, 0x00009680,
- 0x998588b0, 0x00009000, 0xe3000466, 0x0000d004, 0x00400000, 0x00008082,
- 0xe33b3c66, 0x0000a084, 0x98c01c77, 0x00009880, 0xe3000466, 0x00005084,
- 0x00400000, 0x00008000, 0x07bb6863, 0x0000d100, 0x003b6000, 0x00008000,
- 0x00000067, 0x00001582, 0x07bb5a63, 0x00005100, 0x003b4000, 0x00000000,
- 0x0743be63, 0x00002182, 0x0000498e, 0x00007208, 0x1a000002, 0x00001980,
- 0x18c33867, 0x00001b00, 0x19831fe4, 0x0000e000, 0x04131868, 0x00006187,
- 0x18c330e5, 0x00009400, 0x770000ec, 0x00005680, 0x003b4000, 0x00000000,
- 0x19c31867, 0x00001200, 0x30600067, 0x00004491, 0xe6800476, 0x00001691,
- 0x40000c70, 0x0000f88a, 0x92c00000, 0x0000248c, 0x00000476, 0x00001583,
- 0x000058f3, 0x0000f013, 0x00000c70, 0x00009583, 0x00005900, 0x0000700b,
- 0x19c00860, 0x00006180, 0x2501c839, 0x00008900, 0x00001867, 0x0000e582,
- 0x2541d03a, 0x00000900, 0x19c07c60, 0x0000e2b1, 0xb0000889, 0x00002431,
- 0xc7233834, 0x0000e037, 0xb6e3382b, 0x00003037, 0x00004735, 0x00007230,
- 0xa413ba77, 0x00006130, 0x18c30060, 0x0000c900, 0x18000ce0, 0x00001283,
- 0x00005f6f, 0x00007013, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00020466, 0x00001583, 0x01972863, 0x0000e230, 0x01c00020, 0x000089b0,
- 0x03c02000, 0x0000e1b0, 0x01400000, 0x000049b0, 0x00005f27, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04688000, 0x00007900,
- 0x001c3d54, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x49b920b1, 0x00007500, 0x82e00500, 0x0000802e, 0x04b81706, 0x00008030,
- 0x8101062b, 0x00001283, 0x000049bc, 0x00007013, 0x49bc447b, 0x00007100,
- 0x01400000, 0x00006180, 0x99bf1fe3, 0x00004900, 0xd0802866, 0x00002004,
- 0xc1c004ec, 0x00005080, 0x00400000, 0x00008000, 0xc1fb46ec, 0x00003838,
- 0xc23b50ec, 0x0000b838, 0xc1f82aec, 0x0000a880, 0xc23b62ec, 0x00003838,
- 0xc23b74ec, 0x0000b838, 0xc23b06ec, 0x0000b838, 0xc27b10ec, 0x0000b838,
- 0xc27b82ec, 0x00003838, 0xc27b94ec, 0x0000b838, 0xc27ba6ec, 0x00003838,
- 0xc2bbb0ec, 0x0000b838, 0xc2bbc2ec, 0x0000b838, 0xc2bbd4ec, 0x00003838,
- 0xc2bbe6ec, 0x0000b838, 0xc2fbf0ec, 0x0000b838, 0x49d53e77, 0x00007500,
- 0xc1c004ec, 0x0000d000, 0x00400000, 0x00000080, 0xc1c002ec, 0x0000d000,
- 0x00400000, 0x00000080, 0x49d7447b, 0x00007300, 0x19000c64, 0x00001181,
- 0x00019066, 0x00009502, 0x19c3ff16, 0x000060e8, 0x18f9772e, 0x00008968,
- 0x00005f53, 0x00007061, 0x00033863, 0x00009502, 0x22000000, 0x0000e190,
- 0x22400000, 0x00004990, 0x22800000, 0x00006190, 0x22c00000, 0x0000c990,
- 0x00005b17, 0x0000f008, 0x40000d72, 0x0000e583, 0x23000000, 0x00000980,
- 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
- 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
- 0x00005af7, 0x0000f430, 0x26400000, 0x000009e8, 0x26c00000, 0x00009980,
- 0xc038b72e, 0x00001503, 0x0b80b016, 0x00001908, 0xffffffff, 0x00007f86,
- 0x1940402e, 0x00001880, 0x00033065, 0x00001502, 0x49f2447b, 0x0000f16b,
- 0x19804032, 0x00006780, 0xb000088e, 0x0000a401, 0x40001572, 0x0000e583,
- 0xa0000089, 0x00002401, 0x18c00866, 0x0000e180, 0xd000088e, 0x0000a401,
- 0x001848ec, 0x0000d780, 0x00004003, 0x00000080, 0x4b8be17c, 0x00006100,
- 0xf000088e, 0x0000e401, 0x00005bca, 0x00007410, 0xcb800f2e, 0x00006081,
- 0xa298fb20, 0x00008100, 0x6249a134, 0x0000e100, 0x62031863, 0x00004900,
- 0x25800800, 0x00006181, 0x25440080, 0x0000c900, 0x2533e32e, 0x00008910,
- 0x02c00000, 0x000000f8, 0x99802302, 0x0000e780, 0x0000180b, 0x0000a106,
- 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006,
- 0x4513300e, 0x0000b107, 0x03000000, 0x00006180, 0x03c00004, 0x0000c980,
- 0x02a01502, 0x00008028, 0x00004570, 0x00007200, 0x1a407800, 0x00009981,
- 0xd8401f34, 0x0000e283, 0x19801f34, 0x00008281, 0x98c1867a, 0x00009283,
- 0x80195269, 0x00009502, 0x00004a1d, 0x0000f010, 0x00004a1d, 0x0000f010,
- 0x000044fd, 0x0000f008, 0x00000c66, 0x00001583, 0x00001466, 0x00001583,
- 0x40000572, 0x00009583, 0x00004bc9, 0x00007008, 0x00005a14, 0x00007008,
- 0x00004b8d, 0x00007010, 0x99b71ee3, 0x00001900, 0xe2031c66, 0x00002084,
+ 0x03000000, 0x00006180, 0x03c00004, 0x0000c980, 0x02a81402, 0x00008028,
+ 0xa2d33662, 0x0000e000, 0xe293526a, 0x00008900, 0x39c00c62, 0x0000f89a,
+ 0x12800000, 0x0000258b, 0x8039c0ec, 0x0000d700, 0x00000000, 0x00000880,
+ 0x800000ec, 0x00005780, 0x00000000, 0x00008080, 0x99f35770, 0x00006000,
+ 0x03800000, 0x00000980, 0x803f28ec, 0x0000d700, 0x00000000, 0x00008080,
+ 0x98c02302, 0x0000e780, 0x99806267, 0x00000080, 0xa2d33662, 0x0000e000,
+ 0x4513180e, 0x00002107, 0x800330ec, 0x00007902, 0x18c00000, 0x00008700,
+ 0x02c00000, 0x0000e180, 0x01000802, 0x0000c980, 0x01400000, 0x00006180,
+ 0x0000180b, 0x00006106, 0x0218b000, 0x0000f900, 0x0001e140, 0x00008980,
+ 0x80000e66, 0x0000e583, 0xc000180b, 0x00002006, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980,
+ 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980, 0x03000000, 0x00006180,
+ 0x03c00004, 0x0000c980, 0x00005efe, 0x0000f410, 0x02a81402, 0x00008028,
+ 0xe293526a, 0x00006100, 0x1da33466, 0x00004909, 0x2c009466, 0x00001680,
+ 0x98c588b0, 0x00009000, 0xe3033c63, 0x0000a004, 0x1ba33466, 0x00009901,
+ 0xffffffff, 0x00007f97, 0x00000c67, 0x00009583, 0x19a807e4, 0x00001808,
+ 0xe33bc463, 0x0000a08c, 0x00004f6d, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x19c33078, 0x00001300, 0xe33b3c63, 0x00002884, 0x00c002ec, 0x0000df80,
+ 0x14da880b, 0x00009684, 0x2c009476, 0x00009680, 0x98c588b0, 0x00009000,
+ 0x99bf1fe3, 0x00001900, 0xe3033c63, 0x0000a004, 0x8a031a66, 0x00002080,
+ 0xffffffff, 0x00007fa7, 0x19803c63, 0x00001281, 0x00001466, 0x00001583,
+ 0x00000c67, 0x00009583, 0xffffffff, 0x00007f86, 0x00005f19, 0x0000f008,
+ 0x00004f6d, 0x00007010, 0x2c00946e, 0x00009680, 0x998588b0, 0x00009000,
+ 0xe33bbc66, 0x00002084, 0x1e2807e4, 0x00009800, 0xffffffff, 0x00007f97,
+ 0x1e03c077, 0x00009300, 0xe33bc466, 0x0000a884, 0x00c002ec, 0x0000df80,
+ 0x14db300b, 0x00001684, 0x98ff1fe3, 0x00001900, 0x8a03c263, 0x00002080,
+ 0xe3033c66, 0x0000a004, 0xffffffff, 0x00007f97, 0x1e003c78, 0x00001281,
+ 0xe3201478, 0x00004989, 0xbaa00c67, 0x0000938e, 0x2c009476, 0x00009680,
+ 0x99c588b0, 0x00001000, 0xe3000467, 0x00005004, 0x00400800, 0x00000082,
+ 0x98c01c6e, 0x00006080, 0x1d23746e, 0x00004901, 0x07836863, 0x0000f902,
+ 0x1b000000, 0x00008100, 0x07835a63, 0x00007902, 0x1a000000, 0x00000100,
+ 0x1de3746e, 0x00001901, 0xffffffff, 0x00007f97, 0x198b596b, 0x0000e100,
+ 0x18cb586c, 0x00004100, 0x000b4063, 0x00001502, 0x1e000000, 0x00009999,
+ 0x00005e69, 0x0000f031, 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000,
+ 0x98001263, 0x00006080, 0x0a035c66, 0x0000a006, 0x19c00c66, 0x00006080,
+ 0x9c801263, 0x0000c080, 0x98d33a60, 0x00006000, 0x09035c75, 0x00002006,
+ 0xe33b8663, 0x00002084, 0xe304e463, 0x00007902, 0x1e400000, 0x00000004,
+ 0xffffffff, 0x00007f97, 0x1da38466, 0x00009000, 0x0023a876, 0x00009502,
+ 0x0e83c879, 0x0000e148, 0x18038070, 0x0000c948, 0x0e44e09c, 0x00009948,
+ 0x00005e18, 0x0000f040, 0x00000c60, 0x00001583, 0xe37a0063, 0x0000303c,
+ 0xe37a1263, 0x0000303c, 0x00005f21, 0x0000f018, 0x18238470, 0x0000e100,
+ 0x19c00c70, 0x0000c081, 0x18e33467, 0x00009001, 0x8623186b, 0x0000e807,
+ 0x19c0096b, 0x0000e080, 0x198b596b, 0x00000900, 0x5ac33867, 0x0000e100,
+ 0x1d800000, 0x00004981, 0x2c00946e, 0x00009680, 0x998588b0, 0x00009000,
+ 0xe3000466, 0x0000d004, 0x00400000, 0x00008082, 0xe33b3c66, 0x0000a084,
+ 0x98c01c77, 0x00009880, 0xe3000466, 0x00005084, 0x00400000, 0x00008000,
+ 0x07bb6863, 0x0000d100, 0x003b6000, 0x00008000, 0x00000067, 0x00001582,
+ 0x07bb5a63, 0x00005100, 0x003b4000, 0x00000000, 0x0743be63, 0x00002182,
+ 0x00004fb7, 0x00007208, 0x1a000002, 0x00001980, 0x18c33867, 0x00001b00,
+ 0x19831fe4, 0x0000e000, 0x04131868, 0x00006187, 0x18c330e5, 0x00009400,
+ 0x770000ec, 0x00005680, 0x003b4000, 0x00000000, 0x19c31867, 0x00001200,
+ 0xf5800067, 0x0000c491, 0x3e800476, 0x00001796, 0xcb000c78, 0x0000f88b,
+ 0xdac00000, 0x0000a78d, 0x00000476, 0x00001583, 0x00005f1f, 0x0000f013,
+ 0x00000c78, 0x00001583, 0x00005f2c, 0x0000f00b, 0x19c00860, 0x00006180,
+ 0x2501c839, 0x00008900, 0x00001867, 0x0000e582, 0x2541d03a, 0x00000900,
+ 0x19c07c60, 0x0000e2b1, 0xb0000889, 0x00002431, 0xc7233834, 0x0000e037,
+ 0xb6e3382b, 0x00003037, 0x00004d5f, 0x00007230, 0xa413ba77, 0x00006130,
+ 0x18c30060, 0x0000c900, 0x18000ce0, 0x00001283, 0x0000659b, 0x0000f013,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99771ee3, 0x00001900,
+ 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
+ 0x01972863, 0x0000e230, 0x01400020, 0x000009b0, 0x01c02000, 0x000061b0,
+ 0x03400000, 0x0000c9b0, 0x00006553, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04688000, 0x00007900, 0x001c3d54, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x4fe22213, 0x0000f500,
+ 0x82e00500, 0x0000802e, 0x04b81706, 0x0000803c, 0x8101062b, 0x00001283,
+ 0x00004fe5, 0x00007013, 0x4fe54aa5, 0x0000f100, 0x01400000, 0x00006180,
+ 0x99bf1fe3, 0x00004900, 0xd0802866, 0x00002004, 0xc1c004ec, 0x00005080,
+ 0x00400000, 0x00008000, 0xc1fb46ec, 0x00003838, 0xc23b50ec, 0x0000b838,
+ 0xc1f82aec, 0x0000a880, 0xc23b62ec, 0x00003838, 0xc23b74ec, 0x0000b838,
+ 0xc23b06ec, 0x0000b838, 0xc27b10ec, 0x0000b838, 0xc27b82ec, 0x00003838,
+ 0xc27b94ec, 0x0000b838, 0xc27ba6ec, 0x00003838, 0xc2bbb0ec, 0x0000b838,
+ 0xc2bbc2ec, 0x0000b838, 0xc2bbd4ec, 0x00003838, 0xc2bbe6ec, 0x0000b838,
+ 0xc2fbf0ec, 0x0000b838, 0x4ffe41a0, 0x0000f500, 0xc1c004ec, 0x0000d000,
+ 0x00400000, 0x00000080, 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080,
+ 0x50004aa5, 0x00007300, 0x19000c64, 0x00001181, 0x00019066, 0x00009502,
+ 0x19c3ff16, 0x000060e8, 0x18f9772e, 0x00008968, 0x0000657f, 0x0000f061,
+ 0x00033863, 0x00009502, 0x22000000, 0x0000e190, 0x22400000, 0x00004990,
+ 0x22800000, 0x00006190, 0x22c00000, 0x0000c990, 0x00006143, 0x00007008,
+ 0x40000d70, 0x00006583, 0x23000000, 0x00000980, 0x23400000, 0x000008f8,
+ 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0,
+ 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0, 0x00006123, 0x00007430,
+ 0x26400000, 0x000009e8, 0x26c00000, 0x00009980, 0xc038b72e, 0x00001503,
+ 0x0b80b016, 0x00001908, 0xffffffff, 0x00007f86, 0x1940402e, 0x00001880,
+ 0x00033065, 0x00001502, 0x501b4aa5, 0x0000716b, 0x19804032, 0x00006780,
+ 0xb000088e, 0x0000a401, 0x40001570, 0x00006583, 0xa0000089, 0x00002401,
+ 0x18c00866, 0x0000e180, 0xd000088e, 0x0000a401, 0x001848ec, 0x0000d780,
+ 0x00004003, 0x00000080, 0x4b8be17c, 0x00006100, 0xf000088e, 0x0000e401,
+ 0x000061f6, 0x00007410, 0xcb800f2e, 0x00006081, 0xa298fb20, 0x00008100,
+ 0x6249a134, 0x0000e100, 0x62031863, 0x00004900, 0x25800800, 0x00006181,
+ 0x25440080, 0x0000c900, 0x2533e32e, 0x00008910, 0x02c00000, 0x000000f8,
+ 0x99802302, 0x0000e780, 0x0000180b, 0x0000a106, 0x0200b000, 0x0000f900,
+ 0x0001e180, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x001010ec, 0x0000d780,
+ 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006, 0x4513300e, 0x0000b107,
+ 0x03000000, 0x00006180, 0x03c00004, 0x0000c980, 0x02a01502, 0x00008028,
+ 0x00004b9a, 0x00007200, 0x1a407800, 0x00009981, 0xd8401f34, 0x0000e283,
+ 0x19801f34, 0x00008281, 0x98c1867a, 0x00009283, 0x80195269, 0x00009502,
+ 0x00005046, 0x0000f010, 0x00005046, 0x0000f010, 0x00004b27, 0x00007008,
+ 0x00000c66, 0x00001583, 0x00001466, 0x00001583, 0x40000570, 0x00001583,
+ 0x000051f2, 0x00007008, 0x00006040, 0x0000f008, 0x000051b6, 0x00007010,
+ 0x99b71ee3, 0x00001900, 0xe2031c66, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020463, 0x00001583, 0x19c04060, 0x000067b0, 0x01400020, 0x000009b0,
+ 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0, 0x000052bd, 0x00007018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x047f6800, 0x00007900,
+ 0x003ae156, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x505f2213, 0x00007500, 0x82f81400, 0x0000803c, 0x01d34a69, 0x00006100,
+ 0x04972867, 0x0000c200, 0x99b71ee3, 0x00001900, 0xe2031c66, 0x00002084,
0xffffffff, 0x00007fa7, 0x00020463, 0x00001583, 0x19c04060, 0x000067b0,
- 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0,
- 0x00004c94, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x047f6800, 0x00007900, 0x003ae156, 0x00008980, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x4a3620b1, 0x0000f500, 0x82f81400, 0x00008030,
- 0x03d34a69, 0x0000e100, 0x04972867, 0x0000c200, 0x99b71ee3, 0x00001900,
- 0xe2031c66, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583,
- 0x19c04060, 0x000067b0, 0x0197287f, 0x00000230, 0x01c00020, 0x000061b0,
- 0x01400000, 0x000049b0, 0x00004b13, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0461e000, 0x00007900, 0x0000183a, 0x00008980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x4a4a20b1, 0x00007500, 0x03001002, 0x0000e100, 0x04972867, 0x0000c200,
- 0x03c03006, 0x00009900, 0x99b71ee3, 0x00001900, 0xe2032c66, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x18c04060, 0x0000e7b0,
- 0x0197287f, 0x00000230, 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0,
- 0x00004c10, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0479b000, 0x00007900, 0x002f7ee0, 0x00008980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x4a5e20b1, 0x00007500,
- 0x03001002, 0x0000e100, 0x04972863, 0x00004200, 0x03c03006, 0x00009900,
- 0x98f71ee3, 0x00001900, 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00020465, 0x00001583, 0x19804060, 0x0000e7b0, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x00004c91, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0463e000, 0x0000f900,
- 0x00118b58, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x4a7120b1, 0x0000f500, 0x82f81400, 0x00008030, 0x03d34a69, 0x0000e100,
- 0x04972866, 0x00004200, 0x99b71ee3, 0x00001900, 0xe2033c66, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583, 0x18c04060, 0x0000e7b0,
- 0x0a01a465, 0x00002032, 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0,
- 0x00004c13, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x045dc000, 0x0000f900, 0x003be44c, 0x00008980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x4a8520b1, 0x00007500,
- 0x03001002, 0x0000e100, 0x04972863, 0x00004200, 0x03e32c65, 0x00009900,
+ 0x0197287f, 0x00000230, 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x0000513c, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0461e000, 0x00007900, 0x0000183a, 0x00008980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x50732213, 0x0000f500,
+ 0x03c01002, 0x0000e100, 0x04972867, 0x0000c200, 0x01c03006, 0x00001900,
+ 0x99b71ee3, 0x00001900, 0xe2032c66, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020465, 0x00001583, 0x18c04060, 0x0000e7b0, 0x0197287f, 0x00000230,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00005239, 0x00007018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0479b000, 0x00007900,
+ 0x002f7ee0, 0x00008980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x50872213, 0x00007500, 0x03c01002, 0x0000e100,
+ 0x04972863, 0x00004200, 0x01c03006, 0x00001900, 0x98f71ee3, 0x00001900,
+ 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
+ 0x19804060, 0x0000e7b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x000052ba, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0463e000, 0x0000f900, 0x00118b58, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x509a2213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x01d34a69, 0x00006100, 0x04972866, 0x00004200,
0x99b71ee3, 0x00001900, 0xe2033c66, 0x0000a084, 0xffffffff, 0x00007fa7,
0x00020467, 0x00009583, 0x18c04060, 0x0000e7b0, 0x0a01a465, 0x00002032,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00004adb, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0450b800, 0x00007900,
- 0x00005b50, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x4a9920b1, 0x0000f500, 0x03001002, 0x0000e100,
- 0x04972863, 0x00004200, 0x03e32c65, 0x00009900, 0x99f71ee3, 0x00009900,
- 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x81c01000, 0x0000e1b0,
- 0xc2f00600, 0x0000c931, 0x00005b45, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04581800, 0x0000f900, 0x0038d6c0, 0x00008980,
- 0x82e80500, 0x00006101, 0x08001a0b, 0x00006106, 0x4aab20b1, 0x00007500,
- 0x03316f02, 0x0000810a, 0x03d90b21, 0x00009900, 0x99771ee3, 0x00001900,
- 0xe2031c65, 0x00002084, 0xffffffff, 0x00007fa7, 0x00010463, 0x00001583,
- 0x19c04060, 0x000067b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00005b4d, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x047d9800, 0x0000f900, 0x00026c26, 0x00008980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x4abe20b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100, 0x04972867, 0x0000c200,
- 0x19c01f34, 0x00009281, 0x6a601462, 0x00004289, 0x86a01467, 0x00001295,
- 0xe6801467, 0x00007892, 0x4ac00000, 0x0000ad8b, 0x18d34a69, 0x00009900,
- 0x00017863, 0x00009502, 0x99771ee3, 0x0000e110, 0x80000034, 0x0000640b,
- 0xe2033465, 0x0000a094, 0x00004549, 0x00007008, 0xffffffff, 0x00007f97,
- 0x00020466, 0x00001583, 0x19c04060, 0x000067b0, 0x0117282f, 0x00008230,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00005b50, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04447800, 0x00007900,
- 0x001c041c, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x4adb20b1, 0x0000f500, 0x03001002, 0x0000e100,
- 0x04972867, 0x0000c200, 0x03c02004, 0x00009900, 0x4ade43f0, 0x0000f500,
- 0xc1603001, 0x000080da, 0xc1600401, 0x000000d6, 0x98f35772, 0x00006000,
- 0x01000802, 0x00000980, 0x99806263, 0x0000e080, 0x01400000, 0x00008980,
- 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980, 0xa2d33662, 0x0000e000,
- 0xe293526a, 0x00008900, 0x00000c62, 0x00009583, 0x00005bd0, 0x0000f01b,
- 0x0cfbef7f, 0x00000304, 0x0c3c077e, 0x0000023c, 0x00000462, 0x00001583,
- 0x00000080, 0x00001582, 0xffffffff, 0x00007f86, 0x00004d0c, 0x00007010,
- 0x00004cf8, 0x00007010, 0x02c00000, 0x000000f8, 0x98c02302, 0x0000e780,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x0000523c, 0x00007018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x045dc000, 0x0000f900,
+ 0x003be44c, 0x00008980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x50ae2213, 0x0000f500, 0x03c01002, 0x0000e100,
+ 0x04972863, 0x00004200, 0x01e32c65, 0x00001900, 0x99b71ee3, 0x00001900,
+ 0xe2033c66, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
+ 0x18c04060, 0x0000e7b0, 0x0a01a465, 0x00002032, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x00005104, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0450b800, 0x00007900, 0x00005b50, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x50c22213, 0x0000f500, 0x03c01002, 0x0000e100, 0x04972863, 0x00004200,
+ 0x01e32c65, 0x00001900, 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x81401000, 0x000061b0, 0xc2f00600, 0x0000c931,
+ 0x00006171, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04581800, 0x0000f900, 0x0038d6c0, 0x00008980, 0x82e80500, 0x00006101,
+ 0x08001a0b, 0x00006106, 0x50d42213, 0x00007500, 0x03f16f02, 0x0000810a,
+ 0x01d90b21, 0x00001900, 0x99771ee3, 0x00001900, 0xe2031c65, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00010463, 0x00001583, 0x19c04060, 0x000067b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x00006179, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x047d9800, 0x0000f900, 0x00026c26, 0x00008980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x50e72213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01fbd77a, 0x00006100, 0x04972867, 0x0000c200, 0x19c01f34, 0x00009281,
+ 0x2fe01462, 0x0000c288, 0xd8c01467, 0x00001491, 0x71801467, 0x0000f892,
+ 0xab000000, 0x0000308c, 0x18d34a69, 0x00009900, 0x00017863, 0x00009502,
+ 0x99771ee3, 0x0000e110, 0x80000034, 0x0000640b, 0xe2033465, 0x0000a094,
+ 0x00004b73, 0x0000f008, 0xffffffff, 0x00007f97, 0x00020466, 0x00001583,
+ 0x19c04060, 0x000067b0, 0x0197282f, 0x00000230, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x0000617c, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04447800, 0x00007900, 0x001c041c, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x51042213, 0x00007500, 0x03c01002, 0x0000e100, 0x04972867, 0x0000c200,
+ 0x01c03006, 0x00001900, 0x51074a1a, 0x0000f500, 0xc1603001, 0x000080da,
+ 0xc1600401, 0x000000d6, 0x98f35770, 0x0000e000, 0x01000802, 0x00000980,
+ 0x99806263, 0x0000e080, 0x01400000, 0x00008980, 0x0197f840, 0x00006180,
+ 0x01c00000, 0x0000c980, 0xa2d33662, 0x0000e000, 0xe293526a, 0x00008900,
+ 0x00000c62, 0x00009583, 0x000061fc, 0x0000701b, 0x0cfbef7f, 0x00000304,
+ 0x0c3c077e, 0x0000023c, 0x00000462, 0x00001583, 0x00000080, 0x00001582,
+ 0xffffffff, 0x00007f86, 0x00005335, 0x00007010, 0x00005321, 0x00007010,
+ 0x02c00000, 0x000000f8, 0x98c02302, 0x0000e780, 0x0000180b, 0x0000a106,
+ 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
+ 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006,
+ 0x4513180e, 0x0000b107, 0x00004b82, 0x00007400, 0x03000000, 0x00006180,
+ 0x03c00004, 0x0000c980, 0x02a01502, 0x00008028, 0x99771ee3, 0x00001900,
+ 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
+ 0x18c04060, 0x0000e7b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00005f99, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04504000, 0x0000f900, 0x0011f546, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x513c2213, 0x0000f500,
+ 0x82f81400, 0x0000803c, 0x01fbd77a, 0x00006100, 0x04972863, 0x00004200,
+ 0x513f4a1a, 0x00007500, 0xc1604002, 0x000000da, 0xc1604403, 0x000000d6,
+ 0x19801f34, 0x00001281, 0x00000c66, 0x00001583, 0x0bc17a69, 0x00006008,
+ 0x01000802, 0x00008988, 0x01400000, 0x0000e188, 0x0197f840, 0x0000c988,
+ 0x00005735, 0x0000f010, 0x02c00000, 0x0000e180, 0x99b35770, 0x00004000,
+ 0x00001c70, 0x0000e583, 0x0000180b, 0x0000a106, 0x03800000, 0x0000e180,
+ 0x99c02302, 0x0000c780, 0x98c06266, 0x0000e080, 0xc000180b, 0x00002006,
+ 0x0218b000, 0x0000f900, 0x0001e140, 0x00008980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980,
+ 0x862b8034, 0x0000600b, 0x4513380e, 0x00003107, 0x01c00000, 0x000080f0,
+ 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0x00004d61, 0x0000f400,
+ 0x028b5502, 0x0000082a, 0xa2d31e62, 0x00001000, 0x18700004, 0x00006180,
+ 0x198003c0, 0x00004980, 0x99a80500, 0x00006100, 0x04181061, 0x00006187,
+ 0x75e80066, 0x00006901, 0x700280ec, 0x0000d680, 0x003b34c4, 0x00000010,
+ 0x7039a8ec, 0x0000d600, 0x0039b000, 0x00008000, 0x700280ec, 0x0000d680,
+ 0x003b0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x150b480b, 0x00001684,
+ 0x00004c09, 0x0000f200, 0x0d428035, 0x00001080, 0x99771ee3, 0x00001900,
+ 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
+ 0x19c04060, 0x000067b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x0000600a, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04500800, 0x0000f900, 0x002aecea, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x517e2213, 0x0000f500,
+ 0x82f81400, 0x0000803c, 0x01fbd77a, 0x00006100, 0x04972867, 0x0000c200,
+ 0x00134880, 0x0000e502, 0x80001034, 0x0000a403, 0x00000080, 0x00001582,
+ 0xffffffff, 0x00007f86, 0x00005184, 0x00007030, 0x00004b73, 0x0000f040,
+ 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020466, 0x00001583, 0x18c04060, 0x0000e7b0, 0x01972880, 0x00000230,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00005287, 0x00007018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0445c800, 0x00007900,
+ 0x000b44ee, 0x00000980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x51982213, 0x00007500, 0x03c01002, 0x0000e100,
+ 0x04972863, 0x00004200, 0x01c03006, 0x00001900, 0x23c21042, 0x00006100,
+ 0x09415c63, 0x00006006, 0x9a521269, 0x00006100, 0x19807c63, 0x00008081,
+ 0xb6e3302b, 0x00006807, 0xd803c72b, 0x00001283, 0x000052c0, 0x0000f00b,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x009808ec, 0x0000d780, 0x00884880, 0x000082c8, 0x00000467, 0x0000e583,
+ 0x19000c64, 0x00008181, 0x38422000, 0x00006189, 0x98403e61, 0x00004181,
+ 0x19c00c67, 0x00006081, 0xcb000b2c, 0x00000080, 0xffffffff, 0x0000ffb7,
+ 0x10020300, 0x00007904, 0x10820300, 0x0000f904, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x99802302, 0x0000e780, 0x0e021863, 0x0000a202,
+ 0x00004d6c, 0x00007400, 0x03800063, 0x00007900, 0x00000200, 0x00000380,
+ 0xa2d47a8b, 0x00006000, 0x4513300e, 0x00002107, 0x98f71ee3, 0x00001900,
+ 0xe2033c63, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
+ 0x19404060, 0x0000e7b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x000052ee, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04789000, 0x00007900, 0x001225d4, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x51c92213, 0x0000f500,
+ 0x82f81400, 0x0000803c, 0x01d34a69, 0x00006100, 0x04972865, 0x00004200,
+ 0xd8c7fb2c, 0x00006282, 0xc32b806b, 0x0000a006, 0x9a000000, 0x00001980,
+ 0x00006057, 0x00007011, 0x1999ab35, 0x0000e100, 0x19c00a35, 0x00004180,
+ 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000, 0x00033866, 0x00006502,
+ 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000,
+ 0x700400ec, 0x00005680, 0x003b67c0, 0x00000078, 0x00005fb4, 0x0000f208,
+ 0x98c00b35, 0x00006090, 0x0e41d83b, 0x00000900, 0xcd400b35, 0x00009080,
+ 0x19801a63, 0x00001880, 0x1801b066, 0x00001002, 0x19c00037, 0x00009084,
+ 0x0000e868, 0x0000e485, 0x0080406b, 0x00003586, 0x9a280500, 0x0000e100,
+ 0x0000406d, 0x0000e586, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
+ 0x703b00ec, 0x0000d600, 0x003b3800, 0x00000000, 0x703b68ec, 0x00005600,
+ 0x003b6000, 0x00008000, 0x19800000, 0x000007dc, 0x18c00000, 0x0000e181,
+ 0x1b833867, 0x00004900, 0x1bc30060, 0x00009900, 0x00d802ec, 0x0000df80,
+ 0x150f7009, 0x000013c4, 0x50000c63, 0x00007893, 0x02400001, 0x00008000,
+ 0xbc403a76, 0x0000f8b2, 0x6a800000, 0x0000a986, 0x99771ee3, 0x00001900,
+ 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
+ 0x18c04060, 0x0000e7b0, 0x0a01a467, 0x0000a032, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x00005298, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0451e800, 0x0000f900, 0x0002f7ca, 0x00008980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x52062213, 0x0000f500, 0x03c01002, 0x0000e100, 0x04972863, 0x00004200,
+ 0x01e33c67, 0x00001900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x0003e878, 0x00001502, 0x0000007d, 0x00009582, 0xffffffff, 0x00007f86,
+ 0x00006090, 0x0000f028, 0x00006090, 0x00007008, 0x1940407d, 0x0000e780,
+ 0x02c00000, 0x00000980, 0x18000065, 0x0000f900, 0x00000200, 0x00000380,
+ 0x03800000, 0x0000e180, 0x9000188e, 0x00006407, 0x0000180b, 0x00006106,
+ 0x3000089b, 0x00003401, 0x99802302, 0x0000e780, 0x0003000e, 0x0000a206,
+ 0x0218b000, 0x0000f900, 0x0001e140, 0x00008980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980,
+ 0x001808ec, 0x00005780, 0x00884880, 0x000082c8, 0xc143d08e, 0x00006001,
+ 0xc000180b, 0x0000b006, 0x23c00000, 0x0000e180, 0x4513300e, 0x0000e107,
+ 0x623beb7d, 0x00008920, 0xe293526a, 0x00006100, 0x01000802, 0x0000c980,
+ 0x01400000, 0x00006180, 0x0197f8e0, 0x00004980, 0x01c00000, 0x000080f0,
+ 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0x00004da2, 0x0000f400,
+ 0xc2981302, 0x0000e100, 0x19000c64, 0x00004181, 0xa6d8fb1f, 0x0000e100,
+ 0x98403e61, 0x00004181, 0x52394a1a, 0x00007500, 0xc1603001, 0x000080da,
+ 0xc1600402, 0x000000d6, 0x523c4a1a, 0x00007500, 0xc1604002, 0x000000da,
+ 0xc1604405, 0x000000d6, 0x523f4a1a, 0x00007500, 0xc1604001, 0x000000da,
+ 0xc1603403, 0x000080d6, 0x02c00000, 0x000000f8, 0x98c02302, 0x0000e780,
0x0000180b, 0x0000a106, 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980,
0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
0x00010000, 0x00000980, 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8,
- 0xc000180b, 0x0000e006, 0x4513180e, 0x0000b107, 0x00004558, 0x00007400,
- 0x03000000, 0x00006180, 0x03c00004, 0x0000c980, 0x02a01502, 0x00008028,
- 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00020466, 0x00001583, 0x18c04060, 0x0000e7b0, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x0000596d, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04504000, 0x0000f900,
- 0x0011f546, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x4b1320b1, 0x0000f500, 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100,
- 0x04972863, 0x00004200, 0x4b1643f0, 0x0000f500, 0xc1604002, 0x000000da,
- 0xc1604403, 0x000000d6, 0x19801f34, 0x00001281, 0x00000c66, 0x00001583,
- 0x0bc17a69, 0x00006008, 0x01000802, 0x00008988, 0x01400000, 0x0000e188,
- 0x0197f840, 0x0000c988, 0x0000510c, 0x0000f010, 0x02c00000, 0x0000e180,
- 0x99b35772, 0x0000c000, 0x00001c72, 0x00006583, 0x0000180b, 0x0000a106,
- 0x03800000, 0x0000e180, 0x99c02302, 0x0000c780, 0x98c06266, 0x0000e080,
- 0xc000180b, 0x00002006, 0x0218b000, 0x0000f900, 0x0001e140, 0x00008980,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03401000, 0x0000f900,
- 0x0001c000, 0x00000980, 0x862b9034, 0x0000e00b, 0x4513380e, 0x00003107,
- 0x01c00000, 0x000080f0, 0x03c00004, 0x0000e180, 0x82901202, 0x00004900,
- 0x00004737, 0x0000f400, 0x028b5502, 0x0000082a, 0xa2d31e62, 0x00001000,
- 0x18700004, 0x00006180, 0x198003c0, 0x00004980, 0x99a80500, 0x00006100,
- 0x04181061, 0x00006187, 0x75e80066, 0x00006901, 0x700280ec, 0x0000d680,
- 0x003b34c4, 0x00000010, 0x7039a8ec, 0x0000d600, 0x0039b000, 0x00008000,
- 0x700280ec, 0x0000d680, 0x003b0fc0, 0x00008078, 0x00c002ec, 0x0000df80,
- 0x149a000b, 0x00001684, 0x000045df, 0x00007200, 0x0d428035, 0x00001080,
- 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00020466, 0x00001583, 0x19c04060, 0x000067b0, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x000059de, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04500800, 0x0000f900,
- 0x002aecea, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x4b5520b1, 0x00007500, 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100,
- 0x04972867, 0x0000c200, 0x00134880, 0x0000e502, 0x80001034, 0x0000a403,
- 0x00000080, 0x00001582, 0xffffffff, 0x00007f86, 0x00004b5b, 0x00007030,
- 0x00004549, 0x00007040, 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583, 0x18c04060, 0x0000e7b0,
- 0x01172880, 0x00008230, 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0,
- 0x00004c5e, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0445c800, 0x00007900, 0x000b44ee, 0x00000980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x4b6f20b1, 0x00007500,
- 0x03001002, 0x0000e100, 0x04972863, 0x00004200, 0x03c02004, 0x00009900,
- 0x23c21042, 0x00006100, 0x09415c63, 0x00006006, 0x9a521269, 0x00006100,
- 0x19807c63, 0x00008081, 0xb6e3302b, 0x00006807, 0xd803c72b, 0x00001283,
- 0x00004c97, 0x0000700b, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009808ec, 0x0000d780, 0x00884880, 0x000082c8,
- 0x00000467, 0x0000e583, 0x19000c64, 0x00008181, 0x38422000, 0x00006189,
- 0x98403e61, 0x00004181, 0x19c00c67, 0x00006081, 0xcb000b2c, 0x00000080,
- 0xffffffff, 0x0000ffb7, 0x10020300, 0x00007904, 0x10820300, 0x0000f904,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99802302, 0x0000e780,
- 0x0e021863, 0x0000a202, 0x00004742, 0x00007400, 0x03800063, 0x00007900,
- 0x00000200, 0x00000380, 0xa2d47a8b, 0x00006000, 0x4513300e, 0x00002107,
- 0x98f71ee3, 0x00001900, 0xe2033c63, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00020467, 0x00009583, 0x19404060, 0x0000e7b0, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x00004cc5, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04789000, 0x00007900,
- 0x001225d4, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x4ba020b1, 0x00007500, 0x82f81400, 0x00008030, 0x03d34a69, 0x0000e100,
- 0x04972865, 0x00004200, 0xd8c7fb2c, 0x00006282, 0xc32b906b, 0x00002006,
- 0x9a000000, 0x00001980, 0x00005a2b, 0x0000f011, 0x1999ab35, 0x0000e100,
- 0x19c00a35, 0x00004180, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
- 0x00033866, 0x00006502, 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600,
- 0x0039d800, 0x00000000, 0x700400ec, 0x00005680, 0x003b67c0, 0x00000078,
- 0x00005988, 0x0000f208, 0x98c00b35, 0x00006090, 0x0e41d83b, 0x00000900,
- 0xcd400b35, 0x00009080, 0x19801a63, 0x00001880, 0x1801b066, 0x00001002,
- 0x19c00037, 0x00009084, 0x0000e868, 0x0000e485, 0x0080406b, 0x00003586,
- 0x9a280500, 0x0000e100, 0x0000406d, 0x0000e586, 0x703b58ec, 0x00005600,
- 0x003b4000, 0x00000000, 0x703b00ec, 0x0000d600, 0x003b3800, 0x00000000,
- 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x19800000, 0x000007dc,
- 0x18c00000, 0x0000e181, 0x1b833867, 0x00004900, 0x1bc30060, 0x00009900,
- 0x00d802ec, 0x0000df80, 0x149e2809, 0x000093c4, 0xc5800c63, 0x0000f893,
- 0x02000001, 0x00000000, 0x32003a76, 0x0000f8b3, 0x22400000, 0x0000a685,
- 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00020466, 0x00001583, 0x18c04060, 0x0000e7b0, 0x0a01a467, 0x0000a032,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00004c6f, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0451e800, 0x0000f900,
- 0x0002f7ca, 0x00008980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x4bdd20b1, 0x00007500, 0x03001002, 0x0000e100,
- 0x04972863, 0x00004200, 0x03e33c67, 0x00009900, 0x814010ec, 0x0000d684,
+ 0xc000180b, 0x0000e006, 0x4513180e, 0x0000b107, 0x03000000, 0x00006180,
+ 0x03c00004, 0x0000c980, 0x00004d7e, 0x00007400, 0x02a81402, 0x00008028,
+ 0x99c00000, 0x000087de, 0x99b71ee3, 0x00001900, 0xe2032c66, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0xc7c00b1f, 0x00006098,
+ 0xc0000812, 0x0000a41b, 0x81401800, 0x00006199, 0x41801800, 0x00004999,
+ 0x0000529e, 0x0000f030, 0x525c4a1a, 0x00007300, 0xc1600401, 0x000000d6,
+ 0xd804077c, 0x00001283, 0x620be17c, 0x0000e110, 0x63800800, 0x0000c990,
+ 0xb000088e, 0x0000e411, 0xa0000089, 0x00003411, 0x00004dbd, 0x00007008,
+ 0x6249a134, 0x0000e100, 0xd000088e, 0x00006401, 0xa298fb20, 0x00001100,
+ 0xe5c00467, 0x0000788a, 0xfa400000, 0x0000268d, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x18000ce0, 0x00001283, 0x0000528d, 0x0000f013, 0x814010ec, 0x0000d684,
0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x0003e870, 0x00009502, 0x0000007d, 0x00009582,
- 0xffffffff, 0x00007f86, 0x00005a64, 0x00007028, 0x00005a64, 0x0000f008,
- 0x1940407d, 0x0000e780, 0x02c00000, 0x00000980, 0x18000065, 0x0000f900,
- 0x00000200, 0x00000380, 0x03800000, 0x0000e180, 0x9000188e, 0x00006407,
- 0x0000180b, 0x00006106, 0x3000089b, 0x00003401, 0x99802302, 0x0000e780,
- 0x0003000e, 0x0000a206, 0x0218b000, 0x0000f900, 0x0001e140, 0x00008980,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03401000, 0x0000f900,
- 0x0001c000, 0x00000980, 0x001808ec, 0x00005780, 0x00884880, 0x000082c8,
- 0xc143d08e, 0x00006001, 0xc000180b, 0x0000b006, 0x23c00000, 0x0000e180,
- 0x4513300e, 0x0000e107, 0x623beb7d, 0x00008920, 0xe293526a, 0x00006100,
- 0x01000802, 0x0000c980, 0x01400000, 0x00006180, 0x0197f8e0, 0x00004980,
- 0x01c00000, 0x000080f0, 0x03c00004, 0x0000e180, 0x82901202, 0x00004900,
- 0x00004778, 0x00007400, 0xc2981302, 0x0000e100, 0x19000c64, 0x00004181,
- 0xa6d8fb1f, 0x0000e100, 0x98403e61, 0x00004181, 0x4c1043f0, 0x00007500,
- 0xc1603001, 0x000080da, 0xc1600402, 0x000000d6, 0x4c1343f0, 0x00007500,
- 0xc1604002, 0x000000da, 0xc1604405, 0x000000d6, 0x4c1643f0, 0x00007500,
- 0xc1604001, 0x000000da, 0xc1603403, 0x000080d6, 0x02c00000, 0x000000f8,
- 0x98c02302, 0x0000e780, 0x0000180b, 0x0000a106, 0x0200b000, 0x0000f900,
- 0x0001e180, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x001010ec, 0x0000d780,
- 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006, 0x4513180e, 0x0000b107,
- 0x03000000, 0x00006180, 0x03c00004, 0x0000c980, 0x00004754, 0x0000f400,
- 0x02a81402, 0x00008028, 0x99c00000, 0x000087de, 0x99b71ee3, 0x00001900,
- 0xe2032c66, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
- 0xc7c00b1f, 0x00006098, 0xc0000812, 0x0000a41b, 0x81401800, 0x00006199,
- 0x41801800, 0x00004999, 0x00004c75, 0x0000f030, 0x4c3343f0, 0x0000f300,
- 0xc1600401, 0x000000d6, 0xd804077c, 0x00001283, 0x620be17c, 0x0000e110,
- 0x63800800, 0x0000c990, 0xb000088e, 0x0000e411, 0xa0000089, 0x00003411,
- 0x00004793, 0x00007008, 0x6249a134, 0x0000e100, 0xd000088e, 0x00006401,
- 0xa298fb20, 0x00001100, 0x5b400467, 0x0000788b, 0xaa000000, 0x0000238c,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x18000ce0, 0x00001283, 0x00004c64, 0x00007013,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99f71ee3, 0x00009900,
- 0xe2033467, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
- 0x01c00020, 0x000061b0, 0x03c02000, 0x0000c9b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00004c61, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04688000, 0x00007900, 0x001c3d54, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x4c5e20b1, 0x00007500,
- 0x82f81400, 0x00008030, 0x04a31c63, 0x00009900, 0x4c6143f0, 0x00007500,
- 0xc1604001, 0x000000da, 0xc1604407, 0x000080d6, 0x4c6443f0, 0x00007500,
- 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6, 0x4c652108, 0x00007100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00004c44, 0x0000f00b,
- 0x4c6944a4, 0x00007100, 0x18c00000, 0x00009981, 0x30e31f2b, 0x0000e806,
- 0xcd03c72b, 0x0000f88f, 0x02400001, 0x00008000, 0x5b400467, 0x0000788b,
- 0xaa000000, 0x0000238c, 0x4c7243f0, 0x0000f500, 0xc1603001, 0x000080da,
- 0xc1600403, 0x000080d6, 0x4c7543f0, 0x00007500, 0xc1604001, 0x000000da,
- 0xc1604406, 0x000000d6, 0x01172870, 0x0000e200, 0x08021867, 0x0000a302,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0446e800, 0x0000f900, 0x002259be, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x4c8420b1, 0x0000f500, 0x04972867, 0x00006200, 0x03c02004, 0x00000900,
- 0x81c01000, 0x00009980, 0x18400001, 0x00006180, 0x18000000, 0x00004980,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x00232061, 0x0000e102,
- 0x04135060, 0x0000b187, 0x703b08ec, 0x00005600, 0x003b0000, 0x00008000,
- 0x00004688, 0x0000f400, 0x001848ec, 0x0000d780, 0x00004003, 0x00000080,
- 0x18007800, 0x0000e181, 0x59002d64, 0x00004081, 0x4c9443f0, 0x00007500,
- 0xc1604001, 0x000000da, 0xc1603404, 0x000000d6, 0x4c9743f0, 0x00007500,
- 0xc1603001, 0x000080da, 0xc1600404, 0x000000d6, 0x99771ee3, 0x00001900,
- 0xe2033c65, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
- 0xc7c00b1f, 0x00006098, 0xc0000812, 0x0000a41b, 0x81400800, 0x0000e199,
- 0x41801000, 0x0000c999, 0x00004cd3, 0x0000f030, 0x4ca243f0, 0x00007300,
- 0xc1600402, 0x000000d6, 0x80003a76, 0x00009582, 0x00004cc8, 0x0000f033,
- 0x18d9ab35, 0x0000e100, 0x19c00a75, 0x0000c180, 0x00033863, 0x00006502,
- 0x0e03b877, 0x00008900, 0x99c00b35, 0x000060c8, 0x99c00000, 0x000009c0,
- 0x00004717, 0x00007400, 0x0e433066, 0x00009900, 0x19c04000, 0x0000e181,
- 0xcd533a67, 0x0000c900, 0x99771ee3, 0x00006100, 0xb6eb902b, 0x00006007,
- 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00008466, 0x00001583,
- 0x19c04060, 0x000067b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00004ce0, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04749800, 0x0000f900, 0x0038c968, 0x00008980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x4cc220b1, 0x00007500,
- 0x82f81400, 0x00008030, 0x03d90320, 0x0000e100, 0x04972867, 0x0000c200,
- 0x00004ba4, 0x0000f200, 0x9a000000, 0x00006180, 0xc32b906b, 0x0000e006,
- 0x4cc843f0, 0x00007500, 0xc1604001, 0x000000da, 0xc1603406, 0x000080d6,
- 0x09821c67, 0x00006804, 0x18e33c67, 0x0000e100, 0x1d800c67, 0x0000c180,
- 0x00001876, 0x00001582, 0x00004ce2, 0x0000701b, 0x00138063, 0x00001502,
- 0x0e83b877, 0x0000e150, 0x0ec33066, 0x00004950, 0x19e38470, 0x00009951,
- 0x00004717, 0x0000f050, 0x00004ca4, 0x0000f000, 0x01c00020, 0x00006180,
- 0x08021863, 0x0000e302, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x044c2800, 0x0000f900, 0x00313fce, 0x00008980, 0x01400000, 0x00006180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x4ce020b1, 0x00007500,
- 0x03334f02, 0x0000803e, 0x81c01000, 0x0000e180, 0x04972863, 0x00004200,
- 0x4ce243b0, 0x00007300, 0x01802800, 0x00009981, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x18000ce0, 0x00001283, 0x00005f35, 0x00007013,
+ 0x00000002, 0x00008480, 0x99f71ee3, 0x00009900, 0xe2033467, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583, 0x01400020, 0x0000e1b0,
+ 0x01c02000, 0x000049b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x0000528a, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04688000, 0x00007900, 0x001c3d54, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x52872213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x04a31c63, 0x00009900, 0x528a4a1a, 0x0000f500, 0xc1604001, 0x000000da,
+ 0xc1604407, 0x000080d6, 0x528d4a1a, 0x00007500, 0xc1601803, 0x000000da,
+ 0xc1600402, 0x000000d6, 0x528e2269, 0x0000f100, 0xffffffff, 0x00007f86,
+ 0x00000468, 0x00001583, 0x0000526d, 0x0000700b, 0x52924ace, 0x00007100,
+ 0x18c00000, 0x00009981, 0x30e31f2b, 0x0000e806, 0x5743c72b, 0x0000788f,
+ 0x02800001, 0x00008000, 0xe5c00467, 0x0000788a, 0xfa400000, 0x0000268d,
+ 0x529b4a1a, 0x0000f500, 0xc1603001, 0x000080da, 0xc1600403, 0x000080d6,
+ 0x529e4a1a, 0x0000f500, 0xc1604001, 0x000000da, 0xc1604406, 0x000000d6,
+ 0x01972878, 0x0000e200, 0x08021867, 0x0000a302, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0446e800, 0x0000f900, 0x002259be, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x52ad2213, 0x00007500,
+ 0x04972867, 0x00006200, 0x01c03006, 0x00008900, 0x81401000, 0x00001980,
+ 0x18400001, 0x00006180, 0x18000000, 0x00004980, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x00232061, 0x0000e102, 0x04135060, 0x0000b187,
+ 0x703b08ec, 0x00005600, 0x003b0000, 0x00008000, 0x00004cb2, 0x0000f400,
+ 0x001848ec, 0x0000d780, 0x00004003, 0x00000080, 0x18007800, 0x0000e181,
+ 0x59002d64, 0x00004081, 0x52bd4a1a, 0x00007500, 0xc1604001, 0x000000da,
+ 0xc1603404, 0x000000d6, 0x52c04a1a, 0x00007500, 0xc1603001, 0x000080da,
+ 0xc1600404, 0x000000d6, 0x99771ee3, 0x00001900, 0xe2033c65, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583, 0xc7c00b1f, 0x00006098,
+ 0xc0000812, 0x0000a41b, 0x81400800, 0x0000e199, 0x41801000, 0x0000c999,
+ 0x000052fc, 0x00007030, 0x52cb4a1a, 0x0000f300, 0xc1600402, 0x000000d6,
+ 0x80003a76, 0x00009582, 0x000052f1, 0x0000f033, 0x18d9ab35, 0x0000e100,
+ 0x19c00a75, 0x0000c180, 0x00033863, 0x00006502, 0x0e03b877, 0x00008900,
+ 0x99c00b35, 0x000060c8, 0x99c00000, 0x000009c0, 0x00004d41, 0x00007400,
+ 0x0e433066, 0x00009900, 0x19c04000, 0x0000e181, 0xcd533a67, 0x0000c900,
+ 0x99771ee3, 0x00006100, 0xb6eb802b, 0x0000e007, 0xe2033465, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00008466, 0x00001583, 0x19c04060, 0x000067b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x00005309, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04749800, 0x0000f900, 0x0038c968, 0x00008980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x52eb2213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x01d90320, 0x00006100, 0x04972867, 0x0000c200, 0x000051cd, 0x00007200,
+ 0x9a000000, 0x00006180, 0xc32b806b, 0x00006006, 0x52f14a1a, 0x0000f500,
+ 0xc1604001, 0x000000da, 0xc1603406, 0x000080d6, 0x09821c67, 0x00006804,
+ 0x18e33c67, 0x0000e100, 0x1d800c67, 0x0000c180, 0x00001876, 0x00001582,
+ 0x0000530b, 0x0000701b, 0x0013c063, 0x00009502, 0x0e83b877, 0x0000e150,
+ 0x0ec33066, 0x00004950, 0x19e3c478, 0x00009951, 0x00004d41, 0x0000f050,
+ 0x000052cd, 0x0000f000, 0x01400020, 0x0000e180, 0x08021863, 0x0000e302,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x044c2800, 0x0000f900,
+ 0x00313fce, 0x00008980, 0x03400000, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x53092213, 0x00007500, 0x03f34f02, 0x0000001e,
+ 0x81401000, 0x00006180, 0x04972863, 0x00004200, 0x530b49da, 0x00007300,
+ 0x01402800, 0x00009981, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x18000ce0, 0x00001283, 0x00006561, 0x0000f013, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583, 0x81401800, 0x00006199,
+ 0x41801800, 0x00004999, 0xc1401000, 0x00006199, 0x41400000, 0x00004999,
+ 0x00006556, 0x0000f030, 0x53214a1a, 0x00007100, 0x99771ee3, 0x00001900,
+ 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
+ 0x18c04060, 0x0000e7b0, 0x01972880, 0x00000230, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x0000534c, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04459800, 0x00007900, 0x001ce9f2, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x53352213, 0x00007500, 0x03c01002, 0x0000e100, 0x04972863, 0x00004200,
+ 0x01c03006, 0x00001900, 0x00000080, 0x0000e582, 0x80001034, 0x0000a403,
+ 0x99b71ee3, 0x00001950, 0xe2033c66, 0x0000a0d4, 0x00005118, 0x0000f038,
+ 0xffffffff, 0x00007f97, 0x00020467, 0x00009583, 0x19404060, 0x0000e7b0,
+ 0x01972880, 0x00000230, 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x0000534f, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0445c800, 0x00007900, 0x000b44ee, 0x00000980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x534c2213, 0x0000f500,
+ 0x03c01002, 0x0000e100, 0x04972865, 0x00004200, 0x01c03006, 0x00001900,
+ 0x534f4a1a, 0x00007500, 0xc1604001, 0x000000da, 0xc1604406, 0x000000d6,
+ 0x53524a1a, 0x00007500, 0xc1604001, 0x000000da, 0xc1604407, 0x000080d6,
+ 0x99b71ee3, 0x00001900, 0xe2031c66, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00010463, 0x00001583, 0x19c04060, 0x000067b0, 0x01400020, 0x000009b0,
+ 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0, 0x00005381, 0x0000f018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x047d9800, 0x0000f900,
+ 0x00026c26, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x53652213, 0x00007500, 0x82f81400, 0x0000803c, 0x01fbd77a, 0x00006100,
+ 0x04972867, 0x0000c200, 0x18000ce0, 0x00001283, 0x00005387, 0x00007013,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99771ee3, 0x00001900,
0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
- 0x81401800, 0x00006199, 0x41801800, 0x00004999, 0xc1401000, 0x00006199,
- 0x41400000, 0x00004999, 0x00005f2a, 0x00007030, 0x4cf843f0, 0x0000f100,
- 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00020466, 0x00001583, 0x18c04060, 0x0000e7b0, 0x01172880, 0x00008230,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00004d23, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04459800, 0x00007900,
- 0x001ce9f2, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x4d0c20b1, 0x00007500, 0x03001002, 0x0000e100,
- 0x04972863, 0x00004200, 0x03c02004, 0x00009900, 0x00000080, 0x0000e582,
- 0x80001034, 0x0000a403, 0x99b71ee3, 0x00001950, 0xe2033c66, 0x0000a0d4,
- 0x00004aef, 0x00007038, 0xffffffff, 0x00007f97, 0x00020467, 0x00009583,
- 0x19404060, 0x0000e7b0, 0x01172880, 0x00008230, 0x01c00020, 0x000061b0,
- 0x01400000, 0x000049b0, 0x00004d26, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0445c800, 0x00007900, 0x000b44ee, 0x00000980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x4d2320b1, 0x0000f500, 0x03001002, 0x0000e100, 0x04972865, 0x00004200,
- 0x03c02004, 0x00009900, 0x4d2643f0, 0x0000f500, 0xc1604001, 0x000000da,
- 0xc1604406, 0x000000d6, 0x4d2943f0, 0x0000f500, 0xc1604001, 0x000000da,
- 0xc1604407, 0x000080d6, 0x99b71ee3, 0x00001900, 0xe2031c66, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x00010463, 0x00001583, 0x19c04060, 0x000067b0,
- 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0,
- 0x00004d58, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x047d9800, 0x0000f900, 0x00026c26, 0x00008980, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x4d3c20b1, 0x00007500, 0x82f81400, 0x00008030,
- 0x03fbd77a, 0x0000e100, 0x04972867, 0x0000c200, 0x18000ce0, 0x00001283,
- 0x00004d5e, 0x0000f013, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0x01400020, 0x0000e1b0, 0x01c02000, 0x000049b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00005384, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04688000, 0x00007900, 0x001c3d54, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x53812213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x04a31c63, 0x00009900, 0x53844a1a, 0x0000f500,
+ 0xc1604001, 0x000000da, 0xc160340a, 0x000080d6, 0x53874a1a, 0x0000f500,
+ 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6, 0x53882269, 0x00007100,
+ 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00005367, 0x0000f00b,
+ 0x538c4ace, 0x0000f100, 0x00004eac, 0x00007200, 0x18c00000, 0x00009981,
+ 0x001848ec, 0x0000d780, 0x00004001, 0x00008080, 0x18800001, 0x00006180,
+ 0x18000000, 0x00004980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x00232062, 0x0000e102, 0x04135060, 0x0000b187, 0xc0000034, 0x0000e407,
+ 0xb000002b, 0x0000b407, 0x00004ba2, 0x0000f400, 0x703b10ec, 0x00005600,
+ 0x003b0000, 0x00008000, 0x1a403800, 0x00001981, 0xd840272b, 0x0000e283,
+ 0x22000888, 0x00000380, 0x19880033, 0x00006080, 0xe0001810, 0x00002403,
+ 0x22c80033, 0x00006080, 0x2341a034, 0x00000900, 0x000053a6, 0x0000f208,
+ 0x22020088, 0x00009380, 0x0000b866, 0x00001502, 0x000053bd, 0x0000706b,
+ 0x00033032, 0x00006502, 0x8000002b, 0x00002401, 0x99c00000, 0x0000e1f0,
+ 0xa000002b, 0x00006401, 0x0c419032, 0x0000e170, 0x8e51722e, 0x0000c970,
+ 0x00004bd3, 0x0000f058, 0xc011732e, 0x00006502, 0xa511722e, 0x00000900,
+ 0xcb91722e, 0x0000e100, 0x99c00800, 0x00004990, 0xffffffff, 0x00007f86,
+ 0x10633888, 0x0000e800, 0x6c808f7a, 0x0000f88b, 0xaa800000, 0x0000258e,
+ 0x19c02f7d, 0x00001781, 0x00000467, 0x00001583, 0x00004bc2, 0x0000f00b,
+ 0x53b94aa5, 0x00007100, 0x1980c066, 0x00001100, 0x18402066, 0x00001182,
+ 0x000053d8, 0x0000706b, 0x53bd4aa5, 0x0000f100, 0x98c00ee3, 0x00006080,
+ 0xa000002b, 0x00006401, 0xddbb3063, 0x00002004, 0x22008088, 0x00009380,
+ 0xffffffff, 0x00007f97, 0x19400866, 0x00009080, 0xddbb2863, 0x0000a804,
+ 0x00000065, 0x00009582, 0xddbb3063, 0x0000280c, 0x00001513, 0x0000f894,
+ 0x00000000, 0x00000000, 0xf300002f, 0x0000788a, 0x02800001, 0x00008060,
+ 0x6c808f7a, 0x0000f88b, 0xaa800000, 0x0000258e, 0x82c180ec, 0x0000f902,
+ 0x05800000, 0x00000604, 0x19fff82f, 0x00007900, 0x0000fffe, 0x00008280,
+ 0x05800000, 0x0000e180, 0xb000082b, 0x00006401, 0x04d00013, 0x00006380,
+ 0x59000d64, 0x00008181, 0x0c018067, 0x0000e000, 0x00017816, 0x00002302,
+ 0x6c808f7a, 0x0000f88b, 0xaa800000, 0x0000258e, 0x0000b818, 0x00001502,
+ 0xdf9318ec, 0x0000a08e, 0x000053bc, 0x00007011, 0xffffffff, 0x00007f86,
+ 0x18400c63, 0x00001283, 0x000053f7, 0x0000f00b, 0xdfbb38ec, 0x00002084,
+ 0x19a807e4, 0x00009800, 0xffffffff, 0x00007f97, 0x18c33866, 0x00001300,
+ 0x19c00067, 0x0000f900, 0x003fc000, 0x00000280, 0x198f2863, 0x00001200,
+ 0x18c33067, 0x00001300, 0xdfbb18ec, 0x00002884, 0x00c002ec, 0x0000df80,
+ 0x151f480b, 0x00001684, 0xdf9330ec, 0x00002086, 0xffffffff, 0x00007fa7,
+ 0x06000c66, 0x00009283, 0x18400800, 0x00007908, 0x00040000, 0x00000980,
+ 0x08001a67, 0x0000690e, 0x000053de, 0x00007010, 0x04133861, 0x0000e901,
+ 0x803b0aec, 0x0000d600, 0x00081000, 0x00008080, 0x800332ec, 0x0000f902,
+ 0x19c00000, 0x00008600, 0xffffffff, 0x00007fa7, 0x06033066, 0x00009900,
+ 0x00030018, 0x00001502, 0x06005002, 0x000019e8, 0xc6280500, 0x00001968,
+ 0x00004bc4, 0x00007060, 0x710010ec, 0x0000d680, 0x0038c000, 0x00008000,
+ 0xdfbb18ec, 0x0000a084, 0xffffffff, 0x00007fa7, 0x19800063, 0x0000f900,
+ 0x00004000, 0x00000380, 0xdfbb30ec, 0x00002884, 0x00c002ec, 0x0000df80,
+ 0x1540200b, 0x00009684, 0xdfbb38ec, 0x00002084, 0x18400800, 0x0000f900,
+ 0x00040000, 0x00000980, 0x08001a66, 0x00006906, 0x04133061, 0x00006901,
+ 0x18fff867, 0x0000f900, 0x003fbffe, 0x00000280, 0xdfbb18ec, 0x00002884,
+ 0x803b0aec, 0x0000d600, 0x00081000, 0x00008080, 0x800332ec, 0x0000f902,
+ 0x19c00000, 0x00008600, 0x18400002, 0x00006180, 0x19cb1963, 0x00004900,
+ 0xffffffff, 0x00007f97, 0x00000067, 0x0000e582, 0x06033066, 0x00000900,
+ 0x00005c03, 0x0000700b, 0x19833867, 0x00001b00, 0x18c337e4, 0x0000e000,
+ 0x04133061, 0x00006187, 0x198318e5, 0x00009400, 0x770000ec, 0x00005680,
+ 0x003b0800, 0x00000000, 0x19c33067, 0x00001200, 0x00c00067, 0x0000f88b,
+ 0xb2c00000, 0x00002a80, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00020466, 0x00001583, 0x01c00020, 0x000061b0, 0x03c02000, 0x0000c9b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x00004d5b, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04688000, 0x00007900,
- 0x001c3d54, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x4d5820b1, 0x0000f500, 0x82f81400, 0x00008030, 0x04a31c63, 0x00009900,
- 0x4d5b43f0, 0x0000f500, 0xc1604001, 0x000000da, 0xc160340a, 0x000080d6,
- 0x4d5e43f0, 0x0000f500, 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6,
- 0x4d5f2108, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
- 0x00004d3e, 0x0000f00b, 0x4d6344a4, 0x0000f100, 0x00004882, 0x00007200,
- 0x18c00000, 0x00009981, 0x001848ec, 0x0000d780, 0x00004001, 0x00008080,
- 0x18800001, 0x00006180, 0x18000000, 0x00004980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x00232062, 0x0000e102, 0x04135060, 0x0000b187,
- 0xc0000034, 0x0000e407, 0xb000002b, 0x0000b407, 0x00004578, 0x0000f400,
- 0x703b10ec, 0x00005600, 0x003b0000, 0x00008000, 0x1a403800, 0x00001981,
- 0xd840272b, 0x0000e283, 0x22000888, 0x00000380, 0x19880033, 0x00006080,
- 0xe0001810, 0x00002403, 0x22c80033, 0x00006080, 0x2341a034, 0x00000900,
- 0x00004d7d, 0x0000f208, 0x22020088, 0x00009380, 0x0000b866, 0x00001502,
- 0x00004d94, 0x0000f06b, 0x00033032, 0x00006502, 0x8000002b, 0x00002401,
- 0x99c00000, 0x0000e1f0, 0xa000002b, 0x00006401, 0x0c419032, 0x0000e170,
- 0x8e51722e, 0x0000c970, 0x000045a9, 0x0000f058, 0xc011732e, 0x00006502,
- 0xa511722e, 0x00000900, 0xcb91722e, 0x0000e100, 0x99c00800, 0x00004990,
- 0xffffffff, 0x00007f86, 0x10633888, 0x0000e800, 0xe2408f7a, 0x0000f88b,
- 0x5a400000, 0x0000a28d, 0x19c02f7d, 0x00001781, 0x00000467, 0x00001583,
- 0x00004598, 0x0000700b, 0x4d90447b, 0x00007100, 0x1980c066, 0x00001100,
- 0x18402066, 0x00001182, 0x00004daf, 0x0000706b, 0x4d94447b, 0x0000f100,
- 0x98c00ee3, 0x00006080, 0xa000002b, 0x00006401, 0xddbb3063, 0x00002004,
- 0x22008088, 0x00009380, 0xffffffff, 0x00007f97, 0x19400866, 0x00009080,
- 0xddbb2863, 0x0000a804, 0x00000065, 0x00009582, 0xddbb3063, 0x0000280c,
- 0x00001513, 0x0000f894, 0x00000000, 0x00000000, 0x68c0002f, 0x0000788b,
- 0x02400001, 0x00008060, 0xe2408f7a, 0x0000f88b, 0x5a400000, 0x0000a28d,
- 0x82c180ec, 0x0000f902, 0x05800000, 0x00000604, 0x19fff82f, 0x00007900,
- 0x0000fffe, 0x00008280, 0x05800000, 0x0000e180, 0xb000082b, 0x00006401,
- 0x04d00013, 0x00006380, 0x59000d64, 0x00008181, 0x0c018067, 0x0000e000,
- 0x00017816, 0x00002302, 0xe2408f7a, 0x0000f88b, 0x5a400000, 0x0000a28d,
- 0x0000b818, 0x00001502, 0xdf9318ec, 0x0000a08e, 0x00004d93, 0x0000f011,
- 0xffffffff, 0x00007f86, 0x18400c63, 0x00001283, 0x00004dce, 0x0000f00b,
- 0xdfbb38ec, 0x00002084, 0x19a807e4, 0x00009800, 0xffffffff, 0x00007f97,
- 0x18c33866, 0x00001300, 0x19c00067, 0x0000f900, 0x003fc000, 0x00000280,
- 0x198f2863, 0x00001200, 0x18c33067, 0x00001300, 0xdfbb18ec, 0x00002884,
- 0x00c002ec, 0x0000df80, 0x14ce000b, 0x00009684, 0xdf9330ec, 0x00002086,
- 0xffffffff, 0x00007fa7, 0x06000c66, 0x00009283, 0x18400800, 0x00007908,
- 0x00040000, 0x00000980, 0x08001a67, 0x0000690e, 0x00004db5, 0x0000f010,
- 0x04133861, 0x0000e901, 0x803b0aec, 0x0000d600, 0x00081000, 0x00008080,
- 0x800332ec, 0x0000f902, 0x19c00000, 0x00008600, 0xffffffff, 0x00007fa7,
- 0x06033066, 0x00009900, 0x00030018, 0x00001502, 0x06005002, 0x000019e8,
- 0xc6280500, 0x00001968, 0x0000459a, 0x00007060, 0x710010ec, 0x0000d680,
- 0x0038c000, 0x00008000, 0xdfbb18ec, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x19800063, 0x0000f900, 0x00004000, 0x00000380, 0xdfbb30ec, 0x00002884,
- 0x00c002ec, 0x0000df80, 0x14ced80b, 0x00009684, 0xdfbb38ec, 0x00002084,
- 0x18400800, 0x0000f900, 0x00040000, 0x00000980, 0x08001a66, 0x00006906,
- 0x04133061, 0x00006901, 0x18fff867, 0x0000f900, 0x003fbffe, 0x00000280,
- 0xdfbb18ec, 0x00002884, 0x803b0aec, 0x0000d600, 0x00081000, 0x00008080,
- 0x800332ec, 0x0000f902, 0x19c00000, 0x00008600, 0x18400002, 0x00006180,
- 0x19cb1963, 0x00004900, 0xffffffff, 0x00007f97, 0x00000067, 0x0000e582,
- 0x06033066, 0x00000900, 0x000055d7, 0x0000700b, 0x19833867, 0x00001b00,
- 0x18c337e4, 0x0000e000, 0x04133061, 0x00006187, 0x198318e5, 0x00009400,
- 0x770000ec, 0x00005680, 0x003b0800, 0x00000000, 0x19c33067, 0x00001200,
- 0x75c00067, 0x0000788b, 0x6a800000, 0x0000a68f, 0x814010ec, 0x0000d684,
+ 0x02000000, 0x00007900, 0x0001e180, 0x00008980, 0x02400000, 0x00006180,
+ 0x10635808, 0x0000e000, 0x01000000, 0x0000e180, 0xd3635809, 0x0000e004,
+ 0x0d001c63, 0x00006006, 0x20a35808, 0x0000b000, 0x96635809, 0x00006001,
+ 0x00235804, 0x00003002, 0x22400000, 0x0000e180, 0x01c3c0e0, 0x00004980,
+ 0x02c00000, 0x000000f4, 0x41235808, 0x0000e000, 0xa6a35809, 0x00003001,
+ 0xd3635804, 0x0000e000, 0xc7235889, 0x0000b001, 0x82231807, 0x0000e004,
+ 0xc000180b, 0x0000b006, 0x22000000, 0x00006180, 0xa6a3580d, 0x0000e001,
+ 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
+ 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
+ 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec,
+ 0x01400000, 0x000000d8, 0x03000000, 0x000080f8, 0x03c00000, 0x00006180,
+ 0x82800a02, 0x0000c180, 0x99402302, 0x0000e780, 0xc2981302, 0x00000900,
+ 0x001808ec, 0x00005780, 0x00884880, 0x000082c8, 0x18400001, 0x00006180,
+ 0x18000000, 0x00004980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x00232061, 0x0000e102, 0x04135060, 0x0000b187, 0x703b08ec, 0x00005600,
+ 0x003b0000, 0x00008000, 0x00004cb2, 0x0000f400, 0x18007800, 0x0000e181,
+ 0x4513280e, 0x0000e107, 0x001848ec, 0x0000d780, 0x00004003, 0x00000080,
+ 0x02c00000, 0x000000f8, 0x99c02302, 0x00006780, 0x0000180b, 0x0000a106,
+ 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
+ 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006,
+ 0x4513380e, 0x00003107, 0x03000000, 0x00006180, 0x03c00004, 0x0000c980,
+ 0x02a01502, 0x00008028, 0x29c00c6b, 0x00007893, 0xfa400000, 0x0000aa80,
+ 0x04b9f812, 0x00007900, 0x003ffffe, 0x00008280, 0x2440a488, 0x00006000,
+ 0x00000011, 0x0000b403, 0x22c80033, 0x00006080, 0x2341a034, 0x00000900,
+ 0xa519732e, 0x00009900, 0x00001c88, 0x00007894, 0x00000000, 0x00000000,
+ 0xab40038a, 0x00007892, 0x02800001, 0x00008060, 0x16800466, 0x0000f88b,
+ 0x8a800000, 0x0000a684, 0x99771ee3, 0x00001900, 0xe2031c65, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583, 0x01972867, 0x00006230,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x000054c2, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04474800, 0x00007900, 0x0030ca04, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x548c2213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01c03006, 0x00006100, 0x0497283f, 0x00004200, 0x19c728e5, 0x00006100,
+ 0x19807f7a, 0x00004181, 0x00000c66, 0x00001583, 0x19800000, 0x00006198,
+ 0x09426066, 0x00006030, 0x00004c5e, 0x00007400, 0xffffffff, 0x00007f86,
+ 0xd3633088, 0x00006800, 0x1940162d, 0x0000e081, 0x0fc44468, 0x00006000,
+ 0x3841e465, 0x0000e081, 0x08044461, 0x00002000, 0xffffffff, 0x00007fc7,
+ 0x1b820300, 0x00007904, 0x1b020300, 0x0000f904, 0x19533266, 0x00009900,
+ 0x00037065, 0x00009502, 0xe29b0b61, 0x00006130, 0x10634088, 0x00006030,
+ 0x00230888, 0x0000e830, 0x000054d7, 0x00007018, 0xc0000361, 0x00001582,
+ 0x00036867, 0x00001502, 0xffffffff, 0x00007f86, 0x0000548c, 0x00007008,
+ 0x000054c4, 0x0000f028, 0x19c0406d, 0x0000e780, 0x99802302, 0x00008780,
+ 0x18800067, 0x0000f900, 0x00000200, 0x00000380, 0x2383786f, 0x0000e100,
+ 0x45133062, 0x0000e107, 0x1bc37865, 0x0000e002, 0x1983286e, 0x00000100,
+ 0x23fb776c, 0x00008908, 0x1b00006c, 0x00006084, 0x62636c6d, 0x00008901,
+ 0x00000066, 0x00006582, 0x19c31062, 0x00008900, 0x1b83286e, 0x0000e100,
+ 0x8b400e2d, 0x00008089, 0x19807f7a, 0x00009191, 0x00004c58, 0x00007008,
+ 0x00000c66, 0x0000e583, 0x18c0162d, 0x00000881, 0x19800000, 0x00006198,
+ 0x3841e463, 0x00004081, 0xffffffff, 0x00007fc7, 0x10037500, 0x00007904,
+ 0x10036500, 0x0000f904, 0x09426066, 0x0000e830, 0x00004c5e, 0x00007400,
+ 0xffffffff, 0x00007f86, 0xd3633088, 0x00006800, 0x54c449a5, 0x00007300,
+ 0x81401c09, 0x000080d6, 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583, 0x01972867, 0x00006230,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x00005513, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x044b4800, 0x00007900, 0x002e7532, 0x00008980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x54d72213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x01c03006, 0x00006100, 0x0497286d, 0x0000c200, 0x00036867, 0x00001502,
+ 0x0a026465, 0x00006820, 0x0000550b, 0x0000f029, 0x00000465, 0x00009583,
+ 0x98c04a6e, 0x00006790, 0x9953726e, 0x00000908, 0x000054e2, 0x00007009,
+ 0x2c3fc263, 0x0000f900, 0x0000003e, 0x00000680, 0x994588b0, 0x00009000,
+ 0x99537265, 0x00009000, 0x18c0406d, 0x00006780, 0x02c00000, 0x00000980,
+ 0x18800063, 0x00007900, 0x00000200, 0x00000380, 0x03800000, 0x0000e180,
+ 0x0000180b, 0x00006106, 0x98c02302, 0x0000e780, 0x0003100e, 0x00002206,
+ 0x223fe088, 0x00007900, 0x003ffffe, 0x00008280, 0x0218b000, 0x0000f900,
+ 0x0001e040, 0x00000980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x03401000, 0x0000f900, 0x0001c000, 0x00000980, 0xc000180b, 0x0000e006,
+ 0x4513180e, 0x0000b107, 0xa2bb7965, 0x00000838, 0x23fb776c, 0x00008908,
+ 0xa240036d, 0x000000b0, 0x03c00004, 0x0000e180, 0x82901202, 0x00004900,
+ 0x19000c64, 0x0000e181, 0xc2981302, 0x00000900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009808ec, 0x0000d780,
+ 0x00884880, 0x000082c8, 0x99937266, 0x0000e100, 0x8b400e2d, 0x00000081,
+ 0x1b820300, 0x00007904, 0x1b020300, 0x0000f904, 0x59002d64, 0x00006181,
+ 0xd8532b61, 0x00000100, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x0000549b, 0x00007200, 0xa2945265, 0x0000e000, 0xc0000088, 0x00002400,
+ 0x99771ee3, 0x00001900, 0xe2031c65, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020463, 0x00001583, 0x41405000, 0x00006199, 0x01401800, 0x0000c999,
+ 0x00005515, 0x0000f031, 0x551349a5, 0x00007100, 0x551549a5, 0x0000f300,
+ 0x81401c0b, 0x000000d6, 0x01972867, 0x00006200, 0x01400020, 0x00000980,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x044b4800, 0x00007900,
+ 0x002e7532, 0x00008980, 0x03400000, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x55232213, 0x0000f500, 0x03c01002, 0x0000e100,
+ 0x0497286d, 0x0000c200, 0x81401000, 0x00006180, 0x01c03006, 0x00004900,
+ 0xc011732e, 0x00006502, 0x99400000, 0x00000980, 0x99400800, 0x0000e190,
+ 0x0fc44463, 0x0000e000, 0x0c419032, 0x00006100, 0x1000009b, 0x0000e403,
+ 0x19632c63, 0x0000e301, 0x8e51722e, 0x00008900, 0xcb91722e, 0x0000e100,
+ 0x10632888, 0x0000e000, 0xe6c00000, 0x00001981, 0x0c80b817, 0x00006100,
+ 0x2440a488, 0x00006000, 0x8b990320, 0x00006100, 0x22c80060, 0x0000c080,
+ 0xa539a02e, 0x00000834, 0x00001c88, 0x00007894, 0x00000000, 0x00000000,
+ 0xab40038a, 0x00007892, 0x02800001, 0x00008060, 0x16800466, 0x0000f88b,
+ 0x8a800000, 0x0000a684, 0xc019032e, 0x00006502, 0x99400000, 0x00000980,
+ 0x99400800, 0x0000e190, 0x0fc44463, 0x0000e000, 0x85802614, 0x0000e283,
+ 0x1000009b, 0x00002403, 0x19632c63, 0x0000e301, 0x0000182b, 0x0000a415,
+ 0x10632888, 0x0000e000, 0x20000810, 0x0000b413, 0x0c40b817, 0x00006100,
+ 0xa0000888, 0x0000e410, 0x8e690020, 0x00008238, 0xe6e0fc1f, 0x00006111,
+ 0x1ac00800, 0x00004991, 0xe6c00000, 0x00009989, 0x60000812, 0x0000e402,
+ 0x00000811, 0x00003403, 0x05800000, 0x00007900, 0x00040000, 0x00000980,
+ 0x2440a488, 0x00006000, 0xb000002b, 0x0000b401, 0xc7d90320, 0x00006100,
+ 0xc0000812, 0x00006403, 0x0c810717, 0x0000023a, 0x04d00013, 0x00006380,
+ 0x59000d64, 0x00008181, 0x22c80060, 0x00006080, 0x2341a034, 0x00000900,
+ 0xa519732e, 0x00009900, 0x00001c88, 0x00007894, 0x00000000, 0x00000000,
+ 0xab40038a, 0x00007892, 0x02800001, 0x00008060, 0x16800466, 0x0000f88b,
+ 0x8a800000, 0x0000a684, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
+ 0xc019031f, 0x00001502, 0x98d8fb20, 0x0000e168, 0x8b18fb20, 0x00000168,
+ 0x9947fb2c, 0x0000e2e8, 0x9891aa35, 0x00008968, 0x00005d63, 0x00007060,
+ 0x99c80000, 0x0000e180, 0x1a000400, 0x00004980, 0x99d32a67, 0x00006100,
+ 0x1b320004, 0x00008980, 0x19402265, 0x0000e080, 0x9a280500, 0x0000c900,
+ 0x1980f865, 0x00006784, 0x75e80068, 0x0000a101, 0x18032838, 0x00006002,
+ 0xdb181302, 0x00000900, 0x1a433039, 0x0000e004, 0x1bc30060, 0x00000900,
+ 0x1ac40000, 0x0000f900, 0x000014c4, 0x00000980, 0x1b440000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0x80003a67, 0x00006582, 0x1b834869, 0x00008900,
+ 0xd807fb2c, 0x00009282, 0xffffffff, 0x00007f86, 0x00005d34, 0x0000f030,
+ 0x00005cf0, 0x00007008, 0x700400ec, 0x00005680, 0x003b44c4, 0x00008010,
+ 0x703b78ec, 0x0000d600, 0x003b4800, 0x00008000, 0x700400ec, 0x00005680,
+ 0x003b67c0, 0x00000078, 0x19800000, 0x000006d4, 0x1a400000, 0x00009981,
+ 0x00d802ec, 0x0000df80, 0x154c4009, 0x000093c4, 0x00000c69, 0x00001583,
+ 0x00005ce5, 0x0000f00b, 0x19c04000, 0x00009981, 0xc7233834, 0x0000e007,
+ 0x09821c65, 0x00003004, 0x19800c65, 0x00009180, 0x00001866, 0x00009582,
+ 0x00005d8d, 0x0000701b, 0x09821c63, 0x0000e804, 0x00004b99, 0x00007400,
+ 0x001848ec, 0x0000d780, 0x00004003, 0x00000080, 0xb6e3182b, 0x00006807,
+ 0x00021867, 0x00001502, 0x99b71ee3, 0x00001928, 0xe2031c66, 0x000020ac,
+ 0x00005764, 0x00007020, 0xffffffff, 0x00007f97, 0x00010463, 0x00001583,
+ 0x01972867, 0x00006230, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00005762, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x044f3000, 0x0000f900, 0x003d2486, 0x00008980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x55aa2213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x01c03006, 0x00006100, 0x04972843, 0x0000c200,
+ 0x19800c66, 0x00009183, 0x18400002, 0x00009990, 0xd8680500, 0x00009910,
+ 0x0000577a, 0x00007008, 0x770000ec, 0x00005680, 0x003b0800, 0x00000000,
+ 0x00c002ec, 0x0000df80, 0x149fa00b, 0x00001684, 0x0000c834, 0x0000e502,
+ 0x1a40c819, 0x00000900, 0x000056cd, 0x0000f06b, 0x19c02f7d, 0x00001781,
+ 0x00000467, 0x00001583, 0x000056b7, 0x0000700b, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x18400ce0, 0x00009283,
+ 0x000056b0, 0x0000f013, 0x19c80060, 0x00009180, 0x00033833, 0x00009502,
+ 0x00005647, 0x0000706b, 0x1983077d, 0x00009281, 0x00010466, 0x00001583,
+ 0x00020466, 0x00001583, 0xffffffff, 0x00007f86, 0x000055e2, 0x00007008,
+ 0x000055cf, 0x00007008, 0x0a03ec67, 0x00006880, 0xb9e02467, 0x0000c4b8,
+ 0xfaa00c67, 0x0000958f, 0xf6c00c67, 0x000041d0, 0x00a01467, 0x00008088,
+ 0x38201c67, 0x00004788, 0x1d800467, 0x00001d94, 0x81003c2c, 0x00007897,
+ 0x62800000, 0x00002b8e, 0x99b71ee3, 0x00001900, 0xe2033c66, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583, 0x19404060, 0x0000e7b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x0000569b, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04552800, 0x00007900, 0x003138e0, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x55e22213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01fbef7d, 0x00006100, 0x04972865, 0x00004200, 0x0e016463, 0x0000e804,
+ 0x00003c63, 0x00001583, 0x08016466, 0x00006814, 0x000055e8, 0x0000f009,
+ 0x00233463, 0x00009503, 0x0000569c, 0x0000700b, 0x0a03ec66, 0x00006080,
+ 0x08016467, 0x0000b004, 0x00003c67, 0x00006583, 0x19401c66, 0x00000281,
+ 0x18c01466, 0x0000e781, 0x19c00c67, 0x00008091, 0x99e31c63, 0x0000e100,
+ 0x0023382c, 0x0000e014, 0x00001465, 0x00001583, 0xd0233867, 0x0000a00c,
+ 0x000055fa, 0x0000f009, 0x00001c65, 0x00009583, 0xd0033867, 0x0000a00e,
+ 0x000055fa, 0x0000f009, 0x00000c65, 0x00001583, 0xd0233867, 0x00002094,
+ 0xffffffff, 0x00007fa7, 0xd0033867, 0x0000208e, 0x45801513, 0x00006283,
+ 0xb000082b, 0x0000a401, 0x82c180ec, 0x0000f902, 0x05800000, 0x00000604,
+ 0x05800000, 0x0000e180, 0x04d00013, 0x0000c380, 0x59000d64, 0x00009189,
+ 0xffffffff, 0x00007f86, 0x0c018267, 0x00006000, 0x00133816, 0x0000a302,
+ 0x22c80033, 0x00006080, 0x2341a034, 0x00000900, 0xc1001c88, 0x00004994,
+ 0x5aa0038a, 0x0000948d, 0x02c00000, 0x000000f8, 0x00000c6b, 0x00006583,
+ 0x0000180b, 0x0000a106, 0x99402302, 0x0000e780, 0xc000180b, 0x00002006,
+ 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
+ 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0x03000000, 0x00006180,
+ 0x4513280e, 0x0000e107, 0x00004ca7, 0x0000f410, 0x03c00004, 0x0000e180,
+ 0x82901202, 0x00004900, 0xc2981302, 0x00009900, 0x814010ec, 0x0000d684,
0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
0x00000002, 0x00008480, 0x02000000, 0x00007900, 0x0001e180, 0x00008980,
@@ -10604,2206 +11324,1694 @@ ARRAY_DECL u32 init_val[] = {
0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
0x26800000, 0x000089ec, 0x01400000, 0x000000d8, 0x03000000, 0x000080f8,
- 0x03c00000, 0x00006180, 0x82800a02, 0x0000c180, 0x99402302, 0x0000e780,
- 0xc2981302, 0x00000900, 0x001808ec, 0x00005780, 0x00884880, 0x000082c8,
- 0x18400001, 0x00006180, 0x18000000, 0x00004980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x00232061, 0x0000e102, 0x04135060, 0x0000b187,
- 0x703b08ec, 0x00005600, 0x003b0000, 0x00008000, 0x00004688, 0x0000f400,
- 0x18007800, 0x0000e181, 0x4513280e, 0x0000e107, 0x001848ec, 0x0000d780,
- 0x00004003, 0x00000080, 0x02c00000, 0x000000f8, 0x99c02302, 0x00006780,
- 0x0000180b, 0x0000a106, 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8,
- 0xc000180b, 0x0000e006, 0x4513380e, 0x00003107, 0x03000000, 0x00006180,
- 0x03c00004, 0x0000c980, 0x02a01502, 0x00008028, 0x9f400c6b, 0x00007893,
- 0xb2000000, 0x0000268f, 0x04b9f812, 0x00007900, 0x003ffffe, 0x00008280,
- 0x2440a488, 0x00006000, 0x00000011, 0x0000b403, 0x22c80033, 0x00006080,
- 0x2341a034, 0x00000900, 0xa519732e, 0x00009900, 0x00001c88, 0x00007894,
- 0x00000000, 0x00000000, 0x2100038a, 0x0000f893, 0x02400001, 0x00008060,
- 0x8c400466, 0x0000f88b, 0x3a400000, 0x0000a383, 0x99771ee3, 0x00001900,
- 0xe2031c65, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583,
- 0x01172867, 0x0000e230, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00004e99, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04474800, 0x00007900, 0x0030ca04, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x4e6320b1, 0x00007500,
- 0x82f81400, 0x00008030, 0x03c02004, 0x0000e100, 0x0497283f, 0x00004200,
- 0x19c728e5, 0x00006100, 0x19807f7a, 0x00004181, 0x00000c66, 0x00001583,
- 0x19800000, 0x00006198, 0x09426066, 0x00006030, 0x00004634, 0x00007400,
- 0xffffffff, 0x00007f86, 0xd3633088, 0x00006800, 0x1940162d, 0x0000e081,
- 0x0fc44468, 0x00006000, 0x3841e465, 0x0000e081, 0x08044461, 0x00002000,
- 0xffffffff, 0x00007fc7, 0x1b820300, 0x00007904, 0x1b020300, 0x0000f904,
- 0x19533266, 0x00009900, 0x00037065, 0x00009502, 0xe29b0b61, 0x00006130,
- 0x10634088, 0x00006030, 0x00230888, 0x0000e830, 0x00004eae, 0x00007018,
- 0xc0000361, 0x00001582, 0x00036867, 0x00001502, 0xffffffff, 0x00007f86,
- 0x00004e63, 0x00007008, 0x00004e9b, 0x00007028, 0x19c0406d, 0x0000e780,
- 0x99802302, 0x00008780, 0x18800067, 0x0000f900, 0x00000200, 0x00000380,
- 0x2383786f, 0x0000e100, 0x45133062, 0x0000e107, 0x1bc37865, 0x0000e002,
- 0x1983286e, 0x00000100, 0x23fb776c, 0x00008908, 0x1b00006c, 0x00006084,
- 0x62636c6d, 0x00008901, 0x00000066, 0x00006582, 0x19c31062, 0x00008900,
- 0x1b83286e, 0x0000e100, 0x8b400e2d, 0x00008089, 0x19807f7a, 0x00009191,
- 0x0000462e, 0x0000f008, 0x00000c66, 0x0000e583, 0x18c0162d, 0x00000881,
- 0x19800000, 0x00006198, 0x3841e463, 0x00004081, 0xffffffff, 0x00007fc7,
- 0x10037500, 0x00007904, 0x10036500, 0x0000f904, 0x09426066, 0x0000e830,
- 0x00004634, 0x00007400, 0xffffffff, 0x00007f86, 0xd3633088, 0x00006800,
- 0x4e9b437b, 0x0000f300, 0x81401c09, 0x000080d6, 0x99771ee3, 0x00001900,
- 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
- 0x01172867, 0x0000e230, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00004eea, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x044b4800, 0x00007900, 0x002e7532, 0x00008980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x4eae20b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03c02004, 0x0000e100, 0x0497286d, 0x0000c200,
- 0x00036867, 0x00001502, 0x0a026465, 0x00006820, 0x00004ee2, 0x00007029,
- 0x00000465, 0x00009583, 0x98c04a6e, 0x00006790, 0x9953726e, 0x00000908,
- 0x00004eb9, 0x00007009, 0x2c3fc263, 0x0000f900, 0x0000003e, 0x00000680,
- 0x994588b0, 0x00009000, 0x99537265, 0x00009000, 0x18c0406d, 0x00006780,
- 0x02c00000, 0x00000980, 0x18800063, 0x00007900, 0x00000200, 0x00000380,
- 0x03800000, 0x0000e180, 0x0000180b, 0x00006106, 0x98c02302, 0x0000e780,
- 0x0003100e, 0x00002206, 0x223fe088, 0x00007900, 0x003ffffe, 0x00008280,
- 0x0218b000, 0x0000f900, 0x0001e040, 0x00000980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0xc000180b, 0x0000e006, 0x4513180e, 0x0000b107, 0xa2bb7965, 0x00000838,
- 0x23fb776c, 0x00008908, 0xa240036d, 0x000000b0, 0x03c00004, 0x0000e180,
- 0x82901202, 0x00004900, 0x19000c64, 0x0000e181, 0xc2981302, 0x00000900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009808ec, 0x0000d780, 0x00884880, 0x000082c8, 0x99937266, 0x0000e100,
- 0x8b400e2d, 0x00000081, 0x1b820300, 0x00007904, 0x1b020300, 0x0000f904,
- 0x59002d64, 0x00006181, 0xd8532b61, 0x00000100, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x00004e72, 0x00007200, 0xa2945265, 0x0000e000,
- 0xc0000088, 0x00002400, 0x99771ee3, 0x00001900, 0xe2031c65, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583, 0x41405000, 0x00006199,
- 0x01401800, 0x0000c999, 0x00004eec, 0x0000f031, 0x4eea437b, 0x00007100,
- 0x4eec437b, 0x0000f300, 0x81401c0b, 0x000000d6, 0x01172867, 0x0000e200,
- 0x01c00020, 0x00008980, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x044b4800, 0x00007900, 0x002e7532, 0x00008980, 0x01400000, 0x00006180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x4efa20b1, 0x00007500,
- 0x03001002, 0x0000e100, 0x0497286d, 0x0000c200, 0x81c01000, 0x0000e180,
- 0x03c02004, 0x0000c900, 0xc011732e, 0x00006502, 0x99400000, 0x00000980,
- 0x99400800, 0x0000e190, 0x0fc44463, 0x0000e000, 0x0c419032, 0x00006100,
- 0x1000009b, 0x0000e403, 0x19632c63, 0x0000e301, 0x8e51722e, 0x00008900,
- 0xcb91722e, 0x0000e100, 0x10632888, 0x0000e000, 0xe6c00000, 0x00001981,
- 0x0c80b817, 0x00006100, 0x2440a488, 0x00006000, 0x8b990320, 0x00006100,
- 0x22c80060, 0x0000c080, 0xa539a02e, 0x00000834, 0x00001c88, 0x00007894,
- 0x00000000, 0x00000000, 0x2100038a, 0x0000f893, 0x02400001, 0x00008060,
- 0x8c400466, 0x0000f88b, 0x3a400000, 0x0000a383, 0xc019032e, 0x00006502,
- 0x99400000, 0x00000980, 0x99400800, 0x0000e190, 0x0fc44463, 0x0000e000,
- 0x85802614, 0x0000e283, 0x1000009b, 0x00002403, 0x19632c63, 0x0000e301,
- 0x0000182b, 0x0000a415, 0x10632888, 0x0000e000, 0x20000810, 0x0000b413,
- 0x0c40b817, 0x00006100, 0xa0000888, 0x0000e410, 0x8e690020, 0x00008238,
- 0xe6e0fc1f, 0x00006111, 0x1ac00800, 0x00004991, 0xe6c00000, 0x00009989,
+ 0x0000544b, 0x0000f400, 0x03c00000, 0x00006180, 0x82800a02, 0x0000c180,
+ 0xc2981302, 0x00009900, 0xd8400f2b, 0x0000e283, 0x0cc80060, 0x00008180,
+ 0x19c00800, 0x0000e188, 0x0f044067, 0x00006010, 0x22000888, 0x00006380,
+ 0xa000002b, 0x0000a401, 0x223df888, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x0b3e002c, 0x00007900, 0x003ffffe, 0x00008280, 0x61a33888, 0x0000e800,
+ 0x00030017, 0x00007872, 0x00000000, 0x00000000, 0x00001513, 0x0000f894,
+ 0x00000000, 0x00000000, 0x9700002f, 0x0000788b, 0x02800001, 0x00008060,
+ 0xb8030732, 0x0000c270, 0xd4b1c82e, 0x00009564, 0xe6600f2b, 0x0000488f,
+ 0x50600f2b, 0x00000596, 0x82c180ec, 0x0000f902, 0x05800000, 0x00000604,
+ 0x197ff82f, 0x0000f900, 0x0000fffe, 0x00008280, 0x05800000, 0x0000e180,
+ 0xb000082b, 0x00006401, 0x04d00013, 0x00006380, 0x59000d64, 0x00008181,
+ 0x0c018065, 0x00006000, 0x00017816, 0x00002302, 0xb8030732, 0x0000c270,
+ 0xd4b1c82e, 0x00009564, 0xa6400f2b, 0x00007897, 0x6a800000, 0x0000ab84,
+ 0xd8400f2b, 0x00001283, 0x22001088, 0x0000e388, 0x1000009b, 0x0000a40b,
+ 0x000055c0, 0x00007400, 0xcb91ca39, 0x00006108, 0xa511ca39, 0x00004908,
+ 0xe6c00000, 0x00009989, 0xc019032e, 0x00006502, 0x99800000, 0x00000980,
+ 0x99800800, 0x0000e190, 0x0fc44467, 0x00006000, 0x85802614, 0x0000e283,
+ 0x1000009b, 0x00002403, 0x19633467, 0x00006301, 0x0000182b, 0x0000a415,
+ 0x10632888, 0x0000e000, 0x20000810, 0x0000b413, 0x0c40b817, 0x00006100,
+ 0xa0000888, 0x0000e410, 0x8e410020, 0x00008912, 0xcb990320, 0x0000e100,
+ 0xe6e0fc1f, 0x00004911, 0xe6c00000, 0x0000e189, 0x1ac00800, 0x00004991,
0x60000812, 0x0000e402, 0x00000811, 0x00003403, 0x05800000, 0x00007900,
- 0x00040000, 0x00000980, 0x2440a488, 0x00006000, 0xb000002b, 0x0000b401,
- 0xc7d90320, 0x00006100, 0xc0000812, 0x00006403, 0x0c810717, 0x0000023a,
- 0x04d00013, 0x00006380, 0x59000d64, 0x00008181, 0x22c80060, 0x00006080,
- 0x2341a034, 0x00000900, 0xa519732e, 0x00009900, 0x00001c88, 0x00007894,
- 0x00000000, 0x00000000, 0x2100038a, 0x0000f893, 0x02400001, 0x00008060,
- 0x8c400466, 0x0000f88b, 0x3a400000, 0x0000a383, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
- 0x00000000, 0x00008080, 0xc019031f, 0x00001502, 0x98d8fb20, 0x0000e168,
- 0x8b18fb20, 0x00000168, 0x9947fb2c, 0x0000e2e8, 0x9891aa35, 0x00008968,
- 0x00005737, 0x0000f060, 0x99c80000, 0x0000e180, 0x1a000400, 0x00004980,
- 0x99d32a67, 0x00006100, 0x1b320004, 0x00008980, 0x19402265, 0x0000e080,
- 0x9a280500, 0x0000c900, 0x1980f865, 0x00006784, 0x75e80068, 0x0000a101,
- 0x18032838, 0x00006002, 0xdb181302, 0x00000900, 0x1a433039, 0x0000e004,
- 0x1bc30060, 0x00000900, 0x1ac40000, 0x0000f900, 0x000014c4, 0x00000980,
- 0x1b440000, 0x0000f900, 0x00007fc0, 0x00000980, 0x80003a67, 0x00006582,
- 0x1b834869, 0x00008900, 0xd807fb2c, 0x00009282, 0xffffffff, 0x00007f86,
- 0x00005708, 0x0000f030, 0x000056c4, 0x0000f008, 0x700400ec, 0x00005680,
- 0x003b44c4, 0x00008010, 0x703b78ec, 0x0000d600, 0x003b4800, 0x00008000,
- 0x700400ec, 0x00005680, 0x003b67c0, 0x00000078, 0x19800000, 0x000006d4,
- 0x1a400000, 0x00009981, 0x00d802ec, 0x0000df80, 0x14daf809, 0x000013c4,
- 0x00000c69, 0x00001583, 0x000056b9, 0x0000f00b, 0x19c04000, 0x00009981,
- 0xc7233834, 0x0000e007, 0x09821c65, 0x00003004, 0x19800c65, 0x00009180,
- 0x00001866, 0x00009582, 0x00005761, 0x0000f01b, 0x09821c63, 0x0000e804,
- 0x0000456f, 0x0000f400, 0x001848ec, 0x0000d780, 0x00004003, 0x00000080,
- 0xb6e3182b, 0x00006807, 0x00021867, 0x00001502, 0x99b71ee3, 0x00001928,
- 0xe2031c66, 0x000020ac, 0x0000513b, 0x00007020, 0xffffffff, 0x00007f97,
- 0x00010463, 0x00001583, 0x01172867, 0x0000e230, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x00005139, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x044f3000, 0x0000f900,
- 0x003d2486, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x4f8120b1, 0x0000f500, 0x82f81400, 0x00008030, 0x03c02004, 0x0000e100,
- 0x04972843, 0x0000c200, 0x19800c66, 0x00009183, 0x18400002, 0x00009990,
- 0xd8680500, 0x00009910, 0x00005151, 0x00007008, 0x770000ec, 0x00005680,
- 0x003b0800, 0x00000000, 0x00c002ec, 0x0000df80, 0x144e500b, 0x00001684,
- 0x0000c834, 0x0000e502, 0x1a40c819, 0x00000900, 0x000050a4, 0x0000f06b,
- 0x19c02f7d, 0x00001781, 0x00000467, 0x00001583, 0x0000508e, 0x0000700b,
+ 0x00040000, 0x00000980, 0xb000002b, 0x0000e401, 0xc0000812, 0x00003403,
+ 0x07f8bd20, 0x00000308, 0x000055c0, 0x00007400, 0x8b990320, 0x00006100,
+ 0x04d00013, 0x0000c380, 0x59000d64, 0x00001181, 0xc011732e, 0x00006502,
+ 0x99800000, 0x00000980, 0x99800800, 0x0000e190, 0x0fc44467, 0x00006000,
+ 0x0c419032, 0x00006100, 0x1000009b, 0x0000e403, 0x19633467, 0x00006301,
+ 0x8e51722e, 0x00008900, 0xa511722e, 0x0000e100, 0x10632888, 0x0000e000,
+ 0xe6c00000, 0x00006181, 0xcb91722e, 0x0000c900, 0x000055c0, 0x00007200,
+ 0x8bb8b820, 0x00000308, 0x569c4ab9, 0x00007100, 0x99f71ee3, 0x00009900,
+ 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00010465, 0x00001583,
+ 0x18c04060, 0x0000e7b0, 0x08016466, 0x0000a034, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x000056b5, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x046d7800, 0x0000f900, 0x0010c690, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x56b02213, 0x0000f500, 0x03c01002, 0x0000e100, 0x04972863, 0x00004200,
+ 0x01e33466, 0x00001900, 0x56b12269, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000468, 0x00001583, 0x000055bd, 0x0000700b, 0x56b54aba, 0x0000f100,
+ 0x56b749a5, 0x00007300, 0x81404c02, 0x000000d6, 0x19400f7d, 0x0000e281,
+ 0x18c00f7d, 0x00008781, 0x19401465, 0x0000e080, 0x19800c63, 0x00000180,
+ 0xc0000f7d, 0x0000e583, 0x19833065, 0x00008800, 0x19cbef7d, 0x0000e030,
+ 0x19cbe866, 0x00000018, 0x18400ce0, 0x00006283, 0x22000888, 0x00000380,
+ 0x23033867, 0x00006100, 0x22004088, 0x0000c380, 0x19c00000, 0x00006188,
+ 0x19800000, 0x00004989, 0x00004c61, 0x00007008, 0x56c72269, 0x0000f100,
+ 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x19a34468, 0x0000e109,
+ 0x19c00000, 0x00004988, 0x00004c61, 0x0000f009, 0x56cd4aba, 0x0000f100,
+ 0x5842052c, 0x00009283, 0x18c00002, 0x00006188, 0xe000082c, 0x0000e408,
+ 0x197ff835, 0x0000f908, 0x00000002, 0x00008280, 0x000056fa, 0x00007010,
+ 0x19832863, 0x00001100, 0x00027866, 0x00001582, 0x0d400035, 0x0000f930,
+ 0x003ffffc, 0x00000280, 0x98410614, 0x00001283, 0x99ff1fe3, 0x00001910,
+ 0x8a032a67, 0x00002090, 0x000057de, 0x0000f008, 0xffffffff, 0x00007f97,
+ 0x18c03c65, 0x00001281, 0x00001463, 0x00001583, 0x56df4aba, 0x0000710b,
+ 0x18801002, 0x00006100, 0x19803d1f, 0x00004781, 0x1943fd1f, 0x0000e281,
+ 0x0f41a867, 0x00002100, 0x98c3fd1f, 0x0000e280, 0xd89b1466, 0x00008300,
+ 0x19803000, 0x00009981, 0x37834263, 0x00007902, 0x18400000, 0x00000100,
+ 0xffffffff, 0x00007fa7, 0x00031061, 0x00001502, 0x000057d6, 0x00007013,
+ 0x00034019, 0x00001502, 0x98c04c65, 0x000018f0, 0x99933a63, 0x00001070,
+ 0x000057d6, 0x00007058, 0x37b9e666, 0x0000b138, 0x37f9f066, 0x0000b138,
+ 0x37fa0266, 0x00003138, 0x37fa1466, 0x0000b138, 0x37fa2666, 0x00003138,
+ 0x383a3066, 0x0000b138, 0x383a4266, 0x0000b138, 0x383a5466, 0x00003138,
+ 0x383a6666, 0x0000b138, 0x387a7066, 0x0000b138, 0x0d428035, 0x00001080,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0003004e, 0x00001502,
+ 0x000055b5, 0x0000f05b, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x18400ce0, 0x00009283, 0x00005087, 0x00007013, 0x19c80060, 0x00009180,
- 0x00033833, 0x00009502, 0x0000501e, 0x0000706b, 0x1983077d, 0x00009281,
- 0x00010466, 0x00001583, 0x00020466, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00004fb9, 0x00007008, 0x00004fa6, 0x0000f008, 0x0a03ec67, 0x00006880,
- 0xf4c02467, 0x0000c4b9, 0xa8800c67, 0x0000948b, 0x31a00c67, 0x0000c1d0,
- 0x00a01467, 0x00008088, 0x38201c67, 0x00004788, 0x1d800467, 0x00001d94,
- 0xf6c03c2c, 0x00007897, 0x1a400000, 0x0000288d, 0x99b71ee3, 0x00001900,
- 0xe2033c66, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
- 0x19404060, 0x0000e7b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00005072, 0x0000f018, 0x0412d800, 0x00007900,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x18400ce0, 0x00009283,
+ 0x000058e4, 0x0000f013, 0x0003004e, 0x00001502, 0x1841c42c, 0x00009283,
+ 0xffffffff, 0x00007f86, 0x0000582a, 0x00007008, 0x00005604, 0x0000f010,
+ 0x0d416465, 0x0000e004, 0x0f416467, 0x0000b004, 0x00232c67, 0x00001503,
+ 0x18c00c67, 0x00009091, 0x30e3182c, 0x0000e814, 0x00005810, 0x00007008,
+ 0xd8000f2b, 0x00009283, 0x22000888, 0x0000e388, 0x8000082b, 0x00002409,
+ 0x99c00ee3, 0x00006088, 0x22008088, 0x00004388, 0x000057d4, 0x0000f010,
+ 0xddbb3067, 0x0000a004, 0xffffffff, 0x00007fa7, 0x19400866, 0x00009080,
+ 0xddbb2867, 0x00002804, 0x00005604, 0x0000f400, 0x00000065, 0x00009582,
+ 0xddbb3067, 0x0000a80c, 0x98f71ee3, 0x00001900, 0xe2032c63, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x01972834, 0x00006230,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x0000574a, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04640800, 0x00007900, 0x002eb788, 0x00008980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x57352213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x01c03006, 0x00006100, 0x04972819, 0x0000c200, 0x00001466, 0x00001583,
+ 0x99771ee3, 0x00009910, 0xe2031c65, 0x0000a094, 0x0000574f, 0x00007008,
+ 0xffffffff, 0x00007f97, 0x00020463, 0x00001583, 0x19c04060, 0x000067b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x0000574c, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04789800, 0x0000f900, 0x002b9520, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x574a2213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01fbd77a, 0x00006100, 0x04972867, 0x0000c200, 0x574c49a5, 0x00007300,
+ 0x81400c07, 0x000080d6, 0x574f4a1a, 0x0000f500, 0xc1603001, 0x000080da,
+ 0xc1600407, 0x000000d6, 0x99b71ee3, 0x00001900, 0xe2032c66, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x18c04060, 0x0000e7b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x00005777, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04784000, 0x0000f900, 0x0007d89a, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x57622213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01fbd77a, 0x00006100, 0x04972863, 0x00004200, 0x576449a5, 0x00007300,
+ 0x81401c08, 0x000000d6, 0x19c04043, 0x0000e780, 0x99802302, 0x00008780,
+ 0x18800067, 0x0000f900, 0x00000200, 0x00000380, 0x22040088, 0x00006380,
+ 0x45133062, 0x00002107, 0x00072862, 0x0000e502, 0x19800000, 0x00000981,
+ 0xe2804000, 0x00006180, 0x23820841, 0x0000c900, 0x23fa0742, 0x00008908,
+ 0xa253fb43, 0x00000902, 0x6423f97f, 0x00000902, 0x6413f37f, 0x00008906,
+ 0x6463f17e, 0x00000906, 0x647b137e, 0x0000861c, 0x19800800, 0x00009991,
+ 0x1b030033, 0x00007863, 0x1a800000, 0x00002683, 0x577a4a1a, 0x0000f500,
+ 0xc1604001, 0x000000da, 0xc1603409, 0x000080d6, 0x99f71ee3, 0x00009900,
+ 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
+ 0x01972819, 0x00006230, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x0000579f, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0463e800, 0x00007900, 0x003db776, 0x00008980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x578c2213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x01c8ff06, 0x0000010b, 0x99771ee3, 0x00001900,
+ 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00008466, 0x00001583,
+ 0x19c04060, 0x000067b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x000057a1, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0475c000, 0x0000f900, 0x000e45ae, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x579f2213, 0x0000f500,
+ 0x82f81400, 0x0000803c, 0x01fbd77a, 0x00006100, 0x04972867, 0x0000c200,
+ 0x57a149a5, 0x00007300, 0x81401c0c, 0x000080d6, 0x57a349a5, 0x0000f300,
+ 0x81404404, 0x000080d6, 0x99b71ee3, 0x00001900, 0xe2033c66, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583, 0x18c04060, 0x0000e7b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x000057c9, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04497000, 0x00007900, 0x001bc15c, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x57b62213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01fbd77a, 0x00006100, 0x04972863, 0x00004200, 0x98f71ee3, 0x00001900,
+ 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7, 0x00008465, 0x00001583,
+ 0x19804060, 0x0000e7b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x000057ca, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04506000, 0x00007900, 0x002171b2, 0x00008980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x57c92213, 0x0000f500,
+ 0x82f81400, 0x0000803c, 0x01fbd77a, 0x00006100, 0x04972866, 0x00004200,
+ 0x57ca4ab9, 0x0000f100, 0x57cc49a5, 0x0000f300, 0x81403c05, 0x000000d6,
+ 0x0d416465, 0x0000e004, 0x0f416463, 0x00003004, 0x00232c63, 0x00009503,
+ 0x000058d0, 0x0000700b, 0xd8000f2b, 0x00006283, 0x18c00c63, 0x00000081,
+ 0x30e3182c, 0x00006804, 0x000058c5, 0x00007009, 0x00005604, 0x0000f200,
+ 0xa000082b, 0x00006c01, 0x19800c66, 0x00009183, 0x18400002, 0x00009990,
+ 0xd8680500, 0x00009910, 0x000057eb, 0x0000f008, 0x770000ec, 0x00005680,
+ 0x003b0800, 0x00000000, 0x00c002ec, 0x0000df80, 0x1557300b, 0x00001684,
+ 0x18f00004, 0x0000e180, 0x184003c0, 0x0000c980, 0x98680500, 0x0000e100,
+ 0x04181063, 0x0000e187, 0x75e80061, 0x0000e901, 0x700280ec, 0x0000d680,
+ 0x003b0cc4, 0x00008010, 0x7039a8ec, 0x0000d600, 0x0039b000, 0x00008000,
+ 0x700280ec, 0x0000d680, 0x003b1fc0, 0x00000078, 0x00c002ec, 0x0000df80,
+ 0x1557c80b, 0x00009684, 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x01972819, 0x00006230,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x00005824, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0463e800, 0x00007900, 0x003db776, 0x00008980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x57fd2213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01c8ff06, 0x0000010b, 0x99f71ee3, 0x00009900, 0xe2031c67, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00008463, 0x00001583, 0x19404060, 0x0000e7b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x00005826, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0441f000, 0x00007900, 0x001fa24c, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x58102213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01fbd77a, 0x00006100, 0x04972865, 0x00004200, 0x98f71ee3, 0x00001900,
+ 0xe2033c63, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00008467, 0x00009583,
+ 0x19404033, 0x0000e7b0, 0x0f416466, 0x0000a034, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x00005828, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x046d8000, 0x00007900, 0x002930a6, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x58242213, 0x0000f500, 0x03c01002, 0x0000e100, 0x04972865, 0x00004200,
+ 0x01e33466, 0x00001900, 0x582649a5, 0x00007300, 0x81401c0c, 0x000080d6,
+ 0x582849a5, 0x0000f300, 0x81403406, 0x000080d6, 0x582a49a5, 0x00007300,
+ 0x81405401, 0x000000d6, 0x18fbef7d, 0x00006101, 0x19c02f7d, 0x00004781,
+ 0x00000467, 0x00001583, 0x1948004e, 0x00009190, 0x000058b6, 0x0000f009,
+ 0x00032833, 0x00001502, 0x00005870, 0x0000706b, 0x19c3077d, 0x00001281,
+ 0x00010467, 0x00009583, 0x00020467, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x00005853, 0x0000f008, 0x00005840, 0x00007008, 0x0a03ec65, 0x0000e880,
+ 0x08002465, 0x000044b9, 0x82a00c65, 0x0000168a, 0x22600c65, 0x000041d1,
+ 0x00a01465, 0x00000088, 0x15a01c65, 0x00004788, 0x0c400465, 0x00008c92,
+ 0x81003c2c, 0x00007897, 0x4a800000, 0x00002c89, 0x99771ee3, 0x00001900,
+ 0xe2033c65, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
+ 0x19804060, 0x0000e7b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x0000586d, 0x0000f018, 0x0412d800, 0x00007900,
0x0005a686, 0x00000980, 0x04552800, 0x00007900, 0x003138e0, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x4fb920b1, 0x00007500,
- 0x82f81400, 0x00008030, 0x03fbef7d, 0x0000e100, 0x04972865, 0x00004200,
- 0x0e016463, 0x0000e804, 0x00003c63, 0x00001583, 0x08016466, 0x00006814,
- 0x00004fbf, 0x0000f009, 0x00233463, 0x00009503, 0x00005073, 0x0000f00b,
- 0x0a03ec66, 0x00006080, 0x08016467, 0x0000b004, 0x00003c67, 0x00006583,
- 0x19401c66, 0x00000281, 0x18c01466, 0x0000e781, 0x19c00c67, 0x00008091,
- 0x99e31c63, 0x0000e100, 0x0023382c, 0x0000e014, 0x00001465, 0x00001583,
- 0xd0233867, 0x0000a00c, 0x00004fd1, 0x00007009, 0x00001c65, 0x00009583,
- 0xd0033867, 0x0000a00e, 0x00004fd1, 0x00007009, 0x00000c65, 0x00001583,
- 0xd0233867, 0x00002094, 0xffffffff, 0x00007fa7, 0xd0033867, 0x0000208e,
- 0x45801513, 0x00006283, 0xb000082b, 0x0000a401, 0x82c180ec, 0x0000f902,
- 0x05800000, 0x00000604, 0x05800000, 0x0000e180, 0x04d00013, 0x0000c380,
- 0x59000d64, 0x00009189, 0xffffffff, 0x00007f86, 0x0c018267, 0x00006000,
- 0x00133816, 0x0000a302, 0x22c80033, 0x00006080, 0x2341a034, 0x00000900,
- 0xfbe01c88, 0x00004995, 0x0880038a, 0x00009389, 0x02c00000, 0x000000f8,
- 0x00000c6b, 0x00006583, 0x0000180b, 0x0000a106, 0x99402302, 0x0000e780,
- 0xc000180b, 0x00002006, 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8,
- 0x03000000, 0x00006180, 0x4513280e, 0x0000e107, 0x0000467d, 0x00007410,
- 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0xc2981302, 0x00009900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02000000, 0x00007900,
- 0x0001e180, 0x00008980, 0x02400000, 0x00006180, 0x10635808, 0x0000e000,
- 0x01000000, 0x0000e180, 0xd3635809, 0x0000e004, 0x0d001c63, 0x00006006,
- 0x20a35808, 0x0000b000, 0x96635809, 0x00006001, 0x00235804, 0x00003002,
- 0x22400000, 0x0000e180, 0x01c3c0e0, 0x00004980, 0x02c00000, 0x000000f4,
- 0x41235808, 0x0000e000, 0xa6a35809, 0x00003001, 0xd3635804, 0x0000e000,
- 0xc7235889, 0x0000b001, 0x82231807, 0x0000e004, 0xc000180b, 0x0000b006,
- 0x22000000, 0x00006180, 0xa6a3580d, 0x0000e001, 0x22800000, 0x000088ec,
- 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc,
- 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x01400000, 0x000000d8,
- 0x03000000, 0x000080f8, 0x00004e22, 0x00007400, 0x03c00000, 0x00006180,
- 0x82800a02, 0x0000c180, 0xc2981302, 0x00009900, 0xd8400f2b, 0x0000e283,
- 0x0cc80060, 0x00008180, 0x19c00800, 0x0000e188, 0x0f044067, 0x00006010,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x58532213, 0x0000f500,
+ 0x82f81400, 0x0000803c, 0x01e31c63, 0x00006100, 0x04972866, 0x00004200,
+ 0x0e016463, 0x0000e804, 0x00003c63, 0x00001583, 0x08016465, 0x00006814,
+ 0x000055e8, 0x0000f009, 0x00232c63, 0x00009503, 0x99b71ee3, 0x00009908,
+ 0xe2031c66, 0x0000a08c, 0x000055e8, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x00010463, 0x00001583, 0x19404060, 0x0000e7b0, 0x08016467, 0x00002034,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x0000586e, 0x0000f018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x046d7800, 0x0000f900,
+ 0x0010c690, 0x00000980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x586d2213, 0x00007500, 0x03c01002, 0x0000e100,
+ 0x04972865, 0x00004200, 0x01e33c67, 0x00001900, 0x586e4ab9, 0x00007100,
+ 0x587049a5, 0x00007300, 0x81404c02, 0x000000d6, 0xd8400f2b, 0x0000e283,
+ 0x0cc8004e, 0x00008180, 0x19400800, 0x00006188, 0x0f044065, 0x0000e010,
0x22000888, 0x00006380, 0xa000002b, 0x0000a401, 0x223df888, 0x0000f900,
0x003ffffe, 0x00008280, 0x0b3e002c, 0x00007900, 0x003ffffe, 0x00008280,
- 0x61a33888, 0x0000e800, 0x00030017, 0x00007872, 0x00000000, 0x00000000,
- 0x00001513, 0x0000f894, 0x00000000, 0x00000000, 0x0cc0002f, 0x0000788a,
- 0x02800001, 0x00008060, 0xf2e30732, 0x00004271, 0x8291c82e, 0x00001460,
- 0xe6600f2b, 0x0000488f, 0x50600f2b, 0x00000596, 0x82c180ec, 0x0000f902,
- 0x05800000, 0x00000604, 0x197ff82f, 0x0000f900, 0x0000fffe, 0x00008280,
+ 0x61a32888, 0x00006800, 0x00027017, 0x00007872, 0x00000000, 0x00000000,
+ 0x00001513, 0x0000f894, 0x00000000, 0x00000000, 0x2140002f, 0x0000f88a,
+ 0x02c00001, 0x00000060, 0x06227732, 0x0000c271, 0x26b1c82e, 0x00001661,
+ 0x06800f2b, 0x0000c88e, 0x50800f2b, 0x00008596, 0x82c180ec, 0x0000f902,
+ 0x05800000, 0x00000604, 0x19bff82f, 0x0000f900, 0x0000fffe, 0x00008280,
0x05800000, 0x0000e180, 0xb000082b, 0x00006401, 0x04d00013, 0x00006380,
- 0x59000d64, 0x00008181, 0x0c018065, 0x00006000, 0x00017816, 0x00002302,
- 0xf2e30732, 0x00004271, 0x8291c82e, 0x00001460, 0x1c000f2b, 0x0000f896,
- 0x22800000, 0x00002883, 0xd8400f2b, 0x00001283, 0x22001088, 0x0000e388,
- 0x1000009b, 0x0000a40b, 0x00004f97, 0x00007400, 0xcb91ca39, 0x00006108,
+ 0x59000d64, 0x00008181, 0x0c018066, 0x00006000, 0x00017816, 0x00002302,
+ 0x06227732, 0x0000c271, 0x26b1c82e, 0x00001661, 0x30c00f2b, 0x00007896,
+ 0xbac00000, 0x0000ac85, 0xd8400f2b, 0x00001283, 0x22001088, 0x0000e388,
+ 0x1000009b, 0x0000a40b, 0x00005831, 0x00007400, 0xcb91ca39, 0x00006108,
0xa511ca39, 0x00004908, 0xe6c00000, 0x00009989, 0xc019032e, 0x00006502,
- 0x99800000, 0x00000980, 0x99800800, 0x0000e190, 0x0fc44467, 0x00006000,
- 0x85802614, 0x0000e283, 0x1000009b, 0x00002403, 0x19633467, 0x00006301,
- 0x0000182b, 0x0000a415, 0x10632888, 0x0000e000, 0x20000810, 0x0000b413,
+ 0x99c00000, 0x00008980, 0x99c00800, 0x00006190, 0x0fc44465, 0x0000e000,
+ 0x85802614, 0x0000e283, 0x1000009b, 0x00002403, 0x19a33c65, 0x00006301,
+ 0x0000182b, 0x0000a415, 0x10633088, 0x0000e000, 0x20000810, 0x0000b413,
0x0c40b817, 0x00006100, 0xa0000888, 0x0000e410, 0x8e410020, 0x00008912,
0xcb990320, 0x0000e100, 0xe6e0fc1f, 0x00004911, 0xe6c00000, 0x0000e189,
0x1ac00800, 0x00004991, 0x60000812, 0x0000e402, 0x00000811, 0x00003403,
0x05800000, 0x00007900, 0x00040000, 0x00000980, 0xb000002b, 0x0000e401,
- 0xc0000812, 0x00003403, 0x07f8bd20, 0x00000308, 0x00004f97, 0x00007400,
+ 0xc0000812, 0x00003403, 0x07f8bd20, 0x00000308, 0x00005831, 0x00007400,
0x8b990320, 0x00006100, 0x04d00013, 0x0000c380, 0x59000d64, 0x00001181,
- 0xc011732e, 0x00006502, 0x99800000, 0x00000980, 0x99800800, 0x0000e190,
- 0x0fc44467, 0x00006000, 0x0c419032, 0x00006100, 0x1000009b, 0x0000e403,
- 0x19633467, 0x00006301, 0x8e51722e, 0x00008900, 0xa511722e, 0x0000e100,
- 0x10632888, 0x0000e000, 0xe6c00000, 0x00006181, 0xcb91722e, 0x0000c900,
- 0x00004f97, 0x00007200, 0x8bb8b820, 0x00000308, 0x5073448f, 0x00007100,
- 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00010465, 0x00001583, 0x18c04060, 0x0000e7b0, 0x08016466, 0x0000a034,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x0000508c, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x046d7800, 0x0000f900,
- 0x0010c690, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x508720b1, 0x00007500, 0x03001002, 0x0000e100,
- 0x04972863, 0x00004200, 0x03e33466, 0x00009900, 0x50882108, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00004f94, 0x0000700b,
- 0x508c4490, 0x0000f100, 0x508e437b, 0x00007300, 0x81404c02, 0x000000d6,
- 0x19400f7d, 0x0000e281, 0x18c00f7d, 0x00008781, 0x19401465, 0x0000e080,
- 0x19800c63, 0x00000180, 0xc0000f7d, 0x0000e583, 0x19833065, 0x00008800,
- 0x19cbef7d, 0x0000e030, 0x19cbe866, 0x00000018, 0x18400ce0, 0x00006283,
- 0x22000888, 0x00000380, 0x23033867, 0x00006100, 0x22004088, 0x0000c380,
- 0x19c00000, 0x00006188, 0x19800000, 0x00004989, 0x00004637, 0x00007008,
- 0x509e2108, 0x00007100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
- 0x19a34468, 0x0000e109, 0x19c00000, 0x00004988, 0x00004637, 0x0000f009,
- 0x50a44490, 0x0000f100, 0x5842052c, 0x00009283, 0x18c00002, 0x00006188,
- 0xe000082c, 0x0000e408, 0x197ff835, 0x0000f908, 0x00000002, 0x00008280,
- 0x000050d1, 0x00007010, 0x19832863, 0x00001100, 0x00027866, 0x00001582,
- 0x0d400035, 0x0000f930, 0x003ffffc, 0x00000280, 0x98410614, 0x00001283,
- 0x99ff1fe3, 0x00001910, 0x8a032a67, 0x00002090, 0x000051b5, 0x00007008,
- 0xffffffff, 0x00007f97, 0x18c03c65, 0x00001281, 0x00001463, 0x00001583,
- 0x50b64490, 0x0000710b, 0x18801002, 0x00006100, 0x19803d1f, 0x00004781,
- 0x1943fd1f, 0x0000e281, 0x0f41a867, 0x00002100, 0x98c3fd1f, 0x0000e280,
- 0xd89b1466, 0x00008300, 0x19803000, 0x00009981, 0x37834263, 0x00007902,
- 0x18400000, 0x00000100, 0xffffffff, 0x00007fa7, 0x00031061, 0x00001502,
- 0x000051ad, 0x00007013, 0x00034019, 0x00001502, 0x98c04c65, 0x000018f0,
- 0x99933a63, 0x00001070, 0x000051ad, 0x00007058, 0x37b9e666, 0x0000b138,
- 0x37f9f066, 0x0000b138, 0x37fa0266, 0x00003138, 0x37fa1466, 0x0000b138,
- 0x37fa2666, 0x00003138, 0x383a3066, 0x0000b138, 0x383a4266, 0x0000b138,
- 0x383a5466, 0x00003138, 0x383a6666, 0x0000b138, 0x387a7066, 0x0000b138,
- 0x0d428035, 0x00001080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x0003004e, 0x00001502, 0x00004f8c, 0x0000705b, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x18400ce0, 0x00009283, 0x000052bb, 0x0000f013, 0x0003004e, 0x00001502,
- 0x1841c42c, 0x00009283, 0xffffffff, 0x00007f86, 0x00005201, 0x00007008,
- 0x00004fdb, 0x0000f010, 0x0d416465, 0x0000e004, 0x0f416467, 0x0000b004,
- 0x00232c67, 0x00001503, 0x18c00c67, 0x00009091, 0x30e3182c, 0x0000e814,
- 0x000051e7, 0x0000f008, 0xd8000f2b, 0x00009283, 0x22000888, 0x0000e388,
- 0x8000082b, 0x00002409, 0x99c00ee3, 0x00006088, 0x22008088, 0x00004388,
- 0x000051ab, 0x00007010, 0xddbb3067, 0x0000a004, 0xffffffff, 0x00007fa7,
- 0x19400866, 0x00009080, 0xddbb2867, 0x00002804, 0x00004fdb, 0x0000f400,
- 0x00000065, 0x00009582, 0xddbb3067, 0x0000a80c, 0x98f71ee3, 0x00001900,
- 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
- 0x01172834, 0x0000e230, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00005121, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04640800, 0x00007900, 0x002eb788, 0x00008980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x510c20b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03c02004, 0x0000e100, 0x04972819, 0x0000c200,
- 0x00001466, 0x00001583, 0x99771ee3, 0x00009910, 0xe2031c65, 0x0000a094,
- 0x00005126, 0x00007008, 0xffffffff, 0x00007f97, 0x00020463, 0x00001583,
- 0x19c04060, 0x000067b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00005123, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04789800, 0x0000f900, 0x002b9520, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x512120b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100, 0x04972867, 0x0000c200,
- 0x5123437b, 0x00007300, 0x81400c07, 0x000080d6, 0x512643f0, 0x00007500,
- 0xc1603001, 0x000080da, 0xc1600407, 0x000000d6, 0x99b71ee3, 0x00001900,
- 0xe2032c66, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
- 0x18c04060, 0x0000e7b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x0000514e, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04784000, 0x0000f900, 0x0007d89a, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x513920b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100, 0x04972863, 0x00004200,
- 0x513b437b, 0x00007300, 0x81401c08, 0x000000d6, 0x19c04043, 0x0000e780,
- 0x99802302, 0x00008780, 0x18800067, 0x0000f900, 0x00000200, 0x00000380,
- 0x22040088, 0x00006380, 0x45133062, 0x00002107, 0x00072862, 0x0000e502,
- 0x19800000, 0x00000981, 0xe2804000, 0x00006180, 0x23820841, 0x0000c900,
- 0x23fa0742, 0x00008908, 0xa253fb43, 0x00000902, 0x6423f97f, 0x00000902,
- 0x6413f37f, 0x00008906, 0x6463f17e, 0x00000906, 0x647b137e, 0x0000861c,
- 0x19800800, 0x00009991, 0x90c30033, 0x00007863, 0xca400000, 0x00002381,
- 0x515143f0, 0x00007500, 0xc1604001, 0x000000da, 0xc1603409, 0x000080d6,
- 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00020465, 0x00001583, 0x01172819, 0x0000e230, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x00005176, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0463e800, 0x00007900,
- 0x003db776, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x516320b1, 0x0000f500, 0x82f81400, 0x00008030, 0x03c8ff04, 0x0000010b,
- 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00008466, 0x00001583, 0x19c04060, 0x000067b0, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x00005178, 0x00007018,
+ 0x58b74aa5, 0x00007100, 0xc011732e, 0x00006502, 0x99c00000, 0x00008980,
+ 0x99c00800, 0x00006190, 0x0fc44465, 0x0000e000, 0x0c419032, 0x00006100,
+ 0x1000009b, 0x0000e403, 0x19a33c65, 0x00006301, 0x8e51722e, 0x00008900,
+ 0xa511722e, 0x0000e100, 0x10633088, 0x0000e000, 0xe6c00000, 0x00006181,
+ 0xcb91722e, 0x0000c900, 0x00005831, 0x00007200, 0x8bb8b820, 0x00000308,
+ 0x99400ee3, 0x00006080, 0x22000888, 0x0000c380, 0xddbb3865, 0x0000a004,
+ 0x22008088, 0x00006380, 0x8000082b, 0x0000a401, 0xffffffff, 0x00007f97,
+ 0x19800867, 0x00001080, 0xddbb3065, 0x0000a804, 0x00005604, 0x0000f400,
+ 0x00000066, 0x00009582, 0xddbb3865, 0x0000a80c, 0x99b71ee3, 0x00001900,
+ 0xe2033c66, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00010467, 0x00009583,
+ 0x18c04060, 0x0000e7b0, 0x0f416465, 0x0000a034, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x000058fc, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04550000, 0x00007900, 0x003c701e, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x58e42213, 0x0000f500, 0x03c01002, 0x0000e100, 0x04972863, 0x00004200,
+ 0x01e32c65, 0x00001900, 0x58e52269, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000468, 0x00001583, 0x0000570a, 0x0000f00b, 0x58e94aba, 0x00007100,
+ 0x99b71ee3, 0x00001900, 0xe2031c66, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00008463, 0x00001583, 0x19404060, 0x0000e7b0, 0x01400020, 0x000009b0,
+ 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0, 0x000058fe, 0x0000f018,
0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0475c000, 0x0000f900,
0x000e45ae, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x517620b1, 0x00007500, 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100,
- 0x04972867, 0x0000c200, 0x5178437b, 0x0000f300, 0x81401c0c, 0x000080d6,
- 0x517a437b, 0x00007300, 0x81404404, 0x000080d6, 0x99b71ee3, 0x00001900,
- 0xe2033c66, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
- 0x18c04060, 0x0000e7b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x000051a0, 0x00007018, 0x0412d800, 0x00007900,
+ 0x58fc2213, 0x0000f500, 0x82f81400, 0x0000803c, 0x01fbd77a, 0x00006100,
+ 0x04972865, 0x00004200, 0x58fe49a5, 0x00007300, 0x81405403, 0x000080d6,
+ 0x590049a5, 0x00007300, 0x81404404, 0x000080d6, 0x98f71ee3, 0x00001900,
+ 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
+ 0x19c04060, 0x000067b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00005926, 0x00007018, 0x0412d800, 0x00007900,
0x0005a686, 0x00000980, 0x04497000, 0x00007900, 0x001bc15c, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x518d20b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100, 0x04972863, 0x00004200,
- 0x98f71ee3, 0x00001900, 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00008465, 0x00001583, 0x19804060, 0x0000e7b0, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x000051a1, 0x0000f018,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x59132213, 0x0000f500,
+ 0x82f81400, 0x0000803c, 0x01fbd77a, 0x00006100, 0x04972867, 0x0000c200,
+ 0x99f71ee3, 0x00009900, 0xe2033467, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x00008466, 0x00001583, 0x18c04060, 0x0000e7b0, 0x01400020, 0x000009b0,
+ 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0, 0x00005927, 0x0000f018,
0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04506000, 0x00007900,
0x002171b2, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x51a020b1, 0x0000f500, 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100,
- 0x04972866, 0x00004200, 0x51a1448f, 0x0000f100, 0x51a3437b, 0x0000f300,
- 0x81403c05, 0x000000d6, 0x0d416465, 0x0000e004, 0x0f416463, 0x00003004,
- 0x00232c63, 0x00009503, 0x000052a7, 0x0000700b, 0xd8000f2b, 0x00006283,
- 0x18c00c63, 0x00000081, 0x30e3182c, 0x00006804, 0x0000529c, 0x00007009,
- 0x00004fdb, 0x0000f200, 0xa000082b, 0x00006c01, 0x19800c66, 0x00009183,
- 0x18400002, 0x00009990, 0xd8680500, 0x00009910, 0x000051c2, 0x00007008,
- 0x770000ec, 0x00005680, 0x003b0800, 0x00000000, 0x00c002ec, 0x0000df80,
- 0x1505e80b, 0x00009684, 0x18f00004, 0x0000e180, 0x184003c0, 0x0000c980,
- 0x98680500, 0x0000e100, 0x04181063, 0x0000e187, 0x75e80061, 0x0000e901,
- 0x700280ec, 0x0000d680, 0x003b0cc4, 0x00008010, 0x7039a8ec, 0x0000d600,
- 0x0039b000, 0x00008000, 0x700280ec, 0x0000d680, 0x003b1fc0, 0x00000078,
- 0x00c002ec, 0x0000df80, 0x1506800b, 0x00001684, 0x99f71ee3, 0x00009900,
- 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
- 0x01172819, 0x0000e230, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x000051fb, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0463e800, 0x00007900, 0x003db776, 0x00008980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x51d420b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03c8ff04, 0x0000010b, 0x99f71ee3, 0x00009900,
- 0xe2031c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00008463, 0x00001583,
- 0x19404060, 0x0000e7b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x000051fd, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0441f000, 0x00007900, 0x001fa24c, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x51e720b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100, 0x04972865, 0x00004200,
- 0x98f71ee3, 0x00001900, 0xe2033c63, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00008467, 0x00009583, 0x19404033, 0x0000e7b0, 0x0f416466, 0x0000a034,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x000051ff, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x046d8000, 0x00007900,
- 0x002930a6, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x51fb20b1, 0x00007500, 0x03001002, 0x0000e100,
- 0x04972865, 0x00004200, 0x03e33466, 0x00009900, 0x51fd437b, 0x00007300,
- 0x81401c0c, 0x000080d6, 0x51ff437b, 0x0000f300, 0x81403406, 0x000080d6,
- 0x5201437b, 0x00007300, 0x81405401, 0x000000d6, 0x18fbef7d, 0x00006101,
- 0x19c02f7d, 0x00004781, 0x00000467, 0x00001583, 0x1948004e, 0x00009190,
- 0x0000528d, 0x00007009, 0x00032833, 0x00001502, 0x00005247, 0x0000f06b,
- 0x19c3077d, 0x00001281, 0x00010467, 0x00009583, 0x00020467, 0x00009583,
- 0xffffffff, 0x00007f86, 0x0000522a, 0x00007008, 0x00005217, 0x0000f008,
- 0x0a03ec65, 0x0000e880, 0x42e02465, 0x0000c4b8, 0x30a00c65, 0x0000148e,
- 0x5d400c65, 0x0000c1d0, 0x00a01465, 0x00000088, 0x15a01c65, 0x00004788,
- 0x0c400465, 0x00008c92, 0xf6c03c2c, 0x00007897, 0x02400000, 0x0000a988,
- 0x99771ee3, 0x00001900, 0xe2033c65, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00020467, 0x00009583, 0x19804060, 0x0000e7b0, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x00005244, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04552800, 0x00007900,
- 0x003138e0, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x522a20b1, 0x00007500, 0x82f81400, 0x00008030, 0x03e31c63, 0x0000e100,
- 0x04972866, 0x00004200, 0x0e016463, 0x0000e804, 0x00003c63, 0x00001583,
- 0x08016465, 0x00006814, 0x00004fbf, 0x0000f009, 0x00232c63, 0x00009503,
- 0x99b71ee3, 0x00009908, 0xe2031c66, 0x0000a08c, 0x00004fbf, 0x00007010,
- 0xffffffff, 0x00007f97, 0x00010463, 0x00001583, 0x19404060, 0x0000e7b0,
- 0x08016467, 0x00002034, 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0,
- 0x00005245, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x046d7800, 0x0000f900, 0x0010c690, 0x00000980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x524420b1, 0x0000f500,
- 0x03001002, 0x0000e100, 0x04972865, 0x00004200, 0x03e33c67, 0x00009900,
- 0x5245448f, 0x0000f100, 0x5247437b, 0x0000f300, 0x81404c02, 0x000000d6,
- 0xd8400f2b, 0x0000e283, 0x0cc8004e, 0x00008180, 0x19400800, 0x00006188,
- 0x0f044065, 0x0000e010, 0x22000888, 0x00006380, 0xa000002b, 0x0000a401,
- 0x223df888, 0x0000f900, 0x003ffffe, 0x00008280, 0x0b3e002c, 0x00007900,
- 0x003ffffe, 0x00008280, 0x61a32888, 0x00006800, 0x00027017, 0x00007872,
- 0x00000000, 0x00000000, 0x00001513, 0x0000f894, 0x00000000, 0x00000000,
- 0x9700002f, 0x0000f88a, 0x02800001, 0x00008060, 0x41027732, 0x0000c270,
- 0xd4b1c82e, 0x00001464, 0x06800f2b, 0x0000c88e, 0x50800f2b, 0x00008596,
- 0x82c180ec, 0x0000f902, 0x05800000, 0x00000604, 0x19bff82f, 0x0000f900,
- 0x0000fffe, 0x00008280, 0x05800000, 0x0000e180, 0xb000082b, 0x00006401,
- 0x04d00013, 0x00006380, 0x59000d64, 0x00008181, 0x0c018066, 0x00006000,
- 0x00017816, 0x00002302, 0x41027732, 0x0000c270, 0xd4b1c82e, 0x00001464,
- 0xa6800f2b, 0x0000f896, 0x72800000, 0x00002984, 0xd8400f2b, 0x00001283,
- 0x22001088, 0x0000e388, 0x1000009b, 0x0000a40b, 0x00005208, 0x00007400,
- 0xcb91ca39, 0x00006108, 0xa511ca39, 0x00004908, 0xe6c00000, 0x00009989,
- 0xc019032e, 0x00006502, 0x99c00000, 0x00008980, 0x99c00800, 0x00006190,
- 0x0fc44465, 0x0000e000, 0x85802614, 0x0000e283, 0x1000009b, 0x00002403,
- 0x19a33c65, 0x00006301, 0x0000182b, 0x0000a415, 0x10633088, 0x0000e000,
- 0x20000810, 0x0000b413, 0x0c40b817, 0x00006100, 0xa0000888, 0x0000e410,
- 0x8e410020, 0x00008912, 0xcb990320, 0x0000e100, 0xe6e0fc1f, 0x00004911,
- 0xe6c00000, 0x0000e189, 0x1ac00800, 0x00004991, 0x60000812, 0x0000e402,
- 0x00000811, 0x00003403, 0x05800000, 0x00007900, 0x00040000, 0x00000980,
- 0xb000002b, 0x0000e401, 0xc0000812, 0x00003403, 0x07f8bd20, 0x00000308,
- 0x00005208, 0x00007400, 0x8b990320, 0x00006100, 0x04d00013, 0x0000c380,
- 0x59000d64, 0x00001181, 0x528e447b, 0x0000f100, 0xc011732e, 0x00006502,
- 0x99c00000, 0x00008980, 0x99c00800, 0x00006190, 0x0fc44465, 0x0000e000,
- 0x0c419032, 0x00006100, 0x1000009b, 0x0000e403, 0x19a33c65, 0x00006301,
- 0x8e51722e, 0x00008900, 0xa511722e, 0x0000e100, 0x10633088, 0x0000e000,
- 0xe6c00000, 0x00006181, 0xcb91722e, 0x0000c900, 0x00005208, 0x00007200,
- 0x8bb8b820, 0x00000308, 0x99400ee3, 0x00006080, 0x22000888, 0x0000c380,
- 0xddbb3865, 0x0000a004, 0x22008088, 0x00006380, 0x8000082b, 0x0000a401,
- 0xffffffff, 0x00007f97, 0x19800867, 0x00001080, 0xddbb3065, 0x0000a804,
- 0x00004fdb, 0x0000f400, 0x00000066, 0x00009582, 0xddbb3865, 0x0000a80c,
- 0x99b71ee3, 0x00001900, 0xe2033c66, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00010467, 0x00009583, 0x18c04060, 0x0000e7b0, 0x0f416465, 0x0000a034,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x000052d3, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04550000, 0x00007900,
- 0x003c701e, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x52bb20b1, 0x0000f500, 0x03001002, 0x0000e100,
- 0x04972863, 0x00004200, 0x03e32c65, 0x00009900, 0x52bc2108, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x000050e1, 0x0000700b,
- 0x52c04490, 0x0000f100, 0x99b71ee3, 0x00001900, 0xe2031c66, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x00008463, 0x00001583, 0x19404060, 0x0000e7b0,
- 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0,
- 0x000052d5, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0475c000, 0x0000f900, 0x000e45ae, 0x00000980, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x52d320b1, 0x00007500, 0x82f81400, 0x00008030,
- 0x03fbd77a, 0x0000e100, 0x04972865, 0x00004200, 0x52d5437b, 0x00007300,
- 0x81405403, 0x000080d6, 0x52d7437b, 0x0000f300, 0x81404404, 0x000080d6,
- 0x98f71ee3, 0x00001900, 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00020465, 0x00001583, 0x19c04060, 0x000067b0, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x000052fd, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04497000, 0x00007900,
- 0x001bc15c, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x52ea20b1, 0x00007500, 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100,
- 0x04972867, 0x0000c200, 0x99f71ee3, 0x00009900, 0xe2033467, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x00008466, 0x00001583, 0x18c04060, 0x0000e7b0,
- 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0,
- 0x000052fe, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04506000, 0x00007900, 0x002171b2, 0x00008980, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x52fd20b1, 0x00007500, 0x82f81400, 0x00008030,
- 0x03fbd77a, 0x0000e100, 0x04972863, 0x00004200, 0x52fe448f, 0x0000f100,
- 0x5300437b, 0x00007300, 0x81403c05, 0x000000d6, 0x0d416466, 0x0000e004,
- 0x0f416463, 0x00003004, 0x00233463, 0x00009503, 0x98f71ee3, 0x00009908,
- 0xe2032c63, 0x0000a08c, 0x000051a7, 0x00007010, 0xffffffff, 0x00007f97,
- 0x00010465, 0x00001583, 0x19c04060, 0x000067b0, 0x0f416466, 0x0000a034,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x0000532b, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04550000, 0x00007900,
- 0x003c701e, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x531820b1, 0x00007500, 0x03001002, 0x0000e100,
- 0x04972867, 0x0000c200, 0x03e33466, 0x00009900, 0x99771ee3, 0x00001900,
- 0xe2033c65, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00008467, 0x00009583,
- 0x19804060, 0x0000e7b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x0000532d, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0441f000, 0x00007900, 0x001fa24c, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x532b20b1, 0x00007500,
- 0x82f81400, 0x00008030, 0x03fbd77a, 0x0000e100, 0x04972866, 0x00004200,
- 0x532d437b, 0x00007300, 0x81405403, 0x000080d6, 0x532f437b, 0x0000f300,
- 0x81403406, 0x000080d6, 0x9a000000, 0x00006180, 0xc000006b, 0x00006406,
- 0x18d9ab35, 0x0000e100, 0x19800a35, 0x0000c180, 0x703b58ec, 0x00005600,
- 0x003b4000, 0x00000000, 0x00033063, 0x0000e502, 0x0e01d03a, 0x00008900,
- 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000, 0x703b68ec, 0x00005600,
- 0x003b6000, 0x00008000, 0x00005380, 0x00007208, 0x98c00b35, 0x00006090,
- 0x0e41d83b, 0x00000900, 0xcd400b35, 0x00009080, 0x19801a63, 0x00001880,
- 0x1c81b066, 0x00001002, 0x1bc00037, 0x00001084, 0x19800000, 0x000087c0,
- 0x1dc00000, 0x00009981, 0x0000e868, 0x0000e485, 0x0080406b, 0x00003586,
- 0x9a280500, 0x0000e100, 0x1b83786f, 0x00004900, 0x703b58ec, 0x00005600,
- 0x003b4000, 0x00000000, 0x1bc39072, 0x0000e100, 0x0000406d, 0x0000e586,
- 0x000048d3, 0x0000f400, 0x703b90ec, 0x0000d600, 0x003b7000, 0x00000000,
- 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0xd8c7fb2c, 0x00006282,
- 0xc000006b, 0x0000a406, 0x9a000000, 0x00006180, 0x98c02267, 0x00004890,
- 0x99bffa63, 0x0000f910, 0x00000002, 0x00008280, 0x00005331, 0x0000f008,
- 0x18c04000, 0x0000e180, 0x0013306b, 0x0000e106, 0x19933863, 0x0000e100,
- 0x9b402267, 0x00008880, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
- 0x1bc1b837, 0x0000e100, 0x99802266, 0x00004880, 0x703b80ec, 0x00005600,
- 0x003b7000, 0x00000000, 0x98fffa66, 0x00007900, 0x00000002, 0x00008280,
- 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x1b400c67, 0x00006081,
- 0x0013186b, 0x0000e106, 0x1b99ab35, 0x00006100, 0x0c034463, 0x00006084,
- 0x1c01d03a, 0x00006100, 0x18e31c6d, 0x0000c001, 0x18c00a35, 0x00006180,
- 0x04231868, 0x0000a085, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
- 0x0003186e, 0x00009502, 0x9b7ffa66, 0x0000f900, 0x00000002, 0x00008280,
- 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000, 0x0000537e, 0x0000f440,
- 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x18c00b35, 0x000060c8,
- 0x1981d83b, 0x00000900, 0xffffffff, 0x00007f86, 0x18c01863, 0x00009880,
- 0x1c831836, 0x00001002, 0x1bc00037, 0x00001084, 0x00005344, 0x00007200,
- 0x1dc00800, 0x00001981, 0x00005342, 0x00007200, 0x1be00737, 0x00008395,
- 0x99771ee3, 0x00006100, 0xb000002b, 0x0000e407, 0xe2033465, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x00008466, 0x00001583, 0x19c04060, 0x000067b0,
- 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0,
- 0x000053db, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0462b800, 0x0000f900, 0x002830e8, 0x00008980, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x539620b1, 0x00007500, 0x82f81400, 0x00008030,
- 0x03d90320, 0x0000e100, 0x04972867, 0x0000c200, 0x02000000, 0x0000e180,
- 0x99b35772, 0x0000c000, 0x03800000, 0x0000e180, 0xc7339008, 0x0000e007,
- 0x8039c0ec, 0x0000d700, 0x00384000, 0x00000000, 0x800000ec, 0x00005780,
- 0x00000000, 0x00008080, 0x803f28ec, 0x0000d700, 0x00000000, 0x00008080,
- 0x99c02302, 0x00006780, 0x98c06266, 0x00008080, 0xa2d31e62, 0x0000e000,
- 0x4513380e, 0x0000a107, 0x800338ec, 0x0000f902, 0x18c00000, 0x00008700,
- 0x02000000, 0x00007900, 0x0001e140, 0x00008980, 0x02400000, 0x00006180,
- 0x10739008, 0x0000e000, 0x03401000, 0x00006180, 0x20b39008, 0x0000e000,
- 0xd3739009, 0x0000e004, 0x41339008, 0x0000b000, 0x01000000, 0x0000e180,
- 0x8633900d, 0x0000e001, 0x80000e67, 0x00006583, 0x02c00000, 0x00000980,
- 0x96739009, 0x00006001, 0x82339008, 0x0000b000, 0x9673900d, 0x0000e001,
- 0x00339004, 0x00003002, 0x0000180b, 0x00006106, 0xa6b39009, 0x00003001,
- 0x92739008, 0x0000e000, 0xa6b3900d, 0x0000b001, 0xc3339004, 0x0000e000,
- 0xc000180b, 0x0000b006, 0x01400000, 0x00006180, 0x0197f840, 0x00004980,
- 0x01c00000, 0x000080f0, 0x00005575, 0x00007410, 0x03c00004, 0x0000e180,
- 0x82901202, 0x00004900, 0x028b5502, 0x0000082a, 0x1b833867, 0x00008618,
- 0x2c009467, 0x00009680, 0x99c588b0, 0x00001000, 0xe3033c67, 0x00002004,
- 0xffffffff, 0x00007fa7, 0x00000c67, 0x00009583, 0x1a2807e4, 0x00009808,
- 0x000053dd, 0x0000f011, 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000,
- 0xe33b3c63, 0x0000a084, 0xffffffff, 0x00007fa7, 0x1a034067, 0x00001300,
- 0xe33b4463, 0x00002884, 0x00c002ec, 0x0000df80, 0x151e980b, 0x00001684,
- 0xe3033c63, 0x0000a004, 0x98ff1fe3, 0x00001900, 0x8a031a63, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x18c03c63, 0x00001281, 0x00001463, 0x00001583,
- 0x000053c7, 0x0000f013, 0x53db44a4, 0x0000f100, 0x53dd43b0, 0x0000f300,
- 0x01802800, 0x00009981, 0x2c009466, 0x00001680, 0x98c588b0, 0x00009000,
- 0xe3000463, 0x0000d004, 0x00400800, 0x00000082, 0x99801c6e, 0x00006080,
- 0x1da3746e, 0x0000c901, 0x07836866, 0x0000f902, 0x1b000000, 0x00008100,
- 0x07835a66, 0x00007902, 0x1a000000, 0x00000100, 0x1ce3746e, 0x00009901,
- 0xffffffff, 0x00007f97, 0x198b586c, 0x00001100, 0x000b4066, 0x00001502,
- 0x19800000, 0x00009999, 0x0000556d, 0x0000f031, 0x2c00946e, 0x00009680,
- 0x98c588b0, 0x00009000, 0x9bc01263, 0x00006080, 0x9c801263, 0x00000080,
- 0x09035c71, 0x00006006, 0x0a035c63, 0x00003006, 0x19c00c63, 0x00001880,
- 0x99d33a6f, 0x00001000, 0xe33bc667, 0x00002084, 0xe304e467, 0x0000f902,
- 0x21c00000, 0x00008004, 0xffffffff, 0x00007f97, 0x1c23c463, 0x00001000,
- 0x00238870, 0x00001502, 0x0e843887, 0x0000e148, 0x1c03c078, 0x00004948,
- 0x0e44e09c, 0x00009948, 0x0000542c, 0x00007040, 0x00000c70, 0x00009583,
- 0xe37a0067, 0x0000b03c, 0xe37a1267, 0x0000b03c, 0x00005409, 0x00007030,
- 0xe37a2467, 0x0000b03c, 0xe37a3667, 0x0000b03c, 0xe3ba4067, 0x0000303c,
- 0xe3ba5267, 0x0000303c, 0xe3ba6467, 0x0000303c, 0xe3ba7667, 0x0000303c,
- 0x1c63c478, 0x0000e100, 0x19c00c78, 0x00004081, 0x18e31c67, 0x00009001,
- 0x8623186b, 0x0000e807, 0x1dc00000, 0x0000e181, 0x18c0096b, 0x0000c080,
- 0x5ac31863, 0x00009900, 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000,
- 0xe3000463, 0x0000d004, 0x00400000, 0x00008082, 0x99c01c73, 0x00009880,
- 0x07bb6867, 0x00005100, 0x003b6000, 0x00008000, 0x07bb5a67, 0x0000d100,
- 0x003b4000, 0x00000000, 0x07438667, 0x00002182, 0xe33b3c63, 0x0000a084,
- 0xe3000463, 0x00005084, 0x00400000, 0x00008000, 0x1a000002, 0x00001980,
- 0xffffffff, 0x00007f86, 0x00000067, 0x00001582, 0x0000547d, 0x0000f00b,
- 0x18c33867, 0x00001b00, 0x18c31fe4, 0x0000e000, 0x04131868, 0x00006187,
- 0x18c318e5, 0x00009400, 0x770000ec, 0x00005680, 0x003b4000, 0x00000000,
- 0x19c31867, 0x00001200, 0x84200067, 0x00004490, 0x82a00477, 0x00009592,
- 0x41000c66, 0x0000788b, 0x0a800000, 0x00002a84, 0x98c01c6e, 0x00006080,
- 0x19c0406d, 0x00004180, 0x0743ae63, 0x0000f902, 0x1bc00000, 0x00008100,
- 0x07043463, 0x0000f902, 0x21400000, 0x00000100, 0x07042663, 0x0000f902,
- 0x20c00000, 0x00000100, 0x07441263, 0x0000f902, 0x1ec00000, 0x00008100,
- 0x00037867, 0x00006502, 0x1c400000, 0x00008980, 0x077bcc63, 0x00002180,
- 0x00005567, 0x00007069, 0x0a035c67, 0x0000e006, 0x09035c63, 0x00003006,
- 0x00233c63, 0x00001503, 0x19c00000, 0x000019b1, 0x00005555, 0x00007019,
- 0x18c3786d, 0x00006100, 0x21f20004, 0x00008980, 0x27404063, 0x00006480,
- 0xa7e80500, 0x00004900, 0xe1d81302, 0x0000e100, 0x18c00a75, 0x00004180,
- 0x1d037863, 0x0000e200, 0xc724e86b, 0x00002007, 0x1d002074, 0x00006080,
- 0x9e93a275, 0x0000c100, 0x2c00946e, 0x00009680, 0x9d4588b0, 0x00001000,
- 0x1c03a086, 0x0000e002, 0x9d00229d, 0x00000880, 0x1e000000, 0x0000f900,
- 0x000010c4, 0x00008980, 0x27000000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x9d3ffa74, 0x00007900, 0x00000002, 0x00008280, 0x1dc00085, 0x0000e084,
- 0x0013a078, 0x0000a106, 0xe7f1a275, 0x00007900, 0x00000006, 0x00008080,
- 0x8014ea7a, 0x00006502, 0xa700229d, 0x00000880, 0x1d03b877, 0x00009900,
- 0x1d437863, 0x00001202, 0xffffffff, 0x00007f86, 0x000054e1, 0x00007028,
- 0x000054bd, 0x0000f008, 0x703bc0ec, 0x0000d600, 0x003cf800, 0x00008000,
- 0x703b80ec, 0x00005600, 0x003ba000, 0x00008000, 0x703ce0ec, 0x0000d600,
- 0x003c3800, 0x00008000, 0x00d802ec, 0x0000df80, 0x15433009, 0x000013c4,
- 0x00000071, 0x00006582, 0x09035c63, 0x0000a006, 0x1c037c63, 0x00006000,
- 0x8000006b, 0x0000a407, 0x98c01c76, 0x00001880, 0x000054ab, 0x0000f208,
- 0x077b8663, 0x0000a900, 0x1c000000, 0x00006181, 0x18c00c67, 0x0000c181,
- 0x19c01463, 0x00009881, 0x38420467, 0x00001081, 0x1be38470, 0x0000e100,
- 0x19e31871, 0x00004100, 0x0003386f, 0x00009502, 0x19c00c70, 0x000098a8,
- 0x1c000c70, 0x000060a9, 0x99d33a72, 0x00008028, 0x000054a7, 0x00007020,
- 0xe33bb467, 0x0000b03c, 0xe33ba667, 0x0000b03c, 0x00005471, 0x0000f403,
- 0x1003b500, 0x00007904, 0x1003a500, 0x0000f904, 0x00000477, 0x00009583,
- 0x00005541, 0x00007013, 0x00000c66, 0x00001583, 0x00005504, 0x0000f00b,
- 0x19800871, 0x0000e180, 0x2501c839, 0x00008900, 0x00001866, 0x00006582,
- 0x2541d03a, 0x00000900, 0x19c07c71, 0x0000e2b1, 0xb0000889, 0x00002431,
- 0xc7233834, 0x0000e037, 0xb6e3382b, 0x00003037, 0x00004536, 0x0000f230,
- 0xa4138270, 0x00001930, 0x18000ce0, 0x00001283, 0x000054ff, 0x0000f013,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99771ee3, 0x00001900,
- 0xe2031c65, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583,
- 0x01972871, 0x0000e230, 0x01c00020, 0x000089b0, 0x03c02000, 0x0000e1b0,
- 0x01400000, 0x000049b0, 0x000054fc, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04688000, 0x00007900, 0x001c3d54, 0x00000980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x54a720b1, 0x00007500,
- 0x82e00500, 0x0000802e, 0x04b81706, 0x00008030, 0x0a035c63, 0x0000e806,
- 0x18e31c70, 0x00009001, 0x0000540d, 0x00007200, 0x8623186b, 0x0000e807,
- 0xe3033e72, 0x0000a084, 0xe3020472, 0x0000f902, 0x0e800000, 0x00008004,
- 0xe3038e72, 0x00002087, 0xe37a0872, 0x0000a004, 0x00000c67, 0x00009583,
- 0xe37a1272, 0x0000303c, 0x0e420040, 0x00009900, 0x000054bb, 0x0000f230,
- 0xe37a0072, 0x0000a084, 0xe37a2472, 0x0000303c, 0xe37a3672, 0x0000303c,
- 0xe3ba4072, 0x0000b03c, 0xe3ba5272, 0x0000b03c, 0xe3ba6472, 0x0000b03c,
- 0xe3ba7672, 0x0000b03c, 0x000054a9, 0x0000f200, 0x18c00c67, 0x00001081,
- 0xa7c00000, 0x0000e180, 0xc0000078, 0x0000e406, 0x1d3c1f84, 0x00000700,
- 0x703bc0ec, 0x0000d600, 0x003cf800, 0x00008000, 0x703ba0ec, 0x0000d600,
- 0x003b8000, 0x00000000, 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000,
- 0x703ce0ec, 0x0000d600, 0x003c3800, 0x00008000, 0xe33c3663, 0x00005004,
- 0x003c2800, 0x00000000, 0x1c13ca79, 0x00006100, 0x18c00b79, 0x0000c180,
- 0x00031870, 0x00006502, 0x1d40346e, 0x00008880, 0x9dc00a79, 0x0000e0c8,
- 0x9dc00000, 0x000089c0, 0x98c01c6e, 0x00006080, 0x00804078, 0x0000e586,
- 0x073c2463, 0x00005100, 0x003c1800, 0x00000000, 0x0763bc63, 0x00002980,
- 0x18c01a77, 0x00006080, 0xa7e80500, 0x00004900, 0x1c041063, 0x00006002,
- 0xa7004000, 0x00008980, 0x18c01875, 0x0000e780, 0x9e53ba77, 0x00000900,
- 0xe7c39a63, 0x0000f900, 0x00000008, 0x00000080, 0x00005460, 0x0000f400,
- 0x703bc0ec, 0x0000d600, 0x003cf800, 0x00008000, 0x1d00007b, 0x00009084,
- 0x18c37863, 0x00006202, 0xc0000078, 0x00002406, 0xa7c00000, 0x0000e180,
- 0x98c0227a, 0x00004890, 0x98fffa63, 0x0000f910, 0x00000002, 0x00008280,
- 0x000054bf, 0x00007008, 0xa700227a, 0x0000e080, 0x00131878, 0x00006106,
- 0x18d3d09d, 0x00006100, 0x1d042084, 0x00000900, 0x703bc0ec, 0x0000d600,
- 0x003cf800, 0x00008000, 0x9e800a7a, 0x00006080, 0x98c02263, 0x00004880,
- 0x703b80ec, 0x00005600, 0x003bb800, 0x00008000, 0x9c3ffa63, 0x0000f900,
- 0x00000002, 0x00008280, 0x703ce0ec, 0x0000d600, 0x003c3800, 0x00008000,
- 0xe7dcfa7a, 0x00006000, 0x00138078, 0x00002106, 0x000054c0, 0x0000f400,
- 0xa73ffa63, 0x00007900, 0x00000002, 0x00008280, 0x1c041883, 0x00001900,
- 0x54ff43f0, 0x0000f500, 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6,
- 0x55002108, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
- 0x0000548d, 0x0000f00b, 0x550444a4, 0x00007100, 0x18c00ce0, 0x00001283,
- 0x0000554b, 0x00007013, 0x02c00000, 0x000000f8, 0x99802302, 0x0000e780,
- 0x0000180b, 0x0000a106, 0x23800000, 0x0000f900, 0x00100000, 0x00000980,
- 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0xc000180b, 0x0000e006, 0x4513300e, 0x0000b107, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23c00000, 0x000089c0,
- 0x24400000, 0x000009c8, 0x24c01800, 0x000089d0, 0x25400000, 0x000009d8,
- 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8, 0x26c00000, 0x000080f0,
- 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0xc2981302, 0x00009900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009010ec, 0x00005780, 0x00884880, 0x000082c8, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02c00000, 0x0000e180,
- 0x99d30e6a, 0x0000c000, 0x03800000, 0x0000e180, 0x0000180b, 0x00006106,
- 0x98c06267, 0x00006080, 0xc000180b, 0x00002006, 0x0218b000, 0x0000f900,
- 0x0001e140, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03401000, 0x0000f900, 0x0001c000, 0x00000980, 0x98403e61, 0x0000e181,
- 0x4513300e, 0x00002107, 0x23800000, 0x000088fc, 0x01000802, 0x0000e180,
- 0x01400000, 0x00004980, 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980,
- 0x03000000, 0x00006180, 0x03c00004, 0x0000c980, 0x00005481, 0x0000f400,
- 0x02a81402, 0x00008028, 0xa2d31e62, 0x0000e000, 0xe293526a, 0x00008900,
- 0x18c00800, 0x00001981, 0x19c00ce0, 0x00009283, 0x00005550, 0x00007013,
- 0x00000c63, 0x00001583, 0x81403000, 0x0000e189, 0x41804000, 0x00004989,
- 0xc1400800, 0x0000e189, 0x41405800, 0x00004989, 0x0000547f, 0x00007010,
- 0x554b43f0, 0x0000f100, 0x554c2108, 0x00007100, 0xffffffff, 0x00007f86,
- 0x00000468, 0x00001583, 0x00005506, 0x0000700b, 0x555044a4, 0x0000f100,
- 0x55512108, 0x00007100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
- 0x00005544, 0x0000700b, 0x555544a4, 0x0000f100, 0x0e7c3f9c, 0x00000328,
- 0xdc420078, 0x00008e86, 0x19c00800, 0x00009981, 0x0a035c63, 0x00006006,
- 0x09035c70, 0x0000b006, 0x1c231c70, 0x0000e100, 0x1d233c67, 0x00000900,
- 0x00038074, 0x00009502, 0x18e31c67, 0x00001048, 0x19c00c67, 0x000060c9,
- 0x18c00863, 0x000088c8, 0x0000543f, 0x0000f040, 0x98d31a72, 0x00001000,
- 0xe33ce463, 0x0000b03c, 0xe33cf663, 0x0000b03c, 0x00005558, 0x0000f403,
- 0x1004e500, 0x0000f904, 0x1004f500, 0x00007904, 0x55686344, 0x0000f004,
- 0x18cb596b, 0x00009900, 0x00036063, 0x00001502, 0x1dc00800, 0x00009989,
- 0x0000543a, 0x00007011, 0x00005410, 0x0000f000, 0x556e6344, 0x0000f004,
- 0x19cb4168, 0x00006100, 0x198b586c, 0x00004100, 0x000b4066, 0x00001502,
- 0x00005588, 0x0000f033, 0x19800000, 0x00009981, 0x000053ed, 0x00007200,
- 0x1da3746e, 0x00009901, 0x99ff1fe3, 0x00009900, 0x8a033267, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x18c03c66, 0x00001281, 0x00001463, 0x00001583,
- 0x1d41c038, 0x00009910, 0x000053da, 0x00007009, 0x557d62ac, 0x0000f004,
- 0x00000468, 0x00001583, 0x99c01c6e, 0x00001890, 0x07933267, 0x0000a112,
- 0x000053da, 0x0000f008, 0xffffffff, 0x00007f97, 0x18c04466, 0x00009283,
- 0x18c01800, 0x00006189, 0x9c000000, 0x0000c988, 0x19800000, 0x00001989,
- 0x000053e1, 0x00007010, 0x00005542, 0x0000f000, 0x00000067, 0x00001582,
- 0x19800800, 0x0000e191, 0x5a000000, 0x0000c990, 0x00005573, 0x00007011,
- 0x00005572, 0x0000f000, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x18000ce0, 0x00001283,
- 0x000055e6, 0x0000f013, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x99f71ee3, 0x00009900, 0xe2033467, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00020466, 0x00001583, 0x01c00020, 0x000061b0, 0x03c02000, 0x0000c9b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x000055b8, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04688000, 0x00007900,
- 0x001c3d54, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x55ad20b1, 0x0000f500, 0x82f81400, 0x00008030, 0x04a31c63, 0x00009900,
- 0x80003a76, 0x00009582, 0x000055eb, 0x0000f033, 0x0e433066, 0x0000e100,
- 0x18c00a75, 0x00004180, 0x0e39af70, 0x0000861a, 0x00031866, 0x00001502,
- 0x98c00000, 0x000061c0, 0x98c00b35, 0x000040c8, 0x000048d7, 0x00007400,
- 0xffffffff, 0x00007f86, 0xcd531a63, 0x00009900, 0x55bb43f0, 0x00007500,
- 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6, 0x18000ce0, 0x00001283,
- 0x000055e1, 0x00007013, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00020465, 0x00001583, 0x01c00020, 0x000061b0, 0x03c02000, 0x0000c9b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x000055de, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04688000, 0x00007900,
- 0x001c3d54, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x55d720b1, 0x00007500, 0x82f81400, 0x00008030, 0x04a31c63, 0x00009900,
- 0xdfbb38ec, 0x00002084, 0x00030018, 0x00001502, 0x0000459a, 0x0000f463,
- 0x18c00067, 0x00007900, 0x003fc000, 0x00000280, 0xdfbb18ec, 0x00002884,
- 0x55de447b, 0x00007100, 0x55e143f0, 0x00007500, 0xc1601803, 0x000000da,
- 0xc1600402, 0x000000d6, 0x55e22108, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000468, 0x00001583, 0x000055bd, 0x0000700b, 0x55e644a4, 0x00007100,
- 0x55e72108, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
- 0x00005593, 0x0000700b, 0x55eb44a4, 0x0000f100, 0x09821c77, 0x0000e804,
- 0x18e3bc77, 0x0000e100, 0x1d800c77, 0x00004180, 0x00001876, 0x00001582,
- 0x000057b2, 0x0000701b, 0x00133863, 0x00001502, 0x0ec33066, 0x00006150,
- 0x0e838070, 0x0000c950, 0x000048d8, 0x00007051, 0x000055af, 0x0000f000,
- 0xc0000f7d, 0x0000e583, 0x19400f7d, 0x00008281, 0x18c01465, 0x0000e080,
- 0x198bef7d, 0x00000030, 0x22004088, 0x00006380, 0x19400f7d, 0x00008781,
- 0x19400c65, 0x00009180, 0x18c32863, 0x00006000, 0x0b03d465, 0x00006002,
- 0x98c0a371, 0x0000e180, 0x198be863, 0x00008018, 0xd8632a63, 0x00009100,
- 0x99a32a63, 0x00006100, 0x23033066, 0x00008900, 0xc1a02c4c, 0x00004492,
- 0x1aa0172b, 0x0000958c, 0xc1b15166, 0x0000c918, 0x1aa00266, 0x0000158c,
- 0xffffffff, 0x00007f86, 0x0013304f, 0x00001502, 0xe000002c, 0x00006408,
- 0x9000002b, 0x0000b409, 0x0d000834, 0x00001088, 0x00004603, 0x0000f008,
- 0x01000ce0, 0x00009283, 0x00005646, 0x0000f013, 0x99f71ee3, 0x00009900,
- 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
- 0x18c04060, 0x0000e7b0, 0x0117284f, 0x00008230, 0x01c00020, 0x000061b0,
- 0x01400000, 0x000049b0, 0x00005644, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04402000, 0x00007900, 0x00211c22, 0x00000980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x562320b1, 0x0000f500, 0x03001002, 0x0000e100, 0x04972863, 0x00004200,
- 0x03c02004, 0x00009900, 0xd8408371, 0x00006180, 0x99808371, 0x00000180,
- 0xc5c02c4c, 0x0000c492, 0x5ca0172b, 0x0000158c, 0xc5d15166, 0x00004912,
- 0x5ca1867a, 0x00009594, 0xffffffff, 0x00007f86, 0x0013304f, 0x00001502,
- 0x13d3304f, 0x00006118, 0x1388004e, 0x00000098, 0x00004606, 0x0000f019,
- 0x01000ce0, 0x00009283, 0x000056b4, 0x00007013, 0x99f71ee3, 0x00009900,
- 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
- 0x18c04060, 0x0000e7b0, 0x0117284f, 0x00008230, 0x01c00020, 0x000061b0,
- 0x01400000, 0x000049b0, 0x000056b2, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x046bf800, 0x00007900, 0x00181dac, 0x00008980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x564420b1, 0x00007500, 0x03001002, 0x0000e100, 0x04972863, 0x00004200,
- 0x03c02004, 0x00009900, 0x5646437b, 0x0000f300, 0x81400c11, 0x000000d6,
- 0x56472108, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
- 0x0000560f, 0x0000700b, 0x564b4490, 0x00007100, 0xc0000f7d, 0x0000e583,
- 0x19400f7d, 0x00008281, 0x18c01465, 0x0000e080, 0x198bef7d, 0x00000030,
- 0x19400f7d, 0x0000e781, 0x22004088, 0x00000380, 0xd840a371, 0x0000e180,
- 0x19400c65, 0x00000180, 0x19432863, 0x00001800, 0x198be865, 0x00001018,
- 0xffffffff, 0x00007f86, 0x9980a371, 0x0000e180, 0x23033066, 0x00008900,
- 0xcc602c4c, 0x0000c492, 0xc6a0172b, 0x00001594, 0xcc715166, 0x00004912,
- 0xc6a1867a, 0x00009594, 0xffffffff, 0x00007f86, 0x0013304f, 0x00001502,
- 0x1388004e, 0x00006098, 0x9000082b, 0x00002419, 0x8b400000, 0x00006199,
- 0x13d3304f, 0x0000c118, 0x00004605, 0x00007018, 0x01000ce0, 0x00009283,
- 0x000056ad, 0x0000f013, 0x99f71ee3, 0x00009900, 0xe2031c67, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583, 0x19404060, 0x0000e7b0,
- 0x0117284f, 0x00008230, 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0,
- 0x000056ab, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0466f000, 0x00007900, 0x003c71aa, 0x00008980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x567920b1, 0x0000f500,
- 0x03001002, 0x0000e100, 0x04972865, 0x00004200, 0x03c02004, 0x00009900,
- 0x18c00f7d, 0x0000e281, 0x19400f7d, 0x00008781, 0x18c01463, 0x0000e080,
- 0x19400c65, 0x00000180, 0xc0000f7d, 0x0000e583, 0x19432863, 0x00008800,
- 0x198bef7d, 0x00006030, 0x198be865, 0x00008018, 0x22004088, 0x00009380,
- 0x1980344c, 0x0000e181, 0x23033066, 0x00008900, 0x00000c66, 0x00001583,
- 0xc100172b, 0x00001283, 0xffffffff, 0x00007f86, 0x00005689, 0x00007018,
- 0x0000569e, 0x0000f008, 0x01000ce0, 0x00009283, 0x000056a6, 0x00007013,
- 0x99f71ee3, 0x00009900, 0xe2031c67, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00020463, 0x00001583, 0x19404060, 0x0000e7b0, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x000056a4, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04756000, 0x0000f900,
- 0x001140fa, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x569e20b1, 0x0000f500, 0x82f81400, 0x00008030, 0x03e2644c, 0x0000e100,
- 0x04972865, 0x00004200, 0x8000064c, 0x0000e583, 0xe000002c, 0x00002400,
- 0x00004605, 0x0000f400, 0x0d000834, 0x00006080, 0x8b400800, 0x00000981,
- 0x8e526a4d, 0x00009910, 0x56a6437b, 0x00007300, 0x81400c0e, 0x000080d6,
- 0x56a72108, 0x00007100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
- 0x0000568b, 0x0000700b, 0x56ab4490, 0x0000f100, 0x56ad437b, 0x0000f300,
- 0x81400c0f, 0x000000d6, 0x56ae2108, 0x00007100, 0xffffffff, 0x00007f86,
- 0x00000468, 0x00001583, 0x00005665, 0x0000700b, 0x56b24490, 0x00007100,
- 0x56b4437b, 0x00007300, 0x81400c10, 0x000080d6, 0x56b52108, 0x00007100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00005630, 0x0000700b,
- 0x56b94490, 0x0000f100, 0x80003a63, 0x00001582, 0x000056e6, 0x00007033,
- 0x0e433066, 0x0000e100, 0x18c00a62, 0x00004180, 0x0e39af65, 0x0000061a,
- 0x00031866, 0x00001502, 0x98c00000, 0x000061c0, 0x98c00b35, 0x000040c8,
- 0x00004f61, 0x00007400, 0xffffffff, 0x00007f86, 0xcd531a63, 0x00009900,
- 0x9a000000, 0x00006180, 0xc000006b, 0x00006406, 0x1959ab35, 0x0000e100,
+ 0x59262213, 0x0000f500, 0x82f81400, 0x0000803c, 0x01fbd77a, 0x00006100,
+ 0x04972863, 0x00004200, 0x59274ab9, 0x00007100, 0x592949a5, 0x0000f300,
+ 0x81403c05, 0x000000d6, 0x0d416466, 0x0000e004, 0x0f416463, 0x00003004,
+ 0x00233463, 0x00009503, 0x98f71ee3, 0x00009908, 0xe2032c63, 0x0000a08c,
+ 0x000057d0, 0x00007010, 0xffffffff, 0x00007f97, 0x00010465, 0x00001583,
+ 0x19c04060, 0x000067b0, 0x0f416466, 0x0000a034, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x00005954, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04550000, 0x00007900, 0x003c701e, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x59412213, 0x00007500, 0x03c01002, 0x0000e100, 0x04972867, 0x0000c200,
+ 0x01e33466, 0x00001900, 0x99771ee3, 0x00001900, 0xe2033c65, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00008467, 0x00009583, 0x19804060, 0x0000e7b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x00005956, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0441f000, 0x00007900, 0x001fa24c, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x59542213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x01fbd77a, 0x00006100, 0x04972866, 0x00004200, 0x595649a5, 0x00007300,
+ 0x81405403, 0x000080d6, 0x595849a5, 0x0000f300, 0x81403406, 0x000080d6,
+ 0x9a000000, 0x00006180, 0xc000006b, 0x00006406, 0x18d9ab35, 0x0000e100,
0x19800a35, 0x0000c180, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
- 0x00033065, 0x0000e502, 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600,
+ 0x00033063, 0x0000e502, 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600,
0x0039d800, 0x00000000, 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000,
- 0x000056f0, 0x0000f208, 0x99400b35, 0x00006090, 0x0e41d83b, 0x00000900,
- 0xcd400b35, 0x00009080, 0x19801a65, 0x00001880, 0x1801b066, 0x00001002,
- 0x1bc00037, 0x00001084, 0x19800000, 0x000006d4, 0x1a400000, 0x00009981,
+ 0x000059aa, 0x0000f208, 0x98c00b35, 0x00006090, 0x0e41d83b, 0x00000900,
+ 0xcd400b35, 0x00009080, 0x19801a63, 0x00001880, 0x1c01b066, 0x00009002,
+ 0x1bc00037, 0x00001084, 0x19800000, 0x000007e0, 0x1dc00000, 0x00009981,
0x0000e868, 0x0000e485, 0x0080406b, 0x00003586, 0x9a280500, 0x0000e100,
0x1b83786f, 0x00004900, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
- 0x1bc30060, 0x0000e100, 0x0000406d, 0x0000e586, 0x00004f5d, 0x00007400,
- 0x703b00ec, 0x0000d600, 0x003b7000, 0x00000000, 0x703b68ec, 0x00005600,
- 0x003b6000, 0x00008000, 0x09821c69, 0x0000e804, 0x18e34c69, 0x0000e100,
- 0x1c000c69, 0x00004180, 0x00001870, 0x00001582, 0x000056f4, 0x0000701b,
- 0x00133863, 0x00001502, 0x0ec33066, 0x00006150, 0x0e832865, 0x0000c950,
- 0x00004f62, 0x00007051, 0x000056bb, 0x0000f000, 0x000056d7, 0x00007400,
- 0xcd400000, 0x00006180, 0x1801b036, 0x0000c900, 0x1bc1b837, 0x00009900,
- 0x18000ce0, 0x00001283, 0x00005746, 0x00007013, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
- 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x81401800, 0x00006199,
- 0x41801800, 0x00004999, 0xc1401000, 0x00006199, 0x41400000, 0x00004999,
- 0x0000573b, 0x0000f030, 0x570843f0, 0x0000f100, 0xd807fb2c, 0x00006282,
- 0xc000006b, 0x0000a406, 0x9a000000, 0x00006180, 0x99402267, 0x00004890,
- 0x99bffa65, 0x0000f910, 0x00000002, 0x00008280, 0x000056c6, 0x00007008,
- 0x19404000, 0x0000e180, 0x0013306b, 0x0000e106, 0x19933865, 0x0000e100,
- 0x18000c67, 0x00000881, 0x99802266, 0x00006080, 0x9b402267, 0x00004880,
- 0x997ffa66, 0x00007900, 0x00000002, 0x00008280, 0x703b58ec, 0x00005600,
- 0x003b4000, 0x00000000, 0x1a59ab35, 0x0000e100, 0x0013286b, 0x0000e106,
- 0x1c000a35, 0x0000e180, 0x0c034465, 0x0000a084, 0x703b78ec, 0x0000d600,
- 0x003b7000, 0x00000000, 0x00038069, 0x00006502, 0x19632c60, 0x00008001,
- 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x1bc1b837, 0x0000e100,
- 0x04232868, 0x00006085, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
- 0x9b7ffa66, 0x0000f900, 0x00000002, 0x00008280, 0x7039d0ec, 0x0000d600,
- 0x0039d800, 0x00000000, 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000,
- 0x00005735, 0x00007440, 0x1839d736, 0x00000614, 0x1c000b35, 0x0000e0c8,
- 0x1981d83b, 0x00000900, 0xffffffff, 0x00007f86, 0x1a401870, 0x00001880,
- 0x18034836, 0x00001002, 0x1bc00037, 0x00001084, 0x000056d9, 0x0000f200,
- 0x1a400800, 0x00001981, 0x0000456f, 0x0000f400, 0xb000002b, 0x00006c07,
- 0x001848ec, 0x0000d780, 0x00004003, 0x00000080, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04688000, 0x00007900, 0x001c3d54, 0x00000980, 0x03c00004, 0x000080d4,
- 0x82e00500, 0x0000802e, 0x574620b1, 0x00007500, 0x03034f02, 0x0000010b,
- 0x81c01000, 0x00009980, 0x57472108, 0x00007100, 0xffffffff, 0x00007f86,
- 0x00000468, 0x00001583, 0x000056f6, 0x0000700b, 0x574b44a4, 0x00007100,
- 0x01000ce0, 0x00009283, 0x00005783, 0x00007013, 0x99f71ee3, 0x00009900,
- 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
- 0x19804060, 0x0000e7b0, 0x0117284f, 0x00008230, 0x01c00020, 0x000061b0,
- 0x01400000, 0x000049b0, 0x00005781, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x046fc000, 0x00007900, 0x00220dce, 0x00008980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x576120b1, 0x00007500, 0x03001002, 0x0000e100, 0x04972866, 0x00004200,
- 0x03c02004, 0x00009900, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x18000ce0, 0x00001283,
- 0x000057ad, 0x00007013, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x99f71ee3, 0x00009900, 0xe2033467, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00020466, 0x00001583, 0x01c00020, 0x000061b0, 0x03c02000, 0x0000c9b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x000057aa, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04688000, 0x00007900,
- 0x001c3d54, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x578120b1, 0x0000f500, 0x82f81400, 0x00008030, 0x04a32c65, 0x00009900,
- 0x5783437b, 0x00007300, 0x81400c0d, 0x000080d6, 0x57842108, 0x00007100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x0000574d, 0x0000f00b,
- 0x57884490, 0x0000f100, 0x0d416467, 0x00006004, 0x0f416463, 0x00003004,
- 0x00233c63, 0x00001503, 0x19400c63, 0x00001091, 0x30e3282c, 0x0000e814,
- 0x000057c6, 0x0000f008, 0xd8000f2b, 0x00009283, 0x22000888, 0x0000e388,
- 0xa000082b, 0x0000a411, 0x98c00ee3, 0x0000e088, 0x22008088, 0x00004388,
- 0x0000579b, 0x00007010, 0xddbb3063, 0x00002004, 0x8000082b, 0x0000ec01,
- 0xffffffff, 0x00007f97, 0x19c00866, 0x00001080, 0xddbb3863, 0x00002804,
- 0x00000067, 0x00001582, 0xddbb3063, 0x0000280c, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x22c80033, 0x00006080, 0x2341a034, 0x00000900,
- 0xf4600ce0, 0x00004496, 0xbea01c88, 0x00009397, 0xf7c0038a, 0x00007893,
- 0x22400000, 0x00002684, 0x57a42108, 0x0000f100, 0xffffffff, 0x00007f86,
- 0xf5200468, 0x00004492, 0xbea01c88, 0x00009397, 0xf7c0038a, 0x00007893,
- 0x22400000, 0x00002684, 0x57aa4490, 0x0000f100, 0x57ad43f0, 0x00007500,
- 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6, 0x57ae2108, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00005767, 0x0000700b,
- 0x57b244a4, 0x00007100, 0x18000ce0, 0x00001283, 0x000057e5, 0x00007013,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99771ee3, 0x00001900,
- 0xe2033c65, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
- 0x81401800, 0x00006199, 0x41801800, 0x00004999, 0xc1401000, 0x00006199,
- 0x41400000, 0x00004999, 0x000057da, 0x0000f030, 0x57c643f0, 0x00007100,
- 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00008466, 0x00001583, 0x19c04033, 0x000067b0, 0x0f416463, 0x0000a034,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x000057ea, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x046d8000, 0x00007900,
- 0x002930a6, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x57da20b1, 0x00007500, 0x03001002, 0x0000e100,
- 0x04972867, 0x0000c200, 0x03e31c63, 0x00009900, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04688000, 0x00007900, 0x001c3d54, 0x00000980, 0x03c00004, 0x000080d4,
- 0x82e00500, 0x0000802e, 0x57e520b1, 0x00007500, 0x0303bf02, 0x0000010b,
- 0x81c01000, 0x00009980, 0x57e62108, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000468, 0x00001583, 0x000057b4, 0x0000f00b, 0x57ea44a4, 0x0000f100,
- 0x57ec437b, 0x00007300, 0x81405412, 0x000080d6, 0x99801c6e, 0x00006080,
- 0x19c0406d, 0x00004180, 0x0743ae66, 0x0000f902, 0x1bc00000, 0x00008100,
- 0x07043466, 0x0000f902, 0x21400000, 0x00000100, 0x07042666, 0x0000f902,
- 0x20c00000, 0x00000100, 0x07441266, 0x0000f902, 0x1ec00000, 0x00008100,
- 0x00037867, 0x00006502, 0x18000000, 0x00008980, 0x077bcc66, 0x00002180,
- 0x000058bb, 0x00007069, 0x0a035c67, 0x0000e006, 0x09035c66, 0x00003006,
- 0x00233c66, 0x00001503, 0x19c00000, 0x000019b1, 0x000058a9, 0x0000f019,
- 0x18c3786d, 0x00006100, 0x21f20004, 0x00008980, 0x1d804063, 0x00006480,
- 0xa7e80500, 0x00004900, 0xe1d81302, 0x0000e100, 0x18c00a75, 0x00004180,
- 0x1cc37863, 0x00006200, 0xc723b06b, 0x00002007, 0x1cc02073, 0x00006080,
- 0x99939a75, 0x0000c100, 0x2c00946e, 0x00009680, 0x9d4588b0, 0x00001000,
- 0x1f839886, 0x0000e002, 0x9cc02276, 0x00008880, 0x1e000000, 0x0000f900,
- 0x000010c4, 0x00008980, 0x27000000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x9cfffa73, 0x00007900, 0x00000002, 0x00008280, 0xe7f1a275, 0x00007900,
- 0x00000006, 0x00008080, 0x1c400085, 0x0000e084, 0x00139878, 0x00002106,
- 0xa7002276, 0x0000e080, 0x1cc3f07e, 0x00004900, 0x8013b266, 0x00001502,
- 0x1d437863, 0x00001202, 0xffffffff, 0x00007f86, 0x00005872, 0x00007028,
- 0x0000584e, 0x0000f008, 0x703bc0ec, 0x0000d600, 0x003cf800, 0x00008000,
- 0x703b98ec, 0x00005600, 0x003b8800, 0x00008000, 0x703ce0ec, 0x0000d600,
- 0x003c3800, 0x00008000, 0x00d802ec, 0x0000df80, 0x15813009, 0x000093c4,
- 0x00000060, 0x00006582, 0x09035c66, 0x0000a006, 0x18c37c66, 0x0000e000,
- 0x8000006b, 0x0000a407, 0x19c00c67, 0x00006191, 0x99801c74, 0x00000880,
- 0x0000588d, 0x00007208, 0x077b1e66, 0x00002900, 0x19801467, 0x00009881,
- 0x19800000, 0x0000e181, 0x38420466, 0x0000c081, 0x1da33466, 0x00006100,
- 0x18e33860, 0x00004100, 0x00031876, 0x00009502, 0x18c00c66, 0x000098a8,
- 0x19800c66, 0x000060a9, 0x98d31a72, 0x00008028, 0x00005846, 0x00007020,
- 0xe33ba463, 0x0000b03c, 0xe33bc663, 0x0000303c, 0x00005831, 0x00007403,
- 0x1003a500, 0x0000f904, 0x1003c500, 0x0000f904, 0x583e6344, 0x00007004,
- 0x19cb586c, 0x00006100, 0x18cb4168, 0x00000900, 0x000b4067, 0x00006502,
- 0x198b596b, 0x00000900, 0x000058a4, 0x0000f033, 0x1c000000, 0x00001981,
- 0x00004955, 0x0000f200, 0x1d23746e, 0x00001901, 0x1d800000, 0x00006181,
- 0x0a035c67, 0x0000e006, 0x19a33c66, 0x00009001, 0x8623306b, 0x0000e807,
- 0x00004973, 0x00007400, 0x198b596b, 0x0000e100, 0x19c0096b, 0x00004080,
- 0x5ac33867, 0x00009900, 0xa7c00000, 0x0000e180, 0xc0000078, 0x0000e406,
- 0x1c7c1f84, 0x00008618, 0x703bc0ec, 0x0000d600, 0x003cf800, 0x00008000,
- 0x703b88ec, 0x0000d600, 0x003b3000, 0x00008000, 0x2c00946e, 0x00009680,
- 0x98c588b0, 0x00009000, 0x703ce0ec, 0x0000d600, 0x003c3800, 0x00008000,
- 0xe33c3663, 0x00005004, 0x003c2800, 0x00000000, 0x19800b79, 0x00006180,
- 0x18d3ca79, 0x00000900, 0x00033063, 0x0000e502, 0x00804078, 0x00002586,
- 0x9d800a79, 0x000060c8, 0x9d800000, 0x000009c0, 0x18c0346e, 0x0000e080,
- 0x99801c6e, 0x00004880, 0x073c2466, 0x00005100, 0x003c1800, 0x00000000,
- 0x0763b466, 0x0000a980, 0x18c01863, 0x00006780, 0x19801a76, 0x00000880,
- 0xe7c39a63, 0x0000f900, 0x00000008, 0x00000080, 0x1cc41066, 0x00006002,
- 0xa7e80500, 0x00008900, 0x703bc0ec, 0x0000d600, 0x003cf800, 0x00008000,
- 0x00005820, 0x00007400, 0xa7004000, 0x00006180, 0x9e53b276, 0x0000c900,
- 0x1c40007b, 0x00009084, 0x18c37863, 0x00006202, 0xc0000078, 0x00002406,
- 0xa7c00000, 0x0000e180, 0x98c02266, 0x0000c890, 0x98fffa63, 0x0000f910,
- 0x00000002, 0x00008280, 0x00005850, 0x0000f008, 0xa7002266, 0x00006080,
- 0x00131878, 0x00006106, 0x99800a66, 0x00006080, 0x18d33076, 0x00004100,
- 0x703bc0ec, 0x0000d600, 0x003cf800, 0x00008000, 0x98c02263, 0x00006080,
- 0xe7dcfa66, 0x00004000, 0x703bf0ec, 0x0000d600, 0x003b8800, 0x00008000,
- 0x9c7ffa63, 0x00007900, 0x00000002, 0x00008280, 0x703ce0ec, 0x0000d600,
- 0x003c3800, 0x00008000, 0x19841883, 0x0000e100, 0x00138878, 0x00006106,
- 0x00005851, 0x00007400, 0xa73ffa63, 0x00007900, 0x00000002, 0x00008280,
- 0x1c442084, 0x00009900, 0xe3033e72, 0x0000a084, 0xe3020472, 0x0000f902,
- 0x0e800000, 0x00008004, 0xe3030672, 0x00002087, 0xe37a0872, 0x0000a004,
- 0x00000c67, 0x00009583, 0xe37a1272, 0x0000303c, 0x0e420040, 0x00009900,
- 0x0000589d, 0x00007230, 0xe37a0072, 0x0000a084, 0xe37a2472, 0x0000303c,
- 0xe37a3672, 0x0000303c, 0xe3ba4072, 0x0000b03c, 0xe3ba5272, 0x0000b03c,
- 0xe3ba6472, 0x0000b03c, 0xe3ba7672, 0x0000b03c, 0x1d800000, 0x00006181,
- 0x18c00c67, 0x00004081, 0x8623186b, 0x0000e807, 0x00004973, 0x00007400,
- 0x198b596b, 0x0000e100, 0x19c0096b, 0x00004080, 0x5ac33867, 0x00009900,
- 0x00000063, 0x00009582, 0x1c000800, 0x00006191, 0x5a000000, 0x0000c990,
- 0x00005844, 0x00007011, 0x00005843, 0x0000f000, 0x0e7c3f9c, 0x00000328,
- 0xd8020078, 0x00008e86, 0x19c00800, 0x00009981, 0x0a035c66, 0x00006006,
- 0x09035c63, 0x00003006, 0x18e33463, 0x0000e100, 0x1c633c67, 0x00000900,
- 0x00031871, 0x00001502, 0x19a33467, 0x00001048, 0x19c00c67, 0x000060c9,
- 0x18c00866, 0x000088c8, 0x000057ff, 0x0000f040, 0x99931a72, 0x00001000,
- 0xe33bf466, 0x0000b03c, 0xe33c0666, 0x0000b03c, 0x000058ac, 0x0000f403,
- 0x1003f500, 0x0000f904, 0x10040500, 0x00007904, 0x58bc6344, 0x00007004,
- 0x18cb596b, 0x00009900, 0x00036063, 0x00001502, 0x98c01c77, 0x00006088,
- 0x1d800800, 0x00004989, 0x07bb6863, 0x00005108, 0x003b6000, 0x00008000,
- 0x000057fa, 0x0000f010, 0x2c00946e, 0x00009680, 0x998588b0, 0x00009000,
- 0xe3000466, 0x0000d004, 0x00400000, 0x00008082, 0xe33b3c66, 0x0000a084,
- 0x07bb5a63, 0x00005100, 0x003b4000, 0x00000000, 0x0743be63, 0x00002182,
- 0xe3000466, 0x00005084, 0x00400000, 0x00008000, 0x1a000002, 0x00001980,
- 0x30600067, 0x00004491, 0xe6800476, 0x00001691, 0x40000c70, 0x0000f88a,
- 0x92c00000, 0x0000248c, 0x98ff1fe3, 0x00001900, 0x8a033a63, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x19803c67, 0x00009281, 0x00001466, 0x00001583,
- 0x1d41c038, 0x00009910, 0x000058ed, 0x00007009, 0x58da62ac, 0x0000f004,
- 0x00000468, 0x00001583, 0x98c01c6e, 0x00009890, 0x07933a63, 0x0000a112,
- 0x000058ed, 0x0000f008, 0xffffffff, 0x00007f97, 0x18c04467, 0x00001283,
- 0x19801800, 0x00006189, 0x1c000000, 0x0000c989, 0x9dc00000, 0x00001988,
- 0x00004948, 0x0000f010, 0x18c00ce0, 0x00001283, 0x000058ee, 0x0000f013,
- 0x00000c66, 0x00001583, 0x81403000, 0x0000e189, 0x41804000, 0x00004989,
- 0xc1400800, 0x0000e189, 0x41405800, 0x00004989, 0x00004990, 0x0000f010,
- 0x58ed43f0, 0x00007100, 0x58ee44a4, 0x00007100, 0x58ef2108, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x000058e6, 0x0000700b,
- 0x58f344a4, 0x00007100, 0x000058e4, 0x0000f200, 0x19800800, 0x00001981,
- 0x1823c478, 0x0000e100, 0x19c00c78, 0x00004081, 0xe37a2463, 0x0000303c,
- 0xe37a3663, 0x0000303c, 0xe3ba4063, 0x0000b03c, 0xe3ba5263, 0x0000b03c,
- 0xe3ba6463, 0x0000b03c, 0xe3ba7663, 0x0000b03c, 0x0000496f, 0x0000f400,
- 0x18e33467, 0x00009001, 0x8623186b, 0x0000e807, 0x18c00ce0, 0x00001283,
- 0x0000593e, 0x0000f013, 0x02c00000, 0x000000f8, 0x99c02302, 0x00006780,
- 0x0000180b, 0x0000a106, 0x23800000, 0x0000f900, 0x00100000, 0x00000980,
- 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0xc000180b, 0x0000e006, 0x4513380e, 0x00003107, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23c00000, 0x000089c0,
- 0x24400000, 0x000009c8, 0x24c01800, 0x000089d0, 0x25400000, 0x000009d8,
- 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8, 0x26c00000, 0x000080f0,
- 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0xc2981302, 0x00009900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009010ec, 0x00005780, 0x00884880, 0x000082c8, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02c00000, 0x0000e180,
- 0x98d30e6a, 0x00004000, 0x03800000, 0x0000e180, 0x0000180b, 0x00006106,
- 0x99806263, 0x0000e080, 0xc000180b, 0x00002006, 0x0218b000, 0x0000f900,
- 0x0001e140, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03401000, 0x0000f900, 0x0001c000, 0x00000980, 0x98403e61, 0x0000e181,
- 0x4513380e, 0x0000a107, 0x23800000, 0x000088fc, 0x01000802, 0x0000e180,
- 0x01400000, 0x00004980, 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980,
- 0x03000000, 0x00006180, 0x03c00004, 0x0000c980, 0x00004992, 0x00007400,
- 0x02a81402, 0x00008028, 0xa2d33662, 0x0000e000, 0xe293526a, 0x00008900,
- 0x593e447b, 0x0000f100, 0x593f2108, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000468, 0x00001583, 0x00005902, 0x0000f00b, 0x594344a4, 0x00007100,
- 0x40000572, 0x00009583, 0x99771ee3, 0x00009908, 0xe2033465, 0x0000a08c,
- 0x00005ab8, 0x00007010, 0xffffffff, 0x00007f97, 0x00020466, 0x00001583,
- 0x18c04060, 0x0000e7b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00005a28, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04556800, 0x0000f900, 0x000127b0, 0x00008980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x595820b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03d34a69, 0x0000e100, 0x04972863, 0x00004200,
- 0x40000572, 0x00009583, 0x98f71ee3, 0x00009908, 0xe2033c63, 0x0000208c,
- 0x00005973, 0x0000f010, 0xffffffff, 0x00007f97, 0x00020467, 0x00009583,
- 0x19404060, 0x0000e7b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00005970, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0472a000, 0x00007900, 0x001d546c, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x596d20b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x03d34a69, 0x0000e100, 0x04972865, 0x00004200,
- 0x597043f0, 0x0000f500, 0xc1604001, 0x000000da, 0xc1603402, 0x000000d6,
- 0x597343f0, 0x0000f500, 0xc1603001, 0x000080da, 0xc1600405, 0x000080d6,
- 0x40000d72, 0x00001583, 0x99f71ee3, 0x00001908, 0xe2032c67, 0x0000208c,
- 0x000044fd, 0x0000f010, 0xffffffff, 0x00007f97, 0x00020465, 0x00001583,
- 0x19804060, 0x0000e7b0, 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00005a61, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0450c800, 0x0000f900, 0x001d28a4, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x598820b1, 0x00007500,
- 0x82f81400, 0x00008030, 0x03d34a69, 0x0000e100, 0x04972866, 0x00004200,
- 0x00004bb5, 0x0000f200, 0x19e00737, 0x00000395, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
- 0x00000000, 0x00008080, 0xc019031f, 0x00001502, 0x98d8fb20, 0x0000e168,
- 0x8b18fb20, 0x00000168, 0x9987fb2c, 0x0000e2e8, 0x9891aa35, 0x00008968,
- 0x00005737, 0x0000f060, 0x99c80000, 0x0000e180, 0x19402266, 0x0000c880,
- 0x1a000400, 0x00006180, 0x99d33267, 0x0000c100, 0x1980f865, 0x00006784,
- 0x1b320004, 0x00008980, 0x18032838, 0x00006002, 0x9a280500, 0x00000900,
- 0x1a433039, 0x0000e004, 0x75e80068, 0x0000a101, 0x1ac40000, 0x0000f900,
- 0x000014c4, 0x00000980, 0x1b440000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x1b3b0502, 0x0000063c, 0x80003a67, 0x00006582, 0x1b834869, 0x00008900,
- 0xd807fb2c, 0x00009282, 0xffffffff, 0x00007f86, 0x00005a80, 0x00007030,
- 0x000059f4, 0x0000f008, 0x700400ec, 0x00005680, 0x003b44c4, 0x00008010,
- 0x703b78ec, 0x0000d600, 0x003b4800, 0x00008000, 0x700400ec, 0x00005680,
- 0x003b67c0, 0x00000078, 0x19800000, 0x000006d4, 0x18400000, 0x00001981,
- 0x00d802ec, 0x0000df80, 0x158da009, 0x000093c4, 0x00000c61, 0x00009583,
- 0x000059e9, 0x0000f00b, 0x19c04000, 0x00009981, 0xc7233834, 0x0000e007,
- 0x09821c65, 0x00003004, 0x19800c65, 0x00009180, 0x00001866, 0x00009582,
- 0x00004f67, 0x0000f033, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x18000ce0, 0x00001283, 0x000059e4, 0x00007013,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x98f71ee3, 0x00001900,
- 0xe2033c63, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
- 0x01c00020, 0x000061b0, 0x03c02000, 0x0000c9b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x000059e1, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04688000, 0x00007900, 0x001c3d54, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x59de20b1, 0x00007500,
- 0x82f81400, 0x00008030, 0x04a32c65, 0x00009900, 0x59e143f0, 0x00007500,
- 0xc1604002, 0x000000da, 0xc1604401, 0x000080d6, 0x59e443f0, 0x00007500,
- 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6, 0x59e52108, 0x00007100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x000059c4, 0x0000f00b,
- 0x59e944a4, 0x00007100, 0x80003a63, 0x00001582, 0x00005aae, 0x00007033,
- 0x0e433066, 0x0000e100, 0x18c00a62, 0x00004180, 0x0e39af65, 0x0000061a,
- 0x00031866, 0x00001502, 0x98c00000, 0x000061c0, 0x98c00b35, 0x000040c8,
- 0x000059b6, 0x0000f400, 0xffffffff, 0x00007f86, 0xcd531a63, 0x00009900,
- 0x9a000000, 0x00006180, 0xc000006b, 0x00006406, 0x1959ab35, 0x0000e100,
- 0x19800a35, 0x0000c180, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
- 0x00033065, 0x0000e502, 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600,
- 0x0039d800, 0x00000000, 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000,
- 0x00005a77, 0x0000f208, 0x99400b35, 0x00006090, 0x0e41d83b, 0x00000900,
- 0xcd400b35, 0x00009080, 0x19801a65, 0x00001880, 0x1b81b066, 0x00009002,
- 0x1a400037, 0x00001084, 0x19800000, 0x000006d4, 0x18400000, 0x00001981,
- 0x0000e868, 0x0000e485, 0x0080406b, 0x00003586, 0x9a280500, 0x0000e100,
- 0x0000406d, 0x0000e586, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
- 0x000059b2, 0x00007400, 0x703b70ec, 0x00005600, 0x003b4800, 0x00008000,
- 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x99771ee3, 0x00001900,
- 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
- 0x18c04060, 0x0000e7b0, 0x0a01a467, 0x0000a032, 0x01c00020, 0x000061b0,
- 0x01400000, 0x000049b0, 0x00005acd, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0444f000, 0x00007900, 0x00121008, 0x00008980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x5a2820b1, 0x00007500, 0x03001002, 0x0000e100, 0x04972863, 0x00004200,
- 0x03e33c67, 0x00009900, 0x5a2b43f0, 0x00007500, 0xc1603001, 0x000080da,
- 0xc1600406, 0x000080d6, 0x99802270, 0x0000e080, 0x19c04000, 0x00004980,
- 0x98fffa66, 0x00007900, 0x00000002, 0x00008280, 0x19938067, 0x00006100,
- 0x0013186b, 0x00002106, 0x99c02266, 0x0000e080, 0x9b402270, 0x00004880,
- 0x98fffa67, 0x0000f900, 0x00000002, 0x00008280, 0x703b58ec, 0x00005600,
- 0x003b4000, 0x00000000, 0x0c034466, 0x00006084, 0x0013186b, 0x0000b106,
- 0x1dc1d03a, 0x0000e100, 0x18c00c70, 0x0000c881, 0x703b78ec, 0x0000d600,
- 0x003b7000, 0x00000000, 0x19a33463, 0x0000e001, 0x1bc1b837, 0x00000900,
- 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x18d9ab35, 0x0000e100,
- 0x04233068, 0x00006085, 0x9b7ffa67, 0x00007900, 0x00000002, 0x00008280,
- 0x1981d83b, 0x0000e100, 0x19c00a35, 0x00004180, 0x703b58ec, 0x00005600,
- 0x003b4000, 0x00000000, 0x00033863, 0x00009502, 0x7039d0ec, 0x0000d600,
- 0x0039d800, 0x00000000, 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000,
- 0x00005a53, 0x00007040, 0x18c00b35, 0x00009080, 0x19c01863, 0x00001880,
- 0x18033860, 0x00009002, 0x1bc00037, 0x00001084, 0x0000e868, 0x0000e485,
- 0x0080406b, 0x00003586, 0x9a280500, 0x0000e100, 0x1b83786f, 0x00004900,
- 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000, 0x18c00800, 0x00006181,
- 0x0000406d, 0x0000e586, 0x703b00ec, 0x0000d600, 0x003b7000, 0x00000000,
- 0x00004bc3, 0x00007400, 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000,
- 0x1bc30060, 0x00009900, 0x5a6443f0, 0x0000f500, 0xc1604001, 0x000000da,
- 0xc1603407, 0x000000d6, 0x99771ee3, 0x00001900, 0xe2031c65, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583, 0x01172870, 0x0000e230,
- 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0,
- 0x00005a7b, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04506800, 0x0000f900, 0x001d8d30, 0x00008980, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x5a7720b1, 0x00007500, 0x82f81400, 0x00008030,
- 0x03c02004, 0x0000e100, 0x0497287d, 0x00004200, 0x00005a07, 0x0000f400,
- 0xcd400000, 0x00006180, 0x1b81b036, 0x00004900, 0x1a41b837, 0x00009900,
- 0x98403e61, 0x0000e181, 0x81403000, 0x00008981, 0x5a8043f0, 0x0000f500,
- 0x81a00405, 0x000000d6, 0xc1400800, 0x00001981, 0xd807fb2c, 0x00006282,
- 0xc000006b, 0x0000a406, 0x9a000000, 0x00006180, 0x99402267, 0x00004890,
- 0x99bffa65, 0x0000f910, 0x00000002, 0x00008280, 0x000059f6, 0x00007008,
- 0x19404000, 0x0000e180, 0x0013306b, 0x0000e106, 0x19933865, 0x0000e100,
- 0x18000c67, 0x00000881, 0x99802266, 0x00006080, 0x9b402267, 0x00004880,
- 0x997ffa66, 0x00007900, 0x00000002, 0x00008280, 0x703b58ec, 0x00005600,
- 0x003b4000, 0x00000000, 0x1a41b837, 0x0000e100, 0x0013286b, 0x0000e106,
- 0x0c034465, 0x0000e884, 0x703b78ec, 0x0000d600, 0x003b7000, 0x00000000,
- 0x19632c60, 0x0000e001, 0x1bc00a35, 0x00000180, 0x703b68ec, 0x00005600,
- 0x003b6000, 0x00008000, 0x1819ab35, 0x0000e100, 0x04232868, 0x00006085,
- 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000, 0x00037860, 0x0000e502,
- 0x1b81b036, 0x00008900, 0x9b7ffa66, 0x0000f900, 0x00000002, 0x00008280,
- 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000, 0x00005aac, 0x0000f440,
- 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x1979df3a, 0x00008618,
- 0x18000b35, 0x00009080, 0x18001860, 0x00009880, 0x1b830036, 0x00009002,
- 0x1a400037, 0x00001084, 0x00005a09, 0x00007200, 0x18400800, 0x00009981,
- 0x09821c69, 0x0000e804, 0x18e34c69, 0x0000e100, 0x18000c69, 0x0000c180,
- 0x00001860, 0x00009582, 0x00005ad0, 0x0000701b, 0x00133863, 0x00001502,
- 0x0ec33066, 0x00006150, 0x0e832865, 0x0000c950, 0x000059b7, 0x00007051,
- 0x000059eb, 0x0000f000, 0x40000d72, 0x00001583, 0x99b71ee3, 0x00009908,
- 0xe2031c66, 0x0000a08c, 0x000044fd, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x00020463, 0x00001583, 0x19c04060, 0x000067b0, 0x01c00020, 0x000089b0,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x00005ae4, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04529000, 0x0000f900,
- 0x00370d46, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x5acd20b1, 0x0000f500, 0x82f81400, 0x00008030, 0x03d34a69, 0x0000e100,
- 0x04972867, 0x0000c200, 0x5ad043f0, 0x0000f500, 0xc1604001, 0x000000da,
- 0xc1603405, 0x000080d6, 0x18000ce0, 0x00001283, 0x00005af2, 0x0000f013,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99f71ee3, 0x00009900,
- 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
- 0x81401800, 0x00006199, 0x41801800, 0x00004999, 0xc1401000, 0x00006199,
- 0x41400000, 0x00004999, 0x00005ae7, 0x0000f030, 0x5ae443f0, 0x0000f100,
- 0x5ae743f0, 0x00007500, 0xc1604001, 0x000000da, 0xc1603408, 0x000000d6,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04688000, 0x00007900, 0x001c3d54, 0x00000980,
- 0x03c00004, 0x000080d4, 0x82e00500, 0x0000802e, 0x5af220b1, 0x0000f500,
- 0x03034f02, 0x0000010b, 0x81c01000, 0x00009980, 0x5af32108, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00005ad2, 0x0000700b,
- 0x5af744a4, 0x00007100, 0xc038b72e, 0x00001503, 0x5af9447b, 0x0000f113,
- 0x63800800, 0x00006180, 0x19c04032, 0x00004780, 0x02c00000, 0x0000e180,
- 0xa000108e, 0x00006403, 0x001848ec, 0x0000d780, 0x00004003, 0x00000080,
- 0xa0000089, 0x0000e401, 0xd000088e, 0x00003401, 0x03800000, 0x0000e180,
- 0x0000180b, 0x00006106, 0x99802302, 0x0000e780, 0x19400867, 0x00000180,
- 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006,
- 0xf000008e, 0x00003401, 0xa298fb20, 0x0000e100, 0x4513300e, 0x00002107,
- 0xa2c0012d, 0x000080b0, 0x03c00004, 0x0000e180, 0x82901202, 0x00004900,
- 0x00004a14, 0x0000f400, 0x02b1a502, 0x00008824, 0x62032865, 0x00001900,
- 0x01800000, 0x00006180, 0x08001a63, 0x0000e106, 0x00231806, 0x00006086,
- 0x00101007, 0x0000b186, 0x82280006, 0x0000e086, 0x04181007, 0x00003187,
- 0x0140417c, 0x00006080, 0x04397006, 0x00006087, 0x3bc00040, 0x00006180,
- 0x08001aae, 0x00006106, 0x39dc8800, 0x00007900, 0x000c2564, 0x00008980,
- 0x3b75d800, 0x0000f900, 0x000bbcc4, 0x00000980, 0xaba00500, 0x00008a3a,
- 0x2bf83f02, 0x00008a34, 0x5b2a20de, 0x00007500, 0x2b382f06, 0x00000e38,
- 0xbbc0d800, 0x00001980, 0x5b2b447b, 0x0000f100, 0x09415c63, 0x0000e806,
- 0x18c07c63, 0x00001081, 0x30e31f2b, 0x0000e806, 0xd803c72b, 0x00001283,
- 0x19c00c67, 0x0000e091, 0xcb000b2c, 0x00008090, 0x99771ee3, 0x00009908,
- 0x00004750, 0x00007010, 0xe2033c65, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00020467, 0x00009583, 0x01c00020, 0x000061b0, 0x08021863, 0x0000e332,
- 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0, 0x00005b48, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x046e7800, 0x0000f900,
- 0x003bcfec, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x5b4520b1, 0x00007500, 0x82f81400, 0x00008030, 0x03c33066, 0x0000e100,
- 0x04972863, 0x00004200, 0x5b4843f0, 0x0000f500, 0xc1604001, 0x000000da,
- 0xc1604404, 0x000080d6, 0xc7c00b1f, 0x00006080, 0xc0000812, 0x0000a403,
- 0x5b4d43f0, 0x0000f500, 0xc1601001, 0x000000da, 0xc1600401, 0x000000d6,
- 0x5b5043f0, 0x0000f500, 0xc1604001, 0x000000da, 0xc160340a, 0x000080d6,
- 0x5b5343f0, 0x0000f500, 0xc1604001, 0x000000da, 0xc1604409, 0x000000d6,
- 0xc1001f34, 0x00001283, 0x98f71ee3, 0x00009908, 0xe2032c63, 0x0000a08c,
- 0x00005b83, 0x00007010, 0xffffffff, 0x00007f97, 0x00020465, 0x00001583,
- 0x19c04060, 0x000067b0, 0x0a01a466, 0x00002032, 0x01c00020, 0x000061b0,
- 0x01400000, 0x000049b0, 0x00005b80, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x046ed000, 0x00007900, 0x00386bf0, 0x00008980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x5b6920b1, 0x0000f500, 0x03001002, 0x0000e100, 0x04972867, 0x0000c200,
- 0x03e33466, 0x00009900, 0x18d34a69, 0x00009900, 0x00017863, 0x00009502,
- 0x99771ee3, 0x00009920, 0xe2033c65, 0x000020a4, 0x00004549, 0x0000f028,
- 0xffffffff, 0x00007f97, 0x00020467, 0x00009583, 0x19804060, 0x0000e7b0,
- 0x0117282f, 0x00008230, 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0,
- 0x00005b97, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04665000, 0x00007900, 0x002516f4, 0x00000980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x5b8020b1, 0x00007500,
- 0x03001002, 0x0000e100, 0x04972866, 0x00004200, 0x03c02004, 0x00009900,
- 0x5b8343f0, 0x00007500, 0xc1604001, 0x000000da, 0xc160340c, 0x000080d6,
- 0x98f71ee3, 0x00001900, 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00020465, 0x00001583, 0x19c04060, 0x000067b0, 0x0a01a466, 0x00002032,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00005bb0, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x044f9800, 0x00007900,
- 0x0018cd26, 0x00008980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x5b9720b1, 0x00007500, 0x03001002, 0x0000e100,
- 0x04972867, 0x0000c200, 0x03e33466, 0x00009900, 0x5b9a43f0, 0x0000f500,
- 0xc1604001, 0x000000da, 0xc1604408, 0x000080d6, 0xc1001f34, 0x00001283,
- 0x98f71ee3, 0x00009908, 0xe2032c63, 0x0000a08c, 0x00005bb6, 0x00007010,
- 0xffffffff, 0x00007f97, 0x00020465, 0x00001583, 0x19c04060, 0x000067b0,
- 0x0a01a466, 0x00002032, 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0,
- 0x00005bb3, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0464a800, 0x00007900, 0x001ef4aa, 0x00000980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x5bb020b1, 0x00007500,
- 0x03001002, 0x0000e100, 0x04972867, 0x0000c200, 0x03e33466, 0x00009900,
- 0x5bb343f0, 0x00007500, 0xc1603001, 0x000080da, 0xc1600409, 0x000080d6,
- 0x5bb643f0, 0x00007500, 0xc1604001, 0x000000da, 0xc160340b, 0x000000d6,
- 0x98f71ee3, 0x00001900, 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00020465, 0x00001583, 0x19c04060, 0x000067b0, 0x0a01a466, 0x00002032,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00005f69, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04757000, 0x00007900,
- 0x0001e2e4, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x5bca20b1, 0x0000f500, 0x03001002, 0x0000e100,
- 0x04972867, 0x0000c200, 0x03e33466, 0x00009900, 0x40001d72, 0x00006583,
- 0x25404000, 0x00000980, 0x00004a04, 0x00007400, 0x2519767c, 0x00008910,
- 0x25801800, 0x00006191, 0x25801000, 0x0000c989, 0x19c01f34, 0x00009281,
- 0xdcc01462, 0x0000c289, 0xaea01467, 0x00001697, 0xcf401467, 0x00007893,
- 0x02c00001, 0x00000000, 0xbbc0002f, 0x00007892, 0xe2400000, 0x00002f87,
- 0x0000002f, 0x00001582, 0x99771ee3, 0x0000e110, 0x80000034, 0x0000640b,
- 0xe2031c65, 0x0000a094, 0x00004aef, 0x00007008, 0xffffffff, 0x00007f97,
- 0x00020463, 0x00001583, 0x19804060, 0x0000e7b0, 0x0117282f, 0x00008230,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00005c25, 0x00007018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04447800, 0x00007900,
- 0x001c041c, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x5bee20b1, 0x0000f500, 0x03001002, 0x0000e100,
- 0x04972866, 0x00004200, 0x03c02004, 0x00009900, 0x98c7fb2c, 0x00006280,
- 0x99880000, 0x00008980, 0x99d31a66, 0x0000e100, 0x1a000400, 0x00008980,
- 0x18c02263, 0x0000e080, 0x1b320004, 0x00004980, 0x1980f863, 0x00006784,
- 0x9a280500, 0x00000900, 0x1b831838, 0x0000e002, 0x75e80068, 0x0000a101,
- 0x1a433039, 0x0000e004, 0x9dd8fb20, 0x00000100, 0x1ac40000, 0x0000f900,
- 0x000014c4, 0x00000980, 0x1b440000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x8b18fb20, 0x0000e100, 0x9d91aa35, 0x00000900, 0x1be81737, 0x00008630,
- 0x80003a67, 0x00006582, 0x1c434869, 0x00000900, 0xd8c7fb2c, 0x00009282,
- 0xffffffff, 0x00007f86, 0x00005c99, 0x0000f030, 0x00005c65, 0x00007008,
- 0x700400ec, 0x00005680, 0x003b44c4, 0x00008010, 0x703b70ec, 0x00005600,
- 0x003b8800, 0x00008000, 0x700400ec, 0x00005680, 0x003b67c0, 0x00000078,
- 0x19800000, 0x000006e4, 0x1c000000, 0x00001981, 0x00d802ec, 0x0000df80,
- 0x15c08809, 0x000093c4, 0x00000c70, 0x00009583, 0x00005c48, 0x0000700b,
- 0x19c04000, 0x00009981, 0xc7233834, 0x0000e007, 0x09821c63, 0x00003004,
- 0x19800c63, 0x00009180, 0x00001866, 0x00009582, 0x01000802, 0x0000e1b0,
- 0x09821c67, 0x0000e034, 0x01400000, 0x000061b0, 0xb6e3382b, 0x00006037,
- 0x00005c28, 0x0000f018, 0x98fb966a, 0x00006000, 0x0197f840, 0x00008980,
- 0x99806263, 0x0000e080, 0x01c00000, 0x00000980, 0xa2d33662, 0x0000e000,
- 0xe293526a, 0x00008900, 0xf4000c62, 0x0000789a, 0x42c00000, 0x0000a587,
- 0x5c2843f0, 0x00007500, 0xc1604001, 0x000000da, 0xc1604409, 0x000000d6,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x18000ce0, 0x00001283, 0x00005c56, 0x00007013,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99f71ee3, 0x00009900,
- 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
- 0x01c00020, 0x000061b0, 0x03c02000, 0x0000c9b0, 0x01400000, 0x000061b0,
- 0x81c01000, 0x0000c9b0, 0x00005c53, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04688000, 0x00007900, 0x001c3d54, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x5c4820b1, 0x00007500,
- 0x82f81400, 0x00008030, 0x04a31c63, 0x00009900, 0x80003a77, 0x00001582,
- 0x00005c5b, 0x00007033, 0x0e433066, 0x0000e100, 0x18c00a76, 0x00004180,
- 0x0e39af69, 0x0000061a, 0x00031866, 0x00001502, 0x98c00000, 0x000061c0,
- 0x98c00b35, 0x000040c8, 0x00005c13, 0x0000f400, 0xffffffff, 0x00007f86,
- 0xcd531a63, 0x00009900, 0x5c5643f0, 0x00007500, 0xc1601803, 0x000000da,
- 0xc1600402, 0x000000d6, 0x5c572108, 0x00007100, 0xffffffff, 0x00007f86,
- 0x00000468, 0x00001583, 0x00005c2e, 0x0000700b, 0x5c5b44a4, 0x00007100,
- 0x09821c70, 0x00006804, 0x18e38470, 0x0000e100, 0x1a000c70, 0x0000c180,
- 0x00001868, 0x00001582, 0x00005ec0, 0x0000701b, 0x00133863, 0x00001502,
- 0x0ec33066, 0x00006150, 0x0e834869, 0x0000c950, 0x00005c14, 0x00007051,
- 0x00005c4a, 0x00007000, 0x9a000000, 0x00006180, 0xc000006b, 0x00006406,
- 0x18d9ab35, 0x0000e100, 0x19800a35, 0x0000c180, 0x703b58ec, 0x00005600,
- 0x003b4000, 0x00000000, 0x00033063, 0x0000e502, 0x0e01d03a, 0x00008900,
- 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000, 0x700400ec, 0x00005680,
- 0x003b67c0, 0x00000078, 0x00005d0d, 0x0000f208, 0x98c00b35, 0x00006090,
- 0x0e41d83b, 0x00000900, 0xcd400b35, 0x00009080, 0x19801a63, 0x00001880,
- 0x1b81b066, 0x00009002, 0x1bc00037, 0x00001084, 0x19800000, 0x000006e4,
- 0x1c000000, 0x00001981, 0x0000e868, 0x0000e485, 0x0080406b, 0x00003586,
- 0x9a280500, 0x0000e100, 0x0000406d, 0x0000e586, 0x703b58ec, 0x00005600,
- 0x003b4000, 0x00000000, 0x00005c0f, 0x00007400, 0x703b70ec, 0x00005600,
- 0x003b7800, 0x00008000, 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000,
- 0x99771ee3, 0x00006100, 0xb000002b, 0x0000e407, 0xe2033465, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x00008466, 0x00001583, 0x19c04060, 0x000067b0,
- 0x01c00020, 0x000089b0, 0x01400000, 0x000061b0, 0x81c01000, 0x0000c9b0,
- 0x00005ed4, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0462b800, 0x0000f900, 0x002830e8, 0x00008980, 0xc2f00600, 0x0000e101,
- 0x08001a0b, 0x00006106, 0x5c9920b1, 0x00007500, 0x82f81400, 0x00008030,
- 0x03d90320, 0x0000e100, 0x04972867, 0x0000c200, 0xd8c7fb2c, 0x00006282,
- 0xc000006b, 0x0000a406, 0x9a000000, 0x00006180, 0x98c02267, 0x00004890,
- 0x99bffa63, 0x0000f910, 0x00000002, 0x00008280, 0x00005c67, 0x0000f008,
- 0x18c04000, 0x0000e180, 0x0013306b, 0x0000e106, 0x19933863, 0x0000e100,
- 0x1a400c67, 0x00000881, 0x99802266, 0x00006080, 0x9b402267, 0x00004880,
- 0x98fffa66, 0x00007900, 0x00000002, 0x00008280, 0x703b58ec, 0x00005600,
- 0x003b4000, 0x00000000, 0x1c19ab35, 0x00006100, 0x0013186b, 0x0000e106,
- 0x0c034463, 0x0000e884, 0x703b70ec, 0x00005600, 0x003b8800, 0x00008000,
- 0x18e31c69, 0x0000e001, 0x1b81b036, 0x00008900, 0x703b68ec, 0x00005600,
- 0x003b6000, 0x00008000, 0x1a41d03a, 0x0000e100, 0x04231868, 0x00006085,
+ 0x1bc38070, 0x0000e100, 0x0000406d, 0x0000e586, 0x00004efc, 0x00007400,
+ 0x703b80ec, 0x00005600, 0x003b7000, 0x00000000, 0x703b68ec, 0x00005600,
+ 0x003b6000, 0x00008000, 0xd8c7fb2c, 0x00006282, 0xc000006b, 0x0000a406,
+ 0x9a000000, 0x00006180, 0x98c02267, 0x00004890, 0x99bffa63, 0x0000f910,
+ 0x00000002, 0x00008280, 0x0000595a, 0x00007008, 0x18c04000, 0x0000e180,
+ 0x0013306b, 0x0000e106, 0x19933863, 0x0000e100, 0x9b402267, 0x00008880,
+ 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000, 0x99802266, 0x00006080,
+ 0x1e01d03a, 0x0000c900, 0x703b80ec, 0x00005600, 0x003b7000, 0x00000000,
+ 0x98fffa66, 0x00007900, 0x00000002, 0x00008280, 0x703b68ec, 0x00005600,
+ 0x003b6000, 0x00008000, 0x1b400c67, 0x00006081, 0x0013186b, 0x0000e106,
+ 0x1b99ab35, 0x00006100, 0x0c034463, 0x00006084, 0x18e31c6d, 0x00006001,
+ 0x1bc1b837, 0x00000900, 0x1c01b036, 0x00006100, 0x04231868, 0x00006085,
0x18c00a35, 0x00009180, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
- 0x00031870, 0x00009502, 0x9b7ffa66, 0x0000f900, 0x00000002, 0x00008280,
- 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000, 0x00005cc6, 0x0000f440,
+ 0x0003186e, 0x00009502, 0x9b7ffa66, 0x0000f900, 0x00000002, 0x00008280,
+ 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000, 0x000059a8, 0x00007440,
0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x18c00b35, 0x000060c8,
0x1981d83b, 0x00000900, 0xffffffff, 0x00007f86, 0x18c01863, 0x00009880,
- 0x1b831836, 0x00009002, 0x1bc00037, 0x00001084, 0x00005c7a, 0x0000f200,
- 0x1c000800, 0x00009981, 0x02000000, 0x0000e180, 0x99b35772, 0x0000c000,
- 0x03800000, 0x0000e180, 0xc7339008, 0x0000e007, 0x8039c0ec, 0x0000d700,
+ 0x1c031836, 0x00009002, 0x1bc00037, 0x00001084, 0x0000596d, 0x0000f200,
+ 0x1dc00800, 0x00001981, 0x0000596b, 0x0000f400, 0xcd400000, 0x00006180,
+ 0x1c01b036, 0x00004900, 0x1bc1b837, 0x00009900, 0x99771ee3, 0x00006100,
+ 0xb000002b, 0x0000e407, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00008466, 0x00001583, 0x19c04060, 0x000067b0, 0x01400020, 0x000009b0,
+ 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0, 0x00005a07, 0x00007018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0462b800, 0x0000f900,
+ 0x002830e8, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x59c22213, 0x0000f500, 0x82f81400, 0x0000803c, 0x01d90320, 0x00006100,
+ 0x04972867, 0x0000c200, 0x02000000, 0x0000e180, 0x99b35770, 0x00004000,
+ 0x03800000, 0x0000e180, 0xc7338008, 0x00006007, 0x8039c0ec, 0x0000d700,
0x00384000, 0x00000000, 0x800000ec, 0x00005780, 0x00000000, 0x00008080,
0x803f28ec, 0x0000d700, 0x00000000, 0x00008080, 0x99c02302, 0x00006780,
0x98c06266, 0x00008080, 0xa2d31e62, 0x0000e000, 0x4513380e, 0x0000a107,
0x800338ec, 0x0000f902, 0x18c00000, 0x00008700, 0x02000000, 0x00007900,
- 0x0001e140, 0x00008980, 0x02400000, 0x00006180, 0x10739008, 0x0000e000,
- 0x03401000, 0x00006180, 0x20b39008, 0x0000e000, 0xd3739009, 0x0000e004,
- 0x41339008, 0x0000b000, 0x01000000, 0x0000e180, 0x8633900d, 0x0000e001,
- 0x80000e67, 0x00006583, 0x02c00000, 0x00000980, 0x96739009, 0x00006001,
- 0x82339008, 0x0000b000, 0x9673900d, 0x0000e001, 0x00339004, 0x00003002,
- 0x0000180b, 0x00006106, 0xa6b39009, 0x00003001, 0x92739008, 0x0000e000,
- 0xa6b3900d, 0x0000b001, 0xc3339004, 0x0000e000, 0xc000180b, 0x0000b006,
+ 0x0001e140, 0x00008980, 0x02400000, 0x00006180, 0x10738008, 0x00006000,
+ 0x03401000, 0x00006180, 0x20b38008, 0x00006000, 0xd3738009, 0x00006004,
+ 0x41338008, 0x00003000, 0x01000000, 0x0000e180, 0x8633800d, 0x00006001,
+ 0x80000e67, 0x00006583, 0x02c00000, 0x00000980, 0x96738009, 0x0000e001,
+ 0x82338008, 0x00003000, 0x9673800d, 0x00006001, 0x00338004, 0x0000b002,
+ 0x0000180b, 0x00006106, 0xa6b38009, 0x0000b001, 0x92738008, 0x00006000,
+ 0xa6b3800d, 0x00003001, 0xc3338004, 0x00006000, 0xc000180b, 0x0000b006,
0x01400000, 0x00006180, 0x0197f840, 0x00004980, 0x01c00000, 0x000080f0,
- 0x00005ea8, 0x0000f410, 0x03c00004, 0x0000e180, 0x82901202, 0x00004900,
+ 0x00005ba1, 0x0000f410, 0x03c00004, 0x0000e180, 0x82901202, 0x00004900,
0x028b5502, 0x0000082a, 0x1b833867, 0x00008618, 0x2c009467, 0x00009680,
0x99c588b0, 0x00001000, 0xe3033c67, 0x00002004, 0xffffffff, 0x00007fa7,
- 0x00000c67, 0x00009583, 0x19e807e4, 0x00009808, 0x00005d0f, 0x00007011,
- 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000, 0xe33b4463, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x19c33868, 0x00001300, 0xe33b3c63, 0x00002884,
- 0x00c002ec, 0x0000df80, 0x15c8280b, 0x00001684, 0xe3033c63, 0x0000a004,
+ 0x00000c67, 0x00009583, 0x1a2807e4, 0x00009808, 0x00005a09, 0x0000f011,
+ 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000, 0xe33b3c63, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x1a034067, 0x00001300, 0xe33b4463, 0x00002884,
+ 0x00c002ec, 0x0000df80, 0x158ff80b, 0x00009684, 0xe3033c63, 0x0000a004,
0x98ff1fe3, 0x00001900, 0x8a031a63, 0x00002080, 0xffffffff, 0x00007fa7,
- 0x18c03c63, 0x00001281, 0x00001463, 0x00001583, 0x00005cf9, 0x00007013,
- 0x5d0d44a4, 0x0000f100, 0x00005c78, 0x00007200, 0x1ba00736, 0x00008395,
+ 0x18c03c63, 0x00001281, 0x00001463, 0x00001583, 0x000059f3, 0x00007013,
+ 0x5a074ace, 0x0000f100, 0x5a0949da, 0x0000f300, 0x01402800, 0x00009981,
0x2c009466, 0x00001680, 0x98c588b0, 0x00009000, 0xe3000463, 0x0000d004,
- 0x00400800, 0x00000082, 0x99801c6e, 0x00006080, 0x1de3746e, 0x00004901,
+ 0x00400800, 0x00000082, 0x99801c6e, 0x00006080, 0x1da3746e, 0x0000c901,
0x07836866, 0x0000f902, 0x1b000000, 0x00008100, 0x07835a66, 0x00007902,
- 0x1a000000, 0x00000100, 0x1d23746e, 0x00001901, 0xffffffff, 0x00007f97,
+ 0x1a000000, 0x00000100, 0x1ce3746e, 0x00009901, 0xffffffff, 0x00007f97,
0x198b586c, 0x00001100, 0x000b4066, 0x00001502, 0x19800000, 0x00009999,
- 0x00005ea0, 0x0000f031, 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000,
- 0x9a401263, 0x00006080, 0x9c801263, 0x00000080, 0x09035c70, 0x0000e006,
- 0x0a035c63, 0x00003006, 0x19c00c63, 0x00001880, 0x99d33a69, 0x00001000,
- 0xe33b8e67, 0x00002084, 0xe303ac67, 0x00007902, 0x1cc00000, 0x00000004,
- 0xffffffff, 0x00007f97, 0x1a638c63, 0x00009000, 0x00238069, 0x00001502,
- 0x0e839873, 0x0000e148, 0x1a438871, 0x0000c948, 0x0e43a875, 0x00009948,
- 0x00005d5e, 0x00007040, 0x00000c69, 0x00001583, 0xe37a0067, 0x0000b03c,
- 0xe37a1267, 0x0000b03c, 0x00005d3b, 0x0000f030, 0xe37a2467, 0x0000b03c,
+ 0x00005b99, 0x0000f031, 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000,
+ 0x9bc01263, 0x00006080, 0x9c801263, 0x00000080, 0x09035c71, 0x00006006,
+ 0x0a035c63, 0x00003006, 0x19c00c63, 0x00001880, 0x99d33a6f, 0x00001000,
+ 0xe33b8667, 0x0000a084, 0xe304e467, 0x0000f902, 0x1e400000, 0x00000004,
+ 0xffffffff, 0x00007f97, 0x1e238463, 0x00001000, 0x00238878, 0x00009502,
+ 0x0e83c879, 0x0000e148, 0x1c438070, 0x0000c948, 0x0e44e09c, 0x00009948,
+ 0x00005a58, 0x0000f040, 0x00000c71, 0x00001583, 0xe37a0067, 0x0000b03c,
+ 0xe37a1267, 0x0000b03c, 0x00005a35, 0x0000f030, 0xe37a2467, 0x0000b03c,
0xe37a3667, 0x0000b03c, 0xe3ba4067, 0x0000303c, 0xe3ba5267, 0x0000303c,
- 0xe3ba6467, 0x0000303c, 0xe3ba7667, 0x0000303c, 0x1c238c71, 0x00006100,
- 0x19c00c71, 0x00004081, 0x18e31c67, 0x00009001, 0x8623186b, 0x0000e807,
- 0x1bc00000, 0x0000e181, 0x18c0096b, 0x0000c080, 0x5ac31863, 0x00009900,
+ 0xe3ba6467, 0x0000303c, 0xe3ba7667, 0x0000303c, 0x1c638470, 0x0000e100,
+ 0x19c00c70, 0x0000c081, 0x18e31c67, 0x00009001, 0x8623186b, 0x0000e807,
+ 0x1dc00000, 0x0000e181, 0x18c0096b, 0x0000c080, 0x5ac31863, 0x00009900,
0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000, 0xe3000463, 0x0000d004,
- 0x00400000, 0x00008082, 0x99c01c74, 0x00001880, 0x07bb6867, 0x00005100,
+ 0x00400000, 0x00008082, 0x99c01c73, 0x00009880, 0x07bb6867, 0x00005100,
0x003b6000, 0x00008000, 0x07bb5a67, 0x0000d100, 0x003b4000, 0x00000000,
- 0x07434e67, 0x0000a182, 0xe33b3c63, 0x0000a084, 0xe3000463, 0x00005084,
+ 0x0743c667, 0x0000a182, 0xe33b3c63, 0x0000a084, 0xe3000463, 0x00005084,
0x00400000, 0x00008000, 0x1a000002, 0x00001980, 0xffffffff, 0x00007f86,
- 0x00000067, 0x00001582, 0x00005daf, 0x0000f00b, 0x18c33867, 0x00001b00,
+ 0x00000067, 0x00001582, 0x00005aa9, 0x0000700b, 0x18c33867, 0x00001b00,
0x18c31fe4, 0x0000e000, 0x04131868, 0x00006187, 0x18c318e5, 0x00009400,
0x770000ec, 0x00005680, 0x003b4000, 0x00000000, 0x19c31867, 0x00001200,
- 0xaa600067, 0x00004491, 0x6aa0046f, 0x00001794, 0x7e000c66, 0x0000788b,
- 0x9ac00000, 0x00002e8d, 0x98c01c6e, 0x00006080, 0x19c0406d, 0x00004180,
- 0x07434e63, 0x00007902, 0x1bc00000, 0x00008100, 0x07043463, 0x0000f902,
- 0x21400000, 0x00000100, 0x07042663, 0x0000f902, 0x20c00000, 0x00000100,
- 0x07441263, 0x0000f902, 0x1ec00000, 0x00008100, 0x00037867, 0x00006502,
- 0x1c000000, 0x00000980, 0x077bcc63, 0x00002180, 0x00005e9a, 0x00007069,
+ 0x49a00067, 0x0000c491, 0xdaa00477, 0x00009696, 0xcc000c66, 0x0000f88a,
+ 0x6ac00000, 0x0000ad85, 0x98c01c6e, 0x00006080, 0x19c0406d, 0x00004180,
+ 0x0743ae63, 0x0000f902, 0x1bc00000, 0x00008100, 0x07043c63, 0x00007902,
+ 0x21800000, 0x00000100, 0x07042e63, 0x00007902, 0x21000000, 0x00008100,
+ 0x07441a63, 0x00007902, 0x20800000, 0x00008100, 0x00037867, 0x00006502,
+ 0x1c400000, 0x00008980, 0x077bdc63, 0x0000a180, 0x00005b93, 0x00007069,
0x0a035c67, 0x0000e006, 0x09035c63, 0x00003006, 0x00233c63, 0x00001503,
- 0x19c00000, 0x000019b1, 0x00005e88, 0x0000f019, 0x18c3786d, 0x00006100,
- 0x21f20004, 0x00008980, 0x27404063, 0x00006480, 0xa7e80500, 0x00004900,
- 0xe1d81302, 0x0000e100, 0x18c00a69, 0x0000c180, 0x1cc37863, 0x00006200,
- 0xc724e86b, 0x00002007, 0x1cc02073, 0x00006080, 0x9a539a69, 0x00004100,
- 0x2c00946e, 0x00009680, 0x9d8588b0, 0x00001000, 0x27839886, 0x00006002,
- 0x9cc0229d, 0x00008880, 0x1e000000, 0x0000f900, 0x000010c4, 0x00008980,
- 0x27000000, 0x0000f900, 0x00007fc0, 0x00000980, 0x9cfffa73, 0x00007900,
- 0x00000002, 0x00008280, 0xe7f1a276, 0x00007900, 0x00000006, 0x00008080,
- 0x1c400085, 0x0000e084, 0x00139878, 0x00002106, 0xa700229d, 0x0000e080,
- 0x1cc4f09e, 0x00004900, 0x8014ea69, 0x00001502, 0x1d437863, 0x00001202,
- 0xffffffff, 0x00007f86, 0x00005e6d, 0x0000f028, 0x00005e49, 0x00007008,
- 0x703bc0ec, 0x0000d600, 0x003cf800, 0x00008000, 0x703b98ec, 0x00005600,
- 0x003b8800, 0x00008000, 0x703ce0ec, 0x0000d600, 0x003c3800, 0x00008000,
- 0x00d802ec, 0x0000df80, 0x15ccc009, 0x000093c4, 0x00000070, 0x0000e582,
- 0x09035c63, 0x0000a006, 0x1a437c63, 0x0000e000, 0x8000006b, 0x0000a407,
- 0x19c00c67, 0x00006191, 0x98c01c77, 0x00000880, 0x00005dde, 0x00007208,
- 0x077b4e63, 0x00002900, 0x1a400000, 0x0000e181, 0x18c01467, 0x0000c881,
- 0x38420463, 0x00009081, 0x1be34c69, 0x0000e100, 0x18e33870, 0x0000c100,
- 0x0003186f, 0x00001502, 0x18c00c69, 0x000098a8, 0x1a400c69, 0x000060a9,
- 0x98d31a72, 0x00008028, 0x00005dda, 0x00007020, 0xe33bb463, 0x0000303c,
- 0xe33bc663, 0x0000303c, 0x00005da3, 0x0000f403, 0x1003b500, 0x00007904,
- 0x1003c500, 0x0000f904, 0x0000046f, 0x00009583, 0x00005e35, 0x0000f013,
- 0x00000c66, 0x00001583, 0x00005df8, 0x0000700b, 0x19800870, 0x00006180,
- 0x19c38070, 0x00008900, 0x00001866, 0x00006582, 0x2501c839, 0x00008900,
- 0x19c07c70, 0x000062b1, 0xb0000889, 0x00002431, 0xc7233834, 0x0000e037,
- 0xb6e3382b, 0x00003037, 0x00004ae6, 0x00007230, 0xa4134a69, 0x00006130,
- 0x2541d03a, 0x0000c900, 0x18000ce0, 0x00001283, 0x00005df3, 0x0000f013,
+ 0x19c00000, 0x000019b1, 0x00005b81, 0x0000f019, 0x18c3786d, 0x00006100,
+ 0x27720004, 0x00000980, 0x1e004063, 0x0000e480, 0xa7280500, 0x00004900,
+ 0xe7581302, 0x00006100, 0x18c00a75, 0x00004180, 0x1d037863, 0x0000e200,
+ 0xc723c06b, 0x0000a007, 0x1d002074, 0x00006080, 0x9e93a275, 0x0000c100,
+ 0x2c00946e, 0x00009680, 0x9d4588b0, 0x00001000, 0x1c03a087, 0x00006002,
+ 0x9d002278, 0x00008880, 0x1e400000, 0x00007900, 0x000010c4, 0x00008980,
+ 0x27800000, 0x00007900, 0x00007fc0, 0x00000980, 0x9d3ffa74, 0x00007900,
+ 0x00000002, 0x00008280, 0x1dc00086, 0x0000e084, 0x0013a079, 0x00002106,
+ 0xe731a275, 0x00007900, 0x00000006, 0x00008080, 0x8013c27a, 0x0000e502,
+ 0xa7802278, 0x00000880, 0x1d03b877, 0x00009900, 0x1d437863, 0x00001202,
+ 0xffffffff, 0x00007f86, 0x00005b0d, 0x0000f028, 0x00005ae9, 0x0000f008,
+ 0x703bc8ec, 0x00005600, 0x003ce000, 0x00008000, 0x703b80ec, 0x00005600,
+ 0x003ba000, 0x00008000, 0x703cf0ec, 0x00005600, 0x003ce800, 0x00000000,
+ 0x00d802ec, 0x0000df80, 0x15949009, 0x000013c4, 0x00000071, 0x00006582,
+ 0x09035c63, 0x0000a006, 0x1e037c63, 0x0000e000, 0x8000006b, 0x0000a407,
+ 0x1c000000, 0x0000e191, 0x98c01c76, 0x00004880, 0x00005ad7, 0x0000f208,
+ 0x077bc663, 0x00002900, 0x18c00c67, 0x00009181, 0x19c01463, 0x00009881,
+ 0x38420467, 0x00001081, 0x1be38470, 0x0000e100, 0x19e31871, 0x00004100,
+ 0x0003386f, 0x00009502, 0x19c00c70, 0x000098a8, 0x1c000c70, 0x000060a9,
+ 0x99d33a72, 0x00008028, 0x00005ad3, 0x0000f020, 0xe33bb467, 0x0000b03c,
+ 0xe33ba667, 0x0000b03c, 0x00005a9d, 0x0000f403, 0x1003b500, 0x00007904,
+ 0x1003a500, 0x0000f904, 0x00000477, 0x00009583, 0x00005b6d, 0x00007013,
+ 0x00000c66, 0x00001583, 0x00005b30, 0x0000f00b, 0x19800871, 0x0000e180,
+ 0x2501c839, 0x00008900, 0x00001866, 0x00006582, 0x2541d03a, 0x00000900,
+ 0x19c07c71, 0x0000e2b1, 0xb0000889, 0x00002431, 0xc7233834, 0x0000e037,
+ 0xb6e3382b, 0x00003037, 0x00004b60, 0x00007230, 0xa413c278, 0x00001930,
+ 0x18000ce0, 0x00001283, 0x00005b2b, 0x0000f013, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x99771ee3, 0x00001900, 0xe2031c65, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583, 0x01172871, 0x00006230,
+ 0x01400020, 0x000009b0, 0x01c02000, 0x000061b0, 0x03400000, 0x0000c9b0,
+ 0x00005b28, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04688000, 0x00007900, 0x001c3d54, 0x00000980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x5ad32213, 0x0000f500, 0x82e00500, 0x0000802e,
+ 0x04b81704, 0x0000003c, 0x0a035c63, 0x0000e806, 0x18e31c70, 0x00009001,
+ 0x00005a39, 0x00007200, 0x8623186b, 0x0000e807, 0xe3033e72, 0x0000a084,
+ 0xe3020472, 0x0000f902, 0x0e800000, 0x00008004, 0xe3038e72, 0x00002087,
+ 0xe37a0872, 0x0000a004, 0x00000c67, 0x00009583, 0xe37a1272, 0x0000303c,
+ 0x0e420040, 0x00009900, 0x00005ae7, 0x00007230, 0xe37a0072, 0x0000a084,
+ 0xe37a2472, 0x0000303c, 0xe37a3672, 0x0000303c, 0xe3ba4072, 0x0000b03c,
+ 0xe3ba5272, 0x0000b03c, 0xe3ba6472, 0x0000b03c, 0xe3ba7672, 0x0000b03c,
+ 0x00005ad5, 0x0000f200, 0x18c00c67, 0x00001081, 0xa7000000, 0x0000e180,
+ 0xc0000079, 0x00006406, 0x1d3c2785, 0x00000700, 0x703bc8ec, 0x00005600,
+ 0x003ce000, 0x00008000, 0x703ba0ec, 0x0000d600, 0x003b8000, 0x00000000,
+ 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000, 0x703cf0ec, 0x00005600,
+ 0x003ce800, 0x00000000, 0xe33c3e63, 0x0000d004, 0x003c3000, 0x00000000,
+ 0x1c13da7b, 0x00006100, 0x18c00b7b, 0x00004180, 0x00031870, 0x00006502,
+ 0x1d40346e, 0x00008880, 0x9dc00a7b, 0x000060c8, 0x9dc00000, 0x000089c0,
+ 0x98c01c6e, 0x00006080, 0x00804079, 0x00006586, 0x073c2c63, 0x0000d100,
+ 0x003c2000, 0x00008000, 0x0763bc63, 0x00002980, 0x18c01a77, 0x00006080,
+ 0xa7280500, 0x00004900, 0x1c041863, 0x0000e002, 0xa7804000, 0x00000980,
+ 0x18c01875, 0x0000e780, 0x9ed3ba77, 0x00008900, 0xe7039a63, 0x0000f900,
+ 0x00000008, 0x00000080, 0x00005a8c, 0x0000f400, 0x703bc8ec, 0x00005600,
+ 0x003ce000, 0x00008000, 0x1d000082, 0x00009084, 0x18c37863, 0x00006202,
+ 0xc0000079, 0x0000a406, 0xa7000000, 0x0000e180, 0x98c0227a, 0x00004890,
+ 0x98fffa63, 0x0000f910, 0x00000002, 0x00008280, 0x00005aeb, 0x00007008,
+ 0xa780227a, 0x00006080, 0x00131879, 0x0000e106, 0x18d3d078, 0x0000e100,
+ 0x1d042885, 0x00000900, 0x703bc8ec, 0x00005600, 0x003ce000, 0x00008000,
+ 0x9e800a7a, 0x00006080, 0x98c02263, 0x00004880, 0x703b80ec, 0x00005600,
+ 0x003bb800, 0x00008000, 0x9c3ffa63, 0x0000f900, 0x00000002, 0x00008280,
+ 0x703cf0ec, 0x00005600, 0x003ce800, 0x00000000, 0xe71ce27a, 0x00006000,
+ 0x00138079, 0x0000a106, 0x00005aec, 0x0000f400, 0xa7bffa63, 0x0000f900,
+ 0x00000002, 0x00008280, 0x1c042084, 0x00001900, 0x5b2b4a1a, 0x00007500,
+ 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6, 0x5b2c2269, 0x00007100,
+ 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00005ab9, 0x0000f00b,
+ 0x5b304ace, 0x0000f100, 0x18c00ce0, 0x00001283, 0x00005b77, 0x0000f013,
+ 0x02c00000, 0x000000f8, 0x99802302, 0x0000e780, 0x0000180b, 0x0000a106,
+ 0x23800000, 0x0000f900, 0x00100000, 0x00000980, 0x0200b000, 0x0000f900,
+ 0x0001e180, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0xc000180b, 0x0000e006,
+ 0x4513300e, 0x0000b107, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
+ 0x23000000, 0x000088f4, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
+ 0x24c01800, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
+ 0x26400000, 0x000009e8, 0x26c00000, 0x000080f0, 0x03c00004, 0x0000e180,
+ 0x82901202, 0x00004900, 0xc2981302, 0x00009900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780,
+ 0x00884880, 0x000082c8, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x02c00000, 0x0000e180, 0x99d30e6a, 0x0000c000,
+ 0x03800000, 0x0000e180, 0x0000180b, 0x00006106, 0x98c06267, 0x00006080,
+ 0xc000180b, 0x00002006, 0x0218b000, 0x0000f900, 0x0001e140, 0x00008980,
+ 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03401000, 0x0000f900,
+ 0x0001c000, 0x00000980, 0x98403e61, 0x0000e181, 0x4513300e, 0x00002107,
+ 0x23800000, 0x000088fc, 0x01000802, 0x0000e180, 0x01400000, 0x00004980,
+ 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980, 0x03000000, 0x00006180,
+ 0x03c00004, 0x0000c980, 0x00005aad, 0x0000f400, 0x02a81402, 0x00008028,
+ 0xa2d31e62, 0x0000e000, 0xe293526a, 0x00008900, 0x18c00800, 0x00001981,
+ 0x19c00ce0, 0x00009283, 0x00005b7c, 0x00007013, 0x00000c63, 0x00001583,
+ 0x81403000, 0x0000e189, 0x41804000, 0x00004989, 0xc1400800, 0x0000e189,
+ 0x41405800, 0x00004989, 0x00005aab, 0x0000f010, 0x5b774a1a, 0x0000f100,
+ 0x5b782269, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x00005b32, 0x0000700b, 0x5b7c4ace, 0x00007100, 0x5b7d2269, 0x0000f100,
+ 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00005b70, 0x0000700b,
+ 0x5b814ace, 0x0000f100, 0x0e7bcf9c, 0x00008328, 0xdc420070, 0x00000e86,
+ 0x19c00800, 0x00009981, 0x0a035c63, 0x00006006, 0x09035c70, 0x0000b006,
+ 0x1c231c70, 0x0000e100, 0x1d233c67, 0x00000900, 0x00038074, 0x00009502,
+ 0x18e31c67, 0x00001048, 0x19c00c67, 0x000060c9, 0x18c00863, 0x000088c8,
+ 0x00005a6b, 0x0000f040, 0x98d31a72, 0x00001000, 0xe33ce463, 0x0000b03c,
+ 0xe33bc663, 0x0000303c, 0x00005b84, 0x0000f403, 0x1004e500, 0x0000f904,
+ 0x1003c500, 0x0000f904, 0x5b9468c9, 0x0000f004, 0x18cb596b, 0x00009900,
+ 0x00036063, 0x00001502, 0x1dc00800, 0x00009989, 0x00005a66, 0x0000f011,
+ 0x00005a3c, 0x0000f000, 0x5b9a68c9, 0x00007004, 0x19cb4168, 0x00006100,
+ 0x198b586c, 0x00004100, 0x000b4066, 0x00001502, 0x00005bb4, 0x00007033,
+ 0x19800000, 0x00009981, 0x00005a19, 0x0000f200, 0x1da3746e, 0x00009901,
+ 0x99ff1fe3, 0x00009900, 0x8a033267, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x18c03c66, 0x00001281, 0x00001463, 0x00001583, 0x1d01c038, 0x00001910,
+ 0x00005a06, 0x0000f009, 0x5ba96831, 0x0000f004, 0x0000046b, 0x00001583,
+ 0x99c01c6e, 0x00001890, 0x07933267, 0x0000a112, 0x00005a06, 0x00007008,
+ 0xffffffff, 0x00007f97, 0x18c04466, 0x00009283, 0x18c01800, 0x00006189,
+ 0x9e000000, 0x00004988, 0x19800000, 0x00001989, 0x00005a0d, 0x0000f010,
+ 0x00005b6e, 0x0000f000, 0x00000067, 0x00001582, 0x19800800, 0x0000e191,
+ 0x5a000000, 0x0000c990, 0x00005b9f, 0x00007011, 0x00005b9e, 0x0000f000,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x18000ce0, 0x00001283, 0x00005c12, 0x00007013,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99771ee3, 0x00001900,
- 0xe2031c65, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583,
- 0x01972870, 0x00006230, 0x01c00020, 0x000089b0, 0x03c02000, 0x0000e1b0,
- 0x01400000, 0x000049b0, 0x00005df0, 0x00007018, 0x0412d800, 0x00007900,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99f71ee3, 0x00009900,
+ 0xe2033467, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
+ 0x01400020, 0x0000e1b0, 0x01c02000, 0x000049b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00005be4, 0x00007018, 0x0412d800, 0x00007900,
0x0005a686, 0x00000980, 0x04688000, 0x00007900, 0x001c3d54, 0x00000980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x5dda20b1, 0x00007500,
- 0x82e00500, 0x0000802e, 0x04b81706, 0x00008030, 0x0a035c67, 0x00006806,
- 0x18e33c69, 0x00009001, 0x00005d3f, 0x0000f200, 0x8623186b, 0x0000e807,
- 0xe3033e72, 0x0000a084, 0xe3020472, 0x0000f902, 0x0e800000, 0x00008004,
- 0xe3038672, 0x0000a087, 0xe37a0872, 0x0000a004, 0x00000c67, 0x00009583,
- 0xe37a1272, 0x0000303c, 0x0e420040, 0x00009900, 0x00005dee, 0x0000f230,
- 0xe37a0072, 0x0000a084, 0xe37a2472, 0x0000303c, 0xe37a3672, 0x0000303c,
- 0xe3ba4072, 0x0000b03c, 0xe3ba5272, 0x0000b03c, 0xe3ba6472, 0x0000b03c,
- 0xe3ba7672, 0x0000b03c, 0x00005ddc, 0x00007200, 0x18c00c67, 0x00001081,
- 0x5df343f0, 0x0000f500, 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6,
- 0x5df42108, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
- 0x00005dc0, 0x0000f00b, 0x5df844a4, 0x0000f100, 0x18c00ce0, 0x00001283,
- 0x00005e3f, 0x0000f013, 0x02c00000, 0x000000f8, 0x99802302, 0x0000e780,
- 0x0000180b, 0x0000a106, 0x23800000, 0x0000f900, 0x00100000, 0x00000980,
- 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0xc000180b, 0x0000e006, 0x4513300e, 0x0000b107, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23c00000, 0x000089c0,
- 0x24400000, 0x000009c8, 0x24c01800, 0x000089d0, 0x25400000, 0x000009d8,
- 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8, 0x26c00000, 0x000080f0,
- 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0xc2981302, 0x00009900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009010ec, 0x00005780, 0x00884880, 0x000082c8, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02c00000, 0x0000e180,
- 0x99d30e6a, 0x0000c000, 0x03800000, 0x0000e180, 0x0000180b, 0x00006106,
- 0x98c06267, 0x00006080, 0xc000180b, 0x00002006, 0x0218b000, 0x0000f900,
- 0x0001e140, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03401000, 0x0000f900, 0x0001c000, 0x00000980, 0x98403e61, 0x0000e181,
- 0x4513300e, 0x00002107, 0x23800000, 0x000088fc, 0x01000802, 0x0000e180,
- 0x01400000, 0x00004980, 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980,
- 0x03000000, 0x00006180, 0x03c00004, 0x0000c980, 0x00005db3, 0x00007400,
- 0x02a81402, 0x00008028, 0xa2d31e62, 0x0000e000, 0xe293526a, 0x00008900,
- 0x18c00800, 0x00001981, 0x19c00ce0, 0x00009283, 0x00005e44, 0x0000f013,
- 0x00000c63, 0x00001583, 0x81403000, 0x0000e189, 0x41804000, 0x00004989,
- 0xc1400800, 0x0000e189, 0x41405800, 0x00004989, 0x00005db1, 0x0000f010,
- 0x5e3f43f0, 0x00007100, 0x5e402108, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000468, 0x00001583, 0x00005dfa, 0x0000f00b, 0x5e4444a4, 0x00007100,
- 0x5e452108, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
- 0x00005e38, 0x0000700b, 0x5e4944a4, 0x0000f100, 0xa7c00000, 0x0000e180,
- 0xc0000078, 0x0000e406, 0x1c7c1f84, 0x00008624, 0x703bc0ec, 0x0000d600,
- 0x003cf800, 0x00008000, 0x703b88ec, 0x0000d600, 0x003b4800, 0x00008000,
- 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000, 0x703ce0ec, 0x0000d600,
- 0x003c3800, 0x00008000, 0xe33c3663, 0x00005004, 0x003c2800, 0x00000000,
- 0x1a53ca79, 0x0000e100, 0x18c00b79, 0x0000c180, 0x00031869, 0x0000e502,
- 0x1d80346e, 0x00008880, 0x9a400a79, 0x0000e0c8, 0x9a400000, 0x000089c0,
- 0x98c01c6e, 0x00006080, 0x00804078, 0x0000e586, 0x073c2463, 0x00005100,
- 0x003c1800, 0x00000000, 0x07634c63, 0x00002980, 0x18c01a69, 0x00006080,
- 0xa7e80500, 0x00004900, 0x1cc41063, 0x00006002, 0x0000409c, 0x0000a586,
- 0x18c01876, 0x0000e780, 0x9e534a69, 0x00000900, 0xe7c39a63, 0x0000f900,
- 0x00000008, 0x00000080, 0x00005d92, 0x00007400, 0x703bc0ec, 0x0000d600,
- 0x003cf800, 0x00008000, 0x1c40007b, 0x00009084, 0x18c37863, 0x00006202,
- 0xc0000078, 0x00002406, 0xa7c00000, 0x0000e180, 0x98c02269, 0x0000c890,
- 0x98fffa63, 0x0000f910, 0x00000002, 0x00008280, 0x00005e4b, 0x0000f008,
- 0xa7002269, 0x00006080, 0x00131878, 0x00006106, 0x9a400a69, 0x00006080,
- 0x18d3489d, 0x00004100, 0x703bc0ec, 0x0000d600, 0x003cf800, 0x00008000,
- 0x98c02263, 0x00006080, 0xe7dcfa69, 0x00004000, 0x703cf0ec, 0x00005600,
- 0x003b8800, 0x00008000, 0x9c7ffa63, 0x00007900, 0x00000002, 0x00008280,
- 0x703ce0ec, 0x0000d600, 0x003c3800, 0x00008000, 0x1a441883, 0x0000e100,
- 0x00138878, 0x00006106, 0x00005e4c, 0x00007400, 0xa73ffa63, 0x00007900,
- 0x00000002, 0x00008280, 0x1c442084, 0x00009900, 0x0e7b9f75, 0x00000328,
- 0xdc020071, 0x00000e86, 0x19c00800, 0x00009981, 0x0a035c63, 0x00006006,
- 0x09035c73, 0x0000b006, 0x1ce31c73, 0x0000e100, 0x1c633c67, 0x00000900,
- 0x00039871, 0x00009502, 0x18e31c67, 0x00001048, 0x19c00c67, 0x000060c9,
- 0x18c00863, 0x000088c8, 0x00005d71, 0x0000f040, 0x98d31a72, 0x00001000,
- 0xe33ce463, 0x0000b03c, 0xe33cf663, 0x0000b03c, 0x00005e8b, 0x0000f403,
- 0x1004e500, 0x0000f904, 0x1004f500, 0x00007904, 0x5e9b6344, 0x00007004,
- 0x18cb596b, 0x00009900, 0x00036063, 0x00001502, 0x1bc00800, 0x00009989,
- 0x00005d6c, 0x00007011, 0x00005d42, 0x00007000, 0x5ea16344, 0x00007004,
- 0x19cb4168, 0x00006100, 0x198b586c, 0x00004100, 0x000b4066, 0x00001502,
- 0x00005ebb, 0x00007033, 0x19800000, 0x00009981, 0x00005d1f, 0x00007200,
- 0x1de3746e, 0x00001901, 0x99ff1fe3, 0x00009900, 0x8a033267, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x18c03c66, 0x00001281, 0x00001463, 0x00001583,
- 0x1d41c038, 0x00009910, 0x00005d0c, 0x00007009, 0x5eb062ac, 0x0000f004,
- 0x00000468, 0x00001583, 0x99c01c6e, 0x00001890, 0x07933267, 0x0000a112,
- 0x00005d0c, 0x0000f008, 0xffffffff, 0x00007f97, 0x18c04466, 0x00009283,
- 0x18c01800, 0x00006189, 0x19800000, 0x00004989, 0x9a400000, 0x00001988,
- 0x00005d13, 0x00007010, 0x00005e36, 0x00007000, 0x00000067, 0x00001582,
- 0x19800800, 0x0000e191, 0x5a000000, 0x0000c990, 0x00005ea6, 0x00007011,
- 0x00005ea5, 0x00007000, 0x18000ce0, 0x00001283, 0x00005ee1, 0x0000f013,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x5bd92213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x04a31c63, 0x00009900, 0x80003a76, 0x00009582,
+ 0x00005c17, 0x0000f033, 0x0e433066, 0x0000e100, 0x18c00a75, 0x00004180,
+ 0x0e39af78, 0x0000061a, 0x00031866, 0x00001502, 0x98c00000, 0x000061c0,
+ 0x98c00b35, 0x000040c8, 0x00004f00, 0x0000f400, 0xffffffff, 0x00007f86,
+ 0xcd531a63, 0x00009900, 0x5be74a1a, 0x00007500, 0xc1601803, 0x000000da,
+ 0xc1600402, 0x000000d6, 0x18000ce0, 0x00001283, 0x00005c0d, 0x0000f013,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99771ee3, 0x00001900,
- 0xe2033c65, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
- 0x81401800, 0x00006199, 0x41801800, 0x00004999, 0xc1401000, 0x00006199,
- 0x41400000, 0x00004999, 0x00005ed6, 0x0000f030, 0x5ed443f0, 0x00007100,
- 0x5ed643b0, 0x0000f300, 0x01802800, 0x00009981, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04688000, 0x00007900, 0x001c3d54, 0x00000980, 0x03c00004, 0x000080d4,
- 0x82e00500, 0x0000802e, 0x5ee120b1, 0x0000f500, 0x03038702, 0x0000810b,
- 0x81c01000, 0x00009980, 0x5ee22108, 0x00007100, 0xffffffff, 0x00007f86,
- 0x00000468, 0x00001583, 0x00005ec2, 0x0000700b, 0x5ee644a4, 0x0000f100,
- 0xc1001f34, 0x00001283, 0x99f71ee3, 0x00001908, 0xe2032c67, 0x0000208c,
- 0x00005f13, 0x0000f010, 0xffffffff, 0x00007f97, 0x00020465, 0x00001583,
- 0x18c04060, 0x0000e7b0, 0x0a01a466, 0x00002032, 0x01c00020, 0x000061b0,
- 0x01400000, 0x000049b0, 0x00005f10, 0x00007018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x046ed000, 0x00007900, 0x00386bf0, 0x00008980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x5efc20b1, 0x0000f500, 0x03001002, 0x0000e100, 0x04972863, 0x00004200,
- 0x03e33466, 0x00009900, 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99f71ee3, 0x00009900,
+ 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
+ 0x01400020, 0x0000e1b0, 0x01c02000, 0x000049b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00005c0a, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04688000, 0x00007900, 0x001c3d54, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x5c032213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x04a31c63, 0x00009900, 0xdfbb38ec, 0x00002084,
+ 0x00030018, 0x00001502, 0x00004bc4, 0x0000f463, 0x18c00067, 0x00007900,
+ 0x003fc000, 0x00000280, 0xdfbb18ec, 0x00002884, 0x5c0a4aa5, 0x0000f100,
+ 0x5c0d4a1a, 0x00007500, 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6,
+ 0x5c0e2269, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x00005be9, 0x0000700b, 0x5c124ace, 0x00007100, 0x5c132269, 0x0000f100,
+ 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00005bbf, 0x0000700b,
+ 0x5c174ace, 0x00007100, 0x09821c77, 0x0000e804, 0x18e3bc77, 0x0000e100,
+ 0x1d800c77, 0x00004180, 0x00001876, 0x00001582, 0x00005dde, 0x0000701b,
+ 0x00133863, 0x00001502, 0x0ec33066, 0x00006150, 0x0e83c078, 0x0000c950,
+ 0x00004f01, 0x00007051, 0x00005bdb, 0x00007000, 0xc0000f7d, 0x0000e583,
+ 0x19400f7d, 0x00008281, 0x18c01465, 0x0000e080, 0x198bef7d, 0x00000030,
+ 0x22004088, 0x00006380, 0x19400f7d, 0x00008781, 0x19400c65, 0x00009180,
+ 0x18c32863, 0x00006000, 0x0b03d465, 0x00006002, 0x98c0a371, 0x0000e180,
+ 0x198be863, 0x00008018, 0xd8632a63, 0x00009100, 0x99a32a63, 0x00006100,
+ 0x23033066, 0x00008900, 0x87202c4c, 0x0000c493, 0x72a0172b, 0x00001788,
+ 0x87315166, 0x00004919, 0x72a00266, 0x00009788, 0xffffffff, 0x00007f86,
+ 0x0013304f, 0x00001502, 0xe000002c, 0x00006408, 0x9000002b, 0x0000b409,
+ 0x0d000834, 0x00001088, 0x00004c2d, 0x0000f008, 0x01000ce0, 0x00009283,
+ 0x00005c72, 0x00007013, 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084,
0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x18c04060, 0x0000e7b0,
- 0x0117282f, 0x00008230, 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0,
- 0x00005f3a, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04665000, 0x00007900, 0x002516f4, 0x00000980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x5f1020b1, 0x0000f500,
- 0x03001002, 0x0000e100, 0x04972863, 0x00004200, 0x03c02004, 0x00009900,
- 0x5f1343f0, 0x0000f500, 0xc1604001, 0x000000da, 0xc160340c, 0x000080d6,
- 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00020465, 0x00001583, 0x18c04060, 0x0000e7b0, 0x0a01a466, 0x00002032,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00005f74, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x044f9800, 0x00007900,
- 0x0018cd26, 0x00008980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x5f2720b1, 0x00007500, 0x03001002, 0x0000e100,
- 0x04972863, 0x00004200, 0x03e33466, 0x00009900, 0x5f2a43f0, 0x0000f500,
- 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04688000, 0x00007900, 0x001c3d54, 0x00000980, 0x03c00004, 0x000080d4,
- 0x82e00500, 0x0000802e, 0x5f3520b1, 0x00007500, 0x03033f02, 0x0000810b,
- 0x81c01000, 0x00009980, 0x5f362108, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000468, 0x00001583, 0x00004ce6, 0x0000700b, 0x5f3a44a4, 0x0000f100,
- 0x5f3d43f0, 0x0000f500, 0xc1604001, 0x000000da, 0xc1604408, 0x000080d6,
- 0xc1001f34, 0x00001283, 0x99b71ee3, 0x00009908, 0xe2033c66, 0x0000208c,
- 0x00005f7a, 0x0000f010, 0xffffffff, 0x00007f97, 0x00020467, 0x00009583,
- 0x19404060, 0x0000e7b0, 0x0a01a463, 0x00002032, 0x01c00020, 0x000061b0,
- 0x01400000, 0x000049b0, 0x00005f77, 0x0000f018, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0464a800, 0x00007900, 0x001ef4aa, 0x00000980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x5f5320b1, 0x00007500, 0x03001002, 0x0000e100, 0x04972865, 0x00004200,
- 0x03e31c63, 0x00009900, 0xc1002734, 0x00009283, 0x99b71ee3, 0x00009908,
- 0xe2033c66, 0x0000208c, 0x00005f6e, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x00008467, 0x00009583, 0x19404060, 0x0000e7b0, 0x01172832, 0x00008230,
- 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0, 0x00005f6c, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04716800, 0x0000f900,
- 0x001bb510, 0x00008980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x5f6920b1, 0x00007500, 0x03001002, 0x0000e100,
- 0x04972865, 0x00004200, 0x03c02004, 0x00009900, 0x5f6c43f0, 0x00007500,
- 0xc1603001, 0x000080da, 0xc1600408, 0x000000d6, 0x5f6e43b0, 0x00007300,
- 0x01800000, 0x00009981, 0x5f6f447b, 0x00007100, 0x5f702108, 0x00007100,
- 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x0000499f, 0x0000f00b,
- 0x5f7444a4, 0x0000f100, 0x5f7743f0, 0x00007500, 0xc1603001, 0x000080da,
- 0xc1600409, 0x000080d6, 0x5f7a43f0, 0x0000f500, 0xc1604001, 0x000000da,
- 0xc160340b, 0x000000d6, 0x99b71ee3, 0x00001900, 0xe2033c66, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583, 0x19404060, 0x0000e7b0,
- 0x0a01a463, 0x00002032, 0x01c00020, 0x000061b0, 0x01400000, 0x000049b0,
- 0x00005f8e, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04757000, 0x00007900, 0x0001e2e4, 0x00000980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x5f8e20b1, 0x00007500,
- 0x03001002, 0x0000e100, 0x04972865, 0x00004200, 0x03e31c63, 0x00009900,
- 0x5f9143f0, 0x0000f500, 0xc1603001, 0x000080da, 0xc1600408, 0x000000d6,
- 0xffc00000, 0x00006180, 0x40001011, 0x00006402, 0x02c00000, 0x0000e180,
- 0x00020039, 0x0000e587, 0x04282839, 0x00006083, 0x00001011, 0x00003403,
- 0x03800000, 0x0000e180, 0x0000180b, 0x00006106, 0x81002302, 0x00006780,
- 0x0000182b, 0x00002405, 0x20003010, 0x0000e406, 0x60001012, 0x0000b402,
- 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0x00502800, 0x0000f900,
- 0x0000c150, 0x00000980, 0xb6e02839, 0x00006081, 0x40003011, 0x0000b407,
- 0xc000180b, 0x0000e006, 0x4510200e, 0x00003107, 0x22000061, 0x000008e4,
- 0x22800000, 0x000008f0, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc,
- 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x8b005000, 0x0000e181,
- 0x22c80033, 0x0000c080, 0x23400734, 0x000080b0, 0x03c00004, 0x0000e180,
- 0x82901202, 0x00004900, 0x02a0ad02, 0x00000083, 0xc0c07800, 0x00001980,
- 0x008806ec, 0x00005f80, 0x00804100, 0x00008a84, 0x04000000, 0x0000e180,
- 0x0880a404, 0x0000e002, 0x00000404, 0x0000e583, 0x04400000, 0x00008980,
- 0x04800000, 0x000081cc, 0x0900a404, 0x0000e80a, 0x00006051, 0x0000f010,
- 0x00000404, 0x00001583, 0x0800ac04, 0x0000e80a, 0x00006051, 0x00007011,
- 0x00000404, 0x00001583, 0x00006051, 0x0000f013, 0x81000a02, 0x00009282,
- 0x18002800, 0x00001991, 0x00006023, 0x00007009, 0xc1006714, 0x00009283,
- 0x41001d15, 0x00001283, 0x01018415, 0x00001283, 0x00006122, 0x0000f010,
- 0x00006151, 0x00007010, 0x000061a4, 0x00007010, 0x81001614, 0x00001283,
- 0x40001011, 0x0000e412, 0x0000182b, 0x00003415, 0x60001012, 0x00006412,
- 0x00001011, 0x0000b413, 0x0000601c, 0x00007210, 0x40001011, 0x0000ec13,
- 0x41006515, 0x00001283, 0x000060c0, 0x00007013, 0x60001012, 0x0000e402,
- 0x00001011, 0x00003403, 0x01880033, 0x00006080, 0x22000000, 0x00008980,
- 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0, 0x23400000, 0x000008f8,
- 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0,
- 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8,
- 0x26c00000, 0x00009980, 0xfda60614, 0x00004497, 0x9ea60415, 0x00001891,
- 0x0221052e, 0x00004563, 0x01000f2b, 0x00000a92, 0x82c028ec, 0x0000f902,
- 0x01000000, 0x00000604, 0xe0001810, 0x0000ec02, 0x0000c006, 0x00007860,
- 0x00000000, 0x00000000, 0x0000472b, 0x0000f88c, 0x00000000, 0x00008020,
- 0x00002830, 0x0000f858, 0x00000000, 0x00008020, 0x00000f2b, 0x00007896,
- 0x00000000, 0x00008020, 0x15e03c2c, 0x0000478f, 0x8b460415, 0x00000d93,
- 0xff81052e, 0x0000c963, 0x1ea00f2b, 0x00009889, 0xffffffff, 0x00007f86,
- 0x01006415, 0x00001283, 0x01803017, 0x00006108, 0x01000000, 0x00000989,
- 0x000060df, 0x00007011, 0x00000006, 0x00009582, 0x60000812, 0x0000e452,
- 0x00000811, 0x00003453, 0xc7d90320, 0x00006150, 0xc0000812, 0x00006453,
- 0x01401c88, 0x00001283, 0x000061e7, 0x0000f00b, 0x00000c04, 0x00006583,
- 0x02c00000, 0x00000980, 0x03800000, 0x0000e180, 0x0000180b, 0x00006106,
- 0x81402302, 0x0000e780, 0xc000180b, 0x00002006, 0x0200b000, 0x0000f900,
- 0x0001e080, 0x00000980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x001010ec, 0x0000d780,
- 0x00884880, 0x000082c8, 0x03000000, 0x00006180, 0x4510280e, 0x0000e107,
- 0x00006175, 0x0000f408, 0x03c00004, 0x0000e180, 0x82901202, 0x00004900,
- 0xc2981302, 0x00009900, 0x00502800, 0x0000f900, 0x0000c010, 0x00000980,
- 0xc000a800, 0x00006181, 0x20001010, 0x0000e402, 0x40607e60, 0x0000808d,
- 0x008806ec, 0x00005f80, 0x00804100, 0x00008a84, 0xc1010715, 0x00006283,
- 0x18001800, 0x00000981, 0xc019031f, 0x00001502, 0xffffffff, 0x00007f86,
- 0x000061f1, 0x00007008, 0x000061ea, 0x00007008, 0x02c00000, 0x000000f8,
- 0x26c00000, 0x00007900, 0x0001c080, 0x00008980, 0x98402302, 0x00006780,
- 0x0000180b, 0x0000a106, 0x23800000, 0x0000f900, 0x00050000, 0x00008980,
- 0xc000180b, 0x0000e006, 0xc0000812, 0x00003403, 0x0200b000, 0x0000f900,
- 0x0001e180, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x001010ec, 0x0000d780,
- 0x00884880, 0x000082c8, 0x22000000, 0x00006180, 0x4513080e, 0x00006107,
- 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0, 0x23400000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x00006180,
- 0xc7d90320, 0x00004900, 0x03000000, 0x00006180, 0x03c00004, 0x0000c980,
- 0x02a81402, 0x00008028, 0xa6d90320, 0x00009900, 0x00502800, 0x0000f900,
- 0x0000c010, 0x00000980, 0xc000a800, 0x00006181, 0x20001010, 0x0000e402,
- 0x40607e60, 0x0000808d, 0x008806ec, 0x00005f80, 0x00804100, 0x00008a84,
- 0x0900a409, 0x00006002, 0x0880a40a, 0x00003002, 0x00000409, 0x00006583,
- 0x0800ac08, 0x00002002, 0x18000000, 0x00006180, 0xa0001011, 0x00006412,
- 0x0000040a, 0x00006583, 0x18400000, 0x00000980, 0x18800000, 0x0000e180,
- 0xc0001011, 0x00006412, 0x00000408, 0x0000e583, 0x18c00000, 0x00008980,
- 0x19000000, 0x0000e180, 0xe0001011, 0x0000e412, 0x19400000, 0x000006d8,
- 0x19c00000, 0x000006e0, 0x1a400000, 0x000006e8, 0x1ac00000, 0x000000d0,
- 0x01400000, 0x000000d8, 0x00000409, 0x00006583, 0x01c00000, 0x00000980,
- 0x0000040a, 0x00009583, 0xffffffff, 0x00007f86, 0x000060ba, 0x0000f008,
- 0x00006088, 0x00007008, 0x00000408, 0x00001583, 0x18508800, 0x0000e190,
- 0x40015010, 0x00006493, 0xd851522a, 0x0000e110, 0x18001002, 0x00004910,
- 0x00006088, 0x00007008, 0x82c034ec, 0x00007902, 0x01000000, 0x00000604,
- 0x1c508f02, 0x00000094, 0x04115005, 0x0000e987, 0x01c02805, 0x00001900,
- 0x1c383707, 0x00008010, 0x01802004, 0x00009900, 0x01000000, 0x00007900,
- 0x00044080, 0x00000980, 0x1bc03006, 0x0000e100, 0x00002004, 0x0000e586,
- 0x607f2178, 0x00007500, 0x1b908800, 0x0000f900, 0x002ccd18, 0x00008980,
- 0x1b402004, 0x00001900, 0x01c00004, 0x00006180, 0x01800000, 0x00004980,
- 0x01009000, 0x00007900, 0x00012280, 0x00008980, 0x01400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x000808ec, 0x0000d780, 0x00884e00, 0x000081c0,
- 0xc1981302, 0x00009900, 0xc0003000, 0x0000e181, 0x20001010, 0x0000e402,
- 0x00502800, 0x0000f900, 0x00004290, 0x00008980, 0xc0c00000, 0x00001980,
- 0x008806ec, 0x00005f80, 0x00804100, 0x000082c4, 0x01803017, 0x00001100,
- 0x00000006, 0x00009582, 0x82c028ec, 0x0000793a, 0x01000000, 0x00000604,
- 0x00006101, 0x00007051, 0x0000002f, 0x00001582, 0x04d00013, 0x0000e390,
- 0x05800000, 0x00008990, 0xffffffff, 0x00007f86, 0x00017816, 0x00006312,
- 0xb000082b, 0x0000b411, 0x0000609f, 0x00007008, 0x013ff82f, 0x00007900,
- 0x0000fffe, 0x00008280, 0x0c002804, 0x0000e000, 0x18000c60, 0x00008181,
- 0x00000006, 0x00006582, 0x01000000, 0x00008981, 0x60000812, 0x0000e452,
- 0x00000811, 0x00003453, 0xc7d90320, 0x00006150, 0xc0000812, 0x00006453,
- 0x79c01c88, 0x0000788e, 0x43000000, 0x00003080, 0x0d416404, 0x00006004,
- 0x0f416461, 0x0000b004, 0x00202461, 0x00009503, 0x18400c61, 0x00001091,
- 0x30e3082c, 0x00006814, 0x00006219, 0x00007008, 0x98400ee3, 0x0000e080,
- 0x22000888, 0x0000c380, 0xddb82061, 0x00002004, 0x2341a034, 0x0000e100,
- 0x8000082b, 0x00006401, 0x22008088, 0x00009380, 0xffffffff, 0x00007f86,
- 0x01000804, 0x00001082, 0xddb82061, 0x00002814, 0x19e60415, 0x0000c494,
- 0xf8c1052e, 0x00009767, 0xff000f2b, 0x0000f897, 0x7ac00000, 0x0000b084,
- 0x82400a02, 0x00001282, 0x0000040a, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00006088, 0x00007010, 0x0000606a, 0x00007010, 0x00006088, 0x0000f000,
- 0x81020615, 0x00009283, 0x01c00020, 0x0000e190, 0x04800000, 0x0000c990,
- 0x03c00000, 0x0000e190, 0x01400000, 0x0000c990, 0x00005fdb, 0x00007008,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0472c800, 0x0000f900,
- 0x000bc11a, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x82e00500, 0x0000802e, 0x03001002, 0x00009900, 0x60cf20b1, 0x0000f100,
- 0x0000072b, 0x00006400, 0xe0001810, 0x0000b403, 0x0000272b, 0x0000f894,
- 0x00000000, 0x00000000, 0x8b80b806, 0x0000f86a, 0x03000001, 0x00000010,
- 0x3c803032, 0x00007872, 0x03000001, 0x00000080, 0x22000888, 0x00006380,
- 0x22c80033, 0x00000080, 0x22020088, 0x00006380, 0x2341a034, 0x00000900,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xe3e1052e, 0x00004563,
- 0x71e00f2b, 0x00007b91, 0x01803017, 0x00001100, 0x00000006, 0x00009582,
- 0x01000000, 0x0000e1b9, 0xa0001810, 0x00006453, 0x82c028ec, 0x0000f952,
- 0x01000000, 0x00000604, 0x00006006, 0x00007038, 0x0000002f, 0x00001582,
- 0x04d00013, 0x0000e390, 0x05800000, 0x00008990, 0xffffffff, 0x00007f86,
- 0x00017816, 0x00006312, 0xb000082b, 0x0000b411, 0x0000609f, 0x00007008,
- 0x0000609f, 0x00007400, 0x187ff82f, 0x00007900, 0x0000fffe, 0x00008280,
- 0x0c002861, 0x0000e000, 0x18000c60, 0x00008181, 0xc011732e, 0x00006502,
- 0x98400000, 0x00008980, 0x98400800, 0x00006190, 0x00000888, 0x0000e402,
- 0x22020088, 0x00006380, 0x1000009b, 0x00002403, 0x10630888, 0x00006000,
- 0xa000002b, 0x00003401, 0x0c617732, 0x00000324, 0xa511722e, 0x0000e100,
- 0x22c80033, 0x0000c080, 0x23497734, 0x0000023a, 0xe6c00000, 0x00001981,
- 0xdfb1012e, 0x0000c563, 0x6fc00f2b, 0x0000f990, 0x22021800, 0x0000e180,
- 0x60000812, 0x0000e402, 0x81002614, 0x0000e283, 0x26c00000, 0x00000980,
- 0xc0000812, 0x00006403, 0xa0000888, 0x0000b410, 0x0000182b, 0x00006415,
- 0x20000810, 0x0000b413, 0xe6e0fc1f, 0x00006111, 0x01000800, 0x00004991,
- 0x01000000, 0x0000e189, 0x00000811, 0x00006403, 0x00000006, 0x00006582,
- 0x25000000, 0x00000980, 0xc7d90320, 0x00006100, 0x60000812, 0x0000e452,
- 0x00000811, 0x00006453, 0xc0000812, 0x00003453, 0x8ba90020, 0x00008238,
- 0x8e400020, 0x000008a4, 0x22800000, 0x000008f0, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25400000, 0x000009d8,
- 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8, 0x22c80033, 0x00006080,
- 0x2341a034, 0x00000900, 0xc7d90320, 0x00006150, 0xa5190320, 0x0000c900,
- 0x79c01c88, 0x0000788e, 0x43000000, 0x00003080, 0xc019032e, 0x00006502,
- 0x98400000, 0x00008980, 0x98400800, 0x00006190, 0x40001011, 0x00006402,
- 0x22022800, 0x0000e180, 0x80001011, 0x00006402, 0x02c00000, 0x0000e180,
- 0x10630888, 0x00006000, 0x18403e2b, 0x0000e281, 0x60000812, 0x00002402,
- 0x0000180b, 0x00006106, 0x00001011, 0x00003403, 0x25000000, 0x000000f8,
- 0x00002461, 0x00006583, 0xc0000812, 0x0000a403, 0x98402302, 0x00006780,
- 0x40001011, 0x00002403, 0x26c00000, 0x00007900, 0x0002c000, 0x00000980,
- 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0x001010ec, 0x0000d780, 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006,
- 0x0000182b, 0x0000340d, 0x22400000, 0x0000e180, 0x4513080e, 0x00006107,
- 0x22800000, 0x000008f0, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
- 0x26400000, 0x000009e8, 0x22c80033, 0x00006080, 0x2341a034, 0x00000900,
- 0x8b810020, 0x00000326, 0x07c00520, 0x000080b0, 0x03c00004, 0x0000e180,
- 0x82901202, 0x00004900, 0x0000604a, 0x0000f400, 0x02a90502, 0x00000238,
- 0xa5190320, 0x00009900, 0x02c00000, 0x0000e180, 0x00001011, 0x0000e402,
- 0x0000180b, 0x00006106, 0x60000812, 0x0000b402, 0x25000000, 0x000009ec,
- 0x03800000, 0x0000e180, 0x98402302, 0x0000c780, 0x0200b000, 0x0000f900,
- 0x0001e080, 0x00000980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x001010ec, 0x0000d780,
- 0x00884880, 0x000082c8, 0x20000810, 0x00006403, 0x60001011, 0x00003403,
- 0xc000180b, 0x0000e006, 0xc0000812, 0x00003403, 0x22203800, 0x00006180,
- 0x4513080e, 0x00006107, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0,
- 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8,
- 0x8ba90020, 0x00008238, 0x8e79a020, 0x00000834, 0x03000000, 0x00006180,
- 0x03c00004, 0x0000c980, 0x02a81402, 0x00008028, 0x07c10520, 0x00008912,
- 0xe6f1662c, 0x00009901, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0x0197284f, 0x00000230, 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x00005c70, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04402000, 0x00007900, 0x00211c22, 0x00000980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x5c4f2213, 0x0000f500,
+ 0x03c01002, 0x0000e100, 0x04972863, 0x00004200, 0x01c03006, 0x00001900,
+ 0xd8408371, 0x00006180, 0x99808371, 0x00000180, 0x8b402c4c, 0x0000c493,
+ 0xb4a0172b, 0x00001788, 0x8b515166, 0x00004913, 0xb4a1867a, 0x00009790,
+ 0xffffffff, 0x00007f86, 0x0013304f, 0x00001502, 0x13d3304f, 0x00006118,
+ 0x1388004e, 0x00000098, 0x00004c30, 0x0000f019, 0x01000ce0, 0x00009283,
+ 0x00005ce0, 0x0000f013, 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x18c04060, 0x0000e7b0,
+ 0x0197284f, 0x00000230, 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x00005cde, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x046bf800, 0x00007900, 0x00181dac, 0x00008980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x5c702213, 0x0000f500,
+ 0x03c01002, 0x0000e100, 0x04972863, 0x00004200, 0x01c03006, 0x00001900,
+ 0x5c7249a5, 0x00007300, 0x81400c11, 0x000000d6, 0x5c732269, 0x0000f100,
+ 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00005c3b, 0x0000f00b,
+ 0x5c774aba, 0x00007100, 0xc0000f7d, 0x0000e583, 0x19400f7d, 0x00008281,
+ 0x18c01465, 0x0000e080, 0x198bef7d, 0x00000030, 0x19400f7d, 0x0000e781,
+ 0x22004088, 0x00000380, 0xd840a371, 0x0000e180, 0x19400c65, 0x00000180,
+ 0x19432863, 0x00001800, 0x198be865, 0x00001018, 0xffffffff, 0x00007f86,
+ 0x9980a371, 0x0000e180, 0x23033066, 0x00008900, 0x91e02c4c, 0x00004493,
+ 0x1ea0172b, 0x00009791, 0x91f15166, 0x0000c913, 0x1ea1867a, 0x00001791,
+ 0xffffffff, 0x00007f86, 0x0013304f, 0x00001502, 0x1388004e, 0x00006098,
+ 0x9000082b, 0x00002419, 0x8b400000, 0x00006199, 0x13d3304f, 0x0000c118,
+ 0x00004c2f, 0x0000f018, 0x01000ce0, 0x00009283, 0x00005cd9, 0x0000f013,
+ 0x99f71ee3, 0x00009900, 0xe2031c67, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x00020463, 0x00001583, 0x19404060, 0x0000e7b0, 0x0197284f, 0x00000230,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00005cd7, 0x0000f018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0466f000, 0x00007900,
+ 0x003c71aa, 0x00008980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x5ca52213, 0x00007500, 0x03c01002, 0x0000e100,
+ 0x04972865, 0x00004200, 0x01c03006, 0x00001900, 0x18c00f7d, 0x0000e281,
+ 0x19400f7d, 0x00008781, 0x18c01463, 0x0000e080, 0x19400c65, 0x00000180,
+ 0xc0000f7d, 0x0000e583, 0x19432863, 0x00008800, 0x198bef7d, 0x00006030,
+ 0x198be865, 0x00008018, 0x22004088, 0x00009380, 0x1980344c, 0x0000e181,
+ 0x23033066, 0x00008900, 0x00000c66, 0x00001583, 0xc100172b, 0x00001283,
+ 0xffffffff, 0x00007f86, 0x00005cb5, 0x00007018, 0x00005cca, 0x00007008,
+ 0x01000ce0, 0x00009283, 0x00005cd2, 0x00007013, 0x99f71ee3, 0x00009900,
+ 0xe2031c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583,
+ 0x19404060, 0x0000e7b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00005cd0, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04756000, 0x0000f900, 0x001140fa, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x5cca2213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x01e2644c, 0x00006100, 0x04972865, 0x00004200,
+ 0x8000064c, 0x0000e583, 0xe000002c, 0x00002400, 0x00004c2f, 0x00007400,
+ 0x0d000834, 0x00006080, 0x8b400800, 0x00000981, 0x8e526a4d, 0x00009910,
+ 0x5cd249a5, 0x00007300, 0x81400c0e, 0x000080d6, 0x5cd32269, 0x0000f100,
+ 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00005cb7, 0x0000700b,
+ 0x5cd74aba, 0x00007100, 0x5cd949a5, 0x0000f300, 0x81400c0f, 0x000000d6,
+ 0x5cda2269, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x00005c91, 0x0000f00b, 0x5cde4aba, 0x00007100, 0x5ce049a5, 0x0000f300,
+ 0x81400c10, 0x000080d6, 0x5ce12269, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000468, 0x00001583, 0x00005c5c, 0x0000700b, 0x5ce54aba, 0x0000f100,
+ 0x80003a63, 0x00001582, 0x00005d12, 0x00007033, 0x0e433066, 0x0000e100,
+ 0x18c00a62, 0x00004180, 0x0e39af65, 0x0000061a, 0x00031866, 0x00001502,
+ 0x98c00000, 0x000061c0, 0x98c00b35, 0x000040c8, 0x0000558a, 0x0000f400,
+ 0xffffffff, 0x00007f86, 0xcd531a63, 0x00009900, 0x9a000000, 0x00006180,
+ 0xc000006b, 0x00006406, 0x1959ab35, 0x0000e100, 0x19800a35, 0x0000c180,
+ 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000, 0x00033065, 0x0000e502,
+ 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000,
+ 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x00005d1c, 0x0000f208,
+ 0x99400b35, 0x00006090, 0x0e41d83b, 0x00000900, 0xcd400b35, 0x00009080,
+ 0x19801a65, 0x00001880, 0x1801b066, 0x00001002, 0x1bc00037, 0x00001084,
+ 0x19800000, 0x000006d4, 0x1a400000, 0x00009981, 0x0000e868, 0x0000e485,
+ 0x0080406b, 0x00003586, 0x9a280500, 0x0000e100, 0x1b83786f, 0x00004900,
+ 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000, 0x1bc30060, 0x0000e100,
+ 0x0000406d, 0x0000e586, 0x00005586, 0x0000f400, 0x703b00ec, 0x0000d600,
+ 0x003b7000, 0x00000000, 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000,
+ 0x09821c69, 0x0000e804, 0x18e34c69, 0x0000e100, 0x1e000c69, 0x0000c180,
+ 0x00001878, 0x00009582, 0x00005d20, 0x0000f01b, 0x00133863, 0x00001502,
+ 0x0ec33066, 0x00006150, 0x0e832865, 0x0000c950, 0x0000558b, 0x00007051,
+ 0x00005ce7, 0x0000f000, 0x00005d03, 0x0000f400, 0xcd400000, 0x00006180,
+ 0x1801b036, 0x0000c900, 0x1bc1b837, 0x00009900, 0x18000ce0, 0x00001283,
+ 0x00005d72, 0x0000f013, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x01c3c0e0, 0x00006180, 0x0d001c61, 0x0000e006, 0x22400000, 0x00007900,
- 0x00040000, 0x00000980, 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x22000000, 0x00006180,
- 0x82230807, 0x00006004, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
- 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x26800000, 0x000089ec, 0x01000804, 0x0000e180, 0x01400000, 0x00004980,
- 0x01800000, 0x000080ec, 0x03000000, 0x000080f4, 0x03800000, 0x000080fc,
- 0x82800a02, 0x00009180, 0xc000180b, 0x0000e006, 0xa000080d, 0x00003401,
- 0x98402302, 0x00006780, 0xc2981302, 0x00000900, 0x4513080e, 0x0000e907,
- 0x001808ec, 0x00005780, 0x00884880, 0x000082c8, 0x00502800, 0x0000f900,
- 0x0000c010, 0x00000980, 0xc000a800, 0x00006181, 0x20001010, 0x0000e402,
- 0x40607e60, 0x0000808d, 0x008806ec, 0x00005f80, 0x00804100, 0x00008a84,
- 0x02c00000, 0x0000e180, 0x20000810, 0x00006403, 0x0000180b, 0x00006106,
- 0x60000812, 0x0000b402, 0x03800000, 0x0000e180, 0x98402302, 0x0000c780,
- 0x0000182b, 0x0000e405, 0xc0001810, 0x00003403, 0x0200b000, 0x0000f900,
- 0x0001e080, 0x00000980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x001010ec, 0x0000d780,
- 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006, 0xc0000812, 0x00003403,
- 0xc7d9732e, 0x00006100, 0x4513080e, 0x00006107, 0x22000200, 0x000008e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec,
- 0x03000000, 0x00006180, 0x03c00004, 0x0000c980, 0x02a01502, 0x00008028,
+ 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x00020465, 0x00001583, 0x81401800, 0x00006199, 0x41801800, 0x00004999,
+ 0xc1401000, 0x00006199, 0x41400000, 0x00004999, 0x00005d67, 0x0000f030,
+ 0x5d344a1a, 0x00007100, 0xd807fb2c, 0x00006282, 0xc000006b, 0x0000a406,
+ 0x9a000000, 0x00006180, 0x99402267, 0x00004890, 0x99bffa65, 0x0000f910,
+ 0x00000002, 0x00008280, 0x00005cf2, 0x0000f008, 0x19404000, 0x0000e180,
+ 0x0013306b, 0x0000e106, 0x19933865, 0x0000e100, 0x18000c67, 0x00000881,
+ 0x99802266, 0x00006080, 0x9b402267, 0x00004880, 0x997ffa66, 0x00007900,
+ 0x00000002, 0x00008280, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
+ 0x1a59ab35, 0x0000e100, 0x0013286b, 0x0000e106, 0x1e000a35, 0x00006180,
+ 0x0c034465, 0x0000a084, 0x703b78ec, 0x0000d600, 0x003b7000, 0x00000000,
+ 0x0003c069, 0x0000e502, 0x19632c60, 0x00008001, 0x703b68ec, 0x00005600,
+ 0x003b6000, 0x00008000, 0x1bc1b837, 0x0000e100, 0x04232868, 0x00006085,
+ 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000, 0x9b7ffa66, 0x0000f900,
+ 0x00000002, 0x00008280, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000,
+ 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x00005d61, 0x0000f440,
+ 0x1839d736, 0x00000614, 0x1e000b35, 0x000060c8, 0x1981d83b, 0x00000900,
+ 0xffffffff, 0x00007f86, 0x1a401878, 0x00009880, 0x18034836, 0x00001002,
+ 0x1bc00037, 0x00001084, 0x00005d05, 0x0000f200, 0x1a400800, 0x00001981,
+ 0x00004b99, 0x00007400, 0xb000002b, 0x00006c07, 0x001848ec, 0x0000d780,
+ 0x00004003, 0x00000080, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04688000, 0x00007900,
+ 0x001c3d54, 0x00000980, 0x01c00004, 0x000080f4, 0x82e00500, 0x0000802e,
+ 0x5d722213, 0x0000f500, 0x03c34f02, 0x0000010b, 0x81401000, 0x00001980,
+ 0x5d732269, 0x00007100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x00005d22, 0x0000f00b, 0x5d774ace, 0x0000f100, 0x01000ce0, 0x00009283,
+ 0x00005daf, 0x0000f013, 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x19804060, 0x0000e7b0,
+ 0x0197284f, 0x00000230, 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x00005dad, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x046fc000, 0x00007900, 0x00220dce, 0x00008980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x5d8d2213, 0x0000f500,
+ 0x03c01002, 0x0000e100, 0x04972866, 0x00004200, 0x01c03006, 0x00001900,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x18000ce0, 0x00001283, 0x00005dd9, 0x00007013,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01c3c0e0, 0x00006180,
- 0x0d001c61, 0x0000e006, 0x22400000, 0x00007900, 0x00040000, 0x00000980,
- 0x0200b000, 0x0000f900, 0x0001e180, 0x00008980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x22000000, 0x00006180, 0x82230807, 0x00006004,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec,
- 0x01000804, 0x0000e180, 0x01400000, 0x00004980, 0x01800000, 0x000080ec,
- 0x03000000, 0x000080f4, 0x00006196, 0x0000f400, 0x03800000, 0x000080fc,
- 0x82800a02, 0x00009180, 0x18002c60, 0x00001081, 0x07000c04, 0x0000f892,
- 0xab000000, 0x0000b08b, 0x00502800, 0x0000f900, 0x0000c010, 0x00000980,
- 0xc000a800, 0x00006181, 0x20001010, 0x0000e402, 0xc060780a, 0x000080cd,
- 0x008806ec, 0x00005f80, 0x00804100, 0x00008a84, 0xc1001f14, 0x00006283,
- 0x60005011, 0x00002406, 0x60000812, 0x0000e402, 0x0000182b, 0x00003415,
- 0x18005000, 0x00001991, 0x0000624b, 0x0000f008, 0x81001614, 0x00001283,
- 0x0000601c, 0x0000f00b, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x01c3c0a0, 0x0000e180, 0x0d001c61, 0x0000e006, 0x02c00000, 0x0000e180,
- 0x82230807, 0x00006004, 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x22080000, 0x0000e180, 0xc000180b, 0x0000e006,
- 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0, 0x23400000, 0x000008f8,
- 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0,
- 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8,
- 0x26c00000, 0x0000e180, 0x01000804, 0x0000c980, 0x01400000, 0x000000d8,
- 0x03000000, 0x000080f8, 0x0000619a, 0x0000f400, 0x03c00000, 0x00006180,
- 0x82800a02, 0x00004080, 0x98402302, 0x00006780, 0xc2981302, 0x00000900,
- 0x98771ee3, 0x00009900, 0xe2030c61, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x00008461, 0x00009583, 0x18404033, 0x000067b0, 0x0f416405, 0x0000a034,
- 0x01202c05, 0x00006130, 0x01c00020, 0x000049b0, 0x0000628c, 0x0000f018,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x045ac800, 0x0000f900,
- 0x00329896, 0x00008980, 0x01400000, 0x00006180, 0x08001a0b, 0x00006106,
- 0x81c01000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x000060ce, 0x0000f400,
- 0x82f81400, 0x00008030, 0x03c02004, 0x0000e100, 0x04972861, 0x0000c200,
- 0x98400ee3, 0x0000e080, 0x8000082b, 0x00006401, 0xddb82861, 0x0000a004,
- 0x22000888, 0x00006380, 0xa000002b, 0x0000a401, 0x22008088, 0x00009380,
- 0xffffffff, 0x00007f86, 0x01000805, 0x00001080, 0xddb82061, 0x0000a804,
- 0x00000004, 0x00001582, 0xddb82861, 0x0000a80c, 0x0000002f, 0x00001582,
- 0x82c028ec, 0x0000f902, 0x01000000, 0x00000604, 0x04d00013, 0x0000e390,
- 0x05800000, 0x00008990, 0x000060d7, 0x00007008, 0x187ff82f, 0x00007900,
- 0x0000fffe, 0x00008280, 0x22000888, 0x00006380, 0x00017816, 0x00002302,
- 0x18000c60, 0x0000e181, 0xb000082b, 0x0000a401, 0x22c80033, 0x00006080,
- 0x2341a034, 0x00000900, 0x22020088, 0x00006380, 0x0c002861, 0x00008000,
- 0xb661052e, 0x0000c563, 0x5b200f2b, 0x0000e493, 0xc1006714, 0x00009283,
- 0x22000000, 0x0000e190, 0x0000182b, 0x00006415, 0x22400000, 0x00006190,
- 0x22800000, 0x00004990, 0x0000601c, 0x0000f008, 0x0000041f, 0x0000e583,
- 0x18400000, 0x00008981, 0x18400800, 0x00006191, 0x23800000, 0x00004980,
- 0x02c00000, 0x000009d0, 0xe7a3088e, 0x00006001, 0x0000180b, 0x00003106,
- 0x03800000, 0x0000e180, 0x98402302, 0x0000c780, 0x0200b000, 0x0000f900,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x99f71ee3, 0x00009900,
+ 0xe2033467, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583,
+ 0x01400020, 0x0000e1b0, 0x01c02000, 0x000049b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00005dd6, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04688000, 0x00007900, 0x001c3d54, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x5dad2213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x04a32c65, 0x00009900, 0x5daf49a5, 0x0000f300,
+ 0x81400c0d, 0x000080d6, 0x5db02269, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000468, 0x00001583, 0x00005d79, 0x0000700b, 0x5db44aba, 0x0000f100,
+ 0x0d416467, 0x00006004, 0x0f416463, 0x00003004, 0x00233c63, 0x00001503,
+ 0x19400c63, 0x00001091, 0x30e3282c, 0x0000e814, 0x00005df2, 0x00007008,
+ 0xd8000f2b, 0x00009283, 0x22000888, 0x0000e388, 0xa000082b, 0x0000a411,
+ 0x98c00ee3, 0x0000e088, 0x22008088, 0x00004388, 0x00005dc7, 0x00007010,
+ 0xddbb3063, 0x00002004, 0x8000082b, 0x0000ec01, 0xffffffff, 0x00007f97,
+ 0x19c00866, 0x00001080, 0xddbb3863, 0x00002804, 0x00000067, 0x00001582,
+ 0xddbb3063, 0x0000280c, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x22c80033, 0x00006080, 0x2341a034, 0x00000900, 0xb9e00ce0, 0x00004497,
+ 0x10a01c88, 0x00001594, 0x8200038a, 0x0000f893, 0x6a800000, 0x0000a985,
+ 0x5dd02269, 0x00007100, 0xffffffff, 0x00007f86, 0xbaa00468, 0x0000c493,
+ 0x10a01c88, 0x00001594, 0x8200038a, 0x0000f893, 0x6a800000, 0x0000a985,
+ 0x5dd64aba, 0x00007100, 0x5dd94a1a, 0x0000f500, 0xc1601803, 0x000000da,
+ 0xc1600402, 0x000000d6, 0x5dda2269, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000468, 0x00001583, 0x00005d93, 0x0000f00b, 0x5dde4ace, 0x0000f100,
+ 0x18000ce0, 0x00001283, 0x00005e11, 0x0000f013, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x99771ee3, 0x00001900, 0xe2033c65, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583, 0x81401800, 0x00006199,
+ 0x41801800, 0x00004999, 0xc1401000, 0x00006199, 0x41400000, 0x00004999,
+ 0x00005e06, 0x00007030, 0x5df24a1a, 0x00007100, 0x99771ee3, 0x00001900,
+ 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7, 0x00008466, 0x00001583,
+ 0x19c04033, 0x000067b0, 0x0f416463, 0x0000a034, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x00005e16, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x046d8000, 0x00007900, 0x002930a6, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x5e062213, 0x0000f500, 0x03c01002, 0x0000e100, 0x04972867, 0x0000c200,
+ 0x01e31c63, 0x00001900, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04688000, 0x00007900,
+ 0x001c3d54, 0x00000980, 0x01c00004, 0x000080f4, 0x82e00500, 0x0000802e,
+ 0x5e112213, 0x0000f500, 0x03c3bf02, 0x0000010b, 0x81401000, 0x00001980,
+ 0x5e122269, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x00005de0, 0x0000700b, 0x5e164ace, 0x00007100, 0x5e1849a5, 0x0000f300,
+ 0x81405412, 0x000080d6, 0x99801c6e, 0x00006080, 0x19c0406d, 0x00004180,
+ 0x0743ae66, 0x0000f902, 0x1bc00000, 0x00008100, 0x07043c66, 0x00007902,
+ 0x21800000, 0x00000100, 0x07042e66, 0x00007902, 0x21000000, 0x00008100,
+ 0x07441a66, 0x00007902, 0x20800000, 0x00008100, 0x00037867, 0x00006502,
+ 0x18000000, 0x00008980, 0x077bdc66, 0x0000a180, 0x00005ee7, 0x00007069,
+ 0x0a035c67, 0x0000e006, 0x09035c66, 0x00003006, 0x00233c66, 0x00001503,
+ 0x19c00000, 0x000019b1, 0x00005ed5, 0x00007019, 0x18c3786d, 0x00006100,
+ 0x27720004, 0x00000980, 0x1d804063, 0x00006480, 0xa7280500, 0x00004900,
+ 0xe7581302, 0x00006100, 0x18c00a75, 0x00004180, 0x1cc37863, 0x00006200,
+ 0xc723b06b, 0x00002007, 0x99939a75, 0x00006100, 0x1c402073, 0x00000880,
+ 0x2c00946e, 0x00009680, 0x9d4588b0, 0x00001000, 0x1c038887, 0x00006002,
+ 0x9c402276, 0x00000880, 0x1e400000, 0x00007900, 0x000010c4, 0x00008980,
+ 0x27800000, 0x00007900, 0x00007fc0, 0x00000980, 0x9c7ffa71, 0x00007900,
+ 0x00000002, 0x00008280, 0x1fc00086, 0x00006084, 0x00138879, 0x00002106,
+ 0xe731a275, 0x00007900, 0x00000006, 0x00008080, 0x8013b266, 0x0000e502,
+ 0xa7802276, 0x00008880, 0x1c43f87f, 0x00009900, 0x1cc37863, 0x00001202,
+ 0xffffffff, 0x00007f86, 0x00005e9e, 0x0000f028, 0x00005e7a, 0x00007008,
+ 0x703bc8ec, 0x00005600, 0x003ce000, 0x00008000, 0x703b80ec, 0x00005600,
+ 0x003b8800, 0x00008000, 0x703cf0ec, 0x00005600, 0x003ce800, 0x00000000,
+ 0x00d802ec, 0x0000df80, 0x15d29009, 0x000093c4, 0x00000060, 0x00006582,
+ 0x09035c66, 0x0000a006, 0x18c37c66, 0x0000e000, 0x8000006b, 0x0000a407,
+ 0x19c00c67, 0x00006191, 0x99801c74, 0x00000880, 0x00005eb9, 0x0000f208,
+ 0x077b1e66, 0x00002900, 0x19801467, 0x00009881, 0x19800000, 0x0000e181,
+ 0x38420466, 0x0000c081, 0x1da33466, 0x00006100, 0x18e33860, 0x00004100,
+ 0x00031876, 0x00009502, 0x18c00c66, 0x000098a8, 0x19800c66, 0x000060a9,
+ 0x98d31a72, 0x00008028, 0x00005e72, 0x0000f020, 0xe33ba463, 0x0000b03c,
+ 0xe33b8663, 0x0000b03c, 0x00005e5d, 0x00007403, 0x1003a500, 0x0000f904,
+ 0x10038500, 0x00007904, 0x5e6a68c9, 0x00007004, 0x19cb586c, 0x00006100,
+ 0x18cb4168, 0x00000900, 0x000b4067, 0x00006502, 0x198b596b, 0x00000900,
+ 0x00005ed0, 0x0000f033, 0x1e000000, 0x00009981, 0x00004f7e, 0x0000f200,
+ 0x1d23746e, 0x00001901, 0x1d800000, 0x00006181, 0x0a035c67, 0x0000e006,
+ 0x19a33c66, 0x00009001, 0x8623306b, 0x0000e807, 0x00004f9c, 0x0000f400,
+ 0x198b596b, 0x0000e100, 0x19c0096b, 0x00004080, 0x5ac33867, 0x00009900,
+ 0xa7000000, 0x0000e180, 0xc0000079, 0x00006406, 0x1c3c2785, 0x00000618,
+ 0x703bc8ec, 0x00005600, 0x003ce000, 0x00008000, 0x703b80ec, 0x00005600,
+ 0x003b3000, 0x00008000, 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000,
+ 0x703cf0ec, 0x00005600, 0x003ce800, 0x00000000, 0xe33c3e63, 0x0000d004,
+ 0x003c3000, 0x00000000, 0x19800b7b, 0x0000e180, 0x18d3da7b, 0x00000900,
+ 0x00033063, 0x0000e502, 0x00804079, 0x0000a586, 0x9d800a7b, 0x0000e0c8,
+ 0x9d800000, 0x000009c0, 0x18c0346e, 0x0000e080, 0x99801c6e, 0x00004880,
+ 0x073c2c66, 0x0000d100, 0x003c2000, 0x00008000, 0x0763b466, 0x0000a980,
+ 0x18c01863, 0x00006780, 0x19801a76, 0x00000880, 0xe7039a63, 0x0000f900,
+ 0x00000008, 0x00000080, 0x1c041866, 0x0000e002, 0xa7280500, 0x00008900,
+ 0x703bc8ec, 0x00005600, 0x003ce000, 0x00008000, 0x00005e4c, 0x00007400,
+ 0xa7804000, 0x0000e180, 0x9ed3b276, 0x00004900, 0x1c400082, 0x00009084,
+ 0x18c37863, 0x00006202, 0xc0000079, 0x0000a406, 0xa7000000, 0x0000e180,
+ 0x98c02266, 0x0000c890, 0x98fffa63, 0x0000f910, 0x00000002, 0x00008280,
+ 0x00005e7c, 0x00007008, 0xa7802266, 0x0000e080, 0x00131879, 0x0000e106,
+ 0x99800a66, 0x00006080, 0x18d33076, 0x00004100, 0x703bc8ec, 0x00005600,
+ 0x003ce000, 0x00008000, 0x98c02263, 0x00006080, 0xe71ce266, 0x00004000,
+ 0x703b80ec, 0x00005600, 0x003bf800, 0x00000000, 0x9c3ffa63, 0x0000f900,
+ 0x00000002, 0x00008280, 0x703cf0ec, 0x00005600, 0x003ce800, 0x00000000,
+ 0x19842084, 0x0000e100, 0x00138079, 0x00006106, 0x00005e7d, 0x0000f400,
+ 0xa7bffa63, 0x0000f900, 0x00000002, 0x00008280, 0x1c042885, 0x00001900,
+ 0xe3033e72, 0x0000a084, 0xe3020472, 0x0000f902, 0x0e800000, 0x00008004,
+ 0xe3030672, 0x00002087, 0xe37a0872, 0x0000a004, 0x00000c67, 0x00009583,
+ 0xe37a1272, 0x0000303c, 0x0e420040, 0x00009900, 0x00005ec9, 0x0000f230,
+ 0xe37a0072, 0x0000a084, 0xe37a2472, 0x0000303c, 0xe37a3672, 0x0000303c,
+ 0xe3ba4072, 0x0000b03c, 0xe3ba5272, 0x0000b03c, 0xe3ba6472, 0x0000b03c,
+ 0xe3ba7672, 0x0000b03c, 0x1d800000, 0x00006181, 0x18c00c67, 0x00004081,
+ 0x8623186b, 0x0000e807, 0x00004f9c, 0x0000f400, 0x198b596b, 0x0000e100,
+ 0x19c0096b, 0x00004080, 0x5ac33867, 0x00009900, 0x00000063, 0x00009582,
+ 0x1e000800, 0x0000e191, 0x5a000000, 0x0000c990, 0x00005e70, 0x0000f011,
+ 0x00005e6f, 0x00007000, 0x0e7bcf9c, 0x00008328, 0xd8020070, 0x00000e86,
+ 0x19c00800, 0x00009981, 0x0a035c66, 0x00006006, 0x09035c63, 0x00003006,
+ 0x18e33463, 0x0000e100, 0x1c233c67, 0x00008900, 0x00031870, 0x00009502,
+ 0x19a33467, 0x00001048, 0x19c00c67, 0x000060c9, 0x18c00866, 0x000088c8,
+ 0x00005e2b, 0x0000f040, 0x99931a72, 0x00001000, 0xe33bf466, 0x0000b03c,
+ 0xe33b8666, 0x0000b03c, 0x00005ed8, 0x0000f403, 0x1003f500, 0x0000f904,
+ 0x10038500, 0x00007904, 0x5ee868c9, 0x00007004, 0x18cb596b, 0x00009900,
+ 0x00036063, 0x00001502, 0x98c01c77, 0x00006088, 0x1d800800, 0x00004989,
+ 0x07bb6863, 0x00005108, 0x003b6000, 0x00008000, 0x00005e26, 0x00007010,
+ 0x2c00946e, 0x00009680, 0x998588b0, 0x00009000, 0xe3000466, 0x0000d004,
+ 0x00400000, 0x00008082, 0xe33b3c66, 0x0000a084, 0x07bb5a63, 0x00005100,
+ 0x003b4000, 0x00000000, 0x0743be63, 0x00002182, 0xe3000466, 0x00005084,
+ 0x00400000, 0x00008000, 0x1a000002, 0x00001980, 0xf5800067, 0x0000c491,
+ 0x3e800476, 0x00001796, 0xcb000c78, 0x0000f88b, 0xdac00000, 0x0000a78d,
+ 0x98ff1fe3, 0x00001900, 0x8a033a63, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x19803c67, 0x00009281, 0x00001466, 0x00001583, 0x1d01c038, 0x00001910,
+ 0x00005f19, 0x00007009, 0x5f066831, 0x00007004, 0x0000046b, 0x00001583,
+ 0x98c01c6e, 0x00009890, 0x07933a63, 0x0000a112, 0x00005f19, 0x0000f008,
+ 0xffffffff, 0x00007f97, 0x18c04467, 0x00001283, 0x19801800, 0x00006189,
+ 0x1e000000, 0x00004989, 0x9dc00000, 0x00001988, 0x00004f71, 0x0000f010,
+ 0x18c00ce0, 0x00001283, 0x00005f1a, 0x0000f013, 0x00000c66, 0x00001583,
+ 0x81403000, 0x0000e189, 0x41804000, 0x00004989, 0xc1400800, 0x0000e189,
+ 0x41405800, 0x00004989, 0x00004fb9, 0x00007010, 0x5f194a1a, 0x0000f100,
+ 0x5f1a4ace, 0x0000f100, 0x5f1b2269, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000468, 0x00001583, 0x00005f12, 0x0000700b, 0x5f1f4ace, 0x0000f100,
+ 0x00005f10, 0x0000f200, 0x19800800, 0x00001981, 0x18238470, 0x0000e100,
+ 0x19c00c70, 0x0000c081, 0xe37a2463, 0x0000303c, 0xe37a3663, 0x0000303c,
+ 0xe3ba4063, 0x0000b03c, 0xe3ba5263, 0x0000b03c, 0xe3ba6463, 0x0000b03c,
+ 0xe3ba7663, 0x0000b03c, 0x00004f98, 0x00007400, 0x18e33467, 0x00009001,
+ 0x8623186b, 0x0000e807, 0x18c00ce0, 0x00001283, 0x00005f6a, 0x00007013,
+ 0x02c00000, 0x000000f8, 0x99c02302, 0x00006780, 0x0000180b, 0x0000a106,
+ 0x23800000, 0x0000f900, 0x00100000, 0x00000980, 0x0200b000, 0x0000f900,
0x0001e180, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
0x03400000, 0x00007900, 0x00010000, 0x00000980, 0xc000180b, 0x0000e006,
- 0x4513080e, 0x00003107, 0x22c00000, 0x000088f0, 0x23400000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25400000, 0x000009d8,
- 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8, 0x26c00000, 0x000080f0,
- 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0x2528101f, 0x00008028,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009010ec, 0x00005780, 0x00884880, 0x000082c8, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01c3c0a0, 0x0000e180,
- 0x0d001c08, 0x0000e006, 0x02c00000, 0x000000f8, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0x001808ec, 0x00005780, 0x00884880, 0x000082c8, 0x82204007, 0x00006004,
- 0xc000180b, 0x0000b006, 0x23800000, 0x00006180, 0x4513080e, 0x00006107,
- 0x0200b000, 0x0000f900, 0x0001e080, 0x00000980, 0x23c00000, 0x000009d0,
- 0x22080088, 0x00006380, 0x01000804, 0x00000980, 0x01400000, 0x000000d8,
- 0x0000619d, 0x00007400, 0x03000000, 0x000000fc, 0xc2981302, 0x0000e100,
- 0x82800a02, 0x00004080, 0x628e5f91, 0x0000f300, 0x81605015, 0x000000d6,
- 0x700200ec, 0x00005680, 0x00000540, 0x00008088, 0x703c28ec, 0x00005600,
- 0x003c2000, 0x00008000, 0x703c18ec, 0x00005600, 0x003c1000, 0x00008000,
+ 0x4513380e, 0x00003107, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
+ 0x23000000, 0x000088f4, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
+ 0x24c01800, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
+ 0x26400000, 0x000009e8, 0x26c00000, 0x000080f0, 0x03c00004, 0x0000e180,
+ 0x82901202, 0x00004900, 0xc2981302, 0x00009900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780,
+ 0x00884880, 0x000082c8, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x02c00000, 0x0000e180, 0x98d30e6a, 0x00004000,
+ 0x03800000, 0x0000e180, 0x0000180b, 0x00006106, 0x99806263, 0x0000e080,
+ 0xc000180b, 0x00002006, 0x0218b000, 0x0000f900, 0x0001e140, 0x00008980,
+ 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03401000, 0x0000f900,
+ 0x0001c000, 0x00000980, 0x98403e61, 0x0000e181, 0x4513380e, 0x0000a107,
+ 0x23800000, 0x000088fc, 0x01000802, 0x0000e180, 0x01400000, 0x00004980,
+ 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980, 0x03000000, 0x00006180,
+ 0x03c00004, 0x0000c980, 0x00004fbb, 0x0000f400, 0x02a81402, 0x00008028,
+ 0xa2d33662, 0x0000e000, 0xe293526a, 0x00008900, 0x5f6a4aa5, 0x0000f100,
+ 0x5f6b2269, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x00005f2e, 0x0000700b, 0x5f6f4ace, 0x00007100, 0x40000570, 0x00001583,
+ 0x99771ee3, 0x00009908, 0xe2033465, 0x0000a08c, 0x000060e4, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x00020466, 0x00001583, 0x18c04060, 0x0000e7b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x00006054, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04556800, 0x0000f900, 0x000127b0, 0x00008980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x5f842213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01d34a69, 0x00006100, 0x04972863, 0x00004200, 0x40000570, 0x00001583,
+ 0x98f71ee3, 0x00009908, 0xe2033c63, 0x0000208c, 0x00005f9f, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x00020467, 0x00009583, 0x19404060, 0x0000e7b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x00005f9c, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0472a000, 0x00007900, 0x001d546c, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x5f992213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01d34a69, 0x00006100, 0x04972865, 0x00004200, 0x5f9c4a1a, 0x0000f500,
+ 0xc1604001, 0x000000da, 0xc1603402, 0x000000d6, 0x5f9f4a1a, 0x0000f500,
+ 0xc1603001, 0x000080da, 0xc1600405, 0x000080d6, 0x40000d70, 0x00009583,
+ 0x99f71ee3, 0x00001908, 0xe2032c67, 0x0000208c, 0x00004b27, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x00020465, 0x00001583, 0x19804060, 0x0000e7b0,
+ 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x0000608d, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0450c800, 0x0000f900, 0x001d28a4, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x5fb42213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x01d34a69, 0x00006100, 0x04972866, 0x00004200, 0x000051de, 0x0000f200,
+ 0x19e00737, 0x00000395, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
+ 0xc019031f, 0x00001502, 0x98d8fb20, 0x0000e168, 0x8b18fb20, 0x00000168,
+ 0x9987fb2c, 0x0000e2e8, 0x9891aa35, 0x00008968, 0x00005d63, 0x00007060,
+ 0x99c80000, 0x0000e180, 0x19402266, 0x0000c880, 0x1a000400, 0x00006180,
+ 0x99d33267, 0x0000c100, 0x1980f865, 0x00006784, 0x1b320004, 0x00008980,
+ 0x18032838, 0x00006002, 0x9a280500, 0x00000900, 0x1a433039, 0x0000e004,
+ 0x75e80068, 0x0000a101, 0x1ac40000, 0x0000f900, 0x000014c4, 0x00000980,
+ 0x1b440000, 0x0000f900, 0x00007fc0, 0x00000980, 0x1b3b0502, 0x0000063c,
+ 0x80003a67, 0x00006582, 0x1b834869, 0x00008900, 0xd807fb2c, 0x00009282,
+ 0xffffffff, 0x00007f86, 0x000060ac, 0x0000f030, 0x00006020, 0x0000f008,
+ 0x700400ec, 0x00005680, 0x003b44c4, 0x00008010, 0x703b78ec, 0x0000d600,
+ 0x003b4800, 0x00008000, 0x700400ec, 0x00005680, 0x003b67c0, 0x00000078,
+ 0x19800000, 0x000006d4, 0x18400000, 0x00001981, 0x00d802ec, 0x0000df80,
+ 0x15df0009, 0x000013c4, 0x00000c61, 0x00009583, 0x00006015, 0x0000f00b,
+ 0x19c04000, 0x00009981, 0xc7233834, 0x0000e007, 0x09821c65, 0x00003004,
+ 0x19800c65, 0x00009180, 0x00001866, 0x00009582, 0x00005590, 0x0000f033,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x18000ce0, 0x00001283, 0x00006010, 0x0000f013, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x98f71ee3, 0x00001900, 0xe2033c63, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583, 0x01400020, 0x0000e1b0,
+ 0x01c02000, 0x000049b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x0000600d, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04688000, 0x00007900, 0x001c3d54, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x600a2213, 0x00007500, 0x82f81400, 0x0000803c,
+ 0x04a32c65, 0x00009900, 0x600d4a1a, 0x00007500, 0xc1604002, 0x000000da,
+ 0xc1604401, 0x000080d6, 0x60104a1a, 0x00007500, 0xc1601803, 0x000000da,
+ 0xc1600402, 0x000000d6, 0x60112269, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000468, 0x00001583, 0x00005ff0, 0x0000700b, 0x60154ace, 0x0000f100,
+ 0x80003a63, 0x00001582, 0x000060da, 0x00007033, 0x0e433066, 0x0000e100,
+ 0x18c00a62, 0x00004180, 0x0e39af65, 0x0000061a, 0x00031866, 0x00001502,
+ 0x98c00000, 0x000061c0, 0x98c00b35, 0x000040c8, 0x00005fe2, 0x00007400,
+ 0xffffffff, 0x00007f86, 0xcd531a63, 0x00009900, 0x9a000000, 0x00006180,
+ 0xc000006b, 0x00006406, 0x1959ab35, 0x0000e100, 0x19800a35, 0x0000c180,
+ 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000, 0x00033065, 0x0000e502,
+ 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000,
+ 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x000060a3, 0x0000f208,
+ 0x99400b35, 0x00006090, 0x0e41d83b, 0x00000900, 0xcd400b35, 0x00009080,
+ 0x19801a65, 0x00001880, 0x1b81b066, 0x00009002, 0x1a400037, 0x00001084,
+ 0x19800000, 0x000006d4, 0x18400000, 0x00001981, 0x0000e868, 0x0000e485,
+ 0x0080406b, 0x00003586, 0x9a280500, 0x0000e100, 0x0000406d, 0x0000e586,
+ 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000, 0x00005fde, 0x00007400,
+ 0x703b70ec, 0x00005600, 0x003b4800, 0x00008000, 0x703b68ec, 0x00005600,
+ 0x003b6000, 0x00008000, 0x99771ee3, 0x00001900, 0xe2033465, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020466, 0x00001583, 0x18c04060, 0x0000e7b0,
+ 0x0a01a467, 0x0000a032, 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x000060f9, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0444f000, 0x00007900, 0x00121008, 0x00008980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x60542213, 0x0000f500,
+ 0x03c01002, 0x0000e100, 0x04972863, 0x00004200, 0x01e33c67, 0x00001900,
+ 0x60574a1a, 0x00007500, 0xc1603001, 0x000080da, 0xc1600406, 0x000080d6,
+ 0x99802278, 0x00006080, 0x19c04000, 0x00004980, 0x98fffa66, 0x00007900,
+ 0x00000002, 0x00008280, 0x1993c067, 0x0000e100, 0x0013186b, 0x00002106,
+ 0x99c02266, 0x0000e080, 0x9b402278, 0x0000c880, 0x98fffa67, 0x0000f900,
+ 0x00000002, 0x00008280, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
+ 0x0c034466, 0x00006084, 0x0013186b, 0x0000b106, 0x1dc1d03a, 0x0000e100,
+ 0x18c00c78, 0x00004881, 0x703b78ec, 0x0000d600, 0x003b7000, 0x00000000,
+ 0x19a33463, 0x0000e001, 0x1bc1b837, 0x00000900, 0x703b68ec, 0x00005600,
+ 0x003b6000, 0x00008000, 0x18d9ab35, 0x0000e100, 0x04233068, 0x00006085,
+ 0x9b7ffa67, 0x00007900, 0x00000002, 0x00008280, 0x1981d83b, 0x0000e100,
+ 0x19c00a35, 0x00004180, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
+ 0x00033863, 0x00009502, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000,
+ 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x0000607f, 0x0000f040,
+ 0x18c00b35, 0x00009080, 0x19c01863, 0x00001880, 0x18033860, 0x00009002,
+ 0x1bc00037, 0x00001084, 0x0000e868, 0x0000e485, 0x0080406b, 0x00003586,
+ 0x9a280500, 0x0000e100, 0x1b83786f, 0x00004900, 0x703b58ec, 0x00005600,
+ 0x003b4000, 0x00000000, 0x18c00800, 0x00006181, 0x0000406d, 0x0000e586,
+ 0x703b00ec, 0x0000d600, 0x003b7000, 0x00000000, 0x000051ec, 0x00007400,
+ 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x1bc30060, 0x00009900,
+ 0x60904a1a, 0x0000f500, 0xc1604001, 0x000000da, 0xc1603407, 0x000000d6,
+ 0x99771ee3, 0x00001900, 0xe2031c65, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020463, 0x00001583, 0x01972878, 0x0000e230, 0x01400020, 0x000009b0,
+ 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0, 0x000060a7, 0x00007018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04506800, 0x0000f900,
+ 0x001d8d30, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x60a32213, 0x00007500, 0x82f81400, 0x0000803c, 0x01c03006, 0x00006100,
+ 0x0497287d, 0x00004200, 0x00006033, 0x00007400, 0xcd400000, 0x00006180,
+ 0x1b81b036, 0x00004900, 0x1a41b837, 0x00009900, 0x98403e61, 0x0000e181,
+ 0x81403000, 0x00008981, 0x60ac4a1a, 0x0000f500, 0x81a00405, 0x000000d6,
+ 0xc1400800, 0x00001981, 0xd807fb2c, 0x00006282, 0xc000006b, 0x0000a406,
+ 0x9a000000, 0x00006180, 0x99402267, 0x00004890, 0x99bffa65, 0x0000f910,
+ 0x00000002, 0x00008280, 0x00006022, 0x00007008, 0x19404000, 0x0000e180,
+ 0x0013306b, 0x0000e106, 0x19933865, 0x0000e100, 0x18000c67, 0x00000881,
+ 0x99802266, 0x00006080, 0x9b402267, 0x00004880, 0x997ffa66, 0x00007900,
+ 0x00000002, 0x00008280, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
+ 0x1a41b837, 0x0000e100, 0x0013286b, 0x0000e106, 0x0c034465, 0x0000e884,
+ 0x703b78ec, 0x0000d600, 0x003b7000, 0x00000000, 0x19632c60, 0x0000e001,
+ 0x1bc00a35, 0x00000180, 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000,
+ 0x1819ab35, 0x0000e100, 0x04232868, 0x00006085, 0x703b58ec, 0x00005600,
+ 0x003b4000, 0x00000000, 0x00037860, 0x0000e502, 0x1b81b036, 0x00008900,
+ 0x9b7ffa66, 0x0000f900, 0x00000002, 0x00008280, 0x7039d0ec, 0x0000d600,
+ 0x0039d800, 0x00000000, 0x000060d8, 0x0000f440, 0x703b68ec, 0x00005600,
+ 0x003b6000, 0x00008000, 0x1979df3a, 0x00008618, 0x18000b35, 0x00009080,
+ 0x18001860, 0x00009880, 0x1b830036, 0x00009002, 0x1a400037, 0x00001084,
+ 0x00006035, 0x00007200, 0x18400800, 0x00009981, 0x09821c69, 0x0000e804,
+ 0x18e34c69, 0x0000e100, 0x18000c69, 0x0000c180, 0x00001860, 0x00009582,
+ 0x000060fc, 0x0000f01b, 0x00133863, 0x00001502, 0x0ec33066, 0x00006150,
+ 0x0e832865, 0x0000c950, 0x00005fe3, 0x0000f051, 0x00006017, 0x0000f000,
+ 0x40000d70, 0x00009583, 0x99b71ee3, 0x00009908, 0xe2031c66, 0x0000a08c,
+ 0x00004b27, 0x00007010, 0xffffffff, 0x00007f97, 0x00020463, 0x00001583,
+ 0x19c04060, 0x000067b0, 0x01400020, 0x000009b0, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00006110, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04529000, 0x0000f900, 0x00370d46, 0x00000980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x60f92213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x01d34a69, 0x00006100, 0x04972867, 0x0000c200,
+ 0x60fc4a1a, 0x0000f500, 0xc1604001, 0x000000da, 0xc1603405, 0x000080d6,
+ 0x18000ce0, 0x00001283, 0x0000611e, 0x0000f013, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x81401800, 0x00006199,
+ 0x41801800, 0x00004999, 0xc1401000, 0x00006199, 0x41400000, 0x00004999,
+ 0x00006113, 0x0000f030, 0x61104a1a, 0x00007100, 0x61134a1a, 0x0000f500,
+ 0xc1604001, 0x000000da, 0xc1603408, 0x000000d6, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04688000, 0x00007900, 0x001c3d54, 0x00000980, 0x01c00004, 0x000080f4,
+ 0x82e00500, 0x0000802e, 0x611e2213, 0x0000f500, 0x03c34f02, 0x0000010b,
+ 0x81401000, 0x00001980, 0x611f2269, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000468, 0x00001583, 0x000060fe, 0x0000f00b, 0x61234ace, 0x00007100,
+ 0xc038b72e, 0x00001503, 0x61254aa5, 0x00007113, 0x63800800, 0x00006180,
+ 0x19c04032, 0x00004780, 0x02c00000, 0x0000e180, 0xa000108e, 0x00006403,
+ 0x001848ec, 0x0000d780, 0x00004003, 0x00000080, 0xa0000089, 0x0000e401,
+ 0xd000088e, 0x00003401, 0x03800000, 0x0000e180, 0x0000180b, 0x00006106,
+ 0x99802302, 0x0000e780, 0x19400867, 0x00000180, 0x0200b000, 0x0000f900,
+ 0x0001e180, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x001010ec, 0x0000d780,
+ 0x00884880, 0x000082c8, 0xc000180b, 0x0000e006, 0xf000008e, 0x00003401,
+ 0xa298fb20, 0x0000e100, 0x4513300e, 0x00002107, 0xa2c0012d, 0x000080b0,
+ 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0x0000503d, 0x0000f400,
+ 0x02b1a502, 0x00008824, 0x62032865, 0x00001900, 0x01800000, 0x00006180,
+ 0x08001a63, 0x0000e106, 0x00231806, 0x00006086, 0x00101007, 0x0000b186,
+ 0x82280006, 0x0000e086, 0x04181007, 0x00003187, 0x0140417c, 0x00006080,
+ 0x04397006, 0x00006087, 0x3bc00040, 0x00006180, 0x08001aae, 0x00006106,
+ 0x39dc8800, 0x00007900, 0x000c2564, 0x00008980, 0x3b75d800, 0x0000f900,
+ 0x000bbcc4, 0x00000980, 0xaba00500, 0x00008a3a, 0x2bf83f02, 0x00008a34,
+ 0x61562240, 0x0000f500, 0x2b382f06, 0x00000e38, 0xbbc0d800, 0x00001980,
+ 0x61574aa5, 0x0000f100, 0x09415c63, 0x0000e806, 0x18c07c63, 0x00001081,
+ 0x30e31f2b, 0x0000e806, 0xd803c72b, 0x00001283, 0x19c00c67, 0x0000e091,
+ 0xcb000b2c, 0x00008090, 0x99771ee3, 0x00009908, 0x00004d7a, 0x0000f010,
+ 0xe2033c65, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
+ 0x01400020, 0x0000e1b0, 0x08021863, 0x0000e332, 0x03400000, 0x0000e1b0,
+ 0x81401000, 0x000049b0, 0x00006174, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x046e7800, 0x0000f900, 0x003bcfec, 0x00008980,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x61712213, 0x0000f500,
+ 0x82f81400, 0x0000803c, 0x01c33066, 0x00006100, 0x04972863, 0x00004200,
+ 0x61744a1a, 0x00007500, 0xc1604001, 0x000000da, 0xc1604404, 0x000080d6,
+ 0xc7c00b1f, 0x00006080, 0xc0000812, 0x0000a403, 0x61794a1a, 0x0000f500,
+ 0xc1601001, 0x000000da, 0xc1600401, 0x000000d6, 0x617c4a1a, 0x0000f500,
+ 0xc1604001, 0x000000da, 0xc160340a, 0x000080d6, 0x617f4a1a, 0x0000f500,
+ 0xc1604001, 0x000000da, 0xc1604409, 0x000000d6, 0xc1001f34, 0x00001283,
+ 0x98f71ee3, 0x00009908, 0xe2032c63, 0x0000a08c, 0x000061af, 0x0000f010,
+ 0xffffffff, 0x00007f97, 0x00020465, 0x00001583, 0x19c04060, 0x000067b0,
+ 0x0a01a466, 0x00002032, 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x000061ac, 0x00007018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x046ed000, 0x00007900, 0x00386bf0, 0x00008980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x61952213, 0x0000f500,
+ 0x03c01002, 0x0000e100, 0x04972867, 0x0000c200, 0x01e33466, 0x00001900,
+ 0x18d34a69, 0x00009900, 0x00017863, 0x00009502, 0x99771ee3, 0x00009920,
+ 0xe2033c65, 0x000020a4, 0x00004b73, 0x00007028, 0xffffffff, 0x00007f97,
+ 0x00020467, 0x00009583, 0x19804060, 0x0000e7b0, 0x0197282f, 0x00000230,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x000061c3, 0x00007018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04665000, 0x00007900,
+ 0x002516f4, 0x00000980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x61ac2213, 0x0000f500, 0x03c01002, 0x0000e100,
+ 0x04972866, 0x00004200, 0x01c03006, 0x00001900, 0x61af4a1a, 0x00007500,
+ 0xc1604001, 0x000000da, 0xc160340c, 0x000080d6, 0x98f71ee3, 0x00001900,
+ 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
+ 0x19c04060, 0x000067b0, 0x0a01a466, 0x00002032, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x000061dc, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x044f9800, 0x00007900, 0x0018cd26, 0x00008980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x61c32213, 0x0000f500, 0x03c01002, 0x0000e100, 0x04972867, 0x0000c200,
+ 0x01e33466, 0x00001900, 0x61c64a1a, 0x00007500, 0xc1604001, 0x000000da,
+ 0xc1604408, 0x000080d6, 0xc1001f34, 0x00001283, 0x98f71ee3, 0x00009908,
+ 0xe2032c63, 0x0000a08c, 0x000061e2, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0x00020465, 0x00001583, 0x19c04060, 0x000067b0, 0x0a01a466, 0x00002032,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x000061df, 0x0000f018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0464a800, 0x00007900,
+ 0x001ef4aa, 0x00000980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x61dc2213, 0x00007500, 0x03c01002, 0x0000e100,
+ 0x04972867, 0x0000c200, 0x01e33466, 0x00001900, 0x61df4a1a, 0x0000f500,
+ 0xc1603001, 0x000080da, 0xc1600409, 0x000080d6, 0x61e24a1a, 0x00007500,
+ 0xc1604001, 0x000000da, 0xc160340b, 0x000000d6, 0x98f71ee3, 0x00001900,
+ 0xe2032c63, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
+ 0x19c04060, 0x000067b0, 0x0a01a466, 0x00002032, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x00006595, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04757000, 0x00007900, 0x0001e2e4, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x61f62213, 0x0000f500, 0x03c01002, 0x0000e100, 0x04972867, 0x0000c200,
+ 0x01e33466, 0x00001900, 0x40001d70, 0x0000e583, 0x25404000, 0x00000980,
+ 0x0000502d, 0x00007400, 0x2519767c, 0x00008910, 0x25801800, 0x00006191,
+ 0x25801000, 0x0000c989, 0x19c01f34, 0x00009281, 0xa2401462, 0x0000c288,
+ 0x06c01467, 0x00001894, 0x5a401467, 0x00007893, 0x03000001, 0x00008000,
+ 0x4600002f, 0x0000f892, 0x42800000, 0x0000b289, 0x0000002f, 0x00001582,
+ 0x99771ee3, 0x0000e110, 0x80000034, 0x0000640b, 0xe2031c65, 0x0000a094,
+ 0x00005118, 0x0000f008, 0xffffffff, 0x00007f97, 0x00020463, 0x00001583,
+ 0x19804060, 0x0000e7b0, 0x0197282f, 0x00000230, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x00006251, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04447800, 0x00007900, 0x001c041c, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x621a2213, 0x00007500, 0x03c01002, 0x0000e100, 0x04972866, 0x00004200,
+ 0x01c03006, 0x00001900, 0x98c7fb2c, 0x00006280, 0x99880000, 0x00008980,
+ 0x99d31a66, 0x0000e100, 0x1a000400, 0x00008980, 0x18c02263, 0x0000e080,
+ 0x1b320004, 0x00004980, 0x1980f863, 0x00006784, 0x9a280500, 0x00000900,
+ 0x1b831838, 0x0000e002, 0x75e80068, 0x0000a101, 0x1a433039, 0x0000e004,
+ 0x9dd8fb20, 0x00000100, 0x1ac40000, 0x0000f900, 0x000014c4, 0x00000980,
+ 0x1b440000, 0x0000f900, 0x00007fc0, 0x00000980, 0x8b18fb20, 0x0000e100,
+ 0x9d91aa35, 0x00000900, 0x1be81737, 0x00008630, 0x80003a67, 0x00006582,
+ 0x1c434869, 0x00000900, 0xd8c7fb2c, 0x00009282, 0xffffffff, 0x00007f86,
+ 0x000062c5, 0x00007030, 0x00006291, 0x00007008, 0x700400ec, 0x00005680,
+ 0x003b44c4, 0x00008010, 0x703b70ec, 0x00005600, 0x003b8800, 0x00008000,
+ 0x700400ec, 0x00005680, 0x003b67c0, 0x00000078, 0x19800000, 0x000006e4,
+ 0x1c000000, 0x00001981, 0x00d802ec, 0x0000df80, 0x1611e809, 0x000093c4,
+ 0x00000c70, 0x00009583, 0x00006274, 0x0000f00b, 0x19c04000, 0x00009981,
+ 0xc7233834, 0x0000e007, 0x09821c63, 0x00003004, 0x19800c63, 0x00009180,
+ 0x00001866, 0x00009582, 0x01000802, 0x0000e1b0, 0x09821c67, 0x0000e034,
+ 0x01400000, 0x000061b0, 0xb6e3382b, 0x00006037, 0x00006254, 0x0000f018,
+ 0x98d30e6a, 0x0000e000, 0x0197f840, 0x00008980, 0x99806263, 0x0000e080,
+ 0x01c00000, 0x00000980, 0xa2d33662, 0x0000e000, 0xe293526a, 0x00008900,
+ 0x7f000c62, 0x0000789a, 0x8b000000, 0x00002888, 0x62544a1a, 0x0000f500,
+ 0xc1604001, 0x000000da, 0xc1604409, 0x000000d6, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x18000ce0, 0x00001283, 0x00006282, 0x0000f013, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583, 0x01400020, 0x0000e1b0,
+ 0x01c02000, 0x000049b0, 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0,
+ 0x0000627f, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04688000, 0x00007900, 0x001c3d54, 0x00000980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x62742213, 0x0000f500, 0x82f81400, 0x0000803c,
+ 0x04a31c63, 0x00009900, 0x80003a77, 0x00001582, 0x00006287, 0x00007033,
+ 0x0e433066, 0x0000e100, 0x18c00a76, 0x00004180, 0x0e39af69, 0x0000061a,
+ 0x00031866, 0x00001502, 0x98c00000, 0x000061c0, 0x98c00b35, 0x000040c8,
+ 0x0000623f, 0x0000f400, 0xffffffff, 0x00007f86, 0xcd531a63, 0x00009900,
+ 0x62824a1a, 0x00007500, 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6,
+ 0x62832269, 0x00007100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x0000625a, 0x0000f00b, 0x62874ace, 0x0000f100, 0x09821c78, 0x0000e804,
+ 0x18e3c478, 0x0000e100, 0x1a000c78, 0x00004180, 0x00001868, 0x00001582,
+ 0x000064ec, 0x0000f01b, 0x00133863, 0x00001502, 0x0ec33066, 0x00006150,
+ 0x0e834869, 0x0000c950, 0x00006240, 0x00007051, 0x00006276, 0x0000f000,
+ 0x9a000000, 0x00006180, 0xc000006b, 0x00006406, 0x18d9ab35, 0x0000e100,
+ 0x19800a35, 0x0000c180, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
+ 0x00033063, 0x0000e502, 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600,
+ 0x0039d800, 0x00000000, 0x700400ec, 0x00005680, 0x003b67c0, 0x00000078,
+ 0x00006339, 0x0000f208, 0x98c00b35, 0x00006090, 0x0e41d83b, 0x00000900,
+ 0xcd400b35, 0x00009080, 0x19801a63, 0x00001880, 0x1b81b066, 0x00009002,
+ 0x1bc00037, 0x00001084, 0x19800000, 0x000006e4, 0x1c000000, 0x00001981,
+ 0x0000e868, 0x0000e485, 0x0080406b, 0x00003586, 0x9a280500, 0x0000e100,
+ 0x0000406d, 0x0000e586, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
+ 0x0000623b, 0x00007400, 0x703b70ec, 0x00005600, 0x003b7800, 0x00008000,
+ 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x99771ee3, 0x00006100,
+ 0xb000002b, 0x0000e407, 0xe2033465, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00008466, 0x00001583, 0x19c04060, 0x000067b0, 0x01400020, 0x000009b0,
+ 0x03400000, 0x0000e1b0, 0x81401000, 0x000049b0, 0x00006500, 0x0000f018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0462b800, 0x0000f900,
+ 0x002830e8, 0x00008980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x62c52213, 0x0000f500, 0x82f81400, 0x0000803c, 0x01d90320, 0x00006100,
+ 0x04972867, 0x0000c200, 0xd8c7fb2c, 0x00006282, 0xc000006b, 0x0000a406,
+ 0x9a000000, 0x00006180, 0x98c02267, 0x00004890, 0x99bffa63, 0x0000f910,
+ 0x00000002, 0x00008280, 0x00006293, 0x0000f008, 0x18c04000, 0x0000e180,
+ 0x0013306b, 0x0000e106, 0x19933863, 0x0000e100, 0x1a400c67, 0x00000881,
+ 0x99802266, 0x00006080, 0x9b402267, 0x00004880, 0x98fffa66, 0x00007900,
+ 0x00000002, 0x00008280, 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000,
+ 0x1c19ab35, 0x00006100, 0x0013186b, 0x0000e106, 0x0c034463, 0x0000e884,
+ 0x703b70ec, 0x00005600, 0x003b8800, 0x00008000, 0x18e31c69, 0x0000e001,
+ 0x1b81b036, 0x00008900, 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000,
+ 0x1a41d03a, 0x0000e100, 0x04231868, 0x00006085, 0x18c00a35, 0x00009180,
+ 0x703b58ec, 0x00005600, 0x003b4000, 0x00000000, 0x00031870, 0x00009502,
+ 0x9b7ffa66, 0x0000f900, 0x00000002, 0x00008280, 0x7039d0ec, 0x0000d600,
+ 0x0039d800, 0x00000000, 0x000062f2, 0x0000f440, 0x703b68ec, 0x00005600,
+ 0x003b6000, 0x00008000, 0x18c00b35, 0x000060c8, 0x1981d83b, 0x00000900,
+ 0xffffffff, 0x00007f86, 0x18c01863, 0x00009880, 0x1b831836, 0x00009002,
+ 0x1bc00037, 0x00001084, 0x000062a6, 0x0000f200, 0x1c000800, 0x00009981,
+ 0x02000000, 0x0000e180, 0x99b35770, 0x00004000, 0x03800000, 0x0000e180,
+ 0xc7338008, 0x00006007, 0x8039c0ec, 0x0000d700, 0x00384000, 0x00000000,
+ 0x800000ec, 0x00005780, 0x00000000, 0x00008080, 0x803f28ec, 0x0000d700,
+ 0x00000000, 0x00008080, 0x99c02302, 0x00006780, 0x98c06266, 0x00008080,
+ 0xa2d31e62, 0x0000e000, 0x4513380e, 0x0000a107, 0x800338ec, 0x0000f902,
+ 0x18c00000, 0x00008700, 0x02000000, 0x00007900, 0x0001e140, 0x00008980,
+ 0x02400000, 0x00006180, 0x10738008, 0x00006000, 0x03401000, 0x00006180,
+ 0x20b38008, 0x00006000, 0xd3738009, 0x00006004, 0x41338008, 0x00003000,
+ 0x01000000, 0x0000e180, 0x8633800d, 0x00006001, 0x80000e67, 0x00006583,
+ 0x02c00000, 0x00000980, 0x96738009, 0x0000e001, 0x82338008, 0x00003000,
+ 0x9673800d, 0x00006001, 0x00338004, 0x0000b002, 0x0000180b, 0x00006106,
+ 0xa6b38009, 0x0000b001, 0x92738008, 0x00006000, 0xa6b3800d, 0x00003001,
+ 0xc3338004, 0x00006000, 0xc000180b, 0x0000b006, 0x01400000, 0x00006180,
+ 0x0197f840, 0x00004980, 0x01c00000, 0x000080f0, 0x000064d4, 0x00007410,
+ 0x03c00004, 0x0000e180, 0x82901202, 0x00004900, 0x028b5502, 0x0000082a,
+ 0x1b833867, 0x00008618, 0x2c009467, 0x00009680, 0x99c588b0, 0x00001000,
+ 0xe3033c67, 0x00002004, 0xffffffff, 0x00007fa7, 0x00000c67, 0x00009583,
+ 0x19e807e4, 0x00009808, 0x0000633b, 0x00007011, 0x2c00946e, 0x00009680,
+ 0x98c588b0, 0x00009000, 0xe33b4463, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x19c33868, 0x00001300, 0xe33b3c63, 0x00002884, 0x00c002ec, 0x0000df80,
+ 0x1619880b, 0x00001684, 0xe3033c63, 0x0000a004, 0x98ff1fe3, 0x00001900,
+ 0x8a031a63, 0x00002080, 0xffffffff, 0x00007fa7, 0x18c03c63, 0x00001281,
+ 0x00001463, 0x00001583, 0x00006325, 0x0000f013, 0x63394ace, 0x00007100,
+ 0x000062a4, 0x00007200, 0x1ba00736, 0x00008395, 0x2c009466, 0x00001680,
+ 0x98c588b0, 0x00009000, 0xe3000463, 0x0000d004, 0x00400800, 0x00000082,
+ 0x99801c6e, 0x00006080, 0x1de3746e, 0x00004901, 0x07836866, 0x0000f902,
+ 0x1b000000, 0x00008100, 0x07835a66, 0x00007902, 0x1a000000, 0x00000100,
+ 0x1d23746e, 0x00001901, 0xffffffff, 0x00007f97, 0x198b586c, 0x00001100,
+ 0x000b4066, 0x00001502, 0x19800000, 0x00009999, 0x000064cc, 0x0000f031,
+ 0x2c00946e, 0x00009680, 0x98c588b0, 0x00009000, 0x9a401263, 0x00006080,
+ 0x9c801263, 0x00000080, 0x09035c71, 0x00006006, 0x0a035c63, 0x00003006,
+ 0x19c00c63, 0x00001880, 0x99d33a69, 0x00001000, 0xe33b8667, 0x0000a084,
+ 0xe303ac67, 0x00007902, 0x1cc00000, 0x00000004, 0xffffffff, 0x00007f97,
+ 0x1a638463, 0x00001000, 0x00238869, 0x00009502, 0x0e839873, 0x0000e148,
+ 0x1a438070, 0x0000c948, 0x0e43a875, 0x00009948, 0x0000638a, 0x0000f040,
+ 0x00000c69, 0x00001583, 0xe37a0067, 0x0000b03c, 0xe37a1267, 0x0000b03c,
+ 0x00006367, 0x00007030, 0xe37a2467, 0x0000b03c, 0xe37a3667, 0x0000b03c,
+ 0xe3ba4067, 0x0000303c, 0xe3ba5267, 0x0000303c, 0xe3ba6467, 0x0000303c,
+ 0xe3ba7667, 0x0000303c, 0x1c638470, 0x0000e100, 0x19c00c70, 0x0000c081,
+ 0x18e31c67, 0x00009001, 0x8623186b, 0x0000e807, 0x1bc00000, 0x0000e181,
+ 0x18c0096b, 0x0000c080, 0x5ac31863, 0x00009900, 0x2c00946e, 0x00009680,
+ 0x98c588b0, 0x00009000, 0xe3000463, 0x0000d004, 0x00400000, 0x00008082,
+ 0x99c01c74, 0x00001880, 0x07bb6867, 0x00005100, 0x003b6000, 0x00008000,
+ 0x07bb5a67, 0x0000d100, 0x003b4000, 0x00000000, 0x07434e67, 0x0000a182,
+ 0xe33b3c63, 0x0000a084, 0xe3000463, 0x00005084, 0x00400000, 0x00008000,
+ 0x1a000002, 0x00001980, 0xffffffff, 0x00007f86, 0x00000067, 0x00001582,
+ 0x000063db, 0x0000700b, 0x18c33867, 0x00001b00, 0x18c31fe4, 0x0000e000,
+ 0x04131868, 0x00006187, 0x18c318e5, 0x00009400, 0x770000ec, 0x00005680,
+ 0x003b4000, 0x00000000, 0x19c31867, 0x00001200, 0x6fe00067, 0x00004490,
+ 0xc2c0046f, 0x00009990, 0x09000c66, 0x0000788b, 0xfb000000, 0x0000318e,
+ 0x98c01c6e, 0x00006080, 0x19c0406d, 0x00004180, 0x07434e63, 0x00007902,
+ 0x1bc00000, 0x00008100, 0x07043c63, 0x00007902, 0x21800000, 0x00000100,
+ 0x07042e63, 0x00007902, 0x21000000, 0x00008100, 0x07441a63, 0x00007902,
+ 0x20800000, 0x00008100, 0x00037867, 0x00006502, 0x1c400000, 0x00008980,
+ 0x077bdc63, 0x0000a180, 0x000064c6, 0x00007069, 0x0a035c67, 0x0000e006,
+ 0x09035c63, 0x00003006, 0x00233c63, 0x00001503, 0x19c00000, 0x000019b1,
+ 0x000064b4, 0x0000f019, 0x18c3786d, 0x00006100, 0x27720004, 0x00000980,
+ 0x1e004063, 0x0000e480, 0xa7280500, 0x00004900, 0xe7581302, 0x00006100,
+ 0x18c00a69, 0x0000c180, 0x1d837863, 0x00006200, 0xc723c06b, 0x0000a007,
+ 0x1a402076, 0x0000e080, 0x9cd3b269, 0x0000c100, 0x2c00946e, 0x00009680,
+ 0x9d8588b0, 0x00001000, 0x1c034887, 0x00006002, 0x9a402278, 0x00008880,
+ 0x1e400000, 0x00007900, 0x000010c4, 0x00008980, 0x27800000, 0x00007900,
+ 0x00007fc0, 0x00000980, 0x9a7ffa69, 0x00007900, 0x00000002, 0x00008280,
+ 0x1d400086, 0x00006084, 0x00134879, 0x00002106, 0xe731a276, 0x00007900,
+ 0x00000006, 0x00008080, 0x8013c273, 0x0000e502, 0xa7802278, 0x00000880,
+ 0x1a43a875, 0x00009900, 0x1d437863, 0x00001202, 0xffffffff, 0x00007f86,
+ 0x00006499, 0x00007028, 0x00006475, 0x00007008, 0x703bc8ec, 0x00005600,
+ 0x003ce000, 0x00008000, 0x703b80ec, 0x00005600, 0x003b4800, 0x00008000,
+ 0x703cf0ec, 0x00005600, 0x003ce800, 0x00000000, 0x00d802ec, 0x0000df80,
+ 0x161e2009, 0x000013c4, 0x00000071, 0x00006582, 0x09035c63, 0x0000a006,
+ 0x1a437c63, 0x0000e000, 0x8000006b, 0x0000a407, 0x19c00c67, 0x00006191,
+ 0x98c01c77, 0x00000880, 0x0000640a, 0x00007208, 0x077b4e63, 0x00002900,
+ 0x1a400000, 0x0000e181, 0x18c01467, 0x0000c881, 0x38420463, 0x00009081,
+ 0x1be34c69, 0x0000e100, 0x18e33871, 0x00004100, 0x0003186f, 0x00001502,
+ 0x18c00c69, 0x000098a8, 0x1a400c69, 0x000060a9, 0x98d31a72, 0x00008028,
+ 0x00006406, 0x0000f020, 0xe33bc463, 0x0000b03c, 0xe33bb663, 0x0000b03c,
+ 0x000063cf, 0x00007403, 0x1003c500, 0x0000f904, 0x1003b500, 0x00007904,
+ 0x0000046f, 0x00009583, 0x00006461, 0x00007013, 0x00000c66, 0x00001583,
+ 0x00006424, 0x0000f00b, 0x19800871, 0x0000e180, 0x19c38871, 0x00008900,
+ 0x00001866, 0x00006582, 0x2501c839, 0x00008900, 0x19c07c71, 0x0000e2b1,
+ 0xb0000889, 0x00002431, 0xc7233834, 0x0000e037, 0xb6e3382b, 0x00003037,
+ 0x0000510f, 0x0000f230, 0xa4134a69, 0x00006130, 0x2541d03a, 0x0000c900,
+ 0x18000ce0, 0x00001283, 0x0000641f, 0x00007013, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x99771ee3, 0x00001900, 0xe2031c65, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020463, 0x00001583, 0x01172871, 0x00006230,
+ 0x01400020, 0x000009b0, 0x01c02000, 0x000061b0, 0x03400000, 0x0000c9b0,
+ 0x0000641c, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04688000, 0x00007900, 0x001c3d54, 0x00000980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x64062213, 0x0000f500, 0x82e00500, 0x0000802e,
+ 0x04b81704, 0x0000003c, 0x0a035c67, 0x00006806, 0x18e33c69, 0x00009001,
+ 0x0000636b, 0x0000f200, 0x8623186b, 0x0000e807, 0xe3033e72, 0x0000a084,
+ 0xe3020472, 0x0000f902, 0x0e800000, 0x00008004, 0xe3038e72, 0x00002087,
+ 0xe37a0872, 0x0000a004, 0x00000c67, 0x00009583, 0xe37a1272, 0x0000303c,
+ 0x0e420040, 0x00009900, 0x0000641a, 0x00007230, 0xe37a0072, 0x0000a084,
+ 0xe37a2472, 0x0000303c, 0xe37a3672, 0x0000303c, 0xe3ba4072, 0x0000b03c,
+ 0xe3ba5272, 0x0000b03c, 0xe3ba6472, 0x0000b03c, 0xe3ba7672, 0x0000b03c,
+ 0x00006408, 0x00007200, 0x18c00c67, 0x00001081, 0x641f4a1a, 0x0000f500,
+ 0xc1601803, 0x000000da, 0xc1600402, 0x000000d6, 0x64202269, 0x00007100,
+ 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x000063ec, 0x0000f00b,
+ 0x64244ace, 0x0000f100, 0x18c00ce0, 0x00001283, 0x0000646b, 0x00007013,
+ 0x02c00000, 0x000000f8, 0x99802302, 0x0000e780, 0x0000180b, 0x0000a106,
+ 0x23800000, 0x0000f900, 0x00100000, 0x00000980, 0x0200b000, 0x0000f900,
+ 0x0001e180, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0xc000180b, 0x0000e006,
+ 0x4513300e, 0x0000b107, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
+ 0x23000000, 0x000088f4, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
+ 0x24c01800, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
+ 0x26400000, 0x000009e8, 0x26c00000, 0x000080f0, 0x03c00004, 0x0000e180,
+ 0x82901202, 0x00004900, 0xc2981302, 0x00009900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780,
+ 0x00884880, 0x000082c8, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x02c00000, 0x0000e180, 0x99d30e6a, 0x0000c000,
+ 0x03800000, 0x0000e180, 0x0000180b, 0x00006106, 0x98c06267, 0x00006080,
+ 0xc000180b, 0x00002006, 0x0218b000, 0x0000f900, 0x0001e140, 0x00008980,
+ 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03401000, 0x0000f900,
+ 0x0001c000, 0x00000980, 0x98403e61, 0x0000e181, 0x4513300e, 0x00002107,
+ 0x23800000, 0x000088fc, 0x01000802, 0x0000e180, 0x01400000, 0x00004980,
+ 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980, 0x03000000, 0x00006180,
+ 0x03c00004, 0x0000c980, 0x000063df, 0x0000f400, 0x02a81402, 0x00008028,
+ 0xa2d31e62, 0x0000e000, 0xe293526a, 0x00008900, 0x18c00800, 0x00001981,
+ 0x19c00ce0, 0x00009283, 0x00006470, 0x00007013, 0x00000c63, 0x00001583,
+ 0x81403000, 0x0000e189, 0x41804000, 0x00004989, 0xc1400800, 0x0000e189,
+ 0x41405800, 0x00004989, 0x000063dd, 0x00007010, 0x646b4a1a, 0x00007100,
+ 0x646c2269, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x00006426, 0x0000700b, 0x64704ace, 0x00007100, 0x64712269, 0x0000f100,
+ 0xffffffff, 0x00007f86, 0x00000468, 0x00001583, 0x00006464, 0x0000700b,
+ 0x64754ace, 0x00007100, 0xa7000000, 0x0000e180, 0xc0000079, 0x00006406,
+ 0x1c3c2785, 0x00000624, 0x703bc8ec, 0x00005600, 0x003ce000, 0x00008000,
+ 0x703b80ec, 0x00005600, 0x003b4800, 0x00008000, 0x2c00946e, 0x00009680,
+ 0x98c588b0, 0x00009000, 0x703cf0ec, 0x00005600, 0x003ce800, 0x00000000,
+ 0xe33c3e63, 0x0000d004, 0x003c3000, 0x00000000, 0x1a53da7b, 0x0000e100,
+ 0x18c00b7b, 0x00004180, 0x00031869, 0x0000e502, 0x1d80346e, 0x00008880,
+ 0x9cc00a7b, 0x0000e0c8, 0x9cc00000, 0x000009c0, 0x98c01c6e, 0x00006080,
+ 0x00804079, 0x00006586, 0x073c2c63, 0x0000d100, 0x003c2000, 0x00008000,
+ 0x07639c63, 0x0000a980, 0x18c01a73, 0x0000e080, 0xa7280500, 0x00004900,
+ 0x1c041863, 0x0000e002, 0x0000409e, 0x00002586, 0x18c01876, 0x0000e780,
+ 0x9ed39a73, 0x00008900, 0xe7039a63, 0x0000f900, 0x00000008, 0x00000080,
+ 0x000063be, 0x00007400, 0x703bc8ec, 0x00005600, 0x003ce000, 0x00008000,
+ 0x1a400082, 0x00009084, 0x18c37863, 0x00006202, 0xc0000079, 0x0000a406,
+ 0xa7000000, 0x0000e180, 0x98c02273, 0x00004890, 0x98fffa63, 0x0000f910,
+ 0x00000002, 0x00008280, 0x00006477, 0x0000f008, 0xa7802273, 0x00006080,
+ 0x00131879, 0x0000e106, 0x9cc00a73, 0x00006080, 0x18d39878, 0x00004100,
+ 0x703bc8ec, 0x00005600, 0x003ce000, 0x00008000, 0xe71ce273, 0x00006000,
+ 0x98c02263, 0x00008880, 0x703b80ec, 0x00005600, 0x003b4800, 0x00008000,
+ 0x9a7ffa63, 0x00007900, 0x00000002, 0x00008280, 0x703cf0ec, 0x00005600,
+ 0x003ce800, 0x00000000, 0x1c042885, 0x00006100, 0x00134879, 0x0000e106,
+ 0x00006478, 0x0000f400, 0xa7bffa63, 0x0000f900, 0x00000002, 0x00008280,
+ 0x1a442084, 0x00009900, 0x0e7b9f75, 0x00000328, 0xdc420070, 0x00000e86,
+ 0x19c00800, 0x00009981, 0x0a035c63, 0x00006006, 0x09035c73, 0x0000b006,
+ 0x1ce31c73, 0x0000e100, 0x1c233c67, 0x00008900, 0x00039870, 0x00001502,
+ 0x18e31c67, 0x00001048, 0x19c00c67, 0x000060c9, 0x18c00863, 0x000088c8,
+ 0x0000639d, 0x0000f040, 0x98d31a72, 0x00001000, 0xe33ce463, 0x0000b03c,
+ 0xe33bc663, 0x0000303c, 0x000064b7, 0x0000f403, 0x1004e500, 0x0000f904,
+ 0x1003c500, 0x0000f904, 0x64c768c9, 0x0000f004, 0x18cb596b, 0x00009900,
+ 0x00036063, 0x00001502, 0x1bc00800, 0x00009989, 0x00006398, 0x00007011,
+ 0x0000636e, 0x00007000, 0x64cd68c9, 0x0000f004, 0x19cb4168, 0x00006100,
+ 0x198b586c, 0x00004100, 0x000b4066, 0x00001502, 0x000064e7, 0x00007033,
+ 0x19800000, 0x00009981, 0x0000634b, 0x00007200, 0x1de3746e, 0x00001901,
+ 0x99ff1fe3, 0x00009900, 0x8a033267, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x18c03c66, 0x00001281, 0x00001463, 0x00001583, 0x1d01c038, 0x00001910,
+ 0x00006338, 0x00007009, 0x64dc6831, 0x00007004, 0x0000046b, 0x00001583,
+ 0x99c01c6e, 0x00001890, 0x07933267, 0x0000a112, 0x00006338, 0x0000f008,
+ 0xffffffff, 0x00007f97, 0x18c04466, 0x00009283, 0x18c01800, 0x00006189,
+ 0x19800000, 0x00004989, 0x9a400000, 0x00001988, 0x0000633f, 0x00007010,
+ 0x00006462, 0x0000f000, 0x00000067, 0x00001582, 0x19800800, 0x0000e191,
+ 0x5a000000, 0x0000c990, 0x000064d2, 0x00007011, 0x000064d1, 0x00007000,
+ 0x18000ce0, 0x00001283, 0x0000650d, 0x0000f013, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x99771ee3, 0x00001900, 0xe2033c65, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583, 0x81401800, 0x00006199,
+ 0x41801800, 0x00004999, 0xc1401000, 0x00006199, 0x41400000, 0x00004999,
+ 0x00006502, 0x00007030, 0x65004a1a, 0x00007100, 0x650249da, 0x00007300,
+ 0x01402800, 0x00009981, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04688000, 0x00007900,
+ 0x001c3d54, 0x00000980, 0x01c00004, 0x000080f4, 0x82e00500, 0x0000802e,
+ 0x650d2213, 0x0000f500, 0x03c3c702, 0x0000010b, 0x81401000, 0x00001980,
+ 0x650e2269, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x000064ee, 0x0000f00b, 0x65124ace, 0x00007100, 0xc1001f34, 0x00001283,
+ 0x99f71ee3, 0x00001908, 0xe2032c67, 0x0000208c, 0x0000653f, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x00020465, 0x00001583, 0x18c04060, 0x0000e7b0,
+ 0x0a01a466, 0x00002032, 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x0000653c, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x046ed000, 0x00007900, 0x00386bf0, 0x00008980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x65282213, 0x00007500,
+ 0x03c01002, 0x0000e100, 0x04972863, 0x00004200, 0x01e33466, 0x00001900,
+ 0x99f71ee3, 0x00009900, 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x00020465, 0x00001583, 0x18c04060, 0x0000e7b0, 0x0197282f, 0x00000230,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00006566, 0x0000f018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04665000, 0x00007900,
+ 0x002516f4, 0x00000980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x653c2213, 0x00007500, 0x03c01002, 0x0000e100,
+ 0x04972863, 0x00004200, 0x01c03006, 0x00001900, 0x653f4a1a, 0x0000f500,
+ 0xc1604001, 0x000000da, 0xc160340c, 0x000080d6, 0x99f71ee3, 0x00009900,
+ 0xe2032c67, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020465, 0x00001583,
+ 0x18c04060, 0x0000e7b0, 0x0a01a466, 0x00002032, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x000065a0, 0x0000f018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x044f9800, 0x00007900, 0x0018cd26, 0x00008980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x65532213, 0x00007500, 0x03c01002, 0x0000e100, 0x04972863, 0x00004200,
+ 0x01e33466, 0x00001900, 0x65564a1a, 0x0000f500, 0xc1601803, 0x000000da,
+ 0xc1600402, 0x000000d6, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04688000, 0x00007900,
+ 0x001c3d54, 0x00000980, 0x01c00004, 0x000080f4, 0x82e00500, 0x0000802e,
+ 0x65612213, 0x0000f500, 0x03c33f02, 0x0000810b, 0x81401000, 0x00001980,
+ 0x65622269, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000468, 0x00001583,
+ 0x0000530f, 0x0000700b, 0x65664ace, 0x00007100, 0x65694a1a, 0x0000f500,
+ 0xc1604001, 0x000000da, 0xc1604408, 0x000080d6, 0xc1001f34, 0x00001283,
+ 0x99b71ee3, 0x00009908, 0xe2033c66, 0x0000208c, 0x000065a6, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x00020467, 0x00009583, 0x19404060, 0x0000e7b0,
+ 0x0a01a463, 0x00002032, 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x000065a3, 0x0000f018, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0464a800, 0x00007900, 0x001ef4aa, 0x00000980, 0x81401000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x657f2213, 0x0000f500,
+ 0x03c01002, 0x0000e100, 0x04972865, 0x00004200, 0x01e31c63, 0x00001900,
+ 0xc1002734, 0x00009283, 0x99b71ee3, 0x00009908, 0xe2033c66, 0x0000208c,
+ 0x0000659a, 0x00007010, 0xffffffff, 0x00007f97, 0x00008467, 0x00009583,
+ 0x19404060, 0x0000e7b0, 0x01972832, 0x00000230, 0x01400020, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x00006598, 0x00007018, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04716800, 0x0000f900, 0x001bb510, 0x00008980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
+ 0x65952213, 0x00007500, 0x03c01002, 0x0000e100, 0x04972865, 0x00004200,
+ 0x01c03006, 0x00001900, 0x65984a1a, 0x00007500, 0xc1603001, 0x000080da,
+ 0xc1600408, 0x000000d6, 0x659a49da, 0x0000f300, 0x01400000, 0x00009981,
+ 0x659b4aa5, 0x00007100, 0x659c2269, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x00000468, 0x00001583, 0x00004fc8, 0x0000700b, 0x65a04ace, 0x00007100,
+ 0x65a34a1a, 0x0000f500, 0xc1603001, 0x000080da, 0xc1600409, 0x000080d6,
+ 0x65a64a1a, 0x0000f500, 0xc1604001, 0x000000da, 0xc160340b, 0x000000d6,
+ 0x99b71ee3, 0x00001900, 0xe2033c66, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x00020467, 0x00009583, 0x19404060, 0x0000e7b0, 0x0a01a463, 0x00002032,
+ 0x01400020, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x000065ba, 0x00007018,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04757000, 0x00007900,
+ 0x0001e2e4, 0x00000980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x65ba2213, 0x0000f500, 0x03c01002, 0x0000e100,
+ 0x04972865, 0x00004200, 0x01e31c63, 0x00001900, 0x65bd4a1a, 0x0000f500,
+ 0xc1603001, 0x000080da, 0xc1600408, 0x000000d6, 0xaf0166ec, 0x00007902,
+ 0x0ac00000, 0x00008004, 0xaf4150ec, 0x0000f902, 0x0a400000, 0x00000004,
+ 0xaf4142ec, 0x0000f902, 0x09c00000, 0x00008004, 0xaf4134ec, 0x00007902,
+ 0x09400000, 0x00000004, 0x0b416004, 0x0000e200, 0x0b815805, 0x00008200,
+ 0x05c16004, 0x0000e200, 0x05815805, 0x00000200, 0x0101702d, 0x0000e300,
+ 0x05415006, 0x00008200, 0x0b415006, 0x00006200, 0x0b814807, 0x00008200,
+ 0x01016804, 0x00006300, 0x05014807, 0x00008200, 0xaf4126ec, 0x00007902,
+ 0x08c00000, 0x00000004, 0x0b417004, 0x0000e300, 0x04c14008, 0x00008200,
+ 0x01014008, 0x0000e200, 0x0b813809, 0x00008200, 0x0b40202d, 0x0000e300,
+ 0x04813809, 0x00008200, 0x0101702d, 0x0000e300, 0x0441300a, 0x00000200,
+ 0x0b41300a, 0x00006200, 0x0b81280b, 0x00008200, 0x01016804, 0x00006300,
+ 0x0401280b, 0x00000200, 0x0b417004, 0x0000e300, 0x03c1200c, 0x00008200,
+ 0x0101200c, 0x00006200, 0x0b81180d, 0x00008200, 0x0381180d, 0x00006200,
+ 0x0b40202d, 0x00008300, 0x0101702d, 0x00009302, 0x0b81582c, 0x00009308,
+ 0x0101502e, 0x00001308, 0x000065f1, 0x0000f010, 0x0b414804, 0x00009300,
+ 0x0b81402d, 0x00009300, 0x0101382e, 0x00001300, 0x0b413004, 0x00009300,
+ 0x0b81282d, 0x00001300, 0x0101202e, 0x00001300, 0x01011804, 0x00009302,
+ 0x00006742, 0x0000f013, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x0b400000, 0x00009981, 0x00002c2d, 0x00009583, 0x0b809012, 0x00001908,
+ 0x00006602, 0x00007009, 0x00002c2d, 0x00009583, 0x00006696, 0x0000f01b,
+ 0x0000142d, 0x00001583, 0x0b80a815, 0x00001908, 0x00006602, 0x00007009,
+ 0x0000142d, 0x00001583, 0x00006772, 0x00007033, 0x00001c2d, 0x00009583,
+ 0x0b80a014, 0x00001908, 0x00006602, 0x00007009, 0x0000242d, 0x00001583,
+ 0x0b809813, 0x00001908, 0x000066a2, 0x00007011, 0x0101702e, 0x00009b00,
+ 0x00072804, 0x0000e502, 0x0b802004, 0x00000900, 0x000066a6, 0x0000700b,
+ 0x81002c2d, 0x00001880, 0x8b917204, 0x00009000, 0xaa49fa2e, 0x0000789b,
+ 0x03000001, 0x00008000, 0x923ffa2e, 0x0000f88b, 0x03000003, 0x00000000,
+ 0xdb81fa2e, 0x000049b0, 0xdec25a2e, 0x0000199f, 0x0142042e, 0x00001181,
+ 0xffffffff, 0x00007f86, 0x2c055c05, 0x00009680, 0x810588b0, 0x00001000,
+ 0x8b404204, 0x00009780, 0x01800c2d, 0x00001781, 0x01c00c06, 0x00006080,
+ 0x01000c06, 0x0000c881, 0x01a03404, 0x00009001, 0x01a03405, 0x00009101,
+ 0x8b503c06, 0x00009000, 0xac502e2d, 0x00007902, 0x81100200, 0x00008004,
+ 0x0021682e, 0x0000a080, 0xffffffff, 0x00007f97, 0x81102a04, 0x00001000,
+ 0x80116a04, 0x0000e502, 0x01000000, 0x00008981, 0x01000800, 0x000019f1,
+ 0xffffffff, 0x00007f86, 0x00000404, 0x00001583, 0x00006645, 0x0000f00b,
+ 0x8140fa2e, 0x0000e280, 0x81002a2e, 0x00008780, 0x00000404, 0x0000e583,
+ 0x0b502fe4, 0x00008800, 0x014168e5, 0x00009400, 0x0b016005, 0x00009208,
+ 0x00006645, 0x0000f008, 0x00000c04, 0x00009583, 0x0ac15805, 0x00009208,
+ 0x00006645, 0x00007009, 0x00001404, 0x00009583, 0x0a815005, 0x00009208,
+ 0x00006645, 0x00007009, 0x00001c04, 0x00001583, 0x0a414805, 0x00009208,
+ 0x00006645, 0x00007009, 0x00002404, 0x00009583, 0x0a014005, 0x00009208,
+ 0x00006645, 0x00007009, 0x00002c04, 0x00001583, 0x09c13805, 0x00009208,
+ 0x00006645, 0x00007009, 0x00003404, 0x00001583, 0x09813005, 0x00009208,
+ 0x00006645, 0x00007009, 0x00003c04, 0x00009583, 0x09412805, 0x00009208,
+ 0x00006645, 0x00007009, 0x00004404, 0x00009583, 0x09012005, 0x00009208,
+ 0x00006645, 0x00007009, 0x00004c04, 0x00001583, 0x08c11805, 0x00009208,
+ 0x8b800a2e, 0x00009080, 0x800a022e, 0x00009582, 0x000066ae, 0x0000f013,
+ 0x88800000, 0x00009980, 0x8b96fa22, 0x0000f900, 0x00000006, 0x00008080,
+ 0x0001082e, 0x00007902, 0x08000000, 0x00008000, 0x0040c82e, 0x00007902,
+ 0x06000000, 0x00000000, 0x0000fa2e, 0x00007902, 0x07800000, 0x00000000,
+ 0x0000ec2e, 0x0000f902, 0x07000000, 0x00008000, 0x01c0b821, 0x00006200,
+ 0x0180b020, 0x00008200, 0x02007819, 0x0000e200, 0x0b407018, 0x00000200,
+ 0x0000de2e, 0x00007902, 0x06800000, 0x00008000, 0x0140a81f, 0x0000e200,
+ 0x0b816806, 0x00000300, 0x0340a01e, 0x00006200, 0x0b40282e, 0x00000300,
+ 0x0300981d, 0x00006200, 0x0b80682d, 0x00008300, 0x02c0901c, 0x0000e200,
+ 0x0b40602e, 0x00000300, 0x0280881b, 0x0000e200, 0x0b80582d, 0x00008300,
+ 0x0b40502e, 0x00006300, 0x0240801a, 0x00008200, 0x0b80482d, 0x00009300,
+ 0x0b40402e, 0x00001300, 0x01016807, 0x00001302, 0x03016021, 0x0000e210,
+ 0x02c15820, 0x00000210, 0x0281501f, 0x00006210, 0x0241481e, 0x00008210,
+ 0x0000667d, 0x00007008, 0x0b811818, 0x00006200, 0x0201401d, 0x00000200,
+ 0x0b41700b, 0x0000e300, 0x01c1381c, 0x00008200, 0x0b80502d, 0x00006300,
+ 0x0181301b, 0x00000200, 0x0b40482e, 0x00006300, 0x0141281a, 0x00008200,
+ 0x01012019, 0x0000e200, 0x0b80402d, 0x00008300, 0x0b40382e, 0x00001300,
+ 0x0b80302d, 0x00009300, 0x0b40282e, 0x00009300, 0x0b80202d, 0x00001300,
+ 0x0101700c, 0x00009302, 0x000066d7, 0x0000700b, 0x88802a22, 0x00001080,
+ 0x8000a222, 0x00009582, 0x0101582c, 0x00001308, 0x0b415004, 0x00001308,
+ 0x00006649, 0x0000f010, 0x0b81482d, 0x00001300, 0x0101402e, 0x00001300,
+ 0x0b413804, 0x00001300, 0x0b81302d, 0x00001300, 0x0101282e, 0x00009300,
+ 0x0b412004, 0x00001300, 0x0101182d, 0x00001302, 0xaf3966ec, 0x0000d00c,
+ 0x00395800, 0x00008000, 0xaf7950ec, 0x0000500c, 0x00394800, 0x00000000,
+ 0x00006746, 0x00007010, 0xaf7942ec, 0x0000d004, 0x00393800, 0x00008000,
+ 0xaf7934ec, 0x00005004, 0x00392800, 0x00000000, 0xaf7926ec, 0x00005004,
+ 0x00391800, 0x00000000, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x00003c2d, 0x00001583, 0x0b808010, 0x00001908, 0x00006602, 0x00007009,
+ 0x00003c2d, 0x00001583, 0x0b808811, 0x00009928, 0x00006602, 0x0000f029,
+ 0x0000442d, 0x00001583, 0x0b80780f, 0x00001908, 0x00006602, 0x00007009,
+ 0x00004c2d, 0x00009583, 0x0b80700e, 0x00001908, 0x00006602, 0x00007009,
+ 0x0100b817, 0x00009b00, 0x00072804, 0x0000e502, 0x0b802004, 0x00000900,
+ 0x00006606, 0x00007013, 0x0b400c2d, 0x00009081, 0x0000542d, 0x00009583,
+ 0x000065f2, 0x0000f013, 0x8bbff801, 0x00009980, 0x923ffa2e, 0x0000f88b,
+ 0x03000003, 0x00000000, 0x0601fa2e, 0x000045b1, 0x14225a2e, 0x0000f699,
+ 0x8b402a2e, 0x00006780, 0x8100fa2e, 0x00000280, 0x0b9027e4, 0x0000e000,
+ 0x01a16c2d, 0x00004901, 0x01c172ec, 0x00006100, 0x0b400000, 0x00000981,
+ 0x00216c06, 0x00009503, 0x000066ef, 0x0000701b, 0x00002c2d, 0x00009583,
+ 0x01009012, 0x00009908, 0x000066c6, 0x0000f009, 0x00002c2d, 0x00009583,
+ 0x00006778, 0x0000701b, 0x0000142d, 0x00001583, 0x0100a815, 0x00009908,
+ 0x000066c6, 0x0000f009, 0x0000142d, 0x00001583, 0x000067a9, 0x00007033,
+ 0x00001c2d, 0x00009583, 0x0100a014, 0x00009908, 0x000066c6, 0x0000f009,
+ 0x0000242d, 0x00001583, 0x01009813, 0x00009908, 0x00006784, 0x00007011,
+ 0x00216c06, 0x00009503, 0x01003804, 0x00001208, 0xffffffff, 0x00007f86,
+ 0x01002004, 0x00009b00, 0x00072804, 0x0000e502, 0x01402004, 0x00000900,
+ 0x000066ef, 0x0000f00b, 0x8b402c2d, 0x00009880, 0x8b902a2d, 0x00001000,
+ 0xb549fa2e, 0x0000f89b, 0x03000001, 0x00008000, 0x923ffa2e, 0x0000f88b,
+ 0x03000003, 0x00000000, 0x0121fa2e, 0x0000c5b0, 0x91c25a2e, 0x0000739d,
+ 0x00006649, 0x0000f200, 0x88800000, 0x00009980, 0x01400000, 0x00001980,
+ 0x0000667d, 0x00007400, 0x82211005, 0x0000e802, 0x00382aec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x8b400a2e, 0x00001880, 0xa340262d, 0x00002086,
+ 0xa350362d, 0x00007902, 0x8b580200, 0x00008004, 0xffffffff, 0x00007f97,
+ 0x01008204, 0x00009880, 0x01408004, 0x00001784, 0x0020202e, 0x00002080,
+ 0xffffffff, 0x00007fa7, 0x81102206, 0x00009100, 0x01008204, 0x00009880,
+ 0x01008004, 0x00009784, 0x01002005, 0x00001100, 0x00116804, 0x0000e502,
+ 0x01000000, 0x00008981, 0x01000800, 0x000019c1, 0xffffffff, 0x00007f86,
+ 0x91400404, 0x0000788b, 0x23000000, 0x0000b381, 0x0b400c2d, 0x00009081,
+ 0x00216c06, 0x00006503, 0x01216c2d, 0x00000901, 0x00006753, 0x00007033,
+ 0x0b400c2d, 0x00009081, 0x00216c06, 0x00009503, 0x00002c2d, 0x00009583,
+ 0x00002c2d, 0x00009583, 0x0000670b, 0x0000f018, 0x000067df, 0x00007008,
+ 0x0000679a, 0x00007018, 0x0000142d, 0x00001583, 0x0140a815, 0x00001908,
+ 0x00006705, 0x00007009, 0x0000142d, 0x00001583, 0x000067da, 0x0000f033,
+ 0x00001c2d, 0x00009583, 0x0140a014, 0x00001908, 0x00006705, 0x00007009,
+ 0x0000242d, 0x00001583, 0x01409813, 0x00001908, 0x000067a6, 0x00007011,
+ 0x00216c06, 0x00009503, 0x00006807, 0x0000700b, 0x02002805, 0x00009b00,
+ 0x00072808, 0x0000e502, 0x01404008, 0x00000900, 0x000066cd, 0x0000f013,
+ 0x0b401404, 0x00001081, 0x00216c06, 0x00009503, 0x00002c2d, 0x00009583,
+ 0x00002c2d, 0x00009583, 0x00006724, 0x00007018, 0x000067b3, 0x00007008,
+ 0x000067b6, 0x0000f030, 0x00003c2d, 0x00001583, 0x01408010, 0x00001908,
+ 0x0000671e, 0x00007009, 0x00003c2d, 0x00001583, 0x01408811, 0x00009928,
+ 0x0000671e, 0x0000f029, 0x0000442d, 0x00001583, 0x0140780f, 0x00001908,
+ 0x0000671e, 0x00007009, 0x00004c2d, 0x00009583, 0x0140700e, 0x00001908,
+ 0x000067c1, 0x0000f011, 0x00216c06, 0x00009503, 0x000067fb, 0x0000700b,
+ 0x02002805, 0x00009b00, 0x00072808, 0x0000e502, 0x01404008, 0x00000900,
+ 0x000066cd, 0x0000f013, 0x0b401c04, 0x00009081, 0x00216c06, 0x00009503,
+ 0x00002c2d, 0x00009583, 0x00002c2d, 0x00009583, 0x0000673d, 0x0000f018,
+ 0x000067ec, 0x00007008, 0x000067c4, 0x0000f030, 0x00003c2d, 0x00001583,
+ 0x01408010, 0x00001908, 0x00006737, 0x0000f009, 0x00003c2d, 0x00001583,
+ 0x01408811, 0x00009928, 0x00006737, 0x00007029, 0x0000442d, 0x00001583,
+ 0x0140780f, 0x00001908, 0x00006737, 0x0000f009, 0x00004c2d, 0x00009583,
+ 0x0140700e, 0x00001908, 0x000067cf, 0x00007011, 0x00216c06, 0x00009503,
+ 0x0000680d, 0x0000700b, 0x02002805, 0x00009b00, 0x00072808, 0x0000e502,
+ 0x01404008, 0x00000900, 0x000066cd, 0x0000f013, 0x0b402404, 0x00001081,
+ 0x0000542d, 0x00009583, 0x88800000, 0x00001988, 0x000066b4, 0x0000f011,
+ 0x00006649, 0x00007000, 0x100000ec, 0x0000d680, 0x00000000, 0x00008080,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x100000ec, 0x0000d680,
+ 0x00000000, 0x00008080, 0xaf3966ec, 0x00005004, 0x00395800, 0x00008000,
+ 0xaf7950ec, 0x0000d004, 0x00394800, 0x00000000, 0xaf7942ec, 0x0000d004,
+ 0x00393800, 0x00008000, 0x00006694, 0x0000f400, 0xaf7934ec, 0x00005004,
+ 0x00392800, 0x00000000, 0xaf7926ec, 0x00005004, 0x00391800, 0x00000000,
+ 0x00002c2d, 0x00009583, 0x00002c2d, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x000067d7, 0x0000f008, 0x0000678c, 0x0000f030, 0x00003c2d, 0x00001583,
+ 0x01408010, 0x00001908, 0x00006764, 0x0000f009, 0x00003c2d, 0x00001583,
+ 0x01408811, 0x00009928, 0x00006764, 0x00007029, 0x0000442d, 0x00001583,
+ 0x0140780f, 0x00001908, 0x00006764, 0x0000f009, 0x00004c2d, 0x00009583,
+ 0x0140700e, 0x00001908, 0x00006797, 0x0000f011, 0x00216c06, 0x00009503,
+ 0x00006801, 0x0000700b, 0x01402805, 0x00001b00, 0x00072805, 0x00006502,
+ 0x02002805, 0x00008900, 0x000066f3, 0x0000700b, 0x8b402c2d, 0x00009880,
+ 0x8b90422d, 0x00009000, 0xb549fa2e, 0x0000f89b, 0x03000001, 0x00008000,
+ 0x923ffa2e, 0x0000f88b, 0x03000003, 0x00000000, 0xed81fa2e, 0x0000c5b1,
+ 0x07e25a2e, 0x0000e99f, 0x00000c2d, 0x00001583, 0x0100b016, 0x00001b08,
+ 0x0b802004, 0x00001908, 0x000066a2, 0x0000f010, 0x81872804, 0x00007813,
+ 0x33000000, 0x0000b385, 0x00003c2d, 0x00001583, 0x01008010, 0x00009908,
+ 0x000066c6, 0x0000f009, 0x00003c2d, 0x00001583, 0x01008811, 0x00001928,
+ 0x000066c6, 0x00007029, 0x0000442d, 0x00001583, 0x0100780f, 0x00009908,
+ 0x000066c6, 0x0000f009, 0x00004c2d, 0x00009583, 0x0100700e, 0x00009908,
+ 0x000066c6, 0x0000f009, 0x00216c06, 0x00006503, 0x0100b817, 0x00008900,
+ 0x01003817, 0x00009208, 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00,
+ 0x01402004, 0x00009900, 0xb3472804, 0x0000f813, 0x7b000000, 0x00003387,
+ 0x0000142d, 0x00001583, 0x0140a815, 0x00001908, 0x00006764, 0x0000f009,
+ 0x0000142d, 0x00001583, 0x000067d2, 0x00007033, 0x00001c2d, 0x00009583,
+ 0x0140a014, 0x00001908, 0x00006764, 0x0000f009, 0x0000242d, 0x00001583,
+ 0x01409813, 0x00001908, 0x00006764, 0x0000f009, 0x0140b817, 0x00009900,
+ 0xd9a16c06, 0x0000f813, 0x0b000000, 0x0000b480, 0x00003c2d, 0x00001583,
+ 0x01408010, 0x00001908, 0x00006705, 0x00007009, 0x00003c2d, 0x00001583,
+ 0x01408811, 0x00009928, 0x00006705, 0x0000f029, 0x0000442d, 0x00001583,
+ 0x0140780f, 0x00001908, 0x00006705, 0x00007009, 0x00004c2d, 0x00009583,
+ 0x0140700e, 0x00001908, 0x00006705, 0x00007009, 0x0140b817, 0x00009900,
+ 0xc1e16c06, 0x00007813, 0x3b000000, 0x0000b480, 0x00000c2d, 0x00001583,
+ 0x0100b016, 0x00009908, 0x00006784, 0x00007011, 0x00216c06, 0x00009503,
+ 0x01003816, 0x00001208, 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00,
+ 0x01402004, 0x00009900, 0xb3472804, 0x0000f813, 0x7b000000, 0x00003387,
+ 0x01409012, 0x00009900, 0xc8216c06, 0x00007813, 0xdb000000, 0x0000b38f,
+ 0x0000142d, 0x00001583, 0x0140a815, 0x00001908, 0x0000671e, 0x00007009,
+ 0x0000142d, 0x00001583, 0x000067e2, 0x00007033, 0x00001c2d, 0x00009583,
+ 0x0140a014, 0x00001908, 0x0000671e, 0x00007009, 0x0000242d, 0x00001583,
+ 0x01409813, 0x00001908, 0x0000671e, 0x00007009, 0x0140b817, 0x00009900,
+ 0xc8216c06, 0x00007813, 0xdb000000, 0x0000b38f, 0x0000142d, 0x00001583,
+ 0x0140a815, 0x00001908, 0x00006737, 0x0000f009, 0x0000142d, 0x00001583,
+ 0x000067e7, 0x00007033, 0x00001c2d, 0x00009583, 0x0140a014, 0x00001908,
+ 0x00006737, 0x0000f009, 0x0000242d, 0x00001583, 0x01409813, 0x00001908,
+ 0x00006737, 0x0000f009, 0x0140b817, 0x00009900, 0xce616c06, 0x0000f813,
+ 0x6b000000, 0x0000b480, 0x00000c2d, 0x00001583, 0x0140b016, 0x00001908,
+ 0x00006797, 0x0000f011, 0xd9a16c06, 0x0000f813, 0x0b000000, 0x0000b480,
+ 0x01409012, 0x00009900, 0xd9a16c06, 0x0000f813, 0x0b000000, 0x0000b480,
+ 0x00000c2d, 0x00001583, 0x0140b016, 0x00001908, 0x000067a6, 0x00007011,
+ 0xc1e16c06, 0x00007813, 0x3b000000, 0x0000b480, 0x01409012, 0x00009900,
+ 0xc1e16c06, 0x00007813, 0x3b000000, 0x0000b480, 0x00000c2d, 0x00001583,
+ 0x0140b016, 0x00001908, 0x000067c1, 0x0000f011, 0xc8216c06, 0x00007813,
+ 0xdb000000, 0x0000b38f, 0x00000c2d, 0x00001583, 0x0140b016, 0x00001908,
+ 0x000067cf, 0x00007011, 0xce616c06, 0x0000f813, 0x6b000000, 0x0000b480,
+ 0x01409012, 0x00009900, 0xce616c06, 0x0000f813, 0x6b000000, 0x0000b480,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0415e800, 0x0000f900,
+ 0x001c0286, 0x00000980, 0x04716000, 0x00007900, 0x000b2492, 0x00008980,
+ 0x04800000, 0x000080dc, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x67fb2213, 0x00007500, 0x82f81400, 0x0000803c, 0x81401000, 0x00001980,
+ 0x01403805, 0x00009200, 0xffffffff, 0x00007f86, 0x02002805, 0x00009b00,
+ 0x01404008, 0x00009900, 0xb3472808, 0x0000f813, 0x23000000, 0x00003389,
+ 0x01403805, 0x00009200, 0xffffffff, 0x00007f86, 0x01402805, 0x00001b00,
+ 0x02002805, 0x00001900, 0xda872805, 0x00007813, 0x9b000000, 0x0000b387,
+ 0x01403805, 0x00009200, 0xffffffff, 0x00007f86, 0x02002805, 0x00009b00,
+ 0x01404008, 0x00009900, 0xb3472808, 0x0000f813, 0x5b000000, 0x0000b388,
+ 0x01403805, 0x00009200, 0xffffffff, 0x00007f86, 0x02002805, 0x00009b00,
+ 0x01404008, 0x00009900, 0xb3472808, 0x0000f813, 0xeb000000, 0x0000b389,
+ 0x700200ec, 0x00005680, 0x00000540, 0x00008088, 0x703c20ec, 0x0000d600,
+ 0x003c1800, 0x00000000, 0x703c10ec, 0x0000d600, 0x003bd800, 0x00008000,
0x703b60ec, 0x0000d600, 0x003b5800, 0x00000000, 0x703b40ec, 0x00005600,
0x003b3800, 0x00000000, 0x703b30ec, 0x0000d600, 0x003b1800, 0x00008000,
- 0x703ba0ec, 0x0000d600, 0x003b9800, 0x00000000, 0x703b90ec, 0x0000d600,
+ 0x703b98ec, 0x00005600, 0x003b9000, 0x00008000, 0x703b80ec, 0x00005600,
0x003b7800, 0x00008000, 0x703b70ec, 0x00005600, 0x003b6800, 0x00000000,
0x177b30ec, 0x00002180, 0x19f30004, 0x00006180, 0x18c03263, 0x00004880,
- 0xd9f8027b, 0x00007900, 0x0000003e, 0x00000380, 0xffffffff, 0x00007f86,
+ 0xd9f80279, 0x0000f900, 0x0000003e, 0x00000380, 0xffffffff, 0x00007f86,
0x18c33063, 0x00009000, 0x00000000, 0x0000f480, 0x703b18ec, 0x0000d600,
0x00000000, 0x00008080, 0x700200ec, 0x00005680, 0x003b3fc0, 0x00008078,
- 0x173bccec, 0x0000a180, 0x173bbeec, 0x0000a180, 0xd91722e4, 0x00001900,
- 0xffffffff, 0x00007f86, 0x00000079, 0x00001582, 0x1983c879, 0x00009b10,
- 0x1ec337e4, 0x00001810, 0x00006306, 0x00007008, 0x2743d8e5, 0x00001400,
- 0x1e43c89d, 0x00009200, 0x1ba33466, 0x0000e101, 0x18c7f866, 0x0000c280,
- 0x173bccec, 0x00002980, 0x2c009263, 0x00001680, 0x9ec588b0, 0x00009000,
- 0xe304e47b, 0x00002004, 0x173bbeec, 0x00002980, 0xffffffff, 0x00007f97,
- 0x00000c9c, 0x00001583, 0x276807e4, 0x00009808, 0xe33b3c7b, 0x0000208c,
- 0x000062e1, 0x0000f010, 0xffffffff, 0x00007f97, 0x2704e867, 0x00009300,
- 0xe33ce47b, 0x0000a884, 0x00c002ec, 0x0000df80, 0x1616380b, 0x00009684,
- 0xe304ec7b, 0x0000a004, 0x9eff1fe3, 0x00001900, 0x8a04e27b, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x1ec03c9c, 0x00001281, 0x0000147b, 0x00001583,
- 0x00000c9d, 0x00009583, 0xffffffff, 0x00007f86, 0x00006340, 0x0000f008,
- 0x000062e1, 0x0000f010, 0x2c009466, 0x00001680, 0xa70588b0, 0x00009000,
- 0xe33b3c9c, 0x0000a084, 0x1a2807e4, 0x00001800, 0xffffffff, 0x00007f97,
- 0x1a034067, 0x00001300, 0xe33b449c, 0x00002884, 0x00c002ec, 0x0000df80,
- 0x1616d00b, 0x00009684, 0x9eff1fe3, 0x00001900, 0x8a033a7b, 0x0000a080,
- 0xe304ec9c, 0x0000a004, 0xffffffff, 0x00007f97, 0x19c03c67, 0x00001281,
- 0x68001467, 0x0000c988, 0xa2c00c9d, 0x0000188d, 0x1ac00000, 0x0000e180,
- 0x27001c6e, 0x0000c880, 0x1a000800, 0x0000e181, 0x0423306b, 0x0000e087,
- 0x0023a866, 0x00006886, 0x822ba866, 0x0000e886, 0x2c009263, 0x00001680,
- 0xa74588b0, 0x00001000, 0x98e80500, 0x00006100, 0x0433a866, 0x00006087,
- 0xe300049d, 0x00005004, 0x00400800, 0x00000082, 0x27403275, 0x00006080,
- 0x863ba866, 0x0000e087, 0x803b30ec, 0x00005700, 0x003b5800, 0x00000000,
- 0xd8c3929c, 0x00007900, 0x00000008, 0x00000080, 0x800000ec, 0x00005780,
+ 0x173bc4ec, 0x00002180, 0x173bb6ec, 0x00002180, 0xd91722e4, 0x00001900,
+ 0xffffffff, 0x00007f86, 0x00000078, 0x00009582, 0x1983c078, 0x00009b10,
+ 0x1e4337e4, 0x00009810, 0x0000688b, 0x0000f008, 0x2703c8e5, 0x00001400,
+ 0x1e03c09c, 0x00001200, 0x1ba33466, 0x0000e101, 0x18c7f866, 0x0000c280,
+ 0x173bc4ec, 0x0000a980, 0x2c009263, 0x00001680, 0x9e4588b0, 0x00001000,
+ 0xe3043c79, 0x0000a004, 0x173bb6ec, 0x0000a980, 0xffffffff, 0x00007f97,
+ 0x00000c87, 0x00001583, 0x272807e4, 0x00001808, 0xe33b3c79, 0x0000a08c,
+ 0x00006866, 0x0000f010, 0xffffffff, 0x00007f97, 0x21c4e067, 0x00001300,
+ 0xe33c3c79, 0x00002884, 0x00c002ec, 0x0000df80, 0x1682600b, 0x00009684,
+ 0xe304e479, 0x0000a004, 0x9e7f1fe3, 0x00009900, 0x8a043a79, 0x0000a080,
+ 0xffffffff, 0x00007fa7, 0x1e403c87, 0x00009281, 0x00001479, 0x00009583,
+ 0x00000c9c, 0x00001583, 0xffffffff, 0x00007f86, 0x000068c5, 0x0000f008,
+ 0x00006866, 0x0000f010, 0x2c009466, 0x00001680, 0xa1c588b0, 0x00009000,
+ 0xe33b3c87, 0x0000a084, 0x1a2807e4, 0x00001800, 0xffffffff, 0x00007f97,
+ 0x1a034067, 0x00001300, 0xe33b4487, 0x00002884, 0x00c002ec, 0x0000df80,
+ 0x1682f80b, 0x00001684, 0x9e7f1fe3, 0x00009900, 0x8a033a79, 0x00002080,
+ 0xe304e487, 0x00002004, 0xffffffff, 0x00007f97, 0x19c03c67, 0x00001281,
+ 0x18a01467, 0x0000c989, 0xacc00c9c, 0x00009a88, 0x1a000000, 0x0000e180,
+ 0x21c01c6e, 0x0000c880, 0x1ac00800, 0x0000e181, 0x04233068, 0x0000e087,
+ 0x0023a066, 0x0000e886, 0x822ba066, 0x00006886, 0x2c009263, 0x00001680,
+ 0xa70588b0, 0x00009000, 0x98e80500, 0x00006100, 0x0433a066, 0x0000e087,
+ 0xe300049c, 0x0000d004, 0x00400800, 0x00000082, 0x27003274, 0x00006080,
+ 0x863ba066, 0x00006087, 0x803b30ec, 0x00005700, 0x003b4000, 0x00000000,
+ 0xd8c39287, 0x00007900, 0x00000008, 0x00000080, 0x800000ec, 0x00005780,
0x00000000, 0x00008080, 0x700200ec, 0x00005680, 0x003b18c4, 0x00008010,
- 0x177bd8ec, 0x00002180, 0x18f30004, 0x00009980, 0xd8f80302, 0x0000f900,
- 0x0000003e, 0x00000380, 0xffffffff, 0x00007f86, 0x1ac3d89d, 0x00009000,
- 0x703b58ec, 0x00005600, 0x00000000, 0x00008080, 0x700200ec, 0x00005680,
- 0x003b1fc0, 0x00000078, 0x00c002ec, 0x0000df80, 0x1618180b, 0x00009684,
+ 0x177bc8ec, 0x0000a180, 0x18f30004, 0x00009980, 0xd8f80302, 0x0000f900,
+ 0x0000003e, 0x00000380, 0xffffffff, 0x00007f86, 0x1a03c89c, 0x00009000,
+ 0x703b40ec, 0x00005600, 0x00000000, 0x00008080, 0x700200ec, 0x00005680,
+ 0x003b1fc0, 0x00000078, 0x00c002ec, 0x0000df80, 0x1684400b, 0x00001684,
0xb91b2364, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x2c009477, 0x00001680, 0xa74588b0, 0x00001000, 0xe304e49d, 0x0000a004,
- 0xffffffff, 0x00007fa7, 0x00000c9c, 0x00001583, 0x2763bc77, 0x00001909,
- 0x00006317, 0x0000f011, 0x1ec00c9d, 0x00009080, 0x2740f87b, 0x00009280,
- 0xffffffff, 0x00007f86, 0x2c00929d, 0x00009680, 0xa70588b0, 0x00009000,
- 0xe303dc9c, 0x00002004, 0xffffffff, 0x00007fa7, 0x00000c7b, 0x00001583,
- 0x1de4ec9d, 0x00009911, 0x0000630d, 0x00007009, 0xa7401c77, 0x00001880,
- 0x0783729d, 0x0000f902, 0x1b400000, 0x00000100, 0x0743a69d, 0x0000f902,
- 0x1cc00000, 0x00000100, 0x07042c9d, 0x00007902, 0x21000000, 0x00008100,
- 0x07041e9d, 0x0000f902, 0x20800000, 0x00008100, 0x0a03749c, 0x0000e806,
- 0x0743609d, 0x0000f902, 0x1ac00000, 0x00000100, 0x0743429d, 0x0000f902,
- 0x19c00000, 0x00000100, 0x0743349d, 0x00007902, 0x18c00000, 0x00008100,
- 0x0783909d, 0x0000f902, 0x1bc00000, 0x00008100, 0x1ec39c9c, 0x00006000,
- 0x0903749d, 0x00002006, 0x1ee4e87b, 0x0000e100, 0x21c00a74, 0x00000180,
- 0x21c4387b, 0x0000e200, 0x21839887, 0x00008200, 0x00043886, 0x00009502,
- 0x20842084, 0x0000e128, 0x20c42885, 0x00004928, 0x00006337, 0x00007021,
- 0x2c009477, 0x00001680, 0x9ec588b0, 0x00009000, 0xe3042e7b, 0x00007902,
- 0x21000000, 0x00008004, 0x633c628e, 0x00007404, 0x2764ec9c, 0x0000e100,
- 0xdb800000, 0x00008981, 0x1cc3989d, 0x0000e000, 0x1ed81302, 0x00000900,
- 0x000062b6, 0x00007400, 0x19a3bc77, 0x0000e100, 0x27000c77, 0x00004080,
- 0x1dc0fc9c, 0x00001281, 0x1a000000, 0x00006181, 0xb91b2364, 0x00004900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x1b001c6e, 0x0000e080,
- 0x98e80500, 0x00004900, 0xd8c3c26c, 0x00007900, 0x00000008, 0x00000080,
- 0x700040ec, 0x00005680, 0x003b18c4, 0x00008010, 0x9b001c6e, 0x00006080,
- 0x18f20004, 0x00004980, 0x0743686c, 0x0000f902, 0x1b000000, 0x00008100,
- 0xd91722e4, 0x00006100, 0x04181063, 0x0000e187, 0xffffffff, 0x00007f97,
- 0x703b68ec, 0x00005600, 0x003b6000, 0x00008000, 0x700040ec, 0x00005680,
- 0x003b1fc0, 0x00000078, 0x00c002ec, 0x0000df80, 0x161ab80b, 0x00001684,
- 0x9b001c6e, 0x00006080, 0xb91b2364, 0x00004900, 0x0783686c, 0x0000f902,
+ 0x2c009476, 0x00009680, 0xa70588b0, 0x00009000, 0xe3043c9c, 0x00002004,
+ 0xffffffff, 0x00007fa7, 0x00000c87, 0x00001583, 0x2723b476, 0x00009909,
+ 0x0000689c, 0x00007011, 0x1e400c9c, 0x00009080, 0x2700f879, 0x00009280,
+ 0xffffffff, 0x00007f86, 0x2c00929c, 0x00001680, 0xa1c588b0, 0x00009000,
+ 0xe303cc87, 0x0000a004, 0xffffffff, 0x00007fa7, 0x00000c79, 0x00009583,
+ 0x1da4e49c, 0x00001911, 0x00006892, 0x0000f009, 0xa7001c76, 0x00001880,
+ 0x0783729c, 0x00007902, 0x1b400000, 0x00000100, 0x07439e9c, 0x0000f902,
+ 0x1c800000, 0x00008100, 0x0704249c, 0x00007902, 0x20c00000, 0x00000100,
+ 0x0704169c, 0x0000f902, 0x1ec00000, 0x00008100, 0x0a037487, 0x0000e806,
+ 0x0743609c, 0x00007902, 0x1ac00000, 0x00000100, 0x0743429c, 0x00007902,
+ 0x19c00000, 0x00000100, 0x0743349c, 0x0000f902, 0x18c00000, 0x00008100,
+ 0x0783809c, 0x0000f902, 0x1bc00000, 0x00008100, 0x1e439487, 0x00006000,
+ 0x0903749c, 0x0000a006, 0x1e64e079, 0x00006100, 0x21800a73, 0x00000180,
+ 0x21843079, 0x00006200, 0x21439086, 0x00008200, 0x00043085, 0x00001502,
+ 0x1ec41883, 0x0000e128, 0x20842084, 0x0000c928, 0x000068bc, 0x0000f021,
+ 0x2c009476, 0x00009680, 0x9e4588b0, 0x00001000, 0xe3042679, 0x00007902,
+ 0x20c00000, 0x00000004, 0x68c16813, 0x0000f404, 0x2724e487, 0x0000e100,
+ 0xdb800000, 0x00008981, 0x1c83909c, 0x00006000, 0x1e581302, 0x00008900,
+ 0x0000683b, 0x00007400, 0x19a3b476, 0x0000e100, 0x21c00c76, 0x0000c080,
+ 0x1d80fc87, 0x00009281, 0x1ac00000, 0x00006181, 0xb91b2364, 0x00004900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x18c01c6e, 0x0000e080,
+ 0x1b320004, 0x00004980, 0xd8c3c263, 0x00007900, 0x00000008, 0x00000080,
+ 0x98e80500, 0x00006100, 0x0418106c, 0x0000e187, 0x700040ec, 0x00005680,
+ 0x003b18c4, 0x00008010, 0xd91722e4, 0x00006100, 0x98c01c6e, 0x00004880,
+ 0x07433863, 0x0000f902, 0x18c00000, 0x00008100, 0xffffffff, 0x00007fa7,
+ 0x703b38ec, 0x00005600, 0x003b1800, 0x00008000, 0x700040ec, 0x00005680,
+ 0x003b67c0, 0x00000078, 0x00c002ec, 0x0000df80, 0x1686e00b, 0x00009684,
+ 0x98c01c6e, 0x00006080, 0xb91b2364, 0x00004900, 0x07836863, 0x0000f902,
0x1b000000, 0x00008100, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083,
- 0x0000636a, 0x00007400, 0x08800000, 0x00001980, 0xc8905a0b, 0x00009900,
- 0x17385cec, 0x0000a180, 0x03211fe4, 0x00009800, 0xffffffff, 0x00007f97,
- 0x0300580c, 0x00001300, 0x02c00000, 0x00007900, 0x00080000, 0x00000980,
- 0x173864ec, 0x0000a980, 0x0421180b, 0x0000e887, 0x800000ec, 0x00005780,
- 0x00385800, 0x00000000, 0x803910ec, 0x00005700, 0x00000000, 0x00000880,
+ 0x000068ef, 0x00007400, 0x08400000, 0x00001980, 0xc850620c, 0x00009900,
+ 0x173864ec, 0x00002180, 0x036117e4, 0x00009800, 0xffffffff, 0x00007f97,
+ 0x0340600d, 0x00009300, 0x03000000, 0x0000f900, 0x00080000, 0x00000980,
+ 0x17386cec, 0x00002980, 0x0421100c, 0x0000e887, 0x800000ec, 0x00005780,
+ 0x00386000, 0x00008000, 0x803908ec, 0x00005700, 0x00000000, 0x00000880,
0x800000ec, 0x00005780, 0x00000000, 0x00008080, 0x800000ec, 0x00005780,
- 0x000007c0, 0x0000fff8, 0x800118ec, 0x0000f902, 0x02c00000, 0x00000700,
- 0xffffffff, 0x00007fa7, 0x80000e23, 0x00009583, 0x00006360, 0x0000700b,
- 0x00000001, 0x0000f080, 0x821722e4, 0x0000e100, 0x82bf1fe3, 0x00004900,
- 0x8a002a0a, 0x00002080, 0xffffffff, 0x00007fa7, 0x02803c05, 0x00001281,
- 0xf940140a, 0x0000788a, 0x03000001, 0x00000080, 0x2a389f12, 0x0000801c,
- 0x01809c00, 0x00001980, 0xffffffff, 0x00007f86, 0x6381250b, 0x00007004,
- 0xf9400c06, 0x0000788a, 0x03000001, 0x00000080, 0x19800000, 0x000087cc,
- 0x300062a9, 0x0000f902, 0x02c00000, 0x00008000, 0x300054a9, 0x0000f902,
- 0x02400000, 0x00000000, 0x30383ea9, 0x00002080, 0x304030a9, 0x0000f902,
+ 0x000007c0, 0x0000fff8, 0x800110ec, 0x00007902, 0x03000000, 0x00008700,
+ 0xffffffff, 0x00007fa7, 0x80000e22, 0x00001583, 0x000068e5, 0x0000700b,
+ 0x00000001, 0x0000f080, 0xc1d722e4, 0x00006100, 0x82bf1fe3, 0x00004900,
+ 0x8a004a0a, 0x00002080, 0xffffffff, 0x00007fa7, 0x02803c09, 0x00001281,
+ 0x5a40140a, 0x0000788a, 0x03400001, 0x00008080, 0x2af89f12, 0x00000a28,
+ 0x2a409c00, 0x00001980, 0xffffffff, 0x00007f86, 0x6906266c, 0x0000f004,
+ 0x5a400c07, 0x0000f88a, 0x03400001, 0x00008080, 0x19800000, 0x000007c8,
+ 0x300062ac, 0x0000f902, 0x02c00000, 0x00008000, 0x300054ac, 0x0000f902,
+ 0x02400000, 0x00000000, 0x303846ac, 0x00002080, 0x304030ac, 0x0000f902,
0x01400000, 0x00000000, 0x1b400000, 0x00007900, 0x00020000, 0x00000980,
- 0x1c800000, 0x000006fc, 0x1b800000, 0x0000e180, 0x1a00600c, 0x00004900,
- 0x2a385f0c, 0x0000861c, 0x99a8510a, 0x00000710, 0x18c04809, 0x0000e100,
- 0x9d002207, 0x0000c780, 0x6398250b, 0x00007404, 0x1b382f06, 0x0000862c,
- 0x01809900, 0x00006180, 0x01c0580b, 0x00004900, 0xf9400c06, 0x0000788a,
- 0x03000001, 0x00000080, 0xffffffff, 0x00007f86, 0x173824ec, 0x0000a180,
- 0x30042aa9, 0x00007902, 0x21000000, 0x00000000, 0xffffffff, 0x00007f97,
- 0x00000004, 0x00001582, 0x20fc2785, 0x00000808, 0x02402004, 0x00006311,
- 0x01c00000, 0x00004990, 0x000063e0, 0x0000f008, 0x01604fe4, 0x00006000,
- 0x04204807, 0x0000e087, 0x028028e5, 0x00009400, 0x0100200a, 0x00001200,
- 0x173824ec, 0x00002980, 0x803b18ec, 0x00005700, 0x00383800, 0x00000000,
- 0x2c009409, 0x00001680, 0x814588b0, 0x00009000, 0x800000ec, 0x00005780,
- 0x00000000, 0x00008080, 0xe3005405, 0x00002004, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0xf1000c0a, 0x00007892, 0x03000001, 0x00000080,
- 0x2c009409, 0x00001680, 0x828588b0, 0x00009000, 0xe3382c0a, 0x00002084,
- 0x01e807e4, 0x00001800, 0xffffffff, 0x00007f97, 0x01c03805, 0x00009300,
- 0xe3383c0a, 0x00002884, 0x00c002ec, 0x0000df80, 0x161de80b, 0x00009684,
- 0x817f1fe3, 0x00001900, 0x8a002a05, 0x00002080, 0xe300540a, 0x00002004,
- 0xffffffff, 0x00007f97, 0x01403c05, 0x00001281, 0x7ca01405, 0x00004988,
- 0x68c00c0a, 0x0000188f, 0x2c009409, 0x00001680, 0x828588b0, 0x00009000,
- 0x81401c09, 0x00009880, 0xb9104208, 0x00001900, 0x077ba605, 0x0000a980,
- 0x07800005, 0x00005180, 0x00400000, 0x00008000, 0x07800205, 0x0000d180,
- 0x00400000, 0x00008000, 0xe300040a, 0x0000d004, 0x00400000, 0x00008082,
- 0x073c2c05, 0x0000d100, 0x003c2000, 0x00008000, 0x073c2e05, 0x00005100,
- 0x003c2000, 0x00008000, 0x077b6005, 0x00005100, 0x003b5800, 0x00000000,
- 0x07786205, 0x0000d100, 0x00385800, 0x00000000, 0x077b3405, 0x0000d100,
- 0x003b1800, 0x00008000, 0x07400605, 0x0000d100, 0x00400000, 0x00000080,
- 0x00000000, 0x0000f480, 0x07800005, 0x0000d100, 0x00400000, 0x00000080,
- 0x07800205, 0x00005100, 0x00400000, 0x00008480, 0x63e2628e, 0x00007204,
- 0x1ec0680d, 0x00009900, 0xb9104208, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x02389704, 0x00008a20, 0x01c09813, 0x00006100, 0x01809900, 0x00004980,
- 0x831722e4, 0x00001900, 0x63ec250b, 0x0000f004, 0x0c400c06, 0x0000f88b,
- 0x03000001, 0x00000080, 0xffffffff, 0x00007f86, 0x30382aa9, 0x00002080,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x803828ec, 0x00005700,
+ 0x1c000000, 0x000086fc, 0x1b800000, 0x0000e180, 0x2a409900, 0x00004980,
+ 0x1a38670c, 0x00000a2c, 0x19f85f0b, 0x00008a28, 0x99a8510a, 0x0000870c,
+ 0x691c266c, 0x0000f404, 0x18c04809, 0x0000e100, 0x9cc02208, 0x00004780,
+ 0x1af83705, 0x00008630, 0x5a400c07, 0x0000f88a, 0x03400001, 0x00008080,
+ 0xffffffff, 0x00007f86, 0x17382cec, 0x00002180, 0x300422ac, 0x0000f902,
+ 0x20c00000, 0x00008000, 0xffffffff, 0x00007f97, 0x00000005, 0x00009582,
+ 0x20bc1f84, 0x0000872c, 0x01002805, 0x0000e311, 0x02000000, 0x00004990,
+ 0x00006964, 0x0000f008, 0x026027e4, 0x0000e000, 0x04202008, 0x00006087,
+ 0x028048e5, 0x00009400, 0x0140280a, 0x00001200, 0x17382cec, 0x0000a980,
+ 0x803b18ec, 0x00005700, 0x00384000, 0x00000000, 0x2c009404, 0x00009680,
+ 0x824588b0, 0x00009000, 0x800000ec, 0x00005780, 0x00000000, 0x00008080,
+ 0xe3005409, 0x00002004, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
+ 0x52000c0a, 0x00007892, 0x03400001, 0x00008080, 0x2c009404, 0x00009680,
+ 0x828588b0, 0x00009000, 0xe338340a, 0x00002084, 0x022807e4, 0x00001800,
+ 0xffffffff, 0x00007f97, 0x02004006, 0x00009300, 0xe338440a, 0x00002884,
+ 0x00c002ec, 0x0000df80, 0x168a080b, 0x00009684, 0x827f1fe3, 0x00001900,
+ 0x8a003209, 0x00002080, 0xe300540a, 0x00002004, 0xffffffff, 0x00007f97,
+ 0x01803c06, 0x00001281, 0x2d201406, 0x0000c989, 0x70c00c0a, 0x00009a8a,
+ 0x2c009404, 0x00009680, 0x828588b0, 0x00009000, 0x82401c04, 0x00001880,
+ 0xb9183b07, 0x00001900, 0x077b9e09, 0x00002980, 0x07800009, 0x00005180,
+ 0x00400000, 0x00008000, 0x07800209, 0x0000d180, 0x00400000, 0x00008000,
+ 0xe300040a, 0x0000d004, 0x00400000, 0x00008082, 0x073c2409, 0x00005100,
+ 0x003c1800, 0x00000000, 0x073c2609, 0x0000d100, 0x003c1800, 0x00000000,
+ 0x077b6009, 0x00005100, 0x003b5800, 0x00000000, 0x07786209, 0x0000d100,
+ 0x00385800, 0x00000000, 0x077b3409, 0x0000d100, 0x003b1800, 0x00008000,
+ 0x07400609, 0x0000d100, 0x00400000, 0x00000080, 0x00000000, 0x0000f480,
+ 0x07800009, 0x0000d100, 0x00400000, 0x00000080, 0x07800209, 0x00005100,
+ 0x00400000, 0x00008480, 0x69666813, 0x0000f204, 0x1e40680d, 0x00001900,
+ 0xb9183b07, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x02389704, 0x00008a2c,
+ 0x2a809813, 0x0000e100, 0x2a409900, 0x00004980, 0x831722e4, 0x00001900,
+ 0x6970266c, 0x00007004, 0x6d400c07, 0x0000788a, 0x03400001, 0x00008080,
+ 0xffffffff, 0x00007f86, 0x30382aac, 0x00002080, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0x803828ec, 0x00005700, 0x00000000, 0x00000880,
+ 0x800000ec, 0x00005780, 0x00000000, 0x00008080, 0x803f28ec, 0x0000d700,
+ 0x00000000, 0x00008080, 0x800030ec, 0x00007902, 0x01000000, 0x00000700,
+ 0xffffffff, 0x00007fa7, 0x80000e06, 0x00001583, 0x01203406, 0x00006109,
+ 0x01e03406, 0x00004909, 0x000069aa, 0x0000f011, 0x2c009406, 0x00001680,
+ 0x828588b0, 0x00009000, 0xe300340a, 0x00002004, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0x67000c06, 0x00007892, 0x03400001, 0x00008080,
+ 0x2c009404, 0x00009680, 0x828588b0, 0x00009000, 0xe338340a, 0x00002084,
+ 0x026807e4, 0x00009800, 0xffffffff, 0x00007f97, 0x02404806, 0x00009300,
+ 0xe3384c0a, 0x0000a884, 0x00c002ec, 0x0000df80, 0x168c980b, 0x00009684,
+ 0x2c009404, 0x00009680, 0x828588b0, 0x00009000, 0xe300340a, 0x00002004,
+ 0x82bf1fe3, 0x00001900, 0x8a00520a, 0x00002080, 0xffffffff, 0x00007fa7,
+ 0x02803c0a, 0x00001281, 0x36a0140a, 0x00004989, 0x14c00c06, 0x00009a8b,
+ 0x2c009407, 0x00009680, 0x828588b0, 0x00009000, 0xe300040a, 0x0000d004,
+ 0x00400000, 0x00008082, 0x173854ec, 0x00002180, 0x01a027e4, 0x00009800,
+ 0xffffffff, 0x00007f97, 0x02805006, 0x00009300, 0x01800000, 0x0000f900,
+ 0x00080000, 0x00000980, 0x173854ec, 0x0000a980, 0x04202006, 0x00006887,
+ 0x800000ec, 0x00005780, 0x00383000, 0x00008000, 0x18c00000, 0x000008d0,
+ 0x20c00000, 0x000088c8, 0x1ec00000, 0x000006f0, 0x1ac00000, 0x000006e0,
+ 0x19c00000, 0x000086d8, 0x1cc00000, 0x000087c8, 0x1c000000, 0x000086fc,
+ 0x1b800000, 0x000006f4, 0x00006813, 0x00007400, 0x1e606708, 0x00000e10,
+ 0x98d02a05, 0x00001900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x2af89f12, 0x00000a28, 0xc19722e4, 0x0000e100, 0x2a409900, 0x00004980,
+ 0x69bb266c, 0x0000f004, 0x82000c07, 0x0000788a, 0x03400001, 0x00008080,
+ 0xffffffff, 0x00007f86, 0x30004aac, 0x0000f902, 0x02000000, 0x00008000,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x803848ec, 0x00005700,
0x00000000, 0x00000880, 0x800000ec, 0x00005780, 0x00000000, 0x00008080,
- 0x803f28ec, 0x0000d700, 0x00000000, 0x00008080, 0x800030ec, 0x00007902,
- 0x01000000, 0x00000700, 0xffffffff, 0x00007fa7, 0x80000e06, 0x00001583,
- 0x01203406, 0x00006109, 0x01e03406, 0x00004909, 0x00006426, 0x0000f011,
- 0x2c009406, 0x00001680, 0x828588b0, 0x00009000, 0xe300340a, 0x00002004,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x06000c06, 0x00007893,
- 0x03000001, 0x00000080, 0x2c009404, 0x00009680, 0x828588b0, 0x00009000,
- 0xe338340a, 0x00002084, 0x026807e4, 0x00009800, 0xffffffff, 0x00007f97,
- 0x02404806, 0x00009300, 0xe3384c0a, 0x0000a884, 0x00c002ec, 0x0000df80,
- 0x1640780b, 0x00001684, 0x2c009404, 0x00009680, 0x828588b0, 0x00009000,
- 0xe300340a, 0x00002004, 0x82bf1fe3, 0x00001900, 0x8a00520a, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x02803c0a, 0x00001281, 0x8620140a, 0x0000c988,
- 0x0cc00c06, 0x00009988, 0x2c009407, 0x00009680, 0x828588b0, 0x00009000,
- 0xe300040a, 0x0000d004, 0x00400000, 0x00008082, 0x173854ec, 0x00002180,
- 0x01a027e4, 0x00009800, 0xffffffff, 0x00007f97, 0x02805006, 0x00009300,
- 0x01800000, 0x0000f900, 0x00080000, 0x00000980, 0x173854ec, 0x0000a980,
- 0x04202006, 0x00006887, 0x800000ec, 0x00005780, 0x00383000, 0x00008000,
- 0x18c00000, 0x000088d4, 0x21000000, 0x000088cc, 0x20800000, 0x000006f0,
- 0x1ac00000, 0x000006e0, 0x19c00000, 0x000086d8, 0x1d000000, 0x000087cc,
- 0x1c800000, 0x000006fc, 0x1b800000, 0x000006f4, 0x0000628e, 0x0000f400,
- 0x1ee06708, 0x00008e10, 0x98d02a05, 0x00001900, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x2a389f12, 0x0000801c, 0x821722e4, 0x0000e100,
- 0x01809900, 0x00004980, 0x6437250b, 0x00007004, 0x20c00c06, 0x0000f88b,
- 0x03000001, 0x00000080, 0xffffffff, 0x00007f86, 0x300052a9, 0x0000f902,
- 0x02400000, 0x00000000, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x803850ec, 0x00005700, 0x00000000, 0x00000880, 0x800000ec, 0x00005780,
- 0x00000000, 0x00008080, 0x803f28ec, 0x0000d700, 0x00000000, 0x00008080,
- 0x800028ec, 0x00007902, 0x01000000, 0x00000700, 0xffffffff, 0x00007fa7,
- 0x80000e05, 0x00001583, 0x01202c05, 0x00006109, 0x01a02c05, 0x0000c909,
- 0x0000646f, 0x00007011, 0x2c009405, 0x00001680, 0x82c588b0, 0x00001000,
- 0xe3005c0b, 0x00002004, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x18800c0b, 0x00007893, 0x03000001, 0x00000080, 0x2c009404, 0x00009680,
- 0x828588b0, 0x00009000, 0xe3382c0a, 0x00002084, 0x01e807e4, 0x00001800,
- 0xffffffff, 0x00007f97, 0x01c03805, 0x00009300, 0xe3383c0a, 0x00002884,
- 0x00c002ec, 0x0000df80, 0x1642d80b, 0x00009684, 0xe3005c0a, 0x0000a004,
- 0x82bf1fe3, 0x00001900, 0x8a002a0a, 0x00002080, 0xffffffff, 0x00007fa7,
- 0x01403c05, 0x00001281, 0x90601405, 0x0000c988, 0xa4c00c0b, 0x00009988,
- 0x014f2809, 0x0000e200, 0x82c01c04, 0x00000880, 0x07b8220b, 0x00002100,
- 0x2c009406, 0x00001680, 0x828588b0, 0x00009000, 0xb9104208, 0x00001900,
- 0xe300040a, 0x0000d004, 0x00400000, 0x00008082, 0x01000004, 0x0000f900,
- 0x003fc000, 0x00000280, 0x01402804, 0x00001300, 0x07b82a0b, 0x00002900,
- 0x00000000, 0x0000f081, 0x01800000, 0x00006180, 0xb9104208, 0x00004900,
- 0x81a80500, 0x00006100, 0x0280320a, 0x00004880, 0x700018ec, 0x0000d680,
- 0x00383540, 0x00008008, 0x703848ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x177858ec, 0x0000a180, 0x01730004, 0x00009980, 0xc178020d, 0x00007900,
- 0x0000003e, 0x00000380, 0xffffffff, 0x00007f86, 0x0101e00b, 0x00001080,
- 0x01005004, 0x00009000, 0x00000000, 0x0000f480, 0x703820ec, 0x00005600,
+ 0x803f28ec, 0x0000d700, 0x00000000, 0x00008080, 0x800028ec, 0x00007902,
+ 0x01000000, 0x00000700, 0xffffffff, 0x00007fa7, 0x80000e05, 0x00001583,
+ 0x01202c05, 0x00006109, 0x01a02c05, 0x0000c909, 0x000069f3, 0x0000f011,
+ 0x2c009405, 0x00001680, 0x828588b0, 0x00009000, 0xe300540a, 0x00002004,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x79800c0a, 0x0000f892,
+ 0x03400001, 0x00008080, 0x2c009404, 0x00009680, 0x824588b0, 0x00009000,
+ 0xe3382c09, 0x00002084, 0x01e807e4, 0x00001800, 0xffffffff, 0x00007f97,
+ 0x01c03805, 0x00009300, 0xe3383c09, 0x00002884, 0x00c002ec, 0x0000df80,
+ 0x168ef80b, 0x00001684, 0xe3005409, 0x00002004, 0x827f1fe3, 0x00001900,
+ 0x8a002a09, 0x00002080, 0xffffffff, 0x00007fa7, 0x01403c05, 0x00001281,
+ 0x41001405, 0x00004989, 0xacc00c0a, 0x00009a8b, 0x014f2808, 0x00006200,
+ 0x82801c04, 0x00008880, 0x07b8220a, 0x0000a100, 0x2c009406, 0x00001680,
+ 0x824588b0, 0x00009000, 0xb9183306, 0x00001900, 0xe3000409, 0x0000d004,
+ 0x00400000, 0x00008082, 0x01000004, 0x0000f900, 0x003fc000, 0x00000280,
+ 0x01402804, 0x00001300, 0x07b82a0a, 0x0000a900, 0x00000000, 0x0000f081,
+ 0x01c00000, 0x0000e180, 0x01404008, 0x0000c900, 0x81e80500, 0x0000e100,
+ 0xb9183306, 0x00004900, 0x700018ec, 0x0000d680, 0x00383d40, 0x00000008,
+ 0x703828ec, 0x0000d600, 0x00000000, 0x00008080, 0x177850ec, 0x00002180,
+ 0x01730004, 0x0000e180, 0x02403209, 0x00004880, 0xc1780206, 0x0000f900,
+ 0x0000003e, 0x00000380, 0xffffffff, 0x00007f86, 0x0101e00a, 0x00009080,
+ 0x01004804, 0x00009000, 0x00000000, 0x0000f480, 0x703820ec, 0x00005600,
0x00000000, 0x00008080, 0x700018ec, 0x0000d680, 0x00382fc0, 0x00000078,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xaf015eec, 0x0000f902,
- 0x0a800000, 0x00000004, 0xaf4148ec, 0x0000f902, 0x0a000000, 0x00008004,
- 0xaf413aec, 0x0000f902, 0x09800000, 0x00000004, 0xaf412cec, 0x00007902,
- 0x09000000, 0x00008004, 0x0b415804, 0x00006200, 0x0b815005, 0x00000200,
- 0x0b01702d, 0x0000e300, 0x05c15804, 0x00000200, 0x0b414806, 0x00006200,
- 0x0b814007, 0x00000200, 0x0b01682c, 0x00006300, 0x05815005, 0x00008200,
- 0xaf411eec, 0x0000f902, 0x08800000, 0x00008004, 0x0b41702c, 0x0000e300,
- 0x05414806, 0x00008200, 0x0b013808, 0x0000e200, 0x0b813009, 0x00000200,
- 0x0b41602d, 0x0000e300, 0x05014007, 0x00000200, 0x0b01702d, 0x0000e300,
- 0x04c13808, 0x00008200, 0x0b41280a, 0x00006200, 0x0b81200b, 0x00000200,
- 0x0b01682c, 0x00006300, 0x04813009, 0x00000200, 0x0b41702c, 0x0000e300,
- 0x0441280a, 0x00000200, 0x0b01180c, 0x0000e200, 0x0b81100d, 0x00000200,
- 0x0b41602d, 0x0000e300, 0x0401200b, 0x00008200, 0x0101702d, 0x00006302,
- 0x03c1180c, 0x00000200, 0x0b81502b, 0x00006308, 0x0381100d, 0x00008200,
- 0x0b01482e, 0x00001308, 0x000064b9, 0x00007010, 0x0b41402c, 0x00001300,
- 0x0b81382d, 0x00009300, 0x0b01302e, 0x00009300, 0x0b41282c, 0x00009300,
- 0x0b81202d, 0x00009300, 0x0b01182e, 0x00009300, 0x0101102c, 0x00001302,
- 0x00006603, 0x00007013, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x0b400000, 0x00009981, 0x00002c2d, 0x00009583, 0x0b809012, 0x00001908,
- 0x000064ca, 0x00007009, 0x00002c2d, 0x00009583, 0x00006557, 0x0000701b,
- 0x0000142d, 0x00001583, 0x0b80a815, 0x00001908, 0x000064ca, 0x00007009,
- 0x0000142d, 0x00001583, 0x00006633, 0x0000f033, 0x00001c2d, 0x00009583,
- 0x0b80a014, 0x00001908, 0x000064ca, 0x00007009, 0x0000242d, 0x00001583,
- 0x0b809813, 0x00001908, 0x00006563, 0x0000f011, 0x0101702e, 0x00009b00,
- 0x00072804, 0x0000e502, 0x0b802004, 0x00000900, 0x00006567, 0x0000f00b,
- 0x8b002c2d, 0x00001880, 0x8b91722c, 0x00009000, 0x5a89fa2e, 0x0000789b,
- 0x03000001, 0x00008000, 0x427ffa2e, 0x0000f88b, 0x03000003, 0x00000000,
- 0xb3a1fa2e, 0x000049b0, 0x60c23a2e, 0x0000999d, 0x81000a2e, 0x00006280,
- 0x0b02042e, 0x00000181, 0x0b47f02c, 0x00009280, 0x8b116a04, 0x00001000,
- 0xac516e2c, 0x0000f902, 0x81100200, 0x00008004, 0x0021602e, 0x00002080,
- 0xffffffff, 0x00007f97, 0x81116a04, 0x00001000, 0x80116204, 0x00006502,
- 0x01000000, 0x00008981, 0x01000800, 0x000019f1, 0xffffffff, 0x00007f86,
- 0x00000404, 0x00001583, 0x00006506, 0x0000700b, 0x8b00fa2e, 0x00006280,
- 0x81002a2e, 0x00008780, 0x00000404, 0x0000e583, 0x0b5167e4, 0x00000800,
- 0x0b0168e5, 0x00001400, 0x0ac1582c, 0x00001208, 0x00006506, 0x00007008,
- 0x00000c04, 0x00009583, 0x0a81502c, 0x00001208, 0x00006506, 0x0000f009,
- 0x00001404, 0x00009583, 0x0a41482c, 0x00001208, 0x00006506, 0x0000f009,
- 0x00001c04, 0x00001583, 0x0a01402c, 0x00001208, 0x00006506, 0x0000f009,
- 0x00002404, 0x00009583, 0x09c1382c, 0x00001208, 0x00006506, 0x0000f009,
- 0x00002c04, 0x00001583, 0x0981302c, 0x00001208, 0x00006506, 0x0000f009,
- 0x00003404, 0x00001583, 0x0941282c, 0x00001208, 0x00006506, 0x0000f009,
- 0x00003c04, 0x00009583, 0x0901202c, 0x00001208, 0x00006506, 0x0000f009,
- 0x00004404, 0x00009583, 0x08c1182c, 0x00001208, 0x00006506, 0x0000f009,
- 0x00004c04, 0x00001583, 0x0881102c, 0x00001208, 0x8b800a2e, 0x00009080,
- 0x800a022e, 0x00009582, 0x0000656f, 0x00007013, 0x8b000000, 0x00001980,
- 0x8b96fa2c, 0x00007900, 0x00000006, 0x00008080, 0x0001082e, 0x00007902,
- 0x08000000, 0x00008000, 0x0040c82e, 0x00007902, 0x06000000, 0x00000000,
- 0x0000fa2e, 0x00007902, 0x07800000, 0x00000000, 0x0000ec2e, 0x0000f902,
- 0x07000000, 0x00008000, 0x0140b821, 0x0000e200, 0x0340b020, 0x00000200,
- 0x01807819, 0x00006200, 0x0b407018, 0x00000200, 0x0000de2e, 0x00007902,
- 0x06800000, 0x00008000, 0x0300a81f, 0x0000e200, 0x0b81680d, 0x00008300,
- 0x02c0a01e, 0x00006200, 0x0b40602e, 0x00000300, 0x0280981d, 0x00006200,
- 0x0b80582d, 0x00008300, 0x0240901c, 0x00006200, 0x0b40502e, 0x00000300,
- 0x0200881b, 0x00006200, 0x0b80482d, 0x00000300, 0x0b40402e, 0x0000e300,
- 0x01c0801a, 0x00000200, 0x0b80382d, 0x00001300, 0x0b40302e, 0x00009300,
- 0x01016805, 0x00009302, 0x03015821, 0x00006210, 0x02c15020, 0x00008210,
- 0x0281481f, 0x00006210, 0x0241401e, 0x00000210, 0x0000653e, 0x0000f008,
- 0x0b811018, 0x0000e200, 0x0201381d, 0x00000200, 0x0b41700b, 0x0000e300,
- 0x01c1301c, 0x00000200, 0x0b80502d, 0x00006300, 0x0181281b, 0x00000200,
- 0x0b40482e, 0x00006300, 0x0141201a, 0x00000200, 0x01011819, 0x00006200,
- 0x0b80402d, 0x00008300, 0x0b40382e, 0x00001300, 0x0b80302d, 0x00009300,
- 0x0b40282e, 0x00009300, 0x0b80202d, 0x00001300, 0x0101700c, 0x00009302,
- 0x00006598, 0x0000f00b, 0x8b002a2c, 0x00001080, 0x8000a22c, 0x00001582,
- 0x0b01502b, 0x00001308, 0x0b41482c, 0x00001308, 0x0000650a, 0x00007010,
- 0x0b81402d, 0x00009300, 0x0b01382e, 0x00001300, 0x0b41302c, 0x00009300,
- 0x0b81282d, 0x00001300, 0x0b01202e, 0x00001300, 0x0b41182c, 0x00009300,
- 0x0101102d, 0x00009302, 0xaf395eec, 0x0000500c, 0x00395000, 0x00000000,
- 0xaf7948ec, 0x0000500c, 0x00394000, 0x00008000, 0x00006607, 0x0000f010,
- 0xaf793aec, 0x0000d004, 0x00393000, 0x00000000, 0xaf792cec, 0x00005004,
- 0x00392000, 0x00008000, 0xaf791eec, 0x0000d004, 0x00391000, 0x00008000,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x00003c2d, 0x00001583,
- 0x0b808010, 0x00001908, 0x000064ca, 0x00007009, 0x00003c2d, 0x00001583,
- 0x0b808811, 0x00009928, 0x000064ca, 0x0000f029, 0x0000442d, 0x00001583,
- 0x0b80780f, 0x00001908, 0x000064ca, 0x00007009, 0x00004c2d, 0x00009583,
- 0x0b80700e, 0x00001908, 0x000064ca, 0x00007009, 0x0100b817, 0x00009b00,
- 0x00072804, 0x0000e502, 0x0b802004, 0x00000900, 0x000064ce, 0x00007013,
- 0x0b400c2d, 0x00009081, 0x0000542d, 0x00009583, 0x000064ba, 0x00007013,
- 0x8bbff801, 0x00009980, 0x427ffa2e, 0x0000f88b, 0x03000003, 0x00000000,
- 0x0601fa2e, 0x000045b1, 0x94223a2e, 0x0000769c, 0x8b402a2e, 0x00006780,
- 0x8b00fa2e, 0x00000280, 0x0b9167e4, 0x0000e000, 0x01a16c2d, 0x00004901,
- 0x0b0172ec, 0x00006100, 0x0b400000, 0x00000981, 0x00216c06, 0x00009503,
- 0x000065b0, 0x0000701b, 0x00002c2d, 0x00009583, 0x01009012, 0x00009908,
- 0x00006587, 0x0000f009, 0x00002c2d, 0x00009583, 0x00006639, 0x0000f01b,
- 0x0000142d, 0x00001583, 0x0100a815, 0x00009908, 0x00006587, 0x0000f009,
- 0x0000142d, 0x00001583, 0x0000666a, 0x0000f033, 0x00001c2d, 0x00009583,
- 0x0100a014, 0x00009908, 0x00006587, 0x0000f009, 0x0000242d, 0x00001583,
- 0x01009813, 0x00009908, 0x00006645, 0x00007011, 0x00216c06, 0x00009503,
- 0x01016004, 0x00001208, 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00,
- 0x00072804, 0x0000e502, 0x01402004, 0x00000900, 0x000065b0, 0x0000f00b,
- 0x8b402c2d, 0x00009880, 0x8b902a2d, 0x00001000, 0x6589fa2e, 0x0000789b,
- 0x03000001, 0x00008000, 0x427ffa2e, 0x0000f88b, 0x03000003, 0x00000000,
- 0x0121fa2e, 0x0000c5b0, 0x11c23a2e, 0x0000f499, 0x0000650a, 0x00007200,
- 0x8b000000, 0x00001980, 0x01400000, 0x00001980, 0x0000653e, 0x0000f400,
- 0x82216005, 0x00006802, 0x00382aec, 0x0000d600, 0x00000000, 0x00008080,
- 0x8b400a2e, 0x00001880, 0xa341662d, 0x00002086, 0xa350362d, 0x00007902,
- 0x8b580200, 0x00008004, 0xffffffff, 0x00007f97, 0x0100822c, 0x00009880,
- 0x01408004, 0x00001784, 0x0020202e, 0x00002080, 0xffffffff, 0x00007fa7,
- 0x8b102206, 0x00009100, 0x0100822c, 0x00009880, 0x01008004, 0x00009784,
- 0x01002005, 0x00001100, 0x00116804, 0x0000e502, 0x01000000, 0x00008981,
- 0x01000800, 0x000019c1, 0xffffffff, 0x00007f86, 0x41800404, 0x0000f88b,
- 0x2b000000, 0x0000b287, 0x0b400c2d, 0x00009081, 0x00216c06, 0x00006503,
- 0x01216c2d, 0x00000901, 0x00006614, 0x0000f033, 0x0b400c2d, 0x00009081,
- 0x00216c06, 0x00009503, 0x00002c2d, 0x00009583, 0x00002c2d, 0x00009583,
- 0x000065cc, 0x0000f018, 0x000066a0, 0x00007008, 0x0000665b, 0x00007018,
- 0x0000142d, 0x00001583, 0x0140a815, 0x00001908, 0x000065c6, 0x0000f009,
- 0x0000142d, 0x00001583, 0x0000669b, 0x00007033, 0x00001c2d, 0x00009583,
- 0x0140a014, 0x00001908, 0x000065c6, 0x0000f009, 0x0000242d, 0x00001583,
- 0x01409813, 0x00001908, 0x00006667, 0x00007011, 0x00216c06, 0x00009503,
- 0x000066c8, 0x0000f00b, 0x01c02805, 0x00009b00, 0x00072807, 0x0000e502,
- 0x01403807, 0x00000900, 0x0000658e, 0x00007013, 0x0b401404, 0x00001081,
- 0x00216c06, 0x00009503, 0x00002c2d, 0x00009583, 0x00002c2d, 0x00009583,
- 0x000065e5, 0x00007018, 0x00006674, 0x00007008, 0x00006677, 0x0000f030,
- 0x00003c2d, 0x00001583, 0x01408010, 0x00001908, 0x000065df, 0x00007009,
- 0x00003c2d, 0x00001583, 0x01408811, 0x00009928, 0x000065df, 0x0000f029,
- 0x0000442d, 0x00001583, 0x0140780f, 0x00001908, 0x000065df, 0x00007009,
- 0x00004c2d, 0x00009583, 0x0140700e, 0x00001908, 0x00006682, 0x0000f011,
- 0x00216c06, 0x00009503, 0x000066bc, 0x0000f00b, 0x01c02805, 0x00009b00,
- 0x00072807, 0x0000e502, 0x01403807, 0x00000900, 0x0000658e, 0x00007013,
- 0x0b401c04, 0x00009081, 0x00216c06, 0x00009503, 0x00002c2d, 0x00009583,
- 0x00002c2d, 0x00009583, 0x000065fe, 0x00007018, 0x000066ad, 0x0000f008,
- 0x00006685, 0x00007030, 0x00003c2d, 0x00001583, 0x01408010, 0x00001908,
- 0x000065f8, 0x00007009, 0x00003c2d, 0x00001583, 0x01408811, 0x00009928,
- 0x000065f8, 0x0000f029, 0x0000442d, 0x00001583, 0x0140780f, 0x00001908,
- 0x000065f8, 0x00007009, 0x00004c2d, 0x00009583, 0x0140700e, 0x00001908,
- 0x00006690, 0x0000f011, 0x00216c06, 0x00009503, 0x000066ce, 0x0000f00b,
- 0x01c02805, 0x00009b00, 0x00072807, 0x0000e502, 0x01403807, 0x00000900,
- 0x0000658e, 0x00007013, 0x0b402404, 0x00001081, 0x0000542d, 0x00009583,
- 0x8b000000, 0x00009988, 0x00006575, 0x00007011, 0x0000650a, 0x0000f000,
- 0x100000ec, 0x0000d680, 0x00000000, 0x00008080, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x100000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0xaf395eec, 0x0000d004, 0x00395000, 0x00000000, 0xaf7948ec, 0x0000d004,
- 0x00394000, 0x00008000, 0xaf793aec, 0x0000d004, 0x00393000, 0x00000000,
- 0x00006555, 0x00007400, 0xaf792cec, 0x00005004, 0x00392000, 0x00008000,
- 0xaf791eec, 0x0000d004, 0x00391000, 0x00008000, 0x00002c2d, 0x00009583,
- 0x00002c2d, 0x00009583, 0xffffffff, 0x00007f86, 0x00006698, 0x0000f008,
- 0x0000664d, 0x0000f030, 0x00003c2d, 0x00001583, 0x01408010, 0x00001908,
- 0x00006625, 0x00007009, 0x00003c2d, 0x00001583, 0x01408811, 0x00009928,
- 0x00006625, 0x0000f029, 0x0000442d, 0x00001583, 0x0140780f, 0x00001908,
- 0x00006625, 0x00007009, 0x00004c2d, 0x00009583, 0x0140700e, 0x00001908,
- 0x00006658, 0x00007011, 0x00216c06, 0x00009503, 0x000066c2, 0x0000f00b,
- 0x01402805, 0x00001b00, 0x00072805, 0x00006502, 0x01c02805, 0x00008900,
- 0x000065b4, 0x0000700b, 0x8b402c2d, 0x00009880, 0x8b903a2d, 0x00009000,
- 0x6589fa2e, 0x0000789b, 0x03000001, 0x00008000, 0x427ffa2e, 0x0000f88b,
- 0x03000003, 0x00000000, 0xed81fa2e, 0x0000c5b1, 0x87e23a2e, 0x00006a9a,
- 0x00000c2d, 0x00001583, 0x0100b016, 0x00001b08, 0x0b802004, 0x00001908,
- 0x00006563, 0x00007010, 0x33872804, 0x00007813, 0x3b000000, 0x0000328b,
- 0x00003c2d, 0x00001583, 0x01008010, 0x00009908, 0x00006587, 0x0000f009,
- 0x00003c2d, 0x00001583, 0x01008811, 0x00001928, 0x00006587, 0x00007029,
- 0x0000442d, 0x00001583, 0x0100780f, 0x00009908, 0x00006587, 0x0000f009,
- 0x00004c2d, 0x00009583, 0x0100700e, 0x00009908, 0x00006587, 0x0000f009,
- 0x00216c06, 0x00006503, 0x0100b817, 0x00008900, 0x01016017, 0x00009208,
- 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00, 0x01402004, 0x00009900,
- 0x63872804, 0x00007813, 0x83000000, 0x0000328d, 0x0000142d, 0x00001583,
- 0x0140a815, 0x00001908, 0x00006625, 0x00007009, 0x0000142d, 0x00001583,
- 0x00006693, 0x0000f033, 0x00001c2d, 0x00009583, 0x0140a014, 0x00001908,
- 0x00006625, 0x00007009, 0x0000242d, 0x00001583, 0x01409813, 0x00001908,
- 0x00006625, 0x00007009, 0x0140b817, 0x00009900, 0x89e16c06, 0x00007813,
- 0x13000000, 0x00003386, 0x00003c2d, 0x00001583, 0x01408010, 0x00001908,
- 0x000065c6, 0x0000f009, 0x00003c2d, 0x00001583, 0x01408811, 0x00009928,
- 0x000065c6, 0x00007029, 0x0000442d, 0x00001583, 0x0140780f, 0x00001908,
- 0x000065c6, 0x0000f009, 0x00004c2d, 0x00009583, 0x0140700e, 0x00001908,
- 0x000065c6, 0x0000f009, 0x0140b817, 0x00009900, 0x72216c06, 0x0000f813,
- 0x43000000, 0x00003386, 0x00000c2d, 0x00001583, 0x0100b016, 0x00009908,
- 0x00006645, 0x00007011, 0x00216c06, 0x00009503, 0x01016016, 0x00001208,
- 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00, 0x01402004, 0x00009900,
- 0x63872804, 0x00007813, 0x83000000, 0x0000328d, 0x01409012, 0x00009900,
- 0x78616c06, 0x00007813, 0xe3000000, 0x00003385, 0x0000142d, 0x00001583,
- 0x0140a815, 0x00001908, 0x000065df, 0x00007009, 0x0000142d, 0x00001583,
- 0x000066a3, 0x0000f033, 0x00001c2d, 0x00009583, 0x0140a014, 0x00001908,
- 0x000065df, 0x00007009, 0x0000242d, 0x00001583, 0x01409813, 0x00001908,
- 0x000065df, 0x00007009, 0x0140b817, 0x00009900, 0x78616c06, 0x00007813,
- 0xe3000000, 0x00003385, 0x0000142d, 0x00001583, 0x0140a815, 0x00001908,
- 0x000065f8, 0x00007009, 0x0000142d, 0x00001583, 0x000066a8, 0x00007033,
- 0x00001c2d, 0x00009583, 0x0140a014, 0x00001908, 0x000065f8, 0x00007009,
- 0x0000242d, 0x00001583, 0x01409813, 0x00001908, 0x000065f8, 0x00007009,
- 0x0140b817, 0x00009900, 0x7ea16c06, 0x00007813, 0x73000000, 0x00003386,
- 0x00000c2d, 0x00001583, 0x0140b016, 0x00001908, 0x00006658, 0x00007011,
- 0x89e16c06, 0x00007813, 0x13000000, 0x00003386, 0x01409012, 0x00009900,
- 0x89e16c06, 0x00007813, 0x13000000, 0x00003386, 0x00000c2d, 0x00001583,
- 0x0140b016, 0x00001908, 0x00006667, 0x00007011, 0x72216c06, 0x0000f813,
- 0x43000000, 0x00003386, 0x01409012, 0x00009900, 0x72216c06, 0x0000f813,
- 0x43000000, 0x00003386, 0x00000c2d, 0x00001583, 0x0140b016, 0x00001908,
- 0x00006682, 0x0000f011, 0x78616c06, 0x00007813, 0xe3000000, 0x00003385,
- 0x00000c2d, 0x00001583, 0x0140b016, 0x00001908, 0x00006690, 0x0000f011,
- 0x7ea16c06, 0x00007813, 0x73000000, 0x00003386, 0x01409012, 0x00009900,
- 0x7ea16c06, 0x00007813, 0x73000000, 0x00003386, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0415e800, 0x0000f900, 0x001c0286, 0x00000980,
- 0x04716000, 0x00007900, 0x000b2492, 0x00008980, 0x04800000, 0x000000fc,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x66bc20b1, 0x0000f500,
- 0x82f81400, 0x00008030, 0x81c01000, 0x00009980, 0x01416005, 0x00009200,
- 0xffffffff, 0x00007f86, 0x01c02805, 0x00009b00, 0x01403807, 0x00009900,
- 0x63872807, 0x00007813, 0x2b000000, 0x0000328f, 0x01416005, 0x00009200,
- 0xffffffff, 0x00007f86, 0x01402805, 0x00001b00, 0x01c02805, 0x00001900,
- 0x8ac72805, 0x0000f813, 0xa3000000, 0x0000b28d, 0x01416005, 0x00009200,
- 0xffffffff, 0x00007f86, 0x01c02805, 0x00009b00, 0x01403807, 0x00009900,
- 0x63872807, 0x00007813, 0x63000000, 0x0000b28e, 0x01416005, 0x00009200,
- 0xffffffff, 0x00007f86, 0x01c02805, 0x00009b00, 0x01403807, 0x00009900,
- 0x63872807, 0x00007813, 0xf3000000, 0x0000328f, 0xa0403a36, 0x0000f902,
- 0x01800000, 0x00000000, 0xa0402836, 0x0000f902, 0x01000000, 0x00008000,
- 0x1a400000, 0x000001d0, 0x05400000, 0x000001d8, 0x01c00807, 0x0000e082,
- 0x05c00000, 0x00008980, 0x01800006, 0x00006084, 0x1a800000, 0x00008980,
- 0x01402a8c, 0x0000e002, 0x1a010020, 0x00008900, 0x01000004, 0x00006084,
- 0x1ac0f81f, 0x00008900, 0xa0783a36, 0x00005000, 0x00383000, 0x00008000,
- 0xa0782836, 0x00005000, 0x00382000, 0x00000000, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x66f01d50, 0x0000f500, 0x20800000, 0x000088cc, 0x1a5f4432, 0x000080a4,
- 0x00001c05, 0x00009583, 0x00005c05, 0x00001583, 0x00001405, 0x00001583,
- 0x00006724, 0x0000f008, 0x00006724, 0x0000f008, 0x0000670c, 0x0000f010,
- 0x00402800, 0x00007900, 0x0004d900, 0x00008980, 0x018000e1, 0x000080d0,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x82202801, 0x0000e080,
- 0xa2a02806, 0x00003002, 0x04147004, 0x00006187, 0xd3602801, 0x0000b004,
- 0x703830ec, 0x0000d600, 0x00382000, 0x00000000, 0x40e0ac0f, 0x000000c3,
- 0x008806ec, 0x00005f80, 0x00804140, 0x00000a84, 0x01000000, 0x00009980,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04147004, 0x0000e987,
- 0x700708ec, 0x0000d680, 0x00382002, 0x00008000, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x03c00000, 0x000001c8, 0x001018ec, 0x00005780,
- 0x00884980, 0x00000180, 0x81002302, 0x00006780, 0x0000180f, 0x00002106,
- 0x0318b000, 0x00007900, 0x000372c0, 0x00008980, 0x03400000, 0x00007900,
- 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
- 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188, 0xc000180f, 0x00006006,
- 0x45102012, 0x0000b107, 0x04000000, 0x0000e180, 0x04c00004, 0x00004980,
- 0x01028000, 0x00006181, 0x03801002, 0x00004900, 0x00502800, 0x0000f900,
- 0x0004c010, 0x00008980, 0x6704672a, 0x0000f500, 0xc0207c15, 0x000000cd,
- 0x80604404, 0x00009101, 0x6728673f, 0x0000f500, 0x01400020, 0x0000e180,
- 0x19000000, 0x0000c980, 0x01800013, 0x000000dc, 0x0000671f, 0x00007200,
- 0x01032000, 0x00009981, 0x00000001, 0x00007480, 0x000800ec, 0x00005780,
- 0x00804140, 0x000082c0, 0x001850ec, 0x0000d780, 0x00004003, 0x00000080,
- 0x0318b000, 0x00007900, 0x0002c000, 0x00000980, 0x03c00000, 0x000001c8,
- 0x83202404, 0x0000e101, 0x0000180f, 0x0000e106, 0x81002302, 0x00006780,
- 0xc000180f, 0x0000a006, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
- 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x00000001, 0x00007480,
- 0x04000000, 0x0000e180, 0x45102012, 0x0000e107, 0x03801002, 0x00006100,
- 0x04c00004, 0x00004980, 0xc0000306, 0x00006582, 0x1d000000, 0x00008980,
- 0x1d082805, 0x00008710, 0x1d400000, 0x0000e180, 0x04302874, 0x00006001,
- 0x03009000, 0x0000f900, 0x0000f100, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x03c00000, 0x00006180, 0x10000874, 0x0000e411,
- 0x03a81402, 0x00008038, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x0000675b, 0x0000f410, 0x1e800000, 0x000087ec, 0x1d401002, 0x00009910,
- 0xc0000705, 0x00009583, 0x1d403807, 0x0000e110, 0x20000874, 0x0000e411,
- 0x1d832064, 0x00009910, 0x0000675b, 0x00007010, 0x80000605, 0x00009583,
- 0x9e680000, 0x0000e190, 0x1e001002, 0x00004910, 0x1e803807, 0x0000e110,
- 0x1ec32064, 0x00004910, 0x1e603406, 0x00001911, 0x00000001, 0x00007280,
- 0x000818ec, 0x00005780, 0x00884f40, 0x00000180, 0x03c09000, 0x000000f0,
- 0x03400000, 0x00007900, 0x00018000, 0x00008980, 0x0000180f, 0x0000e106,
- 0xd36b380d, 0x0000b004, 0x83901202, 0x0000e100, 0xc000180f, 0x00006006,
- 0x00000001, 0x00007480, 0x03b33d02, 0x00000031, 0xc3333e67, 0x00001901,
- 0x00046c64, 0x0000e583, 0x70000836, 0x0000a401, 0x0e000838, 0x0000e388,
- 0x60001016, 0x0000a402, 0x80000265, 0x00009582, 0x1d000000, 0x0000e190,
- 0x1d400000, 0x00004990, 0x1d800000, 0x00006190, 0x1dc00000, 0x0000c990,
- 0x00000001, 0x00007088, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x677a675e, 0x0000f500, 0x20800000, 0x000088cc, 0x19ce88a0, 0x00001980,
- 0x80001265, 0x00001582, 0x1d232464, 0x0000e109, 0xdd1b2364, 0x00004908,
- 0x1d400875, 0x0000e388, 0x822b2074, 0x0000200a, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008818ec, 0x0000d780,
- 0x00884f40, 0x00000280, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x00000001, 0x0000f080, 0x05000008, 0x000001d4,
- 0x05800000, 0x000081dc, 0xc1006718, 0x00009283, 0xc1001f18, 0x00009283,
- 0x80192a3e, 0x00001502, 0x00006790, 0x0000f010, 0x000067a0, 0x0000f008,
- 0x000067a0, 0x0000f008, 0x6792675e, 0x0000f300, 0x19ce80a0, 0x00009980,
- 0x000818ec, 0x00005780, 0x00884f40, 0x00000280, 0x1d400000, 0x000007d8,
- 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
- 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8,
- 0x20c00000, 0x0000e180, 0x9d192324, 0x00004900, 0x000067a1, 0x00007400,
- 0x1d012d25, 0x0000033a, 0x01002000, 0x00009981, 0x01005000, 0x00001981,
- 0xc1006718, 0x00006283, 0xc000a800, 0x00008981, 0x00502800, 0x0000f900,
- 0x0004c010, 0x00008980, 0xc0c07800, 0x00006180, 0x20001814, 0x0000e413,
- 0x67ab672a, 0x0000f500, 0xc1001f18, 0x00006283, 0x80602404, 0x00008901,
- 0x00001814, 0x0000ec13, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xe2c0178b, 0x0000e181,
- 0x99642484, 0x00008900, 0x67ba6768, 0x0000f500, 0x592c2484, 0x00008611,
- 0xd9133a67, 0x00001900, 0x80046e84, 0x00009583, 0x8003c684, 0x00001593,
- 0x0318b000, 0x0000f910, 0x000371c0, 0x00008980, 0x03400000, 0x0000f910,
- 0x00018008, 0x00000980, 0x00000001, 0x00007088, 0x04800000, 0x00006180,
- 0x81002302, 0x0000c780, 0x03c00000, 0x00006180, 0x45102012, 0x0000e107,
- 0x01040492, 0x00006283, 0x0000180f, 0x00002106, 0x04401000, 0x00007900,
- 0x0001c000, 0x00000980, 0x04000000, 0x0000e180, 0xc000180f, 0x00006006,
- 0x04c00004, 0x00006180, 0x03801002, 0x00004900, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x000067dc, 0x0000f408, 0x20800000, 0x000088cc, 0x01000800, 0x00009988,
- 0xffffffff, 0x00007f86, 0x08045804, 0x00006a06, 0x00001c04, 0x0000e583,
- 0x01000000, 0x00000980, 0x01000800, 0x00009988, 0x001018ec, 0x00005780,
- 0x00884980, 0x00000180, 0x1d61e43c, 0x0000e101, 0x92602074, 0x00006000,
- 0x00000001, 0x00007480, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
- 0xdd39e73c, 0x00006101, 0xe2c0378b, 0x0000c181, 0x1a400000, 0x000007e0,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x1a400000, 0x000007e0,
0x1a800000, 0x000006f0, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0,
0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180, 0x1a010020, 0x00004900,
0x1ac0071f, 0x00000190, 0x05400000, 0x000001d8, 0x05c00000, 0x000007d0,
@@ -12811,55 +13019,55 @@ ARRAY_DECL u32 init_val[] = {
0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
0x20000000, 0x000088c4, 0x00000001, 0x00007480, 0x20800000, 0x000088cc,
0x9e21918e, 0x00000624, 0x0004b804, 0x00001502, 0x0184b821, 0x00009160,
- 0x0000680a, 0x00007069, 0x001cc806, 0x00001502, 0x0000680a, 0x0000f06b,
+ 0x00006a2f, 0x00007069, 0x001cc806, 0x00001502, 0x00006a2f, 0x0000f06b,
0xc0198b99, 0x00009502, 0xc0000b99, 0x00001582, 0xffffffff, 0x00007f86,
- 0x0000680a, 0x00007018, 0x0000680a, 0x00007030, 0x01804b9c, 0x00001080,
+ 0x00006a2f, 0x00007018, 0x00006a2f, 0x00007030, 0x01804b9c, 0x00001080,
0x01bfe006, 0x00007900, 0x003ffffe, 0x00008280, 0x001cc806, 0x00001502,
- 0x0000680a, 0x0000f013, 0xc0001b9c, 0x00009582, 0x00000001, 0x0000f09b,
+ 0x00006a2f, 0x0000f013, 0xc0001b9c, 0x00009582, 0x00000001, 0x0000f09b,
0x00000001, 0x00007480, 0xa55cca95, 0x0000e100, 0x6607f598, 0x00008281,
0xe6400000, 0x00001980, 0x00003097, 0x00009502, 0x0184b821, 0x00009160,
- 0x00006819, 0x0000f069, 0x065cc806, 0x0000f86a, 0x03400001, 0x00000000,
- 0x04209b88, 0x000043b1, 0x00c00ea0, 0x00008090, 0x026087a0, 0x0000c795,
+ 0x00006a3e, 0x00007069, 0x8f9cc806, 0x0000786a, 0x03400001, 0x00000000,
+ 0x48c09b88, 0x000043b1, 0x00c00ea0, 0x00008090, 0x026087a0, 0x0000c795,
0x02800ea0, 0x000002b1, 0x032087a0, 0x0000458d, 0x8260bb88, 0x0000819c,
0x23c00007, 0x000008ec, 0x23381800, 0x0000f900, 0x000b9324, 0x00000980,
- 0x0000688c, 0x00007400, 0x23483000, 0x00007900, 0x002ddb06, 0x00008980,
+ 0x00006ab1, 0x00007400, 0x23483000, 0x00007900, 0x002ddb06, 0x00008980,
0x22800000, 0x0000e180, 0x0c023d8f, 0x00006004, 0x23c00000, 0x0000e180,
- 0x0c023c07, 0x0000e004, 0x0000686f, 0x0000f400, 0x233a9800, 0x0000f900,
+ 0x0c023c07, 0x0000e004, 0x00006a94, 0x0000f400, 0x233a9800, 0x0000f900,
0x002e1a3c, 0x00000980, 0x23494800, 0x0000f900, 0x002ddb06, 0x00008980,
0x23c03800, 0x00006180, 0x09050407, 0x00006000, 0x233a1000, 0x0000f900,
- 0x0022366e, 0x00000980, 0x0000684f, 0x00007400, 0x234b3000, 0x00007900,
+ 0x0022366e, 0x00000980, 0x00006a74, 0x00007400, 0x234b3000, 0x00007900,
0x002ddb06, 0x00008980, 0x22c00800, 0x00009980, 0x23c00000, 0x0000e180,
- 0x09050407, 0x00006000, 0x0000686f, 0x0000f400, 0x2322c800, 0x0000f900,
+ 0x09050407, 0x00006000, 0x00006a94, 0x0000f400, 0x2322c800, 0x0000f900,
0x00089bfc, 0x00008980, 0x234c4800, 0x0000f900, 0x002ddb06, 0x00008980,
0x231eb000, 0x0000f900, 0x0012d864, 0x00000980, 0x234d5000, 0x00007900,
- 0x002ddb06, 0x00008980, 0x0000688c, 0x00007400, 0x23c00007, 0x000008ec,
+ 0x002ddb06, 0x00008980, 0x00006ab1, 0x00007400, 0x23c00007, 0x000008ec,
0x22800000, 0x00009980, 0x01c03e47, 0x00001281, 0x01800c07, 0x00009181,
- 0x00000c06, 0x00001583, 0x01801c48, 0x000092b1, 0x00006851, 0x00007019,
+ 0x00000c06, 0x00001583, 0x01801c48, 0x000092b1, 0x00006a76, 0x0000f019,
0x00000c06, 0x00001583, 0x80000ea0, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00006851, 0x00007010, 0x00006851, 0x00007008, 0x23c03800, 0x00006180,
+ 0x00006a76, 0x0000f010, 0x00006a76, 0x0000f008, 0x23c03800, 0x00006180,
0x08024407, 0x00006002, 0x2309c000, 0x00007900, 0x0009ba44, 0x00000980,
0x23671800, 0x0000f900, 0x002ddb06, 0x00008980, 0x22f506a0, 0x00009900,
- 0x0000688c, 0x00007200, 0x22a03c07, 0x00001900, 0x0200a2a0, 0x0000e080,
- 0x019c4388, 0x00000900, 0x18404006, 0x00007812, 0x03400001, 0x00000000,
- 0x1a49009c, 0x0000f892, 0x03535411, 0x00008000, 0x1a42909d, 0x0000f892,
- 0x03525109, 0x00000000, 0x1a6b289f, 0x0000f892, 0x035c985b, 0x00000000,
- 0x00002407, 0x00007892, 0x00000000, 0x00000000, 0x20c2309e, 0x0000788a,
- 0x9b595c48, 0x0000b483, 0x20c2309e, 0x0000788a, 0xdb595c08, 0x0000b483,
+ 0x00006ab1, 0x00007200, 0x22a03c07, 0x00001900, 0x0200a2a0, 0x0000e080,
+ 0x019c4388, 0x00000900, 0xa1804006, 0x0000f812, 0x03400001, 0x00000000,
+ 0xa389009c, 0x00007892, 0x03535411, 0x00008000, 0xa382909d, 0x00007892,
+ 0x03525109, 0x00000000, 0xa3ab289f, 0x00007892, 0x035c985b, 0x00000000,
+ 0x00002407, 0x00007892, 0x00000000, 0x00000000, 0xaa02309e, 0x0000f88a,
+ 0xc3595c48, 0x00003584, 0xaa02309e, 0x0000f88a, 0x03595c08, 0x00003585,
0x23384800, 0x0000f900, 0x002495c2, 0x00000980, 0x23683800, 0x00007900,
- 0x002ddb06, 0x00008980, 0x0000688c, 0x00007400, 0x23c03800, 0x00006180,
+ 0x002ddb06, 0x00008980, 0x00006ab1, 0x00007400, 0x23c03800, 0x00006180,
0x22dc4388, 0x0000c900, 0x229502a0, 0x00001900, 0x23c00000, 0x0000e180,
0x0c023c07, 0x0000e004, 0x232f3800, 0x00007900, 0x002c7e72, 0x00000980,
- 0x23695000, 0x00007900, 0x002ddb06, 0x00008980, 0x0000688c, 0x00007400,
+ 0x23695000, 0x00007900, 0x002ddb06, 0x00008980, 0x00006ab1, 0x00007400,
0x23c03800, 0x0000e181, 0x22e03c07, 0x0000c900, 0x229c4388, 0x00001900,
0x22823000, 0x0000f900, 0x00195c48, 0x00000980, 0x23258000, 0x00007900,
- 0x001e1df4, 0x00000980, 0x0000688c, 0x00007400, 0x236b1800, 0x0000f900,
+ 0x001e1df4, 0x00000980, 0x00006ab1, 0x00007400, 0x236b1800, 0x0000f900,
0x002ddb06, 0x00008980, 0x22c03f9e, 0x000088bc, 0x22823000, 0x0000f900,
0x00195c08, 0x00008980, 0x23258000, 0x00007900, 0x001e1df4, 0x00000980,
- 0x0000688c, 0x00007400, 0x236c3800, 0x0000f900, 0x002ddb06, 0x00008980,
+ 0x00006ab1, 0x00007400, 0x236c3800, 0x0000f900, 0x002ddb06, 0x00008980,
0x22c03f9e, 0x000088bc, 0x801232a0, 0x00001502, 0x01800800, 0x000061b1,
0x23c03800, 0x00004998, 0x23169800, 0x00007918, 0x003b7b98, 0x00008980,
0x00000001, 0x0000f0b0, 0x236d4000, 0x00007900, 0x002ddb06, 0x00008980,
- 0xa2b50646, 0x0000082e, 0x688d20e8, 0x00007100, 0x00000001, 0x00007280,
+ 0xa2b50646, 0x0000082e, 0x6ab2224a, 0x0000f100, 0x00000001, 0x00007280,
0x01800000, 0x00009981, 0x0ac23c0a, 0x0000e000, 0x0f824409, 0x0000b004,
0x02800c0a, 0x0000e080, 0x02401409, 0x0000c880, 0x02a04c0a, 0x0000e301,
0x30000879, 0x0000a401, 0x0b023c09, 0x00006000, 0x60000879, 0x00003401,
@@ -12895,1443 +13103,379 @@ ARRAY_DECL u32 init_val[] = {
0x62400400, 0x000087d0, 0x1d400000, 0x000087dc, 0x1e000000, 0x000087e4,
0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0xaa800800, 0x00006191,
- 0x9d94728e, 0x0000c900, 0x3ac00465, 0x00004491, 0xacc0068a, 0x00001a93,
- 0x7480078a, 0x0000788a, 0xb3400000, 0x0000b48e, 0x19000000, 0x0000e180,
+ 0x9d94728e, 0x0000c900, 0x7f400465, 0x00004491, 0xf4c0068a, 0x00001a97,
+ 0xfd80078a, 0x0000f88a, 0xd3400000, 0x0000b58f, 0x19000000, 0x0000e180,
0x19400001, 0x0000c980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
0x04147064, 0x00006187, 0x002d5065, 0x00003102, 0x703b28ec, 0x0000d600,
0x003b2000, 0x00000000, 0x00014037, 0x00007808, 0x00000000, 0x00000000,
- 0x00000630, 0x00007888, 0x00000000, 0x00008010, 0x4380e037, 0x0000780a,
- 0x03400001, 0x00008010, 0x23600489, 0x00004491, 0x98c0063d, 0x00009a93,
- 0x73192a3e, 0x0000780a, 0x0b400000, 0x00003489, 0x19000b31, 0x00006080,
+ 0x00000630, 0x00007888, 0x00000000, 0x00008010, 0xccc0e037, 0x0000780a,
+ 0x03400001, 0x00008010, 0x68000489, 0x00004491, 0xe0c0063d, 0x00001a97,
+ 0xfc192a3e, 0x0000f80a, 0x33400000, 0x0000358a, 0x19000b31, 0x00006080,
0x1941b821, 0x0000c100, 0x00032065, 0x00006502, 0x193fe01f, 0x00000980,
0x19298064, 0x00006000, 0x0000086c, 0x0000e46b, 0x1c01b864, 0x0000e000,
- 0x1c87f800, 0x000089e9, 0xe000186c, 0x0000ec03, 0x23600489, 0x00004491,
- 0x98c0063d, 0x00009a93, 0x73192a3e, 0x0000780a, 0x0b400000, 0x00003489,
- 0x691c6e1a, 0x0000f100, 0x8000063d, 0x00001583, 0x80192a3e, 0x00001502,
- 0xffffffff, 0x00007f86, 0x000069cc, 0x00007010, 0x000069cc, 0x00007008,
+ 0x1c87f800, 0x000089e9, 0xe000186c, 0x0000ec03, 0x68000489, 0x00004491,
+ 0xe0c0063d, 0x00001a97, 0xfc192a3e, 0x0000f80a, 0x33400000, 0x0000358a,
+ 0x6b41735c, 0x00007100, 0x8000063d, 0x00001583, 0x80192a3e, 0x00001502,
+ 0xffffffff, 0x00007f86, 0x00006bf0, 0x0000f010, 0x00006bf0, 0x0000f008,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0x1911f325, 0x0000e100,
0x9947fb3e, 0x00000280, 0x00004064, 0x00006582, 0x21c00440, 0x00008980,
0x21a1f625, 0x00006151, 0x21804000, 0x000089b9, 0x19c00034, 0x0000f900,
- 0x00000010, 0x00008082, 0x19800035, 0x00006084, 0xa1e80500, 0x00008900,
- 0x19020438, 0x00006283, 0x23433867, 0x00000900, 0x99080000, 0x0000e180,
+ 0x00000010, 0x00008082, 0x19800035, 0x00006084, 0x23433867, 0x00000900,
+ 0x19020438, 0x00006283, 0x23033066, 0x00008900, 0x99080000, 0x0000e180,
0x22c02000, 0x0000c991, 0xa2532a64, 0x00006100, 0x22c04000, 0x00000989,
- 0x19402265, 0x0000e080, 0x23033066, 0x00004900, 0x1900f865, 0x0000e784,
- 0x75e80087, 0x00002101, 0x21432840, 0x0000e002, 0x4f643486, 0x00008901,
- 0x22000000, 0x0000f900, 0x000014c4, 0x00000980, 0x19800000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x19720004, 0x00006180, 0x19c32041, 0x00004004,
- 0x9900248b, 0x0000e080, 0x9980248b, 0x00004880, 0x80245a89, 0x0000e502,
- 0x00132088, 0x00002106, 0x197b3d02, 0x00000610, 0x19c42885, 0x00001900,
- 0xcf47fb3e, 0x00001282, 0xffffffff, 0x00007f86, 0x00006955, 0x0000f028,
- 0x00006955, 0x00007008, 0x703c40ec, 0x0000d600, 0x003c3800, 0x00008000,
- 0x703c28ec, 0x00005600, 0x003b2000, 0x00000000, 0x703b30ec, 0x0000d600,
- 0x003b2800, 0x00008000, 0x0000699e, 0x0000f400, 0x19c00000, 0x000088f8,
- 0x21400000, 0x00001981, 0xcf47fb3e, 0x0000e282, 0xc0000088, 0x00002406,
- 0xa1c00000, 0x0000e180, 0x2299fb3f, 0x00004900, 0x21400a3f, 0x0000e180,
- 0x10021042, 0x00000908, 0x0000696f, 0x00007010, 0x703c40ec, 0x0000d600,
- 0x003c3800, 0x00008000, 0x0004288a, 0x0000e502, 0x10421843, 0x00000900,
- 0x703a10ec, 0x0000d600, 0x003a1800, 0x00000000, 0x703b30ec, 0x0000d600,
- 0x003b2800, 0x00008000, 0x0000696b, 0x0000f008, 0xcfc00b3f, 0x00006080,
- 0x99000b3f, 0x00000080, 0x19001a64, 0x00001880, 0x0000696c, 0x00007400,
- 0x23446864, 0x00009002, 0x2300008c, 0x00009084, 0xcfc00000, 0x00001980,
- 0x00006994, 0x0000f400, 0x19c00000, 0x000088f8, 0x21400000, 0x00001981,
- 0x0004288a, 0x0000e502, 0x99802289, 0x00000880, 0x99bffa66, 0x00007900,
- 0x00000002, 0x00008280, 0x23821042, 0x0000e100, 0x00133088, 0x00006106,
+ 0x19402265, 0x0000e080, 0xa1e80500, 0x00004900, 0x1900f865, 0x0000e784,
+ 0x75e80087, 0x00002101, 0x19c32840, 0x0000e002, 0x4f643486, 0x00008901,
+ 0x22000000, 0x0000f900, 0x000014c4, 0x00000980, 0x19832041, 0x00006004,
+ 0x9900248b, 0x00000880, 0x19400000, 0x0000f900, 0x00007fc0, 0x00000980,
+ 0x80245a89, 0x0000e502, 0x00132088, 0x00002106, 0x9940248b, 0x00006080,
+ 0x19320004, 0x0000c980, 0xd9181302, 0x00001900, 0xcf47fb3e, 0x00001282,
+ 0xffffffff, 0x00007f86, 0x00006b79, 0x0000f028, 0x00006b79, 0x00007008,
0x703c40ec, 0x0000d600, 0x003c3800, 0x00008000, 0x703b38ec, 0x00005600,
- 0x003b2000, 0x00000000, 0x99802289, 0x0000e080, 0x19144c8b, 0x00004100,
- 0x703b30ec, 0x0000d600, 0x003b2800, 0x00008000, 0x19c00c89, 0x00006081,
- 0x99802264, 0x0000c880, 0x993ffa66, 0x0000f900, 0x00000002, 0x00008280,
- 0x0c043c64, 0x00006084, 0x00132088, 0x0000b106, 0x19e32467, 0x00009001,
- 0x19c21843, 0x00006100, 0x04233887, 0x00006085, 0x703c40ec, 0x0000d600,
- 0x003c3800, 0x00008000, 0x99bffa66, 0x00007900, 0x00000002, 0x00008280,
- 0x00006993, 0x0000f440, 0x703a10ec, 0x0000d600, 0x003a1800, 0x00000000,
- 0x703b30ec, 0x0000d600, 0x003b2800, 0x00008000, 0x19000b3f, 0x00001080,
- 0x19001864, 0x00009880, 0x2343208d, 0x00009002, 0x2300008c, 0x00009084,
- 0x21400800, 0x00009981, 0x00010887, 0x00006485, 0x00804088, 0x0000b586,
- 0xa1e80500, 0x00006100, 0x00004066, 0x00006586, 0x703c40ec, 0x0000d600,
- 0x003c3800, 0x00008000, 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000,
- 0x703b30ec, 0x0000d600, 0x003b2800, 0x00008000, 0x00c002ec, 0x0000df80,
- 0x168d000b, 0x00009684, 0x00000c85, 0x00009583, 0x00245c86, 0x00001503,
- 0xffffffff, 0x00007f86, 0x000069b8, 0x00007010, 0x000069ad, 0x0000f020,
- 0x09823c65, 0x00006804, 0x19000c65, 0x00009181, 0x00001c64, 0x00001583,
- 0x01a32c65, 0x00009918, 0x19632c65, 0x00009930, 0x000069c0, 0x0000f018,
- 0x00144865, 0x00001502, 0x000069b6, 0x00007053, 0x1919fb3f, 0x00006100,
- 0x19400a3f, 0x0000c180, 0x00032864, 0x00006502, 0x1004708e, 0x00008900,
- 0x99000b3f, 0x000060c8, 0x99000000, 0x000009c0, 0x000069b8, 0x00007400,
- 0x10433867, 0x00009900, 0xcfd32264, 0x00009900, 0x10bb3f8e, 0x0000040c,
- 0x22e44c89, 0x00001901, 0x8f645c8b, 0x00006101, 0x09823c65, 0x0000e004,
- 0x19000c65, 0x00009181, 0x00001c64, 0x00001583, 0x09823f3d, 0x00006034,
- 0x20000836, 0x00003437, 0x01a32c65, 0x00009918, 0x000069cc, 0x0000f030,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0470f000, 0x0000f900, 0x003d53c4, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x69cc20b1, 0x00007500, 0x84b8363e, 0x0000803c, 0x81c01000, 0x00009980,
- 0x00502800, 0x0000f900, 0x0004c010, 0x00008980, 0xc0207c15, 0x000000cd,
- 0x807c5f8b, 0x00001901, 0x008806ec, 0x00005f80, 0x00804140, 0x00000a84,
- 0x68fc6e3d, 0x00007204, 0x2b000000, 0x00006180, 0x0dc1bb88, 0x0000c000,
- 0x000068fc, 0x00007000, 0x68fc6d0e, 0x00007300, 0x01000000, 0x00009980,
- 0x000068fc, 0x00007000, 0x01800000, 0x00006180, 0xc11722e4, 0x00004900,
- 0x01400020, 0x0000e180, 0x00003806, 0x00006086, 0x19000000, 0x0000e180,
- 0x84003806, 0x00006086, 0x69e3673f, 0x0000f500, 0x00003806, 0x00006887,
- 0x0180b800, 0x00006180, 0x01c03006, 0x00004900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
- 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0xb9182304, 0x00006100, 0x00002847, 0x0000e405,
- 0x1e000000, 0x00006180, 0x60000847, 0x0000e401, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e400200, 0x00006180, 0x1e800000, 0x0000c980,
- 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0,
- 0x00000000, 0x0000f480, 0x20400000, 0x000008c8, 0x9e00018e, 0x0000088c,
- 0xc0000388, 0x00006582, 0x82502204, 0x00008900, 0xb9102204, 0x00009908,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0x69ff680e, 0x00007100,
- 0x00000406, 0x00009583, 0x01c00800, 0x00007908, 0x00038000, 0x00000980,
- 0x013506a0, 0x0000e110, 0x08024405, 0x00006012, 0x00006a25, 0x0000f008,
- 0x00202804, 0x00001502, 0x23c03800, 0x0000e1b8, 0x22e02c05, 0x00004938,
- 0x233e7800, 0x00007938, 0x00011a4e, 0x00008980, 0x00006a19, 0x00007050,
- 0x6a0f20e8, 0x00007500, 0x23641800, 0x0000f900, 0x002ddb04, 0x00000980,
- 0x22b506a0, 0x00001900, 0x6a1269d9, 0x00007204, 0x01c00800, 0x0000f900,
- 0x00024000, 0x00008980, 0xb9104a09, 0x00006100, 0x00001048, 0x0000e402,
- 0x9e1502a0, 0x00006100, 0x9e40a288, 0x0000c080, 0x919502a0, 0x00009900,
- 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0xc00007a0, 0x00009583,
- 0x23c03800, 0x000061c8, 0x22e02c05, 0x0000c948, 0x231f2800, 0x0000f948,
- 0x001c58d8, 0x00008980, 0x00006a27, 0x00007040, 0x6a2320e8, 0x0000f500,
- 0x23661000, 0x0000f900, 0x002ddb04, 0x00000980, 0x22b506a0, 0x00001900,
- 0x01c00800, 0x0000f900, 0x0003c000, 0x00008980, 0x000069d9, 0x0000f200,
- 0xb9104a09, 0x00001900, 0xc10087a0, 0x0000e283, 0x45850047, 0x00002001,
- 0x01401000, 0x0000e191, 0x01400800, 0x0000c989, 0x01000000, 0x0000e180,
- 0x55850047, 0x00006001, 0x9e1502a0, 0x00006100, 0x00202848, 0x00006002,
- 0x6a3368a0, 0x00007500, 0x9e40a288, 0x00006080, 0x41202c05, 0x00008901,
- 0xc11502a0, 0x00001900, 0xb9104a09, 0x00006100, 0x00002847, 0x0000e405,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0xc0000388, 0x00006582,
- 0x811722e4, 0x00000900, 0x01403006, 0x00009900, 0x00000000, 0x0000f08b,
- 0x6a3c680e, 0x00007100, 0x00000406, 0x00009583, 0x01c00800, 0x00007908,
- 0x00038080, 0x00008980, 0x9e1502a0, 0x0000e110, 0x0b023c06, 0x0000e010,
- 0x00006ad6, 0x0000f008, 0xc10107a0, 0x0000e283, 0x08850407, 0x0000a000,
- 0x01e03407, 0x0000e301, 0x9e40a288, 0x00000080, 0x23c03800, 0x0000e190,
- 0x45203847, 0x00006001, 0x00006a55, 0x0000f208, 0x22c00000, 0x0000e190,
- 0x55850047, 0x00006001, 0x23387800, 0x0000f900, 0x003fd796, 0x00008980,
- 0x6a5220e8, 0x0000f500, 0x234a3000, 0x0000f900, 0x002ddb08, 0x00000980,
- 0x22800000, 0x0000e180, 0x08c5058f, 0x00006000, 0x00006ab3, 0x0000f200,
- 0x01c00800, 0x0000f900, 0x00020080, 0x00008980, 0x01801c48, 0x00009281,
- 0x4b800c06, 0x0000c193, 0x00c087a0, 0x00000090, 0x00800ea0, 0x00004793,
- 0x80e087a0, 0x0000818b, 0x9e8016a0, 0x0000788a, 0x7b400000, 0x00003583,
- 0x23c00007, 0x000008ec, 0x233d4000, 0x00007900, 0x002f7800, 0x00000980,
- 0x6a6420e8, 0x0000f500, 0x234c4800, 0x0000f900, 0x002ddb08, 0x00000980,
- 0x22800000, 0x0000e180, 0x08c5058f, 0x00006000, 0x00006ad6, 0x0000f200,
- 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0x6a69688f, 0x0000f204,
- 0x01c01800, 0x00009980, 0x01801000, 0x00009980, 0x6a6d689b, 0x00007500,
- 0x04150006, 0x00006987, 0x01c03006, 0x00001900, 0x00006adf, 0x0000f200,
- 0x81782f88, 0x00008018, 0x23c00007, 0x000008ec, 0x233e4800, 0x0000f900,
- 0x002f7800, 0x00000980, 0x6a7720e8, 0x00007500, 0x234f6800, 0x00007900,
- 0x002ddb08, 0x00000980, 0x22800000, 0x0000e180, 0x08c5058f, 0x00006000,
- 0x00006ad6, 0x0000f200, 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980,
- 0x08050a08, 0x0000e182, 0x0c050a06, 0x0000b182, 0x80103247, 0x00009502,
- 0x1da03406, 0x0000e119, 0x50000879, 0x00006419, 0x50f23108, 0x0000c33b,
- 0x00c0e448, 0x00000088, 0x522407a1, 0x0000448f, 0x38c207a1, 0x00009a95,
- 0x01c605a1, 0x0000c78f, 0x818207a1, 0x00000492, 0xb60605a1, 0x0000788e,
- 0x43400000, 0x0000b586, 0x23c00007, 0x000088e8, 0x233ef800, 0x00007900,
- 0x00146188, 0x00000980, 0x6a8e20e8, 0x00007500, 0x23515000, 0x0000f900,
- 0x002ddb08, 0x00000980, 0x23f04546, 0x0000082e, 0x00006ab3, 0x0000f200,
- 0x01c00800, 0x0000f900, 0x00034080, 0x00008980, 0x23c00007, 0x000008ec,
- 0x23301800, 0x00007900, 0x000823da, 0x00000980, 0x6a9920e8, 0x00007500,
- 0x236a4800, 0x00007900, 0x002ddb08, 0x00000980, 0x22800000, 0x0000e180,
- 0x0f82458f, 0x0000e004, 0x00006ad6, 0x0000f200, 0x01c00800, 0x0000f900,
- 0x0003c080, 0x00000980, 0x0c450c08, 0x00006000, 0x0c850c0b, 0x00003000,
- 0x19000c08, 0x0000e080, 0x0280140b, 0x00004880, 0x0f824406, 0x0000e004,
- 0x08850c09, 0x00003000, 0x01405064, 0x0000e300, 0x00203007, 0x00002086,
- 0x01402c09, 0x00001300, 0x01403805, 0x00001202, 0x23c03800, 0x0000e188,
- 0x22e04408, 0x00004908, 0x232a0000, 0x00007908, 0x001c067a, 0x00008980,
- 0x00006ab9, 0x0000f010, 0x236b3800, 0x00007900, 0x002ddb08, 0x00000980,
- 0x6ab120e8, 0x00007500, 0xe3e04c09, 0x00006100, 0x0f82458f, 0x0000e004,
- 0x22a05c0b, 0x00001900, 0x01c00800, 0x0000f900, 0x00030080, 0x00000980,
- 0x6ab469d9, 0x0000f004, 0x39250404, 0x00000418, 0x9e40a288, 0x00006080,
- 0x9e1502a0, 0x00008900, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083,
- 0x01605464, 0x00009301, 0x01400800, 0x0000e180, 0x02604c05, 0x00004301,
- 0x6ac1689b, 0x00007500, 0x02603409, 0x00006201, 0x04150005, 0x00002187,
- 0x01c02805, 0x00006100, 0x20a04848, 0x00006004, 0x6ac3688f, 0x0000f204,
- 0x01c01000, 0x00001980, 0xb9102204, 0x00006100, 0x30000079, 0x0000e401,
- 0x00002847, 0x00006c05, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083,
- 0x08850c07, 0x0000e000, 0x0c450c05, 0x0000b000, 0x23c03800, 0x00006180,
- 0x0c850c06, 0x0000e000, 0x232a0000, 0x0000f900, 0x001c067a, 0x00008980,
- 0x236e4000, 0x00007900, 0x002ddb08, 0x00000980, 0x6ad420e8, 0x00007500,
- 0x22e02c05, 0x0000e100, 0x0f82458f, 0x0000e004, 0xe3c03607, 0x0000882b,
- 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0x000069d9, 0x0000f200,
- 0xb9102204, 0x00001900, 0x6ada688f, 0x00007204, 0x01c01800, 0x00009980,
- 0x01801000, 0x00009980, 0x6ade689b, 0x0000f500, 0x04150006, 0x00006987,
- 0x01c03006, 0x00001900, 0x81782f88, 0x00008018, 0x6ae068a6, 0x00007004,
- 0xb9102204, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x0000d020, 0x0000e502, 0x81502204, 0x00008900, 0xb9102204, 0x00009968,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f0eb, 0x0001001a, 0x00001502,
- 0x23c03800, 0x0000e190, 0x22c10020, 0x00004910, 0x23207000, 0x0000f910,
- 0x002e0960, 0x00008980, 0x00006af6, 0x00007008, 0x6af220e8, 0x0000f500,
- 0x23450800, 0x00007900, 0x002ddb06, 0x00008980, 0x2280d01a, 0x00001900,
- 0x000069d9, 0x0000f400, 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980,
- 0xb9102a05, 0x00001900, 0x00006a37, 0x0000f200, 0xb9102a05, 0x00006100,
- 0x00001047, 0x00006405, 0x0000d020, 0x00001502, 0x23c03800, 0x0000e1e8,
- 0x22c00000, 0x0000c9e8, 0x23145800, 0x00007968, 0x000c4c12, 0x00000980,
- 0x00006b06, 0x00007060, 0x6b0320e8, 0x0000f500, 0x234c2000, 0x00007900,
- 0x002ddb0a, 0x00008980, 0x22810020, 0x00001900, 0x00006b1d, 0x0000f200,
- 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0x01407c9c, 0x00009281,
- 0x61a00c05, 0x0000c389, 0x00c01405, 0x00000090, 0x0500a388, 0x00004793,
- 0x87407c9c, 0x0000838a, 0xdf801c05, 0x00007892, 0xf3400000, 0x0000358a,
- 0x0f824405, 0x00006804, 0x01402405, 0x00009283, 0x23c03800, 0x0000e188,
+ 0x003b3000, 0x00008000, 0x703b28ec, 0x0000d600, 0x003b2000, 0x00000000,
+ 0x00006bc2, 0x00007400, 0x23800000, 0x000008ea, 0x19c00000, 0x00009980,
+ 0xcf47fb3e, 0x0000e282, 0xc0000088, 0x00002406, 0xa1c00000, 0x0000e180,
+ 0x2299fb3f, 0x00004900, 0x21400a3f, 0x0000e180, 0x10021042, 0x00000908,
+ 0x00006b93, 0x0000f010, 0x703c40ec, 0x0000d600, 0x003c3800, 0x00008000,
+ 0x0004288a, 0x0000e502, 0x10421843, 0x00000900, 0x703a10ec, 0x0000d600,
+ 0x003a1800, 0x00000000, 0x703b28ec, 0x0000d600, 0x003b2000, 0x00000000,
+ 0x00006b8f, 0x00007008, 0xcfc00b3f, 0x00006080, 0x99400b3f, 0x00008080,
+ 0x19801a65, 0x00001880, 0x00006b90, 0x0000f400, 0x23446866, 0x00001002,
+ 0x2300008c, 0x00009084, 0xcfc00000, 0x00001980, 0x00006bb8, 0x0000f400,
+ 0x19c00000, 0x000088f8, 0x22800000, 0x00001981, 0x0004288a, 0x0000e502,
+ 0x99402289, 0x00000880, 0x997ffa65, 0x00007900, 0x00000002, 0x00008280,
+ 0x23821042, 0x0000e100, 0x00132888, 0x00006106, 0x703c40ec, 0x0000d600,
+ 0x003c3800, 0x00008000, 0x703b38ec, 0x00005600, 0x003b3000, 0x00008000,
+ 0x99402289, 0x0000e080, 0x19944c8b, 0x0000c100, 0x703b28ec, 0x0000d600,
+ 0x003b2000, 0x00000000, 0x19c00c89, 0x00006081, 0x99402266, 0x00004880,
+ 0x99bffa65, 0x00007900, 0x00000002, 0x00008280, 0x0c043c66, 0x0000e084,
+ 0x00133088, 0x00003106, 0x19e33467, 0x00001001, 0x19c21843, 0x00006100,
+ 0x04233887, 0x00006085, 0x703c40ec, 0x0000d600, 0x003c3800, 0x00008000,
+ 0x997ffa65, 0x00007900, 0x00000002, 0x00008280, 0x00006bb7, 0x00007440,
+ 0x703a10ec, 0x0000d600, 0x003a1800, 0x00000000, 0x703b28ec, 0x0000d600,
+ 0x003b2000, 0x00000000, 0x19800b3f, 0x00009080, 0x19801866, 0x00009880,
+ 0x2343308d, 0x00001002, 0x2300008c, 0x00009084, 0x22800800, 0x00009981,
+ 0x00010887, 0x00006485, 0x00804088, 0x0000b586, 0xa1e80500, 0x00006100,
+ 0x00004065, 0x00006586, 0x703c40ec, 0x0000d600, 0x003c3800, 0x00008000,
+ 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000, 0x703b28ec, 0x0000d600,
+ 0x003b2000, 0x00000000, 0x00c002ec, 0x0000df80, 0x169e200b, 0x00009684,
+ 0x00000c8a, 0x00009583, 0x00245c86, 0x00001503, 0xffffffff, 0x00007f86,
+ 0x00006bdc, 0x00007010, 0x00006bd1, 0x0000f020, 0x09823c65, 0x00006804,
+ 0x19000c65, 0x00009181, 0x00001c64, 0x00001583, 0x01a32c65, 0x00009918,
+ 0x19632c65, 0x00009930, 0x00006be4, 0x00007018, 0x00144865, 0x00001502,
+ 0x00006bda, 0x0000f053, 0x1919fb3f, 0x00006100, 0x19400a3f, 0x0000c180,
+ 0x00032864, 0x00006502, 0x1004708e, 0x00008900, 0x99000b3f, 0x000060c8,
+ 0x99000000, 0x000009c0, 0x00006bdc, 0x00007400, 0x10433867, 0x00009900,
+ 0xcfd32264, 0x00009900, 0x10bb3f8e, 0x0000040c, 0x22e44c89, 0x00001901,
+ 0x8f645c8b, 0x00006101, 0x09823c65, 0x0000e004, 0x19000c65, 0x00009181,
+ 0x00001c64, 0x00001583, 0x09823f3d, 0x00006034, 0x20000836, 0x00003437,
+ 0x01a32c65, 0x00009918, 0x00006bf0, 0x00007030, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0470f000, 0x0000f900, 0x003d53c4, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x6bf02213, 0x0000f500,
+ 0x84b8363e, 0x0000001c, 0x81401000, 0x00001980, 0x00502800, 0x0000f900,
+ 0x0004c010, 0x00008980, 0xc0207c15, 0x000000cd, 0x807c5f8b, 0x00001901,
+ 0x008806ec, 0x00005f80, 0x00804140, 0x00000a84, 0x6b21737f, 0x00007204,
+ 0x2b000000, 0x00006180, 0x0dc1bb88, 0x0000c000, 0x00006b21, 0x00007000,
+ 0x6b217250, 0x00007300, 0x01000000, 0x00009980, 0x00006b21, 0x00007000,
+ 0x01800000, 0x00006180, 0xc11722e4, 0x00004900, 0x01400020, 0x0000e180,
+ 0x00003806, 0x00006086, 0x19000000, 0x0000e180, 0x84003806, 0x00006086,
+ 0x6c077042, 0x0000f500, 0x00003806, 0x00006887, 0x0180b800, 0x00006180,
+ 0x01c03006, 0x00004900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0xb9182304, 0x00006100, 0x00002847, 0x0000e405, 0x1e000000, 0x00006180,
+ 0x60000847, 0x0000e401, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
+ 0x1e400200, 0x00006180, 0x1e800000, 0x0000c980, 0x1ec00000, 0x000087f0,
+ 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x00000000, 0x0000f480,
+ 0x20400000, 0x000008c8, 0x9e00018e, 0x0000088c, 0xc0000388, 0x00006582,
+ 0x82502204, 0x00008900, 0xb9102204, 0x00009908, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x0000f08b, 0x6c236a33, 0x0000f100, 0x00000406, 0x00009583,
+ 0x01c00800, 0x00007908, 0x00038000, 0x00000980, 0x013506a0, 0x0000e110,
+ 0x08024405, 0x00006012, 0x00006c49, 0x0000f008, 0x00202804, 0x00001502,
+ 0x23c03800, 0x0000e1b8, 0x22e02c05, 0x00004938, 0x233e7800, 0x00007938,
+ 0x00011a4e, 0x00008980, 0x00006c3d, 0x00007050, 0x6c33224a, 0x00007500,
+ 0x23641800, 0x0000f900, 0x002ddb04, 0x00000980, 0x22b506a0, 0x00001900,
+ 0x6c366bfd, 0x0000f204, 0x01c00800, 0x0000f900, 0x00024000, 0x00008980,
+ 0xb9104a09, 0x00006100, 0x00001048, 0x0000e402, 0x9e1502a0, 0x00006100,
+ 0x9e40a288, 0x0000c080, 0x919502a0, 0x00009900, 0xffffffff, 0x00007f86,
+ 0x00000000, 0x00007083, 0xc00007a0, 0x00009583, 0x23c03800, 0x000061c8,
+ 0x22e02c05, 0x0000c948, 0x231f2800, 0x0000f948, 0x001c58d8, 0x00008980,
+ 0x00006c4b, 0x00007040, 0x6c47224a, 0x00007500, 0x23661000, 0x0000f900,
+ 0x002ddb04, 0x00000980, 0x22b506a0, 0x00001900, 0x01c00800, 0x0000f900,
+ 0x0003c000, 0x00008980, 0x00006bfd, 0x00007200, 0xb9104a09, 0x00001900,
+ 0xc10087a0, 0x0000e283, 0x45850047, 0x00002001, 0x01401000, 0x0000e191,
+ 0x01400800, 0x0000c989, 0x01000000, 0x0000e180, 0x55850047, 0x00006001,
+ 0x9e1502a0, 0x00006100, 0x00202848, 0x00006002, 0x6c576ac5, 0x00007500,
+ 0x9e40a288, 0x00006080, 0x41202c05, 0x00008901, 0xc11502a0, 0x00001900,
+ 0xb9104a09, 0x00006100, 0x00002847, 0x0000e405, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0xc0000388, 0x00006582, 0x811722e4, 0x00000900,
+ 0x01403006, 0x00009900, 0x00000000, 0x0000f08b, 0x6c606a33, 0x00007100,
+ 0x00000406, 0x00009583, 0x01c00800, 0x00007908, 0x00038080, 0x00008980,
+ 0x9e1502a0, 0x0000e110, 0x0b023c06, 0x0000e010, 0x00006cfa, 0x00007008,
+ 0xc10107a0, 0x0000e283, 0x08850407, 0x0000a000, 0x01e03407, 0x0000e301,
+ 0x9e40a288, 0x00000080, 0x23c03800, 0x0000e190, 0x45203847, 0x00006001,
+ 0x00006c79, 0x00007208, 0x22c00000, 0x0000e190, 0x55850047, 0x00006001,
+ 0x23387800, 0x0000f900, 0x003fd796, 0x00008980, 0x6c76224a, 0x0000f500,
+ 0x234a3000, 0x0000f900, 0x002ddb08, 0x00000980, 0x22800000, 0x0000e180,
+ 0x08c5058f, 0x00006000, 0x00006cd7, 0x00007200, 0x01c00800, 0x0000f900,
+ 0x00020080, 0x00008980, 0x01801c48, 0x00009281, 0x90000c06, 0x00004193,
+ 0x00c087a0, 0x00000090, 0x00800ea0, 0x00004793, 0x80e087a0, 0x0000818b,
+ 0x278016a0, 0x0000788b, 0x9b400000, 0x00003684, 0x23c00007, 0x000008ec,
+ 0x233d4000, 0x00007900, 0x002f7800, 0x00000980, 0x6c88224a, 0x00007500,
+ 0x234c4800, 0x0000f900, 0x002ddb08, 0x00000980, 0x22800000, 0x0000e180,
+ 0x08c5058f, 0x00006000, 0x00006cfa, 0x00007200, 0x01c00800, 0x0000f900,
+ 0x0003c080, 0x00000980, 0x6c8d6ab4, 0x0000f204, 0x01c01800, 0x00009980,
+ 0x01801000, 0x00009980, 0x6c916ac0, 0x00007500, 0x04150006, 0x00006987,
+ 0x01c03006, 0x00001900, 0x00006d03, 0x0000f200, 0x81782f88, 0x00008018,
+ 0x23c00007, 0x000008ec, 0x233e4800, 0x0000f900, 0x002f7800, 0x00000980,
+ 0x6c9b224a, 0x0000f500, 0x234f6800, 0x00007900, 0x002ddb08, 0x00000980,
+ 0x22800000, 0x0000e180, 0x08c5058f, 0x00006000, 0x00006cfa, 0x00007200,
+ 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0x08050a08, 0x0000e182,
+ 0x0c050a06, 0x0000b182, 0x80103247, 0x00009502, 0x1da03406, 0x0000e119,
+ 0x50000879, 0x00006419, 0x95723108, 0x0000433b, 0x00c0e448, 0x00000088,
+ 0x96a407a1, 0x0000448f, 0x80c207a1, 0x00009b91, 0x01c605a1, 0x0000c78f,
+ 0x818207a1, 0x00000492, 0x3f0605a1, 0x0000788f, 0x63400000, 0x0000b687,
+ 0x23c00007, 0x000088e8, 0x233ef800, 0x00007900, 0x00146188, 0x00000980,
+ 0x6cb2224a, 0x00007500, 0x23515000, 0x0000f900, 0x002ddb08, 0x00000980,
+ 0x23f04546, 0x0000082e, 0x00006cd7, 0x00007200, 0x01c00800, 0x0000f900,
+ 0x00034080, 0x00008980, 0x23c00007, 0x000008ec, 0x23301800, 0x00007900,
+ 0x000823da, 0x00000980, 0x6cbd224a, 0x00007500, 0x236a4800, 0x00007900,
+ 0x002ddb08, 0x00000980, 0x22800000, 0x0000e180, 0x0f82458f, 0x0000e004,
+ 0x00006cfa, 0x00007200, 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980,
+ 0x0c450c08, 0x00006000, 0x0c850c0b, 0x00003000, 0x19000c08, 0x0000e080,
+ 0x0280140b, 0x00004880, 0x0f824406, 0x0000e004, 0x08850c09, 0x00003000,
+ 0x01405064, 0x0000e300, 0x00203007, 0x00002086, 0x01402c09, 0x00001300,
+ 0x01403805, 0x00001202, 0x23c03800, 0x0000e188, 0x22e04408, 0x00004908,
+ 0x232a0000, 0x00007908, 0x001c067a, 0x00008980, 0x00006cdd, 0x00007010,
+ 0x236b3800, 0x00007900, 0x002ddb08, 0x00000980, 0x6cd5224a, 0x0000f500,
+ 0xe3e04c09, 0x00006100, 0x0f82458f, 0x0000e004, 0x22a05c0b, 0x00001900,
+ 0x01c00800, 0x0000f900, 0x00030080, 0x00000980, 0x6cd86bfd, 0x00007004,
+ 0x39250404, 0x00000418, 0x9e40a288, 0x00006080, 0x9e1502a0, 0x00008900,
+ 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x01605464, 0x00009301,
+ 0x01400800, 0x0000e180, 0x02604c05, 0x00004301, 0x6ce56ac0, 0x00007500,
+ 0x02603409, 0x00006201, 0x04150005, 0x00002187, 0x01c02805, 0x00006100,
+ 0x20a04848, 0x00006004, 0x6ce76ab4, 0x0000f204, 0x01c01000, 0x00001980,
+ 0xb9102204, 0x00006100, 0x30000079, 0x0000e401, 0x00002847, 0x00006c05,
+ 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x08850c07, 0x0000e000,
+ 0x0c450c05, 0x0000b000, 0x23c03800, 0x00006180, 0x0c850c06, 0x0000e000,
+ 0x232a0000, 0x0000f900, 0x001c067a, 0x00008980, 0x236e4000, 0x00007900,
+ 0x002ddb08, 0x00000980, 0x6cf8224a, 0x0000f500, 0x22e02c05, 0x0000e100,
+ 0x0f82458f, 0x0000e004, 0xe3c03607, 0x0000882b, 0x01c00800, 0x0000f900,
+ 0x0003c080, 0x00000980, 0x00006bfd, 0x00007200, 0xb9102204, 0x00001900,
+ 0x6cfe6ab4, 0x00007204, 0x01c01800, 0x00009980, 0x01801000, 0x00009980,
+ 0x6d026ac0, 0x0000f500, 0x04150006, 0x00006987, 0x01c03006, 0x00001900,
+ 0x81782f88, 0x00008018, 0x6d046acb, 0x0000f004, 0xb9102204, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x0000d020, 0x0000e502,
+ 0x81502204, 0x00008900, 0xb9102204, 0x00009968, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x0000f0eb, 0x0001001a, 0x00001502, 0x23c03800, 0x0000e190,
+ 0x22c10020, 0x00004910, 0x23207000, 0x0000f910, 0x002e0960, 0x00008980,
+ 0x00006d1a, 0x00007008, 0x6d16224a, 0x00007500, 0x23450800, 0x00007900,
+ 0x002ddb06, 0x00008980, 0x2280d01a, 0x00001900, 0x00006bfd, 0x00007400,
+ 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0xb9102a05, 0x00001900,
+ 0x00006c5b, 0x0000f200, 0xb9102a05, 0x00006100, 0x00001047, 0x00006405,
+ 0x0000d020, 0x00001502, 0x23c03800, 0x0000e1e8, 0x22c00000, 0x0000c9e8,
+ 0x23145800, 0x00007968, 0x000c4c12, 0x00000980, 0x00006d2a, 0x0000f060,
+ 0x6d27224a, 0x0000f500, 0x234c2000, 0x00007900, 0x002ddb0a, 0x00008980,
+ 0x22810020, 0x00001900, 0x00006d41, 0x0000f200, 0x01c00800, 0x0000f900,
+ 0x0003c080, 0x00000980, 0x01407c9c, 0x00009281, 0xa6200c05, 0x0000c389,
+ 0x00c01405, 0x00000090, 0x0500a388, 0x00004793, 0x87407c9c, 0x0000838a,
+ 0x68801c05, 0x0000f893, 0x13400000, 0x0000b68c, 0x0f824405, 0x00006804,
+ 0x01402405, 0x00009283, 0x23c03800, 0x0000e188, 0x0804e406, 0x0000e00e,
+ 0x22c00000, 0x0000e188, 0x22800000, 0x00004988, 0x00006d43, 0x00007010,
+ 0x23204000, 0x00007900, 0x0023e9e4, 0x00008980, 0x6d3f224a, 0x0000f500,
+ 0x234d3000, 0x00007900, 0x002ddb0a, 0x00008980, 0xe3e03406, 0x00006100,
+ 0x0f82458f, 0x0000e004, 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980,
+ 0x00006bfd, 0x00007200, 0xb9102204, 0x00001900, 0xc001a388, 0x00001582,
+ 0x23c03800, 0x0000e190, 0x0804e406, 0x0000e016, 0x22800000, 0x00006190,
+ 0x0f82458f, 0x00006014, 0x00006d52, 0x00007008, 0x231d8000, 0x0000f900,
+ 0x0024bea0, 0x00008980, 0x6d4f224a, 0x00007500, 0x234e2800, 0x00007900,
+ 0x002ddb0a, 0x00008980, 0xa2f03788, 0x0000883f, 0x00006d41, 0x0000f200,
+ 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0x00006ab4, 0x00007200,
+ 0x01c01000, 0x00006180, 0x00001847, 0x0000e405, 0x23c03800, 0x00006180,
+ 0x0804e406, 0x00006006, 0x23362800, 0x00007900, 0x00269ea4, 0x00000980,
+ 0x23504000, 0x0000f900, 0x002ddb0a, 0x00008980, 0x6d5f224a, 0x0000f500,
+ 0x22800000, 0x0000e180, 0x0f82458f, 0x0000e004, 0xe3fc4606, 0x0000882e,
+ 0x00006d41, 0x0000f200, 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980,
+ 0x0f824405, 0x00006804, 0x01401405, 0x00009283, 0x23c03800, 0x0000e188,
0x0804e406, 0x0000e00e, 0x22c00000, 0x0000e188, 0x22800000, 0x00004988,
- 0x00006b1f, 0x00007010, 0x23204000, 0x00007900, 0x0023e9e4, 0x00008980,
- 0x6b1b20e8, 0x0000f500, 0x234d3000, 0x00007900, 0x002ddb0a, 0x00008980,
- 0xe3e03406, 0x00006100, 0x0f82458f, 0x0000e004, 0x01c00800, 0x0000f900,
- 0x0003c080, 0x00000980, 0x000069d9, 0x0000f200, 0xb9102204, 0x00001900,
- 0xc001a388, 0x00001582, 0x23c03800, 0x0000e190, 0x0804e406, 0x0000e016,
- 0x22800000, 0x00006190, 0x0f82458f, 0x00006014, 0x00006b2e, 0x0000f008,
- 0x231d8000, 0x0000f900, 0x0024bea0, 0x00008980, 0x6b2b20e8, 0x0000f500,
- 0x234e2800, 0x00007900, 0x002ddb0a, 0x00008980, 0xa2f03788, 0x0000883f,
- 0x00006b1d, 0x0000f200, 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980,
- 0x0000688f, 0x00007200, 0x01c01000, 0x00006180, 0x00001847, 0x0000e405,
- 0x23c03800, 0x00006180, 0x0804e406, 0x00006006, 0x23362800, 0x00007900,
- 0x00269ea4, 0x00000980, 0x23504000, 0x0000f900, 0x002ddb0a, 0x00008980,
- 0x6b3b20e8, 0x00007500, 0x22800000, 0x0000e180, 0x0f82458f, 0x0000e004,
- 0xe3fc4606, 0x0000882e, 0x00006b1d, 0x0000f200, 0x01c00800, 0x0000f900,
- 0x0003c080, 0x00000980, 0x0f824405, 0x00006804, 0x01401405, 0x00009283,
- 0x23c03800, 0x0000e188, 0x0804e406, 0x0000e00e, 0x22c00000, 0x0000e188,
- 0x22800000, 0x00004988, 0x00006b4f, 0x00007010, 0x2309b800, 0x00007900,
- 0x003f1ebc, 0x00000980, 0x6b4c20e8, 0x00007500, 0x23515000, 0x0000f900,
- 0x002ddb0a, 0x00008980, 0xe3e03406, 0x00006100, 0x0f82458f, 0x0000e004,
- 0x00006b1d, 0x0000f200, 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980,
- 0xc000a388, 0x00009582, 0x23c03800, 0x0000e190, 0x0804e406, 0x0000e016,
- 0x22800000, 0x00006190, 0x0f82458f, 0x00006014, 0x00006b7e, 0x0000f008,
- 0x23221800, 0x00007900, 0x0025d9ac, 0x00008980, 0x6b5b20e8, 0x00007500,
- 0x23524800, 0x0000f900, 0x002ddb0a, 0x00008980, 0xa2f03788, 0x0000883f,
- 0x00006b1d, 0x0000f200, 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980,
- 0x0f824405, 0x00006804, 0x01400c05, 0x00009283, 0x23c03800, 0x0000e188,
- 0x0804e405, 0x0000e00e, 0x22c00000, 0x0000e188, 0x22800000, 0x00004988,
- 0x00006b6f, 0x0000f010, 0x2309b000, 0x0000f900, 0x0028cf58, 0x00000980,
- 0x6b6c20e8, 0x0000f500, 0x23535800, 0x0000f900, 0x002ddb0a, 0x00008980,
- 0xe3e02c05, 0x00006100, 0x0f82458f, 0x0000e004, 0x00006b1d, 0x0000f200,
- 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0xc000c388, 0x00009582,
- 0x23c03800, 0x0000e190, 0x0804e405, 0x0000e016, 0x22800000, 0x00006190,
- 0x0f82458f, 0x00006014, 0x00006b7e, 0x0000f008, 0x232b0800, 0x0000f900,
- 0x00391dfe, 0x00000980, 0x6b7b20e8, 0x0000f500, 0x23545000, 0x0000f900,
- 0x002ddb0a, 0x00008980, 0xa2f02f88, 0x0000883f, 0x00006b1d, 0x0000f200,
- 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0x01401000, 0x00009980,
- 0x6b82689b, 0x00007500, 0x04123005, 0x0000e987, 0x01c02805, 0x00001900,
- 0x6b84688f, 0x00007204, 0x01c01800, 0x00009980, 0x000068a6, 0x0000f200,
- 0x393c4404, 0x00000016, 0x02407c9c, 0x00006281, 0x811722e4, 0x00000900,
- 0x00003c09, 0x0000e583, 0x02003006, 0x00008900, 0xc000b39c, 0x00001582,
- 0xffffffff, 0x00007f86, 0x00006b99, 0x0000f010, 0x00006b99, 0x0000f010,
- 0x23c00007, 0x000008ec, 0x2311f000, 0x00007900, 0x003e313a, 0x00008980,
- 0x6b9620e8, 0x0000f500, 0x23776800, 0x0000f900, 0x002ddb0a, 0x00008980,
- 0x22800000, 0x0000e180, 0x0c023d8f, 0x00006004, 0x00006bbd, 0x0000f200,
- 0x01c00800, 0x0000f900, 0x00044080, 0x00000980, 0x0c023c09, 0x0000e804,
- 0x00002409, 0x00001583, 0x00002409, 0x00001583, 0x00001409, 0x00001583,
- 0x00006bdb, 0x0000f008, 0x00006ba6, 0x0000f038, 0x00006bae, 0x00007008,
- 0x00001409, 0x00001583, 0x00000c09, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00006baf, 0x0000f038, 0x00006bad, 0x00007008, 0x00006c0d, 0x00007000,
- 0x00003409, 0x00009583, 0x00006bdc, 0x0000700b, 0x00003409, 0x00009583,
- 0x00000000, 0x000070cb, 0x00003c09, 0x00001583, 0x00006c07, 0x0000f00b,
- 0x00006c0d, 0x00007000, 0x00006ae3, 0x00007000, 0x00006a37, 0x00007000,
- 0x0000d020, 0x00001502, 0x00000000, 0x0000f0eb, 0x0001001a, 0x00001502,
- 0x23c03800, 0x0000e190, 0x22c10020, 0x00004910, 0x230f2000, 0x00007910,
- 0x0013439a, 0x00008980, 0x00006bbf, 0x00007008, 0x6bbb20e8, 0x0000f500,
- 0x23704000, 0x00007900, 0x002ddb0a, 0x00008980, 0x2280d01a, 0x00001900,
- 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0x000069d9, 0x0000f200,
- 0xb9102204, 0x00001900, 0x81004647, 0x00001283, 0x23c03800, 0x0000e190,
- 0x22c0d01a, 0x00004910, 0x23002800, 0x0000f910, 0x00322a3a, 0x00008980,
- 0x00006bcc, 0x0000f008, 0x6bc920e8, 0x0000f500, 0x23714000, 0x0000f900,
- 0x002ddb0a, 0x00008980, 0x2280d01a, 0x00001900, 0x00006bbd, 0x0000f200,
- 0x01c01000, 0x0000f900, 0x00020080, 0x00008980, 0x01403e47, 0x00009281,
- 0x6bd1689b, 0x00007500, 0x00001c05, 0x00009583, 0x01c01000, 0x0000e190,
- 0x01c01000, 0x0000c988, 0x6bd368a6, 0x00007204, 0x01400000, 0x00001980,
- 0x6bd5688f, 0x0000f204, 0x01c01800, 0x00009980, 0xc0000388, 0x00009582,
- 0x19004008, 0x0000e110, 0xb9102204, 0x0000c908, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x0000f08b, 0x00006c06, 0x0000f000, 0x000069f9, 0x0000f000,
- 0x0000d020, 0x00001502, 0x00000000, 0x0000f0eb, 0x0001001a, 0x00001502,
- 0x23c03800, 0x0000e190, 0x22c10020, 0x00004910, 0x230f2000, 0x00007910,
- 0x0013439a, 0x00008980, 0x00006beb, 0x0000f008, 0x6be820e8, 0x0000f500,
- 0x23704000, 0x00007900, 0x002ddb0a, 0x00008980, 0x2280d01a, 0x00001900,
- 0x00006bbd, 0x0000f200, 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980,
+ 0x00006d73, 0x00007010, 0x2309b800, 0x00007900, 0x003f1ebc, 0x00000980,
+ 0x6d70224a, 0x00007500, 0x23515000, 0x0000f900, 0x002ddb0a, 0x00008980,
+ 0xe3e03406, 0x00006100, 0x0f82458f, 0x0000e004, 0x00006d41, 0x0000f200,
+ 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0xc000a388, 0x00009582,
+ 0x23c03800, 0x0000e190, 0x0804e406, 0x0000e016, 0x22800000, 0x00006190,
+ 0x0f82458f, 0x00006014, 0x00006da2, 0x00007008, 0x23221800, 0x00007900,
+ 0x0025d9ac, 0x00008980, 0x6d7f224a, 0x00007500, 0x23524800, 0x0000f900,
+ 0x002ddb0a, 0x00008980, 0xa2f03788, 0x0000883f, 0x00006d41, 0x0000f200,
+ 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0x0f824405, 0x00006804,
+ 0x01400c05, 0x00009283, 0x23c03800, 0x0000e188, 0x0804e405, 0x0000e00e,
+ 0x22c00000, 0x0000e188, 0x22800000, 0x00004988, 0x00006d93, 0x0000f010,
+ 0x2309b000, 0x0000f900, 0x0028cf58, 0x00000980, 0x6d90224a, 0x0000f500,
+ 0x23535800, 0x0000f900, 0x002ddb0a, 0x00008980, 0xe3e02c05, 0x00006100,
+ 0x0f82458f, 0x0000e004, 0x00006d41, 0x0000f200, 0x01c00800, 0x0000f900,
+ 0x0003c080, 0x00000980, 0xc000c388, 0x00009582, 0x23c03800, 0x0000e190,
+ 0x0804e405, 0x0000e016, 0x22800000, 0x00006190, 0x0f82458f, 0x00006014,
+ 0x00006da2, 0x00007008, 0x232b0800, 0x0000f900, 0x00391dfe, 0x00000980,
+ 0x6d9f224a, 0x0000f500, 0x23545000, 0x0000f900, 0x002ddb0a, 0x00008980,
+ 0xa2f02f88, 0x0000883f, 0x00006d41, 0x0000f200, 0x01c00800, 0x0000f900,
+ 0x0003c080, 0x00000980, 0x01401000, 0x00009980, 0x6da66ac0, 0x00007500,
+ 0x04123005, 0x0000e987, 0x01c02805, 0x00001900, 0x6da86ab4, 0x0000f204,
+ 0x01c01800, 0x00009980, 0x00006acb, 0x0000f200, 0x393c4404, 0x00000016,
+ 0x02407c9c, 0x00006281, 0x811722e4, 0x00000900, 0x00003c09, 0x0000e583,
+ 0x02003006, 0x00008900, 0xc000b39c, 0x00001582, 0xffffffff, 0x00007f86,
+ 0x00006dbd, 0x0000f010, 0x00006dbd, 0x0000f010, 0x23c00007, 0x000008ec,
+ 0x2311f000, 0x00007900, 0x003e313a, 0x00008980, 0x6dba224a, 0x00007500,
+ 0x23776800, 0x0000f900, 0x002ddb0a, 0x00008980, 0x22800000, 0x0000e180,
+ 0x0c023d8f, 0x00006004, 0x00006de1, 0x0000f200, 0x01c00800, 0x0000f900,
+ 0x00044080, 0x00000980, 0x0c023c09, 0x0000e804, 0x00002409, 0x00001583,
+ 0x00002409, 0x00001583, 0x00001409, 0x00001583, 0x00006dff, 0x0000f008,
+ 0x00006dca, 0x0000f038, 0x00006dd2, 0x0000f008, 0x00001409, 0x00001583,
+ 0x00000c09, 0x00001583, 0xffffffff, 0x00007f86, 0x00006dd3, 0x00007038,
+ 0x00006dd1, 0x0000f008, 0x00006e31, 0x0000f000, 0x00003409, 0x00009583,
+ 0x00006e00, 0x0000f00b, 0x00003409, 0x00009583, 0x00000000, 0x000070cb,
+ 0x00003c09, 0x00001583, 0x00006e2b, 0x0000f00b, 0x00006e31, 0x0000f000,
+ 0x00006d07, 0x0000f000, 0x00006c5b, 0x00007000, 0x0000d020, 0x00001502,
+ 0x00000000, 0x0000f0eb, 0x0001001a, 0x00001502, 0x23c03800, 0x0000e190,
+ 0x22c10020, 0x00004910, 0x230f2000, 0x00007910, 0x0013439a, 0x00008980,
+ 0x00006de3, 0x00007008, 0x6ddf224a, 0x00007500, 0x23704000, 0x00007900,
+ 0x002ddb0a, 0x00008980, 0x2280d01a, 0x00001900, 0x01c00800, 0x0000f900,
+ 0x0003c080, 0x00000980, 0x00006bfd, 0x00007200, 0xb9102204, 0x00001900,
0x81004647, 0x00001283, 0x23c03800, 0x0000e190, 0x22c0d01a, 0x00004910,
- 0x23002800, 0x0000f910, 0x00322a3a, 0x00008980, 0x00006bf8, 0x00007008,
- 0x6bf520e8, 0x0000f500, 0x23714000, 0x0000f900, 0x002ddb0a, 0x00008980,
- 0x2280d01a, 0x00001900, 0x00006bbd, 0x0000f200, 0x01c01000, 0x0000f900,
- 0x00020080, 0x00008980, 0x01403e47, 0x00009281, 0x6bfd689b, 0x0000f500,
+ 0x23002800, 0x0000f910, 0x00322a3a, 0x00008980, 0x00006df0, 0x0000f008,
+ 0x6ded224a, 0x0000f500, 0x23714000, 0x0000f900, 0x002ddb0a, 0x00008980,
+ 0x2280d01a, 0x00001900, 0x00006de1, 0x0000f200, 0x01c01000, 0x0000f900,
+ 0x00020080, 0x00008980, 0x01403e47, 0x00009281, 0x6df56ac0, 0x00007500,
0x00001c05, 0x00009583, 0x01c01000, 0x0000e190, 0x01c01000, 0x0000c988,
- 0x6bff68a6, 0x0000f204, 0x01400000, 0x00001980, 0x6c01688f, 0x00007204,
+ 0x6df76acb, 0x00007204, 0x01400000, 0x00001980, 0x6df96ab4, 0x00007204,
0x01c01800, 0x00009980, 0xc0000388, 0x00009582, 0x19004008, 0x0000e110,
0xb9102204, 0x0000c908, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b,
- 0x6c0768c1, 0x0000f004, 0x40000d89, 0x00009583, 0xb9102204, 0x00009908,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0x00006af9, 0x00007200,
- 0xb9102204, 0x00001900, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0441c800, 0x0000f900,
- 0x003ceecc, 0x00008980, 0x03c00000, 0x000000d4, 0x82e00500, 0x0000802e,
- 0x6c1820b1, 0x00007500, 0x03004f02, 0x0000010b, 0x81c01000, 0x00009980,
- 0x86001d89, 0x00004389, 0x00c01d89, 0x00000098, 0x8ee00d89, 0x0000c499,
- 0xa0c00489, 0x00001b88, 0x05620647, 0x0000478c, 0x83406d89, 0x0000858a,
- 0x09806d89, 0x0000789b, 0x03400001, 0x00008080, 0x01003d89, 0x00009181,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x1cc01404, 0x0000f8b3, 0x4b400000, 0x0000b681, 0x40007589, 0x00009583,
- 0x10000879, 0x0000ec09, 0x00006c5a, 0x0000f009, 0x23c00007, 0x000008ec,
- 0x2333b800, 0x00007900, 0x00259b54, 0x00000980, 0x6c7320e8, 0x0000f500,
- 0x237d8000, 0x0000f900, 0x00293b60, 0x00008980, 0x23c00189, 0x000088a8,
- 0x23c00007, 0x000008ec, 0x233b1800, 0x0000f900, 0x00319ff4, 0x00008980,
- 0x6c3820e8, 0x0000f500, 0x235ec000, 0x0000f900, 0x00293b60, 0x00008980,
- 0x22800000, 0x0000e180, 0x0c023d8f, 0x00006004, 0x87820647, 0x0000448d,
- 0xa0c00489, 0x00001b88, 0x14020647, 0x00007897, 0x3b400000, 0x00003682,
- 0x01003e47, 0x00001281, 0x00002404, 0x00009583, 0x01401000, 0x0000e191,
- 0x01400000, 0x00004989, 0x01000800, 0x0000f900, 0x00028000, 0x00008980,
- 0x6c4569d9, 0x0000f404, 0x04202804, 0x00006887, 0x01c02004, 0x00001900,
- 0x8a000489, 0x0000498b, 0xa0c20647, 0x00009b90, 0x01003e47, 0x00001281,
+ 0x00006e2a, 0x0000f000, 0x00006c1d, 0x0000f000, 0x0000d020, 0x00001502,
+ 0x00000000, 0x0000f0eb, 0x0001001a, 0x00001502, 0x23c03800, 0x0000e190,
+ 0x22c10020, 0x00004910, 0x230f2000, 0x00007910, 0x0013439a, 0x00008980,
+ 0x00006e0f, 0x0000f008, 0x6e0c224a, 0x0000f500, 0x23704000, 0x00007900,
+ 0x002ddb0a, 0x00008980, 0x2280d01a, 0x00001900, 0x00006de1, 0x0000f200,
+ 0x01c00800, 0x0000f900, 0x0003c080, 0x00000980, 0x81004647, 0x00001283,
+ 0x23c03800, 0x0000e190, 0x22c0d01a, 0x00004910, 0x23002800, 0x0000f910,
+ 0x00322a3a, 0x00008980, 0x00006e1c, 0x00007008, 0x6e19224a, 0x00007500,
+ 0x23714000, 0x0000f900, 0x002ddb0a, 0x00008980, 0x2280d01a, 0x00001900,
+ 0x00006de1, 0x0000f200, 0x01c01000, 0x0000f900, 0x00020080, 0x00008980,
+ 0x01403e47, 0x00009281, 0x6e216ac0, 0x00007500, 0x00001c05, 0x00009583,
+ 0x01c01000, 0x0000e190, 0x01c01000, 0x0000c988, 0x6e236acb, 0x00007204,
+ 0x01400000, 0x00001980, 0x6e256ab4, 0x0000f204, 0x01c01800, 0x00009980,
+ 0xc0000388, 0x00009582, 0x19004008, 0x0000e110, 0xb9102204, 0x0000c908,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0x6e2b6ae6, 0x00007004,
+ 0x40000d89, 0x00009583, 0xb9102204, 0x00009908, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x0000f08b, 0x00006d1d, 0x0000f200, 0xb9102204, 0x00001900,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0441c800, 0x0000f900, 0x003ceecc, 0x00008980,
+ 0x01c00000, 0x000000f4, 0x82e00500, 0x0000802e, 0x6e3c2213, 0x0000f500,
+ 0x03c04f02, 0x0000010b, 0x81401000, 0x00001980, 0xca801d89, 0x00004389,
+ 0x00c01d89, 0x00000098, 0xd3600d89, 0x0000c499, 0xe8c00489, 0x00009b8c,
+ 0x05620647, 0x0000478c, 0x83406d89, 0x0000858a, 0x92806d89, 0x0000f89b,
+ 0x03400001, 0x00008080, 0x01003d89, 0x00009181, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xa5c01404, 0x000078b3,
+ 0x6b400000, 0x0000b782, 0x40007589, 0x00009583, 0x10000879, 0x0000ec09,
+ 0x00006e7e, 0x00007009, 0x23c00007, 0x000008ec, 0x2333b800, 0x00007900,
+ 0x00259b54, 0x00000980, 0x6e97224a, 0x00007500, 0x237d8000, 0x0000f900,
+ 0x00293b60, 0x00008980, 0x23c00189, 0x000088a8, 0x23c00007, 0x000008ec,
+ 0x233b1800, 0x0000f900, 0x00319ff4, 0x00008980, 0x6e5c224a, 0x0000f500,
+ 0x235ec000, 0x0000f900, 0x00293b60, 0x00008980, 0x22800000, 0x0000e180,
+ 0x0c023d8f, 0x00006004, 0xcc020647, 0x0000c48d, 0xe8c00489, 0x00009b8c,
+ 0x9d020647, 0x0000f897, 0x5b400000, 0x00003783, 0x01003e47, 0x00001281,
0x00002404, 0x00009583, 0x01401000, 0x0000e191, 0x01400000, 0x00004989,
- 0x01000800, 0x0000f900, 0x0002c000, 0x00000980, 0x6c5069d9, 0x00007404,
- 0x04202804, 0x00006887, 0x01c02004, 0x00001900, 0x01414021, 0x0000e100,
- 0x01000b31, 0x00008880, 0x00002005, 0x00006502, 0x10000879, 0x00002401,
- 0x013fe01f, 0x0000e180, 0x0000086c, 0x0000e46b, 0x1c87f800, 0x000061e9,
- 0x01298004, 0x00004800, 0x1c014004, 0x00006000, 0xe000186c, 0x0000a403,
- 0x03c00000, 0x000001c8, 0x001018ec, 0x00005780, 0x00884980, 0x00000180,
- 0x81002302, 0x00006780, 0x0000180f, 0x00002106, 0x0318b000, 0x00007900,
- 0x00037280, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
- 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x0018d0ec, 0x00005780,
- 0x00884941, 0x00000188, 0xc000180f, 0x00006006, 0x45102012, 0x0000b107,
- 0x04000000, 0x0000e180, 0x04c00004, 0x00004980, 0x01400000, 0x0000e181,
- 0x03801002, 0x00004900, 0x6c75672a, 0x00007500, 0x00502800, 0x0000f900,
- 0x0004d410, 0x00008980, 0x40e0ac0f, 0x000000c3, 0x00006c5a, 0x00007200,
- 0x20000879, 0x00006c01, 0x00006c6d, 0x0000f200, 0x01400800, 0x00001981,
- 0x00000405, 0x00009583, 0x00006c7d, 0x0000700b, 0x01000000, 0x00009980,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04147004, 0x0000e987,
- 0x700708ec, 0x0000d680, 0x00382002, 0x00008000, 0xffc00000, 0x00001980,
- 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x01803e47, 0x00009281, 0x00003406, 0x00009583, 0x00001c06, 0x00001593,
- 0x01807c9c, 0x00001291, 0x00006c88, 0x0000f009, 0x00003c06, 0x00001583,
- 0x00006c89, 0x0000f013, 0x6c8967f9, 0x00007100, 0x41800d98, 0x0000e283,
- 0xe21ccb99, 0x00000900, 0x62400000, 0x0000e181, 0x0a44c288, 0x00006100,
- 0x6c901b4e, 0x0000f500, 0x22800000, 0x000088e6, 0xe2000b99, 0x00001090,
- 0x0004b020, 0x00009502, 0x00006c95, 0x0000f063, 0x81800e69, 0x00009283,
- 0x0804b096, 0x0000e108, 0x60000816, 0x0000640b, 0x41800d98, 0x00001283,
- 0x81800b88, 0x00001190, 0xe2000b88, 0x00009190, 0x00006ca3, 0x00007008,
- 0x00000206, 0x0000f890, 0x00000000, 0x00000000, 0x27c00589, 0x0000f893,
- 0x03400001, 0x00000060, 0x2a000d89, 0x000078b3, 0x2b400000, 0x00003685,
- 0x8000068a, 0x00001583, 0x62400800, 0x0000e189, 0xe2803000, 0x0000c991,
- 0xffffffff, 0x00007f86, 0x40000d89, 0x00009583, 0x00006ca8, 0x00007033,
- 0x01806d89, 0x00001181, 0x00000c06, 0x00001583, 0x00006caa, 0x0000f01b,
- 0x6caa6b86, 0x0000f204, 0x01802004, 0x00009900, 0x6cab6c18, 0x0000f100,
- 0x6cac67e5, 0x00007100, 0xa0402a36, 0x00007902, 0x01000000, 0x00008000,
- 0xa0403836, 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007f97,
- 0x01400805, 0x00001082, 0x01c03a8c, 0x0000e002, 0x01000004, 0x00000084,
- 0xa0782a36, 0x0000d000, 0x00382000, 0x00000000, 0x01000c38, 0x00006283,
- 0x01800006, 0x00000084, 0xa0783836, 0x0000d000, 0x00383000, 0x00008000,
- 0x700000ec, 0x00005690, 0x00000040, 0x00000080, 0x00006cc6, 0x00007008,
- 0x0120a800, 0x000080c3, 0xc0c07800, 0x00006180, 0x04147004, 0x00006187,
- 0x00502800, 0x0000f900, 0x0004d910, 0x00000980, 0x700708ec, 0x0000d680,
- 0x00382002, 0x00008000, 0x008806ec, 0x00005f80, 0x00804140, 0x00000a84,
- 0x6cc86c81, 0x00007204, 0x01014028, 0x00001900, 0x22400000, 0x00001981,
- 0xa1206d89, 0x0000c291, 0x9ac00304, 0x00001b89, 0x42407589, 0x0000f88b,
- 0xb3400000, 0x0000b686, 0x23c00007, 0x000008ec, 0x23332000, 0x0000f900,
- 0x001a6dac, 0x00008980, 0x235ef000, 0x0000f900, 0x002ddb02, 0x00000980,
- 0x00006d04, 0x00007400, 0x22800000, 0x0000e180, 0x63ec4d89, 0x00004901,
- 0xe3c00000, 0x00009980, 0x23c03800, 0x00006180, 0x0c023c04, 0x0000e004,
- 0x230d2800, 0x0000f900, 0x0026ab3c, 0x00008980, 0x235fe000, 0x0000f900,
- 0x002ddb02, 0x00000980, 0x00006d04, 0x00007400, 0x22c00000, 0x000088e8,
- 0xe3cc4e04, 0x0000883c, 0x23c03800, 0x00006180, 0x0c023c04, 0x0000e004,
- 0x23194000, 0x00007900, 0x0027e00c, 0x00000980, 0x23613000, 0x0000f900,
- 0x002ddb02, 0x00000980, 0x6ce920e8, 0x0000f500, 0x22800000, 0x0000e180,
- 0x22e02404, 0x0000c900, 0xe3c00000, 0x00009980, 0x00006d07, 0x00007200,
- 0x01c00800, 0x0000f900, 0x0003c000, 0x00008980, 0x6d0868a0, 0x00007500,
- 0x05001014, 0x00006380, 0x46002000, 0x00000981, 0x01000000, 0x00009980,
- 0x6cf4688f, 0x00007404, 0x05001014, 0x00006380, 0x46002000, 0x00000981,
- 0x01c00000, 0x00009980, 0x6cf76c81, 0x00007404, 0x01802805, 0x00009900,
- 0x01003006, 0x00001900, 0x01c00020, 0x00006180, 0x0c023c05, 0x00006004,
- 0x01a02c05, 0x0000e100, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04418000, 0x0000f900, 0x0012d454, 0x00000980,
- 0x82e00500, 0x0000802e, 0x030c4f02, 0x0000010b, 0x6d0420b1, 0x00007500,
- 0x41c00002, 0x000080d4, 0x03c03006, 0x00009900, 0x6d0520e8, 0x00007100,
- 0x01c00800, 0x0000f900, 0x0003c000, 0x00008980, 0x6d0869d9, 0x0000f004,
- 0x6cf06c18, 0x00007100, 0x01003e47, 0x00001281, 0x9d800c04, 0x00004291,
- 0xbec00304, 0x00001b89, 0x3dc02404, 0x00007893, 0x83400000, 0x00003687,
- 0x00000004, 0x0000e582, 0x99b71ee3, 0x00008900, 0x7b406866, 0x0000a191,
- 0x00006d70, 0x0000f009, 0x01040492, 0x00009283, 0x19800c0d, 0x00001081,
- 0x00006daf, 0x00007011, 0x811c4b88, 0x0000e000, 0x0a44c205, 0x0000a100,
- 0xe4102a04, 0x0000e000, 0x03800000, 0x00000980, 0x01040492, 0x00006283,
- 0x03001002, 0x00000900, 0x83b02889, 0x00008039, 0x01198821, 0x00009108,
- 0x00006da7, 0x00007010, 0x011c4004, 0x00001100, 0x0004b804, 0x00001502,
- 0x8000080e, 0x0000ec69, 0x99800c66, 0x00006080, 0x81233466, 0x0000c900,
- 0x14402a04, 0x0000f902, 0x01000000, 0x00008000, 0xbbf83466, 0x00002080,
- 0xbbc07a66, 0x0000f902, 0x01c00000, 0x00008000, 0xffffffff, 0x00007f97,
- 0x99583305, 0x00009100, 0x80004a65, 0x00009582, 0xc0307f0f, 0x00001503,
- 0xffffffff, 0x00007f86, 0x00006d9b, 0x0000f030, 0x00006d98, 0x00007008,
- 0x99747390, 0x00009100, 0x80103a65, 0x00001502, 0x01000c0f, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00006de6, 0x0000f018, 0x00006df2, 0x00007008,
- 0x01400000, 0x000080d0, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x01400c0d, 0x0000e081, 0x04147004, 0x0000a187, 0x7006f8ec, 0x00005680,
- 0x00382002, 0x00008000, 0xc1f874ec, 0x0000d000, 0x00386000, 0x00008000,
- 0xc1fc66ec, 0x00003838, 0xc23c70ec, 0x0000b838, 0xc1f82aec, 0x0000a880,
- 0xc23c82ec, 0x00003838, 0xc23c94ec, 0x0000b838, 0xc23c26ec, 0x0000b838,
- 0x6d483e77, 0x0000f500, 0xc27c30ec, 0x0000b838, 0xc1c002ec, 0x0000d000,
- 0x00400000, 0x00000080, 0x01040492, 0x00006283, 0x03c00000, 0x00008980,
- 0x04800000, 0x00006180, 0x0000180f, 0x0000e106, 0x99802302, 0x0000e780,
- 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900, 0x000371c0, 0x00008980,
- 0x03400000, 0x00007900, 0x00018008, 0x00000980, 0x04401000, 0x00007900,
- 0x0001c000, 0x00000980, 0x04000000, 0x0000e180, 0x45133012, 0x00006107,
- 0x04c00004, 0x00006180, 0x03801002, 0x00004900, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x00006d66, 0x00007408, 0x20800000, 0x000088cc, 0x19800800, 0x00006188,
- 0x08045865, 0x0000e216, 0x19800000, 0x00001980, 0x00001c65, 0x00009583,
- 0x19800800, 0x00001988, 0x001018ec, 0x00005780, 0x00884980, 0x00000180,
- 0x1d61e43c, 0x0000e101, 0x92633074, 0x0000e000, 0x0018d0ec, 0x00005780,
- 0x00884941, 0x00000188, 0x00000001, 0x00007480, 0xe2c0378b, 0x00006181,
- 0x6a800800, 0x00000981, 0xdd39e73c, 0x00001901, 0x99771ee3, 0x00006100,
- 0x03901202, 0x00004900, 0x7b7b2865, 0x00002100, 0x7b433066, 0x0000a181,
- 0x430c508a, 0x00008031, 0x4314538a, 0x00008031, 0x99771ee3, 0x00006100,
- 0x01000865, 0x00004080, 0x7b782065, 0x00002900, 0x99800c66, 0x00006080,
- 0x81000000, 0x00004980, 0x7b402065, 0x00002181, 0xbbf82c66, 0x00002080,
- 0xbbc03a66, 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007f86,
- 0x14406a04, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x99582b0d, 0x00001100, 0x80004a65, 0x00009582, 0xc0303f07, 0x00001503,
- 0xffffffff, 0x00007f86, 0x00006dda, 0x0000f030, 0x00006dd7, 0x0000f008,
- 0x99747390, 0x00009100, 0x80103265, 0x00009502, 0x01000c07, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00006e00, 0x00007018, 0x00006e0c, 0x0000f008,
- 0x01000000, 0x000080d4, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x99b71ee3, 0x00006100, 0x04147004, 0x00006187, 0x00006d3c, 0x0000f400,
- 0x7006f8ec, 0x00005680, 0x00382002, 0x00008000, 0x7b402866, 0x0000a181,
- 0x99983a05, 0x00009100, 0x80001a66, 0x00009582, 0x00006d2f, 0x0000f01b,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x045aa800, 0x0000f900, 0x002cdcf2, 0x00000980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x84bcbe02, 0x0000003c, 0x81c01000, 0x00009980, 0x6da720b1, 0x0000f100,
- 0x08045865, 0x0000ea06, 0x00000c65, 0x00001583, 0x01198821, 0x00009108,
- 0x011c4004, 0x00009108, 0x00006d21, 0x0000f010, 0x00006d21, 0x0000f400,
- 0x0004b804, 0x00001502, 0x8000080e, 0x0000ec69, 0x99400c66, 0x00006080,
- 0x81233466, 0x0000c900, 0x14402a04, 0x0000f902, 0x01000000, 0x00008000,
- 0xbbc32c65, 0x00002082, 0x81233466, 0x00009900, 0xffffffff, 0x00007f86,
- 0x14403a04, 0x00007902, 0x01000000, 0x00008000, 0x99532b05, 0x00001100,
- 0x80004a65, 0x00009582, 0x81805265, 0x00006198, 0x81800000, 0x000009b0,
- 0x99400c66, 0x00001880, 0xbbe02a65, 0x00007902, 0x81180700, 0x00008000,
- 0xffffffff, 0x00007fa7, 0x81502405, 0x00001100, 0xbbe02265, 0x00002081,
- 0x81503a05, 0x00009000, 0xffffffff, 0x00007f97, 0x99602205, 0x00001100,
- 0x80001a65, 0x00009582, 0x99402265, 0x00001198, 0x99532a06, 0x00001c18,
- 0x00006dcb, 0x0000f030, 0x80000265, 0x00009582, 0x00006d15, 0x00007013,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04509800, 0x0000f900, 0x0025dd2e, 0x00000980,
- 0x04800000, 0x000000fc, 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901,
- 0x6dd720b1, 0x0000f500, 0x82f81400, 0x00008030, 0x81c01000, 0x00009980,
- 0x9998320d, 0x00009100, 0x80001a66, 0x00009582, 0x00006d89, 0x0000f01b,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04481800, 0x00007900, 0x00233874, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x00006da6, 0x0000f400, 0x84bcbe02, 0x0000003c, 0x81c01000, 0x00009980,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0458a000, 0x0000f900, 0x003e9380, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x00006da6, 0x0000f400, 0x84bcbe02, 0x0000003c, 0x81c01000, 0x00009980,
- 0x01c00020, 0x00006180, 0x04800000, 0x00004980, 0x040e6000, 0x0000f900,
- 0x00040d12, 0x00008980, 0x045b4800, 0x0000f900, 0x00352ef0, 0x00008980,
- 0x03c00000, 0x00006180, 0x08001a0b, 0x00006106, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x6e0020b1, 0x0000f500, 0x82f81400, 0x00008030,
- 0x04800c0d, 0x0000e081, 0x81c0e800, 0x00008980, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04521000, 0x00007900, 0x001a725e, 0x00008980, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030, 0x00006da6, 0x0000f400,
- 0x84bcbe02, 0x0000003c, 0x81c01000, 0x00009980, 0x01c00020, 0x00006180,
- 0x04800000, 0x00004980, 0x99771ee3, 0x00006100, 0x08001a0b, 0x00006106,
- 0x040e6000, 0x0000f900, 0x00040d12, 0x00008980, 0x045b4800, 0x0000f900,
- 0x00352ef0, 0x00008980, 0x7b409065, 0x0000a181, 0x03c00000, 0x000000d4,
- 0x6e1a20b1, 0x00007500, 0x82e00500, 0x0000802e, 0x81c0e800, 0x00006180,
- 0x03001002, 0x0000c900, 0x6e1e67ad, 0x00007500, 0x21001000, 0x00007900,
- 0x00001e00, 0x00008980, 0x19c00000, 0x00009980, 0x00000001, 0x0000f080,
- 0x6e2467ad, 0x00007500, 0x19c00000, 0x0000e180, 0xe0000838, 0x00006400,
- 0x21001000, 0x00007900, 0x00002340, 0x00008980, 0x00000001, 0x0000f080,
- 0x19000c38, 0x00009283, 0xa55cca95, 0x00006108, 0x6607f598, 0x00000289,
- 0xe6400000, 0x0000e188, 0x01000000, 0x00004990, 0x00000001, 0x00007088,
- 0xffc00000, 0x00006180, 0x04147004, 0x00006187, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x00502800, 0x0000f900, 0x0004d910, 0x00000980,
- 0x700708ec, 0x0000d680, 0x00382002, 0x00008000, 0x40e0ac0f, 0x000000c3,
- 0x008806ec, 0x00005f80, 0x00804140, 0x00000a84, 0x19401000, 0x00007900,
- 0x00004000, 0x00000980, 0x6e3c67ad, 0x00007500, 0x19d9c338, 0x00006100,
- 0x04232065, 0x0000e087, 0x21032865, 0x00009900, 0x00000001, 0x0000f080,
- 0x0804e467, 0x0000e006, 0x0b81b4af, 0x0000b006, 0xaae33c67, 0x0000e100,
- 0x99404b9c, 0x0000c080, 0x7c7b20ab, 0x00002180, 0x99bfe265, 0x00007900,
- 0x0000003e, 0x00008280, 0xab5722e4, 0x0000e100, 0x19408caf, 0x0000c080,
- 0x38401465, 0x00001881, 0x0f01c464, 0x0000e802, 0xaba32464, 0x00009900,
- 0xb8800b88, 0x0000f8b3, 0x03400001, 0x00000000, 0x000006aa, 0x00007890,
- 0x00000000, 0x00000000, 0x000003ac, 0x0000f892, 0x00000000, 0x00008020,
- 0x1a401b9c, 0x0000c4b0, 0x82f18966, 0x00009b1f, 0x335c4266, 0x00007812,
- 0xab800000, 0x0000b782, 0xb88002ac, 0x0000788b, 0xeb400000, 0x0000b786,
- 0xa1232464, 0x00001900, 0x00004784, 0x0000f88c, 0x00000000, 0x00000000,
- 0xde404438, 0x0000f88f, 0x03400001, 0x00000060, 0xf9805c67, 0x0000c399,
- 0x00c00764, 0x00000090, 0x00000464, 0x0000c090, 0x0000073d, 0x00000088,
- 0xb9c0939c, 0x000078d3, 0xa3400000, 0x0000b783, 0xfc51f325, 0x0000780a,
- 0x2b800000, 0x0000b78c, 0x41000c64, 0x0000c591, 0x0840939c, 0x000081d1,
- 0x00001f64, 0x0000c090, 0x00000464, 0x00000090, 0x59c20438, 0x0000448c,
- 0xb8e02d3c, 0x00001c93, 0x5b00739c, 0x000078d2, 0xeb800000, 0x0000378e,
- 0x6d401c64, 0x00004490, 0xb8e02d3c, 0x00001c93, 0x5b00739c, 0x000078d2,
- 0xeb800000, 0x0000378e, 0x78400f64, 0x00004490, 0x4ce0739c, 0x00001cd7,
- 0xe6c08438, 0x00007896, 0x03800001, 0x00000000, 0xe600009d, 0x0000f88a,
- 0x3b800000, 0x0000b985, 0x03c00000, 0x000007d0, 0x1d400000, 0x0000e180,
- 0x0000180f, 0x0000e106, 0x20c00000, 0x0000e180, 0x40000838, 0x0000e402,
- 0x0318b000, 0x00007900, 0x00037140, 0x00000980, 0x03400000, 0x00007900,
- 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
- 0x01000802, 0x0000e180, 0xc000180f, 0x00006006, 0x01400000, 0x00006180,
- 0x0197f840, 0x00004980, 0x01c00000, 0x000001c0, 0x04800000, 0x00006180,
- 0x04ca0004, 0x00004980, 0x03a81402, 0x00008038, 0x1dc00000, 0x000007e0,
- 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8,
- 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8, 0x9d94728e, 0x0000e100,
- 0xdd80a288, 0x00004080, 0x99800a3e, 0x0000e080, 0xa140939c, 0x00000180,
- 0xc0000f3d, 0x00006583, 0xdd39e73c, 0x00008901, 0xa0c00a3e, 0x00006080,
- 0x1d61e43c, 0x00000901, 0x00142846, 0x00009502, 0xffffffff, 0x00007f86,
- 0x00007090, 0x0000f010, 0x000070c7, 0x0000f028, 0x99802302, 0x0000e780,
- 0x08023865, 0x0000a302, 0x04804065, 0x00006784, 0x9dc0939c, 0x00008180,
- 0x04800012, 0x0000f900, 0x00000200, 0x00000380, 0x1e822044, 0x00006100,
- 0x45133012, 0x00006107, 0x1ec22845, 0x0000e100, 0xa100939c, 0x00004180,
- 0x9d632c65, 0x00001901, 0x000808ec, 0x0000d780, 0x00004800, 0x00008080,
- 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x0018d0ec, 0x00005780,
- 0x00884941, 0x00000188, 0x6a800daa, 0x0000e181, 0xe2c0378b, 0x00000181,
- 0x5942059c, 0x00009283, 0x80001664, 0x00009583, 0xffffffff, 0x00007f86,
- 0x0000706d, 0x00007008, 0x00006f5d, 0x0000f008, 0x1d000874, 0x00006380,
- 0x0b81b466, 0x00002006, 0x19b9ec66, 0x00006001, 0x10000883, 0x0000a403,
- 0x1d3fd874, 0x0000f900, 0x003ffffe, 0x00008280, 0x19400d3d, 0x0000e181,
- 0x19807c66, 0x00000281, 0x0e3e7838, 0x00007900, 0x003ffffe, 0x00008280,
- 0x20ab2074, 0x0000e000, 0x24a33036, 0x0000b007, 0x20450285, 0x00006000,
- 0x8f800a3e, 0x00000080, 0xcf99f73d, 0x00006000, 0x1939ee3d, 0x00000101,
- 0xe0c00000, 0x00006181, 0x4f400d3d, 0x00004181, 0x00000465, 0x00006583,
- 0x8f79ee3d, 0x00008101, 0x00000464, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00006f55, 0x00007008, 0x00006f55, 0x00007008, 0x19808466, 0x00001080,
- 0x38401466, 0x00001881, 0xffffffff, 0x00007fc7, 0x11020300, 0x0000f904,
- 0x11820300, 0x00007904, 0x09823c64, 0x0000e804, 0x19400c64, 0x00009181,
- 0x00001c65, 0x00009583, 0x00007083, 0x0000f01b, 0x8023263d, 0x00009503,
- 0xcf632464, 0x00001921, 0x00006f55, 0x00007029, 0x800002ac, 0x00006582,
- 0xb9156aad, 0x00008900, 0x0700e388, 0x00006000, 0x99000000, 0x00008980,
- 0x99000800, 0x00001988, 0xffffffff, 0x00007f86, 0x92632074, 0x0000e800,
- 0x00000000, 0x0000f081, 0x08045865, 0x0000ea06, 0xdc401465, 0x0000c491,
- 0xa4c01b9c, 0x00001cb1, 0x1c318966, 0x0000c519, 0x9ed44166, 0x0000f712,
- 0x6ee46d0e, 0x00007300, 0x01000800, 0x00001980, 0xb9156aad, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0xc000939c, 0x00009582,
- 0x01018438, 0x00001283, 0x4102059c, 0x00001283, 0x00007120, 0x0000f010,
- 0x00007113, 0x0000f010, 0x00007113, 0x0000f008, 0x01040492, 0x00006283,
- 0x03c00000, 0x00008980, 0x04800000, 0x00006180, 0x0000180f, 0x0000e106,
- 0x99402302, 0x0000e780, 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900,
- 0x000371c0, 0x00008980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
- 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x04000000, 0x0000e180,
- 0x45132812, 0x00006107, 0x04c00004, 0x00006180, 0x03801002, 0x00004900,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x00006f0b, 0x00007408, 0x20800000, 0x000088cc,
- 0x19c00800, 0x0000e188, 0x080458ab, 0x00006216, 0x19c00000, 0x00009980,
- 0x00001cab, 0x00001583, 0x19c00800, 0x00009988, 0x80001664, 0x00006583,
- 0x1d61e43c, 0x00000901, 0xe2c0378b, 0x00006181, 0x92633874, 0x0000a000,
- 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x00006f30, 0x0000f410,
- 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188, 0xdd39e73c, 0x00001901,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x000808ec, 0x0000d780,
- 0x00004800, 0x00008080, 0x2ac0409d, 0x0000e780, 0x0187f8e0, 0x00000980,
- 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x048000ab, 0x00007900,
- 0x00000200, 0x00000380, 0xd0000874, 0x0000e400, 0x30000883, 0x00003401,
- 0x82332006, 0x00006004, 0x45132812, 0x00003107, 0x0018d0ec, 0x00005780,
- 0x00884941, 0x00000188, 0x01000802, 0x0000e180, 0x01400000, 0x00004980,
- 0x01c64000, 0x000000f3, 0x2004e89d, 0x00006100, 0xe2c0378b, 0x0000c181,
- 0x1d000874, 0x00006380, 0x0b81b467, 0x0000a006, 0x2af9ec67, 0x00006001,
- 0x10000883, 0x0000a403, 0x1d3fd874, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x19400d3d, 0x0000e181, 0x19c07cab, 0x00000281, 0x0e3e7838, 0x00007900,
- 0x003ffffe, 0x00008280, 0x20ab2074, 0x0000e000, 0x24a33836, 0x00003007,
- 0x20400000, 0x00006180, 0x8f800a3e, 0x0000c080, 0xcf99f73d, 0x00006000,
- 0x1939ee3d, 0x00000101, 0xe0c00000, 0x00006181, 0x4f400d3d, 0x00004181,
- 0x00000465, 0x00006583, 0x8f79ee3d, 0x00008101, 0x00000464, 0x00001583,
- 0xffffffff, 0x00007f86, 0x00006f55, 0x00007008, 0x00006f55, 0x00007008,
- 0x2ac08467, 0x00001080, 0x384014ab, 0x00009881, 0xffffffff, 0x00007fc7,
- 0x11020300, 0x0000f904, 0x11820300, 0x00007904, 0x09823c64, 0x0000e804,
- 0x19c00c64, 0x00001181, 0x00001c67, 0x00001583, 0x01232464, 0x00001918,
- 0x00007084, 0x0000f019, 0x8023263d, 0x00009503, 0xcf632464, 0x00001921,
- 0x00006ed5, 0x0000f021, 0x800002ac, 0x00006582, 0xb9156aad, 0x00008900,
- 0x59200000, 0x000083f5, 0x0700e388, 0x00006000, 0x99000800, 0x00008988,
- 0xffffffff, 0x00007f86, 0x92632074, 0x0000e800, 0x00000000, 0x0000f081,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x000808ec, 0x0000d780,
- 0x00004800, 0x00008080, 0x19c0409d, 0x0000e780, 0x0187f8e0, 0x00000980,
- 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x04800067, 0x00007900,
- 0x00000200, 0x00000380, 0xd0000874, 0x0000e400, 0x30000883, 0x00003401,
- 0x82332006, 0x00006004, 0x45133012, 0x00003107, 0x0018d0ec, 0x00005780,
- 0x00884941, 0x00000188, 0x01000802, 0x0000e180, 0x01400000, 0x00004980,
- 0x00006eb1, 0x0000f400, 0x01c64000, 0x000000f3, 0x2004e89d, 0x00006100,
- 0xe2c0378b, 0x0000c181, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0461f000, 0x0000f900,
- 0x002b14d4, 0x00008980, 0xc1000064, 0x00008094, 0x82e00500, 0x0000802e,
- 0x0338e702, 0x00000108, 0x81c01000, 0x00009980, 0x6f8520b1, 0x0000f300,
- 0x03c02004, 0x00009900, 0x2ad1f325, 0x0000e100, 0x8187fb3e, 0x00000280,
- 0x000040ab, 0x00006582, 0x99c80000, 0x00000980, 0x0461f625, 0x0000e151,
- 0x04404000, 0x000009b9, 0x19400034, 0x00007900, 0x00000010, 0x00008082,
- 0x81d03267, 0x00006100, 0x03000035, 0x00000084, 0x01020438, 0x00006283,
- 0x01802206, 0x00000880, 0x2ac02000, 0x00006191, 0x2ac04000, 0x00004989,
- 0x0140f806, 0x00006784, 0x04f20004, 0x00000980, 0x01003040, 0x0000e002,
- 0x4f608c11, 0x00008901, 0x03c02841, 0x0000e004, 0x03832865, 0x00008900,
- 0x01400440, 0x00006180, 0x0340600c, 0x00004900, 0x01800000, 0x0000f900,
- 0x000014c4, 0x00000980, 0x814024ab, 0x0000e080, 0xc4d81302, 0x00004900,
- 0x19800000, 0x0000f900, 0x00007fc0, 0x00000980, 0x80255a07, 0x00006502,
- 0x00102806, 0x0000a106, 0x998024ab, 0x0000e080, 0x81680500, 0x00004900,
- 0x75e80005, 0x00006901, 0xc1c7fb3e, 0x00001282, 0xffffffff, 0x00007f86,
- 0x000073ca, 0x00007028, 0x0000741f, 0x0000f008, 0x703830ec, 0x0000d600,
- 0x00382800, 0x00008000, 0x703820ec, 0x00005600, 0x00387800, 0x00008000,
- 0x703b30ec, 0x0000d600, 0x00389800, 0x00000000, 0x04800000, 0x000000fc,
- 0x01000000, 0x00001981, 0x00c002ec, 0x0000df80, 0x16dda00b, 0x00009684,
- 0x00000c04, 0x00009583, 0x00007294, 0x0000f00b, 0x8f655cab, 0x00006101,
- 0x09823c67, 0x00006004, 0x01000c67, 0x00001181, 0x00001c04, 0x00001583,
- 0x01233c67, 0x00006118, 0x09823f3d, 0x00006034, 0x38424000, 0x0000e1b1,
- 0x20000836, 0x00006437, 0x00007084, 0x00007018, 0xb9c0939c, 0x000078d3,
- 0xa3400000, 0x0000b783, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0459f800, 0x0000f900,
- 0x003e3c98, 0x00008980, 0x8100079c, 0x00000094, 0x82e00500, 0x0000802e,
- 0x00006f83, 0x0000f400, 0x0338e702, 0x00000108, 0x81c01000, 0x00009980,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04622000, 0x00007900, 0x002089e8, 0x00008980,
- 0xc1000067, 0x00008094, 0x82e00500, 0x0000802e, 0x033cbf02, 0x00000108,
- 0x81c01000, 0x00009980, 0x6fd820b1, 0x00007300, 0x03c02004, 0x00009900,
- 0x00002c64, 0x00001583, 0xc000739c, 0x00001582, 0xffffffff, 0x00007f86,
- 0x000071dc, 0x0000f010, 0x0000716c, 0x0000f050, 0x0e018038, 0x0000e380,
- 0x03c00000, 0x00008980, 0x1900e538, 0x00006281, 0x0000180f, 0x00002106,
- 0x00002464, 0x00006583, 0x1d000008, 0x00000980, 0x1d400000, 0x000007f0,
- 0x0318b000, 0x00007900, 0x00037140, 0x00000980, 0x03400000, 0x00007900,
- 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
- 0x01000802, 0x0000e180, 0xc000180f, 0x00006006, 0x01400000, 0x00006180,
- 0x0197f840, 0x00004980, 0x01c00000, 0x000001c0, 0x04800000, 0x00006180,
- 0x04ca0004, 0x00004980, 0x03a81402, 0x00008038, 0x1dc00000, 0x000007e0,
- 0x1e400000, 0x000007e8, 0x1ec00000, 0x000007f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x9d94728e, 0x0000e100,
- 0xdd808288, 0x0000c080, 0x0000713f, 0x0000f410, 0xaac0739c, 0x0000e180,
- 0xdd39e73c, 0x00008901, 0x9f01e038, 0x00000714, 0x00155854, 0x00009502,
- 0x1900d800, 0x0000e1a8, 0x04804057, 0x000047a0, 0x04800012, 0x00007920,
- 0x00000200, 0x00000380, 0x00007136, 0x0000f028, 0x99002302, 0x00006780,
- 0x1e82a855, 0x00008900, 0x1542aaab, 0x0000e002, 0x45132012, 0x00002107,
- 0x9d62bc57, 0x00006101, 0x9dc0739c, 0x0000c180, 0x1ec2b056, 0x0000e100,
- 0x19155854, 0x00004100, 0x15800056, 0x00006084, 0x15155854, 0x00008100,
- 0x5942059c, 0x00009283, 0x00000064, 0x00001582, 0xffffffff, 0x00007f86,
- 0x00007041, 0x0000f008, 0x00007135, 0x00007010, 0x0e387838, 0x00007900,
- 0x003ffffe, 0x00008280, 0x00000438, 0x0000e583, 0x2ac00c3c, 0x00008081,
- 0x0f000c3c, 0x00006081, 0x1d400c3c, 0x00008081, 0x00007041, 0x0000f049,
- 0x002124ab, 0x00001503, 0x00007041, 0x0000f00b, 0xc03d833a, 0x0000f900,
- 0x00000002, 0x00008582, 0x8e010618, 0x0000e283, 0xce800000, 0x000009b8,
- 0x1603fc23, 0x00006291, 0x15001002, 0x00000910, 0xaac01b3a, 0x0000e790,
- 0x0e803c23, 0x00008791, 0x000070ee, 0x0000f008, 0xd518143a, 0x0000e300,
- 0x95c3fc23, 0x00008280, 0x0e803000, 0x00009981, 0x3782aa57, 0x00007902,
- 0x15800000, 0x00008100, 0xffffffff, 0x00007fa7, 0x0002a056, 0x00009502,
- 0x000070e6, 0x00007013, 0x0022ac24, 0x00009503, 0x8e804c58, 0x0000e0f0,
- 0x60001838, 0x0000e4f4, 0xce82833a, 0x000060f0, 0x99d55a3a, 0x00000070,
- 0x000070e6, 0x00007058, 0x383b2667, 0x00003138, 0x37baa667, 0x0000b138,
- 0x37fab067, 0x0000b138, 0x37fac267, 0x0000b138, 0xce132a65, 0x00006100,
- 0x65bb2036, 0x00006001, 0x37fad467, 0x00003138, 0x37fae667, 0x0000b138,
- 0x383af067, 0x00003138, 0x383b0267, 0x00003138, 0x383b1467, 0x0000b138,
- 0x8e9b2b65, 0x00006100, 0xa2ab2038, 0x0000e004, 0x4f232464, 0x00009901,
- 0x000808ec, 0x0000d780, 0x00004800, 0x00008080, 0x99020636, 0x0000e283,
- 0x6a800daa, 0x00008181, 0x001018ec, 0x00005780, 0x00884980, 0x00000180,
- 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188, 0x00006ed5, 0x0000f208,
- 0xe2c0378b, 0x00009181, 0x5902059c, 0x00001283, 0x00006ed5, 0x0000700b,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x2ac04057, 0x0000e780,
- 0x99c02302, 0x00000780, 0x048000ab, 0x00007900, 0x00000200, 0x00000380,
- 0x81803800, 0x0000e181, 0x45133812, 0x0000e107, 0x83064000, 0x00009981,
- 0xe2c0378b, 0x00009181, 0x000808ec, 0x0000d780, 0x00004800, 0x00008080,
- 0x800002ac, 0x00006582, 0xb9156aad, 0x00008900, 0x0700e388, 0x00006000,
- 0x99000000, 0x00008980, 0x99000800, 0x00001988, 0x001018ec, 0x00005780,
- 0x00884980, 0x00000180, 0x92632074, 0x0000e800, 0x0018d0ec, 0x00005780,
- 0x00884941, 0x00000188, 0x00000000, 0x00007080, 0x19c00000, 0x0000e180,
- 0x21001340, 0x00004980, 0x707b67ad, 0x0000f100, 0x19d42284, 0x00001900,
- 0x00023067, 0x00001502, 0x1193b846, 0x00001110, 0x0000712b, 0x0000f009,
- 0x11022277, 0x00009002, 0xc000073d, 0x0000e583, 0x11400045, 0x00000084,
- 0x00006ed5, 0x00007013, 0x8f800a3e, 0x00006080, 0xaac00a3e, 0x00000080,
- 0x707b67ad, 0x00007500, 0x21001000, 0x00007900, 0x00008140, 0x00000980,
- 0x19d55aab, 0x00001900, 0x800002ac, 0x00006582, 0xb9156aad, 0x00008900,
- 0x0700e388, 0x00006000, 0x99000000, 0x00008980, 0x99000800, 0x00001988,
- 0xffffffff, 0x00007f86, 0x92632074, 0x0000e800, 0x00000000, 0x0000f081,
- 0x01232464, 0x00001900, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0470f000, 0x0000f900,
- 0x003d53c4, 0x00008980, 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901,
- 0x82f81400, 0x00008030, 0x709020b1, 0x0000f500, 0x84b8263e, 0x0000003c,
- 0x81c01000, 0x00009980, 0x99802302, 0x0000e780, 0x08023867, 0x00002302,
- 0x04804067, 0x0000e784, 0x1e822044, 0x00008900, 0x00142846, 0x00006502,
- 0x1ec22845, 0x00000900, 0x04800012, 0x0000f900, 0x00000200, 0x00000380,
- 0x9d633c67, 0x00006101, 0x45133012, 0x00006107, 0x000070e3, 0x0000f220,
- 0x19c23046, 0x00006100, 0xa100939c, 0x000041a8, 0x000808ec, 0x0000d780,
- 0x00004800, 0x00008080, 0x001018ec, 0x00005780, 0x00884980, 0x00000180,
- 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188, 0x9dd33a67, 0x00001900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xcf400f3d, 0x0000e181,
- 0x0b81b4ab, 0x0000a006, 0xc000073d, 0x0000e583, 0x19c00cab, 0x00000081,
- 0x11020300, 0x0000f904, 0x6a800daa, 0x0000e181, 0x24a33836, 0x0000a007,
- 0xe2c0378b, 0x00006181, 0xa1123284, 0x00008100, 0x000070dd, 0x00007408,
- 0x11820300, 0x00007904, 0x8f400e3d, 0x0000e181, 0xcf800b3e, 0x00000080,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x19542284, 0x0000e100,
- 0x080238ab, 0x0000e302, 0x048040ab, 0x0000e784, 0x99802302, 0x00008780,
- 0x00023065, 0x00006502, 0xdd9bb277, 0x00008000, 0x04800012, 0x0000f900,
- 0x00000200, 0x00000380, 0x1e822044, 0x00006100, 0x45133012, 0x00006107,
- 0x0000709d, 0x00007418, 0x1efa3745, 0x0000861c, 0x9dd42284, 0x00006130,
- 0x9d655cab, 0x00004901, 0x00006ea4, 0x0000f000, 0x707b67ad, 0x00007500,
- 0x21001000, 0x00007900, 0x00008140, 0x00000980, 0x19d33266, 0x00006100,
- 0x8f800a3e, 0x0000c080, 0x0000707b, 0x00007000, 0x70cf6d0e, 0x00007300,
- 0x01000800, 0x00001980, 0xb9156aad, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x047a9800, 0x00007900,
- 0x001df482, 0x00000980, 0x8100079c, 0x00000094, 0x82e00500, 0x0000802e,
- 0x00006f83, 0x0000f400, 0x0338e702, 0x00000108, 0x81c01000, 0x00009980,
- 0x8f800a3e, 0x00006080, 0xaac00a3e, 0x00000080, 0x0000706c, 0x0000f400,
- 0x21001000, 0x00007900, 0x00008140, 0x00000980, 0x19d55aab, 0x00001900,
- 0x00006ea4, 0x00007400, 0xa100939c, 0x00001180, 0x9dd42284, 0x00001900,
- 0x0e800c3a, 0x00009183, 0x15400002, 0x00001990, 0xd5680500, 0x00001910,
- 0x00007107, 0x0000f008, 0x770000ec, 0x00005680, 0x003aa800, 0x00008000,
- 0x00c002ec, 0x0000df80, 0x1701400b, 0x00001684, 0x21800540, 0x00001980,
- 0x1980033a, 0x0000f900, 0x0000000c, 0x00008080, 0xa1a80500, 0x0000e100,
- 0x19c0f866, 0x00004784, 0x2141a066, 0x0000e002, 0x75e80086, 0x0000a101,
- 0x700280ec, 0x0000d680, 0x003c34c4, 0x00008010, 0x2101a867, 0x00006004,
- 0x19b00004, 0x00000980, 0x04181066, 0x00006987, 0x703c28ec, 0x00005600,
- 0x003c2000, 0x00008000, 0x700280ec, 0x0000d680, 0x003b37c0, 0x00000078,
- 0x00c002ec, 0x0000df80, 0x1708000b, 0x00009684, 0x65bb2036, 0x00006001,
- 0x60001838, 0x00003484, 0x8e032965, 0x0000032a, 0x00007041, 0x0000f400,
- 0x4f232464, 0x0000e101, 0xa2ab2038, 0x0000e004, 0xce82833a, 0x00001080,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0463e800, 0x00007900, 0x003db776, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x711320b1, 0x0000f500, 0xc4812023, 0x0000803f, 0x81c01000, 0x00009980,
- 0x01c00020, 0x00006180, 0x0f01c4ab, 0x00006002, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04449000, 0x00007900, 0x000d0668, 0x00008980,
- 0x01400000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108, 0x81c01000, 0x0000e180,
- 0x01255cab, 0x00004900, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x047a8800, 0x0000f900,
- 0x0022f282, 0x00000980, 0x8100079c, 0x00000094, 0x82e00500, 0x0000802e,
- 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108, 0x81c01000, 0x00009980,
- 0xcf800b3e, 0x00006080, 0x0b81b4ab, 0x0000a006, 0x11020300, 0x0000f904,
- 0x19c00cab, 0x00006081, 0xcf400f3d, 0x00008181, 0x11820300, 0x00007904,
- 0x8f400e3d, 0x0000e181, 0x24a33836, 0x0000a007, 0xb540073d, 0x00007893,
- 0xab400000, 0x00003883, 0x1900d800, 0x00009980, 0x71376e36, 0x00007100,
- 0x800002ac, 0x00006582, 0xb9156aad, 0x00008900, 0x0700e388, 0x00006000,
- 0x99000000, 0x00008980, 0x99000800, 0x00001988, 0xffffffff, 0x00007f86,
- 0x92632074, 0x0000e800, 0x00000000, 0x0000f081, 0x0e01c412, 0x0000e802,
- 0x04801412, 0x00001881, 0x7842a412, 0x00001081, 0xffffffff, 0x00007fc7,
- 0x15020b00, 0x0000f904, 0x15820b00, 0x00007904, 0x04804057, 0x00006780,
- 0x99002302, 0x00000780, 0x04800012, 0x0000f900, 0x00000200, 0x00000380,
- 0x9d62bc57, 0x00006101, 0x45132012, 0x0000e107, 0x993aaeab, 0x00008728,
- 0x0002a064, 0x0000e502, 0x1ec2b056, 0x00000900, 0x9dd2a254, 0x00006118,
- 0x1982a054, 0x0000c900, 0x000808ec, 0x0000d798, 0x00004800, 0x00008080,
- 0x00007244, 0x0000f030, 0x001018ec, 0x00005780, 0x00884980, 0x00000180,
- 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
- 0x00000000, 0x00008080, 0x6a800daa, 0x0000e181, 0x0e01c464, 0x00002002,
- 0x19000c64, 0x00006081, 0xe2c0378b, 0x00000181, 0xaad2a2ab, 0x0000e100,
- 0x19001c64, 0x00000281, 0x82232038, 0x0000e802, 0x0d81c465, 0x00006804,
- 0x00232c64, 0x00001503, 0x00007237, 0x0000f00b, 0x15020b00, 0x0000f904,
- 0x15820b00, 0x00007904, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x00007145, 0x0000f200, 0xdd9bb277, 0x00001000, 0xc000739c, 0x00001582,
- 0x80000284, 0x00009582, 0x5902059c, 0x00001283, 0x000071d1, 0x00007010,
- 0x000071c6, 0x00007010, 0x000071c6, 0x00007008, 0x00000054, 0x00001582,
- 0x2ac00c3c, 0x00006089, 0x1900d800, 0x00008990, 0x0f000c3c, 0x00001089,
- 0x00007136, 0x00007010, 0x0e39f838, 0x00007900, 0x003ffffe, 0x00008280,
- 0x00000438, 0x00001583, 0x000071a3, 0x0000f04b, 0x002124ab, 0x00001503,
- 0x000071a3, 0x0000700b, 0xc03d833a, 0x0000f900, 0x00000002, 0x00008582,
- 0x81010618, 0x0000e283, 0xce800000, 0x000009b8, 0x0303fc23, 0x0000e291,
- 0x01c01002, 0x00000910, 0xaac01b3a, 0x0000e790, 0x01003c23, 0x00000791,
- 0x0000746b, 0x0000f008, 0xc1d83c04, 0x00006300, 0x8343fc23, 0x00008280,
- 0x01003000, 0x00001981, 0x3780320d, 0x00007902, 0x01400000, 0x00008100,
- 0xffffffff, 0x00007fa7, 0x00003805, 0x00009502, 0x00007463, 0x00007013,
- 0x00203424, 0x00009503, 0x81004c0c, 0x000098f0, 0x99d55a04, 0x00001070,
- 0x00007463, 0x00007058, 0x37baa667, 0x0000b138, 0x37fab067, 0x0000b138,
- 0x37fac267, 0x0000b138, 0x37fad467, 0x00003138, 0x37fae667, 0x0000b138,
- 0x383af067, 0x00003138, 0x383b0267, 0x00003138, 0x383b1467, 0x0000b138,
- 0x383b2667, 0x00003138, 0xce82833a, 0x0000e080, 0x60001838, 0x0000a484,
- 0xffffffff, 0x00007f97, 0xce132a65, 0x00006100, 0x65bb2036, 0x00006001,
- 0x8e9b2b65, 0x00006100, 0xa2ab2038, 0x0000e004, 0x4f232464, 0x00009901,
- 0x01040492, 0x00006283, 0x03c00000, 0x00008980, 0x04800000, 0x00006180,
- 0x0000180f, 0x0000e106, 0x99c02302, 0x00006780, 0xc000180f, 0x0000a006,
- 0x0318b000, 0x00007900, 0x000371c0, 0x00008980, 0x03400000, 0x00007900,
- 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
- 0x04000000, 0x0000e180, 0x45133812, 0x0000e107, 0x04c00004, 0x00006180,
- 0x03801002, 0x00004900, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x000071c1, 0x00007408,
- 0x20800000, 0x000088cc, 0x19c00800, 0x0000e188, 0x080458ab, 0x00006216,
- 0x19c00000, 0x00009980, 0x00001cab, 0x00001583, 0x19c00800, 0x00009988,
- 0xe2c0378b, 0x00006181, 0x1d61e43c, 0x00000901, 0x0000705f, 0x0000f400,
- 0x92633874, 0x0000e800, 0xdd39e73c, 0x00001901, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0446e800, 0x0000f900, 0x003640e4, 0x00000980, 0x810006ae, 0x00000094,
- 0x82e00500, 0x0000802e, 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108,
- 0x81c01000, 0x00009980, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0475e800, 0x0000f900,
- 0x003ebb32, 0x00008980, 0x8100079c, 0x00000094, 0x82e00500, 0x0000802e,
- 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108, 0x81c01000, 0x00009980,
- 0xc000f39c, 0x00009582, 0x01000802, 0x00006188, 0x01400000, 0x0000c988,
- 0x0197f840, 0x0000e188, 0x01c00000, 0x00004988, 0x000074a4, 0x0000f010,
- 0x03c00000, 0x00006180, 0x2ac0405b, 0x00004780, 0x5902059c, 0x0000e283,
- 0x0000180f, 0x00002106, 0x048000ab, 0x00007900, 0x00000200, 0x00000380,
- 0x99c02302, 0x00006780, 0x1d00000a, 0x00008980, 0x1d400000, 0x000087f8,
- 0x0318b000, 0x00007900, 0x00037140, 0x00000980, 0x03400000, 0x00007900,
- 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
- 0xc000180f, 0x00006006, 0x45133812, 0x0000b107, 0x04000000, 0x0000e180,
- 0x04ca0004, 0x00004980, 0x03a81402, 0x00008038, 0x1dc00008, 0x000087e0,
- 0x1e400000, 0x000007fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x9d94728e, 0x0000e100, 0xdd80c288, 0x00004080, 0x1ebad759, 0x0000872c,
- 0x9f0d1aa3, 0x00000731, 0x9f1d1ca3, 0x00008731, 0x9f4d12a2, 0x00000735,
- 0x9f5d14a2, 0x00008735, 0x6a800daa, 0x0000e181, 0xe2c0378b, 0x00000181,
- 0x2ac00c3c, 0x0000e081, 0xdd39e73c, 0x00008901, 0x00007497, 0x00007408,
- 0x1d400c3c, 0x0000e081, 0x9d62dc5b, 0x00008901, 0x0f000c3c, 0x0000e091,
- 0x9f99c338, 0x00008900, 0x0e39f838, 0x00007900, 0x003ffffe, 0x00008280,
- 0x00000438, 0x00001583, 0x0000705d, 0x0000f04b, 0x002124ab, 0x00001503,
- 0x0000705d, 0x0000700b, 0xc03d833a, 0x0000f900, 0x00000002, 0x00008582,
- 0x8e010618, 0x0000e283, 0xce800000, 0x000009b8, 0x15c3fc23, 0x00006291,
- 0x15801002, 0x00008910, 0x99c01b3a, 0x0000e790, 0x0e803c23, 0x00008791,
- 0x000074af, 0x00007008, 0xd598143a, 0x00006300, 0x9603fc23, 0x00008280,
- 0x0e803000, 0x00009981, 0x3782aa58, 0x00007902, 0x15000000, 0x00000100,
- 0xffffffff, 0x00007fa7, 0x0002b054, 0x00009502, 0x0000729f, 0x00007013,
- 0x0022ac24, 0x00009503, 0x8e804c57, 0x000098f0, 0xaad33a3a, 0x00009070,
- 0x0000729f, 0x00007058, 0x37baa6ab, 0x0000b138, 0x37fab0ab, 0x0000b138,
- 0x37fac2ab, 0x0000b138, 0x37fad4ab, 0x00003138, 0x37fae6ab, 0x0000b138,
- 0x383af0ab, 0x00003138, 0x383b02ab, 0x00003138, 0x383b14ab, 0x0000b138,
- 0x383b26ab, 0x00003138, 0xce82833a, 0x0000e080, 0x60001838, 0x0000a484,
- 0xffffffff, 0x00007f97, 0xce132a65, 0x00006100, 0x65bb2036, 0x00006001,
- 0x0000705d, 0x00007400, 0x8e9b2b65, 0x00006100, 0xa2ab2038, 0x0000e004,
- 0x4f232464, 0x00009901, 0x01155aab, 0x00001900, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04482800, 0x00007900, 0x002ae2a6, 0x00000980, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x00006fd6, 0x0000f400, 0x82f81400, 0x00008030,
- 0x81c01000, 0x0000e180, 0x0484b897, 0x0000c900, 0x1542aaab, 0x0000e002,
- 0x9dd55aab, 0x00008900, 0x19d55854, 0x0000e100, 0x15800056, 0x00000084,
- 0x5942059c, 0x00006283, 0x15155854, 0x00008100, 0x00000067, 0x00001582,
- 0xffffffff, 0x00007f86, 0x0000728b, 0x00007008, 0x0000727f, 0x0000f010,
- 0x0e387838, 0x00007900, 0x003ffffe, 0x00008280, 0x00000438, 0x0000e583,
- 0x1d400c3c, 0x00008081, 0x0f000c3c, 0x00006081, 0x2ac00c3c, 0x00008081,
- 0x0000727d, 0x00007049, 0x002124ab, 0x00001503, 0x0000727d, 0x0000700b,
- 0xc03d833a, 0x0000f900, 0x00000002, 0x00008582, 0x8e010618, 0x0000e283,
- 0xce800000, 0x000009b8, 0x1603fc23, 0x00006291, 0x15801002, 0x00008910,
- 0xaac01b3a, 0x0000e790, 0x0e803c23, 0x00008791, 0x00007485, 0x0000f008,
- 0xd598143a, 0x00006300, 0x95c3fc23, 0x00008280, 0x0e803000, 0x00009981,
- 0x3782aa57, 0x00007902, 0x15000000, 0x00000100, 0xffffffff, 0x00007fa7,
- 0x0002b054, 0x00009502, 0x0000747d, 0x00007013, 0x0022ac24, 0x00009503,
- 0x8e804c58, 0x000098f0, 0x99d55a3a, 0x00009070, 0x0000747d, 0x00007058,
- 0x37baa667, 0x0000b138, 0x37fab067, 0x0000b138, 0x37fac267, 0x0000b138,
- 0x37fad467, 0x00003138, 0x37fae667, 0x0000b138, 0x383af067, 0x00003138,
- 0x383b0267, 0x00003138, 0x383b1467, 0x0000b138, 0x383b2667, 0x00003138,
- 0xce82833a, 0x0000e080, 0x60001838, 0x0000a484, 0xffffffff, 0x00007f97,
- 0xce132a65, 0x00006100, 0x65bb2036, 0x00006001, 0x8e9b2b65, 0x00006100,
- 0xa2ab2038, 0x0000e004, 0x4f232464, 0x00009901, 0x0000705c, 0x0000f200,
- 0x6a800daa, 0x00001181, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04487000, 0x0000f900,
- 0x00119bbc, 0x00008980, 0x01155866, 0x00006100, 0x01400000, 0x00008980,
- 0x82e00500, 0x0000802e, 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108,
- 0x81c01000, 0x00009980, 0x00000067, 0x0000e582, 0x0e01c4ab, 0x00002002,
- 0x19c014ab, 0x00009891, 0x7842a467, 0x00001091, 0x00007422, 0x00007008,
- 0xffffffff, 0x00007f97, 0x0000727d, 0x00007403, 0x1042a500, 0x0000f904,
- 0x1042b500, 0x00007904, 0x00255c11, 0x00001503, 0x000074c1, 0x0000702b,
- 0x0119fb3f, 0x00006100, 0x01400a3f, 0x0000c180, 0x00002804, 0x00006502,
- 0x10009012, 0x00008900, 0x81000b3f, 0x000060c8, 0x81000000, 0x000009c0,
- 0x00006fb6, 0x0000f400, 0x1040780f, 0x00009900, 0xcfd02204, 0x00009900,
- 0x0e800c3a, 0x00009183, 0x15000002, 0x00009990, 0xd5280500, 0x00009910,
- 0x00007107, 0x0000f008, 0x770000ec, 0x00005680, 0x003aa000, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x1710e00b, 0x00001684, 0x4102059c, 0x0000e283,
- 0x03c00000, 0x00008980, 0x2ac00000, 0x0000e191, 0x2ac01000, 0x00004989,
- 0x19c0409d, 0x0000e780, 0x0000180f, 0x00002106, 0x1d004000, 0x0000e180,
- 0x41255838, 0x00006002, 0x04800067, 0x00007900, 0x00000200, 0x00000380,
- 0x1d400000, 0x000087dc, 0xaac02302, 0x00006780, 0xc000180f, 0x0000a006,
- 0x0318b000, 0x00007900, 0x00037140, 0x00000980, 0x03400000, 0x00007900,
- 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
- 0x01400000, 0x00006180, 0x45155812, 0x0000e107, 0x0197f840, 0x00006180,
- 0x01c00000, 0x0000c980, 0x04000000, 0x0000e180, 0x04ca0004, 0x00004980,
- 0x03a81402, 0x00008038, 0x1e000000, 0x000087e4, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x9d94728e, 0x0000e100, 0xdd808288, 0x0000c080, 0x1ebcf79f, 0x0000072c,
- 0x01000802, 0x0000e180, 0xdd39e73c, 0x00004901, 0x0000727d, 0x00007400,
- 0x1d74e83c, 0x00000715, 0x9dc0739c, 0x00009180, 0x0021e424, 0x00009503,
- 0x0eb1ee3d, 0x00009911, 0x0000733f, 0x00007009, 0xc03d833a, 0x0000f900,
- 0x00000002, 0x00008582, 0x80000e3d, 0x00006583, 0xce800000, 0x000009b8,
- 0x0000734a, 0x0000f01b, 0x2ac00000, 0x00001981, 0x8e010618, 0x00001283,
- 0x000004ab, 0x00001583, 0xffffffff, 0x00007f86, 0x00007326, 0x00007008,
- 0x000072f7, 0x0000f008, 0x15c00034, 0x0000f900, 0x00000010, 0x00008082,
- 0x15800035, 0x00006084, 0x16000400, 0x00008980, 0xc000033f, 0x00006582,
- 0x96280500, 0x00000900, 0xcfc00b3f, 0x00006190, 0xcfc00a3f, 0x00008188,
- 0x15300004, 0x00006180, 0x75e80058, 0x00006101, 0xc000033f, 0x00006582,
- 0x04181054, 0x0000a187, 0x0e800e3f, 0x0000e191, 0x0e800c3f, 0x00000189,
- 0x700040ec, 0x00005680, 0x003ac4c4, 0x00008010, 0x19c01c3a, 0x0000e080,
- 0x10820040, 0x0000c900, 0x15c33857, 0x00006002, 0x10c20841, 0x00008900,
- 0x15800056, 0x00009084, 0x703ab8ec, 0x00005600, 0x003ab000, 0x00008000,
- 0x700040ec, 0x00005680, 0x003aa7c0, 0x00008078, 0x00c002ec, 0x0000df80,
- 0x1717b80b, 0x00001684, 0x15801002, 0x0000e100, 0x0e803c23, 0x0000c781,
- 0xaac01b3a, 0x00006780, 0x15c3fc23, 0x00008281, 0x9603fc23, 0x0000e280,
- 0xd59ab43a, 0x00008300, 0x0e803000, 0x00009981, 0x3782aa58, 0x00007902,
- 0x15000000, 0x00000100, 0xffffffff, 0x00007fa7, 0x0002b054, 0x00009502,
- 0x00007356, 0x0000f013, 0x0022ac24, 0x00009503, 0x8e804c57, 0x000098f0,
- 0x99d55a3a, 0x00009070, 0x00007356, 0x0000f058, 0x37baa667, 0x0000b138,
- 0x37fab067, 0x0000b138, 0x37fac267, 0x0000b138, 0x37fad467, 0x00003138,
- 0x37fae667, 0x0000b138, 0x383af067, 0x00003138, 0x383b0267, 0x00003138,
- 0x383b1467, 0x0000b138, 0x383b2667, 0x00003138, 0x387b3067, 0x0000a180,
- 0xce82833a, 0x0000e080, 0x60001838, 0x0000a484, 0xffffffff, 0x00007f86,
- 0xce132a65, 0x00006100, 0x65bb2036, 0x00006001, 0x00033096, 0x0000e502,
- 0xa2ab2038, 0x00002004, 0x8e9b2065, 0x00008332, 0x01c00020, 0x0000e1e8,
- 0x01400000, 0x0000c9e8, 0x00006fd8, 0x0000f060, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04512000, 0x00007900, 0x003e2e76, 0x00008980,
- 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x732620b1, 0x00007500, 0x033cb702, 0x00008108, 0x03c33066, 0x00009900,
- 0x19c0033a, 0x00007900, 0x0000000c, 0x00008080, 0x2140f867, 0x00006784,
- 0x8e8ffd00, 0x00000280, 0x21c1a067, 0x0000e002, 0x22b00004, 0x00008980,
- 0x19c00540, 0x00006180, 0x2181a885, 0x00004004, 0x000004ab, 0x0000e583,
- 0x99e80500, 0x00000900, 0x23028000, 0x00007900, 0x00007fc0, 0x00000980,
- 0x21428000, 0x00007900, 0x000014c4, 0x00000980, 0x00007375, 0x0000f210,
- 0xe2981302, 0x00006100, 0x75d1d067, 0x0000e101, 0x700280ec, 0x0000d680,
- 0x003b3cc4, 0x00008010, 0x703c38ec, 0x0000d600, 0x003c3000, 0x00000000,
- 0x700280ec, 0x0000d680, 0x003c57c0, 0x00008078, 0x00c002ec, 0x0000df80,
- 0x1718880b, 0x00001684, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0473b000, 0x00007900,
- 0x0014936c, 0x00008980, 0xc1000024, 0x00000094, 0x82e00500, 0x0000802e,
- 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108, 0x81c01000, 0x00009980,
- 0x00000caf, 0x0000e583, 0x8f40263d, 0x00000c81, 0x0000735e, 0x0000703b,
- 0x99c7fb3e, 0x00001280, 0x1921d267, 0x00009000, 0x00080064, 0x00009582,
- 0x2ac00000, 0x0000e1b9, 0x19f1ea67, 0x00004038, 0x000072d6, 0x0000f051,
- 0x000072d7, 0x00007400, 0x00080067, 0x00009582, 0x2ac00800, 0x000099d1,
- 0x0e800c3a, 0x00009183, 0x15000002, 0x00009990, 0xd5280500, 0x00009910,
- 0x00007107, 0x0000f008, 0x770000ec, 0x00005680, 0x003aa000, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x1717f00b, 0x00001684, 0x8000163d, 0x00009583,
- 0x12020300, 0x0000f904, 0x12820300, 0x00007904, 0x00007368, 0x0000f030,
- 0x80001e3d, 0x00001583, 0x13020300, 0x00007904, 0x13820300, 0x0000f904,
- 0x00007368, 0x0000f030, 0x14020300, 0x0000f904, 0x14820300, 0x00007904,
- 0x0000734d, 0x0000f200, 0x20000836, 0x0000ec07, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x047ab800, 0x0000f900, 0x0026acea, 0x00008980, 0xc1000067, 0x00008094,
- 0x82e00500, 0x0000802e, 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108,
- 0x81c01000, 0x00009980, 0xc0000085, 0x00006406, 0x00000067, 0x00003586,
- 0x703c28ec, 0x00005600, 0x003b3800, 0x00000000, 0x703c38ec, 0x0000d600,
- 0x003c3000, 0x00000000, 0x21c00034, 0x00007900, 0x00000010, 0x00008082,
- 0x21800035, 0x0000e084, 0x19c00400, 0x00008980, 0xc000033f, 0x00006582,
- 0x99e80500, 0x00000900, 0xcfc00b3f, 0x00006190, 0xcfc00a3f, 0x00008188,
- 0x75d1d067, 0x0000e101, 0x00804085, 0x00003586, 0xc000033f, 0x00006582,
- 0x0000408c, 0x00002586, 0x0e800e3f, 0x0000e191, 0x0e800c3f, 0x00000189,
- 0x700280ec, 0x0000d680, 0x003c57c0, 0x00008078, 0x2ac01c3a, 0x0000e080,
- 0x10820040, 0x0000c900, 0x21c55887, 0x00006002, 0x10c20841, 0x00008900,
- 0x703c28ec, 0x00005600, 0x003b3800, 0x00000000, 0x21800086, 0x00009084,
- 0x703c38ec, 0x0000d600, 0x003c3000, 0x00000000, 0x703c60ec, 0x00005600,
- 0x003c5000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1718880b, 0x00001684,
- 0x0000706c, 0x0000f200, 0x19c00000, 0x0000e180, 0x21001320, 0x00004980,
- 0x01c00000, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x044db000, 0x0000f900, 0x00159122, 0x00008980,
- 0xc1000064, 0x00008094, 0x82e00500, 0x0000802e, 0x00006fd6, 0x0000f400,
- 0x033cbf02, 0x00000108, 0x41c01264, 0x0000009d, 0xc000739c, 0x00001582,
- 0x01018438, 0x00001283, 0x4102059c, 0x00001283, 0x000073b7, 0x0000f010,
- 0x000073ac, 0x0000f010, 0x000071a3, 0x00007010, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0452e800, 0x0000f900, 0x002604aa, 0x00008980, 0xc1000064, 0x00008094,
- 0x82e00500, 0x0000802e, 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108,
- 0x81c01000, 0x00009980, 0x01c00000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x047e9000, 0x00007900,
- 0x002be294, 0x00000980, 0x8100079c, 0x00000094, 0x82e00500, 0x0000802e,
- 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108, 0x41c01264, 0x0000009d,
- 0x85401764, 0x0000c288, 0x8ce02764, 0x00009c97, 0x2a018438, 0x00004596,
- 0x9502059c, 0x0000868e, 0x0000706c, 0x0000f400, 0x21001000, 0x00007900,
- 0x00001e40, 0x00000980, 0x19c00000, 0x00009980, 0xc1c7fb3e, 0x0000e282,
- 0xc0000006, 0x00002406, 0x81400000, 0x00009980, 0x000073f6, 0x00007011,
- 0x0319fb3f, 0x0000e100, 0x01000a3f, 0x00004180, 0x703830ec, 0x0000d600,
- 0x00382800, 0x00008000, 0x0000200c, 0x00006502, 0x10021042, 0x00008900,
- 0x703a10ec, 0x0000d600, 0x003a1800, 0x00000000, 0x703b30ec, 0x0000d600,
- 0x00389800, 0x00000000, 0x000073f4, 0x0000f208, 0x81000b3f, 0x0000e090,
- 0x10421843, 0x00000900, 0xcfc00b3f, 0x00009080, 0x01001a04, 0x00001880,
- 0x03832804, 0x00001002, 0x0300000d, 0x00001084, 0x03c00000, 0x000001c8,
- 0x03400000, 0x00001981, 0x00010805, 0x00006485, 0x00804006, 0x0000b586,
- 0x81680500, 0x00006100, 0x00004066, 0x00006586, 0x703830ec, 0x0000d600,
- 0x00382800, 0x00008000, 0x703870ec, 0x00005600, 0x00386000, 0x00008000,
- 0x703b30ec, 0x0000d600, 0x00389800, 0x00000000, 0x00c002ec, 0x0000df80,
- 0x171f680b, 0x00001684, 0xed800c0d, 0x00007893, 0x03400001, 0x00000000,
- 0x30655c11, 0x0000782b, 0xb3800000, 0x00003984, 0x0000706c, 0x0000f200,
- 0x19c00000, 0x0000e180, 0x21001060, 0x0000c980, 0x000073df, 0x00007200,
- 0x0320070d, 0x000083bd, 0x83402207, 0x00006080, 0x03800c07, 0x00004881,
- 0x837ffa0d, 0x00007900, 0x00000002, 0x00008280, 0x99802207, 0x0000e080,
- 0x00106806, 0x0000e106, 0x703830ec, 0x0000d600, 0x00382800, 0x00008000,
- 0x703820ec, 0x00005600, 0x00387800, 0x00008000, 0x01103cab, 0x00006100,
- 0x04821042, 0x00000900, 0x03c21843, 0x0000e100, 0x83402204, 0x00004880,
- 0x813ffa0d, 0x00007900, 0x00000002, 0x00008280, 0x0c002c04, 0x00006084,
- 0x00102006, 0x0000b106, 0x0119fb3f, 0x00006100, 0x03a0240e, 0x0000c001,
- 0x703b30ec, 0x0000d600, 0x00389800, 0x00000000, 0x03832865, 0x00006100,
- 0x04207005, 0x00006085, 0x99bffa0d, 0x0000f900, 0x00000002, 0x00008280,
- 0x03400a3f, 0x00001180, 0x703830ec, 0x0000d600, 0x00382800, 0x00008000,
- 0x00006804, 0x00001502, 0x703a10ec, 0x0000d600, 0x003a1800, 0x00000000,
- 0x703b30ec, 0x0000d600, 0x00389800, 0x00000000, 0x0000741d, 0x00007040,
- 0x01000b3f, 0x00001080, 0x01001804, 0x00009880, 0x03802065, 0x00001002,
- 0x0300000c, 0x00009084, 0x000073e1, 0x0000f200, 0x03400800, 0x00009981,
- 0x000073ce, 0x00007200, 0x81400000, 0x0000e180, 0xc0000006, 0x0000e406,
- 0x19c00cab, 0x00009081, 0x2ac01c67, 0x00009281, 0x82255838, 0x0000e802,
- 0x0d81c465, 0x00006804, 0x00232cab, 0x00001503, 0x01032064, 0x00009908,
- 0x0000727d, 0x0000f011, 0x00007238, 0x00007000, 0x800002ac, 0x00006582,
- 0x99000000, 0x00008980, 0x0700e388, 0x00006000, 0x99000800, 0x00008988,
- 0x00000000, 0x0000f480, 0xffffffff, 0x00007f86, 0x92632074, 0x0000e800,
- 0x2af9e73c, 0x0000e101, 0x1929273c, 0x00004100, 0x0021e864, 0x00009502,
- 0x19007c9c, 0x0000e2c9, 0xcf000f3c, 0x000000c9, 0x00007511, 0x00007041,
- 0x99a00c64, 0x0000c290, 0x76e1739c, 0x00001d90, 0x4e02339c, 0x0000f893,
- 0xc3800000, 0x00003a86, 0x03c00000, 0x00006180, 0x1d200180, 0x0000c980,
- 0x1d400000, 0x0000e180, 0x0000180f, 0x0000e106, 0x04800000, 0x00006180,
- 0x99c02302, 0x0000c780, 0x0318b000, 0x00007900, 0x00037180, 0x00000980,
+ 0x01000800, 0x0000f900, 0x00028000, 0x00008980, 0x6e696bfd, 0x00007404,
+ 0x04202804, 0x00006887, 0x01c02004, 0x00001900, 0xce800489, 0x0000c98b,
+ 0xe8c20647, 0x00001b94, 0x01003e47, 0x00001281, 0x00002404, 0x00009583,
+ 0x01401000, 0x0000e191, 0x01400000, 0x00004989, 0x01000800, 0x0000f900,
+ 0x0002c000, 0x00000980, 0x6e746bfd, 0x00007404, 0x04202804, 0x00006887,
+ 0x01c02004, 0x00001900, 0x01414021, 0x0000e100, 0x01000b31, 0x00008880,
+ 0x00002005, 0x00006502, 0x10000879, 0x00002401, 0x013fe01f, 0x0000e180,
+ 0x0000086c, 0x0000e46b, 0x1c87f800, 0x000061e9, 0x01298004, 0x00004800,
+ 0x1c014004, 0x00006000, 0xe000186c, 0x0000a403, 0x03c00000, 0x000001c8,
+ 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x81002302, 0x00006780,
+ 0x0000180f, 0x00002106, 0x0318b000, 0x00007900, 0x00037280, 0x00000980,
0x03400000, 0x00007900, 0x00018008, 0x00000980, 0x04401000, 0x00007900,
- 0x0001c000, 0x00000980, 0x0000e8ec, 0x0000d780, 0x00004801, 0x00000080,
- 0xc000180f, 0x00006006, 0x45133812, 0x0000b107, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1fc00000, 0x0000e180,
- 0x1f0518a3, 0x00004900, 0x1f7d0fa2, 0x00000738, 0x20fd3fa5, 0x00000804,
- 0x20bd27a6, 0x00000800, 0x04000000, 0x0000e180, 0x04c00004, 0x00004980,
- 0x03801002, 0x00006100, 0xdd000cab, 0x00004081, 0x1d61e43c, 0x00009901,
- 0x800002ac, 0x00006582, 0x99000000, 0x00008980, 0x99000800, 0x00006188,
- 0xe2c05f8b, 0x00004181, 0x001018ec, 0x00005780, 0x00884980, 0x00000180,
- 0x00000000, 0x0000f480, 0x0700e388, 0x00006000, 0x92632074, 0x0000a000,
- 0x0018d0ec, 0x00005780, 0x00884940, 0x00008188, 0x01000c04, 0x00009183,
- 0x01400002, 0x00001990, 0xc1680500, 0x00001910, 0x00007107, 0x0000f008,
- 0x770000ec, 0x00005680, 0x00382800, 0x00008000, 0x00c002ec, 0x0000df80,
- 0x170c480b, 0x00001684, 0x0100033a, 0x00007900, 0x0000000c, 0x00008080,
- 0x19c0f804, 0x00006784, 0x01f00004, 0x00008980, 0x0341a004, 0x00006002,
- 0x04181007, 0x0000a187, 0x0181a867, 0x00006004, 0x01000540, 0x00008980,
- 0x81280500, 0x00009900, 0x75e80004, 0x0000e901, 0x700280ec, 0x0000d680,
- 0x003824c4, 0x00008010, 0x703868ec, 0x00005600, 0x00383000, 0x00008000,
- 0x700280ec, 0x0000d680, 0x00383fc0, 0x00008078, 0x00c002ec, 0x0000df80,
- 0x170cd80b, 0x00001684, 0x0e800c3a, 0x00009183, 0x15000002, 0x00009990,
- 0xd5280500, 0x00009910, 0x00007107, 0x0000f008, 0x770000ec, 0x00005680,
- 0x003aa000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1713180b, 0x00009684,
- 0x1980033a, 0x0000f900, 0x0000000c, 0x00008080, 0x19c0f866, 0x0000e784,
- 0x21700004, 0x00008980, 0x21c1a066, 0x00006002, 0x04181085, 0x0000a187,
- 0x2101a867, 0x00006004, 0x19800540, 0x00000980, 0x99a80500, 0x00001900,
- 0x75e80066, 0x00006901, 0x700280ec, 0x0000d680, 0x003b34c4, 0x00000010,
- 0x703c38ec, 0x0000d600, 0x003c2000, 0x00008000, 0x700280ec, 0x0000d680,
- 0x003c2fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x1713a80b, 0x00001684,
- 0x01c00020, 0x00006180, 0x0804e467, 0x0000e006, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x044b7000, 0x0000f900, 0x00136810, 0x00000980,
- 0x01400000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108, 0x81c01000, 0x0000e180,
- 0x01233c67, 0x00004900, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x045c4800, 0x00007900,
- 0x0032ca66, 0x00000980, 0x8100079c, 0x00000094, 0x82e00500, 0x0000802e,
- 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108, 0x81c01000, 0x00009980,
- 0x1980033a, 0x0000f900, 0x0000000c, 0x00008080, 0x2ac0f866, 0x0000e784,
- 0x21700004, 0x00008980, 0x21c1a066, 0x00006002, 0x04181085, 0x0000a187,
- 0x2101a8ab, 0x00006004, 0x19800540, 0x00000980, 0x99a80500, 0x00001900,
- 0x75e80066, 0x00006901, 0x700280ec, 0x0000d680, 0x003b34c4, 0x00000010,
- 0x703c38ec, 0x0000d600, 0x003c2000, 0x00008000, 0x700280ec, 0x0000d680,
- 0x003c2fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x1711700b, 0x00009684,
- 0x09823c05, 0x00006804, 0x01000c05, 0x00009181, 0x00001c04, 0x00001583,
- 0x01202c05, 0x00001918, 0x01602c05, 0x00009930, 0x00007084, 0x00007018,
- 0x00103805, 0x00001502, 0x10809012, 0x0000e150, 0x10c0780f, 0x00004950,
- 0x2ae03c07, 0x00009951, 0x00007296, 0x00007038, 0x00006fb6, 0x00007000,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x047eb000, 0x0000f900, 0x000ce5aa, 0x00000980,
- 0x8100079c, 0x00000094, 0x82e00500, 0x0000802e, 0x00006fd6, 0x0000f400,
- 0x033cbf02, 0x00000108, 0x81c01000, 0x00009980, 0x19007ca1, 0x00009281,
- 0xa5a07ca1, 0x0000c194, 0x00e000a9, 0x00008090, 0xa5a000a8, 0x00004492,
- 0x44e038a5, 0x00009d92, 0x00c000a3, 0x00004790, 0x04201464, 0x00008590,
- 0xa5a72fa9, 0x0000c410, 0x5ae72fa8, 0x00001d12, 0xa44038a5, 0x0000c994,
- 0x3ee000a3, 0x00009d8a, 0x1d2041a0, 0x0000e180, 0x03c00000, 0x00004980,
- 0x19c040a3, 0x00006780, 0x41050874, 0x00002006, 0x1d400000, 0x0000e180,
- 0x0000180f, 0x0000e106, 0x04800067, 0x00007900, 0x00000200, 0x00000380,
- 0xdd000cab, 0x0000e081, 0xc000180f, 0x0000a006, 0xaac02302, 0x00006780,
- 0x1d800000, 0x00000980, 0x02084800, 0x0000f900, 0x0000c000, 0x00008980,
- 0x0318b000, 0x00007900, 0x00037180, 0x00000980, 0x03400000, 0x00007900,
- 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
- 0x001008ec, 0x0000d780, 0x00884f40, 0x00000280, 0x1dc04000, 0x0000e180,
- 0x45155812, 0x0000e107, 0x1e000000, 0x000087e4, 0x1fc00000, 0x000008c0,
- 0x20400000, 0x000008c8, 0x20c00000, 0x0000e180, 0x1e8528a5, 0x00004900,
- 0x1efd3fa4, 0x00008730, 0x1f7d17a6, 0x00008738, 0x01084802, 0x0000e180,
- 0x01400000, 0x00004980, 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980,
- 0x02808020, 0x00006180, 0x02c00000, 0x0000c980, 0x8254728e, 0x00006100,
- 0xc241c288, 0x00004080, 0x6a800daa, 0x0000e181, 0x04000000, 0x00000980,
- 0x04ca0004, 0x00006180, 0x83901202, 0x0000c900, 0x00007458, 0x0000f400,
- 0x0381e502, 0x00008714, 0x9d651ca3, 0x00001901, 0x0000706c, 0x0000f200,
- 0x19c00000, 0x0000e180, 0x21001040, 0x00004980, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0453e000, 0x0000f900, 0x0023056e, 0x00008980, 0xc1000064, 0x00008094,
- 0x82e00500, 0x0000802e, 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108,
- 0x81c01000, 0x00009980, 0x0000706c, 0x0000f200, 0x19c00000, 0x0000e180,
- 0x21001320, 0x00004980, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04579000, 0x0000f900,
- 0x00134cac, 0x00008980, 0x010007a5, 0x00008094, 0x82e00500, 0x0000802e,
- 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108, 0x81c01000, 0x00009980,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0450d000, 0x0000f900, 0x0018868c, 0x00008980,
- 0x010007a2, 0x00000094, 0x82e00500, 0x0000802e, 0x00006fd6, 0x0000f400,
- 0x033cbf02, 0x00000108, 0x81c01000, 0x00009980, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x045fb800, 0x00007900, 0x003c3d56, 0x00000980, 0x8100079c, 0x00000094,
- 0x82e00500, 0x0000802e, 0x00006fd6, 0x0000f400, 0x033cbf02, 0x00000108,
- 0x81c01000, 0x00009980, 0x0001b828, 0x00006502, 0xea800000, 0x00000981,
- 0xaa800000, 0x00006181, 0xea800800, 0x0000c991, 0x0000e037, 0x0000e502,
- 0x1a400000, 0x00008980, 0xaa800800, 0x00006191, 0xe2c32000, 0x00004981,
- 0x80000636, 0x00006583, 0x6a870800, 0x00008981, 0x62400400, 0x000086e8,
- 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x0000765d, 0x00007448, 0x1a38ff20, 0x0000062c,
- 0x9a519232, 0x00006100, 0x05000000, 0x0000c9c0, 0x19040492, 0x00006283,
- 0x1d800000, 0x00000980, 0x05400000, 0x0000e180, 0x05800020, 0x00004980,
- 0x05c00000, 0x000007d0, 0x1d400000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x00007641, 0x00007410, 0x20800000, 0x000088cc,
- 0x1d80048e, 0x00008aae, 0xa0432a36, 0x00007902, 0x19000000, 0x00008000,
- 0xa0433836, 0x00007902, 0x19800000, 0x00000000, 0x2a800000, 0x0000e181,
- 0xab404b9c, 0x00004080, 0x24bbf892, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x19400865, 0x00001082, 0x19c33a8c, 0x0000e002, 0x19000064, 0x00000084,
- 0x19800066, 0x00009084, 0xa07b3836, 0x0000d000, 0x003b3000, 0x00008000,
- 0x1984b821, 0x00009100, 0x001cc866, 0x00001502, 0x00014097, 0x00006502,
- 0x2ac00800, 0x000089e9, 0xa23fe2ad, 0x0000f900, 0x0000003e, 0x00008280,
- 0xa07b2a36, 0x0000d000, 0x003b2000, 0x00000000, 0x2ac00800, 0x000061e9,
- 0xe254ba28, 0x0000c168, 0x01c4bf28, 0x0000c469, 0x84e007aa, 0x00001d96,
- 0x9b800630, 0x00007893, 0x03800001, 0x00000000, 0xbe8004ab, 0x0000c490,
- 0xe8e006aa, 0x00009d93, 0x62800399, 0x0000788b, 0x03800001, 0x00000000,
- 0x00004784, 0x0000f88c, 0x00000000, 0x00000000, 0x7d004438, 0x0000788f,
- 0x03800001, 0x00000060, 0x7d144399, 0x00007813, 0x7b800000, 0x0000bb89,
- 0x59000d98, 0x00006283, 0xe21ccb99, 0x00000900, 0x62400000, 0x0000e181,
- 0x0a44c288, 0x00006100, 0x75911b4e, 0x0000f500, 0x22800000, 0x000088e6,
- 0xe2000b99, 0x00001090, 0x0004b020, 0x00009502, 0x0000762b, 0x0000f06b,
- 0x59000d98, 0x00009283, 0x00000438, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00007722, 0x00007010, 0x000075b6, 0x0000f048, 0x0021e424, 0x00009503,
- 0x000075b6, 0x0000700b, 0xc03d833a, 0x0000f900, 0x00000002, 0x00008582,
- 0x99010618, 0x0000e283, 0xce800000, 0x000009b8, 0x0e83fc23, 0x0000e291,
- 0x19c01002, 0x00000910, 0xab401b3a, 0x0000e790, 0x19803c23, 0x00008791,
- 0x000077a0, 0x00007008, 0xd9db3c66, 0x0000e300, 0xab83fc23, 0x00008280,
- 0x19803000, 0x00009981, 0x378732ae, 0x0000f902, 0x2bc00000, 0x00008100,
- 0xffffffff, 0x00007fa7, 0x000338af, 0x00009502, 0x0000773a, 0x00007013,
- 0x00273424, 0x00001503, 0x8e804c3a, 0x000018f0, 0xab556a3a, 0x00009070,
- 0x0000773a, 0x00007058, 0x99010618, 0x0000e283, 0x998042ad, 0x00008080,
- 0x37bd6666, 0x0000a100, 0x00007714, 0x0000f40b, 0xffffffff, 0x00007f86,
- 0x8e9d63ac, 0x00001900, 0x0e040038, 0x00009380, 0xf8a00589, 0x00004490,
- 0x00e004aa, 0x00001e90, 0xc7a007aa, 0x0000c990, 0x7ae0068a, 0x00001d94,
- 0xffffffff, 0x00007f86, 0xc000078a, 0x00001583, 0x0dc1bb88, 0x0000e008,
- 0x19000000, 0x00008988, 0xd9255cab, 0x00009908, 0x0000763d, 0x0000f210,
- 0x2b032064, 0x00001908, 0x75c26e3d, 0x00007004, 0x00010026, 0x00001502,
- 0x00007797, 0x0000f073, 0x0001003b, 0x00001502, 0x000076b8, 0x0000f073,
- 0x0001001a, 0x00001502, 0x5d691d23, 0x0000e171, 0xa0000874, 0x0000e470,
- 0x0000771d, 0x0000f071, 0x00010027, 0x00009502, 0x0000771b, 0x00007073,
- 0x19000000, 0x0000e180, 0x19400001, 0x0000c980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04147064, 0x00006187, 0x002d5065, 0x00003102,
- 0x703b28ec, 0x0000d600, 0x003b2000, 0x00000000, 0x00014037, 0x00007810,
- 0x00000000, 0x00000000, 0x00000630, 0x00007890, 0x00000000, 0x00008020,
- 0x0000e037, 0x00007812, 0x00000000, 0x00008020, 0x008004aa, 0x00004790,
- 0x85600489, 0x00000e95, 0x0240063d, 0x00004590, 0x0131293e, 0x00008e0f,
- 0x1981b821, 0x00006100, 0x2b400b31, 0x00008880, 0x00056866, 0x00006502,
- 0x00000869, 0x00002401, 0x19bfe01f, 0x00006180, 0x0000086c, 0x0000e46b,
- 0x2b698066, 0x0000e000, 0x1d100074, 0x0000c380, 0x1c87f800, 0x000061e9,
- 0xe000186c, 0x00006403, 0x00000489, 0x0000e583, 0x1c01b8ad, 0x00008000,
- 0x8000063d, 0x00001583, 0xffffffff, 0x00007f86, 0x000076c5, 0x0000f010,
- 0x000076c8, 0x00007008, 0x00502800, 0x0000f900, 0x0004c010, 0x00008980,
- 0xc0207c15, 0x000000cd, 0x807c5f8b, 0x00001901, 0x008806ec, 0x00005f80,
- 0x00804140, 0x00000a84, 0x59000d98, 0x00009283, 0x99b71ee3, 0x00009908,
- 0x7b656866, 0x0000790a, 0x19400500, 0x00008100, 0x0000761f, 0x00007010,
- 0xffffffff, 0x00007f97, 0x2b400cad, 0x00009081, 0x99256cad, 0x00009900,
- 0x14433264, 0x0000f902, 0x19000000, 0x00008000, 0x99800cad, 0x00009880,
- 0xffffffff, 0x00007f97, 0xbbc32466, 0x0000a082, 0xffffffff, 0x00007fa7,
- 0x99132366, 0x00001100, 0x80004a64, 0x00001582, 0x99805264, 0x0000e198,
- 0x99800000, 0x000009b0, 0xab400cad, 0x00006080, 0x99256cad, 0x0000c900,
- 0x14433a64, 0x00007902, 0x19000000, 0x00008000, 0xbbe442ad, 0x0000f902,
- 0x99180700, 0x00008000, 0xffffffff, 0x00007fa7, 0xa2132488, 0x00001100,
- 0xbbe322ad, 0x0000a081, 0xa2133a88, 0x00009000, 0xffffffff, 0x00007f97,
- 0xab632288, 0x00009100, 0x80001aad, 0x00001582, 0xab4022ad, 0x00001198,
- 0xab556a66, 0x00001c18, 0x0000761f, 0x0000f030, 0x00156865, 0x0000e502,
- 0x19956aad, 0x00000900, 0x2b404065, 0x000010a8, 0x0000761f, 0x0000f021,
- 0x00056866, 0x00009502, 0x800006aa, 0x00009583, 0xffffffff, 0x00007f86,
- 0x0000758a, 0x0000f018, 0x0000758a, 0x00007010, 0xa55cca95, 0x0000e100,
- 0x6607f598, 0x00008281, 0xe6400000, 0x00001980, 0x59000d98, 0x00006283,
- 0xe2000000, 0x00008980, 0x62400000, 0x0000e181, 0x0a44c288, 0x00006100,
- 0x76291b4e, 0x0000f500, 0x22800000, 0x000088e6, 0xe2000b99, 0x00001090,
- 0x0004b020, 0x00009502, 0x00007593, 0x00007063, 0x99000e69, 0x00001283,
- 0x0804b096, 0x0000e108, 0x60000816, 0x0000640b, 0x1e800d98, 0x0000c594,
- 0x78800438, 0x0000f6cd, 0x2b400b31, 0x00006080, 0x1981b821, 0x0000c100,
- 0x00056866, 0x00006502, 0x19bfe01f, 0x00008980, 0x2b698066, 0x0000e000,
- 0x0000086c, 0x0000e46b, 0x1c01b8ad, 0x0000e000, 0x1c87f800, 0x000089e9,
- 0xe000186c, 0x0000ec03, 0xd8a00489, 0x00004490, 0xdce0063d, 0x00009d93,
- 0x7b992a3e, 0x0000f80b, 0x53800000, 0x0000bb86, 0x763f6d0e, 0x00007300,
- 0x01000000, 0x00009980, 0x2b010726, 0x00004571, 0x8781073b, 0x0000f873,
- 0x080458ad, 0x00006a06, 0x000004ad, 0x00001583, 0x22800000, 0x00006190,
- 0x0a44c265, 0x0000e110, 0xe21ccb99, 0x00006110, 0x0a44c288, 0x0000e110,
- 0x00007564, 0x00007008, 0xa2600000, 0x000088e6, 0xc9a00cad, 0x0000c488,
- 0xf0e01cad, 0x00001e8a, 0x646024ad, 0x00004589, 0x314014ad, 0x0000b393,
- 0xd9000000, 0x0000e180, 0x2b44bb99, 0x0000c000, 0x0001b8ad, 0x00001502,
- 0x00007896, 0x00007073, 0x0004b837, 0x00001502, 0x0000788a, 0x0000f06b,
- 0x0001b897, 0x00001502, 0x0000787c, 0x0000f06b, 0x00056828, 0x00009502,
- 0x2b400000, 0x000019e1, 0x0000792e, 0x00007069, 0xe25b2364, 0x00001900,
- 0x2a800800, 0x00006181, 0x2ae56cad, 0x0000c901, 0x6d800438, 0x0000f8cb,
- 0xc3800000, 0x00003a8c, 0x76606e25, 0x00007500, 0x05000000, 0x000081d4,
- 0x05c00000, 0x000081d8, 0x1d800000, 0x000081d0, 0x05400000, 0x0000e180,
- 0x05800020, 0x00004980, 0x05c00000, 0x000007d0, 0x1d400000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x1d80048e, 0x00008aae, 0x59040492, 0x0000788f, 0x0b800000, 0x0000bb82,
- 0x99000000, 0x00006180, 0x99b71ee3, 0x00004900, 0x7b456866, 0x00002181,
- 0x99b71ee3, 0x00001900, 0x7b632066, 0x0000f902, 0x2b000500, 0x00008100,
- 0xffffffff, 0x00007fa7, 0x14433264, 0x0000f902, 0x19000000, 0x00008000,
- 0x99000000, 0x00006180, 0x99800cad, 0x0000c880, 0xffffffff, 0x00007f97,
- 0xbbc33466, 0x00002082, 0xffffffff, 0x00007fa7, 0x99933366, 0x00001100,
- 0x80004a66, 0x00009582, 0xa2405266, 0x0000e198, 0xa2400000, 0x000089b0,
- 0x99b71ee3, 0x00001900, 0x7b432066, 0x00002181, 0x99800cad, 0x00009880,
- 0xbbd32a66, 0x0000a082, 0xffffffff, 0x00007f86, 0x14445264, 0x00007902,
- 0x19000000, 0x00008000, 0xbbc32266, 0x00002002, 0xffffffff, 0x00007fa7,
- 0x99532465, 0x00001100, 0xbbe32266, 0x00002081, 0x99545265, 0x00009000,
- 0xffffffff, 0x00007f97, 0x99a32265, 0x00001100, 0x80001a66, 0x00009582,
- 0x99802266, 0x00001198, 0x99933289, 0x00009c18, 0x0000761f, 0x0000f030,
- 0x80000266, 0x00009582, 0x59000d98, 0x00009283, 0xffffffff, 0x00007f86,
- 0x0000761f, 0x00007008, 0x0000761f, 0x00007010, 0x2b400cad, 0x00009081,
- 0x99256cad, 0x00009900, 0x14433264, 0x0000f902, 0x19000000, 0x00008000,
- 0x99256cad, 0x0000e100, 0x99800cad, 0x0000c880, 0xab400cad, 0x00001880,
- 0xbbd32aad, 0x00002082, 0x14445264, 0x00007902, 0x19000000, 0x00008000,
- 0xbbc322ad, 0x0000a002, 0xbbc33466, 0x00002082, 0xffffffff, 0x00007f97,
- 0x99532465, 0x00001100, 0xbbe322ad, 0x0000a081, 0x99545265, 0x00006000,
- 0x99933366, 0x00008100, 0x80004a66, 0x00009582, 0x99800000, 0x0000e1b0,
- 0x99805266, 0x0000c198, 0xab632265, 0x00009100, 0x80001aad, 0x00001582,
- 0xab4022ad, 0x00001198, 0x99956a66, 0x00009c18, 0x0000761f, 0x0000f030,
- 0x2b4040ac, 0x0000e080, 0x19933266, 0x00000900, 0x60056866, 0x0000f81b,
- 0x03800001, 0x00008080, 0xa55cca95, 0x0000e100, 0x6607f598, 0x00008281,
- 0xe6400000, 0x00001980, 0x00007622, 0x00007000, 0x00000438, 0x0000e583,
- 0x1d001074, 0x00000380, 0xab59cb39, 0x0000e100, 0xa0000874, 0x00006400,
- 0x8e69c839, 0x0000871c, 0x000075c6, 0x00007440, 0x1e29273b, 0x00000324,
- 0x0ec13026, 0x00001900, 0x80156a3a, 0x00001502, 0x000076c3, 0x00007063,
- 0x8e51d23a, 0x00001900, 0x000075c6, 0x0000f200, 0xddd1ca39, 0x00009900,
- 0x76c66e1a, 0x0000f100, 0x8000063d, 0x00001583, 0x000075ee, 0x0000f013,
- 0x80192a3e, 0x00001502, 0x000075ee, 0x0000f00b, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
- 0x00000000, 0x00008080, 0x2b51f325, 0x0000e100, 0x99c7fb3e, 0x00008280,
- 0x000040ad, 0x00006582, 0x99880000, 0x00008980, 0x21e1f625, 0x0000e151,
- 0x21c04000, 0x000009b9, 0x21400034, 0x0000f900, 0x00000010, 0x00008082,
- 0x99933a66, 0x0000e100, 0x22800035, 0x00008084, 0x19020438, 0x00006283,
- 0x19c02267, 0x00000880, 0x2b402000, 0x00006191, 0x2b404000, 0x00004989,
- 0x1940f867, 0x0000e784, 0x23320004, 0x00000980, 0x19033840, 0x00006002,
- 0x4f643c87, 0x00008901, 0x21032841, 0x0000e004, 0xe3181302, 0x00008900,
- 0x80256a66, 0x0000e502, 0x19400440, 0x00008980, 0x19c00000, 0x00007900,
- 0x000014c4, 0x00000980, 0x23842084, 0x0000e100, 0x994024ad, 0x0000c880,
- 0x23400000, 0x0000f900, 0x00007fc0, 0x00000980, 0xa34024ad, 0x0000e080,
- 0x00132867, 0x0000e106, 0x99680500, 0x00001900, 0x75e80065, 0x00006901,
- 0xcf47fb3e, 0x00001282, 0xffffffff, 0x00007f86, 0x00007933, 0x00007028,
- 0x000078ae, 0x0000f008, 0x703b38ec, 0x00005600, 0x003b2800, 0x00008000,
- 0x703b20ec, 0x00005600, 0x003c2000, 0x00008000, 0x703c68ec, 0x0000d600,
- 0x003c6000, 0x00000000, 0x22000000, 0x000088e4, 0x19000000, 0x00001981,
- 0x00c002ec, 0x0000df80, 0x1757e80b, 0x00009684, 0x00000c64, 0x00009583,
- 0x000078a3, 0x0000700b, 0x8f656cad, 0x00006101, 0x09823cad, 0x00006004,
- 0x19800cad, 0x00009181, 0x00001c66, 0x00009583, 0x09823f3d, 0x00006034,
- 0x20000836, 0x00003437, 0x01256cad, 0x00001918, 0x000075ee, 0x00007030,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0470f000, 0x0000f900, 0x003d53c4, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x81c01000, 0x0000e180, 0x0491f23e, 0x0000c900, 0x03c02004, 0x00009900,
- 0x771420b1, 0x0000f100, 0x65bb2036, 0x00006001, 0x60001838, 0x00003484,
- 0x8e032965, 0x0000032a, 0x000075b6, 0x00007400, 0x4f232464, 0x0000e101,
- 0xa2ab2038, 0x0000e004, 0xce82833a, 0x00001080, 0x5d71e63c, 0x00006101,
- 0xa0000874, 0x00006400, 0x000075cc, 0x0000f400, 0x8f291d23, 0x0000e101,
- 0xb0000874, 0x0000e400, 0x09c0d01a, 0x0000e100, 0x05c80017, 0x0000c380,
- 0xe2000b88, 0x0000e180, 0x99800b88, 0x00000180, 0x00000266, 0x0000f890,
- 0x00000000, 0x00000000, 0xca800589, 0x00007893, 0x03800001, 0x00000060,
- 0x6d800438, 0x0000f8cb, 0xc3800000, 0x00003a8c, 0x8000068a, 0x00001583,
- 0x62400800, 0x0000e189, 0xe2803000, 0x0000c991, 0x6d800438, 0x0000f8cb,
- 0xc3800000, 0x00003a8c, 0x59000d98, 0x00006283, 0xe21ccb99, 0x00000900,
- 0x62400000, 0x0000e181, 0x0a44c288, 0x00006100, 0x77361b4e, 0x0000f500,
- 0x22800000, 0x000088e6, 0xe2000b99, 0x00001090, 0xc564b720, 0x0000446a,
- 0x44e00d98, 0x00009d96, 0x6d800438, 0x0000f8cb, 0xc3800000, 0x00003a8c,
- 0x19800c66, 0x00009183, 0x2bc00002, 0x00001990, 0xebe80500, 0x00001910,
- 0x00007847, 0x00007008, 0x770000ec, 0x00005680, 0x003d7800, 0x00008000,
- 0x00c002ec, 0x0000df80, 0x174d300b, 0x00001684, 0x99400000, 0x0000e180,
- 0x99b71ee3, 0x00004900, 0x7b456866, 0x00002181, 0x99b71ee3, 0x00001900,
- 0x7b632866, 0x00007902, 0x19000500, 0x00000100, 0xffffffff, 0x00007fa7,
- 0x14433265, 0x00007902, 0x19400000, 0x00000000, 0x99400000, 0x0000e180,
- 0x99800cad, 0x0000c880, 0xffffffff, 0x00007f97, 0xbbc33466, 0x00002082,
- 0xffffffff, 0x00007fa7, 0x99933366, 0x00001100, 0x80004a66, 0x00009582,
- 0xa2005266, 0x00006198, 0xa2000000, 0x000009b0, 0x99b71ee3, 0x00001900,
- 0x7b432866, 0x0000a181, 0x99800cad, 0x00009880, 0xbbd44a66, 0x00002082,
- 0xffffffff, 0x00007f86, 0x14433a65, 0x0000f902, 0x19400000, 0x00000000,
- 0xbbc32a66, 0x0000a002, 0xffffffff, 0x00007fa7, 0xa2532c89, 0x00009100,
- 0xbbe32a66, 0x0000a081, 0xa2533a89, 0x00009000, 0xffffffff, 0x00007f97,
- 0x99a32a89, 0x00001100, 0x80001a66, 0x00009582, 0x99802266, 0x00001198,
- 0x99933288, 0x00001c18, 0x0000761f, 0x0000f030, 0x80000266, 0x00009582,
- 0x59400d98, 0x00001283, 0xffffffff, 0x00007f86, 0x0000761f, 0x00007008,
- 0x0000761f, 0x00007010, 0x2b400cad, 0x00009081, 0x99656cad, 0x00001900,
- 0x14433265, 0x00007902, 0x19400000, 0x00000000, 0x99656cad, 0x00006100,
- 0x99800cad, 0x0000c880, 0xffffffff, 0x00007f97, 0xbbc33466, 0x00002082,
- 0x14433a65, 0x0000f902, 0x19400000, 0x00000000, 0xffffffff, 0x00007f97,
- 0x99933366, 0x00001100, 0x80004a66, 0x00009582, 0x99800000, 0x0000e1b0,
- 0x99805266, 0x0000c198, 0xab400cad, 0x00001880, 0xbbe32aad, 0x0000f902,
- 0xa2180700, 0x00000000, 0xffffffff, 0x00007fa7, 0x99544465, 0x00009100,
- 0x99533a65, 0x00009000, 0xbbe33aad, 0x0000a081, 0xffffffff, 0x00007fa7,
- 0xab633a65, 0x00009100, 0x80001aad, 0x00001582, 0xab4022ad, 0x00001198,
- 0x99956a66, 0x00009c18, 0x0000761f, 0x0000f030, 0x2b404064, 0x00006080,
- 0x19933266, 0x00000900, 0x00056866, 0x00009502, 0x62400000, 0x0000e199,
- 0x22800000, 0x0000c998, 0x22400000, 0x00006199, 0x0a44c288, 0x00006118,
- 0x0000761f, 0x0000f030, 0x77931b4e, 0x0000f500, 0x59000d98, 0x00006283,
- 0xe21ccb99, 0x00000900, 0xe2000b99, 0x00001090, 0xc564b720, 0x0000446a,
- 0x44e00d98, 0x00009d96, 0x6d800438, 0x0000f8cb, 0xc3800000, 0x00003a8c,
- 0x1d001074, 0x00006380, 0x60000816, 0x0000a402, 0xc0000816, 0x0000e403,
- 0xa0000874, 0x00003400, 0x8e692024, 0x0000871c, 0x1e292726, 0x0000820c,
- 0x0ee92726, 0x00008324, 0xc5000438, 0x000045c1, 0x7251213a, 0x00007262,
- 0x2b40263d, 0x00006481, 0x19b1ee3d, 0x00004901, 0x8f40263d, 0x00009c81,
- 0x00000cad, 0x00009583, 0x00007913, 0x0000f01b, 0xab47fb3e, 0x00001280,
- 0x19a332ad, 0x00001000, 0x00080066, 0x00001582, 0x2b400000, 0x000019d1,
- 0x00007929, 0x0000f039, 0x19c0033a, 0x00007900, 0x0000000c, 0x00008080,
- 0x1980f867, 0x0000e784, 0x39f00004, 0x00000980, 0x2bc1a067, 0x0000e002,
- 0xf9d81302, 0x00000900, 0x19c00540, 0x00006180, 0x2b81a866, 0x0000c004,
- 0x000004ad, 0x0000e583, 0x998ffd00, 0x00000280, 0x99e80500, 0x00009900,
- 0x2b028000, 0x0000f900, 0x000014c4, 0x00000980, 0x00007857, 0x00007410,
- 0x3b428000, 0x0000f900, 0x00007fc0, 0x00000980, 0x75d33067, 0x00006901,
- 0x700280ec, 0x0000d680, 0x003b3cc4, 0x00008010, 0x703d78ec, 0x0000d600,
- 0x003d7000, 0x00000000, 0x700280ec, 0x0000d680, 0x003f3fc0, 0x00000078,
- 0x00c002ec, 0x0000df80, 0x175e180b, 0x00009684, 0x6d410618, 0x00007897,
- 0xa3800000, 0x00003b88, 0xf9e00d89, 0x0000c488, 0x0ce03589, 0x00009e8a,
- 0x1a203589, 0x0000c199, 0x00e01d89, 0x00000088, 0x27a02589, 0x00004589,
- 0x0cc01589, 0x00000d8c, 0x20c04d89, 0x0000c489, 0x2ce04d89, 0x00009ea9,
- 0x25805589, 0x0000788a, 0x0bc00000, 0x00003c85, 0x03000000, 0x0000f900,
- 0x000371c0, 0x00008980, 0x03400000, 0x0000e180, 0x106c480c, 0x0000e000,
- 0x04401000, 0x0000e180, 0x20ac480c, 0x0000e000, 0xd36c480d, 0x0000e004,
- 0x412c480c, 0x0000b000, 0x03c00000, 0x00006180, 0x862c4811, 0x0000e001,
- 0x01040492, 0x00006283, 0x966c480d, 0x0000a001, 0x822c480c, 0x0000e000,
- 0x966c4811, 0x0000b001, 0x04800000, 0x00006180, 0x0000180f, 0x0000e106,
- 0x99802302, 0x0000e780, 0xa6ac480d, 0x0000a001, 0x926c480c, 0x0000e000,
- 0xa6ac4811, 0x0000b001, 0xc000180f, 0x00006006, 0x45133012, 0x00003107,
- 0x04000000, 0x0000e180, 0x04c00004, 0x00004980, 0x03800702, 0x00000790,
- 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8,
- 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0,
- 0x000077f6, 0x0000f408, 0x20400000, 0x000008c8, 0x20c00000, 0x0000e180,
- 0x19800800, 0x00004988, 0x19800000, 0x00006180, 0x080458ad, 0x0000e206,
- 0x00001cad, 0x00001583, 0x19800800, 0x00001988, 0x001018ec, 0x00005780,
- 0x00884980, 0x00000180, 0x1d61e43c, 0x0000e101, 0x92633074, 0x0000e000,
- 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188, 0xdd39e73c, 0x00006101,
- 0xe2c0378b, 0x0000c181, 0xf3210726, 0x00004570, 0x6ba1073b, 0x00005c74,
- 0x080458ad, 0x00006a06, 0x00000cad, 0x00009583, 0xab771ee3, 0x00006108,
- 0x0dc1bb88, 0x00004008, 0x7b7b30ad, 0x00002108, 0x00007853, 0x00007010,
- 0x19000800, 0x00001980, 0xd9255cab, 0x00001900, 0x2b032064, 0x0000e100,
- 0x19800866, 0x00004180, 0x7b7b30ad, 0x00002900, 0x780c6e3d, 0x00007004,
- 0xf1610726, 0x00004570, 0x6ac1073b, 0x0000db75, 0x99b71ee3, 0x00006100,
- 0x99400000, 0x0000c980, 0x7b632866, 0x00007902, 0x19000500, 0x00000100,
- 0xab771ee3, 0x00009900, 0x7b4568ad, 0x0000a181, 0xffffffff, 0x00007f86,
- 0x14433265, 0x00007902, 0x19400000, 0x00000000, 0x99400000, 0x00009980,
- 0x99800cad, 0x00009880, 0xffffffff, 0x00007f86, 0xbbc33466, 0x00002082,
- 0xffffffff, 0x00007fa7, 0x99933366, 0x00001100, 0x80004a66, 0x00009582,
- 0xa2005266, 0x00006198, 0xa2000000, 0x000009b0, 0x99b71ee3, 0x00001900,
- 0x7b432866, 0x0000a181, 0x99800cad, 0x00009880, 0xbbd44a66, 0x00002082,
- 0xffffffff, 0x00007f86, 0x14433a65, 0x0000f902, 0x19400000, 0x00000000,
- 0xbbc32a66, 0x0000a002, 0xffffffff, 0x00007fa7, 0xa2532c89, 0x00009100,
- 0xbbe32a66, 0x0000a081, 0xa2533a89, 0x00009000, 0xffffffff, 0x00007f97,
- 0x99a32a89, 0x00001100, 0x80001a66, 0x00009582, 0x99802266, 0x00001198,
- 0x99933288, 0x00001c18, 0x0000761f, 0x0000f030, 0x80004266, 0x00001582,
- 0x59400d98, 0x00001283, 0xffffffff, 0x00007f86, 0x0000761f, 0x0000f030,
- 0x0000761f, 0x00007010, 0x2b400cad, 0x00009081, 0x99656cad, 0x00001900,
- 0x14433265, 0x00007902, 0x19400000, 0x00000000, 0x99656cad, 0x00006100,
- 0x99800cad, 0x0000c880, 0xffffffff, 0x00007f97, 0xbbc33466, 0x00002082,
- 0x14433a65, 0x0000f902, 0x19400000, 0x00000000, 0xffffffff, 0x00007f97,
- 0x99933366, 0x00001100, 0x0000777a, 0x0000f400, 0x80004a66, 0x00009582,
- 0x99800000, 0x0000e1b0, 0x99805266, 0x0000c198, 0x01c00020, 0x00006180,
- 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0463e800, 0x00007900, 0x003db776, 0x00008980, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030, 0x00007713, 0x0000f400,
- 0xc4812023, 0x0000803f, 0x81c01000, 0x00009980, 0x19000800, 0x00001980,
- 0x0000780b, 0x0000f400, 0xd9255cab, 0x00001900, 0x2b032064, 0x00009900,
- 0xc00000ac, 0x0000e406, 0x00000067, 0x00003586, 0x703d60ec, 0x0000d600,
- 0x003b3800, 0x00000000, 0x19c00400, 0x00006180, 0x008040ac, 0x0000e586,
- 0x99e80500, 0x0000e100, 0x000040ed, 0x00006586, 0x10820040, 0x0000e100,
- 0x75d33067, 0x0000e101, 0x19800034, 0x00007900, 0x00000010, 0x00008082,
- 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0x2b800035, 0x0000e084,
- 0x10c20841, 0x00008900, 0xc000033f, 0x00009582, 0xcfc00a3f, 0x0000e188,
- 0xcfc00b3f, 0x00000190, 0x700280ec, 0x0000d680, 0x003f3fc0, 0x00000078,
- 0xc000033f, 0x00009582, 0x2b400c3f, 0x0000e189, 0x2b400e3f, 0x00000191,
- 0x703d60ec, 0x0000d600, 0x003b3800, 0x00000000, 0x2b401cad, 0x00001880,
- 0x2b456866, 0x00001002, 0x198000ae, 0x00001084, 0x703d68ec, 0x00005600,
- 0x003b3000, 0x00008000, 0x703f68ec, 0x0000d600, 0x003f3800, 0x00008000,
- 0x00c002ec, 0x0000df80, 0x1783d00b, 0x00001684, 0x6d410618, 0x00007897,
- 0xa3800000, 0x00003b88, 0x00056828, 0x00006502, 0x9994ba37, 0x00000100,
- 0x99133399, 0x00006100, 0xe2133399, 0x00000100, 0xa2132a66, 0x0000e000,
- 0xd914ba37, 0x00000100, 0x25c1b837, 0x00006100, 0x99914264, 0x00004068,
- 0xe2156a66, 0x00001168, 0xffffffff, 0x00007f86, 0xc0000388, 0x00009582,
- 0x00007896, 0x0000700b, 0x00007658, 0x00007200, 0x2b400800, 0x00009981,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0407c800, 0x00007900,
- 0x001c0e3c, 0x00008980, 0x04603000, 0x00007900, 0x003ddc7c, 0x00000980,
- 0x04800000, 0x000000fc, 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901,
- 0x789620b1, 0x00007500, 0x82f81400, 0x00008030, 0x81c01000, 0x00009980,
- 0x0120a800, 0x000080c3, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x0001c000, 0x00000980, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
+ 0xc000180f, 0x00006006, 0x45102012, 0x0000b107, 0x04000000, 0x0000e180,
+ 0x04c00004, 0x00004980, 0x01400000, 0x0000e181, 0x03801002, 0x00004900,
+ 0x6e99702d, 0x0000f500, 0x00502800, 0x0000f900, 0x0004d410, 0x00008980,
+ 0x40e0ac0f, 0x000000c3, 0x00006e7e, 0x0000f200, 0x20000879, 0x00006c01,
+ 0x00006e91, 0x00007200, 0x01400800, 0x00001981, 0x00000405, 0x00009583,
+ 0x00006ea1, 0x0000700b, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
+ 0x00000040, 0x00000080, 0x04147004, 0x0000e987, 0x700708ec, 0x0000d680,
+ 0x00382002, 0x00008000, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x01803e47, 0x00009281,
+ 0x00003406, 0x00009583, 0x00001c06, 0x00001593, 0x01807c9c, 0x00001291,
+ 0x00006eac, 0x00007009, 0x00003c06, 0x00001583, 0x00006ead, 0x00007013,
+ 0x6ead6a1e, 0x00007100, 0x41800d98, 0x0000e283, 0xe21ccb99, 0x00000900,
+ 0x62400000, 0x0000e181, 0x0a44c288, 0x00006100, 0x6eb41cb8, 0x0000f500,
+ 0x22800000, 0x000088e6, 0xe2000b99, 0x00001090, 0x0004b020, 0x00009502,
+ 0x00006eb9, 0x0000f063, 0x81800e69, 0x00009283, 0x0804b096, 0x0000e108,
+ 0x60000816, 0x0000640b, 0x41800d98, 0x00001283, 0x81800b88, 0x00001190,
+ 0xe2000b88, 0x00009190, 0x00006ec7, 0x00007008, 0x00000206, 0x0000f890,
+ 0x00000000, 0x00000000, 0xb0c00589, 0x00007893, 0x03400001, 0x00000060,
+ 0xb3000d89, 0x000078b3, 0x4b400000, 0x0000b786, 0x8000068a, 0x00001583,
+ 0x62400800, 0x0000e189, 0xe2803000, 0x0000c991, 0xffffffff, 0x00007f86,
+ 0x40000d89, 0x00009583, 0x00006ecc, 0x00007033, 0x01806d89, 0x00001181,
+ 0x00000c06, 0x00001583, 0x00006ece, 0x0000f01b, 0x6ece6daa, 0x00007204,
+ 0x01802004, 0x00009900, 0x6ecf6e3c, 0x00007100, 0x6ed06a0a, 0x00007100,
+ 0xa0403a36, 0x0000f902, 0x01800000, 0x00000000, 0xa0402836, 0x0000f902,
+ 0x01000000, 0x00008000, 0xffffffff, 0x00007f97, 0x01c00807, 0x00001082,
+ 0x01402a8c, 0x0000e002, 0x01800006, 0x00000084, 0x01000004, 0x00009084,
+ 0xa0782836, 0x00005000, 0x00382000, 0x00000000, 0x01000c38, 0x00009283,
+ 0xa0783a36, 0x00005000, 0x00383000, 0x00008000, 0x700000ec, 0x00005690,
+ 0x00000040, 0x00000080, 0x00006eea, 0x00007008, 0x0120a800, 0x000080c3,
0xc0c07800, 0x00006180, 0x04147004, 0x00006187, 0x00502800, 0x0000f900,
0x0004d910, 0x00000980, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
- 0x008806ec, 0x00005f80, 0x00804140, 0x00000a84, 0xdec10726, 0x00004571,
- 0xe161073b, 0x00005272, 0x00256c87, 0x00001503, 0x000078fa, 0x0000f02b,
- 0x1919fb3f, 0x00006100, 0x19800a3f, 0x0000c180, 0x00033064, 0x00006502,
- 0x10044889, 0x00008900, 0x99800b3f, 0x0000e0c8, 0x99800000, 0x000089c0,
- 0x000076ff, 0x0000f400, 0x10444088, 0x00009900, 0xcfd33266, 0x00009900,
- 0x99400000, 0x0000e180, 0xc0000067, 0x00006406, 0x2119fb3f, 0x0000e100,
- 0x19000a3f, 0x00004180, 0x703b38ec, 0x00005600, 0x003b2800, 0x00008000,
- 0x00032084, 0x00006502, 0x10021042, 0x00008900, 0x703a10ec, 0x0000d600,
- 0x003a1800, 0x00000000, 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000,
- 0x00007911, 0x00007208, 0x99000b3f, 0x0000e090, 0x10421843, 0x00000900,
- 0xcfc00b3f, 0x00009080, 0x19001a64, 0x00001880, 0x21442864, 0x00009002,
- 0x2100008a, 0x00001084, 0x22000000, 0x000088e4, 0x22800000, 0x00001981,
- 0x00010865, 0x00006485, 0x00804067, 0x00003586, 0x99680500, 0x00006100,
- 0x0000408d, 0x00006586, 0x703b38ec, 0x00005600, 0x003b2800, 0x00008000,
- 0x703c28ec, 0x00005600, 0x003c2000, 0x00008000, 0x703c68ec, 0x0000d600,
- 0x003c6000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1786780b, 0x00009684,
- 0xc6000c8a, 0x0000c591, 0x02a56887, 0x00007d2b, 0x01040492, 0x00006283,
- 0x03c00000, 0x00008980, 0x04800000, 0x00006180, 0x0000180f, 0x0000e106,
- 0x99802302, 0x0000e780, 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900,
- 0x000371c0, 0x00008980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
- 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x04000000, 0x0000e180,
- 0x45133012, 0x00006107, 0x04c00004, 0x00006180, 0x03801002, 0x00004900,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x000078ef, 0x00007408, 0x20800000, 0x000088cc,
- 0x19800800, 0x00006188, 0x080458ad, 0x00006216, 0x19800000, 0x00001980,
- 0x00001cad, 0x00001583, 0x19800800, 0x00001988, 0x001018ec, 0x00005780,
- 0x00884980, 0x00000180, 0x1d61e43c, 0x0000e101, 0x92633074, 0x0000e000,
- 0x78f86e1f, 0x00007500, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
- 0xdd39e73c, 0x00006101, 0xe2c0378b, 0x0000c181, 0xd3e10726, 0x0000c570,
- 0x5c01073b, 0x00004c77, 0x09823c65, 0x00006804, 0x19000c65, 0x00009181,
- 0x00001c64, 0x00001583, 0x01232c65, 0x00001918, 0x19632c65, 0x00009930,
- 0x00007707, 0x00007018, 0x00133065, 0x00009502, 0x10844889, 0x0000e150,
- 0x10c44088, 0x00004950, 0x2b633466, 0x00009951, 0x000078a5, 0x00007038,
- 0x000076ff, 0x00007000, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x046d2000, 0x00007900,
- 0x00251f68, 0x00000980, 0xc1000294, 0x00000094, 0x82e00500, 0x0000802e,
- 0x00007712, 0x00007400, 0x033cbf02, 0x00000108, 0x81c01000, 0x00009980,
- 0x000078c1, 0x0000f200, 0x2120078a, 0x000083bd, 0x0b81b4ad, 0x0000e806,
- 0x00000cad, 0x00009583, 0x2b408cad, 0x000010b8, 0x384014ad, 0x000018b9,
- 0x000077a5, 0x0000f050, 0x8000163d, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00007923, 0x00007433, 0x12020300, 0x0000f904, 0x12820300, 0x00007904,
- 0x80001e3d, 0x00001583, 0x13020300, 0x00007904, 0x13820300, 0x0000f904,
- 0x00007923, 0x0000f030, 0x14020300, 0x0000f904, 0x14820300, 0x00007904,
- 0xab47fb3e, 0x0000e280, 0x20000836, 0x0000a407, 0x19a332ad, 0x00001000,
- 0x00080066, 0x00001582, 0x2b400000, 0x000019d1, 0x000077aa, 0x00007051,
- 0x2b71eaad, 0x00009000, 0x000077aa, 0x00007400, 0x000800ad, 0x00006582,
- 0x2b400000, 0x00008981, 0x2b400800, 0x000099d1, 0x99914399, 0x00009000,
- 0xe2156a66, 0x00006100, 0x99156a66, 0x00000100, 0x25800264, 0x0000f88a,
- 0x43c00000, 0x0000bc84, 0xcf47fb3e, 0x0000e282, 0xc0000067, 0x0000a406,
- 0x99400000, 0x0000e180, 0xa1002266, 0x0000c890, 0xa13ffa84, 0x0000f910,
- 0x00000002, 0x00008280, 0x000078b0, 0x0000f008, 0x00142067, 0x0000e106,
- 0x0c032c88, 0x0000b084, 0x703b38ec, 0x00005600, 0x003b2800, 0x00008000,
- 0x703b20ec, 0x00005600, 0x003c7000, 0x00008000, 0x191334ad, 0x0000e100,
- 0xa3402266, 0x00008880, 0x22421042, 0x00006100, 0x99002264, 0x00004880,
- 0xa13ffa64, 0x0000f900, 0x00000002, 0x00008280, 0x21000c66, 0x00006081,
- 0x00142067, 0x0000e106, 0x22021843, 0x0000e100, 0x21244484, 0x00004001,
- 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000, 0x2104508a, 0x0000e100,
- 0x04242065, 0x0000e085, 0xa37ffa64, 0x0000f900, 0x00000002, 0x00008280,
- 0x19000a3f, 0x0000e180, 0x2299fb3f, 0x00008900, 0x703b38ec, 0x00005600,
- 0x003b2800, 0x00008000, 0x0003208a, 0x00001502, 0x703a10ec, 0x0000d600,
- 0x003a1800, 0x00000000, 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000,
- 0x0000795e, 0x00007040, 0x19000b3f, 0x00001080, 0x19001864, 0x00009880,
- 0x21432085, 0x00009002, 0x21000084, 0x00009084, 0x000078c3, 0x00007200,
- 0x22800800, 0x00009981, 0x01c00020, 0x00006180, 0x0e4494ad, 0x0000e000,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04553000, 0x00007900,
- 0x00268e2a, 0x00008980, 0x01400000, 0x00006180, 0x01256cad, 0x00004900,
- 0x81c01000, 0x00009980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x00007712, 0x00007400, 0x82f81400, 0x00008030, 0x0480e01c, 0x00009900,
- 0x01c00020, 0x00006180, 0x0e449466, 0x00006000, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x047ce800, 0x0000f900, 0x002a0732, 0x00000980,
- 0x00007969, 0x0000f400, 0x01400000, 0x00006180, 0x01233466, 0x00004900,
- 0x81c01000, 0x00009980, 0x19814021, 0x0000e100, 0x2b400b31, 0x00008880,
- 0x00056866, 0x00006502, 0x00000869, 0x00002401, 0x1c014331, 0x00006000,
- 0x0000086c, 0x0000246b, 0x1c87f800, 0x000061e9, 0x62400800, 0x00004981,
- 0xe000186c, 0x0000ec03, 0x00007659, 0x0000f200, 0x2b400000, 0x00001981,
- 0x01000c38, 0x00006283, 0x1a400000, 0x00008980, 0x1e200000, 0x000080d1,
- 0x1a800000, 0x000006f0, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0,
- 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180, 0x1a010020, 0x00004900,
- 0x1ac0071f, 0x00000190, 0x05400000, 0x000001d8, 0x05c00000, 0x000007d0,
- 0x1d400000, 0x000007d8, 0x1dc00000, 0x00006180, 0x1e400200, 0x00004980,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x000079ce, 0x0000f410, 0x20800000, 0x000088cc,
- 0x1a4c7432, 0x00000722, 0xa0403236, 0x00007902, 0x01400000, 0x00000000,
- 0xa0404036, 0x00007902, 0x01c00000, 0x00008000, 0x02414028, 0x00009900,
- 0xffffffff, 0x00007f86, 0x01800806, 0x00001082, 0x0200428c, 0x0000e002,
- 0x01400005, 0x00000084, 0x01c00007, 0x00009084, 0xa0783236, 0x0000d000,
- 0x00382800, 0x00008000, 0x79a91c61, 0x00007404, 0xa0784036, 0x0000d000,
- 0x00383800, 0x00000000, 0x023fe01f, 0x00009980, 0x3e404589, 0x00004389,
- 0x00e04589, 0x00000098, 0x3b201d89, 0x00004489, 0x9ce03d89, 0x00009e8b,
- 0x00801589, 0x00004791, 0x82006589, 0x0000848a, 0x36206589, 0x0000c9a9,
- 0x98e07589, 0x00009eb3, 0x40c0040f, 0x000000fc, 0x04800000, 0x00006180,
- 0x0000180f, 0x0000e106, 0x81002302, 0x00006780, 0xc000180f, 0x0000a006,
- 0x00502800, 0x0000f900, 0x0004d410, 0x00008980, 0x0318b000, 0x00007900,
- 0x00037280, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
- 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0xc000a800, 0x00006181,
- 0x45102012, 0x0000e107, 0x79c4672a, 0x0000f500, 0x04000000, 0x0000e180,
- 0x04c00004, 0x00004980, 0x03801002, 0x00001900, 0xc0000747, 0x00009583,
- 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x0018d0ec, 0x00005780,
- 0x00884941, 0x00000188, 0x00007a0b, 0x00007010, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x79ce6cc8, 0x00007204, 0x01404809, 0x00009900,
+ 0x008806ec, 0x00005f80, 0x00804140, 0x00000a84, 0x6eec6ea5, 0x00007204,
+ 0x01014028, 0x00001900, 0x22400000, 0x00001981, 0xe5806d89, 0x0000c291,
+ 0xe2c00304, 0x00009b8d, 0xcb007589, 0x0000f88b, 0xd3400000, 0x0000b787,
+ 0x23c00007, 0x000008ec, 0x23332000, 0x0000f900, 0x001a6dac, 0x00008980,
+ 0x235ef000, 0x0000f900, 0x002ddb02, 0x00000980, 0x00006f27, 0x00007400,
+ 0x22800000, 0x0000e180, 0x63ec4d89, 0x00004901, 0xe3c00000, 0x00009980,
+ 0x23c03800, 0x00006180, 0x0c023c04, 0x0000e004, 0x230d2800, 0x0000f900,
+ 0x0026ab3c, 0x00008980, 0x235fe000, 0x0000f900, 0x002ddb02, 0x00000980,
+ 0x00006f27, 0x00007400, 0x22c00000, 0x000088e8, 0xe3cc4e04, 0x0000883c,
+ 0x23c03800, 0x00006180, 0x0c023c04, 0x0000e004, 0x23194000, 0x00007900,
+ 0x0027e00c, 0x00000980, 0x23613000, 0x0000f900, 0x002ddb02, 0x00000980,
+ 0x6f0d224a, 0x0000f500, 0x22800000, 0x0000e180, 0x22e02404, 0x0000c900,
+ 0xe3c00000, 0x00009980, 0x00006f2a, 0x0000f200, 0x01c00800, 0x0000f900,
+ 0x0003c000, 0x00008980, 0x6f2b6ac5, 0x0000f500, 0x05001014, 0x00006380,
+ 0x46002000, 0x00000981, 0x01000000, 0x00009980, 0x6f186ab4, 0x0000f404,
+ 0x05001014, 0x00006380, 0x46002000, 0x00000981, 0x01c00000, 0x00009980,
+ 0x6f1a6ea5, 0x0000f204, 0x01004008, 0x00001900, 0x0c023c05, 0x00006004,
+ 0x08001a0b, 0x00003106, 0xc1800005, 0x000000b4, 0x01400020, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04418000, 0x0000f900, 0x0012d454, 0x00000980, 0x82f81400, 0x0000803c,
+ 0x6f272213, 0x00007500, 0xc4b83189, 0x0000001c, 0x81401000, 0x00001980,
+ 0x6f28224a, 0x0000f100, 0x01c00800, 0x0000f900, 0x0003c000, 0x00008980,
+ 0x6f2b6bfd, 0x00007004, 0x6f146e3c, 0x0000f100, 0x01003e47, 0x00001281,
+ 0xe2000c04, 0x00004291, 0x06c00304, 0x00009b8e, 0xc6802404, 0x00007893,
+ 0xa3400000, 0x00003788, 0x01000c38, 0x00006283, 0x1a400000, 0x00008980,
+ 0x1e200000, 0x000080d1, 0x1a800000, 0x000006f0, 0x1b400000, 0x000006f8,
+ 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180,
+ 0x1a010020, 0x00004900, 0x1ac0071f, 0x00000190, 0x05400000, 0x000001d8,
+ 0x05c00000, 0x000007d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x00006180,
+ 0x1e400200, 0x00004980, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
+ 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x00006f7b, 0x0000f410,
+ 0x20800000, 0x000088cc, 0x1a4c7432, 0x00000722, 0xa0405236, 0x00007902,
+ 0x01c00000, 0x00008000, 0xa0403036, 0x0000f902, 0x01400000, 0x00000000,
+ 0x02014028, 0x00001900, 0xffffffff, 0x00007f86, 0x0280080a, 0x00001082,
+ 0x0180328c, 0x0000e002, 0x01c00007, 0x00000084, 0x01400005, 0x00009084,
+ 0xa0785236, 0x0000d000, 0x00383800, 0x00000000, 0x6f571dc9, 0x00007404,
+ 0xa0783036, 0x00005000, 0x00382800, 0x00008000, 0x01ffe01f, 0x00009980,
+ 0xf3e04589, 0x0000c389, 0x00c04589, 0x00008098, 0xf0c01d89, 0x00004489,
+ 0xf6c03d89, 0x00001b8e, 0x00801589, 0x0000c790, 0x02006589, 0x0000048a,
+ 0xebe06589, 0x0000c9a9, 0xf4c07589, 0x00001bb6, 0x40c0040f, 0x000000fc,
+ 0x04800000, 0x00006180, 0x0000180f, 0x0000e106, 0x81002302, 0x00006780,
+ 0xc000180f, 0x0000a006, 0x00502800, 0x0000f900, 0x0004d410, 0x00008980,
+ 0x0318b000, 0x00007900, 0x00037280, 0x00000980, 0x03400000, 0x00007900,
+ 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
+ 0xc000a800, 0x00006181, 0x45102012, 0x0000e107, 0x6f72702d, 0x00007500,
+ 0x04000000, 0x0000e180, 0x04c00004, 0x00004980, 0x03801002, 0x00001900,
+ 0xc0000747, 0x00009583, 0x001018ec, 0x00005780, 0x00884980, 0x00000180,
+ 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188, 0x00006fb8, 0x00007010,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x6f7b6eec, 0x00007004,
0x0120a800, 0x000080c3, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
0xc0c07800, 0x00006180, 0x04147004, 0x00006187, 0x00502800, 0x0000f900,
0x0004d910, 0x00000980, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
@@ -14340,154 +13484,1337 @@ ARRAY_DECL u32 init_val[] = {
0xc000180f, 0x0000a006, 0x00502800, 0x0000f900, 0x0004d410, 0x00008980,
0x0318b000, 0x00007900, 0x00037280, 0x00000980, 0x03400000, 0x00007900,
0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
- 0xd1c03000, 0x0000e181, 0x45102012, 0x0000e107, 0x79ec672a, 0x0000f500,
+ 0xd1c03000, 0x0000e181, 0x45102012, 0x0000e107, 0x6f99702d, 0x00007500,
0xc0000415, 0x000081c0, 0x03801002, 0x00006100, 0x04c00004, 0x00004980,
0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x0018d0ec, 0x00005780,
- 0x00884941, 0x00000188, 0x72800747, 0x0000f88a, 0x5bc00000, 0x0000bd80,
+ 0x00884941, 0x00000188, 0xde000747, 0x0000f88b, 0xc3400000, 0x0000378d,
0x40c0040f, 0x000000fc, 0x04800000, 0x00006180, 0x0000180f, 0x0000e106,
0x81002302, 0x00006780, 0xc000180f, 0x0000a006, 0x00502800, 0x0000f900,
0x0004d410, 0x00008980, 0x0318b000, 0x00007900, 0x00037280, 0x00000980,
0x03400000, 0x00007900, 0x00018008, 0x00000980, 0x04401000, 0x00007900,
0x0001c000, 0x00000980, 0xd1c02800, 0x0000e181, 0x45102012, 0x0000e107,
- 0x7a05672a, 0x00007500, 0xc0000415, 0x000081c0, 0x03801002, 0x00006100,
+ 0x6fb2702d, 0x00007500, 0xc0000415, 0x000081c0, 0x03801002, 0x00006100,
0x04c00004, 0x00004980, 0xc0000747, 0x00009583, 0x001018ec, 0x00005780,
0x00884980, 0x00000180, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
- 0x000079ca, 0x0000f008, 0x0e000838, 0x00006380, 0x00000079, 0x00002401,
+ 0x00006f78, 0x00007008, 0x0e000838, 0x00006380, 0x00000079, 0x00002401,
0x20000879, 0x0000e401, 0xd0000838, 0x00003400, 0x52000000, 0x00001981,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x40001d89, 0x00001583,
0x19000000, 0x00006190, 0x01400800, 0x00004990, 0x417a3f47, 0x00001911,
- 0x00007a24, 0x0000f008, 0x7a22673f, 0x0000f500, 0x01400020, 0x0000e180,
+ 0x00006fd1, 0x00007008, 0x6fcf7042, 0x00007500, 0x01400020, 0x0000e180,
0x01802805, 0x0000c900, 0x0180b800, 0x00006180, 0x01c03006, 0x00004900,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x7a28673f, 0x0000f500,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x6fd57042, 0x0000f500,
0x01400020, 0x0000e180, 0x19000000, 0x0000c980, 0x01800013, 0x000000dc,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xc1018718, 0x00006283,
- 0x05004000, 0x00000980, 0x05400000, 0x000001d8, 0x05c00000, 0x00001980,
- 0x00007a4b, 0x0000f008, 0x41001d19, 0x00001283, 0xa0001015, 0x00006c0a,
- 0x60000815, 0x0000ec0b, 0x00007a4b, 0x0000f008, 0x81004618, 0x00001283,
- 0x80000630, 0x00009583, 0xffffffff, 0x00007f86, 0x00007a4b, 0x0000f008,
- 0x00007a43, 0x00007008, 0x01c00000, 0x0000e180, 0x81371ee3, 0x0000c900,
- 0x7b403804, 0x0000a181, 0xc1f814ec, 0x00002880, 0xc1c004ec, 0x0000d000,
- 0x00400140, 0x00000080, 0x7a423f46, 0x00007501, 0xc1f83aec, 0x00002880,
- 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080, 0x7a431982, 0x0000f100,
- 0x05001014, 0x00006380, 0xa0001015, 0x0000a402, 0x46000000, 0x00006181,
- 0x60001015, 0x0000e403, 0x7a4b673f, 0x0000f500, 0x01400003, 0x000086d0,
- 0x01800020, 0x0000e180, 0x01c00000, 0x0000c980, 0x7a4f672a, 0x0000f500,
- 0x00502800, 0x0000f900, 0x0004c290, 0x00008980, 0x40e0ac0f, 0x000000c3,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xc1006718, 0x00006283,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xa0404236, 0x0000f902,
+ 0x01800000, 0x00000000, 0xa0402836, 0x0000f902, 0x01000000, 0x00008000,
+ 0x1a400000, 0x000001d0, 0x05400000, 0x000001d8, 0x02000808, 0x0000e082,
+ 0x05c00000, 0x00008980, 0x01800006, 0x00006084, 0x1a800000, 0x00008980,
+ 0x01402a8c, 0x0000e002, 0x1a010020, 0x00008900, 0x01000004, 0x00006084,
+ 0x1ac0f81f, 0x00008900, 0xa0784236, 0x00005000, 0x00383000, 0x00008000,
+ 0xa0782836, 0x00005000, 0x00382000, 0x00000000, 0x1d000000, 0x000087d4,
+ 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
+ 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
+ 0x6ff31eb8, 0x0000f500, 0x20800000, 0x000088cc, 0x1a5f4432, 0x0000009c,
+ 0x00001c06, 0x00009583, 0x00005c06, 0x00001583, 0x00001406, 0x00001583,
+ 0x00007027, 0x0000f008, 0x00007027, 0x0000f008, 0x0000700f, 0x0000f010,
+ 0x00402800, 0x00007900, 0x0004d900, 0x00008980, 0x014000e1, 0x000080d0,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x82203001, 0x0000e080,
+ 0xa2a03005, 0x00003002, 0x04147004, 0x00006187, 0xd3603001, 0x0000b004,
+ 0x703828ec, 0x0000d600, 0x00382000, 0x00000000, 0x40e0ac0f, 0x000000c3,
+ 0x008806ec, 0x00005f80, 0x00804140, 0x00000a84, 0x01000000, 0x00009980,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04147004, 0x0000e987,
+ 0x700708ec, 0x0000d680, 0x00382002, 0x00008000, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x03c00000, 0x000001c8, 0x001018ec, 0x00005780,
+ 0x00884980, 0x00000180, 0x81002302, 0x00006780, 0x0000180f, 0x00002106,
+ 0x0318b000, 0x00007900, 0x000372c0, 0x00008980, 0x03400000, 0x00007900,
+ 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
+ 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188, 0xc000180f, 0x00006006,
+ 0x45102012, 0x0000b107, 0x04000000, 0x0000e180, 0x04c00004, 0x00004980,
+ 0x01028000, 0x00006181, 0x03801002, 0x00004900, 0x00502800, 0x0000f900,
+ 0x0004c010, 0x00008980, 0x7007702d, 0x00007500, 0xc0207c15, 0x000000cd,
+ 0x80604404, 0x00009101, 0x702b7042, 0x0000f500, 0x01400020, 0x0000e180,
+ 0x19000000, 0x0000c980, 0x01800013, 0x000000dc, 0x00007022, 0x0000f200,
+ 0x01032000, 0x00009981, 0x00000001, 0x00007480, 0x000800ec, 0x00005780,
+ 0x00804140, 0x000082c0, 0x001850ec, 0x0000d780, 0x00004003, 0x00000080,
+ 0x0318b000, 0x00007900, 0x0002c000, 0x00000980, 0x03c00000, 0x000001c8,
+ 0x83202404, 0x0000e101, 0x0000180f, 0x0000e106, 0x81002302, 0x00006780,
+ 0xc000180f, 0x0000a006, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x00000001, 0x00007480,
+ 0x04000000, 0x0000e180, 0x45102012, 0x0000e107, 0x03801002, 0x00006100,
+ 0x04c00004, 0x00004980, 0xc0000306, 0x00006582, 0x1d000000, 0x00008980,
+ 0x1d082805, 0x00008710, 0x1d400000, 0x0000e180, 0x04302874, 0x00006001,
+ 0x03009000, 0x0000f900, 0x0000f100, 0x00000980, 0x03400000, 0x00007900,
+ 0x00010000, 0x00000980, 0x03c00000, 0x00006180, 0x10000874, 0x0000e411,
+ 0x03a81402, 0x00008038, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
+ 0x0000705e, 0x0000f410, 0x1e800000, 0x000087ec, 0x1d401002, 0x00009910,
+ 0xc0000705, 0x00009583, 0x1d403807, 0x0000e110, 0x20000874, 0x0000e411,
+ 0x1d832064, 0x00009910, 0x0000705e, 0x00007010, 0x80000605, 0x00009583,
+ 0x9e680000, 0x0000e190, 0x1e001002, 0x00004910, 0x1e803807, 0x0000e110,
+ 0x1ec32064, 0x00004910, 0x1e603406, 0x00001911, 0x00000001, 0x00007280,
+ 0x000818ec, 0x00005780, 0x00884f40, 0x00000180, 0x03c09000, 0x000000f0,
+ 0x03400000, 0x00007900, 0x00018000, 0x00008980, 0x0000180f, 0x0000e106,
+ 0xd36b380d, 0x0000b004, 0x83901202, 0x0000e100, 0xc000180f, 0x00006006,
+ 0x00000001, 0x00007480, 0x03b33d02, 0x00000031, 0xc3333e67, 0x00001901,
+ 0x00046c64, 0x0000e583, 0x70000836, 0x0000a401, 0x0e000838, 0x0000e388,
+ 0x60001016, 0x0000a402, 0x80000265, 0x00009582, 0x1d000000, 0x0000e190,
+ 0x1d400000, 0x00004990, 0x1d800000, 0x00006190, 0x1dc00000, 0x0000c990,
+ 0x00000001, 0x00007088, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
+ 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
+ 0x707d7061, 0x00007500, 0x20800000, 0x000088cc, 0x19ce88a0, 0x00001980,
+ 0x80001265, 0x00001582, 0x1d232464, 0x0000e109, 0xdd1b2364, 0x00004908,
+ 0x1d400875, 0x0000e388, 0x822b2074, 0x0000200a, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008818ec, 0x0000d780,
+ 0x00884f40, 0x00000280, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x00000001, 0x0000f080, 0x05000008, 0x000001d4,
+ 0x05800000, 0x000081dc, 0xc1006718, 0x00009283, 0xc1001f18, 0x00009283,
+ 0x80192a3e, 0x00001502, 0x00007093, 0x0000f010, 0x000070a3, 0x0000f008,
+ 0x000070a3, 0x0000f008, 0x70957061, 0x00007300, 0x19ce80a0, 0x00009980,
+ 0x000818ec, 0x00005780, 0x00884f40, 0x00000280, 0x1d400000, 0x000007d8,
+ 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
+ 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8,
+ 0x20c00000, 0x0000e180, 0x9d192324, 0x00004900, 0x000070a4, 0x00007400,
+ 0x1d012d25, 0x0000033a, 0x01002000, 0x00009981, 0x01005000, 0x00001981,
+ 0xc1006718, 0x00006283, 0xc000a800, 0x00008981, 0x00502800, 0x0000f900,
+ 0x0004c010, 0x00008980, 0xc0c07800, 0x00006180, 0x20001814, 0x0000e413,
+ 0x70ae702d, 0x00007500, 0xc1001f18, 0x00006283, 0x80602404, 0x00008901,
+ 0x00001814, 0x0000ec13, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xe2c0178b, 0x0000e181,
+ 0x99642484, 0x00008900, 0x70bd706b, 0x00007500, 0x592c2484, 0x00008611,
+ 0xd9133a67, 0x00001900, 0x80046e84, 0x00009583, 0x8003c684, 0x00001593,
+ 0x0318b000, 0x0000f910, 0x000371c0, 0x00008980, 0x03400000, 0x0000f910,
+ 0x00018008, 0x00000980, 0x00000001, 0x00007088, 0x04800000, 0x00006180,
+ 0x81002302, 0x0000c780, 0x03c00000, 0x00006180, 0x45102012, 0x0000e107,
+ 0x01040492, 0x00006283, 0x0000180f, 0x00002106, 0x04401000, 0x00007900,
+ 0x0001c000, 0x00000980, 0x04000000, 0x0000e180, 0xc000180f, 0x00006006,
+ 0x04c00004, 0x00006180, 0x03801002, 0x00004900, 0x1d000000, 0x000087d4,
+ 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
+ 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
+ 0x000070df, 0x0000f408, 0x20800000, 0x000088cc, 0x01000800, 0x00009988,
+ 0xffffffff, 0x00007f86, 0x08045804, 0x00006a06, 0x00001c04, 0x0000e583,
+ 0x01000000, 0x00000980, 0x01000800, 0x00009988, 0x001018ec, 0x00005780,
+ 0x00884980, 0x00000180, 0x1d61e43c, 0x0000e101, 0x92602074, 0x00006000,
+ 0x00000001, 0x00007480, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
+ 0xdd39e73c, 0x00006101, 0xe2c0378b, 0x0000c181, 0xc1006718, 0x00006283,
0x05000000, 0x00008980, 0x05400000, 0x000001d8, 0x01c02000, 0x00006189,
- 0x05c00000, 0x00004980, 0x00007acb, 0x00007010, 0x40004518, 0x0000e583,
+ 0x05c00000, 0x00004980, 0x00007162, 0x0000f010, 0x40004518, 0x0000e583,
0x1a400000, 0x00008980, 0x1a400432, 0x000086b0, 0x1b400000, 0x0000e180,
0x33c18869, 0x00006001, 0x1b800000, 0x0000e180, 0x43c18869, 0x0000e001,
0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180,
0x1a010020, 0x00004900, 0x1af9571f, 0x00008628, 0x1d000000, 0x000087d4,
0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x00007afe, 0x0000f410,
+ 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x00007195, 0x0000f410,
0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x00000438, 0x0000e583,
- 0x60001016, 0x0000a402, 0x1d59e03c, 0x00008710, 0x00007a8e, 0x0000f049,
- 0x0021243c, 0x00009503, 0x00007a8e, 0x0000f00b, 0xc03d833a, 0x0000f900,
+ 0x60001016, 0x0000a402, 0x1d59e03c, 0x00008710, 0x00007125, 0x0000f049,
+ 0x0021243c, 0x00009503, 0x00007125, 0x0000f00b, 0xc03d833a, 0x0000f900,
0x00000002, 0x00008582, 0x81010618, 0x0000e283, 0xce800000, 0x000009b8,
- 0x0143fc23, 0x0000e291, 0x02801002, 0x00008910, 0x81801b3a, 0x00006790,
- 0x01003c23, 0x00000791, 0x00007ad9, 0x00007008, 0xc2985404, 0x00006300,
- 0x8303fc23, 0x00000280, 0x01003000, 0x00001981, 0x37805a0c, 0x00007902,
+ 0x0183fc23, 0x0000e291, 0x02801002, 0x00008910, 0x81001b3a, 0x0000e790,
+ 0x01403c23, 0x00008791, 0x00007170, 0x0000f008, 0xc2985405, 0x0000e300,
+ 0x8303fc23, 0x00000280, 0x01403000, 0x00009981, 0x37805a0c, 0x00007902,
0x02400000, 0x00008100, 0xffffffff, 0x00007fa7, 0x00005009, 0x00001502,
- 0x00007ad1, 0x0000f013, 0x00205c24, 0x00001503, 0x81004c05, 0x000098f0,
- 0x81903204, 0x00001070, 0x00007ad1, 0x0000f058, 0x81010618, 0x0000e283,
- 0x81804206, 0x00000080, 0x37b82e06, 0x0000a100, 0x00007ac3, 0x0000740b,
- 0xffffffff, 0x00007f86, 0x8e982b05, 0x00001900, 0x0e040038, 0x00009380,
- 0x00010026, 0x00001502, 0x00007b1f, 0x0000f073, 0x0001003b, 0x00001502,
- 0x00007ab6, 0x00007073, 0x0001001a, 0x00001502, 0x5d691d23, 0x0000e171,
- 0xa0000874, 0x0000e470, 0x00007aa6, 0x00007071, 0x00010027, 0x00009502,
- 0x01066800, 0x000099d8, 0x00007aa4, 0x0000f071, 0x7a9a672f, 0x0000f100,
+ 0x00007168, 0x0000f013, 0x00205c24, 0x00001503, 0x81404c06, 0x000018f0,
+ 0x81102205, 0x00009070, 0x00007168, 0x0000f058, 0x81010618, 0x0000e283,
+ 0x81004204, 0x00000080, 0x37b83604, 0x00002100, 0x0000715a, 0x0000f40b,
+ 0xffffffff, 0x00007f86, 0x8e983306, 0x00001900, 0x0e040038, 0x00009380,
+ 0x00010026, 0x00001502, 0x000071b6, 0x0000f073, 0x0001003b, 0x00001502,
+ 0x0000714d, 0x00007073, 0x0001001a, 0x00001502, 0x5d691d23, 0x0000e171,
+ 0xa0000874, 0x0000e470, 0x0000713d, 0x00007071, 0x00010027, 0x00009502,
+ 0x01066800, 0x000099d8, 0x0000713b, 0x00007071, 0x71317032, 0x0000f100,
0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x00502800, 0x0000f900,
0x0000c000, 0x00008980, 0x0018d0ec, 0x00005780, 0x00004801, 0x00000080,
0xc0207c15, 0x000000cd, 0x80603c07, 0x00001901, 0x008806ec, 0x00005f80,
0x00804140, 0x00000a84, 0x5d71e63c, 0x00006101, 0xa0000874, 0x00006400,
- 0x8f291d23, 0x0000e101, 0xb0000874, 0x0000e400, 0x7aac672f, 0x00007500,
+ 0x8f291d23, 0x0000e101, 0xb0000874, 0x0000e400, 0x71437032, 0x00007500,
0x05c80017, 0x00006380, 0x09c0d01a, 0x00000900, 0x01066800, 0x00001980,
0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x00502800, 0x0000f900,
0x0000c000, 0x00008980, 0x0018d0ec, 0x00005780, 0x00004801, 0x00000080,
0xc0207c15, 0x000000cd, 0x80603c07, 0x00001901, 0x008806ec, 0x00005f80,
0x00804140, 0x00000a84, 0x00000438, 0x0000e583, 0x1d001074, 0x00000380,
- 0x8199cb39, 0x00006100, 0xa0000874, 0x00006400, 0x8e69c839, 0x0000871c,
- 0x00007a92, 0x0000f440, 0x1e29273b, 0x00000324, 0x0ec13026, 0x00001900,
- 0x8010323a, 0x00009502, 0x8e51d23a, 0x00009968, 0x00007ac1, 0x00007061,
- 0x00007a92, 0x00007200, 0xddd1ca39, 0x00009900, 0x65bb2036, 0x00006001,
+ 0x8119cb39, 0x0000e100, 0xa0000874, 0x00006400, 0x8e69c839, 0x0000871c,
+ 0x00007129, 0x00007440, 0x1e29273b, 0x00000324, 0x0ec13026, 0x00001900,
+ 0x8010223a, 0x00001502, 0x8e51d23a, 0x00009968, 0x00007158, 0x0000f061,
+ 0x00007129, 0x0000f200, 0xddd1ca39, 0x00009900, 0x65bb2036, 0x00006001,
0x60001838, 0x00003484, 0x8e032965, 0x0000032a, 0x4f232464, 0x0000e101,
0xa2ab2038, 0x0000e004, 0xce82833a, 0x00001080, 0x0ac10726, 0x00004571,
- 0xfec1073b, 0x0000fc74, 0x7acf6768, 0x00007500, 0x19400800, 0x0000e180,
- 0x20001814, 0x00006403, 0x19000000, 0x00009980, 0x00007a57, 0x00007200,
- 0x01c01000, 0x00009981, 0x01000c04, 0x00009183, 0x02400002, 0x00001990,
- 0xc2680500, 0x00001910, 0x00007b3a, 0x00007008, 0x770000ec, 0x00005680,
- 0x00384800, 0x00008000, 0x00c002ec, 0x0000df80, 0x1793f00b, 0x00001684,
- 0x0180263d, 0x0000e481, 0x0131ee3d, 0x0000c901, 0x8f40263d, 0x00009c81,
- 0x00000c06, 0x00001583, 0x00007b50, 0x0000f01b, 0x8187fb3e, 0x00009280,
- 0x01202206, 0x00009000, 0x00080004, 0x00009582, 0x01800000, 0x000099d1,
- 0x00007b8c, 0x00007039, 0x0140033a, 0x0000f900, 0x0000000c, 0x00008080,
- 0x0100f805, 0x0000e784, 0x834ffd00, 0x00008280, 0x0241a005, 0x00006002,
- 0x02b00004, 0x00000980, 0x0201a804, 0x0000e004, 0xc2981302, 0x00000900,
- 0x00000406, 0x00006583, 0x01000540, 0x00008980, 0x81280500, 0x00009900,
- 0x02c28000, 0x00007900, 0x00007fc0, 0x00000980, 0x00007b67, 0x00007410,
- 0x01428000, 0x0000f900, 0x000014c4, 0x00000980, 0x75d06804, 0x0000e901,
- 0x700280ec, 0x0000d680, 0x003824c4, 0x00008010, 0x703848ec, 0x0000d600,
- 0x00384000, 0x00000000, 0x700280ec, 0x0000d680, 0x003857c0, 0x00000078,
- 0x00c002ec, 0x0000df80, 0x1797e00b, 0x00001684, 0xa3410618, 0x00007896,
- 0x1bc00000, 0x00003d86, 0x40002518, 0x00001583, 0x01803e47, 0x0000e289,
- 0x10003874, 0x0000a40e, 0x01000000, 0x00009989, 0x00007b2d, 0x00007010,
- 0x00002406, 0x00001583, 0x00001c06, 0x00006583, 0x01000800, 0x00008991,
- 0x0b023c06, 0x00006808, 0x41202074, 0x0000e800, 0x00007b48, 0x00007008,
- 0x00003c06, 0x0000e583, 0x0b023c06, 0x0000a000, 0x00007b46, 0x0000f00b,
- 0x01010406, 0x0000e381, 0x0ac23c06, 0x00002000, 0x01800c06, 0x00009880,
- 0x01203404, 0x0000e301, 0x0f824406, 0x00002004, 0x01801406, 0x00009880,
- 0x5d203404, 0x00001301, 0x7b15672f, 0x00007300, 0x01067000, 0x00001980,
+ 0xfec1073b, 0x0000fc74, 0x7166706b, 0x0000f500, 0x19400800, 0x0000e180,
+ 0x20001814, 0x00006403, 0x19000000, 0x00009980, 0x000070ee, 0x0000f200,
+ 0x01c01000, 0x00009981, 0x01400c05, 0x00009183, 0x02400002, 0x00001990,
+ 0xc2680500, 0x00001910, 0x000071d2, 0x00007008, 0x770000ec, 0x00005680,
+ 0x00384800, 0x00008000, 0x00c002ec, 0x0000df80, 0x1708a80b, 0x00001684,
+ 0x0100263d, 0x00006481, 0x0171ee3d, 0x00004901, 0x8f40263d, 0x00009c81,
+ 0x00000c04, 0x00009583, 0x000071e8, 0x0000f01b, 0x8107fb3e, 0x00001280,
+ 0x01602a04, 0x00001000, 0x00080005, 0x00001582, 0x01000000, 0x000019d1,
+ 0x00007224, 0x0000f039, 0x0180033a, 0x0000f900, 0x0000000c, 0x00008080,
+ 0x0140f806, 0x00006784, 0x02c00540, 0x00008980, 0x0241a006, 0x00006002,
+ 0x834ffd00, 0x00008280, 0x0141a805, 0x0000e004, 0x82e80500, 0x00000900,
+ 0x00000404, 0x0000e583, 0x01b00004, 0x00000980, 0x03028000, 0x0000f900,
+ 0x000014c4, 0x00000980, 0x02028000, 0x00007900, 0x00007fc0, 0x00000980,
+ 0x000071ff, 0x0000f210, 0xc1981302, 0x0000e100, 0x75d0680b, 0x00006101,
+ 0x700280ec, 0x0000d680, 0x00385cc4, 0x00008010, 0x703848ec, 0x0000d600,
+ 0x00382800, 0x00008000, 0x700280ec, 0x0000d680, 0x003837c0, 0x00000078,
+ 0x00c002ec, 0x0000df80, 0x170c980b, 0x00009684, 0x49010618, 0x00007896,
+ 0xd3800000, 0x0000388a, 0x40002518, 0x00001583, 0x01003e47, 0x00006289,
+ 0x10003874, 0x0000a40e, 0x01400000, 0x00001989, 0x000071c4, 0x0000f010,
+ 0x00002404, 0x00009583, 0x00001c04, 0x0000e583, 0x01400800, 0x00000991,
+ 0x0b023c04, 0x0000e808, 0x41202874, 0x00006800, 0x000071e0, 0x0000f008,
+ 0x00003c04, 0x00006583, 0x0b023c04, 0x00002000, 0x000071de, 0x0000700b,
+ 0x01410404, 0x0000e381, 0x0ac23c04, 0x0000a000, 0x01000c04, 0x00009880,
+ 0x01602405, 0x00006301, 0x0f824404, 0x0000a004, 0x01001404, 0x00009880,
+ 0x5d202405, 0x00001301, 0x71ac7032, 0x0000f300, 0x01067000, 0x00001980,
0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x00502800, 0x0000f900,
0x0000c000, 0x00008980, 0x0018d0ec, 0x00005780, 0x00004801, 0x00000080,
0xc0207c15, 0x000000cd, 0x80603c07, 0x00001901, 0x008806ec, 0x00005f80,
0x00804140, 0x00000a84, 0x00000438, 0x0000e583, 0x60000816, 0x0000a402,
0x1d001074, 0x00006380, 0xc0000816, 0x00002403, 0x8e592324, 0x00006100,
- 0xa0000874, 0x00006400, 0x1df93524, 0x00000720, 0x00007a92, 0x0000f440,
+ 0xa0000874, 0x00006400, 0x1df93524, 0x00000720, 0x00007129, 0x00007440,
0x08e92524, 0x00008324, 0x0ec13026, 0x00001900, 0x8019223a, 0x00001502,
- 0x8e51d23a, 0x00009968, 0x00007ac1, 0x00007061, 0x00007ac1, 0x0000f000,
- 0x01c00020, 0x00006180, 0x08001a06, 0x0000e106, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04464800, 0x0000f900, 0x00337e9c, 0x00008980,
- 0x01400000, 0x00006180, 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e,
- 0x7b3a20b1, 0x00007500, 0x0308c702, 0x0000810b, 0x81c01000, 0x0000e180,
- 0x03d03206, 0x0000c900, 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0463e800, 0x00007900,
- 0x003db776, 0x00008980, 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901,
- 0x82f81400, 0x00008030, 0x7b4620b1, 0x0000f500, 0xc4812023, 0x0000803f,
- 0x81c01000, 0x00009980, 0x01020431, 0x00009283, 0x00007b0c, 0x00007013,
- 0x01020406, 0x0000e381, 0x0ac23c06, 0x00002000, 0x01800c06, 0x00009880,
- 0x01203404, 0x0000e301, 0x0f824406, 0x00002004, 0x00007b13, 0x0000f400,
- 0x01801406, 0x00009880, 0x5d203404, 0x00001301, 0x0b81b406, 0x00006806,
- 0x00000c06, 0x00001583, 0x01808c06, 0x000010b8, 0x38401406, 0x000098b9,
- 0x00007ade, 0x00007050, 0x8000163d, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00007b60, 0x00007433, 0x12020300, 0x0000f904, 0x12820300, 0x00007904,
- 0x80001e3d, 0x00001583, 0x13020300, 0x00007904, 0x13820300, 0x0000f904,
- 0x00007b60, 0x0000f030, 0x14020300, 0x0000f904, 0x14820300, 0x00007904,
- 0x8187fb3e, 0x00006280, 0x20000836, 0x0000a407, 0x01202206, 0x00009000,
- 0x00080004, 0x00009582, 0x01800000, 0x000099d1, 0x00007ae3, 0x00007051,
- 0x00007b8c, 0x00007000, 0xc0000005, 0x0000e406, 0x00000004, 0x00003586,
- 0x703828ec, 0x0000d600, 0x00382000, 0x00000000, 0x703848ec, 0x0000d600,
- 0x00384000, 0x00000000, 0x02000034, 0x0000f900, 0x00000010, 0x00008082,
- 0x01000035, 0x0000e084, 0x02400400, 0x00000980, 0xc000033f, 0x00006582,
- 0x82680500, 0x00008900, 0xcfc00b3f, 0x00006190, 0xcfc00a3f, 0x00008188,
- 0x75d06809, 0x0000e101, 0x00804005, 0x0000b586, 0xc000033f, 0x00006582,
- 0x0000400b, 0x00002586, 0x01800e3f, 0x0000e191, 0x01800c3f, 0x00000189,
- 0x700280ec, 0x0000d680, 0x003857c0, 0x00000078, 0x01801c06, 0x00006080,
- 0x10820040, 0x0000c900, 0x01803008, 0x00006002, 0x10c20841, 0x00008900,
- 0x703828ec, 0x0000d600, 0x00384800, 0x00008000, 0x01000004, 0x00009084,
- 0x703830ec, 0x0000d600, 0x00382000, 0x00000000, 0x703858ec, 0x00005600,
- 0x00385000, 0x00008000, 0x00c002ec, 0x0000df80, 0x179c500b, 0x00001684,
- 0xa3410618, 0x00007896, 0x1bc00000, 0x00003d86, 0x01b1ea06, 0x00009000,
- 0x00007ae3, 0x00007400, 0x00080006, 0x0000e582, 0x01800000, 0x00000981,
- 0x01800800, 0x000019d1, 0x8102063b, 0x00009283, 0x2702009c, 0x0000e388,
+ 0x8e51d23a, 0x00009968, 0x00007158, 0x0000f061, 0x00007158, 0x00007000,
+ 0x01400020, 0x0000e180, 0x08001a04, 0x00006106, 0x01902204, 0x0000e100,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04464800, 0x0000f900, 0x00337e9c, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x71d22213, 0x00007500,
+ 0xc4801118, 0x00000095, 0x01c03006, 0x00001900, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0463e800, 0x00007900, 0x003db776, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x71de2213, 0x00007500,
+ 0xc4812023, 0x0000001f, 0x81401000, 0x00001980, 0x01420431, 0x00001283,
+ 0x000071a3, 0x00007013, 0x01420404, 0x0000e381, 0x0ac23c04, 0x0000a000,
+ 0x01000c04, 0x00009880, 0x01602405, 0x00006301, 0x0f824404, 0x0000a004,
+ 0x000071aa, 0x00007400, 0x01001404, 0x00009880, 0x5d202405, 0x00001301,
+ 0x0b81b404, 0x0000e806, 0x00000c04, 0x00009583, 0x01008c04, 0x000010b8,
+ 0x38401404, 0x000018b9, 0x00007175, 0x00007050, 0x8000163d, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x000071f8, 0x0000f433, 0x12020300, 0x0000f904,
+ 0x12820300, 0x00007904, 0x80001e3d, 0x00001583, 0x13020300, 0x00007904,
+ 0x13820300, 0x0000f904, 0x000071f8, 0x00007030, 0x14020300, 0x0000f904,
+ 0x14820300, 0x00007904, 0x8107fb3e, 0x0000e280, 0x20000836, 0x0000a407,
+ 0x01602a04, 0x00001000, 0x00080005, 0x00001582, 0x01000000, 0x000019d1,
+ 0x0000717a, 0x0000f051, 0x00007224, 0x0000f000, 0xc000000c, 0x0000e406,
+ 0x0000000b, 0x00003586, 0x703860ec, 0x0000d600, 0x00385800, 0x00000000,
+ 0x703848ec, 0x0000d600, 0x00382800, 0x00008000, 0x02400034, 0x00007900,
+ 0x00000010, 0x00008082, 0x01400035, 0x00006084, 0x02c00400, 0x00008980,
+ 0xc000033f, 0x00006582, 0x82e80500, 0x00000900, 0xcfc00b3f, 0x00006190,
+ 0xcfc00a3f, 0x00008188, 0x75d0680b, 0x00006101, 0x0080400c, 0x0000b586,
+ 0xc000033f, 0x00006582, 0x00004008, 0x00002586, 0x01000e3f, 0x00006191,
+ 0x01000c3f, 0x00008189, 0x700280ec, 0x0000d680, 0x003837c0, 0x00000078,
+ 0x01001c04, 0x00006080, 0x10820040, 0x0000c900, 0x02402009, 0x00006002,
+ 0x10c20841, 0x00008900, 0x703860ec, 0x0000d600, 0x00385800, 0x00000000,
+ 0x01000005, 0x00001084, 0x703848ec, 0x0000d600, 0x00382000, 0x00000000,
+ 0x703840ec, 0x00005600, 0x00383000, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x1711100b, 0x00009684, 0x49010618, 0x00007896, 0xd3800000, 0x0000388a,
+ 0x0131ea04, 0x00009000, 0x0000717a, 0x0000f400, 0x00080004, 0x00006582,
+ 0x01000000, 0x00008981, 0x01000800, 0x000099d1, 0xc1018718, 0x00006283,
+ 0x05004000, 0x00000980, 0x05400000, 0x000001d8, 0x05c00000, 0x00001980,
+ 0x0000724a, 0x0000f008, 0x41001d19, 0x00001283, 0xa0001015, 0x00006c0a,
+ 0x60000815, 0x0000ec0b, 0x0000724a, 0x0000f008, 0x81004618, 0x00001283,
+ 0x80000630, 0x00009583, 0xffffffff, 0x00007f86, 0x0000724a, 0x0000f008,
+ 0x00007242, 0x00007008, 0x01c00000, 0x0000e180, 0x81371ee3, 0x0000c900,
+ 0x7b403804, 0x0000a181, 0xc1f814ec, 0x00002880, 0xc1c004ec, 0x0000d000,
+ 0x00400140, 0x00000080, 0x7241426e, 0x0000f501, 0xc1f83aec, 0x00002880,
+ 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080, 0x72421aec, 0x00007100,
+ 0x05001014, 0x00006380, 0xa0001015, 0x0000a402, 0x46000000, 0x00006181,
+ 0x60001015, 0x0000e403, 0x724a7042, 0x0000f500, 0x01400003, 0x000086d0,
+ 0x01800020, 0x0000e180, 0x01c00000, 0x0000c980, 0x724e702d, 0x00007500,
+ 0x00502800, 0x0000f900, 0x0004c290, 0x00008980, 0x40e0ac0f, 0x000000c3,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x00000004, 0x0000e582,
+ 0x99b71ee3, 0x00008900, 0x7b406066, 0x00002191, 0x000072b2, 0x0000f009,
+ 0x01040492, 0x00009283, 0x19800c0c, 0x00009081, 0x000072f1, 0x00007011,
+ 0x811c4b88, 0x0000e000, 0x0a44c205, 0x0000a100, 0xe4102a04, 0x0000e000,
+ 0x03800000, 0x00000980, 0x01040492, 0x00006283, 0x03401002, 0x00008900,
+ 0x83b02889, 0x00008039, 0x01198821, 0x00009108, 0x000072e9, 0x0000f010,
+ 0x011c4004, 0x00001100, 0x0004b804, 0x00001502, 0x8000080e, 0x0000ec69,
+ 0x99800c66, 0x00006080, 0x81233466, 0x0000c900, 0x14402a04, 0x0000f902,
+ 0x01000000, 0x00008000, 0xbbf83466, 0x00002080, 0xbbc07a66, 0x0000f902,
+ 0x01c00000, 0x00008000, 0xffffffff, 0x00007f97, 0x99583305, 0x00009100,
+ 0x80004a65, 0x00009582, 0xc0307f0f, 0x00001503, 0xffffffff, 0x00007f86,
+ 0x000072dd, 0x0000f030, 0x000072da, 0x0000f008, 0x99747390, 0x00009100,
+ 0x80103a65, 0x00001502, 0x01000c0f, 0x00001283, 0xffffffff, 0x00007f86,
+ 0x00007328, 0x00007018, 0x00007334, 0x00007008, 0x01400000, 0x000080d0,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x01400c0c, 0x00006081,
+ 0x04147004, 0x0000a187, 0x7006f8ec, 0x00005680, 0x00382002, 0x00008000,
+ 0xc1f874ec, 0x0000d000, 0x00386800, 0x00000000, 0xc1fc66ec, 0x00003838,
+ 0xc23c70ec, 0x0000b838, 0xc1f82aec, 0x0000a880, 0xc23c82ec, 0x00003838,
+ 0xc23c94ec, 0x0000b838, 0xc23c26ec, 0x0000b838, 0x728a41a0, 0x00007500,
+ 0xc27c30ec, 0x0000b838, 0xc1c002ec, 0x0000d000, 0x00400000, 0x00000080,
+ 0x01040492, 0x00006283, 0x03c00000, 0x00008980, 0x04800000, 0x00006180,
+ 0x0000180f, 0x0000e106, 0x99802302, 0x0000e780, 0xc000180f, 0x0000a006,
+ 0x0318b000, 0x00007900, 0x000371c0, 0x00008980, 0x03400000, 0x00007900,
+ 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
+ 0x04000000, 0x0000e180, 0x45133012, 0x00006107, 0x04c00004, 0x00006180,
+ 0x03801002, 0x00004900, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
+ 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
+ 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x000072a8, 0x00007408,
+ 0x20800000, 0x000088cc, 0x19800800, 0x00006188, 0x08045865, 0x0000e216,
+ 0x19800000, 0x00001980, 0x00001c65, 0x00009583, 0x19800800, 0x00001988,
+ 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x1d61e43c, 0x0000e101,
+ 0x92633074, 0x0000e000, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
+ 0x00000001, 0x00007480, 0xe2c0378b, 0x00006181, 0x6a800800, 0x00000981,
+ 0xdd39e73c, 0x00001901, 0x99771ee3, 0x00006100, 0x03901202, 0x00004900,
+ 0x7b7b2865, 0x00002100, 0x7b433066, 0x0000a181, 0x434c508a, 0x00008035,
+ 0x4354538a, 0x00008035, 0x99771ee3, 0x00006100, 0x01000865, 0x00004080,
+ 0x7b782065, 0x00002900, 0x99800c66, 0x00006080, 0x81000000, 0x00004980,
+ 0x7b402065, 0x00002181, 0xbbf82c66, 0x00002080, 0xbbc03a66, 0x00007902,
+ 0x01800000, 0x00000000, 0xffffffff, 0x00007f86, 0x14406204, 0x0000f902,
+ 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x99582b0c, 0x00009100,
+ 0x80004a65, 0x00009582, 0xc0303f07, 0x00001503, 0xffffffff, 0x00007f86,
+ 0x0000731c, 0x0000f030, 0x00007319, 0x00007008, 0x99747390, 0x00009100,
+ 0x80103265, 0x00009502, 0x01000c07, 0x00009283, 0xffffffff, 0x00007f86,
+ 0x00007342, 0x00007018, 0x0000734e, 0x0000f008, 0x01000000, 0x000080d4,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x99b71ee3, 0x00006100,
+ 0x04147004, 0x00006187, 0x0000727e, 0x00007400, 0x7006f8ec, 0x00005680,
+ 0x00382002, 0x00008000, 0x7b402866, 0x0000a181, 0x99983a05, 0x00009100,
+ 0x80001a66, 0x00009582, 0x00007271, 0x0000f01b, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x045aa800, 0x0000f900, 0x002cdcf2, 0x00000980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x84bcbe02, 0x0000801c,
+ 0x81401000, 0x00001980, 0x72e92213, 0x00007100, 0x08045865, 0x0000ea06,
+ 0x00000c65, 0x00001583, 0x01198821, 0x00009108, 0x011c4004, 0x00009108,
+ 0x00007263, 0x00007010, 0x00007263, 0x00007400, 0x0004b804, 0x00001502,
+ 0x8000080e, 0x0000ec69, 0x99400c66, 0x00006080, 0x81233466, 0x0000c900,
+ 0x14402a04, 0x0000f902, 0x01000000, 0x00008000, 0xbbc32c65, 0x00002082,
+ 0x81233466, 0x00009900, 0xffffffff, 0x00007f86, 0x14403a04, 0x00007902,
+ 0x01000000, 0x00008000, 0x99532b05, 0x00001100, 0x80004a65, 0x00009582,
+ 0x81805265, 0x00006198, 0x81800000, 0x000009b0, 0x99400c66, 0x00001880,
+ 0xbbe02a65, 0x00007902, 0x81180700, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x81502405, 0x00001100, 0xbbe02265, 0x00002081, 0x81503a05, 0x00009000,
+ 0xffffffff, 0x00007f97, 0x99602205, 0x00001100, 0x80001a65, 0x00009582,
+ 0x99402265, 0x00001198, 0x99532a06, 0x00001c18, 0x0000730d, 0x0000f030,
+ 0x80000265, 0x00009582, 0x00007257, 0x0000f013, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04509800, 0x0000f900, 0x0025dd2e, 0x00000980, 0x04800000, 0x000080dc,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x73192213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x81401000, 0x00001980, 0x9998320c, 0x00001100,
+ 0x80001a66, 0x00009582, 0x000072cb, 0x0000701b, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04481800, 0x00007900, 0x00233874, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x000072e8, 0x00007400,
+ 0x84bcbe02, 0x0000801c, 0x81401000, 0x00001980, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0458a000, 0x0000f900, 0x003e9380, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x000072e8, 0x00007400,
+ 0x84bcbe02, 0x0000801c, 0x81401000, 0x00001980, 0x01400020, 0x0000e180,
+ 0x04800000, 0x00004980, 0x040e6000, 0x0000f900, 0x00040d12, 0x00008980,
+ 0x045b4800, 0x0000f900, 0x00352ef0, 0x00008980, 0x01c00000, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x73422213, 0x0000f500, 0x82f81400, 0x0000803c, 0x04800c0c, 0x00006081,
+ 0x8140e800, 0x00000980, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04521000, 0x00007900,
+ 0x001a725e, 0x00008980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x82f81400, 0x0000803c, 0x000072e8, 0x00007400, 0x84bcbe02, 0x0000801c,
+ 0x81401000, 0x00001980, 0x01400020, 0x0000e180, 0x04800000, 0x00004980,
+ 0x99771ee3, 0x00006100, 0x08001a0b, 0x00006106, 0x040e6000, 0x0000f900,
+ 0x00040d12, 0x00008980, 0x045b4800, 0x0000f900, 0x00352ef0, 0x00008980,
+ 0x7b409065, 0x0000a181, 0x01c00000, 0x000000f4, 0x735c2213, 0x0000f500,
+ 0x82e00500, 0x0000802e, 0x8140e800, 0x0000e180, 0x03c01002, 0x0000c900,
+ 0x736070b0, 0x00007500, 0x21001000, 0x00007900, 0x00001e00, 0x00008980,
+ 0x19c00000, 0x00009980, 0x00000001, 0x0000f080, 0x736670b0, 0x00007500,
+ 0x19c00000, 0x0000e180, 0xe0000838, 0x00006400, 0x21001000, 0x00007900,
+ 0x00002340, 0x00008980, 0x00000001, 0x0000f080, 0x19000c38, 0x00009283,
+ 0xa55cca95, 0x00006108, 0x6607f598, 0x00000289, 0xe6400000, 0x0000e188,
+ 0x01000000, 0x00004990, 0x00000001, 0x00007088, 0xffc00000, 0x00006180,
+ 0x04147004, 0x00006187, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x00502800, 0x0000f900, 0x0004d910, 0x00000980, 0x700708ec, 0x0000d680,
+ 0x00382002, 0x00008000, 0x40e0ac0f, 0x000000c3, 0x008806ec, 0x00005f80,
+ 0x00804140, 0x00000a84, 0x19401000, 0x00007900, 0x00004000, 0x00000980,
+ 0x737e70b0, 0x00007500, 0x19d9c338, 0x00006100, 0x04232065, 0x0000e087,
+ 0x21032865, 0x00009900, 0x00000001, 0x0000f080, 0x0804e467, 0x0000e006,
+ 0x0b81b4af, 0x0000b006, 0xaae33c67, 0x0000e100, 0x99404b9c, 0x0000c080,
+ 0x7c7b20ab, 0x00002180, 0x99bfe265, 0x00007900, 0x0000003e, 0x00008280,
+ 0xab5722e4, 0x0000e100, 0x19408caf, 0x0000c080, 0x38401465, 0x00001881,
+ 0x0f01c464, 0x0000e802, 0xaba32464, 0x00009900, 0x09000b88, 0x000078b3,
+ 0x03800001, 0x00000000, 0x000006aa, 0x00007890, 0x00000000, 0x00000000,
+ 0x000003ac, 0x0000f892, 0x00000000, 0x00008020, 0xc2801b9c, 0x0000c4b0,
+ 0x06f18966, 0x00009d1a, 0x83dc4266, 0x0000f813, 0xbb800000, 0x0000398c,
+ 0x090002ac, 0x0000f88b, 0xfb800000, 0x0000ba80, 0xa1232464, 0x00001900,
+ 0x00004784, 0x0000f88c, 0x00000000, 0x00000000, 0x2ec04438, 0x0000788f,
+ 0x03800001, 0x00000060, 0xa1c05c67, 0x00004398, 0x00e00764, 0x00008090,
+ 0x00000464, 0x0000c090, 0x0000073d, 0x00000088, 0x0a40939c, 0x000078d3,
+ 0xb3800000, 0x0000398d, 0x4d51f325, 0x0000780a, 0x3bc00000, 0x00003a86,
+ 0x41000c64, 0x0000c591, 0x0840939c, 0x000081d1, 0x00001f64, 0x0000c090,
+ 0x00000464, 0x00000090, 0x02420438, 0x0000c48d, 0x3ce02d3c, 0x00009d96,
+ 0xab80739c, 0x000078d3, 0xfb800000, 0x00003a88, 0x15c01c64, 0x00004491,
+ 0x3ce02d3c, 0x00009d96, 0xab80739c, 0x000078d3, 0xfb800000, 0x00003a88,
+ 0x20c00f64, 0x0000c491, 0xd4e0739c, 0x00001ed1, 0x37c08438, 0x00007896,
+ 0x03c00001, 0x00008000, 0x3700009d, 0x0000f88a, 0x4bc00000, 0x00003b8f,
+ 0x03c00000, 0x000007d0, 0x1d400000, 0x0000e180, 0x0000180f, 0x0000e106,
+ 0x20c00000, 0x0000e180, 0x40000838, 0x0000e402, 0x0318b000, 0x00007900,
+ 0x00037140, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x01000802, 0x0000e180,
+ 0xc000180f, 0x00006006, 0x01400000, 0x00006180, 0x0197f840, 0x00004980,
+ 0x01c00000, 0x000001c0, 0x04800000, 0x00006180, 0x04ca0004, 0x00004980,
+ 0x03a81402, 0x00008038, 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8,
+ 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0,
+ 0x20400000, 0x000008c8, 0x9d94728e, 0x0000e100, 0xdd80a288, 0x00004080,
+ 0x99800a3e, 0x0000e080, 0xa140939c, 0x00000180, 0xc0000f3d, 0x00006583,
+ 0xdd39e73c, 0x00008901, 0xa0c00a3e, 0x00006080, 0x1d61e43c, 0x00000901,
+ 0x00142846, 0x00009502, 0xffffffff, 0x00007f86, 0x000075d2, 0x0000f010,
+ 0x00007609, 0x00007028, 0x99802302, 0x0000e780, 0x08023865, 0x0000a302,
+ 0x04804065, 0x00006784, 0x9dc0939c, 0x00008180, 0x04800012, 0x0000f900,
+ 0x00000200, 0x00000380, 0x1e822044, 0x00006100, 0x45133012, 0x00006107,
+ 0x1ec22845, 0x0000e100, 0xa100939c, 0x00004180, 0x9d632c65, 0x00001901,
+ 0x000808ec, 0x0000d780, 0x00004800, 0x00008080, 0x001018ec, 0x00005780,
+ 0x00884980, 0x00000180, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
+ 0x6a800daa, 0x0000e181, 0xe2c0378b, 0x00000181, 0x5942059c, 0x00009283,
+ 0x80001664, 0x00009583, 0xffffffff, 0x00007f86, 0x000075af, 0x0000f008,
+ 0x0000749f, 0x00007008, 0x1d000874, 0x00006380, 0x0b81b466, 0x00002006,
+ 0x19b9ec66, 0x00006001, 0x10000883, 0x0000a403, 0x1d3fd874, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x19400d3d, 0x0000e181, 0x19807c66, 0x00000281,
+ 0x0e3e7838, 0x00007900, 0x003ffffe, 0x00008280, 0x20ab2074, 0x0000e000,
+ 0x24a33036, 0x0000b007, 0x20450285, 0x00006000, 0x8f800a3e, 0x00000080,
+ 0xcf99f73d, 0x00006000, 0x1939ee3d, 0x00000101, 0xe0c00000, 0x00006181,
+ 0x4f400d3d, 0x00004181, 0x00000465, 0x00006583, 0x8f79ee3d, 0x00008101,
+ 0x00000464, 0x00001583, 0xffffffff, 0x00007f86, 0x00007497, 0x0000f008,
+ 0x00007497, 0x0000f008, 0x19808466, 0x00001080, 0x38401466, 0x00001881,
+ 0xffffffff, 0x00007fc7, 0x11020300, 0x0000f904, 0x11820300, 0x00007904,
+ 0x09823c64, 0x0000e804, 0x19400c64, 0x00009181, 0x00001c65, 0x00009583,
+ 0x000075c5, 0x0000701b, 0x8023263d, 0x00009503, 0xcf632464, 0x00001921,
+ 0x00007497, 0x0000f029, 0x800002ac, 0x00006582, 0xb9156aad, 0x00008900,
+ 0x0700e388, 0x00006000, 0x99000000, 0x00008980, 0x99000800, 0x00001988,
+ 0xffffffff, 0x00007f86, 0x92632074, 0x0000e800, 0x00000000, 0x0000f081,
+ 0x08045865, 0x0000ea06, 0x84801465, 0x0000c490, 0x28e01b9c, 0x00009db4,
+ 0x1c318966, 0x0000c519, 0x9ed44166, 0x0000f712, 0x74267250, 0x00007300,
+ 0x01000800, 0x00001980, 0xb9156aad, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0xc000939c, 0x00009582, 0x01018438, 0x00001283,
+ 0x4102059c, 0x00001283, 0x00007662, 0x00007010, 0x00007655, 0x0000f010,
+ 0x00007655, 0x0000f008, 0x01040492, 0x00006283, 0x03c00000, 0x00008980,
+ 0x04800000, 0x00006180, 0x0000180f, 0x0000e106, 0x99402302, 0x0000e780,
+ 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900, 0x000371c0, 0x00008980,
+ 0x03400000, 0x00007900, 0x00018008, 0x00000980, 0x04401000, 0x00007900,
+ 0x0001c000, 0x00000980, 0x04000000, 0x0000e180, 0x45132812, 0x00006107,
+ 0x04c00004, 0x00006180, 0x03801002, 0x00004900, 0x1d000000, 0x000087d4,
+ 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
+ 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
+ 0x0000744d, 0x0000f408, 0x20800000, 0x000088cc, 0x19c00800, 0x0000e188,
+ 0x080458ab, 0x00006216, 0x19c00000, 0x00009980, 0x00001cab, 0x00001583,
+ 0x19c00800, 0x00009988, 0x80001664, 0x00006583, 0x1d61e43c, 0x00000901,
+ 0xe2c0378b, 0x00006181, 0x92633874, 0x0000a000, 0x001018ec, 0x00005780,
+ 0x00884980, 0x00000180, 0x00007472, 0x0000f410, 0x0018d0ec, 0x00005780,
+ 0x00884941, 0x00000188, 0xdd39e73c, 0x00001901, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x000808ec, 0x0000d780, 0x00004800, 0x00008080,
+ 0x2ac0409d, 0x0000e780, 0x0187f8e0, 0x00000980, 0x001018ec, 0x00005780,
+ 0x00884980, 0x00000180, 0x048000ab, 0x00007900, 0x00000200, 0x00000380,
+ 0xd0000874, 0x0000e400, 0x30000883, 0x00003401, 0x82332006, 0x00006004,
+ 0x45132812, 0x00003107, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
+ 0x01000802, 0x0000e180, 0x01400000, 0x00004980, 0x01c64000, 0x000000f3,
+ 0x2004e89d, 0x00006100, 0xe2c0378b, 0x0000c181, 0x1d000874, 0x00006380,
+ 0x0b81b467, 0x0000a006, 0x2af9ec67, 0x00006001, 0x10000883, 0x0000a403,
+ 0x1d3fd874, 0x0000f900, 0x003ffffe, 0x00008280, 0x19400d3d, 0x0000e181,
+ 0x19c07cab, 0x00000281, 0x0e3e7838, 0x00007900, 0x003ffffe, 0x00008280,
+ 0x20ab2074, 0x0000e000, 0x24a33836, 0x00003007, 0x20400000, 0x00006180,
+ 0x8f800a3e, 0x0000c080, 0xcf99f73d, 0x00006000, 0x1939ee3d, 0x00000101,
+ 0xe0c00000, 0x00006181, 0x4f400d3d, 0x00004181, 0x00000465, 0x00006583,
+ 0x8f79ee3d, 0x00008101, 0x00000464, 0x00001583, 0xffffffff, 0x00007f86,
+ 0x00007497, 0x0000f008, 0x00007497, 0x0000f008, 0x2ac08467, 0x00001080,
+ 0x384014ab, 0x00009881, 0xffffffff, 0x00007fc7, 0x11020300, 0x0000f904,
+ 0x11820300, 0x00007904, 0x09823c64, 0x0000e804, 0x19c00c64, 0x00001181,
+ 0x00001c67, 0x00001583, 0x01a32464, 0x00009918, 0x000075c6, 0x0000f019,
+ 0x8023263d, 0x00009503, 0xcf632464, 0x00001921, 0x00007417, 0x0000f021,
+ 0x800002ac, 0x00006582, 0xb9156aad, 0x00008900, 0x59200000, 0x000083f5,
+ 0x0700e388, 0x00006000, 0x99000800, 0x00008988, 0xffffffff, 0x00007f86,
+ 0x92632074, 0x0000e800, 0x00000000, 0x0000f081, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x000808ec, 0x0000d780, 0x00004800, 0x00008080,
+ 0x19c0409d, 0x0000e780, 0x0187f8e0, 0x00000980, 0x001018ec, 0x00005780,
+ 0x00884980, 0x00000180, 0x04800067, 0x00007900, 0x00000200, 0x00000380,
+ 0xd0000874, 0x0000e400, 0x30000883, 0x00003401, 0x82332006, 0x00006004,
+ 0x45133012, 0x00003107, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
+ 0x01000802, 0x0000e180, 0x01400000, 0x00004980, 0x000073f3, 0x0000f400,
+ 0x01c64000, 0x000000f3, 0x2004e89d, 0x00006100, 0xe2c0378b, 0x0000c181,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0461f000, 0x0000f900, 0x002b14d4, 0x00008980,
+ 0xc1800064, 0x000080b4, 0x82e00500, 0x0000802e, 0x03f8e702, 0x00000108,
+ 0x81401000, 0x00001980, 0x74c72213, 0x0000f300, 0x01c03006, 0x00001900,
+ 0x2ad1f325, 0x0000e100, 0x8447fb3e, 0x00000280, 0x000040ab, 0x00006582,
+ 0x99c80000, 0x00000980, 0x03e1f625, 0x0000e151, 0x03c04000, 0x000009b9,
+ 0x19400034, 0x00007900, 0x00000010, 0x00008082, 0x01800035, 0x00006084,
+ 0x04c00440, 0x00000980, 0x01020438, 0x00006283, 0x84e80500, 0x00000900,
+ 0x81108a67, 0x00006100, 0x2ac02000, 0x00008991, 0x04402211, 0x0000e080,
+ 0x2ac04000, 0x00004989, 0x0400f811, 0x0000e784, 0x75e80013, 0x0000a101,
+ 0x01408840, 0x00006002, 0x4f607c0f, 0x00008901, 0x19800000, 0x0000f900,
+ 0x000014c4, 0x00000980, 0x04800000, 0x0000f900, 0x00007fc0, 0x00000980,
+ 0x04720004, 0x00006180, 0x03408041, 0x00004004, 0x840024ab, 0x00006080,
+ 0x03032865, 0x0000c900, 0x01c03006, 0x00006100, 0x00108066, 0x0000e106,
+ 0x80255a04, 0x00006502, 0x848024ab, 0x00000880, 0xc4581302, 0x00009900,
+ 0xc107fb3e, 0x00001282, 0xffffffff, 0x00007f86, 0x0000790e, 0x0000f028,
+ 0x00007964, 0x00007008, 0x703b30ec, 0x0000d600, 0x00389800, 0x00000000,
+ 0x703828ec, 0x0000d600, 0x00386800, 0x00000000, 0x703890ec, 0x0000d600,
+ 0x00388800, 0x00008000, 0x04000000, 0x000000f4, 0x01400000, 0x00009981,
+ 0x00c002ec, 0x0000df80, 0x1747b00b, 0x00009684, 0x00000c05, 0x00001583,
+ 0x000077d6, 0x0000f00b, 0x8f655cab, 0x00006101, 0x09823c67, 0x00006004,
+ 0x01000c67, 0x00001181, 0x00001c04, 0x00001583, 0x01a33c67, 0x0000e118,
+ 0x09823f3d, 0x00006034, 0x38424000, 0x0000e1b1, 0x20000836, 0x00006437,
+ 0x000075c6, 0x00007018, 0x0a40939c, 0x000078d3, 0xb3800000, 0x0000398d,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0459f800, 0x0000f900, 0x003e3c98, 0x00008980,
+ 0x8180079c, 0x000000b4, 0x82e00500, 0x0000802e, 0x000074c5, 0x00007400,
+ 0x03f8e702, 0x00000108, 0x81401000, 0x00001980, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04622000, 0x00007900, 0x002089e8, 0x00008980, 0xc1800067, 0x000080b4,
+ 0x82e00500, 0x0000802e, 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980,
+ 0x751a2213, 0x00007300, 0x01c03006, 0x00001900, 0x00002c64, 0x00001583,
+ 0xc000739c, 0x00001582, 0xffffffff, 0x00007f86, 0x0000771e, 0x00007010,
+ 0x000076ae, 0x0000f050, 0x0e018038, 0x0000e380, 0x03c00000, 0x00008980,
+ 0x1900e538, 0x00006281, 0x0000180f, 0x00002106, 0x00002464, 0x00006583,
+ 0x1d000008, 0x00000980, 0x1d400000, 0x000007f0, 0x0318b000, 0x00007900,
+ 0x00037140, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x01000802, 0x0000e180,
+ 0xc000180f, 0x00006006, 0x01400000, 0x00006180, 0x0197f840, 0x00004980,
+ 0x01c00000, 0x000001c0, 0x04800000, 0x00006180, 0x04ca0004, 0x00004980,
+ 0x03a81402, 0x00008038, 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8,
+ 0x1ec00000, 0x000007f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
+ 0x20800000, 0x000088cc, 0x9d94728e, 0x0000e100, 0xdd808288, 0x0000c080,
+ 0x00007681, 0x00007410, 0xaac0739c, 0x0000e180, 0xdd39e73c, 0x00008901,
+ 0x9f01e038, 0x00000714, 0x00155854, 0x00009502, 0x1900d800, 0x0000e1a8,
+ 0x04804057, 0x000047a0, 0x04800012, 0x00007920, 0x00000200, 0x00000380,
+ 0x00007678, 0x00007028, 0x99002302, 0x00006780, 0x1e82a855, 0x00008900,
+ 0x1542aaab, 0x0000e002, 0x45132012, 0x00002107, 0x9d62bc57, 0x00006101,
+ 0x9dc0739c, 0x0000c180, 0x1ec2b056, 0x0000e100, 0x19155854, 0x00004100,
+ 0x15800056, 0x00006084, 0x15155854, 0x00008100, 0x5942059c, 0x00009283,
+ 0x00000064, 0x00001582, 0xffffffff, 0x00007f86, 0x00007583, 0x00007008,
+ 0x00007677, 0x0000f010, 0x0e387838, 0x00007900, 0x003ffffe, 0x00008280,
+ 0x00000438, 0x0000e583, 0x2ac00c3c, 0x00008081, 0x0f000c3c, 0x00006081,
+ 0x1d400c3c, 0x00008081, 0x00007583, 0x00007049, 0x002124ab, 0x00001503,
+ 0x00007583, 0x0000700b, 0xc03d833a, 0x0000f900, 0x00000002, 0x00008582,
+ 0x8e010618, 0x0000e283, 0xce800000, 0x000009b8, 0x1603fc23, 0x00006291,
+ 0x15001002, 0x00000910, 0xaac01b3a, 0x0000e790, 0x0e803c23, 0x00008791,
+ 0x00007630, 0x0000f008, 0xd518143a, 0x0000e300, 0x95c3fc23, 0x00008280,
+ 0x0e803000, 0x00009981, 0x3782b257, 0x00007902, 0x15400000, 0x00008100,
+ 0xffffffff, 0x00007fa7, 0x0002a055, 0x00009502, 0x00007628, 0x0000f013,
+ 0x0022b424, 0x00009503, 0x8e804c58, 0x0000e0f0, 0x60001838, 0x0000e4f4,
+ 0xce82833a, 0x000060f0, 0x99d55a3a, 0x00000070, 0x00007628, 0x0000f058,
+ 0x383b2667, 0x00003138, 0x37baa667, 0x0000b138, 0x37fab067, 0x0000b138,
+ 0x37fac267, 0x0000b138, 0xce132a65, 0x00006100, 0x65bb2036, 0x00006001,
+ 0x37fad467, 0x00003138, 0x37fae667, 0x0000b138, 0x383af067, 0x00003138,
+ 0x383b0267, 0x00003138, 0x383b1467, 0x0000b138, 0x8e9b2b65, 0x00006100,
+ 0xa2ab2038, 0x0000e004, 0x4f232464, 0x00009901, 0x000808ec, 0x0000d780,
+ 0x00004800, 0x00008080, 0x99020636, 0x0000e283, 0x6a800daa, 0x00008181,
+ 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x0018d0ec, 0x00005780,
+ 0x00884941, 0x00000188, 0x00007417, 0x0000f208, 0xe2c0378b, 0x00009181,
+ 0x5902059c, 0x00001283, 0x00007417, 0x0000700b, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x2ac04057, 0x0000e780, 0x99c02302, 0x00000780,
+ 0x048000ab, 0x00007900, 0x00000200, 0x00000380, 0x81803800, 0x0000e181,
+ 0x45133812, 0x0000e107, 0x83064000, 0x00009981, 0xe2c0378b, 0x00009181,
+ 0x000808ec, 0x0000d780, 0x00004800, 0x00008080, 0x800002ac, 0x00006582,
+ 0xb9156aad, 0x00008900, 0x0700e388, 0x00006000, 0x99000000, 0x00008980,
+ 0x99000800, 0x00001988, 0x001018ec, 0x00005780, 0x00884980, 0x00000180,
+ 0x92632074, 0x0000e800, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
+ 0x00000000, 0x00007080, 0x19c00000, 0x0000e180, 0x21001340, 0x00004980,
+ 0x75bd70b0, 0x0000f100, 0x19d42284, 0x00001900, 0x00023067, 0x00001502,
+ 0x1193b846, 0x00001110, 0x0000766d, 0x0000f009, 0x11022277, 0x00009002,
+ 0xc000073d, 0x0000e583, 0x11400045, 0x00000084, 0x00007417, 0x00007013,
+ 0x8f800a3e, 0x00006080, 0xaac00a3e, 0x00000080, 0x75bd70b0, 0x00007500,
+ 0x21001000, 0x00007900, 0x00008140, 0x00000980, 0x19d55aab, 0x00001900,
+ 0x800002ac, 0x00006582, 0xb9156aad, 0x00008900, 0x0700e388, 0x00006000,
+ 0x99000000, 0x00008980, 0x99000800, 0x00001988, 0xffffffff, 0x00007f86,
+ 0x92632074, 0x0000e800, 0x00000000, 0x0000f081, 0x01a32464, 0x00009900,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0470f000, 0x0000f900, 0x003d53c4, 0x00008980,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c,
+ 0x75d22213, 0x0000f500, 0x84b8363e, 0x0000001c, 0x81401000, 0x00001980,
+ 0x99802302, 0x0000e780, 0x08023867, 0x00002302, 0x04804067, 0x0000e784,
+ 0x1e822044, 0x00008900, 0x00142846, 0x00006502, 0x1ec22845, 0x00000900,
+ 0x04800012, 0x0000f900, 0x00000200, 0x00000380, 0x9d633c67, 0x00006101,
+ 0x45133012, 0x00006107, 0x00007625, 0x0000f220, 0x19c23046, 0x00006100,
+ 0xa100939c, 0x000041a8, 0x000808ec, 0x0000d780, 0x00004800, 0x00008080,
+ 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x0018d0ec, 0x00005780,
+ 0x00884941, 0x00000188, 0x9dd33a67, 0x00001900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xcf400f3d, 0x0000e181, 0x0b81b4ab, 0x0000a006,
+ 0xc000073d, 0x0000e583, 0x19c00cab, 0x00000081, 0x11020300, 0x0000f904,
+ 0x6a800daa, 0x0000e181, 0x24a33836, 0x0000a007, 0xe2c0378b, 0x00006181,
+ 0xa1123284, 0x00008100, 0x0000761f, 0x0000f408, 0x11820300, 0x00007904,
+ 0x8f400e3d, 0x0000e181, 0xcf800b3e, 0x00000080, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x19542284, 0x0000e100, 0x080238ab, 0x0000e302,
+ 0x048040ab, 0x0000e784, 0x99802302, 0x00008780, 0x00023065, 0x00006502,
+ 0xdd9bb277, 0x00008000, 0x04800012, 0x0000f900, 0x00000200, 0x00000380,
+ 0x1e822044, 0x00006100, 0x45133012, 0x00006107, 0x000075df, 0x00007418,
+ 0x1efa3745, 0x0000861c, 0x9dd42284, 0x00006130, 0x9d655cab, 0x00004901,
+ 0x000073e6, 0x0000f000, 0x75bd70b0, 0x00007500, 0x21001000, 0x00007900,
+ 0x00008140, 0x00000980, 0x19d33266, 0x00006100, 0x8f800a3e, 0x0000c080,
+ 0x000075bd, 0x00007000, 0x76117250, 0x00007300, 0x01000800, 0x00001980,
+ 0xb9156aad, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x047a9800, 0x00007900, 0x001df482, 0x00000980,
+ 0x8180079c, 0x000000b4, 0x82e00500, 0x0000802e, 0x000074c5, 0x00007400,
+ 0x03f8e702, 0x00000108, 0x81401000, 0x00001980, 0x8f800a3e, 0x00006080,
+ 0xaac00a3e, 0x00000080, 0x000075ae, 0x00007400, 0x21001000, 0x00007900,
+ 0x00008140, 0x00000980, 0x19d55aab, 0x00001900, 0x000073e6, 0x00007400,
+ 0xa100939c, 0x00001180, 0x9dd42284, 0x00001900, 0x0e800c3a, 0x00009183,
+ 0x15400002, 0x00001990, 0xd5680500, 0x00001910, 0x00007649, 0x00007008,
+ 0x770000ec, 0x00005680, 0x003aa800, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x174b500b, 0x00001684, 0x21800540, 0x00001980, 0x1980033a, 0x0000f900,
+ 0x0000000c, 0x00008080, 0xa1a80500, 0x0000e100, 0x19c0f866, 0x00004784,
+ 0x2141a066, 0x0000e002, 0x75e80086, 0x0000a101, 0x700280ec, 0x0000d680,
+ 0x003c34c4, 0x00008010, 0x2101a867, 0x00006004, 0x19b00004, 0x00000980,
+ 0x04181066, 0x00006987, 0x703c28ec, 0x00005600, 0x003c2000, 0x00008000,
+ 0x700280ec, 0x0000d680, 0x003b37c0, 0x00000078, 0x00c002ec, 0x0000df80,
+ 0x1752100b, 0x00001684, 0x65bb2036, 0x00006001, 0x60001838, 0x00003484,
+ 0x8e032965, 0x0000032a, 0x00007583, 0x00007400, 0x4f232464, 0x0000e101,
+ 0xa2ab2038, 0x0000e004, 0xce82833a, 0x00001080, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0463e800, 0x00007900, 0x003db776, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x76552213, 0x0000f500,
+ 0xc4812023, 0x0000001f, 0x81401000, 0x00001980, 0x01400020, 0x0000e180,
+ 0x0f01c4ab, 0x00006002, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x04449000, 0x00007900, 0x000d0668, 0x00008980, 0x03400000, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400,
+ 0x03fcbf02, 0x00000108, 0x81401000, 0x00006180, 0x01a55cab, 0x0000c900,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x047a8800, 0x0000f900, 0x0022f282, 0x00000980,
+ 0x8180079c, 0x000000b4, 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400,
+ 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980, 0xcf800b3e, 0x00006080,
+ 0x0b81b4ab, 0x0000a006, 0x11020300, 0x0000f904, 0x19c00cab, 0x00006081,
+ 0xcf400f3d, 0x00008181, 0x11820300, 0x00007904, 0x8f400e3d, 0x0000e181,
+ 0x24a33836, 0x0000a007, 0x05c0073d, 0x00007893, 0xbb800000, 0x0000ba8d,
+ 0x1900d800, 0x00009980, 0x76797378, 0x0000f100, 0x800002ac, 0x00006582,
+ 0xb9156aad, 0x00008900, 0x0700e388, 0x00006000, 0x99000000, 0x00008980,
+ 0x99000800, 0x00001988, 0xffffffff, 0x00007f86, 0x92632074, 0x0000e800,
+ 0x00000000, 0x0000f081, 0x0e01c412, 0x0000e802, 0x04801412, 0x00001881,
+ 0x7842a412, 0x00001081, 0xffffffff, 0x00007fc7, 0x15020b00, 0x0000f904,
+ 0x15820b00, 0x00007904, 0x04804057, 0x00006780, 0x99002302, 0x00000780,
+ 0x04800012, 0x0000f900, 0x00000200, 0x00000380, 0x9d62bc57, 0x00006101,
+ 0x45132012, 0x0000e107, 0x993aaeab, 0x00008728, 0x0002a064, 0x0000e502,
+ 0x1ec2b056, 0x00000900, 0x9dd2a254, 0x00006118, 0x1982a054, 0x0000c900,
+ 0x000808ec, 0x0000d798, 0x00004800, 0x00008080, 0x00007786, 0x00007030,
+ 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x0018d0ec, 0x00005780,
+ 0x00884941, 0x00000188, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
+ 0x6a800daa, 0x0000e181, 0x0e01c464, 0x00002002, 0x19000c64, 0x00006081,
+ 0xe2c0378b, 0x00000181, 0xaad2a2ab, 0x0000e100, 0x19001c64, 0x00000281,
+ 0x82232038, 0x0000e802, 0x0d81c465, 0x00006804, 0x00232c64, 0x00001503,
+ 0x00007779, 0x0000f00b, 0x15020b00, 0x0000f904, 0x15820b00, 0x00007904,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00007687, 0x0000f200,
+ 0xdd9bb277, 0x00001000, 0xc000739c, 0x00001582, 0x80000284, 0x00009582,
+ 0x5902059c, 0x00001283, 0x00007713, 0x0000f010, 0x00007708, 0x0000f010,
+ 0x00007708, 0x0000f008, 0x00000054, 0x00001582, 0x2ac00c3c, 0x00006089,
+ 0x1900d800, 0x00008990, 0x0f000c3c, 0x00001089, 0x00007678, 0x0000f010,
+ 0x0e39f838, 0x00007900, 0x003ffffe, 0x00008280, 0x00000438, 0x00001583,
+ 0x000076e5, 0x0000f04b, 0x002124ab, 0x00001503, 0x000076e5, 0x0000700b,
+ 0xc03d833a, 0x0000f900, 0x00000002, 0x00008582, 0x81010618, 0x0000e283,
+ 0xce800000, 0x000009b8, 0x0303fc23, 0x0000e291, 0x01401002, 0x00008910,
+ 0xaac01b3a, 0x0000e790, 0x01003c23, 0x00000791, 0x000079b0, 0x00007008,
+ 0xc1582c04, 0x00006300, 0x8343fc23, 0x00008280, 0x01003000, 0x00001981,
+ 0x37803a0d, 0x0000f902, 0x01800000, 0x00008100, 0xffffffff, 0x00007fa7,
+ 0x00002806, 0x00001502, 0x000079a8, 0x00007013, 0x00203c24, 0x00001503,
+ 0x81004c0c, 0x000098f0, 0x99d55a04, 0x00001070, 0x000079a8, 0x00007058,
+ 0x37baa667, 0x0000b138, 0x37fab067, 0x0000b138, 0x37fac267, 0x0000b138,
+ 0x37fad467, 0x00003138, 0x37fae667, 0x0000b138, 0x383af067, 0x00003138,
+ 0x383b0267, 0x00003138, 0x383b1467, 0x0000b138, 0x383b2667, 0x00003138,
+ 0xce82833a, 0x0000e080, 0x60001838, 0x0000a484, 0xffffffff, 0x00007f97,
+ 0xce132a65, 0x00006100, 0x65bb2036, 0x00006001, 0x8e9b2b65, 0x00006100,
+ 0xa2ab2038, 0x0000e004, 0x4f232464, 0x00009901, 0x01040492, 0x00006283,
+ 0x03c00000, 0x00008980, 0x04800000, 0x00006180, 0x0000180f, 0x0000e106,
+ 0x99c02302, 0x00006780, 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900,
+ 0x000371c0, 0x00008980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x04000000, 0x0000e180,
+ 0x45133812, 0x0000e107, 0x04c00004, 0x00006180, 0x03801002, 0x00004900,
+ 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
+ 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
+ 0x20000000, 0x000088c4, 0x00007703, 0x0000f408, 0x20800000, 0x000088cc,
+ 0x19c00800, 0x0000e188, 0x080458ab, 0x00006216, 0x19c00000, 0x00009980,
+ 0x00001cab, 0x00001583, 0x19c00800, 0x00009988, 0xe2c0378b, 0x00006181,
+ 0x1d61e43c, 0x00000901, 0x000075a1, 0x00007400, 0x92633874, 0x0000e800,
+ 0xdd39e73c, 0x00001901, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0446e800, 0x0000f900,
+ 0x003640e4, 0x00000980, 0x818006ae, 0x000000b4, 0x82e00500, 0x0000802e,
+ 0x00007518, 0x0000f400, 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0475e800, 0x0000f900, 0x003ebb32, 0x00008980,
+ 0x8180079c, 0x000000b4, 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400,
+ 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980, 0xc000f39c, 0x00009582,
+ 0x01000802, 0x00006188, 0x01400000, 0x0000c988, 0x0197f840, 0x0000e188,
+ 0x01c00000, 0x00004988, 0x000079e9, 0x00007010, 0x03c00000, 0x00006180,
+ 0x2ac0405b, 0x00004780, 0x5902059c, 0x0000e283, 0x0000180f, 0x00002106,
+ 0x048000ab, 0x00007900, 0x00000200, 0x00000380, 0x99c02302, 0x00006780,
+ 0x1d00000a, 0x00008980, 0x1d400000, 0x000087f8, 0x0318b000, 0x00007900,
+ 0x00037140, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0xc000180f, 0x00006006,
+ 0x45133812, 0x0000b107, 0x04000000, 0x0000e180, 0x04ca0004, 0x00004980,
+ 0x03a81402, 0x00008038, 0x1dc00008, 0x000087e0, 0x1e400000, 0x000007fc,
+ 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x9d94728e, 0x0000e100,
+ 0xdd80c288, 0x00004080, 0x1ebad759, 0x0000872c, 0x9f0d1aa3, 0x00000731,
+ 0x9f1d1ca3, 0x00008731, 0x9f4d12a2, 0x00000735, 0x9f5d14a2, 0x00008735,
+ 0x6a800daa, 0x0000e181, 0xe2c0378b, 0x00000181, 0x2ac00c3c, 0x0000e081,
+ 0xdd39e73c, 0x00008901, 0x000079dc, 0x0000f408, 0x1d400c3c, 0x0000e081,
+ 0x9d62dc5b, 0x00008901, 0x0f000c3c, 0x0000e091, 0x9f99c338, 0x00008900,
+ 0x0e39f838, 0x00007900, 0x003ffffe, 0x00008280, 0x00000438, 0x00001583,
+ 0x0000759f, 0x0000704b, 0x002124ab, 0x00001503, 0x0000759f, 0x0000f00b,
+ 0xc03d833a, 0x0000f900, 0x00000002, 0x00008582, 0x8e010618, 0x0000e283,
+ 0xce800000, 0x000009b8, 0x15c3fc23, 0x00006291, 0x15001002, 0x00000910,
+ 0x99c01b3a, 0x0000e790, 0x0e803c23, 0x00008791, 0x000079f4, 0x00007008,
+ 0xd518143a, 0x0000e300, 0x9603fc23, 0x00008280, 0x0e803000, 0x00009981,
+ 0x3782b258, 0x00007902, 0x15400000, 0x00008100, 0xffffffff, 0x00007fa7,
+ 0x0002a055, 0x00009502, 0x000077e1, 0x00007013, 0x0022b424, 0x00009503,
+ 0x8e804c57, 0x000098f0, 0xaad33a3a, 0x00009070, 0x000077e1, 0x00007058,
+ 0x37baa6ab, 0x0000b138, 0x37fab0ab, 0x0000b138, 0x37fac2ab, 0x0000b138,
+ 0x37fad4ab, 0x00003138, 0x37fae6ab, 0x0000b138, 0x383af0ab, 0x00003138,
+ 0x383b02ab, 0x00003138, 0x383b14ab, 0x0000b138, 0x383b26ab, 0x00003138,
+ 0xce82833a, 0x0000e080, 0x60001838, 0x0000a484, 0xffffffff, 0x00007f97,
+ 0xce132a65, 0x00006100, 0x65bb2036, 0x00006001, 0x0000759f, 0x0000f400,
+ 0x8e9b2b65, 0x00006100, 0xa2ab2038, 0x0000e004, 0x4f232464, 0x00009901,
+ 0x01955aab, 0x00009900, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04482800, 0x00007900,
+ 0x002ae2a6, 0x00000980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x00007518, 0x0000f400, 0x82f81400, 0x0000803c, 0x81401000, 0x00006180,
+ 0x0484b897, 0x0000c900, 0x1542aaab, 0x0000e002, 0x9dd55aab, 0x00008900,
+ 0x19d55854, 0x0000e100, 0x15800056, 0x00000084, 0x5942059c, 0x00006283,
+ 0x15155854, 0x00008100, 0x00000067, 0x00001582, 0xffffffff, 0x00007f86,
+ 0x000077cd, 0x0000f008, 0x000077c1, 0x0000f010, 0x0e387838, 0x00007900,
+ 0x003ffffe, 0x00008280, 0x00000438, 0x0000e583, 0x1d400c3c, 0x00008081,
+ 0x0f000c3c, 0x00006081, 0x2ac00c3c, 0x00008081, 0x000077bf, 0x0000f049,
+ 0x002124ab, 0x00001503, 0x000077bf, 0x0000f00b, 0xc03d833a, 0x0000f900,
+ 0x00000002, 0x00008582, 0x8e010618, 0x0000e283, 0xce800000, 0x000009b8,
+ 0x1603fc23, 0x00006291, 0x15001002, 0x00000910, 0xaac01b3a, 0x0000e790,
+ 0x0e803c23, 0x00008791, 0x000079ca, 0x0000f008, 0xd518143a, 0x0000e300,
+ 0x95c3fc23, 0x00008280, 0x0e803000, 0x00009981, 0x3782b257, 0x00007902,
+ 0x15400000, 0x00008100, 0xffffffff, 0x00007fa7, 0x0002a055, 0x00009502,
+ 0x000079c2, 0x00007013, 0x0022b424, 0x00009503, 0x8e804c58, 0x000098f0,
+ 0x99d55a3a, 0x00009070, 0x000079c2, 0x00007058, 0x37baa667, 0x0000b138,
+ 0x37fab067, 0x0000b138, 0x37fac267, 0x0000b138, 0x37fad467, 0x00003138,
+ 0x37fae667, 0x0000b138, 0x383af067, 0x00003138, 0x383b0267, 0x00003138,
+ 0x383b1467, 0x0000b138, 0x383b2667, 0x00003138, 0xce82833a, 0x0000e080,
+ 0x60001838, 0x0000a484, 0xffffffff, 0x00007f97, 0xce132a65, 0x00006100,
+ 0x65bb2036, 0x00006001, 0x8e9b2b65, 0x00006100, 0xa2ab2038, 0x0000e004,
+ 0x4f232464, 0x00009901, 0x0000759e, 0x00007200, 0x6a800daa, 0x00001181,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04487000, 0x0000f900, 0x00119bbc, 0x00008980,
+ 0x01955866, 0x0000e100, 0x03400000, 0x00000980, 0x82e00500, 0x0000802e,
+ 0x00007518, 0x0000f400, 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980,
+ 0x00000067, 0x0000e582, 0x0e01c4ab, 0x00002002, 0x19c014ab, 0x00009891,
+ 0x7842a467, 0x00001091, 0x00007967, 0x00007008, 0xffffffff, 0x00007f97,
+ 0x000077bf, 0x0000f403, 0x1042a500, 0x0000f904, 0x1042b500, 0x00007904,
+ 0x00255c0f, 0x00001503, 0x00007a06, 0x0000702b, 0x0119fb3f, 0x00006100,
+ 0x01400a3f, 0x0000c180, 0x00002804, 0x00006502, 0x10008010, 0x00008900,
+ 0x81000b3f, 0x000060c8, 0x81000000, 0x000009c0, 0x000074f8, 0x0000f400,
+ 0x1040680d, 0x00009900, 0xcfd02204, 0x00009900, 0x0e800c3a, 0x00009183,
+ 0x15400002, 0x00001990, 0xd5680500, 0x00001910, 0x00007649, 0x00007008,
+ 0x770000ec, 0x00005680, 0x003aa800, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x175af00b, 0x00001684, 0x4102059c, 0x0000e283, 0x03c00000, 0x00008980,
+ 0x2ac00000, 0x0000e191, 0x2ac01000, 0x00004989, 0x19c0409d, 0x0000e780,
+ 0x0000180f, 0x00002106, 0x1d004000, 0x0000e180, 0x41255838, 0x00006002,
+ 0x04800067, 0x00007900, 0x00000200, 0x00000380, 0x1d400000, 0x000087dc,
+ 0xaac02302, 0x00006780, 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900,
+ 0x00037140, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x01400000, 0x00006180,
+ 0x45155812, 0x0000e107, 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980,
+ 0x04000000, 0x0000e180, 0x04ca0004, 0x00004980, 0x03a81402, 0x00008038,
+ 0x6a800daa, 0x0000e181, 0xe2c0378b, 0x00000181, 0x1e000000, 0x000087e4,
+ 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
+ 0x20800000, 0x000088cc, 0x9d94728e, 0x0000e100, 0xdd808288, 0x0000c080,
+ 0x1ebcf79f, 0x0000072c, 0x01000802, 0x0000e180, 0xdd39e73c, 0x00004901,
+ 0x0000759f, 0x0000f400, 0x1d74e83c, 0x00000715, 0x9dc0739c, 0x00009180,
+ 0x0021e424, 0x00009503, 0x0eb1ee3d, 0x00009911, 0x00007883, 0x00007009,
+ 0xc03d833a, 0x0000f900, 0x00000002, 0x00008582, 0x80000e3d, 0x00006583,
+ 0xce800000, 0x000009b8, 0x0000788e, 0x0000f01b, 0x2ac00000, 0x00001981,
+ 0x8e010618, 0x00001283, 0x000004ab, 0x00001583, 0xffffffff, 0x00007f86,
+ 0x0000786a, 0x00007008, 0x0000783b, 0x0000f008, 0x15c00034, 0x0000f900,
+ 0x00000010, 0x00008082, 0x15800035, 0x00006084, 0x16000400, 0x00008980,
+ 0xc000033f, 0x00006582, 0x96280500, 0x00000900, 0xcfc00b3f, 0x00006190,
+ 0xcfc00a3f, 0x00008188, 0x15300004, 0x00006180, 0x75e80058, 0x00006101,
+ 0xc000033f, 0x00006582, 0x04181054, 0x0000a187, 0x0e800e3f, 0x0000e191,
+ 0x0e800c3f, 0x00000189, 0x700040ec, 0x00005680, 0x003ac4c4, 0x00008010,
+ 0x19c01c3a, 0x0000e080, 0x10820040, 0x0000c900, 0x15c33857, 0x00006002,
+ 0x10c20841, 0x00008900, 0x15800056, 0x00009084, 0x703ab8ec, 0x00005600,
+ 0x003ab000, 0x00008000, 0x700040ec, 0x00005680, 0x003aa7c0, 0x00008078,
+ 0x00c002ec, 0x0000df80, 0x1781d80b, 0x00001684, 0x15001002, 0x00006100,
+ 0x0e803c23, 0x0000c781, 0xaac01b3a, 0x00006780, 0x15c3fc23, 0x00008281,
+ 0x9603fc23, 0x0000e280, 0xd51aa43a, 0x00008300, 0x0e803000, 0x00009981,
+ 0x3782b258, 0x00007902, 0x15400000, 0x00008100, 0xffffffff, 0x00007fa7,
+ 0x0002a055, 0x00009502, 0x0000789a, 0x00007013, 0x0022b424, 0x00009503,
+ 0x8e804c57, 0x000098f0, 0x99d55a3a, 0x00009070, 0x0000789a, 0x00007058,
+ 0x37baa667, 0x0000b138, 0x37fab067, 0x0000b138, 0x37fac267, 0x0000b138,
+ 0x37fad467, 0x00003138, 0x37fae667, 0x0000b138, 0x383af067, 0x00003138,
+ 0x383b0267, 0x00003138, 0x383b1467, 0x0000b138, 0x383b2667, 0x00003138,
+ 0x387b3067, 0x0000a180, 0xce82833a, 0x0000e080, 0x60001838, 0x0000a484,
+ 0xffffffff, 0x00007f86, 0xce132a65, 0x00006100, 0x65bb2036, 0x00006001,
+ 0x00033096, 0x0000e502, 0xa2ab2038, 0x00002004, 0x8e9b2065, 0x00008332,
+ 0x01400020, 0x000061e8, 0x03400000, 0x000049e8, 0x0000751a, 0x0000f060,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04512000, 0x00007900,
+ 0x003e2e76, 0x00008980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x82e00500, 0x0000802e, 0x786a2213, 0x00007500, 0x03fcb702, 0x00008108,
+ 0x01c33066, 0x00001900, 0x19c0033a, 0x00007900, 0x0000000c, 0x00008080,
+ 0x2140f867, 0x00006784, 0x22800540, 0x00008980, 0x21c1a067, 0x0000e002,
+ 0x8e8ffd00, 0x00000280, 0x2181a885, 0x0000e004, 0xa2a80500, 0x00000900,
+ 0x000004ab, 0x0000e583, 0x19f00004, 0x00008980, 0x23028000, 0x00007900,
+ 0x000014c4, 0x00000980, 0x21428000, 0x00007900, 0x00007fc0, 0x00000980,
+ 0x000078b9, 0x00007210, 0xd9d81302, 0x00006100, 0x75d1d08a, 0x0000e101,
+ 0x700280ec, 0x0000d680, 0x003c54c4, 0x00008010, 0x703c38ec, 0x0000d600,
+ 0x003c3000, 0x00000000, 0x700280ec, 0x0000d680, 0x003b3fc0, 0x00008078,
+ 0x00c002ec, 0x0000df80, 0x1782a80b, 0x00009684, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0473b000, 0x00007900, 0x0014936c, 0x00008980, 0xc1800024, 0x000000b4,
+ 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400, 0x03fcbf02, 0x00000108,
+ 0x81401000, 0x00001980, 0x00000caf, 0x0000e583, 0x8f40263d, 0x00000c81,
+ 0x000078a2, 0x0000f03b, 0x99c7fb3e, 0x00001280, 0x1921d267, 0x00009000,
+ 0x00080064, 0x00009582, 0x2ac00000, 0x0000e1b9, 0x19f1ea67, 0x00004038,
+ 0x0000781a, 0x0000f051, 0x0000781b, 0x00007400, 0x00080067, 0x00009582,
+ 0x2ac00800, 0x000099d1, 0x0e800c3a, 0x00009183, 0x15400002, 0x00001990,
+ 0xd5680500, 0x00001910, 0x00007649, 0x00007008, 0x770000ec, 0x00005680,
+ 0x003aa800, 0x00008000, 0x00c002ec, 0x0000df80, 0x1782100b, 0x00009684,
+ 0x8000163d, 0x00009583, 0x12020300, 0x0000f904, 0x12820300, 0x00007904,
+ 0x000078ac, 0x0000f030, 0x80001e3d, 0x00001583, 0x13020300, 0x00007904,
+ 0x13820300, 0x0000f904, 0x000078ac, 0x0000f030, 0x14020300, 0x0000f904,
+ 0x14820300, 0x00007904, 0x00007891, 0x0000f200, 0x20000836, 0x0000ec07,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x047ab800, 0x0000f900, 0x0026acea, 0x00008980,
+ 0xc1800067, 0x000080b4, 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400,
+ 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980, 0xc000008c, 0x00006406,
+ 0x0000008a, 0x00003586, 0x703c60ec, 0x00005600, 0x003c5000, 0x00000000,
+ 0x703c38ec, 0x0000d600, 0x003c3000, 0x00000000, 0x21c00034, 0x00007900,
+ 0x00000010, 0x00008082, 0x21800035, 0x0000e084, 0x22800400, 0x00008980,
+ 0xc000033f, 0x00006582, 0xa2a80500, 0x00000900, 0xcfc00b3f, 0x00006190,
+ 0xcfc00a3f, 0x00008188, 0x75d1d08a, 0x0000e101, 0x0080408c, 0x00003586,
+ 0xc000033f, 0x00006582, 0x00004085, 0x00002586, 0x0e800e3f, 0x0000e191,
+ 0x0e800c3f, 0x00000189, 0x700280ec, 0x0000d680, 0x003b3fc0, 0x00008078,
+ 0x2ac01c3a, 0x0000e080, 0x10820040, 0x0000c900, 0x21c55887, 0x00006002,
+ 0x10c20841, 0x00008900, 0x703c60ec, 0x00005600, 0x003c5000, 0x00000000,
+ 0x21800086, 0x00009084, 0x703c38ec, 0x0000d600, 0x003c3000, 0x00000000,
+ 0x703c28ec, 0x00005600, 0x003b3800, 0x00000000, 0x00c002ec, 0x0000df80,
+ 0x1782a80b, 0x00009684, 0x000075ae, 0x00007200, 0x19c00000, 0x0000e180,
+ 0x21001320, 0x00004980, 0x01400000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x044db000, 0x0000f900,
+ 0x00159122, 0x00008980, 0xc1800064, 0x000080b4, 0x82e00500, 0x0000802e,
+ 0x00007518, 0x0000f400, 0x03fcbf02, 0x00000108, 0x41401264, 0x00000095,
+ 0xc000739c, 0x00001582, 0x01018438, 0x00001283, 0x4102059c, 0x00001283,
+ 0x000078fb, 0x0000f010, 0x000078f0, 0x00007010, 0x000076e5, 0x00007010,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0452e800, 0x0000f900, 0x002604aa, 0x00008980,
+ 0xc1800064, 0x000080b4, 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400,
+ 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980, 0x01400000, 0x00006180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x047e9000, 0x00007900, 0x002be294, 0x00000980, 0x8180079c, 0x000000b4,
+ 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400, 0x03fcbf02, 0x00000108,
+ 0x41401264, 0x00000095, 0x2de01764, 0x0000c289, 0x14e02764, 0x00009e92,
+ 0x2a218438, 0x00004597, 0x1502059c, 0x0000868f, 0x000075ae, 0x00007400,
+ 0x21001000, 0x00007900, 0x00001e40, 0x00000980, 0x19c00000, 0x00009980,
+ 0xc107fb3e, 0x0000e282, 0xc0000066, 0x00002406, 0x84c00000, 0x00001980,
+ 0x0000793a, 0x00007011, 0x0199fb3f, 0x0000e100, 0x01400a3f, 0x0000c180,
+ 0x703b30ec, 0x0000d600, 0x00389800, 0x00000000, 0x00002806, 0x0000e502,
+ 0x10021042, 0x00008900, 0x703a10ec, 0x0000d600, 0x003a1800, 0x00000000,
+ 0x703890ec, 0x0000d600, 0x00388800, 0x00008000, 0x00007938, 0x0000f208,
+ 0x81400b3f, 0x00006090, 0x10421843, 0x00000900, 0xcfc00b3f, 0x00009080,
+ 0x01401a05, 0x00001880, 0x03032805, 0x00001002, 0x01400007, 0x00001084,
+ 0x03400000, 0x000001c0, 0x01800000, 0x00009981, 0x00010813, 0x0000e485,
+ 0x00804066, 0x0000b586, 0x84e80500, 0x0000e100, 0x00004012, 0x00006586,
+ 0x703b30ec, 0x0000d600, 0x00389800, 0x00000000, 0x703860ec, 0x0000d600,
+ 0x00382800, 0x00008000, 0x703890ec, 0x0000d600, 0x00388800, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x1789880b, 0x00009684, 0x3e000c06, 0x0000f893,
+ 0x03800001, 0x00000000, 0x81a55c0f, 0x0000f82a, 0xc3c00000, 0x0000bb8e,
+ 0x000075ae, 0x00007200, 0x19c00000, 0x0000e180, 0x21001060, 0x0000c980,
+ 0x00007923, 0x00007200, 0x01600707, 0x000083bd, 0x81c02204, 0x00006080,
+ 0x03000c04, 0x0000c881, 0x81fffa07, 0x00007900, 0x00000002, 0x00008280,
+ 0x84802204, 0x0000e080, 0x00103866, 0x0000e106, 0x703b30ec, 0x0000d600,
+ 0x00389800, 0x00000000, 0x703828ec, 0x0000d600, 0x00386800, 0x00000000,
+ 0x015024ab, 0x0000e100, 0x04021042, 0x00008900, 0x03421843, 0x00006100,
+ 0x81c02205, 0x0000c880, 0x817ffa07, 0x0000f900, 0x00000002, 0x00008280,
+ 0x0c009c05, 0x00006084, 0x00102866, 0x00003106, 0x03202c0c, 0x0000e001,
+ 0x01403006, 0x00000900, 0x703890ec, 0x0000d600, 0x00388800, 0x00008000,
+ 0x0199fb3f, 0x0000e100, 0x04206013, 0x00006085, 0x84bffa07, 0x0000f900,
+ 0x00000002, 0x00008280, 0x03032865, 0x0000e100, 0x01c00a3f, 0x00004180,
+ 0x703b30ec, 0x0000d600, 0x00389800, 0x00000000, 0x00003806, 0x00009502,
+ 0x703a10ec, 0x0000d600, 0x003a1800, 0x00000000, 0x703890ec, 0x0000d600,
+ 0x00388800, 0x00008000, 0x00007962, 0x00007040, 0x01800b3f, 0x00009080,
+ 0x01801806, 0x00009880, 0x03003065, 0x00001002, 0x01400005, 0x00009084,
+ 0x00007925, 0x00007200, 0x01800800, 0x00001981, 0x00007912, 0x0000f200,
+ 0x84c00000, 0x00006180, 0xc0000066, 0x0000e406, 0x19c00cab, 0x00009081,
+ 0x2ac01c67, 0x00009281, 0x82255838, 0x0000e802, 0x0d81c465, 0x00006804,
+ 0x00232cab, 0x00001503, 0x01832064, 0x00001908, 0x000077bf, 0x00007011,
+ 0x0000777a, 0x00007000, 0x800002ac, 0x00006582, 0x99000000, 0x00008980,
+ 0x0700e388, 0x00006000, 0x99000800, 0x00008988, 0x00000000, 0x0000f480,
+ 0xffffffff, 0x00007f86, 0x92632074, 0x0000e800, 0x2af9e73c, 0x0000e101,
+ 0x1929273c, 0x00004100, 0x0021e864, 0x00009502, 0x19007c9c, 0x0000e2c9,
+ 0xcf000f3c, 0x000000c9, 0x00007a56, 0x00007041, 0x42400c64, 0x0000c291,
+ 0x00e1739c, 0x00009e93, 0x9f42339c, 0x0000f892, 0xebc00000, 0x00003d80,
+ 0x03c00000, 0x00006180, 0x1d200180, 0x0000c980, 0x1d400000, 0x0000e180,
+ 0x0000180f, 0x0000e106, 0x04800000, 0x00006180, 0x99c02302, 0x0000c780,
+ 0x0318b000, 0x00007900, 0x00037180, 0x00000980, 0x03400000, 0x00007900,
+ 0x00018008, 0x00000980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
+ 0x0000e8ec, 0x0000d780, 0x00004801, 0x00000080, 0xc000180f, 0x00006006,
+ 0x45133812, 0x0000b107, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
+ 0x1e800000, 0x000087ec, 0x1fc00000, 0x0000e180, 0x1f0518a3, 0x00004900,
+ 0x1f7d0fa2, 0x00000738, 0x20fd3fa5, 0x00000804, 0x20bd27a6, 0x00000800,
+ 0x04000000, 0x0000e180, 0x04c00004, 0x00004980, 0x03801002, 0x00006100,
+ 0xdd000cab, 0x00004081, 0x1d61e43c, 0x00009901, 0x800002ac, 0x00006582,
+ 0x99000000, 0x00008980, 0x99000800, 0x00006188, 0xe2c05f8b, 0x00004181,
+ 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x00000000, 0x0000f480,
+ 0x0700e388, 0x00006000, 0x92632074, 0x0000a000, 0x0018d0ec, 0x00005780,
+ 0x00884940, 0x00008188, 0x01000c04, 0x00009183, 0x01800002, 0x00001990,
+ 0xc1a80500, 0x00001910, 0x00007649, 0x00007008, 0x770000ec, 0x00005680,
+ 0x00383000, 0x00008000, 0x00c002ec, 0x0000df80, 0x1756580b, 0x00009684,
+ 0x03000540, 0x00009980, 0x0100033a, 0x00007900, 0x0000000c, 0x00008080,
+ 0x83280500, 0x00006100, 0x19c0f804, 0x0000c784, 0x01c1a004, 0x00006002,
+ 0x75e8000c, 0x00002101, 0x700280ec, 0x0000d680, 0x003864c4, 0x00000010,
+ 0x0181a867, 0x00006004, 0x01300004, 0x00008980, 0x04181004, 0x0000e987,
+ 0x703838ec, 0x00005600, 0x00383000, 0x00008000, 0x700280ec, 0x0000d680,
+ 0x003827c0, 0x00008078, 0x00c002ec, 0x0000df80, 0x1756e80b, 0x00001684,
+ 0x0e800c3a, 0x00009183, 0x15400002, 0x00001990, 0xd5680500, 0x00001910,
+ 0x00007649, 0x00007008, 0x770000ec, 0x00005680, 0x003aa800, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x175d280b, 0x00009684, 0x21c00540, 0x00009980,
+ 0x1980033a, 0x0000f900, 0x0000000c, 0x00008080, 0xa1e80500, 0x00006100,
+ 0x19c0f866, 0x00004784, 0x2141a066, 0x0000e002, 0x75e80087, 0x00002101,
+ 0x700280ec, 0x0000d680, 0x003c3cc4, 0x00000010, 0x2101a867, 0x00006004,
+ 0x19b00004, 0x00000980, 0x04181066, 0x00006987, 0x703c28ec, 0x00005600,
+ 0x003c2000, 0x00008000, 0x700280ec, 0x0000d680, 0x003b37c0, 0x00000078,
+ 0x00c002ec, 0x0000df80, 0x175db80b, 0x00009684, 0x01400020, 0x0000e180,
+ 0x0804e467, 0x0000e006, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x044b7000, 0x0000f900, 0x00136810, 0x00000980, 0x03400000, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400,
+ 0x03fcbf02, 0x00000108, 0x81401000, 0x00006180, 0x01a33c67, 0x0000c900,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x045c4800, 0x00007900, 0x0032ca66, 0x00000980,
+ 0x8180079c, 0x000000b4, 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400,
+ 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980, 0x21800540, 0x00001980,
+ 0x1980033a, 0x0000f900, 0x0000000c, 0x00008080, 0xa1a80500, 0x0000e100,
+ 0x2ac0f866, 0x00004784, 0x2141a066, 0x0000e002, 0x75e80086, 0x0000a101,
+ 0x700280ec, 0x0000d680, 0x003c34c4, 0x00008010, 0x2101a8ab, 0x00006004,
+ 0x19b00004, 0x00000980, 0x04181066, 0x00006987, 0x703c28ec, 0x00005600,
+ 0x003c2000, 0x00008000, 0x700280ec, 0x0000d680, 0x003b37c0, 0x00000078,
+ 0x00c002ec, 0x0000df80, 0x175b800b, 0x00001684, 0x09823c05, 0x00006804,
+ 0x01800c05, 0x00001181, 0x00001c06, 0x00009583, 0x01a02c05, 0x00009918,
+ 0x01602c05, 0x00009930, 0x000075c6, 0x00007018, 0x00102005, 0x00001502,
+ 0x10808010, 0x0000e150, 0x10c0680d, 0x00004950, 0x2ae02404, 0x00009951,
+ 0x000077d8, 0x00007038, 0x000074f8, 0x00007000, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x047eb000, 0x0000f900, 0x000ce5aa, 0x00000980, 0x8180079c, 0x000000b4,
+ 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400, 0x03fcbf02, 0x00000108,
+ 0x81401000, 0x00001980, 0x19007ca1, 0x00009281, 0x4e407ca1, 0x0000c195,
+ 0x00e000a9, 0x00008090, 0x4e4000a8, 0x00004493, 0xcee038a5, 0x00001e94,
+ 0x00c000a3, 0x00004790, 0x04201464, 0x00008590, 0x4e472fa9, 0x0000c411,
+ 0xe4e72fa8, 0x00001e14, 0x4ce038a5, 0x00004995, 0xc8e000a3, 0x00009e8c,
+ 0x1d2041a0, 0x0000e180, 0x03c00000, 0x00004980, 0x19c040a3, 0x00006780,
+ 0x41050874, 0x00002006, 0x1d400000, 0x0000e180, 0x0000180f, 0x0000e106,
+ 0x04800067, 0x00007900, 0x00000200, 0x00000380, 0xdd000cab, 0x0000e081,
+ 0xc000180f, 0x0000a006, 0xaac02302, 0x00006780, 0x1d800000, 0x00000980,
+ 0x02084800, 0x0000f900, 0x0000c000, 0x00008980, 0x0318b000, 0x00007900,
+ 0x00037180, 0x00000980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x001008ec, 0x0000d780,
+ 0x00884f40, 0x00000280, 0x1dc04000, 0x0000e180, 0x45155812, 0x0000e107,
+ 0x1e000000, 0x000087e4, 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8,
+ 0x20c00000, 0x0000e180, 0x1e8528a5, 0x00004900, 0x1efd3fa4, 0x00008730,
+ 0x1f7d17a6, 0x00008738, 0x01084802, 0x0000e180, 0x01400000, 0x00004980,
+ 0x0197f840, 0x00006180, 0x01c00000, 0x0000c980, 0x02808020, 0x00006180,
+ 0x02c00000, 0x0000c980, 0x8254728e, 0x00006100, 0xc241c288, 0x00004080,
+ 0x6a800daa, 0x0000e181, 0x04000000, 0x00000980, 0x04ca0004, 0x00006180,
+ 0x83901202, 0x0000c900, 0x0000799d, 0x00007400, 0x0381e502, 0x00008714,
+ 0x9d651ca3, 0x00001901, 0x000075ae, 0x00007200, 0x19c00000, 0x0000e180,
+ 0x21001040, 0x00004980, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0453e000, 0x0000f900,
+ 0x0023056e, 0x00008980, 0xc1800064, 0x000080b4, 0x82e00500, 0x0000802e,
+ 0x00007518, 0x0000f400, 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980,
+ 0x000075ae, 0x00007200, 0x19c00000, 0x0000e180, 0x21001320, 0x00004980,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04579000, 0x0000f900, 0x00134cac, 0x00008980,
+ 0x018007a5, 0x000080b4, 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400,
+ 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x0450d000, 0x0000f900, 0x0018868c, 0x00008980, 0x018007a2, 0x000000b4,
+ 0x82e00500, 0x0000802e, 0x00007518, 0x0000f400, 0x03fcbf02, 0x00000108,
+ 0x81401000, 0x00001980, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x045fb800, 0x00007900,
+ 0x003c3d56, 0x00000980, 0x8180079c, 0x000000b4, 0x82e00500, 0x0000802e,
+ 0x00007518, 0x0000f400, 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980,
+ 0x0001b828, 0x00006502, 0xea800000, 0x00000981, 0xaa800000, 0x00006181,
+ 0xea800800, 0x0000c991, 0x0000e037, 0x0000e502, 0x1a400000, 0x00008980,
+ 0xaa800800, 0x00006191, 0xe2c32000, 0x00004981, 0x80000636, 0x00006583,
+ 0x6a870800, 0x00008981, 0x62400400, 0x000086e8, 0x1b000000, 0x000086f4,
+ 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
+ 0x00007ba2, 0x0000f448, 0x1a38ff20, 0x0000062c, 0x9a519232, 0x00006100,
+ 0x05000000, 0x0000c9c0, 0x19040492, 0x00006283, 0x1d800000, 0x00000980,
+ 0x05400000, 0x0000e180, 0x05800020, 0x00004980, 0x05c00000, 0x000007d0,
+ 0x1d400000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
+ 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
+ 0x00007b86, 0x00007410, 0x20800000, 0x000088cc, 0x1d80048e, 0x00008aae,
+ 0xa0433a36, 0x0000f902, 0x19800000, 0x00000000, 0xa0432836, 0x0000f902,
+ 0x19000000, 0x00008000, 0x2a800000, 0x0000e181, 0xab404b9c, 0x00004080,
+ 0x24bbf892, 0x0000f900, 0x003ffffe, 0x00008280, 0x19c00867, 0x00001082,
+ 0x19432a8c, 0x0000e002, 0x19800066, 0x00000084, 0xa07b3a36, 0x00005000,
+ 0x003b3000, 0x00008000, 0x1984b821, 0x00006100, 0x19000064, 0x00000084,
+ 0x001cc866, 0x00001502, 0x00014097, 0x00006502, 0x2ac00800, 0x000089e9,
+ 0xa23fe2ad, 0x0000f900, 0x0000003e, 0x00008280, 0xa07b2836, 0x00005000,
+ 0x003b2000, 0x00000000, 0x2ac00800, 0x000061e9, 0xe254ba28, 0x0000c168,
+ 0xaa44bf28, 0x0000c469, 0x0ce007aa, 0x00001f91, 0xecc00630, 0x00007892,
+ 0x03c00001, 0x00008000, 0x672004ab, 0x0000c491, 0x72e006aa, 0x00009e96,
+ 0xb3c00399, 0x0000788a, 0x03c00001, 0x00008000, 0x00004784, 0x0000f88c,
+ 0x00000000, 0x00000000, 0xce404438, 0x0000f88e, 0x03c00001, 0x00008060,
+ 0xce544399, 0x0000f812, 0x9bc00000, 0x0000be83, 0x59000d98, 0x00006283,
+ 0xe21ccb99, 0x00000900, 0x62400000, 0x0000e181, 0x0a44c288, 0x00006100,
+ 0x7ad61cb8, 0x00007500, 0x22800000, 0x000088e6, 0xe2000b99, 0x00001090,
+ 0x0004b020, 0x00009502, 0x00007b70, 0x0000f06b, 0x59000d98, 0x00009283,
+ 0x00000438, 0x00001583, 0xffffffff, 0x00007f86, 0x00007c66, 0x0000f010,
+ 0x00007afb, 0x0000f048, 0x0021e424, 0x00009503, 0x00007afb, 0x0000700b,
+ 0xc03d833a, 0x0000f900, 0x00000002, 0x00008582, 0x99010618, 0x0000e283,
+ 0xce800000, 0x000009b8, 0x0e83fc23, 0x0000e291, 0x19c01002, 0x00000910,
+ 0xab401b3a, 0x0000e790, 0x19803c23, 0x00008791, 0x00007ce4, 0x0000f008,
+ 0xd9db3c66, 0x0000e300, 0xab83fc23, 0x00008280, 0x19803000, 0x00009981,
+ 0x378732ae, 0x0000f902, 0x2bc00000, 0x00008100, 0xffffffff, 0x00007fa7,
+ 0x000338af, 0x00009502, 0x00007c7e, 0x0000f013, 0x00273424, 0x00001503,
+ 0x8e804c3a, 0x000018f0, 0xab556a3a, 0x00009070, 0x00007c7e, 0x0000f058,
+ 0x99010618, 0x0000e283, 0x998042ad, 0x00008080, 0x37bd6666, 0x0000a100,
+ 0x00007c58, 0x0000f40b, 0xffffffff, 0x00007f86, 0x8e9d63ac, 0x00001900,
+ 0x0e040038, 0x00009380, 0xa1200589, 0x00004491, 0x88e004aa, 0x00001f92,
+ 0x704007aa, 0x0000c991, 0x04e0068a, 0x00001e97, 0xffffffff, 0x00007f86,
+ 0xc000078a, 0x00001583, 0x0dc1bb88, 0x0000e008, 0x19000000, 0x00008988,
+ 0xd9255cab, 0x00009908, 0x00007b82, 0x0000f210, 0x2b032064, 0x00001908,
+ 0x7b07737f, 0x0000f004, 0x00010026, 0x00001502, 0x00007cdb, 0x0000f073,
+ 0x0001003b, 0x00001502, 0x00007bfd, 0x0000f073, 0x0001001a, 0x00001502,
+ 0x5d691d23, 0x0000e171, 0xa0000874, 0x0000e470, 0x00007c61, 0x0000f071,
+ 0x00010027, 0x00009502, 0x00007c5f, 0x0000f073, 0x19000000, 0x0000e180,
+ 0x19400001, 0x0000c980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
+ 0x04147064, 0x00006187, 0x002d5065, 0x00003102, 0x703b28ec, 0x0000d600,
+ 0x003b2000, 0x00000000, 0x00014037, 0x00007810, 0x00000000, 0x00000000,
+ 0x00000630, 0x00007890, 0x00000000, 0x00008020, 0x0000e037, 0x00007812,
+ 0x00000000, 0x00008020, 0x008004aa, 0x00004790, 0x85600489, 0x00000e95,
+ 0x0240063d, 0x00004590, 0x0131293e, 0x00008e0f, 0x1981b821, 0x00006100,
+ 0x2b400b31, 0x00008880, 0x00056866, 0x00006502, 0x00000869, 0x00002401,
+ 0x19bfe01f, 0x00006180, 0x0000086c, 0x0000e46b, 0x2b698066, 0x0000e000,
+ 0x1d100074, 0x0000c380, 0x1c87f800, 0x000061e9, 0xe000186c, 0x00006403,
+ 0x00000489, 0x0000e583, 0x1c01b8ad, 0x00008000, 0x8000063d, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x00007c0a, 0x0000f010, 0x00007c0d, 0x00007008,
+ 0x00502800, 0x0000f900, 0x0004c010, 0x00008980, 0xc0207c15, 0x000000cd,
+ 0x807c5f8b, 0x00001901, 0x008806ec, 0x00005f80, 0x00804140, 0x00000a84,
+ 0x59000d98, 0x00009283, 0x99b71ee3, 0x00009908, 0x7b656866, 0x0000790a,
+ 0x19400500, 0x00008100, 0x00007b64, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0x2b400cad, 0x00009081, 0x99256cad, 0x00009900, 0x14433264, 0x0000f902,
+ 0x19000000, 0x00008000, 0x99800cad, 0x00009880, 0xffffffff, 0x00007f97,
+ 0xbbc32466, 0x0000a082, 0xffffffff, 0x00007fa7, 0x99132366, 0x00001100,
+ 0x80004a64, 0x00001582, 0x99805264, 0x0000e198, 0x99800000, 0x000009b0,
+ 0xab400cad, 0x00006080, 0x99256cad, 0x0000c900, 0x14433a64, 0x00007902,
+ 0x19000000, 0x00008000, 0xbbe442ad, 0x0000f902, 0x99180700, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0xa2132488, 0x00001100, 0xbbe322ad, 0x0000a081,
+ 0xa2133a88, 0x00009000, 0xffffffff, 0x00007f97, 0xab632288, 0x00009100,
+ 0x80001aad, 0x00001582, 0xab4022ad, 0x00001198, 0xab556a66, 0x00001c18,
+ 0x00007b64, 0x00007030, 0x00156865, 0x0000e502, 0x19956aad, 0x00000900,
+ 0x2b404065, 0x000010a8, 0x00007b64, 0x00007021, 0x00056866, 0x00009502,
+ 0x800006aa, 0x00009583, 0xffffffff, 0x00007f86, 0x00007acf, 0x00007018,
+ 0x00007acf, 0x0000f010, 0xa55cca95, 0x0000e100, 0x6607f598, 0x00008281,
+ 0xe6400000, 0x00001980, 0x59000d98, 0x00006283, 0xe2000000, 0x00008980,
+ 0x62400000, 0x0000e181, 0x0a44c288, 0x00006100, 0x7b6e1cb8, 0x0000f500,
+ 0x22800000, 0x000088e6, 0xe2000b99, 0x00001090, 0x0004b020, 0x00009502,
+ 0x00007ad8, 0x00007063, 0x99000e69, 0x00001283, 0x0804b096, 0x0000e108,
+ 0x60000816, 0x0000640b, 0x1e600d98, 0x00004594, 0x78800438, 0x0000f6cd,
+ 0x2b400b31, 0x00006080, 0x1981b821, 0x0000c100, 0x00056866, 0x00006502,
+ 0x19bfe01f, 0x00008980, 0x2b698066, 0x0000e000, 0x0000086c, 0x0000e46b,
+ 0x1c01b8ad, 0x0000e000, 0x1c87f800, 0x000089e9, 0xe000186c, 0x0000ec03,
+ 0x81400489, 0x00004491, 0x66e0063d, 0x00001e96, 0xccd92a3e, 0x0000f80a,
+ 0x7bc00000, 0x00003e80, 0x7b847250, 0x0000f300, 0x01000000, 0x00009980,
+ 0x2ae10726, 0x00004571, 0x8781073b, 0x0000f873, 0x080458ad, 0x00006a06,
+ 0x000004ad, 0x00001583, 0x22800000, 0x00006190, 0x0a44c265, 0x0000e110,
+ 0xe21ccb99, 0x00006110, 0x0a44c288, 0x0000e110, 0x00007aa9, 0x0000f008,
+ 0xa2600000, 0x000088e6, 0x72400cad, 0x0000c489, 0x82e01cad, 0x00001f8d,
+ 0x64e024ad, 0x0000c589, 0x318014ad, 0x0000b395, 0xd9000000, 0x0000e180,
+ 0x2b44bb99, 0x0000c000, 0x0001b8ad, 0x00001502, 0x00007ddb, 0x00007073,
+ 0x0004b837, 0x00001502, 0x00007dcf, 0x0000706b, 0x0001b897, 0x00001502,
+ 0x00007dc1, 0x0000f06b, 0x00056828, 0x00009502, 0x2b400000, 0x000019e1,
+ 0x00007e76, 0x00007069, 0xe25b2364, 0x00001900, 0x2a800800, 0x00006181,
+ 0x2ae56cad, 0x0000c901, 0xbec00438, 0x000078ca, 0xebc00000, 0x00003d86,
+ 0x7ba57367, 0x0000f500, 0x05000000, 0x000081d4, 0x05c00000, 0x000081d8,
+ 0x1d800000, 0x000081d0, 0x05400000, 0x0000e180, 0x05800020, 0x00004980,
+ 0x05c00000, 0x000007d0, 0x1d400000, 0x000087dc, 0x1e000000, 0x000087e4,
+ 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
+ 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x1d80048e, 0x00008aae,
+ 0xaa440492, 0x0000788e, 0x33c00000, 0x00003d8c, 0x99000000, 0x00006180,
+ 0x99b71ee3, 0x00004900, 0x7b456866, 0x00002181, 0x99b71ee3, 0x00001900,
+ 0x7b632066, 0x0000f902, 0x2b000500, 0x00008100, 0xffffffff, 0x00007fa7,
+ 0x14433264, 0x0000f902, 0x19000000, 0x00008000, 0x99000000, 0x00006180,
+ 0x99800cad, 0x0000c880, 0xffffffff, 0x00007f97, 0xbbc33466, 0x00002082,
+ 0xffffffff, 0x00007fa7, 0x99933366, 0x00001100, 0x80004a66, 0x00009582,
+ 0xa2405266, 0x0000e198, 0xa2400000, 0x000089b0, 0x99b71ee3, 0x00001900,
+ 0x7b432066, 0x00002181, 0x99800cad, 0x00009880, 0xbbd32a66, 0x0000a082,
+ 0xffffffff, 0x00007f86, 0x14445264, 0x00007902, 0x19000000, 0x00008000,
+ 0xbbc32266, 0x00002002, 0xffffffff, 0x00007fa7, 0x99532465, 0x00001100,
+ 0xbbe32266, 0x00002081, 0x99545265, 0x00009000, 0xffffffff, 0x00007f97,
+ 0x99a32265, 0x00001100, 0x80001a66, 0x00009582, 0x99802266, 0x00001198,
+ 0x99933289, 0x00009c18, 0x00007b64, 0x00007030, 0x80000266, 0x00009582,
+ 0x59000d98, 0x00009283, 0xffffffff, 0x00007f86, 0x00007b64, 0x0000f008,
+ 0x00007b64, 0x0000f010, 0x2b400cad, 0x00009081, 0x99256cad, 0x00009900,
+ 0x14433264, 0x0000f902, 0x19000000, 0x00008000, 0x99256cad, 0x0000e100,
+ 0x99800cad, 0x0000c880, 0xab400cad, 0x00001880, 0xbbd32aad, 0x00002082,
+ 0x14445264, 0x00007902, 0x19000000, 0x00008000, 0xbbc322ad, 0x0000a002,
+ 0xbbc33466, 0x00002082, 0xffffffff, 0x00007f97, 0x99532465, 0x00001100,
+ 0xbbe322ad, 0x0000a081, 0x99545265, 0x00006000, 0x99933366, 0x00008100,
+ 0x80004a66, 0x00009582, 0x99800000, 0x0000e1b0, 0x99805266, 0x0000c198,
+ 0xab632265, 0x00009100, 0x80001aad, 0x00001582, 0xab4022ad, 0x00001198,
+ 0x99956a66, 0x00009c18, 0x00007b64, 0x00007030, 0x2b4040ac, 0x0000e080,
+ 0x19933266, 0x00000900, 0xb1456866, 0x0000f81a, 0x03c00001, 0x00000080,
+ 0xa55cca95, 0x0000e100, 0x6607f598, 0x00008281, 0xe6400000, 0x00001980,
+ 0x00007b67, 0x00007000, 0x00000438, 0x0000e583, 0x1d001074, 0x00000380,
+ 0xab59cb39, 0x0000e100, 0xa0000874, 0x00006400, 0x8e69c839, 0x0000871c,
+ 0x00007b0b, 0x00007440, 0x1e29273b, 0x00000324, 0x0ec13026, 0x00001900,
+ 0x80156a3a, 0x00001502, 0x00007c08, 0x0000f063, 0x8e51d23a, 0x00001900,
+ 0x00007b0b, 0x0000f200, 0xddd1ca39, 0x00009900, 0x7c0b735c, 0x0000f100,
+ 0x8000063d, 0x00001583, 0x00007b33, 0x00007013, 0x80192a3e, 0x00001502,
+ 0x00007b33, 0x0000700b, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
+ 0x2b51f325, 0x0000e100, 0x99c7fb3e, 0x00008280, 0x000040ad, 0x00006582,
+ 0x99880000, 0x00008980, 0x2161f625, 0x00006151, 0x21404000, 0x000089b9,
+ 0x22400034, 0x0000f900, 0x00000010, 0x00008082, 0x99933a66, 0x0000e100,
+ 0x22000035, 0x00000084, 0x19020438, 0x00006283, 0x19c02267, 0x00000880,
+ 0x23800440, 0x00006180, 0x2b402000, 0x00004991, 0x2b404000, 0x00006189,
+ 0x1940f867, 0x00004784, 0x19033840, 0x00006002, 0x23320004, 0x00000980,
+ 0x23c00000, 0x00007900, 0x000014c4, 0x00000980, 0x23400000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0xa3a80500, 0x00006100, 0x22832841, 0x0000c004,
+ 0x994024ad, 0x0000e080, 0x75e8008e, 0x0000e101, 0x4f642c85, 0x00006101,
+ 0x0013288f, 0x0000e106, 0x19e81764, 0x00008830, 0x80256a66, 0x0000e502,
+ 0xa34024ad, 0x00000880, 0xcf47fb3e, 0x00001282, 0xffffffff, 0x00007f86,
+ 0x00007e7b, 0x0000f028, 0x00007df3, 0x00007008, 0x703c78ec, 0x00005600,
+ 0x003c7000, 0x00008000, 0x703b20ec, 0x00005600, 0x003c5000, 0x00000000,
+ 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000, 0x21800000, 0x000088dc,
+ 0x19000000, 0x00001981, 0x00c002ec, 0x0000df80, 0x17c2080b, 0x00001684,
+ 0x00000c64, 0x00009583, 0x00007de8, 0x0000700b, 0x8f656cad, 0x00006101,
+ 0x09823cad, 0x00006004, 0x19800cad, 0x00009181, 0x00001c66, 0x00009583,
+ 0x09823f3d, 0x00006034, 0x20000836, 0x00003437, 0x01a56cad, 0x00009918,
+ 0x00007b33, 0x0000f030, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0470f000, 0x0000f900,
+ 0x003d53c4, 0x00008980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x82f81400, 0x0000803c, 0x81401000, 0x00006180, 0x0491f23e, 0x0000c900,
+ 0x01c03006, 0x00001900, 0x7c582213, 0x0000f100, 0x65bb2036, 0x00006001,
+ 0x60001838, 0x00003484, 0x8e032965, 0x0000032a, 0x00007afb, 0x00007400,
+ 0x4f232464, 0x0000e101, 0xa2ab2038, 0x0000e004, 0xce82833a, 0x00001080,
+ 0x5d71e63c, 0x00006101, 0xa0000874, 0x00006400, 0x00007b11, 0x00007400,
+ 0x8f291d23, 0x0000e101, 0xb0000874, 0x0000e400, 0x09c0d01a, 0x0000e100,
+ 0x05c80017, 0x0000c380, 0xe2000b88, 0x0000e180, 0x99800b88, 0x00000180,
+ 0x00000266, 0x0000f890, 0x00000000, 0x00000000, 0x1b800589, 0x00007893,
+ 0x03c00001, 0x00008060, 0xbec00438, 0x000078ca, 0xebc00000, 0x00003d86,
+ 0x8000068a, 0x00001583, 0x62400800, 0x0000e189, 0xe2803000, 0x0000c991,
+ 0xbec00438, 0x000078ca, 0xebc00000, 0x00003d86, 0x59000d98, 0x00006283,
+ 0xe21ccb99, 0x00000900, 0x62400000, 0x0000e181, 0x0a44c288, 0x00006100,
+ 0x7c7a1cb8, 0x00007500, 0x22800000, 0x000088e6, 0xe2000b99, 0x00001090,
+ 0x6e04b720, 0x0000446b, 0xcce00d98, 0x00001f90, 0xbec00438, 0x000078ca,
+ 0xebc00000, 0x00003d86, 0x19800c66, 0x00009183, 0x2bc00002, 0x00001990,
+ 0xebe80500, 0x00001910, 0x00007d8b, 0x00007008, 0x770000ec, 0x00005680,
+ 0x003d7800, 0x00008000, 0x00c002ec, 0x0000df80, 0x1797580b, 0x00001684,
+ 0x99400000, 0x0000e180, 0x99b71ee3, 0x00004900, 0x7b456866, 0x00002181,
+ 0x99b71ee3, 0x00001900, 0x7b632866, 0x00007902, 0x19000500, 0x00000100,
+ 0xffffffff, 0x00007fa7, 0x14433265, 0x00007902, 0x19400000, 0x00000000,
+ 0x99400000, 0x0000e180, 0x99800cad, 0x0000c880, 0xffffffff, 0x00007f97,
+ 0xbbc33466, 0x00002082, 0xffffffff, 0x00007fa7, 0x99933366, 0x00001100,
+ 0x80004a66, 0x00009582, 0xa2005266, 0x00006198, 0xa2000000, 0x000009b0,
+ 0x99b71ee3, 0x00001900, 0x7b432866, 0x0000a181, 0x99800cad, 0x00009880,
+ 0xbbd44a66, 0x00002082, 0xffffffff, 0x00007f86, 0x14433a65, 0x0000f902,
+ 0x19400000, 0x00000000, 0xbbc32a66, 0x0000a002, 0xffffffff, 0x00007fa7,
+ 0xa2532c89, 0x00009100, 0xbbe32a66, 0x0000a081, 0xa2533a89, 0x00009000,
+ 0xffffffff, 0x00007f97, 0x99a32a89, 0x00001100, 0x80001a66, 0x00009582,
+ 0x99802266, 0x00001198, 0x99933288, 0x00001c18, 0x00007b64, 0x00007030,
+ 0x80000266, 0x00009582, 0x59400d98, 0x00001283, 0xffffffff, 0x00007f86,
+ 0x00007b64, 0x0000f008, 0x00007b64, 0x0000f010, 0x2b400cad, 0x00009081,
+ 0x99656cad, 0x00001900, 0x14433265, 0x00007902, 0x19400000, 0x00000000,
+ 0x99656cad, 0x00006100, 0x99800cad, 0x0000c880, 0xffffffff, 0x00007f97,
+ 0xbbc33466, 0x00002082, 0x14433a65, 0x0000f902, 0x19400000, 0x00000000,
+ 0xffffffff, 0x00007f97, 0x99933366, 0x00001100, 0x80004a66, 0x00009582,
+ 0x99800000, 0x0000e1b0, 0x99805266, 0x0000c198, 0xab400cad, 0x00001880,
+ 0xbbe32aad, 0x0000f902, 0xa2180700, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x99544465, 0x00009100, 0x99533a65, 0x00009000, 0xbbe33aad, 0x0000a081,
+ 0xffffffff, 0x00007fa7, 0xab633a65, 0x00009100, 0x80001aad, 0x00001582,
+ 0xab4022ad, 0x00001198, 0x99956a66, 0x00009c18, 0x00007b64, 0x00007030,
+ 0x2b404064, 0x00006080, 0x19933266, 0x00000900, 0x00056866, 0x00009502,
+ 0x62400000, 0x0000e199, 0x22800000, 0x0000c998, 0x22400000, 0x00006199,
+ 0x0a44c288, 0x00006118, 0x00007b64, 0x00007030, 0x7cd71cb8, 0x0000f500,
+ 0x59000d98, 0x00006283, 0xe21ccb99, 0x00000900, 0xe2000b99, 0x00001090,
+ 0x6e04b720, 0x0000446b, 0xcce00d98, 0x00001f90, 0xbec00438, 0x000078ca,
+ 0xebc00000, 0x00003d86, 0x1d001074, 0x00006380, 0x60000816, 0x0000a402,
+ 0xc0000816, 0x0000e403, 0xa0000874, 0x00003400, 0x8e692024, 0x0000871c,
+ 0x1e292726, 0x0000820c, 0x0ee92726, 0x00008324, 0xc5200438, 0x000045c0,
+ 0xf271213a, 0x00007262, 0x2b40263d, 0x00006481, 0x19b1ee3d, 0x00004901,
+ 0x8f40263d, 0x00009c81, 0x00000cad, 0x00009583, 0x00007e5b, 0x0000701b,
+ 0xab47fb3e, 0x00001280, 0x19a332ad, 0x00001000, 0x00080066, 0x00001582,
+ 0x2b400000, 0x000019d1, 0x00007e71, 0x0000f039, 0x19c0033a, 0x00007900,
+ 0x0000000c, 0x00008080, 0x1980f867, 0x0000e784, 0x39c00540, 0x00000980,
+ 0x2bc1a067, 0x0000e002, 0xb9e80500, 0x00008900, 0x2b81a866, 0x00006004,
+ 0x19f00004, 0x00008980, 0x000004ad, 0x0000e583, 0x998ffd00, 0x00000280,
+ 0x3b428000, 0x0000f900, 0x000014c4, 0x00000980, 0x2b028000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0x00007d9b, 0x00007210, 0xd9d81302, 0x00006100,
+ 0x75d330e7, 0x00006101, 0x700280ec, 0x0000d680, 0x003f3cc4, 0x00000010,
+ 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0x700280ec, 0x0000d680,
+ 0x003b3fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x17c8380b, 0x00001684,
+ 0xbe810618, 0x00007896, 0xc3c00000, 0x0000be82, 0xa2600d89, 0x00004489,
+ 0x98e03589, 0x00009f8c, 0xc2e03589, 0x0000c199, 0x00e01d89, 0x00000088,
+ 0x27e02589, 0x00004588, 0x8ce01589, 0x00000d8c, 0xc9804d89, 0x0000c489,
+ 0xb6e04d89, 0x00009fab, 0x76c05589, 0x0000788b, 0x33c00000, 0x00003e8f,
+ 0x03000000, 0x0000f900, 0x000371c0, 0x00008980, 0x03400000, 0x0000e180,
+ 0x106c480c, 0x0000e000, 0x04401000, 0x0000e180, 0x20ac480c, 0x0000e000,
+ 0xd36c480d, 0x0000e004, 0x412c480c, 0x0000b000, 0x03c00000, 0x00006180,
+ 0x862c4811, 0x0000e001, 0x01040492, 0x00006283, 0x966c480d, 0x0000a001,
+ 0x822c480c, 0x0000e000, 0x966c4811, 0x0000b001, 0x04800000, 0x00006180,
+ 0x0000180f, 0x0000e106, 0x99802302, 0x0000e780, 0xa6ac480d, 0x0000a001,
+ 0x926c480c, 0x0000e000, 0xa6ac4811, 0x0000b001, 0xc000180f, 0x00006006,
+ 0x45133012, 0x00003107, 0x04000000, 0x0000e180, 0x04c00004, 0x00004980,
+ 0x03800702, 0x00000790, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0,
+ 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8,
+ 0x1fc00000, 0x000008c0, 0x00007d3a, 0x0000f408, 0x20400000, 0x000008c8,
+ 0x20c00000, 0x0000e180, 0x19800800, 0x00004988, 0x19800000, 0x00006180,
+ 0x080458ad, 0x0000e206, 0x00001cad, 0x00001583, 0x19800800, 0x00001988,
+ 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x1d61e43c, 0x0000e101,
+ 0x92633074, 0x0000e000, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
+ 0xdd39e73c, 0x00006101, 0xe2c0378b, 0x0000c181, 0xf3210726, 0x0000c571,
+ 0xeba1073b, 0x0000dc74, 0x080458ad, 0x00006a06, 0x00000cad, 0x00009583,
+ 0xab771ee3, 0x00006108, 0x0dc1bb88, 0x00004008, 0x7b7b30ad, 0x00002108,
+ 0x00007d97, 0x0000f010, 0x19000800, 0x00001980, 0xd9255cab, 0x00001900,
+ 0x2b032064, 0x0000e100, 0x19800866, 0x00004180, 0x7b7b30ad, 0x00002900,
+ 0x7d50737f, 0x00007004, 0xf1610726, 0x0000c571, 0xeac1073b, 0x00005b75,
+ 0x99b71ee3, 0x00006100, 0x99400000, 0x0000c980, 0x7b632866, 0x00007902,
+ 0x19000500, 0x00000100, 0xab771ee3, 0x00009900, 0x7b4568ad, 0x0000a181,
+ 0xffffffff, 0x00007f86, 0x14433265, 0x00007902, 0x19400000, 0x00000000,
+ 0x99400000, 0x00009980, 0x99800cad, 0x00009880, 0xffffffff, 0x00007f86,
+ 0xbbc33466, 0x00002082, 0xffffffff, 0x00007fa7, 0x99933366, 0x00001100,
+ 0x80004a66, 0x00009582, 0xa2005266, 0x00006198, 0xa2000000, 0x000009b0,
+ 0x99b71ee3, 0x00001900, 0x7b432866, 0x0000a181, 0x99800cad, 0x00009880,
+ 0xbbd44a66, 0x00002082, 0xffffffff, 0x00007f86, 0x14433a65, 0x0000f902,
+ 0x19400000, 0x00000000, 0xbbc32a66, 0x0000a002, 0xffffffff, 0x00007fa7,
+ 0xa2532c89, 0x00009100, 0xbbe32a66, 0x0000a081, 0xa2533a89, 0x00009000,
+ 0xffffffff, 0x00007f97, 0x99a32a89, 0x00001100, 0x80001a66, 0x00009582,
+ 0x99802266, 0x00001198, 0x99933288, 0x00001c18, 0x00007b64, 0x00007030,
+ 0x80004266, 0x00001582, 0x59400d98, 0x00001283, 0xffffffff, 0x00007f86,
+ 0x00007b64, 0x00007030, 0x00007b64, 0x0000f010, 0x2b400cad, 0x00009081,
+ 0x99656cad, 0x00001900, 0x14433265, 0x00007902, 0x19400000, 0x00000000,
+ 0x99656cad, 0x00006100, 0x99800cad, 0x0000c880, 0xffffffff, 0x00007f97,
+ 0xbbc33466, 0x00002082, 0x14433a65, 0x0000f902, 0x19400000, 0x00000000,
+ 0xffffffff, 0x00007f97, 0x99933366, 0x00001100, 0x00007cbe, 0x0000f400,
+ 0x80004a66, 0x00009582, 0x99800000, 0x0000e1b0, 0x99805266, 0x0000c198,
+ 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x0463e800, 0x00007900, 0x003db776, 0x00008980,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c,
+ 0x00007c57, 0x00007400, 0xc4812023, 0x0000001f, 0x81401000, 0x00001980,
+ 0x19000800, 0x00001980, 0x00007d4f, 0x0000f400, 0xd9255cab, 0x00001900,
+ 0x2b032064, 0x00009900, 0xc00000ed, 0x0000e406, 0x000000e7, 0x0000b586,
+ 0x703f68ec, 0x0000d600, 0x003f3800, 0x00008000, 0x703d78ec, 0x0000d600,
+ 0x003d7000, 0x00000000, 0x2bc00400, 0x0000e180, 0x008040ed, 0x0000e586,
+ 0xabe80500, 0x00006100, 0x10820040, 0x0000c900, 0x10c20841, 0x00006100,
+ 0x75d330af, 0x00006101, 0x19800034, 0x00007900, 0x00000010, 0x00008082,
+ 0xc000033f, 0x00006582, 0x2b800035, 0x00008084, 0xcfc00a3f, 0x0000e188,
+ 0xcfc00b3f, 0x00000190, 0x700280ec, 0x0000d680, 0x003b3fc0, 0x00008078,
+ 0xc000033f, 0x00009582, 0x2b000c3f, 0x00006189, 0x2b000e3f, 0x00008191,
+ 0x703f68ec, 0x0000d600, 0x003d7800, 0x00008000, 0x2b401cac, 0x0000e080,
+ 0x000040ac, 0x00006586, 0x2b456866, 0x00001002, 0x198000ae, 0x00001084,
+ 0x2b833066, 0x00001900, 0x703d68ec, 0x00005600, 0x003d7000, 0x00000000,
+ 0x703d60ec, 0x0000d600, 0x003b3800, 0x00000000, 0x00c002ec, 0x0000df80,
+ 0x17cdf80b, 0x00001684, 0xbe810618, 0x00007896, 0xc3c00000, 0x0000be82,
+ 0x00056828, 0x00006502, 0x9994ba37, 0x00000100, 0x99133399, 0x00006100,
+ 0xe2133399, 0x00000100, 0xa2132a66, 0x0000e000, 0xd914ba37, 0x00000100,
+ 0x25c1b837, 0x00006100, 0x99914264, 0x00004068, 0xe2156a66, 0x00001168,
+ 0xffffffff, 0x00007f86, 0xc0000388, 0x00009582, 0x00007ddb, 0x0000700b,
+ 0x00007b9d, 0x0000f200, 0x2b400800, 0x00009981, 0x01400020, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x0407c800, 0x00007900, 0x001c0e3c, 0x00008980,
+ 0x04603000, 0x00007900, 0x003ddc7c, 0x00000980, 0x04800000, 0x000080dc,
+ 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x7ddb2213, 0x00007500,
+ 0x82f81400, 0x0000803c, 0x81401000, 0x00001980, 0x0120a800, 0x000080c3,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0xc0c07800, 0x00006180,
+ 0x04147004, 0x00006187, 0x00502800, 0x0000f900, 0x0004d910, 0x00000980,
+ 0x700708ec, 0x0000d680, 0x00382002, 0x00008000, 0x008806ec, 0x00005f80,
+ 0x00804140, 0x00000a84, 0xdea10726, 0x00004571, 0xe161073b, 0x00005272,
+ 0x00256c85, 0x00009503, 0x00007e40, 0x0000702b, 0x1919fb3f, 0x00006100,
+ 0x19800a3f, 0x0000c180, 0x00033064, 0x00006502, 0x10043887, 0x00008900,
+ 0x99800b3f, 0x0000e0c8, 0x99800000, 0x000089c0, 0x00007c43, 0x00007400,
+ 0x10443086, 0x00009900, 0xcfd33266, 0x00009900, 0xa3800000, 0x0000e180,
+ 0xc000008f, 0x00006406, 0x1959fb3f, 0x0000e100, 0x19000a3f, 0x00004180,
+ 0x703c78ec, 0x00005600, 0x003c7000, 0x00008000, 0x00032065, 0x00006502,
+ 0x10021042, 0x00008900, 0x703a10ec, 0x0000d600, 0x003a1800, 0x00000000,
+ 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000, 0x00007e57, 0x00007208,
+ 0x99000b3f, 0x0000e090, 0x10421843, 0x00000900, 0xcfc00b3f, 0x00009080,
+ 0x19001a64, 0x00001880, 0x19c44864, 0x00009002, 0x19400088, 0x00009084,
+ 0x21800000, 0x000088dc, 0x22000000, 0x00009981, 0x0001088e, 0x00006485,
+ 0x0080408f, 0x00003586, 0xa3a80500, 0x00006100, 0x19032865, 0x00004900,
+ 0x703c78ec, 0x00005600, 0x003c7000, 0x00008000, 0x0000408d, 0x0000ed86,
+ 0x703b38ec, 0x00005600, 0x003b2000, 0x00000000, 0x703c68ec, 0x0000d600,
+ 0x003c6000, 0x00000000, 0x00c002ec, 0x0000df80, 0x17d0a80b, 0x00001684,
+ 0xc5c00c88, 0x00004591, 0x82a56885, 0x0000fd2a, 0x01040492, 0x00006283,
+ 0x03c00000, 0x00008980, 0x04800000, 0x00006180, 0x0000180f, 0x0000e106,
+ 0x99802302, 0x0000e780, 0xc000180f, 0x0000a006, 0x0318b000, 0x00007900,
+ 0x000371c0, 0x00008980, 0x03400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x04000000, 0x0000e180,
+ 0x45133012, 0x00006107, 0x04c00004, 0x00006180, 0x03801002, 0x00004900,
+ 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
+ 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
+ 0x20000000, 0x000088c4, 0x00007e35, 0x0000f408, 0x20800000, 0x000088cc,
+ 0x19800800, 0x00006188, 0x080458ad, 0x00006216, 0x19800000, 0x00001980,
+ 0x00001cad, 0x00001583, 0x19800800, 0x00001988, 0x001018ec, 0x00005780,
+ 0x00884980, 0x00000180, 0x1d61e43c, 0x0000e101, 0x92633074, 0x0000e000,
+ 0x7e3e7361, 0x00007500, 0x0018d0ec, 0x00005780, 0x00884941, 0x00000188,
+ 0xdd39e73c, 0x00006101, 0xe2c0378b, 0x0000c181, 0xd3a10726, 0x0000c571,
+ 0xdbe1073b, 0x00004c76, 0x09823c65, 0x00006804, 0x19000c65, 0x00009181,
+ 0x00001c64, 0x00001583, 0x01a32c65, 0x00009918, 0x19632c65, 0x00009930,
+ 0x00007c4b, 0x00007018, 0x00133065, 0x00009502, 0x10843887, 0x0000e150,
+ 0x10c43086, 0x00004950, 0x2b633466, 0x00009951, 0x00007dea, 0x0000f038,
+ 0x00007c43, 0x0000f000, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x046d2000, 0x00007900,
+ 0x00251f68, 0x00000980, 0xc1800294, 0x000000b4, 0x82e00500, 0x0000802e,
+ 0x00007c56, 0x0000f400, 0x03fcbf02, 0x00000108, 0x81401000, 0x00001980,
+ 0x00007e06, 0x00007400, 0xcfc00000, 0x00006180, 0x19c44889, 0x00004900,
+ 0x19444088, 0x00009900, 0x0b81b4ad, 0x0000e806, 0x00000cad, 0x00009583,
+ 0x2b408cad, 0x000010b8, 0x384014ad, 0x000018b9, 0x00007ce9, 0x0000f050,
+ 0x8000163d, 0x00009583, 0xffffffff, 0x00007f86, 0x00007e6b, 0x0000f433,
+ 0x12020300, 0x0000f904, 0x12820300, 0x00007904, 0x80001e3d, 0x00001583,
+ 0x13020300, 0x00007904, 0x13820300, 0x0000f904, 0x00007e6b, 0x00007030,
+ 0x14020300, 0x0000f904, 0x14820300, 0x00007904, 0xab47fb3e, 0x0000e280,
+ 0x20000836, 0x0000a407, 0x19a332ad, 0x00001000, 0x00080066, 0x00001582,
+ 0x2b400000, 0x000019d1, 0x00007cee, 0x0000f051, 0x2b71eaad, 0x00009000,
+ 0x00007cee, 0x0000f400, 0x000800ad, 0x00006582, 0x2b400000, 0x00008981,
+ 0x2b400800, 0x000099d1, 0x99914399, 0x00009000, 0xe2156a66, 0x00006100,
+ 0x99156a66, 0x00000100, 0x76c00264, 0x0000f88b, 0x6bc00000, 0x00003e8e,
+ 0xcf47fb3e, 0x0000e282, 0xc000008f, 0x0000a406, 0xa3800000, 0x0000e180,
+ 0x99002266, 0x00004890, 0x993ffa64, 0x0000f910, 0x00000002, 0x00008280,
+ 0x00007df5, 0x00007008, 0xa3402266, 0x00006080, 0x0013208f, 0x00006106,
+ 0x191334ad, 0x0000e100, 0x21c21042, 0x00000900, 0x21821843, 0x00006100,
+ 0x99002264, 0x00004880, 0x703c78ec, 0x00005600, 0x003c7000, 0x00008000,
+ 0x997ffa64, 0x0000f900, 0x00000002, 0x00008280, 0x703b38ec, 0x00005600,
+ 0x003c5000, 0x00000000, 0x0013288f, 0x0000e106, 0x0c047467, 0x00003084,
+ 0x19400c66, 0x00001881, 0x19c44889, 0x00006100, 0x19633c65, 0x0000c001,
+ 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000, 0x19444088, 0x0000e100,
+ 0x0423288e, 0x0000e085, 0xa37ffa64, 0x0000f900, 0x00000002, 0x00008280,
+ 0x19000a3f, 0x0000e180, 0x2219fb3f, 0x00000900, 0x703c78ec, 0x00005600,
+ 0x003c7000, 0x00008000, 0x00032088, 0x00009502, 0x703a10ec, 0x0000d600,
+ 0x003a1800, 0x00000000, 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000,
+ 0x00007ea7, 0x0000f040, 0x19000b3f, 0x00001080, 0x19001864, 0x00009880,
+ 0x19c32089, 0x00009002, 0x19400065, 0x00009084, 0x00007e08, 0x0000f200,
+ 0x22000800, 0x00001981, 0x01400020, 0x0000e180, 0x0e4494ad, 0x0000e000,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04553000, 0x00007900,
+ 0x00268e2a, 0x00008980, 0x03400000, 0x0000e180, 0x01a56cad, 0x0000c900,
+ 0x81401000, 0x00001980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x00007c56, 0x0000f400, 0x82f81400, 0x0000803c, 0x0480e01c, 0x00009900,
+ 0x01400020, 0x0000e180, 0x0e449466, 0x00006000, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x047ce800, 0x0000f900, 0x002a0732, 0x00000980,
+ 0x00007eb2, 0x00007400, 0x03400000, 0x0000e180, 0x01a33466, 0x0000c900,
+ 0x81401000, 0x00001980, 0x19814021, 0x0000e100, 0x2b400b31, 0x00008880,
+ 0x00056866, 0x00006502, 0x00000869, 0x00002401, 0x1c014331, 0x00006000,
+ 0x0000086c, 0x0000246b, 0x1c87f800, 0x000061e9, 0x62400800, 0x00004981,
+ 0xe000186c, 0x0000ec03, 0x00007b9e, 0x0000f200, 0x2b400000, 0x00001981,
+ 0x7ecf1ea9, 0x0000f500, 0x05000008, 0x000001d4, 0x05c00000, 0x000081d8,
+ 0xffffffff, 0x00007f86, 0x00000404, 0x00001583, 0xc0c07800, 0x0000e188,
+ 0xc000a800, 0x0000c989, 0x00502800, 0x00007908, 0x0004c010, 0x00008980,
+ 0x00007eda, 0x0000f010, 0x7ed8702d, 0x00007300, 0x80405000, 0x00009981,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x1d000001, 0x000007d4,
+ 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
+ 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
+ 0x7ee47032, 0x0000f500, 0x20800000, 0x000088cc, 0x01067000, 0x00001980,
+ 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x00502800, 0x0000f900,
+ 0x0004c010, 0x00008980, 0x0018d0ec, 0x00005780, 0x00004801, 0x00000080,
+ 0x7eed702d, 0x00007500, 0xc0207c15, 0x000000cd, 0x80402000, 0x00001981,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x05000008, 0x000001d4,
+ 0x05800000, 0x000081dc, 0x014003e8, 0x000007d0, 0x1d400000, 0x000007d8,
+ 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
+ 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x7efb1f05, 0x0000f500,
+ 0x20400000, 0x000008c8, 0x20c00000, 0x00009980, 0xffffffff, 0x00007f86,
+ 0xe0201c04, 0x0000c489, 0x00e02404, 0x00009f8e, 0xc4c00c04, 0x00007893,
+ 0x5bc00000, 0x0000bf88, 0xe0000838, 0x0000ec00, 0x01400000, 0x00001980,
+ 0xc1400538, 0x0000f8c3, 0x03c00001, 0x00000080, 0x01400800, 0x00001981,
+ 0xffffffff, 0x00007f86, 0x01800705, 0x00008690, 0x7f0b7042, 0x00007500,
+ 0x01400020, 0x0000e180, 0x01c03006, 0x00004900, 0x01809800, 0x00009980,
+ 0x01005000, 0x00001981, 0x00502800, 0x0000f900, 0x0004c010, 0x00008980,
+ 0x7f11702d, 0x0000f500, 0xc0207c15, 0x000000cd, 0x80602404, 0x00001901,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x7f157032, 0x0000f300,
+ 0x01066000, 0x00009980, 0x001018ec, 0x00005780, 0x00884980, 0x00000180,
+ 0x00007f0c, 0x0000f400, 0x0018d0ec, 0x00005780, 0x00004801, 0x00000080,
+ 0x01002000, 0x00009981, 0x8102063b, 0x00009283, 0x2702009c, 0x0000e388,
0x0100e43c, 0x00008289, 0x00000001, 0x0000f091, 0x00000001, 0x00007480,
0x00008404, 0x00009583, 0x0000183b, 0x0000e415, 0x0000383b, 0x0000340d,
0x4000050c, 0x00006583, 0x0050085e, 0x00002586, 0x0000100a, 0x0000e402,
0xe0001009, 0x0000b403, 0xa0000808, 0x00006402, 0xd000082c, 0x0000b408,
- 0x00007ba8, 0x00007408, 0x0000105e, 0x0000e487, 0x6000100a, 0x0000b402,
+ 0x00007f32, 0x0000f408, 0x0000105e, 0x0000e487, 0x6000100a, 0x0000b402,
0x4f001000, 0x00006189, 0xcec05000, 0x0000c989, 0x4000250c, 0x00001583,
0xcec05000, 0x0000e189, 0xf000082c, 0x00006408, 0x4f001000, 0x00001989,
0x00000001, 0x00007280, 0x43006000, 0x00006181, 0x02001008, 0x0000c380,
@@ -14515,54 +14842,54 @@ ARRAY_DECL u32 init_val[] = {
0x26800000, 0x000089ec, 0x4300a000, 0x00006181, 0x02001008, 0x0000c380,
0x0012f803, 0x00006106, 0x00102801, 0x0000b586, 0x00180801, 0x00006505,
0xc001a803, 0x00003606, 0x00000001, 0x00007480, 0xc0004800, 0x0000e181,
- 0xc0000801, 0x00006401, 0x8092f25e, 0x00009900, 0x1c408010, 0x0000e100,
+ 0xc0000801, 0x00006401, 0x8092f25e, 0x00009900, 0x1c008010, 0x00006100,
0x00208806, 0x00006086, 0x82288806, 0x00006886, 0x04188806, 0x0000e987,
- 0x01c03006, 0x00001900, 0x1bb3e800, 0x00007900, 0x00380998, 0x00008980,
- 0x1c003807, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902,
+ 0x01c03006, 0x00001900, 0x1b73e800, 0x00007900, 0x00380998, 0x00008980,
+ 0x1bc03807, 0x00009900, 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902,
0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01002805, 0x00001900,
- 0x01802004, 0x0000e100, 0x00002004, 0x0000e586, 0x1bc03006, 0x0000e100,
- 0x04288804, 0x00006087, 0x7c092178, 0x00007500, 0x86208804, 0x00006887,
- 0x1b402004, 0x00001900, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
+ 0x01802004, 0x0000e100, 0x00002004, 0x0000e586, 0x1b803006, 0x00006100,
+ 0x04288804, 0x00006087, 0x7f9322d9, 0x0000f500, 0x86208804, 0x00006887,
+ 0x1b002004, 0x00009900, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
0x00000040, 0x00000080, 0x04186004, 0x00006987, 0x700708ec, 0x0000d680,
- 0x00382002, 0x00008000, 0x86401411, 0x00004389, 0x00e01411, 0x00000098,
+ 0x00382002, 0x00008000, 0xf7801411, 0x00004389, 0x00e01411, 0x00000098,
0xa0400c11, 0x0000c888, 0x64403c11, 0x000009b2, 0x01604012, 0x0000f900,
- 0x00000002, 0x00008082, 0x01802805, 0x0000e100, 0x01000013, 0x0000c084,
- 0x7c1b250b, 0x00007404, 0x01783704, 0x00000a20, 0x01c02805, 0x00006100,
- 0x01809b00, 0x0000c980, 0x00000406, 0x00009583, 0x300026a9, 0x00002088,
- 0x30382aa9, 0x0000a088, 0x81b71ee3, 0x0000e108, 0x01c00020, 0x0000c990,
+ 0x00000002, 0x00008082, 0x01000013, 0x00006084, 0x01802805, 0x00000900,
+ 0x7fa5266c, 0x0000f404, 0x01402004, 0x0000e100, 0x2a409b00, 0x0000c980,
+ 0x2ab83705, 0x00008a2c, 0x00000407, 0x00001583, 0x300026ac, 0x00002088,
+ 0x30382aac, 0x0000a088, 0x81b71ee3, 0x0000e108, 0x04800000, 0x0000c990,
0x7b400806, 0x0000518a, 0x00400000, 0x00008000, 0x7b582006, 0x0000298a,
- 0x00007c43, 0x0000f408, 0x7d382806, 0x0000288c, 0x7b400006, 0x0000d108,
- 0x00400000, 0x00000080, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x046ac000, 0x00007900, 0x0031bc52, 0x00000980, 0x04800000, 0x00006180,
- 0x08001a0b, 0x00006106, 0x03c00000, 0x000000d4, 0x00007c42, 0x0000f400,
- 0x81c01000, 0x0000e180, 0xc2f00600, 0x0000c901, 0x03200702, 0x0000802e,
- 0x00007c43, 0x00007400, 0x81b71ee3, 0x00001900, 0x7b400006, 0x00005182,
- 0x00400000, 0x00008000, 0x02388f10, 0x00000018, 0x01c00020, 0x00006180,
+ 0x00007fcd, 0x0000f408, 0x7d382806, 0x0000288c, 0x7b400006, 0x0000d108,
+ 0x00400000, 0x00000080, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x046ac000, 0x00007900,
+ 0x0031bc52, 0x00000980, 0x01c00000, 0x000000f4, 0x00007fcc, 0x0000f400,
+ 0x82e00500, 0x0000802e, 0x81401000, 0x00006180, 0x03c01002, 0x0000c900,
+ 0x00007fcd, 0x00007400, 0x81b71ee3, 0x00001900, 0x7b400006, 0x00005182,
+ 0x00400000, 0x00008000, 0x01f88f10, 0x00000018, 0x01400020, 0x0000e180,
0x08001a0b, 0x00006106, 0x040e8800, 0x0000f900, 0x0038099a, 0x00000980,
- 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x01400000, 0x00006180,
- 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030, 0x04b83708, 0x0000803c,
- 0x81c02800, 0x00001980, 0x7c4320b1, 0x0000f100, 0x02c0000a, 0x0000e180,
+ 0x047a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x03400000, 0x0000e180,
+ 0xc2f00600, 0x0000c901, 0x82f81400, 0x0000803c, 0x04802f07, 0x00000095,
+ 0x01c03006, 0x00001900, 0x7fcd2213, 0x0000f100, 0x02c0000a, 0x0000e180,
0x02800000, 0x00004980, 0x02009000, 0x00007900, 0x000130c0, 0x00000980,
0x02400000, 0x0000f900, 0x00010000, 0x00000980, 0xc2981302, 0x00009900,
- 0x008816ec, 0x0000df80, 0x00884900, 0x000081c4, 0x01809800, 0x00007900,
- 0x00001800, 0x00008980, 0x2a3aff5e, 0x0000801c, 0x811722e4, 0x00009900,
- 0x7c51250b, 0x00007004, 0x00000406, 0x00009583, 0x01c00020, 0x0000e190,
- 0x04800000, 0x0000c990, 0x03c00000, 0x0000e190, 0x01400000, 0x0000c990,
- 0x00007c5d, 0x00007008, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x00007caf, 0x0000f400, 0x045fb800, 0x00007900, 0x000ac688, 0x00008980,
- 0x81c01000, 0x00009980, 0x303b42a9, 0x00003038, 0x303b54a9, 0x0000b038,
- 0x307b82a9, 0x0000b038, 0x8100863b, 0x00006283, 0x7000002a, 0x0000a401,
- 0x4523403b, 0x0000e809, 0x30bbb0a9, 0x00003038, 0x30bbe6a9, 0x00003038,
+ 0x008816ec, 0x0000df80, 0x00884900, 0x000081c4, 0x2a409800, 0x00007900,
+ 0x00001800, 0x00008980, 0x2afaff5e, 0x00000a28, 0x811722e4, 0x00009900,
+ 0x7fdb266c, 0x00007004, 0x00000407, 0x00001583, 0x01400020, 0x00006190,
+ 0x04800000, 0x0000c990, 0x01c00000, 0x00006190, 0x03400000, 0x00004990,
+ 0x00007fe7, 0x0000f008, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
+ 0x00008039, 0x0000f400, 0x045fb800, 0x00007900, 0x000ac688, 0x00008980,
+ 0x81401000, 0x00001980, 0x303b42ac, 0x00003038, 0x303b54ac, 0x0000b038,
+ 0x307b82ac, 0x0000b038, 0x8100863b, 0x00006283, 0x7000002a, 0x0000a401,
+ 0x4523403b, 0x0000e809, 0x30bbb0ac, 0x00003038, 0x30bbe6ac, 0x00003038,
0x00238c3c, 0x0000e002, 0x6000003b, 0x0000b401, 0x40000571, 0x00006583,
0xcec00000, 0x00008981, 0x8ed35a6b, 0x0000e100, 0x01401c3c, 0x0000c281,
0x0b3ff02c, 0x0000f900, 0x003ffffe, 0x00008280, 0x0000303b, 0x00006417,
- 0x0000103b, 0x0000340d, 0x303b66a9, 0x00003038, 0x307b70a9, 0x00003038,
- 0x307b94a9, 0x00003038, 0x307ba6a9, 0x0000b038, 0x30bbc2a9, 0x00003038,
- 0x30bbd4a9, 0x0000b038, 0x30fbf0a9, 0x00003038, 0x34eb403b, 0x0000e011,
+ 0x0000103b, 0x0000340d, 0x303b66ac, 0x00003038, 0x307b70ac, 0x00003038,
+ 0x307b94ac, 0x00003038, 0x307ba6ac, 0x0000b038, 0x30bbc2ac, 0x00003038,
+ 0x30bbd4ac, 0x0000b038, 0x30fbf0ac, 0x00003038, 0x34eb403b, 0x0000e011,
0xd000002c, 0x00003404, 0x8e83516a, 0x00008304, 0x0e3bbf76, 0x00000324,
0x00001405, 0x0000e583, 0x8a800c7c, 0x00008880, 0x8100463b, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00007c86, 0x00007010, 0x00007c86, 0x00007010,
- 0x40000571, 0x00006583, 0x2483883c, 0x0000a004, 0x00007c86, 0x0000700b,
+ 0xffffffff, 0x00007f86, 0x00008010, 0x00007010, 0x00008010, 0x00007010,
+ 0x40000571, 0x00006583, 0x2483883c, 0x0000a004, 0x00008010, 0x0000700b,
0x0140e43c, 0x00009283, 0x0000383b, 0x0000ec15, 0xffffffff, 0x00007f86,
0x8100463b, 0x00006283, 0x0b01dc06, 0x00002000, 0xb9102204, 0x0000e110,
0x0ac1dc05, 0x00006000, 0x01810406, 0x00006381, 0x01400c05, 0x00000880,
@@ -14570,10112 +14897,10165 @@ ARRAY_DECL u32 init_val[] = {
0x0f81e405, 0x0000e004, 0x01401405, 0x0000e080, 0x02001008, 0x0000c380,
0x43002000, 0x0000e181, 0x67202c06, 0x0000c301, 0x00000000, 0x0000f090,
0x0180007a, 0x00007900, 0x00000010, 0x00008082, 0x0140007b, 0x00006084,
- 0x01c03006, 0x00008900, 0x01bbd705, 0x00008220, 0x7c9e2525, 0x0000f404,
+ 0x01c03006, 0x00008900, 0x01bbd705, 0x00008220, 0x80282686, 0x00007404,
0x0a43d87b, 0x00006100, 0x0d409900, 0x00004980, 0x01f83f06, 0x00008310,
- 0x00000c06, 0x00001583, 0xb9102204, 0x0000e110, 0x01c00000, 0x00004988,
- 0x3001a2a9, 0x0000f912, 0x0d400000, 0x00000000, 0x3001b2a9, 0x00007912,
- 0x0dc00000, 0x00008000, 0x04800000, 0x0000e188, 0x03c00000, 0x0000c988,
- 0x01400000, 0x0000e188, 0x81c01000, 0x00004988, 0x81e03406, 0x00009909,
+ 0x00000c07, 0x00009583, 0xb9102204, 0x0000e110, 0x01400000, 0x0000c988,
+ 0x3001a2ac, 0x0000f912, 0x0d400000, 0x00000000, 0x3001b2ac, 0x00007912,
+ 0x0dc00000, 0x00008000, 0x04800000, 0x0000e188, 0x01c00000, 0x00004988,
+ 0x03400000, 0x00006188, 0x81401000, 0x0000c988, 0x81603406, 0x00001909,
0x00000000, 0x0000f090, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x044c8000, 0x00007900, 0x003af3f6, 0x00008980, 0x7cb320b1, 0x00007500,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x03200702, 0x0000802e,
- 0xc11722e4, 0x00006100, 0x02038458, 0x00004281, 0x00028408, 0x00001583,
- 0x01800000, 0x0000e190, 0x01c00020, 0x0000c990, 0x41a2ec5d, 0x00006111,
- 0x0f02c406, 0x00006014, 0x00007cc6, 0x0000f008, 0x042ab000, 0x00007900,
+ 0x044c8000, 0x00007900, 0x003af3f6, 0x00008980, 0x803d2213, 0x00007500,
+ 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x03e00702, 0x0000802e,
+ 0xc11722e4, 0x00006100, 0x01838458, 0x0000c281, 0x00028406, 0x00009583,
+ 0x01800000, 0x0000e190, 0x01400020, 0x00004990, 0x41a2ec5d, 0x00006111,
+ 0x0f02c406, 0x00006014, 0x00008050, 0x0000f008, 0x042ab000, 0x00007900,
0x00380996, 0x00000980, 0x04609800, 0x0000f900, 0x002940b8, 0x00008980,
- 0x01400000, 0x00006180, 0x08001a0b, 0x00006106, 0x81c11800, 0x0000e180,
- 0xc2f00600, 0x0000c901, 0x00007ce7, 0x0000f400, 0x82f81400, 0x00008030,
- 0x03fae706, 0x00000108, 0x02400000, 0x0000f900, 0x000040c0, 0x00000980,
+ 0x03400000, 0x0000e180, 0x08001a0b, 0x00006106, 0x81411800, 0x00006180,
+ 0xc2f00600, 0x0000c901, 0x00008070, 0x00007400, 0x82f81400, 0x0000803c,
+ 0x01fae706, 0x00008108, 0x02400000, 0x0000f900, 0x000040c0, 0x00000980,
0x02000002, 0x00006180, 0x08001a04, 0x00006106, 0x8243cd00, 0x0000f900,
0x00000002, 0x00000080, 0x81501202, 0x00006100, 0xc2280500, 0x00004900,
0x723848ec, 0x00005600, 0x00384000, 0x00000000, 0x723af0ec, 0x0000d600,
- 0x0013c140, 0x00000080, 0x00c002ec, 0x0000df80, 0x17c6a00b, 0x00001684,
- 0x82280500, 0x00009900, 0x87803208, 0x00002081, 0xffffffff, 0x00007fa7,
- 0x01c04406, 0x00001283, 0x0197285e, 0x0000e210, 0x01c00020, 0x00000990,
- 0x04800000, 0x0000e190, 0x01400000, 0x0000c990, 0x00007ce8, 0x0000f008,
+ 0x0013c140, 0x00000080, 0x00c002ec, 0x0000df80, 0x1802f00b, 0x00009684,
+ 0x81a80500, 0x00001900, 0x87803a06, 0x00002081, 0xffffffff, 0x00007fa7,
+ 0x02004407, 0x00009283, 0x01d7285e, 0x00006210, 0x01400020, 0x00008990,
+ 0x04800000, 0x0000e190, 0x03400000, 0x00004990, 0x00008071, 0x0000f008,
0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x044dd800, 0x00007900,
- 0x003fe404, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x87a09208, 0x00002080, 0x82e00500, 0x0000802e, 0x03001002, 0x00009900,
- 0x03c03006, 0x00009900, 0x7ce820b1, 0x00007100, 0x0200b406, 0x00009281,
- 0x00008408, 0x00009583, 0x01c00020, 0x0000e190, 0x0f003404, 0x0000e010,
- 0x01400000, 0x0000e190, 0x0f803006, 0x00006010, 0x00007cf8, 0x00007008,
- 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04485000, 0x00007900,
- 0x00010674, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a0b, 0x00006106,
- 0x00007ce6, 0x00007400, 0x82e00500, 0x0000802e, 0xc4b81004, 0x00008030,
- 0x82280500, 0x00009900, 0x87a03208, 0x00002080, 0x7cfd7bed, 0x0000f503,
- 0xffffffff, 0x00007f86, 0x0800325f, 0x00006900, 0x8140160c, 0x00006283,
- 0x02000000, 0x00000980, 0x01800800, 0x0000e191, 0x01801000, 0x0000c989,
- 0x8140260c, 0x00006283, 0x02400000, 0x00008980, 0x02c00000, 0x0000e180,
- 0x41203008, 0x0000e002, 0x01800800, 0x0000e191, 0x01801000, 0x0000c989,
- 0x8140860c, 0x00009283, 0x01800800, 0x0000e191, 0x61a03008, 0x0000e002,
- 0x8146060c, 0x0000e283, 0x01801000, 0x00000989, 0x02800000, 0x0000f900,
- 0x0000d714, 0x00008980, 0x01800800, 0x0000e191, 0xa2a03008, 0x0000e002,
- 0xc141870c, 0x0000e283, 0x01801000, 0x00000989, 0x000800ec, 0x00005780,
- 0x00004000, 0x00000080, 0x01800800, 0x0000e191, 0xe3a03008, 0x0000e002,
- 0xc146070c, 0x0000e283, 0x01801000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x01800800, 0x0000e191, 0x45203008, 0x0000e003, 0x01801000, 0x00009989,
- 0xffffffff, 0x00007f86, 0x01801c0d, 0x00006283, 0x65a03008, 0x00002003,
- 0x01801000, 0x0000e189, 0x01800800, 0x0000c991, 0xffffffff, 0x00007f86,
- 0x0180640d, 0x00006283, 0x86203008, 0x00002003, 0x01801000, 0x0000e189,
- 0x01800800, 0x0000c991, 0xffffffff, 0x00007f86, 0x0181840d, 0x00006283,
- 0xa6a03008, 0x00002003, 0x01801000, 0x0000e189, 0x01800800, 0x0000c991,
- 0xffffffff, 0x00007f86, 0x0186040d, 0x00006283, 0xc7203008, 0x00002003,
- 0x01800800, 0x0000e191, 0x01801000, 0x0000c989, 0x4180850d, 0x00001283,
- 0x01800800, 0x0000e191, 0xe7a03008, 0x0000e003, 0x81400e0d, 0x0000e283,
+ 0x003fe404, 0x00000980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x87a09206, 0x0000a080, 0x82e00500, 0x0000802e, 0x03c01002, 0x00009900,
+ 0x80712213, 0x00007100, 0x0180b407, 0x00009281, 0x00008406, 0x00001583,
+ 0x01400020, 0x00006190, 0x0f003c04, 0x00006010, 0x03400000, 0x00006190,
+ 0x0f803807, 0x00006010, 0x00008081, 0x0000f008, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04485000, 0x00007900, 0x00010674, 0x00000980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x00008070, 0x00007400,
+ 0x82e00500, 0x0000802e, 0xc4b81004, 0x0000803c, 0x81a80500, 0x00001900,
+ 0x87a03206, 0x0000a080, 0x80867f77, 0x00007503, 0xffffffff, 0x00007f86,
+ 0x0800325f, 0x00006900, 0x8140160c, 0x00006283, 0x02000000, 0x00000980,
+ 0x01800800, 0x0000e191, 0x01801000, 0x0000c989, 0x8140260c, 0x00006283,
+ 0x02400000, 0x00008980, 0x02c00000, 0x0000e180, 0x41203008, 0x0000e002,
+ 0x01800800, 0x0000e191, 0x01801000, 0x0000c989, 0x8140860c, 0x00009283,
+ 0x01800800, 0x0000e191, 0x61a03008, 0x0000e002, 0x8146060c, 0x0000e283,
+ 0x01801000, 0x00000989, 0x02800000, 0x0000f900, 0x0000d714, 0x00008980,
+ 0x01800800, 0x0000e191, 0xa2a03008, 0x0000e002, 0xc141870c, 0x0000e283,
+ 0x01801000, 0x00000989, 0x000800ec, 0x00005780, 0x00004000, 0x00000080,
+ 0x01800800, 0x0000e191, 0xe3a03008, 0x0000e002, 0xc146070c, 0x0000e283,
0x01801000, 0x00000989, 0xffffffff, 0x00007f86, 0x01800800, 0x0000e191,
- 0x41203009, 0x00006002, 0x8140160d, 0x0000e283, 0x01801000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x01800800, 0x0000e191, 0xc3203009, 0x00006002,
- 0x8140260d, 0x0000e283, 0x01801000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x01800800, 0x0000e191, 0xe3a03009, 0x00006002, 0x8140460d, 0x0000e283,
+ 0x45203008, 0x0000e003, 0x01801000, 0x00009989, 0xffffffff, 0x00007f86,
+ 0x01801c0d, 0x00006283, 0x65a03008, 0x00002003, 0x01801000, 0x0000e189,
+ 0x01800800, 0x0000c991, 0xffffffff, 0x00007f86, 0x0180640d, 0x00006283,
+ 0x86203008, 0x00002003, 0x01801000, 0x0000e189, 0x01800800, 0x0000c991,
+ 0xffffffff, 0x00007f86, 0x0181840d, 0x00006283, 0xa6a03008, 0x00002003,
+ 0x01801000, 0x0000e189, 0x01800800, 0x0000c991, 0xffffffff, 0x00007f86,
+ 0x0186040d, 0x00006283, 0xc7203008, 0x00002003, 0x01800800, 0x0000e191,
+ 0x01801000, 0x0000c989, 0x4180850d, 0x00001283, 0x01800800, 0x0000e191,
+ 0xe7a03008, 0x0000e003, 0x81400e0d, 0x0000e283, 0x01801000, 0x00000989,
+ 0xffffffff, 0x00007f86, 0x01800800, 0x0000e191, 0x41203009, 0x00006002,
+ 0x8140160d, 0x0000e283, 0x01801000, 0x00000989, 0xffffffff, 0x00007f86,
+ 0x01800800, 0x0000e191, 0xc3203009, 0x00006002, 0x8140260d, 0x0000e283,
0x01801000, 0x00000989, 0xffffffff, 0x00007f86, 0x01800800, 0x0000e191,
- 0x04203009, 0x00006003, 0x8140860d, 0x0000e283, 0x01801000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x01800800, 0x0000e191, 0x24a03009, 0x00006003,
- 0xc140170d, 0x0000e283, 0x01801000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x01800800, 0x0000e191, 0x45203009, 0x00006003, 0xc140270d, 0x0000e283,
+ 0xe3a03009, 0x00006002, 0x8140460d, 0x0000e283, 0x01801000, 0x00000989,
+ 0xffffffff, 0x00007f86, 0x01800800, 0x0000e191, 0x04203009, 0x00006003,
+ 0x8140860d, 0x0000e283, 0x01801000, 0x00000989, 0xffffffff, 0x00007f86,
+ 0x01800800, 0x0000e191, 0x24a03009, 0x00006003, 0xc140170d, 0x0000e283,
0x01801000, 0x00000989, 0xffffffff, 0x00007f86, 0x01800800, 0x0000e191,
- 0xe7a03009, 0x00006003, 0x01801000, 0x00009989, 0xffffffff, 0x00007f86,
- 0x0020300a, 0x0000e802, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008810ec, 0x00005780, 0x008041c1, 0x000081c0,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0xb9182304, 0x00006100, 0x00102003, 0x0000e106, 0x00800405, 0x000000a0,
- 0x02400000, 0x000000e8, 0x02c00000, 0x00009980, 0x00000000, 0x00007083,
- 0x981722e4, 0x00006100, 0x01038458, 0x00004281, 0x00028404, 0x00001583,
- 0x01800000, 0x0000e190, 0x01c00020, 0x0000c990, 0x41a2ec5d, 0x00006111,
- 0x0f02c406, 0x00006014, 0x00007d7a, 0x0000f008, 0x042ab000, 0x00007900,
- 0x00380996, 0x00000980, 0x04609800, 0x0000f900, 0x002940b8, 0x00008980,
- 0x01400000, 0x00006180, 0x08001a0b, 0x00006106, 0x81c11800, 0x0000e180,
- 0xc2f00600, 0x0000c901, 0x00007d99, 0x00007400, 0x82f81400, 0x00008030,
- 0x03fae706, 0x00000108, 0x01c00000, 0x00007900, 0x000040c0, 0x00000980,
- 0x01800002, 0x00009980, 0x81c3cd00, 0x00007900, 0x00000002, 0x00000080,
- 0xc1a80500, 0x00009900, 0x723838ec, 0x0000d600, 0x00383000, 0x00008000,
- 0x723af0ec, 0x0000d600, 0x000bc142, 0x00008080, 0x00c002ec, 0x0000df80,
- 0x17cc300b, 0x00001684, 0x81280500, 0x00009900, 0x87803204, 0x00002081,
- 0xffffffff, 0x00007fa7, 0x01404406, 0x00009283, 0x0197285e, 0x0000e210,
- 0x01c00020, 0x00000990, 0x04800000, 0x0000e190, 0x01400000, 0x0000c990,
- 0x00007d9a, 0x00007008, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x044dd800, 0x00007900, 0x003fe404, 0x00000980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x87a09204, 0x00002080, 0x82e00500, 0x0000802e,
- 0x03001002, 0x00009900, 0x03c03006, 0x00009900, 0x7d9a20b1, 0x0000f100,
- 0x0100b406, 0x00009281, 0x00008404, 0x00009583, 0x81280500, 0x00006108,
- 0xb9130260, 0x0000c908, 0x87a02204, 0x00002088, 0x02001008, 0x0000e388,
- 0x4300a000, 0x00000989, 0x01c00020, 0x0000e190, 0x01400000, 0x0000c990,
- 0x81c01000, 0x00006190, 0x0f003408, 0x0000e010, 0x0800225f, 0x0000e108,
- 0x0f803006, 0x00003010, 0x00000000, 0x0000f088, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x04485000, 0x00007900, 0x00010674, 0x00000980,
- 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106, 0x00007d98, 0x0000f400,
- 0x82f81400, 0x00008030, 0x04a04408, 0x00009900, 0x00001009, 0x0000e402,
- 0x80001008, 0x0000b402, 0xa0000809, 0x0000e402, 0x40001008, 0x00003403,
- 0x0a000000, 0x00006180, 0x60001009, 0x00006403, 0x0a400000, 0x000002e8,
- 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0,
- 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8,
- 0x0dc00000, 0x000003e0, 0x0e400000, 0x000003e8, 0x0ec00000, 0x000083f0,
- 0x0f400000, 0x000003f8, 0x0fc00000, 0x000084c0, 0x10400000, 0x000004c8,
- 0x10c00000, 0x000084d0, 0x11400000, 0x000004d8, 0x11c00000, 0x000004e0,
- 0x12400000, 0x000004e8, 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8,
- 0x13c00000, 0x000085c0, 0x14400000, 0x000005c8, 0x14c00000, 0x000085d0,
- 0x15400000, 0x000005d8, 0x15c00000, 0x0000e180, 0x2a02f05e, 0x00004900,
- 0x01c2f85f, 0x00006100, 0x01809e00, 0x0000c980, 0x981722e4, 0x00001900,
- 0x7dd4250b, 0x00007004, 0x00000406, 0x00009583, 0x01c00020, 0x0000e190,
- 0x04800000, 0x0000c990, 0x03c00000, 0x0000e190, 0x01400000, 0x0000c990,
- 0x00007de3, 0x0000f008, 0x0412d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x04771800, 0x00007900, 0x0002c364, 0x00008980, 0x81c01000, 0x0000e180,
- 0x08001a0b, 0x00006106, 0x7de320b1, 0x0000f500, 0x82e00500, 0x0000802e,
- 0x03001002, 0x00009900, 0x303b42a9, 0x00003038, 0xb9130260, 0x00006100,
- 0xc0001008, 0x00006402, 0x307b82a9, 0x0000b038, 0x06400000, 0x0000e180,
- 0x0000a80b, 0x0000e482, 0x0383402a, 0x00006001, 0xa001b80a, 0x0000b483,
- 0x303b54a9, 0x0000b038, 0x303b66a9, 0x00003038, 0x307b70a9, 0x00003038,
- 0x307b94a9, 0x00003038, 0x60003009, 0x0000e406, 0x20001008, 0x00003403,
- 0x2783402c, 0x0000e000, 0x1383402a, 0x0000b001, 0x00000000, 0x0000f480,
- 0x06000000, 0x000001dc, 0x06434c71, 0x0000830e, 0xbfa04f3b, 0x00004489,
- 0xf4e04f3b, 0x00001f9b, 0x0340473b, 0x00004592, 0x8120463b, 0x0000808e,
- 0x0100673b, 0x00009181, 0x82800c04, 0x0000f8b3, 0x93c00000, 0x0000bf80,
- 0x01480000, 0x00007900, 0x00004002, 0x00008980, 0x7e02673f, 0x0000f500,
- 0x1939c739, 0x0000801c, 0x01800000, 0x00001980, 0x00007e1a, 0x0000f200,
- 0x9e11d23a, 0x00006100, 0x0801e678, 0x00006002, 0x7e1a673f, 0x0000f500,
- 0x01401001, 0x00006180, 0x19000000, 0x0000c980, 0x01800000, 0x000080dc,
- 0x00007e1a, 0x00007000, 0x01401000, 0x00007900, 0x00004000, 0x00000980,
- 0x7e0f673f, 0x00007500, 0x1939c739, 0x0000801c, 0x4140053b, 0x00008098,
- 0x00007e1b, 0x00007200, 0x01000800, 0x0000e181, 0x9e11d23a, 0x00004900,
- 0x01400000, 0x000086d0, 0x7e16673f, 0x0000f500, 0x01c00000, 0x000080d8,
- 0x4141e53b, 0x00008015, 0x4000153c, 0x00001583, 0x0100463b, 0x00001489,
- 0x0f402404, 0x00006808, 0x00007e1b, 0x00007008, 0x01000000, 0x00001981,
+ 0x45203009, 0x00006003, 0xc140270d, 0x0000e283, 0x01801000, 0x00000989,
+ 0xffffffff, 0x00007f86, 0x01800800, 0x0000e191, 0xe7a03009, 0x00006003,
+ 0x01801000, 0x00009989, 0xffffffff, 0x00007f86, 0x0020300a, 0x0000e802,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000404, 0x0000e583,
- 0x27800000, 0x00000980, 0x27000000, 0x000089f4, 0x27c00000, 0x00000ac0,
- 0x28400000, 0x00000ac8, 0x28c00000, 0x00006180, 0x02001008, 0x00004390,
- 0x43000000, 0x0000e191, 0x4300a000, 0x0000c989, 0x00000001, 0x00007480,
- 0x02001008, 0x0000e388, 0xa7800800, 0x00000991, 0x27800800, 0x00001989,
- 0x1c42e05c, 0x0000e100, 0x0022e806, 0x0000e086, 0x822ae806, 0x0000e886,
- 0x041ae806, 0x00006987, 0x01c03006, 0x00001900, 0x1b8d4000, 0x00007900,
- 0x00360fce, 0x00000980, 0x1c003807, 0x00001900, 0xffffffff, 0x00007ff7,
- 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
- 0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x1bc03006, 0x0000e100,
- 0x042ae804, 0x0000e087, 0x7e432178, 0x00007500, 0x8622e804, 0x0000e887,
- 0x1b402004, 0x00001900, 0x01000000, 0x000000e0, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x02400000, 0x00006180, 0x041ac004, 0x00006187,
- 0x700708ec, 0x0000d680, 0x00382002, 0x00008000, 0x02800000, 0x000080ec,
- 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4,
- 0x28800000, 0x00008acc, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec,
- 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26c00000, 0x000089e8,
- 0xeb40945d, 0x0000c389, 0x00e0945d, 0x00000098, 0xe6e0745d, 0x0000c389,
- 0x00e0745d, 0x00008098, 0xe740645d, 0x00004489, 0x78e0645d, 0x00009f9e,
- 0x01805c5d, 0x00004789, 0x9220845d, 0x00000c8c, 0x19a0845d, 0x000047b1,
- 0x8ce0bc5d, 0x00008e8d, 0xee60bc5d, 0x00004199, 0x00e0ac5d, 0x00000088,
- 0x2000ac5d, 0x00004598, 0x90209c5d, 0x0000118e, 0xf1c0cc5d, 0x0000c489,
- 0x20e0cc5d, 0x00001faf, 0xd680d45d, 0x0000f88b, 0x93c00000, 0x0000bf8c,
- 0x01038458, 0x00001281, 0x00028404, 0x00001583, 0x0102e05c, 0x0000e110,
- 0x01980001, 0x00004990, 0x0f02c406, 0x0000e814, 0x00007e82, 0x00007008,
- 0x00007f7d, 0x00007000, 0x7e86250b, 0x00007404, 0x01809800, 0x00007900,
- 0x00003400, 0x00000980, 0x01faf75f, 0x00008a20, 0x00000406, 0x00009583,
- 0x01c00020, 0x0000e190, 0x04800000, 0x0000c990, 0x03c00000, 0x0000e190,
- 0x01400000, 0x0000c990, 0x00007e95, 0x00007008, 0x0412d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0451b800, 0x0000f900, 0x00358508, 0x00008980,
- 0x81c01000, 0x00009980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
- 0x03200702, 0x0000802e, 0x7e9520b1, 0x0000f100, 0x30bbb0a9, 0x00003038,
- 0x317c94a9, 0x00003038, 0x317ca6a9, 0x00002080, 0x02010000, 0x0000f900,
- 0x00080822, 0x00008980, 0x21c30060, 0x0000e100, 0x04032877, 0x00006001,
- 0x40000593, 0x00006583, 0x34e03077, 0x00002001, 0x01800000, 0x0000e181,
- 0x44c3be77, 0x00006000, 0x01800800, 0x0000e191, 0x00000094, 0x0000e600,
- 0x313c42a9, 0x00003038, 0x00000406, 0x00006583, 0x233fe01f, 0x00000980,
- 0x01000800, 0x00006191, 0x01001000, 0x00004989, 0x81010677, 0x0000e283,
- 0x0fc32c60, 0x00002000, 0x61a02008, 0x00006002, 0x03c32894, 0x00003001,
- 0x01000800, 0x00006191, 0x01001000, 0x00004989, 0x303b42a9, 0x00003038,
- 0x303b54a9, 0x0000b038, 0x303b66a9, 0x00003038, 0x307b70a9, 0x00003038,
- 0x307b82a9, 0x0000b038, 0x307b94a9, 0x00003038, 0x307ba6a9, 0x0000b038,
- 0x30bbc2a9, 0x00003038, 0x30bbd4a9, 0x0000b038, 0x30bbe6a9, 0x00003038,
- 0x30fbf0a9, 0x00003038, 0x30fc02a9, 0x00003038, 0x30fc14a9, 0x0000b038,
- 0x313c30a9, 0x0000a080, 0x313c54a9, 0x00002080, 0x317c78a9, 0x0000a000,
- 0x317c82a9, 0x0000b038, 0x31bcc2a9, 0x0000a080, 0x31bcd4a9, 0x0000b038,
- 0x00000406, 0x00006583, 0x65a02008, 0x0000a003, 0x81000000, 0x00006180,
- 0x23831863, 0x0000c900, 0x26500000, 0x00007900, 0x00003200, 0x00000980,
- 0x80002804, 0x00007902, 0x01000000, 0x00000604, 0x02408000, 0x00007900,
- 0x00200100, 0x00008980, 0x02801000, 0x00007900, 0x00005504, 0x00000980,
- 0x22fb1761, 0x00000834, 0x257c0249, 0x00006180, 0x259f4000, 0x00004980,
- 0x25c00000, 0x0000e180, 0x21001264, 0x00004880, 0x217fe01f, 0x0000e180,
- 0x02c00000, 0x0000c980, 0x89800000, 0x00006180, 0x0544388c, 0x0000c000,
- 0x04400888, 0x0000e180, 0xe0932264, 0x00000900, 0xe0c00000, 0x0000e180,
- 0x20fb2764, 0x0000c901, 0x00007ee6, 0x00007410, 0xe1982800, 0x0000e180,
- 0x26732664, 0x00004901, 0x01001800, 0x00009991, 0x0004408a, 0x00009502,
- 0x01001000, 0x00001989, 0x00007ee6, 0x00007009, 0x00044089, 0x00009502,
- 0x01000000, 0x00009989, 0x01000000, 0x00009991, 0x00007ee6, 0x0000f008,
- 0x003c3493, 0x00001503, 0x01000800, 0x000019a1, 0x07847805, 0x00006100,
- 0xc000280a, 0x00002406, 0x00000c04, 0x00006583, 0x00001009, 0x00002402,
- 0x01008275, 0x0000e080, 0x05800000, 0x0000c980, 0x08c02374, 0x00006300,
- 0x02001008, 0x00000380, 0x82c02aec, 0x00007902, 0x01000000, 0x00000604,
- 0x81ff2aec, 0x00002e84, 0x01008381, 0x0000e080, 0x4000280a, 0x0000e407,
- 0x097c0025, 0x0000f900, 0x003ffffe, 0x00008280, 0x01002282, 0x0000e300,
- 0xa0000809, 0x00002402, 0x81f82cec, 0x00005604, 0x00382000, 0x00000000,
- 0x81fbe4ec, 0x0000d604, 0x003bc000, 0x00008000, 0x0977f825, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x0403b825, 0x00006000, 0x80001008, 0x0000b402,
- 0x81f826ec, 0x00002684, 0x09000000, 0x00006180, 0x12c3b825, 0x0000e000,
- 0x0a800000, 0x0000e180, 0x2443b825, 0x00006000, 0x0e800000, 0x00006180,
- 0x33c3b825, 0x0000e000, 0x0ec00000, 0x0000e180, 0x61ac1825, 0x00006000,
- 0x0f000000, 0x00006180, 0x05800800, 0x0000c988, 0x40000d83, 0x00006583,
- 0x9000080a, 0x00002401, 0x60001009, 0x00006403, 0x40001008, 0x00003403,
- 0x002b883c, 0x0000600a, 0x0000203b, 0x0000340d, 0x03c00000, 0x00006180,
- 0x07043887, 0x00004900, 0x07431863, 0x0000e100, 0x0000083b, 0x00006415,
- 0x888bb974, 0x00000206, 0x0a000000, 0x000082e4, 0x0ac00000, 0x000082f0,
- 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0, 0x0c400000, 0x000003c8,
- 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8, 0x0dc00000, 0x000003f4,
- 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4, 0x10800000, 0x000084cc,
- 0x11000000, 0x000084d4, 0x11800000, 0x000084dc, 0x12000000, 0x000084e4,
- 0x12800000, 0x000084ec, 0x13000000, 0x000084f4, 0x13800000, 0x000084fc,
- 0x14000000, 0x000085c4, 0x14800000, 0x000085cc, 0x15000000, 0x000085d4,
- 0x15800000, 0x000085dc, 0x0e3b6f6c, 0x00000324, 0x43000000, 0x00006181,
- 0x09332664, 0x00004901, 0x493b2764, 0x0000e101, 0x8a800c71, 0x0000c880,
- 0x22402005, 0x00006000, 0x22802005, 0x00000000, 0x22002005, 0x0000e000,
- 0x04c02005, 0x00000000, 0x00007fa3, 0x0000f400, 0x03802005, 0x00006000,
- 0x05002005, 0x00008000, 0x89635164, 0x00008328, 0x7f387b91, 0x0000f100,
- 0x00007fa3, 0x0000f200, 0x18000000, 0x00009981, 0x7f387b99, 0x00007100,
- 0x00007f38, 0x0000f000, 0x7f387c4c, 0x00007004, 0x00007f38, 0x0000f000,
- 0x7f387db1, 0x00007004, 0x00007f38, 0x0000f000, 0x7f43250b, 0x0000f404,
- 0x2a3aff5e, 0x0000801c, 0x01809e00, 0x00009980, 0x00000406, 0x00009583,
- 0x01c00020, 0x0000e190, 0x04800000, 0x0000c990, 0x03c00000, 0x0000e190,
- 0x01400000, 0x0000c990, 0x00007f4f, 0x00007008, 0x04057000, 0x0000f900,
- 0x00380996, 0x00000980, 0x00007e91, 0x0000f400, 0x04524000, 0x00007900,
- 0x000a0bb4, 0x00000980, 0x81c01000, 0x00009980, 0x303b42a9, 0x00003038,
- 0x303b54a9, 0x0000b038, 0x303b66a9, 0x00003038, 0x307b70a9, 0x00003038,
- 0x81004668, 0x00009283, 0x307b82a9, 0x0000b038, 0x307b94a9, 0x00003038,
- 0x00007f9e, 0x00007008, 0x7f386768, 0x0000f300, 0x19000000, 0x000086d4,
- 0x00007f38, 0x0000f000, 0x7f387bd0, 0x0000f100, 0x00007f38, 0x0000f000,
- 0x00000c5e, 0x00009583, 0xe0001009, 0x0000640b, 0x0000100a, 0x0000340a,
- 0x01001425, 0x00006491, 0xa2a2f008, 0x0000200a, 0x00007f66, 0x0000f008,
- 0x71802025, 0x0000e000, 0xe0001009, 0x0000b403, 0x80000624, 0x00006583,
- 0x0000100a, 0x00002402, 0x4000050c, 0x00006583, 0x6000100a, 0x00002402,
- 0xceeaf55e, 0x00006109, 0xd000082c, 0x0000e408, 0x4f32f65e, 0x00001909,
- 0x00007f70, 0x00007008, 0x4000250c, 0x00001583, 0xceeaf55e, 0x00006109,
- 0xf000082c, 0x00006408, 0x4f32f65e, 0x00001909, 0x00007f38, 0x00007200,
- 0x43006000, 0x00006181, 0x02001008, 0x0000c380, 0x7f387cb3, 0x00007004,
- 0x00007f38, 0x0000f000, 0x7f387d67, 0x0000f004, 0x00007f38, 0x0000f000,
- 0x01038458, 0x00001281, 0x00028404, 0x00001583, 0x0102e05c, 0x0000e110,
- 0x01980002, 0x00004990, 0x0f02c406, 0x0000e814, 0x00007f89, 0x00007008,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x042ab000, 0x00007900,
- 0x00380996, 0x00000980, 0x04609800, 0x0000f900, 0x002940b8, 0x00008980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x00007e94, 0x0000f400, 0x04b83704, 0x0000803c, 0x81c11800, 0x00009980,
- 0x4105052c, 0x00001283, 0x00007f8d, 0x0000f00b, 0x7f387df6, 0x00007100,
- 0x00007f38, 0x0000f000, 0x0c81659e, 0x00006800, 0x7f387bb0, 0x0000f100,
- 0x00007f38, 0x0000f000, 0x7f387bab, 0x0000f100, 0x00007f38, 0x0000f000,
- 0x01c00020, 0x00006180, 0x08001a0b, 0x00006106, 0x0427b000, 0x0000f900,
- 0x00380994, 0x00008980, 0x04782800, 0x00007900, 0x00280a2c, 0x00000980,
- 0x01400000, 0x00006180, 0xc2f00600, 0x0000c901, 0x82f81400, 0x00008030,
- 0x00007e94, 0x0000f400, 0x04baef5c, 0x0000803c, 0x81c02800, 0x00001980,
- 0x81008668, 0x00006283, 0x18203406, 0x00008901, 0x2403402c, 0x0000e010,
- 0x0003402a, 0x00003011, 0x1003402a, 0x00006811, 0x000808ec, 0x0000d780,
- 0x00884d80, 0x00008180, 0x00000460, 0x00006583, 0x01c00000, 0x00000980,
- 0x0018d0ec, 0x00005780, 0x00004803, 0x00008080, 0x01801002, 0x0000e100,
- 0x00001807, 0x00006106, 0x01009000, 0x00007900, 0x0004b080, 0x00000980,
- 0x01400000, 0x0000f900, 0x00018008, 0x00000980, 0x00502800, 0x0000f900,
- 0x0004c150, 0x00008980, 0x000800ec, 0x00005780, 0x00004000, 0x00000080,
- 0x00007fc6, 0x00007408, 0xc000a800, 0x00006181, 0xc0001807, 0x0000e006,
- 0xc0c07800, 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008810ec, 0x00005780, 0x008041c1, 0x000087c0,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x7fc4673f, 0x00007500, 0x01400020, 0x0000e180, 0x19000000, 0x0000c980,
- 0x0180b800, 0x00006180, 0x01e80800, 0x00004980, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x008816ec, 0x0000df80, 0x008041c1, 0x000007c4,
- 0x7fcb1d41, 0x0000f500, 0x05000008, 0x000001d4, 0x05c00000, 0x000081d8,
- 0xffffffff, 0x00007f86, 0x00000404, 0x00001583, 0xc0c07800, 0x0000e188,
- 0xc000a800, 0x0000c989, 0x00502800, 0x00007908, 0x0004c010, 0x00008980,
- 0x00007fd6, 0x00007010, 0x7fd4672a, 0x00007300, 0x80405000, 0x00009981,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x1d000001, 0x000007d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x7fe0672f, 0x0000f500, 0x20800000, 0x000088cc, 0x01067000, 0x00001980,
- 0x001018ec, 0x00005780, 0x00884980, 0x00000180, 0x00502800, 0x0000f900,
- 0x0004c010, 0x00008980, 0x0018d0ec, 0x00005780, 0x00004801, 0x00000080,
- 0x7fe9672a, 0x0000f500, 0xc0207c15, 0x000000cd, 0x80402000, 0x00001981,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x05000008, 0x000001d4,
- 0x05800000, 0x000081dc, 0x014003e8, 0x000007d0, 0x1d400000, 0x000007d8,
- 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
- 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x7ff71da1, 0x00007500,
- 0x20400000, 0x000008c8, 0x20c00000, 0x00009980, 0xffffffff, 0x00007f86,
- 0xffa01c04, 0x0000c489, 0xf8e02404, 0x00009f8f, 0x03c00c04, 0x00007892,
- 0x3c000000, 0x00004080, 0xe0000838, 0x0000ec00, 0x01400000, 0x00001980,
- 0x00400538, 0x0000f8c2, 0x04000001, 0x00008080, 0x01400800, 0x00001981,
- 0xffffffff, 0x00007f86, 0x01800705, 0x00008690, 0x8007673f, 0x00007500,
- 0x01400020, 0x0000e180, 0x01c03006, 0x00004900, 0x01809800, 0x00009980,
- 0x01005000, 0x00001981, 0x00502800, 0x0000f900, 0x0004c010, 0x00008980,
- 0x800d672a, 0x0000f500, 0xc0207c15, 0x000000cd, 0x80602404, 0x00001901,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x8011672f, 0x00007300,
- 0x01066000, 0x00009980, 0x001018ec, 0x00005780, 0x00884980, 0x00000180,
- 0x00008008, 0x00007400, 0x0018d0ec, 0x00005780, 0x00004801, 0x00000080,
- 0x01002000, 0x00009981, 0xffffffff, 0x00007f86, 0x000fe822, 0x801820f7,
- 0x0000f004, 0x000000d0, 0x001e2168, 0x001e3e9d, 0x001e3f69, 0x001e4099,
- 0x001e1dd6, 0x001e889f, 0x001e1f5a, 0x001e1f11, 0x001e1f43, 0x001e1ee7,
- 0x001e2447, 0x001e1f2b, 0x001e6485, 0x00000090, 0x0000299c, 0x000028ee,
- 0x001e2cd7, 0x001e2f9c, 0x001e25bd, 0x00022c12, 0x00022c72, 0x00002ad4,
- 0x00002bd5, 0x00000020, 0x00048674, 0x001e881f, 0x00000020, 0x000484bd,
- 0x001e8413, 0x00000020, 0x0006094a, 0x0006001b, 0x00000020, 0x001e0901,
- 0x00060059, 0x00000020, 0x001e16ff, 0x001e158b, 0x00000020, 0x000a5fbd,
- 0x000a44b7, 0x00000020, 0x0012414a, 0x001240cd, 0x00000060, 0x000c7fc8,
- 0x000c7983, 0x00127e30, 0x00127bf5, 0x000c7a51, 0x000c6cab, 0x00000020,
- 0x000c7a51, 0x000c7543, 0x00000020, 0x000c7feb, 0x000c66d4, 0x00000020,
- 0x00000080, 0x00000000, 0x00000060, 0x0001000a, 0x000e1208, 0x58a0ccc7,
- 0x00000000, 0x01020258, 0x00400804, 0x00000070, 0x00000022, 0x00000000,
- 0x00000400, 0x00000000, 0x00000000, 0x00000000, 0x00001388, 0x00000050,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x000000c8, 0x00002800,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0x00014012, 0xffff0000,
- 0x00000020, 0x01860000, 0x00000018, 0x000000a0, 0xfffe0007, 0x00000fff,
- 0xc03e00fd, 0x00000ff0, 0x003fffff, 0x00000f38, 0x01fc01bf, 0x00000ffe,
- 0xffffff83, 0x00000fff, 0x00000020, 0x803e3fff, 0x00000ff7, 0x00010012,
- 0x001e113c, 0x00098240, 0xffffffff, 0x00007f86, 0x000110e4, 0x00007004,
- 0x1b000012, 0x00006180, 0x08042c04, 0x00006006, 0x1c060000, 0x00007900,
- 0x001f2252, 0x00008980, 0x000a10d5, 0x0000f500, 0x1c55d800, 0x00007900,
- 0x003e9d52, 0x00000980, 0xdb701004, 0x0000863a, 0x29000000, 0x0000e180,
- 0x00000005, 0x00006704, 0x862460a4, 0x0000e007, 0xc0000005, 0x00003407,
- 0x80007000, 0x00006180, 0x40001005, 0x0000e406, 0x00400000, 0x00007900,
- 0x00040010, 0x00008980, 0x2600e000, 0x0000f900, 0x0000c000, 0x00008980,
- 0x26400000, 0x0000f900, 0x00010000, 0x00000980, 0x28000800, 0x000080d7,
- 0x08003008, 0x0000e206, 0x00001099, 0x00003406, 0x002ff800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x000428a0, 0x0000e006, 0x90000005, 0x00003401,
- 0x25000800, 0x00006180, 0x26c00002, 0x00004980, 0x28400180, 0x0000e180,
- 0x6904708e, 0x0000c900, 0x80406800, 0x00006181, 0x26080098, 0x0000c380,
- 0x80000899, 0x00006401, 0xc0000005, 0x00003407, 0x0000389b, 0x0000e106,
- 0x20000894, 0x0000b401, 0xc70478a4, 0x00006001, 0x90000001, 0x0000b401,
- 0x01000000, 0x000089d4, 0x25800100, 0x000009dc, 0x26a00706, 0x0000008d,
- 0x29800000, 0x00008adc, 0x288c508a, 0x00008a08, 0x28bc5d8a, 0x00008a0c,
- 0x2960178d, 0x00000083, 0xa8243908, 0x00008a04, 0x68431709, 0x000009a3,
- 0xc1c00000, 0x00009980, 0x0000158a, 0x0000f88c, 0x00000000, 0x00000000,
- 0x0e40028d, 0x0000788a, 0x00000001, 0x00008060, 0x0f000d8a, 0x0000c98e,
- 0xf0007fa4, 0x00000088, 0x19800000, 0x0000f900, 0x00307fc0, 0x00000980,
- 0x81007c8c, 0x00006280, 0x0a401800, 0x00000980, 0x0a8000e1, 0x000082ec,
- 0x19ca0005, 0x0000e180, 0x19024048, 0x00004900, 0x0a080000, 0x00007900,
- 0x0000820e, 0x00000980, 0x0c001000, 0x00007900, 0x00004000, 0x00000980,
- 0x0c410000, 0x0000f900, 0x00040000, 0x00000980, 0x000860ec, 0x00005780,
- 0x00007800, 0x00008080, 0x19400749, 0x00000388, 0x0cc00000, 0x00006180,
- 0x99946a04, 0x0000c000, 0xca546a04, 0x00006000, 0xca818284, 0x00008080,
- 0x19ec2d02, 0x0000822c, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008850ec, 0x0000d780, 0x00d87e40, 0x000080c0,
- 0x4100858a, 0x00009283, 0x80007000, 0x0000e188, 0x01000000, 0x00004988,
- 0x00400000, 0x0000f908, 0x00040010, 0x00008980, 0x000000ad, 0x0000f010,
- 0x25000800, 0x00006180, 0x00000005, 0x00006704, 0xc0000005, 0x00006407,
- 0x20000894, 0x0000b401, 0x26c00002, 0x00006180, 0x40001005, 0x0000e406,
- 0x2600e000, 0x0000f900, 0x0000c000, 0x00008980, 0x26400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x81400800, 0x0000e181, 0x00001099, 0x00006406,
- 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x80406800, 0x00006181,
- 0x90000005, 0x00006401, 0x26080098, 0x00006380, 0x40000894, 0x00002401,
- 0x001128ec, 0x0000d780, 0x00905200, 0x00000188, 0x0000389b, 0x0000e106,
- 0x80000899, 0x00003401, 0xc0000005, 0x00006407, 0x90000001, 0x0000b401,
- 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180, 0x26803006, 0x0000c900,
- 0x40e01400, 0x000000c3, 0x41c31400, 0x000089e3, 0x009006ec, 0x00005f80,
- 0x00004800, 0x00000084, 0x4200858a, 0x00006283, 0x09c00000, 0x00008980,
- 0x09000900, 0x000082d4, 0x09870801, 0x00006180, 0xc9dc2b85, 0x0000c900,
- 0x000000a7, 0x0000f008, 0x80007000, 0x00006180, 0x00000005, 0x00006704,
- 0xc0c00000, 0x00006180, 0xc0000005, 0x00006407, 0x00400000, 0x00007900,
- 0x00040010, 0x00008980, 0x26c00000, 0x0000e180, 0x40001005, 0x0000e406,
- 0xc0400801, 0x000080d7, 0x29c00000, 0x00007900, 0x00030000, 0x00008980,
- 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0000189b, 0x00006106,
- 0x90000001, 0x0000b401, 0x25000800, 0x00006180, 0x90000005, 0x00006401,
- 0x41c00400, 0x000089fc, 0x000848ec, 0x00005780, 0x00007800, 0x00008080,
- 0x2608b000, 0x00007900, 0x000119c0, 0x00008980, 0x26400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x27401000, 0x0000f900, 0x00014000, 0x00008980,
- 0xc000189b, 0x0000e006, 0x90000001, 0x0000b401, 0xc0000005, 0x00006407,
- 0x20000894, 0x0000b401, 0x01000000, 0x0000e180, 0x0000389f, 0x00006106,
- 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180, 0xa9944288, 0x00004900,
- 0x29800588, 0x000089b0, 0x26b83702, 0x00000938, 0xc0001000, 0x00006181,
- 0x69c44889, 0x0000c900, 0x009006ec, 0x00005f80, 0x00904940, 0x000082cc,
- 0x000848ec, 0x00005780, 0x00007800, 0x00008080, 0x001128ec, 0x0000d780,
- 0x00905200, 0x00000188, 0x009006ec, 0x00005f80, 0x00004800, 0x00000084,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x80007000, 0x00006180,
- 0x00000005, 0x00006704, 0x25000800, 0x00006180, 0xc0000005, 0x00006407,
- 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0xc0c00000, 0x00006180,
- 0x40001005, 0x0000e406, 0x26c00800, 0x000080c7, 0x81400800, 0x0000e181,
- 0x20000894, 0x0000e401, 0x29c00000, 0x00007900, 0x00030000, 0x00008980,
- 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0000189b, 0x00006106,
- 0x90000001, 0x0000b401, 0xc1c00000, 0x0000e180, 0x90000005, 0x00006401,
- 0x27c00000, 0x00006180, 0x40000894, 0x0000e401, 0x2608b000, 0x00007900,
- 0x000119c0, 0x00008980, 0x26400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x27401000, 0x0000f900, 0x00014000, 0x00008980, 0xc000189b, 0x0000e006,
- 0x90000001, 0x0000b401, 0x0000389f, 0x00006106, 0xc0000005, 0x00003407,
- 0x01000000, 0x000089d4, 0x25800100, 0x000009dc, 0x29ac4488, 0x00008a18,
- 0x27000000, 0x00006180, 0x26801002, 0x0000c900, 0x27803006, 0x00006100,
- 0x69c44889, 0x0000c900, 0xc0001000, 0x00001981, 0x009006ec, 0x00005f80,
- 0x00904940, 0x000082cc, 0x0143068f, 0x00006281, 0x0a447c27, 0x00002000,
- 0xa5000001, 0x000082da, 0x2b400000, 0x0000e180, 0x2b84608c, 0x00004900,
- 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x09025000, 0x00006181,
- 0x65001c27, 0x00004081, 0x00020405, 0x00001583, 0x414085ae, 0x00001283,
- 0xffffffff, 0x00007f86, 0x000001e7, 0x0000f008, 0x000001e2, 0x0000f010,
- 0x00e70e1b, 0x0000f100, 0x40000505, 0x00009583, 0x000001d8, 0x0000f00b,
- 0x0007381d, 0x00001502, 0x2b4738e7, 0x0000e168, 0x074738e7, 0x00004968,
- 0x09c0a41c, 0x000092e9, 0x000001d8, 0x00007060, 0x0000a427, 0x00009583,
- 0x65202d94, 0x00001111, 0x000001b8, 0x00007009, 0x80025600, 0x00001583,
- 0x014085ae, 0x00009489, 0x0f202c26, 0x0000e808, 0x8140468f, 0x0000e283,
- 0x0c057427, 0x00002080, 0x178008a6, 0x00006090, 0x60000853, 0x00002413,
- 0x00005427, 0x00009583, 0x414405ae, 0x00001283, 0xffffffff, 0x00007f86,
- 0x000001de, 0x0000f038, 0x0000013f, 0x0000f010, 0x09800800, 0x0000e181,
- 0x0f057427, 0x00006006, 0x00001c27, 0x00009583, 0x00001c27, 0x00009583,
- 0x00000427, 0x00009583, 0x00000151, 0x00007008, 0x00000140, 0x00007038,
- 0x00000158, 0x00007008, 0x00001427, 0x00001583, 0xc1dc6b8d, 0x0000e108,
- 0x0bc47c05, 0x00006008, 0xe5147a8f, 0x00009908, 0x0000013f, 0x0000f010,
- 0x00000c05, 0x00001583, 0x07c80000, 0x00009988, 0x0ec0e41f, 0x0000e80a,
- 0x00000116, 0x00007010, 0x01102e49, 0x00007204, 0x0b40f81f, 0x00009900,
- 0x0000003a, 0x00006582, 0x0801d03a, 0x00008900, 0x08798f32, 0x00000208,
- 0x08c1782f, 0x00001900, 0x000001c3, 0x0000f008, 0x07c00000, 0x00009980,
- 0xc0000394, 0x00001582, 0x1b000000, 0x0000e190, 0x0c047c05, 0x0000e010,
- 0x1b400000, 0x00006190, 0x1b800000, 0x00004990, 0x0000013c, 0x0000f008,
- 0x09c1001f, 0x0000e002, 0x18800000, 0x00000980, 0x09400021, 0x0000e084,
- 0xd89c738e, 0x00008900, 0x00000405, 0x00006583, 0x18401800, 0x00000980,
- 0x00000862, 0x00006512, 0xa0000862, 0x0000b40a, 0xc0000307, 0x0000e582,
- 0x18c00000, 0x00008980, 0x1bc00000, 0x00006180, 0x18088801, 0x00004980,
- 0x184c7594, 0x0000060e, 0x00000192, 0x00007008, 0x000ff86e, 0x0000e501,
- 0x6005386f, 0x0000b486, 0xe000186e, 0x0000e403, 0x0000008f, 0x0000b401,
- 0x1b392f27, 0x00000634, 0x0133094c, 0x0000f500, 0x07c0fb07, 0x0000e000,
- 0xdbd81302, 0x00000900, 0x9b983b07, 0x00009900, 0x0008c0ec, 0x00005780,
- 0x00d87e80, 0x000080c0, 0x0008d8ec, 0x00005780, 0x00007800, 0x00008080,
- 0x000920ec, 0x00005780, 0x00005000, 0x00008080, 0x24000840, 0x00006180,
- 0x24400000, 0x0000c980, 0x24c00000, 0x000089c8, 0x0c857405, 0x00006800,
- 0x01602ce5, 0x00001401, 0x71e0281c, 0x0000e800, 0x01400964, 0x0000f100,
- 0x00003c27, 0x00001583, 0xc1dc6b8d, 0x0000e108, 0x0bc47c05, 0x00006008,
- 0xe5147a8f, 0x00009908, 0x0000014f, 0x00007010, 0x00000c05, 0x00001583,
- 0x07c80000, 0x00009988, 0x0ec0e41f, 0x0000e80a, 0x00000116, 0x00007010,
- 0x014b2e49, 0x0000f204, 0x0b40f81f, 0x00009900, 0x0839973a, 0x00000204,
- 0x08f98f2f, 0x00008208, 0xf900003a, 0x0000c590, 0x7c800032, 0x00008794,
- 0x00004427, 0x00001583, 0x0000013f, 0x0000f013, 0x81400ee3, 0x00001880,
- 0x53213c05, 0x0000a180, 0xffffffff, 0x00007f86, 0x01570999, 0x0000f503,
- 0x89c00a27, 0x00009080, 0x53213c05, 0x00002980, 0x01580964, 0x0000f100,
- 0xc1dc6b8d, 0x00006100, 0x0b847c05, 0x00006000, 0x00000c05, 0x0000e583,
- 0xe5147a8f, 0x00008900, 0x07c00000, 0x00001988, 0x0ec0e41f, 0x0000e80a,
- 0x00000167, 0x00007010, 0x01612e49, 0x00007204, 0x0b40f81f, 0x00009900,
- 0x0000003a, 0x00006582, 0x0801d03a, 0x00008900, 0x08798f32, 0x00000208,
- 0x07c00000, 0x00006190, 0x08c1782f, 0x00004900, 0x000001d3, 0x00007008,
- 0x8000028f, 0x00001582, 0x0000018b, 0x0000f00b, 0x09c1001f, 0x0000e002,
- 0x0c047c05, 0x0000a000, 0x18800000, 0x0000e180, 0x09400021, 0x00004084,
- 0x00000405, 0x00006583, 0xd89c738e, 0x00008900, 0x00000862, 0x00006512,
- 0xa0000862, 0x0000b40a, 0xc000038d, 0x00006582, 0x18401800, 0x00000980,
- 0x18c00000, 0x000006f0, 0x1b400000, 0x000006f8, 0x000001a5, 0x00007408,
- 0x1bc00000, 0x00006180, 0x18088801, 0x00004980, 0x984c718f, 0x0000060e,
- 0x000ff86e, 0x0000e501, 0x6005386f, 0x0000b486, 0xe000186e, 0x0000e403,
- 0x0000008f, 0x0000b401, 0x1b392f27, 0x00000634, 0x0182094c, 0x0000f500,
- 0x07c0fb8d, 0x00006000, 0xdbd81302, 0x00000900, 0x9b9c6b8d, 0x00009900,
- 0x0008c0ec, 0x00005780, 0x00d87e80, 0x000080c0, 0x0008d8ec, 0x00005780,
- 0x00007800, 0x00008080, 0x000920ec, 0x00005780, 0x00005000, 0x00008080,
- 0x24000840, 0x00006180, 0x24400000, 0x0000c980, 0x24c00000, 0x000089c8,
- 0x014706ae, 0x00001281, 0x00020405, 0x00001583, 0x073bf81c, 0x00007908,
- 0x003ffffe, 0x00008280, 0x07c00000, 0x00001988, 0x000001ed, 0x0000f010,
- 0x01920964, 0x0000f100, 0x0000086e, 0x0000e700, 0x6005386f, 0x0000b486,
- 0xc000086e, 0x00006401, 0x0000008f, 0x0000b401, 0x019b094c, 0x00007500,
- 0x07c0fb07, 0x0000e000, 0xe000186e, 0x00002403, 0xdbd81302, 0x0000e100,
- 0x0418386e, 0x0000e101, 0x0008c0ec, 0x00005780, 0x00d87e80, 0x000080c0,
- 0x0008d8ec, 0x00005780, 0x00007800, 0x00008080, 0x000920ec, 0x00005780,
- 0x00005000, 0x00008080, 0x0000013c, 0x0000f400, 0x24000840, 0x00006180,
- 0x24400000, 0x0000c980, 0x24c00000, 0x000089c8, 0x0000086e, 0x0000e700,
- 0x6005386f, 0x0000b486, 0xc000086e, 0x00006401, 0x0000008f, 0x0000b401,
- 0x01ae094c, 0x00007500, 0x07c0fb8d, 0x00006000, 0xe000186e, 0x00002403,
- 0xdbd81302, 0x0000e100, 0x041c686e, 0x00006101, 0x0008c0ec, 0x00005780,
- 0x00d87e80, 0x000080c0, 0x0008d8ec, 0x00005780, 0x00007800, 0x00008080,
- 0x000920ec, 0x00005780, 0x00005000, 0x00008080, 0x0000018b, 0x0000f400,
- 0x24000840, 0x00006180, 0x24400000, 0x0000c980, 0x24c00000, 0x000089c8,
- 0xc000170a, 0x0000e583, 0x65202d94, 0x00000101, 0x80000852, 0x0000640a,
- 0x40000dae, 0x0000b408, 0x073f781c, 0x00007908, 0x003ffffe, 0x00008280,
- 0x80025600, 0x0000e583, 0x000038ae, 0x0000a489, 0x000000f4, 0x00007401,
- 0x014085ae, 0x00009489, 0x0f202c26, 0x0000e808, 0x00000032, 0x00001582,
- 0x00000115, 0x00007013, 0x01400000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x03400000, 0x0000e180,
- 0x82300005, 0x0000e086, 0x02ded800, 0x00007900, 0x0031e5a0, 0x00008980,
- 0x032f0000, 0x00007900, 0x00131624, 0x00008980, 0x82600500, 0x00008026,
- 0x01d3109e, 0x0000f500, 0x02b81702, 0x00008020, 0x01805f05, 0x0000809d,
- 0x00000032, 0x00001582, 0x07c00000, 0x00001990, 0x000001c5, 0x00007009,
- 0x62c0028f, 0x0000788a, 0x48000000, 0x0000008b, 0x80025600, 0x0000e583,
- 0x40000dae, 0x0000a400, 0x000000f4, 0x0000f400, 0x014085ae, 0x00006489,
- 0x65202d94, 0x00000101, 0x0f202c26, 0x0000e808, 0x01e209b5, 0x0000f500,
- 0x0a057405, 0x00006084, 0x08446424, 0x00003000, 0x09800000, 0x00009980,
- 0x8140468f, 0x00001283, 0x65002427, 0x0000e089, 0x25000000, 0x00000989,
- 0x000001f0, 0x00007011, 0x000000f4, 0x00007000, 0x16400000, 0x000005e8,
- 0x16c00000, 0x000085f0, 0x01ec1090, 0x00007500, 0x17400000, 0x000005f8,
- 0x17c00000, 0x00001980, 0x01ed0964, 0x00007100, 0x01f00964, 0x0000f500,
- 0x8140268f, 0x00001283, 0x0704001c, 0x00001390, 0x14000000, 0x000085c4,
- 0x14800000, 0x000085cc, 0x15000000, 0x000085d4, 0x15800000, 0x000085dc,
- 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x000000f4, 0x0000f400,
- 0x17000000, 0x000085f4, 0x17c00000, 0x000085f8, 0x003fb800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x02000001, 0x0000e586, 0x00180805, 0x00003586,
- 0x003cf800, 0x00007900, 0x003ffffe, 0x00008280, 0x41c00400, 0x000084ec,
- 0x00005001, 0x0000e505, 0x00084805, 0x0000b505, 0x0000384b, 0x00006106,
- 0x80000800, 0x00003402, 0x001000ec, 0x00005780, 0x00884a80, 0x000000c0,
- 0x12006000, 0x0000f900, 0x00008000, 0x00000980, 0x12580800, 0x0000f900,
- 0x00004040, 0x00008980, 0x13000000, 0x00007900, 0x00010000, 0x00000980,
- 0xc0000801, 0x00006401, 0xc0000005, 0x00003407, 0xc0c00000, 0x00006180,
- 0xc000384b, 0x0000e006, 0x0a110004, 0x0000e180, 0x0a400000, 0x0000c980,
- 0x0a800000, 0x000082ec, 0x13400000, 0x000004f8, 0x13c00000, 0x0000e180,
- 0x12803006, 0x00004900, 0xc0001800, 0x00009981, 0x009096ec, 0x00005f80,
- 0x00005000, 0x00000084, 0x8900084c, 0x000089d2, 0x09800800, 0x0000e181,
- 0x2b84608c, 0x00004900, 0x27800000, 0x000089fc, 0x02201063, 0x00007500,
- 0xa5006403, 0x000080d7, 0x41400800, 0x00009981, 0x02220964, 0x0000f300,
- 0x2b794728, 0x00008134, 0x02261535, 0x00007500, 0x25881800, 0x0000e180,
- 0x25501202, 0x0000c900, 0x23602c05, 0x00009900, 0x05000000, 0x000081d4,
- 0x05c00000, 0x000081d8, 0x00400c05, 0x00004588, 0x0d201405, 0x00008d8e,
- 0x022e151b, 0x0000f404, 0x0e009800, 0x0000f900, 0x00003c00, 0x00008980,
- 0x0e783707, 0x00008318, 0x00000434, 0x00001583, 0x837f1fe3, 0x00001908,
- 0x84c0680d, 0x0000a088, 0x00000237, 0x00007010, 0xffffffff, 0x00007f97,
- 0x03403c0d, 0x00001281, 0x0340140d, 0x00001181, 0x00000c0d, 0x00009583,
- 0x0000023c, 0x0000701b, 0x09ca0800, 0x00007900, 0x00136c1c, 0x00008980,
- 0x023c112b, 0x00007500, 0x09b83f06, 0x00008214, 0x08a1a434, 0x00009900,
- 0x36384033, 0x0000a000, 0x83400ee3, 0x00009880, 0x5300020d, 0x00005180,
- 0x00400000, 0x00008000, 0x5300040d, 0x00005180, 0x00400000, 0x00008000,
- 0xc2401708, 0x00001283, 0x35f87233, 0x0000a080, 0x3738d233, 0x0000a000,
- 0x3700cc33, 0x0000f902, 0x06000000, 0x00000000, 0x37009e33, 0x00007902,
- 0x04800000, 0x00000000, 0x37788c33, 0x0000a000, 0x000002a5, 0x00007408,
- 0x5300020d, 0x0000d100, 0x00400000, 0x00000080, 0x5300040d, 0x0000d100,
- 0x00400000, 0x00000080, 0xc0000f1a, 0x00006583, 0x83771ee3, 0x00000900,
- 0x2e20400d, 0x00002981, 0x2c047608, 0x00001680, 0x824588b0, 0x00009000,
- 0x03404000, 0x00006189, 0x03408000, 0x00004991, 0x02c00000, 0x00007900,
- 0x000010c4, 0x00008980, 0xc299fa09, 0x00007900, 0x00000008, 0x00000080,
- 0x82a80500, 0x00006100, 0x0020680b, 0x00006106, 0x703858ec, 0x00005600,
- 0x00385000, 0x00008000, 0x02800000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x82a06c0d, 0x00006100, 0x02780005, 0x0000c980, 0x703898ec, 0x00005600,
- 0x00389000, 0x00008000, 0x04181009, 0x00006987, 0x703850ec, 0x0000d600,
- 0x00384800, 0x00008000, 0x00c002ec, 0x0000df80, 0x10134809, 0x00001284,
- 0xc0000f1a, 0x00009583, 0x00000274, 0x0000f013, 0x2c047608, 0x00001680,
- 0x034588b0, 0x00009000, 0x83423a0d, 0x00001080, 0x2fb8480d, 0x0000a180,
- 0xffffffff, 0x00007fa7, 0x2fb84a0d, 0x0000a980, 0x2fb8480d, 0x00002100,
- 0xffffffff, 0x00007fa7, 0x2fb84a0d, 0x00002900, 0x0dc00000, 0x0000e180,
- 0x0d800020, 0x0000c980, 0x037077e4, 0x0000e000, 0x0d400000, 0x00004980,
- 0x02c00000, 0x000003d0, 0x02800000, 0x00006180, 0x0e409813, 0x0000c900,
- 0x0e009012, 0x00006100, 0x8db8d71a, 0x00004900, 0xcdd06a0d, 0x00001900,
- 0x5b00fa0d, 0x000049b0, 0x1a00071a, 0x00008095, 0x01c00020, 0x00006180,
- 0x02000000, 0x0000c980, 0x02d43000, 0x00007900, 0x002f07c0, 0x00008980,
- 0x0310b800, 0x00007900, 0x00255038, 0x00008980, 0x01800000, 0x000080f4,
- 0x81c01000, 0x00009980, 0xc1c00800, 0x0000e181, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x02801002, 0x00009900, 0x028d109e, 0x0000f100,
- 0x2c047608, 0x00001680, 0x834588b0, 0x00001000, 0x83426a0d, 0x00001080,
- 0x2fa0500d, 0x00002980, 0x03400e08, 0x00001880, 0x83400a0d, 0x00009080,
- 0x16e04e0d, 0x0000a080, 0x83410000, 0x00009980, 0xffffffff, 0x00007f97,
- 0x80104a0d, 0x00001502, 0x0d000800, 0x000019d9, 0x00000313, 0x00007071,
- 0x2c047608, 0x00001680, 0x034588b0, 0x00009000, 0x83424a0d, 0x00009080,
- 0x2f80020d, 0x00005180, 0x00400000, 0x00008000, 0x2fb8980d, 0x00005100,
- 0x00389000, 0x00008000, 0x2fb9b40d, 0x00005100, 0x0039a800, 0x00008000,
- 0x2fb85e0d, 0x00005100, 0x0039a000, 0x00000000, 0x2fb9ba0d, 0x0000a900,
- 0xc2000f08, 0x00009283, 0x0230760e, 0x00006111, 0x83771ee3, 0x00004910,
- 0x2e20400d, 0x0000a991, 0x000002f8, 0x00007008, 0x80000e1a, 0x00006583,
- 0x82a80500, 0x00008900, 0x2c047608, 0x00001680, 0x824588b0, 0x00009000,
- 0x03408000, 0x00006191, 0x03404000, 0x00004989, 0x02c00000, 0x00007900,
- 0x000010c4, 0x00008980, 0xc297c209, 0x00007900, 0x00000008, 0x00000080,
- 0x02780005, 0x0000e180, 0x0020680b, 0x00006106, 0x703858ec, 0x00005600,
- 0x00385000, 0x00008000, 0x02800000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x82a06c0d, 0x00006100, 0x04181009, 0x0000e187, 0x7038c8ec, 0x00005600,
- 0x0038c000, 0x00008000, 0x703850ec, 0x0000d600, 0x00384800, 0x00008000,
- 0x00c002ec, 0x0000df80, 0x10161009, 0x00009284, 0x80000e1a, 0x00009583,
- 0x000002cc, 0x0000f013, 0x2c047608, 0x00001680, 0x834588b0, 0x00001000,
- 0x2fb8480d, 0x0000a180, 0xffffffff, 0x00007fa7, 0x2fb84a0d, 0x0000a980,
- 0x2fb8480d, 0x00002100, 0xffffffff, 0x00007fa7, 0x2fb84a0d, 0x00002900,
- 0x0dc00000, 0x0000e180, 0x0d800020, 0x0000c980, 0x036047e4, 0x00006000,
- 0x0d400000, 0x00004980, 0x02c00000, 0x000003d0, 0x03800000, 0x0000e180,
- 0x0e40c819, 0x0000c900, 0x0e00c018, 0x00006100, 0x8db0d61a, 0x00004900,
- 0xcdd06a0d, 0x00001900, 0x0040fa0d, 0x0000c5b1, 0x00a0061a, 0x00007a95,
- 0x01c00020, 0x00006180, 0x02000000, 0x0000c980, 0x02d42800, 0x00007900,
- 0x002f07c0, 0x00008980, 0x03291000, 0x0000f900, 0x00373b7a, 0x00000980,
- 0x00000288, 0x0000f400, 0x01800000, 0x000080f4, 0x81c01000, 0x00009980,
- 0x2c047608, 0x00001680, 0x834588b0, 0x00001000, 0x8340320d, 0x00001080,
- 0x2fa0700d, 0x0000a980, 0x83400e08, 0x00009880, 0x16e0460d, 0x00002080,
- 0x83410000, 0x00009980, 0xffffffff, 0x00007f97, 0x8010420d, 0x00009502,
- 0x0d000800, 0x000019d9, 0x0000031f, 0x00007071, 0x2c047608, 0x00001680,
- 0x034588b0, 0x00009000, 0x8340120d, 0x00009080, 0x2f80020d, 0x00005180,
- 0x00400000, 0x00008000, 0x2fb8c80d, 0x00005100, 0x0038c000, 0x00008000,
- 0x2fb9b40d, 0x00005100, 0x0039a800, 0x00008000, 0x2fb85e0d, 0x00005100,
- 0x0039a000, 0x00000000, 0x2fb9ba0d, 0x0000a900, 0x83400ee3, 0x00009880,
- 0x2ae08e0d, 0x00002981, 0x03800000, 0x000080fc, 0x03009000, 0x0000f900,
- 0x0000d200, 0x00008980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0x04382f04, 0x00000104, 0x04b83f06, 0x0000010c, 0xc3981302, 0x00001900,
- 0x00981eec, 0x0000df80, 0x00005000, 0x00000084, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x01802004, 0x0000e100, 0x08001a09, 0x0000e106,
- 0x02c61800, 0x00007900, 0x00136c1c, 0x00008980, 0x03179800, 0x00007900,
- 0x001cdbc6, 0x00000980, 0x03400000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x82781400, 0x00000028, 0x0000028c, 0x00007400, 0x81c02800, 0x00006180,
- 0x02003006, 0x00004900, 0x01802805, 0x00009900, 0x02480000, 0x00009980,
- 0x03172d16, 0x00007500, 0x00304009, 0x0000e886, 0x0e804809, 0x00009900,
- 0x02480000, 0x00007900, 0x00004040, 0x00008980, 0x031c2d16, 0x0000f500,
- 0x00304009, 0x0000e886, 0x0e804809, 0x00009900, 0x00000299, 0x0000f200,
- 0xc2c00f0b, 0x00006081, 0x20000834, 0x00002401, 0x02400000, 0x00001980,
- 0x03232d16, 0x0000f500, 0x00304009, 0x0000e886, 0x0e804809, 0x00009900,
- 0x02400000, 0x0000f900, 0x00004040, 0x00008980, 0x03282d16, 0x00007500,
- 0x00304009, 0x0000e886, 0x0e804809, 0x00009900, 0x000002ec, 0x00007200,
- 0xc2c00f0b, 0x00006081, 0x20000834, 0x00002401, 0x00400000, 0x00007900,
- 0x00040010, 0x00008980, 0x82391001, 0x0000e080, 0x00001000, 0x00003504,
- 0x40600621, 0x0000808d, 0x80000622, 0x00006583, 0x86291001, 0x00002001,
- 0x00000001, 0x00007480, 0xc0211422, 0x00006101, 0x96711001, 0x0000e001,
- 0x80c03800, 0x00001991, 0x17800702, 0x000005bc, 0x0000185f, 0x00006906,
- 0x17001000, 0x00007900, 0x0002c000, 0x00000980, 0x17505000, 0x0000f900,
- 0x00044040, 0x00000980, 0x00000000, 0x0000f480, 0x0018b8ec, 0x0000d780,
- 0x00005802, 0x00008080, 0xc000185f, 0x0000e806, 0x0dba5f4a, 0x00008324,
- 0x88d722e4, 0x0000e100, 0x0e009c00, 0x0000c980, 0x0344151b, 0x0000f004,
- 0x35c10833, 0x00007902, 0x08000000, 0x00008000, 0x001aa022, 0x00006986,
- 0x0412a022, 0x0000e987, 0x034b3607, 0x00007404, 0x0d811022, 0x00009900,
- 0x0d390f20, 0x00000314, 0xb9111a23, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x18000000, 0x000086c4, 0x18800001, 0x000006cc,
- 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4,
- 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
- 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
- 0xc8d722e4, 0x00001900, 0x03640340, 0x00007004, 0x00000336, 0x00007200,
- 0xb9191b23, 0x00001900, 0x036a1535, 0x00007500, 0x25901800, 0x0000e180,
- 0x25501202, 0x0000c900, 0x23624c49, 0x00009900, 0x17000000, 0x000085f4,
- 0x17800000, 0x000085fc, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc,
- 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4,
- 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
- 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21c00000, 0x000088d8,
- 0x8e405449, 0x00004388, 0x00005449, 0x00008098, 0x96003449, 0x0000c388,
- 0x00003449, 0x00008098, 0x03a01c49, 0x0000c588, 0x09a02449, 0x0000808e,
- 0x25e03c49, 0x0000c589, 0x0aa04c49, 0x0000008d, 0x97007c49, 0x0000c488,
- 0x3a007c49, 0x0000009f, 0x26805c49, 0x0000f88b, 0x00000001, 0x00000080,
- 0xffffffff, 0x00007f86, 0x00006c49, 0x00009583, 0xd250d21a, 0x00009908,
- 0x000004b8, 0x00007009, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x02c9f800, 0x0000f900, 0x00136c1e, 0x00000980, 0x03179800, 0x00007900,
- 0x001cdbc6, 0x00000980, 0x03400000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x04b8109e, 0x00007500, 0x02ba4702, 0x00000020,
- 0x81c02800, 0x00006180, 0x01824849, 0x0000c900, 0x00008449, 0x00009583,
- 0x00000495, 0x0000f00b, 0x00008c49, 0x00001583, 0x00000390, 0x00007013,
- 0x00000043, 0x0000e582, 0x41197b2f, 0x00000900, 0x01800000, 0x00006180,
- 0x82011804, 0x0000e001, 0x01800800, 0x00006188, 0x91c11804, 0x00006001,
- 0x4000053f, 0x00006583, 0x1a000000, 0x00000980, 0x1a400000, 0x00006180,
- 0xb6e03004, 0x00006001, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
- 0x000003c6, 0x0000f410, 0x21800000, 0x000088dc, 0x01401800, 0x00006191,
- 0x04800000, 0x00004980, 0x0001a036, 0x00009502, 0x01401000, 0x00009989,
- 0x000003c6, 0x0000f009, 0x0001a035, 0x00009502, 0x0169fd3f, 0x00009909,
- 0x01400000, 0x00001991, 0x000003c6, 0x00007008, 0x0039943f, 0x00001503,
- 0x01400800, 0x000099a1, 0x82c040ec, 0x00007902, 0x01c00000, 0x00000604,
- 0x00001405, 0x0000e583, 0xc1a02c05, 0x00008901, 0x00001c05, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00000413, 0x00007008, 0x00000407, 0x00007008,
- 0x00000c05, 0x00001583, 0x81800000, 0x0000e191, 0xc339ff3f, 0x0000c909,
- 0x81b9ff3f, 0x00006109, 0x04800800, 0x00004988, 0x000003d6, 0x0000f010,
- 0x0381e008, 0x0000e100, 0x02c1a034, 0x00008900, 0x08222837, 0x0000e700,
- 0x06000000, 0x00008980, 0x00000043, 0x0000e582, 0xc3510220, 0x00008900,
- 0x88371ee3, 0x0000e100, 0x862ad55a, 0x0000c901, 0x2e010020, 0x0000a180,
- 0xc632d65a, 0x00006101, 0x044728e5, 0x00004908, 0x04421843, 0x00006110,
- 0xe0000004, 0x00006401, 0x053fe014, 0x00007900, 0x003ffffe, 0x00008280,
- 0x41520240, 0x00006100, 0x51610018, 0x0000e002, 0x08000c5a, 0x0000e283,
- 0x8199732e, 0x00008900, 0x18800000, 0x00007900, 0x00044000, 0x00008980,
- 0x19080000, 0x0000f900, 0x00001510, 0x00008980, 0x01f98f30, 0x00008020,
- 0x02400000, 0x00006180, 0x0281c839, 0x0000c900, 0x0301fa32, 0x00008034,
- 0x837a0b45, 0x0000003c, 0x04021042, 0x00006100, 0x04c00834, 0x00004180,
- 0x18000000, 0x000086c4, 0x18e2a000, 0x00006180, 0x19400000, 0x00004980,
- 0x19800000, 0x000086dc, 0x06800000, 0x000081ec, 0x06400734, 0x000081b0,
- 0x00000404, 0x0000f408, 0x07400000, 0x000001f8, 0x07c00000, 0x0000e180,
- 0x00002866, 0x0000e417, 0x88000e40, 0x00006283, 0x40000867, 0x0000a403,
- 0x1c81a835, 0x0000e100, 0x20000862, 0x0000640a, 0x0800145a, 0x0000e283,
- 0x2001b036, 0x00008900, 0x06008018, 0x0000e390, 0x1c41a034, 0x00000900,
- 0x000004b7, 0x0000f400, 0xffffffff, 0x00007f86, 0x2042d018, 0x0000e800,
- 0x4000053f, 0x00006583, 0x01400000, 0x00000981, 0x01400800, 0x0000e191,
- 0x4329fd3f, 0x0000c901, 0xc000073f, 0x00006583, 0xc339ff3f, 0x00008901,
- 0x01400f3f, 0x00006191, 0xd7602804, 0x0000a001, 0x0179ff3f, 0x00009909,
- 0x000003d6, 0x0000f400, 0xffffffff, 0x00007f86, 0x81a02c05, 0x00009901,
- 0x8000063f, 0x00006583, 0x01400000, 0x00000981, 0x01400800, 0x0000e191,
- 0xa0000804, 0x00006401, 0x0331fe3f, 0x00006101, 0xc0000004, 0x0000e401,
- 0x000003d6, 0x0000f400, 0xc339ff3f, 0x00006101, 0xc7202804, 0x00006001,
- 0x81800000, 0x00006181, 0x05404008, 0x00004900, 0x0421151b, 0x0000f404,
- 0x0dba5f4a, 0x00008324, 0x0e009c00, 0x00009980, 0x00000434, 0x00001583,
- 0x883f1fe3, 0x00001908, 0x84c10020, 0x0000a088, 0x0000042a, 0x00007010,
- 0xffffffff, 0x00007f97, 0x08003c20, 0x00001281, 0x08001420, 0x00001181,
- 0x00000c20, 0x00009583, 0x0000042f, 0x0000f01b, 0x09f24000, 0x0000f900,
- 0x00136c20, 0x00008980, 0x042f112b, 0x0000f500, 0x09ba5f4a, 0x00008214,
- 0x08a1a434, 0x00009900, 0x000004b8, 0x0000f200, 0x06004018, 0x00009380,
- 0x82c170ec, 0x0000f902, 0x09000000, 0x00008604, 0xca602c04, 0x00000237,
- 0x80000606, 0x00006583, 0xca516a2d, 0x00008900, 0x0b400000, 0x0000e188,
- 0x0bc00000, 0x00004981, 0x0b41700e, 0x0000e110, 0x0c206c0d, 0x00008901,
- 0xc0001706, 0x0000e583, 0x0b800000, 0x00000981, 0x0b800800, 0x0000e191,
- 0x4c28650c, 0x0000c901, 0xc0001706, 0x0000e583, 0x8c20640c, 0x00000901,
- 0x0bc00800, 0x00006189, 0xcc38670c, 0x00004901, 0x0dba5f4a, 0x00008324,
- 0x0448151b, 0x0000f404, 0x0e009c00, 0x0000e180, 0x09286b0d, 0x00004800,
- 0x0be17aec, 0x00006100, 0x0ba172ec, 0x00000100, 0x35c1a033, 0x0000f902,
- 0x0c800000, 0x00008000, 0x35c1d233, 0x0000f902, 0x0e400000, 0x00000000,
- 0xffffffff, 0x00007f97, 0x0d79a732, 0x0000030c, 0x0c81a835, 0x00006100,
- 0x001aa034, 0x00006186, 0x04543607, 0x00007404, 0x0d419833, 0x0000e100,
- 0x0412a034, 0x0000e187, 0x0d39a732, 0x00008318, 0x0c800000, 0x00009980,
- 0x8ca80500, 0x00009900, 0x700240ec, 0x0000d680, 0x00399544, 0x00008008,
- 0x703900ec, 0x00005600, 0x00390800, 0x00008000, 0x703910ec, 0x0000d600,
- 0x00391800, 0x00000000, 0x703920ec, 0x0000d600, 0x00392800, 0x00000000,
- 0x703850ec, 0x0000d600, 0x00383800, 0x00000000, 0x703840ec, 0x00005600,
- 0x00394800, 0x00000000, 0x703950ec, 0x00005600, 0x00395800, 0x00008000,
- 0x703960ec, 0x00005600, 0x00396800, 0x00008000, 0x703970ec, 0x0000d600,
- 0x00397800, 0x00000000, 0x703980ec, 0x0000d600, 0x00398800, 0x00000000,
- 0x08320004, 0x00009980, 0x7039d0ec, 0x0000d600, 0x0039c800, 0x00008000,
- 0x04181020, 0x0000e987, 0x700240ec, 0x0000d680, 0x003907c0, 0x00008078,
- 0x00c002ec, 0x0000df80, 0x1045c00b, 0x00001684, 0xc8020704, 0x00006283,
- 0x18800000, 0x00000980, 0x18000000, 0x00006180, 0x00000862, 0x0000e412,
- 0x18400000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
- 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
- 0x0000048f, 0x0000f410, 0x21800000, 0x000088dc, 0x08000800, 0x00009981,
- 0xc0001706, 0x00001583, 0x80000860, 0x0000640b, 0x00000862, 0x0000b412,
- 0x08000000, 0x00009991, 0xffffffff, 0x00007f86, 0x00000420, 0x00001583,
- 0x14001000, 0x00009989, 0xffffffff, 0x00007f86, 0x00000450, 0x00009583,
- 0x00000498, 0x0000700b, 0x0496034e, 0x0000f004, 0x000004b9, 0x00007200,
- 0x08801000, 0x00001981, 0x04b70340, 0x00007004, 0x000004b7, 0x00007000,
- 0x06840418, 0x0000e283, 0x22c00000, 0x00008980, 0x22801002, 0x00006100,
- 0x0000188b, 0x0000e106, 0x22001000, 0x00007900, 0x00008000, 0x00000980,
- 0x22580800, 0x0000f900, 0x00044040, 0x00000980, 0x001110ec, 0x00005780,
- 0x00004000, 0x00000080, 0x23008000, 0x00006180, 0xc000188b, 0x00006006,
- 0x23400000, 0x000008f8, 0x04ac0336, 0x00007404, 0x23c00000, 0x0000e180,
- 0x54000800, 0x00004991, 0x14c0f81f, 0x00006110, 0x1480f01e, 0x0000c910,
- 0x000004b9, 0x00007400, 0x869a4b49, 0x0000e100, 0x00000862, 0x0000e403,
- 0x08800800, 0x00001981, 0x00028819, 0x00001502, 0x000004b8, 0x0000f400,
- 0x06428851, 0x0000e168, 0xd4000800, 0x0000c9e9, 0xd4000000, 0x000099e1,
- 0x1f400800, 0x00006181, 0x80001067, 0x0000e402, 0x04960336, 0x0000f004,
- 0x08801800, 0x00009981, 0x11800000, 0x0000e180, 0x88002302, 0x0000c780,
- 0x10c00000, 0x0000e180, 0x45110046, 0x00006107, 0x08001c49, 0x00006181,
- 0x00001843, 0x0000a106, 0x00000c20, 0x00006583, 0xc0001843, 0x00002006,
- 0x1000b000, 0x0000f900, 0x0001d100, 0x00000980, 0x10401000, 0x00007900,
- 0x0001c008, 0x00008980, 0x11400000, 0x00007900, 0x00010000, 0x00000980,
- 0x001880ec, 0x00005780, 0x00005001, 0x00000080, 0x000004d3, 0x00007430,
- 0x11000000, 0x000004dc, 0x10a81402, 0x00008408, 0x08005449, 0x00009181,
- 0x00000c20, 0x00009583, 0x00008449, 0x00009583, 0x00003c49, 0x00009583,
- 0x000004d3, 0x0000f030, 0x000004d3, 0x00007008, 0x000004db, 0x0000f010,
- 0x04d7032b, 0x00007500, 0x08804020, 0x00006180, 0x08211422, 0x00004900,
- 0x08410020, 0x00009900, 0x000800ec, 0x00005780, 0x00004800, 0x00008080,
- 0x00980eec, 0x00005f80, 0x00004801, 0x00008084, 0x04df032b, 0x0000f500,
- 0x08800800, 0x0000e180, 0x01211422, 0x00004900, 0x08402004, 0x00009900,
- 0x008806ec, 0x00005f80, 0x00004800, 0x00000084, 0x0e812c8c, 0x0000e000,
- 0x00003000, 0x0000b406, 0x09000000, 0x00006180, 0x02000001, 0x0000e586,
- 0x0000048c, 0x0000e583, 0x00180805, 0x0000a586, 0x003cf800, 0x00007900,
- 0x003ffffe, 0x00008280, 0x00100001, 0x00006505, 0x80001024, 0x0000b40a,
- 0x00181005, 0x0000e505, 0xc0000801, 0x00003401, 0x00180000, 0x0000e380,
- 0x80000824, 0x00002412, 0x00000c94, 0x00006583, 0xc0000005, 0x0000a407,
- 0x001000ec, 0x00005780, 0x00884880, 0x000007c0, 0x40e03c07, 0x000080dd,
- 0x09800000, 0x000082dc, 0x000004fc, 0x00007410, 0x09400000, 0x0000e180,
- 0x806ca594, 0x00004901, 0xc0008800, 0x00009981, 0x04fa0944, 0x0000f100,
- 0x000898ec, 0x0000d780, 0x00005801, 0x00008080, 0x7fc00400, 0x000089dc,
- 0x26c00000, 0x0000e180, 0x00001897, 0x00006106, 0x0000389b, 0x0000e106,
- 0xc0001897, 0x0000b006, 0x2518b000, 0x0000f900, 0x0001d240, 0x00008980,
- 0x25401000, 0x00007900, 0x0001c008, 0x00008980, 0x26401800, 0x0000f900,
- 0x0001c000, 0x00000980, 0x26000000, 0x0000e180, 0xc000389b, 0x00006006,
- 0x26b81706, 0x00008918, 0x00992eec, 0x00005f80, 0x00005001, 0x00008084,
- 0x00000c94, 0x00009583, 0x00000511, 0x00007013, 0x050f0944, 0x00007100,
- 0x000898ec, 0x0000d780, 0x00005801, 0x00008080, 0xffc00000, 0x00006180,
- 0x02000001, 0x00006704, 0x003cf800, 0x00007900, 0x003ffffe, 0x00008280,
- 0x00000005, 0x0000e586, 0xc0000001, 0x0000b401, 0x0027f800, 0x00007900,
- 0x003ffffe, 0x00008280, 0xc0c00000, 0x00006180, 0x00002805, 0x00006505,
- 0xc1c00000, 0x0000e180, 0xc0000005, 0x00006407, 0xc0001000, 0x00006181,
- 0x80402594, 0x0000c081, 0x009006ec, 0x00005f80, 0x00004800, 0x00000084,
- 0x89000e8f, 0x0000e283, 0x18800800, 0x00008980, 0x18401800, 0x0000e180,
- 0x00200062, 0x0000e50e, 0x18c00000, 0x00006180, 0x18089801, 0x0000c980,
- 0x00000001, 0x00007480, 0x98aca124, 0x00008604, 0xd8d4728e, 0x00009900,
- 0x11a00000, 0x00006180, 0x11c00000, 0x00004980, 0x00000001, 0x00007480,
- 0x11080001, 0x00006180, 0x11401020, 0x0000c980, 0x91c9218e, 0x0000841a,
- 0x1bce0005, 0x0000e180, 0x1b000000, 0x00004980, 0x00000001, 0x00007480,
- 0x1b800800, 0x0000f900, 0x00340000, 0x00000980, 0x1bc00502, 0x000086b4,
- 0x12ce0005, 0x0000e180, 0x12000000, 0x00004980, 0x00000001, 0x00007480,
- 0x12800800, 0x0000f900, 0x00340000, 0x00000980, 0x12c00502, 0x000084a4,
- 0x8000028f, 0x0000e582, 0xa55722e4, 0x00008900, 0x49400000, 0x00006191,
- 0x81400000, 0x0000c991, 0x19000000, 0x00006190, 0x19400000, 0x0000c990,
- 0x00000000, 0x0000f088, 0xc000038d, 0x00006582, 0x19800000, 0x00008980,
- 0x19c00000, 0x0000e180, 0xc1dc6b8d, 0x00004900, 0xa504718f, 0x00008016,
- 0x0000070b, 0x00007008, 0x099c6b8d, 0x00001900, 0x0001e826, 0x00001502,
- 0x00000708, 0x0000f01b, 0x4907853f, 0x00001283, 0x19003006, 0x0000e110,
- 0x00003865, 0x0000e116, 0x24000800, 0x0000e191, 0xc0003865, 0x00006016,
- 0x24000000, 0x00001989, 0x05540521, 0x00007300, 0x09102a05, 0x00009900,
- 0x00000490, 0x00006583, 0x0e01fc6b, 0x00002006, 0xa4583b07, 0x0000e100,
- 0xa4983b07, 0x00004908, 0x09235fe4, 0x00001810, 0x00000560, 0x00007008,
- 0x89000a24, 0x00001180, 0x0901f224, 0x00001200, 0x09012307, 0x00001000,
- 0x09235824, 0x00001700, 0x89001a24, 0x00009880, 0xa4983a24, 0x00009000,
- 0xb8436000, 0x0000e180, 0x26801e3c, 0x00004281, 0x0900149a, 0x00001881,
- 0x78414424, 0x00009081, 0xffffffff, 0x00007fc7, 0x26020b00, 0x0000f904,
- 0x2601d898, 0x00009002, 0x80000292, 0x0000e582, 0x26400099, 0x00000084,
- 0x09820b00, 0x0000f904, 0x0981d826, 0x00006100, 0xa5949292, 0x00000910,
- 0x00000648, 0x00007008, 0x9a438000, 0x000089ce, 0x26c13026, 0x00006100,
- 0x25c13296, 0x00004c00, 0x09813296, 0x00006400, 0x9a800000, 0x0000c980,
- 0xa594ba96, 0x0000e100, 0x09000000, 0x00000981, 0x80000296, 0x00006582,
- 0x09ce0001, 0x00008980, 0x9a800800, 0x0000e190, 0x04181027, 0x0000e187,
- 0x00003469, 0x00006583, 0x060ff826, 0x0000a587, 0x09000800, 0x000061b1,
- 0x0ec1d897, 0x00004000, 0x1004c500, 0x00007904, 0x09235424, 0x0000e203,
- 0x1a400c69, 0x00000081, 0x09000000, 0x00009981, 0x0004b89b, 0x0000e502,
- 0x09000800, 0x00000989, 0xffffffff, 0x00007f86, 0xd3612027, 0x00006800,
- 0x000005d4, 0x0000f208, 0x10013500, 0x00007904, 0x0000046a, 0x00009583,
- 0x26020b00, 0x0000f904, 0x09820b00, 0x0000f904, 0x00000614, 0x00007008,
- 0x00004469, 0x0000e583, 0x24c02493, 0x00000081, 0x89d4b292, 0x00009108,
- 0x0000056e, 0x00007011, 0x00000490, 0x00009583, 0xa454b292, 0x00001108,
- 0x00000593, 0x0000f009, 0x80113a92, 0x00001502, 0x00000738, 0x00007013,
- 0x00000490, 0x00006583, 0x8900d800, 0x00000980, 0x18630c69, 0x0000e001,
- 0x82234a24, 0x00002086, 0x003120ec, 0x0000d702, 0x00007800, 0x00008080,
- 0x000005a4, 0x00007208, 0xe5148b94, 0x0000e100, 0xc1d48b07, 0x00008100,
- 0x81400000, 0x00006181, 0x0e01fc24, 0x00006006, 0x092127e4, 0x00001800,
- 0x89800a24, 0x00009180, 0x8991f226, 0x00001200, 0x89113224, 0x00001100,
- 0x80010224, 0x00001582, 0x00000727, 0x00007033, 0xc0000307, 0x0000e582,
- 0x0f81f291, 0x00000000, 0x0f54883d, 0x00001100, 0x0000062a, 0x00007011,
- 0x1a800000, 0x0000f900, 0x00001080, 0x00008980, 0x1a484000, 0x00006180,
- 0x08001a24, 0x0000e106, 0x81c0168f, 0x00006283, 0x04112069, 0x0000a101,
- 0x9a948a91, 0x00006100, 0x1a401069, 0x00004388, 0x0c857405, 0x0000e000,
- 0x5000086a, 0x00003411, 0xc0000394, 0x0000e582, 0x49401c61, 0x00008181,
- 0x1a000000, 0x00007900, 0x00008000, 0x00000980, 0x1ac00000, 0x00009980,
- 0x000005c0, 0x00007008, 0x00000405, 0x00006583, 0x0000106b, 0x00002403,
- 0x3000086b, 0x0000ec01, 0x6000086b, 0x0000ec01, 0x000005c0, 0x0000f208,
- 0x9adca394, 0x00009900, 0x4000058d, 0x00009583, 0x4000086b, 0x0000ec11,
- 0x00000490, 0x00009583, 0x0018c0ec, 0x00005790, 0x00007800, 0x00008080,
- 0x183fe860, 0x00007908, 0x003ffffe, 0x00008280, 0x0008c0ec, 0x0000d788,
- 0x00d87e80, 0x000080c0, 0x80000e05, 0x0000e583, 0x18400c61, 0x00000189,
- 0x0000061a, 0x0000f00b, 0x40000d25, 0x00006583, 0x24000840, 0x00008980,
- 0x24400000, 0x000009c8, 0xb914aa95, 0x00006130, 0x24c00000, 0x00004980,
- 0x0000064f, 0x00007018, 0x000920ec, 0x00005780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x09000e3c, 0x0000e081,
- 0x0ec00000, 0x00000980, 0x89a12424, 0x0000e100, 0x26800c9a, 0x0000c081,
- 0x8011e226, 0x0000e502, 0x8f000e3c, 0x00000081, 0x0000249a, 0x00001583,
- 0x8011e226, 0x00001502, 0x000006fb, 0x00007018, 0x00000586, 0x0000f010,
- 0x00000586, 0x0000f020, 0x89a1223c, 0x00001100, 0x80002226, 0x00009582,
- 0x09a1243c, 0x0000e131, 0x09802000, 0x00000999, 0x09002424, 0x00009880,
- 0x25c1c024, 0x0000e002, 0x26002426, 0x00008881, 0x09c00039, 0x00006084,
- 0x09000280, 0x00008980, 0x09800000, 0x00007900, 0x000014c4, 0x00000980,
- 0x89280500, 0x00006100, 0x0024c026, 0x00006106, 0x75e80024, 0x00006901,
- 0x703930ec, 0x00005600, 0x00392000, 0x00008000, 0x09800000, 0x00007900,
- 0x00007fc0, 0x00000980, 0x89a4c498, 0x0000e100, 0x09380005, 0x0000c980,
- 0x703cb8ec, 0x00005600, 0x00393800, 0x00008000, 0x04181024, 0x00006987,
- 0x703930ec, 0x00005600, 0x00392000, 0x00008000, 0x00c002ec, 0x0000df80,
- 0x104fd00b, 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x09000ce0, 0x00001283, 0x060d10f7, 0x00007113, 0x0000046a, 0x00006583,
- 0xb8400005, 0x00000980, 0x38400093, 0x000009aa, 0xffffffff, 0x00007f97,
- 0x0000058a, 0x00007413, 0x26020b00, 0x0000f904, 0x09820b00, 0x0000f904,
- 0x00000490, 0x00006583, 0x89c00292, 0x00008180, 0xa4400292, 0x00001188,
- 0x00000593, 0x0000f009, 0xce113a92, 0x0000f813, 0x98000000, 0x0000828c,
- 0x40000d25, 0x00009583, 0x89800ee3, 0x00009898, 0x53202c26, 0x0000a118,
- 0x000005ca, 0x0000f030, 0xffffffff, 0x00007f97, 0x81400a05, 0x00009080,
- 0x53202c26, 0x00002900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0x008810ec, 0x00005780, 0x008041c1, 0x000081c0, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb9182304, 0x00006100,
+ 0x00102003, 0x0000e106, 0x00800405, 0x000000a0, 0x02400000, 0x000000e8,
+ 0x02c00000, 0x00009980, 0x00000000, 0x00007083, 0x981722e4, 0x00006100,
+ 0x01038458, 0x00004281, 0x00028404, 0x00001583, 0x01800000, 0x0000e190,
+ 0x01400020, 0x00004990, 0x41a2ec5d, 0x00006111, 0x0f02c406, 0x00006014,
+ 0x00008103, 0x00007008, 0x042ab000, 0x00007900, 0x00380996, 0x00000980,
+ 0x04609800, 0x0000f900, 0x002940b8, 0x00008980, 0x03400000, 0x0000e180,
+ 0x08001a0b, 0x00006106, 0x81411800, 0x00006180, 0xc2f00600, 0x0000c901,
+ 0x00008121, 0x00007400, 0x82f81400, 0x0000803c, 0x01fae706, 0x00008108,
+ 0x01c00000, 0x00007900, 0x000040c0, 0x00000980, 0x01800002, 0x00009980,
+ 0x81c3cd00, 0x00007900, 0x00000002, 0x00000080, 0xc1a80500, 0x00009900,
+ 0x723838ec, 0x0000d600, 0x00383000, 0x00008000, 0x723af0ec, 0x0000d600,
+ 0x000bc142, 0x00008080, 0x00c002ec, 0x0000df80, 0x1808780b, 0x00009684,
+ 0x81280500, 0x00009900, 0x87803a04, 0x0000a081, 0xffffffff, 0x00007fa7,
+ 0x01404407, 0x00001283, 0x01d7285e, 0x00006210, 0x01400020, 0x00008990,
+ 0x04800000, 0x0000e190, 0x03400000, 0x00004990, 0x00008122, 0x00007008,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x044dd800, 0x00007900,
+ 0x003fe404, 0x00000980, 0x81401000, 0x00006180, 0x08001a0b, 0x00006106,
+ 0x87a09204, 0x00002080, 0x82e00500, 0x0000802e, 0x03c01002, 0x00009900,
+ 0x81222213, 0x0000f100, 0x0100b407, 0x00001281, 0x00008404, 0x00009583,
+ 0x81280500, 0x00006108, 0xb9130260, 0x0000c908, 0x87a02204, 0x00002088,
+ 0x02001008, 0x0000e388, 0x4300a000, 0x00000989, 0x01400020, 0x00006190,
+ 0x0f003c06, 0x0000e010, 0x03400000, 0x00006190, 0x0f803807, 0x00006010,
+ 0x81401000, 0x0000e190, 0x0800225f, 0x0000e108, 0x00000000, 0x0000f088,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x04485000, 0x00007900,
+ 0x00010674, 0x00000980, 0xc2f00600, 0x0000e101, 0x08001a0b, 0x00006106,
+ 0x00008121, 0x00007400, 0x82f81400, 0x0000803c, 0x04a03406, 0x00009900,
+ 0x00001009, 0x0000e402, 0x80001008, 0x0000b402, 0xa0000809, 0x0000e402,
+ 0x40001008, 0x00003403, 0x0a000000, 0x00006180, 0x60001009, 0x00006403,
+ 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8,
+ 0x0bc00000, 0x000083c0, 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0,
+ 0x0d400000, 0x000003d8, 0x0dc00000, 0x000003e0, 0x0e400000, 0x000003e8,
+ 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000, 0x000084c0,
+ 0x10400000, 0x000004c8, 0x10c00000, 0x000084d0, 0x11400000, 0x000004d8,
+ 0x11c00000, 0x000004e0, 0x12400000, 0x000004e8, 0x12c00000, 0x000084f0,
+ 0x13400000, 0x000004f8, 0x13c00000, 0x000085c0, 0x14400000, 0x000005c8,
+ 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8, 0x15c00000, 0x0000e180,
+ 0x2ac2f05e, 0x00004900, 0x2a82f85f, 0x0000e100, 0x2a409e00, 0x0000c980,
+ 0xc1d722e4, 0x00001900, 0x815c266c, 0x0000f004, 0x00000407, 0x00001583,
+ 0x01400020, 0x00006190, 0x04800000, 0x0000c990, 0x01c00000, 0x00006190,
+ 0x03400000, 0x00004990, 0x0000816b, 0x0000f008, 0x0412d800, 0x00007900,
+ 0x0005a686, 0x00000980, 0x04771800, 0x00007900, 0x0002c364, 0x00008980,
+ 0x81401000, 0x00006180, 0x08001a0b, 0x00006106, 0x816b2213, 0x0000f500,
+ 0x82e00500, 0x0000802e, 0x03c01002, 0x00009900, 0x303b42ac, 0x00003038,
+ 0xb9183b07, 0x00006100, 0xc0001008, 0x00006402, 0x307b82ac, 0x0000b038,
+ 0x06400000, 0x0000e180, 0x0000a80b, 0x0000e482, 0x0383402a, 0x00006001,
+ 0xa001b80a, 0x0000b483, 0x303b54ac, 0x0000b038, 0x303b66ac, 0x00003038,
+ 0x307b70ac, 0x00003038, 0x307b94ac, 0x00003038, 0x60003009, 0x0000e406,
+ 0x20001008, 0x00003403, 0x2783402c, 0x0000e000, 0x1383402a, 0x0000b001,
+ 0x00000000, 0x0000f480, 0x06000000, 0x000001dc, 0x06434c71, 0x0000830e,
+ 0x30a04f3b, 0x00004488, 0x05004f3b, 0x0000209b, 0x0340473b, 0x00004592,
+ 0x8120463b, 0x0000808e, 0x0100673b, 0x00009181, 0x64800c04, 0x0000f8b2,
+ 0xd4000000, 0x0000408c, 0x01480000, 0x00007900, 0x00004002, 0x00008980,
+ 0x818a7042, 0x0000f500, 0x1939c739, 0x0000801c, 0x01800000, 0x00001980,
+ 0x000081a2, 0x0000f200, 0x9e11d23a, 0x00006100, 0x0801e678, 0x00006002,
+ 0x81a27042, 0x0000f500, 0x01401001, 0x00006180, 0x19000000, 0x0000c980,
+ 0x01800000, 0x000080dc, 0x000081a2, 0x00007000, 0x01401000, 0x00007900,
+ 0x00004000, 0x00000980, 0x81977042, 0x0000f500, 0x1939c739, 0x0000801c,
+ 0x4140053b, 0x00008098, 0x000081a3, 0x00007200, 0x01000800, 0x0000e181,
+ 0x9e11d23a, 0x00004900, 0x01400000, 0x000086d0, 0x819e7042, 0x0000f500,
+ 0x01c00000, 0x000080d8, 0x4141e53b, 0x00008015, 0x4000153c, 0x00001583,
+ 0x0100463b, 0x00001489, 0x0f402404, 0x00006808, 0x000081a3, 0x00007008,
+ 0x01000000, 0x00001981, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x000005ca, 0x0000f000, 0x1a800000, 0x0000f900, 0x00001080, 0x00008980,
- 0x1a484000, 0x00006180, 0x08001a24, 0x0000e106, 0x8900168f, 0x0000e283,
- 0x04112069, 0x0000a101, 0x9a948a91, 0x00006100, 0x1a401069, 0x00004388,
- 0x5000086a, 0x00006411, 0x00200062, 0x00003506, 0x00000490, 0x00006583,
- 0xd8548a91, 0x00008900, 0x183f7860, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x1a000000, 0x00007900, 0x00008000, 0x00000980, 0x00000718, 0x00007208,
- 0x1ac00000, 0x00009980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x0098c0ec, 0x00005780, 0x00007800, 0x00008080,
- 0x81548a05, 0x00006000, 0x1000008f, 0x0000a401, 0xffffffff, 0x00007f97,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x54800307, 0x0000f893,
- 0x40000000, 0x0000028d, 0x00000490, 0x00006583, 0x1a400000, 0x00000981,
- 0xa4400292, 0x0000e188, 0x89c00292, 0x00008180, 0x00000593, 0x0000f009,
- 0xce113a92, 0x0000f813, 0x98000000, 0x0000828c, 0x40001525, 0x00006583,
- 0x12c00000, 0x00008980, 0x12400000, 0x0000e180, 0x0000184b, 0x0000e106,
- 0x12001000, 0x00007900, 0x00005240, 0x00008980, 0x12801002, 0x00006100,
- 0xc000184b, 0x00006006, 0x000006f6, 0x0000f408, 0x11000840, 0x00006180,
- 0x11400000, 0x0000c980, 0x11c00000, 0x000084d8, 0x40001525, 0x00009583,
- 0x09c01d25, 0x000061b8, 0x09001525, 0x000081b8, 0x23403827, 0x000092b8,
- 0x000006f6, 0x0000f050, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x09800800, 0x00001980, 0xdec12726, 0x00004442, 0x66003827, 0x0000018d,
- 0xd500088d, 0x00004488, 0x3e00108d, 0x0000818d, 0xd2c0188d, 0x00004488,
- 0x1a00208d, 0x0000818d, 0xd080288d, 0x0000c988, 0xf600308d, 0x0000018c,
- 0xffffffff, 0x00007f86, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x09801000, 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x09800826, 0x00009080, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x09800826, 0x00009080, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x09800826, 0x00009080, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x09800826, 0x00009080, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x09800826, 0x00009080, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x09800826, 0x00009080, 0x00012026, 0x00009502, 0x000006f6, 0x00007043,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009088ec, 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780,
- 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009088ec, 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780,
- 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009088ec, 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780,
- 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x09804026, 0x00009080, 0x00012026, 0x00009502,
- 0x000006b3, 0x0000704b, 0xb914aa95, 0x00001900, 0x001088ec, 0x00005780,
- 0x00905100, 0x000000c8, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02ce5000, 0x0000f900,
- 0x0024f12a, 0x00008980, 0x03284000, 0x00007900, 0x00167a04, 0x00000980,
- 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000080f4,
- 0x0708109e, 0x0000f500, 0x82600500, 0x00008026, 0x81c01000, 0x0000e180,
- 0x02801002, 0x0000c900, 0x05ca09b5, 0x00007300, 0x09804801, 0x000080d6,
- 0x000005ca, 0x0000f000, 0x070d0521, 0x0000f300, 0x091c738e, 0x00009900,
- 0x0711094c, 0x0000f500, 0x183fe860, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x18400c61, 0x00001181, 0x07120530, 0x0000f100, 0x0008c0ec, 0x00005780,
- 0x00d87e80, 0x000080c0, 0x000005ca, 0x00007400, 0x0008d8ec, 0x00005780,
- 0x00007800, 0x00008080, 0x18400c61, 0x00009081, 0x183fe860, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x18400c61, 0x00001181, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0088c0ec, 0x0000d780,
- 0x00d87e80, 0x000080c0, 0x81548a05, 0x00006000, 0x1000008f, 0x0000a401,
- 0xffffffff, 0x00007f97, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x54800307, 0x0000f893, 0x40000000, 0x0000028d, 0x80112291, 0x00001502,
- 0x89800ee3, 0x0000e098, 0x81400800, 0x0000c999, 0x53012426, 0x0000219a,
- 0x000005a4, 0x00007030, 0xffffffff, 0x00007f97, 0x89000a24, 0x00009080,
- 0x0731052a, 0x00007500, 0x53092426, 0x00002982, 0x09102a05, 0x00009900,
- 0x07320536, 0x00007100, 0x001088ec, 0x00005780, 0x00007800, 0x00008080,
- 0x0f54883d, 0x0000e100, 0x0f81f291, 0x00000000, 0x6a000307, 0x0000f88b,
- 0x50000000, 0x00000381, 0x1ae35fe4, 0x00001800, 0x9a00426b, 0x00006080,
- 0x89800a6b, 0x00008180, 0x0901f226, 0x00009200, 0x9a912227, 0x00001000,
- 0x8013426a, 0x00001502, 0x89800000, 0x000019a8, 0x89800a6b, 0x000098a0,
- 0x00000748, 0x00007028, 0x89800000, 0x00006180, 0x89008226, 0x00004080,
- 0x8011226a, 0x00006502, 0x89800a26, 0x00000080, 0x89134224, 0x00001020,
- 0x00000748, 0x0000f029, 0x00000743, 0x0000f000, 0x89001a26, 0x00001880,
- 0x2c113268, 0x00001600, 0x098588b0, 0x00009000, 0x89d1326a, 0x0000e100,
- 0xa4512227, 0x00008100, 0x0011386b, 0x00001502, 0x89002000, 0x000019d0,
- 0x89935a24, 0x00009150, 0x00000593, 0x00007038, 0x89113a26, 0x00001002,
- 0x24800c69, 0x0000e191, 0x2587e63c, 0x00000291, 0xa6912224, 0x0000e110,
- 0x26400000, 0x00004991, 0x00000593, 0x00007008, 0x0000003b, 0x0000e582,
- 0x1a001800, 0x00008981, 0x8f000e3c, 0x00006189, 0x26001492, 0x00008881,
- 0x78436498, 0x00001081, 0x0ec7e63c, 0x00009281, 0x0021dc96, 0x00001503,
- 0x0ec01468, 0x00009891, 0x3841443b, 0x00001091, 0xffffffff, 0x00007f86,
- 0x09820b00, 0x0000f904, 0x0000076b, 0x0000f408, 0x1a820b00, 0x00007904,
- 0x24c3506a, 0x00009900, 0x10013500, 0x00007904, 0x00000468, 0x0000e583,
- 0x1a97286a, 0x00008200, 0x10035500, 0x0000f904, 0x1a001800, 0x0000e189,
- 0x1a000c68, 0x0000c191, 0x8ed3529a, 0x00009c00, 0xffffffff, 0x00007f86,
- 0xa691da9a, 0x0000e100, 0x25d1d86a, 0x00000100, 0x80000297, 0x0000e582,
- 0x0ed72897, 0x00008200, 0x26400c99, 0x00001089, 0x00000779, 0x0000f011,
- 0x8000029a, 0x00009582, 0x8f000e3c, 0x00006191, 0x24800c92, 0x00000191,
- 0x26001492, 0x00009891, 0x0000077b, 0x0000f008, 0x0000075b, 0x0000f000,
- 0x8000029a, 0x00009582, 0x0000075b, 0x00007013, 0x38436498, 0x00006081,
- 0xa4512291, 0x00000100, 0x1a64cc69, 0x00006101, 0x8900d800, 0x00000980,
- 0x82234a24, 0x0000e086, 0xd000086b, 0x00003400, 0x1a849893, 0x0000e100,
- 0xc1d48b07, 0x00004100, 0x003120ec, 0x0000d702, 0x00007800, 0x00008080,
- 0x18630c69, 0x0000e001, 0xe5148b94, 0x00008100, 0x10013500, 0x00007904,
- 0x10035500, 0x0000f904, 0x69000490, 0x0000f88b, 0xe0000000, 0x0000828c,
- 0x2b84608c, 0x00006100, 0x0a447c05, 0x0000e000, 0x414085ae, 0x0000e283,
- 0x25000800, 0x00000981, 0x89000000, 0x00000af4, 0x27000000, 0x000089f4,
- 0x00000836, 0x00007410, 0x27800000, 0x000089fc, 0x65001c05, 0x00001081,
- 0x07950e1b, 0x00007100, 0x40000505, 0x00009583, 0x0000082c, 0x0000700b,
- 0x0007381d, 0x00001502, 0x2b4738e7, 0x0000e168, 0x074738e7, 0x00004968,
- 0x0980a41c, 0x000012e9, 0x0000082c, 0x0000f060, 0x0000a426, 0x00001583,
- 0x65202d94, 0x00001111, 0x000007fc, 0x00007009, 0x80025600, 0x00001583,
- 0x8140468f, 0x00001283, 0x178008a6, 0x00006090, 0x60000853, 0x00002413,
- 0x06400c1c, 0x00004195, 0x00112102, 0x00000010, 0x0ec20425, 0x0000788e,
- 0x48400000, 0x0000838d, 0x0c400e8f, 0x0000f88e, 0x80400000, 0x00008481,
- 0x0a050426, 0x0000e882, 0x00012426, 0x00001583, 0x00011426, 0x00001583,
- 0x00002c26, 0x00001583, 0x000007d1, 0x0000f038, 0x000007c8, 0x00007040,
- 0x000007dd, 0x0000f008, 0x00002c26, 0x00001583, 0x00010426, 0x00009583,
- 0x00010c26, 0x00001583, 0x000007c3, 0x00007050, 0x000007c8, 0x00007008,
- 0x000007ee, 0x0000f010, 0x0140241c, 0x00001283, 0x8000028f, 0x00001582,
- 0x414205ae, 0x00001283, 0x0000085b, 0x00007010, 0x00000807, 0x00007010,
- 0x000007c2, 0x00007008, 0x098d09a1, 0x00001900, 0x00000026, 0x00001582,
- 0x097df825, 0x0000f900, 0x003ffffe, 0x00008280, 0x500008ae, 0x0000ec0d,
- 0x00000805, 0x0000f010, 0x07c304e1, 0x00007100, 0x00000426, 0x00001583,
- 0x000728a4, 0x00001502, 0xffffffff, 0x00007f86, 0x000007ee, 0x0000f010,
- 0x00000829, 0x00007010, 0x0000143f, 0x00001583, 0x00000858, 0x00007013,
- 0x07cb053c, 0x00007004, 0x4142058c, 0x00001283, 0x097df825, 0x00007910,
- 0x003ffffe, 0x00008280, 0x500008ae, 0x0000ec15, 0x000007c2, 0x00007008,
- 0x000007c2, 0x0000f000, 0x00013426, 0x00009583, 0x00013426, 0x00009583,
- 0x00018c26, 0x00009583, 0x000007c8, 0x00007008, 0x000007f1, 0x0000f048,
- 0x000007ee, 0x0000f010, 0x0000043f, 0x00009583, 0x0140a000, 0x00006191,
- 0x09000800, 0x0000c991, 0x09800800, 0x00009990, 0x000007c2, 0x00007008,
- 0x07dd09b5, 0x00007100, 0x0000343f, 0x00009583, 0x00052042, 0x00009502,
- 0xffffffff, 0x00007f86, 0x00000861, 0x00007010, 0x0000085e, 0x00007010,
- 0x07e3053c, 0x00007004, 0x414205ae, 0x00001283, 0x814406a0, 0x00009283,
- 0xffffffff, 0x00007f86, 0x000007c2, 0x00007008, 0x000007c2, 0x00007008,
- 0x0000003d, 0x00001582, 0x097df825, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x500008ae, 0x0000ec0d, 0x000007c2, 0x00007010, 0x000007c2, 0x0000f000,
- 0x07f109b5, 0x00007500, 0x81400814, 0x000082d2, 0x09800800, 0x00001980,
- 0x00000c3f, 0x00001583, 0x00000855, 0x0000f013, 0x07f4053c, 0x00007004,
- 0x0c857405, 0x0000e000, 0x0c050424, 0x0000b000, 0x09202c24, 0x00006201,
- 0x0e812c05, 0x0000a000, 0x09000c24, 0x00001481, 0x07fc04e1, 0x0000f500,
- 0x09202c24, 0x00009201, 0x61a12025, 0x0000e800, 0xc000170a, 0x0000e583,
- 0x65202d94, 0x00000101, 0x80000852, 0x0000640a, 0xc00008ae, 0x00003408,
- 0x000007a0, 0x0000f400, 0x073f781c, 0x00007908, 0x003ffffe, 0x00008280,
- 0x80025600, 0x0000e583, 0x000038ae, 0x0000a489, 0x080704e1, 0x00007300,
- 0x500018ae, 0x0000ec05, 0x09cd09a1, 0x00009900, 0x00080027, 0x00001582,
- 0xc1dc6b8d, 0x00006150, 0xe5147a8f, 0x00004950, 0x09020841, 0x0000e150,
- 0x09820040, 0x00004950, 0x00000873, 0x00007038, 0x001c6827, 0x00001502,
- 0x0000086e, 0x0000703b, 0x18400803, 0x000086c8, 0x18c00000, 0x00006180,
- 0x18088801, 0x00004980, 0x0816094c, 0x00007500, 0x986c718f, 0x00008608,
- 0xd8d4728e, 0x00009900, 0xc000038d, 0x00009582, 0x0008c0ec, 0x00005780,
- 0x00d87e80, 0x000080c0, 0x1b800000, 0x0000f910, 0x00307fc0, 0x00000980,
- 0x00000864, 0x00007008, 0x0008d8ec, 0x00005780, 0x00007800, 0x00008080,
- 0x1bce0005, 0x0000e180, 0x1b013026, 0x0000c900, 0x000920ec, 0x00005780,
- 0x00005000, 0x00008080, 0x1b446f24, 0x0000063a, 0x24000840, 0x00006180,
- 0x24400000, 0x0000c980, 0x24800000, 0x000089cc, 0xdbd81302, 0x00009900,
- 0xf08205ae, 0x0000788f, 0xe0000000, 0x0000838d, 0x082c09b5, 0x00007500,
- 0x8140082d, 0x000082d2, 0x09800800, 0x00001980, 0x000007a0, 0x0000f400,
- 0x65202d94, 0x00006101, 0xc00008ae, 0x00002400, 0x80025600, 0x00001583,
- 0x08310999, 0x00007100, 0x0832050c, 0x00007100, 0x083609b5, 0x0000f500,
- 0x01401000, 0x00006181, 0xf00008ae, 0x0000e400, 0x09800800, 0x00001980,
- 0x8140468f, 0x00001283, 0x65002405, 0x0000e089, 0x25000000, 0x00000989,
- 0x0000084c, 0x0000f011, 0x000007a0, 0x00007000, 0x0c812c27, 0x00006800,
- 0x00000c27, 0x00001583, 0x89c00ee3, 0x00009888, 0x53013227, 0x0000f90a,
- 0x09000000, 0x00008100, 0x00000871, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x09800826, 0x00001082, 0x81400e8f, 0x0000e283, 0x09000024, 0x00000084,
- 0x53393227, 0x00005100, 0x00392000, 0x00008000, 0x08480999, 0x0000f111,
- 0x414085ae, 0x00001283, 0xf00008ae, 0x0000ec08, 0x00000831, 0x0000f011,
- 0x084c04e1, 0x0000f100, 0x14000000, 0x000085c4, 0x14800000, 0x000085cc,
- 0x15000000, 0x000085d4, 0x15800000, 0x000085dc, 0x16000000, 0x000085e4,
- 0x16800000, 0x000085ec, 0x000007a0, 0x0000f400, 0x17000000, 0x000085f4,
- 0x17c00000, 0x000085f8, 0x085809b5, 0x00007500, 0x81400814, 0x000082d2,
- 0x09800800, 0x00001980, 0x085b09b5, 0x00007500, 0x81400814, 0x000082d2,
- 0x09800800, 0x00001980, 0x085e09b5, 0x00007500, 0x81400814, 0x000082d2,
- 0x09800800, 0x00001980, 0x086109b5, 0x00007500, 0x8140082d, 0x000082d2,
- 0x09800800, 0x00001980, 0x086409b5, 0x00007500, 0x81400814, 0x000082d2,
- 0x09800800, 0x00001980, 0x08650530, 0x0000f100, 0x0008d8ec, 0x00005780,
- 0x00007800, 0x00008080, 0x000920ec, 0x00005780, 0x00005000, 0x00008080,
- 0x24000840, 0x00006180, 0x24400000, 0x0000c980, 0x24c00000, 0x000089c8,
- 0xf08205ae, 0x0000788f, 0xe0000000, 0x0000838d, 0x00000810, 0x00007400,
- 0x1002038d, 0x00001002, 0x10400041, 0x00009084, 0x087309b5, 0x00007300,
- 0x09801801, 0x000080d6, 0x087509b5, 0x00007300, 0x09815801, 0x000080d6,
- 0xf08205ae, 0x0000788f, 0xe0000000, 0x0000838d, 0x2b800f8c, 0x0000829a,
- 0x414105ae, 0x0000e283, 0x0b000000, 0x00000980, 0xc1c00000, 0x000000d6,
- 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x17000000, 0x000085f4,
- 0x17800000, 0x000085fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc,
- 0x29000000, 0x00008ad4, 0x29800000, 0x00008adc, 0x2a000000, 0x00008ae4,
- 0x2a800000, 0x00008aec, 0x2b000000, 0x00008af4, 0x2bc00000, 0x000087c0,
- 0x000008a2, 0x0000f410, 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180,
- 0x09800000, 0x0000c991, 0x0ac47c24, 0x00006802, 0x00000c24, 0x00001583,
- 0x00001424, 0x00001583, 0xffffffff, 0x00007f86, 0x0000091a, 0x0000f008,
- 0x00000905, 0x00007008, 0x00000424, 0x00009583, 0x0bc04000, 0x00006189,
- 0x0a404000, 0x00004989, 0x00000000, 0x00007091, 0x08960b83, 0x0000f100,
- 0x00001c2a, 0x0000e583, 0x0961542a, 0x00000901, 0x0000090a, 0x0000f01b,
- 0x00001425, 0x00009583, 0x00000425, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00000934, 0x0000f020, 0x0000093e, 0x0000f008, 0x00000c25, 0x00009583,
- 0x4000008f, 0x0000e409, 0xd00000ae, 0x00003408, 0x000000ae, 0x00006c89,
- 0x8140868f, 0x00001283, 0x0a000000, 0x00001989, 0x00000912, 0x0000f011,
- 0x00000c26, 0x00009583, 0x09400000, 0x00009991, 0x00000921, 0x0000f009,
- 0x00000607, 0x0000f890, 0x00000000, 0x00000000, 0x2b81601d, 0x0000786a,
- 0x00400001, 0x00008010, 0x3700feae, 0x0000f88e, 0x00400001, 0x00008080,
- 0x25c00000, 0x000089e8, 0x8140feae, 0x0000e283, 0x00001897, 0x0000a106,
- 0x89002302, 0x0000e780, 0xc0001897, 0x00002006, 0x2500b000, 0x0000f900,
- 0x0001d280, 0x00008980, 0x25401000, 0x00007900, 0x0001c008, 0x00008980,
- 0x26400000, 0x0000f900, 0x00010000, 0x00000980, 0x000008ef, 0x0000f408,
- 0x26000000, 0x0000e180, 0x4511209a, 0x00006107, 0x25800702, 0x000009ac,
- 0xa5026000, 0x00006181, 0x0c057424, 0x0000e080, 0x00000424, 0x00009583,
- 0x0700081c, 0x00001390, 0x000008c3, 0x00007009, 0x08c309a0, 0x0000f100,
- 0x001928ec, 0x00005780, 0x00005001, 0x00000080, 0x27000000, 0x000089f4,
- 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc,
- 0x29000000, 0x00008ad4, 0x29800000, 0x00008adc, 0x2a000000, 0x00008ae4,
- 0x2a800000, 0x00008aec, 0x01402000, 0x00001981, 0x89003008, 0x000080c1,
- 0x0a214424, 0x00006101, 0xc0004800, 0x00000981, 0x0a212c28, 0x0000e101,
- 0xc0c03800, 0x00000980, 0x00400000, 0x00007900, 0x00048010, 0x00000980,
- 0xc1c00000, 0x0000e180, 0x01602c28, 0x0000c101, 0x80602c05, 0x00006101,
- 0x00000005, 0x00006704, 0xc0000005, 0x0000ec07, 0x009006ec, 0x00005f80,
- 0x00884880, 0x000003c4, 0x414105ae, 0x00001283, 0x01400000, 0x00006189,
- 0x25c00000, 0x00004990, 0x2500b000, 0x00007910, 0x0001d280, 0x00008980,
- 0x000008ce, 0x00007008, 0x8140feae, 0x0000e283, 0x00001897, 0x0000a106,
- 0x26800000, 0x00006180, 0x89002302, 0x00004780, 0x25401000, 0x00007900,
- 0x0001c008, 0x00008980, 0x26400000, 0x0000f900, 0x00010000, 0x00000980,
- 0xc0001897, 0x0000e006, 0x4511209a, 0x00003107, 0x000008bd, 0x00007410,
- 0x26000000, 0x000009ec, 0x25801002, 0x00009900, 0x414105ae, 0x00001283,
- 0x27000000, 0x0000e188, 0xf00008ae, 0x00006408, 0x27400000, 0x00006188,
- 0x27800000, 0x00004988, 0x000008bd, 0x0000f010, 0x0001601d, 0x00006502,
- 0x27c00000, 0x00008980, 0x001928ec, 0x00005780, 0x00005001, 0x00000080,
- 0xc00000ae, 0x0000e468, 0xc00008ae, 0x0000b460, 0x28000000, 0x00008ac4,
- 0x28800000, 0x00008acc, 0x29000000, 0x00008ad4, 0x29800000, 0x00008adc,
- 0x2a000000, 0x00008ae4, 0x2a800000, 0x00008aec, 0x000008ce, 0x00007400,
- 0x01402000, 0x00006181, 0x0741602c, 0x00004968, 0x2b41602c, 0x00009968,
- 0x09070d0d, 0x00007300, 0x09800000, 0x00001981, 0x40001d05, 0x00006583,
- 0x09682d05, 0x00000901, 0x00000899, 0x00007033, 0x00002425, 0x00009583,
- 0x000080ae, 0x0000ec89, 0x000008a2, 0x0000f009, 0x00002c25, 0x00001583,
- 0x8140868f, 0x0000e283, 0x000088ae, 0x00002489, 0x0a000000, 0x00001989,
- 0x000008a5, 0x00007009, 0x09130944, 0x0000f100, 0x00000c26, 0x00006583,
- 0x0a000800, 0x00008981, 0x000898ec, 0x0000d780, 0x00005801, 0x00008080,
- 0x09400000, 0x00009991, 0x000008a8, 0x00007010, 0x00000921, 0x0000f000,
- 0x091c0ce8, 0x00007300, 0x8a000005, 0x000082da, 0x09682d05, 0x00009901,
- 0x21401d05, 0x0000c499, 0x68001505, 0x000002a2, 0x4f800505, 0x0000f88a,
- 0xf0400000, 0x00000484, 0x1b580028, 0x0000e180, 0x1bc00000, 0x00004980,
- 0x1b000000, 0x0000f900, 0x00008000, 0x00000980, 0x0021306d, 0x0000e006,
- 0x0000186f, 0x0000b106, 0x1061306c, 0x00006000, 0xe0001071, 0x00003402,
- 0x0010d8ec, 0x00005780, 0x00004000, 0x00000080, 0x8621306d, 0x0000e001,
- 0xc000186f, 0x00003006, 0x09781026, 0x00008638, 0x00000607, 0x0000f890,
- 0x00000000, 0x00000000, 0x2b81601d, 0x0000786a, 0x00400001, 0x00008010,
- 0x3700feae, 0x0000f88e, 0x70400000, 0x00000485, 0x0903068f, 0x00009281,
- 0x00020424, 0x00001583, 0x0000093e, 0x0000f00b, 0x00001425, 0x00009583,
- 0x000070ae, 0x00006489, 0x000078ae, 0x0000b491, 0x8140868f, 0x00001283,
- 0x0a000000, 0x00001989, 0x000008a5, 0x00007009, 0x00000912, 0x0000f000,
- 0x40000e8f, 0x0000ec00, 0x8140868f, 0x00001283, 0x0a000000, 0x00001989,
- 0x000008a5, 0x00007009, 0x00000912, 0x0000f000, 0x00000001, 0x0000f080,
- 0x13800702, 0x000004bc, 0x0000184f, 0x0000e906, 0x13001000, 0x0000f900,
- 0x00014000, 0x00008980, 0x00000001, 0x00007480, 0x13682000, 0x00007900,
- 0x00044040, 0x00000980, 0xc000184f, 0x00006806, 0x1a800000, 0x0000f900,
- 0x00001080, 0x00008980, 0x1a484000, 0x00006180, 0x08001a05, 0x0000e106,
- 0x8140168f, 0x0000e283, 0x04102869, 0x0000a101, 0x9a983b07, 0x00006100,
- 0x1000008f, 0x0000e411, 0x1a401069, 0x0000e388, 0x5000086a, 0x0000a411,
- 0xc0183b94, 0x0000e502, 0x1ac00000, 0x00000980, 0x1a000000, 0x00007900,
- 0x00008000, 0x00000980, 0x0000106b, 0x0000ec13, 0x00000001, 0x00007088,
- 0x4142058c, 0x0000e283, 0x3000086b, 0x0000a401, 0x6000086b, 0x0000ec01,
- 0x9ad83b94, 0x00001100, 0x00000001, 0x00007088, 0x00000001, 0x00007480,
- 0x4000058d, 0x00009583, 0x4000086b, 0x0000ec11, 0x00000c94, 0x00009583,
- 0x00000969, 0x00007013, 0x09670944, 0x0000f100, 0x000898ec, 0x0000d780,
- 0x00005801, 0x00008080, 0x00400000, 0x00007900, 0x00048010, 0x00000980,
- 0x80003000, 0x0000e180, 0x00000005, 0x00006704, 0xc0004800, 0x0000e181,
- 0xc0000005, 0x00006407, 0x40e00407, 0x000000dd, 0x806ca594, 0x00006101,
- 0x0940feae, 0x0000c281, 0x00003c25, 0x0000f890, 0x00000000, 0x00000000,
- 0x5fc0241c, 0x0000f88e, 0x00400001, 0x00000060, 0x61400426, 0x0000f892,
- 0x00400001, 0x00008080, 0x80402594, 0x00009081, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
- 0x009006ec, 0x00005f80, 0x00884880, 0x000003c4, 0x400005ae, 0x0000e583,
- 0x09400800, 0x00000981, 0x09025000, 0x0000e1c1, 0x09026000, 0x000049c9,
- 0x5e000425, 0x0000788a, 0x00400001, 0x00008080, 0x2500b000, 0x0000f900,
- 0x0001c000, 0x00000980, 0x25c00000, 0x000089e8, 0xa5212424, 0x00006101,
- 0x00001897, 0x00006106, 0xffc00000, 0x00006180, 0x89002302, 0x00004780,
- 0x001000ec, 0x00005780, 0x00884880, 0x000083c0, 0x25401000, 0x00007900,
- 0x0001c008, 0x00008980, 0x26400000, 0x0000f900, 0x00010000, 0x00000980,
- 0xc0001897, 0x0000e006, 0x4511209a, 0x00003107, 0x26000000, 0x000009ec,
- 0x25b91702, 0x00008930, 0x27411823, 0x00001900, 0x00992eec, 0x00005f80,
- 0x00005001, 0x00008084, 0x18c80000, 0x000086c0, 0x0008c0ec, 0x00005780,
- 0x00007800, 0x00008080, 0x00000001, 0x00007480, 0x18400800, 0x00006180,
- 0x18800801, 0x0000c980, 0xd8d4728e, 0x00009900, 0x55413aec, 0x00002180,
- 0xffffffff, 0x00007fa7, 0x00001c27, 0x00009583, 0x23000000, 0x0000e1b0,
- 0x0c05748d, 0x0000e0b0, 0xe3501202, 0x0000e130, 0x63602c05, 0x0000c931,
- 0x00000001, 0x0000f098, 0x80024e00, 0x00001583, 0x0017288c, 0x00006196,
- 0x08003026, 0x0000320e, 0xffffffff, 0x00007f86, 0x0011308c, 0x0000e98e,
- 0x554132ec, 0x0000a180, 0xffffffff, 0x00007fa7, 0x09800c26, 0x00009081,
- 0x554132ec, 0x00002980, 0x00000001, 0x00007480, 0x89a13c27, 0x00009900,
- 0x553c6a26, 0x00005100, 0x003c6000, 0x00000000, 0x80024e00, 0x00001583,
- 0x25b0100c, 0x00006188, 0x25b0100c, 0x00004990, 0x25501202, 0x00006108,
- 0x0800308d, 0x0000e20e, 0x09bf1535, 0x0000f500, 0x23400000, 0x0000e190,
- 0x25501202, 0x00004910, 0xe5a02c05, 0x00006110, 0xe5a02c05, 0x00004908,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x8140feae, 0x00001283, 0x000009c6, 0x00007013, 0x09c00c1c, 0x00001283,
- 0x000090ae, 0x00006c89, 0x81400e8f, 0x00001283, 0x09c80999, 0x00007113,
- 0x00000826, 0x00006582, 0x0700081c, 0x00000380, 0x862028ae, 0x00006895,
- 0xf7e120ae, 0x00006811, 0x000009d1, 0x00007008, 0x80024e00, 0x00001583,
- 0x09cf04e1, 0x0000710b, 0x09d10964, 0x00007300, 0x8900084a, 0x000082da,
- 0x09d209a0, 0x00007100, 0x80024e00, 0x0000e583, 0x08003026, 0x00002206,
- 0xebd13226, 0x0000e100, 0x862028ae, 0x00006085, 0xf7e120ae, 0x0000e801,
- 0x09d804e1, 0x00007108, 0x09da0964, 0x0000f300, 0x8900084a, 0x000082da,
- 0x09de1535, 0x00007500, 0x25901006, 0x00006180, 0x23400000, 0x00004980,
- 0x25501202, 0x00009900, 0x8900004c, 0x00008af4, 0x2b80078c, 0x000089b8,
- 0x09e30964, 0x0000f500, 0x27c00000, 0x000009d2, 0xa5000c04, 0x000082da,
- 0x44a02405, 0x00004389, 0x00002405, 0x00008098, 0x47201405, 0x00004489,
- 0x1a001405, 0x0000029c, 0x00800c05, 0x00004789, 0x06e03405, 0x0000888e,
- 0x0a403405, 0x0000c5a9, 0x86a03c05, 0x0000868e, 0x09ef151b, 0x0000f404,
- 0x0e009800, 0x0000f900, 0x00001000, 0x00000980, 0x0e783707, 0x00008318,
- 0x00000434, 0x00001583, 0x833f1fe3, 0x00009908, 0x84c0600c, 0x0000a088,
- 0x000009f8, 0x0000f010, 0xffffffff, 0x00007f97, 0x03003c0c, 0x00001281,
- 0x0300140c, 0x00001181, 0x00000c0c, 0x00001583, 0x000009fd, 0x0000701b,
- 0x09c65000, 0x0000f900, 0x003742de, 0x00000980, 0x09fd112b, 0x00007500,
- 0x09b83f06, 0x00008214, 0x08a1a434, 0x00009900, 0x3580bc33, 0x00007902,
- 0x03800000, 0x00008000, 0x35c08c33, 0x0000f902, 0x04000000, 0x00008000,
- 0x35c10e33, 0x00007902, 0x08000000, 0x00008000, 0x3600ea33, 0x0000f902,
- 0x07000000, 0x00008000, 0x03c0b817, 0x00009900, 0x05f88711, 0x00000118,
- 0x05390f20, 0x00000114, 0x0438ef1c, 0x00000104, 0x0a731167, 0x0000f500,
- 0x07387f0e, 0x00000134, 0x03f88717, 0x00000038, 0x00000a73, 0x00007000,
- 0x0a10151b, 0x0000f404, 0x0db83f06, 0x00008324, 0x0e009a00, 0x00009980,
- 0x00000434, 0x00001583, 0x833f1fe3, 0x00009908, 0x84c0600c, 0x0000a088,
- 0x00000a19, 0x0000f010, 0xffffffff, 0x00007f97, 0x03003c0c, 0x00001281,
- 0x0300140c, 0x00001181, 0x00000c0c, 0x00001583, 0x00000a1e, 0x0000f01b,
- 0x09c69000, 0x0000f900, 0x003742de, 0x00000980, 0x0a1e112b, 0x0000f500,
- 0x09b83f06, 0x00008214, 0x08a1a434, 0x00009900, 0x35b86633, 0x0000a000,
- 0x35807c33, 0x00007902, 0x03800000, 0x00008000, 0x0a7311bb, 0x0000f501,
- 0xffffffff, 0x00007f86, 0x0340600c, 0x00001900, 0x00000a73, 0x00007000,
- 0x0a28151b, 0x00007404, 0x0db83f06, 0x00008324, 0x0e009900, 0x00009980,
- 0x00000434, 0x00001583, 0x833f1fe3, 0x00009908, 0x84c0600c, 0x0000a088,
- 0x00000a31, 0x0000f010, 0xffffffff, 0x00007f97, 0x03003c0c, 0x00001281,
- 0x0300140c, 0x00001181, 0x00000c0c, 0x00001583, 0x00000a36, 0x0000f01b,
- 0x09cdb800, 0x00007900, 0x003742de, 0x00000980, 0x0a36112b, 0x0000f500,
- 0x09b83f06, 0x00008214, 0x08a1a434, 0x00009900, 0x35b86c33, 0x00002080,
- 0xffffffff, 0x00007fa7, 0xf8c0840d, 0x00009081, 0x0a731217, 0x0000f004,
- 0x00000a73, 0x00007000, 0x0a3f151b, 0x00007404, 0x0e009800, 0x0000f900,
- 0x00001000, 0x00000980, 0x0e783707, 0x00008318, 0x00000434, 0x00001583,
- 0x833f1fe3, 0x00009908, 0x84c0600c, 0x0000a088, 0x00000a48, 0x00007010,
- 0xffffffff, 0x00007f97, 0x03003c0c, 0x00001281, 0x0300140c, 0x00001181,
- 0x00000c0c, 0x00001583, 0x00000a4d, 0x0000f01b, 0x09c8a800, 0x0000f900,
- 0x003742de, 0x00000980, 0x0a4d112b, 0x0000f500, 0x09b83f06, 0x00008214,
- 0x08a1a434, 0x00009900, 0x35b87c33, 0x00002000, 0x35f87633, 0x0000a000,
- 0xffffffff, 0x00007f97, 0xc000070f, 0x00009583, 0x00000a73, 0x0000f400,
- 0x83371ee3, 0x00009910, 0x9220740c, 0x0000a810, 0x0a6511fd, 0x0000f100,
- 0x00000a65, 0x0000f000, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x01802004, 0x0000e100, 0x08001a09, 0x0000e106, 0x02e59800, 0x00007900,
- 0x003742dc, 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x03400000, 0x0000e180, 0xc2700600, 0x00004901, 0x82781400, 0x00000028,
- 0x0a65109e, 0x0000f500, 0x81c02800, 0x00006180, 0x02003006, 0x00004900,
- 0x01802805, 0x00009900, 0x03c00000, 0x00006180, 0x03801002, 0x00004900,
- 0x03009000, 0x0000f900, 0x0000c100, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x04002004, 0x00006100, 0xc000180f, 0x00006006,
- 0x04783705, 0x00000108, 0x04f84707, 0x00008110, 0x05785709, 0x00000118,
- 0x05c0580b, 0x00009900, 0x00981eec, 0x0000df80, 0x00005000, 0x00000084,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x82c074ec, 0x0000f902,
- 0x03000000, 0x00008604, 0x1bc02004, 0x0000e100, 0x0020280d, 0x0000e086,
- 0x8228280d, 0x0000e886, 0x0418280d, 0x00006987, 0x0438770d, 0x00008030,
- 0x03f8870c, 0x00000638, 0x1b40780f, 0x00006100, 0x0000200c, 0x00006586,
- 0x0428280c, 0x00006887, 0x8620280c, 0x0000e887, 0x0a65114d, 0x0000f500,
- 0x1b268000, 0x0000f900, 0x003742dc, 0x00008980, 0x1ac0600c, 0x00001900,
- 0x00000a65, 0x0000f000, 0x018728e5, 0x0000e100, 0x0fc00409, 0x00006004,
- 0xc10004e5, 0x000080a0, 0x00001c09, 0x00009583, 0x00001c09, 0x00009583,
- 0x00000c09, 0x00001583, 0x00000aa9, 0x00007008, 0x00000a97, 0x0000f038,
- 0x00000a9e, 0x0000f008, 0x05002304, 0x00004589, 0x8e00c304, 0x00008292,
- 0x00003409, 0x00009583, 0x00003c09, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00000aa2, 0x0000f008, 0x00000aa9, 0x00007008, 0x04202304, 0x0000c588,
- 0x0da0c304, 0x00000197, 0x00000ab6, 0x0000f400, 0x08000c05, 0x00006080,
- 0x08001a06, 0x0000b106, 0xc1001e05, 0x00008022, 0x08000c04, 0x0000e080,
- 0x08001a06, 0x0000b106, 0xc1281e04, 0x00008020, 0x0d001c04, 0x00006806,
- 0x81202404, 0x00009900, 0x02c02304, 0x0000c589, 0x8ce0c304, 0x00008191,
- 0x82181b03, 0x0000e100, 0x08000c04, 0x0000e080, 0xc1283e04, 0x00000020,
- 0x01030400, 0x00001281, 0x00010404, 0x00009583, 0x08003a06, 0x0000690e,
- 0x00000ab4, 0x0000f009, 0x00020404, 0x00009583, 0x08001a06, 0x0000610e,
- 0x08002c04, 0x0000b088, 0xc1202404, 0x00009908, 0x0d003c04, 0x0000e806,
- 0x81202404, 0x00009900, 0x0d001c05, 0x0000e806, 0xc1a02c05, 0x00009900,
- 0x57a02304, 0x0000c989, 0xec00c304, 0x00008296, 0x01400800, 0x00001981,
- 0xffffffff, 0x00007f86, 0x00000abe, 0x0000f000, 0x01400000, 0x00009981,
- 0x9400c2ec, 0x0000f902, 0x05c00000, 0x00000000, 0x9400b4ec, 0x00007902,
- 0x05400000, 0x00008000, 0x9400a6ec, 0x00007902, 0x04c00000, 0x00008000,
- 0x944090ec, 0x0000f902, 0x04400000, 0x00000000, 0x944082ec, 0x0000f902,
- 0x03c00000, 0x00000000, 0x94406cec, 0x0000f902, 0x03000000, 0x00000000,
- 0x68200405, 0x00004189, 0x00000c05, 0x00000090, 0xc6c00d08, 0x00007896,
- 0x00400001, 0x00000000, 0xc7800f08, 0x0000f896, 0x00400001, 0x00000000,
- 0xc8401508, 0x00007896, 0x00400001, 0x00000000, 0xc9001708, 0x0000f896,
- 0x00400001, 0x00000000, 0xc9c02508, 0x00007896, 0x00400001, 0x00000000,
- 0xca802708, 0x00007896, 0x00400001, 0x00000000, 0xcb404508, 0x00007896,
- 0x00400001, 0x00000000, 0xcc004708, 0x0000f896, 0x00400001, 0x00000000,
- 0x66608508, 0x0000c497, 0x6e008708, 0x00008296, 0x0ba10508, 0x0000c597,
- 0x86210708, 0x00008688, 0xbd000d08, 0x00007896, 0x00400001, 0x00000000,
- 0xbdc00f08, 0x0000f896, 0x00400001, 0x00000000, 0xbe801508, 0x0000f896,
- 0x00400001, 0x00000000, 0xbf401708, 0x0000f896, 0x00400001, 0x00000000,
- 0xc0002508, 0x00007896, 0x00400001, 0x00000000, 0xc0c02708, 0x0000f896,
- 0x00400001, 0x00000000, 0xc1804508, 0x00007896, 0x00400001, 0x00000000,
- 0xc2404708, 0x0000f896, 0x00400001, 0x00000000, 0x61808508, 0x0000c497,
- 0x20008708, 0x00008296, 0x04410508, 0x00004597, 0x04e10708, 0x0000028b,
- 0x00000ae2, 0x00007400, 0x80172a18, 0x00001502, 0x86000a18, 0x00001090,
- 0x00000ae4, 0x00007400, 0x80172a15, 0x00009502, 0x85400a15, 0x00001090,
- 0x00000ae6, 0x0000f400, 0xc0172b18, 0x00001502, 0xc6000b18, 0x00001090,
- 0x00000ae8, 0x00007400, 0xc0172b15, 0x00009502, 0xc5400b15, 0x00001090,
- 0x00000aea, 0x0000f400, 0x80172a17, 0x00001502, 0x85c00a17, 0x00001090,
- 0x00000aec, 0x0000f400, 0x80172a14, 0x00001502, 0x85000a14, 0x00001090,
- 0x00000aee, 0x00007400, 0xc0172b17, 0x00001502, 0xc5c00b17, 0x00001090,
- 0x00000af0, 0x00007400, 0xc0172b14, 0x00001502, 0xc5000b14, 0x00001090,
- 0x80172a16, 0x00009502, 0xc1408708, 0x0000e283, 0x85800a16, 0x00008090,
- 0x00000b12, 0x0000f00b, 0x80172a13, 0x00009502, 0x84c00a13, 0x00001090,
- 0x41410508, 0x00001283, 0x00000b16, 0x0000700b, 0xc0172b16, 0x00009502,
- 0xc5800b16, 0x00001090, 0xc1410708, 0x00001283, 0x00000b41, 0x0000f00b,
- 0x00000b41, 0x0000f400, 0xc0172b13, 0x00009502, 0xc4c00b13, 0x00001090,
- 0x00000ace, 0x0000f400, 0x80172a12, 0x00001502, 0x84800a12, 0x00001090,
- 0x00000ad0, 0x0000f400, 0x80172a0f, 0x00001502, 0x83c00a0f, 0x00001090,
- 0x00000ad2, 0x00007400, 0xc0172b12, 0x00001502, 0xc4800b12, 0x00001090,
- 0x00000ad4, 0x00007400, 0xc0172b0f, 0x00001502, 0xc3c00b0f, 0x00001090,
- 0x00000ad6, 0x0000f400, 0x80172a11, 0x00001502, 0x84400a11, 0x00001090,
- 0x00000ad8, 0x00007400, 0x80172a0d, 0x00009502, 0x83400a0d, 0x00001090,
- 0x00000ada, 0x0000f400, 0xc0172b11, 0x00001502, 0xc4400b11, 0x00001090,
- 0x00000adc, 0x0000f400, 0xc0172b0d, 0x00009502, 0xc3400b0d, 0x00001090,
- 0x80172a10, 0x00009502, 0xc1408708, 0x0000e283, 0x84000a10, 0x00008090,
- 0x00000b39, 0x0000f00b, 0x80172a0c, 0x00001502, 0x83000a0c, 0x00001090,
- 0x41410508, 0x00001283, 0x00000b3d, 0x0000700b, 0xc0172b10, 0x00009502,
- 0xc4000b10, 0x00001090, 0xc1410708, 0x00001283, 0x00000b41, 0x0000f00b,
- 0xc0172b0c, 0x00001502, 0xc3000b0c, 0x00001090, 0xc0172b06, 0x00001502,
- 0x9438c2ec, 0x00005000, 0x0038b800, 0x00008000, 0x9438b4ec, 0x0000d000,
- 0x0038a800, 0x00000000, 0x9438a6ec, 0x0000d000, 0x00389800, 0x00000000,
- 0x947890ec, 0x00005000, 0x00388800, 0x00008000, 0x00000000, 0x00007488,
- 0x947882ec, 0x00005000, 0x00387800, 0x00008000, 0x94786cec, 0x00005000,
- 0x00386000, 0x00008000, 0x6ae02508, 0x00004497, 0xae002708, 0x00008296,
- 0x6ea01306, 0x00004389, 0x00001306, 0x00000098, 0x02a00306, 0x00004791,
- 0x01a02306, 0x0000018f, 0xdbc02306, 0x0000f8aa, 0x58400000, 0x0000058b,
- 0x01400000, 0x00006180, 0x0418300d, 0x0000e187, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x0010300d, 0x00006186, 0x08001a09, 0x0000b106,
- 0x02d27000, 0x0000f900, 0x0028e40e, 0x00000980, 0x0320f800, 0x0000f900,
- 0x003ab282, 0x00008980, 0xc2700600, 0x00006101, 0x00204005, 0x0000e086,
- 0x82781400, 0x00000028, 0x01809d04, 0x0000809d, 0x00000b82, 0x0000f400,
- 0x01b86c04, 0x00008020, 0x03402805, 0x00001900, 0xc0000b06, 0x00001582,
- 0x00000000, 0x0000f093, 0x0b6f31ff, 0x00007100, 0xc0003b06, 0x00001582,
- 0x00000000, 0x0000f093, 0x00000b73, 0x0000f000, 0x0b6a0943, 0x00007100,
- 0x0b711716, 0x0000f300, 0x01204408, 0x00001900, 0x0b732305, 0x00007300,
- 0x01204408, 0x00001900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x0b76260c, 0x0000f100, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x02f4b000, 0x00007900, 0x00390bd0, 0x00008980, 0x031ed000, 0x00007900,
- 0x0016e9b4, 0x00008980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x01800000, 0x000080f4, 0x82600500, 0x00008026, 0x81c01000, 0x0000e180,
- 0x02801002, 0x0000c900, 0x0b83109e, 0x00007100, 0x81408644, 0x00006283,
- 0x1c000000, 0x00000980, 0x1c400000, 0x000080df, 0x063fe018, 0x0000f910,
- 0x003ffffe, 0x00008280, 0x0b000000, 0x0000e180, 0xc0005071, 0x0000e417,
- 0x8a800000, 0x000083c2, 0x1c800000, 0x000087cc, 0x14000000, 0x000085c4,
- 0x14800000, 0x000085cc, 0x15000000, 0x000085d4, 0x15800000, 0x000085dc,
- 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x17000000, 0x000085f4,
- 0x00000001, 0x0000f490, 0x17800000, 0x000085fc, 0x1c001870, 0x00009390,
- 0x80a2674f, 0x00004109, 0x0000170a, 0x00000088, 0x00001f0a, 0x0000f890,
- 0x00000000, 0x00000000, 0x01402644, 0x00007897, 0x00400001, 0x00000060,
- 0x74c60644, 0x00004697, 0xd8002644, 0x0000828f, 0x0c401f0a, 0x00004592,
- 0x04e60644, 0x0000808c, 0x0002304f, 0x0000f810, 0x00000000, 0x00000000,
- 0x0200170a, 0x0000f88b, 0x00400001, 0x00000060, 0xfb060644, 0x0000f88e,
- 0x00400001, 0x00008080, 0x1c001870, 0x00001380, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x8c02674f, 0x00004469,
- 0x66000f0a, 0x00000388, 0x76400f0a, 0x000041a9, 0x0000170a, 0x00000090,
- 0x0d260744, 0x0000458d, 0x8682374c, 0x00008611, 0x1802604f, 0x0000f80b,
- 0xb8400000, 0x00008681, 0xc0001f0a, 0x00009583, 0xc0000851, 0x0000ec0b,
- 0x00000001, 0x0000f091, 0xc1c10708, 0x00009283, 0x0002604f, 0x00001502,
- 0xffffffff, 0x00007f86, 0x00000c80, 0x0000f008, 0x00000c60, 0x00007008,
- 0x00003429, 0x00001583, 0x0a000c29, 0x0000e0d1, 0x0a004000, 0x000009b9,
- 0xc1c04708, 0x00009283, 0xc0214710, 0x00001503, 0xffffffff, 0x00007f86,
- 0x00000bc2, 0x00007008, 0x00000caa, 0x00007020, 0x8000060a, 0x00009583,
- 0x82c148ec, 0x00007902, 0x0a000000, 0x00008604, 0x03000a0a, 0x00006088,
- 0x02c0080b, 0x0000c788, 0x00000cb4, 0x00007010, 0x0300580c, 0x0000e500,
- 0x0b90520a, 0x0000c900, 0x04800729, 0x000000b4, 0x02d0520a, 0x00001900,
- 0x0a001109, 0x0000e080, 0x0ac00e0a, 0x00004081, 0x0a084028, 0x00006000,
- 0x82a15c2b, 0x00000901, 0x0a88c028, 0x0000e580, 0x14000850, 0x0000c380,
- 0x0a00a812, 0x0000e000, 0xe0000851, 0x0000a403, 0x0a014828, 0x00006100,
- 0x0ae1582a, 0x00008800, 0x0a130028, 0x00007900, 0x0000003a, 0x00008c80,
- 0x0b400f10, 0x0000e081, 0x40000850, 0x0000a402, 0x16415828, 0x0000e400,
- 0x05c24849, 0x0000c900, 0xc4000f10, 0x00006081, 0x0a288b11, 0x00008800,
- 0x0a01402e, 0x00009c00, 0xc1c10708, 0x00006283, 0x60000851, 0x00002403,
- 0x16c26028, 0x00006000, 0x90000853, 0x00002401, 0x17400816, 0x00006080,
- 0x1c500071, 0x00000380, 0x00000bea, 0x0000f210, 0x05800816, 0x00006080,
- 0x1cc00816, 0x00000080, 0x00217c2d, 0x00001503, 0x0c000800, 0x00009989,
- 0x00000001, 0x00007280, 0x0a800000, 0x00001981, 0x00023816, 0x00009502,
- 0x00000cd2, 0x00007013, 0x0002784c, 0x00001502, 0x81c00800, 0x0000e1f1,
- 0x0b02604c, 0x0000c970, 0x00000cdd, 0x0000f059, 0x0a001418, 0x00009283,
- 0x0a001000, 0x0000e191, 0x0a000000, 0x00004989, 0x063fe818, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x0a000c18, 0x00006283, 0x0a614428, 0x00000901,
- 0x063ff018, 0x0000f900, 0x003ffffe, 0x00008280, 0x0a001000, 0x0000e191,
- 0x0a000000, 0x00004989, 0x00000001, 0x0000f481, 0xe7a14071, 0x0000e803,
- 0xc7214871, 0x00006803, 0xc2801800, 0x0000e181, 0xd0000008, 0x00006401,
- 0x44000000, 0x00009981, 0xfb060644, 0x0000f88e, 0x30400000, 0x0000858d,
- 0x84600000, 0x000000eb, 0xfb060644, 0x0000f88e, 0x30400000, 0x0000858d,
- 0x82c140ec, 0x0000f902, 0x06400000, 0x00000604, 0xc0000008, 0x0000e401,
- 0x10001850, 0x0000b404, 0xc2800402, 0x000001c2, 0x16800713, 0x00000186,
- 0x06414028, 0x00001900, 0xfb060644, 0x0000f88e, 0x30400000, 0x0000858d,
- 0x00260013, 0x0000f900, 0x00000074, 0x00000582, 0xc0000850, 0x0000641b,
- 0xe0000808, 0x0000b419, 0x0a802800, 0x00001999, 0x00000001, 0x0000f098,
- 0xc1c00f08, 0x00009283, 0x82c148ec, 0x00007902, 0x0a000000, 0x00008604,
- 0x00000c20, 0x00007009, 0xffffffff, 0x00007f86, 0x0a027029, 0x00009100,
- 0x00000028, 0x0000f900, 0x00020000, 0x00008582, 0x00000871, 0x0000ec1b,
- 0xc1c01708, 0x00009283, 0x00000c26, 0x0000f013, 0x8140c64d, 0x00001283,
- 0x1680a014, 0x00006108, 0x10001850, 0x0000640c, 0x00000ca7, 0x00007009,
- 0xc1c08708, 0x00009283, 0x0a308610, 0x00009911, 0x00000c9b, 0x00007009,
- 0x8140c64d, 0x00001283, 0x0a005000, 0x00001991, 0xffffffff, 0x00007f86,
- 0x00214410, 0x00001503, 0xc0000850, 0x0000e423, 0x60000871, 0x0000b423,
- 0x0a802000, 0x000061a1, 0xe0000808, 0x00006421, 0x00000c9b, 0x00007028,
- 0x00000001, 0x0000f080, 0x0002604f, 0x0000e502, 0xc2800000, 0x00000981,
- 0x04400000, 0x00009981, 0x00000c60, 0x0000f009, 0xc1c10708, 0x00009283,
- 0x0a214c29, 0x00009909, 0x00000c3d, 0x00007009, 0x00003429, 0x00001583,
- 0x0a004000, 0x0000e1b9, 0x0a000c29, 0x000040d1, 0xc1c04708, 0x00009283,
- 0xc0214710, 0x00001503, 0xffffffff, 0x00007f86, 0x00000c42, 0x00007008,
- 0x00000caa, 0x00007020, 0x8000060a, 0x00009583, 0x82c170ec, 0x0000f902,
- 0x0a000000, 0x00008604, 0x03000a0a, 0x00006088, 0x02c0080b, 0x0000c788,
- 0x00000c62, 0x0000f010, 0x0300580c, 0x0000e500, 0x0a50520a, 0x00004900,
- 0x0480072e, 0x000080b4, 0x02d0520a, 0x00001900, 0x0a801109, 0x00006080,
- 0x0ac00e0a, 0x00004081, 0x0a88402a, 0x00006000, 0x14000850, 0x00000380,
- 0x0a08c02a, 0x0000e580, 0x82a15c2b, 0x0000c901, 0x0a80a812, 0x00006000,
- 0xe0000851, 0x0000a403, 0x0a81702a, 0x0000e100, 0x0ae15828, 0x00000800,
- 0x0a93002a, 0x00007900, 0x0000003a, 0x00008c80, 0x0a288b11, 0x00006000,
- 0x40000850, 0x00006402, 0x0b400f10, 0x0000e081, 0x05c24849, 0x00000900,
- 0x00000bdf, 0x00007400, 0x1641582a, 0x00006400, 0x0a014029, 0x00004c00,
- 0xc4000f10, 0x00009081, 0x00000001, 0x00007280, 0x0a800800, 0x00009981,
- 0x0a00902e, 0x00001100, 0x0000a828, 0x00009502, 0x03000a0a, 0x0000e0a8,
- 0x02c0080b, 0x000047a8, 0x0300580c, 0x0000e528, 0x0a50520a, 0x00004928,
- 0x00000caf, 0x00007020, 0x80003e0a, 0x0000e583, 0x02d0520a, 0x00008900,
- 0x03400000, 0x0000e180, 0x0af0560a, 0x0000c909, 0x0b400f10, 0x00006089,
- 0x05c24849, 0x00008908, 0x00000c4c, 0x0000f010, 0x0a801109, 0x00006080,
- 0x14000850, 0x0000c380, 0x0a88402a, 0x00006000, 0xe0000851, 0x0000a403,
- 0x0a08c02a, 0x0000e580, 0x40000850, 0x00006402, 0xc4000f10, 0x00006081,
- 0x0a80a812, 0x00000000, 0x0a81702a, 0x0000e100, 0x0ae15828, 0x00000800,
- 0x0a93002a, 0x00007900, 0x0000003a, 0x00008c80, 0x00000bdf, 0x00007400,
- 0x0a288b11, 0x00001800, 0x0a01420a, 0x00006400, 0x1641582a, 0x00004c00,
- 0x0a401109, 0x00006080, 0xd0000808, 0x0000e401, 0x0a484029, 0x00006000,
- 0x0a288b11, 0x00008800, 0x0002604f, 0x0000e502, 0x0a48c029, 0x00008d80,
- 0x0a105028, 0x00006400, 0x14000850, 0x0000c380, 0x0a705029, 0x00006000,
- 0x40000850, 0x00006402, 0x16530029, 0x0000f900, 0x0000003a, 0x00008c80,
- 0x44000d10, 0x00006081, 0x02d0520a, 0x00008900, 0x00000bea, 0x0000f408,
- 0x03400000, 0x0000e180, 0xc4000f10, 0x0000c081, 0x16c26028, 0x00006000,
- 0x60000851, 0x0000a413, 0x17400816, 0x00006080, 0x90000853, 0x00002401,
- 0x1c500071, 0x00006380, 0xe0000851, 0x0000a403, 0x00000001, 0x00007480,
- 0x1cc00816, 0x00006080, 0x05c24849, 0x00000900, 0x05800816, 0x00009080,
- 0x06688b11, 0x0000e000, 0x1680a014, 0x0000c900, 0x8140c64d, 0x0000e283,
- 0x06505019, 0x00008c00, 0x10005850, 0x00006480, 0xa0000851, 0x0000b403,
- 0x02d0520a, 0x00006100, 0xc0000808, 0x00006401, 0x03400000, 0x0000e180,
- 0x04000c10, 0x0000c081, 0x16c26019, 0x0000e000, 0x169f4000, 0x00000990,
- 0x00000001, 0x00007280, 0x0a800000, 0x00006181, 0x06414829, 0x00004900,
- 0x00000001, 0x00007480, 0xc0000850, 0x00006403, 0x60000871, 0x00003403,
- 0x0a801800, 0x00006181, 0xe0000808, 0x0000e401, 0x00000001, 0x00007480,
- 0xc0000850, 0x00006403, 0x60000871, 0x00003403, 0x0a801000, 0x0000e181,
- 0xe0000808, 0x0000e401, 0x0a009029, 0x00009100, 0x0000a828, 0x00009502,
- 0x03000a0a, 0x0000e0a8, 0x02c0080b, 0x000047a8, 0x0300580c, 0x0000e528,
- 0x0b90520a, 0x0000c928, 0x00000caf, 0x00007020, 0x80003e0a, 0x0000e583,
- 0x02d0520a, 0x00008900, 0x03400000, 0x0000e180, 0x0af0560a, 0x0000c909,
- 0x0b400f10, 0x00006089, 0x05c24849, 0x00008908, 0x00000bcc, 0x0000f010,
- 0x0a001109, 0x0000e080, 0x14000850, 0x0000c380, 0x0a084028, 0x00006000,
- 0xe0000851, 0x0000a403, 0x0a88c028, 0x0000e580, 0x40000850, 0x00006402,
- 0xc4000f10, 0x00006081, 0x0a00a812, 0x00008000, 0x0ae1582a, 0x00006000,
- 0x0a014828, 0x0000c100, 0x0a130028, 0x00007900, 0x0000003a, 0x00008c80,
- 0x00000bdf, 0x0000f401, 0x0a288b11, 0x00006000, 0x16415828, 0x0000cc00,
- 0x0a01420a, 0x00001c00, 0x06000818, 0x00006380, 0x0a000c18, 0x00008281,
- 0x0a001418, 0x00006283, 0x0a400c28, 0x00000481, 0x0a000000, 0x00006189,
- 0x0a001000, 0x0000c991, 0xe7a14871, 0x00006803, 0x00000001, 0x00007480,
- 0x063fe818, 0x0000f900, 0x003ffffe, 0x00008280, 0xc7214071, 0x0000e803,
- 0x0a001418, 0x0000e481, 0x0b02784f, 0x00008900, 0x06001018, 0x00006380,
- 0x0fc14429, 0x0000a000, 0x0a000c18, 0x00006283, 0x81c00800, 0x00008981,
- 0x00000bfd, 0x00007400, 0x063ff018, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0a001000, 0x0000e191, 0x0a000000, 0x00004989, 0xc1c20708, 0x00009283,
- 0x0a800f10, 0x0000e089, 0x41400800, 0x00008991, 0xc4000f10, 0x00001089,
- 0x00000001, 0x00007090, 0x0021442a, 0x00001503, 0x41401800, 0x00001999,
- 0x82c148ec, 0x00007932, 0x0a000000, 0x00008604, 0x00000cf9, 0x0000f018,
- 0x00000c2a, 0x00009583, 0xffffffff, 0x00007f86, 0x0a009029, 0x00009118,
- 0x00000cfc, 0x0000f030, 0x0000a828, 0x00009502, 0x41401000, 0x000019a1,
- 0x00000cfe, 0x0000f029, 0x00000001, 0x00007280, 0xe0000808, 0x0000e401,
- 0xc0000850, 0x00003403, 0x00000c2a, 0x00009583, 0x04814829, 0x00001908,
- 0x80003e0a, 0x0000e583, 0x0a401109, 0x00008880, 0x0a484029, 0x00006000,
- 0x0a800e0a, 0x00008091, 0x0ab0560a, 0x00006109, 0x0a48c029, 0x00004d80,
- 0x40000852, 0x0000e402, 0x60000851, 0x0000b403, 0x82a1542a, 0x0000e101,
- 0x14000850, 0x0000c380, 0x00000001, 0x00007480, 0x41400000, 0x00006181,
- 0x0aa15029, 0x00004800, 0x1653002a, 0x0000f900, 0x0000003a, 0x00008c80,
- 0x0a001d51, 0x00009281, 0x00000c28, 0x0000e583, 0x8a000ee3, 0x00008880,
- 0x2ac14628, 0x00002180, 0xc4000f10, 0x00001089, 0xffffffff, 0x00007f97,
- 0xc0214710, 0x00001503, 0x41401800, 0x000099a1, 0x82c148ec, 0x0000792a,
- 0x0a000000, 0x00008604, 0x00000d1f, 0x00007020, 0xc0000f10, 0x00009583,
- 0xffffffff, 0x00007f86, 0x0a009029, 0x00009118, 0x00000d23, 0x0000f030,
- 0x0000a828, 0x00009502, 0x41401000, 0x000019a1, 0x00000d25, 0x00007029,
- 0x00000001, 0x00007480, 0x20000852, 0x0000e402, 0x80001051, 0x0000b402,
- 0x60001051, 0x00006c03, 0xc0000f10, 0x00009583, 0x04814829, 0x00001908,
- 0x80003e0a, 0x0000e583, 0x0a401109, 0x00008880, 0x0a484029, 0x00006000,
- 0x0a800e0a, 0x00008091, 0x0ab0560a, 0x00006109, 0x0a48c029, 0x00004d80,
- 0x41400000, 0x00006181, 0x14000850, 0x0000c380, 0x00000001, 0x00007480,
- 0x0aa15029, 0x00006000, 0x82a1542a, 0x0000c901, 0x1653002a, 0x0000f900,
- 0x0000003a, 0x00008c80, 0x81402644, 0x00009283, 0x04400000, 0x00006189,
- 0xc2800000, 0x00004989, 0x00000d8c, 0x0000f011, 0x0004904c, 0x00001502,
- 0x8007684d, 0x0000796a, 0x3b800000, 0x00008604, 0x00000dbf, 0x00007061,
- 0xaca00f08, 0x0000428f, 0x80001694, 0x0000038a, 0xaca24f4c, 0x0000c459,
- 0xca049749, 0x00000362, 0x59424817, 0x00007863, 0x70400000, 0x0000068e,
- 0x3cc4b897, 0x00009900, 0x3cc798ed, 0x00001100, 0x003ff0f3, 0x0000f900,
- 0x0000003e, 0x00008582, 0xc4002708, 0x00006283, 0xbcd72ae5, 0x00008918,
- 0x3b484909, 0x00006108, 0x3c884108, 0x0000c908, 0xbce982f3, 0x0000f900,
- 0x0000001c, 0x00000c80, 0x00000dd1, 0x0000f010, 0x3c579af3, 0x00006100,
- 0x164010ed, 0x0000c784, 0x000840f1, 0x00006502, 0x3b579af3, 0x00000900,
- 0x3b82c909, 0x00006100, 0x3b484108, 0x00000948, 0x000840f1, 0x00006502,
- 0x16579af3, 0x00000900, 0x16484108, 0x00006138, 0xbcc01af3, 0x0000c780,
- 0x14000850, 0x00009380, 0x164018f2, 0x00006784, 0x3b42c8ed, 0x00008100,
- 0x3c82c908, 0x00006100, 0x3b4010ed, 0x00000784, 0x3cc792f3, 0x00006000,
- 0x3b4768ee, 0x00000000, 0x420798f3, 0x0000e100, 0x424768ed, 0x00004900,
- 0x3b401109, 0x00009880, 0x3b4798ed, 0x00009000, 0x3b48c0ed, 0x00001d80,
- 0xffffffff, 0x00007f86, 0x3b7050ed, 0x00001800, 0x165300ed, 0x00007900,
- 0x0000003a, 0x00008c80, 0x3b400a0a, 0x0000e080, 0x3b826092, 0x00004100,
- 0x000768ee, 0x00001502, 0x0000600b, 0x00009502, 0xffffffff, 0x00007f86,
- 0x00000dc9, 0x0000f020, 0x00000da7, 0x0000f028, 0x3b4068ee, 0x00001000,
- 0x0007680b, 0x00009502, 0x034068ee, 0x00006018, 0x034058ed, 0x00008130,
- 0x02c05a0a, 0x0000e030, 0x82800000, 0x00008999, 0x00000dad, 0x0000f030,
- 0x0004980e, 0x00006502, 0xc4000000, 0x00008981, 0x03a88b91, 0x0000e070,
- 0x40000850, 0x0000e472, 0x0380580e, 0x0000e470, 0xc45c8b91, 0x00004970,
- 0x04400000, 0x00009981, 0x16c4900e, 0x00006070, 0x03849893, 0x00000970,
- 0x00027892, 0x00001502, 0x00000001, 0x00007093, 0x81402644, 0x00009283,
- 0x00000df5, 0x0000f013, 0x00023092, 0x00001502, 0xc2801000, 0x0000e189,
- 0x04000000, 0x0000c989, 0xc0000008, 0x00006409, 0x10001850, 0x0000340c,
- 0x00000001, 0x00007090, 0x82c768ec, 0x0000f902, 0x06400000, 0x00000604,
- 0x16809813, 0x00009900, 0x00000001, 0x0000f481, 0xffffffff, 0x00007f86,
- 0x064768ed, 0x00001900, 0xc0188b91, 0x00009502, 0x3b688b11, 0x00001818,
- 0x00000d95, 0x0000f031, 0x001050ed, 0x00009502, 0x60000851, 0x0000e42b,
- 0x90000853, 0x0000b429, 0x44000000, 0x0000e1a9, 0x17400816, 0x0000c0a8,
- 0x3c000816, 0x000010a8, 0x0004980e, 0x00006502, 0xd0000008, 0x0000a401,
- 0x3b401109, 0x0000e080, 0x03a88b91, 0x0000c870, 0x3b4840ed, 0x00006000,
- 0x40000850, 0x00002472, 0x0380580e, 0x0000e470, 0x3b48c0ed, 0x00004d80,
- 0x82800000, 0x00006181, 0x00000852, 0x00006402, 0x165300ed, 0x00007900,
- 0x0000003a, 0x00008c80, 0xc4000000, 0x00006181, 0xc45c8b91, 0x00004970,
- 0x00000001, 0x00007480, 0x14000850, 0x00006380, 0x16c4900e, 0x00000070,
- 0x03849893, 0x00009970, 0x3b4058ee, 0x00001000, 0x0007680c, 0x00001502,
- 0x034060ed, 0x00006128, 0x02c0600c, 0x00008928, 0x03400000, 0x000019a0,
- 0x02c058ee, 0x00001020, 0x0004980e, 0x00006502, 0xbb400ee3, 0x00008880,
- 0x2aff6ced, 0x00002180, 0x03a88b91, 0x0000e070, 0x40000850, 0x0000e472,
- 0xc45c8b91, 0x00006170, 0x82800000, 0x00004981, 0x84600000, 0x000081c3,
- 0x02c7680b, 0x00009c00, 0xffffffff, 0x00007f86, 0x0380580e, 0x00009c70,
- 0xffffffff, 0x00007f86, 0x16c4900e, 0x00006070, 0x03849893, 0x00000970,
- 0x00027892, 0x00001502, 0x00000001, 0x00007093, 0x7d402644, 0x0000f897,
- 0x00400000, 0x0000068c, 0xc01c8b11, 0x00009502, 0x00000ddd, 0x0000f00b,
- 0x0004980e, 0x00009502, 0x3b688b91, 0x00006070, 0x40000850, 0x0000e472,
- 0x3b4058ed, 0x0000e470, 0x03849893, 0x0000c970, 0x00000001, 0x00007480,
- 0xc45c8b91, 0x00001970, 0x16c490ed, 0x00001070, 0x00000411, 0x00009583,
- 0xbb400a0a, 0x00009890, 0x3b9768ee, 0x00001110, 0x69c0600b, 0x0000f82b,
- 0x60400000, 0x0000868b, 0x00000d41, 0x0000f200, 0x3cc2504a, 0x0000e100,
- 0xe0000851, 0x00006403, 0xbb400af3, 0x0000e780, 0xa0000008, 0x00002401,
- 0x42576aed, 0x00006100, 0x14000850, 0x0000c380, 0x42179af3, 0x0000e100,
- 0x3b401109, 0x0000c880, 0x3b5798ed, 0x00001000, 0x3b48c0ed, 0x00001d80,
- 0x00000d65, 0x00007401, 0x3b7050ed, 0x00001800, 0x165300ed, 0x00007900,
- 0x0000003a, 0x00008c80, 0x81400e94, 0x00001283, 0x00000001, 0x0000708b,
- 0x0002784c, 0x00001502, 0xbb400ee3, 0x0000e0e8, 0x04400800, 0x0000c9e9,
- 0x2aff6ced, 0x00002168, 0x00000001, 0x0000f0e0, 0xffffffff, 0x00007f97,
- 0x000008ed, 0x00001582, 0x3b800a0a, 0x00001890, 0x3b4058ee, 0x00009010,
- 0x00000e02, 0x00007008, 0x0004980e, 0x00009502, 0x02e88b11, 0x00006070,
- 0x40000850, 0x0000e472, 0x03849893, 0x0000e170, 0x02c058ed, 0x00004c70,
- 0xffffffff, 0x00007f86, 0x16c4900b, 0x00009070, 0x2c3ff20a, 0x0000f900,
- 0x0000003e, 0x00008684, 0x02c588b0, 0x00009000, 0x00000001, 0x00007280,
- 0x02c7680b, 0x00009000, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x02e3a800, 0x00007900, 0x00132c68, 0x00000980, 0x030da000, 0x00007900,
- 0x00325952, 0x00008980, 0x0182604c, 0x0000e100, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x0e02109e, 0x0000f500, 0x02bc9702, 0x00008020,
- 0x81c04000, 0x0000e180, 0x03449092, 0x00004900, 0x3b400a0a, 0x0000e080,
- 0x02c0080b, 0x00004780, 0x0004980e, 0x00006502, 0x034058ed, 0x00008d00,
- 0x030058ed, 0x0000e500, 0x60001051, 0x00006402, 0x3b476a0a, 0x0000e000,
- 0x80000851, 0x0000a403, 0x3b87680d, 0x0000e000, 0x02c7680d, 0x00000000,
- 0x3b688b11, 0x0000e070, 0x90000853, 0x0000e401, 0x3b4768ee, 0x00006470,
- 0x40000850, 0x0000e472, 0xc2800800, 0x00006181, 0xe0000851, 0x00006403,
- 0x03c0074f, 0x00000186, 0xc4000f10, 0x00006081, 0x17400816, 0x00000080,
- 0x3c000816, 0x0000e080, 0x05c2604c, 0x00000900, 0x00000001, 0x00007480,
- 0x03849893, 0x0000e170, 0x03400000, 0x0000c980, 0x16c490ed, 0x00001070,
- 0x8140264d, 0x00006283, 0x00001051, 0x0000a402, 0x41400000, 0x00006181,
- 0xe0000808, 0x00006411, 0x81400e4d, 0x00006283, 0x39c00000, 0x00008980,
- 0x81400000, 0x00008efe, 0x39800000, 0x00006181, 0x3c00b016, 0x0000c900,
- 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x00000f94, 0x00007410,
- 0x17000000, 0x000085f4, 0x17800000, 0x000085fc, 0x3b826092, 0x00001100,
- 0x000000ee, 0x00009582, 0x3c44904c, 0x00001140, 0x00000001, 0x000070c9,
- 0x92c000f1, 0x0000f8cb, 0x00400001, 0x00000000, 0xddc0170a, 0x0000c291,
- 0xbe027f4c, 0x00000364, 0xe160070a, 0x00004191, 0x000000f1, 0x000000c8,
- 0x001c8b11, 0x0000f812, 0x00000000, 0x00000000, 0x00000e94, 0x0000f88c,
- 0x00000000, 0x00000000, 0xf942784c, 0x0000f863, 0x00400001, 0x00000060,
- 0x10a004ef, 0x0000c591, 0x884004e6, 0x00008891, 0xe0649f0e, 0x0000c471,
- 0x7c0004ef, 0x00008395, 0xd78004e6, 0x0000c689, 0x7c000f0a, 0x0000838d,
- 0xf6c01f0a, 0x00004489, 0x7c0004ef, 0x00008395, 0x0f6004e6, 0x0000c789,
- 0x07c000f1, 0x00009bce, 0xfb800e94, 0x0000f897, 0x00400001, 0x00000000,
- 0xfc5050ee, 0x0000f80b, 0x00400001, 0x00000000, 0xe0649f0e, 0x0000c471,
- 0x7c0004ef, 0x00008395, 0xaf8004e6, 0x0000f893, 0xe0400000, 0x00000785,
- 0x00023816, 0x00006502, 0xa0000850, 0x0000a403, 0x16049092, 0x00001900,
- 0x00000f66, 0x0000f011, 0x00027892, 0x00001502, 0x41400800, 0x000061f1,
- 0x39c49092, 0x00004970, 0x00000f5a, 0x0000f059, 0x39801418, 0x00001283,
- 0x063fe818, 0x0000f900, 0x003ffffe, 0x00008280, 0x39800000, 0x0000e189,
- 0x39801000, 0x00004991, 0x3b400c18, 0x00009283, 0x3b401000, 0x0000e191,
- 0x3b400000, 0x00004989, 0x00000e2f, 0x00007400, 0x063ff018, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x3be76ced, 0x00009901, 0x04000000, 0x00006181,
- 0xc0000008, 0x0000e401, 0x84600000, 0x000000eb, 0xcd4000f1, 0x000043c9,
- 0x00048d11, 0x00000010, 0xee600e94, 0x00004495, 0x7c0004ef, 0x00008395,
- 0x0ac004e6, 0x00004788, 0x85849f0e, 0x00008976, 0x0ac004ef, 0x0000c590,
- 0x056004e6, 0x00008592, 0x8007684d, 0x0000f902, 0x3c800000, 0x00000604,
- 0xd2e00f08, 0x0000c28f, 0xe4001694, 0x0000838c, 0xd2e24f4c, 0x00004459,
- 0x2e049749, 0x00008365, 0xa5c24817, 0x0000f863, 0x80400000, 0x0000878b,
- 0x3d04b897, 0x00001900, 0x3d07a0ed, 0x00001100, 0x003ff0f4, 0x00007900,
- 0x0000003e, 0x00008582, 0xc4002708, 0x00006283, 0xbd172ae5, 0x00000918,
- 0x3c484909, 0x0000e108, 0x3cc84108, 0x00004908, 0xbd2982f4, 0x0000f900,
- 0x0000001c, 0x00000c80, 0x00000f88, 0x00007010, 0x3b57a2f4, 0x0000e100,
- 0x164010f1, 0x00004784, 0x000840ed, 0x0000e502, 0x3c97a2f4, 0x00008900,
- 0x3c57a2f4, 0x00006100, 0x3c884108, 0x00004948, 0x000840ed, 0x0000e502,
- 0x1642c909, 0x00000100, 0x3c484108, 0x0000e138, 0xbd001af4, 0x0000c780,
- 0x14000850, 0x00009380, 0x3c8788f2, 0x00009100, 0x3c8010f2, 0x00009784,
- 0x164018f3, 0x0000e784, 0x3c879059, 0x00000000, 0x3cc2c908, 0x0000e100,
- 0x3b4010f2, 0x00000880, 0x424790f2, 0x00006100, 0x3d079af4, 0x00004000,
- 0x4207a0f4, 0x0000e100, 0x3b47a0ed, 0x00004000, 0x3b48c0ed, 0x00001d80,
- 0xffffffff, 0x00007f86, 0x3b7050ed, 0x00001800, 0x165300ed, 0x00007900,
- 0x0000003a, 0x00008c80, 0x3c426092, 0x00006100, 0x3b400a0a, 0x00000880,
- 0x000768ee, 0x00001502, 0x0000600b, 0x00009502, 0xffffffff, 0x00007f86,
- 0x00000ee9, 0x00007020, 0x00000ed4, 0x00007028, 0x3b4068f1, 0x00009000,
- 0x0007680b, 0x00009502, 0x034068f1, 0x0000e018, 0x034058ed, 0x00008130,
- 0x02c05a0a, 0x00001030, 0x00000eda, 0x0000f030, 0x0004980e, 0x00009502,
- 0x00000ead, 0x0000705b, 0x03a88b91, 0x00006000, 0x40000850, 0x00006402,
- 0xc45c8b91, 0x0000e100, 0x0380580e, 0x00004c00, 0xffffffff, 0x00007f86,
- 0x03849893, 0x00006100, 0x16c4900e, 0x00004000, 0xc2a00000, 0x000001c3,
- 0x04400000, 0x00009981, 0xd7c27f92, 0x0000c109, 0x000004ef, 0x00000090,
- 0x016004e6, 0x0000c78b, 0x80c02644, 0x00008f91, 0xdc023792, 0x00004409,
- 0x7c0004ef, 0x00008395, 0xaf8004e6, 0x0000f893, 0xe0400000, 0x00000785,
- 0x000004ef, 0x00001583, 0x000004e6, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00000ebe, 0x0000f010, 0x00000ebe, 0x0000f010, 0x00078016, 0x00009502,
- 0x00000001, 0x0000708b, 0x1bd00000, 0x000087c4, 0x0000186f, 0x0000e106,
- 0xe7a77871, 0x0000b003, 0x1b001000, 0x00007900, 0x00008000, 0x00000980,
- 0x1b580800, 0x0000f900, 0x00004040, 0x00008980, 0xc000186f, 0x00006006,
- 0xc7273071, 0x0000b003, 0x05b817f0, 0x00008638, 0x1c000000, 0x000087c8,
- 0x1cc780f0, 0x00001900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x0090d8ec, 0x0000d780, 0x00004000, 0x00000080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x00000001, 0x00007280, 0x01400800, 0x00001981, 0x3b4058f1, 0x00009000,
- 0x0007680c, 0x00001502, 0x034060ed, 0x00006128, 0x02c0600c, 0x00008928,
- 0x03400000, 0x000019a0, 0x02c058f1, 0x00009020, 0xbb400ee3, 0x00001880,
- 0x2aff6ced, 0x00002180, 0xffffffff, 0x00007fa7, 0x02c7680b, 0x00009c00,
- 0xab44980e, 0x0000785b, 0x30400000, 0x00008785, 0x82c768ec, 0x0000f902,
- 0x06400000, 0x00000604, 0xc0000008, 0x0000e401, 0x10001850, 0x0000b404,
- 0xc2800402, 0x000001c2, 0x16809813, 0x00009900, 0x064768ed, 0x00001900,
- 0xfae004ef, 0x0000c591, 0xfd6004e6, 0x00007d92, 0x00000411, 0x00009583,
- 0xbb400a0a, 0x00009890, 0x3c5768ee, 0x00009110, 0xb500600b, 0x0000782b,
- 0xf0400000, 0x00000784, 0x81402644, 0x00009283, 0x84000000, 0x0000e190,
- 0xc0000008, 0x0000e413, 0xc2801800, 0x00001991, 0x00000fb6, 0x0000f010,
- 0x82c770ec, 0x0000f902, 0x3b400000, 0x00008604, 0xffffffff, 0x00007fa7,
- 0x3b40c8ee, 0x00009100, 0x000640ed, 0x00001582, 0xf9808708, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00000efc, 0x00007018, 0x00000eff, 0x0000f008,
- 0x16809813, 0x0000e100, 0x10001850, 0x0000e404, 0x064770ee, 0x00001900,
- 0x0004980e, 0x00006502, 0xc0000008, 0x00002401, 0x04000000, 0x00001981,
- 0x00000eb7, 0x00007059, 0x3b688b91, 0x0000e000, 0x40000850, 0x00006402,
- 0x3b4058ed, 0x00006400, 0x03849893, 0x00004900, 0xc45c8b91, 0x00009900,
- 0x16c490ed, 0x00009000, 0xf6a004ef, 0x00004591, 0xfb4004e6, 0x0000fb91,
- 0x8007884d, 0x00007902, 0x3c800000, 0x00000604, 0xe7000f08, 0x0000428f,
- 0x26001694, 0x0000838e, 0xe7024f4c, 0x0000c459, 0x70049749, 0x00000366,
- 0xce024817, 0x00007863, 0x10400000, 0x0000078f, 0x3b44b897, 0x00009900,
- 0x3b4768f1, 0x00009100, 0x003ff0ed, 0x0000f900, 0x0000003e, 0x00008582,
- 0xc4002708, 0x00006283, 0xbb572ae5, 0x00008918, 0x3c484909, 0x0000e108,
- 0x3d084108, 0x0000c908, 0xbb6982ed, 0x0000f900, 0x0000001c, 0x00000c80,
- 0x00000fd6, 0x0000f010, 0x3c976aed, 0x00006100, 0x164010f1, 0x00004784,
- 0x000840f2, 0x00006502, 0x3cd76aed, 0x00000900, 0x3c42c909, 0x0000e100,
- 0x3cc84108, 0x00000948, 0x000840f2, 0x00006502, 0x16576aed, 0x00000900,
- 0x16484108, 0x00006138, 0xbb401aed, 0x0000c780, 0x14000850, 0x00009380,
- 0x164018f4, 0x00006784, 0x3cc2c8f3, 0x00008100, 0x3d02c908, 0x00006100,
- 0x3cc010f3, 0x00000784, 0x3b47a2ed, 0x00006000, 0x3cc798f1, 0x00008000,
- 0x164010f3, 0x00006080, 0x420768ed, 0x0000c900, 0x424798f3, 0x00006100,
- 0x3b484059, 0x0000c000, 0x3b48c0ed, 0x00001d80, 0xffffffff, 0x00007f86,
- 0x3b7050ed, 0x00001800, 0x165300ed, 0x00007900, 0x0000003a, 0x00008c80,
- 0x3b426092, 0x0000e100, 0x3c400a0a, 0x00008880, 0x000788ee, 0x00009502,
- 0x0000600b, 0x00009502, 0xffffffff, 0x00007f86, 0x00000fb1, 0x00007020,
- 0x00000f4e, 0x0000f028, 0x3b8068ed, 0x00001000, 0x0007700b, 0x00009502,
- 0x034068ed, 0x00006018, 0x034058ee, 0x00008130, 0x02c05a0a, 0x00001030,
- 0x00000f54, 0x00007030, 0x0004980e, 0x00009502, 0x00000ead, 0x0000705b,
- 0x3b688b91, 0x0000e000, 0x40000850, 0x00006402, 0x3b4058ed, 0x00006400,
- 0x03849893, 0x00004900, 0x00000ead, 0x00007400, 0xc45c8b91, 0x00009900,
- 0x16c490ed, 0x00009000, 0x034058ed, 0x00009000, 0x0000680c, 0x00009502,
- 0x0340600d, 0x0000e128, 0x02c0600c, 0x00008928, 0x03400000, 0x000019a0,
- 0x02c058ed, 0x00001020, 0xbb400ee3, 0x00001880, 0x2aff6ced, 0x00002180,
- 0xffffffff, 0x00007fa7, 0x02c7680b, 0x00009c00, 0xab44980e, 0x0000785b,
- 0x38400000, 0x0000078a, 0x3b401418, 0x0000e481, 0x39c2784f, 0x00000900,
- 0x06001018, 0x00006380, 0x0fe76ce6, 0x00002000, 0x3b400c18, 0x00006283,
- 0x41400800, 0x00000981, 0x3b401000, 0x0000e191, 0x3b400000, 0x00004989,
- 0x00000e2f, 0x00007400, 0x063ff018, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x3be76ced, 0x00009901, 0x06000818, 0x00006380, 0x3b400c18, 0x00008281,
- 0x39801418, 0x0000e283, 0x3bc00ced, 0x00000481, 0x3b401000, 0x0000e191,
- 0x3b400000, 0x00004989, 0x00000e2f, 0x00007400, 0x063fe818, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x39a76ced, 0x00009901, 0x00000e73, 0x00007200,
- 0x3d02504a, 0x00006100, 0xe0000851, 0x00006403, 0x04400800, 0x00006181,
- 0xbb400ee3, 0x00004880, 0x2aff6ced, 0x0000a100, 0xffffffff, 0x00007fa7,
- 0x000008ed, 0x00001582, 0x00000fb9, 0x0000f00b, 0x0004980e, 0x00006502,
- 0x3b800a0a, 0x00000880, 0x3b4058ee, 0x0000e000, 0x40000850, 0x00002472,
- 0x03849893, 0x0000e170, 0x02e88b11, 0x00004870, 0x02c058ed, 0x00001c70,
- 0xffffffff, 0x00007f86, 0x16c4900b, 0x00009070, 0x2c3ff20a, 0x0000f900,
- 0x0000003e, 0x00008684, 0x02c588b0, 0x00009000, 0x02c7680b, 0x00009000,
- 0xe70004ef, 0x0000c590, 0x738004e6, 0x0000f393, 0xbb400af4, 0x00006780,
- 0xa0000008, 0x00002401, 0x42576aed, 0x00006100, 0x14000850, 0x0000c380,
- 0x4217a2f4, 0x0000e100, 0x3b401109, 0x0000c880, 0x3b57a0ed, 0x00009000,
- 0x3b48c0ed, 0x00001d80, 0x00000e97, 0x0000f401, 0x3b7050ed, 0x00001800,
- 0x165300ed, 0x00007900, 0x0000003a, 0x00008c80, 0x8140164d, 0x00009283,
- 0x00000001, 0x0000708b, 0xc000170a, 0x00001583, 0x00000001, 0x00007093,
- 0xf9808708, 0x00009283, 0x00000001, 0x00007093, 0x001f0013, 0x0000f900,
- 0x00000124, 0x00008582, 0x169f0092, 0x00006198, 0x10001850, 0x0000e41c,
- 0x82c730ec, 0x0000791a, 0x06400000, 0x00000604, 0x00000001, 0x0000f0b0,
- 0x00000001, 0x0000f481, 0xffffffff, 0x00007f86, 0x064730e6, 0x00001900,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02e3a800, 0x00007900,
- 0x00132c68, 0x00000980, 0x030da000, 0x00007900, 0x00325952, 0x00008980,
- 0x0182604c, 0x0000e100, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x0fb1109e, 0x0000f500, 0x02bc9702, 0x00008020, 0x81c04000, 0x0000e180,
- 0x03449092, 0x00004900, 0x00000411, 0x00009583, 0xbb400a0a, 0x00009890,
- 0x3b5768ee, 0x00001110, 0xd380600b, 0x0000f82b, 0xf8400000, 0x00000789,
- 0x0fb70d32, 0x00007100, 0xe0e004ef, 0x00004591, 0xf06004e6, 0x00007092,
- 0x3b400a0a, 0x0000e080, 0x60001051, 0x00006402, 0x0004980e, 0x00006502,
- 0x02c0080b, 0x00008780, 0x034058ed, 0x00006500, 0x80000851, 0x00006403,
- 0x030058ed, 0x0000e500, 0x90000853, 0x0000e401, 0x3b476a0a, 0x0000e000,
- 0xe0000851, 0x0000a403, 0xc2800800, 0x00006181, 0x03c2784f, 0x0000c900,
- 0x04400000, 0x0000e181, 0xc4000f10, 0x0000c081, 0x17400816, 0x00006080,
- 0x3c000816, 0x00008080, 0x00000eb7, 0x00007458, 0x05c2604c, 0x0000e100,
- 0x3b87680d, 0x00004000, 0x02c7680d, 0x00006000, 0x03400000, 0x00000980,
- 0x3b688b11, 0x00006000, 0x40000850, 0x00006402, 0x03849893, 0x00006100,
- 0x3b4768ee, 0x0000cc00, 0xffffffff, 0x00007f86, 0x16c490ed, 0x00009000,
- 0xdd4004ef, 0x00004590, 0x6ea004e6, 0x0000ee94, 0x14000850, 0x00006380,
- 0x82000aed, 0x00000780, 0x42504208, 0x00006100, 0xa0000008, 0x0000e401,
- 0x42176aed, 0x0000e100, 0x16401109, 0x0000c880, 0x3b484059, 0x00009000,
- 0x3b48c0ed, 0x00001d80, 0x00000f38, 0x00007401, 0x3b7050ed, 0x00001800,
- 0x165300ed, 0x00007900, 0x0000003a, 0x00008c80, 0x00000f14, 0x00007200,
- 0x3b42504a, 0x0000e100, 0xe0000851, 0x00006403, 0x04400c11, 0x00006081,
- 0x3b400c11, 0x00000081, 0xbb400ee3, 0x00006080, 0x3ba76ced, 0x0000c900,
- 0x2aff6ced, 0x0000a100, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0xee4768ee, 0x0000780b, 0xc8400000, 0x0000878b, 0x00000e45, 0x00007400,
- 0xc01c8b11, 0x00009502, 0x02c05a0a, 0x00009008, 0x14000850, 0x00006380,
- 0x16401109, 0x00000880, 0x3b484059, 0x00009000, 0x3b4320ed, 0x00001d80,
- 0xffffffff, 0x00007f86, 0x3b7050ed, 0x00001800, 0x165300ed, 0x00007900,
- 0x0000003a, 0x00008c80, 0xe0649f0e, 0x0000c471, 0x7c0004ef, 0x00008395,
- 0xaf8004e6, 0x0000f893, 0xe0400000, 0x00000785, 0x0004900f, 0x00006502,
- 0xc4000000, 0x00008981, 0x60001051, 0x0000e45a, 0x90000853, 0x00003459,
- 0x3c000816, 0x000060d8, 0x80000851, 0x0000245b, 0x0000100d, 0x00007070,
- 0x000058ee, 0x00006502, 0x00000852, 0x0000a402, 0x3b405a0a, 0x00006030,
- 0x17400a0a, 0x000088b0, 0x00000e45, 0x00007400, 0x02c00a0a, 0x00006098,
- 0x3b4770ed, 0x00004130, 0x17400816, 0x00006080, 0x02c7685d, 0x00008d30,
- 0x04400000, 0x0000e181, 0x61b85051, 0x0000e002, 0x8000684d, 0x00007902,
- 0x02c00000, 0x00000604, 0xc2800000, 0x00009981, 0x03c00f08, 0x0000c18e,
- 0x00201694, 0x00008090, 0x06223792, 0x0000c511, 0x83027f92, 0x00000413,
- 0x0002484c, 0x0000f858, 0x00000000, 0x00000000, 0x00049049, 0x00007860,
- 0x00000000, 0x00008020, 0x14424817, 0x0000f862, 0x00800001, 0x00000060,
- 0x05223792, 0x0000c511, 0x82827f92, 0x00000317, 0x3b44b897, 0x00009900,
- 0x3b47680d, 0x00009100, 0x003ff0ed, 0x0000f900, 0x0000003e, 0x00008582,
- 0xc2c02708, 0x00006283, 0xbb572ae5, 0x00008918, 0x02c84108, 0x0000e108,
- 0x3b884909, 0x00004908, 0xbb6982ed, 0x0000f900, 0x0000001c, 0x00000c80,
- 0x00001054, 0x00007010, 0x16576aed, 0x0000e100, 0x034010ee, 0x00004784,
- 0x00084059, 0x0000e502, 0x3c576aed, 0x00008900, 0x3b976aed, 0x0000e100,
- 0x3c484108, 0x00004948, 0x00084059, 0x0000e502, 0x03406909, 0x00000100,
- 0xbb401aed, 0x00006780, 0x3b884108, 0x00008938, 0xffffffff, 0x00007f86,
- 0x3c4770f1, 0x00001100, 0x3c4010f1, 0x00009784, 0x0340180b, 0x0000e784,
- 0x3c47880d, 0x00008000, 0x424788f1, 0x00006100, 0x02c06908, 0x00004100,
- 0x3b405aed, 0x00009000, 0x420768ed, 0x00009900, 0x00023092, 0x0000e502,
- 0x02c01109, 0x00008880, 0x14000850, 0x00006380, 0x3b48400b, 0x00008000,
- 0x3b48c0ed, 0x00001d80, 0x00001059, 0x0000f409, 0x3b7050ed, 0x00001800,
- 0x165300ed, 0x00007900, 0x0000003a, 0x00008c80, 0x0004980e, 0x00006502,
- 0x82800000, 0x00008981, 0x02c0070c, 0x000000b4, 0x3b688b91, 0x00006070,
- 0x40000850, 0x0000e472, 0x00000eb7, 0x0000f058, 0x3b4060ed, 0x0000e400,
- 0x03849893, 0x00004900, 0xc45c8b91, 0x00009900, 0x16c490ed, 0x00009000,
- 0xcde004ef, 0x00004591, 0xe6e004e6, 0x00006696, 0x0000101f, 0x00007200,
- 0x3b42504a, 0x0000e100, 0xe0000851, 0x00006403, 0x82000aed, 0x00009780,
- 0x0000103c, 0x0000f400, 0x42504208, 0x00006100, 0xa0000008, 0x0000e401,
- 0x42176aed, 0x00009900, 0x00027892, 0x00001502, 0x00001045, 0x00007013,
- 0x82c068ec, 0x00007902, 0x02c00000, 0x00000604, 0xc0000008, 0x0000e401,
- 0x10001850, 0x0000b404, 0xc2800402, 0x000001c2, 0x00001045, 0x00007400,
- 0x16800713, 0x00000186, 0x0640680d, 0x00001900, 0xc1c0274d, 0x0000e283,
- 0x16000000, 0x00000980, 0x16400000, 0x00006180, 0xe0000808, 0x00006411,
- 0xc1c0174d, 0x0000e283, 0x16800000, 0x00008980, 0x16c00000, 0x000085f0,
- 0x17400000, 0x000005f8, 0x00000001, 0x0000f288, 0x17c00000, 0x000002e0,
- 0xc1c00f4d, 0x0000e283, 0x8a126a0a, 0x00008c00, 0x03800800, 0x00006191,
- 0x03801000, 0x00004989, 0x0a401109, 0x00006080, 0x80026808, 0x0000e001,
- 0xd7302a28, 0x00006100, 0xe3a07051, 0x0000a002, 0x0a484029, 0x00006000,
- 0x09426c0e, 0x00002000, 0x00000c0e, 0x00006583, 0x0a48c029, 0x00008d80,
- 0x03800800, 0x00006189, 0x03801000, 0x00004991, 0x40000505, 0x00006583,
- 0x14000850, 0x00000380, 0x04207051, 0x00006003, 0x40000850, 0x00003402,
- 0x83b02a28, 0x00006100, 0x0a705029, 0x00008800, 0xd73fe20e, 0x0000f910,
- 0x0000003e, 0x00008280, 0x03b26b91, 0x00006000, 0xa0000852, 0x0000e403,
- 0x0380580e, 0x00006400, 0xa0000850, 0x00006403, 0x16530029, 0x0000f900,
- 0x0000003a, 0x00008c80, 0x4460014d, 0x00008183, 0x162c8f4c, 0x00000104,
- 0x00000001, 0x00007480, 0x82926a0a, 0x00006400, 0x0a02604c, 0x0000c900,
- 0x03849893, 0x00006100, 0x16c4900e, 0x00004000, 0x00000001, 0x00007280,
- 0x1602604c, 0x00001900, 0x780408ec, 0x00005680, 0x00000000, 0x00008080,
- 0x780000ec, 0x00005680, 0x02090000, 0x00000080, 0x780008ec, 0x0000d680,
- 0x00000000, 0x00008080, 0x81400cec, 0x00005684, 0x00000000, 0x00008080,
- 0x81400aec, 0x00005684, 0x00000000, 0x00008080, 0x403840ec, 0x0000d700,
- 0x00000000, 0x00008080, 0x25b880ec, 0x0000a080, 0xffffffff, 0x00007fa7,
- 0x81001210, 0x00001880, 0x81001204, 0x00009080, 0x25b83804, 0x0000d000,
- 0x00386000, 0x00008000, 0x25b85a04, 0x00005000, 0x00385000, 0x00008000,
- 0x25b84c04, 0x0000d000, 0x00384000, 0x00000000, 0x25b83604, 0x00005000,
- 0x00386800, 0x00000000, 0x02103a07, 0x00006100, 0x01000810, 0x0000c080,
- 0x0001f804, 0x00001582, 0x04000000, 0x0000e198, 0x04000810, 0x0000c0b0,
- 0x10b21092, 0x00007500, 0xffffffff, 0x00007f86, 0x25b880ec, 0x00002880,
- 0x258568ec, 0x00007902, 0x2b000000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0xaa0012ad, 0x00001880, 0xaa0012a8, 0x00009080, 0x25bf30a8, 0x0000d000,
- 0x003cd800, 0x00000000, 0x25bcd2a8, 0x0000d000, 0x003cc800, 0x00008000,
- 0x25bcc4a8, 0x00005000, 0x003cb800, 0x00000000, 0x25bcb6a8, 0x00005000,
- 0x003ca800, 0x00008000, 0x2a0008ad, 0x00009080, 0x0001f8a8, 0x00001582,
- 0x2b4008ad, 0x000060b0, 0x2b400000, 0x00000998, 0x800016e6, 0x00009583,
- 0x25bd68ec, 0x00002880, 0x00000001, 0x0000f091, 0x000000ac, 0x00009582,
- 0x021732e6, 0x00009910, 0x00000001, 0x0000f089, 0x10ca1092, 0x0000f100,
- 0x00000001, 0x0000f080, 0x96bd40ec, 0x00003838, 0x96bd52ec, 0x00003838,
- 0x10d010b2, 0x00007500, 0x96bd64ec, 0x00003838, 0x96bd76ec, 0x00003838,
- 0x96bd40ec, 0x0000b038, 0x96bd52ec, 0x0000b038, 0x00000001, 0x00007480,
- 0x96bd64ec, 0x0000b038, 0x96bd76ec, 0x0000b038, 0x25bb92ec, 0x0000a080,
- 0x1be367e4, 0x00001800, 0xffffffff, 0x00007f97, 0x1bc3906f, 0x00009202,
- 0x39800000, 0x0000f910, 0x000040c0, 0x00000980, 0xb9801800, 0x0000e190,
- 0x26838871, 0x00004910, 0x00000001, 0x00007088, 0x26c38070, 0x00006100,
- 0x08001a98, 0x00006106, 0xa6200500, 0x00008922, 0x000010cb, 0x00007400,
- 0x267b6702, 0x0000091c, 0x257b776d, 0x00000918, 0x00172006, 0x0000e186,
- 0x00101005, 0x00003186, 0x04300006, 0x0000e087, 0x04181005, 0x0000b187,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x0d001f06, 0x00006006,
- 0x08001a09, 0x0000b106, 0x02de2000, 0x0000f900, 0x00395f38, 0x00000980,
- 0x032f4000, 0x0000f900, 0x003fbfce, 0x00008980, 0x03400000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x82781400, 0x00000028, 0x10f7109e, 0x0000f500,
- 0x81c00800, 0x0000e180, 0x02003006, 0x00004900, 0x01802805, 0x00009900,
- 0x94b910ec, 0x00003838, 0x94b922ec, 0x0000b838, 0x94b934ec, 0x00003838,
- 0x94b946ec, 0x00003838, 0x000004e3, 0x00001583, 0x4001fde3, 0x00001583,
- 0x400005e3, 0x00001583, 0x0000111e, 0x00007008, 0x00001111, 0x0000f030,
- 0x00001128, 0x0000f048, 0x820122ec, 0x00007902, 0x08c00000, 0x00000604,
- 0x494105e3, 0x00006283, 0x0880fde3, 0x00008281, 0x08a117e4, 0x00001800,
- 0x00001117, 0x0000f009, 0x08811822, 0x00001202, 0x08800000, 0x00009981,
- 0x08800800, 0x00009991, 0xffffffff, 0x00007f86, 0x25e11422, 0x00009901,
- 0x94b910ec, 0x0000b038, 0x94b922ec, 0x00003038, 0x00000001, 0x00007480,
- 0x94b934ec, 0x0000b038, 0x94b946ec, 0x0000b038, 0x494105e3, 0x00006283,
- 0x0880fde3, 0x00008281, 0x820120ec, 0x0000f902, 0x08c00000, 0x00000604,
- 0x08a117e4, 0x00001800, 0x00001107, 0x0000f010, 0xffffffff, 0x00007f86,
- 0x08812022, 0x00009202, 0x08800000, 0x00009981, 0x08800800, 0x00009991,
- 0x0000110c, 0x00007400, 0xffffffff, 0x00007f86, 0x25e11422, 0x00009901,
- 0x82391eec, 0x00002684, 0x08b71fe4, 0x00006000, 0x25c00000, 0x00004981,
- 0x94b922ec, 0x00003038, 0x94b934ec, 0x0000b038, 0x08811822, 0x00001202,
- 0x94b946ec, 0x0000b038, 0x00000001, 0x00007480, 0x94b910ec, 0x0000b038,
- 0x25c00800, 0x00001991, 0x00001103, 0x00007200, 0x820124ec, 0x00007902,
- 0x08c00000, 0x00000604, 0x00000022, 0x00009582, 0x94610eec, 0x0000a090,
- 0x39800000, 0x0000f910, 0x00004080, 0x00008980, 0x00000001, 0x00007088,
- 0x26c0e000, 0x0000f900, 0x00188ac0, 0x00000980, 0x80172a21, 0x0000e502,
- 0x08001a98, 0x0000a106, 0x88400a21, 0x0000e090, 0xb980a800, 0x00000980,
- 0x94610eec, 0x00002890, 0x26a80727, 0x00008922, 0xa6381400, 0x00008924,
- 0x000010cb, 0x00007400, 0x25f92f26, 0x00008918, 0x257f1fe3, 0x00009900,
- 0x01400000, 0x00006180, 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180,
- 0x00300005, 0x0000e086, 0xc2700600, 0x00006101, 0x82280005, 0x0000e086,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x82680500, 0x0000e101,
- 0x0d001e05, 0x0000e006, 0x02e45800, 0x0000f900, 0x0026484c, 0x00008980,
- 0x033a4000, 0x00007900, 0x003bdaae, 0x00000980, 0x114d109e, 0x0000f500,
- 0x02b81702, 0x00008020, 0x01803705, 0x0000009d, 0x9a371ee3, 0x00009900,
- 0x83c35068, 0x00007902, 0x1a000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x0000046a, 0x00009583, 0x1ab35fe4, 0x00009810, 0x00000001, 0x0000f089,
- 0x1a03406a, 0x00009202, 0x39800000, 0x0000f908, 0x000040c0, 0x00000980,
- 0xb9935a6b, 0x00006108, 0x2683606c, 0x00004908, 0x00000001, 0x00007090,
- 0x26eb5800, 0x0000f900, 0x0003cd08, 0x00008980, 0xe6300600, 0x0000e101,
- 0x08001a98, 0x00006106, 0xa6381400, 0x00008924, 0x25cb786f, 0x0000891c,
- 0x25db7a6f, 0x0000891c, 0x258b706e, 0x00008918, 0x259b726e, 0x00008918,
- 0x116610cb, 0x0000f500, 0x254b686d, 0x00008914, 0x25536b6d, 0x00008914,
- 0x00000001, 0x0000f080, 0x40002515, 0x00006583, 0x04800800, 0x00000980,
- 0x04000000, 0x0000e180, 0x44b71ee3, 0x0000c901, 0x03006000, 0x00006189,
- 0x30ff1012, 0x00006002, 0x00001185, 0x00007208, 0x84181302, 0x00009900,
- 0x40002515, 0x00009583, 0x0000117b, 0x0000f01b, 0x40001515, 0x00009583,
- 0x03005000, 0x00001989, 0x00001185, 0x00007009, 0x40001515, 0x00009583,
- 0x0300e000, 0x00001999, 0x00001185, 0x0000f019, 0x40000d15, 0x00009583,
- 0x03004800, 0x00001989, 0x00001185, 0x00007009, 0x00001184, 0x0000f000,
- 0x40003515, 0x00001583, 0x03008000, 0x00009989, 0x00001185, 0x00007009,
- 0x40003515, 0x00001583, 0x03004000, 0x000019a9, 0x00001185, 0x0000f029,
- 0x40003d15, 0x00009583, 0x03024000, 0x00001989, 0x00001185, 0x00007009,
- 0x03000000, 0x00009981, 0x00000415, 0x0000e583, 0x86207012, 0x00002087,
- 0x03800000, 0x0000e180, 0x86206010, 0x0000e087, 0x837f1fe3, 0x0000e100,
- 0x03800800, 0x00004989, 0x84f8900d, 0x00005000, 0x00388000, 0x00000000,
- 0x00000c14, 0x0000e583, 0x83371ee3, 0x00008900, 0x03400000, 0x00009980,
- 0x83c0700c, 0x0000a880, 0x03800000, 0x0000e180, 0x0018880d, 0x0000618e,
- 0xffffffff, 0x00007f86, 0x0410880d, 0x0000e18f, 0x0000200e, 0x0000b48e,
- 0x83371ee3, 0x00001900, 0x0000119f, 0x00007400, 0x9238740c, 0x00005000,
- 0x00386800, 0x00000000, 0x03787e0f, 0x00006000, 0x03b07e0f, 0x00000901,
- 0x03800c0e, 0x00006081, 0x8300840e, 0x00008080, 0x84cf180c, 0x00002881,
- 0x0320740e, 0x00009900, 0x0000680c, 0x00009502, 0x837f17e2, 0x00001940,
- 0x91c0740d, 0x0000f942, 0x03000000, 0x00000000, 0x0000119c, 0x0000f048,
- 0x91f888ec, 0x0000a080, 0x837f17e2, 0x00009900, 0x0000040e, 0x00001583,
- 0x8220a00e, 0x0000e88e, 0x40000511, 0x00006583, 0x0430a00e, 0x0000208f,
- 0x91f8640d, 0x00002800, 0x03800c0e, 0x00006081, 0x0470b616, 0x00000909,
- 0x000011b8, 0x0000f210, 0x91f8740d, 0x00002880, 0x2c007ee3, 0x00001680,
- 0x830588b0, 0x00009000, 0x2598b0ec, 0x00002803, 0x25b8aaec, 0x00002882,
- 0x9378e40c, 0x00005000, 0x00271800, 0x00008001, 0x9378ea0c, 0x0000a800,
- 0x8468a514, 0x00009901, 0x00000001, 0x00007480, 0x44400d11, 0x00009081,
- 0x91f888ec, 0x00002880, 0x0000240e, 0x00006583, 0x8400840f, 0x00008080,
- 0x84f88810, 0x00002080, 0x03806000, 0x0000e189, 0x43000000, 0x0000c980,
- 0x83187b0f, 0x00001900, 0xffffffff, 0x00007f86, 0x00000811, 0x0000ec82,
- 0x84400000, 0x00001981, 0x000011dd, 0x0000f408, 0x30ff1011, 0x0000e802,
- 0x51687811, 0x0000e800, 0x0000240e, 0x00009583, 0x000011d3, 0x0000701b,
- 0x0000140e, 0x00009583, 0x03805000, 0x00009989, 0x000011dd, 0x0000f009,
- 0x0000140e, 0x00009583, 0x0380e000, 0x00009999, 0x000011dd, 0x00007019,
- 0x00000c0e, 0x00009583, 0x03804800, 0x00009989, 0x000011dd, 0x0000f009,
- 0x000011dc, 0x00007000, 0x0000340e, 0x00001583, 0x03808000, 0x00001989,
- 0x000011dd, 0x0000f009, 0x0000340e, 0x00001583, 0x03804000, 0x000099a9,
- 0x000011dd, 0x00007029, 0x00003c0e, 0x00009583, 0x03824000, 0x00009989,
- 0x000011dd, 0x0000f009, 0x03800000, 0x00001981, 0x86206811, 0x0000e087,
- 0x8620700c, 0x0000b087, 0x84f88810, 0x00005000, 0x00386000, 0x00008000,
- 0x84371ee3, 0x00009900, 0x84f86010, 0x0000a000, 0xffffffff, 0x00007f86,
- 0x00000001, 0x00007483, 0x83000e0c, 0x00009081, 0x84f86010, 0x00002800,
- 0x84f8b80d, 0x00002080, 0x80007a0d, 0x00001582, 0xffffffff, 0x00007f97,
- 0x85a8bd17, 0x0000e118, 0x0f40bc0d, 0x00006032, 0x84e0b016, 0x0000a019,
- 0xffffffff, 0x00007f86, 0x00000001, 0x0000749b, 0x85a8bd17, 0x0000e118,
- 0x03000c16, 0x0000c199, 0x84f06016, 0x00002819, 0x91c0b0ec, 0x00002081,
- 0xffffffff, 0x00007fa7, 0x05800c16, 0x00001181, 0x91d8b0ec, 0x0000a882,
- 0x85a06c0d, 0x00009900, 0x91c0b416, 0x00002080, 0xffffffff, 0x00007f86,
- 0x00000001, 0x00007483, 0x85a06c0d, 0x0000e100, 0x03000c16, 0x0000c181,
- 0x91c06416, 0x00002880, 0x83000ee3, 0x0000e283, 0x83000ee3, 0x00008780,
- 0x66f8680c, 0x0000208c, 0x66f8680c, 0x0000a014, 0xffffffff, 0x00007fa7,
- 0x0340080d, 0x0000e090, 0x0340080d, 0x00008088, 0x00000001, 0x0000f481,
- 0x66f8680c, 0x0000a88c, 0x66f8680c, 0x00002814, 0x03400002, 0x00006180,
- 0x03880804, 0x00004980, 0xc3680500, 0x00006100, 0x83002d00, 0x00004880,
- 0x760010ec, 0x00005680, 0x00386800, 0x00000000, 0xc39ad20c, 0x00001080,
- 0x763870ec, 0x00005600, 0x000ff800, 0x00000080, 0x760000ec, 0x0000d680,
- 0x00000000, 0x00008080, 0x00c002ec, 0x0000df80, 0x1110a00b, 0x00009684,
- 0xb918630c, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x121a11e7, 0x00007300, 0x837f1fe3, 0x0000e100, 0xc31722e4, 0x0000c900,
- 0x833f1fe3, 0x00001900, 0x84c0600c, 0x00002080, 0xffffffff, 0x00007f86,
- 0x00001207, 0x0000f403, 0x833f1fe3, 0x00006100, 0x0347c40c, 0x0000c281,
- 0x84c0680c, 0x00002880, 0x80000226, 0x0000e582, 0x81c00000, 0x00008980,
- 0x81c00800, 0x00006190, 0x09000000, 0x00004980, 0x09400000, 0x000080e8,
- 0x00000407, 0x0000e583, 0xc3203824, 0x0000a006, 0x82280500, 0x00006110,
- 0x82000000, 0x0000c988, 0xc0000726, 0x0000e583, 0x00214825, 0x00002084,
- 0x04104024, 0x00006187, 0x0001400a, 0x00003286, 0x82002d00, 0x00006090,
- 0x82193b27, 0x00004908, 0x783928ec, 0x0000d600, 0x00392000, 0x00008000,
- 0x821ad208, 0x00006090, 0xc11722e4, 0x00008900, 0x80000626, 0x00001583,
- 0x04104008, 0x00006987, 0x00181008, 0x0000e18e, 0x00113808, 0x0000b196,
- 0x00000407, 0x00001583, 0x783840ec, 0x0000d600, 0x00385000, 0x00008000,
- 0x00000000, 0x00007089, 0x00c002ec, 0x0000df80, 0x1111f00b, 0x00001684,
- 0xb9182304, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x00000426, 0x0000e583, 0x01000000, 0x00000980, 0x81000000, 0x000002d0,
- 0x01000800, 0x00006191, 0x09440000, 0x00004980, 0x01400000, 0x00006180,
- 0x00213825, 0x00006084, 0x00000404, 0x0000e583, 0xc3202024, 0x0000a006,
- 0x81280500, 0x00006110, 0x81000000, 0x0000c988, 0x40000526, 0x0000e583,
- 0x00014005, 0x0000a286, 0x04102024, 0x00006187, 0x00181004, 0x0000b18e,
- 0x783928ec, 0x0000d600, 0x00392000, 0x00008000, 0x00193804, 0x0000e996,
- 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x783820ec, 0x0000d600,
- 0x00382800, 0x00008000, 0x04bf2fe5, 0x0000810c, 0x01400000, 0x0000e181,
- 0x050728e5, 0x0000c900, 0x00001c05, 0x00009583, 0x0200700e, 0x00009908,
- 0x00001271, 0x0000f009, 0x00001c05, 0x00009583, 0x00001266, 0x0000f01b,
- 0x00000c05, 0x00001583, 0x02008010, 0x00009908, 0x00001271, 0x0000f009,
- 0x00001405, 0x00001583, 0x02003006, 0x00009908, 0x00001271, 0x0000f009,
- 0x0000126f, 0x0000f000, 0x00002c05, 0x00009583, 0x02004809, 0x00009908,
- 0x00001271, 0x0000f009, 0x00002c05, 0x00009583, 0x0200680d, 0x00001928,
- 0x00001271, 0x00007029, 0x00003405, 0x00009583, 0x0200600c, 0x00009908,
- 0x00001271, 0x0000f009, 0x02008811, 0x00001900, 0xffffffff, 0x00007f86,
- 0x01004008, 0x00009b00, 0x00072804, 0x0000e502, 0x02002004, 0x00008900,
- 0x01400c05, 0x00001089, 0x00001278, 0x0000f011, 0x9f003c05, 0x0000f88a,
- 0xd0800000, 0x00000982, 0x81402c05, 0x00009880, 0x82104205, 0x00001000,
- 0x80067a08, 0x00001582, 0x0000127d, 0x0000f033, 0x823ff801, 0x00001980,
- 0x82800000, 0x000000e6, 0xbafffa08, 0x0000f88a, 0x00800003, 0x00000080,
- 0xffffffff, 0x00007f86, 0x84c02008, 0x00007902, 0x05400000, 0x00008000,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x01003c04, 0x00009283,
- 0x8100fa08, 0x00006288, 0x81402a08, 0x00000788, 0x011027e4, 0x00009808,
- 0x000012a0, 0x00007010, 0x00000405, 0x00006583, 0x010020e5, 0x00000400,
- 0x04408804, 0x00001208, 0x000012b8, 0x0000f009, 0x00000c05, 0x00001583,
- 0x04008004, 0x00001208, 0x000012b8, 0x0000f009, 0x00001405, 0x00001583,
- 0x03c07804, 0x00001208, 0x000012b8, 0x0000f009, 0x00001c05, 0x00009583,
- 0x03807004, 0x00001208, 0x000012b8, 0x0000f009, 0x00002405, 0x00001583,
- 0x03406804, 0x00001208, 0x000012b8, 0x0000f009, 0x00002c05, 0x00009583,
- 0x02c05804, 0x00001208, 0x000012b8, 0x0000f009, 0x000012b8, 0x00007400,
- 0x00003405, 0x00009583, 0x03006004, 0x00001208, 0x00004c0a, 0x00009583,
- 0x01801c0a, 0x000062b1, 0x01000000, 0x000009b0, 0x01801c06, 0x000060b0,
- 0x38409404, 0x0000c0b1, 0x000012b0, 0x00007018, 0x0107f800, 0x00009980,
- 0x01003004, 0x00001800, 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86,
- 0x01400200, 0x0000f904, 0x0107fa08, 0x0000e280, 0x01402005, 0x00000200,
- 0x01803004, 0x00009800, 0x01803005, 0x00009300, 0x10003400, 0x00007904,
- 0xc1002715, 0x00006283, 0x02800c0a, 0x00000081, 0x0150aa15, 0x00001910,
- 0x12b425fe, 0x00007111, 0x84f82808, 0x00002080, 0xffffffff, 0x00007fa7,
- 0x00001805, 0x0000ec04, 0x84f82808, 0x0000a880, 0x82000a08, 0x00009080,
- 0x80068208, 0x00009582, 0x81002a08, 0x00001790, 0x8200fa08, 0x00006290,
- 0x01e02404, 0x00008911, 0x000012e7, 0x00007008, 0x02000000, 0x00006181,
- 0x011047e4, 0x00004800, 0x018022ec, 0x00009100, 0x00204407, 0x00009503,
- 0x000012e4, 0x0000f01b, 0x00001c08, 0x00001583, 0x0100700e, 0x00009908,
- 0x000012d9, 0x00007009, 0x00001c08, 0x00001583, 0x000012cf, 0x0000f01b,
- 0x00000c08, 0x00009583, 0x01008010, 0x00009908, 0x000012d9, 0x00007009,
- 0x00001408, 0x00009583, 0x0100780f, 0x00009908, 0x000012d9, 0x00007009,
- 0x000012d8, 0x0000f000, 0x00002c08, 0x00001583, 0x0100580b, 0x00009908,
- 0x000012d9, 0x00007009, 0x00002c08, 0x00001583, 0x0100680d, 0x00001928,
- 0x000012d9, 0x0000f029, 0x00003408, 0x00001583, 0x0100600c, 0x00009908,
- 0x000012d9, 0x00007009, 0x01008811, 0x00001900, 0x00204407, 0x00009503,
- 0x01003004, 0x00009208, 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00,
- 0x00072804, 0x0000e502, 0x01402004, 0x00000900, 0x82002c08, 0x00001890,
- 0x82102a08, 0x00009010, 0x000012e4, 0x00007008, 0xb9c67a08, 0x0000f89a,
- 0x40800000, 0x00000987, 0x02000c08, 0x00009081, 0x00003c08, 0x00009583,
- 0x000012c1, 0x0000f013, 0x823ff801, 0x00001980, 0x02400c09, 0x00009081,
- 0xa03ffa08, 0x00007892, 0x00800003, 0x00000080, 0x04205014, 0x00006087,
- 0x08001a98, 0x00003106, 0x39800000, 0x00007900, 0x000040c0, 0x00000980,
- 0xe6300600, 0x0000e101, 0x86204814, 0x00006087, 0x26b40800, 0x0000f900,
- 0x002f51f0, 0x00008980, 0x26f3c800, 0x0000f900, 0x00065644, 0x00008980,
- 0xa6381400, 0x00008924, 0x12f910cb, 0x0000f500, 0x25f89f12, 0x00000918,
- 0x25409714, 0x00000e99, 0x00000001, 0x0000f080, 0x048004e4, 0x000080ac,
- 0x083f2fe5, 0x00008204, 0x01000000, 0x00006181, 0x088728e5, 0x0000c900,
- 0x00001c04, 0x00001583, 0x02403807, 0x00001908, 0x00001315, 0x0000f009,
- 0x00001c04, 0x00001583, 0x0000130a, 0x0000701b, 0x00000c04, 0x00009583,
- 0x0240a014, 0x00001908, 0x00001315, 0x0000f009, 0x00001404, 0x00009583,
- 0x02403006, 0x00001908, 0x00001315, 0x0000f009, 0x00001313, 0x0000f000,
- 0x00002c04, 0x00001583, 0x0240780f, 0x00001908, 0x00001315, 0x0000f009,
- 0x00002c04, 0x00001583, 0x02404008, 0x00009928, 0x00001315, 0x00007029,
- 0x00003404, 0x00001583, 0x0240700e, 0x00001908, 0x00001315, 0x0000f009,
- 0x0240a815, 0x00009900, 0xffffffff, 0x00007f86, 0x01404809, 0x00001b00,
- 0x00072805, 0x00006502, 0x02402805, 0x00000900, 0x01000c04, 0x00001089,
- 0x0000131c, 0x0000f011, 0xc8003c04, 0x0000f88a, 0xf0800000, 0x00008987,
- 0x81002c04, 0x00009880, 0x82504a04, 0x00009000, 0x80067a09, 0x00009582,
- 0x00001321, 0x00007033, 0x827ff801, 0x00009980, 0x81400000, 0x000080d2,
- 0xe6bffa09, 0x0000f88a, 0x00800003, 0x00000080, 0xffffffff, 0x00007f86,
- 0x84c03009, 0x00007902, 0x02c00000, 0x00008000, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x01803c06, 0x00001281, 0x00000c06, 0x00001583,
- 0x00002406, 0x00009593, 0x81c0fa09, 0x0000e290, 0x81802a09, 0x00008790,
- 0x01d03fe4, 0x00009810, 0x00001346, 0x00007008, 0x00000406, 0x00006583,
- 0x01c038e5, 0x00000400, 0x0540a807, 0x00001208, 0x00001367, 0x0000f009,
- 0x00000c06, 0x00001583, 0x0500a007, 0x00001208, 0x00001367, 0x0000f009,
- 0x00001406, 0x00001583, 0x04c09807, 0x00001208, 0x00001367, 0x0000f009,
- 0x00001c06, 0x00009583, 0x04408807, 0x00001208, 0x00001367, 0x0000f009,
- 0x00002406, 0x00001583, 0x04008007, 0x00001208, 0x00001367, 0x0000f009,
- 0x00002c06, 0x00009583, 0x03c07807, 0x00001208, 0x00001367, 0x0000f009,
- 0x00001367, 0x00007400, 0x00003406, 0x00009583, 0x03807007, 0x00001208,
- 0x00004c05, 0x00009583, 0x02001c05, 0x0000e2b1, 0x01800000, 0x000089b0,
- 0x02001c08, 0x000060b0, 0x38410406, 0x0000c0b1, 0x00001356, 0x00007018,
- 0x0187f800, 0x00001980, 0x01804006, 0x00009800, 0x018030e5, 0x00009400,
- 0xffffffff, 0x00007f86, 0x01c00200, 0x00007904, 0x0187fa09, 0x0000e280,
- 0x01c03007, 0x00008200, 0x02004006, 0x00001800, 0x02004007, 0x00001300,
- 0x10004400, 0x0000f904, 0xc100870b, 0x00006283, 0x01400c05, 0x00000081,
- 0x01800000, 0x00009990, 0x00104806, 0x0000e996, 0x135c2451, 0x00007214,
- 0x03403006, 0x00009910, 0xc100170b, 0x00009283, 0x135e3203, 0x00007113,
- 0x01800000, 0x00001980, 0x136211e7, 0x0000f500, 0x00104806, 0x00006986,
- 0x03403006, 0x00001900, 0x84c03009, 0x00007902, 0x02c00000, 0x00008000,
- 0xffffffff, 0x00007fa7, 0x00001006, 0x00006c04, 0x84f83009, 0x00002880,
- 0x82400a09, 0x00009080, 0x80068209, 0x00001582, 0x81802a09, 0x00001790,
- 0x8240fa09, 0x00006290, 0x02a03406, 0x00000911, 0x00001396, 0x0000f008,
- 0x02400000, 0x0000e181, 0x01904fe4, 0x00004800, 0x020032ec, 0x00009100,
- 0x00204c0a, 0x00009503, 0x00001393, 0x0000701b, 0x00001c09, 0x00009583,
- 0x01808811, 0x00001908, 0x00001388, 0x00007009, 0x00001c09, 0x00009583,
- 0x0000137e, 0x0000701b, 0x00000c09, 0x00001583, 0x0180a014, 0x00001908,
- 0x00001388, 0x00007009, 0x00001409, 0x00001583, 0x01809813, 0x00001908,
- 0x00001388, 0x00007009, 0x00001387, 0x00007000, 0x00002c09, 0x00009583,
- 0x0180780f, 0x00001908, 0x00001388, 0x00007009, 0x00002c09, 0x00009583,
- 0x01808010, 0x00009928, 0x00001388, 0x0000f029, 0x00003409, 0x00009583,
- 0x0180700e, 0x00001908, 0x00001388, 0x00007009, 0x0180a815, 0x00009900,
- 0x00204c0a, 0x00009503, 0x01804006, 0x00001208, 0xffffffff, 0x00007f86,
- 0x01803006, 0x00001b00, 0x00072806, 0x00006502, 0x01c03006, 0x00008900,
- 0x82402c09, 0x00001890, 0x82503a09, 0x00001010, 0x00001393, 0x0000f008,
- 0xe5867a09, 0x0000f89a, 0xb8800000, 0x0000098c, 0x02400c09, 0x00009081,
- 0x00003c09, 0x00001583, 0x00001370, 0x00007013, 0x827ff801, 0x00009980,
- 0x01000c04, 0x00009081, 0xc93ffa09, 0x0000f892, 0x00800003, 0x00000080,
- 0x04202822, 0x00006087, 0x08001a98, 0x00003106, 0x39800000, 0x00007900,
- 0x000040c0, 0x00000980, 0xe6300600, 0x0000e101, 0x86202022, 0x0000e087,
- 0x268c1800, 0x0000f900, 0x00198f26, 0x00000980, 0x26c3c800, 0x0000f900,
- 0x003ec9b2, 0x00000980, 0xa6381400, 0x00008924, 0x13a810cb, 0x0000f500,
- 0x25f90f20, 0x00000918, 0x25408f22, 0x00000e99, 0x00000405, 0x00009583,
- 0xb9109212, 0x0000e108, 0x01000000, 0x00004990, 0x81280500, 0x00006110,
- 0x01b00004, 0x00004990, 0x700040ec, 0x0000d690, 0x00382544, 0x00008008,
- 0x700000ec, 0x00005690, 0x00000000, 0x00008080, 0xc1905a0b, 0x00001910,
- 0x700000ec, 0x00005690, 0x00000000, 0x00008080, 0x00000000, 0x0000f088,
- 0x700040ec, 0x00005680, 0x003837c0, 0x00000078, 0x00c002ec, 0x0000df80,
- 0x111dc80b, 0x00009684, 0xb9109212, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x023f2fe5, 0x00008024, 0x01400000, 0x0000e181,
- 0x028728e5, 0x0000c900, 0x00001c05, 0x00009583, 0x01c0780f, 0x00009908,
- 0x000013d6, 0x0000f009, 0x00001c05, 0x00009583, 0x000013cb, 0x0000f01b,
- 0x00000c05, 0x00001583, 0x01c08811, 0x00009908, 0x000013d6, 0x0000f009,
- 0x00001405, 0x00001583, 0x01c03006, 0x00009908, 0x000013d6, 0x0000f009,
- 0x000013d4, 0x00007000, 0x00002c05, 0x00009583, 0x01c0680d, 0x00009908,
- 0x000013d6, 0x0000f009, 0x00002c05, 0x00009583, 0x01c0700e, 0x00001928,
- 0x000013d6, 0x00007029, 0x00003405, 0x00009583, 0x01c0600c, 0x00009908,
- 0x000013d6, 0x0000f009, 0x01c09012, 0x00001900, 0xffffffff, 0x00007f86,
- 0x01003807, 0x00009b00, 0x00072804, 0x0000e502, 0x01c02004, 0x00008900,
- 0x01400c05, 0x00001089, 0x000013dd, 0x00007011, 0xf8403c05, 0x0000f88a,
- 0xf8800000, 0x0000098d, 0x81402c05, 0x00009880, 0x81d03a05, 0x00001000,
- 0x80067a07, 0x00001582, 0x000013e2, 0x00007033, 0x81fff801, 0x00001980,
- 0x02c00000, 0x00001981, 0x127ffa07, 0x0000788b, 0x00800003, 0x00000080,
- 0xffffffff, 0x00007f86, 0x84f8a007, 0x00002080, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x01003c14, 0x00009281, 0x00000c04, 0x00009583,
- 0x8100fa07, 0x00006290, 0x81402a07, 0x00000790, 0x011027e4, 0x00009810,
- 0x00001405, 0x00007008, 0x00000405, 0x00006583, 0x010020e5, 0x00000400,
- 0x04809004, 0x00001208, 0x00001418, 0x0000f009, 0x00000c05, 0x00001583,
- 0x04408804, 0x00001208, 0x00001418, 0x0000f009, 0x00001405, 0x00001583,
- 0x04008004, 0x00001208, 0x00001418, 0x0000f009, 0x00001c05, 0x00009583,
- 0x03c07804, 0x00001208, 0x00001418, 0x0000f009, 0x00002405, 0x00001583,
- 0x03807004, 0x00001208, 0x00001418, 0x0000f009, 0x00002c05, 0x00009583,
- 0x03406804, 0x00001208, 0x00001418, 0x0000f009, 0x00001418, 0x00007400,
- 0x00003405, 0x00009583, 0x03006004, 0x00001208, 0x00004c0b, 0x00001583,
- 0x01801c0b, 0x0000e2b1, 0x01000000, 0x000009b0, 0x01801c06, 0x000060b0,
- 0x38404404, 0x000040b1, 0x00001415, 0x00007018, 0x0107f800, 0x00009980,
- 0x01003004, 0x00001800, 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86,
- 0x01400200, 0x0000f904, 0x0107fa07, 0x0000e280, 0x01402005, 0x00000200,
- 0x01803004, 0x00009800, 0x01803005, 0x00009300, 0x10003400, 0x00007904,
- 0x02c00c0b, 0x00006081, 0x00002014, 0x00002404, 0x84f8a007, 0x0000a880,
- 0x81c00a07, 0x00009080, 0x80068207, 0x00009582, 0x01800000, 0x00006191,
- 0x81002a07, 0x00004790, 0x81c0fa07, 0x00006290, 0x01602404, 0x00000911,
- 0x00001449, 0x0000f008, 0x00000405, 0x00006583, 0x01103fe4, 0x00008800,
- 0x010022ec, 0x00001100, 0x00001446, 0x0000f019, 0x00001c06, 0x00009583,
- 0x01c0780f, 0x00009908, 0x00001439, 0x0000f009, 0x00001c06, 0x00009583,
- 0x0000142f, 0x0000701b, 0x00000c06, 0x00001583, 0x01c08811, 0x00009908,
- 0x00001439, 0x0000f009, 0x00001406, 0x00001583, 0x01c08010, 0x00009908,
- 0x00001439, 0x0000f009, 0x00001438, 0x00007000, 0x00002c06, 0x00009583,
- 0x01c0680d, 0x00009908, 0x00001439, 0x0000f009, 0x00002c06, 0x00009583,
- 0x01c0700e, 0x00001928, 0x00001439, 0x00007029, 0x00003406, 0x00009583,
- 0x01c0600c, 0x00009908, 0x00001439, 0x0000f009, 0x01c09012, 0x00001900,
- 0x00203405, 0x00009503, 0x01c02007, 0x00001208, 0xffffffff, 0x00007f86,
- 0x01c03807, 0x00009b00, 0x00072807, 0x0000e502, 0x04c03807, 0x00008900,
- 0x81802c06, 0x00001890, 0x81d09a06, 0x00009010, 0x00001446, 0x0000f008,
- 0x12467a07, 0x0000789b, 0x00800001, 0x00000000, 0xf97ffa07, 0x0000f892,
- 0x48800002, 0x00000a82, 0x01800c06, 0x00009081, 0x00403c06, 0x0000c589,
- 0x7fe03005, 0x00007d1e, 0x8620580a, 0x0000e087, 0x08001a98, 0x00003106,
- 0x39800000, 0x00007900, 0x000040c0, 0x00000980, 0x26933000, 0x00007900,
- 0x00198f26, 0x00000980, 0x26fb4800, 0x0000f900, 0x00007fea, 0x00008980,
- 0xa6200500, 0x00008922, 0x26784702, 0x0000891c, 0x145610cb, 0x0000f500,
- 0x25b85709, 0x00000914, 0xb980a000, 0x00001980, 0x00000001, 0x0000f080,
- 0x01000000, 0x00009980, 0x01400000, 0x00001980, 0x01800000, 0x00001980,
- 0x01c00000, 0x00009980, 0x02000000, 0x00009980, 0x02400000, 0x00001980,
- 0x02800000, 0x00001980, 0x02c00000, 0x00009980, 0x03000000, 0x00001980,
- 0x03400000, 0x00009980, 0x03800000, 0x00009980, 0x03c00000, 0x00001980,
- 0x04000000, 0x00009980, 0x04400000, 0x00001980, 0x04800000, 0x00001980,
- 0x04c00000, 0x00009980, 0x05000000, 0x00001980, 0x05400000, 0x00009980,
- 0x05800000, 0x00009980, 0x05c00000, 0x00001980, 0x06000000, 0x00001980,
- 0x06400000, 0x00009980, 0x06800000, 0x00009980, 0x06c00000, 0x00001980,
- 0x07000000, 0x00009980, 0x07400000, 0x00001980, 0x07800000, 0x00001980,
- 0x07c00000, 0x00009980, 0x08000000, 0x00009980, 0x08400000, 0x00001980,
- 0x08800000, 0x00001980, 0x08c00000, 0x00009980, 0x09000000, 0x00001980,
- 0x09400000, 0x00009980, 0x09800000, 0x00009980, 0x09c00000, 0x00001980,
- 0x0a000000, 0x00001980, 0x0a400000, 0x00009980, 0x0a800000, 0x00009980,
- 0x0ac00000, 0x00001980, 0x0b000000, 0x00009980, 0x0b400000, 0x00001980,
- 0x0b800000, 0x00001980, 0x0bc00000, 0x00009980, 0x0c000000, 0x00001980,
- 0x0c400000, 0x00009980, 0x0c800000, 0x00009980, 0x0cc00000, 0x00001980,
- 0x0d000000, 0x00009980, 0x0d400000, 0x00001980, 0x0d800000, 0x00001980,
- 0x0dc00000, 0x00009980, 0x0e000000, 0x00009980, 0x0e400000, 0x00001980,
- 0x0e800000, 0x00001980, 0x0ec00000, 0x00009980, 0x0f000000, 0x00001980,
- 0x0f400000, 0x00009980, 0x0f800000, 0x00009980, 0x0fc00000, 0x00001980,
- 0x10000000, 0x00009980, 0x10400000, 0x00001980, 0x10800000, 0x00001980,
- 0x10c00000, 0x00009980, 0x11000000, 0x00001980, 0x11400000, 0x00009980,
- 0x11800000, 0x00009980, 0x11c00000, 0x00001980, 0x12000000, 0x00001980,
- 0x12400000, 0x00009980, 0x12800000, 0x00009980, 0x12c00000, 0x00001980,
- 0x13000000, 0x00009980, 0x13400000, 0x00001980, 0x13800000, 0x00001980,
- 0x13c00000, 0x00009980, 0x14000000, 0x00001980, 0x14400000, 0x00009980,
- 0x14800000, 0x00009980, 0x14c00000, 0x00001980, 0x15000000, 0x00009980,
- 0x15400000, 0x00001980, 0x15800000, 0x00001980, 0x15c00000, 0x00009980,
- 0x16000000, 0x00009980, 0x16400000, 0x00001980, 0x16800000, 0x00001980,
- 0x16c00000, 0x00009980, 0x17000000, 0x00001980, 0x17400000, 0x00009980,
- 0x17800000, 0x00009980, 0x17c00000, 0x00001980, 0x18000000, 0x00001980,
- 0x18400000, 0x00009980, 0x18800000, 0x00009980, 0x18c00000, 0x00001980,
- 0x19000000, 0x00009980, 0x19400000, 0x00001980, 0x19800000, 0x00001980,
- 0x19c00000, 0x00009980, 0x1a000000, 0x00009980, 0x1a400000, 0x00001980,
- 0x1a800000, 0x00001980, 0x1ac00000, 0x00009980, 0x1b000000, 0x00001980,
- 0x1b400000, 0x00009980, 0x1b800000, 0x00009980, 0x1bc00000, 0x00001980,
- 0x1c000000, 0x00009980, 0x1c400000, 0x00001980, 0x1c800000, 0x00001980,
- 0x1cc00000, 0x00009980, 0x1d000000, 0x00001980, 0x1d400000, 0x00009980,
- 0x1d800000, 0x00009980, 0x1dc00000, 0x00001980, 0x1e000000, 0x00001980,
- 0x1e400000, 0x00009980, 0x1e800000, 0x00009980, 0x1ec00000, 0x00001980,
- 0x1f000000, 0x00009980, 0x1f400000, 0x00001980, 0x1f800000, 0x00001980,
- 0x1fc00000, 0x00009980, 0x20000000, 0x00009980, 0x20400000, 0x00001980,
- 0x20800000, 0x00001980, 0x20c00000, 0x00009980, 0x21000000, 0x00001980,
- 0x21400000, 0x00009980, 0x21800000, 0x00009980, 0x21c00000, 0x00001980,
- 0x22000000, 0x00001980, 0x22400000, 0x00009980, 0x22800000, 0x00009980,
- 0x22c00000, 0x00001980, 0x23000000, 0x00009980, 0x23400000, 0x00001980,
- 0x23800000, 0x00001980, 0x23c00000, 0x00009980, 0x24000000, 0x00001980,
- 0x24400000, 0x00009980, 0x24800000, 0x00009980, 0x24c00000, 0x00001980,
- 0x25000000, 0x00009980, 0x25400000, 0x00001980, 0x25800000, 0x00001980,
- 0x25c00000, 0x00009980, 0x26000000, 0x00009980, 0x26400000, 0x00001980,
- 0x26800000, 0x00001980, 0x26c00000, 0x00009980, 0x27000000, 0x00001980,
- 0x27400000, 0x00009980, 0x27800000, 0x00009980, 0x27c00000, 0x00001980,
- 0x28000000, 0x00001980, 0x28400000, 0x00009980, 0x28800000, 0x00009980,
- 0x28c00000, 0x00001980, 0x29000000, 0x00009980, 0x29400000, 0x00001980,
- 0x29800000, 0x00001980, 0x29c00000, 0x00009980, 0x2a000000, 0x00009980,
- 0x2a400000, 0x00001980, 0x2a800000, 0x00001980, 0x2ac00000, 0x00009980,
- 0x2b000000, 0x00001980, 0x2b400000, 0x00009980, 0x2b800000, 0x00009980,
- 0x2bc00000, 0x00001980, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0c800ce0, 0x00006283,
- 0x0d000000, 0x00008981, 0x823996ec, 0x0000a694, 0x0d771fe4, 0x00009810,
- 0x00000001, 0x00007088, 0x00000001, 0x0000f481, 0x0c819035, 0x00009202,
- 0x0d000800, 0x00001991, 0x0d400000, 0x0000f900, 0x000010c4, 0x00008980,
- 0x8c802d00, 0x0000e080, 0x0019c035, 0x00006106, 0x8d280500, 0x0000e100,
- 0xcd1ad232, 0x0000c080, 0x0c800004, 0x00006180, 0xccd722e4, 0x0000c900,
- 0x7039a8ec, 0x0000d600, 0x0039a000, 0x00000000, 0x8cc02d00, 0x00006080,
- 0x8221c032, 0x00006080, 0x0d000000, 0x00007900, 0x00007fc0, 0x00000980,
- 0x7039b0ec, 0x0000d600, 0x0039c800, 0x00008000, 0x0019c034, 0x00006186,
- 0x04171032, 0x00003187, 0x7039a0ec, 0x00005600, 0x00399000, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x1149880b, 0x00009684, 0x15321505, 0x0000f100,
- 0xb9199b33, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x25bcbaec, 0x00002080, 0x09e4b7e4, 0x00001800, 0xffffffff, 0x00007f97,
- 0x09c4b827, 0x00001202, 0x39800000, 0x0000f910, 0x000040c0, 0x00000980,
- 0xb9801800, 0x0000e190, 0xe6300600, 0x00004911, 0x00000001, 0x00007088,
- 0x26990000, 0x00007900, 0x0019b31e, 0x00008980, 0x26d7f800, 0x0000f900,
- 0x0019b31e, 0x00008980, 0xa6280500, 0x00006101, 0x08001a98, 0x00006106,
- 0x000010cb, 0x00007400, 0x267cb702, 0x0000091c, 0x257caf8d, 0x00000918,
- 0x03800000, 0x0000e180, 0x06002004, 0x0000c900, 0x06783705, 0x00000128,
- 0x06f84707, 0x00008130, 0x07785709, 0x00000138, 0x07f8270b, 0x00000114,
- 0x05383705, 0x0000810c, 0x155112fa, 0x0000f404, 0x04784707, 0x00008100,
- 0x03b84c0a, 0x0000803c, 0x01800000, 0x00009981, 0x00001c06, 0x00009583,
- 0x01008811, 0x00009908, 0x00001569, 0x00007009, 0x00001c06, 0x00009583,
- 0x0000155e, 0x0000f01b, 0x00000c06, 0x00001583, 0x0100a014, 0x00009908,
- 0x00001569, 0x00007009, 0x00001406, 0x00001583, 0x01009813, 0x00009908,
- 0x00001569, 0x00007009, 0x00001567, 0x0000f000, 0x00002c06, 0x00009583,
- 0x0100780f, 0x00009908, 0x00001569, 0x00007009, 0x00002c06, 0x00009583,
- 0x01008010, 0x00001928, 0x00001569, 0x0000f029, 0x00003406, 0x00009583,
- 0x0100700e, 0x00009908, 0x00001569, 0x00007009, 0x0100a815, 0x00001900,
- 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00, 0x00072804, 0x0000e502,
- 0x01402004, 0x00000900, 0x01800c06, 0x00001089, 0x00001570, 0x0000f011,
- 0x5d003c06, 0x0000f88b, 0x90800000, 0x00000a8a, 0x81802c06, 0x00009880,
- 0x81502a06, 0x00001000, 0x80067a05, 0x00009582, 0x0000157c, 0x0000f033,
- 0x05800702, 0x0000019c, 0x05009000, 0x0000f900, 0x0000c200, 0x00000980,
- 0x05400000, 0x00007900, 0x00010000, 0x00000980, 0xc0001817, 0x0000e806,
- 0x00982eec, 0x0000df80, 0x00005000, 0x00000084, 0x84f82005, 0x0000a000,
- 0x03000003, 0x00006180, 0x04ca0005, 0x0000c980, 0x04800000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x03400002, 0x000080f8, 0x03c00000, 0x000081c0,
- 0x04400000, 0x00006180, 0xc3280500, 0x0000c900, 0xc4d02204, 0x00001900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009018ec, 0x0000d780, 0x00007800, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xffffffff, 0x00007f86,
- 0x00c002ec, 0x0000df80, 0x114ba00b, 0x00001684, 0x03000000, 0x00006180,
- 0x06002004, 0x0000c900, 0x06783705, 0x00000128, 0x06f84707, 0x00008130,
- 0x07785709, 0x00000138, 0x07f8270b, 0x00008108, 0x04783705, 0x00008100,
- 0x159b13bc, 0x0000f500, 0x03f84707, 0x00008038, 0x03384c0a, 0x00008034,
- 0x05800702, 0x0000019c, 0x05009000, 0x0000f900, 0x0000c2c0, 0x00000980,
- 0x05400000, 0x00007900, 0x00010000, 0x00000980, 0xc0001817, 0x0000e806,
- 0x00982eec, 0x0000df80, 0x00005000, 0x00000084, 0x03000000, 0x00006180,
- 0x06002004, 0x0000c900, 0x06783705, 0x00000128, 0x06f84707, 0x00008130,
- 0x07785709, 0x00000138, 0x07f8270b, 0x00008104, 0x04383705, 0x0000803c,
- 0x15ad1257, 0x00007500, 0x03b84707, 0x00000034, 0x02e05709, 0x00008030,
- 0x05800702, 0x0000019c, 0x05009000, 0x0000f900, 0x0000c240, 0x00008980,
- 0x05400000, 0x00007900, 0x00010000, 0x00000980, 0xc0001817, 0x0000e806,
- 0x00982eec, 0x0000df80, 0x00005000, 0x00000084, 0x8c512224, 0x0000e100,
- 0x00214805, 0x0000e086, 0x01f12624, 0x0000e101, 0x82294805, 0x00006086,
- 0x02812825, 0x0000e100, 0x04194805, 0x0000e187, 0x02393705, 0x00000024,
- 0x1b037800, 0x0000f900, 0x001a85c2, 0x00000980, 0x09c00000, 0x00006180,
- 0x1bc14028, 0x0000c900, 0x09000000, 0x000082d4, 0x1b800708, 0x00008298,
- 0xffffffff, 0x0000ffd7, 0x82c034ec, 0x00007902, 0x01000000, 0x00000604,
- 0xffffffff, 0x00007fa7, 0x01003006, 0x00001900, 0x01802004, 0x0000e100,
- 0x00002004, 0x0000e586, 0x1b403006, 0x00006100, 0x04294804, 0x0000e087,
- 0x15ce114d, 0x0000f500, 0x86214804, 0x0000e887, 0x1ac02004, 0x00001900,
- 0x00001c29, 0x00001583, 0x00002c29, 0x00001583, 0x00000c29, 0x00009583,
- 0x00001606, 0x0000f008, 0x00001606, 0x0000f008, 0x000015f9, 0x0000f010,
- 0x15d7151b, 0x0000f404, 0x0db95f2a, 0x00008324, 0x0e009d00, 0x00001980,
- 0x00000434, 0x00001583, 0x817f1fe3, 0x00009908, 0x84c02805, 0x0000a088,
- 0x000015e0, 0x00007010, 0xffffffff, 0x00007f97, 0x01403c05, 0x00001281,
- 0x01401405, 0x00001181, 0x00000c05, 0x00001583, 0x000015e5, 0x0000f01b,
- 0x0244e000, 0x0000f900, 0x002b3dfe, 0x00008980, 0x15e516a8, 0x0000f500,
- 0x01b95f2a, 0x00008014, 0x0221a434, 0x00001900, 0x35805e33, 0x00007902,
- 0x02000000, 0x00008000, 0x35f83233, 0x00002080, 0x35f82c33, 0x00002080,
- 0x03800000, 0x000080fc, 0x35b89433, 0x00003038, 0x04000000, 0x000081c4,
- 0x05000000, 0x00006180, 0x0020280f, 0x0000e000, 0x05400000, 0x000001d8,
- 0x05c00000, 0x000001e0, 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0,
- 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8,
- 0x00001606, 0x0000f400, 0x08c00000, 0x0000e180, 0x0300580b, 0x0000c900,
- 0x03b84406, 0x00008034, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x02c0c000, 0x00007900, 0x002b3dfe, 0x00008980, 0x033a9000, 0x0000f900,
- 0x0016f7fa, 0x00008980, 0x03400000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x1606109e, 0x00007500, 0x02b94702, 0x00000020,
- 0x81c02800, 0x00006180, 0x01814829, 0x0000c900, 0x16071703, 0x00007004,
- 0x01c00000, 0x0000e180, 0x02c000c0, 0x0000c980, 0x00001807, 0x00006106,
- 0x0000180b, 0x00003106, 0x01009000, 0x00007900, 0x00010080, 0x00008980,
- 0x01400000, 0x0000f900, 0x00018008, 0x00000980, 0x02001000, 0x0000f900,
- 0x0001c000, 0x00000980, 0x001848ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xc0001807, 0x0000e006, 0xc000180b, 0x0000b006, 0x09800431, 0x000002b8,
- 0x0bc00000, 0x0000e180, 0x0b00500a, 0x00004900, 0x0b781709, 0x00008018,
- 0x02400000, 0x0000f900, 0x00048090, 0x00008980, 0x02801002, 0x00009900,
- 0x00880eec, 0x0000df80, 0x00885080, 0x000003c4, 0x80000625, 0x0000e583,
- 0x0e013026, 0x00008900, 0x02400000, 0x00006191, 0x0e413827, 0x0000c900,
- 0x0000165d, 0x0000f009, 0x01002e25, 0x00001080, 0x01000c0f, 0x0000e283,
- 0x38401404, 0x00000881, 0xffffffff, 0x00007f97, 0x00001684, 0x00007413,
- 0xffffffff, 0x00007f86, 0x0e820300, 0x0000f904, 0x0c612424, 0x0000801d,
- 0x162e1703, 0x00007404, 0x09400000, 0x000002d8, 0x09000000, 0x000002dc,
- 0x01009000, 0x00007900, 0x00014040, 0x00000980, 0x09800080, 0x00006180,
- 0x01c00006, 0x0000c980, 0x01800c0f, 0x00006283, 0x00001807, 0x0000a106,
- 0x01400000, 0x0000f900, 0x00018030, 0x00008980, 0x89918a31, 0x0000e100,
- 0xc1003800, 0x00004991, 0x00000409, 0x00006583, 0x01801002, 0x00000900,
- 0x00000408, 0x00001583, 0xffffffff, 0x00007f86, 0x00001645, 0x00007010,
- 0x00001645, 0x00007010, 0x000808ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x02000c0f, 0x00001283, 0x001078ec, 0x0000d790, 0x00005000, 0x00008080,
- 0x00984eec, 0x0000df80, 0x00905380, 0x000000c4, 0x02801002, 0x0000e100,
- 0x02c000c0, 0x0000c980, 0x0000180b, 0x0000e906, 0x02001000, 0x0000f900,
- 0x0001c000, 0x00000980, 0x02400000, 0x0000f900, 0x00048090, 0x00008980,
- 0xc000180b, 0x00006806, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009810ec, 0x0000d780, 0x00004801, 0x00000080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x000808ec, 0x0000d780, 0x00005000, 0x00008080, 0x02000c0f, 0x0000e283,
- 0xc9801000, 0x00008980, 0x001078ec, 0x0000d790, 0x00005000, 0x00008080,
- 0x00984eec, 0x0000df80, 0x00905380, 0x000000c4, 0x01000140, 0x0000e180,
- 0x8207fa25, 0x0000c280, 0x81280500, 0x0000e100, 0x01802208, 0x00004880,
- 0x01c09006, 0x00006002, 0x75e80004, 0x0000a101, 0x700200ec, 0x00005680,
- 0x003824c4, 0x00008010, 0x01380005, 0x00006180, 0x01800013, 0x00004084,
- 0x703838ec, 0x00005600, 0x00383000, 0x00008000, 0x04181004, 0x0000e987,
- 0x700200ec, 0x00005680, 0x003827c0, 0x00008078, 0x00c002ec, 0x0000df80,
- 0x1153700b, 0x00009684, 0xc0000724, 0x00009583, 0x04c10821, 0x0000e110,
- 0x04810020, 0x00004910, 0xffffffff, 0x00007ff7, 0xffffffff, 0x0000ffe7,
- 0x01000ce0, 0x00009283, 0x0000169d, 0x00007013, 0x823f1fe3, 0x00009900,
- 0x84c02008, 0x00002080, 0xffffffff, 0x00007fa7, 0x01003c04, 0x00001281,
- 0x01001404, 0x00001181, 0x00000c04, 0x00009583, 0x02400800, 0x00006199,
- 0x01403006, 0x0000c930, 0x02400000, 0x0000e1b1, 0x01803807, 0x0000c930,
- 0x00001623, 0x0000f018, 0x168416a8, 0x00007500, 0x027b3000, 0x00007900,
- 0x0021b41c, 0x00000980, 0x02000000, 0x00009980, 0x01013b31, 0x0000e080,
- 0x10800000, 0x00008980, 0x0010b004, 0x00006502, 0x10c00000, 0x00000980,
- 0x8f518a31, 0x0000e148, 0x0f018030, 0x0000c948, 0x0f819032, 0x00006148,
- 0x0fc19833, 0x0000c948, 0x00001690, 0x0000f040, 0x0000162a, 0x00007400,
- 0x1039af34, 0x00000404, 0x10a98c36, 0x00008334, 0x01000000, 0x0000e180,
- 0x00000842, 0x00006487, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x8f518a31, 0x0000e100, 0x04115004, 0x0000e187, 0x700008ec, 0x00005680,
- 0x00382002, 0x00008000, 0x0f399730, 0x00000338, 0x0ff9a733, 0x00000400,
- 0x0000162a, 0x00007400, 0x10698f35, 0x00008334, 0x9091b236, 0x00001900,
- 0x169e10f7, 0x00007100, 0xffffffff, 0x00007f86, 0x00000497, 0x0000e583,
- 0x0264bc97, 0x00008901, 0x0224bc97, 0x0000e110, 0x01403006, 0x00004910,
- 0x027b3000, 0x0000f910, 0x0021b41c, 0x00000980, 0x00001675, 0x00007008,
- 0x16a816a8, 0x0000f300, 0x01803807, 0x00009900, 0x0107f808, 0x00006280,
- 0x09c04809, 0x00000900, 0x16ad112b, 0x0000f500, 0x09b82f06, 0x00000214,
- 0x08802004, 0x00009900, 0x00400e00, 0x00004589, 0x01601600, 0x0000008d,
- 0x01000000, 0x000080d4, 0x04115004, 0x0000e187, 0x04300005, 0x00003007,
- 0x000016c4, 0x00007400, 0x703828ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x02ff8000, 0x0000f900, 0x0034e782, 0x00000980,
- 0x031a3800, 0x0000f900, 0x001d89a4, 0x00008980, 0x02000000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x01800000, 0x000080f4, 0x16c4109e, 0x0000f500,
- 0x82600500, 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900,
- 0xffc00000, 0x00006180, 0x02c000c0, 0x0000c980, 0x02801002, 0x0000e100,
- 0x0000180b, 0x00006106, 0x02001000, 0x0000f900, 0x00004000, 0x00000980,
- 0x02400000, 0x0000f900, 0x00040110, 0x00000980, 0xc000180b, 0x00006806,
- 0x008816ec, 0x0000df80, 0x00004800, 0x00000084, 0x821722e4, 0x0000e100,
- 0x01001b0e, 0x0000c880, 0x0c006004, 0x00006002, 0x01000100, 0x00008980,
- 0x02c0000d, 0x00006084, 0x81280500, 0x00000900, 0x75e80004, 0x0000e901,
- 0x700040ec, 0x00005680, 0x003824c4, 0x00008010, 0x01380005, 0x00001980,
- 0x703980ec, 0x0000d600, 0x00385800, 0x00000000, 0x04181004, 0x0000e987,
- 0x700040ec, 0x00005680, 0x003827c0, 0x00008078, 0x00c002ec, 0x0000df80,
- 0x1157000b, 0x00009684, 0x81000b0e, 0x0000e080, 0x017f1fe3, 0x00008901,
- 0x80107204, 0x00006502, 0xc3800b0e, 0x00000080, 0xc3800000, 0x00001988,
- 0xffffffff, 0x00007ff7, 0xffffffff, 0x0000ffd7, 0x01000ce0, 0x00009283,
- 0x000016f8, 0x00007013, 0x89202c05, 0x00001900, 0x84c02824, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x01403c05, 0x00001281, 0x01401405, 0x00001181,
- 0x00000c05, 0x00001583, 0xb9104208, 0x00006118, 0x09000000, 0x0000c9b1,
- 0x01818030, 0x0000e130, 0x0140580b, 0x0000c930, 0x027a9800, 0x00007930,
- 0x0034e782, 0x00000980, 0x02212424, 0x00001930, 0x00000000, 0x0000709b,
- 0x16f816a8, 0x00007100, 0x16f910f7, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000497, 0x00001583, 0x01818030, 0x00006110, 0x0140580b, 0x00004910,
- 0x027a9800, 0x0000f910, 0x0034e782, 0x00000980, 0x000016e9, 0x00007008,
- 0x170216a8, 0x00007300, 0x0224bc97, 0x00001900, 0x00000000, 0x00007080,
- 0x00000407, 0x0000e583, 0xc21722e4, 0x00008900, 0x8143fa31, 0x0000e288,
- 0x02000000, 0x00008981, 0x01402a05, 0x00009888, 0x0000170d, 0x0000f010,
- 0x00000000, 0x0000f480, 0x09008005, 0x00006002, 0x0100f805, 0x00008784,
- 0x09408804, 0x00001004, 0x170e16cf, 0x00007004, 0xb9184308, 0x00006100,
- 0x8143fa31, 0x0000c280, 0x02000800, 0x0000e181, 0x01402a05, 0x00004880,
- 0x09008005, 0x00006002, 0x0100f805, 0x00008784, 0x09408804, 0x00001004,
- 0x00000000, 0x00007083, 0x00000804, 0x00009582, 0x700000ec, 0x00005688,
- 0x00000040, 0x00000080, 0x01000000, 0x00001988, 0x0000171e, 0x00007010,
- 0x04105004, 0x0000e987, 0x700008ec, 0x00005680, 0x00382002, 0x00008000,
- 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x1bc02004, 0x0000e100, 0x0020280a, 0x00006086,
- 0x8228280a, 0x00006886, 0x0418280a, 0x0000e987, 0x02c0500a, 0x00001900,
- 0x1b040000, 0x00007900, 0x00336e6e, 0x00008980, 0x1b80580b, 0x00001900,
- 0xffffffff, 0x00007ff7, 0x82c04cec, 0x00007902, 0x02000000, 0x00000604,
- 0xffffffff, 0x00007fa7, 0x02804809, 0x0000e100, 0x00002008, 0x0000e586,
- 0x1b40500a, 0x00006100, 0x04282808, 0x00006087, 0x1735114d, 0x0000f500,
- 0x86202808, 0x00006887, 0x1ac04008, 0x00001900, 0x00001405, 0x00001583,
- 0x00002405, 0x00001583, 0xffffffff, 0x00007f86, 0x00001749, 0x0000f008,
- 0x00001749, 0x0000f008, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x01802004, 0x0000e100, 0x08001a09, 0x0000e106, 0x02c60000, 0x00007900,
- 0x00336e6e, 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x03400000, 0x0000e180, 0xc2700600, 0x00004901, 0x82781400, 0x00000028,
- 0x1749109e, 0x00007500, 0x81c02800, 0x00006180, 0x02003006, 0x00004900,
- 0x01802805, 0x00009900, 0x02c00000, 0x0000e180, 0x02801002, 0x0000c900,
- 0x02009000, 0x00007900, 0x000080c0, 0x00000980, 0x02400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x03002004, 0x0000e100, 0xc000180b, 0x0000e006,
- 0x03783705, 0x00000038, 0x03c03807, 0x00009900, 0x009016ec, 0x0000df80,
- 0x00005000, 0x00000084, 0x8f8032ec, 0x00007902, 0x01400000, 0x00008004,
- 0x02000000, 0x000000ec, 0x8f82d408, 0x00007902, 0x16400000, 0x00008004,
- 0xffffffff, 0x00007fa7, 0x1642c85a, 0x00006000, 0x01c2c85a, 0x00008000,
- 0x01155007, 0x00007900, 0x002aaaaa, 0x00008280, 0x02800804, 0x00009780,
- 0x0000000a, 0x00009582, 0x01402408, 0x00001891, 0x00001797, 0x00007009,
- 0x01c0500a, 0x00009b00, 0x02400807, 0x00009780, 0x01204c05, 0x00009001,
- 0x1c480000, 0x00007900, 0x00010000, 0x00000980, 0x2c00d404, 0x00001680,
- 0x810588b0, 0x00001000, 0x91048604, 0x00007902, 0x23c00000, 0x00000004,
- 0x917c7004, 0x0000a084, 0x91446c04, 0x00007902, 0x23000000, 0x00000004,
- 0x917a3604, 0x0000a004, 0x1c204c05, 0x00006001, 0x81c00a90, 0x00000880,
- 0x8ff8e404, 0x0000b03c, 0x8ff8f604, 0x0000b03c, 0x90390004, 0x0000b03c,
- 0x90391204, 0x0000b03c, 0x90392404, 0x0000b03c, 0x90393604, 0x0000b03c,
- 0x90794004, 0x0000b03c, 0x90795204, 0x0000b03c, 0x90796404, 0x0000b03c,
- 0x90797604, 0x0000b03c, 0x90b98004, 0x0000b03c, 0x90b99204, 0x0000b03c,
- 0x90b9a404, 0x0000b03c, 0x90b9b604, 0x0000b03c, 0x90f9c004, 0x0000b03c,
- 0x90f9d204, 0x0000b03c, 0x90f9e404, 0x0000b03c, 0x90f9f604, 0x0000b03c,
- 0x913a0004, 0x0000303c, 0x913a1204, 0x0000303c, 0x178b17ab, 0x00007500,
- 0x67453e07, 0x00007902, 0x29800000, 0x00008004, 0x67852807, 0x0000f902,
- 0x29000000, 0x00000004, 0x677d3e07, 0x00005004, 0x003d3000, 0x00008000,
- 0x67bd2807, 0x0000d004, 0x003d2000, 0x00000000, 0x01c00809, 0x0000e080,
- 0x01001800, 0x0000c980, 0x01c03804, 0x00009800, 0x010038e5, 0x00009400,
- 0x0280200a, 0x0000e202, 0x1642c804, 0x00000200, 0x1682d004, 0x00009200,
- 0x00001763, 0x0000f011, 0x8fbad408, 0x00005004, 0x003ac800, 0x00008000,
- 0x02000808, 0x00006080, 0x01c2d00b, 0x00000300, 0x00002008, 0x00006582,
- 0x02c2d00b, 0x00000300, 0x00001758, 0x0000f013, 0x00000007, 0x00001582,
- 0x00000005, 0x00006c8e, 0x8fb832ec, 0x0000d00c, 0x00382800, 0x00008000,
- 0x000017a5, 0x00007010, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x713830ec, 0x00005600, 0x00001248, 0x00008080, 0x100048ec, 0x0000d680,
- 0x00000000, 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0xc5000f46, 0x0000e283, 0x20800000, 0x00000981, 0x09000000, 0x0000e190,
- 0x09400000, 0x00004990, 0x09800000, 0x00006190, 0x09c00000, 0x0000c990,
- 0x0a000000, 0x0000e190, 0x05c00008, 0x0000c980, 0x40000571, 0x00006583,
- 0x06400000, 0x00000980, 0x20800800, 0x0000e191, 0x00001817, 0x0000e106,
- 0x05400000, 0x00007900, 0x00018030, 0x00008980, 0x00000482, 0x00006583,
- 0x05801002, 0x00008900, 0x05009000, 0x0000f900, 0x00010500, 0x00000980,
- 0x06800000, 0x000081ec, 0x000017c9, 0x0000f408, 0x061b84a7, 0x00000121,
- 0x46138a46, 0x00000126, 0x0584788f, 0x00006100, 0x00000017, 0x00006506,
- 0x000818ec, 0x00005780, 0x00005000, 0x00008080, 0x03000804, 0x00006180,
- 0x03400000, 0x0000c980, 0x03e70040, 0x0000e180, 0x03800000, 0x0000c980,
- 0xd1953ba5, 0x00001202, 0x1c400000, 0x00006191, 0x24401aa5, 0x00004888,
- 0x04020800, 0x00006188, 0x04400100, 0x00004988, 0x000017df, 0x0000f010,
- 0x800002a5, 0x00006582, 0x84581302, 0x00008900, 0x1c400800, 0x00006181,
- 0x0e453492, 0x0000e008, 0x24800c92, 0x00009489, 0x24446891, 0x0000e002,
- 0x71e490a6, 0x00002008, 0xa4800aa5, 0x0000e080, 0x1180008c, 0x00000084,
- 0xc014938e, 0x0000e502, 0x04848891, 0x00000900, 0x000820ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x04c23046, 0x00006100, 0xa9400aa5, 0x00004090,
- 0xa9400000, 0x00001988, 0x40002522, 0x0000e583, 0x0e453492, 0x0000a000,
- 0x91800aa7, 0x00006080, 0x0e453519, 0x00002000, 0xa9c00aa7, 0x00006080,
- 0x24800000, 0x000089b1, 0x000017fe, 0x00007030, 0x919d2a46, 0x00009202,
- 0x24800000, 0x0000e191, 0x04020800, 0x00004988, 0x04400100, 0x00001988,
- 0x000017fc, 0x00007010, 0x800002a5, 0x00006582, 0x84581302, 0x00008900,
- 0x24400800, 0x00001989, 0xa4400aa5, 0x0000e080, 0x24a49491, 0x00000109,
- 0x24801aa5, 0x0000e080, 0x71e490a6, 0x0000e008, 0x23446892, 0x00006002,
- 0xa9400aa5, 0x00000080, 0x1180008c, 0x00006084, 0x24800800, 0x00000981,
- 0xc0148b8e, 0x0000e502, 0x0484688d, 0x00000900, 0x000820ec, 0x0000d780,
- 0x00005000, 0x00008080, 0xa9400000, 0x00006188, 0x04c23046, 0x00004900,
- 0xa9c00aa7, 0x00006080, 0x0e453619, 0x00002000, 0x00000482, 0x00009583,
- 0x00001805, 0x0000700b, 0x11a38c92, 0x00009303, 0x0300400c, 0x0000e390,
- 0x845c7b8f, 0x00000910, 0x0302000c, 0x0000e390, 0x04004010, 0x00008390,
- 0x80000a21, 0x00001582, 0x00001810, 0x00007033, 0xd1801f22, 0x00009283,
- 0x000048ec, 0x00005788, 0x00005001, 0x00000080, 0x000048ec, 0x00005790,
- 0x00905341, 0x00000280, 0xc5002714, 0x0000e089, 0xc5004714, 0x00008091,
- 0x10c00000, 0x00006190, 0x10800000, 0x0000c990, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780,
- 0x009051c0, 0x00008180, 0x9704788e, 0x00007902, 0x23400000, 0x00000000,
- 0x9704668e, 0x00007902, 0x11800000, 0x00008000, 0xa4402a8e, 0x00006080,
- 0xa4800f90, 0x00000780, 0xa9000ea4, 0x00001181, 0x23c47a21, 0x00009002,
- 0x23046320, 0x00006002, 0x2340008d, 0x00000084, 0x973c668e, 0x00002880,
- 0x96fc6091, 0x0000a080, 0x11800046, 0x00009084, 0x973a368e, 0x0000a800,
- 0x96fa3091, 0x00002000, 0x2300088c, 0x00001082, 0x973c788e, 0x0000d000,
- 0x003c6800, 0x00008000, 0x96fc6091, 0x00002880, 0x0000fc70, 0x00006583,
- 0x11800046, 0x00000084, 0x96fa3091, 0x0000a800, 0x11800000, 0x00007900,
- 0x00080000, 0x00000980, 0x24410470, 0x00006198, 0x04238046, 0x0000a087,
- 0x800000ec, 0x00005780, 0x003a3000, 0x00000000, 0x8f8460ec, 0x00007902,
- 0x11800000, 0x00000004, 0x246387e4, 0x00006030, 0x24448fe4, 0x0000c818,
- 0xffffffff, 0x00007f97, 0x23046091, 0x0000e330, 0x11823091, 0x00008318,
- 0xffffffff, 0x00007f86, 0x8fbc60ec, 0x00005004, 0x003a3000, 0x00000000,
- 0x11800f90, 0x00009281, 0x00000446, 0x00001583, 0xf7fc6492, 0x00002014,
- 0xf7fc6492, 0x0000a08c, 0x00000446, 0x00001583, 0xffffffff, 0x00007f97,
- 0xa3000e8c, 0x00009081, 0xf7fc6492, 0x0000a814, 0xf7fc6492, 0x0000288c,
- 0x80000671, 0x00009583, 0x11807c70, 0x0000e291, 0x0f038291, 0x0000a016,
- 0x11800c46, 0x00006090, 0xa4800a91, 0x00004090, 0x00001853, 0x00007008,
- 0x8f82d292, 0x00007902, 0x16400000, 0x00008004, 0x24401800, 0x00009980,
- 0x11823091, 0x00009800, 0x118230e5, 0x00009400, 0x1682d046, 0x00006200,
- 0x1642c846, 0x00000200, 0x8fbad292, 0x00005004, 0x003ac800, 0x00008000,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000001, 0x0000f080,
- 0x8f8060ec, 0x0000f902, 0x12000000, 0x00008004, 0x1c400000, 0x0000f900,
- 0x00004040, 0x00008980, 0x91000400, 0x000084d4, 0x5c62544a, 0x00009901,
- 0x11c060e5, 0x00009400, 0x27400047, 0x0000788a, 0x00c00001, 0x00000080,
- 0x03823847, 0x00009b00, 0x0382280e, 0x0000e000, 0x124077e4, 0x00000800,
- 0x11c24847, 0x00009400, 0x2c00d20e, 0x00001680, 0x924588b0, 0x00001000,
- 0x91386649, 0x00002084, 0xffffffff, 0x00007fa7, 0x1240604b, 0x00009200,
- 0x00426749, 0x0000c509, 0xff600047, 0x00008392, 0x2c00d40e, 0x00001680,
- 0x834588b0, 0x00001000, 0x917c700d, 0x0000a084, 0x1c20740e, 0x0000e101,
- 0x92400a0c, 0x0000c880, 0x9104860d, 0x00007902, 0x23c00000, 0x00000004,
- 0x91446c0d, 0x00007902, 0x23000000, 0x00000004, 0x4000054a, 0x0000e583,
- 0x8380328e, 0x00000080, 0x917a360d, 0x0000a004, 0x8ff8e40d, 0x0000b03c,
- 0x8ff8f60d, 0x0000b03c, 0x9039000d, 0x0000b03c, 0x9039120d, 0x0000b03c,
- 0x9039240d, 0x0000b03c, 0x9039360d, 0x0000b03c, 0x9079400d, 0x0000b03c,
- 0x9079520d, 0x0000b03c, 0x9079640d, 0x0000b03c, 0x9079760d, 0x0000b03c,
- 0x90b9800d, 0x0000b03c, 0x90b9920d, 0x0000b03c, 0x90b9a40d, 0x0000b03c,
- 0x90b9b60d, 0x0000b03c, 0x90f9c00d, 0x0000b03c, 0x90f9d20d, 0x0000b03c,
- 0x90f9e40d, 0x0000b03c, 0x90f9f60d, 0x0000b03c, 0x913a000d, 0x0000303c,
- 0x913a120d, 0x0000303c, 0x96c0680e, 0x00007902, 0x03000000, 0x00000000,
- 0x67453e49, 0x0000f912, 0x29800000, 0x00008004, 0x67852849, 0x00007912,
- 0x29000000, 0x00000004, 0x51000d44, 0x00009081, 0x0340080d, 0x00001082,
- 0x189617ab, 0x00007500, 0x0300000c, 0x00009084, 0x96f8680e, 0x0000d000,
- 0x00386000, 0x00008000, 0x4000054a, 0x00001583, 0x677d3e49, 0x0000d014,
- 0x003d3000, 0x00008000, 0x67bd2849, 0x00005014, 0x003d2000, 0x00000000,
- 0x17c00047, 0x0000f892, 0x00c00001, 0x00000080, 0x11c240e5, 0x00006400,
- 0x11410045, 0x00000080, 0x00020045, 0x00009582, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x0000189b, 0x0000f010, 0x00000001, 0x0000f080,
- 0x94b860ec, 0x00003838, 0x94b872ec, 0x00003838, 0x94b884ec, 0x00003838,
- 0x94b896ec, 0x00003838, 0x94f8a0ec, 0x0000b838, 0x94f8b2ec, 0x0000b838,
- 0x94f8c4ec, 0x00003838, 0x94f8d6ec, 0x00003838, 0x9538e0ec, 0x0000b838,
- 0x9538f2ec, 0x0000b838, 0x953904ec, 0x00003838, 0x953916ec, 0x00003838,
- 0x957920ec, 0x0000b838, 0x957932ec, 0x0000b838, 0x957944ec, 0x00003838,
- 0x957956ec, 0x00003838, 0x95b960ec, 0x00003838, 0x95b972ec, 0x00003838,
- 0x95b984ec, 0x00003838, 0x95b996ec, 0x00003838, 0x95f9a0ec, 0x0000b838,
- 0x95f9b2ec, 0x0000b838, 0x95f9c4ec, 0x00003838, 0x95f9d6ec, 0x00003838,
- 0x9639e0ec, 0x00003838, 0x9639f2ec, 0x00003838, 0x18c11856, 0x00007500,
- 0x963a04ec, 0x00003838, 0x963a16ec, 0x00003838, 0x94b860ec, 0x0000b038,
- 0x94b872ec, 0x0000b038, 0x94b884ec, 0x0000b038, 0x94b896ec, 0x0000b038,
- 0x94f8a0ec, 0x00003038, 0x94f8b2ec, 0x00003038, 0x94f8c4ec, 0x0000b038,
- 0x94f8d6ec, 0x0000b038, 0x9538e0ec, 0x00003038, 0x9538f2ec, 0x00003038,
- 0x953904ec, 0x0000b038, 0x953916ec, 0x0000b038, 0x957920ec, 0x00003038,
- 0x957932ec, 0x00003038, 0x957944ec, 0x0000b038, 0x957956ec, 0x0000b038,
- 0x95b960ec, 0x0000b038, 0x95b972ec, 0x0000b038, 0x95b984ec, 0x0000b038,
- 0x95b996ec, 0x0000b038, 0x95f9a0ec, 0x00003038, 0x95f9b2ec, 0x00003038,
- 0x95f9c4ec, 0x0000b038, 0x95f9d6ec, 0x0000b038, 0x9639e0ec, 0x0000b038,
- 0x9639f2ec, 0x0000b038, 0x00000001, 0x00007480, 0x963a04ec, 0x0000b038,
- 0x963a16ec, 0x0000b038, 0x01800000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x81a87107, 0x00008020, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x02fd3000, 0x0000f900, 0x00229912, 0x00008980, 0x03370800, 0x0000f900,
- 0x00264106, 0x00000980, 0x02280404, 0x00000026, 0x82781400, 0x00000028,
- 0x18ec109e, 0x00007500, 0x0340e705, 0x00008018, 0x81c06000, 0x00001980,
- 0x67852810, 0x0000f902, 0x29000000, 0x00000004, 0x67453e10, 0x00007902,
- 0x29800000, 0x00008004, 0xffffffff, 0x00007f97, 0x800006a4, 0x00001583,
- 0x513526a4, 0x00006109, 0x13000000, 0x00004990, 0x12d72ae5, 0x00006110,
- 0x92800000, 0x0000c990, 0x000018f9, 0x00007008, 0x18f918a4, 0x00007300,
- 0x9330200e, 0x0000842d, 0x8fb822ec, 0x00002004, 0xffffffff, 0x00007fa7,
- 0x00000404, 0x00001583, 0x8f8038ec, 0x0000f912, 0x01800000, 0x00008004,
- 0x00001909, 0x00007009, 0xffffffff, 0x00007f86, 0x00072806, 0x00009502,
- 0x00072807, 0x00001502, 0xffffffff, 0x00007f86, 0x00001909, 0x0000f010,
- 0x00001909, 0x0000f010, 0x710000ec, 0x00005680, 0x00001000, 0x00000080,
- 0x00000004, 0x00006c86, 0x8fb822ec, 0x0000a804, 0x00000001, 0x00007480,
- 0x677d3e10, 0x00005004, 0x003d3000, 0x00008000, 0x67bd2810, 0x0000d004,
- 0x003d2000, 0x00000000, 0x0107f808, 0x00006280, 0x09c0580b, 0x00000900,
- 0x1913112b, 0x0000f500, 0x09b84f0a, 0x00000214, 0x08802004, 0x00009900,
- 0xffc00000, 0x00006180, 0x02c00040, 0x00004980, 0x02801002, 0x0000e100,
- 0x0000180b, 0x00006106, 0x02001000, 0x0000f900, 0x0000c000, 0x00008980,
- 0x02400000, 0x0000f900, 0x0004a590, 0x00000980, 0xc000180b, 0x00006806,
- 0x009816ec, 0x00005f80, 0x00004800, 0x00000084, 0x8000062c, 0x0000e583,
- 0x01400000, 0x00008980, 0x0100c800, 0x00006191, 0x0100c000, 0x0000c989,
- 0xc75722e4, 0x0000e100, 0x81680500, 0x00004900, 0x01380005, 0x00006180,
- 0x04202005, 0x00006085, 0x023f8018, 0x0000f900, 0x00000002, 0x00008082,
- 0x01c0000b, 0x00006084, 0x75e80005, 0x00002101, 0x700040ec, 0x00005680,
- 0x00382cc4, 0x00000010, 0x04181004, 0x0000e987, 0x703840ec, 0x00005600,
- 0x00383800, 0x00000000, 0x700040ec, 0x00005680, 0x003827c0, 0x00008078,
- 0x00c002ec, 0x0000df80, 0x1189980b, 0x00001684, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x01000ce0, 0x00009283, 0x0000194b, 0x0000f00b,
- 0x194710f7, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000497, 0x0000e583,
- 0x0124bc97, 0x00000901, 0x00001953, 0x0000f013, 0x817f1fe3, 0x00001900,
- 0x84c02005, 0x0000a080, 0xffffffff, 0x00007fa7, 0x01003c04, 0x00001281,
- 0x01001404, 0x00001181, 0x00000c04, 0x00009583, 0x01000000, 0x000019b1,
- 0x00001958, 0x00007019, 0x02c57000, 0x0000f900, 0x00229916, 0x00000980,
- 0x1958190e, 0x0000f500, 0x02b83f08, 0x00000024, 0x02202404, 0x00001900,
- 0x8000062c, 0x0000e583, 0x024ff900, 0x00008980, 0x0680c018, 0x00006100,
- 0xb2e0d809, 0x0000e000, 0x0640580b, 0x00006100, 0x06019032, 0x00004910,
- 0x06018030, 0x00006108, 0x02c19833, 0x0000c910, 0x02c18831, 0x0000e108,
- 0x01001a2a, 0x00004880, 0x0000041b, 0x00006583, 0x02800000, 0x00008980,
- 0x09c04000, 0x0000e180, 0x0018e009, 0x0000e110, 0x09800800, 0x00006180,
- 0x9268e009, 0x0000e012, 0x8000062c, 0x0000e583, 0x82981302, 0x00008900,
- 0x01400272, 0x00006188, 0x01400274, 0x00004990, 0x196f1241, 0x0000f501,
- 0x09002005, 0x00001000, 0x0a012024, 0x00009900, 0x7838d0ec, 0x0000d600,
- 0x0038c800, 0x00000000, 0x7838c0ec, 0x00005600, 0x00385800, 0x00000000,
- 0x783850ec, 0x00005600, 0x00384800, 0x00008000, 0x780000ec, 0x00005680,
- 0x00000000, 0x00008080, 0x00c002ec, 0x0000df80, 0x118bc80b, 0x00009684,
- 0xb918eb1d, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0xc1505309, 0x00001202, 0x08400100, 0x00006188, 0x08020800, 0x00004988,
- 0x88581302, 0x00009908, 0x00001990, 0x0000f010, 0x80000209, 0x00009582,
- 0x0e41a405, 0x00006808, 0x01400c05, 0x00009489, 0x01401a09, 0x00006080,
- 0x71e02834, 0x0000e008, 0x02006005, 0x00009002, 0x08804008, 0x0000e100,
- 0x0140000d, 0x00004084, 0x81400a09, 0x00006080, 0x08c02805, 0x00008900,
- 0x80107205, 0x00001502, 0x000840ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x82400000, 0x00006188, 0x82400a09, 0x00004090, 0x00000001, 0x00007280,
- 0x82800a0a, 0x00009080, 0x81800000, 0x0000e180, 0x0020a807, 0x00006086,
- 0x1bc0a014, 0x0000e100, 0x8228a807, 0x0000e086, 0x0418a807, 0x0000e987,
- 0x02003807, 0x00001900, 0x1b182800, 0x0000f900, 0x00229912, 0x00008980,
- 0x1b804008, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01c02805, 0x00006100,
- 0x00002004, 0x0000e586, 0x1b403807, 0x00006100, 0x0428a804, 0x0000e087,
- 0x19a6114d, 0x00007500, 0x8620a804, 0x0000e887, 0x1ac02004, 0x00001900,
- 0x00002c15, 0x00001583, 0x00004c15, 0x00001583, 0x00002415, 0x00009583,
- 0x00001ab9, 0x00007008, 0x00001a73, 0x00007008, 0x00001ae0, 0x00007010,
- 0x02e028ec, 0x00002180, 0xffffffff, 0x00007fa7, 0x80000205, 0x00009582,
- 0x02c1b8ec, 0x00002192, 0x0a400800, 0x0000e188, 0x0a038955, 0x00004988,
- 0x000019c0, 0x0000f010, 0x19b71221, 0x00007404, 0x09800800, 0x0000f900,
- 0x00004000, 0x00000980, 0x09c00000, 0x00001980, 0x81402d00, 0x00001880,
- 0x35b82405, 0x00002080, 0x02c008ec, 0x00005181, 0x00400000, 0x00008000,
- 0xffffffff, 0x00007f97, 0x014027e4, 0x00001800, 0x01401805, 0x00001784,
- 0x02c828ec, 0x00002982, 0x8dd02a05, 0x00009900, 0x19c3151b, 0x0000f404,
- 0x0db8bf16, 0x00008324, 0x0e009f00, 0x00009980, 0x00000434, 0x00001583,
- 0x817f1fe3, 0x00009908, 0x84c02805, 0x0000a088, 0x000019cc, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x01403c05, 0x00001281, 0x01401405, 0x00001181,
- 0x00000c05, 0x00001583, 0x000019d1, 0x0000701b, 0x02de4000, 0x0000f900,
- 0x00229912, 0x00008980, 0x00001a8e, 0x0000f400, 0x02b8bf16, 0x00008024,
- 0x0221a434, 0x00001900, 0x35c02c33, 0x0000f902, 0x01000000, 0x00008000,
- 0x35815c33, 0x00007902, 0x02400000, 0x00000000, 0x35804633, 0x00007902,
- 0x0a800000, 0x00008000, 0x35c0f833, 0x0000f902, 0x07800000, 0x00000000,
- 0x03002805, 0x0000e100, 0x04800020, 0x0000c980, 0x04c00000, 0x0000e180,
- 0x0e00ec05, 0x0000e002, 0x35c03a33, 0x00007902, 0x06c00000, 0x00000000,
- 0x35c0c633, 0x00007902, 0x02c00000, 0x00008000, 0x36017033, 0x00007902,
- 0x0b400000, 0x00000000, 0x03415f04, 0x0000803a, 0xc3915a2b, 0x00006100,
- 0x84000a2b, 0x0000c880, 0xc3d04a09, 0x0000e100, 0xc469552a, 0x0000c900,
- 0x81400a2b, 0x00006080, 0x83e02a09, 0x0000c100, 0x3f820237, 0x0000c291,
- 0xe021fd2a, 0x000006b3, 0x3f810237, 0x0000c291, 0xe0237d2a, 0x000006b3,
- 0x3e008237, 0x00004991, 0xf8267d2a, 0x000006b3, 0x01400000, 0x00006180,
- 0x01c00020, 0x00004980, 0x02c05000, 0x00007900, 0x00229914, 0x00008980,
- 0x03172800, 0x0000f900, 0x000248f8, 0x00008980, 0xc1a9552a, 0x0000e100,
- 0x81915a2b, 0x00004900, 0x00001a1f, 0x00007400, 0x03400000, 0x0000e180,
- 0x8151ba37, 0x00004900, 0x81c07800, 0x00001980, 0x4000852a, 0x00006583,
- 0x8240252a, 0x00008880, 0x8480252a, 0x000060b0, 0x0280852a, 0x0000c198,
- 0x01008237, 0x00009198, 0x00001a05, 0x00007030, 0x2c105204, 0x00009600,
- 0x810588b0, 0x00001000, 0x84904a04, 0x00009000, 0xc4809000, 0x0000e181,
- 0xc418db1b, 0x00004900, 0x84d8f408, 0x0000010e, 0x460004e3, 0x00004489,
- 0x4a200407, 0x00008694, 0x42820237, 0x0000c191, 0x00217de3, 0x00000098,
- 0x42837f1e, 0x0000c699, 0x50210237, 0x00008694, 0x00c2fde3, 0x0000c598,
- 0x01a17f1e, 0x000000b3, 0x42808237, 0x0000c491, 0x2825fde3, 0x0000869c,
- 0x8a007f1e, 0x000078b2, 0x00c00001, 0x00000080, 0x01400000, 0x00006180,
- 0x01c00020, 0x00004980, 0x02db6000, 0x00007900, 0x00229914, 0x00008980,
- 0x03021800, 0x00007900, 0x0015dd5e, 0x00008980, 0x81a15937, 0x00000018,
- 0x03400000, 0x0000e180, 0x016f1de3, 0x00004901, 0x81c08000, 0x0000e180,
- 0x4178f71e, 0x0000c901, 0xc1c00800, 0x0000e181, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x00001aed, 0x0000f400, 0x02b83702, 0x00000020,
- 0x01802805, 0x00009900, 0x00001a33, 0x0000f200, 0x84416a05, 0x0000f900,
- 0x00000008, 0x00000080, 0xc4f8f71e, 0x0000e101, 0x09c0f005, 0x00006084,
- 0x8113a205, 0x0000f900, 0x00000002, 0x00000080, 0x2c2f1a37, 0x00009600,
- 0x814588b0, 0x00009000, 0x00001a33, 0x0000f200, 0x84502a04, 0x00009000,
- 0xc4e15c2b, 0x0000e101, 0x0fc15805, 0x0000e184, 0x8441fa05, 0x00001080,
- 0x0000041e, 0x00006583, 0x81771ee3, 0x00008900, 0x92009c05, 0x0000a080,
- 0x8141f800, 0x00006190, 0x8143f800, 0x0000c988, 0xc0000708, 0x0000e583,
- 0x02400000, 0x00008980, 0x82400105, 0x00000390, 0x02800800, 0x000000d6,
- 0x1a3f197c, 0x0000f510, 0x0170f405, 0x00001101, 0x71e02834, 0x0000e800,
- 0x67b84810, 0x00002884, 0x67785610, 0x0000d004, 0x0039a000, 0x00000000,
- 0x67800010, 0x00005004, 0x00400000, 0x00000080, 0x4b000000, 0x00006180,
- 0x06f9572a, 0x00004901, 0x1a49191e, 0x00007404, 0x0708fd1f, 0x00008130,
- 0x8a915a2b, 0x00009900, 0x0000002e, 0x00007888, 0x00000000, 0x00000000,
- 0x0000002d, 0x0000f88a, 0x00000000, 0x00008010, 0x0080031b, 0x0000c589,
- 0x006004e3, 0x0000808a, 0x9800031b, 0x0000788a, 0xe0c00000, 0x00000d82,
- 0x00001a9f, 0x0000f400, 0x0178df2e, 0x00000012, 0x01c1682d, 0x00001900,
- 0x0601702e, 0x0000e100, 0x0000082c, 0x0000e487, 0x02d1572d, 0x0000812e,
- 0x1a5a191e, 0x0000f404, 0x0708fd1f, 0x00008130, 0x8a915a2b, 0x00009900,
- 0xbb80062a, 0x0000f88a, 0x60c00000, 0x00000d83, 0x00001a9f, 0x0000f400,
- 0x01400000, 0x00006180, 0x0118db1b, 0x00004900, 0x01c1682d, 0x00001900,
- 0x93002cec, 0x0000a081, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x00400405, 0x00004589, 0x88a0062a, 0x0000008c, 0x0000041e, 0x00009583,
- 0x0140c000, 0x00006189, 0x0140c800, 0x0000c991, 0xffffffff, 0x00007f86,
- 0xc4a02c05, 0x00001901, 0xbb80062a, 0x0000f88a, 0x00c00001, 0x00000080,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x01000000, 0x00009980,
- 0x1aee23ec, 0x00007500, 0x08001a04, 0x0000e906, 0x06402004, 0x00001900,
- 0x00001aee, 0x00007000, 0x01000c1c, 0x00006283, 0x81400c1c, 0x00000780,
- 0xf7f82c05, 0x00002014, 0xffffffff, 0x00007fa7, 0xf7f82c05, 0x0000a08c,
- 0x1a7b18ec, 0x0000f503, 0xffffffff, 0x00007f86, 0x01282d05, 0x00009901,
- 0x2c07f544, 0x00001680, 0x014588b0, 0x00009001, 0x1a81151b, 0x0000f404,
- 0x0db8bf16, 0x00008324, 0x0dc36405, 0x0000e181, 0x0e009b00, 0x00008980,
- 0x00000434, 0x00001583, 0x817f1fe3, 0x00009908, 0x84c02805, 0x0000a088,
- 0x00001a8a, 0x00007010, 0xffffffff, 0x00007f97, 0x01403c05, 0x00001281,
- 0x01401405, 0x00001181, 0x00000c05, 0x00001583, 0x00001a8f, 0x0000f01b,
- 0x02e8b000, 0x0000f900, 0x00229916, 0x00000980, 0x02b8bf16, 0x00008024,
- 0x0221a434, 0x00001900, 0x1a8f190e, 0x00007100, 0x3580de33, 0x0000f902,
- 0x01800000, 0x00000000, 0x35b8f433, 0x0000a080, 0x35f82033, 0x0000b038,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xaa00051b, 0x0000f88a,
- 0x00c00001, 0x00008000, 0x00000004, 0x0000f888, 0x00000000, 0x00000000,
- 0xa7400005, 0x0000f88a, 0x00c00001, 0x00000010, 0x53a00306, 0x00004989,
- 0x422004e3, 0x0000868d, 0x01f82705, 0x00000014, 0x01183306, 0x00001900,
- 0xffffffff, 0x00007f86, 0x1aa118de, 0x00007100, 0x06002004, 0x0000e100,
- 0x0000082c, 0x0000e487, 0x02e0df05, 0x0000012d, 0x1aa7191e, 0x00007404,
- 0x8728d906, 0x00008131, 0x8a90f21e, 0x00009900, 0x04209506, 0x0000818b,
- 0x67405610, 0x0000f902, 0x0d000000, 0x00000004, 0x67804810, 0x0000f902,
- 0x01000000, 0x00000004, 0x4000051b, 0x00009583, 0x01000000, 0x0000e191,
- 0xc2800000, 0x0000c990, 0x0d3c0034, 0x00007910, 0x003ffffe, 0x00008280,
- 0x8000061e, 0x00006583, 0x8190520a, 0x00008900, 0x1ab4197c, 0x00007113,
- 0x00001aef, 0x00007400, 0x67785610, 0x0000d004, 0x0039a000, 0x00000000,
- 0x67b84810, 0x0000d004, 0x00382000, 0x00000000, 0x1abb18ec, 0x0000f300,
- 0x01000000, 0x00009980, 0x2c07f544, 0x00001680, 0x014588b0, 0x00009001,
- 0x1ac1151b, 0x00007404, 0x0db8bf16, 0x00008324, 0x0dc36405, 0x0000e181,
- 0x0e009900, 0x00000980, 0x00000434, 0x00001583, 0x817f1fe3, 0x00009908,
- 0x84c02805, 0x0000a088, 0x00001aca, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x01403c05, 0x00001281, 0x01401405, 0x00001181, 0x00000c05, 0x00001583,
- 0x00001acf, 0x0000701b, 0x02c69000, 0x00007900, 0x00229918, 0x00008980,
- 0x00001a8e, 0x0000f400, 0x02b8bf16, 0x00008024, 0x0221a434, 0x00001900,
- 0x35b82c33, 0x0000a080, 0x67405610, 0x0000f902, 0x0d000000, 0x00000004,
- 0x67b84810, 0x0000a084, 0xffffffff, 0x00007f86, 0x80000605, 0x00009583,
- 0x8190520a, 0x00001900, 0x1ad7197c, 0x0000f111, 0x01000000, 0x00009980,
- 0x1adb2413, 0x0000f500, 0x08001a04, 0x0000e906, 0x0a402004, 0x00001900,
- 0x67785610, 0x0000d004, 0x0039a000, 0x00000000, 0x00001aef, 0x00007400,
- 0x67b84810, 0x00002884, 0x84800000, 0x00001981, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x02da6800, 0x00007900, 0x00229912, 0x00008980,
- 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x03400000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x02b8a702, 0x00000020,
- 0x0188a815, 0x00008018, 0x81c02800, 0x00006180, 0xc198ab15, 0x0000c900,
- 0x1aee109e, 0x0000f100, 0x0dc4a000, 0x00009981, 0x09c00000, 0x00006180,
- 0x02c00040, 0x00004980, 0x02400000, 0x0000f900, 0x00048010, 0x00000980,
- 0x00001827, 0x0000e106, 0x0000180b, 0x00003106, 0x0b400000, 0x00006180,
- 0xc0001827, 0x00006006, 0x09009000, 0x0000f900, 0x0000c580, 0x00000980,
- 0x09401000, 0x0000f900, 0x0001c008, 0x00008980, 0x02001000, 0x0000f900,
- 0x0000c000, 0x00008980, 0xc000180b, 0x0000e006, 0x0e41a42d, 0x00003000,
- 0x09800702, 0x000002b8, 0x0bc00000, 0x0000e180, 0x8b103206, 0x0000c900,
- 0x0a38af14, 0x00000224, 0x0ab8bf16, 0x0000022c, 0x8b38111d, 0x00008028,
- 0x8261bc37, 0x00009901, 0x009816ec, 0x00005f80, 0x00904a40, 0x000001c4,
- 0xc0000304, 0x0000e582, 0x81905204, 0x00000000, 0x03028050, 0x0000e100,
- 0x08023c0a, 0x0000e002, 0x02c29052, 0x00001900, 0x00001b10, 0x0000f008,
- 0x800028ec, 0x00007902, 0x01000000, 0x00000700, 0x41000d0c, 0x00001283,
- 0x01000000, 0x00006190, 0x01400000, 0x0000c990, 0x81581302, 0x0000e110,
- 0x41326280, 0x00004990, 0x00001b1c, 0x0000f008, 0x780408ec, 0x00005680,
- 0x00000000, 0x00008080, 0x783828ec, 0x00005600, 0x00382000, 0x00000000,
- 0x780000ec, 0x00005680, 0x00000040, 0x00000080, 0x01000000, 0x00009980,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04127004, 0x0000e987,
- 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x96c02806, 0x00007902,
- 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082,
- 0x01000004, 0x00009084, 0x96f82806, 0x0000d000, 0x00382000, 0x00000000,
- 0x4100450c, 0x00001283, 0x818026e3, 0x00009890, 0x00001b3a, 0x0000f009,
- 0x0000140a, 0x00001583, 0x81804206, 0x00001088, 0x00001b32, 0x00007009,
- 0x00001c0a, 0x00009583, 0x81805206, 0x00006090, 0x81804a06, 0x00000088,
- 0xffffffff, 0x00007f86, 0x96c02806, 0x00007902, 0x01000000, 0x00008000,
- 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084,
- 0x96f82806, 0x0000d000, 0x00382000, 0x00000000, 0x0000040b, 0x00001583,
- 0x810026e3, 0x000098c8, 0x81805a04, 0x000010c8, 0x00001b45, 0x0000f040,
- 0x96c02806, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0x96f82806, 0x0000d000,
- 0x00382000, 0x00000000, 0x01400000, 0x00006180, 0x08001a06, 0x0000e106,
- 0xffc00000, 0x00006180, 0x00103005, 0x00006184, 0xc1401283, 0x00009080,
- 0x733828ec, 0x0000d600, 0x00000000, 0x00008080, 0x677d3e08, 0x00005004,
- 0x003d3000, 0x00008000, 0x67bd2808, 0x0000d004, 0x003d2000, 0x00000000,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x00006009, 0x00007902,
- 0x03400000, 0x00008000, 0x67453e08, 0x00007902, 0x29800000, 0x00008004,
- 0xc2400f0b, 0x0000e283, 0x05c00008, 0x00000980, 0x05009000, 0x0000f900,
- 0x00014000, 0x00008980, 0x0300680d, 0x00006110, 0x00001817, 0x0000e106,
- 0x67852808, 0x0000f902, 0x29000000, 0x00000004, 0x05400000, 0x00007900,
- 0x00018030, 0x00008980, 0x20c4a020, 0x0000e180, 0x05801002, 0x00004900,
- 0x82553b0c, 0x00006100, 0x8538570a, 0x00000901, 0x81e0060a, 0x00004489,
- 0x22323044, 0x00000728, 0x0000474c, 0x0000788c, 0x00000000, 0x00000000,
- 0x02c02544, 0x0000f88f, 0x00c00001, 0x00008060, 0x81b23109, 0x00004429,
- 0xd22531a4, 0x0000860f, 0x82600308, 0x0000c991, 0xa6303850, 0x0000061f,
- 0x06c00000, 0x00006180, 0x060538a7, 0x0000c900, 0xc1d53ba5, 0x0000e202,
- 0x0902441b, 0x00002006, 0x064284a6, 0x0000012a, 0x468a2647, 0x00008126,
- 0x00001bbe, 0x0000f208, 0x69b41da6, 0x0000e001, 0xc6bc1e83, 0x00008001,
- 0xc0000783, 0x0000e583, 0xa9c00aa7, 0x00000080, 0x402d35a4, 0x00009503,
- 0xffffffff, 0x00007f86, 0x00001baf, 0x00007010, 0x00001b89, 0x0000f008,
- 0x01800000, 0x00006180, 0x08001a04, 0x00006106, 0x00102006, 0x00006984,
- 0x677d3e08, 0x00005004, 0x003d3000, 0x00008000, 0x67bd2808, 0x0000d004,
- 0x003d2000, 0x00000000, 0x04141806, 0x0000e987, 0x733830ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x00902eec, 0x00005f80, 0x009054c0, 0x000081c4,
- 0x839d320c, 0x00009100, 0x80005a0e, 0x00009582, 0x23200800, 0x0000e198,
- 0x23400140, 0x00004998, 0x23800000, 0x00006198, 0x23c00000, 0x0000c998,
- 0x00001b7d, 0x0000f030, 0x0018308d, 0x0000e100, 0x800000a6, 0x0000b486,
- 0x810ffba6, 0x0000e280, 0x01800000, 0x00008980, 0x800f9a04, 0x00006582,
- 0x800050a4, 0x0000a486, 0x810063a6, 0x000060b8, 0x810053a6, 0x000080d0,
- 0x24c000a0, 0x00006180, 0xa0c01283, 0x00004180, 0x041020a6, 0x00006187,
- 0x00001893, 0x0000b106, 0x08001a04, 0x00006106, 0xc0001893, 0x00003006,
- 0x24801002, 0x00006100, 0x00102006, 0x0000e184, 0x001118ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x677d3e08, 0x00005004, 0x003d3000, 0x00008000,
- 0x67bd2808, 0x0000d004, 0x003d2000, 0x00000000, 0x04141806, 0x0000e987,
- 0x24001000, 0x00007900, 0x000041c0, 0x00008980, 0x24400000, 0x00007900,
- 0x000080b0, 0x00008980, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x00902eec, 0x00005f80, 0x009054c0, 0x000081c4, 0x293c1ca4, 0x0000e101,
- 0x0805340e, 0x00002084, 0x838ffba7, 0x00006280, 0x013c1c0e, 0x00000001,
- 0x013c1a0e, 0x0000e000, 0x002020a6, 0x0000a084, 0x000fe804, 0x00001582,
- 0x811d3f83, 0x0000e050, 0x810013a7, 0x000000b8, 0xffffffff, 0x00007f86,
- 0x81102783, 0x00001038, 0xffffffff, 0x00007f86, 0xe9d02204, 0x00001900,
- 0xdf6d35a4, 0x0000f812, 0x48c00000, 0x00000d8c, 0x800002a5, 0x00006582,
- 0x01c01aa5, 0x00000880, 0x04400100, 0x0000e180, 0x0e45340e, 0x0000e008,
- 0x03800c0e, 0x00006489, 0x04020800, 0x00000980, 0x71e070a6, 0x0000e008,
- 0x71e07019, 0x00003008, 0x01c02007, 0x00006002, 0xa9c00aa7, 0x00000080,
- 0x01000005, 0x0000e084, 0x84581302, 0x00008900, 0x04f83f04, 0x00008108,
- 0x81000aa5, 0x00001080, 0x80102206, 0x00001502, 0x000820ec, 0x0000d780,
- 0x00005000, 0x00008080, 0xa9400000, 0x00006188, 0xa9400aa5, 0x00004090,
- 0xfbc00783, 0x00004590, 0x7b8531a4, 0x0000fa0e, 0x02605c0b, 0x00006101,
- 0x037a7444, 0x00004201, 0x02c00c0d, 0x00009283, 0x02c0140d, 0x00006283,
- 0x02400000, 0x00008989, 0xffffffff, 0x00007f86, 0x02402409, 0x00001091,
- 0xffffffff, 0x00007f86, 0x83503c09, 0x0000e000, 0x83903c09, 0x00008000,
- 0x801a820e, 0x00009502, 0x00001c7f, 0x0000f02b, 0x06c00000, 0x00006180,
- 0x060538a7, 0x0000c900, 0x865532a6, 0x0000e100, 0x0902441b, 0x0000e006,
- 0x86b23850, 0x00000129, 0xc6522244, 0x00006100, 0xc6bc1e83, 0x00004001,
- 0x69b41da6, 0x00001001, 0xddd53ba5, 0x0000f816, 0xf0c00000, 0x00008d8d,
- 0x839d320c, 0x00009100, 0x80005a0e, 0x00009582, 0x23200800, 0x0000e198,
- 0x23400140, 0x00004998, 0x23800000, 0x00006198, 0x23c00000, 0x0000c998,
- 0x00001c94, 0x0000f030, 0x24c000a0, 0x00006180, 0x0018308d, 0x0000e100,
- 0x24801002, 0x00006100, 0x00001893, 0x0000e106, 0x24001000, 0x00007900,
- 0x000041c0, 0x00008980, 0x24400000, 0x00007900, 0x000080b0, 0x00008980,
- 0xa0c49000, 0x0000e180, 0xc0001893, 0x00006006, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009118ec, 0x00005780,
- 0x00005000, 0x00008080, 0x838ffba6, 0x0000e280, 0x69800000, 0x00008981,
- 0x800f9a0e, 0x00006582, 0x69005000, 0x00000981, 0x838053a6, 0x0000e0d0,
- 0x838063a6, 0x000000b8, 0xffffffff, 0x00007f86, 0xe990720e, 0x00009900,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01400308, 0x00004590,
- 0xfcb03850, 0x0000761a, 0x01000000, 0x00009980, 0x1c0d1b08, 0x0000f100,
- 0x1c0f1b08, 0x0000f300, 0x01001000, 0x00001980, 0x1c111b08, 0x0000f300,
- 0x01001800, 0x00009980, 0x1c131b08, 0x00007300, 0x01000800, 0x00001980,
- 0x83801306, 0x0000e780, 0x82401b06, 0x00008280, 0x80001209, 0x00001582,
- 0x0de04e0e, 0x0000a008, 0x00001c20, 0x0000f009, 0xffffffff, 0x00007f86,
- 0x80001a09, 0x00009582, 0x0dc04e0e, 0x0000a00a, 0x00001c20, 0x0000f009,
- 0xffffffff, 0x00007f86, 0x80000a09, 0x00001582, 0x0de04e0e, 0x00002090,
- 0x0dc04e0e, 0x0000208a, 0x000014a4, 0x00009583, 0x00001c40, 0x0000f033,
- 0xc0103b50, 0x00001502, 0x00001b6e, 0x00007033, 0x02605c0b, 0x00006101,
- 0x03ba7444, 0x00004201, 0x02800c0e, 0x00001283, 0x0280140e, 0x0000e283,
- 0x02400000, 0x00008989, 0xffffffff, 0x00007f86, 0x02402409, 0x00001091,
- 0xffffffff, 0x00007f86, 0x82d03c09, 0x0000e000, 0x83903c09, 0x00008000,
- 0x801a820e, 0x00009502, 0x82907350, 0x00009128, 0x00001bdf, 0x00007021,
- 0xc0105308, 0x00001502, 0x02401000, 0x000061a9, 0x8298420a, 0x0000c128,
- 0x02400800, 0x000099a1, 0x00001c79, 0x0000f028, 0x06c00000, 0x00006180,
- 0xe0e04c09, 0x0000c901, 0x060538a7, 0x0000e100, 0x0902441b, 0x0000e006,
- 0x06605ca6, 0x00008128, 0x468a2647, 0x00008126, 0x69b41da6, 0x0000e001,
- 0xc6a04e83, 0x00000001, 0xddd53ba5, 0x0000f816, 0xf0c00000, 0x00008d8d,
- 0x839d3a09, 0x00001100, 0x80006a0e, 0x00009582, 0x03800ca4, 0x00001299,
- 0x00001c75, 0x00007031, 0x000004a4, 0x00001583, 0x25009000, 0x0000f910,
- 0x00008540, 0x00008980, 0x25400000, 0x00007910, 0x00018008, 0x00000980,
- 0x00001c54, 0x00007008, 0x25c00008, 0x00006180, 0x26400000, 0x00004980,
- 0x001128ec, 0x0000d780, 0x00005000, 0x00008080, 0x25801002, 0x0000e100,
- 0x00001897, 0x00006106, 0x26800000, 0x000089ec, 0x260538a7, 0x00006100,
- 0xa0c01283, 0x00004180, 0xa65532a6, 0x00001900, 0x02a5240e, 0x0000e001,
- 0x03c03000, 0x00000981, 0x28c00000, 0x00006180, 0x0260540f, 0x0000c101,
- 0x02800c0a, 0x0000e781, 0x27800000, 0x00000980, 0xa8c00c09, 0x00006781,
- 0xe8c03c0a, 0x00000081, 0x0018309e, 0x00006100, 0x000018a3, 0x0000b106,
- 0x28001000, 0x00007900, 0x000041c0, 0x00008980, 0x28400000, 0x00007900,
- 0x000080b0, 0x00008980, 0x0420489e, 0x0000e081, 0xc00018a3, 0x00003006,
- 0x27000801, 0x00006180, 0x27400000, 0x0000c980, 0x27c00000, 0x00006180,
- 0x28801002, 0x00004900, 0xa0c01283, 0x00001180, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009138ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x2920740f, 0x00006101, 0x002070a6, 0x0000a084,
- 0xffffffff, 0x00007f97, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0xdb903b50, 0x00007832, 0x20c00000, 0x00000e81, 0xc0103b50, 0x00001502,
- 0x01001000, 0x00001998, 0x00001c22, 0x0000f031, 0x00001c0c, 0x00007000,
- 0xc0105308, 0x00001502, 0x00001c36, 0x0000f023, 0x8298420a, 0x00006100,
- 0x02400c09, 0x00000081, 0x0d905308, 0x0000f823, 0xd8c00000, 0x00000e83,
- 0x82d07350, 0x00001100, 0xc0105b07, 0x00009502, 0x02401000, 0x000061a9,
- 0x82d83a0b, 0x0000c128, 0x02400800, 0x000099a1, 0x00001ccf, 0x00007028,
- 0x01c00c09, 0x0000e081, 0xa0c00c09, 0x00000081, 0x839d320c, 0x00006100,
- 0x026d35a4, 0x00008101, 0x00204c07, 0x00001503, 0x00001c96, 0x0000701b,
- 0x06c09000, 0x000001d3, 0x060538a7, 0x0000e100, 0x0902441b, 0x0000e006,
- 0x06606ca6, 0x00008128, 0x468a2647, 0x00008126, 0x69b41da6, 0x0000e001,
- 0xc6bc1e83, 0x00008001, 0xddd53ba5, 0x0000f816, 0xf0c00000, 0x00008d8d,
- 0x00001c0c, 0x0000f200, 0x01001000, 0x00001980, 0x80005a0e, 0x00009582,
- 0x03800c09, 0x00009299, 0x00001ccd, 0x00007031, 0x00000409, 0x00009583,
- 0x21009000, 0x00007910, 0x000086c0, 0x00000980, 0x21400000, 0x0000f910,
- 0x00018008, 0x00000980, 0x00001ca9, 0x0000f008, 0x21c00008, 0x0000e180,
- 0x22400000, 0x0000c980, 0x001108ec, 0x00005780, 0x00005000, 0x00008080,
- 0x21801002, 0x00006100, 0x00001887, 0x0000e106, 0x22800000, 0x000088ec,
- 0x220538a7, 0x0000e100, 0xa0c01283, 0x00004180, 0xa25532a6, 0x00009900,
- 0x03a04c0e, 0x0000e001, 0x01c05000, 0x00008981, 0x24c00000, 0x00006180,
- 0x01e07407, 0x00004101, 0x23400000, 0x00006180, 0xe4c00c0e, 0x0000c781,
- 0xa4c00c07, 0x0000e781, 0x0018308d, 0x00002100, 0x00001893, 0x0000e106,
- 0x0420388d, 0x0000b081, 0x24001000, 0x00007900, 0x000041c0, 0x00008980,
- 0x24400000, 0x00007900, 0x000080b0, 0x00008980, 0x23200800, 0x0000e180,
- 0xc0001893, 0x00006006, 0x23800000, 0x000088fc, 0xa0c01283, 0x0000e180,
- 0x24801002, 0x00008900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009118ec, 0x00005780, 0x00005000, 0x00008080,
- 0x838ffba6, 0x0000e280, 0x69800c09, 0x00000281, 0x69005000, 0x0000e181,
- 0x02603a0e, 0x0000c000, 0x000fe809, 0x00009582, 0x824013a6, 0x000090b8,
- 0x83904c07, 0x00009038, 0x00001cd5, 0x0000f050, 0xe990720e, 0x00009900,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00001c8b, 0x00007000,
- 0x00001c0c, 0x0000f200, 0x01001000, 0x00001980, 0xc0105b07, 0x00009502,
- 0x00001c85, 0x00007023, 0x82d83a0b, 0x00006100, 0x02400c09, 0x00000081,
- 0x21505b07, 0x0000f823, 0x88c00000, 0x00000e86, 0x00001cc9, 0x0000f200,
- 0x839d3407, 0x00009000, 0x05600000, 0x0000f900, 0x00040000, 0x00000980,
- 0x05000000, 0x00006180, 0x0d829415, 0x00006002, 0xc2c00f0b, 0x00006283,
- 0x00183014, 0x0000a186, 0x803ab0ec, 0x00005700, 0x0038a800, 0x00000000,
- 0x05c00008, 0x0000e180, 0x24828014, 0x0000e003, 0x8038a0ec, 0x00005700,
- 0x003f2800, 0x00000000, 0x803f28ec, 0x0000d700, 0x00372800, 0x00000002,
- 0x00006009, 0x00007902, 0x02400000, 0x00000000, 0x67453e08, 0x00007902,
- 0x29800000, 0x00008004, 0x05400000, 0x00007900, 0x00018030, 0x00008980,
- 0x20c4a020, 0x0000e180, 0x00001817, 0x0000e106, 0x0240600c, 0x00006108,
- 0x20800000, 0x00004980, 0x05009000, 0x0000f900, 0x000104c0, 0x00008980,
- 0x67852808, 0x0000f902, 0x29000000, 0x00000004, 0x92381050, 0x00000118,
- 0x96553b09, 0x00006100, 0x83183b07, 0x00008900, 0xcd20060a, 0x0000c489,
- 0xce323044, 0x0000072c, 0x0000474c, 0x0000788c, 0x00000000, 0x00000000,
- 0x73c02544, 0x0000f88f, 0x00c00001, 0x00008060, 0xccb23159, 0x00004429,
- 0x5a2531a4, 0x0000870b, 0xc7600308, 0x00004991, 0x34303850, 0x0000871b,
- 0x25000000, 0x00009980, 0xc010635d, 0x00001502, 0x800070ec, 0x0000f902,
- 0x03400000, 0x00000700, 0x00001d97, 0x0000f019, 0x060538a7, 0x0000e100,
- 0x0a42e319, 0x0000e100, 0x8000060e, 0x0000e583, 0x865532a6, 0x00000900,
- 0x2520740e, 0x00006111, 0x06a23c47, 0x0000c901, 0x00001ff7, 0x0000f009,
- 0x2c00d40e, 0x00001680, 0x838588b0, 0x00001000, 0xc2401f72, 0x0000e283,
- 0x9710720e, 0x00008900, 0x9104b40e, 0x0000f902, 0x03400000, 0x00000004,
- 0x9104860e, 0x00007902, 0x23c00000, 0x00000004, 0x9144700e, 0x0000f902,
- 0x25400000, 0x00008004, 0x91449a0e, 0x00007902, 0x24800000, 0x00000004,
- 0x91446c0e, 0x00007902, 0x23000000, 0x00000004, 0x91448e0e, 0x00007902,
- 0x11800000, 0x00000004, 0x9079760e, 0x0000b03c, 0x90b9800e, 0x0000b03c,
- 0x90b9920e, 0x0000b03c, 0x8ff8e40e, 0x0000b03c, 0x8ff8f60e, 0x0000b03c,
- 0x00001fdc, 0x0000f410, 0x9039000e, 0x0000b03c, 0x9039120e, 0x0000b03c,
- 0xc0000f46, 0x00009583, 0x0000201e, 0x0000f013, 0x9079520e, 0x0000b03c,
- 0x09018c82, 0x00006006, 0x09036c1b, 0x00003006, 0x9079480e, 0x00002004,
- 0x9079640e, 0x0000b03c, 0x9653322a, 0x0000e400, 0x83d90350, 0x00000000,
- 0x03a0dc82, 0x0000e101, 0x00000059, 0x00002580, 0xa961776a, 0x0000c411,
- 0x96239322, 0x00000712, 0xa9616f69, 0x0000c411, 0x96216768, 0x00008712,
- 0x09200e72, 0x0000c48c, 0x6842df96, 0x00008714, 0xc681875a, 0x00004469,
- 0x6820ef5e, 0x0000876c, 0xb200040e, 0x0000c491, 0x20291072, 0x00008713,
- 0xb212c221, 0x0000c411, 0x20239f91, 0x00008713, 0xb2014a65, 0x00004411,
- 0x20200259, 0x00000793, 0xc7000471, 0x0000c191, 0x0023840f, 0x00008018,
- 0x098b8921, 0x00004731, 0x8f8a3672, 0x00008510, 0xb2123047, 0x00004411,
- 0x20224f95, 0x00000713, 0xb2025793, 0x00004411, 0x20225f92, 0x00000713,
- 0xb2036730, 0x0000c411, 0x20218c6d, 0x00008713, 0xb202f71d, 0x00004411,
- 0x2020f75f, 0x00008713, 0x1de3840f, 0x0000c519, 0x0eeb8921, 0x00000419,
- 0xc0000894, 0x00006c00, 0xaac00d94, 0x0000418d, 0x00200670, 0x00000090,
- 0xdb72e90d, 0x00004623, 0xc4204594, 0x0000888d, 0xf9402594, 0x0000c495,
- 0xb6200770, 0x00008890, 0x63800670, 0x0000c590, 0xa1d03850, 0x00001930,
- 0xac402594, 0x0000f88e, 0x21000000, 0x00009185, 0x06c80000, 0x0000e180,
- 0x46a4a494, 0x00004901, 0x46eae822, 0x00008128, 0xc1c00b20, 0x00006282,
- 0x001ac831, 0x00002186, 0xcc5b6b31, 0x0000e300, 0x0e00dc59, 0x0000a006,
- 0x01c0425d, 0x00006090, 0x0282db5d, 0x0000c000, 0x90bad05c, 0x0000d004,
- 0x00398800, 0x00000000, 0x077aff5e, 0x00008138, 0x88400a21, 0x00006080,
- 0x0c02d05a, 0x00000900, 0xc819035d, 0x0000e000, 0x0700e25d, 0x00008008,
- 0x88710c59, 0x00001001, 0x0700e007, 0x00009010, 0xae601594, 0x0000c195,
- 0x00200459, 0x00000088, 0x83000308, 0x00007893, 0x70c00000, 0x00000e8b,
- 0x9bc00459, 0x0000788b, 0x58c00000, 0x00000f83, 0xc1d53ba5, 0x0000e202,
- 0xc322c81b, 0x00002006, 0x69ad3459, 0x00001001, 0x00001df7, 0x00007009,
- 0xa9c00aa7, 0x00009080, 0x402d35a4, 0x00009503, 0x8ff8e45c, 0x0000d004,
- 0x003af000, 0x00000000, 0x8ffafe5c, 0x0000d004, 0x0038f800, 0x00000000,
- 0x9039005c, 0x0000b83c, 0x9039125c, 0x0000b83c, 0x00001dd1, 0x0000f408,
- 0x9138545c, 0x00005004, 0x00386800, 0x00000000, 0x001028ec, 0x00005780,
- 0x009054c0, 0x00008180, 0x01800000, 0x00006180, 0x08001a04, 0x00006106,
- 0x00102006, 0x00006984, 0x677d3e08, 0x00005004, 0x003d3000, 0x00008000,
- 0x67bd2808, 0x0000d004, 0x003d2000, 0x00000000, 0x04141806, 0x0000e987,
- 0x733830ec, 0x0000d600, 0x00000000, 0x00008080, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x82402672, 0x00006283, 0x25080094, 0x00000380,
- 0x00001d4c, 0x0000f400, 0x25100094, 0x00001390, 0xe5001800, 0x00009991,
- 0x0bc3940e, 0x0000e000, 0xa0000894, 0x00003404, 0xe5000c05, 0x000000fe,
- 0x00001d4c, 0x0000f400, 0x03a0740f, 0x00006101, 0xb6839094, 0x00002000,
- 0xc3207094, 0x00006800, 0x00001d05, 0x00007400, 0x80000670, 0x00001583,
- 0x00000072, 0x00006c11, 0x03605c0b, 0x0000e101, 0x03ba7444, 0x00004201,
- 0x03c00c0e, 0x00001283, 0x0380140e, 0x00006283, 0x03400000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x0340240d, 0x00001091, 0xffffffff, 0x00007f86,
- 0x92103c0d, 0x0000e000, 0x83d03c0d, 0x00008000, 0x801a820f, 0x00001502,
- 0x00002195, 0x0000f02b, 0x800070ec, 0x0000f902, 0x03400000, 0x00000700,
- 0xe09a820f, 0x00006100, 0x921a8350, 0x00008900, 0x25000000, 0x00009980,
- 0x4150635d, 0x0000f833, 0xb8c00000, 0x00000e8c, 0x83dd3209, 0x00001100,
- 0x80005a0f, 0x00001582, 0x23200800, 0x0000e198, 0x23400140, 0x00004998,
- 0x23800000, 0x00006198, 0x23c00000, 0x0000c998, 0x000021a7, 0x00007030,
- 0x24c000a0, 0x00006180, 0x0018308d, 0x0000e100, 0x24801002, 0x00006100,
- 0x00001893, 0x0000e106, 0x24001000, 0x00007900, 0x000041c0, 0x00008980,
- 0x24400000, 0x00007900, 0x000080b0, 0x00008980, 0xa0c49000, 0x0000e180,
- 0xc0001893, 0x00006006, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009118ec, 0x00005780, 0x00005000, 0x00008080,
- 0x83cffba6, 0x00006280, 0x69800000, 0x00008981, 0x800f9a0f, 0x0000e582,
- 0x69005000, 0x00000981, 0x83c053a6, 0x000060d0, 0x83c063a6, 0x000080b8,
- 0xffffffff, 0x00007f86, 0xe9907a0f, 0x00009900, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x0dc00308, 0x00004591, 0xfcd03850, 0x00007319,
- 0x01000020, 0x00001980, 0x1dd11b08, 0x0000f100, 0x839d3209, 0x00009100,
- 0x80005a0e, 0x00009582, 0x23200800, 0x0000e198, 0x23400140, 0x00004998,
- 0x23800000, 0x00006198, 0x23c00000, 0x0000c998, 0x00001d7f, 0x00007030,
- 0x0018308d, 0x0000e100, 0x800000a6, 0x0000b486, 0x83cffba6, 0x00006280,
- 0x08001a04, 0x0000a106, 0x800f9a0f, 0x0000e582, 0x01800000, 0x00008980,
- 0x83c063a6, 0x0000e0b8, 0x83c053a6, 0x000000d0, 0x00102006, 0x0000e184,
- 0x800050a4, 0x00003486, 0x24c000a0, 0x00006180, 0x041078a6, 0x0000e187,
- 0xa0c01283, 0x0000e180, 0x00001893, 0x00002106, 0x001118ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x677d3e08, 0x00005004, 0x003d3000, 0x00008000,
- 0x67bd2808, 0x0000d004, 0x003d2000, 0x00000000, 0x04141806, 0x00006187,
- 0xc0001893, 0x00003006, 0x24001000, 0x00007900, 0x000041c0, 0x00008980,
- 0x24400000, 0x00007900, 0x000080b0, 0x00008980, 0x733830ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x24801002, 0x00001900, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x800002a5, 0x00006582, 0x83800aa5, 0x00008080,
- 0x04400100, 0x0000e180, 0x0e45340f, 0x00006008, 0x03c00c0f, 0x00006489,
- 0x04020800, 0x00000980, 0x71e078a6, 0x00006008, 0x71e07819, 0x0000b008,
- 0x84581302, 0x00006100, 0x03c01aa5, 0x00004880, 0x01c0200f, 0x00001002,
- 0x01000005, 0x0000e084, 0x04803807, 0x00000900, 0x80107206, 0x0000e502,
- 0x04c02004, 0x00008900, 0xa9400aa5, 0x00001090, 0x00001e30, 0x0000f009,
- 0x000820ec, 0x0000d780, 0x00005000, 0x00008080, 0x00001d73, 0x0000f200,
- 0xa9c00aa7, 0x00009080, 0x0805340f, 0x0000e884, 0x83cffba7, 0x0000e280,
- 0x03a2cc0f, 0x00000001, 0x03a2ca0f, 0x0000e000, 0x002070a6, 0x0000a084,
- 0x000fe80e, 0x00001582, 0x838013a7, 0x000090b8, 0x83d07459, 0x00001038,
- 0x0000209c, 0x00007050, 0xe9d07a0f, 0x00006100, 0x2922cca4, 0x0000c101,
- 0x48a91459, 0x0000e001, 0x03e91459, 0x00000001, 0x0000340f, 0x00009583,
- 0x4880340f, 0x0000e199, 0xc000301b, 0x0000241e, 0x00001d73, 0x0000f031,
- 0xc1d53ba5, 0x00001202, 0x03801aa5, 0x00006088, 0x04020800, 0x00004988,
- 0x04400100, 0x00001988, 0x00001d72, 0x00007010, 0x800002a5, 0x00006582,
- 0x84581302, 0x00008900, 0x0e45340f, 0x0000e808, 0x03c00c0f, 0x00009489,
- 0x71e078a6, 0x00006008, 0x71e07819, 0x0000b008, 0x01c0200e, 0x00006002,
- 0x83c00aa5, 0x00000080, 0x01000005, 0x0000e084, 0xa9400aa5, 0x00000080,
- 0x80107a06, 0x00006502, 0x04803807, 0x00000900, 0x04c02004, 0x00001900,
- 0x00001e08, 0x00007011, 0x00001e0a, 0x00007400, 0x000820ec, 0x0000d780,
- 0x00005000, 0x00008080, 0xa9400000, 0x00009980, 0xa0000894, 0x00006c00,
- 0x00001d4c, 0x0000f400, 0xc0000894, 0x00006c00, 0xe5003000, 0x00001981,
- 0x00001d4c, 0x0000f400, 0x25180094, 0x00001380, 0xe5001000, 0x00009981,
- 0x83c01306, 0x00006780, 0x83001b06, 0x00008280, 0x8000120c, 0x00001582,
- 0x0de07e0f, 0x00002008, 0x00001e47, 0x0000f009, 0x80001a0c, 0x00009582,
- 0x0dc07e0f, 0x0000200a, 0x00001e47, 0x0000f009, 0x80000a0c, 0x00001582,
- 0x0de07e0f, 0x0000a090, 0xffffffff, 0x00007fa7, 0x0dc07e0f, 0x0000a08a,
- 0x000014a4, 0x00006583, 0x83184308, 0x00008900, 0x0000215b, 0x00007033,
- 0xc0103b50, 0x00001502, 0x00001d00, 0x0000f033, 0x03605c0b, 0x0000e101,
- 0x03fa7444, 0x0000c201, 0x03800c0f, 0x00001283, 0x0380140f, 0x0000e283,
- 0x03400000, 0x00000989, 0xffffffff, 0x00007f86, 0x0340240d, 0x00001091,
- 0xffffffff, 0x00007f86, 0x92103c0d, 0x0000e000, 0x83d03c0d, 0x00008000,
- 0x801a820f, 0x00001502, 0x83907b50, 0x00009128, 0x00001da6, 0x0000f021,
- 0xc0107308, 0x00009502, 0x03c01000, 0x000061a9, 0x8398420e, 0x0000c128,
- 0x03c00800, 0x000099a1, 0x000021ea, 0x00007028, 0xe0907308, 0x00006100,
- 0xe0e07c0f, 0x00000901, 0x800070ec, 0x0000f902, 0x03400000, 0x00000700,
- 0x25000000, 0x00009980, 0x4158435d, 0x0000f833, 0xb8c00000, 0x00000e8c,
- 0x1e671b08, 0x0000f300, 0x01001020, 0x00009980, 0x1e691b08, 0x00007300,
- 0x01000820, 0x00009980, 0x1e6b1b08, 0x0000f300, 0x01001820, 0x00001980,
- 0xc0000308, 0x00001582, 0x48a2cc59, 0x00006109, 0x69ad3459, 0x0000c009,
- 0x000020d7, 0x00007011, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780, 0x009054c0, 0x00008180,
- 0x9700508e, 0x0000f902, 0x01c00000, 0x00008000, 0x97002e8e, 0x0000f902,
- 0x01000000, 0x00008000, 0x83c02a8e, 0x0000e080, 0x83800f90, 0x00000780,
- 0xa9000ea4, 0x0000e181, 0xa0c01283, 0x00008180, 0x02805221, 0x00009002,
- 0x01402b20, 0x00006002, 0x01c00007, 0x00000084, 0x97382e8e, 0x0000a880,
- 0x96f8280f, 0x0000a080, 0x01000004, 0x00009084, 0x9738268e, 0x0000a800,
- 0x96f8200f, 0x0000a000, 0x01400805, 0x00001082, 0x9738508e, 0x00005000,
- 0x00383800, 0x00000000, 0x96f8280f, 0x00002880, 0x0000fc94, 0x00006583,
- 0x01000004, 0x00000084, 0x96f8200f, 0x00002800, 0x01000000, 0x00007900,
- 0x00080000, 0x00000980, 0x03c10494, 0x0000e198, 0x0424a004, 0x0000a087,
- 0x800000ec, 0x00005780, 0x00382000, 0x00000000, 0x8f8028ec, 0x0000f902,
- 0x01000000, 0x00000004, 0x03e4a7e4, 0x0000e030, 0x03c07fe4, 0x0000c818,
- 0xffffffff, 0x00007f97, 0x0100200f, 0x00006318, 0x0140280f, 0x00000330,
- 0x0f04a20f, 0x0000e806, 0x8fb828ec, 0x0000d004, 0x00382000, 0x00000000,
- 0xc1000f90, 0x0000e283, 0x83c00a0f, 0x00000080, 0xf7f8240e, 0x00002014,
- 0xf7f8240e, 0x0000a08c, 0x8f803a0f, 0x00007902, 0x01400000, 0x00008004,
- 0xffffffff, 0x00007f97, 0x81000e04, 0x0000e089, 0x81000e04, 0x00008091,
- 0xffffffff, 0x00007f86, 0xf7f8240e, 0x0000a814, 0xf7f8240e, 0x0000288c,
- 0x03801800, 0x0000e180, 0x01007c94, 0x0000c281, 0x01000c04, 0x00009880,
- 0x0100200e, 0x00009800, 0x010020e5, 0x00009400, 0x01c03804, 0x00006200,
- 0x01402804, 0x00000200, 0x8fb83a0f, 0x00005004, 0x00382800, 0x00008000,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xc1000f46, 0x00006283,
- 0x05c00008, 0x00000980, 0x09000000, 0x0000e190, 0x09400000, 0x00004990,
- 0x09800000, 0x00006190, 0x09c00000, 0x0000c990, 0x0a000000, 0x0000e190,
- 0x06400000, 0x0000c980, 0x811d2aa7, 0x00006202, 0x00001817, 0x00002106,
- 0x05009000, 0x0000f900, 0x00010500, 0x00000980, 0x05400000, 0x00007900,
- 0x00018030, 0x00008980, 0x05800702, 0x000081a8, 0x06c00000, 0x00006180,
- 0x86153aa7, 0x00004900, 0x000020ba, 0x0000f408, 0x46123394, 0x00008121,
- 0x067ca794, 0x00009901, 0x40002522, 0x0000e583, 0x0e45340f, 0x00002000,
- 0x81000aa7, 0x00006080, 0x0e453519, 0x00002000, 0xa9c00aa7, 0x00009080,
- 0x000020a3, 0x00007018, 0x80000a21, 0x00001582, 0x00001ed7, 0x0000f033,
- 0xc1001f22, 0x00009283, 0x000048ec, 0x00005788, 0x00005001, 0x00000080,
- 0x000048ec, 0x00005790, 0x00905341, 0x00000280, 0xc5002714, 0x0000e089,
- 0xc5004714, 0x00008091, 0x10c00000, 0x00006190, 0x10800000, 0x0000c990,
- 0x001028ec, 0x00005780, 0x009051c0, 0x00008180, 0x5fed35a4, 0x00007813,
- 0x88c00000, 0x00008e8e, 0x81daea0d, 0x00006100, 0x8233801b, 0x00002006,
- 0x86c1110d, 0x0000012d, 0x46a4a494, 0x00006101, 0xc333801b, 0x0000e006,
- 0xc69aeb5d, 0x00001900, 0x00001d59, 0x00007200, 0x83503a07, 0x00009900,
- 0x06424849, 0x00006100, 0x0802840e, 0x00006002, 0x12400c0e, 0x00006283,
- 0x11800000, 0x00000980, 0x995aea65, 0x0000e110, 0xd85aeb61, 0x00008108,
- 0xc1c01f72, 0x00006283, 0x08800020, 0x00000980, 0x08400800, 0x0000e180,
- 0x0802870c, 0x0000e002, 0x81dc1382, 0x0000e100, 0x0802861b, 0x00006002,
- 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4,
- 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc,
- 0x0c000000, 0x000083c4, 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4,
- 0x0d800000, 0x000083dc, 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec,
- 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4,
- 0x10800000, 0x000084cc, 0x1642db5d, 0x00006000, 0x83239472, 0x00000901,
- 0x83003047, 0x0000012e, 0x86f8150b, 0x00008128, 0x062a544a, 0x00008120,
- 0x03f8274b, 0x00000034, 0xa3a05106, 0x00008838, 0x08c00000, 0x0000e180,
- 0x0712ea5d, 0x00004900, 0x077aff5e, 0x00008138, 0x881aeb50, 0x00006100,
- 0xc81aeb5d, 0x00008900, 0x07c4175e, 0x0000841a, 0x489b9072, 0x00008208,
- 0x0000227b, 0x0000f410, 0xc862c458, 0x00006101, 0x88741f83, 0x00004001,
- 0x02b82f73, 0x0000002c, 0x9138de5c, 0x0000d004, 0x0038d000, 0x00000000,
- 0x06c00000, 0x0000f900, 0x00008000, 0x00000980, 0xc0000783, 0x0000e583,
- 0x0902441b, 0x00002006, 0xc5289000, 0x00006180, 0x0642e01b, 0x0000e101,
- 0x917c705c, 0x00005004, 0x0038c800, 0x00000000, 0x9178c25c, 0x0000d004,
- 0x00387800, 0x00008000, 0x91786c5c, 0x00005004, 0x00385800, 0x00000000,
- 0x9178565c, 0x00005004, 0x00386000, 0x00008000, 0x903b045c, 0x0000b83c,
- 0x903b165c, 0x0000b83c, 0x907b205c, 0x0000383c, 0x907b325c, 0x0000383c,
- 0x907b445c, 0x0000b83c, 0x907b565c, 0x0000b83c, 0x90bb605c, 0x0000b83c,
- 0x90bb725c, 0x0000b83c, 0x06b23c48, 0x00000129, 0xc6b41f83, 0x0000e001,
- 0x46e4a494, 0x00000901, 0x00002269, 0x0000f410, 0x064a24a6, 0x00008126,
- 0x060538a7, 0x00009900, 0xc1d53ba5, 0x0000e202, 0x69b41da6, 0x00008001,
- 0x0000223e, 0x0000f00b, 0x01e00000, 0x00006180, 0x01400000, 0x00004980,
- 0x0424a007, 0x00006087, 0x00183005, 0x00003186, 0x0d829407, 0x00006002,
- 0x0f04a20f, 0x00003006, 0x83800a0f, 0x0000e080, 0x24828005, 0x00002003,
- 0x803ab0ec, 0x00005700, 0x00383800, 0x00000000, 0x803828ec, 0x00005700,
- 0x00000000, 0x00008080, 0x8fb83a0e, 0x0000a084, 0xa9c00aa7, 0x00006080,
- 0x01007c94, 0x00000281, 0x01000c04, 0x00009880, 0x010027e4, 0x00009800,
- 0x01c03804, 0x00001300, 0x8f802aec, 0x00007902, 0x01000000, 0x00000004,
- 0x8fb83a0e, 0x00002884, 0xffffffff, 0x00007f97, 0x00000404, 0x00001583,
- 0x00001fa3, 0x0000f00b, 0x01000c45, 0x00006283, 0x83c00c45, 0x00000780,
- 0xf7f8240f, 0x0000a014, 0xf7f8240f, 0x0000208c, 0x8fb828ec, 0x0000a084,
- 0xa9000ea4, 0x00006081, 0x83a4a494, 0x00000900, 0x9039125c, 0x00002884,
- 0x81000e04, 0x00006191, 0x81000e04, 0x00000189, 0xfe400c0e, 0x0000d084,
- 0x00400000, 0x00008000, 0xf7f8240f, 0x00002814, 0xf7f8240f, 0x0000a88c,
- 0x8fb820ec, 0x0000a004, 0x0000fc94, 0x00009583, 0x03c10494, 0x0000e198,
- 0x03e4a7e4, 0x00000830, 0x8ff8e45c, 0x0000b83c, 0x03c07fe4, 0x0000e018,
- 0x0140280f, 0x00004430, 0x0100200f, 0x00001418, 0x8ff8f65c, 0x0000b83c,
- 0x9039005c, 0x0000b83c, 0x913acc5c, 0x00005004, 0x003a3000, 0x00000000,
- 0x9000025c, 0x00005004, 0x00400000, 0x00000080, 0xfe40040e, 0x0000d004,
- 0x00400000, 0x00000080, 0x8fb828ec, 0x0000d004, 0x00382000, 0x00000000,
- 0x001028ec, 0x00005780, 0x009054c0, 0x000001c0, 0x5fed35a4, 0x00007813,
- 0x88c00000, 0x00008e8e, 0x03e05c0b, 0x00006101, 0x0802840e, 0x00006002,
- 0x02fa7444, 0x0000e201, 0x81da8207, 0x00008100, 0x03000c0b, 0x0000e283,
- 0x11800000, 0x00000980, 0x03f38670, 0x0000e109, 0x06424849, 0x00004900,
- 0x02c0140b, 0x00006283, 0x08800020, 0x00000980, 0x03c0240f, 0x0000e091,
- 0x08400800, 0x00000980, 0x12400c0e, 0x00006283, 0x0802870c, 0x00002002,
- 0x81d03c0f, 0x0000e000, 0x0802861b, 0x0000a002, 0x09000000, 0x000082d4,
- 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec,
- 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4,
- 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc,
- 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4,
- 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4, 0x10800000, 0x000084cc,
- 0x1642db5d, 0x00006000, 0x83239472, 0x00000901, 0x86e85806, 0x0000812e,
- 0x06a25702, 0x00008120, 0x0638254a, 0x00000034, 0xa3a05106, 0x00008838,
- 0x08c00000, 0x0000e180, 0x0712ea5d, 0x00004900, 0x077aff5e, 0x00008138,
- 0x881aeb50, 0x00006100, 0xc81aeb5d, 0x00008900, 0x07c23f5e, 0x00000032,
- 0x489b9072, 0x00008208, 0xc862c458, 0x00006101, 0x88741f83, 0x00004001,
- 0x995aea65, 0x0000e110, 0xd85aeb61, 0x00008108, 0x03e03f4b, 0x00000418,
- 0x02b82f73, 0x0000002c, 0xc4401f72, 0x0000788f, 0xd8c00000, 0x00009183,
- 0x713828ec, 0x00005600, 0x00001248, 0x00008080, 0x83c00c45, 0x00006780,
- 0x00000804, 0x0000a486, 0x100048ec, 0x0000d680, 0x00000000, 0x00008080,
- 0x8fb822ec, 0x0000a804, 0x01000c45, 0x00006283, 0x83a4a494, 0x00000900,
- 0xf7f8240f, 0x0000a014, 0xf7f8240f, 0x0000208c, 0x8fb828ec, 0x0000a084,
- 0x9039125c, 0x00002884, 0xfe400c0e, 0x0000d084, 0x00400000, 0x00008000,
- 0x81000e04, 0x00006191, 0x81000e04, 0x00000189, 0x8ff8e45c, 0x0000b83c,
- 0xf7f8240f, 0x00002814, 0xf7f8240f, 0x0000a88c, 0x8fb820ec, 0x0000a004,
- 0x0000fc94, 0x00006583, 0xa9000ea4, 0x00000081, 0x03c10494, 0x0000e198,
- 0x03e4a7e4, 0x00000830, 0x8ff8f65c, 0x0000b83c, 0x03c07fe4, 0x0000e018,
- 0x0140280f, 0x00004430, 0x0100200f, 0x00001418, 0x9039005c, 0x0000b83c,
- 0x913acc5c, 0x00005004, 0x003a3000, 0x00000000, 0x9000025c, 0x00005004,
- 0x00400000, 0x00000080, 0x00001f6a, 0x0000f400, 0xfe40040e, 0x0000d004,
- 0x00400000, 0x00000080, 0x8fb828ec, 0x0000d004, 0x00382000, 0x00000000,
- 0x83c0328e, 0x0000e080, 0x1c400020, 0x00000980, 0x96c0680f, 0x0000f902,
- 0x03000000, 0x00000000, 0x88800000, 0x00006181, 0x1c24a494, 0x0000c901,
- 0xdc7ca794, 0x00006101, 0xa0c01283, 0x00004180, 0xffffffff, 0x00007f86,
- 0x0340080d, 0x00001082, 0x1fd817ab, 0x0000f500, 0x0300000c, 0x00009084,
- 0x96f8680f, 0x00005000, 0x00386000, 0x00008000, 0x0b600770, 0x0000c490,
- 0xdc400670, 0x00000890, 0xdb903b50, 0x0000f833, 0x18c00000, 0x00000f87,
- 0x90f9f60e, 0x0000b03c, 0x90b9a40e, 0x0000b03c, 0x90b9b60e, 0x0000b03c,
- 0x90f9c00e, 0x0000b03c, 0x90f9d20e, 0x0000b03c, 0x90f9e40e, 0x0000b03c,
- 0xffffffff, 0x00007f86, 0x913a000e, 0x0000303c, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xa961ff75, 0x0000c311,
- 0x00200c41, 0x00008090, 0xa961ef81, 0x00004411, 0xea21e780, 0x00008717,
- 0xa7600f46, 0x0000c789, 0x0321d77e, 0x0000d610, 0xa961df7f, 0x0000c411,
- 0x9621e780, 0x00000712, 0xa961ef81, 0x00004411, 0x9621b77a, 0x00000712,
- 0xa961bf7b, 0x00004411, 0x9621c77c, 0x00008712, 0x0041cf7d, 0x0000c511,
- 0x82a00f46, 0x00005391, 0x00001d4c, 0x0000f200, 0xc0000894, 0x00006c00,
- 0x0c03940f, 0x0000e000, 0x0bc3940e, 0x0000b000, 0x03c00c0f, 0x0000e481,
- 0x03800c0e, 0x00008481, 0x03a07c0e, 0x00009303, 0x8f449eec, 0x0000790a,
- 0x24800000, 0x00000004, 0x8f8070ec, 0x0000f90a, 0x24400000, 0x00000004,
- 0x00002158, 0x0000f010, 0xffffffff, 0x00007f86, 0x00c00093, 0x00004490,
- 0x9e400092, 0x00000890, 0x1340000e, 0x0000c591, 0x15200091, 0x00000c8f,
- 0x1c449893, 0x00001b00, 0x03838fe4, 0x00001800, 0x24c4980e, 0x00009400,
- 0x83c7fa71, 0x00009280, 0xfe787c0f, 0x0000a084, 0x8f7c9eec, 0x0000d004,
- 0x003c9000, 0x00000000, 0xffffffff, 0x00007f97, 0x0000000f, 0x00009582,
- 0x25238c71, 0x00001909, 0x00002157, 0x00007011, 0x0007fc71, 0x00009583,
- 0x83c00c45, 0x00001790, 0x00002158, 0x00007009, 0x03800c45, 0x00009283,
- 0xf7f8740f, 0x0000a014, 0xf7f8740f, 0x0000208c, 0xffffffff, 0x00007fa7,
- 0x8000060e, 0x00001583, 0xb0000894, 0x00006c10, 0x00002158, 0x00007009,
- 0x00001d4c, 0x0000f400, 0x2c00d471, 0x00009680, 0x970588b0, 0x00009000,
- 0x9039240e, 0x0000b03c, 0x9039360e, 0x0000b03c, 0x9079400e, 0x0000b03c,
- 0x9079520e, 0x0000b03c, 0x9079640e, 0x0000b03c, 0x09036c0f, 0x00006006,
- 0x09018c0e, 0x0000b006, 0x06e07c0e, 0x0000e101, 0x96590350, 0x00000000,
- 0xa961776a, 0x0000c411, 0x96239322, 0x00000712, 0xa9615766, 0x00004411,
- 0x96215f67, 0x00000712, 0xa9616768, 0x0000c411, 0x96216f69, 0x00008712,
- 0xa9613762, 0x0000c411, 0x96213f63, 0x00008712, 0xa9614764, 0x00004411,
- 0x96214f65, 0x00000712, 0x47400e72, 0x0000c48c, 0x6842df96, 0x00008714,
- 0xc681875a, 0x00004469, 0x6820ef5e, 0x0000876c, 0x0a80041b, 0x00004490,
- 0xa8491072, 0x00008810, 0x0a92c221, 0x0000c410, 0xa8439f91, 0x00008810,
- 0x0a812760, 0x00004310, 0x00400471, 0x00000090, 0xbfa38459, 0x0000c519,
- 0x5fcb8921, 0x00005518, 0x0a8a3672, 0x00004410, 0xa8523047, 0x00000810,
- 0x0a824f95, 0x00004410, 0xa8425793, 0x00000810, 0x0a825f92, 0x00004410,
- 0xa8436730, 0x00008810, 0x0a818c6d, 0x0000c410, 0xa842f71d, 0x00000810,
- 0x0a80f75f, 0x0000c410, 0x70438459, 0x0000071c, 0x8e2b8e21, 0x0000781b,
- 0x58c00000, 0x00008e8c, 0xa0000094, 0x0000ec00, 0xc0000094, 0x0000ec00,
- 0xe5003800, 0x00009981, 0x00001d4c, 0x0000f400, 0xc33a3094, 0x00006800,
- 0xa2ba3094, 0x00006800, 0x03849092, 0x00009b00, 0x00002009, 0x0000f400,
- 0x1c41000e, 0x0000e080, 0x03c077e4, 0x00008800, 0x2484900f, 0x00001400,
- 0x0bc3940f, 0x00006000, 0xa0000894, 0x00003404, 0xe5000c05, 0x000080fa,
- 0x00001d4c, 0x0000f400, 0x03e07c0e, 0x0000e101, 0xb6839094, 0x00002000,
- 0xc3207894, 0x0000e800, 0xc0000308, 0x0000e582, 0x0a42e20c, 0x00002100,
- 0x83106350, 0x00006108, 0x0a42e248, 0x00002100, 0x0000222f, 0x00007011,
- 0xc0106307, 0x00001502, 0x02c01000, 0x0000e1a9, 0x83183a0c, 0x0000c128,
- 0x02c00800, 0x000019a1, 0x00002229, 0x00007028, 0xe0906307, 0x0000e100,
- 0x01c00c0b, 0x00000081, 0xa0c00c0b, 0x0000e081, 0x83dd3209, 0x00008100,
- 0x02ed35a4, 0x00009101, 0xdc605807, 0x00004219, 0xdc200670, 0x00000888,
- 0x89405a0f, 0x000078b2, 0x81000000, 0x0000108f, 0x11800000, 0x0000e180,
- 0x0802840e, 0x00006002, 0x06424849, 0x00006100, 0x08800020, 0x0000c980,
- 0x12400c0e, 0x00006283, 0x08400800, 0x00000980, 0x0802870c, 0x0000e002,
- 0x0802861b, 0x00003002, 0x41c00000, 0x000002d0, 0x09400000, 0x000002d8,
- 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0,
- 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0, 0x0c400000, 0x000003c8,
- 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8, 0x0dc00000, 0x000003e0,
- 0x0e400000, 0x000003e8, 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8,
- 0x0fc00000, 0x000084c0, 0x10400000, 0x000004c8, 0x10c00000, 0x0000e180,
- 0x1642db5d, 0x0000c000, 0x43023e72, 0x00000032, 0x86e85806, 0x0000812e,
- 0x06a25702, 0x00008120, 0x063a5d4a, 0x0000003c, 0x03483704, 0x0000883a,
- 0x2380040a, 0x0000828c, 0x873af65d, 0x00008134, 0x0782f85f, 0x0000e100,
- 0x881aeb50, 0x0000c100, 0x083af55d, 0x0000813c, 0x91800000, 0x00006180,
- 0x08ab9572, 0x00004901, 0x089ac372, 0x00000205, 0x88741f83, 0x0000e001,
- 0x995aea65, 0x00008110, 0xd85aeb61, 0x0000e108, 0x02c02805, 0x00008900,
- 0x02839873, 0x00009900, 0xc4401f72, 0x0000788f, 0xd8c00000, 0x00009183,
- 0x00001e15, 0x0000f200, 0x83dd3c59, 0x00001000, 0x1c40700e, 0x00006300,
- 0x24848891, 0x00004900, 0x00002009, 0x0000f400, 0x03c38fe4, 0x00009800,
- 0x24c0700f, 0x00009400, 0x811d2a04, 0x00009202, 0x000020b7, 0x0000f013,
- 0x800002a5, 0x00006582, 0x04400100, 0x00000980, 0x03800800, 0x00006189,
- 0x04020800, 0x0000c980, 0x03e07c0e, 0x00006109, 0x84581302, 0x00008900,
- 0x03801aa5, 0x0000e080, 0x71e078a6, 0x00006008, 0x0144680e, 0x00006002,
- 0x83c00aa5, 0x00000080, 0xa9400aa5, 0x00006080, 0x0100008c, 0x00000084,
- 0xc0107b8e, 0x00006502, 0x04802805, 0x00000900, 0x000820ec, 0x0000d780,
- 0x00005000, 0x00008080, 0xa9400000, 0x00006188, 0x04c02004, 0x00004900,
- 0x00001ecc, 0x00007200, 0xa9c00aa7, 0x00006080, 0x0e453619, 0x00002000,
- 0x800002a5, 0x00006582, 0x04400100, 0x00000980, 0x04020800, 0x0000e180,
- 0x0e45340f, 0x00006008, 0x84581302, 0x00006100, 0x03c00c0f, 0x0000c489,
- 0x03c01aa5, 0x00006080, 0x71e078a6, 0x00006008, 0x0144680f, 0x0000e002,
- 0x83c00aa5, 0x00000080, 0xa9400aa5, 0x00006080, 0x0100008c, 0x00000084,
- 0xc0107b8e, 0x00006502, 0x0e453519, 0x00002000, 0x000820ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x04802805, 0x0000e100, 0x0e45340f, 0x0000e000,
- 0x04c02004, 0x00006100, 0xa9400000, 0x00004988, 0xa9c00aa7, 0x00006080,
- 0x81000aa7, 0x00000080, 0xbf802522, 0x0000c5b3, 0xfe752904, 0x00007d12,
- 0x03848891, 0x00009b00, 0x00002009, 0x0000f400, 0x1c41000e, 0x0000e080,
- 0x03c077e4, 0x00008800, 0x2484880f, 0x00001400, 0x0805340e, 0x00006884,
- 0x838ffba7, 0x00006280, 0x03e2cc0e, 0x00000001, 0x03e2ca0e, 0x0000e000,
- 0x002078a6, 0x00002084, 0x000fe80f, 0x00009582, 0x83c013a7, 0x000010b8,
- 0x83907c59, 0x00001038, 0x00002155, 0x0000f050, 0xe9d0720e, 0x00006100,
- 0x2922cca4, 0x0000c101, 0x48a91459, 0x0000e001, 0x03a91459, 0x00008001,
- 0x0000340e, 0x00001583, 0x4880340e, 0x00006199, 0xc000301b, 0x0000241e,
- 0x00001e6f, 0x00007031, 0xc1d53ba5, 0x00001202, 0x03c01aa5, 0x0000e088,
- 0x04020800, 0x00004988, 0x04400100, 0x00001988, 0x000020fd, 0x00007010,
- 0x800002a5, 0x00006582, 0x84581302, 0x00008900, 0x0e45340e, 0x00006808,
- 0x03800c0e, 0x00009489, 0x71e070a6, 0x0000e008, 0x71e07019, 0x00003008,
- 0x01c0200f, 0x0000e002, 0x83800aa5, 0x00008080, 0xa9400aa5, 0x00006080,
- 0x01000005, 0x00008084, 0x80107206, 0x0000e502, 0x04803807, 0x00000900,
- 0x000820ec, 0x0000d780, 0x00005000, 0x00008080, 0xa9400000, 0x00006188,
- 0x04c02004, 0x00004900, 0xa9c00aa7, 0x00009080, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780,
- 0x009054c0, 0x00008180, 0x9700508e, 0x0000f902, 0x01c00000, 0x00008000,
- 0x97002e8e, 0x0000f902, 0x01000000, 0x00008000, 0x83c02a8e, 0x0000e080,
- 0x83800f90, 0x00000780, 0xa9000ea4, 0x0000e181, 0xa0c01283, 0x00008180,
- 0x02805221, 0x00009002, 0x01402b20, 0x00006002, 0x01c00007, 0x00000084,
- 0x97382e8e, 0x0000a880, 0x96f8280f, 0x0000a080, 0x01000004, 0x00009084,
- 0x9738268e, 0x0000a800, 0x96f8200f, 0x0000a000, 0x01400805, 0x00001082,
- 0x9738508e, 0x00005000, 0x00383800, 0x00000000, 0x96f8280f, 0x00002880,
- 0x0000fc94, 0x00006583, 0x01000004, 0x00000084, 0x96f8200f, 0x00002800,
- 0x01000000, 0x00007900, 0x00080000, 0x00000980, 0x03c10494, 0x0000e198,
- 0x0424a004, 0x0000a087, 0x800000ec, 0x00005780, 0x00382000, 0x00000000,
- 0x8f8028ec, 0x0000f902, 0x01000000, 0x00000004, 0x03e4a7e4, 0x0000e030,
- 0x03c07fe4, 0x0000c818, 0xffffffff, 0x00007f97, 0x0100200f, 0x00006318,
- 0x0140280f, 0x00000330, 0x0f04a20f, 0x0000e806, 0x8fb828ec, 0x0000d004,
- 0x00382000, 0x00000000, 0xc1000f90, 0x0000e283, 0x83c00a0f, 0x00000080,
- 0xf7f8240e, 0x00002014, 0xf7f8240e, 0x0000a08c, 0x8f803a0f, 0x00007902,
- 0x01400000, 0x00008004, 0xffffffff, 0x00007f97, 0x81000e04, 0x0000e089,
- 0x81000e04, 0x00008091, 0xffffffff, 0x00007f86, 0xf7f8240e, 0x0000a814,
- 0xf7f8240e, 0x0000288c, 0x03801800, 0x0000e180, 0x01007c94, 0x0000c281,
- 0x01000c04, 0x00009880, 0x0100200e, 0x00009800, 0x010020e5, 0x00009400,
- 0x01c03804, 0x00006200, 0x01402804, 0x00000200, 0x8fb83a0f, 0x00005004,
- 0x00382800, 0x00008000, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0xc1000f46, 0x00006283, 0x05c00008, 0x00000980, 0x06400000, 0x0000e180,
- 0x00001817, 0x0000e106, 0x05009000, 0x0000f900, 0x00010500, 0x00000980,
- 0x05400000, 0x00007900, 0x00018030, 0x00008980, 0x05800702, 0x000081a8,
- 0x06c00000, 0x00006180, 0x86153aa7, 0x00004900, 0x46123394, 0x00008121,
- 0x09000000, 0x0000e190, 0x09400000, 0x00004990, 0x09800000, 0x00006190,
- 0x09c00000, 0x0000c990, 0x067ca794, 0x0000e101, 0x0a000000, 0x0000c990,
- 0xb19d2aa7, 0x0000f817, 0xd0c00000, 0x00009085, 0x000020e0, 0x00007200,
- 0x839d3c59, 0x00009000, 0x2507f800, 0x00001981, 0x00001d4c, 0x0000f200,
- 0x97000000, 0x0000e180, 0xc0000894, 0x0000e400, 0x83dd3a0f, 0x00009100,
- 0x80006a0f, 0x00001582, 0x03c00ca4, 0x00009299, 0x00002190, 0x00007031,
- 0x000004a4, 0x00001583, 0x25009000, 0x0000f910, 0x00008540, 0x00008980,
- 0x25400000, 0x00007910, 0x00018008, 0x00000980, 0x0000216f, 0x00007008,
- 0x25c00008, 0x00006180, 0x26400000, 0x00004980, 0x001128ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x25801002, 0x0000e100, 0x00001897, 0x00006106,
- 0x26800000, 0x000089ec, 0x260538a7, 0x00006100, 0xa0c01283, 0x00004180,
- 0xa65532a6, 0x00001900, 0x0625240f, 0x00006001, 0x03803000, 0x00008981,
- 0x28c00000, 0x00006180, 0x0360c40e, 0x0000c101, 0x06000c18, 0x0000e781,
- 0x27800000, 0x00000980, 0xa8c00c0d, 0x0000e781, 0xe8c03c18, 0x00000081,
- 0x0018309e, 0x00006100, 0x000018a3, 0x0000b106, 0x28001000, 0x00007900,
- 0x000041c0, 0x00008980, 0x28400000, 0x00007900, 0x000080b0, 0x00008980,
- 0x0420689e, 0x00006081, 0xc00018a3, 0x00003006, 0x27000801, 0x00006180,
- 0x27400000, 0x0000c980, 0x27c00000, 0x00006180, 0x28801002, 0x00004900,
- 0xa0c01283, 0x00001180, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009138ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x29207c0e, 0x00006101, 0x002078a6, 0x00002084, 0xffffffff, 0x00007f97,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x40103b50, 0x0000f833,
- 0x60c00000, 0x00000f82, 0xc0103b50, 0x00001502, 0x01001020, 0x0000e198,
- 0x00000072, 0x00006431, 0x00001e4a, 0x0000f031, 0x00001dd0, 0x00007000,
- 0x83d07b50, 0x00001100, 0xc0107b07, 0x00001502, 0x03401000, 0x0000e1a9,
- 0x83d83a0f, 0x0000c128, 0x03400800, 0x000019a1, 0x000021e2, 0x0000f028,
- 0x03800c0d, 0x00006081, 0x062d35a4, 0x00008101, 0x0020c40e, 0x0000e503,
- 0xe0907b07, 0x00008100, 0x83dd3209, 0x0000e100, 0xa0c00c0d, 0x00008081,
- 0x000021a9, 0x00007019, 0x800070ec, 0x0000f902, 0x03400000, 0x00000700,
- 0x25209000, 0x000000eb, 0x41583b5d, 0x0000f833, 0xb8c00000, 0x00000e8c,
- 0x00001dd0, 0x0000f200, 0x01001020, 0x00009980, 0x80005a0f, 0x00001582,
- 0x03c00c18, 0x00001299, 0x000021e0, 0x0000f031, 0x00000418, 0x00009583,
- 0x21009000, 0x00007910, 0x000086c0, 0x00000980, 0x21400000, 0x0000f910,
- 0x00018008, 0x00000980, 0x000021bc, 0x0000f008, 0x21c00008, 0x0000e180,
- 0x22400000, 0x0000c980, 0x001108ec, 0x00005780, 0x00005000, 0x00008080,
- 0x21801002, 0x00006100, 0x00001887, 0x0000e106, 0x22800000, 0x000088ec,
- 0x220538a7, 0x0000e100, 0xa0c01283, 0x00004180, 0xa25532a6, 0x00009900,
- 0x03e0c40f, 0x0000e001, 0x03805000, 0x00008981, 0x24c00000, 0x00006180,
- 0x03607c0e, 0x0000c101, 0x23400000, 0x00006180, 0xe4c00c0f, 0x00004781,
- 0xa4c00c0d, 0x0000e781, 0x0018308d, 0x00002100, 0x00001893, 0x0000e106,
- 0x0420688d, 0x0000b081, 0x24001000, 0x00007900, 0x000041c0, 0x00008980,
- 0x24400000, 0x00007900, 0x000080b0, 0x00008980, 0x23200800, 0x0000e180,
- 0xc0001893, 0x00006006, 0x23800000, 0x000088fc, 0xa0c01283, 0x0000e180,
- 0x24801002, 0x00008900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009118ec, 0x00005780, 0x00005000, 0x00008080,
- 0x83cffba6, 0x00006280, 0x69800c18, 0x00000281, 0x69005000, 0x0000e181,
- 0x03a06a0f, 0x0000c000, 0x000fe80e, 0x00001582, 0x83c013a6, 0x000090b8,
- 0x83d07c0d, 0x00001038, 0x000021e8, 0x0000f050, 0xe9907a0f, 0x00009900,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x000021a2, 0x00007000,
- 0x00001dd0, 0x0000f200, 0x01001020, 0x00009980, 0xc0107b07, 0x00001502,
- 0x0000219b, 0x0000f023, 0x83d83a0f, 0x00006100, 0x03400c0d, 0x00000081,
- 0x66d07b07, 0x00007822, 0x21000000, 0x0000108f, 0x000021dc, 0x0000f200,
- 0x83dd340d, 0x00001000, 0xc0107308, 0x00009502, 0x00001e5e, 0x0000f023,
- 0x8398420e, 0x00006100, 0x03c00c0f, 0x00000081, 0x97907308, 0x00007823,
- 0x60c00000, 0x0000108f, 0x0000040b, 0x0000e583, 0x03800c0b, 0x00008281,
- 0x21009000, 0x00007910, 0x000086c0, 0x00000980, 0x21400000, 0x0000f910,
- 0x00018008, 0x00000980, 0x00002201, 0x0000f008, 0x21c00008, 0x0000e180,
- 0x22400000, 0x0000c980, 0x001108ec, 0x00005780, 0x00005000, 0x00008080,
- 0x21801002, 0x00006100, 0x00001887, 0x0000e106, 0x22800000, 0x000088ec,
- 0x220538a7, 0x0000e100, 0xa0c01283, 0x00004180, 0xa25532a6, 0x00009900,
- 0x03e05c0e, 0x0000e001, 0x24c00000, 0x00008980, 0x8380000a, 0x000008f4,
- 0x01e07c0e, 0x00006101, 0xe4c00c0f, 0x00008781, 0xa4c00c07, 0x0000e781,
- 0x0018308d, 0x00002100, 0x00001893, 0x0000e106, 0x0420388d, 0x0000b081,
- 0x24001000, 0x00007900, 0x000041c0, 0x00008980, 0x24400000, 0x00007900,
- 0x000080b0, 0x00008980, 0x23200800, 0x0000e180, 0xc0001893, 0x00006006,
- 0x23800000, 0x000088fc, 0xa0c01283, 0x0000e180, 0x24801002, 0x00008900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009118ec, 0x00005780, 0x00005000, 0x00008080, 0x83cffba6, 0x00006280,
- 0x69800c0b, 0x00008281, 0x69005000, 0x0000e181, 0x03a03a0f, 0x0000c000,
- 0x000fe80e, 0x00001582, 0x838013a6, 0x000010b8, 0x83d07407, 0x00009038,
- 0x00002227, 0x0000f050, 0xe9907a0f, 0x00009900, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0xb8c00670, 0x0000f88b, 0x70c00000, 0x00009083,
- 0x00001dd0, 0x0000f200, 0x01001000, 0x00001980, 0x00002220, 0x0000f200,
- 0x83dd3407, 0x00001000, 0xc0106307, 0x00001502, 0x00002065, 0x0000f023,
- 0x83183a0c, 0x00006100, 0x02c00c0b, 0x00000081, 0x19506307, 0x00007822,
- 0x59000000, 0x00001181, 0xa0c00800, 0x00006181, 0x83106350, 0x00004100,
- 0xc0106308, 0x00001502, 0x03c01000, 0x000061a9, 0x8318420c, 0x0000c128,
- 0x03c00800, 0x000099a1, 0x000022ec, 0x00007028, 0xe0e07c0f, 0x0000e101,
- 0xe0906308, 0x00004100, 0xb8c00670, 0x0000f88b, 0x70c00000, 0x00009083,
- 0xa0000894, 0x00006c00, 0x00001d4c, 0x0000f400, 0xc0000894, 0x00006c00,
- 0xe5003800, 0x00009981, 0x800002a5, 0x00006582, 0x03c01aa5, 0x00008880,
- 0x04400100, 0x0000e180, 0x0e45340e, 0x0000e008, 0x03800c0e, 0x00006489,
- 0x04020800, 0x00000980, 0x71e070a6, 0x0000e008, 0x71e07019, 0x00003008,
- 0x01c0200f, 0x0000e002, 0x83800aa5, 0x00008080, 0x04803807, 0x0000e100,
- 0x01000005, 0x00004084, 0x01e00000, 0x00006180, 0x01400000, 0x00004980,
- 0x0424a007, 0x00006087, 0x00183005, 0x00003186, 0x000820ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x0d829407, 0x00006002, 0x0f04a20f, 0x00003006,
- 0x80107206, 0x0000e502, 0x24828005, 0x00002003, 0x803ab0ec, 0x00005700,
- 0x00383800, 0x00000000, 0x803828ec, 0x00005700, 0x00000000, 0x00008080,
- 0x83800a0f, 0x0000e080, 0x04c02004, 0x00008900, 0x8fb83a0e, 0x0000a084,
- 0x01007c94, 0x00006281, 0xa9400aa5, 0x00000080, 0x01000c04, 0x0000e080,
- 0xa9c00aa7, 0x0000c080, 0x010027e4, 0x0000e000, 0x84581302, 0x00004900,
- 0x01c03804, 0x0000e300, 0xa9400000, 0x00008988, 0x8f802aec, 0x00007902,
- 0x01000000, 0x00000004, 0x8fb83a0e, 0x00002884, 0xffffffff, 0x00007f97,
- 0xd2800404, 0x0000f893, 0x18c00000, 0x00000f8d, 0x293c1ca4, 0x0000e101,
- 0x0805340f, 0x0000a084, 0x83cffba7, 0x0000e280, 0x03bc1c0f, 0x00008001,
- 0x03bc1a0f, 0x00006000, 0x002070a6, 0x0000a084, 0x000fe80e, 0x0000e582,
- 0x69b41da6, 0x00008001, 0x839d3f83, 0x0000e050, 0x838013a7, 0x000000b8,
- 0xffffffff, 0x00007f86, 0x80000207, 0x0000e582, 0x83907783, 0x00008038,
- 0x48800800, 0x00006191, 0xa000081b, 0x00006411, 0xe9d0720e, 0x00001900,
- 0xcc953ba5, 0x0000f817, 0xf0c00000, 0x00001181, 0x00001477, 0x0000e583,
- 0x86c0140e, 0x00008881, 0x9138de5c, 0x0000d004, 0x0038d000, 0x00000000,
- 0x06c00000, 0x0000f900, 0x00008000, 0x00000980, 0xde5aeb79, 0x0000e108,
- 0x0902441b, 0x00002006, 0x9f5aea7d, 0x0000e110, 0x0642e01b, 0x00002101,
- 0x90bbc45c, 0x0000383c, 0x90bbd65c, 0x0000383c, 0x90fbe05c, 0x0000b83c,
- 0x90fbf25c, 0x0000b83c, 0x90fc045c, 0x0000383c, 0x90fba65c, 0x0000383c,
- 0x913bb05c, 0x0000383c, 0x917c705c, 0x00005004, 0x0038c800, 0x00000000,
- 0x9178c25c, 0x0000d004, 0x00387800, 0x00008000, 0x91786c5c, 0x00005004,
- 0x00385800, 0x00000000, 0x9178565c, 0x00005004, 0x00386000, 0x00008000,
- 0x903b045c, 0x0000b83c, 0x903b165c, 0x0000b83c, 0x907b205c, 0x0000383c,
- 0x907b325c, 0x0000383c, 0x907b445c, 0x0000b83c, 0x907b565c, 0x0000b83c,
- 0x90bb605c, 0x0000b83c, 0x90bb725c, 0x0000b83c, 0xc5289000, 0x00006180,
- 0x86924248, 0x0000c900, 0x86a23c47, 0x00006101, 0xc6b41f83, 0x00004001,
- 0x86e53394, 0x00000124, 0x060a27a7, 0x00008126, 0xcbc00783, 0x0000f88b,
- 0x48c00000, 0x00009183, 0x83c0328e, 0x0000e080, 0x1c400020, 0x00000980,
- 0x96c0580f, 0x0000f902, 0x01c00000, 0x00008000, 0x1c24a494, 0x0000e101,
- 0xa0c01283, 0x00004180, 0xdc7ca794, 0x00001901, 0xffffffff, 0x00007f86,
- 0x02c0080b, 0x00001082, 0x22b117ab, 0x00007500, 0x01c00007, 0x00009084,
- 0x96f8580f, 0x00005000, 0x00383800, 0x00000000, 0xc1d53ba5, 0x0000e202,
- 0xc5280000, 0x00008980, 0x06c00000, 0x00006180, 0x060538a7, 0x0000c900,
- 0x865532a6, 0x0000e100, 0x0902441b, 0x0000e006, 0x06b23c48, 0x00000129,
- 0x000022cf, 0x0000f410, 0xc6522244, 0x00006100, 0xc6bc1e83, 0x00004001,
- 0x8538570a, 0x0000e101, 0x69b41da6, 0x00004001, 0x800002a5, 0x00006582,
- 0x01c01aa5, 0x00000880, 0x83800aa5, 0x0000e080, 0x0e45340f, 0x0000a008,
- 0x03c00c0f, 0x00006489, 0x04400100, 0x00000980, 0x71e078a6, 0x00006008,
- 0x71e07819, 0x0000b008, 0x01c02007, 0x00006002, 0xa9400aa5, 0x00000080,
- 0x01000005, 0x0000e084, 0x04020800, 0x00000980, 0x80107206, 0x0000e502,
- 0x84581302, 0x00008900, 0x000820ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x04b82707, 0x0000810c, 0xa9400000, 0x00001988, 0xc0000783, 0x0000e583,
- 0xa9c00aa7, 0x00000080, 0x293c1ca4, 0x00006111, 0x0805340f, 0x00002094,
- 0x03bc1c0f, 0x00009011, 0x00001f6a, 0x0000f008, 0x83cffba7, 0x0000e280,
- 0x002070a6, 0x0000a084, 0x03bc1a0f, 0x00009000, 0x000fe80e, 0x00001582,
- 0x839d3f83, 0x0000e050, 0x838013a7, 0x000000b8, 0x001028ec, 0x00005780,
- 0x009054c0, 0x000001c0, 0x83907783, 0x00001038, 0xffffffff, 0x00007f86,
- 0xe9d0720e, 0x00001900, 0x5fed35a4, 0x00007813, 0x88c00000, 0x00008e8e,
- 0xc010635d, 0x00001502, 0x83d06a0c, 0x00006030, 0x46a4a494, 0x00008931,
- 0x81daea0f, 0x0000e130, 0x06c80000, 0x000009b0, 0x000022f2, 0x00007018,
- 0x00001ee1, 0x00007400, 0x86c1110d, 0x0000012d, 0xc6906b5d, 0x0000e100,
- 0xc333801b, 0x00002006, 0xc0106308, 0x00001502, 0x00002236, 0x00007023,
- 0x8318420c, 0x00006100, 0x03c00c0f, 0x00000081, 0x8d906308, 0x0000f822,
- 0x71000000, 0x00001187, 0x82906b5d, 0x00001100, 0x8010520c, 0x00009502,
- 0x03c01000, 0x000061a9, 0x8290620a, 0x0000c128, 0x03c00800, 0x000099a1,
- 0x000022ff, 0x0000f028, 0x06c00000, 0x00006180, 0x81d0520c, 0x00004100,
- 0x46a4a494, 0x00006101, 0x8220781b, 0x0000e006, 0x00001d59, 0x00007400,
- 0x8688690a, 0x0000012e, 0x03411407, 0x0000012d, 0x8010520c, 0x00009502,
- 0x000022f8, 0x0000f023, 0x8290620a, 0x00006100, 0x03c00c0f, 0x00000081,
- 0xbe10520c, 0x00007822, 0x09000000, 0x00001188, 0x00008804, 0x00001582,
- 0x0000a804, 0x00009582, 0xffffffff, 0x00007f86, 0x0000230a, 0x0000f008,
- 0x00002310, 0x00007010, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x04107004, 0x00006987, 0x700008ec, 0x00005680,
- 0x00382002, 0x00008000, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x0107f808, 0x00006280,
- 0x09c03807, 0x00000900, 0x2319112b, 0x0000f500, 0x09b82f06, 0x00000214,
- 0x08802004, 0x00009900, 0xffc00000, 0x00006180, 0x08001a04, 0x00006106,
- 0x01800000, 0x0000f900, 0x00002580, 0x00008980, 0x00102006, 0x00006984,
- 0x733830ec, 0x0000d600, 0x00000000, 0x00008080, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x11000000, 0x0000e181, 0x0020280f, 0x00006086,
- 0x1bc02004, 0x0000e100, 0x8228280f, 0x0000e086, 0x0418280f, 0x0000e987,
- 0x0400780f, 0x00001900, 0x1b16a800, 0x0000f900, 0x00108704, 0x00008980,
- 0x1b808010, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c074ec, 0x0000f902,
- 0x03400000, 0x00000604, 0xffffffff, 0x00007fa7, 0x03c0700e, 0x0000e100,
- 0x0000200d, 0x0000e586, 0x1b40780f, 0x00006100, 0x0428280d, 0x00006087,
- 0x2336114d, 0x00007500, 0x8620280d, 0x00006887, 0x1ac0680d, 0x00001900,
- 0x72803405, 0x0000c388, 0x00403405, 0x00008098, 0x6c001405, 0x0000c388,
- 0x00401c05, 0x00000088, 0xd1400c05, 0x0000788a, 0xb9000000, 0x0000918d,
- 0x78e00444, 0x0000c690, 0x9a404405, 0x0000888f, 0xec004405, 0x0000f8aa,
- 0x11000000, 0x0000918a, 0xf3400444, 0x0000f88a, 0x39000000, 0x0000118e,
- 0x03c05405, 0x00009181, 0x0e80340f, 0x0000c598, 0x08a00444, 0x0000088a,
- 0x2348151b, 0x0000f404, 0x0db83f06, 0x00008324, 0x0e009f00, 0x00009980,
- 0x00000434, 0x00001583, 0x83ff1fe3, 0x00009908, 0x84c0780f, 0x0000a088,
- 0x00002351, 0x00007010, 0xffffffff, 0x00007f97, 0x03c03c0f, 0x00001281,
- 0x03c0140f, 0x00001181, 0x00000c0f, 0x00001583, 0x00002355, 0x0000701b,
- 0x000023a5, 0x0000f400, 0xc2383834, 0x00000014, 0x01e20000, 0x00007900,
- 0x00216794, 0x00008980, 0x35b87433, 0x00002080, 0x03400000, 0x00009980,
- 0x0028600d, 0x0000e886, 0x0428600d, 0x0000e887, 0x83c00c0e, 0x00006780,
- 0x8230600d, 0x0000a086, 0x03000c0e, 0x00001283, 0xf7f86c0f, 0x00002814,
- 0xf7f86c0f, 0x0000a88c, 0xf3400444, 0x0000f88a, 0x39000000, 0x0000118e,
- 0x03400c0c, 0x0000e283, 0x83c00c0c, 0x00008780, 0xf7f8740f, 0x0000a014,
- 0xf7f8740f, 0x0000208c, 0xffffffff, 0x00007fa7, 0x4020750c, 0x00001503,
- 0x83a8650c, 0x0000e111, 0x03a8650c, 0x00004911, 0x8028760c, 0x00009503,
- 0xc000070c, 0x00009583, 0xffffffff, 0x00007f86, 0x0000236d, 0x00007010,
- 0x0000238d, 0x0000f008, 0xc000070c, 0x00006583, 0x13000000, 0x00000980,
- 0x12c00000, 0x0000f900, 0x003fc000, 0x00008980, 0x92880800, 0x00006180,
- 0xd320640c, 0x0000c901, 0x0000237d, 0x00007210, 0x037060e5, 0x00006408,
- 0x92f0660c, 0x00000901, 0xffffffff, 0x00007f86, 0x0368700d, 0x00001202,
- 0x03400000, 0x00001981, 0x03400800, 0x00001991, 0xffffffff, 0x00007f86,
- 0x0228740e, 0x0000c509, 0x8100040d, 0x0000808c, 0x4000050e, 0x0000e583,
- 0x03400000, 0x00008981, 0x03400800, 0x00006191, 0x92c00000, 0x00004981,
- 0xffffffff, 0x00007f86, 0x7188740e, 0x0000c908, 0x1840040d, 0x0000888f,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x238818a4, 0x00007100, 0x03400c0c, 0x0000e283, 0x83c00c0c, 0x00008780,
- 0xf7f8740f, 0x0000a014, 0xf7f8740f, 0x0000208c, 0x43b0660c, 0x00001901,
- 0xffffffff, 0x00007f86, 0x03000c0c, 0x00006283, 0x83c00c0c, 0x00008780,
- 0xf7f8740f, 0x00002814, 0xf7f8740f, 0x0000a88c, 0xf3400444, 0x0000f88a,
- 0x39000000, 0x0000118e, 0x2399151b, 0x0000f404, 0x11000800, 0x00006181,
- 0x0d803006, 0x0000c900, 0x0e009e00, 0x00006180, 0x0e403807, 0x0000c900,
- 0x00000434, 0x00001583, 0x83ff1fe3, 0x00009908, 0x84c0780f, 0x0000a088,
- 0x000023a2, 0x00007010, 0xffffffff, 0x00007f97, 0x03c03c0f, 0x00001281,
- 0x03c0140f, 0x00001181, 0x00000c0f, 0x00001583, 0x000023a6, 0x0000701b,
- 0xc2383834, 0x00000014, 0x01e95800, 0x00007900, 0x00216794, 0x00008980,
- 0x23a62314, 0x00007100, 0x35b86e33, 0x0000a080, 0xffffffff, 0x00007fa7,
- 0x0301040d, 0x00001283, 0x03000000, 0x00009990, 0x0800420c, 0x00006916,
- 0x000023c5, 0x0000f008, 0x23ae23ec, 0x0000f300, 0x0640600c, 0x00001900,
- 0xf3400444, 0x0000f88a, 0x39000000, 0x0000118e, 0x03000000, 0x00001980,
- 0x23b42413, 0x0000f500, 0x0800420c, 0x0000e906, 0x0a40600c, 0x00001900,
- 0x11000800, 0x00001981, 0xf3400444, 0x0000f88a, 0x39000000, 0x0000118e,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02ff1800, 0x00007900,
- 0x00216792, 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x03400000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x02b82702, 0x00008020, 0x23c5109e, 0x00007500, 0x01882805, 0x00008018,
- 0x81c02800, 0x00006180, 0xc1982b05, 0x0000c900, 0x00000444, 0x00009583,
- 0x000023cd, 0x0000700b, 0x08001a0f, 0x00006906, 0x03400000, 0x00007900,
- 0x00002580, 0x00008980, 0x0010780d, 0x00006984, 0x733868ec, 0x00005600,
- 0x00000000, 0x00008080, 0x00000444, 0x00006583, 0x04c00000, 0x00000980,
- 0x0300b000, 0x0000e191, 0x0300b800, 0x00004989, 0x04009000, 0x00007900,
- 0x0000c000, 0x00008980, 0x00000444, 0x00006583, 0x8420640c, 0x00008901,
- 0x03001000, 0x0000e191, 0x03222444, 0x0000c909, 0x04400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x00000444, 0x00006583, 0x00206011, 0x00002006,
- 0x03000000, 0x0000e181, 0x00004013, 0x0000e106, 0x03000800, 0x0000e191,
- 0xc0001813, 0x0000e006, 0x04b82702, 0x00000110, 0x05402805, 0x00006100,
- 0xd3606011, 0x00006004, 0x03000c44, 0x0000e281, 0x05803006, 0x00008900,
- 0x05c03807, 0x0000e100, 0x86206011, 0x0000e001, 0x06004008, 0x0000e100,
- 0x96606011, 0x0000e001, 0x06785709, 0x00000128, 0x06c0580b, 0x00009900,
- 0x009826ec, 0x00005f80, 0x00005000, 0x00000084, 0x0278c4ec, 0x00002180,
- 0xffffffff, 0x00007fa7, 0x0000f818, 0x00001582, 0x01810000, 0x0000e198,
- 0x01400000, 0x00004998, 0x823f1fe3, 0x0000e118, 0x81b71ee3, 0x0000c919,
- 0x00002401, 0x00007030, 0x0010c805, 0x00006186, 0x08001a09, 0x0000b106,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02ce8800, 0x0000f900,
- 0x0010758a, 0x00000980, 0x0315f800, 0x0000f900, 0x001bc4f4, 0x00008980,
- 0x82280118, 0x00000026, 0x2401109e, 0x00007500, 0x82781400, 0x00000028,
- 0x81c06800, 0x0000e180, 0x03402805, 0x00004900, 0x8700fa19, 0x0000e280,
- 0x06000818, 0x00000080, 0x0278c4ec, 0x0000a980, 0x0710e7e4, 0x00006000,
- 0x0e80ca18, 0x0000e086, 0x86013a18, 0x0000f900, 0x00000008, 0x00000080,
- 0x0000d818, 0x00007902, 0x06800000, 0x00008000, 0x0641fc19, 0x00009281,
- 0x0000fc19, 0x00009583, 0xffffffff, 0x00007f86, 0x0680d01c, 0x0000e318,
- 0x06c0d81c, 0x00008330, 0x00000001, 0x00007480, 0xffffffff, 0x00007f86,
- 0x0038d818, 0x0000d000, 0x0038d000, 0x00000000, 0x8900fa29, 0x00006280,
- 0x84800000, 0x00008981, 0x099127e4, 0x0000e000, 0x09c1fc29, 0x00004281,
- 0x0e814a24, 0x00006886, 0x89013a24, 0x0000f900, 0x00000008, 0x00000080,
- 0x00014024, 0x00007902, 0x09400000, 0x00008000, 0x0880fc27, 0x0000f89b,
- 0x01000001, 0x00008080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x00002423, 0x0000f200, 0x09414026, 0x00009202, 0x09412826, 0x00001202,
- 0x09400000, 0x00001981, 0x09400800, 0x00001991, 0xffffffff, 0x00007f86,
- 0x00000425, 0x00001583, 0x02792cec, 0x00002190, 0x00000001, 0x0000f089,
- 0xffffffff, 0x00007f86, 0x00000025, 0x00001582, 0x02000000, 0x00006188,
- 0x01810000, 0x00004988, 0x01400000, 0x0000e188, 0x823f1fe3, 0x00004908,
- 0x0000243d, 0x0000f010, 0x00114805, 0x00006186, 0x08001a09, 0x0000b106,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02d2a000, 0x00007900,
- 0x0010758a, 0x00000980, 0x0315f800, 0x0000f900, 0x001bc4f4, 0x00008980,
- 0x01a802e3, 0x00008026, 0x243d109e, 0x00007500, 0x82781400, 0x00000028,
- 0x81c06800, 0x0000e180, 0x03402805, 0x00004900, 0x0000fc27, 0x0000e583,
- 0x0a000020, 0x00000980, 0x84800800, 0x0000e181, 0x00114828, 0x0000e184,
- 0x733940ec, 0x0000d600, 0x00000000, 0x00008080, 0x00392824, 0x0000a000,
- 0x0a0130e5, 0x00001400, 0x00393024, 0x00002080, 0xffffffff, 0x00007f86,
- 0x09412828, 0x00001218, 0xffffffff, 0x00007f86, 0x09813028, 0x00001230,
- 0x00392824, 0x00002800, 0x00393024, 0x0000a880, 0x027924ec, 0x00002180,
- 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x09000824, 0x00001180,
- 0x027924ec, 0x0000a980, 0x81c00000, 0x00006180, 0xc15722e4, 0x0000c900,
- 0x85c03207, 0x0000e780, 0x8180fa07, 0x00000280, 0x82c03217, 0x00006080,
- 0x81c1fa07, 0x0000c280, 0x85c13a17, 0x0000f900, 0x00000008, 0x00000080,
- 0x00005017, 0x00007902, 0x02000000, 0x00008000, 0x8000fa07, 0x00006582,
- 0x019037e4, 0x00008800, 0x02800000, 0x00006198, 0x018032ec, 0x00004100,
- 0xffffffff, 0x00007f86, 0x02805006, 0x0000e230, 0x02004006, 0x00008218,
- 0xffffffff, 0x00007f86, 0x0000000a, 0x00009582, 0x0180500a, 0x00009b10,
- 0x85d0320b, 0x00001010, 0x0000246c, 0x00007008, 0x8009fa17, 0x00001582,
- 0xb9182b05, 0x00001918, 0x000024b9, 0x0000f031, 0xffffffff, 0x00007f86,
- 0x00000000, 0x00007083, 0x00000008, 0x00001582, 0x01804008, 0x00009b10,
- 0x85c10206, 0x00001090, 0x00002476, 0x0000f008, 0x81905a17, 0x00009000,
- 0x8009fa06, 0x00001582, 0xb9182b05, 0x00001918, 0x000024bb, 0x00007031,
- 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x85c00a17, 0x00006080,
- 0x82c2020b, 0x00000080, 0x8009fa0b, 0x00009582, 0x00005017, 0x00007902,
- 0x02000000, 0x00008000, 0xb9182b05, 0x00001918, 0x00002462, 0x00007030,
- 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x0220020b, 0x0000f900,
- 0x000002e8, 0x00000080, 0x09800800, 0x0000f900, 0x00004000, 0x00000980,
- 0x24861221, 0x00007404, 0x0a400001, 0x000002dc, 0x0a004008, 0x00009900,
- 0x0210020b, 0x0000f900, 0x000002e8, 0x00000080, 0x85c02d00, 0x00006080,
- 0x0a400800, 0x00004980, 0x09800800, 0x0000f900, 0x00004000, 0x00000980,
- 0x248f1221, 0x00007404, 0x35b86417, 0x0000a080, 0x0a000708, 0x0000829c,
- 0x85c02d00, 0x00001880, 0x35b83c17, 0x00002080, 0x84e0b80d, 0x0000a000,
- 0xffffffff, 0x00007fa7, 0xc010bb16, 0x00001502, 0x01800000, 0x00009988,
- 0x81905a0b, 0x00009908, 0x000024b3, 0x0000f010, 0x24992413, 0x00007300,
- 0x0a403006, 0x00001900, 0x80000612, 0x00009583, 0x05c03807, 0x00001910,
- 0x000024b3, 0x00007009, 0x00000007, 0x00001582, 0x01803e0c, 0x00001291,
- 0x000024a1, 0x00007009, 0x00001406, 0x00001583, 0x000024b3, 0x0000f00b,
- 0x01400000, 0x00006180, 0xc190ba17, 0x0000c900, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x0c006417, 0x00006004, 0x00371805, 0x00003086,
- 0x82106a0d, 0x0000e100, 0x08001a09, 0x0000e106, 0x033d3000, 0x00007900,
- 0x002f0a84, 0x00000980, 0x8228010b, 0x00008026, 0x02fb0800, 0x00007900,
- 0x001f26d4, 0x00008980, 0x82781400, 0x00000028, 0x24b3109e, 0x00007500,
- 0x81c07000, 0x0000e180, 0x81a0bc17, 0x00004900, 0x03402805, 0x00001900,
- 0x81c00a0b, 0x00009080, 0x800a0207, 0x00001582, 0xb9182b05, 0x00009908,
- 0x00002453, 0x0000f011, 0xffffffff, 0x00007f86, 0x00000000, 0x00007083,
- 0x000024bc, 0x0000f200, 0x82d0320b, 0x00001000, 0x82d05a17, 0x00001000,
- 0x05c00a0b, 0x00006080, 0x0a401000, 0x00004980, 0x02200017, 0x0000f900,
- 0x000002ea, 0x00008080, 0x24c41221, 0x00007404, 0x09800800, 0x0000f900,
- 0x00004000, 0x00000980, 0x0a000708, 0x0000829c, 0x85c02d00, 0x00001880,
- 0x3580b417, 0x0000f902, 0x01800000, 0x00000000, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x2cc00006, 0x0000f88b, 0xf9000000, 0x00009283,
- 0x1bc0c018, 0x0000e100, 0x0020c806, 0x0000e086, 0x8228c806, 0x0000e886,
- 0x0418c806, 0x00006987, 0x01c03006, 0x00001900, 0x1b213000, 0x0000f900,
- 0x00121ae8, 0x00000980, 0x1b803807, 0x00001900, 0xffffffff, 0x00007ff7,
- 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
- 0x01002805, 0x00001900, 0x01802004, 0x0000e100, 0x00002004, 0x0000e586,
- 0x1b403006, 0x00006100, 0x0428c804, 0x0000e087, 0x24df114d, 0x00007500,
- 0x8620c804, 0x0000e887, 0x1ac02004, 0x00001900, 0xa5206c19, 0x0000c388,
- 0x00406c19, 0x00008098, 0xa3805c19, 0x00004188, 0x00406419, 0x00008090,
- 0x10600a02, 0x0000c58e, 0x00600c24, 0x00008493, 0x0aa00a02, 0x0000c795,
- 0x87007419, 0x0000018b, 0x47008419, 0x0000789b, 0x49000000, 0x00001289,
- 0x13c00004, 0x00006180, 0x43005800, 0x0000c981, 0x13001000, 0x0000f900,
- 0x00010000, 0x00000980, 0x13701800, 0x0000f900, 0x00044080, 0x00000980,
- 0x14000000, 0x0000f900, 0x00001000, 0x00000980, 0x000098ec, 0x00005780,
- 0x00005801, 0x00008080, 0x93901202, 0x00006100, 0x0000184f, 0x00006106,
- 0x13800502, 0x00008584, 0x14800000, 0x000085cc, 0x15000000, 0x000085d4,
- 0x15800000, 0x000085dc, 0x00002529, 0x00007400, 0x16000000, 0x000085e4,
- 0x16c00000, 0x000085e8, 0x13c00004, 0x00006180, 0x11c00004, 0x0000c980,
- 0x13001000, 0x0000f900, 0x00010000, 0x00000980, 0x13701800, 0x0000f900,
- 0x00044080, 0x00000980, 0x11001000, 0x00007900, 0x00008000, 0x00000980,
- 0x11580800, 0x0000f900, 0x00044080, 0x00000980, 0x001088ec, 0x00005780,
- 0x009844c0, 0x00008280, 0x0000184f, 0x00006106, 0x00001847, 0x0000b106,
- 0x13a81402, 0x00008438, 0x11a81402, 0x00008418, 0x12200000, 0x0000e180,
- 0x12400000, 0x0000c980, 0x12800000, 0x000084ec, 0x14000001, 0x000005c4,
- 0x14800000, 0x000085cc, 0x15000000, 0x000085d4, 0x15800000, 0x000085dc,
- 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x17000804, 0x00006180,
- 0x17400000, 0x0000c980, 0x17800000, 0x0000e180, 0x17d30020, 0x00004980,
- 0x19c00000, 0x00009980, 0x5a800a02, 0x0000f88f, 0x99000000, 0x0000128b,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02f56800, 0x0000f900,
- 0x00157802, 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x03400000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x2529109e, 0x0000f500, 0x02b8c702, 0x00000020, 0x81c02800, 0x00006180,
- 0x0180c819, 0x0000c900, 0x81401000, 0x000000d2, 0x40c00403, 0x000080ec,
- 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x02400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x0000180b, 0x00006106, 0xd3602809, 0x00003004,
- 0x02009000, 0x00007900, 0x00032280, 0x00000980, 0x000810ec, 0x0000d780,
- 0x00905180, 0x000005c0, 0xc0002000, 0x00006181, 0xc000180b, 0x0000e006,
- 0x40781604, 0x00008028, 0x008806ec, 0x00005f80, 0x008848c0, 0x000001c4,
- 0x03000000, 0x00006180, 0x13c00004, 0x00004980, 0x14c00000, 0x00006180,
- 0x0781200c, 0x00006000, 0x13001000, 0x0000f900, 0x00010000, 0x00000980,
- 0x13701800, 0x0000f900, 0x00044080, 0x00000980, 0x000098ec, 0x00005780,
- 0x00005801, 0x00008080, 0x04000000, 0x0000e180, 0x0000184f, 0x00006106,
- 0x04400000, 0x000001c8, 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8,
- 0x05c00000, 0x00006180, 0x03421042, 0x00004900, 0x03b9ef3c, 0x0000003c,
- 0x13a81402, 0x00008438, 0x14008000, 0x000005c4, 0x14800000, 0x000005d0,
- 0x15400000, 0x000005d8, 0x15c00000, 0x000005e0, 0x16400000, 0x000005e8,
- 0x00002564, 0x00007400, 0x16c00000, 0x0000e180, 0xc319532a, 0x0000c900,
- 0x94da1b43, 0x00001900, 0x04c00000, 0x0000e180, 0x0d412404, 0x0000e080,
- 0xc4c10404, 0x00006381, 0x04840000, 0x00000980, 0x03400000, 0x0000e180,
- 0x12812013, 0x0000e001, 0x05000000, 0x00006180, 0x23012013, 0x0000e001,
- 0x05400000, 0x000001d8, 0x05c00000, 0x00006180, 0x03021042, 0x0000c900,
- 0x03b97f2e, 0x0000003c, 0x0439ef3c, 0x00000104, 0xc491522a, 0x00009900,
- 0x0000252a, 0x00007200, 0x81400801, 0x000080d2, 0x41000d24, 0x00001283,
- 0x00002529, 0x00007400, 0x0b412404, 0x0000e890, 0xc4c10404, 0x00001391,
- 0x18c00000, 0x00006180, 0x9890620c, 0x0000c900, 0x18009000, 0x0000f900,
- 0x0000a180, 0x00008980, 0x0000257b, 0x0000f400, 0x18401000, 0x0000f900,
- 0x0001c008, 0x00008980, 0xd898630c, 0x00006100, 0xc0001863, 0x00006006,
- 0x18c00000, 0x00006180, 0x98906a0d, 0x0000c900, 0x18009000, 0x0000f900,
- 0x0000a180, 0x00008980, 0x18401000, 0x0000f900, 0x0001c008, 0x00008980,
- 0xd8986b0d, 0x00006100, 0xc0001863, 0x00006006, 0x81000a02, 0x00006282,
- 0x59c00000, 0x00008980, 0x0018b8ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x19392f24, 0x00000614, 0x00002529, 0x00007400, 0x1980f01e, 0x0000e100,
- 0x99c00800, 0x0000c989, 0x99d8cb19, 0x00009900, 0x1bc0600c, 0x0000e100,
- 0x00206806, 0x0000e086, 0x82286806, 0x0000e886, 0x04186806, 0x00006987,
- 0x01c03006, 0x00001900, 0x1b38a000, 0x00007900, 0x00157802, 0x00008980,
- 0x1b803807, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100,
- 0x00002004, 0x0000e586, 0x1b403006, 0x00006100, 0x04286804, 0x0000e087,
- 0x2597114d, 0x0000f500, 0x86206804, 0x0000e887, 0x1ac02004, 0x00001900,
- 0xbec03c0d, 0x00004198, 0x00402c0d, 0x000080a0, 0xb3e0140d, 0x0000c488,
- 0xda40140d, 0x0000099b, 0x02400c0d, 0x0000c788, 0x0140540d, 0x000081b1,
- 0x6bc08c0d, 0x0000f893, 0x69000000, 0x0000128d, 0x01800000, 0x00006180,
- 0x0140800c, 0x00004780, 0x61782206, 0x00002180, 0xffffffff, 0x00007fa7,
- 0x0100a004, 0x00009780, 0x01002004, 0x00001880, 0x00002804, 0x00009502,
- 0x61782206, 0x0000a190, 0x010728e5, 0x00009908, 0xffffffff, 0x00007f97,
- 0x61782206, 0x0000a980, 0x01800806, 0x00009080, 0x000a0006, 0x00009582,
- 0x000025a1, 0x00007013, 0x000025f7, 0x00007200, 0x01800000, 0x00009981,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x01b86f0c, 0x00008014,
- 0x02fbb800, 0x0000f900, 0x00157802, 0x00008980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x82781400, 0x00000028, 0x25bc109e, 0x0000f500, 0x41c00005, 0x000080f4,
- 0x01b83705, 0x00008020, 0x01001000, 0x00009981, 0x00000406, 0x00006583,
- 0x02001008, 0x00000380, 0x02008008, 0x00006380, 0xc000180b, 0x00002006,
- 0x027f8009, 0x00007900, 0x003ffffe, 0x00008280, 0xc2202404, 0x0000e101,
- 0xd0000009, 0x0000e404, 0x01044800, 0x00006191, 0x01045000, 0x00004989,
- 0x00000406, 0x00006583, 0x80002009, 0x00002405, 0x01000c06, 0x00006281,
- 0x82202404, 0x00008901, 0x86202009, 0x0000e801, 0x01001000, 0x00006191,
- 0x96602009, 0x00006001, 0x00000406, 0x00006583, 0x01000000, 0x00000989,
- 0x0280600c, 0x00006110, 0x01400000, 0x0000c990, 0x01d30020, 0x00006190,
- 0x00202009, 0x00006006, 0x000025da, 0x0000f208, 0x01000804, 0x00006190,
- 0xd3603009, 0x00006004, 0x01800000, 0x00001980, 0x00980eec, 0x00005f80,
- 0x00005000, 0x00000084, 0x02800502, 0x000001a0, 0x06400000, 0x000001e8,
- 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0,
- 0x08400000, 0x000002c8, 0x08c00000, 0x000082d0, 0x09400000, 0x000002d8,
- 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0,
- 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0, 0x0c400000, 0x000003c8,
- 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8, 0x0dc00000, 0x00009980,
- 0x008016ec, 0x00005f80, 0x00005003, 0x00000084, 0x0280a014, 0x0000e100,
- 0x02c00004, 0x00004980, 0x0200e000, 0x0000f900, 0x000122c0, 0x00000980,
- 0x02401000, 0x00007900, 0x0001c000, 0x00000980, 0x0010a80b, 0x0000e906,
- 0x008016ec, 0x00005f80, 0x00005001, 0x00008084, 0x01800800, 0x00001981,
- 0x00000406, 0x00006583, 0x02000000, 0x00000980, 0x02400000, 0x000000e8,
- 0x01006000, 0x0000e189, 0x02c00000, 0x0000c980, 0x000025bd, 0x0000f008,
- 0x000025bc, 0x0000f000, 0x01800000, 0x00001980, 0x61782206, 0x00002180,
- 0xffffffff, 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004, 0x00001880,
- 0x00102804, 0x00001502, 0x61782206, 0x0000a190, 0x010728e5, 0x00009908,
- 0xffffffff, 0x00007f97, 0x61782206, 0x0000a980, 0x01800806, 0x00009080,
- 0x000a0006, 0x00009582, 0x000025ff, 0x0000f013, 0x00000001, 0x0000f080,
- 0x00440c08, 0x0000c589, 0x80642c08, 0x0000008e, 0x01000000, 0x00009980,
- 0x00002617, 0x0000f400, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0xc1184b09, 0x00001900, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0xc118530a, 0x00001900, 0x700008ec, 0x00005680,
- 0x00382002, 0x00008000, 0x7fc00400, 0x000081fc, 0x074000a8, 0x0000e180,
- 0x0000181f, 0x00006106, 0x07001000, 0x0000f900, 0x00004000, 0x00000980,
- 0x000838ec, 0x0000d780, 0x00004800, 0x00008080, 0x87901202, 0x00006100,
- 0xc000181f, 0x0000e006, 0xc7981302, 0x00009900, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x7fc00400, 0x000087cc, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00001873, 0x00006106, 0x00000823, 0x00003401,
- 0x1c001000, 0x0000f900, 0x00008000, 0x00000980, 0x1c580800, 0x00007900,
- 0x00004080, 0x00008980, 0x0008e0ec, 0x0000d780, 0x00804040, 0x000000c8,
- 0xc0001873, 0x0000e006, 0x601ff826, 0x00003502, 0x00400000, 0x00007900,
- 0x00008150, 0x00008980, 0x1ca81402, 0x00008708, 0x21000004, 0x000008d4,
- 0x21800000, 0x000088dc, 0x40e02403, 0x000000c3, 0x008806ec, 0x00005f80,
- 0x008849c0, 0x000081c4, 0xc8000e23, 0x0000c48e, 0x2440272e, 0x0000898e,
- 0xe2404729, 0x0000c294, 0xa0411c3b, 0x0000890d, 0x12412734, 0x0000c510,
- 0x09212f35, 0x00000d12, 0xc1008729, 0x00009283, 0x26422625, 0x00007113,
- 0xc1000f2e, 0x00001283, 0x15000800, 0x0000e190, 0x16800000, 0x0000c990,
- 0x16c00000, 0x00006190, 0x15404128, 0x00004890, 0x000026aa, 0x0000f008,
- 0x81400b2b, 0x00006180, 0x17c80005, 0x00000980, 0x8143fa05, 0x0000e280,
- 0x1581782f, 0x00000900, 0x01402a05, 0x00006080, 0x15c1a034, 0x00004900,
- 0x0100f805, 0x0000e784, 0x1601602c, 0x00008900, 0x0140f005, 0x0000e002,
- 0x1641682d, 0x00000900, 0x0100f804, 0x00006004, 0x04100001, 0x00000980,
- 0x17810000, 0x0000f900, 0x00207fc0, 0x00008980, 0x000820ec, 0x0000d780,
- 0x00d87d40, 0x000001c0, 0x04402400, 0x00006180, 0x04800000, 0x00004980,
- 0x04c00000, 0x0000e180, 0xd7d81302, 0x0000c900, 0x17782f04, 0x00000530,
- 0xc100472e, 0x0000e283, 0x01800000, 0x00000981, 0x000026a7, 0x0000700b,
- 0x1d000000, 0x000007dc, 0xc1000f2e, 0x0000e283, 0x1d800000, 0x00000980,
- 0x1d400000, 0x00007900, 0x00001000, 0x00000980, 0x1e000000, 0x00006180,
- 0xe0000874, 0x00006413, 0x1e400000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x5e894929, 0x0000e100, 0xddd95b2b, 0x00004910,
- 0xc1002729, 0x00009283, 0x81002623, 0x00009283, 0x80000a2a, 0x00009582,
- 0x0000269f, 0x0000f010, 0x000026a5, 0x0000f008, 0x000026a3, 0x00007030,
- 0x81d1522a, 0x0000e304, 0x0151522a, 0x0000c900, 0x01c00c07, 0x00006081,
- 0x01000a07, 0x0000c180, 0x01402005, 0x00001704, 0x01400c05, 0x00001281,
- 0x01e03c05, 0x00001001, 0xdea03c07, 0x00009901, 0xc000072e, 0x00006583,
- 0x08c17404, 0x00002000, 0x82202074, 0x0000e002, 0xe0000875, 0x00003442,
- 0x01497128, 0x0000e040, 0x1b403000, 0x000089c0, 0x000026f7, 0x0000f048,
- 0x00000c06, 0x0000e583, 0x1cc00000, 0x00000980, 0x01400805, 0x0000e180,
- 0x00001873, 0x0000a106, 0x20ca0005, 0x0000e180, 0xc0001873, 0x0000e006,
- 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980, 0x1c001000, 0x0000f900,
- 0x00010000, 0x00000980, 0x1c701800, 0x0000f900, 0x00044080, 0x00000980,
- 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0010d8ec, 0x00005780,
- 0x00007801, 0x00000080, 0x1b800000, 0x000086fc, 0x1ca81402, 0x00008708,
- 0x20000000, 0x000088c4, 0x000026ef, 0x0000f408, 0x01002800, 0x00006181,
- 0x1e004005, 0x00004880, 0xe0d81302, 0x00001900, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00400008, 0x00006180, 0xc0c00000, 0x00004980,
- 0x40600e04, 0x00000083, 0x008806ec, 0x00005f80, 0x00004800, 0x00000084,
- 0x0100fc2a, 0x00001281, 0x00002c04, 0x00001583, 0x01f91f23, 0x00001909,
- 0x00002679, 0x0000f009, 0x0000267a, 0x00007200, 0xdea1542a, 0x00009901,
- 0x0000267a, 0x00007200, 0xde80f800, 0x00009981, 0x01003800, 0x00009981,
- 0xbbc00c06, 0x0000788b, 0xc1000000, 0x00001384, 0xc100272e, 0x00001283,
- 0x0d810020, 0x00006110, 0x0dc10821, 0x0000c910, 0x13000000, 0x00006190,
- 0x13800000, 0x0000c990, 0x00002718, 0x00007008, 0x001010ec, 0x0000d780,
- 0x009054c0, 0x000080c0, 0x001068ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x17c80005, 0x0000e180, 0x0901744c, 0x00006000, 0x03009000, 0x0000f900,
- 0x00012040, 0x00000980, 0x03401000, 0x0000f900, 0x0001c008, 0x00008980,
- 0x17800000, 0x00007900, 0x00207fc0, 0x00008980, 0x000820ec, 0x0000d780,
- 0x00d87dc0, 0x000000c0, 0x13c00000, 0x0000e180, 0x13401002, 0x0000c900,
- 0x02000824, 0x00006180, 0x02400000, 0x00004980, 0x02800000, 0x00006180,
- 0x02d300a0, 0x00004980, 0x03c00004, 0x0000e180, 0x8390e21c, 0x0000c900,
- 0xc398e31c, 0x00006100, 0x04004001, 0x0000c980, 0x04400002, 0x000081c8,
- 0x04c00000, 0x000085f0, 0x17400000, 0x0000e180, 0x88c00a23, 0x0000c080,
- 0x0939af34, 0x00000214, 0x17c00d02, 0x0000009a, 0xa9c0472e, 0x0000f88f,
- 0x01000000, 0x00009383, 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0,
- 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x001068ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x03009000, 0x0000f900, 0x00012040, 0x00000980,
- 0x03401000, 0x0000f900, 0x0001c008, 0x00008980, 0x00400000, 0x00007900,
- 0x000081d0, 0x00000980, 0x001838ec, 0x00005780, 0x00004800, 0x00008080,
- 0xcec03800, 0x0000e181, 0x88d1da3b, 0x0000c900, 0x0939af34, 0x00000214,
- 0x0db90f20, 0x0000031c, 0x13000001, 0x000004f8, 0x13c00000, 0x0000e180,
- 0x13401002, 0x0000c900, 0x02000804, 0x0000e180, 0x02400000, 0x00004980,
- 0x02800000, 0x00006180, 0x02d300a0, 0x00004980, 0x03c00004, 0x0000e180,
- 0x8390e21c, 0x0000c900, 0x03a01d1c, 0x0000808d, 0xc0002000, 0x00001981,
- 0x008806ec, 0x00005f80, 0x00004800, 0x00000084, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00008010, 0x00008980,
- 0x40e02403, 0x000000c3, 0x80602404, 0x00001901, 0x008806ec, 0x00005f80,
- 0x008849c0, 0x000081c4, 0x1cc00000, 0x0000e180, 0x60000875, 0x00006402,
- 0x20ca0005, 0x0000e180, 0x00001873, 0x00006106, 0x60000874, 0x00006403,
- 0xa0002875, 0x00003406, 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980,
- 0x1c001000, 0x0000f900, 0x00010000, 0x00000980, 0x1c701800, 0x0000f900,
- 0x00044080, 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080, 0x1f01a034, 0x00006100,
- 0xc0001873, 0x0000e006, 0x5ef9ae36, 0x0000071c, 0x1b400006, 0x000006f8,
- 0x1bc00000, 0x00006180, 0x9c901202, 0x00004900, 0x1c800502, 0x00008880,
- 0x20402800, 0x000000d2, 0xe0d81302, 0x00001900, 0xbbc00c06, 0x0000788b,
- 0xc1000000, 0x00001384, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0000269d, 0x00007400, 0x004000e8, 0x0000e180, 0xc0c00000, 0x00004980,
- 0xc0000800, 0x00001981, 0xc102072e, 0x00001283, 0x13000000, 0x00006190,
- 0x13400000, 0x0000c990, 0x13800000, 0x0000e190, 0x13c00000, 0x00004990,
- 0x0000265d, 0x00007008, 0x03c00000, 0x00006180, 0x1321a434, 0x0000c901,
- 0x03009000, 0x0000f900, 0x0000a100, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0,
- 0x02000804, 0x0000e180, 0xc000180f, 0x00006006, 0x02400000, 0x000000e8,
- 0x02d30020, 0x0000e180, 0x03801002, 0x00004900, 0x01800000, 0x00009981,
- 0xa9c0472e, 0x0000f88f, 0x01000000, 0x00009383, 0x00004404, 0x00006583,
- 0x06400000, 0x00008981, 0x06000000, 0x0000e181, 0x06400800, 0x00004991,
- 0xc0000705, 0x00006583, 0x00000823, 0x0000a401, 0x00000419, 0x0000e583,
- 0x06000800, 0x00000991, 0x0141fc04, 0x00009291, 0x0000273b, 0x00007011,
- 0x00000418, 0x00009583, 0x0141f800, 0x00006189, 0x0141ff05, 0x00004291,
- 0x00000419, 0x00001583, 0x01400800, 0x0000e191, 0x00202826, 0x00006082,
- 0x00002742, 0x0000f011, 0x00000418, 0x00009583, 0x01400000, 0x00006189,
- 0x01401000, 0x0000c991, 0x00000c19, 0x00006583, 0x06800000, 0x00000980,
- 0x61a02826, 0x0000e002, 0x0419d01a, 0x0000b187, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x05000000, 0x0000e188, 0x82302826, 0x00006004,
- 0x00002767, 0x00007410, 0x700008ec, 0x00005680, 0x0038d002, 0x00008000,
- 0x05400000, 0x00006188, 0xb2e82026, 0x0000e080, 0x05c00040, 0x0000e180,
- 0x02000804, 0x0000c980, 0x001020ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x03009000, 0x0000f900, 0x00012040, 0x00000980, 0x03401000, 0x0000f900,
- 0x0001c008, 0x00008980, 0x05800000, 0x0000e180, 0x04282808, 0x0000e001,
- 0x04b90f20, 0x0000010c, 0x093a2f44, 0x00000214, 0x043a2f44, 0x00000104,
- 0x13000001, 0x000004f8, 0x13c00000, 0x0000e180, 0x13401002, 0x0000c900,
- 0x02400000, 0x000000e8, 0x02d300a0, 0x00006180, 0x03c00004, 0x0000c980,
- 0x03a8e41c, 0x00008038, 0x00002778, 0x00007400, 0xc5e02404, 0x00006101,
- 0x85c00a23, 0x00004080, 0x88c00a23, 0x00009080, 0x00000c18, 0x00001583,
- 0x13000000, 0x00006188, 0x13400000, 0x0000c988, 0x13800000, 0x0000e188,
- 0x13c00000, 0x00004988, 0x0000277a, 0x0000f010, 0x03c00000, 0x00006180,
- 0x13382f05, 0x0000c901, 0x03009000, 0x0000f900, 0x0000a100, 0x00000980,
- 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x02000804, 0x0000e180,
- 0xc000180f, 0x00006006, 0x02400000, 0x000000e8, 0x03801002, 0x00006100,
- 0x02d30020, 0x0000c980, 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0,
- 0x1cc00000, 0x0000e180, 0x1c801002, 0x0000c900, 0x21002000, 0x0000e180,
- 0x00001873, 0x00006106, 0x1c001000, 0x0000f900, 0x00008000, 0x00000980,
- 0x1c580800, 0x00007900, 0x00004080, 0x00008980, 0x21400020, 0x00006180,
- 0xc0001873, 0x0000e006, 0x21c00000, 0x000088d8, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0088e0ec, 0x00005780,
- 0x00804040, 0x000000c8, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x80003605, 0x00009583, 0x1d080000, 0x00006190,
- 0x1d800000, 0x00004990, 0x1d400000, 0x0000f910, 0x00001010, 0x00008980,
- 0x000027b1, 0x00007008, 0x1e800000, 0x00007900, 0x00180000, 0x00008980,
- 0x1e800639, 0x0000878c, 0x8630287a, 0x00006081, 0x00001873, 0x00003106,
- 0x0149f138, 0x00006000, 0x20ca0005, 0x00000980, 0x01401005, 0x0000e180,
- 0xc0001873, 0x00002006, 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980,
- 0x1c001000, 0x0000f900, 0x00010000, 0x00000980, 0x1c701800, 0x0000f900,
- 0x00044080, 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080, 0x1dc00000, 0x000087e4,
- 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc03000, 0x000006f4,
- 0x1b800000, 0x000086fc, 0x1ca81402, 0x00008708, 0x20000000, 0x000088c4,
- 0x000027b2, 0x00007400, 0x01001800, 0x00006181, 0xe0d81302, 0x00004900,
- 0x1e004005, 0x00001880, 0x01002800, 0x00001981, 0x05c00000, 0x000081e8,
- 0x00003817, 0x00006106, 0x08003a1a, 0x0000b106, 0x05006000, 0x0000f900,
- 0x00008000, 0x00000980, 0x05580800, 0x0000f900, 0x00004080, 0x00008980,
- 0x06400000, 0x00007900, 0x00004042, 0x00000980, 0x05803006, 0x00006100,
- 0xc0003817, 0x0000e006, 0x06c00000, 0x000001e0, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780,
- 0x00004800, 0x00008080, 0x40e00403, 0x00000ffd, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00008010, 0x00008980,
- 0x40602604, 0x00000083, 0x008806ec, 0x00005f80, 0x008849c0, 0x000081c4,
- 0x81000e23, 0x00006283, 0x0800302d, 0x0000a206, 0x0a3ff82d, 0x00007900,
- 0x000000fe, 0x00008280, 0x0b404028, 0x00001880, 0x00002b6f, 0x00007010,
- 0xc100473e, 0x00009283, 0x01003800, 0x00006189, 0x01002800, 0x0000c991,
- 0x5e000f3e, 0x0000c297, 0xb040173e, 0x00000997, 0xedc0383c, 0x0000f896,
- 0x19400000, 0x0000158a, 0x0179c02d, 0x00001302, 0x81001623, 0x00009283,
- 0xffffffff, 0x00007f86, 0x0000286d, 0x0000f010, 0x00002994, 0x00007008,
- 0x0b57283f, 0x0000e200, 0x17c80005, 0x00000980, 0x0001683f, 0x0000e502,
- 0x18000000, 0x00008980, 0x17800000, 0x00007900, 0x00307fc0, 0x00000980,
- 0x18800000, 0x00007900, 0x00020000, 0x00000980, 0x18400000, 0x000086cc,
- 0x0000296d, 0x00007418, 0x1739ef3c, 0x00000534, 0x17a8143f, 0x0000853c,
- 0x8a000001, 0x000001dc, 0x040c0001, 0x00006180, 0x00003817, 0x00006106,
- 0x04400800, 0x000081c8, 0x04c00000, 0x000001e8, 0x01400c28, 0x00006081,
- 0xc0003817, 0x0000e006, 0x05006000, 0x0000f900, 0x00008000, 0x00000980,
- 0x05580800, 0x0000f900, 0x00004080, 0x00008980, 0x06400000, 0x00007900,
- 0x00004042, 0x00000980, 0x3241f010, 0x00006000, 0x08003a1a, 0x0000b106,
- 0x05800706, 0x000081a0, 0x06c00000, 0x00006180, 0xc451fa3f, 0x0000c900,
- 0x84a9d13b, 0x0000010c, 0x04400c05, 0x00009081, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780,
- 0x00004800, 0x00008080, 0x00000c28, 0x00001583, 0xffffffff, 0x00007f86,
- 0x000820ec, 0x00005788, 0x00d87dc0, 0x00000180, 0x000820ec, 0x00005790,
- 0x00d87dc0, 0x00000280, 0xc100273e, 0x00009283, 0x000029a6, 0x0000f00b,
- 0xc100173e, 0x00006283, 0x13000000, 0x00000980, 0x13800000, 0x00006180,
- 0x0901f44c, 0x0000e000, 0x9394628c, 0x0000e110, 0x8000084c, 0x0000e696,
- 0x11810020, 0x00006100, 0x08003b4c, 0x0000e116, 0xc100473e, 0x00006283,
- 0x11c10821, 0x00000900, 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0,
- 0x03009000, 0x0000f900, 0x00012040, 0x00000980, 0x03401000, 0x0000f900,
- 0x0001c008, 0x00008980, 0x001088ec, 0x00005780, 0x00005000, 0x00008080,
- 0x13c00000, 0x0000e180, 0x13401002, 0x0000c900, 0x02000824, 0x00006180,
- 0x02400000, 0x00004980, 0x02800000, 0x00006180, 0x02d300a0, 0x00004980,
- 0x03c00004, 0x0000e180, 0x8390e21c, 0x0000c900, 0xc398e31c, 0x00006100,
- 0x88c00a23, 0x0000c080, 0x00002860, 0x0000f408, 0x093a2f44, 0x00000214,
- 0x01c00800, 0x00009981, 0x1d000000, 0x000007dc, 0xc1000f3e, 0x00006283,
- 0x1d800000, 0x00000980, 0x1d400000, 0x00007900, 0x00001000, 0x00000980,
- 0x1e000000, 0x00006180, 0xe0000874, 0x00006413, 0x1e400000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x5e89c939, 0x0000e100,
- 0xddd9db3b, 0x00004910, 0xc1002739, 0x00001283, 0x81002623, 0x00009283,
- 0x80000a3a, 0x00001582, 0x0000292c, 0x00007010, 0x000029a9, 0x0000f008,
- 0x00002930, 0x00007030, 0x8b51d23a, 0x00006304, 0x0191d23a, 0x0000c900,
- 0x0a000c2d, 0x00006081, 0x01400a2d, 0x0000c180, 0x01802806, 0x00009704,
- 0x01800c06, 0x00001281, 0x0b614406, 0x00001001, 0xdea16c2d, 0x00009901,
- 0xc000073e, 0x0000e583, 0x08c1f428, 0x00002000, 0x82214074, 0x00006002,
- 0xe0000875, 0x00003442, 0x0a09f138, 0x0000e040, 0x1b403000, 0x000089c0,
- 0x000029ab, 0x0000f048, 0x1cc00000, 0x0000e180, 0x0b400828, 0x00004180,
- 0x20ca0005, 0x0000e180, 0x00001873, 0x00006106, 0x1b000000, 0x0000f900,
- 0x0002020e, 0x00000980, 0x1c001000, 0x0000f900, 0x00010000, 0x00000980,
- 0x1c701800, 0x0000f900, 0x00044080, 0x00000980, 0x20800000, 0x0000f900,
- 0x00207fc0, 0x00008980, 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080,
- 0x1b800000, 0x0000e180, 0xc0001873, 0x0000e006, 0x1bc00000, 0x00006180,
- 0x9c901202, 0x00004900, 0x1c800502, 0x00008880, 0x20400000, 0x00006180,
- 0x1e00402d, 0x00004880, 0xe0d81302, 0x00001900, 0x00000407, 0x00001583,
- 0x00002adb, 0x0000f00b, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x40e02403, 0x000000c3,
- 0x80602404, 0x00001901, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0xffffffff, 0x00007f86, 0x008806ec, 0x00005f80, 0x008849c0, 0x000081c4,
- 0xc1004739, 0x0000e283, 0x08003a28, 0x0000a106, 0x6140d228, 0x00007902,
- 0x06700000, 0x00008101, 0x6160da28, 0x0000a101, 0x01514228, 0x0000e100,
- 0x86120240, 0x0000c910, 0x86191322, 0x00009908, 0x0000301a, 0x00009502,
- 0x00398c19, 0x00009503, 0xffffffff, 0x00007f86, 0x00002ae2, 0x0000f010,
- 0x00002940, 0x00007010, 0x61502a28, 0x0000a102, 0xffffffff, 0x00007f86,
- 0x00295c19, 0x00009503, 0x75796cec, 0x0000a190, 0x01400c05, 0x00009081,
- 0x000028ab, 0x00007208, 0x61582a28, 0x0000a901, 0x06802000, 0x0000f900,
- 0x00140000, 0x00008980, 0x0a00082d, 0x00006080, 0x08003a2d, 0x0000a106,
- 0x757944ec, 0x0000a980, 0x0411681a, 0x00006901, 0x8038d2ec, 0x0000d600,
- 0x00000001, 0x00000080, 0x800142ec, 0x0000f902, 0x0a400000, 0x00008600,
- 0x800152ec, 0x00007902, 0x0ac00000, 0x00000600, 0x800162ec, 0x00007902,
- 0x0b400000, 0x00000600, 0x800172ec, 0x0000f902, 0x0bc00000, 0x00008600,
- 0xffffffff, 0x00007f86, 0x00295c19, 0x00009503, 0x000028ab, 0x0000f00b,
- 0x01400002, 0x00009980, 0xc1680500, 0x00009900, 0x770000ec, 0x00005680,
- 0x00382800, 0x00008000, 0x00c002ec, 0x0000df80, 0x1284d00b, 0x00009684,
- 0x08003a05, 0x0000e906, 0x06c02000, 0x00007900, 0x00140000, 0x00008980,
- 0x0410281b, 0x0000e901, 0x8038daec, 0x00005600, 0x00000001, 0x00000080,
- 0x800142ec, 0x0000f902, 0x0a400000, 0x00008600, 0x800152ec, 0x00007902,
- 0x0ac00000, 0x00000600, 0x800162ec, 0x00007902, 0x0b400000, 0x00000600,
- 0x800172ec, 0x0000f902, 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86,
- 0x00295c19, 0x00009503, 0x00002894, 0x0000f013, 0x0141e03f, 0x0000e002,
- 0x0ec1841a, 0x0000a004, 0x0a00003d, 0x0000e084, 0x0c015c19, 0x0000a000,
- 0x2f400419, 0x0000c491, 0xf4401c1a, 0x00000ab2, 0x0000341a, 0x00007890,
- 0x00000000, 0x00000000, 0x64040530, 0x0000788e, 0x01400001, 0x00008060,
- 0x5e998218, 0x0000f812, 0x01400001, 0x00008000, 0x2f414b38, 0x00004313,
- 0x00420531, 0x00008090, 0x0001e835, 0x0000781a, 0x00000000, 0x00000000,
- 0x0001e835, 0x00007810, 0x00000000, 0x00000000, 0x0001e034, 0x0000f830,
- 0x00000000, 0x00008020, 0x5e810531, 0x00007896, 0x01400001, 0x00008060,
- 0x5e814033, 0x0000f82a, 0x01400001, 0x00008000, 0x00014033, 0x0000f810,
- 0x00000000, 0x00000000, 0x5e802832, 0x0000f822, 0x01400001, 0x00008060,
- 0x9f801739, 0x0000428f, 0xa2404530, 0x00000a89, 0x34401530, 0x0000f896,
- 0x91400000, 0x00009489, 0x18210531, 0x0000c697, 0xf4401739, 0x00008a8a,
- 0x3f004530, 0x0000788f, 0x89400000, 0x00009486, 0x4c801530, 0x0000f88e,
- 0x01400001, 0x00000080, 0x0ab9ef3c, 0x00008100, 0x41020531, 0x00006283,
- 0x17800000, 0x00000980, 0x17c00000, 0x000006c0, 0x18400000, 0x000006c8,
- 0x000029c5, 0x00007210, 0x18c00000, 0x00006180, 0x1701b036, 0x00004908,
- 0x41010531, 0x00006283, 0x00018862, 0x00002106, 0x0a01a034, 0x00006108,
- 0x0401a835, 0x0000c908, 0x0a000000, 0x0000e190, 0x04000000, 0x00004990,
- 0x0441703c, 0x0000e002, 0x000ff85e, 0x0000a581, 0x0141783d, 0x0000e004,
- 0x0148005f, 0x00002584, 0x0a814011, 0x0000e102, 0x00018862, 0x0000a081,
- 0x04008005, 0x00006104, 0x0c018c28, 0x00002080, 0x0b406428, 0x00006080,
- 0xe000185e, 0x00002403, 0x0b416fe4, 0x0000e000, 0x18608410, 0x0000c901,
- 0x0140082d, 0x0000e180, 0x82c18062, 0x0000a001, 0x01415005, 0x00006200,
- 0x04018061, 0x0000a081, 0x0140282d, 0x0000e100, 0x1741b837, 0x00008900,
- 0x0000283f, 0x0000e502, 0xd7d81302, 0x00000900, 0x81400a2d, 0x0000e198,
- 0x8b51fa3f, 0x00008930, 0x1801502a, 0x0000e100, 0x81515205, 0x00004218,
- 0x8b502a2d, 0x00009118, 0x0c418c05, 0x00006800, 0x0011683f, 0x00006502,
- 0x01409405, 0x00008880, 0x18c03005, 0x00006300, 0x97916a2d, 0x00000900,
- 0x000027e9, 0x0000f031, 0x0a91682a, 0x00006002, 0x1982f05e, 0x00000900,
- 0x1a430861, 0x0000e100, 0x04000010, 0x0000c084, 0x193aef5c, 0x00000614,
- 0x19fb175f, 0x00000628, 0x1ac31863, 0x00006100, 0xd000005f, 0x00006400,
- 0x0a001000, 0x00006181, 0x1a01502a, 0x00004900, 0x1a608410, 0x00006101,
- 0x99916a3f, 0x0000c100, 0x05c00000, 0x00006180, 0x040c0001, 0x00004980,
- 0x04400000, 0x00006180, 0x00003817, 0x00006106, 0x04800001, 0x000001cc,
- 0x01400c28, 0x00006081, 0x06800000, 0x0000c980, 0x05006000, 0x0000f900,
- 0x00008000, 0x00000980, 0x05580800, 0x0000f900, 0x00004080, 0x00008980,
- 0x06400000, 0x00007900, 0x00004042, 0x00000980, 0x3241f010, 0x00006000,
- 0xc0003817, 0x0000b006, 0x05803006, 0x00006100, 0x08003a1a, 0x0000e106,
- 0x06000000, 0x000001ec, 0x8449d93f, 0x0000810a, 0x04400c05, 0x00006081,
- 0xc4d9d33a, 0x00008900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780, 0x00004800, 0x00008080,
- 0x00000c28, 0x00001583, 0xffffffff, 0x00007f86, 0x000820ec, 0x00005788,
- 0x00d87dc0, 0x00000180, 0x000820ec, 0x00005790, 0x00d87dc0, 0x00000280,
- 0x6980273e, 0x0000788e, 0x51400000, 0x00009480, 0x0b40fc3a, 0x00001281,
- 0x00002c2d, 0x00009583, 0x0b791f23, 0x00009909, 0x00002842, 0x0000f009,
- 0x00002843, 0x0000f200, 0xdea1d43a, 0x00009901, 0x8b771ee3, 0x00001900,
- 0x6041422d, 0x0000a180, 0xffffffff, 0x00007fa7, 0x00020428, 0x00001583,
- 0x0139c738, 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0,
- 0x03400000, 0x0000c9b0, 0x00002d12, 0x0000f018, 0x00002989, 0x00007400,
- 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x0335b000, 0x00007900,
- 0x001bc8d4, 0x00000980, 0x75782cec, 0x0000a100, 0x06402000, 0x0000f900,
- 0x00180000, 0x00008980, 0x04114019, 0x00006901, 0xffffffff, 0x00007f86,
- 0x01400805, 0x00009080, 0x75782cec, 0x00002900, 0x8038caec, 0x0000d600,
- 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600,
- 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902,
- 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600,
- 0xc020df31, 0x00001503, 0x00002992, 0x0000700b, 0x06400002, 0x00006180,
- 0x08003a05, 0x00006106, 0xc6680500, 0x00001900, 0x770000ec, 0x00005680,
- 0x0038c800, 0x00000000, 0x00c002ec, 0x0000df80, 0x128ad00b, 0x00001684,
- 0x08003a1b, 0x0000e906, 0x06802000, 0x0000f900, 0x00180000, 0x00008980,
- 0x0410d81a, 0x00006901, 0x8038d2ec, 0x0000d600, 0x00000000, 0x00000280,
- 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec, 0x00007902,
- 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600,
- 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600, 0x61602a05, 0x0000a101,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x64a02f31, 0x0000f80a,
- 0x99400000, 0x0000148a, 0x0a91f83c, 0x0000e002, 0x1982f05e, 0x00000900,
- 0x1a400000, 0x00006180, 0x0140003d, 0x00004084, 0x1a800000, 0x0000f900,
- 0x00020000, 0x00000980, 0x1939ef3c, 0x00000614, 0x19c0075f, 0x000006ac,
- 0x0a001000, 0x00006181, 0xd000005f, 0x00006400, 0x0000290a, 0x0000f400,
- 0x1a00072a, 0x00008699, 0x1a602c05, 0x00001901, 0xc1001739, 0x00001283,
- 0x8a371ee3, 0x00009910, 0x60416a28, 0x00002190, 0x00002cee, 0x0000f008,
- 0xffffffff, 0x00007f97, 0x0001042d, 0x00001583, 0x0139c738, 0x00006130,
- 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0,
- 0x00002cea, 0x0000f018, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03194000, 0x0000f900, 0x00213306, 0x00008980, 0x08001a09, 0x0000e106,
- 0x08003008, 0x0000b206, 0xc1c00800, 0x0000e181, 0xc2700600, 0x00004901,
- 0x02a00702, 0x00000026, 0x2990109e, 0x00007300, 0x01802004, 0x00009900,
- 0x5e998202, 0x00007812, 0xb9400000, 0x00009485, 0x0000287a, 0x0000f200,
- 0x6160ca28, 0x00002101, 0x8a371ee3, 0x00001900, 0x60416a28, 0x0000a180,
- 0xffffffff, 0x00007fa7, 0x0001042d, 0x00001583, 0x0139c738, 0x00006130,
- 0x03400000, 0x0000c9b0, 0x01c00000, 0x00007930, 0x00004040, 0x00008980,
- 0x00002ce4, 0x00007018, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0302a000, 0x00007900, 0x000ccaec, 0x00000980, 0x81c01000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x0000298e, 0x0000f400, 0x82600500, 0x00008026,
- 0x82381602, 0x00008028, 0x01c00000, 0x00001981, 0xd040473e, 0x0000c594,
- 0x93400407, 0x00006b8d, 0x00002843, 0x0000f200, 0xde80f800, 0x00009981,
- 0x1cc00000, 0x0000e180, 0x60000875, 0x00006402, 0x20ca0005, 0x0000e180,
- 0x00001873, 0x00006106, 0x60000874, 0x00006403, 0xa0002875, 0x00003406,
- 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980, 0x1c001000, 0x0000f900,
- 0x00010000, 0x00000980, 0x1c701800, 0x0000f900, 0x00044080, 0x00000980,
- 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0010d8ec, 0x00005780,
- 0x00007801, 0x00000080, 0x1f022044, 0x00006100, 0xc0001873, 0x0000e006,
- 0x5efa2e46, 0x0000071c, 0x1b400006, 0x000006f8, 0x1bc00000, 0x00006180,
- 0x9c901202, 0x00004900, 0x1c800502, 0x00008880, 0x20c00502, 0x00008884,
- 0xb6c00407, 0x0000788a, 0x11400000, 0x00001483, 0x000ff85e, 0x00006581,
- 0x0148005f, 0x0000b584, 0xe000185e, 0x0000e403, 0xb0000862, 0x0000b401,
- 0x0b79e43f, 0x00000530, 0x1768173d, 0x0000053c, 0x9791fa3f, 0x00009900,
- 0xfa51f83f, 0x00007833, 0xf1000000, 0x00009487, 0x00196019, 0x0000e502,
- 0x01400c2b, 0x00000081, 0x6178322d, 0x0000d100, 0x00118800, 0x00008001,
- 0x61582a2d, 0x0000a901, 0x000029db, 0x0000f008, 0x8159632c, 0x00001900,
- 0x6178ca05, 0x00002180, 0xffffffff, 0x00007fa7, 0x0000c806, 0x00009502,
- 0x064728e5, 0x00009908, 0xffffffff, 0x00007f86, 0x6178ca05, 0x0000a980,
- 0x0141e03f, 0x0000e002, 0x0ec18419, 0x0000a004, 0x0b40003d, 0x0000e084,
- 0x0c015c18, 0x00002000, 0x80400418, 0x00004491, 0x04401c19, 0x00000bb0,
- 0x00003419, 0x00007890, 0x00000000, 0x00000000, 0x7f440530, 0x0000f88e,
- 0x01400001, 0x00008060, 0x00998322, 0x00007813, 0x01400001, 0x00008000,
- 0x80414b38, 0x00004313, 0x00420531, 0x00008090, 0x0001e835, 0x0000781a,
- 0x00000000, 0x00000000, 0x0001e835, 0x00007810, 0x00000000, 0x00000000,
- 0x0001e034, 0x0000f830, 0x00000000, 0x00008020, 0x00810531, 0x00007897,
- 0x01400001, 0x00008060, 0x00816833, 0x0000f82b, 0x01400001, 0x00008000,
- 0x00016833, 0x0000f810, 0x00000000, 0x00000000, 0x00802832, 0x0000f823,
- 0x01400001, 0x00008060, 0x00808530, 0x0000f88f, 0xf9400000, 0x0000148f,
- 0x7c410531, 0x00007896, 0x11400000, 0x00009680, 0x00808530, 0x0000f88f,
- 0xf9400000, 0x0000148f, 0x00998202, 0x00007813, 0x39400000, 0x0000148f,
- 0x41020531, 0x00006283, 0x01400000, 0x00008980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x0a81e03c, 0x00006100, 0x0419d005, 0x00006187,
- 0x700008ec, 0x00005680, 0x00382802, 0x00000000, 0x17800000, 0x000085fc,
- 0x00002c46, 0x0000f410, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc,
- 0x41010531, 0x00006283, 0x0c018c28, 0x00002080, 0x0b41a034, 0x00006108,
- 0x0241a835, 0x00004908, 0x0b400000, 0x0000e190, 0x02400000, 0x0000c990,
- 0x0201703c, 0x00006002, 0x00018862, 0x00002106, 0x0141783d, 0x0000e004,
- 0x000ff85e, 0x0000a581, 0x0a816808, 0x00006102, 0x0148005f, 0x00002584,
- 0x0b406428, 0x00006080, 0x01404805, 0x00000104, 0x0b416fe4, 0x0000e000,
- 0x00018862, 0x00006081, 0x0200082d, 0x00006180, 0xe000105e, 0x0000a403,
- 0x02015008, 0x00006200, 0x18602c05, 0x00000901, 0x0200402d, 0x0000e100,
- 0x82c18062, 0x0000a001, 0x00003808, 0x00006582, 0x04018061, 0x0000a081,
- 0x82000a2d, 0x000061b0, 0x8b404000, 0x00008998, 0x82115208, 0x0000e230,
- 0x1701b036, 0x00000900, 0x8b50422d, 0x0000e130, 0x1741b837, 0x00008900,
- 0x1801502a, 0x0000e100, 0x0c418c08, 0x00006000, 0x80003a2d, 0x0000e582,
- 0x02009408, 0x00008880, 0x17e16d02, 0x00008538, 0x18c03008, 0x00001300,
- 0x00002a32, 0x0000f018, 0x0a91682a, 0x00006002, 0xd000005f, 0x0000a400,
- 0xc1000f39, 0x0000e283, 0x04800000, 0x00008980, 0x0b400800, 0x0000e189,
- 0x0b401000, 0x0000c991, 0x04c00000, 0x000085d8, 0x15c00000, 0x0000e180,
- 0xe3a16812, 0x00006002, 0xc1000f39, 0x0000e283, 0x8b402d00, 0x00008880,
- 0x05006000, 0x0000f900, 0x00004000, 0x00000980, 0x04140000, 0x00007900,
- 0x0000440e, 0x00000980, 0x001020ec, 0x0000d780, 0x00d87d40, 0x000080c0,
- 0x05400020, 0x000081d8, 0x05c00000, 0x00006180, 0x04402900, 0x0000c980,
- 0x15023046, 0x0000e108, 0x15423847, 0x00004908, 0x15822044, 0x00006108,
- 0x15c22845, 0x0000c908, 0x15022044, 0x0000e110, 0x15422845, 0x00004910,
- 0x84dad22d, 0x00009080, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x0090b8ec, 0x0000d780, 0x00007800, 0x00008080,
- 0x02c30020, 0x00006180, 0x0d001c28, 0x00006006, 0x03c00000, 0x00006180,
- 0x8221400b, 0x0000e004, 0x03001000, 0x00007900, 0x00004000, 0x00000980,
- 0x001010ec, 0x0000d780, 0x00005000, 0x00008080, 0x02000904, 0x00006180,
- 0xc000180f, 0x00006006, 0x02400000, 0x000000e8, 0x03400020, 0x00006180,
- 0x83901202, 0x0000c900, 0xc3981302, 0x00001900, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x043bf810, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x000820ec, 0x0000d780, 0x00d87d40, 0x000080c0, 0x8b402d00, 0x00006080,
- 0xc0000810, 0x00006606, 0x04401800, 0x0000e181, 0xe0000812, 0x00006402,
- 0x0008b8ec, 0x00005780, 0x00007800, 0x00008080, 0xc4404000, 0x0000e180,
- 0x1700f01e, 0x0000c900, 0x1740071f, 0x00008590, 0x15400000, 0x000005d8,
- 0x15c00000, 0x0000e180, 0xc4280500, 0x00004900, 0x84db122d, 0x00001080,
- 0x00d802ec, 0x0000df80, 0x12939804, 0x000089c4, 0x05c00000, 0x000081e8,
- 0x00003817, 0x00006106, 0x08003a1a, 0x0000b106, 0x05006000, 0x0000f900,
- 0x00008000, 0x00000980, 0x05580800, 0x0000f900, 0x00004080, 0x00008980,
- 0x06400000, 0x00007900, 0x00004042, 0x00000980, 0x05803006, 0x00006100,
- 0xc0003817, 0x0000e006, 0x06c00000, 0x000001e0, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780,
- 0x00004800, 0x00008080, 0xc1000f39, 0x0000e283, 0x15000000, 0x00000980,
- 0x0b401000, 0x0000e189, 0x0b401800, 0x00004991, 0x8a000b3b, 0x0000e180,
- 0x15c00000, 0x00000980, 0x1500002d, 0x000005a8, 0x8b402d00, 0x00006080,
- 0x16c00000, 0x0000c980, 0x3582cc2d, 0x00007902, 0x16000000, 0x00008000,
- 0x8b43fa28, 0x0000e280, 0x15404138, 0x00008880, 0x01402a2d, 0x00006080,
- 0x1581f83f, 0x0000c900, 0x0a00f805, 0x00006784, 0x04100001, 0x00000980,
- 0x0a80f005, 0x00006002, 0x04402400, 0x00008980, 0x0140f828, 0x00006004,
- 0x04800000, 0x00008980, 0x01800ce0, 0x0000e283, 0x04c00000, 0x00000980,
- 0x00002c35, 0x0000f013, 0x17c80005, 0x0000e180, 0x1d000000, 0x00004980,
- 0xc1000f3e, 0x00006283, 0x1dc00000, 0x00008980, 0x17810000, 0x0000f900,
- 0x00207fc0, 0x00008980, 0x000820ec, 0x0000d780, 0x00d87d40, 0x000001c0,
- 0x1d400000, 0x00007900, 0x00001000, 0x00000980, 0x1701502a, 0x0000e100,
- 0xe0000874, 0x00006413, 0x17400705, 0x00000798, 0x1e000000, 0x000087e4,
- 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000, 0x0000e180,
- 0x5e89c939, 0x0000c900, 0xd7d81302, 0x0000e100, 0xddd9db3b, 0x00004910,
- 0xc1002739, 0x00001283, 0x81002623, 0x00009283, 0x80000a3a, 0x00001582,
- 0x00002c2d, 0x0000f010, 0x00002c33, 0x0000f008, 0x00002c31, 0x0000f030,
- 0x8191d23a, 0x00006304, 0x0151d23a, 0x0000c900, 0x0b400a06, 0x00009180,
- 0x0b400c06, 0x00006081, 0x0a016805, 0x0000c704, 0x01400c28, 0x00001281,
- 0x0a216c05, 0x00001001, 0xdea14428, 0x00009901, 0xc000073e, 0x0000e583,
- 0x08c1f42d, 0x00002000, 0x82216874, 0x00006002, 0xe0000875, 0x00003442,
- 0x0b49f138, 0x0000e040, 0x1b403000, 0x000089c0, 0x00002c14, 0x00007048,
- 0x1cc00000, 0x0000e180, 0x0a00082d, 0x00004180, 0x20ca0005, 0x0000e180,
- 0x00001873, 0x00006106, 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980,
- 0x1c001000, 0x0000f900, 0x00010000, 0x00000980, 0x1c701800, 0x0000f900,
- 0x00044080, 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080, 0x1b800000, 0x0000e180,
- 0xc0001873, 0x0000e006, 0x1bc00000, 0x00006180, 0x9c901202, 0x00004900,
- 0x1c800502, 0x00008880, 0x20400000, 0x00006180, 0x1e004028, 0x00004880,
- 0xe0d81302, 0x00001900, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x00400008, 0x00006180, 0xc0c00000, 0x00004980, 0x40600e04, 0x00000083,
- 0x008806ec, 0x00005f80, 0x00004800, 0x00000084, 0x00196005, 0x00006502,
- 0x06400c2b, 0x00008081, 0x61783228, 0x0000d100, 0x00118800, 0x00008001,
- 0x6158ca28, 0x00002901, 0x000028ab, 0x0000f008, 0x8159632c, 0x00001900,
- 0x6178d205, 0x00002180, 0xffffffff, 0x00007fa7, 0x0000d006, 0x00009502,
- 0x068728e5, 0x00009908, 0x000028ab, 0x0000f400, 0xffffffff, 0x00007f86,
- 0x6178d205, 0x0000a980, 0x08003a28, 0x0000e906, 0x61402a28, 0x0000f902,
- 0x04b00000, 0x00000101, 0x61608a28, 0x0000a101, 0x04114228, 0x00001900,
- 0xffffffff, 0x00007f86, 0x00003005, 0x00001502, 0x00398c12, 0x00001503,
- 0xffffffff, 0x00007f86, 0x00002c9b, 0x00007010, 0x00002c6e, 0x00007010,
- 0xffffffff, 0x00007f86, 0x61508a28, 0x0000a102, 0x00295c12, 0x0000e503,
- 0x01400c12, 0x00000081, 0x61702a28, 0x0000a901, 0xffffffff, 0x00007f86,
- 0x00215c11, 0x00009503, 0xffffffff, 0x00007f86, 0x00002c50, 0x0000f010,
- 0x00002c50, 0x0000f010, 0x05c00000, 0x000081e8, 0x00003817, 0x00006106,
- 0x08003a1a, 0x0000b106, 0x05006000, 0x0000f900, 0x00008000, 0x00000980,
- 0x05580800, 0x0000f900, 0x00004080, 0x00008980, 0x06400000, 0x00007900,
- 0x00004040, 0x00008980, 0x05803006, 0x00006100, 0xc0003817, 0x0000e006,
- 0x06c00000, 0x000001e0, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780, 0x00004800, 0x00008080,
- 0x01400000, 0x00006180, 0x08003a2d, 0x00006106, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x22c00000, 0x00006180, 0x0419d005, 0x00006187,
- 0x700008ec, 0x00005680, 0x00382802, 0x00000000, 0x6160822d, 0x0000a100,
- 0x23480000, 0x0000e180, 0x0000388b, 0x00006106, 0x23800000, 0x00006180,
- 0x23400f31, 0x00004081, 0xe3501202, 0x0000e100, 0xc000388b, 0x0000e006,
- 0x81400a10, 0x0000e080, 0x08001a8e, 0x00002106, 0x2200e000, 0x00007900,
- 0x0000a340, 0x00000980, 0x22401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0x22803006, 0x00006100, 0x9740188d, 0x00006006, 0x61602a2d, 0x0000a900,
- 0x23c00000, 0x0000e180, 0xe3191322, 0x00004900, 0xa3108210, 0x00009900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009110ec, 0x0000d780, 0x00006000, 0x00008080, 0x17ca0005, 0x00006180,
- 0x04004001, 0x0000c980, 0x17800000, 0x00007900, 0x00207fc0, 0x00008980,
- 0x000820ec, 0x0000d780, 0x00d87dc0, 0x000000c0, 0x04400002, 0x000081c8,
- 0x04c00000, 0x000085f0, 0x17400000, 0x0000e180, 0x01001404, 0x00004181,
- 0xd7d81302, 0x00009900, 0x6980273e, 0x0000788e, 0x51400000, 0x00009480,
- 0x08003a2d, 0x0000e906, 0x6140c22d, 0x0000f902, 0x06b00000, 0x00008101,
- 0x61602a2d, 0x0000a101, 0x06516a2d, 0x00001900, 0xffffffff, 0x00007f86,
- 0x00003018, 0x00001502, 0x00398c1a, 0x00009503, 0xffffffff, 0x00007f86,
- 0x000029ce, 0x00007010, 0x00002bc5, 0x00007010, 0x61502a2d, 0x0000a102,
- 0x00295c1a, 0x00009503, 0xffffffff, 0x00007f97, 0x01400c05, 0x00009081,
- 0x61582a2d, 0x0000a901, 0x75796cec, 0x0000a190, 0xffffffff, 0x00007f86,
- 0x000029db, 0x0000740b, 0x0b40082d, 0x00001090, 0x75796cec, 0x00002990,
- 0x08003a28, 0x0000e906, 0x06002000, 0x00007900, 0x00140000, 0x00008980,
- 0x04114018, 0x0000e901, 0x8038c2ec, 0x00005600, 0x00000001, 0x00000080,
- 0x800142ec, 0x0000f902, 0x0a400000, 0x00008600, 0x800152ec, 0x00007902,
- 0x0ac00000, 0x00000600, 0x800162ec, 0x00007902, 0x0b400000, 0x00000600,
- 0x800172ec, 0x0000f902, 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86,
- 0x00295c1a, 0x00009503, 0x01400002, 0x00001990, 0xc1680500, 0x00001910,
- 0x000029db, 0x0000f008, 0x770000ec, 0x00005680, 0x00382800, 0x00008000,
- 0x00c002ec, 0x0000df80, 0x129ac00b, 0x00001684, 0x01000000, 0x00009980,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x0419d004, 0x00006987,
- 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x7540273e, 0x0000c38f,
- 0x00404739, 0x00008088, 0x00812744, 0x00004510, 0x80412f45, 0x00008311,
- 0xea911a4b, 0x0000f80a, 0x01400001, 0x00000080, 0x03009000, 0x0000f900,
- 0x00012040, 0x00000980, 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0,
- 0x03401000, 0x0000f900, 0x0001c008, 0x00008980, 0x001088ec, 0x00005780,
- 0x00005000, 0x00008080, 0xd2c03800, 0x00006181, 0x88d25a4b, 0x0000c900,
- 0x093a2f44, 0x00000214, 0x11b90f20, 0x0000041c, 0x13000001, 0x000004f8,
- 0x13c00000, 0x0000e180, 0x13401002, 0x0000c900, 0x02000804, 0x0000e180,
- 0x02400000, 0x00004980, 0x02800000, 0x00006180, 0x02d300a0, 0x00004980,
- 0x03c00004, 0x0000e180, 0x8390e21c, 0x0000c900, 0x0a000800, 0x00006181,
- 0xc398e31c, 0x00004900, 0xc100173e, 0x00006283, 0x05c00000, 0x00008980,
- 0x01003800, 0x00006191, 0x01001000, 0x00004989, 0x05400000, 0x0000e180,
- 0x00003817, 0x00006106, 0x05006000, 0x0000f900, 0x00004000, 0x00000980,
- 0x05803006, 0x00006100, 0xc0003817, 0x0000e006, 0x85602404, 0x00001901,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008828ec, 0x0000d780, 0x00004800, 0x00008080, 0x00000428, 0x00009583,
- 0x003fd800, 0x00007908, 0x003ffffe, 0x00008280, 0xc0000800, 0x0000e189,
- 0x004000e8, 0x00004988, 0x00002bac, 0x00007010, 0x00002ae0, 0x00007200,
- 0xc0c00000, 0x00001980, 0x00002b92, 0x0000f200, 0x0a000000, 0x00009981,
- 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
- 0x000081d0, 0x00000980, 0xc0201c04, 0x000000cd, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x001838ec, 0x00005780, 0x00004800, 0x00008080,
- 0x008806ec, 0x00005f80, 0x00004800, 0x00000084, 0x8a371ee3, 0x00001900,
- 0x60416a28, 0x0000a180, 0xffffffff, 0x00007fa7, 0x0002042d, 0x00001583,
- 0x0117283c, 0x00006230, 0x01c00020, 0x000089b0, 0x81c01000, 0x0000e1b0,
- 0x03400000, 0x0000c9b0, 0x00002bf2, 0x00007018, 0x00002989, 0x00007400,
- 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03017000, 0x0000f900,
- 0x001200d8, 0x00008980, 0x7578c4ec, 0x0000a100, 0x06402000, 0x0000f900,
- 0x00180000, 0x00008980, 0x04116819, 0x00006901, 0xffffffff, 0x00007f86,
- 0x06000818, 0x00009080, 0x7578c4ec, 0x00002900, 0x8038caec, 0x0000d600,
- 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600,
- 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902,
- 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600,
- 0xc0202f31, 0x00001503, 0x00002bf6, 0x0000700b, 0x06000002, 0x0000e180,
- 0x08003a05, 0x00006106, 0xc6280500, 0x00009900, 0x770000ec, 0x00005680,
- 0x0038c000, 0x00008000, 0x00c002ec, 0x0000df80, 0x129ef80b, 0x00001684,
- 0x08003a1a, 0x00006906, 0x06402000, 0x0000f900, 0x00180000, 0x00008980,
- 0x0410d019, 0x0000e901, 0x8038caec, 0x0000d600, 0x00000000, 0x00000280,
- 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec, 0x00007902,
- 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600,
- 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600, 0x61602a05, 0x0000a101,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xfda02f31, 0x0000f80a,
- 0xc1400000, 0x0000958e, 0xc1404001, 0x000000d2, 0xc1600408, 0x000000d6,
- 0x41007000, 0x00001981, 0x2bf6272e, 0x00007100, 0x6160d22d, 0x00002101,
- 0x61502a2d, 0x0000a102, 0xffffffff, 0x00007f97, 0x00295c1a, 0x00009503,
- 0x01400c05, 0x00009081, 0x61582a2d, 0x0000a901, 0x75796cec, 0x0000a190,
- 0xffffffff, 0x00007f86, 0x00002b58, 0x00007413, 0x0b40082d, 0x00001090,
- 0x75796cec, 0x00002990, 0x000029db, 0x00007000, 0x8b771ee3, 0x00001900,
- 0x6041422d, 0x0000a180, 0xffffffff, 0x00007fa7, 0x00020428, 0x00001583,
- 0x0139c738, 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0,
- 0x03400000, 0x0000c9b0, 0x00002c10, 0x0000f018, 0x00002989, 0x00007400,
- 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03299000, 0x00007900,
- 0x00268352, 0x00000980, 0xc1404002, 0x000000d2, 0x00002bf5, 0x00007400,
- 0xc1600408, 0x000000d6, 0x41007800, 0x00009981, 0x1cc00000, 0x0000e180,
- 0x60000875, 0x00006402, 0x20ca0005, 0x0000e180, 0x00001873, 0x00006106,
- 0x60000874, 0x00006403, 0xa0002875, 0x00003406, 0x1b000000, 0x0000f900,
- 0x0002020e, 0x00000980, 0x1c001000, 0x0000f900, 0x00010000, 0x00000980,
- 0x1c701800, 0x0000f900, 0x00044080, 0x00000980, 0x20800000, 0x0000f900,
- 0x00207fc0, 0x00008980, 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080,
- 0x1f022044, 0x00006100, 0xc0001873, 0x0000e006, 0x5efa2e46, 0x0000071c,
- 0x1b400006, 0x000006f8, 0x1bc00000, 0x00006180, 0x9c901202, 0x00004900,
- 0x00002adb, 0x0000f400, 0x1c800502, 0x00008880, 0x20c00502, 0x00008884,
- 0x0a00fc3a, 0x00001281, 0x00002c28, 0x00009583, 0x0a391f23, 0x00009909,
- 0x00002abd, 0x00007009, 0x00002abe, 0x0000f200, 0xdea1d43a, 0x00009901,
- 0x00002abe, 0x0000f200, 0xde80f800, 0x00009981, 0x2c3610f7, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x00000497, 0x00001583, 0x003fd800, 0x00007910,
- 0x003ffffe, 0x00008280, 0xc0002000, 0x0000e191, 0xc0c01800, 0x0000c990,
- 0x00002a9c, 0x0000f008, 0xc100473e, 0x00006283, 0x00000823, 0x0000a401,
- 0x0a002800, 0x00006189, 0x0a001800, 0x00004991, 0x00400000, 0x00007900,
- 0x00008010, 0x00008980, 0x80614428, 0x00001901, 0x008806ec, 0x00005f80,
- 0x008849c0, 0x000081c4, 0x000ff85e, 0x00006581, 0x0148005f, 0x0000b584,
- 0xe000105e, 0x00006403, 0xb0000862, 0x0000b401, 0x1739ef3c, 0x00000534,
- 0x8b404000, 0x00006180, 0xd7d81302, 0x0000c900, 0x97804000, 0x00009980,
- 0x8c803a2d, 0x0000789a, 0x81400000, 0x00001581, 0x757942ec, 0x00002180,
- 0xffffffff, 0x00007fa7, 0x0b400828, 0x00009080, 0x75796aec, 0x0000a980,
- 0x08003a28, 0x0000e906, 0x04002000, 0x0000f900, 0x00140000, 0x00008980,
- 0x04114010, 0x00006901, 0x803882ec, 0x0000d600, 0x00000001, 0x00000080,
- 0x800142ec, 0x0000f902, 0x0a400000, 0x00008600, 0x800152ec, 0x00007902,
- 0x0ac00000, 0x00000600, 0x800162ec, 0x00007902, 0x0b400000, 0x00000600,
- 0x800172ec, 0x0000f902, 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86,
- 0x00295c12, 0x00001503, 0x00215c11, 0x00009503, 0xffffffff, 0x00007f86,
- 0x00002c68, 0x00007010, 0x00002b05, 0x00007008, 0x01400002, 0x00009980,
- 0xc1680500, 0x00009900, 0x770000ec, 0x00005680, 0x00382800, 0x00008000,
- 0x00c002ec, 0x0000df80, 0x12c2a00b, 0x00009684, 0x75782aec, 0x0000a100,
- 0x04002000, 0x0000f900, 0x00180000, 0x00008980, 0x04114010, 0x00006901,
- 0xffffffff, 0x00007f86, 0x01400805, 0x00009080, 0x75782aec, 0x00002900,
- 0x803882ec, 0x0000d600, 0x00000000, 0x00000280, 0x800182ec, 0x0000f902,
- 0x0c400000, 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600,
- 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902,
- 0x0dc00000, 0x00008600, 0xc0208f31, 0x00001503, 0x00002ce8, 0x0000f00b,
- 0x04000002, 0x00006180, 0x08003a05, 0x00006106, 0xc4280500, 0x00001900,
- 0x770000ec, 0x00005680, 0x00388000, 0x00000000, 0x00c002ec, 0x0000df80,
- 0x12c4400b, 0x00001684, 0x08003a12, 0x0000e906, 0x04402000, 0x00007900,
- 0x00180000, 0x00008980, 0x04109011, 0x0000e901, 0x80388aec, 0x00005600,
- 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600,
- 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902,
- 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600,
- 0x61602a05, 0x0000a101, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x3a202f31, 0x0000780b, 0x09400000, 0x00001684, 0x00196010, 0x0000e502,
- 0x01400f31, 0x00008081, 0x61783228, 0x0000d100, 0x00302800, 0x00008001,
- 0x61595a28, 0x0000a901, 0x00002b05, 0x00007008, 0x8a80002c, 0x0000019c,
- 0x6178822a, 0x0000a180, 0x06800000, 0x0000e180, 0x00003817, 0x00006106,
- 0x05006000, 0x0000f900, 0x00008000, 0x00000980, 0x05580800, 0x0000f900,
- 0x00004080, 0x00008980, 0x00008006, 0x00006502, 0xc0003817, 0x00002006,
- 0x040728e5, 0x0000e108, 0x08003a1a, 0x0000e106, 0x06400000, 0x00007900,
- 0x00004040, 0x00008980, 0x6178822a, 0x00002980, 0x05800706, 0x000081a0,
- 0x06c00000, 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780, 0x00004800, 0x00008080,
- 0x01400000, 0x00006180, 0x08003a2d, 0x00006106, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x22c00000, 0x00006180, 0x0419d005, 0x00006187,
- 0x700008ec, 0x00005680, 0x00382802, 0x00000000, 0x6160822d, 0x0000a100,
- 0x23480000, 0x0000e180, 0x0000388b, 0x00006106, 0x23800000, 0x00006180,
- 0x23400f31, 0x00004081, 0xe3501202, 0x0000e100, 0xc000388b, 0x0000e006,
- 0x81400a10, 0x0000e080, 0x08001a8e, 0x00002106, 0x2200e000, 0x00007900,
- 0x0000a340, 0x00000980, 0x22401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0x22803006, 0x00006100, 0x9740188d, 0x00006006, 0x61602a2d, 0x0000a900,
- 0x23c00000, 0x0000e180, 0xe3191322, 0x00004900, 0xa3108210, 0x00009900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009110ec, 0x0000d780, 0x00006000, 0x00008080, 0x17ca0005, 0x00006180,
- 0x04004001, 0x0000c980, 0x17800000, 0x00007900, 0x00207fc0, 0x00008980,
- 0x000820ec, 0x0000d780, 0x00d87dc0, 0x000000c0, 0x04400002, 0x000081c8,
- 0x04c00000, 0x000085f0, 0x17400000, 0x0000e180, 0x01001404, 0x00004181,
- 0xd7d81302, 0x00009900, 0x6980273e, 0x0000788e, 0x51400000, 0x00009480,
- 0xc1400803, 0x000080d2, 0x00002bf5, 0x00007400, 0xc1600400, 0x000080d6,
- 0x41008000, 0x00001981, 0x00002afb, 0x00007200, 0x61609228, 0x0000a101,
- 0xc1404002, 0x000000d2, 0x00002bf5, 0x00007400, 0xc1600408, 0x000000d6,
- 0x41005000, 0x00009981, 0x8a371ee3, 0x00001900, 0x60416a28, 0x0000a180,
- 0xffffffff, 0x00007fa7, 0x0002042d, 0x00001583, 0x0139c738, 0x00006130,
- 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0,
- 0x00002d0a, 0x0000f018, 0x00002989, 0x00007400, 0x02d2d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x0319c800, 0x0000f900, 0x001e47ce, 0x00000980,
- 0x8a371ee3, 0x00001900, 0x60416a28, 0x0000a180, 0xffffffff, 0x00007fa7,
- 0x0001042d, 0x00001583, 0x0139c738, 0x00006130, 0x01c00020, 0x000049b0,
- 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00002d0e, 0x00007018,
- 0x00002989, 0x00007400, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03162800, 0x00007900, 0x000d4014, 0x00008980, 0xc1400803, 0x000080d2,
- 0x00002bf5, 0x00007400, 0xc1600400, 0x000080d6, 0x41005800, 0x00001981,
- 0xc1404002, 0x000000d2, 0x00002bf5, 0x00007400, 0xc1600408, 0x000000d6,
- 0x41006000, 0x00009981, 0xc1400803, 0x000080d2, 0x00002bf5, 0x00007400,
- 0xc1600400, 0x000080d6, 0x41006800, 0x00001981, 0xc000073a, 0x00009583,
- 0x10010237, 0x00006090, 0x0bc08000, 0x00000990, 0x8b802e3a, 0x0000e090,
- 0x0b01b841, 0x00006116, 0x00002d44, 0x00007008, 0x2c023d3a, 0x00009680,
- 0x8c8588b0, 0x00001000, 0x2c04743a, 0x00001680, 0x8c4588b0, 0x00001000,
- 0x8c97c232, 0x0000f900, 0x00000008, 0x00000080, 0x8c918a32, 0x00006000,
- 0x8fc03a2e, 0x00000080, 0x0001d032, 0x0000f902, 0x0f400000, 0x00008000,
- 0x8bd1ba2f, 0x00006000, 0x8b800a41, 0x00008180, 0x8c400a32, 0x00006080,
- 0x8ed1722f, 0x00000200, 0x0b80223b, 0x00001880, 0x0f81d02e, 0x00006002,
- 0x0bc0f82e, 0x00008784, 0x0f01e82f, 0x0000e004, 0x0b80823b, 0x00000080,
- 0x00017041, 0x00001502, 0x00002d5e, 0x0000f00b, 0x0b900000, 0x0000e180,
- 0x0bc00060, 0x0000c980, 0xcb91923f, 0x0000e000, 0x8bc03232, 0x00008080,
- 0x700800ec, 0x00005680, 0x003970e0, 0x00008010, 0x703978ec, 0x00005600,
- 0x00000000, 0x00008080, 0x703a00ec, 0x00005600, 0x00000000, 0x00008080,
- 0x0bb80005, 0x0000e180, 0x10000834, 0x0000e401, 0x7039f0ec, 0x00005600,
- 0x0039e000, 0x00008000, 0x00000001, 0x00007480, 0xcd400b35, 0x00006080,
- 0x0418102e, 0x00002187, 0x700800ec, 0x00005680, 0x003977c0, 0x00000078,
- 0x2c023d3a, 0x00009680, 0x8c8588b0, 0x00001000, 0x8bc02e3a, 0x0000e080,
- 0x0b800000, 0x00004980, 0x2c04743a, 0x00001680, 0x8c4588b0, 0x00001000,
- 0x8c97c232, 0x0000f900, 0x00000008, 0x00000080, 0x8fc03a2f, 0x0000e080,
- 0x8b91ba2e, 0x00000000, 0x8c918a32, 0x00006000, 0x0b01b82f, 0x0000a106,
- 0x8e800a2f, 0x00006180, 0x1011ba37, 0x00008900, 0x8b91d22e, 0x00006200,
- 0x8c400a32, 0x00000080, 0x0001d032, 0x0000f902, 0x0f400000, 0x00008000,
- 0x0b80822e, 0x0000e080, 0x0ec0222e, 0x00008880, 0x0f00f83b, 0x00001784,
- 0xffffffff, 0x00007f86, 0x0f81d03b, 0x00001002, 0x0001702f, 0x00006502,
- 0x0f01e83c, 0x00000004, 0x00002d31, 0x0000f013, 0x80001236, 0x00001582,
- 0x00397831, 0x0000a0b0, 0x00397032, 0x000020b0, 0xcd400b35, 0x00006098,
- 0x10000834, 0x00002419, 0xffffffff, 0x00007f86, 0x00397832, 0x000028b0,
- 0x00397831, 0x00002030, 0x00397031, 0x00005030, 0x0039e800, 0x00000000,
- 0x0b99b336, 0x00009918, 0x00002d31, 0x0000f430, 0xffffffff, 0x00007f86,
- 0x00397832, 0x0000a830, 0x0bc00a36, 0x00001180, 0x0001782e, 0x00006502,
- 0x0bc00060, 0x00000980, 0x8b800b36, 0x00006090, 0x8b800000, 0x00008988,
- 0x8bc03232, 0x00001080, 0x0b801a2e, 0x00006080, 0xcd91722e, 0x0000c900,
- 0x0e81c82e, 0x00001002, 0x00397031, 0x00002080, 0x0ec00038, 0x00009084,
- 0xffffffff, 0x00007f97, 0x00397032, 0x0000a880, 0x00397031, 0x0000a000,
- 0xffffffff, 0x00007fa7, 0x00397032, 0x00002800, 0x0b800000, 0x00001980,
- 0x0411882e, 0x0000e987, 0x700040ec, 0x00005680, 0x003970c0, 0x00000010,
- 0x0bb80005, 0x00009980, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000,
- 0x0418102e, 0x00006987, 0x700040ec, 0x00005680, 0x003977c0, 0x00000078,
- 0x0b900000, 0x00009980, 0xcb91923f, 0x00001000, 0x700800ec, 0x00005680,
- 0x003970e0, 0x00008010, 0x703978ec, 0x00005600, 0x00000000, 0x00008080,
- 0x703a00ec, 0x00005600, 0x00000000, 0x00008080, 0x0bb80005, 0x00009980,
- 0x7039f0ec, 0x00005600, 0x0039e000, 0x00008000, 0x00000001, 0x00007480,
- 0x0418102e, 0x00006987, 0x700800ec, 0x00005680, 0x003977c0, 0x00000078,
- 0x8b807a37, 0x00009282, 0x0bc00c30, 0x00009888, 0x8bd17d30, 0x00001008,
- 0x00002d9f, 0x00007010, 0x16e18e2f, 0x00002080, 0x8bc10237, 0x00009080,
- 0xffffffff, 0x00007f97, 0x80118a2f, 0x00009502, 0x0d000c34, 0x000010d9,
- 0x00002db7, 0x0000f071, 0x8bc08205, 0x00006180, 0x0bc1a405, 0x00002000,
- 0x8011ba2f, 0x00006502, 0x10000034, 0x00002403, 0x8bc00000, 0x00001980,
- 0x8bc00800, 0x000019f0, 0x2c047430, 0x00001680, 0x0b8588b0, 0x00001000,
- 0x0140fc37, 0x00006281, 0x0be17c05, 0x00000201, 0x14617834, 0x00006801,
- 0x2c023d30, 0x00009680, 0x0bc588b0, 0x00009000, 0x0bc1782e, 0x00006000,
- 0x8dc00a37, 0x00000080, 0x0b800c05, 0x0000e080, 0x0bc0382f, 0x0000c080,
- 0x8d400a35, 0x00006080, 0x8bd1722f, 0x00008000, 0x00000001, 0x00007480,
- 0x2f81d02f, 0x0000f902, 0x0c800000, 0x00000100, 0x2f818a2f, 0x0000f902,
- 0x0bc00000, 0x00000100, 0x81402634, 0x00001283, 0x0b800000, 0x00007908,
- 0x00004000, 0x00000980, 0x0ba18430, 0x0000e109, 0x4ba98530, 0x00004909,
- 0x00002d9f, 0x00007010, 0x0f01ba2f, 0x00006800, 0x2dc12d16, 0x0000f500,
- 0x8b800c2f, 0x00001481, 0x0e81702e, 0x00009900, 0x8bc08205, 0x00006180,
- 0x0bc1a405, 0x00002000, 0x8011ba2f, 0x00006502, 0x10000034, 0x00002403,
- 0x8bc00000, 0x00001980, 0x8bc00800, 0x000019f0, 0x2c047430, 0x00001680,
- 0x0b8588b0, 0x00001000, 0x0140fc37, 0x00006281, 0x0be17c05, 0x00000201,
- 0x14617834, 0x00006801, 0x2c023d30, 0x00009680, 0x0bc588b0, 0x00009000,
- 0x0bc1782e, 0x00006000, 0x8dc00a37, 0x00000080, 0x0b800c05, 0x0000e080,
- 0x0bc0382f, 0x0000c080, 0x8d400a35, 0x00006080, 0x8bd1722f, 0x00008000,
- 0x00000001, 0x00007480, 0x2f81d02f, 0x0000f902, 0x0c800000, 0x00000100,
- 0x2f818a2f, 0x0000f902, 0x0bc00000, 0x00000100, 0x0bc00002, 0x00001980,
- 0x00000001, 0x00007480, 0xcbe80500, 0x00001900, 0x770000ec, 0x00005680,
- 0x00397800, 0x00000000, 0xc91722e4, 0x0000e100, 0x00000834, 0x00006401,
- 0x2c023d2e, 0x00009680, 0x0e8588b0, 0x00001000, 0x2c023d2e, 0x00009680,
- 0x8c8588b0, 0x00001000, 0x2c04742e, 0x00001680, 0x0f0588b0, 0x00001000,
- 0x0b000000, 0x0000e180, 0x49c00d27, 0x0000c081, 0x0c41d03c, 0x0000e000,
- 0x8ee71800, 0x00008980, 0x2dec2dd9, 0x0000f300, 0x09c00c27, 0x00009081,
- 0x8f001231, 0x00001080, 0x2fb9c83c, 0x00005100, 0x0039c000, 0x00000000,
- 0x2fb9623c, 0x00005100, 0x0039b800, 0x00000000, 0x2fb9b43c, 0x0000d100,
- 0x0039a800, 0x00008000, 0x2fb93e3c, 0x00005100, 0x0039a000, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x12cfb80b, 0x00001684, 0x2c04742e, 0x00001680,
- 0x0bc588b0, 0x00009000, 0x80000a3b, 0x00006582, 0x0bc1783a, 0x00000000,
- 0x8bc0122f, 0x00009080, 0x2f81c82f, 0x0000f902, 0x0e000000, 0x00000100,
- 0x2f81622f, 0x0000f902, 0x0dc00000, 0x00000100, 0x2f81b42f, 0x00007902,
- 0x0d400000, 0x00008100, 0x2f813e2f, 0x0000f902, 0x0d000000, 0x00000100,
- 0x2c04742e, 0x00001680, 0x8bc588b0, 0x00001000, 0x8bc0322f, 0x00001080,
- 0x8bd1922f, 0x00009000, 0x2fa0282f, 0x0000a180, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x80102a37, 0x00001502,
- 0xffffffff, 0x00007f86, 0x00002e3c, 0x00007008, 0x00002e31, 0x0000f010,
- 0x2e122dd9, 0x00007300, 0x09c00c27, 0x00009081, 0x2fb9c83c, 0x00005100,
- 0x0039c000, 0x00000000, 0x2fb9623c, 0x00005100, 0x0039b800, 0x00000000,
- 0x2fb9b43c, 0x0000d100, 0x0039a800, 0x00008000, 0x2fb93e3c, 0x00005100,
- 0x0039a000, 0x00000000, 0x00c002ec, 0x0000df80, 0x12d0e00b, 0x00001684,
- 0x2c04742e, 0x00001680, 0x0f0588b0, 0x00001000, 0x8ec0123b, 0x0000e180,
- 0x0bc1e03a, 0x00008000, 0x8f00122f, 0x00001080, 0x2c04742e, 0x00001680,
- 0x8bc588b0, 0x00001000, 0x2f81c83c, 0x00007902, 0x0e000000, 0x00000100,
- 0x2f81623c, 0x00007902, 0x0dc00000, 0x00000100, 0x2f81b43c, 0x0000f902,
- 0x0d400000, 0x00008100, 0x2f813e3c, 0x00007902, 0x0d000000, 0x00000100,
- 0x8f00322f, 0x00009080, 0x8bd1923c, 0x00001000, 0x2fa0282f, 0x0000a180,
- 0xffffffff, 0x00007fa7, 0x80102a37, 0x00001502, 0x00002dea, 0x0000f00b,
- 0x0bc00000, 0x0000e180, 0x00000034, 0x0000e401, 0x803962ec, 0x00005604,
- 0x00000000, 0x00008080, 0x0021702f, 0x00006886, 0x2e392d95, 0x0000f500,
- 0x8229702f, 0x0000e886, 0x0c01782f, 0x00009900, 0xb9192324, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x02f8f800, 0x00007900, 0x002ef11e, 0x00000980,
- 0x03117800, 0x0000f900, 0x0037494e, 0x00008980, 0x02000000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x01800000, 0x000080f4, 0x2e49109e, 0x00007500,
- 0x82600500, 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900,
- 0x00001c2d, 0x00006583, 0xc99722e4, 0x00008900, 0x40000d2d, 0x000015b3,
- 0x00002e7f, 0x0000701b, 0x2c023d2d, 0x00009680, 0x094588b0, 0x00009000,
- 0x2c023d2d, 0x00009680, 0x8c4588b0, 0x00001000, 0x2c04742d, 0x00001680,
- 0x0bc588b0, 0x00009000, 0x0bc17825, 0x00001000, 0x2c04742d, 0x00001680,
- 0x0c0588b0, 0x00001000, 0x0b812830, 0x00001000, 0x8c00122e, 0x00009080,
- 0x2c04742d, 0x00001680, 0x8b8588b0, 0x00009000, 0x2f81c830, 0x00007902,
- 0x0e000000, 0x00000100, 0x2f816230, 0x00007902, 0x0dc00000, 0x00000100,
- 0x2f81b430, 0x0000f902, 0x0d400000, 0x00008100, 0x2f813e30, 0x00007902,
- 0x0d000000, 0x00000100, 0x8c00322e, 0x00001080, 0x8b918a30, 0x00009000,
- 0x2fa0282e, 0x00002180, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0xcd602c37, 0x0000c469, 0x20402c37, 0x00000b15, 0x06c01634, 0x0000c58e,
- 0x89400e34, 0x00000588, 0x0b800000, 0x00001980, 0x0021682e, 0x0000e886,
- 0x2e702d95, 0x00007500, 0x8229682e, 0x00006886, 0x0c01702e, 0x00009900,
- 0x81616c2d, 0x00001900, 0xb9193326, 0x00001900, 0x2c047205, 0x00001680,
- 0x0b4588b0, 0x00001000, 0x0b816825, 0x00001000, 0x8c00122e, 0x00009080,
- 0x2fb9c830, 0x00005100, 0x0039c000, 0x00000000, 0x2fb96230, 0x00005100,
- 0x0039b800, 0x00000000, 0x00000000, 0x0000f480, 0x2fb9b430, 0x0000d100,
- 0x0039a800, 0x00008000, 0x2fb93e30, 0x00005100, 0x0039a000, 0x00000000,
- 0x01400000, 0x00006180, 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180,
- 0x00280005, 0x0000e086, 0xc2700600, 0x00006101, 0x04216805, 0x00006087,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x82680500, 0x0000e101,
- 0x82296805, 0x0000e086, 0x02fbf000, 0x0000f900, 0x002ef11e, 0x00000980,
- 0x030cb000, 0x00007900, 0x003216a2, 0x00000980, 0x2e90109e, 0x0000f500,
- 0x02b81702, 0x00008020, 0x0180b705, 0x0000809d, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x01800000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x02d70800, 0x0000f900, 0x002ef120, 0x00008980, 0x031ff000, 0x00007900,
- 0x003c5312, 0x00008980, 0x0221bf02, 0x00000034, 0x83680105, 0x00000026,
- 0x82781400, 0x00000028, 0x81c0b000, 0x0000e180, 0x01a80500, 0x00004901,
- 0x01b1692d, 0x00000019, 0x2e9f109e, 0x00007100, 0x0b800c2d, 0x00009880,
- 0x8b91752d, 0x00009000, 0x16e17e2e, 0x0000a080, 0xffffffff, 0x00007fa7,
- 0x8b917a37, 0x00009100, 0x8141022e, 0x00001082, 0x0d000c34, 0x0000e0d9,
- 0x0e800000, 0x000009d8, 0x0c800000, 0x000061d8, 0x0c400000, 0x000049d8,
- 0x00002eca, 0x00007070, 0xb9193326, 0x00006100, 0x4d000d34, 0x0000c081,
- 0x2c04742d, 0x00001680, 0x0b4588b0, 0x00001000, 0x0bc00000, 0x0000e180,
- 0x0b816825, 0x00004000, 0x8c00122e, 0x00009080, 0x2fb9c830, 0x00005100,
- 0x0039c000, 0x00000000, 0x2fb96230, 0x00005100, 0x0039b800, 0x00000000,
- 0x00000000, 0x0000f480, 0x2fb9b430, 0x0000d100, 0x0039a800, 0x00008000,
- 0x2fb93e30, 0x00005100, 0x0039a000, 0x00000000, 0x0ba807e4, 0x00009800,
- 0x0c81602e, 0x00009202, 0x0b01602e, 0x0000e308, 0x89c00e27, 0x00008089,
- 0x8c00122f, 0x00009088, 0x00002eed, 0x00007010, 0x2fb9c830, 0x00005100,
- 0x0039c000, 0x00000000, 0x2fb96230, 0x00005100, 0x0039b800, 0x00000000,
- 0x2fb9b430, 0x0000d100, 0x0039a800, 0x00008000, 0x2fb93e30, 0x00005100,
- 0x0039a000, 0x00000000, 0x00c002ec, 0x0000df80, 0x12d2a00b, 0x00001684,
- 0x0b000000, 0x0000e180, 0x0f11ba30, 0x0000e000, 0x0021682c, 0x00006886,
- 0x8229682c, 0x0000e886, 0x2ed12d16, 0x00007500, 0x0421802c, 0x00006887,
- 0x0e81602c, 0x00009900, 0x0b000000, 0x00007900, 0x00004000, 0x00000980,
- 0x0021682c, 0x00006886, 0x8229682c, 0x0000e886, 0x2ed82d16, 0x00007500,
- 0x8b000c30, 0x00001481, 0x0e81602c, 0x00009900, 0x0b000000, 0x0000e180,
- 0x20000834, 0x0000e401, 0xc9c00f27, 0x00006081, 0x0021682c, 0x00002086,
- 0x2edf2dde, 0x00007404, 0x8229682c, 0x0000e886, 0x0b81602c, 0x00009900,
- 0xb9193326, 0x00001900, 0x2c04742d, 0x00001680, 0x0b4588b0, 0x00001000,
- 0x0b816825, 0x00001000, 0x8c00122e, 0x00009080, 0x2fb9c830, 0x00005100,
- 0x0039c000, 0x00000000, 0x2fb96230, 0x00005100, 0x0039b800, 0x00000000,
- 0x00000000, 0x0000f480, 0x2fb9b430, 0x0000d100, 0x0039a800, 0x00008000,
- 0x2fb93e30, 0x00005100, 0x0039a000, 0x00000000, 0x01800000, 0x00006180,
- 0x0011b805, 0x00006186, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x0411b805, 0x00006187, 0x08001a09, 0x0000b106, 0x02f03800, 0x0000f900,
- 0x002f07be, 0x00008980, 0x0337d800, 0x00007900, 0x003a48e4, 0x00008980,
- 0x82600500, 0x00008026, 0x02b81702, 0x00008020, 0x41b16800, 0x00000019,
- 0x00002e9e, 0x0000f400, 0x0180b12d, 0x0000809d, 0x03402805, 0x00001900,
- 0x0b000000, 0x00009980, 0x0021682c, 0x00006886, 0x2f022dde, 0x0000f404,
- 0x8229682c, 0x0000e886, 0x0b81602c, 0x00009900, 0x00002e71, 0x00007200,
- 0x81616c2d, 0x00001900, 0x10c00000, 0x000004d8, 0x11000000, 0x00006180,
- 0x00003843, 0x0000e106, 0x10006000, 0x00007900, 0x00008000, 0x00000980,
- 0x105c0800, 0x0000f900, 0x00004080, 0x00008980, 0x11400004, 0x00006180,
- 0xc0003843, 0x00006006, 0x11c00000, 0x00006180, 0x10803006, 0x0000c900,
- 0xd1944a89, 0x00001900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009080ec, 0x00005780, 0x00006000, 0x00008080,
- 0x06b85a0b, 0x0000e000, 0x06001a08, 0x0000c880, 0x0680081a, 0x0000e180,
- 0x00000005, 0x0000a704, 0x0f400000, 0x000003f8, 0x0d000120, 0x0000e180,
- 0x0f00c01a, 0x0000c200, 0x0600fe0b, 0x0000e281, 0xc0000005, 0x0000a407,
- 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x45c29834, 0x0000e001,
- 0x0420c03e, 0x0000b081, 0x80003a50, 0x0000e582, 0x0420c03d, 0x00002081,
- 0x80007000, 0x00006180, 0x08003018, 0x00006206, 0x0b400000, 0x0000f900,
- 0x00044000, 0x00008980, 0xc0c02000, 0x0000e180, 0x0a140107, 0x00004980,
- 0x0bc05800, 0x000000d7, 0x80400800, 0x00006181, 0x8d10c218, 0x0000c900,
- 0x06007c50, 0x000062b1, 0x06004000, 0x00008999, 0x000848ec, 0x00005780,
- 0x00007800, 0x00008080, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0000182f, 0x00006106, 0x0018082d, 0x00003580, 0x90000005, 0x00006401,
- 0x90000001, 0x0000b401, 0x0a401000, 0x000082f0, 0x0eca0005, 0x0000e180,
- 0x0c000000, 0x00004980, 0x09c00000, 0x00006180, 0x82000a08, 0x0000c080,
- 0x0a010028, 0x00006380, 0x8620c034, 0x0000a007, 0x0e804000, 0x00007900,
- 0x00207fc0, 0x00008980, 0x001050ec, 0x00005780, 0x00007801, 0x00000080,
- 0xc000182f, 0x0000e006, 0xc0000005, 0x00003407, 0x90000801, 0x00006401,
- 0x60000830, 0x00003403, 0x01200000, 0x000000dd, 0x0a800000, 0x000082ec,
- 0x0ba81402, 0x00008238, 0x0e387f0e, 0x00000324, 0x0fc00702, 0x00000384,
- 0x0c880000, 0x000002d0, 0x09400800, 0x00006180, 0x09870801, 0x00004980,
- 0x0d800000, 0x000083dc, 0x0d603788, 0x00008083, 0xcb40300c, 0x000002e6,
- 0x4a601408, 0x000082f3, 0x0eec2d02, 0x0000821c, 0xca002000, 0x00006181,
- 0x0cd04208, 0x0000c900, 0x009006ec, 0x00005f80, 0x00004801, 0x00008084,
- 0x00001d1d, 0x0000f88c, 0x00000000, 0x00000000, 0xe782051d, 0x0000f88f,
- 0x01400001, 0x00008060, 0xfee0f722, 0x0000c913, 0xee42061d, 0x00000b8f,
- 0x02787a0f, 0x00006000, 0x00000005, 0x00006704, 0x02001a0c, 0x0000e080,
- 0xc0000005, 0x00006407, 0xc140700a, 0x000000c1, 0x02400809, 0x0000e180,
- 0x90000005, 0x0000a401, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
- 0xc0c02000, 0x0000e180, 0xc0000005, 0x00006407, 0x002ff800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x12c00000, 0x00006180, 0x00001805, 0x0000e406,
- 0x16400000, 0x000005e8, 0x16004009, 0x0000e200, 0x80400800, 0x00008981,
- 0x0200fe0f, 0x0000e281, 0x80001005, 0x0000a480, 0x0000184b, 0x0000e106,
- 0x90000001, 0x0000b401, 0x0420405a, 0x0000e081, 0x04204059, 0x0000b081,
- 0x15ca0005, 0x0000e180, 0x14000140, 0x00004980, 0x00080000, 0x00006380,
- 0x82000a0c, 0x00008080, 0x11140000, 0x0000f900, 0x0001020e, 0x00000980,
- 0x12001000, 0x00007900, 0x00008000, 0x00000980, 0x12580800, 0x0000f900,
- 0x00044240, 0x00008980, 0x15804000, 0x00007900, 0x00207fc0, 0x00008980,
- 0x13000000, 0x00007900, 0x00001000, 0x00000980, 0x001000ec, 0x00005780,
- 0x00d84c40, 0x00008380, 0xc000184b, 0x00006006, 0x80000805, 0x00003401,
- 0x01000000, 0x0000e180, 0x90000801, 0x00006401, 0xc1c00000, 0x0000e180,
- 0x11403100, 0x00004980, 0x11800000, 0x000084dc, 0x12a81402, 0x00008428,
- 0x15389f12, 0x00000514, 0x16c00702, 0x000004b4, 0x13800000, 0x000085c8,
- 0x14c00000, 0x00006180, 0x14517a2f, 0x00004900, 0x17004020, 0x000085f4,
- 0x17800000, 0x000085fc, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc,
- 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x15e10502, 0x00000500,
- 0x83000a0c, 0x00006080, 0xc0004800, 0x00000981, 0x13d04208, 0x00001900,
- 0x0098beec, 0x0000df80, 0x008848c0, 0x00008284, 0x02000000, 0x0000e180,
- 0x08003004, 0x0000e206, 0x0107f804, 0x00006280, 0x01400000, 0x00000981,
- 0x00117804, 0x00006502, 0x17010104, 0x00000980, 0x02000800, 0x0000e188,
- 0x17404000, 0x00004980, 0xc000471d, 0x0000e583, 0x17800000, 0x00000980,
- 0x01400800, 0x0000e189, 0x01000c08, 0x00004481, 0x17c00000, 0x000006c0,
- 0x18400000, 0x000006c8, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8,
- 0x01202c04, 0x0000e203, 0x19c00000, 0x00000980, 0x00000408, 0x00001583,
- 0x00000405, 0x00009583, 0x00003004, 0x0000f010, 0x00002fb5, 0x00007008,
- 0x00003011, 0x00007008, 0x08003008, 0x0000e206, 0x00000005, 0x00003704,
- 0x80007000, 0x00006180, 0xc0000005, 0x00006407, 0x1d044800, 0x0000e180,
- 0x40001005, 0x0000e406, 0x81405000, 0x00006181, 0xdd104208, 0x0000c900,
- 0x0201041d, 0x0000e283, 0x90000005, 0x0000a401, 0x1a000800, 0x00006180,
- 0xc0000005, 0x00006407, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
- 0x1b00e000, 0x00007900, 0x0000c000, 0x00008980, 0x1b400000, 0x00007900,
- 0x00010000, 0x00000980, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x1bc00002, 0x0000e180, 0x00001805, 0x0000e406, 0x1b37f86c, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x1b7f806d, 0x00007900, 0x003ffffe, 0x00008280,
- 0x1d400000, 0x0000e180, 0x80001005, 0x00006480, 0x80405000, 0x0000e181,
- 0x00180000, 0x00004380, 0x0000386f, 0x00006106, 0x20000868, 0x0000b401,
- 0x8000006d, 0x00006401, 0x80001805, 0x00003403, 0x01000000, 0x0000e180,
- 0x90000001, 0x0000e401, 0x1a480000, 0x000086e8, 0x1ac00000, 0x0000e180,
- 0x1b803006, 0x00004900, 0x40c00400, 0x000087d8, 0x1dc00000, 0x000007e0,
- 0x1e400000, 0x000007e8, 0x1ec00000, 0x00006180, 0x5d28fd1f, 0x0000c901,
- 0x00002fee, 0x00007410, 0x9b031800, 0x00006181, 0xdd686d0d, 0x0000c901,
- 0x41e06407, 0x000080c3, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x0090d0ec, 0x00005780, 0x00905740, 0x00000180,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x20000068, 0x0000ec01, 0x0010d0ec, 0x0000d780, 0x00905740, 0x00000180,
- 0x1d3bf874, 0x0000f900, 0x003ffffe, 0x00008280, 0x6000085c, 0x00006c02,
- 0x0018b8ec, 0x0000d780, 0x00004800, 0x00008080, 0x009006ec, 0x00005f80,
- 0x00884a40, 0x000083c4, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x02c85800, 0x00007900, 0x0002467e, 0x00008980, 0x03174800, 0x0000f900,
- 0x0034c5d8, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x01800000, 0x000080f4, 0x3004109e, 0x00007500, 0x82600500, 0x00008026,
- 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x02ff7800, 0x00007900, 0x000b163c, 0x00008980,
- 0x031fa800, 0x0000f900, 0x0037229e, 0x00008980, 0x02000000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x01800000, 0x000080f4, 0x3011109e, 0x0000f500,
- 0x82600500, 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900,
- 0x02787a0f, 0x00006000, 0x00000005, 0x00006704, 0x02001a0c, 0x0000e080,
- 0xc0000005, 0x00006407, 0x81405000, 0x00006181, 0x02400809, 0x00004180,
- 0x80007000, 0x00006180, 0x90000005, 0x00006401, 0x00400000, 0x00007900,
- 0x00040010, 0x00008980, 0x16400000, 0x00006180, 0xc0000005, 0x00006407,
- 0x16800000, 0x00006180, 0x16004009, 0x00004200, 0x0200fe0f, 0x0000e281,
- 0x00001805, 0x00002406, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0420405a, 0x0000e081, 0x04204059, 0x0000b081, 0x40c00404, 0x000084ec,
- 0x80400800, 0x00006181, 0x82000a0c, 0x00004080, 0x0000184b, 0x0000e106,
- 0x80001005, 0x00003480, 0x15ca0005, 0x0000e180, 0x90000001, 0x0000e401,
- 0x14000140, 0x00006180, 0x00080000, 0x0000c380, 0x13d04208, 0x00006100,
- 0x08003051, 0x0000e206, 0x08003008, 0x0000e206, 0x80000805, 0x00003401,
- 0x11140000, 0x0000f900, 0x0001020e, 0x00000980, 0x12001000, 0x00007900,
- 0x00008000, 0x00000980, 0x12580800, 0x0000f900, 0x00044240, 0x00008980,
- 0x15804000, 0x00007900, 0x00207fc0, 0x00008980, 0x13000000, 0x00007900,
- 0x00001000, 0x00000980, 0x001000ec, 0x00005780, 0x00d84c40, 0x00008380,
- 0xc000184b, 0x00006006, 0x90000801, 0x00003401, 0x01200000, 0x000000dd,
- 0x11403100, 0x00006180, 0x11800000, 0x0000c980, 0x11c00000, 0x00006180,
- 0x92901202, 0x0000c900, 0x12b89502, 0x00000510, 0x15781713, 0x0000852c,
- 0x13400000, 0x000004f8, 0x14800000, 0x000085cc, 0x83000a0c, 0x00006080,
- 0xd5d81302, 0x00008900, 0x14204c08, 0x00000083, 0x0098beec, 0x0000df80,
- 0x008848c0, 0x00008284, 0x1c060000, 0x00007900, 0x001f2252, 0x00008980,
- 0x1c517000, 0x00007900, 0x002ba52e, 0x00008980, 0x305610d5, 0x0000f500,
- 0x1b100010, 0x00006180, 0x0800306d, 0x0000e206, 0x1b901202, 0x00001900,
- 0x01007c85, 0x00006281, 0x28000000, 0x00008980, 0x00003404, 0x0000e583,
- 0x000428a0, 0x00002006, 0x28400000, 0x000082e0, 0x0a400000, 0x000002e8,
- 0x0ac00000, 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000, 0x00000adc,
- 0x06000000, 0x000081e4, 0x00003087, 0x0000f410, 0x06800000, 0x000081ec,
- 0x2838498e, 0x00000a05, 0x01000000, 0x00009980, 0x30672e49, 0x0000f404,
- 0x00206804, 0x0000e886, 0x0b402004, 0x00009900, 0xc000038e, 0x00006582,
- 0x0a401000, 0x00008980, 0x0a8000e1, 0x000082ec, 0x28b9973a, 0x00000a0c,
- 0x29397f31, 0x00008a14, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
- 0x00003079, 0x00007408, 0x0a088001, 0x0000e180, 0xca5c738e, 0x00004900,
- 0x8aac2984, 0x0000022c, 0x000ff866, 0x00006501, 0x60053867, 0x00003486,
- 0x1901d03a, 0x00006100, 0xe0001866, 0x00006403, 0x0000307f, 0x0000f400,
- 0x19681732, 0x0000061c, 0x999c738e, 0x00001900, 0x60053867, 0x00006486,
- 0x00000866, 0x00003700, 0xd9d81302, 0x00006100, 0xc0000866, 0x0000e401,
- 0xe0001866, 0x0000ec03, 0x041c7066, 0x00006901, 0x000850ec, 0x00005780,
- 0x00d87e40, 0x000080c0, 0x001000ec, 0x00005780, 0x00004801, 0x00000080,
- 0x00003099, 0x00007400, 0x29ac740a, 0x00008a18, 0x09007800, 0x0000e181,
- 0x83000a0c, 0x0000c080, 0x00004404, 0x00009583, 0x01000000, 0x00001988,
- 0x01206c0d, 0x00001909, 0x00003091, 0x0000f010, 0x308d2e49, 0x00007204,
- 0x0b402004, 0x00009900, 0x28b9973a, 0x00000a0c, 0x00003096, 0x00007400,
- 0x29397f31, 0x00008a14, 0x29fc5c8c, 0x00000a18, 0x28844088, 0x00006100,
- 0x60000818, 0x0000e402, 0x28fc5789, 0x00008a10, 0x297c678b, 0x00008a18,
- 0x29c4688d, 0x00001900, 0x001000ec, 0x00005780, 0x00884980, 0x000081c0,
- 0x09005800, 0x00001981, 0x80007000, 0x00006180, 0x00000005, 0x00006704,
- 0x26c00002, 0x00006180, 0xc0000005, 0x00006407, 0x00400000, 0x00007900,
- 0x00040010, 0x00008980, 0x90000005, 0x00006401, 0x90000001, 0x0000b401,
- 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0000389b, 0x0000e106,
- 0xc0000005, 0x00003407, 0x2600e000, 0x0000f900, 0x0000c000, 0x00008980,
- 0x26400000, 0x0000f900, 0x00010000, 0x00000980, 0x01000800, 0x000089d0,
- 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180, 0x26803006, 0x0000c900,
- 0xc0c00000, 0x00006180, 0x80647c8f, 0x00004901, 0xc0200402, 0x000080dd,
- 0x816c7d8f, 0x00009901, 0x18406c24, 0x00004388, 0x00606c24, 0x00008098,
- 0x00806424, 0x0000c791, 0x80807424, 0x0000808c, 0x34807c24, 0x0000788a,
- 0x01800001, 0x00000080, 0xc0001f00, 0x0000e081, 0x00111805, 0x00002580,
- 0x00080000, 0x00006380, 0x80000805, 0x0000a401, 0x000030d6, 0x00007000,
- 0x00100000, 0x00006380, 0x40001005, 0x00002406, 0x000030d6, 0x0000f400,
- 0xc1c03800, 0x00006180, 0x90000805, 0x0000e401, 0xc0004800, 0x00009981,
- 0x00180000, 0x0000e380, 0x40001005, 0x00002406, 0xc1c03800, 0x00006180,
- 0x00001805, 0x0000e406, 0xc0006000, 0x0000e181, 0x80001005, 0x00006480,
- 0x80001805, 0x0000ec03, 0x20000894, 0x00006c01, 0x2637f898, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x267f8099, 0x00007900, 0x003ffffe, 0x00008280,
- 0xa6031800, 0x0000e181, 0x80000099, 0x0000e401, 0x00912eec, 0x0000df80,
- 0x00905200, 0x0000818c, 0x000030db, 0x00007400, 0xc0003000, 0x0000e181,
- 0x90000801, 0x00006401, 0xc0c02000, 0x00009980, 0x00007424, 0x00001583,
- 0x40000894, 0x0000ec09, 0x000030c9, 0x0000f009, 0x32407c24, 0x00007892,
- 0x01800001, 0x00000080, 0x10000894, 0x00006c01, 0xffffffff, 0x00007f86,
- 0x000030ca, 0x0000f000, 0x58385eec, 0x0000a180, 0xc00007e2, 0x00009583,
- 0xffffffff, 0x00007f97, 0x82c00e0b, 0x00006191, 0x42c00d0b, 0x00000189,
- 0x00000001, 0x00007480, 0x02c00c0b, 0x00001181, 0x58385eec, 0x00002980,
- 0x03000000, 0x000001d0, 0x05400000, 0x000001d8, 0x05c00000, 0x000001e0,
- 0x06400000, 0x000001e8, 0x06c00000, 0x00001980, 0x33800c05, 0x0000c488,
- 0xde600c05, 0x00000ca9, 0x67c01405, 0x0000788a, 0x09800000, 0x0000988d,
- 0x0e009800, 0x0000f900, 0x00003400, 0x00000980, 0x30f5151b, 0x00007404,
- 0x02400000, 0x0000e181, 0x0d803006, 0x0000c900, 0x0e403807, 0x00009900,
- 0x00000434, 0x00001583, 0x873f1fe3, 0x00001908, 0x84c0e01c, 0x0000a088,
- 0x000030fe, 0x0000f010, 0xffffffff, 0x00007f97, 0x07003c1c, 0x00001281,
- 0x0700141c, 0x00001181, 0x00000c1c, 0x00009583, 0x00003103, 0x0000701b,
- 0x09ee1000, 0x00007900, 0x0013bcb4, 0x00008980, 0x3103112b, 0x00007500,
- 0x09b83f06, 0x00008214, 0x08a1a434, 0x00009900, 0x35f86a33, 0x00002000,
- 0x35b88c33, 0x0000a080, 0x35f88433, 0x0000a080, 0x36f87433, 0x00002000,
- 0x36c05e33, 0x0000f902, 0x02800000, 0x00000000, 0x3738e633, 0x0000a080,
- 0x03400ce0, 0x00009283, 0x00003110, 0x0000700b, 0x310d10f7, 0x00007100,
- 0xffffffff, 0x00007f86, 0x00000497, 0x00001583, 0x00003192, 0x00007013,
- 0x03401c08, 0x00001283, 0x03f08fe4, 0x00006008, 0x87000ee3, 0x00004888,
- 0x583896ec, 0x0000a188, 0x00003183, 0x00007010, 0xc00007e2, 0x00009583,
- 0x5e40021c, 0x00005180, 0x00400000, 0x00008000, 0x80000012, 0x0000ec87,
- 0x84800e12, 0x0000e091, 0x44800d12, 0x00008089, 0x80000e0e, 0x00006583,
- 0x04800c12, 0x00000081, 0x583896ec, 0x0000a980, 0x04308812, 0x00006887,
- 0x0018e012, 0x00006986, 0x84280500, 0x0000e100, 0x86288012, 0x00006087,
- 0x5e78781c, 0x0000d100, 0x00389000, 0x00008000, 0x5e40021c, 0x0000d100,
- 0x00400000, 0x00000080, 0x87371ee3, 0x00009900, 0x2e20681c, 0x00002981,
- 0x2c04760d, 0x00001680, 0x834588b0, 0x00001000, 0x07008000, 0x00006191,
- 0x07004000, 0x00004989, 0x04400000, 0x0000f900, 0x000010c4, 0x00008980,
- 0x580006ec, 0x0000d100, 0x00400000, 0x00000080, 0xc417c20d, 0x00007900,
- 0x00000008, 0x00000080, 0x0020e011, 0x00006906, 0x703888ec, 0x0000d600,
- 0x00388000, 0x00000000, 0x04400000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x8460e41c, 0x00006100, 0x04380005, 0x00004980, 0x703858ec, 0x00005600,
- 0x00385000, 0x00008000, 0x04181010, 0x0000e987, 0x703888ec, 0x0000d600,
- 0x00388000, 0x00000000, 0x00d802ec, 0x0000df80, 0x130a0001, 0x000083c4,
- 0x80000e0e, 0x00009583, 0x0000314a, 0x00007013, 0x2c04760d, 0x00001680,
- 0x870588b0, 0x00001000, 0x2fb8801c, 0x00002180, 0xffffffff, 0x00007fa7,
- 0x2fb8821c, 0x00002980, 0x2fb8801c, 0x0000a100, 0xffffffff, 0x00007fa7,
- 0x2fb8821c, 0x0000a900, 0x8000fa0f, 0x0000e582, 0x0dc00000, 0x00000980,
- 0x0d800020, 0x0000e180, 0x0d400000, 0x00004980, 0x04000000, 0x000003d0,
- 0x04c00000, 0x0000e180, 0x0e40580b, 0x0000c900, 0x0000315c, 0x0000f418,
- 0x0e087f0a, 0x0000831e, 0x8db0760e, 0x00006100, 0x01c00020, 0x000049b0,
- 0x02d42800, 0x00007900, 0x002f07c0, 0x00008980, 0x03291000, 0x0000f900,
- 0x00373b7a, 0x00000980, 0x00003167, 0x00007400, 0x02000000, 0x000080d8,
- 0x41c00002, 0x000000f4, 0x8000060e, 0x00001583, 0x01c00020, 0x0000e188,
- 0x02000000, 0x00004988, 0x01800000, 0x0000e188, 0x03400000, 0x00004988,
- 0x0000316c, 0x0000f010, 0x02d43000, 0x00007900, 0x002f07c0, 0x00008980,
- 0x0310b800, 0x00007900, 0x00255038, 0x00008980, 0x81c01000, 0x00009980,
- 0xc1c00800, 0x0000e181, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x02801002, 0x00009900, 0x316c109e, 0x0000f100, 0x2c04760d, 0x00001680,
- 0x870588b0, 0x00001000, 0x8700321c, 0x00001080, 0x2fa0981c, 0x0000a980,
- 0x87000e0d, 0x00009880, 0x16e06e1c, 0x00002080, 0x87010000, 0x00009980,
- 0xffffffff, 0x00007f97, 0x80106a1c, 0x00009502, 0x0d000800, 0x000019d9,
- 0x000031be, 0x00007071, 0x2c04760d, 0x00001680, 0x070588b0, 0x00009000,
- 0x8700121c, 0x00009080, 0x2f80021c, 0x00005180, 0x00400000, 0x00008000,
- 0x2fb9c81c, 0x0000d100, 0x0039c000, 0x00000000, 0x2fb9b41c, 0x00005100,
- 0x0039a800, 0x00008000, 0x2fb8861c, 0x00005100, 0x0039a000, 0x00000000,
- 0x2fb9ba1c, 0x0000a900, 0x07204c09, 0x0000e101, 0x0020280b, 0x0000e086,
- 0x82c054ec, 0x00007902, 0x02400000, 0x00008604, 0x8228280b, 0x00006086,
- 0x0000200e, 0x0000b586, 0x0428280e, 0x00006087, 0x0418280b, 0x0000b187,
- 0x1bc02004, 0x0000e100, 0x8620280e, 0x0000e087, 0x1b06d800, 0x0000f900,
- 0x0032a52e, 0x00000980, 0x31b0114d, 0x0000f500, 0x1bb8570b, 0x00008634,
- 0x1ac0700e, 0x00001900, 0x2c0036e3, 0x00001680, 0x870588b0, 0x00001000,
- 0x5878281c, 0x0000a180, 0xffffffff, 0x00007fa7, 0x01400805, 0x00009080,
- 0x5878281c, 0x00002980, 0x5840001c, 0x00005100, 0x00409000, 0x00000080,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x318330de, 0x0000f300,
- 0x02400800, 0x00001981, 0x00003183, 0x0000f000, 0x00003183, 0x00007200,
- 0x02401000, 0x00001981, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x01802004, 0x0000e100, 0x08001a09, 0x0000e106, 0x02c5e800, 0x00007900,
- 0x003305b8, 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x03400000, 0x0000e180, 0xc2700600, 0x00004901, 0x82781400, 0x00000028,
- 0x0000316b, 0x00007400, 0x81c02800, 0x00006180, 0x02003006, 0x00004900,
- 0x01802805, 0x00009900, 0x31b2341c, 0x00007300, 0x0940e704, 0x0000821b,
- 0x03800000, 0x0000e180, 0x0000900c, 0x0000e484, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x03c00000, 0x00006180, 0xa2804018, 0x00006002,
- 0x04382f04, 0x00000104, 0x04b83f06, 0x0000010c, 0xc3981302, 0x00006100,
- 0xc3232800, 0x0000c980, 0x00801eec, 0x0000df80, 0x00005001, 0x00008084,
- 0x02800000, 0x00001980, 0x31c22d16, 0x00007500, 0x0030680a, 0x0000e886,
- 0x0e80500a, 0x00009900, 0x02800000, 0x0000f900, 0x00004040, 0x00008980,
- 0x31c72d16, 0x00007500, 0x0030680a, 0x0000e886, 0x0e80500a, 0x00009900,
- 0x00003177, 0x0000f200, 0xc4000f10, 0x00006081, 0x20000834, 0x00002401,
- 0x29000000, 0x0000e180, 0x00000005, 0x00006704, 0x862460a4, 0x0000e007,
- 0xc0000005, 0x00003407, 0x80007000, 0x00006180, 0x40001005, 0x0000e406,
- 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x2600e000, 0x0000f900,
- 0x0000c000, 0x00008980, 0x26400000, 0x0000f900, 0x00010000, 0x00000980,
- 0x28000800, 0x000080d7, 0x08003008, 0x0000e206, 0x00001099, 0x00003406,
- 0x000848ec, 0x00005780, 0x00007800, 0x00008080, 0x002ff800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x000428a0, 0x0000e006, 0x90000005, 0x00003401,
- 0x25000800, 0x00006180, 0x26c00002, 0x00004980, 0x28400180, 0x0000e180,
- 0x09c00000, 0x00004980, 0x6904708e, 0x0000e100, 0x80406800, 0x00004981,
- 0x26080098, 0x00006380, 0x80000899, 0x0000a401, 0x001128ec, 0x0000d780,
- 0x00905200, 0x00000188, 0xc0000005, 0x00006407, 0x20000894, 0x0000b401,
- 0x0000389b, 0x0000e106, 0xc70478a4, 0x00003001, 0x01000000, 0x0000e180,
- 0x90000001, 0x0000e401, 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180,
- 0x26803006, 0x0000c900, 0x40c00400, 0x00000ad8, 0x29c00000, 0x0000e180,
- 0x28a4548a, 0x0000c901, 0x28ac518a, 0x00008a08, 0x28fc6f8b, 0x00000a14,
- 0x09000900, 0x000082d4, 0x09870801, 0x00006180, 0xc0001000, 0x00004981,
- 0xa8243908, 0x00008a04, 0x686c2f09, 0x0000021c, 0x41c31400, 0x000089e3,
- 0x009006ec, 0x00005f80, 0x00004800, 0x00000084, 0xffc00000, 0x00001980,
- 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x000030de, 0x0000f000, 0x0ec42c04, 0x00006802, 0x82e02384, 0x00001100,
- 0x00105851, 0x00009502, 0x01007c85, 0x0000e2a1, 0x8200c284, 0x000080a0,
- 0x00003383, 0x0000f029, 0x00007404, 0x00009583, 0x00003324, 0x0000700b,
- 0x02400000, 0x00009981, 0x00000409, 0x00006583, 0x0a401000, 0x00008980,
- 0x0a8000e1, 0x000082ec, 0x0a080000, 0x00007900, 0x0000820e, 0x00000980,
- 0x82905a0b, 0x0000e108, 0x0c029c05, 0x0000e006, 0x0000321f, 0x0000f408,
- 0x8a48410b, 0x0000022a, 0x02a02fe4, 0x0000e010, 0xcadc2b85, 0x0000c900,
- 0xffffffff, 0x00007f86, 0x82800a0a, 0x00001180, 0x0282920a, 0x00001200,
- 0x0280520b, 0x00009000, 0x02a0280a, 0x00009700, 0x82801a0a, 0x00009880,
- 0x82905a0a, 0x00009000, 0xb8432000, 0x00006180, 0x03001e50, 0x00004281,
- 0x0340140c, 0x00009881, 0x7842a40d, 0x00009081, 0xffffffff, 0x00007fc7,
- 0x04020b00, 0x0000f904, 0x04027810, 0x00009002, 0x8000020a, 0x00006582,
- 0x04400011, 0x00000084, 0x05820b00, 0x0000f904, 0x05827816, 0x00006100,
- 0x8c10520a, 0x00000910, 0x0000333a, 0x00007008, 0x84c34000, 0x000080fa,
- 0x0340b016, 0x00006100, 0x03c0b230, 0x0000cc00, 0x0580b230, 0x00006400,
- 0x85000000, 0x0000c980, 0x8c107a30, 0x00006100, 0x04800000, 0x00000981,
- 0x80000230, 0x00006582, 0x05ca0001, 0x00000980, 0x85000800, 0x0000e190,
- 0x04181017, 0x0000e187, 0x00003413, 0x0000e583, 0x060ff816, 0x0000a587,
- 0x04800800, 0x000061b1, 0x13c2780f, 0x0000c000, 0x10008500, 0x00007904,
- 0x04a0a412, 0x0000e203, 0x04c00c13, 0x00000081, 0x04800000, 0x00009981,
- 0x0000780d, 0x00006502, 0x04800800, 0x00000989, 0xffffffff, 0x00007f86,
- 0xd3609017, 0x00006800, 0x0000328e, 0x00007208, 0x1000b500, 0x00007904,
- 0x00000414, 0x00009583, 0x04020b00, 0x0000f904, 0x05820b00, 0x0000f904,
- 0x000032ce, 0x00007008, 0x00004413, 0x00006583, 0x0380240e, 0x00000081,
- 0x0000322d, 0x0000f013, 0x00000409, 0x00006583, 0x8c11820a, 0x00000100,
- 0x00003252, 0x0000700b, 0x8011820a, 0x00009502, 0x8c105a0b, 0x00009908,
- 0x0000339d, 0x00007011, 0x8100c800, 0x0000e180, 0x82d1820b, 0x0000c100,
- 0x0a614c13, 0x00006001, 0x82209a04, 0x00002086, 0x003020ec, 0x00005702,
- 0x00007800, 0x00008080, 0x14829230, 0x0000e000, 0x14518051, 0x00000100,
- 0x8000020b, 0x00001582, 0x00000409, 0x00009583, 0xffffffff, 0x00007f86,
- 0x0000333c, 0x00007010, 0x00003335, 0x00007010, 0x000850ec, 0x00005780,
- 0x00d87b00, 0x000000c0, 0x01047c85, 0x0000e281, 0x0c800000, 0x00000980,
- 0x0c001000, 0x00007900, 0x00004000, 0x00000980, 0x0c410000, 0x0000f900,
- 0x00040000, 0x00000980, 0x001890ec, 0x0000d780, 0x00004801, 0x00000080,
- 0x00042c04, 0x00006583, 0x0cc00000, 0x00008980, 0x00047404, 0x00001583,
- 0xffffffff, 0x00007f86, 0x00003350, 0x00007008, 0x000032d0, 0x00007008,
- 0x01007c85, 0x00009281, 0x00007404, 0x00009583, 0x80007000, 0x0000e190,
- 0x01000000, 0x00004990, 0x00400000, 0x0000f910, 0x00040010, 0x00008980,
- 0x00003301, 0x0000f008, 0x26c00000, 0x0000e180, 0x00000005, 0x00006704,
- 0x0000389b, 0x0000e106, 0xc0000005, 0x00003407, 0xc1400801, 0x000089d0,
- 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x80406800, 0x00006181,
- 0x90000005, 0x00006401, 0x00100000, 0x00006380, 0xc0000005, 0x0000a407,
- 0x26006000, 0x00007900, 0x00004000, 0x00000980, 0xc000389b, 0x00006006,
- 0x40000894, 0x0000b401, 0x90000001, 0x0000e401, 0x90000805, 0x0000b401,
- 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180, 0x26400180, 0x00004980,
- 0x26a00706, 0x0000008d, 0x41e04c07, 0x000080c3, 0x009006ec, 0x00005f80,
- 0x00904940, 0x0000018c, 0x03c00e50, 0x0000e081, 0x13c00000, 0x00000980,
- 0x83607c0f, 0x0000e100, 0x03000c0c, 0x0000c081, 0x8012820d, 0x0000e502,
- 0x94000e50, 0x00000081, 0x0000240c, 0x00001583, 0x8012820d, 0x00001502,
- 0x00003390, 0x0000f018, 0x00003245, 0x00007010, 0x00003245, 0x00007020,
- 0x83207a50, 0x00009100, 0x8000220c, 0x00001582, 0x03207c50, 0x00006131,
- 0x03002000, 0x00008999, 0x03400000, 0x00007900, 0x000014c4, 0x00000980,
- 0x0440240c, 0x00006081, 0x03c0240f, 0x0000c880, 0x03000540, 0x0000e180,
- 0x0020880d, 0x0000e106, 0x0402600f, 0x0000e002, 0x83280500, 0x00008900,
- 0x03c0004d, 0x00006084, 0x75e8000c, 0x00002101, 0x703868ec, 0x00005600,
- 0x00386000, 0x00008000, 0x03400000, 0x00007900, 0x00007fc0, 0x00000980,
- 0x83608c11, 0x0000e100, 0x03380005, 0x0000c980, 0x703880ec, 0x00005600,
- 0x00387800, 0x00008000, 0x0418100c, 0x00006987, 0x703868ec, 0x00005600,
- 0x00386000, 0x00008000, 0x00d002ec, 0x00005f80, 0x1315a00a, 0x00009584,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x03000ce0, 0x00001283,
- 0x000033aa, 0x00007013, 0x00000414, 0x00006583, 0xb860000a, 0x00008980,
- 0x3840000e, 0x000080b2, 0xffffffff, 0x00007f97, 0x00003249, 0x0000f413,
- 0x04020b00, 0x0000f904, 0x05820b00, 0x0000f904, 0x0000324c, 0x00007200,
- 0x8c000000, 0x00009980, 0x0001101e, 0x00001502, 0x80007000, 0x0000e188,
- 0x01000000, 0x00004988, 0x00400000, 0x0000f908, 0x00040010, 0x00008980,
- 0x000033d3, 0x0000f010, 0x08003008, 0x0000e206, 0x00000005, 0x00003704,
- 0x25000800, 0x00006180, 0xc0000005, 0x00006407, 0x81400800, 0x0000e181,
- 0x26c00002, 0x00004980, 0x80406800, 0x00006181, 0x90000005, 0x00006401,
- 0x28007000, 0x0000e180, 0xc0000005, 0x00006407, 0x2600e000, 0x0000f900,
- 0x0000c000, 0x00008980, 0x26400000, 0x0000f900, 0x00010000, 0x00000980,
- 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00001805, 0x0000e406,
- 0x00001099, 0x00003406, 0x28400180, 0x0000e180, 0x80001005, 0x00006480,
- 0x26080098, 0x00006380, 0x00180000, 0x00008380, 0x60000818, 0x0000e402,
- 0x40000894, 0x0000b401, 0x001830ec, 0x0000d780, 0x00904a00, 0x00000188,
- 0x0000389b, 0x0000e106, 0x90000001, 0x0000b401, 0x80000899, 0x00006401,
- 0x80001805, 0x00003403, 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180,
- 0x26803006, 0x0000c900, 0x40c00400, 0x00008ac8, 0x28c00000, 0x00008ad0,
- 0x29400000, 0x00000ad8, 0x29c00000, 0x0000e180, 0xe8104208, 0x0000c900,
- 0x68629f09, 0x00008a04, 0xe6206062, 0x000080c3, 0xc1c03800, 0x00001980,
- 0x009006ec, 0x00005f80, 0x00904940, 0x0000018c, 0x80007000, 0x00006180,
- 0x00000005, 0x00006704, 0x26c00000, 0x0000e180, 0xc0000005, 0x00006407,
- 0x81400800, 0x0000e181, 0x0000389b, 0x0000e106, 0x25000800, 0x00006180,
- 0x90000005, 0x00006401, 0x26400180, 0x00006180, 0xc0000005, 0x00006407,
- 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x002ff800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x80406800, 0x00006181, 0x00001805, 0x0000e406,
- 0x00180000, 0x0000e380, 0x80001005, 0x0000a480, 0x26006000, 0x00007900,
- 0x00004000, 0x00000980, 0x001830ec, 0x0000d780, 0x00004800, 0x00008080,
- 0xc000389b, 0x00006006, 0x40000894, 0x0000b401, 0x00006099, 0x00006503,
- 0x90000001, 0x0000b401, 0x01000000, 0x0000e180, 0x80001805, 0x00006403,
- 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180, 0x26803006, 0x0000c900,
- 0x40e06400, 0x000080c3, 0xc1c03800, 0x00001980, 0x009006ec, 0x00005f80,
- 0x00904940, 0x0000018c, 0xc1008753, 0x0000e283, 0x06000000, 0x00008980,
- 0x06400100, 0x000081e8, 0x06c00000, 0x00006180, 0x0780f20b, 0x0000c000,
- 0x0000320c, 0x0000f008, 0x01038653, 0x00001281, 0x00008404, 0x00009583,
- 0x0b400000, 0x0000e188, 0x0b800000, 0x0000c988, 0x0bc00000, 0x00006188,
- 0x0b003006, 0x0000c908, 0x0000320c, 0x0000f010, 0x0000320d, 0x00007400,
- 0x02400800, 0x00006181, 0x0000382d, 0x00006106, 0xc000382d, 0x00006806,
- 0x0000325f, 0x0000f400, 0x000858ec, 0x0000d780, 0x00007800, 0x00008080,
- 0x0a400c29, 0x00006081, 0x0a001028, 0x00000380, 0x0000324c, 0x00007200,
- 0x84c00000, 0x000083c1, 0x03614c29, 0x0000e101, 0xc0000028, 0x00006606,
- 0x00000409, 0x00006583, 0x0a400c29, 0x00008181, 0xca518230, 0x00006100,
- 0x0020002a, 0x00006506, 0x000858ec, 0x00005790, 0x00007800, 0x00008080,
- 0x0a606c0d, 0x00006111, 0x0a001028, 0x00004390, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008850ec, 0x0000d780,
- 0x00007800, 0x00008080, 0x82118208, 0x00001000, 0xffffffff, 0x00007f97,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000320d, 0x0000f000,
- 0x80007000, 0x00006180, 0x00000005, 0x00006704, 0x08003008, 0x0000e206,
- 0xc0000005, 0x00003407, 0x25000800, 0x00006180, 0x40001005, 0x0000e406,
- 0xc140000d, 0x00008ac0, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
- 0x2600e000, 0x0000f900, 0x0000c000, 0x00008980, 0x26400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x90000005, 0x00006401, 0x20000894, 0x0000b401, 0x2637f898, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x267f8099, 0x00007900, 0x003ffffe, 0x00008280,
- 0x26c00002, 0x00006180, 0xc0000005, 0x00006407, 0x28400000, 0x0000e180,
- 0x28843086, 0x00004900, 0x80000653, 0x00006583, 0x682c2d85, 0x00000901,
- 0xa8006908, 0x00000087, 0x00100000, 0x00006380, 0x40000894, 0x00002401,
- 0x001128ec, 0x0000d780, 0x00905200, 0x00000188, 0x80000099, 0x0000e401,
- 0x90000805, 0x0000b401, 0x0000389b, 0x0000e106, 0x000428a0, 0x0000b006,
- 0x01000000, 0x0000e180, 0x90000001, 0x0000e401, 0x25480000, 0x000089d8,
- 0x25c00000, 0x0000e180, 0x26803006, 0x0000c900, 0x40c00400, 0x00000acc,
- 0x29000000, 0x00008ad4, 0x29800000, 0x00008adc, 0xa6031800, 0x0000e181,
- 0xa8543a87, 0x0000c900, 0xe8684d09, 0x0000e101, 0x2880c086, 0x000040c8,
- 0x41e04c07, 0x000080c3, 0x009006ec, 0x00005f80, 0x00004800, 0x00000084,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02da1800, 0x0000f900,
- 0x00034e9c, 0x00008980, 0x030a7000, 0x00007900, 0x00153394, 0x00008980,
- 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000080f4,
- 0x3390109e, 0x0000f500, 0x82600500, 0x00008026, 0x81c01000, 0x0000e180,
- 0x02801002, 0x0000c900, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x02ce5000, 0x0000f900, 0x0024f12a, 0x00008980, 0x03284000, 0x00007900,
- 0x00167a04, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x01800000, 0x000080f4, 0x339d109e, 0x00007500, 0x82600500, 0x00008026,
- 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900, 0x03202fe4, 0x00001800,
- 0x81400a0c, 0x0000e180, 0x8100420c, 0x00008080, 0x03429205, 0x00006200,
- 0x8280420c, 0x00000080, 0x81400000, 0x0000e180, 0x83506a30, 0x00004000,
- 0x8010220d, 0x00009502, 0x000033e0, 0x0000702b, 0x81105204, 0x0000e000,
- 0x81400a05, 0x00000080, 0xf810220d, 0x0000782a, 0x31800000, 0x0000998d,
- 0x33ab10f7, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000497, 0x00001583,
- 0x1b00000a, 0x0000e190, 0x1b808000, 0x0000c990, 0x1b400000, 0x00001990,
- 0x000032c7, 0x00007008, 0x33b610d5, 0x00007500, 0x1c060000, 0x00007900,
- 0x001f2252, 0x00008980, 0x1c58e000, 0x00007900, 0x0002b272, 0x00000980,
- 0x02000000, 0x0000e180, 0x00000005, 0x00006704, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x041c2808, 0x00006187, 0xc0000005, 0x00003407,
- 0x2c0036e3, 0x00001680, 0x834588b0, 0x00001000, 0x700708ec, 0x0000d680,
- 0x00384002, 0x00008000, 0x5878480d, 0x0000a180, 0x00400000, 0x00007900,
- 0x00040010, 0x00008980, 0x4000680e, 0x000080d7, 0x002ff800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x02400809, 0x00006080, 0x90000005, 0x0000a401,
- 0x5878480d, 0x00002980, 0x80406800, 0x00006181, 0xc0000005, 0x00006407,
- 0x5840000d, 0x00005100, 0x00408000, 0x00008080, 0x01000000, 0x0000e180,
- 0x90000001, 0x0000e401, 0x40e00400, 0x000080dd, 0xc0001000, 0x00001981,
- 0x009006ec, 0x00005f80, 0x00004800, 0x00000084, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x02c17000, 0x00007900, 0x00034e9e, 0x00000980,
- 0x03210800, 0x00007900, 0x003e1148, 0x00000980, 0x02000000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x01800000, 0x000080f4, 0x33e0109e, 0x00007500,
- 0x82600500, 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900,
- 0x81001a05, 0x00001880, 0x8c102230, 0x00001100, 0x2c102a0a, 0x00001600,
- 0x010588b0, 0x00009000, 0x8110220d, 0x00001100, 0x0010200c, 0x00001502,
- 0x83402000, 0x000099d0, 0x8310620d, 0x00001150, 0x00003252, 0x00007038,
- 0x8450220c, 0x00001002, 0x01400c13, 0x0000e191, 0x0407e650, 0x00008291,
- 0x85908a11, 0x00006110, 0x05c00000, 0x00004991, 0x00003252, 0x00007008,
- 0x0000004f, 0x0000e582, 0x01001800, 0x00008981, 0x94000e50, 0x00006189,
- 0x05001405, 0x00008881, 0x78432414, 0x00001081, 0x0487e650, 0x00001281,
- 0x00209410, 0x00001503, 0x04801404, 0x00001891, 0x3842a412, 0x00001091,
- 0xffffffff, 0x00007f86, 0x03820b00, 0x0000f904, 0x00003403, 0x00007408,
- 0x03020b00, 0x00007904, 0x0280600c, 0x00009900, 0x10007500, 0x00007904,
- 0x00000404, 0x0000e583, 0x0317280c, 0x00008200, 0x10006500, 0x0000f904,
- 0x01001800, 0x0000e189, 0x01000c04, 0x0000c191, 0x85506216, 0x00001c00,
- 0xffffffff, 0x00007f86, 0x8590aa16, 0x0000e100, 0x0490a80c, 0x00008100,
- 0x80000212, 0x00006582, 0x13d72812, 0x00000200, 0x05c00c17, 0x00001089,
- 0x00003411, 0x00007011, 0x80000216, 0x00001582, 0x94000e50, 0x00006191,
- 0x01400c05, 0x00000191, 0x05001405, 0x00009891, 0x00003413, 0x00007008,
- 0x000033f3, 0x0000f000, 0x80000216, 0x00001582, 0x000033f3, 0x00007013,
- 0x38432414, 0x00006081, 0xd000080d, 0x0000a400, 0x0300500a, 0x0000e100,
- 0x8c108a30, 0x0000c100, 0x04e0bc13, 0x00009101, 0xffffffff, 0x00007f86,
- 0x00003252, 0x00007403, 0x10007500, 0x00007904, 0x10006500, 0x0000f904,
- 0x55b998ec, 0x00002180, 0x89f71ee3, 0x00001900, 0xffffffff, 0x00007f97,
- 0x80119a27, 0x00009502, 0x80199a27, 0x00001502, 0xffffffff, 0x00007f86,
- 0x0000342c, 0x00007008, 0x0000342a, 0x00007008, 0x80172a33, 0x00001502,
- 0x8cf71ee3, 0x00009908, 0x0000342c, 0x0000f009, 0xc0172b33, 0x00001502,
- 0xccf71ee3, 0x00001908, 0x0000342c, 0x0000f011, 0x0000342d, 0x0000f200,
- 0x88400800, 0x00001980, 0x88400000, 0x00009980, 0xffffffff, 0x00007f86,
- 0x2c003221, 0x00001680, 0x89c588b0, 0x00009000, 0x89c00a27, 0x00009080,
- 0x55818827, 0x00007902, 0x0c000000, 0x00008100, 0x55817a27, 0x0000f902,
- 0x0b800000, 0x00008100, 0x55816c27, 0x00007902, 0x0b000000, 0x00000100,
- 0x55815e27, 0x0000f902, 0x0a800000, 0x00000100, 0x55c14827, 0x0000f902,
- 0x0a000000, 0x00008100, 0x55c12227, 0x0000f902, 0x08800000, 0x00008100,
- 0x8ec03026, 0x00004388, 0x00603026, 0x00000098, 0x8e801026, 0x0000c488,
- 0xae601026, 0x00008d98, 0x00c00026, 0x0000c790, 0x02c05026, 0x00008488,
- 0x8c405026, 0x000044b0, 0x0e606026, 0x00000d89, 0x21006026, 0x000078ab,
- 0x41800000, 0x00009a83, 0x00000826, 0x00009582, 0xcc400b31, 0x00001088,
- 0x0000348a, 0x0000f009, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x02ee9000, 0x00007900, 0x00328e8c, 0x00008980, 0x030a7000, 0x00007900,
- 0x00153394, 0x00008980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x01800000, 0x000080f4, 0x348a109e, 0x0000f500, 0x82600500, 0x00008026,
- 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900, 0x00002026, 0x00009582,
- 0xcb912a25, 0x00006108, 0x8b800a2e, 0x00004088, 0x0000348a, 0x0000f009,
- 0x00002026, 0x00009582, 0x8bc00a2f, 0x000060b0, 0xcbd12a25, 0x00008930,
- 0xcb512a25, 0x0000e118, 0x8b400a2d, 0x0000c098, 0x0000348a, 0x0000f030,
- 0x0000348a, 0x0000f000, 0x00004026, 0x00009582, 0xca512a25, 0x0000e108,
- 0x8a400a29, 0x00004088, 0x0000348a, 0x0000f009, 0x1e404026, 0x000078b3,
- 0xf1800000, 0x00001a83, 0x00006826, 0x00009582, 0xc8912a25, 0x00006108,
- 0x88800a22, 0x00004088, 0x0000348a, 0x0000f009, 0x0000344a, 0x0000f000,
- 0x0c400001, 0x000003c0, 0x0bc00000, 0x000082f8, 0x0b400000, 0x000082f0,
- 0x0ac00000, 0x000082e8, 0x0000348a, 0x00007400, 0x0a400000, 0x000082e0,
- 0x08800000, 0x000002d0, 0x0000348a, 0x00007200, 0x8c000a30, 0x00009080,
- 0x0000348a, 0x00007200, 0xcb112a25, 0x00006100, 0x8b000a2c, 0x0000c080,
- 0x0000348a, 0x00007400, 0x80000221, 0x00006582, 0xcc000b30, 0x00000080,
- 0x8cd72ae5, 0x0000e108, 0xccd72ae5, 0x00004910, 0x0000348a, 0x00007200,
- 0xcad12a25, 0x0000e100, 0x8ac00a2b, 0x0000c080, 0x0000348a, 0x00007200,
- 0xca912a25, 0x00006100, 0x8a800a2a, 0x0000c080, 0x0000348a, 0x00007200,
- 0xca112a25, 0x0000e100, 0x8a000a28, 0x0000c080, 0x0000348a, 0x00007200,
- 0xc9112a25, 0x0000e100, 0x89000a24, 0x0000c080, 0xffffffff, 0x00007f86,
- 0x55b998ec, 0x0000a980, 0x55b98827, 0x00005100, 0x00398000, 0x00008000,
- 0x55b97a27, 0x0000d100, 0x00397000, 0x00008000, 0x55b96c27, 0x00005100,
- 0x00396000, 0x00000000, 0x55b95e27, 0x0000d100, 0x00395000, 0x00000000,
- 0x00000001, 0x00007480, 0x55f94827, 0x0000d100, 0x00394000, 0x00008000,
- 0x55f92227, 0x0000d100, 0x00391000, 0x00008000, 0x80007000, 0x00006180,
- 0x00000005, 0x00006704, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
- 0x80406800, 0x00006181, 0xc0000005, 0x00006407, 0x0a00e000, 0x00007900,
- 0x0000c000, 0x00008980, 0x0a400000, 0x00007900, 0x00010000, 0x00000980,
- 0x81400800, 0x0000e181, 0x90000001, 0x0000e401, 0x002ff800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x0a37f828, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0a7f8029, 0x00007900, 0x003ffffe, 0x00008280, 0x81000b0c, 0x00006080,
- 0x90000005, 0x0000a401, 0x0c000000, 0x000083c4, 0x0cc00000, 0x000003d4,
- 0x0ac00002, 0x0000e180, 0x90000801, 0x00006401, 0x001000ec, 0x00005780,
- 0x00004801, 0x00000080, 0x80000029, 0x00006401, 0xc0000005, 0x00003407,
- 0x00024830, 0x0000e006, 0x0000382b, 0x00003106, 0x0d000000, 0x000003dc,
- 0x0aa02706, 0x0000008d, 0x0caa4448, 0x00008308, 0x8da0360a, 0x00008083,
- 0x8a033000, 0x00006181, 0xc310274b, 0x00004000, 0x4c4a4f09, 0x0000830c,
- 0x0ce25d49, 0x00000314, 0x0d60034b, 0x0000009d, 0x01000000, 0x00009980,
- 0x008856ec, 0x00005f80, 0x00905300, 0x00008184, 0x06007c49, 0x0000e281,
- 0x00000005, 0x0000a704, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
- 0x80007000, 0x00006180, 0xc0000005, 0x00006407, 0x0a00e000, 0x00007900,
- 0x0000c000, 0x00008980, 0x0a400000, 0x00007900, 0x00010000, 0x00000980,
- 0x00006418, 0x00006583, 0x80406800, 0x00008981, 0x81400800, 0x0000e181,
- 0x90000001, 0x0000e401, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0a37f828, 0x0000f900, 0x003ffffe, 0x00008280, 0x0a7f8029, 0x00007900,
- 0x003ffffe, 0x00008280, 0x0c000000, 0x00006180, 0x90000005, 0x00006401,
- 0x0c400000, 0x000083cc, 0x0d400000, 0x00006180, 0x0ac00002, 0x0000c980,
- 0x90000801, 0x00006401, 0x80000029, 0x00003401, 0x00024830, 0x0000e006,
- 0xc0000005, 0x00003407, 0xc3000b0c, 0x00006080, 0x0000382b, 0x0000a106,
- 0x0d000000, 0x000003dc, 0x01000000, 0x0000e180, 0x0a803006, 0x00004900,
- 0xc0c02000, 0x0000e180, 0x8c924248, 0x0000c900, 0x0cb05548, 0x0000031a,
- 0xc0034406, 0x000002e3, 0x000034f5, 0x00007410, 0x4c4a4f09, 0x0000830c,
- 0x0d60044b, 0x0000809d, 0x0010b0ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x001000ec, 0x00005780, 0x00004801, 0x00000080, 0x000850ec, 0x00005780,
- 0x00905300, 0x00000180, 0xca002f28, 0x00001081, 0x00989eec, 0x00005f80,
- 0x00005000, 0x00000084, 0x001000ec, 0x00005780, 0x00004801, 0x00000080,
- 0x00005418, 0x00009583, 0x000850ec, 0x00005780, 0x00905300, 0x00000180,
- 0xca001f28, 0x00009089, 0x00989eec, 0x00005f80, 0x00005000, 0x00000084,
- 0x08042c05, 0x00006806, 0x02c01c05, 0x0000e181, 0x01006c05, 0x00000281,
- 0x00004c04, 0x00001583, 0x00000c0b, 0x00001593, 0x0000350f, 0x0000f033,
- 0x00007c05, 0x00009583, 0x01c00020, 0x0000e190, 0x02000000, 0x00004990,
- 0x01800000, 0x0000e190, 0x03400000, 0x00004990, 0x00003534, 0x0000f008,
- 0x02ca5000, 0x00007900, 0x002a444e, 0x00000980, 0x00003522, 0x00007400,
- 0x0318a000, 0x0000f900, 0x002c9506, 0x00000980, 0x81c01000, 0x00009980,
- 0xa5804c05, 0x0000c388, 0x00604c05, 0x00000098, 0x00801c05, 0x00004790,
- 0x81605c05, 0x0000018f, 0x4d007c05, 0x0000f88b, 0xd1800000, 0x00001a88,
- 0x00002405, 0x00001583, 0x09805000, 0x00006188, 0x08003004, 0x0000620e,
- 0x09402004, 0x00009908, 0x0000352a, 0x0000f008, 0x01c00020, 0x00006180,
- 0x02000000, 0x0000c980, 0x02cc5800, 0x0000f900, 0x002a444e, 0x00000980,
- 0x03049000, 0x00007900, 0x00232fce, 0x00000980, 0x01800000, 0x000080f4,
- 0x81c01000, 0x00009980, 0xc1c00800, 0x0000e181, 0x08001a09, 0x0000e106,
- 0x3534109e, 0x00007500, 0x82600500, 0x00008026, 0x02801002, 0x00009900,
- 0x09805000, 0x0000e180, 0x08003004, 0x0000e206, 0x09402004, 0x00001900,
- 0x3534341c, 0x0000f100, 0x00003534, 0x00007000, 0x0000352a, 0x0000f400,
- 0x09804000, 0x00006180, 0x08003004, 0x0000e206, 0x09402004, 0x00001900,
- 0x0000352a, 0x0000f400, 0x09805800, 0x00006180, 0x08003004, 0x0000e206,
- 0x09402004, 0x00001900, 0x00000c0b, 0x00006583, 0x28040000, 0x00000980,
- 0x08003004, 0x0000e206, 0x000428a0, 0x0000b006, 0x28400000, 0x00000ac8,
- 0x28c00000, 0x00008ad0, 0x29400000, 0x00000ad8, 0x29c00000, 0x0000e180,
- 0x03b43e87, 0x0000c901, 0x00003548, 0x00007418, 0x28082185, 0x00008a02,
- 0xe8684d09, 0x0000e101, 0xe8943a87, 0x00004930, 0x00002405, 0x0000e583,
- 0x000050a0, 0x00002406, 0xa8bc7288, 0x00000a14, 0x000035cd, 0x0000f400,
- 0x29bc878f, 0x00000a1c, 0x02004000, 0x00006191, 0x02006800, 0x00004989,
- 0x00005c05, 0x00001583, 0x00000c88, 0x00001583, 0xffffffff, 0x00007f86,
- 0x000035cc, 0x00007010, 0x000035a3, 0x00007010, 0x0000004e, 0x00009582,
- 0x94228450, 0x00001909, 0x94000000, 0x00009991, 0x0000355a, 0x00007008,
- 0x80002250, 0x00001582, 0x00003560, 0x0000f01b, 0x0000355d, 0x00007000,
- 0x02c01650, 0x00001881, 0x7842b40b, 0x00001081, 0xffffffff, 0x00007fc7,
- 0x01000a00, 0x0000f904, 0x00000004, 0x00001582, 0x0000355c, 0x0000700b,
- 0x000035a2, 0x0000f200, 0x13c00000, 0x00009980, 0x94000e50, 0x00009081,
- 0x81328650, 0x00009900, 0x55128204, 0x0000f82b, 0x11800000, 0x00001a8d,
- 0x0000359b, 0x0000f400, 0x03400050, 0x00008096, 0x02e44488, 0x00009901,
- 0x0300840d, 0x00006481, 0x01002650, 0x0000c880, 0x02400000, 0x0000f900,
- 0x000010c4, 0x00008980, 0x02826004, 0x0000e002, 0x82280500, 0x00000900,
- 0x8100240c, 0x0000e080, 0x03c0004d, 0x0000c084, 0x0360640d, 0x00006101,
- 0x00102009, 0x00002106, 0x81002d00, 0x00009880, 0x01380005, 0x00006180,
- 0xc21ad204, 0x0000c080, 0x703848ec, 0x0000d600, 0x00384000, 0x00000000,
- 0x02000000, 0x00007900, 0x00007fc0, 0x00000980, 0x8200240c, 0x0000e080,
- 0x04181004, 0x00006187, 0x703850ec, 0x0000d600, 0x00387800, 0x00008000,
- 0x703840ec, 0x00005600, 0x00382000, 0x00000000, 0x00d002ec, 0x00005f80,
- 0x134be00a, 0x00009584, 0x0000040b, 0x0000e583, 0x01400000, 0x00000981,
- 0x94000000, 0x00009991, 0x01000c05, 0x00006080, 0x82c02d00, 0x0000c880,
- 0x82d0220b, 0x00006000, 0x02505a0b, 0x00000900, 0x35b8460b, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x00000008, 0x00001582, 0x13c00000, 0x00006190,
- 0x02c7e405, 0x0000c291, 0x01400800, 0x0000e191, 0x01000c0b, 0x00004890,
- 0x00003595, 0x00007008, 0x82d02209, 0x00001000, 0x35baa40b, 0x00003038,
- 0x35bab60b, 0x00003038, 0x35fac00b, 0x00003038, 0x35fad20b, 0x00003038,
- 0x35fae40b, 0x00003038, 0x35faf60b, 0x00003038, 0x0000359a, 0x00007400,
- 0x363b000b, 0x0000b038, 0x363b120b, 0x0000b038, 0x94000e50, 0x00006081,
- 0x01400c05, 0x00000081, 0x00202c0c, 0x00009503, 0x01400000, 0x00001989,
- 0x0000357f, 0x00007011, 0x02c00000, 0x00001981, 0x0000040d, 0x0000e583,
- 0x01000000, 0x00008981, 0x01400c05, 0x0000e481, 0x01000800, 0x00008991,
- 0xffffffff, 0x00007f86, 0x01202405, 0x00001203, 0x00003563, 0x00007013,
- 0x14428889, 0x00001000, 0x80007000, 0x00006180, 0x00000005, 0x00006704,
- 0x25000800, 0x00006180, 0xc0000005, 0x00006407, 0x26c00002, 0x00006180,
- 0x40001005, 0x0000e406, 0x80000687, 0x00006583, 0x81404000, 0x00000981,
- 0x90000005, 0x00006401, 0x20000894, 0x0000b401, 0x00400000, 0x00007900,
- 0x00040010, 0x00008980, 0x2600e000, 0x0000f900, 0x0000c000, 0x00008980,
- 0x26400000, 0x0000f900, 0x00010000, 0x00000980, 0x002ff800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x80404000, 0x00006181, 0xc0000005, 0x00006407,
- 0x2637f898, 0x0000f900, 0x003ffffe, 0x00008280, 0x267f8099, 0x00007900,
- 0x003ffffe, 0x00008280, 0x00100000, 0x00006380, 0x90000805, 0x00002401,
- 0x0000389b, 0x0000e106, 0x90000001, 0x0000b401, 0x001128ec, 0x00005790,
- 0x00905200, 0x00000188, 0x01000000, 0x0000e180, 0x80000099, 0x0000e401,
- 0x01787805, 0x0000f908, 0x003ffffe, 0x00008280, 0x25480000, 0x000089d8,
- 0x25c00000, 0x0000e180, 0x26803006, 0x0000c900, 0x40c31c00, 0x000089e3,
- 0x41e04c07, 0x000080c3, 0x009006ec, 0x00005f80, 0x00884c80, 0x000083c4,
- 0x02004000, 0x00009981, 0x80007000, 0x00006180, 0x00000005, 0x00006704,
- 0x25000800, 0x00006180, 0xc0000005, 0x00006407, 0x26c00002, 0x00006180,
- 0x40001005, 0x0000e406, 0x90000005, 0x00006401, 0x20000894, 0x0000b401,
- 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x2600e000, 0x0000f900,
- 0x0000c000, 0x00008980, 0x26400000, 0x0000f900, 0x00010000, 0x00000980,
- 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0000005, 0x00006407,
- 0x90000001, 0x0000b401, 0x2637f898, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x267f8099, 0x00007900, 0x003ffffe, 0x00008280, 0x00100000, 0x00006380,
- 0x81604408, 0x00000901, 0x001000ec, 0x00005780, 0x00884c80, 0x000003c0,
- 0x0000389b, 0x0000e106, 0x80000099, 0x0000b401, 0x01000000, 0x0000e180,
- 0x90000805, 0x0000e401, 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180,
- 0x26803006, 0x0000c900, 0xc0c00000, 0x00006180, 0x80604408, 0x00004901,
- 0xe6204863, 0x000000c3, 0xc1c03800, 0x00001980, 0x80400687, 0x0000788b,
- 0x01800001, 0x00000080, 0xffffffff, 0x00007f86, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009128ec, 0x00005780,
- 0x00905200, 0x00000188, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x03800c0e, 0x0000e181, 0x20000094, 0x0000a401,
- 0x7d00040e, 0x00007893, 0x01800001, 0x00000080, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x283bf8a0, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x00912eec, 0x0000df80, 0x00905200, 0x0000818c, 0x0cb20004, 0x0000e180,
- 0x0011b033, 0x0000e186, 0x0419b033, 0x00006187, 0x04181032, 0x00003187,
- 0x0dc004e4, 0x00008398, 0x8da80500, 0x00001900, 0x700040ec, 0x00005680,
- 0x0039b544, 0x00000008, 0x703998ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x7039a8ec, 0x0000d600, 0x0039a000, 0x00000000, 0x700040ec, 0x00005680,
- 0x003997c0, 0x00008078, 0x00c002ec, 0x0000df80, 0x1350b80b, 0x00009684,
- 0xb911ba37, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x00400000, 0x00007900, 0x00040050, 0x00000980, 0x00000822, 0x0000e582,
- 0xc0c00000, 0x00008980, 0x00000001, 0x00007480, 0x00001000, 0x00006181,
- 0x90000801, 0x00006419, 0x80c00c22, 0x00006199, 0xc0211422, 0x00008901,
- 0x8c00000e, 0x000082c0, 0x08400000, 0x000002c8, 0x08c00000, 0x000082d0,
- 0x09400000, 0x000002d8, 0x09c00000, 0x000002e0, 0x0a400000, 0x00009980,
- 0xd8402415, 0x00004288, 0x5a602c15, 0x00000d8c, 0xafc01d1c, 0x00007897,
- 0x39800000, 0x00009b84, 0x00001c15, 0x00001583, 0x0c001800, 0x00006189,
- 0x0d80b016, 0x00004908, 0x0e40b817, 0x00001908, 0x00003676, 0x0000f010,
- 0x3635151b, 0x00007204, 0x0e009800, 0x0000f900, 0x00001c00, 0x00000980,
- 0x00000434, 0x00001583, 0x887f1fe3, 0x00009908, 0x84c10821, 0x0000a088,
- 0x0000363e, 0x0000f010, 0xffffffff, 0x00007f97, 0x08403c21, 0x00001281,
- 0x08401421, 0x00001181, 0x00000c21, 0x00001583, 0x00003643, 0x0000701b,
- 0x09d36000, 0x00007900, 0x002fef0e, 0x00000980, 0x3643112b, 0x00007500,
- 0xc8b8b034, 0x00000218, 0x0940b817, 0x00001900, 0x35c15a33, 0x0000f902,
- 0x0a800000, 0x00008000, 0x36796633, 0x0000a080, 0x01800ce0, 0x00001283,
- 0x00003657, 0x0000f00b, 0x364910f7, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x00000497, 0x00001583, 0x1b180800, 0x00006190, 0x1b400000, 0x00004990,
- 0x1c060000, 0x0000f910, 0x001f2252, 0x00008980, 0x00003657, 0x0000f008,
- 0x365510d5, 0x0000f500, 0x1c595800, 0x0000f900, 0x002fef10, 0x00000980,
- 0x1b901202, 0x00006100, 0xdb371ee3, 0x0000c900, 0x000036ac, 0x00007200,
- 0x08800800, 0x00009980, 0x3659361a, 0x00007300, 0x08802800, 0x00001980,
- 0x4180651c, 0x00009283, 0x88400ee3, 0x0000e088, 0x01000000, 0x00004988,
- 0x5e791021, 0x00002108, 0x00003675, 0x0000f010, 0x01400000, 0x000000e4,
- 0x01800000, 0x000080e0, 0x80005e22, 0x0000e583, 0x0281582b, 0x00000900,
- 0x02e1172a, 0x0000801c, 0x41791722, 0x0000e101, 0x81c06622, 0x00004199,
- 0x00003675, 0x0000f218, 0xc1f11622, 0x0000e119, 0x0278df1b, 0x00004919,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02f03000, 0x00007900,
- 0x002fef0e, 0x00000980, 0x0330e800, 0x0000f900, 0x000a6e22, 0x00000980,
- 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000080f4,
- 0x3675109e, 0x00007500, 0x82600500, 0x00008026, 0x81c01000, 0x0000e180,
- 0x02801002, 0x0000c900, 0x8191622c, 0x00001900, 0x82c124ec, 0x00007902,
- 0x08800000, 0x00008604, 0x1bc0a014, 0x0000e100, 0x0020a826, 0x00006086,
- 0x8228a826, 0x00006886, 0x0418a826, 0x0000e987, 0x09412024, 0x00006100,
- 0x00002022, 0x00006586, 0x09c13026, 0x0000e100, 0x0428a822, 0x00006087,
- 0x09812825, 0x00006100, 0x8620a822, 0x0000e087, 0x1b06d800, 0x0000f900,
- 0x0032a52e, 0x00000980, 0x36c4114d, 0x00007500, 0x1bb91727, 0x0000062c,
- 0x1b413026, 0x00001900, 0x368c151b, 0x0000f404, 0x0c002000, 0x00006181,
- 0x0d80b016, 0x0000c900, 0x0e009900, 0x0000e180, 0x0e40b817, 0x0000c900,
- 0x00000434, 0x00001583, 0x887f1fe3, 0x00009908, 0x84c10821, 0x0000a088,
- 0x00003695, 0x00007010, 0xffffffff, 0x00007f97, 0x08403c21, 0x00001281,
- 0x08401421, 0x00001181, 0x00000c21, 0x00001583, 0x0000369a, 0x0000f01b,
- 0x09d24000, 0x00007900, 0x002fef10, 0x00000980, 0x369a112b, 0x0000f500,
- 0xc8b8b034, 0x00000218, 0x0940b817, 0x00001900, 0x35815c33, 0x00007902,
- 0x0a800000, 0x00008000, 0x08400ce0, 0x00001283, 0x000036b7, 0x0000700b,
- 0x369f10f7, 0x00007100, 0xffffffff, 0x00007f86, 0x00000497, 0x00001583,
- 0x1b180800, 0x00006190, 0x1b400000, 0x00004990, 0x1c060000, 0x0000f910,
- 0x001f2252, 0x00008980, 0x000036b7, 0x00007008, 0x36ab10d5, 0x00007500,
- 0x1c595800, 0x0000f900, 0x002fef10, 0x00000980, 0x1b901202, 0x00006100,
- 0xdb371ee3, 0x0000c900, 0x08800800, 0x00009980, 0x36ad361a, 0x00007100,
- 0x2c0036e3, 0x00001680, 0x884588b0, 0x00009000, 0x58782821, 0x00002180,
- 0xffffffff, 0x00007fa7, 0x01400805, 0x00009080, 0x58782821, 0x0000a980,
- 0x58400021, 0x0000d100, 0x00409800, 0x00008080, 0x008806ec, 0x00005f80,
- 0x00006800, 0x00008084, 0x0d41582b, 0x0000e100, 0x00104025, 0x0000e186,
- 0x36bd3607, 0x00007404, 0x0d01502a, 0x00006100, 0x04184025, 0x00006187,
- 0x0d812825, 0x00009900, 0x000036c0, 0x00007200, 0x08800800, 0x00009980,
- 0x08803001, 0x000003c2, 0x3676361a, 0x00007100, 0x00003676, 0x00007000,
- 0x000036c0, 0x00007200, 0x08803801, 0x000083c2, 0x36c6341c, 0x0000f300,
- 0x09418714, 0x0000821b, 0x00009020, 0x00006484, 0x01000021, 0x00003586,
- 0x0ac0d81b, 0x0000e100, 0x00001823, 0x00006106, 0x000800ec, 0x00005780,
- 0x00004800, 0x00008080, 0x00001c15, 0x0000e583, 0x0b00e01c, 0x00008900,
- 0xc0001823, 0x0000e006, 0x00300021, 0x0000b507, 0x000008ec, 0x0000d788,
- 0x00004801, 0x00000080, 0x08a81402, 0x00008208, 0x0938af14, 0x00000214,
- 0x09b8bf16, 0x0000021c, 0x0a38cf18, 0x00000224, 0x0ab8ef1a, 0x00000234,
- 0x0bb8ff1e, 0x0000023c, 0xc8232000, 0x0000e180, 0x4af83f07, 0x0000c901,
- 0x8b202907, 0x0000022e, 0x008046ec, 0x00005f80, 0x00005001, 0x00008084,
- 0x01000000, 0x00009980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x0419c804, 0x00006987, 0x700008ec, 0x00005680, 0x00382002, 0x00008000,
- 0x01001438, 0x00009283, 0x40005d1c, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00003703, 0x0000f008, 0x00003703, 0x0000f010, 0x001010ec, 0x0000d780,
- 0x009054c0, 0x000080c0, 0x0008a0ec, 0x00005780, 0x00d87dc0, 0x000000c0,
- 0x17c80005, 0x0000e180, 0x1180f01e, 0x00004900, 0x03009000, 0x0000f900,
- 0x00012040, 0x00000980, 0x03401000, 0x0000f900, 0x0001c008, 0x00008980,
- 0x17800000, 0x00007900, 0x00207fc0, 0x00008980, 0x001088ec, 0x00005780,
- 0x00005000, 0x00008080, 0x11c00f1f, 0x000084b0, 0x13800000, 0x000084fc,
- 0x13401002, 0x0000e100, 0x02000824, 0x00004980, 0x02400000, 0x000000e8,
- 0x02d300a0, 0x00006180, 0x03c00004, 0x0000c980, 0x03a8ec1d, 0x00008038,
- 0x14004001, 0x00006180, 0x14401000, 0x00004980, 0x14800000, 0x000085cc,
- 0x17000000, 0x000085f4, 0x17e05d02, 0x000004af, 0x05c00000, 0x00006180,
- 0x05400040, 0x00004980, 0x05803006, 0x00006100, 0x00003817, 0x00006106,
- 0x05006000, 0x0000f900, 0x00004000, 0x00000980, 0xc0003817, 0x00006806,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008828ec, 0x0000d780, 0x00004800, 0x00008080, 0xffc00000, 0x00006180,
- 0x004000a8, 0x00004980, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0xc0200401, 0x000000cd, 0x008806ec, 0x00005f80, 0x00004800, 0x00000084,
- 0x01001428, 0x00001283, 0x40005d1c, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00003736, 0x0000f008, 0x00003736, 0x0000f010, 0x001010ec, 0x0000d780,
- 0x009054c0, 0x000080c0, 0x0008a0ec, 0x00005780, 0x00d87dc0, 0x000000c0,
- 0x17c80005, 0x0000e180, 0x0d80f01e, 0x0000c900, 0x03009000, 0x0000f900,
- 0x00012040, 0x00000980, 0x03401000, 0x0000f900, 0x0001c008, 0x00008980,
- 0x17800000, 0x00007900, 0x00207fc0, 0x00008980, 0x001068ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x0dc00f1f, 0x000004b0, 0x13800000, 0x000084fc,
- 0x13401002, 0x0000e100, 0x02000824, 0x00004980, 0x02400000, 0x000000e8,
- 0x02d300a0, 0x00006180, 0x03c00004, 0x0000c980, 0x03a8ec1d, 0x00008038,
- 0x14004001, 0x00006180, 0x14401000, 0x00004980, 0x14800000, 0x000085cc,
- 0x17000000, 0x000085f4, 0x17e05d02, 0x000083af, 0xffc00000, 0x00006180,
- 0x004000a8, 0x00004980, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0xc0200401, 0x000000cd, 0x008806ec, 0x00005f80, 0x00004800, 0x00000084,
- 0x1cc00000, 0x0000e180, 0x9c901202, 0x00004900, 0xdc981302, 0x0000e100,
- 0x00001873, 0x00006106, 0x1c001000, 0x0000f900, 0x00008000, 0x00000980,
- 0x1c580800, 0x00007900, 0x00004080, 0x00008980, 0x21008000, 0x0000e180,
- 0xc0001873, 0x0000e006, 0x21400020, 0x00006180, 0x21800000, 0x0000c980,
- 0x21c00000, 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x0088e0ec, 0x00005780, 0x00804040, 0x000000c8,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x7fc00400, 0x000087cc, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x20ca0005, 0x0000e180, 0x00001873, 0x00006106, 0x0700101c, 0x00006380,
- 0x601fe820, 0x00002502, 0x1d000000, 0x0000f900, 0x00001000, 0x00000980,
- 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980, 0x1c001000, 0x0000f900,
- 0x00010000, 0x00000980, 0x1c701800, 0x0000f900, 0x00044080, 0x00000980,
- 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0010d8ec, 0x00005780,
- 0x00007801, 0x00000080, 0x00400000, 0x00007900, 0x00008050, 0x00000980,
- 0x1d400000, 0x0000e180, 0xc0001873, 0x0000e006, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x1b400006, 0x000006f8, 0x1bc00000, 0x00006180,
- 0x9c901202, 0x00004900, 0x1c800502, 0x00008880, 0x20602000, 0x000000c3,
- 0x20e05d02, 0x000081b2, 0xc0c01800, 0x00001980, 0x008806ec, 0x00005f80,
- 0x008849c0, 0x000081c4, 0x41001528, 0x00001283, 0x13004800, 0x00006190,
- 0x13400000, 0x0000c990, 0x13c00000, 0x00006190, 0x13800000, 0x0000c990,
- 0x000037e0, 0x00007010, 0x0100141c, 0x00009283, 0x000037d6, 0x00007013,
- 0x41000d28, 0x00001283, 0x3781373d, 0x00007113, 0xf0a00c28, 0x00004496,
- 0x96601428, 0x00000d8f, 0x0ac0141c, 0x00004596, 0x85a01528, 0x00008392,
- 0x1d000000, 0x00006180, 0x0f014404, 0x00006000, 0x1cc00000, 0x0000e180,
- 0x82202074, 0x0000e002, 0x0ec14404, 0x0000e000, 0x00001873, 0x00003106,
- 0x1dc00000, 0x00006180, 0x61a02074, 0x0000e002, 0x20ca0005, 0x0000e180,
- 0x0d814404, 0x00006000, 0x1d400000, 0x00007900, 0x00001000, 0x00000980,
- 0x65a02074, 0x0000e003, 0xc0001873, 0x0000b006, 0x1d800000, 0x0000e180,
- 0x0e814404, 0x00006000, 0x1e400000, 0x0000e180, 0xe3a02075, 0x00006002,
- 0x1ec00000, 0x00006180, 0x0f414404, 0x0000e000, 0x012022ec, 0x0000e101,
- 0x1f400000, 0x00008980, 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980,
- 0xa2a02075, 0x00006002, 0x3081406c, 0x0000b000, 0x1f800000, 0x00006180,
- 0x0fc14404, 0x00006000, 0x1c001000, 0x0000f900, 0x00010000, 0x00000980,
- 0x1c701800, 0x0000f900, 0x00044080, 0x00000980, 0x20800000, 0x0000f900,
- 0x00207fc0, 0x00008980, 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080,
- 0x1fc00000, 0x0000e180, 0xe7a02074, 0x0000e003, 0x1e01582b, 0x0000e100,
- 0x1f00402c, 0x00004880, 0x1e80372d, 0x000006b4, 0x1b800000, 0x000086fc,
- 0x1ca81402, 0x00008708, 0x20000000, 0x000088c4, 0x9de81134, 0x0000880c,
- 0x01001428, 0x00001283, 0x0100141c, 0x00009283, 0x41001528, 0x00001283,
- 0x000037cb, 0x00007008, 0x000037d9, 0x00007010, 0x000037dd, 0x0000f010,
- 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0, 0xc000073b, 0x0000e583,
- 0x13000000, 0x00000980, 0x03009000, 0x0000f900, 0x00012040, 0x00000980,
- 0x03401000, 0x0000f900, 0x0001c008, 0x00008980, 0x001068ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x0db8ff1e, 0x0000031c, 0x13800000, 0x000084fc,
- 0x13401002, 0x0000e100, 0x02000824, 0x00004980, 0x02400000, 0x000000e8,
- 0x02d300a0, 0x00006180, 0x03c00004, 0x0000c980, 0x03a8ec1d, 0x00008038,
- 0x13000800, 0x00001991, 0x01000c28, 0x0000e283, 0x00400008, 0x00008980,
- 0x01001800, 0x0000e191, 0x01002800, 0x0000c989, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0xc0c00000, 0x00006180, 0x80602404, 0x00004901,
- 0xc0000800, 0x00001981, 0x008806ec, 0x00005f80, 0x00004800, 0x00000084,
- 0x01002428, 0x00001283, 0x0000377f, 0x00007013, 0x37d93716, 0x00007100,
- 0xc0005f3b, 0x00009583, 0xcee8e51c, 0x00001911, 0xee001528, 0x0000788f,
- 0x01800001, 0x00000080, 0x13000000, 0x000084f4, 0x13800000, 0x000084fc,
- 0x1321a434, 0x00009901, 0x01000c28, 0x0000e283, 0x03c00000, 0x00008980,
- 0x01001800, 0x0000e191, 0x01002800, 0x0000c989, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00400008, 0x00006180, 0xc000180f, 0x00006006,
- 0x03009000, 0x0000f900, 0x0000a100, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0,
- 0x02000804, 0x0000e180, 0x02400000, 0x00004980, 0x02800000, 0x00006180,
- 0x02d30020, 0x0000c980, 0x03a00f02, 0x00000083, 0x40600604, 0x0000008d,
- 0x008806ec, 0x00005f80, 0x00004800, 0x00000084, 0x00000405, 0x00006583,
- 0x00020020, 0x00002586, 0x0700101c, 0x00006380, 0x00302820, 0x00002082,
- 0x47302e05, 0x00006101, 0x82202820, 0x0000e004, 0x00003815, 0x0000f208,
- 0x01000000, 0x00006190, 0xb2e82820, 0x00006080, 0x05c00000, 0x000081e8,
- 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x0419c804, 0x0000e187,
- 0x00003817, 0x00003106, 0x05006000, 0x0000f900, 0x00008000, 0x00000980,
- 0x05580800, 0x0000f900, 0x00004080, 0x00008980, 0x06400000, 0x00007900,
- 0x00004042, 0x00000980, 0x08003a1a, 0x0000e106, 0xc0003817, 0x0000b006,
- 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0x05800706, 0x000081a0,
- 0x06c00000, 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780, 0x00004800, 0x00008080,
- 0x1cc00000, 0x0000e180, 0x1c801002, 0x0000c900, 0x21000000, 0x00006180,
- 0x00001873, 0x00006106, 0x1c001000, 0x0000f900, 0x00008000, 0x00000980,
- 0x1c580800, 0x00007900, 0x00004080, 0x00008980, 0x21400020, 0x00006180,
- 0xc0001873, 0x0000e006, 0x21c00000, 0x000088d8, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0088e0ec, 0x00005780,
- 0x00804040, 0x000000c8, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x7fc00400, 0x000087cc, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x20ca0005, 0x0000e180, 0x00001873, 0x00006106,
- 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980, 0x1c001000, 0x0000f900,
- 0x00010000, 0x00000980, 0x1c701800, 0x0000f900, 0x00044080, 0x00000980,
- 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0010d8ec, 0x00005780,
- 0x00007801, 0x00000080, 0x00400000, 0x00007900, 0x00008050, 0x00000980,
- 0x1d020000, 0x0000e180, 0xc0001873, 0x0000e006, 0x1d400008, 0x00006180,
- 0x1d800000, 0x0000c980, 0x1dc00000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x1e00373b, 0x000006b4,
- 0x1b800000, 0x000086fc, 0x1ca81402, 0x00008708, 0x20000000, 0x000088c4,
- 0xc0002000, 0x00006181, 0xe0d81302, 0x00004900, 0xc0c01800, 0x00001980,
- 0x008806ec, 0x00005f80, 0x008849c0, 0x000081c4, 0x0100141c, 0x00009283,
- 0x384c36dd, 0x0000f113, 0xc000033a, 0x00009582, 0x0800302a, 0x0000ea16,
- 0x0abff82a, 0x0000f910, 0x000000fe, 0x00008280, 0x00003a56, 0x00007008,
- 0x1180402a, 0x00001880, 0x0129c846, 0x0000e302, 0x10823539, 0x00008300,
- 0x08003a2a, 0x0000e916, 0x0151522a, 0x00001910, 0x00003925, 0x0000f008,
- 0x6141422a, 0x00007902, 0x08300000, 0x00008101, 0x6160222a, 0x0000a101,
- 0xffffffff, 0x00007f97, 0x00003028, 0x00001502, 0x00398c20, 0x00009503,
- 0xffffffff, 0x00007f86, 0x00003a48, 0x00007010, 0x000039ad, 0x0000f010,
- 0x6150222a, 0x0000a102, 0xffffffff, 0x00007f86, 0x00295c20, 0x00009503,
- 0x01402000, 0x0000f910, 0x00140000, 0x00008980, 0x01000c04, 0x00009081,
- 0x00003892, 0x0000f208, 0x6158222a, 0x0000a901, 0x757954ec, 0x0000a180,
- 0xffffffff, 0x00007fa7, 0x0a80082a, 0x00009080, 0x757954ec, 0x00002980,
- 0x08003a2a, 0x00006906, 0x04115005, 0x00006901, 0x80382aec, 0x00005600,
- 0x00000001, 0x00000080, 0x800142ec, 0x0000f902, 0x0a400000, 0x00008600,
- 0x800152ec, 0x00007902, 0x0ac00000, 0x00000600, 0x800162ec, 0x00007902,
- 0x0b400000, 0x00000600, 0x800172ec, 0x0000f902, 0x0bc00000, 0x00008600,
- 0xffffffff, 0x00007f86, 0x00295c20, 0x00009503, 0x00003892, 0x0000700b,
- 0x01000002, 0x00001980, 0xc1280500, 0x00001900, 0x770000ec, 0x00005680,
- 0x00382000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1384080b, 0x00001684,
- 0x08003a04, 0x00006906, 0x0a002000, 0x00007900, 0x00140000, 0x00008980,
- 0x04102028, 0x00006901, 0x803942ec, 0x00005600, 0x00000001, 0x00000080,
- 0x800142ec, 0x0000f902, 0x0a400000, 0x00008600, 0x800152ec, 0x00007902,
- 0x0ac00000, 0x00000600, 0x800162ec, 0x00007902, 0x0b400000, 0x00000600,
- 0x800172ec, 0x0000f902, 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86,
- 0x00295c20, 0x00009503, 0x0000387b, 0x0000f013, 0x0a01f33a, 0x00006002,
- 0x0ec18420, 0x0000a004, 0x0d41c405, 0x00006000, 0x0c015c29, 0x00003000,
- 0x0a80003f, 0x0000e084, 0x0119d33a, 0x00008900, 0x3b814805, 0x0000c411,
- 0xb8601c20, 0x00000eb3, 0x00003420, 0x00007890, 0x00000000, 0x00000000,
- 0x76840530, 0x0000f88e, 0x01c00001, 0x00000060, 0x7719831c, 0x0000f812,
- 0x01c00001, 0x00000000, 0x3b894f39, 0x0000c313, 0x00620531, 0x00000090,
- 0x0001f835, 0x0000f81a, 0x00000000, 0x00000000, 0x0001f835, 0x0000f810,
- 0x00000000, 0x00000000, 0x0001f034, 0x00007830, 0x00000000, 0x00008020,
- 0x77010531, 0x00007896, 0x01c00001, 0x00000060, 0x3b815733, 0x00004329,
- 0x00615733, 0x00008008, 0x00c01530, 0x00004794, 0x0e014732, 0x00001328,
- 0x2c801530, 0x0000f896, 0x61c00000, 0x00009c8c, 0xff410531, 0x00004a96,
- 0x12c01530, 0x00000d8e, 0x05c00000, 0x000081e8, 0x41404538, 0x0000e283,
- 0x00003817, 0x0000a106, 0x0a800800, 0x00006191, 0x0a801000, 0x00004989,
- 0x05580800, 0x0000f900, 0x00004000, 0x00000980, 0x05006000, 0x0000f900,
- 0x00008000, 0x00000980, 0x06400000, 0x00007900, 0x00004042, 0x00000980,
- 0x08003a1a, 0x0000e106, 0xc0003817, 0x0000b006, 0x05800706, 0x000081a0,
- 0x4540062a, 0x000001ac, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780, 0x00004800, 0x00008080,
- 0x0841f03e, 0x0000e100, 0x0d41c42a, 0x0000e000, 0x0000042a, 0x0000e583,
- 0x0701f83f, 0x00008900, 0x0a804b3a, 0x00006790, 0x17800000, 0x00000980,
- 0x0a80182a, 0x00006090, 0x17c00000, 0x00004980, 0x18000000, 0x000086c4,
- 0x18800000, 0x000086cc, 0x08002004, 0x0000e108, 0x0801533a, 0x00004010,
- 0x0169c846, 0x00009302, 0x41420531, 0x00001283, 0xffffffff, 0x00007f86,
- 0x000039eb, 0x00007008, 0x000039eb, 0x00007010, 0x41410531, 0x0000e283,
- 0x00018862, 0x00002106, 0x0841a034, 0x00006108, 0x0701a835, 0x0000c908,
- 0x08400000, 0x0000e190, 0x07000000, 0x00004990, 0x0a81703e, 0x0000e002,
- 0x000ff85e, 0x0000a581, 0x0141783f, 0x00006004, 0x0148005f, 0x00002584,
- 0x0841082a, 0x0000e102, 0x00018862, 0x0000a081, 0x0700e005, 0x00006104,
- 0x0c018c2a, 0x0000a080, 0x0a80642a, 0x00006080, 0xe000185e, 0x00002403,
- 0x014157e4, 0x00006000, 0x1860e41c, 0x0000c901, 0x0a800805, 0x00006180,
- 0x82c18062, 0x0000a001, 0x0a81082a, 0x0000e200, 0x04018061, 0x0000a081,
- 0x0a815005, 0x0000e100, 0x1701b036, 0x00000900, 0x0001002a, 0x0000e502,
- 0x1741b837, 0x00008900, 0x8a800a05, 0x000061a8, 0x8a910220, 0x00008920,
- 0x18281721, 0x0000053c, 0x8a910a2a, 0x00009228, 0x8a915205, 0x00006128,
- 0x0c418c05, 0x00002000, 0x01409405, 0x00001880, 0x00115020, 0x00006502,
- 0x9791522a, 0x00000900, 0x0a800800, 0x0000e1b1, 0x18c03005, 0x0000c300,
- 0x000039a0, 0x00007019, 0x01440438, 0x0000e283, 0x14040001, 0x00008980,
- 0x01401000, 0x0000e191, 0x01400800, 0x0000c989, 0x07003c38, 0x0000e781,
- 0x14400000, 0x00000980, 0x14800800, 0x00006180, 0x82202850, 0x00006004,
- 0x14c00000, 0x00006180, 0x07000c1c, 0x0000c081, 0x41404538, 0x0000e283,
- 0x01400c2a, 0x00000881, 0x1449d53a, 0x0000050a, 0x14602c1c, 0x0000e001,
- 0xd4d9cb39, 0x00000900, 0x01440438, 0x00001283, 0xffffffff, 0x00007f86,
- 0x000039f6, 0x00007010, 0x00003979, 0x0000f010, 0x00000c2a, 0x00009583,
- 0x0008a0ec, 0x0000d788, 0x00d87dc0, 0x00000180, 0x0008a0ec, 0x0000d790,
- 0x00d87dc0, 0x00000280, 0x01000c38, 0x00009283, 0x01001438, 0x00009283,
- 0xffffffff, 0x00007f86, 0x0000394a, 0x0000f010, 0x00003929, 0x0000f010,
- 0x01000c38, 0x00006283, 0x00400008, 0x00008980, 0x0a801800, 0x0000e191,
- 0x0a802800, 0x0000c989, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0xc0c00000, 0x00006180, 0x8061542a, 0x00004901, 0xc0000800, 0x00001981,
- 0x008806ec, 0x00005f80, 0x00004800, 0x00000084, 0x01000c1c, 0x00009283,
- 0x0119d33a, 0x00009910, 0x00003a5e, 0x00007009, 0x000038b2, 0x00007000,
- 0xc000074b, 0x00006583, 0x13000000, 0x00000980, 0x11b8ff1e, 0x0000041c,
- 0x13800000, 0x000084fc, 0x13000800, 0x00006191, 0x13401002, 0x0000c900,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01000c38, 0x00006283,
- 0x00400008, 0x00008980, 0x0a801800, 0x0000e191, 0x0a802800, 0x0000c989,
- 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x03009000, 0x0000f900, 0x00012040, 0x00000980,
- 0x03401000, 0x0000f900, 0x0001c008, 0x00008980, 0x001088ec, 0x00005780,
- 0x00005000, 0x00008080, 0x02000824, 0x00006180, 0x02400000, 0x00004980,
- 0x02800000, 0x00006180, 0x02d300a0, 0x00004980, 0x03c00004, 0x0000e180,
- 0x8390ea1d, 0x0000c900, 0x03a0051d, 0x0000008d, 0xc0000800, 0x00006181,
- 0x8061542a, 0x00004901, 0x008806ec, 0x00005f80, 0x00004800, 0x00000084,
- 0x1d000000, 0x00006180, 0x0f01c42a, 0x0000e000, 0x1cc00000, 0x0000e180,
- 0x82215074, 0x0000e002, 0x0ec1c42a, 0x00006000, 0x00001873, 0x00003106,
- 0x1dc00000, 0x00006180, 0x61a15074, 0x0000e002, 0x20ca0005, 0x0000e180,
- 0x0d81c42a, 0x0000e000, 0x1d400000, 0x00007900, 0x00001000, 0x00000980,
- 0x65a15074, 0x0000e003, 0xc0001873, 0x0000b006, 0x1d800000, 0x0000e180,
- 0x0e81c42a, 0x0000e000, 0x1e400000, 0x0000e180, 0xe3a15075, 0x00006002,
- 0x1ec00000, 0x00006180, 0x0f41c42a, 0x00006000, 0x0aa152ec, 0x0000e101,
- 0x1f400000, 0x00008980, 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980,
- 0xa2a15075, 0x00006002, 0x3081c06c, 0x00003000, 0x1f800000, 0x00006180,
- 0x0fc1c42a, 0x0000e000, 0x1c001000, 0x0000f900, 0x00010000, 0x00000980,
- 0x1c701800, 0x0000f900, 0x00044080, 0x00000980, 0x20800000, 0x0000f900,
- 0x00207fc0, 0x00008980, 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080,
- 0x1fc00000, 0x0000e180, 0xe7a15074, 0x0000e003, 0x1e01d83b, 0x0000e100,
- 0x1f00403c, 0x0000c880, 0x1e80373d, 0x000086b4, 0x1b800000, 0x000086fc,
- 0x1ca81402, 0x00008708, 0x20000000, 0x000088c4, 0x20ca2502, 0x0000071e,
- 0x46801438, 0x0000f88e, 0x49c00000, 0x00009c89, 0x00000c2a, 0x00006583,
- 0x01000000, 0x00000980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x15800000, 0x00006180, 0x0419c804, 0x0000e187, 0x700008ec, 0x00005680,
- 0x00382002, 0x00008000, 0x0008a8ec, 0x0000d780, 0x00007800, 0x00008080,
- 0x0008a0ec, 0x0000d788, 0x00d87dc0, 0x00000180, 0x0008a0ec, 0x0000d790,
- 0x00d87dc0, 0x00000280, 0x15c00000, 0x0000e180, 0x15020040, 0x00004900,
- 0x15420841, 0x00009900, 0xf8000c38, 0x00004597, 0x79e01438, 0x00007990,
- 0x8ab71ee3, 0x00009900, 0x6041522a, 0x0000a180, 0xffffffff, 0x00007fa7,
- 0x0002042a, 0x00009583, 0x01698530, 0x0000e130, 0x01c00020, 0x000049b0,
- 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00003a85, 0x00007018,
- 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x030cf000, 0x0000f900,
- 0x000e098a, 0x00008980, 0x08001a09, 0x0000e106, 0x08003008, 0x0000b206,
- 0xc1c00800, 0x0000e181, 0xc2700600, 0x00004901, 0x82781400, 0x00000028,
- 0x01802805, 0x00009900, 0x39a0109e, 0x00007100, 0x08515021, 0x0000e002,
- 0x1982f05e, 0x00000900, 0x1a430861, 0x0000e100, 0x0700001c, 0x0000c084,
- 0x193aef5c, 0x00000614, 0x19fb175f, 0x00000628, 0x1ac31863, 0x00006100,
- 0xd000005f, 0x00006400, 0x000038fd, 0x00007400, 0x1a010821, 0x00006100,
- 0x99915220, 0x0000c100, 0x0a801000, 0x0000e181, 0x1a60e41c, 0x00004901,
- 0x75782cec, 0x0000a100, 0x0a002000, 0x00007900, 0x00180000, 0x00008980,
- 0x04115028, 0x00006901, 0xffffffff, 0x00007f86, 0x01400805, 0x00009080,
- 0x75782cec, 0x00002900, 0x803942ec, 0x00005600, 0x00000000, 0x00000280,
- 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec, 0x00007902,
- 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600,
- 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600, 0xc0202731, 0x00009503,
- 0x00003a70, 0x0000f00b, 0x01000002, 0x00006180, 0x08003a20, 0x0000e106,
- 0xc1280500, 0x00001900, 0x770000ec, 0x00005680, 0x00382000, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x138e380b, 0x00001684, 0x08003a28, 0x0000e906,
- 0x01402000, 0x00007900, 0x00180000, 0x00008980, 0x04114005, 0x0000e901,
- 0x80382aec, 0x00005600, 0x00000000, 0x00000280, 0x800182ec, 0x0000f902,
- 0x0c400000, 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600,
- 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902,
- 0x0dc00000, 0x00008600, 0x61602220, 0x0000a101, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x9c202731, 0x0000780a, 0x01c00000, 0x00001c8e,
- 0x28198202, 0x0000780a, 0x01c00001, 0x00008080, 0x8ab71ee3, 0x00009900,
- 0x6041522a, 0x0000a180, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x0001042a, 0x00009583, 0x01572842, 0x0000e230, 0x01c00020, 0x000089b0,
- 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00003a82, 0x0000f018,
- 0x00003999, 0x00007400, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x031be000, 0x00007900, 0x0013f0a2, 0x00008980, 0x00110020, 0x00006502,
- 0x000ff85e, 0x0000a581, 0x0148005f, 0x0000e584, 0xe000185e, 0x0000b403,
- 0x8a910220, 0x0000e100, 0xb0000862, 0x0000e401, 0x1739ff3e, 0x00000534,
- 0x000038fd, 0x00007430, 0x17e10502, 0x00000538, 0x0a800800, 0x000099b1,
- 0x000039a0, 0x0000f000, 0x41410538, 0x0000e283, 0xc1041850, 0x0000a606,
- 0x19c20067, 0x00006380, 0x17c2005f, 0x00000380, 0x00003a2f, 0x00007009,
- 0x8140862b, 0x00009283, 0x017ff801, 0x0000e190, 0x014ff800, 0x00004988,
- 0xffffffff, 0x00007f86, 0x01002005, 0x00009202, 0x02000a04, 0x0000e190,
- 0x02400000, 0x0000c990, 0x02800000, 0x0000e190, 0x02d300a0, 0x0000c990,
- 0x00003a2f, 0x0000f008, 0x04c00004, 0x00006180, 0x03c00004, 0x0000c980,
- 0x0318b000, 0x00007900, 0x0000a140, 0x00008980, 0x03401000, 0x0000f900,
- 0x0001c008, 0x00008980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980,
- 0x001810ec, 0x00005780, 0x00005000, 0x00008080, 0x04000000, 0x0000e180,
- 0x00003813, 0x0000e106, 0x03a8ec1d, 0x00008038, 0x04803006, 0x00009900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0x15400004, 0x0000e180,
- 0x0d01c404, 0x00006000, 0x00000c04, 0x00006583, 0x00003855, 0x0000a106,
- 0x14001050, 0x00006380, 0x14401451, 0x00000081, 0x15800000, 0x000085dc,
- 0x00003a72, 0x0000f208, 0x15003006, 0x00001900, 0x16001000, 0x0000f900,
- 0x00004000, 0x00000980, 0x16410000, 0x00007900, 0x00040000, 0x00000980,
- 0x0010a8ec, 0x0000d780, 0x00007800, 0x00008080, 0x16c00000, 0x000085e8,
- 0x00000c2a, 0x00009583, 0x0008a0ec, 0x0000d788, 0x00d87dc0, 0x00000180,
- 0x0008a0ec, 0x0000d790, 0x00d87dc0, 0x00000280, 0xe3a00c38, 0x0000c596,
- 0xefc01438, 0x0000ee96, 0x03c00004, 0x0000e180, 0x02000a00, 0x0000c980,
- 0x03006000, 0x0000f900, 0x00004000, 0x00000980, 0x001010ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x02400000, 0x00006180, 0x0000380f, 0x00006106,
- 0x02900000, 0x000000ec, 0x03803006, 0x00006100, 0x03400020, 0x00004980,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0x15400004, 0x0000e180,
- 0x0d01c404, 0x00006000, 0x14001050, 0x00006380, 0x00003855, 0x0000a106,
- 0x14401451, 0x00006081, 0x15800000, 0x00008980, 0x15000706, 0x0000059c,
- 0x88400c04, 0x0000f892, 0x91c00000, 0x00001d83, 0x00196005, 0x00006502,
- 0x01000c2b, 0x00008081, 0x6178322a, 0x00005100, 0x00118800, 0x00008001,
- 0x6158222a, 0x0000a901, 0x00003892, 0x00007008, 0x8819632c, 0x00009900,
- 0x61782a20, 0x00002180, 0xffffffff, 0x00007fa7, 0x00002806, 0x00001502,
- 0x014728e5, 0x00001908, 0x00003892, 0x00007400, 0xffffffff, 0x00007f86,
- 0x61782a20, 0x0000a980, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680,
- 0x00000040, 0x00000080, 0x0419c804, 0x00006987, 0x700008ec, 0x00005680,
- 0x00382002, 0x00008000, 0xddc00c38, 0x0000c597, 0x6cc01438, 0x0000eb97,
- 0x8ab71ee3, 0x00009900, 0x6041522a, 0x0000a180, 0xffffffff, 0x00007fa7,
- 0x0001042a, 0x00009583, 0x01c00000, 0x00007930, 0x00004040, 0x00008980,
- 0x01800000, 0x000061b0, 0x03400000, 0x0000c9b0, 0x00003a88, 0x0000f018,
- 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x0332a800, 0x0000f900,
- 0x0015a582, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x0000399f, 0x00007400, 0x82600500, 0x00008026, 0x82381602, 0x00008028,
- 0x00003860, 0x0000f200, 0x6161022a, 0x0000a101, 0x8100862b, 0x0000e283,
- 0x90000855, 0x00002401, 0x01000000, 0x0000e189, 0x01001800, 0x0000c991,
- 0x00008056, 0x00006482, 0xc0000855, 0x0000b401, 0x16001000, 0x0000f900,
- 0x00004000, 0x00000980, 0x16410000, 0x00007900, 0x00040000, 0x00000980,
- 0x0010a8ec, 0x0000d780, 0x00007800, 0x00008080, 0x00003a28, 0x00007400,
- 0x16800000, 0x00006180, 0x00202056, 0x00006006, 0x16c00000, 0x00009980,
- 0xc1400803, 0x000000d6, 0x41405000, 0x00001981, 0x3a8537f6, 0x00007100,
- 0x00003a84, 0x00007400, 0xc1400804, 0x000080d6, 0x41405800, 0x00009981,
- 0x00003a84, 0x00007400, 0xc1400804, 0x000080d6, 0x41406000, 0x00001981,
- 0x02009000, 0x00007900, 0x00012040, 0x00000980, 0x02401000, 0x00007900,
- 0x0001c008, 0x00008980, 0x01000804, 0x0000e180, 0x01400000, 0x00004980,
- 0x01800000, 0x00006180, 0x01eb00a0, 0x0000c980, 0x02c0000a, 0x0000e180,
- 0x82913a27, 0x00004900, 0x02800527, 0x00008490, 0x11800000, 0x000084dc,
- 0x0b401d22, 0x0000e281, 0x11401002, 0x00008900, 0x00000c2d, 0x0000f892,
- 0x00000000, 0x00000000, 0x00191321, 0x00007860, 0x00000000, 0x00000000,
- 0xac516322, 0x0000f85a, 0x01c00001, 0x00000060, 0x0e916123, 0x0000c569,
- 0x09316021, 0x00008862, 0x0000142d, 0x00007890, 0x00000000, 0x00000000,
- 0x00191223, 0x00007860, 0x00000000, 0x00008020, 0x00196322, 0x0000f85a,
- 0x00000000, 0x00008020, 0x5fe05c22, 0x0000c199, 0x00604c22, 0x000080a0,
- 0x0a003422, 0x0000c598, 0x05a02c22, 0x000084a7, 0x6020dc22, 0x0000c489,
- 0xfa60e422, 0x00008e8d, 0x04806422, 0x0000c790, 0x05116123, 0x0000866b,
- 0xcc916321, 0x00007862, 0x19c00000, 0x00001d89, 0x8b400b21, 0x00001080,
- 0xaf19122d, 0x0000f86a, 0x01c00001, 0x00000000, 0x5c205c22, 0x0000c199,
- 0x00604c22, 0x000080a0, 0x03003422, 0x00004599, 0x02e02c22, 0x000001a3,
- 0x5c60dc22, 0x00004489, 0xbe60e422, 0x00008e8d, 0xb4406422, 0x0000f892,
- 0xf9c00000, 0x00009d86, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x0f000000, 0x00006180, 0x82913226, 0x00004900, 0x10c00000, 0x00007900,
- 0x0002c000, 0x00000980, 0x0f400000, 0x000004c0, 0x10400000, 0x000004c8,
- 0x0fb94f28, 0x0000033c, 0x8f000b22, 0x00009180, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009008ec, 0x00005780,
- 0x009053c0, 0x000081c0, 0x00003ab4, 0x0000f000, 0x00003acf, 0x00007200,
- 0x00002422, 0x00001583, 0x00004422, 0x00001583, 0x0b402800, 0x00001989,
- 0x00003ae6, 0x00007009, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x032ee000, 0x00007900,
- 0x0030da9c, 0x00000980, 0x01800000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x03400000, 0x0000e180, 0xc2700600, 0x00004901, 0x3b03109e, 0x00007500,
- 0x82781400, 0x00000028, 0x81c01000, 0x0000e180, 0x02211422, 0x00004900,
- 0x00003ae6, 0x0000f200, 0x0b402000, 0x00001981, 0x00003ae6, 0x0000f200,
- 0x0b401800, 0x00009981, 0x00003ae6, 0x0000f200, 0x0b403800, 0x00001981,
- 0x0b403000, 0x00009981, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x0f000000, 0x000084cc, 0x02800426, 0x000003b4, 0x10000000, 0x000084c4,
- 0x10800000, 0x00006180, 0x0f814028, 0x00004900, 0x0fc11729, 0x00008332,
- 0xd0e16c2d, 0x00009901, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009008ec, 0x00005780, 0x009053c0, 0x000081c0,
- 0xc8591322, 0x00009900, 0x03d16123, 0x0000c569, 0x03d16022, 0x00000267,
- 0x00003afa, 0x00007200, 0x00002422, 0x00001583, 0x00004422, 0x00001583,
- 0x0b402800, 0x00001989, 0x00003b04, 0x0000f009, 0x00003ad1, 0x0000f000,
- 0x00003b04, 0x00007200, 0x0b402000, 0x00001981, 0x00003b04, 0x00007200,
- 0x0b401800, 0x00009981, 0x00003b04, 0x00007200, 0x0b403800, 0x00001981,
- 0x0b403000, 0x00009981, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x10c00040, 0x00006180, 0x0f000000, 0x00004980, 0x0f400000, 0x000004c0,
- 0x10400000, 0x000004c8, 0x0fb94f28, 0x0000033c, 0x50c1132d, 0x0000040e,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009008ec, 0x00005780, 0x009053c0, 0x000081c0, 0xc0196322, 0x00009502,
- 0x00003b21, 0x00007063, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x10c00000, 0x00007900, 0x0001c080, 0x00008980, 0x02800427, 0x000003b0,
- 0x0f400000, 0x000004c0, 0x10400000, 0x000004c8, 0x0fb94f28, 0x0000033c,
- 0x90d9632c, 0x00009900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009008ec, 0x00005780, 0x009053c0, 0x000081c0,
- 0xc0116321, 0x00001502, 0x00003b32, 0x0000f063, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x0f000000, 0x00006180, 0x82913226, 0x00004900,
- 0x10c00000, 0x00007900, 0x0002c000, 0x00000980, 0x0f400000, 0x000004c0,
- 0x10400000, 0x000004c8, 0x0fb94f28, 0x0000033c, 0x8f11622c, 0x00001900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009008ec, 0x00005780, 0x009053c0, 0x000081c0, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00048190, 0x00000980,
- 0x8841612c, 0x0000020e, 0xc0204409, 0x000000cd, 0x008806ec, 0x00005f80,
- 0x008848c0, 0x00008484, 0x4100157c, 0x00006283, 0x01400000, 0x00000981,
- 0x00003be6, 0x0000700b, 0x3b3e0e1b, 0x0000f100, 0x40000505, 0x00009583,
- 0x084738e7, 0x00001910, 0x00003b41, 0x00007009, 0x18000000, 0x000086c4,
- 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
- 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x0100e41c, 0x00009283,
- 0x0100141c, 0x00009283, 0xffffffff, 0x00007f86, 0x00003cbd, 0x00007010,
- 0x00003b53, 0x0000f008, 0x00010820, 0x00009502, 0x073fe81c, 0x00007970,
- 0x003ffffe, 0x00008280, 0x81000800, 0x0000e1f1, 0x8110ea1d, 0x00004970,
- 0x00003b54, 0x0000f270, 0xc750ea1d, 0x00001970, 0x41000000, 0x000080d3,
- 0x6ba0147c, 0x0000c28f, 0xb060141c, 0x00008e96, 0xfc80667c, 0x0000f892,
- 0x49c00000, 0x00009d8b, 0x801bfa1d, 0x00006502, 0x87400000, 0x00000980,
- 0x87400800, 0x00009990, 0xffffffff, 0x00007f86, 0x1060e81c, 0x0000e800,
- 0x0a00141c, 0x0000e283, 0x875bfb7f, 0x00008900, 0x08040080, 0x00001900,
- 0x00003b67, 0x0000f009, 0x00010880, 0x00009502, 0x073fe81c, 0x00007970,
- 0x003ffffe, 0x00008280, 0x81000800, 0x0000e1f1, 0x811bfb7f, 0x00004970,
- 0xc75bfb7f, 0x00001970, 0x8000667c, 0x00001583, 0x00003bf2, 0x00007013,
- 0x27000000, 0x000089f8, 0x27c06060, 0x00006180, 0x28c00000, 0x00004980,
- 0x277c2788, 0x00008a00, 0x287c3785, 0x00000a08, 0x293c4f88, 0x00000a14,
- 0x29fc578b, 0x00000a18, 0x01c18026, 0x0000e080, 0x0b000002, 0x00008980,
- 0x01bff807, 0x0000f900, 0x00000002, 0x00008280, 0x0180302c, 0x00006100,
- 0x2a013026, 0x00008900, 0x00017806, 0x0000e582, 0x09818026, 0x00008080,
- 0x09800007, 0x0000f930, 0x003ffffc, 0x00000280, 0x4140357c, 0x00006283,
- 0x1cc00000, 0x00000980, 0x10140000, 0x00007900, 0x0002020e, 0x00000980,
- 0x000880ec, 0x0000d780, 0x00d87f00, 0x000080c0, 0x25c00000, 0x0000e180,
- 0x00001873, 0x00006106, 0x2aca0005, 0x0000e180, 0x30f02040, 0x00006000,
- 0x1c001000, 0x0000f900, 0x00010000, 0x00000980, 0x1c701800, 0x0000f900,
- 0x00044140, 0x00008980, 0x24400000, 0x00007900, 0x00004000, 0x00000980,
- 0x2a818000, 0x0000f900, 0x00207fc0, 0x00008980, 0x2b800000, 0x00007900,
- 0x00020000, 0x00000980, 0x001920ec, 0x0000d780, 0x00d879c0, 0x000082c8,
- 0x10405600, 0x00006180, 0xc0001873, 0x0000e006, 0x10800000, 0x000084cc,
- 0x1c800702, 0x00008980, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089e0, 0x26400000, 0x000009e8, 0x26c00000, 0x00008af0,
- 0x2b400000, 0x00008afc, 0x00003bef, 0x0000f408, 0x2a413827, 0x0000e100,
- 0xa5fbe77c, 0x0000c900, 0xead81302, 0x00006100, 0x0d83e406, 0x0000e010,
- 0x13800702, 0x000004bc, 0x00000406, 0x00006583, 0x0000184f, 0x0000a106,
- 0x13001000, 0x0000f900, 0x00020000, 0x00000980, 0x13683800, 0x00007900,
- 0x000440c0, 0x00008980, 0x00003baf, 0x00007208, 0xc000184f, 0x0000e006,
- 0xd0000853, 0x0000b412, 0x4140457c, 0x0000e283, 0x99bbe77c, 0x00000901,
- 0x1863ec7d, 0x00006100, 0x20000853, 0x00006401, 0xdaebed7d, 0x0000e110,
- 0xa0000853, 0x0000e410, 0x80000604, 0x0000e583, 0x01c01800, 0x00008981,
- 0x99502204, 0x0000e110, 0x40000852, 0x0000e413, 0x80000604, 0x00001583,
- 0x000098ec, 0x00005780, 0x00005802, 0x00008080, 0x00003bc6, 0x00007009,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01800c7c, 0x00001283,
- 0x9e911222, 0x00006110, 0x00000074, 0x0000e411, 0xa3000000, 0x0000e190,
- 0x1000008b, 0x0000e413, 0x00003bd1, 0x0000f008, 0x0010e8ec, 0x00005780,
- 0x00905040, 0x00000188, 0x000918ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xe2c00000, 0x0000e181, 0x21812024, 0x00004900, 0x21392c04, 0x0000081c,
- 0x40c03408, 0x000082ea, 0x01e03c2a, 0x00001101, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00048010, 0x00000980,
- 0xc0004800, 0x0000e181, 0x01e02c07, 0x0000c101, 0x80603c07, 0x00001901,
- 0x008806ec, 0x00005f80, 0x00884880, 0x00000484, 0x1d000824, 0x0000e180,
- 0x1000008b, 0x00006403, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188,
- 0x1e009000, 0x0000f900, 0x00012040, 0x00000980, 0x1e401000, 0x0000f900,
- 0x0001c008, 0x00008980, 0x000918ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x1d400000, 0x000007d8, 0x1deb00a0, 0x00006180, 0x1ec0000a, 0x00004980,
- 0x1ea91422, 0x00008728, 0x23000000, 0x000088f8, 0x23c00000, 0x0000e180,
- 0x23401002, 0x0000c900, 0x00003bc6, 0x0000f400, 0x21b92f24, 0x0000081c,
- 0xe2c00000, 0x0000e181, 0xa1102204, 0x00004900, 0x14000000, 0x000085c4,
- 0x14800000, 0x000085cc, 0x15000000, 0x000085d4, 0x15800000, 0x000085dc,
- 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x00003b41, 0x0000f400,
- 0x17000000, 0x000085f4, 0x17c00000, 0x000085f8, 0x01c00000, 0x00001981,
- 0xf1800604, 0x0000788a, 0xb9c00000, 0x00009d8d, 0x08003a2c, 0x00006906,
- 0x6141422c, 0x00007902, 0x0e300000, 0x00008101, 0x61614a2c, 0x0000a101,
- 0x0a91622c, 0x00001900, 0xffffffff, 0x00007f86, 0x00003028, 0x00001502,
- 0x00398c38, 0x00009503, 0xffffffff, 0x00007f86, 0x00003c1e, 0x00007010,
- 0x00003d8f, 0x00007010, 0x6151422c, 0x00002102, 0x00295c38, 0x00009503,
- 0xffffffff, 0x00007f97, 0x0a000c28, 0x00009081, 0x6159422c, 0x00002901,
- 0x757964ec, 0x00002190, 0xffffffff, 0x00007f86, 0x00003c2b, 0x0000f40b,
- 0x0b00082c, 0x00001090, 0x757964ec, 0x0000a990, 0x08003a2a, 0x00006906,
- 0x0a402000, 0x0000f900, 0x00140000, 0x00008980, 0x04115029, 0x0000e901,
- 0x80394aec, 0x0000d600, 0x00000001, 0x00000080, 0x800142ec, 0x0000f902,
- 0x0a400000, 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000, 0x00000600,
- 0x800162ec, 0x00007902, 0x0b400000, 0x00000600, 0x800172ec, 0x0000f902,
- 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86, 0x00295c38, 0x00009503,
- 0x0a000002, 0x00001990, 0xca280500, 0x00001910, 0x00003c2b, 0x00007008,
- 0x770000ec, 0x00005680, 0x00394000, 0x00008000, 0x00c002ec, 0x0000df80,
- 0x13c0380b, 0x00001684, 0x0019602a, 0x0000e502, 0x0a000c2b, 0x00000081,
- 0x6178322c, 0x00005100, 0x00118800, 0x00008001, 0x6159422c, 0x00002901,
- 0x00003c2b, 0x00007008, 0x8a19632c, 0x00001900, 0x61796228, 0x00002180,
- 0xffffffff, 0x00007fa7, 0x00016006, 0x00009502, 0x0b0728e5, 0x00009908,
- 0xffffffff, 0x00007f86, 0x61796228, 0x0000a980, 0x0a04127f, 0x0000e002,
- 0x0ec1842a, 0x0000a004, 0x0b000083, 0x00006084, 0x0c015c29, 0x0000a000,
- 0xb0e00429, 0x0000c491, 0x0e601c2a, 0x00000fb3, 0x0000342a, 0x00007890,
- 0x00000000, 0x00000000, 0x6f040530, 0x0000788f, 0x01c00001, 0x00000060,
- 0x61d9831c, 0x0000f813, 0x01c00001, 0x00000000, 0xb0f14d7d, 0x00004313,
- 0x00620531, 0x00000090, 0x00041835, 0x0000781a, 0x00000000, 0x00000000,
- 0x00041835, 0x00007810, 0x00000000, 0x00000000, 0x00041034, 0x0000f830,
- 0x00000000, 0x00008020, 0x61c10531, 0x00007897, 0x01c00001, 0x00000060,
- 0x61c16033, 0x0000782b, 0x01c00001, 0x00000000, 0x00016033, 0x00007810,
- 0x00000000, 0x00000000, 0x61c14032, 0x0000f823, 0x01c00001, 0x00000060,
- 0x5ac08530, 0x0000788f, 0x59c00000, 0x00001e82, 0xff010531, 0x0000ca96,
- 0x13e08530, 0x00001289, 0x2b800000, 0x0000e180, 0x0c418c2a, 0x00006000,
- 0x41410531, 0x0000e283, 0x000188ae, 0x00002106, 0x2ac80005, 0x00006180,
- 0x000188ae, 0x00006081, 0x2b400000, 0x0000e180, 0x0b00942a, 0x00004880,
- 0x2a800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x82c180ae, 0x00006001,
- 0x040180ad, 0x00003081, 0x2a39bf36, 0x00000a24, 0x00003c5e, 0x00007410,
- 0x0ac00000, 0x0000e190, 0xead81302, 0x00004900, 0x2bc0302c, 0x0000e300,
- 0x0b000000, 0x00008990, 0x0af9a735, 0x00000230, 0x0a417082, 0x00006002,
- 0xaa93fa7f, 0x00008900, 0x0a017883, 0x0000e004, 0x13410000, 0x00000980,
- 0x0a816029, 0x0000e102, 0x13800000, 0x00008980, 0x0ac15828, 0x00006104,
- 0x13c00000, 0x00000980, 0x13006000, 0x00007900, 0x00004000, 0x00000980,
- 0x0a07847c, 0x00006283, 0x2b01502a, 0x00000900, 0x2b615c2b, 0x00009901,
- 0x0007289a, 0x00009502, 0xffffffff, 0x00007f86, 0x00003d1c, 0x00007008,
- 0x00003d79, 0x00007010, 0x0007289b, 0x00001502, 0x1b44c098, 0x0000e108,
- 0x1b04c899, 0x00004908, 0x1b842084, 0x0000e108, 0x1bc42885, 0x00004908,
- 0x00003d79, 0x0000f210, 0x0a800800, 0x00006189, 0x10402900, 0x00004988,
- 0x10800000, 0x000084cc, 0x8b002d00, 0x0000e080, 0xe3a15042, 0x0000e002,
- 0x10140000, 0x00007900, 0x0000440e, 0x00000980, 0x000880ec, 0x0000d780,
- 0x00d87cc0, 0x000080c0, 0x90dad22c, 0x00001080, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0088d8ec, 0x0000d780,
- 0x00d87a80, 0x00008188, 0x1dc30020, 0x0000e180, 0x0d001c28, 0x00006006,
- 0x1ec00000, 0x00006180, 0x82214077, 0x00006004, 0x1e001000, 0x00007900,
- 0x00004000, 0x00000980, 0x0010e8ec, 0x00005780, 0x00005000, 0x00008080,
- 0x1d000904, 0x0000e180, 0xc000187b, 0x00006006, 0x1d400000, 0x000007d8,
- 0x1e400020, 0x00006180, 0x9e901202, 0x0000c900, 0xde981302, 0x00001900,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x103bf840, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x000880ec, 0x0000d780, 0x00d87ec0, 0x000000c0,
- 0xc0000840, 0x00006606, 0xe0000842, 0x00003402, 0x000950ec, 0x0000d780,
- 0x00007800, 0x00008080, 0x10401800, 0x0000e181, 0x90db122c, 0x0000c080,
- 0x2a393f26, 0x00000a24, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
- 0xd0280500, 0x00001900, 0x00c002ec, 0x0000df80, 0x13c5200b, 0x00001684,
- 0x0ec00000, 0x000003f8, 0x27c00060, 0x00006180, 0x0000383b, 0x0000e106,
- 0x8a802d00, 0x0000e080, 0x08003a3e, 0x0000e106, 0x0e006000, 0x00007900,
- 0x00008000, 0x00000980, 0x0e580800, 0x00007900, 0x00004080, 0x00008980,
- 0x0f400000, 0x00007900, 0x00004042, 0x00000980, 0x001070ec, 0x0000d780,
- 0x00004800, 0x00008080, 0x0e803006, 0x0000e100, 0xc000383b, 0x00006006,
- 0x35850c2a, 0x00007902, 0x28000000, 0x00000000, 0x0f000000, 0x000003fc,
- 0x27800000, 0x00000ac8, 0x28c00000, 0x00008ad0, 0x29400000, 0x00000ad8,
- 0x00003b70, 0x00007400, 0x29c00000, 0x0000e180, 0x27043086, 0x0000c900,
- 0x67c0447c, 0x000009b4, 0x3cbe46a6, 0x0000f100, 0x8000667c, 0x00001583,
- 0x0e006000, 0x0000f910, 0x00008000, 0x00000980, 0x0e580800, 0x0000f910,
- 0x00004080, 0x00008980, 0x00003d05, 0x0000f008, 0x4140357c, 0x00006283,
- 0x0ec00000, 0x00000980, 0x0f800000, 0x0000e180, 0x0000383b, 0x0000e106,
- 0x0f400000, 0x00007900, 0x00004042, 0x00000980, 0x001070ec, 0x0000d780,
- 0x00004800, 0x00008080, 0xc000383b, 0x00006006, 0x08003a3e, 0x0000b106,
- 0x00003d68, 0x0000f408, 0x0e800706, 0x000003b0, 0x0fc00000, 0x00001980,
- 0x13c00000, 0x0000e180, 0x0d83e42c, 0x0000e000, 0x0000042c, 0x0000e583,
- 0x0000184f, 0x0000a106, 0x13001000, 0x0000f900, 0x00020000, 0x00000980,
- 0x13683800, 0x00007900, 0x000440c0, 0x00008980, 0x00003ce3, 0x00007208,
- 0x13801002, 0x0000e100, 0xc000184f, 0x0000e006, 0x4140457c, 0x0000e283,
- 0xd0000853, 0x0000a402, 0x99bbe77c, 0x0000e101, 0x20000853, 0x00006401,
- 0x1863ec7d, 0x00006100, 0xa0000853, 0x0000e410, 0xdaebed7d, 0x00009910,
- 0x80000604, 0x0000e583, 0x0a801800, 0x00008981, 0x99502204, 0x0000e110,
- 0x40000852, 0x0000e413, 0x80000604, 0x00001583, 0x000098ec, 0x00005780,
- 0x00005802, 0x00008080, 0x00003cfa, 0x0000f009, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x01800c7c, 0x00001283, 0x9e911222, 0x00006110,
- 0x00000074, 0x0000e411, 0xa3000000, 0x0000e190, 0x1000008b, 0x0000e413,
- 0x00003d07, 0x00007008, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188,
- 0x000918ec, 0x0000d780, 0x00005000, 0x00008080, 0xe2c00000, 0x0000e181,
- 0x21812024, 0x00004900, 0x21392c04, 0x0000081c, 0x40c05c08, 0x000002f2,
- 0x0aa1542c, 0x00001101, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x00400000, 0x00007900, 0x00048010, 0x00000980, 0xc0004800, 0x0000e181,
- 0x0b202c2a, 0x0000c101, 0x8061642c, 0x00001901, 0x008806ec, 0x00005f80,
- 0x00884880, 0x00000484, 0x5a00357c, 0x0000788f, 0x89c00000, 0x00001e86,
- 0x1d000824, 0x0000e180, 0x1000008b, 0x00006403, 0x0010e8ec, 0x00005780,
- 0x00905040, 0x00000188, 0x1e009000, 0x0000f900, 0x00012040, 0x00000980,
- 0x1e401000, 0x0000f900, 0x0001c008, 0x00008980, 0x000918ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x1d400000, 0x000007d8, 0x1deb00a0, 0x00006180,
- 0x1ec0000a, 0x00004980, 0x1ea91422, 0x00008728, 0x23000000, 0x000088f8,
- 0x23c00000, 0x0000e180, 0x23401002, 0x0000c900, 0x00003cfa, 0x00007400,
- 0x21b92f24, 0x0000081c, 0xe2c00000, 0x0000e181, 0xa1102204, 0x00004900,
- 0x8a800002, 0x000084c8, 0x10c00000, 0x0000e180, 0x8b002d00, 0x0000c880,
- 0x10140000, 0x00007900, 0x0000440e, 0x00000980, 0x000880ec, 0x0000d780,
- 0x00d87cc0, 0x000080c0, 0x1b800000, 0x0000e180, 0xe3a15042, 0x0000e002,
- 0x1bc00000, 0x00006180, 0x1b042084, 0x0000c900, 0x1b442885, 0x00006100,
- 0x10402900, 0x0000c980, 0x90dad22c, 0x00001080, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0088d8ec, 0x0000d780,
- 0x00d87a80, 0x00008188, 0x1dc30020, 0x0000e180, 0x0d001c28, 0x00006006,
- 0x1ec00000, 0x00006180, 0x82214077, 0x00006004, 0x1e001000, 0x00007900,
- 0x00004000, 0x00000980, 0x0010e8ec, 0x00005780, 0x00005000, 0x00008080,
- 0x1d000904, 0x0000e180, 0xc000187b, 0x00006006, 0x1d400000, 0x000007d8,
- 0x1e400020, 0x00006180, 0x9e901202, 0x0000c900, 0xde981302, 0x00001900,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x103bf840, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x000880ec, 0x0000d780, 0x00d87ec0, 0x000000c0,
- 0xc0000840, 0x00006606, 0xe0000842, 0x00003402, 0x000950ec, 0x0000d780,
- 0x00007800, 0x00008080, 0x10401800, 0x0000e181, 0x90db122c, 0x0000c080,
- 0x2a393f26, 0x00000a24, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
- 0xd0280500, 0x00001900, 0x00c002ec, 0x0000df80, 0x13ca780b, 0x00009684,
- 0x0ec00000, 0x000003f8, 0x27c00060, 0x00006180, 0x0000383b, 0x0000e106,
- 0x8a802d00, 0x0000e080, 0x08003a3e, 0x0000e106, 0x0e006000, 0x00007900,
- 0x00008000, 0x00000980, 0x0e580800, 0x00007900, 0x00004080, 0x00008980,
- 0x0f400000, 0x00007900, 0x00004042, 0x00000980, 0x001070ec, 0x0000d780,
- 0x00004800, 0x00008080, 0x0e803006, 0x0000e100, 0xc000383b, 0x00006006,
- 0x35850c2a, 0x00007902, 0x28000000, 0x00000000, 0x0f000000, 0x000003fc,
- 0x27800000, 0x00000ac8, 0x28c00000, 0x00008ad0, 0x29400000, 0x00000ad8,
- 0x00003b70, 0x00007400, 0x29c00000, 0x0000e180, 0x27043086, 0x0000c900,
- 0x67c0447c, 0x000009b4, 0x0a800000, 0x00001981, 0x3e800604, 0x0000f88b,
- 0x59c00000, 0x00001e87, 0x01c00020, 0x00006180, 0x01698530, 0x0000c900,
- 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x0328a800, 0x00007900,
- 0x000f4724, 0x00008980, 0x41c00002, 0x000000f4, 0x08001a09, 0x0000e106,
- 0x08003008, 0x0000b206, 0xc1c00800, 0x0000e181, 0xc2700600, 0x00004901,
- 0x02a00702, 0x00000026, 0x3d79109e, 0x0000f300, 0x01802805, 0x00009900,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02d2d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03254000, 0x0000f900, 0x00205d4a, 0x00000980,
- 0x01443086, 0x0000e100, 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x00003d77, 0x0000f400, 0x82781400, 0x00000028,
- 0x81c01000, 0x0000e180, 0x0204d09a, 0x00004900, 0x01c00020, 0x00006180,
- 0x0173ee7d, 0x0000c900, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x00003d72, 0x0000f400, 0x031f3800, 0x0000f900, 0x001b2cae, 0x00008980,
- 0x41c00002, 0x000000f4, 0x757944ec, 0x0000a100, 0x0a802000, 0x0000f900,
- 0x00180000, 0x00008980, 0x0411602a, 0x0000e901, 0xffffffff, 0x00007f86,
- 0x0a000828, 0x00009080, 0x757944ec, 0x00002900, 0x803952ec, 0x0000d600,
- 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600,
- 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902,
- 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600,
- 0xc0214f31, 0x00009503, 0x00003dbe, 0x0000f00b, 0x0a800002, 0x00006180,
- 0x08003a28, 0x00006106, 0xcaa80500, 0x00001900, 0x770000ec, 0x00005680,
- 0x00395000, 0x00000000, 0x00c002ec, 0x0000df80, 0x13cd480b, 0x00001684,
- 0x08003a29, 0x00006906, 0x0b402000, 0x00007900, 0x00180000, 0x00008980,
- 0x0411482d, 0x00006901, 0x80396aec, 0x00005600, 0x00000000, 0x00000280,
- 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec, 0x00007902,
- 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600,
- 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600, 0x61614228, 0x0000a101,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x6fa14731, 0x0000f80b,
- 0x11c00000, 0x00001e8d, 0x61d98202, 0x00007813, 0xb9c00000, 0x00009e81,
- 0x6161c22c, 0x0000a101, 0x6151422c, 0x00002102, 0xffffffff, 0x00007f97,
- 0x00295c38, 0x00009503, 0x0a000c28, 0x00009081, 0x6159422c, 0x00002901,
- 0x757964ec, 0x00002190, 0xffffffff, 0x00007f86, 0x00003c07, 0x00007413,
- 0x0b00082c, 0x00001090, 0x757964ec, 0x0000a990, 0x00003c2b, 0x0000f000,
- 0x4100157c, 0x00006283, 0x01400000, 0x00000981, 0x00003e7e, 0x0000f00b,
- 0x3dce0e1b, 0x0000f100, 0x40000505, 0x00009583, 0x084738e7, 0x00001910,
- 0x00003dd1, 0x00007009, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc,
- 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4,
- 0x1a800000, 0x000086ec, 0x0100e41c, 0x00009283, 0x0100141c, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00003e7b, 0x0000f010, 0x00003de3, 0x00007008,
- 0x00010820, 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280,
- 0x81000800, 0x0000e1f1, 0x8110ea1d, 0x00004970, 0x00003de4, 0x00007270,
- 0xc750ea1d, 0x00001970, 0x41000000, 0x000080d3, 0xc7c0147c, 0x0000c297,
- 0xd4600c7c, 0x00008f93, 0x8c80141c, 0x00007897, 0x69c00000, 0x00009f81,
- 0x01800c7c, 0x00001283, 0x00003e3e, 0x00007013, 0x80000604, 0x00001583,
- 0x10004001, 0x00006190, 0x10401000, 0x00004990, 0x10800000, 0x0000e190,
- 0x10c00000, 0x00004990, 0x00003e95, 0x0000f008, 0x4140357c, 0x00006283,
- 0x26c80005, 0x00008980, 0x26800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x000880ec, 0x0000d780, 0x00d87980, 0x000080c8, 0x00003e92, 0x0000f408,
- 0x26000000, 0x000089e4, 0xe6d81302, 0x00001900, 0x13c00000, 0x0000e180,
- 0x0d83e406, 0x00006000, 0x00000406, 0x00006583, 0x0000184f, 0x0000a106,
- 0x13001000, 0x0000f900, 0x00020000, 0x00000980, 0x13683800, 0x00007900,
- 0x000440c0, 0x00008980, 0x00003e0b, 0x0000f208, 0x13801002, 0x0000e100,
- 0xc000184f, 0x0000e006, 0x4140457c, 0x0000e283, 0xd0000853, 0x0000a402,
- 0x99bbe77c, 0x0000e101, 0x20000853, 0x00006401, 0x1863ec7d, 0x00006100,
- 0xa0000853, 0x0000e410, 0xdaebed7d, 0x00009910, 0x80000604, 0x0000e583,
- 0x01801800, 0x00000981, 0x99502204, 0x0000e110, 0x40000852, 0x0000e413,
- 0x80000604, 0x00001583, 0x000098ec, 0x00005780, 0x00005802, 0x00008080,
- 0x00003e22, 0x00007009, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x01c00c7c, 0x00009283, 0x9e911222, 0x00006110, 0x00000074, 0x0000e411,
- 0xa3000000, 0x0000e190, 0x1000008b, 0x0000e413, 0x00003e66, 0x0000f008,
- 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188, 0x000918ec, 0x0000d780,
- 0x00005000, 0x00008080, 0xe2c00000, 0x0000e181, 0x21812024, 0x00004900,
- 0x21392c04, 0x0000081c, 0x40c03408, 0x000080d2, 0x01a03404, 0x00001101,
- 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
- 0x00048010, 0x00000980, 0xc0004800, 0x0000e181, 0x01a02c06, 0x0000c101,
- 0x80603406, 0x00001901, 0x008806ec, 0x00005f80, 0x00884880, 0x00000484,
- 0x801bfa1d, 0x00006502, 0x81800000, 0x00000980, 0x81800800, 0x00009990,
- 0xffffffff, 0x00007f86, 0x1060301c, 0x0000e800, 0x0180141c, 0x0000e283,
- 0x875bfb7f, 0x00008900, 0x08040080, 0x00001900, 0x00003de8, 0x00007009,
- 0x00010880, 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280,
- 0x81000800, 0x0000e1f1, 0x811bfb7f, 0x00004970, 0x01800c7c, 0x0000e283,
- 0xc75bfb7f, 0x00008970, 0x00003dea, 0x0000700b, 0x000880ec, 0x0000d780,
- 0x00d87980, 0x000080c8, 0x26c80005, 0x00006180, 0x23000000, 0x0000c980,
- 0x26800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x1e009000, 0x0000f900,
- 0x00012040, 0x00000980, 0x1e401000, 0x0000f900, 0x0001c008, 0x00008980,
- 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188, 0x87d45a8b, 0x0000e100,
- 0x0f83e48c, 0x00006000, 0x10004001, 0x0000e180, 0x10401000, 0x0000c980,
- 0x10800000, 0x000084cc, 0x26000000, 0x000089e4, 0x21b92f24, 0x0000081c,
- 0x1d000824, 0x0000e180, 0x1d400000, 0x0000c980, 0x1d800000, 0x0000e180,
- 0x1deb00a0, 0x00004980, 0x1ec0000a, 0x00006180, 0x9e911a23, 0x0000c900,
- 0x1e800523, 0x000088b8, 0x23c00000, 0x0000e180, 0x23401002, 0x0000c900,
- 0x80000604, 0x0000e583, 0xe6d81302, 0x00008900, 0x814010ec, 0x00005694,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008918ec, 0x0000d790,
- 0x00005000, 0x00008080, 0xffffffff, 0x00007f97, 0x000918ec, 0x00005788,
- 0x00005000, 0x00008080, 0xa480357c, 0x0000788f, 0xc9c00000, 0x00009e8f,
- 0x1d000824, 0x0000e180, 0x1000008b, 0x00006403, 0x0010e8ec, 0x00005780,
- 0x00905040, 0x00000188, 0x1e009000, 0x0000f900, 0x00012040, 0x00000980,
- 0x1e401000, 0x0000f900, 0x0001c008, 0x00008980, 0x000918ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x1d400000, 0x000007d8, 0x1deb00a0, 0x00006180,
- 0x1ec0000a, 0x00004980, 0x1ea91422, 0x00008728, 0x23000000, 0x000088f8,
- 0x23c00000, 0x0000e180, 0x23401002, 0x0000c900, 0x00003e22, 0x0000f400,
- 0x21b92f24, 0x0000081c, 0xe2c00000, 0x0000e181, 0xa1102204, 0x00004900,
- 0x3e7c46a6, 0x0000f100, 0xa480357c, 0x0000788f, 0xc9c00000, 0x00009e8f,
- 0x4100257c, 0x00009283, 0x14000000, 0x0000e190, 0x14400000, 0x00004990,
- 0x14800000, 0x00006190, 0x14c00000, 0x0000c990, 0x00003e97, 0x00007008,
- 0x15000000, 0x000085d4, 0x15800000, 0x000085dc, 0x16000000, 0x000085e4,
- 0x16800000, 0x000085ec, 0x17000000, 0x000085f4, 0x17800000, 0x000085fc,
- 0x18000000, 0x000086c4, 0x18800000, 0x000086cc, 0x19000000, 0x000086d4,
- 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4, 0x1ac00000, 0x000086e8,
- 0xfd60e41c, 0x00004597, 0x7520141c, 0x0000f48e, 0x01800000, 0x00009981,
- 0x88800604, 0x0000788b, 0x99c00000, 0x00001f80, 0xa480357c, 0x0000788f,
- 0xc9c00000, 0x00009e8f, 0xfc80e41c, 0x0000c596, 0xf4c0141c, 0x0000f48a,
- 0x4100157c, 0x00006283, 0x01400000, 0x00000981, 0x00004021, 0x0000f00b,
- 0x3e9d0e1b, 0x0000f100, 0x40000505, 0x00009583, 0x084738e7, 0x00001910,
- 0x00003ea0, 0x00007009, 0x0100e41c, 0x00006283, 0x18000000, 0x00008980,
- 0x18400000, 0x000006c8, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8,
- 0x19c00000, 0x000006e0, 0x00004010, 0x0000f410, 0x1a400000, 0x000006e8,
- 0x1ac00000, 0x00009980, 0x08003a2a, 0x00006906, 0x6179822a, 0x00003160,
- 0x6160222a, 0x0000a101, 0x0a11522a, 0x00009900, 0xffffffff, 0x00007f86,
- 0x00003030, 0x00001502, 0x00398c31, 0x00009503, 0xffffffff, 0x00007f86,
- 0x00004035, 0x0000f010, 0x00003fcf, 0x00007010, 0x6151822a, 0x00002102,
- 0xffffffff, 0x00007f86, 0x00295c31, 0x00006503, 0x01000c31, 0x00000081,
- 0x6170222a, 0x0000a901, 0x00215c30, 0x00009503, 0xffffffff, 0x00007f86,
- 0x00003fb1, 0x00007010, 0x00003fb1, 0x00007010, 0x25400000, 0x00006180,
- 0x08003a2a, 0x0000e106, 0x6161422a, 0x0000a100, 0x24c00000, 0x00006180,
- 0x25400f31, 0x00004081, 0xe5501202, 0x0000e100, 0x00003893, 0x00006106,
- 0x25800000, 0x00006180, 0x86c3e095, 0x00006000, 0x8c000a28, 0x00006080,
- 0xc0003893, 0x00002006, 0x2400e000, 0x00007900, 0x0000a340, 0x00000980,
- 0x24401000, 0x0000f900, 0x0001c000, 0x00000980, 0x97401895, 0x00006006,
- 0x08001a96, 0x0000b106, 0x6161822a, 0x00002900, 0x24800706, 0x0000099c,
- 0x2528e428, 0x00000910, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009120ec, 0x0000d780, 0x00006000, 0x00008080,
- 0x0100141c, 0x00009283, 0x00003ede, 0x0000f00b, 0x00010820, 0x00009502,
- 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280, 0x81000800, 0x0000e1f1,
- 0x8110ea1d, 0x00004970, 0x00003edf, 0x0000f270, 0xc750ea1d, 0x00001970,
- 0x41000000, 0x000080d3, 0x0a00147c, 0x00001283, 0x0a00141c, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00003ef3, 0x0000f008, 0x00003ee9, 0x00007010,
- 0x801bfa1d, 0x00006502, 0x87400000, 0x00000980, 0x87400800, 0x00009990,
- 0xffffffff, 0x00007f86, 0x1060e81c, 0x0000e800, 0x0a00141c, 0x0000e283,
- 0x875bfb7f, 0x00008900, 0x08040080, 0x00001900, 0x00003ef3, 0x00007009,
- 0x00010880, 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280,
- 0x81000800, 0x0000e1f1, 0x811bfb7f, 0x00004970, 0xc75bfb7f, 0x00001970,
- 0x4141057c, 0x0000e283, 0x0ec00000, 0x00000980, 0x0f800000, 0x0000e180,
- 0x0000383b, 0x0000e106, 0x0e006000, 0x00007900, 0x00008000, 0x00000980,
- 0x0e580800, 0x00007900, 0x00004080, 0x00008980, 0x0f400000, 0x00007900,
- 0x00004040, 0x00008980, 0x001070ec, 0x0000d780, 0x00004800, 0x00008080,
- 0xc000383b, 0x00006006, 0x08003a3e, 0x0000b106, 0x00003f69, 0x0000f410,
- 0x0e800706, 0x000003b0, 0x0fc00000, 0x00006180, 0x8e401800, 0x0000c989,
- 0x757946ec, 0x0000a180, 0x08003a2a, 0x00006906, 0x0fd15030, 0x0000e904,
- 0xffffffff, 0x00007f86, 0x0a000828, 0x00009080, 0x757946ec, 0x00002980,
- 0x0a000c2a, 0x00001283, 0x75b94030, 0x0000a188, 0x00003f2b, 0x0000f011,
- 0xffffffff, 0x00007f86, 0x80194294, 0x00009502, 0x00003ffc, 0x0000705b,
- 0x80000228, 0x00009582, 0x00003f31, 0x0000f00b, 0x08003a05, 0x00006106,
- 0x08001a09, 0x0000b106, 0x01c00000, 0x00007900, 0x00004040, 0x00008980,
- 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03088000, 0x0000f900,
- 0x002b8ee2, 0x00008980, 0x03400000, 0x0000e180, 0x08003008, 0x0000e206,
- 0x82600500, 0x00008026, 0x3f21109e, 0x0000f500, 0x02801702, 0x0000009d,
- 0x01902a05, 0x00009900, 0x757956ec, 0x0000a100, 0xffffffff, 0x00007fa7,
- 0x0a00082a, 0x00001080, 0x757946ec, 0x0000a900, 0x0a000002, 0x00009980,
- 0xca280500, 0x00009900, 0x770000ec, 0x00005680, 0x00394000, 0x00008000,
- 0x00c002ec, 0x0000df80, 0x13d9580b, 0x00009684, 0x75b94030, 0x0000a100,
- 0xffffffff, 0x00007fa7, 0x80194294, 0x00009502, 0x00003f21, 0x0000705b,
- 0x80000228, 0x00009582, 0x00003f13, 0x0000f013, 0x80000604, 0x00001583,
- 0x00003f92, 0x0000f013, 0x4140357c, 0x00009283, 0x0000400d, 0x0000700b,
- 0x13c00000, 0x0000e180, 0x0d83e42a, 0x0000e000, 0x0000042a, 0x0000e583,
- 0x0000184f, 0x0000a106, 0x13001000, 0x0000f900, 0x00020000, 0x00000980,
- 0x13683800, 0x00007900, 0x000440c0, 0x00008980, 0x00003f47, 0x0000f208,
- 0x13801002, 0x0000e100, 0xc000184f, 0x0000e006, 0x4140457c, 0x0000e283,
- 0xd0000853, 0x0000a402, 0x99bbe77c, 0x0000e101, 0x20000853, 0x00006401,
- 0x1863ec7d, 0x00006100, 0xa0000853, 0x0000e410, 0xdaebed7d, 0x00009910,
- 0x80000604, 0x0000e583, 0x01801800, 0x00000981, 0x99502204, 0x0000e110,
- 0x40000852, 0x0000e413, 0x80000604, 0x00001583, 0x000098ec, 0x00005780,
- 0x00005802, 0x00008080, 0x00003f5e, 0x00007009, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x01c00c7c, 0x00009283, 0x9e911222, 0x00006110,
- 0x00000074, 0x0000e411, 0xa3000000, 0x0000e190, 0x1000008b, 0x0000e413,
- 0x00003f9c, 0x00007008, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188,
- 0x000918ec, 0x0000d780, 0x00005000, 0x00008080, 0xe2c00000, 0x0000e181,
- 0x21812024, 0x00004900, 0x21392c04, 0x0000081c, 0x40c03408, 0x000082ea,
- 0x01a0342a, 0x00001101, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x00400000, 0x00007900, 0x00048010, 0x00000980, 0xc0004800, 0x0000e181,
- 0x0aa02c06, 0x00004101, 0x8061542a, 0x00001901, 0x008806ec, 0x00005f80,
- 0x00884880, 0x00000484, 0x000880ec, 0x0000d780, 0x00d87980, 0x000080c8,
- 0x26c80005, 0x00006180, 0x23800000, 0x00004980, 0x23080000, 0x00006180,
- 0x10004001, 0x0000c980, 0x26800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x1e009000, 0x0000f900, 0x00012040, 0x00000980, 0x1e401000, 0x0000f900,
- 0x0001c008, 0x00008980, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188,
- 0x0f83e48c, 0x00006000, 0x08003b8c, 0x00003106, 0x10400002, 0x000084c8,
- 0x10c00000, 0x000009e0, 0x26400000, 0x00006180, 0x21812024, 0x00004900,
- 0x21e45f25, 0x0000013c, 0x1d000824, 0x0000e180, 0x1d400000, 0x0000c980,
- 0x1d800000, 0x0000e180, 0x1deb00a0, 0x00004980, 0x1ec0000a, 0x00006180,
- 0x9e911a23, 0x0000c900, 0x1e800523, 0x000008bc, 0x80000604, 0x0000e583,
- 0x23401002, 0x00000900, 0x23a81494, 0x0000092c, 0x814010ec, 0x00005694,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008918ec, 0x0000d790,
- 0x00005000, 0x00008080, 0xffffffff, 0x00007f97, 0x000918ec, 0x00005788,
- 0x00005000, 0x00008080, 0x0340357c, 0x0000788e, 0xaa000000, 0x00001f89,
- 0x26c80005, 0x00006180, 0x10004001, 0x0000c980, 0x26800000, 0x0000f900,
- 0x00207fc0, 0x00008980, 0x000880ec, 0x0000d780, 0x00d87980, 0x000080c8,
- 0x10400002, 0x000084c8, 0x00003f33, 0x00007400, 0x10c00000, 0x000009e0,
- 0x26c00502, 0x000089a4, 0x1d000824, 0x0000e180, 0x1000008b, 0x00006403,
- 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188, 0x1e009000, 0x0000f900,
- 0x00012040, 0x00000980, 0x1e401000, 0x0000f900, 0x0001c008, 0x00008980,
- 0x000918ec, 0x0000d780, 0x00005000, 0x00008080, 0x1d400000, 0x000007d8,
- 0x1deb00a0, 0x00006180, 0x1ec0000a, 0x00004980, 0x1ea91422, 0x00008728,
- 0x23000000, 0x000088f8, 0x23c00000, 0x0000e180, 0x23401002, 0x0000c900,
- 0x00003f5e, 0x0000f400, 0x21b92f24, 0x0000081c, 0xe2c00000, 0x0000e181,
- 0xa1102204, 0x00004900, 0x757822ec, 0x0000a180, 0xffffffff, 0x00007fa7,
- 0x0a800804, 0x00009080, 0x757952ec, 0x00002980, 0x08003a04, 0x00006906,
- 0x0a402000, 0x0000f900, 0x00140000, 0x00008980, 0x04102029, 0x0000e901,
- 0x80394aec, 0x0000d600, 0x00000001, 0x00000080, 0x800142ec, 0x0000f902,
- 0x0a400000, 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000, 0x00000600,
- 0x800162ec, 0x00007902, 0x0b400000, 0x00000600, 0x800172ec, 0x0000f902,
- 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86, 0x00295c31, 0x00009503,
- 0x00215c30, 0x00009503, 0xffffffff, 0x00007f86, 0x00003fc9, 0x00007010,
- 0x00003ebc, 0x00007008, 0x01000002, 0x00001980, 0xc1280500, 0x00001900,
- 0x770000ec, 0x00005680, 0x00382000, 0x00000000, 0x00c002ec, 0x0000df80,
- 0x13dda80b, 0x00001684, 0x757942ec, 0x0000a100, 0x0a402000, 0x0000f900,
- 0x00180000, 0x00008980, 0x04115029, 0x0000e901, 0xffffffff, 0x00007f86,
- 0x0a000828, 0x00009080, 0x757942ec, 0x00002900, 0x80394aec, 0x0000d600,
- 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600,
- 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902,
- 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600,
- 0xc0202731, 0x00009503, 0x0000405b, 0x0000700b, 0x01000002, 0x00006180,
- 0x08003a29, 0x0000e106, 0xc1280500, 0x00001900, 0x770000ec, 0x00005680,
- 0x00382000, 0x00000000, 0x00c002ec, 0x0000df80, 0x13df480b, 0x00001684,
- 0x08003a2c, 0x00006906, 0x0a002000, 0x00007900, 0x00180000, 0x00008980,
- 0x04116028, 0x00006901, 0x803942ec, 0x00005600, 0x00000000, 0x00000280,
- 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec, 0x00007902,
- 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600,
- 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600, 0x61602229, 0x0000a101,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x16e02731, 0x0000f80a,
- 0x12000000, 0x00001f8f, 0x757956ec, 0x0000a100, 0xffffffff, 0x00007fa7,
- 0x0a00082a, 0x00001080, 0x757946ec, 0x0000a900, 0x0a000002, 0x00009980,
- 0xca280500, 0x00009900, 0x770000ec, 0x00005680, 0x00394000, 0x00008000,
- 0x00c002ec, 0x0000df80, 0x1400300b, 0x00001684, 0x75b94030, 0x00002180,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xff914194, 0x00004459,
- 0x26600228, 0x00000f96, 0xe4800604, 0x00007893, 0x99c00000, 0x00001f89,
- 0x01800000, 0x00009981, 0xd7800604, 0x0000788b, 0x79c00000, 0x00009f8a,
- 0x401146a6, 0x00007100, 0x0ec00000, 0x000003f8, 0x0000383b, 0x0000e106,
- 0x08003a3e, 0x0000b106, 0x0e006000, 0x00007900, 0x00008000, 0x00000980,
- 0x0e580800, 0x00007900, 0x000041c0, 0x00008980, 0x0f400000, 0x00007900,
- 0x00004040, 0x00008980, 0x001070ec, 0x0000d780, 0x00004800, 0x00008080,
- 0x0e803006, 0x0000e100, 0xc000383b, 0x00006006, 0x0fc00000, 0x000003f0,
- 0x0340357c, 0x0000788e, 0xaa000000, 0x00001f89, 0x4100257c, 0x00009283,
- 0x14000000, 0x0000e190, 0x14400000, 0x00004990, 0x14800000, 0x00006190,
- 0x14c00000, 0x0000c990, 0x0000405d, 0x00007008, 0x15000000, 0x000085d4,
- 0x15800000, 0x000085dc, 0x16000000, 0x000085e4, 0x16800000, 0x000085ec,
- 0x17000000, 0x000085f4, 0x17800000, 0x000085fc, 0x18000000, 0x000086c4,
- 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
- 0x1a000000, 0x000086e4, 0x1ac00000, 0x000086e8, 0x0400e41c, 0x00007896,
- 0x4a000000, 0x00009f85, 0x00196028, 0x00006502, 0x01000f31, 0x00000081,
- 0x6178322a, 0x00005100, 0x00302000, 0x00000001, 0x61595a2a, 0x00002901,
- 0x00003ebc, 0x00007008, 0x8a59632c, 0x0000e100, 0x08003a2a, 0x0000e106,
- 0x61794229, 0x00002180, 0x25400000, 0x000009cc, 0x25400f31, 0x0000e081,
- 0xe5501202, 0x00000900, 0x00003893, 0x00006106, 0x86c3e095, 0x00003000,
- 0x00014006, 0x0000e502, 0x25800000, 0x00008980, 0x0a0728e5, 0x00006108,
- 0xc0003893, 0x0000e006, 0x2400e000, 0x00007900, 0x0000a340, 0x00000980,
- 0x61794229, 0x0000a980, 0x6161422a, 0x0000a100, 0x24401000, 0x0000f900,
- 0x0001c000, 0x00000980, 0x97401895, 0x00006006, 0x08001a96, 0x0000b106,
- 0x24800706, 0x0000099c, 0x8c000a28, 0x00006080, 0xe518e31c, 0x00008900,
- 0x6161822a, 0x00002900, 0xa5114228, 0x00009900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009120ec, 0x0000d780,
- 0x00006000, 0x00008080, 0xb780141c, 0x0000f88f, 0xb9c00000, 0x00009f86,
- 0x00003eb3, 0x00007200, 0x61618a2a, 0x0000a101, 0x0400e41c, 0x00007896,
- 0x4a000000, 0x00009f85, 0x80000228, 0x00009582, 0x700000ec, 0x00005690,
- 0x00000040, 0x00000080, 0x0a400000, 0x00006190, 0x0b000001, 0x0000c990,
- 0x00004069, 0x0000f008, 0x0413f029, 0x00006187, 0x0021402c, 0x00003102,
- 0x703960ec, 0x00005600, 0x00394800, 0x00000000, 0xc0000328, 0x00009582,
- 0x0e006000, 0x0000f910, 0x00008000, 0x00000980, 0x0e580800, 0x0000f910,
- 0x00004000, 0x00000980, 0x0000407b, 0x0000f008, 0x0ec00000, 0x000003f8,
- 0x0000383b, 0x0000e106, 0x08003a3e, 0x0000b106, 0x0f400000, 0x00007900,
- 0x00004042, 0x00000980, 0x001070ec, 0x0000d780, 0x00004800, 0x00008080,
- 0x8e714628, 0x0000e101, 0xc000383b, 0x00006006, 0x0000407b, 0x0000f400,
- 0x0e800706, 0x000003b0, 0x0fc00000, 0x00001980, 0x00000001, 0x0000f080,
- 0x4142057c, 0x00001283, 0x000040b4, 0x0000f013, 0x0a00447c, 0x00001283,
- 0x8ac00000, 0x00006190, 0x0a800000, 0x0000c991, 0x0a801000, 0x00006189,
- 0x8ad45a8b, 0x0000c908, 0x000040b9, 0x00007010, 0x000040b9, 0x0000f000,
- 0x4087405f, 0x0000f300, 0x0a000840, 0x00001980, 0x4140357c, 0x00009283,
- 0x13c00000, 0x00006190, 0x0d83e406, 0x0000e010, 0x13001000, 0x00007910,
- 0x00020000, 0x00000980, 0x000040a2, 0x00007008, 0x00000406, 0x00006583,
- 0x0000184f, 0x0000a106, 0x13683800, 0x00007900, 0x000440c0, 0x00008980,
- 0x13801002, 0x0000e100, 0xc000184f, 0x0000e006, 0x0000409b, 0x00007008,
- 0x4140457c, 0x0000e283, 0xd0000853, 0x0000a402, 0x99bbe77c, 0x0000e101,
- 0x20000853, 0x00006401, 0x1863ec7d, 0x00006100, 0xa0000853, 0x0000e410,
- 0xdaebed7d, 0x00009910, 0x80000604, 0x0000e583, 0x01c01800, 0x00008981,
- 0x000040a3, 0x0000f400, 0x000098ec, 0x00005780, 0x00005802, 0x00008080,
- 0x99502204, 0x0000e110, 0x40000852, 0x0000e413, 0x01c00000, 0x00001981,
- 0x00216804, 0x00006886, 0x82215004, 0x0000e886, 0x40a84631, 0x0000f500,
- 0x04115804, 0x0000e987, 0x01802004, 0x00009900, 0x81200006, 0x00000ffd,
- 0xc0c04000, 0x0000e180, 0x01203c04, 0x00004101, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00048010, 0x00000980,
- 0xc0004800, 0x0000e181, 0x01202c04, 0x0000c101, 0x80602404, 0x00001901,
- 0x008806ec, 0x00005f80, 0x00884880, 0x00000484, 0x4140857c, 0x00001283,
- 0x8ad43286, 0x00009910, 0x8ad42284, 0x00009908, 0x000040b8, 0x0000f010,
- 0x0a800800, 0x00009981, 0x1b000007, 0x000006f4, 0x1c2c5800, 0x00007900,
- 0x00138fb6, 0x00000980, 0x1c6e7800, 0x0000f900, 0x0003be40, 0x00000980,
- 0x408510d5, 0x0000f500, 0x9b996e2b, 0x00008632, 0xdb21542a, 0x00009900,
- 0x4100157c, 0x00006283, 0x01400000, 0x00000981, 0x000042ab, 0x0000f00b,
- 0x40c50e1b, 0x00007100, 0x40000505, 0x00009583, 0x084738e7, 0x00001910,
- 0x000040c8, 0x0000f009, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc,
- 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4,
- 0x1ac00000, 0x000086e8, 0x0100e41c, 0x00009283, 0x0100141c, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00004294, 0x0000f010, 0x000040da, 0x00007008,
- 0x00010820, 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280,
- 0x81000800, 0x0000e1f1, 0x8110ea1d, 0x00004970, 0x000040db, 0x00007270,
- 0xc750ea1d, 0x00001970, 0x41000000, 0x000080d3, 0x0a00147c, 0x00001283,
- 0x0a00141c, 0x00001283, 0xffffffff, 0x00007f86, 0x000040ea, 0x00007008,
- 0x000041d8, 0x00007008, 0x0a00141c, 0x0000e283, 0x875bfb7f, 0x00008900,
- 0x08040080, 0x00001900, 0x000040ea, 0x0000f009, 0x00010880, 0x00009502,
- 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280, 0x81000800, 0x0000e1f1,
- 0x811bfb7f, 0x00004970, 0xc75bfb7f, 0x00001970, 0x08003028, 0x0000ea06,
- 0x0a3ff828, 0x00007900, 0x000000fe, 0x00008280, 0x0a33ee7d, 0x0000e100,
- 0x0a804028, 0x0000c880, 0x0a33e82a, 0x00009302, 0x08003a28, 0x00006916,
- 0x0b514228, 0x00001910, 0x000041de, 0x00007008, 0x61415228, 0x00007902,
- 0x0e300000, 0x00008101, 0x61614a28, 0x00002101, 0xffffffff, 0x00007f97,
- 0x0000302a, 0x00009502, 0x00398c38, 0x00009503, 0xffffffff, 0x00007f86,
- 0x00004266, 0x00007010, 0x00004229, 0x0000f010, 0x61514a28, 0x00002102,
- 0xffffffff, 0x00007f86, 0x00295c38, 0x00009503, 0x0a802000, 0x00007910,
- 0x00140000, 0x00008980, 0x0a400c29, 0x00009081, 0x0000412e, 0x0000f208,
- 0x61594a28, 0x00002901, 0x757944ec, 0x00002180, 0xffffffff, 0x00007fa7,
- 0x0a000828, 0x00009080, 0x757944ec, 0x0000a980, 0x08003a28, 0x0000e906,
- 0x0411402a, 0x00006901, 0x803952ec, 0x0000d600, 0x00000001, 0x00000080,
- 0x800142ec, 0x0000f902, 0x0a400000, 0x00008600, 0x800152ec, 0x00007902,
- 0x0ac00000, 0x00000600, 0x800162ec, 0x00007902, 0x0b400000, 0x00000600,
- 0x800172ec, 0x0000f902, 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86,
- 0x00295c38, 0x00009503, 0x0000412e, 0x0000700b, 0x0a000002, 0x00009980,
- 0xca280500, 0x00009900, 0x770000ec, 0x00005680, 0x00394000, 0x00008000,
- 0x00c002ec, 0x0000df80, 0x1408e80b, 0x00009684, 0x08003a28, 0x0000e906,
- 0x0a802000, 0x0000f900, 0x00140000, 0x00008980, 0x0411402a, 0x00006901,
- 0x803952ec, 0x0000d600, 0x00000001, 0x00000080, 0x800142ec, 0x0000f902,
- 0x0a400000, 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000, 0x00000600,
- 0x800162ec, 0x00007902, 0x0b400000, 0x00000600, 0x800172ec, 0x0000f902,
- 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86, 0x00295c38, 0x00009503,
- 0x00004117, 0x00007013, 0x0b44127f, 0x0000e002, 0x0ec1842a, 0x0000a004,
- 0x0a000083, 0x0000e084, 0x0c015c29, 0x0000a000, 0x53600429, 0x00004490,
- 0x3a801c2a, 0x000090b5, 0x0000342a, 0x00007890, 0x00000000, 0x00000000,
- 0x9d040530, 0x0000788e, 0x02000001, 0x00000060, 0x9599831c, 0x00007812,
- 0x02000001, 0x00000000, 0x53314d7d, 0x0000c412, 0x98820531, 0x00001092,
- 0x00041835, 0x0000781a, 0x00000000, 0x00000000, 0x00041835, 0x00007810,
- 0x00000000, 0x00000000, 0x00041034, 0x0000f830, 0x00000000, 0x00008020,
- 0xa3410531, 0x0000f896, 0x02000001, 0x00000060, 0x4f214733, 0x0000c428,
- 0x98814733, 0x00001012, 0x00c16f32, 0x0000c723, 0x93210531, 0x0000948b,
- 0x4f214733, 0x0000c428, 0x98814733, 0x00001012, 0x9e416832, 0x0000782a,
- 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x0a00447c, 0x00001283,
- 0x0a001000, 0x00009989, 0x0a004000, 0x00009991, 0x00004151, 0x0000f008,
- 0x0a298428, 0x00009203, 0x41420531, 0x00001283, 0xffffffff, 0x00007f86,
- 0x0000429f, 0x00007008, 0x000041e0, 0x0000f010, 0x41410531, 0x0000e283,
- 0x0c018c28, 0x00002080, 0x0a006428, 0x00006080, 0x0a81a835, 0x00000908,
- 0x0a800000, 0x00006190, 0x0b0147e4, 0x00004800, 0x0a01a034, 0x00006108,
- 0x0a000000, 0x0000c990, 0x0a417082, 0x00006002, 0x25800000, 0x00008980,
- 0x0b817883, 0x0000e004, 0x0c418c2b, 0x00002000, 0x0b414029, 0x0000e102,
- 0x00018896, 0x0000a106, 0x0a00082c, 0x00006180, 0x25400000, 0x00008980,
- 0x0a416828, 0x00006200, 0x0b81502e, 0x00008104, 0x0a014a7f, 0x0000e000,
- 0x00018896, 0x00002081, 0x0001402c, 0x00006502, 0x04018095, 0x00002081,
- 0x24800000, 0x00007900, 0x00307fc0, 0x00000980, 0x24c80005, 0x0000e180,
- 0x0ac0942b, 0x00004880, 0x2401b036, 0x0000e100, 0x82c18096, 0x0000e001,
- 0x24796f37, 0x00008910, 0x000042be, 0x00007428, 0x2561742e, 0x00006101,
- 0xa493fa7f, 0x00004920, 0xe4d81302, 0x0000e100, 0x25c0302b, 0x00004300,
- 0x0a800800, 0x00009981, 0x0a400c7c, 0x00009283, 0x0a400800, 0x0000e190,
- 0x0a000c2a, 0x0000c881, 0x0a400000, 0x00001988, 0x00004180, 0x0000f010,
- 0x80000604, 0x00001583, 0x0a400800, 0x00009990, 0x001070ec, 0x0000d780,
- 0x00004800, 0x00008080, 0x0ec00000, 0x0000e180, 0x0e803006, 0x0000c900,
- 0x81812000, 0x0000e180, 0x0000383b, 0x0000e106, 0x000880ec, 0x0000d780,
- 0x00007800, 0x00008080, 0x100c0001, 0x00006180, 0x10400000, 0x00004980,
- 0x10800001, 0x000004cc, 0x0f800000, 0x0000e180, 0x41800c2a, 0x00004881,
- 0x0e006000, 0x00007900, 0x00008000, 0x00000980, 0x0e580800, 0x00007900,
- 0x00004080, 0x00008980, 0x0f400000, 0x00007900, 0x00004042, 0x00000980,
- 0xc000383b, 0x00006006, 0x30e14840, 0x0000b000, 0x0f000000, 0x00006180,
- 0x08003a3e, 0x0000e106, 0x003030ec, 0x0000d702, 0x00007800, 0x00008080,
- 0x4140857c, 0x0000e283, 0x0fc00000, 0x00008980, 0x10400c28, 0x00006081,
- 0xd053fa7f, 0x00000900, 0x90ebf17e, 0x00008408, 0x01800c7c, 0x00001283,
- 0xffffffff, 0x00007f86, 0x0000427b, 0x00007010, 0x000041ec, 0x0000f010,
- 0x4140357c, 0x00009283, 0x000042a8, 0x0000f00b, 0x13c00000, 0x0000e180,
- 0x0d83e428, 0x00006000, 0x00000428, 0x00006583, 0x0000184f, 0x0000a106,
- 0x13001000, 0x0000f900, 0x00020000, 0x00000980, 0x13683800, 0x00007900,
- 0x000440c0, 0x00008980, 0x000041b6, 0x00007208, 0x13801002, 0x0000e100,
- 0xc000184f, 0x0000e006, 0x4140457c, 0x0000e283, 0xd0000853, 0x0000a402,
- 0x99bbe77c, 0x0000e101, 0x20000853, 0x00006401, 0x1863ec7d, 0x00006100,
- 0xa0000853, 0x0000e410, 0xdaebed7d, 0x00009910, 0x80000604, 0x0000e583,
- 0x01801800, 0x00000981, 0x99502204, 0x0000e110, 0x40000852, 0x0000e413,
- 0x80000604, 0x00001583, 0x000098ec, 0x00005780, 0x00005802, 0x00008080,
- 0x000041cd, 0x00007009, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x01c00c7c, 0x00009283, 0x9e911222, 0x00006110, 0x00000074, 0x0000e411,
- 0xa3000000, 0x0000e190, 0x1000008b, 0x0000e413, 0x0000420b, 0x0000f008,
- 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188, 0x000918ec, 0x0000d780,
- 0x00005000, 0x00008080, 0xe2c00000, 0x0000e181, 0x21812024, 0x00004900,
- 0x21392c04, 0x0000081c, 0x40c03408, 0x000002e2, 0x01a03428, 0x00009101,
- 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
- 0x00048010, 0x00000980, 0xc0004800, 0x0000e181, 0x0a202c06, 0x0000c101,
- 0x80614428, 0x00001901, 0x008806ec, 0x00005f80, 0x00884880, 0x00000484,
- 0x801bfa1d, 0x00006502, 0x87400000, 0x00000980, 0x87400800, 0x00009990,
- 0x000040e0, 0x00007400, 0xffffffff, 0x00007f86, 0x1060e81c, 0x0000e800,
- 0x0a000c1c, 0x00001283, 0x00004220, 0x0000f00b, 0x24800000, 0x00007900,
- 0x00307fc0, 0x00000980, 0x24c80005, 0x0000e180, 0x25000000, 0x0000c980,
- 0x25800000, 0x0000f900, 0x00020000, 0x00000980, 0x25400000, 0x000089dc,
- 0x243c1f82, 0x00000904, 0x00004179, 0x0000f400, 0x0a800800, 0x0000e181,
- 0xa493fa7f, 0x0000c900, 0xe4d81302, 0x00009900, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x23000000, 0x0000e180, 0x87d45a8b, 0x0000c900,
- 0x1e009000, 0x0000f900, 0x00012040, 0x00000980, 0x1e401000, 0x0000f900,
- 0x0001c008, 0x00008980, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188,
- 0x21812024, 0x00006100, 0x0f83e48c, 0x00006000, 0x21c12825, 0x0000e100,
- 0x1d000824, 0x0000c980, 0x1d400000, 0x000007d8, 0x1deb00a0, 0x00006180,
- 0x1ec0000a, 0x00004980, 0x1ea91c23, 0x00008728, 0x23800000, 0x000088fc,
- 0x80000604, 0x0000e583, 0x23401002, 0x00000900, 0x814010ec, 0x00005694,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008918ec, 0x0000d790,
- 0x00005000, 0x00008080, 0xffffffff, 0x00007f97, 0x000918ec, 0x00005788,
- 0x00005000, 0x00008080, 0xaa00357c, 0x0000f88e, 0x22000000, 0x0000a08d,
- 0x1d000824, 0x0000e180, 0x1000008b, 0x00006403, 0x0010e8ec, 0x00005780,
- 0x00905040, 0x00000188, 0x1e009000, 0x0000f900, 0x00012040, 0x00000980,
- 0x1e401000, 0x0000f900, 0x0001c008, 0x00008980, 0x000918ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x1d400000, 0x000007d8, 0x1deb00a0, 0x00006180,
- 0x1ec0000a, 0x00004980, 0x1ea91422, 0x00008728, 0x23000000, 0x000088f8,
- 0x23c00000, 0x0000e180, 0x23401002, 0x0000c900, 0x000041cd, 0x0000f400,
- 0x21b92f24, 0x0000081c, 0xe2c00000, 0x0000e181, 0xa1102204, 0x00004900,
- 0x4142057c, 0x00001283, 0x0a00e000, 0x00009991, 0x00004226, 0x00007011,
- 0x0a00447c, 0x00001283, 0x0a003000, 0x00006189, 0x0a00a000, 0x00004991,
- 0x4229407c, 0x00007500, 0xffffffff, 0x00007f86, 0x0b614428, 0x00009900,
- 0x757954ec, 0x00002100, 0x0b002000, 0x0000f900, 0x00180000, 0x00008980,
- 0x0411402c, 0x00006901, 0xffffffff, 0x00007f86, 0x0a80082a, 0x00009080,
- 0x757954ec, 0x0000a900, 0x803962ec, 0x0000d600, 0x00000000, 0x00000280,
- 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec, 0x00007902,
- 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600,
- 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600, 0xc0214f31, 0x00009503,
- 0x00004292, 0x0000f00b, 0x0a800002, 0x00006180, 0x08003a2d, 0x00006106,
- 0xcaa80500, 0x00001900, 0x770000ec, 0x00005680, 0x00395000, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x1412180b, 0x00001684, 0x08003a29, 0x00006906,
- 0x0b002000, 0x0000f900, 0x00180000, 0x00008980, 0x0411482c, 0x0000e901,
- 0x803962ec, 0x0000d600, 0x00000000, 0x00000280, 0x800182ec, 0x0000f902,
- 0x0c400000, 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600,
- 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902,
- 0x0dc00000, 0x00008600, 0x61614a2d, 0x00002101, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0xa4a14f31, 0x0000780a, 0xe2000000, 0x00002181,
- 0x0a004000, 0x00001981, 0x51e2057c, 0x0000c396, 0x0080447c, 0x00000088,
- 0x65c04428, 0x0000c298, 0xc2803c28, 0x000010a4, 0x63004c28, 0x00004690,
- 0x64804428, 0x0000109e, 0xca003c28, 0x0000f8a2, 0x1a000000, 0x0000a188,
- 0xcc004c28, 0x0000788a, 0x52000000, 0x00002189, 0x00003428, 0x00009583,
- 0x0a00c800, 0x00009989, 0x0000431b, 0x00007011, 0x0b614428, 0x00009900,
- 0x4266407c, 0x00007100, 0x0019602d, 0x00006502, 0x0a400c2b, 0x00008081,
- 0x61783228, 0x0000d100, 0x00118800, 0x00008001, 0x61594a28, 0x00002901,
- 0x0000412e, 0x00007008, 0x8a19632c, 0x00001900, 0x61796228, 0x00002180,
- 0xffffffff, 0x00007fa7, 0x00016006, 0x00009502, 0x0b0728e5, 0x00009908,
- 0x0000412e, 0x00007400, 0xffffffff, 0x00007f86, 0x61796228, 0x0000a980,
- 0x4e998202, 0x0000f80a, 0x02000001, 0x00008080, 0x0a003800, 0x00001981,
- 0xffffffff, 0x00007f86, 0x00004257, 0x00007000, 0x00004257, 0x0000f200,
- 0x0a005800, 0x00001981, 0x10400c41, 0x00006081, 0x80001040, 0x00002404,
- 0x80000604, 0x00001583, 0x814010ec, 0x00005694, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008908ec, 0x00005790, 0x00007800, 0x00008080,
- 0x01800000, 0x00001980, 0x0413f006, 0x00006987, 0x000908ec, 0x0000d788,
- 0x00007800, 0x00008080, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080,
- 0x700008ec, 0x00005680, 0x00383002, 0x00000000, 0x7b000c7c, 0x0000f896,
- 0x12000000, 0x0000a08d, 0x00004257, 0x0000f200, 0x0a005000, 0x00009981,
- 0x00004265, 0x00007400, 0x0a00e000, 0x00001981, 0x0b614428, 0x00009900,
- 0x000040fc, 0x0000f200, 0x6161c228, 0x00002101, 0x4296405f, 0x00007300,
- 0x0a000840, 0x00001980, 0x429746a6, 0x00007100, 0xaa00357c, 0x0000f88e,
- 0x22000000, 0x0000a08d, 0x00004257, 0x0000f200, 0x0a004800, 0x00009981,
- 0x00004257, 0x0000f200, 0x0a002800, 0x00009981, 0x00004257, 0x0000f200,
- 0x0a003000, 0x00009981, 0x4142057c, 0x00001283, 0x0a00e000, 0x00009991,
- 0x000042a5, 0x0000f011, 0x0a00447c, 0x00001283, 0x0a003000, 0x00006189,
- 0x0a00a000, 0x00004991, 0x42a8407c, 0x00007500, 0xffffffff, 0x00007f86,
- 0x0b614428, 0x00009900, 0x01800000, 0x00009981, 0x73400604, 0x0000788a,
- 0xf2000000, 0x0000208d, 0x4100257c, 0x00009283, 0x14000000, 0x0000e190,
- 0x14400000, 0x00004990, 0x14800000, 0x00006190, 0x14c00000, 0x0000c990,
- 0x000040ce, 0x00007008, 0x15000000, 0x000085d4, 0x15800000, 0x000085dc,
- 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x17000000, 0x000085f4,
- 0x17800000, 0x000085fc, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc,
- 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x000040ce, 0x00007400,
- 0x1a000000, 0x000086e4, 0x1ac00000, 0x000086e8, 0x8a114a2c, 0x00006100,
- 0x27800000, 0x00000980, 0x0b416a28, 0x00006002, 0x8a91427f, 0x00000100,
- 0x27400000, 0x0000e180, 0x0001889e, 0x0000e106, 0x0b80002e, 0x00006084,
- 0x0001889e, 0x0000a081, 0x0011502c, 0x00006502, 0x0401809d, 0x0000a081,
- 0x26800000, 0x0000f900, 0x00307fc0, 0x00000980, 0x26c80005, 0x00006180,
- 0xd0000093, 0x00006400, 0xa4914a2c, 0x0000e100, 0x82c1809e, 0x0000a001,
- 0x2639bf36, 0x00000924, 0x27c0302b, 0x00006300, 0x2701682d, 0x00000900,
- 0x00004179, 0x00007420, 0x0a801000, 0x000061a1, 0x2761742e, 0x0000c901,
- 0xa691427f, 0x00006120, 0xe6d81302, 0x00008900, 0x0a17282c, 0x00006200,
- 0x8a51622a, 0x00008100, 0x0b41402d, 0x0000e002, 0x29800000, 0x00008980,
- 0x29400000, 0x00006180, 0x000188a6, 0x00006106, 0x0b80002e, 0x00006084,
- 0x000188a6, 0x00002081, 0x0011482c, 0x00006502, 0x040180a5, 0x00002081,
- 0x28800000, 0x00007900, 0x00307fc0, 0x00000980, 0x28c80005, 0x0000e180,
- 0xd000009b, 0x0000e400, 0xa691622c, 0x00006100, 0x82c180a6, 0x0000e001,
- 0x2839bf36, 0x00000a04, 0x29c0302b, 0x0000e300, 0x2901682d, 0x00008900,
- 0x00004179, 0x00007420, 0x2961742e, 0x00006101, 0xa891622a, 0x0000c120,
- 0xe8d81302, 0x0000e100, 0x0a801800, 0x0000c9a1, 0x0a01402d, 0x0000e002,
- 0x2b800000, 0x00000980, 0x2b400000, 0x0000e180, 0x000188ae, 0x0000e106,
- 0x2a800000, 0x0000f900, 0x00307fc0, 0x00000980, 0x000188ae, 0x00006081,
- 0x040180ad, 0x00003081, 0x2ac80005, 0x00006180, 0x0a80002e, 0x00004084,
- 0x82c180ae, 0x00006001, 0xd00000a3, 0x00003400, 0x28b9b42c, 0x00008a20,
- 0x2a41b837, 0x0000e100, 0x2bc0302b, 0x0000c300, 0x2b014028, 0x0000e100,
- 0xaa916229, 0x0000c100, 0x00004179, 0x0000f400, 0x2ac15502, 0x00000a34,
- 0x0a802000, 0x00009981, 0x000040ce, 0x0000f000, 0x00003428, 0x00009583,
- 0x0a002000, 0x00009989, 0x00004264, 0x00007009, 0x0c83e407, 0x00006000,
- 0x0f43e404, 0x00003000, 0x01c08407, 0x0000e080, 0x01a14428, 0x0000c900,
- 0x01403c04, 0x0000e300, 0x03400000, 0x00000980, 0x01c00020, 0x00001980,
- 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03367000, 0x00007900,
- 0x0005388e, 0x00000980, 0x81c01000, 0x00009980, 0xc1c00800, 0x0000e181,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x4318109e, 0x00007500,
- 0x02b83702, 0x00000020, 0x01802805, 0x00009900, 0x00005c28, 0x00001583,
- 0x0a009800, 0x000019b1, 0x00004264, 0x0000f031, 0x0c83e407, 0x00006000,
- 0x0f43e404, 0x00003000, 0x01c08407, 0x0000e080, 0x01a14428, 0x0000c900,
- 0x01403c04, 0x0000e300, 0x03400000, 0x00000980, 0x01c00020, 0x00001980,
- 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x00004312, 0x0000f400,
- 0x032b0000, 0x0000f900, 0x003edf80, 0x00000980, 0x81c01000, 0x00009980,
- 0x00004264, 0x0000f200, 0x0a003000, 0x00009981, 0x00005c28, 0x00001583,
- 0x0a002800, 0x000099b1, 0x00004264, 0x0000f031, 0x00004306, 0x00007000,
- 0x00004264, 0x0000f200, 0x0a00a000, 0x00009981, 0x00004264, 0x0000f200,
- 0x0a004000, 0x00001981, 0x00004264, 0x0000f200, 0x0a00c000, 0x00009981,
- 0x00000001, 0x00007480, 0x1d000824, 0x0000e180, 0x1d400000, 0x0000c980,
- 0x1dea0020, 0x00006180, 0x1d800000, 0x0000c980, 0x80000280, 0x00001582,
- 0x10080001, 0x00006190, 0x10401000, 0x00004990, 0x10870800, 0x0000e190,
- 0x10c00000, 0x00004990, 0x00004349, 0x00007008, 0x26800000, 0x0000f900,
- 0x00307fc0, 0x00000980, 0x26ca0005, 0x0000e180, 0xd0540280, 0x0000c900,
- 0x000880ec, 0x0000d780, 0x00d87980, 0x000080c8, 0x90ac0181, 0x0000040c,
- 0x00000001, 0x00007480, 0x2678f71f, 0x00000920, 0x26e40502, 0x00000928,
- 0x81008681, 0x00001283, 0x700000ec, 0x00005690, 0x00000040, 0x00000080,
- 0x01000000, 0x00001990, 0x00000001, 0x00007088, 0x00000001, 0x00007480,
- 0x041c0004, 0x0000e987, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
- 0x81001681, 0x0000e283, 0x16000000, 0x00000980, 0x16400000, 0x000005e8,
- 0x16c00000, 0x000085f0, 0x17400000, 0x000005f8, 0x17c00000, 0x000006c0,
- 0x18400000, 0x000006c8, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8,
- 0x19c00000, 0x000006e0, 0x0000437b, 0x00007408, 0x1a400000, 0x000006e8,
- 0x81400000, 0x000006ec, 0x43600e1b, 0x00007100, 0x01000800, 0x00009981,
- 0x81020681, 0x00001283, 0x9afc0f81, 0x00006110, 0x80000853, 0x0000e412,
- 0x81004681, 0x0000e283, 0x01000800, 0x00008991, 0x01000800, 0x00006191,
- 0xa0000852, 0x0000e412, 0x81010681, 0x00001283, 0xd5a3f47e, 0x0000e111,
- 0x14020050, 0x00004390, 0x0000436f, 0x00007011, 0x00000c04, 0x00009583,
- 0x01800000, 0x00001991, 0x0000437a, 0x0000f011, 0x13c00000, 0x0000e180,
- 0x13801002, 0x0000c900, 0x01806405, 0x0000e081, 0x0000184f, 0x0000a106,
- 0x13001000, 0x0000f900, 0x00020000, 0x00000980, 0x13683800, 0x00007900,
- 0x00044300, 0x00008980, 0x000098ec, 0x00005780, 0x00005802, 0x00008080,
- 0xc000184f, 0x00006806, 0x43814339, 0x00007100, 0x81002681, 0x00001283,
- 0x01000000, 0x0000e189, 0x81400000, 0x0000c991, 0x41400800, 0x00001991,
- 0x00004361, 0x00007008, 0x43601063, 0x00007100, 0x81000e81, 0x00001283,
- 0x000043b1, 0x0000f00b, 0x00001482, 0x00001583, 0x07800000, 0x0000e188,
- 0x07c00000, 0x00004988, 0x80000280, 0x00001582, 0x00004390, 0x0000f00b,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x000880ec, 0x0000d780,
- 0x00d87fc0, 0x000080c0, 0x26c80005, 0x00006180, 0x10104001, 0x00004980,
- 0x26804000, 0x00007900, 0x00207fc0, 0x00008980, 0x000930ec, 0x0000d780,
- 0x00007800, 0x00008080, 0x10401900, 0x0000e180, 0x10800000, 0x00004980,
- 0x439e4334, 0x0000f500, 0x10c00000, 0x0000e180, 0x2644588b, 0x0000c900,
- 0x26fc5502, 0x00008920, 0x1ec00000, 0x000009f0, 0x0008e8ec, 0x00005780,
- 0x00005000, 0x00008080, 0x9e901202, 0x0000e100, 0x0000187b, 0x0000e106,
- 0x1e009000, 0x0000f900, 0x0000f140, 0x00008980, 0x1e400000, 0x00007900,
- 0x00010030, 0x00000980, 0x0010e8ec, 0x00005780, 0x009051c0, 0x00000188,
- 0xde981302, 0x00006100, 0xc000187b, 0x00006006, 0x27400000, 0x000009f8,
+ 0x00000404, 0x0000e583, 0x27800000, 0x00000980, 0x27000000, 0x000089f4,
0x27c00000, 0x00000ac0, 0x28400000, 0x00000ac8, 0x28c00000, 0x00006180,
- 0x27241482, 0x00004901, 0x672c1582, 0x00009901, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00048010, 0x00000980,
- 0x81204014, 0x000080cd, 0x80603404, 0x0000e101, 0xc0004800, 0x00000981,
- 0x008806ec, 0x00005f80, 0x00884880, 0x00000484, 0x16400000, 0x000005e8,
- 0x16c00000, 0x000085f0, 0x17400000, 0x000005f8, 0x17c00000, 0x000006c0,
- 0x18400000, 0x000006c8, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8,
- 0x19c00000, 0x000006e0, 0x43c51090, 0x0000f500, 0x1a400000, 0x000006e8,
- 0x1ac00000, 0x00009980, 0x13800702, 0x000004bc, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0xc0004800, 0x0000e181, 0x0000184f, 0x00006106,
- 0x13001000, 0x0000f900, 0x00020000, 0x00000980, 0x13683800, 0x00007900,
- 0x00044300, 0x00008980, 0x000098ec, 0x00005780, 0x00005802, 0x00008080,
- 0x00400000, 0x00007900, 0x00048210, 0x00008980, 0xc0c04000, 0x0000e180,
- 0xc000184f, 0x0000e006, 0x008806ec, 0x00005f80, 0x00884880, 0x00000484,
- 0x43d80b83, 0x00007300, 0x8bc04008, 0x000002e6, 0x00000c2a, 0x00006583,
- 0x18000000, 0x00008980, 0x18400000, 0x000006c8, 0x18c00000, 0x000086d0,
- 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x00004452, 0x0000f418,
- 0x1a400000, 0x000006e8, 0x1ac00000, 0x00009980, 0x80000607, 0x00001583,
- 0x0100141c, 0x00006283, 0x0841602c, 0x00008910, 0x000043ec, 0x0000700b,
- 0x00010820, 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280,
- 0x81800800, 0x000061f1, 0x8190ea1d, 0x0000c970, 0x000043ed, 0x00007270,
- 0xc750ea1d, 0x00001970, 0x41800000, 0x000080db, 0x7ec0147c, 0x0000c28e,
- 0xe280141c, 0x00001097, 0x02c00606, 0x0000f88b, 0x12000000, 0x0000a280,
- 0x801bfa1d, 0x00006502, 0x81000000, 0x00008980, 0x81000800, 0x00001990,
- 0xffffffff, 0x00007f86, 0x1060201c, 0x00006800, 0x0100141c, 0x00006283,
- 0x875bfb7f, 0x00008900, 0x08040080, 0x00001900, 0x00004400, 0x0000f009,
- 0x00010880, 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280,
- 0x81800800, 0x000061f1, 0x819bfb7f, 0x0000c970, 0xc75bfb7f, 0x00001970,
- 0x80000606, 0x00009583, 0x0000440b, 0x0000f00b, 0x26c80005, 0x00006180,
- 0x10004001, 0x0000c980, 0x26800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x000880ec, 0x0000d780, 0x00d87980, 0x000080c8, 0x10400002, 0x000084c8,
- 0x10c00000, 0x000009e0, 0x26c00502, 0x000089a4, 0x13c00000, 0x0000e180,
- 0x0d83e404, 0x0000e000, 0x00000404, 0x0000e583, 0x0000184f, 0x0000a106,
- 0x13001000, 0x0000f900, 0x00020000, 0x00000980, 0x13683800, 0x00007900,
- 0x000440c0, 0x00008980, 0x0000441d, 0x0000f208, 0x13801002, 0x0000e100,
- 0xc000184f, 0x0000e006, 0x4100457c, 0x00006283, 0xd0000853, 0x0000a402,
- 0x99bbe77c, 0x0000e101, 0x20000853, 0x00006401, 0x1863ec7d, 0x00006100,
- 0xa0000853, 0x0000e410, 0xdaebed7d, 0x00009910, 0x80000606, 0x00006583,
- 0x1bc00000, 0x00008980, 0x99503206, 0x0000e110, 0x40000852, 0x0000e413,
- 0x80000606, 0x00006583, 0x0000186f, 0x00002106, 0x000098ec, 0x00005780,
- 0x00005802, 0x00008080, 0x1b001000, 0x00007900, 0x00008000, 0x00000980,
- 0x1b580800, 0x0000f900, 0x00004090, 0x00000980, 0xc000186f, 0x00006006,
- 0xe0001071, 0x00003402, 0x1e009000, 0x0000f900, 0x00012040, 0x00000980,
- 0x1e401000, 0x0000f900, 0x0001c008, 0x00008980, 0x0010d8ec, 0x00005780,
- 0x00004000, 0x00000080, 0x1b801002, 0x00006100, 0x1d000824, 0x0000c980,
- 0x1d400000, 0x000007d8, 0x1deb00a0, 0x00006180, 0x1ec0000a, 0x00004980,
- 0x1ea91422, 0x00008728, 0x0000444b, 0x0000f408, 0x23000000, 0x000088f8,
- 0x23c00000, 0x0000e180, 0x23401002, 0x0000c900, 0x80000606, 0x00006583,
- 0x1000008b, 0x0000a403, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188,
- 0x000918ec, 0x0000d780, 0x00005000, 0x00008080, 0x0000444b, 0x0000f408,
- 0x21b92f24, 0x0000081c, 0x21200406, 0x000088af, 0x003fd800, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00048050, 0x00008980,
- 0xc0204409, 0x000000cd, 0x008806ec, 0x00005f80, 0x00884880, 0x00000484,
- 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
- 0x00048050, 0x00008980, 0xc0204409, 0x000000cd, 0x008806ec, 0x00005f80,
- 0x00884880, 0x00000484, 0x440b45c8, 0x00007300, 0x01c47800, 0x00001980,
- 0x0000440b, 0x00007000, 0x0000440b, 0x00007000, 0xc1000000, 0x000005e0,
- 0x16400000, 0x000005e8, 0x16c00000, 0x000085f0, 0x17400000, 0x000005f8,
- 0x17c00000, 0x000006c0, 0x18400000, 0x000006c8, 0x18c00000, 0x000086d0,
- 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x44620d0d, 0x00007500,
- 0x1a400000, 0x000006e8, 0x1ac00000, 0x00009980, 0x80000604, 0x0000e583,
- 0x13c00000, 0x00000980, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0000184f, 0x00006106, 0x40000852, 0x0000b413, 0x13001000, 0x0000f900,
- 0x00020000, 0x00000980, 0x13683800, 0x00007900, 0x00044040, 0x00000980,
- 0x000098ec, 0x00005780, 0x00005802, 0x00008080, 0x00400000, 0x00007900,
- 0x00048150, 0x00000980, 0x13801002, 0x0000e100, 0xc000184f, 0x0000e006,
- 0x99400000, 0x00006190, 0xc0004800, 0x0000c981, 0xc0c04000, 0x00009980,
- 0x008806ec, 0x00005f80, 0x00884880, 0x00000484, 0x0140847c, 0x0000e283,
- 0x0a000800, 0x00000980, 0x80108028, 0x0000e596, 0x80003828, 0x0000b48e,
- 0x1ec00000, 0x00006180, 0x27000020, 0x0000c980, 0x27400000, 0x0000e180,
- 0x0000187b, 0x0000e106, 0x1e009000, 0x0000f900, 0x0000f140, 0x00008980,
- 0x1e400000, 0x00007900, 0x00010030, 0x00000980, 0x0008f0ec, 0x00005780,
- 0x009051c0, 0x00000188, 0x27800000, 0x0000e180, 0xc000187b, 0x00006006,
- 0x27c00000, 0x00006180, 0x2868b800, 0x0000c980, 0x28000702, 0x00008a8c,
- 0x00000001, 0x00007480, 0x1ea81402, 0x00008728, 0x28814028, 0x00001900,
- 0x0140147c, 0x0000e283, 0x81000000, 0x00000981, 0x16000000, 0x000085e4,
- 0x16800000, 0x000085ec, 0x17000000, 0x000085f4, 0x17800000, 0x000085fc,
- 0x18000000, 0x000086c4, 0x18800000, 0x000086cc, 0x19000000, 0x000086d4,
- 0x19800000, 0x000086dc, 0x000044ad, 0x00007408, 0x1a000000, 0x000086e4,
- 0x1a800000, 0x000086ec, 0x449c0b83, 0x0000f300, 0x8bc03006, 0x000002e6,
- 0x1bc00000, 0x00006180, 0xe0001071, 0x00006402, 0x01e1542a, 0x0000e101,
- 0x0000186f, 0x0000e106, 0x1b001000, 0x00007900, 0x00008000, 0x00000980,
- 0x1b580800, 0x0000f900, 0x00004090, 0x00000980, 0x0010d8ec, 0x00005780,
- 0x00004000, 0x00000080, 0x1b801002, 0x00006100, 0xc000186f, 0x00006006,
- 0x01802000, 0x00001981, 0x9d400c2a, 0x0000c488, 0xb2800c2a, 0x000011a9,
- 0x3200242a, 0x0000f89b, 0x32000000, 0x00002286, 0x01400c7c, 0x00001283,
- 0x0a002000, 0x00009991, 0x000044b7, 0x0000f009, 0x44b10ce8, 0x00007100,
- 0x01803000, 0x0000e181, 0x01e82d05, 0x0000c901, 0x9d400d05, 0x0000c488,
- 0xb2800d05, 0x000011a9, 0x32002505, 0x0000f89b, 0x32000000, 0x00002286,
- 0x0fc3e404, 0x0000e000, 0x0803e405, 0x0000b000, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x030d2800, 0x00007900, 0x001bae6c, 0x00000980, 0x03400000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x000044d8, 0x00007400,
- 0x02802702, 0x00000023, 0x81c01000, 0x0000e180, 0x01a02c05, 0x0000c900,
- 0x44d94477, 0x0000f100, 0x000044d9, 0x00007000, 0x0fc3e404, 0x0000e000,
- 0x0803e406, 0x0000b000, 0x01603c07, 0x0000e100, 0x01008404, 0x0000c880,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02d2d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03152000, 0x0000f900, 0x001e18ee, 0x00008980,
- 0x03400000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x02b82f02, 0x00000020, 0x81c01000, 0x0000e180, 0x01802406, 0x0000c300,
- 0x44d9109e, 0x0000f100, 0x0140247c, 0x0000e283, 0x13c00000, 0x00000980,
- 0x0000184f, 0x00006106, 0x80000853, 0x0000b412, 0x9aebe57c, 0x00006110,
- 0xc000184f, 0x0000e006, 0x80000604, 0x0000e583, 0x13801002, 0x00000900,
- 0x13001000, 0x0000f900, 0x00020000, 0x00000980, 0x13683800, 0x00007900,
- 0x000440c0, 0x00008980, 0x000098ec, 0x00005780, 0x00005802, 0x00008080,
- 0x01801c06, 0x00006181, 0x40000852, 0x00002413, 0x99400000, 0x00001990,
- 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
- 0x00048010, 0x00000980, 0x40e04c08, 0x000000c3, 0x80603406, 0x00001901,
- 0x008806ec, 0x00005f80, 0x00884880, 0x00000484, 0x0140e420, 0x0000e283,
- 0x0100e420, 0x00008281, 0x08a1642c, 0x0000e109, 0x20000820, 0x0000640c,
- 0x0f000020, 0x00006188, 0xa0016022, 0x0000608a, 0x0000450d, 0x00007010,
- 0x02c00000, 0x0000e180, 0x80016022, 0x0000e002, 0x0f400000, 0x0000e180,
- 0x0000180b, 0x00006106, 0x02009000, 0x00007900, 0x0000f140, 0x00008980,
- 0x02400000, 0x0000f900, 0x00010030, 0x00000980, 0x0f800000, 0x0000e180,
- 0xc000180b, 0x0000e006, 0x0fc00000, 0x00006180, 0x1068c000, 0x00004980,
- 0x10c00000, 0x0000e180, 0x10001002, 0x00004900, 0x10800800, 0x0000e180,
- 0x82901202, 0x00004900, 0x08a8152c, 0x00000028, 0x00004556, 0x0000f200,
- 0x000810ec, 0x0000d780, 0x009053c0, 0x00000180, 0x00002404, 0x00009583,
- 0x00004532, 0x00007013, 0x00045c22, 0x00009583, 0x01446000, 0x00001999,
- 0x0000451d, 0x0000f019, 0x0003bc22, 0x00009583, 0x0143c000, 0x00009999,
- 0x0000451d, 0x0000f019, 0x00031c22, 0x00009583, 0x01432000, 0x00001999,
- 0x01400000, 0x000099b1, 0x0000451d, 0x00007018, 0x00000422, 0x00009583,
- 0x01400800, 0x00009991, 0x4b845c2c, 0x0000789b, 0xfa000000, 0x00002288,
- 0x4b845c2c, 0x0000789b, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86,
- 0x0003bc2c, 0x00001583, 0x0103c000, 0x00001999, 0x0000452a, 0x00007019,
- 0x00031c2c, 0x00001583, 0x01032000, 0x00009999, 0x01000000, 0x000019b1,
- 0x0000452a, 0x0000f018, 0x0000042c, 0x00001583, 0x01000800, 0x00001991,
- 0xffffffff, 0x00007f86, 0xaac02005, 0x0000c418, 0xa4802005, 0x0000112a,
- 0x05403c22, 0x00004588, 0x02a03c2c, 0x00008293, 0xaa446405, 0x000044a8,
- 0xac803c22, 0x0000118a, 0x55803c2c, 0x00007893, 0x92000000, 0x0000228a,
- 0x00004404, 0x00009583, 0x08847000, 0x00009988, 0x00004556, 0x00007009,
- 0x55806404, 0x0000f893, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02c00000, 0x0000e180,
- 0x0f000020, 0x0000c980, 0x0f400000, 0x0000e180, 0x0000180b, 0x00006106,
- 0x02009000, 0x00007900, 0x0000f140, 0x00008980, 0x02400000, 0x0000f900,
- 0x00010030, 0x00000980, 0x0f800000, 0x0000e180, 0xc000180b, 0x0000e006,
- 0x0fc00000, 0x00006180, 0x1068b800, 0x00004980, 0x10c00000, 0x0000e180,
- 0x10001002, 0x00004900, 0x0000450a, 0x0000f400, 0x10800800, 0x0000e180,
- 0x82901202, 0x00004900, 0xc2981302, 0x00009900, 0x08a1642c, 0x00001901,
- 0xa0016022, 0x00006882, 0x80016022, 0x00006802, 0xc899632c, 0x00009900,
- 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900,
- 0x00048090, 0x00008980, 0xc0002000, 0x00006181, 0xc0e81800, 0x00004980,
- 0x008806ec, 0x00005f80, 0x00884a00, 0x000081c4, 0x0940e418, 0x0000e283,
- 0x0900e418, 0x00008281, 0x06a13c27, 0x00006109, 0x20000818, 0x0000e40c,
- 0x27000020, 0x00006188, 0xa2a1301a, 0x0000608a, 0x0000457c, 0x00007010,
- 0x26c00000, 0x0000e180, 0x8229301a, 0x0000e002, 0x27400000, 0x0000e180,
- 0x0000189b, 0x00006106, 0x26009000, 0x00007900, 0x0000f140, 0x00008980,
- 0x26400000, 0x0000f900, 0x00010030, 0x00000980, 0x27800000, 0x0000e180,
- 0xc000189b, 0x0000e006, 0x27c00000, 0x00006180, 0x2868c000, 0x0000c980,
- 0x28c00000, 0x00006180, 0x28001002, 0x0000c900, 0x28800800, 0x00006180,
- 0xa6901202, 0x00004900, 0x06a81526, 0x00008928, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009930ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x00000001, 0x0000f080, 0x00002424, 0x00001583,
- 0x000045ab, 0x00007013, 0x00045c1a, 0x00001583, 0x09446000, 0x00009999,
- 0x0000458c, 0x00007019, 0x0003bc1a, 0x00001583, 0x0943c000, 0x00001999,
- 0x0000458c, 0x00007019, 0x00031c1a, 0x00001583, 0x09432000, 0x00009999,
- 0x09400000, 0x000019b1, 0x0000458c, 0x0000f018, 0x0000041a, 0x00001583,
- 0x09400800, 0x00001991, 0x67445c27, 0x0000789b, 0x72000000, 0x0000a28c,
- 0x67445c27, 0x0000789b, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86,
- 0x0003bc27, 0x00009583, 0x0903c000, 0x00009999, 0x00004599, 0x0000f019,
- 0x00031c27, 0x00009583, 0x09032000, 0x00001999, 0x09000000, 0x000099b1,
- 0x00004599, 0x00007018, 0x00000427, 0x00009583, 0x09000800, 0x00009991,
- 0xffffffff, 0x00007f86, 0x00212425, 0x00001503, 0x00000001, 0x0000f09b,
- 0x69a12425, 0x0000782b, 0xfa000000, 0x0000a28c, 0x69846425, 0x0000f8ab,
- 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x00003c1a, 0x00009583,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00000001, 0x00007088,
- 0x80003a27, 0x00001582, 0x00000001, 0x00007093, 0x06a13c27, 0x00009901,
- 0xa2a1301a, 0x00006882, 0x00000001, 0x00007480, 0x8229301a, 0x00006802,
- 0xc6993326, 0x00001900, 0x00004424, 0x00001583, 0x06847000, 0x00001988,
- 0x00000001, 0x0000f089, 0x00006424, 0x00009583, 0x00000001, 0x00007093,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x26c00000, 0x0000e180,
- 0x20002818, 0x0000e404, 0x27000020, 0x0000e180, 0x0000189b, 0x00006106,
- 0x26009000, 0x00007900, 0x0000f140, 0x00008980, 0x26400000, 0x0000f900,
- 0x00010030, 0x00000980, 0x27400000, 0x0000e180, 0xc000189b, 0x0000e006,
- 0x27800000, 0x000089fc, 0x2868b800, 0x0000e180, 0x28c00000, 0x00004980,
- 0x00004576, 0x00007400, 0x28000f02, 0x00008a88, 0x26a01502, 0x00008928,
- 0x0140e41c, 0x0000e283, 0x81800000, 0x00000980, 0x81800000, 0x00006181,
- 0x0100e41c, 0x00004281, 0x07800000, 0x0000e188, 0x2000081c, 0x0000640c,
- 0x000045e7, 0x0000f010, 0x1ec00000, 0x00006180, 0x07a03c07, 0x00004901,
- 0x27000020, 0x0000e180, 0x0000187b, 0x0000e106, 0x1e009000, 0x0000f900,
- 0x0000f140, 0x00008980, 0x1e400000, 0x00007900, 0x00010030, 0x00000980,
- 0x27400000, 0x0000e180, 0xc000187b, 0x00006006, 0x27800000, 0x000089fc,
- 0x2868c000, 0x0000e180, 0x28c00000, 0x00004980, 0x28000f02, 0x00008a88,
- 0x1ea01502, 0x00008728, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x0088f0ec, 0x0000d780, 0x009051c0, 0x00000188,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x00000001, 0x0000f080, 0x00002404, 0x00009583, 0x00004614, 0x0000f013,
- 0x00045c1e, 0x00009583, 0x01446000, 0x00001999, 0x000045f7, 0x00007019,
- 0x0003bc1e, 0x00009583, 0x0143c000, 0x00009999, 0x000045f7, 0x00007019,
- 0x00031c1e, 0x00009583, 0x01432000, 0x00001999, 0x01400000, 0x000099b1,
- 0x000045f7, 0x0000f018, 0x0000041e, 0x00009583, 0x01400800, 0x00009991,
- 0x82045c07, 0x0000f89b, 0xca000000, 0x0000a28f, 0x82045c07, 0x0000f89b,
- 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x0003bc07, 0x00001583,
- 0x0103c000, 0x00001999, 0x00004604, 0x00007019, 0x00031c07, 0x00001583,
- 0x01032000, 0x00009999, 0x01000000, 0x000019b1, 0x00004604, 0x0000f018,
- 0x00000407, 0x00001583, 0x01000800, 0x00001991, 0xffffffff, 0x00007f86,
- 0x00202405, 0x00001503, 0x00000001, 0x0000f09b, 0x84602405, 0x0000782b,
- 0x52000000, 0x0000a380, 0x84446405, 0x000078ab, 0x02000001, 0x00008080,
- 0xffffffff, 0x00007f86, 0x00003c1e, 0x00001583, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x00000001, 0x00007088, 0x80003a07, 0x00009582,
- 0x00000001, 0x00007093, 0x00000001, 0x00007480, 0x07800000, 0x00001980,
- 0x07a03c07, 0x00001901, 0x00004404, 0x00009583, 0x07847000, 0x00009988,
- 0x00000001, 0x0000f089, 0x00006404, 0x00001583, 0x00000001, 0x00007093,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x1ec00000, 0x00006180,
- 0x20002818, 0x0000e404, 0x27000020, 0x0000e180, 0x0000187b, 0x0000e106,
- 0x1e009000, 0x0000f900, 0x0000f140, 0x00008980, 0x1e400000, 0x00007900,
- 0x00010030, 0x00000980, 0x27400000, 0x0000e180, 0xc000187b, 0x00006006,
- 0x27800000, 0x000089fc, 0x2868b800, 0x0000e180, 0x28c00000, 0x00004980,
- 0x000045de, 0x0000f400, 0x28000f02, 0x00008a88, 0x1ea01502, 0x00008728,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0100e41c, 0x00006283,
- 0x0a00e41c, 0x00000281, 0x07800000, 0x0000e188, 0x2000081c, 0x0000640c,
- 0x07a03406, 0x0000e109, 0x1f000020, 0x0000c988, 0x0000465a, 0x0000f010,
- 0x1ec00000, 0x00006180, 0x8228301e, 0x0000e002, 0x1f400000, 0x00006180,
- 0x0000187b, 0x0000e106, 0x1e009000, 0x0000f900, 0x0000f140, 0x00008980,
- 0x1e400000, 0x00007900, 0x00010030, 0x00000980, 0x1f800000, 0x00006180,
- 0xc000187b, 0x00006006, 0x1fc00000, 0x0000e180, 0x2068c000, 0x00004980,
- 0x20c00000, 0x0000e180, 0x20001002, 0x00004900, 0x20800800, 0x0000e180,
- 0x9e901202, 0x0000c900, 0x07a81506, 0x00000728, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0088f0ec, 0x0000d780,
- 0x009057c0, 0x00008180, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x00000001, 0x0000f080, 0x00002428, 0x00001583,
- 0x00004689, 0x00007013, 0x00045c1e, 0x00009583, 0x0a046000, 0x00001999,
- 0x0000466a, 0x0000f019, 0x0003bc1e, 0x00009583, 0x0a03c000, 0x00009999,
- 0x0000466a, 0x0000f019, 0x00031c1e, 0x00009583, 0x0a032000, 0x00001999,
- 0x0a000000, 0x000099b1, 0x0000466a, 0x00007018, 0x0000041e, 0x00009583,
- 0x0a000800, 0x00009991, 0x9ec45c06, 0x0000f89b, 0x62000000, 0x0000a383,
- 0x9ec45c06, 0x0000f89b, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86,
- 0x0003bc06, 0x00009583, 0x0103c000, 0x00001999, 0x00004677, 0x0000f019,
- 0x00031c06, 0x00009583, 0x01032000, 0x00009999, 0x01000000, 0x000019b1,
- 0x00004677, 0x00007018, 0x00000406, 0x00009583, 0x01000800, 0x00001991,
- 0xffffffff, 0x00007f86, 0x00202428, 0x00001503, 0x00000001, 0x0000f09b,
- 0xa1202428, 0x0000782b, 0xea000000, 0x0000a383, 0xa1046428, 0x000078ab,
- 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x00003c1e, 0x00001583,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00000001, 0x00007088,
- 0x00003c06, 0x00001583, 0x00000001, 0x00007093, 0x07800000, 0x00001980,
- 0x07a03406, 0x00001901, 0x00000001, 0x00007480, 0x8228301e, 0x00006802,
- 0xc7983306, 0x00009900, 0x00004428, 0x00001583, 0x07847000, 0x00009988,
- 0x00000001, 0x0000f089, 0x00006428, 0x00009583, 0x00000001, 0x00007093,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x1ec00000, 0x00006180,
- 0x20002818, 0x0000e404, 0x1f000020, 0x00006180, 0x0000187b, 0x0000e106,
- 0x1e009000, 0x0000f900, 0x0000f140, 0x00008980, 0x1e400000, 0x00007900,
- 0x00010030, 0x00000980, 0x1f400000, 0x00006180, 0xc000187b, 0x00006006,
- 0x1f800000, 0x000087fc, 0x2068b800, 0x00006180, 0x20c00000, 0x0000c980,
- 0x00004651, 0x00007400, 0x20000f02, 0x00008888, 0x1ea01502, 0x00008728,
- 0x0a00e41c, 0x00006281, 0x81000000, 0x00000981, 0x00006428, 0x00006583,
- 0x81000000, 0x00008980, 0x1f3ff07c, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x23000000, 0x000088f4, 0x00000001, 0x0000f290, 0x23800000, 0x000088fc,
- 0x0a001d1e, 0x00001281, 0x00000c28, 0x00001583, 0x00000001, 0x0000708b,
- 0x0a00141c, 0x00001283, 0x000046ba, 0x0000700b, 0x00010820, 0x00009502,
- 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280, 0x81000800, 0x0000e1f1,
- 0x8110ea1d, 0x00004970, 0xc750ea1d, 0x00001970, 0x0a00147c, 0x00001283,
- 0x00000001, 0x0000708b, 0x0800141c, 0x00009283, 0x000046c3, 0x0000f013,
- 0x801bfa1d, 0x00006502, 0x87400000, 0x00000980, 0x87400800, 0x00009990,
- 0xffffffff, 0x00007f86, 0x1060e81c, 0x0000e800, 0x0a00141c, 0x0000e283,
- 0x875bfb7f, 0x00008900, 0x08040080, 0x00001900, 0x00000001, 0x0000f089,
- 0x00010880, 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280,
- 0x00000001, 0x00007480, 0x81000800, 0x0000e1f1, 0x811bfb7f, 0x00004970,
- 0xc75bfb7f, 0x00001970, 0x26c00000, 0x0000e180, 0xa6901202, 0x00004900,
- 0x26400000, 0x0000f900, 0x00010000, 0x00000980, 0x000930ec, 0x0000d780,
- 0x00905200, 0x000000c8, 0x0000189b, 0x00006106, 0xd3612899, 0x0000b004,
- 0x26009000, 0x00007900, 0x00013100, 0x00008980, 0x00000001, 0x00007480,
- 0x001148ec, 0x0000d780, 0x00005000, 0x00008080, 0xe6981302, 0x0000e100,
- 0xc000189b, 0x0000e006, 0x1a800702, 0x000006ac, 0x0000186b, 0x0000e906,
- 0x1a001000, 0x0000f900, 0x0002c000, 0x00000980, 0x1a505000, 0x00007900,
- 0x00044240, 0x00008980, 0x00000001, 0x00007480, 0x0018d0ec, 0x00005780,
- 0x00005802, 0x00008080, 0xc000186b, 0x00006806, 0x00000462, 0x0000e583,
- 0x20002818, 0x00002404, 0x27000020, 0x00006190, 0x27400000, 0x00004990,
- 0x27800000, 0x00006190, 0x27c00000, 0x0000c990, 0x000046fd, 0x00007008,
- 0x26c00000, 0x0000e180, 0x2868d000, 0x00004980, 0x28800000, 0x0000e180,
- 0x0000189b, 0x00006106, 0x26009000, 0x00007900, 0x0000f140, 0x00008980,
- 0x26400000, 0x0000f900, 0x00010030, 0x00000980, 0x000930ec, 0x0000d780,
- 0x009051c0, 0x00000188, 0x28c00000, 0x00006180, 0xc000189b, 0x0000e006,
- 0x00000001, 0x00007480, 0x28201702, 0x00000928, 0xe6981302, 0x00009900,
- 0x80000662, 0x00001583, 0x06800000, 0x00006190, 0x61a31018, 0x0000e010,
- 0x06c00000, 0x0000e190, 0x20a31018, 0x00006014, 0x00000001, 0x00007090,
- 0x09420418, 0x00001283, 0x25000804, 0x00006190, 0x25400000, 0x0000c990,
- 0x25800000, 0x0000e190, 0x25eb0020, 0x0000c990, 0x00004721, 0x00007008,
- 0x40000562, 0x0000e583, 0x26c00000, 0x00000980, 0x09409800, 0x00006191,
- 0x09409000, 0x0000c989, 0x27002800, 0x00006180, 0x0000189b, 0x00006106,
- 0x26009000, 0x00007900, 0x0000f140, 0x00008980, 0x26400000, 0x0000f900,
- 0x00010030, 0x00000980, 0xa6901202, 0x00006100, 0xc000189b, 0x0000e006,
- 0x26800502, 0x000089b4, 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4,
- 0x28800000, 0x00008acc, 0x67212c25, 0x00009901, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008128ec, 0x0000d780,
- 0x00005001, 0x00000080, 0xcb9b0a1b, 0x0000f86b, 0x62000000, 0x0000a389,
- 0x09410418, 0x00001283, 0x28800000, 0x00006190, 0x28c00000, 0x0000c990,
- 0x28001002, 0x00006110, 0x28688800, 0x00004990, 0x0000472a, 0x0000f008,
- 0x472a46ce, 0x00007300, 0x09400000, 0x0000e180, 0xe858db1b, 0x00004900,
- 0x801b0a1b, 0x00009502, 0x0000472e, 0x0000706b, 0xc0130b19, 0x00009502,
- 0x00000001, 0x0000f0e3, 0x1b000000, 0x000086f4, 0x1b800010, 0x000006fc,
+ 0x02001008, 0x00004390, 0x43000000, 0x0000e191, 0x4300a000, 0x0000c989,
+ 0x00000001, 0x00007480, 0x02001008, 0x0000e388, 0xa7800800, 0x00000991,
+ 0x27800800, 0x00001989, 0x1c02e05c, 0x00006100, 0x0022e806, 0x0000e086,
+ 0x822ae806, 0x0000e886, 0x041ae806, 0x00006987, 0x01c03006, 0x00001900,
+ 0x1b4d4000, 0x00007900, 0x00360fce, 0x00000980, 0x1bc03807, 0x00009900,
+ 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604,
+ 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100, 0x00002004, 0x0000e586,
+ 0x1b803006, 0x00006100, 0x042ae804, 0x0000e087, 0x81cb22d9, 0x0000f500,
+ 0x8622e804, 0x0000e887, 0x1b002004, 0x00009900, 0x01000000, 0x000000e0,
+ 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x02400000, 0x00006180,
+ 0x041ac004, 0x00006187, 0x700708ec, 0x0000d680, 0x00382002, 0x00008000,
+ 0x02800000, 0x000080ec, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc,
+ 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc, 0x1a000000, 0x000086e4,
+ 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
- 0x23800000, 0x000088fc, 0x474346dd, 0x0000f500, 0x24000000, 0x000089c4,
- 0x24c00000, 0x000089c8, 0x00000001, 0x00007280, 0x49804d26, 0x00009181,
- 0x0000142a, 0x00006583, 0x1b800000, 0x00000980, 0x1b000000, 0x00006180,
- 0x0000086e, 0x0000e412, 0x1b400000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x00004768, 0x00007410, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0xc9020704, 0x0000e283, 0x09000800, 0x00008981, 0x0000086e, 0x00006c12,
- 0x00004765, 0x0000f011, 0xc0001706, 0x00001583, 0x8000086c, 0x0000640b,
- 0x0000086e, 0x0000b412, 0x09000000, 0x00001991, 0xffffffff, 0x00007f86,
- 0x00000424, 0x00009583, 0x00004769, 0x00007013, 0x20002818, 0x00006c04,
- 0x000046dd, 0x00007000, 0x26800702, 0x000009ac, 0x0000189b, 0x0000e906,
- 0x26001000, 0x0000f900, 0x00008000, 0x00000980, 0x26580800, 0x00007900,
- 0x00044200, 0x00000980, 0x00000001, 0x00007480, 0x000930ec, 0x0000d780,
- 0x008042c0, 0x000000c8, 0xc000189b, 0x00006806, 0x1b000000, 0x000086f4,
- 0x1b8000a0, 0x0000e180, 0x1bc00000, 0x00004980, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x478a46dd, 0x0000f500, 0x24000000, 0x000089c4, 0x24c00000, 0x000089c8,
- 0x478e476a, 0x0000f500, 0x2b000000, 0x00006180, 0x2b400200, 0x00004980,
- 0x2bc00000, 0x00008af8, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
- 0x00000001, 0x0000f080, 0xc0003000, 0x0000e181, 0x00115803, 0x00006106,
- 0x00000001, 0x00007480, 0x00400000, 0x00007900, 0x00048040, 0x00000980,
- 0x8091522a, 0x0000e100, 0xc002a803, 0x00006606, 0x1bc0600c, 0x0000e100,
- 0x00206806, 0x0000e086, 0x82286806, 0x0000e886, 0x04186806, 0x00006987,
- 0x01c03006, 0x00001900, 0x1b095800, 0x00007900, 0x0012c50a, 0x00008980,
- 0x1b803807, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01002805, 0x00001900,
- 0x01802004, 0x0000e100, 0x00002004, 0x0000e586, 0x1b403006, 0x00006100,
- 0x04286804, 0x0000e087, 0x47af114d, 0x0000f500, 0x86206804, 0x0000e887,
- 0x1ac02004, 0x00001900, 0x0000240d, 0x00009583, 0x00001c0d, 0x00001583,
- 0x00000c0d, 0x00009583, 0x000047c6, 0x0000f018, 0x000047f2, 0x0000f020,
- 0x000047ca, 0x00007008, 0x0000140d, 0x00009583, 0x01800000, 0x0000e188,
- 0x0100800c, 0x00004788, 0x000047e5, 0x00007009, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x01b86f0c, 0x00008014, 0x02cc6000, 0x00007900,
- 0x0012c50a, 0x00008980, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106,
- 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x82781400, 0x00000028,
- 0x41c00005, 0x000080f4, 0x01b83705, 0x00008020, 0x47f2109e, 0x0000f100,
- 0x00003c0d, 0x00009583, 0x01800800, 0x000019b1, 0x000047f3, 0x00007031,
- 0x000047b9, 0x00007000, 0x0160400e, 0x00007900, 0x00000002, 0x00008082,
- 0x0100000f, 0x0000e084, 0x01802805, 0x00000900, 0x47d2151b, 0x00007404,
- 0x01402004, 0x0000e100, 0x0e009a00, 0x0000c980, 0x0e783705, 0x00000318,
- 0x00000434, 0x00001583, 0x35b82c33, 0x0000a008, 0x81400ee3, 0x0000e088,
- 0x02000000, 0x00004990, 0x01c00000, 0x0000f910, 0x00004040, 0x00008980,
- 0x000047f2, 0x00007408, 0x01800000, 0x0000e190, 0x03400000, 0x00004990,
- 0x2ae02e05, 0x00002989, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03221800, 0x0000f900, 0x000d0a90, 0x00000980, 0x81c01000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x000047c5, 0x00007400, 0x82600500, 0x00008026,
- 0x02801002, 0x00009900, 0x61782a06, 0x0000a180, 0xffffffff, 0x00007fa7,
- 0x0140a005, 0x00009780, 0x01402005, 0x00001880, 0x00002005, 0x00009502,
- 0x61782a06, 0x00002190, 0x014728e5, 0x00001908, 0xffffffff, 0x00007f97,
- 0x61782a06, 0x00002980, 0x01800806, 0x00009080, 0x000a0006, 0x00009582,
- 0x000047e5, 0x0000f013, 0x000047f2, 0x00007000, 0x01800000, 0x00009981,
- 0x00000406, 0x00006583, 0x02009000, 0x00000980, 0x01001000, 0x00006191,
- 0x01002000, 0x00004989, 0x00000406, 0x00006583, 0x02c00000, 0x00000980,
- 0xc2202404, 0x0000e101, 0xc000180b, 0x0000e006, 0x01061800, 0x0000e191,
- 0x01062000, 0x00004989, 0x02400000, 0x0000f900, 0x00010000, 0x00000980,
- 0x00000406, 0x00006583, 0x82202404, 0x00008901, 0x02800000, 0x00006180,
- 0x01000c06, 0x0000c281, 0x86202009, 0x0000e801, 0x01001000, 0x00006191,
- 0x96602009, 0x00006001, 0x00000406, 0x00006583, 0x01000000, 0x00000989,
- 0x0280600c, 0x00006110, 0x01400000, 0x0000c990, 0x01eb0020, 0x0000e190,
- 0x00202009, 0x00006006, 0x00004812, 0x0000f208, 0x01000804, 0x00006190,
- 0xd3603009, 0x00006004, 0x01800000, 0x00001980, 0x00980eec, 0x00005f80,
- 0x00005000, 0x00000084, 0xc2981302, 0x00009900, 0x008016ec, 0x00005f80,
- 0x00005001, 0x00008084, 0x0880003e, 0x00007900, 0x00000008, 0x00008082,
- 0x08c0003f, 0x0000e084, 0x21400000, 0x00000980, 0x40000d35, 0x0000e583,
- 0x1b000000, 0x00008980, 0x063f1818, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8,
- 0x1cc00001, 0x000007d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0,
- 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8,
- 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0,
- 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
- 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x06b9bf36, 0x0000012c, 0x0000483a, 0x0000f410,
- 0x2ab9ef3c, 0x00000a2c, 0xa16d25a4, 0x00009900, 0x4000052c, 0x00001583,
- 0x063df818, 0x00007910, 0x003ffffe, 0x00008280, 0x1069a8a4, 0x00006010,
- 0x8229a86e, 0x0000b012, 0x0000483b, 0x0000f010, 0x06020018, 0x00009380,
- 0x483c46dd, 0x0000f100, 0x00000001, 0x00007480, 0x28394f28, 0x00000a04,
- 0x28f9572b, 0x00000a08, 0x48424794, 0x00007300, 0x89d01202, 0x00006100,
- 0x08001a26, 0x00006106, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008800ec, 0x0000d780, 0x00884840, 0x000002c0,
- 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24c00000, 0x000089c8, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x486146dd, 0x0000f500, 0x00113003, 0x0000e106,
- 0x40000870, 0x0000b402, 0x80913a27, 0x00009900, 0x00000001, 0x00007480,
- 0x28394f28, 0x00000a04, 0x28f9572b, 0x00000a08, 0x1b000000, 0x000086f4,
- 0x1b800100, 0x000006fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
- 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
- 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x487946dd, 0x0000f500,
- 0x24000000, 0x000089c4, 0x24c00000, 0x000089c8, 0x1a81502a, 0x0000e100,
- 0x0011586b, 0x0000e106, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x00004774, 0x0000f000, 0x06000000, 0x000081e4, 0x0600052c, 0x000081a8,
- 0x06c00000, 0x00006180, 0x00016018, 0x0000e000, 0x07000000, 0x000081f4,
- 0x08800000, 0x000082cc, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec,
- 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x08398f30, 0x00000204,
- 0x07b9a733, 0x0000013c, 0x00000001, 0x00007480, 0x28394f28, 0x00000a04,
- 0x28f9572b, 0x00000a08, 0x81000e0c, 0x00001283, 0x8100260c, 0x00001283,
- 0xffffffff, 0x00007f86, 0x000048c3, 0x00007010, 0x000048bb, 0x00007008,
- 0x000828ec, 0x00005780, 0x00d87980, 0x000000c0, 0x07c80005, 0x00006180,
- 0x06008010, 0x0000c900, 0x07804000, 0x00007900, 0x00207fc0, 0x00008980,
- 0x000838ec, 0x0000d780, 0x00007800, 0x00008080, 0x06789711, 0x00000128,
- 0x06c09813, 0x0000e100, 0x05104001, 0x0000c980, 0x05401900, 0x00006180,
- 0x05800000, 0x0000c980, 0x000048bb, 0x00007400, 0x05c00000, 0x00006180,
- 0x0740700e, 0x0000c900, 0x07f86d02, 0x00008130, 0x01000804, 0x0000e180,
- 0x01400000, 0x00004980, 0x000808ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x000048c3, 0x00007400, 0x01800000, 0x00006180, 0x07806004, 0x00006001,
- 0x01eb0020, 0x00001980, 0x02c00000, 0x0000e180, 0x82901202, 0x00004900,
- 0xc2981302, 0x0000e100, 0x0000180b, 0x00006106, 0x02009000, 0x00007900,
- 0x0000f140, 0x00008980, 0x02400000, 0x0000f900, 0x00010030, 0x00000980,
- 0xc000180b, 0x00006806, 0x009816ec, 0x00005f80, 0x00005000, 0x00000084,
- 0x00000027, 0x00006582, 0x09400000, 0x00000980, 0x09400800, 0x00006191,
- 0x20002818, 0x00006414, 0x09401000, 0x00001989, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x26c00000, 0x0000e180, 0x27000020, 0x0000c980,
- 0x27400000, 0x0000e180, 0x0000189b, 0x00006106, 0x26009000, 0x00007900,
- 0x0000f140, 0x00008980, 0x26400000, 0x0000f900, 0x00010030, 0x00000980,
- 0x27800000, 0x0000e180, 0xc000189b, 0x0000e006, 0x27c00000, 0x00006180,
- 0x2868b800, 0x0000c980, 0x28392f02, 0x00008a08, 0x28c00000, 0x00006180,
- 0xa6901202, 0x00004900, 0xe6981302, 0x00009900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009930ec, 0x0000d780,
- 0x00005000, 0x00008080, 0x00000001, 0x0000f080, 0x00045c64, 0x0000e583,
- 0x09432064, 0x00008900, 0x09446000, 0x0000e199, 0x09a32464, 0x0000c901,
- 0x000048fb, 0x0000f019, 0x0003bc64, 0x00001583, 0x0943c000, 0x00001999,
- 0x000048fb, 0x0000f019, 0x00031c64, 0x00001583, 0x09432000, 0x00009999,
- 0x09400000, 0x000019b1, 0x000048fb, 0x00007018, 0x00000464, 0x00001583,
- 0x09400800, 0x00001991, 0x43045c62, 0x0000f89a, 0xea400000, 0x00002487,
- 0x43045c62, 0x0000f89a, 0x02400001, 0x00000080, 0xffffffff, 0x00007f86,
- 0x0003bc62, 0x00001583, 0x0903c000, 0x00009999, 0x00004908, 0x00007019,
- 0x00031c62, 0x00001583, 0x09032000, 0x00001999, 0x09000000, 0x000099b1,
- 0x00004908, 0x0000f018, 0x00000462, 0x00001583, 0x09000800, 0x00009991,
- 0xffffffff, 0x00007f86, 0x22012025, 0x00004419, 0x4e812025, 0x0000922c,
- 0x00c03c64, 0x0000c589, 0x11c03c62, 0x0000808b, 0x44e46425, 0x000044a9,
- 0x20803c64, 0x0000128a, 0x89c03c62, 0x0000f88a, 0x02400001, 0x00000080,
- 0x89001000, 0x00001980, 0x00045c26, 0x00001583, 0x09c46000, 0x00001999,
- 0x0000491f, 0x00007019, 0x0003bc26, 0x00001583, 0x09c3c000, 0x00009999,
- 0x0000491f, 0x00007019, 0x00031c26, 0x00001583, 0x09c32000, 0x00001999,
- 0x09c00000, 0x000099b1, 0x0000491f, 0x0000f018, 0x00000426, 0x00001583,
- 0x09c00800, 0x00009991, 0x4c045c63, 0x0000789a, 0x0a400000, 0x00002489,
- 0x4c045c63, 0x0000789a, 0x02400001, 0x00000080, 0xffffffff, 0x00007f86,
- 0x0003bc63, 0x00009583, 0x0943c000, 0x00001999, 0x0000492c, 0x00007019,
- 0x00031c63, 0x00009583, 0x09432000, 0x00009999, 0x09400000, 0x000019b1,
- 0x0000492c, 0x0000f018, 0x00000463, 0x00009583, 0x09400800, 0x00001991,
- 0xffffffff, 0x00007f86, 0x27612827, 0x00004419, 0x54812827, 0x0000122c,
- 0x02c03c26, 0x0000c588, 0x8fc03c63, 0x0000808b, 0x09446000, 0x00009981,
- 0x45446427, 0x000044a9, 0x88803c26, 0x0000928a, 0x8a803c63, 0x0000f88a,
- 0x02400001, 0x00000080, 0xffffffff, 0x00007f86, 0x00000427, 0x00009583,
- 0x00212c27, 0x0000950b, 0x0000493b, 0x0000700b, 0x80001224, 0x00001582,
- 0x00004a2a, 0x00007013, 0x00045c26, 0x00001583, 0x09c46000, 0x00001999,
- 0x00004949, 0x00007019, 0x0003bc26, 0x00001583, 0x09c3c000, 0x00009999,
- 0x00004949, 0x00007019, 0x00031c26, 0x00001583, 0x09c32000, 0x00001999,
- 0x00004949, 0x00007019, 0x00000426, 0x0000e583, 0x09c00000, 0x00000981,
- 0x09c00800, 0x00009991, 0x61045c1a, 0x0000f89a, 0x5a400000, 0x0000248a,
- 0x61045c1a, 0x0000f89a, 0x02400001, 0x00000080, 0xffffffff, 0x00007f86,
- 0x0003bc1a, 0x00001583, 0x0943c000, 0x00001999, 0x00004956, 0x0000f019,
- 0x00031c1a, 0x00001583, 0x09432000, 0x00009999, 0x09400000, 0x000019b1,
- 0x00004956, 0x00007018, 0x0000041a, 0x00001583, 0x09400800, 0x00001991,
- 0xffffffff, 0x00007f86, 0x8b612c27, 0x0000f81a, 0x02400001, 0x00008000,
- 0x45a12827, 0x0000c129, 0x00803c26, 0x00000088, 0x61803c1a, 0x00007892,
- 0x02400001, 0x00008000, 0x00001d1a, 0x00007894, 0x00000000, 0x00000000,
- 0x0003241a, 0x0000788a, 0x00000000, 0x00008020, 0x0003241a, 0x0000c098,
- 0x0000bc1a, 0x00008098, 0x37e09c1a, 0x000044a1, 0x7a801c1a, 0x0000128b,
- 0x06601c1a, 0x0000c7b0, 0x8440cc1a, 0x0000058d, 0x3580cc1a, 0x000046a1,
- 0x8684741a, 0x0000128b, 0x38a4741a, 0x0000c199, 0x0083cc1a, 0x00000088,
- 0x3603cc1a, 0x0000c4b1, 0x6884641a, 0x00009293, 0x7f80bc1a, 0x0000f88a,
- 0x02400001, 0x00008000, 0x3f00bc1a, 0x00004199, 0x0080241a, 0x00000088,
- 0x3f00441a, 0x00004489, 0xf8807c1a, 0x0000128b, 0x0aa07c1a, 0x000047b1,
- 0x0660dc1a, 0x0000088f, 0x3f00e41a, 0x00004489, 0xf080c41a, 0x0000928b,
- 0x10c07c1a, 0x0000c589, 0x86207c1a, 0x00008598, 0x7044841a, 0x0000f88a,
- 0xc2400000, 0x0000248d, 0x7f80bc1a, 0x0000f88a, 0x72400000, 0x0000a48b,
- 0x7f80bc1a, 0x0000f88a, 0x72400000, 0x0000a48b, 0x00001d1a, 0x00007894,
- 0x00000000, 0x00000000, 0x5803241a, 0x0000f88a, 0x02400001, 0x00008060,
- 0x7f80bc1a, 0x0000f88a, 0x72400000, 0x0000a48b, 0x00004958, 0x00007200,
- 0x09446000, 0x00009981, 0x00000427, 0x00009583, 0x00212c27, 0x0000950b,
- 0x00004991, 0x0000700b, 0x8b401224, 0x0000788a, 0x02400001, 0x00008000,
- 0x00001d1a, 0x00007894, 0x00000000, 0x00000000, 0x5803241a, 0x0000f88a,
- 0x02400001, 0x00008060, 0x7f80bc1a, 0x0000f88a, 0x72400000, 0x0000a48b,
- 0x00001d1a, 0x00007894, 0x00000000, 0x00000000, 0x5803241a, 0x0000f88a,
- 0x02400001, 0x00008060, 0x7f80bc1a, 0x0000f88a, 0x72400000, 0x0000a48b,
- 0x0000141a, 0x00009583, 0x0900b000, 0x00001988, 0x00004a35, 0x00007009,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02d2d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03215800, 0x00007900, 0x00008ee4, 0x00008980,
- 0x01800000, 0x00006180, 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x49c7109e, 0x0000f500, 0x82781400, 0x00000028,
- 0x81c01000, 0x0000e180, 0x0220d41a, 0x00004900, 0x00006c1a, 0x00009583,
- 0x0900e000, 0x000019a0, 0x00004a35, 0x00007021, 0x0000499a, 0x00007000,
- 0x0000d41a, 0x00009583, 0x0900e800, 0x00009988, 0x00004a35, 0x00007009,
- 0x0000499a, 0x00007000, 0x0003c41a, 0x00001583, 0x0900a000, 0x00009988,
- 0x00004a35, 0x00007009, 0x0000499a, 0x00007000, 0x00046c1a, 0x00001583,
- 0x0900a800, 0x00001988, 0x00004a35, 0x00007009, 0x0000499a, 0x00007000,
- 0x0004841a, 0x00001583, 0x0900c000, 0x000019a8, 0x00004a35, 0x0000f029,
- 0x70c4941a, 0x000078b2, 0xd2400000, 0x0000248c, 0x00004a35, 0x0000f200,
- 0x0900b800, 0x00001980, 0x00004a35, 0x0000f200, 0x0900c800, 0x00009980,
- 0x00004a35, 0x0000f200, 0x0900d000, 0x00009980, 0x00004a35, 0x0000f200,
- 0x0900d800, 0x00001980, 0x00004a35, 0x0000f200, 0x0900f000, 0x00001980,
- 0x00003c1a, 0x00009583, 0x09484800, 0x00009988, 0x00004a03, 0x00007009,
- 0x39c03c1a, 0x0000c4b1, 0x00806c1a, 0x0000928c, 0x05c06c1a, 0x0000c598,
- 0x02c04c1a, 0x000083a3, 0x00001c1a, 0x00001583, 0x09501002, 0x00009988,
- 0x00004a03, 0x00007009, 0x3aa01c1a, 0x000044b1, 0x00802c1a, 0x0000128c,
- 0x7e80341a, 0x0000788a, 0x12400000, 0x0000a580, 0x0000141a, 0x00009583,
- 0x09501802, 0x00001988, 0x00004a03, 0x00007009, 0x00004a02, 0x0000f000,
- 0x0000a41a, 0x00001583, 0x09481002, 0x00009988, 0x00004a03, 0x00007009,
- 0x0000a41a, 0x00001583, 0x00008c1a, 0x00001583, 0xffffffff, 0x00007f86,
- 0x000049eb, 0x00007018, 0x000049fe, 0x00007008, 0x00008c1a, 0x00001583,
- 0x09482000, 0x000099a8, 0x00004a03, 0x0000f029, 0x0000941a, 0x00001583,
- 0x09480000, 0x00009988, 0x00004a03, 0x00007009, 0x00009c1a, 0x00009583,
- 0x09480802, 0x00009988, 0x00004a03, 0x00007009, 0x00004a02, 0x0000f000,
- 0x0000b41a, 0x00009583, 0x09481802, 0x00001988, 0x00004a03, 0x00007009,
- 0x0000b41a, 0x00009583, 0x09482002, 0x000019a8, 0x00004a03, 0x0000f029,
- 0x0000cc1a, 0x00009583, 0x09480002, 0x00001988, 0x00004a03, 0x00007009,
- 0x0000d41a, 0x00009583, 0x09503000, 0x00009988, 0x00004a03, 0x00007009,
- 0x00004a02, 0x0000f000, 0x00004a03, 0x0000f200, 0x09400000, 0x00009980,
- 0x00004a03, 0x0000f200, 0x09481000, 0x00009980, 0x00004a03, 0x0000f200,
- 0x09481800, 0x00001980, 0x00004a03, 0x0000f200, 0x094ff800, 0x00001980,
- 0x00004a03, 0x0000f200, 0x09480800, 0x00009980, 0x09572ae5, 0x00001900,
- 0x20001c18, 0x0000ec04, 0x09010418, 0x00009283, 0x0003c41a, 0x00001583,
- 0x00046c1a, 0x00001583, 0x00004a0a, 0x0000f010, 0x00004a4c, 0x00007008,
- 0x00004a4c, 0x00007008, 0x00045c1a, 0x00001583, 0x09046000, 0x00001999,
- 0x00004a1a, 0x00007019, 0x0003bc1a, 0x00001583, 0x0903c000, 0x00009999,
- 0x00004a1a, 0x00007019, 0x00031c1a, 0x00001583, 0x09032000, 0x00001999,
- 0x09000000, 0x000099b1, 0x00004a1a, 0x0000f018, 0x0000041a, 0x00001583,
- 0x09000800, 0x00009991, 0x88d72825, 0x0000f812, 0x02400001, 0x00008000,
- 0x88c03c1a, 0x0000788a, 0xf2400000, 0x00002580, 0x88d72825, 0x0000f812,
- 0x02400001, 0x00008000, 0x88c03c1a, 0x0000788a, 0x02400001, 0x00000080,
- 0xffffffff, 0x00007f86, 0x00046424, 0x0000e583, 0x09000000, 0x00008980,
- 0x00004a24, 0x0000f200, 0x09000800, 0x00001988, 0x09000800, 0x00009980,
- 0x4a2648ce, 0x00007300, 0x09c12024, 0x00009900, 0x00000001, 0x0000f080,
- 0x00004911, 0x0000f400, 0x09431762, 0x00008218, 0x89001800, 0x00009980,
- 0x0000493b, 0x00007400, 0x09431f63, 0x00008218, 0x89002000, 0x00001980,
- 0x00213025, 0x0000e886, 0x06812825, 0x00001900, 0x00001d1a, 0x00007894,
- 0x00000000, 0x00000000, 0x5803241a, 0x0000f88a, 0x02400001, 0x00008060,
- 0x7f80bc1a, 0x0000f88a, 0x72400000, 0x0000a48b, 0x26c02000, 0x000009f0,
- 0x25000804, 0x0000e180, 0x0000189b, 0x00006106, 0x26009000, 0x00007900,
- 0x0000f140, 0x00008980, 0x26400000, 0x0000f900, 0x00010030, 0x00000980,
- 0x25400000, 0x00006180, 0xc000189b, 0x0000e006, 0x25800000, 0x00006180,
- 0x25eb0020, 0x00004980, 0x26a81402, 0x00008928, 0x27400000, 0x000009f8,
- 0x27c00000, 0x00000ac0, 0x28400000, 0x00000ac8, 0xa7000324, 0x00000a8c,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008128ec, 0x0000d780, 0x00005001, 0x00000080, 0x7f80bc1a, 0x0000f88a,
- 0x72400000, 0x0000a48b, 0x00000001, 0x00007280, 0x20001018, 0x0000ec04,
- 0x09000c61, 0x00001283, 0x03400000, 0x00006190, 0x0f80c404, 0x0000e014,
- 0x01602404, 0x00006110, 0xc2700600, 0x0000c911, 0x00004a5f, 0x0000f008,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02d2d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x032d3000, 0x0000f900, 0x00306bde, 0x00000980,
- 0x82680500, 0x0000e101, 0x08001a09, 0x0000e106, 0x00004a81, 0x0000f400,
- 0x0280d702, 0x00000023, 0x81c01000, 0x00009980, 0x00000464, 0x00001583,
- 0x01800000, 0x0000e188, 0x08030c05, 0x00006008, 0x01c00000, 0x0000f908,
- 0x00004040, 0x00008980, 0x00004a70, 0x00007010, 0x02d2d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x032f0000, 0x00007900, 0x0018b856, 0x00008980,
- 0x03400000, 0x0000e180, 0x08001a09, 0x0000e106, 0x81c01000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x82781400, 0x00000028, 0x02202c05, 0x00001900,
- 0x4a70109e, 0x00007100, 0x09001d64, 0x00009281, 0x00001424, 0x00001583,
- 0x00000001, 0x00007093, 0x801b221b, 0x00009502, 0x015b2364, 0x00006168,
- 0x03400000, 0x000049e8, 0x01c00000, 0x0000f968, 0x00004040, 0x00008980,
- 0x00000001, 0x0000f0e0, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03306000, 0x0000f900, 0x0032e34c, 0x00000980, 0x81c01000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x8238161b, 0x00000028,
- 0x00004a6f, 0x0000f200, 0x01802805, 0x00009900, 0x293b0f60, 0x00000a14,
- 0x29bb1f62, 0x00000a1c, 0x2a3b2f64, 0x00000a24, 0x2abb3f66, 0x00000a2c,
- 0x28394f28, 0x00000a04, 0x28f9572b, 0x00000a08, 0x558094a1, 0x0000c389,
- 0x008094a1, 0x00000098, 0x64c074a1, 0x00004389, 0x008074a1, 0x00008098,
- 0x682064a1, 0x0000c489, 0x3c8064a1, 0x0000129e, 0x02005ca1, 0x0000c791,
- 0x01e084a1, 0x0000098a, 0x122084a1, 0x000045b3, 0x8d60462c, 0x00000b89,
- 0x7380bca1, 0x00004389, 0x0080bca1, 0x00000098, 0x70c0aca1, 0x0000c489,
- 0x1280aca1, 0x0000129f, 0x01009ca1, 0x00004790, 0x1080cca1, 0x0000908c,
- 0xe880cca1, 0x000078aa, 0x02400001, 0x00000080, 0xffffffff, 0x00007f86,
- 0x0000d4a1, 0x00009583, 0x09800000, 0x00009989, 0x00004aad, 0x0000f009,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02df2800, 0x0000f900,
- 0x0012c504, 0x00000980, 0x03382800, 0x00007900, 0x00280a2c, 0x00000980,
- 0x03400000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x00004c0d, 0x00007400, 0x02b94702, 0x00000020, 0x81c02800, 0x00006180,
- 0x01814829, 0x0000c900, 0x09800800, 0x00009981, 0x4b844774, 0x00007100,
- 0x0000005b, 0x0000e582, 0x411a3b47, 0x00000900, 0x01800000, 0x00006180,
- 0x8201d804, 0x0000e001, 0x01800800, 0x00006188, 0x91c1d804, 0x00006001,
- 0x40000557, 0x0000e583, 0x1d000000, 0x00008980, 0x1d400000, 0x0000e180,
- 0xb6e03004, 0x00006001, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000007fc, 0x20000000, 0x000088c4,
- 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
- 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23400000, 0x000008f8,
- 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x00004ad1, 0x00007410,
- 0x24c00000, 0x000001c8, 0x01401800, 0x00001991, 0x0002604e, 0x00009502,
- 0x01401000, 0x00009989, 0x00004ad1, 0x00007009, 0x0002604d, 0x00009502,
- 0x01400000, 0x00001989, 0x01400000, 0x00001991, 0x00004ad1, 0x0000f008,
- 0x003a5457, 0x00009503, 0x01400800, 0x000099a1, 0x82c040ec, 0x00007902,
- 0x01c00000, 0x00000604, 0x00001405, 0x0000e583, 0xc1a02c05, 0x00008901,
- 0x00001c05, 0x00009583, 0xffffffff, 0x00007f86, 0x00004b11, 0x00007008,
- 0x00004b05, 0x00007008, 0x00000c05, 0x00001583, 0x81800000, 0x0000e191,
- 0xc33abf57, 0x0000c909, 0x81babf57, 0x00006109, 0x04800800, 0x00004988,
- 0x00004ae1, 0x0000f010, 0x0382a008, 0x00006100, 0x02c2604c, 0x00008900,
- 0x0000005b, 0x0000e582, 0x03e2e84f, 0x00000700, 0x1b800000, 0x00007900,
- 0x00044000, 0x00008980, 0x044728e5, 0x00006108, 0x0442d85b, 0x00004910,
- 0x89000e58, 0x0000e283, 0xe0000004, 0x0000a401, 0x053fe014, 0x00007900,
- 0x003ffffe, 0x00008280, 0x1c080000, 0x0000f900, 0x00001510, 0x00008980,
- 0x4152c258, 0x00006100, 0x2000086e, 0x0000640a, 0x81ba4046, 0x0000001c,
- 0x02000749, 0x000000a4, 0x02925751, 0x00000030, 0x035ae857, 0x00008036,
- 0x0402d05a, 0x00006100, 0x04c0084c, 0x00004180, 0x1b000000, 0x000086f4,
- 0x1be2a000, 0x00006180, 0x1c400000, 0x00004980, 0x1c8000a0, 0x00006180,
- 0x1cc00200, 0x00004980, 0x06000040, 0x000001e4, 0x07000000, 0x000081f4,
- 0x07800000, 0x000081fc, 0x08000000, 0x000082c4, 0x08800000, 0x000082cc,
- 0x06b96f2c, 0x0000012c, 0x1fba774d, 0x00008830, 0x1f79974c, 0x00000a28,
- 0x4b1c46dd, 0x0000f500, 0x2ac87f33, 0x00008036, 0x03c2c859, 0x00009900,
- 0x40000557, 0x0000e583, 0x01400000, 0x00000981, 0x01400800, 0x0000e191,
- 0x432abd57, 0x0000c901, 0xc0000757, 0x0000e583, 0xc33abf57, 0x00008901,
- 0x01400f57, 0x0000e191, 0xd7602804, 0x0000a001, 0x017abf57, 0x00009909,
- 0x00004ae1, 0x0000f400, 0xffffffff, 0x00007f86, 0x81a02c05, 0x00009901,
- 0x80000657, 0x0000e583, 0x01400000, 0x00000981, 0x01400800, 0x0000e191,
- 0xa0000804, 0x00006401, 0x0332be57, 0x00006101, 0xc0000004, 0x0000e401,
- 0x00004ae1, 0x0000f400, 0xc33abf57, 0x00006101, 0xc7202804, 0x00006001,
- 0x81800000, 0x00006181, 0x05404008, 0x00004900, 0x00004b20, 0x0000f200,
- 0x49805800, 0x00001981, 0x4b1f4815, 0x00007100, 0x49829000, 0x00001981,
- 0x00004b8d, 0x00007200, 0x89400801, 0x000002da, 0x4b234884, 0x0000f100,
- 0x4982f800, 0x00009981, 0x00004b8c, 0x0000f200, 0x09800800, 0x00009981,
- 0x09020460, 0x00006283, 0x4982b000, 0x00000981, 0x1b000000, 0x0000e190,
- 0x1b400000, 0x00004990, 0x1b880000, 0x0000e190, 0x1bc00000, 0x0000c990,
- 0x00004b24, 0x00007008, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
- 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
- 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x4b2446dd, 0x00007500,
- 0x24000000, 0x000089c4, 0x24c00000, 0x000089c8, 0x00004b24, 0x0000f000,
- 0x4b244745, 0x00007300, 0x4982b000, 0x00009981, 0x00004b24, 0x0000f000,
- 0x06010018, 0x00009380, 0x0900e418, 0x00001281, 0x00004424, 0x00001583,
- 0x00004b6b, 0x0000f013, 0x00045c1a, 0x00001583, 0x09046000, 0x00001999,
- 0x00004b54, 0x0000f019, 0x0003bc1a, 0x00001583, 0x0903c000, 0x00009999,
- 0x00004b54, 0x0000f019, 0x00031c1a, 0x00001583, 0x09032000, 0x00001999,
- 0x09000000, 0x000099b1, 0x00004b54, 0x00007018, 0x0000041a, 0x00001583,
- 0x09000800, 0x00009991, 0x8000122c, 0x00009582, 0x09400800, 0x0000e188,
- 0x20002818, 0x0000640c, 0x09400000, 0x00001990, 0x00004b5c, 0x00007008,
- 0x00046424, 0x0000e583, 0x20001818, 0x00002404, 0x09400800, 0x00009988,
- 0x4b5f48ce, 0x00007500, 0xffffffff, 0x00007f86, 0x09c12825, 0x00009900,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x09020418, 0x00009283,
- 0xc6d94b29, 0x00006108, 0x09800000, 0x0000c989, 0x28014028, 0x00006110,
- 0x28414829, 0x0000c910, 0x00004b69, 0x00007008, 0x28f9572b, 0x00000a08,
- 0x09800800, 0x00009981, 0x00004b8c, 0x0000f200, 0x4982f800, 0x00009981,
- 0x80000a2c, 0x00009582, 0x09800000, 0x00006188, 0x09c32000, 0x00004988,
- 0x00004b70, 0x00007011, 0x00004b74, 0x0000f000, 0x8000122c, 0x00009582,
- 0x09800000, 0x00006188, 0x09c46000, 0x00004988, 0x00004b76, 0x00007011,
- 0x4b5f455e, 0x00007100, 0x00004b5f, 0x0000f000, 0x01c00000, 0x00007900,
- 0x00004040, 0x00008980, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x030d9000, 0x00007900, 0x001331c8, 0x00000980, 0x01800000, 0x00006180,
- 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x00004c0d, 0x00007400, 0x82781400, 0x00000028, 0x81c01000, 0x0000e180,
- 0x0211622c, 0x00004900, 0x00004b8c, 0x0000f200, 0x49827000, 0x00009981,
- 0x4b87483f, 0x00007100, 0x00004b24, 0x00007200, 0x4982b000, 0x00009981,
- 0x4b8a4864, 0x00007100, 0x49827000, 0x00009981, 0x09800000, 0x00001981,
- 0x09400000, 0x00001981, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x00000c26, 0x00009583, 0x09612c25, 0x00009908, 0x4b9246ce, 0x0000f109,
- 0x40c01408, 0x000080c2, 0x00400000, 0x00007900, 0x00048010, 0x00000980,
- 0x80693526, 0x00006101, 0xa0000000, 0x0000e400, 0x000800ec, 0x00005780,
- 0x00004800, 0x00008080, 0xc0004800, 0x00009981, 0x00800eec, 0x00005f80,
- 0x00004802, 0x00008084, 0x4b9d4745, 0x00007100, 0x00004b8b, 0x00007200,
- 0x4982b000, 0x00009981, 0x4b8b46e7, 0x00007300, 0x4982f800, 0x00009981,
- 0x00004b8b, 0x0000f000, 0x4982f800, 0x0000e181, 0x0f80c424, 0x0000e004,
- 0x00000c24, 0x00001583, 0x00000c24, 0x00001583, 0x00000424, 0x00009583,
- 0x00004bb3, 0x0000f008, 0x00004bab, 0x0000f038, 0x00004bb1, 0x00007008,
- 0x00004b8b, 0x0000f000, 0x00001424, 0x00001583, 0x00001c24, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00004c0e, 0x00007008, 0x00004c01, 0x00007008,
- 0x00004b8b, 0x0000f000, 0x4bff4a4e, 0x0000f100, 0x00004bff, 0x0000f000,
- 0x09000c61, 0x00001283, 0x00004be0, 0x0000f013, 0x4bb64a4e, 0x00007100,
- 0x00045c1a, 0x00001583, 0x09446000, 0x00009999, 0x00004bc4, 0x0000f019,
- 0x0003bc1a, 0x00001583, 0x0943c000, 0x00001999, 0x00004bc4, 0x0000f019,
- 0x00031c1a, 0x00001583, 0x09432000, 0x00009999, 0x09400000, 0x000019b1,
- 0x00004bc4, 0x00007018, 0x0000041a, 0x00001583, 0x09400800, 0x00001991,
- 0xf5445c64, 0x0000f89a, 0x32400000, 0x0000a58e, 0xf5445c64, 0x0000f89a,
- 0x02400001, 0x00000080, 0xffffffff, 0x00007f86, 0x0003bc64, 0x00001583,
- 0x0903c000, 0x00009999, 0x00004bd1, 0x00007019, 0x00031c64, 0x00001583,
- 0x09032000, 0x00001999, 0x09000000, 0x000099b1, 0x00004bd1, 0x0000f018,
- 0x00000464, 0x00001583, 0x09000800, 0x00009991, 0xffffffff, 0x00007f86,
- 0x71612025, 0x00004419, 0xbc812025, 0x0000122f, 0xf7003c1a, 0x00004589,
- 0x80a03c64, 0x0000008b, 0x09046000, 0x00001981, 0x7bc46425, 0x0000c4a9,
- 0x16803c1a, 0x0000128f, 0xf7803c64, 0x0000788a, 0x02400001, 0x00000080,
- 0xffffffff, 0x00007f86, 0x00000425, 0x00001583, 0x00212425, 0x0000950b,
- 0x00004b8b, 0x0000700b, 0x00004b8b, 0x00007200, 0x06832064, 0x00001900,
- 0x09020418, 0x00009283, 0x27000020, 0x00006188, 0x27400000, 0x00004988,
- 0x27800000, 0x00006188, 0x27c00000, 0x0000c988, 0x00004bf8, 0x0000f010,
- 0x26c00000, 0x0000e180, 0x2868c800, 0x00004980, 0x28800000, 0x0000e180,
- 0x0000189b, 0x00006106, 0x26009000, 0x00007900, 0x0000f140, 0x00008980,
- 0x26400000, 0x0000f900, 0x00010030, 0x00000980, 0x28c00000, 0x00006180,
- 0xc000189b, 0x0000e006, 0x28201702, 0x00000928, 0xe6981302, 0x00009900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009930ec, 0x0000d780, 0x00005000, 0x00008080, 0x00004b8b, 0x0000f000,
- 0x09001461, 0x00001283, 0x00004bff, 0x0000700b, 0x0003241a, 0x00009583,
- 0x06846000, 0x00001989, 0x00004bff, 0x0000f009, 0x0003c41a, 0x00001583,
- 0x06846800, 0x00009989, 0x4b8b48eb, 0x00007100, 0x00004b8b, 0x0000f000,
- 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02d2d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x031ad000, 0x0000f900, 0x000e29da, 0x00000980,
- 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000080f4,
- 0x82600500, 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900,
- 0x4c0e109e, 0x00007100, 0x4c0f4a4e, 0x00007100, 0x00004b8b, 0x00007200,
- 0x06847000, 0x00009980, 0xffffffff, 0x00007f86, 0x0013ee22, 0x4c1210e4,
- 0x00007004, 0x00000090, 0x001e113c, 0x0012161e, 0x001215b5, 0x001e1722,
- 0x001e09e3, 0x001e52c7, 0x001e0a8c, 0x001e1547, 0x001e15a3, 0x00000020,
- 0x001e1457, 0x001e1591, 0x00000050, 0x00001b52, 0x00121992, 0x001e2322,
- 0x001e1755, 0x00001cd7, 0x00000020, 0x00024f27, 0x001e4fe5, 0x00000020,
- 0x001e4dbe, 0x0002501f, 0x00000060, 0x00040877, 0x001e0222, 0x0004078b,
- 0x000400d8, 0x00040219, 0x000409da, 0x000000b0, 0x000631ca, 0x00060002,
- 0x00062f04, 0x001e3623, 0x001e30e6, 0x00063204, 0x0006304e, 0x000634fd,
- 0x000634c3, 0x00063499, 0x001e2f57, 0x00000020, 0x0008384a, 0x00083777,
- 0x00000020, 0x000827cb, 0x0008263a, 0x00000020, 0x001224cb, 0x00122584,
- 0x00000020, 0x001e4c14, 0x001e4d19, 0x00000070, 0x001e4a83, 0x0012479b,
- 0x001248a5, 0x000c40c1, 0x000c3b3a, 0x000c3dca, 0x000c3e99, 0x00000050,
- 0x000c4352, 0x000c43ba, 0x000c4456, 0x000c43d6, 0x000c448d, 0x00000020,
- 0x00123a8b, 0x001244f2, 0x00000040, 0x00bebc20, 0x00000003, 0x00000000,
- 0x00000000, 0x00000060, 0x0001000a, 0x000e1208, 0x58a0ccc7, 0x00000000,
- 0x010205ff, 0x00400804, 0x00000020, 0x01961100, 0x00000018, 0x00000020,
- 0xff81ffff, 0x00000fff, 0x00000060, 0xfff80ff9, 0x00000fff, 0xffffffb9,
- 0x00000fff, 0xfff80ff9, 0x00000fff, 0x00010012, 0x001e1d29, 0x0007a100,
- 0xffffffff, 0x00007f86, 0x00011cab, 0x0000f004, 0x91c00a0c, 0x0000e180,
- 0x91800b14, 0x00000080, 0x93923247, 0x0000e200, 0xc35722e4, 0x00008900,
- 0x11d23247, 0x00006200, 0x93400b0c, 0x00000180, 0x17a05847, 0x0000e704,
- 0x91800f0b, 0x00008180, 0x1cf08003, 0x00006180, 0x9c800a5e, 0x00004080,
- 0x1197285e, 0x0000e200, 0x9c923272, 0x00008200, 0x11801846, 0x00009880,
- 0x1780b046, 0x00009002, 0x11800017, 0x0000e084, 0x17c2f05e, 0x00000900,
- 0x17804000, 0x00006180, 0x1c02f85f, 0x00004900, 0x17c23046, 0x0000e100,
- 0x0418105e, 0x00006187, 0x00191cee, 0x0000f500, 0x1c7af770, 0x00000710,
- 0x1c02f85f, 0x00001900, 0x05400ce0, 0x00009283, 0x001b1cba, 0x0000f113,
- 0x1cf88023, 0x00006180, 0x11801a72, 0x0000c880, 0x1180b046, 0x00009002,
- 0x17c23046, 0x0000e100, 0x17800017, 0x00004084, 0x1c3af75f, 0x0000053c,
- 0x17804000, 0x00006180, 0x1c438070, 0x0000c900, 0x00271cee, 0x00007500,
- 0x1c02f85f, 0x00006100, 0x0418105e, 0x00006187, 0x1d02f05e, 0x00009900,
- 0x00c002ec, 0x0000df80, 0x1001480b, 0x00001684, 0xffffffff, 0x00007f86,
+ 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
+ 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
+ 0x26c00000, 0x000089e8, 0x5c40945d, 0x00004388, 0x0100945d, 0x00000098,
+ 0x57e0745d, 0x00004388, 0x0100745d, 0x00008098, 0x5840645d, 0x00004488,
+ 0x8900645d, 0x0000a09d, 0x01805c5d, 0x00004789, 0x9220845d, 0x00000c8c,
+ 0x19a0845d, 0x000047b1, 0x8ce0bc5d, 0x00008e8d, 0x5f60bc5d, 0x0000c198,
+ 0x0100ac5d, 0x00000088, 0x2000ac5d, 0x00004598, 0x90209c5d, 0x0000118e,
+ 0x62c0cc5d, 0x00004488, 0x3100cc5d, 0x000020ae, 0xb880d45d, 0x0000f88a,
+ 0xd4000000, 0x00004188, 0x01038458, 0x00001281, 0x00028404, 0x00001583,
+ 0x0102e05c, 0x0000e110, 0x01980001, 0x00004990, 0x0f02c406, 0x0000e814,
+ 0x0000820a, 0x00007008, 0x00008305, 0x00007000, 0x820e266c, 0x0000f404,
+ 0x2a409800, 0x00007900, 0x00003400, 0x00000980, 0x2abaf75f, 0x00000a2c,
+ 0x00000407, 0x00001583, 0x01400020, 0x00006190, 0x04800000, 0x0000c990,
+ 0x01c00000, 0x00006190, 0x03400000, 0x00004990, 0x0000821d, 0x00007008,
+ 0x0412d800, 0x00007900, 0x0005a686, 0x00000980, 0x0451b800, 0x0000f900,
+ 0x00358508, 0x00008980, 0x81401000, 0x00001980, 0xc2f00600, 0x0000e101,
+ 0x08001a0b, 0x00006106, 0x03e00702, 0x0000802e, 0x821d2213, 0x0000f100,
+ 0x317c94ac, 0x00003038, 0x30bbb0ac, 0x00003038, 0x01800000, 0x0000e181,
+ 0x21c30060, 0x0000c900, 0x317ca6ac, 0x00002080, 0x40000593, 0x00006583,
+ 0x233fe01f, 0x00000980, 0x01800800, 0x0000e191, 0x04032877, 0x00006001,
+ 0x34e03877, 0x00006001, 0x0fc32c60, 0x0000b000, 0x00000406, 0x00006583,
+ 0x44c3be77, 0x0000a000, 0x01000800, 0x00006191, 0x01001000, 0x00004989,
+ 0x02010000, 0x0000f900, 0x00080822, 0x00008980, 0x81010677, 0x0000e283,
+ 0x61a02008, 0x0000a002, 0x313c42ac, 0x00003038, 0x01000800, 0x00006191,
+ 0x01001000, 0x00004989, 0x303b42ac, 0x00003038, 0x303b54ac, 0x0000b038,
+ 0x303b66ac, 0x00003038, 0x307b70ac, 0x00003038, 0x307b82ac, 0x0000b038,
+ 0x307b94ac, 0x00003038, 0x307ba6ac, 0x0000b038, 0x30bbc2ac, 0x00003038,
+ 0x30bbd4ac, 0x0000b038, 0x30bbe6ac, 0x00003038, 0x30fbf0ac, 0x00003038,
+ 0x30fc02ac, 0x00003038, 0x30fc14ac, 0x0000b038, 0x313c30ac, 0x0000a080,
+ 0x313c54ac, 0x00002080, 0x317c78ac, 0x0000a000, 0x317c82ac, 0x0000b038,
+ 0x31bcc2ac, 0x0000a080, 0x31bcd4ac, 0x0000b038, 0x00000406, 0x00006583,
+ 0x65a02008, 0x0000a003, 0x81000000, 0x00006180, 0x00000094, 0x0000e600,
+ 0x26500000, 0x00007900, 0x00003200, 0x00000980, 0x80002804, 0x00007902,
+ 0x01000000, 0x00000604, 0x02408000, 0x00007900, 0x00200100, 0x00008980,
+ 0x02801000, 0x00007900, 0x00005504, 0x00000980, 0x23831863, 0x0000e100,
+ 0x03c32894, 0x00006001, 0x22fb1761, 0x00000834, 0x257c0249, 0x00006180,
+ 0x259f4000, 0x00004980, 0x25c00000, 0x0000e180, 0x21001264, 0x00004880,
+ 0x217fe01f, 0x0000e180, 0x02c00000, 0x0000c980, 0x89800000, 0x00006180,
+ 0x0544388c, 0x0000c000, 0x04400888, 0x0000e180, 0xe0932264, 0x00000900,
+ 0xe0c00000, 0x0000e180, 0x20fb2764, 0x0000c901, 0x0000826e, 0x00007410,
+ 0xe1982800, 0x0000e180, 0x26732664, 0x00004901, 0x01001800, 0x00009991,
+ 0x0004408a, 0x00009502, 0x01001000, 0x00001989, 0x0000826e, 0x00007009,
+ 0x00044089, 0x00009502, 0x01000000, 0x00009989, 0x01000000, 0x00009991,
+ 0x0000826e, 0x0000f008, 0x003c3493, 0x00001503, 0x01000800, 0x000019a1,
+ 0x07847805, 0x00006100, 0xc000280a, 0x00002406, 0x00000c04, 0x00006583,
+ 0x00001009, 0x00002402, 0x01008275, 0x0000e080, 0x05800000, 0x0000c980,
+ 0x08c02374, 0x00006300, 0x02001008, 0x00000380, 0x82c02aec, 0x00007902,
+ 0x01000000, 0x00000604, 0x81ff2aec, 0x00002e84, 0x01008381, 0x0000e080,
+ 0x4000280a, 0x0000e407, 0x097c0025, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x01002282, 0x0000e300, 0xa0000809, 0x00002402, 0x81f82cec, 0x00005604,
+ 0x00382000, 0x00000000, 0x81fbe4ec, 0x0000d604, 0x003bc000, 0x00008000,
+ 0x0977f825, 0x0000f900, 0x003ffffe, 0x00008280, 0x0403b825, 0x00006000,
+ 0x80001008, 0x0000b402, 0x81f826ec, 0x00002684, 0x09000000, 0x00006180,
+ 0x12c3b825, 0x0000e000, 0x0a800000, 0x0000e180, 0x2443b825, 0x00006000,
+ 0x0e800000, 0x00006180, 0x33c3b825, 0x0000e000, 0x0ec00000, 0x0000e180,
+ 0x61ac1825, 0x00006000, 0x0f000000, 0x00006180, 0x05800800, 0x0000c988,
+ 0x40000d83, 0x00006583, 0x9000080a, 0x00002401, 0x60001009, 0x00006403,
+ 0x40001008, 0x00003403, 0x002b883c, 0x0000600a, 0x0000203b, 0x0000340d,
+ 0x03c00000, 0x00006180, 0x07043887, 0x00004900, 0x07431863, 0x0000e100,
+ 0x0000083b, 0x00006415, 0x888bb974, 0x00000206, 0x0a000000, 0x000082e4,
+ 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0,
+ 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8,
+ 0x0dc00000, 0x000003f4, 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4,
+ 0x10800000, 0x000084cc, 0x11000000, 0x000084d4, 0x11800000, 0x000084dc,
+ 0x12000000, 0x000084e4, 0x12800000, 0x000084ec, 0x13000000, 0x000084f4,
+ 0x13800000, 0x000084fc, 0x14000000, 0x000085c4, 0x14800000, 0x000085cc,
+ 0x15000000, 0x000085d4, 0x15800000, 0x000085dc, 0x0e3b6f6c, 0x00000324,
+ 0x43000000, 0x00006181, 0x09332664, 0x00004901, 0x493b2764, 0x0000e101,
+ 0x8a800c71, 0x0000c880, 0x22402005, 0x00006000, 0x22802005, 0x00000000,
+ 0x22002005, 0x0000e000, 0x04c02005, 0x00000000, 0x0000832b, 0x0000f400,
+ 0x03802005, 0x00006000, 0x05002005, 0x00008000, 0x89635164, 0x00008328,
+ 0x82c07f1b, 0x0000f100, 0x0000832b, 0x0000f200, 0x18000000, 0x00009981,
+ 0x82c07f23, 0x00007100, 0x000082c0, 0x0000f000, 0x82c07fd6, 0x00007004,
+ 0x000082c0, 0x0000f000, 0x82c08139, 0x00007004, 0x000082c0, 0x0000f000,
+ 0x82cb266c, 0x0000f404, 0x2afaff5e, 0x00000a28, 0x2a409e00, 0x00009980,
+ 0x00000407, 0x00001583, 0x01400020, 0x00006190, 0x04800000, 0x0000c990,
+ 0x01c00000, 0x00006190, 0x03400000, 0x00004990, 0x000082d7, 0x00007008,
+ 0x04057000, 0x0000f900, 0x00380996, 0x00000980, 0x00008219, 0x0000f400,
+ 0x04524000, 0x00007900, 0x000a0bb4, 0x00000980, 0x81401000, 0x00001980,
+ 0x303b42ac, 0x00003038, 0x303b54ac, 0x0000b038, 0x303b66ac, 0x00003038,
+ 0x307b70ac, 0x00003038, 0x81004668, 0x00009283, 0x307b82ac, 0x0000b038,
+ 0x307b94ac, 0x00003038, 0x00008326, 0x00007008, 0x82c0706b, 0x0000f300,
+ 0x19000000, 0x000086d4, 0x000082c0, 0x0000f000, 0x82c07f5a, 0x0000f100,
+ 0x000082c0, 0x0000f000, 0x00000c5e, 0x00009583, 0xe0001009, 0x0000640b,
+ 0x0000100a, 0x0000340a, 0x01001425, 0x00006491, 0xa2a2f008, 0x0000200a,
+ 0x000082ee, 0x00007008, 0x71802025, 0x0000e000, 0xe0001009, 0x0000b403,
+ 0x80000624, 0x00006583, 0x0000100a, 0x00002402, 0x4000050c, 0x00006583,
+ 0x6000100a, 0x00002402, 0xceeaf55e, 0x00006109, 0xd000082c, 0x0000e408,
+ 0x4f32f65e, 0x00001909, 0x000082f8, 0x0000f008, 0x4000250c, 0x00001583,
+ 0xceeaf55e, 0x00006109, 0xf000082c, 0x00006408, 0x4f32f65e, 0x00001909,
+ 0x000082c0, 0x00007200, 0x43006000, 0x00006181, 0x02001008, 0x0000c380,
+ 0x82c0803d, 0x00007004, 0x000082c0, 0x0000f000, 0x82c080f0, 0x0000f004,
+ 0x000082c0, 0x0000f000, 0x01038458, 0x00001281, 0x00028404, 0x00001583,
+ 0x0102e05c, 0x0000e110, 0x01980002, 0x00004990, 0x0f02c406, 0x0000e814,
+ 0x00008311, 0x0000f008, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x042ab000, 0x00007900, 0x00380996, 0x00000980, 0x04609800, 0x0000f900,
+ 0x002940b8, 0x00008980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x82f81400, 0x0000803c, 0x0000821c, 0x0000f400, 0x04b83704, 0x0000001c,
+ 0x81411800, 0x00001980, 0x4105052c, 0x00001283, 0x00008315, 0x0000700b,
+ 0x82c0817e, 0x00007100, 0x000082c0, 0x0000f000, 0x0c81659e, 0x00006800,
+ 0x82c07f3a, 0x0000f100, 0x000082c0, 0x0000f000, 0x82c07f35, 0x0000f100,
+ 0x000082c0, 0x0000f000, 0x01400020, 0x0000e180, 0x08001a0b, 0x00006106,
+ 0x0427b000, 0x0000f900, 0x00380994, 0x00008980, 0x04782800, 0x00007900,
+ 0x00280a2c, 0x00000980, 0x03400000, 0x0000e180, 0xc2f00600, 0x0000c901,
+ 0x82f81400, 0x0000803c, 0x0000821c, 0x0000f400, 0x04baef5c, 0x0000001c,
+ 0x81402800, 0x00009980, 0x81008668, 0x00006283, 0x18203c07, 0x00008901,
+ 0x2403402c, 0x0000e010, 0x0003402a, 0x00003011, 0x1003402a, 0x00006811,
+ 0x000808ec, 0x0000d780, 0x00884d80, 0x00008180, 0x00000460, 0x00006583,
+ 0x01c00000, 0x00000980, 0x0018d0ec, 0x00005780, 0x00004803, 0x00008080,
+ 0x01801002, 0x0000e100, 0x00001807, 0x00006106, 0x01009000, 0x00007900,
+ 0x0004b080, 0x00000980, 0x01400000, 0x0000f900, 0x00018008, 0x00000980,
+ 0x00502800, 0x0000f900, 0x0004c150, 0x00008980, 0x000800ec, 0x00005780,
+ 0x00004000, 0x00000080, 0x0000834e, 0x00007408, 0xc000a800, 0x00006181,
+ 0xc0001807, 0x0000e006, 0xc0c07800, 0x00001980, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008810ec, 0x00005780,
+ 0x008041c1, 0x000087c0, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x834c7042, 0x00007500, 0x01400020, 0x0000e180,
+ 0x19000000, 0x0000c980, 0x0180b800, 0x00006180, 0x01e80800, 0x00004980,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x008816ec, 0x0000df80,
+ 0x008041c1, 0x000007c4, 0x000cb022, 0x83502259, 0x0000f004, 0x000000d0,
+ 0x001e22c9, 0x001e41c6, 0x001e4291, 0x001e43c5, 0x001e1f3a, 0x001e8bd6,
+ 0x001e20be, 0x001e2077, 0x001e20a7, 0x001e204d, 0x001e25a8, 0x001e208f,
+ 0x001e65bd, 0x00000090, 0x00002bfa, 0x00002b4b, 0x001e2ffb, 0x001e32bf,
+ 0x001e2f92, 0x00022e74, 0x00022ed5, 0x00002d33, 0x00002e36, 0x00000020,
+ 0x000489ac, 0x001e8b56, 0x00000020, 0x000487f5, 0x001e874b, 0x00000020,
+ 0x00060aae, 0x000600d8, 0x00000020, 0x001e0a65, 0x00060116, 0x00000020,
+ 0x001e17e5, 0x001e16f2, 0x00000020, 0x000a46d4, 0x000a4ae1, 0x00000020,
+ 0x00124475, 0x001243f9, 0x00000060, 0x000c7ecc, 0x000c6f31, 0x001281b8,
+ 0x00127f7f, 0x000c70e8, 0x000c6ecf, 0x00000020, 0x000c70e8, 0x000c7a88,
+ 0x00000020, 0x000c7eef, 0x000c6fd7, 0x00000020, 0x00000080, 0x00000000,
+ 0x00000020, 0x17c112b5, 0x00000000, 0x00000060, 0x0001000a, 0x00001e08,
+ 0x58befdf4, 0x00000000, 0x01020258, 0x00400804, 0x00000070, 0x00000022,
+ 0x00000000, 0x00000400, 0x00000000, 0x00000000, 0x00000000, 0x00001388,
+ 0x00000050, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x000000c8,
+ 0x00002800, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff,
+ 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0x00014012,
+ 0xffff0000, 0x00000020, 0x01860000, 0x00000018, 0x000000a0, 0xffff0007,
+ 0x00000fff, 0xc03e00fd, 0x00000ff0, 0x003fffff, 0x00000f38, 0x01fc01bf,
+ 0x00000ffe, 0xffffff83, 0x00000fff, 0x00000020, 0x803e3fff, 0x00000ff7,
+ 0x00010012, 0x001e11ac, 0x0009c980, 0xffffffff, 0x00007f86, 0x00011156,
+ 0x0000f004, 0x0143068f, 0x00006281, 0x0a447c26, 0x0000a000, 0x25000800,
+ 0x0000e181, 0x944478af, 0x0000e000, 0x89200000, 0x000080d6, 0x2b400000,
+ 0x0000e180, 0x2b84608c, 0x00004900, 0x27000000, 0x000089f4, 0x27800000,
+ 0x000089fc, 0x49025000, 0x0000e181, 0x65001c26, 0x0000c081, 0x00020405,
+ 0x00001583, 0x494085ae, 0x00009283, 0xffffffff, 0x00007f86, 0x0000012b,
+ 0x0000f008, 0x00000126, 0x00007010, 0x00131a42, 0x00007100, 0x400005f3,
+ 0x00009583, 0x0000011c, 0x0000700b, 0x00073023, 0x00001502, 0x2b4730e6,
+ 0x0000e168, 0x08c730e6, 0x0000c968, 0x0980a722, 0x000092e9, 0x0000011c,
+ 0x0000f060, 0x0000a426, 0x00001583, 0x65202d94, 0x00001111, 0x000000f6,
+ 0x0000f009, 0x80025600, 0x00001583, 0x014085ae, 0x00009489, 0x0f002c24,
+ 0x0000e808, 0x8140468f, 0x0000e283, 0x0c057405, 0x00002080, 0x178008a6,
+ 0x00006090, 0x60000853, 0x00002413, 0x00005405, 0x00009583, 0x494405ae,
+ 0x00009283, 0xffffffff, 0x00007f86, 0x00000122, 0x0000f038, 0x00000071,
+ 0x00007010, 0x09000800, 0x00006181, 0x0f057405, 0x00006006, 0x00001c05,
+ 0x00009583, 0x00001c05, 0x00009583, 0x00000405, 0x00009583, 0x00000087,
+ 0x00007008, 0x00000072, 0x00007038, 0x0000008f, 0x0000f008, 0x00001405,
+ 0x00001583, 0xc1dc6b8d, 0x0000e108, 0x0bc47c05, 0x00006008, 0xe5147a8f,
+ 0x00009908, 0x00000071, 0x00007010, 0x00000c05, 0x00001583, 0x07080000,
+ 0x00009988, 0x08c1141c, 0x0000680a, 0x00000048, 0x00007010, 0x003c16ee,
+ 0x00007204, 0x0940e01c, 0x00001900, 0x07398f32, 0x00008134, 0x07f9872f,
+ 0x00000138, 0x00000032, 0x0000f890, 0x00000000, 0x00000000, 0x40000031,
+ 0x0000f892, 0x00000001, 0x00008060, 0x2000021e, 0x0000c990, 0x0000031e,
+ 0x00008092, 0xffffffff, 0x00007f86, 0x8000021f, 0x00001582, 0x07800000,
+ 0x00009988, 0x00000100, 0x00007011, 0xc0000394, 0x00001582, 0x1b000000,
+ 0x0000e190, 0x0c047c05, 0x0000e010, 0x1b400000, 0x00006190, 0x1b800000,
+ 0x00004990, 0x0000006e, 0x0000f008, 0x0980e01e, 0x0000e002, 0x18800000,
+ 0x00000980, 0x0940001d, 0x0000e084, 0xd89c738e, 0x00008900, 0x00000405,
+ 0x00006583, 0x18401800, 0x00000980, 0x00000862, 0x00006512, 0xa0000862,
+ 0x0000b40a, 0xc0000307, 0x0000e582, 0x18c00000, 0x00008980, 0x1bc00000,
+ 0x00006180, 0x18088801, 0x00004980, 0x184c7594, 0x0000060e, 0x000000d0,
+ 0x0000f008, 0x000ff86e, 0x0000e501, 0x6005386f, 0x0000b486, 0xe000186e,
+ 0x0000e403, 0x0000008f, 0x0000b401, 0x1b392f26, 0x00008634, 0x006506aa,
+ 0x0000f500, 0x0780f307, 0x0000e000, 0xdbd81302, 0x00000900, 0x9b983b07,
+ 0x00009900, 0x0008c0ec, 0x00005780, 0x00d87e80, 0x000080c0, 0x0008d8ec,
+ 0x00005780, 0x00007800, 0x00008080, 0x000920ec, 0x00005780, 0x00005000,
+ 0x00008080, 0x24000840, 0x00006180, 0x24400000, 0x0000c980, 0x24c00000,
+ 0x000089c8, 0x0c857405, 0x00006800, 0x01602ce5, 0x00001401, 0xf7e02822,
+ 0x00006801, 0x007206c2, 0x0000f100, 0x00003c05, 0x00001583, 0xc1dc6b8d,
+ 0x0000e108, 0x0bc47c05, 0x00006008, 0xe5147a8f, 0x00009908, 0x00000085,
+ 0x0000f010, 0x00000c05, 0x00001583, 0x07080000, 0x00009988, 0x08c1141c,
+ 0x0000680a, 0x00000048, 0x00007010, 0x007d16ee, 0x00007204, 0x0940e01c,
+ 0x00001900, 0x07398f32, 0x00008134, 0x07f9872f, 0x00000138, 0x00000032,
+ 0x0000f890, 0x00000000, 0x00000000, 0x40000031, 0x0000f892, 0x00000001,
+ 0x00008060, 0x0fa0021e, 0x0000c591, 0x87c0031e, 0x0000fc90, 0x00004405,
+ 0x00001583, 0x00000071, 0x00007013, 0x414015af, 0x00009283, 0x81400ee3,
+ 0x00009888, 0x53212c05, 0x0000a188, 0xffffffff, 0x00007f86, 0x008e06f6,
+ 0x0000f503, 0x89400a25, 0x00001088, 0x53212c05, 0x00002988, 0x008f06c2,
+ 0x00007100, 0xc1dc6b8d, 0x00006100, 0x0b847c05, 0x00006000, 0x00000c05,
+ 0x0000e583, 0xe5147a8f, 0x00008900, 0x07000000, 0x00001988, 0x08c1141c,
+ 0x0000680a, 0x000000a4, 0x0000f010, 0x009816ee, 0x0000f204, 0x0940e01c,
+ 0x00001900, 0x07398f32, 0x00008134, 0x07f9872f, 0x00000138, 0x00000032,
+ 0x0000f890, 0x00000000, 0x00000000, 0x43800031, 0x00007892, 0x00000001,
+ 0x00008060, 0x2000021e, 0x0000c990, 0x0000031e, 0x00008092, 0xffffffff,
+ 0x00007f86, 0x8000021f, 0x00001582, 0x07800000, 0x00009988, 0x00000100,
+ 0x00007011, 0x8000028f, 0x00001582, 0x1b000000, 0x0000e190, 0x0c047c05,
+ 0x0000e010, 0x1b400000, 0x00006190, 0x1b800000, 0x00004990, 0x000000ca,
+ 0x00007008, 0x0980e01e, 0x0000e002, 0x18800000, 0x00000980, 0x0940001d,
+ 0x0000e084, 0xd89c738e, 0x00008900, 0x00000405, 0x00006583, 0x18401800,
+ 0x00000980, 0x00000862, 0x00006512, 0xa0000862, 0x0000b40a, 0xc000038d,
+ 0x00006582, 0x18c00000, 0x00008980, 0x1bc00000, 0x00006180, 0x18088801,
+ 0x00004980, 0x984c718f, 0x0000060e, 0x000000e3, 0x0000f008, 0x000ff86e,
+ 0x0000e501, 0x6005386f, 0x0000b486, 0xe000186e, 0x0000e403, 0x0000008f,
+ 0x0000b401, 0x1b392f26, 0x00008634, 0x00c106aa, 0x00007500, 0x0780f38d,
+ 0x00006000, 0xdbd81302, 0x00000900, 0x9b9c6b8d, 0x00009900, 0x0008c0ec,
+ 0x00005780, 0x00d87e80, 0x000080c0, 0x0008d8ec, 0x00005780, 0x00007800,
+ 0x00008080, 0x000920ec, 0x00005780, 0x00005000, 0x00008080, 0x24000840,
+ 0x00006180, 0x24400000, 0x0000c980, 0x24c00000, 0x000089c8, 0x014706ae,
+ 0x00001281, 0x00020405, 0x00001583, 0x07800000, 0x0000e188, 0xf0000022,
+ 0x0000e409, 0x00000131, 0x0000f011, 0x00d006c2, 0x00007100, 0x0000086e,
+ 0x0000e700, 0x6005386f, 0x0000b486, 0xc000086e, 0x00006401, 0x0000008f,
+ 0x0000b401, 0x00d906aa, 0x00007500, 0x0780f307, 0x0000e000, 0xe000186e,
+ 0x00002403, 0xdbd81302, 0x0000e100, 0x0418386e, 0x0000e101, 0x0008c0ec,
+ 0x00005780, 0x00d87e80, 0x000080c0, 0x0008d8ec, 0x00005780, 0x00007800,
+ 0x00008080, 0x000920ec, 0x00005780, 0x00005000, 0x00008080, 0x0000006e,
+ 0x0000f400, 0x24000840, 0x00006180, 0x24400000, 0x0000c980, 0x24c00000,
+ 0x000089c8, 0x0000086e, 0x0000e700, 0x6005386f, 0x0000b486, 0xc000086e,
+ 0x00006401, 0x0000008f, 0x0000b401, 0x00ec06aa, 0x00007500, 0x0780f38d,
+ 0x00006000, 0xe000186e, 0x00002403, 0xdbd81302, 0x0000e100, 0x041c686e,
+ 0x00006101, 0x0008c0ec, 0x00005780, 0x00d87e80, 0x000080c0, 0x0008d8ec,
+ 0x00005780, 0x00007800, 0x00008080, 0x000920ec, 0x00005780, 0x00005000,
+ 0x00008080, 0x000000ca, 0x00007400, 0x24000840, 0x00006180, 0x24400000,
+ 0x0000c980, 0x24c00000, 0x000089c8, 0xc000170a, 0x0000e583, 0x65202d94,
+ 0x00000101, 0x40000dae, 0x0000e408, 0x80000852, 0x0000340a, 0xc0000022,
+ 0x0000e409, 0x000038ae, 0x00003489, 0x80025600, 0x00001583, 0x00000020,
+ 0x0000f400, 0x014085ae, 0x00009489, 0x0f002c24, 0x0000e808, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x01400000, 0x00006180, 0x08001a09,
+ 0x0000e106, 0x02dff800, 0x00007900, 0x0031e5a0, 0x00008980, 0x032f0000,
+ 0x00007900, 0x00131624, 0x00008980, 0x03400000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x82781400, 0x00000028, 0x010e1110, 0x00007500, 0x02005f02,
+ 0x0000809d, 0x41700600, 0x00009901, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x01400000, 0x00006180, 0x08001a09, 0x0000e106, 0x02dff800,
+ 0x00007900, 0x0031e5a0, 0x00008980, 0x032f0000, 0x00007900, 0x00131624,
+ 0x00008980, 0x03400000, 0x0000e180, 0xc2700600, 0x00004901, 0x82781400,
+ 0x00000028, 0x011c1110, 0x00007500, 0x02005f02, 0x0000809d, 0x41700600,
+ 0x00009901, 0x80025600, 0x0000e583, 0x40000dae, 0x0000a400, 0x00000020,
+ 0x0000f400, 0x014085ae, 0x00006489, 0x65202d94, 0x00000101, 0x0f002c24,
+ 0x0000e808, 0x01260713, 0x0000f500, 0x0a057405, 0x00006084, 0x08446605,
+ 0x0000b000, 0x09000000, 0x00001980, 0x8140468f, 0x00001283, 0x65002426,
+ 0x00006089, 0x25000000, 0x00000989, 0x00000134, 0x0000f011, 0x00000020,
+ 0x00007000, 0x16400000, 0x000005e8, 0x16c00000, 0x000085f0, 0x01301cb7,
+ 0x0000f500, 0x17400000, 0x000005f8, 0x17c00000, 0x00001980, 0x013106c2,
+ 0x0000f100, 0x013406c2, 0x00007500, 0x8140268f, 0x00001283, 0xf0000822,
+ 0x0000ec11, 0x14000000, 0x000085c4, 0x14800000, 0x000085cc, 0x15000000,
+ 0x000085d4, 0x15800000, 0x000085dc, 0x16000000, 0x000085e4, 0x16800000,
+ 0x000085ec, 0x00000020, 0x0000f400, 0x17000000, 0x000085f4, 0x17c00000,
+ 0x000085f8, 0x003fb800, 0x0000f900, 0x003ffffe, 0x00008280, 0x02000001,
+ 0x0000e586, 0x00180805, 0x00003586, 0x003cf800, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x41c00400, 0x000084ec, 0x00005001, 0x0000e505, 0x00084805,
+ 0x0000b505, 0x0000384b, 0x00006106, 0x80000800, 0x00003402, 0x001000ec,
+ 0x00005780, 0x00884a80, 0x000000c0, 0x12006000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x12580800, 0x0000f900, 0x00004040, 0x00008980, 0x13000000,
+ 0x00007900, 0x00010000, 0x00000980, 0xc0000801, 0x00006401, 0xc0000005,
+ 0x00003407, 0xc0c00000, 0x00006180, 0xc000384b, 0x0000e006, 0x0a110004,
+ 0x0000e180, 0x0a400000, 0x0000c980, 0x0a800000, 0x000082ec, 0x13400000,
+ 0x000004f8, 0x13c00000, 0x0000e180, 0x12803006, 0x00004900, 0xc0001800,
+ 0x00009981, 0x009096ec, 0x00005f80, 0x00005000, 0x00000084, 0x49026000,
+ 0x0000e181, 0x944478af, 0x0000e000, 0xa5000801, 0x000082d2, 0x2b80078c,
+ 0x000009b0, 0x27400000, 0x000009f8, 0x01651c8a, 0x00007500, 0x27e01800,
+ 0x000089d2, 0x81406401, 0x000080d7, 0x016706c2, 0x00007300, 0x2b794728,
+ 0x0000020c, 0x016b15a5, 0x00007500, 0x25481800, 0x0000e180, 0x23501202,
+ 0x0000c900, 0x09e02c05, 0x00009900, 0x05000000, 0x000081d4, 0x05c00000,
+ 0x000081d8, 0x00400c05, 0x0000c589, 0x8d801405, 0x00008e89, 0x0173158b,
+ 0x00007404, 0x0dc09800, 0x0000f900, 0x00003c00, 0x00008980, 0x0e383707,
+ 0x00000318, 0x00000434, 0x00001583, 0x83bf1fe3, 0x00001908, 0x84c0680e,
+ 0x0000a088, 0x0000017c, 0x00007010, 0xffffffff, 0x00007f97, 0x03803c0d,
+ 0x00001281, 0x0340140e, 0x00001181, 0x00000c0d, 0x00009583, 0x00000181,
+ 0x0000701b, 0x09ca1000, 0x00007900, 0x00136c1c, 0x00008980, 0x0181119b,
+ 0x0000f500, 0x09b83f06, 0x00000210, 0x08a1a434, 0x00009900, 0x35f84633,
+ 0x0000a000, 0x83400ee3, 0x00009880, 0x5300020d, 0x00005180, 0x00400000,
+ 0x00008000, 0x5300040d, 0x00005180, 0x00400000, 0x00008000, 0xc2401708,
+ 0x00001283, 0x35f87833, 0x0000a080, 0x3738d833, 0x0000a000, 0x3700d233,
+ 0x0000f902, 0x06400000, 0x00008000, 0x3700c433, 0x00007902, 0x04c00000,
+ 0x00008000, 0x37789433, 0x0000a000, 0x000001ea, 0x0000f408, 0x5300020d,
+ 0x0000d100, 0x00400000, 0x00000080, 0x5300040d, 0x0000d100, 0x00400000,
+ 0x00000080, 0x40000d1b, 0x0000e583, 0x83b71ee3, 0x00000900, 0x2e20400e,
+ 0x00002981, 0x2c047608, 0x00001680, 0x820588b0, 0x00001000, 0x03804000,
+ 0x00006189, 0x03808000, 0x00004991, 0x02800000, 0x0000f900, 0x000010c4,
+ 0x00008980, 0xc259f208, 0x00007900, 0x00000008, 0x00000080, 0x82680500,
+ 0x00006100, 0x0020700a, 0x0000e106, 0x703850ec, 0x0000d600, 0x00384800,
+ 0x00008000, 0x02800000, 0x0000f900, 0x00007fc0, 0x00000980, 0x82a0740e,
+ 0x00006100, 0x02780005, 0x0000c980, 0x7038c0ec, 0x0000d600, 0x00389800,
+ 0x00000000, 0x04181009, 0x00006987, 0x703850ec, 0x0000d600, 0x00384800,
+ 0x00008000, 0x00c002ec, 0x0000df80, 0x100d7009, 0x00009284, 0x40000d1b,
+ 0x00001583, 0x000001b9, 0x00007013, 0x2c047608, 0x00001680, 0x038588b0,
+ 0x00009000, 0x83823a0e, 0x00001080, 0x2f784e0e, 0x0000a180, 0xffffffff,
+ 0x00007fa7, 0x2fb8480e, 0x00002980, 0x2f784e0e, 0x00002100, 0xffffffff,
+ 0x00007fa7, 0x2fb8480e, 0x0000a900, 0x0dc00000, 0x0000e180, 0x0d800020,
+ 0x0000c980, 0x03707fe4, 0x00006000, 0x0d400000, 0x00004980, 0x02c00000,
+ 0x000003d0, 0x02800000, 0x00006180, 0x0e40c018, 0x0000c900, 0x0e009813,
+ 0x00006100, 0x8da8dd1b, 0x00004900, 0xcdd06a0d, 0x00001900, 0x4360fa0d,
+ 0x000049b0, 0xa400051b, 0x00008093, 0x01c00020, 0x00006180, 0x02000000,
+ 0x0000c980, 0x02fb0800, 0x00007900, 0x001abc2e, 0x00008980, 0x03125000,
+ 0x0000f900, 0x000a98fe, 0x00008980, 0x01400000, 0x000080f4, 0x81c01000,
+ 0x00009980, 0xc1c00800, 0x0000e181, 0x08001a09, 0x0000e106, 0x82600500,
+ 0x00008026, 0x02801002, 0x00009900, 0x01d21110, 0x00007100, 0x2c047608,
+ 0x00001680, 0x838588b0, 0x00001000, 0x03800e08, 0x00006080, 0x83426a0e,
+ 0x00004080, 0x2f60560d, 0x00002980, 0x83810000, 0x0000e180, 0x03407608,
+ 0x00004000, 0x1720400d, 0x0000a080, 0xffffffff, 0x00007fa7, 0x8010420e,
+ 0x00009502, 0x0d000800, 0x000019d9, 0x0000025d, 0x0000f071, 0x2c047608,
+ 0x00001680, 0x034588b0, 0x00009000, 0x83424a0d, 0x00009080, 0x2f80000d,
+ 0x0000d180, 0x00400000, 0x00008000, 0x2f78c60d, 0x0000d100, 0x00389800,
+ 0x00000000, 0x2fb9b20d, 0x00005100, 0x0039a800, 0x00008000, 0x2fb85c0d,
+ 0x0000d100, 0x0039a000, 0x00000000, 0x2fb9b80d, 0x00002900, 0xc2400f08,
+ 0x00001283, 0x82680500, 0x0000e110, 0x83b71ee3, 0x00004910, 0x2e20400e,
+ 0x0000a991, 0x0000023c, 0x0000f008, 0x00000c1b, 0x00001583, 0x2c047608,
+ 0x00001680, 0x820588b0, 0x00001000, 0x03808000, 0x00006191, 0x03804000,
+ 0x00004989, 0x02800000, 0x0000f900, 0x000010c4, 0x00008980, 0xc257ba08,
+ 0x0000f900, 0x00000008, 0x00000080, 0x0020700a, 0x00006906, 0x703850ec,
+ 0x0000d600, 0x00384800, 0x00008000, 0x02800000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0x82a0740e, 0x00006100, 0x02780005, 0x0000c980, 0x7038d0ec,
+ 0x00005600, 0x0038c800, 0x00000000, 0x04181009, 0x00006987, 0x703850ec,
+ 0x0000d600, 0x00384800, 0x00008000, 0x00c002ec, 0x0000df80, 0x10103009,
+ 0x00001284, 0x00000c1b, 0x00001583, 0x00000210, 0x00007013, 0x2c047608,
+ 0x00001680, 0x834588b0, 0x00001000, 0x2f784e0d, 0x0000a180, 0xffffffff,
+ 0x00007fa7, 0x2fb8480d, 0x00002980, 0x2f784e0d, 0x00002100, 0xffffffff,
+ 0x00007fa7, 0x2fb8480d, 0x0000a900, 0x0dc00000, 0x0000e180, 0x0d800020,
+ 0x0000c980, 0x03b07fe4, 0x00006000, 0x0d400000, 0x00004980, 0x02c00000,
+ 0x000003d0, 0x04000000, 0x0000e180, 0x0e40d01a, 0x0000c900, 0x0e28df19,
+ 0x0000831b, 0xcdd0720e, 0x00001900, 0x0040fa0e, 0x0000c5b1, 0x00a0041b,
+ 0x00007a96, 0x01c00020, 0x00006180, 0x02000000, 0x0000c980, 0x02fb0000,
+ 0x0000f900, 0x001abc2e, 0x00008980, 0x033ea800, 0x0000f900, 0x001a8d3a,
+ 0x00000980, 0x000001cd, 0x00007400, 0x01400000, 0x000080f4, 0x81c01000,
+ 0x00009980, 0x2c047608, 0x00001680, 0x834588b0, 0x00001000, 0x03400e08,
+ 0x00006080, 0x8380320d, 0x00004080, 0x2f60860e, 0x0000a980, 0x83410000,
+ 0x0000e180, 0x83906e08, 0x00004000, 0x16e0460e, 0x00002080, 0xffffffff,
+ 0x00007fa7, 0x8010420d, 0x00009502, 0x0d000800, 0x000019d9, 0x00000269,
+ 0x00007071, 0x2c047608, 0x00001680, 0x038588b0, 0x00009000, 0x8340120e,
+ 0x00009080, 0x2f80000d, 0x0000d180, 0x00400000, 0x00008000, 0x2f78d60d,
+ 0x00005100, 0x0038c800, 0x00000000, 0x2fb9b20d, 0x00005100, 0x0039a800,
+ 0x00008000, 0x2fb85c0d, 0x0000d100, 0x0039a000, 0x00000000, 0x2fb9b80d,
+ 0x00002900, 0xc2404708, 0x0000e283, 0x83800ee3, 0x00000880, 0x83400ee3,
+ 0x00006090, 0x09004409, 0x0000e010, 0x5320440d, 0x00002111, 0x2ae0960e,
+ 0x00002981, 0xffffffff, 0x00007f97, 0x0207f408, 0x00009291, 0x02604c08,
+ 0x00001311, 0x53304c0d, 0x0000a911, 0x03800000, 0x000080fc, 0x03009000,
+ 0x0000f900, 0x0000d200, 0x00008980, 0x03400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x04382f04, 0x00000104, 0x04b83f06, 0x0000010c, 0xc3981302,
+ 0x00001900, 0x00981eec, 0x0000df80, 0x00005000, 0x00000084, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x01802004, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x02c62000, 0x0000f900, 0x00136c1c, 0x00008980, 0x03179800,
+ 0x00007900, 0x001cdbc6, 0x00000980, 0x03400000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x000001d1, 0x0000f400, 0x82781400, 0x00000028, 0x02002f06,
+ 0x0000809d, 0x02480000, 0x00009980, 0x026115b7, 0x00007500, 0x00304009,
+ 0x0000e886, 0x0c404809, 0x00001900, 0x02480000, 0x00007900, 0x00004040,
+ 0x00008980, 0x026615b7, 0x0000f500, 0x00304009, 0x0000e886, 0x0c404809,
+ 0x00001900, 0x000001de, 0x0000f200, 0xc2c00f0b, 0x00006081, 0x20000834,
+ 0x00002401, 0x02400000, 0x00001980, 0x026d15b7, 0x00007500, 0x00304009,
+ 0x0000e886, 0x0c404809, 0x00001900, 0x02400000, 0x0000f900, 0x00004040,
+ 0x00008980, 0x027215b7, 0x0000f500, 0x00304009, 0x0000e886, 0x0c404809,
+ 0x00001900, 0x00000230, 0x0000f200, 0xc2c00f0b, 0x00006081, 0x20000834,
+ 0x00002401, 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x82391001,
+ 0x0000e080, 0x00001000, 0x00003504, 0x40600621, 0x0000808d, 0x80000622,
+ 0x00006583, 0x86291001, 0x00002001, 0x00000001, 0x00007480, 0xc0211422,
+ 0x00006101, 0x96711001, 0x0000e001, 0x80c03800, 0x00001991, 0x17800702,
+ 0x000005bc, 0x0000185f, 0x00006906, 0x17001000, 0x00007900, 0x0002c000,
+ 0x00000980, 0x17505000, 0x0000f900, 0x00044040, 0x00000980, 0x00000000,
+ 0x0000f480, 0x0018b8ec, 0x0000d780, 0x00005802, 0x00008080, 0xc000185f,
+ 0x0000e806, 0x0dba5f4a, 0x00000320, 0x88d722e4, 0x0000e100, 0x0dc09c00,
+ 0x0000c980, 0x028e158b, 0x00007004, 0x35f90833, 0x00003038, 0xffffffff,
+ 0x00007fa7, 0x08390f22, 0x00008314, 0x0d010020, 0x00006100, 0x00129822,
+ 0x0000e186, 0x02963486, 0x00007404, 0x041a9022, 0x00006987, 0x0d811022,
+ 0x00009900, 0xb9111a23, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x18000000, 0x000086c4, 0x18800001, 0x000006cc, 0x19000000,
+ 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000,
+ 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000,
+ 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000,
+ 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000,
+ 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000,
+ 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0xc8d722e4,
+ 0x00001900, 0x02af028a, 0x0000f004, 0x00000280, 0x00007200, 0xb9191b23,
+ 0x00001900, 0x02b515a5, 0x00007500, 0x25501800, 0x0000e180, 0x23501202,
+ 0x0000c900, 0x09e24c49, 0x00009900, 0x17000000, 0x000085f4, 0x17800000,
+ 0x000085fc, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc, 0x19000000,
+ 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000,
+ 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000,
+ 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000,
+ 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000,
+ 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000,
+ 0x000088cc, 0x21000000, 0x000088d4, 0x21c00000, 0x000088d8, 0x78e05449,
+ 0x00004388, 0x00005449, 0x00008098, 0x80803449, 0x0000c388, 0x00003449,
+ 0x00008098, 0x03c01c49, 0x0000c588, 0x09802449, 0x0000008e, 0x27003c49,
+ 0x0000c589, 0x0b404c49, 0x0000008d, 0x81807c49, 0x0000c488, 0xd2007c49,
+ 0x0000809d, 0xfbc05c49, 0x0000f88a, 0x00000001, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x00006c49, 0x00009583, 0xd250c218, 0x00009908, 0x0000040c,
+ 0x00007009, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02ca2000,
+ 0x0000f900, 0x00136c1e, 0x00000980, 0x03179800, 0x00007900, 0x001cdbc6,
+ 0x00000980, 0x01424849, 0x0000e100, 0x08001a09, 0x0000e106, 0x03400000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x040c1110, 0x0000f500, 0x82781400,
+ 0x00000028, 0x81c02800, 0x00006180, 0x02024048, 0x00004900, 0x00008449,
+ 0x00009583, 0x000003ea, 0x0000f00b, 0x00008c49, 0x00001583, 0x000002db,
+ 0x0000f013, 0x00000043, 0x0000e582, 0x41197b2f, 0x00000900, 0x01800000,
+ 0x00006180, 0x82011804, 0x0000e001, 0x01800800, 0x00006188, 0x91c11804,
+ 0x00006001, 0x4000053f, 0x00006583, 0x1a000000, 0x00000980, 0x1a400000,
+ 0x00006180, 0xb6e03004, 0x00006001, 0x1a800000, 0x000086ec, 0x1b000000,
+ 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000,
+ 0x000088d4, 0x00000312, 0x0000f410, 0x21800000, 0x000088dc, 0x01401800,
+ 0x00006191, 0x04800000, 0x00004980, 0x0001a036, 0x00009502, 0x01401000,
+ 0x00009989, 0x00000312, 0x0000f009, 0x0001a035, 0x00009502, 0x0169fd3f,
+ 0x00009909, 0x01400000, 0x00001991, 0x00000312, 0x00007008, 0x0039943f,
+ 0x00001503, 0x01400800, 0x000099a1, 0x82c040ec, 0x00007902, 0x01c00000,
+ 0x00000604, 0x00001405, 0x0000e583, 0xc1a02c05, 0x00008901, 0x00001c05,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x0000035c, 0x00007008, 0x00000350,
+ 0x00007008, 0x00000c05, 0x00001583, 0x81800000, 0x0000e191, 0xc339ff3f,
+ 0x0000c909, 0x81b9ff3f, 0x00006109, 0x04800800, 0x00004988, 0x00000322,
+ 0x00007010, 0x0381e008, 0x0000e100, 0x02c1a034, 0x00008900, 0x00000043,
+ 0x0000e582, 0x08222837, 0x00008700, 0x83400120, 0x000081b8, 0x88371ee3,
+ 0x0000e100, 0x044728e5, 0x00004908, 0x2e010020, 0x0000a180, 0x04421843,
+ 0x00006110, 0xe0000004, 0x00006401, 0x053fe014, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x18800000, 0x00007900, 0x00044000, 0x00008980, 0x41520240,
+ 0x00006100, 0xd761001e, 0x0000e003, 0x08000c5a, 0x0000e283, 0x8199732e,
+ 0x00008900, 0x19080000, 0x0000f900, 0x00001510, 0x00008980, 0x01f98f30,
+ 0x00008020, 0x02400000, 0x00006180, 0x0281c839, 0x0000c900, 0x0301fa32,
+ 0x00008034, 0x837a0b45, 0x0000003c, 0x04021042, 0x00006100, 0x04c00834,
+ 0x00004180, 0x18000000, 0x000086c4, 0x18e2a000, 0x00006180, 0x19400000,
+ 0x00004980, 0x19800000, 0x000086dc, 0x06000000, 0x000081e4, 0x06800000,
+ 0x000081ec, 0x0000034d, 0x0000f408, 0x07000000, 0x000081f4, 0x07c1a034,
+ 0x00006100, 0x00002866, 0x0000e417, 0x88000e40, 0x00006283, 0x40000867,
+ 0x0000a403, 0x1c81a835, 0x0000e100, 0x20000862, 0x0000640a, 0x0800145a,
+ 0x0000e283, 0x2001b036, 0x00008900, 0x1c41a034, 0x0000e100, 0xc000081e,
+ 0x00006411, 0x0000040b, 0x00007400, 0xffffffff, 0x00007f86, 0xa642d01e,
+ 0x0000e801, 0x4000053f, 0x00006583, 0x01400000, 0x00000981, 0x01400800,
+ 0x0000e191, 0x4329fd3f, 0x0000c901, 0xc000073f, 0x00006583, 0xc339ff3f,
+ 0x00008901, 0x01400f3f, 0x00006191, 0xd7602804, 0x0000a001, 0x0179ff3f,
+ 0x00009909, 0x00000322, 0x00007400, 0xffffffff, 0x00007f86, 0x81a02c05,
+ 0x00009901, 0x8000063f, 0x00006583, 0x01400000, 0x00000981, 0x01400800,
+ 0x0000e191, 0xa0000804, 0x00006401, 0x0331fe3f, 0x00006101, 0xc0000004,
+ 0x0000e401, 0x00000322, 0x00007400, 0xc339ff3f, 0x00006101, 0xc7202804,
+ 0x00006001, 0x81800000, 0x00006181, 0x05404008, 0x00004900, 0x036a158b,
+ 0x00007404, 0x0dba5f4a, 0x00000320, 0x0dc09e00, 0x00001980, 0x00000434,
+ 0x00001583, 0x883f1fe3, 0x00001908, 0x84c10020, 0x0000a088, 0x00000373,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x08003c20, 0x00001281, 0x08001420,
+ 0x00001181, 0x00000c20, 0x00009583, 0x00000378, 0x0000f01b, 0x09f24800,
+ 0x00007900, 0x00136c20, 0x00008980, 0x0378119b, 0x00007500, 0x09ba5f4a,
+ 0x00000210, 0x08a1a434, 0x00009900, 0x35b91e33, 0x0000a080, 0x35c11433,
+ 0x0000f902, 0x08400000, 0x00000000, 0x35f92633, 0x0000a080, 0xb000081e,
+ 0x0000ec01, 0x08020423, 0x00009283, 0x07410821, 0x00006110, 0x9481181e,
+ 0x0000e011, 0x0000040c, 0x00007009, 0x07040423, 0x00009283, 0x0000040c,
+ 0x0000f400, 0x07011022, 0x00006100, 0x87912224, 0x0000c908, 0x87b12624,
+ 0x00001909, 0x82c170ec, 0x0000f902, 0x09000000, 0x00008604, 0xca602c04,
+ 0x00000237, 0x80000606, 0x00006583, 0xca516a2d, 0x00008900, 0x0b400000,
+ 0x0000e188, 0x0bc00000, 0x00004981, 0x0b41700e, 0x0000e110, 0x0c206c0d,
+ 0x00008901, 0xc0001706, 0x0000e583, 0x0b800000, 0x00000981, 0x0b800800,
+ 0x0000e191, 0x4c28650c, 0x0000c901, 0xc0001706, 0x0000e583, 0x8c20640c,
+ 0x00000901, 0x0bc00800, 0x00006189, 0xcc38670c, 0x00004901, 0x0dba5f4a,
+ 0x00000320, 0x039d158b, 0x0000f404, 0x0dc09c00, 0x0000e180, 0x09286b0d,
+ 0x00004800, 0x0be17aec, 0x00006100, 0x0ba172ec, 0x00000100, 0x35c1a033,
+ 0x0000f902, 0x0c800000, 0x00008000, 0x35c1d233, 0x0000f902, 0x0e400000,
+ 0x00000000, 0xffffffff, 0x00007f97, 0x0d79a732, 0x0000030c, 0x0c81a835,
+ 0x00006100, 0x00129834, 0x00006186, 0x03a93486, 0x0000f404, 0x0d419833,
+ 0x0000e100, 0x041a9034, 0x00006187, 0x0d39a732, 0x00008318, 0x0c800000,
+ 0x00009980, 0x8ca80500, 0x00009900, 0x700240ec, 0x0000d680, 0x00399544,
+ 0x00008008, 0x703900ec, 0x00005600, 0x00390800, 0x00008000, 0x703910ec,
+ 0x0000d600, 0x00391800, 0x00000000, 0x703920ec, 0x0000d600, 0x00392800,
+ 0x00000000, 0x703850ec, 0x0000d600, 0x00383800, 0x00000000, 0x703840ec,
+ 0x00005600, 0x00394800, 0x00000000, 0x703950ec, 0x00005600, 0x00395800,
+ 0x00008000, 0x703960ec, 0x00005600, 0x00396800, 0x00008000, 0x703970ec,
+ 0x0000d600, 0x00397800, 0x00000000, 0x703980ec, 0x0000d600, 0x00398800,
+ 0x00000000, 0x08320004, 0x00009980, 0x7039d0ec, 0x0000d600, 0x0039c800,
+ 0x00008000, 0x04181020, 0x0000e987, 0x700240ec, 0x0000d680, 0x003907c0,
+ 0x00008078, 0x00c002ec, 0x0000df80, 0x1040600b, 0x00001684, 0xc8020704,
+ 0x00006283, 0x18800000, 0x00000980, 0x18000000, 0x00006180, 0x00000862,
+ 0x0000e412, 0x18400000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000,
+ 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000,
+ 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000,
+ 0x000088d4, 0x000003e4, 0x0000f410, 0x21800000, 0x000088dc, 0x08000800,
+ 0x00009981, 0xc0001706, 0x00001583, 0x80000860, 0x0000640b, 0x00000862,
+ 0x0000b412, 0x08000000, 0x00009991, 0xffffffff, 0x00007f86, 0x00000420,
+ 0x00001583, 0x14001000, 0x00009989, 0xffffffff, 0x00007f86, 0x00000450,
+ 0x00009583, 0x000003ed, 0x0000700b, 0x03eb0299, 0x0000f004, 0x0000040d,
+ 0x00007200, 0x08801000, 0x00001981, 0x040b028a, 0x00007004, 0x0000040b,
+ 0x0000f000, 0xc804071e, 0x0000e283, 0x22c00000, 0x00008980, 0x22801002,
+ 0x00006100, 0x0000188b, 0x0000e106, 0x22001000, 0x00007900, 0x00008000,
+ 0x00000980, 0x22580800, 0x0000f900, 0x00044040, 0x00000980, 0x001110ec,
+ 0x00005780, 0x00004000, 0x00000080, 0x23008000, 0x00006180, 0xc000188b,
+ 0x00006006, 0x23400000, 0x000008f8, 0x04000280, 0x00007404, 0x23c00000,
+ 0x0000e180, 0x54000800, 0x00004991, 0x9498db1b, 0x00001910, 0x0000040d,
+ 0x00007400, 0x861a4b49, 0x00006100, 0x00000862, 0x0000e403, 0x08800800,
+ 0x00001981, 0x0002881f, 0x00001502, 0x0000040c, 0x0000f400, 0x07c28851,
+ 0x0000e168, 0xd4000800, 0x0000c9e9, 0xd4000000, 0x000099e1, 0x1f400800,
+ 0x00006181, 0x80001067, 0x0000e402, 0x03eb0280, 0x00007004, 0x08801800,
+ 0x00009981, 0x11800000, 0x0000e180, 0x88002302, 0x0000c780, 0x10c00000,
+ 0x0000e180, 0x45110046, 0x00006107, 0x08001c49, 0x00006181, 0x00001843,
+ 0x0000a106, 0x00000c20, 0x00006583, 0xc0001843, 0x00002006, 0x1000b000,
+ 0x0000f900, 0x0001d100, 0x00000980, 0x10401000, 0x00007900, 0x0001c008,
+ 0x00008980, 0x11400000, 0x00007900, 0x00010000, 0x00000980, 0x001880ec,
+ 0x00005780, 0x00005001, 0x00000080, 0x00000427, 0x0000f430, 0x11000000,
+ 0x000004dc, 0x10a81402, 0x00008408, 0x08005449, 0x00009181, 0x00000c20,
+ 0x00009583, 0x00008449, 0x00009583, 0x00003c49, 0x00009583, 0x00000427,
+ 0x00007030, 0x00000427, 0x0000f008, 0x0000042f, 0x00007010, 0x042b0275,
+ 0x00007500, 0x08804020, 0x00006180, 0x08211422, 0x00004900, 0x08410020,
+ 0x00009900, 0x000800ec, 0x00005780, 0x00004800, 0x00008080, 0x00980eec,
+ 0x00005f80, 0x00004801, 0x00008084, 0x04330275, 0x00007500, 0x08800800,
+ 0x0000e180, 0x01211422, 0x00004900, 0x08402004, 0x00009900, 0x008806ec,
+ 0x00005f80, 0x00004800, 0x00000084, 0x00000c94, 0x00009583, 0x0000043a,
+ 0x0000f013, 0x043806a2, 0x0000f100, 0x000898ec, 0x0000d780, 0x00005801,
+ 0x00008080, 0xffc00000, 0x00006180, 0x02000001, 0x00006704, 0x003cf800,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x00000005, 0x0000e586, 0xc0000001,
+ 0x0000b401, 0x0027f800, 0x00007900, 0x003ffffe, 0x00008280, 0xc0c00000,
+ 0x00006180, 0x00002805, 0x00006505, 0xc1c00000, 0x0000e180, 0xc0000005,
+ 0x00006407, 0xc0001000, 0x00006181, 0x80402594, 0x0000c081, 0x009006ec,
+ 0x00005f80, 0x00004800, 0x00000084, 0x2b84608c, 0x00006100, 0x0a447c05,
+ 0x0000e000, 0x490085ae, 0x0000e283, 0x944478af, 0x00002000, 0x81400c00,
+ 0x000089d2, 0xc1400000, 0x00008af4, 0x27000000, 0x000089f4, 0x000004fd,
+ 0x0000f410, 0x27800000, 0x000089fc, 0x65001c05, 0x00001081, 0x04551a42,
+ 0x00007100, 0x400005f3, 0x00009583, 0x000004d5, 0x0000700b, 0x00073023,
+ 0x00001502, 0x2b4730e6, 0x0000e168, 0x08c730e6, 0x0000c968, 0x0900a722,
+ 0x000012e9, 0x000004d5, 0x0000f060, 0x0000a424, 0x00009583, 0x000004d0,
+ 0x0000700b, 0x80025600, 0x0000e583, 0x65202d94, 0x00000101, 0x81c0468f,
+ 0x00009283, 0x178008a6, 0x00006090, 0x60000853, 0x00002413, 0xc1c00f22,
+ 0x00001283, 0x00000502, 0x0000f013, 0x80192202, 0x00009502, 0x01401000,
+ 0x0000e191, 0xf00008ae, 0x00006410, 0x09000800, 0x00001990, 0x000004a8,
+ 0x00007010, 0x01420425, 0x00001283, 0x0a050426, 0x00006892, 0x00000506,
+ 0x0000f009, 0x00012426, 0x00001583, 0x00011426, 0x00001583, 0x00002c26,
+ 0x00001583, 0x0000049d, 0x00007038, 0x00000491, 0x00007040, 0x000004a9,
+ 0x0000f008, 0x00002c26, 0x00001583, 0x00010426, 0x00009583, 0x00010c26,
+ 0x00001583, 0x0000048a, 0x0000f050, 0x00000491, 0x00007008, 0x000004bf,
+ 0x00007010, 0xc1c02722, 0x00001283, 0x0140a000, 0x00006191, 0x81400800,
+ 0x00004991, 0x09000800, 0x00001990, 0x000004a8, 0x00007010, 0x8000028f,
+ 0x00001582, 0x490205ae, 0x00001283, 0xffffffff, 0x00007f86, 0x000004db,
+ 0x0000f010, 0x00000489, 0x00007008, 0x098d09a1, 0x00001900, 0x00000026,
+ 0x00001582, 0x097df825, 0x0000f900, 0x003ffffe, 0x00008280, 0x500008ae,
+ 0x0000ec0d, 0x000004d9, 0x00007010, 0x048a2275, 0x0000f100, 0x00000426,
+ 0x00001583, 0x000004bf, 0x00007013, 0x000728a4, 0x00001502, 0x01416800,
+ 0x00006191, 0x81400800, 0x00004991, 0x09000800, 0x00001990, 0x000004a8,
+ 0x00007010, 0x0000143f, 0x00001583, 0x0140a000, 0x00006191, 0x81400800,
+ 0x00004991, 0x09000800, 0x00001990, 0x000004a8, 0x00007010, 0x0497200a,
+ 0x0000f004, 0x4142058c, 0x00001283, 0x097df825, 0x00007910, 0x003ffffe,
+ 0x00008280, 0x500008ae, 0x0000ec15, 0x00000489, 0x00007008, 0x00000489,
+ 0x0000f000, 0x00013426, 0x00009583, 0x00013426, 0x00009583, 0x00018c26,
+ 0x00009583, 0x00000491, 0x00007008, 0x000004c2, 0x0000f048, 0x000004bf,
+ 0x00007010, 0x0000043f, 0x00009583, 0x0140a000, 0x00006191, 0x81400800,
+ 0x00004991, 0x09000800, 0x00001990, 0x00000489, 0x00007008, 0x04a90713,
+ 0x0000f100, 0x0000343f, 0x00009583, 0x0140a000, 0x00006191, 0x81400800,
+ 0x00004991, 0x09000800, 0x00001990, 0x000004a8, 0x00007010, 0x00052042,
+ 0x00009502, 0x01416800, 0x00006191, 0x81400800, 0x00004991, 0x09000800,
+ 0x00001990, 0x000004a8, 0x00007010, 0x04b4200a, 0x00007004, 0x414205ae,
+ 0x00001283, 0x814406a0, 0x00009283, 0xffffffff, 0x00007f86, 0x00000489,
+ 0x00007008, 0x00000489, 0x00007008, 0x0000003d, 0x00001582, 0x097df825,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x500008ae, 0x0000ec0d, 0x00000489,
+ 0x00007010, 0x00000489, 0x0000f000, 0x04c20713, 0x0000f500, 0x81400814,
+ 0x000000d7, 0x09000800, 0x00009980, 0x00000c3f, 0x00001583, 0x0140a000,
+ 0x00006191, 0x81400800, 0x00004991, 0x09000800, 0x00001990, 0x000004a8,
+ 0x00007010, 0x04c8200a, 0x0000f004, 0x0c857405, 0x0000e000, 0x0c050424,
+ 0x0000b000, 0x09202c24, 0x00006201, 0x0e812c05, 0x0000a000, 0x09000c24,
+ 0x00001481, 0x04d02275, 0x00007500, 0x09202c24, 0x00009201, 0x61a12025,
+ 0x0000e800, 0xc000170a, 0x00001583, 0x80000852, 0x0000640a, 0x000038ae,
+ 0x00003489, 0xc0000022, 0x00006c09, 0x0000045e, 0x00007010, 0x00000460,
+ 0x0000f400, 0x65202d94, 0x00006101, 0xc00008ae, 0x00002400, 0x80025600,
+ 0x00001583, 0x04db2275, 0x0000f300, 0x500018ae, 0x0000ec05, 0x09cd09a1,
+ 0x00009900, 0x00080027, 0x00001582, 0xc1dc6b8d, 0x00006150, 0xe5147a8f,
+ 0x00004950, 0x09020841, 0x0000e150, 0x09820040, 0x00004950, 0x0000052d,
+ 0x00007038, 0x001c6827, 0x00001502, 0x0000052a, 0x0000f03b, 0x18400803,
+ 0x000086c8, 0x18c00000, 0x00006180, 0x18088801, 0x00004980, 0x04ea06aa,
+ 0x0000f500, 0x986c718f, 0x00008608, 0xd8d4728e, 0x00009900, 0xc000038d,
+ 0x00009582, 0x0008c0ec, 0x00005780, 0x00d87e80, 0x000080c0, 0x1b800000,
+ 0x0000f910, 0x00307fc0, 0x00000980, 0x00000520, 0x0000f008, 0x0008d8ec,
+ 0x00005780, 0x00007800, 0x00008080, 0x1bce0005, 0x0000e180, 0x1b013026,
+ 0x0000c900, 0x000920ec, 0x00005780, 0x00005000, 0x00008080, 0x1b446f24,
+ 0x0000063a, 0x24000840, 0x00006180, 0x24400000, 0x0000c980, 0x24800000,
+ 0x000089cc, 0xdbd81302, 0x00009900, 0x224205ae, 0x0000788f, 0x18000000,
+ 0x00008284, 0x81c0468f, 0x00009283, 0x65002405, 0x0000e089, 0x25000000,
+ 0x00000989, 0x00000517, 0x0000f011, 0x00000460, 0x00007000, 0x81400e8f,
+ 0x00001283, 0x00000505, 0x0000700b, 0x050506f6, 0x00007100, 0x05060435,
+ 0x0000f100, 0x0c812c27, 0x00006800, 0x00000c27, 0x00001583, 0x89c00ee3,
+ 0x00009888, 0x53013227, 0x0000f90a, 0x09000000, 0x00008100, 0x00000531,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x09800826, 0x00001082, 0x81400e8f,
+ 0x0000e283, 0x09000024, 0x00000084, 0x53393227, 0x00005100, 0x00392000,
+ 0x00008000, 0x051306f6, 0x0000f111, 0x414085ae, 0x00001283, 0xf00008ae,
+ 0x0000ec08, 0x00000505, 0x0000f011, 0x05172275, 0x0000f100, 0x14000000,
+ 0x000085c4, 0x14800000, 0x000085cc, 0x15000000, 0x000085d4, 0x15800000,
+ 0x000085dc, 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x00000460,
+ 0x0000f400, 0x17000000, 0x000085f4, 0x17c00000, 0x000085f8, 0x05212004,
+ 0x00007100, 0x0008d8ec, 0x00005780, 0x00007800, 0x00008080, 0x000920ec,
+ 0x00005780, 0x00005000, 0x00008080, 0x24000840, 0x00006180, 0x24400000,
+ 0x0000c980, 0x24c00000, 0x000089c8, 0x224205ae, 0x0000788f, 0x18000000,
+ 0x00008284, 0x000004e4, 0x0000f400, 0x1002038d, 0x00001002, 0x10400041,
+ 0x00009084, 0x052f0713, 0x00007300, 0x09015801, 0x000000d6, 0x224205ae,
+ 0x0000788f, 0x18000000, 0x00008284, 0x05330713, 0x0000f300, 0x09001801,
+ 0x000000d6, 0x00000001, 0x0000f080, 0x053815a5, 0x0000f500, 0x25501006,
+ 0x00006180, 0x09c00000, 0x00004980, 0x23501202, 0x00009900, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x49026000,
+ 0x0000e181, 0x944478af, 0x0000e000, 0x2b400000, 0x0000e180, 0x2b84608c,
+ 0x00004900, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x054406c2,
+ 0x00007500, 0xa5000800, 0x000002d2, 0x65002000, 0x00001981, 0x96c00ee3,
+ 0x00009880, 0x53202c5b, 0x00002101, 0xffffffff, 0x00007fa7, 0x01400c05,
+ 0x00009283, 0x0140fc24, 0x00006291, 0x0e01fc5b, 0x0000a016, 0x16e2dfe4,
+ 0x0000e010, 0x17412024, 0x0000c910, 0x000005a2, 0x0000f008, 0x2c202a5b,
+ 0x00009600, 0x0f8588b0, 0x00009000, 0x4907053f, 0x00006283, 0x20000825,
+ 0x00002401, 0x4900853f, 0x00009283, 0xffffffff, 0x00007f86, 0x000005e8,
+ 0x00007008, 0x000005e8, 0x00007010, 0x89c0425b, 0x00001080, 0xffffffff,
+ 0x00007f86, 0x2c202a27, 0x00001600, 0x090588b0, 0x00001000, 0x00015024,
+ 0x00009502, 0x2c202a27, 0x00001600, 0x0ec588b0, 0x00009000, 0x000005f5,
+ 0x00007020, 0x09c00000, 0x00006180, 0x08003a5b, 0x0000e106, 0x16c01a5b,
+ 0x00006080, 0x03c12827, 0x0000e000, 0x16c0005b, 0x0000f900, 0x00000304,
+ 0x00000080, 0x16000000, 0x000003f4, 0x780410ec, 0x00005680, 0x00000000,
+ 0x00008080, 0x0012e024, 0x0000e186, 0x13c12827, 0x00003000, 0x4f42d85b,
+ 0x0000e100, 0x00181058, 0x00006186, 0x041ae024, 0x00006187, 0x23c12827,
+ 0x00003000, 0x783ac0ec, 0x0000d600, 0x0039e800, 0x00000000, 0x16c0113d,
+ 0x0000e080, 0x44012827, 0x0000a002, 0x783ae8ec, 0x0000d600, 0x00392000,
+ 0x00008000, 0x4f42d85b, 0x0000e100, 0x64012827, 0x00006000, 0x780410ec,
+ 0x00005680, 0x00000000, 0x00008080, 0x01420426, 0x0000e283, 0x74012827,
+ 0x00002000, 0x783ac0ec, 0x0000d600, 0x0039e800, 0x00000000, 0x783938ec,
+ 0x00005600, 0x00000000, 0x00008080, 0x09c00000, 0x000005e4, 0x16c0113d,
+ 0x0000e080, 0x00013027, 0x00002000, 0x10013027, 0x00006000, 0xc0004059,
+ 0x00003406, 0x16cf285b, 0x0000e200, 0x20013027, 0x0000a000, 0x30013027,
+ 0x0000e000, 0x80001059, 0x00003407, 0x16c0105b, 0x00006080, 0x50013027,
+ 0x00002000, 0x0002d83d, 0x00006286, 0x60001827, 0x0000b414, 0x092aa800,
+ 0x0000f900, 0x00155554, 0x00008980, 0x90413027, 0x00006802, 0x554aacec,
+ 0x00005180, 0x00392555, 0x00002a50, 0x17000000, 0x0000f900, 0x00003fc0,
+ 0x00008980, 0xd1813027, 0x00006000, 0x012ab05c, 0x00003586, 0x780410ec,
+ 0x00005680, 0x003ac800, 0x00008000, 0xe0013027, 0x0000e800, 0x783ac0ec,
+ 0x0000d600, 0x0039e800, 0x00000000, 0x09155000, 0x00007900, 0x002aaaaa,
+ 0x00000980, 0xf0013027, 0x00006800, 0x783ae0ec, 0x00005600, 0x00000000,
+ 0x00008080, 0xa4013027, 0x00006807, 0x00000001, 0x00007480, 0x781550ec,
+ 0x0000d680, 0x003922aa, 0x00005528, 0x783938ec, 0x00005600, 0x00000000,
+ 0x00008080, 0x09c00000, 0x00006180, 0x08003a5b, 0x0000e106, 0x16c01a5b,
+ 0x00006080, 0x03c12827, 0x0000e000, 0x16c0005b, 0x0000f900, 0x00000304,
+ 0x00000080, 0x16000000, 0x000003f4, 0x780410ec, 0x00005680, 0x00000000,
+ 0x00008080, 0x0012e024, 0x0000e186, 0x13c12827, 0x00003000, 0x4f42d85b,
+ 0x0000e100, 0x00181058, 0x00006186, 0x041ae024, 0x00006187, 0x23c12827,
+ 0x00003000, 0x783ac0ec, 0x0000d600, 0x0039e800, 0x00000000, 0x16c0113d,
+ 0x0000e080, 0x44012827, 0x0000a002, 0x783ae8ec, 0x0000d600, 0x00392000,
+ 0x00008000, 0x4f42d85b, 0x0000e100, 0x64012827, 0x00006000, 0x780410ec,
+ 0x00005680, 0x00000000, 0x00008080, 0x01420426, 0x0000e283, 0x74012827,
+ 0x00002000, 0x783ac0ec, 0x0000d600, 0x0039e800, 0x00000000, 0x783938ec,
+ 0x00005600, 0x00000000, 0x00008080, 0x09c00000, 0x000005e4, 0x16c0113d,
+ 0x0000e080, 0x00013027, 0x00002000, 0x10013027, 0x00006000, 0xc0004059,
+ 0x00003406, 0x16cf285b, 0x0000e200, 0x20013027, 0x0000a000, 0x30013027,
+ 0x0000e000, 0x80001059, 0x00003407, 0x16c0105b, 0x00006080, 0x50013027,
+ 0x00002000, 0x0002d83d, 0x00006286, 0x60001827, 0x0000b414, 0x092aa800,
+ 0x0000f900, 0x00155554, 0x00008980, 0x0f800000, 0x0000e180, 0x90413027,
+ 0x0000e002, 0x554aacec, 0x00005180, 0x00392555, 0x00002a50, 0x17000000,
+ 0x0000f900, 0x00003fc0, 0x00008980, 0xd1813027, 0x00006000, 0x012ab05c,
+ 0x00003586, 0x780410ec, 0x00005680, 0x003ac800, 0x00008000, 0xe0013027,
+ 0x0000e800, 0x783ac0ec, 0x0000d600, 0x0039e800, 0x00000000, 0x09155000,
+ 0x00007900, 0x002aaaaa, 0x00000980, 0xf0013027, 0x00006800, 0x783ae0ec,
+ 0x00005600, 0x00000000, 0x00008080, 0xa4013027, 0x00006807, 0x00000001,
+ 0x00007480, 0x781550ec, 0x0000d680, 0x003922aa, 0x00005528, 0x783938ec,
+ 0x00005600, 0x00000000, 0x00008080, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02e8f000, 0x00007900, 0x00040478, 0x00008980, 0x03174800,
+ 0x0000f900, 0x00167f46, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x01400000, 0x000080f4, 0x05f51110, 0x00007500, 0x82600500,
+ 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02e8c800, 0x0000f900, 0x00040478,
+ 0x00008980, 0x03307000, 0x00007900, 0x00109342, 0x00000980, 0x02000000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x01400000, 0x000080f4, 0x06021110,
+ 0x0000f500, 0x82600500, 0x00008026, 0x81c01000, 0x0000e180, 0x02801002,
+ 0x0000c900, 0x0a447c05, 0x0000e000, 0x944478af, 0x0000b000, 0xa5200001,
+ 0x000080d6, 0x81400000, 0x00006181, 0x090568ad, 0x0000c900, 0x2b80078c,
+ 0x000009b0, 0x27400000, 0x000009f8, 0x27c00000, 0x00006180, 0x65001c05,
+ 0x00004081, 0x2b400000, 0x00009980, 0x0000178f, 0x0000788c, 0x00000000,
+ 0x00000000, 0x84800f22, 0x00007897, 0x00000001, 0x00008060, 0x05c085ae,
+ 0x0000458f, 0x0880468f, 0x00008890, 0xc1c01722, 0x0000e283, 0x41400800,
+ 0x00000981, 0x49400d1f, 0x00009283, 0x0035141f, 0x00001503, 0x0000065e,
+ 0x0000f008, 0x00000619, 0x0000f008, 0x0000062c, 0x0000f008, 0x098026a2,
+ 0x00001880, 0x0f410026, 0x00006002, 0x09c0f826, 0x00008784, 0x09c001c0,
+ 0x0000e180, 0x09810827, 0x0000c004, 0x89e80500, 0x00001900, 0x75e80027,
+ 0x00006901, 0x700080ec, 0x00005680, 0x00393cc4, 0x00000010, 0x09f80005,
+ 0x00009980, 0x7039e8ec, 0x00005600, 0x00393000, 0x00000000, 0x04181027,
+ 0x00006987, 0x700080ec, 0x00005680, 0x00393fc0, 0x00000078, 0x00c002ec,
+ 0x0000df80, 0x1051500b, 0x00001684, 0x0008001f, 0x0000ed00, 0x07f516a2,
+ 0x00009901, 0x1740e01c, 0x00006100, 0x0e00f405, 0x0000e002, 0x1700e81d,
+ 0x0000e100, 0xd360283f, 0x00006004, 0x0142041e, 0x00006283, 0xc140f03f,
+ 0x0000a000, 0x01406000, 0x00006191, 0x01404800, 0x00004989, 0x06370544,
+ 0x00007500, 0x0960f21e, 0x00000218, 0x8220283f, 0x00006806, 0x0000543f,
+ 0x00009583, 0x0f4d09a1, 0x0000e108, 0xcfd01202, 0x00004908, 0x09420025,
+ 0x00001388, 0x0000066e, 0x0000f010, 0x490085ae, 0x00001283, 0x0000068e,
+ 0x00007013, 0x063f1a42, 0x0000f100, 0x400005f3, 0x00009583, 0x00000688,
+ 0x0000700b, 0x00073023, 0x00001502, 0x2b4730e6, 0x0000e168, 0x08c730e6,
+ 0x0000c968, 0x0900a722, 0x000012e9, 0x00000688, 0x0000f060, 0x0000a424,
+ 0x00009583, 0x65202d94, 0x00001111, 0x00000680, 0x00007009, 0x80025600,
+ 0x00001583, 0x81c0468f, 0x00009283, 0x178008a6, 0x00006090, 0x60000853,
+ 0x00002413, 0xc1c00f22, 0x00001283, 0x8019fa02, 0x00009502, 0x01420425,
+ 0x00001283, 0x0000068c, 0x0000f010, 0x00000695, 0x00007010, 0x00000693,
+ 0x00007008, 0x40000505, 0x00009583, 0x06552291, 0x00007113, 0x490405ae,
+ 0x00001283, 0x0f057405, 0x0000680e, 0x0000065d, 0x00007011, 0x00001405,
+ 0x00001583, 0x00003c05, 0x00001583, 0xffffffff, 0x00007f86, 0x0000067b,
+ 0x00007008, 0x0000067b, 0x00007008, 0x065e2275, 0x00007100, 0x17410020,
+ 0x00006100, 0x0e011405, 0x0000e002, 0x17010821, 0x0000e100, 0xd360283f,
+ 0x00006004, 0x01420422, 0x00006283, 0xc141103f, 0x0000a000, 0x01406000,
+ 0x00006191, 0x01404800, 0x00004989, 0x06690544, 0x0000f500, 0x09611222,
+ 0x00000218, 0x8220283f, 0x00006806, 0x0000543f, 0x00009583, 0x0f4d09a1,
+ 0x0000e108, 0xcfd01202, 0x00004908, 0x09420025, 0x00001388, 0x0000063c,
+ 0x00007008, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02dfc000,
+ 0x0000f900, 0x00040476, 0x00000980, 0x03091800, 0x0000f900, 0x00136128,
+ 0x00008980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01400000,
+ 0x000080f4, 0x06801110, 0x0000f500, 0x82600500, 0x00008026, 0x81c01000,
+ 0x0000e180, 0x02801002, 0x0000c900, 0x067c200a, 0x00007004, 0x066e2275,
+ 0x0000f500, 0x414205ae, 0x00001283, 0x097df825, 0x00007910, 0x003ffffe,
+ 0x00008280, 0xc000170a, 0x0000e583, 0x65202d94, 0x00000101, 0xc00008ae,
+ 0x00006408, 0x80000852, 0x0000340a, 0x0000064a, 0x0000f400, 0xc0000022,
+ 0x0000e409, 0x000038ae, 0x00003489, 0x80025600, 0x00001583, 0x0000064a,
+ 0x0000f400, 0x65202d94, 0x00006101, 0xc00008ae, 0x00002400, 0x80025600,
+ 0x00001583, 0x068d06f6, 0x00007100, 0x068e2275, 0x0000f100, 0x81c0468f,
+ 0x00009283, 0x00000699, 0x00007013, 0x0000064a, 0x0000f200, 0x65000d94,
+ 0x00006081, 0x25000000, 0x00008981, 0x06950713, 0x0000f300, 0x09001801,
+ 0x000000d6, 0x06990713, 0x0000f500, 0x01401000, 0x00006181, 0xf00008ae,
+ 0x0000e400, 0x09000800, 0x00009980, 0x14000000, 0x000085c4, 0x14800000,
+ 0x000085cc, 0x15000000, 0x000085d4, 0x15800000, 0x000085dc, 0x16000000,
+ 0x000085e4, 0x16800000, 0x000085ec, 0x0000064a, 0x0000f400, 0x17000000,
+ 0x000085f4, 0x17c00000, 0x000085f8, 0x13800702, 0x000004bc, 0x0000184f,
+ 0x0000e906, 0x13001000, 0x0000f900, 0x00014000, 0x00008980, 0x00000001,
+ 0x00007480, 0x13682000, 0x00007900, 0x00044040, 0x00000980, 0xc000184f,
+ 0x00006806, 0x1a800000, 0x0000f900, 0x00001080, 0x00008980, 0x1a484000,
+ 0x00006180, 0x08001a05, 0x0000e106, 0x8140168f, 0x0000e283, 0x04102869,
+ 0x0000a101, 0x9a983b07, 0x00006100, 0x1000008f, 0x0000e411, 0x1a401069,
+ 0x0000e388, 0x5000086a, 0x0000a411, 0xc0183b94, 0x0000e502, 0x1ac00000,
+ 0x00000980, 0x1a000000, 0x00007900, 0x00008000, 0x00000980, 0x0000106b,
+ 0x0000ec13, 0x00000001, 0x00007088, 0x4142058c, 0x0000e283, 0x3000086b,
+ 0x0000a401, 0x6000086b, 0x0000ec01, 0x9ad83b94, 0x00001100, 0x00000001,
+ 0x00007088, 0x00000001, 0x00007480, 0x4000058d, 0x00009583, 0x4000086b,
+ 0x0000ec11, 0x00000c94, 0x00009583, 0x000006c7, 0x0000f013, 0x06c506a2,
+ 0x0000f100, 0x000898ec, 0x0000d780, 0x00005801, 0x00008080, 0x00400000,
+ 0x00007900, 0x00048010, 0x00000980, 0x80003000, 0x0000e180, 0x00000005,
+ 0x00006704, 0xc0004800, 0x0000e181, 0xc0000005, 0x00006407, 0x40e00407,
+ 0x000000dd, 0x806ca594, 0x00006101, 0x0940feae, 0x0000c281, 0x00003c25,
+ 0x0000f890, 0x00000000, 0x00000000, 0xb7402722, 0x0000788f, 0x00000001,
+ 0x00008060, 0xb8c00424, 0x0000f893, 0x00000001, 0x00000080, 0x80402594,
+ 0x00009081, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffc00000,
+ 0x00001980, 0xffffffff, 0x00007f86, 0x009006ec, 0x00005f80, 0x00884880,
+ 0x000003c4, 0x400005ae, 0x0000e583, 0x09000800, 0x00008981, 0x49025000,
+ 0x000061c1, 0x49026000, 0x0000c9c9, 0xb5800424, 0x0000f88b, 0x00000001,
+ 0x00000080, 0x2500b000, 0x0000f900, 0x0001c000, 0x00000980, 0x25c00000,
+ 0x000089e8, 0xa5292524, 0x00006101, 0x00001897, 0x00006106, 0xffc00000,
+ 0x00006180, 0x89002302, 0x00004780, 0x001000ec, 0x00005780, 0x00884880,
+ 0x000083c0, 0x25401000, 0x00007900, 0x0001c008, 0x00008980, 0x26400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0xc0001897, 0x0000e006, 0x4511209a,
+ 0x00003107, 0x26000000, 0x000009ec, 0x2778151f, 0x00000918, 0x00992eec,
+ 0x00005f80, 0x00005001, 0x00008084, 0x18c80000, 0x000086c0, 0x0008c0ec,
+ 0x00005780, 0x00007800, 0x00008080, 0x00000001, 0x00007480, 0x18400800,
+ 0x00006180, 0x18800801, 0x0000c980, 0xd8d4728e, 0x00009900, 0x554132ec,
+ 0x0000a180, 0xffffffff, 0x00007fa7, 0x00001c26, 0x00001583, 0x09c00000,
+ 0x000061b0, 0x0c05748c, 0x000060b0, 0x63202c05, 0x00006131, 0x0907de00,
+ 0x0000c2b1, 0x00000001, 0x0000f098, 0x00024c24, 0x0000e583, 0x0410108c,
+ 0x00002187, 0x00172827, 0x0000e196, 0x08003024, 0x0000b20e, 0xffffffff,
+ 0x00007f86, 0x00112027, 0x0000e98e, 0x554122ec, 0x00002180, 0xffffffff,
+ 0x00007fa7, 0x09000c24, 0x00009081, 0x554122ec, 0x0000a980, 0x00000001,
+ 0x00007480, 0x89213426, 0x00001900, 0x553c6224, 0x00005100, 0x00393800,
+ 0x00008000, 0x071715a5, 0x0000f500, 0x2570100c, 0x0000e180, 0x08003027,
+ 0x00006206, 0xe5701605, 0x00000836, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x81c0feae, 0x00009283, 0x0000071e,
+ 0x0000f013, 0xc1c00f22, 0x00001283, 0x000090ae, 0x00006c89, 0x81c00e8f,
+ 0x00009283, 0x072006f6, 0x0000f113, 0x00000824, 0x0000e582, 0x80000822,
+ 0x0000a401, 0x0000072b, 0x0000f00b, 0x0147de00, 0x00006281, 0x862028ae,
+ 0x0000a085, 0x00024c05, 0x0000e583, 0xf7f028ae, 0x00002001, 0x0000072f,
+ 0x00007013, 0x40000505, 0x00009583, 0x072a2291, 0x00007113, 0x072b2275,
+ 0x00007100, 0x072c06fd, 0x0000f100, 0x00000723, 0x00007400, 0x08003024,
+ 0x0000ea06, 0xebd12224, 0x00009900, 0x073106c2, 0x00007300, 0x89000c4a,
+ 0x000082d2, 0x2b800f8c, 0x0000829a, 0x414105ae, 0x0000e283, 0x0b000000,
+ 0x00000980, 0xc1c00000, 0x000000d6, 0x16000000, 0x000085e4, 0x16800000,
+ 0x000085ec, 0x17000000, 0x000085f4, 0x17800000, 0x000085fc, 0x28000000,
+ 0x00008ac4, 0x28800000, 0x00008acc, 0x29000000, 0x00008ad4, 0x29800000,
+ 0x00008adc, 0x2a000000, 0x00008ae4, 0x2a800000, 0x00008aec, 0x2b000000,
+ 0x00008af4, 0x2bc00000, 0x000087c0, 0x0000075c, 0x00007410, 0x1c400000,
+ 0x000007c8, 0x1cc00000, 0x0000e180, 0x09800000, 0x0000c991, 0x0ac47c24,
+ 0x00006802, 0x00000c24, 0x00001583, 0x00001424, 0x00001583, 0xffffffff,
+ 0x00007f86, 0x000007d4, 0x0000f008, 0x000007bf, 0x00007008, 0x00000424,
+ 0x00009583, 0x0bc04000, 0x00006189, 0x0a404000, 0x00004989, 0x00000000,
+ 0x00007091, 0x075017ad, 0x00007100, 0x00001c2a, 0x0000e583, 0x0961542a,
+ 0x00000901, 0x000007c4, 0x0000f01b, 0x00001425, 0x00009583, 0x00000425,
+ 0x00001583, 0xffffffff, 0x00007f86, 0x000007ee, 0x0000f020, 0x000007f8,
+ 0x00007008, 0x00000c25, 0x00009583, 0x4000008f, 0x0000e409, 0xd00000ae,
+ 0x00003408, 0x000000ae, 0x00006c89, 0x8140868f, 0x00001283, 0x0a000000,
+ 0x00001989, 0x000007cc, 0x00007011, 0x00000c26, 0x00009583, 0x09400000,
+ 0x00009991, 0x000007db, 0x00007009, 0x00000607, 0x0000f890, 0x00000000,
+ 0x00000000, 0xda016023, 0x0000786b, 0x00000001, 0x00000010, 0xe580feae,
+ 0x0000f88f, 0x00000001, 0x00000080, 0x25c00000, 0x000089e8, 0x8140feae,
+ 0x0000e283, 0x00001897, 0x0000a106, 0x89002302, 0x0000e780, 0xc0001897,
+ 0x00002006, 0x2500b000, 0x0000f900, 0x0001d280, 0x00008980, 0x25401000,
+ 0x00007900, 0x0001c008, 0x00008980, 0x26400000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x000007a9, 0x00007408, 0x26000000, 0x0000e180, 0x4511209a,
+ 0x00006107, 0x25800702, 0x000009ac, 0xa5026000, 0x00006181, 0x0c057424,
+ 0x0000e080, 0x00000424, 0x00009583, 0x80000822, 0x00006c11, 0x0000077d,
+ 0x00007009, 0x077d06fd, 0x00007100, 0x001928ec, 0x00005780, 0x00005001,
+ 0x00000080, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x28000000,
+ 0x00008ac4, 0x28800000, 0x00008acc, 0x29000000, 0x00008ad4, 0x29800000,
+ 0x00008adc, 0x2a000000, 0x00008ae4, 0x2a800000, 0x00008aec, 0x01402000,
+ 0x00001981, 0x89003008, 0x000080c1, 0x0a214424, 0x00006101, 0xc0004800,
+ 0x00000981, 0x0a212c28, 0x0000e101, 0xc0c03800, 0x00000980, 0x00400000,
+ 0x00007900, 0x00048010, 0x00000980, 0xc1c00000, 0x0000e180, 0x01602c28,
+ 0x0000c101, 0x80602c05, 0x00006101, 0x00000005, 0x00006704, 0xc0000005,
+ 0x0000ec07, 0x009006ec, 0x00005f80, 0x00884880, 0x000003c4, 0x414105ae,
+ 0x00001283, 0x01400000, 0x00006189, 0x25c00000, 0x00004990, 0x2500b000,
+ 0x00007910, 0x0001d280, 0x00008980, 0x00000788, 0x0000f008, 0x8140feae,
+ 0x0000e283, 0x00001897, 0x0000a106, 0x26800000, 0x00006180, 0x89002302,
+ 0x00004780, 0x25401000, 0x00007900, 0x0001c008, 0x00008980, 0x26400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0xc0001897, 0x0000e006, 0x4511209a,
+ 0x00003107, 0x00000777, 0x00007410, 0x26000000, 0x000009ec, 0x25801002,
+ 0x00009900, 0x414105ae, 0x00001283, 0x27000000, 0x0000e188, 0xf00008ae,
+ 0x00006408, 0x27400000, 0x00006188, 0x27800000, 0x00004988, 0x00000777,
+ 0x0000f010, 0x00016023, 0x0000e502, 0x27c00000, 0x00008980, 0x001928ec,
+ 0x00005780, 0x00005001, 0x00000080, 0xc00000ae, 0x0000e468, 0xc00008ae,
+ 0x0000b460, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc, 0x29000000,
+ 0x00008ad4, 0x29800000, 0x00008adc, 0x2a000000, 0x00008ae4, 0x2a800000,
+ 0x00008aec, 0x00000788, 0x0000f400, 0x01402000, 0x00006181, 0x08c1602c,
+ 0x0000c968, 0x2b41602c, 0x00009968, 0x07c11936, 0x00007300, 0x09800000,
+ 0x00001981, 0x40001d05, 0x00006583, 0x09682d05, 0x00000901, 0x00000753,
+ 0x00007033, 0x00002425, 0x00009583, 0x000080ae, 0x0000ec89, 0x0000075c,
+ 0x00007009, 0x00002c25, 0x00001583, 0x8140868f, 0x0000e283, 0x000088ae,
+ 0x00002489, 0x0a000000, 0x00001989, 0x0000075f, 0x00007009, 0x07cd06a2,
+ 0x0000f100, 0x00000c26, 0x00006583, 0x0a000800, 0x00008981, 0x000898ec,
+ 0x0000d780, 0x00005801, 0x00008080, 0x09400000, 0x00009991, 0x00000762,
+ 0x00007010, 0x000007db, 0x00007000, 0x07d61911, 0x00007300, 0x8a000005,
+ 0x000082da, 0x09682d05, 0x00009901, 0xf8801d05, 0x0000c498, 0xdc001505,
+ 0x000001a7, 0xfe000505, 0x0000f88b, 0xc0000000, 0x0000838a, 0x1b580028,
+ 0x0000e180, 0x1bc00000, 0x00004980, 0x1b000000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x0021306d, 0x0000e006, 0x0000186f, 0x0000b106, 0x1061306c,
+ 0x00006000, 0xe0001071, 0x00003402, 0x0010d8ec, 0x00005780, 0x00004000,
+ 0x00000080, 0x8621306d, 0x0000e001, 0xc000186f, 0x00003006, 0x09781026,
+ 0x00008638, 0x00000607, 0x0000f890, 0x00000000, 0x00000000, 0xda016023,
+ 0x0000786b, 0x00000001, 0x00000010, 0xe580feae, 0x0000f88f, 0x40000000,
+ 0x0000838b, 0x0903068f, 0x00009281, 0x00020424, 0x00001583, 0x000007f8,
+ 0x0000700b, 0x00001425, 0x00009583, 0x000070ae, 0x00006489, 0x000078ae,
+ 0x0000b491, 0x8140868f, 0x00001283, 0x0a000000, 0x00001989, 0x0000075f,
+ 0x00007009, 0x000007cc, 0x00007000, 0x40000e8f, 0x0000ec00, 0x8140868f,
+ 0x00001283, 0x0a000000, 0x00001989, 0x0000075f, 0x00007009, 0x000007cc,
+ 0x00007000, 0xc2400f42, 0x00006283, 0x04c00008, 0x00008980, 0x08000000,
+ 0x00006190, 0x08400000, 0x0000c990, 0x08800000, 0x0000e190, 0x08c00000,
+ 0x00004990, 0x09000000, 0x0000e190, 0x05400000, 0x0000c980, 0x909d0aa3,
+ 0x0000e202, 0x00001813, 0x0000a106, 0x04009000, 0x00007900, 0x00010500,
+ 0x00000980, 0x04400000, 0x0000f900, 0x00018030, 0x00008980, 0x9cc01273,
+ 0x0000e180, 0x04801002, 0x00000900, 0x05800000, 0x000081dc, 0x0000086d,
+ 0x0000f408, 0x051ac4a3, 0x00008111, 0x45204a42, 0x00008115, 0x4000251e,
+ 0x0000e583, 0x0e45148b, 0x0000a000, 0x90800aa3, 0x00006080, 0x0e451515,
+ 0x0000a000, 0xa8c00aa3, 0x00009080, 0x00000868, 0x0000f018, 0x80000a1d,
+ 0x00001582, 0x00000823, 0x0000f033, 0xc2401f1e, 0x00001283, 0x000040ec,
+ 0x0000d788, 0x00005001, 0x00000080, 0x000040ec, 0x0000d790, 0x00905301,
+ 0x00008280, 0xc4002710, 0x0000e089, 0xc4004710, 0x00008091, 0x0f400000,
+ 0x00006190, 0x0f800000, 0x00004990, 0x0fc00000, 0x00009990, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec,
+ 0x00005780, 0x00905180, 0x00000180, 0x9703f888, 0x00007902, 0x1f800000,
+ 0x00000000, 0x9702b688, 0x0000f902, 0x10800000, 0x00000000, 0xa2c02a88,
+ 0x0000e080, 0xa2800f89, 0x00008780, 0xa8000ea0, 0x00001181, 0x1fc3fa1d,
+ 0x00009002, 0x1582b31c, 0x00006002, 0x1f80007e, 0x00000084, 0x973ab688,
+ 0x0000a880, 0x96fab08b, 0x0000a080, 0x10800042, 0x00009084, 0x973a1688,
+ 0x00002800, 0x96fa108b, 0x00002000, 0x15800856, 0x00001082, 0x973bf888,
+ 0x0000d000, 0x003bf000, 0x00008000, 0x96fab08b, 0x00002880, 0x0000fc58,
+ 0x00006583, 0x10800042, 0x00000084, 0x96fa108b, 0x0000a800, 0x10800000,
+ 0x0000f900, 0x00080000, 0x00000980, 0x22c10458, 0x0000e198, 0x0422c042,
+ 0x00002087, 0x800000ec, 0x00005780, 0x003a1000, 0x00008000, 0x8f82b0ec,
+ 0x0000f902, 0x10800000, 0x00008004, 0x22e2c7e4, 0x0000e030, 0x22c45fe4,
+ 0x0000c818, 0xffffffff, 0x00007f97, 0x1082108b, 0x00006318, 0x1582b08b,
+ 0x00000330, 0xc2400f89, 0x00001283, 0x8fbab0ec, 0x0000d004, 0x003a1000,
+ 0x00008000, 0xf7fa148a, 0x0000a014, 0xf7fa148a, 0x0000208c, 0xffffffff,
+ 0x00007fa7, 0x90800e42, 0x0000e089, 0x90800e42, 0x00008091, 0xffffffff,
+ 0x00007f86, 0xf7fa148a, 0x00002814, 0xf7fa148a, 0x0000a88c, 0x4000056d,
+ 0x00001583, 0x10807c58, 0x00006291, 0x0f02c28b, 0x00002016, 0xa2c00a8b,
+ 0x0000e090, 0x10800c42, 0x00008890, 0x00000865, 0x0000f008, 0x8f836a8b,
+ 0x00007902, 0x15800000, 0x00008004, 0x22801800, 0x00009980, 0x1082108a,
+ 0x00009800, 0x108210e5, 0x00009400, 0x1b436842, 0x0000e200, 0x1582b042,
+ 0x00008200, 0x8fbb6a8b, 0x00005004, 0x003ab000, 0x00008000, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x00000001, 0x0000f080, 0x909d0a42,
+ 0x00001202, 0x00000885, 0x0000700b, 0x00000817, 0x0000f200, 0xa8c00aa3,
+ 0x00006080, 0x0e451615, 0x0000a000, 0x800002a1, 0x0000e582, 0x22801aa1,
+ 0x00008880, 0x03400100, 0x00006180, 0x0e45148b, 0x0000e008, 0x22c00c8b,
+ 0x00006489, 0x03020800, 0x00008980, 0x83581302, 0x0000e100, 0x71e458a2,
+ 0x0000e008, 0x1583f88a, 0x0000e002, 0xa2c00aa1, 0x00008080, 0x1080007e,
+ 0x00006084, 0x0e451515, 0x0000a000, 0xc0145b88, 0x00006502, 0x0382b056,
+ 0x00008900, 0x000818ec, 0x00005780, 0x00005000, 0x00008080, 0x03c21042,
+ 0x0000e100, 0x0e45148b, 0x00006000, 0xa8400aa1, 0x0000e090, 0xa8400000,
+ 0x00000988, 0xa8c00aa3, 0x00006080, 0x90800aa3, 0x00000080, 0x02e0251e,
+ 0x0000c9b3, 0xd4150942, 0x00008210, 0x03400100, 0x00006180, 0x03020800,
+ 0x00004980, 0x800002a1, 0x0000e582, 0xa8c00aa3, 0x00000080, 0x83581302,
+ 0x0000e100, 0x22800800, 0x00004989, 0xa2800aa1, 0x00006080, 0x22e45c8a,
+ 0x00000109, 0x22c01aa1, 0x0000e080, 0x71e458a2, 0x0000e008, 0x1583f88b,
+ 0x00006002, 0xa8400aa1, 0x00000080, 0x1080007e, 0x00006084, 0x0e451615,
+ 0x0000a000, 0xc0145388, 0x0000e502, 0x0382b056, 0x00008900, 0x00000817,
+ 0x0000f400, 0x000818ec, 0x00005780, 0x00005000, 0x00008080, 0xa8400000,
+ 0x0000e188, 0x03c21042, 0x0000c900, 0xc0000304, 0x0000e582, 0x81905204,
+ 0x00000000, 0x0302604c, 0x0000e100, 0x08021c0a, 0x00006002, 0x02c2704e,
+ 0x00001900, 0x000008a2, 0x00007008, 0x800028ec, 0x00007902, 0x01000000,
+ 0x00000700, 0x41000d0c, 0x00001283, 0x01000000, 0x00006190, 0x01400000,
+ 0x0000c990, 0x81581302, 0x0000e110, 0x41326280, 0x00004990, 0x000008ae,
+ 0x00007008, 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x783828ec,
+ 0x00005600, 0x00382000, 0x00000000, 0x780000ec, 0x00005680, 0x00000040,
+ 0x00000080, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680, 0x00000040,
+ 0x00000080, 0x04125004, 0x00006987, 0x700008ec, 0x00005680, 0x00382002,
+ 0x00008000, 0x96c02806, 0x00007902, 0x01000000, 0x00008000, 0xffffffff,
+ 0x00007fa7, 0x01400805, 0x00001082, 0x01000004, 0x00009084, 0x96f82806,
+ 0x0000d000, 0x00382000, 0x00000000, 0x4100450c, 0x00001283, 0x818026e3,
+ 0x00009890, 0x000008cc, 0x00007009, 0x0000140a, 0x00001583, 0x81804206,
+ 0x00001088, 0x000008c4, 0x0000f009, 0x00001c0a, 0x00009583, 0x81805206,
+ 0x00006090, 0x81804a06, 0x00000088, 0xffffffff, 0x00007f86, 0x96c02806,
+ 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805,
+ 0x00001082, 0x01000004, 0x00009084, 0x96f82806, 0x0000d000, 0x00382000,
+ 0x00000000, 0x0000040b, 0x00001583, 0x810026e3, 0x000098c8, 0x81805a04,
+ 0x000010c8, 0x000008d7, 0x0000f040, 0x96c02806, 0x00007902, 0x01000000,
+ 0x00008000, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001082, 0x01000004,
+ 0x00009084, 0x96f82806, 0x0000d000, 0x00382000, 0x00000000, 0x01400000,
+ 0x00006180, 0x08001a06, 0x0000e106, 0xffc00000, 0x00006180, 0x00103005,
+ 0x00006184, 0xc1401273, 0x00009080, 0x733828ec, 0x0000d600, 0x00000000,
+ 0x00008080, 0x677d1e08, 0x0000d004, 0x003d1000, 0x00000000, 0x67bd0808,
+ 0x00005004, 0x003d0000, 0x00008000, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x00008809, 0x00007902, 0x04000000, 0x00008000, 0x67451e08,
+ 0x0000f902, 0x28800000, 0x00000004, 0xc2400f0b, 0x0000e283, 0x04c00008,
+ 0x00008980, 0x67850808, 0x00007902, 0x28000000, 0x00008004, 0x06008010,
+ 0x00006110, 0x06008811, 0x00004908, 0x04009000, 0x00007900, 0x00014000,
+ 0x00008980, 0x1cc4a020, 0x0000e180, 0x00001813, 0x00006106, 0x04400000,
+ 0x0000f900, 0x00018030, 0x00008980, 0x85b8104c, 0x00008108, 0x8438570a,
+ 0x00006101, 0x82551b18, 0x00004100, 0x3440060a, 0x0000c489, 0x48121040,
+ 0x0000822b, 0x00004748, 0x0000f88c, 0x00000000, 0x00000000, 0x67802540,
+ 0x0000788e, 0x00400001, 0x00000060, 0x34121109, 0x00004429, 0xf80511a0,
+ 0x0000020a, 0x34c00308, 0x00004991, 0xcc10384c, 0x0000821a, 0x05c00000,
+ 0x00006180, 0x050518a3, 0x0000c900, 0xc1d51ba1, 0x0000e202, 0x09022417,
+ 0x00002006, 0x05721ca2, 0x00000119, 0xc5520240, 0x00006100, 0xc5bb9e73,
+ 0x00004001, 0x00000951, 0x00007208, 0x68b39da2, 0x00001001, 0xc0000773,
+ 0x0000e583, 0xa8c00aa3, 0x00000080, 0x402d15a0, 0x00009503, 0xffffffff,
+ 0x00007f86, 0x00000942, 0x00007010, 0x0000091c, 0x0000f008, 0x01800000,
+ 0x00006180, 0x08001a04, 0x00006106, 0x00102006, 0x00006984, 0x677d1e08,
+ 0x0000d004, 0x003d1000, 0x00000000, 0x67bd0808, 0x00005004, 0x003d0000,
+ 0x00008000, 0x04139806, 0x0000e987, 0x733830ec, 0x0000d600, 0x00000000,
+ 0x00008080, 0x009026ec, 0x0000df80, 0x00905480, 0x000001c4, 0x865d1218,
+ 0x00001100, 0x80005a19, 0x00009582, 0x22200800, 0x00006198, 0x22400140,
+ 0x0000c998, 0x22800000, 0x0000e198, 0x22c00000, 0x00004998, 0x00000910,
+ 0x00007030, 0x00183089, 0x00006100, 0x800000a2, 0x00003486, 0x810ffba2,
+ 0x00006280, 0x01800000, 0x00008980, 0x800f9a04, 0x00006582, 0x800050a0,
+ 0x00002486, 0x810063a2, 0x0000e0b8, 0x810053a2, 0x000000d0, 0x23c000a0,
+ 0x0000e180, 0x9cc01273, 0x00004180, 0x041020a2, 0x0000e187, 0x0000188f,
+ 0x00003106, 0x08001a04, 0x00006106, 0xc000188f, 0x0000b006, 0x23801002,
+ 0x0000e100, 0x00102006, 0x0000e184, 0x001110ec, 0x00005780, 0x00005000,
+ 0x00008080, 0x677d1e08, 0x0000d004, 0x003d1000, 0x00000000, 0x67bd0808,
+ 0x00005004, 0x003d0000, 0x00008000, 0x04139806, 0x0000e987, 0x23001000,
+ 0x0000f900, 0x000041c0, 0x00008980, 0x23400000, 0x0000f900, 0x000080b0,
+ 0x00008980, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080, 0x009026ec,
+ 0x0000df80, 0x00905480, 0x000001c4, 0x283b9ca0, 0x0000e101, 0x08051419,
+ 0x0000a084, 0x864ffba3, 0x0000e280, 0x013b9c19, 0x00000001, 0x013b9a19,
+ 0x0000e000, 0x002020a2, 0x00002084, 0x000fe804, 0x00001582, 0x811d1f73,
+ 0x00006050, 0x810013a3, 0x000080b8, 0xffffffff, 0x00007f86, 0x81102773,
+ 0x00001038, 0xffffffff, 0x00007f86, 0xe8d02204, 0x00009900, 0x442d15a0,
+ 0x0000f812, 0xe0400000, 0x00008488, 0x800002a1, 0x0000e582, 0x01c01aa1,
+ 0x00008880, 0x03400100, 0x00006180, 0x0e451419, 0x00006008, 0x06400c19,
+ 0x00006489, 0x03020800, 0x00008980, 0x71e0c8a2, 0x00006008, 0x71e0c815,
+ 0x00003008, 0x01c02007, 0x00006002, 0xa8c00aa3, 0x00000080, 0x01000005,
+ 0x0000e084, 0x83581302, 0x00000900, 0x03f83f04, 0x00008038, 0x81000aa1,
+ 0x00009080, 0x80102206, 0x00001502, 0x000818ec, 0x00005780, 0x00005000,
+ 0x00008080, 0xa8400000, 0x0000e188, 0xa8400aa1, 0x00004090, 0xfbc00773,
+ 0x00004590, 0x7b8511a0, 0x0000fa0e, 0x02605c0b, 0x00006101, 0x053a5440,
+ 0x0000c201, 0x02c00c14, 0x00001283, 0x02c01414, 0x0000e283, 0x02400000,
+ 0x00008989, 0xffffffff, 0x00007f86, 0x02402409, 0x00001091, 0xffffffff,
+ 0x00007f86, 0x85903c09, 0x0000e000, 0x86503c09, 0x00008000, 0x801a6219,
+ 0x00001502, 0x00000a12, 0x0000f02b, 0x05c00000, 0x00006180, 0x050518a3,
+ 0x0000c900, 0x855512a2, 0x0000e100, 0x09022417, 0x0000e006, 0x85b2184c,
+ 0x00000119, 0xc5520240, 0x00006100, 0xc5bb9e73, 0x00004001, 0x68b39da2,
+ 0x00001001, 0x42951ba1, 0x00007816, 0x88400000, 0x0000848a, 0x865d1218,
+ 0x00001100, 0x80005a19, 0x00009582, 0x22200800, 0x00006198, 0x22400140,
+ 0x0000c998, 0x22800000, 0x0000e198, 0x22c00000, 0x00004998, 0x00000a27,
+ 0x0000f030, 0x23c000a0, 0x0000e180, 0x00183089, 0x00006100, 0x23801002,
+ 0x0000e100, 0x0000188f, 0x00006106, 0x23001000, 0x0000f900, 0x000041c0,
+ 0x00008980, 0x23400000, 0x0000f900, 0x000080b0, 0x00008980, 0x9cc49000,
+ 0x0000e180, 0xc000188f, 0x0000e006, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009110ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0x864ffba2, 0x00006280, 0x68800000, 0x00000981, 0x800f9a19,
+ 0x00006582, 0x68005000, 0x00008981, 0x864053a2, 0x000060d0, 0x864063a2,
+ 0x000080b8, 0xffffffff, 0x00007f86, 0xe890ca19, 0x00001900, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x01400308, 0x00004590, 0xfcb0384c,
+ 0x0000f61a, 0x01000000, 0x00009980, 0x09a0089a, 0x0000f100, 0x09a2089a,
+ 0x0000f300, 0x01001000, 0x00001980, 0x09a4089a, 0x0000f300, 0x01001800,
+ 0x00009980, 0x09a6089a, 0x00007300, 0x01000800, 0x00001980, 0x86401306,
+ 0x0000e780, 0x82401b06, 0x00008280, 0x80001209, 0x00001582, 0x0de04e19,
+ 0x0000a008, 0x000009b3, 0x00007009, 0xffffffff, 0x00007f86, 0x80001a09,
+ 0x00009582, 0x0dc04e19, 0x0000a00a, 0x000009b3, 0x00007009, 0xffffffff,
+ 0x00007f86, 0x80000a09, 0x00001582, 0x0de04e19, 0x00002090, 0x0dc04e19,
+ 0x0000208a, 0x000014a0, 0x00001583, 0x000009d3, 0x00007033, 0xc0103b4c,
+ 0x00009502, 0x00000901, 0x00007033, 0x02605c0b, 0x00006101, 0x067a5440,
+ 0x00004201, 0x02800c19, 0x00001283, 0x02801419, 0x0000e283, 0x02400000,
+ 0x00008989, 0xffffffff, 0x00007f86, 0x02402409, 0x00001091, 0xffffffff,
+ 0x00007f86, 0x82d03c09, 0x0000e000, 0x86503c09, 0x00008000, 0x801a6219,
+ 0x00001502, 0x8290cb4c, 0x00001128, 0x00000972, 0x0000f021, 0xc0105308,
+ 0x00001502, 0x02401000, 0x000061a9, 0x8298420a, 0x0000c128, 0x02400800,
+ 0x000099a1, 0x00000a0c, 0x0000f028, 0x05c00000, 0x00006180, 0xdce04c09,
+ 0x0000c901, 0x050518a3, 0x0000e100, 0x09022417, 0x0000e006, 0x05605ca2,
+ 0x00000118, 0x458a0643, 0x00008116, 0x68b39da2, 0x0000e001, 0xc5a04e73,
+ 0x00000001, 0x42951ba1, 0x00007816, 0x88400000, 0x0000848a, 0x865d1a09,
+ 0x00009100, 0x80006a19, 0x00009582, 0x06400ca0, 0x00009299, 0x00000a08,
+ 0x0000f031, 0x000004a0, 0x00009583, 0x24009000, 0x00007910, 0x00008540,
+ 0x00008980, 0x24400000, 0x0000f910, 0x00018008, 0x00000980, 0x000009e7,
+ 0x00007008, 0x24c00008, 0x0000e180, 0x25400000, 0x00004980, 0x001120ec,
+ 0x00005780, 0x00005000, 0x00008080, 0x24801002, 0x00006100, 0x00001893,
+ 0x0000e106, 0x25800000, 0x000089dc, 0x250518a3, 0x00006100, 0x9cc01273,
+ 0x00004180, 0xa55512a2, 0x00001900, 0x02a50419, 0x00006001, 0x05003000,
+ 0x00000981, 0x27c00000, 0x00006180, 0x02605414, 0x0000c101, 0x02800c0a,
+ 0x0000e781, 0x26800000, 0x00008980, 0xa7c00c09, 0x00006781, 0xe7c03c0a,
+ 0x00000081, 0x0018309a, 0x0000e100, 0x0000189f, 0x0000b106, 0x27001000,
+ 0x00007900, 0x000041c0, 0x00008980, 0x27400000, 0x00007900, 0x000080b0,
+ 0x00008980, 0x0420489a, 0x00006081, 0xc000189f, 0x00003006, 0x26000801,
+ 0x0000e180, 0x26400000, 0x00004980, 0x26c00000, 0x0000e180, 0x27801002,
+ 0x00004900, 0x9cc01273, 0x00001180, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009130ec, 0x00005780, 0x00005000,
+ 0x00008080, 0x2820cc14, 0x0000e101, 0x0020c8a2, 0x00002084, 0xffffffff,
+ 0x00007f97, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x40503b4c,
+ 0x00007832, 0xb8400000, 0x0000048d, 0xc0103b4c, 0x00009502, 0x01001000,
+ 0x00001998, 0x000009b5, 0x0000f031, 0x0000099f, 0x0000f000, 0xc0105308,
+ 0x00001502, 0x000009c9, 0x00007023, 0x8298420a, 0x00006100, 0x02400c09,
+ 0x00000081, 0x72505308, 0x0000f822, 0x70400000, 0x00008580, 0x82d0cb4c,
+ 0x00009100, 0xc0105b07, 0x00009502, 0x02401000, 0x000061a9, 0x82d83a0b,
+ 0x0000c128, 0x02400800, 0x000099a1, 0x00000a62, 0x00007028, 0x01c00c09,
+ 0x0000e081, 0x9cc00c09, 0x00000081, 0x865d1218, 0x0000e100, 0x026d15a0,
+ 0x00008101, 0x00204c07, 0x00001503, 0x00000a29, 0x0000701b, 0x05c09000,
+ 0x000081c3, 0x050518a3, 0x0000e100, 0x09022417, 0x0000e006, 0x05721ca2,
+ 0x00000119, 0xc5520240, 0x00006100, 0xc5bb9e73, 0x00004001, 0x68b39da2,
+ 0x00001001, 0x42951ba1, 0x00007816, 0x88400000, 0x0000848a, 0x0000099f,
+ 0x00007200, 0x01001000, 0x00001980, 0x80005a19, 0x00009582, 0x06400c09,
+ 0x00009299, 0x00000a60, 0x00007031, 0x00000409, 0x00009583, 0x20009000,
+ 0x0000f910, 0x000086c0, 0x00000980, 0x20400000, 0x00007910, 0x00018008,
+ 0x00000980, 0x00000a3c, 0x00007008, 0x20c00008, 0x00006180, 0x21400000,
+ 0x0000c980, 0x001100ec, 0x0000d780, 0x00005000, 0x00008080, 0x20801002,
+ 0x0000e100, 0x00001883, 0x00006106, 0x21800000, 0x000088dc, 0x210518a3,
+ 0x0000e100, 0x9cc01273, 0x00004180, 0xa15512a2, 0x00009900, 0x06604c19,
+ 0x0000e001, 0x01c05000, 0x00008981, 0x23c00000, 0x0000e180, 0x01e0cc07,
+ 0x00004101, 0x22400000, 0x0000e180, 0xe3c00c19, 0x00004781, 0xa3c00c07,
+ 0x00006781, 0x00183089, 0x0000a100, 0x0000188f, 0x00006106, 0x04203889,
+ 0x00003081, 0x23001000, 0x0000f900, 0x000041c0, 0x00008980, 0x23400000,
+ 0x0000f900, 0x000080b0, 0x00008980, 0x22200800, 0x00006180, 0xc000188f,
+ 0x0000e006, 0x22800000, 0x000088ec, 0x9cc01273, 0x0000e180, 0x23801002,
+ 0x00000900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009110ec, 0x0000d780, 0x00005000, 0x00008080, 0x864ffba2,
+ 0x00006280, 0x68800c09, 0x00008281, 0x68005000, 0x00006181, 0x02603a19,
+ 0x0000c000, 0x000fe809, 0x00009582, 0x824013a2, 0x000010b8, 0x86504c07,
+ 0x00009038, 0x00000a68, 0x00007050, 0xe890ca19, 0x00001900, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x00000a1e, 0x0000f000, 0x0000099f,
+ 0x00007200, 0x01001000, 0x00001980, 0xc0105b07, 0x00009502, 0x00000a18,
+ 0x00007023, 0x82d83a0b, 0x00006100, 0x02400c09, 0x00000081, 0x86105b07,
+ 0x00007822, 0x20400000, 0x00008583, 0x00000a5c, 0x00007200, 0x865d1407,
+ 0x00001000, 0x05600000, 0x0000f900, 0x00040000, 0x00000980, 0x05000000,
+ 0x00006180, 0x0d827415, 0x0000e002, 0xc2c00f0b, 0x00006283, 0x00183014,
+ 0x0000a186, 0x803a90ec, 0x0000d700, 0x0038a800, 0x00000000, 0x04c00008,
+ 0x00006180, 0x24826014, 0x00006003, 0x8038a0ec, 0x00005700, 0x003f2800,
+ 0x00000000, 0x803f28ec, 0x0000d700, 0x00372800, 0x00000002, 0x00008809,
+ 0x00007902, 0x02400000, 0x00000000, 0x67451e08, 0x0000f902, 0x28800000,
+ 0x00000004, 0x04009000, 0x00007900, 0x000104c0, 0x00008980, 0x1cc4a020,
+ 0x0000e180, 0x00001813, 0x00006106, 0x02408811, 0x00006108, 0x911a634c,
+ 0x00004900, 0x67850808, 0x00007902, 0x28000000, 0x00008004, 0x04400000,
+ 0x0000f900, 0x00018030, 0x00008980, 0x10600507, 0x00008591, 0x96151b09,
+ 0x00006100, 0x04801002, 0x00000900, 0x7f60060a, 0x00004489, 0xf2121040,
+ 0x0000822f, 0x00004748, 0x0000f88c, 0x00000000, 0x00000000, 0xd8402540,
+ 0x0000f88e, 0x00400001, 0x00000060, 0x7ef21158, 0x0000c429, 0x7e0511a0,
+ 0x0000020e, 0x79a00308, 0x00004991, 0x5810384c, 0x0000821e, 0x24000000,
+ 0x00001980, 0xc01a0b59, 0x00001502, 0x8000c0ec, 0x00007902, 0x05000000,
+ 0x00008700, 0x00000b29, 0x00007019, 0x050518a3, 0x0000e100, 0x0a42c315,
+ 0x00006100, 0x80000618, 0x00006583, 0x855512a2, 0x00000900, 0x2420c418,
+ 0x0000e111, 0x05a21c43, 0x0000c901, 0x00000d89, 0x0000f009, 0x2c00d418,
+ 0x00009680, 0x960588b0, 0x00001000, 0xc2401f6e, 0x00006283, 0x9552c258,
+ 0x00008900, 0x91049458, 0x00007902, 0x24400000, 0x00000004, 0x913c4e58,
+ 0x0000a084, 0x91444058, 0x0000f902, 0x23c00000, 0x00000004, 0x91447258,
+ 0x00007902, 0x23400000, 0x00008004, 0x9143fc58, 0x0000f902, 0x1f800000,
+ 0x00008004, 0x91446658, 0x00007902, 0x10800000, 0x00008004, 0x90795658,
+ 0x0000303c, 0x90b96058, 0x0000303c, 0x90b97258, 0x0000303c, 0x8ff8c458,
+ 0x0000303c, 0x8ff8d658, 0x0000303c, 0x00000d6e, 0x0000f410, 0x9038e058,
+ 0x0000b03c, 0x9038f258, 0x0000b03c, 0xc0000f42, 0x00001583, 0x00000db0,
+ 0x00007013, 0x90793258, 0x0000b03c, 0x90792858, 0x00002004, 0x90794458,
+ 0x0000303c, 0x09016c8b, 0x0000e006, 0x09034c58, 0x00003006, 0xa2931226,
+ 0x0000e400, 0xa258e34c, 0x00000000, 0x05e2c48b, 0x0000e101, 0x0000008a,
+ 0x0000a580, 0x5ba15766, 0x0000c411, 0xba03731e, 0x00000215, 0x5ba14f65,
+ 0x0000c411, 0xba014764, 0x00008215, 0xbb600e6e, 0x0000448d, 0x8c02bf92,
+ 0x00008217, 0x78c16756, 0x00004469, 0x8c00cf5a, 0x0000026f, 0x64400417,
+ 0x00004491, 0x4408f06e, 0x00000216, 0x6452a21d, 0x0000c411, 0x44037f8c,
+ 0x00000216, 0x64412a61, 0x0000c411, 0x4400028a, 0x00008296, 0x7940046d,
+ 0x0000c191, 0x00036489, 0x00000018, 0x098b691d, 0x0000c731, 0x8f8a166e,
+ 0x00008510, 0x64521043, 0x00004411, 0x44022f8f, 0x00008216, 0x6442378e,
+ 0x00004411, 0x44023f8d, 0x00008216, 0x6443472c, 0x0000c411, 0x44016c69,
+ 0x00008216, 0x6442d719, 0x00004411, 0x4400d75b, 0x00008216, 0x1de36489,
+ 0x0000c519, 0x0eeb691d, 0x00008419, 0xc0000890, 0x0000ec00, 0x5d000d90,
+ 0x0000418d, 0x0000066c, 0x00000090, 0x8dd2c991, 0x0000c623, 0xe6004590,
+ 0x00008488, 0xaba02590, 0x00004495, 0xda00076c, 0x00000393, 0x6380066c,
+ 0x0000c591, 0x21d0384c, 0x00009931, 0x10802590, 0x0000f88e, 0xb8800000,
+ 0x00000881, 0x05c80000, 0x0000e180, 0x45a48490, 0x00004901, 0x45eac81e,
+ 0x00000118, 0xc1c00b1c, 0x00006282, 0x001aa82d, 0x0000a186, 0xcb5b4b2d,
+ 0x00006300, 0x0e00bc58, 0x00002006, 0x01c04259, 0x0000e090, 0x0282bb59,
+ 0x00004000, 0x90bab055, 0x0000d004, 0x00396800, 0x00008000, 0x067adf5a,
+ 0x00008128, 0x87400a1d, 0x00006080, 0x0b02b056, 0x00008900, 0xc718e359,
+ 0x00006000, 0x0600c259, 0x00000008, 0x8770ec58, 0x00009001, 0x0600c007,
+ 0x00009010, 0x60a01590, 0x0000c195, 0x00000458, 0x00000088, 0xe7800308,
+ 0x0000f892, 0x00400000, 0x00008588, 0x00400458, 0x0000f88b, 0xe8400000,
+ 0x0000058f, 0xc1d51ba1, 0x0000e202, 0xc322c017, 0x0000a006, 0x68ad1458,
+ 0x00009001, 0x00000b89, 0x0000f009, 0xa8c00aa3, 0x00009080, 0x402d15a0,
+ 0x00009503, 0x8ff8c455, 0x00005004, 0x003ad000, 0x00008000, 0x8ffade55,
+ 0x00005004, 0x0038d800, 0x00008000, 0x9038e055, 0x0000b83c, 0x9038f255,
+ 0x0000b83c, 0x00000b63, 0x00007408, 0x91385455, 0x00005004, 0x003c8800,
+ 0x00000000, 0x001020ec, 0x0000d780, 0x00905480, 0x00000180, 0x01800000,
+ 0x00006180, 0x08001a04, 0x00006106, 0x00102006, 0x00006984, 0x677d1e08,
+ 0x0000d004, 0x003d1000, 0x00000000, 0x67bd0808, 0x00005004, 0x003d0000,
+ 0x00008000, 0x04139806, 0x0000e987, 0x733830ec, 0x0000d600, 0x00000000,
+ 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x8240266e,
+ 0x0000e283, 0x24080090, 0x00000380, 0x00000ade, 0x00007400, 0x24100090,
+ 0x00001390, 0xe4001800, 0x00001991, 0x0bc37417, 0x0000e000, 0xa0000890,
+ 0x0000b404, 0xe4000c05, 0x00008ad6, 0x00000ade, 0x00007400, 0x05e0bca5,
+ 0x00006101, 0xb6837090, 0x00002000, 0xc320b890, 0x00006800, 0x00000a98,
+ 0x0000f400, 0x8000066c, 0x00009583, 0x0000006e, 0x0000ec11, 0x05205c0b,
+ 0x00006101, 0x293a5440, 0x00004201, 0x05400ca4, 0x00009283, 0x054014a4,
+ 0x00006283, 0x05000000, 0x00008989, 0xffffffff, 0x00007f86, 0x05002414,
+ 0x00001091, 0xffffffff, 0x00007f86, 0x91103c14, 0x00006000, 0xa9503c14,
+ 0x00000000, 0x801a62a5, 0x00009502, 0x00000f28, 0x0000f02b, 0x8000c0ec,
+ 0x00007902, 0x05000000, 0x00008700, 0xd51a62a5, 0x00006100, 0x911a634c,
+ 0x00008900, 0x24000000, 0x00001980, 0xa61a0b59, 0x0000f832, 0x48400000,
+ 0x00000589, 0xa95d1209, 0x00009100, 0x80005aa5, 0x00001582, 0x22200800,
+ 0x00006198, 0x22400140, 0x0000c998, 0x22800000, 0x0000e198, 0x22c00000,
+ 0x00004998, 0x00000f3a, 0x0000f030, 0x23c000a0, 0x0000e180, 0x00183089,
+ 0x00006100, 0x23801002, 0x0000e100, 0x0000188f, 0x00006106, 0x23001000,
+ 0x0000f900, 0x000041c0, 0x00008980, 0x23400000, 0x0000f900, 0x000080b0,
+ 0x00008980, 0x9cc49000, 0x0000e180, 0xc000188f, 0x0000e006, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009110ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xa94ffba2, 0x0000e280, 0x68800000,
+ 0x00000981, 0x800f9aa5, 0x0000e582, 0x68005000, 0x00008981, 0xa94053a2,
+ 0x0000e0d0, 0xa94063a2, 0x000000b8, 0xffffffff, 0x00007f86, 0xe8952aa5,
+ 0x00001900, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0dc00308,
+ 0x00004591, 0x7cd0384c, 0x0000731a, 0x01000020, 0x00001980, 0x0b63089a,
+ 0x00007100, 0xa91d1209, 0x00001100, 0x80005aa4, 0x00009582, 0x22200800,
+ 0x00006198, 0x22400140, 0x0000c998, 0x22800000, 0x0000e198, 0x22c00000,
+ 0x00004998, 0x00000b11, 0x00007030, 0x00183089, 0x00006100, 0x800000a2,
+ 0x00003486, 0xa94ffba2, 0x0000e280, 0x08001a04, 0x0000a106, 0x800f9aa5,
+ 0x0000e582, 0x01800000, 0x00008980, 0xa94063a2, 0x000060b8, 0xa94053a2,
+ 0x000080d0, 0x00102006, 0x0000e184, 0x800050a0, 0x0000b486, 0x23c000a0,
+ 0x0000e180, 0x041528a2, 0x00006187, 0x9cc01273, 0x0000e180, 0x0000188f,
+ 0x0000a106, 0x001110ec, 0x00005780, 0x00005000, 0x00008080, 0x677d1e08,
+ 0x0000d004, 0x003d1000, 0x00000000, 0x67bd0808, 0x00005004, 0x003d0000,
+ 0x00008000, 0x04139806, 0x00006187, 0xc000188f, 0x0000b006, 0x23001000,
+ 0x0000f900, 0x000041c0, 0x00008980, 0x23400000, 0x0000f900, 0x000080b0,
+ 0x00008980, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080, 0x23801002,
+ 0x00009900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x800002a1,
+ 0x0000e582, 0xa9000aa1, 0x00000080, 0x03400100, 0x00006180, 0x0e4514a5,
+ 0x0000e008, 0x29400ca5, 0x00006489, 0x03020800, 0x00008980, 0x71e528a2,
+ 0x0000e008, 0x71e52815, 0x0000b008, 0x83581302, 0x0000e100, 0x29401aa1,
+ 0x0000c880, 0x01c020a5, 0x00001002, 0x01000005, 0x0000e084, 0x03803807,
+ 0x00008900, 0x80152206, 0x0000e502, 0x03c02004, 0x00000900, 0xa8400aa1,
+ 0x00001090, 0x00000bc2, 0x0000f009, 0x000818ec, 0x00005780, 0x00005000,
+ 0x00008080, 0x00000b05, 0x0000f200, 0xa8c00aa3, 0x00009080, 0x080514a5,
+ 0x00006884, 0xa94ffba3, 0x00006280, 0x2922c4a5, 0x00008001, 0x2922c2a5,
+ 0x00006000, 0x002520a2, 0x00002084, 0x000fe8a4, 0x00001582, 0xa90013a3,
+ 0x000010b8, 0xa9552458, 0x00009038, 0x00000e2f, 0x0000f050, 0xe8d52aa5,
+ 0x0000e100, 0x2822c4a0, 0x00004101, 0x47a8f458, 0x00006001, 0x2968f458,
+ 0x00008001, 0x000034a5, 0x00009583, 0x478034a5, 0x0000e199, 0xc0003017,
+ 0x0000241e, 0x00000b05, 0x0000f031, 0xc1d51ba1, 0x00001202, 0x29001aa1,
+ 0x0000e088, 0x03020800, 0x0000c988, 0x03400100, 0x00009988, 0x00000b04,
+ 0x00007010, 0x800002a1, 0x0000e582, 0x83581302, 0x00000900, 0x0e4514a5,
+ 0x00006808, 0x29400ca5, 0x00009489, 0x71e528a2, 0x0000e008, 0x71e52815,
+ 0x0000b008, 0x01c020a4, 0x00006002, 0xa9400aa1, 0x00008080, 0x01000005,
+ 0x0000e084, 0xa8400aa1, 0x00000080, 0x80152a06, 0x00006502, 0x03803807,
+ 0x00008900, 0x03c02004, 0x00009900, 0x00000b9a, 0x00007011, 0x00000b9c,
+ 0x0000f400, 0x000818ec, 0x00005780, 0x00005000, 0x00008080, 0xa8400000,
+ 0x00001980, 0xa0000890, 0x0000ec00, 0x00000ade, 0x00007400, 0xc0000890,
+ 0x0000ec00, 0xe4003000, 0x00009981, 0x00000ade, 0x00007400, 0x24180090,
+ 0x00001380, 0xe4001000, 0x00001981, 0xa9401306, 0x00006780, 0x85001b06,
+ 0x00008280, 0x80001214, 0x00001582, 0x0de52ea5, 0x00002008, 0x00000bd9,
+ 0x0000f009, 0x80001a14, 0x00009582, 0x0dc52ea5, 0x0000200a, 0x00000bd9,
+ 0x0000f009, 0x80000a14, 0x00001582, 0x0de52ea5, 0x0000a090, 0xffffffff,
+ 0x00007fa7, 0x0dc52ea5, 0x0000a08a, 0x000014a0, 0x0000e583, 0xd0584308,
+ 0x00000900, 0x00000eee, 0x00007033, 0xc0103b4c, 0x00009502, 0x00000a93,
+ 0x0000f033, 0x05205c0b, 0x00006101, 0x297a5440, 0x0000c201, 0x05400ca5,
+ 0x00001283, 0x054014a5, 0x0000e283, 0x05000000, 0x00008989, 0xffffffff,
+ 0x00007f86, 0x05002414, 0x00001091, 0xffffffff, 0x00007f86, 0x91103c14,
+ 0x00006000, 0xa9503c14, 0x00000000, 0x801a62a5, 0x00009502, 0x85552b4c,
+ 0x00001128, 0x00000b38, 0x0000f021, 0xc010ab08, 0x00009502, 0x29401000,
+ 0x000061a9, 0x85584215, 0x0000c128, 0x29400800, 0x000099a1, 0x00000f7d,
+ 0x0000f028, 0x8000c0ec, 0x00007902, 0x05000000, 0x00008700, 0xd510ab08,
+ 0x0000e100, 0xdce52ca5, 0x00000901, 0x24000000, 0x00001980, 0xa6184359,
+ 0x00007832, 0x48400000, 0x00000589, 0x0bf9089a, 0x0000f300, 0x01001020,
+ 0x00009980, 0x0bfb089a, 0x00007300, 0x01000820, 0x00009980, 0x0bfd089a,
+ 0x00007300, 0x01001820, 0x00001980, 0xc0000308, 0x00001582, 0x47a2c458,
+ 0x00006109, 0x68ad1458, 0x00004009, 0x00000e6a, 0x00007011, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec,
+ 0x00005780, 0x00905480, 0x00000180, 0x97005088, 0x0000f902, 0x01c00000,
+ 0x00008000, 0x97002e88, 0x0000f902, 0x01000000, 0x00008000, 0xa9402a88,
+ 0x0000e080, 0xa9000f89, 0x00008780, 0xa8000ea0, 0x0000e181, 0x9cc01273,
+ 0x00008180, 0x0280521d, 0x00009002, 0x01402b1c, 0x00006002, 0x01c00007,
+ 0x00000084, 0x97382e88, 0x0000a880, 0x96f828a5, 0x0000a080, 0x01000004,
+ 0x00009084, 0x97382688, 0x0000a800, 0x96f820a5, 0x0000a000, 0x01400805,
+ 0x00001082, 0x97385088, 0x00005000, 0x00383800, 0x00000000, 0x96f828a5,
+ 0x00002880, 0x0000fc90, 0x0000e583, 0x01000004, 0x00000084, 0x96f820a5,
+ 0x00002800, 0x01000000, 0x00007900, 0x00080000, 0x00000980, 0x29410490,
+ 0x00006198, 0x04248004, 0x00002087, 0x800000ec, 0x00005780, 0x00382000,
+ 0x00000000, 0x8f8028ec, 0x0000f902, 0x01000000, 0x00000004, 0x296487e4,
+ 0x00006030, 0x29452fe4, 0x0000c818, 0xffffffff, 0x00007f97, 0x010020a5,
+ 0x00006318, 0x014028a5, 0x00000330, 0x0f0482a5, 0x00006806, 0x8fb828ec,
+ 0x0000d004, 0x00382000, 0x00000000, 0xc1000f89, 0x00006283, 0xa9400aa5,
+ 0x00000080, 0xf7f824a4, 0x00002014, 0xf7f824a4, 0x0000a08c, 0x8f803aa5,
+ 0x00007902, 0x01400000, 0x00008004, 0xffffffff, 0x00007f97, 0x81000e04,
+ 0x0000e089, 0x81000e04, 0x00008091, 0xffffffff, 0x00007f86, 0xf7f824a4,
+ 0x0000a814, 0xf7f824a4, 0x0000288c, 0x29001800, 0x0000e180, 0x01007c90,
+ 0x00004281, 0x01000c04, 0x00009880, 0x010020a4, 0x00009800, 0x010020e5,
+ 0x00009400, 0x01c03804, 0x00006200, 0x01402804, 0x00000200, 0x8fb83aa5,
+ 0x00005004, 0x00382800, 0x00008000, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0xc1000f42, 0x0000e283, 0x04c00008, 0x00008980, 0x08000000,
+ 0x00006190, 0x08400000, 0x0000c990, 0x08800000, 0x0000e190, 0x08c00000,
+ 0x00004990, 0x09000000, 0x0000e190, 0x05400000, 0x0000c980, 0x811d0aa3,
+ 0x00006202, 0x00001813, 0x0000a106, 0x04009000, 0x00007900, 0x00010500,
+ 0x00000980, 0x04400000, 0x0000f900, 0x00018030, 0x00008980, 0x04800702,
+ 0x00000198, 0x05c00000, 0x00006180, 0x85151aa3, 0x00004900, 0x00000e4d,
+ 0x00007408, 0x45121390, 0x00008111, 0x057c8790, 0x00009901, 0x4000251e,
+ 0x0000e583, 0x0e4514a5, 0x0000a000, 0x81000aa3, 0x0000e080, 0x0e451515,
+ 0x0000a000, 0xa8c00aa3, 0x00009080, 0x00000e36, 0x00007018, 0x80000a1d,
+ 0x00001582, 0x00000c6a, 0x0000f033, 0xc1001f1e, 0x00009283, 0x000040ec,
+ 0x0000d788, 0x00005001, 0x00000080, 0x000040ec, 0x0000d790, 0x00905301,
+ 0x00008280, 0xc4002710, 0x0000e089, 0xc4004710, 0x00008091, 0x0f400000,
+ 0x00006190, 0x0f800000, 0x00004990, 0x0fc00000, 0x00009990, 0x001020ec,
+ 0x0000d780, 0x00905180, 0x00000180, 0xc46d15a0, 0x0000f812, 0x18400000,
+ 0x0000858b, 0x81daca91, 0x0000e100, 0x82336017, 0x0000a006, 0x85c0f191,
+ 0x0000011d, 0x45a48490, 0x00006101, 0xc3336017, 0x00006006, 0xc59acb59,
+ 0x00001900, 0x00000aeb, 0x00007200, 0xa4503a07, 0x00009900, 0x10822845,
+ 0x0000e100, 0x080264a4, 0x0000e002, 0x11400ca4, 0x00006283, 0x1b000000,
+ 0x00008980, 0x985aca61, 0x00006110, 0xd75acb5d, 0x00000108, 0xc1c01f6e,
+ 0x0000e283, 0x07800020, 0x00000980, 0x07400800, 0x0000e180, 0x08026714,
+ 0x00006002, 0x81c00054, 0x00008280, 0x08400000, 0x000002c8, 0x08c00000,
+ 0x000082d0, 0x09400000, 0x000002d8, 0x09c00000, 0x000002e0, 0x0a400000,
+ 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000,
+ 0x000083c0, 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000,
+ 0x000003d8, 0x0dc00000, 0x000003e0, 0x0e400000, 0x000003e8, 0x0ec00000,
+ 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000, 0x00006180, 0x1b42bb59,
+ 0x0000c000, 0x8523746e, 0x0000e101, 0x08026657, 0x00006002, 0x85381043,
+ 0x00000518, 0x05ea3446, 0x0000811c, 0x05b82747, 0x00008114, 0xa2205106,
+ 0x00008820, 0x07c00000, 0x0000e180, 0x0612ca59, 0x0000c900, 0x067adf5a,
+ 0x00008128, 0x871acb4c, 0x00006100, 0xc71acb59, 0x00008900, 0x06c2a75a,
+ 0x00008632, 0x479b706e, 0x00008138, 0xc762a454, 0x00006101, 0x87739f73,
+ 0x00004001, 0x0000100e, 0x0000f410, 0x95e85806, 0x0000851e, 0x02fb7f05,
+ 0x00008028, 0x9178ba55, 0x0000d004, 0x0038b000, 0x00000000, 0x05c00000,
+ 0x0000f900, 0x00008000, 0x00000980, 0xc0000773, 0x0000e583, 0x09022417,
+ 0x00002006, 0xc4289000, 0x0000e180, 0x0642c017, 0x00006101, 0x913abe55,
+ 0x00005004, 0x003ab000, 0x00008000, 0x917c4055, 0x00005004, 0x003a1000,
+ 0x00008000, 0x9178ac55, 0x00005004, 0x00385800, 0x00000000, 0x91785655,
+ 0x00005004, 0x0038a000, 0x00008000, 0x903ae455, 0x0000b83c, 0x903af655,
+ 0x0000b83c, 0x907b0055, 0x0000b83c, 0x907b1255, 0x0000b83c, 0x907b2455,
+ 0x0000b83c, 0x907b3655, 0x0000b83c, 0x90bb4055, 0x0000383c, 0x90bb5255,
+ 0x0000383c, 0x05b21c44, 0x00008119, 0xc5b39f73, 0x0000e001, 0x45e48490,
+ 0x00000901, 0x00000ffc, 0x0000f410, 0x054a04a2, 0x00008116, 0x050518a3,
+ 0x00009900, 0xc1d51ba1, 0x0000e202, 0x68b39da2, 0x00008001, 0x00000fd1,
+ 0x0000700b, 0x01e00000, 0x00006180, 0x01400000, 0x00004980, 0x04248007,
+ 0x0000e087, 0x00183005, 0x00003186, 0x0d827407, 0x0000e002, 0x0f0482a5,
+ 0x0000b006, 0xa9000aa5, 0x0000e080, 0x24826005, 0x0000a003, 0x803a90ec,
+ 0x0000d700, 0x00383800, 0x00000000, 0x803828ec, 0x00005700, 0x00000000,
+ 0x00008080, 0x8fb83aa4, 0x0000a084, 0xa8c00aa3, 0x00006080, 0x01007c90,
+ 0x00008281, 0x01000c04, 0x00009880, 0x010027e4, 0x00009800, 0x01c03804,
+ 0x00001300, 0x8fb83aa4, 0x00002884, 0x8f8022ec, 0x0000f902, 0x01c00000,
+ 0x00000004, 0xffffffff, 0x00007fa7, 0x00000407, 0x00001583, 0x00000d36,
+ 0x0000f00b, 0x01000c41, 0x0000e283, 0xa9400c41, 0x00008780, 0xf7f824a5,
+ 0x0000a014, 0xf7f824a5, 0x0000208c, 0x8fb828ec, 0x0000a084, 0xa8000ea0,
+ 0x00006081, 0xa9248490, 0x00000900, 0x9038f255, 0x00002884, 0x81000e04,
+ 0x00006191, 0x81000e04, 0x00000189, 0xfe400ca4, 0x0000d084, 0x00400000,
+ 0x00008000, 0xf7f824a5, 0x00002814, 0xf7f824a5, 0x0000a88c, 0x8fb820ec,
+ 0x0000a004, 0x0000fc90, 0x00001583, 0x29410490, 0x00006198, 0x296487e4,
+ 0x00008830, 0x8ff8c455, 0x0000383c, 0x29452fe4, 0x0000e018, 0x014028a5,
+ 0x00004430, 0x010020a5, 0x00001418, 0x8ff8d655, 0x0000383c, 0x9038e055,
+ 0x0000b83c, 0x913b6c55, 0x0000d004, 0x003b6000, 0x00008000, 0x90000255,
+ 0x00005004, 0x00400000, 0x00000080, 0xfe4004a4, 0x0000d004, 0x00400000,
+ 0x00000080, 0x8fb828ec, 0x0000d004, 0x00382000, 0x00000000, 0x001020ec,
+ 0x0000d780, 0x00905480, 0x000081c0, 0xc46d15a0, 0x0000f812, 0x18400000,
+ 0x0000858b, 0x29605c0b, 0x00006101, 0x080264a4, 0x0000e002, 0x02fa5440,
+ 0x0000e201, 0x81da6207, 0x00000100, 0x05000c0b, 0x0000e283, 0x10822845,
+ 0x00000900, 0x2973666c, 0x0000e109, 0x07800020, 0x0000c980, 0x02c0140b,
+ 0x00006283, 0x07400800, 0x00000980, 0x294024a5, 0x0000e091, 0x1b000000,
+ 0x00008980, 0x11400ca4, 0x00006283, 0x08026714, 0x0000a002, 0x81d03ca5,
+ 0x0000e000, 0x08000000, 0x00000980, 0x08400000, 0x000002c8, 0x08c00000,
+ 0x000082d0, 0x09400000, 0x000002d8, 0x09c00000, 0x000002e0, 0x0a400000,
+ 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000,
+ 0x000083c0, 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000,
+ 0x000003d8, 0x0dc00000, 0x000003e0, 0x0e400000, 0x000003e8, 0x0ec00000,
+ 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000, 0x00006180, 0x1b42bb59,
+ 0x0000c000, 0x8523746e, 0x0000e101, 0x08026657, 0x00006002, 0x15a23702,
+ 0x0000011c, 0x05fa3d46, 0x00008118, 0x05483704, 0x00008822, 0x2200040a,
+ 0x000081bc, 0x863ad659, 0x00008124, 0x0682d85b, 0x00006100, 0x871acb4c,
+ 0x0000c100, 0x073ad559, 0x0000012c, 0x85037043, 0x00000139, 0x079aa36e,
+ 0x00008135, 0x87739f73, 0x0000e001, 0x985aca61, 0x00000110, 0xd75acb5d,
+ 0x00006108, 0x9b103a07, 0x00008900, 0x95e85806, 0x0000851e, 0x02fb7f05,
+ 0x00008028, 0x29001f6e, 0x0000788f, 0x70400000, 0x00000880, 0x713820ec,
+ 0x0000d600, 0x00001248, 0x00008080, 0x100048ec, 0x0000d680, 0x00000000,
+ 0x00008080, 0x01000c41, 0x0000e283, 0xa9400c41, 0x00008780, 0xf7f824a5,
+ 0x0000a014, 0xf7f824a5, 0x0000208c, 0x8fb828ec, 0x0000a084, 0xa9248490,
+ 0x0000e100, 0x00000807, 0x00006486, 0x9038f255, 0x00002884, 0x81000e04,
+ 0x00006191, 0x81000e04, 0x00000189, 0xfe400ca4, 0x0000d084, 0x00400000,
+ 0x00008000, 0xf7f824a5, 0x00002814, 0xf7f824a5, 0x0000a88c, 0x8fb820ec,
+ 0x0000a004, 0x0000fc90, 0x0000e583, 0xa8000ea0, 0x00000081, 0x29410490,
+ 0x00006198, 0x296487e4, 0x00008830, 0x8ff8c455, 0x0000383c, 0x29452fe4,
+ 0x0000e018, 0x014028a5, 0x00004430, 0x010020a5, 0x00001418, 0x8ff8d655,
+ 0x0000383c, 0x9038e055, 0x0000b83c, 0x913b6c55, 0x0000d004, 0x003b6000,
+ 0x00008000, 0x8fb83aec, 0x0000a804, 0x90000255, 0x00005004, 0x00400000,
+ 0x00000080, 0x00000cfd, 0x0000f400, 0xfe4004a4, 0x0000d004, 0x00400000,
+ 0x00000080, 0x8fb828ec, 0x0000d004, 0x00382000, 0x00000000, 0xa9403288,
+ 0x0000e080, 0x87800000, 0x00008981, 0x96c088a5, 0x00007902, 0x04000000,
+ 0x00008000, 0x1b480000, 0x00006180, 0x16248490, 0x0000c901, 0x827c8790,
+ 0x00009901, 0xffffffff, 0x00007f86, 0x04400811, 0x00001082, 0x0d6a07fd,
+ 0x00007500, 0x04000010, 0x00009084, 0x96f888a5, 0x0000d000, 0x00388000,
+ 0x00000000, 0xbda0076c, 0x00004491, 0x0000066c, 0x00008394, 0x40503b4c,
+ 0x0000f833, 0xb0400000, 0x00008683, 0x90f9d658, 0x0000303c, 0x90b98458,
+ 0x0000303c, 0x90b99658, 0x0000303c, 0x90f9a058, 0x0000b03c, 0x90f9b258,
+ 0x0000b03c, 0x90f9c458, 0x0000303c, 0xffffffff, 0x00007f86, 0x9139e058,
+ 0x00002084, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x5ba1df71, 0x00004311, 0x00000e3c, 0x00008090, 0x5ba1cf7d,
+ 0x00004411, 0x0e01c77c, 0x00008313, 0xa7600f42, 0x00004789, 0x0321b77a,
+ 0x00005610, 0x5ba1bf7b, 0x0000c411, 0xba01c77c, 0x00000215, 0x5ba1cf7d,
+ 0x00004411, 0xba019776, 0x00000215, 0x5ba19f77, 0x00004411, 0xba01a778,
+ 0x00008215, 0x0041af79, 0x00004511, 0x82a00f42, 0x0000d391, 0x00000ade,
+ 0x00007200, 0xc0000890, 0x0000ec00, 0x0c0374a5, 0x00006000, 0x0bc374a4,
+ 0x00003000, 0x29400ca5, 0x0000e481, 0x05c00ca4, 0x00000481, 0x05e52c17,
+ 0x00009303, 0x8f446eec, 0x0000790a, 0x23000000, 0x00000004, 0x8f8458ec,
+ 0x0000790a, 0x22800000, 0x00000004, 0x00000eeb, 0x0000f010, 0xffffffff,
+ 0x00007f86, 0xb300008d, 0x00004491, 0xc200008c, 0x00000393, 0x1360008b,
+ 0x00004590, 0x9540008a, 0x00008c8f, 0x1b44688d, 0x00009b00, 0x29036fe4,
+ 0x00009800, 0x234468a4, 0x00009400, 0xa947fa6d, 0x00001280, 0xfe7d2ca5,
+ 0x0000a084, 0x8f7c6eec, 0x0000d004, 0x003c6000, 0x00000000, 0xffffffff,
+ 0x00007f97, 0x000000a5, 0x00009582, 0x24236c6d, 0x00009909, 0x00000eea,
+ 0x0000f011, 0x0007fc6d, 0x00001583, 0xa9400c41, 0x00009790, 0x00000eeb,
+ 0x00007009, 0x05c00c41, 0x00009283, 0xf7fb6ca5, 0x0000a014, 0xf7fb6ca5,
+ 0x0000208c, 0xffffffff, 0x00007fa7, 0x8000066d, 0x00001583, 0xb0000890,
+ 0x0000ec10, 0x00000eeb, 0x00007009, 0x00000ade, 0x00007400, 0x2c00d490,
+ 0x00009680, 0x954588b0, 0x00009000, 0x90390458, 0x0000303c, 0x90391658,
+ 0x0000303c, 0x90792058, 0x0000b03c, 0x90793258, 0x0000b03c, 0x90794458,
+ 0x0000303c, 0x09034ca5, 0x0000e006, 0x09016c58, 0x00003006, 0x05e52c58,
+ 0x0000e101, 0xa258e34c, 0x00000000, 0x5ba15766, 0x0000c411, 0xba03731e,
+ 0x00000215, 0x5ba13762, 0x00004411, 0xba013f63, 0x00000215, 0x5ba14764,
+ 0x0000c411, 0xba014f65, 0x00008215, 0x5ba1175e, 0x0000c411, 0xba011f5f,
+ 0x00008215, 0x5ba12760, 0x00004411, 0xba012f61, 0x00000215, 0xf9a00e6e,
+ 0x0000448d, 0x8c02bf92, 0x00008217, 0x78c16756, 0x00004469, 0x8c00cf5a,
+ 0x0000026f, 0xbcc00417, 0x0000c491, 0xcc08f06e, 0x00008313, 0xbcd2a21d,
+ 0x00004411, 0xcc037f8c, 0x00008313, 0xbcc1075c, 0x00004311, 0x0000046d,
+ 0x00000090, 0xbfa36489, 0x0000c519, 0x5fcb691d, 0x0000d518, 0xbcca166e,
+ 0x0000c411, 0xcc121043, 0x00008313, 0xbcc22f8f, 0x00004411, 0xcc02378e,
+ 0x00008313, 0xbcc23f8d, 0x00004411, 0xcc03472c, 0x00000313, 0xbcc16c69,
+ 0x00004411, 0xcc02d719, 0x00008313, 0xbcc0d75b, 0x00004411, 0x94036489,
+ 0x0000821f, 0xf2ab6e1d, 0x0000781a, 0xe8400000, 0x00008588, 0xa0000090,
+ 0x00006c00, 0xc0000090, 0x00006c00, 0xe4003800, 0x00001981, 0x00000ade,
+ 0x00007400, 0xc33a1090, 0x00006800, 0xa2ba1090, 0x00006800, 0x2904608c,
+ 0x00009b00, 0x00000d9b, 0x00007400, 0x1b4527e4, 0x00009800, 0x1b4100a4,
+ 0x00006080, 0x2304606d, 0x00000400, 0x0bc374a5, 0x0000e000, 0xa0000890,
+ 0x0000b404, 0xe4000c05, 0x00000ad2, 0x00000ade, 0x00007400, 0x29652ca4,
+ 0x0000e101, 0xb6837090, 0x00002000, 0xc3252890, 0x00006800, 0xc0000308,
+ 0x0000e582, 0x0a42c214, 0x0000a100, 0x8510a34c, 0x0000e108, 0x0a42c244,
+ 0x0000a100, 0x00000fc2, 0x00007011, 0xc010a307, 0x00001502, 0x02c01000,
+ 0x0000e1a9, 0x85183a14, 0x0000c128, 0x02c00800, 0x000019a1, 0x00000fbc,
+ 0x00007028, 0xd510a307, 0x00006100, 0x01c00c0b, 0x00000081, 0x9cc00c0b,
+ 0x0000e081, 0xa95d1209, 0x00000100, 0x02ed15a0, 0x00009101, 0x8ec05807,
+ 0x0000c219, 0x0000066c, 0x0000838c, 0xee005aa5, 0x0000f8b3, 0x18400000,
+ 0x0000878c, 0x1b000000, 0x00006180, 0x080264a4, 0x0000e002, 0x10822845,
+ 0x0000e100, 0x07800020, 0x0000c980, 0x11400ca4, 0x00006283, 0x07400800,
+ 0x00000980, 0x81c00000, 0x00006180, 0x08026714, 0x00006002, 0x08000000,
+ 0x000082c4, 0x08800000, 0x000082cc, 0x09000000, 0x000082d4, 0x09800000,
+ 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000,
+ 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4, 0x0c800000,
+ 0x000083cc, 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc, 0x0e000000,
+ 0x000083e4, 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4, 0x0f800000,
+ 0x000083fc, 0x1b42bb59, 0x00006000, 0x8523746e, 0x00000901, 0x851a1b43,
+ 0x00006100, 0x08026657, 0x00006002, 0x15a23702, 0x0000011c, 0x05fa3d46,
+ 0x00008118, 0x05483704, 0x00008822, 0x2200040a, 0x000081bc, 0x863ad659,
+ 0x00008124, 0x0682d85b, 0x00006100, 0x871acb4c, 0x0000c100, 0x073ad559,
+ 0x0000012c, 0x9b000000, 0x0000e180, 0x07ab756e, 0x00004901, 0x079aa36e,
+ 0x00008135, 0x87739f73, 0x0000e001, 0x985aca61, 0x00000110, 0xd75acb5d,
+ 0x00006108, 0x95d83306, 0x00000900, 0x95fb7d0b, 0x00000028, 0x02c02805,
+ 0x00001900, 0x29001f6e, 0x0000788f, 0x70400000, 0x00000880, 0x00000ba7,
+ 0x00007200, 0xa95d1c58, 0x00001000, 0x1b44588b, 0x0000e300, 0x2304508a,
+ 0x00004900, 0x00000d9b, 0x00007400, 0x29436fe4, 0x00001800, 0x234458a5,
+ 0x00001400, 0x811d0a04, 0x00001202, 0x00000e4a, 0x00007013, 0x800002a1,
+ 0x0000e582, 0x03400100, 0x00008980, 0x29000800, 0x00006189, 0x03020800,
+ 0x00004980, 0x29652ca4, 0x00006109, 0x83581302, 0x00000900, 0x29001aa1,
+ 0x00006080, 0x71e528a2, 0x0000e008, 0x0143f8a4, 0x0000e002, 0xa9400aa1,
+ 0x00008080, 0xa8400aa1, 0x00006080, 0x0100007e, 0x00008084, 0xc0152b88,
+ 0x00006502, 0x03802805, 0x00008900, 0x000818ec, 0x00005780, 0x00005000,
+ 0x00008080, 0xa8400000, 0x0000e188, 0x03c02004, 0x0000c900, 0x00000c5e,
+ 0x0000f200, 0xa8c00aa3, 0x00006080, 0x0e451615, 0x0000a000, 0x800002a1,
+ 0x0000e582, 0x03400100, 0x00008980, 0x03020800, 0x00006180, 0x0e4514a5,
+ 0x0000e008, 0x83581302, 0x0000e100, 0x29400ca5, 0x0000c489, 0x29401aa1,
+ 0x0000e080, 0x71e528a2, 0x0000e008, 0x0143f8a5, 0x00006002, 0xa9400aa1,
+ 0x00008080, 0xa8400aa1, 0x00006080, 0x0100007e, 0x00008084, 0xc0152b88,
+ 0x00006502, 0x0e451515, 0x0000a000, 0x000818ec, 0x00005780, 0x00005000,
+ 0x00008080, 0x03802805, 0x00006100, 0x0e4514a5, 0x00006000, 0x03c02004,
+ 0x0000e100, 0xa8400000, 0x0000c988, 0xa8c00aa3, 0x00006080, 0x81000aa3,
+ 0x00008080, 0xbf60251e, 0x000045b3, 0xfe750904, 0x0000fd12, 0x2904508a,
+ 0x00009b00, 0x00000d9b, 0x00007400, 0x1b4527e4, 0x00009800, 0x1b4100a4,
+ 0x00006080, 0x2304506d, 0x00000400, 0x080514a4, 0x0000e884, 0xa90ffba3,
+ 0x0000e280, 0x2962c4a4, 0x00008001, 0x2962c2a4, 0x00006000, 0x002528a2,
+ 0x0000a084, 0x000fe8a5, 0x00009582, 0xa94013a3, 0x000090b8, 0xa9152c58,
+ 0x00009038, 0x00000ee8, 0x00007050, 0xe8d522a4, 0x0000e100, 0x2822c4a0,
+ 0x00004101, 0x47a8f458, 0x00006001, 0x2928f458, 0x00000001, 0x000034a4,
+ 0x00001583, 0x478034a4, 0x00006199, 0xc0003017, 0x0000241e, 0x00000c01,
+ 0x0000f031, 0xc1d51ba1, 0x00001202, 0x29401aa1, 0x00006088, 0x03020800,
+ 0x0000c988, 0x03400100, 0x00009988, 0x00000e90, 0x0000f010, 0x800002a1,
+ 0x0000e582, 0x83581302, 0x00000900, 0x0e4514a4, 0x0000e808, 0x29000ca4,
+ 0x00009489, 0x71e520a2, 0x00006008, 0x71e52015, 0x00003008, 0x01c020a5,
+ 0x0000e002, 0xa9000aa1, 0x00000080, 0xa8400aa1, 0x00006080, 0x01000005,
+ 0x00008084, 0x80152206, 0x0000e502, 0x03803807, 0x00008900, 0x000818ec,
+ 0x00005780, 0x00005000, 0x00008080, 0xa8400000, 0x0000e188, 0x03c02004,
+ 0x0000c900, 0xa8c00aa3, 0x00009080, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780, 0x00905480,
+ 0x00000180, 0x97005088, 0x0000f902, 0x01c00000, 0x00008000, 0x97002e88,
+ 0x0000f902, 0x01000000, 0x00008000, 0xa9402a88, 0x0000e080, 0xa9000f89,
+ 0x00008780, 0xa8000ea0, 0x0000e181, 0x9cc01273, 0x00008180, 0x0280521d,
+ 0x00009002, 0x01402b1c, 0x00006002, 0x01c00007, 0x00000084, 0x97382e88,
+ 0x0000a880, 0x96f828a5, 0x0000a080, 0x01000004, 0x00009084, 0x97382688,
+ 0x0000a800, 0x96f820a5, 0x0000a000, 0x01400805, 0x00001082, 0x97385088,
+ 0x00005000, 0x00383800, 0x00000000, 0x96f828a5, 0x00002880, 0x0000fc90,
+ 0x0000e583, 0x01000004, 0x00000084, 0x96f820a5, 0x00002800, 0x01000000,
+ 0x00007900, 0x00080000, 0x00000980, 0x29410490, 0x00006198, 0x04248004,
+ 0x00002087, 0x800000ec, 0x00005780, 0x00382000, 0x00000000, 0x8f8028ec,
+ 0x0000f902, 0x01000000, 0x00000004, 0x296487e4, 0x00006030, 0x29452fe4,
+ 0x0000c818, 0xffffffff, 0x00007f97, 0x010020a5, 0x00006318, 0x014028a5,
+ 0x00000330, 0x0f0482a5, 0x00006806, 0x8fb828ec, 0x0000d004, 0x00382000,
+ 0x00000000, 0xc1000f89, 0x00006283, 0xa9400aa5, 0x00000080, 0xf7f824a4,
+ 0x00002014, 0xf7f824a4, 0x0000a08c, 0x8f803aa5, 0x00007902, 0x01400000,
+ 0x00008004, 0xffffffff, 0x00007f97, 0x81000e04, 0x0000e089, 0x81000e04,
+ 0x00008091, 0xffffffff, 0x00007f86, 0xf7f824a4, 0x0000a814, 0xf7f824a4,
+ 0x0000288c, 0x29001800, 0x0000e180, 0x01007c90, 0x00004281, 0x01000c04,
+ 0x00009880, 0x010020a4, 0x00009800, 0x010020e5, 0x00009400, 0x01c03804,
+ 0x00006200, 0x01402804, 0x00000200, 0x8fb83aa5, 0x00005004, 0x00382800,
+ 0x00008000, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xc1000f42,
+ 0x0000e283, 0x04c00008, 0x00008980, 0x05400000, 0x0000e180, 0x00001813,
+ 0x00006106, 0x04009000, 0x00007900, 0x00010500, 0x00000980, 0x04400000,
+ 0x0000f900, 0x00018030, 0x00008980, 0x04800702, 0x00000198, 0x05c00000,
+ 0x00006180, 0x85151aa3, 0x00004900, 0x45121390, 0x00008111, 0x08000000,
+ 0x00006190, 0x08400000, 0x0000c990, 0x08800000, 0x0000e190, 0x08c00000,
+ 0x00004990, 0x057c8790, 0x0000e101, 0x09000000, 0x0000c990, 0x161d0aa3,
+ 0x0000f817, 0x68400000, 0x00008782, 0x00000e73, 0x00007200, 0xa91d1c58,
+ 0x00009000, 0x2407f800, 0x00009981, 0x00000ade, 0x00007200, 0x95400000,
+ 0x0000e180, 0xc0000890, 0x00006400, 0xa95d1aa5, 0x00001100, 0x80006aa5,
+ 0x00001582, 0x29400ca0, 0x00001299, 0x00000f23, 0x0000f031, 0x000004a0,
+ 0x00009583, 0x24009000, 0x00007910, 0x00008540, 0x00008980, 0x24400000,
+ 0x0000f910, 0x00018008, 0x00000980, 0x00000f02, 0x0000f008, 0x24c00008,
+ 0x0000e180, 0x25400000, 0x00004980, 0x001120ec, 0x00005780, 0x00005000,
+ 0x00008080, 0x24801002, 0x00006100, 0x00001893, 0x0000e106, 0x25800000,
+ 0x000089dc, 0x250518a3, 0x00006100, 0x9cc01273, 0x00004180, 0xa55512a2,
+ 0x00001900, 0x056504a5, 0x00006001, 0x29003000, 0x00008981, 0x27c00000,
+ 0x00006180, 0x0520aca4, 0x0000c101, 0x05400c15, 0x0000e781, 0x26800000,
+ 0x00008980, 0xa7c00c14, 0x00006781, 0xe7c03c15, 0x00008081, 0x0018309a,
+ 0x0000e100, 0x0000189f, 0x0000b106, 0x27001000, 0x00007900, 0x000041c0,
+ 0x00008980, 0x27400000, 0x00007900, 0x000080b0, 0x00008980, 0x0420a09a,
+ 0x00006081, 0xc000189f, 0x00003006, 0x26000801, 0x0000e180, 0x26400000,
+ 0x00004980, 0x26c00000, 0x0000e180, 0x27801002, 0x00004900, 0x9cc01273,
+ 0x00001180, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009130ec, 0x00005780, 0x00005000, 0x00008080, 0x28252ca4,
+ 0x0000e101, 0x002528a2, 0x0000a084, 0xffffffff, 0x00007f97, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0xa4d03b4c, 0x0000f832, 0xf0400000,
+ 0x0000858e, 0xc0103b4c, 0x00009502, 0x01001020, 0x0000e198, 0x0000006e,
+ 0x0000e431, 0x00000bdc, 0x00007031, 0x00000b62, 0x0000f000, 0x85952b4c,
+ 0x00001100, 0xc010b307, 0x00009502, 0x05001000, 0x000061a9, 0x85983a16,
+ 0x0000c128, 0x05000800, 0x000099a1, 0x00000f75, 0x00007028, 0xd510b307,
+ 0x0000e100, 0x05400c14, 0x00008081, 0x05ad15a0, 0x00006101, 0x9cc00c14,
+ 0x00000081, 0x0020b415, 0x00006503, 0xa95d1209, 0x00000100, 0x00000f3c,
+ 0x0000f01b, 0x8000c0ec, 0x00007902, 0x05000000, 0x00008700, 0x24209000,
+ 0x000080eb, 0xa6183b59, 0x00007832, 0x48400000, 0x00000589, 0x00000b62,
+ 0x00007200, 0x01001020, 0x00009980, 0x80005aa5, 0x00001582, 0x29400c16,
+ 0x00009299, 0x00000f73, 0x0000f031, 0x00000416, 0x00001583, 0x20009000,
+ 0x0000f910, 0x000086c0, 0x00000980, 0x20400000, 0x00007910, 0x00018008,
+ 0x00000980, 0x00000f4f, 0x0000f008, 0x20c00008, 0x00006180, 0x21400000,
+ 0x0000c980, 0x001100ec, 0x0000d780, 0x00005000, 0x00008080, 0x20801002,
+ 0x0000e100, 0x00001883, 0x00006106, 0x21800000, 0x000088dc, 0x210518a3,
+ 0x0000e100, 0x9cc01273, 0x00004180, 0xa15512a2, 0x00009900, 0x2960b4a5,
+ 0x00006001, 0x29005000, 0x00008981, 0x23c00000, 0x0000e180, 0x05252ca4,
+ 0x00004101, 0x22400000, 0x0000e180, 0xe3c00ca5, 0x0000c781, 0xa3c00c14,
+ 0x0000e781, 0x00183089, 0x0000a100, 0x0000188f, 0x00006106, 0x0420a089,
+ 0x0000b081, 0x23001000, 0x0000f900, 0x000041c0, 0x00008980, 0x23400000,
+ 0x0000f900, 0x000080b0, 0x00008980, 0x22200800, 0x00006180, 0xc000188f,
+ 0x0000e006, 0x22800000, 0x000088ec, 0x9cc01273, 0x0000e180, 0x23801002,
+ 0x00000900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009110ec, 0x0000d780, 0x00005000, 0x00008080, 0xa94ffba2,
+ 0x0000e280, 0x68800c16, 0x00000281, 0x68005000, 0x00006181, 0x2920a2a5,
+ 0x00004000, 0x000fe8a4, 0x00001582, 0xa94013a2, 0x000010b8, 0xa9552c14,
+ 0x00009038, 0x00000f7b, 0x0000f050, 0xe8952aa5, 0x00001900, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x00000f35, 0x0000f000, 0x00000b62,
+ 0x00007200, 0x01001020, 0x00009980, 0xc010b307, 0x00009502, 0x00000f2e,
+ 0x00007023, 0x85983a16, 0x00006100, 0x05000c14, 0x00000081, 0xcb90b307,
+ 0x00007823, 0xb8400000, 0x0000078b, 0x00000f6f, 0x00007200, 0xa95d1414,
+ 0x00001000, 0xc010ab08, 0x00009502, 0x00000bf0, 0x0000f023, 0x85584215,
+ 0x00006100, 0x29400ca5, 0x00000081, 0xfc10ab08, 0x0000f822, 0xf8400000,
+ 0x0000878b, 0x0000040b, 0x0000e583, 0x29000c0b, 0x00008281, 0x20009000,
+ 0x0000f910, 0x000086c0, 0x00000980, 0x20400000, 0x00007910, 0x00018008,
+ 0x00000980, 0x00000f94, 0x0000f008, 0x20c00008, 0x00006180, 0x21400000,
+ 0x0000c980, 0x001100ec, 0x0000d780, 0x00005000, 0x00008080, 0x20801002,
+ 0x0000e100, 0x00001883, 0x00006106, 0x21800000, 0x000088dc, 0x210518a3,
+ 0x0000e100, 0x9cc01273, 0x00004180, 0xa15512a2, 0x00009900, 0x29605ca4,
+ 0x0000e001, 0x23c00000, 0x00000980, 0xa900000a, 0x000088e4, 0x01e52ca4,
+ 0x00006101, 0xe3c00ca5, 0x00000781, 0xa3c00c07, 0x00006781, 0x00183089,
+ 0x0000a100, 0x0000188f, 0x00006106, 0x04203889, 0x00003081, 0x23001000,
+ 0x0000f900, 0x000041c0, 0x00008980, 0x23400000, 0x0000f900, 0x000080b0,
+ 0x00008980, 0x22200800, 0x00006180, 0xc000188f, 0x0000e006, 0x22800000,
+ 0x000088ec, 0x9cc01273, 0x0000e180, 0x23801002, 0x00000900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009110ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xa94ffba2, 0x0000e280, 0x68800c0b,
+ 0x00000281, 0x68005000, 0x00006181, 0x29203aa5, 0x0000c000, 0x000fe8a4,
+ 0x00001582, 0xa90013a2, 0x000090b8, 0xa9552407, 0x00009038, 0x00000fba,
+ 0x00007050, 0xe8952aa5, 0x00001900, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x1d80066c, 0x0000f88b, 0x00400000, 0x00008780, 0x00000b62,
+ 0x00007200, 0x01001000, 0x00001980, 0x00000fb3, 0x0000f200, 0xa95d1407,
+ 0x00009000, 0xc010a307, 0x00001502, 0x00000df7, 0x00007023, 0x85183a14,
+ 0x00006100, 0x02c00c0b, 0x00000081, 0x7dd0a307, 0x0000f823, 0xf0400000,
+ 0x0000078d, 0x9cc00800, 0x00006181, 0x8510a34c, 0x0000c100, 0xc010a308,
+ 0x00001502, 0x29401000, 0x000061a9, 0x85184214, 0x0000c128, 0x29400800,
+ 0x000099a1, 0x0000107d, 0x00007028, 0xdce52ca5, 0x0000e101, 0xd510a308,
+ 0x0000c100, 0x1d80066c, 0x0000f88b, 0x00400000, 0x00008780, 0xa0000890,
+ 0x0000ec00, 0x00000ade, 0x00007400, 0xc0000890, 0x0000ec00, 0xe4003800,
+ 0x00001981, 0x800002a1, 0x0000e582, 0x29401aa1, 0x00000880, 0x02800000,
+ 0x00006180, 0x0e4514a4, 0x00006008, 0x29000ca4, 0x00006489, 0x0018300a,
+ 0x0000a186, 0x71e520a2, 0x00006008, 0x71e52015, 0x00003008, 0x01c020a5,
+ 0x0000e002, 0x2482600a, 0x0000a003, 0x01000005, 0x0000e084, 0x0f0482a5,
+ 0x00002006, 0x03c02004, 0x0000e100, 0xa9000aa1, 0x0000c080, 0x80152206,
+ 0x0000e502, 0x01200000, 0x00008980, 0xa9000aa5, 0x0000e080, 0x04248004,
+ 0x00002087, 0x000818ec, 0x00005780, 0x00005000, 0x00008080, 0x03803807,
+ 0x00006100, 0x0d827404, 0x0000e002, 0x803a90ec, 0x0000d700, 0x00382000,
+ 0x00000000, 0x803850ec, 0x00005700, 0x00000000, 0x00008080, 0x8fb83aa4,
+ 0x0000a084, 0x01007c90, 0x0000e281, 0x03400100, 0x00008980, 0x01000c04,
+ 0x0000e080, 0xa8400aa1, 0x0000c080, 0x010027e4, 0x0000e000, 0x03020800,
+ 0x00004980, 0x01c03804, 0x0000e300, 0xa8c00aa3, 0x00000080, 0x8fb83aa4,
+ 0x00002884, 0x8f8022ec, 0x0000f902, 0x01c00000, 0x00000004, 0xa8400000,
+ 0x0000e188, 0x83581302, 0x0000c900, 0xffffffff, 0x00007f97, 0x37400407,
+ 0x00007893, 0xb0400000, 0x00008689, 0x283b9ca0, 0x0000e101, 0x080514a5,
+ 0x00002084, 0xa94ffba3, 0x00006280, 0x293b9ca5, 0x00008001, 0x293b9aa5,
+ 0x00006000, 0x002520a2, 0x00002084, 0x000fe8a4, 0x0000e582, 0x68b39da2,
+ 0x00008001, 0xa91d1f73, 0x00006050, 0xa90013a3, 0x000080b8, 0xffffffff,
+ 0x00007f86, 0x80000207, 0x0000e582, 0xa9152773, 0x00008038, 0x47800800,
+ 0x00006191, 0xa0000817, 0x00006411, 0xe8d522a4, 0x00009900, 0x31551ba1,
+ 0x00007817, 0x88400000, 0x0000078e, 0x9178ba55, 0x0000d004, 0x0038b000,
+ 0x00000000, 0x05c00000, 0x0000f900, 0x00008000, 0x00000980, 0x80001672,
+ 0x0000e583, 0x09022417, 0x00002006, 0xdd5acb75, 0x00006108, 0x9e5aca79,
+ 0x00000110, 0x95c014a4, 0x0000e081, 0x0642c017, 0x00006101, 0x90bba455,
+ 0x0000383c, 0x90bbb655, 0x0000383c, 0x90fbc055, 0x0000383c, 0x90fbd255,
+ 0x0000383c, 0x90fbe455, 0x0000383c, 0x913b9055, 0x00002884, 0x90fb8655,
+ 0x0000b83c, 0x913abe55, 0x00005004, 0x003ab000, 0x00008000, 0x917c4055,
+ 0x00005004, 0x003a1000, 0x00008000, 0x9178ac55, 0x00005004, 0x00385800,
+ 0x00000000, 0x91785655, 0x00005004, 0x0038a000, 0x00008000, 0x903ae455,
+ 0x0000b83c, 0x903af655, 0x0000b83c, 0x907b0055, 0x0000b83c, 0x907b1255,
+ 0x0000b83c, 0x907b2455, 0x0000b83c, 0x907b3655, 0x0000b83c, 0x90bb4055,
+ 0x0000383c, 0x90bb5255, 0x0000383c, 0xc4289000, 0x0000e180, 0x85922244,
+ 0x0000c900, 0x85a21c43, 0x00006101, 0xc5b39f73, 0x00004001, 0x85e51390,
+ 0x00000114, 0x050a07a3, 0x00008116, 0x30800773, 0x0000f88b, 0xe0400000,
+ 0x0000078f, 0xa9403288, 0x0000e080, 0x1b480000, 0x00008980, 0x96c058a5,
+ 0x0000f902, 0x01c00000, 0x00008000, 0x42448290, 0x00008520, 0xffffffff,
+ 0x00007f97, 0x02c0080b, 0x00001082, 0x104207fd, 0x00007500, 0x01c00007,
+ 0x00009084, 0x96f858a5, 0x00005000, 0x00383800, 0x00000000, 0xc1d51ba1,
+ 0x0000e202, 0xc4280000, 0x00000980, 0x05c00000, 0x00006180, 0x050518a3,
+ 0x0000c900, 0x855512a2, 0x0000e100, 0x09022417, 0x0000e006, 0x05b21c44,
+ 0x00008119, 0x00001060, 0x00007410, 0xc5520240, 0x00006100, 0xc5bb9e73,
+ 0x00004001, 0x8438570a, 0x00006101, 0x68b39da2, 0x00004001, 0x800002a1,
+ 0x0000e582, 0x01c01aa1, 0x00008880, 0xa9000aa1, 0x00006080, 0x0e4514a5,
+ 0x00002008, 0x29400ca5, 0x00006489, 0x03400100, 0x00008980, 0x71e528a2,
+ 0x0000e008, 0x71e52815, 0x0000b008, 0x01c02007, 0x00006002, 0xa8400aa1,
+ 0x00000080, 0x01000005, 0x0000e084, 0x03020800, 0x00008980, 0x80152206,
+ 0x0000e502, 0x83581302, 0x00000900, 0x000818ec, 0x00005780, 0x00005000,
+ 0x00008080, 0x03b82707, 0x0000803c, 0xa8400000, 0x00009988, 0xc0000773,
+ 0x0000e583, 0xa8c00aa3, 0x00000080, 0x283b9ca0, 0x00006111, 0x080514a5,
+ 0x0000a094, 0x293b9ca5, 0x00009011, 0x00000cfd, 0x0000f008, 0xa94ffba3,
+ 0x00006280, 0x002520a2, 0x00002084, 0x293b9aa5, 0x00009000, 0x000fe8a4,
+ 0x00001582, 0xa91d1f73, 0x00006050, 0xa90013a3, 0x000080b8, 0x001020ec,
+ 0x0000d780, 0x00905480, 0x000081c0, 0xa9152773, 0x00001038, 0xffffffff,
+ 0x00007f86, 0xe8d522a4, 0x00009900, 0xc46d15a0, 0x0000f812, 0x18400000,
+ 0x0000858b, 0xc01a0b59, 0x00001502, 0xa9548b41, 0x0000e030, 0x45a48490,
+ 0x00008931, 0x81dacaa5, 0x00006130, 0x05c80000, 0x000009b0, 0x00001083,
+ 0x0000f018, 0x00000c74, 0x00007400, 0x85c0f191, 0x0000011d, 0xc5948b59,
+ 0x00006100, 0xc3336017, 0x0000a006, 0xc010a308, 0x00001502, 0x00000fc9,
+ 0x00007023, 0x85184214, 0x00006100, 0x29400ca5, 0x00000081, 0xf250a308,
+ 0x0000f823, 0xf8400000, 0x00000883, 0x82948b59, 0x00009100, 0xc0105341,
+ 0x00009502, 0x29401000, 0x000061a9, 0x829a0a0a, 0x00004128, 0x29400800,
+ 0x000099a1, 0x00001090, 0x00007028, 0x05c00000, 0x00006180, 0x81d05341,
+ 0x0000c100, 0x45a48490, 0x00006101, 0x82252817, 0x0000e006, 0x00000aeb,
+ 0x00007400, 0x858c890a, 0x0000011e, 0x2440f407, 0x0000011d, 0xc0105341,
+ 0x00009502, 0x00001089, 0x00007023, 0x829a0a0a, 0x0000e100, 0x29400ca5,
+ 0x00000081, 0x22505341, 0x00007822, 0x90800000, 0x00000884, 0x04000000,
+ 0x0000e180, 0x06002004, 0x0000c900, 0x06783705, 0x00000128, 0x06f84707,
+ 0x00008130, 0x07785709, 0x00000138, 0x07f8270b, 0x0000811c, 0x05b83705,
+ 0x00000114, 0x10a0136a, 0x0000f404, 0x05384707, 0x0000810c, 0x04384c0a,
+ 0x00008104, 0x01800000, 0x00009981, 0x00001c06, 0x00009583, 0x0100a014,
+ 0x00009908, 0x000010b8, 0x00007009, 0x00001c06, 0x00009583, 0x000010ad,
+ 0x0000f01b, 0x00000c06, 0x00001583, 0x0100b016, 0x00009908, 0x000010b8,
+ 0x00007009, 0x00001406, 0x00001583, 0x0100a815, 0x00009908, 0x000010b8,
+ 0x00007009, 0x000010b6, 0x0000f000, 0x00002c06, 0x00009583, 0x01008811,
+ 0x00009908, 0x000010b8, 0x00007009, 0x00002c06, 0x00009583, 0x01009813,
+ 0x00001928, 0x000010b8, 0x0000f029, 0x00003406, 0x00009583, 0x01008010,
+ 0x00009908, 0x000010b8, 0x00007009, 0x0100b817, 0x00001900, 0xffffffff,
+ 0x00007f86, 0x01002004, 0x00009b00, 0x00072804, 0x0000e502, 0x01402004,
+ 0x00000900, 0x01800c06, 0x00001089, 0x000010bf, 0x0000f011, 0x30c03c06,
+ 0x0000f88a, 0x08800000, 0x00000885, 0x81802c06, 0x00009880, 0x81502a06,
+ 0x00001000, 0x80067a05, 0x00009582, 0x000010cb, 0x0000f033, 0x05800702,
+ 0x0000019c, 0x05009000, 0x0000f900, 0x0000c200, 0x00000980, 0x05400000,
+ 0x00007900, 0x00010000, 0x00000980, 0xc0001817, 0x0000e806, 0x00982eec,
+ 0x0000df80, 0x00005000, 0x00000084, 0x84f82005, 0x0000a000, 0x03000003,
+ 0x00006180, 0x04ca0005, 0x0000c980, 0x04800000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0x03400002, 0x000080f8, 0x03c00000, 0x000081c0, 0x04400000,
+ 0x00006180, 0xc3280500, 0x0000c900, 0xc4d02204, 0x00001900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009018ec,
+ 0x0000d780, 0x00007800, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0xffffffff, 0x00007f86, 0x00c002ec,
+ 0x0000df80, 0x1106180b, 0x00001684, 0x03000000, 0x00006180, 0x06002004,
+ 0x0000c900, 0x06783705, 0x00000128, 0x06f84707, 0x00008130, 0x07785709,
+ 0x00000138, 0x07f8270b, 0x00000100, 0x03f83705, 0x00008038, 0x10ea142c,
+ 0x00007500, 0x03605707, 0x00000030, 0x02c04008, 0x00001900, 0x05800702,
+ 0x0000019c, 0x05009000, 0x0000f900, 0x0000c2c0, 0x00000980, 0x05400000,
+ 0x00007900, 0x00010000, 0x00000980, 0xc0001817, 0x0000e806, 0x00982eec,
+ 0x0000df80, 0x00005000, 0x00000084, 0x03400000, 0x0000e180, 0x06002004,
+ 0x0000c900, 0x06783705, 0x00000128, 0x06f84707, 0x00008130, 0x07785709,
+ 0x00000138, 0x07f8270b, 0x0000010c, 0x04b83705, 0x00000104, 0x10fc12c7,
+ 0x0000f500, 0x04384707, 0x0000803c, 0x03784c0a, 0x00000038, 0x05800702,
+ 0x0000019c, 0x05009000, 0x0000f900, 0x0000c240, 0x00008980, 0x05400000,
+ 0x00007900, 0x00010000, 0x00000980, 0xc0001817, 0x0000e806, 0x00982eec,
+ 0x0000df80, 0x00005000, 0x00000084, 0x780408ec, 0x00005680, 0x00000000,
+ 0x00008080, 0x780000ec, 0x00005680, 0x02090000, 0x00000080, 0x780008ec,
+ 0x0000d680, 0x00000000, 0x00008080, 0x81400cec, 0x00005684, 0x00000000,
+ 0x00008080, 0x81400aec, 0x00005684, 0x00000000, 0x00008080, 0x403840ec,
+ 0x0000d700, 0x00000000, 0x00008080, 0x25b880ec, 0x0000a080, 0xffffffff,
+ 0x00007fa7, 0x81001210, 0x00001880, 0x81001204, 0x00009080, 0x25b83804,
+ 0x0000d000, 0x00386000, 0x00008000, 0x25b85a04, 0x00005000, 0x00385000,
+ 0x00008000, 0x25b84c04, 0x0000d000, 0x00384000, 0x00000000, 0x25b82e04,
+ 0x00005000, 0x00386800, 0x00000000, 0x02103a07, 0x00006100, 0x01000810,
+ 0x0000c080, 0x0001f804, 0x00001582, 0x04000000, 0x0000e198, 0x04000810,
+ 0x0000c0b0, 0x11241104, 0x00007500, 0xffffffff, 0x00007f86, 0x25b880ec,
+ 0x00002880, 0x258560ec, 0x0000f902, 0x2ac00000, 0x00008000, 0xffffffff,
+ 0x00007fa7, 0xaa8012ac, 0x00001880, 0xaa8012aa, 0x00009080, 0x25bf30aa,
+ 0x00005000, 0x003cd800, 0x00000000, 0x25bcd2aa, 0x00005000, 0x003cc800,
+ 0x00008000, 0x25bcc4aa, 0x0000d000, 0x003cb800, 0x00000000, 0x25bcb6aa,
+ 0x0000d000, 0x003ca800, 0x00008000, 0x2a8008ac, 0x00009080, 0x0001f8aa,
+ 0x00009582, 0x2b0008ac, 0x000060b0, 0x2b000000, 0x00008998, 0x800016e6,
+ 0x00009583, 0x25bd60ec, 0x0000a880, 0x00000001, 0x0000f091, 0x000000ab,
+ 0x00001582, 0x021732e6, 0x00009910, 0x00000001, 0x0000f089, 0x113c1104,
+ 0x0000f100, 0x00000001, 0x0000f080, 0x96bd40ec, 0x00003838, 0x96bd52ec,
+ 0x00003838, 0x11421124, 0x0000f500, 0x96bd64ec, 0x00003838, 0x96bd76ec,
+ 0x00003838, 0x96bd40ec, 0x0000b038, 0x96bd52ec, 0x0000b038, 0x00000001,
+ 0x00007480, 0x96bd64ec, 0x0000b038, 0x96bd76ec, 0x0000b038, 0x25bb92ec,
+ 0x0000a080, 0x1c6377e4, 0x00009800, 0xffffffff, 0x00007f97, 0x1c439071,
+ 0x00009202, 0x39800000, 0x0000f910, 0x000040c0, 0x00000980, 0xb9801800,
+ 0x0000e190, 0x26838070, 0x00004910, 0x00000001, 0x00007088, 0x26c3786f,
+ 0x00006100, 0x08001a98, 0x00006106, 0xa6200500, 0x00008922, 0x0000113d,
+ 0x0000f400, 0x267b7702, 0x0000891c, 0x257b6f6c, 0x00008918, 0x00172006,
+ 0x0000e186, 0x08001a09, 0x0000b106, 0x81501202, 0x00006100, 0x04300006,
+ 0x0000e087, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0xc1581302,
+ 0x0000e100, 0x0d001f06, 0x00006006, 0x02de2000, 0x0000f900, 0x00395f38,
+ 0x00000980, 0x032f4000, 0x0000f900, 0x003fbfce, 0x00008980, 0x03400000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x11671110, 0x0000f500, 0x82781400,
+ 0x00000028, 0x02000f06, 0x0000009d, 0x94b910ec, 0x00003838, 0x94b922ec,
+ 0x0000b838, 0x94b934ec, 0x00003838, 0x94b946ec, 0x00003838, 0x000004e3,
+ 0x00001583, 0x4001fde3, 0x00001583, 0x400005e3, 0x00001583, 0x0000118e,
+ 0x00007008, 0x00001181, 0x0000f030, 0x00001198, 0x00007048, 0x820122ec,
+ 0x00007902, 0x08c00000, 0x00000604, 0x494105e3, 0x00006283, 0x0880fde3,
+ 0x00008281, 0x08a117e4, 0x00001800, 0x00001187, 0x0000f009, 0x08811822,
+ 0x00001202, 0x08800000, 0x00009981, 0x08800800, 0x00009991, 0xffffffff,
+ 0x00007f86, 0x25e11422, 0x00009901, 0x94b910ec, 0x0000b038, 0x94b922ec,
+ 0x00003038, 0x00000001, 0x00007480, 0x94b934ec, 0x0000b038, 0x94b946ec,
+ 0x0000b038, 0x494105e3, 0x00006283, 0x0880fde3, 0x00008281, 0x820120ec,
+ 0x0000f902, 0x08c00000, 0x00000604, 0x08a117e4, 0x00001800, 0x00001177,
+ 0x00007010, 0xffffffff, 0x00007f86, 0x08812022, 0x00009202, 0x08800000,
+ 0x00009981, 0x08800800, 0x00009991, 0x0000117c, 0x0000f400, 0xffffffff,
+ 0x00007f86, 0x25e11422, 0x00009901, 0x82391eec, 0x00002684, 0x08b71fe4,
+ 0x00006000, 0x25c00000, 0x00004981, 0x94b922ec, 0x00003038, 0x94b934ec,
+ 0x0000b038, 0x08811822, 0x00001202, 0x94b946ec, 0x0000b038, 0x00000001,
+ 0x00007480, 0x94b910ec, 0x0000b038, 0x25c00800, 0x00001991, 0x00001173,
+ 0x0000f200, 0x820124ec, 0x00007902, 0x08c00000, 0x00000604, 0x00000022,
+ 0x00009582, 0x94610eec, 0x0000a090, 0x39800000, 0x0000f910, 0x00004080,
+ 0x00008980, 0x00000001, 0x00007088, 0x26c0e000, 0x0000f900, 0x00188ac0,
+ 0x00000980, 0x80172a21, 0x0000e502, 0x08001a98, 0x0000a106, 0x88400a21,
+ 0x0000e090, 0xb980a800, 0x00000980, 0x94610eec, 0x00002890, 0x26a80727,
+ 0x00008922, 0xa6381400, 0x00008924, 0x0000113d, 0x0000f400, 0x25f92726,
+ 0x00000918, 0x257f1fe3, 0x00009900, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x01400000, 0x00006180, 0x08001a09, 0x0000e106, 0x02e45800,
+ 0x0000f900, 0x0026484c, 0x00008980, 0x033a4000, 0x00007900, 0x003bdaae,
+ 0x00000980, 0x03400000, 0x0000e180, 0x0d001e05, 0x0000e006, 0x82600500,
+ 0x00008026, 0x02b81702, 0x00008020, 0x11bc1110, 0x0000f500, 0x81c03000,
+ 0x00006180, 0x01700600, 0x00004901, 0x41680500, 0x00009901, 0x9a371ee3,
+ 0x00009900, 0x83c35068, 0x00007902, 0x1a000000, 0x00008000, 0xffffffff,
+ 0x00007fa7, 0x0000046a, 0x00009583, 0x1ab35fe4, 0x00009810, 0x00000001,
+ 0x0000f089, 0x1a03406a, 0x00009202, 0x39800000, 0x0000f908, 0x000040c0,
+ 0x00000980, 0xb9935a6b, 0x00006108, 0x2683606c, 0x00004908, 0x00000001,
+ 0x00007090, 0x26eb5800, 0x0000f900, 0x0003cd08, 0x00008980, 0xe6300600,
+ 0x0000e101, 0x08001a98, 0x00006106, 0xa6381400, 0x00008924, 0x25cb786f,
+ 0x0000891c, 0x25db7a6f, 0x0000891c, 0x258b706e, 0x00008918, 0x259b726e,
+ 0x00008918, 0x11d5113d, 0x0000f500, 0x254b686d, 0x00008914, 0x25536b6d,
+ 0x00008914, 0x00000001, 0x0000f080, 0x40002515, 0x00006583, 0x04800800,
+ 0x00000980, 0x04000000, 0x0000e180, 0x44b71ee3, 0x0000c901, 0x03006000,
+ 0x00006189, 0x30ff1012, 0x00006002, 0x000011f4, 0x00007208, 0x84181302,
+ 0x00009900, 0x40002515, 0x00009583, 0x000011ea, 0x0000701b, 0x40001515,
+ 0x00009583, 0x03005000, 0x00001989, 0x000011f4, 0x00007009, 0x40001515,
+ 0x00009583, 0x0300e000, 0x00001999, 0x000011f4, 0x0000f019, 0x40000d15,
+ 0x00009583, 0x03004800, 0x00001989, 0x000011f4, 0x00007009, 0x000011f3,
+ 0x0000f000, 0x40003515, 0x00001583, 0x03008000, 0x00009989, 0x000011f4,
+ 0x00007009, 0x40003515, 0x00001583, 0x03004000, 0x000019a9, 0x000011f4,
+ 0x0000f029, 0x40003d15, 0x00009583, 0x03024000, 0x00001989, 0x000011f4,
+ 0x00007009, 0x03000000, 0x00009981, 0x00000415, 0x0000e583, 0x86207012,
+ 0x00002087, 0x03800000, 0x0000e180, 0x86206010, 0x0000e087, 0x837f1fe3,
+ 0x0000e100, 0x03800800, 0x00004989, 0x84f8900d, 0x00005000, 0x00388000,
+ 0x00000000, 0x00000c14, 0x0000e583, 0x83371ee3, 0x00008900, 0x03400000,
+ 0x00009980, 0x83c0700c, 0x0000a880, 0x03800000, 0x0000e180, 0x0018880d,
+ 0x0000618e, 0xffffffff, 0x00007f86, 0x0410880d, 0x0000e18f, 0x0000200e,
+ 0x0000b48e, 0x83371ee3, 0x00001900, 0x0000120e, 0x0000f400, 0x9238740c,
+ 0x00005000, 0x00386800, 0x00000000, 0x03787e0f, 0x00006000, 0x03b07e0f,
+ 0x00000901, 0x03800c0e, 0x00006081, 0x8300840e, 0x00008080, 0x84cf180c,
+ 0x00002881, 0x0320740e, 0x00009900, 0x0000680c, 0x00009502, 0x837f17e2,
+ 0x00001940, 0x91c0740d, 0x0000f942, 0x03000000, 0x00000000, 0x0000120b,
+ 0x00007048, 0x91f888ec, 0x0000a080, 0x837f17e2, 0x00009900, 0x0000040e,
+ 0x00001583, 0x8220a00e, 0x0000e88e, 0x40000511, 0x00006583, 0x0430a00e,
+ 0x0000208f, 0x91f8640d, 0x00002800, 0x03800c0e, 0x00006081, 0x0470b616,
+ 0x00000909, 0x00001227, 0x0000f210, 0x91f8740d, 0x00002880, 0x2c007ee3,
+ 0x00001680, 0x830588b0, 0x00009000, 0x2598b0ec, 0x00002803, 0x25b8aaec,
+ 0x00002882, 0x9378e40c, 0x00005000, 0x00271800, 0x00008001, 0x9378ea0c,
+ 0x0000a800, 0x8468a514, 0x00009901, 0x00000001, 0x00007480, 0x44400d11,
+ 0x00009081, 0x91f888ec, 0x00002880, 0x0000240e, 0x00006583, 0x8400840f,
+ 0x00008080, 0x84f88810, 0x00002080, 0x03806000, 0x0000e189, 0x43000000,
+ 0x0000c980, 0x83187b0f, 0x00001900, 0xffffffff, 0x00007f86, 0x00000811,
+ 0x0000ec82, 0x84400000, 0x00001981, 0x0000124c, 0x00007408, 0x30ff1011,
+ 0x0000e802, 0x51687811, 0x0000e800, 0x0000240e, 0x00009583, 0x00001242,
+ 0x0000f01b, 0x0000140e, 0x00009583, 0x03805000, 0x00009989, 0x0000124c,
+ 0x00007009, 0x0000140e, 0x00009583, 0x0380e000, 0x00009999, 0x0000124c,
+ 0x0000f019, 0x00000c0e, 0x00009583, 0x03804800, 0x00009989, 0x0000124c,
+ 0x00007009, 0x0000124b, 0x0000f000, 0x0000340e, 0x00001583, 0x03808000,
+ 0x00001989, 0x0000124c, 0x00007009, 0x0000340e, 0x00001583, 0x03804000,
+ 0x000099a9, 0x0000124c, 0x0000f029, 0x00003c0e, 0x00009583, 0x03824000,
+ 0x00009989, 0x0000124c, 0x00007009, 0x03800000, 0x00001981, 0x86206811,
+ 0x0000e087, 0x8620700c, 0x0000b087, 0x84f88810, 0x00005000, 0x00386000,
+ 0x00008000, 0x84371ee3, 0x00009900, 0x84f86010, 0x0000a000, 0xffffffff,
+ 0x00007f86, 0x00000001, 0x00007483, 0x83000e0c, 0x00009081, 0x84f86010,
+ 0x00002800, 0x84f9000e, 0x0000a080, 0x80007a0e, 0x00001582, 0xffffffff,
+ 0x00007f97, 0x83e90520, 0x00006118, 0x0f41040e, 0x0000e032, 0x84e0780f,
+ 0x0000a019, 0xffffffff, 0x00007f86, 0x00000001, 0x0000749b, 0x83e90520,
+ 0x00006118, 0x03000c0f, 0x00004199, 0x84f0600f, 0x0000a819, 0x91c078ec,
+ 0x0000a081, 0xffffffff, 0x00007fa7, 0x03c00c0f, 0x00001181, 0x91d878ec,
+ 0x00002882, 0x83e0740e, 0x00001900, 0x91c07c0f, 0x00002080, 0xffffffff,
+ 0x00007f86, 0x00000001, 0x00007483, 0x83e0740e, 0x00006100, 0x03000c0f,
+ 0x00004181, 0x91c0640f, 0x0000a880, 0x83000ee3, 0x0000e283, 0x83000ee3,
+ 0x00008780, 0x66f8680c, 0x0000208c, 0x66f8680c, 0x0000a014, 0xffffffff,
+ 0x00007fa7, 0x0340080d, 0x0000e090, 0x0340080d, 0x00008088, 0x00000001,
+ 0x0000f481, 0x66f8680c, 0x0000a88c, 0x66f8680c, 0x00002814, 0x03400002,
+ 0x00006180, 0x03880804, 0x00004980, 0xc3680500, 0x00006100, 0x83002d00,
+ 0x00004880, 0x760010ec, 0x00005680, 0x00386800, 0x00000000, 0xc39ad20c,
+ 0x00001080, 0x763870ec, 0x00005600, 0x000ff800, 0x00000080, 0x760000ec,
+ 0x0000d680, 0x00000000, 0x00008080, 0x00c002ec, 0x0000df80, 0x1114180b,
+ 0x00001684, 0xb918630c, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x830001e4, 0x000000b4, 0x128a1256, 0x00007500, 0x837f1fe3,
+ 0x00009900, 0x0380680d, 0x00001900, 0x833f1fe3, 0x00001900, 0x84c0600c,
+ 0x00002080, 0xffffffff, 0x00007f86, 0x00001276, 0x0000f403, 0x833f1fe3,
+ 0x00006100, 0x0347c40c, 0x0000c281, 0x84c0680c, 0x00002880, 0x80000227,
+ 0x00006582, 0x81c00000, 0x00008980, 0x81c00800, 0x00006190, 0x02000000,
+ 0x0000c980, 0x09000000, 0x000082d4, 0x00000407, 0x0000e583, 0xc3203824,
+ 0x0000a006, 0x82280500, 0x00006110, 0x82000000, 0x0000c988, 0xc0000727,
+ 0x00006583, 0x00214825, 0x00002084, 0xc11722e4, 0x00006100, 0x04104024,
+ 0x00006187, 0x89802d00, 0x00006090, 0x00013008, 0x00006286, 0x89994328,
+ 0x00006108, 0x899ad226, 0x0000c090, 0x80000627, 0x00009583, 0x04113026,
+ 0x00006987, 0x00181026, 0x0000e18e, 0x00114026, 0x0000b196, 0x00000407,
+ 0x00001583, 0x783928ec, 0x0000d600, 0x00392000, 0x00008000, 0x783930ec,
+ 0x0000d600, 0x00384000, 0x00000000, 0x00000000, 0x0000f088, 0x00c002ec,
+ 0x0000df80, 0x1115700b, 0x00001684, 0xb9182304, 0x00001900, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x00007083, 0x00000426, 0x0000e583, 0x01000000,
+ 0x00000980, 0x81000000, 0x000002d0, 0x01000800, 0x00006191, 0x09440000,
+ 0x00004980, 0x01400000, 0x00006180, 0x00213825, 0x00006084, 0x00000404,
+ 0x0000e583, 0xc3202024, 0x0000a006, 0x81280500, 0x00006110, 0x81000000,
+ 0x0000c988, 0x40000526, 0x0000e583, 0x00014005, 0x0000a286, 0x04102024,
+ 0x00006187, 0x00181004, 0x0000b18e, 0x783928ec, 0x0000d600, 0x00392000,
+ 0x00008000, 0x00193804, 0x0000e996, 0x00000001, 0x00007480, 0xffffffff,
+ 0x00007f86, 0x783820ec, 0x0000d600, 0x00382800, 0x00008000, 0x023f2fe5,
+ 0x00008024, 0x01400000, 0x0000e181, 0x028728e5, 0x0000c900, 0x00001c05,
+ 0x00009583, 0x05008010, 0x00001908, 0x000012e1, 0x0000f009, 0x00001c05,
+ 0x00009583, 0x000012d6, 0x0000701b, 0x00000c05, 0x00001583, 0x05009012,
+ 0x00001908, 0x000012e1, 0x0000f009, 0x00001405, 0x00001583, 0x05003006,
+ 0x00001908, 0x000012e1, 0x0000f009, 0x000012df, 0x00007000, 0x00002c05,
+ 0x00009583, 0x0500700e, 0x00001908, 0x000012e1, 0x0000f009, 0x00002c05,
+ 0x00009583, 0x0500780f, 0x00009928, 0x000012e1, 0x00007029, 0x00003405,
+ 0x00009583, 0x0500680d, 0x00001908, 0x000012e1, 0x0000f009, 0x05009813,
+ 0x00009900, 0xffffffff, 0x00007f86, 0x0100a014, 0x00009b00, 0x00072804,
+ 0x0000e502, 0x05002004, 0x00000900, 0x01400c05, 0x00001089, 0x000012e8,
+ 0x0000f011, 0xbb003c05, 0x0000f88a, 0x50800000, 0x00000986, 0x81402c05,
+ 0x00009880, 0x8510a205, 0x00001000, 0x80067a14, 0x00009582, 0x000012ed,
+ 0x0000f033, 0x853ff801, 0x00009980, 0x83000000, 0x000080ee, 0xd6fffa14,
+ 0x0000788a, 0x00800003, 0x00000080, 0xffffffff, 0x00007f86, 0x84c02014,
+ 0x0000f902, 0x05400000, 0x00008000, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0x01003c04, 0x00009283, 0x8100fa14, 0x0000e288, 0x81402a14,
+ 0x00008788, 0x011027e4, 0x00009808, 0x00001310, 0x00007010, 0x00000405,
+ 0x00006583, 0x010020e5, 0x00000400, 0x04c09804, 0x00001208, 0x00001328,
+ 0x00007009, 0x00000c05, 0x00001583, 0x04809004, 0x00001208, 0x00001328,
+ 0x00007009, 0x00001405, 0x00001583, 0x04408804, 0x00001208, 0x00001328,
+ 0x00007009, 0x00001c05, 0x00009583, 0x04008004, 0x00001208, 0x00001328,
+ 0x00007009, 0x00002405, 0x00001583, 0x03c07804, 0x00001208, 0x00001328,
+ 0x00007009, 0x00002c05, 0x00009583, 0x03807004, 0x00001208, 0x00001328,
+ 0x00007009, 0x00001328, 0x0000f400, 0x00003405, 0x00009583, 0x03406804,
+ 0x00001208, 0x00004c0c, 0x00009583, 0x01801c0c, 0x000062b1, 0x01000000,
+ 0x000009b0, 0x01801c06, 0x000060b0, 0x38404404, 0x000040b1, 0x00001320,
+ 0x0000f018, 0x0107f800, 0x00009980, 0x01003004, 0x00001800, 0x010020e5,
+ 0x00009400, 0xffffffff, 0x00007f86, 0x01400200, 0x0000f904, 0x0107fa14,
+ 0x00006280, 0x01402005, 0x00000200, 0x01803004, 0x00009800, 0x01803005,
+ 0x00009300, 0x10003400, 0x00007904, 0xc1002715, 0x00006283, 0x03000c0c,
+ 0x00000081, 0x0150aa15, 0x00001910, 0x13243e6e, 0x0000f111, 0x84f82814,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x00001805, 0x0000ec04, 0x84f82814,
+ 0x00002880, 0x85000a14, 0x00009080, 0x80068214, 0x00001582, 0x01c00000,
+ 0x0000e191, 0x81002a14, 0x0000c790, 0x8500fa14, 0x00006290, 0x01a02404,
+ 0x00000911, 0x00001357, 0x00007008, 0x0110a7e4, 0x00009800, 0x014022ec,
+ 0x00009100, 0x00203c06, 0x00001503, 0x00001354, 0x0000f01b, 0x00001c07,
+ 0x00001583, 0x01008010, 0x00009908, 0x00001349, 0x0000f009, 0x00001c07,
+ 0x00001583, 0x0000133f, 0x0000701b, 0x00000c07, 0x00009583, 0x01009012,
+ 0x00009908, 0x00001349, 0x0000f009, 0x00001407, 0x00009583, 0x01008811,
+ 0x00009908, 0x00001349, 0x0000f009, 0x00001348, 0x00007000, 0x00002c07,
+ 0x00001583, 0x0100700e, 0x00009908, 0x00001349, 0x0000f009, 0x00002c07,
+ 0x00001583, 0x0100780f, 0x00001928, 0x00001349, 0x00007029, 0x00003407,
+ 0x00001583, 0x0100680d, 0x00009908, 0x00001349, 0x0000f009, 0x01009813,
+ 0x00001900, 0x00203c06, 0x00001503, 0x01002804, 0x00009208, 0xffffffff,
+ 0x00007f86, 0x05002004, 0x00001b00, 0x00072814, 0x00006502, 0x0100a014,
+ 0x00008900, 0x81c02c07, 0x00001890, 0x85102207, 0x00009010, 0x00001354,
+ 0x00007008, 0xd5c67a14, 0x0000789a, 0xc0800000, 0x0000098a, 0x01c00c07,
+ 0x00009081, 0x00003c07, 0x00009583, 0x00001331, 0x00007013, 0x853ff801,
+ 0x00009980, 0x02c00c0b, 0x00009081, 0xbc3ffa14, 0x00007892, 0x00800003,
+ 0x00000080, 0x0420600a, 0x00006087, 0x08001a98, 0x00003106, 0x39800000,
+ 0x00007900, 0x000040c0, 0x00000980, 0xe6300600, 0x0000e101, 0x8620580a,
+ 0x0000e087, 0x26b40800, 0x0000f900, 0x002f51f0, 0x00008980, 0x26f3c800,
+ 0x0000f900, 0x00065644, 0x00008980, 0xa6381400, 0x00008924, 0x1369113d,
+ 0x0000f500, 0x25f84f08, 0x00000918, 0x2540970a, 0x00000e99, 0x00000001,
+ 0x0000f080, 0x048004e4, 0x000080b8, 0x027f2fe5, 0x00000028, 0x01000000,
+ 0x00006181, 0x02c728e5, 0x00004900, 0x00001c04, 0x00001583, 0x03403807,
+ 0x00009908, 0x00001385, 0x0000f009, 0x00001c04, 0x00001583, 0x0000137a,
+ 0x0000f01b, 0x00000c04, 0x00009583, 0x0340b016, 0x00009908, 0x00001385,
+ 0x0000f009, 0x00001404, 0x00009583, 0x03403006, 0x00009908, 0x00001385,
+ 0x0000f009, 0x00001383, 0x0000f000, 0x00002c04, 0x00001583, 0x03408811,
+ 0x00009908, 0x00001385, 0x0000f009, 0x00002c04, 0x00001583, 0x03404008,
+ 0x00001928, 0x00001385, 0x00007029, 0x00003404, 0x00001583, 0x03408010,
+ 0x00009908, 0x00001385, 0x0000f009, 0x0340b817, 0x00001900, 0xffffffff,
+ 0x00007f86, 0x0140680d, 0x00001b00, 0x00072805, 0x00006502, 0x03402805,
+ 0x00008900, 0x01000c04, 0x00001089, 0x0000138c, 0x0000f011, 0xe4003c04,
+ 0x0000788a, 0x70800000, 0x0000098b, 0x81002c04, 0x00009880, 0x83506a04,
+ 0x00009000, 0x80067a0d, 0x00001582, 0x00001391, 0x0000f033, 0x837ff801,
+ 0x00001980, 0x81400000, 0x000080d2, 0x02bffa0d, 0x0000f88b, 0x00800003,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x84c0300d, 0x0000f902, 0x03800000,
+ 0x00008000, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x01803c06,
+ 0x00001281, 0x00000c06, 0x00001583, 0x00002406, 0x00009593, 0x81c0fa0d,
+ 0x00006290, 0x81802a0d, 0x00000790, 0x01d03fe4, 0x00009810, 0x000013b6,
+ 0x00007008, 0x00000406, 0x00006583, 0x01c038e5, 0x00000400, 0x05c0b807,
+ 0x00001208, 0x000013d7, 0x00007009, 0x00000c06, 0x00001583, 0x0580b007,
+ 0x00001208, 0x000013d7, 0x00007009, 0x00001406, 0x00001583, 0x0540a807,
+ 0x00001208, 0x000013d7, 0x00007009, 0x00001c06, 0x00009583, 0x0500a007,
+ 0x00001208, 0x000013d7, 0x00007009, 0x00002406, 0x00001583, 0x04c09807,
+ 0x00001208, 0x000013d7, 0x00007009, 0x00002c06, 0x00009583, 0x04408807,
+ 0x00001208, 0x000013d7, 0x00007009, 0x000013d7, 0x0000f400, 0x00003406,
+ 0x00009583, 0x04008007, 0x00001208, 0x00004c05, 0x00009583, 0x02001c05,
+ 0x0000e2b1, 0x01800000, 0x000089b0, 0x02001c08, 0x000060b0, 0x38404c06,
+ 0x000040b1, 0x000013c6, 0x00007018, 0x0187f800, 0x00001980, 0x01804006,
+ 0x00009800, 0x018030e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01c00200,
+ 0x00007904, 0x0187fa0d, 0x00006280, 0x01c03007, 0x00008200, 0x02004006,
+ 0x00001800, 0x02004007, 0x00001300, 0x10004400, 0x0000f904, 0xc100870e,
+ 0x00006283, 0x01400c05, 0x00000081, 0x01800000, 0x00009990, 0x00106806,
+ 0x00006996, 0x13cc27a1, 0x00007214, 0x03c03006, 0x00001910, 0xc100170e,
+ 0x00009283, 0x13ce3998, 0x00007113, 0x01800000, 0x00001980, 0x13d21256,
+ 0x00007500, 0x00106806, 0x0000e986, 0x03803006, 0x00001900, 0x84c0300d,
+ 0x0000f902, 0x03800000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00001006,
+ 0x00006c04, 0x84f8300d, 0x0000a880, 0x83400a0d, 0x00009080, 0x8006820d,
+ 0x00009582, 0x03000000, 0x00006191, 0x81802a0d, 0x0000c790, 0x8340fa0d,
+ 0x00006290, 0x02203406, 0x00008911, 0x00001406, 0x00007008, 0x01906fe4,
+ 0x00009800, 0x01c032ec, 0x00009100, 0x00206408, 0x00001503, 0x00001403,
+ 0x0000f01b, 0x00001c0c, 0x00009583, 0x0180a014, 0x00001908, 0x000013f8,
+ 0x0000f009, 0x00001c0c, 0x00009583, 0x000013ee, 0x0000701b, 0x00000c0c,
+ 0x00001583, 0x0180b016, 0x00001908, 0x000013f8, 0x0000f009, 0x0000140c,
+ 0x00001583, 0x0180a815, 0x00001908, 0x000013f8, 0x0000f009, 0x000013f7,
+ 0x0000f000, 0x00002c0c, 0x00009583, 0x01808811, 0x00001908, 0x000013f8,
+ 0x0000f009, 0x00002c0c, 0x00009583, 0x01809813, 0x00009928, 0x000013f8,
+ 0x00007029, 0x0000340c, 0x00009583, 0x01808010, 0x00001908, 0x000013f8,
+ 0x0000f009, 0x0180b817, 0x00009900, 0x00206408, 0x00001503, 0x01803806,
+ 0x00001208, 0xffffffff, 0x00007f86, 0x03403006, 0x00009b00, 0x0007280d,
+ 0x0000e502, 0x0180680d, 0x00000900, 0x83002c0c, 0x00001890, 0x8350320c,
+ 0x00001010, 0x00001403, 0x00007008, 0x01867a0d, 0x0000f89b, 0x38800000,
+ 0x00008a80, 0x03000c0c, 0x00009081, 0x00003c0c, 0x00001583, 0x000013e0,
+ 0x00007013, 0x837ff801, 0x00001980, 0x01000c04, 0x00009081, 0xe53ffa0d,
+ 0x0000f892, 0x00800003, 0x00000080, 0x0420280b, 0x0000e087, 0x08001a98,
+ 0x00003106, 0x39800000, 0x00007900, 0x000040c0, 0x00000980, 0xe6300600,
+ 0x0000e101, 0x8620200b, 0x00006087, 0x268c1800, 0x0000f900, 0x00198f26,
+ 0x00000980, 0x26c3c800, 0x0000f900, 0x003ec9b2, 0x00000980, 0xa6381400,
+ 0x00008924, 0x1418113d, 0x00007500, 0x25f85709, 0x00008918, 0x25408f0b,
+ 0x00008e99, 0x00000405, 0x00009583, 0xb9109212, 0x0000e108, 0x01000000,
+ 0x00004990, 0x81280500, 0x00006110, 0x01b00004, 0x00004990, 0x700040ec,
+ 0x0000d690, 0x00382544, 0x00008008, 0x700000ec, 0x00005690, 0x00000000,
+ 0x00008080, 0xc190720e, 0x00001910, 0x700000ec, 0x00005690, 0x00000000,
+ 0x00008080, 0x00000000, 0x0000f088, 0x700040ec, 0x00005680, 0x003837c0,
+ 0x00000078, 0x00c002ec, 0x0000df80, 0x1141480b, 0x00001684, 0xb9109212,
+ 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x04bf2fe5,
+ 0x0000810c, 0x01000000, 0x00006181, 0x050728e5, 0x0000c900, 0x00001c04,
+ 0x00001583, 0x01c0680d, 0x00009908, 0x00001446, 0x00007009, 0x00001c04,
+ 0x00001583, 0x0000143b, 0x0000701b, 0x00000c04, 0x00009583, 0x01c0780f,
+ 0x00009908, 0x00001446, 0x00007009, 0x00001404, 0x00009583, 0x01c03006,
+ 0x00009908, 0x00001446, 0x00007009, 0x00001444, 0x0000f000, 0x00002c04,
+ 0x00001583, 0x01c04809, 0x00009908, 0x00001446, 0x00007009, 0x00002c04,
+ 0x00001583, 0x01c0580b, 0x00001928, 0x00001446, 0x0000f029, 0x00003404,
+ 0x00001583, 0x01c0600c, 0x00009908, 0x00001446, 0x00007009, 0x01c08010,
+ 0x00001900, 0xffffffff, 0x00007f86, 0x01403807, 0x00001b00, 0x00072805,
+ 0x00006502, 0x01c02805, 0x00008900, 0x01000c04, 0x00001089, 0x0000144d,
+ 0x0000f011, 0x14403c04, 0x0000788b, 0x78800000, 0x00008a81, 0x81002c04,
+ 0x00009880, 0x81d03a04, 0x00009000, 0x80067a07, 0x00001582, 0x00001452,
+ 0x00007033, 0x81fff801, 0x00001980, 0x02000000, 0x00001981, 0x2e7ffa07,
+ 0x0000788b, 0x00800003, 0x00000080, 0xffffffff, 0x00007f86, 0x84f88807,
+ 0x00002080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x01003c11,
+ 0x00009281, 0x00000c04, 0x00009583, 0x8100fa07, 0x00006290, 0x81402a07,
+ 0x00000790, 0x011027e4, 0x00009810, 0x00001475, 0x0000f008, 0x00000405,
+ 0x00006583, 0x010020e5, 0x00000400, 0x04008004, 0x00001208, 0x00001488,
+ 0x0000f009, 0x00000c05, 0x00001583, 0x03c07804, 0x00001208, 0x00001488,
+ 0x0000f009, 0x00001405, 0x00001583, 0x03807004, 0x00001208, 0x00001488,
+ 0x0000f009, 0x00001c05, 0x00009583, 0x03406804, 0x00001208, 0x00001488,
+ 0x0000f009, 0x00002405, 0x00001583, 0x02c05804, 0x00001208, 0x00001488,
+ 0x0000f009, 0x00002c05, 0x00009583, 0x02404804, 0x00001208, 0x00001488,
+ 0x0000f009, 0x00001488, 0x00007400, 0x00003405, 0x00009583, 0x03006004,
+ 0x00001208, 0x00004c08, 0x00001583, 0x01801c08, 0x0000e2b1, 0x01000000,
+ 0x000009b0, 0x01801c06, 0x000060b0, 0x38409404, 0x0000c0b1, 0x00001485,
+ 0x00007018, 0x0107f800, 0x00009980, 0x01003004, 0x00001800, 0x010020e5,
+ 0x00009400, 0xffffffff, 0x00007f86, 0x01400200, 0x0000f904, 0x0107fa07,
+ 0x0000e280, 0x01402005, 0x00000200, 0x01803004, 0x00009800, 0x01803005,
+ 0x00009300, 0x10003400, 0x00007904, 0x02000c08, 0x00006081, 0x00002011,
+ 0x00002404, 0x84f88807, 0x0000a880, 0x81c00a07, 0x00009080, 0x80068207,
+ 0x00009582, 0x01800000, 0x00006191, 0x81002a07, 0x00004790, 0x81c0fa07,
+ 0x00006290, 0x01602404, 0x00000911, 0x000014b9, 0x0000f008, 0x00000405,
+ 0x00006583, 0x01103fe4, 0x00008800, 0x010022ec, 0x00001100, 0x000014b6,
+ 0x0000f019, 0x00001c06, 0x00009583, 0x01c0680d, 0x00009908, 0x000014a9,
+ 0x0000f009, 0x00001c06, 0x00009583, 0x0000149f, 0x0000f01b, 0x00000c06,
+ 0x00001583, 0x01c0780f, 0x00009908, 0x000014a9, 0x0000f009, 0x00001406,
+ 0x00001583, 0x01c0700e, 0x00009908, 0x000014a9, 0x0000f009, 0x000014a8,
+ 0x00007000, 0x00002c06, 0x00009583, 0x01c04809, 0x00009908, 0x000014a9,
+ 0x0000f009, 0x00002c06, 0x00009583, 0x01c0580b, 0x00001928, 0x000014a9,
+ 0x00007029, 0x00003406, 0x00009583, 0x01c0600c, 0x00009908, 0x000014a9,
+ 0x0000f009, 0x01c08010, 0x00001900, 0x00203405, 0x00009503, 0x01c02007,
+ 0x00001208, 0xffffffff, 0x00007f86, 0x02803807, 0x00001b00, 0x0007280a,
+ 0x00006502, 0x01c0500a, 0x00008900, 0x81802c06, 0x00001890, 0x81d03a06,
+ 0x00009010, 0x000014b6, 0x0000f008, 0x2e467a07, 0x0000789b, 0x00800001,
+ 0x00000000, 0x157ffa07, 0x0000f893, 0xc8800002, 0x00000a85, 0x01800c06,
+ 0x00009081, 0x00403c06, 0x0000c589, 0x7fe03005, 0x00007d1e, 0x86204014,
+ 0x0000e087, 0x08001a98, 0x00003106, 0x39800000, 0x00007900, 0x000040c0,
+ 0x00000980, 0x26933000, 0x00007900, 0x00198f26, 0x00000980, 0x26fb4800,
+ 0x0000f900, 0x00007fea, 0x00008980, 0xa6200500, 0x00008922, 0x26789702,
+ 0x0000091c, 0x14c6113d, 0x00007500, 0x25b8a713, 0x00008914, 0xb980a000,
+ 0x00001980, 0x00000001, 0x0000f080, 0x01000000, 0x00009980, 0x01400000,
+ 0x00001980, 0x01800000, 0x00001980, 0x01c00000, 0x00009980, 0x02000000,
+ 0x00009980, 0x02400000, 0x00001980, 0x02800000, 0x00001980, 0x02c00000,
+ 0x00009980, 0x03000000, 0x00001980, 0x03400000, 0x00009980, 0x03800000,
+ 0x00009980, 0x03c00000, 0x00001980, 0x04000000, 0x00009980, 0x04400000,
+ 0x00001980, 0x04800000, 0x00001980, 0x04c00000, 0x00009980, 0x05000000,
+ 0x00001980, 0x05400000, 0x00009980, 0x05800000, 0x00009980, 0x05c00000,
+ 0x00001980, 0x06000000, 0x00001980, 0x06400000, 0x00009980, 0x06800000,
+ 0x00009980, 0x06c00000, 0x00001980, 0x07000000, 0x00009980, 0x07400000,
+ 0x00001980, 0x07800000, 0x00001980, 0x07c00000, 0x00009980, 0x08000000,
+ 0x00009980, 0x08400000, 0x00001980, 0x08800000, 0x00001980, 0x08c00000,
+ 0x00009980, 0x09000000, 0x00001980, 0x09400000, 0x00009980, 0x09800000,
+ 0x00009980, 0x09c00000, 0x00001980, 0x0a000000, 0x00001980, 0x0a400000,
+ 0x00009980, 0x0a800000, 0x00009980, 0x0ac00000, 0x00001980, 0x0b000000,
+ 0x00009980, 0x0b400000, 0x00001980, 0x0b800000, 0x00001980, 0x0bc00000,
+ 0x00009980, 0x0c000000, 0x00001980, 0x0c400000, 0x00009980, 0x0c800000,
+ 0x00009980, 0x0cc00000, 0x00001980, 0x0d000000, 0x00009980, 0x0d400000,
+ 0x00001980, 0x0d800000, 0x00001980, 0x0dc00000, 0x00009980, 0x0e000000,
+ 0x00009980, 0x0e400000, 0x00001980, 0x0e800000, 0x00001980, 0x0ec00000,
+ 0x00009980, 0x0f000000, 0x00001980, 0x0f400000, 0x00009980, 0x0f800000,
+ 0x00009980, 0x0fc00000, 0x00001980, 0x10000000, 0x00009980, 0x10400000,
+ 0x00001980, 0x10800000, 0x00001980, 0x10c00000, 0x00009980, 0x11000000,
+ 0x00001980, 0x11400000, 0x00009980, 0x11800000, 0x00009980, 0x11c00000,
+ 0x00001980, 0x12000000, 0x00001980, 0x12400000, 0x00009980, 0x12800000,
+ 0x00009980, 0x12c00000, 0x00001980, 0x13000000, 0x00009980, 0x13400000,
+ 0x00001980, 0x13800000, 0x00001980, 0x13c00000, 0x00009980, 0x14000000,
+ 0x00001980, 0x14400000, 0x00009980, 0x14800000, 0x00009980, 0x14c00000,
+ 0x00001980, 0x15000000, 0x00009980, 0x15400000, 0x00001980, 0x15800000,
+ 0x00001980, 0x15c00000, 0x00009980, 0x16000000, 0x00009980, 0x16400000,
+ 0x00001980, 0x16800000, 0x00001980, 0x16c00000, 0x00009980, 0x17000000,
+ 0x00001980, 0x17400000, 0x00009980, 0x17800000, 0x00009980, 0x17c00000,
+ 0x00001980, 0x18000000, 0x00001980, 0x18400000, 0x00009980, 0x18800000,
+ 0x00009980, 0x18c00000, 0x00001980, 0x19000000, 0x00009980, 0x19400000,
+ 0x00001980, 0x19800000, 0x00001980, 0x19c00000, 0x00009980, 0x1a000000,
+ 0x00009980, 0x1a400000, 0x00001980, 0x1a800000, 0x00001980, 0x1ac00000,
+ 0x00009980, 0x1b000000, 0x00001980, 0x1b400000, 0x00009980, 0x1b800000,
+ 0x00009980, 0x1bc00000, 0x00001980, 0x1c000000, 0x00009980, 0x1c400000,
+ 0x00001980, 0x1c800000, 0x00001980, 0x1cc00000, 0x00009980, 0x1d000000,
+ 0x00001980, 0x1d400000, 0x00009980, 0x1d800000, 0x00009980, 0x1dc00000,
+ 0x00001980, 0x1e000000, 0x00001980, 0x1e400000, 0x00009980, 0x1e800000,
+ 0x00009980, 0x1ec00000, 0x00001980, 0x1f000000, 0x00009980, 0x1f400000,
+ 0x00001980, 0x1f800000, 0x00001980, 0x1fc00000, 0x00009980, 0x20000000,
+ 0x00009980, 0x20400000, 0x00001980, 0x20800000, 0x00001980, 0x20c00000,
+ 0x00009980, 0x21000000, 0x00001980, 0x21400000, 0x00009980, 0x21800000,
+ 0x00009980, 0x21c00000, 0x00001980, 0x22000000, 0x00001980, 0x22400000,
+ 0x00009980, 0x22800000, 0x00009980, 0x22c00000, 0x00001980, 0x23000000,
+ 0x00009980, 0x23400000, 0x00001980, 0x23800000, 0x00001980, 0x23c00000,
+ 0x00009980, 0x24000000, 0x00001980, 0x24400000, 0x00009980, 0x24800000,
+ 0x00009980, 0x24c00000, 0x00001980, 0x25000000, 0x00009980, 0x25400000,
+ 0x00001980, 0x25800000, 0x00001980, 0x25c00000, 0x00009980, 0x26000000,
+ 0x00009980, 0x26400000, 0x00001980, 0x26800000, 0x00001980, 0x26c00000,
+ 0x00009980, 0x27000000, 0x00001980, 0x27400000, 0x00009980, 0x27800000,
+ 0x00009980, 0x27c00000, 0x00001980, 0x28000000, 0x00001980, 0x28400000,
+ 0x00009980, 0x28800000, 0x00009980, 0x28c00000, 0x00001980, 0x29000000,
+ 0x00009980, 0x29400000, 0x00001980, 0x29800000, 0x00001980, 0x29c00000,
+ 0x00009980, 0x2a000000, 0x00009980, 0x2a400000, 0x00001980, 0x2a800000,
+ 0x00001980, 0x2ac00000, 0x00009980, 0x2b000000, 0x00001980, 0x2b400000,
+ 0x00009980, 0x2b800000, 0x00009980, 0x2bc00000, 0x00001980, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x0c800ce0, 0x00006283, 0x0d000000, 0x00008981, 0x823996ec,
+ 0x0000a694, 0x0d771fe4, 0x00009810, 0x00000001, 0x00007088, 0x00000001,
+ 0x0000f481, 0x0c819035, 0x00009202, 0x0d000800, 0x00001991, 0x0d400000,
+ 0x0000f900, 0x000010c4, 0x00008980, 0x8c802d00, 0x0000e080, 0x0019b835,
+ 0x00006106, 0x8d280500, 0x0000e100, 0xcd1ad232, 0x0000c080, 0x0c800004,
+ 0x00006180, 0xccd722e4, 0x0000c900, 0x7039a8ec, 0x0000d600, 0x0039a000,
+ 0x00000000, 0x8cc02d00, 0x00006080, 0x8221b832, 0x00006080, 0x0d000000,
+ 0x00007900, 0x00007fc0, 0x00000980, 0x7039b0ec, 0x0000d600, 0x0039c000,
+ 0x00000000, 0x0019b834, 0x00006186, 0x04171032, 0x00003187, 0x7039a0ec,
+ 0x00005600, 0x00399000, 0x00000000, 0x00c002ec, 0x0000df80, 0x114d080b,
+ 0x00009684, 0x15a21575, 0x00007100, 0xb9199b33, 0x00001900, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x00007083, 0x25bcb2ec, 0x0000a080, 0x09a4afe4,
+ 0x00009800, 0xffffffff, 0x00007f97, 0x0984b026, 0x00009202, 0x39800000,
+ 0x0000f910, 0x000040c0, 0x00000980, 0xb9801800, 0x0000e190, 0xe6300600,
+ 0x00004911, 0x00000001, 0x00007088, 0x26990000, 0x00007900, 0x0019b31e,
+ 0x00008980, 0x26d7f800, 0x0000f900, 0x0019b31e, 0x00008980, 0xa6280500,
+ 0x00006101, 0x08001a98, 0x00006106, 0x0000113d, 0x0000f400, 0x267caf02,
+ 0x0000091c, 0x257c6f27, 0x00000918, 0xc0000731, 0x00001583, 0x0f810237,
+ 0x00006090, 0x0c008000, 0x00008990, 0x0b01b840, 0x00006916, 0x000015e5,
+ 0x00007008, 0x2c023d31, 0x00001680, 0x8bc588b0, 0x00001000, 0x2c047431,
+ 0x00009680, 0x8b8588b0, 0x00009000, 0x8bd7ba2f, 0x0000f900, 0x00000008,
+ 0x00000080, 0x8bd1722f, 0x0000e000, 0x8c11ba30, 0x00000000, 0x8b802e31,
+ 0x00009880, 0x8b800a40, 0x00006180, 0x8f403a2e, 0x00008080, 0x8fd17230,
+ 0x00009200, 0x0001702f, 0x0000f902, 0x0c000000, 0x00000000, 0x0c80223f,
+ 0x00001880, 0x0c40f832, 0x00009784, 0xffffffff, 0x00007f86, 0x0ec17032,
+ 0x0000e002, 0x0b80823f, 0x00008080, 0x00017040, 0x00006502, 0x0e818031,
+ 0x00000004, 0x000015fe, 0x0000700b, 0x0b900000, 0x0000e180, 0x0c000060,
+ 0x00004980, 0xcb917a3d, 0x00006000, 0x8c00322f, 0x00000080, 0x700800ec,
+ 0x00005680, 0x003970e0, 0x00008010, 0x703980ec, 0x0000d600, 0x00000000,
+ 0x00008080, 0x7039f0ec, 0x00005600, 0x00000000, 0x00008080, 0x0bb80005,
+ 0x0000e180, 0x10000834, 0x0000e401, 0x7039d8ec, 0x00005600, 0x0039d000,
+ 0x00008000, 0x00000001, 0x00007480, 0xcd400b35, 0x00006080, 0x0418102e,
+ 0x00002187, 0x700800ec, 0x00005680, 0x003977c0, 0x00000078, 0x2c023d31,
+ 0x00001680, 0x8bc588b0, 0x00001000, 0x2c047431, 0x00009680, 0x8b8588b0,
+ 0x00009000, 0x8bd7ba2f, 0x0000f900, 0x00000008, 0x00000080, 0x0c000000,
+ 0x00006180, 0x8bd1722f, 0x00004000, 0x8b802e31, 0x0000e080, 0x8c11ba30,
+ 0x0000c000, 0x8f403a2e, 0x0000e080, 0x0b01b831, 0x0000a106, 0x0039902f,
+ 0x0000a080, 0x0f91ba37, 0x00006100, 0x8b800a31, 0x0000c180, 0x8b917230,
+ 0x00009200, 0x0039802f, 0x0000a000, 0x0b80822e, 0x0000e080, 0x0ec0222e,
+ 0x00008880, 0x0ec1903b, 0x00006002, 0x0e80f83b, 0x00008784, 0xffffffff,
+ 0x00007f86, 0x00017031, 0x00006502, 0x0e81803a, 0x00008004, 0x000015d2,
+ 0x0000f013, 0x80001236, 0x0000e582, 0x8b800a2f, 0x00008080, 0x0039882e,
+ 0x000020b0, 0x0039902f, 0x0000a0b0, 0xcd400b35, 0x00006098, 0x10000834,
+ 0x00002419, 0xffffffff, 0x00007f86, 0x0039882f, 0x000028b0, 0x0039882e,
+ 0x0000a030, 0x0039902e, 0x00005030, 0x00398000, 0x00008000, 0x0c000a36,
+ 0x00009198, 0x000015d2, 0x0000f430, 0xffffffff, 0x00007f86, 0x0039882f,
+ 0x0000a830, 0x0c59b336, 0x00001900, 0x00018031, 0x00009502, 0x8c000000,
+ 0x00006188, 0x8c000b36, 0x0000c090, 0xffffffff, 0x00007f86, 0x0c001a30,
+ 0x00006080, 0xcd918230, 0x0000c900, 0x0c81c830, 0x00009002, 0x0001802e,
+ 0x00007902, 0x0b800000, 0x00000000, 0x0c400038, 0x00009084, 0xffffffff,
+ 0x00007f97, 0x0039802f, 0x00005000, 0x00397000, 0x00008000, 0x0c000060,
+ 0x00006180, 0x0b800000, 0x00004980, 0x8c00322f, 0x00006080, 0xcb800a2f,
+ 0x00000080, 0x700040ec, 0x00005680, 0x003970c0, 0x00000010, 0x0bb80005,
+ 0x00009980, 0x703990ec, 0x00005600, 0x00398800, 0x00000000, 0x0418102e,
+ 0x00006987, 0x700040ec, 0x00005680, 0x003977c0, 0x00000078, 0x0b900000,
+ 0x00009980, 0xcb917a3d, 0x00009000, 0x700800ec, 0x00005680, 0x003970e0,
+ 0x00008010, 0x703980ec, 0x0000d600, 0x00000000, 0x00008080, 0x7039f0ec,
+ 0x00005600, 0x00000000, 0x00008080, 0x0bb80005, 0x00009980, 0x7039d8ec,
+ 0x00005600, 0x0039d000, 0x00008000, 0x00000001, 0x00007480, 0x0418102e,
+ 0x00006987, 0x700800ec, 0x00005680, 0x003977c0, 0x00000078, 0x8b807a37,
+ 0x00009282, 0x0bc00c33, 0x00009888, 0x0b817c33, 0x00001008, 0x00001641,
+ 0x0000f010, 0x8b810237, 0x0000e080, 0x8bd17533, 0x00008000, 0x16e1862f,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x8011822e, 0x00009502, 0x0d000c34,
+ 0x000010d9, 0x0000165a, 0x00007071, 0x8bc00000, 0x00006180, 0x81408205,
+ 0x00004180, 0x8011ba05, 0x0000e502, 0x0bc1a405, 0x00002000, 0x2c047433,
+ 0x00001680, 0x0b8588b0, 0x00001000, 0x8bc00800, 0x000061f0, 0x10000034,
+ 0x0000e403, 0xffffffff, 0x00007f86, 0x01617c05, 0x00001201, 0x2c023d33,
+ 0x00009680, 0x0bc588b0, 0x00009000, 0x0b81782e, 0x0000e000, 0x14602834,
+ 0x0000a001, 0x0bc00c37, 0x0000e080, 0x0c00382e, 0x0000c080, 0x0b81f02f,
+ 0x00006280, 0x8d400a35, 0x00000080, 0x8dc00a37, 0x00006080, 0x8bd17230,
+ 0x00000000, 0x00000001, 0x00007480, 0x2f41962f, 0x00007902, 0x0c400000,
+ 0x00000100, 0x2f81802f, 0x0000f902, 0x0bc00000, 0x00000100, 0x81402634,
+ 0x00001283, 0x0b800000, 0x00007908, 0x00004000, 0x00000980, 0x0ba19c33,
+ 0x0000e109, 0x4ba99d33, 0x00004909, 0x00001641, 0x0000f010, 0x0f01ba2f,
+ 0x00006800, 0x166415b7, 0x00007500, 0x8b800c2f, 0x00001481, 0x0c41702e,
+ 0x00001900, 0x8bc00000, 0x00006180, 0x81408205, 0x00004180, 0x8011ba05,
+ 0x0000e502, 0x0bc1a405, 0x00002000, 0x2c047433, 0x00001680, 0x0b8588b0,
+ 0x00001000, 0x8bc00800, 0x000061f0, 0x10000034, 0x0000e403, 0xffffffff,
+ 0x00007f86, 0x01617c05, 0x00001201, 0x2c023d33, 0x00009680, 0x0bc588b0,
+ 0x00009000, 0x0b81782e, 0x0000e000, 0x14602834, 0x0000a001, 0x0bc00c37,
+ 0x0000e080, 0x0c00382e, 0x0000c080, 0x0b81f02f, 0x00006280, 0x8d400a35,
+ 0x00000080, 0x8dc00a37, 0x00006080, 0x8bd17230, 0x00000000, 0x00000001,
+ 0x00007480, 0x2f41962f, 0x00007902, 0x0c400000, 0x00000100, 0x2f81802f,
+ 0x0000f902, 0x0bc00000, 0x00000100, 0x0b800002, 0x00009980, 0x00000001,
+ 0x00007480, 0xcba80500, 0x00009900, 0x770000ec, 0x00005680, 0x00397000,
+ 0x00008000, 0xc91722e4, 0x0000e100, 0x00000834, 0x00006401, 0x2c023d3a,
+ 0x00009680, 0x0c4588b0, 0x00009000, 0x2c023d3a, 0x00009680, 0x8c0588b0,
+ 0x00009000, 0x2c04743a, 0x00001680, 0x0ec588b0, 0x00009000, 0x09c00000,
+ 0x00006180, 0x49800d26, 0x0000c081, 0x0bc1883b, 0x0000e000, 0x8ca71800,
+ 0x00008980, 0x1690167d, 0x0000f300, 0x09800c26, 0x00009081, 0x8ec0122f,
+ 0x00009080, 0x2f79ce3b, 0x0000d100, 0x0039c000, 0x00000000, 0x2fb9383b,
+ 0x0000d100, 0x0039b800, 0x00000000, 0x2fb9b23b, 0x00005100, 0x0039a800,
+ 0x00008000, 0x2fb9343b, 0x0000d100, 0x0039a000, 0x00000000, 0x00c002ec,
+ 0x0000df80, 0x1154d80b, 0x00009684, 0x2c04743a, 0x00001680, 0x0b8588b0,
+ 0x00001000, 0x80000a32, 0x00006582, 0x0b817031, 0x00008000, 0x8b80122e,
+ 0x00009080, 0x2f41ce2e, 0x00007902, 0x0e000000, 0x00000100, 0x2f81382e,
+ 0x00007902, 0x0dc00000, 0x00000100, 0x2f81b22e, 0x0000f902, 0x0d400000,
+ 0x00008100, 0x2f81342e, 0x00007902, 0x0d000000, 0x00000100, 0x2c04743a,
+ 0x00001680, 0x8b8588b0, 0x00009000, 0x8b80322e, 0x00001080, 0x8b91822e,
+ 0x00001000, 0x2f602e2e, 0x00002180, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x80102a37, 0x00001502, 0xffffffff,
+ 0x00007f86, 0x000016e0, 0x00007008, 0x000016d5, 0x00007010, 0x16b6167d,
+ 0x00007300, 0x09800c26, 0x00009081, 0x2f79ce3b, 0x0000d100, 0x0039c000,
+ 0x00000000, 0x2fb9383b, 0x0000d100, 0x0039b800, 0x00000000, 0x2fb9b23b,
+ 0x00005100, 0x0039a800, 0x00008000, 0x2fb9343b, 0x0000d100, 0x0039a000,
+ 0x00000000, 0x00c002ec, 0x0000df80, 0x1156000b, 0x00001684, 0x2c04743a,
+ 0x00001680, 0x0ec588b0, 0x00009000, 0x8c801232, 0x0000e180, 0x0b81d831,
+ 0x00000000, 0x8ec0122e, 0x00001080, 0x2c04743a, 0x00001680, 0x8b8588b0,
+ 0x00009000, 0x2f41ce3b, 0x0000f902, 0x0e000000, 0x00000100, 0x2f81383b,
+ 0x0000f902, 0x0dc00000, 0x00000100, 0x2f81b23b, 0x00007902, 0x0d400000,
+ 0x00008100, 0x2f81343b, 0x0000f902, 0x0d000000, 0x00000100, 0x8ec0322e,
+ 0x00009080, 0x8b91823b, 0x00009000, 0x2f602e2e, 0x00002180, 0xffffffff,
+ 0x00007fa7, 0x80102a37, 0x00001502, 0x0000168e, 0x0000f00b, 0x0b800000,
+ 0x00006180, 0x00000034, 0x0000e401, 0x80393aec, 0x0000d604, 0x00000000,
+ 0x00008080, 0x0021d02e, 0x0000e886, 0x16dd1636, 0x0000f500, 0x8229d02e,
+ 0x00006886, 0x0cc1702e, 0x00009900, 0xb9192324, 0x00001900, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x00007083, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02c2c800, 0x00007900, 0x001aa58e, 0x00000980, 0x030c1000,
+ 0x00007900, 0x001c5f2a, 0x00008980, 0x02000000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x01400000, 0x000080f4, 0x16ed1110, 0x0000f500, 0x82600500,
+ 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900, 0x00000000,
+ 0x00007080, 0x00001c25, 0x0000e583, 0x8f1722e4, 0x00008900, 0x40001525,
+ 0x000095b3, 0x00001725, 0x0000701b, 0x2c023d25, 0x00001680, 0x0b0588b0,
+ 0x00009000, 0x2c023d25, 0x00001680, 0x8bc588b0, 0x00001000, 0x2c047425,
+ 0x00009680, 0x0c0588b0, 0x00001000, 0x0c01802c, 0x00001000, 0x2c047425,
+ 0x00009680, 0x0cc588b0, 0x00001000, 0x0b816033, 0x00001000, 0x8cc0122e,
+ 0x00009080, 0x2c047425, 0x00009680, 0x8b8588b0, 0x00009000, 0x2f41ce33,
+ 0x00007902, 0x0e000000, 0x00000100, 0x2f813833, 0x00007902, 0x0dc00000,
+ 0x00000100, 0x2f81b233, 0x0000f902, 0x0d400000, 0x00008100, 0x2f813433,
+ 0x00007902, 0x0d000000, 0x00000100, 0x8cc0322e, 0x00001080, 0x8cd1ba37,
+ 0x00006100, 0x8b917a33, 0x0000c000, 0x2f602e2e, 0x00002180, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0xe2202c37, 0x00004468, 0x68202c37,
+ 0x00008516, 0x06e01634, 0x0000c58f, 0x89600e34, 0x00000589, 0x0b400000,
+ 0x00001980, 0x0021282d, 0x00006886, 0x17161636, 0x0000f500, 0x8229282d,
+ 0x0000e886, 0x0cc1682d, 0x00009900, 0x81612c25, 0x00001900, 0xb911e23c,
+ 0x00001900, 0x2c047205, 0x00001680, 0x094588b0, 0x00009000, 0x0b81282c,
+ 0x00009000, 0x8cc0122e, 0x00009080, 0x2f79ce33, 0x00005100, 0x0039c000,
+ 0x00000000, 0x2fb93833, 0x00005100, 0x0039b800, 0x00000000, 0x00000000,
+ 0x0000f480, 0x2fb9b233, 0x0000d100, 0x0039a800, 0x00008000, 0x2fb93433,
+ 0x00005100, 0x0039a000, 0x00000000, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x01400000, 0x00006180, 0x08001a09, 0x0000e106, 0x02c50800,
+ 0x0000f900, 0x001aa58e, 0x00000980, 0x030cb000, 0x00007900, 0x003216a2,
+ 0x00000980, 0x03400000, 0x0000e180, 0xc2700600, 0x00004901, 0x82781400,
+ 0x00000028, 0x0200b702, 0x0000809d, 0x17341110, 0x0000f500, 0x41712800,
+ 0x00008015, 0x41692d25, 0x00009901, 0x01800000, 0x00006180, 0x0011b804,
+ 0x0000e186, 0x00280006, 0x0000e086, 0x04102804, 0x00003187, 0x04212806,
+ 0x0000e087, 0x08001a09, 0x0000b106, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02001002, 0x00006100, 0x82292806, 0x00006086, 0x02e0d800,
+ 0x0000f900, 0x001aa58e, 0x00000980, 0x031ff000, 0x00007900, 0x003c5312,
+ 0x00008980, 0x82600500, 0x00008026, 0x02b82702, 0x00008034, 0x0140b706,
+ 0x0000809d, 0x17461110, 0x00007100, 0x0b800c25, 0x00001880, 0x0b817425,
+ 0x00009000, 0x8b917525, 0x00001000, 0x16e17e2e, 0x0000a080, 0xffffffff,
+ 0x00007fa7, 0x8b917a33, 0x00001100, 0x8141022e, 0x00001082, 0x0d000c34,
+ 0x0000e0d9, 0x0c800000, 0x000089d8, 0x0c400000, 0x000061d8, 0x0c000000,
+ 0x0000c9d8, 0x00001773, 0x0000f070, 0xb911e23c, 0x00006100, 0x4d000d34,
+ 0x0000c081, 0x2c047425, 0x00009680, 0x094588b0, 0x00009000, 0x0bc00000,
+ 0x0000e180, 0x0b81282c, 0x0000c000, 0x8cc0122e, 0x00009080, 0x2f79ce33,
+ 0x00005100, 0x0039c000, 0x00000000, 0x2fb93833, 0x00005100, 0x0039b800,
+ 0x00000000, 0x00000000, 0x0000f480, 0x2fb9b233, 0x0000d100, 0x0039a800,
+ 0x00008000, 0x2fb93433, 0x00005100, 0x0039a000, 0x00000000, 0x0ce80500,
+ 0x00006101, 0x0ba807e4, 0x0000c800, 0x0b41382e, 0x00009202, 0x09c1382e,
+ 0x0000e308, 0x89800e26, 0x00008089, 0x8cc01230, 0x00001088, 0x00001796,
+ 0x00007010, 0x2f79ce33, 0x00005100, 0x0039c000, 0x00000000, 0x2fb93833,
+ 0x00005100, 0x0039b800, 0x00000000, 0x2fb9b233, 0x0000d100, 0x0039a800,
+ 0x00008000, 0x2fb93433, 0x00005100, 0x0039a000, 0x00000000, 0x00c002ec,
+ 0x0000df80, 0x1157c80b, 0x00001684, 0x09c00000, 0x00006180, 0x0f119a33,
+ 0x00006000, 0x00212827, 0x00006886, 0x82292827, 0x0000e886, 0x177a15b7,
+ 0x0000f500, 0x04219827, 0x0000e887, 0x0c413827, 0x00001900, 0x09c00000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x00212827, 0x00006886, 0x82292827,
+ 0x0000e886, 0x178115b7, 0x00007500, 0x89c00c33, 0x00009481, 0x0c413827,
+ 0x00001900, 0x09c00000, 0x00006180, 0x20000834, 0x0000e401, 0xc9800f26,
+ 0x00006081, 0x00212827, 0x00002086, 0x17881682, 0x00007404, 0x82292827,
+ 0x0000e886, 0x0e813827, 0x00009900, 0xb911e23c, 0x00001900, 0x2c047425,
+ 0x00009680, 0x094588b0, 0x00009000, 0x0b81282c, 0x00009000, 0x8cc0122e,
+ 0x00009080, 0x2f79ce33, 0x00005100, 0x0039c000, 0x00000000, 0x2fb93833,
+ 0x00005100, 0x0039b800, 0x00000000, 0x00000000, 0x0000f480, 0x2fb9b233,
+ 0x0000d100, 0x0039a800, 0x00008000, 0x2fb93433, 0x00005100, 0x0039a000,
+ 0x00000000, 0x01400000, 0x00006180, 0x0011b804, 0x0000e186, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x0411b804, 0x0000e187, 0x08001a09,
+ 0x0000b106, 0x02db2800, 0x00007900, 0x001abc2e, 0x00008980, 0x0337d800,
+ 0x00007900, 0x003a48e4, 0x00008980, 0x82600500, 0x00008026, 0x02b81702,
+ 0x00008020, 0x41712800, 0x00008015, 0x00001745, 0x0000f400, 0x0140b125,
+ 0x0000009d, 0x03402004, 0x00001900, 0x09c00000, 0x00001980, 0x00212827,
+ 0x00006886, 0x17ab1682, 0x0000f404, 0x82292827, 0x0000e886, 0x0e813827,
+ 0x00009900, 0x00001717, 0x00007200, 0x81612c25, 0x00001900, 0x81408644,
+ 0x00006283, 0x1c000000, 0x00000980, 0x1c400000, 0x000080df, 0x063fe018,
+ 0x0000f910, 0x003ffffe, 0x00008280, 0x0b000000, 0x0000e180, 0xc0005071,
+ 0x0000e417, 0x8a800000, 0x000083c2, 0x1c800000, 0x000087cc, 0x14000000,
+ 0x000085c4, 0x14800000, 0x000085cc, 0x15000000, 0x000085d4, 0x15800000,
+ 0x000085dc, 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x17000000,
+ 0x000085f4, 0x00000001, 0x0000f490, 0x17800000, 0x000085fc, 0x1c001870,
+ 0x00009390, 0x05e2674f, 0x00004109, 0x0020170a, 0x00008088, 0x00001f0a,
+ 0x0000f890, 0x00000000, 0x00000000, 0x0bc02644, 0x00007896, 0x00c00001,
+ 0x00008060, 0xfa060644, 0x0000c696, 0x2c202644, 0x00008688, 0x0c401f0a,
+ 0x00004592, 0x04e60644, 0x0000808c, 0x0002304f, 0x0000f810, 0x00000000,
+ 0x00000000, 0x0c80170a, 0x0000788a, 0x00c00001, 0x00008060, 0x05860644,
+ 0x0000f88e, 0x00c00001, 0x00000080, 0x1c001870, 0x00001380, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x1122674f,
+ 0x00004469, 0xb8200f0a, 0x00008688, 0xfb800f0a, 0x0000c1a8, 0x0020170a,
+ 0x00008090, 0x0d060744, 0x0000458c, 0x0682374c, 0x00000611, 0x2242604f,
+ 0x0000f80a, 0x00c00000, 0x00008c83, 0xc0001f0a, 0x00009583, 0xc0000851,
+ 0x0000ec0b, 0x00000001, 0x0000f091, 0xc1c10708, 0x00009283, 0x0002604f,
+ 0x00001502, 0xffffffff, 0x00007f86, 0x000018a9, 0x00007008, 0x00001889,
+ 0x0000f008, 0x00003429, 0x00001583, 0x0a000c29, 0x0000e0d1, 0x0a004000,
+ 0x000009b9, 0xc1c04708, 0x00009283, 0xc0214710, 0x00001503, 0xffffffff,
+ 0x00007f86, 0x000017ec, 0x0000f008, 0x000018d3, 0x0000f020, 0x8000060a,
+ 0x00009583, 0x82c148ec, 0x00007902, 0x0a000000, 0x00008604, 0x03000a0a,
+ 0x00006088, 0x02c0080b, 0x0000c788, 0x000018dd, 0x00007010, 0x0300580c,
+ 0x0000e500, 0x0b90520a, 0x0000c900, 0x04800729, 0x000000b4, 0x02d0520a,
+ 0x00001900, 0x0a001109, 0x0000e080, 0x0ac00e0a, 0x00004081, 0x0a084028,
+ 0x00006000, 0x82a15c2b, 0x00000901, 0x0a88c028, 0x0000e580, 0x14000850,
+ 0x0000c380, 0x0a00a812, 0x0000e000, 0xe0000851, 0x0000a403, 0x0a014828,
+ 0x00006100, 0x0ae1582a, 0x00008800, 0x0a130028, 0x00007900, 0x0000003a,
+ 0x00008c80, 0x0b400f10, 0x0000e081, 0x40000850, 0x0000a402, 0x16415828,
+ 0x0000e400, 0x05c24849, 0x0000c900, 0xc4000f10, 0x00006081, 0x0a288b11,
+ 0x00008800, 0x0a01402e, 0x00009c00, 0xc1c10708, 0x00006283, 0x60000851,
+ 0x00002403, 0x16c26028, 0x00006000, 0x90000853, 0x00002401, 0x17400816,
+ 0x00006080, 0x1c500071, 0x00000380, 0x00001814, 0x0000f210, 0x05800816,
+ 0x00006080, 0x1cc00816, 0x00000080, 0x00217c2d, 0x00001503, 0x0c000800,
+ 0x00009989, 0x00000001, 0x00007280, 0x0a800000, 0x00001981, 0x00023816,
+ 0x00009502, 0x000018fb, 0x0000f013, 0x0002784c, 0x00001502, 0x81c00800,
+ 0x0000e1f1, 0x0b02604c, 0x0000c970, 0x00001906, 0x00007059, 0x0a001418,
+ 0x00009283, 0x0a001000, 0x0000e191, 0x0a000000, 0x00004989, 0x063fe818,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x0a000c18, 0x00006283, 0x0a614428,
+ 0x00000901, 0x063ff018, 0x0000f900, 0x003ffffe, 0x00008280, 0x0a001000,
+ 0x0000e191, 0x0a000000, 0x00004989, 0x00000001, 0x0000f481, 0xe7a14071,
+ 0x0000e803, 0xc7214871, 0x00006803, 0xc2801800, 0x0000e181, 0xd0000008,
+ 0x00006401, 0x44000000, 0x00009981, 0x05860644, 0x0000f88e, 0x80c00000,
+ 0x00000b8e, 0x84600000, 0x000000eb, 0x05860644, 0x0000f88e, 0x80c00000,
+ 0x00000b8e, 0xc0000008, 0x0000e401, 0x10001850, 0x0000b404, 0x82c0c8ec,
+ 0x00007902, 0x0a000000, 0x00008604, 0xc2800402, 0x000001c2, 0x16800713,
+ 0x00000186, 0x05860644, 0x0000f88e, 0x80c00000, 0x00000b8e, 0x00260013,
+ 0x0000f900, 0x00000074, 0x00000582, 0xc0000850, 0x0000641b, 0xe0000808,
+ 0x0000b419, 0x0a802800, 0x00001999, 0x00000001, 0x0000f098, 0xc1c00f08,
+ 0x00009283, 0x82c148ec, 0x00007902, 0x0a000000, 0x00008604, 0x00001849,
+ 0x00007009, 0xffffffff, 0x00007f86, 0x0a027029, 0x00009100, 0x00000028,
+ 0x0000f900, 0x00020000, 0x00008582, 0x00000871, 0x0000ec1b, 0xc1c01708,
+ 0x00009283, 0x0000184f, 0x0000f013, 0x8140c64d, 0x00001283, 0x1680a014,
+ 0x00006108, 0x10001850, 0x0000640c, 0x000018d0, 0x00007009, 0xc1c08708,
+ 0x00009283, 0x0a308610, 0x00009911, 0x000018c4, 0x00007009, 0x8140c64d,
+ 0x00001283, 0x0a005000, 0x00001991, 0xffffffff, 0x00007f86, 0x00214410,
+ 0x00001503, 0xc0000850, 0x0000e423, 0x60000871, 0x0000b423, 0x0a802000,
+ 0x000061a1, 0xe0000808, 0x00006421, 0x000018c4, 0x00007028, 0x00000001,
+ 0x0000f080, 0x0002604f, 0x0000e502, 0xc2800000, 0x00000981, 0x04400000,
+ 0x00009981, 0x00001889, 0x00007009, 0xc1c10708, 0x00009283, 0x0a214c29,
+ 0x00009909, 0x00001866, 0x0000f009, 0x00003429, 0x00001583, 0x0a004000,
+ 0x0000e1b9, 0x0a000c29, 0x000040d1, 0xc1c04708, 0x00009283, 0xc0214710,
+ 0x00001503, 0xffffffff, 0x00007f86, 0x0000186b, 0x0000f008, 0x000018d3,
+ 0x0000f020, 0x8000060a, 0x00009583, 0x82c170ec, 0x0000f902, 0x0a000000,
+ 0x00008604, 0x03000a0a, 0x00006088, 0x02c0080b, 0x0000c788, 0x0000188b,
+ 0x00007010, 0x0300580c, 0x0000e500, 0x0a50520a, 0x00004900, 0x0480072e,
+ 0x000080b4, 0x02d0520a, 0x00001900, 0x0a801109, 0x00006080, 0x0ac00e0a,
+ 0x00004081, 0x0a88402a, 0x00006000, 0x14000850, 0x00000380, 0x0a08c02a,
+ 0x0000e580, 0x82a15c2b, 0x0000c901, 0x0a80a812, 0x00006000, 0xe0000851,
+ 0x0000a403, 0x0a81702a, 0x0000e100, 0x0ae15828, 0x00000800, 0x0a93002a,
+ 0x00007900, 0x0000003a, 0x00008c80, 0x0a288b11, 0x00006000, 0x40000850,
+ 0x00006402, 0x0b400f10, 0x0000e081, 0x05c24849, 0x00000900, 0x00001809,
+ 0x00007400, 0x1641582a, 0x00006400, 0x0a014029, 0x00004c00, 0xc4000f10,
+ 0x00009081, 0x00000001, 0x00007280, 0x0a800800, 0x00009981, 0x0a00902e,
+ 0x00001100, 0x0000a828, 0x00009502, 0x03000a0a, 0x0000e0a8, 0x02c0080b,
+ 0x000047a8, 0x0300580c, 0x0000e528, 0x0a50520a, 0x00004928, 0x000018d8,
+ 0x00007020, 0x80003e0a, 0x0000e583, 0x02d0520a, 0x00008900, 0x03400000,
+ 0x0000e180, 0x0af0560a, 0x0000c909, 0x0b400f10, 0x00006089, 0x05c24849,
+ 0x00008908, 0x00001875, 0x0000f010, 0x0a801109, 0x00006080, 0x14000850,
+ 0x0000c380, 0x0a88402a, 0x00006000, 0xe0000851, 0x0000a403, 0x0a08c02a,
+ 0x0000e580, 0x40000850, 0x00006402, 0xc4000f10, 0x00006081, 0x0a80a812,
+ 0x00000000, 0x0a81702a, 0x0000e100, 0x0ae15828, 0x00000800, 0x0a93002a,
+ 0x00007900, 0x0000003a, 0x00008c80, 0x00001809, 0x00007400, 0x0a288b11,
+ 0x00001800, 0x0a01420a, 0x00006400, 0x1641582a, 0x00004c00, 0x0a401109,
+ 0x00006080, 0xd0000808, 0x0000e401, 0x0a484029, 0x00006000, 0x0a288b11,
+ 0x00008800, 0x0002604f, 0x0000e502, 0x0a48c029, 0x00008d80, 0x0a105028,
+ 0x00006400, 0x14000850, 0x0000c380, 0x0a705029, 0x00006000, 0x40000850,
+ 0x00006402, 0x16530029, 0x0000f900, 0x0000003a, 0x00008c80, 0x44000d10,
+ 0x00006081, 0x02d0520a, 0x00008900, 0x00001814, 0x0000f408, 0x03400000,
+ 0x0000e180, 0xc4000f10, 0x0000c081, 0x16c26028, 0x00006000, 0x60000851,
+ 0x0000a413, 0x17400816, 0x00006080, 0x90000853, 0x00002401, 0x1c500071,
+ 0x00006380, 0xe0000851, 0x0000a403, 0x00000001, 0x00007480, 0x1cc00816,
+ 0x00006080, 0x05c24849, 0x00000900, 0x05800816, 0x00009080, 0x06688b11,
+ 0x0000e000, 0x1680a014, 0x0000c900, 0x8140c64d, 0x0000e283, 0x06505019,
+ 0x00008c00, 0x10005850, 0x00006480, 0xa0000851, 0x0000b403, 0x02d0520a,
+ 0x00006100, 0xc0000808, 0x00006401, 0x03400000, 0x0000e180, 0x04000c10,
+ 0x0000c081, 0x16c26019, 0x0000e000, 0x169f4000, 0x00000990, 0x00000001,
+ 0x00007280, 0x0a800000, 0x00006181, 0x06414829, 0x00004900, 0x00000001,
+ 0x00007480, 0xc0000850, 0x00006403, 0x60000871, 0x00003403, 0x0a801800,
+ 0x00006181, 0xe0000808, 0x0000e401, 0x00000001, 0x00007480, 0xc0000850,
+ 0x00006403, 0x60000871, 0x00003403, 0x0a801000, 0x0000e181, 0xe0000808,
+ 0x0000e401, 0x0a009029, 0x00009100, 0x0000a828, 0x00009502, 0x03000a0a,
+ 0x0000e0a8, 0x02c0080b, 0x000047a8, 0x0300580c, 0x0000e528, 0x0b90520a,
+ 0x0000c928, 0x000018d8, 0x00007020, 0x80003e0a, 0x0000e583, 0x02d0520a,
+ 0x00008900, 0x03400000, 0x0000e180, 0x0af0560a, 0x0000c909, 0x0b400f10,
+ 0x00006089, 0x05c24849, 0x00008908, 0x000017f6, 0x00007010, 0x0a001109,
+ 0x0000e080, 0x14000850, 0x0000c380, 0x0a084028, 0x00006000, 0xe0000851,
+ 0x0000a403, 0x0a88c028, 0x0000e580, 0x40000850, 0x00006402, 0xc4000f10,
+ 0x00006081, 0x0a00a812, 0x00008000, 0x0ae1582a, 0x00006000, 0x0a014828,
+ 0x0000c100, 0x0a130028, 0x00007900, 0x0000003a, 0x00008c80, 0x00001809,
+ 0x0000f401, 0x0a288b11, 0x00006000, 0x16415828, 0x0000cc00, 0x0a01420a,
+ 0x00001c00, 0x06000818, 0x00006380, 0x0a000c18, 0x00008281, 0x0a001418,
+ 0x00006283, 0x0a400c28, 0x00000481, 0x0a000000, 0x00006189, 0x0a001000,
+ 0x0000c991, 0xe7a14871, 0x00006803, 0x00000001, 0x00007480, 0x063fe818,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0xc7214071, 0x0000e803, 0x0a001418,
+ 0x0000e481, 0x0b02784f, 0x00008900, 0x06001018, 0x00006380, 0x0fc14429,
+ 0x0000a000, 0x0a000c18, 0x00006283, 0x81c00800, 0x00008981, 0x00001827,
+ 0x00007400, 0x063ff018, 0x0000f900, 0x003ffffe, 0x00008280, 0x0a001000,
+ 0x0000e191, 0x0a000000, 0x00004989, 0xc1c20708, 0x00009283, 0x0a800f10,
+ 0x0000e089, 0x41400800, 0x00008991, 0xc4000f10, 0x00001089, 0x00000001,
+ 0x00007090, 0x0021442a, 0x00001503, 0x41401800, 0x00001999, 0x82c148ec,
+ 0x00007932, 0x0a000000, 0x00008604, 0x00001922, 0x00007018, 0x00000c2a,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x0a009029, 0x00009118, 0x00001925,
+ 0x0000f030, 0x0000a828, 0x00009502, 0x41401000, 0x000019a1, 0x00001927,
+ 0x0000f029, 0x00000001, 0x00007280, 0xe0000808, 0x0000e401, 0xc0000850,
+ 0x00003403, 0x00000c2a, 0x00009583, 0x04814829, 0x00001908, 0x80003e0a,
+ 0x0000e583, 0x0a401109, 0x00008880, 0x0a484029, 0x00006000, 0x0a800e0a,
+ 0x00008091, 0x0ab0560a, 0x00006109, 0x0a48c029, 0x00004d80, 0x40000852,
+ 0x0000e402, 0x60000851, 0x0000b403, 0x82a1542a, 0x0000e101, 0x14000850,
+ 0x0000c380, 0x00000001, 0x00007480, 0x41400000, 0x00006181, 0x0aa15029,
+ 0x00004800, 0x1653002a, 0x0000f900, 0x0000003a, 0x00008c80, 0x0a001d51,
+ 0x00009281, 0x00000c28, 0x0000e583, 0x8a000ee3, 0x00008880, 0x2ac14628,
+ 0x00002180, 0xc4000f10, 0x00001089, 0xffffffff, 0x00007f97, 0xc0214710,
+ 0x00001503, 0x41401800, 0x000099a1, 0x82c148ec, 0x0000792a, 0x0a000000,
+ 0x00008604, 0x00001948, 0x0000f020, 0xc0000f10, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x0a009029, 0x00009118, 0x0000194c, 0x0000f030, 0x0000a828,
+ 0x00009502, 0x41401000, 0x000019a1, 0x0000194e, 0x0000f029, 0x00000001,
+ 0x00007480, 0x20000852, 0x0000e402, 0x80001051, 0x0000b402, 0x60001051,
+ 0x00006c03, 0xc0000f10, 0x00009583, 0x04814829, 0x00001908, 0x80003e0a,
+ 0x0000e583, 0x0a401109, 0x00008880, 0x0a484029, 0x00006000, 0x0a800e0a,
+ 0x00008091, 0x0ab0560a, 0x00006109, 0x0a48c029, 0x00004d80, 0x41400000,
+ 0x00006181, 0x14000850, 0x0000c380, 0x00000001, 0x00007480, 0x0aa15029,
+ 0x00006000, 0x82a1542a, 0x0000c901, 0x1653002a, 0x0000f900, 0x0000003a,
+ 0x00008c80, 0xbb402644, 0x00009283, 0x04400000, 0x00006189, 0xc2800000,
+ 0x00004989, 0x000019b3, 0x0000f011, 0x0004904c, 0x00001502, 0x8007684d,
+ 0x0000796a, 0x3c000000, 0x00008604, 0x000019e6, 0x00007061, 0x31c00f08,
+ 0x0000c28f, 0xd2201694, 0x0000068a, 0x31c24f4c, 0x00004459, 0x1c249749,
+ 0x00008663, 0x63824817, 0x0000f862, 0xa8c00000, 0x00000c8f, 0x3c44b897,
+ 0x00001900, 0x3c4788ed, 0x00001100, 0x003ff0f1, 0x00007900, 0x0000003e,
+ 0x00008582, 0xc4002708, 0x00006283, 0xbc572ae5, 0x00000918, 0x3b484909,
+ 0x00006108, 0x3c084108, 0x00004908, 0xbc6982f1, 0x0000f900, 0x0000001c,
+ 0x00000c80, 0x000019f8, 0x00007010, 0x3bd78af1, 0x00006100, 0x164010ed,
+ 0x0000c784, 0x000840ef, 0x00006502, 0x3b578af1, 0x00000900, 0x3b82c909,
+ 0x00006100, 0x3b484108, 0x00000948, 0x000840ef, 0x00006502, 0x16578af1,
+ 0x00000900, 0x16484108, 0x00006138, 0xbc401af1, 0x0000c780, 0x14000850,
+ 0x00009380, 0x164018f0, 0x0000e784, 0x3b42c8ed, 0x00008100, 0x3c02c908,
+ 0x0000e100, 0x3b4010ed, 0x00000784, 0x3c4782f1, 0x0000e000, 0x3b4768ee,
+ 0x00000000, 0x420788f1, 0x0000e100, 0x424768ed, 0x00004900, 0x3b401109,
+ 0x00009880, 0x3b4788ed, 0x00001000, 0x3b48c0ed, 0x00001d80, 0xffffffff,
+ 0x00007f86, 0x3b7050ed, 0x00001800, 0x165300ed, 0x00007900, 0x0000003a,
+ 0x00008c80, 0x3b400a0a, 0x0000e080, 0x3b826092, 0x00004100, 0x000768ee,
+ 0x00001502, 0x0000600b, 0x00009502, 0xffffffff, 0x00007f86, 0x000019f0,
+ 0x0000f020, 0x000019ce, 0x0000f028, 0x3b4068ee, 0x00001000, 0x0007680b,
+ 0x00009502, 0x034068ee, 0x00006018, 0x034058ed, 0x00008130, 0x02c05a0a,
+ 0x0000e030, 0x82800000, 0x00008999, 0x000019d4, 0x00007030, 0x0004980e,
+ 0x00006502, 0xc4000000, 0x00008981, 0x03a88b91, 0x0000e070, 0x40000850,
+ 0x0000e472, 0x0380580e, 0x0000e470, 0xc45c8b91, 0x00004970, 0x04400000,
+ 0x00009981, 0x16c4900e, 0x00006070, 0x03849893, 0x00000970, 0x00027892,
+ 0x00001502, 0x00000001, 0x00007093, 0xbb402644, 0x00009283, 0x00001a1c,
+ 0x00007013, 0x00023092, 0x00001502, 0xc2801000, 0x0000e189, 0x04000000,
+ 0x0000c989, 0xc0000008, 0x00006409, 0x10001850, 0x0000340c, 0x00000001,
+ 0x00007090, 0x00000001, 0x00007480, 0x82c0c8ec, 0x00007902, 0x3b400000,
+ 0x00008604, 0x16809813, 0x00009900, 0xc0188b91, 0x00009502, 0x3b688b11,
+ 0x00001818, 0x000019bc, 0x00007031, 0x001050ed, 0x00009502, 0x60000851,
+ 0x0000e42b, 0x90000853, 0x0000b429, 0x44000000, 0x0000e1a9, 0x17400816,
+ 0x0000c0a8, 0x39c00816, 0x000010a8, 0x0004980e, 0x00006502, 0xd0000008,
+ 0x0000a401, 0x3b401109, 0x0000e080, 0x03a88b91, 0x0000c870, 0x3b4840ed,
+ 0x00006000, 0x40000850, 0x00002472, 0x0380580e, 0x0000e470, 0x3b48c0ed,
+ 0x00004d80, 0x82800000, 0x00006181, 0x00000852, 0x00006402, 0x165300ed,
+ 0x00007900, 0x0000003a, 0x00008c80, 0xc4000000, 0x00006181, 0xc45c8b91,
+ 0x00004970, 0x00000001, 0x00007480, 0x14000850, 0x00006380, 0x16c4900e,
+ 0x00000070, 0x03849893, 0x00009970, 0x3b4058ee, 0x00001000, 0x0007680c,
+ 0x00001502, 0x034060ed, 0x00006128, 0x02c0600c, 0x00008928, 0x03400000,
+ 0x000019a0, 0x02c058ee, 0x00001020, 0x0004980e, 0x00006502, 0xbb400ee3,
+ 0x00008880, 0x2aff6ced, 0x00002180, 0x03a88b91, 0x0000e070, 0x40000850,
+ 0x0000e472, 0xc45c8b91, 0x00006170, 0x82800000, 0x00004981, 0x84600000,
+ 0x000081c3, 0x02c7680b, 0x00009c00, 0xffffffff, 0x00007f86, 0x0380580e,
+ 0x00009c70, 0xffffffff, 0x00007f86, 0x16c4900e, 0x00006070, 0x03849893,
+ 0x00000970, 0x00027892, 0x00001502, 0x00000001, 0x00007093, 0x87002644,
+ 0x0000f896, 0x48c00000, 0x00000c8d, 0xc01c8b11, 0x00009502, 0x00001a04,
+ 0x0000700b, 0x0004980e, 0x00009502, 0x3b688b91, 0x00006070, 0x40000850,
+ 0x0000e472, 0x3b4058ed, 0x0000e470, 0x03849893, 0x0000c970, 0x00000001,
+ 0x00007480, 0xc45c8b91, 0x00001970, 0x16c490ed, 0x00001070, 0x00000411,
+ 0x00009583, 0xbb400a0a, 0x00009890, 0x3b9768ee, 0x00001110, 0x7380600b,
+ 0x0000782a, 0xa8c00000, 0x00000c8c, 0x0000196a, 0x0000f200, 0x3c42504a,
+ 0x00006100, 0xe0000851, 0x00006403, 0xbb400af1, 0x00006780, 0xa0000008,
+ 0x00002401, 0x42576aed, 0x00006100, 0x14000850, 0x0000c380, 0x42178af1,
+ 0x0000e100, 0x3b401109, 0x0000c880, 0x3b5788ed, 0x00009000, 0x3b48c0ed,
+ 0x00001d80, 0x0000198e, 0x00007401, 0x3b7050ed, 0x00001800, 0x165300ed,
+ 0x00007900, 0x0000003a, 0x00008c80, 0xbb400e94, 0x00001283, 0x00000001,
+ 0x0000708b, 0x0002784c, 0x00001502, 0xbb400ee3, 0x0000e0e8, 0x04400800,
+ 0x0000c9e9, 0x2aff6ced, 0x00002168, 0x00000001, 0x0000f0e0, 0xffffffff,
+ 0x00007f97, 0x000008ed, 0x00001582, 0x3b800a0a, 0x00001890, 0x3b4058ee,
+ 0x00009010, 0x00001a29, 0x00007008, 0x0004980e, 0x00009502, 0x02e88b11,
+ 0x00006070, 0x40000850, 0x0000e472, 0x03849893, 0x0000e170, 0x02c058ed,
+ 0x00004c70, 0xffffffff, 0x00007f86, 0x16c4900b, 0x00009070, 0x2c3ff20a,
+ 0x0000f900, 0x0000003e, 0x00008684, 0x02c588b0, 0x00009000, 0x00000001,
+ 0x00007280, 0x02c7680b, 0x00009000, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02e3a800, 0x00007900, 0x00132c68, 0x00000980, 0x030da000,
+ 0x00007900, 0x00325952, 0x00008980, 0x0142604c, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x82600500, 0x00008026, 0x1a291110, 0x00007500, 0x02bc9702,
+ 0x00008020, 0x81c04000, 0x0000e180, 0x03449092, 0x00004900, 0x3b400a0a,
+ 0x0000e080, 0x02c0080b, 0x00004780, 0x0004980e, 0x00006502, 0x034058ed,
+ 0x00008d00, 0x030058ed, 0x0000e500, 0x60001051, 0x00006402, 0x3b476a0a,
+ 0x0000e000, 0x80000851, 0x0000a403, 0x3b87680d, 0x0000e000, 0x02c7680d,
+ 0x00000000, 0x3b688b11, 0x0000e070, 0x90000853, 0x0000e401, 0x3b4768ee,
+ 0x00006470, 0x40000850, 0x0000e472, 0xc2800800, 0x00006181, 0xe0000851,
+ 0x00006403, 0x03c0074f, 0x00000186, 0xc4000f10, 0x00006081, 0x17400816,
+ 0x00000080, 0x39c00816, 0x0000e080, 0x05c2604c, 0x00000900, 0x00000001,
+ 0x00007480, 0x03849893, 0x0000e170, 0x03400000, 0x0000c980, 0x16c490ed,
+ 0x00001070, 0xbb40264d, 0x00006283, 0x00001051, 0x0000a402, 0x7cc00000,
+ 0x00006181, 0xe0000808, 0x00006411, 0xbb400e4d, 0x00006283, 0x39800000,
+ 0x00000980, 0x81400000, 0x00008fd2, 0x3cc00000, 0x0000e181, 0x39c0b016,
+ 0x0000c900, 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x00001bbb,
+ 0x0000f410, 0x17000000, 0x000085f4, 0x17800000, 0x000085fc, 0x3b426092,
+ 0x00001100, 0x000000ed, 0x00009582, 0x3bc4904c, 0x00001140, 0x00000001,
+ 0x000070c9, 0x9c8000ef, 0x000078ca, 0x00c00001, 0x00008000, 0x62a0170a,
+ 0x00004291, 0x0e227f4c, 0x00008665, 0x6640070a, 0x0000c191, 0x002000ef,
+ 0x000080c8, 0x001c8b11, 0x0000f812, 0x00000000, 0x00000000, 0x00000e94,
+ 0x0000f88c, 0x00000000, 0x00000000, 0x0302784c, 0x00007863, 0x00c00001,
+ 0x00008060, 0x10c004f4, 0x00004590, 0x086004f3, 0x00000892, 0x65449f0e,
+ 0x0000c471, 0xcc2004f4, 0x00008695, 0x5c8004f3, 0x00004689, 0xcc200f0a,
+ 0x0000868d, 0x7ba01f0a, 0x00004489, 0xcc2004f4, 0x00008695, 0x0f8004f3,
+ 0x00004788, 0x07e000ef, 0x00001bce, 0x05400e94, 0x00007897, 0x00c00001,
+ 0x00008000, 0x061050ed, 0x0000780b, 0x00c00001, 0x00008000, 0x65449f0e,
+ 0x0000c471, 0xcc2004f4, 0x00008695, 0xb98004f3, 0x00007892, 0x20c00000,
+ 0x00000d87, 0x00023816, 0x00006502, 0xa0000850, 0x0000a403, 0x16049092,
+ 0x00001900, 0x00001b8d, 0x0000f011, 0x00027892, 0x00001502, 0x7cc00800,
+ 0x000061f1, 0x39849092, 0x0000c970, 0x00001b81, 0x0000f059, 0x3b801418,
+ 0x00009283, 0x3b801000, 0x0000e191, 0x3b800000, 0x00004989, 0x063fe818,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x3b800c18, 0x00006283, 0x3ce774ee,
+ 0x00008901, 0x3b801000, 0x0000e191, 0x3b800000, 0x00004989, 0x00001a56,
+ 0x0000f400, 0x063ff018, 0x0000f900, 0x003ffffe, 0x00008280, 0x3d2774ee,
+ 0x00009901, 0x04000000, 0x00006181, 0xc0000008, 0x0000e401, 0x84600000,
+ 0x000000eb, 0x524000ef, 0x000043c9, 0x00248d11, 0x00008010, 0x73400e94,
+ 0x00004495, 0xcc2004f4, 0x00008695, 0x0ac004f3, 0x0000c788, 0x05849f0e,
+ 0x00000976, 0x0ac004f4, 0x0000c590, 0x056004f3, 0x00000592, 0x8007704d,
+ 0x0000f902, 0x3c000000, 0x00008604, 0x57e00f08, 0x0000428f, 0x34201694,
+ 0x0000068d, 0x57e24f4c, 0x0000c459, 0x7e249749, 0x00000665, 0xafc24817,
+ 0x00007862, 0xb8c00000, 0x00000d8c, 0x1644b897, 0x00009900, 0x1642c8ee,
+ 0x00001100, 0x003ff059, 0x0000f900, 0x0000003e, 0x00008582, 0xc4002708,
+ 0x00006283, 0x96572ae5, 0x00008918, 0x3c484909, 0x0000e108, 0x3b884108,
+ 0x00004908, 0x96698259, 0x0000f900, 0x0000001c, 0x00000c80, 0x00001baf,
+ 0x00007010, 0x3bd2ca59, 0x00006100, 0x3c0010f1, 0x00004784, 0x000840ef,
+ 0x00006502, 0x3c52ca59, 0x00008900, 0x3c878109, 0x0000e100, 0x3c484108,
+ 0x00008948, 0x000840ef, 0x00006502, 0x3c12ca59, 0x00000900, 0x3c084108,
+ 0x00006138, 0x3bc018ee, 0x0000c784, 0x96401a59, 0x00006780, 0x3b877908,
+ 0x00000100, 0x3c4780f1, 0x0000e100, 0x16477259, 0x00008000, 0x3c4010f1,
+ 0x00006784, 0x4202c859, 0x00000900, 0x14000850, 0x00006380, 0x3c4788f2,
+ 0x00008000, 0x424788f1, 0x00006100, 0x3b8010f1, 0x0000c880, 0x3b8840ee,
+ 0x00009000, 0x3b88c0ee, 0x00001d80, 0xffffffff, 0x00007f86, 0x3bb050ee,
+ 0x00001800, 0x165300ee, 0x00007900, 0x0000003a, 0x00008c80, 0x3bc26092,
+ 0x00006100, 0x3b800a0a, 0x00000880, 0x000770ed, 0x00001502, 0x0000600b,
+ 0x00009502, 0xffffffff, 0x00007f86, 0x00001b10, 0x0000f020, 0x00001afc,
+ 0x00007028, 0x3b8068ef, 0x00009000, 0x0007700b, 0x00009502, 0x034068ef,
+ 0x0000e018, 0x034058ee, 0x00008130, 0x02c05a0a, 0x00001030, 0x00001b02,
+ 0x00007030, 0x0004980e, 0x00009502, 0x00001ad5, 0x0000705b, 0x03a88b91,
+ 0x00006000, 0x40000850, 0x00006402, 0xc45c8b91, 0x0000e100, 0x0380580e,
+ 0x00004c00, 0xffffffff, 0x00007f86, 0x03849893, 0x00006100, 0x16c4900e,
+ 0x00004000, 0xc2a00000, 0x000001c3, 0x04400000, 0x00009981, 0x5cc27f92,
+ 0x0000c109, 0x002004f4, 0x00008090, 0x016004f3, 0x0000478b, 0x00c02644,
+ 0x00000f91, 0x61023792, 0x00004409, 0xcc2004f4, 0x00008695, 0xb98004f3,
+ 0x00007892, 0x20c00000, 0x00000d87, 0x000004f4, 0x00001583, 0x000004f3,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x00001ae6, 0x00007010, 0x00001ae6,
+ 0x00007010, 0x00073816, 0x00009502, 0x00000001, 0x0000708b, 0x1bd00000,
+ 0x000087c4, 0x0000186f, 0x0000e106, 0xe7a7a071, 0x0000b003, 0x1b001000,
+ 0x00007900, 0x00008000, 0x00000980, 0x1b580800, 0x0000f900, 0x00004040,
+ 0x00008980, 0xc000186f, 0x00006006, 0xc7279871, 0x00003003, 0x05b817e7,
+ 0x00008638, 0x1c000000, 0x000087c8, 0x1cc738e7, 0x00001900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0090d8ec,
+ 0x0000d780, 0x00004000, 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x00000001, 0x00007280, 0x01400800,
+ 0x00001981, 0x3b8058ef, 0x00009000, 0x0007700c, 0x00001502, 0x034060ee,
+ 0x00006128, 0x02c0600c, 0x00008928, 0x03400000, 0x000019a0, 0x02c058ef,
+ 0x00009020, 0xbb800ee3, 0x00001880, 0x2aff6cee, 0x00002180, 0xffffffff,
+ 0x00007fa7, 0x02c7680b, 0x00009c00, 0xb544980e, 0x0000f85a, 0x70c00000,
+ 0x00008d86, 0xc0000008, 0x0000e401, 0x10001850, 0x0000b404, 0x82c0c8ec,
+ 0x00007902, 0x3b400000, 0x00008604, 0xc2800402, 0x000001c2, 0x16809813,
+ 0x00009900, 0xfb0004f4, 0x00004590, 0x7d8004f3, 0x00007d93, 0x00000411,
+ 0x00009583, 0xbb800a0a, 0x00009890, 0x3bd770ed, 0x00009110, 0xbf00600b,
+ 0x0000f82a, 0x30c00000, 0x00000d86, 0xbb402644, 0x00009283, 0x84000000,
+ 0x0000e190, 0xc0000008, 0x0000e413, 0xc2801800, 0x00001991, 0x00001bdd,
+ 0x00007010, 0x82c778ec, 0x00007902, 0x3b400000, 0x00008604, 0xffffffff,
+ 0x00007fa7, 0x3b80c8ef, 0x00001100, 0x000640ee, 0x00001582, 0xfb408708,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x00001b23, 0x00007018, 0x00001b26,
+ 0x0000f008, 0x16809813, 0x0000e100, 0x10001850, 0x0000e404, 0x064778ef,
+ 0x00001900, 0x0004980e, 0x00006502, 0xc0000008, 0x00002401, 0x04000000,
+ 0x00001981, 0x00001adf, 0x0000f059, 0x3ba88b91, 0x0000e000, 0x40000850,
+ 0x00006402, 0x3b8058ee, 0x00006400, 0x03849893, 0x00004900, 0xc45c8b91,
+ 0x00009900, 0x16c490ee, 0x00009000, 0xf6c004f4, 0x0000c590, 0x7b6004f3,
+ 0x00007b92, 0x8007784d, 0x00007902, 0x3c000000, 0x00008604, 0x6be00f08,
+ 0x0000428f, 0x74201694, 0x0000868e, 0x6be24f4c, 0x0000c459, 0xbe249749,
+ 0x00000666, 0xd7c24817, 0x00007862, 0x48c00000, 0x00000e80, 0x3b84b897,
+ 0x00009900, 0x3b8770ef, 0x00009100, 0x003ff0ee, 0x0000f900, 0x0000003e,
+ 0x00008582, 0xc4002708, 0x00006283, 0xbb972ae5, 0x00008918, 0x3c484909,
+ 0x0000e108, 0x3bc84108, 0x0000c908, 0xbba982ee, 0x0000f900, 0x0000001c,
+ 0x00000c80, 0x00001bfd, 0x0000f010, 0x165772ee, 0x0000e100, 0x3c0010f1,
+ 0x00004784, 0x00084059, 0x0000e502, 0x3c9772ee, 0x00008900, 0x3c478109,
+ 0x0000e100, 0x3c884108, 0x00008948, 0x00084059, 0x0000e502, 0x3c1772ee,
+ 0x00000900, 0x3c084108, 0x00006138, 0x164018ef, 0x0000c784, 0xbb801aee,
+ 0x00006780, 0x3bc2c908, 0x00000100, 0x3c8780f2, 0x0000e100, 0x3b877aee,
+ 0x00000000, 0x3c8010f2, 0x00006784, 0x420770ee, 0x00000900, 0x14000850,
+ 0x00006380, 0x3c8790f1, 0x00008000, 0x424790f2, 0x00006100, 0x164010f2,
+ 0x0000c880, 0x3b884059, 0x00009000, 0x3b88c0ee, 0x00001d80, 0xffffffff,
+ 0x00007f86, 0x3bb050ee, 0x00001800, 0x165300ee, 0x00007900, 0x0000003a,
+ 0x00008c80, 0x3b826092, 0x0000e100, 0x3bc00a0a, 0x00008880, 0x000778ed,
+ 0x00009502, 0x0000600b, 0x00009502, 0xffffffff, 0x00007f86, 0x00001bd8,
+ 0x00007020, 0x00001b75, 0x00007028, 0x3b4068ee, 0x00001000, 0x0007680b,
+ 0x00009502, 0x034068ee, 0x00006018, 0x034058ed, 0x00008130, 0x02c05a0a,
+ 0x00001030, 0x00001b7b, 0x0000f030, 0x0004980e, 0x00009502, 0x00001ad5,
+ 0x0000705b, 0x3ba88b91, 0x0000e000, 0x40000850, 0x00006402, 0x3b8058ee,
+ 0x00006400, 0x03849893, 0x00004900, 0x00001ad5, 0x00007400, 0xc45c8b91,
+ 0x00009900, 0x16c490ee, 0x00009000, 0x034058ee, 0x00009000, 0x0000680c,
+ 0x00009502, 0x0340600d, 0x0000e128, 0x02c0600c, 0x00008928, 0x03400000,
+ 0x000019a0, 0x02c058ee, 0x00001020, 0xbb800ee3, 0x00001880, 0x2aff74ee,
+ 0x00002180, 0xffffffff, 0x00007fa7, 0x02c7700b, 0x00009c00, 0xb544980e,
+ 0x0000f85a, 0x70c00000, 0x00000d8b, 0x3b801418, 0x0000e481, 0x3982784f,
+ 0x00008900, 0x06001018, 0x00006380, 0x0fe774f3, 0x0000a000, 0x3b800c18,
+ 0x00006283, 0x7cc00800, 0x00000981, 0x3b801000, 0x0000e191, 0x3b800000,
+ 0x00004989, 0x00001a56, 0x0000f400, 0x063ff018, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x3d2774ee, 0x00009901, 0x06000818, 0x00006380, 0x3b800c18,
+ 0x00008281, 0x3b801418, 0x00006283, 0x3d000cee, 0x00000481, 0x3b801000,
+ 0x0000e191, 0x3b800000, 0x00004989, 0x00001a56, 0x0000f400, 0x063fe818,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x3ce774ee, 0x00001901, 0x00001a9b,
+ 0x00007200, 0x1642504a, 0x0000e100, 0xe0000851, 0x00006403, 0x04400800,
+ 0x00006181, 0xbb800ee3, 0x00004880, 0x2aff74ee, 0x0000a100, 0xffffffff,
+ 0x00007fa7, 0x000008ee, 0x00001582, 0x00001be0, 0x0000f00b, 0x0004980e,
+ 0x00006502, 0x3b400a0a, 0x00000880, 0x3b8058ed, 0x0000e000, 0x40000850,
+ 0x00002472, 0x03849893, 0x0000e170, 0x02e88b11, 0x00004870, 0x02c058ee,
+ 0x00001c70, 0xffffffff, 0x00007f86, 0x16c4900b, 0x00009070, 0x2c3ff20a,
+ 0x0000f900, 0x0000003e, 0x00008684, 0x02c588b0, 0x00009000, 0x02c7700b,
+ 0x00009000, 0xe72004f4, 0x0000c591, 0xf38004f3, 0x0000f393, 0xbb800a59,
+ 0x0000e780, 0xa0000008, 0x00002401, 0x425772ee, 0x00006100, 0x4212ca59,
+ 0x0000c900, 0x14000850, 0x00006380, 0x3b801109, 0x00000880, 0x3b8840ee,
+ 0x00009000, 0x3b88c0ee, 0x00001d80, 0x00001abf, 0x0000f401, 0x3bb050ee,
+ 0x00001800, 0x165300ee, 0x00007900, 0x0000003a, 0x00008c80, 0xb9c0164d,
+ 0x00009283, 0x00000001, 0x0000708b, 0xc000170a, 0x00001583, 0x00000001,
+ 0x00007093, 0xf9c08708, 0x00001283, 0x00000001, 0x00007093, 0x001f0013,
+ 0x0000f900, 0x00000124, 0x00008582, 0x169f0092, 0x00006198, 0x10001850,
+ 0x0000e41c, 0x82c738ec, 0x0000f91a, 0x06400000, 0x00000604, 0x00000001,
+ 0x0000f0b0, 0x00000001, 0x0000f481, 0xffffffff, 0x00007f86, 0x064738e7,
+ 0x00001900, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02e3a800,
+ 0x00007900, 0x00132c68, 0x00000980, 0x030da000, 0x00007900, 0x00325952,
+ 0x00008980, 0x0142604c, 0x0000e100, 0x08001a09, 0x0000e106, 0x82600500,
+ 0x00008026, 0x1bd81110, 0x00007500, 0x02bc9702, 0x00008020, 0x81c04000,
+ 0x0000e180, 0x03449092, 0x00004900, 0x00000411, 0x00009583, 0xbb800a0a,
+ 0x00009890, 0x3b9770ed, 0x00001110, 0xdd40600b, 0x0000f82a, 0x30c00000,
+ 0x00008d8b, 0x1bde195b, 0x00007100, 0xe10004f4, 0x0000c590, 0x708004f3,
+ 0x00007093, 0x3b800a0a, 0x0000e080, 0x60001051, 0x00006402, 0x0004980e,
+ 0x00006502, 0x02c0080b, 0x00008780, 0x034058ee, 0x00006500, 0x80000851,
+ 0x00006403, 0x030058ee, 0x0000e500, 0x90000853, 0x0000e401, 0x3b87720a,
+ 0x0000e000, 0xe0000851, 0x0000a403, 0xc2800800, 0x00006181, 0x03c2784f,
+ 0x0000c900, 0x04400000, 0x0000e181, 0xc4000f10, 0x0000c081, 0x17400816,
+ 0x00006080, 0x39c00816, 0x00008080, 0x00001adf, 0x0000f458, 0x05c2604c,
+ 0x0000e100, 0x3b47700d, 0x00004000, 0x02c7700d, 0x00006000, 0x03400000,
+ 0x00000980, 0x3ba88b11, 0x00006000, 0x40000850, 0x00006402, 0x03849893,
+ 0x00006100, 0x3b8770ed, 0x0000cc00, 0xffffffff, 0x00007f86, 0x16c490ee,
+ 0x00009000, 0xdd6004f4, 0x00004591, 0xeea004f3, 0x0000ee94, 0x14000850,
+ 0x00006380, 0x82000aee, 0x00000780, 0x42504208, 0x00006100, 0xa0000008,
+ 0x0000e401, 0x421772ee, 0x0000e100, 0x16401109, 0x0000c880, 0x3b884059,
+ 0x00009000, 0x3b88c0ee, 0x00001d80, 0x00001b5f, 0x0000f401, 0x3bb050ee,
+ 0x00001800, 0x165300ee, 0x00007900, 0x0000003a, 0x00008c80, 0x00001b3b,
+ 0x0000f200, 0x3b82504a, 0x0000e100, 0xe0000851, 0x00006403, 0x04400c11,
+ 0x00006081, 0x3b800c11, 0x00000081, 0xbb800ee3, 0x00006080, 0x3b6774ee,
+ 0x0000c900, 0x2aff74ee, 0x0000a100, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0xf80770ed, 0x0000f80a, 0x00c00000, 0x00008d8d, 0x00001a6c,
+ 0x0000f400, 0xc01c8b11, 0x00009502, 0x02c05a0a, 0x00009008, 0x14000850,
+ 0x00006380, 0x16401109, 0x00000880, 0x3b884059, 0x00009000, 0x3b8320ee,
+ 0x00001d80, 0xffffffff, 0x00007f86, 0x3bb050ee, 0x00001800, 0x165300ee,
+ 0x00007900, 0x0000003a, 0x00008c80, 0x65449f0e, 0x0000c471, 0xcc2004f4,
+ 0x00008695, 0xb98004f3, 0x00007892, 0x20c00000, 0x00000d87, 0x0004900f,
+ 0x00006502, 0xc4000000, 0x00008981, 0x60001051, 0x0000e45a, 0x90000853,
+ 0x00003459, 0x39c00816, 0x000060d8, 0x80000851, 0x0000245b, 0x00001c34,
+ 0x00007070, 0x000058ed, 0x00006502, 0x00000852, 0x0000a402, 0x3b805a0a,
+ 0x00006030, 0x17400a0a, 0x000088b0, 0x00001a6c, 0x0000f400, 0x02c00a0a,
+ 0x00006098, 0x3b8768ee, 0x00004130, 0x17400816, 0x00006080, 0x02c7705d,
+ 0x00008d30, 0x04400000, 0x0000e181, 0x61b85051, 0x0000e002, 0x8000684d,
+ 0x00007902, 0x02c00000, 0x00000604, 0xc2800000, 0x00009981, 0x88a00f08,
+ 0x0000418f, 0x00201694, 0x00008090, 0x06223792, 0x0000c511, 0x83027f92,
+ 0x00000413, 0x0002484c, 0x0000f858, 0x00000000, 0x00000000, 0x00049049,
+ 0x00007860, 0x00000000, 0x00008020, 0x1e024817, 0x0000f863, 0x00c00001,
+ 0x00008060, 0x05223792, 0x0000c511, 0x82827f92, 0x00000317, 0x3b84b897,
+ 0x00009900, 0x3b87700d, 0x00009100, 0x003ff0ee, 0x0000f900, 0x0000003e,
+ 0x00008582, 0xc2c02708, 0x00006283, 0xbb972ae5, 0x00008918, 0x02c84108,
+ 0x0000e108, 0x3b484909, 0x00004908, 0xbba982ee, 0x0000f900, 0x0000001c,
+ 0x00000c80, 0x00001c7b, 0x0000f010, 0x165772ee, 0x0000e100, 0x034010ed,
+ 0x00004784, 0x00084059, 0x0000e502, 0x3bd772ee, 0x00008900, 0x3b5772ee,
+ 0x0000e100, 0x3bc84108, 0x00004948, 0x00084059, 0x0000e502, 0x03406909,
+ 0x00000100, 0xbb801aee, 0x00006780, 0x3b484108, 0x00008938, 0xffffffff,
+ 0x00007f86, 0x3bc768ef, 0x00001100, 0x3bc010ef, 0x00009784, 0x0340180b,
+ 0x0000e784, 0x3bc7780d, 0x00008000, 0x424778ef, 0x00006100, 0x02c06908,
+ 0x00004100, 0x3b805aee, 0x00009000, 0x420770ee, 0x00009900, 0x00023092,
+ 0x0000e502, 0x02c01109, 0x00008880, 0x14000850, 0x00006380, 0x3b88400b,
+ 0x00008000, 0x3b88c0ee, 0x00001d80, 0x00001c80, 0x00007409, 0x3bb050ee,
+ 0x00001800, 0x165300ee, 0x00007900, 0x0000003a, 0x00008c80, 0x0004980e,
+ 0x00006502, 0x82800000, 0x00008981, 0x02c0070c, 0x000000b4, 0x3ba88b91,
+ 0x00006070, 0x40000850, 0x0000e472, 0x00001adf, 0x00007058, 0x3b8060ee,
+ 0x0000e400, 0x03849893, 0x00004900, 0xc45c8b91, 0x00009900, 0x16c490ee,
+ 0x00009000, 0xce0004f4, 0x00004590, 0x670004f3, 0x0000e697, 0x00001c46,
+ 0x00007200, 0x3b82504a, 0x0000e100, 0xe0000851, 0x00006403, 0x82000aee,
+ 0x00009780, 0x00001c63, 0x0000f400, 0x42504208, 0x00006100, 0xa0000008,
+ 0x0000e401, 0x421772ee, 0x00009900, 0x00027892, 0x00001502, 0x00001c6c,
+ 0x0000f013, 0x82c068ec, 0x00007902, 0x02c00000, 0x00000604, 0xc0000008,
+ 0x0000e401, 0x10001850, 0x0000b404, 0xc2800402, 0x000001c2, 0x00001c6c,
+ 0x0000f400, 0x16800713, 0x00000186, 0x0640680d, 0x00001900, 0xc1c0274d,
+ 0x0000e283, 0x16000000, 0x00000980, 0x16400000, 0x00006180, 0xe0000808,
+ 0x00006411, 0xc1c0174d, 0x0000e283, 0x16800000, 0x00008980, 0x16c00000,
+ 0x000085f0, 0x17400000, 0x000005f8, 0x00000001, 0x0000f288, 0x17c00000,
+ 0x000002e0, 0xc1c00f4d, 0x0000e283, 0x8a126a0a, 0x00008c00, 0x03800800,
+ 0x00006191, 0x03801000, 0x00004989, 0x0a401109, 0x00006080, 0x80026808,
+ 0x0000e001, 0xd7302a28, 0x00006100, 0xe3a07051, 0x0000a002, 0x0a484029,
+ 0x00006000, 0x09426c0e, 0x00002000, 0x00000c0e, 0x00006583, 0x0a48c029,
+ 0x00008d80, 0x03800800, 0x00006189, 0x03801000, 0x00004991, 0x40000505,
+ 0x00006583, 0x14000850, 0x00000380, 0x04207051, 0x00006003, 0x40000850,
+ 0x00003402, 0x83b02a28, 0x00006100, 0x0a705029, 0x00008800, 0xd73fe20e,
+ 0x0000f910, 0x0000003e, 0x00008280, 0x03b26b91, 0x00006000, 0xa0000852,
+ 0x0000e403, 0x0380580e, 0x00006400, 0xa0000850, 0x00006403, 0x16530029,
+ 0x0000f900, 0x0000003a, 0x00008c80, 0x4460014d, 0x00008183, 0x162c8f4c,
+ 0x00000104, 0x00000001, 0x00007480, 0x82926a0a, 0x00006400, 0x0a02604c,
+ 0x0000c900, 0x03849893, 0x00006100, 0x16c4900e, 0x00004000, 0x00000001,
+ 0x00007280, 0x1602604c, 0x00001900, 0x9f002405, 0x00004389, 0x00202405,
+ 0x00000098, 0xa1801405, 0x0000c489, 0xc0201405, 0x00000799, 0x00800c05,
+ 0x0000c788, 0x86c03405, 0x0000888b, 0x09e03405, 0x000045a8, 0x06803c05,
+ 0x0000868d, 0x1cc5158b, 0x0000f404, 0x0dc09800, 0x0000f900, 0x00001000,
+ 0x00000980, 0x0e383707, 0x00000318, 0x00000434, 0x00001583, 0x833f1fe3,
+ 0x00009908, 0x84c0600c, 0x0000a088, 0x00001cce, 0x00007010, 0xffffffff,
+ 0x00007f97, 0x03003c0c, 0x00001281, 0x0300140c, 0x00001181, 0x00000c0c,
+ 0x00001583, 0x00001cd3, 0x0000f01b, 0x09c65000, 0x0000f900, 0x003742de,
+ 0x00000980, 0x1cd3119b, 0x00007500, 0x09b83f06, 0x00000210, 0x08a1a434,
+ 0x00009900, 0x3580ec33, 0x00007902, 0x03800000, 0x00008000, 0x35c0bc33,
+ 0x0000f902, 0x05800000, 0x00008000, 0x36008a33, 0x0000f902, 0x04000000,
+ 0x00008000, 0x35c0ae33, 0x0000f902, 0x05000000, 0x00000000, 0x0700700e,
+ 0x00001900, 0x1d4411d6, 0x00007500, 0x03c0b817, 0x00009900, 0x03808010,
+ 0x00001900, 0x00001d44, 0x0000f000, 0x1ce3158b, 0x00007404, 0x0db83f06,
+ 0x00000320, 0x0dc09a00, 0x00009980, 0x00000434, 0x00001583, 0x833f1fe3,
+ 0x00009908, 0x84c0600c, 0x0000a088, 0x00001cec, 0x00007010, 0xffffffff,
+ 0x00007f97, 0x03003c0c, 0x00001281, 0x0300140c, 0x00001181, 0x00000c0c,
+ 0x00001583, 0x00001cf1, 0x0000f01b, 0x09c69000, 0x0000f900, 0x003742de,
+ 0x00000980, 0x1cf1119b, 0x00007500, 0x09b83f06, 0x00000210, 0x08a1a434,
+ 0x00009900, 0x35b86633, 0x0000a000, 0x35807c33, 0x00007902, 0x03800000,
+ 0x00008000, 0x1d44122a, 0x0000f501, 0xffffffff, 0x00007f86, 0x0340600c,
+ 0x00001900, 0x00001d44, 0x0000f000, 0x1cfb158b, 0x00007404, 0x0db83f06,
+ 0x00000320, 0x0dc09900, 0x00009980, 0x00000434, 0x00001583, 0x833f1fe3,
+ 0x00009908, 0x84c0600c, 0x0000a088, 0x00001d04, 0x0000f010, 0xffffffff,
+ 0x00007f97, 0x03003c0c, 0x00001281, 0x0300140c, 0x00001181, 0x00000c0c,
+ 0x00001583, 0x00001d09, 0x0000f01b, 0x09cdb800, 0x00007900, 0x003742de,
+ 0x00000980, 0x1d09119b, 0x00007500, 0x09b83f06, 0x00000210, 0x08a1a434,
+ 0x00009900, 0x35b86c33, 0x00002080, 0xffffffff, 0x00007fa7, 0xf8c0840d,
+ 0x00009081, 0x1d441286, 0x0000f004, 0x00001d44, 0x0000f000, 0x1d12158b,
+ 0x00007404, 0x0dc09800, 0x0000f900, 0x00001000, 0x00000980, 0x0e383707,
+ 0x00000318, 0x00000434, 0x00001583, 0x833f1fe3, 0x00009908, 0x84c0600c,
+ 0x0000a088, 0x00001d1b, 0x00007010, 0xffffffff, 0x00007f97, 0x03003c0c,
+ 0x00001281, 0x0300140c, 0x00001181, 0x00000c0c, 0x00001583, 0x00001d20,
+ 0x0000701b, 0x09c8a800, 0x0000f900, 0x003742de, 0x00000980, 0x1d20119b,
+ 0x0000f500, 0x09b83f06, 0x00000210, 0x08a1a434, 0x00009900, 0x35b87c33,
+ 0x00002000, 0x35f87633, 0x0000a000, 0xffffffff, 0x00007f97, 0xc000070f,
+ 0x00009583, 0x00001d44, 0x00007400, 0x83371ee3, 0x00009910, 0x9220740c,
+ 0x0000a810, 0x1d36126c, 0x00007100, 0x00001d36, 0x0000f000, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x01802004, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x02e59800, 0x00007900, 0x003742dc, 0x00008980, 0x033a9000,
+ 0x0000f900, 0x0016f7fa, 0x00008980, 0x03400000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x1d361110, 0x00007500, 0x82781400, 0x00000028, 0x02002f06,
+ 0x0000809d, 0x03c00000, 0x00006180, 0x03801002, 0x00004900, 0x03009000,
+ 0x0000f900, 0x0000c100, 0x00000980, 0x03400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x04002004, 0x00006100, 0xc000180f, 0x00006006, 0x04783705,
+ 0x00000108, 0x04f84707, 0x00008110, 0x05785709, 0x00000118, 0x05c0580b,
+ 0x00009900, 0x00981eec, 0x0000df80, 0x00005000, 0x00000084, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x82c074ec, 0x0000f902, 0x03000000,
+ 0x00008604, 0x1bc02004, 0x0000e100, 0x0020280d, 0x0000e086, 0x8228280d,
+ 0x0000e886, 0x0418280d, 0x00006987, 0x0438770d, 0x00008030, 0x03f8870c,
+ 0x00000638, 0x1b40780f, 0x00006100, 0x0000200c, 0x00006586, 0x0428280c,
+ 0x00006887, 0x8620280c, 0x0000e887, 0x1d3611bc, 0x00007500, 0x1b268000,
+ 0x0000f900, 0x003742dc, 0x00008980, 0x1ac0600c, 0x00001900, 0x00001d36,
+ 0x0000f000, 0x018728e5, 0x0000e100, 0x0fc00409, 0x00006004, 0xc10004e5,
+ 0x000080a0, 0x00001c09, 0x00009583, 0x00001c09, 0x00009583, 0x00000c09,
+ 0x00001583, 0x00001d7a, 0x0000f008, 0x00001d68, 0x0000f038, 0x00001d6f,
+ 0x00007008, 0x05002304, 0x00004589, 0x8dc0c304, 0x00008292, 0x00003409,
+ 0x00009583, 0x00003c09, 0x00001583, 0xffffffff, 0x00007f86, 0x00001d73,
+ 0x0000f008, 0x00001d7a, 0x0000f008, 0x04202304, 0x0000c588, 0x0d60c304,
+ 0x00000197, 0x00001d87, 0x00007400, 0x08000c05, 0x00006080, 0x08001a06,
+ 0x0000b106, 0xc1001e05, 0x00008022, 0x08000c04, 0x0000e080, 0x08001a06,
+ 0x0000b106, 0xc1281e04, 0x00008020, 0x0d001c04, 0x00006806, 0x81202404,
+ 0x00009900, 0x02c02304, 0x0000c589, 0x8ca0c304, 0x00000191, 0x82181b03,
+ 0x0000e100, 0x08000c04, 0x0000e080, 0xc1283e04, 0x00000020, 0x01030400,
+ 0x00001281, 0x00010404, 0x00009583, 0x08003a06, 0x0000690e, 0x00001d85,
+ 0x00007009, 0x00020404, 0x00009583, 0x08001a06, 0x0000610e, 0x08002c04,
+ 0x0000b088, 0xc1202404, 0x00009908, 0x0d003c04, 0x0000e806, 0x81202404,
+ 0x00009900, 0x0d001c05, 0x0000e806, 0xc1a02c05, 0x00009900, 0xb1c02304,
+ 0x00004989, 0x8620c304, 0x00008794, 0x01400800, 0x00001981, 0xffffffff,
+ 0x00007f86, 0x00001d8f, 0x00007000, 0x01400000, 0x00009981, 0x9400c2ec,
+ 0x0000f902, 0x05c00000, 0x00000000, 0x9400b4ec, 0x00007902, 0x05400000,
+ 0x00008000, 0x9400a6ec, 0x00007902, 0x04c00000, 0x00008000, 0x944090ec,
+ 0x0000f902, 0x04400000, 0x00000000, 0x944082ec, 0x0000f902, 0x03c00000,
+ 0x00000000, 0x94406cec, 0x0000f902, 0x03000000, 0x00000000, 0xc2400405,
+ 0x00004189, 0x00200c05, 0x00008090, 0x7b000d08, 0x0000f897, 0x00c00001,
+ 0x00008000, 0x7bc00f08, 0x00007897, 0x00c00001, 0x00008000, 0x7c801508,
+ 0x0000f897, 0x00c00001, 0x00008000, 0x7d401708, 0x0000f897, 0x00c00001,
+ 0x00008000, 0x7e002508, 0x0000f897, 0x00c00001, 0x00008000, 0x7ec02708,
+ 0x00007897, 0x00c00001, 0x00008000, 0x7f804508, 0x0000f897, 0x00c00001,
+ 0x00008000, 0x80404708, 0x00007897, 0x00c00001, 0x00008000, 0xc0808508,
+ 0x00004497, 0x10208708, 0x00008794, 0x0ba10508, 0x0000c597, 0x86210708,
+ 0x00008688, 0x71400d08, 0x00007897, 0x00c00001, 0x00008000, 0x72000f08,
+ 0x00007897, 0x00c00001, 0x00008000, 0x72c01508, 0x0000f897, 0x00c00001,
+ 0x00008000, 0x73801708, 0x00007897, 0x00c00001, 0x00008000, 0x74402508,
+ 0x00007897, 0x00c00001, 0x00008000, 0x75002708, 0x0000f897, 0x00c00001,
+ 0x00008000, 0x75c04508, 0x00007897, 0x00c00001, 0x00008000, 0x76804708,
+ 0x00007897, 0x00c00001, 0x00008000, 0xbba08508, 0x0000c497, 0xc2208708,
+ 0x00000793, 0x04410508, 0x00004597, 0x04e10708, 0x0000028b, 0x00001db3,
+ 0x0000f400, 0x80172a18, 0x00001502, 0x86000a18, 0x00001090, 0x00001db5,
+ 0x0000f400, 0x80172a15, 0x00009502, 0x85400a15, 0x00001090, 0x00001db7,
+ 0x00007400, 0xc0172b18, 0x00001502, 0xc6000b18, 0x00001090, 0x00001db9,
+ 0x0000f400, 0xc0172b15, 0x00009502, 0xc5400b15, 0x00001090, 0x00001dbb,
+ 0x00007400, 0x80172a17, 0x00001502, 0x85c00a17, 0x00001090, 0x00001dbd,
+ 0x00007400, 0x80172a14, 0x00001502, 0x85000a14, 0x00001090, 0x00001dbf,
+ 0x0000f400, 0xc0172b17, 0x00001502, 0xc5c00b17, 0x00001090, 0x00001dc1,
+ 0x0000f400, 0xc0172b14, 0x00001502, 0xc5000b14, 0x00001090, 0x80172a16,
+ 0x00009502, 0xc1408708, 0x0000e283, 0x85800a16, 0x00008090, 0x00001de3,
+ 0x0000f00b, 0x80172a13, 0x00009502, 0x84c00a13, 0x00001090, 0x41410508,
+ 0x00001283, 0x00001de7, 0x0000700b, 0xc0172b16, 0x00009502, 0xc5800b16,
+ 0x00001090, 0xc1410708, 0x00001283, 0x00001e12, 0x0000700b, 0x00001e12,
+ 0x00007400, 0xc0172b13, 0x00009502, 0xc4c00b13, 0x00001090, 0x00001d9f,
+ 0x00007400, 0x80172a12, 0x00001502, 0x84800a12, 0x00001090, 0x00001da1,
+ 0x0000f400, 0x80172a0f, 0x00001502, 0x83c00a0f, 0x00001090, 0x00001da3,
+ 0x00007400, 0xc0172b12, 0x00001502, 0xc4800b12, 0x00001090, 0x00001da5,
+ 0x00007400, 0xc0172b0f, 0x00001502, 0xc3c00b0f, 0x00001090, 0x00001da7,
+ 0x0000f400, 0x80172a11, 0x00001502, 0x84400a11, 0x00001090, 0x00001da9,
+ 0x00007400, 0x80172a0d, 0x00009502, 0x83400a0d, 0x00001090, 0x00001dab,
+ 0x0000f400, 0xc0172b11, 0x00001502, 0xc4400b11, 0x00001090, 0x00001dad,
+ 0x0000f400, 0xc0172b0d, 0x00009502, 0xc3400b0d, 0x00001090, 0x80172a10,
+ 0x00009502, 0xc1408708, 0x0000e283, 0x84000a10, 0x00008090, 0x00001e0a,
+ 0x0000700b, 0x80172a0c, 0x00001502, 0x83000a0c, 0x00001090, 0x41410508,
+ 0x00001283, 0x00001e0e, 0x0000f00b, 0xc0172b10, 0x00009502, 0xc4000b10,
+ 0x00001090, 0xc1410708, 0x00001283, 0x00001e12, 0x0000700b, 0xc0172b0c,
+ 0x00001502, 0xc3000b0c, 0x00001090, 0xc0172b06, 0x00001502, 0x9438c2ec,
+ 0x00005000, 0x0038b800, 0x00008000, 0x9438b4ec, 0x0000d000, 0x0038a800,
+ 0x00000000, 0x9438a6ec, 0x0000d000, 0x00389800, 0x00000000, 0x947890ec,
+ 0x00005000, 0x00388800, 0x00008000, 0x00000000, 0x00007488, 0x947882ec,
+ 0x00005000, 0x00387800, 0x00008000, 0x94786cec, 0x00005000, 0x00386000,
+ 0x00008000, 0xc5002508, 0x0000c497, 0x50202708, 0x00000794, 0xc8401306,
+ 0x0000c389, 0x00201306, 0x00008098, 0x02200306, 0x0000c791, 0x01602306,
+ 0x0000818d, 0x8f002306, 0x0000f8ab, 0xc0c00000, 0x00000f81, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x03400000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x02d27000, 0x0000f900, 0x0028e40e, 0x00000980, 0x0320f800,
+ 0x0000f900, 0x003ab282, 0x00008980, 0x01602504, 0x00008014, 0x82600500,
+ 0x00008026, 0x00001e4f, 0x0000f400, 0x02809f02, 0x0000009d, 0x02004706,
+ 0x00000034, 0xc0000b06, 0x00001582, 0x00000000, 0x0000f093, 0x1e3c3994,
+ 0x0000f100, 0xc0003b06, 0x00001582, 0x00000000, 0x0000f093, 0x00001e40,
+ 0x00007000, 0x1e370533, 0x0000f100, 0x1e3e1fb2, 0x0000f300, 0x01204408,
+ 0x00001900, 0x1e402657, 0x00007300, 0x01204408, 0x00001900, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0x1e433e7c, 0x0000f100, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02f4b000, 0x00007900, 0x00390bd0,
+ 0x00008980, 0x031ed000, 0x00007900, 0x0016e9b4, 0x00008980, 0x02000000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x01400000, 0x000080f4, 0x82600500,
+ 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900, 0x1e501110,
+ 0x0000f100, 0x8c512224, 0x0000e100, 0x00214805, 0x0000e086, 0x01f12624,
+ 0x0000e101, 0x82294805, 0x00006086, 0x02812825, 0x0000e100, 0x04194805,
+ 0x0000e187, 0x02393705, 0x00000024, 0x1b037800, 0x0000f900, 0x001a85c2,
+ 0x00000980, 0x09c00000, 0x00006180, 0x1bc14028, 0x0000c900, 0x09000000,
+ 0x000082d4, 0x1b800708, 0x00008298, 0xffffffff, 0x0000ffd7, 0x82c034ec,
+ 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01003006,
+ 0x00001900, 0x01802004, 0x0000e100, 0x00002004, 0x0000e586, 0x1b403006,
+ 0x00006100, 0x04294804, 0x0000e087, 0x1e6911bc, 0x00007500, 0x86214804,
+ 0x0000e887, 0x1ac02004, 0x00001900, 0x00001c29, 0x00001583, 0x00002c29,
+ 0x00001583, 0x00000c29, 0x00009583, 0x00001ea2, 0x0000f008, 0x00001ea2,
+ 0x0000f008, 0x00001e94, 0x0000f010, 0x1e72158b, 0x00007404, 0x0db95f2a,
+ 0x00000320, 0x0dc09d00, 0x00001980, 0x00000434, 0x00001583, 0x817f1fe3,
+ 0x00009908, 0x84c02805, 0x0000a088, 0x00001e7b, 0x00007010, 0xffffffff,
+ 0x00007f97, 0x01403c05, 0x00001281, 0x01401405, 0x00001181, 0x00000c05,
+ 0x00001583, 0x00001e80, 0x0000701b, 0x0244e000, 0x0000f900, 0x002b3dfe,
+ 0x00008980, 0x1e801f44, 0x0000f500, 0x01b95f2a, 0x00008014, 0x0221a434,
+ 0x00001900, 0x35805e33, 0x00007902, 0x02000000, 0x00008000, 0x35f83233,
+ 0x00002080, 0x35f82c33, 0x00002080, 0x03800000, 0x000080fc, 0x35b89433,
+ 0x00003038, 0x04000000, 0x000081c4, 0x05000000, 0x00006180, 0x0020280f,
+ 0x0000e000, 0x05400000, 0x000001d8, 0x05c00000, 0x000001e0, 0x06400000,
+ 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8, 0x07c00000,
+ 0x000002c0, 0x08400000, 0x000002c8, 0x00001ea2, 0x0000f400, 0x08c00000,
+ 0x0000e180, 0x0300580b, 0x0000c900, 0x03b84406, 0x00008034, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02c0c000, 0x00007900, 0x002b3dfe,
+ 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x01414829,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x1ea21110, 0x0000f500, 0x82781400, 0x00000028, 0x81c02800,
+ 0x00006180, 0x02014028, 0x00004900, 0x1ea31f9f, 0x0000f004, 0x01c00000,
+ 0x0000e180, 0x02c000c0, 0x0000c980, 0x00001807, 0x00006106, 0x0000180b,
+ 0x00003106, 0x01009000, 0x00007900, 0x00010080, 0x00008980, 0x01400000,
+ 0x0000f900, 0x00018008, 0x00000980, 0x02001000, 0x0000f900, 0x0001c000,
+ 0x00000980, 0x001848ec, 0x0000d780, 0x00005000, 0x00008080, 0xc0001807,
+ 0x0000e006, 0xc000180b, 0x0000b006, 0x09800431, 0x000002b8, 0x0bc00000,
+ 0x0000e180, 0x0b00500a, 0x00004900, 0x0b781709, 0x00008018, 0x02400000,
+ 0x0000f900, 0x00048090, 0x00008980, 0x02801002, 0x00009900, 0x00880eec,
+ 0x0000df80, 0x00885080, 0x000003c4, 0x80000625, 0x0000e583, 0x0e013026,
+ 0x00008900, 0x02400000, 0x00006191, 0x0e413827, 0x0000c900, 0x00001ef9,
+ 0x0000f009, 0x01002e25, 0x00001080, 0x01000c0f, 0x0000e283, 0x38401404,
+ 0x00000881, 0xffffffff, 0x00007f97, 0x00001f20, 0x0000f413, 0xffffffff,
+ 0x00007f86, 0x0e820300, 0x0000f904, 0x0c612424, 0x0000801d, 0x1eca1f9f,
+ 0x00007404, 0x09400000, 0x000002d8, 0x09000000, 0x000002dc, 0x01009000,
+ 0x00007900, 0x00014040, 0x00000980, 0x09800080, 0x00006180, 0x01c00006,
+ 0x0000c980, 0x01800c0f, 0x00006283, 0x00001807, 0x0000a106, 0x01400000,
+ 0x0000f900, 0x00018030, 0x00008980, 0x89918a31, 0x0000e100, 0xc1003800,
+ 0x00004991, 0x00000409, 0x00006583, 0x01801002, 0x00000900, 0x00000408,
+ 0x00001583, 0xffffffff, 0x00007f86, 0x00001ee1, 0x00007010, 0x00001ee1,
+ 0x00007010, 0x000808ec, 0x0000d780, 0x00005000, 0x00008080, 0x02000c0f,
+ 0x00001283, 0x001078ec, 0x0000d790, 0x00005000, 0x00008080, 0x00984eec,
+ 0x0000df80, 0x00905380, 0x000000c4, 0x02801002, 0x0000e100, 0x02c000c0,
+ 0x0000c980, 0x0000180b, 0x0000e906, 0x02001000, 0x0000f900, 0x0001c000,
+ 0x00000980, 0x02400000, 0x0000f900, 0x00048090, 0x00008980, 0xc000180b,
+ 0x00006806, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009810ec, 0x0000d780, 0x00004801, 0x00000080, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x000808ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0x02000c0f, 0x0000e283, 0xc9801000,
+ 0x00008980, 0x001078ec, 0x0000d790, 0x00005000, 0x00008080, 0x00984eec,
+ 0x0000df80, 0x00905380, 0x000000c4, 0x01000140, 0x0000e180, 0x8207fa25,
+ 0x0000c280, 0x81280500, 0x0000e100, 0x01802208, 0x00004880, 0x01c09006,
+ 0x00006002, 0x75e80004, 0x0000a101, 0x700200ec, 0x00005680, 0x003824c4,
+ 0x00008010, 0x01380005, 0x00006180, 0x01800013, 0x00004084, 0x703838ec,
+ 0x00005600, 0x00383000, 0x00008000, 0x04181004, 0x0000e987, 0x700200ec,
+ 0x00005680, 0x003827c0, 0x00008078, 0x00c002ec, 0x0000df80, 0x11d8500b,
+ 0x00001684, 0xc0000724, 0x00009583, 0x04c10821, 0x0000e110, 0x04810020,
+ 0x00004910, 0xffffffff, 0x00007ff7, 0xffffffff, 0x0000ffe7, 0x01000ce0,
+ 0x00009283, 0x00001f39, 0x0000f013, 0x823f1fe3, 0x00009900, 0x84c02008,
+ 0x00002080, 0xffffffff, 0x00007fa7, 0x01003c04, 0x00001281, 0x01001404,
+ 0x00001181, 0x00000c04, 0x00009583, 0x02400800, 0x00006199, 0x01403006,
+ 0x0000c930, 0x02400000, 0x0000e1b1, 0x01803807, 0x0000c930, 0x00001ebf,
+ 0x00007018, 0x1f201f44, 0x00007500, 0x027b3000, 0x00007900, 0x0021b41c,
+ 0x00000980, 0x02000000, 0x00009980, 0x01013b31, 0x0000e080, 0x10800000,
+ 0x00008980, 0x0010b004, 0x00006502, 0x10c00000, 0x00000980, 0x8f518a31,
+ 0x0000e148, 0x0f018030, 0x0000c948, 0x0f819032, 0x00006148, 0x0fc19833,
+ 0x0000c948, 0x00001f2c, 0x00007040, 0x00001ec6, 0x00007400, 0x1039af34,
+ 0x00000404, 0x10a98c36, 0x00008334, 0x01000000, 0x0000e180, 0x00000842,
+ 0x00006487, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x8f518a31,
+ 0x0000e100, 0x04115004, 0x0000e187, 0x700008ec, 0x00005680, 0x00382002,
+ 0x00008000, 0x0f399730, 0x00000338, 0x0ff9a733, 0x00000400, 0x00001ec6,
+ 0x00007400, 0x10698f35, 0x00008334, 0x9091b236, 0x00001900, 0x1f3a1167,
+ 0x00007100, 0xffffffff, 0x00007f86, 0x00000497, 0x0000e583, 0x0264bc97,
+ 0x00008901, 0x0224bc97, 0x0000e110, 0x01403006, 0x00004910, 0x027b3000,
+ 0x0000f910, 0x0021b41c, 0x00000980, 0x00001f11, 0x0000f008, 0x1f441f44,
+ 0x0000f300, 0x01803807, 0x00009900, 0x0107f808, 0x00006280, 0x09c04809,
+ 0x00000900, 0x1f49119b, 0x00007500, 0x09b82f06, 0x00008210, 0x08802004,
+ 0x00009900, 0x00400e00, 0x00004589, 0x01601600, 0x0000008d, 0x01000000,
+ 0x000080d4, 0x04115004, 0x0000e187, 0x04300005, 0x00003007, 0x00001f60,
+ 0x0000f400, 0x703828ec, 0x0000d600, 0x00000000, 0x00008080, 0x700008ec,
+ 0x00005680, 0x00382002, 0x00008000, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02ff8000, 0x0000f900, 0x0034e782, 0x00000980, 0x031a3800,
+ 0x0000f900, 0x001d89a4, 0x00008980, 0x02000000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x01400000, 0x000080f4, 0x1f601110, 0x0000f500, 0x82600500,
+ 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900, 0xffc00000,
+ 0x00006180, 0x02c000c0, 0x0000c980, 0x02801002, 0x0000e100, 0x0000180b,
+ 0x00006106, 0x02001000, 0x0000f900, 0x00004000, 0x00000980, 0x02400000,
+ 0x0000f900, 0x00040110, 0x00000980, 0xc000180b, 0x00006806, 0x008816ec,
+ 0x0000df80, 0x00004800, 0x00000084, 0x821722e4, 0x0000e100, 0x01001b0e,
+ 0x0000c880, 0x0c006004, 0x00006002, 0x01000100, 0x00008980, 0x02c0000d,
+ 0x00006084, 0x81280500, 0x00000900, 0x75e80004, 0x0000e901, 0x700040ec,
+ 0x00005680, 0x003824c4, 0x00008010, 0x01380005, 0x00001980, 0x703980ec,
+ 0x0000d600, 0x00385800, 0x00000000, 0x04181004, 0x0000e987, 0x700040ec,
+ 0x00005680, 0x003827c0, 0x00008078, 0x00c002ec, 0x0000df80, 0x11dbe00b,
+ 0x00009684, 0x81000b0e, 0x0000e080, 0x017f1fe3, 0x00008901, 0x80107204,
+ 0x00006502, 0xc3800b0e, 0x00000080, 0xc3800000, 0x00001988, 0xffffffff,
+ 0x00007ff7, 0xffffffff, 0x0000ffd7, 0x01000ce0, 0x00009283, 0x00001f94,
+ 0x00007013, 0x89202c05, 0x00001900, 0x84c02824, 0x00002080, 0xffffffff,
+ 0x00007fa7, 0x01403c05, 0x00001281, 0x01401405, 0x00001181, 0x00000c05,
+ 0x00001583, 0xb9104208, 0x00006118, 0x09000000, 0x0000c9b1, 0x01818030,
+ 0x0000e130, 0x0140580b, 0x0000c930, 0x027a9800, 0x00007930, 0x0034e782,
+ 0x00000980, 0x02212424, 0x00001930, 0x00000000, 0x0000709b, 0x1f941f44,
+ 0x0000f100, 0x1f951167, 0x00007100, 0xffffffff, 0x00007f86, 0x00000497,
+ 0x00001583, 0x01818030, 0x00006110, 0x0140580b, 0x00004910, 0x027a9800,
+ 0x0000f910, 0x0034e782, 0x00000980, 0x00001f85, 0x00007008, 0x1f9e1f44,
+ 0x00007300, 0x0224bc97, 0x00001900, 0x00000000, 0x00007080, 0x00000407,
+ 0x0000e583, 0xc21722e4, 0x00008900, 0x8143fa31, 0x0000e288, 0x02000000,
+ 0x00008981, 0x01402a05, 0x00009888, 0x00001fa9, 0x0000f010, 0x00000000,
+ 0x0000f480, 0x09008005, 0x00006002, 0x0100f805, 0x00008784, 0x09408804,
+ 0x00001004, 0x1faa1f6b, 0x0000f004, 0xb9184308, 0x00006100, 0x8143fa31,
+ 0x0000c280, 0x02000800, 0x0000e181, 0x01402a05, 0x00004880, 0x09008005,
+ 0x00006002, 0x0100f805, 0x00008784, 0x09408804, 0x00001004, 0x00000000,
+ 0x00007083, 0x00000804, 0x00009582, 0x700000ec, 0x00005688, 0x00000040,
+ 0x00000080, 0x01000000, 0x00001988, 0x00001fba, 0x00007010, 0x04105004,
+ 0x0000e987, 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0xffc00000,
+ 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x1bc02004, 0x0000e100, 0x0020280a, 0x00006086, 0x8228280a,
+ 0x00006886, 0x0418280a, 0x0000e987, 0x02c0500a, 0x00001900, 0x1b040000,
+ 0x00007900, 0x00336e6e, 0x00008980, 0x1b80580b, 0x00001900, 0xffffffff,
+ 0x00007ff7, 0x82c04cec, 0x00007902, 0x02000000, 0x00000604, 0xffffffff,
+ 0x00007fa7, 0x02804809, 0x0000e100, 0x00002008, 0x0000e586, 0x1b40500a,
+ 0x00006100, 0x04282808, 0x00006087, 0x1fd111bc, 0x0000f500, 0x86202808,
+ 0x00006887, 0x1ac04008, 0x00001900, 0x00001405, 0x00001583, 0x00002405,
+ 0x00001583, 0xffffffff, 0x00007f86, 0x00001fe3, 0x00007008, 0x00001fe3,
+ 0x00007008, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x01802004,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x02c60000, 0x00007900, 0x00336e6e,
+ 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x03400000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x1fe31110, 0x00007500, 0x82781400,
+ 0x00000028, 0x02002f06, 0x0000809d, 0x02c00000, 0x0000e180, 0x02801002,
+ 0x0000c900, 0x02009000, 0x00007900, 0x000080c0, 0x00000980, 0x02400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x03002004, 0x0000e100, 0xc000180b,
+ 0x0000e006, 0x03783705, 0x00000038, 0x03c03807, 0x00009900, 0x009016ec,
+ 0x0000df80, 0x00005000, 0x00000084, 0x81400e8f, 0x0000e283, 0x18800800,
+ 0x00008980, 0x18401800, 0x0000e180, 0x00200062, 0x0000e50e, 0x18c00000,
+ 0x00006180, 0x18089801, 0x0000c980, 0x00000001, 0x00007480, 0x98aca124,
+ 0x00008604, 0xd8d4728e, 0x00009900, 0x12ce0005, 0x0000e180, 0x12000000,
+ 0x00004980, 0x00000001, 0x00007480, 0x12800800, 0x0000f900, 0x00340000,
+ 0x00000980, 0x12c00502, 0x000084a4, 0x11a00000, 0x00006180, 0x11c00000,
+ 0x00004980, 0x00000001, 0x00007480, 0x11080001, 0x00006180, 0x11401020,
+ 0x0000c980, 0x91c9218e, 0x0000841a, 0x1bce0005, 0x0000e180, 0x1b000000,
+ 0x00004980, 0x00000001, 0x00007480, 0x1b800800, 0x0000f900, 0x00340000,
+ 0x00000980, 0x1bc00502, 0x000086b4, 0x8000028f, 0x0000e582, 0xe55722e4,
+ 0x00000900, 0x49400000, 0x00006191, 0x01400000, 0x00004991, 0x19000000,
+ 0x00006190, 0x19400000, 0x0000c990, 0x00000000, 0x0000f088, 0xc000038d,
+ 0x00006582, 0x19800000, 0x00008980, 0x19c00000, 0x0000e180, 0xc1dc6b8d,
+ 0x00004900, 0xa504718f, 0x00008916, 0x000021e0, 0x0000f008, 0x091c6b8d,
+ 0x00009900, 0x0001e824, 0x00009502, 0x000021dd, 0x0000f01b, 0x4147853f,
+ 0x00001283, 0x19003006, 0x0000e110, 0x00003865, 0x0000e116, 0x24000800,
+ 0x0000e191, 0xc0003865, 0x00006016, 0x24000000, 0x00001989, 0x20221fef,
+ 0x00007300, 0x0914aa95, 0x00009900, 0x00000490, 0x00006583, 0x0e01fc6b,
+ 0x00002006, 0xa4583b07, 0x0000e100, 0xa4983b07, 0x00004908, 0x09235fe4,
+ 0x00001810, 0x0000202e, 0x0000f008, 0x89000a24, 0x00001180, 0x0901f224,
+ 0x00001200, 0x09012307, 0x00001000, 0x09235824, 0x00001700, 0x89001a24,
+ 0x00009880, 0xa4983a24, 0x00009000, 0xb8436000, 0x0000e180, 0x26801e3c,
+ 0x00004281, 0x0900149a, 0x00001881, 0x78414424, 0x00009081, 0xffffffff,
+ 0x00007fc7, 0x26020b00, 0x0000f904, 0x2601d898, 0x00009002, 0x80000292,
+ 0x0000e582, 0x26400099, 0x00000084, 0x09820b00, 0x0000f904, 0x0981d826,
+ 0x00006100, 0xa5949292, 0x00000910, 0x00002116, 0x0000f008, 0x9a438000,
+ 0x000089ce, 0x26c13026, 0x00006100, 0x25c13296, 0x00004c00, 0x09813296,
+ 0x00006400, 0x9a800000, 0x0000c980, 0xa594ba96, 0x0000e100, 0x09000000,
+ 0x00000981, 0x80000296, 0x00006582, 0x09ce0001, 0x00008980, 0x9a800800,
+ 0x0000e190, 0x04181027, 0x0000e187, 0x00003469, 0x00006583, 0x060ff826,
+ 0x0000a587, 0x09000800, 0x000061b1, 0x0ec1d897, 0x00004000, 0x1004c500,
+ 0x00007904, 0x09235424, 0x0000e203, 0x1a400c69, 0x00000081, 0x09000000,
+ 0x00009981, 0x0004b89b, 0x0000e502, 0x09000800, 0x00000989, 0xffffffff,
+ 0x00007f86, 0xd3612027, 0x00006800, 0x000020a2, 0x0000f208, 0x10013500,
+ 0x00007904, 0x0000046a, 0x00009583, 0x26020b00, 0x0000f904, 0x09820b00,
+ 0x0000f904, 0x000020e2, 0x0000f008, 0x00004469, 0x0000e583, 0x24c02493,
+ 0x00000081, 0x8994b292, 0x00001108, 0x0000203c, 0x00007011, 0x00000490,
+ 0x00009583, 0xa454b292, 0x00001108, 0x00002061, 0x0000f009, 0x80113292,
+ 0x00009502, 0x0000220d, 0x0000f013, 0x00000490, 0x00006583, 0x8900d800,
+ 0x00000980, 0x18630c69, 0x0000e001, 0x82234a24, 0x00002086, 0x003120ec,
+ 0x0000d702, 0x00007800, 0x00008080, 0x00002072, 0x00007208, 0xe5148b94,
+ 0x0000e100, 0xc1d48b07, 0x00008100, 0x0e01fc24, 0x0000e806, 0x092127e4,
+ 0x00001800, 0x81400a24, 0x00001180, 0x8151f205, 0x00001200, 0x01400000,
+ 0x0000e181, 0x89102a24, 0x0000c100, 0x80010224, 0x00001582, 0x000021fc,
+ 0x0000f033, 0xc0000307, 0x0000e582, 0x0f81f291, 0x00000000, 0x0f54883d,
+ 0x00001100, 0x000020f8, 0x0000f011, 0x1a800000, 0x0000f900, 0x00001080,
+ 0x00008980, 0x1a484000, 0x00006180, 0x08001a26, 0x00006106, 0x8140168f,
+ 0x0000e283, 0x04113069, 0x00002101, 0x9a948a91, 0x00006100, 0x1a401069,
+ 0x00004388, 0x0c857424, 0x0000e000, 0x5000086a, 0x00003411, 0xc0000394,
+ 0x0000e582, 0x49401c61, 0x00008181, 0x1a000000, 0x00007900, 0x00008000,
+ 0x00000980, 0x1ac00000, 0x00009980, 0x0000208e, 0x0000f008, 0x00000424,
+ 0x00006583, 0x0000106b, 0x00002403, 0x3000086b, 0x0000ec01, 0x6000086b,
+ 0x0000ec01, 0x0000208e, 0x00007208, 0x9adca394, 0x00009900, 0x4000058d,
+ 0x00009583, 0x4000086b, 0x0000ec11, 0x00000490, 0x00009583, 0x0018c0ec,
+ 0x00005790, 0x00007800, 0x00008080, 0x183fe860, 0x00007908, 0x003ffffe,
+ 0x00008280, 0x0008c0ec, 0x0000d788, 0x00d87e80, 0x000080c0, 0x00000c05,
+ 0x0000e583, 0x18400c61, 0x00000189, 0x000020e8, 0x0000f00b, 0x40000d25,
+ 0x00006583, 0x24000840, 0x00008980, 0x24400000, 0x000009c8, 0xb91cab95,
+ 0x00006130, 0x24c00000, 0x00004980, 0x0000211d, 0x0000f018, 0x000920ec,
+ 0x00005780, 0x00005000, 0x00008080, 0xffffffff, 0x00007f86, 0x00000000,
+ 0x00007083, 0x09000e3c, 0x0000e081, 0x0ec00000, 0x00000980, 0x89a12424,
+ 0x0000e100, 0x26800c9a, 0x0000c081, 0x8011e226, 0x0000e502, 0x8f000e3c,
+ 0x00000081, 0x0000249a, 0x00001583, 0x8011e226, 0x00001502, 0x000021d0,
+ 0x00007018, 0x00002054, 0x00007010, 0x00002054, 0x00007020, 0x89a1223c,
+ 0x00001100, 0x80002226, 0x00009582, 0x09a1243c, 0x0000e131, 0x09802000,
+ 0x00000999, 0x09002424, 0x00009880, 0x25c1c024, 0x0000e002, 0x26002426,
+ 0x00008881, 0x09c00039, 0x00006084, 0x09000280, 0x00008980, 0x09800000,
+ 0x00007900, 0x000014c4, 0x00000980, 0x89280500, 0x00006100, 0x0024c026,
+ 0x00006106, 0x75e80024, 0x00006901, 0x703930ec, 0x00005600, 0x00392000,
+ 0x00008000, 0x09800000, 0x00007900, 0x00007fc0, 0x00000980, 0x89a4c498,
+ 0x0000e100, 0x09380005, 0x0000c980, 0x703cb8ec, 0x00005600, 0x00393800,
+ 0x00008000, 0x04181024, 0x00006987, 0x703930ec, 0x00005600, 0x00392000,
+ 0x00008000, 0x00c002ec, 0x0000df80, 0x1206400b, 0x00009684, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x09000ce0, 0x00001283, 0x20db1167,
+ 0x0000f113, 0x0000046a, 0x00006583, 0xb8400005, 0x00000980, 0x38400093,
+ 0x000009aa, 0xffffffff, 0x00007f97, 0x00002058, 0x0000f413, 0x26020b00,
+ 0x0000f904, 0x09820b00, 0x0000f904, 0x00000490, 0x00006583, 0x89800292,
+ 0x00000180, 0xa4400292, 0x00001188, 0x00002061, 0x0000f009, 0x83513292,
+ 0x00007812, 0x09000000, 0x00001083, 0x40000d25, 0x00009583, 0x89000ee3,
+ 0x00001898, 0x53202c24, 0x00002118, 0x00002098, 0x0000f030, 0xffffffff,
+ 0x00007f97, 0x81400a05, 0x00009080, 0x53202c24, 0x0000a900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec,
+ 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x00002098, 0x0000f000, 0x1a800000,
+ 0x0000f900, 0x00001080, 0x00008980, 0x1a484000, 0x00006180, 0x08001a24,
+ 0x0000e106, 0x8140168f, 0x0000e283, 0x04112069, 0x0000a101, 0x9a948a91,
+ 0x00006100, 0x1a401069, 0x00004388, 0x5000086a, 0x00006411, 0x00200062,
+ 0x00003506, 0x00000490, 0x00006583, 0xd8548a91, 0x00008900, 0x183f7860,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x1a000000, 0x00007900, 0x00008000,
+ 0x00000980, 0x000021ed, 0x0000f208, 0x1ac00000, 0x00009980, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0098c0ec,
+ 0x00005780, 0x00007800, 0x00008080, 0xa5548a95, 0x00006000, 0x1000008f,
+ 0x0000a401, 0xffffffff, 0x00007f97, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x08000307, 0x0000f892, 0xb1000000, 0x00001083, 0x00000490,
+ 0x00006583, 0x1a400000, 0x00000981, 0xa4400292, 0x0000e188, 0x89800292,
+ 0x00000180, 0x00002061, 0x0000f009, 0x83513292, 0x00007812, 0x09000000,
+ 0x00001083, 0x40001525, 0x00006583, 0x12c00000, 0x00008980, 0x12400000,
+ 0x0000e180, 0x0000184b, 0x0000e106, 0x12001000, 0x00007900, 0x00005240,
+ 0x00008980, 0x12801002, 0x00006100, 0xc000184b, 0x00006006, 0x000021cb,
+ 0x00007408, 0x11000840, 0x00006180, 0x11400000, 0x0000c980, 0x11c00000,
+ 0x000084d8, 0x40001525, 0x00009583, 0x09c01d25, 0x000061b8, 0x09001525,
+ 0x000081b8, 0x23403827, 0x000092b8, 0x000021cb, 0x00007050, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x09800800, 0x00001980, 0x39612726,
+ 0x00004442, 0x02403827, 0x0000088b, 0x2ec0088d, 0x0000c488, 0xda40108d,
+ 0x0000888a, 0x2c80188d, 0x00004488, 0xb640208d, 0x0000888a, 0x2a40288d,
+ 0x0000c988, 0x9240308d, 0x0000088a, 0xffffffff, 0x00007f86, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x09801000, 0x00001980, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x09800826, 0x00009080, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x09800826, 0x00009080, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x09800826, 0x00009080, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x09800826, 0x00009080, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x09800826, 0x00009080, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x09800826, 0x00009080, 0x00012026,
+ 0x00009502, 0x000021cb, 0x0000f043, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0xffffffff, 0x00007f86, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0xffffffff, 0x00007f86, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0xffffffff, 0x00007f86, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0xffffffff, 0x00007f86, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0xffffffff, 0x00007f86, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0xffffffff, 0x00007f86, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0xffffffff, 0x00007f86, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009088ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x09804026, 0x00009080, 0x00012026, 0x00009502, 0x00002181,
+ 0x0000f04b, 0xb91cab95, 0x00001900, 0x001088ec, 0x00005780, 0x00905100,
+ 0x000000c8, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02ce5000, 0x0000f900, 0x0024f12a,
+ 0x00008980, 0x03284000, 0x00007900, 0x00167a04, 0x00000980, 0x02000000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x01400000, 0x000080f4, 0x21dd1110,
+ 0x00007500, 0x82600500, 0x00008026, 0x81c01000, 0x0000e180, 0x02801002,
+ 0x0000c900, 0x20980713, 0x0000f300, 0x09004801, 0x000000d6, 0x00002098,
+ 0x0000f000, 0x21e21fef, 0x0000f300, 0x091c738e, 0x00009900, 0x21e606aa,
+ 0x00007500, 0x183fe860, 0x0000f900, 0x003ffffe, 0x00008280, 0x18400c61,
+ 0x00001181, 0x21e72004, 0x00007100, 0x0008c0ec, 0x00005780, 0x00d87e80,
+ 0x000080c0, 0x00002098, 0x00007400, 0x0008d8ec, 0x00005780, 0x00007800,
+ 0x00008080, 0x18400c61, 0x00009081, 0x183fe860, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x18400c61, 0x00001181, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x0088c0ec, 0x0000d780, 0x00d87e80,
+ 0x000080c0, 0xa5548a95, 0x00006000, 0x1000008f, 0x0000a401, 0xffffffff,
+ 0x00007f97, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x08000307,
+ 0x0000f892, 0xb1000000, 0x00001083, 0x80112291, 0x00001502, 0x89000ee3,
+ 0x00006098, 0x01400800, 0x00004999, 0x53013424, 0x0000219a, 0x00002072,
+ 0x00007030, 0xffffffff, 0x00007f97, 0x89800a26, 0x00009080, 0x22061ffe,
+ 0x0000f500, 0x53093424, 0x00002982, 0x0914aa95, 0x00009900, 0x22071ff8,
+ 0x0000f100, 0x001088ec, 0x00005780, 0x00007800, 0x00008080, 0x0f54883d,
+ 0x0000e100, 0x0f81f291, 0x00000000, 0x1d800307, 0x0000f88a, 0xc1000000,
+ 0x00001087, 0x1ae35fe4, 0x00001800, 0x9a00426b, 0x00006080, 0x89000a6b,
+ 0x00000180, 0x0901f224, 0x00001200, 0x9a912226, 0x00009000, 0x8013426a,
+ 0x00001502, 0x89000a6b, 0x000060a0, 0x89c00000, 0x0000c9a8, 0x89c00000,
+ 0x000061a0, 0x89008224, 0x000040a0, 0x0000221d, 0x0000f028, 0x8011226a,
+ 0x00006502, 0x89c00a27, 0x00000080, 0x89134224, 0x00001020, 0x0000221d,
+ 0x00007029, 0x00002218, 0x0000f000, 0x89001a27, 0x00009880, 0xa4512226,
+ 0x00009100, 0x2c113a68, 0x00009600, 0x090588b0, 0x00001000, 0x8991226a,
+ 0x00001100, 0x0011306b, 0x00009502, 0x89002000, 0x000019d0, 0x89135a24,
+ 0x00001150, 0x00002061, 0x00007038, 0x89113224, 0x00001002, 0x24800c69,
+ 0x0000e191, 0x2587e63c, 0x00000291, 0xa6912224, 0x0000e110, 0x26400000,
+ 0x00004991, 0x00002061, 0x00007008, 0x0000003b, 0x0000e582, 0x1a001800,
+ 0x00008981, 0x8f000e3c, 0x00006189, 0x26001492, 0x00008881, 0x78436498,
+ 0x00001081, 0x0ec7e63c, 0x00009281, 0x0021dc96, 0x00001503, 0x0ec01468,
+ 0x00009891, 0x3841443b, 0x00001091, 0xffffffff, 0x00007f86, 0x09820b00,
+ 0x0000f904, 0x00002240, 0x00007408, 0x1a820b00, 0x00007904, 0x24c3506a,
+ 0x00009900, 0x10013500, 0x00007904, 0x00000468, 0x0000e583, 0x1a97286a,
+ 0x00008200, 0x10035500, 0x0000f904, 0x1a001800, 0x0000e189, 0x1a000c68,
+ 0x0000c191, 0x8ed3529a, 0x00009c00, 0xffffffff, 0x00007f86, 0xa691da9a,
+ 0x0000e100, 0x25d1d86a, 0x00000100, 0x80000297, 0x0000e582, 0x0ed72897,
+ 0x00008200, 0x26400c99, 0x00001089, 0x0000224e, 0x0000f011, 0x8000029a,
+ 0x00009582, 0x8f000e3c, 0x00006191, 0x24800c92, 0x00000191, 0x26001492,
+ 0x00009891, 0x00002250, 0x00007008, 0x00002230, 0x0000f000, 0x8000029a,
+ 0x00009582, 0x00002230, 0x00007013, 0x38436498, 0x00006081, 0xa4512291,
+ 0x00000100, 0x1a64cc69, 0x00006101, 0x8900d800, 0x00000980, 0x82234a24,
+ 0x0000e086, 0xd000086b, 0x00003400, 0x1a849893, 0x0000e100, 0xc1d48b07,
+ 0x00004100, 0x003120ec, 0x0000d702, 0x00007800, 0x00008080, 0x18630c69,
+ 0x0000e001, 0xe5148b94, 0x00008100, 0x10013500, 0x00007904, 0x10035500,
+ 0x0000f904, 0x1c800490, 0x0000788a, 0x51000000, 0x00009083, 0x00003000,
+ 0x0000e406, 0x02000001, 0x0000b586, 0x0e812c8d, 0x00006000, 0x00180805,
+ 0x00003586, 0x003cf800, 0x00007900, 0x003ffffe, 0x00008280, 0x00100001,
+ 0x00006505, 0x00181005, 0x0000b505, 0x09000000, 0x00006180, 0xc0000801,
+ 0x00006401, 0x0000048d, 0x00006583, 0xc0000005, 0x0000a407, 0x00180000,
+ 0x0000e380, 0x80001024, 0x0000240a, 0x40e03c07, 0x000080dd, 0x09800000,
+ 0x0000e180, 0x80000824, 0x0000e412, 0x00000001, 0x00007480, 0x09c00000,
+ 0x000082d4, 0xc0008800, 0x0000e181, 0x806ca594, 0x00004901, 0x22792260,
+ 0x00007500, 0x80024e00, 0x00001583, 0x23026800, 0x0000e191, 0x23300600,
+ 0x00004909, 0x00000c94, 0x00009583, 0x001000ec, 0x00005780, 0x00884880,
+ 0x000007c0, 0x00002280, 0x00007011, 0x227e06a2, 0x0000f100, 0x000898ec,
+ 0x0000d780, 0x00005801, 0x00008080, 0x7fc00400, 0x000089dc, 0x26c00000,
+ 0x0000e180, 0x00001897, 0x00006106, 0x2518b000, 0x0000f900, 0x0001c000,
+ 0x00000980, 0x0000389b, 0x0000e106, 0xc0001897, 0x0000b006, 0x25401000,
+ 0x00007900, 0x0001c008, 0x00008980, 0x26401800, 0x0000f900, 0x0001c000,
+ 0x00000980, 0x26000000, 0x0000e180, 0xc000389b, 0x00006006, 0x25b83702,
+ 0x00008928, 0xa524648c, 0x00001901, 0x00992eec, 0x00005f80, 0x00005001,
+ 0x00008084, 0x093fe000, 0x00007900, 0x003ffffe, 0x00000980, 0x55413cec,
+ 0x0000f902, 0x09800000, 0x00000100, 0xffffffff, 0x00007fa7, 0x00155027,
+ 0x00007900, 0x002aaaaa, 0x00008582, 0x55413cec, 0x00007912, 0x09800000,
+ 0x00000100, 0x00000001, 0x0000f089, 0xffffffff, 0x00007f86, 0x00155027,
+ 0x00007900, 0x002aaaaa, 0x00008582, 0x55413cec, 0x00007912, 0x09800000,
+ 0x00000100, 0x00000001, 0x0000f089, 0xffffffff, 0x00007f86, 0x00155027,
+ 0x00007900, 0x002aaaaa, 0x00008582, 0x55413cec, 0x00007912, 0x09800000,
+ 0x00000100, 0x00000001, 0x0000f089, 0xffffffff, 0x00007f86, 0x00155027,
+ 0x00007900, 0x002aaaaa, 0x00008582, 0x55413cec, 0x00007912, 0x09800000,
+ 0x00000100, 0x00000001, 0x0000f089, 0xffffffff, 0x00007f86, 0x00155027,
+ 0x00007900, 0x002aaaaa, 0x00008582, 0x55413cec, 0x00007912, 0x09800000,
+ 0x00000100, 0x00000001, 0x0000f089, 0xffffffff, 0x00007f86, 0x00155027,
+ 0x00007900, 0x002aaaaa, 0x00008582, 0x55413cec, 0x00007912, 0x09800000,
+ 0x00000100, 0x00000001, 0x0000f089, 0xffffffff, 0x00007f86, 0x00155027,
+ 0x00007900, 0x002aaaaa, 0x00008582, 0x55413cec, 0x00007912, 0x09800000,
+ 0x00000100, 0x00000001, 0x0000f089, 0xffffffff, 0x00007f86, 0x00155027,
+ 0x00007900, 0x002aaaaa, 0x00008582, 0x55413cec, 0x00007912, 0x09800000,
+ 0x00000100, 0x00000001, 0x0000f089, 0xffffffff, 0x00007f86, 0x00155027,
+ 0x00007900, 0x002aaaaa, 0x00008582, 0x00000001, 0x0000708b, 0x09004824,
+ 0x00001182, 0x01c00000, 0x0000f908, 0x00004040, 0x00008980, 0x02000000,
+ 0x00006188, 0x01400000, 0x0000c988, 0x00002293, 0x00007010, 0x02c49000,
+ 0x0000f900, 0x00010dd8, 0x00008980, 0x0317f800, 0x00007900, 0x0005823a,
+ 0x00008980, 0x03400000, 0x0000e180, 0x08001a09, 0x0000e106, 0x22d91110,
+ 0x0000f500, 0x81c01000, 0x0000e180, 0xc2700600, 0x00004901, 0x02a00702,
+ 0x00000026, 0xc6000f26, 0x0000e283, 0x0fc00008, 0x00000980, 0x13000000,
+ 0x00006190, 0x13400000, 0x0000c990, 0x13800000, 0x0000e190, 0x13c00000,
+ 0x00004990, 0x14000000, 0x0000e190, 0x10400000, 0x00004980, 0x8659422a,
+ 0x00006202, 0x0000183f, 0x00002106, 0x0f009000, 0x0000f900, 0x00010500,
+ 0x00000980, 0x0f400000, 0x00007900, 0x00018030, 0x00008980, 0x10800000,
+ 0x000084cc, 0x1018dc2a, 0x00008401, 0x000022fe, 0x00007410, 0x5020da26,
+ 0x00000405, 0x06800000, 0x0000e191, 0x0cc01a28, 0x0000c888, 0x80000228,
+ 0x00006582, 0x0e400100, 0x00000980, 0x0e020800, 0x0000e180, 0x0e414c24,
+ 0x0000e008, 0x8e581302, 0x00006100, 0x09000c24, 0x0000c489, 0x06819033,
+ 0x0000e002, 0x71e12029, 0x00002008, 0x89000a28, 0x00006080, 0x06400031,
+ 0x00000084, 0xc0112388, 0x00006502, 0x0e80d01a, 0x00000900, 0x000870ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0x0ec00f19, 0x000081aa, 0x8a000000,
+ 0x00006188, 0x8a000a28, 0x00004090, 0x4000254a, 0x00006583, 0x0e414c24,
+ 0x0000a000, 0x86400a2a, 0x00006080, 0x0e414d41, 0x00002000, 0x8a800a2a,
+ 0x00006080, 0x09000000, 0x000009b1, 0x0000231d, 0x00007030, 0x86594219,
+ 0x00009202, 0x09000000, 0x00006191, 0x0e020800, 0x00004988, 0x0e400100,
+ 0x00001988, 0x0000231b, 0x0000f010, 0x80000228, 0x00006582, 0x8e581302,
+ 0x00008900, 0x0cc00800, 0x00009989, 0x8cc00a28, 0x00006080, 0x09212433,
+ 0x00008109, 0x09001a28, 0x00006080, 0x71e12029, 0x0000e008, 0x09019024,
+ 0x00006002, 0x8a000a28, 0x00000080, 0x06400031, 0x00006084, 0x0e812024,
+ 0x00000900, 0xc0119b88, 0x00006502, 0x09000800, 0x00008981, 0x000870ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0x8a000000, 0x00006188, 0x0ec0c819,
+ 0x00004900, 0x8a800a2a, 0x00006080, 0x0e414e41, 0x00002000, 0x0660d424,
+ 0x00006303, 0x0d000804, 0x00000980, 0x0d004034, 0x0000e390, 0x8e5b636c,
+ 0x00000910, 0x0e004038, 0x0000e390, 0x0d020034, 0x00008390, 0x80000a49,
+ 0x00006582, 0x0000003f, 0x0000a506, 0x000868ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0x0f80076c, 0x00008394, 0x00002335, 0x0000f230, 0x0de70040,
+ 0x00006180, 0x0d800000, 0x00004980, 0xc6001f4a, 0x00009283, 0x000098ec,
+ 0x0000d788, 0x00005001, 0x00000080, 0x000098ec, 0x0000d790, 0x009055c1,
+ 0x00008280, 0xcf00273c, 0x0000e089, 0xcf00473c, 0x00008091, 0x1a400000,
+ 0x0000e190, 0x1a800000, 0x0000c990, 0x1ac00000, 0x00001990, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009078ec,
+ 0x0000d780, 0x00905440, 0x00000180, 0x97013088, 0x00007902, 0x09000000,
+ 0x00000000, 0x9700d688, 0x00007902, 0x06400000, 0x00008000, 0x89c00e27,
+ 0x0000e181, 0x8cc02a88, 0x00008080, 0xffffffff, 0x00007f86, 0x09813249,
+ 0x00001002, 0x0680d348, 0x0000e002, 0x09000024, 0x00000084, 0x9738d688,
+ 0x00002880, 0x96f8d033, 0x00002080, 0x06400019, 0x00009084, 0x9738ce88,
+ 0x0000a800, 0x96f8c833, 0x0000a000, 0x0680081a, 0x00001082, 0x97393088,
+ 0x0000d000, 0x00392000, 0x00008000, 0x96f8d033, 0x0000a880, 0x06400019,
+ 0x00006084, 0x89000f6d, 0x00000780, 0x96f8c833, 0x00002800, 0x06400000,
+ 0x00007900, 0x00080000, 0x00000980, 0x0000fc1b, 0x0000e583, 0x0420d819,
+ 0x00002087, 0x800000ec, 0x00005780, 0x0038c800, 0x00000000, 0x8f80d0ec,
+ 0x00007902, 0x06400000, 0x00000004, 0x0ce0dfe4, 0x00006030, 0x0cc1041b,
+ 0x0000c198, 0xffffffff, 0x00007f86, 0x0cc19fe4, 0x00009818, 0x0640c833,
+ 0x00009318, 0x0680d033, 0x00009330, 0x8fb8c8ec, 0x00002804, 0x06400f6d,
+ 0x00001281, 0x00000419, 0x00001583, 0x8fb8d0ec, 0x0000a884, 0xf7f8d424,
+ 0x0000a014, 0xf7f8d424, 0x0000208c, 0x00000419, 0x00001583, 0xffffffff,
+ 0x00007f97, 0x86800e1a, 0x00009081, 0xf7f8d424, 0x00002814, 0xf7f8d424,
+ 0x0000a88c, 0x4000051b, 0x00009583, 0x06407c1b, 0x00006291, 0x0f00da33,
+ 0x0000a016, 0x06400c19, 0x00006090, 0x89000a33, 0x00004090, 0x00002378,
+ 0x0000f008, 0x8f816a24, 0x0000f902, 0x0b000000, 0x00000004, 0x0cc01800,
+ 0x00001980, 0x0640c833, 0x00001800, 0x0640c8e5, 0x00009400, 0x0b416819,
+ 0x00006200, 0x0b016019, 0x00000200, 0x8fb96a24, 0x0000d004, 0x00396000,
+ 0x00000000, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000001,
+ 0x0000f080, 0x8f802aec, 0x00007902, 0x01000000, 0x00000004, 0x02000000,
+ 0x000080f0, 0x8f816c08, 0x00007902, 0x0b000000, 0x00000004, 0xffffffff,
+ 0x00007fa7, 0x0b01602d, 0x00006000, 0x01c1602d, 0x00000000, 0x01955007,
+ 0x0000f900, 0x002aaaaa, 0x00008280, 0x02800806, 0x00001780, 0x0000000a,
+ 0x00009582, 0x02402408, 0x00001891, 0x000023bd, 0x00007009, 0x01c0500a,
+ 0x0000e300, 0x06c00080, 0x0000c980, 0x01800807, 0x00009780, 0x01203409,
+ 0x00009001, 0xffffffff, 0x00007f86, 0x2c00d404, 0x00001680, 0x81c588b0,
+ 0x00001000, 0x91036e07, 0x0000f902, 0x1b000000, 0x00008004, 0x917c4007,
+ 0x0000a084, 0x91419407, 0x0000f902, 0x0c400000, 0x00000004, 0x91793607,
+ 0x0000a004, 0x8ffa2407, 0x0000303c, 0x8ffa3607, 0x0000303c, 0x903a4007,
+ 0x0000303c, 0x903a5207, 0x0000303c, 0x903a6407, 0x0000303c, 0x903a7607,
+ 0x0000303c, 0x907a8007, 0x0000b03c, 0x907a9207, 0x0000b03c, 0x907aa407,
+ 0x0000b03c, 0x907ab607, 0x0000b03c, 0x90bac007, 0x0000303c, 0x90bad207,
+ 0x0000303c, 0x90bae407, 0x0000303c, 0x90baf607, 0x0000303c, 0x90fb0007,
+ 0x0000303c, 0x90fb1207, 0x0000303c, 0x90fb2407, 0x0000303c, 0x90fb3607,
+ 0x0000303c, 0x913b4007, 0x0000303c, 0x913b5207, 0x0000303c, 0x06e03409,
+ 0x0000e001, 0x81c00a6d, 0x00008880, 0x23b122d9, 0x0000f500, 0x67415607,
+ 0x00007902, 0x0a400000, 0x00000004, 0x67814007, 0x0000f902, 0x09c00000,
+ 0x00008004, 0x67795607, 0x00005004, 0x00394800, 0x00000000, 0x67b94007,
+ 0x0000d004, 0x00393800, 0x00008000, 0x01801800, 0x00006180, 0x01c00806,
+ 0x0000c880, 0x01c03806, 0x00001800, 0x018038e5, 0x00001400, 0x0280300a,
+ 0x00006202, 0x0b016006, 0x00008200, 0x0b416806, 0x00001200, 0x00002389,
+ 0x0000f011, 0x8fb96c08, 0x00005004, 0x00396000, 0x00000000, 0x02000808,
+ 0x00006080, 0x01c1680c, 0x00008300, 0x00002008, 0x00006582, 0x0301680c,
+ 0x00000300, 0x0000237e, 0x0000f013, 0x00000007, 0x00001582, 0x00000004,
+ 0x0000ec8e, 0x8fb82aec, 0x0000d00c, 0x00382000, 0x00000000, 0x000023cb,
+ 0x00007010, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x713828ec,
+ 0x00005600, 0x00001248, 0x00008080, 0x100048ec, 0x0000d680, 0x00000000,
+ 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x8f80c8ec,
+ 0x00007902, 0x09400000, 0x00000004, 0x06c80020, 0x00006180, 0x86000000,
+ 0x00004981, 0x07800000, 0x00001980, 0xffffffff, 0x00007f86, 0x07c0c8e5,
+ 0x00009400, 0x0600001f, 0x0000f88b, 0x01000001, 0x00008080, 0x0900f81f,
+ 0x00001b00, 0x0900f024, 0x00006000, 0x0ac127e4, 0x00000800, 0x07c1581f,
+ 0x00001400, 0x2c00d224, 0x00009680, 0x8ac588b0, 0x00009000, 0x9138ce2b,
+ 0x00002084, 0xffffffff, 0x00007fa7, 0x0ac0c82f, 0x00001200, 0x0041872b,
+ 0x0000c509, 0xff60001f, 0x00000392, 0x2c00d424, 0x00009680, 0x868588b0,
+ 0x00001000, 0x917c401a, 0x0000a084, 0x06e12424, 0x00006101, 0x8ac00a19,
+ 0x0000c880, 0x91036e1a, 0x0000f902, 0x1b000000, 0x00008004, 0x9141941a,
+ 0x0000f902, 0x0c400000, 0x00000004, 0x0000042e, 0x00006583, 0x89003288,
+ 0x00008080, 0x9179361a, 0x0000a004, 0x8ffa241a, 0x0000303c, 0x8ffa361a,
+ 0x0000303c, 0x903a401a, 0x0000303c, 0x903a521a, 0x0000303c, 0x903a641a,
+ 0x0000303c, 0x903a761a, 0x0000303c, 0x907a801a, 0x0000b03c, 0x907a921a,
+ 0x0000b03c, 0x907aa41a, 0x0000b03c, 0x907ab61a, 0x0000b03c, 0x90bac01a,
+ 0x0000303c, 0x90bad21a, 0x0000303c, 0x90bae41a, 0x0000303c, 0x90baf61a,
+ 0x0000303c, 0x90fb001a, 0x0000303c, 0x90fb121a, 0x0000303c, 0x90fb241a,
+ 0x0000303c, 0x90fb361a, 0x0000303c, 0x913b401a, 0x0000303c, 0x913b521a,
+ 0x0000303c, 0x96c0d024, 0x0000f902, 0x06400000, 0x00008000, 0x6741562b,
+ 0x00007912, 0x0a400000, 0x00000004, 0x6781402b, 0x0000f912, 0x09c00000,
+ 0x00008004, 0x86000e18, 0x00009081, 0x0680081a, 0x00001082, 0x241122d9,
+ 0x00007500, 0x06400019, 0x00009084, 0x96f8d024, 0x00005000, 0x0038c800,
+ 0x00000000, 0x0000042e, 0x00009583, 0x6779562b, 0x00005014, 0x00394800,
+ 0x00000000, 0x67b9402b, 0x0000d014, 0x00393800, 0x00008000, 0xf680001f,
+ 0x0000f892, 0x01000001, 0x00008080, 0x07c128e5, 0x00006400, 0x0781001e,
+ 0x00000080, 0x0002001e, 0x00001582, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x00002416, 0x0000f010, 0x00000001, 0x0000f080, 0x67814010,
+ 0x0000f902, 0x09c00000, 0x00008004, 0x67415610, 0x00007902, 0x0a400000,
+ 0x00000004, 0xffffffff, 0x00007f97, 0x80000627, 0x00009583, 0x86313e27,
+ 0x00006109, 0x0c000000, 0x0000c990, 0x0bd72ae5, 0x0000e110, 0x8b800000,
+ 0x00004990, 0x0000242c, 0x0000f008, 0x242c23d1, 0x0000f300, 0x8c30200e,
+ 0x0000823d, 0x8fb822ec, 0x00002004, 0xffffffff, 0x00007fa7, 0x00000404,
+ 0x00001583, 0x8f8038ec, 0x0000f912, 0x01800000, 0x00008004, 0x0000243c,
+ 0x0000f009, 0xffffffff, 0x00007f86, 0x00072806, 0x00009502, 0x00072807,
+ 0x00001502, 0xffffffff, 0x00007f86, 0x0000243c, 0x00007010, 0x0000243c,
+ 0x00007010, 0x710000ec, 0x00005680, 0x00001000, 0x00000080, 0x00000004,
+ 0x00006c86, 0x8fb822ec, 0x0000a804, 0x00000001, 0x00007480, 0x67795610,
+ 0x00005004, 0x00394800, 0x00000000, 0x67b94010, 0x0000d004, 0x00393800,
+ 0x00008000, 0x0107f808, 0x00006280, 0x09c0580b, 0x00000900, 0x2446119b,
+ 0x0000f500, 0x09b84f0a, 0x00008210, 0x08802004, 0x00009900, 0xffc00000,
+ 0x00006180, 0x02c00040, 0x00004980, 0x02801002, 0x0000e100, 0x0000180b,
+ 0x00006106, 0x02001000, 0x0000f900, 0x0000c000, 0x00008980, 0x02400000,
+ 0x0000f900, 0x0004a590, 0x00000980, 0xc000180b, 0x00006806, 0x009816ec,
+ 0x00005f80, 0x00004800, 0x00000084, 0x8000062c, 0x0000e583, 0x01400000,
+ 0x00008980, 0x0100c800, 0x00006191, 0x0100c000, 0x0000c989, 0xc71722e4,
+ 0x00006100, 0x81680500, 0x00004900, 0x01380005, 0x00006180, 0x04202005,
+ 0x00006085, 0x023f8018, 0x0000f900, 0x00000002, 0x00008082, 0x01c0000b,
+ 0x00006084, 0x75e80005, 0x00002101, 0x700040ec, 0x00005680, 0x00382cc4,
+ 0x00000010, 0x04181004, 0x0000e987, 0x703840ec, 0x00005600, 0x00383800,
+ 0x00000000, 0x700040ec, 0x00005680, 0x003827c0, 0x00008078, 0x00c002ec,
+ 0x0000df80, 0x1243300b, 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x01000ce0, 0x00009283, 0x0000247e, 0x0000700b, 0x247a1167,
+ 0x00007100, 0xffffffff, 0x00007f86, 0x00000497, 0x0000e583, 0x0124bc97,
+ 0x00000901, 0x00002486, 0x0000f013, 0x817f1fe3, 0x00001900, 0x84c02005,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x01003c04, 0x00001281, 0x01001404,
+ 0x00001181, 0x00000c04, 0x00009583, 0x01000000, 0x000019b1, 0x0000248b,
+ 0x00007019, 0x02c04000, 0x0000f900, 0x00229916, 0x00000980, 0x248b2441,
+ 0x0000f500, 0x02b83f08, 0x00000024, 0x02202404, 0x00001900, 0x8000062c,
+ 0x0000e583, 0x024ff900, 0x00008980, 0x0680c018, 0x00006100, 0xb2e15009,
+ 0x00006000, 0x0640580b, 0x00006100, 0x06019032, 0x00004910, 0x06018030,
+ 0x00006108, 0x02c19833, 0x0000c910, 0x02c18831, 0x0000e108, 0x01001a2c,
+ 0x00004880, 0x0000042a, 0x0000e583, 0x02800000, 0x00008980, 0x09c04000,
+ 0x0000e180, 0x00183009, 0x00006110, 0x09800800, 0x00006180, 0x9268d809,
+ 0x00006012, 0x8000062c, 0x0000e583, 0x82981302, 0x00008900, 0x01400272,
+ 0x00006188, 0x01400274, 0x00004990, 0x24a212b1, 0x0000f501, 0x09002005,
+ 0x00001000, 0x0a012024, 0x00009900, 0x7838d0ec, 0x0000d600, 0x0038c800,
+ 0x00000000, 0x7838c0ec, 0x00005600, 0x00385800, 0x00000000, 0x783850ec,
+ 0x00005600, 0x00384800, 0x00008000, 0x780000ec, 0x00005680, 0x00000000,
+ 0x00008080, 0x00c002ec, 0x0000df80, 0x1245600b, 0x00009684, 0xb918e31c,
+ 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0xc1505309,
+ 0x00001202, 0x08400100, 0x00006188, 0x08020800, 0x00004988, 0x88581302,
+ 0x00009908, 0x000024c3, 0x00007010, 0x80000209, 0x00009582, 0x0e41a405,
+ 0x00006808, 0x01400c05, 0x00009489, 0x01401a09, 0x00006080, 0x71e02834,
+ 0x0000e008, 0x06406005, 0x00009002, 0x0880c819, 0x0000e100, 0x0140000d,
+ 0x00004084, 0x81400a09, 0x00006080, 0x08c02805, 0x00008900, 0x80107205,
+ 0x00001502, 0x000840ec, 0x0000d780, 0x00005000, 0x00008080, 0x82400000,
+ 0x00006188, 0x82400a09, 0x00004090, 0x00000001, 0x00007280, 0x82800a0a,
+ 0x00009080, 0x81800000, 0x0000e180, 0x0020a807, 0x00006086, 0x1bc0a014,
+ 0x0000e100, 0x8228a807, 0x0000e086, 0x0418a807, 0x0000e987, 0x02003807,
+ 0x00001900, 0x1b175000, 0x0000f900, 0x00229912, 0x00008980, 0x1b804008,
+ 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902, 0x01000000,
+ 0x00000604, 0xffffffff, 0x00007fa7, 0x01c02805, 0x00006100, 0x00002004,
+ 0x0000e586, 0x1b403807, 0x00006100, 0x0428a804, 0x0000e087, 0x24d911bc,
+ 0x0000f500, 0x8620a804, 0x0000e887, 0x1ac02004, 0x00001900, 0x00002c15,
+ 0x00001583, 0x00004c15, 0x00001583, 0x00002415, 0x00009583, 0x00002608,
+ 0x00007008, 0x000025b2, 0x0000f008, 0x0000262f, 0x00007010, 0x02e168ec,
+ 0x00002180, 0xffffffff, 0x00007fa7, 0x8000022d, 0x00009582, 0x02c050ec,
+ 0x0000a192, 0x0a400800, 0x0000e188, 0x09838955, 0x0000c988, 0x000024f3,
+ 0x00007010, 0x24ea1291, 0x0000f404, 0x09c00800, 0x00007900, 0x00004000,
+ 0x00000980, 0x0a000000, 0x00001980, 0x81402d00, 0x00001880, 0x35b82405,
+ 0x00002080, 0x02c008ec, 0x00005181, 0x00400000, 0x00008000, 0xffffffff,
+ 0x00007f97, 0x0b4027e4, 0x00001800, 0x0140182d, 0x00001784, 0x02c828ec,
+ 0x00002982, 0x82902a05, 0x00001900, 0x24f6158b, 0x00007404, 0x0db8bf16,
+ 0x00000320, 0x0dc09f00, 0x00009980, 0x00000434, 0x00001583, 0x8b7f1fe3,
+ 0x00009908, 0x84c0282d, 0x0000a088, 0x000024ff, 0x00007010, 0xffffffff,
+ 0x00007f97, 0x0b403c05, 0x00001281, 0x0140142d, 0x00001181, 0x00000c05,
+ 0x00001583, 0x00002504, 0x0000f01b, 0x02dd6800, 0x0000f900, 0x00229912,
+ 0x00008980, 0x000025cb, 0x00007400, 0x02b8bf16, 0x00008024, 0x0221a434,
+ 0x00001900, 0x35815c33, 0x00007902, 0x02400000, 0x00000000, 0x35804633,
+ 0x00007902, 0x0a800000, 0x00008000, 0x35c02c33, 0x0000f902, 0x01000000,
+ 0x00008000, 0x04800020, 0x0000e180, 0x0e00ec2d, 0x0000e002, 0x35c0f833,
+ 0x0000f902, 0x07800000, 0x00000000, 0x35c03a33, 0x00007902, 0x06c00000,
+ 0x00000000, 0x35c0c633, 0x00007902, 0x02c00000, 0x00008000, 0x36017833,
+ 0x0000f902, 0x0b800000, 0x00000000, 0x04c00000, 0x0000e180, 0x83995b2b,
+ 0x0000c900, 0xc3915a2b, 0x00006100, 0x84000a2b, 0x0000c880, 0xc3d04a09,
+ 0x0000e100, 0x83e16a09, 0x0000c100, 0xc469552a, 0x0000e100, 0x03002805,
+ 0x0000c900, 0x8b400a2b, 0x00006080, 0x03402004, 0x00004900, 0xa602020a,
+ 0x00004290, 0x4841fd2a, 0x000009b2, 0xa601020a, 0x00004290, 0x48437d2a,
+ 0x000009b2, 0xa480820a, 0x0000c990, 0x60467d2a, 0x000009b2, 0x01400000,
+ 0x00006180, 0x01c00020, 0x00004980, 0x02fd3800, 0x00007900, 0x00229912,
+ 0x00008980, 0x03172800, 0x0000f900, 0x000248f8, 0x00008980, 0xc1a9552a,
+ 0x0000e100, 0x81915a2b, 0x00004900, 0x00002553, 0x0000f400, 0x03400000,
+ 0x0000e180, 0x8150520a, 0x00004900, 0x81c07800, 0x00001980, 0x4000852a,
+ 0x00006583, 0x8140252a, 0x00008880, 0x8480252a, 0x000060b0, 0x0100852a,
+ 0x00004198, 0x0240820a, 0x00009198, 0x00002539, 0x00007030, 0x2c102209,
+ 0x00009600, 0x810588b0, 0x00001000, 0x84902a04, 0x00009000, 0xc4809000,
+ 0x0000e181, 0xc418db1b, 0x00004900, 0x84d8f408, 0x0000010e, 0xac6004e3,
+ 0x00004488, 0xb0400407, 0x00008992, 0xa902020a, 0x00004190, 0x00417de3,
+ 0x00000098, 0xa9037f1e, 0x0000c698, 0xb641020a, 0x00008992, 0x00c2fde3,
+ 0x00004599, 0x01817f1e, 0x000080b3, 0xa900820a, 0x00004490, 0x9045fde3,
+ 0x0000899a, 0x56c07f1e, 0x000078b3, 0x01000001, 0x00008080, 0x01400000,
+ 0x00006180, 0x01c00020, 0x00004980, 0x02c09000, 0x00007900, 0x00229914,
+ 0x00008980, 0x03021800, 0x00007900, 0x0015dd5e, 0x00008980, 0x81a1590a,
+ 0x00008018, 0x03400000, 0x0000e180, 0x016f1de3, 0x00004901, 0x81c08000,
+ 0x0000e180, 0x4178f71e, 0x0000c901, 0xc1c00800, 0x0000e181, 0x08001a09,
+ 0x0000e106, 0x0000263c, 0x0000f400, 0x82600500, 0x00008026, 0x02381706,
+ 0x00000028, 0x00002566, 0x0000f200, 0x84416a2d, 0x0000f900, 0x00000008,
+ 0x00000080, 0xc4f8f71e, 0x0000e101, 0x09c0f005, 0x00006084, 0x2c2f1a0a,
+ 0x00001600, 0x8b4588b0, 0x00009000, 0x00002566, 0x0000f400, 0x8153a205,
+ 0x00007900, 0x00000002, 0x00000080, 0x84516a05, 0x00001000, 0xc4e15c2b,
+ 0x0000e101, 0x0fc1582d, 0x0000e184, 0x8441fa2d, 0x00001080, 0x0000041e,
+ 0x00006583, 0x81771ee3, 0x00008900, 0x92009c05, 0x0000a080, 0x8141f800,
+ 0x00006190, 0x8143f800, 0x0000c988, 0x02400800, 0x000002f6, 0xc0000708,
+ 0x0000e583, 0x0d000000, 0x00000980, 0x82400105, 0x000080a8, 0x0170f42d,
+ 0x00001101, 0x257224af, 0x0000f310, 0x71e02834, 0x0000e800, 0x67b84810,
+ 0x00002884, 0x4b000000, 0x00006180, 0x0ab9572a, 0x0000c901, 0x67785610,
+ 0x0000d004, 0x0039a000, 0x00000000, 0x67800010, 0x00005004, 0x00400000,
+ 0x00000080, 0x257c2451, 0x00007404, 0x0188fd1f, 0x0000812c, 0x8b115a2b,
+ 0x00009900, 0x0000031b, 0x00007890, 0x00000000, 0x00000000, 0x0000002f,
+ 0x0000f890, 0x00000000, 0x00000060, 0x67c0002e, 0x0000f88b, 0x01000001,
+ 0x00008010, 0x0000002f, 0x0000f888, 0x00000000, 0x00000000, 0x6200002e,
+ 0x0000f88b, 0x01000001, 0x00008010, 0xb100031b, 0x0000c988, 0x2e4004e3,
+ 0x0000898b, 0x01400000, 0x00006180, 0x04115806, 0x0000e187, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x0018d806, 0x00006186, 0x08001a09,
+ 0x0000b106, 0x02d56800, 0x00007900, 0x0009bdf6, 0x00008980, 0x03370800,
+ 0x0000f900, 0x00264106, 0x00000980, 0x82600500, 0x00008026, 0x02b97f02,
+ 0x00008034, 0x0000263c, 0x0000f400, 0x8140e12e, 0x00008014, 0x02006706,
+ 0x0000809d, 0x0601782f, 0x0000e100, 0x0000082c, 0x0000e487, 0x02d1572e,
+ 0x0000022a, 0x259d2451, 0x00007404, 0x0188fd1f, 0x0000812c, 0x8b115a2b,
+ 0x00009900, 0x8f40062a, 0x0000f88b, 0x59000000, 0x0000128d, 0x93016cec,
+ 0x0000a081, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x0040042d,
+ 0x00004589, 0x89a0062a, 0x0000808c, 0x0000041e, 0x00009583, 0x0b40c000,
+ 0x00006189, 0x0b40c800, 0x0000c991, 0xffffffff, 0x00007f86, 0xc4a16c2d,
+ 0x00001901, 0x8f40062a, 0x0000f88b, 0x01000001, 0x00008080, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x01000000, 0x00009980, 0x263d273c,
+ 0x0000f500, 0x08001a04, 0x0000e906, 0x06402004, 0x00001900, 0x0000263d,
+ 0x0000f000, 0x01000c1c, 0x00006283, 0x81400c1c, 0x00000780, 0xf7f82c05,
+ 0x00002014, 0xffffffff, 0x00007fa7, 0xf7f82c05, 0x0000a08c, 0x25ba241f,
+ 0x00007503, 0xffffffff, 0x00007f86, 0x01282d05, 0x00009901, 0x25be158b,
+ 0x0000f404, 0x4b78b418, 0x00000318, 0x0dc09b00, 0x00006180, 0x0e00b817,
+ 0x00004900, 0x00000434, 0x00001583, 0x817f1fe3, 0x00009908, 0x84c02005,
+ 0x00002088, 0x000025c7, 0x00007010, 0xffffffff, 0x00007f97, 0x01003c04,
+ 0x00001281, 0x01001404, 0x00001181, 0x00000c04, 0x00009583, 0x000025cc,
+ 0x0000701b, 0x02e38000, 0x00007900, 0x00229916, 0x00000980, 0x02b8bf16,
+ 0x00008024, 0x0221a434, 0x00001900, 0x25cc2441, 0x0000f100, 0x3580f633,
+ 0x0000f902, 0x06c00000, 0x00000000, 0x35b8fc33, 0x00002080, 0x35c03033,
+ 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x7d00051e, 0x0000788b, 0x01000001, 0x00000000, 0x00000006,
+ 0x00007888, 0x00000000, 0x00000000, 0x76c00004, 0x0000788b, 0x01000001,
+ 0x00008010, 0xbb60031b, 0x0000c988, 0xda4004e3, 0x0000098b, 0x03400000,
+ 0x0000e180, 0x04187005, 0x0000e187, 0x0410200d, 0x0000e187, 0x0018d805,
+ 0x00003186, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x0020e00d,
+ 0x00006086, 0x08001a09, 0x0000b106, 0x02d56800, 0x00007900, 0x0009bdf6,
+ 0x00008980, 0x03370800, 0x0000f900, 0x00264106, 0x00000980, 0x82600500,
+ 0x00008026, 0x02b82f02, 0x00000020, 0x0000263c, 0x0000f400, 0x81c06000,
+ 0x00006180, 0x0140680d, 0x0000c900, 0x03403006, 0x00001900, 0x06003006,
+ 0x0000e100, 0x0000082c, 0x0000e487, 0x02e0f704, 0x00000229, 0x25f32451,
+ 0x0000f404, 0x81a0f91b, 0x00008230, 0x46f8f71e, 0x00009901, 0x0420951b,
+ 0x0000818b, 0x67405610, 0x0000f902, 0x0d000000, 0x00000004, 0x67804810,
+ 0x0000f902, 0x01000000, 0x00000004, 0x4000051e, 0x00009583, 0x01000000,
+ 0x0000e191, 0xc2800000, 0x0000c990, 0x0d3c0034, 0x00007910, 0x003ffffe,
+ 0x00008280, 0x8000061f, 0x0000e583, 0x8190520a, 0x00008900, 0x260024af,
+ 0x00007113, 0x2c07f42d, 0x00009680, 0x0b4588b0, 0x00009001, 0x67785610,
+ 0x0000d004, 0x0039a000, 0x00000000, 0x0000263e, 0x00007400, 0x67b84810,
+ 0x0000d004, 0x00382000, 0x00000000, 0x01c3642d, 0x00001181, 0x260a241f,
+ 0x0000f300, 0x01000000, 0x00009980, 0x2c07f618, 0x00001680, 0x014588b0,
+ 0x00009001, 0x2610158b, 0x00007404, 0x0db8bf16, 0x00000320, 0x01c36405,
+ 0x0000e181, 0x0dc09900, 0x00000980, 0x00000434, 0x00001583, 0x8b7f1fe3,
+ 0x00009908, 0x84c0282d, 0x0000a088, 0x00002619, 0x00007010, 0xffffffff,
+ 0x00007f97, 0x0b403c05, 0x00001281, 0x0140142d, 0x00001181, 0x00000c05,
+ 0x00001583, 0x0000261e, 0x0000701b, 0x02c13000, 0x0000f900, 0x00229918,
+ 0x00008980, 0x000025cb, 0x00007400, 0x02b8bf16, 0x00008024, 0x0221a434,
+ 0x00001900, 0x35b82c33, 0x0000a080, 0x67405610, 0x0000f902, 0x0d000000,
+ 0x00000004, 0x67b84810, 0x0000a084, 0xffffffff, 0x00007f86, 0x80000605,
+ 0x00009583, 0x8190520a, 0x00001900, 0x262624af, 0x00007111, 0x01000000,
+ 0x00009980, 0x262a2763, 0x0000f500, 0x08001a04, 0x0000e906, 0x0a402004,
+ 0x00001900, 0x67785610, 0x0000d004, 0x0039a000, 0x00000000, 0x0000263e,
+ 0x00007400, 0x67b84810, 0x00002884, 0x84800000, 0x00001981, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02da4800, 0x0000f900, 0x00229912,
+ 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x03400000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x02b8a702,
+ 0x00000020, 0x0148a815, 0x00008014, 0x81c02800, 0x00006180, 0xc158ab15,
+ 0x0000c900, 0x263d1110, 0x0000f100, 0x01c4a000, 0x00009981, 0x09c00000,
+ 0x00006180, 0x02c00040, 0x00004980, 0x02400000, 0x0000f900, 0x00048010,
+ 0x00000980, 0x00001827, 0x0000e106, 0x0000180b, 0x00003106, 0x0b400000,
+ 0x00006180, 0xc0001827, 0x00006006, 0x09009000, 0x0000f900, 0x0000c580,
+ 0x00000980, 0x09401000, 0x0000f900, 0x0001c008, 0x00008980, 0x02001000,
+ 0x0000f900, 0x0000c000, 0x00008980, 0xc000180b, 0x0000e006, 0x0e41a42d,
+ 0x00003000, 0x09800702, 0x000002b8, 0x0bc00000, 0x0000e180, 0x8b103206,
+ 0x0000c900, 0x0a38af14, 0x00000224, 0x0ab8bf16, 0x0000022c, 0x8b38111d,
+ 0x00008028, 0x82603c07, 0x00009901, 0x009816ec, 0x00005f80, 0x00904a40,
+ 0x000001c4, 0x00008804, 0x00001582, 0x0000a804, 0x00009582, 0xffffffff,
+ 0x00007f86, 0x0000265c, 0x0000f008, 0x00002662, 0x00007010, 0x01000000,
+ 0x00009980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x04107004,
+ 0x00006987, 0x700008ec, 0x00005680, 0x00382002, 0x00008000, 0xffc00000,
+ 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x0107f808, 0x00006280, 0x09c03807, 0x00000900, 0x266b119b,
+ 0x00007500, 0x09b82f06, 0x00008210, 0x08802004, 0x00009900, 0xffc00000,
+ 0x00006180, 0x08001a04, 0x00006106, 0x01800000, 0x0000f900, 0x00002580,
+ 0x00008980, 0x00102006, 0x00006984, 0x733830ec, 0x0000d600, 0x00000000,
+ 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x03400000,
+ 0x00006181, 0x00202810, 0x0000e086, 0x1bc02004, 0x0000e100, 0x82282810,
+ 0x00006086, 0x04182810, 0x00006987, 0x04408010, 0x00009900, 0x1b16a800,
+ 0x0000f900, 0x00108704, 0x00008980, 0x1b808811, 0x00001900, 0xffffffff,
+ 0x00007ff7, 0x82c07cec, 0x00007902, 0x03800000, 0x00000604, 0xffffffff,
+ 0x00007fa7, 0x0400780f, 0x00006100, 0x0000200e, 0x0000e586, 0x1b408010,
+ 0x00006100, 0x0428280e, 0x00006087, 0x268811bc, 0x0000f500, 0x8620280e,
+ 0x00006887, 0x1ac0700e, 0x00001900, 0xdcc03405, 0x0000c388, 0x00403405,
+ 0x00008098, 0xd6401405, 0x0000c388, 0x00401c05, 0x00000088, 0xa5c00c05,
+ 0x0000788b, 0x49000000, 0x00001388, 0xe2e0040d, 0x00004690, 0x3a404405,
+ 0x0000898e, 0xc0804405, 0x000078ab, 0xa1000000, 0x00001384, 0xc740040d,
+ 0x0000788b, 0xb9000000, 0x00001388, 0x04005405, 0x00001181, 0x0e803410,
+ 0x00004598, 0x0880040d, 0x00000889, 0x269a158b, 0x0000f404, 0x0db83f06,
+ 0x00000320, 0x0dc09f00, 0x00009980, 0x00000434, 0x00001583, 0x843f1fe3,
+ 0x00001908, 0x84c08010, 0x0000a088, 0x000026a3, 0x0000f010, 0xffffffff,
+ 0x00007f97, 0x04003c10, 0x00001281, 0x04001410, 0x00001181, 0x00000c10,
+ 0x00009583, 0x000026a7, 0x0000f01b, 0x000026f7, 0x00007400, 0xc2383834,
+ 0x00000014, 0x01e14000, 0x0000f900, 0x00216794, 0x00008980, 0x35b87c33,
+ 0x0000a080, 0x03800000, 0x00009980, 0x0028600e, 0x0000e886, 0x0428600e,
+ 0x0000e887, 0x84000c0f, 0x00006780, 0x8230600e, 0x0000a086, 0x03000c0f,
+ 0x00009283, 0xf7f87410, 0x0000a814, 0xf7f87410, 0x0000288c, 0xc740040d,
+ 0x0000788b, 0xb9000000, 0x00001388, 0x03800c0c, 0x0000e283, 0x84000c0c,
+ 0x00000780, 0xf7f87c10, 0x0000a014, 0xf7f87c10, 0x0000208c, 0xffffffff,
+ 0x00007fa7, 0x40207d0c, 0x00009503, 0x83e8650c, 0x00006111, 0x03e8650c,
+ 0x0000c911, 0x80287e0c, 0x00001503, 0xc000070c, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x000026bf, 0x00007010, 0x000026df, 0x00007008, 0xc000070c,
+ 0x00006583, 0x0c000000, 0x00008980, 0x0bc00000, 0x00007900, 0x003fc000,
+ 0x00008980, 0x8b800800, 0x00006180, 0xcc20640c, 0x00004901, 0x000026cf,
+ 0x00007210, 0x03b060e5, 0x00006408, 0x8bf0660c, 0x00008901, 0xffffffff,
+ 0x00007f86, 0x03a8780e, 0x00009202, 0x03800000, 0x00001981, 0x03800800,
+ 0x00001991, 0xffffffff, 0x00007f86, 0x02287c0f, 0x0000c509, 0x8100040e,
+ 0x0000808c, 0x4000050f, 0x00006583, 0x03800000, 0x00008981, 0x03800800,
+ 0x00006191, 0x8bc00000, 0x0000c981, 0xffffffff, 0x00007f86, 0xdbc87c0f,
+ 0x00004908, 0xbc40040e, 0x0000098d, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x26da23d1, 0x0000f100, 0x03800c0c,
+ 0x0000e283, 0x84000c0c, 0x00000780, 0xf7f87c10, 0x0000a014, 0xf7f87c10,
+ 0x0000208c, 0x43f0660c, 0x00009901, 0xffffffff, 0x00007f86, 0x03000c0c,
+ 0x00006283, 0x84000c0c, 0x00000780, 0xf7f87c10, 0x00002814, 0xf7f87c10,
+ 0x0000a88c, 0xc740040d, 0x0000788b, 0xb9000000, 0x00001388, 0x26eb158b,
+ 0x0000f404, 0x03400800, 0x0000e181, 0x0d803006, 0x0000c900, 0x0dc09e00,
+ 0x00006180, 0x0e003807, 0x00004900, 0x00000434, 0x00001583, 0x843f1fe3,
+ 0x00001908, 0x84c08010, 0x0000a088, 0x000026f4, 0x00007010, 0xffffffff,
+ 0x00007f97, 0x04003c10, 0x00001281, 0x04001410, 0x00001181, 0x00000c10,
+ 0x00009583, 0x000026f8, 0x0000f01b, 0xc2383834, 0x00000014, 0x01e95000,
+ 0x0000f900, 0x00216794, 0x00008980, 0x26f82666, 0x0000f100, 0x35b87633,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x0301040e, 0x00001283, 0x03000000,
+ 0x00009990, 0x0800420c, 0x00006916, 0x00002715, 0x0000f008, 0x2700273c,
+ 0x0000f300, 0x0640600c, 0x00001900, 0xc740040d, 0x0000788b, 0xb9000000,
+ 0x00001388, 0x03000000, 0x00001980, 0x27062763, 0x0000f500, 0x0800420c,
+ 0x0000e906, 0x0a40600c, 0x00001900, 0x03400800, 0x00009981, 0xc740040d,
+ 0x0000788b, 0xb9000000, 0x00001388, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02ff1800, 0x00007900, 0x00216792, 0x00008980, 0x033a9000,
+ 0x0000f900, 0x0016f7fa, 0x00008980, 0x03400000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x82600500, 0x00008026, 0x27151110, 0x0000f500, 0x02b82702,
+ 0x00008020, 0x81c02800, 0x00001980, 0x0000040d, 0x00001583, 0x0000271d,
+ 0x0000700b, 0x08001a10, 0x0000e906, 0x03800000, 0x00007900, 0x00002580,
+ 0x00008980, 0x0010800e, 0x0000e984, 0x733870ec, 0x00005600, 0x00000000,
+ 0x00008080, 0x0000040d, 0x0000e583, 0x08c00000, 0x00000980, 0x0300b000,
+ 0x0000e191, 0x0300b800, 0x00004989, 0x08009000, 0x00007900, 0x0000c000,
+ 0x00008980, 0x0000040d, 0x0000e583, 0x8820640c, 0x00008901, 0x03001000,
+ 0x0000e191, 0x03206c0d, 0x0000c909, 0x08400000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x0000040d, 0x0000e583, 0x00206021, 0x00002006, 0x03000000,
+ 0x0000e181, 0x00004023, 0x0000e106, 0x03000800, 0x0000e191, 0xc0001823,
+ 0x0000e006, 0x08b82702, 0x00000210, 0x09402805, 0x00006100, 0xd3606021,
+ 0x00006004, 0x03000c0d, 0x00006281, 0x09803006, 0x00008900, 0x09c03807,
+ 0x0000e100, 0x86206021, 0x0000e001, 0x0a004008, 0x0000e100, 0x96606021,
+ 0x0000e001, 0x0a785709, 0x00000228, 0x0ac0580b, 0x00009900, 0x009846ec,
+ 0x00005f80, 0x00005000, 0x00000084, 0x0278c4ec, 0x00002180, 0xffffffff,
+ 0x00007fa7, 0x0000f818, 0x00001582, 0x01410000, 0x0000e198, 0x01800000,
+ 0x00004998, 0x823f1fe3, 0x0000e118, 0x81771ee3, 0x0000c919, 0x00002751,
+ 0x00007030, 0x0010c806, 0x00006186, 0x08001a09, 0x0000b106, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02ce8800, 0x0000f900, 0x0010758a,
+ 0x00000980, 0x0315f800, 0x0000f900, 0x001bc4f4, 0x00008980, 0x82280118,
+ 0x00000026, 0x27511110, 0x0000f500, 0x82781400, 0x00000028, 0x81c06800,
+ 0x0000e180, 0x03403006, 0x00004900, 0x8700fa19, 0x0000e280, 0x06000818,
+ 0x00000080, 0x0278c4ec, 0x0000a980, 0x0710e7e4, 0x00006000, 0x0e80ca18,
+ 0x0000e086, 0x86013a18, 0x0000f900, 0x00000008, 0x00000080, 0x0000d818,
+ 0x00007902, 0x06800000, 0x00008000, 0x0641fc19, 0x00009281, 0x0000fc19,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x0680d01c, 0x0000e318, 0x06c0d81c,
+ 0x00008330, 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x0038d818,
+ 0x0000d000, 0x0038d000, 0x00000000, 0x8900fa29, 0x00006280, 0x84800000,
+ 0x00008981, 0x09d127e4, 0x00006000, 0x0981fc29, 0x0000c281, 0x0e814a24,
+ 0x00006886, 0x89013a24, 0x0000f900, 0x00000008, 0x00000080, 0x00014024,
+ 0x00007902, 0x09400000, 0x00008000, 0xdc80fc26, 0x0000789b, 0x01000001,
+ 0x00008080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00002773,
+ 0x0000f200, 0x09414027, 0x00001202, 0x09412827, 0x00009202, 0x09400000,
+ 0x00001981, 0x09400800, 0x00001991, 0xffffffff, 0x00007f86, 0x00000425,
+ 0x00001583, 0x02792cec, 0x00002190, 0x00000001, 0x0000f089, 0xffffffff,
+ 0x00007f86, 0x00000025, 0x00001582, 0x02000000, 0x00006188, 0x01410000,
+ 0x00004988, 0x01800000, 0x0000e188, 0x823f1fe3, 0x00004908, 0x0000278d,
+ 0x00007010, 0x00114806, 0x00006186, 0x08001a09, 0x0000b106, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02d2a000, 0x00007900, 0x0010758a,
+ 0x00000980, 0x0315f800, 0x0000f900, 0x001bc4f4, 0x00008980, 0x016802e3,
+ 0x00008026, 0x278d1110, 0x00007500, 0x82781400, 0x00000028, 0x81c06800,
+ 0x0000e180, 0x03403006, 0x00004900, 0x0000fc26, 0x00006583, 0x0a000020,
+ 0x00000980, 0x84800800, 0x0000e181, 0x00114828, 0x0000e184, 0x733940ec,
+ 0x0000d600, 0x00000000, 0x00008080, 0x00392824, 0x0000a000, 0x0a0138e5,
+ 0x00009400, 0x00393824, 0x0000a080, 0xffffffff, 0x00007f86, 0x09412828,
+ 0x00001218, 0xffffffff, 0x00007f86, 0x09c13828, 0x00001230, 0x00392824,
+ 0x00002800, 0x00393824, 0x00002880, 0x027924ec, 0x00002180, 0xffffffff,
+ 0x00007f86, 0x00000001, 0x00007483, 0x09000824, 0x00001180, 0x027924ec,
+ 0x0000a980, 0x81c00000, 0x00006180, 0xc15722e4, 0x0000c900, 0x88803207,
+ 0x0000e780, 0x8180fa07, 0x00000280, 0x83803222, 0x00006080, 0x81c1fa07,
+ 0x0000c280, 0x88813a22, 0x0000f900, 0x00000008, 0x00000080, 0x00006022,
+ 0x00007902, 0x02000000, 0x00008000, 0x8000fa07, 0x00006582, 0x019037e4,
+ 0x00008800, 0x03000000, 0x00006198, 0x018032ec, 0x00004100, 0xffffffff,
+ 0x00007f86, 0x03006006, 0x0000e230, 0x02004006, 0x00008218, 0xffffffff,
+ 0x00007f86, 0x0000000c, 0x00009582, 0x0180600c, 0x00009b10, 0x8890320e,
+ 0x00001010, 0x000027bc, 0x0000f008, 0x8009fa22, 0x00001582, 0xb9182b05,
+ 0x00001918, 0x00002809, 0x00007031, 0xffffffff, 0x00007f86, 0x00000000,
+ 0x00007083, 0x00000008, 0x00001582, 0x01804008, 0x00009b10, 0x88810206,
+ 0x00001090, 0x000027c6, 0x00007008, 0x81907222, 0x00009000, 0x8009fa06,
+ 0x00001582, 0xb9182b05, 0x00001918, 0x0000280b, 0x0000f031, 0xffffffff,
+ 0x00007f86, 0x00000000, 0x00007083, 0x88800a22, 0x00006080, 0x8382020e,
+ 0x00000080, 0x8009fa0e, 0x00009582, 0x00006022, 0x00007902, 0x02000000,
+ 0x00008000, 0xb9182b05, 0x00001918, 0x000027b2, 0x0000f030, 0xffffffff,
+ 0x00007f97, 0x00000000, 0x00007083, 0x0220020e, 0x0000f900, 0x000002e8,
+ 0x00000080, 0x09c00800, 0x00007900, 0x00004000, 0x00000980, 0x27d61291,
+ 0x0000f404, 0x0a400001, 0x000002e0, 0x09804008, 0x00001900, 0x0210020e,
+ 0x0000f900, 0x000002e8, 0x00000080, 0x88802d00, 0x00006080, 0x0a400800,
+ 0x00004980, 0x09c00800, 0x00007900, 0x00004000, 0x00000980, 0x27df1291,
+ 0x0000f404, 0x35b90422, 0x00002080, 0x09800708, 0x000002a0, 0x88802d00,
+ 0x00001880, 0x35b83c22, 0x00002080, 0x84e1100f, 0x00002000, 0xffffffff,
+ 0x00007fa7, 0xc0111321, 0x00009502, 0x01800000, 0x00009988, 0x8190720e,
+ 0x00009908, 0x00002803, 0x00007010, 0x27e92763, 0x00007300, 0x0a403006,
+ 0x00001900, 0x80000612, 0x00009583, 0x08803807, 0x00001910, 0x00002803,
+ 0x0000f009, 0x00000007, 0x00001582, 0x01803e20, 0x00009291, 0x000027f1,
+ 0x00007009, 0x00001406, 0x00001583, 0x00002803, 0x0000700b, 0x01800000,
+ 0x00006180, 0xc1511222, 0x0000c900, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x0c010422, 0x0000e004, 0x00371806, 0x00003086, 0x02fb0800,
+ 0x00007900, 0x001f26d4, 0x00008980, 0x033d3000, 0x00007900, 0x002f0a84,
+ 0x00000980, 0x82107a0f, 0x0000e100, 0x08001a09, 0x0000e106, 0x8228010e,
+ 0x00008026, 0x82781400, 0x00000028, 0x28031110, 0x00007500, 0x81c07000,
+ 0x0000e180, 0x81611422, 0x00004900, 0x03403006, 0x00001900, 0x81c00a0e,
+ 0x00009080, 0x800a0207, 0x00001582, 0xb9182b05, 0x00009908, 0x000027a3,
+ 0x0000f011, 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x0000280c,
+ 0x00007200, 0x8390320e, 0x00001000, 0x83907222, 0x00001000, 0x08800a0e,
+ 0x00006080, 0x0a401000, 0x00004980, 0x02200022, 0x0000f900, 0x000002ea,
+ 0x00008080, 0x28141291, 0x00007404, 0x09c00800, 0x00007900, 0x00004000,
+ 0x00000980, 0x09800708, 0x000002a0, 0x88802d00, 0x00001880, 0x35810c22,
+ 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0x00c00006, 0x0000f88a, 0x79400000, 0x0000938e, 0x0140e420,
+ 0x0000e283, 0x0100e420, 0x00008281, 0x08a1642c, 0x0000e109, 0x20000820,
+ 0x0000640c, 0x0f000020, 0x00006188, 0xa0016022, 0x0000608a, 0x00002836,
+ 0x00007010, 0x02c00000, 0x0000e180, 0x80016022, 0x0000e002, 0x0f400000,
+ 0x0000e180, 0x0000180b, 0x00006106, 0x02009000, 0x00007900, 0x0000f140,
+ 0x00008980, 0x02400000, 0x0000f900, 0x00010030, 0x00000980, 0x0f800000,
+ 0x0000e180, 0xc000180b, 0x0000e006, 0x0fc00000, 0x00006180, 0x1068c000,
+ 0x00004980, 0x10c00000, 0x0000e180, 0x10001002, 0x00004900, 0x10800800,
+ 0x0000e180, 0x82901202, 0x00004900, 0x08a8152c, 0x00000028, 0x0000287f,
+ 0x0000f200, 0x000810ec, 0x0000d780, 0x009053c0, 0x00000180, 0x00002404,
+ 0x00009583, 0x0000285b, 0x0000f013, 0x00045c22, 0x00009583, 0x01446000,
+ 0x00001999, 0x00002846, 0x0000f019, 0x0003bc22, 0x00009583, 0x0143c000,
+ 0x00009999, 0x00002846, 0x0000f019, 0x00031c22, 0x00009583, 0x01432000,
+ 0x00001999, 0x01400000, 0x000099b1, 0x00002846, 0x00007018, 0x00000422,
+ 0x00009583, 0x01400800, 0x00009991, 0x15c45c2c, 0x0000f89a, 0x41400000,
+ 0x00009482, 0x15c45c2c, 0x0000f89a, 0x01400001, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0003bc2c, 0x00001583, 0x0103c000, 0x00001999, 0x00002853,
+ 0x00007019, 0x00031c2c, 0x00001583, 0x01032000, 0x00009999, 0x01000000,
+ 0x000019b1, 0x00002853, 0x0000f018, 0x0000042c, 0x00001583, 0x01000800,
+ 0x00001991, 0xffffffff, 0x00007f86, 0x0fe02005, 0x0000c419, 0xf6402005,
+ 0x00000a28, 0x05403c22, 0x00004588, 0x02a03c2c, 0x00008293, 0x0f646405,
+ 0x000044a9, 0xfe403c22, 0x00000a88, 0x1fc03c2c, 0x0000f892, 0xd9400000,
+ 0x00009483, 0x00004404, 0x00009583, 0x08847000, 0x00009988, 0x0000287f,
+ 0x00007009, 0x1fc06404, 0x00007892, 0x01400001, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02c00000,
+ 0x0000e180, 0x0f000020, 0x0000c980, 0x0f400000, 0x0000e180, 0x0000180b,
+ 0x00006106, 0x02009000, 0x00007900, 0x0000f140, 0x00008980, 0x02400000,
+ 0x0000f900, 0x00010030, 0x00000980, 0x0f800000, 0x0000e180, 0xc000180b,
+ 0x0000e006, 0x0fc00000, 0x00006180, 0x1068b800, 0x00004980, 0x10c00000,
+ 0x0000e180, 0x10001002, 0x00004900, 0x00002833, 0x00007400, 0x10800800,
+ 0x0000e180, 0x82901202, 0x00004900, 0xc2981302, 0x00009900, 0x08a1642c,
+ 0x00001901, 0xa0016022, 0x00006882, 0x80016022, 0x00006802, 0xc899632c,
+ 0x00009900, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
+ 0x00007900, 0x00048090, 0x00008980, 0xc0002000, 0x00006181, 0xc0e81800,
+ 0x00004980, 0x008806ec, 0x00005f80, 0x00884a00, 0x000081c4, 0x0940e418,
+ 0x0000e283, 0x0900e418, 0x00008281, 0x06a13c27, 0x00006109, 0x20000818,
+ 0x0000e40c, 0x27000020, 0x00006188, 0xa2a1301a, 0x0000608a, 0x000028a5,
+ 0x00007010, 0x26c00000, 0x0000e180, 0x8229301a, 0x0000e002, 0x27400000,
+ 0x0000e180, 0x0000189b, 0x00006106, 0x26009000, 0x00007900, 0x0000f140,
+ 0x00008980, 0x26400000, 0x0000f900, 0x00010030, 0x00000980, 0x27800000,
+ 0x0000e180, 0xc000189b, 0x0000e006, 0x27c00000, 0x00006180, 0x2868c000,
+ 0x0000c980, 0x28c00000, 0x00006180, 0x28001002, 0x0000c900, 0x28800800,
+ 0x00006180, 0xa6901202, 0x00004900, 0x06a81526, 0x00008928, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009930ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0x00000001, 0x0000f080, 0x00002424,
+ 0x00001583, 0x000028d4, 0x00007013, 0x00045c1a, 0x00001583, 0x09446000,
+ 0x00009999, 0x000028b5, 0x0000f019, 0x0003bc1a, 0x00001583, 0x0943c000,
+ 0x00001999, 0x000028b5, 0x0000f019, 0x00031c1a, 0x00001583, 0x09432000,
+ 0x00009999, 0x09400000, 0x000019b1, 0x000028b5, 0x00007018, 0x0000041a,
+ 0x00001583, 0x09400800, 0x00001991, 0x31845c27, 0x0000f89a, 0xb9400000,
+ 0x00009485, 0x31845c27, 0x0000f89a, 0x01400001, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0003bc27, 0x00009583, 0x0903c000, 0x00009999, 0x000028c2,
+ 0x0000f019, 0x00031c27, 0x00009583, 0x09032000, 0x00001999, 0x09000000,
+ 0x000099b1, 0x000028c2, 0x00007018, 0x00000427, 0x00009583, 0x09000800,
+ 0x00009991, 0xffffffff, 0x00007f86, 0x00212425, 0x00001503, 0x00000001,
+ 0x0000f09b, 0x33e12425, 0x0000782a, 0x41400000, 0x00001486, 0x33c46425,
+ 0x0000f8aa, 0x01400001, 0x00000080, 0xffffffff, 0x00007f86, 0x00003c1a,
+ 0x00009583, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00000001,
+ 0x00007088, 0x80003a27, 0x00001582, 0x00000001, 0x00007093, 0x06a13c27,
+ 0x00009901, 0xa2a1301a, 0x00006882, 0x00000001, 0x00007480, 0x8229301a,
+ 0x00006802, 0xc6993326, 0x00001900, 0x00004424, 0x00001583, 0x06847000,
+ 0x00001988, 0x00000001, 0x0000f089, 0x00006424, 0x00009583, 0x00000001,
+ 0x00007093, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x26c00000,
+ 0x0000e180, 0x20002818, 0x0000e404, 0x27000020, 0x0000e180, 0x0000189b,
+ 0x00006106, 0x26009000, 0x00007900, 0x0000f140, 0x00008980, 0x26400000,
+ 0x0000f900, 0x00010030, 0x00000980, 0x27400000, 0x0000e180, 0xc000189b,
+ 0x0000e006, 0x27800000, 0x000089fc, 0x2868b800, 0x0000e180, 0x28c00000,
+ 0x00004980, 0x0000289f, 0x00007400, 0x28000f02, 0x00008a88, 0x26a01502,
+ 0x00008928, 0x0140e41c, 0x0000e283, 0x81800000, 0x00000980, 0x81800000,
+ 0x00006181, 0x0100e41c, 0x00004281, 0x07800000, 0x0000e188, 0x2000081c,
+ 0x0000640c, 0x00002910, 0x00007010, 0x1ec00000, 0x00006180, 0x07a03c07,
+ 0x00004901, 0x27000020, 0x0000e180, 0x0000187b, 0x0000e106, 0x1e009000,
+ 0x0000f900, 0x0000f140, 0x00008980, 0x1e400000, 0x00007900, 0x00010030,
+ 0x00000980, 0x27400000, 0x0000e180, 0xc000187b, 0x00006006, 0x27800000,
+ 0x000089fc, 0x2868c000, 0x0000e180, 0x28c00000, 0x00004980, 0x28000f02,
+ 0x00008a88, 0x1ea01502, 0x00008728, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x0088f0ec, 0x0000d780, 0x009051c0,
+ 0x00000188, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x00000001, 0x0000f080, 0x00002404, 0x00009583, 0x0000293d,
+ 0x00007013, 0x00045c1e, 0x00009583, 0x01446000, 0x00001999, 0x00002920,
+ 0x00007019, 0x0003bc1e, 0x00009583, 0x0143c000, 0x00009999, 0x00002920,
+ 0x00007019, 0x00031c1e, 0x00009583, 0x01432000, 0x00001999, 0x01400000,
+ 0x000099b1, 0x00002920, 0x0000f018, 0x0000041e, 0x00009583, 0x01400800,
+ 0x00009991, 0x4c445c07, 0x0000789a, 0x11400000, 0x00001489, 0x4c445c07,
+ 0x0000789a, 0x01400001, 0x00000080, 0xffffffff, 0x00007f86, 0x0003bc07,
+ 0x00001583, 0x0103c000, 0x00001999, 0x0000292d, 0x0000f019, 0x00031c07,
+ 0x00001583, 0x01032000, 0x00009999, 0x01000000, 0x000019b1, 0x0000292d,
+ 0x00007018, 0x00000407, 0x00001583, 0x01000800, 0x00001991, 0xffffffff,
+ 0x00007f86, 0x00202405, 0x00001503, 0x00000001, 0x0000f09b, 0x4ea02405,
+ 0x0000f82a, 0x99400000, 0x00001489, 0x4e846405, 0x0000f8aa, 0x01400001,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x00003c1e, 0x00001583, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x00000001, 0x00007088, 0x80003a07,
+ 0x00009582, 0x00000001, 0x00007093, 0x00000001, 0x00007480, 0x07800000,
+ 0x00001980, 0x07a03c07, 0x00001901, 0x00004404, 0x00009583, 0x07847000,
+ 0x00009988, 0x00000001, 0x0000f089, 0x00006404, 0x00001583, 0x00000001,
+ 0x00007093, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x1ec00000,
+ 0x00006180, 0x20002818, 0x0000e404, 0x27000020, 0x0000e180, 0x0000187b,
+ 0x0000e106, 0x1e009000, 0x0000f900, 0x0000f140, 0x00008980, 0x1e400000,
+ 0x00007900, 0x00010030, 0x00000980, 0x27400000, 0x0000e180, 0xc000187b,
+ 0x00006006, 0x27800000, 0x000089fc, 0x2868b800, 0x0000e180, 0x28c00000,
+ 0x00004980, 0x00002907, 0x00007400, 0x28000f02, 0x00008a88, 0x1ea01502,
+ 0x00008728, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0100e41c,
+ 0x00006283, 0x0a00e41c, 0x00000281, 0x07800000, 0x0000e188, 0x2000081c,
+ 0x0000640c, 0x07a03406, 0x0000e109, 0x1f000020, 0x0000c988, 0x00002983,
+ 0x00007010, 0x1ec00000, 0x00006180, 0x8228301e, 0x0000e002, 0x1f400000,
+ 0x00006180, 0x0000187b, 0x0000e106, 0x1e009000, 0x0000f900, 0x0000f140,
+ 0x00008980, 0x1e400000, 0x00007900, 0x00010030, 0x00000980, 0x1f800000,
+ 0x00006180, 0xc000187b, 0x00006006, 0x1fc00000, 0x0000e180, 0x2068c000,
+ 0x00004980, 0x20c00000, 0x0000e180, 0x20001002, 0x00004900, 0x20800800,
+ 0x0000e180, 0x9e901202, 0x0000c900, 0x07a81506, 0x00000728, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0088f0ec,
+ 0x0000d780, 0x009057c0, 0x00008180, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x00000001, 0x0000f080, 0x00002428,
+ 0x00001583, 0x000029b2, 0x0000f013, 0x00045c1e, 0x00009583, 0x0a046000,
+ 0x00001999, 0x00002993, 0x0000f019, 0x0003bc1e, 0x00009583, 0x0a03c000,
+ 0x00009999, 0x00002993, 0x0000f019, 0x00031c1e, 0x00009583, 0x0a032000,
+ 0x00001999, 0x0a000000, 0x000099b1, 0x00002993, 0x00007018, 0x0000041e,
+ 0x00009583, 0x0a000800, 0x00009991, 0x69045c06, 0x0000f89a, 0xa9400000,
+ 0x0000148c, 0x69045c06, 0x0000f89a, 0x01400001, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0003bc06, 0x00009583, 0x0103c000, 0x00001999, 0x000029a0,
+ 0x0000f019, 0x00031c06, 0x00009583, 0x01032000, 0x00009999, 0x01000000,
+ 0x000019b1, 0x000029a0, 0x00007018, 0x00000406, 0x00009583, 0x01000800,
+ 0x00001991, 0xffffffff, 0x00007f86, 0x00202428, 0x00001503, 0x00000001,
+ 0x0000f09b, 0x6b602428, 0x0000782a, 0x31400000, 0x0000148d, 0x6b446428,
+ 0x000078aa, 0x01400001, 0x00000080, 0xffffffff, 0x00007f86, 0x00003c1e,
+ 0x00001583, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00000001,
+ 0x00007088, 0x00003c06, 0x00001583, 0x00000001, 0x00007093, 0x07800000,
+ 0x00001980, 0x07a03406, 0x00001901, 0x00000001, 0x00007480, 0x8228301e,
+ 0x00006802, 0xc7983306, 0x00009900, 0x00004428, 0x00001583, 0x07847000,
+ 0x00009988, 0x00000001, 0x0000f089, 0x00006428, 0x00009583, 0x00000001,
+ 0x00007093, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x1ec00000,
+ 0x00006180, 0x20002818, 0x0000e404, 0x1f000020, 0x00006180, 0x0000187b,
+ 0x0000e106, 0x1e009000, 0x0000f900, 0x0000f140, 0x00008980, 0x1e400000,
+ 0x00007900, 0x00010030, 0x00000980, 0x1f400000, 0x00006180, 0xc000187b,
+ 0x00006006, 0x1f800000, 0x000087fc, 0x2068b800, 0x00006180, 0x20c00000,
+ 0x0000c980, 0x0000297a, 0x00007400, 0x20000f02, 0x00008888, 0x1ea01502,
+ 0x00008728, 0x0a00e41c, 0x00006281, 0x01000000, 0x00008981, 0x00006428,
+ 0x00006583, 0xc1000000, 0x00000980, 0x1f3ff07c, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x23000000, 0x000088f4, 0x00000001, 0x0000f290, 0x23800000,
+ 0x000088fc, 0x0a001d1e, 0x00001281, 0x00000c28, 0x00001583, 0x00000001,
+ 0x0000708b, 0x0a00141c, 0x00001283, 0x000029e3, 0x0000700b, 0x00010820,
+ 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280, 0x01000800,
+ 0x000061f1, 0xc110ea1d, 0x0000c970, 0xc750ea1d, 0x00001970, 0x0a00147c,
+ 0x00001283, 0x00000001, 0x0000708b, 0x0800141c, 0x00009283, 0x000029ec,
+ 0x00007013, 0x801bfa1d, 0x00006502, 0x87400000, 0x00000980, 0x87400800,
+ 0x00009990, 0xffffffff, 0x00007f86, 0x1060e81c, 0x0000e800, 0x0a00141c,
+ 0x0000e283, 0x875bfb7f, 0x00008900, 0x08040080, 0x00001900, 0x00000001,
+ 0x0000f089, 0x00010880, 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe,
+ 0x00008280, 0x00000001, 0x00007480, 0x01000800, 0x000061f1, 0xc11bfb7f,
+ 0x0000c970, 0xc75bfb7f, 0x00001970, 0x7fc00400, 0x000087cc, 0x003fd800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x00001873, 0x00006106, 0x00000823,
+ 0x00003401, 0x1c001000, 0x0000f900, 0x00008000, 0x00000980, 0x1c580800,
+ 0x00007900, 0x00004080, 0x00008980, 0x0008e0ec, 0x0000d780, 0x00804040,
+ 0x000000c8, 0xc0001873, 0x0000e006, 0x601ff826, 0x00003502, 0x00400000,
+ 0x00007900, 0x00008150, 0x00008980, 0x1ca81402, 0x00008708, 0x21000004,
+ 0x000008d4, 0x21800000, 0x000088dc, 0x40e02403, 0x000000c3, 0x008806ec,
+ 0x00005f80, 0x008849c0, 0x000081c4, 0x42400e23, 0x0000448f, 0xc840272e,
+ 0x00000a8d, 0x5c804729, 0x00004295, 0x44411c3b, 0x00008a0d, 0x12412734,
+ 0x0000c510, 0x09212f35, 0x00000d12, 0xc1008729, 0x00009283, 0x2a1429f7,
+ 0x00007113, 0xc1000f2e, 0x00001283, 0x15000800, 0x0000e190, 0x16800000,
+ 0x0000c990, 0x16c00000, 0x00006190, 0x15404128, 0x00004890, 0x00002a7c,
+ 0x00007008, 0x81400b2b, 0x00006180, 0x17c80005, 0x00000980, 0x8143fa05,
+ 0x0000e280, 0x1581782f, 0x00000900, 0x01402a05, 0x00006080, 0x15c1a034,
+ 0x00004900, 0x0100f805, 0x0000e784, 0x1601602c, 0x00008900, 0x0140f005,
+ 0x0000e002, 0x1641682d, 0x00000900, 0x0100f804, 0x00006004, 0x04100001,
+ 0x00000980, 0x17810000, 0x0000f900, 0x00207fc0, 0x00008980, 0x000820ec,
+ 0x0000d780, 0x00d87d40, 0x000001c0, 0x04402400, 0x00006180, 0x04800000,
+ 0x00004980, 0x04c00000, 0x0000e180, 0xd7d81302, 0x0000c900, 0x17782f04,
+ 0x00000530, 0xc100472e, 0x0000e283, 0x01800000, 0x00000981, 0x00002a79,
+ 0x0000700b, 0x1d000000, 0x000007dc, 0xc1000f2e, 0x0000e283, 0x1d800000,
+ 0x00000980, 0x1d400000, 0x00007900, 0x00001000, 0x00000980, 0x1e000000,
+ 0x00006180, 0xe0000874, 0x00006413, 0x1e400000, 0x000087ec, 0x1f000000,
+ 0x000087f4, 0x1f800000, 0x000087fc, 0x5e894929, 0x0000e100, 0xddd95b2b,
+ 0x00004910, 0xc1002729, 0x00009283, 0x81002623, 0x00009283, 0x80000a2a,
+ 0x00009582, 0x00002a71, 0x0000f010, 0x00002a77, 0x0000f008, 0x00002a75,
+ 0x0000f030, 0x81d1522a, 0x0000e304, 0x0151522a, 0x0000c900, 0x01c00c07,
+ 0x00006081, 0x01000a07, 0x0000c180, 0x01402005, 0x00001704, 0x01400c05,
+ 0x00001281, 0x01e03c05, 0x00001001, 0xdea03c07, 0x00009901, 0xc000072e,
+ 0x00006583, 0x08c17404, 0x00002000, 0x82202074, 0x0000e002, 0xe0000875,
+ 0x00003442, 0x01497128, 0x0000e040, 0x1b403000, 0x000089c0, 0x00002ac9,
+ 0x00007048, 0x00000c06, 0x0000e583, 0x1cc00000, 0x00000980, 0x01400805,
+ 0x0000e180, 0x00001873, 0x0000a106, 0x20ca0005, 0x0000e180, 0xc0001873,
+ 0x0000e006, 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980, 0x1c001000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x1c701800, 0x0000f900, 0x00044080,
+ 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0010d8ec,
+ 0x00005780, 0x00007801, 0x00000080, 0x1b800000, 0x000086fc, 0x1ca81402,
+ 0x00008708, 0x20000000, 0x000088c4, 0x00002ac1, 0x0000f408, 0x01002800,
+ 0x00006181, 0x1e004005, 0x00004880, 0xe0d81302, 0x00001900, 0x003fd800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x00400008, 0x00006180, 0xc0c00000,
+ 0x00004980, 0x40600e04, 0x00000083, 0x008806ec, 0x00005f80, 0x00004800,
+ 0x00000084, 0x0100fc2a, 0x00001281, 0x00002c04, 0x00001583, 0x01f91f23,
+ 0x00001909, 0x00002a4b, 0x00007009, 0x00002a4c, 0x00007200, 0xdea1542a,
+ 0x00009901, 0x00002a4c, 0x00007200, 0xde80f800, 0x00009981, 0x01003800,
+ 0x00009981, 0xb0400c06, 0x0000f88a, 0x51400000, 0x00001583, 0xc100272e,
+ 0x00001283, 0x0d810020, 0x00006110, 0x0dc10821, 0x0000c910, 0x13000000,
+ 0x00006190, 0x13800000, 0x0000c990, 0x00002aea, 0x00007008, 0x001010ec,
+ 0x0000d780, 0x009054c0, 0x000080c0, 0x001068ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0x17c80005, 0x0000e180, 0x0901744c, 0x00006000, 0x03009000,
+ 0x0000f900, 0x00012040, 0x00000980, 0x03401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x17800000, 0x00007900, 0x00207fc0, 0x00008980, 0x000820ec,
+ 0x0000d780, 0x00d87dc0, 0x000000c0, 0x13c00000, 0x0000e180, 0x13401002,
+ 0x0000c900, 0x02000824, 0x00006180, 0x02400000, 0x00004980, 0x02800000,
+ 0x00006180, 0x02d300a0, 0x00004980, 0x03c00004, 0x0000e180, 0x8390e21c,
+ 0x0000c900, 0xc398e31c, 0x00006100, 0x04004001, 0x0000c980, 0x04400002,
+ 0x000081c8, 0x04c00000, 0x000085f0, 0x17400000, 0x0000e180, 0x88c00a23,
+ 0x0000c080, 0x0939af34, 0x00000214, 0x17c00d02, 0x0000009a, 0x9e40472e,
+ 0x0000788e, 0x91400000, 0x00009581, 0x001010ec, 0x0000d780, 0x009054c0,
+ 0x000080c0, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x001068ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0x03009000, 0x0000f900, 0x00012040,
+ 0x00000980, 0x03401000, 0x0000f900, 0x0001c008, 0x00008980, 0x00400000,
+ 0x00007900, 0x000081d0, 0x00000980, 0x001838ec, 0x00005780, 0x00004800,
+ 0x00008080, 0xcec03800, 0x0000e181, 0x88d1da3b, 0x0000c900, 0x0939af34,
+ 0x00000214, 0x0db90f20, 0x0000031c, 0x13000001, 0x000004f8, 0x13c00000,
+ 0x0000e180, 0x13401002, 0x0000c900, 0x02000804, 0x0000e180, 0x02400000,
+ 0x00004980, 0x02800000, 0x00006180, 0x02d300a0, 0x00004980, 0x03c00004,
+ 0x0000e180, 0x8390e21c, 0x0000c900, 0x03a01d1c, 0x0000808d, 0xc0002000,
+ 0x00001981, 0x008806ec, 0x00005f80, 0x00004800, 0x00000084, 0x003fd800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00008010,
+ 0x00008980, 0x40e02403, 0x000000c3, 0x80602404, 0x00001901, 0x008806ec,
+ 0x00005f80, 0x008849c0, 0x000081c4, 0x1cc00000, 0x0000e180, 0x60000875,
+ 0x00006402, 0x20ca0005, 0x0000e180, 0x00001873, 0x00006106, 0x60000874,
+ 0x00006403, 0xa0002875, 0x00003406, 0x1b000000, 0x0000f900, 0x0002020e,
+ 0x00000980, 0x1c001000, 0x0000f900, 0x00010000, 0x00000980, 0x1c701800,
+ 0x0000f900, 0x00044080, 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0,
+ 0x00008980, 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080, 0x1f01a034,
+ 0x00006100, 0xc0001873, 0x0000e006, 0x5ef9ae36, 0x0000071c, 0x1b400006,
+ 0x000006f8, 0x1bc00000, 0x00006180, 0x9c901202, 0x00004900, 0x1c800502,
+ 0x00008880, 0x20402800, 0x000000d2, 0xe0d81302, 0x00001900, 0xb0400c06,
+ 0x0000f88a, 0x51400000, 0x00001583, 0x003fd800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x00002a6f, 0x0000f400, 0x004000e8, 0x0000e180, 0xc0c00000,
+ 0x00004980, 0xc0000800, 0x00001981, 0xc102072e, 0x00001283, 0x13000000,
+ 0x00006190, 0x13400000, 0x0000c990, 0x13800000, 0x0000e190, 0x13c00000,
+ 0x00004990, 0x00002a2f, 0x00007008, 0x03c00000, 0x00006180, 0x1321a434,
+ 0x0000c901, 0x03009000, 0x0000f900, 0x0000a100, 0x00000980, 0x03400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x001010ec, 0x0000d780, 0x009054c0,
+ 0x000080c0, 0x02000804, 0x0000e180, 0xc000180f, 0x00006006, 0x02400000,
+ 0x000000e8, 0x02d30020, 0x0000e180, 0x03801002, 0x00004900, 0x01800000,
+ 0x00009981, 0x9e40472e, 0x0000788e, 0x91400000, 0x00009581, 0x00004404,
+ 0x00006583, 0x06400000, 0x00008981, 0x06000000, 0x0000e181, 0x06400800,
+ 0x00004991, 0x40000518, 0x00006583, 0x00000823, 0x0000a401, 0x00000419,
+ 0x0000e583, 0x06000800, 0x00000991, 0x0141fc04, 0x00009291, 0x00002b0d,
+ 0x00007011, 0x00000418, 0x00009583, 0x0141f800, 0x00006189, 0x0141fd18,
+ 0x0000c291, 0x00000419, 0x00001583, 0x01400800, 0x0000e191, 0x00202826,
+ 0x00006082, 0x00002b14, 0x0000f011, 0x00000418, 0x00009583, 0x01400000,
+ 0x00006189, 0x01401000, 0x0000c991, 0x00000c19, 0x00009583, 0x01400000,
+ 0x00006180, 0x61a02826, 0x0000e002, 0x700000ec, 0x0000d680, 0x00000040,
+ 0x00000080, 0x82383826, 0x00006004, 0x0419d005, 0x00003187, 0x00002b39,
+ 0x0000f410, 0x05000000, 0x0000e188, 0xb2e82026, 0x0000e080, 0x700008ec,
+ 0x00005680, 0x00382802, 0x00000000, 0x05c00040, 0x0000e180, 0x02000804,
+ 0x0000c980, 0x001020ec, 0x0000d780, 0x00005000, 0x00008080, 0x03009000,
+ 0x0000f900, 0x00012040, 0x00000980, 0x03401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x05400000, 0x0000e180, 0x04303808, 0x00006001, 0x05800000,
+ 0x0000e180, 0x04810020, 0x0000c900, 0x04fa2721, 0x00008210, 0x097a2745,
+ 0x00008100, 0x04400f45, 0x000084b0, 0x13800000, 0x000084fc, 0x13400702,
+ 0x000080a4, 0x02800000, 0x00006180, 0x02d300a0, 0x00004980, 0x03c00004,
+ 0x0000e180, 0x8390e21c, 0x0000c900, 0x00002b4a, 0x0000f400, 0x0398251c,
+ 0x0000011d, 0x88c00a23, 0x00006080, 0x85c00a23, 0x00008080, 0x00000c18,
+ 0x00001583, 0x13000000, 0x00006188, 0x13400000, 0x0000c988, 0x13800000,
+ 0x0000e188, 0x13c00000, 0x00004988, 0x00002b4c, 0x0000f010, 0x03c00000,
+ 0x00006180, 0x1328c518, 0x0000c901, 0x03009000, 0x0000f900, 0x0000a100,
+ 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x02000804,
+ 0x0000e180, 0xc000180f, 0x00006006, 0x02400000, 0x000000e8, 0x03801002,
+ 0x00006100, 0x02d30020, 0x0000c980, 0x001010ec, 0x0000d780, 0x009054c0,
+ 0x000080c0, 0x1cc00000, 0x0000e180, 0x1c801002, 0x0000c900, 0x21002000,
+ 0x0000e180, 0x00001873, 0x00006106, 0x1c001000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x1c580800, 0x00007900, 0x00004080, 0x00008980, 0x21400020,
+ 0x00006180, 0xc0001873, 0x0000e006, 0x21c00000, 0x000088d8, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0088e0ec,
+ 0x00005780, 0x00804040, 0x000000c8, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0xc0003707, 0x00001583, 0x1d080000,
+ 0x00006190, 0x1d800000, 0x00004990, 0x1d400000, 0x0000f910, 0x00001010,
+ 0x00008980, 0x00002b84, 0x00007008, 0x1e800000, 0x00007900, 0x00180000,
+ 0x00008980, 0x0149f138, 0x00006000, 0x1cc00000, 0x00000980, 0x20ca0005,
+ 0x0000e180, 0x00001873, 0x00006106, 0x5e89c939, 0x0000e100, 0x01401005,
+ 0x00004180, 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980, 0x1c001000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x1c701800, 0x0000f900, 0x00044080,
+ 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0010d8ec,
+ 0x00005780, 0x00007801, 0x00000080, 0xc0001873, 0x0000e006, 0x8638387a,
+ 0x00003081, 0x1dc00000, 0x000087e4, 0x1ec00000, 0x000087f0, 0x1f400000,
+ 0x000007f8, 0x1fc03000, 0x000006f4, 0x1b800000, 0x000086fc, 0x1ca81402,
+ 0x00008708, 0x20000000, 0x000088c4, 0x00002b85, 0x0000f400, 0x01001800,
+ 0x00006181, 0xe0d81302, 0x00004900, 0x1e004005, 0x00001880, 0x01002800,
+ 0x00001981, 0x05c00000, 0x000081e8, 0x00003817, 0x00006106, 0x08003a1a,
+ 0x0000b106, 0x05006000, 0x0000f900, 0x00008000, 0x00000980, 0x05580800,
+ 0x0000f900, 0x00004080, 0x00008980, 0x06400000, 0x00007900, 0x00004042,
+ 0x00000980, 0x05803006, 0x00006100, 0xc0003817, 0x0000e006, 0x06c00000,
+ 0x000001e0, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009028ec, 0x0000d780, 0x00004800, 0x00008080, 0x40e00403,
+ 0x00000ffd, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
+ 0x00007900, 0x00008010, 0x00008980, 0x40602604, 0x00000083, 0x008806ec,
+ 0x00005f80, 0x008849c0, 0x000081c4, 0x81000e23, 0x00006283, 0x0800302d,
+ 0x0000a206, 0x0a3ff82d, 0x00007900, 0x000000fe, 0x00008280, 0x0b404028,
+ 0x00001880, 0x00002f24, 0x0000f010, 0xc100473e, 0x00009283, 0x01003800,
+ 0x00006189, 0x01002800, 0x0000c991, 0xd4a00f3e, 0x00004297, 0x5640173e,
+ 0x00008a97, 0xdac0383c, 0x0000f897, 0xc1400000, 0x00001787, 0x0179c02d,
+ 0x00001302, 0x08003a28, 0x00006916, 0x01514228, 0x00001910, 0x00002e89,
+ 0x0000f008, 0x6140d228, 0x00007902, 0x06700000, 0x00008101, 0xc1004739,
+ 0x00001283, 0x6160da28, 0x0000a101, 0x86191322, 0x0000e108, 0x86120240,
+ 0x0000c910, 0x0000301a, 0x00009502, 0x00398c19, 0x00009503, 0xffffffff,
+ 0x00007f86, 0x00002d49, 0x0000f010, 0x00002d1c, 0x0000f010, 0x61502a28,
+ 0x0000a102, 0xffffffff, 0x00007f86, 0x00295c19, 0x00009503, 0x75796cec,
+ 0x0000a190, 0x01400c05, 0x00009081, 0x00002beb, 0x0000f208, 0x61582a28,
+ 0x0000a901, 0x06802000, 0x0000f900, 0x00140000, 0x00008980, 0x0a00082d,
+ 0x00006080, 0x08003a2d, 0x0000a106, 0x757944ec, 0x0000a980, 0x0411681a,
+ 0x00006901, 0x8038d2ec, 0x0000d600, 0x00000001, 0x00000080, 0x800142ec,
+ 0x0000f902, 0x0a400000, 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000,
+ 0x00000600, 0x800162ec, 0x00007902, 0x0b400000, 0x00000600, 0x800172ec,
+ 0x0000f902, 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86, 0x00295c19,
+ 0x00009503, 0x00002beb, 0x0000700b, 0x01400002, 0x00009980, 0xc1680500,
+ 0x00009900, 0x770000ec, 0x00005680, 0x00382800, 0x00008000, 0x00c002ec,
+ 0x0000df80, 0x129ed00b, 0x00001684, 0x08003a05, 0x0000e906, 0x06c02000,
+ 0x00007900, 0x00140000, 0x00008980, 0x0410281b, 0x0000e901, 0x8038daec,
+ 0x00005600, 0x00000001, 0x00000080, 0x800142ec, 0x0000f902, 0x0a400000,
+ 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000, 0x00000600, 0x800162ec,
+ 0x00007902, 0x0b400000, 0x00000600, 0x800172ec, 0x0000f902, 0x0bc00000,
+ 0x00008600, 0xffffffff, 0x00007f86, 0x00295c19, 0x00009503, 0x00002bd4,
+ 0x00007013, 0x0141e03f, 0x0000e002, 0x0ec1841a, 0x0000a004, 0x0a00003d,
+ 0x0000e084, 0x0c015c19, 0x0000a000, 0xa0800419, 0x00004491, 0x08401c1a,
+ 0x00008bb2, 0x0000341a, 0x00007890, 0x00000000, 0x00000000, 0x46840530,
+ 0x0000788f, 0x01400001, 0x00008060, 0x41198218, 0x00007813, 0x01400001,
+ 0x00008000, 0xa0814b38, 0x0000c313, 0x00420531, 0x00008090, 0x0001e835,
+ 0x0000781a, 0x00000000, 0x00000000, 0x0001e835, 0x00007810, 0x00000000,
+ 0x00000000, 0x0001e034, 0x0000f830, 0x00000000, 0x00008020, 0x41010531,
+ 0x0000f897, 0x01400001, 0x00008060, 0x41014033, 0x0000782b, 0x01400001,
+ 0x00008000, 0x00014033, 0x0000f810, 0x00000000, 0x00000000, 0x41002832,
+ 0x00007823, 0x01400001, 0x00008060, 0xfe401739, 0x0000c28f, 0x22404530,
+ 0x00008b88, 0x04401530, 0x00007897, 0x11400000, 0x00009686, 0x80210531,
+ 0x00004697, 0x08401739, 0x00000b8a, 0xfc804530, 0x0000f88f, 0x89400000,
+ 0x00001680, 0x30801530, 0x0000f88f, 0x01400001, 0x00000080, 0x0ab9ef3c,
+ 0x00000014, 0x41020531, 0x00006283, 0x17800000, 0x00000980, 0x17c00000,
+ 0x000006c0, 0x18400000, 0x000006c8, 0x00002f62, 0x0000f210, 0x18c00000,
+ 0x00006180, 0x1701b036, 0x00004908, 0x41010531, 0x00006283, 0x00018862,
+ 0x00002106, 0x0a01a034, 0x00006108, 0x0401a835, 0x0000c908, 0x0a000000,
+ 0x0000e190, 0x04000000, 0x00004990, 0x0441703c, 0x0000e002, 0x000ff85e,
+ 0x0000a581, 0x0141783d, 0x0000e004, 0x0148005f, 0x00002584, 0x0a814011,
+ 0x0000e102, 0x00018862, 0x0000a081, 0x01408005, 0x0000e104, 0x0c018c28,
+ 0x00002080, 0x0b406428, 0x00006080, 0xe000185e, 0x00002403, 0x0b416fe4,
+ 0x0000e000, 0x18602c05, 0x0000c901, 0x0400082d, 0x00006180, 0x82c18062,
+ 0x0000a001, 0x04015010, 0x00006200, 0x04018061, 0x0000a081, 0x0400802d,
+ 0x0000e100, 0x1741b837, 0x00008900, 0x0000803f, 0x00006502, 0xd7d81302,
+ 0x00000900, 0x84000a2d, 0x00006198, 0x8b51fa3f, 0x00008930, 0x1801502a,
+ 0x0000e100, 0x84115210, 0x00004218, 0x8b50822d, 0x00001118, 0x0c418c10,
+ 0x0000e800, 0x0011683f, 0x00006502, 0x04009410, 0x00008880, 0x18c03010,
+ 0x0000e300, 0x97916a2d, 0x00000900, 0x00002cd6, 0x00007019, 0x8a000001,
+ 0x000001dc, 0x040c0001, 0x00006180, 0x00003817, 0x00006106, 0x04400800,
+ 0x000081c8, 0x04c00000, 0x000001e8, 0x01400c28, 0x00006081, 0xc0003817,
+ 0x0000e006, 0x05006000, 0x0000f900, 0x00008000, 0x00000980, 0x05580800,
+ 0x0000f900, 0x00004080, 0x00008980, 0x06400000, 0x00007900, 0x00004042,
+ 0x00000980, 0x3241f010, 0x00006000, 0x08003a1a, 0x0000b106, 0x05800706,
+ 0x000081a0, 0x06c00000, 0x00006180, 0xc451fa3f, 0x0000c900, 0x84a9d13b,
+ 0x0000010c, 0x04400c05, 0x00009081, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780, 0x00004800,
+ 0x00008080, 0x00000c28, 0x00001583, 0xffffffff, 0x00007f86, 0x000820ec,
+ 0x00005788, 0x00d87dc0, 0x00000180, 0x000820ec, 0x00005790, 0x00d87dc0,
+ 0x00000280, 0xc100273e, 0x00009283, 0x00002f5f, 0x0000f00b, 0xc100173e,
+ 0x00006283, 0x13000000, 0x00000980, 0x13800000, 0x00006180, 0x0901f44c,
+ 0x0000e000, 0x9394628c, 0x0000e110, 0x8000084c, 0x0000e696, 0x11810020,
+ 0x00006100, 0x08003b4c, 0x0000e116, 0xc100473e, 0x00006283, 0x11c10821,
+ 0x00000900, 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0, 0x03009000,
+ 0x0000f900, 0x00012040, 0x00000980, 0x03401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x001088ec, 0x00005780, 0x00005000, 0x00008080, 0x13c00000,
+ 0x0000e180, 0x13401002, 0x0000c900, 0x02000824, 0x00006180, 0x02400000,
+ 0x00004980, 0x02800000, 0x00006180, 0x02d300a0, 0x00004980, 0x03c00004,
+ 0x0000e180, 0x8390e21c, 0x0000c900, 0xc398e31c, 0x00006100, 0x88c00a23,
+ 0x0000c080, 0x00002cb5, 0x0000f408, 0x093a2f44, 0x00000214, 0x01c00800,
+ 0x00009981, 0x1d000000, 0x000007dc, 0xc1000f3e, 0x00006283, 0x1d800000,
+ 0x00000980, 0x1d400000, 0x00007900, 0x00001000, 0x00000980, 0x1e000000,
+ 0x00006180, 0xe0000874, 0x00006413, 0x1e400000, 0x000087ec, 0x1f000000,
+ 0x000087f4, 0x1f800000, 0x000087fc, 0x5e89c939, 0x0000e100, 0xddd9db3b,
+ 0x00004910, 0xc1002739, 0x00001283, 0x81002623, 0x00009283, 0x80000a3a,
+ 0x00001582, 0x00002cd0, 0x00007010, 0x00002d57, 0x0000f008, 0x00002cd4,
+ 0x00007030, 0x8b51d23a, 0x00006304, 0x0191d23a, 0x0000c900, 0x0a000c2d,
+ 0x00006081, 0x01400a2d, 0x0000c180, 0x01802806, 0x00009704, 0x01800c06,
+ 0x00001281, 0x0b614406, 0x00001001, 0xdea16c2d, 0x00009901, 0xc000073e,
+ 0x0000e583, 0x08c1f428, 0x00002000, 0x82214074, 0x00006002, 0xe0000875,
+ 0x00003442, 0x0a09f138, 0x0000e040, 0x1b403000, 0x000089c0, 0x00002d59,
+ 0x0000f048, 0x1cc00000, 0x0000e180, 0x0b400828, 0x00004180, 0x20ca0005,
+ 0x0000e180, 0x00001873, 0x00006106, 0x1b000000, 0x0000f900, 0x0002020e,
+ 0x00000980, 0x1c001000, 0x0000f900, 0x00010000, 0x00000980, 0x1c701800,
+ 0x0000f900, 0x00044080, 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0,
+ 0x00008980, 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080, 0x1b800000,
+ 0x0000e180, 0xc0001873, 0x0000e006, 0x1bc00000, 0x00006180, 0x9c901202,
+ 0x00004900, 0x1c800502, 0x00008880, 0x20400000, 0x00006180, 0x1e00402d,
+ 0x00004880, 0xe0d81302, 0x00001900, 0x00000407, 0x00001583, 0x00002e80,
+ 0x0000f00b, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
+ 0x00007900, 0x00008010, 0x00008980, 0x40e02403, 0x000000c3, 0x80602404,
+ 0x00001901, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xffffffff,
+ 0x00007f86, 0x008806ec, 0x00005f80, 0x008849c0, 0x000081c4, 0x8b771ee3,
+ 0x00001900, 0x6041422d, 0x0000a180, 0xffffffff, 0x00007fa7, 0x00020428,
+ 0x00001583, 0x0139c738, 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000,
+ 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00003000, 0x0000f018, 0x00002d13,
+ 0x0000f400, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x0335b000,
+ 0x00007900, 0x001bc8d4, 0x00000980, 0x0b40fc3a, 0x00001281, 0x00002c2d,
+ 0x00009583, 0x0b791f23, 0x00009909, 0x00002c97, 0x0000f009, 0x00002c98,
+ 0x00007200, 0xdea1d43a, 0x00009901, 0x0a91682a, 0x00006002, 0x1982f05e,
+ 0x00000900, 0x1a430861, 0x0000e100, 0x01400005, 0x0000c084, 0x193aef5c,
+ 0x00000614, 0x19fb175f, 0x00000628, 0x1ac31863, 0x00006100, 0xd000005f,
+ 0x00006400, 0x0a001000, 0x00006181, 0x1a01502a, 0x00004900, 0x1a602c05,
+ 0x00006101, 0x99916a3f, 0x0000c100, 0x05c00000, 0x00006180, 0x040c0001,
+ 0x00004980, 0x04400000, 0x00006180, 0x00003817, 0x00006106, 0x04800001,
+ 0x000001cc, 0x01400c28, 0x00006081, 0x06800000, 0x0000c980, 0x05006000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x05580800, 0x0000f900, 0x00004080,
+ 0x00008980, 0x06400000, 0x00007900, 0x00004042, 0x00000980, 0x3241f010,
+ 0x00006000, 0xc0003817, 0x0000b006, 0x05803006, 0x00006100, 0x08003a1a,
+ 0x0000e106, 0x06000000, 0x000001ec, 0x8449d93f, 0x0000810a, 0x04400c05,
+ 0x00006081, 0xc4d9d33a, 0x00008900, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec, 0x0000d780, 0x00004800,
+ 0x00008080, 0x00000c28, 0x00001583, 0xffffffff, 0x00007f86, 0x000820ec,
+ 0x00005788, 0x00d87dc0, 0x00000180, 0x000820ec, 0x00005790, 0x00d87dc0,
+ 0x00000280, 0xd7c0273e, 0x0000788f, 0xf9400000, 0x00001682, 0xc1001739,
+ 0x00001283, 0x8a371ee3, 0x00009910, 0x60416a28, 0x00002190, 0x0000300c,
+ 0x00007008, 0xffffffff, 0x00007f97, 0x0001042d, 0x00001583, 0x0139c738,
+ 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03400000,
+ 0x0000c9b0, 0x00003008, 0x00007018, 0x02d2d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03194000, 0x0000f900, 0x00213306, 0x00008980, 0x08001a09,
+ 0x0000e106, 0x08003008, 0x0000b206, 0xc1c00800, 0x0000e181, 0xc2700600,
+ 0x00004901, 0x02a00702, 0x00000026, 0x2d1a1110, 0x0000f300, 0x01402004,
+ 0x00009900, 0x41198202, 0x0000f813, 0xb9400000, 0x0000158f, 0x75782cec,
+ 0x0000a100, 0x06402000, 0x0000f900, 0x00180000, 0x00008980, 0x04114019,
+ 0x00006901, 0xffffffff, 0x00007f86, 0x01400805, 0x00009080, 0x75782cec,
+ 0x00002900, 0x8038caec, 0x0000d600, 0x00000000, 0x00000280, 0x800182ec,
+ 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000,
+ 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec,
+ 0x0000f902, 0x0dc00000, 0x00008600, 0xc020df31, 0x00001503, 0x00002e87,
+ 0x0000700b, 0x06400002, 0x00006180, 0x08003a05, 0x00006106, 0xc6680500,
+ 0x00001900, 0x770000ec, 0x00005680, 0x0038c800, 0x00000000, 0x00c002ec,
+ 0x0000df80, 0x12c9b00b, 0x00009684, 0x08003a1b, 0x0000e906, 0x06802000,
+ 0x0000f900, 0x00180000, 0x00008980, 0x0410d81a, 0x00006901, 0x8038d2ec,
+ 0x0000d600, 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000,
+ 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec,
+ 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000,
+ 0x00008600, 0x61602a05, 0x0000a101, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0xa1e02f31, 0x0000f80b, 0x79400000, 0x00001689, 0x00196005,
+ 0x00006502, 0x06400c2b, 0x00008081, 0x61783228, 0x0000d100, 0x00118800,
+ 0x00008001, 0x6158ca28, 0x00002901, 0x00002beb, 0x00007008, 0x8159632c,
+ 0x00001900, 0x6178d205, 0x00002180, 0xffffffff, 0x00007fa7, 0x0000d006,
+ 0x00009502, 0x068728e5, 0x00009908, 0x00002beb, 0x00007400, 0xffffffff,
+ 0x00007f86, 0x6178d205, 0x0000a980, 0x00002c98, 0x00007200, 0xde80f800,
+ 0x00009981, 0x1cc00000, 0x0000e180, 0x60000875, 0x00006402, 0x20ca0005,
+ 0x0000e180, 0x00001873, 0x00006106, 0x60000874, 0x00006403, 0xa0002875,
+ 0x00003406, 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980, 0x1c001000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x1c701800, 0x0000f900, 0x00044080,
+ 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0010d8ec,
+ 0x00005780, 0x00007801, 0x00000080, 0x1f022044, 0x00006100, 0xc0001873,
+ 0x0000e006, 0x5efa2e46, 0x0000071c, 0x1b400006, 0x000006f8, 0x1bc00000,
+ 0x00006180, 0x9c901202, 0x00004900, 0x1c800502, 0x00008880, 0x20c00502,
+ 0x00008884, 0xa0000407, 0x0000788b, 0xb9400000, 0x00001685, 0x00196019,
+ 0x0000e502, 0x01400c2b, 0x00000081, 0x6178322d, 0x0000d100, 0x00118800,
+ 0x00008001, 0x61582a2d, 0x0000a901, 0x00002d80, 0x0000f008, 0x8159632c,
+ 0x00001900, 0x6178ca05, 0x00002180, 0xffffffff, 0x00007fa7, 0x0000c806,
+ 0x00009502, 0x064728e5, 0x00009908, 0xffffffff, 0x00007f86, 0x6178ca05,
+ 0x0000a980, 0x0141e03f, 0x0000e002, 0x0ec18419, 0x0000a004, 0x0b40003d,
+ 0x0000e084, 0x0c015c18, 0x00002000, 0xf4600418, 0x0000c491, 0x46401c19,
+ 0x00008bb7, 0x00003419, 0x00007890, 0x00000000, 0x00000000, 0x68840530,
+ 0x0000788f, 0x01400001, 0x00008060, 0xe8d98322, 0x0000f813, 0x01400001,
+ 0x00008000, 0xf4614b38, 0x0000c313, 0x00420531, 0x00008090, 0x0001e835,
+ 0x0000781a, 0x00000000, 0x00000000, 0x0001e835, 0x00007810, 0x00000000,
+ 0x00000000, 0x0001e034, 0x0000f830, 0x00000000, 0x00008020, 0xe8c10531,
+ 0x0000f897, 0x01400001, 0x00008060, 0xe8c16833, 0x0000782b, 0x01400001,
+ 0x00008000, 0x00016833, 0x0000f810, 0x00000000, 0x00000000, 0xe8c02832,
+ 0x00007823, 0x01400001, 0x00008060, 0xe8c08530, 0x0000788f, 0x21400000,
+ 0x0000168d, 0x65810531, 0x00007897, 0x19400000, 0x0000178d, 0xe8c08530,
+ 0x0000788f, 0x21400000, 0x0000168d, 0xe8d98202, 0x0000f813, 0x61400000,
+ 0x0000168c, 0x41020531, 0x00006283, 0x01400000, 0x00008980, 0x700000ec,
+ 0x0000d680, 0x00000040, 0x00000080, 0x0a81e03c, 0x00006100, 0x0419d005,
+ 0x00006187, 0x700008ec, 0x00005680, 0x00382802, 0x00000000, 0x17800000,
+ 0x000085fc, 0x00002f99, 0x00007410, 0x18000000, 0x000086c4, 0x18800000,
+ 0x000086cc, 0x41010531, 0x00006283, 0x0c018c28, 0x00002080, 0x0b41a034,
+ 0x00006108, 0x0241a835, 0x00004908, 0x0b400000, 0x0000e190, 0x02400000,
+ 0x0000c990, 0x0201703c, 0x00006002, 0x00018862, 0x00002106, 0x0141783d,
+ 0x0000e004, 0x000ff85e, 0x0000a581, 0x0a816808, 0x00006102, 0x0148005f,
+ 0x00002584, 0x0b406428, 0x00006080, 0x01404805, 0x00000104, 0x0b416fe4,
+ 0x0000e000, 0x00018862, 0x00006081, 0x0200082d, 0x00006180, 0xe000105e,
+ 0x0000a403, 0x02015008, 0x00006200, 0x18602c05, 0x00000901, 0x0200402d,
+ 0x0000e100, 0x82c18062, 0x0000a001, 0x00003808, 0x00006582, 0x04018061,
+ 0x0000a081, 0x82000a2d, 0x000061b0, 0x8b404000, 0x00008998, 0x82115208,
+ 0x0000e230, 0x1701b036, 0x00000900, 0x8b50422d, 0x0000e130, 0x1741b837,
+ 0x00008900, 0x1801502a, 0x0000e100, 0x0c418c08, 0x00006000, 0x80003a2d,
+ 0x0000e582, 0x02009408, 0x00008880, 0x17e16d02, 0x00008538, 0x18c03008,
+ 0x00001300, 0x00002dd7, 0x0000f018, 0x0a91682a, 0x00006002, 0xd000005f,
+ 0x0000a400, 0xc1000f39, 0x0000e283, 0x04800000, 0x00008980, 0x0b400800,
+ 0x0000e189, 0x0b401000, 0x0000c991, 0x04c00000, 0x000085d8, 0x15c00000,
+ 0x0000e180, 0xe3a16812, 0x00006002, 0xc1000f39, 0x0000e283, 0x8b402d00,
+ 0x00008880, 0x05006000, 0x0000f900, 0x00004000, 0x00000980, 0x04140000,
+ 0x00007900, 0x0000440e, 0x00000980, 0x001020ec, 0x0000d780, 0x00d87d40,
+ 0x000080c0, 0x05400020, 0x000081d8, 0x05c00000, 0x00006180, 0x04402900,
+ 0x0000c980, 0x15023046, 0x0000e108, 0x15423847, 0x00004908, 0x15822044,
+ 0x00006108, 0x15c22845, 0x0000c908, 0x15022044, 0x0000e110, 0x15422845,
+ 0x00004910, 0x84dad22d, 0x00009080, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x0090b8ec, 0x0000d780, 0x00007800,
+ 0x00008080, 0x02c30020, 0x00006180, 0x0d001c28, 0x00006006, 0x03c00000,
+ 0x00006180, 0x8221400b, 0x0000e004, 0x03001000, 0x00007900, 0x00004000,
+ 0x00000980, 0x001010ec, 0x0000d780, 0x00005000, 0x00008080, 0x02000904,
+ 0x00006180, 0xc000180f, 0x00006006, 0x02400000, 0x000000e8, 0x03400020,
+ 0x00006180, 0x83901202, 0x0000c900, 0xc3981302, 0x00001900, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x043bf810, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x000820ec, 0x0000d780, 0x00d87d40, 0x000080c0, 0x8b402d00,
+ 0x00006080, 0xc0000810, 0x00006606, 0x04401800, 0x0000e181, 0xe0000812,
+ 0x00006402, 0x0008b8ec, 0x00005780, 0x00007800, 0x00008080, 0xc4404000,
+ 0x0000e180, 0x1700f01e, 0x0000c900, 0x1740071f, 0x00008590, 0x15400000,
+ 0x000005d8, 0x15c00000, 0x0000e180, 0xc4280500, 0x00004900, 0x84db122d,
+ 0x00001080, 0x00d802ec, 0x0000df80, 0x12d0c004, 0x000089c4, 0x05c00000,
+ 0x000081e8, 0x00003817, 0x00006106, 0x08003a1a, 0x0000b106, 0x05006000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x05580800, 0x0000f900, 0x00004080,
+ 0x00008980, 0x06400000, 0x00007900, 0x00004042, 0x00000980, 0x05803006,
+ 0x00006100, 0xc0003817, 0x0000e006, 0x06c00000, 0x000001e0, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec,
+ 0x0000d780, 0x00004800, 0x00008080, 0xc1000f39, 0x0000e283, 0x15000000,
+ 0x00000980, 0x0b401000, 0x0000e189, 0x0b401800, 0x00004991, 0x8a000b3b,
+ 0x0000e180, 0x15c00000, 0x00000980, 0x1500002d, 0x000005a8, 0x8b402d00,
+ 0x00006080, 0x16c00000, 0x0000c980, 0x3582cc2d, 0x00007902, 0x16000000,
+ 0x00008000, 0x8b43fa28, 0x0000e280, 0x15404138, 0x00008880, 0x01402a2d,
+ 0x00006080, 0x1581f83f, 0x0000c900, 0x0a00f805, 0x00006784, 0x04100001,
+ 0x00000980, 0x0a80f005, 0x00006002, 0x04402400, 0x00008980, 0x0140f828,
+ 0x00006004, 0x04800000, 0x00008980, 0x01800ce0, 0x0000e283, 0x04c00000,
+ 0x00000980, 0x00002f88, 0x0000f013, 0x17c80005, 0x0000e180, 0x1d000000,
+ 0x00004980, 0xc1000f3e, 0x00006283, 0x1dc00000, 0x00008980, 0x17810000,
+ 0x0000f900, 0x00207fc0, 0x00008980, 0x000820ec, 0x0000d780, 0x00d87d40,
+ 0x000001c0, 0x1d400000, 0x00007900, 0x00001000, 0x00000980, 0x1701502a,
+ 0x0000e100, 0xe0000874, 0x00006413, 0x17400705, 0x00000798, 0x1e000000,
+ 0x000087e4, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000,
+ 0x0000e180, 0x5e89c939, 0x0000c900, 0xd7d81302, 0x0000e100, 0xddd9db3b,
+ 0x00004910, 0xc1002739, 0x00001283, 0x81002623, 0x00009283, 0x80000a3a,
+ 0x00001582, 0x000030e1, 0x00007010, 0x000030df, 0x0000f008, 0x000030e5,
+ 0x00007030, 0x8191d23a, 0x00006304, 0x0151d23a, 0x0000c900, 0x0b400a06,
+ 0x00009180, 0x0b400c06, 0x00006081, 0x0a016805, 0x0000c704, 0x01400c28,
+ 0x00001281, 0x0a216c05, 0x00001001, 0xdea14428, 0x00009901, 0xc000073e,
+ 0x0000e583, 0x08c1f42d, 0x00002000, 0x82216874, 0x00006002, 0xe0000875,
+ 0x00003442, 0x0b49f138, 0x0000e040, 0x1b403000, 0x000089c0, 0x0000301a,
+ 0x00007048, 0x1cc00000, 0x0000e180, 0x0a00082d, 0x00004180, 0x20ca0005,
+ 0x0000e180, 0x00001873, 0x00006106, 0x1b000000, 0x0000f900, 0x0002020e,
+ 0x00000980, 0x1c001000, 0x0000f900, 0x00010000, 0x00000980, 0x1c701800,
+ 0x0000f900, 0x00044080, 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0,
+ 0x00008980, 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080, 0x1b800000,
+ 0x0000e180, 0xc0001873, 0x0000e006, 0x1bc00000, 0x00006180, 0x9c901202,
+ 0x00004900, 0x1c800502, 0x00008880, 0x20400000, 0x00006180, 0x1e004028,
+ 0x00004880, 0xe0d81302, 0x00001900, 0x003fd800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x00400008, 0x00006180, 0xc0c00000, 0x00004980, 0x40600e04,
+ 0x00000083, 0x008806ec, 0x00005f80, 0x00004800, 0x00000084, 0x00002bba,
+ 0x0000f200, 0x6160ca28, 0x00002101, 0x81001623, 0x00009283, 0x17800000,
+ 0x0000f910, 0x00307fc0, 0x00000980, 0x17c80005, 0x00006190, 0x18000000,
+ 0x0000c990, 0x000030c7, 0x0000f008, 0x0b57283f, 0x0000e200, 0x18400000,
+ 0x00000980, 0x0001683f, 0x0000e502, 0x18c00000, 0x00008980, 0x18800000,
+ 0x00007900, 0x00020000, 0x00000980, 0x1739ef3c, 0x00000534, 0x00002c3e,
+ 0x00007230, 0x17a8143f, 0x0000853c, 0x0a91f83c, 0x0000e002, 0x1982f05e,
+ 0x00000900, 0x1a400000, 0x00006180, 0x0140003d, 0x00004084, 0x1a800000,
+ 0x0000f900, 0x00020000, 0x00000980, 0x1939ef3c, 0x00000614, 0x19c0075f,
+ 0x000006ac, 0x0a001000, 0x00006181, 0xd000005f, 0x00006400, 0x00002ce2,
+ 0x0000f400, 0x1a00072a, 0x00008699, 0x1a602c05, 0x00001901, 0x08003a28,
+ 0x0000e906, 0x61402a28, 0x0000f902, 0x04b00000, 0x00000101, 0x61608a28,
+ 0x0000a101, 0x04114228, 0x00001900, 0xffffffff, 0x00007f86, 0x00003005,
+ 0x00001502, 0x00398c12, 0x00001503, 0xffffffff, 0x00007f86, 0x0000307e,
+ 0x00007010, 0x00003051, 0x0000f010, 0xffffffff, 0x00007f86, 0x61508a28,
+ 0x0000a102, 0x00295c12, 0x0000e503, 0x01400c12, 0x00000081, 0x61702a28,
+ 0x0000a901, 0xffffffff, 0x00007f86, 0x00215c11, 0x00009503, 0xffffffff,
+ 0x00007f86, 0x00003033, 0x00007010, 0x00003033, 0x00007010, 0x05c00000,
+ 0x000081e8, 0x00003817, 0x00006106, 0x08003a1a, 0x0000b106, 0x05006000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x05580800, 0x0000f900, 0x00004080,
+ 0x00008980, 0x06400000, 0x00007900, 0x00004040, 0x00008980, 0x05803006,
+ 0x00006100, 0xc0003817, 0x0000e006, 0x06c00000, 0x000001e0, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec,
+ 0x0000d780, 0x00004800, 0x00008080, 0x01400000, 0x00006180, 0x08003a2d,
+ 0x00006106, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x22c00000,
+ 0x00006180, 0x0419d005, 0x00006187, 0x700008ec, 0x00005680, 0x00382802,
+ 0x00000000, 0x6160822d, 0x0000a100, 0x23480000, 0x0000e180, 0x0000388b,
+ 0x00006106, 0x23800000, 0x00006180, 0x23400f31, 0x00004081, 0xe3501202,
+ 0x0000e100, 0xc000388b, 0x0000e006, 0x81400a10, 0x0000e080, 0x08001a8e,
+ 0x00002106, 0x2200e000, 0x00007900, 0x0000a340, 0x00000980, 0x22401000,
+ 0x0000f900, 0x0001c000, 0x00000980, 0x22803006, 0x00006100, 0x9740188d,
+ 0x00006006, 0x61602a2d, 0x0000a900, 0x23c00000, 0x0000e180, 0xe3191322,
+ 0x00004900, 0xa3108210, 0x00009900, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009110ec, 0x0000d780, 0x00006000,
+ 0x00008080, 0x17ca0005, 0x00006180, 0x04004001, 0x0000c980, 0x17800000,
+ 0x00007900, 0x00207fc0, 0x00008980, 0x000820ec, 0x0000d780, 0x00d87dc0,
+ 0x000000c0, 0x04400002, 0x000081c8, 0x04c00000, 0x000085f0, 0x17400000,
+ 0x0000e180, 0x01001404, 0x00004181, 0xd7d81302, 0x00009900, 0xd7c0273e,
+ 0x0000788f, 0xf9400000, 0x00001682, 0x08003a2d, 0x0000e906, 0x6140c22d,
+ 0x0000f902, 0x06b00000, 0x00008101, 0x61602a2d, 0x0000a101, 0x06516a2d,
+ 0x00001900, 0xffffffff, 0x00007f86, 0x00003018, 0x00001502, 0x00398c1a,
+ 0x00009503, 0xffffffff, 0x00007f86, 0x00002d73, 0x0000f010, 0x00002fb5,
+ 0x00007010, 0x61502a2d, 0x0000a102, 0x00295c1a, 0x00009503, 0xffffffff,
+ 0x00007f97, 0x01400c05, 0x00009081, 0x61582a2d, 0x0000a901, 0x75796cec,
+ 0x0000a190, 0xffffffff, 0x00007f86, 0x00002d80, 0x0000740b, 0x0b40082d,
+ 0x00001090, 0x75796cec, 0x00002990, 0x08003a28, 0x0000e906, 0x06002000,
+ 0x00007900, 0x00140000, 0x00008980, 0x04114018, 0x0000e901, 0x8038c2ec,
+ 0x00005600, 0x00000001, 0x00000080, 0x800142ec, 0x0000f902, 0x0a400000,
+ 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000, 0x00000600, 0x800162ec,
+ 0x00007902, 0x0b400000, 0x00000600, 0x800172ec, 0x0000f902, 0x0bc00000,
+ 0x00008600, 0xffffffff, 0x00007f86, 0x00295c1a, 0x00009503, 0x01400002,
+ 0x00001990, 0xc1680500, 0x00001910, 0x00002d80, 0x0000f008, 0x770000ec,
+ 0x00005680, 0x00382800, 0x00008000, 0x00c002ec, 0x0000df80, 0x12d8680b,
+ 0x00009684, 0x01000000, 0x00009980, 0x700000ec, 0x0000d680, 0x00000040,
+ 0x00000080, 0x0419d004, 0x00006987, 0x700008ec, 0x00005680, 0x00382002,
+ 0x00008000, 0xfe00273e, 0x0000438f, 0x00404739, 0x00008090, 0x00811c4b,
+ 0x00004710, 0x0c412744, 0x00000012, 0xfc012845, 0x0000f80b, 0x01400001,
+ 0x00000080, 0x03009000, 0x0000f900, 0x00012040, 0x00000980, 0x001010ec,
+ 0x0000d780, 0x009054c0, 0x000080c0, 0x03401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x001088ec, 0x00005780, 0x00005000, 0x00008080, 0xd2c03800,
+ 0x00006181, 0x88d25a4b, 0x0000c900, 0x093a2f44, 0x00000214, 0x11b90f20,
+ 0x0000041c, 0x13000001, 0x000004f8, 0x13c00000, 0x0000e180, 0x13401002,
+ 0x0000c900, 0x02000804, 0x0000e180, 0x02400000, 0x00004980, 0x02800000,
+ 0x00006180, 0x02d300a0, 0x00004980, 0x03c00004, 0x0000e180, 0x8390e21c,
+ 0x0000c900, 0x0a000800, 0x00006181, 0xc398e31c, 0x00004900, 0xc100173e,
+ 0x00006283, 0x05c00000, 0x00008980, 0x01003800, 0x00006191, 0x01001000,
+ 0x00004989, 0x05400000, 0x0000e180, 0x00003817, 0x00006106, 0x05006000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x05803006, 0x00006100, 0xc0003817,
+ 0x0000e006, 0x85602404, 0x00001901, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008828ec, 0x0000d780, 0x00004800,
+ 0x00008080, 0x00000428, 0x00009583, 0x003fd800, 0x00007908, 0x003ffffe,
+ 0x00008280, 0xc0000800, 0x0000e189, 0x004000e8, 0x00004988, 0x00002f79,
+ 0x00007010, 0x00002e85, 0x0000f200, 0xc0c00000, 0x00001980, 0x01c00000,
+ 0x00001981, 0xa3c0473e, 0x0000c594, 0xf2000407, 0x0000d58b, 0x000ff85e,
+ 0x00006581, 0x0148005f, 0x0000b584, 0xe000185e, 0x0000e403, 0xb0000862,
+ 0x0000b401, 0x0b79e43f, 0x00000530, 0x1768173d, 0x0000053c, 0x9791fa3f,
+ 0x00009900, 0x0f91f83f, 0x00007833, 0xb1400000, 0x00009686, 0x8a371ee3,
+ 0x00001900, 0x60416a28, 0x0000a180, 0xffffffff, 0x00007fa7, 0x0002042d,
+ 0x00001583, 0x0117283c, 0x00006230, 0x01c00020, 0x000089b0, 0x81c01000,
+ 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00002f84, 0x00007018, 0x00002d13,
+ 0x0000f400, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03017000,
+ 0x0000f900, 0x001200d8, 0x00008980, 0x003fd800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x00400000, 0x00007900, 0x000081d0, 0x00000980, 0xc0201c04,
+ 0x000000cd, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x001838ec,
+ 0x00005780, 0x00004800, 0x00008080, 0x008806ec, 0x00005f80, 0x00004800,
+ 0x00000084, 0xc1c04401, 0x000000d2, 0x86000408, 0x000000df, 0x41007000,
+ 0x00001981, 0x2f882b00, 0x0000f100, 0x2f891167, 0x0000f100, 0xffffffff,
+ 0x00007f86, 0x00000497, 0x00001583, 0x003fd800, 0x00007910, 0x003ffffe,
+ 0x00008280, 0xc0002000, 0x0000e191, 0xc0c01800, 0x0000c990, 0x00002e41,
+ 0x00007008, 0xc100473e, 0x00006283, 0x00000823, 0x0000a401, 0x0a002800,
+ 0x00006189, 0x0a001800, 0x00004991, 0x00400000, 0x00007900, 0x00008010,
+ 0x00008980, 0x80614428, 0x00001901, 0x008806ec, 0x00005f80, 0x008849c0,
+ 0x000081c4, 0x000ff85e, 0x00006581, 0x0148005f, 0x0000b584, 0xe000105e,
+ 0x00006403, 0xb0000862, 0x0000b401, 0x1739ef3c, 0x00000534, 0x8b404000,
+ 0x00006180, 0xd7d81302, 0x0000c900, 0x97804000, 0x00009980, 0x75c03a2d,
+ 0x0000789b, 0xa9400000, 0x0000168e, 0x8b771ee3, 0x00001900, 0x6041422d,
+ 0x0000a180, 0xffffffff, 0x00007fa7, 0x00020428, 0x00001583, 0x0139c738,
+ 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03400000,
+ 0x0000c9b0, 0x00002fb1, 0x00007018, 0x00002d13, 0x0000f400, 0x02d2d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03299000, 0x00007900, 0x00268352,
+ 0x00000980, 0xc1c04402, 0x000000d2, 0x00002f87, 0x0000f400, 0x86000408,
+ 0x000000df, 0x41007800, 0x00009981, 0x7578c4ec, 0x0000a100, 0x06402000,
+ 0x0000f900, 0x00180000, 0x00008980, 0x04116819, 0x00006901, 0xffffffff,
+ 0x00007f86, 0x06000818, 0x00009080, 0x7578c4ec, 0x00002900, 0x8038caec,
+ 0x0000d600, 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000,
+ 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec,
+ 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000,
+ 0x00008600, 0xc0202f31, 0x00001503, 0x00002fe2, 0x0000f00b, 0x06000002,
+ 0x0000e180, 0x08003a05, 0x00006106, 0xc6280500, 0x00009900, 0x770000ec,
+ 0x00005680, 0x0038c000, 0x00008000, 0x00c002ec, 0x0000df80, 0x12de780b,
+ 0x00001684, 0x08003a1a, 0x00006906, 0x06402000, 0x0000f900, 0x00180000,
+ 0x00008980, 0x0410d019, 0x0000e901, 0x8038caec, 0x0000d600, 0x00000000,
+ 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec,
+ 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000,
+ 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600, 0x61602a05,
+ 0x0000a101, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xf2202f31,
+ 0x0000f813, 0x01400001, 0x00000080, 0xffffffff, 0x00007f86, 0x6160d22d,
+ 0x00002101, 0x61502a2d, 0x0000a102, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x00295c1a, 0x00009503, 0x01400c05, 0x00009081, 0x61582a2d,
+ 0x0000a901, 0x75796cec, 0x0000a190, 0xffffffff, 0x00007f86, 0x00002f0d,
+ 0x0000f413, 0x0b40082d, 0x00001090, 0x75796cec, 0x00002990, 0x00002d80,
+ 0x00007000, 0x00002f47, 0x0000f200, 0x0a000000, 0x00009981, 0x8a371ee3,
+ 0x00001900, 0x60416a28, 0x0000a180, 0xffffffff, 0x00007fa7, 0x0001042d,
+ 0x00001583, 0x0139c738, 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000,
+ 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00003004, 0x00007018, 0x00002d13,
+ 0x0000f400, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03162800,
+ 0x00007900, 0x000d4014, 0x00008980, 0xc1c00c03, 0x000080d2, 0x00002f87,
+ 0x0000f400, 0x86000400, 0x000080df, 0x41006800, 0x00001981, 0xc1c04402,
+ 0x000000d2, 0x00002f87, 0x0000f400, 0x86000408, 0x000000df, 0x41006000,
+ 0x00009981, 0xc1c04402, 0x000000d2, 0x00002f87, 0x0000f400, 0x86000408,
+ 0x000000df, 0x41005000, 0x00009981, 0x8a371ee3, 0x00001900, 0x60416a28,
+ 0x0000a180, 0xffffffff, 0x00007fa7, 0x0002042d, 0x00001583, 0x0139c738,
+ 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03400000,
+ 0x0000c9b0, 0x000030e7, 0x0000f018, 0x00002d13, 0x0000f400, 0x02d2d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x0319c800, 0x0000f900, 0x001e47ce,
+ 0x00000980, 0x1cc00000, 0x0000e180, 0x60000875, 0x00006402, 0x20ca0005,
+ 0x0000e180, 0x00001873, 0x00006106, 0x60000874, 0x00006403, 0xa0002875,
+ 0x00003406, 0x1b000000, 0x0000f900, 0x0002020e, 0x00000980, 0x1c001000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x1c701800, 0x0000f900, 0x00044080,
+ 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0010d8ec,
+ 0x00005780, 0x00007801, 0x00000080, 0x1f022044, 0x00006100, 0xc0001873,
+ 0x0000e006, 0x5efa2e46, 0x0000071c, 0x1b400006, 0x000006f8, 0x1bc00000,
+ 0x00006180, 0x9c901202, 0x00004900, 0x00002e80, 0x0000f400, 0x1c800502,
+ 0x00008880, 0x20c00502, 0x00008884, 0x757942ec, 0x00002180, 0xffffffff,
+ 0x00007fa7, 0x0b400828, 0x00009080, 0x75796aec, 0x0000a980, 0x08003a28,
+ 0x0000e906, 0x04002000, 0x0000f900, 0x00140000, 0x00008980, 0x04114010,
+ 0x00006901, 0x803882ec, 0x0000d600, 0x00000001, 0x00000080, 0x800142ec,
+ 0x0000f902, 0x0a400000, 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000,
+ 0x00000600, 0x800162ec, 0x00007902, 0x0b400000, 0x00000600, 0x800172ec,
+ 0x0000f902, 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86, 0x00295c12,
+ 0x00001503, 0x00215c11, 0x00009503, 0xffffffff, 0x00007f86, 0x0000304b,
+ 0x00007010, 0x00002eba, 0x0000f008, 0x01400002, 0x00009980, 0xc1680500,
+ 0x00009900, 0x770000ec, 0x00005680, 0x00382800, 0x00008000, 0x00c002ec,
+ 0x0000df80, 0x1301b80b, 0x00001684, 0x75782aec, 0x0000a100, 0x04002000,
+ 0x0000f900, 0x00180000, 0x00008980, 0x04114010, 0x00006901, 0xffffffff,
+ 0x00007f86, 0x01400805, 0x00009080, 0x75782aec, 0x00002900, 0x803882ec,
+ 0x0000d600, 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000,
+ 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec,
+ 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000,
+ 0x00008600, 0xc0208f31, 0x00001503, 0x000030d9, 0x0000f00b, 0x04000002,
+ 0x00006180, 0x08003a05, 0x00006106, 0xc4280500, 0x00001900, 0x770000ec,
+ 0x00005680, 0x00388000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1303580b,
+ 0x00001684, 0x08003a12, 0x0000e906, 0x04402000, 0x00007900, 0x00180000,
+ 0x00008980, 0x04109011, 0x0000e901, 0x80388aec, 0x00005600, 0x00000000,
+ 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec,
+ 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000,
+ 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600, 0x61602a05,
+ 0x0000a101, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x36602f31,
+ 0x0000780a, 0x21800000, 0x00001883, 0x00196010, 0x0000e502, 0x01400f31,
+ 0x00008081, 0x61783228, 0x0000d100, 0x00302800, 0x00008001, 0x61595a28,
+ 0x0000a901, 0x00002eba, 0x0000f008, 0x8a80002c, 0x0000019c, 0x6178822a,
+ 0x0000a180, 0x06800000, 0x0000e180, 0x00003817, 0x00006106, 0x05006000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x05580800, 0x0000f900, 0x00004080,
+ 0x00008980, 0x00008006, 0x00006502, 0xc0003817, 0x00002006, 0x040728e5,
+ 0x0000e108, 0x08003a1a, 0x0000e106, 0x06400000, 0x00007900, 0x00004040,
+ 0x00008980, 0x6178822a, 0x00002980, 0x05800706, 0x000081a0, 0x06c00000,
+ 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009028ec, 0x0000d780, 0x00004800, 0x00008080, 0x01400000,
+ 0x00006180, 0x08003a2d, 0x00006106, 0x700000ec, 0x0000d680, 0x00000040,
+ 0x00000080, 0x22c00000, 0x00006180, 0x0419d005, 0x00006187, 0x700008ec,
+ 0x00005680, 0x00382802, 0x00000000, 0x6160822d, 0x0000a100, 0x23480000,
+ 0x0000e180, 0x0000388b, 0x00006106, 0x23800000, 0x00006180, 0x23400f31,
+ 0x00004081, 0xe3501202, 0x0000e100, 0xc000388b, 0x0000e006, 0x81400a10,
+ 0x0000e080, 0x08001a8e, 0x00002106, 0x2200e000, 0x00007900, 0x0000a340,
+ 0x00000980, 0x22401000, 0x0000f900, 0x0001c000, 0x00000980, 0x22803006,
+ 0x00006100, 0x9740188d, 0x00006006, 0x61602a2d, 0x0000a900, 0x23c00000,
+ 0x0000e180, 0xe3191322, 0x00004900, 0xa3108210, 0x00009900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009110ec,
+ 0x0000d780, 0x00006000, 0x00008080, 0x17ca0005, 0x00006180, 0x04004001,
+ 0x0000c980, 0x17800000, 0x00007900, 0x00207fc0, 0x00008980, 0x000820ec,
+ 0x0000d780, 0x00d87dc0, 0x000000c0, 0x04400002, 0x000081c8, 0x04c00000,
+ 0x000085f0, 0x17400000, 0x0000e180, 0x01001404, 0x00004181, 0xd7d81302,
+ 0x00009900, 0xd7c0273e, 0x0000788f, 0xf9400000, 0x00001682, 0x8a371ee3,
+ 0x00001900, 0x60416a28, 0x0000a180, 0xffffffff, 0x00007fa7, 0x0001042d,
+ 0x00001583, 0x0139c738, 0x00006130, 0x03400000, 0x0000c9b0, 0x01c00000,
+ 0x00007930, 0x00004040, 0x00008980, 0x000030db, 0x0000f018, 0x02d2d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x0302a000, 0x00007900, 0x000ccaec,
+ 0x00000980, 0x81c01000, 0x0000e180, 0x08001a09, 0x0000e106, 0x00002d18,
+ 0x00007400, 0x82600500, 0x00008026, 0x82381602, 0x00008028, 0x00002eb0,
+ 0x0000f200, 0x61609228, 0x0000a101, 0xc1c00c03, 0x000080d2, 0x00002f87,
+ 0x0000f400, 0x86000400, 0x000080df, 0x41008000, 0x00001981, 0x00002e63,
+ 0x00007200, 0xde80f800, 0x00009981, 0x0a00fc3a, 0x00001281, 0x00002c28,
+ 0x00009583, 0x0a391f23, 0x00009909, 0x00002e62, 0x00007009, 0x00002e63,
+ 0x00007200, 0xdea1d43a, 0x00009901, 0xc1c00c03, 0x000080d2, 0x00002f87,
+ 0x0000f400, 0x86000400, 0x000080df, 0x41005800, 0x00001981, 0x10c00000,
+ 0x000004d8, 0x11000000, 0x00006180, 0x00003843, 0x0000e106, 0x10006000,
+ 0x00007900, 0x00008000, 0x00000980, 0x105c0800, 0x0000f900, 0x00004080,
+ 0x00008980, 0x11400004, 0x00006180, 0xc0003843, 0x00006006, 0x11c00000,
+ 0x00006180, 0x10803006, 0x0000c900, 0xd1944a89, 0x00001900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009080ec,
+ 0x00005780, 0x00006000, 0x00008080, 0x06b85a0b, 0x0000e000, 0x06001a08,
+ 0x0000c880, 0x0680081a, 0x0000e180, 0x00000005, 0x0000a704, 0x0f400000,
+ 0x000003f8, 0x0d000120, 0x0000e180, 0x0f00c01a, 0x0000c200, 0x0600fe0b,
+ 0x0000e281, 0xc0000005, 0x0000a407, 0x00400000, 0x00007900, 0x00040010,
+ 0x00008980, 0x45c29834, 0x0000e001, 0x0420c03e, 0x0000b081, 0x80003a50,
+ 0x0000e582, 0x0420c03d, 0x00002081, 0x80007000, 0x00006180, 0x08003018,
+ 0x00006206, 0x0b400000, 0x0000f900, 0x00044000, 0x00008980, 0xc0c02000,
+ 0x0000e180, 0x0a140107, 0x00004980, 0x0bc05800, 0x000000d7, 0x80400800,
+ 0x00006181, 0x8d10c218, 0x0000c900, 0x06007c50, 0x000062b1, 0x06004000,
+ 0x00008999, 0x000848ec, 0x00005780, 0x00007800, 0x00008080, 0x002ff800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x0000182f, 0x00006106, 0x0018082d,
+ 0x00003580, 0x90000005, 0x00006401, 0x90000001, 0x0000b401, 0x0a401000,
+ 0x000082f0, 0x0eca0005, 0x0000e180, 0x0c000000, 0x00004980, 0x09c00000,
+ 0x00006180, 0x82000a08, 0x0000c080, 0x0a010028, 0x00006380, 0x8620c034,
+ 0x0000a007, 0x0e804000, 0x00007900, 0x00207fc0, 0x00008980, 0x001050ec,
+ 0x00005780, 0x00007801, 0x00000080, 0xc000182f, 0x0000e006, 0xc0000005,
+ 0x00003407, 0x90000801, 0x00006401, 0x60000830, 0x00003403, 0x01200000,
+ 0x000000dd, 0x0a800000, 0x000082ec, 0x0ba81402, 0x00008238, 0x0e387f0e,
+ 0x00000324, 0x0fc00702, 0x00000384, 0x0c880000, 0x000002d0, 0x09400800,
+ 0x00006180, 0x09870801, 0x00004980, 0x0d800000, 0x000083dc, 0x0d603788,
+ 0x00008083, 0xcb40300c, 0x000002e6, 0x4a601408, 0x000082f3, 0x0eec2d02,
+ 0x0000821c, 0xca002000, 0x00006181, 0x0cd04208, 0x0000c900, 0x009006ec,
+ 0x00005f80, 0x00004801, 0x00008084, 0x1b800012, 0x0000e180, 0x08042c04,
+ 0x00006006, 0x1bc60000, 0x0000f900, 0x001f2252, 0x00008980, 0x31461147,
+ 0x0000f500, 0x1c15d800, 0x0000f900, 0x003e9d52, 0x00000980, 0xdb301004,
+ 0x00000636, 0x29000000, 0x0000e180, 0x00000005, 0x00006704, 0x862460a4,
+ 0x0000e007, 0xc0000005, 0x00003407, 0x80007000, 0x00006180, 0x40001005,
+ 0x0000e406, 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x2600e000,
+ 0x0000f900, 0x0000c000, 0x00008980, 0x26400000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x28000800, 0x000080d7, 0x08003008, 0x0000e206, 0x00001099,
+ 0x00003406, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x000428a0,
+ 0x0000e006, 0x90000005, 0x00003401, 0x25000800, 0x00006180, 0x26c00002,
+ 0x00004980, 0x28400180, 0x0000e180, 0x6904708e, 0x0000c900, 0x80406800,
+ 0x00006181, 0x26080098, 0x0000c380, 0x80000899, 0x00006401, 0xc0000005,
+ 0x00003407, 0x0000389b, 0x0000e106, 0x20000894, 0x0000b401, 0xc70478a4,
+ 0x00006001, 0x90000001, 0x0000b401, 0x01000000, 0x000089d4, 0x25800100,
+ 0x000009dc, 0x26a00706, 0x0000008d, 0x29800000, 0x00008adc, 0x288c508a,
+ 0x00008a08, 0x28bc5d8a, 0x00008a0c, 0x2960178d, 0x00000083, 0xa8243908,
+ 0x00008a04, 0x68431709, 0x000009a3, 0xc1c00000, 0x00009980, 0x0000158a,
+ 0x0000f88c, 0x00000000, 0x00000000, 0x5d40028d, 0x0000788a, 0x01800001,
+ 0x00008060, 0x36800d8a, 0x0000498e, 0x68607fa4, 0x00008c8b, 0x19800000,
+ 0x0000f900, 0x00307fc0, 0x00000980, 0x81007c8c, 0x00006280, 0x0a401800,
+ 0x00000980, 0x0a8000e1, 0x000082ec, 0x19ca0005, 0x0000e180, 0x19024048,
+ 0x00004900, 0x0a080000, 0x00007900, 0x0000820e, 0x00000980, 0x0c001000,
+ 0x00007900, 0x00004000, 0x00000980, 0x0c410000, 0x0000f900, 0x00040000,
+ 0x00000980, 0x000860ec, 0x00005780, 0x00007800, 0x00008080, 0x19400749,
+ 0x00000388, 0x0cc00000, 0x00006180, 0x99946a04, 0x0000c000, 0xca546a04,
+ 0x00006000, 0xca818284, 0x00008080, 0x19ec2d02, 0x0000822c, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008850ec,
+ 0x0000d780, 0x00d87e40, 0x000080c0, 0x4100858a, 0x00009283, 0x80007000,
+ 0x0000e188, 0x01000000, 0x00004988, 0x00400000, 0x0000f908, 0x00040010,
+ 0x00008980, 0x000031e9, 0x00007010, 0x25000800, 0x00006180, 0x00000005,
+ 0x00006704, 0xc0000005, 0x00006407, 0x20000894, 0x0000b401, 0x26c00002,
+ 0x00006180, 0x40001005, 0x0000e406, 0x2600e000, 0x0000f900, 0x0000c000,
+ 0x00008980, 0x26400000, 0x0000f900, 0x00010000, 0x00000980, 0x81400800,
+ 0x0000e181, 0x00001099, 0x00006406, 0x002ff800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x80406800, 0x00006181, 0x90000005, 0x00006401, 0x26080098,
+ 0x00006380, 0x40000894, 0x00002401, 0x001128ec, 0x0000d780, 0x00905200,
+ 0x00000188, 0x0000389b, 0x0000e106, 0x80000899, 0x00003401, 0xc0000005,
+ 0x00006407, 0x90000001, 0x0000b401, 0x25480000, 0x000089d8, 0x25c00000,
+ 0x0000e180, 0x26803006, 0x0000c900, 0x40e01400, 0x000000c3, 0x41c31400,
+ 0x000089e3, 0x009006ec, 0x00005f80, 0x00004800, 0x00000084, 0x4200858a,
+ 0x00006283, 0x09c00000, 0x00008980, 0x09000900, 0x000082d4, 0x09870801,
+ 0x00006180, 0xc9dc2b85, 0x0000c900, 0x000031e3, 0x00007008, 0x80007000,
+ 0x00006180, 0x00000005, 0x00006704, 0xc0c00000, 0x00006180, 0xc0000005,
+ 0x00006407, 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x26c00000,
+ 0x0000e180, 0x40001005, 0x0000e406, 0xc0400801, 0x000080d7, 0x29c00000,
+ 0x00007900, 0x00030000, 0x00008980, 0x002ff800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x0000189b, 0x00006106, 0x90000001, 0x0000b401, 0x25000800,
+ 0x00006180, 0x90000005, 0x00006401, 0x41c00400, 0x000089fc, 0x000848ec,
+ 0x00005780, 0x00007800, 0x00008080, 0x2608b000, 0x00007900, 0x000119c0,
+ 0x00008980, 0x26400000, 0x0000f900, 0x00018008, 0x00000980, 0x27401000,
+ 0x0000f900, 0x00014000, 0x00008980, 0xc000189b, 0x0000e006, 0x90000001,
+ 0x0000b401, 0xc0000005, 0x00006407, 0x20000894, 0x0000b401, 0x01000000,
+ 0x0000e180, 0x0000389f, 0x00006106, 0x25480000, 0x000089d8, 0x25c00000,
+ 0x0000e180, 0xa9944288, 0x00004900, 0x29800588, 0x000089b0, 0x26b83702,
+ 0x00000938, 0xc0001000, 0x00006181, 0x69c44889, 0x0000c900, 0x009006ec,
+ 0x00005f80, 0x00904940, 0x000082cc, 0x000848ec, 0x00005780, 0x00007800,
+ 0x00008080, 0x001128ec, 0x0000d780, 0x00905200, 0x00000188, 0x009006ec,
+ 0x00005f80, 0x00004800, 0x00000084, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x80007000, 0x00006180, 0x00000005, 0x00006704, 0x25000800,
+ 0x00006180, 0xc0000005, 0x00006407, 0x00400000, 0x00007900, 0x00040010,
+ 0x00008980, 0xc0c00000, 0x00006180, 0x40001005, 0x0000e406, 0x26c00800,
+ 0x000080c7, 0x81400800, 0x0000e181, 0x20000894, 0x0000e401, 0x29c00000,
+ 0x00007900, 0x00030000, 0x00008980, 0x002ff800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x0000189b, 0x00006106, 0x90000001, 0x0000b401, 0xc1c00000,
+ 0x0000e180, 0x90000005, 0x00006401, 0x27c00000, 0x00006180, 0x40000894,
+ 0x0000e401, 0x2608b000, 0x00007900, 0x000119c0, 0x00008980, 0x26400000,
+ 0x0000f900, 0x00018008, 0x00000980, 0x27401000, 0x0000f900, 0x00014000,
+ 0x00008980, 0xc000189b, 0x0000e006, 0x90000001, 0x0000b401, 0x0000389f,
+ 0x00006106, 0xc0000005, 0x00003407, 0x01000000, 0x000089d4, 0x25800100,
+ 0x000009dc, 0x29ac4488, 0x00008a18, 0x27000000, 0x00006180, 0x26801002,
+ 0x0000c900, 0x27803006, 0x00006100, 0x69c44889, 0x0000c900, 0xc0001000,
+ 0x00001981, 0x009006ec, 0x00005f80, 0x00904940, 0x000082cc, 0x00001d1d,
+ 0x0000f88c, 0x00000000, 0x00000000, 0x96c2051d, 0x0000f88e, 0x01800001,
+ 0x00008060, 0x5680f722, 0x0000c912, 0x6862061d, 0x00000c8d, 0x02787a0f,
+ 0x00006000, 0x00000005, 0x00006704, 0x02001a0c, 0x0000e080, 0xc0000005,
+ 0x00006407, 0xc140700a, 0x000000c1, 0x02400809, 0x0000e180, 0x90000005,
+ 0x0000a401, 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0xc0c02000,
+ 0x0000e180, 0xc0000005, 0x00006407, 0x002ff800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x12c00000, 0x00006180, 0x00001805, 0x0000e406, 0x16400000,
+ 0x000005e8, 0x16004009, 0x0000e200, 0x80400800, 0x00008981, 0x0200fe0f,
+ 0x0000e281, 0x80001005, 0x0000a480, 0x0000184b, 0x0000e106, 0x90000001,
+ 0x0000b401, 0x0420405a, 0x0000e081, 0x04204059, 0x0000b081, 0x15ca0005,
+ 0x0000e180, 0x14000140, 0x00004980, 0x00080000, 0x00006380, 0x82000a0c,
+ 0x00008080, 0x11140000, 0x0000f900, 0x0001020e, 0x00000980, 0x12001000,
+ 0x00007900, 0x00008000, 0x00000980, 0x12580800, 0x0000f900, 0x00044240,
+ 0x00008980, 0x15804000, 0x00007900, 0x00207fc0, 0x00008980, 0x13000000,
+ 0x00007900, 0x00001000, 0x00000980, 0x001000ec, 0x00005780, 0x00d84c40,
+ 0x00008380, 0xc000184b, 0x00006006, 0x80000805, 0x00003401, 0x01000000,
+ 0x0000e180, 0x90000801, 0x00006401, 0xc1c00000, 0x0000e180, 0x11403100,
+ 0x00004980, 0x11800000, 0x000084dc, 0x12a81402, 0x00008428, 0x15389f12,
+ 0x00000514, 0x16c00702, 0x000004b4, 0x13800000, 0x000085c8, 0x14c00000,
+ 0x00006180, 0x14517a2f, 0x00004900, 0x17004020, 0x000085f4, 0x17800000,
+ 0x000085fc, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc, 0x19000000,
+ 0x000086d4, 0x19800000, 0x000086dc, 0x15e10502, 0x00000500, 0x83000a0c,
+ 0x00006080, 0xc0004800, 0x00000981, 0x13d04208, 0x00001900, 0x0098beec,
+ 0x0000df80, 0x008848c0, 0x00008284, 0x02000000, 0x0000e180, 0x08003004,
+ 0x0000e206, 0x0107f804, 0x00006280, 0x01400000, 0x00000981, 0x00117804,
+ 0x00006502, 0x17010104, 0x00000980, 0x02000800, 0x0000e188, 0x17404000,
+ 0x00004980, 0xc000471d, 0x0000e583, 0x17800000, 0x00000980, 0x01400800,
+ 0x0000e189, 0x01000c08, 0x00004481, 0x17c00000, 0x000006c0, 0x18400000,
+ 0x000006c8, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8, 0x01202c04,
+ 0x0000e203, 0x19c00000, 0x00000980, 0x00000408, 0x00001583, 0x00000405,
+ 0x00009583, 0x000032c1, 0x00007010, 0x00003272, 0x0000f008, 0x000032ce,
+ 0x00007008, 0x08003008, 0x0000e206, 0x00000005, 0x00003704, 0x80007000,
+ 0x00006180, 0xc0000005, 0x00006407, 0x1d044800, 0x0000e180, 0x40001005,
+ 0x0000e406, 0x81405000, 0x00006181, 0xdd104208, 0x0000c900, 0x0201041d,
+ 0x0000e283, 0x90000005, 0x0000a401, 0x1a000800, 0x00006180, 0xc0000005,
+ 0x00006407, 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x1b00e000,
+ 0x00007900, 0x0000c000, 0x00008980, 0x1b400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x1bc00002,
+ 0x0000e180, 0x00001805, 0x0000e406, 0x1b37f86c, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x1b7f806d, 0x00007900, 0x003ffffe, 0x00008280, 0x1d400000,
+ 0x0000e180, 0x80001005, 0x00006480, 0x80405000, 0x0000e181, 0x00180000,
+ 0x00004380, 0x0000386f, 0x00006106, 0x20000868, 0x0000b401, 0x8000006d,
+ 0x00006401, 0x80001805, 0x00003403, 0x01000000, 0x0000e180, 0x90000001,
+ 0x0000e401, 0x1a480000, 0x000086e8, 0x1ac00000, 0x0000e180, 0x1b803006,
+ 0x00004900, 0x40c00400, 0x000087d8, 0x1dc00000, 0x000007e0, 0x1e400000,
+ 0x000007e8, 0x1ec00000, 0x00006180, 0x5d28fd1f, 0x0000c901, 0x000032ab,
+ 0x0000f410, 0x9b031800, 0x00006181, 0xdd686d0d, 0x0000c901, 0x41e06407,
+ 0x000080c3, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0090d0ec, 0x00005780, 0x00905740, 0x00000180, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x20000068,
+ 0x0000ec01, 0x0010d0ec, 0x0000d780, 0x00905740, 0x00000180, 0x1d3bf874,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x6000085c, 0x00006c02, 0x0018b8ec,
+ 0x0000d780, 0x00004800, 0x00008080, 0x009006ec, 0x00005f80, 0x00884a40,
+ 0x000083c4, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02c85800,
+ 0x00007900, 0x0002467e, 0x00008980, 0x03174800, 0x0000f900, 0x0034c5d8,
+ 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01400000,
+ 0x000080f4, 0x32c11110, 0x00007500, 0x82600500, 0x00008026, 0x81c01000,
+ 0x0000e180, 0x02801002, 0x0000c900, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02ff7800, 0x00007900, 0x000b163c, 0x00008980, 0x031fa800,
+ 0x0000f900, 0x0037229e, 0x00008980, 0x02000000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x01400000, 0x000080f4, 0x32ce1110, 0x00007500, 0x82600500,
+ 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900, 0x02787a0f,
+ 0x00006000, 0x00000005, 0x00006704, 0x02001a0c, 0x0000e080, 0xc0000005,
+ 0x00006407, 0x81405000, 0x00006181, 0x02400809, 0x00004180, 0x80007000,
+ 0x00006180, 0x90000005, 0x00006401, 0x00400000, 0x00007900, 0x00040010,
+ 0x00008980, 0x16400000, 0x00006180, 0xc0000005, 0x00006407, 0x16800000,
+ 0x00006180, 0x16004009, 0x00004200, 0x0200fe0f, 0x0000e281, 0x00001805,
+ 0x00002406, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0420405a,
+ 0x0000e081, 0x04204059, 0x0000b081, 0x40c00404, 0x000084ec, 0x80400800,
+ 0x00006181, 0x82000a0c, 0x00004080, 0x0000184b, 0x0000e106, 0x80001005,
+ 0x00003480, 0x15ca0005, 0x0000e180, 0x90000001, 0x0000e401, 0x14000140,
+ 0x00006180, 0x00080000, 0x0000c380, 0x13d04208, 0x00006100, 0x08003051,
+ 0x0000e206, 0x08003008, 0x0000e206, 0x80000805, 0x00003401, 0x11140000,
+ 0x0000f900, 0x0001020e, 0x00000980, 0x12001000, 0x00007900, 0x00008000,
+ 0x00000980, 0x12580800, 0x0000f900, 0x00044240, 0x00008980, 0x15804000,
+ 0x00007900, 0x00207fc0, 0x00008980, 0x13000000, 0x00007900, 0x00001000,
+ 0x00000980, 0x001000ec, 0x00005780, 0x00d84c40, 0x00008380, 0xc000184b,
+ 0x00006006, 0x90000801, 0x00003401, 0x01200000, 0x000000dd, 0x11403100,
+ 0x00006180, 0x11800000, 0x0000c980, 0x11c00000, 0x00006180, 0x92901202,
+ 0x0000c900, 0x12b89502, 0x00000510, 0x15781713, 0x0000852c, 0x13400000,
+ 0x000004f8, 0x14800000, 0x000085cc, 0x83000a0c, 0x00006080, 0xd5d81302,
+ 0x00008900, 0x14204c08, 0x00000083, 0x0098beec, 0x0000df80, 0x008848c0,
+ 0x00008284, 0x1bc60000, 0x0000f900, 0x001f2252, 0x00008980, 0x1c117000,
+ 0x0000f900, 0x002ba52e, 0x00008980, 0x33131147, 0x00007500, 0x1b900010,
+ 0x0000e180, 0x0800306c, 0x00006206, 0x1b501202, 0x00001900, 0x01007c85,
+ 0x00006281, 0x28000000, 0x00008980, 0x00003404, 0x0000e583, 0x000428a0,
+ 0x00002006, 0x28400000, 0x000082e0, 0x0a400000, 0x000002e8, 0x0ac00000,
+ 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000, 0x00000adc, 0x06000000,
+ 0x000081e4, 0x00003344, 0x0000f410, 0x06800000, 0x000081ec, 0x2838498e,
+ 0x00000a05, 0x01000000, 0x00009980, 0x332416ee, 0x00007404, 0x00206804,
+ 0x0000e886, 0x09402004, 0x00001900, 0xc000038e, 0x00006582, 0x0a401000,
+ 0x00008980, 0x0a8000e1, 0x000082ec, 0x28b98f32, 0x00008a0c, 0x29397f30,
+ 0x00000a14, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x00003336,
+ 0x0000f408, 0x0a088001, 0x0000e180, 0xca5c738e, 0x00004900, 0x8aac2984,
+ 0x0000022c, 0x000ff866, 0x00006501, 0x60053867, 0x00003486, 0x19019032,
+ 0x00006100, 0xe0001866, 0x00006403, 0x0000333c, 0x00007400, 0x19681731,
+ 0x0000061c, 0x999c738e, 0x00001900, 0x60053867, 0x00006486, 0x00000866,
+ 0x00003700, 0xd9d81302, 0x00006100, 0xc0000866, 0x0000e401, 0xe0001866,
+ 0x0000ec03, 0x041c7066, 0x00006901, 0x000850ec, 0x00005780, 0x00d87e40,
+ 0x000080c0, 0x001000ec, 0x00005780, 0x00004801, 0x00000080, 0x00003356,
+ 0x00007400, 0x29ac740a, 0x00008a18, 0x09007800, 0x0000e181, 0x83000a0c,
+ 0x0000c080, 0x00004404, 0x00009583, 0x01000000, 0x00001988, 0x01206c0d,
+ 0x00001909, 0x0000334e, 0x00007010, 0x334a16ee, 0x0000f204, 0x09402004,
+ 0x00001900, 0x28b98f32, 0x00008a0c, 0x00003353, 0x00007400, 0x29397f30,
+ 0x00000a14, 0x29fc5c8c, 0x00000a18, 0x28844088, 0x00006100, 0x60000818,
+ 0x0000e402, 0x28fc5789, 0x00008a10, 0x297c678b, 0x00008a18, 0x29c4688d,
+ 0x00001900, 0x001000ec, 0x00005780, 0x00884980, 0x000081c0, 0x09005800,
+ 0x00001981, 0x80007000, 0x00006180, 0x00000005, 0x00006704, 0x26c00002,
+ 0x00006180, 0xc0000005, 0x00006407, 0x00400000, 0x00007900, 0x00040010,
+ 0x00008980, 0x90000005, 0x00006401, 0x90000001, 0x0000b401, 0x002ff800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x0000389b, 0x0000e106, 0xc0000005,
+ 0x00003407, 0x2600e000, 0x0000f900, 0x0000c000, 0x00008980, 0x26400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x01000800, 0x000089d0, 0x25480000,
+ 0x000089d8, 0x25c00000, 0x0000e180, 0x26803006, 0x0000c900, 0xc0c00000,
+ 0x00006180, 0x80647c8f, 0x00004901, 0xc0200402, 0x000080dd, 0x816c7d8f,
+ 0x00009901, 0x6fe06c24, 0x00004388, 0x00606c24, 0x00008098, 0x00806424,
+ 0x0000c791, 0x80807424, 0x0000808c, 0xe3c07c24, 0x0000f88a, 0x01800001,
+ 0x00000080, 0xc0001f00, 0x0000e081, 0x00111805, 0x00002580, 0x00080000,
+ 0x00006380, 0x80000805, 0x0000a401, 0x00003393, 0x0000f000, 0x00100000,
+ 0x00006380, 0x40001005, 0x00002406, 0x00003393, 0x00007400, 0xc1c03800,
+ 0x00006180, 0x90000805, 0x0000e401, 0xc0004800, 0x00009981, 0x00180000,
+ 0x0000e380, 0x40001005, 0x00002406, 0xc1c03800, 0x00006180, 0x00001805,
+ 0x0000e406, 0xc0006000, 0x0000e181, 0x80001005, 0x00006480, 0x80001805,
+ 0x0000ec03, 0x20000894, 0x00006c01, 0x2637f898, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x267f8099, 0x00007900, 0x003ffffe, 0x00008280, 0xa6031800,
+ 0x0000e181, 0x80000099, 0x0000e401, 0x00912eec, 0x0000df80, 0x00905200,
+ 0x0000818c, 0x00003398, 0x0000f400, 0xc0003000, 0x0000e181, 0x90000801,
+ 0x00006401, 0xc0c02000, 0x00009980, 0x00007424, 0x00001583, 0x40000894,
+ 0x0000ec09, 0x00003386, 0x00007009, 0xe1807c24, 0x0000f892, 0x01800001,
+ 0x00000080, 0x10000894, 0x00006c01, 0xffffffff, 0x00007f86, 0x00003387,
+ 0x0000f000, 0x58387eec, 0x00002180, 0xc00007e2, 0x00009583, 0xffffffff,
+ 0x00007f97, 0x83c00e0f, 0x00006191, 0x43c00d0f, 0x00000189, 0x00000001,
+ 0x00007480, 0x03c00c0f, 0x00001181, 0x58387eec, 0x0000a980, 0x03000000,
+ 0x000001d0, 0x05400000, 0x000001d8, 0x05c00000, 0x000001e0, 0x06400000,
+ 0x000001e8, 0x06c00000, 0x00001980, 0x8b400c05, 0x0000c488, 0x58600c05,
+ 0x00008caf, 0x17401405, 0x0000f88b, 0xf9800000, 0x00001a82, 0x0dc09800,
+ 0x0000f900, 0x00003800, 0x00000980, 0x33b2158b, 0x00007404, 0x02400000,
+ 0x0000e181, 0x0d803006, 0x0000c900, 0x0e003807, 0x00001900, 0x00000434,
+ 0x00001583, 0x873f1fe3, 0x00001908, 0x84c0e01c, 0x0000a088, 0x000033bb,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x07003c1c, 0x00001281, 0x0700141c,
+ 0x00001181, 0x00000c1c, 0x00009583, 0x000033c0, 0x0000f01b, 0x09ee1000,
+ 0x00007900, 0x0013bcb4, 0x00008980, 0x33c0119b, 0x00007500, 0x09b83f06,
+ 0x00000210, 0x08a1a434, 0x00009900, 0x35f87233, 0x00002000, 0x35b88433,
+ 0x00002080, 0x36c09c33, 0x00007902, 0x03400000, 0x00008000, 0x36c05e33,
+ 0x0000f902, 0x02800000, 0x00000000, 0x37789033, 0x0000a080, 0x03800ce0,
+ 0x00009283, 0x000033cd, 0x0000f00b, 0x33ca1167, 0x0000f100, 0xffffffff,
+ 0x00007f86, 0x00000497, 0x00001583, 0x00003450, 0x0000f013, 0x03801c08,
+ 0x00001283, 0x87000ee3, 0x00006088, 0x03f087e4, 0x0000c808, 0x58388eec,
+ 0x0000a188, 0x00003441, 0x0000f010, 0xc00007e2, 0x00006583, 0x84280500,
+ 0x00000900, 0x5e40021c, 0x00005180, 0x00400000, 0x00008000, 0x80000011,
+ 0x0000ec87, 0x84400e11, 0x0000e091, 0x44400d11, 0x00008089, 0x00000c0d,
+ 0x00006583, 0x04400c11, 0x00000081, 0x58388eec, 0x0000a980, 0x04308011,
+ 0x0000e887, 0x00189011, 0x0000e986, 0x86289811, 0x0000e887, 0x5e78781c,
+ 0x0000d100, 0x00388800, 0x00008000, 0x5e40021c, 0x0000d100, 0x00400000,
+ 0x00000080, 0x87371ee3, 0x00009900, 0x2e20701c, 0x00002981, 0x2c04760e,
+ 0x00001680, 0x838588b0, 0x00001000, 0x07008000, 0x00006191, 0x07004000,
+ 0x00004989, 0x04400000, 0x0000f900, 0x000010c4, 0x00008980, 0x580006ec,
+ 0x0000d100, 0x00400000, 0x00000080, 0xc417ba0e, 0x00007900, 0x00000008,
+ 0x00000080, 0x0020e011, 0x00006906, 0x703888ec, 0x0000d600, 0x00388000,
+ 0x00000000, 0x04400000, 0x0000f900, 0x00007fc0, 0x00000980, 0x8460e41c,
+ 0x00006100, 0x04380005, 0x00004980, 0x703858ec, 0x00005600, 0x00385000,
+ 0x00008000, 0x04181010, 0x0000e987, 0x703888ec, 0x0000d600, 0x00388000,
+ 0x00000000, 0x00d802ec, 0x0000df80, 0x131fe801, 0x000003c4, 0x00000c0d,
+ 0x00009583, 0x00003407, 0x00007013, 0x2c04760e, 0x00001680, 0x870588b0,
+ 0x00001000, 0x2f78861c, 0x00002180, 0xffffffff, 0x00007fa7, 0x2fb8801c,
+ 0x0000a980, 0x2f78861c, 0x0000a100, 0xffffffff, 0x00007fa7, 0x2fb8801c,
+ 0x00002900, 0x8000fa0f, 0x0000e582, 0x0dc00000, 0x00000980, 0x0d800020,
+ 0x0000e180, 0x0d400000, 0x00004980, 0x04000000, 0x000003d0, 0x04c00000,
+ 0x0000e180, 0x0e40580b, 0x0000c900, 0x00003419, 0x00007418, 0x0e087f0a,
+ 0x0000831e, 0x8da06c0d, 0x00006100, 0x01c00020, 0x000049b0, 0x02fb0000,
+ 0x0000f900, 0x001abc2e, 0x00008980, 0x033ea800, 0x0000f900, 0x001a8d3a,
+ 0x00000980, 0x00003424, 0x0000f400, 0x02000000, 0x000080d4, 0x41c00002,
+ 0x000000f4, 0x0000040d, 0x00001583, 0x01c00020, 0x0000e188, 0x02000000,
+ 0x00004988, 0x01400000, 0x0000e188, 0x03400000, 0x00004988, 0x00003429,
+ 0x00007010, 0x02fb0800, 0x00007900, 0x001abc2e, 0x00008980, 0x03125000,
+ 0x0000f900, 0x000a98fe, 0x00008980, 0x81c01000, 0x00009980, 0xc1c00800,
+ 0x0000e181, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x02801002,
+ 0x00009900, 0x34291110, 0x0000f100, 0x2c04760e, 0x00001680, 0x870588b0,
+ 0x00001000, 0x8700321c, 0x00001080, 0x2f609e1c, 0x0000a980, 0x07000e0e,
+ 0x00001880, 0x8710e60e, 0x00001000, 0x16e06e1c, 0x00002080, 0x87010000,
+ 0x00009980, 0xffffffff, 0x00007f97, 0x80106a1c, 0x00009502, 0x0d000800,
+ 0x000019d9, 0x0000347a, 0x0000f071, 0x2c04760e, 0x00001680, 0x070588b0,
+ 0x00009000, 0x8700121c, 0x00009080, 0x2f80001c, 0x0000d180, 0x00400000,
+ 0x00008000, 0x2f79ce1c, 0x0000d100, 0x0039c000, 0x00000000, 0x2fb9b21c,
+ 0x00005100, 0x0039a800, 0x00008000, 0x2fb8841c, 0x0000d100, 0x0039a000,
+ 0x00000000, 0x2fb9b81c, 0x00002900, 0x07204c09, 0x0000e101, 0x0020280b,
+ 0x0000e086, 0x82c054ec, 0x00007902, 0x02400000, 0x00008604, 0x8228280b,
+ 0x00006086, 0x0000200e, 0x0000b586, 0x0428280e, 0x00006087, 0x0418280b,
+ 0x0000b187, 0x1bc02004, 0x0000e100, 0x8620280e, 0x0000e087, 0x1b06d800,
+ 0x0000f900, 0x0032a52e, 0x00000980, 0x346c11bc, 0x0000f500, 0x1bb8570b,
+ 0x00008634, 0x1ac0700e, 0x00001900, 0x2c0036e3, 0x00001680, 0x870588b0,
+ 0x00001000, 0x5878281c, 0x0000a180, 0xffffffff, 0x00007fa7, 0x01400805,
+ 0x00009080, 0x5878281c, 0x00002980, 0x5840001c, 0x00005100, 0x00409000,
+ 0x00000080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x3441339b,
+ 0x0000f300, 0x02400800, 0x00001981, 0x00003441, 0x00007000, 0x00003441,
+ 0x0000f200, 0x02401000, 0x00001981, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x01802004, 0x0000e100, 0x08001a09, 0x0000e106, 0x02c5e800,
+ 0x00007900, 0x003305b8, 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa,
+ 0x00008980, 0x03400000, 0x0000e180, 0xc2700600, 0x00004901, 0x00003428,
+ 0x0000f400, 0x82781400, 0x00000028, 0x02002f06, 0x0000809d, 0x346e37a9,
+ 0x00007300, 0x0940e704, 0x0000821b, 0x03800000, 0x0000e180, 0x0000900c,
+ 0x0000e484, 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x03c00000,
+ 0x00006180, 0xa2804018, 0x00006002, 0x04382f04, 0x00000104, 0x04b83f06,
+ 0x0000010c, 0xc3981302, 0x00006100, 0xc3232800, 0x0000c980, 0x00801eec,
+ 0x0000df80, 0x00005001, 0x00008084, 0x02800000, 0x00001980, 0x347e15b7,
+ 0x0000f500, 0x0030700a, 0x0000e886, 0x0c40500a, 0x00001900, 0x02800000,
+ 0x0000f900, 0x00004040, 0x00008980, 0x348315b7, 0x00007500, 0x0030700a,
+ 0x0000e886, 0x0c40500a, 0x00001900, 0x00003435, 0x0000f200, 0xc4000f10,
+ 0x00006081, 0x20000834, 0x00002401, 0x0cb20004, 0x0000e180, 0x0011b033,
+ 0x0000e186, 0x0419b033, 0x00006187, 0x04181032, 0x00003187, 0x0dc004e4,
+ 0x00008398, 0x8da80500, 0x00001900, 0x700040ec, 0x00005680, 0x0039b544,
+ 0x00000008, 0x703998ec, 0x0000d600, 0x00000000, 0x00008080, 0x7039a8ec,
+ 0x0000d600, 0x0039a000, 0x00000000, 0x700040ec, 0x00005680, 0x003997c0,
+ 0x00008078, 0x00c002ec, 0x0000df80, 0x1344b00b, 0x00001684, 0xb911ba37,
+ 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x29000000,
+ 0x0000e180, 0x00000005, 0x00006704, 0x862460a4, 0x0000e007, 0xc0000005,
+ 0x00003407, 0x80007000, 0x00006180, 0x40001005, 0x0000e406, 0x00400000,
+ 0x00007900, 0x00040010, 0x00008980, 0x2600e000, 0x0000f900, 0x0000c000,
+ 0x00008980, 0x26400000, 0x0000f900, 0x00010000, 0x00000980, 0x28000800,
+ 0x000080d7, 0x08003008, 0x0000e206, 0x00001099, 0x00003406, 0x000848ec,
+ 0x00005780, 0x00007800, 0x00008080, 0x002ff800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x000428a0, 0x0000e006, 0x90000005, 0x00003401, 0x25000800,
+ 0x00006180, 0x26c00002, 0x00004980, 0x28400180, 0x0000e180, 0x09c00000,
+ 0x00004980, 0x6904708e, 0x0000e100, 0x80406800, 0x00004981, 0x26080098,
+ 0x00006380, 0x80000899, 0x0000a401, 0x001128ec, 0x0000d780, 0x00905200,
+ 0x00000188, 0xc0000005, 0x00006407, 0x20000894, 0x0000b401, 0x0000389b,
+ 0x0000e106, 0xc70478a4, 0x00003001, 0x01000000, 0x0000e180, 0x90000001,
+ 0x0000e401, 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180, 0x26803006,
+ 0x0000c900, 0x40c00400, 0x00000ad8, 0x29c00000, 0x0000e180, 0x28a4548a,
+ 0x0000c901, 0x28ac518a, 0x00008a08, 0x28fc6f8b, 0x00000a14, 0x09000900,
+ 0x000082d4, 0x09870801, 0x00006180, 0xc0001000, 0x00004981, 0xa8243908,
+ 0x00008a04, 0x686c2f09, 0x0000021c, 0x41c31400, 0x000089e3, 0x009006ec,
+ 0x00005f80, 0x00004800, 0x00000084, 0x0ec42c04, 0x00006802, 0x82e02384,
+ 0x00001100, 0x00105851, 0x00009502, 0x01007c85, 0x0000e2a1, 0x8200c284,
+ 0x000080a0, 0x0000364d, 0x00007029, 0x00007404, 0x00009583, 0x000035ee,
+ 0x0000700b, 0x02400000, 0x00009981, 0x00000409, 0x00006583, 0x0a401000,
+ 0x00008980, 0x0a8000e1, 0x000082ec, 0x0a080000, 0x00007900, 0x0000820e,
+ 0x00000980, 0x82905a0b, 0x0000e108, 0x0c029c05, 0x0000e006, 0x000034e9,
+ 0x0000f408, 0x8a48410b, 0x0000022a, 0x02a02fe4, 0x0000e010, 0xcadc2b85,
+ 0x0000c900, 0xffffffff, 0x00007f86, 0x82800a0a, 0x00001180, 0x0282920a,
+ 0x00001200, 0x0280520b, 0x00009000, 0x02a0280a, 0x00009700, 0x82801a0a,
+ 0x00009880, 0x82905a0a, 0x00009000, 0xb8432000, 0x00006180, 0x03001e50,
+ 0x00004281, 0x0340140c, 0x00009881, 0x7842a40d, 0x00009081, 0xffffffff,
+ 0x00007fc7, 0x04020b00, 0x0000f904, 0x04027810, 0x00009002, 0x8000020a,
+ 0x00006582, 0x04400011, 0x00000084, 0x05820b00, 0x0000f904, 0x05827816,
+ 0x00006100, 0x8c10520a, 0x00000910, 0x00003604, 0x0000f008, 0x84c34000,
+ 0x000080fa, 0x0340b016, 0x00006100, 0x03c0b230, 0x0000cc00, 0x0580b230,
+ 0x00006400, 0x85000000, 0x0000c980, 0x8c107a30, 0x00006100, 0x04800000,
+ 0x00000981, 0x80000230, 0x00006582, 0x05ca0001, 0x00000980, 0x85000800,
+ 0x0000e190, 0x04181017, 0x0000e187, 0x00003413, 0x0000e583, 0x060ff816,
+ 0x0000a587, 0x04800800, 0x000061b1, 0x13c2780f, 0x0000c000, 0x10008500,
+ 0x00007904, 0x04a0a412, 0x0000e203, 0x04c00c13, 0x00000081, 0x04800000,
+ 0x00009981, 0x0000780d, 0x00006502, 0x04800800, 0x00000989, 0xffffffff,
+ 0x00007f86, 0xd3609017, 0x00006800, 0x00003558, 0x00007208, 0x1000b500,
+ 0x00007904, 0x00000414, 0x00009583, 0x04020b00, 0x0000f904, 0x05820b00,
+ 0x0000f904, 0x00003598, 0x0000f008, 0x00004413, 0x00006583, 0x0380240e,
+ 0x00000081, 0x000034f7, 0x00007013, 0x00000409, 0x00006583, 0x8c11820a,
+ 0x00000100, 0x0000351c, 0x0000f00b, 0x8011820a, 0x00009502, 0x8c105a0b,
+ 0x00009908, 0x00003667, 0x00007011, 0x8100c800, 0x0000e180, 0x82d1820b,
+ 0x0000c100, 0x0a614c13, 0x00006001, 0x82209a04, 0x00002086, 0x003020ec,
+ 0x00005702, 0x00007800, 0x00008080, 0x14829230, 0x0000e000, 0x14518051,
+ 0x00000100, 0x8000020b, 0x00001582, 0x00000409, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x00003606, 0x00007010, 0x000035ff, 0x00007010, 0x000850ec,
+ 0x00005780, 0x00d87b00, 0x000000c0, 0x01047c85, 0x0000e281, 0x0c800000,
+ 0x00000980, 0x0c001000, 0x00007900, 0x00004000, 0x00000980, 0x0c410000,
+ 0x0000f900, 0x00040000, 0x00000980, 0x001890ec, 0x0000d780, 0x00004801,
+ 0x00000080, 0x00042c04, 0x00006583, 0x0cc00000, 0x00008980, 0x00047404,
+ 0x00001583, 0xffffffff, 0x00007f86, 0x0000361a, 0x0000f008, 0x0000359a,
+ 0x00007008, 0x01007c85, 0x00009281, 0x00007404, 0x00009583, 0x80007000,
+ 0x0000e190, 0x01000000, 0x00004990, 0x00400000, 0x0000f910, 0x00040010,
+ 0x00008980, 0x000035cb, 0x0000f008, 0x26c00000, 0x0000e180, 0x00000005,
+ 0x00006704, 0x0000389b, 0x0000e106, 0xc0000005, 0x00003407, 0xc1400801,
+ 0x000089d0, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x80406800,
+ 0x00006181, 0x90000005, 0x00006401, 0x00100000, 0x00006380, 0xc0000005,
+ 0x0000a407, 0x26006000, 0x00007900, 0x00004000, 0x00000980, 0xc000389b,
+ 0x00006006, 0x40000894, 0x0000b401, 0x90000001, 0x0000e401, 0x90000805,
+ 0x0000b401, 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180, 0x26400180,
+ 0x00004980, 0x26a00706, 0x0000008d, 0x41e04c07, 0x000080c3, 0x009006ec,
+ 0x00005f80, 0x00904940, 0x0000018c, 0x03c00e50, 0x0000e081, 0x13c00000,
+ 0x00000980, 0x83607c0f, 0x0000e100, 0x03000c0c, 0x0000c081, 0x8012820d,
+ 0x0000e502, 0x94000e50, 0x00000081, 0x0000240c, 0x00001583, 0x8012820d,
+ 0x00001502, 0x0000365a, 0x0000f018, 0x0000350f, 0x00007010, 0x0000350f,
+ 0x00007020, 0x83207a50, 0x00009100, 0x8000220c, 0x00001582, 0x03207c50,
+ 0x00006131, 0x03002000, 0x00008999, 0x03400000, 0x00007900, 0x000014c4,
+ 0x00000980, 0x0440240c, 0x00006081, 0x03c0240f, 0x0000c880, 0x03000540,
+ 0x0000e180, 0x0020880d, 0x0000e106, 0x0402600f, 0x0000e002, 0x83280500,
+ 0x00008900, 0x03c0004d, 0x00006084, 0x75e8000c, 0x00002101, 0x703868ec,
+ 0x00005600, 0x00386000, 0x00008000, 0x03400000, 0x00007900, 0x00007fc0,
+ 0x00000980, 0x83608c11, 0x0000e100, 0x03380005, 0x0000c980, 0x703880ec,
+ 0x00005600, 0x00387800, 0x00008000, 0x0418100c, 0x00006987, 0x703868ec,
+ 0x00005600, 0x00386000, 0x00008000, 0x00d002ec, 0x00005f80, 0x134bf00a,
+ 0x00001584, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x03000ce0,
+ 0x00001283, 0x00003674, 0x00007013, 0x00000414, 0x00006583, 0xb860000a,
+ 0x00008980, 0x3840000e, 0x000080b2, 0xffffffff, 0x00007f97, 0x00003513,
+ 0x00007413, 0x04020b00, 0x0000f904, 0x05820b00, 0x0000f904, 0x00003516,
+ 0x0000f200, 0x8c000000, 0x00009980, 0x0001101e, 0x00001502, 0x80007000,
+ 0x0000e188, 0x01000000, 0x00004988, 0x00400000, 0x0000f908, 0x00040010,
+ 0x00008980, 0x0000369d, 0x0000f010, 0x08003008, 0x0000e206, 0x00000005,
+ 0x00003704, 0x25000800, 0x00006180, 0xc0000005, 0x00006407, 0x81400800,
+ 0x0000e181, 0x26c00002, 0x00004980, 0x80406800, 0x00006181, 0x90000005,
+ 0x00006401, 0x28007000, 0x0000e180, 0xc0000005, 0x00006407, 0x2600e000,
+ 0x0000f900, 0x0000c000, 0x00008980, 0x26400000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00001805,
+ 0x0000e406, 0x00001099, 0x00003406, 0x28400180, 0x0000e180, 0x80001005,
+ 0x00006480, 0x26080098, 0x00006380, 0x00180000, 0x00008380, 0x60000818,
+ 0x0000e402, 0x40000894, 0x0000b401, 0x001830ec, 0x0000d780, 0x00904a00,
+ 0x00000188, 0x0000389b, 0x0000e106, 0x90000001, 0x0000b401, 0x80000899,
+ 0x00006401, 0x80001805, 0x00003403, 0x25480000, 0x000089d8, 0x25c00000,
+ 0x0000e180, 0x26803006, 0x0000c900, 0x40c00400, 0x00008ac8, 0x28c00000,
+ 0x00008ad0, 0x29400000, 0x00000ad8, 0x29c00000, 0x0000e180, 0xe8104208,
+ 0x0000c900, 0x68629f09, 0x00008a04, 0xe6206062, 0x000080c3, 0xc1c03800,
+ 0x00001980, 0x009006ec, 0x00005f80, 0x00904940, 0x0000018c, 0x80007000,
+ 0x00006180, 0x00000005, 0x00006704, 0x26c00000, 0x0000e180, 0xc0000005,
+ 0x00006407, 0x81400800, 0x0000e181, 0x0000389b, 0x0000e106, 0x25000800,
+ 0x00006180, 0x90000005, 0x00006401, 0x26400180, 0x00006180, 0xc0000005,
+ 0x00006407, 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x002ff800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x80406800, 0x00006181, 0x00001805,
+ 0x0000e406, 0x00180000, 0x0000e380, 0x80001005, 0x0000a480, 0x26006000,
+ 0x00007900, 0x00004000, 0x00000980, 0x001830ec, 0x0000d780, 0x00004800,
+ 0x00008080, 0xc000389b, 0x00006006, 0x40000894, 0x0000b401, 0x00006099,
+ 0x00006503, 0x90000001, 0x0000b401, 0x01000000, 0x0000e180, 0x80001805,
+ 0x00006403, 0x25480000, 0x000089d8, 0x25c00000, 0x0000e180, 0x26803006,
+ 0x0000c900, 0x40e06400, 0x000080c3, 0xc1c03800, 0x00001980, 0x009006ec,
+ 0x00005f80, 0x00904940, 0x0000018c, 0xc1008753, 0x0000e283, 0x06000000,
+ 0x00008980, 0x06400100, 0x000081e8, 0x06c00000, 0x00006180, 0x0780f20b,
+ 0x0000c000, 0x000034d6, 0x00007008, 0x01038653, 0x00001281, 0x00008404,
+ 0x00009583, 0x0b400000, 0x0000e188, 0x0b800000, 0x0000c988, 0x0bc00000,
+ 0x00006188, 0x0b003006, 0x0000c908, 0x000034d6, 0x00007010, 0x000034d7,
+ 0x0000f400, 0x02400800, 0x00006181, 0x0000382d, 0x00006106, 0xc000382d,
+ 0x00006806, 0x00003529, 0x0000f400, 0x000858ec, 0x0000d780, 0x00007800,
+ 0x00008080, 0x0a400c29, 0x00006081, 0x0a001028, 0x00000380, 0x00003516,
+ 0x0000f200, 0x84c00000, 0x000083c1, 0x03614c29, 0x0000e101, 0xc0000028,
+ 0x00006606, 0x00000409, 0x00006583, 0x0a400c29, 0x00008181, 0xca518230,
+ 0x00006100, 0x0020002a, 0x00006506, 0x000858ec, 0x00005790, 0x00007800,
+ 0x00008080, 0x0a606c0d, 0x00006111, 0x0a001028, 0x00004390, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008850ec,
+ 0x0000d780, 0x00007800, 0x00008080, 0x82118208, 0x00001000, 0xffffffff,
+ 0x00007f97, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x000034d7,
+ 0x00007000, 0x80007000, 0x00006180, 0x00000005, 0x00006704, 0x08003008,
+ 0x0000e206, 0xc0000005, 0x00003407, 0x25000800, 0x00006180, 0x40001005,
+ 0x0000e406, 0xc140000d, 0x00008ac0, 0x00400000, 0x00007900, 0x00040010,
+ 0x00008980, 0x2600e000, 0x0000f900, 0x0000c000, 0x00008980, 0x26400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x002ff800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x90000005, 0x00006401, 0x20000894, 0x0000b401, 0x2637f898,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x267f8099, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x26c00002, 0x00006180, 0xc0000005, 0x00006407, 0x28400000,
+ 0x0000e180, 0x28843086, 0x00004900, 0x80000653, 0x00006583, 0x682c2d85,
+ 0x00000901, 0xa8006908, 0x00000087, 0x00100000, 0x00006380, 0x40000894,
+ 0x00002401, 0x001128ec, 0x0000d780, 0x00905200, 0x00000188, 0x80000099,
+ 0x0000e401, 0x90000805, 0x0000b401, 0x0000389b, 0x0000e106, 0x000428a0,
+ 0x0000b006, 0x01000000, 0x0000e180, 0x90000001, 0x0000e401, 0x25480000,
+ 0x000089d8, 0x25c00000, 0x0000e180, 0x26803006, 0x0000c900, 0x40c00400,
+ 0x00000acc, 0x29000000, 0x00008ad4, 0x29800000, 0x00008adc, 0xa6031800,
+ 0x0000e181, 0xa8543a87, 0x0000c900, 0xe8684d09, 0x0000e101, 0x2880c086,
+ 0x000040c8, 0x41e04c07, 0x000080c3, 0x009006ec, 0x00005f80, 0x00004800,
+ 0x00000084, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02da1800,
+ 0x0000f900, 0x00034e9c, 0x00008980, 0x030a7000, 0x00007900, 0x00153394,
+ 0x00008980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01400000,
+ 0x000080f4, 0x365a1110, 0x00007500, 0x82600500, 0x00008026, 0x81c01000,
+ 0x0000e180, 0x02801002, 0x0000c900, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02ce5000, 0x0000f900, 0x0024f12a, 0x00008980, 0x03284000,
+ 0x00007900, 0x00167a04, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x01400000, 0x000080f4, 0x36671110, 0x0000f500, 0x82600500,
+ 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900, 0x03202fe4,
+ 0x00001800, 0x81400a0c, 0x0000e180, 0x8100420c, 0x00008080, 0x03429205,
+ 0x00006200, 0x8280420c, 0x00000080, 0x81400000, 0x0000e180, 0x83506a30,
+ 0x00004000, 0x8010220d, 0x00009502, 0x000036aa, 0x0000f02b, 0x81105204,
+ 0x0000e000, 0x81400a05, 0x00000080, 0xaa90220d, 0x0000f82b, 0x81800000,
+ 0x00001b83, 0x36751167, 0x00007100, 0xffffffff, 0x00007f86, 0x00000497,
+ 0x00001583, 0x1b80000a, 0x00006190, 0x1b408000, 0x0000c990, 0x1b000000,
+ 0x00009990, 0x00003591, 0x0000f008, 0x36801147, 0x00007500, 0x1bc60000,
+ 0x0000f900, 0x001f2252, 0x00008980, 0x1c18e000, 0x0000f900, 0x0002b272,
+ 0x00000980, 0x02400000, 0x00006180, 0x00000005, 0x00006704, 0x700000ec,
+ 0x0000d680, 0x00000040, 0x00000080, 0x041c2809, 0x0000e187, 0xc0000005,
+ 0x00003407, 0x2c0036e3, 0x00001680, 0x834588b0, 0x00001000, 0x700708ec,
+ 0x0000d680, 0x00384802, 0x00000000, 0x5878480d, 0x0000a180, 0x00400000,
+ 0x00007900, 0x00040010, 0x00008980, 0x4000680e, 0x000080d7, 0x002ff800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x02400809, 0x00006080, 0x90000005,
+ 0x0000a401, 0x5878480d, 0x00002980, 0x80406800, 0x00006181, 0xc0000005,
+ 0x00006407, 0x5840000d, 0x00005100, 0x00408000, 0x00008080, 0x01000000,
+ 0x0000e180, 0x90000001, 0x0000e401, 0x40e00400, 0x000080dd, 0xc0001000,
+ 0x00001981, 0x009006ec, 0x00005f80, 0x00004800, 0x00000084, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02c17000, 0x00007900, 0x00034e9e,
+ 0x00000980, 0x03210800, 0x00007900, 0x003e1148, 0x00000980, 0x02000000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x01400000, 0x000080f4, 0x36aa1110,
+ 0x00007500, 0x82600500, 0x00008026, 0x81c01000, 0x0000e180, 0x02801002,
+ 0x0000c900, 0x81001a05, 0x00001880, 0x8c102230, 0x00001100, 0x2c102a0a,
+ 0x00001600, 0x010588b0, 0x00009000, 0x8110220d, 0x00001100, 0x0010200c,
+ 0x00001502, 0x83402000, 0x000099d0, 0x8310620d, 0x00001150, 0x0000351c,
+ 0x0000f038, 0x8450220c, 0x00001002, 0x01400c13, 0x0000e191, 0x0407e650,
+ 0x00008291, 0x85908a11, 0x00006110, 0x05c00000, 0x00004991, 0x0000351c,
+ 0x0000f008, 0x0000004f, 0x0000e582, 0x01001800, 0x00008981, 0x94000e50,
+ 0x00006189, 0x05001405, 0x00008881, 0x78432414, 0x00001081, 0x0487e650,
+ 0x00001281, 0x00209410, 0x00001503, 0x04801404, 0x00001891, 0x3842a412,
+ 0x00001091, 0xffffffff, 0x00007f86, 0x03820b00, 0x0000f904, 0x000036cd,
+ 0x00007408, 0x03020b00, 0x00007904, 0x0280600c, 0x00009900, 0x10007500,
+ 0x00007904, 0x00000404, 0x0000e583, 0x0317280c, 0x00008200, 0x10006500,
+ 0x0000f904, 0x01001800, 0x0000e189, 0x01000c04, 0x0000c191, 0x85506216,
+ 0x00001c00, 0xffffffff, 0x00007f86, 0x8590aa16, 0x0000e100, 0x0490a80c,
+ 0x00008100, 0x80000212, 0x00006582, 0x13d72812, 0x00000200, 0x05c00c17,
+ 0x00001089, 0x000036db, 0x0000f011, 0x80000216, 0x00001582, 0x94000e50,
+ 0x00006191, 0x01400c05, 0x00000191, 0x05001405, 0x00009891, 0x000036dd,
+ 0x00007008, 0x000036bd, 0x0000f000, 0x80000216, 0x00001582, 0x000036bd,
+ 0x00007013, 0x38432414, 0x00006081, 0xd000080d, 0x0000a400, 0x0300500a,
+ 0x0000e100, 0x8c108a30, 0x0000c100, 0x04e0bc13, 0x00009101, 0xffffffff,
+ 0x00007f86, 0x0000351c, 0x0000f403, 0x10007500, 0x00007904, 0x10006500,
+ 0x0000f904, 0x00400000, 0x00007900, 0x00040050, 0x00000980, 0x00000822,
+ 0x0000e582, 0xc0c00000, 0x00008980, 0x00000001, 0x00007480, 0x00001000,
+ 0x00006181, 0x90000801, 0x00006419, 0x80c00c22, 0x00006199, 0xc0211422,
+ 0x00008901, 0x8c00000e, 0x000082c0, 0x08400000, 0x000002c8, 0x08c00000,
+ 0x000082d0, 0x09400000, 0x000002d8, 0x09c00000, 0x000002e0, 0x0a400000,
+ 0x00009980, 0xf1c02415, 0x00004288, 0xf2602c15, 0x00000d8d, 0xe2c01d1c,
+ 0x00007897, 0x99800000, 0x00001b8a, 0x00001c15, 0x00001583, 0x0c001800,
+ 0x00006189, 0x0d80b016, 0x00004908, 0x0e00b817, 0x00009908, 0x00003742,
+ 0x0000f010, 0x3701158b, 0x00007204, 0x0dc09800, 0x0000f900, 0x00001c00,
+ 0x00000980, 0x00000434, 0x00001583, 0x887f1fe3, 0x00009908, 0x84c10821,
+ 0x0000a088, 0x0000370a, 0x0000f010, 0xffffffff, 0x00007f97, 0x08403c21,
+ 0x00001281, 0x08401421, 0x00001181, 0x00000c21, 0x00001583, 0x0000370f,
+ 0x0000701b, 0x09d36000, 0x00007900, 0x002fef0e, 0x00000980, 0x370f119b,
+ 0x0000f500, 0x0901a717, 0x0000020b, 0x0980b016, 0x00001900, 0x35c15a33,
+ 0x0000f902, 0x0a800000, 0x00008000, 0x36796633, 0x0000a080, 0x01800ce0,
+ 0x00001283, 0x00003723, 0x0000700b, 0x37151167, 0x0000f100, 0xffffffff,
+ 0x00007f86, 0x00000497, 0x00001583, 0x1b980800, 0x0000e190, 0x1b000000,
+ 0x0000c990, 0x1bc60000, 0x00007910, 0x001f2252, 0x00008980, 0x00003723,
+ 0x00007008, 0x37211147, 0x00007500, 0x1c195800, 0x00007900, 0x002fef10,
+ 0x00000980, 0x1b501202, 0x00006100, 0xdbb71ee3, 0x00004900, 0x00003778,
+ 0x0000f200, 0x08800800, 0x00009980, 0x372536e6, 0x00007300, 0x08802800,
+ 0x00001980, 0x4180651c, 0x00009283, 0x88400ee3, 0x0000e088, 0x01000000,
+ 0x00004988, 0x5e791021, 0x00002108, 0x00003741, 0x0000f010, 0x01400000,
+ 0x000000e4, 0x01800000, 0x000080e0, 0x80005e22, 0x0000e583, 0x0281582b,
+ 0x00000900, 0x02e1172a, 0x0000801c, 0x41791722, 0x0000e101, 0x81c06622,
+ 0x00004199, 0x00003741, 0x0000f218, 0xc1f11622, 0x0000e119, 0x0278df1b,
+ 0x00004919, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02f03000,
+ 0x00007900, 0x002fef0e, 0x00000980, 0x0330e800, 0x0000f900, 0x000a6e22,
+ 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01400000,
+ 0x000080f4, 0x37411110, 0x0000f500, 0x82600500, 0x00008026, 0x81c01000,
+ 0x0000e180, 0x02801002, 0x0000c900, 0x8191622c, 0x00001900, 0x82c124ec,
+ 0x00007902, 0x08800000, 0x00008604, 0x1bc0a014, 0x0000e100, 0x0020a826,
+ 0x00006086, 0x8228a826, 0x00006886, 0x0418a826, 0x0000e987, 0x09412024,
+ 0x00006100, 0x00002022, 0x00006586, 0x09c13026, 0x0000e100, 0x0428a822,
+ 0x00006087, 0x09812825, 0x00006100, 0x8620a822, 0x0000e087, 0x1b06d800,
+ 0x0000f900, 0x0032a52e, 0x00000980, 0x379011bc, 0x0000f500, 0x1bb91727,
+ 0x0000062c, 0x1b413026, 0x00001900, 0x3758158b, 0x00007404, 0x0c002000,
+ 0x00006181, 0x0d80b016, 0x0000c900, 0x0dc09900, 0x0000e180, 0x0e00b817,
+ 0x00004900, 0x00000434, 0x00001583, 0x887f1fe3, 0x00009908, 0x84c10821,
+ 0x0000a088, 0x00003761, 0x00007010, 0xffffffff, 0x00007f97, 0x08403c21,
+ 0x00001281, 0x08401421, 0x00001181, 0x00000c21, 0x00001583, 0x00003766,
+ 0x0000701b, 0x09d24000, 0x00007900, 0x002fef10, 0x00000980, 0x3766119b,
+ 0x0000f500, 0x0901a717, 0x0000020b, 0x0980b016, 0x00001900, 0x35815c33,
+ 0x00007902, 0x0a800000, 0x00008000, 0x08400ce0, 0x00001283, 0x00003783,
+ 0x0000700b, 0x376b1167, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000497,
+ 0x00001583, 0x1b980800, 0x0000e190, 0x1b000000, 0x0000c990, 0x1bc60000,
+ 0x00007910, 0x001f2252, 0x00008980, 0x00003783, 0x00007008, 0x37771147,
+ 0x00007500, 0x1c195800, 0x00007900, 0x002fef10, 0x00000980, 0x1b501202,
+ 0x00006100, 0xdbb71ee3, 0x00004900, 0x08800800, 0x00009980, 0x377936e6,
+ 0x0000f100, 0x2c0036e3, 0x00001680, 0x884588b0, 0x00009000, 0x58782821,
+ 0x00002180, 0xffffffff, 0x00007fa7, 0x01400805, 0x00009080, 0x58782821,
+ 0x0000a980, 0x58400021, 0x0000d100, 0x00409800, 0x00008080, 0x008806ec,
+ 0x00005f80, 0x00006800, 0x00008084, 0x0d41582b, 0x0000e100, 0x00104025,
+ 0x0000e186, 0x37893486, 0x0000f404, 0x0d01502a, 0x00006100, 0x04184025,
+ 0x00006187, 0x0d812825, 0x00009900, 0x0000378c, 0x00007200, 0x08800800,
+ 0x00009980, 0x08803001, 0x000003c2, 0x374236e6, 0x00007100, 0x00003742,
+ 0x00007000, 0x0000378c, 0x00007200, 0x08803801, 0x000083c2, 0x379237a9,
+ 0x00007300, 0x09418714, 0x0000821b, 0x00009020, 0x00006484, 0x01000021,
+ 0x00003586, 0x0ac0d81b, 0x0000e100, 0x00001823, 0x00006106, 0x000800ec,
+ 0x00005780, 0x00004800, 0x00008080, 0x00001c15, 0x0000e583, 0x0b00e01c,
+ 0x00008900, 0xc0001823, 0x0000e006, 0x00300021, 0x0000b507, 0x000008ec,
+ 0x0000d788, 0x00004801, 0x00000080, 0x08a81402, 0x00008208, 0x0938af14,
+ 0x00000214, 0x09b8bf16, 0x0000021c, 0x0a38cf18, 0x00000224, 0x0ab8ef1a,
+ 0x00000234, 0x0bb8ff1e, 0x0000023c, 0xc8232000, 0x0000e180, 0x4af83f07,
+ 0x0000c901, 0x8b202907, 0x0000022e, 0x008046ec, 0x00005f80, 0x00005001,
+ 0x00008084, 0x55b998ec, 0x00002180, 0x89f71ee3, 0x00001900, 0xffffffff,
+ 0x00007f97, 0x80119a27, 0x00009502, 0x80199a27, 0x00001502, 0xffffffff,
+ 0x00007f86, 0x000037b9, 0x00007008, 0x000037b7, 0x0000f008, 0x80172a33,
+ 0x00001502, 0x8cf71ee3, 0x00009908, 0x000037b9, 0x0000f009, 0xc0172b33,
+ 0x00001502, 0xccf71ee3, 0x00001908, 0x000037b9, 0x0000f011, 0x000037ba,
+ 0x00007200, 0x88400800, 0x00001980, 0x88400000, 0x00009980, 0xffffffff,
+ 0x00007f86, 0x2c003221, 0x00001680, 0x89c588b0, 0x00009000, 0x89c00a27,
+ 0x00009080, 0x55818827, 0x00007902, 0x0c000000, 0x00008100, 0x55817a27,
+ 0x0000f902, 0x0b800000, 0x00008100, 0x55816c27, 0x00007902, 0x0b000000,
+ 0x00000100, 0x55815e27, 0x0000f902, 0x0a800000, 0x00000100, 0x55c14827,
+ 0x0000f902, 0x0a000000, 0x00008100, 0x55c12227, 0x0000f902, 0x08800000,
+ 0x00008100, 0x00603026, 0x0000c389, 0x00603026, 0x00000098, 0x00201026,
+ 0x00004489, 0xc8601026, 0x00000d9f, 0x00c00026, 0x0000c790, 0x02c05026,
+ 0x00008488, 0xfde05026, 0x000044b0, 0x28606026, 0x00000e88, 0x04406026,
+ 0x0000f8aa, 0xa9c00000, 0x00009b8f, 0x00000826, 0x00009582, 0xcc400b31,
+ 0x00001088, 0x00003817, 0x00007009, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02ee9000, 0x00007900, 0x00328e8c, 0x00008980, 0x030a7000,
+ 0x00007900, 0x00153394, 0x00008980, 0x02000000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x01400000, 0x000080f4, 0x38171110, 0x0000f500, 0x82600500,
+ 0x00008026, 0x81c01000, 0x0000e180, 0x02801002, 0x0000c900, 0x00002026,
+ 0x00009582, 0xcb912a25, 0x00006108, 0x8b800a2e, 0x00004088, 0x00003817,
+ 0x00007009, 0x00002026, 0x00009582, 0x8bc00a2f, 0x000060b0, 0xcbd12a25,
+ 0x00008930, 0xcb512a25, 0x0000e118, 0x8b400a2d, 0x0000c098, 0x00003817,
+ 0x00007030, 0x00003817, 0x00007000, 0x00004026, 0x00009582, 0xca512a25,
+ 0x0000e108, 0x8a400a29, 0x00004088, 0x00003817, 0x00007009, 0x01804026,
+ 0x000078b2, 0x59c00000, 0x00001c80, 0x00006826, 0x00009582, 0xc8912a25,
+ 0x00006108, 0x88800a22, 0x00004088, 0x00003817, 0x00007009, 0x000037d7,
+ 0x00007000, 0x0c400001, 0x000003c0, 0x0bc00000, 0x000082f8, 0x0b400000,
+ 0x000082f0, 0x0ac00000, 0x000082e8, 0x00003817, 0x0000f400, 0x0a400000,
+ 0x000082e0, 0x08800000, 0x000002d0, 0x00003817, 0x0000f200, 0x8c000a30,
+ 0x00009080, 0x00003817, 0x0000f200, 0xcb112a25, 0x00006100, 0x8b000a2c,
+ 0x0000c080, 0x00003817, 0x0000f400, 0x80000221, 0x00006582, 0xcc000b30,
+ 0x00000080, 0x8cd72ae5, 0x0000e108, 0xccd72ae5, 0x00004910, 0x00003817,
+ 0x0000f200, 0xcad12a25, 0x0000e100, 0x8ac00a2b, 0x0000c080, 0x00003817,
+ 0x0000f200, 0xca912a25, 0x00006100, 0x8a800a2a, 0x0000c080, 0x00003817,
+ 0x0000f200, 0xca112a25, 0x0000e100, 0x8a000a28, 0x0000c080, 0x00003817,
+ 0x0000f200, 0xc9112a25, 0x0000e100, 0x89000a24, 0x0000c080, 0xffffffff,
+ 0x00007f86, 0x55b998ec, 0x0000a980, 0x55b98827, 0x00005100, 0x00398000,
+ 0x00008000, 0x55b97a27, 0x0000d100, 0x00397000, 0x00008000, 0x55b96c27,
+ 0x00005100, 0x00396000, 0x00000000, 0x55b95e27, 0x0000d100, 0x00395000,
+ 0x00000000, 0x00000001, 0x00007480, 0x55f94827, 0x0000d100, 0x00394000,
+ 0x00008000, 0x55f92227, 0x0000d100, 0x00391000, 0x00008000, 0x80007000,
+ 0x00006180, 0x00000005, 0x00006704, 0x00400000, 0x00007900, 0x00040010,
+ 0x00008980, 0x80406800, 0x00006181, 0xc0000005, 0x00006407, 0x0a00e000,
+ 0x00007900, 0x0000c000, 0x00008980, 0x0a400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x81400800, 0x0000e181, 0x90000001, 0x0000e401, 0x002ff800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x0a37f828, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x0a7f8029, 0x00007900, 0x003ffffe, 0x00008280, 0x81000b0c,
+ 0x00006080, 0x90000005, 0x0000a401, 0x0c000000, 0x000083c4, 0x0cc00000,
+ 0x000003d4, 0x0ac00002, 0x0000e180, 0x90000801, 0x00006401, 0x001000ec,
+ 0x00005780, 0x00004801, 0x00000080, 0x80000029, 0x00006401, 0xc0000005,
+ 0x00003407, 0x00024830, 0x0000e006, 0x0000382b, 0x00003106, 0x0d000000,
+ 0x000003dc, 0x0aa02706, 0x0000008d, 0x0caa4448, 0x00008308, 0x8da0360a,
+ 0x00008083, 0x8a033000, 0x00006181, 0xc310274b, 0x00004000, 0x4c4a4f09,
+ 0x0000830c, 0x0ce25d49, 0x00000314, 0x0d60034b, 0x0000009d, 0x01000000,
+ 0x00009980, 0x008856ec, 0x00005f80, 0x00905300, 0x00008184, 0x06007c49,
+ 0x0000e281, 0x00000005, 0x0000a704, 0x00400000, 0x00007900, 0x00040010,
+ 0x00008980, 0x80007000, 0x00006180, 0xc0000005, 0x00006407, 0x0a00e000,
+ 0x00007900, 0x0000c000, 0x00008980, 0x0a400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x00006418, 0x00006583, 0x80406800, 0x00008981, 0x81400800,
+ 0x0000e181, 0x90000001, 0x0000e401, 0x002ff800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x0a37f828, 0x0000f900, 0x003ffffe, 0x00008280, 0x0a7f8029,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x0c000000, 0x00006180, 0x90000005,
+ 0x00006401, 0x0c400000, 0x000083cc, 0x0d400000, 0x00006180, 0x0ac00002,
+ 0x0000c980, 0x90000801, 0x00006401, 0x80000029, 0x00003401, 0x00024830,
+ 0x0000e006, 0xc0000005, 0x00003407, 0xc3000b0c, 0x00006080, 0x0000382b,
+ 0x0000a106, 0x0d000000, 0x000003dc, 0x01000000, 0x0000e180, 0x0a803006,
+ 0x00004900, 0xc0c02000, 0x0000e180, 0x8c924248, 0x0000c900, 0x0cb05548,
+ 0x0000031a, 0xc0034406, 0x000002e3, 0x00003882, 0x00007410, 0x4c4a4f09,
+ 0x0000830c, 0x0d60044b, 0x0000809d, 0x0010b0ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0x001000ec, 0x00005780, 0x00004801, 0x00000080, 0x000850ec,
+ 0x00005780, 0x00905300, 0x00000180, 0xca002f28, 0x00001081, 0x00989eec,
+ 0x00005f80, 0x00005000, 0x00000084, 0x001000ec, 0x00005780, 0x00004801,
+ 0x00000080, 0x00005418, 0x00009583, 0x000850ec, 0x00005780, 0x00905300,
+ 0x00000180, 0xca001f28, 0x00009089, 0x00989eec, 0x00005f80, 0x00005000,
+ 0x00000084, 0x08042c05, 0x00006806, 0x02c01c05, 0x0000e181, 0x01006c05,
+ 0x00000281, 0x00004c04, 0x00001583, 0x00000c0b, 0x00001593, 0x0000389c,
+ 0x00007033, 0x00007c05, 0x00009583, 0x01c00020, 0x0000e190, 0x02000000,
+ 0x00004990, 0x01400000, 0x0000e190, 0x03400000, 0x00004990, 0x000038c1,
+ 0x00007008, 0x02ca5000, 0x00007900, 0x002a444e, 0x00000980, 0x000038af,
+ 0x0000f400, 0x0318a000, 0x0000f900, 0x002c9506, 0x00000980, 0x81c01000,
+ 0x00009980, 0x17204c05, 0x00004389, 0x00604c05, 0x00000098, 0x00801c05,
+ 0x00004790, 0x81605c05, 0x0000018f, 0x30407c05, 0x0000f88a, 0x39c00000,
+ 0x00001c85, 0x00002405, 0x00001583, 0x09805000, 0x00006188, 0x08003004,
+ 0x0000620e, 0x09402004, 0x00009908, 0x000038b7, 0x0000f008, 0x01c00020,
+ 0x00006180, 0x02000000, 0x0000c980, 0x02cc5800, 0x0000f900, 0x002a444e,
+ 0x00000980, 0x03049000, 0x00007900, 0x00232fce, 0x00000980, 0x01400000,
+ 0x000080f4, 0x81c01000, 0x00009980, 0xc1c00800, 0x0000e181, 0x08001a09,
+ 0x0000e106, 0x38c11110, 0x00007500, 0x82600500, 0x00008026, 0x02801002,
+ 0x00009900, 0x09805000, 0x0000e180, 0x08003004, 0x0000e206, 0x09402004,
+ 0x00001900, 0x38c137a9, 0x0000f100, 0x000038c1, 0x0000f000, 0x000038b7,
+ 0x0000f400, 0x09804000, 0x00006180, 0x08003004, 0x0000e206, 0x09402004,
+ 0x00001900, 0x000038b7, 0x0000f400, 0x09805800, 0x00006180, 0x08003004,
+ 0x0000e206, 0x09402004, 0x00001900, 0x00000c0b, 0x00006583, 0x28040000,
+ 0x00000980, 0x08003004, 0x0000e206, 0x000428a0, 0x0000b006, 0x28400000,
+ 0x00000ac8, 0x28c00000, 0x00008ad0, 0x29400000, 0x00000ad8, 0x29c00000,
+ 0x0000e180, 0x03b43e87, 0x0000c901, 0x000038d5, 0x00007418, 0x28082185,
+ 0x00008a02, 0xe8684d09, 0x0000e101, 0xe8943a87, 0x00004930, 0x00002405,
+ 0x0000e583, 0x000050a0, 0x00002406, 0xa8bc7288, 0x00000a14, 0x0000395a,
+ 0x00007400, 0x29bc878f, 0x00000a1c, 0x02004000, 0x00006191, 0x02006800,
+ 0x00004989, 0x00005c05, 0x00001583, 0x00000c88, 0x00001583, 0xffffffff,
+ 0x00007f86, 0x00003959, 0x00007010, 0x00003930, 0x00007010, 0x0000004e,
+ 0x00009582, 0x94228450, 0x00001909, 0x94000000, 0x00009991, 0x000038e7,
+ 0x0000f008, 0x80002250, 0x00001582, 0x000038ed, 0x0000701b, 0x000038ea,
+ 0x0000f000, 0x02c01650, 0x00001881, 0x7842b40b, 0x00001081, 0xffffffff,
+ 0x00007fc7, 0x01000a00, 0x0000f904, 0x00000004, 0x00001582, 0x000038e9,
+ 0x0000700b, 0x0000392f, 0x0000f200, 0x13c00000, 0x00009980, 0x94000e50,
+ 0x00009081, 0x81328650, 0x00009900, 0x38528204, 0x0000782a, 0x79c00000,
+ 0x00009c89, 0x00003928, 0x00007400, 0x03400050, 0x00008096, 0x02e44488,
+ 0x00009901, 0x0300840d, 0x00006481, 0x01002650, 0x0000c880, 0x02000000,
+ 0x00007900, 0x000010c4, 0x00008980, 0x02826004, 0x0000e002, 0x8140240c,
+ 0x00008880, 0x81002d00, 0x0000e080, 0x00102808, 0x0000e106, 0x82680500,
+ 0x00006100, 0xc25ad204, 0x00004080, 0x703840ec, 0x00005600, 0x00384800,
+ 0x00008000, 0x02000000, 0x00007900, 0x00007fc0, 0x00000980, 0x03c0004d,
+ 0x00006084, 0x01380005, 0x00008980, 0x703850ec, 0x0000d600, 0x00387800,
+ 0x00008000, 0x8200240c, 0x0000e080, 0x04181004, 0x00006187, 0x703840ec,
+ 0x00005600, 0x00382000, 0x00000000, 0x0360640d, 0x00009101, 0x00d002ec,
+ 0x00005f80, 0x1388480a, 0x00001584, 0x0000040b, 0x0000e583, 0x01400000,
+ 0x00000981, 0x94000000, 0x00009991, 0x01000c05, 0x00006080, 0x82c02d00,
+ 0x0000c880, 0x82d0220b, 0x00006000, 0x02505a0b, 0x00000900, 0x35b8460b,
+ 0x00002080, 0xffffffff, 0x00007fa7, 0x00000008, 0x00001582, 0x13c00000,
+ 0x00006190, 0x02c7e405, 0x0000c291, 0x01400800, 0x0000e191, 0x01000c0b,
+ 0x00004890, 0x00003922, 0x00007008, 0x82d02209, 0x00001000, 0x35baa40b,
+ 0x00003038, 0x35bab60b, 0x00003038, 0x35fac00b, 0x00003038, 0x35fad20b,
+ 0x00003038, 0x35fae40b, 0x00003038, 0x35faf60b, 0x00003038, 0x00003927,
+ 0x00007400, 0x363b000b, 0x0000b038, 0x363b120b, 0x0000b038, 0x94000e50,
+ 0x00006081, 0x01400c05, 0x00000081, 0x00202c0c, 0x00009503, 0x01400000,
+ 0x00001989, 0x0000390c, 0x0000f011, 0x02c00000, 0x00001981, 0x0000040d,
+ 0x0000e583, 0x01000000, 0x00008981, 0x01400c05, 0x0000e481, 0x01000800,
+ 0x00008991, 0xffffffff, 0x00007f86, 0x01202405, 0x00001203, 0x000038f0,
+ 0x0000f013, 0x14428889, 0x00001000, 0x80007000, 0x00006180, 0x00000005,
+ 0x00006704, 0x25000800, 0x00006180, 0xc0000005, 0x00006407, 0x26c00002,
+ 0x00006180, 0x40001005, 0x0000e406, 0x80000687, 0x00006583, 0x81404000,
+ 0x00000981, 0x90000005, 0x00006401, 0x20000894, 0x0000b401, 0x00400000,
+ 0x00007900, 0x00040010, 0x00008980, 0x2600e000, 0x0000f900, 0x0000c000,
+ 0x00008980, 0x26400000, 0x0000f900, 0x00010000, 0x00000980, 0x002ff800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x80404000, 0x00006181, 0xc0000005,
+ 0x00006407, 0x2637f898, 0x0000f900, 0x003ffffe, 0x00008280, 0x267f8099,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x00100000, 0x00006380, 0x90000805,
+ 0x00002401, 0x0000389b, 0x0000e106, 0x90000001, 0x0000b401, 0x001128ec,
+ 0x00005790, 0x00905200, 0x00000188, 0x01000000, 0x0000e180, 0x80000099,
+ 0x0000e401, 0x01787805, 0x0000f908, 0x003ffffe, 0x00008280, 0x25480000,
+ 0x000089d8, 0x25c00000, 0x0000e180, 0x26803006, 0x0000c900, 0x40c31c00,
+ 0x000089e3, 0x41e04c07, 0x000080c3, 0x009006ec, 0x00005f80, 0x00884c80,
+ 0x000083c4, 0x02004000, 0x00009981, 0x80007000, 0x00006180, 0x00000005,
+ 0x00006704, 0x25000800, 0x00006180, 0xc0000005, 0x00006407, 0x26c00002,
+ 0x00006180, 0x40001005, 0x0000e406, 0x90000005, 0x00006401, 0x20000894,
+ 0x0000b401, 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x2600e000,
+ 0x0000f900, 0x0000c000, 0x00008980, 0x26400000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x002ff800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0000005,
+ 0x00006407, 0x90000001, 0x0000b401, 0x2637f898, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x267f8099, 0x00007900, 0x003ffffe, 0x00008280, 0x00100000,
+ 0x00006380, 0x81604408, 0x00000901, 0x001000ec, 0x00005780, 0x00884c80,
+ 0x000003c0, 0x0000389b, 0x0000e106, 0x80000099, 0x0000b401, 0x01000000,
+ 0x0000e180, 0x90000805, 0x0000e401, 0x25480000, 0x000089d8, 0x25c00000,
+ 0x0000e180, 0x26803006, 0x0000c900, 0xc0c00000, 0x00006180, 0x80604408,
+ 0x00004901, 0xe6204863, 0x000000c3, 0xc1c03800, 0x00001980, 0x63800687,
+ 0x0000788a, 0x01c00001, 0x00008080, 0xffffffff, 0x00007f86, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009128ec,
+ 0x00005780, 0x00905200, 0x00000188, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x03800c0e, 0x0000e181, 0x20000094,
+ 0x0000a401, 0x6040040e, 0x00007892, 0x01c00001, 0x00008080, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x283bf8a0, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x00912eec, 0x0000df80, 0x00905200, 0x0000818c, 0xffc00000,
+ 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x0000339b, 0x00007000, 0x01001438, 0x00006283, 0x01400000,
+ 0x00008980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0x0419c805,
+ 0x0000e987, 0x700008ec, 0x00005680, 0x00382802, 0x00000000, 0x40005d1c,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x000039bf, 0x0000f008, 0x000039bf,
+ 0x0000f010, 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0, 0x0008a0ec,
+ 0x00005780, 0x00d87dc0, 0x000000c0, 0x17c80005, 0x0000e180, 0x1180f01e,
+ 0x00004900, 0x03009000, 0x0000f900, 0x00012040, 0x00000980, 0x03401000,
+ 0x0000f900, 0x0001c008, 0x00008980, 0x17800000, 0x00007900, 0x00207fc0,
+ 0x00008980, 0x001088ec, 0x00005780, 0x00005000, 0x00008080, 0x11c00f1f,
+ 0x000084b0, 0x13800000, 0x000084fc, 0x13401002, 0x0000e100, 0x02000824,
+ 0x00004980, 0x02400000, 0x000000e8, 0x02d300a0, 0x00006180, 0x03c00004,
+ 0x0000c980, 0x03a8ec1d, 0x00008038, 0x14004001, 0x00006180, 0x14401000,
+ 0x00004980, 0x14800000, 0x000085cc, 0x17000000, 0x000085f4, 0x17e05d02,
+ 0x000004af, 0x05c00000, 0x00006180, 0x05400040, 0x00004980, 0x05803006,
+ 0x00006100, 0x00003817, 0x00006106, 0x05006000, 0x0000f900, 0x00004000,
+ 0x00000980, 0xc0003817, 0x00006806, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008828ec, 0x0000d780, 0x00004800,
+ 0x00008080, 0xffc00000, 0x00006180, 0x004000a8, 0x00004980, 0x003fd800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0xc0200401, 0x000000cd, 0x008806ec,
+ 0x00005f80, 0x00004800, 0x00000084, 0x01001428, 0x00001283, 0x40005d1c,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x000039f2, 0x0000f008, 0x000039f2,
+ 0x0000f010, 0x001010ec, 0x0000d780, 0x009054c0, 0x000080c0, 0x0008a0ec,
+ 0x00005780, 0x00d87dc0, 0x000000c0, 0x17c80005, 0x0000e180, 0x0d80f01e,
+ 0x0000c900, 0x03009000, 0x0000f900, 0x00012040, 0x00000980, 0x03401000,
+ 0x0000f900, 0x0001c008, 0x00008980, 0x17800000, 0x00007900, 0x00207fc0,
+ 0x00008980, 0x001068ec, 0x0000d780, 0x00005000, 0x00008080, 0x0dc00f1f,
+ 0x000004b0, 0x13800000, 0x000084fc, 0x13401002, 0x0000e100, 0x02000824,
+ 0x00004980, 0x02400000, 0x000000e8, 0x02d300a0, 0x00006180, 0x03c00004,
+ 0x0000c980, 0x03a8ec1d, 0x00008038, 0x14004001, 0x00006180, 0x14401000,
+ 0x00004980, 0x14800000, 0x000085cc, 0x17000000, 0x000085f4, 0x17e05d02,
+ 0x000083af, 0xffc00000, 0x00006180, 0x004000a8, 0x00004980, 0x003fd800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0xc0200401, 0x000000cd, 0x008806ec,
+ 0x00005f80, 0x00004800, 0x00000084, 0x1cc00000, 0x0000e180, 0x9c901202,
+ 0x00004900, 0xdc981302, 0x0000e100, 0x00001873, 0x00006106, 0x1c001000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x1c580800, 0x00007900, 0x00004080,
+ 0x00008980, 0x21008000, 0x0000e180, 0xc0001873, 0x0000e006, 0x21400020,
+ 0x00006180, 0x21800000, 0x0000c980, 0x21c00000, 0x00001980, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0088e0ec,
+ 0x00005780, 0x00804040, 0x000000c8, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x7fc00400, 0x000087cc, 0x003fd800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x20ca0005, 0x0000e180, 0x00001873,
+ 0x00006106, 0x0700101c, 0x00006380, 0x601fe820, 0x00002502, 0x1d000000,
+ 0x0000f900, 0x00001000, 0x00000980, 0x1b000000, 0x0000f900, 0x0002020e,
+ 0x00000980, 0x1c001000, 0x0000f900, 0x00010000, 0x00000980, 0x1c701800,
+ 0x0000f900, 0x00044080, 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0,
+ 0x00008980, 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080, 0x00400000,
+ 0x00007900, 0x00008050, 0x00000980, 0x1d400000, 0x0000e180, 0xc0001873,
+ 0x0000e006, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
+ 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x1b400006,
+ 0x000006f8, 0x1bc00000, 0x00006180, 0x9c901202, 0x00004900, 0x1c800502,
+ 0x00008880, 0x20602000, 0x000000c3, 0x20e05d02, 0x000081b2, 0xc0c01800,
+ 0x00001980, 0x008806ec, 0x00005f80, 0x008849c0, 0x000081c4, 0x41001528,
+ 0x00001283, 0x13004800, 0x00006190, 0x13400000, 0x0000c990, 0x13c00000,
+ 0x00006190, 0x13800000, 0x0000c990, 0x00003a9c, 0x00007010, 0x0100141c,
+ 0x00009283, 0x00003a92, 0x0000f013, 0x41000d28, 0x00001283, 0x3a3d39f9,
+ 0x00007113, 0x48200c28, 0x00004497, 0x0e601428, 0x00000e8d, 0x0ac0141c,
+ 0x00004596, 0x85a01528, 0x00008392, 0x1d000000, 0x00006180, 0x0f014404,
+ 0x00006000, 0x1cc00000, 0x0000e180, 0x82202074, 0x0000e002, 0x0ec14404,
+ 0x0000e000, 0x00001873, 0x00003106, 0x1dc00000, 0x00006180, 0x61a02074,
+ 0x0000e002, 0x20ca0005, 0x0000e180, 0x0d814404, 0x00006000, 0x1d400000,
+ 0x00007900, 0x00001000, 0x00000980, 0x65a02074, 0x0000e003, 0xc0001873,
+ 0x0000b006, 0x1d800000, 0x0000e180, 0x0e814404, 0x00006000, 0x1e400000,
+ 0x0000e180, 0xe3a02075, 0x00006002, 0x1ec00000, 0x00006180, 0x0f414404,
+ 0x0000e000, 0x012022ec, 0x0000e101, 0x1f400000, 0x00008980, 0x1b000000,
+ 0x0000f900, 0x0002020e, 0x00000980, 0xa2a02075, 0x00006002, 0x3081406c,
+ 0x0000b000, 0x1f800000, 0x00006180, 0x0fc14404, 0x00006000, 0x1c001000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x1c701800, 0x0000f900, 0x00044080,
+ 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0010d8ec,
+ 0x00005780, 0x00007801, 0x00000080, 0x1fc00000, 0x0000e180, 0xe7a02074,
+ 0x0000e003, 0x1e01582b, 0x0000e100, 0x1f00402c, 0x00004880, 0x1e80372d,
+ 0x000006b4, 0x1b800000, 0x000086fc, 0x1ca81402, 0x00008708, 0x20000000,
+ 0x000088c4, 0x9de81134, 0x0000880c, 0x01001428, 0x00001283, 0x0100141c,
+ 0x00009283, 0x41001528, 0x00001283, 0x00003a87, 0x00007008, 0x00003a95,
+ 0x00007010, 0x00003a99, 0x00007010, 0x001010ec, 0x0000d780, 0x009054c0,
+ 0x000080c0, 0xc000073b, 0x0000e583, 0x13000000, 0x00000980, 0x03009000,
+ 0x0000f900, 0x00012040, 0x00000980, 0x03401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x001068ec, 0x0000d780, 0x00005000, 0x00008080, 0x0db8ff1e,
+ 0x0000031c, 0x13800000, 0x000084fc, 0x13401002, 0x0000e100, 0x02000824,
+ 0x00004980, 0x02400000, 0x000000e8, 0x02d300a0, 0x00006180, 0x03c00004,
+ 0x0000c980, 0x03a8ec1d, 0x00008038, 0x13000800, 0x00001991, 0x01000c28,
+ 0x0000e283, 0x00400008, 0x00008980, 0x01001800, 0x0000e191, 0x01002800,
+ 0x0000c989, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0c00000,
+ 0x00006180, 0x80602404, 0x00004901, 0xc0000800, 0x00001981, 0x008806ec,
+ 0x00005f80, 0x00004800, 0x00000084, 0x01002428, 0x00001283, 0x00003a3b,
+ 0x0000f013, 0x3a9539d2, 0x00007100, 0xc0005f3b, 0x00009583, 0xcee8e51c,
+ 0x00001911, 0x9d001528, 0x0000788e, 0x01c00001, 0x00008080, 0x13000000,
+ 0x000084f4, 0x13800000, 0x000084fc, 0x1321a434, 0x00009901, 0x01000c28,
+ 0x0000e283, 0x03c00000, 0x00008980, 0x01001800, 0x0000e191, 0x01002800,
+ 0x0000c989, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400008,
+ 0x00006180, 0xc000180f, 0x00006006, 0x03009000, 0x0000f900, 0x0000a100,
+ 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x001010ec,
+ 0x0000d780, 0x009054c0, 0x000080c0, 0x02000804, 0x0000e180, 0x02400000,
+ 0x00004980, 0x02800000, 0x00006180, 0x02d30020, 0x0000c980, 0x03a00f02,
+ 0x00000083, 0x40600604, 0x0000008d, 0x008806ec, 0x00005f80, 0x00004800,
+ 0x00000084, 0x00000405, 0x00006583, 0x00020020, 0x00002586, 0x0700101c,
+ 0x00006380, 0x00302820, 0x00002082, 0x47302e05, 0x00006101, 0x82202820,
+ 0x0000e004, 0x00003ad1, 0x0000f208, 0x05c00000, 0x0000e190, 0xb2e82820,
+ 0x00006080, 0x01400000, 0x000081e8, 0x700000ec, 0x0000d680, 0x00000040,
+ 0x00000080, 0x00003817, 0x00006106, 0x0419c805, 0x00003187, 0x05006000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x05580800, 0x0000f900, 0x00004080,
+ 0x00008980, 0x06400000, 0x00007900, 0x00004042, 0x00000980, 0x08003a1a,
+ 0x0000e106, 0xc0003817, 0x0000b006, 0x700008ec, 0x00005680, 0x00382802,
+ 0x00000000, 0x05800706, 0x000081a0, 0x06c00000, 0x00001980, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec,
+ 0x0000d780, 0x00004800, 0x00008080, 0x1cc00000, 0x0000e180, 0x1c801002,
+ 0x0000c900, 0x21000000, 0x00006180, 0x00001873, 0x00006106, 0x1c001000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x1c580800, 0x00007900, 0x00004080,
+ 0x00008980, 0x21400020, 0x00006180, 0xc0001873, 0x0000e006, 0x21c00000,
+ 0x000088d8, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0088e0ec, 0x00005780, 0x00804040, 0x000000c8, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x7fc00400,
+ 0x000087cc, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x20ca0005,
+ 0x0000e180, 0x00001873, 0x00006106, 0x1b000000, 0x0000f900, 0x0002020e,
+ 0x00000980, 0x1c001000, 0x0000f900, 0x00010000, 0x00000980, 0x1c701800,
+ 0x0000f900, 0x00044080, 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0,
+ 0x00008980, 0x0010d8ec, 0x00005780, 0x00007801, 0x00000080, 0x00400000,
+ 0x00007900, 0x00008050, 0x00000980, 0x1d020000, 0x0000e180, 0xc0001873,
+ 0x0000e006, 0x1d400008, 0x00006180, 0x1d800000, 0x0000c980, 0x1dc00000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x1e00373b, 0x000006b4, 0x1b800000, 0x000086fc, 0x1ca81402,
+ 0x00008708, 0x20000000, 0x000088c4, 0xc0002000, 0x00006181, 0xe0d81302,
+ 0x00004900, 0xc0c01800, 0x00001980, 0x008806ec, 0x00005f80, 0x008849c0,
+ 0x000081c4, 0x0100141c, 0x00009283, 0x3b083999, 0x0000f113, 0xc000033a,
+ 0x00009582, 0x0800302a, 0x0000ea16, 0x0abff82a, 0x0000f910, 0x000000fe,
+ 0x00008280, 0x00003d04, 0x00007008, 0x1400402a, 0x00009880, 0x0129c850,
+ 0x00006302, 0x10828539, 0x00000300, 0x08003a2a, 0x0000e916, 0x0151522a,
+ 0x00001910, 0x00003c24, 0x00007008, 0x6141422a, 0x00007902, 0x08300000,
+ 0x00008101, 0x6160222a, 0x0000a101, 0xffffffff, 0x00007f97, 0x00003028,
+ 0x00001502, 0x00398c20, 0x00009503, 0xffffffff, 0x00007f86, 0x00003cf6,
+ 0x00007010, 0x00003c5b, 0x0000f010, 0x6150222a, 0x0000a102, 0xffffffff,
+ 0x00007f86, 0x00295c20, 0x00009503, 0x01402000, 0x0000f910, 0x00140000,
+ 0x00008980, 0x01000c04, 0x00009081, 0x00003b4e, 0x00007208, 0x6158222a,
+ 0x0000a901, 0x757954ec, 0x0000a180, 0xffffffff, 0x00007fa7, 0x0a80082a,
+ 0x00009080, 0x757954ec, 0x00002980, 0x08003a2a, 0x00006906, 0x04115005,
+ 0x00006901, 0x80382aec, 0x00005600, 0x00000001, 0x00000080, 0x800142ec,
+ 0x0000f902, 0x0a400000, 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000,
+ 0x00000600, 0x800162ec, 0x00007902, 0x0b400000, 0x00000600, 0x800172ec,
+ 0x0000f902, 0x0bc00000, 0x00008600, 0xffffffff, 0x00007f86, 0x00295c20,
+ 0x00009503, 0x00003b4e, 0x0000f00b, 0x01000002, 0x00001980, 0xc1280500,
+ 0x00001900, 0x770000ec, 0x00005680, 0x00382000, 0x00000000, 0x00c002ec,
+ 0x0000df80, 0x1399e80b, 0x00009684, 0x08003a04, 0x00006906, 0x0a002000,
+ 0x00007900, 0x00140000, 0x00008980, 0x04102028, 0x00006901, 0x803942ec,
+ 0x00005600, 0x00000001, 0x00000080, 0x800142ec, 0x0000f902, 0x0a400000,
+ 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000, 0x00000600, 0x800162ec,
+ 0x00007902, 0x0b400000, 0x00000600, 0x800172ec, 0x0000f902, 0x0bc00000,
+ 0x00008600, 0xffffffff, 0x00007f86, 0x00295c20, 0x00009503, 0x00003b37,
+ 0x00007013, 0x0a01f33a, 0x00006002, 0x0ec18420, 0x0000a004, 0x0d41c405,
+ 0x00006000, 0x0c015c29, 0x00003000, 0x0a80003f, 0x0000e084, 0x0119d33a,
+ 0x00008900, 0x91414805, 0x0000c411, 0x14601c20, 0x00000fb1, 0x00003420,
+ 0x00007890, 0x00000000, 0x00000000, 0x22040530, 0x0000788f, 0x01c00001,
+ 0x00000060, 0x2299831c, 0x0000f813, 0x01c00001, 0x00000000, 0x91494f39,
+ 0x0000c313, 0x00620531, 0x00000090, 0x0001f835, 0x0000f81a, 0x00000000,
+ 0x00000000, 0x0001f835, 0x0000f810, 0x00000000, 0x00000000, 0x0001f034,
+ 0x00007830, 0x00000000, 0x00008020, 0x22810531, 0x00007897, 0x01c00001,
+ 0x00000060, 0x91415733, 0x00004329, 0x00615733, 0x00008008, 0x00c01530,
+ 0x0000c795, 0x0d214732, 0x00009229, 0xdb801530, 0x00007896, 0xd9c00000,
+ 0x00009e81, 0xff410531, 0x00004a96, 0x91e01530, 0x00000c8f, 0x05c00000,
+ 0x000081e8, 0x41404538, 0x0000e283, 0x00003817, 0x0000a106, 0x0a800800,
+ 0x00006191, 0x0a801000, 0x00004989, 0x05580800, 0x0000f900, 0x00004000,
+ 0x00000980, 0x05006000, 0x0000f900, 0x00008000, 0x00000980, 0x06400000,
+ 0x00007900, 0x00004042, 0x00000980, 0x08003a1a, 0x0000e106, 0xc0003817,
+ 0x0000b006, 0x05800706, 0x000081a0, 0x4540062a, 0x000001ac, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009028ec,
+ 0x0000d780, 0x00004800, 0x00008080, 0x0841f03e, 0x0000e100, 0x0d41c42a,
+ 0x0000e000, 0x0000042a, 0x0000e583, 0x0701f83f, 0x00008900, 0x0a804b3a,
+ 0x00006790, 0x17800000, 0x00000980, 0x0a80182a, 0x00006090, 0x17c00000,
+ 0x00004980, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc, 0x08002004,
+ 0x0000e108, 0x0801533a, 0x00004010, 0x0169c850, 0x00001302, 0x41420531,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x00003c99, 0x00007008, 0x00003c99,
+ 0x00007010, 0x41410531, 0x0000e283, 0x00018862, 0x00002106, 0x0841a034,
+ 0x00006108, 0x0701a835, 0x0000c908, 0x08400000, 0x0000e190, 0x07000000,
+ 0x00004990, 0x0a81703e, 0x0000e002, 0x000ff85e, 0x0000a581, 0x0141783f,
+ 0x00006004, 0x0148005f, 0x00002584, 0x0841082a, 0x0000e102, 0x00018862,
+ 0x0000a081, 0x0700e005, 0x00006104, 0x0c018c2a, 0x0000a080, 0x0a80642a,
+ 0x00006080, 0xe000185e, 0x00002403, 0x014157e4, 0x00006000, 0x1860e41c,
+ 0x0000c901, 0x0a800805, 0x00006180, 0x82c18062, 0x0000a001, 0x0a81082a,
+ 0x0000e200, 0x04018061, 0x0000a081, 0x0a815005, 0x0000e100, 0x1701b036,
+ 0x00000900, 0x0001002a, 0x0000e502, 0x1741b837, 0x00008900, 0x8a800a05,
+ 0x000061a8, 0x8a910220, 0x00008920, 0x18281721, 0x0000053c, 0x8a910a2a,
+ 0x00009228, 0x8a915205, 0x00006128, 0x0c418c05, 0x00002000, 0x01409405,
+ 0x00001880, 0x00115020, 0x00006502, 0x9791522a, 0x00000900, 0x0a800800,
+ 0x0000e1b1, 0x18c03005, 0x0000c300, 0x00003c4e, 0x00007019, 0x01440438,
+ 0x0000e283, 0x14040001, 0x00008980, 0x01401000, 0x0000e191, 0x01400800,
+ 0x0000c989, 0x07003c38, 0x0000e781, 0x14400000, 0x00000980, 0x14800800,
+ 0x00006180, 0x82202850, 0x00006004, 0x14c00000, 0x00006180, 0x07000c1c,
+ 0x0000c081, 0x41404538, 0x0000e283, 0x01400c2a, 0x00000881, 0x1449d53a,
+ 0x0000050a, 0x14602c1c, 0x0000e001, 0xd4d9cb39, 0x00000900, 0x01440438,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x00003ca4, 0x0000f010, 0x00003c28,
+ 0x00007010, 0x00000c2a, 0x00009583, 0x0008a0ec, 0x0000d788, 0x00d87dc0,
+ 0x00000180, 0x0008a0ec, 0x0000d790, 0x00d87dc0, 0x00000280, 0x01000c38,
+ 0x00009283, 0x00003c00, 0x0000700b, 0x1d000000, 0x00006180, 0x0f01c42a,
+ 0x0000e000, 0x1cc00000, 0x0000e180, 0x82215074, 0x0000e002, 0x0ec1c42a,
+ 0x00006000, 0x00001873, 0x00003106, 0x1dc00000, 0x00006180, 0x61a15074,
+ 0x0000e002, 0x20ca0005, 0x0000e180, 0x0d81c42a, 0x0000e000, 0x1d400000,
+ 0x00007900, 0x00001000, 0x00000980, 0x65a15074, 0x0000e003, 0xc0001873,
+ 0x0000b006, 0x1d800000, 0x0000e180, 0x0e81c42a, 0x0000e000, 0x1e400000,
+ 0x0000e180, 0xe3a15075, 0x00006002, 0x1ec00000, 0x00006180, 0x0f41c42a,
+ 0x00006000, 0x0aa152ec, 0x0000e101, 0x1f400000, 0x00008980, 0x1b000000,
+ 0x0000f900, 0x0002020e, 0x00000980, 0xa2a15075, 0x00006002, 0x3081c06c,
+ 0x00003000, 0x1f800000, 0x00006180, 0x0fc1c42a, 0x0000e000, 0x1c001000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x1c701800, 0x0000f900, 0x00044080,
+ 0x00000980, 0x20800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0010d8ec,
+ 0x00005780, 0x00007801, 0x00000080, 0x1fc00000, 0x0000e180, 0xe7a15074,
+ 0x0000e003, 0x1e01d83b, 0x0000e100, 0x1f00403c, 0x0000c880, 0x1e80373d,
+ 0x000086b4, 0x1b800000, 0x000086fc, 0x1ca81402, 0x00008708, 0x20000000,
+ 0x000088c4, 0x20ca2502, 0x0000071e, 0x01001438, 0x00009283, 0x00003c19,
+ 0x0000f00b, 0xc000074b, 0x00006583, 0x13000000, 0x00000980, 0x11b8ff1e,
+ 0x0000041c, 0x13800000, 0x000084fc, 0x13000800, 0x00006191, 0x13401002,
+ 0x0000c900, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x001010ec,
+ 0x0000d780, 0x009054c0, 0x000080c0, 0x03009000, 0x0000f900, 0x00012040,
+ 0x00000980, 0x03401000, 0x0000f900, 0x0001c008, 0x00008980, 0x001088ec,
+ 0x00005780, 0x00005000, 0x00008080, 0x02000824, 0x00006180, 0x02400000,
+ 0x00004980, 0x02800000, 0x00006180, 0x02d300a0, 0x00004980, 0x03c00004,
+ 0x0000e180, 0x8390ea1d, 0x0000c900, 0xc398eb1d, 0x00001900, 0x01000c38,
+ 0x00006283, 0x00400008, 0x00008980, 0x0a801800, 0x0000e191, 0x0a802800,
+ 0x0000c989, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0c00000,
+ 0x00006180, 0x8061542a, 0x00004901, 0xc0000800, 0x00001981, 0x008806ec,
+ 0x00005f80, 0x00004800, 0x00000084, 0x01000c1c, 0x00009283, 0x0119d33a,
+ 0x00009910, 0x00003d0c, 0x00007009, 0x00003b6e, 0x0000f000, 0x00000c2a,
+ 0x00006583, 0x01400000, 0x00008980, 0x700000ec, 0x0000d680, 0x00000040,
+ 0x00000080, 0x15800000, 0x00006180, 0x0419c805, 0x00006187, 0x700008ec,
+ 0x00005680, 0x00382802, 0x00000000, 0x0008a8ec, 0x0000d780, 0x00007800,
+ 0x00008080, 0x0008a0ec, 0x0000d788, 0x00d87dc0, 0x00000180, 0x0008a0ec,
+ 0x0000d790, 0x00d87dc0, 0x00000280, 0x15c00000, 0x0000e180, 0x15020040,
+ 0x00004900, 0x15420841, 0x00009900, 0xf3400c38, 0x0000c596, 0xfe001438,
+ 0x00007c8c, 0x8ab71ee3, 0x00009900, 0x6041522a, 0x0000a180, 0xffffffff,
+ 0x00007fa7, 0x0002042a, 0x00009583, 0x01698530, 0x0000e130, 0x01c00020,
+ 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00003d33,
+ 0x00007018, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x030cf000,
+ 0x0000f900, 0x000e098a, 0x00008980, 0x08001a09, 0x0000e106, 0x08003008,
+ 0x0000b206, 0xc1c00800, 0x0000e181, 0xc2700600, 0x00004901, 0x02a00702,
+ 0x00000026, 0x3c4e1110, 0x0000f100, 0x08515021, 0x0000e002, 0x1982f05e,
+ 0x00000900, 0x1a430861, 0x0000e100, 0x0700001c, 0x0000c084, 0x193aef5c,
+ 0x00000614, 0x19fb175f, 0x00000628, 0x1ac31863, 0x00006100, 0xd000005f,
+ 0x00006400, 0x00003bb9, 0x00007400, 0x1a010821, 0x00006100, 0x99915220,
+ 0x0000c100, 0x0a801000, 0x0000e181, 0x1a60e41c, 0x00004901, 0x75782cec,
+ 0x0000a100, 0x0a002000, 0x00007900, 0x00180000, 0x00008980, 0x04115028,
+ 0x00006901, 0xffffffff, 0x00007f86, 0x01400805, 0x00009080, 0x75782cec,
+ 0x00002900, 0x803942ec, 0x00005600, 0x00000000, 0x00000280, 0x800182ec,
+ 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000,
+ 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec,
+ 0x0000f902, 0x0dc00000, 0x00008600, 0xc0202731, 0x00009503, 0x00003d1e,
+ 0x0000f00b, 0x01000002, 0x00006180, 0x08003a20, 0x0000e106, 0xc1280500,
+ 0x00001900, 0x770000ec, 0x00005680, 0x00382000, 0x00000000, 0x00c002ec,
+ 0x0000df80, 0x13c3a80b, 0x00001684, 0x08003a28, 0x0000e906, 0x01402000,
+ 0x00007900, 0x00180000, 0x00008980, 0x04114005, 0x0000e901, 0x80382aec,
+ 0x00005600, 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000,
+ 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec,
+ 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000,
+ 0x00008600, 0x61602220, 0x0000a101, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0x47a02731, 0x0000780b, 0x71c00000, 0x00009e83, 0xd7198202,
+ 0x0000780a, 0x01c00001, 0x00008080, 0x8ab71ee3, 0x00009900, 0x6041522a,
+ 0x0000a180, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x0001042a,
+ 0x00009583, 0x01572842, 0x0000e230, 0x01c00020, 0x000089b0, 0x81c01000,
+ 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x00003d30, 0x00007018, 0x00003c48,
+ 0x00007400, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x031be000,
+ 0x00007900, 0x0013f0a2, 0x00008980, 0x00110020, 0x00006502, 0x000ff85e,
+ 0x0000a581, 0x0148005f, 0x0000e584, 0xe000185e, 0x0000b403, 0x8a910220,
+ 0x0000e100, 0xb0000862, 0x0000e401, 0x1739ff3e, 0x00000534, 0x00003bb9,
+ 0x00007430, 0x17e10502, 0x00000538, 0x0a800800, 0x000099b1, 0x00003c4e,
+ 0x0000f000, 0x41410538, 0x0000e283, 0xc1041850, 0x0000a606, 0x19c20067,
+ 0x00006380, 0x17c2005f, 0x00000380, 0x00003cdd, 0x0000f009, 0x8140862b,
+ 0x00009283, 0x017ff801, 0x0000e190, 0x014ff800, 0x00004988, 0xffffffff,
+ 0x00007f86, 0x01002005, 0x00009202, 0x02000a04, 0x0000e190, 0x02400000,
+ 0x0000c990, 0x02800000, 0x0000e190, 0x02d300a0, 0x0000c990, 0x00003cdd,
+ 0x00007008, 0x04c00004, 0x00006180, 0x03c00004, 0x0000c980, 0x0318b000,
+ 0x00007900, 0x0000a140, 0x00008980, 0x03401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x04401000, 0x00007900, 0x0001c000, 0x00000980, 0x001810ec,
+ 0x00005780, 0x00005000, 0x00008080, 0x04000000, 0x0000e180, 0x00003813,
+ 0x0000e106, 0x03a8ec1d, 0x00008038, 0x04803006, 0x00009900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec,
+ 0x00005780, 0x00000000, 0x00008080, 0x15400004, 0x0000e180, 0x0d01c404,
+ 0x00006000, 0x00000c04, 0x00006583, 0x00003855, 0x0000a106, 0x14001050,
+ 0x00006380, 0x14401451, 0x00000081, 0x15800000, 0x000085dc, 0x00003d20,
+ 0x0000f208, 0x15003006, 0x00001900, 0x16001000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x16410000, 0x00007900, 0x00040000, 0x00000980, 0x0010a8ec,
+ 0x0000d780, 0x00007800, 0x00008080, 0x16c00000, 0x000085e8, 0x00000c2a,
+ 0x00009583, 0x0008a0ec, 0x0000d788, 0x00d87dc0, 0x00000180, 0x0008a0ec,
+ 0x0000d790, 0x00d87dc0, 0x00000280, 0xdf000c38, 0x0000c596, 0xf3e01438,
+ 0x0000728b, 0x03c00004, 0x0000e180, 0x02000a00, 0x0000c980, 0x03006000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x001010ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0x02400000, 0x00006180, 0x0000380f, 0x00006106, 0x02900000,
+ 0x000000ec, 0x03803006, 0x00006100, 0x03400020, 0x00004980, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec,
+ 0x00005780, 0x00000000, 0x00008080, 0x15400004, 0x0000e180, 0x0d01c404,
+ 0x00006000, 0x14001050, 0x00006380, 0x00003855, 0x0000a106, 0x14401451,
+ 0x00006081, 0x15800000, 0x00008980, 0x15000706, 0x0000059c, 0x33c00c04,
+ 0x0000f893, 0x01c00000, 0x00001e89, 0x00196005, 0x00006502, 0x01000c2b,
+ 0x00008081, 0x6178322a, 0x00005100, 0x00118800, 0x00008001, 0x6158222a,
+ 0x0000a901, 0x00003b4e, 0x0000f008, 0x8819632c, 0x00009900, 0x61782a20,
+ 0x00002180, 0xffffffff, 0x00007fa7, 0x00002806, 0x00001502, 0x014728e5,
+ 0x00001908, 0x00003b4e, 0x0000f400, 0xffffffff, 0x00007f86, 0x61782a20,
+ 0x0000a980, 0x01400000, 0x00001980, 0x700000ec, 0x0000d680, 0x00000040,
+ 0x00000080, 0x0419c805, 0x0000e987, 0x700008ec, 0x00005680, 0x00382802,
+ 0x00000000, 0xd9200c38, 0x0000c597, 0x70e01438, 0x00006f8c, 0x8ab71ee3,
+ 0x00009900, 0x6041522a, 0x0000a180, 0xffffffff, 0x00007fa7, 0x0001042a,
+ 0x00009583, 0x01c00000, 0x00007930, 0x00004040, 0x00008980, 0x01400000,
+ 0x000061b0, 0x03400000, 0x0000c9b0, 0x00003d36, 0x00007018, 0x02d2d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x0332a800, 0x0000f900, 0x0015a582,
+ 0x00000980, 0x81c01000, 0x0000e180, 0x08001a09, 0x0000e106, 0x00003c4d,
+ 0x00007400, 0x82600500, 0x00008026, 0x82381602, 0x00008028, 0x00003b1c,
+ 0x00007200, 0x6161022a, 0x0000a101, 0x8100862b, 0x0000e283, 0x90000855,
+ 0x00002401, 0x01000000, 0x0000e189, 0x01001800, 0x0000c991, 0x00008056,
+ 0x00006482, 0xc0000855, 0x0000b401, 0x16001000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x16410000, 0x00007900, 0x00040000, 0x00000980, 0x0010a8ec,
+ 0x0000d780, 0x00007800, 0x00008080, 0x00003cd6, 0x0000f400, 0x16800000,
+ 0x00006180, 0x00202056, 0x00006006, 0x16c00000, 0x00009980, 0xc1400803,
+ 0x000000d6, 0x41405000, 0x00001981, 0x3d333ab2, 0x0000f100, 0x00003d32,
+ 0x00007400, 0xc1400804, 0x000080d6, 0x41405800, 0x00009981, 0x00003d32,
+ 0x00007400, 0xc1400804, 0x000080d6, 0x41406000, 0x00001981, 0x1bc0c018,
+ 0x0000e100, 0x0020c806, 0x0000e086, 0x8228c806, 0x0000e886, 0x0418c806,
+ 0x00006987, 0x01c03006, 0x00001900, 0x1b213000, 0x0000f900, 0x00121ae8,
+ 0x00000980, 0x1b803807, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec,
+ 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01002805,
+ 0x00001900, 0x01802004, 0x0000e100, 0x00002004, 0x0000e586, 0x1b403006,
+ 0x00006100, 0x0428c804, 0x0000e087, 0x3d4d11bc, 0x0000f500, 0x8620c804,
+ 0x0000e887, 0x1ac02004, 0x00001900, 0xb3006c19, 0x00004389, 0x00606c19,
+ 0x00000098, 0xb1405c19, 0x0000c189, 0x00606419, 0x00000090, 0x10800a02,
+ 0x0000458e, 0x80600c24, 0x00000493, 0x0ac00a02, 0x00004794, 0x87207419,
+ 0x0000818b, 0x62808419, 0x0000789b, 0xc1c00000, 0x00001e8c, 0x13c00004,
+ 0x00006180, 0x43005800, 0x0000c981, 0x13001000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x13701800, 0x0000f900, 0x00044080, 0x00000980, 0x14000000,
+ 0x0000f900, 0x00001000, 0x00000980, 0x000098ec, 0x00005780, 0x00005801,
+ 0x00008080, 0x93901202, 0x00006100, 0x0000184f, 0x00006106, 0x13800502,
+ 0x00008584, 0x14800000, 0x000085cc, 0x15000000, 0x000085d4, 0x15800000,
+ 0x000085dc, 0x00003d98, 0x00007400, 0x16000000, 0x000085e4, 0x16c00000,
+ 0x000085e8, 0x13c00004, 0x00006180, 0x11c00004, 0x0000c980, 0x13001000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x13701800, 0x0000f900, 0x00044080,
+ 0x00000980, 0x11001000, 0x00007900, 0x00008000, 0x00000980, 0x11580800,
+ 0x0000f900, 0x00044080, 0x00000980, 0x001088ec, 0x00005780, 0x009844c0,
+ 0x00008280, 0x0000184f, 0x00006106, 0x00001847, 0x0000b106, 0x13a81402,
+ 0x00008438, 0x11a81402, 0x00008418, 0x12200000, 0x0000e180, 0x12400000,
+ 0x0000c980, 0x12800000, 0x000084ec, 0x14000001, 0x000005c4, 0x14800000,
+ 0x000085cc, 0x15000000, 0x000085d4, 0x15800000, 0x000085dc, 0x16000000,
+ 0x000085e4, 0x16800000, 0x000085ec, 0x17000804, 0x00006180, 0x17400000,
+ 0x0000c980, 0x17800000, 0x0000e180, 0x17d30020, 0x00004980, 0x19c00000,
+ 0x00009980, 0x76400a02, 0x0000788f, 0x11c00000, 0x00009e8f, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02f56800, 0x0000f900, 0x00157802,
+ 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x0140c819,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x3d981110, 0x00007500, 0x82781400, 0x00000028, 0x81c02800,
+ 0x00006180, 0x0200c018, 0x00004900, 0x81401000, 0x000000d2, 0x40c00403,
+ 0x000080ec, 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x02400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x0000180b, 0x00006106, 0xd3602809,
+ 0x00003004, 0x02009000, 0x00007900, 0x00032280, 0x00000980, 0x000810ec,
+ 0x0000d780, 0x00905180, 0x000005c0, 0xc0002000, 0x00006181, 0xc000180b,
+ 0x0000e006, 0x40781604, 0x00008028, 0x008806ec, 0x00005f80, 0x008848c0,
+ 0x000001c4, 0x03000000, 0x00006180, 0x13c00004, 0x00004980, 0x14c00000,
+ 0x00006180, 0x0781200c, 0x00006000, 0x13001000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x13701800, 0x0000f900, 0x00044080, 0x00000980, 0x000098ec,
+ 0x00005780, 0x00005801, 0x00008080, 0x04000000, 0x0000e180, 0x0000184f,
+ 0x00006106, 0x04400000, 0x000001c8, 0x04c00000, 0x000081d0, 0x05400000,
+ 0x000001d8, 0x05c00000, 0x00006180, 0x03421042, 0x00004900, 0x03b9ef3c,
+ 0x0000003c, 0x13a81402, 0x00008438, 0x14008000, 0x000005c4, 0x14800000,
+ 0x000005d0, 0x15400000, 0x000005d8, 0x15c00000, 0x000005e0, 0x16400000,
+ 0x000005e8, 0x00003dd3, 0x00007400, 0x16c00000, 0x0000e180, 0xc319532a,
+ 0x0000c900, 0x94da1b43, 0x00001900, 0x04c00000, 0x0000e180, 0x0d412404,
+ 0x0000e080, 0xc4c10404, 0x00006381, 0x04840000, 0x00000980, 0x03400000,
+ 0x0000e180, 0x12812013, 0x0000e001, 0x05000000, 0x00006180, 0x23012013,
+ 0x0000e001, 0x05400000, 0x000001d8, 0x05c00000, 0x00006180, 0x03021042,
+ 0x0000c900, 0x03b97f2e, 0x0000003c, 0x0439ef3c, 0x00000104, 0xc491522a,
+ 0x00009900, 0x00003d99, 0x0000f200, 0x81400801, 0x000080d2, 0x41000d24,
+ 0x00001283, 0x00003d98, 0x00007400, 0x0b412404, 0x0000e890, 0xc4c10404,
+ 0x00001391, 0x18c00000, 0x00006180, 0x9890620c, 0x0000c900, 0x18009000,
+ 0x0000f900, 0x0000a180, 0x00008980, 0x00003dea, 0x00007400, 0x18401000,
+ 0x0000f900, 0x0001c008, 0x00008980, 0xd898630c, 0x00006100, 0xc0001863,
+ 0x00006006, 0x18c00000, 0x00006180, 0x98906a0d, 0x0000c900, 0x18009000,
+ 0x0000f900, 0x0000a180, 0x00008980, 0x18401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0xd8986b0d, 0x00006100, 0xc0001863, 0x00006006, 0x81000a02,
+ 0x00006282, 0x59c00000, 0x00008980, 0x0018b8ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0x19392f24, 0x00000614, 0x00003d98, 0x00007400, 0x1980f01e,
+ 0x0000e100, 0x99c00800, 0x0000c989, 0x99d8cb19, 0x00009900, 0x1bc0600c,
+ 0x0000e100, 0x00206806, 0x0000e086, 0x82286806, 0x0000e886, 0x04186806,
+ 0x00006987, 0x01c03006, 0x00001900, 0x1b38a000, 0x00007900, 0x00157802,
+ 0x00008980, 0x1b803807, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec,
+ 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805,
+ 0x0000e100, 0x00002004, 0x0000e586, 0x1b403006, 0x00006100, 0x04286804,
+ 0x0000e087, 0x3e0611bc, 0x0000f500, 0x86206804, 0x0000e887, 0x1ac02004,
+ 0x00001900, 0xccc03c0d, 0x0000c199, 0x00602c0d, 0x000000a0, 0xc1c0140d,
+ 0x0000c489, 0xba60140d, 0x00000f9c, 0x02400c0d, 0x0000c788, 0x0140540d,
+ 0x000081b1, 0x87808c0d, 0x0000f893, 0xe1c00000, 0x00001f80, 0x01800000,
+ 0x00006180, 0x0140800c, 0x00004780, 0x61782206, 0x00002180, 0xffffffff,
+ 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004, 0x00001880, 0x00002804,
+ 0x00009502, 0x61782206, 0x0000a190, 0x010728e5, 0x00009908, 0xffffffff,
+ 0x00007f97, 0x61782206, 0x0000a980, 0x01800806, 0x00009080, 0x000a0006,
+ 0x00009582, 0x00003e10, 0x00007013, 0x00003e67, 0x00007200, 0x01800000,
+ 0x00009981, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x0180600c,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x02fbb800, 0x0000f900, 0x00157802,
+ 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x0168070d,
+ 0x00008026, 0x82781400, 0x00000028, 0x3e2c1110, 0x00007500, 0x81c02800,
+ 0x00006180, 0x02003006, 0x00004900, 0x03400000, 0x00009980, 0x01001000,
+ 0x00009981, 0x00000406, 0x00006583, 0x02001008, 0x00000380, 0x02008008,
+ 0x00006380, 0xc000180b, 0x00002006, 0x027f8009, 0x00007900, 0x003ffffe,
+ 0x00008280, 0xc2202404, 0x0000e101, 0xd0000009, 0x0000e404, 0x01044800,
+ 0x00006191, 0x01045000, 0x00004989, 0x00000406, 0x00006583, 0x80002009,
+ 0x00002405, 0x01000c06, 0x00006281, 0x82202404, 0x00008901, 0x86202009,
+ 0x0000e801, 0x01001000, 0x00006191, 0x96602009, 0x00006001, 0x00000406,
+ 0x00006583, 0x01000000, 0x00000989, 0x0280600c, 0x00006110, 0x01400000,
+ 0x0000c990, 0x01d30020, 0x00006190, 0x00202009, 0x00006006, 0x00003e4a,
+ 0x0000f208, 0x01000804, 0x00006190, 0xd3603009, 0x00006004, 0x01800000,
+ 0x00001980, 0x00980eec, 0x00005f80, 0x00005000, 0x00000084, 0x02800502,
+ 0x000001a0, 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000,
+ 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8, 0x08c00000,
+ 0x000082d0, 0x09400000, 0x000002d8, 0x09c00000, 0x000002e0, 0x0a400000,
+ 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000,
+ 0x000083c0, 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000,
+ 0x000003d8, 0x0dc00000, 0x00009980, 0x008016ec, 0x00005f80, 0x00005003,
+ 0x00000084, 0x0280a014, 0x0000e100, 0x02c00004, 0x00004980, 0x0200e000,
+ 0x0000f900, 0x000122c0, 0x00000980, 0x02401000, 0x00007900, 0x0001c000,
+ 0x00000980, 0x0010a80b, 0x0000e906, 0x008016ec, 0x00005f80, 0x00005001,
+ 0x00008084, 0x01800800, 0x00001981, 0x00000406, 0x00006583, 0x02000000,
+ 0x00000980, 0x02400000, 0x000000e8, 0x01006000, 0x0000e189, 0x02c00000,
+ 0x0000c980, 0x00003e2d, 0x0000f008, 0x00003e2c, 0x0000f000, 0x01800000,
+ 0x00001980, 0x61782206, 0x00002180, 0xffffffff, 0x00007fa7, 0x0100a004,
+ 0x00009780, 0x01002004, 0x00001880, 0x00102804, 0x00001502, 0x61782206,
+ 0x0000a190, 0x010728e5, 0x00009908, 0xffffffff, 0x00007f97, 0x61782206,
+ 0x0000a980, 0x01800806, 0x00009080, 0x000a0006, 0x00009582, 0x00003e6f,
+ 0x0000f013, 0x00000001, 0x0000f080, 0x00440c08, 0x0000c589, 0x80642c08,
+ 0x0000008e, 0x01400000, 0x00001980, 0x00003e87, 0x0000f400, 0x700000ec,
+ 0x0000d680, 0x00000040, 0x00000080, 0xc1584b09, 0x00009900, 0x01400000,
+ 0x00001980, 0x700000ec, 0x0000d680, 0x00000040, 0x00000080, 0xc158530a,
+ 0x00009900, 0x700008ec, 0x00005680, 0x00382802, 0x00000000, 0x7fc00400,
+ 0x000081fc, 0x074000a8, 0x0000e180, 0x0000181f, 0x00006106, 0x07001000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x000838ec, 0x0000d780, 0x00004800,
+ 0x00008080, 0x87901202, 0x00006100, 0xc000181f, 0x0000e006, 0xc7981302,
+ 0x00009900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x26c00000,
+ 0x0000e180, 0xa6901202, 0x00004900, 0x26400000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x000930ec, 0x0000d780, 0x00905200, 0x000000c8, 0x0000189b,
+ 0x00006106, 0xd3612899, 0x0000b004, 0x26009000, 0x00007900, 0x00013100,
+ 0x00008980, 0x00000001, 0x00007480, 0x001148ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0xe6981302, 0x0000e100, 0xc000189b, 0x0000e006, 0x1a800702,
+ 0x000006ac, 0x0000186b, 0x0000e906, 0x1a001000, 0x0000f900, 0x0002c000,
+ 0x00000980, 0x1a505000, 0x00007900, 0x00044240, 0x00008980, 0x00000001,
+ 0x00007480, 0x0018d0ec, 0x00005780, 0x00005802, 0x00008080, 0xc000186b,
+ 0x00006806, 0x00000462, 0x0000e583, 0x20002818, 0x00002404, 0x27000020,
+ 0x00006190, 0x27400000, 0x00004990, 0x27800000, 0x00006190, 0x27c00000,
+ 0x0000c990, 0x00003ec4, 0x00007008, 0x26c00000, 0x0000e180, 0x2868d000,
+ 0x00004980, 0x28800000, 0x0000e180, 0x0000189b, 0x00006106, 0x26009000,
+ 0x00007900, 0x0000f140, 0x00008980, 0x26400000, 0x0000f900, 0x00010030,
+ 0x00000980, 0x000930ec, 0x0000d780, 0x009051c0, 0x00000188, 0x28c00000,
+ 0x00006180, 0xc000189b, 0x0000e006, 0x00000001, 0x00007480, 0x28201702,
+ 0x00000928, 0xe6981302, 0x00009900, 0x80000662, 0x00001583, 0x06800000,
+ 0x00006190, 0x61a31018, 0x0000e010, 0x06c00000, 0x0000e190, 0x20a31018,
+ 0x00006014, 0x00000001, 0x00007090, 0x09420418, 0x00001283, 0x25000804,
+ 0x00006190, 0x25400000, 0x0000c990, 0x25800000, 0x0000e190, 0x25eb0020,
+ 0x0000c990, 0x00003ee8, 0x0000f008, 0x40000562, 0x0000e583, 0x26c00000,
+ 0x00000980, 0x09409800, 0x00006191, 0x09409000, 0x0000c989, 0x27002800,
+ 0x00006180, 0x0000189b, 0x00006106, 0x26009000, 0x00007900, 0x0000f140,
+ 0x00008980, 0x26400000, 0x0000f900, 0x00010030, 0x00000980, 0xa6901202,
+ 0x00006100, 0xc000189b, 0x0000e006, 0x26800502, 0x000089b4, 0x27800000,
+ 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc, 0x67212c25,
+ 0x00009901, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008128ec, 0x0000d780, 0x00005001, 0x00000080, 0xbd5b0a1b,
+ 0x0000786b, 0x99c00000, 0x00009f87, 0x09410418, 0x00001283, 0x28800000,
+ 0x00006190, 0x28c00000, 0x0000c990, 0x28001002, 0x00006110, 0x28688800,
+ 0x00004990, 0x00003ef1, 0x00007008, 0x3ef13e95, 0x00007300, 0x09400000,
+ 0x0000e180, 0xe858db1b, 0x00004900, 0x801b0a1b, 0x00009502, 0x00003ef5,
+ 0x0000f06b, 0xc0130b19, 0x00009502, 0x00000001, 0x0000f0e3, 0x1b000000,
+ 0x000086f4, 0x1b800010, 0x000006fc, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000,
+ 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000,
+ 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x3f0a3ea4,
+ 0x0000f500, 0x24000000, 0x000089c4, 0x24c00000, 0x000089c8, 0x00000001,
+ 0x00007280, 0x49804d26, 0x00009181, 0x0000142a, 0x00006583, 0x1b800000,
+ 0x00000980, 0x1b000000, 0x00006180, 0x0000086e, 0x0000e412, 0x1b400000,
+ 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000,
+ 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
+ 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000,
+ 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x00003f2f, 0x00007410, 0x24000000,
+ 0x000089c4, 0x24800000, 0x000089cc, 0xc9020704, 0x0000e283, 0x09000800,
+ 0x00008981, 0x0000086e, 0x00006c12, 0x00003f2c, 0x00007011, 0xc0001706,
+ 0x00001583, 0x8000086c, 0x0000640b, 0x0000086e, 0x0000b412, 0x09000000,
+ 0x00001991, 0xffffffff, 0x00007f86, 0x00000424, 0x00009583, 0x00003f30,
+ 0x00007013, 0x20002818, 0x00006c04, 0x00003ea4, 0x0000f000, 0x26800702,
+ 0x000009ac, 0x0000189b, 0x0000e906, 0x26001000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x26580800, 0x00007900, 0x00044200, 0x00000980, 0x00000001,
+ 0x00007480, 0x000930ec, 0x0000d780, 0x008042c0, 0x000000c8, 0xc000189b,
+ 0x00006806, 0x1b000000, 0x000086f4, 0x1b8000a0, 0x0000e180, 0x1bc00000,
+ 0x00004980, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000,
+ 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
+ 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000,
+ 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x3f513ea4, 0x00007500, 0x24000000,
+ 0x000089c4, 0x24c00000, 0x000089c8, 0x3f553f31, 0x00007500, 0x2b000000,
+ 0x00006180, 0x2b400200, 0x00004980, 0x2bc00000, 0x00008af8, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec,
+ 0x00005780, 0x00000000, 0x00008080, 0x00000001, 0x0000f080, 0xc0003000,
+ 0x0000e181, 0x00115803, 0x00006106, 0x00000001, 0x00007480, 0x00400000,
+ 0x00007900, 0x00048040, 0x00000980, 0x8091522a, 0x0000e100, 0xc002a803,
+ 0x00006606, 0x1bc0600c, 0x0000e100, 0x00206806, 0x0000e086, 0x82286806,
+ 0x0000e886, 0x04186806, 0x00006987, 0x01c03006, 0x00001900, 0x1b095800,
+ 0x00007900, 0x0012c50a, 0x00008980, 0x1b803807, 0x00001900, 0xffffffff,
+ 0x00007ff7, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff,
+ 0x00007fa7, 0x01002805, 0x00001900, 0x01802004, 0x0000e100, 0x00002004,
+ 0x0000e586, 0x1b403006, 0x00006100, 0x04286804, 0x0000e087, 0x3f7611bc,
+ 0x0000f500, 0x86206804, 0x0000e887, 0x1ac02004, 0x00001900, 0x0000240d,
+ 0x00009583, 0x00001c0d, 0x00001583, 0x00000c0d, 0x00009583, 0x00003f8e,
+ 0x0000f018, 0x00003fba, 0x0000f020, 0x00003f92, 0x0000f008, 0x0000140d,
+ 0x00009583, 0x01800000, 0x0000e188, 0x0100800c, 0x00004788, 0x00003fad,
+ 0x00007009, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x0180600c,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x02cc6000, 0x00007900, 0x0012c50a,
+ 0x00008980, 0x033a9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x0168070d,
+ 0x00008026, 0x82781400, 0x00000028, 0x81c02800, 0x00006180, 0x02003006,
+ 0x00004900, 0x03400000, 0x00009980, 0x3fba1110, 0x00007100, 0x00003c0d,
+ 0x00009583, 0x01800800, 0x000019b1, 0x00003fbb, 0x00007031, 0x00003f80,
+ 0x00007000, 0x0160400e, 0x00007900, 0x00000002, 0x00008082, 0x0100000f,
+ 0x0000e084, 0x01802805, 0x00000900, 0x3f9a158b, 0x00007404, 0x01402004,
+ 0x0000e100, 0x0dc09a00, 0x0000c980, 0x0e383705, 0x00008318, 0x00000434,
+ 0x00001583, 0x35b82c33, 0x0000a008, 0x81400ee3, 0x0000e088, 0x02000000,
+ 0x00004990, 0x01c00000, 0x0000f910, 0x00004040, 0x00008980, 0x00003fba,
+ 0x00007408, 0x03400000, 0x00006190, 0x81c01000, 0x00004990, 0x2ae02e05,
+ 0x00002989, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03221800,
+ 0x0000f900, 0x000d0a90, 0x00000980, 0x01400000, 0x00006180, 0x08001a09,
+ 0x0000e106, 0x00003f8d, 0x00007400, 0x82600500, 0x00008026, 0x02801002,
+ 0x00009900, 0x61782a06, 0x0000a180, 0xffffffff, 0x00007fa7, 0x0140a005,
+ 0x00009780, 0x01402005, 0x00001880, 0x00002005, 0x00009502, 0x61782a06,
+ 0x00002190, 0x014728e5, 0x00001908, 0xffffffff, 0x00007f97, 0x61782a06,
+ 0x00002980, 0x01800806, 0x00009080, 0x000a0006, 0x00009582, 0x00003fad,
+ 0x0000f013, 0x00003fba, 0x00007000, 0x01800000, 0x00009981, 0x00000406,
+ 0x00006583, 0x02009000, 0x00000980, 0x01001000, 0x00006191, 0x01002000,
+ 0x00004989, 0x00000406, 0x00006583, 0x02c00000, 0x00000980, 0xc2202404,
+ 0x0000e101, 0xc000180b, 0x0000e006, 0x01061800, 0x0000e191, 0x01062000,
+ 0x00004989, 0x02400000, 0x0000f900, 0x00010000, 0x00000980, 0x00000406,
+ 0x00006583, 0x82202404, 0x00008901, 0x02800000, 0x00006180, 0x01000c06,
+ 0x0000c281, 0x86202009, 0x0000e801, 0x01001000, 0x00006191, 0x96602009,
+ 0x00006001, 0x00000406, 0x00006583, 0x01000000, 0x00000989, 0x0280600c,
+ 0x00006110, 0x01400000, 0x0000c990, 0x01eb0020, 0x0000e190, 0x00202009,
+ 0x00006006, 0x00003fda, 0x00007208, 0x01000804, 0x00006190, 0xd3603009,
+ 0x00006004, 0x01800000, 0x00001980, 0x00980eec, 0x00005f80, 0x00005000,
+ 0x00000084, 0xc2981302, 0x00009900, 0x008016ec, 0x00005f80, 0x00005001,
+ 0x00008084, 0x0880003e, 0x00007900, 0x00000008, 0x00008082, 0x08c0003f,
+ 0x0000e084, 0x21400000, 0x00000980, 0x40000d35, 0x0000e583, 0x1b000000,
+ 0x00008980, 0x063f1818, 0x0000f900, 0x003ffffe, 0x00008280, 0x1b400000,
+ 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00001,
+ 0x000007d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000,
+ 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000,
+ 0x000008c0, 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x06b9bf36, 0x0000012c, 0x00004002, 0x0000f410, 0x2ab9ef3c,
+ 0x00000a2c, 0xa16d25a4, 0x00009900, 0x4000052c, 0x00001583, 0x063df818,
+ 0x00007910, 0x003ffffe, 0x00008280, 0x1069a8a4, 0x00006010, 0x8229a86e,
+ 0x0000b012, 0x00004003, 0x0000f010, 0x06020018, 0x00009380, 0x40043ea4,
+ 0x00007100, 0x00000001, 0x00007480, 0x28394f28, 0x00000a04, 0x28f9572b,
+ 0x00000a08, 0x400a3f5b, 0x0000f300, 0x89d01202, 0x00006100, 0x08001a26,
+ 0x00006106, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008800ec, 0x0000d780, 0x00884840, 0x000002c0, 0x1b000000,
+ 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000,
+ 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000,
+ 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000,
+ 0x000089c4, 0x24c00000, 0x000089c8, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x40293ea4, 0x0000f500, 0x00113003, 0x0000e106, 0x40000870,
+ 0x0000b402, 0x80913a27, 0x00009900, 0x00000001, 0x00007480, 0x28394f28,
+ 0x00000a04, 0x28f9572b, 0x00000a08, 0x1b000000, 0x000086f4, 0x1b800100,
+ 0x000006fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000,
+ 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
+ 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000,
+ 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x40413ea4, 0x00007500, 0x24000000,
+ 0x000089c4, 0x24c00000, 0x000089c8, 0x1a81502a, 0x0000e100, 0x0011586b,
+ 0x0000e106, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00003f3b,
+ 0x00007000, 0x06000000, 0x000081e4, 0x0600052c, 0x000081a8, 0x06c00000,
+ 0x00006180, 0x00016018, 0x0000e000, 0x07000000, 0x000081f4, 0x08800000,
+ 0x000082cc, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000,
+ 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000,
+ 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000,
+ 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000,
+ 0x000089c4, 0x24800000, 0x000089cc, 0x08398f30, 0x00000204, 0x07b9a733,
+ 0x0000013c, 0x00000001, 0x00007480, 0x28394f28, 0x00000a04, 0x28f9572b,
+ 0x00000a08, 0x81000e0c, 0x00001283, 0x8100260c, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x0000408b, 0x0000f010, 0x00004083, 0x00007008, 0x000828ec,
+ 0x00005780, 0x00d87980, 0x000000c0, 0x07c80005, 0x00006180, 0x06008010,
+ 0x0000c900, 0x07804000, 0x00007900, 0x00207fc0, 0x00008980, 0x000838ec,
+ 0x0000d780, 0x00007800, 0x00008080, 0x06789711, 0x00000128, 0x06c09813,
+ 0x0000e100, 0x05104001, 0x0000c980, 0x05401900, 0x00006180, 0x05800000,
+ 0x0000c980, 0x00004083, 0x00007400, 0x05c00000, 0x00006180, 0x0740700e,
+ 0x0000c900, 0x07f86d02, 0x00008130, 0x01000804, 0x0000e180, 0x01400000,
+ 0x00004980, 0x000808ec, 0x0000d780, 0x00005000, 0x00008080, 0x0000408b,
+ 0x0000f400, 0x01800000, 0x00006180, 0x07806004, 0x00006001, 0x01eb0020,
+ 0x00001980, 0x02c00000, 0x0000e180, 0x82901202, 0x00004900, 0xc2981302,
+ 0x0000e100, 0x0000180b, 0x00006106, 0x02009000, 0x00007900, 0x0000f140,
+ 0x00008980, 0x02400000, 0x0000f900, 0x00010030, 0x00000980, 0xc000180b,
+ 0x00006806, 0x009816ec, 0x00005f80, 0x00005000, 0x00000084, 0x00000027,
+ 0x00006582, 0x09400000, 0x00000980, 0x09400800, 0x00006191, 0x20002818,
+ 0x00006414, 0x09401000, 0x00001989, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x26c00000, 0x0000e180, 0x27000020, 0x0000c980, 0x27400000,
+ 0x0000e180, 0x0000189b, 0x00006106, 0x26009000, 0x00007900, 0x0000f140,
+ 0x00008980, 0x26400000, 0x0000f900, 0x00010030, 0x00000980, 0x27800000,
+ 0x0000e180, 0xc000189b, 0x0000e006, 0x27c00000, 0x00006180, 0x2868b800,
+ 0x0000c980, 0x28392f02, 0x00008a08, 0x28c00000, 0x00006180, 0xa6901202,
+ 0x00004900, 0xe6981302, 0x00009900, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009930ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0x00000001, 0x0000f080, 0x00045c64, 0x0000e583, 0x09432064,
+ 0x00008900, 0x09446000, 0x0000e199, 0x09a32464, 0x0000c901, 0x000040c3,
+ 0x0000f019, 0x0003bc64, 0x00001583, 0x0943c000, 0x00001999, 0x000040c3,
+ 0x0000f019, 0x00031c64, 0x00001583, 0x09432000, 0x00009999, 0x09400000,
+ 0x000019b1, 0x000040c3, 0x00007018, 0x00000464, 0x00001583, 0x09400800,
+ 0x00001991, 0x35045c62, 0x0000789a, 0x2a000000, 0x0000a086, 0x35045c62,
+ 0x0000789a, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x0003bc62,
+ 0x00001583, 0x0903c000, 0x00009999, 0x000040d0, 0x00007019, 0x00031c62,
+ 0x00001583, 0x09032000, 0x00001999, 0x09000000, 0x000099b1, 0x000040d0,
+ 0x0000f018, 0x00000462, 0x00001583, 0x09000800, 0x00009991, 0xffffffff,
+ 0x00007f86, 0x1b012025, 0x0000c418, 0xde812025, 0x0000902b, 0x00c03c64,
+ 0x0000c589, 0x11c03c62, 0x0000808b, 0x3de46425, 0x000044a8, 0xb0803c64,
+ 0x00009089, 0x7bc03c62, 0x0000788a, 0x02000001, 0x00008080, 0x89001000,
+ 0x00001980, 0x00045c26, 0x00001583, 0x09c46000, 0x00001999, 0x000040e7,
+ 0x0000f019, 0x0003bc26, 0x00001583, 0x09c3c000, 0x00009999, 0x000040e7,
+ 0x0000f019, 0x00031c26, 0x00001583, 0x09c32000, 0x00001999, 0x09c00000,
+ 0x000099b1, 0x000040e7, 0x00007018, 0x00000426, 0x00001583, 0x09c00800,
+ 0x00009991, 0x3e045c63, 0x0000789a, 0x4a000000, 0x00002087, 0x3e045c63,
+ 0x0000789a, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x0003bc63,
+ 0x00009583, 0x0943c000, 0x00001999, 0x000040f4, 0x00007019, 0x00031c63,
+ 0x00009583, 0x09432000, 0x00009999, 0x09400000, 0x000019b1, 0x000040f4,
+ 0x0000f018, 0x00000463, 0x00009583, 0x09400800, 0x00001991, 0xffffffff,
+ 0x00007f86, 0x20612827, 0x00004418, 0xe4812827, 0x0000902b, 0x02c03c26,
+ 0x0000c588, 0x8fc03c63, 0x0000808b, 0x09446000, 0x00009981, 0x3e446427,
+ 0x0000c4a8, 0x18803c26, 0x0000108a, 0x7c803c63, 0x0000f88a, 0x02000001,
+ 0x00008080, 0xffffffff, 0x00007f86, 0x00000427, 0x00009583, 0x00212c27,
+ 0x0000950b, 0x00004103, 0x0000700b, 0x80001224, 0x00001582, 0x000041f2,
+ 0x0000f013, 0x00045c26, 0x00001583, 0x09c46000, 0x00001999, 0x00004111,
+ 0x00007019, 0x0003bc26, 0x00001583, 0x09c3c000, 0x00009999, 0x00004111,
+ 0x00007019, 0x00031c26, 0x00001583, 0x09c32000, 0x00001999, 0x00004111,
+ 0x00007019, 0x00000426, 0x0000e583, 0x09c00000, 0x00000981, 0x09c00800,
+ 0x00009991, 0x53045c1a, 0x0000789a, 0x9a000000, 0x0000a088, 0x53045c1a,
+ 0x0000789a, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x0003bc1a,
+ 0x00001583, 0x0943c000, 0x00001999, 0x0000411e, 0x00007019, 0x00031c1a,
+ 0x00001583, 0x09432000, 0x00009999, 0x09400000, 0x000019b1, 0x0000411e,
+ 0x0000f018, 0x0000041a, 0x00001583, 0x09400800, 0x00001991, 0xffffffff,
+ 0x00007f86, 0x7d612c27, 0x0000f81a, 0x02000001, 0x00000000, 0x3ea12827,
+ 0x00004128, 0x00803c26, 0x00000088, 0x53803c1a, 0x0000f892, 0x02000001,
+ 0x00000000, 0x00001d1a, 0x00007894, 0x00000000, 0x00000000, 0x0003241a,
+ 0x0000788a, 0x00000000, 0x00008020, 0x0003241a, 0x0000c098, 0x0000bc1a,
+ 0x00008098, 0x30e09c1a, 0x000044a0, 0x0a801c1a, 0x0000108b, 0x06601c1a,
+ 0x0000c7b0, 0x8440cc1a, 0x0000058d, 0x2e80cc1a, 0x0000c6a0, 0x1684741a,
+ 0x0000908b, 0x31a4741a, 0x00004198, 0x0083cc1a, 0x00000088, 0x2f03cc1a,
+ 0x0000c4b0, 0xf884641a, 0x00009092, 0x7180bc1a, 0x0000788a, 0x02000001,
+ 0x00000000, 0x3800bc1a, 0x00004198, 0x0080241a, 0x00000088, 0x3800441a,
+ 0x00004488, 0x88807c1a, 0x0000108b, 0x0aa07c1a, 0x000047b1, 0x0660dc1a,
+ 0x0000088f, 0x3800e41a, 0x00004488, 0x8080c41a, 0x0000908b, 0x10c07c1a,
+ 0x0000c589, 0x86207c1a, 0x00008598, 0x6244841a, 0x0000f88a, 0x02000000,
+ 0x0000a08c, 0x7180bc1a, 0x0000788a, 0xb2000000, 0x00002089, 0x7180bc1a,
+ 0x0000788a, 0xb2000000, 0x00002089, 0x00001d1a, 0x00007894, 0x00000000,
+ 0x00000000, 0x4a03241a, 0x0000f88a, 0x02000001, 0x00000060, 0x7180bc1a,
+ 0x0000788a, 0xb2000000, 0x00002089, 0x00004120, 0x0000f200, 0x09446000,
+ 0x00009981, 0x00000427, 0x00009583, 0x00212c27, 0x0000950b, 0x00004159,
+ 0x0000700b, 0x7d401224, 0x0000788a, 0x02000001, 0x00000000, 0x00001d1a,
+ 0x00007894, 0x00000000, 0x00000000, 0x4a03241a, 0x0000f88a, 0x02000001,
+ 0x00000060, 0x7180bc1a, 0x0000788a, 0xb2000000, 0x00002089, 0x00001d1a,
+ 0x00007894, 0x00000000, 0x00000000, 0x4a03241a, 0x0000f88a, 0x02000001,
+ 0x00000060, 0x7180bc1a, 0x0000788a, 0xb2000000, 0x00002089, 0x0000141a,
+ 0x00009583, 0x0900b000, 0x00001988, 0x000041fd, 0x00007009, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02d2d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03215800, 0x00007900, 0x00008ee4, 0x00008980, 0x01400000,
+ 0x00006180, 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x418f1110, 0x0000f500, 0x82781400, 0x00000028, 0x81c01000,
+ 0x0000e180, 0x0220d41a, 0x00004900, 0x00006c1a, 0x00009583, 0x0900e000,
+ 0x000019a0, 0x000041fd, 0x00007021, 0x00004162, 0x00007000, 0x0000d41a,
+ 0x00009583, 0x0900e800, 0x00009988, 0x000041fd, 0x00007009, 0x00004162,
+ 0x00007000, 0x0003c41a, 0x00001583, 0x0900a000, 0x00009988, 0x000041fd,
+ 0x00007009, 0x00004162, 0x00007000, 0x00046c1a, 0x00001583, 0x0900a800,
+ 0x00001988, 0x000041fd, 0x00007009, 0x00004162, 0x00007000, 0x0004841a,
+ 0x00001583, 0x0900c000, 0x000019a8, 0x000041fd, 0x0000f029, 0x62c4941a,
+ 0x000078b2, 0x12000000, 0x0000a08b, 0x000041fd, 0x0000f200, 0x0900b800,
+ 0x00001980, 0x000041fd, 0x0000f200, 0x0900c800, 0x00009980, 0x000041fd,
+ 0x0000f200, 0x0900d000, 0x00009980, 0x000041fd, 0x0000f200, 0x0900d800,
+ 0x00001980, 0x000041fd, 0x0000f200, 0x0900f000, 0x00001980, 0x00003c1a,
+ 0x00009583, 0x09484800, 0x00009988, 0x000041cb, 0x00007009, 0x32c03c1a,
+ 0x0000c4b0, 0x90806c1a, 0x0000908b, 0x05c06c1a, 0x0000c598, 0x02c04c1a,
+ 0x000083a3, 0x00001c1a, 0x00001583, 0x09501002, 0x00009988, 0x000041cb,
+ 0x00007009, 0x33a01c1a, 0x0000c4b0, 0x90802c1a, 0x0000108b, 0x7080341a,
+ 0x0000f88a, 0x52000000, 0x0000208e, 0x0000141a, 0x00009583, 0x09501802,
+ 0x00001988, 0x000041cb, 0x00007009, 0x000041ca, 0x0000f000, 0x0000a41a,
+ 0x00001583, 0x09481002, 0x00009988, 0x000041cb, 0x00007009, 0x0000a41a,
+ 0x00001583, 0x00008c1a, 0x00001583, 0xffffffff, 0x00007f86, 0x000041b3,
+ 0x00007018, 0x000041c6, 0x00007008, 0x00008c1a, 0x00001583, 0x09482000,
+ 0x000099a8, 0x000041cb, 0x0000f029, 0x0000941a, 0x00001583, 0x09480000,
+ 0x00009988, 0x000041cb, 0x00007009, 0x00009c1a, 0x00009583, 0x09480802,
+ 0x00009988, 0x000041cb, 0x00007009, 0x000041ca, 0x0000f000, 0x0000b41a,
+ 0x00009583, 0x09481802, 0x00001988, 0x000041cb, 0x00007009, 0x0000b41a,
+ 0x00009583, 0x09482002, 0x000019a8, 0x000041cb, 0x0000f029, 0x0000cc1a,
+ 0x00009583, 0x09480002, 0x00001988, 0x000041cb, 0x00007009, 0x0000d41a,
+ 0x00009583, 0x09503000, 0x00009988, 0x000041cb, 0x00007009, 0x000041ca,
+ 0x0000f000, 0x000041cb, 0x0000f200, 0x09400000, 0x00009980, 0x000041cb,
+ 0x0000f200, 0x09481000, 0x00009980, 0x000041cb, 0x0000f200, 0x09481800,
+ 0x00001980, 0x000041cb, 0x0000f200, 0x094ff800, 0x00001980, 0x000041cb,
+ 0x0000f200, 0x09480800, 0x00009980, 0x09572ae5, 0x00001900, 0x20001c18,
+ 0x0000ec04, 0x09010418, 0x00009283, 0x0003c41a, 0x00001583, 0x00046c1a,
+ 0x00001583, 0x000041d2, 0x00007010, 0x00004214, 0x00007008, 0x00004214,
+ 0x00007008, 0x00045c1a, 0x00001583, 0x09046000, 0x00001999, 0x000041e2,
+ 0x00007019, 0x0003bc1a, 0x00001583, 0x0903c000, 0x00009999, 0x000041e2,
+ 0x00007019, 0x00031c1a, 0x00001583, 0x09032000, 0x00001999, 0x09000000,
+ 0x000099b1, 0x000041e2, 0x0000f018, 0x0000041a, 0x00001583, 0x09000800,
+ 0x00009991, 0x7ad72825, 0x00007812, 0x02000001, 0x00000000, 0x7ac03c1a,
+ 0x0000f88a, 0x32000000, 0x0000a08f, 0x7ad72825, 0x00007812, 0x02000001,
+ 0x00000000, 0x7ac03c1a, 0x0000f88a, 0x02000001, 0x00008080, 0xffffffff,
+ 0x00007f86, 0x00046424, 0x0000e583, 0x09000000, 0x00008980, 0x000041ec,
+ 0x0000f200, 0x09000800, 0x00001988, 0x09000800, 0x00009980, 0x41ee4096,
+ 0x00007300, 0x09c12024, 0x00009900, 0x00000001, 0x0000f080, 0x000040d9,
+ 0x00007400, 0x09431762, 0x00008218, 0x89001800, 0x00009980, 0x00004103,
+ 0x00007400, 0x09431f63, 0x00008218, 0x89002000, 0x00001980, 0x00213025,
+ 0x0000e886, 0x06812825, 0x00001900, 0x00001d1a, 0x00007894, 0x00000000,
+ 0x00000000, 0x4a03241a, 0x0000f88a, 0x02000001, 0x00000060, 0x7180bc1a,
+ 0x0000788a, 0xb2000000, 0x00002089, 0x26c02000, 0x000009f0, 0x25000804,
+ 0x0000e180, 0x0000189b, 0x00006106, 0x26009000, 0x00007900, 0x0000f140,
+ 0x00008980, 0x26400000, 0x0000f900, 0x00010030, 0x00000980, 0x25400000,
+ 0x00006180, 0xc000189b, 0x0000e006, 0x25800000, 0x00006180, 0x25eb0020,
+ 0x00004980, 0x26a81402, 0x00008928, 0x27400000, 0x000009f8, 0x27c00000,
+ 0x00000ac0, 0x28400000, 0x00000ac8, 0xa7000324, 0x00000a8c, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008128ec,
+ 0x0000d780, 0x00005001, 0x00000080, 0x7180bc1a, 0x0000788a, 0xb2000000,
+ 0x00002089, 0x00000001, 0x00007280, 0x20001018, 0x0000ec04, 0x09000c61,
+ 0x00001283, 0x03400000, 0x00006190, 0x0f80c405, 0x00006014, 0x01202c05,
+ 0x0000e110, 0xc2700600, 0x0000c911, 0x00004227, 0x00007008, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02d2d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x032d3000, 0x0000f900, 0x00306bde, 0x00000980, 0x82680500,
+ 0x0000e101, 0x08001a09, 0x0000e106, 0x00004249, 0x0000f400, 0x0280d702,
+ 0x00000023, 0x81c01000, 0x00009980, 0x00000464, 0x00001583, 0x01400000,
+ 0x0000e188, 0x08030c06, 0x00006008, 0x01c00000, 0x0000f908, 0x00004040,
+ 0x00008980, 0x00004238, 0x0000f010, 0x02d2d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x032f0000, 0x00007900, 0x0018b856, 0x00008980, 0x03400000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x81c01000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x82781400, 0x00000028, 0x02203406, 0x00001900, 0x42381110,
+ 0x00007100, 0x09001d64, 0x00009281, 0x00001424, 0x00001583, 0x00000001,
+ 0x00007093, 0x801b221b, 0x00009502, 0x011b2364, 0x0000e168, 0x03400000,
+ 0x000049e8, 0x01c00000, 0x0000f968, 0x00004040, 0x00008980, 0x00000001,
+ 0x0000f0e0, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03306000,
+ 0x0000f900, 0x0032e34c, 0x00000980, 0x81c01000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x82600500, 0x00008026, 0x8238161b, 0x00000028, 0x00004237,
+ 0x0000f200, 0x01402004, 0x00009900, 0x293b0f60, 0x00000a14, 0x29bb1f62,
+ 0x00000a1c, 0x2a3b2f64, 0x00000a24, 0x2abb3f66, 0x00000a2c, 0x28394f28,
+ 0x00000a04, 0x28f9572b, 0x00000a08, 0x4ea094a1, 0x0000c388, 0x008094a1,
+ 0x00000098, 0x5de074a1, 0x00004388, 0x008074a1, 0x00008098, 0x614064a1,
+ 0x00004488, 0xce8064a1, 0x0000109d, 0x02005ca1, 0x00004790, 0x820084a1,
+ 0x0000098a, 0x124084a1, 0x0000c5b2, 0x0d80462c, 0x00000b8a, 0x6ca0bca1,
+ 0x0000c388, 0x0080bca1, 0x00000098, 0x69e0aca1, 0x00004488, 0xa480aca1,
+ 0x0000909e, 0x01009ca1, 0x0000c791, 0x9080cca1, 0x0000108c, 0xdac0cca1,
+ 0x000078aa, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x0000d4a1,
+ 0x00009583, 0x09800000, 0x00009989, 0x00004276, 0x00007009, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02df2800, 0x0000f900, 0x0012c504,
+ 0x00000980, 0x03382800, 0x00007900, 0x00280a2c, 0x00000980, 0x01414829,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x000043d6, 0x00007400, 0x82781400, 0x00000028, 0x81c02800,
+ 0x00006180, 0x02014028, 0x00004900, 0x09800800, 0x00009981, 0x434d3f3b,
+ 0x00007100, 0x0000005b, 0x0000e582, 0x411a3b47, 0x00000900, 0x01800000,
+ 0x00006180, 0x8201d804, 0x0000e001, 0x01800800, 0x00006188, 0x91c1d804,
+ 0x00006001, 0x40000557, 0x0000e583, 0x1d000000, 0x00008980, 0x1d400000,
+ 0x0000e180, 0xb6e03004, 0x00006001, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000007fc, 0x20000000,
+ 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23400000,
+ 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x0000429a,
+ 0x0000f410, 0x24c00000, 0x000001c8, 0x01401800, 0x00001991, 0x0002604e,
+ 0x00009502, 0x01401000, 0x00009989, 0x0000429a, 0x0000f009, 0x0002604d,
+ 0x00009502, 0x01400000, 0x00001989, 0x01400000, 0x00001991, 0x0000429a,
+ 0x00007008, 0x003a5457, 0x00009503, 0x01400800, 0x000099a1, 0x82c040ec,
+ 0x00007902, 0x01c00000, 0x00000604, 0x00001405, 0x0000e583, 0xc1a02c05,
+ 0x00008901, 0x00001c05, 0x00009583, 0xffffffff, 0x00007f86, 0x000042da,
+ 0x0000f008, 0x000042ce, 0x0000f008, 0x00000c05, 0x00001583, 0x81800000,
+ 0x0000e191, 0xc33abf57, 0x0000c909, 0x81babf57, 0x00006109, 0x04800800,
+ 0x00004988, 0x000042aa, 0x00007010, 0x0382a008, 0x00006100, 0x02c2604c,
+ 0x00008900, 0x0000005b, 0x0000e582, 0x03e2e84f, 0x00000700, 0x1b800000,
+ 0x00007900, 0x00044000, 0x00008980, 0x044728e5, 0x00006108, 0x0442d85b,
+ 0x00004910, 0x89000e58, 0x0000e283, 0xe0000004, 0x0000a401, 0x053fe014,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x1c080000, 0x0000f900, 0x00001510,
+ 0x00008980, 0x4152c258, 0x00006100, 0x2000086e, 0x0000640a, 0x81ba4046,
+ 0x0000001c, 0x02000749, 0x000000a4, 0x02925751, 0x00000030, 0x035ae857,
+ 0x00008036, 0x0402d05a, 0x00006100, 0x04c0084c, 0x00004180, 0x1b000000,
+ 0x000086f4, 0x1be2a000, 0x00006180, 0x1c400000, 0x00004980, 0x1c8000a0,
+ 0x00006180, 0x1cc00200, 0x00004980, 0x06000040, 0x000001e4, 0x07000000,
+ 0x000081f4, 0x07800000, 0x000081fc, 0x08000000, 0x000082c4, 0x08800000,
+ 0x000082cc, 0x06b96f2c, 0x0000012c, 0x1fba774d, 0x00008830, 0x1f79974c,
+ 0x00000a28, 0x42e53ea4, 0x00007500, 0x2ac87f33, 0x00008036, 0x03c2c859,
+ 0x00009900, 0x40000557, 0x0000e583, 0x01400000, 0x00000981, 0x01400800,
+ 0x0000e191, 0x432abd57, 0x0000c901, 0xc0000757, 0x0000e583, 0xc33abf57,
+ 0x00008901, 0x01400f57, 0x0000e191, 0xd7602804, 0x0000a001, 0x017abf57,
+ 0x00009909, 0x000042aa, 0x00007400, 0xffffffff, 0x00007f86, 0x81a02c05,
+ 0x00009901, 0x80000657, 0x0000e583, 0x01400000, 0x00000981, 0x01400800,
+ 0x0000e191, 0xa0000804, 0x00006401, 0x0332be57, 0x00006101, 0xc0000004,
+ 0x0000e401, 0x000042aa, 0x00007400, 0xc33abf57, 0x00006101, 0xc7202804,
+ 0x00006001, 0x81800000, 0x00006181, 0x05404008, 0x00004900, 0x000042e9,
+ 0x0000f200, 0x49805800, 0x00001981, 0x42e83fdd, 0x00007100, 0x49829000,
+ 0x00001981, 0x00004356, 0x0000f200, 0x89400801, 0x000002da, 0x42ec404c,
+ 0x0000f100, 0x4982f800, 0x00009981, 0x00004355, 0x0000f200, 0x09800800,
+ 0x00009981, 0x09020460, 0x00006283, 0x4982b000, 0x00000981, 0x1b000000,
+ 0x0000e190, 0x1b400000, 0x00004990, 0x1b880000, 0x0000e190, 0x1bc00000,
+ 0x0000c990, 0x000042ed, 0x00007008, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000,
+ 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000,
+ 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x42ed3ea4,
+ 0x0000f500, 0x24000000, 0x000089c4, 0x24c00000, 0x000089c8, 0x000042ed,
+ 0x0000f000, 0x42ed3f0c, 0x0000f300, 0x4982b000, 0x00009981, 0x000042ed,
+ 0x0000f000, 0x06010018, 0x00009380, 0x0900e418, 0x00001281, 0x00004424,
+ 0x00001583, 0x00004334, 0x00007013, 0x00045c1a, 0x00001583, 0x09046000,
+ 0x00001999, 0x0000431d, 0x0000f019, 0x0003bc1a, 0x00001583, 0x0903c000,
+ 0x00009999, 0x0000431d, 0x0000f019, 0x00031c1a, 0x00001583, 0x09032000,
+ 0x00001999, 0x09000000, 0x000099b1, 0x0000431d, 0x00007018, 0x0000041a,
+ 0x00001583, 0x09000800, 0x00009991, 0x8000122c, 0x00009582, 0x09400800,
+ 0x0000e188, 0x20002818, 0x0000640c, 0x09400000, 0x00001990, 0x00004325,
+ 0x00007008, 0x00046424, 0x0000e583, 0x20001818, 0x00002404, 0x09400800,
+ 0x00009988, 0x43284096, 0x0000f500, 0xffffffff, 0x00007f86, 0x09c12825,
+ 0x00009900, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x09020418,
+ 0x00009283, 0xc6d94b29, 0x00006108, 0x09800000, 0x0000c989, 0x28014028,
+ 0x00006110, 0x28414829, 0x0000c910, 0x00004332, 0x00007008, 0x28f9572b,
+ 0x00000a08, 0x09800800, 0x00009981, 0x00004355, 0x0000f200, 0x4982f800,
+ 0x00009981, 0x80000a2c, 0x00009582, 0x09800000, 0x00006188, 0x09c32000,
+ 0x00004988, 0x00004339, 0x00007011, 0x0000433d, 0x0000f000, 0x8000122c,
+ 0x00009582, 0x09800000, 0x00006188, 0x09c46000, 0x00004988, 0x0000433f,
+ 0x00007011, 0x43282887, 0x0000f100, 0x00004328, 0x00007000, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02d2d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x030d9000, 0x00007900, 0x001331c8, 0x00000980, 0x01400000,
+ 0x00006180, 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x000043d6, 0x00007400, 0x82781400, 0x00000028, 0x81c01000,
+ 0x0000e180, 0x0211622c, 0x00004900, 0x00004355, 0x0000f200, 0x49827000,
+ 0x00009981, 0x43504007, 0x0000f100, 0x000042ed, 0x00007200, 0x4982b000,
+ 0x00009981, 0x4353402c, 0x0000f100, 0x49827000, 0x00009981, 0x09800000,
+ 0x00001981, 0x09400000, 0x00001981, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x00000c26, 0x00009583, 0x09612c25, 0x00009908, 0x435b3e95,
+ 0x0000f109, 0x40c01408, 0x000080c2, 0x00400000, 0x00007900, 0x00048010,
+ 0x00000980, 0x80693526, 0x00006101, 0xa0000000, 0x0000e400, 0x000800ec,
+ 0x00005780, 0x00004800, 0x00008080, 0xc0004800, 0x00009981, 0x00800eec,
+ 0x00005f80, 0x00004802, 0x00008084, 0x43663f0c, 0x0000f100, 0x00004354,
+ 0x00007200, 0x4982b000, 0x00009981, 0x43543eae, 0x0000f300, 0x4982f800,
+ 0x00009981, 0x00004354, 0x0000f000, 0x4982f800, 0x0000e181, 0x0f80c424,
+ 0x0000e004, 0x00000c24, 0x00001583, 0x00000c24, 0x00001583, 0x00000424,
+ 0x00009583, 0x0000437c, 0x00007008, 0x00004374, 0x0000f038, 0x0000437a,
+ 0x00007008, 0x00004354, 0x0000f000, 0x00001424, 0x00001583, 0x00001c24,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x000043d7, 0x0000f008, 0x000043ca,
+ 0x0000f008, 0x00004354, 0x0000f000, 0x43c84216, 0x0000f100, 0x000043c8,
+ 0x0000f000, 0x09000c61, 0x00001283, 0x000043a9, 0x0000f013, 0x437f4216,
+ 0x0000f100, 0x00045c1a, 0x00001583, 0x09446000, 0x00009999, 0x0000438d,
+ 0x0000f019, 0x0003bc1a, 0x00001583, 0x0943c000, 0x00001999, 0x0000438d,
+ 0x0000f019, 0x00031c1a, 0x00001583, 0x09432000, 0x00009999, 0x09400000,
+ 0x000019b1, 0x0000438d, 0x00007018, 0x0000041a, 0x00001583, 0x09400800,
+ 0x00001991, 0xe7845c64, 0x0000f89a, 0x7a000000, 0x0000218c, 0xe7845c64,
+ 0x0000f89a, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x0003bc64,
+ 0x00001583, 0x0903c000, 0x00009999, 0x0000439a, 0x0000f019, 0x00031c64,
+ 0x00001583, 0x09032000, 0x00001999, 0x09000000, 0x000099b1, 0x0000439a,
+ 0x00007018, 0x00000464, 0x00001583, 0x09000800, 0x00009991, 0xffffffff,
+ 0x00007f86, 0x6a812025, 0x00004418, 0x4e812025, 0x0000102f, 0xf7003c1a,
+ 0x00004589, 0x80a03c64, 0x0000008b, 0x09046000, 0x00001981, 0x74e46425,
+ 0x0000c4a8, 0xa8803c1a, 0x0000108e, 0xe9c03c64, 0x0000f88a, 0x02000001,
+ 0x00008080, 0xffffffff, 0x00007f86, 0x00000425, 0x00001583, 0x00212425,
+ 0x0000950b, 0x00004354, 0x0000700b, 0x00004354, 0x00007200, 0x06832064,
+ 0x00001900, 0x09020418, 0x00009283, 0x27000020, 0x00006188, 0x27400000,
+ 0x00004988, 0x27800000, 0x00006188, 0x27c00000, 0x0000c988, 0x000043c1,
+ 0x00007010, 0x26c00000, 0x0000e180, 0x2868c800, 0x00004980, 0x28800000,
+ 0x0000e180, 0x0000189b, 0x00006106, 0x26009000, 0x00007900, 0x0000f140,
+ 0x00008980, 0x26400000, 0x0000f900, 0x00010030, 0x00000980, 0x28c00000,
+ 0x00006180, 0xc000189b, 0x0000e006, 0x28201702, 0x00000928, 0xe6981302,
+ 0x00009900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009930ec, 0x0000d780, 0x00005000, 0x00008080, 0x00004354,
+ 0x0000f000, 0x09001461, 0x00001283, 0x000043c8, 0x0000700b, 0x0003241a,
+ 0x00009583, 0x06846000, 0x00001989, 0x000043c8, 0x0000f009, 0x0003c41a,
+ 0x00001583, 0x06846800, 0x00009989, 0x435440b3, 0x00007100, 0x00004354,
+ 0x0000f000, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02d2d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x031ad000, 0x0000f900, 0x000e29da,
+ 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01400000,
+ 0x000080f4, 0x82600500, 0x00008026, 0x81c01000, 0x0000e180, 0x02801002,
+ 0x0000c900, 0x43d71110, 0x00007100, 0x43d84216, 0x00007100, 0x00004354,
+ 0x00007200, 0x06847000, 0x00009980, 0x02009000, 0x00007900, 0x00012040,
+ 0x00000980, 0x02401000, 0x00007900, 0x0001c008, 0x00008980, 0x01000804,
+ 0x0000e180, 0x01400000, 0x00004980, 0x01800000, 0x00006180, 0x01eb00a0,
+ 0x0000c980, 0x02c0000a, 0x0000e180, 0x82913a27, 0x00004900, 0x02800527,
+ 0x00008490, 0x11800000, 0x000084dc, 0x0b401d22, 0x0000e281, 0x11401002,
+ 0x00008900, 0x00000c2d, 0x0000f892, 0x00000000, 0x00000000, 0x00191321,
+ 0x00007860, 0x00000000, 0x00000000, 0x00116322, 0x0000f85b, 0x02000001,
+ 0x00000060, 0x0e916123, 0x0000c569, 0x09316021, 0x00008862, 0x0000142d,
+ 0x00007890, 0x00000000, 0x00000000, 0x00191223, 0x00007860, 0x00000000,
+ 0x00008020, 0x00196322, 0x0000f85a, 0x00000000, 0x00008020, 0x89c05c22,
+ 0x00004198, 0x00804c22, 0x000000a0, 0x0a003422, 0x0000c598, 0x05a02c22,
+ 0x000084a7, 0x8a00dc22, 0x00004488, 0x9880e422, 0x00001188, 0x04806422,
+ 0x0000c790, 0x05116123, 0x0000866b, 0x20516321, 0x00007863, 0x92000000,
+ 0x00002283, 0x8b400b21, 0x00001080, 0x02d9122d, 0x0000f86b, 0x02000001,
+ 0x00000000, 0x86005c22, 0x00004198, 0x00804c22, 0x000000a0, 0x03003422,
+ 0x00004599, 0x02e02c22, 0x000001a3, 0x8640dc22, 0x0000c488, 0x5c80e422,
+ 0x00009188, 0x08006422, 0x00007893, 0x72000000, 0x00002281, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x0f000000, 0x00006180, 0x82913226,
+ 0x00004900, 0x10c00000, 0x00007900, 0x0002c000, 0x00000980, 0x0f400000,
+ 0x000004c0, 0x10400000, 0x000004c8, 0x0fb94f28, 0x0000033c, 0x8f000b22,
+ 0x00009180, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009008ec, 0x00005780, 0x009053c0, 0x000081c0, 0x00004403,
+ 0x0000f000, 0x0000441e, 0x00007200, 0x00002422, 0x00001583, 0x00004422,
+ 0x00001583, 0x0b402800, 0x00001989, 0x00004435, 0x0000f009, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x02d2d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x032ee000, 0x00007900, 0x0030da9c, 0x00000980, 0x01400000,
+ 0x00006180, 0x08001a09, 0x0000e106, 0x03400000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x44521110, 0x0000f500, 0x82781400, 0x00000028, 0x81c01000,
+ 0x0000e180, 0x02211422, 0x00004900, 0x00004435, 0x00007200, 0x0b402000,
+ 0x00001981, 0x00004435, 0x00007200, 0x0b401800, 0x00009981, 0x00004435,
+ 0x00007200, 0x0b403800, 0x00001981, 0x0b403000, 0x00009981, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x0f000000, 0x000084cc, 0x02800426,
+ 0x000003b4, 0x10000000, 0x000084c4, 0x10800000, 0x00006180, 0x0f814028,
+ 0x00004900, 0x0fc11729, 0x00008332, 0xd0e16c2d, 0x00009901, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009008ec,
+ 0x00005780, 0x009053c0, 0x000081c0, 0xc8591322, 0x00009900, 0x03d16123,
+ 0x0000c569, 0x03d16022, 0x00000267, 0x00004449, 0x0000f200, 0x00002422,
+ 0x00001583, 0x00004422, 0x00001583, 0x0b402800, 0x00001989, 0x00004453,
+ 0x0000f009, 0x00004420, 0x00007000, 0x00004453, 0x00007200, 0x0b402000,
+ 0x00001981, 0x00004453, 0x00007200, 0x0b401800, 0x00009981, 0x00004453,
+ 0x00007200, 0x0b403800, 0x00001981, 0x0b403000, 0x00009981, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x10c00040, 0x00006180, 0x0f000000,
+ 0x00004980, 0x0f400000, 0x000004c0, 0x10400000, 0x000004c8, 0x0fb94f28,
+ 0x0000033c, 0x50c1132d, 0x0000040e, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009008ec, 0x00005780, 0x009053c0,
+ 0x000081c0, 0xc0196322, 0x00009502, 0x00004470, 0x00007063, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x10c00000, 0x00007900, 0x0001c080,
+ 0x00008980, 0x02800427, 0x000003b0, 0x0f400000, 0x000004c0, 0x10400000,
+ 0x000004c8, 0x0fb94f28, 0x0000033c, 0x90d9632c, 0x00009900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009008ec,
+ 0x00005780, 0x009053c0, 0x000081c0, 0xc0116321, 0x00001502, 0x00004481,
+ 0x0000f063, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0f000000,
+ 0x00006180, 0x82913226, 0x00004900, 0x10c00000, 0x00007900, 0x0002c000,
+ 0x00000980, 0x0f400000, 0x000004c0, 0x10400000, 0x000004c8, 0x0fb94f28,
+ 0x0000033c, 0x8f11622c, 0x00001900, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009008ec, 0x00005780, 0x009053c0,
+ 0x000081c0, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
+ 0x00007900, 0x00048190, 0x00000980, 0x8841612c, 0x0000020e, 0xc0204409,
+ 0x000000cd, 0x008806ec, 0x00005f80, 0x008848c0, 0x00008484, 0x4100157c,
+ 0x00006283, 0x01400000, 0x00000981, 0x00004535, 0x0000f00b, 0x448d1a42,
+ 0x0000f100, 0x400005f3, 0x00009583, 0x084730e6, 0x00001910, 0x00004490,
+ 0x0000f009, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc, 0x19000000,
+ 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000,
+ 0x000086ec, 0x0100e41c, 0x00009283, 0x0100141c, 0x00009283, 0xffffffff,
+ 0x00007f86, 0x0000460c, 0x0000f010, 0x000044a2, 0x0000f008, 0x00010820,
+ 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280, 0x01000800,
+ 0x000061f1, 0xc110ea1d, 0x0000c970, 0x000044a3, 0x0000f270, 0xc750ea1d,
+ 0x00001970, 0x41000400, 0x000080d2, 0x9580147c, 0x0000428e, 0x4e80141c,
+ 0x00009191, 0x5040667c, 0x00007893, 0xc2000000, 0x00002285, 0x801bfa1d,
+ 0x00006502, 0x87400000, 0x00000980, 0x87400800, 0x00009990, 0xffffffff,
+ 0x00007f86, 0x1060e81c, 0x0000e800, 0x0a00141c, 0x0000e283, 0x875bfb7f,
+ 0x00008900, 0x08040080, 0x00001900, 0x000044b6, 0x00007009, 0x00010880,
+ 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe, 0x00008280, 0x01000800,
+ 0x000061f1, 0xc11bfb7f, 0x0000c970, 0xc75bfb7f, 0x00001970, 0x8000667c,
+ 0x00001583, 0x00004541, 0x0000f013, 0x27000000, 0x000089f8, 0x27c06060,
+ 0x00006180, 0x28c00000, 0x00004980, 0x277c2788, 0x00008a00, 0x287c3785,
+ 0x00000a08, 0x293c4f88, 0x00000a14, 0x29fc578b, 0x00000a18, 0x01c18026,
+ 0x0000e080, 0x0b000002, 0x00008980, 0x01bff807, 0x0000f900, 0x00000002,
+ 0x00008280, 0x0180302c, 0x00006100, 0x2a013026, 0x00008900, 0x00017806,
+ 0x0000e582, 0x09818026, 0x00008080, 0x09800007, 0x0000f930, 0x003ffffc,
+ 0x00000280, 0x4100357c, 0x0000e283, 0x1cc00000, 0x00000980, 0x10140000,
+ 0x00007900, 0x0002020e, 0x00000980, 0x000880ec, 0x0000d780, 0x00d87f00,
+ 0x000080c0, 0x25c00000, 0x0000e180, 0x00001873, 0x00006106, 0x2aca0005,
+ 0x0000e180, 0x30e02040, 0x0000e000, 0x1c001000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x1c701800, 0x0000f900, 0x00044140, 0x00008980, 0x24400000,
+ 0x00007900, 0x00004000, 0x00000980, 0x2a818000, 0x0000f900, 0x00207fc0,
+ 0x00008980, 0x2b800000, 0x00007900, 0x00020000, 0x00000980, 0x001920ec,
+ 0x0000d780, 0x00d879c0, 0x000082c8, 0x10405600, 0x00006180, 0xc0001873,
+ 0x0000e006, 0x10800000, 0x000084cc, 0x1c800702, 0x00008980, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089e0, 0x26400000,
+ 0x000009e8, 0x26c00000, 0x00008af0, 0x2b400000, 0x00008afc, 0x0000453e,
+ 0x0000f408, 0x2a413827, 0x0000e100, 0xa5fbe77c, 0x0000c900, 0xead81302,
+ 0x00006100, 0x0d83e406, 0x0000e010, 0x13800702, 0x000004bc, 0x00000406,
+ 0x00006583, 0x0000184f, 0x0000a106, 0x13001000, 0x0000f900, 0x00020000,
+ 0x00000980, 0x13683800, 0x00007900, 0x000440c0, 0x00008980, 0x000044fe,
+ 0x00007208, 0xc000184f, 0x0000e006, 0xd0000853, 0x0000b412, 0x4100457c,
+ 0x00006283, 0x99bbe77c, 0x00000901, 0x1863ec7d, 0x00006100, 0x20000853,
+ 0x00006401, 0xdaebed7d, 0x0000e110, 0xa0000853, 0x0000e410, 0x00000404,
+ 0x0000e583, 0x01801800, 0x00000981, 0x99582304, 0x0000e110, 0x40000852,
+ 0x0000e413, 0x00000404, 0x00001583, 0x000098ec, 0x00005780, 0x00005802,
+ 0x00008080, 0x00004515, 0x0000f009, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x01000c7c, 0x00009283, 0x9e911222, 0x00006110, 0x00000074,
+ 0x0000e411, 0xa3000000, 0x0000e190, 0x1000008b, 0x0000e413, 0x00004520,
+ 0x00007008, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188, 0x000918ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xe2c00000, 0x0000e181, 0x21812024,
+ 0x00004900, 0xa1392804, 0x0000081c, 0x40c03408, 0x000082ea, 0x01a0342a,
+ 0x00001101, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
+ 0x00007900, 0x00048010, 0x00000980, 0xc0004800, 0x0000e181, 0x01a02c06,
+ 0x0000c101, 0x80603406, 0x00001901, 0x008806ec, 0x00005f80, 0x00884880,
+ 0x00000484, 0x1d000824, 0x0000e180, 0x1000008b, 0x00006403, 0x0010e8ec,
+ 0x00005780, 0x00905040, 0x00000188, 0x1e009000, 0x0000f900, 0x00012040,
+ 0x00000980, 0x1e401000, 0x0000f900, 0x0001c008, 0x00008980, 0x000918ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0x1d400000, 0x000007d8, 0x1deb00a0,
+ 0x00006180, 0x1ec0000a, 0x00004980, 0x1ea91422, 0x00008728, 0x23000000,
+ 0x000088f8, 0x23c00000, 0x0000e180, 0x23401002, 0x0000c900, 0x00004515,
+ 0x00007400, 0x21b92f24, 0x0000081c, 0xe2c00000, 0x0000e181, 0xa1182304,
+ 0x00004900, 0x14000000, 0x000085c4, 0x14800000, 0x000085cc, 0x15000000,
+ 0x000085d4, 0x15800000, 0x000085dc, 0x16000000, 0x000085e4, 0x16800000,
+ 0x000085ec, 0x00004490, 0x00007400, 0x17000000, 0x000085f4, 0x17c00000,
+ 0x000085f8, 0x01800000, 0x00009981, 0x45400404, 0x0000788b, 0x32000000,
+ 0x0000a288, 0x08003a2c, 0x00006906, 0x6141422c, 0x00007902, 0x0e300000,
+ 0x00008101, 0x61614a2c, 0x0000a101, 0x0a91622c, 0x00001900, 0xffffffff,
+ 0x00007f86, 0x00003028, 0x00001502, 0x00398c38, 0x00009503, 0xffffffff,
+ 0x00007f86, 0x0000456d, 0x00007010, 0x000046d8, 0x0000f010, 0x6151422c,
+ 0x00002102, 0x00295c38, 0x00009503, 0xffffffff, 0x00007f97, 0x0a000c28,
+ 0x00009081, 0x6159422c, 0x00002901, 0x757964ec, 0x00002190, 0xffffffff,
+ 0x00007f86, 0x0000457a, 0x0000f40b, 0x0b00082c, 0x00001090, 0x757964ec,
+ 0x0000a990, 0x08003a2a, 0x00006906, 0x0a402000, 0x0000f900, 0x00140000,
+ 0x00008980, 0x04115029, 0x0000e901, 0x80394aec, 0x0000d600, 0x00000001,
+ 0x00000080, 0x800142ec, 0x0000f902, 0x0a400000, 0x00008600, 0x800152ec,
+ 0x00007902, 0x0ac00000, 0x00000600, 0x800162ec, 0x00007902, 0x0b400000,
+ 0x00000600, 0x800172ec, 0x0000f902, 0x0bc00000, 0x00008600, 0xffffffff,
+ 0x00007f86, 0x00295c38, 0x00009503, 0x0a000002, 0x00001990, 0xca280500,
+ 0x00001910, 0x0000457a, 0x00007008, 0x770000ec, 0x00005680, 0x00394000,
+ 0x00008000, 0x00c002ec, 0x0000df80, 0x144ab00b, 0x00001684, 0x0019602a,
+ 0x0000e502, 0x0a000c2b, 0x00000081, 0x6178322c, 0x00005100, 0x00118800,
+ 0x00008001, 0x6159422c, 0x00002901, 0x0000457a, 0x00007008, 0x8a19632c,
+ 0x00001900, 0x61796228, 0x00002180, 0xffffffff, 0x00007fa7, 0x00016006,
+ 0x00009502, 0x0b0728e5, 0x00009908, 0xffffffff, 0x00007f86, 0x61796228,
+ 0x0000a980, 0x0a04127f, 0x0000e002, 0x0ec1842a, 0x0000a004, 0x0b000083,
+ 0x00006084, 0x0c015c29, 0x0000a000, 0xda000429, 0x0000c490, 0xa0801c2a,
+ 0x000011b5, 0x0000342a, 0x00007890, 0x00000000, 0x00000000, 0xc1440530,
+ 0x0000788f, 0x02000001, 0x00000060, 0xb419831c, 0x00007813, 0x02000001,
+ 0x00000000, 0xda114d7d, 0x00004312, 0x00820531, 0x00008090, 0x00041835,
+ 0x0000781a, 0x00000000, 0x00000000, 0x00041835, 0x00007810, 0x00000000,
+ 0x00000000, 0x00041034, 0x0000f830, 0x00000000, 0x00008020, 0xb4010531,
+ 0x0000f897, 0x02000001, 0x00000060, 0xb4016033, 0x0000f82b, 0x02000001,
+ 0x00000000, 0x00016033, 0x00007810, 0x00000000, 0x00000000, 0xb4014032,
+ 0x00007823, 0x02000001, 0x00000060, 0xad008530, 0x0000f88f, 0xd2000000,
+ 0x0000a28c, 0xff010531, 0x0000ca96, 0x13808530, 0x0000918e, 0x2b800000,
+ 0x0000e180, 0x0c418c2a, 0x00006000, 0x41010531, 0x00006283, 0x000188ae,
+ 0x00002106, 0x2ac80005, 0x00006180, 0x000188ae, 0x00006081, 0x2b400000,
+ 0x0000e180, 0x0b00942a, 0x00004880, 0x2a800000, 0x0000f900, 0x00207fc0,
+ 0x00008980, 0x82c180ae, 0x00006001, 0x040180ad, 0x00003081, 0x2a39bf36,
+ 0x00000a24, 0x000045ad, 0x0000f410, 0x0ac00000, 0x0000e190, 0xead81302,
+ 0x00004900, 0x2bc0302c, 0x0000e300, 0x0b000000, 0x00008990, 0x0af9a735,
+ 0x00000230, 0x0a417082, 0x00006002, 0xaa93fa7f, 0x00008900, 0x0a017883,
+ 0x0000e004, 0x13410000, 0x00000980, 0x0a816029, 0x0000e102, 0x13800000,
+ 0x00008980, 0x0ac15828, 0x00006104, 0x13c00000, 0x00000980, 0x13006000,
+ 0x00007900, 0x00004000, 0x00000980, 0x0a07847c, 0x00006283, 0x2b01502a,
+ 0x00000900, 0x2b615c2b, 0x00009901, 0x0007289a, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x00004665, 0x0000f008, 0x000046c2, 0x00007010, 0x0007289b,
+ 0x00001502, 0x1b44c098, 0x0000e108, 0x1b04c899, 0x00004908, 0x1b842084,
+ 0x0000e108, 0x1bc42885, 0x00004908, 0x000046c2, 0x0000f210, 0x0a800800,
+ 0x00006189, 0x10402900, 0x00004988, 0x10800000, 0x000084cc, 0x8b002d00,
+ 0x0000e080, 0xe3a15042, 0x0000e002, 0x10140000, 0x00007900, 0x0000440e,
+ 0x00000980, 0x000880ec, 0x0000d780, 0x00d87cc0, 0x000080c0, 0x90dad22c,
+ 0x00001080, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0088d8ec, 0x0000d780, 0x00d87a80, 0x00008188, 0x1dc30020,
+ 0x0000e180, 0x0d001c28, 0x00006006, 0x1ec00000, 0x00006180, 0x82214077,
+ 0x00006004, 0x1e001000, 0x00007900, 0x00004000, 0x00000980, 0x0010e8ec,
+ 0x00005780, 0x00005000, 0x00008080, 0x1d000904, 0x0000e180, 0xc000187b,
+ 0x00006006, 0x1d400000, 0x000007d8, 0x1e400020, 0x00006180, 0x9e901202,
+ 0x0000c900, 0xde981302, 0x00001900, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x103bf840, 0x0000f900, 0x003ffffe, 0x00008280, 0x000880ec,
+ 0x0000d780, 0x00d87ec0, 0x000000c0, 0xc0000840, 0x00006606, 0xe0000842,
+ 0x00003402, 0x000950ec, 0x0000d780, 0x00007800, 0x00008080, 0x10401800,
+ 0x0000e181, 0x90db122c, 0x0000c080, 0x2a393f26, 0x00000a24, 0x1b000000,
+ 0x000086f4, 0x1b800000, 0x000086fc, 0xd0280500, 0x00001900, 0x00c002ec,
+ 0x0000df80, 0x144f980b, 0x00001684, 0x0ec00000, 0x000003f8, 0x27c00060,
+ 0x00006180, 0x0000383b, 0x0000e106, 0x8a802d00, 0x0000e080, 0x08003a3e,
+ 0x0000e106, 0x0e006000, 0x00007900, 0x00008000, 0x00000980, 0x0e580800,
+ 0x00007900, 0x00004080, 0x00008980, 0x0f400000, 0x00007900, 0x00004042,
+ 0x00000980, 0x001070ec, 0x0000d780, 0x00004800, 0x00008080, 0x0e803006,
+ 0x0000e100, 0xc000383b, 0x00006006, 0x35850c2a, 0x00007902, 0x28000000,
+ 0x00000000, 0x0f000000, 0x000003fc, 0x27800000, 0x00000ac8, 0x28c00000,
+ 0x00008ad0, 0x29400000, 0x00000ad8, 0x000044bf, 0x0000f400, 0x29c00000,
+ 0x0000e180, 0x27043086, 0x0000c900, 0x67c0447c, 0x000009b4, 0x460d29cf,
+ 0x0000f100, 0x8000667c, 0x00001583, 0x0e006000, 0x0000f910, 0x00004000,
+ 0x00000980, 0x0e400040, 0x00006190, 0x0ec00000, 0x00004990, 0x0000464e,
+ 0x0000f008, 0x4100357c, 0x0000e283, 0x0000383b, 0x00002106, 0x000870ec,
+ 0x0000d780, 0x00004800, 0x00008080, 0x0e803006, 0x0000e100, 0xc000383b,
+ 0x00006006, 0x000046b1, 0x0000f008, 0x13c00000, 0x0000e180, 0x0d83e42c,
+ 0x0000e000, 0x0000042c, 0x0000e583, 0x0000184f, 0x0000a106, 0x13001000,
+ 0x0000f900, 0x00020000, 0x00000980, 0x13683800, 0x00007900, 0x000440c0,
+ 0x00008980, 0x0000462c, 0x0000f208, 0x13801002, 0x0000e100, 0xc000184f,
+ 0x0000e006, 0x4100457c, 0x00006283, 0xd0000853, 0x0000a402, 0x99bbe77c,
+ 0x0000e101, 0x20000853, 0x00006401, 0x1863ec7d, 0x00006100, 0xa0000853,
+ 0x0000e410, 0xdaebed7d, 0x00009910, 0x00000404, 0x0000e583, 0x0a801800,
+ 0x00008981, 0x99582304, 0x0000e110, 0x40000852, 0x0000e413, 0x00000404,
+ 0x00001583, 0x000098ec, 0x00005780, 0x00005802, 0x00008080, 0x00004643,
+ 0x0000f009, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01000c7c,
+ 0x00009283, 0x9e911222, 0x00006110, 0x00000074, 0x0000e411, 0xa3000000,
+ 0x0000e190, 0x1000008b, 0x0000e413, 0x00004650, 0x0000f008, 0x0010e8ec,
+ 0x00005780, 0x00905040, 0x00000188, 0x000918ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0xe2c00000, 0x0000e181, 0x21812024, 0x00004900, 0xa1392804,
+ 0x0000081c, 0x40c05c08, 0x000002f2, 0x0aa1542c, 0x00001101, 0x003fd800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00048010,
+ 0x00000980, 0xc0004800, 0x0000e181, 0x0b202c2a, 0x0000c101, 0x8061642c,
+ 0x00001901, 0x008806ec, 0x00005f80, 0x00884880, 0x00000484, 0xac40357c,
+ 0x0000f88f, 0xd2000000, 0x00002380, 0x1d000824, 0x0000e180, 0x1000008b,
+ 0x00006403, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188, 0x1e009000,
+ 0x0000f900, 0x00012040, 0x00000980, 0x1e401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x000918ec, 0x0000d780, 0x00005000, 0x00008080, 0x1d400000,
+ 0x000007d8, 0x1deb00a0, 0x00006180, 0x1ec0000a, 0x00004980, 0x1ea91422,
+ 0x00008728, 0x23000000, 0x000088f8, 0x23c00000, 0x0000e180, 0x23401002,
+ 0x0000c900, 0x00004643, 0x00007400, 0x21b92f24, 0x0000081c, 0xe2c00000,
+ 0x0000e181, 0xa1182304, 0x00004900, 0x8a800002, 0x000084c8, 0x10c00000,
+ 0x0000e180, 0x8b002d00, 0x0000c880, 0x10140000, 0x00007900, 0x0000440e,
+ 0x00000980, 0x000880ec, 0x0000d780, 0x00d87cc0, 0x000080c0, 0x1b800000,
+ 0x0000e180, 0xe3a15042, 0x0000e002, 0x1bc00000, 0x00006180, 0x1b042084,
+ 0x0000c900, 0x1b442885, 0x00006100, 0x10402900, 0x0000c980, 0x90dad22c,
+ 0x00001080, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0088d8ec, 0x0000d780, 0x00d87a80, 0x00008188, 0x1dc30020,
+ 0x0000e180, 0x0d001c28, 0x00006006, 0x1ec00000, 0x00006180, 0x82214077,
+ 0x00006004, 0x1e001000, 0x00007900, 0x00004000, 0x00000980, 0x0010e8ec,
+ 0x00005780, 0x00005000, 0x00008080, 0x1d000904, 0x0000e180, 0xc000187b,
+ 0x00006006, 0x1d400000, 0x000007d8, 0x1e400020, 0x00006180, 0x9e901202,
+ 0x0000c900, 0xde981302, 0x00001900, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x103bf840, 0x0000f900, 0x003ffffe, 0x00008280, 0x000880ec,
+ 0x0000d780, 0x00d87ec0, 0x000000c0, 0xc0000840, 0x00006606, 0xe0000842,
+ 0x00003402, 0x000950ec, 0x0000d780, 0x00007800, 0x00008080, 0x10401800,
+ 0x0000e181, 0x90db122c, 0x0000c080, 0x2a393f26, 0x00000a24, 0x1b000000,
+ 0x000086f4, 0x1b800000, 0x000086fc, 0xd0280500, 0x00001900, 0x00c002ec,
+ 0x0000df80, 0x1454c00b, 0x00009684, 0x0ec00000, 0x000003f8, 0x27c00060,
+ 0x00006180, 0x0000383b, 0x0000e106, 0x8a802d00, 0x0000e080, 0x08003a3e,
+ 0x0000e106, 0x0e006000, 0x00007900, 0x00008000, 0x00000980, 0x0e580800,
+ 0x00007900, 0x00004080, 0x00008980, 0x0f400000, 0x00007900, 0x00004042,
+ 0x00000980, 0x001070ec, 0x0000d780, 0x00004800, 0x00008080, 0x0e803006,
+ 0x0000e100, 0xc000383b, 0x00006006, 0x35850c2a, 0x00007902, 0x28000000,
+ 0x00000000, 0x0f000000, 0x000003fc, 0x27800000, 0x00000ac8, 0x28c00000,
+ 0x00008ad0, 0x29400000, 0x00000ad8, 0x000044bf, 0x0000f400, 0x29c00000,
+ 0x0000e180, 0x27043086, 0x0000c900, 0x67c0447c, 0x000009b4, 0x0a800000,
+ 0x00001981, 0x90c00404, 0x0000788b, 0xa2000000, 0x00002381, 0x01c00020,
+ 0x00006180, 0x01298530, 0x00004900, 0x02d2d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x0328a800, 0x00007900, 0x000f4724, 0x00008980, 0x41c00002,
+ 0x000000f4, 0x08001a09, 0x0000e106, 0x08003008, 0x0000b206, 0xc1c00800,
+ 0x0000e181, 0xc2700600, 0x00004901, 0x02a00702, 0x00000026, 0x46c21110,
+ 0x00007300, 0x01402004, 0x00009900, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03254000,
+ 0x0000f900, 0x00205d4a, 0x00000980, 0x01043086, 0x00006100, 0x08001a09,
+ 0x0000e106, 0x03400000, 0x0000e180, 0xc2700600, 0x00004901, 0x000046c0,
+ 0x0000f400, 0x82781400, 0x00000028, 0x81c01000, 0x0000e180, 0x0204d09a,
+ 0x00004900, 0x01c00020, 0x00006180, 0x0133ee7d, 0x00004900, 0x02d2d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x000046bb, 0x0000f400, 0x031f3800,
+ 0x0000f900, 0x001b2cae, 0x00008980, 0x41c00002, 0x000000f4, 0x757944ec,
+ 0x0000a100, 0x0a802000, 0x0000f900, 0x00180000, 0x00008980, 0x0411602a,
+ 0x0000e901, 0xffffffff, 0x00007f86, 0x0a000828, 0x00009080, 0x757944ec,
+ 0x00002900, 0x803952ec, 0x0000d600, 0x00000000, 0x00000280, 0x800182ec,
+ 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000,
+ 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec,
+ 0x0000f902, 0x0dc00000, 0x00008600, 0xc0214f31, 0x00009503, 0x00004707,
+ 0x0000f00b, 0x0a800002, 0x00006180, 0x08003a28, 0x00006106, 0xcaa80500,
+ 0x00001900, 0x770000ec, 0x00005680, 0x00395000, 0x00000000, 0x00c002ec,
+ 0x0000df80, 0x1457900b, 0x00009684, 0x08003a29, 0x00006906, 0x0b402000,
+ 0x00007900, 0x00180000, 0x00008980, 0x0411482d, 0x00006901, 0x80396aec,
+ 0x00005600, 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000,
+ 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec,
+ 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000,
+ 0x00008600, 0x61614228, 0x0000a101, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0xc1e14731, 0x0000f80b, 0x5a000000, 0x0000a387, 0xb4198202,
+ 0x0000f813, 0x32000000, 0x0000228c, 0x6161c22c, 0x0000a101, 0x6151422c,
+ 0x00002102, 0xffffffff, 0x00007f97, 0x00295c38, 0x00009503, 0x0a000c28,
+ 0x00009081, 0x6159422c, 0x00002901, 0x757964ec, 0x00002190, 0xffffffff,
+ 0x00007f86, 0x00004556, 0x00007413, 0x0b00082c, 0x00001090, 0x757964ec,
+ 0x0000a990, 0x0000457a, 0x0000f000, 0x4100157c, 0x00006283, 0x01400000,
+ 0x00000981, 0x000047c7, 0x0000f00b, 0x47171a42, 0x0000f100, 0x400005f3,
+ 0x00009583, 0x084730e6, 0x00001910, 0x0000471a, 0x00007009, 0x18000000,
+ 0x000086c4, 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000,
+ 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x0100e41c,
+ 0x00009283, 0x0100141c, 0x00009283, 0xffffffff, 0x00007f86, 0x000047c4,
+ 0x0000f010, 0x0000472c, 0x0000f008, 0x00010820, 0x00009502, 0x073fe81c,
+ 0x00007970, 0x003ffffe, 0x00008280, 0x01000800, 0x000061f1, 0xc110ea1d,
+ 0x0000c970, 0x0000472d, 0x0000f270, 0xc750ea1d, 0x00001970, 0x41000400,
+ 0x000080d2, 0xf0e0147c, 0x00004296, 0x66800c7c, 0x00001196, 0xdec0141c,
+ 0x00007897, 0xb2000000, 0x0000a38b, 0x01800c7c, 0x00001283, 0x00004787,
+ 0x00007013, 0x00000404, 0x00001583, 0x10004001, 0x00006190, 0x10401000,
+ 0x00004990, 0x10800000, 0x0000e190, 0x10c00000, 0x00004990, 0x000047de,
+ 0x00007008, 0x4100357c, 0x0000e283, 0x26c80005, 0x00008980, 0x26800000,
+ 0x0000f900, 0x00207fc0, 0x00008980, 0x000880ec, 0x0000d780, 0x00d87980,
+ 0x000080c8, 0x000047db, 0x0000f408, 0x26000000, 0x000089e4, 0xe6d81302,
+ 0x00001900, 0x13c00000, 0x0000e180, 0x0d83e406, 0x00006000, 0x00000406,
+ 0x00006583, 0x0000184f, 0x0000a106, 0x13001000, 0x0000f900, 0x00020000,
+ 0x00000980, 0x13683800, 0x00007900, 0x000440c0, 0x00008980, 0x00004754,
+ 0x00007208, 0x13801002, 0x0000e100, 0xc000184f, 0x0000e006, 0x4100457c,
+ 0x00006283, 0xd0000853, 0x0000a402, 0x99bbe77c, 0x0000e101, 0x20000853,
+ 0x00006401, 0x1863ec7d, 0x00006100, 0xa0000853, 0x0000e410, 0xdaebed7d,
+ 0x00009910, 0x00000404, 0x0000e583, 0x01801800, 0x00000981, 0x99582304,
+ 0x0000e110, 0x40000852, 0x0000e413, 0x00000404, 0x00001583, 0x000098ec,
+ 0x00005780, 0x00005802, 0x00008080, 0x0000476b, 0x00007009, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x01000c7c, 0x00009283, 0x9e911222,
+ 0x00006110, 0x00000074, 0x0000e411, 0xa3000000, 0x0000e190, 0x1000008b,
+ 0x0000e413, 0x000047af, 0x00007008, 0x0010e8ec, 0x00005780, 0x00905040,
+ 0x00000188, 0x000918ec, 0x0000d780, 0x00005000, 0x00008080, 0xe2c00000,
+ 0x0000e181, 0x21812024, 0x00004900, 0xa1392804, 0x0000081c, 0x40c03408,
+ 0x000080d2, 0x01a03404, 0x00001101, 0x003fd800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x00400000, 0x00007900, 0x00048010, 0x00000980, 0xc0004800,
+ 0x0000e181, 0x01a02c06, 0x0000c101, 0x80603406, 0x00001901, 0x008806ec,
+ 0x00005f80, 0x00884880, 0x00000484, 0x801bfa1d, 0x00006502, 0x81800000,
+ 0x00000980, 0x81800800, 0x00009990, 0xffffffff, 0x00007f86, 0x1060301c,
+ 0x0000e800, 0x0180141c, 0x0000e283, 0x875bfb7f, 0x00008900, 0x08040080,
+ 0x00001900, 0x00004731, 0x00007009, 0x00010880, 0x00009502, 0x073fe81c,
+ 0x00007970, 0x003ffffe, 0x00008280, 0x01000800, 0x000061f1, 0xc11bfb7f,
+ 0x0000c970, 0x01800c7c, 0x0000e283, 0xc75bfb7f, 0x00008970, 0x00004733,
+ 0x0000700b, 0x000880ec, 0x0000d780, 0x00d87980, 0x000080c8, 0x26c80005,
+ 0x00006180, 0x23000000, 0x0000c980, 0x26800000, 0x0000f900, 0x00207fc0,
+ 0x00008980, 0x1e009000, 0x0000f900, 0x00012040, 0x00000980, 0x1e401000,
+ 0x0000f900, 0x0001c008, 0x00008980, 0x0010e8ec, 0x00005780, 0x00905040,
+ 0x00000188, 0x87d45a8b, 0x0000e100, 0x0f83e48c, 0x00006000, 0x10004001,
+ 0x0000e180, 0x10401000, 0x0000c980, 0x10800000, 0x000084cc, 0x26000000,
+ 0x000089e4, 0x21b92f24, 0x0000081c, 0x1d000824, 0x0000e180, 0x1d400000,
+ 0x0000c980, 0x1d800000, 0x0000e180, 0x1deb00a0, 0x00004980, 0x1ec0000a,
+ 0x00006180, 0x9e911a23, 0x0000c900, 0x1e800523, 0x000088b8, 0x23c00000,
+ 0x0000e180, 0x23401002, 0x0000c900, 0x00000404, 0x0000e583, 0xe6d81302,
+ 0x00008900, 0x814010ec, 0x00005694, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008918ec, 0x0000d790, 0x00005000, 0x00008080, 0xffffffff,
+ 0x00007f97, 0x000918ec, 0x00005788, 0x00005000, 0x00008080, 0xf6c0357c,
+ 0x0000788f, 0x12000000, 0x0000238a, 0x1d000824, 0x0000e180, 0x1000008b,
+ 0x00006403, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188, 0x1e009000,
+ 0x0000f900, 0x00012040, 0x00000980, 0x1e401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x000918ec, 0x0000d780, 0x00005000, 0x00008080, 0x1d400000,
+ 0x000007d8, 0x1deb00a0, 0x00006180, 0x1ec0000a, 0x00004980, 0x1ea91422,
+ 0x00008728, 0x23000000, 0x000088f8, 0x23c00000, 0x0000e180, 0x23401002,
+ 0x0000c900, 0x0000476b, 0x0000f400, 0x21b92f24, 0x0000081c, 0xe2c00000,
+ 0x0000e181, 0xa1182304, 0x00004900, 0x47c529cf, 0x0000f100, 0xf6c0357c,
+ 0x0000788f, 0x12000000, 0x0000238a, 0x4100257c, 0x00009283, 0x14000000,
+ 0x0000e190, 0x14400000, 0x00004990, 0x14800000, 0x00006190, 0x14c00000,
+ 0x0000c990, 0x000047e0, 0x0000f008, 0x15000000, 0x000085d4, 0x15800000,
+ 0x000085dc, 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x17000000,
+ 0x000085f4, 0x17800000, 0x000085fc, 0x18000000, 0x000086c4, 0x18800000,
+ 0x000086cc, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000,
+ 0x000086e4, 0x1ac00000, 0x000086e8, 0xfd60e41c, 0x00004597, 0x7520141c,
+ 0x0000f48e, 0x01800000, 0x00009981, 0xdac00404, 0x0000f88b, 0xe2000000,
+ 0x0000238a, 0xf6c0357c, 0x0000788f, 0x12000000, 0x0000238a, 0xfc80e41c,
+ 0x0000c596, 0xf4c0141c, 0x0000f48a, 0x4100157c, 0x00006283, 0x01400000,
+ 0x00000981, 0x00004966, 0x0000f00b, 0x47e61a42, 0x00007100, 0x400005f3,
+ 0x00009583, 0x084730e6, 0x00001910, 0x000047e9, 0x00007009, 0x0100e41c,
+ 0x00006283, 0x18000000, 0x00008980, 0x18400000, 0x000006c8, 0x18c00000,
+ 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x0000495a,
+ 0x00007410, 0x1a400000, 0x000006e8, 0x1ac00000, 0x00009980, 0x08003a2a,
+ 0x00006906, 0x6179822a, 0x00003160, 0x6160222a, 0x0000a101, 0x0a11522a,
+ 0x00009900, 0xffffffff, 0x00007f86, 0x00003030, 0x00001502, 0x00398c31,
+ 0x00009503, 0xffffffff, 0x00007f86, 0x0000497a, 0x00007010, 0x00004919,
+ 0x00007010, 0x6151822a, 0x00002102, 0xffffffff, 0x00007f86, 0x00295c31,
+ 0x00006503, 0x01000c31, 0x00000081, 0x6170222a, 0x0000a901, 0x00215c30,
+ 0x00009503, 0xffffffff, 0x00007f86, 0x000048fb, 0x0000f010, 0x000048fb,
+ 0x0000f010, 0x25400000, 0x00006180, 0x08003a2a, 0x0000e106, 0x6161422a,
+ 0x0000a100, 0x24c00000, 0x00006180, 0x25400f31, 0x00004081, 0xe5501202,
+ 0x0000e100, 0x00003893, 0x00006106, 0x25800000, 0x00006180, 0x86c3e095,
+ 0x00006000, 0x8c000a28, 0x00006080, 0xc0003893, 0x00002006, 0x2400e000,
+ 0x00007900, 0x0000a340, 0x00000980, 0x24401000, 0x0000f900, 0x0001c000,
+ 0x00000980, 0x97401895, 0x00006006, 0x08001a96, 0x0000b106, 0x6161822a,
+ 0x00002900, 0x24800706, 0x0000099c, 0x2528e428, 0x00000910, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009120ec,
+ 0x0000d780, 0x00006000, 0x00008080, 0x0100141c, 0x00009283, 0x00004827,
+ 0x0000700b, 0x00010820, 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe,
+ 0x00008280, 0x01000800, 0x000061f1, 0xc110ea1d, 0x0000c970, 0x00004828,
+ 0x0000f270, 0xc750ea1d, 0x00001970, 0x41000400, 0x000080d2, 0x0a00147c,
+ 0x00001283, 0x0a00141c, 0x00001283, 0xffffffff, 0x00007f86, 0x0000483c,
+ 0x00007008, 0x00004832, 0x0000f010, 0x801bfa1d, 0x00006502, 0x87400000,
+ 0x00000980, 0x87400800, 0x00009990, 0xffffffff, 0x00007f86, 0x1060e81c,
+ 0x0000e800, 0x0a00141c, 0x0000e283, 0x875bfb7f, 0x00008900, 0x08040080,
+ 0x00001900, 0x0000483c, 0x0000f009, 0x00010880, 0x00009502, 0x073fe81c,
+ 0x00007970, 0x003ffffe, 0x00008280, 0x01000800, 0x000061f1, 0xc11bfb7f,
+ 0x0000c970, 0xc75bfb7f, 0x00001970, 0x4101057c, 0x00006283, 0x0ec00000,
+ 0x00000980, 0x0f800000, 0x0000e180, 0x0000383b, 0x0000e106, 0x0e006000,
+ 0x00007900, 0x00008000, 0x00000980, 0x0e580800, 0x00007900, 0x00004080,
+ 0x00008980, 0x0f400000, 0x00007900, 0x00004040, 0x00008980, 0x001070ec,
+ 0x0000d780, 0x00004800, 0x00008080, 0xc000383b, 0x00006006, 0x08003a3e,
+ 0x0000b106, 0x000048b3, 0x00007410, 0x0e800706, 0x000003b0, 0x0fc00000,
+ 0x00006180, 0x8e401800, 0x0000c989, 0x757946ec, 0x0000a180, 0x08003a2a,
+ 0x00006906, 0x0fd15030, 0x0000e904, 0xffffffff, 0x00007f86, 0x0a000828,
+ 0x00009080, 0x757946ec, 0x00002980, 0x0a000c2a, 0x00001283, 0x75b94030,
+ 0x0000a188, 0x00004875, 0x00007011, 0xffffffff, 0x00007f86, 0x80194294,
+ 0x00009502, 0x00004946, 0x0000705b, 0x80000228, 0x00009582, 0x0000487b,
+ 0x0000700b, 0x08003a05, 0x00006106, 0x08001a09, 0x0000b106, 0x01c00000,
+ 0x00007900, 0x00004040, 0x00008980, 0x01102a05, 0x00006100, 0x08003008,
+ 0x0000e206, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03088000,
+ 0x0000f900, 0x002b8ee2, 0x00008980, 0x03400000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x486b1110, 0x0000f500, 0x82781400, 0x00000028, 0x01401704,
+ 0x0000009d, 0x757956ec, 0x0000a100, 0xffffffff, 0x00007fa7, 0x0a00082a,
+ 0x00001080, 0x757946ec, 0x0000a900, 0x0a000002, 0x00009980, 0xca280500,
+ 0x00009900, 0x770000ec, 0x00005680, 0x00394000, 0x00008000, 0x00c002ec,
+ 0x0000df80, 0x1483a80b, 0x00001684, 0x75b94030, 0x0000a100, 0xffffffff,
+ 0x00007fa7, 0x80194294, 0x00009502, 0x0000486b, 0x0000f05b, 0x80000228,
+ 0x00009582, 0x0000485c, 0x00007013, 0x00000404, 0x00001583, 0x000048dc,
+ 0x0000f013, 0x4100357c, 0x00001283, 0x00004957, 0x0000700b, 0x13c00000,
+ 0x0000e180, 0x0d83e42a, 0x0000e000, 0x0000042a, 0x0000e583, 0x0000184f,
+ 0x0000a106, 0x13001000, 0x0000f900, 0x00020000, 0x00000980, 0x13683800,
+ 0x00007900, 0x000440c0, 0x00008980, 0x00004891, 0x00007208, 0x13801002,
+ 0x0000e100, 0xc000184f, 0x0000e006, 0x4100457c, 0x00006283, 0xd0000853,
+ 0x0000a402, 0x99bbe77c, 0x0000e101, 0x20000853, 0x00006401, 0x1863ec7d,
+ 0x00006100, 0xa0000853, 0x0000e410, 0xdaebed7d, 0x00009910, 0x00000404,
+ 0x0000e583, 0x01801800, 0x00000981, 0x99582304, 0x0000e110, 0x40000852,
+ 0x0000e413, 0x00000404, 0x00001583, 0x000098ec, 0x00005780, 0x00005802,
+ 0x00008080, 0x000048a8, 0x00007009, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x01000c7c, 0x00009283, 0x9e911222, 0x00006110, 0x00000074,
+ 0x0000e411, 0xa3000000, 0x0000e190, 0x1000008b, 0x0000e413, 0x000048e6,
+ 0x0000f008, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188, 0x000918ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0xe2c00000, 0x0000e181, 0x21812024,
+ 0x00004900, 0xa1392804, 0x0000081c, 0x40c03408, 0x000082ea, 0x01a0342a,
+ 0x00001101, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
+ 0x00007900, 0x00048010, 0x00000980, 0xc0004800, 0x0000e181, 0x0aa02c06,
+ 0x00004101, 0x8061542a, 0x00001901, 0x008806ec, 0x00005f80, 0x00884880,
+ 0x00000484, 0x000880ec, 0x0000d780, 0x00d87980, 0x000080c8, 0x26c80005,
+ 0x00006180, 0x23800000, 0x00004980, 0x23080000, 0x00006180, 0x10004001,
+ 0x0000c980, 0x26800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x1e009000,
+ 0x0000f900, 0x00012040, 0x00000980, 0x1e401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188, 0x0f83e48c,
+ 0x00006000, 0x08003b8c, 0x00003106, 0x10400002, 0x000084c8, 0x10c00000,
+ 0x000009e0, 0x26400000, 0x00006180, 0x21812024, 0x00004900, 0x21e45f25,
+ 0x0000013c, 0x1d000824, 0x0000e180, 0x1d400000, 0x0000c980, 0x1d800000,
+ 0x0000e180, 0x1deb00a0, 0x00004980, 0x1ec0000a, 0x00006180, 0x9e911a23,
+ 0x0000c900, 0x1e800523, 0x000008bc, 0x00000404, 0x0000e583, 0x23401002,
+ 0x00000900, 0x23a81494, 0x0000092c, 0x814010ec, 0x00005694, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008918ec, 0x0000d790, 0x00005000,
+ 0x00008080, 0xffffffff, 0x00007f97, 0x000918ec, 0x00005788, 0x00005000,
+ 0x00008080, 0x55c0357c, 0x0000f88e, 0xfa400000, 0x00002483, 0x26c80005,
+ 0x00006180, 0x10004001, 0x0000c980, 0x26800000, 0x0000f900, 0x00207fc0,
+ 0x00008980, 0x000880ec, 0x0000d780, 0x00d87980, 0x000080c8, 0x10400002,
+ 0x000084c8, 0x0000487d, 0x00007400, 0x10c00000, 0x000009e0, 0x26c00502,
+ 0x000089a4, 0x1d000824, 0x0000e180, 0x1000008b, 0x00006403, 0x0010e8ec,
+ 0x00005780, 0x00905040, 0x00000188, 0x1e009000, 0x0000f900, 0x00012040,
+ 0x00000980, 0x1e401000, 0x0000f900, 0x0001c008, 0x00008980, 0x000918ec,
+ 0x0000d780, 0x00005000, 0x00008080, 0x1d400000, 0x000007d8, 0x1deb00a0,
+ 0x00006180, 0x1ec0000a, 0x00004980, 0x1ea91422, 0x00008728, 0x23000000,
+ 0x000088f8, 0x23c00000, 0x0000e180, 0x23401002, 0x0000c900, 0x000048a8,
+ 0x0000f400, 0x21b92f24, 0x0000081c, 0xe2c00000, 0x0000e181, 0xa1182304,
+ 0x00004900, 0x757822ec, 0x0000a180, 0xffffffff, 0x00007fa7, 0x0a800804,
+ 0x00009080, 0x757952ec, 0x00002980, 0x08003a29, 0x00006906, 0x0a002000,
+ 0x00007900, 0x00140000, 0x00008980, 0x04114828, 0x00006901, 0x803942ec,
+ 0x00005600, 0x00000001, 0x00000080, 0x800142ec, 0x0000f902, 0x0a400000,
+ 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000, 0x00000600, 0x800162ec,
+ 0x00007902, 0x0b400000, 0x00000600, 0x800172ec, 0x0000f902, 0x0bc00000,
+ 0x00008600, 0xffffffff, 0x00007f86, 0x00295c31, 0x00009503, 0x00215c30,
+ 0x00009503, 0xffffffff, 0x00007f86, 0x00004913, 0x00007010, 0x00004805,
+ 0x00007008, 0x01000002, 0x00001980, 0xc1280500, 0x00001900, 0x770000ec,
+ 0x00005680, 0x00382000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1487f80b,
+ 0x00009684, 0x757942ec, 0x0000a100, 0x0a402000, 0x0000f900, 0x00180000,
+ 0x00008980, 0x04115029, 0x0000e901, 0xffffffff, 0x00007f86, 0x0a000828,
+ 0x00009080, 0x757942ec, 0x00002900, 0x80394aec, 0x0000d600, 0x00000000,
+ 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec,
+ 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000,
+ 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600, 0xc0202731,
+ 0x00009503, 0x000049a0, 0x0000f00b, 0x01000002, 0x00006180, 0x08003a29,
+ 0x0000e106, 0xc1280500, 0x00001900, 0x770000ec, 0x00005680, 0x00382000,
+ 0x00000000, 0x00c002ec, 0x0000df80, 0x1489980b, 0x00001684, 0x08003a2c,
+ 0x00006906, 0x0a002000, 0x00007900, 0x00180000, 0x00008980, 0x04116028,
+ 0x00006901, 0x803942ec, 0x00005600, 0x00000000, 0x00000280, 0x800182ec,
+ 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000,
+ 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec,
+ 0x0000f902, 0x0dc00000, 0x00008600, 0x61602229, 0x0000a101, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x68202731, 0x0000f80a, 0x62400000,
+ 0x0000a489, 0x757956ec, 0x0000a100, 0xffffffff, 0x00007fa7, 0x0a00082a,
+ 0x00001080, 0x757946ec, 0x0000a900, 0x0a000002, 0x00009980, 0xca280500,
+ 0x00009900, 0x770000ec, 0x00005680, 0x00394000, 0x00008000, 0x00c002ec,
+ 0x0000df80, 0x148a800b, 0x00001684, 0x75b94030, 0x00002180, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x28d14194, 0x0000c459, 0xb8800228,
+ 0x00001290, 0x37000404, 0x00007892, 0xea400000, 0x0000a483, 0x01800000,
+ 0x00009981, 0x2a000404, 0x0000788a, 0xca400000, 0x0000a484, 0x495b29cf,
+ 0x0000f100, 0x0ec00000, 0x0000e180, 0x0e4000e0, 0x0000c980, 0x0e803006,
+ 0x0000e100, 0x0000383b, 0x0000e106, 0x0e006000, 0x00007900, 0x00004000,
+ 0x00000980, 0x000870ec, 0x0000d780, 0x00004800, 0x00008080, 0xc000383b,
+ 0x0000e806, 0x55c0357c, 0x0000f88e, 0xfa400000, 0x00002483, 0x4100257c,
+ 0x00009283, 0x14000000, 0x0000e190, 0x14400000, 0x00004990, 0x14800000,
+ 0x00006190, 0x14c00000, 0x0000c990, 0x000049a2, 0x00007008, 0x15000000,
+ 0x000085d4, 0x15800000, 0x000085dc, 0x16000000, 0x000085e4, 0x16800000,
+ 0x000085ec, 0x17000000, 0x000085f4, 0x17800000, 0x000085fc, 0x18000000,
+ 0x000086c4, 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000,
+ 0x000086dc, 0x1a000000, 0x000086e4, 0x1ac00000, 0x000086e8, 0x5680e41c,
+ 0x00007896, 0x92400000, 0x0000238f, 0x00196028, 0x00006502, 0x01000f31,
+ 0x00000081, 0x6178322a, 0x00005100, 0x00302000, 0x00000001, 0x61595a2a,
+ 0x00002901, 0x00004805, 0x00007008, 0x8a59632c, 0x0000e100, 0x08003a2a,
+ 0x0000e106, 0x61794229, 0x00002180, 0x25400000, 0x000009cc, 0x25400f31,
+ 0x0000e081, 0xe5501202, 0x00000900, 0x00003893, 0x00006106, 0x86c3e095,
+ 0x00003000, 0x00014006, 0x0000e502, 0x25800000, 0x00008980, 0x0a0728e5,
+ 0x00006108, 0xc0003893, 0x0000e006, 0x2400e000, 0x00007900, 0x0000a340,
+ 0x00000980, 0x61794229, 0x0000a980, 0x6161422a, 0x0000a100, 0x24401000,
+ 0x0000f900, 0x0001c000, 0x00000980, 0x97401895, 0x00006006, 0x08001a96,
+ 0x0000b106, 0x24800706, 0x0000099c, 0x8c000a28, 0x00006080, 0xe518e31c,
+ 0x00008900, 0x6161822a, 0x00002900, 0xa5114228, 0x00009900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009120ec,
+ 0x0000d780, 0x00006000, 0x00008080, 0x09c0141c, 0x0000f88e, 0x02400000,
+ 0x00002481, 0x000047fc, 0x00007200, 0x61618a2a, 0x0000a101, 0x5680e41c,
+ 0x00007896, 0x92400000, 0x0000238f, 0x00000428, 0x00009583, 0x700000ec,
+ 0x00005690, 0x00000040, 0x00000080, 0x0b400000, 0x0000e190, 0x0a400001,
+ 0x0000c990, 0x000049ae, 0x00007008, 0x0413f02d, 0x0000e187, 0x00214029,
+ 0x00003102, 0x703948ec, 0x00005600, 0x00396800, 0x00008000, 0x81694628,
+ 0x00001303, 0x0e006000, 0x00006190, 0x0e400000, 0x0000c990, 0x0ec00000,
+ 0x00006190, 0x0a400000, 0x0000c991, 0x000049d5, 0x00007008, 0x80000628,
+ 0x00006583, 0x0000383b, 0x00002106, 0x0a001000, 0x0000e191, 0x0a000800,
+ 0x0000c989, 0x80000628, 0x00006583, 0xc000383b, 0x0000a006, 0x0a400800,
+ 0x00006191, 0xce214428, 0x0000c901, 0x0e803006, 0x00009900, 0x00000429,
+ 0x0000e583, 0x00214839, 0x0000a006, 0x0a001800, 0x00006191, 0x0a000000,
+ 0x00004989, 0x00000429, 0x00001583, 0x0f000000, 0x0000e190, 0x82214039,
+ 0x00006080, 0x8e694528, 0x0000e101, 0x0f800000, 0x00004990, 0x000049d3,
+ 0x0000f208, 0x0fc00000, 0x0000e190, 0x86214839, 0x00006001, 0xc0000728,
+ 0x00006583, 0x08003a3e, 0x00002106, 0x01800000, 0x00006189, 0x01801000,
+ 0x0000c991, 0x0f400000, 0x00007900, 0x00004040, 0x00008980, 0x000049d5,
+ 0x00007400, 0x001070ec, 0x0000d780, 0x00004800, 0x00008080, 0xa2a0303d,
+ 0x00006802, 0x000870ec, 0x0000d780, 0x00004800, 0x00008080, 0x00000001,
+ 0x0000f080, 0x4102057c, 0x00009283, 0x00004a0f, 0x0000f013, 0x0a00447c,
+ 0x00001283, 0x8ac00000, 0x00006190, 0x0a800000, 0x0000c991, 0x0a801000,
+ 0x00006189, 0x8ad45a8b, 0x0000c908, 0x00004a14, 0x0000f010, 0x00004a14,
+ 0x00007000, 0x49e249a4, 0x00007300, 0x0a100800, 0x0000f900, 0x00004040,
+ 0x00008980, 0x4100357c, 0x00001283, 0x13c00000, 0x00006190, 0x0d83e406,
+ 0x0000e010, 0x13001000, 0x00007910, 0x00020000, 0x00000980, 0x000049fd,
+ 0x00007008, 0x00000406, 0x00006583, 0x0000184f, 0x0000a106, 0x13683800,
+ 0x00007900, 0x000440c0, 0x00008980, 0x13801002, 0x0000e100, 0xc000184f,
+ 0x0000e006, 0x000049f6, 0x0000f008, 0x4100457c, 0x00006283, 0xd0000853,
+ 0x0000a402, 0x99bbe77c, 0x0000e101, 0x20000853, 0x00006401, 0x1863ec7d,
+ 0x00006100, 0xa0000853, 0x0000e410, 0xdaebed7d, 0x00009910, 0x00000404,
+ 0x0000e583, 0x01c01800, 0x00008981, 0x000049fe, 0x00007400, 0x000098ec,
+ 0x00005780, 0x00005802, 0x00008080, 0x99582304, 0x0000e110, 0x40000852,
+ 0x0000e413, 0x01c00000, 0x00001981, 0x00216004, 0x0000e886, 0x82215004,
+ 0x0000e886, 0x4a03295a, 0x0000f500, 0x04115804, 0x0000e987, 0x01802004,
+ 0x00009900, 0x81200006, 0x00000ffd, 0xc0c04000, 0x0000e180, 0x01203c04,
+ 0x00004101, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
+ 0x00007900, 0x00048010, 0x00000980, 0xc0004800, 0x0000e181, 0x01202c04,
+ 0x0000c101, 0x80602404, 0x00001901, 0x008806ec, 0x00005f80, 0x00884880,
+ 0x00000484, 0x4100857c, 0x00009283, 0x8ad43286, 0x00009910, 0x8ad42284,
+ 0x00009908, 0x00004a13, 0x00007010, 0x0a800800, 0x00009981, 0x1b800007,
+ 0x000006f0, 0x1bec5800, 0x0000f900, 0x00138fb6, 0x00000980, 0x1c2e7800,
+ 0x00007900, 0x0003be40, 0x00000980, 0x49df1147, 0x0000f500, 0x9b59662b,
+ 0x0000863a, 0xdba1542a, 0x00001900, 0x4100157c, 0x00006283, 0x01400000,
+ 0x00000981, 0x00004c06, 0x0000f00b, 0x4a201a42, 0x0000f100, 0x400005f3,
+ 0x00009583, 0x084730e6, 0x00001910, 0x00004a23, 0x0000f009, 0x18000000,
+ 0x000086c4, 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000,
+ 0x000086dc, 0x1a000000, 0x000086e4, 0x1ac00000, 0x000086e8, 0x0100e41c,
+ 0x00009283, 0x0100141c, 0x00009283, 0xffffffff, 0x00007f86, 0x00004bef,
+ 0x0000f010, 0x00004a35, 0x0000f008, 0x00010820, 0x00009502, 0x073fe81c,
+ 0x00007970, 0x003ffffe, 0x00008280, 0x01000800, 0x000061f1, 0xc110ea1d,
+ 0x0000c970, 0x00004a36, 0x00007270, 0xc750ea1d, 0x00001970, 0x41000400,
+ 0x000080d2, 0x0a00147c, 0x00001283, 0x0a00141c, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x00004a45, 0x00007008, 0x00004b33, 0x00007008, 0x0a00141c,
+ 0x0000e283, 0x875bfb7f, 0x00008900, 0x08040080, 0x00001900, 0x00004a45,
+ 0x0000f009, 0x00010880, 0x00009502, 0x073fe81c, 0x00007970, 0x003ffffe,
+ 0x00008280, 0x01000800, 0x000061f1, 0xc11bfb7f, 0x0000c970, 0xc75bfb7f,
+ 0x00001970, 0x08003028, 0x0000ea06, 0x0a3ff828, 0x00007900, 0x000000fe,
+ 0x00008280, 0x0a33ee7d, 0x0000e100, 0x0a804028, 0x0000c880, 0x0a33e82a,
+ 0x00009302, 0x08003a28, 0x00006916, 0x0b514228, 0x00001910, 0x00004b39,
+ 0x00007008, 0x61415228, 0x00007902, 0x0e300000, 0x00008101, 0x61614a28,
+ 0x00002101, 0xffffffff, 0x00007f97, 0x0000302a, 0x00009502, 0x00398c38,
+ 0x00009503, 0xffffffff, 0x00007f86, 0x00004bc1, 0x0000f010, 0x00004b84,
+ 0x00007010, 0x61514a28, 0x00002102, 0xffffffff, 0x00007f86, 0x00295c38,
+ 0x00009503, 0x0a802000, 0x00007910, 0x00140000, 0x00008980, 0x0a400c29,
+ 0x00009081, 0x00004a89, 0x0000f208, 0x61594a28, 0x00002901, 0x757944ec,
+ 0x00002180, 0xffffffff, 0x00007fa7, 0x0a000828, 0x00009080, 0x757944ec,
+ 0x0000a980, 0x08003a28, 0x0000e906, 0x0411402a, 0x00006901, 0x803952ec,
+ 0x0000d600, 0x00000001, 0x00000080, 0x800142ec, 0x0000f902, 0x0a400000,
+ 0x00008600, 0x800152ec, 0x00007902, 0x0ac00000, 0x00000600, 0x800162ec,
+ 0x00007902, 0x0b400000, 0x00000600, 0x800172ec, 0x0000f902, 0x0bc00000,
+ 0x00008600, 0xffffffff, 0x00007f86, 0x00295c38, 0x00009503, 0x00004a89,
+ 0x0000700b, 0x0a000002, 0x00009980, 0xca280500, 0x00009900, 0x770000ec,
+ 0x00005680, 0x00394000, 0x00008000, 0x00c002ec, 0x0000df80, 0x1493c00b,
+ 0x00001684, 0x08003a28, 0x0000e906, 0x0a802000, 0x0000f900, 0x00140000,
+ 0x00008980, 0x0411402a, 0x00006901, 0x803952ec, 0x0000d600, 0x00000001,
+ 0x00000080, 0x800142ec, 0x0000f902, 0x0a400000, 0x00008600, 0x800152ec,
+ 0x00007902, 0x0ac00000, 0x00000600, 0x800162ec, 0x00007902, 0x0b400000,
+ 0x00000600, 0x800172ec, 0x0000f902, 0x0bc00000, 0x00008600, 0xffffffff,
+ 0x00007f86, 0x00295c38, 0x00009503, 0x00004a72, 0x0000f013, 0x0b44127f,
+ 0x0000e002, 0x0ec1842a, 0x0000a004, 0x0a000083, 0x0000e084, 0x0c015c29,
+ 0x0000a000, 0x7ec00429, 0x0000c491, 0xf0801c2a, 0x000092b7, 0x0000342a,
+ 0x00007890, 0x00000000, 0x00000000, 0xf3c40530, 0x0000f88e, 0x02400001,
+ 0x00008060, 0xec59831c, 0x0000f812, 0x02400001, 0x00008000, 0x7e914d7d,
+ 0x00004413, 0x4e820531, 0x00009295, 0x00041835, 0x0000781a, 0x00000000,
+ 0x00000000, 0x00041835, 0x00007810, 0x00000000, 0x00000000, 0x00041034,
+ 0x0000f830, 0x00000000, 0x00008020, 0xfa010531, 0x00007896, 0x02400001,
+ 0x00008060, 0x7a814733, 0x00004429, 0x4e814733, 0x00009215, 0x00c16f32,
+ 0x0000c723, 0x93210531, 0x0000948b, 0x7a814733, 0x00004429, 0x4e814733,
+ 0x00009215, 0xf5016832, 0x0000782a, 0x02400001, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0a00447c, 0x00001283, 0x0a001000, 0x00009989, 0x0a004000,
+ 0x00009991, 0x00004aac, 0x0000f008, 0x0a298428, 0x00009203, 0x41020531,
+ 0x00009283, 0xffffffff, 0x00007f86, 0x00004bfa, 0x00007008, 0x00004b3b,
+ 0x0000f010, 0x41010531, 0x00006283, 0x0c018c28, 0x00002080, 0x0a006428,
+ 0x00006080, 0x0a81a835, 0x00000908, 0x0a800000, 0x00006190, 0x0b0147e4,
+ 0x00004800, 0x0a01a034, 0x00006108, 0x0a000000, 0x0000c990, 0x0a417082,
+ 0x00006002, 0x25800000, 0x00008980, 0x0b817883, 0x0000e004, 0x0c418c2b,
+ 0x00002000, 0x0b414029, 0x0000e102, 0x00018896, 0x0000a106, 0x0a00082c,
+ 0x00006180, 0x25400000, 0x00008980, 0x0a416828, 0x00006200, 0x0b81502e,
+ 0x00008104, 0x0a014a7f, 0x0000e000, 0x00018896, 0x00002081, 0x0001402c,
+ 0x00006502, 0x04018095, 0x00002081, 0x24800000, 0x00007900, 0x00307fc0,
+ 0x00000980, 0x24c80005, 0x0000e180, 0x0ac0942b, 0x00004880, 0x2401b036,
+ 0x0000e100, 0x82c18096, 0x0000e001, 0x24796f37, 0x00008910, 0x00004c19,
+ 0x00007428, 0x2561742e, 0x00006101, 0xa493fa7f, 0x00004920, 0xe4d81302,
+ 0x0000e100, 0x25c0302b, 0x00004300, 0x0a800800, 0x00009981, 0x0a400c7c,
+ 0x00009283, 0x0a400800, 0x0000e190, 0x0a000c2a, 0x0000c881, 0x0a400000,
+ 0x00001988, 0x00004adb, 0x0000f010, 0x00000404, 0x00001583, 0x0a400800,
+ 0x00009990, 0x001070ec, 0x0000d780, 0x00004800, 0x00008080, 0x0ec00000,
+ 0x0000e180, 0x0e803006, 0x0000c900, 0x81812000, 0x0000e180, 0x0000383b,
+ 0x0000e106, 0x000880ec, 0x0000d780, 0x00007800, 0x00008080, 0x100c0001,
+ 0x00006180, 0x10400000, 0x00004980, 0x10800001, 0x000004cc, 0x0f800000,
+ 0x0000e180, 0x41800c2a, 0x00004881, 0x0e006000, 0x00007900, 0x00008000,
+ 0x00000980, 0x0e580800, 0x00007900, 0x00004080, 0x00008980, 0x0f400000,
+ 0x00007900, 0x00004042, 0x00000980, 0xc000383b, 0x00006006, 0x30e14840,
+ 0x0000b000, 0x0f000000, 0x00006180, 0x08003a3e, 0x0000e106, 0x003030ec,
+ 0x0000d702, 0x00007800, 0x00008080, 0x4100857c, 0x00006283, 0x0fc00000,
+ 0x00008980, 0x10400c28, 0x00006081, 0xd053fa7f, 0x00000900, 0x90ebf17e,
+ 0x00008408, 0x01800c7c, 0x00001283, 0xffffffff, 0x00007f86, 0x00004bd6,
+ 0x0000f010, 0x00004b47, 0x00007010, 0x4100357c, 0x00001283, 0x00004c03,
+ 0x0000f00b, 0x13c00000, 0x0000e180, 0x0d83e428, 0x00006000, 0x00000428,
+ 0x00006583, 0x0000184f, 0x0000a106, 0x13001000, 0x0000f900, 0x00020000,
+ 0x00000980, 0x13683800, 0x00007900, 0x000440c0, 0x00008980, 0x00004b11,
+ 0x0000f208, 0x13801002, 0x0000e100, 0xc000184f, 0x0000e006, 0x4100457c,
+ 0x00006283, 0xd0000853, 0x0000a402, 0x99bbe77c, 0x0000e101, 0x20000853,
+ 0x00006401, 0x1863ec7d, 0x00006100, 0xa0000853, 0x0000e410, 0xdaebed7d,
+ 0x00009910, 0x00000404, 0x0000e583, 0x01801800, 0x00000981, 0x99582304,
+ 0x0000e110, 0x40000852, 0x0000e413, 0x00000404, 0x00001583, 0x000098ec,
+ 0x00005780, 0x00005802, 0x00008080, 0x00004b28, 0x0000f009, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x01000c7c, 0x00009283, 0x9e911222,
+ 0x00006110, 0x00000074, 0x0000e411, 0xa3000000, 0x0000e190, 0x1000008b,
+ 0x0000e413, 0x00004b66, 0x00007008, 0x0010e8ec, 0x00005780, 0x00905040,
+ 0x00000188, 0x000918ec, 0x0000d780, 0x00005000, 0x00008080, 0xe2c00000,
+ 0x0000e181, 0x21812024, 0x00004900, 0xa1392804, 0x0000081c, 0x40c03408,
+ 0x000002e2, 0x01a03428, 0x00009101, 0x003fd800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x00400000, 0x00007900, 0x00048010, 0x00000980, 0xc0004800,
+ 0x0000e181, 0x0a202c06, 0x0000c101, 0x80614428, 0x00001901, 0x008806ec,
+ 0x00005f80, 0x00884880, 0x00000484, 0x801bfa1d, 0x00006502, 0x87400000,
+ 0x00000980, 0x87400800, 0x00009990, 0x00004a3b, 0x00007400, 0xffffffff,
+ 0x00007f86, 0x1060e81c, 0x0000e800, 0x0a000c1c, 0x00001283, 0x00004b7b,
+ 0x0000700b, 0x24800000, 0x00007900, 0x00307fc0, 0x00000980, 0x24c80005,
+ 0x0000e180, 0x25000000, 0x0000c980, 0x25800000, 0x0000f900, 0x00020000,
+ 0x00000980, 0x25400000, 0x000089dc, 0x243c1f82, 0x00000904, 0x00004ad4,
+ 0x0000f400, 0x0a800800, 0x0000e181, 0xa493fa7f, 0x0000c900, 0xe4d81302,
+ 0x00009900, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x23000000,
+ 0x0000e180, 0x87d45a8b, 0x0000c900, 0x1e009000, 0x0000f900, 0x00012040,
+ 0x00000980, 0x1e401000, 0x0000f900, 0x0001c008, 0x00008980, 0x0010e8ec,
+ 0x00005780, 0x00905040, 0x00000188, 0x21812024, 0x00006100, 0x0f83e48c,
+ 0x00006000, 0x21c12825, 0x0000e100, 0x1d000824, 0x0000c980, 0x1d400000,
+ 0x000007d8, 0x1deb00a0, 0x00006180, 0x1ec0000a, 0x00004980, 0x1ea91c23,
+ 0x00008728, 0x23800000, 0x000088fc, 0x00000404, 0x0000e583, 0x23401002,
+ 0x00000900, 0x814010ec, 0x00005694, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008918ec, 0x0000d790, 0x00005000, 0x00008080, 0xffffffff,
+ 0x00007f97, 0x000918ec, 0x00005788, 0x00005000, 0x00008080, 0x00c0357c,
+ 0x0000788f, 0xfa400000, 0x00002587, 0x1d000824, 0x0000e180, 0x1000008b,
+ 0x00006403, 0x0010e8ec, 0x00005780, 0x00905040, 0x00000188, 0x1e009000,
+ 0x0000f900, 0x00012040, 0x00000980, 0x1e401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x000918ec, 0x0000d780, 0x00005000, 0x00008080, 0x1d400000,
+ 0x000007d8, 0x1deb00a0, 0x00006180, 0x1ec0000a, 0x00004980, 0x1ea91422,
+ 0x00008728, 0x23000000, 0x000088f8, 0x23c00000, 0x0000e180, 0x23401002,
+ 0x0000c900, 0x00004b28, 0x00007400, 0x21b92f24, 0x0000081c, 0xe2c00000,
+ 0x0000e181, 0xa1182304, 0x00004900, 0x4102057c, 0x00009283, 0x0a00e000,
+ 0x00009991, 0x00004b81, 0x0000f011, 0x0a00447c, 0x00001283, 0x0a003000,
+ 0x00006189, 0x0a00a000, 0x00004991, 0x4b8449d6, 0x0000f500, 0xffffffff,
+ 0x00007f86, 0x0b214428, 0x00001900, 0x757954ec, 0x00002100, 0x0b002000,
+ 0x0000f900, 0x00180000, 0x00008980, 0x0411402c, 0x00006901, 0xffffffff,
+ 0x00007f86, 0x0a80082a, 0x00009080, 0x757954ec, 0x0000a900, 0x803962ec,
+ 0x0000d600, 0x00000000, 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000,
+ 0x00008600, 0x800192ec, 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec,
+ 0x00007902, 0x0d400000, 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000,
+ 0x00008600, 0xc0214f31, 0x00009503, 0x00004bed, 0x0000700b, 0x0a800002,
+ 0x00006180, 0x08003a2d, 0x00006106, 0xcaa80500, 0x00001900, 0x770000ec,
+ 0x00005680, 0x00395000, 0x00000000, 0x00c002ec, 0x0000df80, 0x149cf00b,
+ 0x00001684, 0x08003a29, 0x00006906, 0x0b002000, 0x0000f900, 0x00180000,
+ 0x00008980, 0x0411482c, 0x0000e901, 0x803962ec, 0x0000d600, 0x00000000,
+ 0x00000280, 0x800182ec, 0x0000f902, 0x0c400000, 0x00008600, 0x800192ec,
+ 0x00007902, 0x0cc00000, 0x00000600, 0x8001a2ec, 0x00007902, 0x0d400000,
+ 0x00000600, 0x8001b2ec, 0x0000f902, 0x0dc00000, 0x00008600, 0x61614a2d,
+ 0x00002101, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xfb614f31,
+ 0x0000780a, 0xba400000, 0x0000258c, 0x0a004000, 0x00001981, 0x7d42057c,
+ 0x0000c397, 0x0080447c, 0x00000088, 0x90c04428, 0x00004299, 0x78803c28,
+ 0x000012a7, 0x8e204c28, 0x00004691, 0x14804428, 0x00001399, 0x20003c28,
+ 0x0000f8a3, 0xf2400000, 0x0000a682, 0x22004c28, 0x0000f88b, 0x12400000,
+ 0x00002684, 0x00003428, 0x00009583, 0x0a00c800, 0x00009989, 0x00004c74,
+ 0x00007011, 0x0b214428, 0x00001900, 0x4bc149d6, 0x0000f100, 0x0019602d,
+ 0x00006502, 0x0a400c2b, 0x00008081, 0x61783228, 0x0000d100, 0x00118800,
+ 0x00008001, 0x61594a28, 0x00002901, 0x00004a89, 0x00007008, 0x8a19632c,
+ 0x00001900, 0x61796228, 0x00002180, 0xffffffff, 0x00007fa7, 0x00016006,
+ 0x00009502, 0x0b0728e5, 0x00009908, 0x00004a89, 0x00007400, 0xffffffff,
+ 0x00007f86, 0x61796228, 0x0000a980, 0xa5598202, 0x0000f80a, 0x02400001,
+ 0x00000080, 0x0a003800, 0x00001981, 0xffffffff, 0x00007f86, 0x00004bb2,
+ 0x0000f000, 0x00004bb2, 0x00007200, 0x0a005800, 0x00001981, 0x10400c41,
+ 0x00006081, 0x80001040, 0x00002404, 0x00000404, 0x00001583, 0x814010ec,
+ 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008908ec,
+ 0x00005790, 0x00007800, 0x00008080, 0x01c00000, 0x00009980, 0x0413f007,
+ 0x0000e987, 0x000908ec, 0x0000d788, 0x00007800, 0x00008080, 0x700000ec,
+ 0x0000d680, 0x00000040, 0x00000080, 0x700008ec, 0x00005680, 0x00383802,
+ 0x00008000, 0xd1c00c7c, 0x0000f896, 0xea400000, 0x0000a587, 0x00004bb2,
+ 0x00007200, 0x0a005000, 0x00009981, 0x00004bc0, 0x00007400, 0x0a00e000,
+ 0x00001981, 0x0b214428, 0x00001900, 0x00004a57, 0x00007200, 0x6161c228,
+ 0x00002101, 0x4bf149a4, 0x00007300, 0x0a100800, 0x00001980, 0x4bf229cf,
+ 0x00007100, 0x00c0357c, 0x0000788f, 0xfa400000, 0x00002587, 0x00004bb2,
+ 0x00007200, 0x0a004800, 0x00009981, 0x00004bb2, 0x00007200, 0x0a002800,
+ 0x00009981, 0x00004bb2, 0x00007200, 0x0a003000, 0x00009981, 0x4102057c,
+ 0x00009283, 0x0a00e000, 0x00009991, 0x00004c00, 0x00007011, 0x0a00447c,
+ 0x00001283, 0x0a003000, 0x00006189, 0x0a00a000, 0x00004991, 0x4c0349d6,
+ 0x00007500, 0xffffffff, 0x00007f86, 0x0b214428, 0x00001900, 0x01800000,
+ 0x00009981, 0xca000404, 0x0000f88a, 0xca400000, 0x00002588, 0x4100257c,
+ 0x00009283, 0x14000000, 0x0000e190, 0x14400000, 0x00004990, 0x14800000,
+ 0x00006190, 0x14c00000, 0x0000c990, 0x00004a29, 0x00007008, 0x15000000,
+ 0x000085d4, 0x15800000, 0x000085dc, 0x16000000, 0x000085e4, 0x16800000,
+ 0x000085ec, 0x17000000, 0x000085f4, 0x17800000, 0x000085fc, 0x18000000,
+ 0x000086c4, 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000,
+ 0x000086dc, 0x00004a29, 0x00007400, 0x1a000000, 0x000086e4, 0x1ac00000,
+ 0x000086e8, 0x8a114a2c, 0x00006100, 0x27800000, 0x00000980, 0x0b416a28,
+ 0x00006002, 0x8a91427f, 0x00000100, 0x27400000, 0x0000e180, 0x0001889e,
+ 0x0000e106, 0x0b80002e, 0x00006084, 0x0001889e, 0x0000a081, 0x0011502c,
+ 0x00006502, 0x0401809d, 0x0000a081, 0x26800000, 0x0000f900, 0x00307fc0,
+ 0x00000980, 0x26c80005, 0x00006180, 0xd0000093, 0x00006400, 0xa4914a2c,
+ 0x0000e100, 0x82c1809e, 0x0000a001, 0x2639bf36, 0x00000924, 0x27c0302b,
+ 0x00006300, 0x2701682d, 0x00000900, 0x00004ad4, 0x00007420, 0x0a801000,
+ 0x000061a1, 0x2761742e, 0x0000c901, 0xa691427f, 0x00006120, 0xe6d81302,
+ 0x00008900, 0x0a17282c, 0x00006200, 0x8a51622a, 0x00008100, 0x0b41402d,
+ 0x0000e002, 0x29800000, 0x00008980, 0x29400000, 0x00006180, 0x000188a6,
+ 0x00006106, 0x0b80002e, 0x00006084, 0x000188a6, 0x00002081, 0x0011482c,
+ 0x00006502, 0x040180a5, 0x00002081, 0x28800000, 0x00007900, 0x00307fc0,
+ 0x00000980, 0x28c80005, 0x0000e180, 0xd000009b, 0x0000e400, 0xa691622c,
+ 0x00006100, 0x82c180a6, 0x0000e001, 0x2839bf36, 0x00000a04, 0x29c0302b,
+ 0x0000e300, 0x2901682d, 0x00008900, 0x00004ad4, 0x00007420, 0x2961742e,
+ 0x00006101, 0xa891622a, 0x0000c120, 0xe8d81302, 0x0000e100, 0x0a801800,
+ 0x0000c9a1, 0x0a01402d, 0x0000e002, 0x2b800000, 0x00000980, 0x2b400000,
+ 0x0000e180, 0x000188ae, 0x0000e106, 0x2a800000, 0x0000f900, 0x00307fc0,
+ 0x00000980, 0x000188ae, 0x00006081, 0x040180ad, 0x00003081, 0x2ac80005,
+ 0x00006180, 0x0a80002e, 0x00004084, 0x82c180ae, 0x00006001, 0xd00000a3,
+ 0x00003400, 0x28b9b42c, 0x00008a20, 0x2a41b837, 0x0000e100, 0x2bc0302b,
+ 0x0000c300, 0x2b014028, 0x0000e100, 0xaa916229, 0x0000c100, 0x00004ad4,
+ 0x0000f400, 0x2ac15502, 0x00000a34, 0x0a802000, 0x00009981, 0x00004a29,
+ 0x0000f000, 0x00003428, 0x00009583, 0x0a002000, 0x00009989, 0x00004bbf,
+ 0x00007009, 0x0c83e406, 0x0000e000, 0x0f43e404, 0x00003000, 0x01c00020,
+ 0x00006180, 0x01808406, 0x0000c880, 0x02d2d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03367000, 0x00007900, 0x0005388e, 0x00000980, 0xc2000028,
+ 0x000080b4, 0x01403404, 0x00006300, 0x81c01000, 0x00000980, 0xc1c00800,
+ 0x0000e181, 0x08001a09, 0x0000e106, 0x4c711110, 0x0000f500, 0x82600500,
+ 0x00008026, 0x02801002, 0x00009900, 0x00005c28, 0x00001583, 0x0a009800,
+ 0x000019b1, 0x00004bbf, 0x0000f031, 0x0c83e406, 0x0000e000, 0x0f43e404,
+ 0x00003000, 0x01c00020, 0x00006180, 0x01808406, 0x0000c880, 0x02d2d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x032b0000, 0x0000f900, 0x003edf80,
+ 0x00000980, 0x00004c6c, 0x0000f400, 0xc2000028, 0x000080b4, 0x01403404,
+ 0x00006300, 0x81c01000, 0x00000980, 0x00004bbf, 0x0000f200, 0x0a003000,
+ 0x00009981, 0x00005c28, 0x00001583, 0x0a002800, 0x000099b1, 0x00004bbf,
+ 0x0000f031, 0x00004c61, 0x0000f000, 0x00004bbf, 0x0000f200, 0x0a00a000,
+ 0x00009981, 0x00004bbf, 0x0000f200, 0x0a004000, 0x00001981, 0x00004bbf,
+ 0x0000f200, 0x0a00c000, 0x00009981, 0x00000001, 0x00007480, 0x1d000824,
+ 0x0000e180, 0x1d400000, 0x0000c980, 0x1dea0020, 0x00006180, 0x1d800000,
+ 0x0000c980, 0x80000280, 0x00001582, 0x10080001, 0x00006190, 0x10401000,
+ 0x00004990, 0x10870800, 0x0000e190, 0x10c00000, 0x00004990, 0x00004ca1,
+ 0x00007008, 0x26800000, 0x0000f900, 0x00307fc0, 0x00000980, 0x26ca0005,
+ 0x0000e180, 0xd0540280, 0x0000c900, 0x000880ec, 0x0000d780, 0x00d87980,
+ 0x000080c8, 0x90ac0181, 0x0000040c, 0x00000001, 0x00007480, 0x2678f71f,
+ 0x00000920, 0x26e40502, 0x00000928, 0x81008681, 0x00001283, 0x700000ec,
+ 0x00005690, 0x00000040, 0x00000080, 0x01800000, 0x00009990, 0x00000001,
+ 0x00007088, 0x00000001, 0x00007480, 0x041c0006, 0x00006987, 0x700708ec,
+ 0x0000d680, 0x00383002, 0x00000000, 0x81001681, 0x0000e283, 0x16000000,
+ 0x00000980, 0x16400000, 0x000005e8, 0x16c00000, 0x000085f0, 0x17400000,
+ 0x000005f8, 0x17c00000, 0x000006c0, 0x18400000, 0x000006c8, 0x18c00000,
+ 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x00004cd3,
+ 0x0000f408, 0x1a400000, 0x000006e8, 0x81400000, 0x000006ec, 0x4cb81a42,
+ 0x00007100, 0x01000800, 0x00009981, 0x81020681, 0x00001283, 0x9afc0f81,
+ 0x00006110, 0x80000853, 0x0000e412, 0x81004681, 0x0000e283, 0x01000800,
+ 0x00008991, 0x01000800, 0x00006191, 0xa0000852, 0x0000e412, 0x81010681,
+ 0x00001283, 0xd5a3f47e, 0x0000e111, 0x14020050, 0x00004390, 0x00004cc7,
+ 0x0000f011, 0x00000c04, 0x00009583, 0x01400000, 0x00001991, 0x00004cd2,
+ 0x00007011, 0x13c00000, 0x0000e180, 0x13801002, 0x0000c900, 0x01406405,
+ 0x0000e081, 0x0000184f, 0x0000a106, 0x13001000, 0x0000f900, 0x00020000,
+ 0x00000980, 0x13683800, 0x00007900, 0x00044300, 0x00008980, 0x000098ec,
+ 0x00005780, 0x00005802, 0x00008080, 0xc000184f, 0x00006806, 0x4cd94c91,
+ 0x00007100, 0x81002681, 0x00001283, 0x01000000, 0x0000e189, 0x81400000,
+ 0x0000c991, 0x41400800, 0x00001991, 0x00004cb9, 0x00007008, 0x4cb81c8a,
+ 0x0000f100, 0x81000e81, 0x00001283, 0x00004d09, 0x0000700b, 0x00001482,
+ 0x00001583, 0x07800000, 0x0000e188, 0x07c00000, 0x00004988, 0x80000280,
+ 0x00001582, 0x00004ce8, 0x0000f00b, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000,
+ 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x000880ec, 0x0000d780, 0x00d87fc0, 0x000080c0, 0x26c80005,
+ 0x00006180, 0x10104001, 0x00004980, 0x26804000, 0x00007900, 0x00207fc0,
+ 0x00008980, 0x000930ec, 0x0000d780, 0x00007800, 0x00008080, 0x10401900,
+ 0x0000e180, 0x10800000, 0x00004980, 0x4cf64c8c, 0x00007500, 0x10c00000,
+ 0x0000e180, 0x2644588b, 0x0000c900, 0x26fc5502, 0x00008920, 0x1ec00000,
+ 0x000009f0, 0x0008e8ec, 0x00005780, 0x00005000, 0x00008080, 0x9e901202,
+ 0x0000e100, 0x0000187b, 0x0000e106, 0x1e009000, 0x0000f900, 0x0000f140,
+ 0x00008980, 0x1e400000, 0x00007900, 0x00010030, 0x00000980, 0x0010e8ec,
+ 0x00005780, 0x009051c0, 0x00000188, 0xde981302, 0x00006100, 0xc000187b,
+ 0x00006006, 0x27400000, 0x000009f8, 0x27c00000, 0x00000ac0, 0x28400000,
+ 0x00000ac8, 0x28c00000, 0x00006180, 0x27241482, 0x00004901, 0x672c1582,
+ 0x00009901, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
+ 0x00007900, 0x00048010, 0x00000980, 0x81204014, 0x000080cd, 0x80602c04,
+ 0x0000e101, 0xc0004800, 0x00000981, 0x008806ec, 0x00005f80, 0x00884880,
+ 0x00000484, 0x16400000, 0x000005e8, 0x16c00000, 0x000085f0, 0x17400000,
+ 0x000005f8, 0x17c00000, 0x000006c0, 0x18400000, 0x000006c8, 0x18c00000,
+ 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x4d1d1cb7,
+ 0x00007500, 0x1a400000, 0x000006e8, 0x1ac00000, 0x00009980, 0x13800702,
+ 0x000004bc, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0004800,
+ 0x0000e181, 0x0000184f, 0x00006106, 0x13001000, 0x0000f900, 0x00020000,
+ 0x00000980, 0x13683800, 0x00007900, 0x00044300, 0x00008980, 0x000098ec,
+ 0x00005780, 0x00005802, 0x00008080, 0x00400000, 0x00007900, 0x00048210,
+ 0x00008980, 0xc0c04000, 0x0000e180, 0xc000184f, 0x0000e006, 0x008806ec,
+ 0x00005f80, 0x00884880, 0x00000484, 0x4d3017ad, 0x00007300, 0x8bc04008,
+ 0x000002e6, 0x00000c2a, 0x00006583, 0x18000000, 0x00008980, 0x18400000,
+ 0x000006c8, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000,
+ 0x000006e0, 0x00004daa, 0x00007418, 0x1a400000, 0x000006e8, 0x1ac00000,
+ 0x00009980, 0x80000607, 0x00001583, 0x0100141c, 0x00006283, 0x0841602c,
+ 0x00008910, 0x00004d44, 0x0000700b, 0x00010820, 0x00009502, 0x073fe81c,
+ 0x00007970, 0x003ffffe, 0x00008280, 0x81800800, 0x000061f1, 0x8190ea1d,
+ 0x0000c970, 0x00004d45, 0x00007270, 0xc750ea1d, 0x00001970, 0x41800000,
+ 0x000080db, 0xa9c0147c, 0x0000428f, 0x9280141c, 0x00009392, 0x58c00606,
+ 0x0000f88b, 0xd2400000, 0x0000a68a, 0x801bfa1d, 0x00006502, 0x81000000,
+ 0x00008980, 0x81000800, 0x00001990, 0xffffffff, 0x00007f86, 0x1060201c,
+ 0x00006800, 0x0100141c, 0x00006283, 0x875bfb7f, 0x00008900, 0x08040080,
+ 0x00001900, 0x00004d58, 0x00007009, 0x00010880, 0x00009502, 0x073fe81c,
+ 0x00007970, 0x003ffffe, 0x00008280, 0x81800800, 0x000061f1, 0x819bfb7f,
+ 0x0000c970, 0xc75bfb7f, 0x00001970, 0x80000606, 0x00009583, 0x00004d63,
+ 0x0000700b, 0x26c80005, 0x00006180, 0x10004001, 0x0000c980, 0x26800000,
+ 0x0000f900, 0x00207fc0, 0x00008980, 0x000880ec, 0x0000d780, 0x00d87980,
+ 0x000080c8, 0x10400002, 0x000084c8, 0x10c00000, 0x000009e0, 0x26c00502,
+ 0x000089a4, 0x13c00000, 0x0000e180, 0x0d83e404, 0x0000e000, 0x00000404,
+ 0x0000e583, 0x0000184f, 0x0000a106, 0x13001000, 0x0000f900, 0x00020000,
+ 0x00000980, 0x13683800, 0x00007900, 0x000440c0, 0x00008980, 0x00004d75,
+ 0x00007208, 0x13801002, 0x0000e100, 0xc000184f, 0x0000e006, 0x4100457c,
+ 0x00006283, 0xd0000853, 0x0000a402, 0x99bbe77c, 0x0000e101, 0x20000853,
+ 0x00006401, 0x1863ec7d, 0x00006100, 0xa0000853, 0x0000e410, 0xdaebed7d,
+ 0x00009910, 0x80000606, 0x00006583, 0x1bc00000, 0x00008980, 0x99503206,
+ 0x0000e110, 0x40000852, 0x0000e413, 0x80000606, 0x00006583, 0x0000186f,
+ 0x00002106, 0x000098ec, 0x00005780, 0x00005802, 0x00008080, 0x1b001000,
+ 0x00007900, 0x00008000, 0x00000980, 0x1b580800, 0x0000f900, 0x00004090,
+ 0x00000980, 0xc000186f, 0x00006006, 0xe0001071, 0x00003402, 0x1e009000,
+ 0x0000f900, 0x00012040, 0x00000980, 0x1e401000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x0010d8ec, 0x00005780, 0x00004000, 0x00000080, 0x1b801002,
+ 0x00006100, 0x1d000824, 0x0000c980, 0x1d400000, 0x000007d8, 0x1deb00a0,
+ 0x00006180, 0x1ec0000a, 0x00004980, 0x1ea91422, 0x00008728, 0x00004da3,
+ 0x0000f408, 0x23000000, 0x000088f8, 0x23c00000, 0x0000e180, 0x23401002,
+ 0x0000c900, 0x80000606, 0x00006583, 0x1000008b, 0x0000a403, 0x0010e8ec,
+ 0x00005780, 0x00905040, 0x00000188, 0x000918ec, 0x0000d780, 0x00005000,
+ 0x00008080, 0x00004da3, 0x0000f408, 0x21b92f24, 0x0000081c, 0x21200406,
+ 0x000088af, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
+ 0x00007900, 0x00048050, 0x00008980, 0xc0204409, 0x000000cd, 0x008806ec,
+ 0x00005f80, 0x00884880, 0x00000484, 0x003fd800, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x00400000, 0x00007900, 0x00048050, 0x00008980, 0xc0204409,
+ 0x000000cd, 0x008806ec, 0x00005f80, 0x00884880, 0x00000484, 0x4d6328f1,
+ 0x00007300, 0x01c47800, 0x00001980, 0x00004d63, 0x0000f000, 0x00004d63,
+ 0x0000f000, 0xc1000000, 0x000005e0, 0x16400000, 0x000005e8, 0x16c00000,
+ 0x000085f0, 0x17400000, 0x000005f8, 0x17c00000, 0x000006c0, 0x18400000,
+ 0x000006c8, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000,
+ 0x000006e0, 0x4dba1936, 0x0000f500, 0x1a400000, 0x000006e8, 0x1ac00000,
+ 0x00009980, 0x80000604, 0x0000e583, 0x13c00000, 0x00000980, 0x003fd800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x0000184f, 0x00006106, 0x40000852,
+ 0x0000b413, 0x13001000, 0x0000f900, 0x00020000, 0x00000980, 0x13683800,
+ 0x00007900, 0x00044040, 0x00000980, 0x000098ec, 0x00005780, 0x00005802,
+ 0x00008080, 0x00400000, 0x00007900, 0x00048150, 0x00000980, 0x13801002,
+ 0x0000e100, 0xc000184f, 0x0000e006, 0x99400000, 0x00006190, 0xc0004800,
+ 0x0000c981, 0xc0c04000, 0x00009980, 0x008806ec, 0x00005f80, 0x00884880,
+ 0x00000484, 0x0140847c, 0x0000e283, 0x0a000800, 0x00000980, 0x80108028,
+ 0x0000e596, 0x80003828, 0x0000b48e, 0x1ec00000, 0x00006180, 0x27000020,
+ 0x0000c980, 0x27400000, 0x0000e180, 0x0000187b, 0x0000e106, 0x1e009000,
+ 0x0000f900, 0x0000f140, 0x00008980, 0x1e400000, 0x00007900, 0x00010030,
+ 0x00000980, 0x0008f0ec, 0x00005780, 0x009051c0, 0x00000188, 0x27800000,
+ 0x0000e180, 0xc000187b, 0x00006006, 0x27c00000, 0x00006180, 0x2868b800,
+ 0x0000c980, 0x28000702, 0x00008a8c, 0x00000001, 0x00007480, 0x1ea81402,
+ 0x00008728, 0x28814028, 0x00001900, 0x0140147c, 0x0000e283, 0x81000000,
+ 0x00000981, 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x17000000,
+ 0x000085f4, 0x17800000, 0x000085fc, 0x18000000, 0x000086c4, 0x18800000,
+ 0x000086cc, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x00004e05,
+ 0x0000f408, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x4df417ad,
+ 0x0000f300, 0x8bc03006, 0x000002e6, 0x1bc00000, 0x00006180, 0xe0001071,
+ 0x00006402, 0x01e1542a, 0x0000e101, 0x0000186f, 0x0000e106, 0x1b001000,
+ 0x00007900, 0x00008000, 0x00000980, 0x1b580800, 0x0000f900, 0x00004090,
+ 0x00000980, 0x0010d8ec, 0x00005780, 0x00004000, 0x00000080, 0x1b801002,
+ 0x00006100, 0xc000186f, 0x00006006, 0x01802000, 0x00001981, 0xc8600c2a,
+ 0x0000c489, 0x64800c2a, 0x000013ac, 0x8800242a, 0x0000789b, 0xf2400000,
+ 0x0000a780, 0x01400c7c, 0x00001283, 0x0a002000, 0x00009991, 0x00004e0f,
+ 0x0000f009, 0x4e091911, 0x0000f100, 0x01803000, 0x0000e181, 0x01e82d05,
+ 0x0000c901, 0xc8600d05, 0x0000c489, 0x64800d05, 0x000013ac, 0x88002505,
+ 0x0000789b, 0xf2400000, 0x0000a780, 0x0fc3e404, 0x0000e000, 0x0803e405,
+ 0x0000b000, 0x01c00000, 0x00007900, 0x00004040, 0x00008980, 0x02d2d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x030d2800, 0x00007900, 0x001bae6c,
+ 0x00000980, 0x03400000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500,
+ 0x00008026, 0x00004e30, 0x00007400, 0x02802702, 0x00000023, 0x81c01000,
+ 0x0000e180, 0x01a02c05, 0x0000c900, 0x4e324dcf, 0x0000f100, 0x00004e32,
+ 0x00007000, 0x0fc3e404, 0x0000e000, 0x0803e406, 0x0000b000, 0x01603c07,
+ 0x0000e100, 0x01008404, 0x0000c880, 0x01c00000, 0x00007900, 0x00004040,
+ 0x00008980, 0x02d2d800, 0x00007900, 0x0005a686, 0x00000980, 0x03152000,
+ 0x0000f900, 0x001e18ee, 0x00008980, 0x03400000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x82600500, 0x00008026, 0x02b82f02, 0x00000020, 0x81c01000,
+ 0x0000e180, 0x01802406, 0x0000c300, 0x4e321110, 0x0000f300, 0x01403006,
+ 0x00009900, 0x0140247c, 0x0000e283, 0x13c00000, 0x00000980, 0x0000184f,
+ 0x00006106, 0x80000853, 0x0000b412, 0x9aebe57c, 0x00006110, 0xc000184f,
+ 0x0000e006, 0x80000604, 0x0000e583, 0x13801002, 0x00000900, 0x13001000,
+ 0x0000f900, 0x00020000, 0x00000980, 0x13683800, 0x00007900, 0x000440c0,
+ 0x00008980, 0x000098ec, 0x00005780, 0x00005802, 0x00008080, 0x01801c06,
+ 0x00006181, 0x40000852, 0x00002413, 0x99400000, 0x00001990, 0x003fd800,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00048010,
+ 0x00000980, 0x40e04c08, 0x000000c3, 0x80603406, 0x00001901, 0x008806ec,
+ 0x00005f80, 0x00884880, 0x00000484, 0xffffffff, 0x00007f86, 0x0011b422,
+ 0x4e4c1156, 0x0000f004, 0x00000090, 0x001e11ac, 0x00121eba, 0x00121e50,
+ 0x001e1fbe, 0x001e1cb9, 0x001e5501, 0x001e1d5d, 0x001e1096, 0x001e10f2,
+ 0x00000020, 0x001e14c7, 0x001e10e0, 0x00000050, 0x000008e4, 0x001224c5,
+ 0x001e2674, 0x001e237b, 0x00000a6a, 0x00000020, 0x00025164, 0x001e5222,
+ 0x00000020, 0x001e4ffa, 0x0002525a, 0x00000070, 0x00040731, 0x001e0167,
+ 0x0004044a, 0x00040002, 0x0004015d, 0x00040534, 0x00040602, 0x000000b0,
+ 0x00063499, 0x0006313e, 0x000630eb, 0x001e36ef, 0x001e33a3, 0x000634ce,
+ 0x0006330b, 0x0006388a, 0x00063850, 0x00063826, 0x001e3214, 0x00000020,
+ 0x00083b06, 0x00083a33, 0x00000020, 0x00082b9e, 0x00082a0c, 0x00000020,
+ 0x00123d39, 0x00123df3, 0x00000020, 0x001e4e4e, 0x001e4f55, 0x00000070,
+ 0x001e424b, 0x00123f62, 0x0012406d, 0x000c4a1c, 0x000c4489, 0x000c4713,
+ 0x000c47e2, 0x00000050, 0x000c4caa, 0x000c4d12, 0x000c4dae, 0x000c4d2e,
+ 0x000c4de5, 0x00000020, 0x001243da, 0x0012281b, 0x00000040, 0x00bebc20,
+ 0x00000003, 0x00000000, 0x00000000, 0x00000060, 0x0001000a, 0x00001e08,
+ 0x58befdf4, 0x00000000, 0x010205ff, 0x00400804, 0x00000020, 0x01961100,
+ 0x00000018, 0x00000020, 0xff81ffff, 0x00000fff, 0x00000060, 0xfff80ff9,
+ 0x00000fff, 0xffffffb9, 0x00000fff, 0xfff80ff9, 0x00000fff, 0x00010012,
+ 0x001e1bdd, 0x00078800, 0xffffffff, 0x00007f86, 0x00011b5f, 0x0000f004,
+ 0x93400a0d, 0x00006180, 0x91c00b14, 0x00008080, 0x97123a4d, 0x00006200,
+ 0xc39722e4, 0x00008900, 0x13523a4d, 0x0000e200, 0x93800b0d, 0x00008180,
+ 0x17a0604d, 0x00006704, 0x91c00f0c, 0x00008180, 0x1cb08003, 0x0000e180,
+ 0x97400a5e, 0x0000c080, 0x11d7285e, 0x00006200, 0x97523a5d, 0x00000200,
+ 0x11c01847, 0x00009880, 0x1780b047, 0x00001002, 0x11c00017, 0x00006084,
+ 0x17c2f05e, 0x00000900, 0x17804000, 0x00006180, 0x1c02f85f, 0x00004900,
+ 0x17c23847, 0x0000e100, 0x0418105e, 0x00006187, 0x00191ba2, 0x0000f500,
+ 0x1c7af770, 0x0000870c, 0x1c02f85f, 0x00001900, 0x05400ce0, 0x00009283,
+ 0x001b1b6e, 0x00007113, 0x1cb88023, 0x0000e180, 0x11c01a5d, 0x0000c880,
+ 0x11c0b047, 0x00009002, 0x17c23847, 0x0000e100, 0x17800017, 0x00004084,
+ 0x1c3af75f, 0x0000053c, 0x17804000, 0x00006180, 0x1c438070, 0x0000c900,
+ 0x00271ba2, 0x00007500, 0x1c02f85f, 0x00006100, 0x0418105e, 0x00006187,
+ 0x1cc2f05e, 0x00001900, 0x00c002ec, 0x0000df80, 0x1001480b, 0x00001684,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x05400ce0, 0x00009283, 0x003c1cba, 0x0000f113,
- 0x97d26a4e, 0x00006200, 0x1c12720c, 0x00000100, 0x1192fb0c, 0x0000e100,
- 0x05408000, 0x00000981, 0x00008046, 0x00006582, 0xd1126a4e, 0x00008200,
- 0x17e2fe0c, 0x0000e151, 0x17c08000, 0x000009b9, 0x1c800000, 0x000007c4,
- 0x9182fe0c, 0x0000853b, 0x0003805e, 0x00001502, 0x93526a4e, 0x0000e202,
- 0x17e2740c, 0x00008141, 0x13a05847, 0x00009704, 0x17c08000, 0x0000e189,
- 0x0562fc15, 0x0000c101, 0x41404515, 0x0000e283, 0x05400000, 0x00000989,
- 0xc3c01c5f, 0x00001880, 0x05400000, 0x0000e191, 0xd3001c15, 0x00004880,
- 0x00000076, 0x0000f008, 0xc000034c, 0x0000e582, 0x13801b44, 0x00000880,
- 0xc0000872, 0x0000e40e, 0xc0000072, 0x00003416, 0x9c680500, 0x0000e108,
- 0x1180f84e, 0x00004784, 0x1381e04e, 0x0000e002, 0x00000072, 0x0000a506,
- 0x00006071, 0x00006587, 0x00029872, 0x0000b487, 0x75e80071, 0x0000e101,
- 0x00187872, 0x0000b106, 0x11c00000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x703b90ec, 0x0000d600, 0x003b8800, 0x00008000, 0x1341e846, 0x0000e004,
- 0x00187847, 0x0000a186, 0xc000034c, 0x0000e582, 0x11800006, 0x00000980,
- 0x703a70ec, 0x0000d600, 0x003a6800, 0x00008000, 0x04181046, 0x0000e987,
- 0x00000092, 0x00007210, 0x703a38ec, 0x0000d600, 0x003a3000, 0x00000000,
- 0x41402515, 0x00001283, 0xa0000015, 0x0000ec12, 0x00c002ec, 0x0000df80,
- 0x10038009, 0x00001284, 0x00000c15, 0x00006583, 0xb9186b0d, 0x00008900,
- 0xb0000815, 0x00006c08, 0x05400000, 0x00001981, 0xffffffff, 0x00007f86,
- 0x00000000, 0x00007083, 0x93400f0b, 0x00006180, 0x91c00a4e, 0x00000080,
- 0x93526a47, 0x00006200, 0x00004072, 0x00002506, 0x05400800, 0x0000e181,
- 0x00029872, 0x0000e487, 0x2c126b0c, 0x00009600, 0x11c588b0, 0x00001000,
- 0x00023846, 0x00009502, 0x93400000, 0x00001988, 0xffffffff, 0x00007f86,
- 0x11801a4d, 0x00009880, 0x17c0b046, 0x00001002, 0x91800a4e, 0x0000e282,
- 0x13400017, 0x00000084, 0x0000f871, 0x0000648d, 0x0000f071, 0x0000b495,
- 0x11800006, 0x00009980, 0x04181046, 0x00006187, 0x75e80071, 0x0000b101,
- 0x703b90ec, 0x0000d600, 0x003b8800, 0x00008000, 0x703af8ec, 0x0000d600,
- 0x003a6800, 0x00008000, 0x00000052, 0x0000f400, 0x700040ec, 0x00005680,
- 0x003a37c0, 0x00008078, 0x1c400000, 0x000007c8, 0x11800000, 0x0000e180,
- 0x93401b0f, 0x00004780, 0x91a80500, 0x0000e100, 0x1340644d, 0x00004081,
- 0x11c00000, 0x0000f900, 0x000014c4, 0x00000980, 0x04226846, 0x00006085,
- 0x001a6047, 0x00003106, 0x75e80046, 0x00006101, 0xa0000815, 0x0000b400,
- 0x703a38ec, 0x0000d600, 0x003a3000, 0x00000000, 0x11c00000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x11800006, 0x0000e180, 0x001a6047, 0x0000e186,
- 0x7039f0ec, 0x00005600, 0x0039f800, 0x00008000, 0x04181046, 0x0000e987,
- 0x703a38ec, 0x0000d600, 0x003a3000, 0x00000000, 0x00c002ec, 0x0000df80,
- 0x10054809, 0x00009284, 0x00000c15, 0x00006583, 0xb9186b0d, 0x00008900,
- 0xb0000815, 0x00006c08, 0x05400000, 0x00001981, 0xffffffff, 0x00007f86,
- 0x00000000, 0x00007083, 0x11c00000, 0x0000f900, 0x0002810c, 0x00000980,
- 0x740000ec, 0x00005680, 0x003a3800, 0x00000100, 0x17902000, 0x00007900,
- 0x00004040, 0x00008980, 0x743868ec, 0x0000d600, 0x00081000, 0x00008080,
- 0x00000001, 0x00007480, 0x740060ec, 0x00005680, 0x003af000, 0x00000240,
- 0x743868ec, 0x0000d600, 0x00000000, 0x00008080, 0x01010713, 0x00006081,
- 0x12800040, 0x00008980, 0x12400000, 0x0000e180, 0x0010984a, 0x0000e186,
- 0x2c002c04, 0x00009680, 0x920588b0, 0x00009000, 0xb0023248, 0x0000f902,
- 0x11400000, 0x00008000, 0x8620504a, 0x0000e087, 0x0e037749, 0x0000b004,
- 0xb0022448, 0x00007902, 0x02c00000, 0x00008000, 0xb0007e48, 0x0000f902,
- 0x03800000, 0x00008000, 0xc0000746, 0x0000e583, 0x2482e05c, 0x00008900,
- 0xb0405048, 0x00007902, 0x02000000, 0x00008000, 0xb0406a48, 0x00007902,
- 0x03000000, 0x00000000, 0x24fb075d, 0x00000910, 0x257b1761, 0x00000918,
- 0x25fb2763, 0x00008920, 0x267b3765, 0x00000928, 0x26fb4767, 0x00008930,
- 0x277b5769, 0x00000938, 0x000000de, 0x0000f408, 0x27fa576b, 0x00000900,
- 0x24424849, 0x00001900, 0x0122400b, 0x00002000, 0xffffffff, 0x00007fa7,
- 0x1212420d, 0x00009100, 0x00122848, 0x00001502, 0x00000150, 0x0000f00b,
- 0xc1506b44, 0x00009202, 0x92000a0d, 0x00006090, 0x22400000, 0x00008990,
- 0x83400a0d, 0x0000e090, 0x22800000, 0x00008990, 0x00000109, 0x0000f008,
- 0x01807f45, 0x0000e080, 0x23800000, 0x00008980, 0x2800500a, 0x0000e100,
- 0x0012308e, 0x0000e100, 0x01802006, 0x00006784, 0x23d00002, 0x00000980,
- 0x02805645, 0x00006002, 0x28ca0005, 0x00008980, 0x28800000, 0x00007900,
- 0x00207fc0, 0x00008980, 0x284a4708, 0x0000883a, 0x2c002c04, 0x00009680,
- 0x920588b0, 0x00009000, 0x02000008, 0x00006084, 0x0032308f, 0x00002080,
- 0x22100000, 0x00007900, 0x00008016, 0x00008980, 0x001110ec, 0x00005780,
- 0x00d87a01, 0x000080c8, 0xb03a3248, 0x00005000, 0x003a2800, 0x00000000,
- 0xb03a2448, 0x0000d000, 0x00385800, 0x00000000, 0xb0387e48, 0x00005000,
- 0x00387000, 0x00000000, 0xb0785048, 0x0000d000, 0x00384000, 0x00000000,
- 0xb0786a48, 0x0000d000, 0x00386000, 0x00008000, 0x22c00000, 0x00006180,
- 0xe2722e45, 0x00004900, 0x23083804, 0x00006180, 0x23400000, 0x00004980,
- 0x00000001, 0x00007480, 0x22401c06, 0x00006081, 0xe8d81302, 0x00000900,
- 0xa8b22e45, 0x00009900, 0x92202404, 0x00001900, 0xe2004248, 0x00007902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00072808, 0x00001502,
- 0x12804008, 0x0000e110, 0x12403006, 0x0000c910, 0x02800000, 0x0000e190,
- 0x92202404, 0x0000c910, 0x00000151, 0x00007008, 0xe23f2a48, 0x00002880,
- 0xc3400b0d, 0x00006080, 0x92000b0d, 0x00000080, 0x802a2248, 0x00001502,
- 0xc3400000, 0x00001988, 0xc2b10c04, 0x0000f900, 0x00000002, 0x00000080,
- 0x01801b0d, 0x00001880, 0x02007806, 0x00006002, 0x1200f806, 0x00000784,
- 0x700040ec, 0x00005680, 0x003850c0, 0x00000010, 0x02900006, 0x0000e180,
- 0x01807048, 0x0000c004, 0x703840ec, 0x00005600, 0x00383000, 0x00008000,
- 0x0418100a, 0x00006987, 0x700040ec, 0x00005680, 0x003857c0, 0x00000078,
- 0x01807f45, 0x0000e080, 0x23800000, 0x00008980, 0x92000a0d, 0x0000e080,
- 0x0012308e, 0x00002100, 0x2802504a, 0x0000e100, 0x01802006, 0x0000c784,
- 0x12825645, 0x00006002, 0x22400000, 0x00000980, 0x28800000, 0x00007900,
- 0x00207fc0, 0x00008980, 0x23d00002, 0x0000e180, 0x28ca0005, 0x00004980,
- 0x28424849, 0x00006100, 0x83400a0d, 0x0000c080, 0xe3924248, 0x0000e100,
- 0x12400049, 0x0000c084, 0x2c002c04, 0x00009680, 0x920588b0, 0x00009000,
- 0x22100000, 0x00007900, 0x00008016, 0x00008980, 0x001110ec, 0x00005780,
- 0x00d87a01, 0x000080c8, 0x22800000, 0x0000e180, 0x0032308f, 0x0000e080,
- 0xb03a3248, 0x00005000, 0x003a2800, 0x00000000, 0xb03a2448, 0x0000d000,
- 0x00385800, 0x00000000, 0xb0387e48, 0x00005000, 0x00387000, 0x00000000,
- 0xb07a5048, 0x00005000, 0x003a4800, 0x00000000, 0xb0786a48, 0x0000d000,
- 0x00386000, 0x00008000, 0x22c00000, 0x00006180, 0x23083804, 0x00004980,
- 0x23400000, 0x00006180, 0xe2722e45, 0x00004900, 0x00000001, 0x00007480,
- 0x22401c06, 0x00006081, 0xa8b22e45, 0x00000900, 0xe8d81302, 0x00009900,
- 0x00000001, 0x0000f080, 0x02000000, 0x0000e180, 0x0410680a, 0x00006187,
- 0x8237180a, 0x00006086, 0x00186808, 0x00003186, 0x2a000000, 0x00007900,
- 0x00008080, 0x00008980, 0x02810713, 0x0000e081, 0x08001aaa, 0x00002106,
- 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
- 0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
- 0xaab81400, 0x00008a2c, 0x01631c90, 0x0000f500, 0x2bc08708, 0x00000aa1,
- 0x2b80500a, 0x00001900, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
- 0x01801b0d, 0x00006080, 0x02900000, 0x0000c980, 0x11c00000, 0x0000f900,
- 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
- 0x0076100a, 0x00006587, 0x00760847, 0x0000b586, 0x700040ec, 0x00005680,
- 0x003850e0, 0x00008010, 0x703a38ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x1200f806, 0x00006784, 0x02900006, 0x00000980, 0x02007806, 0x00006002,
- 0x0418100a, 0x00002187, 0x700008ec, 0x00005680, 0x00000000, 0x00008080,
- 0x01807048, 0x00009004, 0x703840ec, 0x00005600, 0x00383000, 0x00008000,
- 0x700040ec, 0x00005680, 0x003857c0, 0x00000078, 0xec0052ec, 0x0000f902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x0000000a, 0x00009582,
- 0x00000187, 0x0000f013, 0xec0052ec, 0x0000f902, 0x01800000, 0x00000000,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x6040000a, 0x0000788a,
- 0x00000001, 0x00000080, 0x92202404, 0x00001900, 0xec0044ec, 0x00007902,
- 0x01800000, 0x00000000, 0xe23f2a48, 0x00002880, 0xc3400b0d, 0x00006080,
- 0x92000b0d, 0x00000080, 0x802a2248, 0x00001502, 0xc3400000, 0x00006188,
- 0x12403006, 0x00004900, 0x12804008, 0x00001900, 0x01801b0d, 0x00001880,
- 0x11c07806, 0x0000e002, 0x1200f806, 0x00000784, 0x02807048, 0x00006004,
- 0x01800000, 0x00008980, 0xc1b10c04, 0x0000f900, 0x00000002, 0x00000080,
- 0x700040ec, 0x00005680, 0x003830c0, 0x00000010, 0x01900006, 0x00009980,
- 0x703a38ec, 0x0000d600, 0x00385000, 0x00008000, 0x00000126, 0x00007400,
- 0x04181006, 0x00006987, 0x700040ec, 0x00005680, 0x003837c0, 0x00000078,
- 0x00000409, 0x00006583, 0x1c000000, 0x00000980, 0x1c400000, 0x000007c8,
- 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0,
- 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x000001bc, 0x0000f408,
- 0x1f400000, 0x000007f8, 0x1fc00000, 0x0000e180, 0x1c001070, 0x00004390,
- 0x00001873, 0x00006106, 0x00001871, 0x0000b406, 0x00000041, 0x00006582,
- 0x80003071, 0x00002480, 0xc0001873, 0x0000e006, 0x00080871, 0x0000b501,
- 0x0000e0ec, 0x00005780, 0x00005801, 0x00008080, 0x40001876, 0x00006413,
- 0xc0000871, 0x0000b401, 0xdc002000, 0x0000e181, 0x1c801002, 0x0000c900,
- 0x01400c05, 0x0000e181, 0x1e420841, 0x00000910, 0xddd8a314, 0x00001910,
- 0x7fc01400, 0x000000c1, 0x00400000, 0x00007900, 0x00008010, 0x00008980,
- 0xc0206c0e, 0x000080cd, 0x80401405, 0x00009081, 0x008806ec, 0x00005f80,
- 0x00905100, 0x000006c4, 0x12000000, 0x000084e4, 0x00106048, 0x0000e186,
- 0x00186049, 0x0000b186, 0x12800000, 0x0000e180, 0x04206848, 0x0000e087,
- 0xe7a05848, 0x00006001, 0x86307049, 0x00003001, 0x8220704a, 0x00006086,
- 0x86305848, 0x0000b083, 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8,
- 0x39c0070f, 0x000086be, 0xdbd712e2, 0x0000e100, 0x53000ee3, 0x00004881,
- 0x00002357, 0x00007400, 0x3b7a5749, 0x00000e38, 0xd2008000, 0x0000e180,
- 0x39824048, 0x00004900, 0x83c00a0e, 0x00006180, 0x83400b0e, 0x00000180,
- 0x8390a20f, 0x0000e200, 0xc29722e4, 0x00000900, 0x03d0a20f, 0x0000e200,
- 0x83906a0e, 0x00008200, 0x8371c638, 0x0000e100, 0x03ea400f, 0x0000c704,
- 0x80107a0d, 0x0000e502, 0x85000a14, 0x00000080, 0x03401a0e, 0x0000e088,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x05400ce0, 0x00009283,
+ 0x003c1b6e, 0x00007113, 0x9752725c, 0x0000e200, 0x17d2e20d, 0x00000100,
+ 0x11d2eb0d, 0x00006100, 0x05408000, 0x00000981, 0x00008047, 0x0000e582,
+ 0xd192725c, 0x00000200, 0x1762ee0d, 0x00006151, 0x17408000, 0x000089b9,
+ 0x1c800000, 0x000007c4, 0x91c2ee0d, 0x0000053b, 0x0002f85e, 0x00009502,
+ 0x9392725c, 0x0000e202, 0x1762e40d, 0x00008141, 0x1720604d, 0x00001704,
+ 0x17408000, 0x00006189, 0x0562ec15, 0x00004101, 0x41404515, 0x0000e283,
+ 0x05400000, 0x00000989, 0xd1001c5d, 0x00009880, 0x05400000, 0x0000e191,
+ 0xd3001c15, 0x00004880, 0x00000076, 0x0000f008, 0xc000034c, 0x0000e582,
+ 0x17001b46, 0x00008880, 0xc0000872, 0x0000e40e, 0xc0000072, 0x00003416,
+ 0x9c680500, 0x0000e108, 0x11c0f85c, 0x0000c784, 0x1701e05c, 0x0000e002,
+ 0x00000072, 0x0000a506, 0x00006071, 0x00006587, 0x00029872, 0x0000b487,
+ 0x75e80071, 0x0000e101, 0x001a2072, 0x0000b106, 0x13400000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0x703b90ec, 0x0000d600, 0x003b8800, 0x00008000,
+ 0x1381e847, 0x00006004, 0x001a204d, 0x0000a186, 0xc000034c, 0x0000e582,
+ 0x11c00006, 0x00008980, 0x703ae0ec, 0x0000d600, 0x003a7000, 0x00008000,
+ 0x04181047, 0x00006987, 0x00000092, 0x00007210, 0x703a68ec, 0x0000d600,
+ 0x003a3800, 0x00008000, 0x41402515, 0x00001283, 0xa0000015, 0x0000ec12,
+ 0x00c002ec, 0x0000df80, 0x10038009, 0x00001284, 0x00000c15, 0x00006583,
+ 0xb918730e, 0x00008900, 0xb0000815, 0x00006c08, 0x05400000, 0x00001981,
+ 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x93800f0c, 0x0000e180,
+ 0x93400a5c, 0x00000080, 0x9392724d, 0x00006200, 0x00004072, 0x00002506,
+ 0x05400800, 0x0000e181, 0x00029872, 0x0000e487, 0x2c12730d, 0x00001600,
+ 0x134588b0, 0x00001000, 0x00026847, 0x00001502, 0x93800000, 0x00001988,
+ 0xffffffff, 0x00007f86, 0x11c01a4e, 0x00001880, 0x1c00b047, 0x00001002,
+ 0x91c00a5c, 0x00006282, 0x13800017, 0x00000084, 0x0000f871, 0x0000648d,
+ 0x0000f071, 0x0000b495, 0x11c00006, 0x00001980, 0x04181047, 0x0000e187,
+ 0x75e80071, 0x0000b101, 0x703b90ec, 0x0000d600, 0x003b8800, 0x00008000,
+ 0x703b80ec, 0x00005600, 0x003a7000, 0x00008000, 0x00000052, 0x0000f400,
+ 0x700040ec, 0x00005680, 0x003a3fc0, 0x00000078, 0x1c400000, 0x000007c8,
+ 0x13400000, 0x00006180, 0x91c01b44, 0x00004780, 0x93680500, 0x00006100,
+ 0x11c06447, 0x00004081, 0x13800000, 0x0000f900, 0x000014c4, 0x00000980,
+ 0x0422384d, 0x0000e085, 0x001a604e, 0x00003106, 0x11c00006, 0x00006180,
+ 0x75e8004d, 0x0000e101, 0x703a70ec, 0x0000d600, 0x003a6800, 0x00008000,
+ 0x13400000, 0x0000f900, 0x00007fc0, 0x00000980, 0x04181047, 0x0000e187,
+ 0x001a604d, 0x0000b186, 0x7039f0ec, 0x00005600, 0x0039f800, 0x00008000,
+ 0xa0000815, 0x00006c00, 0x703a68ec, 0x0000d600, 0x003a3800, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x10054809, 0x00009284, 0x00000c15, 0x00006583,
+ 0xb918730e, 0x00008900, 0xb0000815, 0x00006c08, 0x05400000, 0x00001981,
+ 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x13400000, 0x0000f900,
+ 0x0002810c, 0x00000980, 0x740000ec, 0x00005680, 0x003a6800, 0x00000100,
+ 0x17902000, 0x00007900, 0x00004040, 0x00008980, 0x743870ec, 0x0000d600,
+ 0x00081000, 0x00008080, 0x00000001, 0x00007480, 0x740060ec, 0x00005680,
+ 0x003af000, 0x00000240, 0x743870ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x01010713, 0x00006081, 0x11c00000, 0x00008980, 0x12400040, 0x00006180,
+ 0x001ae847, 0x0000e186, 0x24823847, 0x00006100, 0x00109849, 0x0000e186,
+ 0x2c002c04, 0x00009680, 0x91c588b0, 0x00009000, 0xb0023247, 0x0000f902,
+ 0x11400000, 0x00008000, 0x12000000, 0x00006180, 0x86205849, 0x00006087,
+ 0x24c00000, 0x00006180, 0x0e037748, 0x00006004, 0xb0022447, 0x00007902,
+ 0x02800000, 0x00000000, 0xc0000746, 0x0000e583, 0x25030060, 0x00008900,
+ 0xb0007e47, 0x0000f902, 0x03800000, 0x00008000, 0xb0406847, 0x0000f902,
+ 0x02000000, 0x00008000, 0xb0406247, 0x0000f902, 0x02c00000, 0x00008000,
+ 0x257b1761, 0x00000918, 0x25fb2763, 0x00008920, 0x267b3765, 0x00000928,
+ 0x26fb4767, 0x00008930, 0x277b5769, 0x00000938, 0x000000e1, 0x0000f408,
+ 0x27fa4f6b, 0x00000900, 0x24424048, 0x00001900, 0x0122380a, 0x0000a000,
+ 0xffffffff, 0x00007fa7, 0x11d23a0c, 0x00001100, 0x00122847, 0x00001502,
+ 0x00000153, 0x0000f00b, 0xc1506344, 0x00001202, 0x91c00a0c, 0x0000e090,
+ 0x22400000, 0x00008990, 0x83000a0c, 0x0000e090, 0x22800000, 0x00008990,
+ 0x0000010c, 0x0000f008, 0x01807f45, 0x0000e080, 0x23800000, 0x00008980,
+ 0x2800680d, 0x0000e100, 0x0012308e, 0x0000e100, 0x01802006, 0x00006784,
+ 0x23d00002, 0x00000980, 0x03406e45, 0x00006002, 0x28ca0005, 0x00008980,
+ 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x284a3f08, 0x0000883a,
+ 0x2c002c04, 0x00009680, 0x91c588b0, 0x00009000, 0x02000008, 0x00006084,
+ 0x0032308f, 0x00002080, 0x22100000, 0x00007900, 0x00008016, 0x00008980,
+ 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8, 0xb03a3247, 0x00005000,
+ 0x003a2800, 0x00000000, 0xb03a2447, 0x0000d000, 0x00385000, 0x00008000,
+ 0xb0387e47, 0x00005000, 0x00387000, 0x00000000, 0xb0786847, 0x00005000,
+ 0x00384000, 0x00000000, 0xb0786247, 0x00005000, 0x00385800, 0x00000000,
+ 0x22c00000, 0x00006180, 0xe2722e45, 0x00004900, 0x23083804, 0x00006180,
+ 0x23400000, 0x00004980, 0x00000001, 0x00007480, 0x22401c06, 0x00006081,
+ 0xe8d81302, 0x00000900, 0xa8b22e45, 0x00009900, 0x91e02404, 0x00001900,
+ 0xe2004247, 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x00072808, 0x00001502, 0x12404008, 0x0000e110, 0x12003006, 0x00004910,
+ 0x03400000, 0x00006190, 0x91e02404, 0x0000c910, 0x00000154, 0x00007008,
+ 0xe23f2a47, 0x00002880, 0xc3000b0c, 0x00006080, 0x91c00b0c, 0x00008080,
+ 0x802a2247, 0x00001502, 0xc3000000, 0x00009988, 0xc3710c04, 0x00007900,
+ 0x00000002, 0x00000080, 0x01801b0c, 0x00009880, 0x02007806, 0x00006002,
+ 0x11c0f806, 0x00000784, 0x700040ec, 0x00005680, 0x003868c0, 0x00008010,
+ 0x03500006, 0x00006180, 0x01807047, 0x0000c004, 0x703840ec, 0x00005600,
+ 0x00383000, 0x00008000, 0x0418100d, 0x0000e987, 0x700040ec, 0x00005680,
+ 0x00386fc0, 0x00008078, 0x01807f45, 0x0000e080, 0x23800000, 0x00008980,
+ 0x91c00a0c, 0x00006080, 0x0012308e, 0x00002100, 0x28024849, 0x0000e100,
+ 0x01802006, 0x0000c784, 0x12424e45, 0x00006002, 0x22400000, 0x00000980,
+ 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x23d00002, 0x0000e180,
+ 0x28ca0005, 0x00004980, 0x28424048, 0x00006100, 0x83000a0c, 0x0000c080,
+ 0xe3923a47, 0x0000e100, 0x12000048, 0x0000c084, 0x2c002c04, 0x00009680,
+ 0x91c588b0, 0x00009000, 0x22100000, 0x00007900, 0x00008016, 0x00008980,
+ 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8, 0x22800000, 0x0000e180,
+ 0x0032308f, 0x0000e080, 0xb03a3247, 0x00005000, 0x003a2800, 0x00000000,
+ 0xb03a2447, 0x0000d000, 0x00385000, 0x00008000, 0xb0387e47, 0x00005000,
+ 0x00387000, 0x00000000, 0xb07a4847, 0x00005000, 0x003a4000, 0x00008000,
+ 0xb0786247, 0x00005000, 0x00385800, 0x00000000, 0x22c00000, 0x00006180,
+ 0x23083804, 0x00004980, 0x23400000, 0x00006180, 0xe2722e45, 0x00004900,
+ 0x00000001, 0x00007480, 0x22401c06, 0x00006081, 0xa8b22e45, 0x00000900,
+ 0xe8d81302, 0x00009900, 0x00000001, 0x0000f080, 0x02000000, 0x0000e180,
+ 0x0410600d, 0x00006187, 0x8237180d, 0x0000e086, 0x00186008, 0x0000b186,
+ 0x2a000000, 0x00007900, 0x00008080, 0x00008980, 0x03410713, 0x00006081,
+ 0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980,
+ 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980, 0x2a400000, 0x00006180,
+ 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c, 0x01661b44, 0x00007500,
+ 0x2bc08708, 0x00000aa1, 0x2b80680d, 0x00001900, 0x03500000, 0x00006180,
+ 0x01801b0c, 0x0000c880, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
+ 0x11c0f806, 0x00006784, 0x0076100d, 0x00002587, 0x02007806, 0x00009002,
+ 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x01807047, 0x00009004,
+ 0x11c00000, 0x0000f900, 0x00003fc0, 0x00008980, 0x700040ec, 0x00005680,
+ 0x003868e0, 0x00000010, 0x03500006, 0x00006180, 0x00760847, 0x0000e586,
+ 0x703a38ec, 0x0000d600, 0x00000000, 0x00008080, 0x700008ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x0418100d, 0x0000e987, 0x703840ec, 0x00005600,
+ 0x00383000, 0x00008000, 0x700040ec, 0x00005680, 0x00386fc0, 0x00008078,
+ 0xec006aec, 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x0000000d, 0x00001582, 0x0000018a, 0x00007013, 0xec006aec, 0x00007902,
+ 0x01800000, 0x00000000, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
+ 0x6100000d, 0x0000f88a, 0x00000001, 0x00000080, 0x91e02404, 0x00001900,
+ 0xec006cec, 0x00007902, 0x01800000, 0x00000000, 0xe23f2a47, 0x00002880,
+ 0xc3000b0c, 0x00006080, 0x91c00b0c, 0x00008080, 0x802a2247, 0x00001502,
+ 0xc3000000, 0x0000e188, 0x1240680d, 0x00004900, 0x03400000, 0x0000e180,
+ 0x12003006, 0x0000c900, 0x01801b0c, 0x00009880, 0xc3710c04, 0x00007900,
+ 0x00000002, 0x00000080, 0x02007806, 0x00006002, 0x11c0f806, 0x00000784,
+ 0x700040ec, 0x00005680, 0x003868c0, 0x00008010, 0x03500006, 0x00006180,
+ 0x01807047, 0x0000c004, 0x703840ec, 0x00005600, 0x00383000, 0x00008000,
+ 0x00000129, 0x00007400, 0x0418100d, 0x0000e987, 0x700040ec, 0x00005680,
+ 0x00386fc0, 0x00008078, 0x00000409, 0x00006583, 0x1c000000, 0x00000980,
+ 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8,
+ 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
+ 0x000001bf, 0x0000f408, 0x1f400000, 0x000007f8, 0x1fc00000, 0x0000e180,
+ 0x1c001070, 0x00004390, 0x00001873, 0x00006106, 0x00001871, 0x0000b406,
+ 0x00000041, 0x00006582, 0x80003071, 0x00002480, 0xc0001873, 0x0000e006,
+ 0x00080871, 0x0000b501, 0x0000e0ec, 0x00005780, 0x00005801, 0x00008080,
+ 0x40001876, 0x00006413, 0xc0000871, 0x0000b401, 0xdc002000, 0x0000e181,
+ 0x1c801002, 0x0000c900, 0x01400c05, 0x0000e181, 0x1e420841, 0x00000910,
+ 0xddd8a314, 0x00001910, 0x7fc01400, 0x000000c1, 0x00400000, 0x00007900,
+ 0x00008010, 0x00008980, 0xc0206c0e, 0x000080cd, 0x80401405, 0x00009081,
+ 0x008806ec, 0x00005f80, 0x00905100, 0x000006c4, 0x12400000, 0x000004e8,
+ 0x00106849, 0x0000e186, 0x0018684a, 0x00003186, 0x13000000, 0x0000e180,
+ 0x04207049, 0x00006087, 0xe7a06049, 0x00006001, 0x8630784a, 0x0000b001,
+ 0x8220784c, 0x0000e086, 0x86306049, 0x0000b083, 0x29c00000, 0x00000ad0,
+ 0x29400000, 0x00000ad8, 0x39c00748, 0x000085be, 0x3b7a674a, 0x00000e38,
+ 0x0000220a, 0x00007400, 0x39a08749, 0x000084a1, 0x53000ee3, 0x00006081,
+ 0x929712e2, 0x0000c900, 0x83800a0f, 0x00006180, 0x82800b0f, 0x00000180,
+ 0x83d0a20e, 0x0000e200, 0xc2d722e4, 0x00008900, 0x0390a20e, 0x0000e200,
+ 0x83d0520f, 0x00000200, 0x82b1c638, 0x00006100, 0x03aa400e, 0x0000c704,
+ 0x8010720a, 0x0000e502, 0x85000a14, 0x00000080, 0x02801a0f, 0x0000e088,
0x22403900, 0x00004988, 0x22100000, 0x0000f908, 0x0002020e, 0x00000980,
- 0x00000204, 0x00007010, 0x0381d00d, 0x0000e002, 0x23c00000, 0x00000980,
+ 0x00000206, 0x0000f010, 0x0381d00a, 0x00006002, 0x23c00000, 0x00000980,
0x25c00000, 0x0000e180, 0x0000188f, 0x00006106, 0x28ca0005, 0x00006180,
- 0x0340003b, 0x0000c084, 0x40000515, 0x0000e583, 0xc000188f, 0x00002006,
+ 0x0280003b, 0x00004084, 0x40000515, 0x0000e583, 0xc000188f, 0x00002006,
0x23001000, 0x0000f900, 0x00010000, 0x00000980, 0x23701800, 0x0000f900,
0x00044040, 0x00000980, 0x24400000, 0x00007900, 0x00004000, 0x00000980,
0x28804000, 0x0000f900, 0x00207fc0, 0x00008980, 0x001910ec, 0x0000d780,
0x00007801, 0x00000080, 0x22800000, 0x000088ec, 0x23800702, 0x00008980,
0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089e0,
0x26400000, 0x000009e8, 0x26c00000, 0x000009f8, 0x27c00000, 0x00006180,
- 0x2700600c, 0x0000c900, 0x2778770b, 0x00008a00, 0x00000000, 0x0000f480,
- 0x25e81414, 0x00008a0c, 0x22010088, 0x0000e3c0, 0x2840680d, 0x00008900,
- 0x1ce88023, 0x0000e180, 0x0357280f, 0x0000c200, 0x0340180d, 0x00009880,
- 0x1202100d, 0x00009002, 0x03400043, 0x00006084, 0x12424048, 0x00008900,
- 0x12004000, 0x0000e180, 0x13024849, 0x00004900, 0x1240680d, 0x00006100,
- 0x04181048, 0x0000e187, 0x02111cee, 0x0000f500, 0x1c7a474c, 0x00008710,
- 0x1c024849, 0x00001900, 0x00c002ec, 0x0000df80, 0x1010980b, 0x00009684,
+ 0x2700680d, 0x0000c900, 0x2778770c, 0x00000a00, 0x00000000, 0x0000f480,
+ 0x25e81414, 0x00008a0c, 0x22010088, 0x0000e3c0, 0x2840500a, 0x00008900,
+ 0x1ca88023, 0x00006180, 0x0297280e, 0x0000c200, 0x0280180a, 0x00009880,
+ 0x1202100a, 0x00001002, 0x02800043, 0x0000e084, 0x12424048, 0x00008900,
+ 0x12004000, 0x0000e180, 0x13024849, 0x00004900, 0x1240500a, 0x00006100,
+ 0x04181048, 0x0000e187, 0x02131ba2, 0x00007500, 0x1c7a474c, 0x0000070c,
+ 0x1c024849, 0x00001900, 0x00c002ec, 0x0000df80, 0x1010a80b, 0x00009684,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x03400ce0, 0x00009283,
- 0x02261cba, 0x0000f113, 0xb918530a, 0x00006100, 0x03401a0e, 0x00004880,
- 0x0381d00d, 0x0000e002, 0x23c00000, 0x00000980, 0x22100000, 0x00007900,
- 0x0002020e, 0x00000980, 0x25c00000, 0x0000e180, 0x0000188f, 0x00006106,
- 0x28ca0005, 0x00006180, 0x0340003b, 0x0000c084, 0x40000515, 0x0000e583,
- 0xc000188f, 0x00002006, 0x23001000, 0x0000f900, 0x00010000, 0x00000980,
- 0x23701800, 0x0000f900, 0x00044040, 0x00000980, 0x24400000, 0x00007900,
- 0x00004000, 0x00000980, 0x28804000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x001910ec, 0x0000d780, 0x00007801, 0x00000080, 0x8e207c0f, 0x00006101,
- 0x22403900, 0x0000c980, 0x22800000, 0x000088ec, 0x23800702, 0x00008980,
- 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089e0,
- 0x26400000, 0x000009e8, 0x26c00000, 0x000009f8, 0x27c00000, 0x00006180,
- 0x2700600c, 0x0000c900, 0x2778770b, 0x00008a00, 0x00000000, 0x0000f480,
- 0x25e81414, 0x00008a0c, 0x22010088, 0x0000e3c0, 0x2840680d, 0x00008900,
- 0x00024c04, 0x00006583, 0x41f02604, 0x00008901, 0x41c02204, 0x0000801d,
- 0xc1e02404, 0x0000e101, 0x08001a08, 0x00006106, 0x01000000, 0x00006190,
- 0x08003004, 0x0000620e, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
- 0x02ab5800, 0x00007900, 0x00218082, 0x00000980, 0x02caf800, 0x0000f900,
- 0x001c3cca, 0x00000980, 0x82200500, 0x00008022, 0x025e1c63, 0x00007500,
- 0x02701702, 0x0000001a, 0x83008800, 0x0000e180, 0x01402004, 0x0000c900,
- 0x02400000, 0x0000e181, 0xc39722e4, 0x00004900, 0xffffffff, 0x00007f86,
- 0x41401515, 0x0000e283, 0x91000a0c, 0x00008180, 0x0b009c0f, 0x0000600e,
- 0x0c009c0e, 0x0000300e, 0x03405000, 0x00009989, 0x000002f8, 0x00007010,
- 0x11806415, 0x00009080, 0x38400c46, 0x0000e081, 0x0e00ac46, 0x00006000,
- 0xffffffff, 0x00007fc7, 0x22020300, 0x0000f904, 0x0ac44447, 0x00006800,
- 0x00223447, 0x00001503, 0x08044046, 0x0000ea0e, 0x000002f1, 0x0000f011,
- 0x81440688, 0x00009283, 0x83c1840f, 0x00009088, 0x03c2320f, 0x00001008,
- 0x000002b9, 0x00007010, 0x81420688, 0x00006283, 0x0342000f, 0x00000000,
- 0x1002000f, 0x00009000, 0x00000046, 0x00001582, 0xffffffff, 0x00007f86,
- 0x0000027f, 0x00007008, 0x0000027f, 0x00007008, 0x118232ec, 0x00001100,
- 0x11801846, 0x00009280, 0x1182340e, 0x00009000, 0x10006846, 0x00001000,
- 0x05500015, 0x00009380, 0x11804788, 0x00001880, 0x0002006d, 0x0000e502,
- 0x11823789, 0x00000300, 0xb918730e, 0x00009968, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x0000f0eb, 0x81408688, 0x00006283, 0x83402302, 0x00000780,
- 0x0340a20d, 0x00006080, 0x02400800, 0x00004981, 0x10420040, 0x0000e100,
- 0x0342300d, 0x00004300, 0x000002da, 0x00007010, 0x03800d15, 0x00006281,
- 0x0800300f, 0x0000a206, 0x0002300f, 0x00006502, 0x03800c0e, 0x00008481,
- 0x55607018, 0x0000e801, 0x000002c2, 0x0000f009, 0x029400af, 0x00007100,
- 0x740800ec, 0x0000d680, 0x40000000, 0x00000080, 0x740000ec, 0x00005680,
- 0x00000000, 0x00008080, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
- 0x0804400d, 0x00006a06, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
- 0x740000ec, 0x00005680, 0x00000000, 0x00008080, 0x03406989, 0x00009000,
- 0x743868ec, 0x0000d600, 0x00000000, 0x00008080, 0x740000ec, 0x00005680,
- 0x00000000, 0x00008080, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
- 0x83800b14, 0x00009080, 0xc5107244, 0x00006200, 0x83507244, 0x00000200,
- 0x80106a44, 0x00001502, 0x03400d15, 0x00001289, 0x03400c0d, 0x00009489,
- 0x82206815, 0x0000e808, 0x03400d15, 0x00001289, 0x03400c0d, 0x00009489,
- 0x03400c15, 0x00006081, 0x55606818, 0x00002009, 0x00036840, 0x00001502,
- 0x056ff815, 0x0000f900, 0x003ffffe, 0x00008280, 0xb918730e, 0x0000e108,
- 0x05407c0d, 0x0000c281, 0x00000260, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x00000000, 0x00007083, 0x00000046, 0x0000e582, 0x03418040, 0x00008080,
- 0x0342300d, 0x0000e000, 0x05500015, 0x00000380, 0x10018040, 0x00006088,
- 0x118232ec, 0x00000110, 0x00000280, 0x00007400, 0x11801846, 0x00001290,
- 0x10006846, 0x00009010, 0x80024e00, 0x00001583, 0x02c700af, 0x0000f500,
- 0x0804400f, 0x0000e20e, 0x60000845, 0x0000b40a, 0x12807989, 0x00009008,
- 0x740800ec, 0x0000d680, 0x40000000, 0x00000080, 0x740000ec, 0x00005680,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x02800ce0, 0x00001283,
+ 0x02281b6e, 0x0000f113, 0xb9185b0b, 0x00006100, 0x02801a0f, 0x00004880,
+ 0x4e00060e, 0x000088bc, 0x0381d00a, 0x00006002, 0x0000188f, 0x0000a106,
+ 0x22100000, 0x00007900, 0x0002020e, 0x00000980, 0x25c00000, 0x0000e180,
+ 0x28ca0005, 0x00004980, 0x0280003b, 0x0000e084, 0xc000188f, 0x00002006,
+ 0x40000515, 0x0000e583, 0x22403900, 0x00000980, 0x23001000, 0x0000f900,
+ 0x00010000, 0x00000980, 0x23701800, 0x0000f900, 0x00044040, 0x00000980,
+ 0x24400000, 0x00007900, 0x00004000, 0x00000980, 0x28804000, 0x0000f900,
+ 0x00207fc0, 0x00008980, 0x001910ec, 0x0000d780, 0x00007801, 0x00000080,
+ 0x22800000, 0x000088ec, 0x23800702, 0x00008980, 0x24800000, 0x000089cc,
+ 0x25000000, 0x000089d4, 0x25800000, 0x000089e0, 0x26400000, 0x000009e8,
+ 0x26c00000, 0x000009f8, 0x27c00000, 0x00006180, 0x2700680d, 0x0000c900,
+ 0x2778770c, 0x00000a00, 0x00000000, 0x0000f480, 0x25e81414, 0x00008a0c,
+ 0x22010088, 0x0000e3c0, 0x2840500a, 0x00008900, 0x00024c04, 0x00006583,
+ 0x41f02604, 0x00008901, 0x41c02204, 0x0000801d, 0xc1e02404, 0x0000e101,
+ 0x08001a08, 0x00006106, 0x01000000, 0x00006190, 0x08003004, 0x0000620e,
+ 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x02ac9800, 0x0000f900,
+ 0x00218082, 0x00000980, 0x02caf800, 0x0000f900, 0x001c3cca, 0x00000980,
+ 0x82200500, 0x00008022, 0x025f1b17, 0x00007500, 0x02701702, 0x0000001a,
+ 0x83008800, 0x0000e180, 0x01402004, 0x0000c900, 0x02400000, 0x0000e181,
+ 0xc3d722e4, 0x0000c900, 0xffffffff, 0x00007f86, 0x41401515, 0x0000e283,
+ 0x91800a0d, 0x00008180, 0x0b009c44, 0x0000600e, 0x0c009c0f, 0x0000b00e,
+ 0x03805000, 0x00009989, 0x000002f9, 0x0000f010, 0x11c06415, 0x00001080,
+ 0x38400c47, 0x00006081, 0x0e00ac47, 0x0000e000, 0xffffffff, 0x00007fc7,
+ 0x22020300, 0x0000f904, 0x0ac4444d, 0x00006800, 0x00223c4d, 0x00009503,
+ 0x08044047, 0x00006a0e, 0x000002f2, 0x0000f011, 0x81440688, 0x00009283,
+ 0x91018444, 0x00009088, 0x11023a44, 0x00009008, 0x000002ba, 0x00007010,
+ 0x81420688, 0x00006283, 0x03820044, 0x00000000, 0x10020044, 0x00009000,
+ 0x00000047, 0x00009582, 0xffffffff, 0x00007f86, 0x00000280, 0x00007008,
+ 0x00000280, 0x00007008, 0x11c23aec, 0x00001100, 0x11c01847, 0x00009280,
+ 0x11c23c0f, 0x00001000, 0x10007047, 0x00009000, 0x05500015, 0x00009380,
+ 0x11c04788, 0x00009880, 0x0002006d, 0x0000e502, 0x11c23f89, 0x00000300,
+ 0xb9187b0f, 0x00009968, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f0eb,
+ 0x81408688, 0x00006283, 0x83802302, 0x00000780, 0x0380a20e, 0x00006080,
+ 0x02400800, 0x00004981, 0x10420040, 0x0000e100, 0x0382380e, 0x0000c300,
+ 0x000002db, 0x0000f010, 0x03c00d15, 0x0000e281, 0x08003044, 0x0000a206,
+ 0x00023844, 0x0000e502, 0x03c00c0f, 0x00008481, 0x55607818, 0x00006801,
+ 0x000002c3, 0x00007009, 0x029500af, 0x0000f100, 0x740800ec, 0x0000d680,
+ 0x40000000, 0x00000080, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x740000ec, 0x00005680, 0x00000000, 0x00008080, 0x0804400e, 0x00006a06,
+ 0x740000ec, 0x00005680, 0x00000000, 0x00008080, 0x740000ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x03807189, 0x00009000, 0x743870ec, 0x0000d600,
0x00000000, 0x00008080, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
- 0x0804400d, 0x00006a06, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
- 0x740000ec, 0x00005680, 0x00000000, 0x00008080, 0x03406989, 0x00009000,
- 0x743868ec, 0x0000d600, 0x00000000, 0x00008080, 0x000002a6, 0x0000f400,
+ 0x740000ec, 0x00005680, 0x00000000, 0x00008080, 0x83c00b14, 0x00001080,
+ 0xc5107a46, 0x00006200, 0x83907a46, 0x00000200, 0x80107246, 0x00009502,
+ 0x03800d15, 0x00001289, 0x03800c0e, 0x00009489, 0x82207015, 0x0000e808,
+ 0x03800d15, 0x00001289, 0x03800c0e, 0x00009489, 0x03800c15, 0x00006081,
+ 0x55607018, 0x00002009, 0x00036840, 0x00001502, 0x056ff815, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0xb9187b0f, 0x0000e108, 0x05407c0e, 0x0000c281,
+ 0x00000261, 0x00007010, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083,
+ 0x00000047, 0x00006582, 0x03818040, 0x00008080, 0x0382380e, 0x00006000,
+ 0x05500015, 0x00000380, 0x10018040, 0x00006088, 0x11c23aec, 0x00000110,
+ 0x00000281, 0x0000f400, 0x11c01847, 0x00001290, 0x10007047, 0x00001010,
+ 0x80024e00, 0x00001583, 0x02c800af, 0x0000f500, 0x08044044, 0x0000e20e,
+ 0x60000845, 0x0000b40a, 0x12822189, 0x00009008, 0x740800ec, 0x0000d680,
+ 0x40000000, 0x00000080, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x740000ec, 0x00005680, 0x00000000, 0x00008080, 0x0804400e, 0x00006a06,
0x740000ec, 0x00005680, 0x00000000, 0x00008080, 0x740000ec, 0x00005680,
- 0x00000000, 0x00008080, 0x03800d15, 0x00009281, 0x02de00af, 0x00007500,
- 0x03800c0e, 0x00001481, 0x55607018, 0x0000e801, 0x740800ec, 0x0000d680,
- 0x40000000, 0x00008880, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
- 0x740000ec, 0x00005680, 0x00000000, 0x00008080, 0x0804400d, 0x00006a06,
+ 0x00000000, 0x00008080, 0x03807189, 0x00009000, 0x743870ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x000002a7, 0x00007400, 0x740000ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x03c00d15, 0x00001281, 0x02df00af, 0x0000f500, 0x03c00c0f, 0x00001481,
+ 0x55607818, 0x00006801, 0x740800ec, 0x0000d680, 0x40000000, 0x00008880,
0x740000ec, 0x00005680, 0x00000000, 0x00008080, 0x740000ec, 0x00005680,
- 0x00000000, 0x00008080, 0x03406989, 0x00009000, 0x743868ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x000002a6, 0x0000f400, 0x740000ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x0804400e, 0x00006a06, 0x740000ec, 0x00005680,
0x00000000, 0x00008080, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
- 0x02f20002, 0x0000f004, 0x03400c0d, 0x00009183, 0x01100000, 0x00007908,
- 0x00018004, 0x00000980, 0x01300600, 0x00001909, 0x00000267, 0x00007010,
- 0x02f8024c, 0x00007100, 0x0002006d, 0x0000e502, 0x03406415, 0x00000080,
- 0xb918730e, 0x0000e168, 0x38400c0d, 0x0000c881, 0xffffffff, 0x00007fc7,
- 0x22020300, 0x0000f904, 0x00000286, 0x00007460, 0x11804788, 0x00001880,
- 0x11823789, 0x00009300, 0x00000000, 0x00007080, 0xc0000f0c, 0x00001583,
- 0x0000032b, 0x0000700b, 0x80024e00, 0x00001583, 0x03f0100c, 0x00006188,
- 0x03f0100c, 0x00004990, 0x03901202, 0x0000e108, 0x0800300d, 0x0000620e,
- 0x030e2136, 0x00007500, 0x03400000, 0x00006190, 0x03901202, 0x0000c910,
- 0xc3f0660c, 0x00006110, 0xc3f0660c, 0x00004908, 0x00001438, 0x00007894,
- 0x00000000, 0x00000000, 0xc7405c0c, 0x0000f88a, 0x00000001, 0x00000010,
- 0x00002438, 0x00007894, 0x00000000, 0x00000000, 0xc740640c, 0x0000788a,
- 0x00000001, 0x00000010, 0x00400c38, 0x00004594, 0x0280040c, 0x00008096,
- 0x0000640c, 0x00009583, 0x0000540c, 0x00001593, 0x00000320, 0x00007033,
- 0x00005c0c, 0x00001583, 0x0000033e, 0x0000f00b, 0x0320024c, 0x00007500,
- 0x41186400, 0x00008012, 0x8120650c, 0x00008012, 0x0000040c, 0x00009583,
- 0x0000033e, 0x0000f013, 0x80024e00, 0x00001583, 0x02800000, 0x00006189,
- 0x42800000, 0x0000c989, 0x03260364, 0x00007109, 0x0387066e, 0x00009281,
- 0x0002040e, 0x00009583, 0x02808000, 0x00009989, 0x032a00bc, 0x00007109,
- 0x032b01a1, 0x00007100, 0x3c8054ec, 0x00002180, 0xffffffff, 0x00007fa7,
- 0x00003c0a, 0x00001583, 0x02c00000, 0x0000e1b0, 0x0360640c, 0x0000c931,
- 0xc3501202, 0x00006130, 0x4370660c, 0x00004931, 0x00000304, 0x00007018,
- 0x80024e00, 0x00001583, 0x0017280b, 0x00006196, 0x0800300e, 0x0000320e,
- 0xffffffff, 0x00007f86, 0x03800c0a, 0x0000e081, 0x0010700b, 0x0000a18e,
- 0x3c8074ec, 0x00002980, 0x00000304, 0x0000f400, 0x83a0540a, 0x00009900,
- 0x3c386c0e, 0x0000d100, 0x00385800, 0x00000000, 0xc0000f0c, 0x00001583,
- 0x849b7b6f, 0x0000e110, 0xc0000815, 0x00006410, 0x03400020, 0x0000e190,
- 0x82d09a13, 0x00004910, 0x0000034c, 0x0000f008, 0x0a03040f, 0x0000e082,
- 0x0020600d, 0x0000b086, 0xc2e9c538, 0x00006100, 0x82b0560a, 0x00004900,
- 0xc2b86e0f, 0x00008038, 0x035b01c3, 0x0000f404, 0x83d06602, 0x00000037,
- 0x02f85f0a, 0x00000030, 0x80024e00, 0x0000e583, 0x0a03040a, 0x00002082,
- 0x03800020, 0x00006180, 0x0800300b, 0x0000620e, 0x03d01202, 0x0000e100,
- 0xc0000815, 0x0000e400, 0x0370660c, 0x00006100, 0x84972ae5, 0x0000c910,
- 0x84905a0b, 0x0000e108, 0xc2e0540a, 0x00004900, 0x035b01c3, 0x0000f404,
- 0x03a0640c, 0x0000e101, 0xc329c538, 0x0000c900, 0x83109a13, 0x00006100,
- 0x82f0560a, 0x0000c900, 0x80024e00, 0x00001583, 0x02800000, 0x00006189,
- 0x42800000, 0x0000c989, 0x035f0364, 0x0000f109, 0x0387066e, 0x00009281,
- 0x0002040e, 0x00009583, 0x02808000, 0x00009989, 0x036300bc, 0x0000f109,
- 0x034c01a1, 0x0000f100, 0x00000409, 0x00006583, 0x1c000000, 0x00000980,
- 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8,
- 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
- 0x0000037f, 0x00007408, 0x1f400000, 0x000007f8, 0x1fc00000, 0x0000e180,
- 0x1c001070, 0x00004390, 0x00001873, 0x00006106, 0x00001871, 0x0000b406,
- 0x00000041, 0x00006582, 0x80003071, 0x00002480, 0xc0001873, 0x0000e006,
- 0x00080871, 0x0000b501, 0x0000e0ec, 0x00005780, 0x00005801, 0x00008080,
- 0x40001876, 0x00006413, 0xc0000871, 0x0000b401, 0xdc002000, 0x0000e181,
- 0x1c801002, 0x0000c900, 0x01400c05, 0x0000e181, 0x1e420841, 0x00000910,
- 0xddd8a314, 0x00001910, 0x40000509, 0x00006583, 0x02000001, 0x00002586,
- 0x02400000, 0x0000e181, 0x00100001, 0x00006505, 0x02400800, 0x0000e191,
- 0xc0000001, 0x0000e401, 0x80401405, 0x00006081, 0xc0c06800, 0x00000980,
- 0x11000000, 0x00006180, 0x00180805, 0x00006586, 0x003cf800, 0x00007900,
- 0x003ffffe, 0x00008280, 0x00180000, 0x0000e380, 0x00180005, 0x0000a505,
- 0x11400000, 0x0000e180, 0xc0000005, 0x00006407, 0x11800000, 0x000084dc,
- 0x00000409, 0x00006583, 0xc0009800, 0x00008981, 0xc1c01800, 0x0000e180,
- 0x81401607, 0x00004081, 0x80000609, 0x00009583, 0xffffffff, 0x00007f86,
- 0x000003a6, 0x00007010, 0x000003a6, 0x00007010, 0x0241ff60, 0x00009281,
- 0x00018c09, 0x00001583, 0x11c2584b, 0x00006108, 0x20000845, 0x0000e40b,
- 0x000003b8, 0x0000f011, 0x4000050a, 0x00006583, 0xffc00000, 0x00008980,
- 0x0000040a, 0x00006583, 0x20001844, 0x00002413, 0x001000ec, 0x00005780,
- 0x00905100, 0x00008780, 0xe0001844, 0x0000ec12, 0x0098a6ec, 0x0000df80,
- 0x00005000, 0x00000084, 0x80000609, 0x00006583, 0x02000000, 0x00008981,
- 0x02000800, 0x00006191, 0xffc00000, 0x00004980, 0x117fe045, 0x00007900,
- 0x003ffffe, 0x00008280, 0x4000050a, 0x00006583, 0x65a04044, 0x00002003,
- 0xa0000845, 0x00006401, 0x20001844, 0x0000b413, 0x0000040a, 0x00006583,
- 0x00204845, 0x00002002, 0x001000ec, 0x00005780, 0x00905100, 0x00008780,
- 0x11c3586b, 0x0000e100, 0xe0001844, 0x00006412, 0x0098a6ec, 0x0000df80,
- 0x00005000, 0x00000084, 0x00000008, 0x00001582, 0x11c04008, 0x00006110,
- 0xd0000845, 0x0000e410, 0xffc00000, 0x0000e190, 0x02000000, 0x0000c991,
- 0x0000039d, 0x0000f008, 0xc0000709, 0x00009583, 0x4000050a, 0x00006583,
- 0x02000800, 0x00008991, 0x001000ec, 0x00005780, 0x00905100, 0x00008780,
- 0x65a04044, 0x00006803, 0x0000040a, 0x00006583, 0x20001844, 0x00002413,
- 0xffffffff, 0x00007f86, 0xe0001844, 0x0000ec12, 0x0098a6ec, 0x0000df80,
- 0x00005000, 0x00000084, 0x41408515, 0x0000e283, 0x42800000, 0x00008981,
- 0x82800000, 0x000000e0, 0xc2801000, 0x000000d6, 0xc1c00001, 0x000080e6,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x00000533, 0x0000f410,
- 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x82400400, 0x000000e7,
- 0x8140fe6e, 0x0000e283, 0xc2400000, 0x00000981, 0x8140265b, 0x00001283,
- 0xc1c10703, 0x00001283, 0x0000054a, 0x0000f010, 0x00000547, 0x00007010,
- 0x000004aa, 0x0000f010, 0x4140856e, 0x00001283, 0x35386439, 0x00002188,
- 0x35385e39, 0x00002188, 0x03e0025e, 0x0000700c, 0x1b46056e, 0x00001281,
- 0x83200515, 0x000042c8, 0xca02046d, 0x00000097, 0x0642046d, 0x00007893,
- 0x98000000, 0x00000288, 0x9b401ee3, 0x00001880, 0x1b41ff60, 0x0000e281,
- 0x82f71a6d, 0x00000100, 0x9300220b, 0x00009080, 0x35006c4c, 0x0000f902,
- 0x03000000, 0x00008100, 0xffffffff, 0x00007fa7, 0x0340080d, 0x00001082,
- 0x00018c6d, 0x00006583, 0x0300000c, 0x00000084, 0x35386c4c, 0x0000d100,
- 0x00386000, 0x00008000, 0x00012c6d, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00000561, 0x0000f008, 0x00000550, 0x00007010, 0x1b435161, 0x0000e000,
- 0x9300120b, 0x00000080, 0x3500644c, 0x00007902, 0x02c00000, 0x00000100,
- 0xffffffff, 0x00007fa7, 0x0300080c, 0x00001082, 0x0002886d, 0x0000e502,
- 0x02c0000b, 0x00000084, 0x3538644c, 0x00005100, 0x00385800, 0x00000000,
- 0x130b0961, 0x00006100, 0x02c28050, 0x00004930, 0x00000510, 0x00007018,
- 0x1b428051, 0x00001100, 0xb2636f6a, 0x00004412, 0x0e000e39, 0x00008188,
- 0xc3272f65, 0x0000c910, 0xea029769, 0x00000111, 0x140b0850, 0x0000e100,
- 0x1b4b0850, 0x00000100, 0x81400e60, 0x00009283, 0x5000086e, 0x0000ec15,
- 0x000005db, 0x0000f009, 0x8280006d, 0x0000c18a, 0x00001660, 0x00008088,
- 0x82835f6d, 0x00004412, 0x28002660, 0x00000190, 0x94800660, 0x000078c3,
- 0xc0000000, 0x00000280, 0x94800660, 0x000078c3, 0xc0000000, 0x00000280,
- 0x80000660, 0x00006583, 0xa000085b, 0x00002400, 0x1acb080b, 0x00001100,
- 0x00000652, 0x00007041, 0x14800852, 0x00009080, 0xffffffff, 0x00007f86,
- 0x8147066e, 0x0000e283, 0x0800306d, 0x00002206, 0x13800000, 0x000004f4,
- 0x93909a13, 0x00006100, 0x0ac3764e, 0x00006004, 0x00000485, 0x0000f208,
- 0x1372dc6d, 0x00000435, 0x11000000, 0x00006180, 0x93001ee3, 0x00004880,
- 0x9b771a4c, 0x00006100, 0x09022e44, 0x00002006, 0xfcba22ec, 0x0000a880,
- 0xfc8002ec, 0x0000d000, 0x00400000, 0x00000080, 0x03c60445, 0x00006283,
- 0x93002a6d, 0x00008080, 0x09022c6d, 0x00006806, 0x0002584a, 0x00009502,
- 0x0000345b, 0x00001583, 0x00000503, 0x00007008, 0x00000430, 0x0000f008,
- 0x000004f8, 0x00007010, 0x4140155b, 0x00001283, 0x4140255b, 0x0000e283,
- 0xd000084e, 0x00002411, 0xffffffff, 0x00007f86, 0xc1c78745, 0x0000e283,
- 0xe000084e, 0x00002411, 0x00000486, 0x00007013, 0x41400d5b, 0x00001283,
- 0x0000049a, 0x0000f013, 0x2402704e, 0x0000e100, 0x0000085b, 0x0000e403,
- 0x123adf39, 0x00006001, 0x2442684d, 0x00008900, 0x13010448, 0x0000e081,
- 0x24800000, 0x00000980, 0x24c00000, 0x00006180, 0x25030060, 0x00004900,
- 0x2c002c4c, 0x00009680, 0x9b4588b0, 0x00001000, 0xb002326d, 0x00007902,
- 0x11400000, 0x00008000, 0xb002246d, 0x0000f902, 0x02c00000, 0x00008000,
- 0xb0007e6d, 0x00007902, 0x03800000, 0x00008000, 0xb042506d, 0x00007902,
- 0x12400000, 0x00008000, 0xc0000746, 0x0000e583, 0x25430861, 0x00000900,
- 0xb0406a6d, 0x0000f902, 0x03000000, 0x00000000, 0x25bb1f62, 0x0000091c,
- 0x263b2f64, 0x00000924, 0x26bb3f66, 0x0000092c, 0x0000045a, 0x00007408,
- 0x273b4f68, 0x00000934, 0x27bb5f6a, 0x0000093c, 0x0123680b, 0x0000a000,
- 0xffffffff, 0x00007fa7, 0x1b536a0d, 0x00009100, 0x0012286d, 0x00009502,
- 0x00000502, 0x0000f00b, 0xc2906b44, 0x00009202, 0x9b400a0d, 0x0000e090,
- 0x22400000, 0x00008990, 0x83400a0d, 0x0000e090, 0x22800000, 0x00008990,
- 0x000004ae, 0x00007008, 0x12007f45, 0x0000e080, 0x23800000, 0x00008980,
- 0x2802504a, 0x0000e100, 0x12002048, 0x0000c784, 0x2c002c4c, 0x00009680,
- 0x930588b0, 0x00001000, 0x12825645, 0x00006002, 0x0012308e, 0x00002100,
- 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x23d00002, 0x0000e180,
- 0x28ca0005, 0x00004980, 0x28424849, 0x00006100, 0x0032308f, 0x0000e080,
- 0x12400049, 0x00006084, 0x22c00000, 0x00008980, 0x22100000, 0x00007900,
- 0x00008016, 0x00008980, 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8,
- 0xb03a324c, 0x0000d000, 0x003a2800, 0x00000000, 0xb03a244c, 0x00005000,
- 0x00385800, 0x00000000, 0xb0387e4c, 0x0000d000, 0x00387000, 0x00000000,
- 0xb0786a4c, 0x00005000, 0x00386000, 0x00008000, 0xb07a504c, 0x0000d000,
- 0x003a4800, 0x00000000, 0xe2722e45, 0x00006100, 0x23083804, 0x00004980,
- 0x23400000, 0x00006180, 0x22401c48, 0x0000c081, 0xe3936a6d, 0x0000e100,
- 0xa8b22e45, 0x0000c900, 0xdb681245, 0x00000a0c, 0x04860364, 0x0000f100,
- 0x35207c4c, 0x00002180, 0x00000438, 0x0000e583, 0x8623684e, 0x00002005,
- 0x03000020, 0x0000e1c8, 0x01800000, 0x000049c8, 0x01400000, 0x000061c8,
- 0x01c00000, 0x0000c9c8, 0x00000437, 0x0000f440, 0x83001000, 0x000061c8,
- 0x83c00a0f, 0x0000c080, 0x35207c4c, 0x0000a980, 0x02823800, 0x0000f900,
- 0x0020b6d0, 0x00000980, 0x02c1e000, 0x00007900, 0x003aad78, 0x00000980,
- 0xc3001000, 0x00006181, 0x08001a08, 0x00006106, 0x049a1c63, 0x0000f500,
- 0x82200500, 0x00008022, 0x02401002, 0x00009900, 0x35036c4c, 0x0000a182,
- 0x03c20438, 0x0000e283, 0xb000084e, 0x0000a401, 0x03000020, 0x00006190,
- 0x01800000, 0x0000c990, 0x01400000, 0x0000e190, 0x01c00000, 0x00004990,
- 0x00000439, 0x00007408, 0x83001000, 0x0000e190, 0x9b400a6d, 0x0000c080,
- 0x350b6c4c, 0x0000a982, 0x00000495, 0x0000f400, 0x02835000, 0x0000f900,
- 0x0020b6d0, 0x00000980, 0x02c1e000, 0x00007900, 0x003aad78, 0x00000980,
- 0x0c009c4c, 0x00006806, 0x000003dc, 0x0000f400, 0x0000044c, 0x00001583,
- 0x16c8005b, 0x00001390, 0x9b62644c, 0x00009900, 0xe202526d, 0x0000f902,
- 0x12400000, 0x00008000, 0xffffffff, 0x00007fa7, 0x0007284a, 0x00001502,
- 0x13c2504a, 0x0000e110, 0x13824849, 0x00004910, 0x9b62644c, 0x00001910,
- 0x0000061c, 0x0000f008, 0xe23f2a6d, 0x0000a880, 0xc3400b0d, 0x00006080,
- 0x9b400b0d, 0x00008080, 0x802a226d, 0x00009502, 0xc3400000, 0x00001988,
- 0xffffffff, 0x00007f86, 0x12001b0d, 0x00001880, 0x13407848, 0x0000e002,
- 0x1b40f848, 0x00008784, 0x1280706d, 0x00006004, 0x12000000, 0x00008980,
- 0xd2310c4c, 0x0000f900, 0x00000002, 0x00000080, 0x700040ec, 0x00005680,
- 0x003a40c0, 0x00000010, 0x12100006, 0x00009980, 0x703a68ec, 0x0000d600,
- 0x003a5000, 0x00000000, 0x04181048, 0x00006987, 0x700040ec, 0x00005680,
- 0x003a47c0, 0x00000078, 0x12007f45, 0x0000e080, 0x23800000, 0x00008980,
- 0x2802784f, 0x0000e100, 0x12002048, 0x0000c784, 0x2c002c4c, 0x00009680,
- 0x930588b0, 0x00001000, 0x13c27e45, 0x00006002, 0x0012308e, 0x00002100,
- 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x9b400a0d, 0x00006080,
+ 0x03807189, 0x00009000, 0x743870ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x000002a7, 0x00007400, 0x740000ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x740000ec, 0x00005680, 0x00000000, 0x00008080, 0x02f30002, 0x00007004,
+ 0x03800c0e, 0x00009183, 0x01100000, 0x00007908, 0x00018004, 0x00000980,
+ 0x01300600, 0x00001909, 0x00000268, 0x00007010, 0x02f9024d, 0x00007100,
+ 0x0002006d, 0x0000e502, 0x03806415, 0x00000080, 0xb9187b0f, 0x0000e168,
+ 0x38400c0e, 0x0000c881, 0xffffffff, 0x00007fc7, 0x22020300, 0x0000f904,
+ 0x00000287, 0x0000f460, 0x11c04788, 0x00009880, 0x11c23f89, 0x00009300,
+ 0x00000000, 0x00007080, 0x0f037445, 0x0000e006, 0x0f03740c, 0x00003006,
+ 0x0000040c, 0x00009583, 0x00000001, 0x0000708b, 0x6160140c, 0x0000c488,
+ 0x8e003c0c, 0x0000808f, 0x00c01c0c, 0x00004588, 0x00c0440c, 0x00000095,
+ 0x4142056e, 0x00001283, 0x00000001, 0x0000708b, 0x00001c0c, 0x00009583,
+ 0x00000311, 0x00007013, 0x4140456e, 0x00001283, 0x00000001, 0x0000708b,
+ 0x0000440c, 0x00001583, 0x00000315, 0x0000f013, 0x41400d6f, 0x00009283,
+ 0x00000001, 0x0000708b, 0x13800000, 0x00006180, 0x5000006e, 0x00006405,
+ 0x13b22c13, 0x00000439, 0x13400000, 0x00006180, 0xc400a84e, 0x0000e001,
+ 0x13000000, 0x00009980, 0x78602c45, 0x0000c388, 0x00002c45, 0x000000b8,
+ 0x12601445, 0x00004588, 0x0a601c45, 0x0000808a, 0x76003c45, 0x0000c988,
+ 0x8a004445, 0x0000808f, 0x11430713, 0x0000e081, 0x2402704e, 0x00000900,
+ 0x247a674d, 0x00008908, 0x2c002c45, 0x00009680, 0x924588b0, 0x00001000,
+ 0xb0022249, 0x0000f902, 0x03c00000, 0x00000000, 0xb0007449, 0x00007902,
+ 0x02800000, 0x00000000, 0xb0006e49, 0x0000f902, 0x03000000, 0x00000000,
+ 0xb0424049, 0x0000f902, 0x11c00000, 0x00000000, 0xc0000744, 0x00006583,
+ 0x24c30060, 0x00000900, 0xb0426249, 0x0000f902, 0x12800000, 0x00008000,
+ 0x253b1761, 0x00008914, 0x25bb2763, 0x0000091c, 0x263b3765, 0x00008924,
+ 0x26bb4767, 0x0000892c, 0x0000033e, 0x00007408, 0x273b5769, 0x00008934,
+ 0x27bb676b, 0x0000093c, 0x0122480a, 0x00002000, 0xffffffff, 0x00007fa7,
+ 0x12524a4c, 0x00009100, 0x00107849, 0x00001502, 0x00000401, 0x0000700b,
+ 0xd152630e, 0x00009202, 0x92400a4c, 0x0000e090, 0x22400000, 0x00008990,
+ 0x93000a4c, 0x0000e090, 0x22800000, 0x00008990, 0x0000036a, 0x00007008,
+ 0x11807f0f, 0x0000e080, 0x23800000, 0x00008980, 0x28024048, 0x0000e100,
+ 0x11802046, 0x0000c784, 0x2c002c45, 0x00009680, 0x914588b0, 0x00001000,
+ 0x1202460f, 0x0000e002, 0x0012208e, 0x0000a100, 0x28800000, 0x00007900,
+ 0x00207fc0, 0x00008980, 0x23d00002, 0x0000e180, 0x28ca0005, 0x00004980,
+ 0x28423847, 0x00006100, 0x0032208f, 0x00006080, 0x11c00047, 0x00006084,
+ 0x22c00000, 0x00008980, 0x22100000, 0x00007900, 0x00008016, 0x00008980,
+ 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8, 0xb03a2245, 0x00005000,
+ 0x00387800, 0x00008000, 0xb0387445, 0x0000d000, 0x00385000, 0x00008000,
+ 0xb0386e45, 0x00005000, 0x00386000, 0x00008000, 0xb07a6245, 0x00005000,
+ 0x003a5000, 0x00000000, 0xb07a4045, 0x00005000, 0x003a3800, 0x00008000,
+ 0xe2707e0f, 0x00006100, 0x23083804, 0x00004980, 0x23400000, 0x00006180,
+ 0x22401c46, 0x00004081, 0x00000001, 0x00007480, 0xe3924a49, 0x0000e100,
+ 0xa8b07e0f, 0x0000c900, 0xe8d81302, 0x00009900, 0x92622c45, 0x00009900,
+ 0xe2023a49, 0x00007902, 0x11800000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x00072847, 0x00009502, 0x13c23847, 0x0000e110, 0x13823046, 0x00004910,
+ 0x12000000, 0x0000e190, 0x92622c45, 0x00004910, 0x000003cb, 0x0000f008,
+ 0xe23f2a49, 0x0000a880, 0xd3000b4c, 0x00006080, 0x92400b4c, 0x00008080,
+ 0x80287249, 0x00001502, 0xd3000000, 0x00001988, 0xd2310c45, 0x0000f900,
+ 0x00000002, 0x00000080, 0x11801b4c, 0x00009880, 0x11c06846, 0x0000e002,
+ 0x1240f846, 0x00000784, 0x700040ec, 0x00005680, 0x003a40c0, 0x00000010,
+ 0x12100006, 0x0000e180, 0x11806049, 0x00004004, 0x703a38ec, 0x0000d600,
+ 0x003a3000, 0x00000000, 0x04181048, 0x00006987, 0x700040ec, 0x00005680,
+ 0x003a47c0, 0x00000078, 0x11807f0f, 0x0000e080, 0x23800000, 0x00008980,
+ 0x2802784f, 0x0000e100, 0x11802046, 0x0000c784, 0x2c002c45, 0x00009680,
+ 0x914588b0, 0x00001000, 0x13c27e0f, 0x0000e002, 0x0012208e, 0x0000a100,
+ 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x92400a4c, 0x00006080,
0x22400000, 0x00000980, 0x23d00002, 0x0000e180, 0x28ca0005, 0x00004980,
- 0x2842704e, 0x00006100, 0x83400a0d, 0x0000c080, 0x1380004e, 0x00006084,
- 0x0032308f, 0x00002080, 0x22100000, 0x00007900, 0x00008016, 0x00008980,
- 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8, 0xb03a324c, 0x0000d000,
- 0x003a2800, 0x00000000, 0xb03a244c, 0x00005000, 0x00385800, 0x00000000,
- 0xb0387e4c, 0x0000d000, 0x00387000, 0x00000000, 0xb0786a4c, 0x00005000,
- 0x00386000, 0x00008000, 0xb07a784c, 0x0000d000, 0x003a7000, 0x00008000,
+ 0x2842704e, 0x00006100, 0x93000a4c, 0x0000c080, 0x1380004e, 0x00006084,
+ 0x0032208f, 0x0000a080, 0x22100000, 0x00007900, 0x00008016, 0x00008980,
+ 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8, 0xb03a2245, 0x00005000,
+ 0x00387800, 0x00008000, 0xb0387445, 0x0000d000, 0x00385000, 0x00008000,
+ 0xb0386e45, 0x00005000, 0x00386000, 0x00008000, 0xb07a6245, 0x00005000,
+ 0x003a5000, 0x00000000, 0xb07a7845, 0x0000d000, 0x003a7000, 0x00008000,
0x22800000, 0x000088ec, 0x23083804, 0x00006180, 0x23400000, 0x00004980,
- 0xa8b22e45, 0x0000e100, 0xe3936a6d, 0x0000c900, 0x00000485, 0x00007400,
- 0xe2722e45, 0x00006100, 0x22401c48, 0x0000c081, 0xdb681245, 0x00000a0c,
- 0x04f80302, 0x00007204, 0x03009000, 0x0000f900, 0x00004600, 0x00000980,
- 0x0002584a, 0x00006502, 0x14030060, 0x00000900, 0x147b1761, 0x00000508,
- 0x14fb2763, 0x00000510, 0x157b3765, 0x00000518, 0x0000050e, 0x00007408,
- 0x15fb4767, 0x00000520, 0x16bb4f6a, 0x00000524, 0x05020364, 0x0000f300,
- 0x42400800, 0x00009981, 0x05030364, 0x0000f100, 0x143b0f60, 0x00000504,
- 0x14bb1f62, 0x0000050c, 0x153b2f64, 0x00000514, 0x15bb3f66, 0x0000051c,
- 0x163b4f68, 0x00000524, 0x0002584a, 0x00006502, 0x1683506a, 0x00000900,
- 0x0000345b, 0x00001583, 0xffffffff, 0x00007f86, 0x0000050e, 0x0000f008,
- 0x00000500, 0x00007010, 0x05100364, 0x0000f300, 0x82400800, 0x00009981,
- 0x05130302, 0x0000f204, 0x03009000, 0x0000f900, 0x00004a00, 0x00000980,
- 0x93001ee3, 0x00001880, 0x83771a4c, 0x00009100, 0x93002a0d, 0x0000e080,
- 0x9b40220d, 0x00000080, 0x3500646d, 0x00007902, 0x02c00000, 0x00000100,
- 0xffffffff, 0x00007fa7, 0x0300080c, 0x00001082, 0x02c0000b, 0x00009084,
- 0x3538646d, 0x00005100, 0x00385800, 0x00000000, 0x1b41ff60, 0x00001281,
- 0x00002c6d, 0x00001583, 0xc1c1ff60, 0x00009283, 0xffffffff, 0x00007f86,
- 0x000005a0, 0x00007008, 0x00000596, 0x00007010, 0x35236e4c, 0x0000a100,
- 0x02c10438, 0x00009283, 0x03000020, 0x00006190, 0x01800000, 0x0000c990,
- 0x01400000, 0x0000e190, 0x01c00000, 0x00004990, 0x00000419, 0x0000f408,
- 0x83001000, 0x0000e190, 0x9b400a6d, 0x0000c080, 0x35236e4c, 0x00002900,
- 0x00000495, 0x0000f400, 0x02bb2000, 0x0000f900, 0x0020b6ca, 0x00008980,
- 0x02dbc800, 0x0000f900, 0x0009e7ea, 0x00000980, 0x4140856e, 0x00001283,
- 0x35386439, 0x00002188, 0x35385e39, 0x00002188, 0x0537025e, 0x0000700c,
- 0xc0c06800, 0x0000e180, 0x02000001, 0x0000e586, 0x00100001, 0x0000ed05,
- 0xc0000001, 0x00006c01, 0x003cf800, 0x00007900, 0x003ffffe, 0x00008280,
- 0x80401405, 0x00006081, 0x00000005, 0x0000a704, 0x0027f800, 0x00007900,
- 0x003ffffe, 0x00008280, 0xc0007800, 0x0000e181, 0xc0000005, 0x00006407,
- 0xc1c00000, 0x0000e180, 0x81401607, 0x00004081, 0x009006ec, 0x00005f80,
- 0x00905100, 0x000006c4, 0x054a0302, 0x0000f204, 0x03009000, 0x0000f900,
- 0x00004200, 0x00008980, 0x02c00000, 0x0000e180, 0x0843760a, 0x0000e000,
- 0x05500302, 0x00007404, 0x0a03760b, 0x00006084, 0x0c03740b, 0x00003080,
- 0x0300580b, 0x00009900, 0x00010c6d, 0x00001583, 0x000005cd, 0x0000f013,
- 0x0000045b, 0x00001583, 0x13028050, 0x00009910, 0x00000559, 0x0000f011,
- 0x02c00c56, 0x00001283, 0x13025851, 0x00006108, 0x13028851, 0x00000910,
- 0xffffffff, 0x00007f86, 0x8320004c, 0x0000448a, 0xba001660, 0x0000018a,
- 0xaba35f4c, 0x0000c912, 0x32002660, 0x00008188, 0x1ac2604c, 0x00006100,
- 0xa000085b, 0x0000e400, 0xffffffff, 0x00007f86, 0x00000419, 0x0000f000,
- 0x93001a0b, 0x00001080, 0x3500644c, 0x00007902, 0x02c00000, 0x00000100,
- 0xffffffff, 0x00007fa7, 0x0300080c, 0x00001082, 0x41406545, 0x00006283,
- 0x02c0000b, 0x00000084, 0x3538644c, 0x00005100, 0x00385800, 0x00000000,
- 0x42800800, 0x00006191, 0x10003080, 0x0000e414, 0x0000059d, 0x0000f008,
- 0x0003504b, 0x0000e502, 0x001c0881, 0x00002586, 0x00003883, 0x0000e106,
- 0x00080881, 0x00003505, 0x35387439, 0x0000a100, 0x353a4639, 0x00002180,
- 0xc0003883, 0x00006006, 0x80000885, 0x0000b402, 0x00000678, 0x0000f410,
- 0xe0001000, 0x0000e181, 0xc0000081, 0x00006407, 0x21f83765, 0x00000808,
- 0xcea00161, 0x0000c490, 0x06072f65, 0x0000010d, 0xd0027f69, 0x00004410,
- 0x0c00006b, 0x0000018d, 0x9f40886b, 0x0000781b, 0x00000001, 0x00000080,
- 0x03000000, 0x000080ec, 0x83132264, 0x00006100, 0x1303506b, 0x0000c000,
- 0x42c3586b, 0x0000e100, 0x34c2a80c, 0x00006007, 0xc32ab556, 0x00001901,
- 0xffffffff, 0x00007f86, 0xce428f4c, 0x0000441a, 0x14000e39, 0x0000018b,
- 0xcde29f62, 0x00004910, 0xde02a763, 0x00008114, 0x12c3506b, 0x00001000,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x058e01d5, 0x00007004,
- 0x00000419, 0x00007400, 0x001100ec, 0x0000d780, 0x00006000, 0x00008080,
- 0x81c00e07, 0x0000e181, 0x01400c05, 0x00008181, 0x05960302, 0x00007204,
- 0x03009000, 0x0000f900, 0x00004740, 0x00000980, 0x35236e4c, 0x00002101,
- 0xffffffff, 0x00007fa7, 0x1b400c6d, 0x00009081, 0x35336e4c, 0x00002901,
- 0x00000419, 0x00007400, 0x0a03046d, 0x0000e882, 0x351b6e4c, 0x00002901,
- 0x05a00302, 0x00007204, 0x03009000, 0x0000f900, 0x00004a40, 0x00008980,
- 0x9300120d, 0x00009080, 0x3500644c, 0x00007902, 0x02c00000, 0x00000100,
- 0xffffffff, 0x00007fa7, 0x0300080c, 0x00001082, 0x00029069, 0x00006502,
- 0x02c0000b, 0x00000084, 0x3538644c, 0x00005100, 0x00385800, 0x00000000,
- 0x81400e39, 0x00009283, 0xffffffff, 0x00007f86, 0x00000616, 0x0000f010,
- 0x00000610, 0x0000f010, 0x00072864, 0x00001502, 0x14800869, 0x00006090,
- 0x130b0961, 0x00000910, 0x02024161, 0x00006010, 0x1b424161, 0x00000010,
- 0x0000060d, 0x0000f008, 0x0002486d, 0x00001502, 0x02cb0851, 0x00006110,
- 0x5000006e, 0x00002415, 0x144b0851, 0x00009110, 0x00000608, 0x0000f008,
- 0x0000000b, 0x00001582, 0x80000660, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00000604, 0x0000f010, 0x00000601, 0x0000f040, 0x02c60445, 0x0000e283,
- 0x13036849, 0x00000100, 0x35387439, 0x0000a100, 0x353a4639, 0x00002180,
- 0x00000419, 0x0000f408, 0x14800000, 0x0000e180, 0x3000085b, 0x0000e409,
- 0xc2400800, 0x0000e189, 0x1440884c, 0x0000cc00, 0x05ca01d5, 0x0000f404,
- 0x02c00000, 0x0000e180, 0x030000a0, 0x00004980, 0x83132a65, 0x00001900,
- 0x00000419, 0x00007400, 0x82800c01, 0x000080ea, 0x01400c05, 0x00001181,
- 0x0001146d, 0x00001583, 0x0001246d, 0x00009593, 0x000005f3, 0x0000700b,
- 0x0001046d, 0x00009583, 0x0001346d, 0x00009583, 0xffffffff, 0x00007f86,
- 0x000005e3, 0x0000f008, 0x00000419, 0x00007010, 0x1b4b0961, 0x00001900,
- 0x0000006d, 0x00001582, 0x03009000, 0x00007910, 0x00004980, 0x00008980,
- 0x00000419, 0x0000f009, 0x05db0302, 0x0000f004, 0x80000660, 0x00009583,
- 0x0000006d, 0x00001582, 0xffffffff, 0x00007f86, 0x00000418, 0x00007048,
- 0x00000418, 0x0000f010, 0x05e30302, 0x0000f204, 0x03009000, 0x0000f900,
- 0x000048c0, 0x00008980, 0x02c10438, 0x00006283, 0x93002a0b, 0x00008080,
- 0x35236c4c, 0x00002100, 0xffffffff, 0x00007f86, 0x000005f8, 0x00007413,
- 0x9b400a6d, 0x00009080, 0x35236c4c, 0x0000a900, 0x130b0961, 0x00001900,
- 0x0000004c, 0x00001582, 0x00026050, 0x00009502, 0xffffffff, 0x00007f86,
- 0x00000419, 0x00007008, 0x00000419, 0x00007020, 0x05f30302, 0x00007204,
- 0x03009000, 0x0000f900, 0x000049c0, 0x00000980, 0x1301df60, 0x00009281,
- 0xbaa1144c, 0x0000c488, 0xc601046d, 0x0000018b, 0x7a81246d, 0x00007893,
- 0xc8000000, 0x00008280, 0x03000020, 0x0000e180, 0x01800000, 0x00004980,
- 0x028e5800, 0x0000f900, 0x0020b6d2, 0x00008980, 0x02cdc000, 0x0000f900,
- 0x00214516, 0x00008980, 0x00000495, 0x0000f400, 0x01400000, 0x000080dc,
- 0x83001000, 0x00001980, 0x06040302, 0x0000f204, 0x03009000, 0x0000f900,
- 0x000048c0, 0x00008980, 0x00000419, 0x00007400, 0x80000660, 0x00009583,
- 0x16d0005b, 0x000063c8, 0x5000086e, 0x0000244d, 0x80000660, 0x00009583,
- 0x03009000, 0x00007940, 0x000048c0, 0x00008980, 0x00000419, 0x00007049,
- 0x060d0302, 0x00007004, 0x06100302, 0x0000f204, 0x03009000, 0x0000f900,
- 0x00004680, 0x00008980, 0x1b428051, 0x00001100, 0x0003686a, 0x00009502,
- 0x03009000, 0x00007910, 0x00004740, 0x00000980, 0x000005ad, 0x00007009,
- 0x06160302, 0x00007004, 0x06190302, 0x0000f204, 0x03009000, 0x0000f900,
- 0x00004600, 0x00000980, 0x061c0302, 0x0000f204, 0x03009000, 0x0000f900,
- 0x00004640, 0x00008980, 0x12800000, 0x0000e180, 0x04106848, 0x00006187,
- 0x82371848, 0x00006086, 0x0018684a, 0x00003186, 0x2a000000, 0x00007900,
- 0x00008080, 0x00008980, 0x12010448, 0x00006081, 0x08001aaa, 0x00002106,
- 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
- 0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
- 0xaab81400, 0x00008a2c, 0x062e1c90, 0x00007500, 0x2bc0874a, 0x00000aa1,
- 0x2b824048, 0x00001900, 0x12001b0d, 0x00001880, 0xec0002ec, 0x00005080,
- 0x00000000, 0x00008080, 0x13407848, 0x0000e002, 0x1b40f848, 0x00008784,
- 0x1280706d, 0x00006004, 0x12100000, 0x00000980, 0x12400000, 0x00007900,
- 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
- 0x00760849, 0x00006586, 0x00761048, 0x00003587, 0x700040ec, 0x00005680,
- 0x003a40e0, 0x00008010, 0x703a48ec, 0x00005600, 0x00000000, 0x00008080,
- 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x12100006, 0x00009980,
- 0x703a68ec, 0x0000d600, 0x003a5000, 0x00000000, 0x04181048, 0x00006987,
- 0x700040ec, 0x00005680, 0x003a47c0, 0x00000078, 0xec024aec, 0x00007902,
- 0x12000000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00000049, 0x00001582,
- 0x00000655, 0x00007013, 0xec024aec, 0x00007902, 0x12000000, 0x00000000,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x95400049, 0x00007893,
- 0x60000000, 0x00000382, 0x06550302, 0x00007204, 0x03009000, 0x0000f900,
- 0x00004900, 0x00000980, 0x9b62644c, 0x00009900, 0xec024cec, 0x00007902,
- 0x12000000, 0x00000000, 0xe23f2a6d, 0x0000a880, 0xc3400b0d, 0x00006080,
- 0x9b400b0d, 0x00008080, 0x802a226d, 0x00009502, 0xc3400000, 0x00006188,
- 0x13824048, 0x0000c900, 0x13c24849, 0x00001900, 0x12001b0d, 0x00001880,
- 0x13407848, 0x0000e002, 0x1b40f848, 0x00008784, 0x1280706d, 0x00006004,
- 0x12000000, 0x00008980, 0xd2310c4c, 0x0000f900, 0x00000002, 0x00000080,
- 0x700040ec, 0x00005680, 0x003a40c0, 0x00000010, 0x12100006, 0x00009980,
- 0x703a68ec, 0x0000d600, 0x003a5000, 0x00000000, 0x000004cc, 0x0000f400,
+ 0xa8b07e0f, 0x0000e100, 0xe3924a49, 0x0000c900, 0x00000001, 0x00007480,
+ 0xe2707e0f, 0x00006100, 0x22401c46, 0x00004081, 0xe8d81302, 0x00009900,
+ 0x4140156f, 0x00006283, 0x0c009c49, 0x00002006, 0x1300500a, 0x0000e110,
+ 0x08003045, 0x00006216, 0x935aeb5d, 0x0000e108, 0x93522a45, 0x0000c910,
+ 0x00000449, 0x00001583, 0xc1c10703, 0x00001283, 0xffffffff, 0x00007f86,
+ 0x000003c3, 0x00007008, 0x000003c3, 0x00007008, 0x91401ee3, 0x00006080,
+ 0xb000084e, 0x00006401, 0x92771a45, 0x00009100, 0x91402a49, 0x00001080,
+ 0x35024c45, 0x0000a182, 0xffffffff, 0x00007fa7, 0x92400a49, 0x00009080,
+ 0x350a4c45, 0x0000a982, 0x00000321, 0x00007200, 0x01c3784d, 0x0000e801,
+ 0x00000321, 0x00007200, 0x01c3784d, 0x0000e801, 0x4142056e, 0x00001283,
+ 0x00000001, 0x0000708b, 0xe8c01c0c, 0x00004588, 0x74c0440c, 0x00007495,
+ 0x11c00000, 0x00006180, 0x04126046, 0x0000e187, 0x82371846, 0x0000e086,
+ 0x001a6047, 0x0000b186, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
+ 0x11830713, 0x0000e081, 0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900,
+ 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980,
+ 0x2a400000, 0x00006180, 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c,
+ 0x03dd1b44, 0x0000f500, 0x2bc08747, 0x00008aa1, 0x2b823046, 0x00001900,
+ 0x12100000, 0x0000e180, 0x11801b4c, 0x0000c880, 0xec0002ec, 0x00005080,
+ 0x00000000, 0x00008080, 0x1240f846, 0x00006784, 0x00761048, 0x0000a587,
+ 0x11c06846, 0x00001002, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
+ 0x11806049, 0x00001004, 0x12400000, 0x00007900, 0x00003fc0, 0x00008980,
+ 0x700040ec, 0x00005680, 0x003a40e0, 0x00008010, 0x12100006, 0x0000e180,
+ 0x00760849, 0x00006586, 0x703a48ec, 0x00005600, 0x00000000, 0x00008080,
+ 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x04181048, 0x00006987,
+ 0x703a38ec, 0x0000d600, 0x003a3000, 0x00000000, 0x700040ec, 0x00005680,
+ 0x003a47c0, 0x00000078, 0xec023aec, 0x0000f902, 0x11800000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x00000047, 0x00009582, 0x00000402, 0x00007013,
+ 0xec023aec, 0x0000f902, 0x11800000, 0x00008000, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0x00800047, 0x0000f893, 0xd8000000, 0x0000018f,
+ 0x00000001, 0x0000f080, 0x12000000, 0x00006180, 0x92622c45, 0x0000c900,
+ 0xec023cec, 0x0000f902, 0x11800000, 0x00008000, 0xe23f2a49, 0x0000a880,
+ 0xd3000b4c, 0x00006080, 0x92400b4c, 0x00008080, 0x80287249, 0x00001502,
+ 0xd3000000, 0x00006188, 0x13823046, 0x0000c900, 0xd2310c45, 0x0000f900,
+ 0x00000002, 0x00000080, 0x13c23847, 0x00006100, 0x11801b4c, 0x0000c880,
+ 0x11c06846, 0x0000e002, 0x1240f846, 0x00000784, 0x700040ec, 0x00005680,
+ 0x003a40c0, 0x00000010, 0x12100006, 0x0000e180, 0x11806049, 0x00004004,
+ 0x703a38ec, 0x0000d600, 0x003a3000, 0x00000000, 0x00000387, 0x00007400,
0x04181048, 0x00006987, 0x700040ec, 0x00005680, 0x003a47c0, 0x00000078,
- 0x06720302, 0x00007204, 0x03009000, 0x0000f900, 0x00004880, 0x00000980,
- 0x06750302, 0x0000f204, 0x03009000, 0x0000f900, 0x00004840, 0x00000980,
- 0x06780302, 0x00007204, 0x03009000, 0x0000f900, 0x000045c0, 0x00000980,
- 0x02c00c56, 0x00001283, 0x00000689, 0x0000f013, 0x067d0302, 0x00007204,
- 0x03009000, 0x0000f900, 0x00004700, 0x00008980, 0x06800302, 0x0000f204,
- 0x03009000, 0x0000f900, 0x00004800, 0x00008980, 0x06830302, 0x0000f204,
- 0x03009000, 0x0000f900, 0x00004780, 0x00000980, 0x06860302, 0x0000f204,
- 0x03009000, 0x0000f900, 0x000046c0, 0x00000980, 0x06890302, 0x0000f204,
- 0x03009000, 0x0000f900, 0x000047c0, 0x00008980, 0x0000006a, 0x00009582,
- 0x15bff056, 0x00007908, 0x003ffffe, 0x00008280, 0x0000067a, 0x00007011,
- 0x00000579, 0x00007000, 0x06922136, 0x00007500, 0x03d01006, 0x00006180,
- 0x03400000, 0x0000c980, 0x03901202, 0x00001900, 0x0100fe6e, 0x00006281,
- 0x02400000, 0x00000981, 0x00003c04, 0x00006583, 0x01401000, 0x00008981,
- 0x4101056e, 0x00006283, 0x1003686d, 0x00000908, 0x41008515, 0x00009283,
- 0xffffffff, 0x00007f86, 0x000006cb, 0x0000f010, 0x0000069f, 0x00007008,
- 0x0c037404, 0x0000e880, 0x00004c04, 0x00001583, 0x000006a9, 0x0000703b,
- 0x0a037404, 0x0000e084, 0x00109807, 0x0000b186, 0x02800020, 0x0000e180,
- 0x02202404, 0x00004900, 0xc1e9c538, 0x00006100, 0x0c03740a, 0x0000e080,
- 0x83c00602, 0x000000ac, 0x06a901c3, 0x00007404, 0x03785708, 0x00008038,
- 0x03003807, 0x00009900, 0x0c037407, 0x0000e880, 0x00005407, 0x00001583,
- 0x0100fe6e, 0x000012b9, 0x000006da, 0x0000f051, 0x00006404, 0x00001583,
- 0x03f8100c, 0x0000e190, 0xc0000815, 0x00006410, 0x03603c07, 0x0000e110,
- 0x03901202, 0x0000c910, 0x000006da, 0x0000f008, 0x06b42136, 0x00007100,
- 0x01001438, 0x00009283, 0x0100fe6e, 0x00001291, 0x000006b9, 0x00007009,
- 0x00005c04, 0x00009583, 0x000006c7, 0x0000f00b, 0x01002438, 0x00009283,
- 0x0100fe6e, 0x00001291, 0x000006be, 0x0000f009, 0x00006404, 0x00001583,
- 0x000006c7, 0x0000f00b, 0x01000c38, 0x00009283, 0x0c037404, 0x00006890,
- 0x000006da, 0x00007009, 0x00005404, 0x00001583, 0x0100fe6e, 0x000012b9,
- 0x01005c04, 0x000091b9, 0x000006da, 0x00007050, 0x00000c04, 0x00009583,
- 0x000006da, 0x00007033, 0x06cb024c, 0x00007500, 0x01000000, 0x00009980,
- 0x01300600, 0x0000e101, 0x0c037504, 0x0000e080, 0x23400000, 0x00006180,
- 0x01000ee3, 0x0000c881, 0x23800000, 0x00006180, 0x0803748d, 0x0000e006,
- 0x23c00000, 0x0000e180, 0x23001002, 0x00004900, 0x29c00000, 0x00000ad0,
- 0x29400000, 0x00000ad8, 0x3b800702, 0x00008e9c, 0x39a08000, 0x000004e1,
- 0x06da2357, 0x00007404, 0x1bc00800, 0x00006181, 0xdbd712e2, 0x0000c900,
- 0x3b44688d, 0x0000e100, 0x53000c04, 0x00004081, 0x06db01a1, 0x00007100,
- 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x41408515, 0x0000e283, 0x42400000, 0x00008981,
- 0xc2600000, 0x000080e7, 0x02000000, 0x000080eb, 0x82800000, 0x000000e6,
- 0x000007be, 0x00007410, 0x81400802, 0x000000df, 0x22000000, 0x000088e4,
- 0x8140fe6e, 0x0000e283, 0x0300fe6e, 0x00008281, 0x0000072a, 0x00007013,
- 0x4100856e, 0x00009283, 0x35386439, 0x00002188, 0x35385e39, 0x00002188,
- 0x06ee025e, 0x0000f00c, 0x4104056e, 0x00009283, 0x0187066e, 0x00006289,
- 0x1107846e, 0x00000289, 0x0000071c, 0x0000f011, 0x0107846e, 0x00001283,
- 0x81001ee3, 0x00009890, 0x83371a04, 0x00009110, 0x00000723, 0x00007008,
- 0x0101ff60, 0x00001281, 0x00001404, 0x00009583, 0x00020406, 0x00001583,
- 0xffffffff, 0x00007f86, 0x0000071d, 0x0000f008, 0x000007a7, 0x00007008,
- 0x0f037404, 0x0000e006, 0x0f03740b, 0x0000b006, 0xe3800404, 0x0000c192,
- 0x0007066e, 0x00000088, 0x0302056e, 0x0000c58e, 0x01810703, 0x00008389,
- 0x00001404, 0x0000f890, 0x00000000, 0x00000000, 0x00003c04, 0x0000f890,
- 0x00000000, 0x00000050, 0x0002056e, 0x0000788e, 0x00000000, 0x00008010,
- 0x00001c04, 0x00007888, 0x00000000, 0x00000000, 0x0000456e, 0x0000788e,
- 0x00000000, 0x00008010, 0xe8c04404, 0x00004492, 0x8c000d6f, 0x00008196,
- 0xe387066e, 0x0000448e, 0x3002056e, 0x0000818e, 0x01010703, 0x0000c78e,
- 0x0227066e, 0x0000008e, 0x00c2056e, 0x0000c58e, 0x00610703, 0x00008288,
- 0xe387066e, 0x0000448e, 0x3002056e, 0x0000818e, 0xcc810703, 0x00007897,
- 0x00000001, 0x00000080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x071c00bc, 0x0000f100, 0x071d01a1, 0x0000f100,
- 0x3580200c, 0x00002182, 0xffffffff, 0x00007fa7, 0x81000a04, 0x00009080,
- 0x3588200c, 0x00002982, 0xbf020406, 0x0000f893, 0x38000000, 0x0000838d,
- 0x00020406, 0x00001583, 0x81001ee3, 0x00009888, 0x83371a04, 0x00009108,
- 0x0000071c, 0x00007010, 0x0101ff60, 0x00001281, 0xfea01404, 0x00004589,
- 0x07e20406, 0x0000fd8a, 0x00003c0c, 0x00001583, 0x02c00000, 0x00006190,
- 0x0843760a, 0x00006010, 0x0a03760b, 0x0000e094, 0x0c03740b, 0x0000b090,
- 0x000007dc, 0x00007008, 0x07320302, 0x00007204, 0x0300580b, 0x00009900,
- 0x0c009c44, 0x0000e806, 0x00000444, 0x00009583, 0x02804000, 0x00009991,
- 0x00000718, 0x00007009, 0x01020438, 0x00009283, 0x03000020, 0x00006190,
+ 0xc0000f0d, 0x00009583, 0x00000446, 0x0000700b, 0x80024e00, 0x00001583,
+ 0x00000483, 0x00007013, 0x04251fea, 0x0000f500, 0x1270100c, 0x00006180,
+ 0x0800300e, 0x0000e206, 0xd2706e0d, 0x00006100, 0x03d01202, 0x0000c900,
+ 0x00001438, 0x00007894, 0x00000000, 0x00000000, 0x0d005c0d, 0x0000788b,
+ 0x00000001, 0x00000010, 0x00002438, 0x00007894, 0x00000000, 0x00000000,
+ 0x0d00640d, 0x0000f88b, 0x00000001, 0x00000010, 0x00400c38, 0x0000c595,
+ 0x02c0040d, 0x00008096, 0x0000640d, 0x00001583, 0x0000540d, 0x00009593,
+ 0x00000437, 0x0000f033, 0x00005c0d, 0x00009583, 0x0000045a, 0x0000f00b,
+ 0x0437024d, 0x00007500, 0x41186c00, 0x00000012, 0x81206d0d, 0x00008012,
+ 0x0000040d, 0x00001583, 0x0000045a, 0x0000f013, 0x80025600, 0x00001583,
+ 0x80026e00, 0x00001593, 0x043c0303, 0x0000710b, 0x0287de00, 0x00009281,
+ 0x00024c0a, 0x00001583, 0x02c00000, 0x0000e189, 0x42c00000, 0x00004989,
+ 0x0441349f, 0x00007109, 0x03c7066e, 0x00001281, 0x0002040f, 0x00001583,
+ 0x02c08000, 0x00001989, 0x044500bc, 0x0000f109, 0x044601a4, 0x00007100,
+ 0x3c805cec, 0x0000a180, 0xffffffff, 0x00007fa7, 0x00003c0b, 0x00009583,
+ 0x03000000, 0x000061b0, 0x03a06c0d, 0x0000c931, 0xc3901202, 0x00006130,
+ 0x43b06e0d, 0x00004931, 0x0000041e, 0x00007018, 0x80024e00, 0x00001583,
+ 0x0017280c, 0x0000e196, 0x0800300f, 0x0000b20e, 0xffffffff, 0x00007f86,
+ 0x03c00c0b, 0x0000e081, 0x0010780c, 0x0000a18e, 0x3c807cec, 0x0000a980,
+ 0x83e05c0b, 0x00001900, 0x3c38740f, 0x00005100, 0x00386000, 0x00008000,
+ 0xf9024e00, 0x00004588, 0xfc826e00, 0x0000028e, 0xc0000f0d, 0x00009583,
+ 0x849b7b6f, 0x0000e110, 0xc0000815, 0x00006410, 0x03c00020, 0x00006190,
+ 0x03b06e0d, 0x0000c910, 0x00000467, 0x00007008, 0x03e06c0d, 0x00006101,
+ 0x0a03040b, 0x00006082, 0xc369c538, 0x00006100, 0x83305e0b, 0x00004900,
+ 0x047601c6, 0x00007404, 0x92209e02, 0x00008034, 0xc3205c0b, 0x00009900,
+ 0x02c7de00, 0x0000e281, 0x03c00020, 0x00000980, 0x00024c0b, 0x00006583,
+ 0xc0000815, 0x00002400, 0x0a03040b, 0x00006082, 0x0800300c, 0x0000b20e,
+ 0xc3b0120d, 0x00008422, 0x03e06c0d, 0x00006101, 0x84972ae5, 0x0000c910,
+ 0x8490620c, 0x0000e108, 0xc3205c0b, 0x0000c900, 0x047601c6, 0x00007404,
+ 0xc369c538, 0x00006100, 0x83509a13, 0x0000c900, 0x83305e0b, 0x00001900,
+ 0x80025600, 0x00001583, 0x80026e00, 0x00001593, 0x04790303, 0x0000f10b,
+ 0x0287de00, 0x00009281, 0x00024c0a, 0x00001583, 0x02c00000, 0x0000e189,
+ 0x42c00000, 0x00004989, 0x047e349f, 0x00007109, 0x03c7066e, 0x00001281,
+ 0x0002040f, 0x00001583, 0x02c08000, 0x00001989, 0x048200bc, 0x00007109,
+ 0x046701a4, 0x00007100, 0x80026e00, 0x00009583, 0x00000420, 0x0000700b,
+ 0x04251fea, 0x0000f500, 0x1270100c, 0x00006180, 0x03800000, 0x0000c980,
+ 0xd2706e0d, 0x00006100, 0x03d01202, 0x0000c900, 0x00000425, 0x0000f000,
+ 0x4140856e, 0x0000e283, 0xc2400000, 0x00000981, 0x35386c39, 0x0000a188,
+ 0x35386639, 0x0000a188, 0x82400400, 0x000000e7, 0x82c01400, 0x000080d6,
+ 0xc1c00001, 0x000080e0, 0x0495025f, 0x0000740c, 0x82c00000, 0x000080e6,
+ 0x02800000, 0x00001980, 0x8140fe6e, 0x00001283, 0x0282b857, 0x00001908,
+ 0x0000049a, 0x00007011, 0x04990303, 0x0000f100, 0x049a349f, 0x00007100,
+ 0x03000000, 0x00006180, 0x0843760b, 0x00006000, 0x04a0041c, 0x00007404,
+ 0x0a03760c, 0x0000e084, 0x0c03740c, 0x0000b080, 0x0340600c, 0x00001900,
+ 0x04a41fea, 0x0000f500, 0x12501006, 0x0000e180, 0x03800000, 0x0000c980,
+ 0x03d01202, 0x00009900, 0x0100fe6e, 0x00006281, 0x02400000, 0x00000981,
+ 0x00003c04, 0x00006583, 0x01401000, 0x00008981, 0x4101056e, 0x00006283,
+ 0x1003686d, 0x00000908, 0x41008515, 0x00009283, 0xffffffff, 0x00007f86,
+ 0x000004dd, 0x0000f010, 0x000004b1, 0x0000f008, 0x0c037404, 0x0000e880,
+ 0x00004c04, 0x00001583, 0x000004bb, 0x0000f03b, 0x0a037404, 0x0000e084,
+ 0x00109807, 0x0000b186, 0x02800020, 0x0000e180, 0x02202404, 0x00004900,
+ 0xc1e9c538, 0x00006100, 0x0c03740a, 0x0000e080, 0x92000602, 0x000080b0,
+ 0x04bb01c6, 0x0000f404, 0x03b85708, 0x0000003c, 0x03403807, 0x00001900,
+ 0x0c037407, 0x0000e880, 0x00005407, 0x00001583, 0x0100fe6e, 0x000012b9,
+ 0x000004ec, 0x00007051, 0x00006404, 0x00001583, 0x1278100c, 0x00006190,
+ 0xc0000815, 0x00006410, 0x03a03c07, 0x0000e110, 0x03d01202, 0x00004910,
+ 0x000004ec, 0x00007008, 0x04c61fea, 0x0000f100, 0x01001438, 0x00009283,
+ 0x0100fe6e, 0x00001291, 0x000004cb, 0x0000f009, 0x00005c04, 0x00009583,
+ 0x000004d9, 0x0000700b, 0x01002438, 0x00009283, 0x0100fe6e, 0x00001291,
+ 0x000004d0, 0x0000f009, 0x00006404, 0x00001583, 0x000004d9, 0x0000700b,
+ 0x01000c38, 0x00009283, 0x0c037404, 0x00006890, 0x000004ec, 0x0000f009,
+ 0x00005404, 0x00001583, 0x0100fe6e, 0x000012b9, 0x01005c04, 0x000091b9,
+ 0x000004ec, 0x0000f050, 0x00000c04, 0x00009583, 0x000004ec, 0x0000f033,
+ 0x04dd024d, 0x0000f500, 0x01000000, 0x00009980, 0x01300600, 0x0000e101,
+ 0x0c037504, 0x0000e080, 0x23400000, 0x00006180, 0x01000ee3, 0x0000c881,
+ 0x23800000, 0x00006180, 0x0803748d, 0x0000e006, 0x23c00000, 0x0000e180,
+ 0x23001002, 0x00004900, 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8,
+ 0x3b800702, 0x00008e9c, 0x39a08000, 0x000004e1, 0x04ec220a, 0x0000f404,
+ 0x17c00800, 0x00006181, 0x929712e2, 0x0000c900, 0x3b44688d, 0x0000e100,
+ 0x53000c04, 0x00004081, 0x04ed01a4, 0x0000f100, 0x4140856e, 0x0000e283,
+ 0x42400000, 0x00008981, 0x35386c39, 0x0000a188, 0x35386639, 0x0000a188,
+ 0xc2600000, 0x000080e7, 0x02000000, 0x000000ef, 0x82c00000, 0x000080e6,
+ 0x02801000, 0x000000d6, 0x04f8025f, 0x0000f40c, 0xc1c00001, 0x000008e0,
+ 0x22400000, 0x00009980, 0x41408515, 0x00001283, 0x0340fe6e, 0x00001289,
+ 0x0000054d, 0x0000f011, 0xa220fe6e, 0x00004296, 0xfe04056e, 0x00008191,
+ 0x54803c0d, 0x0000f88b, 0xf8000000, 0x00000288, 0x0107846e, 0x00001283,
+ 0x81c01ee3, 0x0000e090, 0x0107066e, 0x0000c281, 0x83771a07, 0x00001110,
+ 0x00000518, 0x00007008, 0x01c1ff60, 0x00001281, 0x00001407, 0x00009583,
+ 0x00020404, 0x00009583, 0xffffffff, 0x00007f86, 0x00000512, 0x00007008,
+ 0x0000053b, 0x0000f008, 0x050b0303, 0x0000f100, 0x8107066e, 0x00009283,
+ 0x4102056e, 0x00009283, 0xffffffff, 0x00007f86, 0x00000511, 0x00007008,
+ 0x00000525, 0x0000f010, 0x051100bc, 0x0000f100, 0x051201a4, 0x00007100,
+ 0x3580380d, 0x0000a182, 0xffffffff, 0x00007fa7, 0x81c00a07, 0x00009080,
+ 0x3588380d, 0x0000a982, 0x42820404, 0x00007893, 0xd8000000, 0x00000289,
+ 0x00020404, 0x00009583, 0x81c01ee3, 0x00009888, 0x83771a07, 0x00001108,
+ 0x00000511, 0x00007010, 0x01c1ff60, 0x00001281, 0xfea01407, 0x0000c588,
+ 0x81e20404, 0x00007e8e, 0x03000000, 0x00006180, 0x0843760b, 0x00006000,
+ 0x0525041c, 0x00007404, 0x0a03760c, 0x0000e084, 0x0c03740c, 0x0000b080,
+ 0x0340600c, 0x00001900, 0xc1010703, 0x00001283, 0x0c009c0d, 0x0000e816,
+ 0x00000510, 0x00007009, 0x0000040d, 0x00001583, 0x02c04000, 0x00001991,
+ 0x00000510, 0x00007009, 0x01020438, 0x00009283, 0x03000020, 0x00006190,
0x01800000, 0x0000c990, 0x01400000, 0x0000e190, 0x01c00000, 0x00004990,
- 0x00000718, 0x0000f008, 0x02b60000, 0x0000f900, 0x000a33fc, 0x00008980,
+ 0x00000510, 0x0000f008, 0x02b40800, 0x0000f900, 0x000a33fc, 0x00008980,
0x02c1e000, 0x00007900, 0x003aad78, 0x00000980, 0x83001000, 0x00001980,
- 0xc3001000, 0x00006181, 0x08001a08, 0x00006106, 0x07461c63, 0x00007500,
- 0x82200500, 0x00008022, 0x02401002, 0x00009900, 0x00010444, 0x0000e583,
- 0x02000000, 0x00000980, 0x00038444, 0x00006593, 0x82109a13, 0x00000900,
- 0x82205c0b, 0x00006101, 0x5000006e, 0x00006405, 0x01c00000, 0x0000e180,
- 0xc400a808, 0x00006001, 0x0000075b, 0x0000f210, 0x01800000, 0x00006180,
- 0x01c2e05c, 0x0000c908, 0x0182e85d, 0x0000e100, 0x0c009c44, 0x00006006,
- 0x00000444, 0x00009583, 0x0000075b, 0x0000700b, 0xc1010703, 0x00001283,
- 0x3542260c, 0x00002192, 0xb0000808, 0x0000ec11, 0xffffffff, 0x00007f97,
- 0x91000a44, 0x00001090, 0x354a260c, 0x00002992, 0x03030713, 0x00006081,
- 0x24004008, 0x00000900, 0x24783707, 0x00008908, 0x2c002c0c, 0x00001680,
- 0x910588b0, 0x00009000, 0xb0002244, 0x0000f902, 0x12c00000, 0x00000000,
- 0xb0025444, 0x0000f902, 0x02c00000, 0x00008000, 0xb0024e44, 0x00007902,
- 0x12000000, 0x00000000, 0xb0404044, 0x0000f902, 0x01c00000, 0x00008000,
- 0xc0000704, 0x0000e583, 0x24c30060, 0x00000900, 0xb0422a44, 0x00007902,
- 0x03c00000, 0x00000000, 0x253b1761, 0x00008914, 0x25bb2763, 0x0000091c,
- 0x263b3765, 0x00008924, 0x26bb4767, 0x0000892c, 0x00000778, 0x00007408,
- 0x273b5769, 0x00008934, 0x27bb676b, 0x0000093c, 0x0122200b, 0x00002000,
- 0xffffffff, 0x00007fa7, 0x11122245, 0x00009100, 0x00125844, 0x00009502,
- 0x000009b9, 0x0000f00b, 0xc1522b4a, 0x00001202, 0x91000a45, 0x00006090,
- 0x22400000, 0x00008990, 0x91400a45, 0x0000e090, 0x22800000, 0x00008990,
- 0x000007e5, 0x00007008, 0x01807f4b, 0x00006080, 0x23800000, 0x00008980,
- 0x28004008, 0x0000e100, 0x01802006, 0x0000c784, 0x2c002c0c, 0x00001680,
- 0x830588b0, 0x00009000, 0x0200464b, 0x0000e002, 0x0010208e, 0x00002100,
- 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x23d00002, 0x0000e180,
- 0x28ca0005, 0x00004980, 0x28403807, 0x00006100, 0x0030208f, 0x0000e080,
- 0x01c00007, 0x00006084, 0x22c00000, 0x00008980, 0x22100000, 0x00007900,
- 0x00008016, 0x00008980, 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8,
- 0xb038220c, 0x00005000, 0x003a5800, 0x00008000, 0xb03a540c, 0x00005000,
- 0x00385800, 0x00000000, 0xb03a4e0c, 0x0000d000, 0x003a4000, 0x00008000,
- 0xb07a2a0c, 0x0000d000, 0x00387800, 0x00008000, 0xb078400c, 0x00005000,
- 0x00383800, 0x00000000, 0xe2725e4b, 0x00006100, 0x23083804, 0x00004980,
- 0x23400000, 0x00006180, 0x22401c06, 0x0000c081, 0xe3922244, 0x0000e100,
- 0xa8b25e4b, 0x0000c900, 0xd128124b, 0x00000a0c, 0xe387066e, 0x0000448e,
- 0x3002056e, 0x0000818e, 0xc6010703, 0x0000f88f, 0x90000000, 0x00008389,
- 0x0a030404, 0x0000e882, 0x00003404, 0x00001583, 0x00003404, 0x00001583,
- 0x00019404, 0x00009583, 0x000006fc, 0x00007008, 0x0000085f, 0x00007050,
- 0x0000084f, 0x00007008, 0x0001fc04, 0x00001583, 0x00010404, 0x00009583,
- 0xffffffff, 0x00007f86, 0x0000083f, 0x0000f008, 0x0000082f, 0x00007008,
- 0x35a0300c, 0x0000a101, 0x0f03740b, 0x00006806, 0xffffffff, 0x00007f97,
- 0x01800c06, 0x00009081, 0x35b0300c, 0x0000a901, 0x3598200c, 0x00002901,
- 0x0f037404, 0x00006806, 0xe0400404, 0x0000c492, 0x3807066e, 0x0000018e,
- 0xeb82056e, 0x0000458e, 0x75c10703, 0x0000f78b, 0x4140856e, 0x00001283,
- 0x35386439, 0x00002188, 0x35385e39, 0x00002188, 0x07c2025e, 0x0000f00c,
- 0x0307066e, 0x00001281, 0x0002040c, 0x00001583, 0x0f037404, 0x00006016,
- 0x0f037444, 0x0000b016, 0x0000099c, 0x0000f009, 0xf5400404, 0x0000f88b,
- 0x00000001, 0x00008000, 0x00001404, 0x0000f888, 0x00000000, 0x00000000,
- 0x00003c04, 0x0000f888, 0x00000000, 0x00008020, 0xf542056e, 0x0000788f,
- 0x00000001, 0x00000010, 0x00001c04, 0x00007888, 0x00000000, 0x00000000,
- 0xf540456e, 0x0000788f, 0x00000001, 0x00000010, 0x16004404, 0x0000c993,
- 0x60000d6f, 0x00008291, 0x00400000, 0x00007900, 0x00008010, 0x00008980,
- 0x40207002, 0x000000c3, 0x80401405, 0x00006081, 0xc0c06800, 0x00000980,
- 0x008806ec, 0x00005f80, 0x00905100, 0x000006c4, 0x1003686d, 0x00006100,
- 0x00109807, 0x0000e186, 0xc1e9c538, 0x00006100, 0x03d01202, 0x0000c900,
- 0x06ea01c3, 0x0000f404, 0x03803820, 0x0000e180, 0x03400000, 0x0000c980,
- 0x03000707, 0x000000ac, 0x000006ea, 0x00007000, 0x9120640c, 0x00001900,
- 0xe2003a44, 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x00072807, 0x00001502, 0x11c03807, 0x00006110, 0x11803006, 0x0000c910,
- 0x9120640c, 0x00009910, 0x0000087a, 0x00007008, 0xe23f2a44, 0x00002880,
- 0xd1400b45, 0x00006080, 0x91000b45, 0x00000080, 0x802a5244, 0x00009502,
- 0xd1400000, 0x00001988, 0xffffffff, 0x00007f86, 0x01801b45, 0x00001880,
- 0x03424806, 0x0000e002, 0x1100f806, 0x00000784, 0x02024044, 0x00006004,
- 0x01800000, 0x00008980, 0xc1b10c0c, 0x00007900, 0x00000002, 0x00000080,
- 0x700040ec, 0x00005680, 0x003830c0, 0x00000010, 0x01900006, 0x00009980,
- 0x703868ec, 0x00005600, 0x00384000, 0x00000000, 0x04181006, 0x00006987,
- 0x700040ec, 0x00005680, 0x003837c0, 0x00000078, 0x01807f4b, 0x00006080,
- 0x23800000, 0x00008980, 0x28023847, 0x0000e100, 0x01802006, 0x0000c784,
- 0x2c002c0c, 0x00001680, 0x830588b0, 0x00009000, 0x11c23e4b, 0x0000e002,
- 0x0010208e, 0x00002100, 0x28800000, 0x00007900, 0x00207fc0, 0x00008980,
- 0x91000a45, 0x0000e080, 0x22400000, 0x00000980, 0x23d00002, 0x0000e180,
- 0x28ca0005, 0x00004980, 0x28423046, 0x00006100, 0x91400a45, 0x0000c080,
- 0x11800046, 0x00006084, 0x0030208f, 0x00002080, 0x22100000, 0x00007900,
- 0x00008016, 0x00008980, 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8,
- 0xb038220c, 0x00005000, 0x003a5800, 0x00008000, 0xb03a540c, 0x00005000,
- 0x00385800, 0x00000000, 0xb03a4e0c, 0x0000d000, 0x003a4000, 0x00008000,
- 0xb07a2a0c, 0x0000d000, 0x00387800, 0x00008000, 0xb07a380c, 0x0000d000,
- 0x003a3000, 0x00000000, 0x22800000, 0x000088ec, 0x23083804, 0x00006180,
- 0x23400000, 0x00004980, 0xa8b25e4b, 0x0000e100, 0xe3922244, 0x0000c900,
- 0xe2725e4b, 0x00006100, 0x22401c06, 0x0000c081, 0xd128124b, 0x00000a0c,
- 0xe387066e, 0x0000448e, 0x3002056e, 0x0000818e, 0xc6010703, 0x0000f88f,
- 0x90000000, 0x00008389, 0x3560260c, 0x0000a100, 0xffffffff, 0x00007fa7,
- 0x81000a04, 0x00009080, 0x3560260c, 0x00002900, 0x01010438, 0x00009283,
- 0x03000020, 0x00006190, 0x01800000, 0x0000c990, 0x01400000, 0x0000e190,
- 0x01c00000, 0x00004990, 0x000006fc, 0x00007008, 0x02983800, 0x00007900,
- 0x000a33fc, 0x00008980, 0x00000741, 0x0000f400, 0x02e0e000, 0x00007900,
- 0x00339160, 0x00000980, 0x83001000, 0x00001980, 0x3540260c, 0x0000a102,
- 0xffffffff, 0x00007fa7, 0x81000a04, 0x00009080, 0x3548260c, 0x0000a902,
- 0x01008438, 0x00009283, 0x03000020, 0x00006190, 0x01800000, 0x0000c990,
- 0x01400000, 0x0000e190, 0x01c00000, 0x00004990, 0x000006fc, 0x00007008,
- 0x029a2800, 0x00007900, 0x000a33fc, 0x00008980, 0x00000741, 0x0000f400,
- 0x02eff800, 0x00007900, 0x001a1d58, 0x00008980, 0x83001000, 0x00001980,
- 0x35a0200c, 0x00002180, 0xffffffff, 0x00007fa7, 0x81000a04, 0x00009080,
- 0x35a0200c, 0x0000a980, 0x01008438, 0x00009283, 0x03000020, 0x00006190,
+ 0xc3001000, 0x00006181, 0x08001a08, 0x00006106, 0x053b1b17, 0x00007500,
+ 0x82200500, 0x00008022, 0x02401002, 0x00009900, 0x0a030407, 0x0000e882,
+ 0x00003407, 0x00001583, 0x00003407, 0x00001583, 0x00019407, 0x00009583,
+ 0x0000050a, 0x00007008, 0x0000058c, 0x00007050, 0x0000057c, 0x0000f008,
+ 0x0001fc07, 0x00001583, 0x00010407, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x0000056c, 0x00007008, 0x0000055c, 0x00007008, 0x35a0200d, 0x0000a101,
+ 0xffffffff, 0x00007fa7, 0x01000c04, 0x00009081, 0x0000050a, 0x00007400,
+ 0x35b0200d, 0x0000a901, 0x3598380d, 0x0000a901, 0x0347066e, 0x00009281,
+ 0x0002040d, 0x00009583, 0x000005a7, 0x0000f00b, 0x05510303, 0x0000f100,
+ 0x055201a4, 0x0000f100, 0x1003686d, 0x00006100, 0x00109807, 0x0000e186,
+ 0xc1e9c538, 0x00006100, 0x12101202, 0x0000c900, 0x055a01c6, 0x00007404,
+ 0x03c03820, 0x00006180, 0x03800000, 0x0000c980, 0x03400707, 0x000000b0,
+ 0x4444056e, 0x00007897, 0xf8000000, 0x00000287, 0x3560260d, 0x00002100,
+ 0xffffffff, 0x00007fa7, 0x81000a04, 0x00009080, 0x3560260d, 0x0000a900,
+ 0x01010438, 0x00009283, 0x03000020, 0x00006190, 0x01800000, 0x0000c990,
+ 0x01400000, 0x0000e190, 0x01c00000, 0x00004990, 0x0000050a, 0x00007008,
+ 0x02964000, 0x0000f900, 0x000a33fc, 0x00008980, 0x00000536, 0x00007400,
+ 0x02e0e000, 0x00007900, 0x00339160, 0x00000980, 0x83001000, 0x00001980,
+ 0x3540260d, 0x00002102, 0xffffffff, 0x00007fa7, 0x81000a04, 0x00009080,
+ 0x3548260d, 0x00002902, 0x01008438, 0x00009283, 0x03000020, 0x00006190,
0x01800000, 0x0000c990, 0x01400000, 0x0000e190, 0x01c00000, 0x00004990,
- 0x000006fc, 0x00007008, 0x029b2800, 0x0000f900, 0x000a33fc, 0x00008980,
- 0x00000741, 0x0000f400, 0x02d80000, 0x00007900, 0x00156436, 0x00008980,
- 0x83001000, 0x00001980, 0x00000404, 0x00001583, 0x01801c04, 0x00001190,
- 0x0000086a, 0x00007009, 0x00000806, 0x00001582, 0x0f037404, 0x0000e036,
- 0x0f03740b, 0x0000b036, 0x000007b3, 0x00007019, 0xe0400404, 0x0000c492,
- 0x3807066e, 0x0000018e, 0xd602056e, 0x0000458e, 0x6b010703, 0x0000ec8d,
- 0x35a0200c, 0x0000a100, 0xffffffff, 0x00007fa7, 0x81000a04, 0x00009080,
- 0x35a0200c, 0x00002900, 0x01010438, 0x00009283, 0x03000020, 0x00006190,
- 0x01800000, 0x0000c990, 0x01400000, 0x0000e190, 0x01c00000, 0x00004990,
- 0x000006fc, 0x00007008, 0x02993000, 0x00007900, 0x000a33fc, 0x00008980,
- 0x00000741, 0x0000f400, 0x02d2e800, 0x00007900, 0x0025bd88, 0x00000980,
- 0x83001000, 0x00001980, 0x01c00000, 0x0000e180, 0x04122806, 0x00006187,
- 0x82371806, 0x00006086, 0x001a2807, 0x00003186, 0x2a000000, 0x00007900,
- 0x00008080, 0x00008980, 0x01830713, 0x00006081, 0x08001aaa, 0x00002106,
- 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
- 0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
- 0xaab81400, 0x00008a2c, 0x088c1c90, 0x00007500, 0x2bc08707, 0x00000aa1,
- 0x2b803006, 0x00001900, 0x01801b45, 0x00001880, 0xec0002ec, 0x00005080,
- 0x00000000, 0x00008080, 0x03424806, 0x0000e002, 0x1100f806, 0x00000784,
- 0x02024044, 0x00006004, 0x01900000, 0x00000980, 0x01c00000, 0x00007900,
- 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
- 0x00760807, 0x00006586, 0x00761006, 0x00003587, 0x700040ec, 0x00005680,
- 0x003830e0, 0x00008010, 0x703838ec, 0x00005600, 0x00000000, 0x00008080,
- 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x01900006, 0x00009980,
- 0x703868ec, 0x00005600, 0x00384000, 0x00000000, 0x04181006, 0x00006987,
- 0x700040ec, 0x00005680, 0x003837c0, 0x00000078, 0xec003aec, 0x00007902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00000007, 0x00001582,
- 0x0000099f, 0x00007013, 0xec003aec, 0x00007902, 0x01800000, 0x00000000,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x67c00007, 0x0000f892,
- 0x50400000, 0x00008485, 0x0307846e, 0x0000e281, 0x03c00000, 0x00008980,
- 0x0001040c, 0x0000e583, 0x83d09a13, 0x00008900, 0x0003840c, 0x00006593,
- 0x83e22444, 0x00000901, 0x03800000, 0x0000e180, 0xc400a80f, 0x0000e001,
- 0x03400000, 0x0000e180, 0x0382e05c, 0x0000c908, 0x000008ca, 0x0000f010,
- 0x0342e85d, 0x00006100, 0x0c009c44, 0x00006006, 0x00000444, 0x00009583,
- 0xc1010703, 0x00001283, 0xffffffff, 0x00007f86, 0x000008ca, 0x0000f008,
- 0x000008ca, 0x0000f008, 0x83001ee3, 0x0000e080, 0xb000080f, 0x00006401,
- 0x91371a0c, 0x00009100, 0x83002a44, 0x00001080, 0x3502240c, 0x0000a182,
- 0xffffffff, 0x00007fa7, 0x91000a44, 0x00009080, 0x350a240c, 0x0000a982,
- 0x03030713, 0x00006081, 0x2400780f, 0x00000900, 0x24786f0e, 0x00000908,
- 0x2c002c0c, 0x00001680, 0x910588b0, 0x00009000, 0xb0024a44, 0x0000f902,
- 0x12000000, 0x00000000, 0xb0023c44, 0x00007902, 0x02c00000, 0x00008000,
- 0xb0023644, 0x00007902, 0x11400000, 0x00008000, 0xb0403844, 0x0000f902,
- 0x01800000, 0x00000000, 0xc0000749, 0x0000e583, 0x24c30060, 0x00000900,
- 0xb0406a44, 0x00007902, 0x02400000, 0x00000000, 0x253b1761, 0x00008914,
- 0x25bb2763, 0x0000091c, 0x263b3765, 0x00008924, 0x26bb4767, 0x0000892c,
- 0x000008e7, 0x00007408, 0x273b5769, 0x00008934, 0x27bb676b, 0x0000093c,
- 0x0122200b, 0x00002000, 0xffffffff, 0x00007fa7, 0x1112220d, 0x00009100,
- 0x00124044, 0x00009502, 0x0000095f, 0x0000700b, 0xc1106b47, 0x00001202,
- 0x91000a0d, 0x00006090, 0x22400000, 0x00008990, 0x83400a0d, 0x0000e090,
- 0x22800000, 0x00008990, 0x00000919, 0x0000f008, 0x01007f48, 0x0000e080,
- 0x23800000, 0x00008980, 0x28003807, 0x0000e100, 0x01002004, 0x0000c784,
- 0x2c002c0c, 0x00001680, 0x830588b0, 0x00009000, 0x01c03e48, 0x0000e002,
- 0x0012488e, 0x00002100, 0x28800000, 0x00007900, 0x00207fc0, 0x00008980,
- 0x23d00002, 0x0000e180, 0x28ca0005, 0x00004980, 0x28403006, 0x00006100,
- 0x0032488f, 0x0000e080, 0x01800006, 0x00006084, 0x22c00000, 0x00008980,
- 0x22100000, 0x00007900, 0x00008016, 0x00008980, 0x001110ec, 0x00005780,
- 0x00d87a01, 0x000080c8, 0xb03a4a0c, 0x00005000, 0x003a4000, 0x00008000,
- 0xb03a3c0c, 0x0000d000, 0x00385800, 0x00000000, 0xb03a360c, 0x0000d000,
- 0x003a2800, 0x00000000, 0xb0786a0c, 0x0000d000, 0x00384800, 0x00008000,
- 0xb078380c, 0x00005000, 0x00383000, 0x00008000, 0xe2724648, 0x00006100,
- 0x23083804, 0x00004980, 0x23400000, 0x00006180, 0x22401c04, 0x00004081,
- 0xe3922244, 0x0000e100, 0xa8b24648, 0x0000c900, 0xe8d81302, 0x00009900,
- 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x40207002, 0x000000c3,
- 0x80401405, 0x00006081, 0xc0c06800, 0x00000980, 0x008806ec, 0x00005f80,
- 0x00905100, 0x000006c4, 0x9120640c, 0x00001900, 0xe2003244, 0x0000f902,
- 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00072806, 0x00009502,
- 0x00000966, 0x0000700b, 0xd138250c, 0x00000028, 0xe23f2a44, 0x00002880,
- 0x91000b0d, 0x00006080, 0x03c03006, 0x00000900, 0x802a3a44, 0x0000e502,
- 0xc3400b0d, 0x00000080, 0xc3400000, 0x00006188, 0x23800000, 0x00004980,
- 0x2800780f, 0x0000e100, 0x0012488e, 0x0000e100, 0x01001b0d, 0x0000e080,
- 0x22400000, 0x0000c980, 0x1100f804, 0x0000e784, 0x23d00002, 0x00000980,
- 0x02023004, 0x00006002, 0x28ca0005, 0x00008980, 0x01000000, 0x0000e180,
- 0x01c22844, 0x00004004, 0xc1310c0c, 0x0000f900, 0x00000002, 0x00000080,
- 0x700040ec, 0x00005680, 0x003820c0, 0x00008010, 0x01100006, 0x00006180,
- 0x2840500a, 0x00004900, 0x703840ec, 0x00005600, 0x00383800, 0x00000000,
- 0x91000a0d, 0x0000e080, 0x04181004, 0x0000a187, 0x700040ec, 0x00005680,
- 0x003827c0, 0x00008078, 0x01007f48, 0x0000e080, 0x83400a0d, 0x00000080,
- 0x2c002c0c, 0x00001680, 0x830588b0, 0x00009000, 0x01002004, 0x00006784,
- 0x0032488f, 0x00002080, 0x03c07e48, 0x0000e002, 0x22800000, 0x00000980,
- 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x0280000a, 0x00006084,
- 0x22c00000, 0x00008980, 0x22100000, 0x00007900, 0x00008016, 0x00008980,
- 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8, 0xb03a4a0c, 0x00005000,
- 0x003a4000, 0x00008000, 0xb03a3c0c, 0x0000d000, 0x00385800, 0x00000000,
- 0xb03a360c, 0x0000d000, 0x003a2800, 0x00000000, 0xb0786a0c, 0x0000d000,
- 0x00384800, 0x00008000, 0xb078780c, 0x0000d000, 0x00385000, 0x00008000,
- 0x23083804, 0x00006180, 0x23400000, 0x00004980, 0xe2724648, 0x00006100,
- 0xe8d81302, 0x0000c900, 0x00000912, 0x00007400, 0xe3922244, 0x0000e100,
- 0x22401c04, 0x00004081, 0xa8b24648, 0x00009900, 0x00400000, 0x00007900,
- 0x00008010, 0x00008980, 0x40207002, 0x000000c3, 0x80401405, 0x00006081,
- 0xc0c06800, 0x00000980, 0x008806ec, 0x00005f80, 0x00905100, 0x000006c4,
- 0x01800000, 0x00006180, 0x04106804, 0x0000e187, 0x82371804, 0x0000e086,
- 0x00186806, 0x0000b186, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
- 0x01030713, 0x0000e081, 0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900,
- 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980,
- 0x2a400000, 0x00006180, 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c,
- 0x09781c90, 0x00007500, 0x2bc08706, 0x00008aa1, 0x2b802004, 0x00001900,
- 0x01001b0d, 0x00009880, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
- 0x02023004, 0x00006002, 0x1100f804, 0x00008784, 0x01c22844, 0x0000e004,
- 0x01100000, 0x00008980, 0x01800000, 0x0000f900, 0x00003fc0, 0x00008980,
- 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x00760806, 0x0000e586,
- 0x00761004, 0x0000b587, 0x700040ec, 0x00005680, 0x003820e0, 0x00000010,
- 0x703830ec, 0x0000d600, 0x00000000, 0x00008080, 0x700008ec, 0x00005680,
- 0x00000000, 0x00008080, 0x01100006, 0x00001980, 0x703840ec, 0x00005600,
- 0x00383800, 0x00000000, 0x04181004, 0x0000e987, 0x700040ec, 0x00005680,
- 0x003827c0, 0x00008078, 0xec003aec, 0x00007902, 0x01000000, 0x00008000,
- 0xffffffff, 0x00007fa7, 0x00000007, 0x00001582, 0x000009bd, 0x00007013,
- 0xec003aec, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x6f400007, 0x0000f892, 0xb0400000, 0x0000048c,
- 0x099f0302, 0x00007204, 0x03100000, 0x00007900, 0x00004040, 0x00008980,
- 0x9120640c, 0x00001900, 0xec003cec, 0x00007902, 0x01800000, 0x00000000,
- 0xe23f2a44, 0x00002880, 0xd1400b45, 0x00006080, 0x91000b45, 0x00000080,
- 0x802a5244, 0x00009502, 0xd1400000, 0x00006188, 0x11803006, 0x00004900,
- 0x11c03807, 0x00009900, 0x01801b45, 0x00001880, 0x03424806, 0x0000e002,
- 0x1100f806, 0x00000784, 0x02024044, 0x00006004, 0x01800000, 0x00008980,
- 0xc1b10c0c, 0x00007900, 0x00000002, 0x00000080, 0x700040ec, 0x00005680,
- 0x003830c0, 0x00000010, 0x01900006, 0x00009980, 0x703868ec, 0x00005600,
- 0x00384000, 0x00000000, 0x00000803, 0x0000f400, 0x04181006, 0x00006987,
- 0x700040ec, 0x00005680, 0x003837c0, 0x00000078, 0xe387066e, 0x0000448e,
- 0x3002056e, 0x0000818e, 0xc6010703, 0x0000f88f, 0x90000000, 0x00008389,
- 0xec003cec, 0x00007902, 0x01000000, 0x00008000, 0x0000091f, 0x0000f403,
- 0xffffffff, 0x00007f86, 0x01803807, 0x00009900, 0x00000000, 0x00007080,
- 0x09c72136, 0x00007500, 0x03c81800, 0x0000e180, 0x03901202, 0x00004900,
- 0x03602c05, 0x00001900, 0x00400c05, 0x00004588, 0x8c401405, 0x00008b8b,
+ 0x0000050a, 0x00007008, 0x02983000, 0x0000f900, 0x000a33fc, 0x00008980,
+ 0x00000536, 0x00007400, 0x02eff800, 0x00007900, 0x001a1d58, 0x00008980,
+ 0x83001000, 0x00001980, 0x35a0200d, 0x0000a180, 0xffffffff, 0x00007fa7,
+ 0x81000a04, 0x00009080, 0x35a0200d, 0x00002980, 0x01008438, 0x00009283,
+ 0x03000020, 0x00006190, 0x01800000, 0x0000c990, 0x01400000, 0x0000e190,
+ 0x01c00000, 0x00004990, 0x0000050a, 0x00007008, 0x02993000, 0x00007900,
+ 0x000a33fc, 0x00008980, 0x00000536, 0x00007400, 0x02d80000, 0x00007900,
+ 0x00156436, 0x00008980, 0x83001000, 0x00001980, 0x00000407, 0x00001583,
+ 0x01001c07, 0x00009190, 0x00000597, 0x00007009, 0x00000804, 0x00009582,
+ 0x35a0200d, 0x0000a119, 0x0000050a, 0x00007031, 0xffffffff, 0x00007f86,
+ 0x01000c04, 0x00009081, 0x0000050a, 0x00007400, 0x35b0200d, 0x0000a901,
+ 0x3598380d, 0x0000a901, 0x35a0200d, 0x00002100, 0xffffffff, 0x00007fa7,
+ 0x81000a04, 0x00009080, 0x35a0200d, 0x0000a900, 0x01010438, 0x00009283,
+ 0x03000020, 0x00006190, 0x01800000, 0x0000c990, 0x01400000, 0x0000e190,
+ 0x01c00000, 0x00004990, 0x0000050a, 0x00007008, 0x02973800, 0x00007900,
+ 0x000a33fc, 0x00008980, 0x00000536, 0x00007400, 0x02d2e800, 0x00007900,
+ 0x0025bd88, 0x00000980, 0x83001000, 0x00001980, 0x05aa041c, 0x0000f204,
+ 0x03500000, 0x0000f900, 0x00004040, 0x00008980, 0x00000000, 0x00007080,
+ 0x05af1fea, 0x0000f500, 0x12481800, 0x00006180, 0x03d01202, 0x0000c900,
+ 0x03a02c05, 0x00001900, 0x00400c05, 0x00004588, 0x8c201405, 0x00000b8a,
0x81001ee3, 0x00006080, 0x12400000, 0x0000c980, 0x14009800, 0x00007900,
- 0x00003c00, 0x00008980, 0x09d2211a, 0x00007404, 0x16000000, 0x0000e180,
+ 0x00003c00, 0x00008980, 0x05ba1fce, 0x00007404, 0x16000000, 0x0000e180,
0x12003006, 0x0000c900, 0x81371a04, 0x00006100, 0x14403807, 0x00008900,
0x0000044d, 0x00009583, 0x833f1fe3, 0x00009908, 0xee002e0c, 0x0000a088,
- 0x000009db, 0x00007010, 0xffffffff, 0x00007f97, 0x03003c05, 0x00001281,
- 0x0140140c, 0x00001181, 0x00000c05, 0x00001583, 0x000009e0, 0x0000701b,
- 0x02383f06, 0x00000410, 0x09e01d18, 0x00007500, 0x11e58000, 0x0000f900,
- 0x002bba78, 0x00000980, 0x11826f08, 0x00000037, 0x70789049, 0x00002080,
- 0x70387449, 0x0000a080, 0x70386a49, 0x00002000, 0x83000008, 0x000004dc,
- 0x02c00800, 0x0000e181, 0x00309058, 0x00006086, 0x0160640c, 0x0000e301,
- 0x80007058, 0x0000e000, 0x01a02e12, 0x00006100, 0x90007058, 0x0000a000,
- 0x0180360d, 0x0000e000, 0xa0007058, 0x00006000, 0x7078b449, 0x0000b038,
+ 0x000005c3, 0x00007010, 0xffffffff, 0x00007f97, 0x03003c05, 0x00001281,
+ 0x0140140c, 0x00001181, 0x00000c05, 0x00001583, 0x000005c8, 0x0000701b,
+ 0x02383f06, 0x00000410, 0x05c81bcc, 0x00007500, 0x12258000, 0x0000f900,
+ 0x002bba78, 0x00000980, 0x11826f08, 0x00000037, 0x70388649, 0x00002080,
+ 0x70387449, 0x0000a080, 0x70386a49, 0x00002000, 0x83000008, 0x000084e8,
+ 0x02c00800, 0x0000e181, 0x00308058, 0x0000e086, 0x0160640c, 0x0000e301,
+ 0x80007058, 0x0000e000, 0x01a02e10, 0x0000e100, 0x90007058, 0x0000a000,
+ 0x0180360d, 0x0000e000, 0xa0007058, 0x00006000, 0xb0007058, 0x0000e000,
+ 0x00103007, 0x00003186, 0x7078a249, 0x00003038, 0x7078b449, 0x0000b038,
0x7078c649, 0x0000b038, 0x70b8d049, 0x00003038, 0x70b8e249, 0x0000b038,
0x70b8f449, 0x00003038, 0x70b90649, 0x00003038, 0x70f91049, 0x00003038,
0x70f92249, 0x0000b038, 0x70f93449, 0x00003038, 0x70f94649, 0x00003038,
0x71395049, 0x00003038, 0x71396249, 0x0000b038, 0x71397449, 0x00003038,
0x71398649, 0x0000b038, 0x71799049, 0x0000b038, 0x7179a249, 0x00003038,
- 0x7179b449, 0x0000b038, 0x7179c649, 0x0000b038, 0x71b9d049, 0x0000a080,
- 0x00103008, 0x00006186, 0x86306849, 0x0000b087, 0x01a02e12, 0x0000e101,
- 0xb0007058, 0x00002000, 0x12602e12, 0x00006101, 0x01a037e4, 0x00008800,
- 0x0160640c, 0x0000e301, 0xc0007058, 0x00006000, 0x04103008, 0x00006187,
- 0xd0007058, 0x0000b000, 0x01a02e12, 0x00006100, 0xe0007058, 0x00002000,
- 0x0180350d, 0x0000e000, 0xf0007058, 0x00006000, 0x00103007, 0x00006186,
- 0x0428d058, 0x0000b087, 0x01a02e12, 0x0000e101, 0x52602e12, 0x00008101,
- 0x032037e4, 0x00006000, 0x05000000, 0x0000c981, 0x35400004, 0x00005180,
- 0x00400000, 0x00008000, 0x35400204, 0x0000d180, 0x00400000, 0x00008000,
- 0x35400404, 0x0000d180, 0x00400000, 0x00008000, 0x35400604, 0x00005180,
- 0x00400000, 0x00008000, 0x35800004, 0x00005180, 0x00400000, 0x00008000,
- 0x04c00000, 0x00006181, 0x04106007, 0x00006187, 0x35384404, 0x0000d100,
- 0x00383800, 0x00000000, 0x353a4e04, 0x00005100, 0x003ac000, 0x00000000,
- 0x35400004, 0x0000d100, 0x00400000, 0x00000080, 0x35400204, 0x00005100,
- 0x00400000, 0x00000080, 0x35400404, 0x00005100, 0x00400000, 0x00000080,
- 0x35400604, 0x0000d100, 0x00400000, 0x00000080, 0x35800004, 0x0000d100,
- 0x00400000, 0x00000080, 0x043097e4, 0x00006000, 0x0560d41a, 0x0000c901,
- 0x0481051a, 0x00006081, 0x0343051a, 0x00000081, 0x06800000, 0x00001981,
- 0x9e800415, 0x0000f88a, 0x00400001, 0x00008080, 0x02808415, 0x00006481,
- 0x01004414, 0x00004880, 0x0180b004, 0x00001002, 0x01c03006, 0x00006100,
- 0x01000017, 0x00004084, 0x01b83f04, 0x00000420, 0x14409f06, 0x00008090,
- 0x0a3e211a, 0x0000f404, 0xc100240a, 0x00001880, 0x14002004, 0x00009900,
- 0x01000ce0, 0x00006283, 0x83924a49, 0x00000900, 0x00000a45, 0x0000f00b,
- 0x0a421cba, 0x00007100, 0xffffffff, 0x00007f86, 0x0000045e, 0x00001583,
- 0x00000a7a, 0x0000f013, 0x01000000, 0x0000e180, 0x05605415, 0x0000c101,
- 0x3840dc13, 0x00006081, 0x81400a04, 0x00000880, 0x01400c1a, 0x00006481,
- 0x83107205, 0x00000000, 0x01605c05, 0x00001303, 0x70004a0c, 0x00007902,
- 0x02000000, 0x00008000, 0x70003c0c, 0x0000f902, 0x01800000, 0x00000000,
- 0x00000a52, 0x0000f008, 0x11c20200, 0x00007904, 0x0300241a, 0x00006080,
- 0x12004809, 0x0000c900, 0x02c06047, 0x00006700, 0x12404008, 0x00008900,
- 0x52e02412, 0x0000e001, 0x51020000, 0x00000981, 0x03b88518, 0x00000418,
- 0x0fe81402, 0x0000842c, 0x86220000, 0x000080f6, 0x86200400, 0x000000fd,
- 0x0a602358, 0x0000f404, 0x06800c1a, 0x0000e481, 0x0330d61a, 0x00008901,
- 0xc2105a0b, 0x00001900, 0xc2002719, 0x00009283, 0x12003807, 0x00006110,
- 0x12403006, 0x0000c910, 0x0338d71a, 0x0000e111, 0xc2105a0b, 0x0000c910,
- 0x00000a6d, 0x0000f008, 0x52e0240d, 0x00006001, 0x51020000, 0x00000981,
- 0x83b88119, 0x00008418, 0x0fe81402, 0x0000842c, 0x0a6d2358, 0x00007404,
- 0x86220000, 0x000080f6, 0x43e00400, 0x000001e2, 0x03000c1a, 0x00006481,
- 0x01000804, 0x00000080, 0x0020240a, 0x0000e503, 0x04e06413, 0x00008001,
- 0x02c00000, 0x00009991, 0x00000a74, 0x0000f009, 0x00000a47, 0x0000f000,
- 0x04a05412, 0x0000e001, 0x0360540d, 0x00008001, 0x02c00000, 0x00006181,
- 0x05000c14, 0x0000c081, 0x8d000415, 0x0000f892, 0x00400001, 0x00008080,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00000a8c, 0x0000f200,
- 0x01000000, 0x00001981, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
- 0x02a02800, 0x00007900, 0x002bba78, 0x00000980, 0x02d79800, 0x0000f900,
- 0x001cdbc6, 0x00000980, 0x01802004, 0x0000e100, 0x08001a08, 0x00006106,
- 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901, 0x0a8b1c63, 0x00007500,
- 0x82381400, 0x00008024, 0x83002800, 0x00009980, 0x01000800, 0x00009981,
- 0x01c00100, 0x000000fc, 0x03400000, 0x0000e180, 0x00202007, 0x00006086,
- 0x01000000, 0x000000ec, 0x0a9401c3, 0x0000f404, 0x03803807, 0x00006100,
- 0x04182804, 0x0000e187, 0x03002004, 0x00009900, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x00400008, 0x00006180, 0x00001000, 0x00006504,
- 0xc0000305, 0x00006582, 0xc0c00000, 0x00008980, 0x00000001, 0x00007480,
- 0x80582c05, 0x00000001, 0x80c06800, 0x00006191, 0x96702801, 0x0000e001,
- 0x0aa22136, 0x00007500, 0x03d01800, 0x0000e180, 0x03901202, 0x00004900,
- 0x03622c45, 0x00001900, 0x01222c45, 0x00009901, 0x92a05445, 0x0000c389,
- 0x00005445, 0x00008098, 0x92e03445, 0x00004389, 0x00003445, 0x00008098,
- 0x03c01c45, 0x00004589, 0x86602445, 0x0000808f, 0x01403c45, 0x00004791,
- 0x23007c45, 0x0000018d, 0x00007c45, 0x00004098, 0x00005c45, 0x00008088,
- 0x01206c45, 0x0000c790, 0x9e400d4c, 0x00001b96, 0x1080064c, 0x0000c790,
- 0x11608445, 0x00009e8b, 0xb1408c45, 0x0000788a, 0xb0400000, 0x00008585,
- 0x00004c45, 0x00001583, 0x01402800, 0x00001989, 0x00000c84, 0x0000f009,
- 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x02a56800, 0x0000f900,
- 0x002bba7a, 0x00008980, 0x02d79800, 0x0000f900, 0x001cdbc6, 0x00000980,
- 0x01822044, 0x0000e100, 0x08001a08, 0x00006106, 0x01400745, 0x0000009c,
- 0x0ca31c63, 0x00007500, 0x82200500, 0x00008022, 0x83002800, 0x0000e180,
- 0x02401002, 0x0000c900, 0x00000c85, 0x0000f200, 0x9240280b, 0x000000d6,
- 0x92401ee3, 0x00006080, 0x05480000, 0x00004980, 0x81771a49, 0x0000e100,
- 0xf382b015, 0x0000a000, 0x35382e05, 0x0000a100, 0x0e000000, 0x00007900,
- 0x00003340, 0x00000980, 0x4e000145, 0x0000018c, 0x0e400000, 0x00006180,
- 0xd342b015, 0x0000e000, 0x04000000, 0x0000e180, 0x06002838, 0x0000e000,
- 0x04400000, 0x00006180, 0x16002838, 0x00006000, 0x04972ae5, 0x0000e100,
- 0x26002838, 0x00006000, 0x05000000, 0x00006180, 0x36002838, 0x0000e000,
- 0x06000000, 0x00006180, 0x46002838, 0x00006000, 0x06400000, 0x0000e180,
- 0x56002838, 0x0000e000, 0x06800000, 0x0000e180, 0x66002838, 0x0000e000,
- 0x06c00000, 0x00006180, 0x76002838, 0x00006000, 0x07000000, 0x000081f4,
- 0x07800000, 0x000081fc, 0x08000000, 0x000082c4, 0x08800000, 0x000082cc,
- 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4,
- 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc,
- 0x0c000000, 0x000083c4, 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4,
- 0x0d800000, 0x000083dc, 0x0e800000, 0x000083ec, 0x10400000, 0x00006180,
- 0x1002a054, 0x00004900, 0x10ba7f4e, 0x0000040c, 0x05ba9f52, 0x0000011c,
- 0x14429853, 0x00006100, 0x14009a00, 0x00004980, 0x0af8211a, 0x0000f404,
- 0x84da4348, 0x0000e100, 0x8e771a49, 0x00004100, 0x12029052, 0x00009900,
- 0x0000044d, 0x00006583, 0x82d24a49, 0x00000900, 0x927f1fe3, 0x00001908,
- 0xee002e49, 0x00002088, 0x00000b02, 0x00007010, 0xffffffff, 0x00007f97,
- 0x12403c05, 0x00009281, 0x01401449, 0x00009181, 0x00000c05, 0x00001583,
- 0x00000b07, 0x0000f01b, 0x11eda800, 0x00007900, 0x002bba7c, 0x00008980,
- 0x0b071d18, 0x0000f500, 0x11ba9f52, 0x00000410, 0x03626c4d, 0x00001900,
- 0x7039e20b, 0x0000b038, 0x7039f40b, 0x00003038, 0xce702e05, 0x00006101,
- 0xc4f02f56, 0x00004001, 0x00000cdd, 0x00007400, 0x93000000, 0x000080d6,
- 0x12401000, 0x00009981, 0x0b11211a, 0x0000f404, 0x123a3f46, 0x00000504,
- 0x14009c00, 0x00001980, 0x0000044d, 0x00006583, 0x82d24a49, 0x00000900,
- 0x817f1fe3, 0x00009908, 0xee024e05, 0x00002088, 0x00000b1b, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x01403c49, 0x00009281, 0x12401405, 0x00009181,
- 0x00000c49, 0x00009583, 0x00000b20, 0x0000f01b, 0xc37a384d, 0x0000801c,
- 0x0b201d18, 0x0000f500, 0x11c85000, 0x00007900, 0x002bba7e, 0x00000980,
- 0x11003807, 0x00009900, 0x70004c0b, 0x0000f902, 0x02000000, 0x00008000,
- 0x7038520b, 0x00002080, 0x70383e0b, 0x0000a000, 0xffffffff, 0x00007f86,
- 0x01400c09, 0x00006283, 0x04404008, 0x00000900, 0x12402000, 0x00006191,
- 0x12400000, 0x0000c989, 0x01401409, 0x00006283, 0x04003807, 0x00008900,
- 0x01400000, 0x0000e181, 0x45224813, 0x0000e007, 0x12400000, 0x0000e189,
- 0x12402000, 0x00004991, 0x00000cdd, 0x0000f401, 0x12401800, 0x00006181,
- 0x04224813, 0x0000e007, 0x84d8530a, 0x00009900, 0x01430713, 0x00006081,
- 0x01c00000, 0x00000980, 0x2442704e, 0x00006100, 0x00109807, 0x0000e186,
- 0x2c002c05, 0x00001680, 0x924588b0, 0x00001000, 0xb0005249, 0x0000f902,
- 0x02400000, 0x00000000, 0x2482784f, 0x00006100, 0x04326007, 0x0000e087,
- 0x24c00000, 0x00006180, 0xc72a6007, 0x00006001, 0xb0004449, 0x00007902,
- 0x02c00000, 0x00008000, 0xc000070a, 0x00006583, 0x25000000, 0x00000980,
- 0xb0383649, 0x00002000, 0xb0426849, 0x0000f902, 0x13000000, 0x00008000,
- 0xb0425a49, 0x00007902, 0x12800000, 0x00008000, 0x25400000, 0x000009d8,
- 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8, 0x26c00000, 0x000089f0,
- 0x27400000, 0x000009f8, 0x00000b58, 0x0000f408, 0x27c00000, 0x00006180,
- 0x24003807, 0x0000c900, 0xb0383e49, 0x00002080, 0x0122480b, 0x0000a000,
- 0xffffffff, 0x00007fa7, 0x12524a4b, 0x00001100, 0x1a904849, 0x0000f80b,
- 0x00400001, 0x00000000, 0xea925b08, 0x0000f816, 0xd0400000, 0x0000858a,
- 0xc1125b08, 0x00001202, 0x00000baa, 0x0000f013, 0x92602c05, 0x00009900,
- 0xe2006a49, 0x0000f902, 0x03000000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x0007280d, 0x00001502, 0x03400000, 0x00006188, 0xc3125a4b, 0x00004908,
- 0x835a5b4b, 0x00006108, 0x43371ee3, 0x00004909, 0x00000b93, 0x0000f010,
- 0x2a000000, 0x00007900, 0x00008080, 0x00008980, 0x03030713, 0x00006081,
+ 0x7179b449, 0x0000b038, 0x7179c649, 0x00002080, 0xc0007058, 0x00006000,
+ 0x86306849, 0x0000b087, 0x01a02e10, 0x00006101, 0xd0007058, 0x00002000,
+ 0x12602e10, 0x0000e101, 0x01a037e4, 0x00008800, 0x0160640c, 0x0000e301,
+ 0xe0007058, 0x0000e000, 0x02202e10, 0x0000e101, 0x04103007, 0x0000a187,
+ 0x01a02e10, 0x0000e100, 0xf0007058, 0x0000a000, 0x032047e4, 0x0000e000,
+ 0x0180350d, 0x0000c800, 0x35400004, 0x00005180, 0x00400000, 0x00008000,
+ 0x35400204, 0x0000d180, 0x00400000, 0x00008000, 0x35400404, 0x0000d180,
+ 0x00400000, 0x00008000, 0x35400604, 0x00005180, 0x00400000, 0x00008000,
+ 0x35800004, 0x00005180, 0x00400000, 0x00008000, 0x0429c058, 0x0000e087,
+ 0x04106006, 0x0000b187, 0x52602e10, 0x00006101, 0x11000000, 0x00000981,
+ 0x35383c04, 0x0000d100, 0x00383000, 0x00008000, 0x35400004, 0x0000d100,
+ 0x00400000, 0x00000080, 0x35400204, 0x00005100, 0x00400000, 0x00000080,
+ 0x35400404, 0x00005100, 0x00400000, 0x00000080, 0x35400604, 0x0000d100,
+ 0x00400000, 0x00000080, 0x35800004, 0x0000d100, 0x00400000, 0x00000080,
+ 0x353a4e04, 0x00005100, 0x003ac000, 0x00000000, 0x04c00000, 0x00006181,
+ 0x10e1c438, 0x0000c901, 0x03c10538, 0x00006081, 0x03830538, 0x00000081,
+ 0x0e000000, 0x00006181, 0x043087e4, 0x0000c800, 0x98000443, 0x0000f88b,
+ 0x00000001, 0x00000080, 0x02808443, 0x00006481, 0x01004438, 0x0000c880,
+ 0x0180a004, 0x00009002, 0x01c03006, 0x00006100, 0x01000015, 0x0000c084,
+ 0x01b83f04, 0x00000420, 0x14409f06, 0x00008090, 0x06251fce, 0x00007404,
+ 0xc100240a, 0x00001880, 0x14002004, 0x00009900, 0x01000ce0, 0x00009283,
+ 0x0000062b, 0x0000700b, 0x06281b6e, 0x0000f100, 0xffffffff, 0x00007f86,
+ 0x0000045e, 0x00001583, 0x00000660, 0x00007013, 0x01000000, 0x0000e180,
+ 0x10e05443, 0x0000c101, 0x3840c413, 0x00006081, 0x81400a04, 0x00000880,
+ 0x01400c44, 0x0000e481, 0x83124a05, 0x00000000, 0x01605c05, 0x00001303,
+ 0x70004a0c, 0x00007902, 0x02000000, 0x00008000, 0x70003c0c, 0x0000f902,
+ 0x01800000, 0x00000000, 0x00000638, 0x0000f008, 0x12820200, 0x0000f904,
+ 0x03002444, 0x0000e080, 0x11c04809, 0x0000c900, 0x02c0604a, 0x0000e700,
+ 0x13004008, 0x00008900, 0x4e20240f, 0x00006001, 0x12020000, 0x00008981,
+ 0x03b88516, 0x00008418, 0x0fa81402, 0x0000042c, 0x85a20000, 0x000080fe,
+ 0x85a00400, 0x000080fd, 0x0646220b, 0x0000f404, 0x11000c44, 0x0000e481,
+ 0x0331c638, 0x00008901, 0xc2105a0b, 0x00001900, 0xc2002717, 0x00001283,
+ 0x11c03807, 0x00006110, 0x13003006, 0x0000c910, 0x0339c738, 0x0000e111,
+ 0xc2105a0b, 0x0000c910, 0x00000653, 0x00007008, 0x4e20240e, 0x0000e001,
+ 0x12020000, 0x00008981, 0x83b88117, 0x00000418, 0x0fa81402, 0x0000042c,
+ 0x0653220b, 0x00007404, 0x85a20000, 0x000080fe, 0x43e00400, 0x000081da,
+ 0x03000c44, 0x0000e481, 0x01000804, 0x00000080, 0x0020240a, 0x0000e503,
+ 0x04e06413, 0x00008001, 0x02c00000, 0x00009991, 0x0000065a, 0x0000f009,
+ 0x0000062d, 0x0000f000, 0x03e0540f, 0x0000e001, 0x03a0540e, 0x00008001,
+ 0x02c00000, 0x00006181, 0x0e000c38, 0x0000c081, 0x86c00443, 0x0000f893,
+ 0x00000001, 0x00000080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x00000672, 0x00007200, 0x01000000, 0x00001981, 0x03000000, 0x0000f900,
+ 0x00008040, 0x00008980, 0x02a02800, 0x00007900, 0x002bba78, 0x00000980,
+ 0x02d79800, 0x0000f900, 0x001cdbc6, 0x00000980, 0x01802004, 0x0000e100,
+ 0x08001a08, 0x00006106, 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901,
+ 0x06711b17, 0x0000f500, 0x82381400, 0x00008024, 0x83002800, 0x00009980,
+ 0x01000800, 0x00009981, 0x01c00100, 0x000004e0, 0x03800000, 0x0000e180,
+ 0x00202007, 0x00006086, 0x01000000, 0x000080f0, 0x067a01c6, 0x0000f404,
+ 0x03c03807, 0x0000e100, 0x04182804, 0x0000e187, 0x03402004, 0x00001900,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x00400008, 0x00006180,
+ 0x00001000, 0x00006504, 0xc0000305, 0x00006582, 0xc0c00000, 0x00008980,
+ 0x00000001, 0x00007480, 0x80582c05, 0x00000001, 0x80c06800, 0x00006191,
+ 0x96702801, 0x0000e001, 0x06881fea, 0x0000f500, 0x12501800, 0x00006180,
+ 0x03d01202, 0x0000c900, 0x03a22c45, 0x00001900, 0x01222c45, 0x00009901,
+ 0x0ea05445, 0x0000c389, 0x00005445, 0x00008098, 0x0ee03445, 0x00004389,
+ 0x00003445, 0x00008098, 0x04401c45, 0x0000c588, 0x86a02445, 0x00000189,
+ 0x01c03c45, 0x00004790, 0x22a07c45, 0x0000018f, 0x00007c45, 0x00004098,
+ 0x00005c45, 0x00008088, 0x1c406c45, 0x0000788a, 0x00400000, 0x00000385,
+ 0x00000d4c, 0x00007890, 0x00000000, 0x00000000, 0x15800e4f, 0x0000f892,
+ 0x00400001, 0x00008010, 0x1040064c, 0x00004791, 0x11608445, 0x00009d8e,
+ 0xabc08c45, 0x0000f88b, 0x00000000, 0x00008385, 0x00004c45, 0x00001583,
+ 0x01402800, 0x00001989, 0x000008c6, 0x00007009, 0x03000000, 0x0000f900,
+ 0x00008040, 0x00008980, 0x02a56800, 0x0000f900, 0x002bba7a, 0x00008980,
+ 0x02d79800, 0x0000f900, 0x001cdbc6, 0x00000980, 0x01822044, 0x0000e100,
+ 0x08001a08, 0x00006106, 0x01400745, 0x0000009c, 0x08831b17, 0x0000f500,
+ 0x82200500, 0x00008022, 0x83002800, 0x0000e180, 0x02401002, 0x0000c900,
+ 0x000008c7, 0x00007200, 0x9340280b, 0x000080d6, 0x93401ee3, 0x0000e080,
+ 0x05480000, 0x00004980, 0x81771a4d, 0x00006100, 0xf382b015, 0x0000a000,
+ 0x35382e05, 0x0000a100, 0x0e000000, 0x00007900, 0x00003340, 0x00000980,
+ 0x4e000145, 0x0000018c, 0x0e400000, 0x00006180, 0xd342b015, 0x0000e000,
+ 0x04000000, 0x0000e180, 0x06002838, 0x0000e000, 0x04400000, 0x00006180,
+ 0x16002838, 0x00006000, 0x04972ae5, 0x0000e100, 0x26002838, 0x00006000,
+ 0x05000000, 0x00006180, 0x36002838, 0x0000e000, 0x06000000, 0x00006180,
+ 0x46002838, 0x00006000, 0x06400000, 0x0000e180, 0x56002838, 0x0000e000,
+ 0x06800000, 0x0000e180, 0x66002838, 0x0000e000, 0x06c00000, 0x00006180,
+ 0x76002838, 0x00006000, 0x07000000, 0x000081f4, 0x07800000, 0x000081fc,
+ 0x08000000, 0x000082c4, 0x08800000, 0x000082cc, 0x09000000, 0x000082d4,
+ 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec,
+ 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4,
+ 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc,
+ 0x0e800000, 0x000083ec, 0x10400000, 0x00006180, 0x1002a054, 0x00004900,
+ 0x10ba7f4e, 0x0000040c, 0x05ba9f52, 0x0000011c, 0x14429853, 0x00006100,
+ 0x14009a00, 0x00004980, 0x06e21fce, 0x0000f404, 0x84da4348, 0x0000e100,
+ 0x8e771a4d, 0x0000c100, 0x12029052, 0x00009900, 0x0000044d, 0x00009583,
+ 0x937f1fe3, 0x00009908, 0xee002e4d, 0x0000a088, 0x000006eb, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x13403c05, 0x00001281, 0x0140144d, 0x00001181,
+ 0x00000c05, 0x00001583, 0x000006f0, 0x0000f01b, 0xc2ba9048, 0x00008418,
+ 0x06f01bcc, 0x0000f500, 0x122da800, 0x00007900, 0x002bba7c, 0x00008980,
+ 0x037a9f0a, 0x00008410, 0x7039e249, 0x0000b038, 0x7039f449, 0x00003038,
+ 0xce702e05, 0x00006101, 0xc4f02f56, 0x00004001, 0x000008bc, 0x00007400,
+ 0x93000000, 0x000080d6, 0x13401000, 0x00001981, 0x06fa1fce, 0x0000f404,
+ 0x123a3f46, 0x00000504, 0x14009e00, 0x00009980, 0x0000044d, 0x00009583,
+ 0x817f1fe3, 0x00009908, 0xee026e05, 0x0000a088, 0x00000703, 0x0000f010,
+ 0xffffffff, 0x00007f97, 0x01403c4d, 0x00001281, 0x13401405, 0x00001181,
+ 0x00000c4d, 0x00001583, 0x00000708, 0x0000f01b, 0x11024747, 0x00008017,
+ 0x07081bcc, 0x0000f500, 0x12085000, 0x00007900, 0x002bba7e, 0x00000980,
+ 0x03402805, 0x00001900, 0x70004c49, 0x0000f902, 0x02000000, 0x00008000,
+ 0x70385249, 0x00002080, 0x70383e49, 0x0000a000, 0xffffffff, 0x00007f86,
+ 0x01400c09, 0x00006283, 0x04404008, 0x00000900, 0x13402000, 0x0000e191,
+ 0x13400000, 0x00004989, 0x01401409, 0x00006283, 0x04003807, 0x00008900,
+ 0x01400000, 0x0000e181, 0x45226813, 0x00006007, 0x13400000, 0x00006189,
+ 0x13402000, 0x0000c991, 0x000008bc, 0x0000f401, 0x13401800, 0x0000e181,
+ 0x04226813, 0x00006007, 0x84d8530a, 0x00009900, 0x01430713, 0x00006081,
+ 0x03400000, 0x00000980, 0x03800000, 0x00007900, 0x00040000, 0x00000980,
+ 0x2c002c05, 0x00001680, 0x934588b0, 0x00009000, 0x80000e4f, 0x00006583,
+ 0x0010980e, 0x00002186, 0x0432600e, 0x0000e087, 0x0432780d, 0x0000b009,
+ 0xb002624d, 0x0000f902, 0x12c00000, 0x00000000, 0x24800000, 0x0000e180,
+ 0x0012700d, 0x00006186, 0xb002544d, 0x0000f902, 0x02800000, 0x00000000,
+ 0xb0024e4d, 0x00007902, 0x12000000, 0x00000000, 0xc000074c, 0x0000e583,
+ 0x24c00000, 0x00008980, 0xb078784d, 0x0000a080, 0xb078624d, 0x0000a000,
+ 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
+ 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc,
+ 0x24386f0e, 0x00008904, 0x00000742, 0x00007408, 0xb078704d, 0x0000a000,
+ 0xb0786a4d, 0x0000a080, 0x0122680a, 0x0000a000, 0xffffffff, 0x00007fa7,
+ 0x13526a0d, 0x00009100, 0x1592584d, 0x0000f80a, 0x00400001, 0x00000000,
+ 0xe5506b4a, 0x0000f817, 0x28000000, 0x0000838a, 0xffffffff, 0x00007fa7,
+ 0xc1106b4a, 0x00009202, 0x00000795, 0x0000f013, 0x93602c05, 0x00001900,
+ 0xe2003a4d, 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x00072807, 0x00001502, 0x01c00000, 0x00006188, 0xc1906a0d, 0x00004908,
+ 0x81d86b0d, 0x00006108, 0x41b71ee3, 0x00004909, 0x0000077f, 0x00007010,
+ 0x2a000000, 0x00007900, 0x00008080, 0x00008980, 0x01830713, 0x00006081,
0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980,
0x2b592800, 0x0000f900, 0x0034c678, 0x00000980, 0x2a400000, 0x00006180,
- 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c, 0x0b721c90, 0x0000f500,
- 0x2bc0870d, 0x00000aa1, 0x2b80600c, 0x00001900, 0x03001b4b, 0x00009880,
- 0xec0002ec, 0x00005080, 0x00000000, 0x00008080, 0x03c0380c, 0x00006002,
- 0x1240f80c, 0x00008784, 0x03803049, 0x0000e004, 0x03100000, 0x00000980,
- 0x03400000, 0x00007900, 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080,
- 0x00000000, 0x00008080, 0x0076080d, 0x00006586, 0x0076100c, 0x00003587,
- 0x700040ec, 0x00005680, 0x003860e0, 0x00008010, 0x703868ec, 0x00005600,
- 0x00000000, 0x00008080, 0x700008ec, 0x00005680, 0x00000000, 0x00008080,
- 0x03100006, 0x00009980, 0x703878ec, 0x0000d600, 0x00387000, 0x00000000,
- 0x0418100c, 0x00006987, 0x700040ec, 0x00005680, 0x003867c0, 0x00000078,
- 0xec006aec, 0x00007902, 0x03000000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x0000000d, 0x00001582, 0xec006cec, 0x0000f912, 0x03000000, 0x00000000,
- 0x00000b8b, 0x00007009, 0xffffffff, 0x00007f86, 0xd2786505, 0x00008430,
- 0xe23f2a49, 0x0000a880, 0x92400b4b, 0x00006080, 0x1340680d, 0x00000900,
- 0x80284249, 0x0000e502, 0xd2c00b4b, 0x00000080, 0xd2c00000, 0x00009988,
- 0xffffffff, 0x00007f86, 0x03001b4b, 0x00009880, 0x03c0380c, 0x00006002,
- 0x1240f80c, 0x00008784, 0x03803049, 0x0000e004, 0x03000000, 0x00008980,
- 0xc3310c05, 0x00007900, 0x00000002, 0x00000080, 0x700040ec, 0x00005680,
- 0x003860c0, 0x00000010, 0x03100006, 0x00009980, 0x703878ec, 0x0000d600,
- 0x00387000, 0x00000000, 0x0418100c, 0x00006987, 0x700040ec, 0x00005680,
- 0x003867c0, 0x00000078, 0x03007f09, 0x00006080, 0x23800000, 0x00008980,
- 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x92400a4b, 0x0000e080,
- 0x0010508e, 0x0000a100, 0x22400000, 0x0000e180, 0x23d00002, 0x0000c980,
- 0x28ca0005, 0x00006180, 0x0300200c, 0x0000c784, 0x22100000, 0x00007900,
- 0x00008016, 0x00008980, 0x22800000, 0x0000e180, 0x0030508f, 0x00006080,
+ 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c, 0x075d1b44, 0x0000f500,
+ 0x2bc08707, 0x00000aa1, 0x2b803006, 0x00001900, 0xec0002ec, 0x00005080,
+ 0x00000000, 0x00008080, 0x01801b0d, 0x00006080, 0x02100000, 0x00004980,
+ 0x02400000, 0x0000f900, 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080,
+ 0x00000000, 0x00008080, 0x00761008, 0x0000e587, 0x00760809, 0x0000b586,
+ 0x700040ec, 0x00005680, 0x003840e0, 0x00000010, 0x703848ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x1340f806, 0x00006784, 0x02100006, 0x00008980,
+ 0x01c24806, 0x0000e002, 0x04181008, 0x0000a187, 0x700008ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x0182404d, 0x00001004, 0x703838ec, 0x00005600,
+ 0x00383000, 0x00008000, 0x700040ec, 0x00005680, 0x003847c0, 0x00008078,
+ 0xec0072ec, 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x0000000e, 0x00001582, 0xec0074ec, 0x0000f912, 0x01800000, 0x00000000,
+ 0x00000776, 0x0000f009, 0xffffffff, 0x00007f86, 0x01c0700e, 0x00001900,
+ 0xd3783505, 0x00000038, 0xe23f2a4d, 0x00002880, 0x93400b0d, 0x00006080,
+ 0x02000000, 0x00000980, 0x802a524d, 0x00006502, 0xc3400b0d, 0x00000080,
+ 0x03c03807, 0x0000e100, 0xc3400000, 0x00004988, 0xc2310c05, 0x0000f900,
+ 0x00000002, 0x00000080, 0x01801b0d, 0x00001880, 0x01c24806, 0x0000e002,
+ 0x1340f806, 0x00000784, 0x700040ec, 0x00005680, 0x003840c0, 0x00008010,
+ 0x02100006, 0x00006180, 0x0182404d, 0x00004004, 0x703838ec, 0x00005600,
+ 0x00383000, 0x00008000, 0x04181008, 0x0000e987, 0x700040ec, 0x00005680,
+ 0x003847c0, 0x00008078, 0x01807f4b, 0x00006080, 0x23800000, 0x00008980,
+ 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x93400a0d, 0x0000e080,
+ 0x0012608e, 0x00002100, 0x22400000, 0x0000e180, 0x23d00002, 0x0000c980,
+ 0x28ca0005, 0x00006180, 0x01802006, 0x0000c784, 0x22100000, 0x00007900,
+ 0x00008016, 0x00008980, 0x22800000, 0x0000e180, 0x0032608f, 0x0000e080,
0x22c00000, 0x00006180, 0x23083804, 0x00004980, 0x23400000, 0x00006180,
- 0x2802684d, 0x0000c900, 0x2842604c, 0x00006100, 0xa8b04e09, 0x0000c900,
- 0x92c00a4b, 0x00006080, 0xe3924a49, 0x00000900, 0x00000c54, 0x0000f400,
- 0xe2704e09, 0x00006100, 0xe8d81302, 0x0000c900, 0x12704e09, 0x00006100,
- 0x22401c0c, 0x0000c081, 0x01410713, 0x0000e081, 0x24400000, 0x00000980,
- 0x01c00000, 0x00007900, 0x00040080, 0x00008980, 0x2c002c05, 0x00001680,
- 0x924588b0, 0x00001000, 0xb0005249, 0x0000f902, 0x02400000, 0x00000000,
- 0x2482704e, 0x00006100, 0x00109807, 0x0000e186, 0xb0004449, 0x00007902,
- 0x02c00000, 0x00008000, 0xb0383649, 0x00002000, 0xc000070a, 0x00006583,
- 0x24c2784f, 0x00000900, 0xb0426849, 0x0000f902, 0x13000000, 0x00008000,
- 0xb0425a49, 0x00007902, 0x12800000, 0x00008000, 0x25000000, 0x000089d4,
+ 0x2800780f, 0x0000c900, 0x2840700e, 0x00006100, 0xa8b25e4b, 0x0000c900,
+ 0x83400a0d, 0x00006080, 0xe3926a4d, 0x00000900, 0x00000840, 0x00007400,
+ 0xe2725e4b, 0x00006100, 0xe8d81302, 0x0000c900, 0x13725e4b, 0x0000e100,
+ 0x22401c06, 0x0000c081, 0x01400000, 0x0000f900, 0x00040080, 0x00008980,
+ 0x01800000, 0x00006180, 0x00109805, 0x00006186, 0x24002805, 0x0000e100,
+ 0x00127006, 0x0000e186, 0x01410713, 0x0000e081, 0x24400000, 0x00000980,
+ 0x24c00000, 0x000089d0, 0x2c002c05, 0x00001680, 0x934588b0, 0x00009000,
+ 0xb002624d, 0x0000f902, 0x12c00000, 0x00000000, 0xb002544d, 0x0000f902,
+ 0x02800000, 0x00000000, 0xb0024e4d, 0x00007902, 0x12000000, 0x00000000,
+ 0xb040784d, 0x00007902, 0x03800000, 0x00008000, 0xc000074c, 0x0000e583,
+ 0x25400000, 0x00008980, 0xb0406a4d, 0x00007902, 0x03000000, 0x00000000,
0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec,
- 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x00000be7, 0x00007408,
- 0x24003807, 0x00009900, 0xb0383e49, 0x00002080, 0x0122480b, 0x0000a000,
- 0xffffffff, 0x00007fa7, 0x12524a4b, 0x00001100, 0x00104849, 0x00001502,
- 0x00000be7, 0x0000f013, 0x00000c6a, 0x0000f000, 0xc1125b08, 0x00001202,
- 0x92602c05, 0x00001908, 0xe2007249, 0x0000790a, 0x03400000, 0x00008000,
- 0x00000c3a, 0x00007010, 0xffffffff, 0x00007f97, 0x0007280e, 0x00001502,
- 0x03800000, 0x00006188, 0xc3525a4b, 0x0000c908, 0x839a5b4b, 0x00006108,
- 0x43771ee3, 0x0000c909, 0x00000c23, 0x0000f010, 0x2a000000, 0x00007900,
- 0x00008080, 0x00008980, 0x03410713, 0x00006081, 0x08001aaa, 0x00002106,
- 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
- 0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
- 0xaab81400, 0x00008a2c, 0x0c011c90, 0x0000f500, 0x2bc0870e, 0x00000aa1,
- 0x2b80680d, 0x00001900, 0x03401b4b, 0x00001880, 0xec0002ec, 0x00005080,
- 0x00000000, 0x00008080, 0x1200380d, 0x0000e002, 0x1240f80d, 0x00000784,
- 0x03c03049, 0x00006004, 0x03500000, 0x00008980, 0x03800000, 0x00007900,
- 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
- 0x0076080e, 0x00006586, 0x0076100d, 0x0000b587, 0x700040ec, 0x00005680,
- 0x003868e0, 0x00000010, 0x703870ec, 0x00005600, 0x00000000, 0x00008080,
- 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x03500006, 0x00001980,
- 0x703a40ec, 0x0000d600, 0x00387800, 0x00008000, 0x0418100d, 0x0000e987,
- 0x700040ec, 0x00005680, 0x00386fc0, 0x00008078, 0xec006aec, 0x00007902,
- 0x03800000, 0x00008000, 0xffffffff, 0x00007fa7, 0x0000000d, 0x00001582,
- 0xec006cec, 0x0000f912, 0x03c00000, 0x00000000, 0x00000c1a, 0x00007009,
- 0xffffffff, 0x00007f86, 0x03786f0f, 0x00008038, 0xd2786d05, 0x00000430,
- 0xe23f2a49, 0x0000a880, 0x92400b4b, 0x00006080, 0x1340700e, 0x00000900,
- 0x80284249, 0x0000e502, 0xd2c00b4b, 0x00000080, 0xd2c00000, 0x00009988,
- 0xffffffff, 0x00007f86, 0x03401b4b, 0x00001880, 0x1200380d, 0x0000e002,
- 0x1240f80d, 0x00000784, 0x03c03049, 0x00006004, 0x03400000, 0x00000980,
- 0xc3710c05, 0x0000f900, 0x00000002, 0x00000080, 0x700040ec, 0x00005680,
- 0x003868c0, 0x00008010, 0x03500006, 0x00001980, 0x703a40ec, 0x0000d600,
- 0x00387800, 0x00008000, 0x0418100d, 0x0000e987, 0x700040ec, 0x00005680,
- 0x00386fc0, 0x00008078, 0x03407f09, 0x0000e080, 0x23800000, 0x00008980,
- 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x92400a4b, 0x0000e080,
- 0x0010508e, 0x0000a100, 0x22400000, 0x0000e180, 0x23d00002, 0x0000c980,
- 0x28ca0005, 0x00006180, 0x0340200d, 0x0000c784, 0x22100000, 0x00007900,
- 0x00008016, 0x00008980, 0x22800000, 0x0000e180, 0x0030508f, 0x00006080,
- 0x22c00000, 0x00006180, 0x23083804, 0x00004980, 0x23400000, 0x00006180,
- 0x2802684d, 0x0000c900, 0x2842604c, 0x00006100, 0xa8b04e09, 0x0000c900,
- 0x92c00a4b, 0x00006080, 0xe3924a49, 0x00000900, 0xe2704e09, 0x00006100,
- 0xe8d81302, 0x0000c900, 0x12704e09, 0x00006100, 0x22401c0d, 0x00004081,
- 0x13426849, 0x00009002, 0x2c002c05, 0x00001680, 0x814588b0, 0x00009000,
- 0x1300004c, 0x00009084, 0xb0385205, 0x0000d000, 0x00384800, 0x00008000,
- 0xb0384405, 0x00005000, 0x00385800, 0x00000000, 0xb0383e05, 0x0000d000,
- 0x00383000, 0x00008000, 0xb07a6805, 0x0000d000, 0x003a6000, 0x00000000,
- 0xb07a5a05, 0x00005000, 0x003a5000, 0x00000000, 0x814010ec, 0x0000d684,
+ 0x27000000, 0x000089f4, 0x000007d4, 0x00007408, 0x27800000, 0x000089fc,
+ 0x24803006, 0x00001900, 0x0122680a, 0x0000a000, 0xffffffff, 0x00007fa7,
+ 0x13526a0d, 0x00009100, 0x0012584d, 0x00009502, 0x000007d4, 0x0000f013,
+ 0x00000856, 0x00007000, 0xc1106b4a, 0x00009202, 0x93602c05, 0x00009908,
+ 0xe200424d, 0x0000f90a, 0x01c00000, 0x00008000, 0x00000826, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x00072808, 0x00001502, 0x02000000, 0x00006188,
+ 0xc1d06a0d, 0x0000c908, 0x82186b0d, 0x00006108, 0x41f71ee3, 0x0000c909,
+ 0x00000810, 0x00007010, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
+ 0x01c10713, 0x00006081, 0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900,
+ 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980,
+ 0x2a400000, 0x00006180, 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c,
+ 0x07ee1b44, 0x00007500, 0x2bc08708, 0x00000aa1, 0x2b803807, 0x00001900,
+ 0xec0002ec, 0x00005080, 0x00000000, 0x00008080, 0x01c01b0d, 0x0000e080,
+ 0x02500000, 0x0000c980, 0x02c00000, 0x00007900, 0x00003fc0, 0x00008980,
+ 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x00761009, 0x00006587,
+ 0x0076080b, 0x00003586, 0x700040ec, 0x00005680, 0x003848e0, 0x00008010,
+ 0x703858ec, 0x00005600, 0x00000000, 0x00008080, 0x1340f807, 0x0000e784,
+ 0x02500006, 0x00000980, 0x02024807, 0x00006002, 0x04181009, 0x00002187,
+ 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x01c2404d, 0x00009004,
+ 0x703840ec, 0x00005600, 0x00383800, 0x00000000, 0x700040ec, 0x00005680,
+ 0x00384fc0, 0x00000078, 0xec005aec, 0x00007902, 0x01c00000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x0000000b, 0x00001582, 0xec005cec, 0x0000f912,
+ 0x01c00000, 0x00008000, 0x00000807, 0x0000f009, 0xffffffff, 0x00007f86,
+ 0x0200580b, 0x00001900, 0xd3783d05, 0x00008038, 0xe23f2a4d, 0x00002880,
+ 0x93400b0d, 0x00006080, 0x02400000, 0x00008980, 0x802a524d, 0x00006502,
+ 0xc3400b0d, 0x00000080, 0x03c04008, 0x0000e100, 0xc3400000, 0x00004988,
+ 0xc2710c05, 0x00007900, 0x00000002, 0x00000080, 0x01c01b0d, 0x00009880,
+ 0x02024807, 0x00006002, 0x1340f807, 0x00008784, 0x700040ec, 0x00005680,
+ 0x003848c0, 0x00000010, 0x02500006, 0x0000e180, 0x01c2404d, 0x0000c004,
+ 0x703840ec, 0x00005600, 0x00383800, 0x00000000, 0x04181009, 0x00006987,
+ 0x700040ec, 0x00005680, 0x00384fc0, 0x00000078, 0x01c07f4b, 0x0000e080,
+ 0x23800000, 0x00008980, 0x28800000, 0x00007900, 0x00207fc0, 0x00008980,
+ 0x93400a0d, 0x0000e080, 0x0012608e, 0x00002100, 0x22400000, 0x0000e180,
+ 0x23d00002, 0x0000c980, 0x28ca0005, 0x00006180, 0x01c02007, 0x0000c784,
+ 0x22100000, 0x00007900, 0x00008016, 0x00008980, 0x22800000, 0x0000e180,
+ 0x0032608f, 0x0000e080, 0x22c00000, 0x00006180, 0x23083804, 0x00004980,
+ 0x23400000, 0x00006180, 0x2800780f, 0x0000c900, 0x2840700e, 0x00006100,
+ 0xa8b25e4b, 0x0000c900, 0x83400a0d, 0x00006080, 0xe3926a4d, 0x00000900,
+ 0xe2725e4b, 0x00006100, 0xe8d81302, 0x0000c900, 0x13725e4b, 0x0000e100,
+ 0x22401c07, 0x00004081, 0x03c0784d, 0x00001002, 0x2c002c05, 0x00001680,
+ 0x814588b0, 0x00009000, 0x0380000e, 0x00009084, 0xb03a6205, 0x00005000,
+ 0x003a5800, 0x00008000, 0xb03a5405, 0x00005000, 0x00385000, 0x00008000,
+ 0xb03a4e05, 0x0000d000, 0x003a4000, 0x00008000, 0xb0787805, 0x0000d000,
+ 0x00387000, 0x00000000, 0xb0786a05, 0x0000d000, 0x00386000, 0x00008000,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x009110ec, 0x0000d780, 0x00d87a01, 0x000080c8, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x16c00000, 0x0000e180,
+ 0x16801002, 0x0000c900, 0x17000000, 0x00006180, 0x0000185b, 0x00006106,
+ 0x16001000, 0x0000f900, 0x0000c000, 0x00008980, 0x16501000, 0x0000f900,
+ 0x00044040, 0x00000980, 0x17400000, 0x0000e180, 0xc000185b, 0x0000e006,
+ 0x17800080, 0x00006180, 0x17c00000, 0x00004980, 0x18000000, 0x000086c4,
+ 0x18c00000, 0x000086c8, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x0098b0ec, 0x0000d780, 0x00005800, 0x00000080,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x41010515, 0x00006283, 0x01402000, 0x00008981, 0x13404800, 0x00001989,
+ 0x000008c7, 0x0000f009, 0x000008c6, 0x00007000, 0x01400c56, 0x00009283,
+ 0x13404000, 0x0000e191, 0x01400800, 0x0000c991, 0x000008bc, 0x0000f011,
+ 0x000008bc, 0x00007200, 0x93400005, 0x000000d6, 0xc000074c, 0x0000e583,
+ 0xc0000815, 0x00002400, 0x017a674c, 0x0000e109, 0xe0000815, 0x00006400,
+ 0x13000000, 0x00006190, 0x1b42684d, 0x0000c910, 0x000008bb, 0x0000f008,
+ 0x0881025f, 0x0000f404, 0x35386c39, 0x00002180, 0x35386639, 0x00002180,
+ 0x000008bb, 0x0000f200, 0x01400000, 0x00009981, 0x08871fea, 0x00007500,
+ 0x12501800, 0x00006180, 0x03d01202, 0x0000c900, 0x03806800, 0x00001980,
+ 0x3c802cec, 0x00002180, 0xffffffff, 0x00007fa7, 0x00003c05, 0x00001583,
+ 0x01c00000, 0x0000e1b0, 0x02289801, 0x0000c9b0, 0x81602c05, 0x00006130,
+ 0xc2101202, 0x00004930, 0x00000899, 0x00007018, 0x80024e00, 0x00001583,
+ 0x0800304d, 0x0000e20e, 0x00172807, 0x00003196, 0x3c384405, 0x0000a980,
+ 0x00126807, 0x0000698e, 0x3c826cec, 0x00002180, 0x3c383c05, 0x00002900,
+ 0xffffffff, 0x00007f97, 0x13400c4d, 0x00009081, 0x3c826cec, 0x0000a980,
+ 0x01400c38, 0x00001283, 0x01180000, 0x0000f910, 0x00034004, 0x00008980,
+ 0x01300600, 0x00001911, 0x0000089f, 0x0000f008, 0x089f024d, 0x00007100,
+ 0x12101202, 0x0000e100, 0x00109805, 0x00006186, 0xc169c538, 0x0000e100,
+ 0x03c09820, 0x00004980, 0x08a601c6, 0x0000f404, 0x0380000d, 0x000000f0,
+ 0x03402805, 0x00001900, 0x01402800, 0x00009981, 0x00003404, 0x0000e583,
+ 0x13401c04, 0x00008181, 0x00000c4d, 0x00009593, 0x000008ad, 0x0000f033,
+ 0x00008c04, 0x00001583, 0x000008b3, 0x00007013, 0x01007020, 0x00009980,
+ 0x08b1067c, 0x0000f500, 0x82002804, 0x0000e886, 0x01402004, 0x00009900,
+ 0x008806ec, 0x00005f80, 0x00905100, 0x000006c4, 0x01000800, 0x00001980,
+ 0x08b7067c, 0x0000f500, 0x82002804, 0x0000e886, 0x01402004, 0x00009900,
+ 0x008806ec, 0x00005f80, 0x00005000, 0x00000084, 0x000008bc, 0x00007200,
+ 0x93400006, 0x000000d6, 0x13402000, 0x00001981, 0x02400000, 0x00006180,
+ 0x00109807, 0x0000e186, 0x00226809, 0x00006086, 0x041a2807, 0x00003187,
+ 0xc2701605, 0x00000422, 0x08c401c6, 0x00007404, 0xc380004c, 0x000080b0,
+ 0x03f83f09, 0x00000034, 0x20c08c04, 0x0000788a, 0x30400000, 0x00008485,
+ 0x13406800, 0x00001981, 0x29c00000, 0x0000e180, 0x00226845, 0x0000e086,
+ 0x13400ee3, 0x00006081, 0x29000000, 0x0000c980, 0x29400000, 0x00000ad8,
+ 0x3bba3744, 0x00008e1c, 0x39a08747, 0x000004a1, 0x08a7220a, 0x0000f404,
+ 0x17c00800, 0x00006181, 0x929712e2, 0x0000c900, 0x53000c4d, 0x00006081,
+ 0x3b422845, 0x00000900, 0x000008a7, 0x0000f000, 0x0000204b, 0x0000e582,
+ 0x0800300e, 0x00002206, 0x12800000, 0x0000e180, 0x12400080, 0x00004980,
+ 0x12000000, 0x00006180, 0x92909a13, 0x0000c900, 0x000008de, 0x00007210,
+ 0x12725c0e, 0x00008429, 0x80107212, 0x00001502, 0x12000800, 0x00009989,
+ 0x023adf39, 0x0000e001, 0x2402504a, 0x00000900, 0x03810408, 0x00006081,
+ 0x24424849, 0x00008900, 0x24800748, 0x0000898c, 0x2c002c0e, 0x00009680,
+ 0x82c588b0, 0x00001000, 0xb0027a0b, 0x00007902, 0x13800000, 0x00000000,
+ 0xb0026c0b, 0x0000f902, 0x02800000, 0x00000000, 0xb002660b, 0x0000f902,
+ 0x12c00000, 0x00000000, 0xb042500b, 0x00007902, 0x12400000, 0x00008000,
+ 0xc000074f, 0x0000e583, 0x25000000, 0x00000980, 0xb042420b, 0x00007902,
+ 0x03c00000, 0x00000000, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
+ 0x26400000, 0x000009e8, 0x26c00000, 0x000089f0, 0x000008fd, 0x0000f408,
+ 0x27400000, 0x000009f8, 0x27c00000, 0x00001980, 0x0120580a, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x02d05a48, 0x00001100, 0x0012700b, 0x00001502,
+ 0x00000001, 0x0000708b, 0xc1d2434d, 0x00009202, 0x82e0740e, 0x00001908,
+ 0xe200620b, 0x0000f90a, 0x02400000, 0x00000000, 0x00000950, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x0007280c, 0x00009502, 0x02c00000, 0x00006188,
+ 0xc2124248, 0x0000c908, 0x82da4348, 0x00006108, 0x42371ee3, 0x0000c909,
+ 0x00000939, 0x00007010, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
+ 0x02010408, 0x00006081, 0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900,
+ 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980,
+ 0x2a400000, 0x00006180, 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c,
+ 0x09171b44, 0x0000f500, 0x2bc0870b, 0x00000aa1, 0x2b804008, 0x00001900,
+ 0x02001b48, 0x00001880, 0x02426008, 0x0000e002, 0x02c0f808, 0x00000784,
+ 0xec0002ec, 0x00005080, 0x00000000, 0x00008080, 0x02d00000, 0x00006180,
+ 0x0202580b, 0x00004004, 0x03000000, 0x0000f900, 0x00003fc0, 0x00008980,
+ 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x0076080c, 0x0000e586,
+ 0x0076100b, 0x0000b587, 0x700040ec, 0x00005680, 0x003858e0, 0x00000010,
+ 0x703860ec, 0x0000d600, 0x00000000, 0x00008080, 0x700008ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x02d00006, 0x00001980, 0x703848ec, 0x0000d600,
+ 0x00384000, 0x00000000, 0x0418100b, 0x0000e987, 0x700040ec, 0x00005680,
+ 0x00385fc0, 0x00008078, 0xec005aec, 0x00007902, 0x02000000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x0000000b, 0x00001582, 0xec005cec, 0x0000f912,
+ 0x02000000, 0x00008000, 0x00000930, 0x0000f009, 0xffffffff, 0x00007f86,
+ 0x02785f08, 0x00000030, 0xc2f84d0e, 0x00000424, 0xe23f2a0b, 0x0000a880,
+ 0x82c00b48, 0x00006080, 0x1280600c, 0x00008900, 0x802a6a0b, 0x00006502,
+ 0xd2000b48, 0x00000080, 0xd2000000, 0x00009988, 0xffffffff, 0x00007f86,
+ 0x02001b48, 0x00001880, 0x02426008, 0x0000e002, 0x02c0f808, 0x00000784,
+ 0x02c00000, 0x0000e180, 0x0202580b, 0x00004004, 0xc2f10c0e, 0x00007900,
+ 0x00000002, 0x00000080, 0x700040ec, 0x00005680, 0x003858c0, 0x00008010,
+ 0x02d00006, 0x00001980, 0x703848ec, 0x0000d600, 0x00384000, 0x00000000,
+ 0x0418100b, 0x0000e987, 0x700040ec, 0x00005680, 0x00385fc0, 0x00008078,
+ 0x02007f4e, 0x0000e080, 0x23800000, 0x00008980, 0x2802504a, 0x0000e100,
+ 0x02002008, 0x0000c784, 0x2c002c0e, 0x00009680, 0x838588b0, 0x00001000,
+ 0x1282564e, 0x0000e002, 0x0012788e, 0x00002100, 0x28800000, 0x00007900,
+ 0x00207fc0, 0x00008980, 0x82c00a48, 0x0000e080, 0x22400000, 0x00000980,
+ 0x23d00002, 0x0000e180, 0x28ca0005, 0x00004980, 0x28424849, 0x00006100,
+ 0x92000a48, 0x0000c080, 0x12400049, 0x00006084, 0x0032788f, 0x00002080,
+ 0x22100000, 0x00007900, 0x00008016, 0x00008980, 0xb03a7a0e, 0x0000d000,
+ 0x003a7000, 0x00008000, 0xb03a6c0e, 0x00005000, 0x00385000, 0x00008000,
+ 0xb03a660e, 0x00005000, 0x003a5800, 0x00008000, 0xb07a420e, 0x0000d000,
+ 0x00387800, 0x00008000, 0xb07a500e, 0x0000d000, 0x003a4800, 0x00000000,
+ 0x22800000, 0x000088ec, 0x23083804, 0x00006180, 0x23400000, 0x00004980,
+ 0xa8b2764e, 0x0000e100, 0xe3905a0b, 0x0000c900, 0xe272764e, 0x00006100,
+ 0x22401c08, 0x00004081, 0xe8d81302, 0x00009900, 0x814010ec, 0x0000d684,
0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009110ec, 0x0000d780,
0x00d87a01, 0x000080c8, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x16c00000, 0x0000e180, 0x16801002, 0x0000c900,
- 0x17000000, 0x00006180, 0x0000185b, 0x00006106, 0x16001000, 0x0000f900,
- 0x0000c000, 0x00008980, 0x16501000, 0x0000f900, 0x00044040, 0x00000980,
- 0x17400000, 0x0000e180, 0xc000185b, 0x0000e006, 0x17800080, 0x00006180,
- 0x17c00000, 0x00004980, 0x18000000, 0x000086c4, 0x18c00000, 0x000086c8,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x0098b0ec, 0x0000d780, 0x00005800, 0x00000080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x41010515, 0x00006283,
- 0x01402000, 0x00008981, 0x12404800, 0x00009989, 0x00000c85, 0x00007009,
- 0x12406800, 0x00009981, 0x29c00000, 0x0000e180, 0x00224845, 0x00006086,
- 0x12400ee3, 0x0000e081, 0x29000000, 0x0000c980, 0x29400000, 0x00000ad8,
- 0x3bba3744, 0x00008e1c, 0x39a08747, 0x000004a1, 0x0cc72357, 0x00007404,
- 0x1bc00800, 0x00006181, 0xdbd712e2, 0x0000c900, 0x53000c49, 0x0000e081,
- 0x3b422845, 0x00000900, 0x01400c56, 0x00009283, 0x12404000, 0x00006191,
- 0x01400800, 0x0000c991, 0x00000cdd, 0x0000f011, 0x00000cdd, 0x00007200,
- 0x92400005, 0x000080d6, 0xc000074c, 0x0000e583, 0xc0000815, 0x00002400,
- 0x017a674c, 0x0000e109, 0xe0000815, 0x00006400, 0x13000000, 0x00006190,
- 0x1b42684d, 0x0000c910, 0x00000cdc, 0x0000f008, 0x0ca1025e, 0x00007404,
- 0x35386439, 0x0000a180, 0x35385e39, 0x0000a180, 0x00000cdc, 0x0000f200,
- 0x01400000, 0x00009981, 0x0ca72136, 0x00007500, 0x03d01800, 0x0000e180,
- 0x03901202, 0x00004900, 0x03406800, 0x00001980, 0x3c802cec, 0x00002180,
- 0xffffffff, 0x00007fa7, 0x00003c05, 0x00001583, 0x01c00000, 0x0000e1b0,
- 0x02289801, 0x0000c9b0, 0x81602c05, 0x00006130, 0xc2101202, 0x00004930,
- 0x00000cb9, 0x00007018, 0x80024e00, 0x00001583, 0x08003049, 0x0000620e,
- 0x00172807, 0x00003196, 0x3c384405, 0x0000a980, 0x00124807, 0x0000e98e,
- 0x3c824cec, 0x0000a180, 0x3c383c05, 0x00002900, 0xffffffff, 0x00007f97,
- 0x12400c49, 0x00009081, 0x3c824cec, 0x00002980, 0x01400c38, 0x00001283,
- 0x01180000, 0x0000f910, 0x00034004, 0x00008980, 0x01300600, 0x00001911,
- 0x00000cbf, 0x0000f008, 0x0cbf024c, 0x0000f100, 0x03d01202, 0x0000e100,
- 0x00109805, 0x00006186, 0xc169c538, 0x0000e100, 0x03809820, 0x0000c980,
- 0x0cc601c3, 0x00007404, 0x0340000d, 0x000080ec, 0x03002805, 0x00009900,
- 0x01402800, 0x00009981, 0x00003404, 0x0000e583, 0x12401c04, 0x00000181,
- 0x00000c49, 0x00001593, 0x00000ccd, 0x00007033, 0x00008c04, 0x00001583,
- 0x00000cd3, 0x0000f013, 0x01007020, 0x00009980, 0x0cd10a96, 0x0000f500,
- 0x82002804, 0x0000e886, 0x01402004, 0x00009900, 0x008806ec, 0x00005f80,
- 0x00905100, 0x000006c4, 0x01000800, 0x00001980, 0x0cd70a96, 0x0000f500,
- 0x82002804, 0x0000e886, 0x01402004, 0x00009900, 0x008806ec, 0x00005f80,
- 0x00005000, 0x00000084, 0x00000cc7, 0x00007000, 0x00000cdd, 0x00007200,
- 0x92400006, 0x000080d6, 0x12402000, 0x00009981, 0x02400000, 0x00006180,
- 0x00109807, 0x0000e186, 0x00224809, 0x0000e086, 0x041a2807, 0x00003187,
- 0xc2701605, 0x0000003e, 0x0ce501c3, 0x0000f404, 0xc340004c, 0x000000ac,
- 0x03b83f09, 0x00000030, 0x28c08c04, 0x0000788b, 0x30400000, 0x00000686,
- 0x0000204b, 0x0000e582, 0x0800300e, 0x00002206, 0x12800000, 0x0000e180,
- 0x12400080, 0x00004980, 0x12000000, 0x00006180, 0x92909a13, 0x0000c900,
- 0x00000cf1, 0x00007210, 0x12725c0e, 0x00008429, 0x80107212, 0x00001502,
- 0x12000800, 0x00009989, 0x023adf39, 0x0000e001, 0x2402504a, 0x00000900,
- 0x03810408, 0x00006081, 0x24424849, 0x00008900, 0x24800748, 0x0000898c,
- 0x2c002c0e, 0x00009680, 0x824588b0, 0x00009000, 0xb0030209, 0x00007902,
- 0x17400000, 0x00008000, 0xb002e409, 0x00007902, 0x02c00000, 0x00008000,
- 0xb0027e09, 0x00007902, 0x13800000, 0x00000000, 0xb0424009, 0x00007902,
- 0x02800000, 0x00000000, 0xc0000760, 0x00006583, 0x25000000, 0x00000980,
- 0xb0426a09, 0x0000f902, 0x12c00000, 0x00000000, 0x25400000, 0x000009d8,
+ 0x00000002, 0x00008480, 0x00000001, 0x0000f080, 0x0c822c09, 0x00006002,
+ 0x0b022c0d, 0x00003000, 0x00000409, 0x00006583, 0x0b822c0b, 0x00002000,
+ 0x02400000, 0x0000e181, 0x0d822c08, 0x00006002, 0x02400800, 0x0000e191,
+ 0x0c80ac0c, 0x0000e000, 0x0e822c0a, 0x0000e002, 0x09022d05, 0x0000b006,
+ 0x11000000, 0x000084d8, 0x11c00000, 0x000008e0, 0x22400000, 0x000008e8,
+ 0x22c00000, 0x000088f0, 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0,
+ 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8,
0x25c00000, 0x000009e0, 0x26400000, 0x000009e8, 0x26c00000, 0x000089f0,
- 0x00000d10, 0x0000f408, 0x27400000, 0x000009f8, 0x27c00000, 0x00001980,
- 0x0120480b, 0x00002000, 0xffffffff, 0x00007fa7, 0x02504a4d, 0x00001100,
- 0x0012e809, 0x00001502, 0x00000001, 0x0000708b, 0xc1d26b5c, 0x00009202,
- 0x8260740e, 0x00009908, 0xe2385209, 0x0000a088, 0x00000d64, 0x00007010,
- 0xe2384a09, 0x0000a000, 0xffffffff, 0x00007f86, 0x0007280a, 0x00009502,
- 0x02800000, 0x0000e188, 0xc2126a4d, 0x0000c908, 0x829a6b4d, 0x0000e108,
- 0x42371ee3, 0x0000c909, 0x00000d4c, 0x00007010, 0x2a000000, 0x00007900,
- 0x00008080, 0x00008980, 0x02010408, 0x00006081, 0x08001aaa, 0x00002106,
- 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
- 0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
- 0xaab81400, 0x00008a2c, 0x0d2a1c90, 0x00007500, 0x2bc0870a, 0x00008aa1,
- 0x2b804008, 0x00001900, 0x02001b4d, 0x00001880, 0xec0002ec, 0x00005080,
- 0x00000000, 0x00008080, 0x03027808, 0x0000e002, 0x0240f808, 0x00008784,
- 0x02827009, 0x0000e004, 0x02100000, 0x00008980, 0xec0004ec, 0x00005080,
- 0x00000000, 0x00008080, 0x02400000, 0x0000f900, 0x00003fc0, 0x00008980,
- 0x00760809, 0x0000e586, 0x00761008, 0x0000b587, 0x700040ec, 0x00005680,
- 0x003840e0, 0x00000010, 0x703848ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x02100006, 0x00001980,
- 0x703860ec, 0x0000d600, 0x00385000, 0x00008000, 0x04181008, 0x0000e987,
- 0x700040ec, 0x00005680, 0x003847c0, 0x00008078, 0xec0052ec, 0x0000f902,
- 0x02000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x0000000a, 0x00009582,
- 0xec0044ec, 0x0000f912, 0x03000000, 0x00000000, 0x00000d43, 0x0000f009,
- 0xffffffff, 0x00007f86, 0x0278470c, 0x00008028, 0x1200500a, 0x0000e100,
- 0x03d00006, 0x0000c980, 0x02804809, 0x0000e100, 0x0418100f, 0x0000e187,
- 0x8260740e, 0x00001900, 0xe23f2a09, 0x00002880, 0xd3400b4d, 0x00006080,
- 0x82400b4d, 0x00008080, 0x802ae209, 0x00001502, 0xd3400000, 0x00009988,
- 0xffffffff, 0x00007f86, 0x02001b4d, 0x00001880, 0x12427808, 0x00006002,
- 0x0240f808, 0x00008784, 0x02400000, 0x00006180, 0x03027009, 0x00004004,
- 0xc2710c0e, 0x0000f900, 0x00000002, 0x00000080, 0x700040ec, 0x00005680,
- 0x003848c0, 0x00000010, 0x703a48ec, 0x00005600, 0x00386000, 0x00008000,
- 0x700040ec, 0x00005680, 0x00387fc0, 0x00000078, 0x02007f5d, 0x00006080,
- 0x23800000, 0x00008980, 0x28024048, 0x0000e100, 0x02002008, 0x0000c784,
- 0x2c002c0e, 0x00009680, 0x838588b0, 0x00001000, 0x1202465d, 0x00006002,
- 0x0013008e, 0x0000a100, 0x28800000, 0x00007900, 0x00207fc0, 0x00008980,
- 0x82400a4d, 0x00006080, 0x22400000, 0x00000980, 0x23d00002, 0x0000e180,
- 0x28ca0005, 0x00004980, 0x2840500a, 0x00006100, 0x93400a4d, 0x0000c080,
- 0x0280000a, 0x00006084, 0x0033008f, 0x0000a080, 0x22100000, 0x00007900,
- 0x00008016, 0x00008980, 0xb03b020e, 0x00005000, 0x003ae800, 0x00000000,
- 0xb03ae40e, 0x00005000, 0x00385800, 0x00000000, 0xb03a7e0e, 0x00005000,
- 0x003a7000, 0x00008000, 0xb07a6a0e, 0x0000d000, 0x003a5800, 0x00008000,
- 0xb07a400e, 0x00005000, 0x00385000, 0x00008000, 0x22800000, 0x000088ec,
- 0x23083804, 0x00006180, 0x23400000, 0x00004980, 0xa8b2ee5d, 0x0000e100,
- 0xe3904a09, 0x0000c900, 0xe272ee5d, 0x00006100, 0x22401c08, 0x00004081,
- 0xe8d81302, 0x00009900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009110ec, 0x0000d780, 0x00d87a01, 0x000080c8,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x00000001, 0x0000f080, 0x0c822c09, 0x00006002, 0x0b022c0d, 0x00003000,
- 0x00000409, 0x00006583, 0x0b822c0b, 0x00002000, 0x02400000, 0x0000e181,
- 0x0d822c08, 0x00006002, 0x02400800, 0x0000e191, 0x0c80ac0c, 0x0000e000,
- 0x0e822c0a, 0x0000e002, 0x09022d05, 0x0000b006, 0x11000000, 0x000084d8,
- 0x11c00000, 0x000008e0, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0,
- 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
- 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
- 0x26400000, 0x000009e8, 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8,
- 0x27c00000, 0x00000ac0, 0x28400000, 0x00000ac8, 0x11400000, 0x00008acc,
- 0xb6606809, 0x00004417, 0x3000465b, 0x00008394, 0xb8c25f4a, 0x00004409,
- 0x8c00345b, 0x0000838b, 0x7180040c, 0x00007893, 0xf8400000, 0x00000785,
- 0x41408515, 0x00001283, 0xe0001044, 0x0000ec13, 0x00000dfc, 0x00007009,
- 0x02000001, 0x0000e586, 0x00180805, 0x00003586, 0x00100001, 0x00006505,
- 0x00180805, 0x0000b505, 0x00180000, 0x0000e380, 0xc0000001, 0x00002401,
- 0x13005000, 0x00006181, 0xa0001044, 0x0000e402, 0x001000ec, 0x00005780,
- 0x00905100, 0x00008780, 0xc0c06800, 0x0000e180, 0xc0000005, 0x00006407,
- 0x41e09c03, 0x000080c3, 0x8040044c, 0x00001181, 0x0098a6ec, 0x0000df80,
- 0x00005000, 0x00000084, 0x0260640a, 0x00006303, 0x4000085b, 0x00002401,
- 0x00001045, 0x00006402, 0x5000085b, 0x0000b411, 0x60001044, 0x0000e413,
- 0x60000844, 0x0000b40b, 0x0000040b, 0x00001583, 0x00000408, 0x00001583,
- 0xffffffff, 0x00007f86, 0x00000de5, 0x00007008, 0x00000db6, 0x00007008,
- 0xa0001044, 0x00006403, 0x60000e5b, 0x0000b400, 0x0201865b, 0x00001281,
- 0x00018408, 0x00001583, 0x0c02dc4b, 0x0000e80a, 0x00000db6, 0x0000f011,
- 0x00000c4b, 0x00001583, 0x81401e5b, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00000db6, 0x00007038, 0x00000ea4, 0x00007008, 0x22000000, 0x00006180,
- 0x0000105b, 0x0000e403, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0,
- 0x23400000, 0x000008f8, 0x23c00000, 0x00008ac0, 0x0eaf0ce7, 0x00007500,
- 0x28400000, 0x00000ac8, 0x12c00004, 0x00008acc, 0x0243865b, 0x00001281,
- 0x00018409, 0x0000f890, 0x00000000, 0x00000000, 0x8c80040c, 0x0000f893,
- 0x00400001, 0x00000060, 0x0042065b, 0x0000c58c, 0xfcc00408, 0x00007e8b,
- 0x02000001, 0x0000e586, 0x00180805, 0x00003586, 0x00100001, 0x00006505,
- 0x00180805, 0x0000b505, 0x00180000, 0x0000e380, 0xc0000001, 0x00002401,
- 0x13005000, 0x00006181, 0xa0001044, 0x0000e402, 0x001000ec, 0x00005780,
- 0x00905100, 0x00008780, 0xc0c06800, 0x0000e180, 0xc0000005, 0x00006407,
- 0x41e09c03, 0x000080c3, 0x8040044c, 0x00001181, 0x0098a6ec, 0x0000df80,
- 0x00005000, 0x00000084, 0x00109809, 0x00006186, 0x08003008, 0x0000b206,
- 0xc269c538, 0x0000e100, 0xc0000815, 0x0000e400, 0x03d01202, 0x0000e100,
- 0xe0001044, 0x0000e403, 0x03809020, 0x00006180, 0x03415000, 0x00004980,
- 0x0e0801c3, 0x00007404, 0x02c00000, 0x0000e180, 0x84904208, 0x00004900,
- 0x03004809, 0x00009900, 0x02000001, 0x0000e586, 0x00180805, 0x00003586,
+ 0x27400000, 0x000009f8, 0x27c00000, 0x00000ac0, 0x28400000, 0x00000ac8,
+ 0x11400000, 0x00008acc, 0x33e06809, 0x00004417, 0x0800465b, 0x00008294,
+ 0x36425f4a, 0x0000c409, 0x6400345b, 0x0000028b, 0x6c80040c, 0x0000f892,
+ 0x60400000, 0x00000585, 0x41408515, 0x00001283, 0xe0001044, 0x0000ec13,
+ 0x000009e8, 0x0000f009, 0x02000001, 0x0000e586, 0x00180805, 0x00003586,
0x00100001, 0x00006505, 0x00180805, 0x0000b505, 0x00180000, 0x0000e380,
- 0xc0000001, 0x00002401, 0x13005000, 0x00006181, 0xa0001044, 0x0000e402,
+ 0xc0000001, 0x00002401, 0x17405000, 0x00006181, 0xa0001044, 0x0000e402,
0x001000ec, 0x00005780, 0x00905100, 0x00008780, 0xc0c06800, 0x0000e180,
- 0xc0000005, 0x00006407, 0x41e09c03, 0x000080c3, 0x8040044c, 0x00001181,
- 0x0098a6ec, 0x0000df80, 0x00005000, 0x00000084, 0x08003008, 0x0000e206,
- 0xe0001044, 0x00003402, 0x030000a0, 0x00006180, 0x20001044, 0x0000e403,
- 0x3000005b, 0x0000e401, 0x60001044, 0x00003403, 0x35387439, 0x0000a100,
- 0x0e2201d5, 0x00007404, 0x353a4639, 0x00002180, 0x03000408, 0x000000ac,
- 0x02000001, 0x0000e586, 0x00180805, 0x00003586, 0x00100001, 0x00006505,
- 0x00180805, 0x0000b505, 0x00180000, 0x0000e380, 0xc0000001, 0x00002401,
- 0x13005000, 0x00006181, 0xa0001044, 0x0000e402, 0x001000ec, 0x00005780,
- 0x00905100, 0x00008780, 0xc0c06800, 0x0000e180, 0xc0000005, 0x00006407,
- 0x41e09c03, 0x000080c3, 0x80400c4c, 0x00009181, 0x0098a6ec, 0x0000df80,
- 0x00005000, 0x00000084, 0x93001ee3, 0x00006080, 0x00000e5b, 0x00006402,
- 0x81c0265b, 0x00006283, 0x12800020, 0x00008980, 0x12400000, 0x0000e180,
- 0x92f71a4c, 0x00004100, 0x03800000, 0x0000e180, 0x0800304c, 0x0000e206,
- 0x03400000, 0x000080f0, 0x02c00000, 0x000080e8, 0x02400000, 0x000005fc,
- 0x17800000, 0x000005f4, 0x17000000, 0x000084fc, 0x13400000, 0x00006180,
- 0x92909a13, 0x0000c900, 0x00000e4c, 0x0000f410, 0x9262dc5b, 0x00006101,
- 0xd2400800, 0x00004991, 0x92c02a4b, 0x0000e080, 0x9252624c, 0x00000900,
- 0x03ba8f50, 0x00008034, 0x033a9f52, 0x0000002c, 0x02baaf54, 0x00008024,
- 0x17fabf56, 0x00000538, 0x177acf58, 0x00000530, 0x137ad74e, 0x0000843c,
- 0x1301ff0e, 0x00009281, 0x00010c4c, 0x00001583, 0x00000ec7, 0x0000700b,
- 0x4200155b, 0x00009283, 0x4200255b, 0x00006283, 0xd000084a, 0x0000a411,
- 0xffffffff, 0x00007f86, 0x40000505, 0x00006583, 0xe000084a, 0x0000a411,
- 0x00000f64, 0x0000f013, 0x41400d5b, 0x00001283, 0x00000f4f, 0x0000f013,
- 0x26787709, 0x00000910, 0x027adf39, 0x00006001, 0x2402504a, 0x00000900,
- 0x03810409, 0x0000e081, 0x24424849, 0x00008900, 0x24800000, 0x000089cc,
- 0x2c002c0e, 0x00009680, 0x92c588b0, 0x00009000, 0xb0030a4b, 0x0000f902,
- 0x18000000, 0x00000000, 0xb07a724b, 0x00002080, 0x2578670d, 0x00008918,
- 0xb078604b, 0x0000a080, 0xc0000761, 0x0000e583, 0x25c0580b, 0x00008900,
- 0xb0385c4b, 0x0000a000, 0x263aff0a, 0x00008928, 0xb078504b, 0x00002000,
- 0x26faef5e, 0x00008930, 0xb03aec4b, 0x00002080, 0x277a7f5c, 0x00008938,
- 0xb002e64b, 0x0000f902, 0x13c00000, 0x00008000, 0x00000e77, 0x00007408,
- 0x27c2684d, 0x00009900, 0xb07a6a4b, 0x0000a000, 0x0122600b, 0x0000a000,
- 0xffffffff, 0x00007fa7, 0x12d2624e, 0x00009100, 0x0013004b, 0x00009502,
- 0x00000f18, 0x0000700b, 0xc1d2735d, 0x00001202, 0x92c00a4e, 0x0000e090,
- 0x22400000, 0x00008990, 0x93800a4e, 0x0000e090, 0x22800000, 0x00008990,
- 0x00000ed2, 0x0000f008, 0x02407f60, 0x00006080, 0x23800000, 0x00008980,
- 0x2800600c, 0x0000e100, 0x02402009, 0x0000c784, 0x2c002c0e, 0x00009680,
- 0x930588b0, 0x00001000, 0x03006660, 0x0000e002, 0x0013088e, 0x00002100,
- 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x23d00002, 0x0000e180,
- 0x28ca0005, 0x00004980, 0x2840500a, 0x00006100, 0x0033088f, 0x0000e080,
- 0x0280000a, 0x00006084, 0x22c00000, 0x00008980, 0x22100000, 0x00007900,
- 0x00008016, 0x00008980, 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8,
- 0xb03b0a4c, 0x0000d000, 0x003b0000, 0x00008000, 0xb03aec4c, 0x0000d000,
- 0x00385800, 0x00000000, 0xb03ae64c, 0x0000d000, 0x003a7800, 0x00000000,
- 0xb07a724c, 0x0000d000, 0x003a6800, 0x00008000, 0xb078604c, 0x00005000,
- 0x00385000, 0x00008000, 0xe2730660, 0x00006100, 0x23083804, 0x00004980,
- 0x23400000, 0x00006180, 0x22401c09, 0x0000c081, 0xe3925a4b, 0x0000e100,
- 0xa8b30660, 0x0000c900, 0xe8d81302, 0x00009900, 0xe942065b, 0x0000458c,
- 0xf1400408, 0x0000f28f, 0x0ea60ce7, 0x00007300, 0x12c02800, 0x00001980,
+ 0xc0000005, 0x00006407, 0x41e09c03, 0x000080c3, 0x8040045d, 0x00001181,
+ 0x0098a6ec, 0x0000df80, 0x00005000, 0x00000084, 0x0260640a, 0x00006303,
+ 0x4000085b, 0x00002401, 0x00001045, 0x00006402, 0x5000085b, 0x0000b411,
+ 0x60001044, 0x0000e413, 0x60000844, 0x0000b40b, 0x0000040b, 0x00001583,
+ 0x00000408, 0x00001583, 0xffffffff, 0x00007f86, 0x000009d1, 0x00007008,
+ 0x000009a2, 0x0000f008, 0xa0001044, 0x00006403, 0x60000e5b, 0x0000b400,
+ 0x0201865b, 0x00001281, 0x00018408, 0x00001583, 0x0c02dc5c, 0x0000e80a,
+ 0x000009a2, 0x00007011, 0x00000c5c, 0x00001583, 0x81401e5b, 0x00009283,
+ 0xffffffff, 0x00007f86, 0x000009a2, 0x0000f038, 0x00000a91, 0x0000f008,
0x22000000, 0x00006180, 0x0000105b, 0x0000e403, 0x22400000, 0x000008e8,
0x22c00000, 0x000088f0, 0x23400000, 0x000008f8, 0x23c00000, 0x00008ac0,
- 0x0eaf0ce7, 0x00007500, 0x28400000, 0x00000ac8, 0x12c00004, 0x00008acc,
- 0x02000001, 0x0000e586, 0x00180805, 0x00003586, 0x00100001, 0x00006505,
- 0x00180805, 0x0000b505, 0x00180000, 0x0000e380, 0xc0000001, 0x00002401,
- 0x13005000, 0x00006181, 0xa0001044, 0x0000e402, 0x001000ec, 0x00005780,
- 0x00905100, 0x00008780, 0xc0c06800, 0x0000e180, 0xc0000005, 0x00006407,
- 0x41e09c03, 0x000080c3, 0x8040044c, 0x00001181, 0x0098a6ec, 0x0000df80,
- 0x00005000, 0x00000084, 0x0260640a, 0x00006303, 0x00000845, 0x0000a402,
- 0x5000085b, 0x0000e411, 0x60001044, 0x0000b413, 0xffffffff, 0x00007f86,
- 0x60000844, 0x00006c0b, 0xe400040b, 0x00004589, 0x6f000408, 0x0000f08e,
- 0x1308690d, 0x00001900, 0x0000004c, 0x00001582, 0x4200155b, 0x00006283,
- 0x92801800, 0x00008991, 0xffffffff, 0x00007f86, 0x4200255b, 0x00006283,
- 0xd000084a, 0x0000a411, 0xffffffff, 0x00007f86, 0xe000084a, 0x0000ec11,
- 0x12800505, 0x00004593, 0x07e00d5b, 0x0000f894, 0x9320740e, 0x00009900,
- 0xe200624c, 0x00007902, 0x02800000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x0007280c, 0x00009502, 0x00000f1a, 0x0000f00b, 0x93000b4e, 0x00006080,
- 0x92e0740e, 0x00008900, 0x802aea4c, 0x0000e502, 0xd3800b4e, 0x00000080,
- 0xd3800000, 0x0000e188, 0x12000000, 0x00004980, 0xe23f2a4b, 0x00002880,
- 0x12c01b4e, 0x0000e080, 0x1240600c, 0x00004900, 0xd2310c0e, 0x0000f900,
- 0x00000002, 0x00000080, 0x1300f84b, 0x0000e784, 0x02407f60, 0x00000080,
- 0x0302e04b, 0x0000e002, 0x23800000, 0x00008980, 0x700040ec, 0x00005680,
- 0x003a40c0, 0x00000010, 0x0342784c, 0x00006004, 0x12100006, 0x00000980,
- 0x703860ec, 0x0000d600, 0x00386800, 0x00000000, 0x28024849, 0x0000e100,
- 0x04181048, 0x0000e187, 0x02402009, 0x00006784, 0x0013088e, 0x00002100,
- 0x2c002c0e, 0x00009680, 0x930588b0, 0x00001000, 0x12424e60, 0x0000e002,
- 0x22400000, 0x00000980, 0x28800000, 0x00007900, 0x00207fc0, 0x00008980,
- 0x700040ec, 0x00005680, 0x003a47c0, 0x00000078, 0x23d00002, 0x0000e180,
- 0x28ca0005, 0x00004980, 0x2840500a, 0x00006100, 0x92c00a4e, 0x0000c080,
- 0x0280000a, 0x00006084, 0x93800a4e, 0x00000080, 0x22100000, 0x00007900,
- 0x00008016, 0x00008980, 0xb03b0a4c, 0x0000d000, 0x003b0000, 0x00008000,
- 0xb03aec4c, 0x0000d000, 0x00385800, 0x00000000, 0xb03ae64c, 0x0000d000,
- 0x003a7800, 0x00000000, 0xb07a484c, 0x0000d000, 0x00385000, 0x00008000,
- 0xb07a724c, 0x0000d000, 0x003a6800, 0x00008000, 0x001110ec, 0x00005780,
- 0x00d87a01, 0x000080c8, 0x22800000, 0x0000e180, 0x0033088f, 0x0000e080,
- 0x22c00000, 0x00006180, 0x23083804, 0x00004980, 0x23400000, 0x00006180,
- 0xe2730660, 0x00004900, 0x22401c09, 0x00006081, 0xa8b30660, 0x00000900,
- 0xa3a8114b, 0x00008a0c, 0xdac2065b, 0x0000c58c, 0xea000408, 0x00006b8d,
- 0xda82065b, 0x0000458c, 0xe9e00408, 0x00006b8c, 0x03000000, 0x00006180,
- 0x04127009, 0x0000e187, 0x82371809, 0x00006086, 0x001a700c, 0x00003186,
+ 0x0a9c08d4, 0x00007500, 0x28400000, 0x00000ac8, 0x12c00004, 0x00008acc,
+ 0x0243865b, 0x00001281, 0x00018409, 0x0000f890, 0x00000000, 0x00000000,
+ 0x8780040c, 0x0000f892, 0x00400001, 0x00000060, 0x0042065b, 0x0000c58c,
+ 0xfcc00408, 0x00007e8b, 0x02000001, 0x0000e586, 0x00180805, 0x00003586,
+ 0x00100001, 0x00006505, 0x00180805, 0x0000b505, 0x00180000, 0x0000e380,
+ 0xc0000001, 0x00002401, 0x17405000, 0x00006181, 0xa0001044, 0x0000e402,
+ 0x001000ec, 0x00005780, 0x00905100, 0x00008780, 0xc0c06800, 0x0000e180,
+ 0xc0000005, 0x00006407, 0x41e09c03, 0x000080c3, 0x8040045d, 0x00001181,
+ 0x0098a6ec, 0x0000df80, 0x00005000, 0x00000084, 0x00109809, 0x00006186,
+ 0x08003008, 0x0000b206, 0xc269c538, 0x0000e100, 0xc0000815, 0x0000e400,
+ 0x12101202, 0x0000e100, 0xe0001044, 0x0000e403, 0x03c09020, 0x0000e180,
+ 0x03815000, 0x00004980, 0x09f401c6, 0x0000f404, 0x03000000, 0x00006180,
+ 0x84904208, 0x00004900, 0x03404809, 0x00001900, 0x02000001, 0x0000e586,
+ 0x00180805, 0x00003586, 0x00100001, 0x00006505, 0x00180805, 0x0000b505,
+ 0x00180000, 0x0000e380, 0xc0000001, 0x00002401, 0x17405000, 0x00006181,
+ 0xa0001044, 0x0000e402, 0x001000ec, 0x00005780, 0x00905100, 0x00008780,
+ 0xc0c06800, 0x0000e180, 0xc0000005, 0x00006407, 0x41e09c03, 0x000080c3,
+ 0x8040045d, 0x00001181, 0x0098a6ec, 0x0000df80, 0x00005000, 0x00000084,
+ 0x08003008, 0x0000e206, 0xe0001044, 0x00003402, 0x034000a0, 0x0000e180,
+ 0x20001044, 0x0000e403, 0x3000005b, 0x0000e401, 0x60001044, 0x00003403,
+ 0x35387c39, 0x00002100, 0x0a0e01d7, 0x0000f404, 0x353a4639, 0x00002180,
+ 0x03400408, 0x000000b0, 0x02000001, 0x0000e586, 0x00180805, 0x00003586,
+ 0x00100001, 0x00006505, 0x00180805, 0x0000b505, 0x00180000, 0x0000e380,
+ 0xc0000001, 0x00002401, 0x17405000, 0x00006181, 0xa0001044, 0x0000e402,
+ 0x001000ec, 0x00005780, 0x00905100, 0x00008780, 0xc0c06800, 0x0000e180,
+ 0xc0000005, 0x00006407, 0x41e09c03, 0x000080c3, 0x80400c5d, 0x00009181,
+ 0x0098a6ec, 0x0000df80, 0x00005000, 0x00000084, 0x97401ee3, 0x00006080,
+ 0x00000e5b, 0x00006402, 0x81c0265b, 0x00006283, 0x12800020, 0x00008980,
+ 0x12400000, 0x0000e180, 0x97371a5d, 0x00004100, 0x03800000, 0x0000e180,
+ 0x0800305d, 0x0000e206, 0x03400000, 0x000080f0, 0x02c00000, 0x000080e8,
+ 0x02400000, 0x000006c0, 0x17c00000, 0x000085f8, 0x13c00000, 0x000084f4,
+ 0x13000000, 0x0000e180, 0x92909a13, 0x0000c900, 0x00000a38, 0x00007410,
+ 0x9262dc5b, 0x00006101, 0xd2400800, 0x00004991, 0x97002a5c, 0x0000e080,
+ 0x9252ea5d, 0x00000900, 0x03ba8f50, 0x00008034, 0x033a9f52, 0x0000002c,
+ 0x02baaf54, 0x00008024, 0x183abf56, 0x0000853c, 0x17bacf58, 0x0000843c,
+ 0x133ad74e, 0x00008434, 0x1741ff0e, 0x00009281, 0x00010c5d, 0x00001583,
+ 0x00000ab4, 0x0000700b, 0x4200155b, 0x00009283, 0x4200255b, 0x00006283,
+ 0xd000084a, 0x0000a411, 0xffffffff, 0x00007f86, 0x40000505, 0x00006583,
+ 0xe000084a, 0x0000a411, 0x00000b51, 0x00007013, 0x41400d5b, 0x00001283,
+ 0x00000b3d, 0x00007013, 0x26787709, 0x00000910, 0x027adf39, 0x00006001,
+ 0x2702f05e, 0x00000900, 0x03810409, 0x0000e081, 0x2402504a, 0x00000900,
+ 0x24400749, 0x00008988, 0x2c002c0e, 0x00009680, 0x970588b0, 0x00009000,
+ 0xb03af25c, 0x00002080, 0xb03a745c, 0x0000a080, 0xb0424a5c, 0x00007902,
+ 0x12000000, 0x00000000, 0x24c00000, 0x00006180, 0x2540680d, 0x0000c900,
+ 0xc000075e, 0x0000e583, 0x2580600c, 0x00000900, 0xb078605c, 0x0000a080,
+ 0x25f8570b, 0x00008920, 0xb078585c, 0x0000a000, 0xb038545c, 0x00002000,
+ 0x26baff60, 0x0000892c, 0x277a6f4f, 0x00008938, 0xb03a7a5c, 0x0000a000,
+ 0xb03a6e5c, 0x00002080, 0x00000a64, 0x00007408, 0x27c2604c, 0x00009900,
+ 0xb03a665c, 0x00002000, 0x0122e80a, 0x00002000, 0xffffffff, 0x00007fa7,
+ 0x1712ea49, 0x00001100, 0x0012785c, 0x00001502, 0x00000b06, 0x0000f00b,
+ 0xc1d24b4e, 0x00001202, 0x97000a49, 0x00006090, 0x22400000, 0x00008990,
+ 0x92400a49, 0x0000e090, 0x22800000, 0x00008990, 0x00000abf, 0x0000f008,
+ 0x02407f4f, 0x0000e080, 0x23800000, 0x00008980, 0x2800600c, 0x0000e100,
+ 0x02402009, 0x0000c784, 0x2c002c0e, 0x00009680, 0x974588b0, 0x00001000,
+ 0x0300664f, 0x00006002, 0x0012f08e, 0x00002100, 0x28800000, 0x00007900,
+ 0x00207fc0, 0x00008980, 0x23d00002, 0x0000e180, 0x28ca0005, 0x00004980,
+ 0x2840580b, 0x00006100, 0x0032f08f, 0x0000e080, 0x02c0000b, 0x00006084,
+ 0x22c00000, 0x00008980, 0x22100000, 0x00007900, 0x00008016, 0x00008980,
+ 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8, 0xb03af25d, 0x0000d000,
+ 0x003a7800, 0x00000000, 0xb03a745d, 0x00005000, 0x00385000, 0x00008000,
+ 0xb03a6e5d, 0x0000d000, 0x003a6000, 0x00000000, 0xb07a4a5d, 0x00005000,
+ 0x003a4000, 0x00008000, 0xb078605d, 0x00005000, 0x00385800, 0x00000000,
+ 0xe2727e4f, 0x00006100, 0x23083804, 0x00004980, 0x23400000, 0x00006180,
+ 0x22401c09, 0x0000c081, 0xe392e25c, 0x0000e100, 0xa8b27e4f, 0x0000c900,
+ 0xe8d81302, 0x00009900, 0xe922065b, 0x0000c58d, 0x71200408, 0x0000728f,
+ 0x0a9308d4, 0x00007300, 0x12c02800, 0x00001980, 0x22000000, 0x00006180,
+ 0x0000105b, 0x0000e403, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0,
+ 0x23400000, 0x000008f8, 0x23c00000, 0x00008ac0, 0x0a9c08d4, 0x00007500,
+ 0x28400000, 0x00000ac8, 0x12c00004, 0x00008acc, 0x02000001, 0x0000e586,
+ 0x00180805, 0x00003586, 0x00100001, 0x00006505, 0x00180805, 0x0000b505,
+ 0x00180000, 0x0000e380, 0xc0000001, 0x00002401, 0x17405000, 0x00006181,
+ 0xa0001044, 0x0000e402, 0x001000ec, 0x00005780, 0x00905100, 0x00008780,
+ 0xc0c06800, 0x0000e180, 0xc0000005, 0x00006407, 0x41e09c03, 0x000080c3,
+ 0x8040045d, 0x00001181, 0x0098a6ec, 0x0000df80, 0x00005000, 0x00000084,
+ 0x0260640a, 0x00006303, 0x00000845, 0x0000a402, 0x5000085b, 0x0000e411,
+ 0x60001044, 0x0000b413, 0xffffffff, 0x00007f86, 0x60000844, 0x00006c0b,
+ 0xe3e0040b, 0x0000c588, 0xef000408, 0x0000708d, 0x1748690d, 0x00001900,
+ 0x0000005d, 0x00001582, 0x4200155b, 0x00006283, 0x92801800, 0x00008991,
+ 0xffffffff, 0x00007f86, 0x4200255b, 0x00006283, 0xd000084a, 0x0000a411,
+ 0xffffffff, 0x00007f86, 0xe000084a, 0x0000ec11, 0x12800505, 0x0000c592,
+ 0x88000d5b, 0x00007893, 0x9760740e, 0x00009900, 0xe200625d, 0x00007902,
+ 0x02c00000, 0x00008000, 0xffffffff, 0x00007fa7, 0x0007280c, 0x00009502,
+ 0x00000b08, 0x0000700b, 0x97400b49, 0x0000e080, 0x9720740e, 0x00008900,
+ 0x802a725d, 0x00006502, 0xd2400b49, 0x00000080, 0xd2400000, 0x00006188,
+ 0x12c0600c, 0x0000c900, 0xe23f2a5c, 0x00002880, 0x03000000, 0x00006180,
+ 0x17001b49, 0x00004880, 0xc3310c0e, 0x0000f900, 0x00000002, 0x00000080,
+ 0x1280580b, 0x00006100, 0x1740f85c, 0x00004784, 0x02c2685c, 0x00006002,
+ 0x23800000, 0x00008980, 0x700040ec, 0x00005680, 0x003860c0, 0x00000010,
+ 0x0242605d, 0x0000e004, 0x03100006, 0x00000980, 0x703858ec, 0x00005600,
+ 0x00384800, 0x00008000, 0x02407f4f, 0x0000e080, 0x0418100c, 0x00002187,
+ 0x2802584b, 0x0000e100, 0x02402009, 0x0000c784, 0x2c002c0e, 0x00009680,
+ 0x974588b0, 0x00001000, 0x12c25e4f, 0x00006002, 0x0012f08e, 0x00002100,
+ 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x700040ec, 0x00005680,
+ 0x003867c0, 0x00000078, 0x22400000, 0x0000e180, 0x23d00002, 0x0000c980,
+ 0x28ca0005, 0x00006180, 0x2842504a, 0x00004900, 0x97000a49, 0x0000e080,
+ 0x1280004a, 0x00000084, 0x92400a49, 0x00006080, 0x0032f08f, 0x00002080,
+ 0x22100000, 0x00007900, 0x00008016, 0x00008980, 0xb03af25d, 0x0000d000,
+ 0x003a7800, 0x00000000, 0xb03a745d, 0x00005000, 0x00385000, 0x00008000,
+ 0xb03a6e5d, 0x0000d000, 0x003a6000, 0x00000000, 0xb07a585d, 0x00005000,
+ 0x003a5000, 0x00000000, 0xb07a4a5d, 0x00005000, 0x003a4000, 0x00008000,
+ 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8, 0x22800000, 0x000088ec,
+ 0x23083804, 0x00006180, 0x23400000, 0x00004980, 0xa8b27e4f, 0x0000e100,
+ 0xe2727e4f, 0x00004900, 0x22401c09, 0x00006081, 0xe8d81302, 0x00000900,
+ 0xe392e25c, 0x00009900, 0xda82065b, 0x0000458c, 0xe9e00408, 0x00006b8c,
+ 0xda42065b, 0x0000458c, 0xe9c00408, 0x00006b8b, 0x03000000, 0x00006180,
+ 0x04124809, 0x00006187, 0x82371809, 0x00006086, 0x001a480c, 0x0000b186,
0x2a000000, 0x00007900, 0x00008080, 0x00008980, 0x02410409, 0x00006081,
0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980,
0x2b592800, 0x0000f900, 0x0034c678, 0x00000980, 0x2a400000, 0x00006180,
- 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c, 0x0f2c1c90, 0x0000f500,
+ 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c, 0x0b1a1b44, 0x0000f500,
0x2bc0870c, 0x00008aa1, 0x2b804809, 0x00001900, 0xec0002ec, 0x00005080,
- 0x00000000, 0x00008080, 0x12c01b4e, 0x0000e080, 0x02500000, 0x0000c980,
- 0x02800000, 0x0000f900, 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080,
- 0x00000000, 0x00008080, 0x00761009, 0x00006587, 0x0076080a, 0x0000b586,
- 0x700040ec, 0x00005680, 0x003848e0, 0x00008010, 0x703850ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x1300f84b, 0x0000e784, 0x02500006, 0x00000980,
- 0x0342e04b, 0x00006002, 0x04181009, 0x00002187, 0x700008ec, 0x00005680,
- 0x00000000, 0x00008080, 0x0302784c, 0x00001004, 0x703868ec, 0x00005600,
- 0x00386000, 0x00008000, 0x700040ec, 0x00005680, 0x00384fc0, 0x00000078,
- 0xec0052ec, 0x0000f902, 0x02400000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x0000000a, 0x00009582, 0xec004cec, 0x00007912, 0x02800000, 0x00000000,
- 0x00000f45, 0x00007009, 0x00000ed8, 0x0000f400, 0xffffffff, 0x00007f86,
- 0x03004809, 0x00009900, 0x3502644b, 0x00002182, 0xb000084a, 0x00006c01,
- 0xffffffff, 0x00007f97, 0x93000a4c, 0x00009080, 0x350a644b, 0x00002982,
- 0x12c20438, 0x00001283, 0x03000020, 0x00006190, 0x01800000, 0x0000c990,
- 0x01400000, 0x0000e190, 0x01c00000, 0x00004990, 0x00000e58, 0x00007008,
+ 0x00000000, 0x00008080, 0x17001b49, 0x00006080, 0x03100000, 0x0000c980,
+ 0x03400000, 0x00007900, 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080,
+ 0x00000000, 0x00008080, 0x0076100c, 0x00006587, 0x0076080d, 0x00003586,
+ 0x700040ec, 0x00005680, 0x003860e0, 0x00008010, 0x703868ec, 0x00005600,
+ 0x00000000, 0x00008080, 0x1740f85c, 0x0000e784, 0x03100006, 0x00000980,
+ 0x02c2685c, 0x00006002, 0x0418100c, 0x00002187, 0x700008ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x0242605d, 0x00001004, 0x703858ec, 0x00005600,
+ 0x00384800, 0x00008000, 0x700040ec, 0x00005680, 0x003867c0, 0x00000078,
+ 0xec005aec, 0x00007902, 0x02400000, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x0000000b, 0x00001582, 0xec005cec, 0x0000f912, 0x02400000, 0x00000000,
+ 0x00000b33, 0x00007009, 0x00000ac5, 0x00007400, 0xffffffff, 0x00007f86,
+ 0x02f85f09, 0x00000030, 0x3502ec5c, 0x00002182, 0x12c20438, 0x0000e283,
+ 0xb000084a, 0x00002401, 0x03000020, 0x00006190, 0x01800000, 0x0000c990,
+ 0x01400000, 0x0000e190, 0x01c00000, 0x00004990, 0x00000a44, 0x0000f408,
+ 0x83001000, 0x0000e190, 0x97400a5d, 0x0000c080, 0x350aec5c, 0x00002982,
0x02a7f800, 0x00007900, 0x00004666, 0x00000980, 0x02c1e000, 0x00007900,
- 0x003aad78, 0x00000980, 0x83001000, 0x00001980, 0xc3001000, 0x00006181,
- 0x08001a08, 0x00006106, 0x0f641c63, 0x0000f500, 0x82200500, 0x00008022,
- 0x02401002, 0x00009900, 0x3522644b, 0x00002180, 0x00000438, 0x0000e583,
- 0x8628284a, 0x0000a005, 0x03000020, 0x0000e1c8, 0x01800000, 0x000049c8,
- 0x01400000, 0x000061c8, 0x01c00000, 0x0000c9c8, 0x00000e56, 0x00007440,
- 0x83001000, 0x000061c8, 0x93000a4c, 0x0000c080, 0x3522644b, 0x0000a980,
- 0x00000f5f, 0x00007400, 0x02a62000, 0x0000f900, 0x00004666, 0x00000980,
- 0x02eca800, 0x00007900, 0x001e6a48, 0x00008980, 0xffc00000, 0x00001980,
- 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x00001632, 0x0000f000, 0x00002409, 0x00001583, 0x00002c09, 0x00009583,
- 0x00001c09, 0x00009583, 0x00000fc4, 0x0000f008, 0x00000fcb, 0x0000f008,
- 0x00000fcd, 0x0000f010, 0x14009800, 0x00007900, 0x00001c00, 0x00000980,
- 0x0f85211a, 0x0000f404, 0x03c01800, 0x0000e181, 0x1200500a, 0x0000c900,
- 0x1440580b, 0x00001900, 0x0000044d, 0x00009583, 0x84ff1fe3, 0x00001908,
- 0xee009e13, 0x0000a088, 0x00000f8e, 0x00007010, 0xffffffff, 0x00007f97,
- 0x04c03c13, 0x00001281, 0x04c01413, 0x00001181, 0x00000c13, 0x00009583,
- 0x00000f93, 0x0000f01b, 0x11dcf800, 0x0000f900, 0x003e9b6c, 0x00008980,
- 0x0f931d18, 0x0000f500, 0x11b85f0a, 0x00000410, 0x03626c4d, 0x00001900,
- 0x70408e49, 0x0000f902, 0x03800000, 0x00008000, 0x03000ce0, 0x00001283,
- 0x00000fad, 0x0000f00b, 0x0f981cba, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x0000045e, 0x00001583, 0x0980000a, 0x00006190, 0x09401800, 0x00004990,
- 0x09000000, 0x00009990, 0x00000fad, 0x0000f008, 0x0fa11c9a, 0x0000f300,
- 0x0a5a6000, 0x0000f900, 0x00286636, 0x00008980, 0x84c00ee3, 0x0000e080,
- 0x00001000, 0x00006504, 0x4fb84813, 0x0000a180, 0x00400000, 0x00007900,
- 0x00008050, 0x00000980, 0xc0200c02, 0x000080cd, 0xffffffff, 0x00007f86,
- 0x02400809, 0x00009080, 0x0000101a, 0x00007400, 0x4fb84813, 0x00002980,
- 0x4f800013, 0x00005100, 0x00401800, 0x00000080, 0x43006510, 0x00009283,
- 0x01c00000, 0x00006188, 0x01008811, 0x0000c908, 0x81988310, 0x0000e108,
- 0x0140700e, 0x00004908, 0x00000fda, 0x0000f010, 0x40005d0f, 0x00001583,
- 0x8180650f, 0x00006199, 0xc1a87d0f, 0x00008919, 0x03000000, 0x0000f930,
- 0x00008040, 0x00008980, 0x00000fda, 0x00007018, 0x029ef000, 0x0000f900,
- 0x003e9b6c, 0x00008980, 0x02c83000, 0x0000f900, 0x003c8678, 0x00000980,
- 0x01800000, 0x00006180, 0x08001a08, 0x00006106, 0x01400000, 0x000080dc,
- 0x83001000, 0x00006180, 0xc2300600, 0x0000c901, 0x02600702, 0x00008022,
- 0x0fc41c63, 0x00007100, 0x43001d10, 0x00006283, 0x03002000, 0x00008981,
- 0x04c03000, 0x0000e191, 0x04e04c09, 0x00004909, 0x00000fdb, 0x00007400,
- 0xffffffff, 0x00007f86, 0x03e09c13, 0x00001901, 0x00000fdb, 0x00007200,
- 0x83003801, 0x000000fe, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
- 0x02b26800, 0x0000f900, 0x00120902, 0x00000980, 0x02fa9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x01b84f08, 0x00008014, 0x01c00000, 0x0000e180,
- 0x08001a08, 0x00006106, 0x00000fc3, 0x00007400, 0x83002800, 0x0000e180,
- 0xc2300600, 0x0000c901, 0x02600702, 0x00008022, 0x03001800, 0x00009981,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x04e07c0f, 0x0000e101, 0x0020480e, 0x0000e086, 0x82c07cec, 0x00007902,
- 0x03400000, 0x00000604, 0x8228480e, 0x00006086, 0x00002012, 0x00003586,
- 0x04284812, 0x0000e087, 0x0418480e, 0x0000b187, 0x12804008, 0x00006100,
- 0x86204812, 0x00006087, 0x0378970f, 0x00000418, 0x03b8770d, 0x0000803c,
- 0x0fee1d3a, 0x0000f500, 0x11c6d800, 0x0000f900, 0x0032a52e, 0x00000980,
- 0x12387f0e, 0x00000424, 0x0ff0101e, 0x00007300, 0x03409f08, 0x0000803b,
- 0x00002409, 0x0000e583, 0x04c00ee3, 0x00000881, 0x00000fff, 0x00007013,
- 0x43001d10, 0x00009283, 0x29c00000, 0x00006188, 0x29000000, 0x00004988,
- 0x29400000, 0x0000e188, 0x29800000, 0x0000c988, 0x00000fff, 0x00007010,
- 0x3bb84f08, 0x00008e34, 0x39f85f0a, 0x00000e18, 0x0000100c, 0x0000f400,
- 0x52000c10, 0x000086fe, 0x53000c13, 0x0000e081, 0xdbd712e2, 0x00000900,
- 0x02800800, 0x000000ec, 0x0018480a, 0x00006186, 0x8220600b, 0x0000b086,
- 0x29c00000, 0x0000e180, 0x0d80860a, 0x00006002, 0x29000000, 0x00008ad4,
- 0x29800000, 0x00000edc, 0x39a08000, 0x000004e1, 0x1bc00000, 0x0000e181,
- 0xdbd712e2, 0x0000c900, 0x53000ee3, 0x00006081, 0x3b80580b, 0x0000c900,
- 0x3b40500a, 0x00009900, 0x100d2357, 0x00007004, 0x00001c09, 0x00006583,
- 0x02000000, 0x00008981, 0x02000800, 0x00006189, 0x00001000, 0x00006504,
- 0xc0c00000, 0x00006180, 0x00400028, 0x0000c980, 0x00000408, 0x0000e583,
- 0x96604001, 0x00002001, 0xc0000800, 0x0000e189, 0xc0001000, 0x0000c991,
- 0x00001c09, 0x00006583, 0x80e04408, 0x00000901, 0x0000101c, 0x00007013,
- 0x00880eec, 0x0000df80, 0x00905000, 0x000080c4, 0x008806ec, 0x00005f80,
- 0x00005000, 0x00000084, 0x4eb8f4ec, 0x0000a180, 0x83f71ee3, 0x00001900,
- 0xffffffff, 0x00007f97, 0x8010f20f, 0x00009502, 0x8018f20f, 0x00001502,
- 0xffffffff, 0x00007f86, 0x0000102e, 0x0000f008, 0x0000102c, 0x00007008,
- 0x80172a1e, 0x00001502, 0x87b71ee3, 0x00009908, 0x0000102e, 0x00007009,
- 0xc0172b1e, 0x00001502, 0xc7b71ee3, 0x00001908, 0x0000102e, 0x00007011,
- 0x0000102f, 0x00007200, 0x87c00800, 0x00009980, 0x87c00000, 0x00001980,
- 0xffffffff, 0x00007f86, 0x2c00321f, 0x00009680, 0x83c588b0, 0x00009000,
- 0x83c00a0f, 0x00009080, 0x4e80e40f, 0x0000f902, 0x06c00000, 0x00008100,
- 0x4e80d60f, 0x00007902, 0x06400000, 0x00000100, 0x4ec0c00f, 0x00007902,
- 0x05c00000, 0x00008100, 0x4ec0b20f, 0x00007902, 0x05400000, 0x00000100,
- 0x4ec0a40f, 0x0000f902, 0x04c00000, 0x00000100, 0x4ec0960f, 0x00007902,
- 0x04400000, 0x00008100, 0x0f00300e, 0x00004388, 0x0020300e, 0x00008098,
- 0x0ec0100e, 0x0000c488, 0xb220100e, 0x00008498, 0x00c0000e, 0x0000c790,
- 0x02c0500e, 0x00008488, 0x0c80500e, 0x0000c4b0, 0x1220600e, 0x00000489,
- 0x2180600e, 0x000078aa, 0x50800000, 0x00008883, 0x0000080e, 0x00009582,
- 0xc7000b1c, 0x00001088, 0x0000108c, 0x0000f009, 0x03000000, 0x0000f900,
- 0x00008040, 0x00008980, 0x02ae9000, 0x0000f900, 0x00328e8c, 0x00008980,
- 0x02ca7000, 0x0000f900, 0x00153394, 0x00008980, 0x01800000, 0x00006180,
- 0x08001a08, 0x00006106, 0x01400000, 0x000080dc, 0x108c1c63, 0x00007500,
- 0x82200500, 0x00008022, 0x83001000, 0x00006180, 0x02401002, 0x0000c900,
- 0x0000200e, 0x00009582, 0xc6506a0d, 0x0000e108, 0x86400a19, 0x00004088,
- 0x0000108c, 0x0000f009, 0x0000200e, 0x00009582, 0x86800a1a, 0x000060b0,
- 0xc6906a0d, 0x00008930, 0xc6106a0d, 0x0000e118, 0x86000a18, 0x0000c098,
- 0x0000108c, 0x0000f030, 0x0000108c, 0x0000f000, 0x0000400e, 0x00009582,
- 0xc5106a0d, 0x00006108, 0x85000a14, 0x00004088, 0x0000108c, 0x0000f009,
- 0x1ec0400e, 0x000078b2, 0x00800000, 0x00000884, 0x0000680e, 0x00009582,
- 0xc4506a0d, 0x00006108, 0x84400a11, 0x00004088, 0x0000108c, 0x0000f009,
- 0x0000104c, 0x0000f000, 0x07000001, 0x000001ec, 0x06800000, 0x000001e4,
- 0x06000000, 0x000001dc, 0x05800000, 0x000001d4, 0x0000108c, 0x00007400,
- 0x05000000, 0x000081cc, 0x04400000, 0x000001c8, 0x0000108c, 0x00007200,
- 0x86c00a1b, 0x00009080, 0x0000108c, 0x00007200, 0xc5d06a0d, 0x0000e100,
- 0x85c00a17, 0x0000c080, 0x0000108c, 0x00007400, 0x8000021f, 0x0000e582,
- 0xc6c00b1b, 0x00000080, 0x87972ae5, 0x0000e108, 0xc7972ae5, 0x00004910,
- 0x0000108c, 0x00007200, 0xc5906a0d, 0x00006100, 0x85800a16, 0x0000c080,
- 0x0000108c, 0x00007200, 0xc5506a0d, 0x00006100, 0x85400a15, 0x0000c080,
- 0x0000108c, 0x00007200, 0xc4d06a0d, 0x00006100, 0x84c00a13, 0x0000c080,
- 0x0000108c, 0x00007200, 0xc4906a0d, 0x0000e100, 0x84800a12, 0x0000c080,
- 0xffffffff, 0x00007f86, 0x4eb8f4ec, 0x00002980, 0x4eb8e40f, 0x0000d100,
- 0x0038d800, 0x00008000, 0x4eb8d60f, 0x00005100, 0x0038c800, 0x00000000,
- 0x4ef8c00f, 0x00005100, 0x0038b800, 0x00008000, 0x4ef8b20f, 0x00005100,
- 0x0038a800, 0x00000000, 0x00000001, 0x00007480, 0x4ef8a40f, 0x0000d100,
- 0x00389800, 0x00000000, 0x4ef8960f, 0x00005100, 0x00388800, 0x00008000,
- 0x0800642b, 0x00006006, 0x08001006, 0x0000b206, 0x0a5c6800, 0x00007900,
- 0x00286638, 0x00000980, 0x10a31c9a, 0x0000f500, 0x09880000, 0x00006180,
- 0x09215c2b, 0x0000c900, 0x09572806, 0x00009200, 0x07000000, 0x000081f4,
- 0x07800000, 0x000081fc, 0x08000000, 0x000082c4, 0x08800000, 0x000082cc,
- 0x8718630c, 0x0000e100, 0x01000c2b, 0x0000c181, 0x15a00c04, 0x0000c4b0,
- 0xba206c2b, 0x0000048a, 0x1660742b, 0x00004588, 0x13c04c2b, 0x00000c88,
- 0x0a00842b, 0x00006006, 0x05008022, 0x00003001, 0x4798700e, 0x0000013a,
- 0x07b87d0e, 0x0000813c, 0x08208711, 0x0000820f, 0x08815c0d, 0x00000207,
- 0xc1078705, 0x00009283, 0x00001145, 0x0000f013, 0x0401070d, 0x00006081,
- 0x0b001211, 0x0000a106, 0x03604410, 0x00009001, 0xffffffff, 0x00007f86,
- 0x2c002c0d, 0x00009680, 0x8ac588b0, 0x00009000, 0xb0007a2b, 0x00007902,
- 0x03000000, 0x00000000, 0xb058ea2b, 0x0000f902, 0x01800200, 0x00008000,
- 0xb0005c2b, 0x0000f902, 0x03800000, 0x00008000, 0xb000562b, 0x0000f902,
- 0x02400000, 0x00000000, 0xc000070f, 0x00009583, 0xb040282b, 0x00007902,
- 0x01000000, 0x00008000, 0xb0783a2b, 0x0000a080, 0x000010cd, 0x00007008,
- 0x0121580e, 0x00002000, 0xffffffff, 0x00007fa7, 0x0ad15a07, 0x00009100,
- 0x0010602b, 0x00009502, 0x00001156, 0x0000700b, 0xc2103b0b, 0x00009202,
- 0x8ac00a07, 0x00006090, 0x05400000, 0x00008990, 0x81c00a07, 0x0000e090,
- 0x05800000, 0x00008990, 0x000010fe, 0x00007008, 0x02007f0c, 0x0000e080,
- 0x06800000, 0x00000980, 0x0b002805, 0x00006100, 0x0010781a, 0x0000e100,
- 0x02002008, 0x00006784, 0x06d00002, 0x00008980, 0x01402e0c, 0x0000e002,
- 0x0bca0005, 0x00000980, 0x0b800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x0b495f04, 0x0000812a, 0x2c002c0d, 0x00009680, 0x8ac588b0, 0x00009000,
- 0x01000004, 0x00006084, 0x0030781b, 0x00002080, 0x05100000, 0x00007900,
- 0x00008016, 0x00008980, 0x000028ec, 0x0000d780, 0x00d87ac1, 0x000000c0,
- 0xb0387a2b, 0x0000d000, 0x00386000, 0x00008000, 0xb0385c2b, 0x00005000,
- 0x00387000, 0x00000000, 0xb038562b, 0x00005000, 0x00384800, 0x00008000,
- 0xb078282b, 0x0000d000, 0x00382000, 0x00000000, 0xb0783a2b, 0x0000d000,
- 0x00383000, 0x00008000, 0x05c00000, 0x00006180, 0xc570660c, 0x00004900,
- 0x06083804, 0x0000e180, 0x06400000, 0x0000c980, 0x05401c08, 0x0000e081,
- 0xcbc02211, 0x00008880, 0x8bb0660c, 0x00001900, 0x8000000c, 0x000000c4,
- 0xc0c00000, 0x00006180, 0xa0000000, 0x0000e482, 0xc0000800, 0x00006181,
- 0x80706e0d, 0x00004901, 0x008806ec, 0x00005f80, 0x00005000, 0x00000084,
- 0x8ae06c0d, 0x00001900, 0xe2002a2b, 0x0000f902, 0x01000000, 0x00008000,
- 0xffffffff, 0x00007fa7, 0x00072805, 0x00009502, 0x04c02805, 0x0000e110,
- 0x04802004, 0x00004910, 0x02000000, 0x00006190, 0x8ae06c0d, 0x0000c910,
- 0x0000118f, 0x0000f008, 0xe23f2a2b, 0x00002880, 0xc1c00b07, 0x00006080,
- 0x8ac00b07, 0x00000080, 0x80285a2b, 0x00009502, 0xc1c00000, 0x00001988,
- 0xc2310c0d, 0x00007900, 0x00000002, 0x00000080, 0x01001b07, 0x00009880,
- 0x01405004, 0x00006002, 0x0ac0f804, 0x00008784, 0x700040ec, 0x00005680,
- 0x003840c0, 0x00008010, 0x02100006, 0x00006180, 0x0100482b, 0x0000c004,
- 0x703828ec, 0x0000d600, 0x00382000, 0x00000000, 0xc2002211, 0x00001880,
- 0x700040ec, 0x00005680, 0x003847c0, 0x00008078, 0x01007f0c, 0x0000e080,
- 0x06800000, 0x00000980, 0x8ac00a07, 0x0000e080, 0x0010781a, 0x00002100,
- 0x0b009813, 0x00006100, 0x01002004, 0x0000c784, 0x04c09e0c, 0x0000e002,
- 0x05400000, 0x00000980, 0x0b800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x06d00002, 0x00006180, 0x0bca0005, 0x0000c980, 0x0b409012, 0x0000e100,
- 0x81c00a07, 0x0000c080, 0xc6915a2b, 0x00006100, 0x04800012, 0x0000c084,
- 0x2c002c0d, 0x00009680, 0x8ac588b0, 0x00009000, 0x05100000, 0x00007900,
- 0x00008016, 0x00008980, 0x000028ec, 0x0000d780, 0x00d87ac1, 0x000000c0,
- 0x05800000, 0x0000e180, 0x0030781b, 0x0000e080, 0xb0387a2b, 0x0000d000,
- 0x00386000, 0x00008000, 0xb0385c2b, 0x00005000, 0x00387000, 0x00000000,
- 0xb038562b, 0x00005000, 0x00384800, 0x00008000, 0xb078982b, 0x00005000,
- 0x00389000, 0x00008000, 0xb0783a2b, 0x0000d000, 0x00383000, 0x00008000,
- 0x05c00000, 0x00006180, 0x06083804, 0x0000c980, 0x06400000, 0x0000e180,
- 0xc570660c, 0x00004900, 0x000010f7, 0x00007400, 0x05401c04, 0x0000e081,
- 0x8bb0660c, 0x00008900, 0xcbc02211, 0x00001880, 0x08800000, 0x00006180,
- 0x09002c2b, 0x0000e006, 0x07800000, 0x00006180, 0x0000101c, 0x00006407,
- 0x07c00000, 0x000002c0, 0x08400000, 0x000082cc, 0x01000c2b, 0x0000e283,
- 0x88906a0d, 0x00008900, 0x0100242b, 0x00001283, 0x0100142b, 0x00001283,
- 0x00001161, 0x0000f010, 0x00001165, 0x00007010, 0x00001169, 0x00007008,
- 0x0ac1d000, 0x00009981, 0x000010b5, 0x00007400, 0x0ac1042b, 0x00009180,
- 0x07c15fe4, 0x00001800, 0x8000000c, 0x000000c4, 0xc0c00000, 0x00006180,
- 0xa0000000, 0x0000e482, 0xc0000800, 0x00006181, 0x80706e0d, 0x00004901,
- 0x008806ec, 0x00005f80, 0x00005000, 0x00000084, 0x0000381c, 0x0000ec07,
- 0x87906a0d, 0x00001900, 0x2d478705, 0x0000788e, 0x28800000, 0x0000888a,
- 0x0ac1c000, 0x00001981, 0x000010b5, 0x00007400, 0x0ac1042b, 0x00009180,
- 0x07c15fe4, 0x00001800, 0x0ac1c800, 0x00009981, 0x000010b5, 0x00007400,
- 0x0ac1042b, 0x00009180, 0x07c15fe4, 0x00001800, 0x000010b5, 0x00007200,
- 0x07800800, 0x00009980, 0x00007c2b, 0x00009583, 0x0000381c, 0x00006c0f,
- 0x000010b3, 0x0000f009, 0x00005c2b, 0x00001583, 0x0000301c, 0x0000ec0f,
- 0x000010b3, 0x0000f009, 0x0000542b, 0x00009583, 0x000011e1, 0x0000700b,
- 0x00002c2b, 0x00009583, 0x87d06a0d, 0x00006108, 0x0780700e, 0x00004908,
- 0x000010b3, 0x0000f009, 0x0000342b, 0x00009583, 0x0000081c, 0x00006c0f,
- 0x87103206, 0x00001908, 0x000011dc, 0x0000f008, 0x00003c2b, 0x00001583,
- 0x0000101c, 0x00006c0f, 0x87103206, 0x00001908, 0x000011dc, 0x0000f008,
- 0x0000442b, 0x00001583, 0x03000000, 0x00007910, 0x00008040, 0x00008980,
- 0x01800000, 0x0000e190, 0x01400000, 0x0000c990, 0x000011da, 0x0000f008,
- 0x02be3000, 0x00007900, 0x00286638, 0x00000980, 0x02e0d000, 0x00007900,
- 0x0013d06a, 0x00008980, 0x01c00000, 0x0000e180, 0x08001a08, 0x00006106,
- 0x118f1c63, 0x0000f500, 0x83001000, 0x00006180, 0xc2300600, 0x0000c901,
- 0x02600702, 0x00008022, 0x01400000, 0x00006180, 0x04103808, 0x0000e187,
- 0x82371808, 0x0000e086, 0x00183805, 0x0000b186, 0x2a000000, 0x00007900,
- 0x00008080, 0x00008980, 0x02204410, 0x00006001, 0x08001aaa, 0x00002106,
+ 0x003aad78, 0x00000980, 0xc3001000, 0x00006181, 0x08001a08, 0x00006106,
+ 0x0b511b17, 0x0000f500, 0x82200500, 0x00008022, 0x02401002, 0x00009900,
+ 0x3522ec5c, 0x00002180, 0x00000438, 0x0000e583, 0x8628284a, 0x0000a005,
+ 0x03000020, 0x0000e1c8, 0x01800000, 0x000049c8, 0x01400000, 0x000061c8,
+ 0x01c00000, 0x0000c9c8, 0x00000a42, 0x0000f440, 0x83001000, 0x000061c8,
+ 0x97400a5d, 0x0000c080, 0x3522ec5c, 0x0000a980, 0x00000b4c, 0x00007400,
+ 0x02a62000, 0x0000f900, 0x00004666, 0x00000980, 0x02eca800, 0x00007900,
+ 0x001e6a48, 0x00008980, 0x4140856e, 0x0000e283, 0x82c00000, 0x00000981,
+ 0x35386c39, 0x0000a188, 0x35386639, 0x0000a188, 0xc2600400, 0x000080e6,
+ 0xc2600000, 0x000080ee, 0x81400802, 0x000000df, 0x02000000, 0x000080ee,
+ 0x82400000, 0x000080e8, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
+ 0x0b6f025f, 0x0000740c, 0x21000000, 0x000088d4, 0x21c00000, 0x000088d8,
+ 0x83808515, 0x0000c497, 0x8e00fe6e, 0x00008391, 0x9a00265b, 0x00004997,
+ 0x16010703, 0x00000391, 0x1b46056e, 0x00001281, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x75e00515, 0x0000c2c9,
+ 0xf602046d, 0x00000296, 0xebc2046d, 0x00007892, 0x38400000, 0x00008685,
+ 0x9b401ee3, 0x00001880, 0x1b41ff60, 0x0000e281, 0x83771a6d, 0x00000100,
+ 0x8380220d, 0x00009080, 0x35007c0e, 0x00007902, 0x03000000, 0x00008100,
+ 0xffffffff, 0x00007fa7, 0x03c0080f, 0x00001082, 0x00018c6d, 0x00006583,
+ 0x0300000c, 0x00000084, 0x35387c0e, 0x00005100, 0x00386000, 0x00008000,
+ 0x00012c6d, 0x00009583, 0xffffffff, 0x00007f86, 0x00000ce7, 0x00007008,
+ 0x00000cd6, 0x0000f010, 0x1b435161, 0x0000e000, 0x8380120d, 0x00000080,
+ 0x35006c0e, 0x0000f902, 0x03000000, 0x00008100, 0xffffffff, 0x00007fa7,
+ 0x0340080d, 0x00001082, 0x0002886d, 0x0000e502, 0x0300000c, 0x00000084,
+ 0x35386c0e, 0x0000d100, 0x00386000, 0x00008000, 0x038b0961, 0x00006100,
+ 0x03428050, 0x00004930, 0x00000cd3, 0x00007018, 0x1b428051, 0x00001100,
+ 0x99a36f6a, 0x0000c413, 0x3a000e39, 0x0000828f, 0xbd872f65, 0x00004911,
+ 0x10029769, 0x00008311, 0x140b0850, 0x0000e100, 0x1b4b0850, 0x00000100,
+ 0x81400e60, 0x00009283, 0x5000086e, 0x0000ec15, 0x00000d23, 0x0000f009,
+ 0x7540006d, 0x0000c18b, 0x00001660, 0x00008088, 0x75435f6d, 0x00004413,
+ 0x54002660, 0x00000297, 0x4ac00660, 0x0000f8c3, 0x70400000, 0x0000058d,
+ 0x4ac00660, 0x0000f8c3, 0x70400000, 0x0000058d, 0x80000660, 0x00006583,
+ 0xa000085b, 0x00002400, 0x1acb080d, 0x00001100, 0x00000d2b, 0x00007041,
+ 0x14800852, 0x00009080, 0xffffffff, 0x00007f86, 0x8147066e, 0x0000e283,
+ 0x0800306d, 0x00002206, 0x13800000, 0x000004f4, 0x93909a13, 0x00006100,
+ 0x0ac3764e, 0x00006004, 0x00000c1c, 0x00007208, 0x1372dc6d, 0x00000435,
+ 0x11800000, 0x0000e180, 0x83801ee3, 0x00004880, 0x9b771a0e, 0x00006100,
+ 0x09022e46, 0x0000a006, 0xfcba32ec, 0x00002880, 0xfc8002ec, 0x0000d000,
+ 0x00400000, 0x00000080, 0x11060445, 0x00006283, 0x83802a6d, 0x00008080,
+ 0x09022c6d, 0x00006806, 0x0002584a, 0x00009502, 0x0000345b, 0x00001583,
+ 0x00000c9a, 0x00007008, 0x00000bc6, 0x0000f008, 0x00000c8f, 0x0000f010,
+ 0x4140155b, 0x00001283, 0x4140255b, 0x0000e283, 0xd000084e, 0x00002411,
+ 0xffffffff, 0x00007f86, 0xc1c78745, 0x0000e283, 0xe000084e, 0x00002411,
+ 0x00000c63, 0x00007013, 0x41400d5b, 0x00001283, 0x00000c77, 0x00007013,
+ 0x2402704e, 0x0000e100, 0x0000085b, 0x0000e403, 0x033adf39, 0x00006001,
+ 0x2442684d, 0x00008900, 0x0381040c, 0x0000e081, 0x24800000, 0x00000980,
+ 0x24c00000, 0x00006180, 0x25030060, 0x00004900, 0x2c002c0e, 0x00009680,
+ 0x9b4588b0, 0x00001000, 0xb002726d, 0x0000f902, 0x13000000, 0x00008000,
+ 0xb002546d, 0x00007902, 0x02800000, 0x00000000, 0xb0024e6d, 0x0000f902,
+ 0x12000000, 0x00000000, 0xb042206d, 0x0000f902, 0x03c00000, 0x00000000,
+ 0xc000074e, 0x00006583, 0x25430861, 0x00000900, 0xb0423a6d, 0x00007902,
+ 0x11800000, 0x00008000, 0x25bb1f62, 0x0000091c, 0x263b2f64, 0x00000924,
+ 0x26bb3f66, 0x0000092c, 0x273b4f68, 0x00000934, 0x00000bf1, 0x0000f408,
+ 0x27bb5f6a, 0x0000093c, 0x83581302, 0x00009900, 0x0123680a, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x1b536a47, 0x00001100, 0x0012606d, 0x00009502,
+ 0x00000c99, 0x0000700b, 0xc2d23b4a, 0x00001202, 0x9b400a47, 0x00006090,
+ 0x22400000, 0x00008990, 0x91c00a47, 0x0000e090, 0x22800000, 0x00008990,
+ 0x00000c1d, 0x00007008, 0x03007f4c, 0x0000e080, 0x23800000, 0x00008980,
+ 0x28022044, 0x0000e100, 0x0300200c, 0x0000c784, 0x2c002c0e, 0x00009680,
+ 0x838588b0, 0x00001000, 0x1102264c, 0x00006002, 0x0012708e, 0x0000a100,
+ 0x28800000, 0x00007900, 0x00207fc0, 0x00008980, 0x23d00002, 0x0000e180,
+ 0x28ca0005, 0x00004980, 0x2840780f, 0x00006100, 0x0032708f, 0x00006080,
+ 0x03c0000f, 0x00006084, 0x22c00000, 0x00008980, 0x22100000, 0x00007900,
+ 0x00008016, 0x00008980, 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8,
+ 0xb03a720e, 0x00005000, 0x003a6000, 0x00000000, 0xb03a540e, 0x0000d000,
+ 0x00385000, 0x00008000, 0xb03a4e0e, 0x00005000, 0x003a4000, 0x00008000,
+ 0xb07a3a0e, 0x0000d000, 0x003a3000, 0x00000000, 0xb07a200e, 0x00005000,
+ 0x00387800, 0x00008000, 0xe272664c, 0x00006100, 0x23083804, 0x00004980,
+ 0x23400000, 0x00006180, 0x22401c0c, 0x0000c081, 0xe3936a6d, 0x0000e100,
+ 0xa8b2664c, 0x0000c900, 0xe8d81302, 0x00009900, 0x0c1d349f, 0x0000f100,
+ 0x9b60740e, 0x00009900, 0xe202226d, 0x00007902, 0x03c00000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x00072844, 0x00009502, 0x13c22044, 0x0000e110,
+ 0x1340780f, 0x00004910, 0x11000000, 0x0000e190, 0x9b60740e, 0x00004910,
+ 0x00000db6, 0x00007008, 0xe23f2a6d, 0x0000a880, 0xd1c00b47, 0x00006080,
+ 0x9b400b47, 0x00000080, 0x802a526d, 0x00001502, 0xd1c00000, 0x00009988,
+ 0xd1310c0e, 0x0000f900, 0x00000002, 0x00000080, 0x03001b47, 0x00009880,
+ 0x03c2480c, 0x00006002, 0x1b40f80c, 0x00008784, 0x700040ec, 0x00005680,
+ 0x003a20c0, 0x00000010, 0x11100006, 0x0000e180, 0x0302406d, 0x0000c004,
+ 0x703878ec, 0x0000d600, 0x00386000, 0x00008000, 0x04106844, 0x0000e987,
+ 0x700040ec, 0x00005680, 0x003a27c0, 0x00000078, 0x03007f4c, 0x0000e080,
+ 0x23800000, 0x00008980, 0x2802784f, 0x0000e100, 0x0300200c, 0x0000c784,
+ 0x2c002c0e, 0x00009680, 0x838588b0, 0x00001000, 0x13c27e4c, 0x00006002,
+ 0x0012708e, 0x0000a100, 0x28800000, 0x00007900, 0x00207fc0, 0x00008980,
+ 0x9b400a47, 0x0000e080, 0x22400000, 0x00000980, 0x23d00002, 0x0000e180,
+ 0x28ca0005, 0x00004980, 0x2842684d, 0x00006100, 0x91c00a47, 0x0000c080,
+ 0x1340004d, 0x00006084, 0x0032708f, 0x0000a080, 0x22100000, 0x00007900,
+ 0x00008016, 0x00008980, 0x001110ec, 0x00005780, 0x00d87a01, 0x000080c8,
+ 0xb03a720e, 0x00005000, 0x003a6000, 0x00000000, 0xb03a540e, 0x0000d000,
+ 0x00385000, 0x00008000, 0xb03a4e0e, 0x00005000, 0x003a4000, 0x00008000,
+ 0xb07a3a0e, 0x0000d000, 0x003a3000, 0x00000000, 0xb07a780e, 0x0000d000,
+ 0x003a6800, 0x00008000, 0x22800000, 0x000088ec, 0x23083804, 0x00006180,
+ 0x23400000, 0x00004980, 0xa8b2664c, 0x0000e100, 0xe3936a6d, 0x0000c900,
+ 0x00000c1c, 0x0000f400, 0xe272664c, 0x00006100, 0x22401c0c, 0x0000c081,
+ 0xe8d06a0d, 0x00009900, 0x3522240e, 0x00002180, 0x00000438, 0x0000e583,
+ 0x8623684e, 0x00002005, 0x03000020, 0x0000e1c8, 0x01800000, 0x000049c8,
+ 0x01400000, 0x000061c8, 0x01c00000, 0x0000c9c8, 0x00000bcd, 0x0000f440,
+ 0x83001000, 0x000061c8, 0x91000a44, 0x0000c080, 0x3522240e, 0x0000a980,
+ 0x02a25800, 0x00007900, 0x0020b6cc, 0x00008980, 0x02c1e000, 0x00007900,
+ 0x003aad78, 0x00000980, 0xc3001000, 0x00006181, 0x08001a08, 0x00006106,
+ 0x0c771b17, 0x0000f500, 0x82200500, 0x00008022, 0x02401002, 0x00009900,
+ 0x35036c0e, 0x0000a182, 0xb000084e, 0x0000ec01, 0xffffffff, 0x00007f97,
+ 0x9b400a6d, 0x00009080, 0x350b6c0e, 0x0000a982, 0x03820438, 0x00009283,
+ 0x03000020, 0x00006190, 0x01800000, 0x0000c990, 0x01400000, 0x0000e190,
+ 0x01c00000, 0x00004990, 0x00000bcf, 0x0000f008, 0x02a42800, 0x0000f900,
+ 0x0020b6cc, 0x00008980, 0x00000c72, 0x00007400, 0x02c1e000, 0x00007900,
+ 0x003aad78, 0x00000980, 0x83001000, 0x00001980, 0x0c8b041c, 0x0000f204,
+ 0x03409000, 0x00007900, 0x00004600, 0x00000980, 0x0c009c0e, 0x00006806,
+ 0x00000b73, 0x00007400, 0x0000040e, 0x00001583, 0x16c8005b, 0x00001390,
+ 0x0002584a, 0x00006502, 0x14030060, 0x00000900, 0x147b1761, 0x00000508,
+ 0x14fb2763, 0x00000510, 0x157b3765, 0x00000518, 0x00000ca5, 0x0000f408,
+ 0x15fb4767, 0x00000520, 0x16bb4f6a, 0x00000524, 0x0c99349f, 0x00007300,
+ 0x42400800, 0x00009981, 0x0c9a349f, 0x0000f100, 0x143b0f60, 0x00000504,
+ 0x14bb1f62, 0x0000050c, 0x153b2f64, 0x00000514, 0x15bb3f66, 0x0000051c,
+ 0x163b4f68, 0x00000524, 0x0002584a, 0x00006502, 0x1683506a, 0x00000900,
+ 0x0000345b, 0x00001583, 0xffffffff, 0x00007f86, 0x00000ca5, 0x00007008,
+ 0x00000c97, 0x0000f010, 0x0ca7349f, 0x0000f300, 0x82400800, 0x00009981,
+ 0x83801ee3, 0x00001880, 0x83771a0e, 0x00009100, 0x9b40220d, 0x00009080,
+ 0x3500746d, 0x0000f902, 0x03000000, 0x00008100, 0xffffffff, 0x00007fa7,
+ 0x0380080e, 0x00001082, 0x0300000c, 0x00009084, 0x3538746d, 0x0000d100,
+ 0x00386000, 0x00008000, 0x83802a0d, 0x0000e080, 0x1b41ff60, 0x00008281,
+ 0x00002c6d, 0x00001583, 0xc1c1ff60, 0x00009283, 0xffffffff, 0x00007f86,
+ 0x00000d2e, 0x0000f008, 0x00000d19, 0x00007010, 0x35236e0e, 0x0000a100,
+ 0x02810438, 0x00001283, 0x03000020, 0x00006190, 0x01800000, 0x0000c990,
+ 0x01400000, 0x0000e190, 0x01c00000, 0x00004990, 0x00000baf, 0x00007408,
+ 0x83001000, 0x0000e190, 0x9b400a6d, 0x0000c080, 0x35236e0e, 0x00002900,
+ 0x00000c72, 0x00007400, 0x029f2000, 0x0000f900, 0x0020b6ca, 0x00008980,
+ 0x02dbc800, 0x0000f900, 0x0009e7ea, 0x00000980, 0x03000000, 0x00006180,
+ 0x0843760b, 0x00006000, 0x0ccd041c, 0x00007404, 0x0a03760c, 0x0000e084,
+ 0x0c03740c, 0x0000b080, 0x0340600c, 0x00001900, 0x0cd0041c, 0x00007204,
+ 0x03409000, 0x00007900, 0x00004740, 0x00000980, 0x0cd3041c, 0x00007204,
+ 0x03409000, 0x00007900, 0x00004200, 0x00008980, 0x0cd6041c, 0x00007204,
+ 0x03409000, 0x00007900, 0x00004a00, 0x00000980, 0x00010c6d, 0x00001583,
+ 0x00000d5b, 0x00007013, 0x0000045b, 0x00001583, 0x03828050, 0x00009910,
+ 0x00000cdf, 0x00007011, 0x02800c56, 0x00009283, 0x03825851, 0x00006108,
+ 0x03828851, 0x00000910, 0xffffffff, 0x00007f86, 0x75e0000e, 0x0000c48b,
+ 0xc6001660, 0x00000389, 0x9c635f0e, 0x0000c913, 0x5e002660, 0x0000028f,
+ 0x1ac0700e, 0x00006100, 0xa000085b, 0x0000e400, 0xffffffff, 0x00007f86,
+ 0x00000baf, 0x00007000, 0x83801a0d, 0x00001080, 0x35006c0e, 0x0000f902,
+ 0x03000000, 0x00008100, 0xffffffff, 0x00007fa7, 0x0340080d, 0x00001082,
+ 0x41406545, 0x00006283, 0x0300000c, 0x00000084, 0x35386c0e, 0x0000d100,
+ 0x00386000, 0x00008000, 0x42c00800, 0x0000e191, 0x10003080, 0x0000e414,
+ 0x00000d20, 0x00007008, 0x0003504b, 0x0000e502, 0x001c0881, 0x00002586,
+ 0x00003883, 0x0000e106, 0x00080881, 0x00003505, 0x35387c39, 0x00002100,
+ 0x353a4639, 0x00002180, 0xc0003883, 0x00006006, 0x80000885, 0x0000b402,
+ 0x00000d85, 0x0000f410, 0xe0001000, 0x0000e181, 0xc0000081, 0x00006407,
+ 0x21f83765, 0x00000808, 0xb0400161, 0x0000c491, 0xfe072f65, 0x0000830a,
+ 0xaf827f69, 0x0000c411, 0xf200006b, 0x0000838a, 0x5d80886b, 0x0000f81b,
+ 0x00400001, 0x00008080, 0x03400000, 0x000080f0, 0x83532264, 0x0000e100,
+ 0x0383506b, 0x0000c000, 0x4303586b, 0x00006100, 0x34c2a80d, 0x0000e007,
+ 0xc36ab556, 0x00009901, 0xffffffff, 0x00007f86, 0xae628f0e, 0x0000441b,
+ 0x20000e39, 0x0000838a, 0xae029f62, 0x00004911, 0xe002a763, 0x00008312,
+ 0x12c3506b, 0x00001000, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x0d1401d7, 0x00007004, 0x00000baf, 0x0000f400, 0x001100ec, 0x0000d780,
+ 0x00006000, 0x00008080, 0x81c00e07, 0x0000e181, 0x01400c05, 0x00008181,
+ 0x35236e0e, 0x00002101, 0xffffffff, 0x00007fa7, 0x1b400c6d, 0x00009081,
+ 0x35336e0e, 0x00002901, 0x00000baf, 0x0000f400, 0x0a03046d, 0x0000e882,
+ 0x351b6e0e, 0x00002901, 0x0d23041c, 0x0000f204, 0x03409000, 0x00007900,
+ 0x00004a40, 0x00008980, 0x80000660, 0x00009583, 0x0000006d, 0x00001582,
+ 0xffffffff, 0x00007f86, 0x00000bae, 0x0000f048, 0x00000bae, 0x00007010,
+ 0x0d2b041c, 0x00007204, 0x03409000, 0x00007900, 0x000048c0, 0x00008980,
+ 0x0d2e041c, 0x00007204, 0x03409000, 0x00007900, 0x00004900, 0x00000980,
+ 0x8380120d, 0x00009080, 0x35006c0e, 0x0000f902, 0x03000000, 0x00008100,
+ 0xffffffff, 0x00007fa7, 0x0340080d, 0x00001082, 0x00029069, 0x00006502,
+ 0x0300000c, 0x00000084, 0x35386c0e, 0x0000d100, 0x00386000, 0x00008000,
+ 0x81400e39, 0x00009283, 0xffffffff, 0x00007f86, 0x00000e09, 0x0000f010,
+ 0x00000d8a, 0x00007010, 0x00072864, 0x00001502, 0x14800869, 0x00006090,
+ 0x038b0961, 0x00000910, 0x02024161, 0x00006010, 0x1b424161, 0x00000010,
+ 0x00000d95, 0x0000f008, 0x0002486d, 0x00001502, 0x034b0851, 0x00006110,
+ 0x5000006e, 0x00002415, 0x144b0851, 0x00009110, 0x00000d90, 0x0000f008,
+ 0x0000000d, 0x00001582, 0x80000660, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x00000d6c, 0x0000f010, 0x00000d69, 0x0000f040, 0x02860445, 0x00006283,
+ 0x03836849, 0x00000100, 0x35387c39, 0x00002100, 0x353a4639, 0x00002180,
+ 0x00000baf, 0x00007408, 0x14800000, 0x0000e180, 0x3000085b, 0x0000e409,
+ 0xc2400800, 0x0000e189, 0x1440880e, 0x0000cc00, 0x0d5801d7, 0x00007404,
+ 0x03000000, 0x00006180, 0x034000a0, 0x0000c980, 0x83532a65, 0x00009900,
+ 0x00000baf, 0x0000f400, 0x82c00c01, 0x000080ee, 0x01400c05, 0x00001181,
+ 0x0001146d, 0x00001583, 0x0001246d, 0x00009593, 0x00000da8, 0x0000700b,
+ 0x0001046d, 0x00009583, 0x0001346d, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x00000d98, 0x00007008, 0x00000baf, 0x0000f010, 0x1b4b0961, 0x00001900,
+ 0x0000006d, 0x00001582, 0x03409000, 0x0000f910, 0x00004980, 0x00008980,
+ 0x00000baf, 0x00007009, 0x0d69041c, 0x0000f004, 0x0d6c041c, 0x00007204,
+ 0x03409000, 0x00007900, 0x000048c0, 0x00008980, 0x00000baf, 0x0000f400,
+ 0x80000660, 0x00009583, 0x16d0005b, 0x000063c8, 0x5000086e, 0x0000244d,
+ 0x0d73041c, 0x0000f204, 0x03409000, 0x00007900, 0x00004880, 0x00000980,
+ 0x0d76041c, 0x0000f204, 0x03409000, 0x00007900, 0x00004840, 0x00000980,
+ 0x0d79041c, 0x0000f204, 0x03409000, 0x00007900, 0x00004800, 0x00008980,
+ 0x0d7c041c, 0x0000f204, 0x03409000, 0x00007900, 0x000047c0, 0x00008980,
+ 0x0d7f041c, 0x0000f204, 0x03409000, 0x00007900, 0x00004780, 0x00000980,
+ 0x0d82041c, 0x00007204, 0x03409000, 0x00007900, 0x000046c0, 0x00000980,
+ 0x0d85041c, 0x0000f204, 0x03409000, 0x00007900, 0x000045c0, 0x00000980,
+ 0x03000c56, 0x00009283, 0x00000e0c, 0x0000f013, 0x0d8a041c, 0x0000f204,
+ 0x03409000, 0x00007900, 0x00004700, 0x00008980, 0x1b428051, 0x00001100,
+ 0x0003686a, 0x00009502, 0x03409000, 0x0000f910, 0x00004740, 0x00000980,
+ 0x00000d3b, 0x0000f009, 0x0d90041c, 0x0000f004, 0x80000660, 0x00009583,
+ 0x03409000, 0x0000f940, 0x000048c0, 0x00008980, 0x00000baf, 0x0000f049,
+ 0x0d95041c, 0x0000f004, 0x0d98041c, 0x0000f204, 0x03409000, 0x00007900,
+ 0x00004680, 0x00008980, 0x03010438, 0x0000e283, 0x83802a0d, 0x00008080,
+ 0x35236c0e, 0x00002100, 0xffffffff, 0x00007f86, 0x00000dad, 0x0000f413,
+ 0x9b400a6d, 0x00009080, 0x35236c0e, 0x0000a900, 0x038b0961, 0x00001900,
+ 0x0000000e, 0x00001582, 0x00007050, 0x00009502, 0xffffffff, 0x00007f86,
+ 0x00000baf, 0x0000f008, 0x00000baf, 0x0000f020, 0x0da8041c, 0x0000f204,
+ 0x03409000, 0x00007900, 0x000049c0, 0x00000980, 0x0381df60, 0x00009281,
+ 0xac61140e, 0x0000c489, 0x3001046d, 0x0000838b, 0x67c1246d, 0x0000f893,
+ 0x78400000, 0x0000858d, 0x03000020, 0x0000e180, 0x01800000, 0x00004980,
+ 0x02863000, 0x0000f900, 0x0020b6d0, 0x00000980, 0x02cdc000, 0x0000f900,
+ 0x00214516, 0x00008980, 0x00000c72, 0x00007400, 0x01400000, 0x000080dc,
+ 0x83001000, 0x00001980, 0x11000000, 0x00006180, 0x0412380c, 0x0000e187,
+ 0x8237180c, 0x00006086, 0x001a3844, 0x00003186, 0x2a000000, 0x00007900,
+ 0x00008080, 0x00008980, 0x0301040c, 0x00006081, 0x08001aaa, 0x00002106,
0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
- 0xaab81400, 0x00008a2c, 0x11a11c90, 0x0000f500, 0x2bc08705, 0x00008aa1,
- 0x2b804008, 0x00001900, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
- 0x01001b07, 0x0000e080, 0x02100000, 0x00004980, 0x04000000, 0x00007900,
+ 0xaab81400, 0x00008a2c, 0x0dc81b44, 0x0000f500, 0x2bc08744, 0x00008aa1,
+ 0x2b80600c, 0x00001900, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
+ 0x03001b47, 0x0000e080, 0x11100000, 0x0000c980, 0x11400000, 0x00007900,
0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
- 0x00761008, 0x0000e587, 0x00760810, 0x00003586, 0x700040ec, 0x00005680,
- 0x003840e0, 0x00000010, 0x703880ec, 0x00005600, 0x00000000, 0x00008080,
- 0x0ac0f804, 0x0000e784, 0x02100006, 0x00008980, 0x01405004, 0x00006002,
- 0xc2002211, 0x00008880, 0x700008ec, 0x00005680, 0x00000000, 0x00008080,
- 0x0100482b, 0x00009004, 0x703828ec, 0x0000d600, 0x00382000, 0x00000000,
- 0x700040ec, 0x00005680, 0x003847c0, 0x00008078, 0xec0022ec, 0x00007902,
- 0x01400000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00000004, 0x00001582,
- 0xec0044ec, 0x0000f912, 0x01000000, 0x00008000, 0x8ae06c0d, 0x00009910,
- 0x000011ba, 0x0000f008, 0xe23f2a2b, 0x00002880, 0x8ac00b07, 0x00006080,
- 0x04802004, 0x00000900, 0x80285a2b, 0x00006502, 0xc1c00b07, 0x00000080,
- 0x04c04008, 0x00006100, 0xc1c00000, 0x00004988, 0xffffffff, 0x00007f86,
- 0x01001b07, 0x00009880, 0x04005004, 0x0000e002, 0x0ac0f804, 0x00008784,
- 0x0200482b, 0x00006004, 0x01000000, 0x00000980, 0xc1310c0d, 0x00007900,
- 0x00000002, 0x00000080, 0x700040ec, 0x00005680, 0x003820c0, 0x00008010,
- 0x01100006, 0x00001980, 0x703880ec, 0x00005600, 0x00384000, 0x00000000,
- 0x0000111b, 0x00007400, 0xc1002211, 0x00001880, 0x700040ec, 0x00005680,
- 0x003827c0, 0x00008078, 0x0000181c, 0x00006c07, 0x87103206, 0x00009900,
- 0x07b87f0e, 0x0000013c, 0x08388f10, 0x00000204, 0x08f89713, 0x00000208,
- 0x2d478705, 0x0000788e, 0x28800000, 0x0000888a, 0x0104040c, 0x00001283,
- 0x0ac02800, 0x00006189, 0x0ac03000, 0x00004991, 0x000011dc, 0x0000f400,
- 0xffffffff, 0x00007f86, 0x0421581c, 0x0000e807, 0x0104040c, 0x00001283,
- 0x0ac02000, 0x0000e189, 0x0ac03000, 0x00004991, 0xffffffff, 0x00007f86,
- 0x0421581c, 0x0000e807, 0x2d478705, 0x0000788e, 0x28800000, 0x0000888a,
- 0x0800a40c, 0x00006006, 0x0800300e, 0x0000b206, 0x0a5c6800, 0x00007900,
- 0x00286638, 0x00000980, 0x11f61c9a, 0x00007500, 0x09880000, 0x00006180,
- 0x0920640c, 0x0000c900, 0x0957280e, 0x00001200, 0x09000000, 0x000082d4,
- 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec,
- 0x8918a314, 0x00006100, 0x01400c0c, 0x00004181, 0x40000c05, 0x000044b0,
- 0xb6206c0c, 0x0000848d, 0x1bc0740c, 0x0000c588, 0x17e04c0c, 0x00009088,
- 0x0a00c40c, 0x0000e006, 0x0500c02a, 0x00003001, 0x4998b016, 0x0000021a,
- 0x09b8bd16, 0x0000821c, 0x0a20c719, 0x0000822f, 0x0a806415, 0x00000227,
- 0xc147870d, 0x00009283, 0x000012df, 0x0000f013, 0x03807c14, 0x00001281,
- 0x0338520a, 0x00006000, 0x0fc00000, 0x00004980, 0x0140080c, 0x0000e180,
- 0x0000183f, 0x00002106, 0x03001a0b, 0x0000e080, 0x14ca0005, 0x00004980,
- 0x0f781800, 0x0000f900, 0x00044000, 0x00008980, 0x0340040b, 0x00000594,
- 0x15800000, 0x000004c8, 0x00006c0e, 0x00006583, 0x13400000, 0x00008980,
- 0x15006005, 0x00006200, 0xc000183f, 0x0000a006, 0x0300fe0a, 0x00006281,
- 0x0e404100, 0x00008980, 0x0e140000, 0x00007900, 0x0002020e, 0x00000980,
- 0x0f001000, 0x00007900, 0x00010000, 0x00000980, 0x14804000, 0x0000f900,
- 0x00207fc0, 0x00008980, 0x15c00002, 0x0000f900, 0x00000200, 0x00000380,
- 0x04206056, 0x00006081, 0x04206055, 0x00003081, 0x0e800000, 0x000083ec,
- 0x0fa81402, 0x00008338, 0x14384f08, 0x00000504, 0x10000000, 0x0000e180,
- 0x10400080, 0x0000c980, 0x10c00000, 0x000084d0, 0x11400000, 0x000004d8,
- 0x11c00000, 0x000004e0, 0x12400000, 0x000004e8, 0x12c00000, 0x000004f8,
- 0x13c00000, 0x0000e180, 0x9310d21a, 0x0000c900, 0x1328151a, 0x0000850c,
- 0x8f400f1b, 0x0000e181, 0x82c00a0b, 0x00000080, 0xd0800a0d, 0x00006080,
- 0x5348d91b, 0x00008900, 0xd3400800, 0x00009989, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008070ec, 0x0000d780,
- 0x00007802, 0x00000080, 0x05400800, 0x00009981, 0x01410715, 0x0000e081,
- 0x0b00320d, 0x0000a106, 0x06e08405, 0x00009001, 0xffffffff, 0x00007f86,
- 0x2c002c1b, 0x00001680, 0x830588b0, 0x00009000, 0xb000d20c, 0x0000f902,
- 0x06400000, 0x00008000, 0xb050a20c, 0x00007902, 0x04400200, 0x00008000,
- 0xb0492a0c, 0x00002082, 0xb000c40c, 0x00007902, 0x03800000, 0x00008000,
- 0xc000071a, 0x00001583, 0xb000be0c, 0x0000f902, 0x05800000, 0x00008000,
- 0xb040980c, 0x0000f902, 0x03c00000, 0x00000000, 0x00001254, 0x00007208,
- 0xb078920c, 0x00002080, 0x0120600e, 0x00002000, 0xffffffff, 0x00007fa7,
- 0x03106214, 0x00001100, 0x0010c80c, 0x00001502, 0x000012d1, 0x0000700b,
- 0xc150a318, 0x00001202, 0x07100000, 0x00007910, 0x00008016, 0x00008980,
- 0x83000a12, 0x0000e090, 0x07400000, 0x00000990, 0x00001289, 0x0000f008,
- 0x01407f19, 0x0000e080, 0x08800000, 0x00008980, 0x0d009813, 0x00006100,
- 0x0010d022, 0x0000e100, 0x01402005, 0x00006784, 0x84800a12, 0x00000080,
- 0x04c09e19, 0x00006002, 0x08d00002, 0x00000980, 0x0d800000, 0x0000f900,
- 0x00207fc0, 0x00008980, 0x0dca0005, 0x0000e180, 0x0d40780f, 0x0000c900,
- 0xc890620c, 0x0000e100, 0x03c0000f, 0x0000c084, 0x2c002c1b, 0x00001680,
- 0x830588b0, 0x00009000, 0x000038ec, 0x00005780, 0x00d87b41, 0x000000c0,
- 0x07800000, 0x00006180, 0x0030d023, 0x0000e080, 0xb038d20c, 0x00005000,
- 0x0038c800, 0x00000000, 0xb038c40c, 0x0000d000, 0x00387000, 0x00000000,
- 0xb038be0c, 0x00005000, 0x0038b000, 0x00000000, 0xb078980c, 0x00005000,
- 0x00387800, 0x00008000, 0xb078920c, 0x00005000, 0x00388800, 0x00008000,
- 0x07c00000, 0x0000e180, 0xc770ce19, 0x0000c900, 0x08083804, 0x00006180,
- 0x08400000, 0x00004980, 0x07401c05, 0x0000e081, 0x8db0ce19, 0x00008900,
- 0xcdc0220d, 0x00009880, 0x02000001, 0x0000e586, 0x00003000, 0x0000b502,
- 0x01400000, 0x00006180, 0x00100001, 0x00006505, 0xc0c00800, 0x0000e180,
- 0xc0000001, 0x0000e407, 0x41e01c00, 0x000000c3, 0x4050ae15, 0x00008014,
- 0x008816ec, 0x0000df80, 0x00905000, 0x00008184, 0x8320dc1b, 0x00001900,
- 0xe2007a0c, 0x0000f902, 0x03000000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x0007280f, 0x00009502, 0x04c0600c, 0x0000e110, 0x0500780f, 0x00004910,
- 0x8320dc1b, 0x00009910, 0x00001322, 0x0000f008, 0xe23f2a0c, 0x00002880,
- 0xc4800b12, 0x00006080, 0x83000b12, 0x00008080, 0x8028c20c, 0x00001502,
- 0xc4800000, 0x00009988, 0xffffffff, 0x00007f86, 0x01401b12, 0x00009880,
- 0x0400b805, 0x00006002, 0x0300f805, 0x00000784, 0x03c0b00c, 0x00006004,
- 0x01400000, 0x00008980, 0xc1710c1b, 0x00007900, 0x00000002, 0x00000080,
- 0x700040ec, 0x00005680, 0x003828c0, 0x00000010, 0x01500006, 0x00009980,
- 0x703880ec, 0x00005600, 0x00387800, 0x00008000, 0xc140220d, 0x00001880,
- 0x700040ec, 0x00005680, 0x00382fc0, 0x00000078, 0x01407f19, 0x0000e080,
- 0x08800000, 0x00008980, 0x83000a12, 0x00006080, 0x0010d022, 0x00002100,
- 0x0d00a014, 0x00006100, 0x01402005, 0x0000c784, 0x0500a619, 0x00006002,
- 0x07400000, 0x00008980, 0x0d800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x08d00002, 0x0000e180, 0x0dca0005, 0x0000c980, 0x0d409813, 0x0000e100,
- 0x84800a12, 0x0000c080, 0xc890620c, 0x0000e100, 0x04c00013, 0x0000c084,
- 0x2c002c1b, 0x00001680, 0x830588b0, 0x00009000, 0x07100000, 0x0000f900,
- 0x00008016, 0x00008980, 0x000038ec, 0x00005780, 0x00d87b41, 0x000000c0,
- 0x07800000, 0x00006180, 0x0030d023, 0x0000e080, 0xb038d20c, 0x00005000,
- 0x0038c800, 0x00000000, 0xb038c40c, 0x0000d000, 0x00387000, 0x00000000,
- 0xb038be0c, 0x00005000, 0x0038b000, 0x00000000, 0xb078a00c, 0x0000d000,
- 0x00389800, 0x00000000, 0xb078920c, 0x00005000, 0x00388800, 0x00008000,
- 0x07c00000, 0x0000e180, 0x08083804, 0x00004980, 0x08400000, 0x00006180,
- 0xc770ce19, 0x0000c900, 0x0000127f, 0x0000f400, 0x07401c05, 0x0000e081,
- 0x8db0ce19, 0x00008900, 0xcdc0220d, 0x00009880, 0x02000001, 0x0000e586,
- 0x00003000, 0x0000b502, 0x01400000, 0x00006180, 0x00100001, 0x00006505,
- 0xc0c00800, 0x0000e180, 0xc0000001, 0x0000e407, 0x41e01c00, 0x000000c3,
- 0x4050ae15, 0x00008014, 0x008816ec, 0x0000df80, 0x00905000, 0x00008184,
- 0x00003824, 0x00006c07, 0x8990aa15, 0x00009900, 0x8207870d, 0x0000788e,
- 0x00800001, 0x00008080, 0x0a800000, 0x0000e180, 0x09006c0c, 0x00006006,
- 0x09800000, 0x0000e180, 0x00001024, 0x0000e407, 0x09c00000, 0x000002e0,
- 0x0a400000, 0x000082ec, 0x01400c0c, 0x00006283, 0x8a90aa15, 0x00000900,
- 0x0140240c, 0x00009283, 0x0140140c, 0x00009283, 0x000012f4, 0x0000f010,
- 0x000012fa, 0x00007010, 0x000012f8, 0x0000f008, 0x0301d000, 0x00009981,
- 0x0301040c, 0x00009180, 0x09c067e4, 0x00009800, 0x03807c14, 0x00001281,
- 0x0000140e, 0x00009583, 0x0578df1b, 0x00001911, 0x00001209, 0x0000f009,
- 0x0000123b, 0x00007000, 0x0301c000, 0x00001981, 0x000012ef, 0x0000f400,
- 0x0301040c, 0x00009180, 0x09c067e4, 0x00009800, 0x000012ef, 0x0000f200,
- 0x09800800, 0x00001980, 0x0301c800, 0x00009981, 0x000012ef, 0x0000f400,
- 0x0301040c, 0x00009180, 0x09c067e4, 0x00009800, 0x00007c0c, 0x00009583,
- 0x00003824, 0x0000ec0f, 0x00001206, 0x0000f009, 0x00005c0c, 0x00001583,
- 0x00003024, 0x00006c0f, 0x00001206, 0x0000f009, 0x0000540c, 0x00009583,
- 0x00001376, 0x0000700b, 0x00002c0c, 0x00009583, 0x89d0aa15, 0x0000e108,
- 0x0980b016, 0x0000c908, 0x00001206, 0x0000f009, 0x0000340c, 0x00009583,
- 0x00000824, 0x0000ec0f, 0x8910720e, 0x00009908, 0x00001371, 0x0000f008,
- 0x00003c0c, 0x00001583, 0x00001024, 0x0000ec0f, 0x8910720e, 0x00009908,
- 0x00001371, 0x0000f008, 0x0000440c, 0x00001583, 0x03000000, 0x00007910,
- 0x00008040, 0x00008980, 0x01800000, 0x0000e190, 0x01400000, 0x0000c990,
- 0x0000136f, 0x0000f008, 0x02be3000, 0x00007900, 0x00286638, 0x00000980,
- 0x02e0d000, 0x00007900, 0x0013d06a, 0x00008980, 0x01c00000, 0x0000e180,
- 0x08001a08, 0x00006106, 0x13221c63, 0x0000f500, 0x83001000, 0x00006180,
- 0xc2300600, 0x0000c901, 0x02600702, 0x00008022, 0x2c002c1b, 0x00001680,
- 0x830588b0, 0x00009000, 0xb048620c, 0x0000a082, 0x03c00000, 0x00006180,
- 0x08001aaa, 0x0000e106, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
- 0x2a400000, 0x00006180, 0x0018900f, 0x00006186, 0xeab00600, 0x00006101,
- 0x8237180c, 0x00006086, 0x03208405, 0x00006001, 0xaaa80500, 0x00000901,
- 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
- 0x0034c678, 0x00000980, 0x13361c90, 0x0000f500, 0x2ac08702, 0x00008aa1,
- 0x2bb87f0c, 0x00008a3c, 0x01401b12, 0x00009880, 0xec0002ec, 0x00005080,
- 0x00000000, 0x00008080, 0x0400b805, 0x00006002, 0x0300f805, 0x00000784,
- 0x03c0b00c, 0x00006004, 0x01500000, 0x00000980, 0xec0004ec, 0x00005080,
- 0x00000000, 0x00008080, 0x03000000, 0x0000f900, 0x00003fc0, 0x00008980,
- 0x0076080c, 0x0000e586, 0x00761005, 0x00003587, 0x700040ec, 0x00005680,
- 0x003828e0, 0x00008010, 0x703860ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x01500006, 0x00009980,
- 0x703880ec, 0x00005600, 0x00387800, 0x00008000, 0xc140220d, 0x00001880,
- 0x700040ec, 0x00005680, 0x00382fc0, 0x00000078, 0xec0082ec, 0x00007902,
- 0x01400000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00000010, 0x00001582,
- 0xec0064ec, 0x00007912, 0x01400000, 0x00000000, 0x0000134f, 0x0000f009,
- 0xffffffff, 0x00007f86, 0x05382f0c, 0x0000810c, 0x8320dc1b, 0x00001900,
- 0xe23f2a0c, 0x00002880, 0xc4800b12, 0x00006080, 0x83000b12, 0x00008080,
- 0x8028c20c, 0x00001502, 0xc4800000, 0x00009988, 0xffffffff, 0x00007f86,
- 0x01401b12, 0x00009880, 0x0400b805, 0x00006002, 0x0300f805, 0x00000784,
- 0x03c0b00c, 0x00006004, 0x01400000, 0x00008980, 0xc1710c1b, 0x00007900,
- 0x00000002, 0x00000080, 0x700040ec, 0x00005680, 0x003828c0, 0x00000010,
- 0x01500006, 0x00009980, 0x703880ec, 0x00005600, 0x00387800, 0x00008000,
- 0x000012a7, 0x0000f400, 0xc140220d, 0x00001880, 0x700040ec, 0x00005680,
- 0x00382fc0, 0x00000078, 0x00001824, 0x0000ec07, 0x8910720e, 0x00001900,
- 0x09b8bf16, 0x0000021c, 0x0a38cf18, 0x00000224, 0x0af8d71b, 0x00000228,
- 0xb7c7870d, 0x00007896, 0x40800000, 0x00008980, 0x01440414, 0x00009283,
- 0x03002800, 0x00006189, 0x03003000, 0x00004991, 0x00001371, 0x0000f400,
- 0xffffffff, 0x00007f86, 0x04206024, 0x00006807, 0x01440414, 0x00009283,
- 0x03002000, 0x0000e189, 0x03003000, 0x00004991, 0xffffffff, 0x00007f86,
- 0x04206024, 0x00006807, 0xb7c7870d, 0x00007896, 0x40800000, 0x00008980,
- 0x03283f05, 0x0000e001, 0x04c00040, 0x00008980, 0x09c3040c, 0x0000e081,
- 0x88c0c306, 0x00008080, 0x86103206, 0x00006100, 0x84c0c306, 0x00004080,
- 0x2c002c27, 0x00001680, 0x898588b0, 0x00001000, 0xb0403226, 0x00007902,
- 0x01400000, 0x00000000, 0xb000ec26, 0x0000f902, 0x07000000, 0x00008000,
- 0x05000000, 0x00006180, 0x86583b07, 0x0000c900, 0xb000fa26, 0x00007902,
- 0x07800000, 0x00000000, 0x09784a06, 0x0000e000, 0xc510520a, 0x00000900,
- 0xb0005e26, 0x0000f902, 0x02800000, 0x00000000, 0xb0404026, 0x00007902,
- 0x01c00000, 0x00008000, 0x01012a06, 0x00006400, 0x0998e8e5, 0x00008400,
- 0x01013004, 0x0000e202, 0x0b001222, 0x0000a106, 0x04000000, 0x00007900,
+ 0x00761044, 0x00006587, 0x00760845, 0x00003586, 0x700040ec, 0x00005680,
+ 0x003a20e0, 0x00008010, 0x703a28ec, 0x00005600, 0x00000000, 0x00008080,
+ 0x1b40f80c, 0x0000e784, 0x11100006, 0x00000980, 0x03c2480c, 0x00006002,
+ 0x04106844, 0x0000a187, 0x700008ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x0302406d, 0x00009004, 0x703878ec, 0x0000d600, 0x00386000, 0x00008000,
+ 0x700040ec, 0x00005680, 0x003a27c0, 0x00000078, 0xec007aec, 0x0000f902,
+ 0x03000000, 0x00000000, 0xffffffff, 0x00007fa7, 0x0000000f, 0x00009582,
+ 0x00000def, 0x00007013, 0xec007aec, 0x0000f902, 0x03000000, 0x00000000,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x7bc0000f, 0x00007893,
+ 0x30400000, 0x0000068f, 0x0def041c, 0x0000f204, 0x03409000, 0x00007900,
+ 0x00004640, 0x00008980, 0x9b60740e, 0x00009900, 0xec007cec, 0x0000f902,
+ 0x03000000, 0x00000000, 0xe23f2a6d, 0x0000a880, 0xd1c00b47, 0x00006080,
+ 0x9b400b47, 0x00000080, 0x802a526d, 0x00001502, 0xd1c00000, 0x0000e188,
+ 0x13c0780f, 0x00004900, 0x03c00000, 0x00006180, 0x1340600c, 0x0000c900,
+ 0x03001b47, 0x00009880, 0xc3f10c0e, 0x0000f900, 0x00000002, 0x00000080,
+ 0x0302480c, 0x00006002, 0x1b40f80c, 0x00008784, 0x700040ec, 0x00005680,
+ 0x003878c0, 0x00000010, 0x03d00006, 0x0000e180, 0x1142406d, 0x00004004,
+ 0x703860ec, 0x0000d600, 0x003a2800, 0x00000000, 0x00000c3a, 0x00007400,
+ 0x0410680f, 0x0000e987, 0x700040ec, 0x00005680, 0x00387fc0, 0x00000078,
+ 0x0e0c041c, 0x00007204, 0x03409000, 0x00007900, 0x00004600, 0x00000980,
+ 0x0000006a, 0x00009582, 0x15bff056, 0x00007908, 0x003ffffe, 0x00008280,
+ 0x00000d87, 0x00007011, 0x00000cff, 0x0000f000, 0xffc00000, 0x00001980,
+ 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x02683f05, 0x0000e001, 0x86583b07, 0x00000900, 0x0a030409, 0x0000e081,
+ 0x05000000, 0x00008980, 0x04c00040, 0x00006180, 0x8900c306, 0x0000c080,
+ 0x2c002c28, 0x00001680, 0x89c588b0, 0x00009000, 0xb0783a27, 0x0000a080,
+ 0xb000f427, 0x00007902, 0x07400000, 0x00000000, 0xb0010227, 0x0000f902,
+ 0x07c00000, 0x00008000, 0xb000e627, 0x00007902, 0x02c00000, 0x00008000,
+ 0x09b84a07, 0x00006000, 0x86103206, 0x00008900, 0xb0784027, 0x0000a000,
+ 0xc510520a, 0x0000e100, 0x84c0c306, 0x00004080, 0xb0785027, 0x0000a080,
+ 0xb0783227, 0x0000a000, 0x01013207, 0x0000e400, 0x09d8f0e5, 0x00000400,
+ 0x01013804, 0x00006202, 0x0b001223, 0x00002106, 0x04000000, 0x00007900,
0x00008000, 0x00000980, 0x05400000, 0x000001d8, 0x05c00000, 0x000003c0,
- 0x0c400000, 0x000003c8, 0x0cc00000, 0x00006180, 0x09384f09, 0x00004901,
- 0x000013ad, 0x0000f410, 0x04500000, 0x0000e180, 0x04804060, 0x0000c980,
- 0x45384f09, 0x00009901, 0xc110331d, 0x00009202, 0x08000000, 0x00006190,
- 0x08400000, 0x0000c990, 0x09800000, 0x00009991, 0x000013d0, 0x00007010,
- 0x09a034e5, 0x00009401, 0x0970ec26, 0x00001201, 0x89613c27, 0x0000e100,
- 0x09800c25, 0x0000c081, 0xe2004a25, 0x00007902, 0x01000000, 0x00008000,
- 0x09b0ec26, 0x00001201, 0xffffffff, 0x00007f97, 0x00072809, 0x00009502,
- 0x08404008, 0x00006110, 0x08003807, 0x0000c910, 0x02004809, 0x0000e110,
- 0x01c02004, 0x0000c910, 0x00001435, 0x00007008, 0x81000b06, 0x00006080,
- 0x89613c27, 0x00000900, 0x8028ea04, 0x00006502, 0xc1800b06, 0x00000080,
- 0xc1800000, 0x00009988, 0xe23f2a25, 0x0000a880, 0x02401b06, 0x00009880,
- 0x03405809, 0x0000e002, 0x0100f809, 0x00008784, 0x01000000, 0x0000e180,
- 0x03005004, 0x0000c004, 0xc1310c27, 0x0000f900, 0x00000002, 0x00000080,
- 0x700040ec, 0x00005680, 0x003820c0, 0x00008010, 0x01100006, 0x00001980,
- 0x703868ec, 0x00005600, 0x00386000, 0x00008000, 0xc1002222, 0x00001880,
- 0x700040ec, 0x00005680, 0x003827c0, 0x00008078, 0x01007f1e, 0x0000e080,
+ 0x0c400000, 0x000003c8, 0x0cc00000, 0x00006180, 0x09784f09, 0x0000c901,
+ 0x00000e3f, 0x00007410, 0x04500000, 0x0000e180, 0x04804060, 0x0000c980,
+ 0x45384f09, 0x00009901, 0xc1103b1e, 0x00001202, 0x08400000, 0x0000e190,
+ 0x08800000, 0x0000c990, 0x09c00000, 0x00001991, 0x00000e62, 0x00007010,
+ 0x09e03ce5, 0x00009401, 0x09b0f427, 0x00009201, 0x89a14428, 0x0000e100,
+ 0x09c00c26, 0x00004081, 0xe2002a26, 0x00007902, 0x01000000, 0x00008000,
+ 0x09f0f427, 0x00001201, 0xffffffff, 0x00007f97, 0x00072805, 0x00009502,
+ 0x0880500a, 0x00006110, 0x08404008, 0x00004910, 0x02802805, 0x00006110,
+ 0x02002004, 0x0000c910, 0x00000ec7, 0x00007008, 0x81000b07, 0x0000e080,
+ 0x89a14428, 0x00000900, 0x8028f204, 0x00006502, 0xc1c00b07, 0x00000080,
+ 0xc1c00000, 0x00006188, 0x02400000, 0x00004980, 0xe23f2a26, 0x0000a880,
+ 0x01401b07, 0x00001880, 0xc2710c28, 0x00007900, 0x00000002, 0x00000080,
+ 0x0140e005, 0x00006002, 0x0100f805, 0x00008784, 0x700040ec, 0x00005680,
+ 0x003848c0, 0x00000010, 0x02500006, 0x0000e180, 0x01005804, 0x0000c004,
+ 0x703828ec, 0x0000d600, 0x00382000, 0x00000000, 0xc2402223, 0x00001880,
+ 0x700040ec, 0x00005680, 0x00384fc0, 0x00000078, 0x01007f1f, 0x00006080,
0x03400000, 0x00000980, 0x01002004, 0x00006784, 0x06800000, 0x00000980,
- 0x00000426, 0x0000e583, 0x0bca0001, 0x00008980, 0x03402404, 0x0000e089,
- 0x03402c04, 0x00000091, 0x00000426, 0x0000e583, 0x0010f81a, 0x0000a100,
- 0x82400a06, 0x00006080, 0x03870800, 0x00000980, 0x03c00000, 0x00006180,
- 0x06d00002, 0x00004980, 0xcbc02222, 0x00006080, 0x0030f81b, 0x00006080,
+ 0x00000427, 0x00006583, 0x0bca0001, 0x00008980, 0x03402404, 0x0000e089,
+ 0x03402c04, 0x00000091, 0x00000427, 0x00006583, 0x0011001a, 0x0000a100,
+ 0x81400a07, 0x0000e080, 0x03870800, 0x00000980, 0x03c00000, 0x00006180,
+ 0x06d00002, 0x00004980, 0xcbc02223, 0x0000e080, 0x0031001b, 0x00006080,
0x03080800, 0x0000f900, 0x00008016, 0x00008980, 0x0b800000, 0x0000f900,
- 0x00307fc0, 0x00000980, 0x0b004008, 0x00006100, 0xd000082f, 0x0000e408,
- 0x0b491f07, 0x00000036, 0x81111f1e, 0x00006008, 0x81904c24, 0x00008000,
- 0xc6904c24, 0x0000e000, 0xc390c218, 0x00008900, 0x0000140d, 0x00007410,
+ 0x00307fc0, 0x00000980, 0x0b00500a, 0x00006100, 0xd000082f, 0x0000e408,
+ 0x0b492708, 0x00008036, 0x8111271f, 0x00006008, 0x81d02c25, 0x00008000,
+ 0xc6902c25, 0x00006000, 0xc390c218, 0x00008900, 0x00000e9f, 0x00007410,
0xc3d0ca19, 0x0000e100, 0x06083804, 0x0000c980, 0x06400000, 0x0000e180,
- 0x8b902204, 0x0000c908, 0x09000c24, 0x0000e080, 0x00006000, 0x00000981,
- 0x09213024, 0x0000e100, 0xa0000000, 0x00002482, 0x00600000, 0x000080cd,
- 0x2c11261e, 0x00009600, 0x824588b0, 0x00009000, 0x02004209, 0x00006002,
- 0xc0000800, 0x00008981, 0x2c002c27, 0x00001680, 0x89c588b0, 0x00009000,
- 0x00000426, 0x0000e583, 0x01c00007, 0x00000084, 0x000018ec, 0x00005790,
- 0x00d87ac1, 0x00000180, 0xb038fa27, 0x00005000, 0x0038f000, 0x00008000,
- 0xb038ec27, 0x0000d000, 0x0038e000, 0x00000000, 0xb0385e27, 0x0000d000,
- 0x00385000, 0x00008000, 0xb0784027, 0x00005000, 0x00383800, 0x00000000,
- 0xb0783227, 0x00005000, 0x00382800, 0x00008000, 0x000018ec, 0x00005788,
+ 0x8b902204, 0x0000c908, 0x09400c25, 0x0000e080, 0x00006000, 0x00000981,
+ 0x09613825, 0x00006100, 0xa0000000, 0x00002482, 0x00600000, 0x000080cd,
+ 0x2c112e1f, 0x00009600, 0x814588b0, 0x00009000, 0x02805205, 0x00006002,
+ 0xc0000800, 0x00008981, 0x2c002c28, 0x00001680, 0x8a0588b0, 0x00009000,
+ 0x00000427, 0x00006583, 0x02000008, 0x00000084, 0x000018ec, 0x00005790,
+ 0x00d87ac1, 0x00000180, 0xb0390228, 0x00005000, 0x0038f800, 0x00000000,
+ 0xb038f428, 0x0000d000, 0x0038e800, 0x00008000, 0xb038e628, 0x0000d000,
+ 0x00385800, 0x00000000, 0xb0785028, 0x0000d000, 0x00384000, 0x00000000,
+ 0xb0783a28, 0x0000d000, 0x00383000, 0x00008000, 0x000018ec, 0x00005788,
0x00d87ac1, 0x000000c0, 0x008806ec, 0x00005f80, 0x00005000, 0x00000084,
- 0x2c30f426, 0x00001600, 0x810588b0, 0x00001000, 0x09000c24, 0x0000e080,
- 0x0c004008, 0x00000900, 0x09213024, 0x0000e100, 0x0c403807, 0x00008900,
- 0x00006000, 0x0000e181, 0x0cc1782f, 0x0000c900, 0x2c11261e, 0x00009600,
- 0x824588b0, 0x00009000, 0x02004209, 0x00006002, 0xa0000000, 0x00002482,
- 0x2c002c27, 0x00001680, 0x89c588b0, 0x00009000, 0x01c00007, 0x00006084,
- 0x89511f1e, 0x00008000, 0x00000426, 0x0000e583, 0xd0000833, 0x00002400,
+ 0x2c30fc27, 0x00001600, 0x810588b0, 0x00001000, 0x09400c25, 0x0000e080,
+ 0x0c00500a, 0x00000900, 0x09613825, 0x00006100, 0x0c404008, 0x00008900,
+ 0x00006000, 0x0000e181, 0x0cc1782f, 0x0000c900, 0x2c112e1f, 0x00009600,
+ 0x814588b0, 0x00009000, 0x02805205, 0x00006002, 0xa0000000, 0x00002482,
+ 0x2c002c28, 0x00001680, 0x8a0588b0, 0x00009000, 0x02000008, 0x00006084,
+ 0x8991271f, 0x00008000, 0x00000427, 0x00006583, 0xd0000833, 0x00002400,
0x0c800000, 0x00007900, 0x00307fc0, 0x00000980, 0x000018ec, 0x00005790,
- 0x00d87ac1, 0x00000180, 0xb038fa27, 0x00005000, 0x0038f000, 0x00008000,
- 0xb038ec27, 0x0000d000, 0x0038e000, 0x00000000, 0xb0385e27, 0x0000d000,
- 0x00385000, 0x00008000, 0xb0784027, 0x00005000, 0x00383800, 0x00000000,
- 0xb0783227, 0x00005000, 0x00382800, 0x00008000, 0x000018ec, 0x00005788,
- 0x00d87ac1, 0x000000c0, 0x0b390721, 0x00000234, 0x00600000, 0x000080cd,
- 0x0ba00c04, 0x00008083, 0x8c902225, 0x00001100, 0x008806ec, 0x00005f80,
- 0x00005000, 0x00000084, 0x02400000, 0x00006180, 0x0410300c, 0x0000e187,
- 0x8237180c, 0x00006086, 0x00183009, 0x00003186, 0x2a000000, 0x00007900,
- 0x00008080, 0x00008980, 0x0303040c, 0x0000e081, 0x08001aaa, 0x00002106,
+ 0x00d87ac1, 0x00000180, 0xb0390228, 0x00005000, 0x0038f800, 0x00000000,
+ 0xb038f428, 0x0000d000, 0x0038e800, 0x00008000, 0xb038e628, 0x0000d000,
+ 0x00385800, 0x00000000, 0xb0785028, 0x0000d000, 0x00384000, 0x00000000,
+ 0xb0783a28, 0x0000d000, 0x00383000, 0x00008000, 0x000018ec, 0x00005788,
+ 0x00d87ac1, 0x000000c0, 0x0b390f22, 0x00008234, 0x00600000, 0x000080cd,
+ 0x0ba00c04, 0x00008083, 0x8c902226, 0x00001100, 0x008806ec, 0x00005f80,
+ 0x00005000, 0x00000084, 0x01400000, 0x00006180, 0x04103804, 0x0000e187,
+ 0x82371804, 0x0000e086, 0x00183805, 0x0000b186, 0x2a000000, 0x00007900,
+ 0x00008080, 0x00008980, 0x01030409, 0x00006081, 0x08001aaa, 0x00002106,
0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
- 0xaab81400, 0x00008a2c, 0x14471c90, 0x00007500, 0x2bc08709, 0x00008aa1,
- 0x2b80600c, 0x00001900, 0x01001b06, 0x00001880, 0xec0002ec, 0x00005080,
- 0x00000000, 0x00008080, 0x03405804, 0x00006002, 0x0940f804, 0x00000784,
- 0x03005025, 0x00006004, 0x01100000, 0x00008980, 0x02400000, 0x0000f900,
+ 0xaab81400, 0x00008a2c, 0x0ed91b44, 0x0000f500, 0x2bc08705, 0x00008aa1,
+ 0x2b802004, 0x00001900, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
+ 0x01001b07, 0x0000e080, 0x02500000, 0x0000c980, 0x03000000, 0x0000f900,
0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
- 0x00760809, 0x0000e586, 0x00761004, 0x0000b587, 0x700040ec, 0x00005680,
- 0x003820e0, 0x00000010, 0x703848ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x01100006, 0x00001980,
- 0x703868ec, 0x00005600, 0x00386000, 0x00008000, 0xc1002222, 0x00001880,
- 0x700040ec, 0x00005680, 0x003827c0, 0x00008078, 0xec0022ec, 0x00007902,
- 0x02400000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00000004, 0x00001582,
- 0xec004cec, 0x00007912, 0x01000000, 0x00008000, 0x08404008, 0x00006110,
- 0x08003807, 0x0000c910, 0x00001460, 0x00007008, 0x89613c27, 0x00009900,
- 0x01f84f04, 0x00008020, 0xc1800b06, 0x00006080, 0x81000b06, 0x00000080,
- 0x8028ea04, 0x00009502, 0xc1800000, 0x00009988, 0xe23f2a25, 0x0000a880,
- 0x02401b06, 0x00009880, 0x03405809, 0x0000e002, 0x0100f809, 0x00008784,
- 0x01000000, 0x0000e180, 0x03005004, 0x0000c004, 0xc1310c27, 0x0000f900,
- 0x00000002, 0x00000080, 0x700040ec, 0x00005680, 0x003820c0, 0x00008010,
- 0x01100006, 0x00001980, 0x703868ec, 0x00005600, 0x00386000, 0x00008000,
- 0x000013d0, 0x00007400, 0xc1002222, 0x00001880, 0x700040ec, 0x00005680,
- 0x003827c0, 0x00008078, 0x02c07c04, 0x00006281, 0x08000000, 0x00000980,
- 0x0000640b, 0x0000e583, 0x08400000, 0x00008980, 0x08800000, 0x000082cc,
+ 0x00761009, 0x00006587, 0x0076080c, 0x0000b586, 0x700040ec, 0x00005680,
+ 0x003848e0, 0x00008010, 0x703860ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x0980f804, 0x00006784, 0x02500006, 0x00000980, 0x0140e004, 0x0000e002,
+ 0xc2402223, 0x00008880, 0x700008ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x01005826, 0x00009004, 0x703828ec, 0x0000d600, 0x00382000, 0x00000000,
+ 0x700040ec, 0x00005680, 0x00384fc0, 0x00000078, 0xec004aec, 0x0000f902,
+ 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00000009, 0x00009582,
+ 0xec004cec, 0x00007912, 0x01000000, 0x00008000, 0x0880500a, 0x00006110,
+ 0x08404008, 0x00004910, 0x00000ef2, 0x00007008, 0x89a14428, 0x00009900,
+ 0x02384f04, 0x00000028, 0x81000b07, 0x0000e080, 0x02400000, 0x00008980,
+ 0x8028f204, 0x00006502, 0xc1c00b07, 0x00000080, 0xc1c00000, 0x00001988,
+ 0xe23f2a26, 0x0000a880, 0x01401b07, 0x00001880, 0xc2710c28, 0x00007900,
+ 0x00000002, 0x00000080, 0x0140e005, 0x00006002, 0x0100f805, 0x00008784,
+ 0x700040ec, 0x00005680, 0x003848c0, 0x00000010, 0x02500006, 0x0000e180,
+ 0x01005804, 0x0000c004, 0x703828ec, 0x0000d600, 0x00382000, 0x00000000,
+ 0x00000e62, 0x00007400, 0xc2402223, 0x00001880, 0x700040ec, 0x00005680,
+ 0x00384fc0, 0x00000078, 0x04c07c04, 0x00006281, 0x08000000, 0x00000980,
+ 0x00006413, 0x0000e583, 0x08400000, 0x00008980, 0x08800000, 0x000082cc,
0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4,
0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc,
0x0c000000, 0x000083c4, 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4,
- 0x0d800000, 0x000083dc, 0x0000153d, 0x0000f410, 0x0e000000, 0x000083e4,
- 0x0e800000, 0x000083ec, 0x01283f05, 0x00006001, 0x0b001206, 0x0000a106,
- 0x02c30404, 0x0000e081, 0xca10520a, 0x00000900, 0x0ab8770d, 0x0000822c,
- 0x2c002c0b, 0x00009680, 0x824588b0, 0x00009000, 0xb000a209, 0x00007902,
- 0x04c00000, 0x00008000, 0xb0387409, 0x0000a000, 0xb0403809, 0x0000f902,
- 0x01400000, 0x00000000, 0xb0406209, 0x0000f902, 0x02800000, 0x00000000,
- 0xc0000714, 0x00006583, 0x0b00780f, 0x00008900, 0x0b788f10, 0x00008238,
- 0xb0008e09, 0x0000f902, 0x04000000, 0x00008000, 0x0bf8af12, 0x00000300,
- 0xb0389409, 0x0000a080, 0x0c78bf16, 0x00008308, 0x0cf8cf18, 0x00000310,
- 0x000014b1, 0x0000f408, 0x0d78e71a, 0x00000318, 0x0dc0e81d, 0x00001900,
- 0x0120480e, 0x00002000, 0xffffffff, 0x00007fa7, 0x02504a0c, 0x00001100,
- 0x00109809, 0x00001502, 0x00001533, 0x0000f00b, 0xc1106312, 0x00009202,
- 0x82400a0c, 0x0000e090, 0x08400000, 0x00000990, 0x83000a0c, 0x0000e090,
- 0x08800000, 0x00000990, 0x000014ec, 0x0000f008, 0x01007f13, 0x00006080,
- 0x09800000, 0x00000980, 0x0e003807, 0x00006100, 0x0010a026, 0x0000e100,
- 0x01002004, 0x00006784, 0x09d00002, 0x00008980, 0x01c03e13, 0x00006002,
- 0x0eca0005, 0x00000980, 0x0e484f05, 0x0000021a, 0x2c002c0b, 0x00009680,
- 0x824588b0, 0x00009000, 0x01400005, 0x00006084, 0x0030a027, 0x00002080,
- 0x08100000, 0x0000f900, 0x00008016, 0x00008980, 0x0e800000, 0x0000f900,
- 0x00207fc0, 0x00008980, 0x001040ec, 0x0000d780, 0x00d87b81, 0x000000c0,
- 0xb038a209, 0x0000d000, 0x00389800, 0x00000000, 0xb0389409, 0x0000d000,
- 0x00387000, 0x00000000, 0xb0388e09, 0x00005000, 0x00388000, 0x00000000,
- 0xb0783809, 0x00005000, 0x00382800, 0x00008000, 0xb0786209, 0x00005000,
- 0x00385000, 0x00008000, 0x08c00000, 0x0000e180, 0xc8709e13, 0x0000c900,
- 0x09083804, 0x0000e180, 0x09400000, 0x0000c980, 0xcec02206, 0x00006080,
- 0x08401c04, 0x0000c081, 0x2c002c0b, 0x00009680, 0x82c588b0, 0x00001000,
- 0xb0382a0b, 0x0000a000, 0x02402421, 0x00009081, 0xffffffff, 0x00007f97,
- 0x02c07f05, 0x00001080, 0x02c0200b, 0x00009784, 0x82420321, 0x0000e080,
- 0x08605c09, 0x00008101, 0xc8702a09, 0x00006100, 0xe000183a, 0x0000a403,
- 0x8eb02a09, 0x00001100, 0x8000000c, 0x000000c4, 0xc0c00000, 0x00006180,
- 0xa0000000, 0x0000e482, 0xc0000800, 0x00001981, 0x008806ec, 0x00005f80,
- 0x00005000, 0x00000084, 0x82605c0b, 0x00001900, 0xe2003a09, 0x00007902,
- 0x01400000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00072807, 0x00001502,
- 0x03c03807, 0x00006110, 0x03402805, 0x0000c910, 0x82605c0b, 0x00009910,
- 0x00001593, 0x0000f008, 0xe23f2a09, 0x00002880, 0xc3000b0c, 0x00006080,
- 0x82400b0c, 0x00008080, 0x80289209, 0x00001502, 0xc3000000, 0x00009988,
- 0xffffffff, 0x00007f86, 0x01001b0c, 0x00001880, 0x02008804, 0x0000e002,
- 0x0240f804, 0x00008784, 0x01c08009, 0x0000e004, 0x01000000, 0x00000980,
- 0xc1310c0b, 0x00007900, 0x00000002, 0x00000080, 0x700040ec, 0x00005680,
- 0x003820c0, 0x00008010, 0x01100006, 0x00001980, 0x703840ec, 0x00005600,
- 0x00383800, 0x00000000, 0xc1002206, 0x00001880, 0x700040ec, 0x00005680,
- 0x003827c0, 0x00008078, 0x01007f13, 0x00006080, 0x09800000, 0x00000980,
- 0x82400a0c, 0x00006080, 0x0010a026, 0x00002100, 0x0e00780f, 0x00006100,
- 0x01002004, 0x0000c784, 0x03c07e13, 0x00006002, 0x08400000, 0x00008980,
- 0x09d00002, 0x00006180, 0x0eca0005, 0x0000c980, 0x0e40680d, 0x0000e100,
- 0x83000a0c, 0x0000c080, 0xc9904a09, 0x00006100, 0x0340000d, 0x0000c084,
- 0x2c002c0b, 0x00009680, 0x824588b0, 0x00009000, 0x08100000, 0x0000f900,
+ 0x0d800000, 0x000083dc, 0x00000fcf, 0x0000f410, 0x0e000000, 0x000083e4,
+ 0x0e800000, 0x000083ec, 0x0b38870f, 0x00000234, 0x03e83f05, 0x0000e001,
+ 0xca10520a, 0x00000900, 0x04c3040f, 0x00006081, 0x0a80680d, 0x00008900,
+ 0x0ac0700e, 0x0000e100, 0x0b00120d, 0x0000e106, 0x2c002c13, 0x00009680,
+ 0x840588b0, 0x00001000, 0xb0006210, 0x0000f902, 0x02c00000, 0x00008000,
+ 0xb0005410, 0x0000f902, 0x03800000, 0x00008000, 0xb0004e10, 0x00007902,
+ 0x02000000, 0x00008000, 0xb0402810, 0x0000f902, 0x01000000, 0x00008000,
+ 0xc000070c, 0x00006583, 0x0b808811, 0x00000900, 0xb0403a10, 0x0000f902,
+ 0x01800000, 0x00000000, 0x0bf8af12, 0x00000300, 0x0c78bf16, 0x00008308,
+ 0x0cf8cf18, 0x00000310, 0x00000f44, 0x0000f408, 0x0d78e71a, 0x00000318,
+ 0x0dc0e81d, 0x00001900, 0x0120800e, 0x0000a000, 0xffffffff, 0x00007fa7,
+ 0x04108207, 0x00009100, 0x00105810, 0x00009502, 0x00000fc5, 0x0000700b,
+ 0xc3503b0a, 0x00001202, 0x84000a07, 0x0000e090, 0x08400000, 0x00000990,
+ 0x81c00a07, 0x0000e090, 0x08800000, 0x00000990, 0x00000f7f, 0x0000f008,
+ 0x03c07f0b, 0x0000e080, 0x09800000, 0x00000980, 0x0e002805, 0x00006100,
+ 0x00106026, 0x0000e100, 0x03c0200f, 0x00006784, 0x09d00002, 0x00008980,
+ 0x01402e0b, 0x00006002, 0x0eca0005, 0x00000980, 0x0e488704, 0x0000021a,
+ 0x2c002c13, 0x00009680, 0x840588b0, 0x00001000, 0x01000004, 0x00006084,
+ 0x00306027, 0x00002080, 0x08100000, 0x0000f900, 0x00008016, 0x00008980,
+ 0x0e800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x001040ec, 0x0000d780,
+ 0x00d87b81, 0x000000c0, 0xb0386210, 0x00005000, 0x00385800, 0x00000000,
+ 0xb0385410, 0x00005000, 0x00387000, 0x00000000, 0xb0384e10, 0x0000d000,
+ 0x00384000, 0x00000000, 0xb0782810, 0x00005000, 0x00382000, 0x00000000,
+ 0xb0783a10, 0x00005000, 0x00383000, 0x00008000, 0x08c00000, 0x0000e180,
+ 0xc8705e0b, 0x0000c900, 0x09083804, 0x0000e180, 0x09400000, 0x0000c980,
+ 0xcec0220d, 0x0000e080, 0x08401c0f, 0x00004081, 0x2c002c13, 0x00009680,
+ 0x84c588b0, 0x00001000, 0xb0382a13, 0x0000a000, 0x04002421, 0x00001081,
+ 0xffffffff, 0x00007f97, 0x04c07f05, 0x00001080, 0x04c02013, 0x00009784,
+ 0x84020321, 0x00006080, 0x08609c10, 0x00000101, 0xc8702a10, 0x0000e100,
+ 0xe000183a, 0x0000a403, 0x8eb02a10, 0x00009100, 0x8000000c, 0x000000c4,
+ 0xc0c00000, 0x00006180, 0xa0000000, 0x0000e482, 0xc0000800, 0x00001981,
+ 0x008806ec, 0x00005f80, 0x00005000, 0x00000084, 0x84209c13, 0x00009900,
+ 0xe2002a10, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x00072805, 0x00009502, 0x04802805, 0x00006110, 0x04402004, 0x00004910,
+ 0x03c00000, 0x0000e190, 0x84209c13, 0x00004910, 0x00001026, 0x00007008,
+ 0xe23f2a10, 0x0000a880, 0xc1c00b07, 0x00006080, 0x84000b07, 0x00008080,
+ 0x80285210, 0x00009502, 0xc1c00000, 0x00001988, 0xc3f10c13, 0x0000f900,
+ 0x00000002, 0x00000080, 0x01001b07, 0x00009880, 0x01404804, 0x00006002,
+ 0x0400f804, 0x00000784, 0x700040ec, 0x00005680, 0x003878c0, 0x00000010,
+ 0x03d00006, 0x0000e180, 0x01004010, 0x0000c004, 0x703828ec, 0x0000d600,
+ 0x00382000, 0x00000000, 0xc3c0220d, 0x00001880, 0x700040ec, 0x00005680,
+ 0x00387fc0, 0x00000078, 0x01007f0b, 0x00006080, 0x09800000, 0x00000980,
+ 0x84000a07, 0x00006080, 0x00106026, 0x00002100, 0x0e009012, 0x00006100,
+ 0x01002004, 0x0000c784, 0x0480960b, 0x00006002, 0x08400000, 0x00008980,
+ 0x09d00002, 0x00006180, 0x0eca0005, 0x0000c980, 0x0e408811, 0x0000e100,
+ 0x81c00a07, 0x0000c080, 0xc9908210, 0x00006100, 0x04400011, 0x0000c084,
+ 0x2c002c13, 0x00009680, 0x840588b0, 0x00001000, 0x08100000, 0x0000f900,
0x00008016, 0x00008980, 0x0e800000, 0x0000f900, 0x00207fc0, 0x00008980,
0x001040ec, 0x0000d780, 0x00d87b81, 0x000000c0, 0x08800000, 0x00006180,
- 0x0030a027, 0x0000e080, 0xb038a209, 0x0000d000, 0x00389800, 0x00000000,
- 0xb0389409, 0x0000d000, 0x00387000, 0x00000000, 0xb0388e09, 0x00005000,
- 0x00388000, 0x00000000, 0xb0787809, 0x0000d000, 0x00386800, 0x00000000,
- 0xb0786209, 0x00005000, 0x00385000, 0x00008000, 0x08c00000, 0x0000e180,
- 0x09083804, 0x0000c980, 0x000014da, 0x0000f400, 0x09400000, 0x0000e180,
- 0xc8709e13, 0x0000c900, 0xcec02206, 0x00006080, 0x08401c04, 0x0000c081,
- 0x2c002c0b, 0x00009680, 0x82c588b0, 0x00001000, 0xb0382a0b, 0x0000a000,
- 0x02402421, 0x00009081, 0xffffffff, 0x00007f97, 0x02c07f05, 0x00001080,
- 0x000014e3, 0x0000f400, 0x02c0200b, 0x00009784, 0x82420321, 0x0000e080,
- 0x08605c09, 0x00008101, 0x0000540b, 0x00001583, 0x0a000828, 0x0000e388,
+ 0x00306027, 0x0000e080, 0xb0386210, 0x00005000, 0x00385800, 0x00000000,
+ 0xb0385410, 0x00005000, 0x00387000, 0x00000000, 0xb0384e10, 0x0000d000,
+ 0x00384000, 0x00000000, 0xb0789010, 0x00005000, 0x00388800, 0x00008000,
+ 0xb0783a10, 0x00005000, 0x00383000, 0x00008000, 0x08c00000, 0x0000e180,
+ 0x09083804, 0x0000c980, 0x00000f6d, 0x0000f400, 0x09400000, 0x0000e180,
+ 0xc8705e0b, 0x0000c900, 0xcec0220d, 0x0000e080, 0x08401c04, 0x0000c081,
+ 0x2c002c13, 0x00009680, 0x84c588b0, 0x00001000, 0xb0382a13, 0x0000a000,
+ 0x04002421, 0x00001081, 0xffffffff, 0x00007f97, 0x04c07f05, 0x00001080,
+ 0x00000f76, 0x0000f400, 0x04c02013, 0x00009784, 0x84020321, 0x00006080,
+ 0x08609c10, 0x00000101, 0x00005413, 0x00001583, 0x0a000828, 0x0000e388,
0x0a80680d, 0x00000908, 0xca10520a, 0x00006108, 0x0ac0700e, 0x00004908,
- 0x000014e6, 0x0000f010, 0x01a83f05, 0x0000e001, 0x0b001214, 0x0000a106,
- 0x02c30406, 0x00006081, 0x0b00780f, 0x00008900, 0x0b788f10, 0x00008238,
- 0x2c002c0b, 0x00009680, 0x824588b0, 0x00009000, 0xb0389a09, 0x00002080,
- 0xb0008c09, 0x00007902, 0x03800000, 0x00008000, 0xb0008609, 0x00007902,
- 0x03c00000, 0x00000000, 0xb0406809, 0x0000f902, 0x03000000, 0x00000000,
- 0xc0000713, 0x0000e583, 0x0bc09012, 0x00008900, 0xb0405209, 0x0000f902,
- 0x02000000, 0x00008000, 0xb0389209, 0x00002000, 0x0000155c, 0x0000f008,
- 0x0120480e, 0x00002000, 0xffffffff, 0x00007fa7, 0x02504a0a, 0x00001100,
- 0x00109009, 0x00009502, 0x00001586, 0x0000700b, 0xc1105311, 0x00009202,
- 0x000015df, 0x0000700b, 0x01007f12, 0x0000e080, 0x09800000, 0x00000980,
- 0x82400a0a, 0x00006080, 0x00109826, 0x0000a100, 0x0e00680d, 0x00006100,
- 0x01002004, 0x0000c784, 0x03406e12, 0x0000e002, 0x08400000, 0x00008980,
- 0x09d00002, 0x00006180, 0x0eca0005, 0x0000c980, 0x0e40600c, 0x0000e100,
- 0x82800a0a, 0x0000c080, 0xc9904a09, 0x00006100, 0x0300000c, 0x0000c084,
- 0x2c002c0b, 0x00009680, 0x824588b0, 0x00009000, 0x08100000, 0x0000f900,
- 0x00008016, 0x00008980, 0x0e800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x000040ec, 0x00005780, 0x00d87b81, 0x000000c0, 0x08800000, 0x00006180,
- 0x00309827, 0x00006080, 0xb0389a09, 0x00005000, 0x00389000, 0x00008000,
- 0xb0388c09, 0x0000d000, 0x00387000, 0x00000000, 0xb0388609, 0x0000d000,
- 0x00387800, 0x00008000, 0xb0786809, 0x00005000, 0x00386000, 0x00008000,
- 0xb0785209, 0x00005000, 0x00384000, 0x00000000, 0x08c00000, 0x0000e180,
- 0x09083804, 0x0000c980, 0x09400000, 0x0000e180, 0xc8709612, 0x0000c900,
- 0xcec02214, 0x00006080, 0x08401c04, 0x0000c081, 0x2c002c0b, 0x00009680,
- 0x82c588b0, 0x00001000, 0xb0382a0b, 0x0000a000, 0x02401421, 0x00006081,
- 0xe000183a, 0x0000a403, 0xffffffff, 0x00007f97, 0x02c07f05, 0x00001080,
- 0x02c0200b, 0x00009784, 0x000014e6, 0x0000f400, 0x82410321, 0x0000e080,
- 0x08605c09, 0x00008101, 0x8eb02a09, 0x0000e100, 0xc8702a09, 0x00000100,
- 0x01c00000, 0x0000e180, 0x04106005, 0x0000e187, 0x82371805, 0x00006086,
- 0x00186007, 0x0000b186, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
- 0x01430404, 0x00006081, 0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900,
- 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980,
- 0x2a400000, 0x00006180, 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c,
- 0x15a51c90, 0x0000f500, 0x2bc08707, 0x00000aa1, 0x2b802805, 0x00001900,
- 0x01001b0c, 0x00001880, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
- 0x02008804, 0x0000e002, 0x0240f804, 0x00008784, 0x01c08009, 0x0000e004,
- 0x01100000, 0x00008980, 0x01400000, 0x0000f900, 0x00003fc0, 0x00008980,
- 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x00760805, 0x0000e586,
- 0x00761004, 0x0000b587, 0x700040ec, 0x00005680, 0x003820e0, 0x00000010,
- 0x703828ec, 0x0000d600, 0x00000000, 0x00008080, 0x700008ec, 0x00005680,
- 0x00000000, 0x00008080, 0x01100006, 0x00001980, 0x703840ec, 0x00005600,
- 0x00383800, 0x00000000, 0xc1002206, 0x00001880, 0x700040ec, 0x00005680,
- 0x003827c0, 0x00008078, 0xec0022ec, 0x00007902, 0x01400000, 0x00000000,
- 0xffffffff, 0x00007fa7, 0x00000004, 0x00001582, 0xec003cec, 0x0000f912,
- 0x01000000, 0x00008000, 0x82605c0b, 0x00009910, 0x000015be, 0x0000f008,
- 0xe23f2a09, 0x00002880, 0x82400b0c, 0x0000e080, 0x03402004, 0x00008900,
- 0x80289209, 0x0000e502, 0xc3000b0c, 0x00000080, 0x03c03807, 0x0000e100,
- 0xc3000000, 0x0000c988, 0xffffffff, 0x00007f86, 0x01001b0c, 0x00001880,
- 0x02008804, 0x0000e002, 0x0240f804, 0x00008784, 0x01c08009, 0x0000e004,
- 0x01000000, 0x00000980, 0xc1310c0b, 0x00007900, 0x00000002, 0x00000080,
- 0x700040ec, 0x00005680, 0x003820c0, 0x00008010, 0x01100006, 0x00001980,
- 0x703840ec, 0x00005600, 0x00383800, 0x00000000, 0x0000150a, 0x0000f400,
- 0xc1002206, 0x00001880, 0x700040ec, 0x00005680, 0x003827c0, 0x00008078,
- 0x00001586, 0x0000f000, 0x82605c0b, 0x00001900, 0xe2002a09, 0x0000f902,
- 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00072805, 0x00009502,
- 0x000015fd, 0x0000700b, 0xc278250b, 0x00008030, 0xe23f2a09, 0x00002880,
- 0x82400b0a, 0x0000e080, 0x03402805, 0x00008900, 0x80288a09, 0x0000e502,
- 0xc2800b0a, 0x00000080, 0xc2800000, 0x00009988, 0xffffffff, 0x00007f86,
- 0x01001b0a, 0x00001880, 0x01c08004, 0x00006002, 0x0240f804, 0x00008784,
- 0x01807809, 0x0000e004, 0x01000000, 0x00000980, 0xc1310c0b, 0x00007900,
- 0x00000002, 0x00000080, 0x700040ec, 0x00005680, 0x003820c0, 0x00008010,
- 0x01100006, 0x00001980, 0x703838ec, 0x00005600, 0x00383000, 0x00008000,
- 0x0000155e, 0x00007400, 0xc1002214, 0x00001880, 0x700040ec, 0x00005680,
- 0x003827c0, 0x00008078, 0x01400000, 0x00006180, 0x04105006, 0x0000e187,
- 0x82371806, 0x00006086, 0x00185005, 0x00003186, 0x2a000000, 0x00007900,
- 0x00008080, 0x00008980, 0x01830406, 0x0000e081, 0x08001aaa, 0x00002106,
+ 0x00000f79, 0x0000f010, 0x01a83f05, 0x0000e001, 0x0b408010, 0x00000900,
+ 0x04c30406, 0x00006081, 0x0bc09012, 0x00008900, 0x0b00780f, 0x00006100,
+ 0x0b001214, 0x00006106, 0x2c002c13, 0x00009680, 0x840588b0, 0x00001000,
+ 0xb0389210, 0x00002080, 0xb0007c10, 0x0000f902, 0x03800000, 0x00008000,
+ 0xb0006e10, 0x0000f902, 0x03000000, 0x00000000, 0xb0405810, 0x00007902,
+ 0x02800000, 0x00000000, 0xc0000712, 0x00006583, 0x0b808811, 0x00000900,
+ 0xb0404a10, 0x00007902, 0x02000000, 0x00008000, 0xb0388a10, 0x0000a000,
+ 0x00000fef, 0x0000f008, 0x0120800e, 0x0000a000, 0xffffffff, 0x00007fa7,
+ 0x04108209, 0x00001100, 0x00108810, 0x00001502, 0x00001019, 0x0000700b,
+ 0xc1104b0f, 0x00009202, 0x00001071, 0x0000f00b, 0x01007f11, 0x0000e080,
+ 0x09800000, 0x00000980, 0x84000a09, 0x0000e080, 0x00109026, 0x00002100,
+ 0x0e00580b, 0x00006100, 0x01002004, 0x0000c784, 0x02c05e11, 0x0000e002,
+ 0x08400000, 0x00008980, 0x09d00002, 0x00006180, 0x0eca0005, 0x0000c980,
+ 0x0e40500a, 0x0000e100, 0x82400a09, 0x0000c080, 0xc9908210, 0x00006100,
+ 0x0280000a, 0x0000c084, 0x2c002c13, 0x00009680, 0x840588b0, 0x00001000,
+ 0x08100000, 0x0000f900, 0x00008016, 0x00008980, 0x0e800000, 0x0000f900,
+ 0x00207fc0, 0x00008980, 0x000040ec, 0x00005780, 0x00d87b81, 0x000000c0,
+ 0x08800000, 0x00006180, 0x00309027, 0x0000e080, 0xb0389210, 0x00005000,
+ 0x00388800, 0x00008000, 0xb0387c10, 0x00005000, 0x00387000, 0x00000000,
+ 0xb0386e10, 0x00005000, 0x00386000, 0x00008000, 0xb0785810, 0x0000d000,
+ 0x00385000, 0x00008000, 0xb0784a10, 0x0000d000, 0x00384000, 0x00000000,
+ 0x08c00000, 0x0000e180, 0x09083804, 0x0000c980, 0x09400000, 0x0000e180,
+ 0xc8708e11, 0x0000c900, 0xcec02214, 0x00006080, 0x08401c04, 0x0000c081,
+ 0x2c002c13, 0x00009680, 0x84c588b0, 0x00001000, 0xb0382a13, 0x0000a000,
+ 0x04001421, 0x0000e081, 0xe000183a, 0x0000a403, 0xffffffff, 0x00007f97,
+ 0x04c07f05, 0x00001080, 0x04c02013, 0x00009784, 0x00000f79, 0x0000f400,
+ 0x84010321, 0x00006080, 0x08609c10, 0x00000101, 0x8eb02a10, 0x00006100,
+ 0xc8702a10, 0x00008100, 0x01400000, 0x00006180, 0x0410380f, 0x00006187,
+ 0x8237180f, 0x00006086, 0x00183805, 0x0000b186, 0x2a000000, 0x00007900,
+ 0x00008080, 0x00008980, 0x03c3040f, 0x0000e081, 0x08001aaa, 0x00002106,
0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
- 0xaab81400, 0x00008a2c, 0x160f1c90, 0x0000f500, 0x2bc08705, 0x00008aa1,
- 0x2b803006, 0x00001900, 0x01001b0a, 0x00001880, 0xec0002ec, 0x00005080,
- 0x00000000, 0x00008080, 0x01c08004, 0x00006002, 0x0240f804, 0x00008784,
- 0x01807809, 0x0000e004, 0x01100000, 0x00008980, 0x01400000, 0x0000f900,
+ 0xaab81400, 0x00008a2c, 0x10381b44, 0x0000f500, 0x2bc08705, 0x00008aa1,
+ 0x2b80780f, 0x00001900, 0x01001b07, 0x00009880, 0xec0002ec, 0x00005080,
+ 0x00000000, 0x00008080, 0x04404804, 0x00006002, 0x0400f804, 0x00000784,
+ 0x03c04010, 0x0000e004, 0x01100000, 0x00008980, 0x01400000, 0x0000f900,
0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
0x00760805, 0x0000e586, 0x00761004, 0x0000b587, 0x700040ec, 0x00005680,
0x003820e0, 0x00000010, 0x703828ec, 0x0000d600, 0x00000000, 0x00008080,
0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x01100006, 0x00001980,
- 0x703838ec, 0x00005600, 0x00383000, 0x00008000, 0xc1002214, 0x00001880,
- 0x700040ec, 0x00005680, 0x003827c0, 0x00008078, 0xec0022ec, 0x00007902,
- 0x01400000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00000004, 0x00001582,
- 0xec0034ec, 0x00007912, 0x01000000, 0x00008000, 0x00001628, 0x00007009,
- 0x000015e5, 0x00007400, 0xffffffff, 0x00007f86, 0x01403006, 0x00009900,
- 0x4f78ceec, 0x00002180, 0xc00007e2, 0x00009583, 0xffffffff, 0x00007f97,
- 0x86400e19, 0x00006191, 0x46400d19, 0x00000189, 0x00000001, 0x00007480,
- 0x06400c19, 0x00001181, 0x4f78ceec, 0x0000a980, 0xda000c05, 0x0000c488,
- 0x7c200c05, 0x000005ac, 0xb5001405, 0x0000f88b, 0xb0800000, 0x00000b86,
- 0x4200650c, 0x00006283, 0x12c00000, 0x00000981, 0x14403807, 0x0000e108,
- 0x12003006, 0x00004908, 0x14009800, 0x0000f908, 0x00003400, 0x00000980,
- 0x000016e3, 0x00007010, 0x1646211a, 0x0000f004, 0x0000044d, 0x00009583,
- 0x937f1fe3, 0x00009908, 0xee026e4d, 0x0000a088, 0x0000164f, 0x00007010,
- 0xffffffff, 0x00007f97, 0x13403c4d, 0x00001281, 0x1340144d, 0x00001181,
- 0x00000c4d, 0x00001583, 0x00001654, 0x0000f01b, 0x11d16000, 0x0000f900,
- 0x0035d6aa, 0x00000980, 0x16541d18, 0x0000f500, 0x11b83f06, 0x00000410,
- 0x03624448, 0x00001900, 0x70388249, 0x0000a080, 0x7038a649, 0x00003038,
- 0x7078b049, 0x00003038, 0x7078c249, 0x00003038, 0x7078d449, 0x0000b038,
- 0x7078e649, 0x00003038, 0x70b8f049, 0x0000b038, 0x70b90249, 0x0000b038,
- 0x70b91449, 0x00003038, 0x70b92649, 0x0000b038, 0x70f93049, 0x0000b038,
- 0x70f94249, 0x0000b038, 0x70f95449, 0x00003038, 0x70f96649, 0x0000b038,
- 0x71397049, 0x0000b038, 0x71398249, 0x00003038, 0x71399449, 0x0000b038,
- 0x7139a649, 0x00003038, 0x7179b049, 0x00003038, 0x7179c249, 0x0000a080,
- 0x02000ce0, 0x00009283, 0x00001675, 0x0000700b, 0x166b1cba, 0x00007100,
- 0xffffffff, 0x00007f86, 0x0000045e, 0x00001583, 0x93400ee3, 0x00009890,
- 0x4fb8284d, 0x0000a190, 0xffffffff, 0x00007fa7, 0x01400805, 0x00001090,
- 0x00001717, 0x0000f410, 0x4fb8284d, 0x00002990, 0x4f80004d, 0x00005110,
- 0x00401000, 0x00008080, 0x4f784eec, 0x0000a180, 0xc00007e2, 0x00006583,
- 0x0460c418, 0x00008901, 0x12800000, 0x0000e180, 0x03810518, 0x0000c081,
- 0x03430518, 0x0000e081, 0x03000800, 0x00008981, 0x04000000, 0x00006181,
- 0x80000009, 0x00006487, 0x82400e09, 0x0000e091, 0x42400d09, 0x00008089,
- 0x02400c09, 0x00006081, 0x04800000, 0x00000981, 0x4f784eec, 0x00002980,
- 0x4f4006ec, 0x00005100, 0x00400000, 0x00000080, 0x027087e4, 0x00006000,
- 0x03c00000, 0x0000c981, 0xb8c00418, 0x0000f88b, 0x00800001, 0x00008080,
- 0x05808411, 0x00006481, 0x13404410, 0x00004880, 0x04c0a04d, 0x00009002,
- 0x0e409813, 0x0000e100, 0x02000015, 0x0000c084, 0x04f9cf08, 0x00000420,
- 0x14409f13, 0x000000a0, 0x1693211a, 0x0000f404, 0xc2002416, 0x00009880,
- 0x14004008, 0x00009900, 0x04c00ce0, 0x00006283, 0x82124a49, 0x00000900,
- 0x0000169a, 0x0000f00b, 0x16971cba, 0x00007100, 0xffffffff, 0x00007f86,
- 0x0000045e, 0x00001583, 0x000016e3, 0x00007013, 0x11c00000, 0x00006180,
- 0x0460b411, 0x00004101, 0x3840cc0f, 0x00006081, 0x93400a47, 0x00008880,
- 0x9350424d, 0x00009000, 0x7001da4d, 0x0000f902, 0x04c00000, 0x00008000,
- 0x7001d44d, 0x00007902, 0x0e400000, 0x00000000, 0x13400c12, 0x00001481,
- 0x0320644d, 0x00009303, 0x000016a7, 0x0000700b, 0x12820200, 0x0000f904,
- 0x13402412, 0x0000e080, 0x1201d83b, 0x0000c900, 0x1342684a, 0x00006700,
- 0x12409813, 0x00008900, 0x0330c618, 0x00006101, 0x52e23c0e, 0x00004001,
- 0x51010000, 0x0000e181, 0xc398b316, 0x00004900, 0x11a01709, 0x0000033c,
- 0x12c00502, 0x000081a2, 0x83600420, 0x000001e2, 0x16b62358, 0x0000f404,
- 0xc3c00000, 0x00006180, 0x04800c12, 0x00004481, 0xc2126a4d, 0x00001900,
- 0xc2002717, 0x00001283, 0x1201d03a, 0x00006110, 0x1241c839, 0x0000c910,
- 0x0338c718, 0x0000e111, 0xc2126a4d, 0x0000c910, 0x000016c3, 0x0000f008,
- 0x52e23c0d, 0x0000e001, 0x51020000, 0x00000981, 0x83b84917, 0x00008418,
- 0x0fe81402, 0x0000842c, 0x16c32358, 0x00007404, 0x86204000, 0x000080f6,
- 0x43e1c400, 0x000081e2, 0x13400c12, 0x0000e481, 0x11c00847, 0x00000080,
- 0x00223c16, 0x0000e503, 0x03e26c0f, 0x00008001, 0x03000000, 0x00001991,
- 0x000016ca, 0x00007009, 0x0000169c, 0x00007000, 0x03a0b40e, 0x00006001,
- 0x0360b40d, 0x00000001, 0x03000000, 0x0000e181, 0x04000c10, 0x0000c081,
- 0xa2400411, 0x0000f893, 0x18800000, 0x00000b87, 0x16d21632, 0x00007300,
- 0x12c00800, 0x00001981, 0x000016e4, 0x0000f200, 0x02000800, 0x00009981,
- 0x000016e4, 0x0000f200, 0x02001005, 0x000004ae, 0x03000000, 0x0000f900,
- 0x00008040, 0x00008980, 0x029e2800, 0x0000f900, 0x000b5414, 0x00008980,
- 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x01802004, 0x0000e100,
- 0x08001a08, 0x00006106, 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901,
- 0x16e31c63, 0x00007500, 0x82381400, 0x00008024, 0x83002800, 0x00009980,
- 0x02000000, 0x00001981, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x82c054ec, 0x00007902,
- 0x02400000, 0x00008604, 0x12802004, 0x00006100, 0x0000200e, 0x0000e586,
- 0x0428280e, 0x0000e887, 0x8620280e, 0x00006887, 0x1200500a, 0x0000e100,
- 0x00202809, 0x00006086, 0x1180700e, 0x00006100, 0x82282809, 0x0000e086,
- 0x04182809, 0x0000e987, 0x02c04809, 0x00001900, 0x16f81d3a, 0x0000f500,
- 0x11c6d800, 0x0000f900, 0x0032a52e, 0x00000980, 0x1240580b, 0x00001900,
- 0x16fa101e, 0x0000f300, 0x03425f04, 0x0000003b, 0x00000c05, 0x0000e583,
- 0x13400ee3, 0x00008881, 0x01402800, 0x00006189, 0x29c00000, 0x00004988,
- 0x29000000, 0x00006188, 0x29400000, 0x0000c988, 0x00001709, 0x00007010,
- 0x29800000, 0x00006180, 0x3b802004, 0x0000c900, 0x3b783705, 0x00000e1c,
- 0x39a08707, 0x000084a1, 0x00001716, 0x0000f400, 0x1bc00800, 0x00006181,
- 0xdbd712e2, 0x0000c900, 0x53000c4d, 0x00009081, 0x01800800, 0x000000dc,
- 0x00182806, 0x00006186, 0x82204007, 0x00003086, 0x29c00000, 0x0000e180,
- 0x0d806606, 0x0000e002, 0x29000000, 0x00008ad4, 0x29800000, 0x00000edc,
- 0x39a08000, 0x000004e1, 0x1bc00000, 0x0000e181, 0xdbd712e2, 0x0000c900,
- 0x53000ee3, 0x00006081, 0x3b803807, 0x0000c900, 0x3b403006, 0x00009900,
- 0x17172357, 0x00007004, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x0800240d, 0x00006006, 0x0800100e, 0x00003206, 0x0a5c6800, 0x00007900,
- 0x00286638, 0x00000980, 0x17211c9a, 0x00007500, 0x09880000, 0x00006180,
- 0x09206c0d, 0x0000c900, 0x0957280e, 0x00001200, 0x07000000, 0x000081f4,
- 0x07800000, 0x000081fc, 0x08000000, 0x000082c4, 0x08800000, 0x000082cc,
- 0x87182304, 0x0000e100, 0x03000c0d, 0x0000c181, 0xe5600c0c, 0x000044b0,
- 0x64206c0d, 0x0000858e, 0x0140740d, 0x00004588, 0x01204c0d, 0x00000096,
- 0x0a00440d, 0x0000e006, 0x05004022, 0x00003001, 0x47983006, 0x0000013a,
- 0x07b83d06, 0x0000813c, 0x0000176a, 0x00007400, 0x08204709, 0x0000820f,
- 0x08806c05, 0x00000207, 0x0000381c, 0x0000ec07, 0x0000176a, 0x00007200,
- 0x87902a05, 0x00001900, 0x01040404, 0x00009283, 0x03402000, 0x00006189,
- 0x03403000, 0x0000c991, 0x0000176a, 0x00007400, 0xffffffff, 0x00007f86,
- 0x0420681c, 0x00006807, 0x00007c0d, 0x00001583, 0x0000381c, 0x00006c0f,
- 0x0000176a, 0x0000f009, 0x00005c0d, 0x00009583, 0x0000301c, 0x0000ec0f,
- 0x0000176a, 0x0000f009, 0x0000540d, 0x00001583, 0x00001749, 0x0000f013,
- 0x01040404, 0x00009283, 0x03402800, 0x0000e189, 0x03403000, 0x0000c991,
- 0x00001759, 0x00007400, 0xffffffff, 0x00007f86, 0x0420681c, 0x00006807,
- 0x00002c0d, 0x00001583, 0x87d02a05, 0x00006108, 0x07803006, 0x00004908,
- 0x0000176a, 0x0000f009, 0x0000340d, 0x00001583, 0x0000081c, 0x00006c0f,
- 0x8710720e, 0x00001908, 0x00001759, 0x00007008, 0x00003c0d, 0x00009583,
- 0x0000101c, 0x00006c0f, 0x8710720e, 0x00001908, 0x00001759, 0x00007008,
- 0x0000440d, 0x00009583, 0x0000181c, 0x0000ec0f, 0x8710720e, 0x00001908,
- 0x0000175d, 0x0000f010, 0x07b83f06, 0x0000013c, 0x0000176a, 0x00007400,
- 0x08384f08, 0x00000204, 0x08f8570b, 0x00000208, 0x03000000, 0x0000f900,
- 0x00008040, 0x00008980, 0x02be3000, 0x00007900, 0x00286638, 0x00000980,
- 0x02e0d000, 0x00007900, 0x0013d06a, 0x00008980, 0x01800000, 0x00006180,
- 0x08001a08, 0x00006106, 0x01400000, 0x000080dc, 0x176a1c63, 0x00007500,
- 0x82200500, 0x00008022, 0x83001000, 0x00006180, 0x02401002, 0x0000c900,
- 0x01782d04, 0x0000e001, 0x0b001212, 0x0000a106, 0x04c10405, 0x00001081,
- 0xffffffff, 0x00007f86, 0x2c002c13, 0x00009680, 0x834588b0, 0x00001000,
- 0xb0008a0d, 0x0000f902, 0x04000000, 0x00008000, 0xb050320d, 0x0000f902,
- 0x02000200, 0x00000000, 0xb048ea0d, 0x00002082, 0xb0007c0d, 0x0000f902,
- 0x03800000, 0x00008000, 0xc0000711, 0x00009583, 0xb000660d, 0x00007902,
- 0x02c00000, 0x00008000, 0xb040500d, 0x0000f902, 0x01c00000, 0x00008000,
- 0x00001784, 0x0000f208, 0xb0784a0d, 0x0000a080, 0x0120680e, 0x0000a000,
- 0xffffffff, 0x00007fa7, 0x03506a06, 0x00001100, 0x0010800d, 0x00009502,
- 0x00001784, 0x00007013, 0x00001800, 0x0000f000, 0xc110330f, 0x00009202,
- 0x83609c13, 0x00001908, 0xe200320d, 0x0000f90a, 0x01000000, 0x00008000,
- 0x000017d7, 0x00007010, 0xffffffff, 0x00007f97, 0x00072806, 0x00009502,
- 0x01800000, 0x0000e188, 0x41771ee3, 0x00004909, 0x81984b09, 0x0000e108,
- 0x2a400000, 0x0000c988, 0x000017c0, 0x00007010, 0x2c002c13, 0x00009680,
- 0x834588b0, 0x00001000, 0xb0482a0d, 0x00002082, 0x2a000000, 0x00007900,
- 0x00008080, 0x00008980, 0x01410405, 0x00006081, 0x08001aaa, 0x00002106,
- 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
- 0x0034c678, 0x00000980, 0xaaa00500, 0x00008a2a, 0x179f1c90, 0x00007500,
- 0x2af83702, 0x00000a3c, 0x2b808705, 0x00000aa1, 0x01001b09, 0x00001880,
- 0xec0002ec, 0x00005080, 0x00000000, 0x00008080, 0x01c06004, 0x0000e002,
- 0x0340f804, 0x00000784, 0x0180580d, 0x0000e004, 0x01100000, 0x00008980,
- 0x01400000, 0x0000f900, 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080,
- 0x00000000, 0x00008080, 0x00760805, 0x0000e586, 0x00761004, 0x0000b587,
- 0x700040ec, 0x00005680, 0x003820e0, 0x00000010, 0x703828ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x700008ec, 0x00005680, 0x00000000, 0x00008080,
- 0x01100006, 0x00001980, 0x703838ec, 0x00005600, 0x00383000, 0x00008000,
- 0xc1002212, 0x00001880, 0x700040ec, 0x00005680, 0x003827c0, 0x00008078,
- 0xec0022ec, 0x00007902, 0x01400000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x00000004, 0x00001582, 0xec0034ec, 0x00007912, 0x01000000, 0x00008000,
- 0x000017b8, 0x0000f009, 0xffffffff, 0x00007f86, 0xc3782513, 0x0000801c,
- 0xe23f2a0d, 0x0000a880, 0x83400b09, 0x00006080, 0x01400000, 0x00008980,
- 0x80287a0d, 0x00006502, 0xc2400b09, 0x00000080, 0xc2400000, 0x0000e188,
- 0x02803006, 0x0000c900, 0xc1710c13, 0x0000f900, 0x00000002, 0x00000080,
- 0x05100006, 0x0000e180, 0x01001b09, 0x00004880, 0x0340f804, 0x00006784,
- 0xc5002212, 0x00000880, 0x01006004, 0x00001002, 0x700040ec, 0x00005680,
- 0x003828c0, 0x00000010, 0x01802004, 0x0000e100, 0x0340580d, 0x0000c004,
- 0x703830ec, 0x0000d600, 0x00386800, 0x00000000, 0x700040ec, 0x00005680,
- 0x0038a7c0, 0x00000078, 0x01007f10, 0x00006080, 0x06800000, 0x00000980,
- 0x83400a09, 0x0000e080, 0x0010881a, 0x00002100, 0x0b00500a, 0x00006100,
- 0x01002004, 0x0000c784, 0x02805610, 0x00006002, 0x05400000, 0x00000980,
+ 0x703888ec, 0x0000d600, 0x00387800, 0x00008000, 0xc100220d, 0x00009880,
+ 0x700040ec, 0x00005680, 0x003827c0, 0x00008078, 0xec0082ec, 0x00007902,
+ 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00000010, 0x00001582,
+ 0xec007cec, 0x00007912, 0x01000000, 0x00008000, 0x84209c13, 0x00001910,
+ 0x00001051, 0x00007008, 0xe23f2a10, 0x0000a880, 0x84000b07, 0x0000e080,
+ 0x0480780f, 0x00000900, 0x80285210, 0x00006502, 0xc1c00b07, 0x00000080,
+ 0xc1c00000, 0x00006188, 0x04402004, 0x0000c900, 0x03c00000, 0x00001980,
+ 0x01001b07, 0x00009880, 0xc3f10c13, 0x0000f900, 0x00000002, 0x00000080,
+ 0x01404804, 0x00006002, 0x0400f804, 0x00000784, 0x700040ec, 0x00005680,
+ 0x003878c0, 0x00000010, 0x03d00006, 0x0000e180, 0x01004010, 0x0000c004,
+ 0x703828ec, 0x0000d600, 0x00382000, 0x00000000, 0x00000f9c, 0x00007400,
+ 0xc3c0220d, 0x00001880, 0x700040ec, 0x00005680, 0x00387fc0, 0x00000078,
+ 0x00001019, 0x0000f000, 0x84209c13, 0x00009900, 0xe2002a10, 0x00007902,
+ 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00072805, 0x00009502,
+ 0x0000108e, 0x0000f00b, 0xc4382513, 0x00000028, 0xe23f2a10, 0x0000a880,
+ 0x84000b09, 0x00006080, 0x01800000, 0x00008980, 0x80287a10, 0x00006502,
+ 0xc2400b09, 0x00000080, 0x02c02805, 0x00006100, 0xc2400000, 0x0000c988,
+ 0xc1b10c13, 0x0000f900, 0x00000002, 0x00000080, 0x01001b09, 0x00001880,
+ 0x01406804, 0x0000e002, 0x0400f804, 0x00000784, 0x700040ec, 0x00005680,
+ 0x003830c0, 0x00000010, 0x01900006, 0x0000e180, 0x01006010, 0x00004004,
+ 0x703828ec, 0x0000d600, 0x00382000, 0x00000000, 0x00000ff1, 0x0000f400,
+ 0xc1802214, 0x00009880, 0x700040ec, 0x00005680, 0x003837c0, 0x00000078,
+ 0x01400000, 0x00006180, 0x04104806, 0x0000e187, 0x82371806, 0x00006086,
+ 0x00184805, 0x00003186, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
+ 0x01830406, 0x0000e081, 0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900,
+ 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980,
+ 0x2a400000, 0x00006180, 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c,
+ 0x10a01b44, 0x00007500, 0x2bc08705, 0x00008aa1, 0x2b803006, 0x00001900,
+ 0x01001b09, 0x00001880, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
+ 0x01c06804, 0x00006002, 0x0400f804, 0x00000784, 0x01806010, 0x00006004,
+ 0x01100000, 0x00008980, 0x01400000, 0x0000f900, 0x00003fc0, 0x00008980,
+ 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x00760805, 0x0000e586,
+ 0x00761004, 0x0000b587, 0x700040ec, 0x00005680, 0x003820e0, 0x00000010,
+ 0x703828ec, 0x0000d600, 0x00000000, 0x00008080, 0x700008ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x01100006, 0x00001980, 0x703838ec, 0x00005600,
+ 0x00383000, 0x00008000, 0xc1002214, 0x00001880, 0x700040ec, 0x00005680,
+ 0x003827c0, 0x00008078, 0xec0032ec, 0x0000f902, 0x01000000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x00000006, 0x00009582, 0xec0034ec, 0x00007912,
+ 0x01000000, 0x00008000, 0x000010b9, 0x0000f009, 0x00001077, 0x0000f400,
+ 0xffffffff, 0x00007f86, 0x01403006, 0x00009900, 0x0800642b, 0x00006006,
+ 0x08001006, 0x0000b206, 0x0a5c6800, 0x00007900, 0x00286638, 0x00000980,
+ 0x10cb1b4e, 0x0000f500, 0x09080000, 0x0000e180, 0x09615c2b, 0x00004900,
+ 0x09972806, 0x00009200, 0x07000000, 0x000081f4, 0x07800000, 0x000081fc,
+ 0x08000000, 0x000082c4, 0x08800000, 0x000082cc, 0x8718630c, 0x0000e100,
+ 0x01000c2b, 0x0000c181, 0x1aa00c04, 0x0000c4b0, 0x0a206c2b, 0x0000048b,
+ 0x1660742b, 0x0000c589, 0x13a04c2b, 0x00000c88, 0x0a00842b, 0x00006006,
+ 0x05008022, 0x00003001, 0x4798700e, 0x0000013a, 0x07b87d0e, 0x0000813c,
+ 0x08208711, 0x0000820f, 0x08815c0d, 0x00000207, 0xc1078705, 0x00009283,
+ 0x0000116d, 0x0000f013, 0x0141070d, 0x0000e081, 0x0b00120d, 0x00002106,
+ 0x02604405, 0x00009001, 0xffffffff, 0x00007f86, 0x2c002c09, 0x00001680,
+ 0x8ac588b0, 0x00009000, 0xb0009a2b, 0x0000f902, 0x04800000, 0x00000000,
+ 0xb058ea2b, 0x0000f902, 0x02800200, 0x00008000, 0xb0008c2b, 0x00007902,
+ 0x03800000, 0x00008000, 0xb000862b, 0x00007902, 0x03c00000, 0x00000000,
+ 0xc0000713, 0x00001583, 0xb040382b, 0x0000f902, 0x01800000, 0x00000000,
+ 0xb0785a2b, 0x0000a080, 0x000010f5, 0x0000f008, 0x0121580e, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x0ad15a0b, 0x00009100, 0x0010902b, 0x00009502,
+ 0x0000117e, 0x0000700b, 0xc1105b11, 0x00001202, 0x8ac00a0b, 0x00006090,
+ 0x05400000, 0x00008990, 0x82c00a0b, 0x0000e090, 0x05800000, 0x00008990,
+ 0x00001126, 0x0000f008, 0x01007f12, 0x0000e080, 0x06800000, 0x00000980,
+ 0x0b003807, 0x00006100, 0x0010981a, 0x00006100, 0x01002004, 0x00006784,
+ 0x06d00002, 0x00008980, 0x01c03e12, 0x0000e002, 0x0bca0005, 0x00000980,
+ 0x0b800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0b495f06, 0x0000012a,
+ 0x2c002c09, 0x00001680, 0x8ac588b0, 0x00009000, 0x01800006, 0x00006084,
+ 0x0030981b, 0x0000a080, 0x05100000, 0x00007900, 0x00008016, 0x00008980,
+ 0x000028ec, 0x0000d780, 0x00d87ac1, 0x000000c0, 0xb0389a2b, 0x00005000,
+ 0x00389000, 0x00008000, 0xb0388c2b, 0x0000d000, 0x00387000, 0x00000000,
+ 0xb038862b, 0x0000d000, 0x00387800, 0x00008000, 0xb078382b, 0x00005000,
+ 0x00383000, 0x00008000, 0xb0785a2b, 0x0000d000, 0x00385000, 0x00008000,
+ 0x05c00000, 0x00006180, 0xc5709612, 0x00004900, 0x06083804, 0x0000e180,
+ 0x06400000, 0x0000c980, 0x05401c04, 0x0000e081, 0xcbc0220d, 0x00000880,
+ 0x8bb09612, 0x00001900, 0x8000000c, 0x000000c4, 0xc0c00000, 0x00006180,
+ 0xa0000000, 0x0000e482, 0xc0000800, 0x00006181, 0x80706e0d, 0x00004901,
+ 0x008806ec, 0x00005f80, 0x00005000, 0x00000084, 0x8ae04c09, 0x00001900,
+ 0xe200322b, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x00072806, 0x00009502, 0x03003006, 0x00006110, 0x02002004, 0x0000c910,
+ 0x01800000, 0x0000e190, 0x8ae04c09, 0x0000c910, 0x000011b7, 0x00007008,
+ 0xe23f2a2b, 0x00002880, 0xc2c00b0b, 0x00006080, 0x8ac00b0b, 0x00000080,
+ 0x80288a2b, 0x00001502, 0xc2c00000, 0x00001988, 0xc1b10c09, 0x00007900,
+ 0x00000002, 0x00000080, 0x01001b0b, 0x00009880, 0x01408004, 0x0000e002,
+ 0x0ac0f804, 0x00008784, 0x700040ec, 0x00005680, 0x003830c0, 0x00000010,
+ 0x01900006, 0x0000e180, 0x0100782b, 0x0000c004, 0x703828ec, 0x0000d600,
+ 0x00382000, 0x00000000, 0xc180220d, 0x00001880, 0x700040ec, 0x00005680,
+ 0x003837c0, 0x00000078, 0x01007f12, 0x0000e080, 0x06800000, 0x00000980,
+ 0x8ac00a0b, 0x0000e080, 0x0010981a, 0x0000a100, 0x0b00600c, 0x00006100,
+ 0x01002004, 0x0000c784, 0x03006612, 0x0000e002, 0x05400000, 0x00000980,
0x0b800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x06d00002, 0x00006180,
- 0x0bca0005, 0x0000c980, 0x0b403807, 0x0000e100, 0x82400a09, 0x0000c080,
- 0xc6906a0d, 0x00006100, 0x01c00007, 0x0000c084, 0x2c002c13, 0x00009680,
- 0x834588b0, 0x00001000, 0x05100000, 0x00007900, 0x00008016, 0x00008980,
+ 0x0bca0005, 0x0000c980, 0x0b404008, 0x0000e100, 0x82c00a0b, 0x0000c080,
+ 0xc6915a2b, 0x00006100, 0x02000008, 0x0000c084, 0x2c002c09, 0x00001680,
+ 0x8ac588b0, 0x00009000, 0x05100000, 0x00007900, 0x00008016, 0x00008980,
0x000028ec, 0x0000d780, 0x00d87ac1, 0x000000c0, 0x05800000, 0x0000e180,
- 0x0030881b, 0x0000e080, 0xb0388a0d, 0x00005000, 0x00388000, 0x00000000,
- 0xb0387c0d, 0x00005000, 0x00387000, 0x00000000, 0xb038660d, 0x0000d000,
- 0x00385800, 0x00000000, 0xb078500d, 0x00005000, 0x00383800, 0x00000000,
- 0xb0784a0d, 0x0000d000, 0x00384000, 0x00000000, 0x05c00000, 0x00006180,
- 0x06083804, 0x0000c980, 0x06400000, 0x0000e180, 0xc5708610, 0x00004900,
- 0x05401c04, 0x0000e081, 0x8bb08610, 0x00008900, 0xcbc02212, 0x00001880,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x15802405, 0x00004389,
- 0x00202405, 0x00000098, 0x18201405, 0x00004489, 0x26201405, 0x00000699,
- 0x00800c05, 0x00004789, 0x90203405, 0x00000d8f, 0x18203405, 0x000045a8,
- 0x8fc03c05, 0x00001088, 0x180e211a, 0x0000f404, 0x14009800, 0x00007900,
- 0x00001000, 0x00000980, 0x14783707, 0x00000420, 0x0000044d, 0x00009583,
- 0x82bf1fe3, 0x00009908, 0xee004e0a, 0x0000a088, 0x00001817, 0x00007010,
- 0xffffffff, 0x00007f97, 0x02803c09, 0x00001281, 0x0240140a, 0x00001181,
- 0x00000c09, 0x00001583, 0x0000181d, 0x0000f01b, 0x02426f06, 0x00000037,
- 0x11b83f09, 0x00000018, 0x181d1d18, 0x0000f500, 0x11ccf000, 0x0000f900,
- 0x00195cd2, 0x00000980, 0x11003006, 0x00009900, 0x70008249, 0x00007902,
- 0x07000000, 0x00008000, 0x7040a249, 0x00007902, 0x04c00000, 0x00008000,
- 0x7000dc49, 0x0000f902, 0x06800000, 0x00008000, 0x70405c49, 0x0000f902,
- 0x04800000, 0x00000000, 0x70803849, 0x00007902, 0x01800000, 0x00000000,
- 0x52c00ee3, 0x0000e081, 0x51008000, 0x0000c981, 0x11800002, 0x00006180,
- 0x8fd01202, 0x00004900, 0x12c00502, 0x000081a2, 0x83600410, 0x000001e2,
- 0xc3c00000, 0x00006180, 0x12008010, 0x0000c900, 0x18332358, 0x0000f404,
- 0x1248a71c, 0x00000022, 0xc3804413, 0x0000e080, 0x03289d13, 0x00004901,
- 0x02800ee3, 0x00006081, 0x1200d81b, 0x0000c900, 0x1247ff1a, 0x000080b2,
- 0x822081e5, 0x00000492, 0xc3880000, 0x00006180, 0x11800002, 0x00004980,
- 0x0fe81402, 0x0000842c, 0x86208000, 0x000080f6, 0x183e2358, 0x00007404,
- 0x86200400, 0x000000fd, 0x52c00c0a, 0x00001081, 0x03789f14, 0x00008038,
- 0x18421d54, 0x00007500, 0x03383f0b, 0x00000028, 0x01f89706, 0x0000002c,
- 0x00000406, 0x00009583, 0xfb3846ec, 0x0000a090, 0xfb7838ec, 0x00002090,
- 0x00001891, 0x0000f008, 0xffffffff, 0x00007f97, 0x01801007, 0x00001282,
- 0x05000800, 0x00006190, 0x04584004, 0x0000c990, 0x04c00000, 0x00001990,
- 0x00001891, 0x0000f008, 0x184f1e1e, 0x00007204, 0x04800800, 0x00007900,
- 0x00004000, 0x00000980, 0x82402d00, 0x00006080, 0x05000800, 0x0000c980,
- 0x70383209, 0x0000a080, 0x04800800, 0x00007900, 0x00004000, 0x00000980,
- 0x04c00000, 0x00009980, 0xffffffff, 0x00007f86, 0x02800006, 0x0000f900,
- 0x00003800, 0x00000380, 0x0240800a, 0x00009080, 0x185c1e1e, 0x0000f404,
- 0x02401009, 0x00001780, 0x04404809, 0x00009900, 0x82802d00, 0x00006080,
- 0x05002000, 0x0000c980, 0x7038320a, 0x0000a080, 0x04800800, 0x00007900,
- 0x00004000, 0x00000980, 0x04c00000, 0x00009980, 0xffffffff, 0x00007f86,
- 0x02401306, 0x00001880, 0xffffffff, 0x00007f86, 0x2c204209, 0x00009600,
- 0x028588b0, 0x00001000, 0x2c204309, 0x00001600, 0x024588b0, 0x00001000,
- 0x02408009, 0x00001880, 0x02972806, 0x0000e200, 0x02405009, 0x00000000,
- 0x0280100a, 0x00001880, 0x0280000a, 0x0000f900, 0x00003880, 0x00008080,
- 0x0280480a, 0x00009000, 0x0180100a, 0x0000e780, 0x0240100a, 0x00008780,
- 0xfe784aec, 0x00002880, 0x82771ee3, 0x00001900, 0x15000009, 0x00005080,
- 0x00400000, 0x00008000, 0x15000009, 0x0000d000, 0x00400000, 0x00000080,
- 0x0240100a, 0x00001780, 0x187d1e1e, 0x0000f404, 0xfe4002ec, 0x00005000,
- 0x00400000, 0x00000080, 0x04404809, 0x00009900, 0x68804cec, 0x00002004,
- 0x82802d00, 0x00006080, 0x03400040, 0x00004980, 0x7000440a, 0x0000f902,
- 0x01c00000, 0x00008000, 0x02801f06, 0x000000bc, 0x00000409, 0x00006583,
- 0x03800800, 0x00008980, 0x688004ec, 0x0000500c, 0x00400800, 0x00000082,
- 0x188b1e3e, 0x00007500, 0x83420000, 0x0000e180, 0x0400500a, 0x00004900,
- 0x02000000, 0x00001988, 0x783868ec, 0x0000d600, 0x00004601, 0x000000b8,
- 0x783840ec, 0x0000d600, 0x00383800, 0x00000000, 0x00c002ec, 0x0000df80,
- 0x1184880b, 0x00001684, 0x000018e7, 0x00007200, 0x02800000, 0x000080ec,
- 0x1896211a, 0x00007404, 0x12383f06, 0x00000504, 0x14009a00, 0x00001980,
- 0x0000044d, 0x00009583, 0x82bf1fe3, 0x00009908, 0xee004e0a, 0x0000a088,
- 0x0000189f, 0x00007010, 0xffffffff, 0x00007f97, 0x02803c09, 0x00001281,
- 0x0240140a, 0x00001181, 0x00000c09, 0x00001583, 0x000018a4, 0x0000701b,
- 0x02783f06, 0x00008410, 0x18a41d18, 0x00007500, 0x11e7a000, 0x0000f900,
- 0x00195cd2, 0x00000980, 0x11826f09, 0x00008037, 0x70005a49, 0x00007902,
- 0x02800000, 0x00000000, 0x70383c49, 0x00002000, 0x18aa1dad, 0x0000f501,
- 0xffffffff, 0x00007f86, 0x02385f0a, 0x00000024, 0x000018e7, 0x00007200,
- 0x02900000, 0x000000ec, 0x18af211a, 0x00007404, 0x12383f06, 0x00000504,
- 0x14009900, 0x00001980, 0x0000044d, 0x00009583, 0x82bf1fe3, 0x00009908,
- 0xee004e0a, 0x0000a088, 0x000018b8, 0x00007010, 0xffffffff, 0x00007f97,
- 0x02803c09, 0x00001281, 0x0240140a, 0x00001181, 0x00000c09, 0x00001583,
- 0x000018be, 0x0000f01b, 0x02426f06, 0x00000037, 0x11b83f09, 0x00000018,
- 0x18be1d18, 0x0000f500, 0x11cdc800, 0x0000f900, 0x00195cd4, 0x00000980,
- 0x11003006, 0x00009900, 0x70383a49, 0x0000a080, 0xffffffff, 0x00007fa7,
- 0xf8c08407, 0x00009081, 0x18c21e13, 0x00007004, 0x000004e3, 0x0000e583,
- 0x02c00000, 0x00000980, 0x02400800, 0x0000e189, 0x02401800, 0x00004991,
- 0x000018e7, 0x00007400, 0x02800000, 0x00001980, 0x42e04c09, 0x00001901,
- 0x18cd211a, 0x0000f404, 0x14009800, 0x00007900, 0x00001000, 0x00000980,
+ 0x0030981b, 0x00006080, 0xb0389a2b, 0x00005000, 0x00389000, 0x00008000,
+ 0xb0388c2b, 0x0000d000, 0x00387000, 0x00000000, 0xb038862b, 0x0000d000,
+ 0x00387800, 0x00008000, 0xb078602b, 0x0000d000, 0x00384000, 0x00000000,
+ 0xb0785a2b, 0x0000d000, 0x00385000, 0x00008000, 0x05c00000, 0x00006180,
+ 0x06083804, 0x0000c980, 0x06400000, 0x0000e180, 0xc5709612, 0x00004900,
+ 0x0000111f, 0x0000f400, 0x05401c04, 0x0000e081, 0x8bb09612, 0x00008900,
+ 0xcbc0220d, 0x00009880, 0x08800000, 0x00006180, 0x09002c2b, 0x0000e006,
+ 0x07800000, 0x00006180, 0x0000101c, 0x00006407, 0x07c00000, 0x000002c0,
+ 0x08400000, 0x000082cc, 0x01000c2b, 0x0000e283, 0x88906a0d, 0x00008900,
+ 0x0100242b, 0x00001283, 0x0100142b, 0x00001283, 0x00001189, 0x0000f010,
+ 0x0000118d, 0x00007010, 0x00001191, 0x0000f008, 0x0ac1d000, 0x00009981,
+ 0x000010dd, 0x0000f400, 0x0ac1042b, 0x00009180, 0x07c15fe4, 0x00001800,
+ 0x8000000c, 0x000000c4, 0xc0c00000, 0x00006180, 0xa0000000, 0x0000e482,
+ 0xc0000800, 0x00006181, 0x80706e0d, 0x00004901, 0x008806ec, 0x00005f80,
+ 0x00005000, 0x00000084, 0x0000381c, 0x0000ec07, 0x87906a0d, 0x00001900,
+ 0x37478705, 0x0000f88e, 0x68800000, 0x0000888b, 0x0ac1c000, 0x00001981,
+ 0x000010dd, 0x0000f400, 0x0ac1042b, 0x00009180, 0x07c15fe4, 0x00001800,
+ 0x0ac1c800, 0x00009981, 0x000010dd, 0x0000f400, 0x0ac1042b, 0x00009180,
+ 0x07c15fe4, 0x00001800, 0x000010dd, 0x0000f200, 0x07800800, 0x00009980,
+ 0x00007c2b, 0x00009583, 0x0000381c, 0x00006c0f, 0x000010db, 0x00007009,
+ 0x00005c2b, 0x00001583, 0x0000301c, 0x0000ec0f, 0x000010db, 0x00007009,
+ 0x0000542b, 0x00009583, 0x00001208, 0x0000f00b, 0x00002c2b, 0x00009583,
+ 0x87d06a0d, 0x00006108, 0x0780700e, 0x00004908, 0x000010db, 0x00007009,
+ 0x0000342b, 0x00009583, 0x0000081c, 0x00006c0f, 0x87103206, 0x00001908,
+ 0x00001203, 0x00007008, 0x00003c2b, 0x00001583, 0x0000101c, 0x00006c0f,
+ 0x87103206, 0x00001908, 0x00001203, 0x00007008, 0x0000442b, 0x00001583,
+ 0x03000000, 0x00007910, 0x00008040, 0x00008980, 0x01800000, 0x0000e190,
+ 0x01400000, 0x0000c990, 0x00001201, 0x0000f008, 0x02be3000, 0x00007900,
+ 0x00286638, 0x00000980, 0x02e0d000, 0x00007900, 0x0013d06a, 0x00008980,
+ 0x01c00000, 0x0000e180, 0x08001a08, 0x00006106, 0x11b71b17, 0x0000f500,
+ 0x83001000, 0x00006180, 0xc2300600, 0x0000c901, 0x02600702, 0x00008022,
+ 0x01800000, 0x00006180, 0x04105805, 0x00006187, 0x82371805, 0x00006086,
+ 0x00185806, 0x0000b186, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
+ 0x01604405, 0x00006001, 0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900,
+ 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980,
+ 0x2a400000, 0x00006180, 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c,
+ 0x11c91b44, 0x0000f500, 0x2bc08706, 0x00008aa1, 0x2b802805, 0x00001900,
+ 0x01001b0b, 0x00009880, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
+ 0x01c08004, 0x00006002, 0x0ac0f804, 0x00008784, 0x0180782b, 0x0000e004,
+ 0x01100000, 0x00008980, 0x01400000, 0x0000f900, 0x00003fc0, 0x00008980,
+ 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x00760805, 0x0000e586,
+ 0x00761004, 0x0000b587, 0x700040ec, 0x00005680, 0x003820e0, 0x00000010,
+ 0x703828ec, 0x0000d600, 0x00000000, 0x00008080, 0x700008ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x01100006, 0x00001980, 0x703838ec, 0x00005600,
+ 0x00383000, 0x00008000, 0xc100220d, 0x00009880, 0x700040ec, 0x00005680,
+ 0x003827c0, 0x00008078, 0xec0032ec, 0x0000f902, 0x01000000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x00000006, 0x00009582, 0xec0034ec, 0x00007912,
+ 0x01000000, 0x00008000, 0x8ae04c09, 0x00009910, 0x000011e2, 0x00007008,
+ 0xe23f2a2b, 0x00002880, 0x8ac00b0b, 0x00006080, 0x03003006, 0x00000900,
+ 0x80288a2b, 0x0000e502, 0xc2c00b0b, 0x00000080, 0xc2c00000, 0x00006188,
+ 0x02002004, 0x00004900, 0x01800000, 0x00001980, 0x01001b0b, 0x00009880,
+ 0xc1b10c09, 0x00007900, 0x00000002, 0x00000080, 0x01408004, 0x0000e002,
+ 0x0ac0f804, 0x00008784, 0x700040ec, 0x00005680, 0x003830c0, 0x00000010,
+ 0x01900006, 0x0000e180, 0x0100782b, 0x0000c004, 0x703828ec, 0x0000d600,
+ 0x00382000, 0x00000000, 0x00001143, 0x0000f400, 0xc180220d, 0x00001880,
+ 0x700040ec, 0x00005680, 0x003837c0, 0x00000078, 0x0000181c, 0x00006c07,
+ 0x87103206, 0x00009900, 0x07b87f0e, 0x0000013c, 0x08388f10, 0x00000204,
+ 0x08f89713, 0x00000208, 0x37478705, 0x0000f88e, 0x68800000, 0x0000888b,
+ 0x0104040c, 0x00001283, 0x0ac02800, 0x00006189, 0x0ac03000, 0x00004991,
+ 0x00001203, 0x00007400, 0xffffffff, 0x00007f86, 0x0421581c, 0x0000e807,
+ 0x0104040c, 0x00001283, 0x0ac02000, 0x0000e189, 0x0ac03000, 0x00004991,
+ 0xffffffff, 0x00007f86, 0x0421581c, 0x0000e807, 0x37478705, 0x0000f88e,
+ 0x68800000, 0x0000888b, 0x0800a40c, 0x00006006, 0x0800300e, 0x0000b206,
+ 0x0a5c6800, 0x00007900, 0x00286638, 0x00000980, 0x121d1b4e, 0x0000f500,
+ 0x09080000, 0x0000e180, 0x0960640c, 0x00004900, 0x0997280e, 0x00001200,
+ 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4,
+ 0x0a800000, 0x000082ec, 0x8918a314, 0x00006100, 0x01400c0c, 0x00004181,
+ 0x44e00c05, 0x000044b0, 0x04206c0c, 0x0000848e, 0x1bc0740c, 0x0000c588,
+ 0x17e04c0c, 0x00009088, 0x0a00c40c, 0x0000e006, 0x0500c02a, 0x00003001,
+ 0x4998b016, 0x0000021a, 0x09b8bd16, 0x0000821c, 0x0a20c719, 0x0000822f,
+ 0x0a806415, 0x00000227, 0xc147870d, 0x00009283, 0x00001306, 0x0000f013,
+ 0x03807c14, 0x00001281, 0x0338520a, 0x00006000, 0x0fc00000, 0x00004980,
+ 0x0140080c, 0x0000e180, 0x0000183f, 0x00002106, 0x03001a0b, 0x0000e080,
+ 0x14ca0005, 0x00004980, 0x0f781800, 0x0000f900, 0x00044000, 0x00008980,
+ 0x0340040b, 0x00000594, 0x15800000, 0x000004c8, 0x00006c0e, 0x00006583,
+ 0x13400000, 0x00008980, 0x15006005, 0x00006200, 0xc000183f, 0x0000a006,
+ 0x0300fe0a, 0x00006281, 0x0e404100, 0x00008980, 0x0e140000, 0x00007900,
+ 0x0002020e, 0x00000980, 0x0f001000, 0x00007900, 0x00010000, 0x00000980,
+ 0x14804000, 0x0000f900, 0x00207fc0, 0x00008980, 0x15c00002, 0x0000f900,
+ 0x00000200, 0x00000380, 0x04206056, 0x00006081, 0x04206055, 0x00003081,
+ 0x0e800000, 0x000083ec, 0x0fa81402, 0x00008338, 0x14384f08, 0x00000504,
+ 0x10000000, 0x0000e180, 0x10400080, 0x0000c980, 0x10c00000, 0x000084d0,
+ 0x11400000, 0x000004d8, 0x11c00000, 0x000004e0, 0x12400000, 0x000004e8,
+ 0x12c00000, 0x000004f8, 0x13c00000, 0x0000e180, 0x9310d21a, 0x0000c900,
+ 0x1328151a, 0x0000850c, 0x8f400f1b, 0x0000e181, 0x82c00a0b, 0x00000080,
+ 0xd0800a0d, 0x00006080, 0x5348d91b, 0x00008900, 0xd3400800, 0x00009989,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008070ec, 0x0000d780, 0x00007802, 0x00000080, 0x05400800, 0x00009981,
+ 0x03c10715, 0x0000e081, 0x0b00320d, 0x0000a106, 0x06e0840f, 0x00009001,
+ 0xffffffff, 0x00007f86, 0x2c002c1b, 0x00001680, 0x830588b0, 0x00009000,
+ 0xb000d20c, 0x0000f902, 0x06400000, 0x00008000, 0xb050e20c, 0x0000f902,
+ 0x04400200, 0x00008000, 0xb0492a0c, 0x00002082, 0xb000c40c, 0x00007902,
+ 0x03800000, 0x00008000, 0xc000071a, 0x00001583, 0xb000be0c, 0x0000f902,
+ 0x05800000, 0x00008000, 0xb040a00c, 0x00007902, 0x04c00000, 0x00008000,
+ 0x0000127b, 0x0000f208, 0xb078920c, 0x00002080, 0x0120600e, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x0310621c, 0x00009100, 0x0010c80c, 0x00001502,
+ 0x000012f8, 0x0000f00b, 0xc150e318, 0x00009202, 0x07100000, 0x00007910,
+ 0x00008016, 0x00008980, 0x83000a12, 0x0000e090, 0x07400000, 0x00000990,
+ 0x000012b0, 0x0000f008, 0x01407f19, 0x0000e080, 0x08800000, 0x00008980,
+ 0x0d00a014, 0x00006100, 0x0010d022, 0x0000e100, 0x01402005, 0x00006784,
+ 0x84800a12, 0x00000080, 0x0500a619, 0x00006002, 0x08d00002, 0x00000980,
+ 0x0d800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0dca0005, 0x0000e180,
+ 0x0d409813, 0x0000c900, 0xc890620c, 0x0000e100, 0x04c00013, 0x0000c084,
+ 0x2c002c1b, 0x00001680, 0x830588b0, 0x00009000, 0x000038ec, 0x00005780,
+ 0x00d87b41, 0x000000c0, 0x07800000, 0x00006180, 0x0030d023, 0x0000e080,
+ 0xb038d20c, 0x00005000, 0x0038c800, 0x00000000, 0xb038c40c, 0x0000d000,
+ 0x00387000, 0x00000000, 0xb038be0c, 0x00005000, 0x0038b000, 0x00000000,
+ 0xb078a00c, 0x0000d000, 0x00389800, 0x00000000, 0xb078920c, 0x00005000,
+ 0x00388800, 0x00008000, 0x07c00000, 0x0000e180, 0xc770ce19, 0x0000c900,
+ 0x08083804, 0x00006180, 0x08400000, 0x00004980, 0x07401c05, 0x0000e081,
+ 0x8db0ce19, 0x00008900, 0xcdc0220d, 0x00009880, 0x02000001, 0x0000e586,
+ 0x00003000, 0x0000b502, 0x01400000, 0x00006180, 0x00100001, 0x00006505,
+ 0xc0c00800, 0x0000e180, 0xc0000001, 0x0000e407, 0x41e01c00, 0x000000c3,
+ 0x4050ae15, 0x00008014, 0x008816ec, 0x0000df80, 0x00905000, 0x00008184,
+ 0x8320dc1b, 0x00001900, 0xe2009a0c, 0x00007902, 0x01400000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x00072813, 0x00001502, 0x8320dc1b, 0x0000e110,
+ 0x05009813, 0x00004910, 0x04c02805, 0x00009910, 0x00001349, 0x00007008,
+ 0xe23f2a0c, 0x00002880, 0xc4800b12, 0x00006080, 0x83000b12, 0x00008080,
+ 0x8028c20c, 0x00001502, 0xc4800000, 0x00009988, 0xffffffff, 0x00007f86,
+ 0x01401b12, 0x00009880, 0x03c0b805, 0x0000e002, 0x0300f805, 0x00000784,
+ 0x03000000, 0x00006180, 0x0140b00c, 0x0000c004, 0xc3310c1b, 0x00007900,
+ 0x00000002, 0x00000080, 0x700040ec, 0x00005680, 0x003860c0, 0x00000010,
+ 0x03100006, 0x00009980, 0x703878ec, 0x0000d600, 0x00382800, 0x00008000,
+ 0xc300220d, 0x00001880, 0x700040ec, 0x00005680, 0x003867c0, 0x00000078,
+ 0x01407f19, 0x0000e080, 0x08800000, 0x00008980, 0x83000a12, 0x00006080,
+ 0x0010d022, 0x00002100, 0x0d00a014, 0x00006100, 0x01402005, 0x0000c784,
+ 0x0500a619, 0x00006002, 0x07400000, 0x00008980, 0x0d800000, 0x0000f900,
+ 0x00207fc0, 0x00008980, 0x08d00002, 0x0000e180, 0x0dca0005, 0x0000c980,
+ 0x0d409813, 0x0000e100, 0x84800a12, 0x0000c080, 0xc890620c, 0x0000e100,
+ 0x04c00013, 0x0000c084, 0x2c002c1b, 0x00001680, 0x830588b0, 0x00009000,
+ 0x07100000, 0x0000f900, 0x00008016, 0x00008980, 0x000038ec, 0x00005780,
+ 0x00d87b41, 0x000000c0, 0x07800000, 0x00006180, 0x0030d023, 0x0000e080,
+ 0xb038d20c, 0x00005000, 0x0038c800, 0x00000000, 0xb038c40c, 0x0000d000,
+ 0x00387000, 0x00000000, 0xb038be0c, 0x00005000, 0x0038b000, 0x00000000,
+ 0xb078a00c, 0x0000d000, 0x00389800, 0x00000000, 0xb078920c, 0x00005000,
+ 0x00388800, 0x00008000, 0x07c00000, 0x0000e180, 0x08083804, 0x00004980,
+ 0x08400000, 0x00006180, 0xc770ce19, 0x0000c900, 0x000012a6, 0x00007400,
+ 0x07401c05, 0x0000e081, 0x8db0ce19, 0x00008900, 0xcdc0220d, 0x00009880,
+ 0x02000001, 0x0000e586, 0x00003000, 0x0000b502, 0x01400000, 0x00006180,
+ 0x00100001, 0x00006505, 0xc0c00800, 0x0000e180, 0xc0000001, 0x0000e407,
+ 0x41e01c00, 0x000000c3, 0x4050ae15, 0x00008014, 0x008816ec, 0x0000df80,
+ 0x00905000, 0x00008184, 0x00003824, 0x00006c07, 0x8990aa15, 0x00009900,
+ 0x8bc7870d, 0x0000788e, 0x00800001, 0x00008080, 0x0a800000, 0x0000e180,
+ 0x09006c0c, 0x00006006, 0x09800000, 0x0000e180, 0x00001024, 0x0000e407,
+ 0x09c00000, 0x000002e0, 0x0a400000, 0x000082ec, 0x01400c0c, 0x00006283,
+ 0x8a90aa15, 0x00000900, 0x0140240c, 0x00009283, 0x0140140c, 0x00009283,
+ 0x0000131b, 0x0000f010, 0x00001321, 0x0000f010, 0x0000131f, 0x00007008,
+ 0x0301d000, 0x00009981, 0x0301040c, 0x00009180, 0x09c067e4, 0x00009800,
+ 0x03807c14, 0x00001281, 0x0000140e, 0x00009583, 0x0578df1b, 0x00001911,
+ 0x00001230, 0x0000f009, 0x00001262, 0x00007000, 0x0301c000, 0x00001981,
+ 0x00001316, 0x00007400, 0x0301040c, 0x00009180, 0x09c067e4, 0x00009800,
+ 0x00001316, 0x00007200, 0x09800800, 0x00001980, 0x0301c800, 0x00009981,
+ 0x00001316, 0x00007400, 0x0301040c, 0x00009180, 0x09c067e4, 0x00009800,
+ 0x00007c0c, 0x00009583, 0x00003824, 0x0000ec0f, 0x0000122d, 0x0000f009,
+ 0x00005c0c, 0x00001583, 0x00003024, 0x00006c0f, 0x0000122d, 0x0000f009,
+ 0x0000540c, 0x00009583, 0x0000139d, 0x0000700b, 0x00002c0c, 0x00009583,
+ 0x89d0aa15, 0x0000e108, 0x0980b016, 0x0000c908, 0x0000122d, 0x0000f009,
+ 0x0000340c, 0x00009583, 0x00000824, 0x0000ec0f, 0x8910720e, 0x00009908,
+ 0x00001398, 0x00007008, 0x00003c0c, 0x00001583, 0x00001024, 0x0000ec0f,
+ 0x8910720e, 0x00009908, 0x00001398, 0x00007008, 0x0000440c, 0x00001583,
+ 0x03000000, 0x00007910, 0x00008040, 0x00008980, 0x01800000, 0x0000e190,
+ 0x01400000, 0x0000c990, 0x00001396, 0x0000f008, 0x02be3000, 0x00007900,
+ 0x00286638, 0x00000980, 0x02e0d000, 0x00007900, 0x0013d06a, 0x00008980,
+ 0x01c00000, 0x0000e180, 0x08001a08, 0x00006106, 0x13491b17, 0x0000f500,
+ 0x83001000, 0x00006180, 0xc2300600, 0x0000c901, 0x02600702, 0x00008022,
+ 0x03000000, 0x00006180, 0x08001aaa, 0x0000e106, 0x2c002c1b, 0x00001680,
+ 0x830588b0, 0x00009000, 0xb0487a0c, 0x0000a082, 0x2a000000, 0x00007900,
+ 0x00008080, 0x00008980, 0x2a400000, 0x00006180, 0x0018900c, 0x00006186,
+ 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0xeab00600, 0x00006101,
+ 0x8237180f, 0x00006086, 0x03e0840f, 0x00006001, 0xaaa80500, 0x00000901,
+ 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980, 0x135d1b44, 0x0000f500,
+ 0x2ac08702, 0x00008aa1, 0x2bb8670f, 0x00008a3c, 0x01401b12, 0x00009880,
+ 0xec0002ec, 0x00005080, 0x00000000, 0x00008080, 0x0400b805, 0x00006002,
+ 0x0300f805, 0x00000784, 0x03c0b00c, 0x00006004, 0x01500000, 0x00000980,
+ 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x03000000, 0x0000f900,
+ 0x00003fc0, 0x00008980, 0x0076080c, 0x0000e586, 0x00761005, 0x00003587,
+ 0x700040ec, 0x00005680, 0x003828e0, 0x00008010, 0x703860ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x700008ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x01500006, 0x00009980, 0x703880ec, 0x00005600, 0x00387800, 0x00008000,
+ 0xc140220d, 0x00001880, 0x700040ec, 0x00005680, 0x00382fc0, 0x00000078,
+ 0xec0062ec, 0x0000f902, 0x01400000, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x0000000c, 0x00009582, 0xec0064ec, 0x00007912, 0x01400000, 0x00000000,
+ 0x00001376, 0x0000f009, 0xffffffff, 0x00007f86, 0x05382f0c, 0x0000810c,
+ 0x8320dc1b, 0x00001900, 0xe23f2a0c, 0x00002880, 0xc4800b12, 0x00006080,
+ 0x83000b12, 0x00008080, 0x8028c20c, 0x00001502, 0xc4800000, 0x00009988,
+ 0xffffffff, 0x00007f86, 0x01401b12, 0x00009880, 0x03c0b805, 0x0000e002,
+ 0x0300f805, 0x00000784, 0x03000000, 0x00006180, 0x0140b00c, 0x0000c004,
+ 0xc3310c1b, 0x00007900, 0x00000002, 0x00000080, 0x700040ec, 0x00005680,
+ 0x003860c0, 0x00000010, 0x03100006, 0x00009980, 0x703878ec, 0x0000d600,
+ 0x00382800, 0x00008000, 0x000012ce, 0x0000f400, 0xc300220d, 0x00001880,
+ 0x700040ec, 0x00005680, 0x003867c0, 0x00000078, 0x00001824, 0x0000ec07,
+ 0x8910720e, 0x00001900, 0x09b8bf16, 0x0000021c, 0x0a38cf18, 0x00000224,
+ 0x0af8d71b, 0x00000228, 0xc187870d, 0x00007896, 0x78800000, 0x00008981,
+ 0x01440414, 0x00009283, 0x03002800, 0x00006189, 0x03003000, 0x00004991,
+ 0x00001398, 0x00007400, 0xffffffff, 0x00007f86, 0x04206024, 0x00006807,
+ 0x01440414, 0x00009283, 0x03002000, 0x0000e189, 0x03003000, 0x00004991,
+ 0xffffffff, 0x00007f86, 0x04206024, 0x00006807, 0xc187870d, 0x00007896,
+ 0x78800000, 0x00008981, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x000014d1, 0x0000f000,
+ 0x00002409, 0x00001583, 0x00002c09, 0x00009583, 0x00001c09, 0x00009583,
+ 0x000013fa, 0x0000f008, 0x00001401, 0x0000f008, 0x00001403, 0x00007010,
+ 0x14009800, 0x00007900, 0x00001c00, 0x00000980, 0x13bb1fce, 0x00007404,
+ 0x03c01800, 0x0000e181, 0x1200500a, 0x0000c900, 0x1440580b, 0x00001900,
+ 0x0000044d, 0x00009583, 0x84ff1fe3, 0x00001908, 0xee009e13, 0x0000a088,
+ 0x000013c4, 0x00007010, 0xffffffff, 0x00007f97, 0x04c03c13, 0x00001281,
+ 0x04c01413, 0x00001181, 0x00000c13, 0x00009583, 0x000013c9, 0x0000701b,
+ 0x121cf800, 0x0000f900, 0x003e9b6c, 0x00008980, 0x13c91bcc, 0x00007500,
+ 0x11b85f0a, 0x00000410, 0x03626c4d, 0x00001900, 0x70408e49, 0x0000f902,
+ 0x03400000, 0x00008000, 0x03000ce0, 0x00001283, 0x000013e3, 0x0000700b,
+ 0x13ce1b6e, 0x0000f100, 0xffffffff, 0x00007f86, 0x0000045e, 0x00001583,
+ 0x0900000a, 0x0000e190, 0x09801800, 0x00004990, 0x09400000, 0x00001990,
+ 0x000013e3, 0x00007008, 0x13d71b4e, 0x00007300, 0x0a5a6000, 0x0000f900,
+ 0x00286636, 0x00008980, 0x84c00ee3, 0x0000e080, 0x00001000, 0x00006504,
+ 0x4fb84813, 0x0000a180, 0x00400000, 0x00007900, 0x00008050, 0x00000980,
+ 0xc0200c02, 0x000080cd, 0xffffffff, 0x00007f86, 0x02400809, 0x00009080,
+ 0x00001450, 0x00007400, 0x4fb84813, 0x00002980, 0x4f800013, 0x00005100,
+ 0x00401800, 0x00000080, 0x43006510, 0x00009283, 0x01c00000, 0x00006188,
+ 0x01008811, 0x0000c908, 0x81988310, 0x0000e108, 0x0140680d, 0x00004908,
+ 0x00001410, 0x0000f010, 0x40005d0f, 0x00001583, 0x8180650f, 0x00006199,
+ 0xc1a87d0f, 0x00008919, 0x03000000, 0x0000f930, 0x00008040, 0x00008980,
+ 0x00001410, 0x00007018, 0x029ef000, 0x0000f900, 0x003e9b6c, 0x00008980,
+ 0x02c83000, 0x0000f900, 0x003c8678, 0x00000980, 0x01800000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x01400000, 0x000080dc, 0x83001000, 0x00006180,
+ 0xc2300600, 0x0000c901, 0x02600702, 0x00008022, 0x13fa1b17, 0x0000f100,
+ 0x43001d10, 0x00006283, 0x03002000, 0x00008981, 0x04c03000, 0x0000e191,
+ 0x04e04c09, 0x00004909, 0x00001411, 0x00007400, 0xffffffff, 0x00007f86,
+ 0x03e09c13, 0x00001901, 0x00001411, 0x00007200, 0x83003801, 0x000000fe,
+ 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x02b26800, 0x0000f900,
+ 0x00120902, 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980,
+ 0x01b84f08, 0x00008014, 0x01c00000, 0x0000e180, 0x08001a08, 0x00006106,
+ 0x000013f9, 0x0000f400, 0x83002800, 0x0000e180, 0xc2300600, 0x0000c901,
+ 0x02600702, 0x00008022, 0x03001800, 0x00009981, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x04e07c0f, 0x0000e101,
+ 0x0020480e, 0x0000e086, 0x82c07cec, 0x00007902, 0x03400000, 0x00000604,
+ 0x8228480e, 0x00006086, 0x00002012, 0x00003586, 0x04284812, 0x0000e087,
+ 0x0418480e, 0x0000b187, 0x12804008, 0x00006100, 0x86204812, 0x00006087,
+ 0x0378970f, 0x00000418, 0x03b8770d, 0x0000803c, 0x14241bee, 0x0000f500,
+ 0x11c6d800, 0x0000f900, 0x0032a52e, 0x00000980, 0x12387f0e, 0x00000424,
+ 0x14261454, 0x0000f300, 0x03409f08, 0x0000803b, 0x00002409, 0x0000e583,
+ 0x04c00ee3, 0x00000881, 0x00001435, 0x00007013, 0x43001d10, 0x00009283,
+ 0x29c00000, 0x00006188, 0x29000000, 0x00004988, 0x29400000, 0x0000e188,
+ 0x29800000, 0x0000c988, 0x00001435, 0x00007010, 0x3bb84f08, 0x00008e34,
+ 0x39f85f0a, 0x00000e18, 0x00001442, 0x00007400, 0x52000c10, 0x000085fe,
+ 0x53000c13, 0x0000e081, 0x929712e2, 0x00000900, 0x02800800, 0x000000ec,
+ 0x0018480a, 0x00006186, 0x8220600b, 0x0000b086, 0x29c00000, 0x0000e180,
+ 0x0d80860a, 0x00006002, 0x29000000, 0x00008ad4, 0x29800000, 0x00000edc,
+ 0x39a08000, 0x000004e1, 0x17c00000, 0x0000e181, 0x929712e2, 0x0000c900,
+ 0x53000ee3, 0x00006081, 0x3b80580b, 0x0000c900, 0x3b40500a, 0x00009900,
+ 0x1443220a, 0x0000f004, 0x00001c09, 0x00006583, 0x02000000, 0x00008981,
+ 0x02000800, 0x00006189, 0x00001000, 0x00006504, 0xc0c00000, 0x00006180,
+ 0x00400028, 0x0000c980, 0x00000408, 0x0000e583, 0x96604001, 0x00002001,
+ 0xc0000800, 0x0000e189, 0xc0001000, 0x0000c991, 0x00001c09, 0x00006583,
+ 0x80e04408, 0x00000901, 0x00001452, 0x0000f013, 0x00880eec, 0x0000df80,
+ 0x00905000, 0x000080c4, 0x008806ec, 0x00005f80, 0x00005000, 0x00000084,
+ 0x4eb8f4ec, 0x0000a180, 0x83f71ee3, 0x00001900, 0xffffffff, 0x00007f97,
+ 0x8010f20f, 0x00009502, 0x8018f20f, 0x00001502, 0xffffffff, 0x00007f86,
+ 0x00001464, 0x0000f008, 0x00001462, 0x0000f008, 0x80172a1e, 0x00001502,
+ 0x87b71ee3, 0x00009908, 0x00001464, 0x00007009, 0xc0172b1e, 0x00001502,
+ 0xc7b71ee3, 0x00001908, 0x00001464, 0x00007011, 0x00001465, 0x00007200,
+ 0x87c00800, 0x00009980, 0x87c00000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x2c00321f, 0x00009680, 0x83c588b0, 0x00009000, 0x83c00a0f, 0x00009080,
+ 0x4e80e40f, 0x0000f902, 0x06c00000, 0x00008100, 0x4e80d60f, 0x00007902,
+ 0x06400000, 0x00000100, 0x4ec0c00f, 0x00007902, 0x05c00000, 0x00008100,
+ 0x4ec0b20f, 0x00007902, 0x05400000, 0x00000100, 0x4ec0a40f, 0x0000f902,
+ 0x04c00000, 0x00000100, 0x4ec0960f, 0x00007902, 0x04400000, 0x00008100,
+ 0x95c0300e, 0x00004388, 0x0020300e, 0x00008098, 0x9580100e, 0x0000c488,
+ 0x1e20100e, 0x00008599, 0x00c0000e, 0x0000c790, 0x02c0500e, 0x00008488,
+ 0x9340500e, 0x0000c4b0, 0x7e20600e, 0x00008589, 0x2f00600e, 0x0000f8ab,
+ 0x00800000, 0x00000a85, 0x0000080e, 0x00009582, 0xc7000b1c, 0x00001088,
+ 0x000014c2, 0x00007009, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
+ 0x02ae9000, 0x0000f900, 0x00328e8c, 0x00008980, 0x02ca7000, 0x0000f900,
+ 0x00153394, 0x00008980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x01400000, 0x000080dc, 0x14c21b17, 0x00007500, 0x82200500, 0x00008022,
+ 0x83001000, 0x00006180, 0x02401002, 0x0000c900, 0x0000200e, 0x00009582,
+ 0xc6506a0d, 0x0000e108, 0x86400a19, 0x00004088, 0x000014c2, 0x00007009,
+ 0x0000200e, 0x00009582, 0x86800a1a, 0x000060b0, 0xc6906a0d, 0x00008930,
+ 0xc6106a0d, 0x0000e118, 0x86000a18, 0x0000c098, 0x000014c2, 0x00007030,
+ 0x000014c2, 0x00007000, 0x0000400e, 0x00009582, 0xc5106a0d, 0x00006108,
+ 0x85000a14, 0x00004088, 0x000014c2, 0x00007009, 0x2c40400e, 0x0000f8b3,
+ 0xb0800000, 0x00008a85, 0x0000680e, 0x00009582, 0xc4506a0d, 0x00006108,
+ 0x84400a11, 0x00004088, 0x000014c2, 0x00007009, 0x00001482, 0x0000f000,
+ 0x07000001, 0x000001ec, 0x06800000, 0x000001e4, 0x06000000, 0x000001dc,
+ 0x05800000, 0x000001d4, 0x000014c2, 0x0000f400, 0x05000000, 0x000081cc,
+ 0x04400000, 0x000001c8, 0x000014c2, 0x0000f200, 0x86c00a1b, 0x00009080,
+ 0x000014c2, 0x0000f200, 0xc5d06a0d, 0x0000e100, 0x85c00a17, 0x0000c080,
+ 0x000014c2, 0x0000f400, 0x8000021f, 0x0000e582, 0xc6c00b1b, 0x00000080,
+ 0x87972ae5, 0x0000e108, 0xc7972ae5, 0x00004910, 0x000014c2, 0x0000f200,
+ 0xc5906a0d, 0x00006100, 0x85800a16, 0x0000c080, 0x000014c2, 0x0000f200,
+ 0xc5506a0d, 0x00006100, 0x85400a15, 0x0000c080, 0x000014c2, 0x0000f200,
+ 0xc4d06a0d, 0x00006100, 0x84c00a13, 0x0000c080, 0x000014c2, 0x0000f200,
+ 0xc4906a0d, 0x0000e100, 0x84800a12, 0x0000c080, 0xffffffff, 0x00007f86,
+ 0x4eb8f4ec, 0x00002980, 0x4eb8e40f, 0x0000d100, 0x0038d800, 0x00008000,
+ 0x4eb8d60f, 0x00005100, 0x0038c800, 0x00000000, 0x4ef8c00f, 0x00005100,
+ 0x0038b800, 0x00008000, 0x4ef8b20f, 0x00005100, 0x0038a800, 0x00000000,
+ 0x00000001, 0x00007480, 0x4ef8a40f, 0x0000d100, 0x00389800, 0x00000000,
+ 0x4ef8960f, 0x00005100, 0x00388800, 0x00008000, 0x4f78ceec, 0x00002180,
+ 0xc00007e2, 0x00009583, 0xffffffff, 0x00007f97, 0x86400e19, 0x00006191,
+ 0x46400d19, 0x00000189, 0x00000001, 0x00007480, 0x06400c19, 0x00001181,
+ 0x4f78ceec, 0x0000a980, 0xadc00c05, 0x0000c488, 0xba200c05, 0x000005a9,
+ 0x5c801405, 0x0000f88b, 0xa0800000, 0x00008a8b, 0x4200650c, 0x00006283,
+ 0x12c00000, 0x00000981, 0x14403807, 0x0000e108, 0x12003006, 0x00004908,
+ 0x14009800, 0x0000f908, 0x00003800, 0x00000980, 0x00001581, 0x0000f010,
+ 0x14e51fce, 0x0000f004, 0x0000044d, 0x00009583, 0x823f1fe3, 0x00001908,
+ 0xee004608, 0x0000a088, 0x000014ee, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x02003c08, 0x00001281, 0x02001408, 0x00001181, 0x00000c08, 0x00009583,
+ 0x000014f3, 0x0000f01b, 0x12116000, 0x0000f900, 0x0035d6aa, 0x00000980,
+ 0x14f31bcc, 0x0000f500, 0x11b83f06, 0x00000410, 0x03626c4d, 0x00001900,
+ 0x70388249, 0x0000a080, 0x7038a649, 0x00003038, 0x7078b049, 0x00003038,
+ 0x7078c249, 0x00003038, 0x7078d449, 0x0000b038, 0x7078e649, 0x00003038,
+ 0x70b8f049, 0x0000b038, 0x70b90249, 0x0000b038, 0x70b91449, 0x00003038,
+ 0x70b92649, 0x0000b038, 0x70f93049, 0x0000b038, 0x70f94249, 0x0000b038,
+ 0x70f95449, 0x00003038, 0x70f96649, 0x0000b038, 0x71397049, 0x0000b038,
+ 0x71398249, 0x00003038, 0x71399449, 0x0000b038, 0x7139a649, 0x00003038,
+ 0x7179b049, 0x00003038, 0x7179c249, 0x0000a080, 0x02000ce0, 0x00009283,
+ 0x00001514, 0x0000f00b, 0x150a1b6e, 0x00007100, 0xffffffff, 0x00007f86,
+ 0x0000045e, 0x00001583, 0x82000ee3, 0x00001890, 0x4fb82808, 0x00002190,
+ 0xffffffff, 0x00007fa7, 0x01400805, 0x00001090, 0x000015b5, 0x0000f410,
+ 0x4fb82808, 0x0000a990, 0x4f800008, 0x0000d110, 0x00401000, 0x00008080,
+ 0x4f784eec, 0x0000a180, 0xc00007e2, 0x00006583, 0x04a1c438, 0x00008901,
+ 0x12800000, 0x0000e180, 0x03c10538, 0x0000c081, 0x03830538, 0x00006081,
+ 0x02b087e4, 0x00008800, 0x03000800, 0x00006181, 0x80000009, 0x00006487,
+ 0x82400e09, 0x0000e091, 0x42400d09, 0x00008089, 0x02400c09, 0x00006081,
+ 0x04400000, 0x00000981, 0x4f784eec, 0x00002980, 0x4f4006ec, 0x00005100,
+ 0x00400000, 0x00000080, 0x84000000, 0x000001ce, 0x60400438, 0x0000f88b,
+ 0x00800001, 0x00008080, 0x0e008412, 0x00006481, 0x02004411, 0x00004880,
+ 0x0240a008, 0x00009002, 0x0e404809, 0x0000e100, 0x02000015, 0x0000c084,
+ 0x0279cf08, 0x00008420, 0x14409f09, 0x000080a0, 0x15311fce, 0x0000f404,
+ 0xc2002438, 0x00009880, 0x14004008, 0x00009900, 0x02000ce0, 0x00006283,
+ 0x82524a49, 0x00008900, 0x00001538, 0x0000700b, 0x15351b6e, 0x00007100,
+ 0xffffffff, 0x00007f86, 0x0000045e, 0x00001583, 0x00001581, 0x0000f013,
+ 0x12400000, 0x0000e180, 0x04a1c412, 0x00004101, 0x3840c410, 0x00006081,
+ 0x82000a49, 0x00008880, 0x82104a08, 0x00001000, 0x7001d208, 0x0000f902,
+ 0x0e400000, 0x00000000, 0x70022408, 0x0000f902, 0x10c00000, 0x00008000,
+ 0x02000c13, 0x00001481, 0x02206408, 0x00009303, 0x00001545, 0x0000700b,
+ 0x12820200, 0x0000f904, 0x02002413, 0x0000e080, 0x11c1d03a, 0x0000c900,
+ 0x0200404a, 0x00006700, 0x1301c839, 0x00008900, 0x0331c638, 0x00006101,
+ 0x4e224c0f, 0x0000c001, 0x12010000, 0x00006181, 0xc398b316, 0x00004900,
+ 0x11a0170a, 0x00008338, 0x12c00502, 0x0000019a, 0x83e00420, 0x000001da,
+ 0x1554220b, 0x00007404, 0xc3c00000, 0x00006180, 0x04c00c13, 0x00004481,
+ 0xc2104208, 0x00001900, 0xc2002717, 0x00001283, 0x11c22044, 0x00006110,
+ 0x13021843, 0x0000c910, 0x0339c738, 0x0000e111, 0xc2104208, 0x0000c910,
+ 0x00001561, 0x00007008, 0x4e224c0e, 0x0000e001, 0x12020000, 0x00008981,
+ 0x83b85117, 0x00008418, 0x0fa81402, 0x0000042c, 0x1561220b, 0x00007404,
+ 0x85a04000, 0x000080fe, 0x43e1c400, 0x000001da, 0x02000c13, 0x0000e481,
+ 0x12400849, 0x00000080, 0x00224c38, 0x00006503, 0x04204410, 0x00000001,
+ 0x03000000, 0x00001991, 0x00001568, 0x0000f009, 0x0000153a, 0x00007000,
+ 0x03e1c40f, 0x00006001, 0x03a1c40e, 0x00000001, 0x03000000, 0x0000e181,
+ 0x04400c11, 0x0000c081, 0x49c00412, 0x00007893, 0x08800000, 0x00008a8c,
+ 0x157014d1, 0x0000f300, 0x12c00800, 0x00001981, 0x00001582, 0x0000f200,
+ 0x02400800, 0x00001981, 0x00001582, 0x0000f200, 0x02401005, 0x000084ae,
+ 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x029e2800, 0x0000f900,
+ 0x000b5414, 0x00008980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980,
+ 0x01802004, 0x0000e100, 0x08001a08, 0x00006106, 0x01c00000, 0x0000e180,
+ 0xc2300600, 0x0000c901, 0x15811b17, 0x00007500, 0x82381400, 0x00008024,
+ 0x83002800, 0x00009980, 0x02400000, 0x00009981, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x82c05cec, 0x0000f902, 0x02800000, 0x00008604, 0x12802004, 0x00006100,
+ 0x0000200f, 0x00006586, 0x0428280f, 0x00006887, 0x8620280f, 0x0000e887,
+ 0x1200580b, 0x0000e100, 0x0020280a, 0x00006086, 0x1180780f, 0x00006100,
+ 0x8228280a, 0x0000e086, 0x0418280a, 0x0000e987, 0x0340500a, 0x00001900,
+ 0x15961bee, 0x00007500, 0x11c6d800, 0x0000f900, 0x0032a52e, 0x00000980,
+ 0x1240680d, 0x00001900, 0x15981454, 0x00007300, 0x03425f04, 0x0000003b,
+ 0x00000c05, 0x0000e583, 0x02000ee3, 0x00000881, 0x01402800, 0x00006189,
+ 0x29c00000, 0x00004988, 0x29000000, 0x00006188, 0x29400000, 0x0000c988,
+ 0x000015a7, 0x00007010, 0x29800000, 0x00006180, 0x3b802004, 0x0000c900,
+ 0x3b783705, 0x00000e1c, 0x39a08707, 0x000084a1, 0x000015b4, 0x0000f400,
+ 0x17c00800, 0x00006181, 0x929712e2, 0x0000c900, 0x53000c08, 0x00001081,
+ 0x01800800, 0x000000dc, 0x00182806, 0x00006186, 0x82204807, 0x0000b086,
+ 0x29c00000, 0x0000e180, 0x0d806606, 0x0000e002, 0x29000000, 0x00008ad4,
+ 0x29800000, 0x00000edc, 0x39a08000, 0x000004e1, 0x17c00000, 0x0000e181,
+ 0x929712e2, 0x0000c900, 0x53000ee3, 0x00006081, 0x3b803807, 0x0000c900,
+ 0x3b403006, 0x00009900, 0x15b5220a, 0x00007004, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x0800240d, 0x00006006, 0x0800100e, 0x00003206,
+ 0x0a5c6800, 0x00007900, 0x00286638, 0x00000980, 0x15bf1b4e, 0x0000f500,
+ 0x09080000, 0x0000e180, 0x09606c0d, 0x00004900, 0x0997280e, 0x00001200,
+ 0x07000000, 0x000081f4, 0x07800000, 0x000081fc, 0x08000000, 0x000082c4,
+ 0x08800000, 0x000082cc, 0x87182304, 0x0000e100, 0x03000c0d, 0x0000c181,
+ 0xb9200c0c, 0x0000c4b0, 0xa0206c0d, 0x0000058b, 0x0140740d, 0x00004588,
+ 0x01204c0d, 0x00000096, 0x0a00440d, 0x0000e006, 0x05004022, 0x00003001,
+ 0x47983006, 0x0000013a, 0x07b83d06, 0x0000813c, 0x00001608, 0x00007400,
+ 0x08204709, 0x0000820f, 0x08806c05, 0x00000207, 0x0000381c, 0x0000ec07,
+ 0x00001608, 0x00007200, 0x87902a05, 0x00001900, 0x01040404, 0x00009283,
+ 0x03402000, 0x00006189, 0x03403000, 0x0000c991, 0x00001608, 0x00007400,
+ 0xffffffff, 0x00007f86, 0x0420681c, 0x00006807, 0x00007c0d, 0x00001583,
+ 0x0000381c, 0x00006c0f, 0x00001608, 0x0000f009, 0x00005c0d, 0x00009583,
+ 0x0000301c, 0x0000ec0f, 0x00001608, 0x0000f009, 0x0000540d, 0x00001583,
+ 0x000015e7, 0x0000f013, 0x01040404, 0x00009283, 0x03402800, 0x0000e189,
+ 0x03403000, 0x0000c991, 0x000015f7, 0x00007400, 0xffffffff, 0x00007f86,
+ 0x0420681c, 0x00006807, 0x00002c0d, 0x00001583, 0x87d02a05, 0x00006108,
+ 0x07803006, 0x00004908, 0x00001608, 0x0000f009, 0x0000340d, 0x00001583,
+ 0x0000081c, 0x00006c0f, 0x8710720e, 0x00001908, 0x000015f7, 0x00007008,
+ 0x00003c0d, 0x00009583, 0x0000101c, 0x00006c0f, 0x8710720e, 0x00001908,
+ 0x000015f7, 0x00007008, 0x0000440d, 0x00009583, 0x0000181c, 0x0000ec0f,
+ 0x8710720e, 0x00001908, 0x000015fb, 0x00007010, 0x07b83f06, 0x0000013c,
+ 0x00001608, 0x00007400, 0x08384f08, 0x00000204, 0x08f8570b, 0x00000208,
+ 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x02be3000, 0x00007900,
+ 0x00286638, 0x00000980, 0x02e0d000, 0x00007900, 0x0013d06a, 0x00008980,
+ 0x01800000, 0x00006180, 0x08001a08, 0x00006106, 0x01400000, 0x000080dc,
+ 0x16081b17, 0x0000f500, 0x82200500, 0x00008022, 0x83001000, 0x00006180,
+ 0x02401002, 0x0000c900, 0x01b82d04, 0x0000e001, 0x0b001213, 0x00002106,
+ 0x09010406, 0x00009081, 0xffffffff, 0x00007f86, 0x2c002c24, 0x00001680,
+ 0x834588b0, 0x00001000, 0xb000920d, 0x0000f902, 0x04400000, 0x00000000,
+ 0xb0502a0d, 0x0000f902, 0x02000200, 0x00000000, 0xb048ea0d, 0x00002082,
+ 0xb000840d, 0x00007902, 0x03800000, 0x00008000, 0xc0000712, 0x00009583,
+ 0xb0007e0d, 0x00007902, 0x03000000, 0x00000000, 0xb040580d, 0x00007902,
+ 0x02800000, 0x00000000, 0x00001622, 0x00007208, 0xb0784a0d, 0x0000a080,
+ 0x0120680e, 0x0000a000, 0xffffffff, 0x00007fa7, 0x03506a05, 0x00001100,
+ 0x0010880d, 0x00001502, 0x00001622, 0x0000f013, 0x0000169f, 0x00007000,
+ 0xc1102b10, 0x00001202, 0x83612424, 0x00001908, 0xe2002a0d, 0x0000f90a,
+ 0x01000000, 0x00008000, 0x00001676, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x00072805, 0x00009502, 0x01400000, 0x0000e188, 0x41b71ee3, 0x00004909,
+ 0x81584b09, 0x0000e108, 0x2a400000, 0x0000c988, 0x0000165f, 0x0000f010,
+ 0x2c002c24, 0x00001680, 0x834588b0, 0x00001000, 0xb048320d, 0x00002082,
+ 0x2a000000, 0x00007900, 0x00008080, 0x00008980, 0x01810406, 0x00006081,
+ 0x08001aaa, 0x00002106, 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980,
+ 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980, 0xaaa00500, 0x00008a2a,
+ 0x163d1b44, 0x0000f500, 0x2af82f02, 0x00000a3c, 0x2b808706, 0x00000aa1,
+ 0x01001b09, 0x00001880, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
+ 0x01c07804, 0x0000e002, 0x0340f804, 0x00000784, 0x0180600d, 0x00006004,
+ 0x01100000, 0x00008980, 0x01400000, 0x0000f900, 0x00003fc0, 0x00008980,
+ 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x00760805, 0x0000e586,
+ 0x00761004, 0x0000b587, 0x700040ec, 0x00005680, 0x003820e0, 0x00000010,
+ 0x703828ec, 0x0000d600, 0x00000000, 0x00008080, 0x700008ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x01100006, 0x00001980, 0x703838ec, 0x00005600,
+ 0x00383000, 0x00008000, 0xc1002213, 0x00009880, 0x700040ec, 0x00005680,
+ 0x003827c0, 0x00008078, 0xec0032ec, 0x0000f902, 0x01000000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x00000006, 0x00009582, 0xec0034ec, 0x00007912,
+ 0x01000000, 0x00008000, 0x00001656, 0x00007009, 0xffffffff, 0x00007f86,
+ 0x01403006, 0x00009900, 0xc3782524, 0x00008028, 0xe23f2a0d, 0x0000a880,
+ 0x83400b09, 0x00006080, 0x02c02805, 0x00008900, 0x8028820d, 0x0000e502,
+ 0xc2400b09, 0x00000080, 0xc2400000, 0x00009988, 0xffffffff, 0x00007f86,
+ 0x01001b09, 0x00001880, 0x01c07804, 0x0000e002, 0x0340f804, 0x00000784,
+ 0x01000000, 0x0000e180, 0x0140600d, 0x0000c004, 0xc1310c24, 0x0000f900,
+ 0x00000002, 0x00000080, 0x700040ec, 0x00005680, 0x003820c0, 0x00008010,
+ 0x03500006, 0x00001980, 0x703838ec, 0x00005600, 0x00382800, 0x00008000,
+ 0xc3402213, 0x00009880, 0x700040ec, 0x00005680, 0x00386fc0, 0x00008078,
+ 0x01007f11, 0x0000e080, 0x06800000, 0x00000980, 0x83400a09, 0x0000e080,
+ 0x0010901a, 0x00002100, 0x0b00580b, 0x00006100, 0x01002004, 0x0000c784,
+ 0x02c05e11, 0x0000e002, 0x05400000, 0x00000980, 0x0b800000, 0x0000f900,
+ 0x00207fc0, 0x00008980, 0x06d00002, 0x00006180, 0x0bca0005, 0x0000c980,
+ 0x0b40500a, 0x0000e100, 0x82400a09, 0x0000c080, 0xc6906a0d, 0x00006100,
+ 0x0280000a, 0x0000c084, 0x2c002c24, 0x00001680, 0x834588b0, 0x00001000,
+ 0x05100000, 0x00007900, 0x00008016, 0x00008980, 0x000028ec, 0x0000d780,
+ 0x00d87ac1, 0x000000c0, 0x05800000, 0x0000e180, 0x0030901b, 0x0000e080,
+ 0xb038920d, 0x00005000, 0x00388800, 0x00008000, 0xb038840d, 0x0000d000,
+ 0x00387000, 0x00000000, 0xb0387e0d, 0x0000d000, 0x00386000, 0x00008000,
+ 0xb078580d, 0x0000d000, 0x00385000, 0x00008000, 0xb0784a0d, 0x0000d000,
+ 0x00384000, 0x00000000, 0x05c00000, 0x00006180, 0x06083804, 0x0000c980,
+ 0x06400000, 0x0000e180, 0xc5708e11, 0x00004900, 0x05401c04, 0x0000e081,
+ 0x8bb08e11, 0x00008900, 0xcbc02213, 0x00009880, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0xea802405, 0x0000c388, 0x00202405, 0x00000098,
+ 0xed201405, 0x0000c488, 0x76201405, 0x0000859e, 0x00800c05, 0x0000c788,
+ 0x11803405, 0x00008f8a, 0x19403405, 0x000045a9, 0x11003c05, 0x0000118b,
+ 0x16ad1fce, 0x0000f404, 0x14009800, 0x00007900, 0x00001000, 0x00000980,
0x14783707, 0x00000420, 0x0000044d, 0x00009583, 0x82bf1fe3, 0x00009908,
- 0xee004e0a, 0x0000a088, 0x000018d6, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0xee004e0a, 0x0000a088, 0x000016b6, 0x00007010, 0xffffffff, 0x00007f97,
0x02803c09, 0x00001281, 0x0240140a, 0x00001181, 0x00000c09, 0x00001583,
- 0x000018dc, 0x0000701b, 0x02426f06, 0x00000037, 0x11b83f09, 0x00000018,
- 0x18dc1d18, 0x00007500, 0x11cfd000, 0x00007900, 0x00195cd4, 0x00000980,
- 0x11003006, 0x00009900, 0x70384a49, 0x0000a000, 0x70783c49, 0x0000a000,
- 0x02800000, 0x00006180, 0x02f00000, 0x0000c980, 0xffffffff, 0x00007f86,
- 0xc0000709, 0x00009583, 0x000018e7, 0x00007400, 0x82771ee3, 0x00009910,
- 0xfba03a09, 0x00002810, 0x02800000, 0x00006180, 0x02c00001, 0x00004980,
+ 0x000016bc, 0x0000f01b, 0x02426f06, 0x00000037, 0x11b83f09, 0x00000018,
+ 0x16bc1bcc, 0x0000f500, 0x120cf800, 0x00007900, 0x00195cd2, 0x00000980,
+ 0x11003006, 0x00009900, 0x7038e649, 0x00002080, 0x7078d049, 0x0000a080,
+ 0x70008249, 0x00007902, 0x07800000, 0x00000000, 0x7000ec49, 0x0000f902,
+ 0x03400000, 0x00008000, 0x0000041c, 0x00001583, 0x0010d006, 0x0000e196,
+ 0x00000006, 0x0000358e, 0x4000051c, 0x00001583, 0x8258d31a, 0x0000e110,
+ 0x82400000, 0x00004988, 0x7040c249, 0x00007902, 0x05c00000, 0x00000000,
+ 0x04004806, 0x0000e987, 0x70405c49, 0x0000f902, 0x05400000, 0x00008000,
+ 0x16d12930, 0x0000f500, 0x70809049, 0x0000f902, 0x04400000, 0x00000000,
+ 0x02403006, 0x00009900, 0x11f8f710, 0x00000430, 0x4308c017, 0x00000022,
+ 0x4e000ee3, 0x00006081, 0x12008000, 0x00004981, 0xc3804417, 0x00006080,
+ 0x11800002, 0x00004980, 0x0fa81402, 0x0000042c, 0x16db220b, 0x0000f404,
+ 0x85a08000, 0x000080fe, 0x43e00400, 0x000081da, 0x02800ee3, 0x00006081,
+ 0x11c0e81d, 0x0000c900, 0x1307ff0d, 0x000080b2, 0x820081e5, 0x000084a2,
+ 0xc3880000, 0x00006180, 0x11800002, 0x00004980, 0x0fa81402, 0x0000042c,
+ 0x85a08000, 0x000080fe, 0x16e6220b, 0x00007404, 0x85a00400, 0x000080fd,
+ 0x4e000c0a, 0x00009081, 0x0378bf18, 0x00000038, 0x16ea1c08, 0x0000f500,
+ 0x0338970b, 0x00008028, 0x02f88f15, 0x0000801c, 0x00000406, 0x00009583,
+ 0xfb3846ec, 0x0000a090, 0xfb7838ec, 0x00002090, 0x00001739, 0x00007008,
+ 0xffffffff, 0x00007f97, 0x01801007, 0x00001282, 0x05400800, 0x0000e190,
+ 0x05184004, 0x0000c990, 0x04c00000, 0x00001990, 0x00001739, 0x00007008,
+ 0x16f71cd2, 0x00007204, 0x04800800, 0x00007900, 0x00004000, 0x00000980,
+ 0x82402d00, 0x00006080, 0x05400800, 0x00004980, 0x70383209, 0x0000a080,
+ 0x04800800, 0x00007900, 0x00004000, 0x00000980, 0x04c00000, 0x00009980,
+ 0xffffffff, 0x00007f86, 0x02800006, 0x0000f900, 0x00003800, 0x00000380,
+ 0x0240800a, 0x00009080, 0x17041cd2, 0x0000f404, 0x02401009, 0x00001780,
+ 0x05004809, 0x00009900, 0x82802d00, 0x00006080, 0x82204408, 0x0000c900,
+ 0x7038320a, 0x0000a080, 0x04800800, 0x00007900, 0x00004000, 0x00000980,
+ 0x04c02000, 0x000081d4, 0xffffffff, 0x00007f86, 0x01c01306, 0x00009880,
+ 0xffffffff, 0x00007f86, 0x2c104207, 0x00001600, 0x028588b0, 0x00001000,
+ 0x2c104307, 0x00009600, 0x024588b0, 0x00001000, 0x02408009, 0x00001880,
+ 0x02972806, 0x0000e200, 0x02405009, 0x00000000, 0x0280100a, 0x00001880,
+ 0x0280000a, 0x0000f900, 0x00003880, 0x00008080, 0x0280480a, 0x00009000,
+ 0x0180100a, 0x0000e780, 0x0240100a, 0x00008780, 0xfe784aec, 0x00002880,
+ 0x82771ee3, 0x00001900, 0x15000009, 0x00005080, 0x00400000, 0x00008000,
+ 0x15000009, 0x0000d000, 0x00400000, 0x00000080, 0x0240100a, 0x00001780,
+ 0x17251cd2, 0x0000f404, 0xfe4002ec, 0x00005000, 0x00400000, 0x00000080,
+ 0x05004809, 0x00009900, 0x68804cec, 0x00002004, 0x82802d00, 0x00006080,
+ 0x03400040, 0x00004980, 0x7000440a, 0x0000f902, 0x01c00000, 0x00008000,
+ 0x02801f06, 0x000000bc, 0x00000409, 0x00006583, 0x03800800, 0x00008980,
+ 0x688004ec, 0x0000500c, 0x00400800, 0x00000082, 0x17331cf2, 0x0000f500,
+ 0x83420000, 0x0000e180, 0x0400500a, 0x00004900, 0x02000000, 0x00001988,
+ 0x783868ec, 0x0000d600, 0x00004601, 0x000000b8, 0x783840ec, 0x0000d600,
+ 0x00383800, 0x00000000, 0x00c002ec, 0x0000df80, 0x1159c80b, 0x00009684,
+ 0x0000179b, 0x0000f200, 0x02800000, 0x000080ec, 0x173e1fce, 0x00007404,
+ 0x12383f06, 0x00000504, 0x14009a00, 0x00001980, 0x0000044d, 0x00009583,
+ 0x82bf1fe3, 0x00009908, 0xee004e0a, 0x0000a088, 0x00001747, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x02803c09, 0x00001281, 0x0240140a, 0x00001181,
+ 0x00000c09, 0x00001583, 0x0000174c, 0x0000701b, 0x02783f06, 0x00008410,
+ 0x174c1bcc, 0x00007500, 0x1227d000, 0x00007900, 0x00195cd2, 0x00000980,
+ 0x11826f09, 0x00008037, 0x70005a49, 0x00007902, 0x02800000, 0x00000000,
+ 0x70383c49, 0x00002000, 0x17521c61, 0x0000f501, 0xffffffff, 0x00007f86,
+ 0x02385f0a, 0x00000024, 0x0000179b, 0x0000f200, 0x02900000, 0x000000ec,
+ 0x17571fce, 0x00007404, 0x12383f06, 0x00000504, 0x14009900, 0x00001980,
+ 0x0000044d, 0x00009583, 0x82bf1fe3, 0x00009908, 0xee004e0a, 0x0000a088,
+ 0x00001760, 0x00007010, 0xffffffff, 0x00007f97, 0x02803c09, 0x00001281,
+ 0x0240140a, 0x00001181, 0x00000c09, 0x00001583, 0x00001766, 0x0000f01b,
+ 0x02426f06, 0x00000037, 0x11b83f09, 0x00000018, 0x17661bcc, 0x0000f500,
+ 0x120df800, 0x0000f900, 0x00195cd4, 0x00000980, 0x11003006, 0x00009900,
+ 0x70383a49, 0x0000a080, 0xffffffff, 0x00007fa7, 0xf8c08407, 0x00009081,
+ 0x176a1cc7, 0x00007004, 0x000004e3, 0x0000e583, 0x02c00000, 0x00000980,
+ 0x02400800, 0x0000e189, 0x02401800, 0x00004991, 0x0000179b, 0x0000f400,
+ 0x02800000, 0x00001980, 0x42e04c09, 0x00001901, 0x17751fce, 0x00007404,
+ 0x14009800, 0x00007900, 0x00001000, 0x00000980, 0x14783707, 0x00000420,
+ 0x0000044d, 0x00009583, 0x82bf1fe3, 0x00009908, 0xee004e0a, 0x0000a088,
+ 0x0000177e, 0x00007010, 0xffffffff, 0x00007f97, 0x02803c09, 0x00001281,
+ 0x0240140a, 0x00001181, 0x00000c09, 0x00001583, 0x00001784, 0x0000f01b,
+ 0x02426f06, 0x00000037, 0x11b83f09, 0x00000018, 0x17841bcc, 0x0000f500,
+ 0x12100000, 0x00007900, 0x00195cd4, 0x00000980, 0x11003006, 0x00009900,
+ 0x70386249, 0x0000a000, 0x70785c49, 0x0000a000, 0x70784e49, 0x0000b038,
+ 0x70803849, 0x00007902, 0x01800000, 0x00000000, 0xc000070c, 0x00009583,
+ 0x82771ee3, 0x00009910, 0xfba05a09, 0x00002810, 0xc0000709, 0x00009583,
+ 0x81d83b07, 0x00006110, 0x81c00000, 0x0000c988, 0x0000040a, 0x00009583,
+ 0x82400000, 0x00006188, 0x82503206, 0x0000c910, 0x00103806, 0x0000e986,
+ 0x17962930, 0x00007500, 0x04004806, 0x0000e987, 0x02403006, 0x00009900,
+ 0x0000179b, 0x0000f200, 0x02800000, 0x00006180, 0x02f00000, 0x0000c980,
+ 0x02800000, 0x00006180, 0x02c00001, 0x00004980, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x82c04cec, 0x00007902,
- 0x01800000, 0x00008604, 0x03402f04, 0x0000802d, 0x11cac000, 0x0000f900,
- 0x00195cd2, 0x00000980, 0x12802f0d, 0x0000002a, 0x00202806, 0x0000e886,
- 0x82282806, 0x00006886, 0x04182806, 0x0000e987, 0x03384f06, 0x00000018,
- 0x1240600c, 0x00006100, 0x00002009, 0x00006586, 0x12003006, 0x0000e100,
- 0x04282809, 0x0000e087, 0x19161d3a, 0x0000f500, 0x86202809, 0x0000e887,
- 0x11804809, 0x00001900, 0x00001916, 0x0000f000, 0x19051df8, 0x00007100,
- 0x00001916, 0x00007400, 0x02800000, 0x00006180, 0x02c80001, 0x0000c980,
- 0x82802805, 0x0000802d, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
- 0x0289d800, 0x0000f900, 0x00195cd2, 0x00000980, 0x02fa9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x01802004, 0x0000e100, 0x08001a08, 0x00006106,
- 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901, 0x19161c63, 0x00007500,
- 0x82381400, 0x00008024, 0x83002800, 0x00009980, 0x29c00000, 0x00000ad0,
- 0x29400000, 0x00000ad8, 0x3bb8570b, 0x00008e34, 0x39c00000, 0x00008ed8,
- 0x191e2357, 0x00007404, 0x52000410, 0x000006fe, 0x53000ee3, 0x00006081,
- 0xdbd712e2, 0x0000c900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x02c00000, 0x0000e180, 0x04402004, 0x0000c900, 0x04383705, 0x0000803c,
- 0x19261ef4, 0x00007404, 0x03b84707, 0x00000034, 0x02f84c0a, 0x00008030,
- 0x04c00000, 0x00001981, 0x00001c13, 0x00001583, 0x0480700e, 0x00001908,
- 0x0000193e, 0x0000f009, 0x00001c13, 0x00001583, 0x00001933, 0x0000701b,
- 0x00000c13, 0x00009583, 0x04808010, 0x00001908, 0x0000193e, 0x0000f009,
- 0x00001413, 0x00009583, 0x0480780f, 0x00001908, 0x0000193e, 0x0000f009,
- 0x0000193c, 0x00007000, 0x00002c13, 0x00001583, 0x0480600c, 0x00001908,
- 0x0000193e, 0x0000f009, 0x00002c13, 0x00001583, 0x0480680d, 0x00009928,
- 0x0000193e, 0x00007029, 0x00003413, 0x00001583, 0x0480580b, 0x00001908,
- 0x0000193e, 0x0000f009, 0x04808811, 0x00009900, 0xffffffff, 0x00007f86,
- 0x04809012, 0x00001b00, 0x00072812, 0x00006502, 0x05009012, 0x00000900,
- 0x04c00c13, 0x00001089, 0x00001945, 0x0000f011, 0x52403c13, 0x0000788a,
- 0x38c00000, 0x00000c89, 0x84c02c13, 0x00009880, 0x8350a213, 0x00001000,
- 0x80067a0d, 0x00001582, 0x000019b5, 0x0000f033, 0x68b87cec, 0x00002084,
- 0xfe7862ec, 0x0000a080, 0x04000000, 0x00001981, 0x00001c10, 0x00001583,
- 0x02c03807, 0x00009908, 0x00001963, 0x00007009, 0x00001c10, 0x00001583,
- 0x00001958, 0x0000f01b, 0x00000c10, 0x00009583, 0x02c02805, 0x00009908,
- 0x00001963, 0x00007009, 0x00001410, 0x00009583, 0x02c03006, 0x00009908,
- 0x00001963, 0x00007009, 0x00001961, 0x0000f000, 0x00002c10, 0x00001583,
- 0x02c04809, 0x00009908, 0x00001963, 0x00007009, 0x00002c10, 0x00001583,
- 0x02c04008, 0x00001928, 0x00001963, 0x0000f029, 0x00003410, 0x00001583,
- 0x02c0500a, 0x00009908, 0x00001963, 0x00007009, 0x02c02004, 0x00001900,
+ 0xffffffff, 0x00007f86, 0x82c04cec, 0x00007902, 0x01800000, 0x00008604,
+ 0x03402f04, 0x0000802d, 0x11cac800, 0x00007900, 0x00195cd2, 0x00000980,
+ 0x12802f0d, 0x0000002a, 0x00202806, 0x0000e886, 0x82282806, 0x00006886,
+ 0x04182806, 0x0000e987, 0x03384f06, 0x00000018, 0x1240600c, 0x00006100,
+ 0x00002009, 0x00006586, 0x12003006, 0x0000e100, 0x04282809, 0x0000e087,
+ 0x17ca1bee, 0x0000f500, 0x86202809, 0x0000e887, 0x11804809, 0x00001900,
+ 0x000017ca, 0x0000f000, 0x17b91cac, 0x00007100, 0x000017ca, 0x00007400,
+ 0x02800000, 0x00006180, 0x02c80001, 0x0000c980, 0x82802805, 0x0000802d,
+ 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x0289e000, 0x00007900,
+ 0x00195cd2, 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980,
+ 0x01802004, 0x0000e100, 0x08001a08, 0x00006106, 0x01c00000, 0x0000e180,
+ 0xc2300600, 0x0000c901, 0x17ca1b17, 0x0000f500, 0x82381400, 0x00008024,
+ 0x83002800, 0x00009980, 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8,
+ 0x3bb8570b, 0x00008e34, 0x39c00000, 0x00008ed8, 0x17d2220a, 0x0000f404,
+ 0x52000410, 0x000005fe, 0x53000ee3, 0x00006081, 0x929712e2, 0x0000c900,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x02c00000, 0x0000e180,
+ 0x04402004, 0x0000c900, 0x04383705, 0x0000803c, 0x17da1da8, 0x0000f404,
+ 0x03b84707, 0x00000034, 0x02f84c0a, 0x00008030, 0x04c00000, 0x00001981,
+ 0x00001c13, 0x00001583, 0x0480700e, 0x00001908, 0x000017f2, 0x00007009,
+ 0x00001c13, 0x00001583, 0x000017e7, 0x0000f01b, 0x00000c13, 0x00009583,
+ 0x04808010, 0x00001908, 0x000017f2, 0x00007009, 0x00001413, 0x00009583,
+ 0x0480780f, 0x00001908, 0x000017f2, 0x00007009, 0x000017f0, 0x0000f000,
+ 0x00002c13, 0x00001583, 0x0480600c, 0x00001908, 0x000017f2, 0x00007009,
+ 0x00002c13, 0x00001583, 0x0480680d, 0x00009928, 0x000017f2, 0x0000f029,
+ 0x00003413, 0x00001583, 0x0480580b, 0x00001908, 0x000017f2, 0x00007009,
+ 0x04808811, 0x00009900, 0xffffffff, 0x00007f86, 0x04809012, 0x00001b00,
+ 0x00072812, 0x00006502, 0x05009012, 0x00000900, 0x04c00c13, 0x00001089,
+ 0x000017f9, 0x0000f011, 0xff403c13, 0x0000788b, 0xd8800000, 0x00000b8e,
+ 0x84c02c13, 0x00009880, 0x8350a213, 0x00001000, 0x80067a0d, 0x00001582,
+ 0x00001869, 0x0000f033, 0x68b87cec, 0x00002084, 0xfe7862ec, 0x0000a080,
+ 0x04000000, 0x00001981, 0x00001c10, 0x00001583, 0x02c03807, 0x00009908,
+ 0x00001817, 0x0000f009, 0x00001c10, 0x00001583, 0x0000180c, 0x0000f01b,
+ 0x00000c10, 0x00009583, 0x02c02805, 0x00009908, 0x00001817, 0x0000f009,
+ 0x00001410, 0x00009583, 0x02c03006, 0x00009908, 0x00001817, 0x0000f009,
+ 0x00001815, 0x00007000, 0x00002c10, 0x00001583, 0x02c04809, 0x00009908,
+ 0x00001817, 0x0000f009, 0x00002c10, 0x00001583, 0x02c04008, 0x00001928,
+ 0x00001817, 0x00007029, 0x00003410, 0x00001583, 0x02c0500a, 0x00009908,
+ 0x00001817, 0x0000f009, 0x02c02004, 0x00001900, 0xffffffff, 0x00007f86,
+ 0x02c0580b, 0x00009b00, 0x0007280b, 0x0000e502, 0x0340580b, 0x00008900,
+ 0x04000c10, 0x00001089, 0x0000181e, 0x0000f011, 0x08803c10, 0x0000788a,
+ 0x00c00000, 0x00008c80, 0x84002c10, 0x00009880, 0x84106a10, 0x00009000,
+ 0x80067a10, 0x00001582, 0x00001858, 0x00007033, 0x843ff801, 0x00001980,
+ 0x16fffa10, 0x0000f88a, 0x00c00003, 0x00008080, 0x03400a10, 0x0000e080,
+ 0x82c00a10, 0x00000080, 0x8006820b, 0x00006582, 0x03c0680f, 0x00008000,
+ 0x04000000, 0x0000e191, 0x83402a0b, 0x00004790, 0x82c0fa0b, 0x00006290,
+ 0x03a06c0d, 0x00008911, 0x0000185b, 0x0000f008, 0x0000040e, 0x0000e583,
+ 0x03505fe4, 0x00008800, 0x03406aec, 0x00001100, 0x00001855, 0x00007019,
+ 0x00001c10, 0x00001583, 0x02c03807, 0x00009908, 0x00001848, 0x0000f009,
+ 0x00001c10, 0x00001583, 0x0000183e, 0x0000701b, 0x00000c10, 0x00009583,
+ 0x02c02805, 0x00009908, 0x00001848, 0x0000f009, 0x00001410, 0x00009583,
+ 0x02c03006, 0x00009908, 0x00001848, 0x0000f009, 0x00001847, 0x0000f000,
+ 0x00002c10, 0x00001583, 0x02c04809, 0x00009908, 0x00001848, 0x0000f009,
+ 0x00002c10, 0x00001583, 0x02c04008, 0x00001928, 0x00001848, 0x00007029,
+ 0x00003410, 0x00001583, 0x02c0500a, 0x00009908, 0x00001848, 0x0000f009,
+ 0x02c02004, 0x00001900, 0x0020840e, 0x00009503, 0x02c0680b, 0x00001208,
0xffffffff, 0x00007f86, 0x02c0580b, 0x00009b00, 0x0007280b, 0x0000e502,
- 0x0340580b, 0x00008900, 0x04000c10, 0x00001089, 0x0000196a, 0x00007011,
- 0x5b803c10, 0x0000788a, 0x60c00000, 0x00008c8a, 0x84002c10, 0x00009880,
- 0x84106a10, 0x00009000, 0x80067a10, 0x00001582, 0x000019a4, 0x0000f033,
- 0x843ff801, 0x00001980, 0x69fffa10, 0x0000788a, 0x00c00003, 0x00008080,
- 0x03400a10, 0x0000e080, 0x82c00a10, 0x00000080, 0x8006820b, 0x00006582,
- 0x03c0680f, 0x00008000, 0x04000000, 0x0000e191, 0x83402a0b, 0x00004790,
- 0x82c0fa0b, 0x00006290, 0x03a06c0d, 0x00008911, 0x000019a7, 0x00007008,
- 0x0000040e, 0x0000e583, 0x03505fe4, 0x00008800, 0x03406aec, 0x00001100,
- 0x000019a1, 0x00007019, 0x00001c10, 0x00001583, 0x02c03807, 0x00009908,
- 0x00001994, 0x0000f009, 0x00001c10, 0x00001583, 0x0000198a, 0x0000f01b,
- 0x00000c10, 0x00009583, 0x02c02805, 0x00009908, 0x00001994, 0x0000f009,
- 0x00001410, 0x00009583, 0x02c03006, 0x00009908, 0x00001994, 0x0000f009,
- 0x00001993, 0x00007000, 0x00002c10, 0x00001583, 0x02c04809, 0x00009908,
- 0x00001994, 0x0000f009, 0x00002c10, 0x00001583, 0x02c04008, 0x00001928,
- 0x00001994, 0x00007029, 0x00003410, 0x00001583, 0x02c0500a, 0x00009908,
- 0x00001994, 0x0000f009, 0x02c02004, 0x00001900, 0x0020840e, 0x00009503,
- 0x02c0680b, 0x00001208, 0xffffffff, 0x00007f86, 0x02c0580b, 0x00009b00,
- 0x0007280b, 0x0000e502, 0x0440580b, 0x00000900, 0x84002c10, 0x00001890,
- 0x84108a10, 0x00009010, 0x000019a1, 0x00007008, 0x69c67a10, 0x0000789a,
- 0x00c00001, 0x00008000, 0x5c7ffa10, 0x0000f892, 0x38c00002, 0x00000c8d,
- 0x04000c10, 0x00009081, 0x00a03c10, 0x0000c589, 0x7fe0800e, 0x00007d1e,
- 0x803ffa10, 0x0000f900, 0x00000002, 0x00008582, 0x00001971, 0x0000f013,
- 0x0180100c, 0x00006080, 0x0200780f, 0x00008900, 0x68b87cec, 0x0000a884,
- 0x19ae1e3e, 0x00007500, 0x03800800, 0x00006180, 0x04003006, 0x00004900,
- 0x03c00800, 0x00009980, 0x783840ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x00c002ec, 0x0000df80, 0x118d900b, 0x00001684, 0xffffffff, 0x00007f86,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xee385e0d, 0x00002000,
- 0x03000003, 0x00006180, 0x04ca0005, 0x0000c980, 0x04800000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x03800000, 0x000080fc, 0x04000000, 0x000081c4,
- 0x03401000, 0x00006180, 0xc3280500, 0x0000c900, 0xc4d05a0b, 0x00001900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009018ec, 0x0000d780, 0x00007800, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xffffffff, 0x00007f86,
- 0x00c002ec, 0x0000df80, 0x118a480b, 0x00009684, 0x03000705, 0x000080ac,
- 0x01782706, 0x00000034, 0x01800000, 0x00006180, 0x03c04008, 0x0000c900,
- 0x81b0560a, 0x00006100, 0x03804809, 0x00004900, 0x19d31fb3, 0x0000f404,
- 0x02f83c0a, 0x00008010, 0x04003006, 0x00001900, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x05400000, 0x0000e180, 0x06c02004, 0x0000c900,
- 0x06b83705, 0x00000124, 0x19db1e54, 0x0000f500, 0x06384707, 0x0000011c,
- 0x05784c0a, 0x00000118, 0xfb3866ec, 0x00002000, 0x04000000, 0x00009980,
- 0xffffffff, 0x00007f97, 0x0000180c, 0x00009582, 0x83490000, 0x0000e190,
- 0x834b8000, 0x0000c988, 0x02fff810, 0x00007900, 0x000ffffe, 0x00008280,
- 0x0380000b, 0x0000f900, 0x00000184, 0x00000080, 0x04800800, 0x00007900,
- 0x00004000, 0x00000980, 0x19ea1e1e, 0x0000f404, 0x05000001, 0x000001cc,
- 0x0440700e, 0x00009900, 0x82c02d00, 0x00009880, 0x7038620b, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x02c00c0c, 0x00001283, 0x0dc0620b, 0x00006896,
- 0x03a05c0b, 0x00006111, 0x0bc0620c, 0x0000e010, 0x00001a22, 0x0000f008,
- 0x2c20720c, 0x00009600, 0x82c588b0, 0x00001000, 0x82c0160c, 0x0000e283,
- 0x0380840e, 0x00008080, 0x83800000, 0x00009990, 0xffffffff, 0x00007f86,
- 0x82d0720b, 0x00009000, 0x82c0fa0b, 0x0000e280, 0x83002a0b, 0x00008780,
- 0x02d05fe4, 0x00001800, 0x4080040c, 0x00004489, 0x0c200c0c, 0x0000068c,
- 0x4100140c, 0x0000c489, 0x14201c0c, 0x0000868c, 0x4180240c, 0x00004489,
- 0x1c202c0c, 0x0000068c, 0x8880340c, 0x0000f892, 0x80c00000, 0x00008d80,
- 0x00001a11, 0x0000f200, 0x02c0200b, 0x00001202, 0x00001a11, 0x0000f200,
- 0x02c0280b, 0x00009202, 0x00001a11, 0x0000f200, 0x02c0300b, 0x00009202,
- 0x00001a11, 0x0000f200, 0x02c0380b, 0x00001202, 0x00001a11, 0x0000f200,
- 0x02c0400b, 0x00001202, 0x00001a11, 0x0000f200, 0x02c0480b, 0x00009202,
- 0x02c0500b, 0x00009202, 0x02c00000, 0x00001981, 0x02c00800, 0x00001991,
- 0xffffffff, 0x00007f86, 0x0000040b, 0x00001583, 0x03000022, 0x0000e190,
- 0x02c00002, 0x0000c990, 0xc2e80500, 0x0000e110, 0x0010800c, 0x00006110,
- 0x00001a22, 0x0000f008, 0x760010ec, 0x00005680, 0x00385800, 0x00000000,
- 0x760838ec, 0x0000d680, 0x00080008, 0x00008080, 0x763860ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x00c002ec, 0x0000df80, 0x1191100b, 0x00001684,
- 0x04000810, 0x00009080, 0x8010820d, 0x00009502, 0x03000000, 0x000099b1,
- 0x000019e1, 0x0000f019, 0x00001c0c, 0x00009583, 0x02c03807, 0x00009908,
- 0x00001a3d, 0x0000f009, 0x00001c0c, 0x00009583, 0x00001a32, 0x0000f01b,
- 0x00000c0c, 0x00001583, 0x02c02805, 0x00009908, 0x00001a3d, 0x0000f009,
- 0x0000140c, 0x00001583, 0x02c03006, 0x00009908, 0x00001a3d, 0x0000f009,
- 0x00001a3b, 0x0000f000, 0x00002c0c, 0x00009583, 0x02c04809, 0x00009908,
- 0x00001a3d, 0x0000f009, 0x00002c0c, 0x00009583, 0x02c04008, 0x00001928,
- 0x00001a3d, 0x00007029, 0x0000340c, 0x00009583, 0x02c0500a, 0x00009908,
- 0x00001a3d, 0x0000f009, 0x02c02004, 0x00001900, 0xffffffff, 0x00007f86,
- 0x0340580b, 0x00009b00, 0x0007280d, 0x0000e502, 0x02c0680d, 0x00008900,
- 0x03000c0c, 0x00001089, 0x00001a44, 0x00007011, 0x92003c0c, 0x0000788a,
- 0x30c00000, 0x00008d81, 0x83402c0c, 0x00001880, 0x82d05a0d, 0x00009000,
- 0x80067a0b, 0x00001582, 0x00001a86, 0x0000f033, 0x82fff801, 0x00001980,
- 0xa27ffa0b, 0x0000788a, 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86,
- 0x80007a0b, 0x00001582, 0xee386e0b, 0x0000a098, 0x82c00a0b, 0x00006080,
- 0x83505a0b, 0x00000930, 0xffffffff, 0x00007f97, 0x8006820b, 0x00006582,
- 0x83686d0d, 0x00000918, 0xffffffff, 0x00007f86, 0x1538700d, 0x00002080,
- 0xffffffff, 0x00007f86, 0x00001a89, 0x0000f40b, 0x0380080e, 0x00009080,
- 0x1538700d, 0x0000a880, 0x83402a0b, 0x00006780, 0x03800000, 0x00008981,
- 0x0000040d, 0x0000e583, 0x82c0fa0b, 0x00008280, 0x02d05fe4, 0x00001800,
- 0x03005aec, 0x00009100, 0x00001a83, 0x0000f018, 0x00001c0e, 0x00001583,
- 0x02c03807, 0x00009908, 0x00001a76, 0x0000f009, 0x00001c0e, 0x00001583,
- 0x00001a6c, 0x0000701b, 0x00000c0e, 0x00009583, 0x02c02805, 0x00009908,
- 0x00001a76, 0x0000f009, 0x0000140e, 0x00009583, 0x02c03006, 0x00009908,
- 0x00001a76, 0x0000f009, 0x00001a75, 0x0000f000, 0x00002c0e, 0x00001583,
- 0x02c04809, 0x00009908, 0x00001a76, 0x0000f009, 0x00002c0e, 0x00001583,
- 0x02c04008, 0x00001928, 0x00001a76, 0x00007029, 0x0000340e, 0x00001583,
- 0x02c0500a, 0x00009908, 0x00001a76, 0x0000f009, 0x02c02004, 0x00001900,
- 0x0020740d, 0x00009503, 0x02c0600b, 0x00009208, 0xffffffff, 0x00007f86,
- 0x03c0580b, 0x00001b00, 0x0007280f, 0x00006502, 0x02c0780f, 0x00008900,
- 0x83402c0e, 0x00001890, 0x82d05a0d, 0x00001010, 0x00001a83, 0x00007008,
- 0xa2467a0b, 0x0000789a, 0x00c00001, 0x00008000, 0x92fffa0b, 0x0000f892,
- 0x48c00002, 0x00000d84, 0x03800c0e, 0x00009081, 0x00a03c0e, 0x0000c589,
- 0x7fe0700d, 0x00007d1e, 0x803ffa0b, 0x0000f900, 0x00000002, 0x00008582,
- 0x00001a4b, 0x0000f013, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x80007a1e, 0x00009582, 0xee00c61e, 0x0000a099, 0xee00ee1e, 0x00002098,
- 0x00000000, 0x000070b0, 0xffffffff, 0x00007f97, 0x0641041d, 0x00001283,
- 0x8760c418, 0x00009910, 0xee00ee1d, 0x0000a090, 0x00000000, 0x0000f088,
- 0xffffffff, 0x00007f97, 0x07403c1d, 0x00001281, 0x00000c1d, 0x00001583,
- 0x06800000, 0x00006188, 0x8760c418, 0x0000c908, 0x0680841e, 0x0000e189,
- 0x29c00000, 0x00008988, 0x00000000, 0x0000f090, 0xee271e1e, 0x0000a082,
- 0x3b400000, 0x0000f900, 0x00004000, 0x00000980, 0xee0b7e1d, 0x0000a002,
- 0x00007c18, 0x00006583, 0x29000000, 0x00000980, 0x29400000, 0x00000ad8,
- 0x3ba84000, 0x0000e180, 0x39c0d01a, 0x0000c900, 0x00002357, 0x00007400,
- 0x39a08000, 0x000004e1, 0x53000c18, 0x00006081, 0x1bc00000, 0x0000c981,
- 0x80007a12, 0x00009582, 0x00000001, 0x00007480, 0x15000012, 0x0000d018,
- 0x00400800, 0x00000082, 0x15000812, 0x0000d098, 0x00400000, 0x00008000,
- 0xee00c619, 0x00002081, 0x05400000, 0x00000adc, 0xee271e19, 0x00002082,
- 0x05408419, 0x0000e181, 0x29000000, 0x00000980, 0x84e0c418, 0x0000e100,
- 0x8230c815, 0x0000e086, 0x3b400000, 0x0000f900, 0x00004000, 0x00000980,
- 0xee0b7e13, 0x00002002, 0x29400000, 0x00000ad8, 0x3bb84000, 0x00006180,
- 0x39800000, 0x0000c980, 0x52000410, 0x000006fe, 0x00002357, 0x00007400,
- 0x00007c18, 0x00006583, 0x53000c18, 0x00008881, 0x39c0a815, 0x00009900,
- 0x020728e5, 0x00006100, 0x0fc00404, 0x0000e004, 0xc18004e5, 0x000080a4,
- 0x00001c04, 0x00001583, 0x00001c04, 0x00001583, 0x00000c04, 0x00009583,
- 0x00001ae6, 0x00007008, 0x00001ad6, 0x00007038, 0x00001adc, 0x00007008,
- 0x60203306, 0x0000c389, 0x00203306, 0x00000098, 0x89402306, 0x00004491,
- 0x02203306, 0x0000068e, 0xbe803306, 0x0000f89a, 0xb0c00000, 0x00000d87,
- 0x0000cb06, 0x0000f890, 0x00000000, 0x00000000, 0x1280e306, 0x00007893,
- 0x00c00001, 0x00000010, 0x05a03306, 0x0000c588, 0x02603306, 0x00000299,
- 0x00003404, 0x00001583, 0x00003c04, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00001ae0, 0x00007008, 0x00001ae6, 0x00007008, 0x00001aca, 0x00007000,
- 0x00001af3, 0x0000f400, 0x08000c04, 0x0000e080, 0x08001a08, 0x00003106,
- 0xc1801e04, 0x00000026, 0x08000c04, 0x0000e080, 0x08001a08, 0x00003106,
- 0xc1a81e04, 0x00008024, 0x00001aca, 0x0000f400, 0x0d001c04, 0x00006806,
- 0x81a02404, 0x00001900, 0x82581b03, 0x00006100, 0x08000c04, 0x0000e080,
- 0xc1a83e04, 0x00000024, 0x01030400, 0x00001281, 0x00010404, 0x00009583,
- 0x08003a08, 0x0000e90e, 0x00001af1, 0x0000f009, 0x00020404, 0x00009583,
- 0x08001a08, 0x0000e10e, 0x08002c04, 0x0000b088, 0xc1a02404, 0x00001908,
- 0x0d003c04, 0x0000e806, 0x81a02404, 0x00001900, 0x00001aca, 0x0000f400,
- 0x0d001c04, 0x00006806, 0xc2202404, 0x00001900, 0xc0002306, 0x00001582,
- 0x01000000, 0x00009989, 0x00001b04, 0x00007009, 0x00001b03, 0x0000f000,
- 0xc000cb06, 0x00001582, 0x01001000, 0x00001989, 0x00001b04, 0x00007009,
- 0xc000e306, 0x00001582, 0x01001800, 0x00009989, 0x00001b04, 0x00007009,
- 0x00001b03, 0x0000f000, 0x00001b04, 0x0000f200, 0x01000800, 0x00009981,
- 0x0107f800, 0x00001981, 0xfd8118ec, 0x00007902, 0x08800000, 0x00000000,
- 0xfd810aec, 0x00007902, 0x08000000, 0x00008000, 0xfd80fcec, 0x0000f902,
- 0x07800000, 0x00000000, 0xfd80eeec, 0x0000f902, 0x07000000, 0x00008000,
- 0xfdc0d8ec, 0x00007902, 0x06800000, 0x00008000, 0xfdc0caec, 0x00007902,
- 0x06000000, 0x00000000, 0xfdc0bcec, 0x0000f902, 0x05800000, 0x00008000,
- 0xfdc0aeec, 0x0000f902, 0x05000000, 0x00000000, 0xfe0098ec, 0x0000f902,
- 0x04800000, 0x00000000, 0xfe008aec, 0x0000f902, 0x04000000, 0x00008000,
- 0xfe007cec, 0x0000f902, 0x03400000, 0x00008000, 0xfe0066ec, 0x00007902,
- 0x02c00000, 0x00008000, 0x00000c04, 0x00004088, 0x00000c04, 0x000000a8,
- 0x81601404, 0x00004189, 0x00201c04, 0x00008090, 0xf9400d09, 0x00007896,
- 0x00c00001, 0x00008000, 0xfa000f09, 0x00007896, 0x00c00001, 0x00008000,
- 0xfac01509, 0x0000f896, 0x00c00001, 0x00008000, 0xfb801709, 0x00007896,
- 0x00c00001, 0x00008000, 0xfc402509, 0x00007896, 0x00c00001, 0x00008000,
- 0xfd002709, 0x0000f896, 0x00c00001, 0x00008000, 0xfdc04509, 0x00007896,
- 0x00c00001, 0x00008000, 0xfe804709, 0x00007896, 0x00c00001, 0x00008000,
- 0x7fa08509, 0x0000c497, 0x02208709, 0x00008790, 0x1a610509, 0x00004597,
- 0x8d810709, 0x00000d8b, 0xef800d09, 0x0000f896, 0x00c00001, 0x00008000,
- 0xf0400f09, 0x0000f896, 0x00c00001, 0x00008000, 0xf1001509, 0x00007896,
- 0x00c00001, 0x00008000, 0xf1c01709, 0x0000f896, 0x00c00001, 0x00008000,
- 0xf2802509, 0x0000f896, 0x00c00001, 0x00008000, 0xf3402709, 0x0000f896,
- 0x00c00001, 0x00008000, 0xf4004509, 0x00007896, 0x00c00001, 0x00008000,
- 0xf4c04709, 0x0000f896, 0x00c00001, 0x00008000, 0x7ac08509, 0x0000c497,
- 0xb4208709, 0x00000697, 0x13010509, 0x00004597, 0x0c410709, 0x0000898e,
- 0xdc000d09, 0x00007896, 0x00c00001, 0x00008000, 0xdcc00f09, 0x0000f896,
- 0x00c00001, 0x00008000, 0xdd801509, 0x00007896, 0x00c00001, 0x00008000,
- 0xde401709, 0x0000f896, 0x00c00001, 0x00008000, 0xdf002509, 0x00007896,
- 0x00c00001, 0x00008000, 0xdfc02709, 0x0000f896, 0x00c00001, 0x00008000,
- 0xe0804509, 0x0000f896, 0x00c00001, 0x00008000, 0xe1404709, 0x0000f896,
- 0x00c00001, 0x00008000, 0x71008509, 0x00004497, 0x18208709, 0x00000697,
- 0x06c10509, 0x0000c597, 0x0b010709, 0x0000838d, 0xe5c00d09, 0x00007896,
- 0x00c00001, 0x00008000, 0xe6800f09, 0x00007896, 0x00c00001, 0x00008000,
- 0xe7401509, 0x00007896, 0x00c00001, 0x00008000, 0xe8001709, 0x00007896,
- 0x00c00001, 0x00008000, 0xe8c02509, 0x0000f896, 0x00c00001, 0x00008000,
- 0xe9802709, 0x00007896, 0x00c00001, 0x00008000, 0xea404509, 0x0000f896,
- 0x00c00001, 0x00008000, 0xeb004709, 0x00007896, 0x00c00001, 0x00008000,
- 0x75e08509, 0x00004497, 0x66208709, 0x00000697, 0x09210509, 0x00004597,
- 0x89c10709, 0x0000048e, 0x00001b4a, 0x0000f400, 0x80172a23, 0x00009502,
- 0x88c00a23, 0x00001090, 0x00001b4c, 0x0000f400, 0x80172a20, 0x00009502,
- 0x88000a20, 0x00001090, 0x00001b4e, 0x00007400, 0xc0172b23, 0x00009502,
- 0xc8c00b23, 0x00001090, 0x00001b50, 0x00007400, 0xc0172b20, 0x00009502,
- 0xc8000b20, 0x00001090, 0x00001b52, 0x0000f400, 0x80172a22, 0x00001502,
- 0x88800a22, 0x00001090, 0x00001b54, 0x0000f400, 0x80172a1f, 0x00009502,
- 0x87c00a1f, 0x00001090, 0x00001b56, 0x00007400, 0xc0172b22, 0x00001502,
- 0xc8800b22, 0x00001090, 0x00001b58, 0x0000f400, 0xc0172b1f, 0x00009502,
- 0xc7c00b1f, 0x00001090, 0x80172a21, 0x00001502, 0xc1408709, 0x00006283,
- 0x88400a21, 0x00008090, 0x00001b8e, 0x0000700b, 0x80172a1e, 0x00001502,
- 0x87800a1e, 0x00001090, 0x41010509, 0x00001283, 0x00001b92, 0x0000f00b,
- 0xc0172b21, 0x00001502, 0xc8400b21, 0x00001090, 0xc1410709, 0x00009283,
- 0x00001c0b, 0x0000700b, 0x00001c0b, 0x00007400, 0xc0172b1e, 0x00001502,
- 0xc7800b1e, 0x00001090, 0x00001b5e, 0x0000f400, 0x80172a1d, 0x00001502,
- 0x87400a1d, 0x00001090, 0x00001b60, 0x00007400, 0x80172a1a, 0x00009502,
- 0x86800a1a, 0x00001090, 0x00001b62, 0x0000f400, 0xc0172b1d, 0x00001502,
- 0xc7400b1d, 0x00001090, 0x00001b64, 0x0000f400, 0xc0172b1a, 0x00009502,
- 0xc6800b1a, 0x00001090, 0x00001b66, 0x00007400, 0x80172a1c, 0x00009502,
- 0x87000a1c, 0x00001090, 0x00001b68, 0x0000f400, 0x80172a19, 0x00009502,
- 0x86400a19, 0x00001090, 0x00001b6a, 0x00007400, 0xc0172b1c, 0x00009502,
- 0xc7000b1c, 0x00001090, 0x00001b6c, 0x00007400, 0xc0172b19, 0x00009502,
- 0xc6400b19, 0x00001090, 0x80172a1b, 0x00001502, 0xc1408709, 0x00006283,
- 0x86c00a1b, 0x00008090, 0x00001bb5, 0x0000f00b, 0x80172a18, 0x00001502,
- 0x86000a18, 0x00001090, 0x41010509, 0x00001283, 0x00001bb9, 0x0000f00b,
- 0xc0172b1b, 0x00001502, 0xc6c00b1b, 0x00001090, 0xc1410709, 0x00009283,
- 0x00001c0b, 0x0000700b, 0x00001c0b, 0x00007400, 0xc0172b18, 0x00001502,
- 0xc6000b18, 0x00001090, 0x00001b36, 0x00007400, 0x80172a17, 0x00001502,
- 0x85c00a17, 0x00001090, 0x00001b38, 0x0000f400, 0x80172a14, 0x00001502,
- 0x85000a14, 0x00001090, 0x00001b3a, 0x00007400, 0xc0172b17, 0x00001502,
- 0xc5c00b17, 0x00001090, 0x00001b3c, 0x00007400, 0xc0172b14, 0x00001502,
- 0xc5000b14, 0x00001090, 0x00001b3e, 0x0000f400, 0x80172a16, 0x00009502,
- 0x85800a16, 0x00001090, 0x00001b40, 0x0000f400, 0x80172a13, 0x00009502,
- 0x84c00a13, 0x00001090, 0x00001b42, 0x00007400, 0xc0172b16, 0x00009502,
- 0xc5800b16, 0x00001090, 0x00001b44, 0x00007400, 0xc0172b13, 0x00009502,
- 0xc4c00b13, 0x00001090, 0x80172a15, 0x00009502, 0xc1408709, 0x00006283,
- 0x85400a15, 0x00008090, 0x00001bdc, 0x0000f00b, 0x80172a12, 0x00001502,
- 0x84800a12, 0x00001090, 0x41010509, 0x00001283, 0x00001be0, 0x0000f00b,
- 0xc0172b15, 0x00009502, 0xc5400b15, 0x00001090, 0xc1410709, 0x00009283,
- 0x00001c0b, 0x0000700b, 0x00001c0b, 0x00007400, 0xc0172b12, 0x00001502,
- 0xc4800b12, 0x00001090, 0x00001b22, 0x00007400, 0x80172a11, 0x00001502,
- 0x84400a11, 0x00001090, 0x00001b24, 0x00007400, 0x80172a0d, 0x00009502,
- 0x83400a0d, 0x00001090, 0x00001b26, 0x0000f400, 0xc0172b11, 0x00001502,
- 0xc4400b11, 0x00001090, 0x00001b28, 0x00007400, 0xc0172b0d, 0x00009502,
- 0xc3400b0d, 0x00001090, 0x00001b2a, 0x0000f400, 0x80172a10, 0x00009502,
- 0x84000a10, 0x00001090, 0x00001b2c, 0x0000f400, 0x80172a0c, 0x00001502,
- 0x83000a0c, 0x00001090, 0x00001b2e, 0x00007400, 0xc0172b10, 0x00009502,
- 0xc4000b10, 0x00001090, 0x00001b30, 0x00007400, 0xc0172b0c, 0x00001502,
- 0xc3000b0c, 0x00001090, 0x80172a0f, 0x00001502, 0xc1408709, 0x00006283,
- 0x83c00a0f, 0x00008090, 0x00001c03, 0x0000f00b, 0x80172a0b, 0x00009502,
- 0x82c00a0b, 0x00001090, 0x41010509, 0x00001283, 0x00001c07, 0x0000700b,
- 0xc0172b0f, 0x00001502, 0xc3c00b0f, 0x00001090, 0xc1410709, 0x00009283,
- 0x00001c0b, 0x0000700b, 0xc0172b0b, 0x00009502, 0xc2c00b0b, 0x00001090,
- 0xc0172b08, 0x00009502, 0xfdb918ec, 0x0000d000, 0x00391000, 0x00008000,
- 0xfdb90aec, 0x0000d000, 0x00390000, 0x00000000, 0xfdb8fcec, 0x00005000,
- 0x0038f000, 0x00008000, 0xfdb8eeec, 0x00005000, 0x0038e000, 0x00000000,
- 0xfdf8d8ec, 0x0000d000, 0x0038d000, 0x00000000, 0xfdf8caec, 0x0000d000,
- 0x0038c000, 0x00008000, 0xfdf8bcec, 0x00005000, 0x0038b000, 0x00000000,
- 0xfdf8aeec, 0x00005000, 0x0038a000, 0x00008000, 0xfe3898ec, 0x00005000,
- 0x00389000, 0x00008000, 0xfe388aec, 0x00005000, 0x00388000, 0x00000000,
- 0x00000000, 0x00007488, 0xfe387cec, 0x00005000, 0x00386800, 0x00000000,
- 0xfe3866ec, 0x0000d000, 0x00385800, 0x00000000, 0x85a02509, 0x0000c497,
- 0x5a202709, 0x00000790, 0x89001308, 0x0000c389, 0x00201308, 0x00000098,
- 0x02800308, 0x0000c790, 0x01a02308, 0x0000018e, 0x11002308, 0x0000f8ab,
- 0x00c00000, 0x00008e82, 0x01c00000, 0x0000e180, 0x0418400d, 0x00006187,
- 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0xc1583306, 0x0000e100,
- 0x0010400d, 0x0000e186, 0x02927000, 0x00007900, 0x0028e40e, 0x00000980,
- 0x02e0f800, 0x00007900, 0x003ab282, 0x00008980, 0x81503206, 0x00006100,
- 0x08001a08, 0x00006106, 0x82200500, 0x00008022, 0x00001c56, 0x0000f400,
- 0x01c0a009, 0x000080b1, 0x02786f02, 0x00000018, 0xc0000b08, 0x00009582,
- 0x00000000, 0x0000f093, 0x1c440f74, 0x0000f100, 0xc0003b08, 0x00009582,
- 0x00000000, 0x0000f093, 0x00001c46, 0x0000f000, 0x1c3f06db, 0x0000f100,
- 0x1c4535fd, 0x0000f100, 0x1c46303e, 0x0000f100, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x1c4a3974, 0x0000f300, 0x01604c09, 0x00009900,
- 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x02ad0000, 0x0000f900,
- 0x0016debe, 0x00000980, 0x02ded000, 0x0000f900, 0x0016e9b4, 0x00008980,
- 0x01800000, 0x00006180, 0x08001a08, 0x00006106, 0x01400000, 0x000080dc,
- 0x82200500, 0x00008022, 0x83001000, 0x00006180, 0x02401002, 0x0000c900,
- 0x1c571c63, 0x0000f100, 0x780408ec, 0x00005680, 0x00000000, 0x00008080,
- 0x780000ec, 0x00005680, 0x02090000, 0x00000080, 0x780008ec, 0x0000d680,
- 0x00000000, 0x00008080, 0x81400cec, 0x00005684, 0x00000000, 0x00008080,
- 0x81400aec, 0x00005684, 0x00000000, 0x00008080, 0x403840ec, 0x0000d700,
- 0x00000000, 0x00008080, 0x5ff886ec, 0x0000a080, 0xffffffff, 0x00007fa7,
- 0x81001210, 0x00001880, 0x81001204, 0x00009080, 0x5ff86604, 0x00005000,
- 0x00385800, 0x00000000, 0x60385004, 0x00005000, 0x00384800, 0x00008000,
- 0x60384204, 0x00005000, 0x00383000, 0x00008000, 0x60382c04, 0x0000d000,
- 0x00383800, 0x00000000, 0x0210620c, 0x00006100, 0x01000810, 0x0000c080,
- 0x0001f804, 0x00001582, 0x04000000, 0x0000e198, 0x04000810, 0x0000c0b0,
- 0x1c771c57, 0x00007500, 0xffffffff, 0x00007f86, 0x5ff886ec, 0x00002880,
- 0x5fc7b6ec, 0x0000f902, 0x3d400000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0xbdc012f6, 0x00009880, 0xbdc012f7, 0x00009080, 0x5ffd46f7, 0x0000d000,
- 0x003d6800, 0x00000000, 0x603d60f7, 0x00005000, 0x003d5800, 0x00000000,
- 0x603d52f7, 0x0000d000, 0x003d7000, 0x00000000, 0x603d7cf7, 0x0000d000,
- 0x003d4800, 0x00008000, 0x3dc008f6, 0x00001080, 0x0001f8f7, 0x00001582,
- 0x3d8008f6, 0x000060b0, 0x3d800000, 0x00008998, 0x800016a8, 0x00009583,
- 0x5fffb6ec, 0x0000a880, 0x00000001, 0x0000f091, 0x000000f5, 0x00009582,
- 0x021542a8, 0x00009910, 0x00000001, 0x0000f089, 0x1c8f1c57, 0x00007100,
- 0x00000001, 0x0000f080, 0x007d44ec, 0x0000383c, 0x007d56ec, 0x0000383c,
- 0x1c951c77, 0x0000f500, 0x00bd60ec, 0x0000383c, 0x00bd72ec, 0x0000383c,
- 0x007d44ec, 0x0000b03c, 0x007d56ec, 0x0000b03c, 0x00000001, 0x00007480,
- 0x00bd60ec, 0x0000b03c, 0x00bd72ec, 0x0000b03c, 0x603950ec, 0x0000a080,
- 0x09e137e4, 0x00009800, 0xffffffff, 0x00007f97, 0x09c15027, 0x00001202,
- 0x2a000000, 0x0000f910, 0x000080c0, 0x00000980, 0xaa001800, 0x0000e190,
- 0x2b014829, 0x00004910, 0x00000001, 0x00007088, 0x2b460000, 0x00007900,
- 0x001f2252, 0x00008980, 0xeab00600, 0x00006101, 0x08001aaa, 0x0000e106,
- 0xaab81400, 0x00008a2c, 0x00001c90, 0x0000f400, 0x2bb92f26, 0x00008a3c,
- 0x2a412024, 0x00009900, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
- 0x0d001f06, 0x00006006, 0x08001a08, 0x00003106, 0x029e2000, 0x00007900,
- 0x00395f38, 0x00000980, 0x02ef4000, 0x00007900, 0x003fbfce, 0x00008980,
- 0x019004e4, 0x00000018, 0x01681402, 0x00008014, 0x01c00000, 0x0000e180,
- 0xc2300600, 0x0000c901, 0x1cba1c63, 0x00007500, 0x82381400, 0x00008024,
- 0x83000800, 0x00001980, 0xfe7914ec, 0x0000b838, 0xfe7926ec, 0x00003838,
- 0xfeb930ec, 0x0000b838, 0xfeb942ec, 0x0000b838, 0x000004e3, 0x00001583,
- 0x4001fde3, 0x00001583, 0x400005e3, 0x00001583, 0x00001ce1, 0x0000f008,
- 0x00001cd4, 0x00007030, 0x00001ceb, 0x00007048, 0x820122ec, 0x00007902,
- 0x08c00000, 0x00000604, 0x434105e3, 0x00006283, 0x0880fde3, 0x00008281,
- 0x08a117e4, 0x00001800, 0x00001cda, 0x0000f009, 0x08811822, 0x00001202,
- 0x08800000, 0x00009981, 0x08800800, 0x00009991, 0xffffffff, 0x00007f86,
- 0x17a11422, 0x00009901, 0xfe7914ec, 0x00003038, 0xfe7926ec, 0x0000b038,
- 0x00000001, 0x00007480, 0xfeb930ec, 0x00003038, 0xfeb942ec, 0x00003038,
- 0x434105e3, 0x00006283, 0x0880fde3, 0x00008281, 0x820120ec, 0x0000f902,
- 0x08c00000, 0x00000604, 0x08a117e4, 0x00001800, 0x00001cca, 0x0000f010,
- 0xffffffff, 0x00007f86, 0x08812022, 0x00009202, 0x08800000, 0x00009981,
- 0x08800800, 0x00009991, 0x00001ccf, 0x0000f400, 0xffffffff, 0x00007f86,
- 0x17a11422, 0x00009901, 0x823916ec, 0x0000a684, 0x08f71fe4, 0x0000e000,
- 0x17800000, 0x00004981, 0xfe7926ec, 0x0000b038, 0xfeb930ec, 0x00003038,
- 0x08811023, 0x00001202, 0xfeb942ec, 0x00003038, 0x00000001, 0x00007480,
- 0xfe7914ec, 0x00003038, 0x17800800, 0x00001991, 0x00001cc6, 0x0000f200,
- 0x820124ec, 0x00007902, 0x08c00000, 0x00000604, 0xc0000373, 0x0000e582,
- 0x17800000, 0x00000980, 0x97800000, 0x00001980, 0x97800800, 0x00001990,
- 0x17c00000, 0x0000f900, 0x000014c0, 0x00008980, 0x0000045e, 0x0000e583,
- 0x0013a05f, 0x0000a106, 0x97a80500, 0x00006110, 0xc322f05f, 0x00006006,
- 0xffffffff, 0x00007f86, 0x0000005e, 0x00006d8e, 0xffffffff, 0x00007f86,
- 0x042b985e, 0x0000e885, 0x75e8005e, 0x0000e901, 0x703af8ec, 0x0000d600,
- 0x003af000, 0x00000000, 0x17800004, 0x00001980, 0x17c00000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x0013a05f, 0x0000e186, 0x8223985e, 0x00003080,
- 0x703b88ec, 0x0000d600, 0x003b8000, 0x00000000, 0x00000001, 0x00007480,
- 0x041ba05e, 0x00006987, 0x703af8ec, 0x0000d600, 0x003af000, 0x00000000,
- 0x0287f800, 0x0000f900, 0x00001088, 0x00000980, 0x02c91804, 0x00006180,
- 0x75ff180a, 0x0000e101, 0x760010ec, 0x00005680, 0x00000000, 0x00008080,
- 0x004cf00b, 0x0000ed87, 0x763858ec, 0x00005600, 0x00385000, 0x00008000,
- 0x02c00000, 0x00009980, 0x00000001, 0x00007480, 0x0020600b, 0x00006886,
- 0x763858ec, 0x00005600, 0x00000000, 0x00008080, 0x0000000d, 0x00001582,
- 0xfe6068ec, 0x00002090, 0x2a000000, 0x0000f910, 0x00008080, 0x00008980,
- 0x00000001, 0x00007088, 0x2b40e000, 0x0000f900, 0x00188ac0, 0x00000980,
- 0x80172a0d, 0x00006502, 0x08001aaa, 0x00002106, 0x83400a0d, 0x0000e090,
- 0xaa00b000, 0x00000980, 0xfe6068ec, 0x0000a890, 0x2b280747, 0x00000a2a,
- 0xaab81400, 0x00008a2c, 0x00001c90, 0x0000f400, 0x2bba2746, 0x00000a3c,
- 0x2a7f1fe3, 0x00009900, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
- 0x01400000, 0x00006180, 0x08001a08, 0x00006106, 0x02a45800, 0x00007900,
- 0x0026484c, 0x00008980, 0x02fa4000, 0x0000f900, 0x003bdaae, 0x00000980,
- 0x01801002, 0x0000e100, 0x0d001e05, 0x0000e006, 0x01c00000, 0x0000e180,
- 0xc2300600, 0x0000c901, 0x82381400, 0x00008024, 0x1d3a1c63, 0x00007500,
- 0x83003000, 0x0000e180, 0x01700600, 0x00004901, 0x41680500, 0x00009901,
- 0x90b71ee3, 0x00001900, 0xed021e42, 0x0000f902, 0x10800000, 0x00000000,
- 0xffffffff, 0x00007fa7, 0x00000443, 0x00001583, 0x10f237e4, 0x00001810,
- 0x00000001, 0x0000f089, 0x10821043, 0x00001202, 0x2a000000, 0x0000f908,
- 0x000080c0, 0x00000980, 0xaa123246, 0x00006108, 0x2b023847, 0x00004908,
- 0x00000001, 0x00007090, 0x2b6b5800, 0x0000f900, 0x0003cd08, 0x00008980,
+ 0x0440580b, 0x00000900, 0x84002c10, 0x00001890, 0x84108a10, 0x00009010,
+ 0x00001855, 0x00007008, 0x16c67a10, 0x0000f89a, 0x00c00001, 0x00008000,
+ 0x097ffa10, 0x0000f892, 0xd8c00002, 0x00008c82, 0x04000c10, 0x00009081,
+ 0x00a03c10, 0x0000c589, 0x7fe0800e, 0x00007d1e, 0x803ffa10, 0x0000f900,
+ 0x00000002, 0x00008582, 0x00001825, 0x0000f013, 0x0180100c, 0x00006080,
+ 0x0200780f, 0x00008900, 0x68b87cec, 0x0000a884, 0x18621cf2, 0x00007500,
+ 0x03800800, 0x00006180, 0x04003006, 0x00004900, 0x03c00800, 0x00009980,
+ 0x783840ec, 0x0000d600, 0x00000000, 0x00008080, 0x00c002ec, 0x0000df80,
+ 0x1183300b, 0x00009684, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0xee385e0d, 0x00002000, 0x03000003, 0x00006180,
+ 0x04ca0005, 0x0000c980, 0x04800000, 0x0000f900, 0x00007fc0, 0x00000980,
+ 0x03800000, 0x000080fc, 0x04000000, 0x000081c4, 0x03401000, 0x00006180,
+ 0xc3280500, 0x0000c900, 0xc4d05a0b, 0x00001900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009018ec, 0x0000d780,
+ 0x00007800, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0xffffffff, 0x00007f86, 0x00c002ec, 0x0000df80,
+ 0x115fe80b, 0x00001684, 0x02c00704, 0x000000b0, 0x01383705, 0x0000803c,
+ 0x01400000, 0x00006180, 0x03803807, 0x00004900, 0x8170560a, 0x00006100,
+ 0x03404008, 0x00004900, 0x18871e67, 0x00007404, 0x03384c0a, 0x00008020,
+ 0x02402805, 0x00009900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x04800000, 0x00006180, 0x06002004, 0x0000c900, 0x05f83705, 0x00008118,
+ 0x188f1d08, 0x0000f500, 0x05784707, 0x00008110, 0x04b84c0a, 0x0000810c,
+ 0xfb385eec, 0x0000a000, 0x04400000, 0x00001980, 0xffffffff, 0x00007f97,
+ 0x0000180b, 0x00001582, 0x83490000, 0x0000e190, 0x834b8000, 0x0000c988,
+ 0x02fff811, 0x0000f900, 0x000ffffe, 0x00008280, 0x0380000b, 0x0000f900,
+ 0x00000184, 0x00000080, 0x04800800, 0x00007900, 0x00004000, 0x00000980,
+ 0x189e1cd2, 0x0000f404, 0x05400001, 0x000081cc, 0x0500700e, 0x00009900,
+ 0x82c02d00, 0x00009880, 0x7038620b, 0x00002080, 0xffffffff, 0x00007fa7,
+ 0x02c00c0c, 0x00001283, 0x0dc0620b, 0x00006896, 0x03a05c0b, 0x00006111,
+ 0x0bc0620c, 0x0000e010, 0x000018d6, 0x0000f008, 0x2c20720c, 0x00009600,
+ 0x82c588b0, 0x00001000, 0x82c0160c, 0x0000e283, 0x0380840e, 0x00008080,
+ 0x83800000, 0x00009990, 0xffffffff, 0x00007f86, 0x82d0720b, 0x00009000,
+ 0x82c0fa0b, 0x0000e280, 0x83002a0b, 0x00008780, 0x02d05fe4, 0x00001800,
+ 0x1700040c, 0x00004489, 0x74200c0c, 0x00000689, 0x1780140c, 0x00004489,
+ 0x7c201c0c, 0x00000689, 0x1800240c, 0x0000c489, 0x84202c0c, 0x00008689,
+ 0x3580340c, 0x0000f892, 0x20c00000, 0x00000c86, 0x000018c5, 0x00007200,
+ 0x02c0200b, 0x00001202, 0x000018c5, 0x00007200, 0x02c0280b, 0x00009202,
+ 0x000018c5, 0x00007200, 0x02c0300b, 0x00009202, 0x000018c5, 0x00007200,
+ 0x02c0380b, 0x00001202, 0x000018c5, 0x00007200, 0x02c0400b, 0x00001202,
+ 0x000018c5, 0x00007200, 0x02c0480b, 0x00009202, 0x02c0500b, 0x00009202,
+ 0x02c00000, 0x00001981, 0x02c00800, 0x00001991, 0xffffffff, 0x00007f86,
+ 0x0000040b, 0x00001583, 0x03000022, 0x0000e190, 0x02c00002, 0x0000c990,
+ 0xc2e80500, 0x0000e110, 0x0010880c, 0x0000e110, 0x000018d6, 0x0000f008,
+ 0x760010ec, 0x00005680, 0x00385800, 0x00000000, 0x760838ec, 0x0000d680,
+ 0x00080008, 0x00008080, 0x763860ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x00c002ec, 0x0000df80, 0x1186b00b, 0x00001684, 0x04400811, 0x00009080,
+ 0x80108a0d, 0x00001502, 0x03000000, 0x000099b1, 0x00001895, 0x00007019,
+ 0x00001c0c, 0x00009583, 0x02c03807, 0x00009908, 0x000018f1, 0x00007009,
+ 0x00001c0c, 0x00009583, 0x000018e6, 0x0000701b, 0x00000c0c, 0x00001583,
+ 0x02c02805, 0x00009908, 0x000018f1, 0x00007009, 0x0000140c, 0x00001583,
+ 0x02c03006, 0x00009908, 0x000018f1, 0x00007009, 0x000018ef, 0x00007000,
+ 0x00002c0c, 0x00009583, 0x02c04809, 0x00009908, 0x000018f1, 0x00007009,
+ 0x00002c0c, 0x00009583, 0x02c04008, 0x00001928, 0x000018f1, 0x0000f029,
+ 0x0000340c, 0x00009583, 0x02c0500a, 0x00009908, 0x000018f1, 0x00007009,
+ 0x02c02004, 0x00001900, 0xffffffff, 0x00007f86, 0x0340580b, 0x00009b00,
+ 0x0007280d, 0x0000e502, 0x02c0680d, 0x00008900, 0x03000c0c, 0x00001089,
+ 0x000018f8, 0x00007011, 0x3f003c0c, 0x0000f88a, 0xd0c00000, 0x00000c86,
+ 0x83402c0c, 0x00001880, 0x82d05a0d, 0x00009000, 0x80067a0b, 0x00001582,
+ 0x0000193a, 0x00007033, 0x82fff801, 0x00001980, 0x4f7ffa0b, 0x0000788a,
+ 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86, 0x80007a0b, 0x00001582,
+ 0xee386e0b, 0x0000a098, 0x82c00a0b, 0x00006080, 0x83505a0b, 0x00000930,
+ 0xffffffff, 0x00007f97, 0x8006820b, 0x00006582, 0x83686d0d, 0x00000918,
+ 0xffffffff, 0x00007f86, 0x1538700d, 0x00002080, 0xffffffff, 0x00007f86,
+ 0x0000193d, 0x0000f40b, 0x0380080e, 0x00009080, 0x1538700d, 0x0000a880,
+ 0x83402a0b, 0x00006780, 0x03800000, 0x00008981, 0x0000040d, 0x0000e583,
+ 0x82c0fa0b, 0x00008280, 0x02d05fe4, 0x00001800, 0x03005aec, 0x00009100,
+ 0x00001937, 0x0000f018, 0x00001c0e, 0x00001583, 0x02c03807, 0x00009908,
+ 0x0000192a, 0x0000f009, 0x00001c0e, 0x00001583, 0x00001920, 0x0000f01b,
+ 0x00000c0e, 0x00009583, 0x02c02805, 0x00009908, 0x0000192a, 0x0000f009,
+ 0x0000140e, 0x00009583, 0x02c03006, 0x00009908, 0x0000192a, 0x0000f009,
+ 0x00001929, 0x0000f000, 0x00002c0e, 0x00001583, 0x02c04809, 0x00009908,
+ 0x0000192a, 0x0000f009, 0x00002c0e, 0x00001583, 0x02c04008, 0x00001928,
+ 0x0000192a, 0x00007029, 0x0000340e, 0x00001583, 0x02c0500a, 0x00009908,
+ 0x0000192a, 0x0000f009, 0x02c02004, 0x00001900, 0x0020740d, 0x00009503,
+ 0x02c0600b, 0x00009208, 0xffffffff, 0x00007f86, 0x03c0580b, 0x00001b00,
+ 0x0007280f, 0x00006502, 0x02c0780f, 0x00008900, 0x83402c0e, 0x00001890,
+ 0x82d05a0d, 0x00001010, 0x00001937, 0x00007008, 0x4f467a0b, 0x0000789a,
+ 0x00c00001, 0x00008000, 0x3ffffa0b, 0x00007892, 0xe8c00002, 0x00000c89,
+ 0x03800c0e, 0x00009081, 0x00a03c0e, 0x0000c589, 0x7fe0700d, 0x00007d1e,
+ 0x803ffa0b, 0x0000f900, 0x00000002, 0x00008582, 0x000018ff, 0x00007013,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x80007a1e, 0x00009582,
+ 0xee00c61e, 0x0000a099, 0xee00ee1e, 0x00002098, 0x00000000, 0x000070b0,
+ 0xffffffff, 0x00007f97, 0x0641041d, 0x00001283, 0x8760c418, 0x00009910,
+ 0xee00ee1d, 0x0000a090, 0x00000000, 0x0000f088, 0xffffffff, 0x00007f97,
+ 0x07403c1d, 0x00001281, 0x00000c1d, 0x00001583, 0x06800000, 0x00006188,
+ 0x8760c418, 0x0000c908, 0x0680841e, 0x0000e189, 0x29c00000, 0x00008988,
+ 0x00000000, 0x0000f090, 0xee271e1e, 0x0000a082, 0x3b400000, 0x0000f900,
+ 0x00004000, 0x00000980, 0xee22561d, 0x0000a000, 0x00007c18, 0x00006583,
+ 0x29000000, 0x00000980, 0x29400000, 0x00000ad8, 0x3ba84000, 0x0000e180,
+ 0x39c0d01a, 0x0000c900, 0x0000220a, 0x00007400, 0x39a08000, 0x000004e1,
+ 0x53000c18, 0x00006081, 0x17c00000, 0x0000c981, 0x80007a0f, 0x00009582,
+ 0x00000001, 0x00007480, 0x1500000f, 0x0000d018, 0x00400800, 0x00000082,
+ 0x1500080f, 0x0000d098, 0x00400000, 0x00008000, 0xee00c619, 0x00002081,
+ 0x05400000, 0x00000adc, 0xee271e19, 0x00002082, 0x05408419, 0x0000e181,
+ 0x29000000, 0x00000980, 0x84e0c418, 0x0000e100, 0x8230c815, 0x0000e086,
+ 0x3b400000, 0x0000f900, 0x00004000, 0x00000980, 0xee225613, 0x00002000,
+ 0x29400000, 0x00000ad8, 0x3bb84000, 0x00006180, 0x39800000, 0x0000c980,
+ 0x52000410, 0x000005fe, 0x0000220a, 0x00007400, 0x00007c18, 0x00006583,
+ 0x53000c18, 0x00008881, 0x39c0a815, 0x00009900, 0x020728e5, 0x00006100,
+ 0x0fc00404, 0x0000e004, 0xc18004e5, 0x000080a4, 0x00001c04, 0x00001583,
+ 0x00001c04, 0x00001583, 0x00000c04, 0x00009583, 0x0000199a, 0x0000f008,
+ 0x0000198a, 0x00007038, 0x00001990, 0x0000f008, 0x36a03306, 0x00004389,
+ 0x00203306, 0x00000098, 0x5fc02306, 0x00004491, 0x6a203306, 0x0000868b,
+ 0x6b803306, 0x0000789a, 0x50c00000, 0x00000c8d, 0x0000cb06, 0x0000f890,
+ 0x00000000, 0x00000000, 0xbf80e306, 0x00007892, 0x00c00001, 0x00000010,
+ 0x05a03306, 0x0000c588, 0x02603306, 0x00000299, 0x00003404, 0x00001583,
+ 0x00003c04, 0x00009583, 0xffffffff, 0x00007f86, 0x00001994, 0x00007008,
+ 0x0000199a, 0x0000f008, 0x0000197e, 0x00007000, 0x000019a7, 0x00007400,
+ 0x08000c04, 0x0000e080, 0x08001a08, 0x00003106, 0xc1801e04, 0x00000026,
+ 0x08000c04, 0x0000e080, 0x08001a08, 0x00003106, 0xc1a81e04, 0x00008024,
+ 0x0000197e, 0x0000f400, 0x0d001c04, 0x00006806, 0x81a02404, 0x00001900,
+ 0x82581b03, 0x00006100, 0x08000c04, 0x0000e080, 0xc1a83e04, 0x00000024,
+ 0x01030400, 0x00001281, 0x00010404, 0x00009583, 0x08003a08, 0x0000e90e,
+ 0x000019a5, 0x00007009, 0x00020404, 0x00009583, 0x08001a08, 0x0000e10e,
+ 0x08002c04, 0x0000b088, 0xc1a02404, 0x00001908, 0x0d003c04, 0x0000e806,
+ 0x81a02404, 0x00001900, 0x0000197e, 0x0000f400, 0x0d001c04, 0x00006806,
+ 0xc2202404, 0x00001900, 0xc0002306, 0x00001582, 0x01000000, 0x00009989,
+ 0x000019b8, 0x00007009, 0x000019b7, 0x00007000, 0xc000cb06, 0x00001582,
+ 0x01001000, 0x00001989, 0x000019b8, 0x00007009, 0xc000e306, 0x00001582,
+ 0x01001800, 0x00009989, 0x000019b8, 0x00007009, 0x000019b7, 0x00007000,
+ 0x000019b8, 0x0000f200, 0x01000800, 0x00009981, 0x0107f800, 0x00001981,
+ 0xfd8118ec, 0x00007902, 0x08800000, 0x00000000, 0xfd810aec, 0x00007902,
+ 0x08000000, 0x00008000, 0xfd80fcec, 0x0000f902, 0x07800000, 0x00000000,
+ 0xfd80eeec, 0x0000f902, 0x07000000, 0x00008000, 0xfdc0d8ec, 0x00007902,
+ 0x06800000, 0x00008000, 0xfdc0caec, 0x00007902, 0x06000000, 0x00000000,
+ 0xfdc0bcec, 0x0000f902, 0x05800000, 0x00008000, 0xfdc0aeec, 0x0000f902,
+ 0x05000000, 0x00000000, 0xfe0098ec, 0x0000f902, 0x04800000, 0x00000000,
+ 0xfe008aec, 0x0000f902, 0x04000000, 0x00008000, 0xfe007cec, 0x0000f902,
+ 0x03400000, 0x00008000, 0xfe0066ec, 0x00007902, 0x02c00000, 0x00008000,
+ 0x00000c04, 0x00004088, 0x00000c04, 0x000000a8, 0x57e01404, 0x00004189,
+ 0x00201c04, 0x00008090, 0xa6400d09, 0x00007896, 0x00c00001, 0x00008000,
+ 0xa7000f09, 0x0000f896, 0x00c00001, 0x00008000, 0xa7c01509, 0x00007896,
+ 0x00c00001, 0x00008000, 0xa8801709, 0x00007896, 0x00c00001, 0x00008000,
+ 0xa9402509, 0x00007896, 0x00c00001, 0x00008000, 0xaa002709, 0x00007896,
+ 0x00c00001, 0x00008000, 0xaac04509, 0x0000f896, 0x00c00001, 0x00008000,
+ 0xab804709, 0x00007896, 0x00c00001, 0x00008000, 0x56208509, 0x0000c497,
+ 0x6a208709, 0x00008695, 0x1a610509, 0x00004597, 0x8d810709, 0x00000d8b,
+ 0x9c800d09, 0x00007896, 0x00c00001, 0x00008000, 0x9d400f09, 0x00007896,
+ 0x00c00001, 0x00008000, 0x9e001509, 0x00007896, 0x00c00001, 0x00008000,
+ 0x9ec01709, 0x0000f896, 0x00c00001, 0x00008000, 0x9f802509, 0x00007896,
+ 0x00c00001, 0x00008000, 0xa0402709, 0x0000f896, 0x00c00001, 0x00008000,
+ 0xa1004509, 0x00007896, 0x00c00001, 0x00008000, 0xa1c04709, 0x0000f896,
+ 0x00c00001, 0x00008000, 0x51408509, 0x00004497, 0x1c208709, 0x00000695,
+ 0x13010509, 0x00004597, 0x0c410709, 0x0000898e, 0x89000d09, 0x00007896,
+ 0x00c00001, 0x00008000, 0x89c00f09, 0x0000f896, 0x00c00001, 0x00008000,
+ 0x8a801509, 0x0000f896, 0x00c00001, 0x00008000, 0x8b401709, 0x0000f896,
+ 0x00c00001, 0x00008000, 0x8c002509, 0x00007896, 0x00c00001, 0x00008000,
+ 0x8cc02709, 0x0000f896, 0x00c00001, 0x00008000, 0x8d804509, 0x00007896,
+ 0x00c00001, 0x00008000, 0x8e404709, 0x0000f896, 0x00c00001, 0x00008000,
+ 0x47808509, 0x0000c497, 0x80208709, 0x00008694, 0x06c10509, 0x0000c597,
+ 0x0b010709, 0x0000838d, 0x92c00d09, 0x00007896, 0x00c00001, 0x00008000,
+ 0x93800f09, 0x0000f896, 0x00c00001, 0x00008000, 0x94401509, 0x0000f896,
+ 0x00c00001, 0x00008000, 0x95001709, 0x00007896, 0x00c00001, 0x00008000,
+ 0x95c02509, 0x0000f896, 0x00c00001, 0x00008000, 0x96802709, 0x0000f896,
+ 0x00c00001, 0x00008000, 0x97404509, 0x0000f896, 0x00c00001, 0x00008000,
+ 0x98004709, 0x0000f896, 0x00c00001, 0x00008000, 0x4c608509, 0x0000c497,
+ 0xce208709, 0x00008694, 0x09210509, 0x00004597, 0x89c10709, 0x0000048e,
+ 0x000019fe, 0x00007400, 0x80172a23, 0x00009502, 0x88c00a23, 0x00001090,
+ 0x00001a00, 0x0000f400, 0x80172a20, 0x00009502, 0x88000a20, 0x00001090,
+ 0x00001a02, 0x00007400, 0xc0172b23, 0x00009502, 0xc8c00b23, 0x00001090,
+ 0x00001a04, 0x00007400, 0xc0172b20, 0x00009502, 0xc8000b20, 0x00001090,
+ 0x00001a06, 0x0000f400, 0x80172a22, 0x00001502, 0x88800a22, 0x00001090,
+ 0x00001a08, 0x00007400, 0x80172a1f, 0x00009502, 0x87c00a1f, 0x00001090,
+ 0x00001a0a, 0x0000f400, 0xc0172b22, 0x00001502, 0xc8800b22, 0x00001090,
+ 0x00001a0c, 0x0000f400, 0xc0172b1f, 0x00009502, 0xc7c00b1f, 0x00001090,
+ 0x80172a21, 0x00001502, 0xc1408709, 0x00006283, 0x88400a21, 0x00008090,
+ 0x00001a42, 0x0000f00b, 0x80172a1e, 0x00001502, 0x87800a1e, 0x00001090,
+ 0x41010509, 0x00001283, 0x00001a46, 0x0000700b, 0xc0172b21, 0x00001502,
+ 0xc8400b21, 0x00001090, 0xc1410709, 0x00009283, 0x00001abf, 0x0000700b,
+ 0x00001abf, 0x00007400, 0xc0172b1e, 0x00001502, 0xc7800b1e, 0x00001090,
+ 0x00001a12, 0x0000f400, 0x80172a1d, 0x00001502, 0x87400a1d, 0x00001090,
+ 0x00001a14, 0x0000f400, 0x80172a1a, 0x00009502, 0x86800a1a, 0x00001090,
+ 0x00001a16, 0x00007400, 0xc0172b1d, 0x00001502, 0xc7400b1d, 0x00001090,
+ 0x00001a18, 0x0000f400, 0xc0172b1a, 0x00009502, 0xc6800b1a, 0x00001090,
+ 0x00001a1a, 0x00007400, 0x80172a1c, 0x00009502, 0x87000a1c, 0x00001090,
+ 0x00001a1c, 0x00007400, 0x80172a19, 0x00009502, 0x86400a19, 0x00001090,
+ 0x00001a1e, 0x0000f400, 0xc0172b1c, 0x00009502, 0xc7000b1c, 0x00001090,
+ 0x00001a20, 0x00007400, 0xc0172b19, 0x00009502, 0xc6400b19, 0x00001090,
+ 0x80172a1b, 0x00001502, 0xc1408709, 0x00006283, 0x86c00a1b, 0x00008090,
+ 0x00001a69, 0x0000f00b, 0x80172a18, 0x00001502, 0x86000a18, 0x00001090,
+ 0x41010509, 0x00001283, 0x00001a6d, 0x0000700b, 0xc0172b1b, 0x00001502,
+ 0xc6c00b1b, 0x00001090, 0xc1410709, 0x00009283, 0x00001abf, 0x0000700b,
+ 0x00001abf, 0x00007400, 0xc0172b18, 0x00001502, 0xc6000b18, 0x00001090,
+ 0x000019ea, 0x00007400, 0x80172a17, 0x00001502, 0x85c00a17, 0x00001090,
+ 0x000019ec, 0x00007400, 0x80172a14, 0x00001502, 0x85000a14, 0x00001090,
+ 0x000019ee, 0x0000f400, 0xc0172b17, 0x00001502, 0xc5c00b17, 0x00001090,
+ 0x000019f0, 0x0000f400, 0xc0172b14, 0x00001502, 0xc5000b14, 0x00001090,
+ 0x000019f2, 0x00007400, 0x80172a16, 0x00009502, 0x85800a16, 0x00001090,
+ 0x000019f4, 0x00007400, 0x80172a13, 0x00009502, 0x84c00a13, 0x00001090,
+ 0x000019f6, 0x0000f400, 0xc0172b16, 0x00009502, 0xc5800b16, 0x00001090,
+ 0x000019f8, 0x00007400, 0xc0172b13, 0x00009502, 0xc4c00b13, 0x00001090,
+ 0x80172a15, 0x00009502, 0xc1408709, 0x00006283, 0x85400a15, 0x00008090,
+ 0x00001a90, 0x0000f00b, 0x80172a12, 0x00001502, 0x84800a12, 0x00001090,
+ 0x41010509, 0x00001283, 0x00001a94, 0x0000700b, 0xc0172b15, 0x00009502,
+ 0xc5400b15, 0x00001090, 0xc1410709, 0x00009283, 0x00001abf, 0x0000700b,
+ 0x00001abf, 0x00007400, 0xc0172b12, 0x00001502, 0xc4800b12, 0x00001090,
+ 0x000019d6, 0x00007400, 0x80172a11, 0x00001502, 0x84400a11, 0x00001090,
+ 0x000019d8, 0x0000f400, 0x80172a0d, 0x00009502, 0x83400a0d, 0x00001090,
+ 0x000019da, 0x00007400, 0xc0172b11, 0x00001502, 0xc4400b11, 0x00001090,
+ 0x000019dc, 0x00007400, 0xc0172b0d, 0x00009502, 0xc3400b0d, 0x00001090,
+ 0x000019de, 0x0000f400, 0x80172a10, 0x00009502, 0x84000a10, 0x00001090,
+ 0x000019e0, 0x00007400, 0x80172a0c, 0x00001502, 0x83000a0c, 0x00001090,
+ 0x000019e2, 0x0000f400, 0xc0172b10, 0x00009502, 0xc4000b10, 0x00001090,
+ 0x000019e4, 0x0000f400, 0xc0172b0c, 0x00001502, 0xc3000b0c, 0x00001090,
+ 0x80172a0f, 0x00001502, 0xc1408709, 0x00006283, 0x83c00a0f, 0x00008090,
+ 0x00001ab7, 0x0000f00b, 0x80172a0b, 0x00009502, 0x82c00a0b, 0x00001090,
+ 0x41010509, 0x00001283, 0x00001abb, 0x0000f00b, 0xc0172b0f, 0x00001502,
+ 0xc3c00b0f, 0x00001090, 0xc1410709, 0x00009283, 0x00001abf, 0x0000700b,
+ 0xc0172b0b, 0x00009502, 0xc2c00b0b, 0x00001090, 0xc0172b08, 0x00009502,
+ 0xfdb918ec, 0x0000d000, 0x00391000, 0x00008000, 0xfdb90aec, 0x0000d000,
+ 0x00390000, 0x00000000, 0xfdb8fcec, 0x00005000, 0x0038f000, 0x00008000,
+ 0xfdb8eeec, 0x00005000, 0x0038e000, 0x00000000, 0xfdf8d8ec, 0x0000d000,
+ 0x0038d000, 0x00000000, 0xfdf8caec, 0x0000d000, 0x0038c000, 0x00008000,
+ 0xfdf8bcec, 0x00005000, 0x0038b000, 0x00000000, 0xfdf8aeec, 0x00005000,
+ 0x0038a000, 0x00008000, 0xfe3898ec, 0x00005000, 0x00389000, 0x00008000,
+ 0xfe388aec, 0x00005000, 0x00388000, 0x00000000, 0x00000000, 0x00007488,
+ 0xfe387cec, 0x00005000, 0x00386800, 0x00000000, 0xfe3866ec, 0x0000d000,
+ 0x00385800, 0x00000000, 0x5c202509, 0x0000c497, 0xc2202709, 0x00000695,
+ 0x5f801308, 0x0000c389, 0x00201308, 0x00000098, 0x02800308, 0x0000c790,
+ 0x01a02308, 0x0000018e, 0xbe002308, 0x000078aa, 0xa0c00000, 0x00008d87,
+ 0x01c00000, 0x0000e180, 0x0418400d, 0x00006187, 0x03000000, 0x0000f900,
+ 0x00008040, 0x00008980, 0xc1583306, 0x0000e100, 0x0010400d, 0x0000e186,
+ 0x02927000, 0x00007900, 0x0028e40e, 0x00000980, 0x02e0f800, 0x00007900,
+ 0x003ab282, 0x00008980, 0x81503206, 0x00006100, 0x08001a08, 0x00006106,
+ 0x82200500, 0x00008022, 0x00001b0a, 0x00007400, 0x01c0a009, 0x000080b1,
+ 0x02786f02, 0x00000018, 0xc0000b08, 0x00009582, 0x00000000, 0x0000f093,
+ 0x1af813aa, 0x0000f100, 0xc0003b08, 0x00009582, 0x00000000, 0x0000f093,
+ 0x00001afa, 0x00007000, 0x1af30e11, 0x00007100, 0x1af9348b, 0x00007100,
+ 0x1afa2d9e, 0x00007100, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x1afe38ac, 0x00007300, 0x01604c09, 0x00009900, 0x03000000, 0x0000f900,
+ 0x00008040, 0x00008980, 0x02ad0000, 0x0000f900, 0x0016debe, 0x00000980,
+ 0x02ded000, 0x0000f900, 0x0016e9b4, 0x00008980, 0x01800000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x01400000, 0x000080dc, 0x82200500, 0x00008022,
+ 0x83001000, 0x00006180, 0x02401002, 0x0000c900, 0x1b0b1b17, 0x0000f100,
+ 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x780000ec, 0x00005680,
+ 0x02090000, 0x00000080, 0x780008ec, 0x0000d680, 0x00000000, 0x00008080,
+ 0x81400cec, 0x00005684, 0x00000000, 0x00008080, 0x81400aec, 0x00005684,
+ 0x00000000, 0x00008080, 0x403840ec, 0x0000d700, 0x00000000, 0x00008080,
+ 0x5ff886ec, 0x0000a080, 0xffffffff, 0x00007fa7, 0x81001210, 0x00001880,
+ 0x81001204, 0x00009080, 0x5ff86604, 0x00005000, 0x00385800, 0x00000000,
+ 0x60385004, 0x00005000, 0x00384800, 0x00008000, 0x60384204, 0x00005000,
+ 0x00383000, 0x00008000, 0x60382c04, 0x0000d000, 0x00383800, 0x00000000,
+ 0x0210620c, 0x00006100, 0x01000810, 0x0000c080, 0x0001f804, 0x00001582,
+ 0x04000000, 0x0000e198, 0x04000810, 0x0000c0b0, 0x1b2b1b0b, 0x00007500,
+ 0xffffffff, 0x00007f86, 0x5ff886ec, 0x00002880, 0x5fc7aeec, 0x0000f902,
+ 0x3d000000, 0x00008000, 0xffffffff, 0x00007fa7, 0xbc4012f5, 0x00009880,
+ 0xbc4012f1, 0x00009080, 0x5ffd46f1, 0x0000d000, 0x003d6800, 0x00000000,
+ 0x603d60f1, 0x00005000, 0x003d5800, 0x00000000, 0x603d52f1, 0x0000d000,
+ 0x003d7000, 0x00000000, 0x603d7cf1, 0x0000d000, 0x003d4800, 0x00008000,
+ 0x3c4008f5, 0x00001080, 0x0001f8f1, 0x00001582, 0x3d4008f5, 0x000060b0,
+ 0x3d400000, 0x00008998, 0x800016a8, 0x00009583, 0x5fffaeec, 0x0000a880,
+ 0x00000001, 0x0000f091, 0x000000f4, 0x00001582, 0x021542a8, 0x00009910,
+ 0x00000001, 0x0000f089, 0x1b431b0b, 0x00007100, 0x00000001, 0x0000f080,
+ 0x007d44ec, 0x0000383c, 0x007d56ec, 0x0000383c, 0x1b491b2b, 0x00007500,
+ 0x00bd60ec, 0x0000383c, 0x00bd72ec, 0x0000383c, 0x007d44ec, 0x0000b03c,
+ 0x007d56ec, 0x0000b03c, 0x00000001, 0x00007480, 0x00bd60ec, 0x0000b03c,
+ 0x00bd72ec, 0x0000b03c, 0x603950ec, 0x0000a080, 0x09e127e4, 0x00001800,
+ 0xffffffff, 0x00007f97, 0x09c15027, 0x00001202, 0x2a000000, 0x0000f910,
+ 0x000080c0, 0x00000980, 0xaa001800, 0x0000e190, 0x2b014829, 0x00004910,
+ 0x00000001, 0x00007088, 0x2b460000, 0x00007900, 0x001f2252, 0x00008980,
0xeab00600, 0x00006101, 0x08001aaa, 0x0000e106, 0xaab81400, 0x00008a2c,
- 0x2b8a504a, 0x00008a38, 0x2b9a524a, 0x00008a38, 0x2bca4849, 0x00008a3c,
- 0x2bda4a49, 0x00008a3c, 0x1d531c90, 0x00007500, 0x2a4a4048, 0x00008a24,
- 0x2a524348, 0x00008a24, 0x00000001, 0x0000f080, 0x4000250c, 0x0000e583,
- 0x04400800, 0x00000980, 0x02000000, 0x0000e180, 0x44771ee3, 0x0000c901,
- 0x01806000, 0x00006189, 0x30ff1011, 0x00006002, 0x00001d72, 0x0000f208,
- 0x82181302, 0x00009900, 0x4000250c, 0x00001583, 0x00001d68, 0x0000701b,
- 0x4000150c, 0x00001583, 0x01805000, 0x00001989, 0x00001d72, 0x0000f009,
- 0x4000150c, 0x00001583, 0x0180e000, 0x00001999, 0x00001d72, 0x00007019,
- 0x40000d0c, 0x00001583, 0x01804800, 0x00001989, 0x00001d72, 0x0000f009,
- 0x00001d71, 0x0000f000, 0x4000350c, 0x00009583, 0x01808000, 0x00009989,
- 0x00001d72, 0x0000f009, 0x4000350c, 0x00009583, 0x01804000, 0x000019a9,
- 0x00001d72, 0x00007029, 0x40003d0c, 0x00001583, 0x01824000, 0x00001989,
- 0x00001d72, 0x0000f009, 0x01800000, 0x00009981, 0x0000040c, 0x00006583,
- 0x86203008, 0x00002087, 0x81bf1fe3, 0x00006100, 0x86203811, 0x0000e087,
- 0xee388e06, 0x0000d000, 0x00384000, 0x00000000, 0x02000000, 0x000000dc,
- 0x02000800, 0x00006189, 0x81b71ee3, 0x00004900, 0x00000c0b, 0x00009583,
- 0xed004606, 0x00002880, 0x02000000, 0x0000e180, 0x00185007, 0x0000618e,
- 0xffffffff, 0x00007f86, 0x04105007, 0x0000e18f, 0x00002008, 0x0000b48e,
- 0x81b71ee3, 0x00001900, 0x00001d8f, 0x0000f400, 0xfbb84206, 0x0000d000,
- 0x00383800, 0x00000000, 0x01f06e0d, 0x0000e101, 0x02386e0d, 0x0000c000,
- 0x01c00c07, 0x00006081, 0x81808407, 0x00008080, 0x15000806, 0x0000d080,
- 0x00400000, 0x00008000, 0xee0f1e06, 0x00002881, 0x15000006, 0x0000d000,
- 0x00400800, 0x00000082, 0x01a03c07, 0x00009900, 0x00004006, 0x00009502,
- 0x81bf17e2, 0x00009940, 0xfb404206, 0x0000f942, 0x01c00000, 0x00008000,
- 0x00001d88, 0x0000f048, 0xfb3856ec, 0x0000a080, 0x81bf17e2, 0x00001900,
- 0x00000408, 0x00001583, 0x82205808, 0x0000688e, 0x4000050a, 0x00006583,
- 0x04305808, 0x0000a08f, 0xfb783a06, 0x0000a800, 0x02000c08, 0x00006081,
- 0x02b0760e, 0x00000909, 0x00001daa, 0x0000f410, 0xfb784206, 0x00002880,
- 0x01800000, 0x00006191, 0x82a85d0b, 0x00004909, 0x2c007ee3, 0x00001680,
- 0x818588b0, 0x00009000, 0x5fd876ec, 0x00002803, 0x603860ec, 0x00002882,
- 0xfcf8e206, 0x0000d000, 0x00271800, 0x00008001, 0xfcf88006, 0x00002800,
- 0x01800800, 0x00001981, 0x00000001, 0x00007480, 0x42800d0a, 0x00009081,
- 0xfb3856ec, 0x00002880, 0x00002408, 0x00006583, 0x82808409, 0x00000080,
- 0xee385e0a, 0x00002080, 0x02006000, 0x0000e189, 0x41800000, 0x0000c980,
- 0x81984b09, 0x00001900, 0xffffffff, 0x00007f86, 0x0000080b, 0x00006c82,
- 0x82c00000, 0x00009981, 0x00001dcf, 0x0000f408, 0x30ff100b, 0x00006802,
- 0x5168480b, 0x00006800, 0x00002408, 0x00009583, 0x00001dc5, 0x0000f01b,
- 0x00001408, 0x00009583, 0x02005000, 0x00009989, 0x00001dcf, 0x0000f009,
- 0x00001408, 0x00009583, 0x0200e000, 0x00009999, 0x00001dcf, 0x00007019,
- 0x00000c08, 0x00009583, 0x02004800, 0x00009989, 0x00001dcf, 0x0000f009,
- 0x00001dce, 0x00007000, 0x00003408, 0x00001583, 0x02008000, 0x00001989,
- 0x00001dcf, 0x0000f009, 0x00003408, 0x00001583, 0x02004000, 0x000099a9,
- 0x00001dcf, 0x00007029, 0x00003c08, 0x00009583, 0x02024000, 0x00009989,
- 0x00001dcf, 0x0000f009, 0x02000000, 0x00001981, 0x8620380b, 0x00006087,
- 0x86204006, 0x0000b087, 0xee385e0a, 0x00005000, 0x00383000, 0x00008000,
- 0x82b71ee3, 0x00001900, 0xee38360a, 0x00002000, 0xffffffff, 0x00007f86,
- 0x00000001, 0x00007483, 0x81800e06, 0x00009081, 0xee38360a, 0x0000a800,
- 0xee38de18, 0x0000a080, 0x80007a18, 0x00009582, 0xffffffff, 0x00007f97,
- 0x86a8dd1b, 0x00009918, 0xee20d61a, 0x0000a019, 0xffffffff, 0x00007f86,
- 0x00000001, 0x0000749b, 0x86a8dd1b, 0x0000e118, 0x06400c1a, 0x00004199,
- 0xee30ce1a, 0x0000a819, 0x06400000, 0x00009980, 0xef00d619, 0x00002081,
- 0xffffffff, 0x00007fa7, 0x0020c41a, 0x00001503, 0x16000019, 0x00005088,
- 0x00400000, 0x00008000, 0x06400819, 0x00009080, 0x00060019, 0x00001582,
- 0xfb00d6ec, 0x0000a089, 0x0f40dc19, 0x0000680a, 0x00001de4, 0x00007010,
- 0xffffffff, 0x00007f86, 0x06800c1a, 0x00001181, 0xfb18d6ec, 0x0000a882,
- 0x86a0cc19, 0x00009900, 0xfb40d21a, 0x0000a080, 0xffffffff, 0x00007f86,
- 0x00000001, 0x00007483, 0x86a0cc19, 0x0000e100, 0x06000c1a, 0x0000c181,
- 0xfb40c21a, 0x0000a880, 0x81000ee3, 0x00006283, 0x81000ee3, 0x00000780,
- 0x68b83604, 0x0000208c, 0x68b83604, 0x0000a014, 0xffffffff, 0x00007fa7,
- 0x01800806, 0x0000e090, 0x01800806, 0x00008088, 0x00000001, 0x0000f481,
- 0x68b83604, 0x0000a88c, 0x68b83604, 0x00002814, 0x01c00002, 0x00006180,
- 0xc1903206, 0x0000c900, 0x02081004, 0x00006180, 0x81802d00, 0x00004880,
- 0xc2380a06, 0x0000e080, 0xc1e80500, 0x00008900, 0x760010ec, 0x00005680,
- 0x00383800, 0x00000000, 0x763840ec, 0x00005600, 0x000ff800, 0x00000080,
- 0x760000ec, 0x0000d680, 0x00000000, 0x00008080, 0x00c002ec, 0x0000df80,
- 0x11d0800b, 0x00001684, 0xb9183306, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x018004e4, 0x0000809c, 0x1e171dd9, 0x00007500,
- 0x81ff1fe3, 0x00009900, 0x06003807, 0x00009900, 0x81ff1fe3, 0x00009900,
- 0xee003e07, 0x00002080, 0xffffffff, 0x00007f86, 0x00001e02, 0x0000f403,
- 0x81ff1fe3, 0x0000e100, 0x0207c407, 0x00004281, 0xee004607, 0x0000a880,
- 0x80000212, 0x00006582, 0x82c00000, 0x00008980, 0x82c00800, 0x00006190,
- 0x03000000, 0x00004980, 0x03800000, 0x000080fc, 0x0000040b, 0x0000e583,
- 0xc320580e, 0x00002006, 0x83280500, 0x0000e110, 0x83000000, 0x00004988,
- 0xc0000712, 0x00006583, 0x0020a00f, 0x00002084, 0xc2d722e4, 0x00006100,
- 0x0410600e, 0x00006187, 0x84402d00, 0x0000e090, 0x0000880c, 0x00006286,
- 0x84589b13, 0x0000e108, 0x84780a11, 0x0000c090, 0x80000612, 0x00009583,
- 0x04108811, 0x00006987, 0x00181011, 0x0000618e, 0x00109811, 0x0000b196,
- 0x0000040b, 0x00001583, 0x783878ec, 0x00005600, 0x00387000, 0x00000000,
- 0x783888ec, 0x00005600, 0x00386000, 0x00008000, 0x00000000, 0x0000f088,
- 0x00c002ec, 0x0000df80, 0x11d1d80b, 0x00001684, 0xb9185b0b, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x0000040e, 0x0000e583,
- 0x01800000, 0x00008980, 0x81800000, 0x000080e8, 0x01800800, 0x0000e191,
- 0x02c40000, 0x00004980, 0x02400000, 0x00006180, 0x0020780b, 0x00006084,
- 0x00000406, 0x00006583, 0xc320300a, 0x00002006, 0x81a80500, 0x0000e110,
- 0x81800000, 0x00004988, 0x4000050e, 0x0000e583, 0x00008009, 0x00002286,
- 0x0410300a, 0x0000e187, 0x00181006, 0x0000318e, 0x783858ec, 0x0000d600,
- 0x00385000, 0x00008000, 0x00187806, 0x00006996, 0x00000001, 0x00007480,
- 0xffffffff, 0x00007f86, 0x783830ec, 0x00005600, 0x00384800, 0x00008000,
- 0x033f2fe5, 0x00008034, 0x03c00000, 0x0000e181, 0x038728e5, 0x00004900,
- 0x00001c0f, 0x00009583, 0x04803807, 0x00001908, 0x00001e6e, 0x00007009,
- 0x00001c0f, 0x00009583, 0x00001e63, 0x0000f01b, 0x00000c0f, 0x00001583,
- 0x04802805, 0x00001908, 0x00001e6e, 0x00007009, 0x0000140f, 0x00001583,
- 0x04803006, 0x00001908, 0x00001e6e, 0x00007009, 0x00001e6c, 0x0000f000,
- 0x00002c0f, 0x00009583, 0x04804809, 0x00001908, 0x00001e6e, 0x00007009,
- 0x00002c0f, 0x00009583, 0x04804008, 0x00009928, 0x00001e6e, 0x0000f029,
- 0x0000340f, 0x00009583, 0x0480a815, 0x00001908, 0x00001e6e, 0x00007009,
- 0x04802004, 0x00009900, 0xffffffff, 0x00007f86, 0x02c09012, 0x00009b00,
- 0x0007280b, 0x0000e502, 0x0480580b, 0x00000900, 0x03c00c0f, 0x00001089,
- 0x00001e75, 0x00007011, 0x9e403c0f, 0x0000788b, 0xb8c00000, 0x00000f82,
- 0x83c02c0f, 0x00009880, 0x8490920f, 0x00001000, 0x80067a12, 0x00009582,
- 0x00001e7a, 0x00007033, 0x84bff801, 0x00009980, 0x85000000, 0x000081ce,
- 0xb97ffa12, 0x0000788b, 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86,
- 0xee387e12, 0x0000a080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x02c03c0f, 0x00001283, 0x82c0fa12, 0x0000e288, 0x83c02a12, 0x00008788,
- 0x02d05fe4, 0x00009808, 0x00001e9c, 0x00007010, 0x0000040f, 0x00006583,
- 0x02c058e5, 0x00000400, 0x06c0d80b, 0x00001208, 0x00001eb2, 0x0000f009,
- 0x00000c0f, 0x00001583, 0x0680d00b, 0x00001208, 0x00001eb2, 0x0000f009,
- 0x0000140f, 0x00001583, 0x0640c80b, 0x00001208, 0x00001eb2, 0x0000f009,
- 0x00001c0f, 0x00009583, 0x0600c00b, 0x00001208, 0x00001eb2, 0x0000f009,
- 0x0000240f, 0x00001583, 0x05c0b80b, 0x00001208, 0x00001eb2, 0x0000f009,
- 0x00002c0f, 0x00009583, 0x0580b00b, 0x00001208, 0x00001eb2, 0x0000f009,
- 0x00001eb2, 0x00007400, 0x0000340f, 0x00009583, 0x0540a80b, 0x00001208,
- 0x00004c14, 0x00009583, 0x04001c14, 0x0000e2b1, 0x02c00000, 0x000009b0,
- 0x04001c10, 0x000060b0, 0x3840640b, 0x0000c0b1, 0x00001eac, 0x0000f018,
- 0x02c7f800, 0x00009980, 0x02c0800b, 0x00009800, 0x02c058e5, 0x00009400,
- 0xffffffff, 0x00007f86, 0x03c00200, 0x0000f904, 0x02c7fa12, 0x00006280,
- 0x03c0580f, 0x00000200, 0x0400800b, 0x00009800, 0x0400800f, 0x00009300,
- 0x10008400, 0x0000f904, 0x1eae1aa9, 0x0000f300, 0x05000c14, 0x00009081,
- 0xee387e12, 0x0000a080, 0xffffffff, 0x00007fa7, 0x0000180f, 0x0000ec04,
- 0xee387e12, 0x00002880, 0x84800a12, 0x00009080, 0x80068212, 0x00001582,
- 0x82c02a12, 0x00009790, 0x8480fa12, 0x00006290, 0x04605c0b, 0x00000911,
- 0x00001ee1, 0x00007008, 0x04800000, 0x0000e181, 0x02d097e4, 0x0000c800,
- 0x04005aec, 0x00001100, 0x00209411, 0x00009503, 0x00001ede, 0x0000f01b,
- 0x00001c12, 0x00009583, 0x02c0c018, 0x00009908, 0x00001ed3, 0x00007009,
- 0x00001c12, 0x00009583, 0x00001ec9, 0x0000f01b, 0x00000c12, 0x00001583,
- 0x02c0d01a, 0x00009908, 0x00001ed3, 0x00007009, 0x00001412, 0x00001583,
- 0x02c0c819, 0x00009908, 0x00001ed3, 0x00007009, 0x00001ed2, 0x0000f000,
- 0x00002c12, 0x00009583, 0x02c0b016, 0x00009908, 0x00001ed3, 0x00007009,
- 0x00002c12, 0x00009583, 0x02c0b817, 0x00001928, 0x00001ed3, 0x0000f029,
- 0x00003412, 0x00009583, 0x02c0a815, 0x00009908, 0x00001ed3, 0x00007009,
- 0x02c0d81b, 0x00001900, 0x00209411, 0x00009503, 0x02c0800b, 0x00001208,
- 0xffffffff, 0x00007f86, 0x03c0580b, 0x00001b00, 0x0007280f, 0x00006502,
- 0x02c0780f, 0x00008900, 0x84802c12, 0x00001890, 0x84905a12, 0x00001010,
- 0x00001ede, 0x00007008, 0xb8467a12, 0x0000f89b, 0x10c00000, 0x00008f87,
- 0x04800c12, 0x00009081, 0x00003c12, 0x00001583, 0x00001ebb, 0x00007013,
- 0x84bff801, 0x00009980, 0x04c00c13, 0x00009081, 0x9f7ffa12, 0x0000f893,
- 0x00c00003, 0x00008080, 0x0420a00e, 0x0000e087, 0x08001aaa, 0x0000b106,
+ 0x00001b44, 0x00007400, 0x2bb93724, 0x00000a3c, 0x2a412825, 0x00009900,
+ 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x0d001f06, 0x00006006,
+ 0x08001a08, 0x00003106, 0x029e2000, 0x00007900, 0x00395f38, 0x00000980,
+ 0x02ef4000, 0x00007900, 0x003fbfce, 0x00008980, 0x019004e4, 0x00000018,
+ 0x01681402, 0x00008014, 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901,
+ 0x1b6e1b17, 0x00007500, 0x82381400, 0x00008024, 0x83000800, 0x00001980,
+ 0xfe7914ec, 0x0000b838, 0xfe7926ec, 0x00003838, 0xfeb930ec, 0x0000b838,
+ 0xfeb942ec, 0x0000b838, 0x000004e3, 0x00001583, 0x4001fde3, 0x00001583,
+ 0x400005e3, 0x00001583, 0x00001b95, 0x00007008, 0x00001b88, 0x0000f030,
+ 0x00001b9f, 0x0000f048, 0x820122ec, 0x00007902, 0x08c00000, 0x00000604,
+ 0x438105e3, 0x00006283, 0x0880fde3, 0x00008281, 0x08a117e4, 0x00001800,
+ 0x00001b8e, 0x0000f009, 0x08811822, 0x00001202, 0x08800000, 0x00009981,
+ 0x08800800, 0x00009991, 0xffffffff, 0x00007f86, 0x17a11422, 0x00009901,
+ 0xfe7914ec, 0x00003038, 0xfe7926ec, 0x0000b038, 0x00000001, 0x00007480,
+ 0xfeb930ec, 0x00003038, 0xfeb942ec, 0x00003038, 0x438105e3, 0x00006283,
+ 0x0880fde3, 0x00008281, 0x820120ec, 0x0000f902, 0x08c00000, 0x00000604,
+ 0x08a117e4, 0x00001800, 0x00001b7e, 0x00007010, 0xffffffff, 0x00007f86,
+ 0x08812022, 0x00009202, 0x08800000, 0x00009981, 0x08800800, 0x00009991,
+ 0x00001b83, 0x0000f400, 0xffffffff, 0x00007f86, 0x17a11422, 0x00009901,
+ 0x823916ec, 0x0000a684, 0x08f71fe4, 0x0000e000, 0x17800000, 0x00004981,
+ 0xfe7926ec, 0x0000b038, 0xfeb930ec, 0x00003038, 0x08811023, 0x00001202,
+ 0xfeb942ec, 0x00003038, 0x00000001, 0x00007480, 0xfe7914ec, 0x00003038,
+ 0x17800800, 0x00001991, 0x00001b7a, 0x0000f200, 0x820124ec, 0x00007902,
+ 0x08c00000, 0x00000604, 0xc0000372, 0x00006582, 0x17800000, 0x00000980,
+ 0x97800000, 0x00001980, 0x97800800, 0x00001990, 0x17c00000, 0x0000f900,
+ 0x000014c0, 0x00008980, 0x0000045e, 0x0000e583, 0x0013985f, 0x00002106,
+ 0x97a80500, 0x00006110, 0xc322f05f, 0x00006006, 0xffffffff, 0x00007f86,
+ 0x0000005e, 0x00006d8e, 0xffffffff, 0x00007f86, 0x042b905e, 0x00006885,
+ 0x75e8005e, 0x0000e901, 0x703af8ec, 0x0000d600, 0x003af000, 0x00000000,
+ 0x17800004, 0x00001980, 0x17c00000, 0x0000f900, 0x00007fc0, 0x00000980,
+ 0x0013985f, 0x00006186, 0x8223905e, 0x0000b080, 0x703b88ec, 0x0000d600,
+ 0x003b8000, 0x00000000, 0x00000001, 0x00007480, 0x041b985e, 0x0000e987,
+ 0x703af8ec, 0x0000d600, 0x003af000, 0x00000000, 0x02c7f800, 0x00007900,
+ 0x00001088, 0x00000980, 0x03091804, 0x0000e180, 0x75ff180b, 0x00006101,
+ 0x760010ec, 0x00005680, 0x00000000, 0x00008080, 0x004cf00c, 0x00006d87,
+ 0x763860ec, 0x0000d600, 0x00385800, 0x00000000, 0x03000000, 0x00001980,
+ 0x00000001, 0x00007480, 0x0020680c, 0x00006886, 0x763860ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x0000000d, 0x00001582, 0xfe6068ec, 0x00002090,
+ 0x2a000000, 0x0000f910, 0x00008080, 0x00008980, 0x00000001, 0x00007088,
+ 0x2b40e000, 0x0000f900, 0x00188ac0, 0x00000980, 0x80172a0d, 0x00006502,
+ 0x08001aaa, 0x00002106, 0x83400a0d, 0x0000e090, 0xaa00b000, 0x00000980,
+ 0xfe6068ec, 0x0000a890, 0x2b280748, 0x00000a2a, 0xaab81400, 0x00008a2c,
+ 0x00001b44, 0x00007400, 0x2bba2746, 0x00000a3c, 0x2a7f1fe3, 0x00009900,
+ 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x01400000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x02a45800, 0x00007900, 0x0026484c, 0x00008980,
+ 0x02fa4000, 0x0000f900, 0x003bdaae, 0x00000980, 0x01801002, 0x0000e100,
+ 0x0d001e05, 0x0000e006, 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901,
+ 0x82381400, 0x00008024, 0x1bee1b17, 0x0000f500, 0x83003000, 0x0000e180,
+ 0x01700600, 0x00004901, 0x41680500, 0x00009901, 0x90b71ee3, 0x00001900,
+ 0xed021e42, 0x0000f902, 0x10800000, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x00000443, 0x00001583, 0x10f237e4, 0x00001810, 0x00000001, 0x0000f089,
+ 0x10821043, 0x00001202, 0x2a000000, 0x0000f908, 0x000080c0, 0x00000980,
+ 0xaa123246, 0x00006108, 0x2b023847, 0x00004908, 0x00000001, 0x00007090,
+ 0x2b6b5800, 0x0000f900, 0x0003cd08, 0x00008980, 0xeab00600, 0x00006101,
+ 0x08001aaa, 0x0000e106, 0xaab81400, 0x00008a2c, 0x2b8a504a, 0x00008a38,
+ 0x2b9a524a, 0x00008a38, 0x2bca4849, 0x00008a3c, 0x2bda4a49, 0x00008a3c,
+ 0x1c071b44, 0x0000f500, 0x2a4a4048, 0x00008a24, 0x2a524348, 0x00008a24,
+ 0x00000001, 0x0000f080, 0x4000250c, 0x0000e583, 0x04400800, 0x00000980,
+ 0x02000000, 0x0000e180, 0x44771ee3, 0x0000c901, 0x01806000, 0x00006189,
+ 0x30ff1011, 0x00006002, 0x00001c26, 0x0000f208, 0x82181302, 0x00009900,
+ 0x4000250c, 0x00001583, 0x00001c1c, 0x0000f01b, 0x4000150c, 0x00001583,
+ 0x01805000, 0x00001989, 0x00001c26, 0x0000f009, 0x4000150c, 0x00001583,
+ 0x0180e000, 0x00001999, 0x00001c26, 0x00007019, 0x40000d0c, 0x00001583,
+ 0x01804800, 0x00001989, 0x00001c26, 0x0000f009, 0x00001c25, 0x0000f000,
+ 0x4000350c, 0x00009583, 0x01808000, 0x00009989, 0x00001c26, 0x0000f009,
+ 0x4000350c, 0x00009583, 0x01804000, 0x000019a9, 0x00001c26, 0x00007029,
+ 0x40003d0c, 0x00001583, 0x01824000, 0x00001989, 0x00001c26, 0x0000f009,
+ 0x01800000, 0x00009981, 0x0000040c, 0x00006583, 0x86203008, 0x00002087,
+ 0x81bf1fe3, 0x00006100, 0x86203811, 0x0000e087, 0xee388e06, 0x0000d000,
+ 0x00384000, 0x00000000, 0x02000000, 0x000000dc, 0x02000800, 0x00006189,
+ 0x81b71ee3, 0x00004900, 0x00000c0b, 0x00009583, 0xed004606, 0x00002880,
+ 0x02000000, 0x0000e180, 0x00185007, 0x0000618e, 0xffffffff, 0x00007f86,
+ 0x04105007, 0x0000e18f, 0x00002008, 0x0000b48e, 0x81b71ee3, 0x00001900,
+ 0x00001c43, 0x00007400, 0xfbb84206, 0x0000d000, 0x00383800, 0x00000000,
+ 0x01f06e0d, 0x0000e101, 0x02386e0d, 0x0000c000, 0x01c00c07, 0x00006081,
+ 0x81808407, 0x00008080, 0x15000806, 0x0000d080, 0x00400000, 0x00008000,
+ 0xee0f1e06, 0x00002881, 0x15000006, 0x0000d000, 0x00400800, 0x00000082,
+ 0x01a03c07, 0x00009900, 0x00004006, 0x00009502, 0x81bf17e2, 0x00009940,
+ 0xfb404206, 0x0000f942, 0x01c00000, 0x00008000, 0x00001c3c, 0x00007048,
+ 0xfb3856ec, 0x0000a080, 0x81bf17e2, 0x00001900, 0x00000408, 0x00001583,
+ 0x82205808, 0x0000688e, 0x4000050a, 0x00006583, 0x04305808, 0x0000a08f,
+ 0xfb783a06, 0x0000a800, 0x02000c08, 0x00006081, 0x02b0760e, 0x00000909,
+ 0x00001c5e, 0x0000f410, 0xfb784206, 0x00002880, 0x01800000, 0x00006191,
+ 0x82a85d0b, 0x00004909, 0x2c007ee3, 0x00001680, 0x818588b0, 0x00009000,
+ 0x5fd876ec, 0x00002803, 0x603860ec, 0x00002882, 0xfcf8f206, 0x00005000,
+ 0x00271800, 0x00008001, 0xfcf88006, 0x00002800, 0x01800800, 0x00001981,
+ 0x00000001, 0x00007480, 0x42800d0a, 0x00009081, 0xfb3856ec, 0x00002880,
+ 0x00002408, 0x00006583, 0x82808409, 0x00000080, 0xee385e0a, 0x00002080,
+ 0x02006000, 0x0000e189, 0x41800000, 0x0000c980, 0x81984b09, 0x00001900,
+ 0xffffffff, 0x00007f86, 0x0000080b, 0x00006c82, 0x82c00000, 0x00009981,
+ 0x00001c83, 0x0000f408, 0x30ff100b, 0x00006802, 0x5168480b, 0x00006800,
+ 0x00002408, 0x00009583, 0x00001c79, 0x0000f01b, 0x00001408, 0x00009583,
+ 0x02005000, 0x00009989, 0x00001c83, 0x0000f009, 0x00001408, 0x00009583,
+ 0x0200e000, 0x00009999, 0x00001c83, 0x00007019, 0x00000c08, 0x00009583,
+ 0x02004800, 0x00009989, 0x00001c83, 0x0000f009, 0x00001c82, 0x00007000,
+ 0x00003408, 0x00001583, 0x02008000, 0x00001989, 0x00001c83, 0x0000f009,
+ 0x00003408, 0x00001583, 0x02004000, 0x000099a9, 0x00001c83, 0x00007029,
+ 0x00003c08, 0x00009583, 0x02024000, 0x00009989, 0x00001c83, 0x0000f009,
+ 0x02000000, 0x00001981, 0x8620380b, 0x00006087, 0x86204006, 0x0000b087,
+ 0xee385e0a, 0x00005000, 0x00383000, 0x00008000, 0x82b71ee3, 0x00001900,
+ 0xee38360a, 0x00002000, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483,
+ 0x81800e06, 0x00009081, 0xee38360a, 0x0000a800, 0xee38de18, 0x0000a080,
+ 0x80007a18, 0x00009582, 0xffffffff, 0x00007f97, 0x86a8dd1b, 0x00009918,
+ 0xee20d61a, 0x0000a019, 0xffffffff, 0x00007f86, 0x00000001, 0x0000749b,
+ 0x86a8dd1b, 0x0000e118, 0x06400c1a, 0x00004199, 0xee30ce1a, 0x0000a819,
+ 0x06400000, 0x00009980, 0xef00d619, 0x00002081, 0xffffffff, 0x00007fa7,
+ 0x0020c41a, 0x00001503, 0x16000019, 0x00005088, 0x00400000, 0x00008000,
+ 0x06400819, 0x00009080, 0x00060019, 0x00001582, 0xfb00d6ec, 0x0000a089,
+ 0x0f40dc19, 0x0000680a, 0x00001c98, 0x00007010, 0xffffffff, 0x00007f86,
+ 0x06800c1a, 0x00001181, 0xfb18d6ec, 0x0000a882, 0x86a0cc19, 0x00009900,
+ 0xfb40d21a, 0x0000a080, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483,
+ 0x86a0cc19, 0x0000e100, 0x06000c1a, 0x0000c181, 0xfb40c21a, 0x0000a880,
+ 0x81000ee3, 0x00006283, 0x81000ee3, 0x00000780, 0x68b83604, 0x0000208c,
+ 0x68b83604, 0x0000a014, 0xffffffff, 0x00007fa7, 0x01800806, 0x0000e090,
+ 0x01800806, 0x00008088, 0x00000001, 0x0000f481, 0x68b83604, 0x0000a88c,
+ 0x68b83604, 0x00002814, 0x01c00002, 0x00006180, 0xc1903206, 0x0000c900,
+ 0x02081004, 0x00006180, 0x81802d00, 0x00004880, 0xc2380a06, 0x0000e080,
+ 0xc1e80500, 0x00008900, 0x760010ec, 0x00005680, 0x00383800, 0x00000000,
+ 0x763840ec, 0x00005600, 0x000ff800, 0x00000080, 0x760000ec, 0x0000d680,
+ 0x00000000, 0x00008080, 0x00c002ec, 0x0000df80, 0x11c6200b, 0x00009684,
+ 0xb9183306, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x018004e4, 0x0000809c, 0x1ccb1c8d, 0x00007500, 0x81ff1fe3, 0x00009900,
+ 0x06003807, 0x00009900, 0x81ff1fe3, 0x00009900, 0xee003e07, 0x00002080,
+ 0xffffffff, 0x00007f86, 0x00001cb6, 0x00007403, 0x81ff1fe3, 0x0000e100,
+ 0x0207c407, 0x00004281, 0xee004607, 0x0000a880, 0x80000212, 0x00006582,
+ 0x82c00000, 0x00008980, 0x82c00800, 0x00006190, 0x03c00000, 0x00004980,
+ 0x04000000, 0x000000f8, 0x0000040b, 0x0000e583, 0xc320580f, 0x0000a006,
+ 0x83280500, 0x0000e110, 0x83000000, 0x00004988, 0xc0000712, 0x00006583,
+ 0x0020a810, 0x00002084, 0x0410600f, 0x0000e187, 0x0000a00e, 0x0000b286,
+ 0x83002d00, 0x0000e090, 0x83189b13, 0x0000c908, 0x783880ec, 0x0000d600,
+ 0x00387800, 0x00008000, 0x83380a0c, 0x00006090, 0xc2d722e4, 0x00008900,
+ 0x80000612, 0x00009583, 0x0410600c, 0x00006987, 0x0018100c, 0x0000618e,
+ 0x0010980c, 0x0000b196, 0x0000040b, 0x00001583, 0x783860ec, 0x00005600,
+ 0x00387000, 0x00000000, 0x00000000, 0x00007089, 0x00c002ec, 0x0000df80,
+ 0x11c7780b, 0x00009684, 0xb9185b0b, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x0000040e, 0x0000e583, 0x01800000, 0x00008980,
+ 0x81800000, 0x000080e8, 0x01800800, 0x0000e191, 0x02c40000, 0x00004980,
+ 0x02400000, 0x00006180, 0x0020780b, 0x00006084, 0x00000406, 0x00006583,
+ 0xc320300a, 0x00002006, 0x81a80500, 0x0000e110, 0x81800000, 0x00004988,
+ 0x4000050e, 0x0000e583, 0x00008009, 0x00002286, 0x0410300a, 0x0000e187,
+ 0x00181006, 0x0000318e, 0x783858ec, 0x0000d600, 0x00385000, 0x00008000,
+ 0x00187806, 0x00006996, 0x00000001, 0x00007480, 0xffffffff, 0x00007f86,
+ 0x783830ec, 0x00005600, 0x00384800, 0x00008000, 0x067f2fe5, 0x00000128,
+ 0x03000000, 0x0000e181, 0x06c728e5, 0x0000c900, 0x00001c0c, 0x00009583,
+ 0x03c03807, 0x00001908, 0x00001d22, 0x0000f009, 0x00001c0c, 0x00009583,
+ 0x00001d17, 0x0000f01b, 0x00000c0c, 0x00001583, 0x03c02805, 0x00001908,
+ 0x00001d22, 0x0000f009, 0x0000140c, 0x00001583, 0x03c03006, 0x00001908,
+ 0x00001d22, 0x0000f009, 0x00001d20, 0x00007000, 0x00002c0c, 0x00009583,
+ 0x03c04809, 0x00001908, 0x00001d22, 0x0000f009, 0x00002c0c, 0x00009583,
+ 0x03c04008, 0x00009928, 0x00001d22, 0x00007029, 0x0000340c, 0x00009583,
+ 0x03c09012, 0x00001908, 0x00001d22, 0x0000f009, 0x03c02004, 0x00009900,
+ 0xffffffff, 0x00007f86, 0x02c0780f, 0x00009b00, 0x0007280b, 0x0000e502,
+ 0x03c0580b, 0x00000900, 0x03000c0c, 0x00001089, 0x00001d29, 0x00007011,
+ 0x4b403c0c, 0x0000f88b, 0x58c00000, 0x00000e88, 0x83002c0c, 0x00009880,
+ 0x83d07a0c, 0x00001000, 0x80067a0f, 0x00009582, 0x00001d2e, 0x0000f033,
+ 0x83fff801, 0x00009980, 0x84400000, 0x000081c2, 0x667ffa0f, 0x0000f88b,
+ 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86, 0xee38660f, 0x0000a080,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x02c03c0c, 0x00001283,
+ 0x82c0fa0f, 0x0000e288, 0x83002a0f, 0x00008788, 0x02d05fe4, 0x00009808,
+ 0x00001d50, 0x00007010, 0x0000040c, 0x00006583, 0x02c058e5, 0x00000400,
+ 0x0600c00b, 0x00001208, 0x00001d66, 0x0000f009, 0x00000c0c, 0x00001583,
+ 0x05c0b80b, 0x00001208, 0x00001d66, 0x0000f009, 0x0000140c, 0x00001583,
+ 0x0580b00b, 0x00001208, 0x00001d66, 0x0000f009, 0x00001c0c, 0x00009583,
+ 0x0540a80b, 0x00001208, 0x00001d66, 0x0000f009, 0x0000240c, 0x00001583,
+ 0x0500a00b, 0x00001208, 0x00001d66, 0x0000f009, 0x00002c0c, 0x00009583,
+ 0x04c0980b, 0x00001208, 0x00001d66, 0x0000f009, 0x00001d66, 0x00007400,
+ 0x0000340c, 0x00009583, 0x0480900b, 0x00001208, 0x00004c11, 0x00009583,
+ 0x03401c11, 0x0000e2b1, 0x02c00000, 0x000009b0, 0x03401c0d, 0x000060b0,
+ 0x3840cc0b, 0x000040b1, 0x00001d60, 0x0000f018, 0x02c7f800, 0x00009980,
+ 0x02c0680b, 0x00009800, 0x02c058e5, 0x00009400, 0xffffffff, 0x00007f86,
+ 0x03000200, 0x0000f904, 0x02c7fa0f, 0x00006280, 0x0300580c, 0x00000200,
+ 0x0340680b, 0x00009800, 0x0340680c, 0x00009300, 0x10006c00, 0x0000f904,
+ 0x1d62195d, 0x00007300, 0x04400c11, 0x00009081, 0xee38660f, 0x0000a080,
+ 0xffffffff, 0x00007fa7, 0x0000180c, 0x0000ec04, 0xee38660f, 0x00002880,
+ 0x83c00a0f, 0x00009080, 0x8006820f, 0x00001582, 0x82c02a0f, 0x00009790,
+ 0x83c0fa0f, 0x00006290, 0x03a05c0b, 0x00008911, 0x00001d95, 0x00007008,
+ 0x03c00000, 0x0000e181, 0x02d07fe4, 0x0000c800, 0x03405aec, 0x00001100,
+ 0x00207c0e, 0x00001503, 0x00001d92, 0x0000701b, 0x00001c0f, 0x00009583,
+ 0x02c0a815, 0x00009908, 0x00001d87, 0x0000f009, 0x00001c0f, 0x00009583,
+ 0x00001d7d, 0x0000f01b, 0x00000c0f, 0x00001583, 0x02c0b817, 0x00009908,
+ 0x00001d87, 0x0000f009, 0x0000140f, 0x00001583, 0x02c0b016, 0x00009908,
+ 0x00001d87, 0x0000f009, 0x00001d86, 0x00007000, 0x00002c0f, 0x00009583,
+ 0x02c09813, 0x00009908, 0x00001d87, 0x0000f009, 0x00002c0f, 0x00009583,
+ 0x02c0a014, 0x00001928, 0x00001d87, 0x00007029, 0x0000340f, 0x00009583,
+ 0x02c09012, 0x00009908, 0x00001d87, 0x0000f009, 0x02c0c018, 0x00001900,
+ 0x00207c0e, 0x00001503, 0x02c0680b, 0x00001208, 0xffffffff, 0x00007f86,
+ 0x02c0580b, 0x00009b00, 0x0007280b, 0x0000e502, 0x0300580b, 0x00000900,
+ 0x83c02c0f, 0x00001890, 0x83d0620f, 0x00009010, 0x00001d92, 0x0000f008,
+ 0x65467a0f, 0x0000f89b, 0xb0c00000, 0x00008e8c, 0x03c00c0f, 0x00009081,
+ 0x00003c0f, 0x00001583, 0x00001d6f, 0x00007013, 0x83fff801, 0x00009980,
+ 0x04000c10, 0x00009081, 0x4c7ffa0f, 0x00007893, 0x00c00003, 0x00008080,
+ 0x0420881b, 0x00006087, 0x08001aaa, 0x0000b106, 0x2a000000, 0x00007900,
+ 0x000080c0, 0x00000980, 0xeab00600, 0x00006101, 0x8620801b, 0x0000e087,
+ 0x2b340800, 0x0000f900, 0x002f51f0, 0x00008980, 0x2b73c800, 0x0000f900,
+ 0x00065644, 0x00008980, 0xaab81400, 0x00008a2c, 0x1da71b44, 0x00007500,
+ 0x2bb8d719, 0x00008a3c, 0x2a409f1b, 0x00008aa1, 0x00000001, 0x0000f080,
+ 0x848001e4, 0x000001b0, 0x057f2fe5, 0x00000118, 0x04800000, 0x0000e181,
+ 0x05c728e5, 0x0000c900, 0x00001c12, 0x00009583, 0x05003807, 0x00001908,
+ 0x00001dc3, 0x0000f009, 0x00001c12, 0x00009583, 0x00001db8, 0x0000f01b,
+ 0x00000c12, 0x00001583, 0x05002805, 0x00001908, 0x00001dc3, 0x0000f009,
+ 0x00001412, 0x00001583, 0x05003006, 0x00001908, 0x00001dc3, 0x0000f009,
+ 0x00001dc1, 0x00007000, 0x00002c12, 0x00009583, 0x05004809, 0x00001908,
+ 0x00001dc3, 0x0000f009, 0x00002c12, 0x00009583, 0x05004008, 0x00009928,
+ 0x00001dc3, 0x00007029, 0x00003412, 0x00009583, 0x0500580b, 0x00001908,
+ 0x00001dc3, 0x0000f009, 0x05002004, 0x00009900, 0xffffffff, 0x00007f86,
+ 0x04c0a014, 0x00009b00, 0x00072813, 0x0000e502, 0x05009813, 0x00000900,
+ 0x04800c12, 0x00001089, 0x00001dca, 0x0000f011, 0x73803c12, 0x0000788b,
+ 0x60c00000, 0x00008e8d, 0x84802c12, 0x00009880, 0x8510a212, 0x00001000,
+ 0x80067a14, 0x00009582, 0x00001dcf, 0x0000f033, 0x853ff801, 0x00009980,
+ 0x84c00000, 0x000081ca, 0x917ffa14, 0x0000788b, 0x00c00003, 0x00008080,
+ 0xffffffff, 0x00007f86, 0xee00c614, 0x00007902, 0x07000000, 0x00008000,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x06003c18, 0x00001281,
+ 0x00000c18, 0x00001583, 0x00002418, 0x00009593, 0x8640fa14, 0x0000e290,
+ 0x86002a14, 0x00008790, 0x0650cfe4, 0x00009810, 0x00001df4, 0x0000f008,
+ 0x00000418, 0x00006583, 0x0640c8e5, 0x00000400, 0x04408819, 0x00001208,
+ 0x00001e12, 0x0000f009, 0x00000c18, 0x00001583, 0x04008019, 0x00001208,
+ 0x00001e12, 0x0000f009, 0x00001418, 0x00001583, 0x03c07819, 0x00001208,
+ 0x00001e12, 0x0000f009, 0x00001c18, 0x00009583, 0x03807019, 0x00001208,
+ 0x00001e12, 0x0000f009, 0x00002418, 0x00001583, 0x03406819, 0x00001208,
+ 0x00001e12, 0x0000f009, 0x00002c18, 0x00009583, 0x03006019, 0x00001208,
+ 0x00001e12, 0x0000f009, 0x00001e12, 0x00007400, 0x00003418, 0x00009583,
+ 0x02c05819, 0x00001208, 0x00004c13, 0x00001583, 0x06801c13, 0x000062b1,
+ 0x06000000, 0x000089b0, 0x06801c1a, 0x000060b0, 0x3840ac18, 0x0000c0b1,
+ 0x00001e04, 0x00007018, 0x0607f800, 0x00001980, 0x0600d018, 0x00009800,
+ 0x0600c0e5, 0x00009400, 0xffffffff, 0x00007f86, 0x06400200, 0x00007904,
+ 0x0607fa14, 0x0000e280, 0x0640c019, 0x00008200, 0x0680d018, 0x00001800,
+ 0x0680d019, 0x00001300, 0x1000d400, 0x0000f904, 0xc4c0171c, 0x00006283,
+ 0x04c00c13, 0x00000081, 0x1e0713ae, 0x00007113, 0x06000000, 0x00001980,
+ 0x1e0b193f, 0x0000f404, 0x0010a018, 0x00006986, 0x0780c018, 0x00009900,
+ 0x1e0d1c8d, 0x0000f300, 0x8610a214, 0x00001900, 0xee00c614, 0x00007902,
+ 0x07000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00001018, 0x00006c04,
+ 0xee38c614, 0x00002880, 0x85000a14, 0x00009080, 0x80068214, 0x00001582,
+ 0x06c00000, 0x00006191, 0x86002a14, 0x00004790, 0x8500fa14, 0x00006290,
+ 0x06a0c418, 0x00008911, 0x00001e41, 0x00007008, 0x0510a7e4, 0x00001800,
+ 0x0640a2ec, 0x00009100, 0x0020dc1a, 0x00001503, 0x00001e3e, 0x0000701b,
+ 0x00001c1b, 0x00009583, 0x0500700e, 0x00001908, 0x00001e33, 0x0000f009,
+ 0x00001c1b, 0x00009583, 0x00001e29, 0x0000701b, 0x00000c1b, 0x00001583,
+ 0x05008010, 0x00001908, 0x00001e33, 0x0000f009, 0x0000141b, 0x00001583,
+ 0x0500780f, 0x00001908, 0x00001e33, 0x0000f009, 0x00001e32, 0x00007000,
+ 0x00002c1b, 0x00009583, 0x0500600c, 0x00001908, 0x00001e33, 0x0000f009,
+ 0x00002c1b, 0x00009583, 0x0500680d, 0x00009928, 0x00001e33, 0x00007029,
+ 0x0000341b, 0x00009583, 0x0500580b, 0x00001908, 0x00001e33, 0x0000f009,
+ 0x05008811, 0x00009900, 0x0020dc1a, 0x00001503, 0x0500c814, 0x00001208,
+ 0xffffffff, 0x00007f86, 0x0500a014, 0x00001b00, 0x00072814, 0x00006502,
+ 0x0600a014, 0x00000900, 0x86c02c1b, 0x00001890, 0x8510c21b, 0x00009010,
+ 0x00001e3e, 0x0000f008, 0x90467a14, 0x0000f89b, 0x10c00000, 0x00008f82,
+ 0x06c00c1b, 0x00009081, 0x00003c1b, 0x00001583, 0x00001e1b, 0x00007013,
+ 0x853ff801, 0x00009980, 0x04800c12, 0x00009081, 0x74bffa14, 0x0000f893,
+ 0x00c00003, 0x00008080, 0x04209817, 0x0000e087, 0x08001aaa, 0x0000b106,
0x2a000000, 0x00007900, 0x000080c0, 0x00000980, 0xeab00600, 0x00006101,
- 0x8620980e, 0x00006087, 0x2b340800, 0x0000f900, 0x002f51f0, 0x00008980,
- 0x2b73c800, 0x0000f900, 0x00065644, 0x00008980, 0xaab81400, 0x00008a2c,
- 0x1ef31c90, 0x00007500, 0x2bb86f0c, 0x00000a3c, 0x2a409f0e, 0x00000aa1,
- 0x00000001, 0x0000f080, 0x848001e4, 0x000001b0, 0x057f2fe5, 0x00000118,
- 0x04800000, 0x0000e181, 0x05c728e5, 0x0000c900, 0x00001c12, 0x00009583,
- 0x05003807, 0x00001908, 0x00001f0f, 0x00007009, 0x00001c12, 0x00009583,
- 0x00001f04, 0x0000f01b, 0x00000c12, 0x00001583, 0x05002805, 0x00001908,
- 0x00001f0f, 0x00007009, 0x00001412, 0x00001583, 0x05003006, 0x00001908,
- 0x00001f0f, 0x00007009, 0x00001f0d, 0x0000f000, 0x00002c12, 0x00009583,
- 0x05004809, 0x00001908, 0x00001f0f, 0x00007009, 0x00002c12, 0x00009583,
- 0x05004008, 0x00009928, 0x00001f0f, 0x0000f029, 0x00003412, 0x00009583,
- 0x0500580b, 0x00001908, 0x00001f0f, 0x00007009, 0x05002004, 0x00009900,
- 0xffffffff, 0x00007f86, 0x04c0a014, 0x00009b00, 0x00072813, 0x0000e502,
- 0x05009813, 0x00000900, 0x04800c12, 0x00001089, 0x00001f16, 0x0000f011,
- 0xc6803c12, 0x0000f88b, 0xc0c00000, 0x00000f87, 0x84802c12, 0x00009880,
- 0x8510a212, 0x00001000, 0x80067a14, 0x00009582, 0x00001f1b, 0x00007033,
- 0x853ff801, 0x00009980, 0x84c00000, 0x000081ca, 0xe47ffa14, 0x0000f88b,
- 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86, 0xee00c614, 0x00007902,
- 0x07000000, 0x00008000, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x06003c18, 0x00001281, 0x00000c18, 0x00001583, 0x00002418, 0x00009593,
- 0x8640fa14, 0x0000e290, 0x86002a14, 0x00008790, 0x0650cfe4, 0x00009810,
- 0x00001f40, 0x00007008, 0x00000418, 0x00006583, 0x0640c8e5, 0x00000400,
- 0x04408819, 0x00001208, 0x00001f5e, 0x0000f009, 0x00000c18, 0x00001583,
- 0x04008019, 0x00001208, 0x00001f5e, 0x0000f009, 0x00001418, 0x00001583,
- 0x03c07819, 0x00001208, 0x00001f5e, 0x0000f009, 0x00001c18, 0x00009583,
- 0x03807019, 0x00001208, 0x00001f5e, 0x0000f009, 0x00002418, 0x00001583,
- 0x03406819, 0x00001208, 0x00001f5e, 0x0000f009, 0x00002c18, 0x00009583,
- 0x03006019, 0x00001208, 0x00001f5e, 0x0000f009, 0x00001f5e, 0x00007400,
- 0x00003418, 0x00009583, 0x02c05819, 0x00001208, 0x00004c13, 0x00001583,
- 0x06801c13, 0x000062b1, 0x06000000, 0x000089b0, 0x06801c1a, 0x000060b0,
- 0x3840ac18, 0x0000c0b1, 0x00001f50, 0x00007018, 0x0607f800, 0x00001980,
- 0x0600d018, 0x00009800, 0x0600c0e5, 0x00009400, 0xffffffff, 0x00007f86,
- 0x06400200, 0x00007904, 0x0607fa14, 0x0000e280, 0x0640c019, 0x00008200,
- 0x0680d018, 0x00001800, 0x0680d019, 0x00001300, 0x1000d400, 0x0000f904,
- 0xc4c0171c, 0x00006283, 0x04c00c13, 0x00000081, 0x1f530f78, 0x00007113,
- 0x06000000, 0x00001980, 0x1f571a8b, 0x00007404, 0x0010a018, 0x00006986,
- 0x0780c018, 0x00009900, 0x1f591dd9, 0x0000f300, 0x8610a214, 0x00001900,
- 0xee00c614, 0x00007902, 0x07000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x00001018, 0x00006c04, 0xee38c614, 0x00002880, 0x85000a14, 0x00009080,
- 0x80068214, 0x00001582, 0x06c00000, 0x00006191, 0x86002a14, 0x00004790,
- 0x8500fa14, 0x00006290, 0x06a0c418, 0x00008911, 0x00001f8d, 0x0000f008,
- 0x0510a7e4, 0x00001800, 0x0640a2ec, 0x00009100, 0x0020dc1a, 0x00001503,
- 0x00001f8a, 0x0000f01b, 0x00001c1b, 0x00009583, 0x0500700e, 0x00001908,
- 0x00001f7f, 0x0000f009, 0x00001c1b, 0x00009583, 0x00001f75, 0x0000f01b,
- 0x00000c1b, 0x00001583, 0x05008010, 0x00001908, 0x00001f7f, 0x0000f009,
- 0x0000141b, 0x00001583, 0x0500780f, 0x00001908, 0x00001f7f, 0x0000f009,
- 0x00001f7e, 0x00007000, 0x00002c1b, 0x00009583, 0x0500600c, 0x00001908,
- 0x00001f7f, 0x0000f009, 0x00002c1b, 0x00009583, 0x0500680d, 0x00009928,
- 0x00001f7f, 0x00007029, 0x0000341b, 0x00009583, 0x0500580b, 0x00001908,
- 0x00001f7f, 0x0000f009, 0x05008811, 0x00009900, 0x0020dc1a, 0x00001503,
- 0x0500c814, 0x00001208, 0xffffffff, 0x00007f86, 0x0600a014, 0x00001b00,
- 0x00072818, 0x00006502, 0x0500c018, 0x00000900, 0x86c02c1b, 0x00001890,
- 0x8510a21b, 0x00009010, 0x00001f8a, 0x00007008, 0xe3467a14, 0x0000789b,
- 0x70c00000, 0x00000f8c, 0x06c00c1b, 0x00009081, 0x00003c1b, 0x00001583,
- 0x00001f67, 0x00007013, 0x853ff801, 0x00009980, 0x04800c12, 0x00009081,
- 0xc7bffa14, 0x00007893, 0x00c00003, 0x00008080, 0x04209817, 0x0000e087,
+ 0x86209017, 0x00006087, 0x2b0c1800, 0x0000f900, 0x00198f26, 0x00000980,
+ 0x2b43c800, 0x0000f900, 0x003ec9b2, 0x00000980, 0xaab81400, 0x00008a2c,
+ 0x1e531b44, 0x0000f500, 0x2bb8b715, 0x00008a3c, 0x2a409717, 0x00000aa1,
+ 0x00000413, 0x00001583, 0xb9189312, 0x0000e108, 0x04c00000, 0x00004990,
+ 0x84e80500, 0x00006110, 0x05700004, 0x0000c990, 0x700040ec, 0x0000d690,
+ 0x00389d44, 0x00008008, 0x700000ec, 0x00005690, 0x00000000, 0x00008080,
+ 0xc550e21c, 0x00009910, 0x700000ec, 0x00005690, 0x00000000, 0x00008080,
+ 0x00000000, 0x0000f088, 0x700040ec, 0x00005680, 0x0038afc0, 0x00008078,
+ 0x00c002ec, 0x0000df80, 0x11d3200b, 0x00001684, 0xb9189312, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x827f29e4, 0x00000014,
+ 0x01bf2fe5, 0x0000801c, 0x04000000, 0x00001981, 0x00001c10, 0x00001583,
+ 0x0440700e, 0x00001908, 0x00001e81, 0x0000f009, 0x00001c10, 0x00001583,
+ 0x00001e76, 0x0000701b, 0x00000c10, 0x00009583, 0x04402004, 0x00001908,
+ 0x00001e81, 0x0000f009, 0x00001410, 0x00009583, 0x0440780f, 0x00001908,
+ 0x00001e81, 0x0000f009, 0x00001e7f, 0x00007000, 0x00002c10, 0x00001583,
+ 0x04404008, 0x00001908, 0x00001e81, 0x0000f009, 0x00002c10, 0x00001583,
+ 0x0440680d, 0x00009928, 0x00001e81, 0x00007029, 0x00003410, 0x00001583,
+ 0x0440600c, 0x00001908, 0x00001e81, 0x0000f009, 0x0440580b, 0x00009900,
+ 0xffffffff, 0x00007f86, 0x02808811, 0x00001b00, 0x0007280a, 0x00006502,
+ 0x0440500a, 0x00000900, 0x04000c10, 0x00001089, 0x00001e88, 0x0000f011,
+ 0xa3003c10, 0x0000f88b, 0x50c00000, 0x00008f83, 0x84002c10, 0x00009880,
+ 0x84508a10, 0x00009000, 0x80067a11, 0x00009582, 0x00001e8d, 0x0000f033,
+ 0x847ff801, 0x00009980, 0x04800000, 0x00009981, 0xbebffa11, 0x0000f88b,
+ 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86, 0xee008611, 0x0000f902,
+ 0x02800000, 0x00000000, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
+ 0x04c03c10, 0x00001281, 0x00000c13, 0x00009583, 0x8280fa11, 0x00006290,
+ 0x84002a11, 0x00000790, 0x029057e4, 0x00009810, 0x00001eb1, 0x00007008,
+ 0x00000410, 0x0000e583, 0x028050e5, 0x00000400, 0x02c0580a, 0x00009208,
+ 0x00001ec9, 0x0000f009, 0x00000c10, 0x00009583, 0x0100200a, 0x00009208,
+ 0x00001ec9, 0x0000f009, 0x00001410, 0x00009583, 0x03c0780a, 0x00009208,
+ 0x00001ec9, 0x0000f009, 0x00001c10, 0x00001583, 0x0380700a, 0x00009208,
+ 0x00001ec9, 0x0000f009, 0x00002410, 0x00009583, 0x0340680a, 0x00009208,
+ 0x00001ec9, 0x0000f009, 0x00002c10, 0x00001583, 0x0200400a, 0x00009208,
+ 0x00001ec9, 0x0000f009, 0x00001ec9, 0x00007400, 0x00003410, 0x00001583,
+ 0x0300600a, 0x00009208, 0x00004c12, 0x00009583, 0x05401c12, 0x0000e2b1,
+ 0x04c00000, 0x000009b0, 0x05401c15, 0x000060b0, 0x38402c13, 0x0000c0b1,
+ 0x00001ec1, 0x00007018, 0x04c7f800, 0x00009980, 0x04c0a813, 0x00009800,
+ 0x04c098e5, 0x00009400, 0xffffffff, 0x00007f86, 0x05000200, 0x0000f904,
+ 0x04c7fa11, 0x00006280, 0x05009814, 0x00000200, 0x0540a813, 0x00009800,
+ 0x0540a814, 0x00009300, 0x1000ac00, 0x0000f904, 0x04800c12, 0x00006081,
+ 0x00108813, 0x0000a186, 0x1ec61963, 0x00007404, 0x04104813, 0x0000e987,
+ 0x06409813, 0x00001900, 0x00002010, 0x0000ec04, 0xee388611, 0x00005000,
+ 0x00385000, 0x00008000, 0x84400a11, 0x00009080, 0x80068211, 0x00001582,
+ 0x82802a11, 0x00001790, 0x8440fa11, 0x00006290, 0x04e0540a, 0x00008911,
+ 0x00001efa, 0x00007008, 0x00000413, 0x0000e583, 0x02908fe4, 0x00008800,
+ 0x040052ec, 0x00006100, 0x04400000, 0x00000981, 0x00001ef7, 0x0000f019,
+ 0x00001c11, 0x00009583, 0x0280700e, 0x00001908, 0x00001eea, 0x00007009,
+ 0x00001c11, 0x00009583, 0x00001ee0, 0x0000701b, 0x00000c11, 0x00001583,
+ 0x02802004, 0x00001908, 0x00001eea, 0x00007009, 0x00001411, 0x00001583,
+ 0x0280780f, 0x00001908, 0x00001eea, 0x00007009, 0x00001ee9, 0x00007000,
+ 0x00002c11, 0x00009583, 0x02804008, 0x00001908, 0x00001eea, 0x00007009,
+ 0x00002c11, 0x00009583, 0x0280680d, 0x00009928, 0x00001eea, 0x0000f029,
+ 0x00003411, 0x00009583, 0x0280600c, 0x00001908, 0x00001eea, 0x00007009,
+ 0x0280580b, 0x00009900, 0x00208c13, 0x00001503, 0x0280800a, 0x00001208,
+ 0xffffffff, 0x00007f86, 0x0280500a, 0x00001b00, 0x0007280a, 0x00006502,
+ 0x0500500a, 0x00000900, 0x84402c11, 0x00001890, 0x8450a211, 0x00009010,
+ 0x00001ef7, 0x0000f008, 0xbe867a11, 0x0000f89b, 0x00c00001, 0x00008000,
+ 0xa43ffa11, 0x0000f893, 0xd0c00002, 0x00000f87, 0x04400c11, 0x00009081,
+ 0x00403c11, 0x0000c589, 0x7fe08813, 0x0000fd1e, 0x86209007, 0x0000e087,
0x08001aaa, 0x0000b106, 0x2a000000, 0x00007900, 0x000080c0, 0x00000980,
- 0xeab00600, 0x00006101, 0x86209017, 0x00006087, 0x2b0c1800, 0x0000f900,
- 0x00198f26, 0x00000980, 0x2b43c800, 0x0000f900, 0x003ec9b2, 0x00000980,
- 0xaab81400, 0x00008a2c, 0x1f9f1c90, 0x0000f500, 0x2bb8b715, 0x00008a3c,
- 0x2a409717, 0x00000aa1, 0x00000413, 0x00001583, 0xb9189312, 0x0000e108,
- 0x04c00000, 0x00004990, 0x84e80500, 0x00006110, 0x05700004, 0x0000c990,
- 0x700040ec, 0x0000d690, 0x00389d44, 0x00008008, 0x700000ec, 0x00005690,
- 0x00000000, 0x00008080, 0xc550e21c, 0x00009910, 0x700000ec, 0x00005690,
- 0x00000000, 0x00008080, 0x00000000, 0x0000f088, 0x700040ec, 0x00005680,
- 0x0038afc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x11dd800b, 0x00009684,
- 0xb9189312, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x843f29e4, 0x00008018, 0x01ff2fe5, 0x00000020, 0x02800000, 0x00009981,
- 0x00001c0a, 0x00009583, 0x04402004, 0x00001908, 0x00001fcd, 0x0000f009,
- 0x00001c0a, 0x00009583, 0x00001fc2, 0x0000f01b, 0x00000c0a, 0x00001583,
- 0x0440600c, 0x00001908, 0x00001fcd, 0x0000f009, 0x0000140a, 0x00001583,
- 0x04402805, 0x00001908, 0x00001fcd, 0x0000f009, 0x00001fcb, 0x0000f000,
- 0x00002c0a, 0x00009583, 0x0440700e, 0x00001908, 0x00001fcd, 0x0000f009,
- 0x00002c0a, 0x00009583, 0x0440780f, 0x00009928, 0x00001fcd, 0x00007029,
- 0x0000340a, 0x00009583, 0x0440580b, 0x00001908, 0x00001fcd, 0x0000f009,
- 0x0440680d, 0x00009900, 0xffffffff, 0x00007f86, 0x02408811, 0x00001b00,
- 0x00072809, 0x00006502, 0x04404809, 0x00000900, 0x02800c0a, 0x00001089,
- 0x00001fd4, 0x00007011, 0xf6003c0a, 0x0000788b, 0xb0c00000, 0x00008f8d,
- 0x82802c0a, 0x00009880, 0x84508a0a, 0x00001000, 0x80067a11, 0x00009582,
- 0x00001fd9, 0x0000f033, 0x847ff801, 0x00009980, 0x04800000, 0x00009981,
- 0x11bffa11, 0x0000788a, 0x01000003, 0x00000080, 0xffffffff, 0x00007f86,
- 0xee005611, 0x00007902, 0x02400000, 0x00000000, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x04c03c0a, 0x00009281, 0x00000c13, 0x00009583,
- 0x8240fa11, 0x00006290, 0x82802a11, 0x00008790, 0x02504fe4, 0x00009810,
- 0x00001ffd, 0x00007008, 0x0000040a, 0x00006583, 0x024048e5, 0x00000400,
- 0x03406809, 0x00009208, 0x00002015, 0x0000f009, 0x00000c0a, 0x00001583,
- 0x03006009, 0x00009208, 0x00002015, 0x0000f009, 0x0000140a, 0x00001583,
- 0x01402809, 0x00009208, 0x00002015, 0x0000f009, 0x00001c0a, 0x00009583,
- 0x01002009, 0x00009208, 0x00002015, 0x0000f009, 0x0000240a, 0x00001583,
- 0x03c07809, 0x00009208, 0x00002015, 0x0000f009, 0x00002c0a, 0x00009583,
- 0x03807009, 0x00009208, 0x00002015, 0x0000f009, 0x00002015, 0x00007400,
- 0x0000340a, 0x00009583, 0x02c05809, 0x00009208, 0x00004c12, 0x00009583,
- 0x05401c12, 0x0000e2b1, 0x04c00000, 0x000009b0, 0x05401c15, 0x000060b0,
- 0x38403413, 0x0000c0b1, 0x0000200d, 0x0000f018, 0x04c7f800, 0x00009980,
- 0x04c0a813, 0x00009800, 0x04c098e5, 0x00009400, 0xffffffff, 0x00007f86,
- 0x05000200, 0x0000f904, 0x04c7fa11, 0x00006280, 0x05009814, 0x00000200,
- 0x0540a813, 0x00009800, 0x0540a814, 0x00009300, 0x1000ac00, 0x0000f904,
- 0x04800c12, 0x00006081, 0x00108813, 0x0000a186, 0x20121aaf, 0x0000f404,
- 0x04108013, 0x00006987, 0x06409813, 0x00001900, 0x0000200a, 0x00006c04,
- 0xee385611, 0x0000d000, 0x00384800, 0x00008000, 0x84400a11, 0x00009080,
- 0x80068211, 0x00001582, 0x82402a11, 0x00001790, 0x8440fa11, 0x00006290,
- 0x02a04c09, 0x00000911, 0x00002046, 0x00007008, 0x0000040a, 0x00006583,
- 0x02508fe4, 0x00008800, 0x02404aec, 0x0000e100, 0x04400000, 0x00000981,
- 0x00002043, 0x00007019, 0x00001c11, 0x00009583, 0x04c02004, 0x00009908,
- 0x00002036, 0x00007009, 0x00001c11, 0x00009583, 0x0000202c, 0x0000f01b,
- 0x00000c11, 0x00001583, 0x04c0600c, 0x00009908, 0x00002036, 0x00007009,
- 0x00001411, 0x00001583, 0x04c02805, 0x00009908, 0x00002036, 0x00007009,
- 0x00002035, 0x00007000, 0x00002c11, 0x00009583, 0x04c0700e, 0x00009908,
- 0x00002036, 0x00007009, 0x00002c11, 0x00009583, 0x04c0780f, 0x00001928,
- 0x00002036, 0x0000f029, 0x00003411, 0x00009583, 0x04c0580b, 0x00009908,
- 0x00002036, 0x00007009, 0x04c0680d, 0x00001900, 0x00208c0a, 0x00009503,
- 0x04c04813, 0x00009208, 0xffffffff, 0x00007f86, 0x04c09813, 0x00009b00,
- 0x00072813, 0x0000e502, 0x05009813, 0x00000900, 0x84402c11, 0x00001890,
- 0x8450a211, 0x00009010, 0x00002043, 0x00007008, 0x11867a11, 0x0000789a,
- 0x01000001, 0x00000000, 0xf73ffa11, 0x0000f893, 0x30c00002, 0x00001082,
- 0x04400c11, 0x00009081, 0x00403c11, 0x0000c589, 0x7fe0880a, 0x00007d1e,
- 0x86209008, 0x0000e087, 0x08001aaa, 0x0000b106, 0x2a000000, 0x00007900,
- 0x000080c0, 0x00000980, 0x2b133000, 0x00007900, 0x00198f26, 0x00000980,
- 0x2b7b4800, 0x0000f900, 0x00007fea, 0x00008980, 0xaaa00500, 0x00008a2a,
- 0x2af83702, 0x00008a38, 0x20531c90, 0x0000f500, 0x2bf84707, 0x00000a24,
- 0xaa00a800, 0x00009980, 0xb9188310, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x01000000, 0x00009980, 0x01400000, 0x00001980,
- 0x01800000, 0x00001980, 0x01c00000, 0x00009980, 0x02000000, 0x00009980,
- 0x02400000, 0x00001980, 0x02800000, 0x00001980, 0x02c00000, 0x00009980,
- 0x03000000, 0x00001980, 0x03400000, 0x00009980, 0x03800000, 0x00009980,
- 0x03c00000, 0x00001980, 0x04000000, 0x00009980, 0x04400000, 0x00001980,
- 0x04800000, 0x00001980, 0x04c00000, 0x00009980, 0x05000000, 0x00001980,
- 0x05400000, 0x00009980, 0x05800000, 0x00009980, 0x05c00000, 0x00001980,
- 0x06000000, 0x00001980, 0x06400000, 0x00009980, 0x06800000, 0x00009980,
- 0x06c00000, 0x00001980, 0x07000000, 0x00009980, 0x07400000, 0x00001980,
- 0x07800000, 0x00001980, 0x07c00000, 0x00009980, 0x08000000, 0x00009980,
- 0x08400000, 0x00001980, 0x08800000, 0x00001980, 0x08c00000, 0x00009980,
- 0x09000000, 0x00001980, 0x09400000, 0x00009980, 0x09800000, 0x00009980,
- 0x09c00000, 0x00001980, 0x0a000000, 0x00001980, 0x0a400000, 0x00009980,
- 0x0a800000, 0x00009980, 0x0ac00000, 0x00001980, 0x0b000000, 0x00009980,
- 0x0b400000, 0x00001980, 0x0b800000, 0x00001980, 0x0bc00000, 0x00009980,
- 0x0c000000, 0x00001980, 0x0c400000, 0x00009980, 0x0c800000, 0x00009980,
- 0x0cc00000, 0x00001980, 0x0d000000, 0x00009980, 0x0d400000, 0x00001980,
- 0x0d800000, 0x00001980, 0x0dc00000, 0x00009980, 0x0e000000, 0x00009980,
- 0x0e400000, 0x00001980, 0x0e800000, 0x00001980, 0x0ec00000, 0x00009980,
- 0x0f000000, 0x00001980, 0x0f400000, 0x00009980, 0x0f800000, 0x00009980,
- 0x0fc00000, 0x00001980, 0x10000000, 0x00009980, 0x10400000, 0x00001980,
- 0x10800000, 0x00001980, 0x10c00000, 0x00009980, 0x11000000, 0x00001980,
- 0x11400000, 0x00009980, 0x11800000, 0x00009980, 0x11c00000, 0x00001980,
- 0x12000000, 0x00001980, 0x12400000, 0x00009980, 0x12800000, 0x00009980,
- 0x12c00000, 0x00001980, 0x13000000, 0x00009980, 0x13400000, 0x00001980,
- 0x13800000, 0x00001980, 0x13c00000, 0x00009980, 0x14000000, 0x00001980,
- 0x14400000, 0x00009980, 0x14800000, 0x00009980, 0x14c00000, 0x00001980,
- 0x15000000, 0x00009980, 0x15400000, 0x00001980, 0x15800000, 0x00001980,
- 0x15c00000, 0x00009980, 0x16000000, 0x00009980, 0x16400000, 0x00001980,
- 0x16800000, 0x00001980, 0x16c00000, 0x00009980, 0x17000000, 0x00001980,
- 0x17400000, 0x00009980, 0x17800000, 0x00009980, 0x17c00000, 0x00001980,
- 0x18000000, 0x00001980, 0x18400000, 0x00009980, 0x18800000, 0x00009980,
- 0x18c00000, 0x00001980, 0x19000000, 0x00009980, 0x19400000, 0x00001980,
- 0x19800000, 0x00001980, 0x19c00000, 0x00009980, 0x1a000000, 0x00009980,
- 0x1a400000, 0x00001980, 0x1a800000, 0x00001980, 0x1ac00000, 0x00009980,
- 0x1b000000, 0x00001980, 0x1b400000, 0x00009980, 0x1b800000, 0x00009980,
- 0x1bc00000, 0x00001980, 0x1c000000, 0x00009980, 0x1c400000, 0x00001980,
- 0x1c800000, 0x00001980, 0x1cc00000, 0x00009980, 0x1d000000, 0x00001980,
- 0x1d400000, 0x00009980, 0x1d800000, 0x00009980, 0x1dc00000, 0x00001980,
- 0x1e000000, 0x00001980, 0x1e400000, 0x00009980, 0x1e800000, 0x00009980,
- 0x1ec00000, 0x00001980, 0x1f000000, 0x00009980, 0x1f400000, 0x00001980,
- 0x1f800000, 0x00001980, 0x1fc00000, 0x00009980, 0x20000000, 0x00009980,
- 0x20400000, 0x00001980, 0x20800000, 0x00001980, 0x20c00000, 0x00009980,
- 0x21000000, 0x00001980, 0x21400000, 0x00009980, 0x21800000, 0x00009980,
- 0x21c00000, 0x00001980, 0x22000000, 0x00001980, 0x22400000, 0x00009980,
- 0x22800000, 0x00009980, 0x22c00000, 0x00001980, 0x23000000, 0x00009980,
- 0x23400000, 0x00001980, 0x23800000, 0x00001980, 0x23c00000, 0x00009980,
- 0x24000000, 0x00001980, 0x24400000, 0x00009980, 0x24800000, 0x00009980,
- 0x24c00000, 0x00001980, 0x25000000, 0x00009980, 0x25400000, 0x00001980,
- 0x25800000, 0x00001980, 0x25c00000, 0x00009980, 0x26000000, 0x00009980,
- 0x26400000, 0x00001980, 0x26800000, 0x00001980, 0x26c00000, 0x00009980,
- 0x27000000, 0x00001980, 0x27400000, 0x00009980, 0x27800000, 0x00009980,
- 0x27c00000, 0x00001980, 0x28000000, 0x00001980, 0x28400000, 0x00009980,
- 0x28800000, 0x00009980, 0x28c00000, 0x00001980, 0x29000000, 0x00009980,
- 0x29400000, 0x00001980, 0x29800000, 0x00001980, 0x29c00000, 0x00009980,
- 0x2a000000, 0x00009980, 0x2a400000, 0x00001980, 0x2a800000, 0x00001980,
- 0x2ac00000, 0x00009980, 0x2b000000, 0x00001980, 0x2b400000, 0x00009980,
- 0x2b800000, 0x00009980, 0x2bc00000, 0x00001980, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x2b133000, 0x00007900, 0x00198f26, 0x00000980, 0x2b7b4800, 0x0000f900,
+ 0x00007fea, 0x00008980, 0xaaa00500, 0x00008a2a, 0x2af82f02, 0x00008a38,
+ 0x1f071b44, 0x0000f500, 0x2bf83f06, 0x00008a24, 0xaa00a800, 0x00009980,
+ 0xb9184b09, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x01000000, 0x00009980, 0x01400000, 0x00001980, 0x01800000, 0x00001980,
+ 0x01c00000, 0x00009980, 0x02000000, 0x00009980, 0x02400000, 0x00001980,
+ 0x02800000, 0x00001980, 0x02c00000, 0x00009980, 0x03000000, 0x00001980,
+ 0x03400000, 0x00009980, 0x03800000, 0x00009980, 0x03c00000, 0x00001980,
+ 0x04000000, 0x00009980, 0x04400000, 0x00001980, 0x04800000, 0x00001980,
+ 0x04c00000, 0x00009980, 0x05000000, 0x00001980, 0x05400000, 0x00009980,
+ 0x05800000, 0x00009980, 0x05c00000, 0x00001980, 0x06000000, 0x00001980,
+ 0x06400000, 0x00009980, 0x06800000, 0x00009980, 0x06c00000, 0x00001980,
+ 0x07000000, 0x00009980, 0x07400000, 0x00001980, 0x07800000, 0x00001980,
+ 0x07c00000, 0x00009980, 0x08000000, 0x00009980, 0x08400000, 0x00001980,
+ 0x08800000, 0x00001980, 0x08c00000, 0x00009980, 0x09000000, 0x00001980,
+ 0x09400000, 0x00009980, 0x09800000, 0x00009980, 0x09c00000, 0x00001980,
+ 0x0a000000, 0x00001980, 0x0a400000, 0x00009980, 0x0a800000, 0x00009980,
+ 0x0ac00000, 0x00001980, 0x0b000000, 0x00009980, 0x0b400000, 0x00001980,
+ 0x0b800000, 0x00001980, 0x0bc00000, 0x00009980, 0x0c000000, 0x00001980,
+ 0x0c400000, 0x00009980, 0x0c800000, 0x00009980, 0x0cc00000, 0x00001980,
+ 0x0d000000, 0x00009980, 0x0d400000, 0x00001980, 0x0d800000, 0x00001980,
+ 0x0dc00000, 0x00009980, 0x0e000000, 0x00009980, 0x0e400000, 0x00001980,
+ 0x0e800000, 0x00001980, 0x0ec00000, 0x00009980, 0x0f000000, 0x00001980,
+ 0x0f400000, 0x00009980, 0x0f800000, 0x00009980, 0x0fc00000, 0x00001980,
+ 0x10000000, 0x00009980, 0x10400000, 0x00001980, 0x10800000, 0x00001980,
+ 0x10c00000, 0x00009980, 0x11000000, 0x00001980, 0x11400000, 0x00009980,
+ 0x11800000, 0x00009980, 0x11c00000, 0x00001980, 0x12000000, 0x00001980,
+ 0x12400000, 0x00009980, 0x12800000, 0x00009980, 0x12c00000, 0x00001980,
+ 0x13000000, 0x00009980, 0x13400000, 0x00001980, 0x13800000, 0x00001980,
+ 0x13c00000, 0x00009980, 0x14000000, 0x00001980, 0x14400000, 0x00009980,
+ 0x14800000, 0x00009980, 0x14c00000, 0x00001980, 0x15000000, 0x00009980,
+ 0x15400000, 0x00001980, 0x15800000, 0x00001980, 0x15c00000, 0x00009980,
+ 0x16000000, 0x00009980, 0x16400000, 0x00001980, 0x16800000, 0x00001980,
+ 0x16c00000, 0x00009980, 0x17000000, 0x00001980, 0x17400000, 0x00009980,
+ 0x17800000, 0x00009980, 0x17c00000, 0x00001980, 0x18000000, 0x00001980,
+ 0x18400000, 0x00009980, 0x18800000, 0x00009980, 0x18c00000, 0x00001980,
+ 0x19000000, 0x00009980, 0x19400000, 0x00001980, 0x19800000, 0x00001980,
+ 0x19c00000, 0x00009980, 0x1a000000, 0x00009980, 0x1a400000, 0x00001980,
+ 0x1a800000, 0x00001980, 0x1ac00000, 0x00009980, 0x1b000000, 0x00001980,
+ 0x1b400000, 0x00009980, 0x1b800000, 0x00009980, 0x1bc00000, 0x00001980,
+ 0x1c000000, 0x00009980, 0x1c400000, 0x00001980, 0x1c800000, 0x00001980,
+ 0x1cc00000, 0x00009980, 0x1d000000, 0x00001980, 0x1d400000, 0x00009980,
+ 0x1d800000, 0x00009980, 0x1dc00000, 0x00001980, 0x1e000000, 0x00001980,
+ 0x1e400000, 0x00009980, 0x1e800000, 0x00009980, 0x1ec00000, 0x00001980,
+ 0x1f000000, 0x00009980, 0x1f400000, 0x00001980, 0x1f800000, 0x00001980,
+ 0x1fc00000, 0x00009980, 0x20000000, 0x00009980, 0x20400000, 0x00001980,
+ 0x20800000, 0x00001980, 0x20c00000, 0x00009980, 0x21000000, 0x00001980,
+ 0x21400000, 0x00009980, 0x21800000, 0x00009980, 0x21c00000, 0x00001980,
+ 0x22000000, 0x00001980, 0x22400000, 0x00009980, 0x22800000, 0x00009980,
+ 0x22c00000, 0x00001980, 0x23000000, 0x00009980, 0x23400000, 0x00001980,
+ 0x23800000, 0x00001980, 0x23c00000, 0x00009980, 0x24000000, 0x00001980,
+ 0x24400000, 0x00009980, 0x24800000, 0x00009980, 0x24c00000, 0x00001980,
+ 0x25000000, 0x00009980, 0x25400000, 0x00001980, 0x25800000, 0x00001980,
+ 0x25c00000, 0x00009980, 0x26000000, 0x00009980, 0x26400000, 0x00001980,
+ 0x26800000, 0x00001980, 0x26c00000, 0x00009980, 0x27000000, 0x00001980,
+ 0x27400000, 0x00009980, 0x27800000, 0x00009980, 0x27c00000, 0x00001980,
+ 0x28000000, 0x00001980, 0x28400000, 0x00009980, 0x28800000, 0x00009980,
+ 0x28c00000, 0x00001980, 0x29000000, 0x00009980, 0x29400000, 0x00001980,
+ 0x29800000, 0x00001980, 0x29c00000, 0x00009980, 0x2a000000, 0x00009980,
+ 0x2a400000, 0x00001980, 0x2a800000, 0x00001980, 0x2ac00000, 0x00009980,
+ 0x2b000000, 0x00001980, 0x2b400000, 0x00009980, 0x2b800000, 0x00009980,
+ 0x2bc00000, 0x00001980, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x12000ce0, 0x0000e283, 0x13400000, 0x00000981, 0x823a46ec, 0x00002694,
- 0x13b71fe4, 0x00009810, 0x00000001, 0x00007088, 0x00000001, 0x0000f481,
- 0x1202404e, 0x00009202, 0x13400800, 0x00009991, 0x13c00000, 0x00007900,
- 0x000010c4, 0x00008980, 0x93402d00, 0x00006080, 0x001a804f, 0x00006106,
- 0x93a80500, 0x00006100, 0xd3b80a4d, 0x0000c080, 0x13400004, 0x0000e180,
- 0x965722e4, 0x00004900, 0x703a78ec, 0x00005600, 0x003a7000, 0x00008000,
- 0x13c24048, 0x00006100, 0x8222804d, 0x00006080, 0x13800000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x0417104d, 0x0000e187, 0x001a804e, 0x00003186,
- 0x703a78ec, 0x00005600, 0x003a8800, 0x00000000, 0x703a70ec, 0x0000d600,
- 0x003a6800, 0x00008000, 0x92402d00, 0x00009880, 0x00c002ec, 0x0000df80,
- 0x1209880b, 0x00001684, 0x21322104, 0x00007100, 0xb912ca59, 0x00001900,
- 0x12226c4d, 0x00001901, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083,
- 0x603a48ec, 0x0000a080, 0x02e07fe4, 0x00009800, 0xffffffff, 0x00007f97,
- 0x02c2480b, 0x00001202, 0x2a000000, 0x0000f910, 0x000080c0, 0x00000980,
- 0xaa001800, 0x0000e190, 0xeab00600, 0x0000c911, 0x00000001, 0x00007088,
- 0x2b190000, 0x00007900, 0x0019b31e, 0x00008980, 0x2b57f800, 0x0000f900,
- 0x0019b31e, 0x00008980, 0xaaa80500, 0x0000e101, 0x08001aaa, 0x0000e106,
- 0x00001c90, 0x0000f400, 0x2af87f02, 0x00008a38, 0x2a78770d, 0x00000a3c,
- 0x02800000, 0x00009981, 0x00001c0a, 0x00009583, 0x02c03807, 0x00009908,
- 0x0000215d, 0x00007009, 0x00001c0a, 0x00009583, 0x00002155, 0x0000f01b,
- 0x00000c0a, 0x00001583, 0x02c02805, 0x00009908, 0x0000215d, 0x00007009,
- 0x0000140a, 0x00001583, 0x02c03006, 0x00009908, 0x0000215d, 0x00007009,
- 0x0000215b, 0x00007000, 0x0000240a, 0x00001583, 0x02c04008, 0x00009908,
- 0x0000215d, 0x00007009, 0x00002c0a, 0x00009583, 0x02c04809, 0x00009908,
- 0x0000215d, 0x00007009, 0x02c02004, 0x00001900, 0xffffffff, 0x00007f86,
- 0x02c0580b, 0x00009b00, 0x0007280b, 0x0000e502, 0x0340580b, 0x00008900,
- 0x02800c0a, 0x00001089, 0x00002164, 0x00007011, 0x5a00340a, 0x0000788a,
- 0x49000000, 0x0000908a, 0x82c02c0a, 0x00001880, 0x83506a0b, 0x00009000,
- 0x8005fa0d, 0x00009582, 0x00002210, 0x00007033, 0x837ff801, 0x00001980,
- 0x84fffa0d, 0x0000788a, 0x01000003, 0x00000080, 0x82c01a0d, 0x0000e080,
- 0x0300840d, 0x00004081, 0x82a0640c, 0x00001900, 0xee38a60a, 0x0000a080,
- 0x0900880b, 0x0000f902, 0x04000000, 0x00000004, 0x09387a0b, 0x00002084,
- 0xffffffff, 0x00007f86, 0x82a8a514, 0x00001900, 0xee009e0a, 0x0000f902,
- 0x04800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x02803c13, 0x00009281,
- 0x00000c0a, 0x00001583, 0x02c00000, 0x0000f910, 0x0000c000, 0x00008980,
- 0x82e8a514, 0x0000e111, 0x82d06a0d, 0x00004910, 0x000021a3, 0x00007008,
- 0x2a000000, 0x00007900, 0x00008080, 0x00008980, 0x2b04e800, 0x00007900,
- 0x00306c40, 0x00000980, 0x2b7cb800, 0x00007900, 0x00189f78, 0x00008980,
- 0x2bc00000, 0x00006180, 0x08001aaa, 0x0000e106, 0x2a400000, 0x00006180,
- 0xeab00600, 0x00004901, 0x218c1c90, 0x0000f500, 0xaab81400, 0x00008a2c,
- 0xaa00b800, 0x00006180, 0x2b80580b, 0x00004900, 0x82c00a0d, 0x00009080,
- 0x8006020b, 0x00001582, 0x82802a0b, 0x00009790, 0x82c0fa0b, 0x00006290,
- 0x0320540a, 0x00000911, 0x00002213, 0x0000f008, 0x0000040c, 0x00006583,
- 0x02905fe4, 0x00000800, 0x02800000, 0x0000e181, 0x02c052ec, 0x0000c100,
- 0x0000220d, 0x0000f019, 0x00001c0a, 0x00009583, 0x03403807, 0x00009908,
- 0x00002200, 0x0000f009, 0x00001c0a, 0x00009583, 0x000021f9, 0x0000f01b,
- 0x00000c0a, 0x00001583, 0x03402805, 0x00009908, 0x00002200, 0x0000f009,
- 0x0000140a, 0x00001583, 0x03403006, 0x00009908, 0x00002200, 0x0000f009,
- 0x000021ff, 0x0000f000, 0x00007c0c, 0x00006583, 0xf8c0840d, 0x00000081,
- 0x0000040f, 0x00006583, 0xb8e8a514, 0x00008901, 0x0900020b, 0x00005096,
- 0x00400000, 0x00008000, 0x82a06c0d, 0x00009910, 0x000021df, 0x0000f008,
- 0x1600580a, 0x00007902, 0x02800000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x0000000b, 0x00001582, 0x0000040a, 0x00009583, 0xffffffff, 0x00007f86,
- 0x000021b3, 0x0000f008, 0x000021cd, 0x0000f010, 0x82a06c0d, 0x00001900,
- 0x1638580a, 0x00002000, 0xffffffff, 0x00007fa7, 0x0000040b, 0x00001583,
- 0x02c00000, 0x0000e191, 0x2bc00000, 0x0000c990, 0x1638580a, 0x00002810,
- 0x0000218c, 0x0000f008, 0x02c00000, 0x00007900, 0x00004000, 0x00000980,
- 0x0428a00b, 0x00006087, 0x08001aaa, 0x0000b106, 0x2a000000, 0x00007900,
- 0x00008080, 0x00008980, 0x82c7fa0d, 0x00006280, 0x2a400000, 0x00008980,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x12000ce0, 0x0000e283,
+ 0x13400000, 0x00000981, 0x823a46ec, 0x00002694, 0x13b71fe4, 0x00009810,
+ 0x00000001, 0x00007088, 0x00000001, 0x0000f481, 0x1202404e, 0x00009202,
+ 0x13400800, 0x00009991, 0x13c00000, 0x00007900, 0x000010c4, 0x00008980,
+ 0x93402d00, 0x00006080, 0x001a804f, 0x00006106, 0x93a80500, 0x00006100,
+ 0xd3b80a4d, 0x0000c080, 0x13400004, 0x0000e180, 0x965722e4, 0x00004900,
+ 0x703a78ec, 0x00005600, 0x003a7000, 0x00008000, 0x13c24048, 0x00006100,
+ 0x8222804d, 0x00006080, 0x13800000, 0x0000f900, 0x00007fc0, 0x00000980,
+ 0x0417104d, 0x0000e187, 0x001a804e, 0x00003186, 0x703a78ec, 0x00005600,
+ 0x003a8800, 0x00000000, 0x703a70ec, 0x0000d600, 0x003a6800, 0x00008000,
+ 0x92402d00, 0x00009880, 0x00c002ec, 0x0000df80, 0x11df280b, 0x00009684,
+ 0x1fe61fb8, 0x0000f100, 0xb912ca59, 0x00001900, 0x12226c4d, 0x00001901,
+ 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x603a50ec, 0x0000a080,
+ 0x03224fe4, 0x00009800, 0xffffffff, 0x00007f97, 0x0302500c, 0x00001202,
+ 0x2a000000, 0x0000f910, 0x000080c0, 0x00000980, 0xaa001800, 0x0000e190,
+ 0xeab00600, 0x0000c911, 0x00000001, 0x00007088, 0x2b190000, 0x00007900,
+ 0x0019b31e, 0x00008980, 0x2b57f800, 0x0000f900, 0x0019b31e, 0x00008980,
+ 0xaaa80500, 0x0000e101, 0x08001aaa, 0x0000e106, 0x00001b44, 0x00007400,
+ 0x2afa4f02, 0x00000a38, 0x2a787f0e, 0x00008a3c, 0x02c00000, 0x00001981,
+ 0x00001c0b, 0x00001583, 0x02803807, 0x00001908, 0x00002011, 0x00007009,
+ 0x00001c0b, 0x00001583, 0x00002009, 0x0000701b, 0x00000c0b, 0x00009583,
+ 0x02802805, 0x00001908, 0x00002011, 0x00007009, 0x0000140b, 0x00009583,
+ 0x02803006, 0x00001908, 0x00002011, 0x00007009, 0x0000200f, 0x00007000,
+ 0x0000240b, 0x00009583, 0x02804008, 0x00001908, 0x00002011, 0x00007009,
+ 0x00002c0b, 0x00001583, 0x02804809, 0x00001908, 0x00002011, 0x00007009,
+ 0x02802004, 0x00009900, 0xffffffff, 0x00007f86, 0x0300500a, 0x00001b00,
+ 0x0007280c, 0x00006502, 0x0280600c, 0x00000900, 0x02c00c0b, 0x00001089,
+ 0x00002018, 0x00007011, 0x0700340b, 0x0000788a, 0xe9000000, 0x00000f8f,
+ 0x83002c0b, 0x00001880, 0x8290520c, 0x00001000, 0x8005fa0a, 0x00001582,
+ 0x000020c3, 0x00007033, 0x82bff801, 0x00009980, 0x31bffa0a, 0x0000f88a,
+ 0x01000003, 0x00000080, 0x83001a0a, 0x0000e080, 0x0340840a, 0x00004081,
+ 0x82e06c0d, 0x00009900, 0xee38a60b, 0x00002080, 0x0900880c, 0x00007902,
+ 0x04000000, 0x00000004, 0x09387a0c, 0x0000a084, 0xffffffff, 0x00007f86,
+ 0x82e8a514, 0x00009900, 0xee009e0b, 0x00007902, 0x04800000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x02c03c13, 0x00001281, 0x00000c0b, 0x00009583,
+ 0x03000000, 0x00007910, 0x0000c000, 0x00008980, 0x8328a514, 0x00006111,
+ 0x8310520a, 0x0000c910, 0x00002057, 0x00007008, 0x2a000000, 0x00007900,
+ 0x00008080, 0x00008980, 0x2b04e800, 0x00007900, 0x00306c40, 0x00000980,
+ 0x2b7cb800, 0x00007900, 0x00189f78, 0x00008980, 0x2bc00000, 0x00006180,
+ 0x08001aaa, 0x0000e106, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
+ 0x20401b44, 0x0000f500, 0xaab81400, 0x00008a2c, 0xaa00b800, 0x00006180,
+ 0x2b80600c, 0x00004900, 0x83000a0a, 0x00009080, 0x8006020c, 0x00009582,
+ 0x82c02a0c, 0x00009790, 0x8300fa0c, 0x00006290, 0x03605c0b, 0x00008911,
+ 0x000020c6, 0x0000f008, 0x0000040d, 0x0000e583, 0x02d067e4, 0x00000800,
+ 0x02c00000, 0x00006181, 0x03005aec, 0x0000c100, 0x000020c0, 0x0000f019,
+ 0x00001c0b, 0x00001583, 0x02803807, 0x00001908, 0x000020b3, 0x0000f009,
+ 0x00001c0b, 0x00001583, 0x000020ac, 0x0000701b, 0x00000c0b, 0x00009583,
+ 0x02802805, 0x00001908, 0x000020b3, 0x0000f009, 0x0000140b, 0x00009583,
+ 0x02803006, 0x00001908, 0x000020b3, 0x0000f009, 0x000020b2, 0x00007000,
+ 0x00007c0d, 0x0000e583, 0xf8c0840a, 0x00008081, 0x0000040f, 0x00006583,
+ 0xb8e8a514, 0x00008901, 0x0900020c, 0x0000d096, 0x00400000, 0x00008000,
+ 0x82e0540a, 0x00001910, 0x00002092, 0x00007008, 0x1638600b, 0x00003038,
+ 0xffffffff, 0x00007fa7, 0x0000000c, 0x00009582, 0x0000040d, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x00002066, 0x0000f008, 0x00002080, 0x00007010,
+ 0x82e0540a, 0x00009900, 0x1638600b, 0x00002000, 0xffffffff, 0x00007fa7,
+ 0x0000040c, 0x00009583, 0x03000000, 0x00006191, 0x2bc00000, 0x0000c990,
+ 0x1638600b, 0x00002810, 0x00002040, 0x00007008, 0x03000000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x0428a00c, 0x0000e087, 0x08001aaa, 0x0000b106,
+ 0x2a000000, 0x00007900, 0x00008080, 0x00008980, 0x8307fa0a, 0x00006280,
+ 0x2a400000, 0x00008980, 0x2b261800, 0x00007900, 0x00306c40, 0x00000980,
+ 0x2b7cb800, 0x00007900, 0x00189f78, 0x00008980, 0xaaa00500, 0x00008a2a,
+ 0x207e1b44, 0x00007500, 0x2ac0bf02, 0x00000aa1, 0x2b80600c, 0x00001900,
+ 0x000020ab, 0x00007200, 0x03400800, 0x00001980, 0xc300050a, 0x00000a9c,
+ 0x1600000c, 0x00005080, 0x00400000, 0x00008000, 0x1638680c, 0x0000a800,
+ 0x03400000, 0x00007900, 0x00004000, 0x00000980, 0x8347fa0a, 0x0000e280,
+ 0x29000000, 0x00000980, 0x29400000, 0x00000ad8, 0x3ba04000, 0x00006180,
+ 0x39c08811, 0x0000c900, 0x39a08710, 0x000084a1, 0x2040220a, 0x0000f404,
+ 0x17c00000, 0x0000e181, 0x92909212, 0x0000c900, 0x3b40680d, 0x0000e100,
+ 0x53000d14, 0x0000c881, 0x00002040, 0x0000f000, 0x8320540a, 0x00001900,
+ 0x1638580c, 0x00002000, 0xffffffff, 0x00007fa7, 0x0000040b, 0x00001583,
+ 0x02e07c0f, 0x00006111, 0x2bc00000, 0x0000c990, 0x1638580c, 0x00002810,
+ 0x00002040, 0x00007008, 0x03000000, 0x0000f900, 0x00008000, 0x00000980,
+ 0x0428a00c, 0x0000e087, 0x08001aaa, 0x0000b106, 0x2a000000, 0x00007900,
+ 0x00008080, 0x00008980, 0x8307fa0a, 0x00006280, 0x2a400000, 0x00008980,
0x2b261800, 0x00007900, 0x00306c40, 0x00000980, 0x2b7cb800, 0x00007900,
- 0x00189f78, 0x00008980, 0xaaa00500, 0x00008a2a, 0x21cb1c90, 0x0000f500,
- 0x2ac0bf02, 0x00000aa1, 0x2b80580b, 0x00001900, 0x000021f8, 0x0000f200,
- 0x03000800, 0x00009980, 0x03000000, 0x0000f900, 0x00004000, 0x00000980,
- 0x82e06c0d, 0x0000e100, 0x8307fa0d, 0x00004280, 0x1600000b, 0x0000d080,
- 0x00400000, 0x00008000, 0x1638500b, 0x0000a800, 0x29c00000, 0x00000ad0,
- 0x29400000, 0x00000ad8, 0x3ba04000, 0x00006180, 0x39c08811, 0x0000c900,
- 0x39a08710, 0x000084a1, 0x218c2357, 0x00007404, 0x1bc00000, 0x0000e181,
- 0xdbd09212, 0x0000c900, 0x3b40600c, 0x0000e100, 0x53000d14, 0x0000c881,
- 0x0000218c, 0x00007000, 0x82e06c0d, 0x00009900, 0x1638500b, 0x00002000,
- 0xffffffff, 0x00007fa7, 0x0000040a, 0x00009583, 0x02a07c0f, 0x0000e111,
- 0x2bc00000, 0x0000c990, 0x1638500b, 0x00002810, 0x0000218c, 0x0000f008,
- 0x02c00000, 0x00007900, 0x00008000, 0x00000980, 0x0428a00b, 0x00006087,
- 0x08001aaa, 0x0000b106, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
- 0x82c7fa0d, 0x00006280, 0x2a400000, 0x00008980, 0x2b261800, 0x00007900,
- 0x00306c40, 0x00000980, 0x2b7cb800, 0x00007900, 0x00189f78, 0x00008980,
- 0xaaa00500, 0x00008a2a, 0x21f71c90, 0x0000f500, 0x2ac0bf02, 0x00000aa1,
- 0x2b80580b, 0x00001900, 0x03001000, 0x00009980, 0x218c1d0a, 0x0000f100,
- 0x0000240a, 0x00001583, 0x03404008, 0x00009908, 0x00002200, 0x0000f009,
- 0x00002c0a, 0x00009583, 0x03404809, 0x00009908, 0x00002200, 0x0000f009,
- 0x03402004, 0x00001900, 0x0020540c, 0x00009503, 0x0340580d, 0x00001208,
- 0xffffffff, 0x00007f86, 0x0380680d, 0x00009b00, 0x0007280e, 0x0000e502,
- 0x0340700e, 0x00008900, 0x82c02c0a, 0x00009890, 0x83506a0b, 0x00001010,
- 0x0000220d, 0x0000f008, 0x84c5fa0d, 0x0000f89a, 0x01000001, 0x00000000,
- 0x5afffa0d, 0x00007892, 0x99000002, 0x00001180, 0x02800c0a, 0x00009081,
- 0x00a0340a, 0x0000c589, 0xffe0500c, 0x0000781c, 0x803ffa0d, 0x0000f900,
- 0x00000002, 0x00008582, 0x0000216b, 0x0000f013, 0x100010ec, 0x00005680,
- 0x00000000, 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x0000146f, 0x0000e583, 0x939722e4, 0x00008900, 0x26000000, 0x000089e4,
- 0x26800000, 0x000089ec, 0x0000223e, 0x0000f010, 0x263f6fee, 0x00008924,
- 0x26bf37e7, 0x0000092c, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc,
- 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc, 0x29c00000, 0x00009980,
- 0x2b007b48, 0x0000e080, 0x17aa654c, 0x00000901, 0x120020ac, 0x00006784,
- 0x12800000, 0x00000980, 0x00000c6f, 0x0000e583, 0xa42a654c, 0x00008900,
- 0xd2000000, 0x00006180, 0x97f71ee3, 0x0000c908, 0xee0a565f, 0x0000a00a,
- 0x0000227a, 0x0000f010, 0x2c002d4c, 0x00001680, 0xab0588b0, 0x00009000,
- 0x24400060, 0x0000e180, 0x17c00000, 0x00004980, 0xa4761d00, 0x0000f900,
- 0x00000002, 0x00000080, 0x86237891, 0x00006001, 0xc323785f, 0x0000b006,
- 0xb00254ac, 0x0000a002, 0xd7e80500, 0x00009900, 0x723c88ec, 0x0000d600,
- 0x003af800, 0x00008000, 0xffffffff, 0x00007f86, 0x723a50ec, 0x0000d600,
- 0x001040c0, 0x00008080, 0x00c002ec, 0x0000df80, 0x1213700b, 0x00001684,
- 0x0000046f, 0x00009583, 0x97f71ee3, 0x0000e108, 0x260770ee, 0x0000c908,
- 0x003a505f, 0x0000a088, 0x0000224b, 0x00007010, 0x267f3fed, 0x00000928,
- 0x26c007e6, 0x000009b0, 0x2b00044a, 0x000009b4, 0x27800000, 0x000089fc,
- 0x28000000, 0x00008ac4, 0x00002254, 0x0000f400, 0x28800000, 0x00008acc,
- 0x29c00000, 0x00009980, 0x2c002d4c, 0x00001680, 0x97c588b0, 0x00009000,
- 0xb045625f, 0x0000a002, 0x273f6fee, 0x00008934, 0x27bf37e7, 0x0000093c,
- 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc, 0x29000000, 0x00008ad4,
- 0x29800000, 0x00001980, 0x2c002d4c, 0x00001680, 0x97c588b0, 0x00009000,
- 0xb062525f, 0x0000a080, 0xb022425f, 0x00002000, 0xffffffff, 0x00007f97,
- 0x1295624a, 0x00001100, 0x0012404a, 0x00001502, 0x01c00000, 0x00006188,
- 0x815562ac, 0x0000c908, 0xb048325f, 0x0000208a, 0x00002223, 0x0000f010,
- 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0xb0082a5f, 0x0000a002,
- 0x029e3000, 0x0000f900, 0x002b042a, 0x00008980, 0x02c84000, 0x00007900,
- 0x001b0482, 0x00000980, 0x41b71ee3, 0x0000e101, 0x08001a08, 0x00006106,
- 0x4183784c, 0x0000801c, 0x227a1c63, 0x0000f500, 0x82200500, 0x00008022,
- 0x83006000, 0x0000e180, 0x02401002, 0x0000c900, 0x0000227a, 0x00007000,
- 0x97e80500, 0x00001900, 0xec05665f, 0x00002081, 0xffffffff, 0x00007fa7,
- 0x17c0f4ac, 0x00009281, 0x0000845f, 0x00001583, 0x97e80500, 0x00009908,
- 0xec22fe5f, 0x0000a088, 0x0000227a, 0x0000740b, 0xffffffff, 0x00007f86,
- 0x0812fb48, 0x0000e908, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x2c002d4c, 0x00001680, 0xab0588b0, 0x00009000, 0xb00792ac, 0x0000f902,
- 0x3c400000, 0x00008000, 0xb00784ac, 0x00007902, 0x3bc00000, 0x00008000,
- 0xb00776ac, 0x0000f902, 0x3b400000, 0x00000000, 0xb07d68ac, 0x0000b038,
- 0xc00007f2, 0x0000e583, 0x97ea654c, 0x00008900, 0xb0473aac, 0x0000f902,
- 0x39800000, 0x00008000, 0x012560ef, 0x0000a010, 0x0000228f, 0x0000f008,
- 0xffffffff, 0x00007f97, 0x2b1562e7, 0x00001100, 0x001788ac, 0x00001502,
- 0xb912724e, 0x00009908, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b,
- 0xd3973bf0, 0x00001202, 0xe23c9290, 0x00002088, 0xe23c8290, 0x00002008,
- 0x000022e0, 0x0000f010, 0xffffffff, 0x00007f86, 0x00072892, 0x00001502,
- 0x24000000, 0x0000e188, 0xe4573ae7, 0x0000c908, 0xa41f3be7, 0x0000e108,
- 0x64771ee3, 0x0000c909, 0x000022ca, 0x00007010, 0x002a6091, 0x0000e086,
- 0x08001aaa, 0x0000b106, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
- 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
- 0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
- 0xaab81400, 0x00008a2c, 0x22a81c90, 0x0000f500, 0x2bfc8f90, 0x00000a38,
- 0xaa008000, 0x00009980, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
- 0x24001be7, 0x0000e080, 0x24900000, 0x00004980, 0x24c00000, 0x0000f900,
- 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
- 0x00761092, 0x0000e587, 0x00760893, 0x0000b586, 0x700040ec, 0x00005680,
- 0x003c90e0, 0x00000010, 0x703c98ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x2b00f890, 0x00006784, 0x24900006, 0x00008980, 0x24077090, 0x0000e002,
- 0x041b7892, 0x00002187, 0x700008ec, 0x00005680, 0x00000000, 0x00008080,
- 0x244768ac, 0x00009004, 0x703c80ec, 0x0000d600, 0x003c8800, 0x00000000,
- 0x700040ec, 0x00005680, 0x003c97c0, 0x00008078, 0xec048aec, 0x00007902,
- 0x24000000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00000091, 0x00001582,
- 0xec0484ec, 0x00007912, 0x24400000, 0x00008000, 0x000022c1, 0x00007009,
- 0xffffffff, 0x00007f86, 0x243c8791, 0x00000908, 0xab000be7, 0x0000e080,
- 0x2b449092, 0x00008900, 0x802f82ac, 0x0000e502, 0xf9c00be7, 0x00000080,
- 0xf9c00000, 0x0000e188, 0x2b848090, 0x00004900, 0x24800000, 0x00009980,
- 0x24001be7, 0x00009880, 0xe23f2a5f, 0x00002880, 0xe4b10c5e, 0x00007900,
- 0x00000002, 0x00000080, 0x2b00f890, 0x00006784, 0x17900006, 0x00008980,
- 0x24077090, 0x0000e002, 0x041b785e, 0x00002187, 0x700040ec, 0x00005680,
- 0x003c90c0, 0x00008010, 0x244768ac, 0x00009004, 0x703c80ec, 0x0000d600,
- 0x003c8800, 0x00000000, 0x700040ec, 0x00005680, 0x003af7c0, 0x00008078,
- 0x1787ec6f, 0x0000e283, 0x24400000, 0x00000980, 0xab000ae7, 0x00006080,
- 0x24100001, 0x00008980, 0x24800000, 0x000089cc, 0x000022f5, 0x0000f210,
- 0xe4778ef1, 0x00006100, 0xb9c00ae7, 0x0000c080, 0x12807ff1, 0x00006080,
- 0x25800000, 0x00008980, 0x00179096, 0x0000e100, 0xc0002890, 0x0000b406,
- 0x25d00002, 0x0000e180, 0x1280204a, 0x0000c784, 0x00379097, 0x0000e080,
- 0x80001090, 0x00003407, 0x00002304, 0x00007400, 0x25083804, 0x00006180,
- 0x25400000, 0x00004980, 0x24401c4a, 0x0000e081, 0xe59562ac, 0x00000900,
- 0x2b007ef1, 0x00006080, 0x25c00006, 0x00000980, 0x2b0020ac, 0x00006784,
- 0xc2041890, 0x0000a606, 0x25001000, 0x0000f900, 0x00008000, 0x00000980,
- 0x25580800, 0x00007900, 0x00044080, 0x00000980, 0x26440000, 0x00007900,
- 0x00010000, 0x00000980, 0x26000000, 0x0000e180, 0x001a4097, 0x00006106,
- 0x26800001, 0x000009ec, 0x244024ac, 0x0000e081, 0x2582504a, 0x00000900,
- 0x2a0568ad, 0x00006100, 0x2aca0005, 0x0000c980, 0x2c002d4c, 0x00001680,
- 0x97c588b0, 0x00009000, 0x2b456ef1, 0x00006002, 0x2a4570ae, 0x00000900,
- 0x2a800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x2b8000ae, 0x00006084,
- 0xeadb7b6f, 0x00008900, 0xb03f925f, 0x00005000, 0x003f8800, 0x00000000,
- 0xb03f845f, 0x0000d000, 0x003f7800, 0x00000000, 0xb03f765f, 0x00005000,
- 0x003f6800, 0x00008000, 0xb07f3a5f, 0x00005000, 0x003f3000, 0x00000000,
- 0xb07d685f, 0x00005000, 0x003d7000, 0x00000000, 0xaab78ef1, 0x00001900,
- 0x64a01448, 0x0000c488, 0x56402448, 0x0000088e, 0x66000c48, 0x00004490,
- 0x3e40046f, 0x0000088e, 0xcc000c6f, 0x0000f892, 0x29000000, 0x00001189,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009920ec, 0x00005780, 0x00d87a80, 0x000080c8, 0x00002330, 0x00007000,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008120ec, 0x00005780, 0x00d87a81, 0x000000c8, 0x00002330, 0x00007000,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009120ec, 0x0000d780, 0x00d87a81, 0x000000c8, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb912724e, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x924709e4, 0x00000424,
- 0x120084ec, 0x000084a8, 0x38448000, 0x00009981, 0x1280084a, 0x00009182,
- 0xffffffff, 0x0000ffb7, 0x13c20200, 0x0000f904, 0x13820200, 0x00007904,
- 0x00002339, 0x00007410, 0xfe7a7c48, 0x0000d000, 0x003a7000, 0x00008000,
- 0x38624c49, 0x0000e109, 0x92000a48, 0x0000c080, 0x23432217, 0x00007004,
- 0x138080e1, 0x000084a8, 0x1280084a, 0x00006182, 0x38448000, 0x00000981,
- 0xfe42f4ec, 0x0000f902, 0x13c00000, 0x00008000, 0x92000aec, 0x00001080,
- 0xffffffff, 0x00007f86, 0x00002354, 0x0000f40b, 0x1002f400, 0x0000f904,
- 0x10027c00, 0x0000f904, 0xfe42f448, 0x00007902, 0x13c00000, 0x00008000,
- 0x1280084a, 0x00006182, 0x92000a48, 0x00000080, 0x0000234d, 0x00007413,
- 0x1002f400, 0x0000f904, 0x10027c00, 0x0000f904, 0x3842484e, 0x00000e12,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x00002336, 0x00007000,
- 0x916a2544, 0x00006300, 0xd0e0c418, 0x0000c901, 0x11522846, 0x0000e700,
- 0x1128c518, 0x00008901, 0xd1000a45, 0x0000e180, 0x90aa2544, 0x00000901,
- 0x86122a45, 0x0000e300, 0x13824048, 0x0000c900, 0x9167270e, 0x00000430,
- 0x1150c045, 0x0000e704, 0x90e0640c, 0x00008901, 0xd1710d4b, 0x00007900,
- 0x00000002, 0x00000080, 0x91004345, 0x0000840e, 0x91680500, 0x0000e100,
- 0x9098730e, 0x00004900, 0x700040ec, 0x00005680, 0x003a28c4, 0x00000010,
- 0x11500006, 0x00006180, 0xd051fa3f, 0x0000c900, 0x703a70ec, 0x0000d600,
- 0x003a4800, 0x00000000, 0x10024048, 0x00006100, 0x041a5845, 0x0000e187,
- 0x700040ec, 0x00005680, 0x003a2fc0, 0x00008078, 0x9078680f, 0x00000409,
- 0x00c002ec, 0x0000df80, 0x121ba80b, 0x00009684, 0xb912624c, 0x00001900,
- 0x2c002d4b, 0x00009680, 0x914588b0, 0x00001000, 0xb0400045, 0x00005080,
- 0x00400000, 0x00008000, 0xb0400245, 0x0000d080, 0x00400000, 0x00008000,
- 0xb03a1a45, 0x0000d000, 0x003a1000, 0x00008000, 0xb03a2445, 0x00005000,
- 0x003a0800, 0x00008000, 0xb03a0645, 0x00005000, 0x003a4800, 0x00000000,
- 0x00000000, 0x0000f480, 0xb0400045, 0x0000d000, 0x00400000, 0x00000080,
- 0xb0400245, 0x00005000, 0x00400000, 0x00000080, 0x2c002c05, 0x00001680,
- 0x81c588b0, 0x00001000, 0xb0000207, 0x00005080, 0x00400000, 0x00008000,
- 0xb0000407, 0x00005080, 0x00400000, 0x00008000, 0xb0000607, 0x0000d080,
- 0x00400000, 0x00008000, 0xb0400007, 0x00005080, 0x00400000, 0x00008000,
- 0xb0400207, 0x0000d080, 0x00400000, 0x00008000, 0xb0000207, 0x0000d000,
- 0x00400000, 0x00000080, 0xb0000407, 0x0000d000, 0x00400000, 0x00000080,
- 0xb0000607, 0x00005000, 0x00400000, 0x00000080, 0x00000001, 0x00007480,
- 0xb0400007, 0x0000d000, 0x00400000, 0x00000080, 0xb0400207, 0x00005000,
- 0x00400000, 0x00000080, 0x80000636, 0x00009583, 0x760010ec, 0x0000d690,
- 0x00000000, 0x00008080, 0x01490804, 0x00009990, 0x000023a9, 0x0000f008,
- 0xc17f372c, 0x0000f900, 0x00000006, 0x00008080, 0x763828ec, 0x0000d600,
- 0x0007f800, 0x00008080, 0x760000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0x80000a35, 0x0000e582, 0x8240172c, 0x00000880, 0xb6809009, 0x00007902,
- 0x04400000, 0x00008004, 0xb6808209, 0x00007902, 0x03c00000, 0x00008004,
- 0xb6807409, 0x00007902, 0x03400000, 0x00000004, 0x82400f2c, 0x00009880,
- 0xc6804009, 0x00007902, 0x01c00000, 0x00000004, 0xc6b83209, 0x00002084,
- 0xc1001f36, 0x00009283, 0x40002536, 0x00001583, 0x000024f2, 0x0000f008,
- 0x0000247b, 0x00007010, 0x0000244c, 0x00007018, 0x8103fa2c, 0x00006282,
- 0x1d800000, 0x00000980, 0x8eba401a, 0x0000d00c, 0x003a4800, 0x00000000,
- 0x0100201b, 0x00002080, 0x8ebbc01a, 0x0000b03c, 0x1dd00000, 0x00007900,
- 0x00008004, 0x00008980, 0x0030d877, 0x0000e080, 0x0018d076, 0x0000b100,
- 0x8251622c, 0x00006100, 0x80402077, 0x0000e000, 0x01572830, 0x0000e200,
- 0x04002077, 0x00002085, 0x01010078, 0x00006082, 0xdd800a09, 0x00000080,
- 0x8eb8201a, 0x00002884, 0x02400079, 0x0000e084, 0x01008030, 0x00000780,
+ 0x00189f78, 0x00008980, 0xaaa00500, 0x00008a2a, 0x20aa1b44, 0x00007500,
+ 0x2ac0bf02, 0x00000aa1, 0x2b80600c, 0x00001900, 0x03401000, 0x00001980,
+ 0x20401bbe, 0x00007100, 0x0000240b, 0x00009583, 0x02804008, 0x00001908,
+ 0x000020b3, 0x0000f009, 0x00002c0b, 0x00001583, 0x02804809, 0x00001908,
+ 0x000020b3, 0x0000f009, 0x02802004, 0x00009900, 0x00205c0d, 0x00009503,
+ 0x0280600a, 0x00009208, 0xffffffff, 0x00007f86, 0x0380500a, 0x00009b00,
+ 0x0007280e, 0x0000e502, 0x0280700e, 0x00000900, 0x83002c0b, 0x00009890,
+ 0x8290520c, 0x00009010, 0x000020c0, 0x0000f008, 0x3185fa0a, 0x0000789a,
+ 0x01000001, 0x00000000, 0x07fffa0a, 0x00007892, 0x31000002, 0x00001086,
+ 0x02c00c0b, 0x00009081, 0x00a0340b, 0x00004589, 0x7fe0580d, 0x0000781d,
+ 0x803ffa0a, 0x00007900, 0x00000002, 0x00008582, 0x0000201f, 0x00007013,
+ 0x100010ec, 0x00005680, 0x00000000, 0x00008080, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x0000145f, 0x0000e583, 0x939722e4, 0x00008900,
+ 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x000020f2, 0x00007010,
+ 0x263f6fee, 0x00008924, 0x26bf37e7, 0x0000092c, 0x27000000, 0x000089f4,
+ 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc,
+ 0x29c00000, 0x00009980, 0x2b007b48, 0x0000e080, 0x172a654c, 0x00008901,
+ 0x120020ac, 0x00006784, 0x13e2fc5f, 0x00000901, 0x00000c5f, 0x0000e583,
+ 0x12400000, 0x00000980, 0x976a654c, 0x0000e100, 0xd2000000, 0x00004980,
+ 0x1b400060, 0x00006188, 0x97b71ee3, 0x00004908, 0x0000212e, 0x00007010,
+ 0xee0a4e5e, 0x0000a002, 0x2c002d4c, 0x00001680, 0xab0588b0, 0x00009000,
+ 0x17800000, 0x00009980, 0x9b761d00, 0x0000f900, 0x00000002, 0x00000080,
+ 0x8622f86d, 0x00006001, 0xc322f85e, 0x00003006, 0xb0024cac, 0x0000a002,
+ 0xd7a80500, 0x00001900, 0x723b68ec, 0x0000d600, 0x003af000, 0x00000000,
+ 0xffffffff, 0x00007f86, 0x723a48ec, 0x0000d600, 0x001040c0, 0x00008080,
+ 0x00c002ec, 0x0000df80, 0x1209100b, 0x00009684, 0x0000045f, 0x00009583,
+ 0x97b71ee3, 0x00006108, 0x260770ee, 0x0000c908, 0x003a485e, 0x00002088,
+ 0x000020ff, 0x0000f010, 0x267f3fed, 0x00000928, 0x26c007e6, 0x000009b0,
+ 0x2b000449, 0x000009b4, 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4,
+ 0x00002108, 0x0000f400, 0x28800000, 0x00008acc, 0x29c00000, 0x00009980,
+ 0x2c002d4c, 0x00001680, 0x978588b0, 0x00001000, 0xb045625e, 0x00002002,
+ 0x273f6fee, 0x00008934, 0x27bf37e7, 0x0000093c, 0x28000000, 0x00008ac4,
+ 0x28800000, 0x00008acc, 0x29000000, 0x00008ad4, 0x29800000, 0x00001980,
+ 0x2c002d4c, 0x00001680, 0x978588b0, 0x00001000, 0xb0624a5e, 0x00002080,
+ 0xb022425e, 0x0000a000, 0xffffffff, 0x00007f97, 0x12556249, 0x00001100,
+ 0x00124049, 0x00001502, 0x01c00000, 0x00006188, 0x815562ac, 0x0000c908,
+ 0xb048325e, 0x0000a08a, 0x000020d6, 0x00007010, 0x03000000, 0x0000f900,
+ 0x00008040, 0x00008980, 0xb0082a5e, 0x00002002, 0x029e3000, 0x0000f900,
+ 0x002b042a, 0x00008980, 0x02c84000, 0x00007900, 0x001b0482, 0x00000980,
+ 0x41b71ee3, 0x0000e101, 0x08001a08, 0x00006106, 0x4182f84c, 0x0000801c,
+ 0x212e1b17, 0x0000f500, 0x82200500, 0x00008022, 0x83006000, 0x0000e180,
+ 0x02401002, 0x0000c900, 0x0000212e, 0x0000f000, 0x97a80500, 0x00009900,
+ 0xec05665e, 0x0000a081, 0xffffffff, 0x00007fa7, 0x1780f4ac, 0x00001281,
+ 0x0000845e, 0x00009583, 0x97a80500, 0x00001908, 0xec22f65e, 0x0000a088,
+ 0x0000212e, 0x0000f40b, 0xffffffff, 0x00007f86, 0x0812f348, 0x00006908,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x2c002d4c, 0x00001680,
+ 0xab0588b0, 0x00009000, 0xb00782ac, 0x00007902, 0x3bc00000, 0x00008000,
+ 0xb00774ac, 0x00007902, 0x3b400000, 0x00000000, 0xb0073eac, 0x0000f902,
+ 0x39800000, 0x00008000, 0xb07d68ac, 0x0000b038, 0xc00007f0, 0x00006583,
+ 0x97aa654c, 0x00000900, 0xb0436aac, 0x00007902, 0x17c00000, 0x00000000,
+ 0x012560ed, 0x00002010, 0x00002143, 0x0000f008, 0xffffffff, 0x00007f97,
+ 0x2b15626d, 0x00009100, 0x001778ac, 0x00001502, 0xb912724e, 0x00009908,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0xd3936bee, 0x00009202,
+ 0xe2048a5d, 0x0000790a, 0x24000000, 0x00000000, 0x00002193, 0x0000f011,
+ 0xffffffff, 0x00007f86, 0x00072891, 0x00001502, 0x24000000, 0x0000e188,
+ 0xe4536a6d, 0x0000c908, 0xa41b6b6d, 0x0000e108, 0x64771ee3, 0x0000c909,
+ 0x0000217d, 0x00007010, 0x002a6091, 0x0000e086, 0x08001aaa, 0x0000b106,
+ 0x2a000000, 0x00007900, 0x00008080, 0x00008980, 0x2b355000, 0x0000f900,
+ 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980,
+ 0x2a400000, 0x00006180, 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c,
+ 0x215c1b44, 0x0000f500, 0x2bfc8f90, 0x00000a38, 0xaa008000, 0x00009980,
+ 0xec0002ec, 0x00005080, 0x00000000, 0x00008080, 0x24001b6d, 0x00006080,
+ 0x24900000, 0x00004980, 0x24c00000, 0x0000f900, 0x00003fc0, 0x00008980,
+ 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x00761092, 0x0000e587,
+ 0x00760893, 0x0000b586, 0x700040ec, 0x00005680, 0x003c90e0, 0x00000010,
+ 0x703c98ec, 0x0000d600, 0x00000000, 0x00008080, 0x2b00f890, 0x00006784,
+ 0x24900006, 0x00008980, 0x24073890, 0x0000e002, 0x04125092, 0x00002187,
+ 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x244730ac, 0x00001004,
+ 0x703c80ec, 0x0000d600, 0x003c8800, 0x00000000, 0x700040ec, 0x00005680,
+ 0x003c97c0, 0x00008078, 0xec048aec, 0x00007902, 0x24000000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x00000091, 0x00001582, 0xec048cec, 0x0000f912,
+ 0x24000000, 0x00000000, 0x00002175, 0x00007009, 0xffffffff, 0x00007f86,
+ 0xab000b6d, 0x00006080, 0x2b848090, 0x00008900, 0x802f72ac, 0x0000e502,
+ 0xdb400b6d, 0x00000080, 0xdb400000, 0x00006188, 0x24800000, 0x0000c980,
+ 0xe23f2a5e, 0x0000a880, 0x2b448891, 0x00006100, 0x24001b6d, 0x00004880,
+ 0xe4b10c5c, 0x0000f900, 0x00000002, 0x00000080, 0x2b00f890, 0x00006784,
+ 0x17100006, 0x00000980, 0x24473890, 0x00006002, 0x0412505c, 0x0000a187,
+ 0x700040ec, 0x00005680, 0x003c90c0, 0x00008010, 0x240730ac, 0x00009004,
+ 0x703c88ec, 0x00005600, 0x003c8000, 0x00008000, 0x700040ec, 0x00005680,
+ 0x003ae7c0, 0x00000078, 0x1707ec4f, 0x0000e283, 0x24400000, 0x00000980,
+ 0xab000a6d, 0x0000e080, 0x24100001, 0x00008980, 0x24800000, 0x000089cc,
+ 0x000021a8, 0x00007210, 0xe4777eef, 0x00006100, 0x9b400a6d, 0x0000c080,
+ 0x12407fef, 0x00006080, 0x25800000, 0x00008980, 0x00178096, 0x00006100,
+ 0xc0002890, 0x0000b406, 0x25d00002, 0x0000e180, 0x12402049, 0x0000c784,
+ 0x00378097, 0x00006080, 0x80001090, 0x00003407, 0x000021b7, 0x00007400,
+ 0x25083804, 0x00006180, 0x25400000, 0x00004980, 0x24401c49, 0x0000e081,
+ 0xe59562ac, 0x00000900, 0x2b007eef, 0x00006080, 0x25c00006, 0x00000980,
+ 0x2b0020ac, 0x00006784, 0xc2041890, 0x0000a606, 0x25001000, 0x0000f900,
+ 0x00008000, 0x00000980, 0x25580800, 0x00007900, 0x00044080, 0x00000980,
+ 0x26440000, 0x00007900, 0x00010000, 0x00000980, 0x26000000, 0x0000e180,
+ 0x001a4097, 0x00006106, 0x26800001, 0x000009ec, 0x244024ac, 0x0000e081,
+ 0x25824849, 0x00000900, 0x2a0568ad, 0x00006100, 0x2aca0005, 0x0000c980,
+ 0x2c002d4c, 0x00001680, 0x978588b0, 0x00001000, 0x2b456eef, 0x00006002,
+ 0x2a4570ae, 0x00000900, 0x2a800000, 0x0000f900, 0x00207fc0, 0x00008980,
+ 0x2b8000ae, 0x00006084, 0xead2524a, 0x00008900, 0xb03f825e, 0x00005000,
+ 0x003f7800, 0x00000000, 0xb03f745e, 0x00005000, 0x003f6800, 0x00008000,
+ 0xb03f3e5e, 0x0000d000, 0x003f3000, 0x00000000, 0xb07b6a5e, 0x00005000,
+ 0x003af800, 0x00008000, 0xb07d685e, 0x0000d000, 0x003d7000, 0x00000000,
+ 0xaab77eef, 0x00001900, 0x3b001448, 0x0000c488, 0xbc402448, 0x0000888b,
+ 0x3c600c48, 0x00004490, 0xa440044f, 0x0000888b, 0x78c00c4f, 0x00007892,
+ 0xc1000000, 0x0000108e, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009920ec, 0x00005780, 0x00d87a80, 0x000080c8,
+ 0x000021e3, 0x00007000, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008120ec, 0x00005780, 0x00d87a81, 0x000000c8,
+ 0x000021e3, 0x00007000, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009120ec, 0x0000d780, 0x00d87a81, 0x000000c8,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0xb912724e, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x928709e4, 0x00000424, 0x120084ec, 0x000004b8, 0x38448000, 0x00009981,
+ 0x1380084e, 0x00009182, 0xffffffff, 0x0000ffb7, 0x17020200, 0x00007904,
+ 0x13c20200, 0x0000f904, 0x000021ec, 0x00007410, 0xfe7ae448, 0x00005000,
+ 0x003a7800, 0x00000000, 0x38624c49, 0x0000e109, 0x92000a48, 0x0000c080,
+ 0x21f620ca, 0x0000f004, 0x128080e1, 0x000084b8, 0x1380084e, 0x00006182,
+ 0x38448000, 0x00000981, 0xfe427cec, 0x0000f902, 0x12400000, 0x00008000,
+ 0x92000aec, 0x00001080, 0xffffffff, 0x00007f86, 0x00002207, 0x0000740b,
+ 0x10027c00, 0x0000f904, 0x10024c00, 0x0000f904, 0xfe427c48, 0x00007902,
+ 0x12400000, 0x00008000, 0x1380084e, 0x00006182, 0x92000a48, 0x00000080,
+ 0x00002200, 0x0000f413, 0x10027c00, 0x0000f904, 0x10024c00, 0x0000f904,
+ 0x3842504a, 0x00008e12, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x000021e9, 0x00007000, 0x91624448, 0x00006300, 0xd0a0b416, 0x00004901,
+ 0x11522846, 0x0000e700, 0x0e68b516, 0x00008901, 0xce400a45, 0x0000e180,
+ 0x90624448, 0x00000901, 0x85922a45, 0x00006300, 0x12023847, 0x0000c900,
+ 0x9167270e, 0x00008434, 0x1150b045, 0x00006704, 0x90a0640c, 0x00000901,
+ 0xd1710d38, 0x0000f900, 0x00000002, 0x00000080, 0x8e404345, 0x0000040a,
+ 0x91680500, 0x0000e100, 0x9058730e, 0x00004900, 0x700040ec, 0x00005680,
+ 0x003a28c4, 0x00000010, 0x11500006, 0x00006180, 0xd011f23e, 0x00004900,
+ 0x703a40ec, 0x0000d600, 0x003a6000, 0x00000000, 0x0fc23847, 0x0000e100,
+ 0x041a5845, 0x0000e187, 0x700040ec, 0x00005680, 0x003a2fc0, 0x00008078,
+ 0x9038780f, 0x00000405, 0x00c002ec, 0x0000df80, 0x1211400b, 0x00009684,
+ 0xb9126a4d, 0x00001900, 0x2c002d38, 0x00001680, 0x914588b0, 0x00001000,
+ 0xb0400045, 0x00005080, 0x00400000, 0x00008000, 0xb0400245, 0x0000d080,
+ 0x00400000, 0x00008000, 0xb03a1245, 0x00005000, 0x003a0800, 0x00008000,
+ 0xb039cc45, 0x00005000, 0x003a0000, 0x00000000, 0xb039fe45, 0x0000d000,
+ 0x003a6000, 0x00000000, 0x00000000, 0x0000f480, 0xb0400045, 0x0000d000,
+ 0x00400000, 0x00000080, 0xb0400245, 0x00005000, 0x00400000, 0x00000080,
+ 0x2c002c05, 0x00001680, 0x81c588b0, 0x00001000, 0xb0000207, 0x00005080,
+ 0x00400000, 0x00008000, 0xb0000407, 0x00005080, 0x00400000, 0x00008000,
+ 0xb0000607, 0x0000d080, 0x00400000, 0x00008000, 0xb0400007, 0x00005080,
+ 0x00400000, 0x00008000, 0xb0400207, 0x0000d080, 0x00400000, 0x00008000,
+ 0xb0000207, 0x0000d000, 0x00400000, 0x00000080, 0xb0000407, 0x0000d000,
+ 0x00400000, 0x00000080, 0xb0000607, 0x00005000, 0x00400000, 0x00000080,
+ 0x00000001, 0x00007480, 0xb0400007, 0x0000d000, 0x00400000, 0x00000080,
+ 0xb0400207, 0x00005000, 0x00400000, 0x00000080, 0x80000636, 0x00009583,
+ 0x760010ec, 0x0000d690, 0x00000000, 0x00008080, 0x01490804, 0x00009990,
+ 0x0000225c, 0x00007008, 0xc17f372c, 0x0000f900, 0x00000006, 0x00008080,
+ 0x763828ec, 0x0000d600, 0x0007f800, 0x00008080, 0x760000ec, 0x0000d680,
+ 0x00000000, 0x00008080, 0x80000a35, 0x0000e582, 0x82c0172c, 0x00008880,
+ 0xb680980b, 0x00007902, 0x04800000, 0x00008004, 0xb6808a0b, 0x00007902,
+ 0x04000000, 0x00000004, 0xb6807c0b, 0x00007902, 0x03800000, 0x00000004,
+ 0x82c00f2c, 0x00001880, 0xc680400b, 0x0000f902, 0x01c00000, 0x00000004,
+ 0xc6b8320b, 0x0000a084, 0xc1001f36, 0x00009283, 0x40002536, 0x00001583,
+ 0x000023a8, 0x00007008, 0x0000232e, 0x0000f010, 0x00002300, 0x00007018,
+ 0x8103fa2c, 0x00006282, 0x1d800000, 0x00000980, 0x8eba401a, 0x0000d00c,
+ 0x003a4800, 0x00000000, 0x0100201b, 0x00002080, 0x8ebbc01a, 0x0000b03c,
+ 0x1dd00000, 0x00007900, 0x00008004, 0x00008980, 0x0030d877, 0x0000e080,
+ 0x0018d076, 0x0000b100, 0x82d1622c, 0x0000e100, 0x80402077, 0x0000e000,
+ 0x01572830, 0x0000e200, 0x04002077, 0x00002085, 0x01010078, 0x00006082,
+ 0xdd800a0b, 0x00008080, 0x8eb8201a, 0x00002884, 0x01008030, 0x00006780,
+ 0x02c02a42, 0x00000000, 0x02400079, 0x0000e084, 0x01002342, 0x00000000,
0x8eb8481a, 0x00002804, 0x1e802800, 0x0000e180, 0x8291a334, 0x0000c000,
- 0x01002342, 0x00006000, 0x02402a42, 0x00008000, 0xdeb0320a, 0x0000e100,
- 0x01002343, 0x00008000, 0x02804a43, 0x00006000, 0xd1800000, 0x00000980,
- 0x01002344, 0x00006000, 0x02405244, 0x00008000, 0x11c05000, 0x0000f900,
- 0x00004042, 0x00000980, 0x00000436, 0x00006583, 0x01002345, 0x00008000,
- 0x02804a45, 0x00006000, 0x01002346, 0x00008000, 0x02572846, 0x00006200,
- 0x26c0c819, 0x00008900, 0x0140480a, 0x00006000, 0xe000009b, 0x00002400,
- 0x02518a47, 0x00006010, 0x02998b47, 0x00000010, 0x02402809, 0x0000e010,
- 0x0280200a, 0x00000010, 0x20400000, 0x0000f900, 0x00004000, 0x00000980,
- 0x01404a32, 0x0000e010, 0x01005332, 0x00008010, 0x8000162c, 0x00006583,
- 0x09022c0a, 0x0000a006, 0xa069b536, 0x0000e101, 0x0280140a, 0x0000c880,
- 0x1c100000, 0x0000f900, 0x0001c016, 0x00008980, 0x1c800800, 0x0000e180,
- 0x96696881, 0x00006001, 0x1c400006, 0x000087cc, 0x2680c018, 0x0000e100,
- 0x1d303804, 0x00004980, 0x1d400000, 0x0000e180, 0x1ef1ae35, 0x00004901,
- 0xded1aa35, 0x0000e100, 0x1f019831, 0x00004100, 0x9ef8932d, 0x00000734,
- 0x1fb87f11, 0x0000873c, 0x0000254e, 0x00007410, 0x2029670e, 0x00000729,
- 0x0280200a, 0x0000e000, 0x02402b34, 0x00008000, 0x0119d33b, 0x00009000,
- 0x0100233c, 0x00009000, 0x0100233d, 0x00001000, 0x0100233e, 0x00001000,
- 0x0100233f, 0x00009000, 0x01002340, 0x00001000, 0x01002341, 0x00009000,
- 0x0291d23b, 0x0000e000, 0x01005004, 0x00000000, 0x0280523c, 0x00001000,
- 0x0280523d, 0x00009000, 0x0280523e, 0x00009000, 0x0280523f, 0x00001000,
- 0x02805240, 0x00009000, 0x02805241, 0x00001000, 0x02805539, 0x00009000,
- 0x0140480a, 0x00009000, 0x80000e2c, 0x00006583, 0x01402005, 0x00008000,
- 0x01182a05, 0x00006000, 0x2101e83d, 0x00008908, 0x82502304, 0x00006000,
- 0x2141f03e, 0x00000908, 0x00002524, 0x00007210, 0xd1904be5, 0x00006400,
- 0x2181f83f, 0x00000908, 0x011c2385, 0x00006000, 0x21c20040, 0x00000900,
- 0xa119a284, 0x0000e000, 0x02802386, 0x00000000, 0x22000741, 0x00000899,
- 0x00000436, 0x00006583, 0x02405387, 0x00000000, 0x02942285, 0x0000e000,
- 0x01004b88, 0x00008000, 0x02405286, 0x00006000, 0x09022c05, 0x0000a006,
- 0x02804a87, 0x0000e000, 0x81401405, 0x00008880, 0x02405288, 0x0000e000,
- 0x24400000, 0x00008990, 0x01002009, 0x00006000, 0x0281a000, 0x00000991,
- 0x02814000, 0x00006189, 0x01182204, 0x0000c000, 0x82502304, 0x00006000,
- 0x24800000, 0x00008990, 0x8100a206, 0x0000e180, 0xa1904ae5, 0x00000400,
- 0x02407c0a, 0x00006080, 0x81502a04, 0x00008100, 0x81010800, 0x00006180,
- 0x02402009, 0x0000c784, 0x24c00000, 0x0000e190, 0x82204a04, 0x00006086,
- 0x24019032, 0x00006110, 0x1c604c71, 0x00004001, 0x26004205, 0x00006002,
- 0xdc402209, 0x00000880, 0x01400040, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x003020ec, 0x00005702, 0x00007800, 0x00008080, 0x22421042, 0x00006100,
- 0x00104805, 0x00006184, 0x23805000, 0x0000f900, 0x00004042, 0x00000980,
- 0x733828ec, 0x0000d600, 0x00000000, 0x00008080, 0x22ba2743, 0x0000082c,
+ 0x01002343, 0x0000e000, 0x02405a43, 0x00008000, 0xd1800000, 0x0000e180,
+ 0xdeb0320a, 0x00004100, 0x01002344, 0x00006000, 0x02804a44, 0x00008000,
+ 0x11c05000, 0x0000f900, 0x00004042, 0x00000980, 0x00000436, 0x00006583,
+ 0x02d72846, 0x00008200, 0x01002345, 0x0000e000, 0x02405245, 0x00000000,
+ 0x01002346, 0x0000e000, 0x01405809, 0x00008000, 0x02d18a47, 0x0000e010,
+ 0x02598b47, 0x00000010, 0x02c0280b, 0x0000e010, 0x02402009, 0x00000010,
+ 0x20400000, 0x0000f900, 0x00004000, 0x00000980, 0x01405a32, 0x00006010,
+ 0x09022c0a, 0x0000a006, 0x01004b32, 0x0000e010, 0x26c0c819, 0x00008900,
+ 0x8000162c, 0x00006583, 0xa069b536, 0x00000901, 0x02c0140a, 0x00006080,
+ 0xe000009b, 0x0000e400, 0x1c100000, 0x0000f900, 0x0001c016, 0x00008980,
+ 0x1c800800, 0x0000e180, 0x96696881, 0x00006001, 0x1c400006, 0x000087cc,
+ 0x2680c018, 0x0000e100, 0x1d303804, 0x00004980, 0x1d400000, 0x0000e180,
+ 0x1ef1ae35, 0x00004901, 0xded1aa35, 0x0000e100, 0x1f019831, 0x00004100,
+ 0x9ef89b2d, 0x00008734, 0x1fb88712, 0x0000073c, 0x00002403, 0x0000f410,
+ 0x2029670f, 0x00008729, 0x0280200b, 0x00006000, 0x02402b34, 0x00008000,
+ 0x02d1d23b, 0x00006000, 0x0119d33b, 0x00000000, 0x0100233c, 0x00009000,
+ 0x0100233d, 0x00001000, 0x0100233e, 0x00001000, 0x0100233f, 0x00009000,
+ 0x01002340, 0x00001000, 0x01002341, 0x00009000, 0x02805a3c, 0x00006000,
+ 0x01005004, 0x00000000, 0x02c0523d, 0x00001000, 0x02805a3e, 0x00001000,
+ 0x02c0523f, 0x00009000, 0x02805a40, 0x00001000, 0x02c05241, 0x00009000,
+ 0x02805d39, 0x00001000, 0x0140480a, 0x00009000, 0x80000e2c, 0x00006583,
+ 0x01402005, 0x00008000, 0x01182a05, 0x00006000, 0x2101e83d, 0x00008908,
+ 0x82502304, 0x00006000, 0x2141f03e, 0x00000908, 0x000023d9, 0x0000f210,
+ 0xd1904be5, 0x00006400, 0x2181f83f, 0x00000908, 0xa119a284, 0x0000e000,
+ 0x011c2385, 0x00000000, 0x21c00740, 0x00008899, 0x02542285, 0x0000e000,
+ 0x02802386, 0x00000000, 0x22020841, 0x0000e100, 0x02c05387, 0x00004000,
+ 0x02804a86, 0x00006000, 0x01005b88, 0x00000000, 0x00000436, 0x00006583,
+ 0x02c05287, 0x00000000, 0x02405a88, 0x00006000, 0x0281a000, 0x00000991,
+ 0x02814000, 0x00006189, 0x01002009, 0x0000c000, 0x01182204, 0x00006000,
+ 0x09022c05, 0x0000a006, 0x02407c0a, 0x00006080, 0x81401405, 0x00008880,
+ 0x82d02304, 0x0000e000, 0x24400000, 0x00008990, 0x8100a206, 0x0000e180,
+ 0xa1905ae5, 0x00008400, 0x02c02009, 0x0000e784, 0x81502a04, 0x00008100,
+ 0x81010800, 0x00006180, 0x08001a09, 0x0000e106, 0x24800000, 0x00006190,
+ 0x82205a04, 0x0000e086, 0x24c00000, 0x0000e190, 0x24019032, 0x00004910,
+ 0x26004205, 0x00006002, 0x22421042, 0x00008900, 0x01400040, 0x0000e180,
+ 0x22821843, 0x00004900, 0x003020ec, 0x00005702, 0x00007800, 0x00008080,
+ 0x22c22044, 0x0000e100, 0x00104805, 0x00006184, 0x23805000, 0x0000f900,
+ 0x00004042, 0x00000980, 0x733828ec, 0x0000d600, 0x00000000, 0x00008080,
0x233a3745, 0x00008834, 0x23c00731, 0x00000888, 0x20c00000, 0x0000e180,
- 0xa6a0540a, 0x00004900, 0x26400007, 0x00001084, 0x0088e6ec, 0x0000df80,
- 0x00d87981, 0x000080cc, 0x8103fa2c, 0x00006282, 0x14800000, 0x00000980,
- 0x8eba401a, 0x0000d00c, 0x003a4800, 0x00000000, 0x0100201b, 0x00002080,
- 0x8ebaa01a, 0x0000303c, 0x14d00000, 0x00007900, 0x00008004, 0x00008980,
- 0x0030d853, 0x0000e080, 0x0018d052, 0x0000b100, 0x8251622c, 0x00006100,
- 0x80402053, 0x0000e000, 0x1b80c018, 0x00006100, 0x04002053, 0x0000e085,
- 0x01010054, 0x0000e082, 0x1bc0c819, 0x00000900, 0x17400000, 0x00007900,
- 0x00004000, 0x00000980, 0x15800004, 0x000085e4, 0xd4800a09, 0x00006080,
- 0xe000006f, 0x0000a400, 0x02400055, 0x00006084, 0x9669685d, 0x00002001,
+ 0xa6a0540a, 0x00004900, 0x1c605c71, 0x00006001, 0xdc40220b, 0x00008880,
+ 0x26400007, 0x00001084, 0x0088e6ec, 0x0000df80, 0x00d87981, 0x000080cc,
+ 0x8103fa2c, 0x00006282, 0x14800000, 0x00000980, 0x8eba401a, 0x0000d00c,
+ 0x003a4800, 0x00000000, 0x0100201b, 0x00002080, 0x8ebaa01a, 0x0000303c,
+ 0x14d00000, 0x00007900, 0x00008004, 0x00008980, 0x0030d853, 0x0000e080,
+ 0x0018d052, 0x0000b100, 0x1b80c018, 0x00006100, 0x80402053, 0x0000e000,
+ 0x1bc0c819, 0x0000e100, 0x04002053, 0x0000e085, 0x01010054, 0x0000e082,
+ 0x8251622c, 0x00008900, 0x17400000, 0x00007900, 0x00004000, 0x00000980,
+ 0x15800004, 0x000085e4, 0x02c00055, 0x0000e084, 0xe000006f, 0x0000a400,
0x13000000, 0x00007900, 0x0001c016, 0x00008980, 0x000898ec, 0x0000d780,
- 0x00d87ec1, 0x000080c0, 0x8eb8201a, 0x0000d004, 0x00384800, 0x00008000,
- 0x13803001, 0x000084f4, 0x13c00000, 0x000086f0, 0x1b400000, 0x0000e180,
- 0x14303804, 0x00004980, 0x14400000, 0x0000e180, 0x95d89312, 0x0000c900,
- 0x95c08911, 0x00008522, 0x96387910, 0x00008528, 0x16f86f0e, 0x00008530,
- 0x17800000, 0x000085fc, 0x8b000a2c, 0x00006080, 0x9b800000, 0x00008980,
- 0x5588952c, 0x0000051a, 0x56408736, 0x00000526, 0x4b40012d, 0x00008184,
- 0x000023ba, 0x00007400, 0x03c00000, 0x000080f8, 0x8d800400, 0x000001c8,
- 0x80000e2c, 0x00006583, 0x0241b036, 0x00000900, 0x0119a354, 0x00006008,
- 0x825aa354, 0x00000910, 0x82502304, 0x0000e008, 0x03000000, 0x00008980,
- 0x01400000, 0x00006180, 0x01001f09, 0x00004281, 0x00001404, 0x00009583,
- 0xc3129252, 0x00006110, 0x8312a254, 0x0000c910, 0x81103334, 0x00001010,
- 0x0000256f, 0x0000f008, 0x00000c55, 0x0000e583, 0x81383204, 0x00000100,
- 0x82c0a000, 0x0000e188, 0x82c14000, 0x0000c990, 0xc0000354, 0x00001582,
- 0x02404000, 0x0000e189, 0xc1505a04, 0x00004100, 0x8119a2e5, 0x00001410,
- 0x00002496, 0x00007008, 0x02504a04, 0x00001000, 0x82504b09, 0x00009000,
- 0x02404000, 0x00006181, 0x01104a04, 0x0000c000, 0x81502304, 0x00009000,
- 0x00000c55, 0x00001583, 0x00002565, 0x0000f013, 0x183a774d, 0x00008604,
- 0x1882784f, 0x00006100, 0x011b0361, 0x0000c000, 0x18c28050, 0x0000e100,
- 0x01002362, 0x00004000, 0x19028851, 0x00006100, 0x9819a260, 0x00004000,
- 0x01002363, 0x00006000, 0x98800000, 0x00008980, 0x02c02364, 0x0000e000,
- 0x0240a409, 0x00008081, 0x01130261, 0x00006000, 0x1940600c, 0x00000900,
- 0x01002262, 0x00006000, 0x19802805, 0x00000900, 0x19c00000, 0x0000e180,
- 0x01002263, 0x00004000, 0x01002264, 0x00009000, 0x02c05804, 0x00001000,
- 0x01105a0b, 0x00001900, 0x01185804, 0x00001000, 0x81102304, 0x00001000,
- 0x989022e5, 0x00001400, 0x01407c09, 0x00006080, 0x8100c000, 0x00008980,
- 0x01402005, 0x00006784, 0x1202c058, 0x00000900, 0x40002536, 0x0000e583,
- 0x82202a04, 0x0000a086, 0x003020ec, 0x00005702, 0x00007800, 0x00008080,
- 0x1242c859, 0x00006100, 0x13800800, 0x0000c998, 0x00002554, 0x0000f030,
- 0x8103fa2c, 0x00006282, 0x14800000, 0x00000980, 0x8ebac01a, 0x0000500c,
- 0x003ac800, 0x00008000, 0x0100201b, 0x00002080, 0x8ebaa01a, 0x0000303c,
- 0x14d00000, 0x00007900, 0x00008004, 0x00008980, 0x0018d052, 0x0000e100,
- 0x0030d853, 0x0000b080, 0x82d1622c, 0x0000e100, 0x80402053, 0x0000e000,
- 0xd4800a0b, 0x0000e080, 0x04002053, 0x00002085, 0x02c10054, 0x0000e082,
- 0x13403000, 0x00008980, 0x01000055, 0x0000e084, 0x1b80c018, 0x00008900,
- 0x17400000, 0x00007900, 0x00004000, 0x00000980, 0x0000a0ec, 0x0000d780,
- 0x00007801, 0x00000080, 0x8eb8581a, 0x0000d004, 0x00382000, 0x00000000,
- 0x1bc02719, 0x00000598, 0x1b004706, 0x0000e002, 0x16400000, 0x00008980,
- 0x81007c09, 0x00006080, 0x9669685d, 0x00002001, 0x13100000, 0x0000f900,
- 0x0001c016, 0x00008980, 0x000898ec, 0x0000d780, 0x00d87ec0, 0x000000c0,
- 0x13c00000, 0x0000e180, 0xe000006f, 0x00006400, 0xd37f8204, 0x00007900,
- 0x0000003e, 0x00008280, 0x14303804, 0x00006180, 0x14400000, 0x0000c980,
- 0x95c88812, 0x0000851e, 0x16b8770f, 0x0000052c, 0x1700070d, 0x000005b8,
- 0x17c00000, 0x00006180, 0x96188b11, 0x0000c900, 0xd6108210, 0x00006100,
- 0x8b000a2c, 0x0000c080, 0x13602c4d, 0x0000e001, 0x9ba04c09, 0x00000900,
- 0x5588952c, 0x0000051a, 0x56408736, 0x00000526, 0x1b400007, 0x00006084,
- 0x4b716e2d, 0x00000901, 0x03c00000, 0x000080f8, 0x000023ba, 0x00007400,
- 0x04400000, 0x000001c8, 0x4d800000, 0x00001981, 0x8103fa2c, 0x00006282,
- 0x1d800000, 0x00000980, 0x8eb9c01a, 0x0000500c, 0x0039c800, 0x00008000,
- 0x8ebbc01a, 0x0000b03c, 0x0100201b, 0x00002080, 0x8291622c, 0x00006100,
- 0x0018d076, 0x0000e100, 0xdd800a0a, 0x00006080, 0x01400040, 0x00000980,
- 0x02810078, 0x0000e082, 0x2680c018, 0x00000900, 0x1dd00000, 0x00007900,
- 0x00008004, 0x00008980, 0x02400079, 0x0000e084, 0x0030d877, 0x00002080,
- 0x20400000, 0x0000f900, 0x00004000, 0x00000980, 0x8eb8501a, 0x00005004,
- 0x00384800, 0x00008000, 0x08001a09, 0x0000e106, 0x80402077, 0x0000b000,
- 0x26c0c819, 0x00006100, 0x00104805, 0x00006184, 0x1e802800, 0x0000e180,
- 0x1ec00020, 0x0000c980, 0xa069b536, 0x0000e101, 0x8291a334, 0x0000c000,
- 0x1c000000, 0x00007900, 0x0001c016, 0x00008980, 0x04002077, 0x0000e085,
- 0xe000009b, 0x0000b400, 0x733828ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x00d87ec1, 0x000080c0, 0x8eb8201a, 0x0000d004, 0x00385800, 0x00000000,
+ 0x13800800, 0x0000e180, 0x9669685d, 0x0000e001, 0x13400006, 0x000084fc,
+ 0x1b000000, 0x000086f4, 0x14303804, 0x00006180, 0x14400000, 0x0000c980,
+ 0x95c89013, 0x0000051e, 0x96088812, 0x00008522, 0x16b87f10, 0x0000052c,
+ 0x1700070e, 0x000005b8, 0x17c00000, 0x000006f9, 0x8b000a2c, 0x00006080,
+ 0xd4800a09, 0x00000080, 0x55889d2c, 0x0000851a, 0x56408f36, 0x00008526,
+ 0x4b40012d, 0x00008188, 0x0000226d, 0x0000f400, 0x04000000, 0x000080fc,
+ 0x8d800400, 0x000081cc, 0x80000e2c, 0x00006583, 0x0241b036, 0x00000900,
+ 0x03001f09, 0x00006281, 0x0119a254, 0x00008008, 0x82d2a254, 0x00006110,
+ 0x82d02304, 0x0000c008, 0x0000140c, 0x0000e583, 0x03400000, 0x00000980,
+ 0x01400000, 0x00006180, 0xc3529252, 0x0000c910, 0x82503334, 0x00009010,
+ 0x00002424, 0x00007008, 0x80000e54, 0x00006583, 0x82783209, 0x00000100,
+ 0x8100a000, 0x0000e188, 0x81014000, 0x0000c990, 0x00001c0c, 0x00009583,
+ 0x827f17e2, 0x00006100, 0xc1502209, 0x0000c100, 0xdae06c09, 0x0000208c,
+ 0xdac06c09, 0x00002096, 0x80000254, 0x00001582, 0x8119a2e5, 0x0000e410,
+ 0x02c04000, 0x00008989, 0x0000234c, 0x0000f009, 0x02505a04, 0x00009000,
+ 0x82d04b09, 0x00001000, 0x02c04000, 0x0000e181, 0x01105a04, 0x00004000,
+ 0x81502304, 0x00009000, 0x80000e54, 0x00009583, 0x0000241a, 0x0000f013,
+ 0x183a774d, 0x00008604, 0x1882784f, 0x00006100, 0x011b0361, 0x0000c000,
+ 0x18c28050, 0x0000e100, 0x01002362, 0x00004000, 0x19028851, 0x00006100,
+ 0x9819a260, 0x00004000, 0x01002363, 0x00006000, 0x0240a40b, 0x00000081,
+ 0x98800000, 0x00006180, 0x02c02364, 0x00004000, 0x01130261, 0x00006000,
+ 0x1940680d, 0x00000900, 0x01002262, 0x00006000, 0x19802805, 0x00000900,
+ 0x19c00000, 0x0000e180, 0x01002263, 0x00004000, 0x01002264, 0x00009000,
+ 0x02c05804, 0x00001000, 0x01105a0b, 0x00001900, 0x01185804, 0x00001000,
+ 0x81102304, 0x00001000, 0x989022e5, 0x00001400, 0x01407c09, 0x00006080,
+ 0x8100c000, 0x00008980, 0x01402005, 0x00006784, 0x1202c058, 0x00000900,
+ 0x40002536, 0x0000e583, 0x82202a04, 0x0000a086, 0x003020ec, 0x00005702,
+ 0x00007800, 0x00008080, 0x1242c859, 0x00006100, 0x13800800, 0x0000c998,
+ 0x00002409, 0x0000f030, 0x8103fa2c, 0x00006282, 0x14800000, 0x00000980,
+ 0x8ebac01a, 0x0000500c, 0x003ac800, 0x00008000, 0x0100201b, 0x00002080,
+ 0x8ebaa01a, 0x0000303c, 0x14d00000, 0x00007900, 0x00008004, 0x00008980,
+ 0x0018d052, 0x0000e100, 0x0030d853, 0x0000b080, 0x82d1622c, 0x0000e100,
+ 0x80402053, 0x0000e000, 0xd4800a0b, 0x0000e080, 0x04002053, 0x00002085,
+ 0x02c10054, 0x0000e082, 0x13403000, 0x00008980, 0x01000055, 0x0000e084,
+ 0x1b80c018, 0x00008900, 0x17400000, 0x00007900, 0x00004000, 0x00000980,
+ 0x0000a0ec, 0x0000d780, 0x00007801, 0x00000080, 0x8eb8581a, 0x0000d004,
+ 0x00382000, 0x00000000, 0x1bc02719, 0x00000598, 0x1b004706, 0x0000e002,
+ 0x16400000, 0x00008980, 0x81007c09, 0x00006080, 0x9669685d, 0x00002001,
+ 0x13100000, 0x0000f900, 0x0001c016, 0x00008980, 0x000898ec, 0x0000d780,
+ 0x00d87ec0, 0x000000c0, 0x13c00000, 0x0000e180, 0xe000006f, 0x00006400,
+ 0xd37f8204, 0x00007900, 0x0000003e, 0x00008280, 0x14303804, 0x00006180,
+ 0x14400000, 0x0000c980, 0x95c89013, 0x0000051e, 0x16b87f10, 0x0000052c,
+ 0x1700070e, 0x000005b8, 0x17c00000, 0x00006180, 0x96189312, 0x0000c900,
+ 0xd6108a11, 0x00006100, 0x8b000a2c, 0x0000c080, 0x13602c4d, 0x0000e001,
+ 0x9ba04c09, 0x00000900, 0x55889d2c, 0x0000851a, 0x56408f36, 0x00008526,
+ 0x1b400007, 0x00006084, 0x4b716e2d, 0x00000901, 0x04000000, 0x000080fc,
+ 0x0000226d, 0x0000f400, 0x04800000, 0x000081cc, 0x4d800000, 0x00001981,
+ 0x8103fa2c, 0x00006282, 0x1d800000, 0x00000980, 0x8eb9c01a, 0x0000500c,
+ 0x0039c800, 0x00008000, 0x8ebbc01a, 0x0000b03c, 0x0100201b, 0x00002080,
+ 0x1dd00000, 0x00007900, 0x00008004, 0x00008980, 0x20400000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x02410078, 0x0000e082, 0x0018d076, 0x00002100,
+ 0x8291622c, 0x00006100, 0x0030d877, 0x0000e080, 0x8eb8481a, 0x0000a884,
+ 0x01400040, 0x0000e180, 0x08001a09, 0x0000e106, 0x02c00079, 0x00006084,
+ 0x80402077, 0x00002000, 0x2680c018, 0x0000e100, 0x00104805, 0x00006184,
+ 0x8eb8581a, 0x0000a804, 0x26c02f19, 0x000087a8, 0x1ec00020, 0x0000e180,
+ 0xa069b536, 0x0000c901, 0xdd800a0a, 0x00006080, 0x04002077, 0x00002085,
+ 0x8291a334, 0x00006000, 0xe000009b, 0x00002400, 0x1c000000, 0x00007900,
+ 0x0001c016, 0x00008980, 0x733828ec, 0x0000d600, 0x00000000, 0x00008080,
0x1c800800, 0x0000e180, 0x96696881, 0x00006001, 0x1c400006, 0x000087cc,
0x26000000, 0x000089e4, 0x1d303804, 0x00006180, 0x1d400000, 0x0000c980,
- 0x1f019831, 0x0000e100, 0x1f409012, 0x00000900, 0x1fb87f11, 0x0000873c,
- 0x2000070e, 0x00000888, 0x20c00000, 0x000009e9, 0x5ea1ad2c, 0x0000872d,
+ 0x1f019831, 0x0000e100, 0x1f409813, 0x00000900, 0x1fb88712, 0x0000073c,
+ 0x2000070f, 0x00008888, 0x20c00000, 0x000009e9, 0x5ea1ad2c, 0x0000872d,
0xdeb0320a, 0x0000e100, 0x5ee16c2d, 0x00000901, 0x0088e6ec, 0x0000df80,
0x00d87981, 0x000080cc, 0x00000436, 0x00006583, 0x09022c04, 0x00002006,
0x02824000, 0x00006191, 0x0281e000, 0x00004989, 0x81414206, 0x00006180,
- 0x81001404, 0x00008880, 0x02407c0a, 0x00006080, 0x81102205, 0x00000100,
+ 0x81001404, 0x00008880, 0x02c07c0a, 0x0000e080, 0x81102205, 0x00000100,
0x25800000, 0x0000e190, 0x25c00000, 0x00004990, 0x25018831, 0x0000e110,
- 0x25419032, 0x00004910, 0x02402009, 0x00006784, 0x01400040, 0x00000980,
+ 0x25419032, 0x00004910, 0x0240200b, 0x0000e784, 0x01400040, 0x00000980,
0x26004204, 0x0000e002, 0x1c604c71, 0x00008001, 0x81010800, 0x00006180,
0xdc402209, 0x0000c880, 0x2141c839, 0x00006100, 0x82204a04, 0x00006086,
0x2101c038, 0x0000e100, 0x08001a09, 0x0000e106, 0x003020ec, 0x00005702,
@@ -24685,29 +25065,29 @@ ARRAY_DECL u32 init_val[] = {
0x22fa073f, 0x00000830, 0x237a1741, 0x00000838, 0x23fa2743, 0x00000900,
0x247a3745, 0x00000908, 0x20800000, 0x000088cc, 0xa6a0540a, 0x00006100,
0x26400007, 0x00004084, 0xe159a385, 0x00001000, 0x0088e6ec, 0x0000df80,
- 0x00d87981, 0x000080cc, 0x011a0341, 0x00009000, 0x02920241, 0x0000e000,
- 0x01005004, 0x00000000, 0x00002410, 0x0000f400, 0x0280563f, 0x00009000,
+ 0x00d87981, 0x000080cc, 0x02d20241, 0x00006000, 0x011a0341, 0x00000000,
+ 0x000022c3, 0x00007400, 0x02805e3f, 0x0000e000, 0x01005004, 0x00000000,
0x0140480a, 0x00009000, 0x13401000, 0x0000e180, 0x1b80c018, 0x00004900,
0x1bc0c819, 0x0000e100, 0x81007c09, 0x0000c080, 0x1b004706, 0x0000e002,
0xe000006f, 0x0000a400, 0x000898ec, 0x0000d780, 0x00d87ec0, 0x000000c0,
0xd37f8204, 0x00007900, 0x0000003e, 0x00008280, 0x13100001, 0x0000e180,
- 0x13800800, 0x0000c980, 0x000023ba, 0x00007400, 0x13c00000, 0x0000e180,
+ 0x13800800, 0x0000c980, 0x0000226d, 0x0000f400, 0x13c00000, 0x0000e180,
0x13602c4d, 0x00004001, 0x1b400007, 0x00006084, 0x9ba04c09, 0x00000900,
- 0x18424849, 0x00006100, 0x02414409, 0x00004081, 0x183a5748, 0x00000608,
+ 0x18424849, 0x00006100, 0x0241440b, 0x0000c081, 0x183a5748, 0x00000608,
0x18fa674b, 0x00000610, 0x197a774d, 0x00000618, 0x19fa874f, 0x00008620,
- 0x000024af, 0x00007400, 0x1a786751, 0x00008628, 0xd859a361, 0x0000e000,
- 0x1ac02805, 0x00008900, 0xc0000752, 0x00001583, 0x03029052, 0x00009948,
- 0x00002579, 0x0000f041, 0x80172a09, 0x00001502, 0x82400000, 0x00001988,
- 0xffffffff, 0x00007f86, 0x02404000, 0x00006181, 0xc1504a09, 0x0000c900,
- 0x59400c55, 0x0000f893, 0xc1000000, 0x00009284, 0x02400000, 0x00009981,
- 0x59400c55, 0x0000f893, 0xc1000000, 0x00009284, 0xc000071b, 0x00006583,
+ 0x00002365, 0x0000f400, 0x1a786f51, 0x00000628, 0xd859a361, 0x0000e000,
+ 0x1ac02805, 0x00008900, 0xc0000752, 0x00001583, 0x03429052, 0x00001948,
+ 0x0000242e, 0x0000f041, 0x80172a0b, 0x00009502, 0x82c00000, 0x00009988,
+ 0xffffffff, 0x00007f86, 0x02c04000, 0x0000e181, 0xc1505a0b, 0x0000c900,
+ 0x06800e54, 0x0000f893, 0x71000000, 0x0000918a, 0x02c00000, 0x00001981,
+ 0x06800e54, 0x0000f893, 0x71000000, 0x0000918a, 0xc000071b, 0x00006583,
0x8f80152e, 0x00008880, 0xb6bb803e, 0x0000b03c, 0xb6bb923e, 0x0000b03c,
0xb6bba43e, 0x0000b03c, 0xb6bbb63e, 0x0000b03c, 0xcc18e31c, 0x00006140,
- 0x0f801d2d, 0x0000c8c0, 0x0f80803e, 0x000010c0, 0x000025fc, 0x0000f448,
+ 0x0f801d2d, 0x0000c8c0, 0x0f80803e, 0x000010c0, 0x000024b1, 0x00007448,
0x0f80103e, 0x000097c0, 0x4f21f43e, 0x00001941, 0x0f801d36, 0x00006281,
0x0801743c, 0x00002002, 0x0e41b431, 0x00006000, 0x0d41a43d, 0x0000b000,
0x0000143e, 0x00009583, 0x00000431, 0x00001583, 0x0000043d, 0x00001583,
- 0x0000266f, 0x0000f010, 0x0000263c, 0x0000f010, 0x00002685, 0x00007010,
+ 0x00002524, 0x0000f010, 0x000024f1, 0x0000f010, 0x0000253a, 0x0000f010,
0x00c1aa1c, 0x00007902, 0x0d000000, 0x00000004, 0x00819c1c, 0x0000f902,
0x0c400000, 0x00000004, 0xffffffff, 0x00007f97, 0x0d400835, 0x00001082,
0x0cc19a30, 0x00006002, 0x0d000034, 0x00000084, 0x0c400031, 0x00009084,
@@ -24715,9 +25095,9 @@ ARRAY_DECL u32 init_val[] = {
0x00398800, 0x00000000, 0x7840083c, 0x00008488, 0x10400002, 0x000004cc,
0x1680c018, 0x0000e100, 0x10080001, 0x0000c980, 0x16c0c819, 0x00006100,
0x0f807d2f, 0x00004281, 0x10a9752d, 0x00000404, 0x9689902e, 0x0000840e,
- 0x16020300, 0x00007904, 0xbd600c3e, 0x0000c290, 0x5840032f, 0x00008993,
- 0xc4407d2f, 0x00007897, 0x29000000, 0x00009385, 0x1d82c32e, 0x00001002,
- 0x4107852f, 0x0000e283, 0x1dc00059, 0x00000084, 0x000025dd, 0x0000f00b,
+ 0x16020300, 0x00007904, 0x94000c3e, 0x00004290, 0xc240032f, 0x00008990,
+ 0x71807d2f, 0x0000f897, 0xd1000000, 0x0000928a, 0x1d82c32e, 0x00001002,
+ 0x4107852f, 0x0000e283, 0x1dc00059, 0x00000084, 0x00002492, 0x0000f00b,
0x8103fa2c, 0x00006282, 0x12800000, 0x00000980, 0x8eb9c01a, 0x0000500c,
0x0039c800, 0x00008000, 0x0100201b, 0x00002080, 0x8eba601a, 0x0000303c,
0x12d00000, 0x00007900, 0x00008004, 0x00008980, 0x0030d84b, 0x0000e080,
@@ -24728,12 +25108,12 @@ ARRAY_DECL u32 init_val[] = {
0x00004000, 0x00000980, 0x8eb8201a, 0x0000d004, 0x0039e800, 0x00000000,
0x15c00000, 0x0000e180, 0x94816855, 0x0000e001, 0x12303804, 0x00006180,
0x12400000, 0x0000c980, 0x13c00000, 0x000085c0, 0x14800000, 0x000085cc,
- 0x00002629, 0x00007448, 0x15000000, 0x0000e180, 0xd2800a3e, 0x00004080,
+ 0x000024de, 0x00007448, 0x15000000, 0x0000e180, 0xd2800a3e, 0x00004080,
0x53a9752e, 0x0000e101, 0x0d017c3e, 0x00006006, 0x0f807d2f, 0x00001281,
0x00000c3e, 0x00009583, 0xd399732e, 0x00006108, 0x8000002f, 0x0000640e,
- 0x000026ac, 0x00007011, 0x10402441, 0x00006081, 0xc0002840, 0x0000a406,
+ 0x00002561, 0x0000f011, 0x10402441, 0x00006081, 0xc0002840, 0x0000a406,
0x000090ec, 0x0000d780, 0x00007801, 0x00000080, 0x80003840, 0x00006c07,
- 0x41007d2f, 0x00001283, 0x00002615, 0x00007013, 0x8f80152e, 0x00006080,
+ 0x41007d2f, 0x00001283, 0x000024ca, 0x00007013, 0x8f80152e, 0x00006080,
0x08001a3d, 0x00006106, 0x01400040, 0x00009980, 0xb6bb803e, 0x0000383c,
0xb6bb923e, 0x0000383c, 0xb6bba43e, 0x0000383c, 0xb6bbb63e, 0x0000383c,
0x0011e805, 0x00006984, 0x733828ec, 0x0000d600, 0x00000000, 0x00008080,
@@ -24742,25 +25122,25 @@ ARRAY_DECL u32 init_val[] = {
0x1782d05a, 0x00008900, 0x0008b8ec, 0x00005780, 0x00007800, 0x00008080,
0x17c0c819, 0x0000e100, 0x10400c41, 0x0000c081, 0xd0597b2e, 0x0000e000,
0x1643b877, 0x00000900, 0x1dc0005d, 0x0000e084, 0x96997b2f, 0x00008900,
- 0xb607852f, 0x00004496, 0xbe407d2f, 0x0000098b, 0xcd80071b, 0x000078cb,
- 0xb9000000, 0x00009380, 0xcc18fb1f, 0x0000e100, 0x08016c3d, 0x0000e084,
+ 0x8ca7852f, 0x00004496, 0x28407d2f, 0x00008989, 0x7ac0071b, 0x0000f8cb,
+ 0x61000000, 0x00001286, 0xcc18fb1f, 0x0000e100, 0x08016c3d, 0x0000e084,
0xc000032f, 0x0000e582, 0x0f801c3d, 0x00008880, 0x0f44003e, 0x00009080,
0x0f80103d, 0x00001780, 0x8f99f02f, 0x00008332, 0x0000042f, 0x00001583,
- 0xffffffff, 0x00007f86, 0x00002588, 0x0000f008, 0x00002588, 0x0000f008,
+ 0xffffffff, 0x00007f86, 0x0000243d, 0x0000f008, 0x0000243d, 0x0000f008,
0x4c407d2f, 0x0000e283, 0x0f400c2f, 0x00008181, 0x0c400c3d, 0x0000e781,
0x8f99732e, 0x00008908, 0x0cc00c3d, 0x0000e283, 0x38438431, 0x00008081,
0xb8438431, 0x00009081, 0xffffffff, 0x0000ffb7, 0x0c420200, 0x0000f904,
- 0x8c518a3e, 0x0000e008, 0xcc598a3e, 0x00008010, 0x00002588, 0x0000f400,
+ 0x8c518a3e, 0x0000e008, 0xcc598a3e, 0x00008010, 0x0000243d, 0x0000f400,
0xffffffff, 0x00007f86, 0x10818c00, 0x00007904, 0xc000071b, 0x00009583,
- 0x00002736, 0x0000f04b, 0x0e017c3d, 0x0000e806, 0x00000c3d, 0x00009583,
- 0x00002807, 0x0000f03b, 0x0000042f, 0x00001583, 0x00002758, 0x0000f013,
+ 0x000025eb, 0x0000704b, 0x0e017c3d, 0x0000e806, 0x00000c3d, 0x00009583,
+ 0x000026bc, 0x0000703b, 0x0000042f, 0x00001583, 0x0000260d, 0x00007013,
0x00197070, 0x0000e186, 0x08001a3d, 0x00003106, 0x01400040, 0x0000e180,
0x8f80152e, 0x00004880, 0xb6bb803e, 0x0000383c, 0xb6bb923e, 0x0000383c,
0xb6bba43e, 0x0000383c, 0xb6bbb63e, 0x0000383c, 0x0011e805, 0x00006984,
0x733828ec, 0x0000d600, 0x00000000, 0x00008080, 0x008886ec, 0x0000df80,
0x00d87d80, 0x000000c4, 0x0021f42f, 0x00009503, 0xd3938270, 0x00006120,
0x93db8370, 0x00004920, 0xd3d38a71, 0x0000e120, 0x941b8b71, 0x0000c920,
- 0x000027e5, 0x00007028, 0x94039172, 0x00000506, 0x14bba773, 0x0000050c,
+ 0x0000269a, 0x00007028, 0x94039172, 0x00000506, 0x14bba773, 0x0000050c,
0x15000775, 0x00008780, 0x1c400000, 0x000002fe, 0x1c800000, 0x000087cc,
0x1d400000, 0x000087d0, 0x10402441, 0x00006081, 0xc0002840, 0x0000a406,
0x000090ec, 0x0000d780, 0x00007801, 0x00000080, 0x80003840, 0x00006c07,
@@ -24772,25 +25152,25 @@ ARRAY_DECL u32 init_val[] = {
0x0cc00833, 0x0000e082, 0x0e80003a, 0x00000084, 0x0dc1ba30, 0x00006002,
0x0c400031, 0x00000084, 0x0000043d, 0x0000e583, 0x0d800036, 0x00000084,
0x00f9aa1c, 0x00005004, 0x0039a000, 0x00000000, 0x00b9dc1c, 0x00005004,
- 0x0039d000, 0x00008000, 0x0000259f, 0x00007408, 0xcf399a3e, 0x00005004,
+ 0x0039d000, 0x00008000, 0x00002454, 0x00007408, 0xcf399a3e, 0x00005004,
0x00398800, 0x00000000, 0xcef9bc3e, 0x00005004, 0x0039b000, 0x00008000,
0x0000143c, 0x00001583, 0x8f80323e, 0x00006088, 0x8f404a3e, 0x00000088,
- 0x00002661, 0x0000f009, 0x00001c3c, 0x00009583, 0x8f40523e, 0x00006088,
+ 0x00002516, 0x0000f009, 0x00001c3c, 0x00009583, 0x8f40523e, 0x00006088,
0x8f405a3e, 0x00008090, 0x8f80423e, 0x0000e090, 0x8f803a3e, 0x00008088,
0xcec1ac3d, 0x0000f902, 0x0d000000, 0x00000004, 0xcec19c3e, 0x0000f902,
0x0c400000, 0x00000004, 0xffffffff, 0x00007f97, 0x0d400835, 0x00001082,
0x0cc19a30, 0x00006002, 0x0d000034, 0x00000084, 0x0c400031, 0x00009084,
- 0x0000259f, 0x0000f400, 0xcef9ac3d, 0x0000d004, 0x0039a000, 0x00000000,
- 0xcef99c3e, 0x0000d004, 0x00398800, 0x00000000, 0xd8000431, 0x00004290,
- 0xe6400c3e, 0x0000098c, 0xf2400c3e, 0x0000f88b, 0x21000000, 0x0000938d,
+ 0x00002454, 0x0000f400, 0xcef9ac3d, 0x0000d004, 0x0039a000, 0x00000000,
+ 0xcef99c3e, 0x0000d004, 0x00398800, 0x00000000, 0xaea00431, 0x0000c290,
+ 0x50400c3e, 0x0000898a, 0x9f800c3e, 0x0000788b, 0xc9000000, 0x00009382,
0x00c1ae1c, 0x0000f902, 0x0d000000, 0x00000004, 0x00c1981c, 0x0000f902,
0x0c400000, 0x00000004, 0xffffffff, 0x00007f97, 0x0d400835, 0x00001082,
0x0cc19a30, 0x00006002, 0x0d000034, 0x00000084, 0x0000043d, 0x0000e583,
0x0c400031, 0x00000084, 0x00f9ae1c, 0x0000d004, 0x0039a000, 0x00000000,
- 0x00f9981c, 0x0000d004, 0x00398800, 0x00000000, 0x0000259f, 0x0000f008,
- 0x00002658, 0x00007400, 0x2c0066e3, 0x00001680, 0x8f8588b0, 0x00001000,
+ 0x00f9981c, 0x0000d004, 0x00398800, 0x00000000, 0x00002454, 0x0000f008,
+ 0x0000250d, 0x00007400, 0x2c0066e3, 0x00001680, 0x8f8588b0, 0x00001000,
0x0000143c, 0x00001583, 0x00001c3c, 0x00009583, 0xffffffff, 0x00007f86,
- 0x000026ea, 0x00007008, 0x000026cf, 0x0000f008, 0x00c1aa1c, 0x00007902,
+ 0x0000259f, 0x0000f008, 0x00002584, 0x0000f008, 0x00c1aa1c, 0x00007902,
0x0d000000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8f4588b0, 0x00001000,
0x0081dc1c, 0x00007902, 0x0e800000, 0x00008004, 0xcf819a3d, 0x0000f902,
0x0c400000, 0x00000004, 0xcf41bc3d, 0x00007902, 0x0d800000, 0x00008004,
@@ -24798,22 +25178,22 @@ ARRAY_DECL u32 init_val[] = {
0x0cc00833, 0x0000e082, 0x0e80003a, 0x00000084, 0x0dc1ba30, 0x00006002,
0x0c400031, 0x00000084, 0x0d800036, 0x00009084, 0x00f9aa1c, 0x00005004,
0x0039a000, 0x00000000, 0x00b9dc1c, 0x00005004, 0x0039d000, 0x00008000,
- 0x0000259f, 0x0000f400, 0xcfb99a3d, 0x0000d004, 0x00398800, 0x00000000,
+ 0x00002454, 0x0000f400, 0xcfb99a3d, 0x0000d004, 0x00398800, 0x00000000,
0xcf79bc3d, 0x00005004, 0x0039b000, 0x00008000, 0x163bbf76, 0x00000524,
- 0x1d83b32e, 0x00001002, 0x1dc00077, 0x00009084, 0xb607852f, 0x00004496,
- 0xbe407d2f, 0x0000098b, 0xcd80071b, 0x000078cb, 0xb9000000, 0x00009380,
+ 0x1d83b32e, 0x00001002, 0x1dc00077, 0x00009084, 0x8ca7852f, 0x00004496,
+ 0x28407d2f, 0x00008989, 0x7ac0071b, 0x0000f8cb, 0x61000000, 0x00001286,
0x1c000000, 0x0000e180, 0x0e017c3d, 0x00006006, 0x0f800c3d, 0x0000e181,
0x1c400000, 0x00008980, 0x00000c3e, 0x00006583, 0x1c800000, 0x00008980,
- 0x9c198330, 0x00001908, 0x00002705, 0x0000f011, 0x0e017c3e, 0x0000e806,
+ 0x9c198330, 0x00001908, 0x000025ba, 0x0000f011, 0x0e017c3e, 0x0000e806,
0x0f800c3e, 0x00009183, 0xd399732e, 0x00006108, 0x93db8370, 0x00004908,
- 0xd3d38a71, 0x0000e108, 0x941b8b71, 0x0000c908, 0x00002795, 0x00007010,
+ 0xd3d38a71, 0x0000e108, 0x941b8b71, 0x0000c908, 0x0000264a, 0x00007010,
0x94039172, 0x00000506, 0x1c000000, 0x000087c4, 0x1c800000, 0x00001980,
- 0x000025d8, 0x0000f200, 0x8000002f, 0x00006c06, 0x00c1ac1c, 0x00007902,
+ 0x0000248d, 0x00007200, 0x8000002f, 0x00006c06, 0x00c1ac1c, 0x00007902,
0x0d000000, 0x00000004, 0x00819e1c, 0x00007902, 0x0c400000, 0x00000004,
0xffffffff, 0x00007f97, 0x0d400835, 0x00001082, 0x0cc19a30, 0x00006002,
0x0d000034, 0x00000084, 0x0c400031, 0x00009084, 0x00f9ac1c, 0x00005004,
0x0039a000, 0x00000000, 0x00b99e1c, 0x00005004, 0x00398800, 0x00000000,
- 0x67c0043d, 0x0000f88b, 0x11000000, 0x00009384, 0x00c1aa1c, 0x00007902,
+ 0x1500043d, 0x0000f88b, 0xb9000000, 0x00001289, 0x00c1aa1c, 0x00007902,
0x0d000000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8f8588b0, 0x00001000,
0x0081dc1c, 0x00007902, 0x0e800000, 0x00008004, 0xcf81983e, 0x00007902,
0x0c400000, 0x00000004, 0xcf41ba3e, 0x00007902, 0x0d800000, 0x00008004,
@@ -24821,7 +25201,7 @@ ARRAY_DECL u32 init_val[] = {
0x0cc00833, 0x0000e082, 0x0e80003a, 0x00000084, 0x0dc1ba30, 0x00006002,
0x0c400031, 0x00000084, 0x0d800036, 0x00009084, 0x00f9aa1c, 0x00005004,
0x0039a000, 0x00000000, 0x00b9dc1c, 0x00005004, 0x0039d000, 0x00008000,
- 0x0000259f, 0x0000f400, 0xcfb9983e, 0x00005004, 0x00398800, 0x00000000,
+ 0x00002454, 0x0000f400, 0xcfb9983e, 0x00005004, 0x00398800, 0x00000000,
0xcf79ba3e, 0x00005004, 0x0039b000, 0x00008000, 0x00c1aa1c, 0x00007902,
0x0d000000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8f4588b0, 0x00001000,
0x0081dc1c, 0x00007902, 0x0e800000, 0x00008004, 0xcf419e3d, 0x00007902,
@@ -24830,38 +25210,38 @@ ARRAY_DECL u32 init_val[] = {
0x0cc00833, 0x0000e082, 0x0e80003a, 0x00000084, 0x0dc1ba30, 0x00006002,
0x0c400031, 0x00000084, 0x0d800036, 0x00009084, 0x00f9aa1c, 0x00005004,
0x0039a000, 0x00000000, 0x00b9dc1c, 0x00005004, 0x0039d000, 0x00008000,
- 0x0000259f, 0x0000f400, 0xcf799e3d, 0x00005004, 0x00398800, 0x00000000,
+ 0x00002454, 0x0000f400, 0xcf799e3d, 0x00005004, 0x00398800, 0x00000000,
0xcf79b83d, 0x0000d004, 0x0039b000, 0x00008000, 0x0000043e, 0x0000e583,
- 0xb8438000, 0x00000981, 0x000026b4, 0x0000f00b, 0x00000c3e, 0x00006583,
+ 0xb8438000, 0x00000981, 0x00002569, 0x0000f00b, 0x00000c3e, 0x00006583,
0x00198004, 0x00002186, 0x04198004, 0x0000e19f, 0x00000004, 0x0000b5b7,
0x0f800000, 0x000061b1, 0x0f80143e, 0x00004199, 0x10802400, 0x00007904,
- 0xad00043e, 0x0000f88b, 0x41000000, 0x00009388, 0xc000032f, 0x0000e582,
+ 0x5a40043e, 0x0000f88b, 0xe9000000, 0x0000928d, 0xc000032f, 0x0000e582,
0x0e017c3d, 0x0000a006, 0x4f00153c, 0x0000e089, 0x0e017c3e, 0x0000200e,
0x0f400c3d, 0x00006180, 0x0f800c3e, 0x00000189, 0x3869e53c, 0x00006101,
0x8c19732f, 0x0000c000, 0x1603b076, 0x0000e110, 0x0e017c3e, 0x0000e016,
0x2c11eb30, 0x00001600, 0x8f4588b0, 0x00001000, 0x1643b877, 0x00006110,
0x96997b2f, 0x0000c910, 0x96998330, 0x0000e108, 0x1780c018, 0x00004900,
0x00000c3e, 0x00006583, 0x8c51ea30, 0x00008000, 0x17c0c819, 0x0000e100,
- 0xd000005b, 0x0000e400, 0x17020300, 0x0000f904, 0x0000276d, 0x00007410,
+ 0xd000005b, 0x0000e400, 0x17020300, 0x0000f904, 0x00002622, 0x00007410,
0x10620c3e, 0x00006001, 0xd051ea30, 0x00008000, 0x9792d231, 0x00006100,
0x8f52d231, 0x00000100, 0x1dfae75d, 0x00000718, 0x1d83b23d, 0x0000e002,
0x8100b800, 0x00008980, 0x1dc00077, 0x00006084, 0x8221f204, 0x00002086,
- 0x003020ec, 0x00005702, 0x00007800, 0x00008080, 0xb607852f, 0x00004496,
- 0xbe407d2f, 0x0000098b, 0x85c0071b, 0x000078c3, 0x01000001, 0x00008080,
- 0x0f400c2f, 0x0000e781, 0x0e017c04, 0x0000a006, 0x01400c2f, 0x0000e283,
+ 0x003020ec, 0x00005702, 0x00007800, 0x00008080, 0x8ca7852f, 0x00004496,
+ 0x28407d2f, 0x00008989, 0x3300071b, 0x0000f8c3, 0x01000001, 0x00008080,
+ 0x0f400c2f, 0x0000e781, 0x0e017c05, 0x00002006, 0x01000c2f, 0x00006283,
0x8f99632c, 0x00000900, 0x38439c3d, 0x0000e081, 0xb8439c3d, 0x00000081,
- 0x8f4ffb2c, 0x0000e290, 0x01000c04, 0x00000191, 0x00002746, 0x0000f008,
+ 0x8f4ffb2c, 0x0000e290, 0x01400c05, 0x00000191, 0x000025fb, 0x00007008,
0x800fe23d, 0x00009582, 0x8f800b2c, 0x0000e0d0, 0x8f801b2c, 0x000080b8,
- 0xffffffff, 0x00007f86, 0x01420200, 0x00007904, 0xc159632c, 0x00009900,
- 0x10802c00, 0x0000f904, 0x00000404, 0x00001583, 0x8151f23e, 0x00009910,
- 0x00002617, 0x00007009, 0x00000c04, 0x00009583, 0xc1400000, 0x000061b0,
- 0x01000000, 0x000049b1, 0x8f4ffa3e, 0x00001298, 0x00002745, 0x00007030,
- 0x800fe23d, 0x00009582, 0xc1401a3e, 0x000090b8, 0xc1400a3e, 0x000090d0,
- 0x00002755, 0x00007038, 0x800fe23d, 0x00009582, 0x8f80123e, 0x00001090,
- 0x00002756, 0x0000f011, 0x8f80223e, 0x00009080, 0x00002745, 0x0000f200,
- 0x01001404, 0x00001181, 0x01000c2f, 0x00006283, 0x0f800c2f, 0x00008781,
+ 0xffffffff, 0x00007f86, 0x01020200, 0x0000f904, 0xc119632c, 0x00001900,
+ 0x10802400, 0x00007904, 0x00000405, 0x00009583, 0x8111f23e, 0x00001910,
+ 0x000024cc, 0x0000f009, 0x00000c05, 0x00001583, 0xc1000000, 0x0000e1b0,
+ 0x01400000, 0x0000c9b1, 0x8f4ffa3e, 0x00001298, 0x000025fa, 0x00007030,
+ 0x800fe23d, 0x00009582, 0xc1001a3e, 0x000010b8, 0xc1000a3e, 0x000010d0,
+ 0x0000260a, 0x0000f038, 0x800fe23d, 0x00009582, 0x8f80123e, 0x00001090,
+ 0x0000260b, 0x0000f011, 0x8f80223e, 0x00009080, 0x000025fa, 0x0000f200,
+ 0x01401405, 0x00001181, 0x01000c2f, 0x00006283, 0x0f800c2f, 0x00008781,
0x3843843e, 0x0000e081, 0xb843843e, 0x00000081, 0x8f80152e, 0x0000e090,
- 0x08001a3d, 0x0000e116, 0x00002786, 0x0000f008, 0x01400040, 0x00009980,
+ 0x08001a3d, 0x0000e116, 0x0000263b, 0x00007008, 0x01400040, 0x00009980,
0xb6bb9a3e, 0x0000a804, 0xb6bba43e, 0x0000383c, 0x01020200, 0x0000f904,
0x0011e805, 0x0000e184, 0x04197004, 0x0000b187, 0x10802400, 0x00007904,
0xb6bbb63e, 0x0000383c, 0xb6bb803e, 0x0000383c, 0xb6bb923e, 0x0000a884,
@@ -24869,11 +25249,11 @@ ARRAY_DECL u32 init_val[] = {
0x00d87d80, 0x000000c4, 0x0000143e, 0x00006583, 0x0c400c3e, 0x00008181,
0x0019805e, 0x0000e186, 0xd000005f, 0x00003400, 0x18020300, 0x0000f904,
0x0c001431, 0x0000e081, 0x1882f05e, 0x00004900, 0x19020300, 0x00007904,
- 0x0000277d, 0x00007430, 0x19baff5e, 0x0000860c, 0x19c2f85f, 0x00006100,
+ 0x00002632, 0x00007430, 0x19baff5e, 0x0000860c, 0x19c2f85f, 0x00006100,
0xb842e430, 0x0000c081, 0x1a020300, 0x00007904, 0x1b020300, 0x0000f904,
0x1abaff5e, 0x0000062c, 0x1bfaf75f, 0x00000638, 0x8c618c31, 0x00009900,
0xffffffff, 0x00007f86, 0x2c198231, 0x00001600, 0x810588b0, 0x00001000,
- 0x8610223d, 0x00009100, 0x1d821300, 0x0000f904, 0x0000272c, 0x0000f400,
+ 0x8610223d, 0x00009100, 0x1d821300, 0x0000f904, 0x000025e1, 0x0000f400,
0x1080c500, 0x00007904, 0x8f50c218, 0x00009900, 0x01000000, 0x0000e180,
0x08001a3d, 0x00006106, 0x8f80152e, 0x00006080, 0x00197004, 0x0000e186,
0x10802400, 0x00007904, 0x01400040, 0x00009980, 0xb6bb923e, 0x0000383c,
@@ -24881,9 +25261,9 @@ ARRAY_DECL u32 init_val[] = {
0x0011e805, 0x00006984, 0x733828ec, 0x0000d600, 0x00000000, 0x00008080,
0x008886ec, 0x0000df80, 0x00d87d80, 0x000000c4, 0x01400c3e, 0x0000e283,
0x0f400c3e, 0x00008781, 0xb843843d, 0x00006081, 0x3843843d, 0x00008081,
- 0x000027c0, 0x0000f009, 0xffffffff, 0x00007fa7, 0x01420200, 0x00007904,
+ 0x00002675, 0x0000f009, 0xffffffff, 0x00007fa7, 0x01420200, 0x00007904,
0x04197005, 0x0000e987, 0x10802c00, 0x0000f904, 0x93838170, 0x0000043e,
- 0x93c38971, 0x00000502, 0x94039172, 0x00000506, 0x000026be, 0x0000f400,
+ 0x93c38971, 0x00000502, 0x94039172, 0x00000506, 0x00002573, 0x00007400,
0x1c000000, 0x000087c4, 0x1c800000, 0x00001980, 0x00c1ae1c, 0x0000f902,
0x0d000000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8f8588b0, 0x00001000,
0x00c1d81c, 0x00007902, 0x0e800000, 0x00008004, 0xcf019e3e, 0x0000f902,
@@ -24893,10 +25273,10 @@ ARRAY_DECL u32 init_val[] = {
0x0c400031, 0x00000084, 0x0d800036, 0x00009084, 0x00f9ae1c, 0x0000d004,
0x0039a000, 0x00000000, 0x00f9d81c, 0x00005004, 0x0039d000, 0x00008000,
0xcf399e3e, 0x0000d004, 0x00398800, 0x00000000, 0xcf39b83e, 0x00005004,
- 0x0039b000, 0x00008000, 0x67c0043d, 0x0000f88b, 0x11000000, 0x00009384,
+ 0x0039b000, 0x00008000, 0x1500043d, 0x0000f88b, 0xb9000000, 0x00001289,
0x01000000, 0x00009980, 0x00197004, 0x00006986, 0x10802400, 0x00007904,
0x93838170, 0x0000043e, 0x93c38971, 0x00000502, 0x94039172, 0x00000506,
- 0x000026be, 0x0000f400, 0x1c000000, 0x000087c4, 0x1c800000, 0x00001980,
+ 0x00002573, 0x00007400, 0x1c000000, 0x000087c4, 0x1c800000, 0x00001980,
0x00c1ac1c, 0x00007902, 0x0d000000, 0x00000004, 0x2c0066e3, 0x00001680,
0x8f8588b0, 0x00001000, 0x0081de1c, 0x0000f902, 0x0e800000, 0x00008004,
0xcf019c3e, 0x00007902, 0x0c400000, 0x00000004, 0xcec1be3e, 0x0000f902,
@@ -24905,165 +25285,165 @@ ARRAY_DECL u32 init_val[] = {
0x0dc1ba30, 0x00006002, 0x0c400031, 0x00000084, 0x0d800036, 0x00009084,
0x00f9ac1c, 0x00005004, 0x0039a000, 0x00000000, 0x00b9de1c, 0x0000d004,
0x0039d000, 0x00008000, 0xcf399c3e, 0x00005004, 0x00398800, 0x00000000,
- 0xcef9be3e, 0x0000d004, 0x0039b000, 0x00008000, 0x67c0043d, 0x0000f88b,
- 0x11000000, 0x00009384, 0x01000c2f, 0x00006283, 0x0f400c2f, 0x00008781,
+ 0xcef9be3e, 0x0000d004, 0x0039b000, 0x00008000, 0x1500043d, 0x0000f88b,
+ 0xb9000000, 0x00001289, 0x01000c2f, 0x00006283, 0x0f400c2f, 0x00008781,
0x01617c3e, 0x00006101, 0x8199632c, 0x00008900, 0x01217c3e, 0x00006109,
- 0x38439c3d, 0x00008081, 0x000027f5, 0x0000f208, 0x01000c05, 0x0000e191,
+ 0x38439c3d, 0x00008081, 0x000026aa, 0x00007208, 0x01000c05, 0x0000e191,
0xb8439c3d, 0x00000081, 0x8f4ffb2c, 0x00009280, 0x800fe23d, 0x00009582,
0x81800b2c, 0x000060d0, 0x81801b2c, 0x000000b8, 0x02020200, 0x0000f904,
0xc219632c, 0x00001900, 0x10804400, 0x00007904, 0x00000404, 0x00001583,
- 0x82103206, 0x00001910, 0x00002825, 0x00007009, 0x00000c04, 0x00009583,
+ 0x82103206, 0x00001910, 0x000026da, 0x0000f009, 0x00000c04, 0x00009583,
0xc2000000, 0x0000e1b0, 0x01000000, 0x000049b1, 0x8f4ffa06, 0x00009298,
- 0x000027f4, 0x00007030, 0x800fe23d, 0x00009582, 0xc2001a06, 0x000090b8,
- 0xc2000a06, 0x000090d0, 0x00002804, 0x0000f038, 0x800fe23d, 0x00009582,
- 0x81801206, 0x00001090, 0x00002805, 0x0000f011, 0x81802206, 0x00009080,
- 0x000027f4, 0x0000f200, 0x01001404, 0x00001181, 0x0000042f, 0x0000e583,
+ 0x000026a9, 0x00007030, 0x800fe23d, 0x00009582, 0xc2001a06, 0x000090b8,
+ 0xc2000a06, 0x000090d0, 0x000026b9, 0x00007038, 0x800fe23d, 0x00009582,
+ 0x81801206, 0x00001090, 0x000026ba, 0x0000f011, 0x81802206, 0x00009080,
+ 0x000026a9, 0x0000f200, 0x01001404, 0x00001181, 0x0000042f, 0x0000e583,
0x0f800c3d, 0x00008181, 0x00000c3e, 0x0000158b, 0x9c198330, 0x00001908,
- 0x0000283d, 0x00007011, 0x0f400c2f, 0x0000e181, 0x0e017c3e, 0x0000a006,
+ 0x000026f2, 0x0000f011, 0x0f400c2f, 0x0000e181, 0x0e017c3e, 0x0000a006,
0x0fa1f43d, 0x00001003, 0x0f400c3e, 0x00009791, 0xb843843d, 0x0000e091,
- 0x3843843d, 0x00000091, 0x0000261c, 0x00007008, 0x01000c3e, 0x00009283,
+ 0x3843843d, 0x00000091, 0x000024d1, 0x00007008, 0x01000c3e, 0x00009283,
0x8f80152e, 0x0000e090, 0x08001a3d, 0x0000e116, 0xb6bb9a3e, 0x00002814,
- 0x00002786, 0x0000f008, 0x01020200, 0x0000f904, 0x01400040, 0x0000e180,
+ 0x0000263b, 0x00007008, 0x01020200, 0x0000f904, 0x01400040, 0x0000e180,
0x04197004, 0x0000e187, 0x10802400, 0x00007904, 0xb6bba43e, 0x0000383c,
0xb6bbb63e, 0x0000383c, 0x0011e805, 0x00006984, 0xb6bb803e, 0x0000383c,
0xb6bb923e, 0x0000a884, 0x733828ec, 0x0000d600, 0x00000000, 0x00008080,
0x008886ec, 0x0000df80, 0x00d87d80, 0x000000c4, 0x0000042f, 0x00001583,
- 0x00000c05, 0x0000958b, 0x9c198330, 0x00001908, 0x00002854, 0x00007011,
+ 0x00000c05, 0x0000958b, 0x9c198330, 0x00001908, 0x00002709, 0x0000f011,
0x8f8ffb2c, 0x00009280, 0x0f602a3e, 0x00009000, 0x000fe83d, 0x00001582,
- 0x8f40132c, 0x000090b8, 0x8f91ec05, 0x00009038, 0x00002852, 0x00007050,
+ 0x8f40132c, 0x000090b8, 0x8f91ec05, 0x00009038, 0x00002707, 0x00007050,
0x8b0b813e, 0x0000843a, 0x93db8370, 0x0000e100, 0x0e017c3e, 0x00006006,
0x0f602c3e, 0x00006101, 0x0000002f, 0x00002506, 0xd3d38a71, 0x00006100,
0x8221e82f, 0x0000e006, 0x940b9071, 0x00008502, 0x947b9872, 0x00008508,
- 0x14fbaf74, 0x00000510, 0x1c000000, 0x000087c4, 0x00002635, 0x0000f400,
+ 0x14fbaf74, 0x00000510, 0x1c000000, 0x000087c4, 0x000024ea, 0x0000f400,
0x1c800000, 0x000087cc, 0x1d400000, 0x000087d0, 0x01000c2f, 0x00001781,
0x38438404, 0x0000e081, 0xb8438404, 0x00000081, 0x01000c2f, 0x00009283,
- 0x0f80143d, 0x00009191, 0x00002847, 0x0000f009, 0xffffffff, 0x00007f86,
+ 0x0f80143d, 0x00009191, 0x000026fc, 0x00007009, 0xffffffff, 0x00007f86,
0x01020200, 0x0000f904, 0x04198004, 0x00006987, 0x10802400, 0x00007904,
- 0x0000043e, 0x00001583, 0x0000280c, 0x0000700b, 0x00000c3e, 0x00006583,
+ 0x0000043e, 0x00001583, 0x000026c1, 0x0000700b, 0x00000c3e, 0x00006583,
0x00198004, 0x00002186, 0x04198004, 0x0000e19f, 0x00000004, 0x0000b5b7,
0x0f800000, 0x000061b1, 0x0f80143e, 0x00004199, 0x10802400, 0x00007904,
- 0x0300043e, 0x0000f88a, 0x49400000, 0x00001482, 0x0000282f, 0x0000f200,
+ 0xb040043e, 0x0000788b, 0xf1000000, 0x00001387, 0x000026e4, 0x0000f200,
0x8f996405, 0x00009000, 0x01000c2f, 0x00001781, 0x38438404, 0x0000e081,
0xb8438404, 0x00000081, 0x01000c2f, 0x00009283, 0x0fa17c3e, 0x00009109,
- 0x0f800c05, 0x00001191, 0x0000285f, 0x00007008, 0xffffffff, 0x00007f86,
+ 0x0f800c05, 0x00001191, 0x00002714, 0x00007008, 0xffffffff, 0x00007f86,
0x01020200, 0x0000f904, 0x04198004, 0x00006987, 0x10802400, 0x00007904,
- 0x0000043e, 0x00001583, 0x00002829, 0x0000f00b, 0x00000c3e, 0x00006583,
+ 0x0000043e, 0x00001583, 0x000026de, 0x0000f00b, 0x00000c3e, 0x00006583,
0x00198004, 0x00002186, 0x04198004, 0x0000e19f, 0x00000004, 0x0000b5b7,
0x0f800000, 0x000061b1, 0x0f80143e, 0x00004199, 0x10802400, 0x00007904,
- 0x0a40043e, 0x0000788a, 0x09400000, 0x00001483, 0x0107f808, 0x00006280,
- 0x11c03807, 0x00000900, 0x286f1d18, 0x0000f500, 0x11b82f06, 0x00008410,
+ 0xb780043e, 0x0000f88b, 0xb1000000, 0x00009388, 0x0107f808, 0x00006280,
+ 0x12003807, 0x00000900, 0x27241bcc, 0x0000f500, 0x11b82f06, 0x00008410,
0x03402004, 0x00001900, 0x00400000, 0x00007900, 0x00008090, 0x00000980,
0x00002c3d, 0x0000e583, 0xc0c05000, 0x00008980, 0x00002c3d, 0x00001583,
- 0xffffffff, 0x00007f86, 0x0000287d, 0x00007008, 0x00002879, 0x00007018,
- 0x0000287d, 0x00007200, 0x0000243d, 0x00009583, 0x0000343d, 0x00001583,
- 0x0000287d, 0x0000700b, 0x0000287d, 0x00007200, 0x00003c3d, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00002732, 0x0000f008, 0x0000272e, 0x0000f018,
+ 0x00002732, 0x0000f200, 0x0000243d, 0x00009583, 0x0000343d, 0x00001583,
+ 0x00002732, 0x0000f00b, 0x00002732, 0x0000f200, 0x00003c3d, 0x00009583,
0xffc00000, 0x00006180, 0x90000001, 0x0000e401, 0xc0000800, 0x00001981,
0x008806ec, 0x00005f80, 0x00005000, 0x00000084, 0x01000000, 0x00006181,
0x0021e80a, 0x0000e086, 0x01400000, 0x0000e181, 0x8229e80a, 0x00006086,
0x81d96b2d, 0x0000e100, 0x0419e80a, 0x0000e187, 0x02c9770a, 0x00008012,
- 0x11e07800, 0x00007900, 0x003ec556, 0x00000980, 0x41b9e42e, 0x00000428,
+ 0x11e08000, 0x0000f900, 0x003ec556, 0x00000980, 0x41b9e42e, 0x00000428,
0x1240580b, 0x00001900, 0xffffffff, 0x0000ffe7, 0x82c04cec, 0x00007902,
0x02000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x02804809, 0x0000e100,
0x00002008, 0x0000e586, 0x1200500a, 0x0000e100, 0x0429e808, 0x0000e087,
- 0x28981d3a, 0x00007500, 0x8621e808, 0x0000e887, 0x11804008, 0x00001900,
- 0x2ee0343d, 0x0000c389, 0x0040343d, 0x00000098, 0x00c0243d, 0x0000c589,
- 0x0b202c3d, 0x0000908d, 0x24203c3d, 0x0000c289, 0x48404c3d, 0x00008a8b,
- 0x1fa0840d, 0x00004597, 0x8fe0670c, 0x00008f8e, 0x28a3211a, 0x00007404,
+ 0x274d1bee, 0x0000f500, 0x8621e808, 0x0000e887, 0x11804008, 0x00001900,
+ 0x0580343d, 0x0000c389, 0x0040343d, 0x00000098, 0x00c0243d, 0x0000c589,
+ 0x0b202c3d, 0x0000908d, 0xfac03c3d, 0x0000c288, 0xb2404c3d, 0x00008a88,
+ 0x1fa0840d, 0x00004597, 0x8fe0670c, 0x00008f8e, 0x27581fce, 0x00007404,
0x1239ff3e, 0x00000504, 0x14009f00, 0x00001980, 0x0000044d, 0x00009583,
- 0x823f1fe3, 0x00001908, 0xee004608, 0x0000a088, 0x000028ac, 0x00007010,
- 0xffffffff, 0x00007f97, 0x02003c08, 0x00001281, 0x02001408, 0x00001181,
- 0x00000c08, 0x00009583, 0x000028b1, 0x0000f01b, 0x01c46800, 0x00007900,
- 0x003ec558, 0x00008980, 0x00002931, 0x00007400, 0xc239f04d, 0x00008018,
- 0x0141f83f, 0x00009900, 0x70784849, 0x0000a000, 0x70005e49, 0x0000f902,
- 0x02800000, 0x00000000, 0x70021a49, 0x00007902, 0x10800000, 0x00000000,
- 0x7001fc49, 0x0000f902, 0x0f800000, 0x00008000, 0x82371ee3, 0x0000e100,
- 0x0a020409, 0x0000e002, 0x70423e49, 0x0000f902, 0x11800000, 0x00008000,
- 0x0a000000, 0x0000f900, 0x00307fc0, 0x00000980, 0xfb804208, 0x0000a080,
- 0x0000040b, 0x0000e583, 0x0ac00000, 0x00008980, 0xca31fd09, 0x0000822d,
- 0x8ad21a43, 0x00006100, 0x00400028, 0x0000e517, 0x04185828, 0x0000e111,
- 0xe7a0502b, 0x0000b001, 0x0a4a000d, 0x00006180, 0x96685828, 0x0000e013,
- 0x05000000, 0x00006180, 0x8620402b, 0x00006083, 0x05400000, 0x000001d8,
- 0x05c00000, 0x000001e0, 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0,
- 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8,
- 0x08c00000, 0x000082d0, 0x09400000, 0x000002d8, 0x09c00000, 0x000002f4,
- 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4, 0x0c800000, 0x000083cc,
- 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc, 0x0e000000, 0x000083e4,
- 0x0e800000, 0x000083ec, 0x8a800a43, 0x00006080, 0xca9a1342, 0x00004900,
- 0xcb121242, 0x00006100, 0x8b001d3e, 0x00004880, 0x00000047, 0x00006582,
- 0xca581302, 0x00008900, 0x00000046, 0x00001582, 0xffffffff, 0x00007f86,
- 0x000028e5, 0x0000f010, 0x000028e8, 0x00007008, 0x00002912, 0x0000f200,
- 0xcbd84b09, 0x00006100, 0xf000082b, 0x0000e401, 0x0000040a, 0x00006583,
- 0x02000000, 0x00008981, 0x02c00000, 0x0000e191, 0x02c03800, 0x00004989,
- 0x00000409, 0x00006583, 0x00000832, 0x00002502, 0x02000800, 0x00006191,
- 0xc0000032, 0x00006400, 0x0000040b, 0x0000e583, 0x0c002030, 0x00000380,
- 0xc3204032, 0x0000e000, 0x80004830, 0x0000b486, 0x02002800, 0x0000e191,
- 0x02000000, 0x0000c989, 0x4d720640, 0x00009901, 0x02000c0b, 0x0000e080,
- 0xc3204030, 0x0000a006, 0x02000808, 0x00006784, 0xcc205c0b, 0x00008901,
- 0x0000040a, 0x00006583, 0x0c401c08, 0x00008081, 0x0e800000, 0x0000e188,
- 0x00003838, 0x0000640e, 0xffffffff, 0x00007f86, 0x001a103a, 0x00006108,
- 0x80003038, 0x0000340e, 0x00002908, 0x00007010, 0x00002912, 0x0000f400,
- 0x0ed00000, 0x0000f900, 0x00008004, 0x00008980, 0x0021f83b, 0x0000e080,
- 0xd0000838, 0x00003400, 0x0e580000, 0x00006180, 0x08001a08, 0x00006106,
- 0x0e800040, 0x0000e180, 0x04104039, 0x0000e101, 0x0e000000, 0x00007900,
+ 0x82bf1fe3, 0x00009908, 0xee00560a, 0x0000a088, 0x00002761, 0x0000f010,
+ 0xffffffff, 0x00007f97, 0x02803c0a, 0x00001281, 0x0280140a, 0x00001181,
+ 0x00000c0a, 0x00001583, 0x00002766, 0x0000f01b, 0x01c47000, 0x00007900,
+ 0x003ec558, 0x00008980, 0x000027e6, 0x0000f400, 0xc239f04d, 0x00008018,
+ 0x0141f83f, 0x00009900, 0x70023249, 0x00007902, 0x10c00000, 0x00008000,
+ 0x70005e49, 0x0000f902, 0x0fc00000, 0x00000000, 0x70021449, 0x0000f902,
+ 0x0f800000, 0x00008000, 0x70785049, 0x0000a000, 0x82b71ee3, 0x00006100,
+ 0xcb121a43, 0x00004900, 0x70404e49, 0x0000f902, 0x02000000, 0x00008000,
+ 0x0a000000, 0x0000f900, 0x00307fc0, 0x00000980, 0x0ac00000, 0x00006180,
+ 0x0a020443, 0x00006002, 0xfb80520a, 0x0000a080, 0x0000040b, 0x0000e583,
+ 0x8a221c43, 0x00008900, 0x8ae21442, 0x0000e101, 0x00400028, 0x0000e517,
+ 0x8ad23246, 0x00006100, 0x04185828, 0x0000e111, 0x0a4a000d, 0x00006180,
+ 0xe7a1f82b, 0x0000e001, 0x96685828, 0x0000e013, 0x8620502b, 0x0000b083,
+ 0x05000000, 0x000081d4, 0x05800000, 0x000081dc, 0x06000000, 0x000081e4,
+ 0x06800000, 0x000081ec, 0x07000000, 0x000081f4, 0x07800000, 0x000081fc,
+ 0x08000000, 0x000082c4, 0x08800000, 0x000082cc, 0x09000000, 0x000082d4,
+ 0x09800000, 0x000082dc, 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0,
+ 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8,
+ 0x0dc00000, 0x000003e0, 0x0e400000, 0x000003e8, 0x0ec00000, 0x0000e180,
+ 0xca9a1b43, 0x00004900, 0x8a800a46, 0x00006080, 0x8b001d3e, 0x00004880,
+ 0x00000009, 0x00006582, 0xca581302, 0x00008900, 0x00000008, 0x00001582,
+ 0xffffffff, 0x00007f86, 0x0000279b, 0x0000f010, 0x0000279e, 0x0000f008,
+ 0x000027c7, 0x0000f200, 0xcbd8530a, 0x00006100, 0xf000082b, 0x0000e401,
+ 0x0000043f, 0x00006583, 0x02000000, 0x00008981, 0x02400000, 0x00006191,
+ 0x02403800, 0x0000c989, 0x00000443, 0x0000e583, 0x00000832, 0x00002502,
+ 0x02000800, 0x00006191, 0xc0000032, 0x00006400, 0x00000409, 0x00006583,
+ 0x0c002030, 0x00000380, 0x02800c09, 0x0000e080, 0xc3204032, 0x00002000,
+ 0x02002800, 0x0000e191, 0x02000000, 0x0000c989, 0x0280080a, 0x00006784,
+ 0x80004830, 0x00002486, 0x0000043f, 0x00006583, 0xc3204030, 0x0000a006,
+ 0x4d720640, 0x0000e101, 0x0c401c0a, 0x0000c081, 0xcc204c09, 0x00006101,
+ 0x00003838, 0x0000640e, 0x000027bd, 0x00007010, 0x0e800000, 0x00006180,
+ 0x80003038, 0x0000e406, 0x0ed00000, 0x0000f900, 0x00008004, 0x00008980,
+ 0x000027c7, 0x0000f400, 0x001a183a, 0x00006100, 0xd0000838, 0x00003400,
+ 0x0022103b, 0x00006880, 0x0e580000, 0x00006180, 0x08001a0a, 0x0000e106,
+ 0x0e800040, 0x0000e180, 0x04105039, 0x00006101, 0x0e000000, 0x00007900,
0x00008000, 0x00000980, 0x0c000830, 0x00006380, 0x0c403800, 0x00000981,
- 0x8ea04c09, 0x00006100, 0x0ec10060, 0x00004980, 0x0000040a, 0x00006583,
+ 0x8ea21c43, 0x00006100, 0x0ec10060, 0x00004980, 0x0000043f, 0x00006583,
0x02000000, 0x00000980, 0x8e80002a, 0x00005084, 0x00400000, 0x00008000,
- 0x01004043, 0x00002880, 0x0000291f, 0x0000f408, 0x8e80002a, 0x0000d004,
- 0x00400000, 0x00000080, 0x82c0523f, 0x00008024, 0x4000050a, 0x00006583,
+ 0x01004046, 0x00002880, 0x000027d4, 0x0000f408, 0x8e80002a, 0x0000d004,
+ 0x00400000, 0x00000080, 0x82c1fa42, 0x00008024, 0x4000053f, 0x00006583,
0xcb503a07, 0x00000900, 0x8bb03004, 0x00008239, 0x01000800, 0x00001991,
- 0x00002947, 0x0000f200, 0x02803000, 0x00009981, 0x2924211a, 0x0000f404,
+ 0x000027fc, 0x00007200, 0x02803000, 0x00009981, 0x27d91fce, 0x00007404,
0x1239ff3e, 0x00000504, 0x14009b00, 0x00009980, 0x0000044d, 0x00009583,
- 0x823f1fe3, 0x00001908, 0xee004608, 0x0000a088, 0x0000292d, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x02003c08, 0x00001281, 0x02001408, 0x00001181,
- 0x00000c08, 0x00009583, 0x00002932, 0x0000f01b, 0x01e5b000, 0x00007900,
+ 0x82bf1fe3, 0x00009908, 0xee00560a, 0x0000a088, 0x000027e2, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x02803c0a, 0x00001281, 0x0280140a, 0x00001181,
+ 0x00000c0a, 0x00001583, 0x000027e7, 0x0000f01b, 0x01e67000, 0x00007900,
0x003ec558, 0x00008980, 0xc239f04d, 0x00008018, 0x0141f83f, 0x00009900,
- 0x2932286a, 0x00007100, 0x70005449, 0x0000f902, 0x02400000, 0x00000000,
+ 0x27e7271f, 0x0000f100, 0x70005449, 0x0000f902, 0x02400000, 0x00000000,
0x70385a49, 0x0000a080, 0xffffffff, 0x00007f97, 0x4000050a, 0x00009583,
0x0b800000, 0x0000e190, 0x0bc00000, 0x00004990, 0x0c000000, 0x0000e190,
- 0x0c400000, 0x00004990, 0x00002943, 0x00007008, 0x0c800000, 0x0000e180,
+ 0x0c400000, 0x00004990, 0x000027f8, 0x0000f008, 0x0c800000, 0x0000e180,
0xf000082b, 0x0000e401, 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8,
0x0dc00000, 0x000003e0, 0x0e400000, 0x000003e8, 0x0bc00509, 0x000083ac,
0x02f05e0b, 0x0000e101, 0x08815c09, 0x0000e000, 0x02803800, 0x00006181,
- 0x0fb85f0b, 0x0000c901, 0x35e0040b, 0x00004289, 0x5a400409, 0x00000a8b,
- 0x40600409, 0x0000c489, 0x5640043e, 0x00000a94, 0x92000405, 0x0000f892,
- 0xd1400000, 0x00001581, 0x2950211a, 0x0000f404, 0x1239ff3e, 0x00000504,
- 0x14009900, 0x00001980, 0x0000044d, 0x00009583, 0x823f1fe3, 0x00001908,
- 0xee004608, 0x0000a088, 0x00002959, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x02003c08, 0x00001281, 0x02001408, 0x00001181, 0x00000c08, 0x00009583,
- 0x0000295e, 0x0000f01b, 0x01e8b800, 0x00007900, 0x003ec558, 0x00008980,
- 0x00002931, 0x00007400, 0xc239f04d, 0x00008018, 0x0141f83f, 0x00009900,
+ 0x0fb85f0b, 0x0000c901, 0x0c80040b, 0x00004289, 0xc4400409, 0x00008a88,
+ 0x17000409, 0x00004489, 0xc040043e, 0x00000a91, 0x3f400405, 0x0000f892,
+ 0x79400000, 0x00001487, 0x28051fce, 0x0000f404, 0x1239ff3e, 0x00000504,
+ 0x14009900, 0x00001980, 0x0000044d, 0x00009583, 0x82bf1fe3, 0x00009908,
+ 0xee00560a, 0x0000a088, 0x0000280e, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0x02803c0a, 0x00001281, 0x0280140a, 0x00001181, 0x00000c0a, 0x00001583,
+ 0x00002813, 0x0000701b, 0x01e8c000, 0x00007900, 0x003ec558, 0x00008980,
+ 0x000027e6, 0x0000f400, 0xc239f04d, 0x00008018, 0x0141f83f, 0x00009900,
0x70384a49, 0x00002080, 0x0201040d, 0x00009283, 0x01000800, 0x00006191,
- 0x01400800, 0x0000c991, 0xcbd9eb3d, 0x00009910, 0x00002974, 0x00007208,
+ 0x01400800, 0x0000c991, 0xcbd9eb3d, 0x00009910, 0x00002829, 0x00007208,
0x02f04e09, 0x00006109, 0x0fb84f09, 0x00004909, 0x80000609, 0x00006583,
0x8630482e, 0x0000a001, 0x0fb04e09, 0x00006109, 0x9678482e, 0x0000e001,
- 0x02f04e09, 0x00006109, 0xa6a2082e, 0x0000e001, 0x00002974, 0x0000f008,
+ 0x02f04e09, 0x00006109, 0xa6a2082e, 0x0000e001, 0x00002829, 0x0000f008,
0x8201fa40, 0x0000e282, 0x0fa26c4d, 0x00000901, 0x02e26c4d, 0x0000e101,
- 0x82000a40, 0x00004088, 0x8eba202a, 0x0000d00c, 0x003a2800, 0x00000000,
- 0x8ea0422a, 0x0000288c, 0x00002947, 0x0000f200, 0x02804000, 0x00006181,
- 0x08815c09, 0x0000e000, 0x297a211a, 0x00007404, 0x1239ff3e, 0x00000504,
- 0x14009e00, 0x00009980, 0x0000044d, 0x00009583, 0x823f1fe3, 0x00001908,
- 0xee003608, 0x00002088, 0x00002983, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x82800a40, 0x0000c088, 0x8eba202a, 0x0000d00c, 0x003a2800, 0x00000000,
+ 0x8ea0522a, 0x0000a88c, 0x000027fc, 0x00007200, 0x02804000, 0x00006181,
+ 0x08815c09, 0x0000e000, 0x282f1fce, 0x00007404, 0x1239ff3e, 0x00000504,
+ 0x14009e00, 0x00009980, 0x0000044d, 0x00009583, 0x82bf1fe3, 0x00009908,
+ 0xee00360a, 0x0000a088, 0x00002838, 0x0000f010, 0xffffffff, 0x00007f97,
0x01803c06, 0x00001281, 0x01801406, 0x00001181, 0x00000c06, 0x00001583,
- 0x00002988, 0x0000701b, 0x01c8b800, 0x0000f900, 0x003ec558, 0x00008980,
- 0x00002931, 0x00007400, 0xc239f04d, 0x00008018, 0x0141f83f, 0x00009900,
- 0x70384a49, 0x00002080, 0x70384449, 0x0000a080, 0x70383e49, 0x0000a000,
- 0xffffffff, 0x00007f86, 0x41a04c09, 0x0000001c, 0x02404408, 0x00001283,
- 0xcb503a07, 0x00006110, 0x8b983b07, 0x0000c910, 0x8bb04e09, 0x00001911,
- 0x00002994, 0x00007008, 0x02408408, 0x00001283, 0x01000800, 0x00001991,
- 0x02802000, 0x00006181, 0x0f404408, 0x00006000, 0x0f800800, 0x00009981,
- 0x40600408, 0x00004489, 0x5640043e, 0x00000a94, 0x92000405, 0x0000f892,
- 0xd1400000, 0x00001581, 0x8bc0083d, 0x00008092, 0x01400800, 0x00001981,
+ 0x0000283d, 0x0000701b, 0x01c8c000, 0x0000f900, 0x003ec558, 0x00008980,
+ 0x000027e6, 0x0000f400, 0xc239f04d, 0x00008018, 0x0141f83f, 0x00009900,
+ 0x70384249, 0x0000a080, 0x70384c49, 0x00002080, 0x70383e49, 0x0000a000,
+ 0xffffffff, 0x00007f86, 0x41a04408, 0x0000001c, 0x02004409, 0x00001283,
+ 0xcb503a07, 0x00006110, 0x8b983b07, 0x0000c910, 0x8bb04608, 0x00001911,
+ 0x00002849, 0x0000f008, 0x02008409, 0x00001283, 0x01000800, 0x00001991,
+ 0x02802000, 0x00006181, 0x0f404c08, 0x0000e000, 0x0f800800, 0x00009981,
+ 0x17000408, 0x0000c489, 0xc040043e, 0x00000a91, 0x3f400405, 0x0000f892,
+ 0x79400000, 0x00001487, 0x8bc0083d, 0x00008092, 0x01400800, 0x00001981,
0x00000405, 0x00006583, 0x01800000, 0x00000981, 0x02802800, 0x0000e181,
0x01800800, 0x0000c989, 0xffffffff, 0x00007f86, 0x11200406, 0x0000c590,
0x0a600405, 0x00000994, 0x03000020, 0x0000e180, 0x0141e03c, 0x0000c900,
- 0x02a49800, 0x00007900, 0x003ec556, 0x00000980, 0x02fa9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x00002a42, 0x0000f400, 0x0100073d, 0x0000809c,
- 0x83002800, 0x00009980, 0x000029b0, 0x00007200, 0x8201fa40, 0x00001282,
+ 0x02a4a000, 0x0000f900, 0x003ec556, 0x00000980, 0x02fa9000, 0x00007900,
+ 0x0016f7fa, 0x00008980, 0x000028f7, 0x0000f400, 0x0100073d, 0x0000809c,
+ 0x83002800, 0x00009980, 0x00002865, 0x00007200, 0x8201fa40, 0x00001282,
0x8203fa40, 0x00009282, 0x82000000, 0x00001980, 0x02000800, 0x00001989,
0xffffffff, 0x00007f86, 0x00000408, 0x0000e583, 0x82000a40, 0x00000080,
0x8eba202a, 0x0000d014, 0x003a2800, 0x00000000, 0x00000409, 0x00006583,
0x90000a40, 0x00000080, 0x12100001, 0x0000e190, 0x12800800, 0x0000c990,
- 0x12402400, 0x00006190, 0x12c00000, 0x0000c990, 0x000029da, 0x00007008,
+ 0x12402400, 0x00006190, 0x12c00000, 0x0000c990, 0x0000288f, 0x0000f008,
0x8e80302a, 0x00007902, 0x01400000, 0x00008004, 0x14c00000, 0x0000f900,
0x00004000, 0x00000980, 0x15801728, 0x000004b0, 0x8ebaa02a, 0x0000303c,
0x01820006, 0x0000e082, 0x94d9eb3d, 0x00008900, 0x95810000, 0x00006180,
@@ -25072,8 +25452,8 @@ ARRAY_DECL u32 init_val[] = {
0x13800000, 0x000084fc, 0x14000000, 0x000085c4, 0x9300033d, 0x00008588,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
0x008090ec, 0x00005780, 0x00007801, 0x00000080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x9200043e, 0x0000788a,
- 0x59400000, 0x00001581, 0x0100482b, 0x0000a080, 0x8eba802a, 0x0000b03c,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x3f40043e, 0x0000788a,
+ 0x01400000, 0x00001487, 0x0100482b, 0x0000a080, 0x8eba802a, 0x0000b03c,
0x13d00000, 0x0000f900, 0x00008004, 0x00008980, 0x13800000, 0x00006180,
0x0031584f, 0x00006080, 0x8040484f, 0x0000e000, 0x0019504e, 0x00003100,
0x16400000, 0x0000f900, 0x00004000, 0x00000980, 0x17814028, 0x00006100,
@@ -25086,12 +25466,12 @@ ARRAY_DECL u32 init_val[] = {
0x15400000, 0x000005d8, 0x15c00000, 0x000005e0, 0x9480033d, 0x000005b9,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
0x009090ec, 0x0000d780, 0x00007801, 0x00000080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00002a04, 0x0000f000,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x000028b9, 0x00007000,
0x02c00000, 0x00001981, 0x0000343d, 0x0000e583, 0x17814028, 0x00008900,
0x12000000, 0x0000f900, 0x00008016, 0x00008980, 0x12801801, 0x000084e4,
- 0x12c00000, 0x00006180, 0x17c14829, 0x0000c900, 0x00002a16, 0x0000f410,
+ 0x12c00000, 0x00006180, 0x17c14829, 0x0000c900, 0x000028cb, 0x00007410,
0x17000000, 0x000085f4, 0x97800000, 0x00006180, 0xd78ff818, 0x0000c988,
- 0x17ca000d, 0x0000e180, 0x13800000, 0x00004980, 0x00002a1a, 0x00007400,
+ 0x17ca000d, 0x0000e180, 0x13800000, 0x00004980, 0x000028cf, 0x00007400,
0x13c00000, 0x0000e180, 0x0010384e, 0x0000e100, 0xd7d81302, 0x0000e100,
0x0020304f, 0x0000e080, 0x13c00000, 0x000084f8, 0x0031584f, 0x00006080,
0x0019504e, 0x00003100, 0xd3920240, 0x00009900, 0x13d0004f, 0x00006380,
@@ -25099,17 +25479,17 @@ ARRAY_DECL u32 init_val[] = {
0x8000184f, 0x00006c03, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
0xffffffff, 0x00007f86, 0x009090ec, 0x0000d780, 0x00d87dc0, 0x000000c0,
0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x4560043e, 0x00004491, 0x9040040b, 0x00000a94, 0x92000405, 0x0000f892,
- 0xd1400000, 0x00001581, 0x01c00000, 0x000080d8, 0x82205007, 0x0000e086,
+ 0x1c00043e, 0x00004491, 0xfa40040b, 0x00000a91, 0x3f400405, 0x0000f892,
+ 0x79400000, 0x00001487, 0x01c00000, 0x000080d8, 0x82205007, 0x0000e086,
0x0019e806, 0x0000b186, 0x29c00000, 0x0000e180, 0x0029e807, 0x0000e086,
0x29000000, 0x00008ad4, 0x29800000, 0x00000edc, 0x39a08000, 0x000004e1,
- 0x1bc00000, 0x0000e181, 0xdbd712e2, 0x0000c900, 0x2a482357, 0x00007404,
+ 0x17c00000, 0x0000e181, 0x929712e2, 0x0000c900, 0x28fd220a, 0x00007404,
0x53000ee3, 0x00006081, 0x3b403006, 0x0000c900, 0x3b803807, 0x00009900,
- 0x00002a48, 0x00007000, 0x03000020, 0x0000e180, 0x0141e03c, 0x0000c900,
- 0x02a7b800, 0x0000f900, 0x003ec556, 0x00000980, 0x02fe0000, 0x0000f900,
+ 0x000028fd, 0x00007000, 0x03000020, 0x0000e180, 0x0141e03c, 0x0000c900,
+ 0x02a7c000, 0x0000f900, 0x003ec556, 0x00000980, 0x02fe0000, 0x0000f900,
0x001084b0, 0x00008980, 0x0100073d, 0x0000809c, 0x83005000, 0x00009980,
0xc3001000, 0x00006181, 0x08001a08, 0x00006106, 0x82200500, 0x00008022,
- 0x2a481c63, 0x0000f500, 0x02782f02, 0x00008018, 0x01402004, 0x00009900,
+ 0x28fd1b17, 0x00007500, 0x02782f02, 0x00008018, 0x01402004, 0x00009900,
0x00000404, 0x0000e583, 0x02000000, 0x00000980, 0x01407000, 0x0000e191,
0x01405800, 0x0000c989, 0x00000404, 0x0000e583, 0x02400000, 0x00008980,
0x40000305, 0x000000a8, 0x01401800, 0x00006191, 0x01602404, 0x0000c909,
@@ -25118,669 +25498,678 @@ ARRAY_DECL u32 init_val[] = {
0x00000404, 0x0000e583, 0x02c00000, 0x00000980, 0x01000000, 0x00006181,
0x82202801, 0x0000e080, 0x01000800, 0x00006191, 0xc0c05000, 0x00004980,
0x00002c3d, 0x00001583, 0x86202001, 0x00006801, 0x00002c3d, 0x00001583,
- 0xffffffff, 0x00007f86, 0x00002a70, 0x00007008, 0x00002a68, 0x0000f018,
- 0x0000243d, 0x00009583, 0xe0000808, 0x00006c0b, 0x00002a72, 0x00007009,
- 0x9e400404, 0x0000f88a, 0xa1400000, 0x00001583, 0x0000343d, 0x00001583,
- 0x00001009, 0x0000640a, 0xc0000808, 0x0000340b, 0x00002a72, 0x00007009,
- 0x00003c3d, 0x00009583, 0x40000808, 0x00006c0b, 0x9e400404, 0x0000f88a,
- 0xa1400000, 0x00001583, 0x80000808, 0x00006c02, 0x60000808, 0x00006c03,
- 0x9e400404, 0x0000f88a, 0x01400001, 0x00000080, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x00002925, 0x00007008, 0x0000291d, 0x00007018,
+ 0x0000243d, 0x00009583, 0xe0000808, 0x00006c0b, 0x00002927, 0x00007009,
+ 0x4b800404, 0x0000788a, 0x49400000, 0x00009489, 0x0000343d, 0x00001583,
+ 0x00001009, 0x0000640a, 0xc0000808, 0x0000340b, 0x00002927, 0x00007009,
+ 0x00003c3d, 0x00009583, 0x40000808, 0x00006c0b, 0x4b800404, 0x0000788a,
+ 0x49400000, 0x00009489, 0x80000808, 0x00006c02, 0x60000808, 0x00006c03,
+ 0x4b800404, 0x0000788a, 0x01400001, 0x00000080, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x008806ec, 0x00005f80,
0x00905080, 0x000006c4, 0x008806ec, 0x00005f80, 0x00905140, 0x00000584,
- 0x0100302b, 0x0000f902, 0x01000000, 0x00008000, 0x0f000000, 0x000083f4,
- 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4, 0x10800000, 0x00006180,
- 0x0b806404, 0x0000e002, 0x00000404, 0x0000e583, 0x10c00000, 0x00000980,
- 0x01400c0d, 0x00006290, 0x0b006404, 0x0000a002, 0x01400000, 0x0000e188,
- 0x11000000, 0x00004980, 0x00000404, 0x0000e583, 0x11400000, 0x00000980,
- 0x01000000, 0x00006188, 0x0fc06804, 0x0000e010, 0xc101870c, 0x00006283,
- 0x11800000, 0x00000980, 0x11c00000, 0x00001980, 0x8ea03a2a, 0x0000a094,
- 0x00002ad2, 0x0000f008, 0xffffffff, 0x00007f97, 0xc0103b13, 0x00009502,
- 0x81000000, 0x000099e1, 0x8e800a2a, 0x000050e7, 0x00400000, 0x00008000,
- 0x00002b33, 0x00007068, 0x41000000, 0x00009981, 0x0000670c, 0x00007894,
- 0x00000000, 0x00000000, 0xd3987213, 0x0000f86a, 0x01400001, 0x00000010,
- 0x5a800405, 0x0000c491, 0x40400404, 0x00000a8d, 0x5f200f2e, 0x0000c997,
- 0xd040172e, 0x00000a95, 0xffffffff, 0x00007f86, 0x80000604, 0x00001583,
- 0x814010ec, 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009878ec, 0x0000d790, 0x00007800, 0x00008080, 0x02004000, 0x00006180,
- 0x09006414, 0x00006002, 0x00000414, 0x00006583, 0x09806406, 0x00002002,
- 0x08806407, 0x0000e002, 0x00001808, 0x0000b413, 0x00000404, 0x0000e583,
- 0x02400000, 0x00008980, 0x02800000, 0x00006180, 0x80001008, 0x00006412,
- 0x02c00000, 0x0000e180, 0x00001808, 0x0000e413, 0xc0002000, 0x00006181,
- 0x60001008, 0x00006413, 0x03400000, 0x0000e180, 0xe0001008, 0x0000e413,
- 0x00000405, 0x00006583, 0x03800000, 0x00000980, 0x00501800, 0x0000f900,
- 0x00004280, 0x00000980, 0x03c00000, 0x000081c0, 0x00002ac6, 0x00007408,
- 0x04400000, 0x000001c8, 0x04c00000, 0x000080f0, 0x02060008, 0x0000e380,
- 0x00001009, 0x00002402, 0xe0001808, 0x0000ec02, 0x20005808, 0x00006c07,
- 0xc0001008, 0x00006c03, 0x008806ec, 0x00005f80, 0x00905080, 0x000081c4,
- 0x40000504, 0x00001583, 0x00001009, 0x00006412, 0xe0001808, 0x0000b412,
- 0xc0000808, 0x0000ec13, 0x00002ace, 0x00007010, 0x00000406, 0x00009583,
- 0x00000809, 0x00006412, 0xc0001008, 0x00003413, 0x00000407, 0x00001583,
- 0x20001808, 0x0000ec13, 0x008806ec, 0x00005f80, 0x00905080, 0x000081c4,
- 0x00002a97, 0x00007200, 0x81000000, 0x00009981, 0x01c00000, 0x000089c0,
- 0x24400000, 0x0000e180, 0x00117807, 0x0000e186, 0x24800000, 0x000089cc,
+ 0x80000209, 0x00006582, 0x823f17e2, 0x00000900, 0xdac03c08, 0x00007902,
+ 0x01800000, 0x00008004, 0x823f17e2, 0x00009900, 0xffffffff, 0x00007f97,
+ 0xc0000309, 0x00006582, 0x00104807, 0x00002196, 0xdaf83408, 0x0000a804,
+ 0x04184807, 0x0000e997, 0x00000001, 0x00007480, 0xffffffff, 0x00007f86,
+ 0xdaf83c08, 0x0000a884, 0x0100302b, 0x0000f902, 0x01000000, 0x00008000,
+ 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4,
+ 0x10800000, 0x00006180, 0x0b806404, 0x0000e002, 0x00000404, 0x0000e583,
+ 0x10c00000, 0x00000980, 0x01400c0d, 0x00006290, 0x0b006404, 0x0000a002,
+ 0x01400000, 0x0000e188, 0x11000000, 0x00004980, 0x00000404, 0x0000e583,
+ 0x11400000, 0x00000980, 0x01000000, 0x00006188, 0x0fc06804, 0x0000e010,
+ 0xc101870c, 0x00006283, 0x11800000, 0x00000980, 0x11c00000, 0x00001980,
+ 0x8ea03a2a, 0x0000a094, 0x00002994, 0x00007008, 0xffffffff, 0x00007f97,
+ 0xc0103b13, 0x00009502, 0x81000000, 0x000099e1, 0x8e800a2a, 0x000050e7,
+ 0x00400000, 0x00008000, 0x000029f5, 0x0000f068, 0x41000000, 0x00009981,
+ 0x0000670c, 0x00007894, 0x00000000, 0x00000000, 0x84187213, 0x0000f86a,
+ 0x01400001, 0x00000010, 0x32c00405, 0x0000c491, 0xc4400404, 0x00008a8a,
+ 0x37600f2e, 0x0000c997, 0x5440172e, 0x00000a93, 0xffffffff, 0x00007f86,
+ 0x80000604, 0x00001583, 0x814010ec, 0x00005694, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009878ec, 0x0000d790, 0x00007800, 0x00008080,
+ 0x02004000, 0x00006180, 0x09006414, 0x00006002, 0x00000414, 0x00006583,
+ 0x09806406, 0x00002002, 0x08806407, 0x0000e002, 0x00001808, 0x0000b413,
+ 0x00000404, 0x0000e583, 0x02400000, 0x00008980, 0x02800000, 0x00006180,
+ 0x80001008, 0x00006412, 0x02c00000, 0x0000e180, 0x00001808, 0x0000e413,
+ 0xc0002000, 0x00006181, 0x60001008, 0x00006413, 0x03400000, 0x0000e180,
+ 0xe0001008, 0x0000e413, 0x00000405, 0x00006583, 0x03800000, 0x00000980,
+ 0x00501800, 0x0000f900, 0x00004280, 0x00000980, 0x03c00000, 0x000081c0,
+ 0x00002988, 0x00007408, 0x04400000, 0x000001c8, 0x04c00000, 0x000080f0,
+ 0x02060008, 0x0000e380, 0x00001009, 0x00002402, 0xe0001808, 0x0000ec02,
+ 0x20005808, 0x00006c07, 0xc0001008, 0x00006c03, 0x008806ec, 0x00005f80,
+ 0x00905080, 0x000081c4, 0x40000504, 0x00001583, 0x00001009, 0x00006412,
+ 0xe0001808, 0x0000b412, 0xc0000808, 0x0000ec13, 0x00002990, 0x0000f010,
+ 0x00000406, 0x00009583, 0x00000809, 0x00006412, 0xc0001008, 0x00003413,
+ 0x00000407, 0x00001583, 0x20001808, 0x0000ec13, 0x008806ec, 0x00005f80,
+ 0x00905080, 0x000081c4, 0x00002959, 0x0000f200, 0x81000000, 0x00009981,
+ 0x01c00000, 0x000089c0, 0x24400000, 0x0000e180, 0x00117807, 0x0000e186,
+ 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc,
+ 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8, 0x3ba82000, 0x0000e180,
+ 0x39c00000, 0x00004980, 0x39a08000, 0x000004e1, 0x29a6220a, 0x00007404,
+ 0x17c00000, 0x0000e181, 0x929712e2, 0x0000c900, 0x3b403807, 0x0000e100,
+ 0x53000ee3, 0x00004881, 0x2c400404, 0x0000448b, 0x76400f2e, 0x00000a93,
+ 0x5880172e, 0x0000788e, 0x01400001, 0x00000080, 0x01c00000, 0x000089c0,
+ 0x24400000, 0x0000e180, 0x00197807, 0x00006186, 0x24800000, 0x000089cc,
0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x29c00000, 0x00000ad0,
- 0x29400000, 0x00000ad8, 0x3ba82000, 0x0000e180, 0x39c00000, 0x00004980,
- 0x39a08000, 0x000004e1, 0x2ae42357, 0x00007404, 0x1bc00000, 0x0000e181,
- 0xdbd712e2, 0x0000c900, 0x3b403807, 0x0000e100, 0x53000ee3, 0x00004881,
- 0x54000404, 0x0000c48b, 0xf2400f2e, 0x00000a95, 0xa800172e, 0x0000f88e,
- 0x01400001, 0x00000080, 0x01c00000, 0x000089c0, 0x24400000, 0x0000e180,
- 0x00197807, 0x00006186, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8,
- 0x3b802001, 0x00006180, 0x39c00000, 0x00004980, 0x39a08000, 0x000004e1,
- 0x2aa02357, 0x00007404, 0x1bc00000, 0x0000e181, 0xdbd712e2, 0x0000c900,
- 0x3b403807, 0x0000e100, 0x53000ee3, 0x00004881, 0x00002aa0, 0x00007000,
- 0x0100382b, 0x00007902, 0x01800000, 0x00000000, 0x8e80402a, 0x0000f902,
- 0x01800000, 0x00008004, 0x15c00000, 0x00007900, 0x00004000, 0x00000980,
- 0x16817f28, 0x0000051e, 0x8ebac02a, 0x0000303c, 0x02020008, 0x0000e082,
- 0x96810000, 0x00008980, 0x01800006, 0x00006084, 0x97c17057, 0x00002001,
- 0x8eb8402a, 0x0000d004, 0x00383000, 0x00008000, 0x13100001, 0x0000e180,
- 0xe000105a, 0x0000e403, 0x13800800, 0x0000e180, 0x13402400, 0x00004980,
- 0x13c00000, 0x0000e180, 0x16c14829, 0x00004900, 0x14281000, 0x0000e180,
- 0x14400000, 0x0000c980, 0x14800000, 0x000085cc, 0x15000000, 0x000085d4,
- 0x15800000, 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008098ec, 0x0000d780, 0x00007801, 0x00000080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0xcec030ec, 0x00002086, 0x10d00002, 0x0000e180, 0x10800000, 0x00004980,
- 0x00315843, 0x00006080, 0x00195042, 0x00003100, 0x11814028, 0x00006100,
- 0x80403843, 0x00006000, 0x80172a06, 0x0000e502, 0x04003843, 0x0000a085,
- 0x81800a06, 0x0000e090, 0x0f401800, 0x00000980, 0x0f000000, 0x0000f900,
- 0x00008016, 0x00008980, 0x8e80022a, 0x0000d087, 0x00400000, 0x00008000,
- 0xcec830ec, 0x0000a896, 0x0f800000, 0x000083fc, 0x10083804, 0x00006180,
- 0x10400000, 0x00004980, 0x11000000, 0x000084d4, 0x11c00f29, 0x00008093,
- 0x91800000, 0x00006180, 0xd0915a2b, 0x0000c900, 0xa800172e, 0x0000f88e,
- 0x41400000, 0x00001587, 0x10d00002, 0x0000e180, 0x00003840, 0x0000e406,
- 0x10800000, 0x00006180, 0x00315843, 0x00006080, 0x80403043, 0x0000e000,
- 0x80000840, 0x00003406, 0x04003043, 0x0000e085, 0x00195042, 0x00003100,
- 0xcec030ec, 0x00002086, 0x11814028, 0x00006100, 0xd0000840, 0x00006400,
+ 0x29400000, 0x00000ad8, 0x3b802001, 0x00006180, 0x39c00000, 0x00004980,
+ 0x39a08000, 0x000004e1, 0x2962220a, 0x0000f404, 0x17c00000, 0x0000e181,
+ 0x929712e2, 0x0000c900, 0x3b403807, 0x0000e100, 0x53000ee3, 0x00004881,
+ 0x00002962, 0x0000f000, 0x0100382b, 0x00007902, 0x01800000, 0x00000000,
+ 0x8e80402a, 0x0000f902, 0x01800000, 0x00008004, 0x15c00000, 0x00007900,
+ 0x00004000, 0x00000980, 0x16817f28, 0x0000051e, 0x8ebac02a, 0x0000303c,
+ 0x02020008, 0x0000e082, 0x96810000, 0x00008980, 0x01800006, 0x00006084,
+ 0x97c17057, 0x00002001, 0x8eb8402a, 0x0000d004, 0x00383000, 0x00008000,
+ 0x13100001, 0x0000e180, 0xe000105a, 0x0000e403, 0x13800800, 0x0000e180,
+ 0x13402400, 0x00004980, 0x13c00000, 0x0000e180, 0x16c14829, 0x00004900,
+ 0x14281000, 0x0000e180, 0x14400000, 0x0000c980, 0x14800000, 0x000085cc,
+ 0x15000000, 0x000085d4, 0x15800000, 0x00001980, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008098ec, 0x0000d780,
+ 0x00007801, 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0xcec030ec, 0x00002086, 0x10d00002, 0x0000e180,
+ 0x10800000, 0x00004980, 0x00315843, 0x00006080, 0x00195042, 0x00003100,
+ 0x11814028, 0x00006100, 0x80403843, 0x00006000, 0x80172a06, 0x0000e502,
+ 0x04003843, 0x0000a085, 0x81800a06, 0x0000e090, 0x0f401800, 0x00000980,
0x0f000000, 0x0000f900, 0x00008016, 0x00008980, 0x8e80022a, 0x0000d087,
- 0x00400000, 0x00008000, 0x80172a06, 0x0000e502, 0x0f401800, 0x00000980,
- 0x81800a06, 0x0000e090, 0x0f800000, 0x00000980, 0xcec830ec, 0x0000a896,
- 0x0fc00000, 0x000004d0, 0x11400000, 0x0000e180, 0x11c14829, 0x0000c900,
- 0x00002a97, 0x00007400, 0x81000800, 0x00006181, 0xd0915a2b, 0x0000c900,
- 0x91800000, 0x00001980, 0x12d00002, 0x00006180, 0x12800000, 0x0000c980,
- 0x0031704b, 0x0000e080, 0x0019684a, 0x00003100, 0x760010ec, 0x00005680,
- 0x00000000, 0x00008080, 0x8040904b, 0x00006000, 0x0411704a, 0x00003187,
- 0x760838ec, 0x0000d680, 0x00000008, 0x00000080, 0x41000800, 0x00006181,
- 0x0400904b, 0x00006085, 0x763a50ec, 0x00005600, 0x003a5800, 0x00008000,
- 0xcee030ec, 0x0000a004, 0xffffffff, 0x00007fa7, 0x80172a06, 0x00001502,
- 0x81800a06, 0x00001090, 0xcee030ec, 0x0000a814, 0x5a800405, 0x0000c491,
- 0x40400404, 0x00000a8d, 0xf2c00f2e, 0x0000c597, 0xf840172e, 0x0000f396,
- 0x48c04534, 0x00006283, 0x0c79962d, 0x00008201, 0x8dfff81d, 0x00006190,
- 0x8dfef81f, 0x00004988, 0x08c00c31, 0x00006283, 0x09000040, 0x00000980,
- 0x88400000, 0x0000e189, 0x0a00de21, 0x0000e092, 0x08c01431, 0x00006283,
- 0xc8d19232, 0x00008900, 0x88402621, 0x0000e091, 0x08001a31, 0x0000a106,
- 0x49716e2d, 0x00006101, 0x00118824, 0x0000e184, 0x0c40152d, 0x0000e080,
- 0x8ff10b34, 0x00008100, 0x38400c31, 0x0000e081, 0x88e96d2d, 0x0000c900,
- 0x0101701b, 0x0000a080, 0x8ea1f21a, 0x0000a085, 0x733920ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x8eb10e21, 0x00006100, 0x8a91523f, 0x00004000,
- 0x0929a733, 0x00000204, 0x15020300, 0x00007904, 0x8101fa2c, 0x0000e282,
- 0x1269ad35, 0x00000901, 0x8e82c01a, 0x00007912, 0x16400000, 0x00008004,
- 0x1601e03c, 0x0000e108, 0x1641e83d, 0x00004908, 0x12000000, 0x0000f900,
- 0x00004000, 0x00000980, 0x5261ac35, 0x00006101, 0x0401c048, 0x00006005,
- 0x0f020058, 0x00006082, 0x34e17848, 0x0000a007, 0x9259a434, 0x00008425,
- 0xcb11ba37, 0x00006100, 0x8111d334, 0x00004100, 0x0f400059, 0x0000e084,
- 0x81502204, 0x00008900, 0xc100472d, 0x0000e283, 0x12282504, 0x00008901,
- 0x52202404, 0x0000e101, 0x12400000, 0x00004990, 0x8111a32c, 0x0000e210,
- 0x1680c018, 0x00000900, 0x92682504, 0x0000e111, 0xd2602404, 0x00004911,
- 0x81000a2c, 0x00006080, 0x1580c018, 0x00000900, 0x8ea0221a, 0x0000a884,
- 0x15c0c819, 0x00006100, 0x0e01b404, 0x00006002, 0x13c00800, 0x00006180,
- 0x0a016d4b, 0x0000e002, 0x13000000, 0x00007900, 0x00004000, 0x00000980,
- 0x8eb9e01a, 0x0000383c, 0x1681684f, 0x0000e000, 0xd0000057, 0x0000b400,
- 0x16c00719, 0x000004b4, 0x13800000, 0x00006180, 0x12f1762e, 0x00004901,
- 0x9289ca39, 0x00000429, 0x9299cc39, 0x00008429, 0x92d82c05, 0x0000842d,
- 0x96810000, 0x00006180, 0x9592b23f, 0x00004000, 0x01001404, 0x00009283,
- 0x01040036, 0x00001282, 0x81000234, 0x0000f900, 0x00000002, 0x00000282,
- 0x00002bc6, 0x00007008, 0x00002c2a, 0x00007010, 0x00002c09, 0x0000f010,
- 0x00c03a1c, 0x0000f902, 0x01800000, 0x00008004, 0x00802c1c, 0x0000f902,
+ 0x00400000, 0x00008000, 0xcec830ec, 0x0000a896, 0x0f800000, 0x000083fc,
+ 0x10083804, 0x00006180, 0x10400000, 0x00004980, 0x11000000, 0x000084d4,
+ 0x11c00f29, 0x00008093, 0x91800000, 0x00006180, 0xd0915a2b, 0x0000c900,
+ 0x5880172e, 0x0000788e, 0x51400000, 0x0000148d, 0x10d00002, 0x0000e180,
+ 0x00003840, 0x0000e406, 0x10800000, 0x00006180, 0x00315843, 0x00006080,
+ 0x80403043, 0x0000e000, 0x80000840, 0x00003406, 0x04003043, 0x0000e085,
+ 0x00195042, 0x00003100, 0xcec030ec, 0x00002086, 0x11814028, 0x00006100,
+ 0xd0000840, 0x00006400, 0x0f000000, 0x0000f900, 0x00008016, 0x00008980,
+ 0x8e80022a, 0x0000d087, 0x00400000, 0x00008000, 0x80172a06, 0x0000e502,
+ 0x0f401800, 0x00000980, 0x81800a06, 0x0000e090, 0x0f800000, 0x00000980,
+ 0xcec830ec, 0x0000a896, 0x0fc00000, 0x000004d0, 0x11400000, 0x0000e180,
+ 0x11c14829, 0x0000c900, 0x00002959, 0x0000f400, 0x81000800, 0x00006181,
+ 0xd0915a2b, 0x0000c900, 0x91800000, 0x00001980, 0x12d00002, 0x00006180,
+ 0x12800000, 0x0000c980, 0x0031704b, 0x0000e080, 0x0019684a, 0x00003100,
+ 0x760010ec, 0x00005680, 0x00000000, 0x00008080, 0x8040904b, 0x00006000,
+ 0x0411704a, 0x00003187, 0x760838ec, 0x0000d680, 0x00000008, 0x00000080,
+ 0x41000800, 0x00006181, 0x0400904b, 0x00006085, 0x763a50ec, 0x00005600,
+ 0x003a5800, 0x00008000, 0xcee030ec, 0x0000a004, 0xffffffff, 0x00007fa7,
+ 0x80172a06, 0x00001502, 0x81800a06, 0x00001090, 0xcee030ec, 0x0000a814,
+ 0x32c00405, 0x0000c491, 0xc4400404, 0x00008a8a, 0xf2c00f2e, 0x0000c597,
+ 0xf840172e, 0x0000f396, 0x4c404534, 0x00006283, 0x0eb9962d, 0x00000201,
+ 0x8efff81d, 0x00006190, 0x8efef81f, 0x00004988, 0x0c400c3a, 0x0000e283,
+ 0x0c01743f, 0x0000a002, 0xcc800000, 0x0000e189, 0x0a00df32, 0x0000e092,
+ 0x0c40143a, 0x0000e283, 0x0d41a440, 0x00002000, 0xcd51da3b, 0x0000e100,
+ 0x0e41b431, 0x00006000, 0xcc802732, 0x0000e091, 0x0d801d36, 0x00008281,
+ 0x00001436, 0x00001583, 0x00000431, 0x00001583, 0x00000440, 0x00001583,
+ 0x00002b43, 0x0000f010, 0x00002b10, 0x0000f010, 0x00002b59, 0x00007010,
+ 0x00c1b21c, 0x00007902, 0x0c400000, 0x00000004, 0x0081d41c, 0x0000f902,
+ 0x0dc00000, 0x00000004, 0xffffffff, 0x00007f97, 0x0d800836, 0x00001082,
+ 0x0e81d230, 0x00006002, 0x0c400031, 0x00000084, 0x0dc00037, 0x00009084,
+ 0x00f9b21c, 0x00005004, 0x00398800, 0x00000000, 0x00b9d41c, 0x0000d004,
+ 0x0039b800, 0x00000000, 0x10800800, 0x0000e180, 0x0a016c30, 0x00006002,
+ 0x00000430, 0x00006583, 0x1680c018, 0x00000900, 0x0c000000, 0x00006180,
+ 0x11019833, 0x0000c900, 0x0c000800, 0x0000e191, 0x0cc01d2d, 0x0000c880,
+ 0x8e808233, 0x00006080, 0x12800000, 0x00000980, 0x0cc0123a, 0x00006780,
+ 0xc3218042, 0x00002000, 0x8c12d22e, 0x0000e000, 0x38619c33, 0x00008901,
+ 0x96b99230, 0x0000e100, 0x0018d04a, 0x00002100, 0x8c03fa2c, 0x0000e282,
+ 0x8c51622c, 0x00000900, 0x8eb9e01a, 0x0000d00c, 0x0039e800, 0x00000000,
+ 0x0101801b, 0x0000a080, 0x8eba601a, 0x0000303c, 0x12d00000, 0x00007900,
+ 0x00008004, 0x00008980, 0xd2800a31, 0x0000e080, 0x0030d84b, 0x00002080,
+ 0x10403800, 0x0000e180, 0x8041804b, 0x00006000, 0x0c41004c, 0x0000e082,
+ 0x0401804b, 0x0000a085, 0x0c00004d, 0x00006084, 0x11400000, 0x00000980,
+ 0x8eb9881a, 0x0000d004, 0x00398000, 0x00008000, 0xcc00172f, 0x0000e283,
+ 0x90e96d2d, 0x00000900, 0x10082000, 0x00007900, 0x0001c016, 0x00008980,
+ 0x16020300, 0x00007904, 0x90c00132, 0x00000498, 0x11c00000, 0x00006180,
+ 0x16c0c819, 0x00004900, 0x15800000, 0x000085dc, 0x12303804, 0x00006180,
+ 0x12400000, 0x0000c980, 0x00002ad7, 0x00007410, 0x8b000a2c, 0x00006080,
+ 0xd059a334, 0x00000900, 0x51716e2d, 0x00006101, 0x0cc1682d, 0x00004908,
+ 0x93e1a135, 0x0000043c, 0x13800800, 0x0000e180, 0x02016f33, 0x0000e002,
+ 0xcc004733, 0x00006283, 0x8201c04e, 0x0000a004, 0x13c00000, 0x00006190,
+ 0x0c41702e, 0x00004900, 0x93d1a335, 0x00006210, 0x14800000, 0x00000980,
+ 0xc0000f2e, 0x0000e583, 0xd3b99334, 0x00000100, 0x15400000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x0a016e51, 0x00006002, 0xb2e1784e, 0x00003006,
+ 0x14c00000, 0x00006180, 0x94816855, 0x0000e001, 0x15000000, 0x0000e180,
+ 0x1401c839, 0x0000c900, 0x00002a98, 0x00007418, 0x9479922e, 0x00006100,
+ 0x0ef9772e, 0x00000901, 0x94a98a2e, 0x00000506, 0x01400040, 0x0000e180,
+ 0x08001a3a, 0x0000e106, 0x0011d005, 0x0000e984, 0x733828ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x009886ec, 0x00005f80, 0x00007801, 0x00008084,
+ 0xc000071b, 0x00006583, 0x0cc00f2e, 0x00008181, 0x0e800d2d, 0x0000e0c0,
+ 0x08016c3a, 0x0000a0cc, 0x8dd8fb1f, 0x0000e148, 0x8dd8e31c, 0x00004940,
+ 0x0e801c3a, 0x000060c8, 0x0e80183a, 0x000048c0, 0x8d00b800, 0x00006180,
+ 0x1780c018, 0x00004900, 0x0e84003a, 0x000060c8, 0x0e80803a, 0x000080c0,
+ 0x17c0c819, 0x0000e100, 0xd000005b, 0x0000e400, 0x0e80103a, 0x0000e7c8,
+ 0x0e80103a, 0x000007c0, 0x10620c33, 0x0000e001, 0x4d000f2e, 0x00008181,
+ 0x0ca1d43a, 0x0000e149, 0x0ca1d43a, 0x00004941, 0x00000c33, 0x0000e583,
+ 0x97917334, 0x00008100, 0x8e917334, 0x00006100, 0x38619432, 0x00008901,
+ 0xffffffff, 0x00007f97, 0x00002bdd, 0x0000f413, 0xffffffff, 0x00007f86,
+ 0x17020300, 0x0000f904, 0x017ae75d, 0x00000010, 0xc180172f, 0x00001283,
+ 0x0031a0ec, 0x00005702, 0x00007800, 0x00008080, 0xd519632c, 0x0000e108,
+ 0x8ec0152f, 0x00004890, 0x00002a91, 0x00007008, 0x0100223a, 0x00006002,
+ 0x9559632c, 0x00008900, 0xb6b8263b, 0x0000a884, 0xc100272f, 0x00006283,
+ 0x0dc00005, 0x00008084, 0xb6b9be3b, 0x00002804, 0xd492f25e, 0x00009908,
+ 0x00002c12, 0x0000f010, 0xc000172e, 0x00001583, 0x94d31262, 0x00001918,
+ 0x00002a91, 0x00007031, 0xc0001f2e, 0x00009583, 0xd4d33266, 0x00001910,
+ 0x00002bbe, 0x0000f009, 0xc000272e, 0x00001583, 0x9513526a, 0x00001910,
+ 0x00002bbf, 0x00007009, 0xc0002f2e, 0x00009583, 0x8ec00000, 0x0000e188,
+ 0x8ed3726e, 0x00004910, 0x01400040, 0x0000e180, 0x08001a3a, 0x0000e106,
+ 0xd511da3b, 0x00006100, 0x0011d005, 0x00006184, 0x733828ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x009886ec, 0x00005f80, 0x00007801, 0x00008084,
+ 0x0ce1a72d, 0x0000043c, 0xd3d1aa35, 0x00006100, 0x02016f33, 0x0000e002,
+ 0xcc004733, 0x00006283, 0x0c017a3b, 0x0000a100, 0x14800000, 0x0000e180,
+ 0x04399036, 0x0000e087, 0x1401c839, 0x0000e100, 0x13c00000, 0x00004990,
+ 0x0e79772d, 0x00008304, 0x8eb9923b, 0x00006100, 0x8db9923b, 0x00000100,
+ 0xcdb99632, 0x0000e101, 0x54b9943b, 0x00000101, 0x93d1a335, 0x00006210,
+ 0x0ef99632, 0x00000101, 0xcc001f39, 0x0000e283, 0xd4718e31, 0x00000901,
+ 0x8d80123a, 0x0000e090, 0xcd80143b, 0x00000091, 0x0c42c25a, 0x00006002,
+ 0x8ec0152f, 0x00000880, 0xb680003b, 0x0000d084, 0x00400000, 0x00008000,
+ 0xb680023b, 0x00005084, 0x00400000, 0x00008000, 0xb680043b, 0x00005084,
+ 0x00400000, 0x00008000, 0x13801800, 0x00006180, 0x0c000059, 0x0000c084,
+ 0xb6b98e3b, 0x00005004, 0x00398000, 0x00008000, 0xb680003b, 0x00005004,
+ 0x00400000, 0x00000080, 0xb680023b, 0x0000d004, 0x00400000, 0x00000080,
+ 0xb680043b, 0x0000d004, 0x00400000, 0x00000080, 0x8ec00d2f, 0x0000e080,
+ 0x8201c04e, 0x00006004, 0x15400000, 0x0000f900, 0x00004000, 0x00000980,
+ 0xb2e1784e, 0x00006006, 0x0a016e51, 0x00003002, 0xc6b9b23b, 0x00002884,
+ 0xc6bac03b, 0x0000b83c, 0x14c00000, 0x00006180, 0x94816855, 0x0000e001,
+ 0xc680023b, 0x00005004, 0x00400000, 0x00000080, 0x15000000, 0x0000e180,
+ 0x9479922e, 0x0000c100, 0x14a97d2f, 0x0000e101, 0xd3b99334, 0x0000c100,
+ 0x0ef9772e, 0x00009901, 0xa4400f2e, 0x000078b2, 0xc1400000, 0x00009584,
+ 0x00c2121c, 0x00007902, 0x10400000, 0x00008004, 0x2c0066e3, 0x00001680,
+ 0x8e8588b0, 0x00009000, 0x0081f41c, 0x00007902, 0x0dc00000, 0x00000004,
+ 0xcf01b23a, 0x0000f902, 0x0c400000, 0x00000004, 0xcec2243a, 0x00007902,
+ 0x10c00000, 0x00000004, 0x10800842, 0x00001082, 0x0f81f230, 0x00006002,
+ 0x10400041, 0x00000084, 0x0d800836, 0x0000e082, 0x0dc00037, 0x00000084,
+ 0x11022230, 0x00006002, 0x0c400031, 0x00000084, 0x00000440, 0x0000e583,
+ 0x10c00043, 0x00000084, 0x00fa121c, 0x00005004, 0x003a0800, 0x00008000,
+ 0x00b9f41c, 0x00005004, 0x0039b800, 0x00000000, 0x00002a48, 0x00007408,
+ 0xcf39b23a, 0x0000d004, 0x00398800, 0x00000000, 0xcefa243a, 0x00005004,
+ 0x003a1800, 0x00000000, 0x0000143f, 0x00001583, 0x8e80323a, 0x00006088,
+ 0x8dc04a3a, 0x00008088, 0x00002b35, 0x0000f009, 0x00001c3f, 0x00009583,
+ 0x8dc0523a, 0x0000e088, 0x8dc05a3a, 0x00000090, 0x8e80423a, 0x0000e090,
+ 0x8e803a3a, 0x00008088, 0xcec1fc37, 0x0000f902, 0x0f800000, 0x00000004,
+ 0xcec1b43a, 0x00007902, 0x0c400000, 0x00000004, 0xffffffff, 0x00007f97,
+ 0x0fc0083f, 0x00001082, 0x0d81b230, 0x00006002, 0x0f80003e, 0x00000084,
+ 0x0c400031, 0x00009084, 0x00002a48, 0x0000f400, 0xcef9fc37, 0x0000d004,
+ 0x0039f000, 0x00000000, 0xcef9b43a, 0x00005004, 0x00398800, 0x00000000,
+ 0x6f200431, 0x00004291, 0x8e400c36, 0x00008a8e, 0xfd800c36, 0x0000f88a,
+ 0x09400000, 0x0000158e, 0x00c1d61c, 0x0000f902, 0x0dc00000, 0x00000004,
+ 0x00c1b01c, 0x0000f902, 0x0c400000, 0x00000004, 0xffffffff, 0x00007f97,
+ 0x0e80083a, 0x00001082, 0x0d81b230, 0x00006002, 0x0dc00037, 0x00000084,
+ 0x00000440, 0x0000e583, 0x0c400031, 0x00000084, 0x00f9d61c, 0x0000d004,
+ 0x0039b800, 0x00000000, 0x00f9b01c, 0x0000d004, 0x00398800, 0x00000000,
+ 0x00002a48, 0x0000f008, 0x00002b2c, 0x0000f400, 0x2c0066e3, 0x00001680,
+ 0x8e8588b0, 0x00009000, 0x0000143f, 0x00001583, 0x00001c3f, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00002ba3, 0x00007008, 0x00002b88, 0x00007008,
+ 0x00c1b21c, 0x00007902, 0x0c400000, 0x00000004, 0x2c0066e3, 0x00001680,
+ 0x8dc588b0, 0x00001000, 0x0082141c, 0x0000f902, 0x10400000, 0x00008004,
+ 0xcf820237, 0x00007902, 0x0fc00000, 0x00008004, 0xcf41f437, 0x00007902,
+ 0x0e800000, 0x00008004, 0x0d800836, 0x00001082, 0x10821230, 0x00006002,
+ 0x0c400031, 0x00000084, 0x10000840, 0x0000e082, 0x10400041, 0x00000084,
+ 0x0f81f230, 0x00006002, 0x0fc0003f, 0x00000084, 0x0e80003a, 0x00009084,
+ 0x00f9b21c, 0x00005004, 0x00398800, 0x00000000, 0x00ba141c, 0x0000d004,
+ 0x003a0800, 0x00008000, 0x00002a48, 0x0000f400, 0xcfba0237, 0x00005004,
+ 0x0039f800, 0x00008000, 0xcf79f437, 0x00005004, 0x0039d000, 0x00008000,
+ 0x00c1d41c, 0x00007902, 0x0dc00000, 0x00000004, 0x0081b61c, 0x00007902,
+ 0x0c400000, 0x00000004, 0xffffffff, 0x00007f97, 0x0e80083a, 0x00001082,
+ 0x0d81b230, 0x00006002, 0x0dc00037, 0x00000084, 0x0c400031, 0x00009084,
+ 0x00f9d41c, 0x00005004, 0x0039b800, 0x00000000, 0x00b9b61c, 0x00005004,
+ 0x00398800, 0x00000000, 0x92000440, 0x0000788a, 0xb1400000, 0x0000958a,
+ 0x00c2121c, 0x00007902, 0x10400000, 0x00008004, 0x2c0066e3, 0x00001680,
+ 0x8e8588b0, 0x00009000, 0x0082041c, 0x00007902, 0x0fc00000, 0x00008004,
+ 0xcf81f03a, 0x00007902, 0x0dc00000, 0x00000004, 0xcf41b23a, 0x00007902,
+ 0x0c400000, 0x00000004, 0x10800842, 0x00001082, 0x10020230, 0x00006002,
+ 0x10400041, 0x00000084, 0x0f80083e, 0x0000e082, 0x0fc0003f, 0x00000084,
+ 0x0d81b230, 0x00006002, 0x0dc00037, 0x00000084, 0x0c400031, 0x00009084,
+ 0x00fa121c, 0x00005004, 0x003a0800, 0x00008000, 0x00ba041c, 0x00005004,
+ 0x0039f800, 0x00008000, 0x00002a48, 0x0000f400, 0xcfb9f03a, 0x00005004,
+ 0x0039b800, 0x00000000, 0xcf79b23a, 0x00005004, 0x00398800, 0x00000000,
+ 0x00c2021c, 0x0000f902, 0x0fc00000, 0x00008004, 0x2c0066e3, 0x00001680,
+ 0x8dc588b0, 0x00001000, 0x0081f41c, 0x00007902, 0x0e800000, 0x00008004,
+ 0xcf41b637, 0x00007902, 0x0c400000, 0x00000004, 0xcf421037, 0x00007902,
+ 0x10400000, 0x00008004, 0x10000840, 0x00001082, 0x0f81f230, 0x00006002,
+ 0x0fc0003f, 0x00000084, 0x0d800836, 0x0000e082, 0x0e80003a, 0x00000084,
+ 0x10821230, 0x00006002, 0x0c400031, 0x00000084, 0x10400041, 0x00009084,
+ 0x00fa021c, 0x0000d004, 0x0039f800, 0x00008000, 0x00b9f41c, 0x00005004,
+ 0x0039d000, 0x00008000, 0x00002a48, 0x0000f400, 0xcf79b637, 0x00005004,
+ 0x00398800, 0x00000000, 0xcf7a1037, 0x00005004, 0x003a0800, 0x00008000,
+ 0xd4c00000, 0x00001980, 0x00002acf, 0x0000f200, 0x4ec00000, 0x000005d1,
+ 0x00c2161c, 0x0000f902, 0x10400000, 0x00008004, 0x2c0066e3, 0x00001680,
+ 0x8dc588b0, 0x00001000, 0x00c1f01c, 0x00007902, 0x0e800000, 0x00008004,
+ 0xcf01b637, 0x0000f902, 0x0c400000, 0x00000004, 0xcf022037, 0x0000f902,
+ 0x10c00000, 0x00000004, 0x10800842, 0x00001082, 0x0f81f230, 0x00006002,
+ 0x10400041, 0x00000084, 0x0d800836, 0x0000e082, 0x0e80003a, 0x00000084,
+ 0x11022230, 0x00006002, 0x0c400031, 0x00000084, 0x10c00043, 0x00009084,
+ 0x00fa161c, 0x0000d004, 0x003a0800, 0x00008000, 0x00f9f01c, 0x00005004,
+ 0x0039d000, 0x00008000, 0xcf39b637, 0x0000d004, 0x00398800, 0x00000000,
+ 0xcf3a2037, 0x0000d004, 0x003a1800, 0x00000000, 0x92000440, 0x0000788a,
+ 0xb1400000, 0x0000958a, 0x00001433, 0x0000e583, 0x0ec0143b, 0x00008181,
+ 0x0011b85e, 0x0000e186, 0xd000005f, 0x00003400, 0x18020300, 0x0000f904,
+ 0x0c00143b, 0x0000e081, 0x1882f05e, 0x00004900, 0x19020300, 0x00007904,
+ 0x00002bed, 0x0000f408, 0x19baff5e, 0x0000860c, 0x19c2f85f, 0x00006100,
+ 0xb842e430, 0x0000c081, 0x1a020300, 0x00007904, 0x1b020300, 0x0000f904,
+ 0x1abaff5e, 0x0000062c, 0x1bfaf75f, 0x00000638, 0x8ee1dc3b, 0x00009900,
+ 0xffffffff, 0x00007f86, 0x2c11da37, 0x00001600, 0x8dc588b0, 0x00001000,
+ 0x8611ba3a, 0x00001100, 0x01021300, 0x0000f904, 0x00002ab5, 0x00007400,
+ 0x1080c500, 0x00007904, 0x8e90c218, 0x00001900, 0x00c1f41c, 0x0000f902,
+ 0x0dc00000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8e8588b0, 0x00009000,
+ 0x0081b61c, 0x00007902, 0x0c400000, 0x00000004, 0xcf02243a, 0x0000f902,
+ 0x10c00000, 0x00000004, 0xcec2163a, 0x0000f902, 0x10400000, 0x00008004,
+ 0x0f80083e, 0x00001082, 0x0d81b230, 0x00006002, 0x0dc00037, 0x00000084,
+ 0x11000844, 0x0000e082, 0x0c400031, 0x00000084, 0x10821230, 0x00006002,
+ 0x10c00043, 0x00000084, 0x10400041, 0x00009084, 0x00f9f41c, 0x0000d004,
+ 0x0039b800, 0x00000000, 0x00b9b61c, 0x00005004, 0x00398800, 0x00000000,
+ 0xcf3a243a, 0x0000d004, 0x003a1800, 0x00000000, 0xcefa163a, 0x0000d004,
+ 0x003a0800, 0x00008000, 0x92000440, 0x0000788a, 0xb1400000, 0x0000958a,
+ 0xc000172e, 0x00001583, 0xb6a1d03b, 0x00002884, 0xb681623b, 0x0000a836,
+ 0x00002a91, 0x0000f030, 0x8ecffb2c, 0x00006280, 0x8e80152f, 0x00008880,
+ 0xd492f25e, 0x00006100, 0x0df9723b, 0x0000c000, 0x000ff837, 0x00009582,
+ 0x8dd9672e, 0x0000e038, 0x8dc0132c, 0x000001d0, 0xffffffff, 0x00007f86,
+ 0xc0001f2e, 0x00006583, 0x8dd1bf2e, 0x00008050, 0x94d31262, 0x00009910,
+ 0xb6a1ba3a, 0x00002804, 0x00002c31, 0x00007008, 0xc000272e, 0x00001583,
+ 0xd4d33266, 0x00001910, 0x00002c32, 0x0000f009, 0xc0002f2e, 0x00009583,
+ 0x8dc00000, 0x0000e188, 0x8dd3526a, 0x00004910, 0x01400040, 0x0000e180,
+ 0x08001a3a, 0x0000e106, 0x9511ba37, 0x0000e100, 0x0011d005, 0x00006184,
+ 0x733828ec, 0x0000d600, 0x00000000, 0x00008080, 0x009886ec, 0x00005f80,
+ 0x00007801, 0x00008084, 0x94c00000, 0x00009980, 0x00002c29, 0x00007200,
+ 0x4de00000, 0x000005cd, 0x48c04534, 0x00006283, 0x09019833, 0x00000900,
+ 0x0cc0152d, 0x00006080, 0x0c79962d, 0x00008201, 0x38400c33, 0x00006081,
+ 0x8ebff81d, 0x0000c990, 0x8ebef81f, 0x0000e188, 0xc859a334, 0x0000c900,
+ 0x08c00c31, 0x00006283, 0xc8d19232, 0x00008900, 0x8d400000, 0x0000e189,
+ 0x0a00de35, 0x0000e092, 0x08c01431, 0x00006283, 0x49716e2d, 0x00008901,
+ 0x0c400040, 0x00006180, 0x08001a23, 0x00006106, 0x8d402635, 0x0000e091,
+ 0x00111831, 0x0000a184, 0x88e96d2d, 0x0000e100, 0x1680c018, 0x0000c900,
+ 0x0101b81b, 0x00002080, 0x16020300, 0x00007904, 0x733988ec, 0x00005600,
+ 0x00000000, 0x00008080, 0x8103fa2c, 0x00006282, 0x0181682d, 0x00000900,
+ 0x8e82601a, 0x00007912, 0x13400000, 0x00008004, 0x1301e03c, 0x0000e108,
+ 0x02016f06, 0x0000e002, 0x13800800, 0x0000e180, 0x1341e83d, 0x00004908,
+ 0xd3d1aa35, 0x00006100, 0x8201c04e, 0x00006004, 0x0f01004c, 0x00006082,
+ 0x93d1a234, 0x00000900, 0x8c52d334, 0x00006000, 0x0f40004d, 0x00008084,
+ 0xc1004706, 0x0000e283, 0x8041b82b, 0x00002000, 0x15400000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x8c39713a, 0x00008014, 0xd3b1ab34, 0x00006100,
+ 0x96b1aa31, 0x00000100, 0x13c00000, 0x00006190, 0x0e01b431, 0x00006002,
+ 0x0a016e51, 0x00006002, 0x0401b82b, 0x0000b085, 0x8eb9e01a, 0x0000383c,
+ 0x94816855, 0x0000e001, 0xb2e1784e, 0x00003006, 0x16c00f19, 0x00000588,
+ 0x14c00000, 0x000085d0, 0x14000739, 0x00000598, 0x15c00000, 0x0000e180,
+ 0x9471aa2e, 0x0000c100, 0xca800a2c, 0x0000e080, 0xd4702e05, 0x00000901,
+ 0x01001431, 0x00006283, 0x93d1a330, 0x00000210, 0x01040036, 0x00001282,
+ 0x81000234, 0x0000f900, 0x00000002, 0x00000282, 0x00002c86, 0x00007008,
+ 0x00002cd9, 0x00007010, 0x00002cb7, 0x0000f010, 0x00c02a1c, 0x00007902,
+ 0x01000000, 0x00000004, 0x00803c1c, 0x00007902, 0x01800000, 0x00008004,
+ 0xffffffff, 0x00007f97, 0x01400805, 0x00001082, 0x01c03a30, 0x00006002,
+ 0x01000004, 0x00000084, 0x01800006, 0x00009084, 0x00f82a1c, 0x00005004,
+ 0x00382000, 0x00000000, 0x00b83c1c, 0x00005004, 0x00383000, 0x00008000,
+ 0x009846ec, 0x00005f80, 0x00d87cc0, 0x00000284, 0x0e41b43a, 0x0000e000,
+ 0x0d41a408, 0x0000b000, 0x0000043a, 0x00006583, 0x0c017431, 0x00002002,
+ 0x0e801d36, 0x00001281, 0x00002d40, 0x00007011, 0x00000c3a, 0x00001583,
+ 0x00c03e1c, 0x0000f912, 0x01800000, 0x00008004, 0x00c0281c, 0x00007912,
+ 0x01000000, 0x00000004, 0x00002d31, 0x0000f008, 0xffffffff, 0x00007f86,
+ 0x01c00807, 0x00001082, 0x01402a30, 0x00006002, 0x01800006, 0x00000084,
+ 0x00000408, 0x0000e583, 0x01000004, 0x00000084, 0x00f83e1c, 0x00005004,
+ 0x00383000, 0x00008000, 0x00f8281c, 0x0000d004, 0x00382000, 0x00000000,
+ 0x00002c84, 0x0000f008, 0x2c0066e3, 0x00001680, 0x8e8588b0, 0x00009000,
+ 0x00001431, 0x00009583, 0x8e80323a, 0x00006088, 0x8c404a3a, 0x00008088,
+ 0x00002ca8, 0x0000f009, 0x00001c31, 0x00001583, 0x8c40523a, 0x0000e088,
+ 0x8c405a3a, 0x00000090, 0x8e80423a, 0x0000e090, 0x8e803a3a, 0x00008088,
+ 0xcec03c31, 0x00007902, 0x01800000, 0x00008004, 0xcec02c3a, 0x00007902,
0x01000000, 0x00000004, 0xffffffff, 0x00007f97, 0x01c00807, 0x00001082,
0x01402a30, 0x00006002, 0x01800006, 0x00000084, 0x01000004, 0x00009084,
- 0x00f83a1c, 0x0000d004, 0x00383000, 0x00008000, 0x00b82c1c, 0x0000d004,
- 0x00382000, 0x00000000, 0x0000043e, 0x00001583, 0x001840ec, 0x00005780,
- 0x00d87d40, 0x00008180, 0x00002bf6, 0x0000f011, 0x009096ec, 0x00005f80,
- 0x00007800, 0x00000084, 0x0e41b431, 0x00006000, 0x0d41a40d, 0x0000b000,
- 0x00000431, 0x0000e583, 0x0c01740a, 0x0000a002, 0x0c401d36, 0x00009281,
- 0x00002c8d, 0x00007011, 0x00000c31, 0x00009583, 0x00c03e1c, 0x0000f912,
- 0x01800000, 0x00008004, 0x00c0281c, 0x00007912, 0x01000000, 0x00000004,
- 0x00002c7e, 0x0000f008, 0xffffffff, 0x00007f86, 0x01c00807, 0x00001082,
- 0x01402a30, 0x00006002, 0x01800006, 0x00000084, 0x0000040d, 0x0000e583,
- 0x01000004, 0x00000084, 0x00f83e1c, 0x00005004, 0x00383000, 0x00008000,
- 0x00f8281c, 0x0000d004, 0x00382000, 0x00000000, 0x00002bc0, 0x00007008,
- 0x2c0066e3, 0x00001680, 0x8c4588b0, 0x00001000, 0x0000140a, 0x00001583,
- 0x8c403231, 0x00006088, 0x82804a31, 0x00008088, 0x00002be8, 0x0000f009,
- 0x00001c0a, 0x00009583, 0x82805231, 0x0000e088, 0x82805a31, 0x00000090,
- 0x8c404231, 0x0000e090, 0x8c403a31, 0x00008088, 0xcec03c0a, 0x0000f902,
- 0x01800000, 0x00008004, 0xcec02c31, 0x0000f902, 0x01000000, 0x00000004,
- 0xffffffff, 0x00007f97, 0x01c00807, 0x00001082, 0x01402a30, 0x00006002,
- 0x01800006, 0x00000084, 0x01000004, 0x00009084, 0x00002bc0, 0x00007400,
- 0xcef83c0a, 0x0000d004, 0x00383000, 0x00008000, 0xcef82c31, 0x0000d004,
- 0x00382000, 0x00000000, 0xcee1b8ec, 0x0000a084, 0x14d00002, 0x00006180,
- 0x14800000, 0x0000c980, 0x0030d853, 0x0000e080, 0xc0002820, 0x00003406,
- 0x0018d052, 0x0000e100, 0x80417053, 0x00003000, 0x80172a37, 0x00006502,
- 0x04017053, 0x0000a085, 0x8dc00a37, 0x0000e090, 0x14083804, 0x00000980,
- 0x8e80021a, 0x0000d087, 0x00400000, 0x00008000, 0xcee1b8ec, 0x0000a894,
- 0x14400000, 0x0000e180, 0x08400c21, 0x0000c081, 0x94a0111b, 0x00008283,
- 0x009096ec, 0x00005f80, 0x00d87d00, 0x000080c4, 0x0c01740a, 0x0000e802,
- 0x0000140a, 0x00001583, 0x00001c0a, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00002c63, 0x0000f008, 0x00002c48, 0x0000f008, 0x00c03a1c, 0x0000f902,
- 0x01800000, 0x00008004, 0x2c0066e3, 0x00001680, 0x8c4588b0, 0x00001000,
- 0x00802c1c, 0x0000f902, 0x01000000, 0x00000004, 0xcf805a31, 0x00007902,
- 0x02800000, 0x00008004, 0xcf404c31, 0x0000f902, 0x02000000, 0x00000004,
- 0x01c00807, 0x00001082, 0x01402a30, 0x00006002, 0x01800006, 0x00000084,
- 0x02c0080b, 0x0000e082, 0x01000004, 0x00000084, 0x02404a30, 0x00006002,
- 0x0280000a, 0x00000084, 0x02000008, 0x00009084, 0x00f83a1c, 0x0000d004,
- 0x00383000, 0x00008000, 0x00b82c1c, 0x0000d004, 0x00382000, 0x00000000,
- 0x00002bc0, 0x00007400, 0xcfb85a31, 0x00005004, 0x00385000, 0x00008000,
- 0xcf784c31, 0x0000d004, 0x00384000, 0x00000000, 0x00c03a1c, 0x0000f902,
- 0x01800000, 0x00008004, 0x2c0066e3, 0x00001680, 0x8c4588b0, 0x00001000,
- 0x00802c1c, 0x0000f902, 0x01000000, 0x00000004, 0xcf006231, 0x00007902,
- 0x02c00000, 0x00000004, 0xcec04c31, 0x0000f902, 0x02000000, 0x00000004,
- 0x01c00807, 0x0000e082, 0x0d41a40d, 0x00002000, 0x01800006, 0x00006084,
- 0x0c01740a, 0x0000a002, 0x01402a30, 0x00009002, 0x0300080c, 0x0000e082,
- 0x01000004, 0x00000084, 0x02404a30, 0x00006002, 0x02c0000b, 0x00000084,
- 0x02000008, 0x00009084, 0x00f83a1c, 0x0000d004, 0x00383000, 0x00008000,
- 0x00b82c1c, 0x0000d004, 0x00382000, 0x00000000, 0xcf386231, 0x00005004,
- 0x00385800, 0x00000000, 0xcef84c31, 0x0000d004, 0x00384000, 0x00000000,
- 0xf000040d, 0x0000f88a, 0xf9400000, 0x0000158e, 0x00c02a1c, 0x00007902,
- 0x01000000, 0x00000004, 0x2c0066e3, 0x00001680, 0x828588b0, 0x00009000,
- 0x0080641c, 0x0000f902, 0x02c00000, 0x00000004, 0xcf80480a, 0x0000f902,
- 0x02000000, 0x00000004, 0xcf403a0a, 0x0000f902, 0x01800000, 0x00008004,
- 0x01400805, 0x00001082, 0x03006230, 0x00006002, 0x01000004, 0x00000084,
- 0x02400809, 0x0000e082, 0x02c0000b, 0x00000084, 0x01c03a30, 0x00006002,
- 0x02000008, 0x00000084, 0x01800006, 0x00009084, 0x00f82a1c, 0x00005004,
- 0x00382000, 0x00000000, 0x00b8641c, 0x0000d004, 0x00385800, 0x00000000,
- 0x00002bc0, 0x00007400, 0xcfb8480a, 0x0000d004, 0x00384000, 0x00000000,
- 0xcf783a0a, 0x0000d004, 0x00383000, 0x00008000, 0x00c04a1c, 0x00007902,
- 0x02000000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8c4588b0, 0x00001000,
- 0x00803c1c, 0x00007902, 0x01800000, 0x00008004, 0xcf402e31, 0x00007902,
- 0x01000000, 0x00000004, 0xcf405831, 0x0000f902, 0x02800000, 0x00008004,
- 0x02400809, 0x00001082, 0x01c03a30, 0x00006002, 0x02000008, 0x00000084,
- 0x01400805, 0x0000e082, 0x01800006, 0x00000084, 0x02c05a30, 0x00006002,
- 0x01000004, 0x00000084, 0x0280000a, 0x00009084, 0x00f84a1c, 0x00005004,
- 0x00384000, 0x00000000, 0x00b83c1c, 0x00005004, 0x00383000, 0x00008000,
- 0x00002bc0, 0x00007400, 0xcf782e31, 0x00005004, 0x00382000, 0x00000000,
- 0xcf785831, 0x0000d004, 0x00385000, 0x00008000, 0x00c03c1c, 0x0000f902,
+ 0xcef83c31, 0x00005004, 0x00383000, 0x00008000, 0xcef82c3a, 0x00005004,
+ 0x00382000, 0x00000000, 0x009846ec, 0x00005f80, 0x00d87cc0, 0x00000284,
+ 0x0c017431, 0x00006802, 0x00001431, 0x00009583, 0x00001c31, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x00002d15, 0x0000f008, 0x00002cf9, 0x0000f008,
+ 0x00c02a1c, 0x00007902, 0x01000000, 0x00000004, 0x2c0066e3, 0x00001680,
+ 0x8e8588b0, 0x00009000, 0x00805c1c, 0x00007902, 0x02800000, 0x00008004,
+ 0xcf804a3a, 0x00007902, 0x02000000, 0x00000004, 0xcf403c3a, 0x0000f902,
+ 0x01800000, 0x00008004, 0x01400805, 0x00001082, 0x02c05a30, 0x00006002,
+ 0x01000004, 0x00000084, 0x02400809, 0x0000e082, 0x0280000a, 0x00000084,
+ 0x01c03a30, 0x00006002, 0x02000008, 0x00000084, 0x01800006, 0x00009084,
+ 0x00f82a1c, 0x00005004, 0x00382000, 0x00000000, 0x00b85c1c, 0x00005004,
+ 0x00385000, 0x00008000, 0xcfb84a3a, 0x00005004, 0x00384000, 0x00000000,
+ 0xcf783c3a, 0x0000d004, 0x00383000, 0x00008000, 0x009846ec, 0x00005f80,
+ 0x00d87cc0, 0x00000284, 0x00c0521c, 0x00007902, 0x02400000, 0x00008004,
+ 0x2c0066e3, 0x00001680, 0x8e8588b0, 0x00009000, 0x00803c1c, 0x00007902,
+ 0x01800000, 0x00008004, 0xcf002a3a, 0x0000f902, 0x01000000, 0x00000004,
+ 0xcec0643a, 0x00007902, 0x02c00000, 0x00000004, 0x0280080a, 0x0000e082,
+ 0x0d41a408, 0x00002000, 0x02400009, 0x00006084, 0x0c017431, 0x00002002,
+ 0x01c03a30, 0x00009002, 0x01400805, 0x0000e082, 0x01800006, 0x00000084,
+ 0x03006230, 0x00006002, 0x01000004, 0x00000084, 0x00000408, 0x0000e583,
+ 0x02c0000b, 0x00000084, 0x00f8521c, 0x00005004, 0x00384800, 0x00008000,
+ 0x00b83c1c, 0x00005004, 0x00383000, 0x00008000, 0x00002c9f, 0x00007410,
+ 0xcf382a3a, 0x0000d004, 0x00382000, 0x00000000, 0xcef8643a, 0x00005004,
+ 0x00385800, 0x00000000, 0x009846ec, 0x00005f80, 0x00d87cc0, 0x00000284,
+ 0x00c05a1c, 0x0000f902, 0x02800000, 0x00008004, 0x2c0066e3, 0x00001680,
+ 0x8c4588b0, 0x00001000, 0x00804c1c, 0x0000f902, 0x02000000, 0x00000004,
+ 0xcf803831, 0x0000f902, 0x01800000, 0x00008004, 0xcf402a31, 0x0000f902,
+ 0x01000000, 0x00000004, 0x02c0080b, 0x00001082, 0x02404a30, 0x00006002,
+ 0x0280000a, 0x00000084, 0x01c00807, 0x0000e082, 0x02000008, 0x00000084,
+ 0x01402a30, 0x00006002, 0x01800006, 0x00000084, 0x01000004, 0x00009084,
+ 0x00f85a1c, 0x0000d004, 0x00385000, 0x00008000, 0x00b84c1c, 0x0000d004,
+ 0x00384000, 0x00000000, 0xcfb83831, 0x0000d004, 0x00383000, 0x00008000,
+ 0xcf782a31, 0x0000d004, 0x00382000, 0x00000000, 0x009846ec, 0x00005f80,
+ 0x00d87cc0, 0x00000284, 0x00c04a1c, 0x00007902, 0x02000000, 0x00000004,
+ 0x2c0066e3, 0x00001680, 0x8e8588b0, 0x00009000, 0x00803c1c, 0x00007902,
+ 0x01800000, 0x00008004, 0xcf402e3a, 0x0000f902, 0x01000000, 0x00000004,
+ 0xcf40583a, 0x00007902, 0x02800000, 0x00008004, 0x02400809, 0x00001082,
+ 0x01c03a30, 0x00006002, 0x02000008, 0x00000084, 0x01400805, 0x0000e082,
+ 0x01800006, 0x00000084, 0x02c05a30, 0x00006002, 0x01000004, 0x00000084,
+ 0x0280000a, 0x00009084, 0x00f84a1c, 0x00005004, 0x00384000, 0x00000000,
+ 0x00b83c1c, 0x00005004, 0x00383000, 0x00008000, 0xcf782e3a, 0x0000d004,
+ 0x00382000, 0x00000000, 0xcf78583a, 0x00005004, 0x00385000, 0x00008000,
+ 0x009846ec, 0x00005f80, 0x00d87cc0, 0x00000284, 0x00c03c1c, 0x0000f902,
0x01800000, 0x00008004, 0x00802e1c, 0x00007902, 0x01000000, 0x00000004,
0xffffffff, 0x00007f97, 0x01c00807, 0x00001082, 0x01402a30, 0x00006002,
0x01800006, 0x00000084, 0x01000004, 0x00009084, 0x00f83c1c, 0x0000d004,
0x00383000, 0x00008000, 0x00b82e1c, 0x00005004, 0x00382000, 0x00000000,
- 0xf000040d, 0x0000f88a, 0xe9400000, 0x0000958e, 0x00000c31, 0x00009583,
- 0x00c02e1c, 0x00007912, 0x01000000, 0x00000004, 0x00c0601c, 0x00007912,
- 0x02c00000, 0x00000004, 0x00002cab, 0x00007008, 0x2c0066e3, 0x00001680,
- 0x8c4588b0, 0x00001000, 0xcf004e31, 0x0000f902, 0x02000000, 0x00000004,
- 0xcf003831, 0x00007902, 0x01800000, 0x00008004, 0x01400805, 0x00001082,
- 0x03006230, 0x00006002, 0x01000004, 0x00000084, 0x02400809, 0x0000e082,
- 0x02c0000b, 0x00000084, 0x01c03a30, 0x00006002, 0x02000008, 0x00000084,
- 0x01800006, 0x00009084, 0x00f82e1c, 0x0000d004, 0x00382000, 0x00000000,
- 0x00f8601c, 0x0000d004, 0x00385800, 0x00000000, 0xcf384e31, 0x0000d004,
- 0x00384000, 0x00000000, 0xcf383831, 0x00005004, 0x00383000, 0x00008000,
- 0xf000040d, 0x0000f88a, 0xe9400000, 0x0000958e, 0x00c0641c, 0x00007902,
- 0x02c00000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8c4588b0, 0x00001000,
- 0x00804e1c, 0x00007902, 0x02000000, 0x00000004, 0xcf003c31, 0x0000f902,
- 0x01800000, 0x00008004, 0xcec02e31, 0x00007902, 0x01000000, 0x00000004,
- 0x0300080c, 0x00001082, 0x02404a30, 0x00006002, 0x02c0000b, 0x00000084,
- 0x01c00807, 0x0000e082, 0x02000008, 0x00000084, 0x01402a30, 0x00006002,
- 0x01800006, 0x00000084, 0x01000004, 0x00009084, 0x00f8641c, 0x00005004,
- 0x00385800, 0x00000000, 0x00b84e1c, 0x00005004, 0x00384000, 0x00000000,
- 0xcf383c31, 0x0000d004, 0x00383000, 0x00008000, 0xcef82e31, 0x00005004,
- 0x00382000, 0x00000000, 0xf000040d, 0x0000f88a, 0xe9400000, 0x0000958e,
- 0x4c404534, 0x00006283, 0x0eb9962d, 0x00000201, 0x8efff81d, 0x00006190,
- 0x8efef81f, 0x00004988, 0x0c400c3a, 0x0000e283, 0x0c01743e, 0x00002002,
- 0xcc800000, 0x0000e189, 0x0a00df32, 0x0000e092, 0x0c40143a, 0x0000e283,
- 0x0d41a43f, 0x0000a000, 0xcd51da3b, 0x0000e100, 0x0e41b431, 0x00006000,
- 0xcc802732, 0x0000e091, 0x0d801d36, 0x00008281, 0x00001436, 0x00001583,
- 0x00000431, 0x00001583, 0x0000043f, 0x00009583, 0x00002de3, 0x0000f010,
- 0x00002db0, 0x0000f010, 0x00002df9, 0x00007010, 0x00c1d21c, 0x00007902,
- 0x0dc00000, 0x00000004, 0x0081b41c, 0x0000f902, 0x0c400000, 0x00000004,
- 0xffffffff, 0x00007f97, 0x0e80083a, 0x00001082, 0x0d81b230, 0x00006002,
- 0x0dc00037, 0x00000084, 0x0c400031, 0x00009084, 0x00f9d21c, 0x00005004,
- 0x0039b800, 0x00000000, 0x00b9b41c, 0x0000d004, 0x00398800, 0x00000000,
- 0x10800800, 0x0000e180, 0x0a016c30, 0x00006002, 0x00000430, 0x00006583,
- 0x1680c018, 0x00000900, 0x0c000000, 0x00006180, 0x11019833, 0x0000c900,
- 0x0c000800, 0x0000e191, 0x0cc01d2d, 0x0000c880, 0x8e808233, 0x00006080,
- 0x12800000, 0x00000980, 0x0cc0123a, 0x00006780, 0xc3218042, 0x00002000,
- 0x8c12d22e, 0x0000e000, 0x38619c33, 0x00008901, 0x96b99230, 0x0000e100,
- 0x0018d04a, 0x00002100, 0x8c03fa2c, 0x0000e282, 0x8c51622c, 0x00000900,
- 0x8eb9e01a, 0x0000d00c, 0x0039e800, 0x00000000, 0x0101801b, 0x0000a080,
- 0x8eba601a, 0x0000303c, 0x12d00000, 0x00007900, 0x00008004, 0x00008980,
- 0xd2800a31, 0x0000e080, 0x0030d84b, 0x00002080, 0x10403800, 0x0000e180,
- 0x8041804b, 0x00006000, 0x0c41004c, 0x0000e082, 0x0401804b, 0x0000a085,
- 0x0c00004d, 0x00006084, 0x11400000, 0x00000980, 0x8eb9881a, 0x0000d004,
- 0x00398000, 0x00008000, 0xcc00172f, 0x0000e283, 0x90e96d2d, 0x00000900,
- 0x10082000, 0x00007900, 0x0001c016, 0x00008980, 0x16020300, 0x00007904,
- 0x90c00132, 0x00000498, 0x11c00000, 0x00006180, 0x16c0c819, 0x00004900,
- 0x15800000, 0x000085dc, 0x12303804, 0x00006180, 0x12400000, 0x0000c980,
- 0x00002d77, 0x0000f410, 0x8b000a2c, 0x00006080, 0xd059a334, 0x00000900,
- 0x51716e2d, 0x00006101, 0x0cc1682d, 0x00004908, 0x93e1a135, 0x0000043c,
- 0x13800800, 0x0000e180, 0x02016f33, 0x0000e002, 0xcc004733, 0x00006283,
- 0x8201c04e, 0x0000a004, 0x13c00000, 0x00006190, 0x0c41702e, 0x00004900,
- 0x93d1a335, 0x00006210, 0x14800000, 0x00000980, 0xc0000f2e, 0x0000e583,
- 0xd3b99334, 0x00000100, 0x15400000, 0x0000f900, 0x00004000, 0x00000980,
- 0x0a016e51, 0x00006002, 0xb2e1784e, 0x00003006, 0x14c00000, 0x00006180,
- 0x94816855, 0x0000e001, 0x15000000, 0x0000e180, 0x1401c839, 0x0000c900,
- 0x00002d38, 0x0000f418, 0x9479922e, 0x00006100, 0x0ef9772e, 0x00000901,
- 0x94a98a2e, 0x00000506, 0x01000040, 0x00006180, 0x08001a3a, 0x0000e106,
- 0x0011d004, 0x00006984, 0x733820ec, 0x00005600, 0x00000000, 0x00008080,
- 0x009886ec, 0x00005f80, 0x00007801, 0x00008084, 0xc000071b, 0x00006583,
- 0x0cc00f2e, 0x00008181, 0x0e800d2d, 0x0000e0c0, 0x08016c3a, 0x0000a0cc,
- 0x8dd8fb1f, 0x0000e148, 0x8dd8e31c, 0x00004940, 0x0e801c3a, 0x000060c8,
- 0x0e80183a, 0x000048c0, 0x8d00b800, 0x00006180, 0x1780c018, 0x00004900,
- 0x0e84003a, 0x000060c8, 0x0e80803a, 0x000080c0, 0x17c0c819, 0x0000e100,
- 0xd000005b, 0x0000e400, 0x0e80103a, 0x0000e7c8, 0x0e80103a, 0x000007c0,
- 0x10620c33, 0x0000e001, 0x4d000f2e, 0x00008181, 0x0ca1d43a, 0x0000e149,
- 0x0ca1d43a, 0x00004941, 0x00000c33, 0x0000e583, 0x97917334, 0x00008100,
- 0x8e917334, 0x00006100, 0x38619432, 0x00008901, 0xffffffff, 0x00007f97,
- 0x00002e7d, 0x0000f413, 0xffffffff, 0x00007f86, 0x17020300, 0x0000f904,
- 0x017ae75d, 0x00000010, 0xc180172f, 0x00001283, 0x0031a0ec, 0x00005702,
- 0x00007800, 0x00008080, 0xd519632c, 0x0000e108, 0x8ec0152f, 0x00004890,
- 0x00002d31, 0x0000f008, 0x0100223a, 0x00006002, 0x9559632c, 0x00008900,
- 0xb6b8263b, 0x0000a884, 0xc100272f, 0x00006283, 0x0dc00005, 0x00008084,
- 0xb6b9be3b, 0x00002804, 0xd492f25e, 0x00009908, 0x00002eb2, 0x00007010,
- 0xc000172e, 0x00001583, 0x94d31262, 0x00001918, 0x00002d31, 0x0000f031,
- 0xc0001f2e, 0x00009583, 0xd4d33266, 0x00001910, 0x00002e5e, 0x00007009,
- 0xc000272e, 0x00001583, 0x9513526a, 0x00001910, 0x00002e5f, 0x0000f009,
- 0xc0002f2e, 0x00009583, 0x8ec00000, 0x0000e188, 0x8ed3726e, 0x00004910,
- 0x01000040, 0x00006180, 0x08001a3a, 0x0000e106, 0xd511da3b, 0x00006100,
- 0x0011d004, 0x0000e184, 0x733820ec, 0x00005600, 0x00000000, 0x00008080,
- 0x009886ec, 0x00005f80, 0x00007801, 0x00008084, 0x0ce1a72d, 0x0000043c,
- 0xd3d1aa35, 0x00006100, 0x02016f33, 0x0000e002, 0xcc004733, 0x00006283,
- 0x0c017a3b, 0x0000a100, 0x14800000, 0x0000e180, 0x04399036, 0x0000e087,
- 0x1401c839, 0x0000e100, 0x13c00000, 0x00004990, 0x0e79772d, 0x00008304,
- 0x8eb9923b, 0x00006100, 0x8db9923b, 0x00000100, 0xcdb99632, 0x0000e101,
- 0x54b9943b, 0x00000101, 0x93d1a335, 0x00006210, 0x0ef99632, 0x00000101,
- 0xcc001f39, 0x0000e283, 0xd4718e31, 0x00000901, 0x8d80123a, 0x0000e090,
- 0xcd80143b, 0x00000091, 0x0c42c25a, 0x00006002, 0x8ec0152f, 0x00000880,
- 0xb680003b, 0x0000d084, 0x00400000, 0x00008000, 0xb680023b, 0x00005084,
- 0x00400000, 0x00008000, 0xb680043b, 0x00005084, 0x00400000, 0x00008000,
- 0x13801800, 0x00006180, 0x0c000059, 0x0000c084, 0xb6b98e3b, 0x00005004,
- 0x00398000, 0x00008000, 0xb680003b, 0x00005004, 0x00400000, 0x00000080,
- 0xb680023b, 0x0000d004, 0x00400000, 0x00000080, 0xb680043b, 0x0000d004,
- 0x00400000, 0x00000080, 0x8ec00d2f, 0x0000e080, 0x8201c04e, 0x00006004,
- 0x15400000, 0x0000f900, 0x00004000, 0x00000980, 0xb2e1784e, 0x00006006,
- 0x0a016e51, 0x00003002, 0xc6b9b23b, 0x00002884, 0xc6bac03b, 0x0000b83c,
- 0x14c00000, 0x00006180, 0x94816855, 0x0000e001, 0xc680023b, 0x00005004,
- 0x00400000, 0x00000080, 0x15000000, 0x0000e180, 0x9479922e, 0x0000c100,
- 0x14a97d2f, 0x0000e101, 0xd3b99334, 0x0000c100, 0x0ef9772e, 0x00009901,
- 0x4c400f2e, 0x0000f8b3, 0xc1400000, 0x00001689, 0x00c2021c, 0x0000f902,
- 0x0dc00000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8e8588b0, 0x00009000,
- 0x0081b41c, 0x0000f902, 0x0c400000, 0x00000004, 0xcf02223a, 0x0000f902,
- 0x10c00000, 0x00000004, 0xcec2143a, 0x00007902, 0x10400000, 0x00008004,
- 0x10000840, 0x00001082, 0x0d81b230, 0x00006002, 0x0dc00037, 0x00000084,
- 0x11000844, 0x0000e082, 0x0c400031, 0x00000084, 0x10821230, 0x00006002,
- 0x10c00043, 0x00000084, 0x0000043f, 0x00006583, 0x10400041, 0x00000084,
- 0x00fa021c, 0x0000d004, 0x0039b800, 0x00000000, 0x00b9b41c, 0x0000d004,
- 0x00398800, 0x00000000, 0x00002ce8, 0x00007408, 0xcf3a223a, 0x0000d004,
- 0x003a1800, 0x00000000, 0xcefa143a, 0x00005004, 0x003a0800, 0x00008000,
- 0x0000143e, 0x00009583, 0x8e80323a, 0x00006088, 0x8dc04a3a, 0x00008088,
- 0x00002dd5, 0x00007009, 0x00001c3e, 0x00001583, 0x8dc0523a, 0x0000e088,
- 0x8dc05a3a, 0x00000090, 0x8e80423a, 0x0000e090, 0x8e803a3a, 0x00008088,
- 0xcec1fc37, 0x0000f902, 0x0f800000, 0x00000004, 0xcec1b43a, 0x00007902,
- 0x0c400000, 0x00000004, 0xffffffff, 0x00007f97, 0x0fc0083f, 0x00001082,
- 0x0d81b230, 0x00006002, 0x0f80003e, 0x00000084, 0x0c400031, 0x00009084,
- 0x00002ce8, 0x0000f400, 0xcef9fc37, 0x0000d004, 0x0039f000, 0x00000000,
- 0xcef9b43a, 0x00005004, 0x00398800, 0x00000000, 0xc3200431, 0x00004291,
- 0xce400c36, 0x00008b8b, 0xa5800c36, 0x0000f88b, 0x09400000, 0x00001783,
- 0x00c1d61c, 0x0000f902, 0x0dc00000, 0x00000004, 0x00c1b01c, 0x0000f902,
- 0x0c400000, 0x00000004, 0xffffffff, 0x00007f97, 0x0e80083a, 0x00001082,
- 0x0d81b230, 0x00006002, 0x0dc00037, 0x00000084, 0x0000043f, 0x00006583,
- 0x0c400031, 0x00000084, 0x00f9d61c, 0x0000d004, 0x0039b800, 0x00000000,
- 0x00f9b01c, 0x0000d004, 0x00398800, 0x00000000, 0x00002ce8, 0x0000f008,
- 0x00002dcc, 0x00007400, 0x2c0066e3, 0x00001680, 0x8e8588b0, 0x00009000,
- 0x0000143e, 0x00009583, 0x00001c3e, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00002e43, 0x0000f008, 0x00002e28, 0x00007008, 0x00c1f21c, 0x0000f902,
- 0x0e800000, 0x00008004, 0x2c0066e3, 0x00001680, 0x8dc588b0, 0x00001000,
- 0x0081b41c, 0x0000f902, 0x0c400000, 0x00000004, 0xcf821237, 0x0000f902,
- 0x10400000, 0x00008004, 0xcf420437, 0x00007902, 0x0fc00000, 0x00008004,
- 0x0f80083e, 0x00001082, 0x0d81b230, 0x00006002, 0x0e80003a, 0x00000084,
- 0x10800842, 0x0000e082, 0x0c400031, 0x00000084, 0x10020230, 0x00006002,
- 0x10400041, 0x00000084, 0x0fc0003f, 0x00009084, 0x00f9f21c, 0x0000d004,
- 0x0039d000, 0x00008000, 0x00b9b41c, 0x0000d004, 0x00398800, 0x00000000,
- 0x00002ce8, 0x0000f400, 0xcfba1237, 0x0000d004, 0x003a0800, 0x00008000,
- 0xcf7a0437, 0x00005004, 0x0039f800, 0x00008000, 0x00c1d41c, 0x00007902,
- 0x0dc00000, 0x00000004, 0x0081b61c, 0x00007902, 0x0c400000, 0x00000004,
- 0xffffffff, 0x00007f97, 0x0e80083a, 0x00001082, 0x0d81b230, 0x00006002,
- 0x0dc00037, 0x00000084, 0x0c400031, 0x00009084, 0x00f9d41c, 0x00005004,
- 0x0039b800, 0x00000000, 0x00b9b61c, 0x00005004, 0x00398800, 0x00000000,
- 0x3a00043f, 0x0000f88b, 0xb1400000, 0x0000968f, 0x00c1b21c, 0x00007902,
- 0x0c400000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8e8588b0, 0x00009000,
- 0x0082141c, 0x0000f902, 0x10400000, 0x00008004, 0xcf82003a, 0x00007902,
- 0x0fc00000, 0x00008004, 0xcf41f23a, 0x0000f902, 0x0dc00000, 0x00000004,
- 0x0d800836, 0x00001082, 0x10821230, 0x00006002, 0x0c400031, 0x00000084,
- 0x10000840, 0x0000e082, 0x10400041, 0x00000084, 0x0f81f230, 0x00006002,
- 0x0fc0003f, 0x00000084, 0x0dc00037, 0x00009084, 0x00f9b21c, 0x00005004,
- 0x00398800, 0x00000000, 0x00ba141c, 0x0000d004, 0x003a0800, 0x00008000,
- 0x00002ce8, 0x0000f400, 0xcfba003a, 0x00005004, 0x0039f800, 0x00008000,
- 0xcf79f23a, 0x0000d004, 0x0039b800, 0x00000000, 0x00c2021c, 0x0000f902,
- 0x0fc00000, 0x00008004, 0x2c0066e3, 0x00001680, 0x8dc588b0, 0x00001000,
- 0x0081f41c, 0x00007902, 0x0e800000, 0x00008004, 0xcf41b637, 0x00007902,
- 0x0c400000, 0x00000004, 0xcf421037, 0x00007902, 0x10400000, 0x00008004,
- 0x10000840, 0x00001082, 0x0f81f230, 0x00006002, 0x0fc0003f, 0x00000084,
- 0x0d800836, 0x0000e082, 0x0e80003a, 0x00000084, 0x10821230, 0x00006002,
- 0x0c400031, 0x00000084, 0x10400041, 0x00009084, 0x00fa021c, 0x0000d004,
- 0x0039f800, 0x00008000, 0x00b9f41c, 0x00005004, 0x0039d000, 0x00008000,
- 0x00002ce8, 0x0000f400, 0xcf79b637, 0x00005004, 0x00398800, 0x00000000,
- 0xcf7a1037, 0x00005004, 0x003a0800, 0x00008000, 0xd4c00000, 0x00001980,
- 0x00002d6f, 0x00007200, 0x4ec00000, 0x000005d1, 0x00c1b61c, 0x0000f902,
- 0x0c400000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8dc588b0, 0x00001000,
- 0x00c2201c, 0x0000f902, 0x10c00000, 0x00000004, 0xcf021637, 0x0000f902,
- 0x10400000, 0x00008004, 0xcf020037, 0x00007902, 0x0e800000, 0x00008004,
- 0x0d800836, 0x00001082, 0x11022230, 0x00006002, 0x0c400031, 0x00000084,
- 0x10800842, 0x0000e082, 0x10c00043, 0x00000084, 0x10020230, 0x00006002,
- 0x10400041, 0x00000084, 0x0e80003a, 0x00009084, 0x00f9b61c, 0x0000d004,
- 0x00398800, 0x00000000, 0x00fa201c, 0x0000d004, 0x003a1800, 0x00000000,
- 0xcf3a1637, 0x0000d004, 0x003a0800, 0x00008000, 0xcf3a0037, 0x00005004,
- 0x0039d000, 0x00008000, 0x3a00043f, 0x0000f88b, 0xb1400000, 0x0000968f,
- 0x00001433, 0x0000e583, 0x0ec0143b, 0x00008181, 0x0011b85e, 0x0000e186,
- 0xd000005f, 0x00003400, 0x18020300, 0x0000f904, 0x0c00143b, 0x0000e081,
- 0x1882f05e, 0x00004900, 0x19020300, 0x00007904, 0x00002e8d, 0x0000f408,
- 0x19baff5e, 0x0000860c, 0x19c2f85f, 0x00006100, 0xb842e430, 0x0000c081,
- 0x1a020300, 0x00007904, 0x1b020300, 0x0000f904, 0x1abaff5e, 0x0000062c,
- 0x1bfaf75f, 0x00000638, 0x8ee1dc3b, 0x00009900, 0xffffffff, 0x00007f86,
- 0x2c11da37, 0x00001600, 0x8dc588b0, 0x00001000, 0x8611ba3a, 0x00001100,
- 0x01021300, 0x0000f904, 0x00002d55, 0x00007400, 0x1080c500, 0x00007904,
- 0x8e90c218, 0x00001900, 0x00c2241c, 0x00007902, 0x10c00000, 0x00000004,
- 0x2c0066e3, 0x00001680, 0x8e8588b0, 0x00009000, 0x0082161c, 0x00007902,
- 0x10400000, 0x00008004, 0xcf02043a, 0x00007902, 0x0dc00000, 0x00000004,
- 0xcec1b63a, 0x0000f902, 0x0c400000, 0x00000004, 0x11000844, 0x00001082,
- 0x10821230, 0x00006002, 0x10c00043, 0x00000084, 0x10000840, 0x0000e082,
- 0x10400041, 0x00000084, 0x0d81b230, 0x00006002, 0x0dc00037, 0x00000084,
- 0x0c400031, 0x00009084, 0x00fa241c, 0x00005004, 0x003a1800, 0x00000000,
- 0x00ba161c, 0x00005004, 0x003a0800, 0x00008000, 0xcf3a043a, 0x00005004,
- 0x0039b800, 0x00000000, 0xcef9b63a, 0x0000d004, 0x00398800, 0x00000000,
- 0x3a00043f, 0x0000f88b, 0xb1400000, 0x0000968f, 0xc000172e, 0x00001583,
- 0xb6a1d03b, 0x00002884, 0xb681623b, 0x0000a836, 0x00002d31, 0x00007030,
- 0x8ecffb2c, 0x00006280, 0x8e80152f, 0x00008880, 0xd492f25e, 0x00006100,
- 0x0df9723b, 0x0000c000, 0x000ff837, 0x00009582, 0x8dd9672e, 0x0000e038,
- 0x8dc0132c, 0x000001d0, 0xffffffff, 0x00007f86, 0xc0001f2e, 0x00006583,
- 0x8dd1bf2e, 0x00008050, 0x94d31262, 0x00009910, 0xb6a1ba3a, 0x00002804,
- 0x00002ed1, 0x00007008, 0xc000272e, 0x00001583, 0xd4d33266, 0x00001910,
- 0x00002ed2, 0x0000f009, 0xc0002f2e, 0x00009583, 0x8dc00000, 0x0000e188,
- 0x8dd3526a, 0x00004910, 0x01000040, 0x00006180, 0x08001a3a, 0x0000e106,
- 0x9511ba37, 0x0000e100, 0x0011d004, 0x0000e184, 0x733820ec, 0x00005600,
- 0x00000000, 0x00008080, 0x009886ec, 0x00005f80, 0x00007801, 0x00008084,
- 0x94c00000, 0x00009980, 0x00002ec9, 0x00007200, 0x4de00000, 0x000005cd,
- 0x48c04534, 0x00006283, 0x0c79962d, 0x00008201, 0x8ffff81d, 0x0000e190,
- 0x8ffef81f, 0x0000c988, 0x08c00c31, 0x00006283, 0x08001a24, 0x00002106,
- 0x8d400000, 0x0000e189, 0x0a00de35, 0x0000e092, 0x08c01431, 0x00006283,
- 0xc859a334, 0x00000900, 0x0c40152d, 0x0000e080, 0x08c00040, 0x00008980,
- 0x38400c31, 0x0000e081, 0x00112023, 0x0000e184, 0x0101d81b, 0x00002080,
- 0x733918ec, 0x00005600, 0x00000000, 0x00008080, 0x4979992d, 0x00000210,
- 0x88e96d2d, 0x0000e100, 0xc8d19232, 0x00004900, 0x8d402635, 0x0000e091,
- 0x13800800, 0x00000980, 0x16020300, 0x00007904, 0x8103fa2c, 0x00006282,
- 0x0181682d, 0x00000900, 0x8e82601a, 0x00007912, 0x13400000, 0x00008004,
- 0x1301e03c, 0x0000e108, 0x02016f06, 0x0000e002, 0x1341e83d, 0x00006108,
- 0x8201c04e, 0x00006004, 0x93e1a135, 0x0000043c, 0x0f01004c, 0x00006082,
- 0x0e01b431, 0x0000a002, 0x0f40004d, 0x0000e084, 0x8041d82b, 0x00002000,
- 0xc1004706, 0x0000e283, 0x1680c018, 0x00000900, 0x15400000, 0x0000f900,
- 0x00004000, 0x00000980, 0xcc11fa3f, 0x0000e100, 0x8eb1ab34, 0x00004100,
- 0x0141702e, 0x0000e100, 0xd3b1ab34, 0x0000c100, 0x13c00000, 0x00006190,
- 0x0a016e51, 0x00006002, 0x8eb9e01a, 0x0000383c, 0x0401d82b, 0x0000e085,
- 0x94816855, 0x0000b001, 0x16c0c819, 0x00006100, 0xb2e1784e, 0x00006006,
- 0x14800001, 0x000005cc, 0x15000000, 0x0000e180, 0x1401c839, 0x0000c900,
- 0x15800000, 0x000085dc, 0x9471aa2e, 0x00006100, 0xca800a2c, 0x00008080,
- 0x9692d23a, 0x0000e000, 0xd4702e05, 0x00000901, 0x01001431, 0x00006283,
- 0x93d1a330, 0x00000210, 0x01040036, 0x00001282, 0x81000234, 0x0000f900,
- 0x00000002, 0x00000282, 0x00002f26, 0x00007008, 0x00002f79, 0x00007010,
- 0x00002f57, 0x00007010, 0x00c03a1c, 0x0000f902, 0x01800000, 0x00008004,
- 0x00802c1c, 0x0000f902, 0x01000000, 0x00000004, 0xffffffff, 0x00007f97,
+ 0x21000408, 0x0000788b, 0xe9400000, 0x00009684, 0x00000c3a, 0x00001583,
+ 0x00c0561c, 0x00007912, 0x02400000, 0x00008004, 0x00c0381c, 0x0000f912,
+ 0x01800000, 0x00008004, 0x00002d5e, 0x0000f008, 0x2c0066e3, 0x00001680,
+ 0x8e8588b0, 0x00009000, 0xcf002e3a, 0x00007902, 0x01000000, 0x00000004,
+ 0xcf00603a, 0x00007902, 0x02c00000, 0x00000004, 0x0280080a, 0x00001082,
+ 0x01c03a30, 0x00006002, 0x02400009, 0x00000084, 0x01400805, 0x0000e082,
+ 0x01800006, 0x00000084, 0x03006230, 0x00006002, 0x01000004, 0x00000084,
+ 0x02c0000b, 0x00009084, 0x00f8561c, 0x0000d004, 0x00384800, 0x00008000,
+ 0x00f8381c, 0x00005004, 0x00383000, 0x00008000, 0xcf382e3a, 0x00005004,
+ 0x00382000, 0x00000000, 0xcf38603a, 0x00005004, 0x00385800, 0x00000000,
+ 0x21000408, 0x0000788b, 0xe9400000, 0x00009684, 0x00c03c1c, 0x0000f902,
+ 0x01800000, 0x00008004, 0x2c0066e3, 0x00001680, 0x8e8588b0, 0x00009000,
+ 0x00802e1c, 0x00007902, 0x01000000, 0x00000004, 0xcf00643a, 0x0000f902,
+ 0x02c00000, 0x00000004, 0xcec0563a, 0x0000f902, 0x02400000, 0x00008004,
0x01c00807, 0x00001082, 0x01402a30, 0x00006002, 0x01800006, 0x00000084,
- 0x01000004, 0x00009084, 0x00f83a1c, 0x0000d004, 0x00383000, 0x00008000,
- 0x00b82c1c, 0x0000d004, 0x00382000, 0x00000000, 0x009846ec, 0x00005f80,
- 0x00d87cc0, 0x00000284, 0x0e41b43f, 0x0000e000, 0x0d41a408, 0x0000b000,
- 0x0000043f, 0x00006583, 0x0c017431, 0x00002002, 0x0fc01d36, 0x00001281,
- 0x00002fe0, 0x0000f011, 0x00000c3f, 0x00001583, 0x00c03e1c, 0x0000f912,
- 0x01800000, 0x00008004, 0x00c0281c, 0x00007912, 0x01000000, 0x00000004,
- 0x00002fd1, 0x0000f008, 0xffffffff, 0x00007f86, 0x01c00807, 0x00001082,
- 0x01402a30, 0x00006002, 0x01800006, 0x00000084, 0x00000408, 0x0000e583,
- 0x01000004, 0x00000084, 0x00f83e1c, 0x00005004, 0x00383000, 0x00008000,
- 0x00f8281c, 0x0000d004, 0x00382000, 0x00000000, 0x00002f24, 0x0000f008,
- 0x2c0066e3, 0x00001680, 0x8fc588b0, 0x00009000, 0x00001431, 0x00009583,
- 0x8fc0323f, 0x00006088, 0x8c404a3f, 0x00008088, 0x00002f48, 0x00007009,
- 0x00001c31, 0x00001583, 0x8c40523f, 0x0000e088, 0x8c405a3f, 0x00000090,
- 0x8fc0423f, 0x0000e090, 0x8fc03a3f, 0x00008088, 0xcec03c31, 0x00007902,
- 0x01800000, 0x00008004, 0xcec02c3f, 0x00007902, 0x01000000, 0x00000004,
- 0xffffffff, 0x00007f97, 0x01c00807, 0x00001082, 0x01402a30, 0x00006002,
- 0x01800006, 0x00000084, 0x01000004, 0x00009084, 0xcef83c31, 0x00005004,
- 0x00383000, 0x00008000, 0xcef82c3f, 0x00005004, 0x00382000, 0x00000000,
- 0x009846ec, 0x00005f80, 0x00d87cc0, 0x00000284, 0x0c017431, 0x00006802,
- 0x00001431, 0x00009583, 0x00001c31, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00002fb5, 0x00007008, 0x00002f99, 0x0000f008, 0x00c03a1c, 0x0000f902,
- 0x01800000, 0x00008004, 0x2c0066e3, 0x00001680, 0x8fc588b0, 0x00009000,
- 0x00802c1c, 0x0000f902, 0x01000000, 0x00000004, 0xcf805a3f, 0x0000f902,
- 0x02800000, 0x00008004, 0xcf404c3f, 0x00007902, 0x02000000, 0x00000004,
- 0x01c00807, 0x00001082, 0x01402a30, 0x00006002, 0x01800006, 0x00000084,
- 0x02c0080b, 0x0000e082, 0x01000004, 0x00000084, 0x02404a30, 0x00006002,
- 0x0280000a, 0x00000084, 0x02000008, 0x00009084, 0x00f83a1c, 0x0000d004,
- 0x00383000, 0x00008000, 0x00b82c1c, 0x0000d004, 0x00382000, 0x00000000,
- 0xcfb85a3f, 0x0000d004, 0x00385000, 0x00008000, 0xcf784c3f, 0x00005004,
- 0x00384000, 0x00000000, 0x009846ec, 0x00005f80, 0x00d87cc0, 0x00000284,
- 0x00c03a1c, 0x0000f902, 0x01800000, 0x00008004, 0x2c0066e3, 0x00001680,
- 0x8fc588b0, 0x00009000, 0x00802c1c, 0x0000f902, 0x01000000, 0x00000004,
- 0xcf00623f, 0x0000f902, 0x02c00000, 0x00000004, 0xcec0543f, 0x00007902,
- 0x02400000, 0x00008004, 0x01c00807, 0x0000e082, 0x0d41a408, 0x00002000,
- 0x01800006, 0x00006084, 0x0c017431, 0x00002002, 0x01402a30, 0x00009002,
0x0300080c, 0x0000e082, 0x01000004, 0x00000084, 0x02805230, 0x00006002,
- 0x02c0000b, 0x00000084, 0x00000408, 0x0000e583, 0x02400009, 0x00000084,
- 0x00f83a1c, 0x0000d004, 0x00383000, 0x00008000, 0x00b82c1c, 0x0000d004,
- 0x00382000, 0x00000000, 0x00002f3f, 0x00007410, 0xcf38623f, 0x0000d004,
- 0x00385800, 0x00000000, 0xcef8543f, 0x00005004, 0x00384800, 0x00008000,
- 0x009846ec, 0x00005f80, 0x00d87cc0, 0x00000284, 0x00c02a1c, 0x00007902,
- 0x01000000, 0x00000004, 0x2c0066e3, 0x00001680, 0x8c4588b0, 0x00001000,
- 0x00805c1c, 0x00007902, 0x02800000, 0x00008004, 0xcf804831, 0x00007902,
- 0x02000000, 0x00000004, 0xcf403a31, 0x00007902, 0x01800000, 0x00008004,
- 0x01400805, 0x00001082, 0x02c05a30, 0x00006002, 0x01000004, 0x00000084,
- 0x02400809, 0x0000e082, 0x0280000a, 0x00000084, 0x01c03a30, 0x00006002,
- 0x02000008, 0x00000084, 0x01800006, 0x00009084, 0x00f82a1c, 0x00005004,
- 0x00382000, 0x00000000, 0x00b85c1c, 0x00005004, 0x00385000, 0x00008000,
- 0xcfb84831, 0x00005004, 0x00384000, 0x00000000, 0xcf783a31, 0x00005004,
- 0x00383000, 0x00008000, 0x009846ec, 0x00005f80, 0x00d87cc0, 0x00000284,
+ 0x02c0000b, 0x00000084, 0x02400009, 0x00009084, 0x00f83c1c, 0x0000d004,
+ 0x00383000, 0x00008000, 0x00b82e1c, 0x00005004, 0x00382000, 0x00000000,
+ 0xcf38643a, 0x0000d004, 0x00385800, 0x00000000, 0xcef8563a, 0x0000d004,
+ 0x00384800, 0x00008000, 0x21000408, 0x0000788b, 0xe9400000, 0x00009684,
+ 0x01005800, 0x00006180, 0x02c00008, 0x00004980, 0x0129a804, 0x0000e100,
+ 0x01881000, 0x00008980, 0x01404000, 0x00006181, 0x01000804, 0x0000c784,
+ 0x02001000, 0x00006180, 0x0000180b, 0x00006106, 0x81a02405, 0x00006101,
+ 0x02801002, 0x00000900, 0x02400000, 0x0000f900, 0x00008090, 0x00000980,
+ 0x82e02404, 0x00006101, 0x86202006, 0x0000e087, 0xc2000c04, 0x00009081,
+ 0x00b836ec, 0x0000df00, 0x00105002, 0x00000084, 0x01003800, 0x00006180,
+ 0x0801ac06, 0x00006084, 0x01a03004, 0x0000e100, 0x01481000, 0x00008980,
+ 0x02c00000, 0x00007900, 0x0001c010, 0x00008980, 0x01006800, 0x0000e181,
+ 0x01800806, 0x0000c784, 0x02001000, 0x00006180, 0x0000180b, 0x00006106,
+ 0x81603404, 0x00006101, 0x02801002, 0x00000900, 0x02400000, 0x0000f900,
+ 0x00008090, 0x00000980, 0x82e03406, 0x00006101, 0x86203005, 0x00006087,
+ 0xc2000c06, 0x00001081, 0x00b82eec, 0x0000df00, 0x00105002, 0x00000084,
+ 0x02800000, 0x000080e0, 0x81c00000, 0x000003f0, 0x0f400000, 0x000003f8,
+ 0x0fc00000, 0x000084c0, 0x10400000, 0x000004c8, 0x10c00000, 0x00009980,
+ 0xb7609c09, 0x00004389, 0x00409c09, 0x00000098, 0x75c03c09, 0x0000f88b,
+ 0x01400001, 0x00008000, 0x00003c09, 0x000078a0, 0x00000000, 0x00000000,
+ 0x6ec08c09, 0x000078a3, 0x01400001, 0x00000010, 0xbba00408, 0x0000c491,
+ 0xca400508, 0x00008b93, 0x07e00407, 0x00004790, 0x0480b409, 0x0000808f,
+ 0xb6c0b409, 0x0000c499, 0x7c40a409, 0x00000b8b, 0xbba00408, 0x0000c491,
+ 0xca400508, 0x00008b93, 0x7d800407, 0x0000f88b, 0x69400000, 0x0000968f,
+ 0x0100c409, 0x00009180, 0xb7600804, 0x000044b1, 0xba400408, 0x00008b93,
+ 0x05800508, 0x00004591, 0x03c00407, 0x0000838a, 0x82a00932, 0x000000a2,
+ 0x00002dd8, 0x00007200, 0x81c00801, 0x000000d2, 0x41003d09, 0x00001283,
+ 0x0130760e, 0x00006111, 0x0131b636, 0x00004909, 0x01b82704, 0x0000e111,
+ 0x02000800, 0x00004989, 0x01c00800, 0x00006189, 0x01b9672c, 0x0000c909,
+ 0x82801000, 0x00009988, 0xb9400404, 0x0000c491, 0xba400408, 0x00008b93,
+ 0x03a00508, 0x00004590, 0x82e00407, 0x0000828a, 0x01490804, 0x00001980,
+ 0x760010ec, 0x00005680, 0x00000000, 0x00008080, 0xc17f3406, 0x00007900,
+ 0x00000006, 0x00008080, 0x763828ec, 0x0000d600, 0x0007f800, 0x00008080,
+ 0x760000ec, 0x0000d680, 0x00000000, 0x00008080, 0xbba00408, 0x0000c491,
+ 0xca400508, 0x00008b93, 0x7d800407, 0x0000f88b, 0x69400000, 0x0000968f,
+ 0x01000800, 0x00009981, 0x82801000, 0x00001980, 0xbba00404, 0x0000c491,
+ 0xca400508, 0x00008b93, 0x7d800407, 0x0000f88b, 0x69400000, 0x0000968f,
+ 0x01800000, 0x00006180, 0x08001a04, 0x00006106, 0x40000508, 0x0000e583,
+ 0x00102006, 0x00002184, 0x04105006, 0x00006987, 0x733830ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x00002deb, 0x00007008, 0x0fc80000, 0x000083f0,
+ 0x000878ec, 0x00005780, 0x00007800, 0x00008080, 0x0f400800, 0x00006180,
+ 0x0f800801, 0x0000c980, 0xcfd8530a, 0x00009900, 0x00000407, 0x00001583,
+ 0x00002df6, 0x0000700b, 0x00001040, 0x0000e484, 0x02000041, 0x0000b704,
+ 0x00001843, 0x00006106, 0xc0000041, 0x00003401, 0x000880ec, 0x0000d780,
+ 0x00005000, 0x00008080, 0x10801002, 0x0000e100, 0xc0001843, 0x0000e006,
+ 0xd0080000, 0x00001980, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x02800000, 0x00006180,
+ 0x0020280d, 0x0000e086, 0x02400000, 0x00006180, 0x8228280d, 0x00006086,
+ 0x12802004, 0x00006100, 0x0418280d, 0x0000e187, 0x0380680d, 0x00001900,
+ 0x11ecd800, 0x00007900, 0x0015bf02, 0x00000980, 0x1240700e, 0x00001900,
+ 0xffffffff, 0x00007ff7, 0x82c064ec, 0x00007902, 0x02c00000, 0x00000604,
+ 0xffffffff, 0x00007fa7, 0x02c0600c, 0x00001900, 0x0340580b, 0x00006100,
+ 0x0000200b, 0x0000e586, 0x1200680d, 0x0000e100, 0x0428280b, 0x00006087,
+ 0x2e101bee, 0x00007500, 0x8620280b, 0x00006887, 0x1180580b, 0x00001900,
+ 0xc7805c05, 0x00004389, 0x00405c05, 0x00000098, 0xc7001c05, 0x00004389,
+ 0x00401c05, 0x00008098, 0x40c00c05, 0x0000c890, 0x4c404405, 0x0000858c,
+ 0xc8007405, 0x0000c389, 0x00407405, 0x00000098, 0xc2c06405, 0x00004890,
+ 0x54407c05, 0x0000068c, 0x00001405, 0x00001583, 0x42801000, 0x00001989,
+ 0x00002e44, 0x0000f009, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
+ 0x029f5000, 0x00007900, 0x000d9f6a, 0x00000980, 0x02fa9000, 0x00007900,
+ 0x0016f7fa, 0x00008980, 0x01802004, 0x0000e100, 0x08001a08, 0x00006106,
+ 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901, 0x2e441b17, 0x0000f500,
+ 0x82381400, 0x00008024, 0x83002800, 0x00009980, 0x00005405, 0x00009583,
+ 0x42806000, 0x00009989, 0x00002e44, 0x0000f009, 0x00002e1d, 0x0000f000,
+ 0x00006c05, 0x00001583, 0x42806800, 0x00001989, 0x00002e44, 0x0000f009,
+ 0x00002e1d, 0x0000f000, 0x00008405, 0x00001583, 0x42808000, 0x00001989,
+ 0x00002e44, 0x0000f009, 0x00002e1d, 0x0000f000, 0x00002e44, 0x00007200,
+ 0x42800800, 0x00009981, 0x00002e44, 0x00007200, 0x42801800, 0x00001981,
+ 0x00002e44, 0x00007200, 0x42804800, 0x00001981, 0x00002e44, 0x00007200,
+ 0x42805000, 0x00001981, 0x00002e44, 0x00007200, 0x42805800, 0x00009981,
+ 0x00002e44, 0x00007200, 0x42807000, 0x00009981, 0x00002e44, 0x00007200,
+ 0x42807800, 0x00001981, 0x00182809, 0x00006186, 0x0028280a, 0x0000b086,
+ 0x29c00000, 0x0000e180, 0x04304009, 0x00006087, 0x29000000, 0x00008ad4,
+ 0x29800000, 0x00000edc, 0x39a08000, 0x000004e1, 0x17c00000, 0x0000e181,
+ 0x929712e2, 0x0000c900, 0x2e51220a, 0x00007404, 0x53000ee3, 0x00006081,
+ 0x3b80500a, 0x0000c900, 0x3b404809, 0x00009900, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x48c04534, 0x00006283, 0x0c79962d, 0x00008201,
+ 0x8dfff81d, 0x00006190, 0x8dfef81f, 0x00004988, 0x08c00c31, 0x00006283,
+ 0x09000040, 0x00000980, 0x88400000, 0x0000e189, 0x0a00de21, 0x0000e092,
+ 0x08c01431, 0x00006283, 0xc8d19232, 0x00008900, 0x88402621, 0x0000e091,
+ 0x08001a31, 0x0000a106, 0x49716e2d, 0x00006101, 0x00118824, 0x0000e184,
+ 0x0c40152d, 0x0000e080, 0x8ff10b34, 0x00008100, 0x38400c31, 0x0000e081,
+ 0x88e96d2d, 0x0000c900, 0x0101701b, 0x0000a080, 0x8ea1f21a, 0x0000a085,
+ 0x733920ec, 0x0000d600, 0x00000000, 0x00008080, 0x8eb10e21, 0x00006100,
+ 0x8a91523f, 0x00004000, 0x0929a733, 0x00000204, 0x15020300, 0x00007904,
+ 0x8101fa2c, 0x0000e282, 0x1269ad35, 0x00000901, 0x8e82c01a, 0x00007912,
+ 0x16400000, 0x00008004, 0x1601e03c, 0x0000e108, 0x1641e83d, 0x00004908,
+ 0x12000000, 0x0000f900, 0x00004000, 0x00000980, 0x5261ac35, 0x00006101,
+ 0x0401c048, 0x00006005, 0x0f020058, 0x00006082, 0x34e17848, 0x0000a007,
+ 0x9259a434, 0x00008425, 0xcb11ba37, 0x00006100, 0x8111d334, 0x00004100,
+ 0x0f400059, 0x0000e084, 0x81502204, 0x00008900, 0xc100472d, 0x0000e283,
+ 0x12282504, 0x00008901, 0x52202404, 0x0000e101, 0x12400000, 0x00004990,
+ 0x8111a32c, 0x0000e210, 0x1680c018, 0x00000900, 0x92682504, 0x0000e111,
+ 0xd2602404, 0x00004911, 0x81000a2c, 0x00006080, 0x1580c018, 0x00000900,
+ 0x8ea0221a, 0x0000a884, 0x15c0c819, 0x00006100, 0x0e01b404, 0x00006002,
+ 0x13c00800, 0x00006180, 0x0a016d4b, 0x0000e002, 0x13000000, 0x00007900,
+ 0x00004000, 0x00000980, 0x8eb9e01a, 0x0000383c, 0x1681684f, 0x0000e000,
+ 0xd0000057, 0x0000b400, 0x16c00719, 0x000004b4, 0x13800000, 0x00006180,
+ 0x12f1762e, 0x00004901, 0x9289ca39, 0x00000429, 0x9299cc39, 0x00008429,
+ 0x92d82c05, 0x0000842d, 0x96810000, 0x00006180, 0x9592b23f, 0x00004000,
+ 0x01001404, 0x00009283, 0x01040036, 0x00001282, 0x81000234, 0x0000f900,
+ 0x00000002, 0x00000282, 0x00002eb4, 0x00007008, 0x00002f18, 0x0000f010,
+ 0x00002ef7, 0x0000f010, 0x00c02a1c, 0x00007902, 0x01000000, 0x00000004,
+ 0x00803c1c, 0x00007902, 0x01800000, 0x00008004, 0xffffffff, 0x00007f97,
+ 0x01400805, 0x00001082, 0x01c03a30, 0x00006002, 0x01000004, 0x00000084,
+ 0x01800006, 0x00009084, 0x00f82a1c, 0x00005004, 0x00382000, 0x00000000,
+ 0x00b83c1c, 0x00005004, 0x00383000, 0x00008000, 0x0000043e, 0x00001583,
+ 0x001840ec, 0x00005780, 0x00d87d40, 0x00008180, 0x00002ee4, 0x0000f011,
+ 0x009096ec, 0x00005f80, 0x00007800, 0x00000084, 0x0e41b431, 0x00006000,
+ 0x0d41a40b, 0x0000b000, 0x00000431, 0x0000e583, 0x0c01740a, 0x0000a002,
+ 0x0c401d36, 0x00009281, 0x00002f7b, 0x00007011, 0x00000c31, 0x00009583,
+ 0x00c03e1c, 0x0000f912, 0x01800000, 0x00008004, 0x00c0281c, 0x00007912,
+ 0x01000000, 0x00000004, 0x00002f6c, 0x0000f008, 0xffffffff, 0x00007f86,
+ 0x01c00807, 0x00001082, 0x01402a30, 0x00006002, 0x01800006, 0x00000084,
+ 0x0000040b, 0x0000e583, 0x01000004, 0x00000084, 0x00f83e1c, 0x00005004,
+ 0x00383000, 0x00008000, 0x00f8281c, 0x0000d004, 0x00382000, 0x00000000,
+ 0x00002eae, 0x0000f008, 0x2c0066e3, 0x00001680, 0x8c4588b0, 0x00001000,
+ 0x0000140a, 0x00001583, 0x8c403231, 0x00006088, 0x82804a31, 0x00008088,
+ 0x00002ed6, 0x00007009, 0x00001c0a, 0x00009583, 0x82805231, 0x0000e088,
+ 0x82805a31, 0x00000090, 0x8c404231, 0x0000e090, 0x8c403a31, 0x00008088,
+ 0xcec03c0a, 0x0000f902, 0x01800000, 0x00008004, 0xcec02c31, 0x0000f902,
+ 0x01000000, 0x00000004, 0xffffffff, 0x00007f97, 0x01c00807, 0x00001082,
+ 0x01402a30, 0x00006002, 0x01800006, 0x00000084, 0x01000004, 0x00009084,
+ 0x00002eae, 0x0000f400, 0xcef83c0a, 0x0000d004, 0x00383000, 0x00008000,
+ 0xcef82c31, 0x0000d004, 0x00382000, 0x00000000, 0xcee1b8ec, 0x0000a084,
+ 0x14d00002, 0x00006180, 0x14800000, 0x0000c980, 0x0030d853, 0x0000e080,
+ 0xc0002820, 0x00003406, 0x0018d052, 0x0000e100, 0x80417053, 0x00003000,
+ 0x80172a37, 0x00006502, 0x04017053, 0x0000a085, 0x8dc00a37, 0x0000e090,
+ 0x14083804, 0x00000980, 0x8e80021a, 0x0000d087, 0x00400000, 0x00008000,
+ 0xcee1b8ec, 0x0000a894, 0x14400000, 0x0000e180, 0x08400c21, 0x0000c081,
+ 0x94a0111b, 0x00008283, 0x009096ec, 0x00005f80, 0x00d87d00, 0x000080c4,
+ 0x0c01740a, 0x0000e802, 0x0000140a, 0x00001583, 0x00001c0a, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00002f51, 0x00007008, 0x00002f36, 0x0000f008,
+ 0x00c02a1c, 0x00007902, 0x01000000, 0x00000004, 0x2c0066e3, 0x00001680,
+ 0x8c4588b0, 0x00001000, 0x00805c1c, 0x00007902, 0x02800000, 0x00008004,
+ 0xcf804a31, 0x0000f902, 0x02000000, 0x00000004, 0xcf403c31, 0x00007902,
+ 0x01800000, 0x00008004, 0x01400805, 0x00001082, 0x02c05a30, 0x00006002,
+ 0x01000004, 0x00000084, 0x02400809, 0x0000e082, 0x0280000a, 0x00000084,
+ 0x01c03a30, 0x00006002, 0x02000008, 0x00000084, 0x01800006, 0x00009084,
+ 0x00f82a1c, 0x00005004, 0x00382000, 0x00000000, 0x00b85c1c, 0x00005004,
+ 0x00385000, 0x00008000, 0x00002eae, 0x0000f400, 0xcfb84a31, 0x0000d004,
+ 0x00384000, 0x00000000, 0xcf783c31, 0x00005004, 0x00383000, 0x00008000,
+ 0x00c04a1c, 0x00007902, 0x02000000, 0x00000004, 0x2c0066e3, 0x00001680,
+ 0x8c4588b0, 0x00001000, 0x00803c1c, 0x00007902, 0x01800000, 0x00008004,
+ 0xcf002a31, 0x00007902, 0x01000000, 0x00000004, 0xcec06431, 0x0000f902,
+ 0x02c00000, 0x00000004, 0x02400809, 0x0000e082, 0x0d41a40d, 0x00002000,
+ 0x02000008, 0x00006084, 0x0c01740a, 0x0000a002, 0x01c03a30, 0x00009002,
+ 0x01400805, 0x0000e082, 0x01800006, 0x00000084, 0x03006230, 0x00006002,
+ 0x01000004, 0x00000084, 0x02c0000b, 0x00009084, 0x00f84a1c, 0x00005004,
+ 0x00384000, 0x00000000, 0x00b83c1c, 0x00005004, 0x00383000, 0x00008000,
+ 0xcf382a31, 0x00005004, 0x00382000, 0x00000000, 0xcef86431, 0x0000d004,
+ 0x00385800, 0x00000000, 0xab80040d, 0x0000788b, 0x69400000, 0x00001786,
+ 0x00c0621c, 0x00007902, 0x02c00000, 0x00000004, 0x2c0066e3, 0x00001680,
+ 0x828588b0, 0x00009000, 0x00804c1c, 0x0000f902, 0x02000000, 0x00000004,
+ 0xcf80380a, 0x00007902, 0x01800000, 0x00008004, 0xcf402a0a, 0x00007902,
+ 0x01000000, 0x00000004, 0x0300080c, 0x00001082, 0x02404a30, 0x00006002,
+ 0x02c0000b, 0x00000084, 0x01c00807, 0x0000e082, 0x02000008, 0x00000084,
+ 0x01402a30, 0x00006002, 0x01800006, 0x00000084, 0x01000004, 0x00009084,
+ 0x00f8621c, 0x00005004, 0x00385800, 0x00000000, 0x00b84c1c, 0x0000d004,
+ 0x00384000, 0x00000000, 0x00002eae, 0x0000f400, 0xcfb8380a, 0x00005004,
+ 0x00383000, 0x00008000, 0xcf782a0a, 0x00005004, 0x00382000, 0x00000000,
0x00c04a1c, 0x00007902, 0x02000000, 0x00000004, 0x2c0066e3, 0x00001680,
- 0x8fc588b0, 0x00009000, 0x00803c1c, 0x00007902, 0x01800000, 0x00008004,
- 0xcf402e3f, 0x0000f902, 0x01000000, 0x00000004, 0xcf40583f, 0x00007902,
+ 0x8c4588b0, 0x00001000, 0x00803c1c, 0x00007902, 0x01800000, 0x00008004,
+ 0xcf402e31, 0x00007902, 0x01000000, 0x00000004, 0xcf405831, 0x0000f902,
0x02800000, 0x00008004, 0x02400809, 0x00001082, 0x01c03a30, 0x00006002,
0x02000008, 0x00000084, 0x01400805, 0x0000e082, 0x01800006, 0x00000084,
0x02c05a30, 0x00006002, 0x01000004, 0x00000084, 0x0280000a, 0x00009084,
0x00f84a1c, 0x00005004, 0x00384000, 0x00000000, 0x00b83c1c, 0x00005004,
- 0x00383000, 0x00008000, 0xcf782e3f, 0x0000d004, 0x00382000, 0x00000000,
- 0xcf78583f, 0x00005004, 0x00385000, 0x00008000, 0x009846ec, 0x00005f80,
- 0x00d87cc0, 0x00000284, 0x00c03c1c, 0x0000f902, 0x01800000, 0x00008004,
- 0x00802e1c, 0x00007902, 0x01000000, 0x00000004, 0xffffffff, 0x00007f97,
- 0x01c00807, 0x00001082, 0x01402a30, 0x00006002, 0x01800006, 0x00000084,
- 0x01000004, 0x00009084, 0x00f83c1c, 0x0000d004, 0x00383000, 0x00008000,
- 0x00b82e1c, 0x00005004, 0x00382000, 0x00000000, 0xc9000408, 0x0000788b,
- 0xe9400000, 0x00009789, 0x00000c3f, 0x00001583, 0x00c02e1c, 0x00007912,
- 0x01000000, 0x00000004, 0x00c0601c, 0x00007912, 0x02c00000, 0x00000004,
- 0x00002ffe, 0x00007008, 0x2c0066e3, 0x00001680, 0x8fc588b0, 0x00009000,
- 0xcf00563f, 0x00007902, 0x02400000, 0x00008004, 0xcf00383f, 0x0000f902,
- 0x01800000, 0x00008004, 0x01400805, 0x00001082, 0x03006230, 0x00006002,
- 0x01000004, 0x00000084, 0x0280080a, 0x0000e082, 0x02c0000b, 0x00000084,
- 0x01c03a30, 0x00006002, 0x02400009, 0x00000084, 0x01800006, 0x00009084,
- 0x00f82e1c, 0x0000d004, 0x00382000, 0x00000000, 0x00f8601c, 0x0000d004,
- 0x00385800, 0x00000000, 0xcf38563f, 0x00005004, 0x00384800, 0x00008000,
- 0xcf38383f, 0x0000d004, 0x00383000, 0x00008000, 0xc9000408, 0x0000788b,
- 0xe9400000, 0x00009789, 0x00c0641c, 0x00007902, 0x02c00000, 0x00000004,
- 0x2c0066e3, 0x00001680, 0x8fc588b0, 0x00009000, 0x0080561c, 0x00007902,
- 0x02400000, 0x00008004, 0xcf003c3f, 0x00007902, 0x01800000, 0x00008004,
- 0xcec02e3f, 0x0000f902, 0x01000000, 0x00000004, 0x0300080c, 0x00001082,
- 0x02805230, 0x00006002, 0x02c0000b, 0x00000084, 0x01c00807, 0x0000e082,
- 0x02400009, 0x00000084, 0x01402a30, 0x00006002, 0x01800006, 0x00000084,
- 0x01000004, 0x00009084, 0x00f8641c, 0x00005004, 0x00385800, 0x00000000,
- 0x00b8561c, 0x00005004, 0x00384800, 0x00008000, 0xcf383c3f, 0x00005004,
- 0x00383000, 0x00008000, 0xcef82e3f, 0x0000d004, 0x00382000, 0x00000000,
- 0xc9000408, 0x0000788b, 0xe9400000, 0x00009789, 0x01005800, 0x00006180,
- 0x02c00008, 0x00004980, 0x0129a804, 0x0000e100, 0x01881000, 0x00008980,
- 0x01404000, 0x00006181, 0x01000804, 0x0000c784, 0x02001000, 0x00006180,
- 0x0000180b, 0x00006106, 0x81a02405, 0x00006101, 0x02801002, 0x00000900,
- 0x02400000, 0x0000f900, 0x00008090, 0x00000980, 0x82e02404, 0x00006101,
- 0x86202006, 0x0000e087, 0xc2000c04, 0x00009081, 0x00b836ec, 0x0000df00,
- 0x00105002, 0x00000084, 0x01003800, 0x00006180, 0x0801ac06, 0x00006084,
- 0x01a03004, 0x0000e100, 0x01481000, 0x00008980, 0x02c00000, 0x00007900,
- 0x0001c010, 0x00008980, 0x01006800, 0x0000e181, 0x01800806, 0x0000c784,
- 0x02001000, 0x00006180, 0x0000180b, 0x00006106, 0x81603404, 0x00006101,
- 0x02801002, 0x00000900, 0x02400000, 0x0000f900, 0x00008090, 0x00000980,
- 0x82e03406, 0x00006101, 0x86203005, 0x00006087, 0xc2000c06, 0x00001081,
- 0x00b82eec, 0x0000df00, 0x00105002, 0x00000084, 0x02800000, 0x000080e0,
- 0x81c00000, 0x000003f0, 0x0f400000, 0x000003f8, 0x0fc00000, 0x000084c0,
- 0x10400000, 0x000004c8, 0x10c00000, 0x00009980, 0x0b609c09, 0x00004388,
- 0x00609c09, 0x00008098, 0x1dc03c09, 0x0000f88a, 0x01800001, 0x00008000,
- 0x00003c09, 0x000078a0, 0x00000000, 0x00000000, 0x16c08c09, 0x0000f8a2,
- 0x01800001, 0x00000010, 0x0fa00408, 0x00004490, 0x0a600508, 0x00000c91,
- 0x07e00407, 0x00004790, 0x0480b409, 0x0000808f, 0x0ac0b409, 0x0000c498,
- 0xbc60a409, 0x00000c88, 0x0fa00408, 0x00004490, 0x0a600508, 0x00000c91,
- 0x25800407, 0x0000f88a, 0x69800000, 0x00009884, 0x0100c409, 0x00009180,
- 0x0b600804, 0x000044b0, 0xfa600408, 0x00000c90, 0x05800508, 0x00004591,
- 0x03c00407, 0x0000838a, 0x82a00932, 0x000000a2, 0x00003078, 0x00007200,
- 0x81c00801, 0x000000d2, 0x41003d09, 0x00001283, 0x0130760e, 0x00006111,
- 0x0131b636, 0x00004909, 0x01b82704, 0x0000e111, 0x02000800, 0x00004989,
- 0x01c00800, 0x00006189, 0x01b9672c, 0x0000c909, 0x82801000, 0x00009988,
- 0x0d400404, 0x00004490, 0xfa600408, 0x00000c90, 0x03a00508, 0x00004590,
- 0x82e00407, 0x0000828a, 0x01490804, 0x00001980, 0x760010ec, 0x00005680,
- 0x00000000, 0x00008080, 0xc17f3406, 0x00007900, 0x00000006, 0x00008080,
- 0x763828ec, 0x0000d600, 0x0007f800, 0x00008080, 0x760000ec, 0x0000d680,
- 0x00000000, 0x00008080, 0x0fa00408, 0x00004490, 0x0a600508, 0x00000c91,
- 0x25800407, 0x0000f88a, 0x69800000, 0x00009884, 0x01000800, 0x00009981,
- 0x82801000, 0x00001980, 0x0fa00404, 0x00004490, 0x0a600508, 0x00000c91,
- 0x25800407, 0x0000f88a, 0x69800000, 0x00009884, 0x01400000, 0x00006180,
- 0x08001a04, 0x00006106, 0x40000508, 0x0000e583, 0x00102005, 0x00002184,
- 0x04105005, 0x00006987, 0x733828ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x0000308b, 0x00007008, 0x0fc80000, 0x000083f0, 0x000878ec, 0x00005780,
- 0x00007800, 0x00008080, 0x0f400800, 0x00006180, 0x0f800801, 0x0000c980,
- 0xcfd8530a, 0x00009900, 0x00000407, 0x00001583, 0x00003096, 0x0000700b,
- 0x00001040, 0x0000e484, 0x02000041, 0x0000b704, 0x00001843, 0x00006106,
- 0xc0000041, 0x00003401, 0x000880ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x10801002, 0x0000e100, 0xc0001843, 0x0000e006, 0xd0080000, 0x00001980,
- 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x02800000, 0x00006180, 0x0020280d, 0x0000e086,
- 0x02400000, 0x00006180, 0x8228280d, 0x00006086, 0x12802004, 0x00006100,
- 0x0418280d, 0x0000e187, 0x0380680d, 0x00001900, 0x11ecd800, 0x00007900,
- 0x0015bf02, 0x00000980, 0x1240700e, 0x00001900, 0xffffffff, 0x00007ff7,
- 0x82c064ec, 0x00007902, 0x02c00000, 0x00000604, 0xffffffff, 0x00007fa7,
- 0x02c0600c, 0x00001900, 0x0340580b, 0x00006100, 0x0000200b, 0x0000e586,
- 0x1200680d, 0x0000e100, 0x0428280b, 0x00006087, 0x30b01d3a, 0x00007500,
- 0x8620280b, 0x00006887, 0x1180580b, 0x00001900, 0x1b805c05, 0x00004388,
- 0x00605c05, 0x00008098, 0x1b001c05, 0x00004388, 0x00601c05, 0x00000098,
- 0x40c00c05, 0x0000c890, 0x4c404405, 0x0000858c, 0x1c007405, 0x00004388,
- 0x00607405, 0x00008098, 0xc2c06405, 0x00004890, 0x54407c05, 0x0000068c,
- 0x00001405, 0x00001583, 0x42801000, 0x00001989, 0x000030e4, 0x0000f009,
- 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x029f5000, 0x00007900,
- 0x000d9f6a, 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980,
- 0x01802004, 0x0000e100, 0x08001a08, 0x00006106, 0x01c00000, 0x0000e180,
- 0xc2300600, 0x0000c901, 0x30e41c63, 0x00007500, 0x82381400, 0x00008024,
- 0x83002800, 0x00009980, 0x00005405, 0x00009583, 0x42806000, 0x00009989,
- 0x000030e4, 0x0000f009, 0x000030bd, 0x0000f000, 0x00006c05, 0x00001583,
- 0x42806800, 0x00001989, 0x000030e4, 0x0000f009, 0x000030bd, 0x0000f000,
- 0x00008405, 0x00001583, 0x42808000, 0x00001989, 0x000030e4, 0x0000f009,
- 0x000030bd, 0x0000f000, 0x000030e4, 0x00007200, 0x42800800, 0x00009981,
- 0x000030e4, 0x00007200, 0x42801800, 0x00001981, 0x000030e4, 0x00007200,
- 0x42804800, 0x00001981, 0x000030e4, 0x00007200, 0x42805000, 0x00001981,
- 0x000030e4, 0x00007200, 0x42805800, 0x00009981, 0x000030e4, 0x00007200,
- 0x42807000, 0x00009981, 0x000030e4, 0x00007200, 0x42807800, 0x00001981,
- 0x00182809, 0x00006186, 0x0028280a, 0x0000b086, 0x29c00000, 0x0000e180,
- 0x04304009, 0x00006087, 0x29000000, 0x00008ad4, 0x29800000, 0x00000edc,
- 0x39a08000, 0x000004e1, 0x1bc00000, 0x0000e181, 0xdbd712e2, 0x0000c900,
- 0x30f12357, 0x00007404, 0x53000ee3, 0x00006081, 0x3b80500a, 0x0000c900,
- 0x3b404809, 0x00009900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x14009800, 0x00007900, 0x00001000, 0x00000980, 0x1238df1a, 0x00000504,
- 0x819722e4, 0x00001900, 0x30f8211a, 0x00007004, 0x0000044d, 0x00009583,
- 0x000030fc, 0x0000700b, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x39000406, 0x000080b4, 0x70797449, 0x00003038, 0x70798649, 0x0000b038,
- 0x02144000, 0x0000f900, 0x0002018a, 0x00000980, 0x0260000a, 0x0000e180,
- 0x0020c00d, 0x00006006, 0x02800000, 0x000080ec, 0x03000000, 0x000080f8,
- 0x03c00000, 0x000081c0, 0x04400000, 0x000001c8, 0x04c00000, 0x0000e180,
- 0x0581702e, 0x00004900, 0x00000000, 0x0000f480, 0x05f9872f, 0x00008110,
- 0x05418831, 0x00001900, 0xffc00000, 0x00006180, 0x40001008, 0x00006403,
- 0x00501800, 0x0000f900, 0x0000c050, 0x00008980, 0x20005009, 0x00006406,
- 0xc0005008, 0x0000b407, 0xc0004800, 0x00009981, 0x008806ec, 0x00005f80,
- 0x00905080, 0x00000484, 0x0ec00000, 0x000083e8, 0x02000000, 0x000080e4,
- 0x02800000, 0x000080ec, 0x00003429, 0x00001583, 0x00003c29, 0x00009583,
- 0x00002c29, 0x00001583, 0x00003150, 0x0000f008, 0x00003188, 0x0000f008,
- 0x000031a5, 0x0000f010, 0x3123211a, 0x00007404, 0x4ec02800, 0x0000e181,
- 0x1201502a, 0x0000c900, 0x14009c00, 0x00006180, 0x1441582b, 0x00004900,
- 0x63400c4d, 0x0000788a, 0x01800001, 0x00000080, 0x07100000, 0x000081e4,
- 0x70602049, 0x0000f902, 0x84d00500, 0x00008000, 0x20002809, 0x00006406,
- 0xe0005008, 0x0000b406, 0x06000000, 0x00006180, 0x60000809, 0x00006403,
- 0x7038a449, 0x0000b038, 0x07010404, 0x00006081, 0x2000080a, 0x0000a402,
- 0x70502049, 0x00002082, 0x7038b249, 0x00003038, 0x70007649, 0x0000a002,
- 0x40000808, 0x00006403, 0xa000a809, 0x0000b483, 0x06c00000, 0x00006180,
- 0x71e02019, 0x0000e000, 0x70402049, 0x00002080, 0x7008c649, 0x0000a002,
- 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000, 0x00006180,
- 0x82202019, 0x0000e000, 0x70602049, 0x00002081, 0x08800000, 0x000082cc,
- 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x03c00000, 0x00006180,
- 0xb2e02019, 0x00006080, 0x813f1fe3, 0x0000e100, 0x04000000, 0x0000c980,
- 0xee002604, 0x00002080, 0x04400000, 0x00001980, 0xffffffff, 0x00007f97,
- 0x01020404, 0x00009283, 0x06400819, 0x00001390, 0xffffffff, 0x00007f86,
- 0x01000c19, 0x00009283, 0x70382649, 0x0000a090, 0x7038d649, 0x0000a088,
- 0x000031b7, 0x00007401, 0xffffffff, 0x00007f86, 0x06808004, 0x00009890,
- 0x3155211a, 0x0000f404, 0x4ec03000, 0x0000e181, 0x1201502a, 0x0000c900,
- 0x14009b00, 0x0000e180, 0x1441582b, 0x00004900, 0x63400c4d, 0x0000788a,
- 0x01800001, 0x00000080, 0x01408811, 0x0000e100, 0x01007811, 0x0000c100,
- 0x70383a49, 0x00002000, 0x01800c19, 0x0000e283, 0x0a00780f, 0x00000900,
- 0x0a80780f, 0x0000e108, 0x01408011, 0x0000c790, 0x0a80800f, 0x00001790,
- 0x01c08007, 0x00009890, 0xffffffff, 0x00007f86, 0x00002007, 0x00001502,
- 0x01001800, 0x000061b1, 0x06000000, 0x00004998, 0x7000a449, 0x0000f91a,
- 0x05400000, 0x00008000, 0x00003186, 0x0000f030, 0x70003249, 0x0000a080,
- 0x0dc80005, 0x00006180, 0x70002019, 0x0000e500, 0x7028c249, 0x0000a080,
- 0x06803807, 0x00006100, 0xa000a809, 0x0000e483, 0x03c00000, 0x00006180,
- 0x81c03019, 0x0000e000, 0x04402004, 0x0000e100, 0x71c03019, 0x0000e000,
- 0x70003249, 0x00002081, 0x0d804000, 0x00007900, 0x00207fc0, 0x00008980,
- 0x7039a649, 0x0000b038, 0x04014010, 0x0000e100, 0x0b100001, 0x00000980,
- 0x0b401900, 0x0000e180, 0xb2e03019, 0x0000e080, 0x0b800000, 0x000082fc,
- 0x0c800000, 0x000083cc, 0x0c382f2a, 0x00000304, 0xcdd81302, 0x00001900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009858ec, 0x0000d780, 0x00007800, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01000000, 0x00001981,
- 0x000031b7, 0x0000f200, 0x8ea02404, 0x00009901, 0x318b211a, 0x0000f404,
+ 0x00383000, 0x00008000, 0x00002eae, 0x0000f400, 0xcf782e31, 0x00005004,
+ 0x00382000, 0x00000000, 0xcf785831, 0x0000d004, 0x00385000, 0x00008000,
+ 0x00c03c1c, 0x0000f902, 0x01800000, 0x00008004, 0x00802e1c, 0x00007902,
+ 0x01000000, 0x00000004, 0xffffffff, 0x00007f97, 0x01c00807, 0x00001082,
+ 0x01402a30, 0x00006002, 0x01800006, 0x00000084, 0x01000004, 0x00009084,
+ 0x00f83c1c, 0x0000d004, 0x00383000, 0x00008000, 0x00b82e1c, 0x00005004,
+ 0x00382000, 0x00000000, 0xab80040b, 0x0000788b, 0x59400000, 0x00001786,
+ 0x00000c31, 0x00009583, 0x00c04e1c, 0x00007912, 0x02000000, 0x00000004,
+ 0x00c0381c, 0x0000f912, 0x01800000, 0x00008004, 0x00002f99, 0x0000f008,
+ 0x2c0066e3, 0x00001680, 0x8c4588b0, 0x00001000, 0xcf002e31, 0x0000f902,
+ 0x01000000, 0x00000004, 0xcf006831, 0x00007902, 0x03000000, 0x00008004,
+ 0x02400809, 0x00001082, 0x01c03a30, 0x00006002, 0x02000008, 0x00000084,
+ 0x01400805, 0x0000e082, 0x01800006, 0x00000084, 0x03406a30, 0x00006002,
+ 0x01000004, 0x00000084, 0x0300000c, 0x00009084, 0x00f84e1c, 0x0000d004,
+ 0x00384000, 0x00000000, 0x00f8381c, 0x00005004, 0x00383000, 0x00008000,
+ 0xcf382e31, 0x0000d004, 0x00382000, 0x00000000, 0xcf386831, 0x00005004,
+ 0x00386000, 0x00008000, 0xab80040b, 0x0000788b, 0x59400000, 0x00001786,
+ 0x00c03c1c, 0x0000f902, 0x01800000, 0x00008004, 0x2c0066e3, 0x00001680,
+ 0x8c4588b0, 0x00001000, 0x00802e1c, 0x00007902, 0x01000000, 0x00000004,
+ 0xcf006c31, 0x0000f902, 0x03000000, 0x00008004, 0xcec04e31, 0x00007902,
+ 0x02000000, 0x00000004, 0x01c00807, 0x00001082, 0x01402a30, 0x00006002,
+ 0x01800006, 0x00000084, 0x0340080d, 0x0000e082, 0x01000004, 0x00000084,
+ 0x02404a30, 0x00006002, 0x0300000c, 0x00000084, 0x02000008, 0x00009084,
+ 0x00f83c1c, 0x0000d004, 0x00383000, 0x00008000, 0x00b82e1c, 0x00005004,
+ 0x00382000, 0x00000000, 0xcf386c31, 0x0000d004, 0x00386000, 0x00008000,
+ 0xcef84e31, 0x00005004, 0x00384000, 0x00000000, 0xab80040b, 0x0000788b,
+ 0x59400000, 0x00001786, 0x14009800, 0x00007900, 0x00001000, 0x00000980,
+ 0x1238df1a, 0x00000504, 0x819722e4, 0x00001900, 0x2fba1fce, 0x00007004,
+ 0x0000044d, 0x00009583, 0x00002fbe, 0x0000f00b, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x39000406, 0x000080b4, 0x70797449, 0x00003038,
+ 0x70798649, 0x0000b038, 0x02144000, 0x0000f900, 0x0002018a, 0x00000980,
+ 0x0260000a, 0x0000e180, 0x0020c00d, 0x00006006, 0x02800000, 0x000080ec,
+ 0x03000000, 0x000080f8, 0x03c00000, 0x000081c0, 0x04400000, 0x000001c8,
+ 0x04c00000, 0x0000e180, 0x0581702e, 0x00004900, 0x00000000, 0x0000f480,
+ 0x05f9872f, 0x00008110, 0x05418831, 0x00001900, 0xffc00000, 0x00006180,
+ 0x40001008, 0x00006403, 0x00501800, 0x0000f900, 0x0000c050, 0x00008980,
+ 0x20005009, 0x00006406, 0xc0005008, 0x0000b407, 0xc0004800, 0x00009981,
+ 0x008806ec, 0x00005f80, 0x00905080, 0x00000484, 0x0ec00000, 0x000083e8,
+ 0x02000000, 0x000080e4, 0x02800000, 0x000080ec, 0x00003429, 0x00001583,
+ 0x00003c29, 0x00009583, 0x00002c29, 0x00001583, 0x00003012, 0x00007008,
+ 0x00003058, 0x0000f008, 0x00003075, 0x0000f010, 0x2fe51fce, 0x0000f404,
+ 0x4ec02800, 0x0000e181, 0x1201502a, 0x0000c900, 0x14009c00, 0x00006180,
+ 0x1441582b, 0x00004900, 0x17400c4d, 0x0000788a, 0x01800001, 0x00000080,
+ 0x07100000, 0x000081e4, 0x70602049, 0x0000f902, 0x84d00500, 0x00008000,
+ 0x20002809, 0x00006406, 0xe0005008, 0x0000b406, 0x06000000, 0x00006180,
+ 0x60000809, 0x00006403, 0x7038a449, 0x0000b038, 0x07010404, 0x00006081,
+ 0x2000080a, 0x0000a402, 0x70502049, 0x00002082, 0x7038b249, 0x00003038,
+ 0x70007649, 0x0000a002, 0x40000808, 0x00006403, 0xa000a809, 0x0000b483,
+ 0x06c00000, 0x00006180, 0x71e02019, 0x0000e000, 0x70402049, 0x00002080,
+ 0x7008c649, 0x0000a002, 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0,
+ 0x08400000, 0x00006180, 0x82202019, 0x0000e000, 0x70602049, 0x00002081,
+ 0x08800000, 0x000082cc, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc,
+ 0x03c00000, 0x00006180, 0xb2e02019, 0x00006080, 0x813f1fe3, 0x0000e100,
+ 0x04000000, 0x0000c980, 0xee002604, 0x00002080, 0x04400000, 0x00001980,
+ 0xffffffff, 0x00007f97, 0x01020404, 0x00009283, 0x06400819, 0x00001390,
+ 0xffffffff, 0x00007f86, 0x01000c19, 0x00009283, 0x70382649, 0x0000a090,
+ 0x7038d649, 0x0000a088, 0x00003087, 0x0000f401, 0xffffffff, 0x00007f86,
+ 0x06808004, 0x00009890, 0x30171fce, 0x0000f404, 0x4ec03000, 0x0000e181,
+ 0x1201502a, 0x0000c900, 0x14009b00, 0x0000e180, 0x1441582b, 0x00004900,
+ 0x17400c4d, 0x0000788a, 0x01800001, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x01000c19, 0x00009283, 0x70382249, 0x00002000, 0x0a008811, 0x00006108,
+ 0x01c0780f, 0x0000c908, 0x01c0800f, 0x0000e790, 0x0a008011, 0x00000790,
+ 0xffffffff, 0x00007f86, 0x01803828, 0x00009100, 0x00003004, 0x00009502,
+ 0x0143f807, 0x0000e2a0, 0x70000019, 0x00002520, 0x01803005, 0x0000e020,
+ 0x0b100001, 0x000089a0, 0x00003055, 0x0000f028, 0x7000a249, 0x00002082,
+ 0x01403806, 0x0000e780, 0x0dc80005, 0x00008980, 0x81902a05, 0x00006100,
+ 0x0b401900, 0x0000c980, 0x7038ac49, 0x00002000, 0x8010a205, 0x00006502,
+ 0x0b800000, 0x00008980, 0x81800000, 0x00006188, 0x01400800, 0x0000c991,
+ 0x01400000, 0x00006189, 0x0bc00000, 0x0000c980, 0x06000406, 0x00008388,
+ 0x70003249, 0x0000a080, 0x7028c249, 0x0000a080, 0x0d804000, 0x00007900,
+ 0x00207fc0, 0x00008980, 0x7039a649, 0x0000b038, 0x0cc00000, 0x00006180,
+ 0x81c03019, 0x0000e000, 0x0c003807, 0x0000e100, 0x71c03419, 0x00006000,
+ 0x0c414028, 0x00006100, 0x92602819, 0x00006000, 0x70002a49, 0x00002081,
+ 0x7038a449, 0x00002080, 0xcdd81302, 0x00001900, 0xffffffff, 0x00007f86,
+ 0xb2e02819, 0x00006880, 0x01400c19, 0x00001283, 0x70382249, 0x0000a008,
+ 0xffffffff, 0x00007fa7, 0x01008004, 0x00009890, 0xffffffff, 0x00007f86,
+ 0x06802004, 0x00001900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009858ec, 0x0000d780, 0x00007800, 0x00008080,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x00003056, 0x00007200, 0x01000000, 0x00001981, 0x01001800, 0x00001981,
+ 0x00003087, 0x00007200, 0x8ea02404, 0x00009901, 0x305b1fce, 0x00007404,
0x12395f2a, 0x00000504, 0x14009900, 0x00001980, 0x00000c4d, 0x00001583,
- 0x0000318e, 0x0000f013, 0x318e310c, 0x00007100, 0x0dc80005, 0x00006180,
+ 0x0000305e, 0x0000f013, 0x305e2fce, 0x0000f100, 0x0dc80005, 0x00006180,
0x0c000000, 0x00004980, 0x0d804000, 0x00007900, 0x00207fc0, 0x00008980,
0x7039a249, 0x00003038, 0x0b100001, 0x0000e180, 0x0b401900, 0x0000c980,
0x0b800000, 0x000082fc, 0x0c400000, 0x000003c8, 0x0cc00000, 0x00006180,
0xcdd81302, 0x00004900, 0x8c18cb19, 0x00001900, 0x814010ec, 0x0000d684,
0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009858ec, 0x0000d780,
0x00007800, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x000031b2, 0x0000f200, 0xc6594b29, 0x00006100,
+ 0x00000002, 0x00008480, 0x00003082, 0x00007200, 0xc6594b29, 0x00006100,
0x60000808, 0x00006402, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
0x02bbc800, 0x0000f900, 0x00384ea2, 0x00008980, 0x02f82800, 0x0000f900,
0x00280a2c, 0x00000980, 0x01814028, 0x0000e100, 0x08001a08, 0x00006106,
- 0x01400729, 0x0000009c, 0x31b21c63, 0x0000f500, 0x82200500, 0x00008022,
+ 0x01400729, 0x0000009c, 0x30821b17, 0x0000f500, 0x82200500, 0x00008022,
0x83002800, 0x0000e180, 0x02401002, 0x0000c900, 0x00501800, 0x0000f900,
0x0000c050, 0x00008980, 0x40e04c05, 0x000080c3, 0x008806ec, 0x00005f80,
0x00905080, 0x00000484, 0x0029483b, 0x0000e086, 0x8000003a, 0x0000b401,
0x29c00000, 0x0000e180, 0x0019483a, 0x0000e186, 0x29000000, 0x00008ad4,
- 0x29800000, 0x00000edc, 0x39a08000, 0x000004e1, 0x1bc00000, 0x0000e181,
- 0xdbd712e2, 0x0000c900, 0x31b22357, 0x00007404, 0x53000ee3, 0x00006081,
- 0x3b81d83b, 0x0000c900, 0x3b41d03a, 0x00009900, 0x000031b2, 0x00007000,
- 0x000031f2, 0x00007400, 0x01804006, 0x0000e082, 0x81d722e4, 0x00000900,
- 0x01000004, 0x00006084, 0x0640800e, 0x00008780, 0x05405408, 0x00006481,
+ 0x29800000, 0x00000edc, 0x39a08000, 0x000004e1, 0x17c00000, 0x0000e181,
+ 0x929712e2, 0x0000c900, 0x3082220a, 0x0000f404, 0x53000ee3, 0x00006081,
+ 0x3b81d83b, 0x0000c900, 0x3b41d03a, 0x00009900, 0x00003082, 0x0000f000,
+ 0x000030c2, 0x0000f400, 0x01804006, 0x0000e082, 0x81d722e4, 0x00000900,
+ 0x01000004, 0x00006084, 0x0600800e, 0x00000780, 0x05405408, 0x00006481,
0x03c09800, 0x0000c980, 0x14783704, 0x00000420, 0x2c00c415, 0x00009680,
- 0xc3c588b0, 0x00001000, 0x31d1211a, 0x0000f204, 0x1400780f, 0x00009900,
- 0x00000c4d, 0x0000e583, 0x85d24a49, 0x00008900, 0x000031d6, 0x00007013,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x02c00000, 0x00001981,
- 0x7b60ac0b, 0x0000f822, 0x01800001, 0x00000080, 0x03c00c0b, 0x00006080,
- 0x52e84508, 0x0000c901, 0x03c07c0b, 0x00006000, 0x51004000, 0x00000981,
- 0x83d07a17, 0x0000e000, 0x11800002, 0x00008980, 0x70106a0f, 0x0000a082,
- 0x703a440f, 0x00003038, 0x7020620f, 0x00002081, 0x7008420f, 0x0000a082,
- 0x70087e0f, 0x0000a082, 0x0fc8cc0e, 0x0000842e, 0x31e92358, 0x0000f404,
- 0x86204001, 0x000000f6, 0xc3804c0d, 0x00006080, 0x46000000, 0x00004981,
- 0x42000d08, 0x00006081, 0x02c00c0b, 0x00000081, 0x7660ac0b, 0x0000f82a,
- 0x01800001, 0x00000080, 0x2c00c415, 0x00009680, 0x03c588b0, 0x00001000,
- 0x0180300f, 0x0000e002, 0x0220ac08, 0x00008101, 0x01000004, 0x00009084,
- 0x00000408, 0x00001583, 0xb9103a07, 0x00009908, 0x000031ca, 0x00007011,
+ 0xc3c588b0, 0x00001000, 0x30a11fce, 0x00007204, 0x1400780f, 0x00009900,
+ 0x00000c4d, 0x00001583, 0x000030a5, 0x00007013, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x02c00000, 0x00001981, 0x2f60ac0b, 0x00007822,
+ 0x01800001, 0x00000080, 0x05c00c0b, 0x00006080, 0x4e284508, 0x00004901,
+ 0x05c0bc0b, 0x00006000, 0x12004000, 0x00008981, 0x85d0ba49, 0x00006000,
+ 0x11800002, 0x00008980, 0x70107a17, 0x00002082, 0x70023c17, 0x00007902,
+ 0x13000000, 0x00008000, 0x70206217, 0x00002081, 0x70084217, 0x0000a082,
+ 0x70087e17, 0x0000a082, 0x0f88c40e, 0x0000842e, 0x30b9220b, 0x0000f404,
+ 0x85a04001, 0x000000fe, 0xc3804c0f, 0x0000e080, 0x45800000, 0x0000c981,
+ 0x42000d08, 0x00006081, 0x02c00c0b, 0x00000081, 0x2a20ac0b, 0x0000782a,
+ 0x01800001, 0x00000080, 0x2c00c415, 0x00009680, 0x05c588b0, 0x00001000,
+ 0x01803017, 0x0000e002, 0x0220ac08, 0x00008101, 0x01000004, 0x00009084,
+ 0x00000408, 0x00001583, 0xb9103a07, 0x00009908, 0x0000309a, 0x0000f011,
0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x01c03006, 0x00006100,
0x14009900, 0x00004980, 0x01b83f04, 0x00000420, 0x023834e4, 0x00000504,
- 0x31fc211a, 0x00007004, 0x00000c4d, 0x00001583, 0x70003249, 0x00002090,
+ 0x30cc1fce, 0x00007004, 0x00000c4d, 0x00001583, 0x70003249, 0x00002090,
0x70002249, 0x00002091, 0xffffffff, 0x00007f97, 0x01410406, 0x00001091,
- 0x00003208, 0x0000f410, 0x01a02406, 0x00001011, 0x01810406, 0x00001091,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x32072387, 0x0000f100,
+ 0x000030d8, 0x0000f410, 0x01a02406, 0x00001011, 0x01810406, 0x00001091,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x30d7223a, 0x00007100,
0x01400c05, 0x00009081, 0xffffffff, 0x00007f86, 0x00203405, 0x00009503,
- 0xb9104208, 0x00009908, 0x00003206, 0x00007011, 0xffffffff, 0x00007f86,
+ 0xb9104208, 0x00009908, 0x000030d6, 0x00007011, 0xffffffff, 0x00007f86,
0x00000000, 0x00007083, 0x01410425, 0x00001283, 0x01400020, 0x00006188,
0x10003004, 0x0000e40c, 0xc1000800, 0x00006189, 0xc1c00000, 0x00004988,
- 0x00003219, 0x00007010, 0x004000a8, 0x00006180, 0x10000800, 0x00006404,
+ 0x000030e9, 0x0000f010, 0x004000a8, 0x00006180, 0x10000800, 0x00006404,
0xc0000800, 0x00001981, 0x009006ec, 0x00005f80, 0x00005000, 0x00000084,
0x0d000000, 0x0000e180, 0x08003a09, 0x00006106, 0x02401a09, 0x00006080,
0x0d400000, 0x00004980, 0x02402009, 0x00007900, 0x00000304, 0x00000080,
0x04800800, 0x00007900, 0x00004000, 0x00000980, 0x0d800000, 0x000083dc,
- 0x32251e1e, 0x0000f404, 0x05000002, 0x000001cc, 0x04404809, 0x00009900,
+ 0x30f51cd2, 0x00007404, 0x05400002, 0x000081cc, 0x05004809, 0x00009900,
0x82402d00, 0x00006080, 0x10003004, 0x00006404, 0x70384209, 0x00002080,
0x0b003209, 0x0000e106, 0x10000800, 0x00003404, 0x0ec80005, 0x00006180,
0x0c100001, 0x00004980, 0x0e804000, 0x00007900, 0x00200000, 0x00000980,
@@ -25789,410 +26178,363 @@ ARRAY_DECL u32 init_val[] = {
0xc1c00000, 0x0000e180, 0x004000a8, 0x00004980, 0xc1200c01, 0x000080c3,
0xcec02209, 0x00006080, 0x0d282d05, 0x0000c901, 0x01400020, 0x0000e180,
0x4d202c05, 0x00004901, 0x009006ec, 0x00005f80, 0x00005000, 0x00000084,
- 0x02000000, 0x0000e180, 0x0b80642b, 0x00006002, 0x02400000, 0x000000e8,
- 0x02c00000, 0x00009980, 0x4960042b, 0x0000c492, 0x12602519, 0x00000c96,
- 0x0001870c, 0x0000788c, 0x00000000, 0x00000000, 0x00007811, 0x0000780a,
- 0x00000000, 0x00008020, 0x03408f1b, 0x0000c713, 0x8d20670c, 0x00008689,
- 0x0d00870f, 0x0000c561, 0x0d008f1b, 0x0000810c, 0x01b80000, 0x0000e180,
- 0x01400000, 0x00004980, 0x0d001c06, 0x00006006, 0x0018c805, 0x0000b186,
- 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8, 0x39c00000, 0x00008ed8,
- 0x52000410, 0x000006fe, 0x32572357, 0x0000f404, 0xdbd712e2, 0x0000e100,
- 0x53000ee3, 0x00004881, 0x3b783705, 0x00000e38, 0x20001008, 0x0000e402,
- 0x20005009, 0x00003406, 0x02060008, 0x0000e380, 0xc0002000, 0x00008981,
- 0x00501800, 0x0000f900, 0x0000c290, 0x00000980, 0xc0c00000, 0x00006180,
- 0x40001008, 0x00006403, 0x008806ec, 0x00005f80, 0x00905080, 0x000081c4,
- 0x2c002c1c, 0x00009680, 0x8a8588b0, 0x00001000, 0xb0013a2a, 0x0000f902,
- 0x09800000, 0x00008000, 0x80000213, 0x0000e582, 0x16800000, 0x00008980,
- 0x8a000800, 0x0000e188, 0x8a109a13, 0x0000c910, 0xb0012c2a, 0x00007902,
- 0x18c00000, 0x00000000, 0xc0000727, 0x00006583, 0x16c00000, 0x00000980,
- 0xb001262a, 0x00007902, 0x08c00000, 0x00008000, 0xb040282a, 0x0000f902,
- 0x01000000, 0x00008000, 0xb041122a, 0x00007902, 0x08400000, 0x00000000,
- 0x0000327b, 0x00007408, 0x1638bf16, 0x00000524, 0x0ae0e41c, 0x00001901,
- 0x01215063, 0x00002000, 0xffffffff, 0x00007fa7, 0x0a915222, 0x00001100,
- 0x0011302a, 0x00009502, 0x000032b8, 0x0000f00b, 0xc1911325, 0x00009202,
- 0x8a800a22, 0x00006090, 0x14400000, 0x00008990, 0x88800a22, 0x0000e090,
- 0x14800000, 0x00008990, 0x000032bf, 0x00007008, 0x01807f26, 0x0000e080,
- 0x15800000, 0x00008980, 0x15d80002, 0x00006180, 0x1a002805, 0x00004900,
- 0x2c002c1c, 0x00009680, 0x8ac588b0, 0x00009000, 0x01802006, 0x00006784,
- 0x00113856, 0x0000a100, 0x01402e26, 0x00006002, 0x00313857, 0x0000a080,
- 0x1a800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x1aca0005, 0x0000e180,
- 0x1a402004, 0x0000c900, 0x01000004, 0x00006084, 0xe0007808, 0x00002406,
+ 0x7fe04c00, 0x000080c3, 0x00501800, 0x0000f900, 0x0000c150, 0x00000980,
+ 0x000800ec, 0x00005780, 0x00905080, 0x00000380, 0xc0c02800, 0x00001980,
+ 0x009056ec, 0x00005f80, 0x00005000, 0x00000084, 0x41002519, 0x00006283,
+ 0x02000000, 0x00000980, 0x02400000, 0x000000e8, 0x14007811, 0x00006108,
+ 0x02c00000, 0x00000980, 0x0000325f, 0x0000f010, 0x0000d050, 0x00009502,
+ 0x19806218, 0x00009890, 0x0000323b, 0x0000f009, 0x01000c19, 0x00009283,
+ 0x19c3f011, 0x00006288, 0xe0000809, 0x0000a40b, 0x04400811, 0x0000e088,
+ 0x14002867, 0x00000888, 0x000031c8, 0x00007010, 0x0c028066, 0x00009000,
+ 0x0000044c, 0x0000e583, 0xc0001809, 0x00002403, 0x19808811, 0x00006110,
+ 0x1980780f, 0x00004908, 0x0000d80f, 0x00001502, 0x04033066, 0x00006100,
+ 0x1980780f, 0x00004958, 0x4000054c, 0x0000e583, 0x1980d81b, 0x00008970,
+ 0x14000000, 0x0000e188, 0x01c0c82f, 0x0000e009, 0x06c33066, 0x0000e100,
+ 0x01800000, 0x0000c988, 0x00003264, 0x00007010, 0x01000c19, 0x00006283,
+ 0x0f018030, 0x00000900, 0x19808811, 0x00006108, 0x19808011, 0x0000c790,
+ 0x0f800000, 0x00007900, 0x00008000, 0x00000980, 0x0103f866, 0x0000e282,
+ 0x0dc00000, 0x00000980, 0x14000800, 0x00006188, 0x19800000, 0x00004980,
+ 0x000808ec, 0x0000d780, 0x00007800, 0x00008080, 0x99d28218, 0x00006000,
+ 0x0eca0005, 0x00000980, 0x8018c267, 0x00006502, 0x86128218, 0x00008000,
+ 0x14001519, 0x00006489, 0x86000000, 0x00008988, 0x0f400000, 0x0000e180,
+ 0x92228019, 0x00006008, 0x01403800, 0x00007900, 0x00001000, 0x00000980,
+ 0x0c000c19, 0x0000e283, 0x8400c83e, 0x00002001, 0x14008811, 0x00006108,
+ 0x14008011, 0x0000c790, 0x0e820000, 0x00007900, 0x00207fc0, 0x00008980,
+ 0x0c03f850, 0x00006282, 0x0140c83d, 0x0000a081, 0x19800800, 0x00006188,
+ 0x0e40cc50, 0x00006000, 0x10000c19, 0x00006283, 0x01c00000, 0x00000980,
+ 0x0e00a014, 0x00006100, 0xa6a3303e, 0x00006001, 0x19809450, 0x00006080,
+ 0x0e40a815, 0x0000c900, 0x14000e2f, 0x0000e281, 0x0fc01066, 0x00008300,
+ 0x19800c50, 0x0000e481, 0x0c400000, 0x00000980, 0x0c800000, 0x0000e180,
+ 0x04233037, 0x00006001, 0x19808811, 0x00006108, 0x19808011, 0x0000c790,
+ 0x0cc00000, 0x000083d0, 0x10000866, 0x0000e282, 0x0d400000, 0x00008980,
+ 0x000040ec, 0x0000d788, 0x00d87b81, 0x00000180, 0x001050ec, 0x0000d790,
+ 0x00007801, 0x00000080, 0x13400c19, 0x0000e283, 0x0d800000, 0x00008980,
+ 0x19808811, 0x00006108, 0x19808011, 0x0000c790, 0x01140001, 0x00006180,
+ 0xced81302, 0x00004900, 0x0c000000, 0x00006180, 0x1403f866, 0x00004280,
+ 0x0002e050, 0x00009582, 0x000031cf, 0x0000f00b, 0xd301870c, 0x00009283,
+ 0xd300670c, 0x00009283, 0x0000044c, 0x00001583, 0x00003178, 0x0000f010,
+ 0x000031c1, 0x00007008, 0x000031c1, 0x00007008, 0x2c002c1c, 0x00009680,
+ 0x99c588b0, 0x00001000, 0xb0032267, 0x00007902, 0x18c00000, 0x00000000,
+ 0x80000213, 0x0000e582, 0x16800000, 0x00008980, 0x9a000800, 0x00006188,
+ 0x9a109a13, 0x00004910, 0xb0031467, 0x00007902, 0x18400000, 0x00008000,
+ 0xc0000764, 0x0000e583, 0x16c00000, 0x00000980, 0xb0030667, 0x00007902,
+ 0x17c00000, 0x00000000, 0xb0426867, 0x0000f902, 0x13000000, 0x00008000,
+ 0xb042f267, 0x0000f902, 0x13c00000, 0x00008000, 0x00003192, 0x0000f408,
+ 0x1638bf16, 0x00000524, 0x19a0e41c, 0x00001901, 0x01228061, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x19d2825e, 0x00001100, 0x00131867, 0x00001502,
+ 0x00003234, 0x0000700b, 0xc6d2f362, 0x00001202, 0x99c00a5e, 0x0000e090,
+ 0x14400000, 0x00008990, 0x97800a5e, 0x0000e090, 0x14800000, 0x00008990,
+ 0x000031ea, 0x00007008, 0x15d80002, 0x00006180, 0x06c07f63, 0x0000c080,
+ 0x15800000, 0x00006180, 0x00332057, 0x0000e080, 0x06c0201b, 0x00006784,
+ 0x04234057, 0x00002085, 0x2c002c1c, 0x00009680, 0x998588b0, 0x00009000,
+ 0x1a02684d, 0x00006100, 0x00132056, 0x0000e100, 0x13426e63, 0x0000e002,
+ 0x1aca0005, 0x00000980, 0x1a800000, 0x0000f900, 0x00207fc0, 0x00008980,
+ 0x1a42604c, 0x0000e100, 0xe0007808, 0x0000e406, 0x1300004c, 0x00006084,
+ 0x14c00000, 0x00008980, 0x14100000, 0x00007900, 0x00008016, 0x00008980,
+ 0x0018a0ec, 0x0000d780, 0x00d87e80, 0x000080c0, 0xb03b2266, 0x00005000,
+ 0x003b1800, 0x00008000, 0xb03b1466, 0x00005000, 0x003b0800, 0x00000000,
+ 0xb03b0666, 0x00005000, 0x003af800, 0x00008000, 0xb07af266, 0x0000d000,
+ 0x003a7800, 0x00000000, 0xb07a6866, 0x0000d000, 0x003a6000, 0x00000000,
+ 0xd4731e63, 0x00006100, 0x15083804, 0x00004980, 0x15400000, 0x00006180,
+ 0x14401c1b, 0x0000c081, 0xc6400b19, 0x00006080, 0xd5933a67, 0x00000900,
+ 0xdad81302, 0x00006100, 0x9ab31e63, 0x00004900, 0x06c08811, 0x00009900,
+ 0x00501800, 0x0000f900, 0x0000c150, 0x00000980, 0x000800ec, 0x00005780,
+ 0x00905080, 0x00000380, 0x40e04c05, 0x000080c3, 0x009056ec, 0x00005f80,
+ 0x00005000, 0x00000084, 0x19c3f311, 0x0000e280, 0xe0000809, 0x00002403,
+ 0x14002867, 0x00001880, 0x00003125, 0x00007400, 0x04400011, 0x0000f900,
+ 0x00000040, 0x00000080, 0x0c033050, 0x00009000, 0x19800a18, 0x0000e080,
+ 0x12400000, 0x00000980, 0x0018c066, 0x0000e502, 0x11ca0005, 0x00008980,
+ 0x19806066, 0x00006090, 0x19c00000, 0x00004988, 0x19c0f866, 0x00006794,
+ 0x19800000, 0x00000988, 0x12800000, 0x00007900, 0x00008000, 0x00000980,
+ 0x12633c67, 0x0000e101, 0x8400c84a, 0x0000e001, 0x0e40cc67, 0x0000e000,
+ 0x0140c849, 0x00003081, 0x14009467, 0x0000e080, 0x10040001, 0x0000c980,
+ 0x11800000, 0x00007900, 0x00207fc0, 0x00008980, 0x001880ec, 0x00005780,
+ 0x00007800, 0x00008080, 0x10400003, 0x000004c8, 0x10c00000, 0x0000e180,
+ 0x1100a014, 0x0000c900, 0x00003172, 0x0000f400, 0x11681715, 0x0000041c,
+ 0x12c01050, 0x0000e300, 0x12033066, 0x00000900, 0x9420e41c, 0x00001900,
+ 0xe2026250, 0x00007902, 0x06c00000, 0x00000000, 0xffffffff, 0x00007fa7,
+ 0x0007284c, 0x00001502, 0x1742604c, 0x0000e110, 0x1700d81b, 0x00004910,
+ 0x9420e41c, 0x0000e110, 0x99c00b5e, 0x0000c090, 0x000032f4, 0x00007008,
+ 0x802b1267, 0x0000e502, 0xd7800b5e, 0x00000080, 0xd7800000, 0x00006188,
+ 0x13400000, 0x00004980, 0xe23f2a50, 0x00002880, 0x06c01b5e, 0x00001880,
+ 0xd3710c66, 0x00007900, 0x00000002, 0x00000080, 0x1303001b, 0x00006002,
+ 0x1400f81b, 0x00000784, 0x700040ec, 0x00005680, 0x003a68c0, 0x00000010,
+ 0x13500006, 0x0000e180, 0x06c2f850, 0x00004004, 0x703a60ec, 0x00005600,
+ 0x0038d800, 0x00008000, 0x0418104d, 0x00006987, 0x700040ec, 0x00005680,
+ 0x003a6fc0, 0x00000078, 0x15d80002, 0x00006180, 0x06c07f63, 0x0000c080,
+ 0x15800000, 0x00006180, 0x00332057, 0x0000e080, 0x06c0201b, 0x00006784,
+ 0x04234057, 0x00002085, 0x2c002c1c, 0x00009680, 0x998588b0, 0x00009000,
+ 0x1a02e85d, 0x00006100, 0x00132056, 0x0000e100, 0x1742ee63, 0x0000e002,
+ 0x99c00a5e, 0x00000080, 0x1a800000, 0x0000f900, 0x00207fc0, 0x00008980,
+ 0x14400000, 0x0000e180, 0x1aca0005, 0x0000c980, 0x1a42e05c, 0x0000e100,
+ 0x97800a5e, 0x0000c080, 0x1700005c, 0x00006084, 0xe0007808, 0x00002406,
0x14100000, 0x00007900, 0x00008016, 0x00008980, 0x0018a0ec, 0x0000d780,
- 0x00d87e80, 0x000080c0, 0xb0393a2b, 0x0000d000, 0x00393000, 0x00000000,
- 0xb0392c2b, 0x00005000, 0x003b1800, 0x00008000, 0xb039262b, 0x00005000,
- 0x00391800, 0x00000000, 0xb079122b, 0x00005000, 0x00390800, 0x00008000,
- 0xb078282b, 0x0000d000, 0x00382000, 0x00000000, 0x14c00000, 0x00006180,
- 0x04214057, 0x00006085, 0xd4713626, 0x00006100, 0x15083804, 0x00004980,
- 0x15400000, 0x00006180, 0x06c08811, 0x0000c900, 0xc6400b19, 0x00006080,
- 0x14401c06, 0x00000081, 0xd591522a, 0x0000e100, 0x9ab13626, 0x00004900,
- 0xdad81302, 0x00001900, 0xc0003800, 0x00006181, 0x20001008, 0x0000e402,
- 0x00501800, 0x0000f900, 0x0000c290, 0x00000980, 0xc0c01800, 0x00001980,
- 0x008806ec, 0x00005f80, 0x00905080, 0x00008384, 0xc0003800, 0x00006181,
+ 0x00d87e80, 0x000080c0, 0xb03b2266, 0x00005000, 0x003b1800, 0x00008000,
+ 0xb03b1466, 0x00005000, 0x003b0800, 0x00000000, 0xb03b0666, 0x00005000,
+ 0x003af800, 0x00008000, 0xb07af266, 0x0000d000, 0x003a7800, 0x00000000,
+ 0xb07ae866, 0x00005000, 0x003ae000, 0x00008000, 0x14800000, 0x000085cc,
+ 0x15083804, 0x00006180, 0x15400000, 0x00004980, 0xc6400b19, 0x00006080,
+ 0xd5933a67, 0x00000900, 0x9ab31e63, 0x00006100, 0xd4731e63, 0x00004900,
+ 0x000031c1, 0x00007400, 0x14401c1b, 0x00006081, 0xdad81302, 0x00008900,
+ 0x06c08811, 0x00009900, 0x00501800, 0x0000f900, 0x0000c150, 0x00000980,
+ 0x000800ec, 0x00005780, 0x00905080, 0x00000380, 0x40e04c05, 0x000080c3,
+ 0x009056ec, 0x00005f80, 0x00005000, 0x00000084, 0x94371ee3, 0x00001900,
+ 0x72c33850, 0x00002180, 0xffffffff, 0x00007fa7, 0x00020467, 0x00009583,
+ 0x19878503, 0x0000e299, 0x01800000, 0x00008998, 0x01400000, 0x00006198,
+ 0x0d001c06, 0x0000601e, 0x000032e6, 0x0000f030, 0x00010466, 0x00001583,
+ 0x41803000, 0x0000e191, 0x80000805, 0x0000e411, 0x29c00000, 0x00006190,
+ 0x29000000, 0x00004990, 0x000032ce, 0x00007008, 0x29400000, 0x00000ad8,
+ 0x3bb82f06, 0x00000e34, 0x39f8bf16, 0x00000e18, 0x3251220a, 0x0000f404,
+ 0x52000410, 0x000005fe, 0x53000ee3, 0x00006081, 0x929712e2, 0x0000c900,
+ 0xc101870c, 0x00006283, 0x14001800, 0x00000981, 0x14000000, 0x00006189,
+ 0xa0000819, 0x0000e400, 0xc100670c, 0x00006283, 0x20005009, 0x0000a406,
+ 0xc7c48010, 0x00006180, 0x04228008, 0x0000e003, 0x14001800, 0x00006191,
+ 0x14000000, 0x00004989, 0x0c848000, 0x00009980, 0xe3a28008, 0x00006802,
+ 0x325e3bd3, 0x00007004, 0x325f310d, 0x0000f100, 0x19878503, 0x00001281,
+ 0x00010466, 0x00001583, 0x0c848000, 0x00001990, 0x0000325d, 0x0000f011,
+ 0x32e539f2, 0x0000f004, 0x72bb34ec, 0x0000a180, 0x01800e4c, 0x0000e281,
+ 0x0bc26067, 0x0000a184, 0x00000406, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x14000866, 0x00009080, 0x000032c9, 0x00007208, 0x72ba84ec, 0x00002980,
+ 0x68b82c67, 0x0000a100, 0xffffffff, 0x00007fa7, 0x80182a4e, 0x0000e502,
+ 0x99902a05, 0x00008900, 0x0000333d, 0x0000f05b, 0x80000266, 0x00009582,
+ 0x0000327f, 0x0000700b, 0x72bb3eec, 0x0000a180, 0xcbc02800, 0x00001981,
+ 0xffffffff, 0x00007f97, 0x19800867, 0x00001080, 0x72bb36ec, 0x0000a980,
+ 0x19878503, 0x00001281, 0x00010466, 0x00001583, 0x01103800, 0x00001990,
+ 0xc1117a2f, 0x00009910, 0x00003343, 0x0000f008, 0x327f3bd3, 0x0000f204,
+ 0x0c802004, 0x00001900, 0x1bc00000, 0x00006180, 0x1b400020, 0x00004980,
+ 0x1b800000, 0x0000e180, 0x001a606f, 0x00006106, 0x1b006000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x0008d8ec, 0x00005780, 0x00005000, 0x00008080,
+ 0xc000186f, 0x0000e806, 0x01000c19, 0x00006283, 0x14000000, 0x00008980,
+ 0x19808811, 0x00006108, 0x19808011, 0x0000c790, 0x0f018030, 0x0000e100,
+ 0x05c0ce2f, 0x00006000, 0x0103f866, 0x0000e282, 0x0dc00000, 0x00000980,
+ 0x14000800, 0x00006188, 0x19800000, 0x00004980, 0x0f800000, 0x00007900,
+ 0x00008000, 0x00000980, 0x99d28218, 0x00006000, 0x0eca0005, 0x00000980,
+ 0x8018c267, 0x00006502, 0x86128218, 0x00008000, 0x14001519, 0x00006489,
+ 0x86000000, 0x00008988, 0x0f400000, 0x0000e180, 0x92228019, 0x00006008,
+ 0x000808ec, 0x0000d780, 0x00007800, 0x00008080, 0x0c000c19, 0x0000e283,
+ 0x8400c83e, 0x00002001, 0x14008811, 0x00006108, 0x14008011, 0x0000c790,
+ 0x01403800, 0x00007900, 0x00001000, 0x00000980, 0x0c03f850, 0x00006282,
+ 0x0140c83d, 0x0000a081, 0x19800800, 0x00006188, 0x0e40cc50, 0x00006000,
+ 0x10000c19, 0x00006283, 0x01800000, 0x00008980, 0x01c00000, 0x0000e180,
+ 0xa6a3303e, 0x00006001, 0x19809450, 0x00006080, 0x0e00a014, 0x00004900,
+ 0x14000e2f, 0x0000e281, 0x0fc01066, 0x00008300, 0x19800c50, 0x0000e481,
+ 0x0e40a815, 0x00000900, 0x0c400000, 0x0000e180, 0x04233037, 0x00006001,
+ 0x19808811, 0x00006108, 0x19808011, 0x0000c790, 0x0e820000, 0x00007900,
+ 0x00207fc0, 0x00008980, 0x10000866, 0x0000e282, 0x0c800000, 0x00000980,
+ 0x000040ec, 0x0000d788, 0x00d87b81, 0x00000180, 0x001050ec, 0x0000d790,
+ 0x00007801, 0x00000080, 0x13400c19, 0x0000e283, 0x0cc00000, 0x00008980,
+ 0x19808811, 0x00006108, 0x19808011, 0x0000c790, 0x0d000000, 0x000083d4,
+ 0x0d800000, 0x00006180, 0x01140001, 0x00004980, 0x0ec00502, 0x00008380,
+ 0x1403f866, 0x00001280, 0x5c82e050, 0x00007892, 0x79800000, 0x0000188e,
+ 0x68b82c67, 0x00002180, 0xffffffff, 0x00007fa7, 0x99902a05, 0x00001900,
+ 0x0e30294e, 0x0000c559, 0xfb200266, 0x00007a8b, 0x80005006, 0x0000e486,
+ 0x80000805, 0x00003401, 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8,
+ 0x39f8bf16, 0x00000e18, 0x52000410, 0x000005fe, 0x32d8220a, 0x00007404,
+ 0x929712e2, 0x0000e100, 0x53000ee3, 0x00004881, 0x3b783705, 0x00000e38,
+ 0xc101870c, 0x00006283, 0x19c01800, 0x00008981, 0x19c00000, 0x0000e189,
+ 0xa0000819, 0x0000e400, 0xc100670c, 0x00006283, 0x20005009, 0x0000a406,
+ 0xc7c4500a, 0x00006180, 0x04233808, 0x00006003, 0x19c00000, 0x0000e189,
+ 0x19c01800, 0x0000c991, 0x32e539f2, 0x00007404, 0xffffffff, 0x00007f86,
+ 0xe3a33808, 0x0000e802, 0x3264310d, 0x00007100, 0x03000000, 0x0000f900,
+ 0x00008040, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x02d8d000, 0x0000f900, 0x0035e1b8, 0x00008980, 0x0157280f, 0x0000e200,
+ 0x08001a08, 0x0000a106, 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901,
+ 0x32f41b17, 0x0000f500, 0x82381400, 0x00008024, 0x83001000, 0x00006180,
+ 0x01972811, 0x00004200, 0x13000000, 0x0000e180, 0x0412f04d, 0x00006187,
+ 0x8237184d, 0x00006086, 0x001af04c, 0x00003186, 0x2a000000, 0x00007900,
+ 0x00008080, 0x00008980, 0x0020e04d, 0x0000e086, 0x08001aaa, 0x0000b106,
+ 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
+ 0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
+ 0xaab81400, 0x00008a2c, 0x33061b44, 0x0000f500, 0x2bc0874c, 0x00000aa1,
+ 0x2b82684d, 0x00001900, 0xec0002ec, 0x00005080, 0x00000000, 0x00008080,
+ 0x06c01b5e, 0x00006080, 0x13500000, 0x0000c980, 0x13800000, 0x0000f900,
+ 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
+ 0x0076104d, 0x00006587, 0x0076084e, 0x0000b586, 0x700040ec, 0x00005680,
+ 0x003a68e0, 0x00008010, 0x703a70ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x19c0f81b, 0x0000e784, 0x13500006, 0x00000980, 0x1303001b, 0x00006002,
+ 0x0418104d, 0x00002187, 0x700008ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x06c2f867, 0x00009004, 0x703a60ec, 0x00005600, 0x0038d800, 0x00008000,
+ 0x700040ec, 0x00005680, 0x003a6fc0, 0x00000078, 0xec0262ec, 0x00007902,
+ 0x06c00000, 0x00000000, 0xffffffff, 0x00007fa7, 0x0000004c, 0x00001582,
+ 0xec0264ec, 0x0000f912, 0x06c00000, 0x00000000, 0x9420e41c, 0x0000e110,
+ 0x99c00b5e, 0x0000c090, 0x0000331f, 0x0000f008, 0x802b1267, 0x0000e502,
+ 0xd7800b5e, 0x00000080, 0xd7800000, 0x00006188, 0x1700d81b, 0x0000c900,
+ 0x1740074c, 0x000004b4, 0x06c01b5e, 0x00001880, 0xe23f2a50, 0x00002880,
+ 0xd3710c66, 0x00007900, 0x00000002, 0x00000080, 0x1303001b, 0x00006002,
+ 0x1400f81b, 0x00000784, 0x700040ec, 0x00005680, 0x003a68c0, 0x00000010,
+ 0x13500006, 0x0000e180, 0x06c2f850, 0x00004004, 0x703a60ec, 0x00005600,
+ 0x0038d800, 0x00008000, 0x00003207, 0x00007400, 0x0418104d, 0x00006987,
+ 0x700040ec, 0x00005680, 0x003a6fc0, 0x00000078, 0x72bb34ec, 0x00002100,
+ 0xffffffff, 0x00007fa7, 0x14000866, 0x00009080, 0x72ba84ec, 0x0000a900,
+ 0xb2400406, 0x0000f88a, 0x61800000, 0x00001983, 0x3344397c, 0x0000f004,
+ 0x1bc00000, 0x00006180, 0x1b400020, 0x00004980, 0x1b800000, 0x0000e180,
+ 0x001a606f, 0x00006106, 0x1b006000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x00003288, 0x0000f400, 0x0008d8ec, 0x00005780, 0x00005000, 0x00008080,
+ 0xc000186f, 0x0000e806, 0x02000000, 0x0000e180, 0x0b80642b, 0x00006002,
+ 0x02400000, 0x000000e8, 0x02c00000, 0x00009980, 0x6b80042b, 0x00004492,
+ 0x34602519, 0x00000d90, 0x0001870c, 0x0000788c, 0x00000000, 0x00000000,
+ 0x00007811, 0x0000780a, 0x00000000, 0x00008020, 0x03408f1b, 0x0000c713,
+ 0x8d20670c, 0x00008689, 0x0d00870f, 0x0000c561, 0x0d008f1b, 0x0000810c,
+ 0x01b80000, 0x0000e180, 0x01400000, 0x00004980, 0x0d001c06, 0x00006006,
+ 0x0018c805, 0x0000b186, 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8,
+ 0x39c00000, 0x00008ed8, 0x52000410, 0x000005fe, 0x3368220a, 0x00007404,
+ 0x929712e2, 0x0000e100, 0x53000ee3, 0x00004881, 0x3b783705, 0x00000e38,
+ 0x20001008, 0x0000e402, 0x20005009, 0x00003406, 0x02060008, 0x0000e380,
+ 0xc0002000, 0x00008981, 0x00501800, 0x0000f900, 0x0000c290, 0x00000980,
+ 0xc0c00000, 0x00006180, 0x40001008, 0x00006403, 0x008806ec, 0x00005f80,
+ 0x00905080, 0x000081c4, 0x2c002c1c, 0x00009680, 0x8a8588b0, 0x00001000,
+ 0xb0013a2a, 0x0000f902, 0x09800000, 0x00008000, 0x80000213, 0x0000e582,
+ 0x16800000, 0x00008980, 0x8a000800, 0x0000e188, 0x8a109a13, 0x0000c910,
+ 0xb0012c2a, 0x00007902, 0x18400000, 0x00008000, 0xc0000727, 0x00006583,
+ 0x16c00000, 0x00000980, 0xb001262a, 0x00007902, 0x08c00000, 0x00008000,
+ 0xb040282a, 0x0000f902, 0x01000000, 0x00008000, 0xb0410a2a, 0x00007902,
+ 0x08000000, 0x00008000, 0x0000338c, 0x00007408, 0x1638bf16, 0x00000524,
+ 0x0ae0e41c, 0x00001901, 0x01215061, 0x0000a000, 0xffffffff, 0x00007fa7,
+ 0x0a915221, 0x00001100, 0x0011302a, 0x00009502, 0x000033c9, 0x0000700b,
+ 0xc1910b25, 0x00009202, 0x8a800a21, 0x00006090, 0x14400000, 0x00008990,
+ 0x88400a21, 0x0000e090, 0x14800000, 0x00008990, 0x000033d0, 0x0000f008,
+ 0x01807f26, 0x0000e080, 0x15800000, 0x00008980, 0x15d80002, 0x00006180,
+ 0x1a002805, 0x00004900, 0x2c002c1c, 0x00009680, 0x8ac588b0, 0x00009000,
+ 0x01802006, 0x00006784, 0x00113856, 0x0000a100, 0x01402e26, 0x00006002,
+ 0x00313857, 0x0000a080, 0x1a800000, 0x0000f900, 0x00207fc0, 0x00008980,
+ 0x1aca0005, 0x0000e180, 0x1a402004, 0x0000c900, 0x01000004, 0x00006084,
+ 0xe0007808, 0x00002406, 0x14100000, 0x00007900, 0x00008016, 0x00008980,
+ 0x0018a0ec, 0x0000d780, 0x00d87e80, 0x000080c0, 0xb0393a2b, 0x0000d000,
+ 0x00393000, 0x00000000, 0xb0392c2b, 0x00005000, 0x003b0800, 0x00000000,
+ 0xb039262b, 0x00005000, 0x00391800, 0x00000000, 0xb0790a2b, 0x00005000,
+ 0x00390000, 0x00000000, 0xb078282b, 0x0000d000, 0x00382000, 0x00000000,
+ 0x14c00000, 0x00006180, 0x04214057, 0x00006085, 0xd4713626, 0x00006100,
+ 0x15083804, 0x00004980, 0x15400000, 0x00006180, 0x06c08811, 0x0000c900,
+ 0xc6400b19, 0x00006080, 0x14401c06, 0x00000081, 0xd591522a, 0x0000e100,
+ 0x9ab13626, 0x00004900, 0xdad81302, 0x00001900, 0xc0003800, 0x00006181,
0x20001008, 0x0000e402, 0x00501800, 0x0000f900, 0x0000c290, 0x00000980,
0xc0c01800, 0x00001980, 0x008806ec, 0x00005f80, 0x00905080, 0x00008384,
0xc0003800, 0x00006181, 0x20001008, 0x0000e402, 0x00501800, 0x0000f900,
0x0000c290, 0x00000980, 0xc0c01800, 0x00001980, 0x008806ec, 0x00005f80,
- 0x00905080, 0x00008384, 0x8aa0e41c, 0x00009900, 0xe2002a2a, 0x00007902,
- 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00072805, 0x00009502,
- 0x01c02805, 0x0000e110, 0x01802004, 0x00004910, 0x06c00000, 0x0000e190,
- 0x8aa0e41c, 0x00004910, 0x0000332a, 0x0000f008, 0xe23f2a2a, 0x0000a880,
- 0xc8800b22, 0x00006080, 0x8a800b22, 0x00000080, 0x80292a2a, 0x00001502,
- 0xc8800000, 0x00009988, 0xc6f10c2b, 0x00007900, 0x00000002, 0x00000080,
- 0x01001b22, 0x00001880, 0x01412004, 0x00006002, 0x0a80f804, 0x00000784,
- 0x700040ec, 0x00005680, 0x0038d8c0, 0x00000010, 0x06d00006, 0x0000e180,
- 0x0101182a, 0x0000c004, 0x703828ec, 0x0000d600, 0x00382000, 0x00000000,
- 0x0418101b, 0x00006987, 0x700040ec, 0x00005680, 0x0038dfc0, 0x00000078,
- 0x01007f26, 0x00006080, 0x15800000, 0x00008980, 0x15d80002, 0x00006180,
- 0x1a003807, 0x00004900, 0x2c002c1c, 0x00009680, 0x8ac588b0, 0x00009000,
- 0x01002004, 0x00006784, 0x00113856, 0x0000a100, 0x01c03e26, 0x00006002,
- 0x00313857, 0x0000a080, 0x1a800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x8a800a22, 0x0000e080, 0x14400000, 0x00000980, 0x1aca0005, 0x0000e180,
- 0x1a403006, 0x0000c900, 0x88800a22, 0x00006080, 0x01800006, 0x00000084,
- 0x14100000, 0x00007900, 0x00008016, 0x00008980, 0x0018a0ec, 0x0000d780,
- 0x00d87e80, 0x000080c0, 0x04214057, 0x00006085, 0xe0007808, 0x0000b406,
- 0xb0393a2b, 0x0000d000, 0x00393000, 0x00000000, 0xb0392c2b, 0x00005000,
- 0x003b1800, 0x00008000, 0xb039262b, 0x00005000, 0x00391800, 0x00000000,
- 0xb079122b, 0x00005000, 0x00390800, 0x00008000, 0xb078382b, 0x00005000,
- 0x00383000, 0x00008000, 0x14800000, 0x000085cc, 0x15083804, 0x00006180,
- 0x15400000, 0x00004980, 0x06c08811, 0x0000e100, 0xc6400b19, 0x0000c080,
- 0x9ab13626, 0x00006100, 0xd591522a, 0x0000c900, 0x000032aa, 0x0000f400,
- 0xd4713626, 0x00006100, 0x14401c04, 0x00004081, 0xdad81302, 0x00001900,
+ 0x00905080, 0x00008384, 0xc0003800, 0x00006181, 0x20001008, 0x0000e402,
+ 0x00501800, 0x0000f900, 0x0000c290, 0x00000980, 0xc0c01800, 0x00001980,
+ 0x008806ec, 0x00005f80, 0x00905080, 0x00008384, 0x8aa0e41c, 0x00009900,
+ 0xe2002a2a, 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x00072805, 0x00009502, 0x08802805, 0x00006110, 0x06c02004, 0x00004910,
+ 0x01800000, 0x0000e190, 0x8aa0e41c, 0x00004910, 0x0000343b, 0x00007008,
+ 0xe23f2a2a, 0x0000a880, 0xc8400b21, 0x00006080, 0x8a800b21, 0x00000080,
+ 0x80292a2a, 0x00001502, 0xc8400000, 0x00009988, 0xc1b10c2b, 0x00007900,
+ 0x00000002, 0x00000080, 0x01001b21, 0x00001880, 0x01412004, 0x00006002,
+ 0x0a80f804, 0x00000784, 0x700040ec, 0x00005680, 0x003830c0, 0x00000010,
+ 0x01900006, 0x0000e180, 0x0101182a, 0x0000c004, 0x703828ec, 0x0000d600,
+ 0x00382000, 0x00000000, 0x04181006, 0x00006987, 0x700040ec, 0x00005680,
+ 0x003837c0, 0x00000078, 0x01007f26, 0x00006080, 0x15800000, 0x00008980,
+ 0x15d80002, 0x00006180, 0x1a011022, 0x00004900, 0x2c002c1c, 0x00009680,
+ 0x8ac588b0, 0x00009000, 0x01002004, 0x00006784, 0x00113856, 0x0000a100,
+ 0x08811626, 0x00006002, 0x00313857, 0x0000a080, 0x1a800000, 0x0000f900,
+ 0x00207fc0, 0x00008980, 0x8a800a21, 0x0000e080, 0x14400000, 0x00000980,
+ 0x1aca0005, 0x0000e180, 0x1a40d81b, 0x0000c900, 0x88400a21, 0x00006080,
+ 0x06c0001b, 0x00000084, 0x14100000, 0x00007900, 0x00008016, 0x00008980,
+ 0x0018a0ec, 0x0000d780, 0x00d87e80, 0x000080c0, 0x04214057, 0x00006085,
+ 0xe0007808, 0x0000b406, 0xb0393a2b, 0x0000d000, 0x00393000, 0x00000000,
+ 0xb0392c2b, 0x00005000, 0x003b0800, 0x00000000, 0xb039262b, 0x00005000,
+ 0x00391800, 0x00000000, 0xb0790a2b, 0x00005000, 0x00390000, 0x00000000,
+ 0xb079102b, 0x0000d000, 0x0038d800, 0x00008000, 0x14800000, 0x000085cc,
+ 0x15083804, 0x00006180, 0x15400000, 0x00004980, 0xc6400b19, 0x00006080,
+ 0x9ab13626, 0x00008900, 0xd591522a, 0x0000e100, 0xd4713626, 0x00004900,
+ 0x000033bb, 0x00007400, 0x14401c04, 0x0000e081, 0xdad81302, 0x00008900,
+ 0x06c08811, 0x00009900, 0xc101870c, 0x00006283, 0x0a801800, 0x00008981,
+ 0x0ac01800, 0x0000e181, 0x20001008, 0x0000e402, 0x0a800000, 0x0000e189,
+ 0xe0000008, 0x0000e406, 0xc100670c, 0x00006283, 0x20005009, 0x0000a406,
+ 0x0ac00000, 0x00006189, 0x04215008, 0x00006003, 0x00501800, 0x0000f900,
+ 0x0000c290, 0x00000980, 0xc0003800, 0x00006181, 0xe3a15808, 0x0000e002,
+ 0xc0c01800, 0x00001980, 0x008806ec, 0x00005f80, 0x00905080, 0x00008384,
0xc101870c, 0x00006283, 0x0a801800, 0x00008981, 0x0ac01800, 0x0000e181,
0x20001008, 0x0000e402, 0x0a800000, 0x0000e189, 0xe0000008, 0x0000e406,
- 0xc100670c, 0x00006283, 0x20005009, 0x0000a406, 0x0ac00000, 0x00006189,
+ 0xc100670c, 0x00006283, 0xc0003800, 0x00008981, 0x0ac00000, 0x00006189,
0x04215008, 0x00006003, 0x00501800, 0x0000f900, 0x0000c290, 0x00000980,
- 0xc0003800, 0x00006181, 0xe3a15808, 0x0000e002, 0xc0c01800, 0x00001980,
- 0x008806ec, 0x00005f80, 0x00905080, 0x00008384, 0xc101870c, 0x00006283,
- 0x0a801800, 0x00008981, 0x0ac01800, 0x0000e181, 0x20001008, 0x0000e402,
- 0x0a800000, 0x0000e189, 0xe0000008, 0x0000e406, 0xc100670c, 0x00006283,
- 0xc0003800, 0x00008981, 0x0ac00000, 0x00006189, 0x04215008, 0x00006003,
- 0x00501800, 0x0000f900, 0x0000c290, 0x00000980, 0xc0c01800, 0x00006180,
- 0xe3a15808, 0x0000e002, 0x008806ec, 0x00005f80, 0x00905080, 0x00008384,
- 0x01400000, 0x00006180, 0x04111006, 0x0000e187, 0x82371806, 0x00006086,
- 0x00191005, 0x00003186, 0x2a000000, 0x00007900, 0x00008080, 0x00008980,
- 0x0020e006, 0x0000e086, 0x08001aaa, 0x0000b106, 0x2b355000, 0x0000f900,
- 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980,
- 0x2a400000, 0x00006180, 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c,
- 0x333c1c90, 0x00007500, 0x2bc08705, 0x00008aa1, 0x2b803006, 0x00001900,
- 0xec0002ec, 0x00005080, 0x00000000, 0x00008080, 0x01001b22, 0x00006080,
- 0x01900000, 0x0000c980, 0x01c00000, 0x00007900, 0x00003fc0, 0x00008980,
- 0xec0004ec, 0x00005080, 0x00000000, 0x00008080, 0x00761006, 0x00006587,
- 0x00760807, 0x00003586, 0x700040ec, 0x00005680, 0x003830e0, 0x00008010,
- 0x703838ec, 0x00005600, 0x00000000, 0x00008080, 0x0a80f804, 0x00006784,
- 0x01900006, 0x00000980, 0x01412004, 0x00006002, 0x04181006, 0x00002187,
- 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x0101182a, 0x00009004,
- 0x703828ec, 0x0000d600, 0x00382000, 0x00000000, 0x700040ec, 0x00005680,
- 0x003837c0, 0x00000078, 0xec002aec, 0x0000f902, 0x01000000, 0x00008000,
- 0xffffffff, 0x00007fa7, 0x00000005, 0x00009582, 0x00003360, 0x00007013,
- 0xec002aec, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0xd6800005, 0x0000f88a, 0x01800001, 0x00000080,
- 0x8aa0e41c, 0x00009900, 0xec002cec, 0x0000f902, 0x01000000, 0x00008000,
- 0xe23f2a2a, 0x0000a880, 0xc8800b22, 0x00006080, 0x8a800b22, 0x00000080,
- 0x80292a2a, 0x00001502, 0xc8800000, 0x0000e188, 0x01802004, 0x0000c900,
- 0x01c02805, 0x00001900, 0x01001b22, 0x00001880, 0x08012004, 0x0000e002,
- 0x0a80f804, 0x00000784, 0x06c1182a, 0x0000e004, 0x01000000, 0x00000980,
- 0xc1310c2b, 0x0000f900, 0x00000002, 0x00000080, 0x700040ec, 0x00005680,
- 0x003820c0, 0x00008010, 0x01100006, 0x00001980, 0x703900ec, 0x00005600,
- 0x0038d800, 0x00008000, 0x000032dc, 0x00007400, 0x04181004, 0x0000e987,
- 0x700040ec, 0x00005680, 0x003827c0, 0x00008078, 0x7fe04c00, 0x000080c3,
- 0x00501800, 0x0000f900, 0x0000c150, 0x00000980, 0x000800ec, 0x00005780,
- 0x00905080, 0x00000380, 0xc0c02800, 0x00001980, 0x009056ec, 0x00005f80,
- 0x00005000, 0x00000084, 0x41002519, 0x00006283, 0x02000000, 0x00000980,
- 0x02400000, 0x000000e8, 0x14007811, 0x00006108, 0x02c00000, 0x00000980,
- 0x000034cb, 0x00007010, 0x0000d050, 0x00009502, 0x17c06218, 0x00009890,
- 0x000034a7, 0x0000f009, 0x01000c19, 0x00009283, 0x1903f011, 0x00006288,
- 0xe0000809, 0x0000a40b, 0x04400811, 0x0000e088, 0x14002864, 0x00000888,
- 0x00003435, 0x0000f010, 0x0c02805f, 0x00009000, 0x0000044c, 0x0000e583,
- 0xc0001809, 0x00002403, 0x17c08811, 0x00006110, 0x17c0780f, 0x00004908,
- 0x0000d80f, 0x00001502, 0x0402f85f, 0x00006100, 0x17c0780f, 0x00004958,
- 0x4000054c, 0x0000e583, 0x17c0d81b, 0x00008970, 0x14000000, 0x0000e188,
- 0x01c0c82f, 0x0000e009, 0x06c2f85f, 0x0000e100, 0x01800000, 0x0000c988,
- 0x000034d0, 0x00007010, 0x01000c19, 0x00006283, 0x0f018030, 0x00000900,
- 0x17c08811, 0x00006108, 0x17c08011, 0x0000c790, 0x0f800000, 0x00007900,
- 0x00008000, 0x00000980, 0x0103f85f, 0x0000e282, 0x0dc00000, 0x00000980,
- 0x14000800, 0x00006188, 0x17c00000, 0x00004980, 0x000808ec, 0x0000d780,
- 0x00007800, 0x00008080, 0x99128218, 0x00006000, 0x0eca0005, 0x00000980,
- 0x8018c264, 0x00006502, 0x86128218, 0x00008000, 0x14001519, 0x00006489,
- 0x86000000, 0x00008988, 0x0f400000, 0x0000e180, 0x92228019, 0x00006008,
- 0x01403800, 0x00007900, 0x00001000, 0x00000980, 0x0c000c19, 0x0000e283,
- 0x8400c83e, 0x00002001, 0x14008811, 0x00006108, 0x14008011, 0x0000c790,
- 0x0e820000, 0x00007900, 0x00207fc0, 0x00008980, 0x0c03f850, 0x00006282,
- 0x0140c83d, 0x0000a081, 0x17c00800, 0x00006188, 0x0e40cc50, 0x00006000,
- 0x10000c19, 0x00006283, 0x01c00000, 0x00000980, 0x0e00a014, 0x00006100,
- 0xa6a2f83e, 0x00006001, 0x17c09450, 0x00006080, 0x0e40a815, 0x0000c900,
- 0x14000e2f, 0x0000e281, 0x0fc0105f, 0x00008300, 0x17c00c50, 0x0000e481,
- 0x0c400000, 0x00000980, 0x0c800000, 0x0000e180, 0x0422f837, 0x00006001,
- 0x17c08811, 0x00006108, 0x17c08011, 0x0000c790, 0x0cc00000, 0x000083d0,
- 0x1000085f, 0x0000e282, 0x0d400000, 0x00008980, 0x000040ec, 0x0000d788,
- 0x00d87b81, 0x00000180, 0x001050ec, 0x0000d790, 0x00007801, 0x00000080,
- 0x13400c19, 0x0000e283, 0x0d800000, 0x00008980, 0x17c08811, 0x00006108,
- 0x17c08011, 0x0000c790, 0x01140001, 0x00006180, 0xced81302, 0x00004900,
- 0x0c000000, 0x00006180, 0x1403f85f, 0x00004280, 0x0002e050, 0x00009582,
- 0x0000343c, 0x0000f00b, 0xd301870c, 0x00009283, 0xd300670c, 0x00009283,
- 0x0000044c, 0x00001583, 0x000033e5, 0x0000f010, 0x0000342e, 0x0000f008,
- 0x0000342e, 0x0000f008, 0x2c002c1c, 0x00009680, 0x990588b0, 0x00001000,
- 0xb0031264, 0x00007902, 0x18400000, 0x00008000, 0x80000213, 0x0000e582,
- 0x16800000, 0x00008980, 0x99400800, 0x0000e188, 0x99509a13, 0x0000c910,
- 0xb0030464, 0x0000f902, 0x18c00000, 0x00000000, 0xc0000762, 0x0000e583,
- 0x16c00000, 0x00000980, 0xb002ee64, 0x0000f902, 0x17000000, 0x00000000,
- 0xb0427864, 0x00007902, 0x13800000, 0x00000000, 0xb0426a64, 0x00007902,
- 0x13000000, 0x00008000, 0x000033ff, 0x0000f408, 0x1638bf16, 0x00000524,
- 0x17e0e41c, 0x00001901, 0x01228063, 0x0000a000, 0xffffffff, 0x00007fa7,
- 0x1912824d, 0x00009100, 0x00130864, 0x00009502, 0x000034a0, 0x0000f00b,
- 0xc6d26b60, 0x00001202, 0x99000a4d, 0x00006090, 0x14400000, 0x00008990,
- 0x93400a4d, 0x0000e090, 0x14800000, 0x00008990, 0x00003457, 0x00007008,
- 0x06c07f61, 0x0000e080, 0x15800000, 0x00008980, 0x15d80002, 0x00006180,
- 0x1a02784f, 0x00004900, 0x2c002c1c, 0x00009680, 0x97c588b0, 0x00009000,
- 0x06c0201b, 0x00006784, 0x00131056, 0x00002100, 0x13c27e61, 0x00006002,
- 0x00331057, 0x00002080, 0x1a800000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x1aca0005, 0x0000e180, 0x1a42704e, 0x0000c900, 0x1380004e, 0x00006084,
- 0xe0007808, 0x00002406, 0x14100000, 0x00007900, 0x00008016, 0x00008980,
- 0x0018a0ec, 0x0000d780, 0x00d87e80, 0x000080c0, 0xb03b125f, 0x00005000,
- 0x003b0800, 0x00000000, 0xb03b045f, 0x0000d000, 0x003b1800, 0x00008000,
- 0xb03aee5f, 0x0000d000, 0x003ae000, 0x00008000, 0xb07a6a5f, 0x00005000,
- 0x003a6000, 0x00000000, 0xb07a785f, 0x00005000, 0x003a7000, 0x00008000,
- 0x14c00000, 0x00006180, 0x04232857, 0x00006085, 0xd4730e61, 0x00006100,
- 0x15083804, 0x00004980, 0x15400000, 0x00006180, 0xc6400b19, 0x0000c080,
- 0x14401c1b, 0x00006081, 0xd5932264, 0x00000900, 0x9ab30e61, 0x00006100,
- 0xdad81302, 0x00004900, 0x06c08811, 0x00009900, 0x00501800, 0x0000f900,
- 0x0000c150, 0x00000980, 0x000800ec, 0x00005780, 0x00905080, 0x00000380,
- 0x40e04c05, 0x000080c3, 0x009056ec, 0x00005f80, 0x00005000, 0x00000084,
- 0x1903f311, 0x0000e280, 0xe0000809, 0x00002403, 0x14002864, 0x00001880,
- 0x00003392, 0x0000f400, 0x04400011, 0x0000f900, 0x00000040, 0x00000080,
- 0x0c02f850, 0x00009000, 0x17c00a18, 0x0000e080, 0x12400000, 0x00000980,
- 0x0018c05f, 0x0000e502, 0x11ca0005, 0x00008980, 0x17c0605f, 0x00006090,
- 0x19000000, 0x00004988, 0x1900f85f, 0x00006794, 0x17c00000, 0x00000988,
- 0x12800000, 0x00007900, 0x00008000, 0x00000980, 0x12632464, 0x0000e101,
- 0x8400c84a, 0x0000e001, 0x0e40cc64, 0x0000e000, 0x0140c849, 0x00003081,
- 0x14009464, 0x0000e080, 0x10040001, 0x0000c980, 0x11800000, 0x00007900,
- 0x00207fc0, 0x00008980, 0x001880ec, 0x00005780, 0x00007800, 0x00008080,
- 0x10400003, 0x000004c8, 0x10c00000, 0x0000e180, 0x1100a014, 0x0000c900,
- 0x000033df, 0x0000f400, 0x11681715, 0x0000041c, 0x12c01050, 0x0000e300,
- 0x1202f85f, 0x00000900, 0x9420e41c, 0x00001900, 0xe2027250, 0x0000f902,
- 0x06c00000, 0x00000000, 0xffffffff, 0x00007fa7, 0x0007284e, 0x00009502,
- 0x99000b4d, 0x0000e090, 0x9420e41c, 0x00000910, 0xe23f2a50, 0x0000a890,
- 0x00003560, 0x00007008, 0x802b0264, 0x00006502, 0xd3400b4d, 0x00000080,
- 0xd3400000, 0x00009988, 0xffffffff, 0x00007f86, 0x13c01b4d, 0x00001880,
- 0x1482e84f, 0x00006002, 0x1400f84f, 0x00008784, 0x1442e050, 0x00006004,
- 0x13c00000, 0x00000980, 0xd3f10c5f, 0x0000f900, 0x00000002, 0x00000080,
- 0x700040ec, 0x00005680, 0x003a78c0, 0x00008010, 0x13d00006, 0x00001980,
- 0x703a90ec, 0x00005600, 0x003a8800, 0x00000000, 0x0418104f, 0x0000e987,
- 0x700040ec, 0x00005680, 0x003a7fc0, 0x00008078, 0x13c07f61, 0x00006080,
- 0x15800000, 0x00008980, 0x15d80002, 0x00006180, 0x1a02704e, 0x00004900,
- 0x2c002c1c, 0x00009680, 0x97c588b0, 0x00009000, 0x13c0204f, 0x00006784,
- 0x00131056, 0x00002100, 0x13827661, 0x00006002, 0x00331057, 0x00002080,
- 0x1a800000, 0x0000f900, 0x00207fc0, 0x00008980, 0x99000a4d, 0x0000e080,
- 0x14400000, 0x00000980, 0x1aca0005, 0x0000e180, 0x1a40d81b, 0x0000c900,
- 0x93400a4d, 0x00006080, 0x06c0001b, 0x00000084, 0x14100000, 0x00007900,
- 0x00008016, 0x00008980, 0x0018a0ec, 0x0000d780, 0x00d87e80, 0x000080c0,
- 0x04232857, 0x00006085, 0xe0007808, 0x0000b406, 0xb03b125f, 0x00005000,
- 0x003b0800, 0x00000000, 0xb03b045f, 0x0000d000, 0x003b1800, 0x00008000,
- 0xb03aee5f, 0x0000d000, 0x003ae000, 0x00008000, 0xb07a6a5f, 0x00005000,
- 0x003a6000, 0x00000000, 0xb07a705f, 0x0000d000, 0x0038d800, 0x00008000,
- 0x14800000, 0x000085cc, 0x15083804, 0x00006180, 0x15400000, 0x00004980,
- 0xc6400b19, 0x00006080, 0x9ab30e61, 0x00008900, 0xd5932264, 0x0000e100,
- 0xd4730e61, 0x00004900, 0x0000342e, 0x0000f400, 0x14401c4f, 0x0000e081,
- 0xdad81302, 0x00008900, 0x06c08811, 0x00009900, 0x00501800, 0x0000f900,
- 0x0000c150, 0x00000980, 0x000800ec, 0x00005780, 0x00905080, 0x00000380,
- 0x40e04c05, 0x000080c3, 0x009056ec, 0x00005f80, 0x00005000, 0x00000084,
- 0x94371ee3, 0x00001900, 0x72c32050, 0x00002180, 0xffffffff, 0x00007fa7,
- 0x00020464, 0x00009583, 0x17c78503, 0x0000e299, 0x01c00000, 0x00000998,
- 0x01800000, 0x00006198, 0x0d001c07, 0x0000e01e, 0x00003552, 0x00007030,
- 0x0001045f, 0x00001583, 0x41c03000, 0x00006191, 0x80000806, 0x0000e411,
- 0x29c00000, 0x00006190, 0x29000000, 0x00004990, 0x0000353a, 0x00007008,
- 0x29400000, 0x00000ad8, 0x3bb83707, 0x00008e34, 0x39f8bf16, 0x00000e18,
- 0x34bd2357, 0x00007404, 0x52000410, 0x000006fe, 0x53000ee3, 0x00006081,
- 0xdbd712e2, 0x0000c900, 0xc101870c, 0x00006283, 0x14001800, 0x00000981,
- 0x14000000, 0x00006189, 0xa0000819, 0x0000e400, 0xc100670c, 0x00006283,
- 0x20005009, 0x0000a406, 0xc7c48010, 0x00006180, 0x04228008, 0x0000e003,
- 0x14001800, 0x00006191, 0x14000000, 0x00004989, 0x0c848000, 0x00009980,
- 0xe3a28008, 0x00006802, 0x34ca3c9b, 0x00007004, 0x34cb337a, 0x0000f100,
- 0x17c78503, 0x00001281, 0x0001045f, 0x00001583, 0x0c848000, 0x00001990,
- 0x000034c9, 0x00007011, 0x35513aba, 0x00007004, 0x72bafcec, 0x0000a180,
- 0x01800e4c, 0x0000e281, 0x0bc26064, 0x0000a184, 0x00000406, 0x00009583,
- 0xffffffff, 0x00007f86, 0x1400085f, 0x00009080, 0x00003535, 0x0000f208,
- 0x72ba84ec, 0x00002980, 0x68b82c64, 0x0000a100, 0xffffffff, 0x00007fa7,
- 0x80182a4e, 0x0000e502, 0x97d02a05, 0x00008900, 0x000035a8, 0x0000f05b,
- 0x8000025f, 0x00009582, 0x000034eb, 0x0000f00b, 0x72bb26ec, 0x0000a180,
- 0xcbc02800, 0x00001981, 0xffffffff, 0x00007f97, 0x17c00864, 0x00001080,
- 0x72bafeec, 0x0000a980, 0x17c78503, 0x00001281, 0x0001045f, 0x00001583,
- 0x01103800, 0x00001990, 0xc1117a2f, 0x00009910, 0x000035ae, 0x0000f008,
- 0x34eb3c9b, 0x0000f204, 0x0c802004, 0x00001900, 0x1bc00000, 0x00006180,
- 0x1b400020, 0x00004980, 0x1b800000, 0x0000e180, 0x001a606f, 0x00006106,
- 0x1b006000, 0x0000f900, 0x00004000, 0x00000980, 0x0008d8ec, 0x00005780,
- 0x00005000, 0x00008080, 0xc000186f, 0x0000e806, 0x01000c19, 0x00006283,
- 0x14000000, 0x00008980, 0x17c08811, 0x00006108, 0x17c08011, 0x0000c790,
- 0x0f018030, 0x0000e100, 0x05c0ce2f, 0x00006000, 0x0103f85f, 0x0000e282,
- 0x0dc00000, 0x00000980, 0x14000800, 0x00006188, 0x17c00000, 0x00004980,
- 0x0f800000, 0x00007900, 0x00008000, 0x00000980, 0x99128218, 0x00006000,
- 0x0eca0005, 0x00000980, 0x8018c264, 0x00006502, 0x86128218, 0x00008000,
- 0x14001519, 0x00006489, 0x86000000, 0x00008988, 0x0f400000, 0x0000e180,
- 0x92228019, 0x00006008, 0x000808ec, 0x0000d780, 0x00007800, 0x00008080,
- 0x0c000c19, 0x0000e283, 0x8400c83e, 0x00002001, 0x14008811, 0x00006108,
- 0x14008011, 0x0000c790, 0x01403800, 0x00007900, 0x00001000, 0x00000980,
- 0x0c03f850, 0x00006282, 0x0140c83d, 0x0000a081, 0x17c00800, 0x00006188,
- 0x0e40cc50, 0x00006000, 0x10000c19, 0x00006283, 0x01800000, 0x00008980,
- 0x01c00000, 0x0000e180, 0xa6a2f83e, 0x00006001, 0x17c09450, 0x00006080,
- 0x0e00a014, 0x00004900, 0x14000e2f, 0x0000e281, 0x0fc0105f, 0x00008300,
- 0x17c00c50, 0x0000e481, 0x0e40a815, 0x00000900, 0x0c400000, 0x0000e180,
- 0x0422f837, 0x00006001, 0x17c08811, 0x00006108, 0x17c08011, 0x0000c790,
- 0x0e820000, 0x00007900, 0x00207fc0, 0x00008980, 0x1000085f, 0x0000e282,
- 0x0c800000, 0x00000980, 0x000040ec, 0x0000d788, 0x00d87b81, 0x00000180,
- 0x001050ec, 0x0000d790, 0x00007801, 0x00000080, 0x13400c19, 0x0000e283,
- 0x0cc00000, 0x00008980, 0x17c08811, 0x00006108, 0x17c08011, 0x0000c790,
- 0x0d000000, 0x000083d4, 0x0d800000, 0x00006180, 0x01140001, 0x00004980,
- 0x0ec00502, 0x00008380, 0x1403f85f, 0x00001280, 0xf7c2e050, 0x00007892,
- 0xe1800000, 0x00001a81, 0x68b82c64, 0x00002180, 0xffffffff, 0x00007fa7,
- 0x97d02a05, 0x00001900, 0x0e10294e, 0x00004559, 0xfb20025f, 0x00007a8b,
- 0x80005007, 0x00006486, 0x80000806, 0x00003401, 0x29c00000, 0x00000ad0,
- 0x29400000, 0x00000ad8, 0x39f8bf16, 0x00000e18, 0x52000410, 0x000006fe,
- 0x35442357, 0x0000f404, 0xdbd712e2, 0x0000e100, 0x53000ee3, 0x00004881,
- 0x3b783f06, 0x00008e38, 0xc101870c, 0x00006283, 0x19001800, 0x00008981,
- 0x19000000, 0x0000e189, 0xa0000819, 0x0000e400, 0xc100670c, 0x00006283,
- 0x20005009, 0x0000a406, 0xc7c4500a, 0x00006180, 0x04232008, 0x00006003,
- 0x19000000, 0x0000e189, 0x19001800, 0x0000c991, 0x35513aba, 0x0000f404,
- 0xffffffff, 0x00007f86, 0xe3a32008, 0x0000e802, 0x34d0337a, 0x0000f100,
- 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x0292d800, 0x0000f900,
- 0x0005a686, 0x00000980, 0x02d8d000, 0x0000f900, 0x0035e1b8, 0x00008980,
- 0x0157280f, 0x0000e200, 0x08001a08, 0x0000a106, 0x01c00000, 0x0000e180,
- 0xc2300600, 0x0000c901, 0x35601c63, 0x00007500, 0x82381400, 0x00008024,
- 0x83001000, 0x00006180, 0x01972811, 0x00004200, 0x13800000, 0x00006180,
- 0x0412684f, 0x00006187, 0x8237184f, 0x0000e086, 0x001a684e, 0x00003186,
- 0x2a000000, 0x00007900, 0x00008080, 0x00008980, 0x0020e04f, 0x00006086,
- 0x08001aaa, 0x0000b106, 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980,
- 0x2b592800, 0x0000f900, 0x0034c678, 0x00000980, 0x2a400000, 0x00006180,
- 0xeab00600, 0x00004901, 0xaab81400, 0x00008a2c, 0x35721c90, 0x00007500,
- 0x2bc0874e, 0x00008aa1, 0x2b82784f, 0x00001900, 0x06c01b4d, 0x00009880,
- 0xec0002ec, 0x00005080, 0x00000000, 0x00008080, 0x1402e81b, 0x00006002,
- 0x1900f81b, 0x00008784, 0x13c2e064, 0x0000e004, 0x06d00000, 0x00000980,
- 0x13800000, 0x0000f900, 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080,
- 0x00000000, 0x00008080, 0x0076084e, 0x0000e586, 0x0076101b, 0x00003587,
- 0x700040ec, 0x00005680, 0x0038d8e0, 0x00008010, 0x703a70ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x700008ec, 0x00005680, 0x00000000, 0x00008080,
- 0x06d00006, 0x00009980, 0x703a80ec, 0x0000d600, 0x003a7800, 0x00000000,
- 0x0418101b, 0x00006987, 0x700040ec, 0x00005680, 0x0038dfc0, 0x00000078,
- 0xec0272ec, 0x0000f902, 0x06c00000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x0000004e, 0x00009582, 0xec0274ec, 0x00007912, 0x06c00000, 0x00000000,
- 0x99000b4d, 0x0000e090, 0x9420e41c, 0x00000910, 0x0000358b, 0x00007008,
- 0x802b0264, 0x00006502, 0xd3400b4d, 0x00000080, 0xd3400000, 0x00009988,
- 0xe23f2a50, 0x00002880, 0x13c01b4d, 0x00001880, 0x1482e84f, 0x00006002,
- 0x1400f84f, 0x00008784, 0x1442e050, 0x00006004, 0x13c00000, 0x00000980,
- 0xd3f10c5f, 0x0000f900, 0x00000002, 0x00000080, 0x700040ec, 0x00005680,
- 0x003a78c0, 0x00008010, 0x13d00006, 0x00001980, 0x703a90ec, 0x00005600,
- 0x003a8800, 0x00000000, 0x00003473, 0x00007400, 0x0418104f, 0x0000e987,
- 0x700040ec, 0x00005680, 0x003a7fc0, 0x00008078, 0x72bafcec, 0x00002100,
- 0xffffffff, 0x00007fa7, 0x1400085f, 0x00009080, 0x72ba84ec, 0x0000a900,
- 0x4d400406, 0x0000788b, 0xc1800000, 0x00001a86, 0x35af3a44, 0x00007004,
- 0x1bc00000, 0x00006180, 0x1b400020, 0x00004980, 0x1b800000, 0x0000e180,
- 0x001a606f, 0x00006106, 0x1b006000, 0x0000f900, 0x00004000, 0x00000980,
- 0x000034f4, 0x00007400, 0x0008d8ec, 0x00005780, 0x00005000, 0x00008080,
- 0xc000186f, 0x0000e806, 0x02c00000, 0x0000e180, 0x0020280c, 0x00006086,
- 0x02800000, 0x00006180, 0x8228280c, 0x0000e086, 0x12802004, 0x00006100,
- 0x0418280c, 0x00006187, 0x0340600c, 0x00001900, 0x11e45000, 0x0000f900,
- 0x001fa644, 0x00000980, 0x1240680d, 0x00001900, 0xffffffff, 0x00007ff7,
- 0x82c03cec, 0x0000f902, 0x01800000, 0x00008604, 0xffffffff, 0x00007fa7,
- 0x03003807, 0x0000e100, 0x00002006, 0x00006586, 0x1200600c, 0x0000e100,
- 0x04282806, 0x0000e087, 0x35ce1d3a, 0x00007500, 0x86202806, 0x0000e887,
- 0x11803006, 0x00001900, 0x00401405, 0x00004588, 0x00402405, 0x0000808b,
- 0x000035e1, 0x00007200, 0x42c00000, 0x00009981, 0x000035e1, 0x00007200,
- 0x42c00800, 0x00001981, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
- 0x02a64800, 0x00007900, 0x001fa644, 0x00000980, 0x02fa9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x01802004, 0x0000e100, 0x08001a08, 0x00006106,
- 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901, 0x35e11c63, 0x00007500,
- 0x82381400, 0x00008024, 0x83002800, 0x00009980, 0x0028280b, 0x00006086,
- 0x0018280a, 0x00003186, 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8,
- 0x39c00000, 0x00008ed8, 0x52000410, 0x000006fe, 0x35eb2357, 0x0000f404,
- 0xdbd712e2, 0x0000e100, 0x53000ee3, 0x00004881, 0x3b785f0a, 0x00008e38,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x0e800000, 0x00006180,
- 0x0ed00002, 0x0000c980, 0x11ca0005, 0x00006180, 0x0010603a, 0x00006100,
- 0x0d100000, 0x0000f900, 0x00008016, 0x00008980, 0x11810000, 0x0000f900,
- 0x00207fc0, 0x00008980, 0x0d402c00, 0x0000e180, 0x0030603b, 0x00006080,
- 0x0d800000, 0x000083dc, 0x0e083804, 0x00006180, 0x0e400000, 0x00004980,
- 0x00000001, 0x00007480, 0x11388f10, 0x00000414, 0x11c82502, 0x0000032a,
+ 0xc0c01800, 0x00006180, 0xe3a15808, 0x0000e002, 0x008806ec, 0x00005f80,
+ 0x00905080, 0x00008384, 0x01400000, 0x00006180, 0x04110806, 0x0000e187,
+ 0x82371806, 0x00006086, 0x00190805, 0x00003186, 0x2a000000, 0x00007900,
+ 0x00008080, 0x00008980, 0x0020e006, 0x0000e086, 0x08001aaa, 0x0000b106,
+ 0x2b355000, 0x0000f900, 0x002b1aca, 0x00000980, 0x2b592800, 0x0000f900,
+ 0x0034c678, 0x00000980, 0x2a400000, 0x00006180, 0xeab00600, 0x00004901,
+ 0xaab81400, 0x00008a2c, 0x344d1b44, 0x00007500, 0x2bc08705, 0x00008aa1,
+ 0x2b803006, 0x00001900, 0x01001b21, 0x00001880, 0xec0002ec, 0x00005080,
+ 0x00000000, 0x00008080, 0x01c12004, 0x0000e002, 0x0a80f804, 0x00000784,
+ 0x0181182a, 0x0000e004, 0x01100000, 0x00008980, 0x01400000, 0x0000f900,
+ 0x00003fc0, 0x00008980, 0xec0004ec, 0x00005080, 0x00000000, 0x00008080,
+ 0x00760805, 0x0000e586, 0x00761004, 0x0000b587, 0x700040ec, 0x00005680,
+ 0x003820e0, 0x00000010, 0x703828ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x700008ec, 0x00005680, 0x00000000, 0x00008080, 0x01100006, 0x00001980,
+ 0x703838ec, 0x00005600, 0x00383000, 0x00008000, 0x04181004, 0x0000e987,
+ 0x700040ec, 0x00005680, 0x003827c0, 0x00008078, 0xec002aec, 0x0000f902,
+ 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00000005, 0x00009582,
+ 0x00003471, 0x0000f013, 0xec002aec, 0x0000f902, 0x01000000, 0x00008000,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x1ac00005, 0x0000f88b,
+ 0x01800001, 0x00000080, 0x01800000, 0x00006180, 0x8aa0e41c, 0x0000c900,
+ 0xec002cec, 0x0000f902, 0x01000000, 0x00008000, 0xe23f2a2a, 0x0000a880,
+ 0xc8400b21, 0x00006080, 0x8a800b21, 0x00000080, 0x80292a2a, 0x00001502,
+ 0xc8400000, 0x0000e188, 0x06c02004, 0x0000c900, 0xc1b10c2b, 0x00007900,
+ 0x00000002, 0x00000080, 0x08802805, 0x0000e100, 0x01001b21, 0x00004880,
+ 0x01412004, 0x00006002, 0x0a80f804, 0x00000784, 0x700040ec, 0x00005680,
+ 0x003830c0, 0x00000010, 0x01900006, 0x0000e180, 0x0101182a, 0x0000c004,
+ 0x703828ec, 0x0000d600, 0x00382000, 0x00000000, 0x000033ed, 0x00007400,
+ 0x04181006, 0x00006987, 0x700040ec, 0x00005680, 0x003837c0, 0x00000078,
0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x0178b60d, 0x00001201, 0x01000c05, 0x00001283,
- 0xfbb8320e, 0x00002090, 0x81800000, 0x00001988, 0xffffffff, 0x00007f97,
- 0x01001405, 0x0000e283, 0x81a03406, 0x00000910, 0x01001d1a, 0x00001281,
- 0x81802206, 0x00001090, 0xc1c01404, 0x00004488, 0xca600c04, 0x00000d8d,
- 0x08801d1a, 0x0000458d, 0x8560070d, 0x00000190, 0x7040460d, 0x00007902,
- 0x01c00000, 0x00000004, 0x7040280d, 0x0000f902, 0x01000000, 0x00000004,
- 0xffffffff, 0x00007f97, 0x02000808, 0x00001082, 0x01402a14, 0x00006002,
- 0x01c00007, 0x00000084, 0xc000070d, 0x0000e583, 0x01000004, 0x00000084,
- 0x7078460d, 0x00005004, 0x00383800, 0x00000000, 0x7078280d, 0x0000d004,
- 0x00382000, 0x00000000, 0x00003663, 0x00007010, 0x0c800000, 0x00007900,
- 0x00307fc0, 0x00000980, 0x81001318, 0x00006080, 0x0e800000, 0x00008980,
- 0x0b400000, 0x00006180, 0x0010603a, 0x00006100, 0x0cc8000d, 0x00006180,
- 0x0a401800, 0x0000c980, 0x0ac00000, 0x000084c0, 0x0f100800, 0x00006180,
- 0x0ed00002, 0x0000c980, 0x11ca0005, 0x00006180, 0x8c903204, 0x0000c100,
- 0x81000a12, 0x0000e080, 0x0030603b, 0x0000a080, 0x0d100000, 0x0000f900,
+ 0x00000000, 0x00000084, 0x0e800000, 0x00006180, 0x0ed00002, 0x0000c980,
+ 0x11ca0005, 0x00006180, 0x0010603a, 0x00006100, 0x0d100000, 0x0000f900,
0x00008016, 0x00008980, 0x11810000, 0x0000f900, 0x00207fc0, 0x00008980,
- 0x12000000, 0x000084e4, 0x12800000, 0x000084ec, 0x0b800000, 0x000082fc,
- 0x0a082001, 0x0000e180, 0x0a800802, 0x0000c980, 0x0b38f717, 0x00008300,
- 0x0c40071f, 0x00000484, 0x10800000, 0x000084cc, 0x8f503318, 0x00006100,
- 0xcf50ca19, 0x00008900, 0x0fb8ef1c, 0x0000033c, 0x0d402c00, 0x0000e180,
- 0x0d800000, 0x00004980, 0x0dc00000, 0x0000e180, 0x0e083804, 0x00004980,
- 0x0e400000, 0x00006180, 0x11008010, 0x0000c900, 0x11486f11, 0x00008235,
- 0x0ce8c502, 0x00000224, 0x8ac0a116, 0x00008402, 0x8f281118, 0x0000841c,
- 0xce902204, 0x00009900, 0x01400000, 0x00006180, 0x08001a04, 0x00006106,
- 0xc000070d, 0x0000e583, 0x00102005, 0x00002184, 0x04189005, 0x0000e987,
- 0x733828ec, 0x0000d600, 0x00000000, 0x00008080, 0x0000365f, 0x00007010,
- 0x008056ec, 0x0000df80, 0x00007802, 0x00008084, 0x7080420d, 0x0000f902,
- 0x01c00000, 0x00000004, 0x70402c0d, 0x00007902, 0x01000000, 0x00000004,
- 0xffffffff, 0x00007f97, 0x02000808, 0x00001082, 0x01402a14, 0x00006002,
- 0x01c00007, 0x00000084, 0x01000004, 0x00009084, 0x70b8420d, 0x0000d004,
- 0x00383800, 0x00000000, 0x70782c0d, 0x00005004, 0x00382000, 0x00000000,
- 0x98c0070d, 0x0000f893, 0xe9800000, 0x00009b80, 0x80000626, 0x00001583,
- 0x000036f4, 0x0000f013, 0x009856ec, 0x0000df80, 0x00007802, 0x00008084,
- 0xc008ab19, 0x00007900, 0x00000022, 0x00000582, 0x0b000000, 0x000082f4,
- 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4, 0x0c800000, 0x000083cc,
- 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc, 0x0e000000, 0x000083e4,
- 0x000036af, 0x0000f408, 0x0e800000, 0x000083ec, 0x0f800000, 0x000083fc,
- 0xc0000319, 0x00007900, 0x00000002, 0x00008582, 0x41400000, 0x000080d1,
- 0x81000800, 0x00001988, 0xc036eb19, 0x00007900, 0x00000020, 0x00008582,
- 0x01a02404, 0x00006101, 0x81400800, 0x0000c988, 0xffffffff, 0x00007f86,
- 0x01202405, 0x00009303, 0x81400000, 0x00006188, 0x0a080801, 0x00004990,
- 0x0a403000, 0x00006190, 0x0a800800, 0x0000c990, 0x000036b0, 0x0000f008,
- 0x81002318, 0x0000e180, 0x8000202d, 0x0000a600, 0x00000406, 0x00006583,
- 0xca70b204, 0x00008100, 0x08001a04, 0x00006106, 0x0000102f, 0x0000b403,
- 0x0410202d, 0x0000e101, 0x00001030, 0x00003403, 0x8100a000, 0x0000e190,
- 0x81014000, 0x0000c988, 0x11800000, 0x0000e180, 0x000ff83e, 0x0000e501,
- 0x00001031, 0x0000e403, 0x8001483f, 0x0000b484, 0x0000a02e, 0x00006596,
- 0x30000830, 0x0000b401, 0x00106046, 0x0000e100, 0xe000183e, 0x0000b403,
- 0x0ac01000, 0x000084e0, 0x11d00002, 0x00006180, 0x14ca0005, 0x00004980,
- 0x8bd02204, 0x0000e100, 0x0000182e, 0x00006413, 0x81000a12, 0x0000e080,
- 0x00306047, 0x00002080, 0x10100000, 0x0000f900, 0x00008016, 0x00008980,
- 0x14810000, 0x0000f900, 0x00207fc0, 0x00008980, 0xcab0b616, 0x00006100,
- 0xcb003000, 0x00004981, 0x0f38ff1e, 0x00000334, 0x92791021, 0x00000430,
- 0x13792723, 0x00008438, 0x13e10f25, 0x0000042c, 0x1288cf20, 0x00008426,
- 0xd2d13226, 0x0000e100, 0x10402c00, 0x0000c980, 0x10800000, 0x000084cc,
- 0x11083804, 0x0000e180, 0x11400000, 0x0000c980, 0x14388f10, 0x00000504,
- 0x8c681021, 0x0000833c, 0x8c00e000, 0x00006180, 0x8f814321, 0x00004080,
- 0x8ac8c116, 0x00008422, 0x00003646, 0x0000f400, 0x52281126, 0x0000050c,
- 0xd1902204, 0x00001900, 0x8140a000, 0x00009980, 0x81803000, 0x000002e4,
- 0x81002318, 0x0000e180, 0x8000202d, 0x0000a600, 0x00000406, 0x00006583,
- 0xca70b204, 0x00008100, 0x08001a04, 0x00006106, 0x0000102f, 0x0000b403,
- 0x0410202d, 0x0000e101, 0x00001030, 0x00003403, 0x8100a000, 0x0000e190,
- 0x81014000, 0x0000c988, 0x11800000, 0x0000e180, 0x000ff83e, 0x0000e501,
- 0x00001031, 0x0000e403, 0x8001483f, 0x0000b484, 0x0000a02e, 0x00006596,
- 0x30000830, 0x0000b401, 0x00106046, 0x0000e100, 0xe000183e, 0x0000b403,
- 0x0a800001, 0x000002ec, 0x12001000, 0x0000e180, 0x11d00002, 0x00004980,
- 0x14ca0005, 0x00006180, 0x8bd02204, 0x0000c900, 0x81000a12, 0x0000e080,
- 0x0000182e, 0x0000a413, 0x10100000, 0x0000f900, 0x00008016, 0x00008980,
- 0x14810000, 0x0000f900, 0x00207fc0, 0x00008980, 0x0a080801, 0x0000e180,
- 0x00306047, 0x0000e080, 0xcb003000, 0x00006181, 0x0f00f01e, 0x0000c900,
- 0x0f410f1f, 0x00008426, 0x13391f22, 0x00000434, 0x13b92f24, 0x0000043c,
- 0x12f90421, 0x00000428, 0x92493119, 0x0000842e, 0x10402c00, 0x0000e180,
- 0x10800000, 0x00004980, 0x10c00000, 0x0000e180, 0x11083804, 0x0000c980,
- 0x11400000, 0x0000e180, 0x14008010, 0x0000c900, 0x14410f11, 0x00000306,
- 0x0fe02d02, 0x00000300, 0x8f814321, 0x0000e080, 0xcab0b616, 0x00008900,
- 0x8ac8c116, 0x00008422, 0x00003646, 0x0000f400, 0x52281126, 0x0000050c,
- 0xd1902204, 0x00001900, 0x7080400d, 0x00007902, 0x01c00000, 0x00000004,
- 0x70402a0d, 0x00007902, 0x01000000, 0x00000004, 0xffffffff, 0x00007f97,
- 0x02000808, 0x00001082, 0x01402a14, 0x00006002, 0x01c00007, 0x00000084,
- 0x01000004, 0x00009084, 0x70b8400d, 0x00005004, 0x00383800, 0x00000000,
- 0x70782a0d, 0x00005004, 0x00382000, 0x00000000, 0x98c0070d, 0x0000f893,
- 0xe9800000, 0x00009b80, 0x008886ec, 0x0000df80, 0x00007801, 0x00008084,
- 0x0107f804, 0x00006280, 0x11c03807, 0x00000900, 0x36fb1d18, 0x00007500,
+ 0x0d402c00, 0x0000e180, 0x0030603b, 0x00006080, 0x0d800000, 0x000083dc,
+ 0x0e083804, 0x00006180, 0x0e400000, 0x00004980, 0x00000001, 0x00007480,
+ 0x11388f10, 0x00000414, 0x11c82502, 0x0000032a, 0x00000409, 0x00006583,
+ 0x1c000000, 0x00000980, 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0,
+ 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8,
+ 0x1ec00000, 0x000087f0, 0x000034ba, 0x0000f408, 0x1f400000, 0x000007f8,
+ 0x1fc00000, 0x0000e180, 0x1c001070, 0x00004390, 0x00001873, 0x00006106,
+ 0x00001871, 0x0000b406, 0x00000041, 0x00006582, 0x80003071, 0x00002480,
+ 0xc0001873, 0x0000e006, 0x00080871, 0x0000b501, 0x0000e0ec, 0x00005780,
+ 0x00005801, 0x00008080, 0x40001876, 0x00006413, 0xc0000871, 0x0000b401,
+ 0xdc002000, 0x0000e181, 0x1c801002, 0x0000c900, 0x01400c05, 0x0000e181,
+ 0x1e420841, 0x00000910, 0xddd8a314, 0x00001910, 0x40000509, 0x00006583,
+ 0x02000001, 0x00002586, 0x02400000, 0x0000e181, 0x00100001, 0x00006505,
+ 0x02400800, 0x0000e191, 0xc0000001, 0x0000e401, 0x80401405, 0x00006081,
+ 0xc0c06800, 0x00000980, 0x11000000, 0x00006180, 0x00180805, 0x00006586,
+ 0x003cf800, 0x00007900, 0x003ffffe, 0x00008280, 0x00180000, 0x0000e380,
+ 0x00180005, 0x0000a505, 0x11400000, 0x0000e180, 0xc0000005, 0x00006407,
+ 0x11800000, 0x000084dc, 0x00000409, 0x00006583, 0xc0009800, 0x00008981,
+ 0xc1c01800, 0x0000e180, 0x81401607, 0x00004081, 0x80000609, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x000034e1, 0x0000f010, 0x000034e1, 0x0000f010,
+ 0x0241ff60, 0x00009281, 0x00018c09, 0x00001583, 0x11c2584b, 0x00006108,
+ 0x20000845, 0x0000e40b, 0x000034f3, 0x00007011, 0x4000050b, 0x0000e583,
+ 0xffc00000, 0x00008980, 0x0000040b, 0x0000e583, 0x20001844, 0x00002413,
+ 0x001000ec, 0x00005780, 0x00905100, 0x00008780, 0xe0001844, 0x0000ec12,
+ 0x0098a6ec, 0x0000df80, 0x00005000, 0x00000084, 0x80000609, 0x00006583,
+ 0x02000000, 0x00008981, 0x02000800, 0x00006191, 0xffc00000, 0x00004980,
+ 0x117fe045, 0x00007900, 0x003ffffe, 0x00008280, 0x4000050b, 0x0000e583,
+ 0x65a04044, 0x00002003, 0xa0000845, 0x00006401, 0x20001844, 0x0000b413,
+ 0x0000040b, 0x0000e583, 0x00204845, 0x00002002, 0x001000ec, 0x00005780,
+ 0x00905100, 0x00008780, 0x11c3586b, 0x0000e100, 0xe0001844, 0x00006412,
+ 0x0098a6ec, 0x0000df80, 0x00005000, 0x00000084, 0x00000008, 0x00001582,
+ 0x11c04008, 0x00006110, 0xd0000845, 0x0000e410, 0xffc00000, 0x0000e190,
+ 0x02000000, 0x0000c991, 0x000034d8, 0x0000f008, 0xc0000709, 0x00009583,
+ 0x4000050b, 0x0000e583, 0x02000800, 0x00008991, 0x001000ec, 0x00005780,
+ 0x00905100, 0x00008780, 0x65a04044, 0x00006803, 0x0000040b, 0x0000e583,
+ 0x20001844, 0x00002413, 0xffffffff, 0x00007f86, 0xe0001844, 0x0000ec12,
+ 0x0098a6ec, 0x0000df80, 0x00005000, 0x00000084, 0x02c00000, 0x0000e180,
+ 0x0020280c, 0x00006086, 0x02800000, 0x00006180, 0x8228280c, 0x0000e086,
+ 0x12802004, 0x00006100, 0x0418280c, 0x00006187, 0x0340600c, 0x00001900,
+ 0x11e45000, 0x0000f900, 0x001fa644, 0x00000980, 0x1240680d, 0x00001900,
+ 0xffffffff, 0x00007ff7, 0x82c03cec, 0x0000f902, 0x01800000, 0x00008604,
+ 0xffffffff, 0x00007fa7, 0x03003807, 0x0000e100, 0x00002006, 0x00006586,
+ 0x1200600c, 0x0000e100, 0x04282806, 0x0000e087, 0x351a1bee, 0x00007500,
+ 0x86202806, 0x0000e887, 0x11803006, 0x00001900, 0x00401405, 0x00004588,
+ 0x00402405, 0x0000808b, 0x0000352d, 0x00007200, 0x42c00000, 0x00009981,
+ 0x0000352d, 0x00007200, 0x42c00800, 0x00001981, 0x03000000, 0x0000f900,
+ 0x00008040, 0x00008980, 0x02a64800, 0x00007900, 0x001fa644, 0x00000980,
+ 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x01802004, 0x0000e100,
+ 0x08001a08, 0x00006106, 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901,
+ 0x352d1b17, 0x0000f500, 0x82381400, 0x00008024, 0x83002800, 0x00009980,
+ 0x0028280b, 0x00006086, 0x0018280a, 0x00003186, 0x29c00000, 0x00000ad0,
+ 0x29400000, 0x00000ad8, 0x39c00000, 0x00008ed8, 0x52000410, 0x000005fe,
+ 0x3537220a, 0x00007404, 0x929712e2, 0x0000e100, 0x53000ee3, 0x00004881,
+ 0x3b785f0a, 0x00008e38, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x0107f804, 0x00006280, 0x12003807, 0x00000900, 0x353e1bcc, 0x00007500,
0x11b82f06, 0x00008410, 0x03402004, 0x00001900, 0xffc00000, 0x00006180,
0x02c00020, 0x00004980, 0x02400048, 0x00006180, 0x0000180b, 0x00006106,
0x02001000, 0x0000f900, 0x00004000, 0x00000980, 0x02801002, 0x0000e100,
@@ -26202,293 +26544,384 @@ ARRAY_DECL u32 init_val[] = {
0x003c9fb6, 0x00000980, 0x12403807, 0x00001900, 0xffffffff, 0x00007ff7,
0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x12003006, 0x0000e100,
- 0x0428a804, 0x0000e087, 0x37181d3a, 0x00007500, 0x8620a804, 0x0000e887,
+ 0x0428a804, 0x0000e087, 0x355b1bee, 0x00007500, 0x8620a804, 0x0000e887,
0x11802004, 0x00001900, 0x00001c15, 0x00001583, 0x00002c15, 0x00001583,
- 0x00000c15, 0x00009583, 0x00003745, 0x00007008, 0x00003769, 0x0000f008,
- 0x0000375a, 0x0000f010, 0x3722211a, 0x0000f404, 0x82b8b2e2, 0x00000420,
+ 0x00000c15, 0x00009583, 0x00003588, 0x00007008, 0x000035ac, 0x00007008,
+ 0x0000359d, 0x0000f010, 0x35651fce, 0x0000f404, 0x82b8b2e2, 0x00000420,
0x14009d00, 0x0000e180, 0x1440b817, 0x00004900, 0x0000044d, 0x00009583,
- 0x813f1fe3, 0x00001908, 0xee002604, 0x0000a088, 0x0000372b, 0x0000f010,
+ 0x813f1fe3, 0x00001908, 0xee002604, 0x0000a088, 0x0000356e, 0x0000f010,
0xffffffff, 0x00007f97, 0x01003c04, 0x00001281, 0x01001404, 0x00001181,
- 0x00000c04, 0x00009583, 0x00003730, 0x0000701b, 0x01f14000, 0x00007900,
- 0x00109692, 0x00008980, 0x00003759, 0x0000f400, 0x01b8bf16, 0x00008014,
+ 0x00000c04, 0x00009583, 0x00003573, 0x0000701b, 0x01f14000, 0x00007900,
+ 0x00109692, 0x00008980, 0x0000359c, 0x00007400, 0x01b8bf16, 0x00008014,
0x01226c4d, 0x00001900, 0x70783849, 0x0000a080, 0xc100050a, 0x000080b4,
0xfb782a04, 0x0000a080, 0x70004e49, 0x00007902, 0x02000000, 0x00008000,
0x70783249, 0x0000a080, 0x80000607, 0x0000e583, 0x03800000, 0x00000980,
0x2c003707, 0x00009680, 0x834588b0, 0x00001000, 0x83401000, 0x0000e191,
0x03c00000, 0x00004980, 0x40000d05, 0x0000e583, 0x01c01000, 0x00000981,
0x83b71ee3, 0x0000e100, 0x83184b09, 0x00004900, 0xc3183608, 0x00008035,
- 0x01b04608, 0x00006101, 0x83400e0d, 0x00004389, 0xdf400508, 0x0000f88b,
- 0x51800000, 0x00001b8b, 0x3748211a, 0x0000f404, 0x1238bf16, 0x00000504,
+ 0x01b04608, 0x00006101, 0x83400e0d, 0x00004389, 0x70000508, 0x0000788b,
+ 0x69800000, 0x00001a8d, 0x358b1fce, 0x0000f404, 0x1238bf16, 0x00000504,
0x14009900, 0x00001980, 0x0000044d, 0x00009583, 0x813f1fe3, 0x00001908,
- 0xee002604, 0x0000a088, 0x00003755, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0xee002604, 0x0000a088, 0x00003598, 0x0000f010, 0xffffffff, 0x00007f97,
0x01003c04, 0x00001281, 0x01001404, 0x00001181, 0x00000c04, 0x00009583,
- 0x70382a49, 0x00002098, 0x01c01800, 0x00001999, 0x00003767, 0x0000f419,
+ 0x70382a49, 0x00002098, 0x01c01800, 0x00001999, 0x000035aa, 0x0000f419,
0xffffffff, 0x00007f86, 0x01a82d05, 0x00001919, 0x01ce3800, 0x00007900,
0x00109694, 0x00008980, 0x01b8bf16, 0x00008014, 0x01226c4d, 0x00001900,
- 0x375a36f6, 0x0000f100, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
+ 0x359d3539, 0x0000f100, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
0x02aaf000, 0x00007900, 0x00109692, 0x00008980, 0x02fa9000, 0x00007900,
0x0016f7fa, 0x00008980, 0x0180a014, 0x0000e100, 0x08001a08, 0x00006106,
- 0x01400715, 0x0000009c, 0x000037ad, 0x00007400, 0x82200500, 0x00008022,
- 0x83002800, 0x0000e180, 0x02401002, 0x0000c900, 0xdf400405, 0x0000f88b,
- 0x51800000, 0x00001b8b, 0x81c00004, 0x000000da, 0x01401800, 0x000003f0,
+ 0x01400715, 0x0000009c, 0x000035f0, 0x00007400, 0x82200500, 0x00008022,
+ 0x83002800, 0x0000e180, 0x02401002, 0x0000c900, 0x70000405, 0x0000788b,
+ 0x69800000, 0x00001a8d, 0x81c00004, 0x000000da, 0x01401800, 0x000003f0,
0x81400a12, 0x00006080, 0x0fc00000, 0x00008980, 0x10000000, 0x000084c4,
- 0x10800000, 0x000084cc, 0x0f78cf18, 0x00008338, 0x377335ed, 0x0000f500,
+ 0x10800000, 0x000084cc, 0x0f78cf18, 0x00008338, 0x35b6348f, 0x00007500,
0x8f28ab15, 0x00008330, 0x01002805, 0x00001900, 0x814010ec, 0x0000d684,
0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008868ec, 0x00005780,
0x00007801, 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0xeb800406, 0x0000788b, 0x91800000, 0x00009b8c,
- 0x377f35ed, 0x0000f300, 0x81109212, 0x00009900, 0x0d3fd834, 0x0000f900,
+ 0x00000002, 0x00008480, 0x7c400406, 0x0000f88b, 0xa9800000, 0x00001a8e,
+ 0x35c2348f, 0x00007300, 0x81109212, 0x00009900, 0x0d3fd834, 0x0000f900,
0x003ffffe, 0x00008280, 0xc000183b, 0x00006406, 0x80000034, 0x00003404,
0xc0000036, 0x0000e400, 0x8000003b, 0x0000b403, 0x8d600003, 0x000083d5,
0x51800000, 0x000004d0, 0xcd000402, 0x000004d4, 0x814010ec, 0x0000d684,
0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009068ec, 0x00005780,
0x00d87c40, 0x000000c0, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x00000406, 0x00009583, 0x000037a1, 0x0000700b,
+ 0x00000002, 0x00008480, 0x00000406, 0x00009583, 0x000035e4, 0x0000700b,
0x01800000, 0x000000d4, 0x82203806, 0x0000e086, 0x0018a805, 0x0000b186,
0x29c00000, 0x0000e180, 0x0028a806, 0x00006086, 0x29000000, 0x00008ad4,
- 0x29800000, 0x00000edc, 0x39a08000, 0x000004e1, 0x1bc00000, 0x0000e181,
- 0xdbd712e2, 0x0000c900, 0x37ae2357, 0x0000f404, 0x53000ee3, 0x00006081,
- 0x3b402805, 0x0000c900, 0x3b803006, 0x00009900, 0x000037ae, 0x0000f000,
+ 0x29800000, 0x00000edc, 0x39a08000, 0x000004e1, 0x17c00000, 0x0000e181,
+ 0x929712e2, 0x0000c900, 0x35f1220a, 0x00007404, 0x53000ee3, 0x00006081,
+ 0x3b402805, 0x0000c900, 0x3b803006, 0x00009900, 0x000035f1, 0x00007000,
0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x02af0800, 0x0000f900,
0x00109692, 0x00008980, 0x02f14000, 0x00007900, 0x0032b904, 0x00000980,
0x0180a014, 0x0000e100, 0x08001a08, 0x00006106, 0x01400715, 0x0000009c,
0x82200500, 0x00008022, 0x83005800, 0x00006180, 0x02401002, 0x0000c900,
- 0x37ae1c63, 0x0000f100, 0x02801002, 0x0000e100, 0x02c00020, 0x00004980,
+ 0x35f11b17, 0x0000f100, 0x02801002, 0x0000e100, 0x02c00020, 0x00004980,
0x0000180b, 0x0000e906, 0x02001000, 0x0000f900, 0x00008000, 0x00000980,
0x02400000, 0x0000f900, 0x00008090, 0x00000980, 0xc000180b, 0x00006806,
- 0x009016ec, 0x0000df80, 0x00005000, 0x00000084, 0x003f9800, 0x00007900,
- 0x003ffffe, 0x00008280, 0x0027f800, 0x00007900, 0x003ffffe, 0x00008280,
- 0x00400148, 0x00006180, 0xc0c00000, 0x00004980, 0xc0000800, 0x00001981,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008800ec, 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x08000000, 0x0000e180,
- 0x0c812c05, 0x00006002, 0x00000405, 0x00006583, 0x08400000, 0x00008980,
- 0x08800000, 0x000082cc, 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc,
- 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4,
- 0x0f800000, 0x000083fc, 0x0000382e, 0x00007410, 0x10000000, 0x000084c4,
- 0x10800000, 0x000084cc, 0x01406525, 0x00009281, 0x00002405, 0x00001583,
- 0x000037f7, 0x0000700b, 0x41401d25, 0x00006283, 0x11c80005, 0x00000980,
- 0x81400000, 0x0000e180, 0x4019d020, 0x0000e502, 0x01400800, 0x0000e189,
- 0x10003004, 0x00006404, 0x0c403000, 0x00007900, 0x00001000, 0x00000980,
- 0x71e02836, 0x0000e000, 0xa000a821, 0x0000b480, 0x0c100001, 0x00006180,
- 0x0b003205, 0x0000e106, 0xd1c02205, 0x0000e080, 0x0c800000, 0x0000c980,
- 0x41401d25, 0x00006283, 0x0cc00000, 0x00008980, 0x01401000, 0x0000e191,
- 0x01400800, 0x0000c989, 0x11820000, 0x0000f900, 0x00200000, 0x00000980,
- 0x001060ec, 0x00005780, 0x00007801, 0x00000080, 0xa2a02820, 0x0000e002,
- 0xc0000025, 0x0000b407, 0x01501800, 0x00007900, 0x00004040, 0x00008980,
- 0x11397f2e, 0x00000414, 0x09800000, 0x000082dc, 0xc1200404, 0x000000dd,
- 0x00880eec, 0x0000df80, 0x00905200, 0x000081c4, 0x01410425, 0x00001283,
- 0x05001000, 0x00006190, 0x08003a08, 0x00006116, 0x04c00000, 0x00006190,
- 0x02002208, 0x00004890, 0x000037d8, 0x0000f008, 0x02403008, 0x00007900,
- 0x00000318, 0x00008080, 0x38031e1e, 0x00007404, 0x04800800, 0x00007900,
- 0x00004000, 0x00000980, 0x04404809, 0x00009900, 0x82002d00, 0x00009880,
- 0x70384a08, 0x00002080, 0xffffffff, 0x00007fa7, 0x81504a09, 0x00001900,
- 0x00294c05, 0x00009503, 0x00003855, 0x0000f00b, 0x41401d25, 0x00006283,
- 0x0d800836, 0x00000380, 0x81400000, 0x0000e180, 0x11c80005, 0x0000c980,
- 0x01400800, 0x0000e189, 0x4019d020, 0x0000e502, 0x0dbbf836, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x71e02836, 0x0000e000, 0x10003004, 0x00003404,
- 0x0b003205, 0x0000e106, 0xa000a821, 0x0000b480, 0xd1c02205, 0x0000e080,
- 0x0d000800, 0x00004980, 0x41401d25, 0x00006283, 0x0d4728e5, 0x00000900,
- 0x01401000, 0x0000e191, 0x01400800, 0x0000c989, 0x0c403000, 0x00007900,
- 0x00001000, 0x00000980, 0x11820000, 0x0000f900, 0x00200000, 0x00000980,
- 0x001060ec, 0x00005780, 0x00007801, 0x00000080, 0xa2a02820, 0x0000e002,
- 0xc0000025, 0x0000b407, 0x01501800, 0x00007900, 0x00004040, 0x00008980,
- 0x0c100001, 0x00006180, 0x0c800000, 0x0000c980, 0x0cc00000, 0x00006180,
- 0x1101702e, 0x0000c900, 0x1140072f, 0x00008298, 0x09e00000, 0x000080dd,
- 0xc1002000, 0x00009981, 0x00880eec, 0x0000df80, 0x00905200, 0x000081c4,
- 0x11c80005, 0x0000e180, 0x09012c05, 0x00006006, 0x00202836, 0x0000e000,
- 0x00001820, 0x00003403, 0x20002836, 0x0000e000, 0x10003004, 0x00003404,
- 0x10002836, 0x0000e000, 0x4019d020, 0x0000b502, 0x41401d25, 0x00006283,
- 0xa000a821, 0x00002480, 0x81400000, 0x0000e180, 0x0d013026, 0x00004900,
- 0x01400800, 0x0000e189, 0x0d413827, 0x0000c900, 0x0c403000, 0x00007900,
- 0x00001000, 0x00000980, 0x0c100001, 0x00006180, 0x71e02836, 0x0000e000,
- 0x0c800000, 0x0000e180, 0x0b003205, 0x0000e106, 0xd1c02205, 0x0000e080,
- 0x0cc00000, 0x00004980, 0x41401d25, 0x00006283, 0x1101702e, 0x00000900,
- 0x01401000, 0x0000e191, 0x01400800, 0x0000c989, 0x11820000, 0x0000f900,
- 0x00200000, 0x00000980, 0x001060ec, 0x00005780, 0x00007801, 0x00000080,
- 0xa2a02820, 0x0000e002, 0xc0000025, 0x0000b407, 0x01501800, 0x00007900,
- 0x00004040, 0x00008980, 0x1160072f, 0x0000809d, 0xc1000404, 0x000002d8,
- 0x09c00000, 0x00001980, 0x00880eec, 0x0000df80, 0x00905200, 0x000081c4,
- 0x40214d05, 0x00001503, 0x0c100001, 0x0000e188, 0x0c800000, 0x00004988,
- 0x0c403000, 0x0000f908, 0x00001000, 0x00000980, 0x00003809, 0x0000f010,
+ 0x009016ec, 0x0000df80, 0x00005000, 0x00000084, 0x0178b60d, 0x00001201,
+ 0x01000c05, 0x00001283, 0xfbb8320e, 0x00002090, 0x82000000, 0x00009988,
+ 0xffffffff, 0x00007f97, 0x01001405, 0x0000e283, 0x82203406, 0x00008910,
+ 0x01001d1a, 0x00001281, 0x82002208, 0x00001090, 0xc1001404, 0x00004488,
+ 0xbe600c04, 0x00000d8d, 0x08801d1a, 0x0000458d, 0x8560070d, 0x00000190,
+ 0x70403e0d, 0x00007902, 0x01800000, 0x00008004, 0x7040280d, 0x0000f902,
+ 0x01000000, 0x00000004, 0xffffffff, 0x00007f97, 0x01c00807, 0x00001082,
+ 0x01402a14, 0x00006002, 0x01800006, 0x00000084, 0xc000070d, 0x0000e583,
+ 0x01000004, 0x00000084, 0x70783e0d, 0x00005004, 0x00383000, 0x00008000,
+ 0x7078280d, 0x0000d004, 0x00382000, 0x00000000, 0x0000365d, 0x0000f010,
+ 0x0c800000, 0x00007900, 0x00307fc0, 0x00000980, 0x81001318, 0x00006080,
+ 0x0e800000, 0x00008980, 0x0b400000, 0x00006180, 0x0010603a, 0x00006100,
+ 0x0cc8000d, 0x00006180, 0x0a401800, 0x0000c980, 0x0ac00000, 0x000084c0,
+ 0x0f100800, 0x00006180, 0x0ed00002, 0x0000c980, 0x11ca0005, 0x00006180,
+ 0x8c904204, 0x00004100, 0x81000a12, 0x0000e080, 0x0030603b, 0x0000a080,
+ 0x0d100000, 0x0000f900, 0x00008016, 0x00008980, 0x11810000, 0x0000f900,
+ 0x00207fc0, 0x00008980, 0x12000000, 0x000084e4, 0x12800000, 0x000084ec,
+ 0x0b800000, 0x000082fc, 0x0a082001, 0x0000e180, 0x0a800802, 0x0000c980,
+ 0x0b38f717, 0x00008300, 0x0c40071f, 0x00000484, 0x10800000, 0x000084cc,
+ 0x8f504318, 0x0000e100, 0xcf50ca19, 0x00008900, 0x0fb8ef1c, 0x0000033c,
+ 0x0d402c00, 0x0000e180, 0x0d800000, 0x00004980, 0x0dc00000, 0x0000e180,
+ 0x0e083804, 0x00004980, 0x0e400000, 0x00006180, 0x11008010, 0x0000c900,
+ 0x11486f11, 0x00008235, 0x0ce8c502, 0x00000224, 0x8ac0a116, 0x00008402,
+ 0x8f281118, 0x0000841c, 0xce902204, 0x00009900, 0x01800000, 0x00006180,
+ 0x08001a04, 0x00006106, 0xc000070d, 0x0000e583, 0x00102006, 0x00002184,
+ 0x04189006, 0x0000e987, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x00003659, 0x00007010, 0x008056ec, 0x0000df80, 0x00007802, 0x00008084,
+ 0x70803a0d, 0x0000f902, 0x01800000, 0x00008004, 0x70402c0d, 0x00007902,
+ 0x01000000, 0x00000004, 0xffffffff, 0x00007f97, 0x01c00807, 0x00001082,
+ 0x01402a14, 0x00006002, 0x01800006, 0x00000084, 0x01000004, 0x00009084,
+ 0x70b83a0d, 0x0000d004, 0x00383000, 0x00008000, 0x70782c0d, 0x00005004,
+ 0x00382000, 0x00000000, 0x9740070d, 0x00007893, 0xb9800000, 0x00009b80,
+ 0x80000626, 0x00001583, 0x000036ee, 0x00007013, 0x009856ec, 0x0000df80,
+ 0x00007802, 0x00008084, 0xc008ab19, 0x00007900, 0x00000022, 0x00000582,
+ 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4,
+ 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc,
+ 0x0e000000, 0x000083e4, 0x000036a9, 0x0000f408, 0x0e800000, 0x000083ec,
+ 0x0f800000, 0x000083fc, 0xc0000319, 0x00007900, 0x00000002, 0x00008582,
+ 0x41400000, 0x000080d1, 0x81000800, 0x00001988, 0xc036eb19, 0x00007900,
+ 0x00000020, 0x00008582, 0x01a02404, 0x00006101, 0x81400800, 0x0000c988,
+ 0xffffffff, 0x00007f86, 0x01202405, 0x00009303, 0x81400000, 0x00006188,
+ 0x0a080801, 0x00004990, 0x0a403000, 0x00006190, 0x0a800800, 0x0000c990,
+ 0x000036aa, 0x00007008, 0x81002318, 0x0000e180, 0x8000202d, 0x0000a600,
+ 0x00000406, 0x00006583, 0xca70b204, 0x00008100, 0x08001a04, 0x00006106,
+ 0x0000102f, 0x0000b403, 0x0410202d, 0x0000e101, 0x00001030, 0x00003403,
+ 0x8100a000, 0x0000e190, 0x81014000, 0x0000c988, 0x11800000, 0x0000e180,
+ 0x000ff83e, 0x0000e501, 0x00001031, 0x0000e403, 0x8001483f, 0x0000b484,
+ 0x0000a02e, 0x00006596, 0x30000830, 0x0000b401, 0x00106046, 0x0000e100,
+ 0xe000183e, 0x0000b403, 0x0ac01000, 0x000084e0, 0x11d00002, 0x00006180,
+ 0x14ca0005, 0x00004980, 0x8bd02204, 0x0000e100, 0x0000182e, 0x00006413,
+ 0x81000a12, 0x0000e080, 0x00306047, 0x00002080, 0x10100000, 0x0000f900,
+ 0x00008016, 0x00008980, 0x14810000, 0x0000f900, 0x00207fc0, 0x00008980,
+ 0xcab0b616, 0x00006100, 0xcb003000, 0x00004981, 0x0f38ff1e, 0x00000334,
+ 0x92791021, 0x00000430, 0x13792723, 0x00008438, 0x13e10f25, 0x0000042c,
+ 0x1288cf20, 0x00008426, 0xd2d13226, 0x0000e100, 0x10402c00, 0x0000c980,
+ 0x10800000, 0x000084cc, 0x11083804, 0x0000e180, 0x11400000, 0x0000c980,
+ 0x14388f10, 0x00000504, 0x8c681021, 0x0000833c, 0x8c00e000, 0x00006180,
+ 0x8f814321, 0x00004080, 0x8ac8c116, 0x00008422, 0x00003640, 0x0000f400,
+ 0x52281126, 0x0000050c, 0xd1902204, 0x00001900, 0x8140a000, 0x00009980,
+ 0x81803000, 0x000002e4, 0x81002318, 0x0000e180, 0x8000202d, 0x0000a600,
+ 0x00000406, 0x00006583, 0xca70b204, 0x00008100, 0x08001a04, 0x00006106,
+ 0x0000102f, 0x0000b403, 0x0410202d, 0x0000e101, 0x00001030, 0x00003403,
+ 0x8100a000, 0x0000e190, 0x81014000, 0x0000c988, 0x11800000, 0x0000e180,
+ 0x000ff83e, 0x0000e501, 0x00001031, 0x0000e403, 0x8001483f, 0x0000b484,
+ 0x0000a02e, 0x00006596, 0x30000830, 0x0000b401, 0x00106046, 0x0000e100,
+ 0xe000183e, 0x0000b403, 0x0a800001, 0x000002ec, 0x12001000, 0x0000e180,
+ 0x11d00002, 0x00004980, 0x14ca0005, 0x00006180, 0x8bd02204, 0x0000c900,
+ 0x81000a12, 0x0000e080, 0x0000182e, 0x0000a413, 0x10100000, 0x0000f900,
+ 0x00008016, 0x00008980, 0x14810000, 0x0000f900, 0x00207fc0, 0x00008980,
+ 0x0a080801, 0x0000e180, 0x00306047, 0x0000e080, 0xcb003000, 0x00006181,
+ 0x0f00f01e, 0x0000c900, 0x0f410f1f, 0x00008426, 0x13391f22, 0x00000434,
+ 0x13b92f24, 0x0000043c, 0x12f90421, 0x00000428, 0x92493119, 0x0000842e,
+ 0x10402c00, 0x0000e180, 0x10800000, 0x00004980, 0x10c00000, 0x0000e180,
+ 0x11083804, 0x0000c980, 0x11400000, 0x0000e180, 0x14008010, 0x0000c900,
+ 0x14410f11, 0x00000306, 0x0fe02d02, 0x00000300, 0x8f814321, 0x0000e080,
+ 0xcab0b616, 0x00008900, 0x8ac8c116, 0x00008422, 0x00003640, 0x0000f400,
+ 0x52281126, 0x0000050c, 0xd1902204, 0x00001900, 0x7080380d, 0x00007902,
+ 0x01800000, 0x00008004, 0x70402a0d, 0x00007902, 0x01000000, 0x00000004,
+ 0xffffffff, 0x00007f97, 0x01c00807, 0x00001082, 0x01402a14, 0x00006002,
+ 0x01800006, 0x00000084, 0x01000004, 0x00009084, 0x70b8380d, 0x00005004,
+ 0x00383000, 0x00008000, 0x70782a0d, 0x00005004, 0x00382000, 0x00000000,
+ 0x9740070d, 0x00007893, 0xb9800000, 0x00009b80, 0x008886ec, 0x0000df80,
+ 0x00007801, 0x00008084, 0x003f9800, 0x00007900, 0x003ffffe, 0x00008280,
+ 0x0027f800, 0x00007900, 0x003ffffe, 0x00008280, 0x00400148, 0x00006180,
+ 0xc0c00000, 0x00004980, 0xc0000800, 0x00001981, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008800ec, 0x0000d780,
+ 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x08000000, 0x0000e180, 0x0c812c05, 0x00006002,
+ 0x00000405, 0x00006583, 0x08400000, 0x00008980, 0x08800000, 0x000082cc,
+ 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc, 0x0e000000, 0x000083e4,
+ 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc,
+ 0x00003766, 0x00007410, 0x10000000, 0x000084c4, 0x10800000, 0x000084cc,
+ 0x01406525, 0x00009281, 0x00002405, 0x00001583, 0x0000372f, 0x0000700b,
0x41401d25, 0x00006283, 0x11c80005, 0x00000980, 0x81400000, 0x0000e180,
0x4019d020, 0x0000e502, 0x01400800, 0x0000e189, 0x10003004, 0x00006404,
- 0x11820000, 0x0000f900, 0x00200000, 0x00000980, 0x71e02836, 0x0000e000,
- 0xa000a821, 0x0000b480, 0x0cc00000, 0x00006180, 0x0b003205, 0x0000e106,
- 0xd1c02205, 0x0000e080, 0x1101702e, 0x0000c900, 0x41401d25, 0x00006283,
- 0x1141782f, 0x00008900, 0x01401000, 0x0000e191, 0x01400800, 0x0000c989,
+ 0x0c403000, 0x00007900, 0x00001000, 0x00000980, 0x71e02836, 0x0000e000,
+ 0xa000a821, 0x0000b480, 0x0c100001, 0x00006180, 0x0b003205, 0x0000e106,
+ 0xd1c02205, 0x0000e080, 0x0c800000, 0x0000c980, 0x41401d25, 0x00006283,
+ 0x0cc00000, 0x00008980, 0x01401000, 0x0000e191, 0x01400800, 0x0000c989,
+ 0x11820000, 0x0000f900, 0x00200000, 0x00000980, 0x001060ec, 0x00005780,
+ 0x00007801, 0x00000080, 0xa2a02820, 0x0000e002, 0xc0000025, 0x0000b407,
+ 0x01501800, 0x00007900, 0x00004040, 0x00008980, 0x11397f2e, 0x00000414,
+ 0x09800000, 0x000082dc, 0xc1200404, 0x000000dd, 0x00880eec, 0x0000df80,
+ 0x00905200, 0x000081c4, 0x01410425, 0x00001283, 0x05401000, 0x0000e190,
+ 0x08003a08, 0x00006116, 0x04c00000, 0x00006190, 0x02002208, 0x00004890,
+ 0x00003710, 0x00007008, 0x02403008, 0x00007900, 0x00000318, 0x00008080,
+ 0x373b1cd2, 0x00007404, 0x04800800, 0x00007900, 0x00004000, 0x00000980,
+ 0x05004809, 0x00009900, 0x82002d00, 0x00009880, 0x70384a08, 0x00002080,
+ 0xffffffff, 0x00007fa7, 0x81504a09, 0x00001900, 0x00294c05, 0x00009503,
+ 0x0000378d, 0x0000f00b, 0x41401d25, 0x00006283, 0x0d800836, 0x00000380,
+ 0x81400000, 0x0000e180, 0x11c80005, 0x0000c980, 0x01400800, 0x0000e189,
+ 0x4019d020, 0x0000e502, 0x0dbbf836, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x71e02836, 0x0000e000, 0x10003004, 0x00003404, 0x0b003205, 0x0000e106,
+ 0xa000a821, 0x0000b480, 0xd1c02205, 0x0000e080, 0x0d000800, 0x00004980,
+ 0x41401d25, 0x00006283, 0x0d4728e5, 0x00000900, 0x01401000, 0x0000e191,
+ 0x01400800, 0x0000c989, 0x0c403000, 0x00007900, 0x00001000, 0x00000980,
+ 0x11820000, 0x0000f900, 0x00200000, 0x00000980, 0x001060ec, 0x00005780,
+ 0x00007801, 0x00000080, 0xa2a02820, 0x0000e002, 0xc0000025, 0x0000b407,
+ 0x01501800, 0x00007900, 0x00004040, 0x00008980, 0x0c100001, 0x00006180,
+ 0x0c800000, 0x0000c980, 0x0cc00000, 0x00006180, 0x1101702e, 0x0000c900,
+ 0x1140072f, 0x00008298, 0x09e00000, 0x000080dd, 0xc1002000, 0x00009981,
+ 0x00880eec, 0x0000df80, 0x00905200, 0x000081c4, 0x11c80005, 0x0000e180,
+ 0x09012c05, 0x00006006, 0x00202836, 0x0000e000, 0x00001820, 0x00003403,
+ 0x20002836, 0x0000e000, 0x10003004, 0x00003404, 0x10002836, 0x0000e000,
+ 0x4019d020, 0x0000b502, 0x41401d25, 0x00006283, 0xa000a821, 0x00002480,
+ 0x81400000, 0x0000e180, 0x0d013026, 0x00004900, 0x01400800, 0x0000e189,
+ 0x0d413827, 0x0000c900, 0x0c403000, 0x00007900, 0x00001000, 0x00000980,
+ 0x0c100001, 0x00006180, 0x71e02836, 0x0000e000, 0x0c800000, 0x0000e180,
+ 0x0b003205, 0x0000e106, 0xd1c02205, 0x0000e080, 0x0cc00000, 0x00004980,
+ 0x41401d25, 0x00006283, 0x1101702e, 0x00000900, 0x01401000, 0x0000e191,
+ 0x01400800, 0x0000c989, 0x11820000, 0x0000f900, 0x00200000, 0x00000980,
0x001060ec, 0x00005780, 0x00007801, 0x00000080, 0xa2a02820, 0x0000e002,
0xc0000025, 0x0000b407, 0x01501800, 0x00007900, 0x00004040, 0x00008980,
- 0x09800000, 0x000082dc, 0xc1200404, 0x000000dd, 0x00880eec, 0x0000df80,
- 0x00905200, 0x000081c4, 0x00400000, 0x00007900, 0x00008050, 0x00000980,
- 0xc0001000, 0x00006181, 0xc0e80800, 0x0000c980, 0x02000000, 0x000000ec,
- 0x02b99733, 0x00008024, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008800ec, 0x0000d780, 0x00905080, 0x000080c0,
+ 0x1160072f, 0x0000809d, 0xc1000404, 0x000002d8, 0x09c00000, 0x00001980,
+ 0x00880eec, 0x0000df80, 0x00905200, 0x000081c4, 0x40214d05, 0x00001503,
+ 0x0c100001, 0x0000e188, 0x0c800000, 0x00004988, 0x0c403000, 0x0000f908,
+ 0x00001000, 0x00000980, 0x00003741, 0x0000f010, 0x41401d25, 0x00006283,
+ 0x11c80005, 0x00000980, 0x81400000, 0x0000e180, 0x4019d020, 0x0000e502,
+ 0x01400800, 0x0000e189, 0x10003004, 0x00006404, 0x11820000, 0x0000f900,
+ 0x00200000, 0x00000980, 0x71e02836, 0x0000e000, 0xa000a821, 0x0000b480,
+ 0x0cc00000, 0x00006180, 0x0b003205, 0x0000e106, 0xd1c02205, 0x0000e080,
+ 0x1101702e, 0x0000c900, 0x41401d25, 0x00006283, 0x1141782f, 0x00008900,
+ 0x01401000, 0x0000e191, 0x01400800, 0x0000c989, 0x001060ec, 0x00005780,
+ 0x00007801, 0x00000080, 0xa2a02820, 0x0000e002, 0xc0000025, 0x0000b407,
+ 0x01501800, 0x00007900, 0x00004040, 0x00008980, 0x09800000, 0x000082dc,
+ 0xc1200404, 0x000000dd, 0x00880eec, 0x0000df80, 0x00905200, 0x000081c4,
+ 0x00400000, 0x00007900, 0x00008050, 0x00000980, 0xc0001000, 0x00006181,
+ 0xc0e80800, 0x0000c980, 0x02000000, 0x000000ec, 0x02b99733, 0x00008024,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008800ec, 0x0000d780, 0x00905080, 0x000080c0, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000001, 0x0000f080,
+ 0x11c00000, 0x00006180, 0x11801002, 0x00004900, 0x12000000, 0x00006180,
+ 0x00001847, 0x0000e106, 0x11001000, 0x00007900, 0x00020000, 0x00000980,
+ 0x11683800, 0x0000f900, 0x00044400, 0x00000980, 0x12400000, 0x00007900,
+ 0x00040000, 0x00000980, 0x12800000, 0x0000e180, 0xc0001847, 0x00006006,
+ 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8, 0x13c00000, 0x000085c0,
+ 0x14400000, 0x000005c8, 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8,
+ 0x15c00000, 0x000005e0, 0x16400000, 0x000005e8, 0x16c00000, 0x000085f0,
+ 0x17400000, 0x000005f8, 0x17c00000, 0x000006c0, 0x18400000, 0x000006c8,
+ 0x18c00000, 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008088ec, 0x00005780, 0x00005802, 0x00008080,
0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x00000001, 0x0000f080, 0x11c00000, 0x00006180, 0x11801002, 0x00004900,
- 0x12000000, 0x00006180, 0x00001847, 0x0000e106, 0x11001000, 0x00007900,
- 0x00020000, 0x00000980, 0x11683800, 0x0000f900, 0x00044400, 0x00000980,
- 0x12400000, 0x00007900, 0x00040000, 0x00000980, 0x12800000, 0x0000e180,
- 0xc0001847, 0x00006006, 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8,
- 0x13c00000, 0x000085c0, 0x14400000, 0x000005c8, 0x14c00000, 0x000085d0,
- 0x15400000, 0x000005d8, 0x15c00000, 0x000005e0, 0x16400000, 0x000005e8,
- 0x16c00000, 0x000085f0, 0x17400000, 0x000005f8, 0x17c00000, 0x000006c0,
- 0x18400000, 0x000006c8, 0x18c00000, 0x00001980, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008088ec, 0x00005780,
- 0x00005802, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x00000001, 0x0000f080, 0x018004e4, 0x000083b4,
- 0x0fc00000, 0x000083f8, 0x30800a02, 0x0000788e, 0x59c00000, 0x00001c86,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x10c80005, 0x00006180,
- 0x0e100001, 0x0000c980, 0x10804000, 0x00007900, 0x00207fc0, 0x00008980,
- 0x0e401900, 0x0000e180, 0x0e800000, 0x00004980, 0x0ec00000, 0x0000e180,
- 0x10002805, 0x00004900, 0x10f82502, 0x00000404, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009870ec, 0x0000d780,
- 0x00007800, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0xb9103206, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x38c5211a, 0x0000f404, 0x12387f0e, 0x00000504,
- 0x14009900, 0x00001980, 0x70002a49, 0x0000f902, 0x01000000, 0x00008000,
- 0x0f008811, 0x0000e100, 0x06c0803d, 0x00006000, 0x2b800c4d, 0x00007892,
- 0x61c00000, 0x00009c85, 0x38ce211a, 0x00007404, 0x12387f0e, 0x00000504,
- 0x14009900, 0x00001980, 0x0f008811, 0x0000e100, 0x06c0803d, 0x00006000,
- 0x70002a49, 0x0000f902, 0x01000000, 0x00008000, 0x1740803d, 0x00006800,
- 0x2b800c4d, 0x00007892, 0x61c00000, 0x00009c85, 0x05400000, 0x0000e180,
- 0x00206806, 0x0000e086, 0x05000000, 0x00006180, 0x82286806, 0x00006086,
- 0x04c00000, 0x0000e180, 0x04186806, 0x0000e187, 0x12b8370c, 0x0000001c,
- 0x11e94800, 0x00007900, 0x002e472c, 0x00000980, 0x12403807, 0x00001900,
- 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604,
- 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100, 0x00002004, 0x0000e586,
- 0x12003006, 0x0000e100, 0x04286804, 0x0000e087, 0x38ea1d3a, 0x0000f500,
- 0x86206804, 0x0000e887, 0x11802004, 0x00001900, 0x29005c0d, 0x00004389,
- 0x00605c0d, 0x00000098, 0x2a60440d, 0x00004389, 0x0060440d, 0x00000098,
- 0x04000c0d, 0x00004589, 0x8540140d, 0x0000808e, 0x01004c0d, 0x00004791,
- 0x0640740d, 0x00000688, 0x2960740d, 0x00004199, 0x0060640d, 0x00000088,
- 0x00e06c0d, 0x0000c791, 0x8580840d, 0x00008789, 0x55c0840d, 0x0000f8aa,
- 0x41c00000, 0x00009c88, 0x0000540d, 0x00001583, 0x45405000, 0x00001989,
- 0x00003958, 0x00007009, 0x0180600c, 0x0000e100, 0x08001a08, 0x00006106,
- 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x0288a000, 0x00007900,
- 0x00372cd0, 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980,
- 0x0140070d, 0x0000009c, 0x0000392e, 0x00007400, 0x82200500, 0x00008022,
- 0x83002800, 0x0000e180, 0x02401002, 0x0000c900, 0x00008c0d, 0x00001583,
- 0x04c0600c, 0x0000e108, 0x45406000, 0x00004989, 0x01000800, 0x00001989,
- 0x00003959, 0x00007008, 0x000038fb, 0x0000f000, 0x3913211a, 0x0000f404,
- 0x45400800, 0x00006181, 0x1200700e, 0x0000c900, 0x14009900, 0x00006180,
- 0x1440780f, 0x00004900, 0x54400c4d, 0x0000f88a, 0x01c00001, 0x00008080,
- 0xffffffff, 0x00007f86, 0xfb3826ec, 0x0000a000, 0x70203249, 0x00007902,
- 0x02600400, 0x00008001, 0x70205249, 0x0000a081, 0x70102a49, 0x0000a082,
- 0x00000804, 0x00009582, 0xffffffff, 0x00007f86, 0x0000040a, 0x00009583,
- 0xffffffff, 0x00007f86, 0x0000392f, 0x0000f010, 0x0000392f, 0x0000f008,
- 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x70102a49, 0x00002083,
- 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02ed2000, 0x0000f900,
- 0x0026280c, 0x00000980, 0x01800800, 0x0000e180, 0x08001a08, 0x00006106,
- 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901, 0x82381400, 0x00008024,
- 0x83001000, 0x00001980, 0x392f1c63, 0x00007100, 0x01c00000, 0x0000e180,
- 0x0200700e, 0x00004900, 0x70003a49, 0x0000a081, 0x0138670f, 0x00000038,
- 0x01804008, 0x0000e100, 0x41c10406, 0x0000c081, 0x393831c5, 0x0000f404,
- 0xffffffff, 0x00007f86, 0x02003807, 0x00001900, 0x00000c09, 0x00001583,
- 0x81408405, 0x0000e088, 0x817f1fe3, 0x00000910, 0x0000040a, 0x00009583,
- 0xee002605, 0x0000a080, 0xffffffff, 0x00007fa7, 0x01020404, 0x0000e391,
- 0x0105fc04, 0x00000289, 0x00003958, 0x0000f400, 0xffffffff, 0x00007f86,
- 0xee002605, 0x00002880, 0x395831f7, 0x00007404, 0x45401000, 0x00006181,
- 0x0100780f, 0x00004900, 0x0180700e, 0x00009900, 0x00003958, 0x00007000,
- 0x39583877, 0x0000f300, 0x45405800, 0x00001981, 0x00003958, 0x00007000,
- 0x00003958, 0x0000f200, 0x45406000, 0x00009981, 0x395838a8, 0x00007204,
- 0x45406800, 0x00001981, 0x00003958, 0x00007000, 0x39513886, 0x0000f100,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x00003958, 0x0000f200,
- 0x45404000, 0x00001981, 0x00003958, 0x0000f200, 0x45404800, 0x00009981,
- 0x45407800, 0x00009981, 0x01000000, 0x00001981, 0x86202014, 0x00006001,
- 0x00001015, 0x00003486, 0x29c00000, 0x0000e180, 0x00186814, 0x0000e186,
- 0x29000000, 0x00008ad4, 0x29800000, 0x00006180, 0x39c09813, 0x0000c900,
- 0x39a08000, 0x000004e1, 0x1bc00000, 0x0000e181, 0xdbd712e2, 0x0000c900,
- 0x39512357, 0x00007404, 0x53000ee3, 0x00006081, 0x3b80a815, 0x0000c900,
- 0x3b40a014, 0x00009900, 0x00003958, 0x0000f200, 0x45408000, 0x00006181,
- 0x04c0600c, 0x00004900, 0x00003951, 0x00007000, 0x0bc00004, 0x00006180,
- 0x0b400020, 0x0000c980, 0x0b006000, 0x00007900, 0x00004000, 0x00000980,
- 0x00000001, 0x00007480, 0x000858ec, 0x0000d780, 0x00005000, 0x00008080,
- 0x0b800000, 0x00006180, 0x0019402f, 0x00006106, 0x00040805, 0x00009582,
- 0x40000528, 0x00009583, 0xffffffff, 0x00007f86, 0x00003999, 0x00007010,
- 0x00003999, 0x00007008, 0x72b824ec, 0x00002180, 0x01400e28, 0x00006281,
- 0x0bc14007, 0x00002184, 0x00000405, 0x00009583, 0xffffffff, 0x00007f86,
- 0x01000804, 0x00009080, 0x00003986, 0x00007208, 0x72b824ec, 0x0000a980,
- 0x68b82407, 0x00002100, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x64d8222a, 0x00007872, 0x59c00000, 0x00001c8c, 0x68b82407, 0x0000a180,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x64d8222a, 0x00007872,
- 0x01c00001, 0x00008080, 0xffffffff, 0x00007f86, 0x72b824ec, 0x0000a100,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x01000804, 0x00009080,
- 0x72b824ec, 0x00002900, 0x61800405, 0x0000788a, 0x09c00000, 0x00001c8c,
- 0x80000204, 0x00001582, 0x72b826ec, 0x00002190, 0xffffffff, 0x00007f86,
- 0x3999396b, 0x00007503, 0x01000804, 0x00001090, 0x72b826ec, 0x0000a990,
- 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x01c00000, 0x0000e180, 0x0020c80a, 0x0000e086,
- 0x01800000, 0x00006180, 0x8228c80a, 0x00006086, 0x1280c018, 0x00006100,
- 0x0418c80a, 0x0000e187, 0x02c0500a, 0x00001900, 0x11f10000, 0x00007900,
- 0x00372cd2, 0x00008980, 0x1240580b, 0x00001900, 0xffffffff, 0x00007ff7,
- 0x82c04cec, 0x00007902, 0x02000000, 0x00000604, 0xffffffff, 0x00007fa7,
- 0x02804809, 0x0000e100, 0x00002008, 0x0000e586, 0x1200500a, 0x0000e100,
- 0x0428c808, 0x0000e087, 0x39b21d3a, 0x0000f500, 0x8620c808, 0x0000e887,
- 0x11804008, 0x00001900, 0x00401c19, 0x00004588, 0x80802419, 0x0000818a,
- 0x39b630f3, 0x00007204, 0x06001000, 0x00009980, 0x000039d4, 0x00007400,
- 0x01800c1c, 0x0000e283, 0x41c01800, 0x00000981, 0x81800800, 0x00001991,
- 0x01800c1c, 0x0000e283, 0x02000000, 0x00000980, 0x02400000, 0x000000e8,
- 0x02c00000, 0x000080f0, 0x03400000, 0x000000f8, 0x03c00000, 0x000081c0,
- 0x04400000, 0x000001c8, 0x000039d4, 0x0000f410, 0x04e02000, 0x000080de,
- 0x81801000, 0x00001991, 0x000039d4, 0x00007400, 0x0180241c, 0x00001283,
- 0x81802000, 0x00001991, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
- 0x02b51800, 0x0000f900, 0x00372cd2, 0x00008980, 0x02fa9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x0180c018, 0x0000e100, 0x08001a08, 0x00006106,
- 0x01400719, 0x0000009c, 0x39d41c63, 0x00007500, 0x82200500, 0x00008022,
- 0x83002800, 0x0000e180, 0x02401002, 0x0000c900, 0x29c00000, 0x0000e180,
- 0x00001007, 0x00006486, 0x29000000, 0x0000e180, 0x80000006, 0x0000e401,
- 0x29400000, 0x00006180, 0x0018c806, 0x0000e186, 0x29800000, 0x00000edc,
- 0x39a08000, 0x000004e1, 0x1bc00000, 0x0000e181, 0xdbd712e2, 0x0000c900,
- 0x39e22357, 0x0000f404, 0x53000ee3, 0x00006081, 0x3b803807, 0x0000c900,
- 0x3b403006, 0x00009900, 0xc0002800, 0x0000e181, 0x00101801, 0x0000e586,
- 0xc0c00800, 0x0000e180, 0x00180801, 0x00006505, 0xc0000001, 0x00006c07,
- 0x008806ec, 0x00005f80, 0x00905080, 0x00000284, 0x29c00000, 0x0000e180,
- 0x08001a05, 0x0000e106, 0x01c01000, 0x0000f900, 0x00080000, 0x00000980,
- 0x29000000, 0x0000e180, 0x04102807, 0x0000e101, 0x80383aec, 0x0000d600,
+ 0x00000001, 0x0000f080, 0x018004e4, 0x000083b4, 0x0fc00000, 0x000083f8,
+ 0xfe800a02, 0x0000788f, 0x19800000, 0x00001c80, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x10c80005, 0x00006180, 0x0e100001, 0x0000c980,
+ 0x10804000, 0x00007900, 0x00207fc0, 0x00008980, 0x0e401900, 0x0000e180,
+ 0x0e800000, 0x00004980, 0x0ec00000, 0x0000e180, 0x10002805, 0x00004900,
+ 0x10f82502, 0x00000404, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009870ec, 0x0000d780, 0x00007800, 0x00008080,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0xb9103206, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x37fd1fce, 0x0000f404, 0x12387f0e, 0x00000504, 0x14009900, 0x00001980,
+ 0x70002a49, 0x0000f902, 0x01000000, 0x00008000, 0x0f008811, 0x0000e100,
+ 0x06c0803d, 0x00006000, 0xf9800c4d, 0x0000f893, 0x21800000, 0x00001b8f,
+ 0x38061fce, 0x00007404, 0x12387f0e, 0x00000504, 0x14009900, 0x00001980,
+ 0x0f008811, 0x0000e100, 0x06c0803d, 0x00006000, 0x70002a49, 0x0000f902,
+ 0x01000000, 0x00008000, 0x1740803d, 0x00006800, 0xf9800c4d, 0x0000f893,
+ 0x21800000, 0x00001b8f, 0x05400000, 0x0000e180, 0x00206806, 0x0000e086,
+ 0x05000000, 0x00006180, 0x82286806, 0x00006086, 0x04c00000, 0x0000e180,
+ 0x04186806, 0x0000e187, 0x12b8370c, 0x0000001c, 0x11e94800, 0x00007900,
+ 0x002e472c, 0x00000980, 0x12403807, 0x00001900, 0xffffffff, 0x00007ff7,
+ 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
+ 0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x12003006, 0x0000e100,
+ 0x04286804, 0x0000e087, 0x38221bee, 0x00007500, 0x86206804, 0x0000e887,
+ 0x11802004, 0x00001900, 0x10005c0d, 0x00004389, 0x00605c0d, 0x00000098,
+ 0x1160440d, 0x0000c389, 0x0060440d, 0x00000098, 0x04000c0d, 0x00004589,
+ 0x8540140d, 0x0000808e, 0x01004c0d, 0x00004791, 0x0640740d, 0x00000688,
+ 0x1060740d, 0x00004199, 0x0060640d, 0x00000088, 0x00e06c0d, 0x0000c791,
+ 0x8580840d, 0x00008789, 0x23c0840d, 0x000078aa, 0x01c00000, 0x00001c82,
+ 0x0000540d, 0x00001583, 0x45405000, 0x00001989, 0x00003890, 0x00007009,
+ 0x0180600c, 0x0000e100, 0x08001a08, 0x00006106, 0x03000000, 0x0000f900,
+ 0x00008040, 0x00008980, 0x0288a000, 0x00007900, 0x00372cd0, 0x00000980,
+ 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x0140070d, 0x0000009c,
+ 0x00003866, 0x0000f400, 0x82200500, 0x00008022, 0x83002800, 0x0000e180,
+ 0x02401002, 0x0000c900, 0x00008c0d, 0x00001583, 0x04c0600c, 0x0000e108,
+ 0x45406000, 0x00004989, 0x01000800, 0x00001989, 0x00003891, 0x00007008,
+ 0x00003833, 0x00007000, 0x384b1fce, 0x00007404, 0x45400800, 0x00006181,
+ 0x1200700e, 0x0000c900, 0x14009900, 0x00006180, 0x1440780f, 0x00004900,
+ 0x22400c4d, 0x0000788a, 0x01c00001, 0x00008080, 0xffffffff, 0x00007f86,
+ 0xfb3826ec, 0x0000a000, 0x70203249, 0x00007902, 0x02600400, 0x00008001,
+ 0x70205249, 0x0000a081, 0x70102a49, 0x0000a082, 0x00000804, 0x00009582,
+ 0xffffffff, 0x00007f86, 0x0000040a, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x00003867, 0x00007010, 0x00003867, 0x00007008, 0x03000000, 0x0000f900,
+ 0x00008040, 0x00008980, 0x70102a49, 0x00002083, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02ed2000, 0x0000f900, 0x0026280c, 0x00000980,
+ 0x01800800, 0x0000e180, 0x08001a08, 0x00006106, 0x01c00000, 0x0000e180,
+ 0xc2300600, 0x0000c901, 0x82381400, 0x00008024, 0x83001000, 0x00001980,
+ 0x38671b17, 0x00007100, 0x01c00000, 0x0000e180, 0x0200700e, 0x00004900,
+ 0x70003a49, 0x0000a081, 0x0138670f, 0x00000038, 0x01804008, 0x0000e100,
+ 0x41c10406, 0x0000c081, 0x38703095, 0x0000f404, 0xffffffff, 0x00007f86,
+ 0x02003807, 0x00001900, 0x00000c09, 0x00001583, 0x81408405, 0x0000e088,
+ 0x817f1fe3, 0x00000910, 0x0000040a, 0x00009583, 0xee002605, 0x0000a080,
+ 0xffffffff, 0x00007fa7, 0x01020404, 0x0000e391, 0x0105fc04, 0x00000289,
+ 0x00003890, 0x0000f400, 0xffffffff, 0x00007f86, 0xee002605, 0x00002880,
+ 0x389030c7, 0x0000f404, 0x45401000, 0x00006181, 0x0100780f, 0x00004900,
+ 0x0180700e, 0x00009900, 0x00003890, 0x00007000, 0x389037af, 0x0000f300,
+ 0x45405800, 0x00001981, 0x00003890, 0x00007000, 0x00003890, 0x0000f200,
+ 0x45406000, 0x00009981, 0x389037e0, 0x00007204, 0x45406800, 0x00001981,
+ 0x00003890, 0x00007000, 0x388937be, 0x0000f100, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x00003890, 0x0000f200, 0x45404000, 0x00001981,
+ 0x00003890, 0x0000f200, 0x45404800, 0x00009981, 0x45407800, 0x00009981,
+ 0x01000000, 0x00001981, 0x86202014, 0x00006001, 0x00001015, 0x00003486,
+ 0x29c00000, 0x0000e180, 0x00186814, 0x0000e186, 0x29000000, 0x00008ad4,
+ 0x29800000, 0x00006180, 0x39c09813, 0x0000c900, 0x39a08000, 0x000004e1,
+ 0x17c00000, 0x0000e181, 0x929712e2, 0x0000c900, 0x3889220a, 0x0000f404,
+ 0x53000ee3, 0x00006081, 0x3b80a815, 0x0000c900, 0x3b40a014, 0x00009900,
+ 0x00003890, 0x0000f200, 0x45408000, 0x00006181, 0x04c0600c, 0x00004900,
+ 0x00003889, 0x0000f000, 0x0bc00004, 0x00006180, 0x0b400020, 0x0000c980,
+ 0x0b006000, 0x00007900, 0x00004000, 0x00000980, 0x00000001, 0x00007480,
+ 0x000858ec, 0x0000d780, 0x00005000, 0x00008080, 0x0b800000, 0x00006180,
+ 0x0019402f, 0x00006106, 0x00040805, 0x00009582, 0x40000528, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x000038d1, 0x0000f010, 0x000038d1, 0x0000f008,
+ 0x72b824ec, 0x00002180, 0x01400e28, 0x00006281, 0x0bc14007, 0x00002184,
+ 0x00000405, 0x00009583, 0xffffffff, 0x00007f86, 0x01000804, 0x00009080,
+ 0x000038be, 0x00007208, 0x72b824ec, 0x0000a980, 0x68b82407, 0x00002100,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x32d8222a, 0x00007872,
+ 0x19c00000, 0x00009c86, 0x68b82407, 0x0000a180, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0x32d8222a, 0x00007872, 0x01c00001, 0x00008080,
+ 0xffffffff, 0x00007f86, 0x72b824ec, 0x0000a100, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0x01000804, 0x00009080, 0x72b824ec, 0x00002900,
+ 0x2f800405, 0x0000788a, 0xc9c00000, 0x00001c85, 0x80000204, 0x00001582,
+ 0x72b826ec, 0x00002190, 0xffffffff, 0x00007f86, 0x38d138a3, 0x0000f503,
+ 0x01000804, 0x00001090, 0x72b826ec, 0x0000a990, 0xffc00000, 0x00001980,
+ 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x01c00000, 0x0000e180, 0x0020c80a, 0x0000e086, 0x01800000, 0x00006180,
+ 0x8228c80a, 0x00006086, 0x1280c018, 0x00006100, 0x0418c80a, 0x0000e187,
+ 0x02c0500a, 0x00001900, 0x11f10000, 0x00007900, 0x00372cd2, 0x00008980,
+ 0x1240580b, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c04cec, 0x00007902,
+ 0x02000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x02804809, 0x0000e100,
+ 0x00002008, 0x0000e586, 0x1200500a, 0x0000e100, 0x0428c808, 0x0000e087,
+ 0x38ea1bee, 0x0000f500, 0x8620c808, 0x0000e887, 0x11804008, 0x00001900,
+ 0x00401c19, 0x00004588, 0x80802419, 0x0000818a, 0x38ee2fb5, 0x00007204,
+ 0x06001000, 0x00009980, 0x0000390c, 0x00007400, 0x01800c1c, 0x0000e283,
+ 0x41c01800, 0x00000981, 0x81800800, 0x00001991, 0x01800c1c, 0x0000e283,
+ 0x02000000, 0x00000980, 0x02400000, 0x000000e8, 0x02c00000, 0x000080f0,
+ 0x03400000, 0x000000f8, 0x03c00000, 0x000081c0, 0x04400000, 0x000001c8,
+ 0x0000390c, 0x0000f410, 0x04e02000, 0x000080de, 0x81801000, 0x00001991,
+ 0x0000390c, 0x00007400, 0x0180241c, 0x00001283, 0x81802000, 0x00001991,
+ 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x02b51800, 0x0000f900,
+ 0x00372cd2, 0x00008980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980,
+ 0x0180c018, 0x0000e100, 0x08001a08, 0x00006106, 0x01400719, 0x0000009c,
+ 0x390c1b17, 0x0000f500, 0x82200500, 0x00008022, 0x83002800, 0x0000e180,
+ 0x02401002, 0x0000c900, 0x29c00000, 0x0000e180, 0x00001007, 0x00006486,
+ 0x29000000, 0x0000e180, 0x80000006, 0x0000e401, 0x29400000, 0x00006180,
+ 0x0018c806, 0x0000e186, 0x29800000, 0x00000edc, 0x39a08000, 0x000004e1,
+ 0x17c00000, 0x0000e181, 0x929712e2, 0x0000c900, 0x391a220a, 0x00007404,
+ 0x53000ee3, 0x00006081, 0x3b803807, 0x0000c900, 0x3b403006, 0x00009900,
+ 0xc0002800, 0x0000e181, 0x00101801, 0x0000e586, 0xc0c00800, 0x0000e180,
+ 0x00180801, 0x00006505, 0xc0000001, 0x00006c07, 0x008806ec, 0x00005f80,
+ 0x00905080, 0x00000284, 0x29c00000, 0x0000e180, 0x08001a05, 0x0000e106,
+ 0x01c01000, 0x0000f900, 0x00080000, 0x00000980, 0x29000000, 0x0000e180,
+ 0x04102807, 0x0000e101, 0x80383aec, 0x0000d600, 0x00000280, 0x00000180,
+ 0x800042ec, 0x00007902, 0x02400000, 0x00000600, 0x800052ec, 0x0000f902,
+ 0x02c00000, 0x00008600, 0x01c00002, 0x00000ad4, 0x29800000, 0x00006180,
+ 0x82202007, 0x00006086, 0x3b400000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x52000410, 0x000005fe, 0x929712e2, 0x0000e100, 0x53000ee3, 0x00004881,
+ 0x3938220a, 0x00007404, 0x39f83f09, 0x00008e38, 0x3980500a, 0x00001900,
+ 0x00400000, 0x00007900, 0x00008040, 0x00008980, 0x02000808, 0x00006380,
+ 0xc0001000, 0x00008981, 0xc0e80800, 0x00009980, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008800ec, 0x0000d780,
+ 0x00905080, 0x000080c0, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x08001a06, 0x00006906, 0x01401000, 0x00007900,
+ 0x00080000, 0x00000980, 0x04103005, 0x0000e901, 0x80382aec, 0x00005600,
0x00000280, 0x00000180, 0x800042ec, 0x00007902, 0x02400000, 0x00000600,
- 0x800052ec, 0x0000f902, 0x02c00000, 0x00008600, 0x01c00002, 0x00000ad4,
- 0x29800000, 0x00006180, 0x82202007, 0x00006086, 0x3b400000, 0x0000f900,
- 0x00004000, 0x00000980, 0x52000410, 0x000006fe, 0xdbd712e2, 0x0000e100,
- 0x53000ee3, 0x00004881, 0x3a002357, 0x0000f404, 0x39f83f09, 0x00008e38,
- 0x3980500a, 0x00001900, 0x00400000, 0x00007900, 0x00008040, 0x00008980,
- 0x02000808, 0x00006380, 0xc0001000, 0x00008981, 0xc0e80800, 0x00009980,
+ 0x800052ec, 0x0000f902, 0x02c00000, 0x00008600, 0xffffffff, 0x00007f97,
+ 0x01000c08, 0x00009283, 0x00003946, 0x0000f00b, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x01000c11, 0x0000e283, 0x0bc80005, 0x00008980,
+ 0x01004809, 0x0000e108, 0x01008009, 0x00004790, 0x0b804000, 0x00007900,
+ 0x00207fc0, 0x00008980, 0x0a800000, 0x000082ec, 0x0a011022, 0x0000e100,
+ 0x09100001, 0x00004980, 0x09401900, 0x00006180, 0x09800000, 0x0000c980,
+ 0x09c00000, 0x00006180, 0x0b010020, 0x00004900, 0x0b681721, 0x0000823c,
+ 0x0a402004, 0x00001900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009848ec, 0x00005780, 0x00007800, 0x00008080,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x01400000, 0x00008adc, 0x29000000, 0x0000e180, 0x00111805, 0x00006186,
+ 0x29400000, 0x00000ad8, 0x3bb01001, 0x00006180, 0x39c00000, 0x00004980,
+ 0x39a08000, 0x000004e1, 0x3977220a, 0x0000f404, 0x17c00000, 0x0000e181,
+ 0x929712e2, 0x0000c900, 0x3b402805, 0x0000e100, 0x53000ee3, 0x00004881,
+ 0xc0000800, 0x00006181, 0x00400028, 0x0000c980, 0xc0c00000, 0x00001980,
+ 0x008806ec, 0x00005f80, 0x00005000, 0x00000084, 0x01800000, 0x0000f900,
+ 0x000040c0, 0x00000980, 0x01400002, 0x0000e180, 0x0103c002, 0x00004980,
+ 0x81b61d00, 0x00007900, 0x00000002, 0x00000080, 0xc1680500, 0x0000e100,
+ 0x01001804, 0x0000e007, 0x723830ec, 0x00005600, 0x00382800, 0x00008000,
+ 0x723a68ec, 0x00005600, 0x00382000, 0x00000000, 0x81d722e4, 0x00009900,
+ 0x00c002ec, 0x0000df80, 0x138c580b, 0x00009684, 0x81680500, 0x00001900,
+ 0xec002605, 0x0000a081, 0xffffffff, 0x00007fa7, 0x01804404, 0x00001283,
+ 0x0140b404, 0x00001289, 0x000039e3, 0x00007011, 0x00008405, 0x00001583,
+ 0x81680500, 0x0000e108, 0x1cc00000, 0x00004988, 0xec202e05, 0x0000a088,
+ 0x000039da, 0x0000f010, 0x81000a4d, 0x0000e282, 0x1c82684d, 0x00000900,
+ 0x1c001000, 0x0000f900, 0x00020000, 0x00000980, 0x1d000000, 0x0000e188,
+ 0x08102a05, 0x00006100, 0x1d800000, 0x00006188, 0x00102873, 0x0000e106,
+ 0x000039be, 0x0000f410, 0x1c683800, 0x00007900, 0x00044400, 0x00000980,
+ 0x1dc00000, 0x0000e188, 0xc0001873, 0x0000e006, 0x1d480000, 0x0000f900,
+ 0x00010000, 0x00000980, 0x0000e0ec, 0x00005780, 0x00005802, 0x00008080,
+ 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
+ 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
+ 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4,
+ 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23c00000, 0x000088f8,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008800ec, 0x0000d780, 0x00905080, 0x000080c0, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x08001a06, 0x00006906,
- 0x01401000, 0x00007900, 0x00080000, 0x00000980, 0x04103005, 0x0000e901,
- 0x80382aec, 0x00005600, 0x00000280, 0x00000180, 0x800042ec, 0x00007902,
- 0x02400000, 0x00000600, 0x800052ec, 0x0000f902, 0x02c00000, 0x00008600,
- 0xffffffff, 0x00007f97, 0x01000c08, 0x00009283, 0x00003a0e, 0x0000f00b,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x01000c11, 0x0000e283,
- 0x0bc80005, 0x00008980, 0x01004809, 0x0000e108, 0x01008009, 0x00004790,
- 0x0b804000, 0x00007900, 0x00207fc0, 0x00008980, 0x0a800000, 0x000082ec,
- 0x0a011022, 0x0000e100, 0x09100001, 0x00004980, 0x09401900, 0x00006180,
- 0x09800000, 0x0000c980, 0x09c00000, 0x00006180, 0x0b010020, 0x00004900,
- 0x0b681721, 0x0000823c, 0x0a402004, 0x00001900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009848ec, 0x00005780,
- 0x00007800, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x01400000, 0x00008adc, 0x29000000, 0x0000e180,
- 0x00111805, 0x00006186, 0x29400000, 0x00000ad8, 0x3bb01001, 0x00006180,
- 0x39c00000, 0x00004980, 0x39a08000, 0x000004e1, 0x3a3f2357, 0x0000f404,
- 0x1bc00000, 0x0000e181, 0xdbd712e2, 0x0000c900, 0x3b402805, 0x0000e100,
- 0x53000ee3, 0x00004881, 0xc0000800, 0x00006181, 0x00400028, 0x0000c980,
- 0xc0c00000, 0x00001980, 0x008806ec, 0x00005f80, 0x00005000, 0x00000084,
- 0x01800000, 0x0000f900, 0x000040c0, 0x00000980, 0x01400002, 0x0000e180,
- 0x0103c002, 0x00004980, 0x81b61d00, 0x00007900, 0x00000002, 0x00000080,
- 0xc1680500, 0x0000e100, 0x01001804, 0x0000e007, 0x723830ec, 0x00005600,
- 0x00382800, 0x00008000, 0x723a68ec, 0x00005600, 0x00382000, 0x00000000,
- 0x81d722e4, 0x00009900, 0x00c002ec, 0x0000df80, 0x1392980b, 0x00009684,
- 0x81680500, 0x00001900, 0xec002605, 0x0000a081, 0xffffffff, 0x00007fa7,
- 0x01804404, 0x00001283, 0x0140b404, 0x00001289, 0x00003aab, 0x00007011,
- 0x00008405, 0x00001583, 0x81680500, 0x0000e108, 0x1cc00000, 0x00004988,
- 0xec202e05, 0x0000a088, 0x00003aa2, 0x0000f010, 0x81000a4d, 0x0000e282,
- 0x1c82684d, 0x00000900, 0x1c001000, 0x0000f900, 0x00020000, 0x00000980,
- 0x1d000000, 0x0000e188, 0x08102a05, 0x00006100, 0x1d800000, 0x00006188,
- 0x00102873, 0x0000e106, 0x00003a86, 0x00007410, 0x1c683800, 0x00007900,
- 0x00044400, 0x00000980, 0x1dc00000, 0x0000e188, 0xc0001873, 0x0000e006,
- 0x1d480000, 0x0000f900, 0x00010000, 0x00000980, 0x0000e0ec, 0x00005780,
- 0x00005802, 0x00008080, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
+ 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb9103a07, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x0000e0ec, 0x00005780,
+ 0x00005802, 0x00008080, 0x1d000080, 0x0000e180, 0x1d400000, 0x0000c980,
+ 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
@@ -26496,13655 +26929,19566 @@ ARRAY_DECL u32 init_val[] = {
0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
0xb9103a07, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x0000e0ec, 0x00005780, 0x00005802, 0x00008080, 0x1d000080, 0x0000e180,
- 0x1d400000, 0x0000c980, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
- 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
- 0x23000000, 0x000088f4, 0x23c00000, 0x000088f8, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
- 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0xb9103a07, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x40001008, 0x00006403, 0x20005009, 0x00003406,
- 0x00501800, 0x0000f900, 0x0000c450, 0x00000980, 0xa0000819, 0x0000e400,
- 0xc0005008, 0x0000b407, 0x40e04c05, 0x000080c3, 0x008806ec, 0x00005f80,
- 0x00905080, 0x00000484, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
- 0x0357284d, 0x00006200, 0x01800000, 0x00008980, 0x0292d800, 0x0000f900,
- 0x0005a686, 0x00000980, 0x02cdd800, 0x0000f900, 0x003fe404, 0x00000980,
- 0x01c00000, 0x0000e180, 0x08001a08, 0x00006106, 0xec203605, 0x00002080,
- 0x82200500, 0x00008022, 0x3aba1c63, 0x0000f500, 0x02401702, 0x000080b1,
- 0x0140680d, 0x00009900, 0x0c000000, 0x0000f900, 0x000040c0, 0x00000980,
- 0x01c00002, 0x00006180, 0x014bc002, 0x00004980, 0x8c361d00, 0x00007900,
- 0x00000002, 0x00000080, 0xc1e80500, 0x00006100, 0x01001805, 0x00006007,
- 0x723980ec, 0x00005600, 0x00383800, 0x00000000, 0x723a68ec, 0x00005600,
- 0x00382800, 0x00008000, 0x811722e4, 0x00009900, 0x00c002ec, 0x0000df80,
- 0x1396480b, 0x00009684, 0x8c280500, 0x00001900, 0xec003630, 0x00002081,
- 0xffffffff, 0x00007fa7, 0x01404406, 0x00009283, 0x0157284d, 0x00006210,
- 0x01800000, 0x00000990, 0x03000000, 0x00007910, 0x00008040, 0x00008980,
- 0x00003ade, 0x00007008, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x40001008, 0x00006403, 0x20005009, 0x00003406, 0x00501800, 0x0000f900,
+ 0x0000c450, 0x00000980, 0xa0000819, 0x0000e400, 0xc0005008, 0x0000b407,
+ 0x40e04c05, 0x000080c3, 0x008806ec, 0x00005f80, 0x00905080, 0x00000484,
+ 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x0357284d, 0x00006200,
+ 0x01800000, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
0x02cdd800, 0x0000f900, 0x003fe404, 0x00000980, 0x01c00000, 0x0000e180,
- 0x08001a08, 0x00006106, 0xec203630, 0x00002080, 0x3aeb1c63, 0x00007500,
- 0x83001000, 0x00006180, 0xc2300600, 0x0000c901, 0x02600702, 0x00008022,
- 0x00003aeb, 0x0000f000, 0x0c00b406, 0x00001281, 0x00008430, 0x00001583,
- 0xc0004800, 0x00006191, 0xc0c02800, 0x0000c990, 0x00501800, 0x00007910,
- 0x0000c450, 0x00000980, 0x00003aeb, 0x00007008, 0x40001008, 0x00006403,
- 0x20005009, 0x00003406, 0xc0005008, 0x0000e407, 0xa0000819, 0x0000b400,
- 0x008806ec, 0x00005f80, 0x00905080, 0x00000484, 0x8c280500, 0x00001900,
- 0xec203630, 0x00002080, 0x08001000, 0x0000f900, 0x00080000, 0x00000980,
- 0xffffffff, 0x00007f97, 0x08003205, 0x0000e100, 0x04003020, 0x00003101,
- 0x803902ec, 0x0000d600, 0x00000280, 0x00000180, 0x8004a2ec, 0x00007902,
- 0x25400000, 0x00000600, 0x8004b2ec, 0x0000f902, 0x25c00000, 0x00008600,
- 0xffffffff, 0x00007f97, 0x01800c94, 0x00001283, 0x25000894, 0x0000e388,
- 0x24000000, 0x00008908, 0x2482684d, 0x0000e108, 0xe4001000, 0x0000c989,
- 0x00003b2f, 0x00007010, 0x24c00000, 0x0000f900, 0x00014040, 0x00000980,
- 0x00102893, 0x0000e906, 0x24400000, 0x00007900, 0x00008000, 0x00000980,
- 0xc0001893, 0x0000e806, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009120ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x01c01000, 0x0000f900, 0x00080000, 0x00000980, 0x04102807, 0x00006901,
- 0x80383aec, 0x0000d600, 0x00000280, 0x00000180, 0x8004a2ec, 0x00007902,
- 0x25400000, 0x00000600, 0x8004b2ec, 0x0000f902, 0x25c00000, 0x00008600,
- 0xffffffff, 0x00007f97, 0x01800c94, 0x00001283, 0x29c00000, 0x00006190,
- 0x29000000, 0x00004990, 0x29400000, 0x0000e190, 0x29800000, 0x0000c990,
- 0x00003b0d, 0x00007008, 0x3b400000, 0x0000f900, 0x00004000, 0x00000980,
- 0x3b881001, 0x0000e180, 0x39c4a895, 0x0000c900, 0x39a08796, 0x000004a1,
- 0x3b262357, 0x0000f404, 0x1bc00000, 0x0000e181, 0xdbd712e2, 0x0000c900,
- 0x53000ee3, 0x00001881, 0x1c80074d, 0x0000878c, 0x00102873, 0x00006906,
- 0x1c001000, 0x0000f900, 0x00020000, 0x00000980, 0x1c683800, 0x00007900,
- 0x00044400, 0x00000980, 0xc0001873, 0x00006806, 0xd0000a4d, 0x0000f88e,
- 0xa1c00000, 0x00001d8a, 0x01808800, 0x00009981, 0x24c00000, 0x0000f900,
- 0x00014000, 0x00008980, 0x24000000, 0x0000e100, 0x00102893, 0x00006106,
- 0x24400000, 0x0000e180, 0xc0001893, 0x00006006, 0x24a00f4d, 0x00008983,
- 0xa4603406, 0x00001901, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008920ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xb9102204, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x1d480000, 0x0000f900, 0x00010000, 0x00000980, 0x1d000000, 0x000087d8,
- 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
- 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8,
- 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8, 0x21c00000, 0x000008e0,
- 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0, 0x23400000, 0x000008f8,
- 0x23c00000, 0x00009980, 0x00003b30, 0x0000f400, 0x0000e0ec, 0x00005780,
- 0x00005802, 0x00008080, 0x01800800, 0x00001981, 0x1d000080, 0x0000e180,
- 0x1d400000, 0x0000c980, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
- 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
- 0x00003b50, 0x0000f400, 0x23000000, 0x000088f4, 0x23c00000, 0x000088f8,
- 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x000800ec, 0x00005780,
- 0x00905100, 0x000080c0, 0x04000000, 0x000001cc, 0x04787f0e, 0x00008108,
- 0x00000001, 0x00007480, 0xc0001000, 0x00006181, 0xc0e80800, 0x0000c980,
- 0x80602404, 0x00001901, 0x03403006, 0x00006100, 0x14009900, 0x00004980,
- 0x01b86f07, 0x00000420, 0x017834e4, 0x00008504, 0x3b73211a, 0x0000f004,
- 0x00000c4d, 0x0000e583, 0x06000000, 0x00008980, 0x70003249, 0x0000f902,
- 0x01000000, 0x00008000, 0x06800000, 0x0000e180, 0x06c04018, 0x0000e000,
- 0x00003b88, 0x00007210, 0x06c00000, 0x000081e4, 0x03000000, 0x0000f900,
- 0x00008000, 0x00000980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
- 0x02e1b000, 0x0000f900, 0x002f9d94, 0x00000980, 0x01800000, 0x00006180,
- 0x08001a08, 0x00006106, 0x01400000, 0x000080dc, 0x82200500, 0x00008022,
- 0x3b881c63, 0x0000f500, 0x02401702, 0x000080b1, 0x83226c4d, 0x00009901,
- 0x07c80005, 0x00006180, 0x05100001, 0x00004980, 0x07804000, 0x00007900,
- 0x00207fc0, 0x00008980, 0x05401900, 0x00006180, 0x05800000, 0x0000c980,
- 0x05c00000, 0x00006180, 0x07003006, 0x00004900, 0x07f82502, 0x00000134,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009828ec, 0x00005780, 0x00007800, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb9102a05, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x03000000, 0x00006180,
- 0x00202812, 0x00006086, 0x02c00000, 0x0000e180, 0x82282812, 0x0000e086,
- 0x12802004, 0x00006100, 0x04182812, 0x00006187, 0x04c09012, 0x00001900,
- 0x11d56800, 0x0000f900, 0x002b1360, 0x00000980, 0x12409813, 0x00001900,
- 0xffffffff, 0x00007ff7, 0x82c08cec, 0x00007902, 0x04000000, 0x00000604,
- 0xffffffff, 0x00007fa7, 0x04008811, 0x00001900, 0x04808010, 0x0000e100,
- 0x00002010, 0x0000e586, 0x12009012, 0x0000e100, 0x04282810, 0x00006087,
- 0x3bb21d3a, 0x00007500, 0x86202810, 0x00006887, 0x11808010, 0x00001900,
- 0x7b606c05, 0x00004389, 0x00606c05, 0x00008098, 0x86801c05, 0x0000c389,
- 0x00601c05, 0x00000098, 0x09000c05, 0x0000c588, 0x87001405, 0x0000808f,
- 0x7a405c05, 0x0000c489, 0x5e605c05, 0x00000f98, 0x01602405, 0x00004791,
- 0x88008405, 0x0000878b, 0x85a08405, 0x0000c299, 0x84607405, 0x00000e8f,
- 0x85609405, 0x0000c489, 0x52609405, 0x00008fa8, 0xfcc0ac05, 0x0000f88a,
- 0x29c00000, 0x00009d8e, 0x00007c05, 0x00009583, 0x43007800, 0x00009989,
- 0x00003c3f, 0x0000f009, 0x03000000, 0x0000f900, 0x00008040, 0x00008980,
- 0x02b77800, 0x00007900, 0x002b1360, 0x00000980, 0x02f82800, 0x0000f900,
- 0x00280a2c, 0x00000980, 0x01802004, 0x0000e100, 0x08001a08, 0x00006106,
- 0x01c00000, 0x0000e180, 0xc2300600, 0x0000c901, 0x82381400, 0x00008024,
- 0x83002800, 0x00009980, 0x3c3f1c63, 0x0000f100, 0x3bd43b64, 0x00007300,
- 0x01025800, 0x00009980, 0x43005800, 0x00009981, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
- 0x00000000, 0x00008080, 0x00003c3f, 0x0000f000, 0x3bdd3b64, 0x00007300,
- 0x01002000, 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
- 0x01001408, 0x00009283, 0x0140a800, 0x00009989, 0x00003bf1, 0x0000f011,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x3b400705, 0x00008a9c,
- 0x01400ee3, 0x00006081, 0x29000000, 0x0000c980, 0x29400000, 0x00000ad8,
- 0x3bb8170d, 0x00000e1c, 0x39a08707, 0x000084a1, 0x3bf12357, 0x0000f404,
- 0x1bc00800, 0x00006181, 0xdbd712e2, 0x0000c900, 0x53000c05, 0x00009081,
- 0x00003c3f, 0x00007200, 0x43006800, 0x00009981, 0x05000ee3, 0x00006081,
- 0x0000b005, 0x0000e486, 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8,
- 0x3bb83704, 0x00008e1c, 0x39a08707, 0x000084a1, 0x00003c4a, 0x0000f400,
- 0x1bc00800, 0x00006181, 0xdbd712e2, 0x0000c900, 0x53000c14, 0x00006081,
- 0x3b402805, 0x00000900, 0x3c03211a, 0x00007404, 0x43000800, 0x0000e181,
- 0x12003006, 0x0000c900, 0x14009900, 0x00006180, 0x14403807, 0x00004900,
- 0x00000c4d, 0x0000e583, 0x85124a49, 0x00008900, 0x03000000, 0x00007908,
- 0x00008000, 0x00000980, 0x01800000, 0x0000e188, 0x01400000, 0x0000c988,
- 0x00003c15, 0x0000f010, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
- 0x02c63000, 0x00007900, 0x00341190, 0x00000980, 0x01c00000, 0x0000e180,
- 0x08001a08, 0x00006106, 0x83001000, 0x00006180, 0x83226c4d, 0x0000c901,
- 0x00003bd1, 0x0000f400, 0x82200500, 0x00008022, 0x02401002, 0x00009900,
- 0x70002a49, 0x0000a080, 0x02383f04, 0x00000010, 0x03800708, 0x0000809c,
- 0x70003a49, 0x0000a081, 0x41c10405, 0x00009081, 0x3c1d31c5, 0x0000f405,
- 0xffffffff, 0x00007f86, 0x02003807, 0x00001900, 0x81771ee3, 0x00001900,
- 0x7020a214, 0x00002081, 0x72c02005, 0x0000a181, 0xffffffff, 0x00007f97,
- 0x05000c14, 0x00001281, 0x0107f404, 0x00001281, 0x00003c3f, 0x00007400,
- 0x0120a404, 0x00001301, 0x72d82005, 0x00002982, 0x3c3f31f7, 0x0000f204,
- 0x01201707, 0x000080b2, 0x00003c3f, 0x0000f000, 0x00003c3f, 0x00007200,
- 0x43008800, 0x00001981, 0x00003c3f, 0x00007200, 0x43009000, 0x00001981,
- 0x00003c3f, 0x00007200, 0x43007000, 0x00009981, 0x00003c3f, 0x00007200,
- 0x43006000, 0x00001981, 0x3c3f3b6e, 0x0000f204, 0x43008000, 0x00009981,
- 0x00003c3f, 0x0000f000, 0x01000c08, 0x00006283, 0x43001800, 0x00008981,
- 0x82c00800, 0x00009991, 0x00003c3f, 0x0000f011, 0x00003c3f, 0x00007400,
- 0x01002408, 0x00009283, 0x82c02000, 0x00009991, 0x00003c3f, 0x00007400,
- 0x01000c08, 0x00006283, 0x43002000, 0x00000981, 0x82c01000, 0x00009991,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0018280b, 0x0000e186,
- 0x0000280c, 0x00003486, 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8,
- 0x39c00000, 0x00008ed8, 0x52000410, 0x000006fe, 0xdbd712e2, 0x0000e100,
- 0x53000ee3, 0x00004881, 0x3b78670b, 0x00008e38, 0x3c4b2357, 0x00007004,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x81c00e04, 0x00006283,
- 0x01c00ee3, 0x00000881, 0x00003c78, 0x00007013, 0x81001604, 0x00009283,
- 0x01403006, 0x00006110, 0x01c02805, 0x0000c910, 0x01c01000, 0x00007908,
- 0x00080000, 0x00000980, 0x00003c61, 0x0000f010, 0x08001a05, 0x00006906,
- 0x04102807, 0x00006901, 0x80383aec, 0x0000d600, 0x00000280, 0x00000180,
- 0x800062ec, 0x0000f902, 0x03400000, 0x00008600, 0x800072ec, 0x00007902,
- 0x03c00000, 0x00000600, 0xffffffff, 0x00007f97, 0x01c0680d, 0x00001900,
- 0x0140700e, 0x00009900, 0x02000000, 0x00007900, 0x00004000, 0x00000980,
- 0x02402800, 0x00006180, 0x04282008, 0x0000e087, 0x29c00000, 0x0000e180,
- 0x82202009, 0x0000e086, 0x29000000, 0x00008ad4, 0x29800000, 0x00006180,
- 0x39c03807, 0x0000c900, 0x39a08705, 0x000004a1, 0x1bc00000, 0x0000e181,
- 0xdbd712e2, 0x0000c900, 0x3c712357, 0x0000f404, 0x53000ee3, 0x00006081,
- 0x3b404008, 0x0000c900, 0x3b804809, 0x00009900, 0x000800ec, 0x00005780,
- 0x00005000, 0x00008080, 0xc0000800, 0x00006181, 0x00400020, 0x00004980,
- 0xc0c00000, 0x00001980, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8, 0x3bb84f08, 0x00008e34,
- 0x39f85f0a, 0x00000e18, 0x3c762357, 0x00007404, 0x52000c10, 0x000086fe,
- 0x53000c07, 0x0000e081, 0xdbd712e2, 0x00000900, 0x01c00000, 0x00000adc,
- 0x29000000, 0x0000e180, 0x00202807, 0x0000e086, 0x01400ee3, 0x00006081,
- 0x82282807, 0x00006002, 0x29400000, 0x00006180, 0x04182807, 0x0000e187,
- 0x29800000, 0x00006180, 0x3b82684d, 0x0000c900, 0x3b68c000, 0x00006180,
- 0x39c00000, 0x00004980, 0x52000c10, 0x000086fe, 0x00002357, 0x00007400,
- 0xdbd712e2, 0x0000e100, 0x53000c05, 0x0000c081, 0x39803807, 0x00001900,
- 0x24c00000, 0x000089c4, 0x24000000, 0x0000e100, 0x00182893, 0x0000e106,
- 0x40000505, 0x00006583, 0xc0001893, 0x0000a006, 0x647a6e05, 0x00000908,
- 0x00000001, 0x00007480, 0xe4000800, 0x0000e189, 0x96682891, 0x0000e001,
- 0xe4e80800, 0x00006190, 0xe4001000, 0x0000c991, 0x0c400000, 0x00007900,
- 0x000040c0, 0x00000980, 0xc11722e4, 0x00006100, 0x01c00002, 0x00004980,
- 0x8c761d00, 0x0000f900, 0x00000002, 0x00000080, 0xc1e80500, 0x00001900,
- 0x723988ec, 0x0000d600, 0x00383800, 0x00000000, 0x723a68ec, 0x00005600,
- 0x0003c145, 0x00008080, 0x00c002ec, 0x0000df80, 0x13c5400b, 0x00001684,
- 0x8c680500, 0x00009900, 0xec002e31, 0x0000a081, 0xffffffff, 0x00007fa7,
- 0x01004405, 0x00001283, 0x0157284d, 0x00006210, 0x01800000, 0x00000990,
- 0x03000000, 0x00007910, 0x00008040, 0x00008980, 0x00003cbc, 0x0000f008,
+ 0x08001a08, 0x00006106, 0xec203605, 0x00002080, 0x82200500, 0x00008022,
+ 0x39f21b17, 0x00007500, 0x02401702, 0x000080b1, 0x0140680d, 0x00009900,
+ 0x0c000000, 0x0000f900, 0x000040c0, 0x00000980, 0x01c00002, 0x00006180,
+ 0x014bc002, 0x00004980, 0x8c361d00, 0x00007900, 0x00000002, 0x00000080,
+ 0xc1e80500, 0x00006100, 0x01001805, 0x00006007, 0x723980ec, 0x00005600,
+ 0x00383800, 0x00000000, 0x723a68ec, 0x00005600, 0x00382800, 0x00008000,
+ 0x811722e4, 0x00009900, 0x00c002ec, 0x0000df80, 0x1390080b, 0x00001684,
+ 0x8c280500, 0x00001900, 0xec003630, 0x00002081, 0xffffffff, 0x00007fa7,
+ 0x01404406, 0x00009283, 0x0157284d, 0x00006210, 0x01800000, 0x00000990,
+ 0x03000000, 0x00007910, 0x00008040, 0x00008980, 0x00003a16, 0x0000f008,
0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02cdd800, 0x0000f900,
0x003fe404, 0x00000980, 0x01c00000, 0x0000e180, 0x08001a08, 0x00006106,
- 0xec203631, 0x0000a080, 0x00003ccd, 0x0000f400, 0x83001000, 0x00006180,
- 0xc2300600, 0x0000c901, 0x02600702, 0x00008022, 0x0c40b405, 0x00009281,
- 0x00008431, 0x00009583, 0x01c00000, 0x00006190, 0x0f002c06, 0x00006010,
- 0xc2300600, 0x00006111, 0x0f802805, 0x00006010, 0x00003cce, 0x0000f008,
- 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x0292d800, 0x0000f900,
- 0x0005a686, 0x00000980, 0x02c85000, 0x0000f900, 0x00010674, 0x00000980,
- 0x82280500, 0x00006101, 0x08001a08, 0x00006106, 0x02403702, 0x0000001b,
- 0x83001000, 0x00001980, 0x3cce1c63, 0x00007100, 0x8c680500, 0x00009900,
- 0xec202631, 0x00002080, 0x01801000, 0x00007900, 0x00080000, 0x00000980,
- 0xffffffff, 0x00007f97, 0x08002207, 0x0000e100, 0x04002006, 0x00003101,
- 0x803832ec, 0x00005600, 0x00000280, 0x00000180, 0x8004a2ec, 0x00007902,
- 0x25400000, 0x00000600, 0x8004b2ec, 0x0000f902, 0x25c00000, 0x00008600,
- 0xffffffff, 0x00007f97, 0x01400c94, 0x00001283, 0x01480000, 0x00001988,
- 0x08002305, 0x0000e908, 0x00003cfa, 0x00007010, 0x3ce13c90, 0x00007100,
- 0x25000894, 0x00009380, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009120ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x01801000, 0x00007900, 0x00080000, 0x00000980, 0x04103806, 0x00006901,
- 0x803832ec, 0x00005600, 0x00000280, 0x00000180, 0x8004a2ec, 0x00007902,
- 0x25400000, 0x00000600, 0x8004b2ec, 0x0000f902, 0x25c00000, 0x00008600,
- 0xffffffff, 0x00007f97, 0x01400c94, 0x00001283, 0x01619432, 0x0000e111,
- 0x41699532, 0x00004911, 0xc1599332, 0x00001910, 0x00003cea, 0x0000f008,
- 0x3cfa3c80, 0x0000f004, 0x3cfd3c90, 0x00007500, 0x0140a000, 0x00001980,
- 0x08002305, 0x00006900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008920ec, 0x0000d780, 0x00005000, 0x00008080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0xb9182304, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x0022f822, 0x3d081cab, 0x00007004, 0x000000c0, 0x001e1d29, 0x00123601,
- 0x00123705, 0x001e35b9, 0x001e1802, 0x001e2148, 0x001e47e6, 0x001e1ac1,
- 0x001e1920, 0x001e19d5, 0x001e2056, 0x001e19ca, 0x00000090, 0x00122a7b,
- 0x001e2cc7, 0x001e257c, 0x001e239e, 0x0012302b, 0x00122882, 0x001e309a,
- 0x001e2ed4, 0x001e2b65, 0x00000020, 0x00124032, 0x001e4798, 0x00000020,
- 0x00124285, 0x001e44f2, 0x00000030, 0x00123f30, 0x001e3d98, 0x00124624,
- 0x00000050, 0x001e09c3, 0x001e03ca, 0x000406df, 0x000409c2, 0x0004068e,
- 0x00000070, 0x001e109b, 0x001e1719, 0x001e0f79, 0x001e163a, 0x001e1383,
- 0x001e11ee, 0x001e1480, 0x00000060, 0x00083382, 0x0012323d, 0x001e37b8,
- 0x001e39e9, 0x001e320e, 0x001e3a1c, 0x00000030, 0x00123115, 0x001238d5,
- 0x0012399d, 0x00000020, 0x00123d6b, 0x000a3d0a, 0x00000050, 0x0012323d,
- 0x000c3382, 0x00123115, 0x001e3b9c, 0x001e3c4d, 0x00000060, 0x0001000a,
- 0x000e1208, 0x58a0ccc7, 0x00000000, 0x01020200, 0x00400804, 0x00000020,
- 0x00000000, 0x00000001, 0x000000f0, 0x98180003, 0x98180005, 0x000000ff,
- 0x000000ff, 0x98180004, 0x98180006, 0x94140000, 0x000000ff, 0x000000ff,
- 0x000000ff, 0xb4340001, 0x000000ff, 0xcc4c000a, 0x000000ff, 0xcc4c000a,
- 0x00000712, 0x000000ff, 0x00000060, 0x00000000, 0x00000000, 0x94140002,
- 0x000000ff, 0xa424000b, 0x000000ff, 0x00000020, 0x01460000, 0x00000018,
- 0x000000e0, 0xfffff007, 0x00000fff, 0x07ffff01, 0x00000ffe, 0x07ffff01,
- 0x00000ffe, 0xfffff001, 0x00000fff, 0x00fff079, 0x00000f00, 0xf8003ff9,
- 0x00000fff, 0x07ffff01, 0x00000ffe, 0x00010012, 0x001e1c72, 0x000f5340,
- 0xffffffff, 0x00007f86, 0x00011bf3, 0x0000f004, 0x9e5722e4, 0x0000e100,
- 0x9f001ee3, 0x00004880, 0x9f371a7c, 0x00009100, 0x4b43c07c, 0x00007902,
- 0x1d800000, 0x00000004, 0x1d800c46, 0x00009283, 0x4b7bec7c, 0x0000a084,
- 0x9f913226, 0x0000e110, 0x9d993326, 0x00004910, 0x00000074, 0x00007008,
- 0xc0113326, 0x00009502, 0x00000146, 0x0000700b, 0x9f13f276, 0x00006100,
- 0x0b823478, 0x00002004, 0x80004a7c, 0x0000e582, 0x18000000, 0x00008980,
- 0x1f33efe4, 0x00006000, 0x1da3f476, 0x0000c131, 0x1d805000, 0x00006199,
- 0x0f43e07c, 0x0000e180, 0x9f400a7c, 0x00006180, 0x18400000, 0x00000980,
- 0x9fd3ea7e, 0x0000e200, 0x18800000, 0x00000980, 0x1f801a7f, 0x0000e080,
- 0x18c00000, 0x00004980, 0x1f40f87e, 0x00006784, 0x19000000, 0x00000980,
- 0x20c2607e, 0x0000e002, 0x19400000, 0x00008980, 0x2082687d, 0x0000e004,
- 0x19800000, 0x00008980, 0x1f63b27f, 0x00006000, 0x19c00000, 0x00000980,
- 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1d7a674d, 0x00000710,
- 0x5eaa5b4b, 0x00000807, 0x0003e87c, 0x00006502, 0xa0001c76, 0x00000880,
- 0x0003e87c, 0x00009502, 0xffffffff, 0x00007f86, 0x00000124, 0x0000f038,
- 0x00000110, 0x00007008, 0x1f13f87c, 0x0000e100, 0x13000600, 0x00000980,
- 0x13400000, 0x0000f900, 0x000014c0, 0x00008980, 0x2040187c, 0x00006080,
- 0x75e8004c, 0x00006101, 0x1f400000, 0x00006180, 0x0014084d, 0x00006106,
- 0x703a68ec, 0x0000d600, 0x003a6000, 0x00000000, 0x13400000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x13200005, 0x00006180, 0x9340187c, 0x0000c880,
- 0x703c18ec, 0x00005600, 0x003c1000, 0x00008000, 0x1f000c78, 0x0000e180,
- 0x0418104c, 0x0000a187, 0x703a68ec, 0x0000d600, 0x003a6000, 0x00000000,
- 0x13225c4b, 0x00006100, 0x9f680500, 0x00004900, 0x0003e04c, 0x0000e502,
- 0x1342784f, 0x00000900, 0x9e000c4b, 0x0000e090, 0x9e000000, 0x00008988,
- 0x1302704e, 0x00001900, 0x1f001a78, 0x00009880, 0x1fc2e07c, 0x0000e002,
- 0x1f0004e0, 0x00000980, 0x1f80005d, 0x0000e084, 0x75e8007c, 0x0000a101,
- 0x700040ec, 0x00005680, 0x003be4c0, 0x00000010, 0x1f200005, 0x00001980,
- 0x703bf8ec, 0x00005600, 0x003bf000, 0x00008000, 0x0418107c, 0x0000e987,
- 0x1f800000, 0x0000f900, 0x000014c4, 0x00000980, 0x700040ec, 0x00005680,
- 0x003be7c0, 0x00008078, 0x9f140a80, 0x00009100, 0x9f001a81, 0x0000e780,
- 0x0013e07e, 0x00002106, 0x9f01827c, 0x00001080, 0x1f200005, 0x00006180,
- 0x0423e07d, 0x00006085, 0x0418107c, 0x00006187, 0x75e8007d, 0x0000b101,
- 0x703bf0ec, 0x0000d600, 0x003be800, 0x00008000, 0x1f400000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x703a70ec, 0x0000d600, 0x003a7800, 0x00000000,
- 0x9f540a80, 0x00001100, 0x703be8ec, 0x0000d600, 0x003be000, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x1003580b, 0x00001684, 0x39003c79, 0x0000809a,
- 0x11bff046, 0x0000f900, 0x003ffffe, 0x00008280, 0x9f1bc2e5, 0x0000e400,
- 0x80000806, 0x0000a401, 0x12c00078, 0x000007a7, 0xddd1327c, 0x0000e200,
- 0x51a3b476, 0x00008901, 0x00000000, 0x0000f081, 0x80198230, 0x0000e502,
- 0x9d918230, 0x00000900, 0x9f198330, 0x00009900, 0x00000140, 0x0000f009,
- 0x2033efe4, 0x00006000, 0x9813e276, 0x0000c100, 0x80004a60, 0x00006582,
- 0x0f440080, 0x00002180, 0x9e000a80, 0x00006180, 0x1da3e476, 0x00008131,
- 0x9f13c27c, 0x00006200, 0x1d805000, 0x00008999, 0x1f401a7c, 0x0000e080,
- 0x0ac2347e, 0x0000e004, 0x1e00f87d, 0x00006784, 0x18400000, 0x00000980,
- 0x20c2807d, 0x00006002, 0x18800000, 0x00000980, 0x20828878, 0x00006004,
- 0x18c00000, 0x00008980, 0x1e23b27c, 0x00006000, 0x19000000, 0x00000980,
- 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x1a400000, 0x000006e8,
- 0x1ac00000, 0x0000e180, 0x1d428851, 0x00004900, 0x1d3a5f50, 0x00000729,
- 0x9fea5d4b, 0x0000e100, 0x18000000, 0x00004980, 0x0003c080, 0x00006502,
- 0xa0401c76, 0x00008880, 0x0003c080, 0x00009502, 0xffffffff, 0x00007f86,
- 0x000000f3, 0x00007038, 0x000000df, 0x0000f008, 0x2013e080, 0x0000e100,
- 0x14000600, 0x00008980, 0x14400000, 0x00007900, 0x000014c0, 0x00008980,
- 0x1f001880, 0x0000e080, 0x75e80050, 0x0000e101, 0x1e000520, 0x0000e180,
- 0x0013e051, 0x00006106, 0x703a88ec, 0x00005600, 0x003a8000, 0x00008000,
- 0x14400000, 0x00007900, 0x00007fc0, 0x00000980, 0x14200005, 0x0000e180,
- 0x94401880, 0x00004880, 0x703c18ec, 0x00005600, 0x003c1000, 0x00008000,
- 0x75e80078, 0x0000e101, 0x04181050, 0x0000b187, 0x703a88ec, 0x00005600,
- 0x003a8000, 0x00008000, 0x14000c7e, 0x00006180, 0x146a5d4b, 0x00008900,
- 0x00028051, 0x00006502, 0x14429853, 0x00008900, 0xa0000000, 0x0000e188,
- 0xa0000d4b, 0x00004090, 0x700040ec, 0x00005680, 0x003bc4c0, 0x00008010,
- 0x1e200005, 0x0000e180, 0x14001a80, 0x0000c880, 0x1fc2f050, 0x0000e002,
- 0x04181078, 0x00002187, 0x14029052, 0x0000e100, 0x1f80005f, 0x0000c084,
- 0x1f400000, 0x0000f900, 0x000014c4, 0x00000980, 0x703bf8ec, 0x00005600,
- 0x003bf000, 0x00008000, 0x9f93e281, 0x00001100, 0x700040ec, 0x00005680,
- 0x003bc7c0, 0x00000078, 0x1e000000, 0x00006180, 0x0013f07d, 0x00006106,
- 0x9e280500, 0x00006100, 0x9f801a7c, 0x00004780, 0x9f81827e, 0x00001080,
- 0x0423f078, 0x00006885, 0x75e80078, 0x00006901, 0x703be8ec, 0x0000d600,
- 0x003bc000, 0x00008000, 0x1f400000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x9f53e281, 0x0000e100, 0x1e200005, 0x00000980, 0x703a90ec, 0x00005600,
- 0x003a9800, 0x00008000, 0x04181078, 0x00006987, 0x703be8ec, 0x0000d600,
- 0x003bc000, 0x00008000, 0x00c002ec, 0x0000df80, 0x1006a80b, 0x00001684,
- 0xb913ca79, 0x00006100, 0x11800846, 0x0000c380, 0x01801800, 0x0000e181,
- 0x9f1bb2e5, 0x0000c400, 0x52e40480, 0x0000e101, 0x80000006, 0x0000e401,
- 0x9e400000, 0x0000e181, 0x51a3b476, 0x00004901, 0xddd9827c, 0x00001200,
- 0x00000000, 0x0000f081, 0x142a5d4b, 0x0000e100, 0x1f000c7e, 0x00004180,
- 0x0003e050, 0x00006502, 0x1e000520, 0x00000980, 0x9fc00d4b, 0x0000e090,
- 0x9fc00000, 0x00000988, 0x14429853, 0x00006100, 0x75e80078, 0x0000e101,
- 0x14029052, 0x0000e100, 0x1f001a7f, 0x00004880, 0x1f82f07c, 0x00001002,
- 0x700040ec, 0x00005680, 0x003bc4c0, 0x00008010, 0x1e200005, 0x0000e180,
- 0x1f40005f, 0x0000c084, 0x703bf0ec, 0x0000d600, 0x003be800, 0x00008000,
- 0x04181078, 0x00006987, 0x700040ec, 0x00005680, 0x003bc7c0, 0x00000078,
- 0x1e000600, 0x00001980, 0x1f000000, 0x00007900, 0x000014c4, 0x00000980,
- 0x9e280500, 0x00006100, 0x0014087c, 0x0000e106, 0x75e80078, 0x00006901,
- 0x703be0ec, 0x00005600, 0x003bc000, 0x00008000, 0x1f000000, 0x00007900,
- 0x00007fc0, 0x00000980, 0x9f001c76, 0x0000e080, 0x1e200005, 0x0000c980,
- 0x703c18ec, 0x00005600, 0x003c1000, 0x00008000, 0x04181078, 0x00006987,
- 0x703be0ec, 0x00005600, 0x003bc000, 0x00008000, 0x00c002ec, 0x0000df80,
- 0x1008300b, 0x00001684, 0xb913ca79, 0x00006100, 0x11800846, 0x0000c380,
- 0x01801800, 0x0000e181, 0x9f1bb2e5, 0x0000c400, 0x52e3fc7f, 0x0000e101,
- 0x80000006, 0x0000e401, 0x9e400000, 0x0000e181, 0x51a3b476, 0x00004901,
- 0xddd9827c, 0x00001200, 0x00000000, 0x0000f081, 0x13225c4b, 0x00006100,
- 0x1f000c78, 0x00004180, 0x0003e04c, 0x0000e502, 0x1342784f, 0x00000900,
- 0xa0400c4b, 0x0000e090, 0xa0400000, 0x00008988, 0x1302704e, 0x00001900,
- 0x1f001a81, 0x00009880, 0x1fc2e07c, 0x0000e002, 0x1f0004e0, 0x00000980,
- 0x1f80005d, 0x0000e084, 0x75e8007c, 0x0000a101, 0x700040ec, 0x00005680,
- 0x003be4c0, 0x00000010, 0x1f200005, 0x00001980, 0x703bf8ec, 0x00005600,
- 0x003bf000, 0x00008000, 0x0418107c, 0x0000e987, 0x700040ec, 0x00005680,
- 0x003be7c0, 0x00008078, 0x1fa00005, 0x0000e180, 0x1f000600, 0x0000c980,
- 0x1f400000, 0x0000f900, 0x000014c4, 0x00000980, 0x9f280500, 0x0000e100,
- 0x0014007d, 0x0000e106, 0x0418107e, 0x0000e187, 0x75e8007c, 0x00003101,
- 0x1fc00000, 0x00007900, 0x00007fc0, 0x00000980, 0x703be8ec, 0x0000d600,
- 0x003be000, 0x00000000, 0x703c18ec, 0x00005600, 0x003c1000, 0x00008000,
- 0x9fc01c76, 0x00009880, 0x703bf8ec, 0x00005600, 0x003bf000, 0x00008000,
- 0x00c002ec, 0x0000df80, 0x1009b80b, 0x00009684, 0x39003c79, 0x0000809a,
- 0x11bff046, 0x0000f900, 0x003ffffe, 0x00008280, 0x9f1bc2e5, 0x0000e400,
- 0x80000806, 0x0000a401, 0x12c00081, 0x000007a7, 0xddd1327c, 0x0000e200,
- 0x51a3b476, 0x00008901, 0x00000000, 0x0000f081, 0xc0113326, 0x00006502,
- 0x9d993326, 0x00000900, 0x51800000, 0x00006189, 0x9f913226, 0x00004900,
- 0x0000000e, 0x00007011, 0x00000000, 0x00007080, 0x80198230, 0x0000e502,
- 0x9d918230, 0x00000900, 0x51800000, 0x00006189, 0x9f198330, 0x0000c900,
- 0x00000078, 0x0000f011, 0x00000000, 0x00007080, 0x800026a8, 0x00006583,
- 0x9f5722e4, 0x00008900, 0xdec08711, 0x00009283, 0xffffffff, 0x00007f86,
- 0x0000016f, 0x0000f010, 0x0000016f, 0x0000f008, 0x04e3de7a, 0x0000e000,
- 0xc000081e, 0x0000a403, 0x1fc88813, 0x0000e000, 0x90c23010, 0x0000a000,
- 0x1fc3fd7b, 0x00009000, 0x9fc01ee3, 0x00006080, 0x0bc4a07f, 0x00004000,
- 0x9ff71a7f, 0x00009100, 0x4b43e27f, 0x00007902, 0x1ec00000, 0x00008004,
- 0xffffffff, 0x00007fa7, 0xa0118a7b, 0x00006200, 0x9f918b7c, 0x00008200,
- 0x1fc0227e, 0x00001880, 0x04c2d07f, 0x0000e002, 0x1fc01a80, 0x00008880,
- 0x0542c07f, 0x00006002, 0x0500005b, 0x00008084, 0xc013f37c, 0x0000e502,
- 0x05800059, 0x00008084, 0x9fc00a31, 0x0000e090, 0x0000081f, 0x00002412,
- 0x8c400a31, 0x00001090, 0x00000173, 0x00007008, 0x8013e27f, 0x00009502,
- 0x8c400000, 0x0000e188, 0x0e82347f, 0x00006008, 0x1fc00c7f, 0x00009489,
- 0x61a3f846, 0x0000e808, 0x1ec00000, 0x0000e181, 0xb913ea7d, 0x00004900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x1fc00a31, 0x0000e080,
- 0x1f800a7c, 0x00008180, 0x1fc3f87e, 0x00001200, 0x1ff3d87f, 0x00009704,
- 0x1f97287f, 0x00009200, 0x1fc0187e, 0x00001880, 0x1fc2b07f, 0x00001002,
- 0x8014027b, 0x0000e502, 0x1f800057, 0x00008084, 0x2043f87f, 0x00006110,
- 0x2003f07e, 0x0000c910, 0x1fc04000, 0x0000e190, 0x1f840881, 0x00004910,
- 0x000001a4, 0x00007008, 0x01861c36, 0x00007500, 0x21840080, 0x00006100,
- 0x0418107f, 0x00006187, 0x2143f87f, 0x00006100, 0x20e86025, 0x00004980,
- 0x00c002ec, 0x0000df80, 0x100c400b, 0x00001684, 0xffffffff, 0x00007f86,
+ 0xec203630, 0x00002080, 0x3a231b17, 0x00007500, 0x83001000, 0x00006180,
+ 0xc2300600, 0x0000c901, 0x02600702, 0x00008022, 0x00003a23, 0x00007000,
+ 0x0c00b406, 0x00001281, 0x00008430, 0x00001583, 0xc0004800, 0x00006191,
+ 0xc0c02800, 0x0000c990, 0x00501800, 0x00007910, 0x0000c450, 0x00000980,
+ 0x00003a23, 0x0000f008, 0x40001008, 0x00006403, 0x20005009, 0x00003406,
+ 0xc0005008, 0x0000e407, 0xa0000819, 0x0000b400, 0x008806ec, 0x00005f80,
+ 0x00905080, 0x00000484, 0x8c280500, 0x00001900, 0xec203630, 0x00002080,
+ 0x08001000, 0x0000f900, 0x00080000, 0x00000980, 0xffffffff, 0x00007f97,
+ 0x08003205, 0x0000e100, 0x04003020, 0x00003101, 0x803902ec, 0x0000d600,
+ 0x00000280, 0x00000180, 0x8004a2ec, 0x00007902, 0x25400000, 0x00000600,
+ 0x8004b2ec, 0x0000f902, 0x25c00000, 0x00008600, 0xffffffff, 0x00007f97,
+ 0x01800c94, 0x00001283, 0x25000894, 0x0000e388, 0x24000000, 0x00008908,
+ 0x2482684d, 0x0000e108, 0xe4001000, 0x0000c989, 0x00003a67, 0x0000f010,
+ 0x24c00000, 0x0000f900, 0x00014040, 0x00000980, 0x00102893, 0x0000e906,
+ 0x24400000, 0x00007900, 0x00008000, 0x00000980, 0xc0001893, 0x0000e806,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x009120ec, 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01c01000, 0x0000f900,
+ 0x00080000, 0x00000980, 0x04102807, 0x00006901, 0x80383aec, 0x0000d600,
+ 0x00000280, 0x00000180, 0x8004a2ec, 0x00007902, 0x25400000, 0x00000600,
+ 0x8004b2ec, 0x0000f902, 0x25c00000, 0x00008600, 0xffffffff, 0x00007f97,
+ 0x01800c94, 0x00001283, 0x29c00000, 0x00006190, 0x29000000, 0x00004990,
+ 0x29400000, 0x0000e190, 0x29800000, 0x0000c990, 0x00003a45, 0x0000f008,
+ 0x3b400000, 0x0000f900, 0x00004000, 0x00000980, 0x3b881001, 0x0000e180,
+ 0x39c4a895, 0x0000c900, 0x39a08796, 0x000004a1, 0x3a5e220a, 0x00007404,
+ 0x17c00000, 0x0000e181, 0x929712e2, 0x0000c900, 0x53000ee3, 0x00001881,
+ 0x1c80074d, 0x0000878c, 0x00102873, 0x00006906, 0x1c001000, 0x0000f900,
+ 0x00020000, 0x00000980, 0x1c683800, 0x00007900, 0x00044400, 0x00000980,
+ 0xc0001873, 0x00006806, 0x9e000a4d, 0x0000f88e, 0x61c00000, 0x00009d84,
+ 0x01808800, 0x00009981, 0x24c00000, 0x0000f900, 0x00014000, 0x00008980,
+ 0x24000000, 0x0000e100, 0x00102893, 0x00006106, 0x24400000, 0x0000e180,
+ 0xc0001893, 0x00006006, 0x24a00f4d, 0x00008983, 0xa4603406, 0x00001901,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008920ec, 0x0000d780, 0x00005000, 0x00008080, 0xb9102204, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x1d480000, 0x0000f900,
+ 0x00010000, 0x00000980, 0x1d000000, 0x000087d8, 0x1dc00000, 0x000007e0,
+ 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8,
+ 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0,
+ 0x21400000, 0x000008d8, 0x21c00000, 0x000008e0, 0x22400000, 0x000008e8,
+ 0x22c00000, 0x000088f0, 0x23400000, 0x000008f8, 0x23c00000, 0x00009980,
+ 0x00003a68, 0x0000f400, 0x0000e0ec, 0x00005780, 0x00005802, 0x00008080,
+ 0x01800800, 0x00001981, 0x1d000080, 0x0000e180, 0x1d400000, 0x0000c980,
+ 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
+ 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
+ 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
+ 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x00003a88, 0x00007400,
+ 0x23000000, 0x000088f4, 0x23c00000, 0x000088f8, 0x00400000, 0x00007900,
+ 0x00008010, 0x00008980, 0x000800ec, 0x00005780, 0x00905100, 0x000080c0,
+ 0x04000000, 0x000001cc, 0x04787f0e, 0x00008108, 0x00000001, 0x00007480,
+ 0xc0001000, 0x00006181, 0xc0e80800, 0x0000c980, 0x80602404, 0x00001901,
+ 0x03403006, 0x00006100, 0x14009900, 0x00004980, 0x01b86f07, 0x00000420,
+ 0x017834e4, 0x00008504, 0x3aab1fce, 0x0000f004, 0x00000c4d, 0x0000e583,
+ 0x06000000, 0x00008980, 0x70003249, 0x0000f902, 0x01000000, 0x00008000,
+ 0x06800000, 0x0000e180, 0x06c04018, 0x0000e000, 0x00003ac0, 0x0000f210,
+ 0x06c00000, 0x000081e4, 0x03000000, 0x0000f900, 0x00008000, 0x00000980,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02e1b000, 0x0000f900,
+ 0x002f9d94, 0x00000980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x01400000, 0x000080dc, 0x82200500, 0x00008022, 0x3ac01b17, 0x0000f500,
+ 0x02401702, 0x000080b1, 0x83226c4d, 0x00009901, 0x07c80005, 0x00006180,
+ 0x05100001, 0x00004980, 0x07804000, 0x00007900, 0x00207fc0, 0x00008980,
+ 0x05401900, 0x00006180, 0x05800000, 0x0000c980, 0x05c00000, 0x00006180,
+ 0x07003006, 0x00004900, 0x07f82502, 0x00000134, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009828ec, 0x00005780,
+ 0x00007800, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0xb9102a05, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x03000000, 0x00006180, 0x00202812, 0x00006086,
+ 0x02c00000, 0x0000e180, 0x82282812, 0x0000e086, 0x12802004, 0x00006100,
+ 0x04182812, 0x00006187, 0x04c09012, 0x00001900, 0x11d56800, 0x0000f900,
+ 0x002b1360, 0x00000980, 0x12409813, 0x00001900, 0xffffffff, 0x00007ff7,
+ 0x82c08cec, 0x00007902, 0x04000000, 0x00000604, 0xffffffff, 0x00007fa7,
+ 0x04008811, 0x00001900, 0x04808010, 0x0000e100, 0x00002010, 0x0000e586,
+ 0x12009012, 0x0000e100, 0x04282810, 0x00006087, 0x3aea1bee, 0x00007500,
+ 0x86202810, 0x00006887, 0x11808010, 0x00001900, 0x62606c05, 0x0000c389,
+ 0x00606c05, 0x00008098, 0x6d801c05, 0x0000c389, 0x00601c05, 0x00000098,
+ 0x09000c05, 0x0000c588, 0x87001405, 0x0000808f, 0x61405c05, 0x0000c489,
+ 0xce605c05, 0x00008e9e, 0x01602405, 0x00004791, 0x88008405, 0x0000878b,
+ 0x6ca08405, 0x00004299, 0xf4607405, 0x00000e8d, 0x6c609405, 0x00004489,
+ 0xc2609405, 0x00000eae, 0xcac0ac05, 0x0000f88a, 0xe9c00000, 0x00009d87,
+ 0x00007c05, 0x00009583, 0x43007800, 0x00009989, 0x00003b77, 0x00007009,
+ 0x03000000, 0x0000f900, 0x00008040, 0x00008980, 0x02b77800, 0x00007900,
+ 0x002b1360, 0x00000980, 0x02f82800, 0x0000f900, 0x00280a2c, 0x00000980,
+ 0x01802004, 0x0000e100, 0x08001a08, 0x00006106, 0x01c00000, 0x0000e180,
+ 0xc2300600, 0x0000c901, 0x82381400, 0x00008024, 0x83002800, 0x00009980,
+ 0x3b771b17, 0x0000f100, 0x3b0c3a9c, 0x00007300, 0x01025800, 0x00009980,
+ 0x43005800, 0x00009981, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
+ 0x00003b77, 0x00007000, 0x3b153a9c, 0x0000f300, 0x01002000, 0x00001980,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008000ec, 0x00005780, 0x00000000, 0x00008080, 0x01001408, 0x00009283,
+ 0x0140a800, 0x00009989, 0x00003b29, 0x0000f011, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x3b400705, 0x00008a9c, 0x01400ee3, 0x00006081,
+ 0x29000000, 0x0000c980, 0x29400000, 0x00000ad8, 0x3bb8170d, 0x00000e1c,
+ 0x39a08707, 0x000084a1, 0x3b29220a, 0x0000f404, 0x17c00800, 0x00006181,
+ 0x929712e2, 0x0000c900, 0x53000c05, 0x00009081, 0x00003b77, 0x0000f200,
+ 0x43006800, 0x00009981, 0x03400ee3, 0x0000e081, 0x0000b005, 0x0000e486,
+ 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8, 0x3bb83704, 0x00008e1c,
+ 0x39a08707, 0x000084a1, 0x00003b82, 0x0000f400, 0x17c00800, 0x00006181,
+ 0x929712e2, 0x0000c900, 0x53000c0d, 0x0000e081, 0x3b402805, 0x00000900,
+ 0x3b3b1fce, 0x0000f404, 0x43000800, 0x0000e181, 0x12003006, 0x0000c900,
+ 0x14009900, 0x00006180, 0x14403807, 0x00004900, 0x00000c4d, 0x0000e583,
+ 0x83524a49, 0x00000900, 0x03000000, 0x00007908, 0x00008000, 0x00000980,
+ 0x01800000, 0x0000e188, 0x01400000, 0x0000c988, 0x00003b4d, 0x0000f010,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02c63000, 0x00007900,
+ 0x00341190, 0x00000980, 0x01c00000, 0x0000e180, 0x08001a08, 0x00006106,
+ 0x83001000, 0x00006180, 0x83226c4d, 0x0000c901, 0x00003b09, 0x0000f400,
+ 0x82200500, 0x00008022, 0x02401002, 0x00009900, 0x70002a49, 0x0000a080,
+ 0x02383f04, 0x00000010, 0x03800708, 0x0000809c, 0x70003a49, 0x0000a081,
+ 0x41c10405, 0x00009081, 0x3b553095, 0x0000f405, 0xffffffff, 0x00007f86,
+ 0x02003807, 0x00001900, 0x81771ee3, 0x00001900, 0x70206a0d, 0x00002081,
+ 0x72c02005, 0x0000a181, 0xffffffff, 0x00007f97, 0x03400c0d, 0x00001281,
+ 0x0107f404, 0x00001281, 0x00003b77, 0x0000f400, 0x01206c04, 0x00009301,
+ 0x72d82005, 0x00002982, 0x3b7730c7, 0x0000f204, 0x01201707, 0x000080b2,
+ 0x00003b77, 0x00007000, 0x00003b77, 0x0000f200, 0x43008800, 0x00001981,
+ 0x00003b77, 0x0000f200, 0x43009000, 0x00001981, 0x00003b77, 0x0000f200,
+ 0x43007000, 0x00009981, 0x00003b77, 0x0000f200, 0x43006000, 0x00001981,
+ 0x3b773aa6, 0x00007204, 0x43008000, 0x00009981, 0x00003b77, 0x00007000,
+ 0x01000c08, 0x00006283, 0x43001800, 0x00008981, 0x82c00800, 0x00009991,
+ 0x00003b77, 0x00007011, 0x00003b77, 0x0000f400, 0x01002408, 0x00009283,
+ 0x82c02000, 0x00009991, 0x00003b77, 0x0000f400, 0x01000c08, 0x00006283,
+ 0x43002000, 0x00000981, 0x82c01000, 0x00009991, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x0018280b, 0x0000e186, 0x0000280c, 0x00003486,
+ 0x29c00000, 0x00000ad0, 0x29400000, 0x00000ad8, 0x39c00000, 0x00008ed8,
+ 0x52000410, 0x000005fe, 0x929712e2, 0x0000e100, 0x53000ee3, 0x00004881,
+ 0x3b78670b, 0x00008e38, 0x3b83220a, 0x00007004, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x81c00e04, 0x00006283, 0x01c00ee3, 0x00000881,
+ 0x00003bb0, 0x00007013, 0x81001604, 0x00009283, 0x01403006, 0x00006110,
+ 0x01c02805, 0x0000c910, 0x01c01000, 0x00007908, 0x00080000, 0x00000980,
+ 0x00003b99, 0x0000f010, 0x08001a05, 0x00006906, 0x04102807, 0x00006901,
+ 0x80383aec, 0x0000d600, 0x00000280, 0x00000180, 0x800062ec, 0x0000f902,
+ 0x03400000, 0x00008600, 0x800072ec, 0x00007902, 0x03c00000, 0x00000600,
+ 0xffffffff, 0x00007f97, 0x01c0680d, 0x00001900, 0x0140700e, 0x00009900,
+ 0x02000000, 0x00007900, 0x00004000, 0x00000980, 0x02402800, 0x00006180,
+ 0x04282008, 0x0000e087, 0x29c00000, 0x0000e180, 0x82202009, 0x0000e086,
+ 0x29000000, 0x00008ad4, 0x29800000, 0x00006180, 0x39c03807, 0x0000c900,
+ 0x39a08705, 0x000004a1, 0x17c00000, 0x0000e181, 0x929712e2, 0x0000c900,
+ 0x3ba9220a, 0x00007404, 0x53000ee3, 0x00006081, 0x3b404008, 0x0000c900,
+ 0x3b804809, 0x00009900, 0x000800ec, 0x00005780, 0x00005000, 0x00008080,
+ 0xc0000800, 0x00006181, 0x00400020, 0x00004980, 0xc0c00000, 0x00001980,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x29c00000, 0x00000ad0,
+ 0x29400000, 0x00000ad8, 0x3bb84f08, 0x00008e34, 0x39f85f0a, 0x00000e18,
+ 0x3bae220a, 0x0000f404, 0x52000c10, 0x000085fe, 0x53000c07, 0x0000e081,
+ 0x929712e2, 0x00000900, 0x01c00000, 0x00000adc, 0x29000000, 0x0000e180,
+ 0x00202807, 0x0000e086, 0x01400ee3, 0x00006081, 0x82282807, 0x00006002,
+ 0x29400000, 0x00006180, 0x04182807, 0x0000e187, 0x29800000, 0x00006180,
+ 0x3b82684d, 0x0000c900, 0x3b68c000, 0x00006180, 0x39c00000, 0x00004980,
+ 0x52000c10, 0x000085fe, 0x0000220a, 0x00007400, 0x929712e2, 0x0000e100,
+ 0x53000c05, 0x0000c081, 0x39803807, 0x00001900, 0x24c00000, 0x000089c4,
+ 0x24000000, 0x0000e100, 0x00182893, 0x0000e106, 0x40000505, 0x00006583,
+ 0xc0001893, 0x0000a006, 0x647a6e05, 0x00000908, 0x00000001, 0x00007480,
+ 0xe4000800, 0x0000e189, 0x96682891, 0x0000e001, 0xe4e80800, 0x00006190,
+ 0xe4001000, 0x0000c991, 0x0c400000, 0x00007900, 0x000040c0, 0x00000980,
+ 0xc11722e4, 0x00006100, 0x01c00002, 0x00004980, 0x8c761d00, 0x0000f900,
+ 0x00000002, 0x00000080, 0xc1e80500, 0x00001900, 0x723988ec, 0x0000d600,
+ 0x00383800, 0x00000000, 0x723a68ec, 0x00005600, 0x0003c145, 0x00008080,
+ 0x00c002ec, 0x0000df80, 0x139f000b, 0x00009684, 0x8c680500, 0x00009900,
+ 0xec002e31, 0x0000a081, 0xffffffff, 0x00007fa7, 0x01004405, 0x00001283,
+ 0x0157284d, 0x00006210, 0x01800000, 0x00000990, 0x03000000, 0x00007910,
+ 0x00008040, 0x00008980, 0x00003bf4, 0x00007008, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02cdd800, 0x0000f900, 0x003fe404, 0x00000980,
+ 0x01c00000, 0x0000e180, 0x08001a08, 0x00006106, 0xec203631, 0x0000a080,
+ 0x00003c05, 0x00007400, 0x83001000, 0x00006180, 0xc2300600, 0x0000c901,
+ 0x02600702, 0x00008022, 0x0c40b405, 0x00009281, 0x00008431, 0x00009583,
+ 0x01c00000, 0x00006190, 0x0f002c06, 0x00006010, 0xc2300600, 0x00006111,
+ 0x0f802805, 0x00006010, 0x00003c06, 0x00007008, 0x03000000, 0x0000f900,
+ 0x00008040, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x02c85000, 0x0000f900, 0x00010674, 0x00000980, 0x82280500, 0x00006101,
+ 0x08001a08, 0x00006106, 0x02403702, 0x0000001b, 0x83001000, 0x00001980,
+ 0x3c061b17, 0x00007100, 0x8c680500, 0x00009900, 0xec202631, 0x00002080,
+ 0x01801000, 0x00007900, 0x00080000, 0x00000980, 0xffffffff, 0x00007f97,
+ 0x08002207, 0x0000e100, 0x04002006, 0x00003101, 0x803832ec, 0x00005600,
+ 0x00000280, 0x00000180, 0x8004a2ec, 0x00007902, 0x25400000, 0x00000600,
+ 0x8004b2ec, 0x0000f902, 0x25c00000, 0x00008600, 0xffffffff, 0x00007f97,
+ 0x01400c94, 0x00001283, 0x01480000, 0x00001988, 0x08002305, 0x0000e908,
+ 0x00003c32, 0x0000f010, 0x3c193bc8, 0x0000f100, 0x25000894, 0x00009380,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x009120ec, 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01801000, 0x00007900,
+ 0x00080000, 0x00000980, 0x04103806, 0x00006901, 0x803832ec, 0x00005600,
+ 0x00000280, 0x00000180, 0x8004a2ec, 0x00007902, 0x25400000, 0x00000600,
+ 0x8004b2ec, 0x0000f902, 0x25c00000, 0x00008600, 0xffffffff, 0x00007f97,
+ 0x01400c94, 0x00001283, 0x01619432, 0x0000e111, 0x41699532, 0x00004911,
+ 0xc1599332, 0x00001910, 0x00003c22, 0x00007008, 0x3c323bb8, 0x00007004,
+ 0x3c353bc8, 0x0000f500, 0x0140a000, 0x00001980, 0x08002305, 0x00006900,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008920ec, 0x0000d780, 0x00005000, 0x00008080, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb9182304, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x0023c022, 0x3c401b5f,
+ 0x0000f004, 0x000000c0, 0x001e1bdd, 0x001235fb, 0x00123548, 0x001e3505,
+ 0x001e16a1, 0x001e1ffc, 0x001e4720, 0x001e1975, 0x001e17d4, 0x001e1889,
+ 0x001e1f0a, 0x001e187e, 0x00000090, 0x0012293d, 0x001e2a27, 0x001e2431,
+ 0x001e2251, 0x00122d8b, 0x00122737, 0x001e2dfa, 0x001e2c34, 0x001e2e53,
+ 0x00000020, 0x00123f6a, 0x001e46d2, 0x00000020, 0x001241bf, 0x001e442c,
+ 0x00000030, 0x00123e68, 0x001e3cd0, 0x0012455e, 0x00000060, 0x001e05ab,
+ 0x001e0b61, 0x000404ed, 0x000405aa, 0x000404a0, 0x001e048b, 0x00000070,
+ 0x001e10c3, 0x001e15b7, 0x001e13af, 0x001e14d9, 0x001e0e15, 0x001e1215,
+ 0x001e0f12, 0x00000060, 0x00083115, 0x0012334e, 0x001e36f0, 0x001e3921,
+ 0x001e30de, 0x001e3954, 0x00000030, 0x00122fd7, 0x0012380d, 0x001238d5,
+ 0x00000020, 0x00123ca3, 0x000a3c42, 0x00000050, 0x0012334e, 0x000c3115,
+ 0x00122fd7, 0x001e3ad4, 0x001e3b85, 0x00000060, 0x0001000a, 0x00001e08,
+ 0x58befdf4, 0x00000000, 0x01020200, 0x00400804, 0x00000020, 0x00000000,
+ 0x00000001, 0x000000f0, 0x98180003, 0x98180005, 0x000000ff, 0x000000ff,
+ 0x98180004, 0x98180006, 0x94140000, 0x000000ff, 0x000000ff, 0x000000ff,
+ 0xb4340001, 0x000000ff, 0xcc4c000a, 0x000000ff, 0xcc4c000a, 0x00000712,
+ 0x000000ff, 0x00000060, 0x00000000, 0x00000000, 0x94140002, 0x000000ff,
+ 0xa424000b, 0x000000ff, 0x00000020, 0x01460000, 0x00000018, 0x000000e0,
+ 0xfffff007, 0x00000fff, 0x07ffff01, 0x00000ffe, 0x07ffff01, 0x00000ffe,
+ 0xfffff001, 0x00000fff, 0x00fff079, 0x00000f00, 0xf8003ff9, 0x00000fff,
+ 0x07ffff01, 0x00000ffe, 0x00010012, 0x001e1c78, 0x000f7a40, 0xffffffff,
+ 0x00007f86, 0x00011bf9, 0x0000f004, 0x9d9722e4, 0x0000e100, 0x9f401ee3,
+ 0x0000c880, 0x9f771a7d, 0x00009100, 0x4b43e07d, 0x00007902, 0x1dc00000,
+ 0x00008004, 0x1dc00c46, 0x00001283, 0x4b7bf47d, 0x00002084, 0x9f913226,
+ 0x0000e110, 0x9dd93326, 0x0000c910, 0x00000074, 0x00007008, 0xc0113326,
+ 0x00009502, 0x00000146, 0x0000700b, 0x9f53f277, 0x00006100, 0x0b823478,
+ 0x00002004, 0x80004a7d, 0x00006582, 0x18000000, 0x00008980, 0x1f73f7e4,
+ 0x0000e000, 0x1de3f477, 0x0000c131, 0x1dc05000, 0x0000e199, 0x0f43e87d,
+ 0x0000e180, 0x9e400a7d, 0x00006180, 0x18400000, 0x00000980, 0xa013ca7e,
+ 0x00006200, 0x18800000, 0x00000980, 0x1fc01a80, 0x00006080, 0x18c00000,
+ 0x00004980, 0x1f80f87f, 0x0000e784, 0x19000000, 0x00000980, 0x20c2607f,
+ 0x00006002, 0x19400000, 0x00008980, 0x2082687e, 0x0000e004, 0x19800000,
+ 0x00008980, 0x1fa3ba80, 0x0000e000, 0x19c00000, 0x00000980, 0x1a000000,
+ 0x000086e4, 0x1a800000, 0x000086ec, 0x1d7a674d, 0x00000710, 0x5eaa5b4b,
+ 0x00008733, 0x0003f07d, 0x0000e502, 0x9e401c77, 0x00008880, 0x0003f07d,
+ 0x00001502, 0xffffffff, 0x00007f86, 0x00000124, 0x0000f038, 0x00000110,
+ 0x00007008, 0x1f54007d, 0x0000e100, 0x13000600, 0x00000980, 0x13400000,
+ 0x0000f900, 0x000014c0, 0x00008980, 0x2040187d, 0x0000e080, 0x75e8004c,
+ 0x00006101, 0x1f800000, 0x00006180, 0x0014084d, 0x00006106, 0x703a68ec,
+ 0x0000d600, 0x003a6000, 0x00000000, 0x13400000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0x13200005, 0x00006180, 0x9340187d, 0x00004880, 0x703c18ec,
+ 0x00005600, 0x003c1000, 0x00008000, 0x1f400c78, 0x00006180, 0x0418104c,
+ 0x0000a187, 0x703a68ec, 0x0000d600, 0x003a6000, 0x00000000, 0x13225c4b,
+ 0x00006100, 0x9fa80500, 0x00004900, 0x0003e84c, 0x00006502, 0x1342784f,
+ 0x00000900, 0x9e000c4b, 0x0000e090, 0x9e000000, 0x00008988, 0x1302704e,
+ 0x00001900, 0x1f401a78, 0x00001880, 0x2002e07d, 0x00006002, 0x1f4004e0,
+ 0x00008980, 0x1fc0005d, 0x00006084, 0x75e8007d, 0x00002101, 0x700040ec,
+ 0x00005680, 0x003becc0, 0x00008010, 0x1f600005, 0x00009980, 0x703c00ec,
+ 0x00005600, 0x003bf800, 0x00000000, 0x0418107d, 0x00006987, 0x1fc00000,
+ 0x00007900, 0x000014c4, 0x00000980, 0x700040ec, 0x00005680, 0x003befc0,
+ 0x00000078, 0x9f540a79, 0x00001100, 0x9f401a81, 0x00006780, 0x0013e87f,
+ 0x00002106, 0x9f41827d, 0x00001080, 0x1f600005, 0x0000e180, 0x0423e87e,
+ 0x0000e085, 0x0418107d, 0x0000e187, 0x75e8007e, 0x0000b101, 0x703bf8ec,
+ 0x00005600, 0x003bf000, 0x00008000, 0x1f800000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0x703a70ec, 0x0000d600, 0x003a7800, 0x00000000, 0x9f940a79,
+ 0x00001100, 0x703bf0ec, 0x0000d600, 0x003be800, 0x00008000, 0x00c002ec,
+ 0x0000df80, 0x1003580b, 0x00001684, 0x39003c76, 0x0000809a, 0x11bff046,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x9f5be2e5, 0x0000e400, 0x80000806,
+ 0x0000a401, 0x12c00078, 0x000007a7, 0x9e11327d, 0x0000e200, 0x51a3bc77,
+ 0x00008901, 0x00000000, 0x0000f081, 0x80198230, 0x0000e502, 0x9dd18230,
+ 0x00008900, 0x9f598330, 0x00001900, 0x00000140, 0x0000f009, 0x1ff3f7e4,
+ 0x00006000, 0x9813ea77, 0x0000c100, 0x80004a60, 0x00006582, 0x0f43f87f,
+ 0x00002180, 0x9f000a7f, 0x0000e180, 0x1de3ec77, 0x00000131, 0x9f53e27d,
+ 0x0000e200, 0x1dc05000, 0x00000999, 0x1f801a7d, 0x00006080, 0x0ac23478,
+ 0x0000e004, 0x1f00f87e, 0x0000e784, 0x18400000, 0x00000980, 0x2082807e,
+ 0x0000e002, 0x18800000, 0x00000980, 0x2002887c, 0x00006004, 0x18c00000,
+ 0x00008980, 0x1f23ba7d, 0x0000e000, 0x19000000, 0x00000980, 0x19400000,
+ 0x000006d8, 0x19c00000, 0x000006e0, 0x1a400000, 0x000006e8, 0x1ac00000,
+ 0x0000e180, 0x1d428851, 0x00004900, 0x1d3a5f50, 0x00000729, 0x9e6a5d4b,
+ 0x0000e100, 0x18000000, 0x00004980, 0x0003e07f, 0x0000e502, 0xa0401c77,
+ 0x00000880, 0x0003e07f, 0x00001502, 0xffffffff, 0x00007f86, 0x000000f3,
+ 0x00007038, 0x000000df, 0x0000f008, 0x1fd3e87f, 0x00006100, 0x14000600,
+ 0x00008980, 0x14400000, 0x00007900, 0x000014c0, 0x00008980, 0x1f40187f,
+ 0x00006080, 0x75e80050, 0x0000e101, 0x1f000520, 0x00006180, 0x0013e851,
+ 0x0000e106, 0x703a88ec, 0x00005600, 0x003a8000, 0x00008000, 0x14400000,
+ 0x00007900, 0x00007fc0, 0x00000980, 0x14200005, 0x0000e180, 0x9440187f,
+ 0x00004880, 0x703c10ec, 0x0000d600, 0x003c0000, 0x00000000, 0x04181050,
+ 0x0000e187, 0x75e8007c, 0x00003101, 0x703a88ec, 0x00005600, 0x003a8000,
+ 0x00008000, 0x146a5d4b, 0x00006100, 0x14000c78, 0x0000c180, 0x00028051,
+ 0x00006502, 0x9e53ea81, 0x00008100, 0x9e000d4b, 0x00006090, 0x9e000000,
+ 0x00008988, 0x700040ec, 0x00005680, 0x003be4c0, 0x00000010, 0x14001a78,
+ 0x00006080, 0x1f200005, 0x00004980, 0x2002f050, 0x0000e002, 0x0418107c,
+ 0x0000a187, 0x1fc0005f, 0x0000e084, 0x14429853, 0x00008900, 0x1f800000,
+ 0x0000f900, 0x000014c4, 0x00000980, 0x703c00ec, 0x00005600, 0x003bf800,
+ 0x00000000, 0x14029052, 0x0000e100, 0x0013c87e, 0x0000e106, 0x700040ec,
+ 0x00005680, 0x003be7c0, 0x00008078, 0x1f000000, 0x0000e180, 0x9e401a7d,
+ 0x00004780, 0x9f280500, 0x0000e100, 0x9e418279, 0x00004080, 0x0423c87c,
+ 0x00006885, 0x75e8007c, 0x0000e901, 0x703bf0ec, 0x0000d600, 0x003be000,
+ 0x00000000, 0x1f800000, 0x0000f900, 0x00007fc0, 0x00000980, 0x9f93ea81,
+ 0x00006100, 0x1f200005, 0x00008980, 0x703a90ec, 0x00005600, 0x003a9800,
+ 0x00008000, 0x0418107c, 0x0000e987, 0x703bf0ec, 0x0000d600, 0x003be000,
+ 0x00000000, 0x00c002ec, 0x0000df80, 0x1006a80b, 0x00001684, 0xb913b276,
+ 0x00006100, 0x11800846, 0x0000c380, 0x01801800, 0x0000e181, 0x9f5bbae5,
+ 0x0000c400, 0x52e3c478, 0x0000e101, 0x80000006, 0x0000e401, 0x9e400000,
+ 0x0000e181, 0x51a3bc77, 0x00004901, 0x9e19827d, 0x00001200, 0x00000000,
+ 0x0000f081, 0x142a5d4b, 0x0000e100, 0x1f400c78, 0x0000c180, 0x0003e850,
+ 0x0000e502, 0x1f000520, 0x00008980, 0x9e400d4b, 0x0000e090, 0x9e400000,
+ 0x00000988, 0x14429853, 0x00006100, 0x75e8007c, 0x00006101, 0x14029052,
+ 0x0000e100, 0x1f401a79, 0x0000c880, 0x1fc2f07d, 0x00001002, 0x700040ec,
+ 0x00005680, 0x003be4c0, 0x00000010, 0x1f200005, 0x00006180, 0x1f80005f,
+ 0x0000c084, 0x703bf8ec, 0x00005600, 0x003bf000, 0x00008000, 0x0418107c,
+ 0x0000e987, 0x700040ec, 0x00005680, 0x003be7c0, 0x00008078, 0x1f000600,
+ 0x00009980, 0x1f400000, 0x0000f900, 0x000014c4, 0x00000980, 0x9f280500,
+ 0x0000e100, 0x0014087d, 0x00006106, 0x75e8007c, 0x0000e901, 0x703be8ec,
+ 0x0000d600, 0x003be000, 0x00000000, 0x1f400000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0x9f401c77, 0x0000e080, 0x1f200005, 0x00004980, 0x703c10ec,
+ 0x0000d600, 0x003c0000, 0x00000000, 0x0418107c, 0x0000e987, 0x703be8ec,
+ 0x0000d600, 0x003be000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1008300b,
+ 0x00001684, 0xb913b276, 0x00006100, 0x11800846, 0x0000c380, 0x01801800,
+ 0x0000e181, 0x9f5bbae5, 0x0000c400, 0x52e3cc79, 0x0000e101, 0x80000006,
+ 0x0000e401, 0x9e400000, 0x0000e181, 0x51a3bc77, 0x00004901, 0x9e19827d,
+ 0x00001200, 0x00000000, 0x0000f081, 0x13225c4b, 0x00006100, 0x1f400c78,
+ 0x0000c180, 0x0003e84c, 0x00006502, 0x1342784f, 0x00000900, 0x9f000c4b,
+ 0x00006090, 0x9f000000, 0x00000988, 0x1302704e, 0x00001900, 0x1f401a7c,
+ 0x00009880, 0x2002e07d, 0x00006002, 0x1f4004e0, 0x00008980, 0x1fc0005d,
+ 0x00006084, 0x75e8007d, 0x00002101, 0x700040ec, 0x00005680, 0x003becc0,
+ 0x00008010, 0x1f600005, 0x00009980, 0x703c00ec, 0x00005600, 0x003bf800,
+ 0x00000000, 0x0418107d, 0x00006987, 0x700040ec, 0x00005680, 0x003befc0,
+ 0x00000078, 0x1fe00005, 0x00006180, 0x1f400600, 0x00004980, 0x1f800000,
+ 0x0000f900, 0x000014c4, 0x00000980, 0x9f680500, 0x00006100, 0x0013c87e,
+ 0x0000e106, 0x0418107f, 0x00006187, 0x75e8007d, 0x0000b101, 0x20000000,
+ 0x00007900, 0x00007fc0, 0x00000980, 0x703bf0ec, 0x0000d600, 0x003be800,
+ 0x00008000, 0x703c18ec, 0x00005600, 0x003c1000, 0x00008000, 0xa0001c77,
+ 0x00001880, 0x703c00ec, 0x00005600, 0x003bf800, 0x00000000, 0x00c002ec,
+ 0x0000df80, 0x1009b80b, 0x00009684, 0x39003c76, 0x0000809a, 0x11bff046,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x9f5be2e5, 0x0000e400, 0x80000806,
+ 0x0000a401, 0x12c0007c, 0x000087a7, 0x9e11327d, 0x0000e200, 0x51a3bc77,
+ 0x00008901, 0x00000000, 0x0000f081, 0xc0113326, 0x00006502, 0x9dd93326,
+ 0x00008900, 0x51800000, 0x00006189, 0x9f913226, 0x00004900, 0x0000000e,
+ 0x00007011, 0x00000000, 0x00007080, 0x80198230, 0x0000e502, 0x9dd18230,
+ 0x00008900, 0x51800000, 0x00006189, 0x9f598330, 0x00004900, 0x00000078,
+ 0x0000f011, 0x00000000, 0x00007080, 0x400025a8, 0x00006583, 0x9f5722e4,
+ 0x00008900, 0xdec08711, 0x00009283, 0xffffffff, 0x00007f86, 0x0000016f,
+ 0x0000f010, 0x0000016f, 0x0000f008, 0x04e3de7a, 0x0000e000, 0xc000081e,
+ 0x0000a403, 0x1fc88813, 0x0000e000, 0x90c23010, 0x0000a000, 0x1fc3fd7b,
+ 0x00009000, 0x9fc01ee3, 0x00006080, 0x0bc4a07f, 0x00004000, 0x9ff71a7f,
+ 0x00009100, 0x4b43e27f, 0x00007902, 0x1ec00000, 0x00008004, 0xffffffff,
+ 0x00007fa7, 0xa0118a7b, 0x00006200, 0x9f918b7c, 0x00008200, 0x1fc0227e,
+ 0x00001880, 0x04c2d07f, 0x0000e002, 0x1fc01a80, 0x00008880, 0x0542c07f,
+ 0x00006002, 0x0500005b, 0x00008084, 0xc013f37c, 0x0000e502, 0x05800059,
+ 0x00008084, 0x9fc00a31, 0x0000e090, 0x0000081f, 0x00002412, 0x8c400a31,
+ 0x00001090, 0x00000173, 0x00007008, 0x8013e27f, 0x00009502, 0x8c400000,
+ 0x0000e188, 0x0e82347f, 0x00006008, 0x1fc00c7f, 0x00009489, 0x61a3f846,
+ 0x0000e808, 0x1ec00000, 0x0000e181, 0xb913ea7d, 0x00004900, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x00007083, 0x1fc00a31, 0x0000e080, 0x1f800a7c,
+ 0x00008180, 0x1fc3f87e, 0x00001200, 0x1ff3d87f, 0x00009704, 0x1f97287f,
+ 0x00009200, 0x1fc0187e, 0x00001880, 0x1fc2b07f, 0x00001002, 0x8014027b,
+ 0x0000e502, 0x1f800057, 0x00008084, 0x2043f87f, 0x00006110, 0x2003f07e,
+ 0x0000c910, 0x1fc04000, 0x0000e190, 0x1f840881, 0x00004910, 0x000001a4,
+ 0x00007008, 0x01861c3c, 0x00007500, 0x21840080, 0x00006100, 0x0418107f,
+ 0x00006187, 0x2143f87f, 0x00006100, 0x20e86025, 0x00004980, 0x00c002ec,
+ 0x0000df80, 0x100c400b, 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x1ec00ce0, 0x00001283, 0x019b1c08, 0x0000f113, 0x9fc00a31,
+ 0x00006080, 0x0000081f, 0x0000a402, 0x8013e27f, 0x00006502, 0x8c400a31,
+ 0x00000080, 0x8c400000, 0x0000e188, 0x0e82347f, 0x00006008, 0x0000016f,
+ 0x0000f400, 0x1fc00c7f, 0x00009489, 0x61a3f846, 0x0000e808, 0x203bf77f,
+ 0x00000804, 0x20840080, 0x0000e100, 0x20e86005, 0x0000c980, 0x20004000,
+ 0x00006180, 0x21840881, 0x00004900, 0x01ad1c3c, 0x00007500, 0x1f841082,
+ 0x0000e100, 0x04181080, 0x00006187, 0x21440080, 0x00001900, 0x1ec00ce0,
+ 0x00001283, 0x01af1c08, 0x00007113, 0x1f800a7c, 0x0000e180, 0x1fc00a31,
+ 0x00008080, 0x20e06025, 0x0000e180, 0x1fc3f87e, 0x00004200, 0x1ffbd87f,
+ 0x00001704, 0x1ed7287f, 0x00009200, 0x1fc0187b, 0x00001880, 0x1f82a07f,
+ 0x00001002, 0x1ec00055, 0x00006084, 0x1fc3f07e, 0x00008900, 0x1fbbdf7f,
+ 0x00000800, 0x21804780, 0x000007bc, 0x01be1c3c, 0x0000f500, 0x0418107f,
+ 0x0000e987, 0x2143f87f, 0x00001900, 0x00c002ec, 0x0000df80, 0x100e000b,
+ 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x1ec00ce0,
+ 0x00001283, 0x019b1c08, 0x0000f113, 0x0000019b, 0x0000f000, 0x9e5722e4,
+ 0x0000e100, 0x1f001f11, 0x00004281, 0x0000147c, 0x00009583, 0x1f000000,
+ 0x00009991, 0x000001dd, 0x00007009, 0xdec01f11, 0x00001283, 0x1f000800,
+ 0x00001991, 0xffffffff, 0x00007f86, 0x1063e046, 0x00006800, 0xdec08711,
+ 0x00009283, 0x44419833, 0x00009910, 0x000001ec, 0x0000f009, 0x400025a8,
+ 0x00009583, 0x04800000, 0x0000e188, 0x1f0f2833, 0x00004208, 0x0000024e,
+ 0x00007011, 0x0001907c, 0x00001502, 0x9ec40660, 0x00006283, 0x04800800,
+ 0x00008988, 0x043bf810, 0x00007908, 0x003ffffe, 0x00008280, 0x0481d03a,
+ 0x0000e100, 0xf7e09011, 0x0000e001, 0x00000245, 0x00007010, 0x1f000c46,
+ 0x00009283, 0x00000219, 0x00007013, 0x1f003e60, 0x00001281, 0x0000247c,
+ 0x00006583, 0x1f000000, 0x00008981, 0x1f000800, 0x00001989, 0xffffffff,
+ 0x00007f86, 0xe7a3e011, 0x0000e801, 0xdec08711, 0x00006283, 0x9f588310,
+ 0x00008900, 0x9f63de7a, 0x00006010, 0xe99a5b4b, 0x00000900, 0x9f53eb10,
+ 0x00006010, 0xd2c00000, 0x00008980, 0xdec10711, 0x00009283, 0xc007ff79,
+ 0x0000e583, 0x9f53ed7b, 0x00008010, 0x0000022c, 0x0000700b, 0xdec10711,
+ 0x00006283, 0x0d80847c, 0x0000a080, 0x9f003c7c, 0x00006080, 0x9ec00000,
+ 0x0000c989, 0x9ec04000, 0x00006191, 0x9f13e378, 0x00004100, 0x277fe09d,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x2501502a, 0x00006100, 0x0e01c27d,
+ 0x00004000, 0x020d014c, 0x0000f404, 0x2885127d, 0x0000e000, 0xde13ea7c,
+ 0x00000100, 0x0a81527d, 0x0000e000, 0xa5f4be7b, 0x00000301, 0x00000876,
+ 0x00009582, 0x814010ec, 0x0000568c, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008808ec, 0x0000d788, 0x00c06141, 0x00000288, 0xb913ca79,
+ 0x00001900, 0xffffffff, 0x00007f86, 0x000808ec, 0x00005790, 0x00c06141,
+ 0x00000288, 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x00188032,
+ 0x0000e502, 0xe0000811, 0x0000a401, 0x1f000c48, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x0000021f, 0x00007008, 0x000001f4, 0x00007008, 0x400025a8,
+ 0x00006583, 0xe99a5b4b, 0x00000900, 0x04002010, 0x0000e388, 0xd2c00000,
+ 0x00008980, 0xdec08711, 0x00009283, 0x9f588310, 0x00001900, 0x9f63de7a,
+ 0x00009010, 0xdec10711, 0x00006283, 0x9f53eb10, 0x00000010, 0xffffffff,
+ 0x00007f86, 0xc007ff79, 0x0000e583, 0x9f53ed7b, 0x00008010, 0x000001fe,
+ 0x00007013, 0x00000876, 0x00006582, 0x69000800, 0x00008981, 0x29d3ea7d,
+ 0x0000e108, 0x29d72ae5, 0x0000c910, 0x02341a22, 0x00007500, 0xdec10711,
+ 0x00009283, 0x69804000, 0x00006191, 0x69800000, 0x0000c989, 0x0d80847c,
+ 0x0000e880, 0x9f003c7c, 0x00001880, 0x0239014c, 0x00007404, 0x9f13e378,
+ 0x00001100, 0xde13ea7c, 0x00009100, 0x00000876, 0x00009582, 0x814010ec,
+ 0x0000568c, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec,
+ 0x0000d788, 0x00c06141, 0x00000288, 0xb913ca79, 0x00001900, 0xffffffff,
+ 0x00007f86, 0x000808ec, 0x00005790, 0x00c06141, 0x00000288, 0xffffffff,
+ 0x00007f86, 0x00000000, 0x00007083, 0x0002507c, 0x00001502, 0x04040010,
+ 0x0000e388, 0x8000081f, 0x0000240b, 0x0e80083a, 0x00001088, 0x000001ec,
+ 0x00007008, 0x043bf810, 0x0000f900, 0x003ffffe, 0x00008280, 0x86400c46,
+ 0x0000f896, 0x70000000, 0x0000008f, 0xf1c35011, 0x00006001, 0x73835010,
+ 0x0000b000, 0x04bb4769, 0x0000010c, 0x450b546a, 0x00008110, 0xc54b5c67,
+ 0x00000112, 0x86400c46, 0x0000f896, 0x70000000, 0x0000008f, 0x1d800c46,
+ 0x00006283, 0x51800d46, 0x00008181, 0x123fe848, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x2000081e, 0x0000e40a, 0xf000081e, 0x00003411, 0x00000001,
+ 0x00007480, 0x9e400e79, 0x00006081, 0x89800a26, 0x00008088, 0xcc000b30,
+ 0x00001090, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x9a001ee3,
+ 0x00006080, 0x054b3967, 0x00004900, 0x92420666, 0x0000e283, 0x9a371a68,
+ 0x00000100, 0x9a001268, 0x00006080, 0x08033015, 0x0000a216, 0x4b207268,
+ 0x00002004, 0x01801800, 0x0000e181, 0x32435010, 0x0000e006, 0xc0000811,
+ 0x0000e401, 0x80000006, 0x0000b401, 0x054b3815, 0x0000e010, 0x05800000,
+ 0x00008981, 0x83800a0e, 0x00009080, 0x4b207268, 0x0000a804, 0x1a004766,
+ 0x00001880, 0x1a034767, 0x00009300, 0x0003400e, 0x00006a06, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec,
+ 0x00005780, 0x00c06141, 0x00000288, 0x00000001, 0x0000f080, 0x9f801ee3,
+ 0x0000e080, 0x9e5722e4, 0x0000c900, 0x9fb71a7e, 0x00006100, 0x19800000,
+ 0x00008980, 0x4b43da7e, 0x00007902, 0x1d800000, 0x00000004, 0x19c00000,
+ 0x00009980, 0x1a805000, 0x00009981, 0xffffffff, 0x00007f86, 0x9a13b2e5,
+ 0x0000e400, 0x9a5a4276, 0x00000200, 0x1a401a69, 0x00001880, 0x9ed18b48,
+ 0x00009400, 0x9ed3427b, 0x00009202, 0x00000301, 0x0000f013, 0x1f834858,
+ 0x00006002, 0x20d86026, 0x00008980, 0x20000059, 0x0000e084, 0x2043f07e,
+ 0x00000900, 0x1fbc0781, 0x00008808, 0x21804782, 0x00000884, 0x02911c3c,
+ 0x00007500, 0x04181081, 0x00006987, 0x21440881, 0x00001900, 0x00c002ec,
+ 0x0000df80, 0x1014980b, 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x1ec00ce0, 0x00001283, 0x02a61c08, 0x00007113, 0x1a800c6a,
+ 0x00009183, 0x00000343, 0x0000f00b, 0x801a4231, 0x00006502, 0x0ac3347e,
+ 0x00002000, 0x0e82347b, 0x0000e800, 0x000002fc, 0x0000f029, 0x0023dc7e,
+ 0x00009503, 0x00000285, 0x00007013, 0x80000666, 0x00009583, 0x08033068,
+ 0x0000ea46, 0x1a43467a, 0x00001040, 0x000003a8, 0x00007048, 0x1a424869,
+ 0x00001000, 0x00020666, 0x0000788c, 0x00000000, 0x00000000, 0xae400068,
+ 0x0000788a, 0x00000001, 0x00008060, 0xe603487c, 0x0000786a, 0xf8000000,
+ 0x00008185, 0x1f8342ec, 0x00009100, 0x1f80187e, 0x00009280, 0x1f83f57a,
+ 0x00001000, 0x1a43f069, 0x00009000, 0x0003487c, 0x00009502, 0x00000398,
+ 0x0000f06b, 0x0000006b, 0x00001582, 0x02c1025f, 0x00007113, 0x9f801ee3,
+ 0x0000e080, 0x12434869, 0x00004900, 0x9fb71a7e, 0x00006100, 0x9a400b48,
+ 0x00008080, 0x4b63427e, 0x0000a084, 0xd2000b48, 0x00009080, 0xffffffff,
+ 0x00007f97, 0x80134269, 0x00001502, 0xd2000000, 0x00009988, 0xffffffff,
+ 0x00007f86, 0xc0118b48, 0x00001502, 0x1a000000, 0x00006188, 0x1a400000,
+ 0x0000c988, 0x1a800000, 0x0000e188, 0x1ac00000, 0x00004988, 0x00000280,
+ 0x00007010, 0x9f9bdae5, 0x00006400, 0x9d918b48, 0x00008400, 0x9d93f276,
+ 0x00001202, 0x00000350, 0x00007013, 0x20e06026, 0x0000e180, 0x9d9bdb48,
+ 0x00004200, 0x1f802276, 0x00001880, 0x1ec2d07e, 0x00001002, 0x1d80005b,
+ 0x00006084, 0x1f03d87b, 0x00008900, 0x1ec08000, 0x0000e180, 0x1f83e07c,
+ 0x0000c900, 0x02e11c3c, 0x0000f500, 0x1f03b076, 0x00006100, 0x0418107b,
+ 0x0000e187, 0x21bbdf7c, 0x00008814, 0x00c002ec, 0x0000df80, 0x1017180b,
+ 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x03800ce0,
+ 0x00009283, 0x02f61c08, 0x00007113, 0x1f804766, 0x0000e080, 0xb913ca79,
+ 0x00004900, 0x1f83f767, 0x00009300, 0x0003f00e, 0x0000ea06, 0xffffffff,
+ 0x00007f86, 0x00000000, 0x00007083, 0x0023dc7e, 0x00009503, 0x9ed18b48,
+ 0x00001408, 0x000002ae, 0x0000f011, 0x9ed3427b, 0x00009202, 0x00000288,
+ 0x0000f00b, 0x20d86026, 0x00006180, 0x1f9a4348, 0x0000c900, 0x1fbbb07e,
+ 0x00009704, 0x1f87f87e, 0x00009280, 0x1f80187e, 0x00009880, 0x1f82a07e,
+ 0x00009002, 0x20000055, 0x0000e084, 0x2043f07e, 0x00000900, 0x1fbc0781,
+ 0x00008808, 0x21804782, 0x00000884, 0x030e1c3c, 0x0000f500, 0x04181081,
+ 0x00006987, 0x21440881, 0x00001900, 0x00c002ec, 0x0000df80, 0x1018800b,
+ 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x1ec00ce0,
+ 0x00001283, 0x03231c08, 0x00007113, 0x1f833069, 0x0000e002, 0x20d86026,
+ 0x00008980, 0x2003f07e, 0x00006100, 0x20400067, 0x00004084, 0x20bc0781,
+ 0x00008738, 0x21804782, 0x00000884, 0x032c1c3c, 0x0000f500, 0x04181081,
+ 0x00006987, 0x21440881, 0x00001900, 0x00c002ec, 0x0000df80, 0x1019700b,
+ 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x1ec00ce0,
+ 0x00001283, 0x03411c08, 0x0000f113, 0x1a800c6a, 0x00009183, 0x000002a8,
+ 0x00007013, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x01c00000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x035ae000, 0x00007900, 0x001229f8,
+ 0x00008980, 0x03962000, 0x00007900, 0x001f4dc8, 0x00008980, 0x02389f02,
+ 0x00008018, 0x82600500, 0x00008026, 0x03501bb2, 0x0000f500, 0x02c13f02,
+ 0x00000091, 0x81da4348, 0x00009900, 0x20e06026, 0x0000e180, 0x1f9a4348,
+ 0x0000c900, 0x1fb3b07e, 0x00001704, 0x1d87f87e, 0x00001280, 0x1f801876,
+ 0x00001880, 0x1f02b07e, 0x00009002, 0x1d800057, 0x00006084, 0x1f83e07c,
+ 0x00000900, 0x20004776, 0x000007b0, 0x035d1c3c, 0x0000f500, 0x21840080,
+ 0x00006100, 0x0418107c, 0x00006187, 0x2143e07c, 0x00001900, 0x00c002ec,
+ 0x0000df80, 0x101af80b, 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x03800ce0, 0x00009283, 0x03721c08, 0x0000f113, 0x20e06026,
+ 0x0000e180, 0x839a437b, 0x00004200, 0x1f80220e, 0x00001880, 0x1d83407e,
+ 0x00001002, 0x1f000069, 0x0000e084, 0x1ec3b076, 0x00000900, 0x1fbbe77b,
+ 0x00000818, 0x1ec08000, 0x00009980, 0x037d1c3c, 0x00007500, 0x0418107b,
+ 0x00006987, 0x2143d87b, 0x00001900, 0x00c002ec, 0x0000df80, 0x101bf80b,
+ 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x03800ce0,
+ 0x00009283, 0x03921c08, 0x00007113, 0x1f804766, 0x0000e080, 0xb913ca79,
+ 0x00004900, 0x1f83f767, 0x00009300, 0x0003f00e, 0x0000ea06, 0xffffffff,
+ 0x00007f86, 0x00000000, 0x00007083, 0x0000006b, 0x0000e582, 0x1a400000,
+ 0x00008980, 0x9f801ee3, 0x00006090, 0x1a800000, 0x00004980, 0x9fb71a7e,
+ 0x0000e110, 0x9d918b48, 0x00008400, 0x1ac00000, 0x0000e180, 0x9f80127e,
+ 0x00004090, 0x4b23427e, 0x00002014, 0xffffffff, 0x00007fa7, 0x9a000a68,
+ 0x00001090, 0x4b23427e, 0x0000a814, 0x9f9bdae5, 0x00006400, 0x1a000000,
+ 0x00000980, 0xd413f276, 0x00007816, 0xa8000000, 0x00008186, 0x1a418049,
+ 0x00006080, 0x0803307e, 0x0000a206, 0x0000007e, 0x00006582, 0x1a43f069,
+ 0x00000000, 0x1f83f2ec, 0x00009110, 0x1f80187e, 0x00001290, 0x000002bd,
+ 0x0000f008, 0x1a43f069, 0x00009000, 0xe603487c, 0x0000786a, 0xf8000000,
+ 0x00008185, 0x1e73d47b, 0x00006001, 0x1f824829, 0x00008100, 0x0023c87e,
+ 0x0000e502, 0x08033033, 0x0000a206, 0x054b3967, 0x00006100, 0xb0000811,
+ 0x00006401, 0x1f23d833, 0x00001100, 0x000003d5, 0x0000f020, 0x0000007e,
+ 0x00009582, 0x1f800000, 0x0000e190, 0x91c01ee3, 0x00004890, 0x91f71a47,
+ 0x00001110, 0x91c01247, 0x00001090, 0x4b003047, 0x00002015, 0xffffffff,
+ 0x00007fa7, 0x01800c06, 0x00001091, 0x4b183047, 0x0000a816, 0x0187846a,
+ 0x00009281, 0x00010406, 0x00001583, 0x000003f6, 0x0000700b, 0x0000007e,
+ 0x00009582, 0x0cc00000, 0x0000e188, 0x11c00000, 0x0000c988, 0xd2d24a29,
+ 0x00009108, 0x00000000, 0x0000f088, 0x4000057a, 0x0000e583, 0x11c3f07c,
+ 0x00000100, 0x0cc3f07c, 0x00006100, 0x11c00000, 0x00000988, 0x054b387e,
+ 0x00009008, 0x000003df, 0x0000f010, 0x83924a29, 0x00001100, 0x00000000,
+ 0x0000f480, 0x9e63ca0e, 0x00001100, 0xd2d3f279, 0x00009100, 0x1fa3c87e,
+ 0x00001100, 0x1fbfe07e, 0x00007900, 0x003ffffe, 0x00008280, 0x0003f07c,
+ 0x00009502, 0x0187846a, 0x000092b1, 0x000003c3, 0x00007019, 0x0000007c,
+ 0x00001582, 0x1f80207e, 0x00009190, 0xf1810406, 0x0000f892, 0xb0000000,
+ 0x0000818f, 0x400015a8, 0x00009583, 0x000003f1, 0x0000f00b, 0x91c01ee3,
+ 0x0000e080, 0x60001019, 0x00006402, 0x04001010, 0x00006380, 0x91f71a47,
+ 0x00000100, 0x91c01247, 0x00009080, 0x4b007247, 0x0000a006, 0x093ef824,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0xffffffff, 0x00007f97, 0x83800a0e,
+ 0x00009080, 0x4b087247, 0x0000a806, 0x11c3f07e, 0x0000e100, 0x83924a29,
+ 0x00004100, 0x00000000, 0x0000f480, 0x9e63ca0e, 0x00001100, 0xd2d3f279,
+ 0x00009100, 0x00052847, 0x00001502, 0x054b387e, 0x0000e018, 0x11c00000,
+ 0x00008998, 0x000003e1, 0x00007031, 0x000003d1, 0x0000f000, 0x08035447,
+ 0x0000e806, 0x11e23fe4, 0x00001800, 0x11c00847, 0x00001180, 0x0cc2387e,
+ 0x00006202, 0x2002387e, 0x00000200, 0x1f84007e, 0x0000e110, 0x91c01ee3,
+ 0x00008890, 0x91f71a47, 0x00001110, 0x00000409, 0x0000f008, 0x4000057a,
+ 0x0000e583, 0x91c01247, 0x00000080, 0x4b007047, 0x00002006, 0xffffffff,
+ 0x00007fa7, 0x83800a0e, 0x00009080, 0x4b087047, 0x00002806, 0x11c00000,
+ 0x00009981, 0x11c00800, 0x00009989, 0xffffffff, 0x00007f86, 0x10623810,
+ 0x0000e800, 0x0000007e, 0x00006582, 0x00000846, 0x0000a401, 0x0cc00000,
+ 0x0000e188, 0x11c00000, 0x0000c988, 0xd2d24a29, 0x00009108, 0x00000000,
+ 0x0000f088, 0x000003cb, 0x00007000, 0x40000da8, 0x00006583, 0xdf5722e4,
+ 0x00000900, 0x8cc01ee3, 0x00006090, 0x1241a034, 0x0000c910, 0x91c00b31,
+ 0x0000e090, 0xd2000b31, 0x00000090, 0x00000445, 0x00007008, 0x9db71a33,
+ 0x00001100, 0x4b619a76, 0x0000a084, 0xffffffff, 0x00007fa7, 0x80119a47,
+ 0x00009502, 0x00000477, 0x0000f00b, 0x19800000, 0x00009981, 0x041f0279,
+ 0x0000f204, 0xdaf94866, 0x00000730, 0x01803e60, 0x00006281, 0x0cea3679,
+ 0x00000000, 0x00001c06, 0x00006583, 0x1ec0156a, 0x00000881, 0x5e800000,
+ 0x00006189, 0x9e818000, 0x00004989, 0x00001833, 0x00009582, 0x1d801800,
+ 0x000099b9, 0x51b3cc76, 0x00006139, 0x03b3cc76, 0x00008139, 0x0000043d,
+ 0x0000f050, 0x01800c46, 0x0000e283, 0x9d801ee3, 0x00008880, 0x9db71a76,
+ 0x00006100, 0x8391340e, 0x00008008, 0x4b403476, 0x0000a08c, 0x00000461,
+ 0x00007010, 0x1d90720e, 0x00006100, 0x0b823433, 0x0000e004, 0xffffffff,
+ 0x00007f86, 0x01800c33, 0x0000e181, 0x1da03076, 0x00008704, 0x01a3b406,
+ 0x00001201, 0x1d800c06, 0x00001081, 0x0023b433, 0x00001503, 0x1d800000,
+ 0x00009989, 0xffffffff, 0x00007f86, 0x0023b44b, 0x00001503, 0xdea25c4b,
+ 0x00001909, 0x0000048e, 0x00007011, 0xc0118b48, 0x00001502, 0xb91beb7d,
+ 0x0000e108, 0x0cc00000, 0x0000c988, 0x11c00000, 0x00009988, 0xffffffff,
+ 0x00007f97, 0x00000000, 0x0000f08b, 0x000003b2, 0x00007200, 0xb91beb7d,
+ 0x00001900, 0x0cc01446, 0x00001283, 0x00000451, 0x0000700b, 0x00014849,
+ 0x00001502, 0x19ad45a8, 0x0000e169, 0x9d801ee3, 0x0000c8e8, 0x9db71a76,
+ 0x00001168, 0x9d801276, 0x000010e8, 0x4b019a76, 0x0000a0ee, 0xffffffff,
+ 0x00007f86, 0x0000041d, 0x0000746b, 0x8cc00a33, 0x000010e8, 0x4b099a76,
+ 0x0000a8ee, 0x91c01ee3, 0x0000e080, 0x1241a034, 0x00004900, 0xd2000b31,
+ 0x0000e080, 0x9db71a47, 0x00008100, 0x9d801276, 0x00009080, 0x4b219a76,
+ 0x00002084, 0xffffffff, 0x00007fa7, 0x8cc00a33, 0x00009080, 0x4b219a76,
+ 0x0000a884, 0x8cc00b31, 0x00006080, 0x9db71a47, 0x00008100, 0x4b623a76,
+ 0x0000a084, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x07123a33,
+ 0x00007813, 0xb8000000, 0x00000283, 0x8cd9840e, 0x0000e000, 0x0ac2340e,
+ 0x0000a004, 0x4b487476, 0x00002084, 0x01800c0e, 0x00006181, 0x1d919a33,
+ 0x00008900, 0xffffffff, 0x00007f97, 0x1da87076, 0x00001704, 0x01a3b406,
+ 0x00001201, 0x1d800c06, 0x00001081, 0x0023b40e, 0x00009503, 0x1d800000,
+ 0x00009989, 0xffffffff, 0x00007f86, 0x4023b54b, 0x00001503, 0xdeaa5d4b,
+ 0x00001909, 0x00000479, 0x0000f011, 0xc0118b48, 0x00001502, 0x0cc00000,
+ 0x0000e188, 0x11c00000, 0x0000c988, 0xb91beb7d, 0x00009908, 0x00000443,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x0000041d,
+ 0x0000f200, 0x99a00000, 0x000084e1, 0x0cc00500, 0x00006180, 0x52e3b476,
+ 0x0000c901, 0x1d801c06, 0x0000e080, 0x8ce80500, 0x00004900, 0x11c2f076,
+ 0x0000e002, 0x75e80033, 0x00002101, 0x700040ec, 0x00005680, 0x00399cc4,
+ 0x00000010, 0x1da00005, 0x00006180, 0x1f00005f, 0x00004084, 0x14828050,
+ 0x00006100, 0x04181076, 0x00006187, 0x703a38ec, 0x0000d600, 0x003be000,
+ 0x00000000, 0x700040ec, 0x00005680, 0x003bb7c0, 0x00008078, 0x14c28851,
+ 0x00009900, 0x00c002ec, 0x0000df80, 0x1044600b, 0x00009684, 0x00000470,
+ 0x00007200, 0xdeaa5d4b, 0x00009901, 0x12fa6076, 0x00008438, 0x13c2684d,
+ 0x00006100, 0x1d801c06, 0x0000c880, 0x11c2e076, 0x00006002, 0x1d8004c0,
+ 0x00008980, 0x0cc0005d, 0x0000e084, 0x9da80500, 0x00000900, 0x75e80076,
+ 0x0000e901, 0x700040ec, 0x00005680, 0x003bb4c4, 0x00008010, 0x1da00005,
+ 0x00001980, 0x703a38ec, 0x0000d600, 0x00399800, 0x00008000, 0x04181076,
+ 0x0000e987, 0x700040ec, 0x00005680, 0x003bb7c0, 0x00008078, 0x00c002ec,
+ 0x0000df80, 0x1045000b, 0x00001684, 0x0000043d, 0x00007200, 0xdea25c4b,
+ 0x00009901, 0xdd808711, 0x00001283, 0xc007ff79, 0x0000e583, 0x0cc00000,
+ 0x00000990, 0x2a400800, 0x0000e189, 0x04000000, 0x00004988, 0x04400000,
+ 0x0000e188, 0x04800000, 0x0000c988, 0x00000001, 0x00007090, 0x1dc01da8,
+ 0x00006181, 0x04c00000, 0x00000980, 0x00000c77, 0x0000e583, 0x05000000,
+ 0x00008980, 0x05400000, 0x000001d8, 0x05c00000, 0x00001980, 0x04b1196d,
+ 0x0000f130, 0x800016a8, 0x00006583, 0x69000800, 0x00008981, 0x0439f810,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x69800400, 0x00008adc, 0x000004e7,
+ 0x00007208, 0x69800000, 0x00001981, 0x80000ea8, 0x00009583, 0x000004d1,
+ 0x0000f00b, 0x04bb1a22, 0x00007100, 0x0227f808, 0x00007900, 0x003ffffe,
+ 0x00008280, 0xd0003009, 0x0000e404, 0x30002010, 0x00003404, 0x037f800d,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x90000009, 0x00006401, 0x8000000d,
+ 0x0000b403, 0x82021800, 0x00006181, 0x05c42084, 0x0000c900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec,
+ 0x0000d780, 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x00000001, 0x00007480, 0x1e80547a,
+ 0x00006181, 0xde040378, 0x00008180, 0xde6d4f79, 0x00001101, 0x04d21a22,
+ 0x00007100, 0x0227f808, 0x00007900, 0x003ffffe, 0x00008280, 0x04002010,
+ 0x00006380, 0xd0003009, 0x00002404, 0x037f800d, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x90000009, 0x00006401, 0x8000000d, 0x0000b403, 0x82021800,
+ 0x00006181, 0x05c42084, 0x0000c900, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec, 0x0000d780, 0x00c06141,
+ 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x00000001, 0x00007280, 0xde6d4f79, 0x0000e101, 0x1e80547a,
+ 0x00000181, 0x00001a22, 0x00007000, 0x1dc00000, 0x0000f900, 0x001f8000,
+ 0x00008980, 0x1d801c18, 0x00006283, 0x001bc077, 0x0000a186, 0x1d818679,
+ 0x0000e080, 0x0423d077, 0x00002101, 0x00505000, 0x0000f900, 0x0004c010,
+ 0x00008980, 0x203bbeec, 0x0000d600, 0x003c2000, 0x00008000, 0x1dc05000,
+ 0x00006180, 0x807bcf79, 0x00004901, 0x1df3c877, 0x00006100, 0xd0000001,
+ 0x0000240c, 0x00003077, 0x00006582, 0xc0c05800, 0x00000980, 0x1dc03000,
+ 0x0000e1b8, 0x1d800876, 0x00004780, 0xc000b000, 0x00006181, 0x1ea3b476,
+ 0x0000c901, 0x1d801e03, 0x00006181, 0x1dc03077, 0x00000880, 0x1dc3f877,
+ 0x00009080, 0x40000546, 0x0000e583, 0x1dc03877, 0x00000784, 0x000800ec,
+ 0x00005780, 0x00985980, 0x00008580, 0x80e3bc76, 0x0000e001, 0x5ea3bc77,
+ 0x00008901, 0x1d801f00, 0x0000e181, 0x71f3c846, 0x00002010, 0x0000050f,
+ 0x0000f408, 0x000080ec, 0x00005780, 0x00005802, 0x00008080, 0xc023bc76,
+ 0x00009001, 0x40002d46, 0x00001583, 0x1dc03000, 0x0000e199, 0x1d800e79,
+ 0x0000c299, 0x51a3b477, 0x00001119, 0x1dc00c46, 0x0000e283, 0x1da25c4b,
+ 0x00000901, 0x1daa5d4b, 0x00001911, 0xffffffff, 0x00007f86, 0xc023b77a,
+ 0x00009503, 0x00000519, 0x0000f013, 0xffc00000, 0x00001980, 0xffffffff,
+ 0x00007f86, 0x00b3d6ec, 0x00005f02, 0x00005800, 0x00008084, 0x1d800c46,
+ 0x00006283, 0x9dc01ee3, 0x00000880, 0x9d913546, 0x00006008, 0x9df71a77,
+ 0x00000100, 0x4b43d877, 0x0000f902, 0x1e400000, 0x00000004, 0x0000052d,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x9ddbdae5, 0x00009400, 0x9dd3ba76,
+ 0x00001200, 0x8013c277, 0x00009502, 0x1382604c, 0x00006108, 0x13c2684d,
+ 0x0000c908, 0x1343a875, 0x00006108, 0x1303a074, 0x0000c908, 0x00000515,
+ 0x0000f010, 0x92e0027a, 0x00000fbd, 0xffffffff, 0x00007f86, 0x00b3d6ec,
+ 0x00005f02, 0x00005800, 0x00008084, 0x9d998546, 0x0000e000, 0x9ddbcae5,
+ 0x00008400, 0x9dd3ba76, 0x0000e200, 0xffc00000, 0x00008980, 0x8013c277,
+ 0x00009502, 0x14828050, 0x0000e108, 0x14c28851, 0x00004908, 0x52fbd77a,
+ 0x00006109, 0x1403a074, 0x00004908, 0x1443a875, 0x00009908, 0x00b3d6ec,
+ 0x00005f02, 0x00005800, 0x00008084, 0x0667f819, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x60000018, 0x0000e403, 0xc0000019, 0x0000b402, 0xc0000018,
+ 0x0000e403, 0x60000019, 0x00003403, 0x84018621, 0x00006283, 0xa0000019,
+ 0x0000a403, 0xa0001018, 0x00006412, 0x6000081f, 0x00003413, 0x1d810424,
+ 0x0000e283, 0x2000001e, 0x0000a403, 0x60000819, 0x0000e40a, 0xb0000811,
+ 0x0000b409, 0x054b3967, 0x0000e108, 0x04080010, 0x00004388, 0x1d81e76a,
+ 0x0000e281, 0xb0000011, 0x0000a411, 0x003e1847, 0x00007900, 0x0000000a,
+ 0x00000582, 0x9e523a47, 0x0000e130, 0x9e7e2005, 0x00004998, 0x0001e476,
+ 0x0000e583, 0xa0000811, 0x00002401, 0x80000098, 0x0000e403, 0xd0000011,
+ 0x0000b401, 0x063fe018, 0x0000f908, 0x003ffffe, 0x00008280, 0x07a7f81e,
+ 0x0000f908, 0x003ffffe, 0x00008280, 0x00000560, 0x0000f408, 0xaa001000,
+ 0x00006181, 0xc413ca79, 0x00004900, 0x1e809c7a, 0x00006189, 0xde400f79,
+ 0x00000189, 0x11d3c847, 0x0000e100, 0x09835476, 0x00002006, 0x1e405c7a,
+ 0x00001181, 0x1ea3b479, 0x00001101, 0x00000001, 0x00007480, 0x000808ec,
+ 0x0000d780, 0x00c06141, 0x00000288, 0x11802046, 0x00006380, 0xde400f79,
+ 0x00008181, 0x01801800, 0x0000e181, 0x0013000e, 0x0000e206, 0x82022800,
+ 0x00006181, 0x80000006, 0x0000e401, 0x00000876, 0x00006582, 0x04000810,
+ 0x00000380, 0x00000876, 0x00009582, 0xffffffff, 0x00007f86, 0x0000057b,
+ 0x00007008, 0x00000578, 0x0000f028, 0x00001876, 0x00001582, 0x01803800,
+ 0x0000e189, 0x90001810, 0x0000640c, 0x80000806, 0x00006c09, 0x00000001,
+ 0x00007090, 0x057f0255, 0x0000f500, 0x000808ec, 0x0000d780, 0x00c06141,
+ 0x00000288, 0xde401779, 0x00001181, 0x0000057d, 0x00007200, 0x04572961,
+ 0x0000e200, 0x90000010, 0x00002404, 0x01803800, 0x00006181, 0x90000810,
+ 0x00006404, 0x00000574, 0x00007200, 0x1e80547a, 0x00009181, 0x000004e8,
+ 0x00007000, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x40000546,
+ 0x00001583, 0x000005a3, 0x0000700b, 0x1d818679, 0x00001080, 0x38400c76,
+ 0x00009881, 0xffffffff, 0x00007fc7, 0x18020300, 0x0000f904, 0x01803e60,
+ 0x00009281, 0x00000c06, 0x00001583, 0x0000059d, 0x0000f00b, 0x059f0565,
+ 0x0000f500, 0x01800c46, 0x00001283, 0x1d801800, 0x00006188, 0x1d800000,
+ 0x00004990, 0x40000546, 0x00001583, 0x00000584, 0x00007013, 0xc007ff79,
+ 0x00001583, 0xc000081d, 0x0000640a, 0x6000101c, 0x0000b40a, 0xc000081c,
+ 0x0000ec0b, 0x059604e8, 0x00007108, 0x1d818679, 0x00001080, 0x38400c76,
+ 0x00009881, 0xffffffff, 0x00007fc7, 0x18020300, 0x0000f904, 0x01803e60,
+ 0x00009281, 0x00000c06, 0x00001583, 0x0000058b, 0x00007013, 0x059f0565,
+ 0x0000f300, 0x1d800800, 0x00001980, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x40000546, 0x00001583, 0x00000584, 0x00007013, 0x058f0002,
+ 0x00007004, 0x01400c46, 0x0000e283, 0x01225c4b, 0x00000901, 0x018000c0,
+ 0x00006180, 0x012a5d4b, 0x00004911, 0x01800c46, 0x0000e283, 0x02000c46,
+ 0x00008281, 0x01803800, 0x0000e189, 0x01801800, 0x00004991, 0x1d840446,
+ 0x00006283, 0x02c00000, 0x00000980, 0x1d860424, 0x0000e281, 0x18031062,
+ 0x00008910, 0x18431863, 0x0000e110, 0x0000180b, 0x00006106, 0x00020476,
+ 0x00006583, 0x03972ae5, 0x00008900, 0x84002302, 0x00006780, 0x02000c08,
+ 0x00008481, 0x0e423679, 0x00006000, 0x0f82467a, 0x00003082, 0x07000000,
+ 0x00007900, 0x0004000a, 0x00000980, 0x02400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x03400800, 0x0000f900, 0x0001c000, 0x00000980, 0xc000180b,
+ 0x0000e006, 0x4510800e, 0x00003107, 0xde2f2004, 0x0000e180, 0x86204006,
+ 0x00006001, 0x0218b000, 0x0000f900, 0x00021040, 0x00000980, 0x9ea7f854,
+ 0x000087e7, 0x5e000000, 0x000007d4, 0x1d000000, 0x00006180, 0x5eaa4548,
+ 0x00004901, 0x9ec01000, 0x000001e0, 0x06400000, 0x000001e8, 0x06c00000,
+ 0x00006180, 0x07400012, 0x00004980, 0x07814000, 0x000081fc, 0x88000000,
+ 0x000080dc, 0x03000000, 0x000000fc, 0x02a81402, 0x00008028, 0x04400000,
+ 0x000001c8, 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8, 0x05c00784,
+ 0x000006b0, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000,
+ 0x000007c8, 0x1cc00000, 0x000080d4, 0x0000074b, 0x00007408, 0x5e800304,
+ 0x00008180, 0x01000802, 0x0000e180, 0x27000000, 0x0000c990, 0x27400000,
+ 0x000009f8, 0x27c00000, 0x00000ac0, 0x05e118fa, 0x0000f500, 0x28400000,
+ 0x00000ac8, 0x28c00000, 0x00001980, 0x26000000, 0x000009d0, 0x25400000,
+ 0x00006180, 0x967d4098, 0x0000e001, 0x25800000, 0x000089dc, 0x26400000,
+ 0x000009e8, 0xaa400400, 0x000089ec, 0x5c600327, 0x0000c491, 0xde0025a8,
+ 0x0000818b, 0xfae015a8, 0x0000c488, 0xd0001da8, 0x00000289, 0x18800da8,
+ 0x00004489, 0x04004da8, 0x0000028c, 0x244005a8, 0x0000f892, 0xd0400000,
+ 0x00008481, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x1d801448,
+ 0x00001283, 0x40000546, 0x00001583, 0xffffffff, 0x00007f86, 0x000007a9,
+ 0x0000f010, 0x000007a2, 0x00007008, 0x1d818679, 0x0000e080, 0x01800c46,
+ 0x00000281, 0x38400c76, 0x0000e081, 0x01800c06, 0x00004481, 0x86203006,
+ 0x0000e001, 0xb0000811, 0x00003401, 0x01800c46, 0x0000e283, 0x12800000,
+ 0x00000980, 0x01801800, 0x00006191, 0x01803800, 0x0000c989, 0xffffffff,
+ 0x00007f97, 0x18020300, 0x0000f904, 0xc0000761, 0x00001583, 0x1f7b0aec,
+ 0x0000e111, 0x03806761, 0x00008191, 0x1f401c7d, 0x0000e291, 0xf0000810,
+ 0x0000a410, 0x000006b6, 0x00007210, 0x1d8b0961, 0x0000e108, 0x1ee3ec0e,
+ 0x00004011, 0xffffffff, 0x00007f86, 0x00000076, 0x00001582, 0x1dc03e60,
+ 0x00001289, 0x000006ab, 0x00007011, 0x00000c77, 0x00001583, 0x03800c48,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x00000ac1, 0x0000f008, 0x00000ab9,
+ 0x0000f010, 0x00001c77, 0x00006583, 0x1d807f60, 0x00008281, 0x1dc00000,
+ 0x0000e181, 0x5e800000, 0x00004989, 0x9e818000, 0x00006189, 0x0013000e,
+ 0x0000e206, 0x00004c76, 0x0000e583, 0x34030010, 0x0000a006, 0x1d807f60,
+ 0x00006283, 0x1dc00800, 0x00000991, 0x1d800000, 0x00001981, 0x1d800800,
+ 0x00001991, 0xffffffff, 0x00007f86, 0x1da3b477, 0x00001203, 0x083b0476,
+ 0x0000680e, 0x1da3b7e4, 0x00009808, 0x00000ac5, 0x00007010, 0x00000047,
+ 0x00006582, 0xdd93b276, 0x00008900, 0x1dc19833, 0x00001908, 0x00000748,
+ 0x00007011, 0x00000033, 0x00009582, 0xc0000811, 0x0000ec09, 0x000006a4,
+ 0x00007011, 0x80198a31, 0x00001502, 0x0cc22032, 0x00009c10, 0x00000734,
+ 0x0000f009, 0x1d810446, 0x00009283, 0x0000069a, 0x0000700b, 0x00000033,
+ 0x00006582, 0x1dc19833, 0x00000900, 0x20619aec, 0x00009111, 0x20401c81,
+ 0x00001291, 0x000006a2, 0x00007208, 0x206bd481, 0x00009011, 0xc4008711,
+ 0x0000e283, 0x1f1bc378, 0x00008900, 0x1db3d47b, 0x0000e011, 0x1d800000,
+ 0x00000989, 0x0005287c, 0x00006502, 0x5ee40c81, 0x00000901, 0x2043bc81,
+ 0x0000e000, 0xa0000010, 0x00002480, 0x9e440227, 0x0000e080, 0x9f9bc378,
+ 0x00008900, 0x000006e0, 0x00007220, 0x1f113a27, 0x00006128, 0x1dc40c76,
+ 0x0000c000, 0x00113877, 0x00009502, 0x801bc279, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x000006dc, 0x00007028, 0x000006de, 0x0000f018, 0x20513877,
+ 0x00006100, 0x1fc00000, 0x00008981, 0x0004087c, 0x00006502, 0x1dc3b8a5,
+ 0x00008100, 0x1fc00c7f, 0x00006081, 0x9f93cb78, 0x00000100, 0x1d80fc7f,
+ 0x0000e281, 0x1f440877, 0x00000000, 0x0000065b, 0x00007018, 0x8013f279,
+ 0x00001502, 0x1fc0fc7f, 0x0000e2b1, 0x20513881, 0x00000130, 0x9f93ca7e,
+ 0x0000e130, 0x1f440877, 0x00000030, 0x000006c5, 0x0000f018, 0x0004087c,
+ 0x00006502, 0x1fc00c7f, 0x00000081, 0x1d80fc7f, 0x00001281, 0x00000651,
+ 0x0000f031, 0x2943e87d, 0x0000e100, 0xa2a3b010, 0x00006080, 0x1f6bd57a,
+ 0x00009900, 0x0004087d, 0x00001502, 0x1dc40081, 0x000060a8, 0x1f93f27e,
+ 0x00000928, 0x000006ca, 0x0000f021, 0x0003b87e, 0x00001502, 0x294408a5,
+ 0x00006120, 0x0d808476, 0x000020a0, 0x1d800c76, 0x000010a1, 0x000006b9,
+ 0x00007028, 0xa2a3b010, 0x0000e880, 0x1d800000, 0x00001981, 0xc4119a33,
+ 0x00006100, 0xd0000811, 0x00006401, 0xddc00f06, 0x00006283, 0x86023010,
+ 0x00002000, 0x00000046, 0x00006c01, 0xddeffb10, 0x00007900, 0x0000003e,
+ 0x00000282, 0xffffffff, 0x00007f86, 0x00000796, 0x0000f008, 0x0000077f,
+ 0x00007010, 0x00000476, 0x00001583, 0x0000076b, 0x00007013, 0x1d83c410,
+ 0x00009281, 0x0003c476, 0x00007890, 0x00000000, 0x00000000, 0x00000310,
+ 0x0000788a, 0x00000000, 0x00008020, 0x1bc7ff79, 0x0000c792, 0x0e010711,
+ 0x00000092, 0xd587ff79, 0x00007893, 0x00000001, 0x00000080, 0xffffffff,
+ 0x00007f86, 0xc0000310, 0x00001582, 0x0f408476, 0x00006816, 0x1d805c76,
+ 0x00001091, 0x00000686, 0x0000f010, 0x0000047b, 0x00009583, 0x1d805800,
+ 0x00006191, 0x1d805000, 0x0000c989, 0xffffffff, 0x00007f86, 0x0023b47a,
+ 0x00009503, 0x00000754, 0x0000f02b, 0x068c01d4, 0x0000f204, 0x1d800800,
+ 0x00006180, 0x1ea3b47a, 0x00004101, 0x400025a8, 0x00006583, 0x0cd88033,
+ 0x00000100, 0x0c988032, 0x0000e108, 0x1298804a, 0x00008108, 0x00000691,
+ 0x00007011, 0x00000032, 0x0000e582, 0xde6d4f79, 0x00008101, 0x0000004a,
+ 0x0000e582, 0x0c825045, 0x00000c08, 0x12001048, 0x00001390, 0x06970255,
+ 0x00007109, 0x00000033, 0x00009582, 0x000005ef, 0x0000f00b, 0x069a04e8,
+ 0x0000f100, 0x1f403e60, 0x00009281, 0x0000147d, 0x00001583, 0x1d801448,
+ 0x00001283, 0x1d800c46, 0x00009283, 0x00000630, 0x00007008, 0x00000630,
+ 0x00007010, 0x00000630, 0x00007010, 0x0cc00000, 0x00001980, 0x00000636,
+ 0x00007200, 0x20400000, 0x00009981, 0x00000033, 0x00006582, 0xc0000011,
+ 0x0000a401, 0x20619aec, 0x00009111, 0x20401c81, 0x00001291, 0x00000636,
+ 0x0000f210, 0x206bd481, 0x00009011, 0x000006a2, 0x00007000, 0x03800c46,
+ 0x00009283, 0x0c8b0961, 0x0000e110, 0x128b0961, 0x0000c910, 0x000006b6,
+ 0x00007011, 0x03808446, 0x00009283, 0x000006d1, 0x00007013, 0x03800c48,
+ 0x00001283, 0x128b0961, 0x0000e110, 0x12822961, 0x00004c08, 0xffffffff,
+ 0x00007f86, 0x0c825045, 0x00001c00, 0x00000613, 0x0000f200, 0x1dc03e60,
+ 0x00009281, 0x2043b877, 0x00009900, 0x1d800000, 0x00001981, 0x9f519d7b,
+ 0x00006000, 0xd0000011, 0x00002401, 0xc4140a7d, 0x00009100, 0x86023010,
+ 0x0000e000, 0x00000046, 0x0000b401, 0xe5800f06, 0x0000f88f, 0x00000001,
+ 0x00008000, 0xdfeffb10, 0x0000f897, 0x0000003f, 0x00000000, 0xdac00476,
+ 0x0000f893, 0xa8000000, 0x00000383, 0x2943e87d, 0x0000e100, 0xa2a3b010,
+ 0x00006080, 0x1f6bd57a, 0x00009900, 0x0004087d, 0x00001502, 0x000006cc,
+ 0x0000f02b, 0x00000081, 0x00009582, 0x00000668, 0x0000f00b, 0x0003e881,
+ 0x00001502, 0x1d800000, 0x0000e189, 0x294408a5, 0x0000c108, 0x000006b9,
+ 0x00007011, 0x00000669, 0x0000f000, 0x03810446, 0x00006283, 0x1dc03e60,
+ 0x00000281, 0x000006d7, 0x00007013, 0x00001477, 0x00001583, 0x12800000,
+ 0x00001990, 0x00000613, 0x00007011, 0x0c822045, 0x00009c00, 0x00000613,
+ 0x0000f400, 0xffffffff, 0x00007f86, 0x0c8b0832, 0x0000e400, 0x128b0832,
+ 0x0000cc00, 0x0000065d, 0x0000f200, 0x20440c76, 0x00009000, 0x000006c7,
+ 0x0000f200, 0x20440c76, 0x00009000, 0x00113877, 0x00006502, 0x1f513a27,
+ 0x00000900, 0x001138a5, 0x00009502, 0xffffffff, 0x00007f86, 0x0000070d,
+ 0x0000f028, 0x000006fa, 0x0000f028, 0x801bc279, 0x00009502, 0x1fd138a5,
+ 0x0000e130, 0x1dd13877, 0x00000130, 0x1d800000, 0x000019b1, 0x000006fa,
+ 0x0000f018, 0x1d800c76, 0x00006081, 0x9f93ca7e, 0x00008100, 0x00113877,
+ 0x00006502, 0x1f00fc76, 0x00008281, 0x0003e87f, 0x00009502, 0x8013ca7e,
+ 0x00001502, 0x0000070b, 0x0000f028, 0x000006f8, 0x00007028, 0x000006f8,
+ 0x00007028, 0x000006eb, 0x00007400, 0x1d80fc76, 0x0000e281, 0x1dd13877,
+ 0x00000100, 0x1fd1387f, 0x00009100, 0x2943f87f, 0x0000e100, 0xa2a3e010,
+ 0x00006080, 0x1f6bd57a, 0x00009900, 0x00000077, 0x00009582, 0x20400000,
+ 0x00009988, 0x0000072c, 0x0000f011, 0x5d83e510, 0x00009283, 0x00000729,
+ 0x00007013, 0x40001da8, 0x00001583, 0x1f4150a5, 0x00009008, 0x0000071e,
+ 0x00007009, 0x400015a8, 0x00009583, 0x0000071d, 0x0000f00b, 0x00000081,
+ 0x00006582, 0x1d800800, 0x00000981, 0x000006ba, 0x0000f013, 0x0000066b,
+ 0x0000f200, 0xc4119a33, 0x00006100, 0xd0000811, 0x00006401, 0x2943f87f,
+ 0x0000e100, 0xa2a3e010, 0x00006080, 0x002bd077, 0x00006502, 0x1f6bd57a,
+ 0x00000900, 0x0003b8a5, 0x00001502, 0xffffffff, 0x00007f86, 0x000006fb,
+ 0x00007030, 0x0000072c, 0x0000f028, 0x1f040077, 0x0000e080, 0x1f93f27e,
+ 0x00000900, 0x0003e07e, 0x00009502, 0x2943b8a5, 0x00006120, 0x0d80847d,
+ 0x0000a0a0, 0x1d800000, 0x0000e1a1, 0x1f400c7d, 0x000040a1, 0x0000072c,
+ 0x0000f028, 0x00000669, 0x00007200, 0xa2a3e810, 0x00006880, 0x1f4148a5,
+ 0x00001000, 0x1f5a587d, 0x00001100, 0x0001c07d, 0x00009502, 0x001138a5,
+ 0x00009502, 0xffffffff, 0x00007f86, 0x00000705, 0x0000f010, 0x00000705,
+ 0x0000f020, 0x20452881, 0x0000e100, 0x0d80847d, 0x00002080, 0x29400000,
+ 0x00006180, 0x1f400c7d, 0x0000c081, 0xa2a3e810, 0x00006880, 0x1d800000,
+ 0x00001981, 0xae800081, 0x00007893, 0x40000000, 0x00008388, 0x0003e877,
+ 0x00001502, 0x2043b877, 0x00001910, 0x000006fe, 0x00007011, 0x0003b8a5,
+ 0x00001502, 0x1d800000, 0x0000e1a1, 0x2943b8a5, 0x0000c120, 0x0000073f,
+ 0x0000f029, 0x00000669, 0x0000f000, 0x9f401ee3, 0x0000e080, 0xc000101c,
+ 0x0000e403, 0x9f771a7d, 0x00006100, 0xc000301d, 0x00002406, 0x9f40127d,
+ 0x00009080, 0x4b03b07d, 0x0000a004, 0xffffffff, 0x00007f86, 0x073e04a2,
+ 0x0000f503, 0x1d800c76, 0x00009081, 0x4b03b07d, 0x00002804, 0x073f04e8,
+ 0x00007100, 0x0d80847d, 0x00006880, 0x0000047d, 0x00009583, 0x29452a27,
+ 0x00006010, 0x1f40fc7d, 0x00008091, 0x2043ba27, 0x00006010, 0xa2a3e810,
+ 0x0000a090, 0x000006b8, 0x00007008, 0x000006ba, 0x0000f200, 0x1d800800,
+ 0x00009981, 0x07490539, 0x00007100, 0x7bc00033, 0x0000788b, 0xc8000000,
+ 0x00008384, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000,
+ 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x27800000,
+ 0x000089fc, 0x07540580, 0x00007404, 0x28000000, 0x00008ac4, 0x28c00000,
+ 0x00008ac8, 0x075504a2, 0x0000f100, 0x075604e8, 0x00007100, 0x075704a2,
+ 0x00007100, 0x075804e8, 0x0000f100, 0x075904a2, 0x0000f100, 0x075a04e8,
+ 0x00007100, 0x063fe018, 0x00007900, 0x003ffffe, 0x00008280, 0x076001d4,
+ 0x0000f404, 0x07a7f81e, 0x00007900, 0x003ffffe, 0x00008280, 0x1d800000,
+ 0x00009980, 0x00000032, 0x0000e582, 0xde400f79, 0x00008181, 0x0c825045,
+ 0x0000e408, 0x1e809c7a, 0x00004181, 0x0000004a, 0x0000e582, 0xde000000,
+ 0x00008980, 0x12001048, 0x0000e390, 0xde6d4f79, 0x00008101, 0x07690255,
+ 0x00007109, 0x7bc00033, 0x0000788b, 0xc8000000, 0x00008384, 0x9f401ee3,
+ 0x0000e080, 0xa000281c, 0x00006406, 0x9f771a7d, 0x00006100, 0xc000101d,
+ 0x00002402, 0x9f40127d, 0x00006080, 0x6000081e, 0x0000a403, 0x4b39607d,
+ 0x0000a084, 0xc000101c, 0x00006c03, 0xffffffff, 0x00007f97, 0x0b00082c,
+ 0x00009080, 0x077804a2, 0x00007500, 0x4b39607d, 0x00002884, 0x0b015227,
+ 0x00001000, 0x077904e8, 0x0000f100, 0x00000310, 0x0000788a, 0x00000000,
+ 0x00008020, 0xfba7fc04, 0x0000c793, 0xfde10711, 0x00007091, 0x9f87fc04,
+ 0x0000f88b, 0xb0000000, 0x0000038a, 0x1f470760, 0x00001281, 0x0001047d,
+ 0x00007890, 0x00000000, 0x00000000, 0xe180047b, 0x00007893, 0x00000001,
+ 0x00008060, 0xdac00476, 0x0000f893, 0xa8000000, 0x00000383, 0x5d800d10,
+ 0x00006283, 0x9f5bb2ec, 0x00008100, 0x0d808477, 0x0000e890, 0x0000078d,
+ 0x00007009, 0x00000c77, 0x00001583, 0xa0000810, 0x00006cb8, 0xc4113a27,
+ 0x00009938, 0x9e53eae5, 0x00009400, 0x9dd19a79, 0x00009202, 0x0000079d,
+ 0x00007013, 0x00188033, 0x00009502, 0xc418827d, 0x00009218, 0x00000673,
+ 0x0000f031, 0xd0000011, 0x00006c01, 0x9d400476, 0x0000788b, 0x58000000,
+ 0x0000838b, 0xddc08711, 0x00009283, 0x04080010, 0x00001390, 0xffffffff,
+ 0x00007f86, 0xdfeffb10, 0x0000f897, 0x0000003f, 0x00000000, 0xdac00476,
+ 0x0000f893, 0xa8000000, 0x00000383, 0x001bb033, 0x00009502, 0xa0000810,
+ 0x0000ec98, 0xc4119a79, 0x00001218, 0x00000790, 0x00007030, 0x00000793,
+ 0x00007000, 0x07a30002, 0x00007004, 0x40000546, 0x00001583, 0xc007ff79,
+ 0x00001583, 0xffffffff, 0x00007f86, 0x000005f6, 0x00007010, 0x000007ae,
+ 0x00007008, 0x07a904e8, 0x00007100, 0x00000613, 0x0000f400, 0x01801800,
+ 0x0000e181, 0xb0000011, 0x0000e401, 0x1dc03e60, 0x00006281, 0x80000006,
+ 0x00002401, 0x1f401da8, 0x00006181, 0x2a400000, 0x00000981, 0x00000c7d,
+ 0x0000e583, 0x04000000, 0x00000980, 0x04400000, 0x000001c8, 0x04c00000,
+ 0x000081d0, 0x07b7196d, 0x00007530, 0x05400000, 0x000001d8, 0x05c00000,
+ 0x00001980, 0x800016a8, 0x00006583, 0x69000000, 0x00000981, 0x0439f810,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x69800400, 0x00008adc, 0x00000b1e,
+ 0x00007208, 0x69800000, 0x00001981, 0x80000ea8, 0x00009583, 0x00000ace,
+ 0x0000f00b, 0x07c11a22, 0x0000f100, 0x0227f808, 0x00007900, 0x003ffffe,
+ 0x00008280, 0xd0003009, 0x0000e404, 0x30002010, 0x00003404, 0x037f800d,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x90000009, 0x00006401, 0x8000000d,
+ 0x0000b403, 0x82021800, 0x00006181, 0x05c42084, 0x0000c900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec,
+ 0x0000d780, 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0xde040378, 0x0000e180, 0x1e80547a,
+ 0x00000181, 0x000007a8, 0x00007200, 0xde6d4f79, 0x00001101, 0x0001c02a,
+ 0x0000e502, 0x80001011, 0x00002403, 0x1dc19833, 0x0000e100, 0xa000281c,
+ 0x0000e416, 0x1d804446, 0x00006283, 0x29513a27, 0x00000900, 0x0001483b,
+ 0x00001502, 0xffffffff, 0x00007f86, 0x000007e1, 0x0000f008, 0x000007f4,
+ 0x00007008, 0x9f401ee3, 0x0000e080, 0xa000081f, 0x00006401, 0x1fc24849,
+ 0x00006100, 0x9f771a7d, 0x0000c100, 0x9f400a7d, 0x00009080, 0x4b01d87d,
+ 0x0000f902, 0x0cc00000, 0x00008004, 0xffffffff, 0x00007fa7, 0x0ec0083b,
+ 0x00001082, 0x0cc00033, 0x00009084, 0x07ef0410, 0x0000f404, 0x4b39d87d,
+ 0x0000d004, 0x00399800, 0x00008000, 0x9f794848, 0x0000032c, 0x00000047,
+ 0x00006582, 0x1243f87f, 0x00008900, 0xd213ea7d, 0x0000e100, 0x00019866,
+ 0x00006216, 0xffffffff, 0x00007f86, 0x80000666, 0x00006583, 0x1f404766,
+ 0x00000880, 0x1f43ef67, 0x00006300, 0x5e800000, 0x000009c9, 0x9e818000,
+ 0x0000e1c9, 0x0003e80e, 0x00006206, 0x00000047, 0x00006582, 0x0823547d,
+ 0x00002006, 0x01801800, 0x0000e181, 0x1f63efe4, 0x00004800, 0x32435010,
+ 0x0000e006, 0x80000006, 0x0000b401, 0x00000838, 0x0000f210, 0x9d93ea7d,
+ 0x00009900, 0x1e404446, 0x00009283, 0x08033033, 0x00006a16, 0xffffffff,
+ 0x00007f86, 0x00000033, 0x00009582, 0x1f400000, 0x00006189, 0xc0000011,
+ 0x0000e411, 0x1ec0156a, 0x00006089, 0x08033033, 0x0000e20e, 0x00000812,
+ 0x0000f010, 0x4000056a, 0x00006583, 0xc0000811, 0x00002401, 0x1f400800,
+ 0x00009991, 0xffffffff, 0x00007f86, 0x1f40156a, 0x0000e081, 0xf3e3e810,
+ 0x00006000, 0x0ce3e833, 0x00009100, 0x00000033, 0x00006582, 0x1f113829,
+ 0x00008000, 0x1f619aec, 0x00006111, 0x1f400000, 0x00008989, 0xa02f2004,
+ 0x0000e180, 0x9fc40227, 0x00004080, 0x1f401c7d, 0x00001291, 0x0003e038,
+ 0x0000e502, 0x1f6bd47d, 0x00000011, 0x1f014b4b, 0x00009168, 0x2941c07c,
+ 0x0000e068, 0x5ee3ec7d, 0x00000901, 0xc4008711, 0x0000e283, 0x1f419c7d,
+ 0x00008000, 0x20f3d47b, 0x0000e011, 0x20c00000, 0x00000989, 0xa0000010,
+ 0x00006c80, 0x1f6f2004, 0x0000e180, 0x20c3ec83, 0x00004000, 0x0005287d,
+ 0x00001502, 0x1f913a27, 0x00009928, 0x000008ab, 0x0000f021, 0x0004187e,
+ 0x00009502, 0x801bc27f, 0x00009502, 0xffffffff, 0x00007f86, 0x000008a0,
+ 0x00007018, 0x00000841, 0x00007018, 0x1f400800, 0x00006181, 0x20513883,
+ 0x00004100, 0x0004087e, 0x0000e502, 0xa013fa80, 0x00008100, 0x1e400c7d,
+ 0x000010b1, 0x0000089e, 0x00007019, 0x8014027f, 0x00009502, 0x1f40fc79,
+ 0x000062b1, 0x20513881, 0x00000130, 0x0000083f, 0x0000f019, 0x0000082f,
+ 0x0000f000, 0x08750539, 0x0000f300, 0x11804046, 0x00009380, 0x083f04e8,
+ 0x0000f500, 0xc000101c, 0x0000e403, 0xc000101d, 0x0000b402, 0x0b01502a,
+ 0x00006100, 0x6000081e, 0x00006403, 0x20c40881, 0x00006100, 0xa2a3e810,
+ 0x0000e080, 0x002bd083, 0x0000e502, 0x1f6bd57a, 0x00000900, 0x0000085b,
+ 0x0000f033, 0x9f519d7b, 0x00006000, 0xd0000011, 0x00002401, 0xc4141a7d,
+ 0x00001100, 0xdd800f06, 0x0000e283, 0x86023010, 0x00002000, 0x00000046,
+ 0x00006c01, 0x0000084d, 0x00007011, 0xdd808711, 0x00001283, 0x04080010,
+ 0x00001390, 0xffffffff, 0x00007f86, 0xddaffb10, 0x0000f900, 0x0000003e,
+ 0x00000282, 0x0000087c, 0x00007013, 0x1f43c410, 0x00001281, 0x0003c47d,
+ 0x00009583, 0x09835476, 0x0000e816, 0x1e405c76, 0x00001091, 0x00000867,
+ 0x00007008, 0xc0000310, 0x00001582, 0x00000860, 0x0000f00b, 0x087201d4,
+ 0x0000f404, 0x1d800800, 0x00001980, 0x1ea3cc7a, 0x00001101, 0x00000083,
+ 0x00001582, 0x00000864, 0x00007013, 0x00000847, 0x0000f200, 0xc4119a33,
+ 0x00006100, 0xd0000811, 0x00006401, 0x00000858, 0x00007400, 0x0000047b,
+ 0x00006583, 0x1e63b479, 0x00008101, 0x1e400c79, 0x00009189, 0x0003e883,
+ 0x00009502, 0x00000844, 0x0000f013, 0x0000085d, 0x0000f000, 0xc0000310,
+ 0x00001582, 0x09835476, 0x0000e80e, 0x1e405c76, 0x00001089, 0x00000860,
+ 0x0000f008, 0x086f01d4, 0x0000f404, 0x063fe018, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x1d800000, 0x00009980, 0x1e809c7a, 0x0000e181, 0xde000000,
+ 0x00008980, 0xde400f79, 0x00001181, 0x11bf9846, 0x00007900, 0x003ffffe,
+ 0x00008280, 0xde6d4f79, 0x00001101, 0x80001679, 0x00006583, 0x0cc3b877,
+ 0x00000900, 0x00000699, 0x00007013, 0x1bbb5f6a, 0x0000063c, 0x083a04e8,
+ 0x0000f500, 0x1b3b4f68, 0x00000634, 0x1afb3767, 0x00000628, 0x1f47046a,
+ 0x00001281, 0x0001047d, 0x00001583, 0x0000047b, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x00000851, 0x00007010, 0x00000851, 0x00007010, 0x5e400d10,
+ 0x00006283, 0x9f53b2ec, 0x00000100, 0x0d808479, 0x00006890, 0x00000889,
+ 0x0000f009, 0x00000c79, 0x00009583, 0xa0000810, 0x00006cb8, 0xc4113a27,
+ 0x00009938, 0x9f13eae5, 0x00009400, 0x9e519a7c, 0x00001202, 0x00000a29,
+ 0x0000f013, 0x00188033, 0x00009502, 0xc418827d, 0x00009218, 0x00000851,
+ 0x00007031, 0x00000851, 0x00007200, 0xd0000011, 0x00006c01, 0x01000020,
+ 0x00006180, 0x02000000, 0x0000c980, 0x03652800, 0x0000f900, 0x001229fc,
+ 0x00000980, 0x03bca800, 0x0000f900, 0x003982ae, 0x00000980, 0x01800000,
+ 0x000080dc, 0x81001000, 0x00009980, 0xc1001800, 0x00006181, 0x08001a09,
+ 0x0000e106, 0x089e1bb2, 0x0000f500, 0x82600500, 0x00008026, 0x02c01002,
+ 0x00001900, 0x20c40881, 0x00006100, 0xa2a3e810, 0x0000e080, 0x002bd083,
+ 0x0000e502, 0x1f6bd57a, 0x00000900, 0x1f440083, 0x0000e098, 0x20140280,
+ 0x00008918, 0x0000085b, 0x00007031, 0x0003e880, 0x00009502, 0x00000844,
+ 0x0000702b, 0x0d80847d, 0x00006880, 0x0000085d, 0x00007400, 0x1f400c7d,
+ 0x00009081, 0xa2a3e810, 0x00006880, 0x1f913a27, 0x00009900, 0x0004187e,
+ 0x00009502, 0x0005287e, 0x00001502, 0xffffffff, 0x00007f86, 0x00000a97,
+ 0x00007018, 0x00000a87, 0x0000f018, 0x802f227f, 0x00007900, 0x00000008,
+ 0x00008582, 0x1f1138a5, 0x0000e130, 0x20d13883, 0x00000130, 0x1f400000,
+ 0x000099b1, 0x00000a87, 0x0000f018, 0x1e400c7d, 0x0000e081, 0xa013fa80,
+ 0x00008100, 0x00113883, 0x0000e502, 0x1f40fc79, 0x00000281, 0x0003e07e,
+ 0x00009502, 0x8014027f, 0x00009502, 0x00000a95, 0x0000f028, 0x00000a85,
+ 0x00007018, 0x00000a85, 0x00007018, 0x000008b7, 0x0000f400, 0x1f40fc79,
+ 0x00006281, 0x20d13883, 0x00000100, 0x1f11387c, 0x00009100, 0x0001c02a,
+ 0x0000e502, 0x80001811, 0x0000a403, 0x11bfb846, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x0b01c038, 0x0000e110, 0x65ad401e, 0x0000e013, 0x000008d6,
+ 0x00007008, 0x9f401ee3, 0x0000e080, 0xa2ad401c, 0x0000e002, 0x9f771a7d,
+ 0x00006100, 0xc32d401c, 0x00002002, 0x4b02387d, 0x00007902, 0x0cc00000,
+ 0x00008004, 0xffffffff, 0x00007fa7, 0x11c00847, 0x00001082, 0x0cc00033,
+ 0x00009084, 0x4b3a387d, 0x00005004, 0x00399800, 0x00008000, 0x08d70410,
+ 0x0000f004, 0x1f404766, 0x0000e080, 0x01801800, 0x0000c981, 0x1f43ef67,
+ 0x00006300, 0x32435010, 0x00002006, 0x0003e80e, 0x00006206, 0x80000006,
+ 0x0000b401, 0x11802046, 0x00006380, 0x05800800, 0x00000981, 0x08e21a22,
+ 0x0000f500, 0xa9200400, 0x00008ad9, 0xa9800400, 0x00008adc, 0x000808ec,
+ 0x0000d780, 0x00c06141, 0x00000288, 0x1e80547a, 0x00006181, 0xde6d4f79,
+ 0x00008101, 0xa6401679, 0x0000f893, 0xc0000000, 0x00000483, 0x1f45282a,
+ 0x0000e000, 0x01801800, 0x00000981, 0x0003e838, 0x00006502, 0x6000081e,
+ 0x0000a403, 0x1f41534b, 0x0000e168, 0xa000281c, 0x0000a406, 0x0b01c038,
+ 0x00006100, 0x80000006, 0x0000e401, 0x2941c07d, 0x00009068, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x1d802446, 0x00006283, 0x80000811,
+ 0x00002403, 0x1ac00000, 0x00006188, 0x1f01502a, 0x0000c908, 0x08f80279,
+ 0x0000700d, 0x80000666, 0x00006583, 0x1f404766, 0x00000880, 0x1f43ef67,
+ 0x00006300, 0x5e800000, 0x000009c9, 0x9e818000, 0x0000e1c9, 0x0003e80e,
+ 0x00006206, 0x00000047, 0x00006582, 0x0823547d, 0x00002006, 0x1f63efe4,
+ 0x00006000, 0x32435010, 0x0000e006, 0x11802046, 0x00006380, 0x1dc0156a,
+ 0x00000881, 0x00000938, 0x00007210, 0x9d93ea7d, 0x0000e100, 0x1ec0156a,
+ 0x0000c881, 0x00000033, 0x00009582, 0x1f400000, 0x00006189, 0xc0000011,
+ 0x0000e411, 0x00000912, 0x0000f011, 0x4000056a, 0x00006583, 0xc0000811,
+ 0x00002401, 0x1f400800, 0x00009991, 0xffffffff, 0x00007f86, 0x0803307d,
+ 0x00006206, 0xf3e3e810, 0x00003000, 0x0ce3b87d, 0x00009100, 0x00000033,
+ 0x00006582, 0x9fc40227, 0x00008080, 0x1f619aec, 0x00006111, 0x1f400000,
+ 0x00008989, 0xa01bc378, 0x00009900, 0x1f401c7d, 0x00001291, 0xc4008711,
+ 0x0000e283, 0x1f6bd47d, 0x00000011, 0x1fb3d47b, 0x00006011, 0x1f800000,
+ 0x00008989, 0x5ee3ec7d, 0x0000e101, 0xa0000010, 0x0000e480, 0x1f419c7d,
+ 0x00001000, 0x1f5bc378, 0x0000e100, 0x1f83ec7e, 0x00004000, 0x0005287d,
+ 0x00001502, 0x1f513a27, 0x00009928, 0x000009ea, 0x00007021, 0x0003f07d,
+ 0x00001502, 0x801bc27f, 0x00009502, 0xffffffff, 0x00007f86, 0x000009dc,
+ 0x00007018, 0x0000093f, 0x0000f018, 0x1dd1387e, 0x00006100, 0x1e400000,
+ 0x00008981, 0x1f03f0a5, 0x00009100, 0x20800c79, 0x0000e081, 0xa013fa80,
+ 0x00008100, 0x0003b87d, 0x0000e502, 0x1f83b87c, 0x00008000, 0x1e40fc82,
+ 0x00009281, 0x8014027f, 0x00009502, 0xffffffff, 0x00007f86, 0x000009d9,
+ 0x00007018, 0x0000093c, 0x0000f018, 0x0000092c, 0x0000f200, 0x1dd13877,
+ 0x00006100, 0x1e40fc82, 0x00000281, 0x09390539, 0x00007100, 0x00000033,
+ 0x00009582, 0x000008f1, 0x0000700b, 0x093c04e8, 0x0000f100, 0x2943f07e,
+ 0x0000e100, 0xa2a3c810, 0x00006080, 0x1f83b877, 0x00009900, 0x1f6bd57a,
+ 0x00009900, 0x0003f07d, 0x0000f820, 0x00000000, 0x00000000, 0x7400007e,
+ 0x0000f88a, 0x00400001, 0x00008010, 0x73ebd07e, 0x0000780a, 0x00400001,
+ 0x00008080, 0x1dc00000, 0x00009981, 0x9f519d7b, 0x00006000, 0xd0000011,
+ 0x00002401, 0xc413f27d, 0x00009100, 0xdd800f06, 0x0000e283, 0x86023010,
+ 0x00002000, 0x00000046, 0x00006c01, 0x00000950, 0x0000f011, 0xdd808711,
+ 0x00001283, 0x04080010, 0x00001390, 0xffffffff, 0x00007f86, 0xddaffb10,
+ 0x0000f900, 0x0000003e, 0x00000282, 0x000009b8, 0x00007013, 0x00000477,
+ 0x00009583, 0x00000964, 0x0000f00b, 0x9f401ee3, 0x0000e080, 0xa000281c,
+ 0x00006406, 0x9f771a7d, 0x00006100, 0xc000101d, 0x00002402, 0x9f40127d,
+ 0x00006080, 0x6000081e, 0x0000a403, 0x4b39607d, 0x0000a084, 0xc000101c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x0b00082c, 0x00009080, 0x096304a2,
+ 0x0000f500, 0x4b39607d, 0x00002884, 0x0b015227, 0x00001000, 0x096404e8,
+ 0x00007100, 0x1f43c410, 0x00001281, 0x0003c47d, 0x0000f890, 0x00000000,
+ 0x00000000, 0x00000310, 0x0000788a, 0x00000000, 0x00008020, 0x0867ff79,
+ 0x0000c793, 0x04410711, 0x00008092, 0x6a87ff79, 0x00007892, 0x00400001,
+ 0x00008080, 0xffffffff, 0x00007f86, 0xc0000310, 0x00001582, 0x0f40847d,
+ 0x0000e816, 0x1f405c7d, 0x00001091, 0x00000975, 0x0000f010, 0x0000047b,
+ 0x00009583, 0x1f405800, 0x0000e191, 0x1f405000, 0x00004989, 0xffffffff,
+ 0x00007f86, 0x0023ec7a, 0x00001503, 0x0000097a, 0x0000f023, 0x097904a2,
+ 0x0000f100, 0x097a04e8, 0x00007100, 0x097d01d4, 0x00007204, 0x1d800800,
+ 0x00006180, 0x1ea3ec7a, 0x0000c101, 0x400025a8, 0x00006583, 0x0cd88033,
+ 0x00000100, 0x0c988032, 0x0000e108, 0x1298804a, 0x00008108, 0x00000982,
+ 0x0000f011, 0x00000033, 0x00006582, 0xde6d4f79, 0x00008101, 0x9f401ee3,
+ 0x00006088, 0x9d800b48, 0x00004088, 0x9f771a7d, 0x0000e108, 0xd2000b48,
+ 0x00008088, 0x00000699, 0x00007010, 0x4b63ea7d, 0x00002084, 0xffffffff,
+ 0x00007fa7, 0x8013ea76, 0x0000e502, 0x0803307d, 0x0000a206, 0x80000666,
+ 0x00006583, 0xd2000000, 0x00000988, 0x1dc3ee7a, 0x00009040, 0x1d824877,
+ 0x00001040, 0x000009a2, 0x00007048, 0x9dc20666, 0x00006283, 0x12424877,
+ 0x00000000, 0x0000007d, 0x00009582, 0xffffffff, 0x00007f86, 0x0000099c,
+ 0x00007008, 0x0000099c, 0x00007008, 0x1f43eaec, 0x00001100, 0x1f40187d,
+ 0x00009280, 0x1f43ed7a, 0x00001000, 0x1243b07d, 0x00009000, 0xc0118b48,
+ 0x00001502, 0x11bfd846, 0x0000f900, 0x003ffffe, 0x00008280, 0x09a004e8,
+ 0x0000f109, 0x3c400033, 0x0000788a, 0xd8400000, 0x00008489, 0x0000007d,
+ 0x00006582, 0x12418049, 0x00008080, 0x1243e849, 0x00006000, 0x1d83e849,
+ 0x00000000, 0x1f43eaec, 0x00009110, 0x0000099c, 0x00007008, 0x0000099b,
+ 0x0000f200, 0x1f40187d, 0x00009280, 0x09ab04a2, 0x0000f100, 0x09ac04e8,
+ 0x0000f100, 0x09ad04a2, 0x0000f100, 0x09ae04e8, 0x00007100, 0x063fe018,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x09b401d4, 0x00007404, 0x07a7f81e,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x1d800000, 0x00009980, 0x00000982,
+ 0x00007400, 0x1e809c7a, 0x0000e181, 0xde000000, 0x00008980, 0xde400f79,
+ 0x00001181, 0x1f47046a, 0x00001281, 0x0001047d, 0x00007890, 0x00000000,
+ 0x00000000, 0x6fc0047b, 0x00007892, 0x00400001, 0x00000060, 0x59000477,
+ 0x0000788a, 0xb0400000, 0x0000048a, 0x5dc00d10, 0x0000e283, 0x9f53b2ec,
+ 0x00000100, 0x0d808479, 0x00006890, 0x000009c6, 0x0000f009, 0x00000c79,
+ 0x00009583, 0xa0000810, 0x00006cb8, 0xc4113a27, 0x00009938, 0x9f13eae5,
+ 0x00009400, 0x9e519a7c, 0x00001202, 0x000009d4, 0x00007013, 0x00188033,
+ 0x00009502, 0xc418827d, 0x00009218, 0x00000954, 0x0000f031, 0xd0000011,
+ 0x00006c01, 0x59000477, 0x0000788a, 0xb0400000, 0x0000048a, 0x2943f0a5,
+ 0x00001100, 0x1dc00000, 0x00009981, 0x0000094a, 0x0000f200, 0xc4119a33,
+ 0x00006100, 0xd0000811, 0x00006401, 0x0013b033, 0x00001502, 0xa0000810,
+ 0x0000ec98, 0xc4119a7c, 0x00001218, 0x000009c9, 0x0000f030, 0x000009cc,
+ 0x0000f000, 0x2943f07e, 0x0000e100, 0xa2a3c810, 0x00006080, 0x1f83b877,
+ 0x00009900, 0x1f6bd57a, 0x00009900, 0x3c23f77d, 0x0000c429, 0xa000007e,
+ 0x0000828b, 0x73ebd07e, 0x0000780a, 0x30400000, 0x0000848a, 0x1f44007e,
+ 0x00006080, 0x20140280, 0x00008900, 0x0003e880, 0x00009502, 0x00000946,
+ 0x0000702b, 0x2943f0a5, 0x0000e100, 0x0d80847d, 0x00002080, 0x000009d0,
+ 0x0000f400, 0x1f400c7d, 0x00009081, 0xa2a3e810, 0x00006880, 0x1dd13a27,
+ 0x00009900, 0x0003f077, 0x00001502, 0x00052877, 0x00001502, 0xffffffff,
+ 0x00007f86, 0x00000a59, 0x0000f018, 0x00000a47, 0x0000f018, 0x801bc27f,
+ 0x00009502, 0x1f1138a5, 0x0000e130, 0x1f91387e, 0x00000130, 0x1e400800,
+ 0x000099b1, 0x00000a47, 0x0000f018, 0x0003f077, 0x0000e502, 0xa013fa80,
+ 0x00008100, 0x0003e077, 0x00009502, 0xffffffff, 0x00007f86, 0x00000a57,
+ 0x00007018, 0x00000a45, 0x00007018, 0x8014027f, 0x00006502, 0x1f400c79,
+ 0x00008081, 0x1f91387e, 0x00006130, 0x1e40fc7d, 0x000002b1, 0x1f11387c,
+ 0x00009130, 0x00000a45, 0x00007018, 0x000009f5, 0x0000f000, 0x04004446,
+ 0x00006283, 0x04400000, 0x00008980, 0x11bf9846, 0x0000f910, 0x003ffffe,
+ 0x00008280, 0x11c00000, 0x0000e190, 0xd2c00000, 0x0000c990, 0x800016a8,
+ 0x00006583, 0x04800000, 0x00008980, 0x04c00000, 0x000081d0, 0x05400000,
+ 0x000001d8, 0x05e00000, 0x00008ad2, 0x00000a43, 0x00007408, 0x69800400,
+ 0x00008adc, 0x04200000, 0x00008ada, 0x80000ea8, 0x00009583, 0x00000a2e,
+ 0x0000700b, 0x0a131a22, 0x00007100, 0x0227f808, 0x00007900, 0x003ffffe,
+ 0x00008280, 0xd0003009, 0x0000e404, 0x30002010, 0x00003404, 0x037f800d,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x90000009, 0x00006401, 0x8000000d,
+ 0x0000b403, 0x82021800, 0x00006181, 0x05c42084, 0x0000c900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec,
+ 0x0000d780, 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0xde040378, 0x0000e180, 0x1e80547a,
+ 0x00000181, 0x0a2904e8, 0x0000f300, 0xde6d4f79, 0x00001101, 0x0013b033,
+ 0x00001502, 0xa0000810, 0x0000ec98, 0xc4119a7c, 0x00001218, 0x0000088c,
+ 0x0000f030, 0x0000088f, 0x0000f000, 0x0a2f1a22, 0x00007100, 0x0227f808,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x04002010, 0x00006380, 0xd0003009,
+ 0x00002404, 0x037f800d, 0x00007900, 0x003ffffe, 0x00008280, 0x90000009,
+ 0x00006401, 0x8000000d, 0x0000b403, 0x82021800, 0x00006181, 0x05c42084,
+ 0x0000c900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008010ec, 0x0000d780, 0x00c06141, 0x00000288, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000a27,
+ 0x00007200, 0x1e80547a, 0x00009181, 0x0a441a22, 0x0000f100, 0x0a4504e8,
+ 0x00007100, 0x2943e07c, 0x0000e100, 0xa2a3c810, 0x00006080, 0x1f6bd57a,
+ 0x00009900, 0x0000007e, 0x00007888, 0x00000000, 0x00000000, 0x0003e87e,
+ 0x00007812, 0x00000000, 0x00008020, 0xf063f7a5, 0x00004a22, 0x0223e510,
+ 0x00000393, 0xffffffff, 0x00007f86, 0x40001da8, 0x00001583, 0x1f4150a5,
+ 0x00009008, 0x00000a77, 0x0000f009, 0x400015a8, 0x00009583, 0x00000a76,
+ 0x0000f00b, 0x1dc00800, 0x00001981, 0x7440007e, 0x0000788a, 0x38400000,
+ 0x0000048a, 0x2943e07c, 0x0000e100, 0xa2a3c810, 0x00006080, 0x1f6bd57a,
+ 0x00009900, 0x922bd07e, 0x0000f832, 0x00400001, 0x00000000, 0x9905287e,
+ 0x0000f832, 0x00400001, 0x00000000, 0x002bd07e, 0x0000f812, 0x00000000,
+ 0x00000000, 0x73c3f0a5, 0x0000f822, 0x70400000, 0x00008583, 0xa083e510,
+ 0x0000f896, 0x70400000, 0x00000582, 0x1f04007e, 0x0000e080, 0x20140280,
+ 0x00008900, 0x7943e080, 0x00007822, 0x00400001, 0x00000000, 0x002bd07e,
+ 0x0000f812, 0x00000000, 0x00000000, 0x73c3f0a5, 0x0000f822, 0x70400000,
+ 0x00008583, 0xa083e510, 0x0000f896, 0x70400000, 0x00000582, 0x0d80847d,
+ 0x00006880, 0x0000047d, 0x00009583, 0x29452a27, 0x00006010, 0x1f40fc7d,
+ 0x00008091, 0x1f83f227, 0x00006010, 0xa2a3e810, 0x0000a090, 0x00000946,
+ 0x0000f008, 0x00000a54, 0x00007000, 0x1f4148a5, 0x00001000, 0x1f5a587d,
+ 0x00001100, 0x0001c07d, 0x00009502, 0x00052877, 0x00001502, 0xffffffff,
+ 0x00007f86, 0x00000a54, 0x0000f010, 0x00000a54, 0x00007030, 0x1f85287e,
+ 0x0000e100, 0x0d80847d, 0x00002080, 0x29400000, 0x00006180, 0x1f400c7d,
+ 0x0000c081, 0xa2a3e810, 0x00006880, 0x1dc00000, 0x00009981, 0x7440007e,
+ 0x0000788a, 0x38400000, 0x0000048a, 0x2943e07c, 0x0000e100, 0xa2a3e810,
+ 0x0000e080, 0x1f6bd57a, 0x00009900, 0x00000083, 0x0000f888, 0x00000000,
+ 0x00000000, 0x0003e883, 0x0000f812, 0x00000000, 0x00008020, 0xba241fa5,
+ 0x00004722, 0x01a3e510, 0x0000008a, 0x17400083, 0x0000f88a, 0x20400000,
+ 0x00008482, 0x40001da8, 0x00001583, 0x1f4150a5, 0x00009008, 0x00000aaf,
+ 0x0000f009, 0x036015a8, 0x0000c588, 0xdca00083, 0x0000db88, 0x2943e07c,
+ 0x0000e100, 0xa2a3e810, 0x0000e080, 0x1f6bd57a, 0x00009900, 0xa22bd083,
+ 0x00007832, 0x00400001, 0x00000000, 0xa8852883, 0x00007832, 0x00400001,
+ 0x00000000, 0x002bd083, 0x00007812, 0x00000000, 0x00000000, 0xb7e41fa5,
+ 0x0000c722, 0x0083e510, 0x0000ff89, 0x17400083, 0x0000f88a, 0x20400000,
+ 0x00008482, 0x1f040083, 0x00006080, 0x20140280, 0x00008900, 0x29c3e080,
+ 0x0000f822, 0xe0400000, 0x00000584, 0x0d80847d, 0x00006880, 0x0000047d,
+ 0x00009583, 0x20c41a27, 0x00006010, 0x1f40fc7d, 0x00008091, 0xa2a3e810,
+ 0x0000e890, 0x00000844, 0x0000f008, 0x17400083, 0x0000f88a, 0x20400000,
+ 0x00008482, 0x1f452829, 0x00001000, 0x1f5a587d, 0x00001100, 0x0043ef38,
+ 0x00004509, 0x5ac00083, 0x0000598a, 0x0005287e, 0x00001502, 0x20c52883,
+ 0x0000e118, 0x0d80847d, 0x00002098, 0x1f400c7d, 0x00009099, 0xa2a3e810,
+ 0x00006898, 0x17400083, 0x0000f88a, 0x20400000, 0x00008482, 0x03800c46,
+ 0x00009283, 0x00000613, 0x0000f00b, 0x00002477, 0x00001583, 0x01801800,
+ 0x00006191, 0xb6fb0811, 0x0000e011, 0x00000613, 0x0000f400, 0x80000006,
+ 0x0000ec11, 0x863b0806, 0x00006811, 0x0ac30565, 0x0000f300, 0x1d800800,
+ 0x00001980, 0x00000613, 0x0000f200, 0x1dc03e60, 0x00009281, 0x01000020,
+ 0x00006180, 0x02000000, 0x0000c980, 0x037ca000, 0x00007900, 0x00310908,
+ 0x00008980, 0x0381f000, 0x0000f900, 0x00336284, 0x00000980, 0x00000899,
+ 0x0000f400, 0x01800000, 0x000080dc, 0x81001000, 0x00009980, 0x0acf1a22,
+ 0x0000f100, 0x0227f808, 0x00007900, 0x003ffffe, 0x00008280, 0x04002010,
+ 0x00006380, 0xd0003009, 0x00002404, 0x037f800d, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x90000009, 0x00006401, 0x8000000d, 0x0000b403, 0x82021800,
+ 0x00006181, 0x05c42084, 0x0000c900, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec, 0x0000d780, 0x00c06141,
+ 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x000007d5, 0x00007200, 0x1e80547a, 0x00009181, 0x00000047,
+ 0x00009582, 0x1f593833, 0x00006108, 0x11d93847, 0x00000110, 0x0cd93833,
+ 0x00009108, 0x00000b12, 0x0000f010, 0x1d801446, 0x00009283, 0x1f59384a,
+ 0x0000e108, 0x1d993832, 0x00000108, 0x1299384a, 0x00006108, 0x0c993832,
+ 0x00000108, 0x00000af4, 0x0000f010, 0x00000076, 0x00001582, 0x0000007d,
+ 0x00006582, 0x0c82287d, 0x00008c08, 0x12001048, 0x00001390, 0x00000b12,
+ 0x00007011, 0x0b120255, 0x00007100, 0x0000007d, 0x00009582, 0x40000da8,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x00000b12, 0x0000f010, 0x00000b12,
+ 0x0000f008, 0x9f401ee3, 0x0000e080, 0x9d800b48, 0x0000c080, 0xd2000b48,
+ 0x00006080, 0x9f771a7d, 0x00000100, 0x4b63ea7d, 0x00002084, 0xffffffff,
+ 0x00007fa7, 0x8013ea76, 0x0000e502, 0x0803307d, 0x0000a206, 0x80000666,
+ 0x00006583, 0xd2000000, 0x00000988, 0x1dc3ee7a, 0x00009040, 0x1d824877,
+ 0x00001040, 0x00000b16, 0x0000f048, 0x89c20666, 0x00006283, 0x12424877,
+ 0x00000000, 0x0000007d, 0x00009582, 0xffffffff, 0x00007f86, 0x00000b10,
+ 0x00007008, 0x00000b10, 0x00007008, 0x1f43eaec, 0x00001100, 0x1f40187d,
+ 0x00009280, 0x1f43ed48, 0x00009000, 0x1243b07d, 0x00009000, 0x11bfd846,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0xc9c00000, 0x00006180, 0x8000081e,
+ 0x00006402, 0x7bc025a8, 0x0000788b, 0x48000000, 0x0000028f, 0x0000007d,
+ 0x00006582, 0x12418049, 0x00008080, 0x1243e849, 0x00006000, 0x1d83e849,
+ 0x00000000, 0x1f43eaec, 0x00009110, 0x00000b10, 0x00007008, 0x00000b0f,
+ 0x0000f200, 0x1f40187d, 0x00009280, 0x07a81a22, 0x0000f100, 0x000007a8,
+ 0x0000f000, 0x28c09800, 0x00007900, 0x00003c00, 0x00008980, 0x297b7f6e,
+ 0x00000a10, 0xc15722e4, 0x00009900, 0x0b2520ba, 0x00007004, 0x000004a2,
+ 0x00001583, 0x81ff1fe3, 0x00001908, 0x8a003407, 0x00002088, 0x00000b2e,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x01c03c06, 0x00009281, 0x01801407,
+ 0x00009181, 0x00000c06, 0x00001583, 0x00000b33, 0x0000701b, 0x26bd9000,
+ 0x00007900, 0x0004d7da, 0x00008980, 0x0b331c67, 0x00007500, 0x267b7f6e,
+ 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x303854af, 0x0000a000, 0x81800008,
+ 0x000080e0, 0x307838af, 0x0000a080, 0x01e03406, 0x00006301, 0xb9182b05,
+ 0x00004900, 0x00285008, 0x0000e886, 0x04305008, 0x0000e887, 0x02e03e07,
+ 0x0000e100, 0x04303809, 0x0000a087, 0x01805c0a, 0x00006000, 0x86205009,
+ 0x00006087, 0x02603e07, 0x0000e101, 0x0010300d, 0x0000a186, 0x01805d0a,
+ 0x0000e000, 0x42603e07, 0x0000c101, 0x02c05e0a, 0x00006000, 0x0010300c,
+ 0x0000e186, 0x01a03e07, 0x0000e101, 0x00105816, 0x00002186, 0x01a037e4,
+ 0x00006000, 0x42000e0a, 0x0000c881, 0x01808000, 0x00006181, 0xc3400a06,
+ 0x00004180, 0x31c0c4af, 0x00007902, 0x05c00000, 0x00000000, 0x01e03406,
+ 0x00006301, 0x0418680c, 0x0000e187, 0x01a03e07, 0x0000e101, 0x82a03e07,
+ 0x00000101, 0x81d05a0b, 0x00006300, 0x01a037e4, 0x00004800, 0x01804000,
+ 0x00006181, 0xc5800a06, 0x00004180, 0xffffffff, 0x00007f86, 0x02a03406,
+ 0x00009b01, 0x01a05607, 0x00001100, 0x00103806, 0x00001502, 0x01e05607,
+ 0x00001149, 0xffffffff, 0x00007f86, 0x01a03fe4, 0x0000e000, 0x8620380a,
+ 0x0000e087, 0x82800a06, 0x0000e180, 0x81c01ee3, 0x00008880, 0x81f71ee3,
+ 0x0000e100, 0x81b71a07, 0x00004100, 0x4b000006, 0x00005084, 0x00400000,
+ 0x00008000, 0x4b000206, 0x0000d084, 0x00400000, 0x00008000, 0x4b000406,
+ 0x0000d084, 0x00400000, 0x00008000, 0x4b000606, 0x00005084, 0x00400000,
+ 0x00008000, 0x4b786806, 0x00005004, 0x00386000, 0x00008000, 0x4b78b206,
+ 0x0000d004, 0x00385000, 0x00008000, 0x4b784c06, 0x00005004, 0x00384000,
+ 0x00000000, 0x3238c007, 0x00005004, 0x0020b800, 0x00008000, 0x4b000006,
+ 0x0000d004, 0x00400000, 0x00000080, 0x4b000206, 0x00005004, 0x00400000,
+ 0x00000080, 0x00000000, 0x0000f480, 0x4b000406, 0x00005004, 0x00400000,
+ 0x00000080, 0x4b000606, 0x0000d004, 0x00400000, 0x00000080, 0x81800ee3,
+ 0x00006080, 0xc11722e4, 0x00004900, 0x86bb6406, 0x0000b038, 0x86bb7606,
+ 0x0000b038, 0x86481800, 0x000001cc, 0x0b8420ef, 0x00007500, 0x04901202,
+ 0x00009900, 0x04636c6d, 0x00009900, 0x00400c6d, 0x00004589, 0x0100146d,
+ 0x0000808a, 0x0b950b20, 0x0000f004, 0x00000b95, 0x00007000, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x03795000, 0x00007900, 0x0004d7da,
+ 0x00008980, 0x03979800, 0x0000f900, 0x001cdbc6, 0x00000980, 0x0203606c,
+ 0x00006100, 0x08001a09, 0x0000e106, 0x0180076d, 0x0000009c, 0x0b951bb2,
+ 0x00007500, 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x02c01002,
+ 0x00004900, 0x00000c19, 0x00009583, 0xb9182304, 0x0000e108, 0x1a800000,
+ 0x0000c990, 0x200ba6ec, 0x0000d690, 0x003b2409, 0x00003f10, 0x1a009000,
+ 0x0000f910, 0x0000d200, 0x00008980, 0x1a400000, 0x00007910, 0x00010000,
+ 0x00000980, 0x1ac00000, 0x00006190, 0xda981302, 0x00004910, 0x1c032064,
+ 0x0000e110, 0x1c432865, 0x00004910, 0x00000000, 0x0000f088, 0x1cfb3767,
+ 0x00000708, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0098d0ec, 0x0000d780, 0x00006000, 0x00008080, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb9182304,
+ 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x47035000,
+ 0x0000e181, 0x2001501b, 0x0000e482, 0xa000081b, 0x0000e402, 0x8000081a,
+ 0x00003403, 0x80001019, 0x0000e402, 0xa000281e, 0x0000b406, 0x2001501c,
+ 0x0000e483, 0x0000481b, 0x00003407, 0x00005018, 0x00006407, 0xc000501d,
+ 0x0000b406, 0x7000c820, 0x0000e500, 0xc000101a, 0x0000b403, 0xa0001019,
+ 0x0000e403, 0x6000081e, 0x00003403, 0x00000001, 0x00007480, 0xc000101c,
+ 0x0000e403, 0x6000081b, 0x00003403, 0x0b00072a, 0x000082a1, 0x04000d11,
+ 0x00006081, 0x00001000, 0x0000a504, 0x00400000, 0x00007900, 0x00040010,
+ 0x00008980, 0x00000411, 0x00006583, 0xc0208c10, 0x00000001, 0x04000000,
+ 0x00006181, 0x82308801, 0x00006080, 0x04000800, 0x00006191, 0x80788f11,
+ 0x00004901, 0x40000511, 0x00006583, 0xc0c00000, 0x00008980, 0x80e88d11,
+ 0x0000e101, 0x86208001, 0x0000e001, 0x04000000, 0x00001981, 0x04000800,
+ 0x00001991, 0x00000001, 0x0000f481, 0x96608001, 0x00006801, 0x00208801,
+ 0x0000e806, 0x01c00000, 0x0000e180, 0x00009004, 0x00006484, 0x0c03640d,
+ 0x00006006, 0x00001807, 0x00003106, 0x01400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x001808ec, 0x00005780, 0x00c06700, 0x00000580, 0x85c2300d,
+ 0x0000e000, 0xc0001807, 0x0000b006, 0x00000001, 0x00007480, 0x01bb6702,
+ 0x00008030, 0xc12a2001, 0x00001980, 0x81001646, 0x00009283, 0x47055000,
+ 0x00006189, 0xc000501d, 0x0000640e, 0x2001501c, 0x0000648b, 0x2001501b,
+ 0x0000348a, 0x00000bee, 0x0000f010, 0xa000101b, 0x0000e402, 0x8000101a,
+ 0x00003403, 0x2000101b, 0x0000e403, 0xc000101c, 0x0000b403, 0x00005018,
+ 0x00006407, 0xc000101a, 0x0000b403, 0x6000101b, 0x0000ec03, 0x00000001,
+ 0x00007280, 0x70008820, 0x0000ed00, 0x9b400ee3, 0x0000e080, 0x1b042084,
+ 0x0000c900, 0x86b8446d, 0x0000b038, 0x083f8020, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x86b8566d, 0x0000b038, 0x0838f820, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x01000000, 0x000080d4, 0x01800000, 0x000080dc, 0x1c000000,
+ 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000,
+ 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000,
+ 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000,
+ 0x000088cc, 0x21400000, 0x000008d8, 0x21c00000, 0x000008e0, 0x22400000,
+ 0x000008e8, 0x22c00000, 0x000088f0, 0x23400000, 0x000008f8, 0x23c00000,
+ 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000,
+ 0x000009d8, 0x25c00000, 0x000080f0, 0x03400000, 0x000000f8, 0x03c00000,
+ 0x000001e0, 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000,
+ 0x000001f8, 0x07d01800, 0x000081cc, 0x0c1720ef, 0x0000f500, 0x84800602,
+ 0x00008890, 0x04604c09, 0x00009900, 0xd9a03409, 0x00004389, 0x00003409,
+ 0x00000098, 0xc6402409, 0x00004489, 0x54002409, 0x0000039d, 0x00c01c09,
+ 0x00004789, 0x2f404c09, 0x00003089, 0xdec04c09, 0x0000c299, 0x20003c09,
+ 0x0000838e, 0x53605c09, 0x00004589, 0xa9c06c09, 0x0000af88, 0x0c2520ba,
+ 0x00007404, 0x28c09800, 0x00007900, 0x00003600, 0x00008980, 0x2938570b,
+ 0x00000a14, 0x9b400aaf, 0x0000e080, 0x85c03aaf, 0x00000080, 0x30409e6d,
+ 0x0000f902, 0x04800000, 0x00000000, 0x3000b46d, 0x0000f902, 0x05400000,
+ 0x00008000, 0x30008e6d, 0x0000f902, 0x04000000, 0x00008000, 0x3040606d,
+ 0x00007902, 0x01c00000, 0x00008000, 0x3040326d, 0x0000f902, 0x01400000,
+ 0x00000000, 0x30797c6d, 0x00002000, 0x303b8417, 0x00003038, 0x303b9617,
+ 0x00003038, 0x307ba017, 0x0000b038, 0x307bb217, 0x0000b038, 0x307bc417,
+ 0x00003038, 0x307bd617, 0x00003038, 0x30bbe017, 0x00003038, 0x30bbf217,
+ 0x00003038, 0x30bc0417, 0x0000b038, 0x30bc1617, 0x0000b038, 0x30fc2017,
+ 0x00003038, 0x30fc3217, 0x00003038, 0x30fc4417, 0x0000b038, 0x30fc5617,
+ 0x0000b038, 0x313c6017, 0x00003038, 0x313c7217, 0x00003038, 0x313c8417,
+ 0x00003038, 0x313c9617, 0x00003038, 0x317ca017, 0x0000b038, 0x317cb217,
+ 0x0000b038, 0x03400c13, 0x00006283, 0x81000000, 0x00000981, 0x03401413,
+ 0x00009283, 0xffffffff, 0x00007f86, 0x00000d17, 0x0000f008, 0x00000d0a,
+ 0x0000f008, 0x0c5020ba, 0x0000f404, 0x28c09800, 0x00007900, 0x00001000,
+ 0x00000980, 0x293c0781, 0x00000a14, 0x303cc4af, 0x00003038, 0x303cd6af,
+ 0x00003038, 0x307ce0af, 0x0000b038, 0x307cf2af, 0x0000b038, 0x307d04af,
+ 0x00003038, 0x307d16af, 0x00003038, 0x30bd20af, 0x00003038, 0x30bd32af,
+ 0x00003038, 0x8940a37f, 0x0000e180, 0x81000000, 0x00000981, 0x05c02800,
+ 0x0000e181, 0xb844c013, 0x0000c980, 0x05c00c17, 0x00009183, 0x0a400000,
+ 0x00006188, 0x8ad0c000, 0x0000c988, 0x0b400000, 0x00006189, 0x09c00000,
+ 0x00004989, 0x1b400000, 0x0000e189, 0x0a800000, 0x0000c989, 0xffffffff,
+ 0x00007f86, 0x05020200, 0x00007904, 0x0038a026, 0x00006886, 0x8230a026,
+ 0x0000e886, 0x0428a026, 0x0000e887, 0x00000c5c, 0x0000f410, 0x8620a026,
+ 0x00006887, 0x10413400, 0x00007904, 0x2244c899, 0x00006100, 0x20c00899,
+ 0x00004080, 0x21d4da9b, 0x00009900, 0x90e0149d, 0x00004389, 0x0000149d,
+ 0x00000098, 0x0fc0049d, 0x0000c588, 0x80800c9d, 0x0000058a, 0x98a01c9d,
+ 0x00004189, 0x0000449d, 0x00008090, 0x2980559d, 0x0000f88b, 0xb0400000,
+ 0x00000687, 0x24c01d9d, 0x0000f88b, 0xb0400000, 0x00000687, 0xb86ce813,
+ 0x0000e180, 0x1b400c6d, 0x0000c081, 0x03404800, 0x00001981, 0xffffffff,
+ 0x0000ffb7, 0x05c20a00, 0x0000f904, 0x09820a00, 0x00007904, 0x03400c0d,
+ 0x00006183, 0x05c04017, 0x00008780, 0x0500c026, 0x00001880, 0x05c13026,
+ 0x0000e100, 0x0500a017, 0x0000c300, 0x00000c7d, 0x0000f210, 0x1000a400,
+ 0x00007904, 0x00000ceb, 0x00007200, 0x05004026, 0x00009780, 0x8500469d,
+ 0x00001880, 0x8ad0a79d, 0x00009000, 0x9ec0259d, 0x0000c991, 0xec01fa2b,
+ 0x000003b1, 0x1b40246d, 0x00006081, 0xb874e813, 0x00000980, 0x05005000,
+ 0x00001980, 0x00000c90, 0x0000f000, 0x10020e00, 0x0000f904, 0x05000814,
+ 0x00009182, 0x00000c8f, 0x0000f013, 0x00000cec, 0x00007000, 0xb86ce813,
+ 0x0000e180, 0x0ab4ee9d, 0x0000c901, 0x03404800, 0x00006181, 0x1b401c6d,
+ 0x00004081, 0xffffffff, 0x0000ffb7, 0x05020a00, 0x0000f904, 0x05c20a00,
+ 0x0000f904, 0x03400c0d, 0x00006183, 0x0980c014, 0x00008780, 0x05004017,
+ 0x00006080, 0x03400000, 0x0000c989, 0x0b400800, 0x0000e189, 0x0500a026,
+ 0x00004300, 0x00000c99, 0x0000f410, 0x1000a400, 0x00007904, 0x0500b817,
+ 0x00009900, 0x00000cef, 0x0000f400, 0x0500c017, 0x00009780, 0x1000a400,
+ 0x00007904, 0x05c0c69d, 0x00006080, 0x0500879d, 0x00004880, 0x05c0a017,
+ 0x00006000, 0x1b40546d, 0x00008081, 0xb87ce813, 0x00006180, 0x0500449e,
+ 0x00004880, 0x00000cb2, 0x00007400, 0x05004800, 0x00006180, 0x05c0a017,
+ 0x0000c000, 0x0a40bd9e, 0x00009000, 0xffffffff, 0x00007f86, 0x10020e00,
+ 0x0000f904, 0x05000814, 0x00009182, 0x03404800, 0x0000e189, 0xb86ce813,
+ 0x00004988, 0x00000cb0, 0x00007011, 0xffffffff, 0x00007fa7, 0x05020a00,
+ 0x0000f904, 0x05c20a00, 0x0000f904, 0x03400c0d, 0x00006183, 0x09808014,
+ 0x00000780, 0x05008017, 0x00006080, 0x03400000, 0x0000c989, 0x09c00800,
+ 0x0000e189, 0x0500a026, 0x00004300, 0x00000cb8, 0x0000f410, 0x1000a400,
+ 0x00007904, 0x0500b817, 0x00009900, 0x00000cef, 0x0000f400, 0x05008017,
+ 0x00001780, 0x1000a400, 0x00007904, 0x0340159d, 0x00006181, 0x07eced9d,
+ 0x00000901, 0x3d812c0d, 0x0000789b, 0x00400001, 0x00008080, 0x1b6cec6d,
+ 0x00001001, 0x40001d9d, 0x00001583, 0x0500159d, 0x0000e799, 0xb844e800,
+ 0x00008998, 0x78431c14, 0x0000e199, 0x03400000, 0x00008999, 0x00000cdc,
+ 0x00007030, 0x00000cd5, 0x0000f400, 0x05c05000, 0x00001980, 0x05e0a017,
+ 0x00009100, 0x10020e00, 0x0000f904, 0x03400c0d, 0x00009081, 0x09a06c0d,
+ 0x00001900, 0x0000b826, 0x00009502, 0x00000cd3, 0x0000704b, 0x2c07e414,
+ 0x00001680, 0x034588b0, 0x00001001, 0x07e06c1f, 0x00001003, 0x00000cec,
+ 0x0000f00b, 0xb86ce813, 0x0000e180, 0x07c01c1f, 0x0000c881, 0x83410009,
+ 0x000081dc, 0x09a0f817, 0x00009100, 0xffffffff, 0x00007fa7, 0x05020a00,
+ 0x0000f904, 0x05c20a00, 0x0000f904, 0x0520f814, 0x0000e700, 0x0a013017,
+ 0x00000800, 0x03400c0d, 0x00006183, 0x0500a028, 0x00000300, 0x1000a400,
+ 0x00007904, 0x0500b817, 0x00009900, 0x00000ce2, 0x00007010, 0x0520f817,
+ 0x00001700, 0x1000a400, 0x00007904, 0x00000cef, 0x0000f200, 0x03400000,
+ 0x00001981, 0x03400800, 0x00009981, 0x85236c6d, 0x00001900, 0x00112a14,
+ 0x0000f828, 0x00000000, 0x00000000, 0x1b80040d, 0x0000f88b, 0x00400001,
+ 0x00008010, 0x3e80742a, 0x000078b3, 0x00400001, 0x00008080, 0x81000800,
+ 0x00006181, 0x00000890, 0x0000e401, 0xffffffff, 0x00007f86, 0x00000d0a,
+ 0x00007000, 0x84c00e73, 0x00006283, 0x00000090, 0x0000a401, 0x1b400c27,
+ 0x0000e291, 0x1b400000, 0x00000989, 0x0000042d, 0x00006583, 0xdf9bf22b,
+ 0x00008c00, 0x22814829, 0x00006100, 0x04236873, 0x0000e001, 0x1b400000,
+ 0x0000e189, 0x1b61542a, 0x00004911, 0x0000042d, 0x00009583, 0x25636c6d,
+ 0x00006101, 0x1b63fc7f, 0x00004911, 0x1b400000, 0x00009989, 0xffffffff,
+ 0x00007f86, 0x1fe36c6d, 0x00009901, 0x4000057f, 0x0000e583, 0x30000073,
+ 0x0000a403, 0x042bf890, 0x00006009, 0x86401095, 0x00003686, 0xe0982800,
+ 0x00006180, 0x40c39873, 0x00006001, 0x223fe01f, 0x00006180, 0x247c0249,
+ 0x0000c980, 0x248003e8, 0x000089cc, 0xdfc00000, 0x0000e180, 0x2000137e,
+ 0x0000c880, 0xa4000000, 0x0000e180, 0x207fe01f, 0x00004980, 0x05c09673,
+ 0x00006281, 0x1b401c13, 0x00000281, 0x00000c6d, 0x00009583, 0x9b40637e,
+ 0x00001190, 0xdfbfe26d, 0x0000f910, 0x0000003e, 0x00008280, 0xe7008417,
+ 0x0000c489, 0x74042785, 0x0000836e, 0x43a42f86, 0x0000c569, 0xa3044f83,
+ 0x00002167, 0x00000495, 0x00009583, 0x05c00800, 0x00001990, 0x05c00000,
+ 0x00009988, 0x00000d27, 0x0000f010, 0x0000047f, 0x00001583, 0x05c00800,
+ 0x00001990, 0xffffffff, 0x00007f86, 0x5160b840, 0x0000e800, 0x85c4037e,
+ 0x0000e080, 0x852f2004, 0x00008980, 0x1b400000, 0x00001981, 0x4d50ba14,
+ 0x0000f82b, 0x00400001, 0x00008080, 0x1b400c6d, 0x00006081, 0x8510ba14,
+ 0x00000100, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0x4b90ba14, 0x00007823, 0x00400001, 0x00008080, 0xffffffff,
+ 0x00007f86, 0x4000058f, 0x0000e583, 0x03400000, 0x00008981, 0x03400800,
+ 0x00006191, 0x80000040, 0x0000e586, 0x50236c6d, 0x00006101, 0xe000081f,
+ 0x00006400, 0x0000040d, 0x0000e583, 0x90bfe01f, 0x00000980, 0x1b400800,
+ 0x00006191, 0x1b401000, 0x00004989, 0x0000040d, 0x0000e583, 0x4da3fc7f,
+ 0x00000901, 0x1b401800, 0x0000e191, 0xc7236818, 0x0000e003, 0x00000d4f,
+ 0x0000f011, 0x00042086, 0x00009502, 0x1b401000, 0x00001989, 0x00000d4f,
+ 0x0000f009, 0x00042085, 0x00009502, 0x1b400000, 0x00009989, 0x1b400000,
+ 0x00009991, 0x00000d4f, 0x00007008, 0x003c148f, 0x00001503, 0x1b400800,
+ 0x000019a1, 0xffffffff, 0x00007f86, 0x00000c6d, 0x00006583, 0x05c0137f,
+ 0x00000880, 0x0fc00800, 0x00006188, 0xc0000819, 0x0000e40a, 0x0fc00000,
+ 0x0000e190, 0xc000381f, 0x0000e405, 0x00042086, 0x00006502, 0x0f848891,
+ 0x00008900, 0x82c130ec, 0x00007902, 0x05000000, 0x00008604, 0x1b40ba90,
+ 0x00009000, 0x00000d68, 0x00007010, 0x00000087, 0x00009582, 0x1b53006d,
+ 0x0000f910, 0x0000003a, 0x00008c80, 0x00000d68, 0x0000f009, 0x0000040d,
+ 0x0000e583, 0x0508c06d, 0x00000d80, 0x0f48c06d, 0x00001d80, 0x10413014,
+ 0x00009010, 0x00000d73, 0x00007010, 0x00000d71, 0x0000f400, 0x0007288d,
+ 0x00009502, 0x1b44688d, 0x0000e110, 0x1b448891, 0x0000c908, 0x0007288e,
+ 0x00006502, 0x05fc786d, 0x00000800, 0x1b530017, 0x0000f900, 0x0000003a,
+ 0x00008c80, 0xffffffff, 0x00007f86, 0x1b44708e, 0x0000e110, 0x0f48c06d,
+ 0x00004d80, 0xffffffff, 0x00007f86, 0x1b41e83d, 0x00009908, 0xffffffff,
+ 0x00007f86, 0x1041306d, 0x00009000, 0x0b439c17, 0x00006000, 0x00005018,
+ 0x0000b406, 0x84c01673, 0x00006283, 0xa0001018, 0x00002402, 0x0a000000,
+ 0x00006180, 0x00142018, 0x0000e503, 0x1b440087, 0x0000e400, 0xe0001018,
+ 0x0000e403, 0x4520b818, 0x00006003, 0x0000101b, 0x0000b402, 0x05c00800,
+ 0x0000e191, 0x05c01000, 0x0000c989, 0x84c01673, 0x00006283, 0x0ac4206d,
+ 0x00008000, 0x0420b818, 0x00006003, 0x0000501a, 0x00003406, 0x05ecad95,
+ 0x0000e111, 0x05c00800, 0x0000c989, 0x11838000, 0x00006180, 0x0000081b,
+ 0x00006403, 0x8a20bc17, 0x0000e101, 0x000d681f, 0x00006502, 0x85c01ee3,
+ 0x0000e080, 0x60005019, 0x00006406, 0x9b771a17, 0x0000e100, 0x2000a81e,
+ 0x00002482, 0x4b40bc6d, 0x0000f902, 0x05000000, 0x00008004, 0x6000101a,
+ 0x00006402, 0x6000001b, 0x0000b403, 0x14409846, 0x00006001, 0xc000481d,
+ 0x0000b406, 0x80078824, 0x0000e686, 0x6000081c, 0x00003402, 0x0fc09c17,
+ 0x00006000, 0x4000281f, 0x00003407, 0xc0001019, 0x00006402, 0xa02ba81e,
+ 0x0000b506, 0x24b8b846, 0x0000e005, 0x0000501a, 0x0000b407, 0x12060000,
+ 0x00006180, 0x65a0b81b, 0x00006003, 0x1738b716, 0x0000011c, 0x0580a815,
+ 0x00006100, 0x50000820, 0x00006402, 0x0ec00000, 0x00007900, 0x000d0000,
+ 0x00000980, 0xc000381d, 0x0000e407, 0xc000081c, 0x0000b403, 0xb000081f,
+ 0x0000e401, 0x6000101a, 0x0000b403, 0x0e44508a, 0x0000e100, 0x07c09848,
+ 0x00006000, 0x89fc207e, 0x00008224, 0x0a842885, 0x00006100, 0x0b441888,
+ 0x00004000, 0x0b800884, 0x0000e180, 0x0d400000, 0x00000981, 0x0e3c1f86,
+ 0x00008330, 0x09800000, 0x000083c0, 0x0c400800, 0x00006180, 0x0d043086,
+ 0x00004900, 0x0c800000, 0x000083cc, 0x8940002f, 0x0000049c, 0x12800800,
+ 0x000004ec, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc, 0x19000000,
+ 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000,
+ 0x000086ec, 0x11000004, 0x0000e180, 0x11400004, 0x00004980, 0x1278af86,
+ 0x00000534, 0x28c09a00, 0x00006180, 0xca001695, 0x0000c781, 0xc9117a2f,
+ 0x0000e100, 0xc6555013, 0x0000c980, 0x0dc520ba, 0x00007404, 0xc786a800,
+ 0x00006181, 0x2940b817, 0x0000c900, 0x0bf8b786, 0x00000a10, 0x000004a2,
+ 0x00001583, 0x9b7f1fe3, 0x00001908, 0x8a00bc6d, 0x00002088, 0x00000dce,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x1b403c17, 0x00009281, 0x05c0146d,
+ 0x00009181, 0x00000c17, 0x00001583, 0x00000dd3, 0x0000f01b, 0x2686a800,
+ 0x00007900, 0x0004d7e2, 0x00000980, 0x0dd31c67, 0x0000f500, 0x267aef5c,
+ 0x00000920, 0x26e514a2, 0x00001900, 0x17808811, 0x00006100, 0x5560a046,
+ 0x0000e005, 0x05388711, 0x0000853c, 0x04600f10, 0x000004ae, 0x303a64af,
+ 0x00003038, 0x303a76af, 0x00003038, 0x0ddd20ba, 0x00007404, 0x28c09a00,
+ 0x00006180, 0x2940a014, 0x0000c900, 0x29008811, 0x00001900, 0x000004a2,
+ 0x00001583, 0x9b7f1fe3, 0x00001908, 0x8a00bc6d, 0x00002088, 0x00000de6,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x1b403c17, 0x00009281, 0x05c0146d,
+ 0x00009181, 0x00000c17, 0x00001583, 0x00000deb, 0x0000701b, 0x2687c800,
+ 0x0000f900, 0x0004d7e2, 0x00000980, 0x0deb1c67, 0x00007500, 0x267aff5e,
+ 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0x15b8670c,
+ 0x00008100, 0x03383f07, 0x0000851c, 0x303a84af, 0x0000b038, 0x303a96af,
+ 0x0000b038, 0x0df420ba, 0x0000f404, 0x28c09a00, 0x00006180, 0x29408010,
+ 0x0000c900, 0x2900600c, 0x00001900, 0x000004a2, 0x00001583, 0x9b7f1fe3,
+ 0x00001908, 0x8a00bc6d, 0x00002088, 0x00000dfd, 0x00007010, 0xffffffff,
+ 0x00007f97, 0x1b403c17, 0x00009281, 0x05c0146d, 0x00009181, 0x00000c17,
+ 0x00001583, 0x00000e02, 0x0000f01b, 0x26899000, 0x0000f900, 0x0004d7e2,
+ 0x00000980, 0x0e021c67, 0x0000f500, 0x267abf56, 0x00000920, 0x26e514a2,
+ 0x00001900, 0xffffffff, 0x00007f86, 0x15383706, 0x0000001c, 0x01b82f05,
+ 0x00000514, 0x303ad4af, 0x0000b038, 0x0e0a20ba, 0x00007404, 0x28c09a00,
+ 0x00006180, 0x29403807, 0x0000c900, 0x29003006, 0x00001900, 0x000004a2,
+ 0x00001583, 0x9b7f1fe3, 0x00001908, 0x8a00bc6d, 0x00002088, 0x00000e13,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x1b403c17, 0x00009281, 0x05c0146d,
+ 0x00009181, 0x00000c17, 0x00001583, 0x00000e18, 0x0000701b, 0x2689d800,
+ 0x0000f900, 0x0004d7e2, 0x00000980, 0x0e181c67, 0x00007500, 0x267aaf54,
+ 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x303ac4af, 0x00003038, 0x700040ec,
+ 0x00005680, 0x00000540, 0x00008088, 0x700000ec, 0x0000d680, 0x00000000,
+ 0x00000088, 0x30382caf, 0x0000a000, 0x01b00004, 0x00009980, 0x04181006,
+ 0x00006987, 0xffffffff, 0x00007f86, 0x703ac0ec, 0x00005600, 0x00382800,
+ 0x00008000, 0x01400c13, 0x00001283, 0x700040ec, 0x00005680, 0x003837c0,
+ 0x00000078, 0x70004820, 0x00006d10, 0x00000f1d, 0x00007008, 0x01401413,
+ 0x00001283, 0x0e809012, 0x00006110, 0x8000081f, 0x0000e413, 0x80000604,
+ 0x00001583, 0x00000f1d, 0x00007400, 0x2000081b, 0x0000ec0b, 0x6000081b,
+ 0x00006c0b, 0x0e3720ba, 0x0000f404, 0x2940500a, 0x0000e100, 0x70000820,
+ 0x0000e500, 0x28c09e00, 0x0000e180, 0x2900580b, 0x00004900, 0x000004a2,
+ 0x00001583, 0x85ff1fe3, 0x00009908, 0x8a036c17, 0x00002088, 0x00000e40,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x05c03c6d, 0x00009281, 0x1b401417,
+ 0x00009181, 0x00000c6d, 0x00009583, 0x00000e45, 0x0000f01b, 0x268ba000,
+ 0x00007900, 0x0004d7e4, 0x00000980, 0x0e451c67, 0x0000f500, 0x26785f0a,
+ 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x30008eaf, 0x00007902, 0x04000000,
+ 0x00008000, 0x307860af, 0x00002080, 0x30403aaf, 0x0000f902, 0x01800000,
+ 0x00000000, 0xffffffff, 0x00007f86, 0x08008c17, 0x0000e800, 0x11006010,
+ 0x00006400, 0x1b406417, 0x00004080, 0x05c0146d, 0x00009881, 0x1b41fc17,
+ 0x0000e281, 0x0fc08c17, 0x00002000, 0x52001417, 0x0000e081, 0x20a36c48,
+ 0x0000e082, 0x01400c48, 0x00009283, 0x11000044, 0x0000f900, 0x00000400,
+ 0x00000c80, 0x11408010, 0x0000e110, 0x40001046, 0x00006412, 0x00000e62,
+ 0x00007010, 0x11403807, 0x00006100, 0x40808846, 0x0000e000, 0x50808846,
+ 0x0000e800, 0x81001646, 0x00009283, 0x0e803006, 0x00006108, 0x8000081f,
+ 0x0000e40b, 0x01410411, 0x00009283, 0x85513a27, 0x00006110, 0x0f008c6d,
+ 0x0000e010, 0x0f82440d, 0x0000e892, 0x00000f1d, 0x00007008, 0x0000046d,
+ 0x00001583, 0x1b406000, 0x0000e191, 0x1b404800, 0x0000c989, 0xffffffff,
+ 0x00007f86, 0x03236c6d, 0x0000e100, 0x05e36fe4, 0x0000c800, 0x81c00a17,
+ 0x00006180, 0x85004217, 0x00000080, 0x05810214, 0x00001180, 0x1b50aa15,
+ 0x00006100, 0x84040215, 0x0000c080, 0x0140606d, 0x0000e704, 0x04801000,
+ 0x00008981, 0x81903a15, 0x0000e202, 0x05e02c05, 0x00008901, 0x05c00c05,
+ 0x00001091, 0xffffffff, 0x00007f86, 0x85fc001f, 0x00006180, 0x9b401c17,
+ 0x00004880, 0x89d0aa17, 0x0000e100, 0x8190aa6d, 0x00008000, 0x00001412,
+ 0x00001583, 0x01606c0d, 0x00009909, 0x00000e9f, 0x00007009, 0x00000e9e,
+ 0x0000f000, 0x01400000, 0x00009981, 0x04c08211, 0x00001880, 0x04c08013,
+ 0x00009784, 0x00108013, 0x00009502, 0x84508a27, 0x00006040, 0x81602a06,
+ 0x00008140, 0x00000ea2, 0x00007049, 0x8000026d, 0x00001582, 0x84d36a14,
+ 0x00001110, 0x00000e93, 0x00007009, 0x80109a05, 0x00001502, 0x81509a05,
+ 0x0000e118, 0x9b502a6d, 0x00008030, 0x9b400000, 0x00006198, 0x81400000,
+ 0x0000c9b0, 0xffffffff, 0x00007f86, 0xa590a205, 0x0000f82b, 0x00400001,
+ 0x00008080, 0x8150a205, 0x00009100, 0xffffffff, 0x00007f86, 0x8010a205,
+ 0x00009502, 0x00000e92, 0x00007023, 0x9b502a6d, 0x00001000, 0x8010a26d,
+ 0x00001502, 0x9b50a26d, 0x00001120, 0xffffffff, 0x00007f86, 0xa9536816,
+ 0x00007853, 0x00400001, 0x00000000, 0xa0000211, 0x0000f8bb, 0x10400000,
+ 0x00000785, 0x01400000, 0x00009981, 0x00000e81, 0x0000f200, 0x846f2004,
+ 0x00006180, 0x9b400000, 0x00004980, 0x04800c12, 0x00009183, 0x00000ea7,
+ 0x0000700b, 0x00000e7c, 0x0000f000, 0x00000e70, 0x00007200, 0x85402215,
+ 0x00001180, 0x00000f1d, 0x00007200, 0x89d0aa15, 0x00006100, 0x6000081e,
+ 0x0000e402, 0x0ead20ba, 0x0000f404, 0x29785f0a, 0x00000a10, 0x28c09c00,
+ 0x00001980, 0x81001646, 0x00009283, 0x303836af, 0x0000a080, 0x02405800,
+ 0x00009989, 0x00000eba, 0x00007008, 0xffffffff, 0x00007f86, 0x00000406,
+ 0x00009583, 0x00000eb7, 0x0000f013, 0x01401424, 0x00009283, 0x02405000,
+ 0x00001989, 0x00000eb8, 0x00007009, 0x02408000, 0x00001981, 0x0f1d0baf,
+ 0x0000f100, 0x00000f1d, 0x0000f000, 0x0f1d0be1, 0x0000f100, 0x00000f1d,
+ 0x0000f000, 0x200f26ec, 0x00005680, 0x003b6509, 0x00003f10, 0x60001018,
+ 0x0000e402, 0x4000181a, 0x0000b403, 0x0ec40bc1, 0x0000f500, 0x0000081c,
+ 0x0000ec02, 0x04405000, 0x0000f900, 0x003fc080, 0x00000980, 0x04000002,
+ 0x00006180, 0x85f71ee3, 0x00004900, 0x85b88c17, 0x00002080, 0xffffffff,
+ 0x00007fa7, 0xc4208c11, 0x00001900, 0x770000ec, 0x00005680, 0x00388000,
+ 0x00000000, 0x008806ec, 0x00005f80, 0x00985980, 0x00000584, 0x47055000,
+ 0x0000e181, 0x2001501b, 0x0000e482, 0xa000101b, 0x0000e402, 0x6000481a,
+ 0x0000b407, 0x2001501c, 0x0000e483, 0x2000101b, 0x0000b403, 0xc000081d,
+ 0x0000e402, 0x00005018, 0x00003407, 0x8000081e, 0x00006402, 0xc000101a,
+ 0x0000b403, 0xc000081c, 0x0000e403, 0x6000101b, 0x00003403, 0xc9c00000,
+ 0x00006180, 0x0281782f, 0x0000c900, 0x01400c46, 0x00001283, 0x01401448,
+ 0x00009283, 0xffffffff, 0x00007f86, 0x00000f1d, 0x00007010, 0x00000f1d,
+ 0x00007008, 0x1b400d46, 0x00006181, 0x2000081e, 0x0000a402, 0x0000046d,
+ 0x0000e583, 0x12800000, 0x00000980, 0x51800d46, 0x0000e181, 0x89800a26,
+ 0x00000080, 0x00000ef3, 0x00007009, 0x01440446, 0x00001283, 0x11bbf846,
+ 0x00007910, 0x003ffffe, 0x00008280, 0x18032064, 0x00006110, 0x18432865,
+ 0x0000c910, 0x11840046, 0x0000e388, 0x18833066, 0x00000910, 0x18c33867,
+ 0x00006110, 0x19034068, 0x0000c910, 0x19434869, 0x00006110, 0x1983506a,
+ 0x00004910, 0x19c3586b, 0x00009910, 0x00000f1d, 0x00007200, 0x123fe848,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x0ef920ba, 0x00007404, 0x29785f0a,
+ 0x00000a10, 0x28c09a00, 0x00001980, 0x000004a2, 0x00001583, 0x85ff1fe3,
+ 0x00009908, 0x8a036c17, 0x00002088, 0x00000f02, 0x0000f010, 0xffffffff,
+ 0x00007f97, 0x05c03c6d, 0x00009281, 0x1b401417, 0x00009181, 0x00000c6d,
+ 0x00009583, 0x00000f07, 0x0000701b, 0x26a36800, 0x0000f900, 0x0004d7e0,
+ 0x00008980, 0x0f071c67, 0x00007500, 0x26785f0a, 0x00000920, 0x26e514a2,
+ 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x300036af, 0x00007902, 0x01400000, 0x00000000, 0xffffffff,
+ 0x00007f86, 0x00000f1d, 0x00007403, 0x83883006, 0x00008036, 0xc3902a05,
+ 0x00001900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x03408000,
+ 0x0000f900, 0x0004d7de, 0x00000980, 0x03979800, 0x0000f900, 0x001cdbc6,
+ 0x00000980, 0x01800709, 0x0000809c, 0x02c01002, 0x00006100, 0x08001a09,
+ 0x0000e106, 0x81002800, 0x00006180, 0xc2700600, 0x00004901, 0x82680500,
+ 0x00009901, 0x0f1d1bb2, 0x00007100, 0x0f220bd4, 0x00007500, 0x4000181a,
+ 0x0000e403, 0x60001018, 0x0000b402, 0x200aa6ec, 0x0000d680, 0x003b6189,
+ 0x00003f10, 0x85f71ee3, 0x00006100, 0x1b401c09, 0x00004181, 0x85b89417,
+ 0x00002080, 0x00003409, 0x00006583, 0x04000002, 0x00008980, 0x00000c6d,
+ 0x00001593, 0xffffffff, 0x00007f86, 0xc4209412, 0x00001900, 0x00000f34,
+ 0x0000f418, 0x770000ec, 0x00005680, 0x00388000, 0x00000000, 0x04005000,
+ 0x00001981, 0x80105810, 0x00006d86, 0x0f320bc1, 0x00007500, 0x80001010,
+ 0x0000ec87, 0x04408010, 0x00009900, 0x008806ec, 0x00005f80, 0x00985980,
+ 0x00008ac4, 0x80100010, 0x0000ed86, 0x0ecb0bc1, 0x0000f500, 0x80001010,
+ 0x0000ec87, 0x04408010, 0x00009900, 0x00000f3f, 0x00007200, 0x1b400000,
+ 0x00001981, 0x00000f3f, 0x00007200, 0x1b400800, 0x00009981, 0x00000f3f,
+ 0x00007200, 0x1b401000, 0x00009981, 0x1b401800, 0x00001981, 0x01800000,
+ 0x00006180, 0x08001a04, 0x00006106, 0x01a02404, 0x00006101, 0x08001a09,
+ 0x0000e106, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0354e000,
+ 0x0000f900, 0x000ce8a4, 0x00000980, 0x03afa800, 0x00007900, 0x000982ea,
+ 0x00000980, 0x02281402, 0x00008020, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x00000f1c, 0x0000f400, 0x82781400, 0x0000802c, 0x81008000,
+ 0x0000e180, 0x41a36c6d, 0x0000c901, 0x1b63f888, 0x00006700, 0x00008040,
+ 0x0000a480, 0x003fe06d, 0x0000f900, 0x0000003e, 0x00008582, 0x05c00000,
+ 0x00006180, 0x03439840, 0x0000e000, 0x05c00800, 0x00006188, 0x13039840,
+ 0x0000e000, 0x4000057f, 0x0000e583, 0x90abfd7f, 0x00000901, 0x30e0b840,
+ 0x0000e800, 0x10010040, 0x00001388, 0x00000d29, 0x00007008, 0x00000d21,
+ 0x00007000, 0x0f5f0bf0, 0x0000f004, 0x1b7c2785, 0x00000630, 0x88000000,
+ 0x000001e0, 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000,
+ 0x000001f8, 0x01001e6d, 0x0000e281, 0x07c00000, 0x00000980, 0xf2e01e6d,
+ 0x00004297, 0xd4001d22, 0x0000038e, 0x05e00c04, 0x0000c593, 0x02e06522,
+ 0x0000008e, 0x0f6f0bc1, 0x0000f500, 0x200f26ec, 0x00005680, 0x003c2509,
+ 0x00003f10, 0x04405000, 0x0000f900, 0x003fc080, 0x00000980, 0x00001018,
+ 0x0000e402, 0x0000301c, 0x00003406, 0x0000181a, 0x0000ec03, 0x008806ec,
+ 0x00005f80, 0x00985980, 0x00000584, 0x0f790bc1, 0x00007500, 0x200f26ec,
+ 0x00005680, 0x003c2189, 0x00003f10, 0x04405000, 0x0000f900, 0x00008080,
+ 0x00008980, 0x20001018, 0x00006402, 0x2000101c, 0x0000b402, 0x2000181a,
+ 0x0000e403, 0x70000820, 0x0000b500, 0x0240000d, 0x000080e8, 0x02c00000,
+ 0x000000f4, 0x03800000, 0x000080fc, 0x02000702, 0x00008090, 0x1c000000,
+ 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000,
+ 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000,
+ 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000,
+ 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000,
+ 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000,
+ 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x0f720bd4,
+ 0x00007500, 0x25000000, 0x000089d4, 0x25c00000, 0x000089d8, 0x00000f72,
+ 0x0000f000, 0x84001e6d, 0x00001283, 0x200f26ec, 0x00005680, 0x003c2509,
+ 0x00003f10, 0x0f720bc1, 0x0000f500, 0x04405000, 0x0000f900, 0x003fc080,
+ 0x00000980, 0x20001018, 0x0000e412, 0x00001018, 0x0000340a, 0x4147dd20,
+ 0x0000e283, 0xc12f2004, 0x00008980, 0x81000454, 0x000001e0, 0x06400000,
+ 0x000001e8, 0x06c00000, 0x000081f0, 0x00000fd4, 0x0000f410, 0x07400000,
+ 0x000001f8, 0x07c00000, 0x0000e180, 0x25000000, 0x00004988, 0x25400000,
+ 0x000009d8, 0x25c00000, 0x000009e0, 0x0fad1ace, 0x00007500, 0x26400000,
+ 0x000009e8, 0x26c00000, 0x00009980, 0x0fb01a22, 0x0000f500, 0xa9000400,
+ 0x00000adc, 0xa9a00400, 0x00000ad9, 0x800016a8, 0x00006583, 0x20001018,
+ 0x0000a402, 0x00505000, 0x0000f900, 0x0004c010, 0x00008980, 0x40e06401,
+ 0x000000c3, 0x00000fdc, 0x00007208, 0x806d4ee5, 0x00001401, 0x81403e98,
+ 0x00006080, 0x01005504, 0x00004181, 0x01800000, 0x0000f900, 0x001f8000,
+ 0x00008980, 0xc1102b04, 0x00006100, 0x02c00000, 0x00000980, 0x00182006,
+ 0x0000e186, 0x0000180b, 0x00003106, 0x04202006, 0x0000e101, 0xc000180b,
+ 0x0000b006, 0x203836ec, 0x0000d600, 0x003c2000, 0x00008000, 0x000800ec,
+ 0x00005780, 0x00985980, 0x00008580, 0x02009000, 0x00007900, 0x000210c0,
+ 0x00008980, 0x02400000, 0x0000f900, 0x00010030, 0x00000980, 0x000880ec,
+ 0x0000d780, 0x00c05880, 0x00000280, 0x03000000, 0x000080f4, 0x03800000,
+ 0x000080fc, 0x02a81402, 0x00008028, 0x04000120, 0x000081c4, 0x04800000,
+ 0x000081cc, 0x05000000, 0x000081d4, 0x05c00784, 0x00008198, 0x00812eec,
+ 0x00005f80, 0x00006001, 0x00008084, 0x0fd51ba1, 0x00007100, 0x00001404,
+ 0x00006583, 0x20001018, 0x0000a402, 0x00505000, 0x0000f900, 0x0004c010,
+ 0x00008980, 0x40e06401, 0x000000c3, 0x00000fb7, 0x0000f210, 0x80602ee5,
+ 0x00009401, 0x01800000, 0x0000f900, 0x001f8000, 0x00008980, 0x012f2006,
+ 0x0000ed86, 0x04282006, 0x0000e901, 0x203836ec, 0x0000d600, 0x003c2000,
+ 0x00008000, 0x000800ec, 0x00005780, 0x00985980, 0x00008580, 0x008886ec,
+ 0x0000df80, 0x00005800, 0x00008084, 0xffc00000, 0x00001980, 0xffffffff,
+ 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x06000002,
+ 0x000001e4, 0x06800000, 0x000081ec, 0x07000000, 0x000081f4, 0x07800000,
+ 0x000081fc, 0x08000000, 0x00006181, 0xdb2f2004, 0x0000c980, 0xc1060721,
+ 0x00006283, 0x1b02a000, 0x00008981, 0x01000c48, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x00000ffb, 0x0000f008, 0x00000ffb, 0x0000f008, 0x00001032,
+ 0x00007400, 0x70000820, 0x0000e500, 0x6000101a, 0x00003402, 0x0107f800,
+ 0x00006181, 0x6000101b, 0x00006403, 0x01000c48, 0x0000e283, 0x04020000,
+ 0x00008980, 0x04400000, 0x000001c8, 0x04c00000, 0x000081d0, 0x05400000,
+ 0x000001d8, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x27000000,
+ 0x000089f4, 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000,
+ 0x00008acc, 0x100b1af5, 0x00007500, 0x01ffe01f, 0x00006190, 0x01806000,
+ 0x0000c990, 0x01800000, 0x0000e188, 0x01ffe01f, 0x00004988, 0x00000406,
+ 0x00009583, 0x00001011, 0x0000f00b, 0x00001017, 0x0000f400, 0x00001406,
+ 0x00001583, 0x30002010, 0x0000e40c, 0x70000820, 0x00003508, 0x30000810,
+ 0x00006404, 0xc000081e, 0x00003403, 0x48000000, 0x0000e181, 0x07c4001f,
+ 0x0000c380, 0x0bc00829, 0x00006080, 0x0d000829, 0x00000080, 0x02c00000,
+ 0x0000e180, 0x03972ae5, 0x00004900, 0x81002302, 0x00006780, 0x0000180b,
+ 0x0000a106, 0x0200b000, 0x0000f900, 0x000210c0, 0x00008980, 0x02400000,
+ 0x0000f900, 0x00010030, 0x00000980, 0x03400000, 0x00007900, 0x00010000,
+ 0x00000980, 0xc000180b, 0x0000e006, 0x4510200e, 0x00003107, 0x03000000,
+ 0x000000fc, 0x02a81402, 0x00008028, 0x05c42084, 0x00009900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec,
+ 0x0000d780, 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x013024e5, 0x00006401, 0x1b00546c,
+ 0x00000181, 0x01001404, 0x0000e181, 0xdb04036c, 0x00008180, 0x01800000,
+ 0x0000f900, 0x001f8000, 0x00008980, 0xc0c05800, 0x0000e180, 0x001b6006,
+ 0x00006186, 0xc000b000, 0x00006181, 0x04236006, 0x00006101, 0x00505000,
+ 0x0000f900, 0x0004c010, 0x00008980, 0x203836ec, 0x0000d600, 0x003c2000,
+ 0x00008000, 0x000800ec, 0x00005780, 0x00985980, 0x00008580, 0x80602404,
+ 0x00001901, 0x009886ec, 0x00005f80, 0x00005802, 0x00000084, 0xdb2f2004,
+ 0x0000e180, 0x5b02a000, 0x0000c981, 0x06000002, 0x000001e4, 0x06800000,
+ 0x000081ec, 0x07000005, 0x0000e180, 0x07400000, 0x00004980, 0x07800000,
+ 0x000081fc, 0x88000000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000,
+ 0x000009e0, 0x26400000, 0x000009e8, 0x26c00000, 0x000089f0, 0x27400000,
+ 0x000009f8, 0x27c00000, 0x00000ac0, 0x10521b53, 0x0000f500, 0x28400000,
+ 0x00000ac8, 0x28c00000, 0x00001980, 0x00000c6c, 0x0000e583, 0x01000000,
+ 0x00008981, 0x01000800, 0x00006189, 0x04040000, 0x00004980, 0x81000e97,
+ 0x00006283, 0x04400000, 0x00008980, 0x00505000, 0x0000f900, 0x0004c010,
+ 0x00008980, 0x04800000, 0x00006180, 0x20a02010, 0x0000e000, 0x04c00000,
+ 0x0000e180, 0x30001010, 0x0000e414, 0x05000000, 0x000081d4, 0x00001065,
+ 0x00007410, 0x05a05800, 0x000000cd, 0x80642ee5, 0x0000e401, 0xc000b000,
+ 0x00008981, 0x81002697, 0x00009283, 0x30001810, 0x0000ec14, 0x02c00000,
+ 0x0000e180, 0x03972ae5, 0x00004900, 0x81002302, 0x00006780, 0x0000180b,
+ 0x0000a106, 0x0200b000, 0x0000f900, 0x000210c0, 0x00008980, 0x02400000,
+ 0x0000f900, 0x00010030, 0x00000980, 0x03400000, 0x00007900, 0x00010000,
+ 0x00000980, 0xc000180b, 0x0000e006, 0x4510200e, 0x00003107, 0x03000000,
+ 0x000000fc, 0x02a81402, 0x00008028, 0x05c42084, 0x00009900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec,
+ 0x0000d780, 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x0000046c, 0x00006583, 0x5b00556c,
+ 0x00000181, 0xdb04036c, 0x00009188, 0x01400000, 0x0000f900, 0x001f8000,
+ 0x00008980, 0x001b6005, 0x0000e986, 0x042b6005, 0x00006901, 0x20382eec,
+ 0x0000d600, 0x003c2000, 0x00008000, 0x000800ec, 0x00005780, 0x00985980,
+ 0x00008580, 0x009886ec, 0x00005f80, 0x00005802, 0x00000084, 0x5b3c98ec,
+ 0x00002084, 0xa1b71ee3, 0x00009900, 0xffffffff, 0x00007f97, 0x80149a86,
+ 0x00001502, 0x801c9a86, 0x00009502, 0xffffffff, 0x00007f86, 0x00001099,
+ 0x0000f008, 0x00001097, 0x00007008, 0x80172a93, 0x00001502, 0xa4f71ee3,
+ 0x00009908, 0x00001099, 0x00007009, 0xc0172b93, 0x00001502, 0xe4f71ee3,
+ 0x00001908, 0x00001099, 0x00007011, 0x0000109a, 0x0000f200, 0xa5800800,
+ 0x00001980, 0xa5800000, 0x00009980, 0xffffffff, 0x00007f86, 0x2c003296,
+ 0x00001680, 0xa18588b0, 0x00001000, 0xa1800a86, 0x00009080, 0x5b048086,
+ 0x00007902, 0x23c00000, 0x00000004, 0x5b047286, 0x0000f902, 0x23400000,
+ 0x00008004, 0x5b046486, 0x00007902, 0x22c00000, 0x00008004, 0x5b045686,
+ 0x0000f902, 0x22400000, 0x00000004, 0x5b444086, 0x0000f902, 0x21c00000,
+ 0x00008004, 0x5b44aa86, 0x00007902, 0x25000000, 0x00000004, 0x1c603085,
+ 0x0000c388, 0x00203085, 0x00008098, 0x1c201085, 0x00004488, 0x88201085,
+ 0x00000499, 0x00c00085, 0x0000c790, 0x02c05085, 0x00008488, 0x19e05085,
+ 0x000044b0, 0xe8206085, 0x00000489, 0x3c406085, 0x000078aa, 0xa8800000,
+ 0x00000886, 0x00000885, 0x00009582, 0xe4000b90, 0x00001088, 0x000010f7,
+ 0x0000f009, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x036e9000,
+ 0x00007900, 0x00328e8c, 0x00008980, 0x038a7000, 0x0000f900, 0x00153394,
+ 0x00008980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000,
+ 0x000080dc, 0x10f71bb2, 0x0000f500, 0x82600500, 0x00008026, 0x81001000,
+ 0x0000e180, 0x02c01002, 0x00004900, 0x00002085, 0x00009582, 0xe3542284,
+ 0x00006108, 0xa3400a8d, 0x00004088, 0x000010f7, 0x0000f009, 0x00002085,
+ 0x00009582, 0xa3800a8e, 0x000060b0, 0xe3942284, 0x00000930, 0xe3142284,
+ 0x00006118, 0xa3000a8c, 0x0000c098, 0x000010f7, 0x0000f030, 0x000010f7,
+ 0x0000f000, 0x00004085, 0x00009582, 0xe2142284, 0x00006108, 0xa2000a88,
+ 0x00004088, 0x000010f7, 0x0000f009, 0x39804085, 0x0000f8b2, 0x58800000,
+ 0x00008887, 0x00006885, 0x00009582, 0xe5142284, 0x0000e108, 0xa5000a94,
+ 0x00004088, 0x000010f7, 0x0000f009, 0x000010b7, 0x00007000, 0x24000001,
+ 0x000008fc, 0x23800000, 0x000008f4, 0x23000000, 0x000088ec, 0x22800000,
+ 0x000008e4, 0x000010f7, 0x00007400, 0x22000000, 0x000008dc, 0x25000000,
+ 0x000089d4, 0x000010f7, 0x00007200, 0xa3c00a8f, 0x00009080, 0x000010f7,
+ 0x00007200, 0xe2d42284, 0x0000e100, 0xa2c00a8b, 0x0000c080, 0x000010f7,
+ 0x00007400, 0x80000296, 0x00006582, 0xe3c00b8f, 0x00000080, 0xa4d72ae5,
+ 0x0000e108, 0xe4d72ae5, 0x00004910, 0x000010f7, 0x00007200, 0xe2942284,
+ 0x00006100, 0xa2800a8a, 0x0000c080, 0x000010f7, 0x00007200, 0xe2542284,
+ 0x00006100, 0xa2400a89, 0x0000c080, 0x000010f7, 0x00007200, 0xe1d42284,
+ 0x0000e100, 0xa1c00a87, 0x0000c080, 0x000010f7, 0x00007200, 0xe5542284,
+ 0x0000e100, 0xa5400a95, 0x0000c080, 0xffffffff, 0x00007f86, 0x5b3c98ec,
+ 0x0000a884, 0x5b3c8086, 0x00005004, 0x003c7800, 0x00000000, 0x5b3c7286,
+ 0x0000d004, 0x003c6800, 0x00008000, 0x5b3c6486, 0x00005004, 0x003c5800,
+ 0x00008000, 0x5b3c5686, 0x0000d004, 0x003c4800, 0x00000000, 0x00000001,
+ 0x00007480, 0x5b7c4086, 0x0000d004, 0x003c3800, 0x00008000, 0x5b7caa86,
+ 0x00005004, 0x003ca000, 0x00000000, 0x00000069, 0x00009582, 0x0000110e,
+ 0x0000f00b, 0x03c00ce0, 0x00001283, 0x00000001, 0x0000708b, 0x110b1c08,
+ 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x00000001,
+ 0x0000708b, 0x2140000a, 0x0000e180, 0x21000000, 0x00004980, 0x11151be8,
+ 0x00007500, 0x2228d800, 0x0000f900, 0x00048f1e, 0x00008980, 0xe1771ee3,
+ 0x00006100, 0x21834869, 0x00004900, 0x00000069, 0x00009582, 0x200f26ec,
+ 0x00005680, 0x003b3509, 0x00003f10, 0x00001134, 0x00007009, 0x00000869,
+ 0x00001582, 0x0107f800, 0x00009989, 0x01000000, 0x00009991, 0x0000111d,
+ 0x00007008, 0x88b71ee3, 0x00006100, 0xffc00000, 0x00004980, 0x70f82c22,
+ 0x00002084, 0x00503800, 0x00007900, 0x00044010, 0x00000980, 0x0ac00000,
+ 0x0000f900, 0x00200000, 0x00000980, 0x0b001000, 0x0000f900, 0x000a0000,
+ 0x00008980, 0x01400805, 0x00006080, 0x80001000, 0x00008980, 0x000800ec,
+ 0x00005780, 0x00985a80, 0x000003c0, 0x70f82c22, 0x00005004, 0x003b4800,
+ 0x00008000, 0xc0200408, 0x000000cd, 0x0a000002, 0x000002e4, 0x0a800000,
+ 0x0000e180, 0x0b400004, 0x0000c980, 0x0b800000, 0x000082fc, 0x80602404,
+ 0x00001901, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x88b71ee3,
+ 0x00001900, 0x70f92422, 0x00002084, 0xffffffff, 0x00007fa7, 0x09000824,
+ 0x00009080, 0x00000001, 0x00007480, 0x70f92422, 0x0000a884, 0x70c00422,
+ 0x0000d004, 0x00400000, 0x00000080, 0xc0000373, 0x0000e582, 0x09400ee3,
+ 0x00000281, 0x19c02425, 0x00001881, 0x09633ae5, 0x00009800, 0x198128e5,
+ 0x0000e400, 0x0bc71825, 0x00002084, 0x89400a73, 0x00006080, 0x38435c25,
+ 0x00008081, 0x5bfb5a25, 0x0000b03c, 0x5bfb6c25, 0x0000b03c, 0x5bfb7e25,
+ 0x0000b03c, 0x5c3b8825, 0x0000303c, 0xffffffff, 0x00007fa7, 0x1a000200,
+ 0x00007904, 0x09633868, 0x00001700, 0x89400a25, 0x00006188, 0x89400a25,
+ 0x00008090, 0xffffffff, 0x00007f86, 0x09434066, 0x0000e200, 0x19e33a25,
+ 0x00000800, 0x89400a73, 0x00006080, 0x19812867, 0x00000300, 0x00033400,
+ 0x0000f904, 0x5bfb5a25, 0x00005004, 0x003b6000, 0x00008000, 0x5bfb6c25,
+ 0x00005004, 0x003b7000, 0x00000000, 0x00000001, 0x00007480, 0x5bfb7e25,
+ 0x00005004, 0x003b8000, 0x00000000, 0x5c3b8825, 0x0000d004, 0x003b9000,
+ 0x00008000, 0x0947f867, 0x00006280, 0x09c00002, 0x00000980, 0x09400825,
+ 0x00006080, 0x09800000, 0x0000c980, 0x094fd025, 0x00007900, 0x000001f0,
+ 0x00000080, 0xc9e80500, 0x0000e100, 0x00012825, 0x00006286, 0x00181026,
+ 0x00006186, 0x863f1025, 0x0000b087, 0x780410ec, 0x00005680, 0x00393800,
+ 0x00008000, 0xc41722e4, 0x00006100, 0x00000022, 0x00006587, 0x783930ec,
+ 0x0000d600, 0x00392800, 0x00000000, 0x783918ec, 0x0000d600, 0x00391000,
+ 0x00008000, 0x00d002ec, 0x00005f80, 0x110b8009, 0x00009384, 0x21600800,
+ 0x0000e180, 0x21b71ee3, 0x00004900, 0x11771be8, 0x0000f500, 0x2220f000,
+ 0x00007900, 0x000ed2c6, 0x00000980, 0xe17f17e2, 0x00006100, 0x21101202,
+ 0x0000c900, 0xb9188310, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0xc0000322,
+ 0x00006582, 0x82391801, 0x0000a080, 0x80611422, 0x00006101, 0x60001028,
+ 0x00006412, 0x86291801, 0x00006001, 0x4000102a, 0x0000b413, 0x80000623,
+ 0x0000e583, 0xc0c00000, 0x00008980, 0x80c03800, 0x00006191, 0x96711801,
+ 0x00006001, 0x00000001, 0x00007480, 0x40000523, 0x0000e583, 0x00001000,
+ 0x00008981, 0xc0211c23, 0x00006101, 0x00003801, 0x00006416, 0x118d1089,
+ 0x0000f300, 0x21002f02, 0x00000894, 0x0ac00000, 0x0000f900, 0x00200000,
+ 0x00000980, 0x0b000800, 0x0000f900, 0x000a0000, 0x00008980, 0x200f26ec,
+ 0x00005680, 0x003c0509, 0x0000bf10, 0x08c84000, 0x00007900, 0x00008000,
+ 0x00000980, 0x0a000000, 0x000082e4, 0x0a800020, 0x00006180, 0x0b400004,
+ 0x0000c980, 0x119c117a, 0x00007500, 0x0b800000, 0x000082fc, 0x0887f800,
+ 0x00006180, 0x8c240000, 0x0000c980, 0x81371ee3, 0x00009900, 0x85b82c04,
+ 0x0000a080, 0x01000002, 0x00001980, 0xffffffff, 0x00007f97, 0xc1202c05,
+ 0x00001900, 0x770000ec, 0x00005680, 0x00382000, 0x00000000, 0x008806ec,
+ 0x00005f80, 0x00985a80, 0x000083c4, 0x04c00000, 0x0000e180, 0x00009010,
+ 0x00006484, 0x00001813, 0x00006106, 0x0c04041c, 0x0000b006, 0x04400000,
+ 0x0000f900, 0x00018008, 0x00000980, 0x00000001, 0x00007480, 0x04801002,
+ 0x0000e100, 0xc0001813, 0x0000e006, 0xc4231800, 0x00001980, 0x9ac00ee3,
+ 0x0000e080, 0x04000000, 0x0000c980, 0x86b8a46b, 0x00003038, 0x86b8b66b,
+ 0x00003038, 0x06000000, 0x000081e4, 0x06800000, 0x000081ec, 0x07000000,
+ 0x000081f4, 0x07800000, 0x000081fc, 0x0a000000, 0x000082e4, 0x0a800000,
+ 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x00002415,
+ 0x00006583, 0x0c000000, 0x00000981, 0x00002c15, 0x00001583, 0x00001c15,
+ 0x00001583, 0x000012b8, 0x00007008, 0x000012d8, 0x00007008, 0x000012e0,
+ 0x0000f010, 0x28c09800, 0x00007900, 0x00001c00, 0x00000980, 0x81000003,
+ 0x000004d0, 0x11400000, 0x000004d8, 0x11c00000, 0x000004e0, 0x12400000,
+ 0x000004e8, 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8, 0x13c00000,
+ 0x000085c0, 0x14400000, 0x000005c8, 0x14c00000, 0x000085d0, 0x15400000,
+ 0x000005d8, 0x15c00000, 0x000005e0, 0x16400000, 0x000005e8, 0x16c00000,
+ 0x000085f0, 0x17400000, 0x000005f8, 0x11d620ba, 0x00007404, 0x17c00000,
+ 0x00006180, 0x2940b016, 0x0000c900, 0x2900b817, 0x00001900, 0x000004a2,
+ 0x00001583, 0x893f1fe3, 0x00009908, 0x8a035c24, 0x00002088, 0x000011df,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x09003c6b, 0x00009281, 0x1ac01424,
+ 0x00009181, 0x00000c6b, 0x00009583, 0x000011e4, 0x0000f01b, 0x26908000,
+ 0x0000f900, 0x000ed2c0, 0x00000980, 0x11e41c67, 0x0000f500, 0x2678bf16,
+ 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x300074af, 0x00007902, 0x03400000,
+ 0x00008000, 0x300066af, 0x00007902, 0x02c00000, 0x00008000, 0x304050af,
+ 0x0000f902, 0x02400000, 0x00000000, 0x304042af, 0x0000f902, 0x01c00000,
+ 0x00008000, 0x304034af, 0x00007902, 0x01400000, 0x00000000, 0x30432eaf,
+ 0x0000f902, 0x19000000, 0x00008000, 0x308318af, 0x0000f902, 0x18800000,
+ 0x00008000, 0x30830aaf, 0x0000f902, 0x18000000, 0x00000000, 0x30810caf,
+ 0x00007902, 0x08000000, 0x00008000, 0x308346af, 0x00007902, 0x19c00000,
+ 0x00008000, 0x30f898af, 0x0000a000, 0x30f892af, 0x0000a000, 0x12011106,
+ 0x00007500, 0x30c08caf, 0x0000f902, 0x03c00000, 0x00000000, 0x19800f80,
+ 0x000006a4, 0x2c2007e2, 0x00007900, 0x00000004, 0x00000680, 0x090588b0,
+ 0x00001000, 0x1ac20024, 0x0000e080, 0x82234225, 0x00002086, 0x0880306b,
+ 0x00006784, 0x002b4225, 0x0000a086, 0x99934568, 0x00008619, 0x99833b67,
+ 0x00000619, 0x48c00315, 0x000001b2, 0x00001248, 0x00007400, 0x04408000,
+ 0x00006181, 0x88d12a25, 0x0000c900, 0x09e11422, 0x0000862c, 0x5bc35227,
+ 0x00007902, 0x1a400000, 0x00008004, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0x0003306a, 0x0000f810, 0x00000000, 0x00000000, 0x86512a69,
+ 0x0000f812, 0x00800001, 0x00000060, 0x05e00369, 0x0000c591, 0x02e08411,
+ 0x00008196, 0xc0000369, 0x00006582, 0x88e0e41c, 0x00008901, 0x01000020,
+ 0x00009988, 0x81011000, 0x00009988, 0x00001221, 0x00007010, 0x0000123d,
+ 0x0000f200, 0x036f8000, 0x00007900, 0x000ed2c0, 0x00000980, 0xda400b69,
+ 0x00006080, 0x08800020, 0x00000980, 0x1226113c, 0x00007500, 0x00113822,
+ 0x00006986, 0x1cc11022, 0x00001900, 0x5bfb4a27, 0x00002804, 0x9100e31c,
+ 0x0000812c, 0x89371ee3, 0x00006100, 0x89bf17e2, 0x0000c900, 0x6fe35c24,
+ 0x00002084, 0x0887e820, 0x00006180, 0x89371ee3, 0x00004900, 0x08c87800,
+ 0x0000f900, 0x00008040, 0x00008980, 0x1263117a, 0x00007500, 0x6fd08c24,
+ 0x00007902, 0x03e80300, 0x00000005, 0x6fe12424, 0x0000a005, 0x0000006a,
+ 0x00006582, 0x88e0e41c, 0x00008901, 0x80000269, 0x00009582, 0xffffffff,
+ 0x00007f86, 0x00001239, 0x00007010, 0x00001245, 0x0000f008, 0x01000020,
+ 0x00001980, 0x0371b800, 0x0000f900, 0x000ed2c0, 0x00000980, 0x81011000,
+ 0x00001980, 0x03877000, 0x00007900, 0x0006a55e, 0x00000980, 0xc1001800,
+ 0x00006181, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x02f8a702,
+ 0x00008020, 0x01fb3723, 0x00000018, 0x12451bb2, 0x0000f100, 0x0461381c,
+ 0x0000862c, 0x07000c1c, 0x00006081, 0x89c02a27, 0x00008080, 0x00007c1c,
+ 0x00001583, 0x0000120f, 0x0000f033, 0x00008411, 0x00001583, 0x08c33066,
+ 0x0000e110, 0xa000101c, 0x0000e40a, 0x09000020, 0x00006190, 0x08800020,
+ 0x00004990, 0x00001228, 0x00007008, 0x1254113c, 0x00007500, 0x88912a25,
+ 0x00006100, 0x00135824, 0x00006186, 0x1cc12024, 0x00001900, 0x2c2007e2,
+ 0x00007900, 0x00000004, 0x00000680, 0x090588b0, 0x00001000, 0x1ac20024,
+ 0x0000e080, 0x06e08c11, 0x00008901, 0x0900306b, 0x00006784, 0x51208c11,
+ 0x00000901, 0x9ac01411, 0x0000e080, 0x89d12224, 0x00004900, 0x19e08c11,
+ 0x00006100, 0x89135c11, 0x0000c000, 0x1228115c, 0x0000f404, 0x89d13a24,
+ 0x00001000, 0x5bf91a27, 0x0000d004, 0x00391000, 0x00008000, 0x4100651c,
+ 0x00001283, 0x1200700e, 0x00006108, 0x1240680d, 0x0000c908, 0x1280600c,
+ 0x0000e108, 0x12c0580b, 0x00004908, 0x000012a2, 0x0000f010, 0x97482026,
+ 0x0000a080, 0x8982426b, 0x00006180, 0x00000045, 0x0000a403, 0x2002a82e,
+ 0x0000e486, 0x30000845, 0x0000b403, 0x13384f0a, 0x00008434, 0x14bb2765,
+ 0x0000050c, 0x16390721, 0x00000524, 0x80000a11, 0x0000e582, 0x89909a26,
+ 0x00000c00, 0x16c00000, 0x00007900, 0x00001200, 0x00008980, 0xc000082d,
+ 0x0000e402, 0x0000102e, 0x00003403, 0x06800000, 0x00007900, 0x00058000,
+ 0x00000980, 0x13c00f07, 0x000005b8, 0x06600000, 0x000084d7, 0x1300600c,
+ 0x0000e108, 0x1340580b, 0x00004908, 0x16030861, 0x0000e108, 0x16430060,
+ 0x00004908, 0x14803006, 0x0000e108, 0x14c02805, 0x00004908, 0x40000d04,
+ 0x00006583, 0x01e07fe4, 0x00000800, 0x70000830, 0x00006500, 0x00001028,
+ 0x0000b402, 0x0000102a, 0x0000e403, 0xa000282c, 0x0000b407, 0x96ffc226,
+ 0x0000f900, 0x0000003e, 0x00008280, 0xd000082d, 0x00006401, 0xe000182e,
+ 0x00003403, 0x09407e1a, 0x00006000, 0x15807845, 0x00003001, 0x867fc226,
+ 0x0000f900, 0x0000003e, 0x00008280, 0x17000820, 0x00006180, 0x13804008,
+ 0x0000c900, 0x14382f06, 0x00008504, 0x153b1763, 0x00000514, 0x15bb0761,
+ 0x0000051c, 0x11c00411, 0x00000493, 0x96a35913, 0x00008528, 0x5180b000,
+ 0x00006181, 0xd1b88f11, 0x0000c901, 0x9743400c, 0x0000e180, 0x57c2a000,
+ 0x0000c981, 0x0d800000, 0x000083dc, 0x10000000, 0x0000e180, 0xcd109212,
+ 0x00004900, 0x06089c6b, 0x00008122, 0x86f1230f, 0x0000012d, 0x51202004,
+ 0x00000126, 0x46800800, 0x0000e189, 0xd7903a07, 0x00004900, 0x1ae02404,
+ 0x0000e101, 0x89371ee3, 0x00004900, 0x82c02cec, 0x00007902, 0x01000000,
+ 0x00000604, 0x85b82424, 0x00002000, 0x18c0a014, 0x0000e100, 0x0020a807,
+ 0x00006086, 0x8228a807, 0x00006886, 0x00102806, 0x0000e186, 0x0418a807,
+ 0x00003187, 0x85b82c24, 0x00002080, 0x80000604, 0x0000e583, 0x18803807,
+ 0x00008900, 0x04102006, 0x0000e18f, 0x00002004, 0x0000b586, 0x0428a804,
+ 0x00006887, 0x8620a804, 0x00006087, 0x04182806, 0x0000b197, 0x12ed1c89,
+ 0x0000f500, 0x2806d800, 0x0000f900, 0x0032a52e, 0x00000980, 0x18782706,
+ 0x00000600, 0x2c2007e2, 0x00007900, 0x00000004, 0x00000680, 0x1ac588b0,
+ 0x00009000, 0x0902006b, 0x0000e080, 0x01400000, 0x00008980, 0x9ac01544,
+ 0x00006080, 0x01803024, 0x00004784, 0x01002000, 0x0000e181, 0x89935d44,
+ 0x0000c000, 0x81503226, 0x00006000, 0x89103226, 0x00000000, 0x5bc11a24,
+ 0x0000f902, 0x08800000, 0x00008004, 0x1cc02805, 0x00001900, 0x12c9113c,
+ 0x00007501, 0xffffffff, 0x00007f86, 0xc8800b22, 0x00001180, 0xc0000322,
+ 0x00009582, 0x08c00000, 0x00006188, 0x08800000, 0x0000c988, 0x19ea2544,
+ 0x00009908, 0x12ce115c, 0x0000700c, 0x5bf91a24, 0x0000d004, 0x00391000,
+ 0x00008000, 0x12d4117a, 0x00007500, 0x08c84000, 0x00007900, 0x00008000,
+ 0x00000980, 0x0887e820, 0x00001980, 0x000012a2, 0x0000f400, 0x70004830,
+ 0x00006d00, 0x0727f81c, 0x00007900, 0x003ffffe, 0x00008280, 0x200f26ec,
+ 0x00005680, 0x003c03c9, 0x0000bf10, 0x12a2117a, 0x0000f500, 0x08c84000,
+ 0x00007900, 0x00008000, 0x00000980, 0x0887d820, 0x00006180, 0x01003800,
+ 0x0000c981, 0x000012a2, 0x00007000, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x03719800, 0x00007900, 0x000ed2be, 0x00000980, 0x03ba9000,
+ 0x00007900, 0x0016f7fa, 0x00008980, 0x0200a014, 0x00006100, 0x08001a09,
+ 0x0000e106, 0x01800715, 0x0000009c, 0x00001244, 0x00007400, 0x82600500,
+ 0x00008026, 0x81002800, 0x00006180, 0x02c01002, 0x00004900, 0x12ef1089,
+ 0x00007300, 0x21035f14, 0x00008817, 0x00002c15, 0x00001583, 0x200aa6ec,
+ 0x00005690, 0x003c03c9, 0x0000bf10, 0x000012f3, 0x0000f009, 0x12f411a5,
+ 0x0000f100, 0x9af71ee3, 0x0000e100, 0x01400002, 0x0000c980, 0x85b8246b,
+ 0x00002080, 0x00001c15, 0x00001583, 0xffffffff, 0x00007f97, 0xc1602404,
+ 0x00009900, 0x770000ec, 0x00005680, 0x00382800, 0x00008000, 0x000800ec,
+ 0x00005780, 0x00985a80, 0x000003c0, 0x001888ec, 0x00005788, 0x00005801,
+ 0x00008080, 0x008026ec, 0x00005f80, 0x00006001, 0x00008084, 0x13041089,
+ 0x0000f300, 0x21003702, 0x00000894, 0x200f26ec, 0x00005680, 0x003c03c9,
+ 0x0000bf10, 0x0a000002, 0x000002e4, 0x0a800040, 0x00006180, 0x0ac00000,
+ 0x00004980, 0x0b000002, 0x000002f4, 0x0b800000, 0x000082fc, 0x4c000080,
+ 0x000081c0, 0x05400000, 0x000001d8, 0x05c00000, 0x000001e0, 0x06400000,
+ 0x000001e8, 0x06c00000, 0x000081f0, 0x131311a5, 0x0000f500, 0x07400000,
+ 0x000001f8, 0x07c00000, 0x00009980, 0x05001002, 0x0000e100, 0x8000081c,
+ 0x0000e402, 0x131a117a, 0x00007500, 0x08c84000, 0x00007900, 0x00008000,
+ 0x00000980, 0x0887e020, 0x0000e180, 0x85482000, 0x00004980, 0x000800ec,
+ 0x00005780, 0x00985a80, 0x000003c0, 0x008026ec, 0x00005f80, 0x00006001,
+ 0x00008084, 0x8100c645, 0x0000e283, 0x05c00000, 0x00008980, 0x8111b336,
+ 0x0000e108, 0x8119ba37, 0x00008110, 0x801a0240, 0x0000e502, 0x00001817,
+ 0x00002106, 0x02c00002, 0x00006180, 0x03800000, 0x0000c980, 0x89002302,
+ 0x0000e780, 0x06800000, 0x00000980, 0x01886800, 0x0000f900, 0x00004040,
+ 0x00008980, 0x0200b000, 0x0000f900, 0x000099c0, 0x00008980, 0x02400000,
+ 0x0000f900, 0x00010030, 0x00000980, 0x03400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x05400000, 0x00007900, 0x00018000, 0x00008980, 0x06401000,
+ 0x0000f900, 0x0001c000, 0x00000980, 0xc0001817, 0x00006006, 0x0000180b,
+ 0x00003106, 0x4511200e, 0x0000e107, 0x4511201a, 0x0000b107, 0xa0af2004,
+ 0x00006180, 0xa082a000, 0x0000c981, 0xe0e00000, 0x000088cf, 0xe08004ff,
+ 0x000082e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000,
+ 0x000002f8, 0x0bc00000, 0x000003c2, 0x01400000, 0x000080dc, 0x03000000,
+ 0x00006180, 0x03c00002, 0x0000c980, 0x02a81402, 0x00008028, 0x04000802,
+ 0x0000e180, 0x04400000, 0x00004980, 0x04800100, 0x000001cc, 0x05000396,
+ 0x000001e0, 0x06c00002, 0x0000e180, 0x07000000, 0x0000c980, 0x07400000,
+ 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8, 0x08c00000,
+ 0x0000e180, 0x85901202, 0x0000c900, 0x05800502, 0x00000294, 0x09800000,
+ 0x000082dc, 0x00001683, 0x0000f410, 0x20fc0404, 0x00008210, 0x21ba2744,
+ 0x00006109, 0x01000802, 0x0000c980, 0xc0000744, 0x00009583, 0x000013b7,
+ 0x0000f00b, 0x80006e82, 0x00001583, 0x00001755, 0x0000f033, 0x0c03048a,
+ 0x0000e806, 0x0000348a, 0x00001583, 0x0000348a, 0x00001583, 0x0000248a,
+ 0x00009583, 0x0000152b, 0x0000f008, 0x0000143b, 0x0000f038, 0x0000150b,
+ 0x00007038, 0x0000148a, 0x00009583, 0x0000048a, 0x00001583, 0x00000c8a,
+ 0x00009583, 0x000014b5, 0x0000f040, 0x0000149e, 0x0000f008, 0x0000142e,
+ 0x00007010, 0x0a03048d, 0x00006806, 0x22c02c8d, 0x00001081, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0xa1008660, 0x00009283, 0xa2141282,
+ 0x0000e110, 0xa3941282, 0x0000c910, 0x89800800, 0x0000e191, 0x21c30861,
+ 0x00004910, 0x0000181f, 0x0000f008, 0x0012d861, 0x00006502, 0x21830861,
+ 0x00008900, 0x0972dc61, 0x0000083e, 0x985ada5b, 0x0000e018, 0x23000800,
+ 0x00000999, 0x00001677, 0x00007018, 0x21430b5b, 0x0000e000, 0x21008282,
+ 0x00000880, 0x21008084, 0x00009784, 0x00042085, 0x00009502, 0x86942a82,
+ 0x00006150, 0xa0a45e82, 0x00000151, 0xa0942a82, 0x0000e150, 0x8990d28e,
+ 0x00000150, 0x0000177a, 0x0000f038, 0x0000045f, 0x00006583, 0xe0801782,
+ 0x00008181, 0x21000000, 0x00006191, 0x17c00000, 0x00004991, 0x00001387,
+ 0x00007011, 0x00004c8a, 0x00001583, 0x21000800, 0x00009989, 0x0000179d,
+ 0x00007011, 0xc5280000, 0x00006180, 0x80001026, 0x0000e407, 0x85008660,
+ 0x00006283, 0x86242026, 0x0000a001, 0x21007e60, 0x0000e281, 0x06831000,
+ 0x00008989, 0x06830800, 0x00006191, 0xa1030026, 0x0000e001, 0x00000c84,
+ 0x0000e583, 0x04801800, 0x00000981, 0x21000000, 0x0000e181, 0xd0000815,
+ 0x0000e404, 0x21000800, 0x0000e189, 0x00001012, 0x00006501, 0x21400260,
+ 0x0000f900, 0x00000100, 0x00000380, 0x89723646, 0x00006101, 0xb6e42026,
+ 0x00006001, 0xc9402c8d, 0x00006081, 0x8520d41a, 0x00000901, 0x0004281a,
+ 0x00006a06, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009020ec, 0x00005780, 0x00006001, 0x00000080, 0xa1008660,
+ 0x00009283, 0x00001786, 0x0000f00b, 0x91800e46, 0x00006081, 0x21000e46,
+ 0x00000081, 0x003a3484, 0x00001503, 0x0000145c, 0x0000700b, 0x21000e83,
+ 0x00006081, 0x21400f83, 0x00000081, 0xa1242484, 0x00006100, 0xa0c00e83,
+ 0x0000c081, 0x80141a84, 0x0000e502, 0xe0c00f83, 0x00000081, 0x00001464,
+ 0x0000f00b, 0xc03c1f44, 0x0000e503, 0x217a2c85, 0x00008000, 0x21ba2744,
+ 0x0000e101, 0x21418085, 0x00004080, 0x38400c85, 0x00009881, 0xffffffff,
+ 0x00007f97, 0x00001357, 0x0000f413, 0xffffffff, 0x00007f86, 0x18020300,
+ 0x0000f904, 0x2100c645, 0x00009281, 0x00004484, 0x00001583, 0xa159bb37,
+ 0x00006110, 0xa111ba37, 0x0000c910, 0x0000175d, 0x00007009, 0x8019ba37,
+ 0x00001502, 0x00001602, 0x0000700b, 0xa100c645, 0x00009283, 0x000016da,
+ 0x0000700b, 0x80000683, 0x0000e583, 0xd1400000, 0x00008981, 0xa0d42a84,
+ 0x0000e108, 0xe0c00000, 0x00008981, 0xa1542e83, 0x0000e000, 0xa1142a84,
+ 0x00008100, 0xa1341a84, 0x00009100, 0xa1c08284, 0x0000e480, 0x0b42f084,
+ 0x0000e180, 0xa1800a84, 0x00009180, 0xa1943285, 0x0000e200, 0xa2001a87,
+ 0x00000880, 0xd1243c87, 0x00006101, 0x22401a86, 0x00004880, 0x23428089,
+ 0x00006002, 0x2140f889, 0x00000784, 0x23028885, 0x00006004, 0x0f444085,
+ 0x0000a180, 0x21442a86, 0x00009000, 0x00042884, 0x00009502, 0x00042884,
+ 0x00009502, 0xffffffff, 0x00007f86, 0x00001567, 0x00007038, 0x00001552,
+ 0x00007008, 0x21543084, 0x00006100, 0x14000600, 0x00008980, 0x14400000,
+ 0x00007900, 0x000014c0, 0x00008980, 0x21c01885, 0x00006080, 0x75e80050,
+ 0x0000e101, 0x21200005, 0x0000e180, 0x00143851, 0x0000e106, 0x703a88ec,
+ 0x00005600, 0x003a8000, 0x00008000, 0x1412f25e, 0x0000e100, 0x14400a47,
+ 0x00004180, 0x00028850, 0x00006502, 0x04181084, 0x00002187, 0x21800000,
+ 0x00007900, 0x00007fc0, 0x00000980, 0x94000a5e, 0x00006090, 0x94000000,
+ 0x00008988, 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000, 0xa1801885,
+ 0x00006080, 0x97928250, 0x0000c900, 0x703c30ec, 0x00005600, 0x003c2000,
+ 0x00008000, 0x14001a50, 0x00006080, 0x21000520, 0x0000c980, 0x23427050,
+ 0x0000e002, 0x75e80084, 0x00002101, 0x700040ec, 0x00005680, 0x003c24c0,
+ 0x00008010, 0x21a00005, 0x00006180, 0x2300004f, 0x0000c084, 0xa1543a88,
+ 0x0000e100, 0x04181086, 0x0000a187, 0x703c68ec, 0x0000d600, 0x003c6000,
+ 0x00000000, 0x700040ec, 0x00005680, 0x003c37c0, 0x00008078, 0x21800000,
+ 0x00007900, 0x000014c4, 0x00000980, 0x21000000, 0x00006180, 0x00142886,
+ 0x00006106, 0xa1401a87, 0x0000e780, 0xa1280500, 0x00008900, 0xa1418285,
+ 0x0000e080, 0x14429853, 0x00008900, 0x14029052, 0x0000e100, 0x04242884,
+ 0x00006085, 0x75e80084, 0x00006901, 0x22c00000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0x703c30ec, 0x00005600, 0x003c2000, 0x00008000, 0xa2d43a88,
+ 0x00006100, 0x21a00005, 0x00008980, 0x703a90ec, 0x00005600, 0x003a9800,
+ 0x00008000, 0x04181086, 0x0000e987, 0x703c58ec, 0x0000d600, 0x003c3000,
+ 0x00000000, 0x00d802ec, 0x0000df80, 0x1140b008, 0x000011c4, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x21000ce0, 0x00001283, 0x000016e2,
+ 0x0000f013, 0x30000845, 0x00006c03, 0xd5406e82, 0x000078b3, 0xc8800000,
+ 0x0000898a, 0x00005c8a, 0x00009583, 0x000014b5, 0x0000f00b, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x035fa000, 0x0000f900, 0x0009d12e,
+ 0x00008980, 0x038b6000, 0x0000f900, 0x00004b34, 0x00000980, 0x02000000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000080dc, 0x143b1bb2,
+ 0x00007500, 0x82600500, 0x00008026, 0x81001000, 0x0000e180, 0x02c01002,
+ 0x00004900, 0x00004c8a, 0x00001583, 0x0000448a, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x00001479, 0x0000f038, 0x00001366, 0x0000f040, 0xa1130d5d,
+ 0x00009000, 0x80141284, 0x00009502, 0xa0942282, 0x00006150, 0xa0803682,
+ 0x000001d1, 0xe0801782, 0x000011d1, 0x00001755, 0x00007038, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x09400260, 0x0000f900, 0x00000100,
+ 0x00000380, 0x04801000, 0x00006181, 0xd0003015, 0x00006404, 0x0001280e,
+ 0x0000e206, 0x0001281a, 0x0000b206, 0xc52b5000, 0x00006180, 0x00001812,
+ 0x0000e501, 0x09b23646, 0x0000e101, 0x89530d5d, 0x00004000, 0xc9530a61,
+ 0x00001900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008808ec, 0x00005780, 0x00006002, 0x00000080, 0x91800e46,
+ 0x00006081, 0x21000e46, 0x00000081, 0x003a3484, 0x00001503, 0x000013a7,
+ 0x00007013, 0x21000e83, 0x00006081, 0x91800000, 0x00000981, 0xa1242484,
+ 0x00006100, 0x21400f83, 0x0000c081, 0x80141a84, 0x0000e502, 0xa0c00e83,
+ 0x00000081, 0xe0c00f83, 0x00009081, 0x000013ae, 0x0000f011, 0xa040c645,
+ 0x00006283, 0x00001028, 0x00002402, 0x2000082e, 0x0000e40a, 0x8000082e,
+ 0x0000b412, 0xd1242f44, 0x0000e101, 0xd17a2c85, 0x00000001, 0xcdd9ba84,
+ 0x00006010, 0x8d91b284, 0x00000008, 0x20c00000, 0x00007900, 0x001f8000,
+ 0x00008980, 0x80001000, 0x00006180, 0x00141083, 0x00006186, 0x00503800,
+ 0x00007900, 0x0004c010, 0x00008980, 0xc0c07800, 0x00006180, 0x04341083,
+ 0x00006101, 0x203c1eec, 0x00005600, 0x003c0000, 0x00000000, 0x4060ba82,
+ 0x00008083, 0x008806ec, 0x00005f80, 0x00985a80, 0x00008b84, 0x0000548a,
+ 0x00001583, 0xe0801782, 0x00006189, 0xa0aafa82, 0x00000108, 0xa0802682,
+ 0x00009189, 0x0000142c, 0x0000f010, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x07000260, 0x0000f900, 0x00000100, 0x00000380, 0x09c00061,
+ 0x00007900, 0x00000100, 0x00000380, 0x04801800, 0x0000e181, 0x0000e01a,
+ 0x0000e206, 0x07000000, 0x0000e180, 0xb0000812, 0x00006404, 0x89880000,
+ 0x0000e180, 0x0001381c, 0x00006206, 0xd0003015, 0x00006404, 0x00002012,
+ 0x00003501, 0xc52b5800, 0x0000e180, 0x4000d01c, 0x0000e107, 0x07400002,
+ 0x0000e180, 0x07800000, 0x00004980, 0x07c00000, 0x000002c0, 0x08400000,
+ 0x000002c8, 0x08c00000, 0x0000e180, 0x896afd5f, 0x0000c900, 0x49bb0c46,
+ 0x0000021c, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009020ec, 0x00005780, 0x00006001, 0x00000080, 0x91800e46,
+ 0x00006081, 0x21000e46, 0x00000081, 0xe9fa3484, 0x00007812, 0xe0800000,
+ 0x00000a82, 0xa0a2ea82, 0x0000e100, 0xa0802e82, 0x00000181, 0xe0801782,
+ 0x00001181, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x21000260,
+ 0x00007900, 0x00000100, 0x00000380, 0x04801000, 0x00006181, 0xd0003015,
+ 0x00006404, 0x0004200e, 0x00006206, 0x0004201a, 0x00003206, 0xc52b2800,
+ 0x00006180, 0x00001812, 0x0000e501, 0xc952355d, 0x00008214, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec,
+ 0x00005780, 0x00006002, 0x00000080, 0x91800e46, 0x00006081, 0x21000e46,
+ 0x00000081, 0xe9fa3484, 0x00007812, 0xe0800000, 0x00000a82, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x06807e60, 0x00006281, 0xd0000815,
+ 0x00002404, 0x00001c1a, 0x0000e583, 0x09400000, 0x00000980, 0x0537f814,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x067f8019, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x09800000, 0x0000e180, 0x80000019, 0x00006401, 0x0000158d,
+ 0x00007408, 0x09c00000, 0x00006180, 0x09040080, 0x0000c900, 0xc52b3000,
+ 0x00006180, 0x04803800, 0x0000c991, 0x21000260, 0x00007900, 0x00000100,
+ 0x00000380, 0x00005c1a, 0x00006583, 0xb0000012, 0x00002404, 0x0004201a,
+ 0x00006206, 0x00002012, 0x00003501, 0x24400000, 0x00006181, 0x0004200e,
+ 0x0000e20e, 0x001808ec, 0x0000d788, 0x00006000, 0x00008080, 0x84801800,
+ 0x0000e189, 0x04801000, 0x0000c989, 0x0c030484, 0x00006806, 0x00001c84,
+ 0x00009583, 0x000015a5, 0x0000f00b, 0x00001c84, 0x00009583, 0x00002484,
+ 0x00001583, 0x00005c84, 0x00001583, 0x00001543, 0x0000f050, 0x000015d2,
+ 0x0000f008, 0x000014e6, 0x0000f010, 0x14dd1089, 0x0000f300, 0xa1004e60,
+ 0x00008894, 0x89401800, 0x00006180, 0x21000e46, 0x0000c081, 0xa1419546,
+ 0x0000e080, 0x49723646, 0x00008901, 0x003a3484, 0x0000e503, 0x91800e46,
+ 0x00000081, 0x89819546, 0x0000e080, 0xa0942a82, 0x00008100, 0x91800000,
+ 0x00001989, 0x21600004, 0x0000e180, 0x0c030486, 0x00006006, 0x22182000,
+ 0x00007900, 0x00103aca, 0x00000980, 0x14ee1be8, 0x0000f500, 0x21000000,
+ 0x00006180, 0x21a43486, 0x00004900, 0xe1530260, 0x00001900, 0xa0801e82,
+ 0x00006181, 0xe0801782, 0x00008181, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780, 0x00006001,
+ 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x05c00000, 0x000081e8, 0xa1002302, 0x0000e780, 0x00001817,
+ 0x00002106, 0x05400000, 0x00007900, 0x00018000, 0x00008980, 0x06401000,
+ 0x0000f900, 0x0001c000, 0x00000980, 0xc0001817, 0x00006006, 0x4514201a,
+ 0x0000b107, 0x05000396, 0x000001e0, 0x06c00002, 0x0000e180, 0x07000000,
+ 0x0000c980, 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000,
+ 0x000002c8, 0x000013a7, 0x00007400, 0x08c00000, 0x0000e180, 0x85901202,
+ 0x0000c900, 0xc5981302, 0x00001900, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x21000260, 0x00007900, 0x00000100, 0x00000380, 0x83802302,
+ 0x00006780, 0x0004201a, 0x0000a206, 0x04801000, 0x00006181, 0x4510701a,
+ 0x00006107, 0x0004200e, 0x00006206, 0xd0003015, 0x00003404, 0xa1010660,
+ 0x00006283, 0x0ac30526, 0x00002000, 0xc5002800, 0x0000e181, 0x00001812,
+ 0x0000e501, 0x09b23646, 0x0000e101, 0x896afd5f, 0x0000c900, 0x00001770,
+ 0x00007210, 0xc9530a61, 0x00006100, 0xa0aafa82, 0x0000c108, 0x21000e46,
+ 0x00006081, 0xa0802682, 0x00008181, 0x003a3484, 0x0000e503, 0x91800e46,
+ 0x00000081, 0xe0801782, 0x0000e181, 0x85035800, 0x00000981, 0x91800000,
+ 0x00001989, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008808ec, 0x00005780, 0x00006002, 0x00000080, 0x000013a7,
+ 0x0000f000, 0xa0aaea82, 0x00006100, 0xa0802e82, 0x00000181, 0xe0801782,
+ 0x00001181, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x21000260,
+ 0x00007900, 0x00000100, 0x00000380, 0x04801000, 0x00006181, 0xd0003015,
+ 0x00006404, 0x0004200e, 0x00006206, 0x0004201a, 0x00003206, 0xc52b4800,
+ 0x00006180, 0x00001812, 0x0000e501, 0x896aed5d, 0x0000e100, 0x09b23646,
+ 0x0000c901, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008808ec, 0x00005780, 0x00006002, 0x00000080, 0x91800e46,
+ 0x00006081, 0x21000e46, 0x00000081, 0xe9fa3484, 0x00007812, 0xe0800000,
+ 0x00000a82, 0x00001484, 0x00001583, 0x21130260, 0x00006108, 0x21404800,
+ 0x00004988, 0x000014e6, 0x00007011, 0x15481089, 0x0000f100, 0x89401800,
+ 0x00006180, 0x21000e46, 0x0000c081, 0xa1419546, 0x0000e080, 0x49723646,
+ 0x00008901, 0x003a3484, 0x0000e503, 0x91800e46, 0x00000081, 0x000014e6,
+ 0x0000f400, 0x89819546, 0x0000e080, 0xa0942a82, 0x00008100, 0x91800000,
+ 0x00001989, 0x1412f25e, 0x0000e100, 0x22400a47, 0x00004180, 0x00044850,
+ 0x00006502, 0x21000520, 0x00000980, 0x94000a5e, 0x00006090, 0x94000000,
+ 0x00008988, 0x21a00005, 0x00006180, 0x75e80084, 0x0000e101, 0x97928250,
+ 0x0000e100, 0x04181086, 0x00006187, 0x14429853, 0x00006100, 0x14001a50,
+ 0x00004880, 0x22827050, 0x00006002, 0x14029052, 0x00000900, 0x700040ec,
+ 0x00005680, 0x003c24c0, 0x00008010, 0x2240004f, 0x00009084, 0x703c50ec,
+ 0x00005600, 0x003c4800, 0x00000000, 0x700040ec, 0x00005680, 0x003c37c0,
+ 0x00008078, 0x21a00005, 0x00006180, 0x21000600, 0x00004980, 0x21400000,
+ 0x00007900, 0x000014c4, 0x00000980, 0xa1280500, 0x00006100, 0x00144085,
+ 0x0000e106, 0x04181086, 0x00006187, 0x75e80084, 0x0000b101, 0x22000000,
+ 0x0000f900, 0x00007fc0, 0x00000980, 0x703c28ec, 0x00005600, 0x003c2000,
+ 0x00008000, 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000, 0xa2001a87,
+ 0x00009880, 0x703c40ec, 0x0000d600, 0x003c3000, 0x00000000, 0x00d802ec,
+ 0x0000df80, 0x114bd008, 0x000091c4, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x0a400ce0, 0x0000f88f, 0x10800000, 0x00008b87, 0x00000061,
+ 0x00001582, 0x00130061, 0x00001502, 0xffffffff, 0x00007f86, 0x000015fb,
+ 0x00007008, 0x000015fb, 0x00007008, 0x07000260, 0x0000f900, 0x00000100,
+ 0x00000380, 0x21000061, 0x00007900, 0x00000100, 0x00000380, 0x04803800,
+ 0x00006181, 0x0000e01a, 0x0000e206, 0x07000000, 0x0000e180, 0xb0000812,
+ 0x00006404, 0x0004201c, 0x00006206, 0x00002012, 0x00003501, 0x0c030484,
+ 0x0000e006, 0x4000d01c, 0x0000b107, 0x00001c84, 0x00006583, 0x07400002,
+ 0x00000980, 0x07800000, 0x000081fc, 0x08000000, 0x000082c4, 0x000014d5,
+ 0x00007410, 0x08800000, 0x000082cc, 0x24400800, 0x00009981, 0x15a71089,
+ 0x0000f300, 0xa1004660, 0x00000894, 0x00000491, 0x00001583, 0x09402800,
+ 0x00009991, 0x000014e6, 0x00007011, 0x00130061, 0x00001502, 0x09402000,
+ 0x00001991, 0x00001672, 0x00007009, 0x21600004, 0x0000e180, 0x0c030486,
+ 0x00006006, 0x22182000, 0x00007900, 0x00103aca, 0x00000980, 0x15b51be8,
+ 0x0000f500, 0x21000000, 0x00006180, 0x21a43486, 0x00004900, 0xe1530260,
+ 0x00001900, 0xa0801e82, 0x00006181, 0xe0801782, 0x00008181, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec,
+ 0x00005780, 0x00006001, 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x05c00000, 0x000081e8, 0xa1002302,
+ 0x0000e780, 0x00001817, 0x00002106, 0x05400000, 0x00007900, 0x00018000,
+ 0x00008980, 0x06401000, 0x0000f900, 0x0001c000, 0x00000980, 0xc0001817,
+ 0x00006006, 0x4514201a, 0x0000b107, 0x05000396, 0x000001e0, 0x06c00002,
+ 0x0000e180, 0x07000000, 0x0000c980, 0x07400000, 0x000001f8, 0x07c00000,
+ 0x000002c0, 0x08400000, 0x000002c8, 0x000013a7, 0x00007400, 0x08c00000,
+ 0x0000e180, 0x85901202, 0x0000c900, 0xc5981302, 0x00001900, 0x15d41089,
+ 0x00007300, 0xa1005e60, 0x00000894, 0x21600004, 0x0000e180, 0x0c030486,
+ 0x00006006, 0x22182000, 0x00007900, 0x00103aca, 0x00000980, 0x09404800,
+ 0x00006181, 0x09c30861, 0x0000c900, 0x15de1be8, 0x00007500, 0x21000000,
+ 0x00006180, 0x21a43486, 0x00004900, 0xe1530260, 0x00001900, 0xa0801e82,
+ 0x00006181, 0xe0801782, 0x00008181, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780, 0x00006001,
+ 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x05c00000, 0x000081e8, 0xa1002302, 0x0000e780, 0x00001817,
+ 0x00002106, 0x05400000, 0x00007900, 0x00018000, 0x00008980, 0x06401000,
+ 0x0000f900, 0x0001c000, 0x00000980, 0xc0001817, 0x00006006, 0x4514201a,
+ 0x0000b107, 0x05000396, 0x000001e0, 0x06c00002, 0x0000e180, 0x07000000,
+ 0x0000c980, 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000,
+ 0x000002c8, 0x000013a7, 0x00007400, 0x08c00000, 0x0000e180, 0x85901202,
+ 0x0000c900, 0xc5981302, 0x00001900, 0xa4403800, 0x000001ca, 0x21000260,
+ 0x00007900, 0x00000100, 0x00000380, 0x000014d2, 0x00007400, 0x0004201a,
+ 0x00006206, 0xb0000012, 0x0000b404, 0x00002012, 0x0000ed01, 0xc011b336,
+ 0x00006502, 0xa159b336, 0x00000900, 0xa111b236, 0x00001900, 0x00001748,
+ 0x0000f009, 0x80000683, 0x0000e583, 0xd1400000, 0x00008981, 0xa0d42285,
+ 0x0000e108, 0xe0c00000, 0x00008981, 0xa1142683, 0x0000e000, 0xa1542285,
+ 0x00000100, 0xa1741a85, 0x00009100, 0xa2008285, 0x00006480, 0x0b42f085,
+ 0x00006180, 0xa1c00a85, 0x00009180, 0xa1d43a84, 0x00006200, 0xa2801a88,
+ 0x00008880, 0xd1244488, 0x00006101, 0x21001a87, 0x00004880, 0x23025084,
+ 0x0000e002, 0x2180f884, 0x00008784, 0x22c25886, 0x00006004, 0x0f445084,
+ 0x0000a180, 0x21042287, 0x00001000, 0x00042085, 0x00009502, 0x00042085,
+ 0x00009502, 0xffffffff, 0x00007f86, 0x0000171e, 0x00007038, 0x00001709,
+ 0x00007008, 0x12d43885, 0x0000e100, 0x12800600, 0x00000980, 0x21000000,
+ 0x0000f900, 0x000014c0, 0x00008980, 0x21c0184b, 0x0000e080, 0x75e8004a,
+ 0x00006101, 0x21800000, 0x00007900, 0x00007fc0, 0x00000980, 0xa180184b,
+ 0x0000e080, 0x00143884, 0x00006106, 0x703c20ec, 0x0000d600, 0x003a5000,
+ 0x00000000, 0x12c00a47, 0x00006180, 0x1292e25c, 0x00008900, 0x0002584a,
+ 0x00006502, 0x21600005, 0x00008980, 0x92800a5c, 0x00006090, 0x92800000,
+ 0x00000988, 0x703c60ec, 0x00005600, 0x003c5800, 0x00008000, 0x210004c0,
+ 0x0000e180, 0x04181085, 0x00006187, 0x9712524a, 0x00006100, 0x75e80084,
+ 0x0000e101, 0x12c2684d, 0x0000e100, 0x12801a4a, 0x00004880, 0x703c30ec,
+ 0x00005600, 0x003c2800, 0x00000000, 0x2302404a, 0x0000e002, 0x21a00005,
+ 0x00008980, 0x700040ec, 0x00005680, 0x003c24c0, 0x00008010, 0x22c00049,
+ 0x0000e084, 0x04181086, 0x0000a187, 0x703c60ec, 0x00005600, 0x003c5800,
+ 0x00008000, 0x700040ec, 0x00005680, 0x003c37c0, 0x00008078, 0x21800000,
+ 0x00007900, 0x000014c4, 0x00000980, 0xa1543a8a, 0x00006100, 0x21000000,
+ 0x00008980, 0xa1280500, 0x00006100, 0x00142886, 0x00006106, 0x1282604c,
+ 0x00006100, 0xa1401a87, 0x00004780, 0xa1418285, 0x00001080, 0x04242884,
+ 0x0000e885, 0x75e80084, 0x00006901, 0x22c00000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0x703c30ec, 0x00005600, 0x003c2000, 0x00008000, 0xa2d43a8a,
+ 0x0000e100, 0x21a00005, 0x00008980, 0x703a60ec, 0x00005600, 0x003a6800,
+ 0x00008000, 0x04181086, 0x0000e987, 0x703c58ec, 0x0000d600, 0x003c3000,
+ 0x00000000, 0x00d802ec, 0x0000df80, 0x1152e008, 0x000011c4, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x21000ce0, 0x00001283, 0x000017f8,
+ 0x0000f013, 0x30000045, 0x0000ec03, 0xd5406e82, 0x000078b3, 0xc8800000,
+ 0x0000898a, 0x80000260, 0x00009582, 0x09403000, 0x00009991, 0x09402000,
+ 0x00001989, 0x000014e6, 0x0000f010, 0x000015ad, 0x0000f000, 0x80141261,
+ 0x00001502, 0x0000176d, 0x0000f03b, 0x21447887, 0x0000e100, 0x22400c8c,
+ 0x00000081, 0x0004288f, 0x0000e502, 0xa1130a88, 0x00008100, 0xa2130a88,
+ 0x0000e128, 0x21c47887, 0x00000128, 0x23000c8c, 0x000090a9, 0x00001769,
+ 0x00007020, 0xdb544261, 0x0000f83b, 0xc8800000, 0x00000b83, 0xa25a0240,
+ 0x00006100, 0x81001b5e, 0x00008780, 0x81c08289, 0x0000e480, 0x81400a04,
+ 0x0000c180, 0x819a0205, 0x00009200, 0x22503a06, 0x00006000, 0x02001a06,
+ 0x00000880, 0x0242b008, 0x00006002, 0x0140f808, 0x00008784, 0x00102089,
+ 0x00006502, 0x0202b805, 0x00008004, 0x22603404, 0x0000e141, 0x1582c058,
+ 0x00008940, 0x81e44c89, 0x00006140, 0x011ae35c, 0x0000c940, 0x000016a9,
+ 0x00007048, 0x22400a47, 0x0000e180, 0x01a00005, 0x00000980, 0x00044804,
+ 0x0000e502, 0x04181006, 0x00002187, 0x81000b5c, 0x0000e090, 0x81000000,
+ 0x00000988, 0x15c2c859, 0x00001900, 0x01001a04, 0x00006080, 0xd7102204,
+ 0x0000c900, 0x02c2a004, 0x00006002, 0x01000580, 0x00008980, 0x02800055,
+ 0x00006084, 0x81280500, 0x00000900, 0x75e80004, 0x0000e901, 0x700040ec,
+ 0x00005680, 0x003824c4, 0x00008010, 0x703858ec, 0x00005600, 0x00385000,
+ 0x00008000, 0x700040ec, 0x00005680, 0x003837c0, 0x00000078, 0x00d002ec,
+ 0x00005f80, 0x11554808, 0x00009184, 0x2c2aec07, 0x00009600, 0xa24588b0,
+ 0x00001000, 0x2c07dc07, 0x00001680, 0x010588b0, 0x00001001, 0x01400000,
+ 0x0000f900, 0x001f8000, 0x00008980, 0xa0944a82, 0x0000e100, 0x46603c07,
+ 0x00008901, 0x2242a404, 0x00006081, 0x00141005, 0x00002186, 0x05c00000,
+ 0x00006180, 0x04244805, 0x0000e101, 0x2c07f407, 0x00001680, 0x010588b0,
+ 0x00001001, 0x22723746, 0x0000e100, 0x00001817, 0x00002106, 0x0028c889,
+ 0x0000e502, 0xc4401a07, 0x00000880, 0x001820ec, 0x00005780, 0x00006000,
+ 0x00008080, 0x00503800, 0x00007900, 0x0004c010, 0x00008980, 0xe0a02782,
+ 0x00006001, 0x81c7fa07, 0x00000280, 0xa2723519, 0x00006050, 0xf000082e,
+ 0x00002401, 0x05009000, 0x0000f900, 0x00009a00, 0x00008980, 0x05400000,
+ 0x00007900, 0x00018030, 0x00008980, 0xc0001817, 0x00006006, 0x00001028,
+ 0x0000b402, 0x20382eec, 0x0000d600, 0x003c0000, 0x00000000, 0x04020800,
+ 0x0000e180, 0x84581302, 0x00004900, 0x04b84709, 0x0000010c, 0x05a81402,
+ 0x00008118, 0x06123780, 0x00008124, 0x067a3746, 0x0000e101, 0x86aaed5d,
+ 0x0000c900, 0x4020b802, 0x000080c3, 0x807c1782, 0x00006101, 0xd01a0207,
+ 0x0000c000, 0xc0c07800, 0x00006180, 0x91b23519, 0x0000c039, 0x91ba3489,
+ 0x00009151, 0x008806ec, 0x00005f80, 0x00985a80, 0x00008b84, 0xc0000744,
+ 0x00009583, 0xd1000000, 0x00006191, 0xd17a2c86, 0x00004011, 0x8d91b683,
+ 0x00006010, 0x2000082e, 0x00002412, 0x000013c0, 0x0000f008, 0x0000146c,
+ 0x00007200, 0x00001028, 0x00006c02, 0x16e31c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x2140000a, 0x00006190, 0x21800800,
+ 0x0000c990, 0x21000000, 0x00009990, 0x00001429, 0x0000f008, 0x16ec1be8,
+ 0x0000f300, 0x220d7000, 0x0000f900, 0x001689a0, 0x00008980, 0x01400000,
+ 0x0000f900, 0x001f8000, 0x00008980, 0xa2771ee3, 0x0000e100, 0x00141005,
+ 0x0000e186, 0x80001000, 0x00006180, 0x04341005, 0x0000e101, 0x20382eec,
+ 0x0000d600, 0x003c0000, 0x00000000, 0x70f82c89, 0x0000a084, 0x00503800,
+ 0x00007900, 0x00044010, 0x00000980, 0x0ac00000, 0x0000f900, 0x00200000,
+ 0x00000980, 0x0b001000, 0x0000f900, 0x000a0000, 0x00008980, 0x01400805,
+ 0x00006080, 0xc0004000, 0x00008981, 0x70f82c89, 0x00002884, 0x000800ec,
+ 0x00005780, 0x00985a80, 0x000003c0, 0x70c00489, 0x00005004, 0x00400800,
+ 0x00008080, 0x40c01400, 0x000082e0, 0x0a400000, 0x000002e8, 0x0b400004,
+ 0x0000e180, 0x0b800000, 0x00004980, 0x40400282, 0x000082bc, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0x1292e25c, 0x00006100, 0x22400a47,
+ 0x00004180, 0x0004484a, 0x0000e502, 0x210004c0, 0x00000980, 0x92800a5c,
+ 0x00006090, 0x92800000, 0x00000988, 0x21a00005, 0x00006180, 0x75e80084,
+ 0x0000e101, 0x9712524a, 0x00006100, 0x04181086, 0x00006187, 0x12c2684d,
+ 0x0000e100, 0x12801a4a, 0x00004880, 0x2242404a, 0x0000e002, 0x1282604c,
+ 0x00008900, 0x700040ec, 0x00005680, 0x003c24c0, 0x00008010, 0x21c00049,
+ 0x00001084, 0x703c48ec, 0x00005600, 0x003c3800, 0x00008000, 0x700040ec,
+ 0x00005680, 0x003c37c0, 0x00008078, 0x21a00005, 0x00006180, 0x21000600,
+ 0x00004980, 0x21400000, 0x00007900, 0x000014c4, 0x00000980, 0xa1280500,
+ 0x00006100, 0x00145085, 0x00006106, 0x04181086, 0x00006187, 0x75e80084,
+ 0x0000b101, 0x21c00000, 0x0000f900, 0x00007fc0, 0x00000980, 0x703c28ec,
+ 0x00005600, 0x003c2000, 0x00008000, 0x703c60ec, 0x00005600, 0x003c5800,
+ 0x00008000, 0xa1c01a88, 0x00009880, 0x703c38ec, 0x0000d600, 0x003c3000,
+ 0x00000000, 0x00d802ec, 0x0000df80, 0x11598808, 0x000011c4, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x9bc00ce0, 0x0000f88f, 0xc0800000,
+ 0x00008b8f, 0x8019ba37, 0x0000e502, 0xa111ba37, 0x00008900, 0xa159bb37,
+ 0x00009900, 0x000013be, 0x00007011, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x037d7800, 0x0000f900, 0x0009d12c, 0x00000980, 0x03b9b000,
+ 0x0000f900, 0x00207eca, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x01800000, 0x000080dc, 0x17551bb2, 0x0000f500, 0x82600500,
+ 0x00008026, 0x81001000, 0x0000e180, 0x02c01002, 0x00004900, 0xa040c645,
+ 0x00006283, 0xd13c1f44, 0x00008101, 0xd17c1f45, 0x00006001, 0x2000082e,
+ 0x0000240a, 0x8d91b683, 0x00009008, 0x00001765, 0x00007010, 0x0000146c,
+ 0x00007200, 0x00001028, 0x00006c02, 0xa161b036, 0x00008810, 0xc011b336,
+ 0x00009502, 0xc0000744, 0x00009583, 0xffffffff, 0x00007f86, 0x00001744,
+ 0x00007008, 0x00001606, 0x0000f008, 0xd17a2c86, 0x00006001, 0xd1000000,
+ 0x00000981, 0x0000146c, 0x00007400, 0x8000082e, 0x00006402, 0x00001028,
+ 0x0000b402, 0xcdd9be83, 0x00001000, 0x20bc2c84, 0x00000604, 0x00001376,
+ 0x00007400, 0x49a42689, 0x00000820, 0x21c42885, 0x00009900, 0x00001376,
+ 0x00007400, 0x20bc3c88, 0x00008604, 0x89a4648c, 0x00001901, 0xc006ff82,
+ 0x00001583, 0x85036000, 0x00006199, 0xe0800f82, 0x00004199, 0x00001755,
+ 0x00007031, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008808ec, 0x00005780, 0x00006002, 0x00000080, 0x000013a7,
+ 0x0000f000, 0x89800e26, 0x0000e181, 0x20400e26, 0x00008181, 0x00000481,
+ 0x00009583, 0xa094728e, 0x0000e108, 0xd13c1f44, 0x0000c109, 0xd17c1f45,
+ 0x00001009, 0x000017be, 0x00007010, 0xa040c645, 0x00009283, 0x8d91b683,
+ 0x00006008, 0x2000082e, 0x0000240a, 0x00001765, 0x0000f011, 0x0000175b,
+ 0x00007000, 0xa040c645, 0x00006283, 0xe0800f82, 0x00008181, 0x2000082e,
+ 0x0000e40a, 0x8000082e, 0x0000b412, 0x18400800, 0x000085fe, 0xd13c1f44,
+ 0x0000e101, 0xd17c1f45, 0x00000001, 0xcdd9be83, 0x00006010, 0x8d91b683,
+ 0x00000008, 0x20c00000, 0x00007900, 0x001f8000, 0x00008980, 0x80001000,
+ 0x00006180, 0x00141083, 0x00006186, 0x00503800, 0x00007900, 0x0004c010,
+ 0x00008980, 0xc0c07800, 0x00006180, 0x04341083, 0x00006101, 0x0a3fe028,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x00001477, 0x00007400, 0x203c1eec,
+ 0x00005600, 0x003c0000, 0x00000000, 0x4060ba82, 0x00008083, 0x21000800,
+ 0x00006181, 0x80001026, 0x0000e407, 0xc5280000, 0x00006180, 0x86242026,
+ 0x00006001, 0x85008660, 0x00006283, 0x21007e60, 0x00008281, 0x06831000,
+ 0x00006189, 0x06830800, 0x00004991, 0x00000c84, 0x0000e583, 0x04801000,
+ 0x00008981, 0x21000000, 0x0000e181, 0xa1030026, 0x0000e001, 0x21000800,
+ 0x0000e189, 0x00000812, 0x00006501, 0x21400260, 0x0000f900, 0x00000100,
+ 0x00000380, 0x001808ec, 0x00005780, 0x00006000, 0x00008080, 0x8622f812,
+ 0x0000e001, 0xd0000815, 0x0000b404, 0xb6e42026, 0x00006001, 0x0004280e,
+ 0x0000b206, 0x89723646, 0x00006101, 0xc9402c8d, 0x0000c081, 0x8520d41a,
+ 0x0000e101, 0x0004281a, 0x0000e206, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780, 0x00006001,
+ 0x00000080, 0xe8c08660, 0x0000f896, 0x30800000, 0x00008b8c, 0x22400800,
+ 0x0000e181, 0x8994428e, 0x00004100, 0x17e2fc89, 0x0000e101, 0x80000026,
+ 0x0000a407, 0x0000045f, 0x00006583, 0xc5280000, 0x00008980, 0x00004c8a,
+ 0x00006593, 0x8622f826, 0x0000a001, 0x20400260, 0x0000f910, 0x00000100,
+ 0x00000380, 0x04801800, 0x00006189, 0x04801000, 0x0000c991, 0x20400260,
+ 0x0000f908, 0x00000100, 0x00000380, 0x001808ec, 0x0000d790, 0x00006000,
+ 0x00008080, 0x0004080e, 0x0000e216, 0x00001012, 0x0000b509, 0x17c07e60,
+ 0x0000e281, 0xa1030026, 0x00002001, 0xc9680001, 0x00006180, 0x00000812,
+ 0x0000e511, 0x85008660, 0x00006283, 0xd0000815, 0x00002404, 0x06831000,
+ 0x00006189, 0x06830800, 0x00004991, 0x00000c5f, 0x0000e583, 0x89543a86,
+ 0x00000100, 0x17c00000, 0x0000e181, 0x8520d41a, 0x0000c901, 0x17c00800,
+ 0x0000e189, 0x0004081a, 0x00006206, 0xa0408660, 0x00006283, 0xa0806e82,
+ 0x00008181, 0x89723646, 0x00006101, 0xb6e2f826, 0x00006001, 0xe0801782,
+ 0x0000e181, 0x17fc1782, 0x00008901, 0xe0801c5f, 0x00001189, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec,
+ 0x00005780, 0x00006001, 0x00000080, 0xa040c645, 0x00006283, 0x20402660,
+ 0x00000781, 0x20400c81, 0x0000e481, 0x2000082e, 0x0000240a, 0x8d91b683,
+ 0x00006008, 0xcdd9be83, 0x00000010, 0x17c00800, 0x00006181, 0x8000082e,
+ 0x0000e412, 0x20400c81, 0x00006283, 0xd13c1f44, 0x00008101, 0xd17c1f45,
+ 0x00006001, 0x00001028, 0x0000a40a, 0x0000178f, 0x00007011, 0x0000146c,
+ 0x0000f000, 0x17f91c08, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x2140000a, 0x00006190, 0x21800000, 0x00004990, 0x21000000,
+ 0x00009990, 0x0000166f, 0x0000f008, 0x18021be8, 0x00007300, 0x220d7000,
+ 0x0000f900, 0x001689a0, 0x00008980, 0x01000000, 0x00007900, 0x001f8000,
+ 0x00008980, 0xa2771ee3, 0x0000e100, 0x00141004, 0x00006186, 0x80001000,
+ 0x00006180, 0x04341004, 0x00006101, 0x203826ec, 0x00005600, 0x003c0000,
+ 0x00000000, 0x70f82c89, 0x0000a084, 0x00503800, 0x00007900, 0x00044010,
+ 0x00000980, 0x0ac00000, 0x0000f900, 0x00200000, 0x00000980, 0x0b001000,
+ 0x0000f900, 0x000a0000, 0x00008980, 0x01400805, 0x00006080, 0xc0004000,
+ 0x00008981, 0x70f82c89, 0x00002884, 0x000800ec, 0x00005780, 0x00985a80,
+ 0x000003c0, 0x70c00489, 0x00005004, 0x00400000, 0x00000080, 0x40c01400,
+ 0x000082e0, 0x0a400000, 0x000002e8, 0x0b400004, 0x0000e180, 0x0b800000,
+ 0x00004980, 0x40400282, 0x000082bc, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x18430839, 0x00006000, 0x22430839, 0x00000000, 0x00000089,
+ 0x00001582, 0x17c00000, 0x00006189, 0xa2141282, 0x0000c910, 0xa3941282,
+ 0x0000e110, 0x89800800, 0x0000c991, 0x000013a3, 0x0000f008, 0x0012d861,
+ 0x00006502, 0x21c30861, 0x00000900, 0x21a30f61, 0x00000214, 0x23d2da5b,
+ 0x00006100, 0x23000800, 0x0000c999, 0x00001376, 0x00007230, 0x985ada5b,
+ 0x00001018, 0xffffffff, 0x00007f86, 0xdb541261, 0x0000f83b, 0xc8800000,
+ 0x00000b83, 0x5bf852ec, 0x0000a084, 0xc00007e2, 0x00006583, 0x82f71ee3,
+ 0x00000900, 0x6ff83c0b, 0x00002004, 0xffffffff, 0x00007f86, 0x42800d0a,
+ 0x00006191, 0x02800c0a, 0x00000189, 0x82800e0a, 0x00001181, 0x00000001,
+ 0x00007480, 0xc2a03f0a, 0x00001101, 0x5bf852ec, 0x00002884, 0x81c00ee3,
+ 0x0000e080, 0xc11722e4, 0x00004900, 0x86bb6407, 0x00003038, 0x86bb7607,
+ 0x00003038, 0x82400000, 0x000007c0, 0x1c400000, 0x000007c8, 0x1cc00000,
+ 0x00009980, 0x0f600c6d, 0x00004489, 0x8e200c6d, 0x000086a8, 0x1f80146d,
+ 0x0000788a, 0x00c00000, 0x00000c84, 0x28c09800, 0x00007900, 0x00003800,
+ 0x00000980, 0x184d20ba, 0x0000f404, 0x01800000, 0x0000e181, 0x2943706e,
+ 0x0000c900, 0x2903786f, 0x00001900, 0x000004a2, 0x00001583, 0x823f1fe3,
+ 0x00001908, 0x8a003c08, 0x0000a088, 0x00001856, 0x00007010, 0xffffffff,
+ 0x00007f97, 0x02003c07, 0x00001281, 0x01c01408, 0x00001181, 0x00000c07,
+ 0x00009583, 0x0000185b, 0x0000701b, 0x268d8800, 0x00007900, 0x0032a066,
+ 0x00000980, 0x185b1c67, 0x00007500, 0x267b7f6e, 0x00000920, 0x26e514a2,
+ 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x303844af, 0x0000a080, 0x31785caf, 0x0000a080, 0x31f850af,
+ 0x00002080, 0x01c00ce0, 0x00009283, 0x01c00000, 0x00009989, 0x00001867,
+ 0x00007009, 0x18651c08, 0x00007100, 0xffffffff, 0x00007f86, 0x01e524a4,
+ 0x00009901, 0x00000407, 0x0000e583, 0x02603c07, 0x00008901, 0x5bf86aec,
+ 0x0000a08c, 0x0000188d, 0x0000f011, 0x01c01c70, 0x00001283, 0x83400e0d,
+ 0x0000e089, 0xc3786c0b, 0x00008009, 0x82371ee3, 0x00006108, 0x01c00000,
+ 0x00004988, 0x0000188d, 0x00007010, 0xc00007e2, 0x00006583, 0x82304007,
+ 0x00002086, 0x43400d0d, 0x0000e091, 0x00205807, 0x0000a086, 0x03400c0d,
+ 0x0000e089, 0x04285807, 0x00002087, 0x0000188d, 0x00007400, 0x6ff85408,
+ 0x00005004, 0x00383800, 0x00000000, 0x5bf86aec, 0x0000a884, 0x188d1831,
+ 0x00007300, 0x01800800, 0x00001981, 0x0000188d, 0x0000f000, 0x0000188d,
+ 0x00007200, 0x01801000, 0x00001981, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x03484000, 0x00007900, 0x0032a066, 0x00000980, 0x03ba9000,
+ 0x00007900, 0x0016f7fa, 0x00008980, 0x0203606c, 0x00006100, 0x08001a09,
+ 0x0000e106, 0x0180076d, 0x0000009c, 0x188d1bb2, 0x0000f500, 0x82600500,
+ 0x00008026, 0x81002800, 0x00006180, 0x02c01002, 0x00004900, 0x02203406,
+ 0x0000e101, 0x0023680b, 0x00006086, 0x82c03cec, 0x0000f902, 0x01800000,
+ 0x00008604, 0x18c3606c, 0x0000e100, 0x822b680b, 0x0000e086, 0x041b680b,
+ 0x0000e987, 0x2806d800, 0x0000f900, 0x0032a52e, 0x00000980, 0x1880580b,
+ 0x00006100, 0x0010380d, 0x0000e186, 0x81f71ee3, 0x00009900, 0x85805407,
+ 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x80000606,
+ 0x00009583, 0x0410300d, 0x0000e18f, 0x0418500d, 0x00003197, 0x00002006,
+ 0x0000ed86, 0x1840680d, 0x00006100, 0x042b6806, 0x00006087, 0x18a51c89,
+ 0x0000f500, 0x86236806, 0x00006887, 0x18003006, 0x00009900, 0x18a71089,
+ 0x00007300, 0x2100476c, 0x00008817, 0x00000409, 0x00009583, 0x1a009000,
+ 0x0000f908, 0x0000d900, 0x00000980, 0x1a400000, 0x00007908, 0x00010000,
+ 0x00000980, 0x000018bc, 0x0000f010, 0x1ac00000, 0x000086e8, 0x200b26ec,
+ 0x0000d680, 0x003b2409, 0x00003f10, 0xda981302, 0x00009900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0098d0ec,
+ 0x0000d780, 0x00006000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0xb9182304, 0x00001900, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x00007083, 0x18be1106, 0x0000f300, 0x19800764,
+ 0x000086a4, 0xb9182304, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0x2c2007e2, 0x00007900, 0x00000004,
+ 0x00000680, 0x0a0588b0, 0x00001000, 0x04000ee3, 0x00006281, 0x01020028,
+ 0x00008080, 0x0a003004, 0x0000e780, 0x0bc7182a, 0x00002084, 0x01002410,
+ 0x00006081, 0xc31722e4, 0x0000c900, 0xcac00004, 0x000002b4, 0x012022e5,
+ 0x00009800, 0x0b0020e5, 0x00006400, 0x0bc71804, 0x00002084, 0x38402404,
+ 0x00001081, 0x84000a28, 0x00001080, 0x5bf82210, 0x0000b03c, 0x5bf83410,
+ 0x0000303c, 0x5bf84610, 0x0000303c, 0x5c385010, 0x0000303c, 0x5bc11a28,
+ 0x0000f902, 0x08800000, 0x00008004, 0xffffffff, 0x00007f97, 0x0a400200,
+ 0x00007904, 0x00000029, 0x00001582, 0x09415829, 0x00009710, 0x83912b22,
+ 0x00009110, 0x000018f2, 0x0000f008, 0x8000020e, 0x0000e582, 0xc8912b22,
+ 0x00008100, 0x08c00000, 0x00006188, 0x08800000, 0x0000c988, 0x19c1682d,
+ 0x00009908, 0x000018e9, 0x0000f010, 0x18e7115c, 0x00007004, 0x0381502a,
+ 0x00001900, 0x3840240e, 0x00001081, 0x0381482c, 0x00009200, 0x5bf91a28,
+ 0x0000d004, 0x00391000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00007400,
+ 0x00007904, 0x5bf82210, 0x0000383c, 0x5bf83410, 0x0000b83c, 0x5bf84610,
+ 0x0000b83c, 0x5c385010, 0x0000b83c, 0x8a005228, 0x0000e080, 0x0b40082d,
+ 0x00000080, 0x0000802d, 0x00001582, 0x000018d3, 0x0000f013, 0x18f71831,
+ 0x00007100, 0xb918630c, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0xea000400, 0x00000ad4, 0x22001f21, 0x00004497, 0x92201424,
+ 0x00008692, 0x00014f2a, 0x0000406a, 0x00001c21, 0x00008090, 0x20a18421,
+ 0x0000c48f, 0xae210720, 0x00000692, 0xc3a15729, 0x00004810, 0xc2a15729,
+ 0x00000b08, 0x4dc01440, 0x0000f88e, 0x18c00000, 0x00008c8a, 0x0001c02a,
+ 0x0000e502, 0xc0001018, 0x0000a403, 0x6a001800, 0x000061e9, 0x6a002000,
+ 0x000049e1, 0x0001582a, 0x00006502, 0x0000109c, 0x00002402, 0x2501502b,
+ 0x00006168, 0x25000000, 0x000009e0, 0x00000001, 0x00007480, 0xaa000000,
+ 0x00009981, 0x2944a094, 0x00009900, 0x06c55000, 0x0000e181, 0x0680181a,
+ 0x00004380, 0xa000101b, 0x0000e402, 0x8000101a, 0x00003403, 0x47055000,
+ 0x0000e181, 0x2000101b, 0x0000e403, 0x00005018, 0x00006407, 0x00001019,
+ 0x0000b403, 0xc000101a, 0x0000e403, 0x6000101b, 0x00003403, 0x00000001,
+ 0x00007480, 0x6a003800, 0x00006181, 0x2001501c, 0x0000e483, 0xaa000000,
+ 0x00009981, 0x25000829, 0x00009080, 0x0004a02a, 0x00001502, 0x00001955,
+ 0x0000f00b, 0x2501482b, 0x0000e100, 0x0000109c, 0x00002402, 0xc0001819,
+ 0x0000e402, 0xc0001018, 0x00003403, 0x277f989d, 0x00007900, 0x003ffffe,
+ 0x00008280, 0xea000800, 0x0000e181, 0xc000089c, 0x00006403, 0x00000001,
+ 0x00007480, 0x27a0173f, 0x00008aa2, 0x2944a227, 0x0000e400, 0xaa000000,
+ 0x0000c981, 0x25000829, 0x00009080, 0x26e4a72a, 0x0000420b, 0x64201440,
+ 0x0000068a, 0x4dc01440, 0x0000f88e, 0x08c00000, 0x00008c8b, 0x0001c029,
+ 0x00001502, 0x80001018, 0x0000ec0b, 0x00001937, 0x0000f009, 0x0001c02a,
+ 0x00001502, 0x80000818, 0x0000ec0b, 0x273fe09c, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x06580019, 0x0000e380, 0x2000081e, 0x00002403, 0xc000089c,
+ 0x00006403, 0xc0001819, 0x0000b402, 0x0aa00f29, 0x00008aa3, 0x2740609d,
+ 0x0000e380, 0x28814829, 0x00008900, 0x00000001, 0x00007480, 0x27a00f3f,
+ 0x00008aa2, 0xaa000800, 0x00001981, 0x0001c029, 0x00001502, 0x0001c02a,
+ 0x0000e502, 0x80001018, 0x0000a40b, 0x00001937, 0x00007400, 0xffffffff,
+ 0x00007f86, 0x80000818, 0x0000ec0b, 0x06c55000, 0x0000e181, 0x8000101a,
+ 0x00006403, 0x47055000, 0x0000e181, 0xa000101b, 0x0000e402, 0x2000101b,
+ 0x0000e403, 0x00005018, 0x00003407, 0x00001019, 0x0000e403, 0xc000101a,
+ 0x0000b403, 0x00000001, 0x00007480, 0x2001501c, 0x0000e483, 0x6000101b,
+ 0x00003403, 0xea200002, 0x00008ae2, 0x25001440, 0x00009283, 0x00001921,
+ 0x0000f00b, 0x273fe09c, 0x00007900, 0x003ffffe, 0x00008280, 0xc0001819,
+ 0x0000e402, 0xc000089c, 0x00003403, 0x277f989d, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x00000001, 0x00007480, 0xea000800, 0x0000e181, 0x2781f83f,
+ 0x00004900, 0xea204801, 0x00008ae2, 0x80000818, 0x00006c03, 0x273fe09c,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x06580019, 0x0000e380, 0xc000089c,
+ 0x0000a403, 0x277f989d, 0x00007900, 0x003ffffe, 0x00008280, 0xea000800,
+ 0x0000e181, 0xc0001819, 0x0000e402, 0x00000001, 0x00007480, 0x27a04f3f,
+ 0x00000aa2, 0xaa000800, 0x00001981, 0x0001582a, 0x00006502, 0xc0000018,
+ 0x00002403, 0x273fe09c, 0x00007900, 0x003ffffe, 0x00008280, 0x2a000000,
+ 0x0000e1e0, 0x2a01502b, 0x0000c168, 0x00000c24, 0x0000f894, 0x00000000,
+ 0x00000000, 0x001138a8, 0x0000f820, 0x00000000, 0x00008020, 0x0001482a,
+ 0x0000f810, 0x00000000, 0x00008020, 0x68c004a9, 0x0000f88a, 0x00c00001,
+ 0x00008060, 0x00060521, 0x00007896, 0x00000000, 0x00000000, 0x00020720,
+ 0x0000788c, 0x00000000, 0x00000000, 0x000004a9, 0x0000f890, 0x00000000,
+ 0x00008020, 0x66c000a8, 0x0000788a, 0x00c00001, 0x00008060, 0x3c606621,
+ 0x00004397, 0x00220620, 0x00008088, 0x02814f2a, 0x0000c510, 0x014004a9,
+ 0x00000094, 0x10814f2a, 0x0000c510, 0x084004a9, 0x00008491, 0x3de14f2a,
+ 0x0000420b, 0x6c208440, 0x00000693, 0x10c004a9, 0x0000458a, 0x86408440,
+ 0x00000790, 0x10401440, 0x0000e283, 0x80000898, 0x00002401, 0x1066003e,
+ 0x00007910, 0x00000074, 0x00008c80, 0x0001f09a, 0x00006b0a, 0xffffffff,
+ 0x00007f86, 0x0002089a, 0x0000eb12, 0x82c540ec, 0x00007902, 0x10400000,
+ 0x00008604, 0xffffffff, 0x00007fa7, 0x0804d041, 0x0000eb02, 0x10454041,
+ 0x00001000, 0x00000001, 0x00007280, 0xaa000409, 0x00000ae3, 0x80001018,
+ 0x0000e403, 0x0000109c, 0x0000b402, 0xc0001018, 0x00006403, 0x8000089c,
+ 0x00003402, 0x00000001, 0x00007480, 0x10001040, 0x00006380, 0x6a003000,
+ 0x00000981, 0xaa254ca9, 0x00001901, 0x0001502b, 0x00009502, 0xaa371ee3,
+ 0x00006110, 0x0001e89a, 0x0000e30a, 0x322208a8, 0x00002014, 0x000019aa,
+ 0x0000f008, 0xffffffff, 0x00007f97, 0x0012089a, 0x0000eb02, 0x82c540ec,
+ 0x00007902, 0x10400000, 0x00008604, 0xa0001819, 0x00006403, 0xc0000818,
+ 0x00003403, 0x0000089c, 0x0000e402, 0x80001898, 0x0000b403, 0xffffffff,
+ 0x00007f86, 0x0804d041, 0x0000eb02, 0x00000001, 0x00007480, 0x10454041,
+ 0x0000e000, 0x6a004800, 0x00000981, 0xaa000800, 0x00001981, 0x01800000,
+ 0x00006180, 0x08001a07, 0x00006106, 0x01a03c07, 0x00006101, 0x02800ca9,
+ 0x00004281, 0x86810806, 0x0000e002, 0x08001a09, 0x0000b106, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0xc2700600, 0x00006101, 0xa2a05006,
+ 0x0000e000, 0x03679000, 0x00007900, 0x0018a998, 0x00000980, 0x039c2000,
+ 0x00007900, 0x00091e5c, 0x00008980, 0x82781400, 0x0000802c, 0x02281402,
+ 0x00008020, 0x19c91bb2, 0x00007500, 0x81e1492a, 0x0000801c, 0x8180892b,
+ 0x00008091, 0x6a006521, 0x00009283, 0xaa254ca9, 0x0000e111, 0x20001819,
+ 0x00006413, 0x000019df, 0x0000f011, 0x6a018521, 0x00009283, 0x40001819,
+ 0x00006413, 0xc0001018, 0x0000b413, 0x0000109c, 0x00006412, 0x80001898,
+ 0x00003413, 0x00001a0d, 0x00007008, 0x10401440, 0x00001283, 0x1066003e,
+ 0x00007910, 0x00000074, 0x00008c80, 0x0001f09a, 0x00006b0a, 0xffffffff,
+ 0x00007f86, 0x0002089a, 0x0000eb12, 0x82c208ec, 0x0000f902, 0x2a000000,
+ 0x00000604, 0xffffffff, 0x00007fa7, 0x0804d0a8, 0x00006b02, 0xaa000800,
+ 0x00006181, 0x104208a8, 0x00004000, 0x00000001, 0x00007480, 0xc0001018,
+ 0x00006403, 0x0000109c, 0x0000b402, 0x6a004800, 0x00009981, 0x82c540ec,
+ 0x00007902, 0x10400000, 0x00008604, 0x0000009a, 0x0000e784, 0xa0001819,
+ 0x00003403, 0x0001e89a, 0x00006302, 0x80000898, 0x0000b401, 0xffffffff,
+ 0x00007f86, 0x0804d041, 0x0000eb02, 0x00000001, 0x00007480, 0x10454041,
+ 0x0000e000, 0x6a004800, 0x00000981, 0xaa000800, 0x00001981, 0x90406621,
+ 0x0000e283, 0x0000009a, 0x00002784, 0x82c560ec, 0x0000f902, 0x10400000,
+ 0x00008604, 0x0001e89a, 0x00006302, 0x20001819, 0x0000b403, 0x80000898,
+ 0x0000e401, 0xa0001819, 0x0000b413, 0xea204800, 0x00000ae2, 0x0804d041,
+ 0x0000eb02, 0x10456041, 0x00009000, 0x00000001, 0x00007280, 0x60001819,
+ 0x0000ec03, 0x1041502b, 0x00009100, 0x00113841, 0x00009502, 0x6a002800,
+ 0x0000e1a9, 0x80000898, 0x0000e429, 0xaa000000, 0x0000e1a9, 0x0000009a,
+ 0x0000e7ac, 0x000019b6, 0x00007020, 0x90406621, 0x0000e283, 0x0001e89a,
+ 0x0000a302, 0x82c560ec, 0x0000f902, 0x10400000, 0x00008604, 0xa0001819,
+ 0x00006c13, 0x000019fa, 0x0000f403, 0x0804d041, 0x0000eb02, 0x10456041,
+ 0x00009000, 0x00000001, 0x00007280, 0xea204802, 0x00008ae2, 0x00000001,
+ 0x00007480, 0xc0001018, 0x00006403, 0x0000109c, 0x0000b402, 0xaa001409,
+ 0x00008ae3, 0x10401440, 0x0000e283, 0x40007819, 0x0000a407, 0x1066003e,
+ 0x00007910, 0x00000074, 0x00008c80, 0x0001f09a, 0x0000e30a, 0xc0001018,
+ 0x00003403, 0x0000109c, 0x0000e402, 0x80001898, 0x0000b403, 0x0002089a,
+ 0x0000eb12, 0x82c208ec, 0x0000f902, 0x2a000000, 0x00000604, 0xffffffff,
+ 0x00007fa7, 0x0804d0a8, 0x00006b02, 0x00000001, 0x00007480, 0x104208a8,
+ 0x0000e000, 0xaa000800, 0x00008981, 0x6a004800, 0x00009981, 0x2b5d33a6,
+ 0x00001900, 0x000538ad, 0x00001502, 0x2b41c038, 0x00006130, 0x2b81502a,
+ 0x00004930, 0x00001aa0, 0x0000f019, 0x576006a8, 0x0000c491, 0x602015a8,
+ 0x0000868d, 0x000000a7, 0x0000788a, 0x00000000, 0x00000000, 0x8d9728a7,
+ 0x0000780a, 0x78c00000, 0x00008d81, 0xa68035a8, 0x0000f88a, 0x20c00000,
+ 0x00000d84, 0x400035a8, 0x0000e583, 0x0a85382a, 0x00008000, 0x2000081e,
+ 0x0000e403, 0x4000181f, 0x0000b403, 0x0a9d302a, 0x00006110, 0x0e1d302a,
+ 0x00008100, 0x00001a9d, 0x00007008, 0x90406621, 0x0000e283, 0x0000009a,
+ 0x00002784, 0x82c208ec, 0x0000f902, 0x25000000, 0x00000604, 0x0001e89a,
+ 0x00006302, 0x80000898, 0x0000b401, 0xa000189c, 0x0000e403, 0xa0001819,
+ 0x0000b413, 0x2740609d, 0x00001380, 0x0804d094, 0x00006b02, 0x251d30ae,
+ 0x0000e100, 0x10420894, 0x00008000, 0x40000528, 0x00006583, 0xa65d33a6,
+ 0x00008900, 0x2581e02d, 0x00009108, 0x00001a4e, 0x00007009, 0x40214528,
+ 0x00009503, 0x25401227, 0x0000e098, 0x2581e02d, 0x00004130, 0x2581e02d,
+ 0x00001118, 0x00001a89, 0x0000f030, 0x0004b095, 0x00001502, 0x10002040,
+ 0x000093a8, 0x00001a89, 0x0000f021, 0x25a9b096, 0x0000e700, 0x90000898,
+ 0x0000a401, 0x00121096, 0x00006502, 0x26001800, 0x00008981, 0x103fb840,
+ 0x0000f928, 0x003ffffe, 0x00008280, 0xa5d21242, 0x00006120, 0xa5d4b296,
+ 0x0000c928, 0x10004040, 0x0000e3a0, 0xa000781e, 0x00002406, 0xa5c085a6,
+ 0x0000e381, 0x2742009d, 0x00000380, 0x25406440, 0x00006283, 0x28c1682d,
+ 0x00000900, 0x4000101c, 0x0000e413, 0x20001018, 0x00003413, 0x28400000,
+ 0x0000e180, 0x2581c839, 0x0000c900, 0x4000081c, 0x0000e40b, 0x20000818,
+ 0x0000340b, 0x66001d21, 0x00006283, 0x2541e03c, 0x00000900, 0x0000101b,
+ 0x00006412, 0x00001819, 0x0000b413, 0xa9860621, 0x00001283, 0xa9818621,
+ 0x0000e283, 0x26000000, 0x00000989, 0xffffffff, 0x00007f86, 0x26001800,
+ 0x00006181, 0xe7a4c019, 0x00006003, 0xa9801e21, 0x0000e283, 0x26000000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0xc724c019, 0x0000e803, 0x00001a73,
+ 0x00007008, 0x0004a0ad, 0x00001502, 0x00001a94, 0x00007073, 0x0001482a,
+ 0x0000e502, 0xa6113a27, 0x00000900, 0x29c00f98, 0x0000e281, 0x09c4c4a8,
+ 0x00002000, 0xe5ea0540, 0x0000e101, 0x50001020, 0x00006402, 0x00001a8c,
+ 0x0000f208, 0x6a653ca8, 0x00009001, 0x69060521, 0x00009283, 0x69018521,
+ 0x00006283, 0x60001819, 0x00002413, 0xffffffff, 0x00007f86, 0x69006521,
+ 0x00006283, 0x40001819, 0x0000a413, 0x00000001, 0x00007480, 0xffffffff,
+ 0x00007f86, 0x20001819, 0x0000ec13, 0x25006619, 0x00001281, 0x00001a42,
+ 0x0000f400, 0x00006494, 0x00001583, 0x2501c038, 0x0000e110, 0x2500082a,
+ 0x0000c188, 0x00001a4e, 0x0000f200, 0x103fd840, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x400005a4, 0x00001583, 0x00000001, 0x0000708b, 0x69018521,
+ 0x00009283, 0x69006521, 0x00006283, 0x40001819, 0x0000a413, 0x00000001,
+ 0x00007480, 0xffffffff, 0x00007f86, 0x20001819, 0x0000ec13, 0x000000a7,
+ 0x00001582, 0x2740189d, 0x00006390, 0x2804a094, 0x00008910, 0x80001819,
+ 0x0000ec13, 0x00001a73, 0x00007008, 0x00001a73, 0x0000f000, 0x2000081e,
+ 0x0000e403, 0x4000181f, 0x0000b403, 0x0e1d302a, 0x00001100, 0x00001a36,
+ 0x0000f200, 0x0e000838, 0x00006080, 0x0a800838, 0x00000080, 0x08001a04,
+ 0x00006106, 0x08001a09, 0x0000b106, 0x01a01004, 0x00000020, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x034ac800, 0x0000f900, 0x0018a99a,
+ 0x00008980, 0x03afb000, 0x00007900, 0x0001fd18, 0x00008980, 0x022d3502,
+ 0x00000018, 0x41ad45a8, 0x0000e101, 0x01c7f8a7, 0x0000c280, 0x1ab01bb2,
+ 0x0000f500, 0x82600500, 0x00008026, 0x81007800, 0x00006180, 0x02c01002,
+ 0x00004900, 0x001728a7, 0x00009502, 0x0a9d3029, 0x00006108, 0x0e0148a7,
+ 0x00000010, 0x0e1d3029, 0x00006108, 0x0a9d3038, 0x00000110, 0xffffffff,
+ 0x00007f86, 0x000150ae, 0x0000e502, 0x0e1d3038, 0x00000110, 0x251d3029,
+ 0x00001160, 0x00001abf, 0x0000f069, 0x00001a42, 0x00007000, 0x00001a73,
+ 0x00007400, 0xa9818621, 0x00001283, 0x6000081f, 0x00006413, 0xa0001018,
+ 0x00003412, 0x90406621, 0x0000e283, 0x0000009a, 0x00002784, 0x82c208ec,
+ 0x0000f902, 0x25000000, 0x00000604, 0x0001e89a, 0x00006302, 0x2000081e,
+ 0x0000b403, 0x4000181f, 0x0000e403, 0x80000898, 0x0000b401, 0xa000189c,
+ 0x0000e403, 0xa0001819, 0x0000b413, 0x00001a42, 0x0000f400, 0x2740609d,
+ 0x0000e380, 0x0804d094, 0x00002302, 0x251d3029, 0x0000e100, 0x10420894,
+ 0x00008000, 0x01001424, 0x0000e283, 0x27000000, 0x00008980, 0x27400000,
+ 0x000009f8, 0x27c00000, 0x00000ac0, 0x00001ae9, 0x0000f410, 0x28400000,
+ 0x00000ac8, 0x6a004000, 0x0000e189, 0x28c00000, 0x00004980, 0x00000435,
+ 0x00009583, 0xa6025435, 0x00006491, 0x01025435, 0x0000cc91, 0x00001ae7,
+ 0x00007009, 0x5c002622, 0x0000418f, 0x00260621, 0x00008090, 0x00a04440,
+ 0x0000c795, 0x80800528, 0x0000808a, 0x00460621, 0x0000c597, 0x80204440,
+ 0x00008093, 0xa6000c04, 0x00001081, 0x00000001, 0x00007480, 0x07d8001f,
+ 0x0000e380, 0x0d425435, 0x00000c81, 0xaa000000, 0x00009981, 0x00001ae1,
+ 0x0000f200, 0xa6000c04, 0x00001081, 0x00000001, 0x00007280, 0xaa001000,
+ 0x00001981, 0x06c55000, 0x0000e181, 0x8000101a, 0x00006403, 0x47055000,
+ 0x0000e181, 0xa000101b, 0x0000e402, 0x2000101b, 0x0000e403, 0x00005018,
+ 0x00003407, 0x00001019, 0x0000e403, 0xc000101a, 0x0000b403, 0x00000001,
+ 0x00007480, 0x2001501c, 0x0000e483, 0x6000101b, 0x00003403, 0xea200002,
+ 0x00008ae2, 0xc1006721, 0x00009283, 0xa5d03a07, 0x00006110, 0xe5d03227,
+ 0x0000c010, 0x2740609d, 0x00006390, 0x00000099, 0x0000a794, 0x00001b13,
+ 0x0000f008, 0x01001c21, 0x00006283, 0x0001e899, 0x0000a302, 0x0a80082a,
+ 0x00006190, 0x06580019, 0x00000390, 0x80000642, 0x00006583, 0xa000189c,
+ 0x00002403, 0x26001000, 0x00006189, 0x26009000, 0x0000c991, 0x2501502a,
+ 0x00006100, 0x2000081e, 0x0000e403, 0x80080098, 0x00006502, 0x4000181f,
+ 0x0000b403, 0x0680601a, 0x0000e380, 0x30001898, 0x0000a403, 0x26000136,
+ 0x0000009a, 0x2880082a, 0x00006080, 0x13020098, 0x0000a001, 0x25400000,
+ 0x0000e188, 0x25800000, 0x0000c988, 0x00001b4f, 0x0000f400, 0x2541e03c,
+ 0x00006110, 0x2581c839, 0x00004910, 0x0a80082a, 0x00006080, 0x0e000894,
+ 0x00000080, 0xc1060721, 0x00009283, 0x2501502a, 0x0000e110, 0x2541e03c,
+ 0x00004910, 0x2581c839, 0x00006110, 0x26008000, 0x00004991, 0x00001b34,
+ 0x0000f008, 0x01004424, 0x0000e283, 0x00000098, 0x00002401, 0x4d800000,
+ 0x0000e189, 0x0101e02d, 0x0000c100, 0xe000081f, 0x0000e408, 0x20003098,
+ 0x0000b405, 0x0129b004, 0x0000e700, 0xa0002099, 0x0000a481, 0xa5d02204,
+ 0x0000e100, 0x24012098, 0x00006001, 0x01172804, 0x0000e200, 0xe5d13a27,
+ 0x00008900, 0x0129b004, 0x00006000, 0x2742009d, 0x0000c380, 0x28c1e004,
+ 0x0000e000, 0x0686001a, 0x00008380, 0x81060621, 0x00006283, 0x01001800,
+ 0x00008981, 0x01000000, 0x0000e189, 0x01801000, 0x00004981, 0x81018621,
+ 0x00009283, 0x01001800, 0x00006181, 0xe7a02019, 0x00006003, 0x01000000,
+ 0x00009989, 0x00001b4f, 0x0000f400, 0xffffffff, 0x00007f86, 0xc7202019,
+ 0x0000e803, 0x01800000, 0x00006180, 0x08001a04, 0x00006106, 0x01a02404,
+ 0x00006101, 0x08001a09, 0x0000e106, 0x82101202, 0x0000e100, 0x83810806,
+ 0x0000e002, 0xc2181302, 0x00006100, 0xa3010806, 0x0000e002, 0x01c00000,
+ 0x0000e180, 0xc5010806, 0x0000e002, 0xc2700600, 0x00006101, 0xe7010806,
+ 0x0000e002, 0x82680500, 0x0000e101, 0x04810006, 0x00006001, 0x02c01002,
+ 0x00006100, 0x15811006, 0x0000e001, 0x25411006, 0x00006801, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x81013000, 0x0000e180, 0x36411006,
+ 0x00006001, 0x0373d800, 0x00007900, 0x0018a99c, 0x00008980, 0x1b4f1bb2,
+ 0x00007500, 0x03b86000, 0x0000f900, 0x0025b1f2, 0x00008980, 0x42c11806,
+ 0x0000e801, 0x00000001, 0x00007480, 0x0b04c407, 0x00006000, 0x0b44c404,
+ 0x0000b000, 0x81203c04, 0x00001001, 0x1b000000, 0x00009981, 0x6b020720,
+ 0x0000c497, 0xe2260721, 0x00000696, 0x06601f21, 0x0000c597, 0x84606621,
+ 0x0000838f, 0x01001c21, 0x00006283, 0x0141e02d, 0x00008100, 0x0a80082a,
+ 0x00006190, 0x80001898, 0x00002403, 0x0000009a, 0x0000e784, 0x8000089c,
+ 0x00003402, 0x10001040, 0x00006380, 0x25c00220, 0x00000980, 0x0169b005,
+ 0x0000e700, 0x0101502a, 0x00008900, 0x80001018, 0x0000e403, 0x2000081e,
+ 0x0000b403, 0x0001e89a, 0x00006302, 0x4000181f, 0x0000b403, 0x2541e03c,
+ 0x0000e100, 0xa000189c, 0x0000e403, 0x2581c839, 0x0000e100, 0x2740609d,
+ 0x00004380, 0x06580019, 0x00006390, 0xa6113a27, 0x00000900, 0x253a072a,
+ 0x0000891d, 0x00001b7e, 0x00007400, 0xa5d02a05, 0x0000e100, 0x0e000804,
+ 0x0000c080, 0x0a80082a, 0x00009080, 0x0101e02d, 0x00006100, 0x25c00200,
+ 0x00008980, 0x0129b004, 0x0000e700, 0x90000898, 0x0000a401, 0x25f95404,
+ 0x00000910, 0x01172804, 0x0000e200, 0x2541e03c, 0x00000900, 0x0129b004,
+ 0x00006000, 0x2581c839, 0x0000c900, 0x2742009d, 0x00006380, 0x0686001a,
+ 0x00008380, 0x65e13f40, 0x00000920, 0x28c1e004, 0x00001000, 0x81060621,
+ 0x00006283, 0x01001800, 0x00008981, 0x81018621, 0x00006283, 0x01000000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x01001800, 0x00006181, 0xe7a02019,
+ 0x00006003, 0x01000000, 0x00009989, 0x00001b9d, 0x0000f400, 0xffffffff,
+ 0x00007f86, 0xc7202019, 0x0000e803, 0x0101e02d, 0x00006100, 0x90000898,
+ 0x0000a401, 0x25c00280, 0x0000e180, 0x0129b004, 0x00004700, 0xe000089c,
+ 0x00006402, 0xe0000818, 0x0000b403, 0x2539e72a, 0x00000914, 0x2581c839,
+ 0x0000e100, 0x0680181a, 0x00004380, 0x00001b9d, 0x0000f400, 0x263a0427,
+ 0x0000091d, 0xa5d02204, 0x00009900, 0x81371ee3, 0x0000e100, 0x0000009a,
+ 0x0000e784, 0x32382004, 0x0000a084, 0x80000898, 0x0000e401, 0xa0001819,
+ 0x00003403, 0x1b000800, 0x00001981, 0xffffffff, 0x00007f86, 0x0000209a,
+ 0x0000eb02, 0x00000001, 0x00007480, 0x01000f98, 0x0000e281, 0x09c4c405,
+ 0x0000a000, 0x21602405, 0x00001001, 0x00000001, 0x00007480, 0x00000435,
+ 0x00006583, 0x01400000, 0x00000981, 0x07d8001f, 0x00006390, 0x01001000,
+ 0x00000981, 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x780000ec,
+ 0x00005680, 0x02090000, 0x00000080, 0x780008ec, 0x0000d680, 0x00000000,
+ 0x00008080, 0x81400cec, 0x00005684, 0x00000000, 0x00008080, 0x81400aec,
+ 0x00005684, 0x00000000, 0x00008080, 0x403840ec, 0x0000d700, 0x00000000,
+ 0x00008080, 0x203880ec, 0x00002080, 0xffffffff, 0x00007fa7, 0x81401210,
+ 0x00009880, 0x81401205, 0x00009080, 0x20382005, 0x0000d000, 0x00387000,
+ 0x00000000, 0x20386a05, 0x00005000, 0x00385800, 0x00000000, 0x20384c05,
+ 0x0000d000, 0x00384000, 0x00000000, 0x20383605, 0x00003838, 0x02102204,
+ 0x00006100, 0x01400810, 0x00004080, 0x0001f805, 0x00009582, 0x04000000,
+ 0x0000e198, 0x04000810, 0x0000c0b0, 0x1bc51ba6, 0x0000f500, 0xffffffff,
+ 0x00007f86, 0x203880ec, 0x0000a880, 0x200568ec, 0x0000f902, 0x2ac00000,
+ 0x00008000, 0xffffffff, 0x00007fa7, 0xaa8012ad, 0x00009880, 0xaa8012aa,
+ 0x00009080, 0x203d60aa, 0x00005000, 0x003d3800, 0x00000000, 0x203d32aa,
+ 0x0000d000, 0x003d2800, 0x00008000, 0x203d24aa, 0x00005000, 0x003d1800,
+ 0x00008000, 0x203d16aa, 0x0000d000, 0x003d0800, 0x00000000, 0x2a8008ad,
+ 0x00001080, 0x0001f8aa, 0x00009582, 0x2b4008ad, 0x000060b0, 0x2b400000,
+ 0x00000998, 0x800016ac, 0x00001583, 0x203d68ec, 0x0000a880, 0x00000001,
+ 0x0000f091, 0x000000ab, 0x00001582, 0x021562ac, 0x00009910, 0x00000001,
+ 0x0000f089, 0x1bdd1ba6, 0x00007100, 0x00000001, 0x0000f080, 0x9bfd46ec,
+ 0x00003838, 0x9c3d50ec, 0x00003838, 0x1be31bc5, 0x00007500, 0x9c3d62ec,
+ 0x0000b838, 0x9c3d74ec, 0x00003838, 0x9bfd46ec, 0x0000b038, 0x9c3d50ec,
+ 0x0000b038, 0x00000001, 0x00007480, 0x9c3d62ec, 0x00003038, 0x9c3d74ec,
+ 0x0000b038, 0x203c52ec, 0x0000a080, 0x22642fe4, 0x00001800, 0xffffffff,
+ 0x00007f97, 0x22445089, 0x00001202, 0x2b000000, 0x00007910, 0x0000c0c0,
+ 0x00008980, 0xab001800, 0x00006190, 0x29844088, 0x00004910, 0x00000001,
+ 0x00007088, 0x29c60000, 0x00007900, 0x001f2252, 0x00008980, 0xe9300600,
+ 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x00001bde,
+ 0x00007400, 0x28fc3785, 0x00008a08, 0x28442084, 0x00001900, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0d001f08, 0x0000e006, 0x08001a09,
+ 0x0000b106, 0x035e2000, 0x0000f900, 0x00395f38, 0x00000980, 0x03af4000,
+ 0x00007900, 0x003fbfce, 0x00008980, 0x021004e4, 0x00000020, 0x01a81402,
+ 0x00008018, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x1c081bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81000800, 0x00009980, 0x99f916ec,
+ 0x00003838, 0x9a3920ec, 0x00003838, 0x9a3932ec, 0x00003838, 0x9a3944ec,
+ 0x0000b838, 0x000004e3, 0x00001583, 0x4001fde3, 0x00001583, 0x400005e3,
+ 0x00001583, 0x00001c2f, 0x00007008, 0x00001c22, 0x00007030, 0x00001c39,
+ 0x00007048, 0x820122ec, 0x00007902, 0x08c00000, 0x00000604, 0x494105e3,
+ 0x00006283, 0x0880fde3, 0x00008281, 0x08a117e4, 0x00001800, 0x00001c28,
+ 0x00007009, 0x08811822, 0x00001202, 0x08800000, 0x00009981, 0x08800800,
+ 0x00009991, 0xffffffff, 0x00007f86, 0x29211422, 0x00009901, 0x99f916ec,
+ 0x0000b038, 0x9a3920ec, 0x0000b038, 0x00000001, 0x00007480, 0x9a3932ec,
+ 0x0000b038, 0x9a3944ec, 0x00003038, 0x494105e3, 0x00006283, 0x0880fde3,
+ 0x00008281, 0x820120ec, 0x0000f902, 0x08c00000, 0x00000604, 0x08a117e4,
+ 0x00001800, 0x00001c18, 0x0000f010, 0xffffffff, 0x00007f86, 0x08812022,
+ 0x00009202, 0x08800000, 0x00009981, 0x08800800, 0x00009991, 0x00001c1d,
+ 0x0000f400, 0xffffffff, 0x00007f86, 0x29211422, 0x00009901, 0x823916ec,
+ 0x0000a684, 0x08f71fe4, 0x0000e000, 0x29000000, 0x00004981, 0x9a3920ec,
+ 0x0000b038, 0x9a3932ec, 0x0000b038, 0x08811023, 0x00001202, 0x9a3944ec,
+ 0x00003038, 0x00000001, 0x00007480, 0x99f916ec, 0x0000b038, 0x29000800,
+ 0x00001991, 0x00001c14, 0x0000f200, 0x820124ec, 0x00007902, 0x08c00000,
+ 0x00000604, 0xc0000383, 0x0000e582, 0x9ec00000, 0x00000980, 0x9ec00800,
+ 0x0000e190, 0x20000000, 0x0000c980, 0x20400000, 0x0000f900, 0x000014c0,
+ 0x00008980, 0x0000047b, 0x00006583, 0x00142881, 0x00002106, 0x2083f07e,
+ 0x0000e100, 0xc323d881, 0x0000e006, 0x9ec00000, 0x00006188, 0x9ee80500,
+ 0x0000c910, 0xffffffff, 0x00007f86, 0x0013d880, 0x0000e986, 0x042c1880,
+ 0x0000e885, 0x75e80080, 0x0000e901, 0x703c08ec, 0x0000d600, 0x003c0000,
+ 0x00000000, 0x20000004, 0x00001980, 0x20400000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0x00142881, 0x00006186, 0x82241880, 0x00003080, 0x703c10ec,
+ 0x0000d600, 0x003c3000, 0x00000000, 0x00000001, 0x00007480, 0x041c2880,
+ 0x0000e987, 0x703c08ec, 0x0000d600, 0x003c0000, 0x00000000, 0x0247f800,
+ 0x0000f900, 0x00001088, 0x00000980, 0x02c99804, 0x0000e180, 0x75ff1809,
+ 0x0000e101, 0x760010ec, 0x00005680, 0x00000000, 0x00008080, 0x004cf00b,
+ 0x0000ed87, 0x763858ec, 0x00005600, 0x00384800, 0x00008000, 0x02c00000,
+ 0x00009980, 0x00000001, 0x00007480, 0x0020680b, 0x0000e886, 0x763858ec,
+ 0x00005600, 0x00000000, 0x00008080, 0x0000009b, 0x00001582, 0x99e4daec,
+ 0x0000a090, 0x2b000000, 0x00007910, 0x0000c080, 0x00000980, 0x00000001,
+ 0x00007088, 0x29c0e000, 0x0000f900, 0x00188ac0, 0x00000980, 0x80172a9b,
+ 0x00006502, 0x08001aa4, 0x0000a106, 0xa6c00a9b, 0x0000e090, 0xab017000,
+ 0x00000980, 0x99e4daec, 0x00002890, 0x29a8079a, 0x00008a12, 0xa9381400,
+ 0x00008a14, 0x00001bde, 0x00007400, 0x28fcc799, 0x00000a08, 0x287f1fe3,
+ 0x00001900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x01800000,
+ 0x00006180, 0x08001a09, 0x0000e106, 0x03645800, 0x0000f900, 0x0026484c,
+ 0x00008980, 0x03ba4000, 0x0000f900, 0x003bdaae, 0x00000980, 0x02001002,
+ 0x00006100, 0x0d001e06, 0x0000e006, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x82781400, 0x0000802c, 0x1c891bb2, 0x0000f500, 0x81003000,
+ 0x00006180, 0x01b00600, 0x00004901, 0x41a80500, 0x00009901, 0x2c00e6e3,
+ 0x00009680, 0x994588b0, 0x00009000, 0x69833c65, 0x0000f902, 0x19800000,
+ 0x00000000, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x25400467,
+ 0x00007893, 0x00c00001, 0x00008000, 0x96801e60, 0x00004489, 0x50201e60,
+ 0x000007b1, 0x04a02e60, 0x0000c589, 0x82202e60, 0x000081ae, 0x19f307e4,
+ 0x00001800, 0x24433067, 0x00007817, 0x00c00001, 0x00000080, 0x2b000000,
+ 0x0000f900, 0x0000c0c0, 0x00008980, 0x29eb5800, 0x0000f900, 0x0003cd08,
+ 0x00008980, 0x298500a0, 0x0000e100, 0x08001aa4, 0x00006106, 0xa9200500,
+ 0x00008a12, 0x29431f02, 0x00000a0c, 0x28d31963, 0x00000a0c, 0x28c31363,
+ 0x00000a08, 0x28931162, 0x00000a08, 0x28830b62, 0x00000a04, 0x1c911bde,
+ 0x0000f500, 0x28530961, 0x00000a04, 0x2b1b0c60, 0x00008a04, 0x00001c91,
+ 0x0000f000, 0x80000e60, 0x00001583, 0x99406265, 0x00009088, 0x00001cb9,
+ 0x0000f009, 0x80000e60, 0x00001583, 0x99407a65, 0x000010b0, 0x00001cb9,
+ 0x00007031, 0x00001cb9, 0x00007200, 0x99409265, 0x00001080, 0x80004660,
+ 0x00001583, 0x99400a65, 0x00001088, 0x00000001, 0x0000f091, 0x00001cb9,
+ 0x0000f000, 0x00001cb9, 0x00007200, 0x99402265, 0x00009080, 0x00001cb9,
+ 0x00007200, 0x99403a65, 0x00009080, 0x9940ba65, 0x00001080, 0x18001760,
+ 0x00001781, 0x18001f60, 0x00006281, 0x99532c60, 0x00008000, 0x69831465,
+ 0x0000f902, 0x18400000, 0x00008000, 0x00001460, 0x00001583, 0x00001cc7,
+ 0x0000f20b, 0x98400a61, 0x00001088, 0x00001c60, 0x00009583, 0xd8400b61,
+ 0x00001088, 0x00001cc7, 0x0000f009, 0x00000c60, 0x00001583, 0xd8800b62,
+ 0x0000e088, 0x98800a62, 0x00008090, 0x00000001, 0x00007280, 0x69bb1465,
+ 0x00005000, 0x003b0800, 0x00000000, 0x4000250e, 0x00006583, 0x03c00800,
+ 0x00000980, 0x02000000, 0x0000e180, 0x43f71ee3, 0x0000c901, 0x01806000,
+ 0x00006189, 0x30ff100f, 0x00006002, 0x00001ce8, 0x00007208, 0x82181302,
+ 0x00009900, 0x4000250e, 0x00009583, 0x00001cde, 0x0000701b, 0x4000150e,
+ 0x00009583, 0x01805000, 0x00001989, 0x00001ce8, 0x00007009, 0x4000150e,
+ 0x00009583, 0x0180e000, 0x00001999, 0x00001ce8, 0x0000f019, 0x40000d0e,
+ 0x00009583, 0x01804800, 0x00001989, 0x00001ce8, 0x00007009, 0x00001ce7,
+ 0x00007000, 0x4000350e, 0x00001583, 0x01808000, 0x00009989, 0x00001ce8,
+ 0x00007009, 0x4000350e, 0x00001583, 0x01804000, 0x000019a9, 0x00001ce8,
+ 0x0000f029, 0x40003d0e, 0x00009583, 0x01824000, 0x00001989, 0x00001ce8,
+ 0x00007009, 0x01800000, 0x00009981, 0x86203008, 0x0000e087, 0x8620500f,
+ 0x00003087, 0x01808406, 0x00006283, 0x81ff1fe3, 0x00000900, 0x8a387c07,
+ 0x00005000, 0x00384000, 0x00000000, 0x2c00e6e3, 0x00009680, 0x81c588b0,
+ 0x00001000, 0x80001e0a, 0x00009583, 0xffffffff, 0x00007f86, 0x00001d07,
+ 0x0000f008, 0x00001cfa, 0x0000f010, 0x0000540a, 0x00006583, 0x01800000,
+ 0x00008980, 0x01800800, 0x000099b0, 0xffffffff, 0x00007f86, 0x00000406,
+ 0x00009583, 0x00001d07, 0x0000f013, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x0366d000,
+ 0x00007900, 0x002f51ec, 0x00000980, 0x03a7b000, 0x0000f900, 0x0032e122,
+ 0x00000980, 0x01800000, 0x000080dc, 0x82600500, 0x00008026, 0x1d071bb2,
+ 0x00007500, 0x02c18702, 0x00000091, 0x8210530a, 0x00000020, 0x0000040e,
+ 0x0000e583, 0x02000000, 0x00000980, 0x02000800, 0x00006189, 0x01800000,
+ 0x00004980, 0x00000c0d, 0x00009583, 0x69804407, 0x0000a880, 0x02000000,
+ 0x0000e180, 0x00185806, 0x0000618e, 0xffffffff, 0x00007f86, 0x04105806,
+ 0x0000e18f, 0x00002008, 0x0000b48e, 0x81f71ee3, 0x00009900, 0x00001d1b,
+ 0x00007400, 0x97b84007, 0x0000d000, 0x00383000, 0x00008000, 0x01f84e09,
+ 0x00006000, 0x02304e09, 0x00000901, 0x02000c08, 0x00006081, 0x81808408,
+ 0x00008080, 0x8a0f1c06, 0x00002881, 0x01a04408, 0x00009900, 0x00003806,
+ 0x00009502, 0x81bf17e2, 0x00009940, 0x97404006, 0x00007942, 0x01c00000,
+ 0x00008000, 0x00001d18, 0x0000f048, 0x97385cec, 0x0000a080, 0x81bf17e2,
+ 0x00001900, 0x00000408, 0x00001583, 0x82206808, 0x0000688e, 0x4000050b,
+ 0x0000e583, 0x04306808, 0x0000a08f, 0x97783806, 0x00002800, 0x02000c08,
+ 0x00006081, 0x02f0a614, 0x00008909, 0x00001d34, 0x00007210, 0x97784006,
+ 0x0000a880, 0x2c007ee3, 0x00001680, 0x81c588b0, 0x00001000, 0x2018a0ec,
+ 0x00002803, 0x203872ec, 0x0000a882, 0x98f86007, 0x0000d000, 0x00271800,
+ 0x00008001, 0x98b89e07, 0x0000a800, 0x82e86d0d, 0x00001901, 0x00000001,
+ 0x00007480, 0x42c00d0b, 0x00009081, 0x97385cec, 0x00002880, 0x00002409,
+ 0x0000e583, 0x8200840a, 0x00008080, 0x8a385c08, 0x0000a080, 0x02406000,
+ 0x00006189, 0x41800000, 0x0000c980, 0x8198530a, 0x00001900, 0xffffffff,
+ 0x00007f86, 0x0000080b, 0x00006c82, 0x82c00000, 0x00009981, 0x00001d59,
+ 0x0000f408, 0x30ff100b, 0x00006802, 0x5168500b, 0x00006800, 0x00002409,
+ 0x00001583, 0x00001d4f, 0x0000701b, 0x00001409, 0x00001583, 0x02405000,
+ 0x00001989, 0x00001d59, 0x0000f009, 0x00001409, 0x00001583, 0x0240e000,
+ 0x00001999, 0x00001d59, 0x00007019, 0x00000c09, 0x00001583, 0x02404800,
+ 0x00001989, 0x00001d59, 0x0000f009, 0x00001d58, 0x00007000, 0x00003409,
+ 0x00009583, 0x02408000, 0x00009989, 0x00001d59, 0x0000f009, 0x00003409,
+ 0x00009583, 0x02404000, 0x000019a9, 0x00001d59, 0x00007029, 0x00003c09,
+ 0x00001583, 0x02424000, 0x00001989, 0x00001d59, 0x0000f009, 0x02400000,
+ 0x00009981, 0x8620380b, 0x00006087, 0x86204806, 0x00003087, 0x8a385c08,
+ 0x0000d000, 0x00383000, 0x00008000, 0x01808409, 0x00009283, 0x80001e07,
+ 0x00001583, 0xffffffff, 0x00007f86, 0x00001d78, 0x00007008, 0x00001d68,
+ 0x0000f010, 0x00005407, 0x0000e583, 0x02000000, 0x00000980, 0x02000800,
+ 0x000019b0, 0xffffffff, 0x00007f86, 0x00000408, 0x00001583, 0x00001d78,
+ 0x00007013, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x02000000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x0366d000, 0x00007900, 0x002f51ec,
+ 0x00000980, 0x03a7b000, 0x0000f900, 0x0032e122, 0x00000980, 0x01800000,
+ 0x00006180, 0xc2700600, 0x00004901, 0x82781400, 0x0000802c, 0x1d781bb2,
+ 0x0000f500, 0x81018000, 0x00006180, 0x82303e07, 0x00004901, 0x01c00000,
+ 0x0000e180, 0x42203c07, 0x00004901, 0x82371ee3, 0x00009900, 0x8a383408,
+ 0x0000a000, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x81800e06,
+ 0x00009081, 0x8a383408, 0x00002800, 0x8a384c06, 0x0000a080, 0x80007a06,
+ 0x00009582, 0xffffffff, 0x00007f97, 0x82284d09, 0x0000e118, 0x0f404c07,
+ 0x00006032, 0x8a204408, 0x0000a019, 0xffffffff, 0x00007f86, 0x00000001,
+ 0x0000749b, 0x82284d09, 0x0000e118, 0x01800c08, 0x0000c199, 0x8a303408,
+ 0x00002819, 0x970044ec, 0x0000a081, 0xffffffff, 0x00007fa7, 0x02000c08,
+ 0x00001181, 0x971844ec, 0x00002882, 0x82203c07, 0x00009900, 0x97404008,
+ 0x00002080, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x82203c07,
+ 0x0000e100, 0x01800c08, 0x0000c181, 0x97403008, 0x00002880, 0x81400ee3,
+ 0x0000e283, 0x81800ee3, 0x00008780, 0x9c383e06, 0x0000a088, 0x9c383e06,
+ 0x00002010, 0xffffffff, 0x00007fa7, 0x01c00807, 0x0000e090, 0x01c00807,
+ 0x00008088, 0x00000001, 0x0000f481, 0x9c383e06, 0x00002888, 0x9c383e06,
+ 0x0000a810, 0x02081804, 0x0000e180, 0x01800002, 0x0000c980, 0xc1a80500,
+ 0x00009900, 0x760010ec, 0x00005680, 0x00383000, 0x00008000, 0x81802d00,
+ 0x00001880, 0xc2181206, 0x00009080, 0x763840ec, 0x00005600, 0x000ff800,
+ 0x00000080, 0x760000ec, 0x0000d680, 0x00000000, 0x00008080, 0x00c002ec,
+ 0x0000df80, 0x11cd580b, 0x00001684, 0xb9182b05, 0x00001900, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x00007083, 0x1db11d7e, 0x0000f300, 0x81bf1fe3,
+ 0x00006100, 0xc15722e4, 0x0000c900, 0x81bf1fe3, 0x00001900, 0x8a003406,
+ 0x00002080, 0xffffffff, 0x00007f86, 0x00001d9e, 0x0000f403, 0x81bf1fe3,
+ 0x00006100, 0x01c7c406, 0x0000c281, 0x8a003c06, 0x00002880, 0x00000424,
+ 0x00006583, 0x01c00000, 0x00000980, 0x81c00000, 0x000080f4, 0x01c00800,
+ 0x00006191, 0x03840000, 0x00004980, 0x03000000, 0x00006180, 0x0021280e,
+ 0x0000e084, 0x00000407, 0x0000e583, 0xc320380d, 0x00002006, 0x81e80500,
+ 0x00006110, 0x81c00000, 0x0000c988, 0x40000524, 0x00006583, 0x0001300c,
+ 0x00002286, 0x0410380d, 0x0000e187, 0x00181007, 0x0000b18e, 0x783870ec,
+ 0x0000d600, 0x00386800, 0x00000000, 0x00192807, 0x00006996, 0x00000001,
+ 0x00007480, 0xffffffff, 0x00007f86, 0x783838ec, 0x0000d600, 0x00386000,
+ 0x00008000, 0x073f2fe5, 0x00008134, 0x01400000, 0x0000e181, 0x078728e5,
+ 0x0000c900, 0x00001c05, 0x00009583, 0x0280700e, 0x00001908, 0x00001de8,
+ 0x0000f009, 0x00001c05, 0x00009583, 0x00001ddd, 0x0000f01b, 0x00000c05,
+ 0x00001583, 0x02808010, 0x00001908, 0x00001de8, 0x0000f009, 0x00001405,
+ 0x00001583, 0x02803006, 0x00001908, 0x00001de8, 0x0000f009, 0x00001de6,
+ 0x00007000, 0x00002c05, 0x00009583, 0x02804809, 0x00001908, 0x00001de8,
+ 0x0000f009, 0x00002c05, 0x00009583, 0x02804008, 0x00009928, 0x00001de8,
+ 0x00007029, 0x00003405, 0x00009583, 0x0280580b, 0x00001908, 0x00001de8,
+ 0x0000f009, 0x02808811, 0x00009900, 0xffffffff, 0x00007f86, 0x0100500a,
+ 0x00009b00, 0x00072804, 0x0000e502, 0x02802004, 0x00000900, 0x01400c05,
+ 0x00001089, 0x00001def, 0x00007011, 0x7cc03c05, 0x0000f88b, 0x88c00000,
+ 0x00008e8e, 0x81402c05, 0x00009880, 0x82905205, 0x00001000, 0x80067a0a,
+ 0x00009582, 0x00001df4, 0x00007033, 0x82bff801, 0x00009980, 0x82400000,
+ 0x000080e2, 0x9d3ffa0a, 0x0000f88b, 0x00c00003, 0x00008080, 0xffffffff,
+ 0x00007f86, 0x8a38340a, 0x0000a080, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0x01003c06, 0x00009281, 0x00000c04, 0x00009583, 0x01400000,
+ 0x00007908, 0x0000c000, 0x00008980, 0x0160540a, 0x0000e109, 0x41683506,
+ 0x00004909, 0x00001e11, 0x00007010, 0x08003605, 0x00006004, 0x08001a09,
+ 0x0000b106, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x036fe000,
+ 0x00007900, 0x002f51f0, 0x00008980, 0x03870800, 0x00007900, 0x0026a938,
+ 0x00008980, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x82781400,
+ 0x0000802c, 0x1e111bb2, 0x0000f500, 0x01800000, 0x00006180, 0x02002805,
+ 0x00004900, 0x81012800, 0x00009980, 0x01003c06, 0x00001283, 0x8100fa0a,
+ 0x0000e288, 0x81402a0a, 0x00008788, 0x011027e4, 0x00009808, 0x00001e2c,
+ 0x0000f010, 0x00000405, 0x00006583, 0x010020e5, 0x00000400, 0x04408804,
+ 0x00001208, 0x00001e41, 0x0000f009, 0x00000c05, 0x00001583, 0x04008004,
+ 0x00001208, 0x00001e41, 0x0000f009, 0x00001405, 0x00001583, 0x03c07804,
+ 0x00001208, 0x00001e41, 0x0000f009, 0x00001c05, 0x00009583, 0x03807004,
+ 0x00001208, 0x00001e41, 0x0000f009, 0x00002405, 0x00001583, 0x03406804,
+ 0x00001208, 0x00001e41, 0x0000f009, 0x00002c05, 0x00009583, 0x03006004,
+ 0x00001208, 0x00001e41, 0x0000f009, 0x00001e41, 0x00007400, 0x00003405,
+ 0x00009583, 0x02c05804, 0x00001208, 0x00004c09, 0x00009583, 0x01801c09,
+ 0x000062b1, 0x01000000, 0x000009b0, 0x01801c06, 0x000060b0, 0x3840e404,
+ 0x000040b1, 0x00001e3c, 0x0000f018, 0x0107f800, 0x00009980, 0x01003004,
+ 0x00001800, 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01400200,
+ 0x0000f904, 0x0107fa0a, 0x00006280, 0x01402005, 0x00000200, 0x01803004,
+ 0x00009800, 0x01803005, 0x00009300, 0x10003400, 0x00007904, 0x8a382c0a,
+ 0x0000a080, 0x02400c09, 0x00009081, 0xffffffff, 0x00007f97, 0x00001805,
+ 0x0000ec04, 0x8a382c0a, 0x00002880, 0x82800a0a, 0x00009080, 0x8006820a,
+ 0x00001582, 0x01c00000, 0x0000e191, 0x81002a0a, 0x0000c790, 0x8280fa0a,
+ 0x00006290, 0x01a02404, 0x00000911, 0x00001e70, 0x0000f008, 0x011057e4,
+ 0x00009800, 0x014022ec, 0x00009100, 0x00203c06, 0x00001503, 0x00001e6d,
+ 0x0000701b, 0x00001c07, 0x00001583, 0x0100700e, 0x00009908, 0x00001e62,
+ 0x00007009, 0x00001c07, 0x00001583, 0x00001e58, 0x0000701b, 0x00000c07,
+ 0x00009583, 0x01008010, 0x00009908, 0x00001e62, 0x00007009, 0x00001407,
+ 0x00009583, 0x0100780f, 0x00009908, 0x00001e62, 0x00007009, 0x00001e61,
+ 0x00007000, 0x00002c07, 0x00001583, 0x0100600c, 0x00009908, 0x00001e62,
+ 0x00007009, 0x00002c07, 0x00001583, 0x0100680d, 0x00001928, 0x00001e62,
+ 0x0000f029, 0x00003407, 0x00001583, 0x0100580b, 0x00009908, 0x00001e62,
+ 0x00007009, 0x01008811, 0x00001900, 0x00203c06, 0x00001503, 0x01002804,
+ 0x00009208, 0xffffffff, 0x00007f86, 0x02802004, 0x00001b00, 0x0007280a,
+ 0x00006502, 0x0100500a, 0x00008900, 0x81c02c07, 0x00001890, 0x82902207,
+ 0x00009010, 0x00001e6d, 0x0000f008, 0x9c067a0a, 0x0000789b, 0x88c00000,
+ 0x00008f83, 0x01c00c07, 0x00009081, 0x00003c07, 0x00009583, 0x00001e4a,
+ 0x0000f013, 0x82bff801, 0x00009980, 0x02000c08, 0x00009081, 0x7dfffa0a,
+ 0x00007893, 0x00c00003, 0x00008080, 0x0420481e, 0x00006087, 0x08001aa4,
+ 0x00003106, 0x2b000000, 0x0000f900, 0x0000c0c0, 0x00008980, 0xe9300600,
+ 0x0000e101, 0x8620401e, 0x0000e087, 0x29b40800, 0x0000f900, 0x002f51f0,
+ 0x00008980, 0x29f3c800, 0x0000f900, 0x00065644, 0x00008980, 0xa9381400,
+ 0x00008a14, 0x1e821bde, 0x0000f500, 0x28f8ef1c, 0x00000a08, 0x28414f1e,
+ 0x00008ab1, 0x00000001, 0x0000f080, 0x834001e4, 0x000002b8, 0x047f2fe5,
+ 0x00000108, 0x01000000, 0x00006181, 0x04c728e5, 0x00004900, 0x00001c04,
+ 0x00001583, 0x03c03807, 0x00001908, 0x00001e9e, 0x00007009, 0x00001c04,
+ 0x00001583, 0x00001e93, 0x0000f01b, 0x00000c04, 0x00009583, 0x03c10821,
+ 0x00001908, 0x00001e9e, 0x00007009, 0x00001404, 0x00009583, 0x03c03006,
+ 0x00001908, 0x00001e9e, 0x00007009, 0x00001e9c, 0x0000f000, 0x00002c04,
+ 0x00001583, 0x03c04809, 0x00001908, 0x00001e9e, 0x00007009, 0x00002c04,
+ 0x00001583, 0x03c04008, 0x00009928, 0x00001e9e, 0x0000f029, 0x00003404,
+ 0x00001583, 0x03c0e01c, 0x00001908, 0x00001e9e, 0x00007009, 0x03c12024,
+ 0x00009900, 0xffffffff, 0x00007f86, 0x0140780f, 0x00001b00, 0x00072805,
+ 0x00006502, 0x03c02805, 0x00000900, 0x01000c04, 0x00001089, 0x00001ea5,
+ 0x0000f011, 0xaa403c04, 0x0000788b, 0x38c00000, 0x00008f84, 0x81002c04,
+ 0x00009880, 0x83d07a04, 0x00009000, 0x80067a0f, 0x00009582, 0x00001eaa,
+ 0x0000f033, 0x83fff801, 0x00009980, 0x83400000, 0x000080f2, 0xcd7ffa0f,
+ 0x0000788b, 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86, 0x8a002c0f,
+ 0x00007902, 0x0b800000, 0x00000000, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0x01003c05, 0x00009281, 0x00001404, 0x00009583, 0x01000000,
+ 0x0000f908, 0x00008000, 0x00000980, 0x01207c0f, 0x00006109, 0x41282d05,
+ 0x0000c909, 0x00001ec6, 0x00007010, 0x08002e04, 0x0000e004, 0x08001aa4,
+ 0x00003106, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980, 0x29900000,
+ 0x00007900, 0x002f51f2, 0x00000980, 0x29c70800, 0x00007900, 0x0026a938,
+ 0x00008980, 0x28800000, 0x00000ac4, 0xa9200500, 0x00008a12, 0x1ec61bde,
+ 0x0000f500, 0x29782702, 0x00000a0c, 0xab012800, 0x00001980, 0x01003c05,
+ 0x00009281, 0x00000c04, 0x00009583, 0x00002404, 0x00001593, 0x8140fa0f,
+ 0x00006290, 0x81002a0f, 0x00000790, 0x01502fe4, 0x00009810, 0x00001ee3,
+ 0x0000f008, 0x00000404, 0x0000e583, 0x014028e5, 0x00000400, 0x09012005,
+ 0x00009208, 0x00001f02, 0x0000f009, 0x00000c04, 0x00009583, 0x08410805,
+ 0x00009208, 0x00001f02, 0x0000f009, 0x00001404, 0x00009583, 0x08010005,
+ 0x00009208, 0x00001f02, 0x0000f009, 0x00001c04, 0x00001583, 0x07c0f805,
+ 0x00009208, 0x00001f02, 0x0000f009, 0x00002404, 0x00009583, 0x0780f005,
+ 0x00009208, 0x00001f02, 0x0000f009, 0x00002c04, 0x00001583, 0x0740e805,
+ 0x00009208, 0x00001f02, 0x0000f009, 0x00001f02, 0x00007400, 0x00003404,
+ 0x00001583, 0x0700e005, 0x00009208, 0x00004c0d, 0x00001583, 0x01801c0d,
+ 0x0000e2b1, 0x01000000, 0x000009b0, 0x01801c06, 0x000060b0, 0x38408c04,
+ 0x0000c0b1, 0x00001ef3, 0x0000f018, 0x0107f800, 0x00009980, 0x01003004,
+ 0x00001800, 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01400200,
+ 0x0000f904, 0x0107fa0f, 0x00006280, 0x01402005, 0x00000200, 0x01803004,
+ 0x00009800, 0x01803005, 0x00009300, 0x10003400, 0x00007904, 0xc100172e,
+ 0x0000e283, 0x03400c0d, 0x00000081, 0x1ef618c5, 0x0000f017, 0xc100272e,
+ 0x00001283, 0x0151722e, 0x00001910, 0x1ef94138, 0x0000f111, 0x01000000,
+ 0x00009980, 0x1efd1d7e, 0x00007500, 0x00107804, 0x0000e986, 0x01802004,
+ 0x00009900, 0x8a00240f, 0x0000f902, 0x0b800000, 0x00000000, 0xffffffff,
+ 0x00007fa7, 0x00001004, 0x0000ec04, 0x8a38240f, 0x0000a880, 0x83c00a0f,
+ 0x00009080, 0x8006820f, 0x00001582, 0x01c00000, 0x0000e191, 0x81002a0f,
+ 0x0000c790, 0x83c0fa0f, 0x00006290, 0x01a02404, 0x00000911, 0x00001f31,
+ 0x00007008, 0x01107fe4, 0x00009800, 0x014022ec, 0x00009100, 0x00203c06,
+ 0x00001503, 0x00001f2e, 0x0000701b, 0x00001c07, 0x00001583, 0x0100f81f,
+ 0x00009908, 0x00001f23, 0x0000f009, 0x00001c07, 0x00001583, 0x00001f19,
+ 0x0000f01b, 0x00000c07, 0x00009583, 0x01010821, 0x00009908, 0x00001f23,
+ 0x0000f009, 0x00001407, 0x00009583, 0x01010020, 0x00009908, 0x00001f23,
+ 0x0000f009, 0x00001f22, 0x00007000, 0x00002c07, 0x00001583, 0x0100e81d,
+ 0x00009908, 0x00001f23, 0x0000f009, 0x00002c07, 0x00001583, 0x0100f01e,
+ 0x00001928, 0x00001f23, 0x00007029, 0x00003407, 0x00001583, 0x0100e01c,
+ 0x00009908, 0x00001f23, 0x0000f009, 0x01012024, 0x00001900, 0x00203c06,
+ 0x00001503, 0x01002804, 0x00009208, 0xffffffff, 0x00007f86, 0x02002004,
+ 0x00009b00, 0x00072808, 0x0000e502, 0x01004008, 0x00008900, 0x81c02c07,
+ 0x00001890, 0x83d02207, 0x00009010, 0x00001f2e, 0x0000f008, 0xcc467a0f,
+ 0x0000f89b, 0x90c00000, 0x00008f89, 0x01c00c07, 0x00009081, 0x00003c07,
+ 0x00009583, 0x00001f0b, 0x00007013, 0x83fff801, 0x00009980, 0x03000c0c,
+ 0x00009081, 0xab7ffa0f, 0x00007893, 0x00c00003, 0x00008080, 0x04206813,
+ 0x00006087, 0x08001aa4, 0x00003106, 0x2b000000, 0x0000f900, 0x0000c0c0,
+ 0x00008980, 0xe9300600, 0x0000e101, 0x86206013, 0x0000e087, 0x298c1800,
+ 0x0000f900, 0x00198f26, 0x00000980, 0x29c3c800, 0x0000f900, 0x003ec9b2,
+ 0x00000980, 0xa9381400, 0x00008a14, 0x1f431bde, 0x0000f500, 0x28f89711,
+ 0x00008a08, 0x28414713, 0x00008ab1, 0x0000040d, 0x00001583, 0xb9186b0d,
+ 0x0000e108, 0x01000000, 0x00004990, 0x81280500, 0x00006110, 0x01b00004,
+ 0x00004990, 0x700040ec, 0x0000d690, 0x00382544, 0x00008008, 0x700000ec,
+ 0x00005690, 0x00000000, 0x00008080, 0xc191722e, 0x00001910, 0x700000ec,
+ 0x00005690, 0x00000000, 0x00008080, 0x00000000, 0x0000f088, 0x700040ec,
+ 0x00005680, 0x003837c0, 0x00000078, 0x00c002ec, 0x0000df80, 0x11daa00b,
+ 0x00009684, 0xb9186b0d, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x083f2fe5, 0x00008204, 0x01000000, 0x00006181, 0x088728e5,
+ 0x0000c900, 0x00001c04, 0x00001583, 0x02003807, 0x00009908, 0x00001f71,
+ 0x00007009, 0x00001c04, 0x00001583, 0x00001f66, 0x0000701b, 0x00000c04,
+ 0x00009583, 0x0200f01e, 0x00009908, 0x00001f71, 0x00007009, 0x00001404,
+ 0x00009583, 0x02003006, 0x00009908, 0x00001f71, 0x00007009, 0x00001f6f,
+ 0x00007000, 0x00002c04, 0x00001583, 0x02009012, 0x00009908, 0x00001f71,
+ 0x00007009, 0x00002c04, 0x00001583, 0x02009813, 0x00001928, 0x00001f71,
+ 0x0000f029, 0x00003404, 0x00001583, 0x02008811, 0x00009908, 0x00001f71,
+ 0x00007009, 0x0200f81f, 0x00001900, 0xffffffff, 0x00007f86, 0x01404008,
+ 0x00001b00, 0x00072805, 0x00006502, 0x02002805, 0x00008900, 0x01000c04,
+ 0x00001089, 0x00001f78, 0x00007011, 0xdf003c04, 0x0000788b, 0xd0c00000,
+ 0x00000f8a, 0x81002c04, 0x00009880, 0x82104204, 0x00009000, 0x80067a08,
+ 0x00001582, 0x00001f7d, 0x00007033, 0x823ff801, 0x00001980, 0x02400000,
+ 0x00009981, 0xfa3ffa08, 0x0000f88b, 0x00c00003, 0x00008080, 0xffffffff,
+ 0x00007f86, 0x8a385c08, 0x0000a080, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0x01003c0b, 0x00001281, 0x00000c04, 0x00009583, 0x8100fa08,
+ 0x00006290, 0x81402a08, 0x00000790, 0x011027e4, 0x00009810, 0x00001fa0,
+ 0x0000f008, 0x00000405, 0x00006583, 0x010020e5, 0x00000400, 0x07c0f804,
+ 0x00001208, 0x00001fb7, 0x00007009, 0x00000c05, 0x00001583, 0x0780f004,
+ 0x00001208, 0x00001fb7, 0x00007009, 0x00001405, 0x00001583, 0x0740e804,
+ 0x00001208, 0x00001fb7, 0x00007009, 0x00001c05, 0x00009583, 0x0700e004,
+ 0x00001208, 0x00001fb7, 0x00007009, 0x00002405, 0x00001583, 0x04c09804,
+ 0x00001208, 0x00001fb7, 0x00007009, 0x00002c05, 0x00009583, 0x04809004,
+ 0x00001208, 0x00001fb7, 0x00007009, 0x00001fb7, 0x0000f400, 0x00003405,
+ 0x00009583, 0x04408804, 0x00001208, 0x00004c09, 0x00009583, 0x01801c09,
+ 0x000062b1, 0x01000000, 0x000009b0, 0x01801c06, 0x000060b0, 0x38410404,
+ 0x000040b1, 0x00001fb0, 0x0000f018, 0x0107f800, 0x00009980, 0x01003004,
+ 0x00001800, 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01400200,
+ 0x0000f904, 0x0107fa08, 0x0000e280, 0x01402005, 0x00000200, 0x01803004,
+ 0x00009800, 0x01803005, 0x00009300, 0x10003400, 0x00007904, 0x02400c09,
+ 0x00006081, 0x00104004, 0x00002186, 0x1fb522e7, 0x0000f500, 0x04111804,
+ 0x00006987, 0x01402004, 0x00009900, 0x0000200b, 0x0000ec04, 0x8a385c08,
+ 0x00002880, 0x82000a08, 0x00009080, 0x80068208, 0x00009582, 0x01800000,
+ 0x00006191, 0x81002a08, 0x00004790, 0x8200fa08, 0x00006290, 0x01602404,
+ 0x00000911, 0x00001fe8, 0x0000f008, 0x00000405, 0x00006583, 0x011047e4,
+ 0x00008800, 0x010022ec, 0x00001100, 0x00001fe5, 0x00007019, 0x00001c06,
+ 0x00009583, 0x01c0e01c, 0x00009908, 0x00001fd8, 0x00007009, 0x00001c06,
+ 0x00009583, 0x00001fce, 0x0000f01b, 0x00000c06, 0x00001583, 0x01c0f01e,
+ 0x00009908, 0x00001fd8, 0x00007009, 0x00001406, 0x00001583, 0x01c0e81d,
+ 0x00009908, 0x00001fd8, 0x00007009, 0x00001fd7, 0x00007000, 0x00002c06,
+ 0x00009583, 0x01c09012, 0x00009908, 0x00001fd8, 0x00007009, 0x00002c06,
+ 0x00009583, 0x01c09813, 0x00001928, 0x00001fd8, 0x0000f029, 0x00003406,
+ 0x00009583, 0x01c08811, 0x00009908, 0x00001fd8, 0x00007009, 0x01c0f81f,
+ 0x00001900, 0x00203405, 0x00009503, 0x01c02007, 0x00001208, 0xffffffff,
+ 0x00007f86, 0x02003807, 0x00009b00, 0x00072808, 0x0000e502, 0x01c04008,
+ 0x00008900, 0x81802c06, 0x00001890, 0x82103a06, 0x00009010, 0x00001fe5,
+ 0x00007008, 0xfa067a08, 0x0000f89b, 0x00c00001, 0x00008000, 0xe03ffa08,
+ 0x00007893, 0x40c00002, 0x00008f8f, 0x01800c06, 0x00009081, 0x00403c06,
+ 0x0000c589, 0x7fe03005, 0x00007d1e, 0x86204822, 0x00006087, 0x08001aa4,
+ 0x00003106, 0x2b000000, 0x0000f900, 0x0000c0c0, 0x00008980, 0x29933000,
+ 0x00007900, 0x00198f26, 0x00000980, 0x29fb4800, 0x0000f900, 0x00007fea,
+ 0x00008980, 0xa9200500, 0x00008a12, 0x29790702, 0x00000a0c, 0x1ff51bde,
+ 0x00007500, 0x28b91721, 0x00000a04, 0xab016800, 0x00009980, 0x00000001,
+ 0x0000f080, 0x01000000, 0x00009980, 0x01400000, 0x00001980, 0x01800000,
+ 0x00001980, 0x01c00000, 0x00009980, 0x02000000, 0x00009980, 0x02400000,
+ 0x00001980, 0x02800000, 0x00001980, 0x02c00000, 0x00009980, 0x03000000,
+ 0x00001980, 0x03400000, 0x00009980, 0x03800000, 0x00009980, 0x03c00000,
+ 0x00001980, 0x04000000, 0x00009980, 0x04400000, 0x00001980, 0x04800000,
+ 0x00001980, 0x04c00000, 0x00009980, 0x05000000, 0x00001980, 0x05400000,
+ 0x00009980, 0x05800000, 0x00009980, 0x05c00000, 0x00001980, 0x06000000,
+ 0x00001980, 0x06400000, 0x00009980, 0x06800000, 0x00009980, 0x06c00000,
+ 0x00001980, 0x07000000, 0x00009980, 0x07400000, 0x00001980, 0x07800000,
+ 0x00001980, 0x07c00000, 0x00009980, 0x08000000, 0x00009980, 0x08400000,
+ 0x00001980, 0x08800000, 0x00001980, 0x08c00000, 0x00009980, 0x09000000,
+ 0x00001980, 0x09400000, 0x00009980, 0x09800000, 0x00009980, 0x09c00000,
+ 0x00001980, 0x0a000000, 0x00001980, 0x0a400000, 0x00009980, 0x0a800000,
+ 0x00009980, 0x0ac00000, 0x00001980, 0x0b000000, 0x00009980, 0x0b400000,
+ 0x00001980, 0x0b800000, 0x00001980, 0x0bc00000, 0x00009980, 0x0c000000,
+ 0x00001980, 0x0c400000, 0x00009980, 0x0c800000, 0x00009980, 0x0cc00000,
+ 0x00001980, 0x0d000000, 0x00009980, 0x0d400000, 0x00001980, 0x0d800000,
+ 0x00001980, 0x0dc00000, 0x00009980, 0x0e000000, 0x00009980, 0x0e400000,
+ 0x00001980, 0x0e800000, 0x00001980, 0x0ec00000, 0x00009980, 0x0f000000,
+ 0x00001980, 0x0f400000, 0x00009980, 0x0f800000, 0x00009980, 0x0fc00000,
+ 0x00001980, 0x10000000, 0x00009980, 0x10400000, 0x00001980, 0x10800000,
+ 0x00001980, 0x10c00000, 0x00009980, 0x11000000, 0x00001980, 0x11400000,
+ 0x00009980, 0x11800000, 0x00009980, 0x11c00000, 0x00001980, 0x12000000,
+ 0x00001980, 0x12400000, 0x00009980, 0x12800000, 0x00009980, 0x12c00000,
+ 0x00001980, 0x13000000, 0x00009980, 0x13400000, 0x00001980, 0x13800000,
+ 0x00001980, 0x13c00000, 0x00009980, 0x14000000, 0x00001980, 0x14400000,
+ 0x00009980, 0x14800000, 0x00009980, 0x14c00000, 0x00001980, 0x15000000,
+ 0x00009980, 0x15400000, 0x00001980, 0x15800000, 0x00001980, 0x15c00000,
+ 0x00009980, 0x16000000, 0x00009980, 0x16400000, 0x00001980, 0x16800000,
+ 0x00001980, 0x16c00000, 0x00009980, 0x17000000, 0x00001980, 0x17400000,
+ 0x00009980, 0x17800000, 0x00009980, 0x17c00000, 0x00001980, 0x18000000,
+ 0x00001980, 0x18400000, 0x00009980, 0x18800000, 0x00009980, 0x18c00000,
+ 0x00001980, 0x19000000, 0x00009980, 0x19400000, 0x00001980, 0x19800000,
+ 0x00001980, 0x19c00000, 0x00009980, 0x1a000000, 0x00009980, 0x1a400000,
+ 0x00001980, 0x1a800000, 0x00001980, 0x1ac00000, 0x00009980, 0x1b000000,
+ 0x00001980, 0x1b400000, 0x00009980, 0x1b800000, 0x00009980, 0x1bc00000,
+ 0x00001980, 0x1c000000, 0x00009980, 0x1c400000, 0x00001980, 0x1c800000,
+ 0x00001980, 0x1cc00000, 0x00009980, 0x1d000000, 0x00001980, 0x1d400000,
+ 0x00009980, 0x1d800000, 0x00009980, 0x1dc00000, 0x00001980, 0x1e000000,
+ 0x00001980, 0x1e400000, 0x00009980, 0x1e800000, 0x00009980, 0x1ec00000,
+ 0x00001980, 0x1f000000, 0x00009980, 0x1f400000, 0x00001980, 0x1f800000,
+ 0x00001980, 0x1fc00000, 0x00009980, 0x20000000, 0x00009980, 0x20400000,
+ 0x00001980, 0x20800000, 0x00001980, 0x20c00000, 0x00009980, 0x21000000,
+ 0x00001980, 0x21400000, 0x00009980, 0x21800000, 0x00009980, 0x21c00000,
+ 0x00001980, 0x22000000, 0x00001980, 0x22400000, 0x00009980, 0x22800000,
+ 0x00009980, 0x22c00000, 0x00001980, 0x23000000, 0x00009980, 0x23400000,
+ 0x00001980, 0x23800000, 0x00001980, 0x23c00000, 0x00009980, 0x24000000,
+ 0x00001980, 0x24400000, 0x00009980, 0x24800000, 0x00009980, 0x24c00000,
+ 0x00001980, 0x25000000, 0x00009980, 0x25400000, 0x00001980, 0x25800000,
+ 0x00001980, 0x25c00000, 0x00009980, 0x26000000, 0x00009980, 0x26400000,
+ 0x00001980, 0x26800000, 0x00001980, 0x26c00000, 0x00009980, 0x27000000,
+ 0x00001980, 0x27400000, 0x00009980, 0x27800000, 0x00009980, 0x27c00000,
+ 0x00001980, 0x28000000, 0x00001980, 0x28400000, 0x00009980, 0x28800000,
+ 0x00009980, 0x28c00000, 0x00001980, 0x29000000, 0x00009980, 0x29400000,
+ 0x00001980, 0x29800000, 0x00001980, 0x29c00000, 0x00009980, 0x2a000000,
+ 0x00009980, 0x2a400000, 0x00001980, 0x2a800000, 0x00001980, 0x2ac00000,
+ 0x00009980, 0x2b000000, 0x00001980, 0x2b400000, 0x00009980, 0x2b800000,
+ 0x00009980, 0x2bc00000, 0x00001980, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0,
+ 0x00006283, 0x28800000, 0x00008981, 0x823d0eec, 0x0000a694, 0x28f71fe4,
+ 0x00009810, 0x00000001, 0x00007088, 0x00000001, 0x0000f481, 0x284508a3,
+ 0x00009202, 0x28800800, 0x00001991, 0x28800000, 0x00007900, 0x000010c4,
+ 0x00008980, 0xa9802d00, 0x00006080, 0x001d18a2, 0x00006106, 0xa8680500,
+ 0x0000e100, 0xe85812a6, 0x0000c080, 0x703d10ec, 0x00005600, 0x003d0800,
+ 0x00000000, 0x28400004, 0x00006180, 0xa81722e4, 0x00004900, 0x28800000,
+ 0x00007900, 0x00007fc0, 0x00000980, 0x822518a1, 0x0000e080, 0x001d18a2,
+ 0x0000b186, 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000, 0xabc02d00,
+ 0x00006080, 0x041710a1, 0x00006187, 0x703d10ec, 0x00005600, 0x003d0800,
+ 0x00000000, 0x00c002ec, 0x0000df80, 0x1206800b, 0x00009684, 0x20d120a4,
+ 0x0000f100, 0xb91502a0, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x28c00000, 0x0000f900, 0x000010c4, 0x00008980, 0xa8802d00,
+ 0x0000e080, 0x001d28a3, 0x0000e106, 0xa8680500, 0x0000e100, 0xe85812a2,
+ 0x00004080, 0x703d18ec, 0x0000d600, 0x003d0800, 0x00000000, 0x28400004,
+ 0x00006180, 0x290500a0, 0x00004900, 0x28c00000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0x822528a1, 0x0000e080, 0x001d28a3, 0x00003186, 0x703d20ec,
+ 0x00005600, 0x003d3000, 0x00008000, 0xe89722e4, 0x00006100, 0x041710a1,
+ 0x00006187, 0x703d18ec, 0x0000d600, 0x003d0800, 0x00000000, 0xabc02d00,
+ 0x00001880, 0x00c002ec, 0x0000df80, 0x1207580b, 0x00001684, 0x20ec20a4,
+ 0x00007100, 0xb91d13a2, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x2038a2ec, 0x00002080, 0x04209fe4, 0x00001800, 0xffffffff,
+ 0x00007f97, 0x0400a010, 0x00009202, 0x2b000000, 0x00007910, 0x0000c0c0,
+ 0x00008980, 0xab001800, 0x00006190, 0xe9300600, 0x00004911, 0x00000001,
+ 0x00007088, 0x29990000, 0x00007900, 0x0019b31e, 0x00008980, 0x29d7f800,
+ 0x0000f900, 0x0019b31e, 0x00008980, 0xa9280500, 0x00006101, 0x08001aa4,
+ 0x00006106, 0x00001bde, 0x00007400, 0x29789f02, 0x00000a0c, 0x28789711,
+ 0x00000a08, 0xc11722e4, 0x00006100, 0x86400ee3, 0x0000c880, 0x86bb6419,
+ 0x00003038, 0x86bb7619, 0x00003038, 0xffffffff, 0x00007f97, 0x4780246d,
+ 0x0000c388, 0x0040246d, 0x00008098, 0x3cc0146d, 0x0000c488, 0xd640146d,
+ 0x0000889b, 0x00800c6d, 0x00004788, 0x9920346d, 0x00008a8b, 0x2c20346d,
+ 0x0000c5a9, 0x17c03c6d, 0x00001988, 0x867f1fe3, 0x0000e100, 0x01c00000,
+ 0x00004981, 0x8a384c19, 0x00002080, 0x02000000, 0x00009980, 0x421719e3,
+ 0x00000022, 0xffffffff, 0x00007f86, 0x06403c09, 0x00006281, 0x08004e08,
+ 0x00002004, 0x00001c19, 0x0000e583, 0x06400000, 0x00008981, 0x01803c09,
+ 0x00006283, 0x01c00800, 0x00008991, 0x06400800, 0x00001991, 0xffffffff,
+ 0x00007f86, 0x4260c807, 0x0000c914, 0x984004e3, 0x00008893, 0x28c09800,
+ 0x00007900, 0x00001000, 0x00000980, 0x293b776f, 0x00000a14, 0xffffffff,
+ 0x00007f86, 0x212320ba, 0x0000f004, 0x000004a2, 0x00001583, 0x867f1fe3,
+ 0x00001908, 0x8a00cc19, 0x0000a088, 0x0000212c, 0x0000f010, 0xffffffff,
+ 0x00007f97, 0x06403c19, 0x00001281, 0x06401419, 0x00001181, 0x00000c19,
+ 0x00009583, 0x00002131, 0x0000701b, 0x268a0800, 0x00007900, 0x0016268e,
+ 0x00008980, 0x21311c67, 0x00007500, 0x267b7f6e, 0x00000920, 0x26e514a2,
+ 0x00001900, 0xffffffff, 0x00007f86, 0x867f17e2, 0x0000e100, 0x03c00000,
+ 0x00004980, 0x97787019, 0x0000a080, 0x3040c6af, 0x0000f902, 0x05c00000,
+ 0x00000000, 0x300084af, 0x00007902, 0x02800000, 0x00000000, 0x3040dcaf,
+ 0x00007902, 0x06800000, 0x00008000, 0x0000040e, 0x0000e583, 0x03e8750e,
+ 0x00008901, 0x3080a2af, 0x00007902, 0x04c00000, 0x00008000, 0x43e0bc17,
+ 0x00009901, 0x00002151, 0x0000f008, 0x4020bd0e, 0x00001503, 0x8030be0e,
+ 0x0000150b, 0x01000000, 0x0000f910, 0x0000c040, 0x00000980, 0x01800000,
+ 0x0000e190, 0x01c00000, 0x00004990, 0x00002151, 0x0000f008, 0x0362c000,
+ 0x00007900, 0x0016268e, 0x00008980, 0x03a33000, 0x0000f900, 0x00081b88,
+ 0x00000980, 0x81007000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500,
+ 0x00008026, 0x0238170f, 0x0000802c, 0x21511bb2, 0x0000f100, 0x97007cec,
+ 0x0000f902, 0x03800000, 0x00008000, 0x04400000, 0x00001980, 0x4470d61a,
+ 0x00009901, 0xffffffff, 0x00007f86, 0x04607c0f, 0x00001901, 0x0000050f,
+ 0x00007888, 0x00000000, 0x00000000, 0x5770d40f, 0x0000780a, 0x01000001,
+ 0x00000060, 0x0200080e, 0x00004588, 0x8460050f, 0x00008196, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0363b800, 0x0000f900, 0x0016268e,
+ 0x00008980, 0x03807000, 0x0000f900, 0x000d902c, 0x00008980, 0x01800000,
+ 0x00006180, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x00002150, 0x00007400, 0x82781400, 0x0000802c, 0x81006800,
+ 0x0000e180, 0x02008811, 0x00004900, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0363c800, 0x00007900, 0x0016268e, 0x00008980, 0x03b64000,
+ 0x0000f900, 0x0023f9a8, 0x00008980, 0x02000000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x01800000, 0x000080dc, 0x00002150, 0x00007400, 0x82600500,
+ 0x00008026, 0x81001000, 0x0000e180, 0x02c01002, 0x00004900, 0x04400000,
+ 0x0000f900, 0x000040c0, 0x00000980, 0x03c00002, 0x0000e180, 0x04800000,
+ 0x00004980, 0xc3e80500, 0x0000e100, 0x06400180, 0x0000c980, 0x84445500,
+ 0x0000f900, 0x00000002, 0x00000080, 0x0640a002, 0x00006780, 0x0000c812,
+ 0x0000a206, 0x743888ec, 0x00005600, 0x00387800, 0x00008000, 0x4510c812,
+ 0x00006907, 0x743890ec, 0x00005600, 0x00080000, 0x00000080, 0x00c002ec,
+ 0x0000df80, 0x120c480b, 0x00001684, 0x86680500, 0x0000e100, 0x04400000,
+ 0x00004980, 0x88a08c19, 0x00002080, 0xffffffff, 0x00007fa7, 0x08008a19,
+ 0x0000e900, 0x80000219, 0x00001582, 0x86680500, 0x00001908, 0x8880cc19,
+ 0x00002089, 0x00002195, 0x00007010, 0xffffffff, 0x00007f97, 0x03007419,
+ 0x00001283, 0x000021a1, 0x0000f00b, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0367c800, 0x0000f900, 0x00162690, 0x00008980, 0x03b31000,
+ 0x0000f900, 0x00345b60, 0x00008980, 0xc2700600, 0x00006101, 0x08001a09,
+ 0x0000e106, 0x82781400, 0x0000802c, 0x00002150, 0x00007400, 0x02388f12,
+ 0x00008018, 0x4100002b, 0x000080dc, 0x00000c17, 0x0000e583, 0x03000000,
+ 0x00008980, 0x03800000, 0x0000e180, 0x0000200c, 0x0000658f, 0x8620b80c,
+ 0x0000e08f, 0x0418a00e, 0x0000318f, 0x86771ee3, 0x0000e100, 0x03c09813,
+ 0x0000c900, 0x2ab87219, 0x0000d004, 0x00386000, 0x00008000, 0x0338df10,
+ 0x00008024, 0x0438bf14, 0x00000034, 0x03b86718, 0x0000010c, 0x21b11cca,
+ 0x00007500, 0x0538871a, 0x0000802c, 0x02b8570f, 0x00000030, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x82c044ec, 0x0000f902, 0x01800000,
+ 0x00008604, 0x86771ee3, 0x0000e100, 0x02636c6d, 0x00004901, 0x85b83419,
+ 0x00002000, 0x024b6d6d, 0x00008024, 0x82904208, 0x00001900, 0x85b84419,
+ 0x00002080, 0x80000606, 0x00009583, 0x000021c2, 0x00007213, 0xc2984308,
+ 0x00001910, 0xc2903206, 0x00009900, 0x023b670a, 0x0000860c, 0x18804809,
+ 0x00006100, 0x0000200a, 0x00006586, 0x18404008, 0x00006100, 0x042b680a,
+ 0x00006087, 0x8623680a, 0x00006887, 0x228a1c89, 0x00007500, 0x2804e800,
+ 0x00007900, 0x0016268e, 0x00008980, 0x1800500a, 0x00009900, 0x21cf20ba,
+ 0x0000f404, 0x297b7f6e, 0x00000a10, 0x28c09a00, 0x00001980, 0x000004a2,
+ 0x00001583, 0x867f1fe3, 0x00001908, 0x8a00cc19, 0x0000a088, 0x000021d8,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x06403c19, 0x00001281, 0x06401419,
+ 0x00001181, 0x00000c19, 0x00009583, 0x000021dd, 0x0000f01b, 0x26a5d000,
+ 0x0000f900, 0x0016268e, 0x00008980, 0x21dd1c67, 0x0000f500, 0x267b7f6e,
+ 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x30004caf, 0x0000f902, 0x02000000,
+ 0x00008000, 0x303836af, 0x00002000, 0x0000223a, 0x00007403, 0x02784f08,
+ 0x00008028, 0x01c03006, 0x00001900, 0x02000000, 0x0000e180, 0x867f1fe3,
+ 0x0000c900, 0x00002258, 0x0000f400, 0x8a384c19, 0x00002080, 0x023f1fe3,
+ 0x00009901, 0x21ee20ba, 0x0000f404, 0x297b7f6e, 0x00000a10, 0x28c09a00,
+ 0x00001980, 0x000004a2, 0x00001583, 0x867f1fe3, 0x00001908, 0x8a00cc19,
+ 0x0000a088, 0x000021f7, 0x0000f010, 0xffffffff, 0x00007f97, 0x06403c19,
+ 0x00001281, 0x06401419, 0x00001181, 0x00000c19, 0x00009583, 0x000021fc,
+ 0x0000f01b, 0x2684b000, 0x0000f900, 0x00162690, 0x00008980, 0x21fc1c67,
+ 0x0000f500, 0x267b7f6e, 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x30383caf,
+ 0x0000a080, 0x02000000, 0x00009980, 0x42371ee3, 0x00001901, 0xffffffff,
+ 0x00007f86, 0x06408407, 0x00006081, 0x02008407, 0x00000081, 0x01c00000,
+ 0x00006181, 0x8660cc19, 0x0000c900, 0x8a384c19, 0x00002080, 0xffffffff,
+ 0x00007fa7, 0x06403c09, 0x00006281, 0x08004e08, 0x00002004, 0x00001c19,
+ 0x0000e583, 0x06400000, 0x00008981, 0x01803c09, 0x00006283, 0x01c00800,
+ 0x00008991, 0x06400800, 0x00001991, 0xffffffff, 0x00007f86, 0x01a0cc07,
+ 0x00001203, 0x00002220, 0x0000f00b, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0348f800, 0x00007900, 0x0016268e, 0x00008980, 0x03863800,
+ 0x0000f900, 0x003a7d3e, 0x00000980, 0x01800000, 0x00006180, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x00002150,
+ 0x00007400, 0x82781400, 0x0000802c, 0x81005800, 0x00009980, 0x222320ba,
+ 0x00007404, 0x297b7f6e, 0x00000a10, 0x28c09a00, 0x00001980, 0x000004a2,
+ 0x00001583, 0x867f1fe3, 0x00001908, 0x8a00cc19, 0x0000a088, 0x0000222c,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x06403c19, 0x00001281, 0x06401419,
+ 0x00001181, 0x00000c19, 0x00009583, 0x00002231, 0x0000701b, 0x26a5d000,
+ 0x0000f900, 0x0016268e, 0x00008980, 0x22311c67, 0x00007500, 0x267b7f6e,
+ 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x30003caf, 0x00007902, 0x02400000,
+ 0x00000000, 0x303836af, 0x00002000, 0xffffffff, 0x00007f97, 0x02803807,
+ 0x00009900, 0x01c03006, 0x00001900, 0x21b11d37, 0x0000f100, 0x000021b1,
+ 0x0000f000, 0x223f20ba, 0x0000f404, 0x297b7f6e, 0x00000a10, 0x28c09900,
+ 0x00001980, 0x000004a2, 0x00001583, 0x867f1fe3, 0x00001908, 0x8a00cc19,
+ 0x0000a088, 0x00002248, 0x00007010, 0xffffffff, 0x00007f97, 0x06403c19,
+ 0x00001281, 0x06401419, 0x00001181, 0x00000c19, 0x00009583, 0x0000224d,
+ 0x0000f01b, 0x26860000, 0x0000f900, 0x00162690, 0x00008980, 0x224d1c67,
+ 0x0000f500, 0x267b7f6e, 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x30383caf,
+ 0x0000a080, 0x02000000, 0x00009980, 0xffffffff, 0x00007f97, 0x06408407,
+ 0x00006081, 0xf8c08407, 0x00000081, 0x02008407, 0x00006081, 0x8660cc19,
+ 0x00000900, 0x8a384c19, 0x00002080, 0x42371ee3, 0x00001901, 0xffffffff,
+ 0x00007f97, 0x06403c09, 0x00006281, 0x08004e08, 0x00002004, 0x00000c19,
+ 0x00009583, 0x01000000, 0x0000f910, 0x0000c040, 0x00000980, 0x01800000,
+ 0x0000e190, 0x01c00000, 0x00004990, 0x0000226b, 0x0000f008, 0x036b0800,
+ 0x0000f900, 0x0016268e, 0x00008980, 0x03a2c800, 0x0000f900, 0x0008bad4,
+ 0x00008980, 0x81006000, 0x00006180, 0x08001a09, 0x0000e106, 0x00002150,
+ 0x00007400, 0x82600500, 0x00008026, 0x02c01002, 0x00001900, 0x21b11dae,
+ 0x0000f004, 0x000021b1, 0x0000f000, 0x227120ba, 0x0000f404, 0x28c09800,
+ 0x00007900, 0x00001000, 0x00000980, 0x293b776f, 0x00000a14, 0x000004a2,
+ 0x00001583, 0x867f1fe3, 0x00001908, 0x8a00cc19, 0x0000a088, 0x0000227a,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x06403c19, 0x00001281, 0x06401419,
+ 0x00001181, 0x00000c19, 0x00009583, 0x0000227f, 0x0000701b, 0x26a71000,
+ 0x00007900, 0x0016268e, 0x00008980, 0x227f1c67, 0x00007500, 0x267b7f6e,
+ 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x30384caf, 0x0000a000, 0x30783eaf,
+ 0x00002000, 0xffffffff, 0x00007f97, 0xc0000709, 0x00009583, 0x000021b1,
+ 0x00007400, 0x86771ee3, 0x00001910, 0x97a03819, 0x00002810, 0x228a1d94,
+ 0x00007100, 0x1a009000, 0x00007900, 0x00008100, 0x00008980, 0x1a400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x200ba6ec, 0x00005680, 0x003b2449,
+ 0x0000bf10, 0x1a800702, 0x000006ac, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x0090d0ec, 0x00005780, 0x00006000,
+ 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0xb9182304, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x03440000,
+ 0x0000f900, 0x0016268e, 0x00008980, 0x03ba9000, 0x00007900, 0x0016f7fa,
+ 0x00008980, 0x0203606c, 0x00006100, 0x08001a09, 0x0000e106, 0x0180076d,
+ 0x0000009c, 0x00002150, 0x00007400, 0x82600500, 0x00008026, 0x81002800,
+ 0x00006180, 0x02c01002, 0x00004900, 0x07000000, 0x000001e8, 0x06c00000,
+ 0x00006180, 0x05002004, 0x0000c900, 0x05783705, 0x00000118, 0x05f84707,
+ 0x00000120, 0x06782709, 0x00000210, 0x08783705, 0x00008200, 0x07f84707,
+ 0x00008138, 0x22b41e83, 0x00007404, 0x07605709, 0x00008130, 0x8690520a,
+ 0x00009900, 0x04009000, 0x00007900, 0x0000c1c0, 0x00000980, 0x04400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x100000ec, 0x0000d680, 0x00000000,
+ 0x00008080, 0x04c00000, 0x000081c8, 0x009826ec, 0x00005f80, 0x00006000,
+ 0x00000084, 0x02c00000, 0x000001e8, 0x06c00000, 0x00006180, 0x05002004,
+ 0x0000c900, 0x05783705, 0x00000118, 0x05f84707, 0x00000120, 0x06782709,
+ 0x00000104, 0x04383705, 0x0000803c, 0x03b84707, 0x00000034, 0x22c81dce,
+ 0x0000f500, 0x03205709, 0x0000802c, 0x8690520a, 0x00009900, 0x04009000,
+ 0x00007900, 0x0000c200, 0x00000980, 0x04400000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x100008ec, 0x00005680, 0x00000000, 0x00008080, 0x04c00000,
+ 0x000081c8, 0x009826ec, 0x00005f80, 0x00006000, 0x00000084, 0x05382704,
+ 0x0000813c, 0x01000000, 0x000081c4, 0x99c024ec, 0x0000a080, 0x06800000,
+ 0x000081ec, 0x99f0d4ec, 0x00002081, 0x05783705, 0x00000118, 0x05f84707,
+ 0x00000120, 0x06782f09, 0x00008138, 0x07783f06, 0x00000130, 0x04f84f08,
+ 0x00000108, 0x22de1f57, 0x0000f500, 0x0460540a, 0x00008128, 0x08c02004,
+ 0x00001900, 0x04009000, 0x00007900, 0x0000c380, 0x00000980, 0x04400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x100010ec, 0x00005680, 0x00000000,
+ 0x00008080, 0x04c00000, 0x000081c8, 0x009826ec, 0x00005f80, 0x00006000,
+ 0x00000084, 0x01801000, 0x0000e180, 0x098a1880, 0x00004980, 0x8a083405,
+ 0x0000a002, 0x09080000, 0x00009980, 0x22ee1db8, 0x00007501, 0xffffffff,
+ 0x00007f86, 0x09403006, 0x00001900, 0x00000001, 0x00007280, 0x780000ec,
+ 0x00005680, 0x00000000, 0x00008080, 0x028728e5, 0x0000e100, 0x0fc0040c,
+ 0x00006004, 0xc18004e5, 0x000000ac, 0x00001c0c, 0x00009583, 0x00001c0c,
+ 0x00009583, 0x00000c0c, 0x00001583, 0x0000230e, 0x00007008, 0x000022fc,
+ 0x00007038, 0x00002303, 0x0000f008, 0x05002306, 0x00004588, 0x90c03306,
+ 0x00000292, 0x0000340c, 0x00009583, 0x00003c0c, 0x00001583, 0xffffffff,
+ 0x00007f86, 0x00002307, 0x00007008, 0x0000230e, 0x00007008, 0x04202306,
+ 0x0000c589, 0x10403306, 0x00000197, 0x0000231b, 0x0000f400, 0x08000c07,
+ 0x0000e080, 0x08001a0a, 0x0000b106, 0xc1801e07, 0x0000802e, 0x08000c06,
+ 0x00006080, 0x08001a0a, 0x0000b106, 0xc1a81e06, 0x0000802c, 0x0d001c06,
+ 0x0000e806, 0x81a03406, 0x00001900, 0x02c02306, 0x0000c588, 0x8fa03306,
+ 0x00008191, 0x82d81b03, 0x0000e100, 0x08000c06, 0x00006080, 0xc1a83e06,
+ 0x0000002c, 0x01830400, 0x00009281, 0x00010406, 0x00001583, 0x08003a0a,
+ 0x0000690e, 0x00002319, 0x0000f009, 0x00020406, 0x00001583, 0x08001a0a,
+ 0x0000610e, 0x08002c06, 0x00003088, 0xc1a03406, 0x00001908, 0x0d003c06,
+ 0x00006806, 0x81a03406, 0x00001900, 0x0d001c07, 0x00006806, 0xc2a03c07,
+ 0x00009900, 0x64402306, 0x00004988, 0x0c403306, 0x00008990, 0x01c00800,
+ 0x00009981, 0xffffffff, 0x00007f86, 0x00002323, 0x0000f000, 0x01c00000,
+ 0x00001981, 0x9940ceec, 0x0000f902, 0x06000000, 0x00000000, 0x9980b8ec,
+ 0x00007902, 0x05800000, 0x00008000, 0x9980aaec, 0x00007902, 0x05000000,
+ 0x00000000, 0x99809cec, 0x00007902, 0x04800000, 0x00000000, 0x99808eec,
+ 0x00007902, 0x04000000, 0x00008000, 0x99c078ec, 0x0000f902, 0x03800000,
+ 0x00008000, 0x74c00407, 0x00004188, 0x00400c07, 0x00000090, 0xe0000d0b,
+ 0x0000f896, 0x01000001, 0x00000000, 0xe0c00f0b, 0x00007896, 0x01000001,
+ 0x00000000, 0xe180150b, 0x0000f896, 0x01000001, 0x00000000, 0xe240170b,
+ 0x00007896, 0x01000001, 0x00000000, 0xe300250b, 0x0000f896, 0x01000001,
+ 0x00000000, 0xe3c0270b, 0x00007896, 0x01000001, 0x00000000, 0xe480450b,
+ 0x0000f896, 0x01000001, 0x00000000, 0xe540470b, 0x0000f896, 0x01000001,
+ 0x00000000, 0x7300850b, 0x0000c496, 0x3840870b, 0x00008897, 0x0ba1050b,
+ 0x0000c597, 0x8621070b, 0x00008688, 0xd6400d0b, 0x00007896, 0x01000001,
+ 0x00000000, 0xd7000f0b, 0x0000f896, 0x01000001, 0x00000000, 0xd7c0150b,
+ 0x00007896, 0x01000001, 0x00000000, 0xd880170b, 0x00007896, 0x01000001,
+ 0x00000000, 0xd940250b, 0x00007896, 0x01000001, 0x00000000, 0xda00270b,
+ 0x00007896, 0x01000001, 0x00000000, 0xdac0450b, 0x0000f896, 0x01000001,
+ 0x00000000, 0xdb80470b, 0x00007896, 0x01000001, 0x00000000, 0x6e20850b,
+ 0x00004496, 0xea40870b, 0x00000896, 0x0441050b, 0x00004597, 0x04e1070b,
+ 0x0000028b, 0x00002347, 0x0000f400, 0x80172a19, 0x00009502, 0x86400a19,
+ 0x00001090, 0x00002349, 0x00007400, 0x80172a16, 0x00009502, 0x85800a16,
+ 0x00001090, 0x0000234b, 0x0000f400, 0xc0172b19, 0x00009502, 0xc6400b19,
+ 0x00001090, 0x0000234d, 0x0000f400, 0xc0172b16, 0x00009502, 0xc5800b16,
+ 0x00001090, 0x0000234f, 0x00007400, 0x80172a18, 0x00001502, 0x86000a18,
+ 0x00001090, 0x00002351, 0x00007400, 0x80172a15, 0x00009502, 0x85400a15,
+ 0x00001090, 0x00002353, 0x0000f400, 0xc0172b18, 0x00001502, 0xc6000b18,
+ 0x00001090, 0x00002355, 0x0000f400, 0xc0172b15, 0x00009502, 0xc5400b15,
+ 0x00001090, 0x80172a17, 0x00001502, 0xc1c0870b, 0x00006283, 0x85c00a17,
+ 0x00008090, 0x00002377, 0x0000f00b, 0x80172a14, 0x00001502, 0x85000a14,
+ 0x00001090, 0x41c1050b, 0x00009283, 0x0000237b, 0x0000f00b, 0xc0172b17,
+ 0x00001502, 0xc5c00b17, 0x00001090, 0xc1c1070b, 0x00009283, 0x000023a6,
+ 0x0000f00b, 0x000023a6, 0x0000f400, 0xc0172b14, 0x00001502, 0xc5000b14,
+ 0x00001090, 0x00002333, 0x0000f400, 0x80172a13, 0x00009502, 0x84c00a13,
+ 0x00001090, 0x00002335, 0x0000f400, 0x80172a10, 0x00009502, 0x84000a10,
+ 0x00001090, 0x00002337, 0x00007400, 0xc0172b13, 0x00009502, 0xc4c00b13,
+ 0x00001090, 0x00002339, 0x0000f400, 0xc0172b10, 0x00009502, 0xc4000b10,
+ 0x00001090, 0x0000233b, 0x00007400, 0x80172a12, 0x00001502, 0x84800a12,
+ 0x00001090, 0x0000233d, 0x00007400, 0x80172a0f, 0x00001502, 0x83c00a0f,
+ 0x00001090, 0x0000233f, 0x0000f400, 0xc0172b12, 0x00001502, 0xc4800b12,
+ 0x00001090, 0x00002341, 0x0000f400, 0xc0172b0f, 0x00001502, 0xc3c00b0f,
+ 0x00001090, 0x80172a11, 0x00001502, 0xc1c0870b, 0x00006283, 0x84400a11,
+ 0x00008090, 0x0000239e, 0x0000700b, 0x80172a0e, 0x00009502, 0x83800a0e,
+ 0x00001090, 0x41c1050b, 0x00009283, 0x000023a2, 0x0000700b, 0xc0172b11,
+ 0x00001502, 0xc4400b11, 0x00001090, 0xc1c1070b, 0x00009283, 0x000023a6,
+ 0x0000f00b, 0xc0172b0e, 0x00009502, 0xc3800b0e, 0x00001090, 0x80172a06,
+ 0x00001502, 0x9978ceec, 0x00005000, 0x0038c000, 0x00008000, 0x99b8b8ec,
+ 0x0000d000, 0x0038b000, 0x00000000, 0x99b8aaec, 0x0000d000, 0x0038a000,
+ 0x00008000, 0x99b89cec, 0x0000d000, 0x00389000, 0x00008000, 0x99b88eec,
+ 0x0000d000, 0x00388000, 0x00000000, 0x99f878ec, 0x00005000, 0x00387000,
+ 0x00000000, 0x01c02004, 0x0000e108, 0x08004a04, 0x0000e110, 0x01c04008,
+ 0x00009910, 0x08002a04, 0x00006908, 0x00402306, 0x00004589, 0x80e03306,
+ 0x0000018f, 0x02400800, 0x00007900, 0x00100000, 0x00000980, 0x200f26ec,
+ 0x00005680, 0x00383d09, 0x0000bf10, 0x09800000, 0x00007900, 0x00001004,
+ 0x00008980, 0x23c31db8, 0x00007500, 0x09401000, 0x00006180, 0x45102009,
+ 0x0000e101, 0x09000000, 0x00001980, 0x000023dd, 0x0000f200, 0x783848ec,
+ 0x00005600, 0x00000000, 0x00008080, 0x0f800702, 0x000003bc, 0x0000183f,
+ 0x00006906, 0x0f001000, 0x00007900, 0x00004000, 0x00000980, 0x0f420000,
+ 0x0000f900, 0x00040000, 0x00000980, 0xc000183f, 0x0000e806, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008878ec,
+ 0x0000d780, 0x00005800, 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x000023dd, 0x00007000, 0x01000020,
+ 0x00006180, 0x02000000, 0x0000c980, 0x036a9000, 0x0000f900, 0x0033c8e4,
+ 0x00000980, 0x0000240c, 0x00007400, 0x01800000, 0x000080dc, 0x81001000,
+ 0x00009980, 0x98b828ec, 0x00002080, 0xffffffff, 0x00007fa7, 0x00010405,
+ 0x00001583, 0xc0172b0a, 0x0000e502, 0xa000000b, 0x00002408, 0x00000000,
+ 0x0000f08b, 0x7d60250b, 0x00004496, 0xd640270b, 0x00008897, 0x80a0130a,
+ 0x0000c388, 0x0040130a, 0x00008098, 0x0240030a, 0x00004790, 0x8180230a,
+ 0x0000818d, 0x0040230a, 0x0000f8ab, 0xe1000000, 0x0000918f, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x01c00000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x03527000, 0x0000f900, 0x0028e40e, 0x00000980, 0x03a0f800,
+ 0x00007900, 0x003ab282, 0x00008980, 0x0220550a, 0x00008020, 0x82600500,
+ 0x00008026, 0x81016000, 0x0000e180, 0x01e05c0b, 0x0000c901, 0x02c01002,
+ 0x00001900, 0x23f91bb2, 0x0000f100, 0xc0000b0a, 0x00001582, 0x00000000,
+ 0x0000f093, 0x00002400, 0x0000f000, 0xc0003b0a, 0x00001582, 0x00000000,
+ 0x0000f093, 0x00002403, 0x0000f000, 0x24000fe6, 0x0000f100, 0x240118c1,
+ 0x00007100, 0x24023d69, 0x00007100, 0x24033827, 0x0000f100, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0x2406414b, 0x00007100, 0x01000020,
+ 0x00006180, 0x02000000, 0x0000c980, 0x03533800, 0x00007900, 0x00320dd8,
+ 0x00008980, 0x01800000, 0x000080dc, 0x81001000, 0x00009980, 0x039ed000,
+ 0x0000f900, 0x0016e9b4, 0x00008980, 0xc1001800, 0x00006181, 0x08001a09,
+ 0x0000e106, 0x000023f8, 0x00007400, 0x82600500, 0x00008026, 0x02c01002,
+ 0x00001900, 0x81000ee3, 0x0000e080, 0x0ac00000, 0x00004980, 0x86bcc404,
+ 0x0000b038, 0x86bcd604, 0x0000b038, 0x200f26ec, 0x00005680, 0x003b2509,
+ 0x0000bf10, 0x81371ee3, 0x0000e100, 0x25c00000, 0x0000c980, 0x85b82c04,
+ 0x0000a080, 0x01000002, 0x00006180, 0x0000182b, 0x0000e106, 0x27000000,
+ 0x00006180, 0x00001897, 0x00006106, 0x0a001000, 0x00007900, 0x00030000,
+ 0x00008980, 0xc1202c05, 0x00006100, 0xc000182b, 0x00006006, 0x0a505800,
+ 0x00007900, 0x00047ed0, 0x00008980, 0x25009000, 0x00007900, 0x0000c540,
+ 0x00000980, 0x25401000, 0x00007900, 0x0001c008, 0x00008980, 0x27400000,
+ 0x0000e180, 0xc0001897, 0x0000e006, 0x770000ec, 0x00005680, 0x00382000,
+ 0x00000000, 0x27800000, 0x000089fc, 0x0b000002, 0x000002f4, 0x0b800018,
+ 0x00006180, 0x0bc00000, 0x0000c980, 0x0c000000, 0x000083c4, 0x0c800000,
+ 0x000083cc, 0x0d000080, 0x000003d4, 0x0d800000, 0x000083dc, 0x0e000000,
+ 0x000083e4, 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4, 0x0f800000,
+ 0x000083fc, 0x10000000, 0x000084c4, 0x10800000, 0x000084cc, 0x11000000,
+ 0x000084d4, 0x11800000, 0x000084dc, 0x12000000, 0x000084e4, 0x12800000,
+ 0x000084ec, 0x13000000, 0x000084f4, 0x13800000, 0x000084fc, 0x14000000,
+ 0x000085c4, 0x14800000, 0x000085cc, 0x15000000, 0x000085d4, 0x15800000,
+ 0x000085dc, 0x0ab81702, 0x00008918, 0xa7109b09, 0x00001000, 0x008056ec,
+ 0x0000df80, 0x00c05943, 0x000001cc, 0x81000ee3, 0x0000e080, 0x08001a09,
+ 0x0000e106, 0x86bcc404, 0x0000b038, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x035cb800, 0x0000f900, 0x003155f4, 0x00008980, 0x03ba9000,
+ 0x00007900, 0x0016f7fa, 0x00008980, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x82781400, 0x0000802c, 0x245a1bb2, 0x0000f500, 0x81002800,
+ 0x00006180, 0x0204c098, 0x00004900, 0x0184c899, 0x00009900, 0x0107f808,
+ 0x00006280, 0x26803807, 0x00000900, 0x245f1c67, 0x0000f500, 0x26782f06,
+ 0x00008920, 0x26c02004, 0x00001900, 0x200f26ec, 0x00005680, 0x003b2509,
+ 0x0000bf10, 0x81371ee3, 0x0000e100, 0xffc00000, 0x00004980, 0x85b82c04,
+ 0x0000a080, 0x0ac00000, 0x00006180, 0x01000002, 0x00004980, 0x0a801002,
+ 0x00006100, 0x0000182b, 0x0000e106, 0x0a001000, 0x00007900, 0x00004000,
+ 0x00000980, 0xc1202c05, 0x00006100, 0xc000182b, 0x00006006, 0x0a400000,
+ 0x00007900, 0x00043fd0, 0x00008980, 0x770000ec, 0x00005680, 0x00382000,
+ 0x00000000, 0x008856ec, 0x00005f80, 0x00005800, 0x00008084, 0x83800ee3,
+ 0x0000e080, 0x0840a405, 0x0000e000, 0x86bcc40e, 0x0000b038, 0x86bcd60e,
+ 0x0000b038, 0x83b71ee3, 0x0000e100, 0x01032064, 0x00004900, 0x28126000,
+ 0x0000f900, 0x003155f0, 0x00000980, 0x27000000, 0x00006180, 0x0024c808,
+ 0x0000e086, 0x27400000, 0x0000e180, 0x822cc808, 0x00006086, 0x27800000,
+ 0x0000e180, 0x041cc808, 0x0000e187, 0x02400708, 0x000089bc, 0x18bcc709,
+ 0x0000060c, 0xffffffff, 0x0000ffb7, 0x82c03cec, 0x0000f902, 0x01800000,
+ 0x00008604, 0x85b8340e, 0x00002000, 0xffffffff, 0x00007f97, 0x0010380b,
+ 0x00006986, 0x85b83c0e, 0x00002080, 0x80000606, 0x00009583, 0x0410300b,
+ 0x0000e18f, 0x00002006, 0x00003586, 0x042cc806, 0x00006887, 0x8624c806,
+ 0x00006087, 0x0418380b, 0x0000b197, 0x24921c89, 0x00007500, 0x18003006,
+ 0x00009900, 0x1840580b, 0x00001900, 0x25000000, 0x000089d4, 0x25c00000,
+ 0x000089d8, 0x00403499, 0x0000c588, 0x0c603c99, 0x00008f8f, 0x249920ba,
+ 0x0000f404, 0x297cdf9a, 0x00000a10, 0x28c09e00, 0x00009980, 0x000004a2,
+ 0x0000e583, 0x036514a2, 0x00000901, 0x83bf1fe3, 0x00001908, 0x8a00740e,
+ 0x0000a088, 0x000024a3, 0x00007010, 0xffffffff, 0x00007f97, 0x03803c0e,
+ 0x00001281, 0x0380140e, 0x00001181, 0x00000c0e, 0x00009583, 0x000024a8,
+ 0x0000701b, 0x01f5b800, 0x00007900, 0x003155f0, 0x00000980, 0x0000253b,
+ 0x00007400, 0x01bcdf9a, 0x00008014, 0x022514a2, 0x00001900, 0x304050af,
+ 0x0000f902, 0x02400000, 0x00000000, 0x300066af, 0x00007902, 0x02c00000,
+ 0x00008000, 0x10800000, 0x000004d0, 0x303834af, 0x0000a000, 0x80000a09,
+ 0x0000e582, 0x91104a09, 0x00008900, 0x90800800, 0x00006198, 0xd7406044,
+ 0x00006001, 0x8000060c, 0x00006583, 0xe7406044, 0x0000a001, 0x838ffa0b,
+ 0x00006290, 0x838ff800, 0x00008988, 0x8000060c, 0x00006583, 0x11c00000,
+ 0x00008980, 0x0e080003, 0x00006180, 0x04107044, 0x0000e101, 0x03801d0c,
+ 0x0000e291, 0x03b0660c, 0x00008909, 0x0140440c, 0x00006283, 0x11400000,
+ 0x00000980, 0x304044af, 0x0000f902, 0x01c00000, 0x00008000, 0xce183306,
+ 0x00006100, 0x96607044, 0x0000e003, 0x83800b0b, 0x0000e190, 0x83804000,
+ 0x00008988, 0x0140140c, 0x00006283, 0xb6f06044, 0x0000a001, 0xea0000ec,
+ 0x0000d010, 0x00400000, 0x00008082, 0x91d8530a, 0x0000e110, 0xd1d8530a,
+ 0x00004910, 0x0141040c, 0x00006283, 0x01800000, 0x00008980, 0x0147d000,
+ 0x00006191, 0x0147d800, 0x0000c989, 0x80000209, 0x00006582, 0x04105045,
+ 0x00002101, 0x0b040000, 0x0000f900, 0x00010000, 0x00000980, 0x0b800000,
+ 0x0000f900, 0x00001c08, 0x00008980, 0x0bc00000, 0x00007900, 0x00040000,
+ 0x00000980, 0x0c400000, 0x00007900, 0x000c0000, 0x00008980, 0x0ca00800,
+ 0x00007900, 0x00355574, 0x00008980, 0x0ced6800, 0x00007900, 0x003f57fe,
+ 0x00008980, 0x0b408000, 0x0000e180, 0xf7006044, 0x00006001, 0x03c0360a,
+ 0x0000a880, 0x0c00f880, 0x000083d0, 0x0d400000, 0x000003d8, 0x0dc00000,
+ 0x000083e4, 0x0e800000, 0x000083ec, 0x0f800000, 0x000083fc, 0x10000000,
+ 0x000084c4, 0x10c00000, 0x000084e0, 0x12400000, 0x000004e8, 0x12c00000,
+ 0x000084f0, 0x13400000, 0x000004f8, 0x13c00000, 0x000085c0, 0x14400000,
+ 0x000005c8, 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8, 0x15c00000,
+ 0x0000e180, 0x0f004008, 0x0000c900, 0x00002500, 0x00007410, 0x0f487707,
+ 0x0000841a, 0x9190720e, 0x0000e100, 0x01800000, 0x0000c988, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x037db000, 0x00007900, 0x003155f0,
+ 0x00000980, 0x03b49800, 0x00007900, 0x002aa60a, 0x00000980, 0x01800409,
+ 0x0000809c, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106, 0x0000259e,
+ 0x00007400, 0x82781400, 0x0000802c, 0x8100e000, 0x0000e180, 0x02001002,
+ 0x00004900, 0x80000a09, 0x0000e582, 0x028003e0, 0x00000980, 0x83904a09,
+ 0x00006108, 0x83801000, 0x00004990, 0x02c00000, 0x00007900, 0x000014c4,
+ 0x00000980, 0x81801a0e, 0x00006080, 0x82a80500, 0x00004900, 0x0010300b,
+ 0x0000e106, 0x75e8000a, 0x0000b101, 0x703858ec, 0x00005600, 0x00385000,
+ 0x00008000, 0x02c00000, 0x00007900, 0x00007fc0, 0x00000980, 0x82c01a0e,
+ 0x0000e080, 0x02a00005, 0x0000c980, 0x703840ec, 0x00005600, 0x00383800,
+ 0x00000000, 0x0418100a, 0x00006987, 0x703858ec, 0x00005600, 0x00385000,
+ 0x00008000, 0x00c002ec, 0x0000df80, 0x1248b80a, 0x00001484, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x01800ce0, 0x00001283, 0x0000252f,
+ 0x0000700b, 0x252b1c08, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x0000e583, 0x03a524a4, 0x00000901, 0x00002537, 0x00007013, 0x83bf1fe3,
+ 0x00009900, 0x8a00740e, 0x00002080, 0xffffffff, 0x00007fa7, 0x03803c0e,
+ 0x00001281, 0x0380140e, 0x00001181, 0x00000c0e, 0x00009583, 0x03a06c0d,
+ 0x00009931, 0x0000253c, 0x0000f019, 0x01d69000, 0x0000f900, 0x003155f2,
+ 0x00008980, 0x01b9ef08, 0x00000014, 0x0220740e, 0x00001900, 0x253c245a,
+ 0x0000f100, 0x001928ec, 0x00005780, 0x00006000, 0x00008080, 0x0a505800,
+ 0x00007900, 0x00044010, 0x00000980, 0x200b26ec, 0x0000d680, 0x00382409,
+ 0x00003f10, 0x83b71ee3, 0x0000e100, 0x8a602c05, 0x00004901, 0x85b82c0e,
+ 0x0000a080, 0x25c00000, 0x000082ec, 0x01000002, 0x00006180, 0x00001897,
+ 0x00006106, 0x80000a09, 0x0000e582, 0x0000182b, 0x00002106, 0xc1202c05,
+ 0x00006100, 0xc0001897, 0x0000e006, 0x25009000, 0x00007900, 0x0000c540,
+ 0x00000980, 0x25401000, 0x00007900, 0x0001c008, 0x00008980, 0x0a001000,
+ 0x00007900, 0x00030000, 0x00008980, 0x25801002, 0x0000e100, 0xc000182b,
+ 0x00006006, 0x770000ec, 0x00005680, 0x00382000, 0x00000000, 0x00002590,
+ 0x0000f400, 0x0a801002, 0x00006100, 0x1001f03e, 0x0000c908, 0x1041f83f,
+ 0x00001908, 0x0ac10000, 0x000082f4, 0x0c800000, 0x0000e180, 0x0000182b,
+ 0x0000e106, 0x0b040000, 0x0000f900, 0x00020000, 0x00000980, 0x0b800000,
+ 0x0000f900, 0x002a8c10, 0x00000980, 0x0bd55000, 0x0000f900, 0x001aaaaa,
+ 0x00000980, 0x0c155000, 0x00007900, 0x002aaaaa, 0x00000980, 0x0c555000,
+ 0x0000f900, 0x0002aaaa, 0x00000980, 0x0a001000, 0x00007900, 0x00030000,
+ 0x00008980, 0x0a505800, 0x00007900, 0x00047fd0, 0x00000980, 0x0cc00000,
+ 0x00006180, 0xc000182b, 0x00006006, 0x0d240000, 0x0000e180, 0x0d400000,
+ 0x00004980, 0x0d800000, 0x000083dc, 0x0e000000, 0x000083e4, 0x0e800000,
+ 0x000083ec, 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000,
+ 0x000084c4, 0x10800000, 0x000084cc, 0x11000000, 0x000084d4, 0x11800000,
+ 0x000084dc, 0x12000000, 0x000084e4, 0x12800000, 0x000084ec, 0x13000000,
+ 0x000084f4, 0x13800000, 0x000084fc, 0x14000000, 0x000085c4, 0x14800000,
+ 0x000085cc, 0x15000000, 0x000085d4, 0x15800000, 0x000085dc, 0x25841db8,
+ 0x00007500, 0x0a801002, 0x00006100, 0x0993b080, 0x00004980, 0x09001001,
+ 0x000082d4, 0x780008ec, 0x0000d680, 0x00000000, 0x00008080, 0x00c002ec,
+ 0x0000df80, 0x124c400b, 0x00001684, 0x01ab2000, 0x00007900, 0x001f8008,
+ 0x00000980, 0x00000405, 0x00009583, 0x00028006, 0x00006509, 0x00026006,
+ 0x0000b511, 0xffffffff, 0x00007f86, 0x203836ec, 0x0000d600, 0x003b2000,
+ 0x00000000, 0x008056ec, 0x0000df80, 0x00005803, 0x00008084, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x03547000, 0x0000f900, 0x003155f0,
+ 0x00000980, 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x01c00000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x02fcc702,
+ 0x00000020, 0x81002800, 0x00006180, 0x0184c899, 0x0000c900, 0x259f1bb2,
+ 0x0000f100, 0xc1008738, 0x00009283, 0x200f26ec, 0x00005680, 0x003c4509,
+ 0x00003f10, 0xea3838ec, 0x0000a090, 0x000025ae, 0x00007008, 0x01a9cfe4,
+ 0x0000e000, 0xc0000038, 0x0000e401, 0xffffffff, 0x00007f86, 0x01c03806,
+ 0x00001400, 0x2bb834ec, 0x0000a084, 0xea3838ec, 0x0000a880, 0xffffffff,
+ 0x00007f97, 0x00072806, 0x00009502, 0x01800806, 0x00001090, 0x2bb834ec,
+ 0x0000a894, 0x00000405, 0x00009583, 0x815000ec, 0x00005694, 0x00000000,
+ 0x00000180, 0x813828ec, 0x00002694, 0x000025b3, 0x00007008, 0x7fc00400,
+ 0x000081fc, 0x07505800, 0x0000f900, 0x00044010, 0x00000980, 0x07801002,
+ 0x0000e100, 0x0000181f, 0x00006106, 0x07001000, 0x0000f900, 0x00030000,
+ 0x00008980, 0x08c00000, 0x00007900, 0x00080000, 0x00000980, 0x09a00000,
+ 0x0000f900, 0x00355574, 0x00008980, 0x09ed6800, 0x00007900, 0x003f57fe,
+ 0x00008980, 0x08001000, 0x00006180, 0xc000181f, 0x0000e006, 0x08400000,
+ 0x00006180, 0x08800006, 0x00004980, 0x09000000, 0x000082d4, 0x0a00001f,
+ 0x000002e4, 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000,
+ 0x000082fc, 0x87602404, 0x00009901, 0x00803eec, 0x00005f80, 0x00005803,
+ 0x00008084, 0x02207c0f, 0x00009901, 0xc760040f, 0x00004488, 0x4640940f,
+ 0x0000899c, 0xc1800d0f, 0x0000448c, 0xf4400c0f, 0x00000993, 0x7c002f07,
+ 0x0000f88b, 0x01000001, 0x00008080, 0x8180e20e, 0x00001080, 0x81903705,
+ 0x00001000, 0x80182206, 0x00009502, 0x00000001, 0x0000f09b, 0xc1103304,
+ 0x00006100, 0x41003d04, 0x00008181, 0xcdc00f37, 0x00006081, 0x09006406,
+ 0x00002006, 0x41400d05, 0x00006081, 0x01800c06, 0x00000081, 0xc720300c,
+ 0x00006807, 0xf8670ce1, 0x00006101, 0x02b9be37, 0x00004101, 0x0000040a,
+ 0x00009583, 0x10a07c00, 0x00007904, 0x04020300, 0x00007904, 0x000025ec,
+ 0x0000f208, 0x03820300, 0x00007904, 0x02207c0f, 0x0000e101, 0x0180340f,
+ 0x00004081, 0x0247870c, 0x00009281, 0xbd860409, 0x00004488, 0xd840780a,
+ 0x0000892b, 0xbd81050f, 0x00004994, 0x9a502306, 0x00008933, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00000001,
+ 0x0000f080, 0x8180e20e, 0x0000e080, 0x0000000f, 0x0000a401, 0x81903705,
+ 0x0000e000, 0x2000000f, 0x0000a583, 0x80182206, 0x00006502, 0x2490700f,
+ 0x00002183, 0x10c08500, 0x00007904, 0x10c07500, 0x00007904, 0x000025d7,
+ 0x00007030, 0x00000001, 0x0000f080, 0xc0002f07, 0x00001583, 0x0180140f,
+ 0x00009891, 0x387f0c06, 0x00009011, 0x0000265f, 0x0000f008, 0x0b807a06,
+ 0x0000e982, 0x81903705, 0x00001000, 0x8180e206, 0x00009080, 0x80182206,
+ 0x00009502, 0x00000001, 0x0000f09b, 0xc1103304, 0x00006100, 0xcde07f37,
+ 0x00008001, 0x41607d05, 0x0000e001, 0x01803504, 0x00000181, 0x41207c06,
+ 0x00006101, 0x09006406, 0x00002006, 0x000025de, 0x0000f400, 0x01800c06,
+ 0x00009081, 0xc720300c, 0x00006807, 0x41c00608, 0x000000b0, 0x01808010,
+ 0x0000e100, 0x81d1bd05, 0x0000c000, 0x02000ce0, 0x00006283, 0xc1e87d0f,
+ 0x00000901, 0x00002674, 0x0000f013, 0x000004e3, 0x00001583, 0x03405000,
+ 0x00001990, 0x00002653, 0x00007009, 0x26161c59, 0x0000f100, 0x2b000000,
+ 0x0000f900, 0x0000c080, 0x00000980, 0x29821000, 0x0000f900, 0x002d859c,
+ 0x00000980, 0x29fd1000, 0x00007900, 0x000fd02e, 0x00000980, 0xe9300600,
+ 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x26221bde,
+ 0x00007500, 0x28f83f10, 0x00008a08, 0x6b000013, 0x00008ac4, 0x2623259f,
+ 0x0000f100, 0x03000000, 0x00006180, 0x01808010, 0x0000c900, 0x43388e08,
+ 0x0000001c, 0x02000ce0, 0x00006283, 0x8311bd05, 0x00008000, 0x0000268b,
+ 0x0000f013, 0x000004e3, 0x00001583, 0x03404800, 0x00001990, 0x000026bb,
+ 0x00007009, 0x262d1c59, 0x00007100, 0x2b000000, 0x0000f900, 0x0000c080,
+ 0x00000980, 0x29810800, 0x0000f900, 0x002d859c, 0x00000980, 0x29d5b000,
+ 0x00007900, 0x0015cd1c, 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4,
+ 0x00006106, 0xa9381400, 0x00008a14, 0x263a1bde, 0x00007500, 0x28f88f10,
+ 0x00000a08, 0xab009000, 0x0000e180, 0x2840600c, 0x00004900, 0x263b259f,
+ 0x0000f100, 0x03000000, 0x00006180, 0x01808010, 0x0000c900, 0x01f07f11,
+ 0x00008031, 0x02000ce0, 0x00006283, 0x8311bd05, 0x00008000, 0x000026a3,
+ 0x0000f013, 0x000004e3, 0x00001583, 0x03404800, 0x00001990, 0x000026c2,
+ 0x0000f009, 0x26451c59, 0x0000f100, 0x2b000000, 0x0000f900, 0x0000c080,
+ 0x00000980, 0x29800800, 0x00007900, 0x002d859c, 0x00000980, 0x29d5b000,
+ 0x00007900, 0x0015cd1c, 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4,
+ 0x00006106, 0xa9381400, 0x00008a14, 0x26521bde, 0x0000f500, 0x28f88f10,
+ 0x00000a08, 0xab009000, 0x0000e180, 0x2840600c, 0x00004900, 0x2653259f,
+ 0x00007100, 0x01000020, 0x00001980, 0x03421000, 0x00007900, 0x002d859c,
+ 0x00000980, 0x03bd1000, 0x00007900, 0x000fd02e, 0x00000980, 0x81009800,
+ 0x00009980, 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106, 0x82600500,
+ 0x00008026, 0x265f1bb2, 0x00007500, 0x02f83702, 0x00008020, 0x01f83f0c,
+ 0x00000018, 0x2490700f, 0x00006983, 0x00000c0f, 0x00001583, 0x02800800,
+ 0x00001999, 0x0000266b, 0x00007031, 0x02020300, 0x00007904, 0x02800c0a,
+ 0x00006081, 0x0b807a06, 0x0000a182, 0x02020300, 0x00007904, 0x81904206,
+ 0x00009000, 0x2490300f, 0x0000e983, 0x00207c0a, 0x00009503, 0x00002663,
+ 0x0000702b, 0x0000000f, 0x0000ec01, 0x0b807a06, 0x0000e982, 0x81903705,
+ 0x00001000, 0x8180e206, 0x00009080, 0x80182206, 0x00009502, 0x10c08500,
+ 0x00007904, 0x10c07500, 0x00007904, 0x00002603, 0x00007030, 0x00000001,
+ 0x0000f080, 0x26751c08, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x26821000, 0x00007910, 0x002d859c, 0x00000980, 0x26400000,
+ 0x0000e190, 0x26000000, 0x00004990, 0x00002612, 0x0000f008, 0x267e1c67,
+ 0x00007300, 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080,
+ 0x00000980, 0x29821000, 0x0000f900, 0x002d859c, 0x00000980, 0x29fd1000,
+ 0x00007900, 0x000fd02e, 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4,
+ 0x00006106, 0xa9381400, 0x00008a14, 0x26221bde, 0x00007500, 0x28f83f10,
+ 0x00008a08, 0x6b000013, 0x00008ac4, 0x00002622, 0x00007000, 0x268c1c08,
+ 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x26810800,
+ 0x00007910, 0x002d859c, 0x00000980, 0x26400000, 0x0000e190, 0x26000000,
+ 0x00004990, 0x00002629, 0x00007008, 0x26951c67, 0x00007300, 0x26e524a4,
+ 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980, 0x29810800,
+ 0x0000f900, 0x002d859c, 0x00000980, 0x29d5b000, 0x00007900, 0x0015cd1c,
+ 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400,
+ 0x00008a14, 0x263a1bde, 0x00007500, 0x28f88f10, 0x00000a08, 0xab009000,
+ 0x0000e180, 0x2840600c, 0x00004900, 0x0000263a, 0x00007000, 0x26a41c08,
+ 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x26800800,
+ 0x0000f910, 0x002d859c, 0x00000980, 0x26400000, 0x0000e190, 0x26000000,
+ 0x00004990, 0x00002641, 0x0000f008, 0x26ad1c67, 0x0000f300, 0x26e524a4,
+ 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980, 0x29800800,
+ 0x00007900, 0x002d859c, 0x00000980, 0x29d5b000, 0x00007900, 0x0015cd1c,
+ 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400,
+ 0x00008a14, 0x26521bde, 0x0000f500, 0x28f88f10, 0x00000a08, 0xab009000,
+ 0x0000e180, 0x2840600c, 0x00004900, 0x00002652, 0x0000f000, 0x01000020,
+ 0x00001980, 0x03410800, 0x00007900, 0x002d859c, 0x00000980, 0x81009000,
+ 0x00001980, 0x00002659, 0x0000f200, 0x0395b000, 0x00007900, 0x0015cd1c,
+ 0x00000980, 0x01000020, 0x00001980, 0x000026bf, 0x00007400, 0x03400800,
+ 0x0000f900, 0x002d859c, 0x00000980, 0x81009000, 0x00001980, 0xc0000309,
+ 0x00006582, 0x82ff1fe3, 0x00000900, 0x8a383c0b, 0x0000a080, 0x87371ee3,
+ 0x0000e100, 0x01400000, 0x0000c981, 0x2aa82a1c, 0x0000a006, 0x0107f800,
+ 0x00006181, 0xc12f2004, 0x00004980, 0x81200454, 0x000000d6, 0x87400000,
+ 0x000080f0, 0x03400000, 0x000000f8, 0x03c00000, 0x000001d0, 0x05400000,
+ 0x000001d8, 0x05c00000, 0x000001e0, 0x06400000, 0x000001e8, 0x00003204,
+ 0x0000f410, 0x06c00000, 0x00006180, 0x81984b09, 0x00004900, 0xc1e00000,
+ 0x000000de, 0xc1808738, 0x0000e283, 0x07009000, 0x00008981, 0x81400000,
+ 0x00006181, 0x8199b30a, 0x0000c100, 0x0231bc1c, 0x00006101, 0x08b1bc1c,
+ 0x00008101, 0x00002e27, 0x00007008, 0x82800d39, 0x0000e080, 0x82400d39,
+ 0x0000c880, 0xea010a09, 0x00007902, 0x08000000, 0x00008000, 0xea00fc09,
+ 0x0000f902, 0x07800000, 0x00000000, 0xffffffff, 0x00007f97, 0xddc00421,
+ 0x0000c38a, 0x00401739, 0x00008088, 0x43a1ca20, 0x0000780b, 0xb9800000,
+ 0x00009981, 0xfce1cb21, 0x0000780b, 0x01800000, 0x00001a89, 0xc2404539,
+ 0x00001880, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000041d,
+ 0x00006583, 0x03000000, 0x00008980, 0x03400000, 0x000000f8, 0x03c00000,
+ 0x000081d4, 0x05800000, 0x000081dc, 0x00002e08, 0x00007410, 0x06000000,
+ 0x000081e4, 0x06c00000, 0x000081e8, 0xc1801739, 0x00006283, 0x82d10220,
+ 0x00000900, 0x82d90b21, 0x00001908, 0xffffffff, 0x00007f86, 0x8261ca0b,
+ 0x00001100, 0x80204209, 0x00001502, 0xc1801739, 0x00006283, 0x08a04c09,
+ 0x00008929, 0x84000000, 0x0000e188, 0x84040000, 0x00004990, 0x81800c39,
+ 0x00006080, 0x82211206, 0x00004100, 0x81984a06, 0x00009000, 0x81908206,
+ 0x00009000, 0x43c00422, 0x0000c189, 0x00404637, 0x00008088, 0x42c04637,
+ 0x000041b1, 0x00406e37, 0x00008088, 0x3cc06e37, 0x00004199, 0x00405637,
+ 0x00000088, 0x5d205637, 0x000045a9, 0x2e005e37, 0x00000189, 0x47c07e37,
+ 0x00004489, 0x6c407e37, 0x00000aac, 0x63a08637, 0x00004589, 0x83608e37,
+ 0x00002893, 0x44c01e37, 0x0000c389, 0x00401e37, 0x000080b0, 0x40c02e37,
+ 0x0000c489, 0xfc402e37, 0x00008aab, 0x4a403637, 0x00004791, 0xaf600e37,
+ 0x0000ac8b, 0x75800e37, 0x0000789a, 0xe9400000, 0x0000948c, 0x83c00421,
+ 0x00007893, 0x01400001, 0x00008000, 0xd6400209, 0x0000f893, 0x21000000,
+ 0x00001583, 0x80006637, 0x00001583, 0xea838206, 0x0000f90a, 0x1c400000,
+ 0x00000000, 0xea839406, 0x0000790a, 0x1cc00000, 0x00008000, 0x00002748,
+ 0x00007010, 0x02400c22, 0x00006183, 0x81801206, 0x00000080, 0x00002748,
+ 0x0000700b, 0x02400c09, 0x00009183, 0xea83a206, 0x0000f902, 0x1d400000,
+ 0x00008000, 0xea83b406, 0x00007902, 0x1dc00000, 0x00000000, 0x00002748,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02400c09, 0x00009183, 0xea83c206,
+ 0x0000f902, 0x1e400000, 0x00008000, 0xea83d406, 0x00007902, 0x1ec00000,
+ 0x00000000, 0x00002748, 0x0000f208, 0x81801206, 0x00009080, 0x02400c09,
+ 0x00009183, 0xea83e206, 0x00007902, 0x1f400000, 0x00000000, 0xea83f406,
+ 0x0000f902, 0x1fc00000, 0x00008000, 0x00002748, 0x0000f208, 0x81801206,
+ 0x00009080, 0x00000c09, 0x00001583, 0xea840206, 0x00007902, 0x20400000,
+ 0x00000000, 0xea841406, 0x0000f902, 0x20c00000, 0x00008000, 0x00002748,
+ 0x0000f208, 0x81801206, 0x00009080, 0xea842206, 0x0000f902, 0x21400000,
+ 0x00008000, 0xea843406, 0x00007902, 0x21c00000, 0x00000000, 0x00000421,
+ 0x00006583, 0x01a1cc22, 0x00008001, 0x8df1bc22, 0x0000e001, 0xcd99b422,
+ 0x00008000, 0x02400000, 0x00006191, 0x0e61cc22, 0x00004001, 0x00002e16,
+ 0x0000f008, 0x2bb832ec, 0x00002004, 0xffffffff, 0x00007fa7, 0x00072806,
+ 0x00009502, 0x01800806, 0x00001090, 0x2bb832ec, 0x00002814, 0x00000421,
+ 0x00009583, 0x00000409, 0x00009583, 0xffffffff, 0x00007f86, 0x00002e0f,
+ 0x00007010, 0x00002a72, 0x0000f010, 0x81990b21, 0x00001900, 0xedc01739,
+ 0x0000c494, 0xe4400220, 0x00008a88, 0x00000637, 0x0000c08a, 0x00010543,
+ 0x00000090, 0x00000605, 0x00007888, 0x00000000, 0x00000000, 0x00221e37,
+ 0x0000f822, 0x00000000, 0x00008020, 0x03c20738, 0x0000f88e, 0x71400000,
+ 0x0000168d, 0xdd400507, 0x00007893, 0x91000000, 0x0000138b, 0x6be00605,
+ 0x0000c489, 0xbe40023e, 0x00008a96, 0x02401637, 0x0000789a, 0x01400001,
+ 0x00008000, 0x6b820738, 0x00007897, 0x79400000, 0x00009480, 0x6b820738,
+ 0x00007897, 0x79400000, 0x00009480, 0xc0000321, 0x00009582, 0x81910220,
+ 0x00009908, 0x00002872, 0x0000f009, 0x0000275c, 0x0000f000, 0x20bc42ec,
+ 0x0000d600, 0x003c4800, 0x00000000, 0x01400800, 0x00001981, 0x0031bc43,
+ 0x0000e503, 0x04020040, 0x00008900, 0x047a1741, 0x00008038, 0x03e1bf43,
+ 0x00008019, 0x00002d96, 0x0000f018, 0xf8400008, 0x0000e180, 0x01800000,
+ 0x00004980, 0xb8400044, 0x000001f0, 0x07400000, 0x000001f8, 0x07c00000,
+ 0x000002c0, 0x08400000, 0x000002c8, 0x08c00000, 0x000082d0, 0x278525cc,
+ 0x0000f500, 0x09400000, 0x000002d8, 0xb840e406, 0x0000e081, 0x09c00000,
+ 0x00008980, 0x40000507, 0x00001583, 0x01b70ee1, 0x0000e111, 0x8df1be07,
+ 0x0000c011, 0xcd99b607, 0x00009010, 0x000027a6, 0x00007008, 0x00d802ec,
+ 0x0000df80, 0x125c6008, 0x000011c4, 0x02003c07, 0x00001281, 0x02001408,
+ 0x00001181, 0x00000c08, 0x00009583, 0x01400800, 0x00006199, 0xb8603406,
+ 0x0000c919, 0x01808737, 0x00009098, 0x00002c33, 0x00007030, 0x01b9be37,
+ 0x0000e101, 0x38401406, 0x00008881, 0x00000406, 0x00006583, 0xf8670ce1,
+ 0x00008901, 0x20bc42ec, 0x0000d600, 0x003c4800, 0x00000000, 0x0247870c,
+ 0x00001291, 0x00002da2, 0x0000740b, 0x04020300, 0x00007904, 0x03820300,
+ 0x00007904, 0x0200340f, 0x00009081, 0xb4460409, 0x0000c489, 0x44407806,
+ 0x00000b2b, 0xb441050f, 0x0000c995, 0x44502308, 0x00008b1b, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x27a625cc,
+ 0x0000f100, 0x09006406, 0x0000e006, 0x0900641b, 0x0000b006, 0x8dd1bd05,
+ 0x00006000, 0x0360e41c, 0x00000901, 0x8370f31d, 0x00000035, 0x4341031f,
+ 0x00008038, 0x83b11321, 0x00000039, 0x43812323, 0x0000803c, 0x83f13325,
+ 0x0000003d, 0x01203404, 0x00006101, 0xc3e13c27, 0x00008901, 0x815000ec,
+ 0x0000d684, 0x00000000, 0x00000180, 0x813830ec, 0x0000a684, 0x01400000,
+ 0x00009981, 0x000104e0, 0x00007894, 0x00000000, 0x00000000, 0x00009c04,
+ 0x000078b0, 0x00000000, 0x00008020, 0x00008738, 0x0000788c, 0x00000000,
+ 0x00008020, 0x00001506, 0x0000788c, 0x00000000, 0x00008020, 0xf0410738,
+ 0x0000f897, 0x01000001, 0x00000060, 0x6b820738, 0x00007897, 0x79400000,
+ 0x00009480, 0x41810543, 0x0000e283, 0x0000080c, 0x00002402, 0x033e380c,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x0304000c, 0x00006380, 0x04009000,
+ 0x00000980, 0x000027cd, 0x00007410, 0x04400000, 0x00006180, 0x8000180c,
+ 0x0000e407, 0x01809800, 0x0000e191, 0x04c00000, 0x0000c980, 0x01809000,
+ 0x00009981, 0x8011ba3a, 0x0000e502, 0xd0003011, 0x00002404, 0x00001813,
+ 0x00006106, 0x90001811, 0x0000b403, 0x84203406, 0x00006101, 0xc0001813,
+ 0x0000e006, 0x00002868, 0x00007470, 0xc4001d05, 0x0000e081, 0x04801002,
+ 0x00000900, 0x0521bf88, 0x0000811c, 0x02000000, 0x00009980, 0x80185237,
+ 0x00006502, 0x81800000, 0x00000980, 0x81800800, 0x00009988, 0xffffffff,
+ 0x00007f86, 0x01a03408, 0x00009301, 0x09006406, 0x0000e006, 0x9660301b,
+ 0x0000b001, 0xc180171b, 0x00009283, 0x8e91bb3a, 0x00006010, 0x0c01ca1c,
+ 0x0000a110, 0x03f0de1c, 0x0000a091, 0x00000406, 0x00009583, 0x01a01a00,
+ 0x00009990, 0xc1a82d05, 0x00009911, 0x00002dc9, 0x00007008, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x00b830ec,
+ 0x00005700, 0x00006003, 0x00008080, 0x02400000, 0x0000f900, 0x001f8000,
+ 0x00008980, 0x826f2304, 0x0000f900, 0x00000008, 0x00008180, 0x8182a504,
+ 0x0000e180, 0x0239be37, 0x00008100, 0x07401408, 0x0000e081, 0x04103009,
+ 0x00006101, 0x02008737, 0x0000e080, 0x08c1cc06, 0x00002004, 0x20384eec,
+ 0x0000d600, 0x003c4000, 0x00008000, 0x38401408, 0x0000e081, 0x41c00000,
+ 0x0000c981, 0x02008406, 0x00006080, 0x81c00000, 0x00000981, 0x01b9bc06,
+ 0x0000e101, 0x41400000, 0x00008981, 0x8df1bc06, 0x0000e001, 0xc12f2004,
+ 0x00008980, 0x2bb832ec, 0x0000a084, 0x4102a000, 0x00006181, 0x78401408,
+ 0x00004881, 0xcdc00000, 0x00001981, 0xffffffff, 0x00007f86, 0x00072806,
+ 0x00009502, 0x000026da, 0x00007400, 0x01800806, 0x00001090, 0x2bb832ec,
+ 0x0000a894, 0x0f025c1c, 0x0000e806, 0x8020e637, 0x00009503, 0xc1820738,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x00002b5f, 0x0000f018, 0x00002dae,
+ 0x0000f010, 0x41810543, 0x0000e283, 0x0000080c, 0x00002402, 0x033e380c,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x04c00000, 0x0000e180, 0x01809800,
+ 0x0000c991, 0x01809000, 0x00006189, 0x00001813, 0x00006106, 0x8011ba3a,
+ 0x0000e502, 0x04009000, 0x00000980, 0x0304000c, 0x00006380, 0xc0001813,
+ 0x00002006, 0x04400000, 0x0000f900, 0x00018030, 0x00008980, 0x04801002,
+ 0x0000e100, 0x8000180c, 0x0000e407, 0x00002a46, 0x0000f470, 0x05fc4437,
+ 0x00008110, 0xc4001d05, 0x0000e081, 0x84203406, 0x00008901, 0x01800000,
+ 0x00001980, 0x80185237, 0x00006502, 0x82400000, 0x00000980, 0x82400800,
+ 0x0000e188, 0x07c00000, 0x0000c980, 0x07500000, 0x00007900, 0x0004c010,
+ 0x00008980, 0x07204c06, 0x00006301, 0x0000181f, 0x0000a106, 0x08c1cc06,
+ 0x0000e004, 0x1060e71b, 0x0000b000, 0xc140171b, 0x00006283, 0x01b9bc06,
+ 0x00008101, 0x01b1bc06, 0x0000e001, 0x0c01ca1c, 0x0000a110, 0x03f0de1c,
+ 0x0000a091, 0x8e91bb3a, 0x00006010, 0x07001000, 0x00008980, 0x00001406,
+ 0x0000e583, 0xc000181f, 0x00002006, 0x01801c06, 0x00006199, 0x01405800,
+ 0x00008999, 0x08800000, 0x00006180, 0x07801002, 0x0000c900, 0x01404406,
+ 0x000060b1, 0x08001000, 0x00008980, 0x01800000, 0x0000e1b1, 0x08400000,
+ 0x00004980, 0x00000409, 0x00006583, 0x0020281d, 0x00002006, 0x01e03405,
+ 0x00006001, 0x87602404, 0x00000901, 0xc7000c07, 0x00006081, 0x87e03406,
+ 0x00008901, 0x01c00000, 0x00007900, 0x001f8000, 0x00008980, 0x00182007,
+ 0x00006186, 0x08c1cc06, 0x0000b004, 0x0179be37, 0x0000e101, 0x04282007,
+ 0x00002101, 0x01003800, 0x00006180, 0xc0001822, 0x0000e412, 0x81008737,
+ 0x0000e081, 0xc139be37, 0x00000101, 0xcdc00000, 0x0000e180, 0x41004c06,
+ 0x00004081, 0x8de03405, 0x0000e001, 0x08c00000, 0x00000980, 0x09000000,
+ 0x00006180, 0x09006406, 0x0000e006, 0x00000406, 0x00006583, 0x09400000,
+ 0x00000980, 0x20383eec, 0x00005600, 0x003c4000, 0x00008000, 0x09a00800,
+ 0x00007900, 0x00355574, 0x00008980, 0x09ed6800, 0x00007900, 0x003f57fe,
+ 0x00008980, 0x003820ec, 0x00005700, 0x00185802, 0x00008080, 0x0a00001f,
+ 0x000002e4, 0x0a800000, 0x000082ec, 0x00002a50, 0x00007408, 0x0b000000,
+ 0x000082f4, 0x0b800000, 0x000082fc, 0x01201a00, 0x00009980, 0x86282804,
+ 0x0000e887, 0x00b826ec, 0x00005f00, 0x00006003, 0x00000084, 0xc1820738,
+ 0x00001283, 0x02000800, 0x00009990, 0x000027d8, 0x0000f011, 0x8000023e,
+ 0x00001582, 0x02000000, 0x00006188, 0x09006406, 0x0000600e, 0x000027d7,
+ 0x0000f011, 0x000027d8, 0x00007400, 0x00000406, 0x00009583, 0x02000800,
+ 0x00009990, 0x8261ca06, 0x00009100, 0x82504a08, 0x0000e100, 0x8459b209,
+ 0x00000000, 0x8001fa09, 0x00009582, 0x02e04c09, 0x00009931, 0x00002996,
+ 0x0000f019, 0x00000409, 0x00009583, 0x00002a52, 0x0000700b, 0xc1801739,
+ 0x00006283, 0x88400800, 0x00008980, 0x48400800, 0x00006189, 0x04000000,
+ 0x0000c980, 0x02000000, 0x0000e180, 0x89c0240b, 0x0000c880, 0x40000521,
+ 0x00006583, 0x0f013813, 0x0000a106, 0xc4205c0b, 0x0000e108, 0x05006800,
+ 0x0000c989, 0x44000800, 0x0000e191, 0x82205c0b, 0x00004910, 0x05018800,
+ 0x0000e191, 0x0d00f81f, 0x00004900, 0xc1801739, 0x00006283, 0x0d40f01e,
+ 0x00000900, 0x81840000, 0x0000e188, 0x81800000, 0x00004990, 0x88f54b09,
+ 0x0000f900, 0x00000002, 0x00000080, 0x88d03223, 0x0000e000, 0x82509a13,
+ 0x00008900, 0x8187fa11, 0x00009280, 0x0447fa06, 0x00001280, 0x04402011,
+ 0x00001880, 0x04819011, 0x00006002, 0x02c0f811, 0x00008784, 0x80010213,
+ 0x00006582, 0x0441980b, 0x00000004, 0xea390a0a, 0x0000d000, 0x00390000,
+ 0x00000000, 0x0941c421, 0x0000e000, 0x0c01c220, 0x00003100, 0x85f5120a,
+ 0x00007900, 0x00000002, 0x00000080, 0x000028de, 0x00007430, 0xea38fc0a,
+ 0x00005000, 0x0038f000, 0x00008000, 0x07400a38, 0x0000e198, 0x88a10c21,
+ 0x00008900, 0x00000421, 0x00009583, 0x09400000, 0x0000e189, 0x09c1c425,
+ 0x0000e012, 0x8006fa06, 0x00001582, 0x02c00000, 0x000061b8, 0x07080000,
+ 0x0000c9b8, 0xc2d11a23, 0x0000e138, 0x0710301c, 0x00004138, 0x0000294e,
+ 0x00007050, 0x04c00000, 0x00007900, 0x000010c0, 0x00000980, 0x80000222,
+ 0x00006582, 0x0980201c, 0x00008880, 0x00113013, 0x0000e906, 0x703898ec,
+ 0x00005600, 0x00385800, 0x00000000, 0x02c00000, 0x000001cc, 0x000028b8,
+ 0x0000f410, 0x84c0201c, 0x00009880, 0x04110013, 0x00006911, 0xffffffff,
+ 0x00007f86, 0x000ff813, 0x00006d01, 0x07000000, 0x0000e180, 0x8001600b,
+ 0x00006686, 0x96612813, 0x00006003, 0x0418100b, 0x00003187, 0x703890ec,
+ 0x0000d600, 0x00388800, 0x00008000, 0x81903209, 0x0000e000, 0xb6e10813,
+ 0x00002005, 0x703898ec, 0x00005600, 0x00385800, 0x00000000, 0x02d1b236,
+ 0x00006100, 0x0410b81c, 0x00006187, 0x0000e80b, 0x00006502, 0x82480206,
+ 0x00008180, 0x82c00a36, 0x00006090, 0x82c00000, 0x00000988, 0x700040ec,
+ 0x00005680, 0x0038e0c0, 0x00008010, 0x8d905a0b, 0x00006100, 0x07200005,
+ 0x00004980, 0x02c01a0b, 0x00006080, 0x0418101c, 0x00006187, 0x04c1800b,
+ 0x0000e002, 0x81801a26, 0x00008780, 0x02c00031, 0x00006084, 0x0c81a034,
+ 0x00008900, 0x80010209, 0x0000e582, 0x0cc1a835, 0x00000900, 0x703898ec,
+ 0x00005600, 0x00385800, 0x00000000, 0x700040ec, 0x00005680, 0x0038e7c0,
+ 0x00008078, 0x89d13227, 0x0000e100, 0x0481a034, 0x00000900, 0x000028a5,
+ 0x00007418, 0x0441a835, 0x0000e100, 0x88d03223, 0x00004000, 0x81800000,
+ 0x00009980, 0x02504a06, 0x00009000, 0x00080009, 0x00001582, 0x00080009,
+ 0x00001582, 0xffffffff, 0x00007f86, 0x00002921, 0x0000f008, 0x00002902,
+ 0x00007038, 0x02500708, 0x00000098, 0x02000000, 0x00007900, 0x000010e0,
+ 0x00008980, 0x04111806, 0x00006187, 0x00113808, 0x0000b106, 0x703840ec,
+ 0x00005600, 0x00383000, 0x00008000, 0x02000000, 0x0000e180, 0x02c09012,
+ 0x00004900, 0x82350a0a, 0x0000f900, 0x00000002, 0x00000080, 0x01800000,
+ 0x00006180, 0x0420a008, 0x0000e087, 0x703840ec, 0x00005600, 0x00000000,
+ 0x00008080, 0x02000000, 0x00009980, 0x82113a27, 0x00009900, 0x0001c008,
+ 0x0000e901, 0x9001c008, 0x0000e803, 0x703880ec, 0x00005600, 0x00384800,
+ 0x00008000, 0x02408811, 0x0000e100, 0xb6e10808, 0x0000e005, 0x80016006,
+ 0x00006e86, 0x703858ec, 0x00005600, 0x00384800, 0x00008000, 0x0000275c,
+ 0x00007400, 0x04181006, 0x00006987, 0x703840ec, 0x00005600, 0x00383000,
+ 0x00008000, 0x00000421, 0x00006583, 0x02c80000, 0x00008980, 0x02c00000,
+ 0x0000e180, 0x0250300b, 0x00004100, 0x04c00000, 0x00007900, 0x000010c0,
+ 0x00000980, 0x01802009, 0x00006080, 0x0411180b, 0x0000e187, 0x00103013,
+ 0x00006906, 0x703898ec, 0x00005600, 0x00385800, 0x00000000, 0x02c00000,
+ 0x000001cc, 0x00002915, 0x0000f410, 0x84c02009, 0x00006080, 0x09c1c409,
+ 0x00006012, 0x02400000, 0x00006189, 0x0001c013, 0x0000e111, 0xffffffff,
+ 0x00007f86, 0x000ff813, 0x00006d01, 0x89d03227, 0x00006100, 0x8001600b,
+ 0x0000a686, 0x96604813, 0x0000e003, 0x0418100b, 0x00003187, 0x703890ec,
+ 0x0000d600, 0x00388800, 0x00008000, 0x82401a06, 0x00006780, 0xb6e10813,
+ 0x00002005, 0x703898ec, 0x00005600, 0x00385800, 0x00000000, 0x04b9af34,
+ 0x00008104, 0x88d04a23, 0x00001000, 0x0191b236, 0x0000e100, 0x02400a38,
+ 0x00004180, 0x00004806, 0x0000e502, 0x02c00000, 0x00000980, 0x81800a36,
+ 0x0000e090, 0x81800000, 0x00008988, 0xc2f5120a, 0x00007900, 0x00000002,
+ 0x00000080, 0x0db9a406, 0x00000308, 0x0cc1a835, 0x0000e100, 0x01801a06,
+ 0x00004880, 0x02418006, 0x00001002, 0x700040ec, 0x00005680, 0x003858c0,
+ 0x00008010, 0x02e00005, 0x00006180, 0x01800031, 0x00004084, 0x703848ec,
+ 0x0000d600, 0x00383000, 0x00008000, 0x02404008, 0x0000e100, 0x0418100b,
+ 0x00006187, 0x02000000, 0x00007900, 0x000010e0, 0x00008980, 0x01900000,
+ 0x0000e180, 0x00113808, 0x0000e106, 0x700040ec, 0x00005680, 0x00385fc0,
+ 0x00008078, 0x02c09012, 0x00006100, 0x04111806, 0x00006187, 0x703840ec,
+ 0x00005600, 0x00383000, 0x00008000, 0x01800000, 0x000080e0, 0x82350a0a,
+ 0x0000f900, 0x00000002, 0x00000080, 0x0420a008, 0x00006887, 0x703840ec,
+ 0x00005600, 0x00000000, 0x00008080, 0x02000000, 0x00009980, 0x82113a27,
+ 0x00009900, 0x0001c008, 0x0000e901, 0x9001c008, 0x0000e803, 0x000028fb,
+ 0x0000f400, 0x703880ec, 0x00005600, 0x00384800, 0x00008000, 0x02408811,
+ 0x0000e100, 0xb6e10808, 0x0000e005, 0x80000222, 0x00006582, 0x02c00000,
+ 0x00000980, 0x04d00000, 0x00006180, 0x0411180b, 0x0000e187, 0x701000ec,
+ 0x00005680, 0x003858c0, 0x00008010, 0x00002959, 0x00007210, 0x02c00000,
+ 0x0000e180, 0x04110013, 0x0000e111, 0xffffffff, 0x00007f86, 0x000ff813,
+ 0x00006d01, 0x96612813, 0x00006003, 0x8001600b, 0x00003686, 0x703890ec,
+ 0x0000d600, 0x00388800, 0x00008000, 0xb6e10813, 0x0000e005, 0x0418100b,
+ 0x00003187, 0x04900012, 0x0000e082, 0x82410209, 0x00008180, 0x703898ec,
+ 0x00005600, 0x00385800, 0x00000000, 0x81810206, 0x00006080, 0x89d00227,
+ 0x00008180, 0x04400011, 0x00006084, 0x88c20223, 0x00000080, 0x29410209,
+ 0x0000789a, 0xf1400000, 0x00009486, 0x80003e37, 0x00009583, 0xea82e206,
+ 0x0000790a, 0x17400000, 0x00008000, 0xea82f406, 0x0000f90a, 0x17c00000,
+ 0x00000000, 0x00002748, 0x00007010, 0x02400c22, 0x00006183, 0x81801206,
+ 0x00000080, 0x00002748, 0x0000700b, 0x02400c09, 0x00009183, 0xea830206,
+ 0x0000f902, 0x18400000, 0x00008000, 0xea831406, 0x00007902, 0x18c00000,
+ 0x00000000, 0x00002748, 0x0000f208, 0x81801206, 0x00009080, 0x02400c09,
+ 0x00009183, 0xea832206, 0x00007902, 0x19400000, 0x00000000, 0xea833406,
+ 0x0000f902, 0x19c00000, 0x00008000, 0x00002748, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02400c09, 0x00009183, 0xea834206, 0x00007902, 0x1a400000,
+ 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000, 0x00008000, 0x00002748,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02400c09, 0x00009183, 0xea836206,
+ 0x0000f902, 0x1b400000, 0x00008000, 0xea837406, 0x00007902, 0x1bc00000,
+ 0x00000000, 0x00002748, 0x0000f208, 0x81801206, 0x00009080, 0x02400c09,
+ 0x00009183, 0xea838206, 0x00007902, 0x1c400000, 0x00000000, 0xea839406,
+ 0x0000f902, 0x1cc00000, 0x00008000, 0x00002728, 0x0000f210, 0x81801206,
+ 0x00009080, 0x00002748, 0x0000f000, 0x0000287a, 0x0000f200, 0x02c20000,
+ 0x00009981, 0x00002748, 0x00007400, 0xea842206, 0x0000f902, 0x21400000,
+ 0x00008000, 0xea843406, 0x00007902, 0x21c00000, 0x00000000, 0x02400c22,
+ 0x00009183, 0xea820206, 0x00007902, 0x10400000, 0x00000000, 0xea821406,
+ 0x0000f902, 0x10c00000, 0x00008000, 0x00002748, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02400c09, 0x00009183, 0xea822206, 0x0000f902, 0x11400000,
+ 0x00008000, 0xea823406, 0x00007902, 0x11c00000, 0x00000000, 0x00002748,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02400c09, 0x00009183, 0xea824206,
+ 0x0000f902, 0x12400000, 0x00008000, 0xea825406, 0x00007902, 0x12c00000,
+ 0x00000000, 0x00002748, 0x0000f208, 0x81801206, 0x00009080, 0x02400c09,
+ 0x00009183, 0xea826206, 0x00007902, 0x13400000, 0x00000000, 0xea827406,
+ 0x0000f902, 0x13c00000, 0x00008000, 0x00002748, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02400c09, 0x00009183, 0xea828206, 0x0000f902, 0x14400000,
+ 0x00008000, 0xea829406, 0x00007902, 0x14c00000, 0x00000000, 0x00002748,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02400c09, 0x00009183, 0xea82a206,
+ 0x00007902, 0x15400000, 0x00000000, 0xea82b406, 0x0000f902, 0x15c00000,
+ 0x00008000, 0x00002748, 0x0000f208, 0x81801206, 0x00009080, 0x02400c09,
+ 0x00009183, 0xea82c206, 0x00007902, 0x16400000, 0x00000000, 0xea82d406,
+ 0x0000f902, 0x16c00000, 0x00008000, 0x00002748, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02400c09, 0x00009183, 0xea82e206, 0x0000f902, 0x17400000,
+ 0x00008000, 0xea82f406, 0x00007902, 0x17c00000, 0x00000000, 0x00002972,
+ 0x00007210, 0x81801206, 0x00009080, 0x00002748, 0x0000f000, 0x02400c22,
+ 0x00009183, 0xea824206, 0x0000f902, 0x12400000, 0x00008000, 0xea825406,
+ 0x00007902, 0x12c00000, 0x00000000, 0x000029b2, 0x00007210, 0x81801206,
+ 0x00009080, 0x00002748, 0x0000f000, 0x02400c22, 0x00009183, 0xea822206,
+ 0x0000f902, 0x11400000, 0x00008000, 0xea823406, 0x00007902, 0x11c00000,
+ 0x00000000, 0x000029ab, 0x0000f210, 0x81801206, 0x00009080, 0x00002748,
+ 0x0000f000, 0x02400c22, 0x00009183, 0xea834206, 0x00007902, 0x1a400000,
+ 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000, 0x00008000, 0x00002987,
+ 0x00007210, 0x81801206, 0x00009080, 0x00002748, 0x0000f000, 0x02400c22,
+ 0x00009183, 0xea836206, 0x0000f902, 0x1b400000, 0x00008000, 0xea837406,
+ 0x00007902, 0x1bc00000, 0x00000000, 0x0000298e, 0x00007210, 0x81801206,
+ 0x00009080, 0x00002748, 0x0000f000, 0x02400c22, 0x00009183, 0xea832206,
+ 0x00007902, 0x19400000, 0x00000000, 0xea833406, 0x0000f902, 0x19c00000,
+ 0x00008000, 0x00002980, 0x0000f210, 0x81801206, 0x00009080, 0x00002748,
+ 0x0000f000, 0x02400c22, 0x00009183, 0xea828206, 0x0000f902, 0x14400000,
+ 0x00008000, 0xea829406, 0x00007902, 0x14c00000, 0x00000000, 0x000029c0,
+ 0x00007210, 0x81801206, 0x00009080, 0x00002748, 0x0000f000, 0x02400c22,
+ 0x00009183, 0xea82a206, 0x00007902, 0x15400000, 0x00000000, 0xea82b406,
+ 0x0000f902, 0x15c00000, 0x00008000, 0x000029c7, 0x0000f210, 0x81801206,
+ 0x00009080, 0x00002748, 0x0000f000, 0x02400c22, 0x00009183, 0xea82c206,
+ 0x00007902, 0x16400000, 0x00000000, 0xea82d406, 0x0000f902, 0x16c00000,
+ 0x00008000, 0x000029ce, 0x0000f210, 0x81801206, 0x00009080, 0x00002748,
+ 0x0000f000, 0x02400c22, 0x00009183, 0xea83a206, 0x0000f902, 0x1d400000,
+ 0x00008000, 0xea83b406, 0x00007902, 0x1dc00000, 0x00000000, 0x0000272f,
+ 0x00007210, 0x81801206, 0x00009080, 0x00002748, 0x0000f000, 0x02400c22,
+ 0x00009183, 0xea830206, 0x0000f902, 0x18400000, 0x00008000, 0xea831406,
+ 0x00007902, 0x18c00000, 0x00000000, 0x00002979, 0x0000f210, 0x81801206,
+ 0x00009080, 0x00002748, 0x0000f000, 0x02400c22, 0x00009183, 0xea826206,
+ 0x00007902, 0x13400000, 0x00000000, 0xea827406, 0x0000f902, 0x13c00000,
+ 0x00008000, 0x000029b9, 0x0000f210, 0x81801206, 0x00009080, 0x00002748,
+ 0x0000f000, 0xea840206, 0x00007902, 0x20400000, 0x00000000, 0xea841406,
+ 0x0000f902, 0x20c00000, 0x00008000, 0x81801206, 0x00006080, 0x02611422,
+ 0x00008901, 0xd1000c22, 0x00007893, 0x41000000, 0x0000138a, 0x02400c22,
+ 0x00009183, 0xea83c206, 0x0000f902, 0x1e400000, 0x00008000, 0xea83d406,
+ 0x00007902, 0x1ec00000, 0x00000000, 0x00002736, 0x0000f210, 0x81801206,
+ 0x00009080, 0x00002748, 0x0000f000, 0x02400c22, 0x00009183, 0xea83e206,
+ 0x00007902, 0x1f400000, 0x00000000, 0xea83f406, 0x0000f902, 0x1fc00000,
+ 0x00008000, 0x0000273d, 0x00007210, 0x81801206, 0x00009080, 0x00002748,
+ 0x0000f000, 0xc1420738, 0x00001283, 0x01800800, 0x00001990, 0x00002824,
+ 0x0000f011, 0x8000023e, 0x00001582, 0x01800000, 0x0000e188, 0x0900640b,
+ 0x0000e00e, 0x00002823, 0x00007011, 0x00002824, 0x00007400, 0x0000040b,
+ 0x00001583, 0x01800800, 0x00001990, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0xea38fc0a,
+ 0x00005000, 0x0038f000, 0x00008000, 0xd7000206, 0x0000f893, 0x01000001,
+ 0x00008080, 0x0729cfe4, 0x00006000, 0xc0000038, 0x0000e401, 0x2bb834ec,
+ 0x0000a084, 0xea3840ec, 0x00002080, 0x0d78ff1e, 0x00000310, 0xffffffff,
+ 0x00007f86, 0x00072806, 0x00009502, 0x07000806, 0x00006090, 0x0200401c,
+ 0x00000400, 0x0000275c, 0x00007400, 0xea3840ec, 0x0000a880, 0x2bb8e4ec,
+ 0x00002894, 0xc1801739, 0x00006283, 0x09c1cc1c, 0x0000a000, 0x00000021,
+ 0x0000e58f, 0x00000020, 0x0000b596, 0x07000c1c, 0x0000e481, 0x0e400000,
+ 0x00000981, 0x00000421, 0x00006583, 0x90000039, 0x0000a401, 0xea390a0a,
+ 0x0000d000, 0x00390000, 0x00000000, 0x9660e039, 0x0000e801, 0x00002e0f,
+ 0x0000f210, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0xc1801739,
+ 0x00006283, 0x82510220, 0x00008900, 0x82590b21, 0x0000e108, 0x02c09000,
+ 0x00004981, 0x87000c39, 0x0000e080, 0x02f1bc0b, 0x0000c101, 0x87184a1c,
+ 0x00006000, 0x8421ca09, 0x00008100, 0x80205a10, 0x00009502, 0xc1801739,
+ 0x00006283, 0x02e08410, 0x00000929, 0x81840000, 0x00009990, 0x81800000,
+ 0x00006188, 0x82205a08, 0x00004100, 0x00002a81, 0x0000f010, 0x8190321c,
+ 0x00009000, 0x6240040b, 0x0000c189, 0x00404637, 0x00008088, 0x5f004637,
+ 0x000041b1, 0x00406e37, 0x00008088, 0x5ec06e37, 0x0000c199, 0x00405637,
+ 0x00000088, 0x0bc05637, 0x000045a8, 0x04605e37, 0x00000188, 0x5fc07e37,
+ 0x00004489, 0xf8407e37, 0x00000aad, 0x0dc08637, 0x00004588, 0x03208e37,
+ 0x0000038b, 0x69801e37, 0x00004389, 0x00401e37, 0x000080b0, 0x65a02e37,
+ 0x00004489, 0x3a402e37, 0x00008aae, 0x0dc03637, 0x00004790, 0x08200e37,
+ 0x00000b8f, 0xd3800e37, 0x0000789a, 0x79400000, 0x00001589, 0xd6400210,
+ 0x00007893, 0x91000000, 0x0000958a, 0x80006637, 0x00001583, 0x04205c0b,
+ 0x00001909, 0x00002ac2, 0x0000f011, 0x04000c10, 0x00009183, 0xea838206,
+ 0x00007902, 0x1c400000, 0x00000000, 0xea839406, 0x0000f902, 0x1cc00000,
+ 0x00008000, 0x00002ac2, 0x0000f208, 0x81801206, 0x00009080, 0x04000c10,
+ 0x00009183, 0xea83a206, 0x0000f902, 0x1d400000, 0x00008000, 0xea83b406,
+ 0x00007902, 0x1dc00000, 0x00000000, 0x00002ac2, 0x0000f208, 0x81801206,
+ 0x00009080, 0x04000c10, 0x00009183, 0xea83c206, 0x0000f902, 0x1e400000,
+ 0x00008000, 0xea83d406, 0x00007902, 0x1ec00000, 0x00000000, 0x00002ac2,
+ 0x0000f208, 0x81801206, 0x00009080, 0x04000c10, 0x00009183, 0xea83e206,
+ 0x00007902, 0x1f400000, 0x00000000, 0xea83f406, 0x0000f902, 0x1fc00000,
+ 0x00008000, 0x00002ac2, 0x0000f208, 0x81801206, 0x00009080, 0x00000c10,
+ 0x00009583, 0xea840206, 0x00007902, 0x20400000, 0x00000000, 0xea841406,
+ 0x0000f902, 0x20c00000, 0x00008000, 0x00002ac2, 0x0000f208, 0x81801206,
+ 0x00009080, 0xea842206, 0x0000f902, 0x21400000, 0x00008000, 0xea843406,
+ 0x00007902, 0x21c00000, 0x00000000, 0x00000421, 0x00006583, 0x0721cc0b,
+ 0x00008001, 0x8df1bc0b, 0x00006001, 0xcd99b40b, 0x00000000, 0x0e61cc0b,
+ 0x00009001, 0x00002ad7, 0x0000f008, 0x2bb832ec, 0x00002004, 0xffffffff,
+ 0x00007fa7, 0x00072806, 0x00009502, 0x00002759, 0x00007400, 0x07000806,
+ 0x00009090, 0x2bb8e2ec, 0x0000a814, 0x04205c0b, 0x00009901, 0x04000c10,
+ 0x00009183, 0xea836206, 0x0000f902, 0x1b400000, 0x00008000, 0xea837406,
+ 0x00007902, 0x1bc00000, 0x00000000, 0x00002a9b, 0x0000f210, 0x81801206,
+ 0x00009080, 0x00002ac2, 0x0000f000, 0x8020e209, 0x00001502, 0x09c1cc1c,
+ 0x00006808, 0x0e400000, 0x00006189, 0x07000c1c, 0x0000c489, 0x00002ac8,
+ 0x00007010, 0xc1801739, 0x00006283, 0x90000039, 0x0000a401, 0x00000021,
+ 0x0000e58f, 0x00000020, 0x0000b596, 0x9660e039, 0x0000e801, 0x00002ac8,
+ 0x00007400, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0xea38fc0a,
+ 0x00005000, 0x0038f000, 0x00008000, 0x04205c0b, 0x00009901, 0x04000c10,
+ 0x00009183, 0xea832206, 0x00007902, 0x19400000, 0x00000000, 0xea833406,
+ 0x0000f902, 0x19c00000, 0x00008000, 0x00002ac2, 0x0000f208, 0x81801206,
+ 0x00009080, 0x04000c10, 0x00009183, 0xea834206, 0x00007902, 0x1a400000,
+ 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000, 0x00008000, 0x00002acf,
+ 0x00007210, 0x81801206, 0x00009080, 0x00002ac2, 0x0000f000, 0x00002aee,
+ 0x0000f200, 0x04205c0b, 0x00009901, 0x00002aa2, 0x00007200, 0x04205c0b,
+ 0x00009901, 0x00002ab7, 0x0000f200, 0x04205c0b, 0x00009901, 0x00002aa9,
+ 0x0000f200, 0x04205c0b, 0x00009901, 0x00002ab0, 0x00007200, 0x04205c0b,
+ 0x00009901, 0x80003e37, 0x00009583, 0x04205c0b, 0x00001909, 0x00002ac2,
+ 0x0000f011, 0x04000c10, 0x00009183, 0xea82e206, 0x0000f902, 0x17400000,
+ 0x00008000, 0xea82f406, 0x00007902, 0x17c00000, 0x00000000, 0x00002ac2,
+ 0x0000f208, 0x81801206, 0x00009080, 0x04000c10, 0x00009183, 0xea830206,
+ 0x0000f902, 0x18400000, 0x00008000, 0xea831406, 0x00007902, 0x18c00000,
+ 0x00000000, 0x00002ae7, 0x00007210, 0x81801206, 0x00009080, 0x00002ac2,
+ 0x0000f000, 0x00002b0a, 0x00007200, 0x04205c0b, 0x00009901, 0x04205c0b,
+ 0x00009901, 0x04000c10, 0x00009183, 0xea82c206, 0x00007902, 0x16400000,
+ 0x00000000, 0xea82d406, 0x0000f902, 0x16c00000, 0x00008000, 0x00002b03,
+ 0x0000f210, 0x81801206, 0x00009080, 0x00002ac2, 0x0000f000, 0x04205c0b,
+ 0x00009901, 0x04000c10, 0x00009183, 0xea828206, 0x0000f902, 0x14400000,
+ 0x00008000, 0xea829406, 0x00007902, 0x14c00000, 0x00000000, 0x00002ac2,
+ 0x0000f208, 0x81801206, 0x00009080, 0x04000c10, 0x00009183, 0xea82a206,
+ 0x00007902, 0x15400000, 0x00000000, 0xea82b406, 0x0000f902, 0x15c00000,
+ 0x00008000, 0x00002b15, 0x00007210, 0x81801206, 0x00009080, 0x00002ac2,
+ 0x0000f000, 0x00002b25, 0x0000f200, 0x04205c0b, 0x00009901, 0x04000c0b,
+ 0x00009183, 0xea820206, 0x00007902, 0x10400000, 0x00000000, 0xea821406,
+ 0x0000f902, 0x10c00000, 0x00008000, 0x00002ac2, 0x0000f208, 0x81801206,
+ 0x00009080, 0x04000c10, 0x00009183, 0xea822206, 0x0000f902, 0x11400000,
+ 0x00008000, 0xea823406, 0x00007902, 0x11c00000, 0x00000000, 0x00002ac2,
+ 0x0000f208, 0x81801206, 0x00009080, 0x04000c10, 0x00009183, 0xea824206,
+ 0x0000f902, 0x12400000, 0x00008000, 0xea825406, 0x00007902, 0x12c00000,
+ 0x00000000, 0x00002ac2, 0x0000f208, 0x81801206, 0x00009080, 0x04000c10,
+ 0x00009183, 0xea826206, 0x00007902, 0x13400000, 0x00000000, 0xea827406,
+ 0x0000f902, 0x13c00000, 0x00008000, 0x00002b1e, 0x0000f210, 0x81801206,
+ 0x00009080, 0x00002ac2, 0x0000f000, 0x00002b44, 0x00007200, 0x04205c0b,
+ 0x00009901, 0x00002b3d, 0x0000f200, 0x04205c0b, 0x00009901, 0x00002b36,
+ 0x00007200, 0x04205c0b, 0x00009901, 0xc1801739, 0x00006283, 0x09c1cc1c,
+ 0x0000a000, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596, 0x07000c1c,
+ 0x0000e481, 0x0e400000, 0x00000981, 0xea390a0a, 0x0000d000, 0x00390000,
+ 0x00000000, 0x90000039, 0x0000ec01, 0x00002759, 0x00007400, 0xea38fc0a,
+ 0x00005000, 0x0038f000, 0x00008000, 0x9660e039, 0x0000e801, 0x8000023e,
+ 0x0000e582, 0x01400800, 0x00008981, 0x20bc42ec, 0x0000d600, 0x003c4800,
+ 0x00000000, 0x04621c43, 0x00009909, 0x00002d49, 0x0000f010, 0x00001443,
+ 0x00009583, 0x0f025c06, 0x0000681e, 0x07007c06, 0x00009099, 0x00002d3b,
+ 0x00007030, 0x07007c1c, 0x00009281, 0x00001c1c, 0x00001583, 0x80000242,
+ 0x00009582, 0x80000246, 0x00001582, 0x00002d3b, 0x00007018, 0x00002d3b,
+ 0x0000f008, 0x00002d3b, 0x0000f008, 0x00001406, 0x00001583, 0x00002d47,
+ 0x0000703b, 0x0707844b, 0x00001281, 0x0002041c, 0x0000f890, 0x00000000,
+ 0x00000000, 0x4ec0024e, 0x0000f893, 0x01400001, 0x00008060, 0x4bc00d43,
+ 0x0000f88f, 0x01400001, 0x00000080, 0x4102583d, 0x0000e006, 0xd482383c,
+ 0x00003001, 0xc782383d, 0x0000e000, 0xf4c2383c, 0x00003001, 0xd782383d,
+ 0x00006000, 0x0f025c06, 0x0000b006, 0xe442383c, 0x00006001, 0x0002383d,
+ 0x0000b006, 0x0002383c, 0x0000e181, 0xa042383d, 0x0000b002, 0x02003c06,
+ 0x00006281, 0x8102383d, 0x0000a002, 0x4fe21c43, 0x0000e101, 0xd7604039,
+ 0x0000e005, 0x8eea304a, 0x0000832c, 0x4f2a5c4b, 0x00008331, 0x00001c08,
+ 0x0000e583, 0x81921242, 0x00008900, 0x00002408, 0x00009583, 0x00001408,
+ 0x00009583, 0x00002d2b, 0x00007008, 0x00002d2a, 0x0000f008, 0x00002d2c,
+ 0x0000f008, 0x82000a42, 0x00001282, 0x800ff206, 0x00009582, 0xffffffff,
+ 0x00007f86, 0x00002caa, 0x0000f010, 0x00002caa, 0x00007018, 0x82000a06,
+ 0x00006780, 0x8240e34a, 0x00000080, 0x8fe04408, 0x0000e101, 0x82503209,
+ 0x00004000, 0x802f2209, 0x0000f900, 0x00000008, 0x00008582, 0x00002c9d,
+ 0x0000f01b, 0xc0002f07, 0x00001583, 0x00000043, 0x0000ec09, 0x87000e3f,
+ 0x00006080, 0x8180e705, 0x0000c080, 0x8850e206, 0x00006000, 0x08c1cc06,
+ 0x00002004, 0x8010b221, 0x00006582, 0x07008406, 0x00000080, 0x04203406,
+ 0x00006100, 0x3840141c, 0x0000c881, 0x02000000, 0x000061b1, 0x8291da21,
+ 0x0000c030, 0x00002c81, 0x00007018, 0x0710520a, 0x00001900, 0x002f201c,
+ 0x00007900, 0x00000008, 0x00008582, 0x82400000, 0x000099d0, 0x00002bb4,
+ 0x0000f039, 0x82505209, 0x0000e000, 0x02ef2004, 0x00008980, 0x02000c08,
+ 0x00006081, 0x02d0480b, 0x00000100, 0x0000581c, 0x00001502, 0x00002bae,
+ 0x00007053, 0x07221e37, 0x00006401, 0x05203406, 0x0000c900, 0x2c20423b,
+ 0x00001600, 0x04c588b0, 0x00009000, 0x0020341c, 0x0000e503, 0x02f1be37,
+ 0x00000901, 0x01800c06, 0x00006099, 0x84909a13, 0x00008900, 0x00002c22,
+ 0x0000f031, 0x02020300, 0x00007904, 0x07020300, 0x00007904, 0x0250e21c,
+ 0x0000e100, 0x02172813, 0x00004200, 0x0010e008, 0x00009502, 0x07000c43,
+ 0x00009198, 0x00002bd4, 0x00007031, 0x0000e010, 0x00001502, 0x00002c34,
+ 0x0000700b, 0x0731bc43, 0x00006401, 0x05203406, 0x0000c900, 0x0461b843,
+ 0x0000802d, 0x0020e014, 0x00001502, 0x01800c06, 0x000090c9, 0x00002c23,
+ 0x0000f041, 0x04020300, 0x00007904, 0x04020300, 0x00007904, 0x02404a10,
+ 0x00009000, 0x00004808, 0x00009502, 0x07000c43, 0x00009198, 0x00002bd4,
+ 0x00007031, 0x0d00e014, 0x0000f80b, 0x31400000, 0x0000958e, 0x84d09a09,
+ 0x00009100, 0x80000213, 0x00001582, 0x07000c43, 0x0000e188, 0x02400000,
+ 0x00008991, 0x02400000, 0x00001989, 0x00002bdc, 0x0000f010, 0x0000a01c,
+ 0x00009502, 0x02400800, 0x00009989, 0x80000212, 0x00009582, 0x82c00000,
+ 0x0000e188, 0x0711daec, 0x00004110, 0x82c00000, 0x0000e190, 0x0411da12,
+ 0x0000c110, 0x00002be7, 0x00007008, 0x82c00a0b, 0x00006080, 0x0400e010,
+ 0x00008000, 0x0200823b, 0x00009000, 0x00000008, 0x00001582, 0x00002be2,
+ 0x0000703b, 0x2c110a0b, 0x00009600, 0x870588b0, 0x00001000, 0x8000020b,
+ 0x0000e582, 0x88400000, 0x00000980, 0x88400800, 0x0000e188, 0x8210921c,
+ 0x00004000, 0x07000c09, 0x00009481, 0x01610c1c, 0x00009203, 0x00002c5a,
+ 0x0000f013, 0x00000409, 0x00006583, 0xc1104304, 0x00008100, 0x07003504,
+ 0x0000e181, 0x0200843f, 0x00008880, 0x01000c04, 0x0000e181, 0xc000080c,
+ 0x00002407, 0x81403306, 0x00000034, 0x06e1f006, 0x00008118, 0x46c8913f,
+ 0x0000812a, 0x0639e73b, 0x00000124, 0x85a1e90b, 0x00008128, 0x4120341c,
+ 0x0000e101, 0x0840433d, 0x00000300, 0x00002c6c, 0x00007410, 0x0540433d,
+ 0x0000e300, 0x0739bc06, 0x00008001, 0xcdf9bc06, 0x0000e001, 0x04810a12,
+ 0x00000008, 0x815000ec, 0x0000d684, 0x00000000, 0x00000180, 0x80000213,
+ 0x0000e582, 0xcf509212, 0x00008900, 0x08c1cc09, 0x00006014, 0x08c1cc1c,
+ 0x0000b00c, 0xcf909a13, 0x0000e110, 0x01400c43, 0x0000c091, 0xcf800000,
+ 0x00006188, 0x04808012, 0x00004780, 0x07221c1c, 0x0000e009, 0x01604c05,
+ 0x00000011, 0x8f91f20b, 0x00006000, 0x0fe09412, 0x00008901, 0xcdc00c1c,
+ 0x00006191, 0xc5d9f33e, 0x00000900, 0x10e0341c, 0x0000e109, 0x10e03405,
+ 0x00000111, 0x813830ec, 0x0000a684, 0x01400000, 0x00009981, 0x000104e0,
+ 0x00007894, 0x00000000, 0x00000000, 0x00009c04, 0x000078b0, 0x00000000,
+ 0x00008020, 0x00008738, 0x0000788c, 0x00000000, 0x00008020, 0x00001506,
+ 0x0000788c, 0x00000000, 0x00008020, 0xf0410738, 0x0000f897, 0x01000001,
+ 0x00000060, 0x6b820738, 0x00007897, 0x79400000, 0x00009480, 0x02400000,
+ 0x00001980, 0x80000605, 0x00009583, 0x00008c0b, 0x00001583, 0xffffffff,
+ 0x00007f86, 0x00002c59, 0x0000f010, 0x00002c59, 0x00007030, 0x01c00000,
+ 0x0000e180, 0x08c1cf0a, 0x0000e004, 0x0209dc13, 0x00008022, 0x02b08c09,
+ 0x00000029, 0x01c9b80b, 0x0000001e, 0x01800ce0, 0x00001283, 0x00002c42,
+ 0x0000f013, 0x000004e3, 0x00001583, 0x03408000, 0x00009990, 0x00002c37,
+ 0x0000f009, 0x2c4c1c59, 0x0000f100, 0x2c34259f, 0x0000f100, 0x00002bdc,
+ 0x0000f400, 0x04800409, 0x0000018d, 0x00000a09, 0x0000ec86, 0x01000020,
+ 0x00001980, 0x034f9800, 0x0000f900, 0x001e388a, 0x00008980, 0x03b72000,
+ 0x00007900, 0x00234898, 0x00008980, 0x8100c800, 0x00009980, 0xc1001800,
+ 0x00006181, 0x08001a09, 0x0000e106, 0x2c421bb2, 0x00007500, 0x82600500,
+ 0x00008026, 0x01b8170a, 0x0000002c, 0x2c431c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x268f9800, 0x0000f910, 0x001e388a,
+ 0x00008980, 0x26400000, 0x0000e190, 0x26000000, 0x00004990, 0x00002c2f,
+ 0x00007008, 0x2c4c1c67, 0x0000f300, 0x26e524a4, 0x00001900, 0x2b000000,
+ 0x0000f900, 0x0000c080, 0x00000980, 0x298f9800, 0x00007900, 0x001e388a,
+ 0x00008980, 0x29f72000, 0x00007900, 0x00234898, 0x00008980, 0xe9300600,
+ 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x2c331bde,
+ 0x00007500, 0x28f85708, 0x00000a08, 0xab00c800, 0x00006180, 0x28403807,
+ 0x00004900, 0x08c1cc06, 0x00006804, 0x815000ec, 0x0000d684, 0x00000000,
+ 0x00000180, 0xcdf9bc06, 0x0000e001, 0xcf800000, 0x00000980, 0x813830ec,
+ 0x0000a684, 0x01400000, 0x00009981, 0x000104e0, 0x00007894, 0x00000000,
+ 0x00000000, 0x00009c04, 0x000078b0, 0x00000000, 0x00008020, 0x00008738,
+ 0x0000788c, 0x00000000, 0x00008020, 0x00001506, 0x0000788c, 0x00000000,
+ 0x00008020, 0xf0410738, 0x0000f897, 0x01000001, 0x00000060, 0x6b820738,
+ 0x00007897, 0x79400000, 0x00009480, 0x815000ec, 0x0000d684, 0x00000000,
+ 0x00000180, 0xd0000039, 0x00006405, 0x8000081b, 0x00003401, 0x813830ec,
+ 0x0000a684, 0x4f400400, 0x000003fe, 0x0f800000, 0x0000e180, 0x8dd1bd3f,
+ 0x0000c000, 0x01400000, 0x00009981, 0x000104e0, 0x00007894, 0x00000000,
+ 0x00000000, 0x00009c04, 0x000078b0, 0x00000000, 0x00008020, 0x00008738,
+ 0x0000788c, 0x00000000, 0x00008020, 0x00001506, 0x0000788c, 0x00000000,
+ 0x00008020, 0xf0410738, 0x0000f897, 0x01000001, 0x00000060, 0x6b820738,
+ 0x00007897, 0x79400000, 0x00009480, 0x0731bc43, 0x00006401, 0x8491da3b,
+ 0x00004900, 0x43403437, 0x0000802f, 0x0020341c, 0x00001503, 0x01800c06,
+ 0x00009099, 0x00002cef, 0x00007031, 0x02020300, 0x00007904, 0x02020300,
+ 0x00007904, 0x02504208, 0x00009900, 0x0011d809, 0x00001502, 0x07000c43,
+ 0x000091a8, 0x00002d21, 0x0000f021, 0x0000e010, 0x00001502, 0x00002d01,
+ 0x0000f00b, 0x0731bc43, 0x00006401, 0x02e03406, 0x00004900, 0x0461b843,
+ 0x00008035, 0x0020e00b, 0x00009502, 0x01800c06, 0x000090c9, 0x00002cf0,
+ 0x00007041, 0x04020300, 0x00007904, 0x04020300, 0x00007904, 0x02404a10,
+ 0x00009000, 0x0011d809, 0x00001502, 0x07000c43, 0x000091a8, 0x00002d21,
+ 0x0000f021, 0x4040e00b, 0x0000f80b, 0x79400000, 0x00009684, 0xc200e206,
+ 0x00006080, 0x01c00000, 0x00000980, 0x02800000, 0x0000f900, 0x00097900,
+ 0x00000980, 0x8221b84a, 0x0000001c, 0x01800ce0, 0x0000e283, 0x82904a09,
+ 0x00008900, 0x00002cbb, 0x0000f013, 0x000004e3, 0x00001583, 0x03406800,
+ 0x00009990, 0x00002cb4, 0x00007009, 0x2cc51c59, 0x00007100, 0x00002c33,
+ 0x00007000, 0x02000406, 0x000080a8, 0x01c00000, 0x0000e180, 0xc211ba37,
+ 0x00004900, 0x01800ce0, 0x00001283, 0x00002cd9, 0x00007013, 0x000004e3,
+ 0x00001583, 0x03407800, 0x00001990, 0x00002cd2, 0x00007009, 0x2ce31c59,
+ 0x0000f100, 0x00002c33, 0x00007000, 0x01000020, 0x00001980, 0x03566800,
+ 0x00007900, 0x001e3870, 0x00008980, 0x00002c3d, 0x00007400, 0x038a0000,
+ 0x00007900, 0x001f4118, 0x00000980, 0x8100b800, 0x00001980, 0x2cbc1c08,
+ 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x26966800,
+ 0x00007910, 0x001e3870, 0x00008980, 0x26400000, 0x0000e190, 0x26000000,
+ 0x00004990, 0x00002ca5, 0x0000f008, 0x2cc51c67, 0x00007300, 0x26e524a4,
+ 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980, 0x29966800,
+ 0x0000f900, 0x001e3870, 0x00008980, 0x29ca0000, 0x00007900, 0x001f4118,
+ 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400,
+ 0x00008a14, 0x2c331bde, 0x00007500, 0x28f85708, 0x00000a08, 0xab00b800,
+ 0x0000e180, 0x28403807, 0x00004900, 0x01000020, 0x00001980, 0x037cb800,
+ 0x00007900, 0x001e386e, 0x00008980, 0x00002c3d, 0x00007400, 0x03ade800,
+ 0x00007900, 0x0006a832, 0x00008980, 0x8100c000, 0x00001980, 0x2cda1c08,
+ 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x26bcb800,
+ 0x00007910, 0x001e386e, 0x00008980, 0x26400000, 0x0000e190, 0x26000000,
+ 0x00004990, 0x00002caf, 0x0000f008, 0x2ce31c67, 0x0000f300, 0x26e524a4,
+ 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980, 0x29bcb800,
+ 0x0000f900, 0x001e386e, 0x00008980, 0x29ede800, 0x00007900, 0x0006a832,
+ 0x00008980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400,
+ 0x00008a14, 0x2c331bde, 0x00007500, 0x28c00708, 0x00000a88, 0x6b000018,
+ 0x00000ac4, 0x02400000, 0x00001980, 0x80000605, 0x00009583, 0x00008c0d,
+ 0x00001583, 0xffffffff, 0x00007f86, 0x00002d1d, 0x00007010, 0x00002d1d,
+ 0x0000f030, 0x01c00000, 0x0000e180, 0x08c1cf0a, 0x0000e004, 0x0209dc3b,
+ 0x00008022, 0x02b08c09, 0x00000029, 0x01c9b80d, 0x0000001e, 0x01800ce0,
+ 0x00001283, 0x00002d06, 0x00007013, 0x000004e3, 0x00001583, 0x03408000,
+ 0x00009990, 0x00002c37, 0x0000f009, 0x2d101c59, 0x00007100, 0x00002c33,
+ 0x00007000, 0x04800409, 0x0000018d, 0x02400800, 0x00001981, 0x00002bf0,
+ 0x00007200, 0x82c00800, 0x0000e180, 0x82110a12, 0x0000c000, 0x2d071c08,
+ 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x268f9800,
+ 0x0000f910, 0x001e388a, 0x00008980, 0x26400000, 0x0000e190, 0x26000000,
+ 0x00004990, 0x00002cfc, 0x0000f008, 0x2d101c67, 0x00007300, 0x26e524a4,
+ 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980, 0x298f9800,
+ 0x00007900, 0x001e388a, 0x00008980, 0x29f72000, 0x00007900, 0x00234898,
+ 0x00008980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400,
+ 0x00008a14, 0x2c331bde, 0x00007500, 0x28f85708, 0x00000a08, 0xab00c800,
+ 0x00006180, 0x28403807, 0x00004900, 0x00002d03, 0x00007400, 0x02400000,
+ 0x0000e181, 0x08c1cc06, 0x0000e004, 0x44800000, 0x000081cd, 0x84d1da09,
+ 0x00009100, 0x80000213, 0x00001582, 0x07000c43, 0x0000e188, 0x02400000,
+ 0x00008991, 0x02400000, 0x00001989, 0x00002d03, 0x00007010, 0x00002d03,
+ 0x00007400, 0x0000e00b, 0x00001502, 0x02400800, 0x00009989, 0x81927242,
+ 0x00001000, 0x81925206, 0x00009000, 0x81923206, 0x00009000, 0xefa00a06,
+ 0x00004595, 0x77cff206, 0x0000e69c, 0xffffffff, 0x00007f86, 0x01c00000,
+ 0x0000e180, 0x02020040, 0x00004900, 0x42a1be43, 0x00000028, 0x01800ce0,
+ 0x0000e283, 0xc2aa1d43, 0x00008901, 0x00002d80, 0x0000f013, 0x000004e3,
+ 0x00001583, 0x03405000, 0x00001990, 0x00002d79, 0x00007009, 0x2d8a1c59,
+ 0x00007100, 0x00002c33, 0x00007000, 0x02221c43, 0x0000e101, 0x0f025d08,
+ 0x0000e006, 0x82223142, 0x00008028, 0x82a2714a, 0x0000801c, 0x01800ce0,
+ 0x0000e283, 0xc1d1ba37, 0x00008900, 0x00002d62, 0x0000f013, 0x000004e3,
+ 0x00001583, 0x03406000, 0x00001990, 0x00002d5b, 0x00007009, 0x2d6c1c59,
+ 0x0000f100, 0x00002c33, 0x00007000, 0xdc80024a, 0x0000f892, 0xd9400000,
+ 0x00001689, 0xc000033e, 0x00001582, 0x08c1cc1c, 0x00006814, 0x0180841c,
+ 0x00001090, 0x00002d59, 0x00007008, 0x78401406, 0x0000e081, 0x38401406,
+ 0x00004881, 0xffffffff, 0x00007fc7, 0x04020300, 0x00007904, 0x02020300,
+ 0x00007904, 0x0199f208, 0x00006100, 0x0019f008, 0x0000a186, 0x04008006,
+ 0x0000e002, 0x0700f806, 0x00008784, 0x0440881c, 0x00009004, 0x10408500,
+ 0x0000f904, 0x10404500, 0x0000f904, 0x00002b9e, 0x0000f200, 0x04621c43,
+ 0x00001901, 0x01000020, 0x00001980, 0x03768000, 0x0000f900, 0x001e386e,
+ 0x00008980, 0x00002c3d, 0x00007400, 0x03959000, 0x0000f900, 0x000c337e,
+ 0x00008980, 0x8100a800, 0x00009980, 0x2d631c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x26b68000, 0x0000f910, 0x001e386e,
+ 0x00008980, 0x26400000, 0x0000e190, 0x26000000, 0x00004990, 0x00002d42,
+ 0x00007008, 0x2d6c1c67, 0x0000f300, 0x26e524a4, 0x00001900, 0x2b000000,
+ 0x0000f900, 0x0000c080, 0x00000980, 0x29b68000, 0x00007900, 0x001e386e,
+ 0x00008980, 0x29d59000, 0x0000f900, 0x000c337e, 0x00008980, 0xe9300600,
+ 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x2c331bde,
+ 0x00007500, 0x28f85708, 0x00000a08, 0xab00a800, 0x00006180, 0x28403807,
+ 0x00004900, 0x01000020, 0x00001980, 0x03779000, 0x0000f900, 0x001e386e,
+ 0x00008980, 0x00002c3d, 0x00007400, 0x03bd1000, 0x00007900, 0x000fd02e,
+ 0x00000980, 0x81009800, 0x00009980, 0x2d811c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x26b79000, 0x0000f910, 0x001e386e,
+ 0x00008980, 0x26400000, 0x0000e190, 0x26000000, 0x00004990, 0x00002d36,
+ 0x00007008, 0x2d8a1c67, 0x00007300, 0x26e524a4, 0x00001900, 0x2b000000,
+ 0x0000f900, 0x0000c080, 0x00000980, 0x29b79000, 0x00007900, 0x001e386e,
+ 0x00008980, 0x29fd1000, 0x00007900, 0x000fd02e, 0x00000980, 0xe9300600,
+ 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x2c331bde,
+ 0x00007500, 0x28f85740, 0x00000a08, 0x6b000013, 0x00008ac4, 0x01c00000,
+ 0x0000e180, 0x02020040, 0x00004900, 0x42a1be43, 0x00000028, 0x01800ce0,
+ 0x0000e283, 0xc2b1be37, 0x00008901, 0x00002df2, 0x0000f013, 0x000004e3,
+ 0x00001583, 0x03405800, 0x00009990, 0x00002deb, 0x0000f009, 0x2dfc1c59,
+ 0x0000f100, 0x00002c33, 0x00007000, 0x00002c33, 0x00007000, 0x09006406,
+ 0x0000e006, 0x0900641b, 0x0000b006, 0x8dd1bd05, 0x00006000, 0x0360e41c,
+ 0x00000901, 0x8370f31d, 0x00000035, 0x4341031f, 0x00008038, 0x83b11321,
+ 0x00000039, 0x43812323, 0x0000803c, 0x000027b1, 0x00007400, 0x83f13325,
+ 0x0000003d, 0x01203404, 0x00006101, 0xc3e13c27, 0x00008901, 0x8000023b,
+ 0x0000e582, 0x0000080c, 0x00002402, 0x8dd1e23c, 0x00006110, 0xcd99e33c,
+ 0x00004910, 0x8ec00a3b, 0x00006190, 0x8ed9db3b, 0x00008908, 0x8f11ba37,
+ 0x0000e108, 0xcf19b336, 0x00004908, 0x41810543, 0x0000e283, 0x04c00000,
+ 0x00000980, 0x033e380c, 0x0000f900, 0x003ffffe, 0x00008280, 0x01809800,
+ 0x0000e191, 0x01809000, 0x00004989, 0x04009000, 0x0000e180, 0x00001813,
+ 0x00006106, 0x0304000c, 0x00006380, 0xc0001813, 0x00002006, 0x04400000,
+ 0x0000f900, 0x00018030, 0x00008980, 0x04801002, 0x0000e100, 0x8000180c,
+ 0x0000e407, 0x0521bf88, 0x0000811c, 0xc4001d05, 0x0000e081, 0x84203406,
+ 0x00008901, 0x08d1ba3a, 0x0000785a, 0x31400000, 0x00009582, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec,
+ 0x00005780, 0x00000000, 0x00008080, 0x02400000, 0x0000f900, 0x001f8000,
+ 0x00008980, 0x826f2304, 0x0000f900, 0x00000008, 0x00008180, 0x8182a504,
+ 0x0000e180, 0x0239be37, 0x00008100, 0x07401408, 0x0000e081, 0x04103009,
+ 0x00006101, 0x02008737, 0x0000e080, 0x08c1cc06, 0x00002004, 0x20384eec,
+ 0x0000d600, 0x003c4000, 0x00008000, 0x38401408, 0x0000e081, 0x41c00000,
+ 0x0000c981, 0x02008406, 0x00006080, 0x81c00000, 0x00000981, 0x01b9bc06,
+ 0x0000e101, 0x41400000, 0x00008981, 0x8df1bc06, 0x0000e001, 0xc12f2004,
+ 0x00008980, 0x2bb832ec, 0x0000a084, 0x4102a000, 0x00006181, 0x78401408,
+ 0x00004881, 0xcdc00000, 0x00001981, 0xffffffff, 0x00007f86, 0x00072806,
+ 0x00009502, 0x000026da, 0x00007400, 0x01800806, 0x00001090, 0x2bb832ec,
+ 0x0000a894, 0x01000020, 0x00001980, 0x03590800, 0x00007900, 0x002d8598,
+ 0x00008980, 0x00002c3d, 0x00007400, 0x038b9000, 0x0000f900, 0x00386e1a,
+ 0x00000980, 0x8100a000, 0x00001980, 0x2df31c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x26990800, 0x00007910, 0x002d8598,
+ 0x00008980, 0x26400000, 0x0000e190, 0x26000000, 0x00004990, 0x00002d9c,
+ 0x00007008, 0x2dfc1c67, 0x0000f300, 0x26e524a4, 0x00001900, 0x2b000000,
+ 0x0000f900, 0x0000c080, 0x00000980, 0x29990800, 0x0000f900, 0x002d8598,
+ 0x00008980, 0x29cb9000, 0x0000f900, 0x00386e1a, 0x00000980, 0xe9300600,
+ 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x2c331bde,
+ 0x00007500, 0x28f85740, 0x00000a08, 0x6b000014, 0x00000ac4, 0x02610c21,
+ 0x00001901, 0x02402409, 0x00009081, 0x0020ec09, 0x00009503, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x00002e09, 0x0000f028, 0x000026f9,
+ 0x00007000, 0xc1801739, 0x00006283, 0x81990b21, 0x00008900, 0x8721cc39,
+ 0x0000e100, 0x81910220, 0x0000c910, 0xffffffff, 0x00007f86, 0xd710321c,
+ 0x00007813, 0xf1000000, 0x00001a88, 0x8020320b, 0x00001502, 0x02610c21,
+ 0x0000e111, 0x09c1cc1c, 0x0000e008, 0x07000c1c, 0x00006489, 0x0e400000,
+ 0x00008989, 0x0000274f, 0x0000f010, 0xc1801739, 0x00006283, 0x02400800,
+ 0x00008981, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596, 0x90000039,
+ 0x0000ec01, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0x0000274f,
+ 0x0000f400, 0x9660e039, 0x0000e801, 0xea38fc0a, 0x00005000, 0x0038f000,
+ 0x00008000, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x80204206,
+ 0x00001502, 0x02a03406, 0x00006131, 0x02c09000, 0x00004999, 0x02b1bc0b,
+ 0x00001119, 0xffffffff, 0x00007f86, 0x0000040a, 0x00006583, 0x81e0540a,
+ 0x00008901, 0x07008637, 0x0000e090, 0x0941c409, 0x0000a010, 0x0480081c,
+ 0x00006090, 0x02c02636, 0x00004890, 0x00002e98, 0x0000f008, 0x0700f80b,
+ 0x00006784, 0x0871b40a, 0x00008000, 0x0441900b, 0x0000e002, 0x85c0240a,
+ 0x00008880, 0x0007f821, 0x00006582, 0x0401981c, 0x00008004, 0x00080021,
+ 0x00001582, 0xffffffff, 0x00007f86, 0x000031ef, 0x0000f050, 0x000031da,
+ 0x00007008, 0x07000100, 0x000080ec, 0x0731b01c, 0x0000e100, 0x0420900b,
+ 0x0000a085, 0x05000000, 0x0000f900, 0x000014c0, 0x00008980, 0x04c0201c,
+ 0x00006080, 0x75e8000b, 0x00006101, 0x00000409, 0x00006583, 0x00109814,
+ 0x00002106, 0x7038a0ec, 0x0000d600, 0x00385800, 0x00000000, 0x05000000,
+ 0x00006180, 0x09c1c40a, 0x00006012, 0x00002e53, 0x0000f410, 0x8500201c,
+ 0x00006080, 0x02c00000, 0x0000c980, 0x02800000, 0x00006189, 0x0001c014,
+ 0x00006111, 0xffffffff, 0x00007f86, 0x000ff814, 0x0000ed01, 0x07000a38,
+ 0x00006180, 0x8001600b, 0x0000a686, 0x96605014, 0x00006003, 0x0418100b,
+ 0x00003187, 0x0c81a034, 0x00006100, 0x0941c40a, 0x0000e000, 0x703888ec,
+ 0x0000d600, 0x00388000, 0x00000000, 0x04000340, 0x00006180, 0xb6e05014,
+ 0x00006005, 0x7038a0ec, 0x0000d600, 0x00385800, 0x00000000, 0x02d1b236,
+ 0x00006100, 0x75e80010, 0x00006101, 0x0000e00b, 0x0000e502, 0x0cc1a835,
+ 0x00000900, 0x88400a36, 0x0000e090, 0x88400000, 0x00008988, 0x700040ec,
+ 0x00005680, 0x003884c0, 0x00000010, 0x8d910a21, 0x00006100, 0x04200005,
+ 0x00004980, 0x08401a21, 0x00006080, 0x04181010, 0x00006187, 0x02c18021,
+ 0x00006002, 0x0441a034, 0x00000900, 0x05000031, 0x0000e084, 0x0700580b,
+ 0x00008900, 0x7038e0ec, 0x00005600, 0x0038a000, 0x00008000, 0x700040ec,
+ 0x00005680, 0x003887c0, 0x00008078, 0x04000000, 0x00007900, 0x000014c4,
+ 0x00000980, 0x87109a17, 0x00006100, 0x02c00000, 0x00000980, 0x82e80500,
+ 0x0000e100, 0x0010e010, 0x00006106, 0x00000409, 0x00006583, 0x87001a13,
+ 0x00000780, 0x8710921c, 0x0000e000, 0x09c1c409, 0x0000a012, 0x04800000,
+ 0x00006180, 0x0420e00b, 0x0000e085, 0x84909a17, 0x0000e100, 0x75e8000b,
+ 0x0000a101, 0x703880ec, 0x00005600, 0x00385800, 0x00000000, 0x00002e89,
+ 0x00007410, 0x02c00000, 0x0000e180, 0x0001c012, 0x00006111, 0x02400000,
+ 0x00006189, 0x0401a835, 0x00004900, 0x000ff812, 0x0000ed01, 0xffffffff,
+ 0x00007f86, 0x96604812, 0x0000e803, 0xb6e05012, 0x0000e805, 0x8039be37,
+ 0x00006503, 0x8001600b, 0x0000a686, 0x703888ec, 0x0000d600, 0x00388000,
+ 0x00000000, 0x0418100b, 0x0000e987, 0x00003803, 0x0000f218, 0x703890ec,
+ 0x0000d600, 0x00385800, 0x00000000, 0xcd99b607, 0x0000e000, 0x8df1be07,
+ 0x00008001, 0x00d802ec, 0x0000df80, 0x12d4c008, 0x000011c4, 0xea0080ec,
+ 0x0000f902, 0x02400000, 0x00000000, 0x02303c08, 0x00006101, 0x82f03a06,
+ 0x00008100, 0xffffffff, 0x00007f97, 0x00000409, 0x0000f888, 0x00000000,
+ 0x00000000, 0x00007810, 0x0000f888, 0x00000000, 0x00008020, 0xd701fa0b,
+ 0x0000f8b3, 0x01000001, 0x000000a0, 0x070080e5, 0x00006400, 0xc0000838,
+ 0x0000a401, 0x40000507, 0x00001583, 0x4e60e41c, 0x00006301, 0x8df1be07,
+ 0x0000c011, 0xcd99b607, 0x00006010, 0x0729cfe4, 0x00008800, 0x00002eb8,
+ 0x0000f408, 0x0400801c, 0x00001300, 0xea3880ec, 0x0000a880, 0x07370ee1,
+ 0x00009901, 0x00d802ec, 0x0000df80, 0x12d58008, 0x000011c4, 0x01803c07,
+ 0x00009281, 0x01801406, 0x00001181, 0x00000c06, 0x00001583, 0x41c00000,
+ 0x0000e199, 0xb860e41c, 0x0000c919, 0x07008737, 0x00001098, 0x00002c33,
+ 0x00007030, 0x3840141c, 0x00009881, 0x08000000, 0x0000e180, 0x87000d39,
+ 0x00004880, 0x0e400000, 0x0000e181, 0xc83f1fe3, 0x00004900, 0xea00021c,
+ 0x00005080, 0x00390000, 0x00000000, 0x82800d39, 0x0000e080, 0x08400000,
+ 0x00004980, 0x07c1a034, 0x00006100, 0x90000839, 0x0000e401, 0xea39a41c,
+ 0x0000d000, 0x0039a800, 0x00008000, 0xc2404539, 0x00006080, 0x0781a835,
+ 0x0000c900, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000041d,
+ 0x00006583, 0x03000000, 0x00008980, 0x03400000, 0x000000f8, 0x03c00000,
+ 0x000081d4, 0x05800000, 0x000081dc, 0x000031d2, 0x00007410, 0x06000000,
+ 0x000081e4, 0x06c00000, 0x000081e8, 0xc1801739, 0x00006283, 0x82510220,
+ 0x00008900, 0x87000c39, 0x0000e080, 0x82590b21, 0x0000c908, 0x87184a1c,
+ 0x00009000, 0x84400209, 0x00009180, 0x80204211, 0x00001502, 0xc1801739,
+ 0x00006283, 0x02208c11, 0x00000929, 0x81800000, 0x00006188, 0x81840000,
+ 0x0000c990, 0x8420420b, 0x00001100, 0x8190321c, 0x00009000, 0x2f400408,
+ 0x00004188, 0x00604637, 0x00000088, 0x2f004637, 0x000041b0, 0x00606e37,
+ 0x00000088, 0x2ec06e37, 0x0000c198, 0x00605637, 0x00008088, 0x50605637,
+ 0x0000c5a8, 0x27a05e37, 0x00008188, 0x32407e37, 0x0000c488, 0x1c607e37,
+ 0x00008cab, 0x55208637, 0x00004588, 0x03208e37, 0x0000038b, 0x39801e37,
+ 0x0000c388, 0x00601e37, 0x000000b0, 0x35a02e37, 0x0000c488, 0x3a602e37,
+ 0x00000cab, 0x52c03637, 0x0000c791, 0xaa600e37, 0x0000ae89, 0x58000e37,
+ 0x0000c7b1, 0x2de00421, 0x00007290, 0xcb800211, 0x0000f893, 0x89400000,
+ 0x00001882, 0x80006637, 0x00001583, 0x02e04408, 0x00001909, 0x00002f1d,
+ 0x00007011, 0x02c00c0b, 0x00009183, 0xea838206, 0x00007902, 0x1c400000,
+ 0x00000000, 0xea839406, 0x0000f902, 0x1cc00000, 0x00008000, 0x00002f1d,
+ 0x00007208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea83a206,
+ 0x0000f902, 0x1d400000, 0x00008000, 0xea83b406, 0x00007902, 0x1dc00000,
+ 0x00000000, 0x00002f1d, 0x00007208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea83c206, 0x0000f902, 0x1e400000, 0x00008000, 0xea83d406,
+ 0x00007902, 0x1ec00000, 0x00000000, 0x00002f1d, 0x00007208, 0x81801206,
+ 0x00009080, 0x02c00c0b, 0x00009183, 0xea83e206, 0x00007902, 0x1f400000,
+ 0x00000000, 0xea83f406, 0x0000f902, 0x1fc00000, 0x00008000, 0x00002f1d,
+ 0x00007208, 0x81801206, 0x00009080, 0x00000c0b, 0x00009583, 0xea840206,
+ 0x00007902, 0x20400000, 0x00000000, 0xea841406, 0x0000f902, 0x20c00000,
+ 0x00008000, 0x00002f1d, 0x00007208, 0x81801206, 0x00009080, 0xea842206,
+ 0x0000f902, 0x21400000, 0x00008000, 0xea843406, 0x00007902, 0x21c00000,
+ 0x00000000, 0x00000421, 0x00006583, 0x07000408, 0x00008081, 0x0e400408,
+ 0x00006081, 0x8df1bc08, 0x00000001, 0x01800000, 0x00006191, 0xcd99b408,
+ 0x0000c000, 0x00003142, 0x0000f008, 0x2bb842ec, 0x0000a004, 0xffffffff,
+ 0x00007fa7, 0x00072808, 0x00001502, 0x07000808, 0x00001090, 0x2bb8e2ec,
+ 0x0000a814, 0x00000421, 0x00009583, 0x00000406, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x00002e0f, 0x00007010, 0x0000305f, 0x00007010, 0x82190b21,
+ 0x00009900, 0xccc01739, 0x0000f897, 0x01400001, 0x00008000, 0xd7000220,
+ 0x00007893, 0xb1000000, 0x00009789, 0xc0000321, 0x00009582, 0x82110220,
+ 0x00001908, 0x0000275c, 0x0000f011, 0x81a1ca08, 0x00001100, 0x8719b206,
+ 0x0000e000, 0x82503210, 0x00008100, 0x8001fa09, 0x00009582, 0x01a04c09,
+ 0x00001931, 0x0000304f, 0x0000f019, 0x00000409, 0x00009583, 0x00003011,
+ 0x0000700b, 0xc1801739, 0x00006283, 0x88400800, 0x00008980, 0x48400800,
+ 0x00006189, 0x04c00000, 0x0000c980, 0x04800000, 0x00006180, 0x85c02406,
+ 0x00004880, 0x40000521, 0x00006583, 0x0941c411, 0x00002000, 0xc4e03406,
+ 0x0000e108, 0x08806800, 0x0000c989, 0x44c00800, 0x0000e191, 0x84a03406,
+ 0x0000c910, 0x08818800, 0x0000e191, 0x0c01c223, 0x00006100, 0xc1801739,
+ 0x00006283, 0x89a08c11, 0x00000900, 0x81800000, 0x00006190, 0x81840000,
+ 0x0000c988, 0x82754b09, 0x00007900, 0x00000002, 0x00000080, 0x8247fa1c,
+ 0x0000e280, 0x81903209, 0x00008000, 0x0707fa09, 0x00009280, 0x0200201c,
+ 0x00001880, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0x0700f808,
+ 0x00006784, 0x0f00b821, 0x00002106, 0x04019008, 0x00006002, 0x89d10a21,
+ 0x00008900, 0x80010221, 0x0000e582, 0x0201981c, 0x00008004, 0x87f5120a,
+ 0x0000f900, 0x00000002, 0x00000080, 0xea39a40a, 0x00005000, 0x0039a800,
+ 0x00008000, 0x00002f9e, 0x0000f030, 0x00000411, 0x00006583, 0x07000a38,
+ 0x00000180, 0x09400000, 0x0000e189, 0x09c1c425, 0x0000e012, 0x8006fa09,
+ 0x00001582, 0x02c80000, 0x000099b8, 0x0790480b, 0x00009138, 0x00002fe7,
+ 0x00007050, 0x05000000, 0x0000f900, 0x000010c0, 0x00000980, 0x0740201e,
+ 0x00006080, 0x02c00000, 0x0000c980, 0x0010e814, 0x00006106, 0x0410300b,
+ 0x00003187, 0x7038a0ec, 0x0000d600, 0x00385800, 0x00000000, 0x80000226,
+ 0x0000e582, 0x05000000, 0x00008980, 0x8500201e, 0x0000e080, 0x02c00000,
+ 0x0000c980, 0x04111814, 0x00006111, 0x8001600b, 0x0000b696, 0x00002fc0,
+ 0x0000f008, 0x96612814, 0x0000e003, 0x0418100b, 0x00003187, 0x703880ec,
+ 0x00005600, 0x00384000, 0x00000000, 0x82504a27, 0x0000e000, 0xb6e08814,
+ 0x0000a005, 0x7038a0ec, 0x0000d600, 0x00385800, 0x00000000, 0x02d1b236,
+ 0x00006100, 0x89c80209, 0x00004180, 0x0000e00b, 0x0000e502, 0x0a200005,
+ 0x00000980, 0x88400a36, 0x0000e090, 0x88400000, 0x00008988, 0x82401a1d,
+ 0x00006780, 0x04181028, 0x00002187, 0x0db9a421, 0x00000308, 0x08401a21,
+ 0x00006080, 0x0cc1a835, 0x0000c900, 0x05018021, 0x0000e002, 0x85d0ea17,
+ 0x00000100, 0x08400000, 0x00006180, 0x07800031, 0x00004084, 0x80010227,
+ 0x0000e582, 0x0410f821, 0x0000a187, 0x700040ec, 0x00005680, 0x003908c0,
+ 0x00000010, 0x0879a714, 0x00000100, 0x703908ec, 0x0000d600, 0x0038f000,
+ 0x00008000, 0x700040ec, 0x00005680, 0x003947c0, 0x00000078, 0x00002f67,
+ 0x00007418, 0x0201a835, 0x00006100, 0x81904a06, 0x00004000, 0x82400000,
+ 0x00009980, 0x09d13a09, 0x00009000, 0x00080027, 0x00001582, 0x00080027,
+ 0x00001582, 0xffffffff, 0x00007f86, 0x00003038, 0x0000f008, 0x00003017,
+ 0x00007038, 0x02f89713, 0x00000024, 0x04c00000, 0x00007900, 0x000010e0,
+ 0x00008980, 0x04900000, 0x0000e180, 0x0010b813, 0x0000e106, 0x04103012,
+ 0x00006987, 0x703898ec, 0x00005600, 0x00389000, 0x00008000, 0x04800000,
+ 0x00001980, 0x84b50a0a, 0x00007900, 0x00000002, 0x00000080, 0x04211012,
+ 0x0000e887, 0x703890ec, 0x0000d600, 0x00000000, 0x00008080, 0x703858ec,
+ 0x00005600, 0x00384800, 0x00008000, 0x01800000, 0x000080ec, 0x82d0ba17,
+ 0x00009900, 0x0001c00b, 0x00006101, 0x80016006, 0x0000b686, 0x04181006,
+ 0x0000e187, 0x9001c00b, 0x00003003, 0x703880ec, 0x00005600, 0x00384000,
+ 0x00000000, 0x0000275c, 0x00007400, 0xb6e0880b, 0x00006805, 0x703858ec,
+ 0x00005600, 0x00383000, 0x00008000, 0x000ff814, 0x00006583, 0x8001600b,
+ 0x00003686, 0x96612814, 0x0000e003, 0x0418100b, 0x00003187, 0x703880ec,
+ 0x00005600, 0x00384000, 0x00000000, 0x0a200005, 0x0000e180, 0xb6e08814,
+ 0x00006005, 0x7038a0ec, 0x0000d600, 0x00385800, 0x00000000, 0x02d1b236,
+ 0x00006100, 0x82504a27, 0x00004000, 0x0000e00b, 0x0000e502, 0x04181028,
+ 0x00002187, 0x88400a36, 0x0000e090, 0x88400000, 0x00008988, 0x89c80209,
+ 0x0000e180, 0x0c81a034, 0x00008900, 0x8d910a21, 0x00006100, 0x82401a1d,
+ 0x0000c780, 0x08401a21, 0x00006080, 0x0cc1a835, 0x0000c900, 0x05018021,
+ 0x0000e002, 0x85d0ea17, 0x00000100, 0x08400000, 0x00006180, 0x07800031,
+ 0x00004084, 0x0401a034, 0x00006100, 0x0410f821, 0x00006187, 0x700040ec,
+ 0x00005680, 0x003908c0, 0x00000010, 0x0879af14, 0x00008020, 0x703908ec,
+ 0x0000d600, 0x0038f000, 0x00008000, 0x700040ec, 0x00005680, 0x003947c0,
+ 0x00000078, 0x82400000, 0x0000e180, 0x81904a06, 0x00004000, 0xd9c10227,
+ 0x0000789b, 0xf1400000, 0x0000978c, 0x80000226, 0x0000e582, 0x05000000,
+ 0x00008980, 0x02d00000, 0x00006180, 0x04103014, 0x0000e187, 0x701000ec,
+ 0x00005680, 0x0038a0c0, 0x00000010, 0x00003000, 0x0000f208, 0x07800000,
+ 0x00006180, 0x0411180b, 0x0000e111, 0x89c10227, 0x0000e180, 0x8001601e,
+ 0x00002686, 0x9661280b, 0x00006003, 0x0418101e, 0x0000b187, 0x703880ec,
+ 0x00005600, 0x00384000, 0x00000000, 0x04100010, 0x0000e082, 0xb6e0880b,
+ 0x00002005, 0x703858ec, 0x00005600, 0x0038f000, 0x00008000, 0x82410209,
+ 0x00006080, 0x85d00217, 0x00008180, 0x02000008, 0x00006084, 0x81820206,
+ 0x00000080, 0xd9c10227, 0x0000789b, 0xf1400000, 0x0000978c, 0x000ff80b,
+ 0x0000e583, 0x8001601e, 0x0000b686, 0x9661280b, 0x00006003, 0x0418101e,
+ 0x0000b187, 0x703880ec, 0x00005600, 0x00384000, 0x00000000, 0x04100010,
+ 0x0000e082, 0xb6e0880b, 0x00002005, 0x703858ec, 0x00005600, 0x0038f000,
+ 0x00008000, 0x89c10227, 0x0000e180, 0x82410209, 0x00000080, 0x85d00217,
+ 0x0000e180, 0x81820206, 0x00000080, 0x02000008, 0x00009084, 0xd9c10227,
+ 0x0000789b, 0xf1400000, 0x0000978c, 0xea390a0a, 0x0000d000, 0x00390000,
+ 0x00000000, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0xd7000208,
+ 0x00007893, 0xc1000000, 0x00001582, 0x00000411, 0x00006583, 0x07080000,
+ 0x00008980, 0x0510481c, 0x0000e100, 0x07400000, 0x00008980, 0x02c00000,
+ 0x00007900, 0x000010c0, 0x00000980, 0x02402014, 0x00006080, 0x07000000,
+ 0x0000c980, 0x0010480b, 0x0000e106, 0x0410301c, 0x00003187, 0x703858ec,
+ 0x00005600, 0x0038e000, 0x00000000, 0x02c00000, 0x0000e180, 0x07008010,
+ 0x00004900, 0x0000302c, 0x00007410, 0x82c02014, 0x00006080, 0x09c1c410,
+ 0x0000e012, 0x04000000, 0x0000e189, 0x0001c00b, 0x0000e111, 0xffffffff,
+ 0x00007f86, 0x000ff80b, 0x00006d01, 0x85d04a17, 0x00006100, 0x8001601d,
+ 0x00002686, 0x9660800b, 0x00006003, 0x0418101d, 0x0000b187, 0x7038e0ec,
+ 0x00005600, 0x00384000, 0x00000000, 0x87001a09, 0x0000e780, 0xb6e0880b,
+ 0x00002005, 0x703858ec, 0x00005600, 0x0038e800, 0x00008000, 0x0439af34,
+ 0x00008020, 0x8190e206, 0x00009000, 0x0251b236, 0x0000e100, 0x07000a38,
+ 0x0000c180, 0x0000e009, 0x00006502, 0x05000000, 0x00008980, 0x82400a36,
+ 0x0000e090, 0x82400000, 0x00008988, 0xc535120a, 0x0000f900, 0x00000002,
+ 0x00000080, 0x8d904a09, 0x00006100, 0x07600005, 0x0000c980, 0x02401a09,
+ 0x00006080, 0x0418101d, 0x0000e187, 0x07018009, 0x00006002, 0x0c81a034,
+ 0x00008900, 0x700040ec, 0x00005680, 0x0038a0c0, 0x00000010, 0x0cc1a835,
+ 0x0000e100, 0x02c00031, 0x0000c084, 0x00002fa4, 0x00007400, 0x7038e0ec,
+ 0x00005600, 0x00385800, 0x00000000, 0x700040ec, 0x00005680, 0x0038efc0,
+ 0x00000078, 0x00002f3e, 0x00007200, 0x01820000, 0x00001981, 0xc1801739,
+ 0x00006283, 0x09c1cc1c, 0x0000a000, 0x00000021, 0x0000e58f, 0x00000020,
+ 0x0000b596, 0x07000c1c, 0x0000e481, 0x0e400000, 0x00000981, 0x00000421,
+ 0x00006583, 0x90000039, 0x0000a401, 0xea390a0a, 0x0000d000, 0x00390000,
+ 0x00000000, 0x9660e039, 0x0000e801, 0x00002e0f, 0x0000f210, 0xea39a40a,
+ 0x00005000, 0x0039a800, 0x00008000, 0xc1801739, 0x00006283, 0x82510220,
+ 0x00008900, 0x82590b21, 0x0000e108, 0x02c09000, 0x00004981, 0x87000c39,
+ 0x0000e080, 0x0231bc0b, 0x0000c101, 0x87184a1c, 0x00006000, 0x82e1ca09,
+ 0x00008100, 0x8020420b, 0x00009502, 0xc1801739, 0x00006283, 0x02205c0b,
+ 0x00000929, 0x81840000, 0x00009990, 0x81800000, 0x00006188, 0x84204210,
+ 0x00004100, 0x0000306e, 0x0000f010, 0x8190321c, 0x00009000, 0x1ea00408,
+ 0x00004188, 0x00604637, 0x00000088, 0x2a604637, 0x000041b0, 0x00606e37,
+ 0x00000088, 0x2b606e37, 0x0000c198, 0x00605637, 0x00008088, 0x0bc05637,
+ 0x000045a8, 0x04605e37, 0x00000188, 0x2b207e37, 0x00004488, 0xae607e37,
+ 0x00000caa, 0x1b808637, 0x00004588, 0x03208e37, 0x0000038b, 0x25e01e37,
+ 0x00004388, 0x00601e37, 0x000000b0, 0x22002e37, 0x0000c488, 0x00602e37,
+ 0x00008caa, 0x0c803637, 0x00004790, 0x07800e37, 0x00000b8a, 0x4c400e37,
+ 0x0000789a, 0x91800000, 0x00001888, 0xcb80020b, 0x00007893, 0xa9400000,
+ 0x00001889, 0x80006637, 0x00001583, 0x02e04408, 0x00001909, 0x000030af,
+ 0x0000f011, 0x02c00c0b, 0x00009183, 0xea838206, 0x00007902, 0x1c400000,
+ 0x00000000, 0xea839406, 0x0000f902, 0x1cc00000, 0x00008000, 0x000030af,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea83a206,
+ 0x0000f902, 0x1d400000, 0x00008000, 0xea83b406, 0x00007902, 0x1dc00000,
+ 0x00000000, 0x000030af, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea83c206, 0x0000f902, 0x1e400000, 0x00008000, 0xea83d406,
+ 0x00007902, 0x1ec00000, 0x00000000, 0x000030af, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02c00c0b, 0x00009183, 0xea83e206, 0x00007902, 0x1f400000,
+ 0x00000000, 0xea83f406, 0x0000f902, 0x1fc00000, 0x00008000, 0x000030af,
+ 0x0000f208, 0x81801206, 0x00009080, 0x00000c0b, 0x00009583, 0xea840206,
+ 0x00007902, 0x20400000, 0x00000000, 0xea841406, 0x0000f902, 0x20c00000,
+ 0x00008000, 0x000030af, 0x0000f208, 0x81801206, 0x00009080, 0xea842206,
+ 0x0000f902, 0x21400000, 0x00008000, 0xea843406, 0x00007902, 0x21c00000,
+ 0x00000000, 0x00000421, 0x00006583, 0x0721cc08, 0x00008001, 0x8df1bc08,
+ 0x00006001, 0xcd99b408, 0x00000000, 0x0e61cc08, 0x00009001, 0x000030c4,
+ 0x0000f008, 0x2bb832ec, 0x00002004, 0xffffffff, 0x00007fa7, 0x00072806,
+ 0x00009502, 0x00002f2e, 0x0000f400, 0x07000806, 0x00009090, 0x2bb8e2ec,
+ 0x0000a814, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183, 0xea836206,
+ 0x0000f902, 0x1b400000, 0x00008000, 0xea837406, 0x00007902, 0x1bc00000,
+ 0x00000000, 0x00003088, 0x0000f210, 0x81801206, 0x00009080, 0x000030af,
+ 0x0000f000, 0x8020e209, 0x00001502, 0x09c1cc1c, 0x00006808, 0x0e400000,
+ 0x00006189, 0x07000c1c, 0x0000c489, 0x000030b5, 0x0000f010, 0xc1801739,
+ 0x00006283, 0x90000039, 0x0000a401, 0x00000021, 0x0000e58f, 0x00000020,
+ 0x0000b596, 0x9660e039, 0x0000e801, 0x000030b5, 0x0000f400, 0xea390a0a,
+ 0x0000d000, 0x00390000, 0x00000000, 0xea39a40a, 0x00005000, 0x0039a800,
+ 0x00008000, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183, 0xea832206,
+ 0x00007902, 0x19400000, 0x00000000, 0xea833406, 0x0000f902, 0x19c00000,
+ 0x00008000, 0x000030af, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea834206, 0x00007902, 0x1a400000, 0x00000000, 0xea835406,
+ 0x0000f902, 0x1ac00000, 0x00008000, 0x000030bc, 0x00007210, 0x81801206,
+ 0x00009080, 0x000030af, 0x0000f000, 0x80003e37, 0x00009583, 0x02e04408,
+ 0x00001909, 0x000030af, 0x0000f011, 0x02c00c0b, 0x00009183, 0xea82e206,
+ 0x0000f902, 0x17400000, 0x00008000, 0xea82f406, 0x00007902, 0x17c00000,
+ 0x00000000, 0x000030af, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea830206, 0x0000f902, 0x18400000, 0x00008000, 0xea831406,
+ 0x00007902, 0x18c00000, 0x00000000, 0x000030d4, 0x0000f210, 0x81801206,
+ 0x00009080, 0x000030af, 0x0000f000, 0x000030ed, 0x00007200, 0x02e04408,
+ 0x00009901, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183, 0xea82c206,
+ 0x00007902, 0x16400000, 0x00000000, 0xea82d406, 0x0000f902, 0x16c00000,
+ 0x00008000, 0x000030e6, 0x00007210, 0x81801206, 0x00009080, 0x000030af,
+ 0x0000f000, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183, 0xea828206,
+ 0x0000f902, 0x14400000, 0x00008000, 0xea829406, 0x00007902, 0x14c00000,
+ 0x00000000, 0x000030af, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea82a206, 0x00007902, 0x15400000, 0x00000000, 0xea82b406,
+ 0x0000f902, 0x15c00000, 0x00008000, 0x000030f8, 0x00007210, 0x81801206,
+ 0x00009080, 0x000030af, 0x0000f000, 0x00003108, 0x00007200, 0x02e04408,
+ 0x00009901, 0x02c00c08, 0x00009183, 0xea820206, 0x00007902, 0x10400000,
+ 0x00000000, 0xea821406, 0x0000f902, 0x10c00000, 0x00008000, 0x000030af,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea822206,
+ 0x0000f902, 0x11400000, 0x00008000, 0xea823406, 0x00007902, 0x11c00000,
+ 0x00000000, 0x000030af, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea824206, 0x0000f902, 0x12400000, 0x00008000, 0xea825406,
+ 0x00007902, 0x12c00000, 0x00000000, 0x000030af, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02c00c0b, 0x00009183, 0xea826206, 0x00007902, 0x13400000,
+ 0x00000000, 0xea827406, 0x0000f902, 0x13c00000, 0x00008000, 0x00003101,
+ 0x0000f210, 0x81801206, 0x00009080, 0x000030af, 0x0000f000, 0x00003127,
+ 0x0000f200, 0x02e04408, 0x00009901, 0x00003120, 0x00007200, 0x02e04408,
+ 0x00009901, 0x00003119, 0x00007200, 0x02e04408, 0x00009901, 0xc1801739,
+ 0x00006283, 0x09c1cc1c, 0x0000a000, 0x00000021, 0x0000e58f, 0x00000020,
+ 0x0000b596, 0x07000c1c, 0x0000e481, 0x0e400000, 0x00000981, 0xea390a0a,
+ 0x0000d000, 0x00390000, 0x00000000, 0x90000039, 0x0000ec01, 0x00002f2e,
+ 0x0000f400, 0xea39a40a, 0x00005000, 0x0039a800, 0x00008000, 0x9660e039,
+ 0x0000e801, 0x8020e209, 0x00001502, 0x01a10c21, 0x0000e111, 0x09c1cc1c,
+ 0x0000e008, 0x07000c1c, 0x00006489, 0x0e400000, 0x00008989, 0x00002f24,
+ 0x0000f010, 0xc1801739, 0x00006283, 0x01800800, 0x00008981, 0x00000021,
+ 0x0000e58f, 0x00000020, 0x0000b596, 0x90000039, 0x0000ec01, 0xea390a0a,
+ 0x0000d000, 0x00390000, 0x00000000, 0x00002f24, 0x0000f400, 0x9660e039,
+ 0x0000e801, 0xea39a40a, 0x00005000, 0x0039a800, 0x00008000, 0x0000308f,
+ 0x0000f200, 0x02e04408, 0x00009901, 0x000030a4, 0x0000f200, 0x02e04408,
+ 0x00009901, 0x00003096, 0x00007200, 0x02e04408, 0x00009901, 0x0000309d,
+ 0x0000f200, 0x02e04408, 0x00009901, 0x000030db, 0x00007200, 0x02e04408,
+ 0x00009901, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183, 0xea836206,
+ 0x0000f902, 0x1b400000, 0x00008000, 0xea837406, 0x00007902, 0x1bc00000,
+ 0x00000000, 0x00002ef6, 0x0000f210, 0x81801206, 0x00009080, 0x00002f1d,
+ 0x00007000, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183, 0xea832206,
+ 0x00007902, 0x19400000, 0x00000000, 0xea833406, 0x0000f902, 0x19c00000,
+ 0x00008000, 0x00002f1d, 0x00007208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea834206, 0x00007902, 0x1a400000, 0x00000000, 0xea835406,
+ 0x0000f902, 0x1ac00000, 0x00008000, 0x0000315e, 0x0000f210, 0x81801206,
+ 0x00009080, 0x00002f1d, 0x00007000, 0x0000316e, 0x00007200, 0x02e04408,
+ 0x00009901, 0x00002efd, 0x0000f200, 0x02e04408, 0x00009901, 0x02e04408,
+ 0x00009901, 0x02c00c0b, 0x00009183, 0xea830206, 0x0000f902, 0x18400000,
+ 0x00008000, 0xea831406, 0x00007902, 0x18c00000, 0x00000000, 0x00003167,
+ 0x0000f210, 0x81801206, 0x00009080, 0x00002f1d, 0x00007000, 0x80003e37,
+ 0x00009583, 0x02e04408, 0x00001909, 0x00002f1d, 0x00007011, 0x02c00c0b,
+ 0x00009183, 0xea82e206, 0x0000f902, 0x17400000, 0x00008000, 0xea82f406,
+ 0x00007902, 0x17c00000, 0x00000000, 0x0000317b, 0x00007210, 0x81801206,
+ 0x00009080, 0x00002f1d, 0x00007000, 0x00002f04, 0x00007200, 0x02e04408,
+ 0x00009901, 0x00002f12, 0x0000f200, 0x02e04408, 0x00009901, 0x00002f0b,
+ 0x00007200, 0x02e04408, 0x00009901, 0x02e04408, 0x00009901, 0x02c00c0b,
+ 0x00009183, 0xea82c206, 0x00007902, 0x16400000, 0x00000000, 0xea82d406,
+ 0x0000f902, 0x16c00000, 0x00008000, 0x00003186, 0x0000f210, 0x81801206,
+ 0x00009080, 0x00002f1d, 0x00007000, 0x02e04408, 0x00009901, 0x02c00c0b,
+ 0x00009183, 0xea828206, 0x0000f902, 0x14400000, 0x00008000, 0xea829406,
+ 0x00007902, 0x14c00000, 0x00000000, 0x00002f1d, 0x00007208, 0x81801206,
+ 0x00009080, 0x02c00c0b, 0x00009183, 0xea82a206, 0x00007902, 0x15400000,
+ 0x00000000, 0xea82b406, 0x0000f902, 0x15c00000, 0x00008000, 0x00003195,
+ 0x00007210, 0x81801206, 0x00009080, 0x00002f1d, 0x00007000, 0x000031a5,
+ 0x0000f200, 0x02e04408, 0x00009901, 0x02c00c08, 0x00009183, 0xea820206,
+ 0x00007902, 0x10400000, 0x00000000, 0xea821406, 0x0000f902, 0x10c00000,
+ 0x00008000, 0x00002f1d, 0x00007208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea822206, 0x0000f902, 0x11400000, 0x00008000, 0xea823406,
+ 0x00007902, 0x11c00000, 0x00000000, 0x00002f1d, 0x00007208, 0x81801206,
+ 0x00009080, 0x02c00c0b, 0x00009183, 0xea824206, 0x0000f902, 0x12400000,
+ 0x00008000, 0xea825406, 0x00007902, 0x12c00000, 0x00000000, 0x00002f1d,
+ 0x00007208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea826206,
+ 0x00007902, 0x13400000, 0x00000000, 0xea827406, 0x0000f902, 0x13c00000,
+ 0x00008000, 0x0000319e, 0x0000f210, 0x81801206, 0x00009080, 0x00002f1d,
+ 0x00007000, 0x000031c4, 0x00007200, 0x02e04408, 0x00009901, 0x000031bd,
+ 0x0000f200, 0x02e04408, 0x00009901, 0x000031b6, 0x00007200, 0x02e04408,
+ 0x00009901, 0x01800000, 0x00009981, 0x01802406, 0x00009081, 0x0020ec06,
+ 0x00009503, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x000031d3,
+ 0x0000f028, 0x00002ed0, 0x00007000, 0x00002c33, 0x00007000, 0x02d1b236,
+ 0x00006100, 0x07000a38, 0x0000c180, 0x0000e00b, 0x0000e502, 0x05000340,
+ 0x00000980, 0x88400a36, 0x0000e090, 0x88400000, 0x00008988, 0x07a00005,
+ 0x0000e180, 0x75e80014, 0x0000e101, 0x8d910a21, 0x00006100, 0x0418101e,
+ 0x0000e187, 0x08401a21, 0x00006080, 0x0c81a034, 0x00004900, 0x07018021,
+ 0x00006002, 0x0cc1a835, 0x00000900, 0x700040ec, 0x00005680, 0x0038a4c0,
+ 0x00008010, 0x04c00031, 0x00009084, 0x7038e0ec, 0x00005600, 0x00389800,
+ 0x00000000, 0x700040ec, 0x00005680, 0x0038f7c0, 0x00000078, 0x00000409,
+ 0x00006583, 0x04c00000, 0x00000980, 0x84e80500, 0x00009900, 0x02c00000,
+ 0x00007900, 0x000014c4, 0x00000980, 0x04209013, 0x00006085, 0x0010b80b,
+ 0x0000b106, 0x04800000, 0x00006180, 0x75e80013, 0x00006101, 0x8480240a,
+ 0x00006080, 0x09c1c40a, 0x00006012, 0x00003201, 0x0000f410, 0x703858ec,
+ 0x00005600, 0x00389800, 0x00000000, 0x02c00000, 0x0000e180, 0x0001c012,
+ 0x00006111, 0x02800000, 0x00009981, 0x000ff812, 0x0000ed01, 0x00002e8c,
+ 0x00007401, 0x96605012, 0x0000e803, 0xb6e04812, 0x0000e805, 0x80000637,
+ 0x00001583, 0x82c80000, 0x00001988, 0x0000322b, 0x00007011, 0x8231b20b,
+ 0x00001100, 0x82104206, 0x00001c00, 0xffffffff, 0x00007f86, 0x8259b208,
+ 0x0000e000, 0x81904206, 0x00008100, 0x8207fa09, 0x00006282, 0xcd99b208,
+ 0x00000000, 0x00003211, 0x0000f00b, 0x000026da, 0x00007200, 0x8dd9b336,
+ 0x00009900, 0x0211b236, 0x00006100, 0x02400a38, 0x00004180, 0x00004808,
+ 0x00006502, 0x07000340, 0x00008980, 0x82000a36, 0x00006090, 0x82000000,
+ 0x00000988, 0x87280500, 0x0000e100, 0x07e00005, 0x00004980, 0x8d904208,
+ 0x00006100, 0x75e8001c, 0x00006101, 0x02001a08, 0x00006080, 0x0418101f,
+ 0x00006187, 0x07818008, 0x00006002, 0x0c81a034, 0x00008900, 0x700040ec,
+ 0x00005680, 0x0038e4c4, 0x00008010, 0x0cc1a835, 0x0000e100, 0x02400031,
+ 0x00004084, 0x7038f0ec, 0x0000d600, 0x00384800, 0x00008000, 0x700040ec,
+ 0x00005680, 0x0038ffc0, 0x00008078, 0x00d802ec, 0x0000df80, 0x13114808,
+ 0x000091c4, 0x81c00206, 0x00007892, 0x79800000, 0x00001980, 0xffffffff,
+ 0x00007f86, 0x02000000, 0x000080e8, 0x01c00000, 0x0000e180, 0x82184b09,
+ 0x0000c900, 0x01800ce0, 0x0000e283, 0x8231be37, 0x00008901, 0x00003811,
+ 0x0000f013, 0x000004e3, 0x00001583, 0x03408800, 0x00001990, 0x0000380a,
+ 0x00007009, 0x381b1c59, 0x00007100, 0x00002c33, 0x00007000, 0xc2404539,
+ 0x00001880, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000041d,
+ 0x00006583, 0x03000000, 0x00008980, 0x03400000, 0x000000f8, 0x03c00000,
+ 0x000081d4, 0x05800000, 0x000081dc, 0x00003507, 0x00007410, 0x06000000,
+ 0x000081e4, 0x06c00000, 0x000081e8, 0xc1801739, 0x00006283, 0x82510220,
+ 0x00008900, 0x87000c39, 0x0000e080, 0x82590b21, 0x0000c908, 0x87184a1c,
+ 0x00009000, 0x82e1ca09, 0x00001100, 0x8020420b, 0x00009502, 0xc1801739,
+ 0x00006283, 0x08a05c0b, 0x00008929, 0xffffffff, 0x00007f86, 0x84211206,
+ 0x0000e100, 0x81840000, 0x00000990, 0x81800000, 0x00001988, 0xffffffff,
+ 0x00007f86, 0x8190321c, 0x00009000, 0xa0a00422, 0x0000c188, 0x00604637,
+ 0x00000088, 0x95a04637, 0x0000c1b0, 0x00606e37, 0x00000088, 0x95606e37,
+ 0x0000c198, 0x00605637, 0x00008088, 0x48805637, 0x0000c5a9, 0x23a05e37,
+ 0x00008189, 0xa0607e37, 0x0000c488, 0x02607e37, 0x00008daa, 0x4cc08637,
+ 0x00004588, 0x03408e37, 0x0000838c, 0x9f601e37, 0x00004388, 0x00601e37,
+ 0x000000b0, 0x9b802e37, 0x0000c488, 0x98602e37, 0x00008da9, 0x49c03637,
+ 0x00004790, 0x26200e37, 0x0000298f, 0x3f400e37, 0x0000789b, 0xf1800000,
+ 0x00001a86, 0x83c00421, 0x00007893, 0x01400001, 0x00008000, 0xa900020b,
+ 0x0000f892, 0x31800000, 0x0000198c, 0x80006637, 0x00001583, 0x02211422,
+ 0x00001909, 0x00003293, 0x00007011, 0x02000c08, 0x00009183, 0xea838206,
+ 0x00007902, 0x1c400000, 0x00000000, 0xea839406, 0x0000f902, 0x1cc00000,
+ 0x00008000, 0x00003293, 0x00007208, 0x81801206, 0x00009080, 0x02000c08,
+ 0x00009183, 0xea83a206, 0x0000f902, 0x1d400000, 0x00008000, 0xea83b406,
+ 0x00007902, 0x1dc00000, 0x00000000, 0x00003293, 0x00007208, 0x81801206,
+ 0x00009080, 0x02000c08, 0x00009183, 0xea83c206, 0x0000f902, 0x1e400000,
+ 0x00008000, 0xea83d406, 0x00007902, 0x1ec00000, 0x00000000, 0x00003293,
+ 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea83e206,
+ 0x00007902, 0x1f400000, 0x00000000, 0xea83f406, 0x0000f902, 0x1fc00000,
+ 0x00008000, 0x00003293, 0x00007208, 0x81801206, 0x00009080, 0x00000c08,
+ 0x00009583, 0xea840206, 0x00007902, 0x20400000, 0x00000000, 0xea841406,
+ 0x0000f902, 0x20c00000, 0x00008000, 0x00003293, 0x00007208, 0x81801206,
+ 0x00009080, 0xea842206, 0x0000f902, 0x21400000, 0x00008000, 0xea843406,
+ 0x00007902, 0x21c00000, 0x00000000, 0x00000421, 0x00006583, 0x0721cc22,
+ 0x00000001, 0x8df1bc22, 0x0000e001, 0xcd99b422, 0x00008000, 0x01800000,
+ 0x00006191, 0x0e61cc22, 0x00004001, 0x00003481, 0x0000f008, 0x2bb842ec,
+ 0x0000a004, 0xffffffff, 0x00007fa7, 0x00072808, 0x00001502, 0x07000808,
+ 0x00001090, 0x2bb8e2ec, 0x0000a814, 0x00000421, 0x00009583, 0x00000406,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x00002e0f, 0x00007010, 0x00003394,
+ 0x0000f010, 0x82190b21, 0x00009900, 0xaa401739, 0x0000f896, 0x01800001,
+ 0x00008000, 0xd7000220, 0x00007893, 0x61000000, 0x00009985, 0xc0000321,
+ 0x00009582, 0x82110220, 0x00001908, 0x0000275c, 0x0000f011, 0x81a1ca08,
+ 0x00001100, 0x8719b206, 0x0000e000, 0x82503210, 0x00008100, 0x8001fa09,
+ 0x00009582, 0x01a04c09, 0x00001931, 0x0000334c, 0x0000f019, 0x00000409,
+ 0x00009583, 0x00003011, 0x0000700b, 0xc1801739, 0x00006283, 0x88400800,
+ 0x00008980, 0x48400800, 0x00006189, 0x04800000, 0x00004980, 0x04000000,
+ 0x0000e180, 0x82402406, 0x00004880, 0x40000521, 0x00006583, 0x84c7fa1c,
+ 0x00000280, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0xc4a03406,
+ 0x00006108, 0x44800800, 0x00004991, 0x84203406, 0x00006110, 0x08006800,
+ 0x00004989, 0x08018800, 0x00006191, 0x0707fa13, 0x00004280, 0xc1801739,
+ 0x00006283, 0x0f004821, 0x00002106, 0x81840000, 0x0000e188, 0x81800000,
+ 0x00004990, 0x82354b09, 0x0000f900, 0x00000002, 0x00000080, 0x81903208,
+ 0x00006000, 0x0941c411, 0x00002000, 0x0200201c, 0x00006080, 0x0c01c222,
+ 0x0000e100, 0x0700f808, 0x00006784, 0x0d00f81f, 0x00008900, 0x09c19008,
+ 0x0000e002, 0x0d40f01e, 0x00000900, 0x08c1981c, 0x0000e004, 0x89510a21,
+ 0x00000900, 0x80010221, 0x0000e582, 0x89208c11, 0x00008900, 0x85f5120a,
+ 0x00007900, 0x00000002, 0x00000080, 0xea38fc0a, 0x00005000, 0x0038f000,
+ 0x00008000, 0x00003317, 0x0000f030, 0x00000411, 0x00006583, 0x07000a38,
+ 0x00000180, 0x07c00000, 0x0000e189, 0x09c1c41f, 0x0000e012, 0x8006fa13,
+ 0x00009582, 0x02c80000, 0x0000e1b8, 0x05000000, 0x0000c9b8, 0x0850980b,
+ 0x0000e138, 0xc5103206, 0x00008938, 0x00003331, 0x00007050, 0x02000000,
+ 0x00007900, 0x000010c0, 0x00000980, 0x80000224, 0x00006582, 0x02c02021,
+ 0x00000880, 0x0a000000, 0x00006180, 0x00105808, 0x00006106, 0x703840ec,
+ 0x00005600, 0x0038a000, 0x00008000, 0x02000000, 0x00009980, 0x000032f3,
+ 0x00007410, 0x82002021, 0x00001880, 0x04111008, 0x0000e911, 0xffffffff,
+ 0x00007f86, 0x000ff808, 0x00006d01, 0x84d09a25, 0x00006000, 0x80016028,
+ 0x00002686, 0x9660f808, 0x00006003, 0x04181028, 0x0000b187, 0x703938ec,
+ 0x0000d600, 0x00391800, 0x00000000, 0x89480213, 0x0000e180, 0xb6e08808,
+ 0x00002005, 0x703840ec, 0x00005600, 0x00394000, 0x00008000, 0x0211b236,
+ 0x00006100, 0x0a200005, 0x0000c980, 0x0000e008, 0x0000e502, 0x04181028,
+ 0x00002187, 0x88400a36, 0x0000e090, 0x88400000, 0x00008988, 0x82001a0b,
+ 0x00006780, 0x0c81a034, 0x00008900, 0x0db9ac21, 0x0000030c, 0x08401a21,
+ 0x00006080, 0x82505a09, 0x00004100, 0x09818021, 0x00006002, 0x09c1a034,
+ 0x00000900, 0x08400000, 0x00006180, 0x05000031, 0x00004084, 0x80010225,
+ 0x00006582, 0x0410b821, 0x00002187, 0x700040ec, 0x00005680, 0x003908c0,
+ 0x00000010, 0x703930ec, 0x00005600, 0x0038a000, 0x00008000, 0x700040ec,
+ 0x00005680, 0x003947c0, 0x00000078, 0x000032df, 0x00007418, 0x08c00735,
+ 0x0000818d, 0x81904206, 0x00009000, 0x09512a13, 0x00001000, 0x00080025,
+ 0x00009582, 0x00080025, 0x00009582, 0xffffffff, 0x00007f86, 0x0000336f,
+ 0x00007008, 0x0000334e, 0x00007038, 0x02100712, 0x000080ac, 0x04808010,
+ 0x0000e100, 0x0410300b, 0x00006187, 0x04000000, 0x00007900, 0x000010e0,
+ 0x00008980, 0x01800000, 0x00006180, 0x00104810, 0x0000e106, 0x703880ec,
+ 0x00005600, 0x00385800, 0x00000000, 0x04000727, 0x000000ac, 0x82f50a0a,
+ 0x0000f900, 0x00000002, 0x00000080, 0x0421000b, 0x0000e887, 0x703858ec,
+ 0x00005600, 0x00000000, 0x00008080, 0x02c00000, 0x00009980, 0x00002fb6,
+ 0x00007400, 0x703840ec, 0x00005600, 0x00389000, 0x00008000, 0x02204f23,
+ 0x0000802c, 0x80000224, 0x00006582, 0x02c00000, 0x00000980, 0x02100000,
+ 0x00006180, 0x0410300b, 0x00006187, 0x701000ec, 0x00005680, 0x003858c0,
+ 0x00008010, 0x0000333c, 0x0000f210, 0x08400000, 0x00006180, 0x04111008,
+ 0x00006111, 0xffffffff, 0x00007f86, 0x000ff808, 0x00006d01, 0x9660f808,
+ 0x00006003, 0x80016021, 0x0000b686, 0x703938ec, 0x0000d600, 0x00391800,
+ 0x00000000, 0xb6e08808, 0x0000e005, 0x04181021, 0x0000b187, 0x09d00027,
+ 0x0000e082, 0x89410225, 0x00008180, 0x703840ec, 0x00005600, 0x00390800,
+ 0x00008000, 0x84c10213, 0x00006080, 0x82500209, 0x00008180, 0x08c00023,
+ 0x00006084, 0x81820206, 0x00000080, 0xb7c10225, 0x0000f89a, 0xb9800000,
+ 0x00009988, 0x000032b4, 0x0000f200, 0x01820000, 0x00001981, 0x00000411,
+ 0x00006583, 0x07080000, 0x00008980, 0x0510981c, 0x00006100, 0x07400000,
+ 0x00008980, 0x02000000, 0x00007900, 0x000010c0, 0x00000980, 0x02c02014,
+ 0x0000e080, 0x04c00000, 0x0000c980, 0x00105808, 0x00006106, 0x04103013,
+ 0x00003187, 0x703840ec, 0x00005600, 0x00389800, 0x00000000, 0x02000000,
+ 0x00009980, 0x00003362, 0x00007410, 0x82002014, 0x00006080, 0x09c1c414,
+ 0x00006012, 0x05000000, 0x00006189, 0x0001c008, 0x0000e111, 0xffffffff,
+ 0x00007f86, 0x000ff808, 0x00006d01, 0x87001a0b, 0x00006780, 0x8001601d,
+ 0x00002686, 0x9660a008, 0x0000e003, 0x0418101d, 0x0000b187, 0x703938ec,
+ 0x0000d600, 0x00391800, 0x00000000, 0x82505a09, 0x0000e100, 0xb6e08808,
+ 0x00002005, 0x703840ec, 0x00005600, 0x0038e800, 0x00008000, 0x8190e206,
+ 0x00006000, 0x09c1a034, 0x00000900, 0x08c1a835, 0x00001900, 0x0211b236,
+ 0x00006100, 0x07000a38, 0x0000c180, 0x0000e008, 0x0000e502, 0x04c00000,
+ 0x00000980, 0x82000a36, 0x00006090, 0x82000000, 0x00000988, 0xc4f5120a,
+ 0x00007900, 0x00000002, 0x00000080, 0x8d904208, 0x00006100, 0x07200005,
+ 0x00004980, 0x02001a08, 0x00006080, 0x0418101c, 0x00006187, 0x05018008,
+ 0x00006002, 0x0c81a034, 0x00008900, 0x700040ec, 0x00005680, 0x003898c0,
+ 0x00008010, 0x0cc1a835, 0x0000e100, 0x02c00031, 0x0000c084, 0x0000331d,
+ 0x00007400, 0x7038a0ec, 0x0000d600, 0x00385800, 0x00000000, 0x700040ec,
+ 0x00005680, 0x0038e7c0, 0x00008078, 0xc1801739, 0x00006283, 0x09c1cc1c,
+ 0x0000a000, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596, 0x07000c1c,
+ 0x0000e481, 0x0e400000, 0x00000981, 0x00000421, 0x00006583, 0x90000039,
+ 0x0000a401, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0x9660e039,
+ 0x0000e801, 0x00002e0f, 0x0000f210, 0xea38fc0a, 0x00005000, 0x0038f000,
+ 0x00008000, 0xc1801739, 0x00006283, 0x82510220, 0x00008900, 0x82590b21,
+ 0x0000e108, 0x02c09000, 0x00004981, 0x87000c39, 0x0000e080, 0x0231bc0b,
+ 0x0000c101, 0x87184a1c, 0x00006000, 0x82e1ca09, 0x00008100, 0x8020420b,
+ 0x00009502, 0xc1801739, 0x00006283, 0x02205c0b, 0x00000929, 0x81840000,
+ 0x00009990, 0x81800000, 0x00006188, 0x84204210, 0x00004100, 0x000033a3,
+ 0x00007010, 0x8190321c, 0x00009000, 0x86800408, 0x00004188, 0x00604637,
+ 0x00000088, 0x83404637, 0x0000c1b0, 0x00606e37, 0x00000088, 0x83006e37,
+ 0x00004198, 0x00605637, 0x00008088, 0x0bc05637, 0x000045a8, 0x04605e37,
+ 0x00000188, 0x84007e37, 0x0000c488, 0x3c607e37, 0x00008da8, 0x0dc08637,
+ 0x00004588, 0x03208e37, 0x0000038b, 0x8dc01e37, 0x00004388, 0x00601e37,
+ 0x000000b0, 0x89e02e37, 0x0000c488, 0x7e602e37, 0x00008da8, 0x0dc03637,
+ 0x00004790, 0x08200e37, 0x00000b8f, 0x1c000e37, 0x0000789b, 0x89800000,
+ 0x00009a82, 0xa900020b, 0x0000f892, 0xa1800000, 0x00001a83, 0x80006637,
+ 0x00001583, 0x02e04408, 0x00001909, 0x000033e4, 0x0000f011, 0x02c00c0b,
+ 0x00009183, 0xea838206, 0x00007902, 0x1c400000, 0x00000000, 0xea839406,
+ 0x0000f902, 0x1cc00000, 0x00008000, 0x000033e4, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02c00c0b, 0x00009183, 0xea83a206, 0x0000f902, 0x1d400000,
+ 0x00008000, 0xea83b406, 0x00007902, 0x1dc00000, 0x00000000, 0x000033e4,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea83c206,
+ 0x0000f902, 0x1e400000, 0x00008000, 0xea83d406, 0x00007902, 0x1ec00000,
+ 0x00000000, 0x000033e4, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea83e206, 0x00007902, 0x1f400000, 0x00000000, 0xea83f406,
+ 0x0000f902, 0x1fc00000, 0x00008000, 0x000033e4, 0x0000f208, 0x81801206,
+ 0x00009080, 0x00000c0b, 0x00009583, 0xea840206, 0x00007902, 0x20400000,
+ 0x00000000, 0xea841406, 0x0000f902, 0x20c00000, 0x00008000, 0x000033e4,
+ 0x0000f208, 0x81801206, 0x00009080, 0xea842206, 0x0000f902, 0x21400000,
+ 0x00008000, 0xea843406, 0x00007902, 0x21c00000, 0x00000000, 0x00000421,
+ 0x00006583, 0x0721cc08, 0x00008001, 0x8df1bc08, 0x00006001, 0xcd99b408,
+ 0x00000000, 0x0e61cc08, 0x00009001, 0x000033f9, 0x00007008, 0x2bb832ec,
+ 0x00002004, 0xffffffff, 0x00007fa7, 0x00072806, 0x00009502, 0x000032a4,
+ 0x00007400, 0x07000806, 0x00009090, 0x2bb8e2ec, 0x0000a814, 0x02e04408,
+ 0x00009901, 0x02c00c0b, 0x00009183, 0xea836206, 0x0000f902, 0x1b400000,
+ 0x00008000, 0xea837406, 0x00007902, 0x1bc00000, 0x00000000, 0x000033bd,
+ 0x0000f210, 0x81801206, 0x00009080, 0x000033e4, 0x0000f000, 0x8020e209,
+ 0x00001502, 0x09c1cc1c, 0x00006808, 0x0e400000, 0x00006189, 0x07000c1c,
+ 0x0000c489, 0x000033ea, 0x0000f010, 0xc1801739, 0x00006283, 0x90000039,
+ 0x0000a401, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596, 0x9660e039,
+ 0x0000e801, 0x000033ea, 0x0000f400, 0xea390a0a, 0x0000d000, 0x00390000,
+ 0x00000000, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0x02e04408,
+ 0x00009901, 0x02c00c0b, 0x00009183, 0xea832206, 0x00007902, 0x19400000,
+ 0x00000000, 0xea833406, 0x0000f902, 0x19c00000, 0x00008000, 0x000033e4,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea834206,
+ 0x00007902, 0x1a400000, 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000,
+ 0x00008000, 0x000033f1, 0x00007210, 0x81801206, 0x00009080, 0x000033e4,
+ 0x0000f000, 0x00003410, 0x00007200, 0x02e04408, 0x00009901, 0x000033c4,
+ 0x0000f200, 0x02e04408, 0x00009901, 0x000033d9, 0x0000f200, 0x02e04408,
+ 0x00009901, 0x000033cb, 0x0000f200, 0x02e04408, 0x00009901, 0x000033d2,
+ 0x00007200, 0x02e04408, 0x00009901, 0x80003e37, 0x00009583, 0x02e04408,
+ 0x00001909, 0x000033e4, 0x0000f011, 0x02c00c0b, 0x00009183, 0xea82e206,
+ 0x0000f902, 0x17400000, 0x00008000, 0xea82f406, 0x00007902, 0x17c00000,
+ 0x00000000, 0x000033e4, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea830206, 0x0000f902, 0x18400000, 0x00008000, 0xea831406,
+ 0x00007902, 0x18c00000, 0x00000000, 0x00003409, 0x00007210, 0x81801206,
+ 0x00009080, 0x000033e4, 0x0000f000, 0x0000342c, 0x00007200, 0x02e04408,
+ 0x00009901, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183, 0xea82c206,
+ 0x00007902, 0x16400000, 0x00000000, 0xea82d406, 0x0000f902, 0x16c00000,
+ 0x00008000, 0x00003425, 0x0000f210, 0x81801206, 0x00009080, 0x000033e4,
+ 0x0000f000, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183, 0xea828206,
+ 0x0000f902, 0x14400000, 0x00008000, 0xea829406, 0x00007902, 0x14c00000,
+ 0x00000000, 0x000033e4, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea82a206, 0x00007902, 0x15400000, 0x00000000, 0xea82b406,
+ 0x0000f902, 0x15c00000, 0x00008000, 0x00003437, 0x0000f210, 0x81801206,
+ 0x00009080, 0x000033e4, 0x0000f000, 0x00003447, 0x0000f200, 0x02e04408,
+ 0x00009901, 0x02c00c08, 0x00009183, 0xea820206, 0x00007902, 0x10400000,
+ 0x00000000, 0xea821406, 0x0000f902, 0x10c00000, 0x00008000, 0x000033e4,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea822206,
+ 0x0000f902, 0x11400000, 0x00008000, 0xea823406, 0x00007902, 0x11c00000,
+ 0x00000000, 0x000033e4, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea824206, 0x0000f902, 0x12400000, 0x00008000, 0xea825406,
+ 0x00007902, 0x12c00000, 0x00000000, 0x000033e4, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02c00c0b, 0x00009183, 0xea826206, 0x00007902, 0x13400000,
+ 0x00000000, 0xea827406, 0x0000f902, 0x13c00000, 0x00008000, 0x00003440,
+ 0x0000f210, 0x81801206, 0x00009080, 0x000033e4, 0x0000f000, 0x00003466,
+ 0x0000f200, 0x02e04408, 0x00009901, 0x0000345f, 0x0000f200, 0x02e04408,
+ 0x00009901, 0x00003458, 0x00007200, 0x02e04408, 0x00009901, 0xc1801739,
+ 0x00006283, 0x09c1cc1c, 0x0000a000, 0x00000021, 0x0000e58f, 0x00000020,
+ 0x0000b596, 0x07000c1c, 0x0000e481, 0x0e400000, 0x00000981, 0xea390a0a,
+ 0x0000d000, 0x00390000, 0x00000000, 0x90000039, 0x0000ec01, 0x000032a4,
+ 0x00007400, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0x9660e039,
+ 0x0000e801, 0x8020e209, 0x00001502, 0x01a10c21, 0x0000e111, 0x09c1cc1c,
+ 0x0000e008, 0x07000c1c, 0x00006489, 0x0e400000, 0x00008989, 0x0000329a,
+ 0x0000f010, 0xc1801739, 0x00006283, 0x01800800, 0x00008981, 0x00000021,
+ 0x0000e58f, 0x00000020, 0x0000b596, 0x90000039, 0x0000ec01, 0xea390a0a,
+ 0x0000d000, 0x00390000, 0x00000000, 0x0000329a, 0x0000f400, 0x9660e039,
+ 0x0000e801, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0x02211422,
+ 0x00009901, 0x02000c08, 0x00009183, 0xea836206, 0x0000f902, 0x1b400000,
+ 0x00008000, 0xea837406, 0x00007902, 0x1bc00000, 0x00000000, 0x0000326c,
+ 0x00007210, 0x81801206, 0x00009080, 0x00003293, 0x00007000, 0x02211422,
+ 0x00009901, 0x02000c08, 0x00009183, 0xea832206, 0x00007902, 0x19400000,
+ 0x00000000, 0xea833406, 0x0000f902, 0x19c00000, 0x00008000, 0x00003293,
+ 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea834206,
+ 0x00007902, 0x1a400000, 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000,
+ 0x00008000, 0x00003493, 0x00007210, 0x81801206, 0x00009080, 0x00003293,
+ 0x00007000, 0x000034a3, 0x0000f200, 0x02211422, 0x00009901, 0x00003273,
+ 0x00007200, 0x02211422, 0x00009901, 0x80003e37, 0x00009583, 0x02211422,
+ 0x00001909, 0x00003293, 0x00007011, 0x02000c08, 0x00009183, 0xea82e206,
+ 0x0000f902, 0x17400000, 0x00008000, 0xea82f406, 0x00007902, 0x17c00000,
+ 0x00000000, 0x00003293, 0x00007208, 0x81801206, 0x00009080, 0x02000c08,
+ 0x00009183, 0xea830206, 0x0000f902, 0x18400000, 0x00008000, 0xea831406,
+ 0x00007902, 0x18c00000, 0x00000000, 0x0000349c, 0x00007210, 0x81801206,
+ 0x00009080, 0x00003293, 0x00007000, 0x00003288, 0x0000f200, 0x02211422,
+ 0x00009901, 0x02211422, 0x00009901, 0x02000c08, 0x00009183, 0xea82c206,
+ 0x00007902, 0x16400000, 0x00000000, 0xea82d406, 0x0000f902, 0x16c00000,
+ 0x00008000, 0x000034b2, 0x00007210, 0x81801206, 0x00009080, 0x00003293,
+ 0x00007000, 0x02211422, 0x00009901, 0x02000c08, 0x00009183, 0xea828206,
+ 0x0000f902, 0x14400000, 0x00008000, 0xea829406, 0x00007902, 0x14c00000,
+ 0x00000000, 0x00003293, 0x00007208, 0x81801206, 0x00009080, 0x02000c08,
+ 0x00009183, 0xea82a206, 0x00007902, 0x15400000, 0x00000000, 0xea82b406,
+ 0x0000f902, 0x15c00000, 0x00008000, 0x000034c4, 0x0000f210, 0x81801206,
+ 0x00009080, 0x00003293, 0x00007000, 0x000034d4, 0x0000f200, 0x02211422,
+ 0x00009901, 0x02000c22, 0x00001183, 0xea820206, 0x00007902, 0x10400000,
+ 0x00000000, 0xea821406, 0x0000f902, 0x10c00000, 0x00008000, 0x00003293,
+ 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea822206,
+ 0x0000f902, 0x11400000, 0x00008000, 0xea823406, 0x00007902, 0x11c00000,
+ 0x00000000, 0x00003293, 0x00007208, 0x81801206, 0x00009080, 0x02000c08,
+ 0x00009183, 0xea824206, 0x0000f902, 0x12400000, 0x00008000, 0xea825406,
+ 0x00007902, 0x12c00000, 0x00000000, 0x00003293, 0x00007208, 0x81801206,
+ 0x00009080, 0x02000c08, 0x00009183, 0xea826206, 0x00007902, 0x13400000,
+ 0x00000000, 0xea827406, 0x0000f902, 0x13c00000, 0x00008000, 0x000034cd,
+ 0x0000f210, 0x81801206, 0x00009080, 0x00003293, 0x00007000, 0x000034f3,
+ 0x0000f200, 0x02211422, 0x00009901, 0x000034ec, 0x00007200, 0x02211422,
+ 0x00009901, 0x000034e5, 0x00007200, 0x02211422, 0x00009901, 0x0000327a,
+ 0x00007200, 0x02211422, 0x00009901, 0x00003281, 0x0000f200, 0x02211422,
+ 0x00009901, 0x000034b9, 0x00007200, 0x02211422, 0x00009901, 0x02400000,
+ 0x00009981, 0x02402409, 0x00009081, 0x0020ec09, 0x00009503, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x00003508, 0x00007028, 0x00003242,
+ 0x00007000, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000041d,
+ 0x00006583, 0x03000000, 0x00008980, 0x03400000, 0x000000f8, 0x03c00000,
+ 0x000081d4, 0x05800000, 0x000081dc, 0x0000351e, 0x0000f408, 0x06000000,
+ 0x000081e4, 0x06800000, 0x000081ec, 0x01800000, 0x00009981, 0x01802406,
+ 0x00009081, 0x0020ec06, 0x00009503, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x00003519, 0x00007028, 0x0000275c, 0x00007200, 0x81400800,
+ 0x00009981, 0xc2404539, 0x00001880, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x0000041d, 0x00006583, 0x03000000, 0x00008980, 0x03400000,
+ 0x000000f8, 0x03c00000, 0x000081d4, 0x05800000, 0x000081dc, 0x000037ec,
+ 0x0000f410, 0x06000000, 0x000081e4, 0x06c00000, 0x000081e8, 0xc1801739,
+ 0x00006283, 0x82510220, 0x00008900, 0x87000c39, 0x0000e080, 0x82590b21,
+ 0x0000c908, 0x87184a1c, 0x00009000, 0x82e1ca09, 0x00001100, 0x8020420b,
+ 0x00009502, 0xc1801739, 0x00006283, 0x08a05c0b, 0x00008929, 0xffffffff,
+ 0x00007f86, 0x84211206, 0x0000e100, 0x81840000, 0x00000990, 0x81800000,
+ 0x00001988, 0xffffffff, 0x00007f86, 0x8190321c, 0x00009000, 0xf5800422,
+ 0x00004188, 0x00604637, 0x00000088, 0xf2404637, 0x0000c1b0, 0x00606e37,
+ 0x00000088, 0xf2006e37, 0x00004198, 0x00605637, 0x00008088, 0x48005637,
+ 0x000045a9, 0x23605e37, 0x00008189, 0xf3007e37, 0x0000c488, 0x2c607e37,
+ 0x00008daf, 0x4a008637, 0x00004588, 0x03408e37, 0x0000838c, 0xfcc01e37,
+ 0x00004388, 0x00601e37, 0x000000b0, 0xf8e02e37, 0x0000c488, 0x6e602e37,
+ 0x00008daf, 0x4a003637, 0x00004790, 0x26400e37, 0x0000aa88, 0xfa000e37,
+ 0x0000f89b, 0x49800000, 0x00001b8e, 0x83c00421, 0x00007893, 0x01400001,
+ 0x00008000, 0x6340020b, 0x0000f893, 0x59800000, 0x00001b83, 0x80006637,
+ 0x00001583, 0x02211422, 0x00001909, 0x0000357c, 0x00007011, 0x02000c08,
+ 0x00009183, 0xea838206, 0x00007902, 0x1c400000, 0x00000000, 0xea839406,
+ 0x0000f902, 0x1cc00000, 0x00008000, 0x0000357c, 0x00007208, 0x81801206,
+ 0x00009080, 0x02000c08, 0x00009183, 0xea83a206, 0x0000f902, 0x1d400000,
+ 0x00008000, 0xea83b406, 0x00007902, 0x1dc00000, 0x00000000, 0x0000357c,
+ 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea83c206,
+ 0x0000f902, 0x1e400000, 0x00008000, 0xea83d406, 0x00007902, 0x1ec00000,
+ 0x00000000, 0x0000357c, 0x00007208, 0x81801206, 0x00009080, 0x02000c08,
+ 0x00009183, 0xea83e206, 0x00007902, 0x1f400000, 0x00000000, 0xea83f406,
+ 0x0000f902, 0x1fc00000, 0x00008000, 0x0000357c, 0x00007208, 0x81801206,
+ 0x00009080, 0x00000c08, 0x00009583, 0xea840206, 0x00007902, 0x20400000,
+ 0x00000000, 0xea841406, 0x0000f902, 0x20c00000, 0x00008000, 0x0000357c,
+ 0x00007208, 0x81801206, 0x00009080, 0xea842206, 0x0000f902, 0x21400000,
+ 0x00008000, 0xea843406, 0x00007902, 0x21c00000, 0x00000000, 0x00000421,
+ 0x00006583, 0x0721cc22, 0x00000001, 0x8df1bc22, 0x0000e001, 0xcd99b422,
+ 0x00008000, 0x01800000, 0x00006191, 0x0e61cc22, 0x00004001, 0x00003766,
+ 0x0000f008, 0x2bb842ec, 0x0000a004, 0xffffffff, 0x00007fa7, 0x00072808,
+ 0x00001502, 0x07000808, 0x00001090, 0x2bb8e2ec, 0x0000a814, 0x00000421,
+ 0x00009583, 0x00000406, 0x00009583, 0xffffffff, 0x00007f86, 0x00002e0f,
+ 0x00007010, 0x00003679, 0x0000f010, 0x82190b21, 0x00009900, 0x64801739,
+ 0x0000f897, 0x01800001, 0x00008000, 0xd7000220, 0x00007893, 0xa9000000,
+ 0x00001a8c, 0xc0000321, 0x00009582, 0x82110220, 0x00001908, 0x0000275c,
+ 0x0000f011, 0x81a1ca08, 0x00001100, 0x8719b206, 0x0000e000, 0x82503210,
+ 0x00008100, 0x8001fa09, 0x00009582, 0x01a04c09, 0x00001931, 0x00003631,
+ 0x0000f019, 0x00000409, 0x00009583, 0x00003011, 0x0000700b, 0xc1801739,
+ 0x00006283, 0x88400800, 0x00008980, 0x48400800, 0x00006189, 0x04c00000,
+ 0x0000c980, 0x04800000, 0x00006180, 0x85c02406, 0x00004880, 0x40000521,
+ 0x00006583, 0x0941c411, 0x00002000, 0xea390a0a, 0x0000d000, 0x00390000,
+ 0x00000000, 0xc4e03406, 0x0000e108, 0x44c00800, 0x0000c991, 0x84a03406,
+ 0x0000e110, 0x08006800, 0x00004989, 0x08018800, 0x00006191, 0x0f00b821,
+ 0x0000e106, 0xc1801739, 0x00006283, 0x0c01c222, 0x00002100, 0x81840000,
+ 0x0000e188, 0x81800000, 0x00004990, 0x82754b09, 0x00007900, 0x00000002,
+ 0x00000080, 0x81903209, 0x0000e000, 0x0d00f81f, 0x00008900, 0x8247fa1c,
+ 0x0000e280, 0x0d40f01e, 0x00000900, 0x0707fa09, 0x00006280, 0x89608c11,
+ 0x00000900, 0x89910a21, 0x0000e100, 0x0200201c, 0x00004880, 0x04019008,
+ 0x00006002, 0x0700f808, 0x00000784, 0x80010221, 0x0000e582, 0x0201981c,
+ 0x00008004, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0x87b5120a,
+ 0x00007900, 0x00000002, 0x00000080, 0x00003600, 0x0000f030, 0x00000411,
+ 0x00006583, 0x07000a38, 0x00000180, 0x09000000, 0x00006189, 0x09c1c424,
+ 0x00006012, 0x8006fa09, 0x00001582, 0x08400000, 0x0000e1b8, 0x02c80000,
+ 0x0000c9b8, 0xc8503206, 0x00006138, 0x0750480b, 0x0000c138, 0x00003616,
+ 0x00007050, 0x02c00000, 0x00007900, 0x000010c0, 0x00000980, 0x80000225,
+ 0x0000e582, 0x0500201d, 0x00008880, 0x0010a00b, 0x00006906, 0x703858ec,
+ 0x00005600, 0x00390800, 0x00008000, 0x08400000, 0x000080ec, 0x000035db,
+ 0x0000f410, 0x82c0201d, 0x00001880, 0x0411100b, 0x0000e911, 0xffffffff,
+ 0x00007f86, 0x000ff80b, 0x00006d01, 0x82504a26, 0x00006000, 0x80016021,
+ 0x00002686, 0x9661200b, 0x0000e003, 0x04181021, 0x0000b187, 0x703880ec,
+ 0x00005600, 0x00384000, 0x00000000, 0x89880209, 0x00006180, 0xb6e0880b,
+ 0x00002005, 0x703858ec, 0x00005600, 0x00390800, 0x00008000, 0x02d1b236,
+ 0x00006100, 0x0a200005, 0x0000c980, 0x0000e00b, 0x0000e502, 0x04181028,
+ 0x00002187, 0x88400a36, 0x0000e090, 0x88400000, 0x00008988, 0x82401a14,
+ 0x00006780, 0x0c81a034, 0x00008900, 0x0db9ac21, 0x0000030c, 0x08401a21,
+ 0x00006080, 0x85d0a217, 0x0000c100, 0x09c18021, 0x0000e002, 0x0401a034,
+ 0x00008900, 0x08400000, 0x00006180, 0x07400031, 0x00004084, 0x80010226,
+ 0x00006582, 0x0410f021, 0x00002187, 0x700040ec, 0x00005680, 0x003908c0,
+ 0x00000010, 0x703938ec, 0x0000d600, 0x0038e800, 0x00008000, 0x700040ec,
+ 0x00005680, 0x003947c0, 0x00000078, 0x000035c8, 0x0000f418, 0x0201a835,
+ 0x00006100, 0x81904a06, 0x00004000, 0x82400000, 0x00009980, 0x09913209,
+ 0x00009000, 0x00080026, 0x00009582, 0x00080026, 0x00009582, 0xffffffff,
+ 0x00007f86, 0x00003654, 0x0000f008, 0x00003633, 0x00007038, 0x02c00000,
+ 0x00007900, 0x000010e0, 0x00008980, 0x02500000, 0x0000e180, 0x0010b80b,
+ 0x0000e106, 0x04103009, 0x00006987, 0x703858ec, 0x00005600, 0x00384800,
+ 0x00008000, 0x02400000, 0x00001980, 0x82750a0a, 0x00007900, 0x00000002,
+ 0x00000080, 0x04210009, 0x00006887, 0x00002fb4, 0x0000f400, 0x703848ec,
+ 0x0000d600, 0x00000000, 0x00008080, 0x703898ec, 0x00005600, 0x00389000,
+ 0x00008000, 0x80000225, 0x0000e582, 0x05000000, 0x00008980, 0x02d00000,
+ 0x00006180, 0x04103014, 0x0000e187, 0x701000ec, 0x00005680, 0x0038a0c0,
+ 0x00000010, 0x00003621, 0x0000f210, 0x08400000, 0x00006180, 0x0411100b,
+ 0x00006111, 0xffffffff, 0x00007f86, 0x000ff80b, 0x00006d01, 0x9661200b,
+ 0x0000e003, 0x80016021, 0x0000b686, 0x703880ec, 0x00005600, 0x00384000,
+ 0x00000000, 0xb6e0880b, 0x0000e005, 0x04181021, 0x0000b187, 0x04100010,
+ 0x0000e082, 0x89810226, 0x00008180, 0x703858ec, 0x00005600, 0x00390800,
+ 0x00008000, 0x82410209, 0x00006080, 0x85d00217, 0x00008180, 0x02000008,
+ 0x00006084, 0x81820206, 0x00000080, 0x72010226, 0x0000789b, 0x01800000,
+ 0x00009b80, 0x0000359d, 0x0000f200, 0x01820000, 0x00001981, 0x00000411,
+ 0x00006583, 0x07080000, 0x00008980, 0x0510481c, 0x0000e100, 0x07400000,
+ 0x00008980, 0x02c00000, 0x00007900, 0x000010c0, 0x00000980, 0x02402014,
+ 0x00006080, 0x07000000, 0x0000c980, 0x0010480b, 0x0000e106, 0x0410301c,
+ 0x00003187, 0x703858ec, 0x00005600, 0x0038e000, 0x00000000, 0x02c00000,
+ 0x0000e180, 0x07008010, 0x00004900, 0x00003648, 0x0000f410, 0x82c02014,
+ 0x00006080, 0x09c1c410, 0x0000e012, 0x04000000, 0x0000e189, 0x0001c00b,
+ 0x0000e111, 0xffffffff, 0x00007f86, 0x000ff80b, 0x00006d01, 0x85d04a17,
+ 0x00006100, 0x8001601d, 0x00002686, 0x9660800b, 0x00006003, 0x0418101d,
+ 0x0000b187, 0x7038e0ec, 0x00005600, 0x00384000, 0x00000000, 0x87001a09,
+ 0x0000e780, 0xb6e0880b, 0x00002005, 0x703858ec, 0x00005600, 0x0038e800,
+ 0x00008000, 0x0439af34, 0x00008020, 0x8190e206, 0x00009000, 0x0251b236,
+ 0x0000e100, 0x07000a38, 0x0000c180, 0x0000e009, 0x00006502, 0x05000000,
+ 0x00008980, 0x82400a36, 0x0000e090, 0x82400000, 0x00008988, 0xc535120a,
+ 0x0000f900, 0x00000002, 0x00000080, 0x8d904a09, 0x00006100, 0x07600005,
+ 0x0000c980, 0x02401a09, 0x00006080, 0x0418101d, 0x0000e187, 0x07018009,
+ 0x00006002, 0x0c81a034, 0x00008900, 0x700040ec, 0x00005680, 0x0038a0c0,
+ 0x00000010, 0x0cc1a835, 0x0000e100, 0x02c00031, 0x0000c084, 0x00003606,
+ 0x00007400, 0x7038e0ec, 0x00005600, 0x00385800, 0x00000000, 0x700040ec,
+ 0x00005680, 0x0038efc0, 0x00000078, 0xc1801739, 0x00006283, 0x09c1cc1c,
+ 0x0000a000, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596, 0x07000c1c,
+ 0x0000e481, 0x0e400000, 0x00000981, 0x00000421, 0x00006583, 0x90000039,
+ 0x0000a401, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0x9660e039,
+ 0x0000e801, 0x00002e0f, 0x0000f210, 0xea38fc0a, 0x00005000, 0x0038f000,
+ 0x00008000, 0xc1801739, 0x00006283, 0x82510220, 0x00008900, 0x82590b21,
+ 0x0000e108, 0x02c09000, 0x00004981, 0x87000c39, 0x0000e080, 0x0231bc0b,
+ 0x0000c101, 0x87184a1c, 0x00006000, 0x82e1ca09, 0x00008100, 0x8020420b,
+ 0x00009502, 0xc1801739, 0x00006283, 0x02205c0b, 0x00000929, 0x81840000,
+ 0x00009990, 0x81800000, 0x00006188, 0x84204210, 0x00004100, 0x00003688,
+ 0x00007010, 0x8190321c, 0x00009000, 0xeae00408, 0x00004188, 0x00604637,
+ 0x00000088, 0xdfe04637, 0x0000c1b0, 0x00606e37, 0x00000088, 0xdfa06e37,
+ 0x00004198, 0x00605637, 0x00008088, 0x09e05637, 0x000045a8, 0x04605e37,
+ 0x00000188, 0xe4007e37, 0x0000c488, 0x3c607e37, 0x00008dae, 0x11208637,
+ 0x00004588, 0x03208e37, 0x0000038b, 0xea201e37, 0x00004388, 0x00601e37,
+ 0x000000b0, 0xe6402e37, 0x0000c488, 0x44602e37, 0x00008dae, 0x0d003637,
+ 0x00004790, 0x07a00e37, 0x00000b8e, 0xd4c00e37, 0x0000f89b, 0xa1800000,
+ 0x00009b89, 0x6340020b, 0x0000f893, 0xc9800000, 0x00001b8a, 0x80006637,
+ 0x00001583, 0x02e04408, 0x00001909, 0x000036c9, 0x0000f011, 0x02c00c0b,
+ 0x00009183, 0xea838206, 0x00007902, 0x1c400000, 0x00000000, 0xea839406,
+ 0x0000f902, 0x1cc00000, 0x00008000, 0x000036c9, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02c00c0b, 0x00009183, 0xea83a206, 0x0000f902, 0x1d400000,
+ 0x00008000, 0xea83b406, 0x00007902, 0x1dc00000, 0x00000000, 0x000036c9,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea83c206,
+ 0x0000f902, 0x1e400000, 0x00008000, 0xea83d406, 0x00007902, 0x1ec00000,
+ 0x00000000, 0x000036c9, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea83e206, 0x00007902, 0x1f400000, 0x00000000, 0xea83f406,
+ 0x0000f902, 0x1fc00000, 0x00008000, 0x000036c9, 0x0000f208, 0x81801206,
+ 0x00009080, 0x00000c0b, 0x00009583, 0xea840206, 0x00007902, 0x20400000,
+ 0x00000000, 0xea841406, 0x0000f902, 0x20c00000, 0x00008000, 0x000036c9,
+ 0x0000f208, 0x81801206, 0x00009080, 0xea842206, 0x0000f902, 0x21400000,
+ 0x00008000, 0xea843406, 0x00007902, 0x21c00000, 0x00000000, 0x00000421,
+ 0x00006583, 0x0721cc08, 0x00008001, 0x8df1bc08, 0x00006001, 0xcd99b408,
+ 0x00000000, 0x0e61cc08, 0x00009001, 0x000036ee, 0x00007008, 0x2bb832ec,
+ 0x00002004, 0xffffffff, 0x00007fa7, 0x00072806, 0x00009502, 0x0000358d,
+ 0x00007400, 0x07000806, 0x00009090, 0x2bb8e2ec, 0x0000a814, 0x02e04408,
+ 0x00009901, 0x02c00c0b, 0x00009183, 0xea836206, 0x0000f902, 0x1b400000,
+ 0x00008000, 0xea837406, 0x00007902, 0x1bc00000, 0x00000000, 0x000036a2,
+ 0x00007210, 0x81801206, 0x00009080, 0x000036c9, 0x0000f000, 0x02e04408,
+ 0x00009901, 0x02c00c0b, 0x00009183, 0xea832206, 0x00007902, 0x19400000,
+ 0x00000000, 0xea833406, 0x0000f902, 0x19c00000, 0x00008000, 0x000036c9,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea834206,
+ 0x00007902, 0x1a400000, 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000,
+ 0x00008000, 0x000036d6, 0x00007210, 0x81801206, 0x00009080, 0x000036c9,
+ 0x0000f000, 0x8020e209, 0x00001502, 0x09c1cc1c, 0x00006808, 0x0e400000,
+ 0x00006189, 0x07000c1c, 0x0000c489, 0x000036cf, 0x00007010, 0xc1801739,
+ 0x00006283, 0x90000039, 0x0000a401, 0x00000021, 0x0000e58f, 0x00000020,
+ 0x0000b596, 0x9660e039, 0x0000e801, 0x000036cf, 0x00007400, 0xea390a0a,
+ 0x0000d000, 0x00390000, 0x00000000, 0xea38fc0a, 0x00005000, 0x0038f000,
+ 0x00008000, 0x000036e6, 0x0000f200, 0x02e04408, 0x00009901, 0x000036a9,
+ 0x00007200, 0x02e04408, 0x00009901, 0x80003e37, 0x00009583, 0x02e04408,
+ 0x00001909, 0x000036c9, 0x0000f011, 0x02c00c0b, 0x00009183, 0xea82e206,
+ 0x0000f902, 0x17400000, 0x00008000, 0xea82f406, 0x00007902, 0x17c00000,
+ 0x00000000, 0x000036c9, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea830206, 0x0000f902, 0x18400000, 0x00008000, 0xea831406,
+ 0x00007902, 0x18c00000, 0x00000000, 0x000036df, 0x00007210, 0x81801206,
+ 0x00009080, 0x000036c9, 0x0000f000, 0x02e04408, 0x00009901, 0x02c00c0b,
+ 0x00009183, 0xea82c206, 0x00007902, 0x16400000, 0x00000000, 0xea82d406,
+ 0x0000f902, 0x16c00000, 0x00008000, 0x00003704, 0x0000f210, 0x81801206,
+ 0x00009080, 0x000036c9, 0x0000f000, 0x000036be, 0x00007200, 0x02e04408,
+ 0x00009901, 0x000036b0, 0x0000f200, 0x02e04408, 0x00009901, 0x000036b7,
+ 0x00007200, 0x02e04408, 0x00009901, 0x02e04408, 0x00009901, 0x02c00c0b,
+ 0x00009183, 0xea828206, 0x0000f902, 0x14400000, 0x00008000, 0xea829406,
+ 0x00007902, 0x14c00000, 0x00000000, 0x000036c9, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02c00c0b, 0x00009183, 0xea82a206, 0x00007902, 0x15400000,
+ 0x00000000, 0xea82b406, 0x0000f902, 0x15c00000, 0x00008000, 0x00003714,
+ 0x00007210, 0x81801206, 0x00009080, 0x000036c9, 0x0000f000, 0x0000372a,
+ 0x00007200, 0x02e04408, 0x00009901, 0x02c00c08, 0x00009183, 0xea820206,
+ 0x00007902, 0x10400000, 0x00000000, 0xea821406, 0x0000f902, 0x10c00000,
+ 0x00008000, 0x000036c9, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b,
+ 0x00009183, 0xea822206, 0x0000f902, 0x11400000, 0x00008000, 0xea823406,
+ 0x00007902, 0x11c00000, 0x00000000, 0x000036c9, 0x0000f208, 0x81801206,
+ 0x00009080, 0x02c00c0b, 0x00009183, 0xea824206, 0x0000f902, 0x12400000,
+ 0x00008000, 0xea825406, 0x00007902, 0x12c00000, 0x00000000, 0x000036c9,
+ 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea826206,
+ 0x00007902, 0x13400000, 0x00000000, 0xea827406, 0x0000f902, 0x13c00000,
+ 0x00008000, 0x00003723, 0x0000f210, 0x81801206, 0x00009080, 0x000036c9,
+ 0x0000f000, 0x00003749, 0x00007200, 0x02e04408, 0x00009901, 0x00003742,
+ 0x0000f200, 0x02e04408, 0x00009901, 0x0000373b, 0x00007200, 0x02e04408,
+ 0x00009901, 0x0000370b, 0x00007200, 0x02e04408, 0x00009901, 0xc1801739,
+ 0x00006283, 0x09c1cc1c, 0x0000a000, 0x00000021, 0x0000e58f, 0x00000020,
+ 0x0000b596, 0x07000c1c, 0x0000e481, 0x0e400000, 0x00000981, 0xea390a0a,
+ 0x0000d000, 0x00390000, 0x00000000, 0x90000039, 0x0000ec01, 0x0000358d,
+ 0x00007400, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0x9660e039,
+ 0x0000e801, 0x8020e209, 0x00001502, 0x01a10c21, 0x0000e111, 0x09c1cc1c,
+ 0x0000e008, 0x07000c1c, 0x00006489, 0x0e400000, 0x00008989, 0x00003583,
+ 0x0000f010, 0xc1801739, 0x00006283, 0x01800800, 0x00008981, 0x00000021,
+ 0x0000e58f, 0x00000020, 0x0000b596, 0x90000039, 0x0000ec01, 0xea390a0a,
+ 0x0000d000, 0x00390000, 0x00000000, 0x00003583, 0x0000f400, 0x9660e039,
+ 0x0000e801, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0x02211422,
+ 0x00009901, 0x02000c08, 0x00009183, 0xea836206, 0x0000f902, 0x1b400000,
+ 0x00008000, 0xea837406, 0x00007902, 0x1bc00000, 0x00000000, 0x00003555,
+ 0x0000f210, 0x81801206, 0x00009080, 0x0000357c, 0x00007000, 0x02211422,
+ 0x00009901, 0x02000c08, 0x00009183, 0xea832206, 0x00007902, 0x19400000,
+ 0x00000000, 0xea833406, 0x0000f902, 0x19c00000, 0x00008000, 0x0000357c,
+ 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea834206,
+ 0x00007902, 0x1a400000, 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000,
+ 0x00008000, 0x00003778, 0x00007210, 0x81801206, 0x00009080, 0x0000357c,
+ 0x00007000, 0x00003788, 0x0000f200, 0x02211422, 0x00009901, 0x0000355c,
+ 0x00007200, 0x02211422, 0x00009901, 0x00003571, 0x00007200, 0x02211422,
+ 0x00009901, 0x00003563, 0x00007200, 0x02211422, 0x00009901, 0x0000356a,
+ 0x00007200, 0x02211422, 0x00009901, 0x80003e37, 0x00009583, 0x02211422,
+ 0x00001909, 0x0000357c, 0x00007011, 0x02000c08, 0x00009183, 0xea82e206,
+ 0x0000f902, 0x17400000, 0x00008000, 0xea82f406, 0x00007902, 0x17c00000,
+ 0x00000000, 0x0000357c, 0x00007208, 0x81801206, 0x00009080, 0x02000c08,
+ 0x00009183, 0xea830206, 0x0000f902, 0x18400000, 0x00008000, 0xea831406,
+ 0x00007902, 0x18c00000, 0x00000000, 0x00003781, 0x00007210, 0x81801206,
+ 0x00009080, 0x0000357c, 0x00007000, 0x000037a4, 0x00007200, 0x02211422,
+ 0x00009901, 0x02211422, 0x00009901, 0x02000c08, 0x00009183, 0xea82c206,
+ 0x00007902, 0x16400000, 0x00000000, 0xea82d406, 0x0000f902, 0x16c00000,
+ 0x00008000, 0x0000379d, 0x0000f210, 0x81801206, 0x00009080, 0x0000357c,
+ 0x00007000, 0x02211422, 0x00009901, 0x02000c08, 0x00009183, 0xea828206,
+ 0x0000f902, 0x14400000, 0x00008000, 0xea829406, 0x00007902, 0x14c00000,
+ 0x00000000, 0x0000357c, 0x00007208, 0x81801206, 0x00009080, 0x02000c08,
+ 0x00009183, 0xea82a206, 0x00007902, 0x15400000, 0x00000000, 0xea82b406,
+ 0x0000f902, 0x15c00000, 0x00008000, 0x000037af, 0x00007210, 0x81801206,
+ 0x00009080, 0x0000357c, 0x00007000, 0x000037bf, 0x00007200, 0x02211422,
+ 0x00009901, 0x02000c22, 0x00001183, 0xea820206, 0x00007902, 0x10400000,
+ 0x00000000, 0xea821406, 0x0000f902, 0x10c00000, 0x00008000, 0x0000357c,
+ 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea822206,
+ 0x0000f902, 0x11400000, 0x00008000, 0xea823406, 0x00007902, 0x11c00000,
+ 0x00000000, 0x0000357c, 0x00007208, 0x81801206, 0x00009080, 0x02000c08,
+ 0x00009183, 0xea824206, 0x0000f902, 0x12400000, 0x00008000, 0xea825406,
+ 0x00007902, 0x12c00000, 0x00000000, 0x0000357c, 0x00007208, 0x81801206,
+ 0x00009080, 0x02000c08, 0x00009183, 0xea826206, 0x00007902, 0x13400000,
+ 0x00000000, 0xea827406, 0x0000f902, 0x13c00000, 0x00008000, 0x000037b8,
+ 0x00007210, 0x81801206, 0x00009080, 0x0000357c, 0x00007000, 0x000037de,
+ 0x0000f200, 0x02211422, 0x00009901, 0x000037d7, 0x0000f200, 0x02211422,
+ 0x00009901, 0x000037d0, 0x00007200, 0x02211422, 0x00009901, 0x02400000,
+ 0x00009981, 0x02402409, 0x00009081, 0x0020ec09, 0x00009503, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x000037ed, 0x00007028, 0x0000352b,
+ 0x0000f000, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000041d,
+ 0x00006583, 0x03000000, 0x00008980, 0x03400000, 0x000000f8, 0x03c00000,
+ 0x000081d4, 0x05800000, 0x000081dc, 0x0000351e, 0x0000f408, 0x06000000,
+ 0x000081e4, 0x06800000, 0x000081ec, 0x01800000, 0x00009981, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x01802406, 0x00009081, 0xffa0ec06,
+ 0x0000f82b, 0xf1800000, 0x00009a88, 0x42010543, 0x00009283, 0x80221e37,
+ 0x00009503, 0xffffffff, 0x00007f86, 0x00002e94, 0x0000f010, 0x00002e94,
+ 0x00007028, 0x00002e98, 0x0000f200, 0x41c00800, 0x00001981, 0x01000020,
+ 0x00001980, 0x034b5800, 0x00007900, 0x001e388c, 0x00008980, 0x00002c3d,
+ 0x00007400, 0x03a30000, 0x0000f900, 0x00039a04, 0x00000980, 0x8100d000,
+ 0x00009980, 0x38121c08, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x268b5800, 0x00007910, 0x001e388c, 0x00008980, 0x26400000,
+ 0x0000e190, 0x26000000, 0x00004990, 0x00003232, 0x00007008, 0x381b1c67,
+ 0x00007300, 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080,
+ 0x00000980, 0x298b5800, 0x0000f900, 0x001e388c, 0x00008980, 0x29e30000,
+ 0x0000f900, 0x00039a04, 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4,
+ 0x00006106, 0xa9381400, 0x00008a14, 0x2c331bde, 0x00007500, 0x28c00708,
+ 0x00000a88, 0x6b00001a, 0x00008ac4, 0xffc00000, 0x00001980, 0xffffffff,
+ 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x81800ee3,
+ 0x00001880, 0x86bb6406, 0x0000b038, 0x86bb7606, 0x0000b038, 0x82c03cec,
+ 0x0000f902, 0x01800000, 0x00008604, 0x81b71ee3, 0x00001900, 0x18c3606c,
+ 0x0000e100, 0x00236808, 0x00006086, 0x822b6808, 0x00006886, 0x0010380b,
+ 0x0000e186, 0x041b6808, 0x00003187, 0x85803c06, 0x00007902, 0x01800000,
+ 0x00000000, 0x02404008, 0x00009900, 0x281ef000, 0x0000f900, 0x0037b402,
+ 0x00008980, 0x18804809, 0x00001900, 0x80000606, 0x00009583, 0x0410300b,
+ 0x0000e18f, 0x0418380b, 0x0000b197, 0x00002006, 0x0000ed86, 0x1840580b,
+ 0x00006100, 0x042b6806, 0x00006087, 0x38451c89, 0x0000f500, 0x86236806,
+ 0x00006887, 0x18003006, 0x00009900, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x00007c6d, 0x00001583, 0x0000446d, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x0000384f, 0x0000f018, 0x0000385f, 0x0000f020, 0x01800c6d,
+ 0x00009181, 0x14802406, 0x0000f89a, 0xf9c00000, 0x00009c82, 0x0000846d,
+ 0x00009583, 0x81802800, 0x00001988, 0x00003860, 0x00007009, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x03748000, 0x00007900, 0x002e345a,
+ 0x00000980, 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x01c00000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x385f1bb2,
+ 0x00007500, 0x02fb6702, 0x00008020, 0x81002800, 0x00006180, 0x0183686d,
+ 0x0000c900, 0x81802000, 0x00001980, 0x41c00054, 0x000086e8, 0x022b2000,
+ 0x0000f900, 0x001f8008, 0x00000980, 0x81903207, 0x0000e100, 0x1ac00000,
+ 0x00000980, 0x04103008, 0x0000e101, 0xc32b686b, 0x00003006, 0x1a009000,
+ 0x00007900, 0x0000c500, 0x00008980, 0x1a400000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x203846ec, 0x00005600, 0x003b2000, 0x00000000, 0xda981302,
+ 0x00009900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0098d0ec, 0x0000d780, 0x00006000, 0x00008080, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000001,
+ 0x0000f080, 0x81000ee3, 0x0000e080, 0x08001a09, 0x0000e106, 0x86bd4404,
+ 0x0000b038, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x03759000,
+ 0x00007900, 0x002697cc, 0x00008980, 0x03ba9000, 0x00007900, 0x0016f7fa,
+ 0x00008980, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x82781400,
+ 0x0000802c, 0x38871bb2, 0x00007500, 0x81002800, 0x00006180, 0x020540a8,
+ 0x00004900, 0x018548a9, 0x00009900, 0x81000ee3, 0x0000e080, 0x1ac00060,
+ 0x0000c980, 0x86bd4404, 0x0000b038, 0x86bd5604, 0x0000b038, 0x200f26ec,
+ 0x00005680, 0x003b2509, 0x0000bf10, 0x81371ee3, 0x0000e100, 0x29c00000,
+ 0x0000c980, 0x85b82c04, 0x0000a080, 0x01000002, 0x00006180, 0x0000186b,
+ 0x00006106, 0x000018a7, 0x00006106, 0xc000186b, 0x0000b006, 0x1a001000,
+ 0x0000f900, 0x0003c000, 0x00008980, 0xc1202c05, 0x00006100, 0xc00018a7,
+ 0x0000e006, 0x1a505800, 0x0000f900, 0x0004ff50, 0x00000980, 0x29009000,
+ 0x00007900, 0x00008080, 0x00008980, 0x29400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x770000ec, 0x00005680, 0x00382000, 0x00000000, 0x1b000002,
+ 0x000006f4, 0x1b800018, 0x0000e180, 0x1bc00000, 0x00004980, 0x1c000000,
+ 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000080, 0x000007d4, 0x1d800000,
+ 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000,
+ 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000,
+ 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000,
+ 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000,
+ 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000,
+ 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000,
+ 0x000089ec, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x28000000,
+ 0x00008ac4, 0x28800000, 0x00008acc, 0x29b81702, 0x00000628, 0x0098d6ec,
+ 0x00005f80, 0x00c05a43, 0x0000818c, 0x0107f808, 0x00006280, 0x2680500a,
+ 0x00000900, 0x38c51c67, 0x00007500, 0x26782f09, 0x00008920, 0x26c02004,
+ 0x00001900, 0x200f26ec, 0x00005680, 0x003b2509, 0x0000bf10, 0x81371ee3,
+ 0x0000e100, 0xffc00000, 0x00004980, 0x85b82c04, 0x0000a080, 0x1ac00060,
+ 0x0000e180, 0x01000002, 0x00004980, 0x1a801002, 0x0000e100, 0x0000186b,
+ 0x00006106, 0x1a001000, 0x0000f900, 0x00030000, 0x00008980, 0xc1202c05,
+ 0x00006100, 0xc000186b, 0x0000e006, 0x1a505800, 0x0000f900, 0x00047fd0,
+ 0x00000980, 0x1bc00000, 0x0000f900, 0x00080000, 0x00000980, 0x770000ec,
+ 0x00005680, 0x00382000, 0x00000000, 0x1b000080, 0x000006f4, 0x1b800604,
+ 0x00006180, 0x1c000000, 0x0000c980, 0x1c400000, 0x000007c8, 0x1cc00000,
+ 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000,
+ 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000,
+ 0x000008c0, 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0, 0x21400000,
+ 0x000008d8, 0x21c00000, 0x000008e0, 0x22400000, 0x000008e8, 0x22c00000,
+ 0x000088f0, 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000,
+ 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000,
+ 0x00009980, 0x0080d6ec, 0x00005f80, 0x00005803, 0x00008084, 0x02800000,
+ 0x00001980, 0x82bf1fe3, 0x00001900, 0x8a004c0a, 0x00002080, 0xffffffff,
+ 0x00007fa7, 0x02403c09, 0x0000e281, 0x08004e0a, 0x0000a004, 0x00000c09,
+ 0x00001583, 0x01000000, 0x0000f910, 0x0000c040, 0x00000980, 0x01800000,
+ 0x0000e190, 0x01c00000, 0x00004990, 0x00000001, 0x00007088, 0x03703800,
+ 0x0000f900, 0x002697ce, 0x00000980, 0x03bd2000, 0x00007900, 0x00183a52,
+ 0x00000980, 0x81017800, 0x0000e180, 0x08001a09, 0x0000e106, 0x39061bb2,
+ 0x0000f500, 0x82600500, 0x00008026, 0x0238170a, 0x0000802c, 0x82000ee3,
+ 0x00009880, 0x86bd4408, 0x0000b038, 0x86bd5608, 0x0000b038, 0x82371ee3,
+ 0x00009900, 0x281fa800, 0x0000f900, 0x00396972, 0x00008980, 0x18c540a8,
+ 0x0000e100, 0x00254806, 0x00006086, 0x822d4806, 0x00006886, 0x041d4806,
+ 0x0000e987, 0x01c03006, 0x00001900, 0x18803807, 0x00001900, 0xffffffff,
+ 0x0000ffb7, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0x85b82408,
+ 0x0000a000, 0xffffffff, 0x00007f97, 0x00102809, 0x00006986, 0x85b82c08,
+ 0x0000a080, 0x80000604, 0x00001583, 0x04102009, 0x0000e18f, 0x00002004,
+ 0x0000b586, 0x042d4804, 0x0000e887, 0x86254804, 0x0000e087, 0x04182809,
+ 0x0000b197, 0x39221c89, 0x0000f500, 0x18002004, 0x00009900, 0x18404809,
+ 0x00001900, 0x004014a9, 0x0000c589, 0x8a8024a9, 0x00008d8e, 0x392720ba,
+ 0x0000f404, 0x297d5faa, 0x00000a10, 0x28c09b00, 0x00009980, 0x000004a2,
+ 0x0000e583, 0x016514a2, 0x00008901, 0x823f1fe3, 0x00001908, 0x8a004408,
+ 0x0000a088, 0x00003931, 0x0000f010, 0xffffffff, 0x00007f97, 0x02003c08,
+ 0x00001281, 0x02001408, 0x00001181, 0x00000c08, 0x00009583, 0x00003936,
+ 0x0000f01b, 0x028a0800, 0x00007900, 0x002697cc, 0x00008980, 0x000039ae,
+ 0x0000f400, 0x017d57ab, 0x00008024, 0x022514a2, 0x00001900, 0x393a38f1,
+ 0x0000f500, 0x300044af, 0x00007902, 0x01800000, 0x00000000, 0x307838af,
+ 0x0000a080, 0x80000207, 0x0000e582, 0x1e000000, 0x00008980, 0x1b040000,
+ 0x00007900, 0x00010000, 0x00000980, 0x1bc00000, 0x0000f900, 0x00040000,
+ 0x00000980, 0x1c400000, 0x0000f900, 0x00080000, 0x00000980, 0x1b400000,
+ 0x0000e180, 0x1b800600, 0x0000c980, 0x1c000000, 0x000087c8, 0x1cc00000,
+ 0x0000e180, 0x1d240000, 0x00004980, 0x1d400000, 0x000007d8, 0x1dc00000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000,
+ 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000,
+ 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000,
+ 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000,
+ 0x000089dc, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x27c00000,
+ 0x00000ac0, 0x0000396d, 0x00007410, 0x28400000, 0x00000ac8, 0x28c00000,
+ 0x00006180, 0xde183b07, 0x0000c900, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x01800000, 0x00006180, 0x08001a09, 0x0000e106, 0x034d1800,
+ 0x0000f900, 0x002697cc, 0x00008980, 0x0397d800, 0x00007900, 0x00349cb0,
+ 0x00008980, 0x82600500, 0x00008026, 0x02f81702, 0x00000020, 0x00003a0b,
+ 0x0000f400, 0x8100e800, 0x00006180, 0x81903a07, 0x00004900, 0x01c00000,
+ 0x00009980, 0x80000a07, 0x00006582, 0x27800000, 0x00000980, 0xe7800800,
+ 0x00006198, 0x26004008, 0x00004900, 0x80000a07, 0x00006582, 0x26403006,
+ 0x00000900, 0x82103a07, 0x00006108, 0x82001000, 0x00004990, 0x01800000,
+ 0x0000f900, 0x00001340, 0x00008980, 0x02400000, 0x0000f900, 0x000014c4,
+ 0x00000980, 0x81001a08, 0x0000e080, 0x81a80500, 0x00004900, 0x00102009,
+ 0x0000e106, 0x75e80006, 0x0000b101, 0x02800000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0x703848ec, 0x0000d600, 0x00383000, 0x00008000, 0x02600005,
+ 0x0000e180, 0x82801a08, 0x00004880, 0x703cc0ec, 0x00005600, 0x003cc800,
+ 0x00008000, 0xa7903a07, 0x0000e100, 0x04181009, 0x0000e187, 0x703850ec,
+ 0x0000d600, 0x00384800, 0x00008000, 0x00c002ec, 0x0000df80, 0x138c580b,
+ 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x01000ce0,
+ 0x00009283, 0x000039a3, 0x0000700b, 0x399f1c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x016524a4, 0x00009911, 0x000039aa,
+ 0x0000f011, 0x823f1fe3, 0x00009900, 0x8a004408, 0x00002080, 0xffffffff,
+ 0x00007fa7, 0x02003c08, 0x00001281, 0x02001408, 0x00001181, 0x6bc00c08,
+ 0x0000789a, 0x01c00001, 0x00008080, 0xc13cc005, 0x00008024, 0x028f2800,
+ 0x0000f900, 0x002697cc, 0x00008980, 0x023ccf04, 0x00000014, 0x39af38c0,
+ 0x0000f100, 0x200ba6ec, 0x00005680, 0x003b2449, 0x0000bf10, 0x82371ee3,
+ 0x0000e100, 0x1ac00060, 0x0000c980, 0x85b82c08, 0x0000a080, 0x29c00000,
+ 0x0000e180, 0x01000002, 0x00004980, 0x0000186b, 0x00006106, 0x000018a7,
+ 0x00003106, 0x80000a07, 0x00006582, 0xc000186b, 0x00002006, 0xc1202c05,
+ 0x00006100, 0xc00018a7, 0x0000e006, 0x1a001000, 0x0000f900, 0x0003c000,
+ 0x00008980, 0x1a505800, 0x0000f900, 0x0004ff50, 0x00000980, 0x29009000,
+ 0x00007900, 0x00008080, 0x00008980, 0x29400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x770000ec, 0x00005680, 0x00382000, 0x00000000, 0x1ab81702,
+ 0x00000a18, 0x2744d89b, 0x0000e108, 0x2704d09a, 0x00004908, 0x0098d6ec,
+ 0x00005f80, 0x00c05a43, 0x0000818c, 0x1b000000, 0x000086f4, 0x1b800000,
+ 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000,
+ 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000,
+ 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000,
+ 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000,
+ 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000,
+ 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x39e138f1,
+ 0x0000f500, 0x25000000, 0x000089d4, 0x25c00000, 0x000089d8, 0x1ac00060,
+ 0x0000e180, 0xe000086e, 0x0000e402, 0x6000106c, 0x0000e402, 0x05555071,
+ 0x0000b586, 0x0000186b, 0x00006106, 0x4000186e, 0x0000b403, 0x1bd55000,
+ 0x00007900, 0x001aaaaa, 0x00000980, 0x7000c874, 0x00006500, 0xa000106c,
+ 0x00003403, 0x1c155000, 0x0000f900, 0x002aaaaa, 0x00000980, 0x1a001000,
+ 0x0000f900, 0x0003c000, 0x00008980, 0x1a505800, 0x0000f900, 0x0004ffd0,
+ 0x00008980, 0x200ba6ec, 0x00005680, 0x003b2449, 0x0000bf10, 0xc000186b,
+ 0x0000e006, 0x00555071, 0x0000b507, 0x26394f28, 0x00000924, 0x26b95f2a,
+ 0x0000092c, 0x27396f2c, 0x00000934, 0x27b97f2e, 0x0000093c, 0x28398f30,
+ 0x00000a04, 0x28b99f32, 0x00000a0c, 0xdb855000, 0x00006181, 0x1a801002,
+ 0x0000c900, 0x0098d6ec, 0x00005f80, 0x00005803, 0x00008084, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0360f800, 0x00007900, 0x00396972,
+ 0x00008980, 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x020540a8,
+ 0x00006100, 0x08001a09, 0x0000e106, 0x018007a9, 0x0000809c, 0x82600500,
+ 0x00008026, 0x81002800, 0x00006180, 0x02c01002, 0x00004900, 0x3a0c1bb2,
+ 0x00007100, 0x99c082ec, 0x0000f902, 0x03c00000, 0x00000000, 0x42400c04,
+ 0x0000c489, 0x2a600c04, 0x00008eac, 0x01001404, 0x00004589, 0x80a01c04,
+ 0x0000808e, 0x00003a1d, 0x00007400, 0xc0172b10, 0x00009502, 0xc4000b10,
+ 0x00001090, 0x00003a1d, 0x00007400, 0x80172a10, 0x00009502, 0x84000a10,
+ 0x00001090, 0x00003a1d, 0x00007400, 0x80172a0f, 0x00001502, 0x83c00a0f,
+ 0x00001090, 0xc0172b0f, 0x00001502, 0xc3c00b0f, 0x00001090, 0x40000504,
+ 0x00001583, 0x99f882ec, 0x00005000, 0x00387800, 0x00008000, 0x200f26ec,
+ 0x0000d690, 0x003b2509, 0x0000bf10, 0x00003a23, 0x0000f008, 0x7fc00400,
+ 0x000086ec, 0x1b001000, 0x0000e180, 0x0000186b, 0x00006106, 0x1a001000,
+ 0x0000f900, 0x00030000, 0x00008980, 0x1a505800, 0x0000f900, 0x00047fd0,
+ 0x00000980, 0x1bc00000, 0x0000f900, 0x00080000, 0x00000980, 0x1b400000,
+ 0x0000e180, 0xc000186b, 0x0000e006, 0x1b800006, 0x0000e180, 0x1c000000,
+ 0x0000c980, 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0, 0x1d400000,
+ 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000,
+ 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000,
+ 0x000008c8, 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8, 0x21c00000,
+ 0x000008e0, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0, 0x23400000,
+ 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000,
+ 0x000089d0, 0x25400000, 0x000009d8, 0x1a800702, 0x0000099c, 0x0080d6ec,
+ 0x00005f80, 0x00005803, 0x00008084, 0x82996209, 0x00006100, 0x81196209,
+ 0x00008100, 0x8211630a, 0x0000e100, 0x8151630a, 0x00000100, 0x01c80000,
+ 0x00006180, 0x8318530a, 0x00004900, 0x8320492c, 0x00000018, 0x8000020a,
+ 0x00006582, 0xc199632c, 0x00000900, 0x8008020a, 0x00001582, 0xffffffff,
+ 0x00007f86, 0x00003a5d, 0x0000f008, 0x00003a58, 0x00007030, 0x01000020,
+ 0x00001980, 0x00003a64, 0x0000f400, 0x034c5800, 0x0000f900, 0x003069ea,
+ 0x00000980, 0x81015000, 0x00009980, 0x8287fb2c, 0x00009280, 0x0180220a,
+ 0x00009880, 0x00003a6f, 0x00007400, 0x02415006, 0x00009002, 0x0200002b,
+ 0x00001084, 0x82800a08, 0x00009180, 0x8007fa0a, 0x00009582, 0x01000020,
+ 0x00001998, 0x81015000, 0x00009998, 0x00003a6b, 0x00007030, 0x034d6000,
+ 0x0000f900, 0x003069ea, 0x00000980, 0x03852800, 0x00007900, 0x00347346,
+ 0x00000980, 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106, 0x3a6b1bb2,
+ 0x00007500, 0x82600500, 0x00008026, 0x0238170c, 0x0000802c, 0x8207fa2c,
+ 0x00009280, 0x01802208, 0x00001880, 0x02414006, 0x00001002, 0x02000029,
+ 0x00009084, 0x81a80500, 0x00006100, 0x82800ee3, 0x00004880, 0xc183520a,
+ 0x00007900, 0x00000002, 0x00000080, 0x700080ec, 0x00005680, 0x003830c4,
+ 0x00008010, 0x01a00005, 0x00009980, 0x703848ec, 0x0000d600, 0x00384000,
+ 0x00000000, 0x04181006, 0x00006987, 0x700080ec, 0x00005680, 0x003837c0,
+ 0x00000078, 0x00c002ec, 0x0000df80, 0x1393e80a, 0x00009484, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x01800ce0, 0x00001283, 0x00003a96,
+ 0x0000700b, 0x3a911c08, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x01080000, 0x00009990, 0x00003a96, 0x0000f009, 0x00003adb,
+ 0x0000f000, 0x01800000, 0x000080dc, 0x86805c0a, 0x00007902, 0x02400000,
+ 0x00000000, 0x80000204, 0x0000e582, 0x00196006, 0x00002186, 0x00280007,
+ 0x00006086, 0x00000806, 0x0000b48f, 0x82371ee3, 0x0000e100, 0x04116007,
+ 0x0000e187, 0x85b83c08, 0x00005000, 0x00383000, 0x00008000, 0x58004509,
+ 0x00004389, 0x00601d09, 0x00000090, 0x00000c09, 0x00007890, 0x00000000,
+ 0x00000000, 0xd2801c09, 0x0000f892, 0x01c00001, 0x00008010, 0x59201d09,
+ 0x0000c389, 0x00601d09, 0x00008098, 0x04800d09, 0x00004588, 0x02600d09,
+ 0x000002b5, 0x5aa02d09, 0x0000c489, 0x96602d09, 0x00000ead, 0x58203509,
+ 0x00004691, 0xa2602509, 0x00008e95, 0x13600c09, 0x0000c5a8, 0x7f802c09,
+ 0x000080b4, 0x69400d09, 0x0000c291, 0x4e601409, 0x00000e9d, 0x57400509,
+ 0x0000c489, 0x46603509, 0x00000e8d, 0x01001509, 0x00004589, 0x09402d09,
+ 0x00000094, 0x02804409, 0x00001181, 0xd280440a, 0x0000f89a, 0x39c00000,
+ 0x00009d85, 0x02000c09, 0x00009181, 0xd2800c08, 0x0000789a, 0x39c00000,
+ 0x00009d85, 0x02800c09, 0x00001181, 0xd2804c0a, 0x0000789a, 0x39c00000,
+ 0x00009d85, 0x3ac12101, 0x00007004, 0x01800000, 0x0000e181, 0x82371ee3,
+ 0x0000c900, 0x85b83c08, 0x00002080, 0xffffffff, 0x00007fa7, 0x40000d07,
+ 0x00009583, 0x01800800, 0x00009989, 0xc7000204, 0x0000788a, 0x41c00000,
+ 0x00001d88, 0x3ac13d6d, 0x0000f100, 0x00003ac1, 0x00007000, 0x3ac1382b,
+ 0x00007100, 0x00003ac1, 0x00007000, 0x3ac1183c, 0x0000f004, 0x00003ac1,
+ 0x00007000, 0x3ac10b7c, 0x0000f004, 0x00003ac1, 0x00007000, 0x3ac188bd,
+ 0x0000f004, 0x00003ac1, 0x00007000, 0x3ac13dab, 0x0000f004, 0x00003ac1,
+ 0x00007000, 0x3ac172dd, 0x0000f004, 0x00003adb, 0x00007200, 0x01001000,
+ 0x00001980, 0x00003adb, 0x00007200, 0x01001800, 0x00009980, 0x01000800,
+ 0x00001980, 0x3adc3a0c, 0x0000f100, 0x1ac00000, 0x0000e180, 0x08003a0a,
+ 0x00006100, 0x1b000000, 0x00006180, 0x0010506b, 0x0000e106, 0x1a001000,
+ 0x0000f900, 0x00030000, 0x00008980, 0x1a505800, 0x0000f900, 0x00044040,
+ 0x00000980, 0x1b400000, 0x0000e180, 0xc328486b, 0x0000e006, 0x1b800200,
+ 0x00006180, 0x1bc00000, 0x00004980, 0x1c000010, 0x000007c4, 0x1c800000,
+ 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000,
+ 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000,
+ 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000,
+ 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000,
+ 0x000089dc, 0x1a80580b, 0x00009900, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x0080d0ec, 0x0000d780, 0x00005803,
+ 0x00000080, 0xffffffff, 0x00007f97, 0x00d002ec, 0x00005f80, 0x13982806,
+ 0x00008d84, 0x01800000, 0x00009981, 0xc7000204, 0x0000788a, 0x01c00001,
+ 0x00008080, 0x82800b2c, 0x00006080, 0x01800000, 0x00008980, 0x02000ee3,
+ 0x0000e081, 0x04105006, 0x0000e187, 0x02800c08, 0x0000e081, 0x01c81004,
+ 0x00008980, 0x760010ec, 0x00005680, 0x00000000, 0x00008080, 0x2c01440a,
+ 0x00001680, 0x020588b0, 0x00009000, 0x02801808, 0x0000e780, 0x02403006,
+ 0x00000900, 0xc1d82a0a, 0x0000f900, 0x00000002, 0x00000080, 0x763838ec,
+ 0x00005600, 0x000e0000, 0x00000080, 0x00003b1e, 0x0000f400, 0x760000ec,
+ 0x0000d680, 0x00384800, 0x00008000, 0xcb000b2c, 0x00009080, 0x00000406,
+ 0x00009583, 0x8b000a2c, 0x00001088, 0x80000204, 0x0000e582, 0x1ac00040,
+ 0x00008980, 0x1b001000, 0x0000e180, 0x0000186b, 0x00006106, 0x1a001000,
+ 0x0000f900, 0x00038000, 0x00000980, 0x1a505800, 0x0000f900, 0x0004ffd0,
+ 0x00008980, 0x1b400000, 0x0000e180, 0xc000186b, 0x0000e006, 0x1b800000,
+ 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000,
+ 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
+ 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000,
+ 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x1ab94702,
+ 0x00000920, 0x26795729, 0x00000928, 0x26f9672b, 0x00000930, 0x00003b46,
+ 0x0000f408, 0x2779772d, 0x00000938, 0x27c1782f, 0x00009900, 0x00003b48,
+ 0x0000f400, 0x80000a04, 0x00009582, 0x1b98006e, 0x00009388, 0x80000a05,
+ 0x00001582, 0xc000186e, 0x0000ec0a, 0x0090d6ec, 0x0000df80, 0x00005803,
+ 0x00008084, 0x02800000, 0x0000f900, 0x000040c0, 0x00000980, 0x01c84000,
+ 0x0000e180, 0x02000002, 0x00004980, 0x200f26ec, 0x00005680, 0x003b2509,
+ 0x0000bf10, 0x82845500, 0x0000f900, 0x00000002, 0x00000080, 0xc2280500,
+ 0x00006100, 0x04284807, 0x0000e007, 0x723850ec, 0x00005600, 0x00384000,
+ 0x00000000, 0x723858ec, 0x0000d600, 0x00383800, 0x00000000, 0x00c002ec,
+ 0x0000df80, 0x139ad00a, 0x00001484, 0x82280500, 0x00009900, 0x88b83c08,
+ 0x0000a080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x5ac02507,
+ 0x0000c497, 0xb0604507, 0x00000e95, 0xb7001507, 0x0000788e, 0xd1c00000,
+ 0x00009d86, 0x01c02805, 0x00006100, 0x0107f804, 0x0000c280, 0x3b671c67,
+ 0x0000f500, 0x26795f2a, 0x00000920, 0x26f83f04, 0x00008928, 0x7fc00400,
+ 0x000080dc, 0x01801002, 0x0000e100, 0x00001807, 0x00006106, 0x200f26ec,
+ 0x00005680, 0x003b2509, 0x0000bf10, 0x01001000, 0x0000f900, 0x00030000,
+ 0x00008980, 0x01505800, 0x0000f900, 0x00047fd0, 0x00000980, 0x02c00000,
+ 0x00007900, 0x00080000, 0x00000980, 0x02001000, 0x00006180, 0xc0001807,
+ 0x0000e006, 0x02400000, 0x00006180, 0x02800006, 0x00004980, 0x03000000,
+ 0x000080f4, 0x03800000, 0x000080fc, 0x04000000, 0x000081c4, 0x04800000,
+ 0x000081cc, 0x05000000, 0x000081d4, 0x05800000, 0x000081dc, 0x06000000,
+ 0x000081e4, 0x06800000, 0x000081ec, 0x07000000, 0x000081f4, 0x07800000,
+ 0x000081fc, 0x08000000, 0x000082c4, 0x08800000, 0x000082cc, 0x09000000,
+ 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000,
+ 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000,
+ 0x000083c4, 0x0cc00000, 0x000083c8, 0x00800eec, 0x00005f80, 0x00005803,
+ 0x00008084, 0x8100600a, 0x0000019d, 0x81197a04, 0x00006100, 0x81a18217,
+ 0x00000100, 0x80103204, 0x0000e502, 0xc558530a, 0x00008900, 0x01a02404,
+ 0x00006129, 0xc1af2004, 0x0000c980, 0x45400054, 0x000000e0, 0x00000406,
+ 0x00006583, 0x02400000, 0x00008980, 0x02c00000, 0x000081c4, 0x04800000,
+ 0x000081cc, 0x00003beb, 0x00007208, 0x02800000, 0x00006180, 0x81402406,
+ 0x00004880, 0x8000122e, 0x0000e582, 0x05c06c30, 0x00008080, 0x03000817,
+ 0x00006080, 0x0100262f, 0x00004880, 0x05c0f804, 0x00001784, 0x00003c33,
+ 0x0000f018, 0x05815004, 0x00009002, 0x03415817, 0x00006004, 0x0f002817,
+ 0x00002086, 0x05c0be2f, 0x00001000, 0x0007f817, 0x00009582, 0x00003c77,
+ 0x0000f053, 0x00080017, 0x00001582, 0x0101502a, 0x0000e108, 0x05c1582b,
+ 0x00004908, 0x0a81602c, 0x0000e108, 0x0ac1682d, 0x00004908, 0x00003c77,
+ 0x0000f208, 0x0b002004, 0x0000e108, 0x0b40b817, 0x00004908, 0x05c00100,
+ 0x000000dc, 0x01317817, 0x0000e100, 0x04206007, 0x0000a085, 0x03800000,
+ 0x00007900, 0x000014c0, 0x00008980, 0x05c02004, 0x0000e080, 0x75e80007,
+ 0x00006101, 0x03e00005, 0x0000e180, 0x0010b80e, 0x0000e106, 0x04000000,
+ 0x00007900, 0x00007fc0, 0x00000980, 0x703870ec, 0x00005600, 0x00383800,
+ 0x00000000, 0x84002004, 0x0000e080, 0x0418100f, 0x0000e187, 0x7038b0ec,
+ 0x00005600, 0x00386800, 0x00000000, 0x703880ec, 0x00005600, 0x00387800,
+ 0x00008000, 0x03c00000, 0x0000f900, 0x000014c4, 0x00000980, 0x03b9572c,
+ 0x00000010, 0x0ab95f2c, 0x0000801c, 0x0b396f04, 0x00008034, 0x8110ba05,
+ 0x0000e100, 0x0ac1682d, 0x00000900, 0x0b403807, 0x0000e100, 0x0010200f,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0x81001a17, 0x00004780, 0x83106204,
+ 0x00006000, 0x81e80500, 0x00000900, 0x0100680d, 0x00006100, 0x04206007,
+ 0x00006085, 0x03000000, 0x00006180, 0x75e80007, 0x00006101, 0x703878ec,
+ 0x0000d600, 0x00383800, 0x00000000, 0x01c0070e, 0x000000bc, 0x83d0ba05,
+ 0x00009100, 0x000ff80f, 0x00006501, 0x8001600c, 0x0000b686, 0x703838ec,
+ 0x00005600, 0x00382000, 0x00000000, 0x0418100c, 0x00006987, 0x703878ec,
+ 0x0000d600, 0x00386000, 0x00008000, 0x00c002ec, 0x0000df80, 0x139f000b,
+ 0x00009684, 0x85ff1fe3, 0x00001900, 0x8a002c17, 0x00002080, 0xffffffff,
+ 0x00007fa7, 0x01403c05, 0x00001281, 0x01401405, 0x00001181, 0x00000c05,
+ 0x00001583, 0x01000000, 0x0000e1b0, 0x01400000, 0x000049b0, 0x00003c96,
+ 0x00007031, 0x0c218406, 0x0000e001, 0xcbd97c06, 0x00008000, 0x01002437,
+ 0x00009283, 0x41007d37, 0x00001283, 0xffffffff, 0x00007f86, 0x00003cf5,
+ 0x00007008, 0x00003ce2, 0x00007008, 0x0e01bc06, 0x00006806, 0x00006406,
+ 0x00006583, 0x01203406, 0x00008900, 0x01698430, 0x00009150, 0x00003ce2,
+ 0x0000f039, 0x00002804, 0x00009502, 0x8bc00a2f, 0x000060d0, 0x81197c06,
+ 0x00000050, 0xc411b236, 0x00006150, 0x84218204, 0x0000c150, 0x00003d16,
+ 0x00007038, 0x00000c06, 0x00001583, 0x00003cce, 0x0000f03b, 0x0100db10,
+ 0x00001080, 0x002f2004, 0x00007900, 0x00000008, 0x00008582, 0x8500e306,
+ 0x000061c8, 0x0e01bc06, 0x0000204e, 0x01000406, 0x000060c9, 0x85000406,
+ 0x000000c9, 0x00003d04, 0x00007040, 0x05a98406, 0x0000e001, 0x01c00000,
+ 0x00000980, 0x81401a15, 0x0000e180, 0x00001807, 0x0000a106, 0x03009020,
+ 0x0000e180, 0x0d001c15, 0x0000e006, 0x00218416, 0x0000e503, 0x03c00000,
+ 0x00008980, 0x04032011, 0x00006006, 0xc320a807, 0x0000b006, 0x05e0b430,
+ 0x0000e101, 0x0000180f, 0x00002106, 0xc3001404, 0x0000e081, 0x00001009,
+ 0x0000a403, 0x01001000, 0x00006180, 0x44032011, 0x00006002, 0x03400000,
+ 0x00007900, 0x00018030, 0x00008980, 0x03801002, 0x00006100, 0xc000180f,
+ 0x00006006, 0x4c298406, 0x0000e001, 0x86203205, 0x00000100, 0x01580800,
+ 0x00007900, 0x0004ff90, 0x00000980, 0x00003cba, 0x00007408, 0x81c01c17,
+ 0x0000e081, 0xc1002c17, 0x00000081, 0x055019a0, 0x00006190, 0x01801002,
+ 0x0000c900, 0x05800000, 0x00007900, 0x001f8000, 0x00008980, 0x85988214,
+ 0x0000e100, 0x8630a015, 0x0000a087, 0x05006d30, 0x0000e081, 0x0410c016,
+ 0x00002101, 0x2038b6ec, 0x00005600, 0x003b2000, 0x00000000, 0x001008ec,
+ 0x0000d780, 0x00985a80, 0x000081c0, 0x45298430, 0x00006101, 0x0c298430,
+ 0x00008101, 0x0030a0ec, 0x0000d702, 0x00005800, 0x00000080, 0x4c000000,
+ 0x00001981, 0x00b8aeec, 0x00005f00, 0x00006003, 0x00000084, 0x03815004,
+ 0x00009002, 0x03415817, 0x00006004, 0x0f002817, 0x00002086, 0x05c0be2f,
+ 0x00001000, 0x0007f817, 0x00009582, 0x00080017, 0x00001582, 0xffffffff,
+ 0x00007f86, 0x00003cac, 0x0000f050, 0x00003c97, 0x0000f008, 0x05c00100,
+ 0x000000dc, 0x01317817, 0x0000e100, 0x04206007, 0x0000a085, 0x03c00000,
+ 0x0000f900, 0x000014c0, 0x00008980, 0x05c02004, 0x0000e080, 0x75e80007,
+ 0x00006101, 0x04000000, 0x00007900, 0x00007fc0, 0x00000980, 0x84002004,
+ 0x0000e080, 0x0010b80f, 0x00006106, 0x703878ec, 0x0000d600, 0x00383800,
+ 0x00000000, 0x01000a2e, 0x0000e180, 0x01d9732e, 0x00008900, 0x00002007,
+ 0x0000e502, 0x03e00005, 0x00000980, 0x81000b2e, 0x0000e090, 0x81000000,
+ 0x00000988, 0x703870ec, 0x00005600, 0x00386800, 0x00000000, 0xcb902204,
+ 0x0000e100, 0x0418100f, 0x0000e187, 0x01001a04, 0x00006080, 0x05a00005,
+ 0x00004980, 0x703880ec, 0x00005600, 0x00387800, 0x00008000, 0x04014004,
+ 0x0000e002, 0x04181016, 0x0000a187, 0x010002c0, 0x00006180, 0x01c00029,
+ 0x0000c084, 0x0a81602c, 0x00006100, 0x75e80004, 0x00006101, 0x700040ec,
+ 0x00005680, 0x003824c0, 0x00000010, 0x03c00000, 0x0000f900, 0x000014c4,
+ 0x00000980, 0x703880ec, 0x00005600, 0x00383800, 0x00000000, 0x81d0ba05,
+ 0x0000e100, 0x01000000, 0x00000980, 0x81280500, 0x0000e100, 0x0010380f,
+ 0x0000e106, 0x81c01a17, 0x0000e780, 0x0ac1682d, 0x00000900, 0x83106207,
+ 0x00006000, 0x0381602c, 0x00008900, 0x0341682d, 0x00006100, 0x04206004,
+ 0x00006085, 0x700040ec, 0x00005680, 0x0038b7c0, 0x00008078, 0x01c1602c,
+ 0x00006100, 0x75e80004, 0x00006101, 0x703878ec, 0x0000d600, 0x00382000,
+ 0x00000000, 0x00003bd7, 0x0000f400, 0x03c00000, 0x000000f0, 0x83d0ba05,
+ 0x00006100, 0x0101682d, 0x00008900, 0x01000000, 0x00009980, 0x81280500,
+ 0x00009900, 0x01c00000, 0x00007900, 0x000014c4, 0x00000980, 0x04206004,
+ 0x00006085, 0x00102807, 0x0000b106, 0x03000000, 0x00006180, 0x75e80004,
+ 0x00006101, 0x703838ec, 0x00005600, 0x00382000, 0x00000000, 0x0140b016,
+ 0x0000e100, 0x83002406, 0x00004880, 0x0100070d, 0x0000809c, 0x000ff80c,
+ 0x00006501, 0x80016007, 0x00003686, 0x703828ec, 0x0000d600, 0x00382000,
+ 0x00000000, 0x04181007, 0x0000e987, 0x703860ec, 0x0000d600, 0x00383800,
+ 0x00000000, 0x00c002ec, 0x0000df80, 0x13c4680b, 0x00009684, 0x85ff1fe3,
+ 0x00001900, 0x8a002c17, 0x00002080, 0xffffffff, 0x00007fa7, 0x01403c05,
+ 0x00001281, 0x01401405, 0x00001181, 0x00000c05, 0x00001583, 0x01000000,
+ 0x0000e1b0, 0x01400000, 0x000049b0, 0x00003be9, 0x00007019, 0x3c973b62,
+ 0x0000f100, 0x0119732e, 0x00006100, 0x05c00a2e, 0x0000c180, 0x0000b804,
+ 0x00006502, 0x05a00005, 0x00008980, 0x81000b2e, 0x0000e090, 0x81000000,
+ 0x00000988, 0x0a81602c, 0x00006100, 0x04181016, 0x00006187, 0xcb902204,
+ 0x0000e100, 0x05c01a04, 0x0000c880, 0x04014017, 0x00006002, 0x010002c0,
+ 0x00008980, 0x01c00029, 0x00006084, 0x75e80004, 0x0000a101, 0x700040ec,
+ 0x00005680, 0x003824c0, 0x00000010, 0x703880ec, 0x00005600, 0x00383800,
+ 0x00000000, 0x700040ec, 0x00005680, 0x0038b7c0, 0x00008078, 0x0ac1682d,
+ 0x00009900, 0x01000000, 0x00009980, 0x81280500, 0x00009900, 0x01c00000,
+ 0x00007900, 0x000014c4, 0x00000980, 0x04206004, 0x00006085, 0x00102807,
+ 0x0000b106, 0x03000000, 0x00006180, 0x75e80004, 0x00006101, 0x703838ec,
+ 0x00005600, 0x00382000, 0x00000000, 0x00003c84, 0x00007400, 0x0140700e,
+ 0x0000e100, 0x83002406, 0x00004880, 0x0100070d, 0x0000809c, 0x05800000,
+ 0x00007900, 0x001f8000, 0x00008980, 0xc018ab2f, 0x0000e502, 0x85988214,
+ 0x00008100, 0x05006d30, 0x0000e081, 0x0410c016, 0x00002101, 0x2038b6ec,
+ 0x00005600, 0x003b2000, 0x00000000, 0x001008ec, 0x0000d780, 0x00985a80,
+ 0x000081c0, 0x45298430, 0x00006101, 0x055019a0, 0x00000980, 0x0030a0ec,
+ 0x0000d702, 0x00005800, 0x00000080, 0x02180008, 0x00006388, 0x8630a015,
+ 0x0000a087, 0x4c000000, 0x00006181, 0x0c298430, 0x00004101, 0x00b8aeec,
+ 0x00005f00, 0x00006003, 0x00000084, 0x3841c000, 0x00006181, 0x0e01bc17,
+ 0x0000e006, 0x00000c17, 0x00001583, 0x05c00800, 0x000099b9, 0x00003bfd,
+ 0x00007051, 0xffffffff, 0x00007f86, 0x01020300, 0x00007904, 0x01020300,
+ 0x00007904, 0x05c00c17, 0x00006081, 0xc4188204, 0x00000000, 0x0e01bc04,
+ 0x0000e806, 0x00202417, 0x00001503, 0x05c00c17, 0x000090a9, 0x00003bfd,
+ 0x0000f021, 0x01020300, 0x00007904, 0x01020300, 0x00007904, 0xc4188204,
+ 0x00006000, 0x0e01bc04, 0x0000a006, 0x35202417, 0x0000f82b, 0xe9c00000,
+ 0x00001d8f, 0xffffffff, 0x00007f86, 0x01c00000, 0x0000e180, 0x0201a034,
+ 0x00004900, 0x0181a835, 0x0000e100, 0x0e01bc07, 0x00006006, 0x01000ce0,
+ 0x00006283, 0xc1d17a2f, 0x00008900, 0x00003d3d, 0x00007013, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x034c9000, 0x00007900, 0x00131fe0,
+ 0x00000980, 0x03905000, 0x0000f900, 0x00349cac, 0x00000980, 0xc2700600,
+ 0x00006101, 0x08001a09, 0x0000e106, 0x82781400, 0x0000802c, 0x81010000,
+ 0x00009980, 0x3cf51bb2, 0x00007100, 0x0239af34, 0x00000018, 0x01c97c37,
+ 0x0000801e, 0x01000ce0, 0x00009283, 0x00003d27, 0x0000f013, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x034c9000, 0x00007900, 0x00131fe0,
+ 0x00000980, 0x03905000, 0x0000f900, 0x00349cac, 0x00000980, 0xc2700600,
+ 0x00006101, 0x08001a09, 0x0000e106, 0x3d041bb2, 0x0000f500, 0x82781400,
+ 0x0000802c, 0x8100f800, 0x00009980, 0x01c00000, 0x0000e180, 0x0011780a,
+ 0x00006186, 0x0e01bc07, 0x00006006, 0x012f200a, 0x0000b587, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x04188007, 0x00006187, 0x08001a09,
+ 0x0000b106, 0x03466800, 0x0000f900, 0x00131fde, 0x00008980, 0x03898800,
+ 0x00007900, 0x0014658a, 0x00000980, 0x02280734, 0x00000026, 0x82781400,
+ 0x0000802c, 0x3d161bb2, 0x0000f500, 0x81010800, 0x00006180, 0x01803807,
+ 0x0000c900, 0x01c0500a, 0x00001900, 0x0201a034, 0x00006100, 0x0e01bc07,
+ 0x00006006, 0x01998735, 0x0000801e, 0x01000ce0, 0x00006283, 0xc1d17a2f,
+ 0x00008900, 0x00003d53, 0x0000f013, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x034c9000, 0x00007900, 0x00131fe0, 0x00000980, 0x03905000,
+ 0x0000f900, 0x00349cac, 0x00000980, 0xc2700600, 0x00006101, 0x08001a09,
+ 0x0000e106, 0x00003cf4, 0x0000f400, 0x82781400, 0x0000802c, 0x8100f000,
+ 0x00001980, 0x3d281c08, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x0000e583, 0x05e524a4, 0x00008901, 0x2b000000, 0x00007910, 0x0000c080,
+ 0x00000980, 0xab00f800, 0x0000e190, 0xe9300600, 0x00004911, 0x00003cf9,
+ 0x00007008, 0x298d7800, 0x00007900, 0x00131fe0, 0x00000980, 0x29d05000,
+ 0x0000f900, 0x00349cac, 0x00000980, 0xa9280500, 0x00006101, 0x08001aa4,
+ 0x00006106, 0x3d391bde, 0x00007500, 0x2979a702, 0x00000a0c, 0x2879af07,
+ 0x00008a08, 0x3d3d3b62, 0x0000f500, 0x01495800, 0x00007900, 0x00131fde,
+ 0x00008980, 0x0120bc17, 0x00001900, 0x3d3e1c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x0000e583, 0x05e524a4, 0x00008901, 0x2b000000,
+ 0x00007910, 0x0000c080, 0x00000980, 0xab010000, 0x0000e190, 0xe9300600,
+ 0x00004911, 0x00003cea, 0x0000f008, 0x298d7800, 0x00007900, 0x00131fe0,
+ 0x00000980, 0x29d05000, 0x0000f900, 0x00349cac, 0x00000980, 0xa9280500,
+ 0x00006101, 0x08001aa4, 0x00006106, 0x3d4f1bde, 0x0000f500, 0x2979a702,
+ 0x00000a0c, 0x2879af07, 0x00008a08, 0x3d533b62, 0x00007500, 0x014a7000,
+ 0x00007900, 0x00131fde, 0x00008980, 0x0120bc17, 0x00001900, 0x3d541c08,
+ 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x0000e583, 0x05e524a4,
+ 0x00008901, 0x2b000000, 0x00007910, 0x0000c080, 0x00000980, 0xab00f000,
+ 0x00006190, 0xe9300600, 0x00004911, 0x00003d1c, 0x00007008, 0x298d7800,
+ 0x00007900, 0x00131fe0, 0x00000980, 0x29d05000, 0x0000f900, 0x00349cac,
+ 0x00000980, 0xa9280500, 0x00006101, 0x08001aa4, 0x00006106, 0x3d651bde,
+ 0x00007500, 0x2979a702, 0x00000a0c, 0x2879af07, 0x00008a08, 0x3d693b62,
+ 0x00007500, 0x014b9000, 0x00007900, 0x00131fde, 0x00008980, 0x0120bc17,
+ 0x00001900, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0x81800ee3, 0x00001880, 0x86bb6406,
+ 0x0000b038, 0x86bb7606, 0x0000b038, 0x82c03cec, 0x0000f902, 0x01800000,
+ 0x00008604, 0x81b71ee3, 0x00001900, 0x18c3606c, 0x0000e100, 0x00236808,
+ 0x00006086, 0x822b6808, 0x00006886, 0x0010380b, 0x0000e186, 0x041b6808,
+ 0x00003187, 0x85803c06, 0x00007902, 0x01800000, 0x00000000, 0x02404008,
+ 0x00009900, 0x28386000, 0x00007900, 0x00003b34, 0x00008980, 0x18804809,
+ 0x00001900, 0x80000606, 0x00009583, 0x0410300b, 0x0000e18f, 0x0418380b,
+ 0x0000b197, 0x00002006, 0x0000ed86, 0x1840580b, 0x00006100, 0x042b6806,
+ 0x00006087, 0x3d871c89, 0x00007500, 0x86236806, 0x00006887, 0x18003006,
+ 0x00009900, 0x00000c6d, 0x00009583, 0x00001c6d, 0x00001583, 0xffffffff,
+ 0x00007f86, 0x00003d99, 0x0000f008, 0x00003d99, 0x0000f008, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x037a4000, 0x0000f900, 0x00003b34,
+ 0x00008980, 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x0203606c,
+ 0x00006100, 0x08001a09, 0x0000e106, 0x0180076d, 0x0000009c, 0x3d991bb2,
+ 0x00007500, 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x02c01002,
+ 0x00004900, 0x1ac00000, 0x000086e8, 0x1a009000, 0x00007900, 0x000080c0,
+ 0x00000980, 0x1a400000, 0x0000f900, 0x00010000, 0x00000980, 0x200ba6ec,
+ 0x00005680, 0x003b2449, 0x0000bf10, 0xda981302, 0x0000e100, 0xc32b686b,
+ 0x00006006, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0090d0ec, 0x00005780, 0x00006000, 0x00008080, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000001,
+ 0x0000f080, 0x81c00ee3, 0x0000e080, 0xc11722e4, 0x00004900, 0x86bba407,
+ 0x00003038, 0x86bbb607, 0x00003038, 0x82c03cec, 0x0000f902, 0x01800000,
+ 0x00008604, 0x28211000, 0x00007900, 0x003bd09c, 0x00008980, 0x1e000000,
+ 0x00006180, 0x0023a808, 0x00006086, 0x1e400000, 0x0000e180, 0x822ba808,
+ 0x0000e086, 0x00103806, 0x00006186, 0x041ba808, 0x00003187, 0x81f71ee3,
+ 0x0000e100, 0x02404008, 0x0000c900, 0x85805407, 0x00007902, 0x01c00000,
+ 0x00008000, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x80000607, 0x0000e583, 0x18c3a074, 0x00000900, 0x04185006,
+ 0x0000e197, 0x04103806, 0x0000b18f, 0x18804809, 0x00001900, 0x02003006,
+ 0x00006100, 0x00002006, 0x00006586, 0x18404008, 0x00006100, 0x042ba806,
+ 0x00006087, 0x3dcc1c89, 0x00007500, 0x8623a806, 0x00006887, 0x18003006,
+ 0x00009900, 0xc4a02475, 0x00004389, 0x00602475, 0x00000098, 0xbce01475,
+ 0x00004489, 0xe4601475, 0x00000f9b, 0x00800c75, 0x00004788, 0x89403475,
+ 0x0000888d, 0x0f803475, 0x000045a9, 0x01205475, 0x000009b1, 0x3dd720d4,
+ 0x0000f404, 0x283bbf76, 0x00008a18, 0x29409900, 0x00001980, 0x00000ca2,
+ 0x00009583, 0x30003caf, 0x00002010, 0x00003e56, 0x00007009, 0xffffffff,
+ 0x00007f86, 0x00000c07, 0x00009583, 0x30103caf, 0x0000a08a, 0xdec7f800,
+ 0x00006191, 0x81ff1fe3, 0x00004910, 0x301bdcaf, 0x00002088, 0xffffffff,
+ 0x00007f86, 0x81c08407, 0x00001088, 0xffffffff, 0x00007f86, 0x72800007,
+ 0x00005084, 0x00400000, 0x00008000, 0x00003e9f, 0x0000f200, 0x82400000,
+ 0x000080d8, 0x3dea20d4, 0x00007404, 0x283bbf76, 0x00008a18, 0x29409900,
+ 0x00001980, 0x00000ca2, 0x00009583, 0x30103caf, 0x0000a092, 0x00003e56,
+ 0x00007009, 0xffffffff, 0x00007f86, 0x00000c07, 0x00009583, 0x00003de5,
+ 0x00007400, 0x302bdcaf, 0x0000a08a, 0xdec7f800, 0x00001991, 0x3df620d4,
+ 0x0000f404, 0x29409800, 0x00007900, 0x00001000, 0x00000980, 0x29bbb777,
+ 0x00008a00, 0x00000ca2, 0x00009583, 0x300404af, 0x0000f912, 0x20400000,
+ 0x00000000, 0x300416af, 0x0000f912, 0x20c00000, 0x00008000, 0x00003e56,
+ 0x0000f008, 0x307c20af, 0x0000b038, 0x24000000, 0x00006180, 0x08040006,
+ 0x00006202, 0x40000d82, 0x0000e583, 0x01804006, 0x00008880, 0xdee41482,
+ 0x0000e109, 0x81c08482, 0x0000c088, 0xdec7f800, 0x00006191, 0x81ff1fe3,
+ 0x00004910, 0x003ff884, 0x00007900, 0x0000007e, 0x00000582, 0x0187f806,
+ 0x0000e380, 0x24400000, 0x00000980, 0x307c32af, 0x0000b038, 0x307c44af,
+ 0x00003038, 0x307c56af, 0x00003038, 0x30bc60af, 0x00003038, 0x30bc72af,
+ 0x00003038, 0x72b83007, 0x0000a884, 0x24800000, 0x000089cc, 0x25000000,
+ 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000,
+ 0x000089ec, 0x27000000, 0x000089f4, 0x00003e9e, 0x00007430, 0x27800000,
+ 0x000089fc, 0x01842084, 0x0000e100, 0x01c00000, 0x0000c998, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03bfc800, 0x0000f900, 0x000c23ba, 0x00008980, 0xc2700600,
+ 0x00006101, 0x08001a09, 0x0000e106, 0x00003e4c, 0x00007400, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x02042084, 0x00004900, 0x3e2820d4,
+ 0x0000f404, 0x283bbf76, 0x00008a18, 0x29409900, 0x00001980, 0x00000ca2,
+ 0x00009583, 0x300404af, 0x0000f912, 0x20400000, 0x00000000, 0x20800000,
+ 0x0000e190, 0x20c00000, 0x00004990, 0x00003e56, 0x0000f008, 0x21000000,
+ 0x000088d4, 0x003ff880, 0x0000f900, 0x0000007e, 0x00000582, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000,
+ 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x00003e9e,
+ 0x00007430, 0x27800000, 0x000089fc, 0x01840080, 0x0000e100, 0x01c00000,
+ 0x0000c998, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03bfc800, 0x0000f900, 0x000c23ba,
+ 0x00008980, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x02040080, 0x00004900, 0x01bff83f,
+ 0x00009980, 0x3e4e1bb2, 0x0000f100, 0x3e5120d4, 0x00007404, 0x283bbf76,
+ 0x00008a18, 0x29409c00, 0x00001980, 0x00000ca2, 0x00009583, 0x30503aaf,
+ 0x00002092, 0x00003de5, 0x0000f413, 0xffffffff, 0x00007f86, 0x71e03878,
+ 0x00006810, 0xb9182304, 0x00001900, 0x200f26ec, 0x00005680, 0x003b2509,
+ 0x0000bf10, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x3e5e20d4,
+ 0x00007404, 0x283bbf76, 0x00008a18, 0x29409b00, 0x00009980, 0x00000ca2,
+ 0x00009583, 0x30003caf, 0x0000a090, 0x00003de5, 0x0000f413, 0xffffffff,
+ 0x00007f86, 0x71e03878, 0x00006810, 0x00003e56, 0x00007000, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x03653000, 0x0000f900, 0x003bd09c,
+ 0x00008980, 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x0203a074,
+ 0x00006100, 0x08001a09, 0x0000e106, 0x01800775, 0x0000009c, 0x00003e4d,
+ 0x0000f400, 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x02c01002,
+ 0x00004900, 0x01c00006, 0x00007900, 0x00000200, 0x00000380, 0x1c800000,
+ 0x000086f8, 0x1a000802, 0x0000e180, 0x00003872, 0x00006206, 0x01c0a074,
+ 0x0000e780, 0x1a400000, 0x00008980, 0x1b18b000, 0x00007900, 0x000362c0,
+ 0x00000980, 0x1b400000, 0x00007900, 0x00010000, 0x00000980, 0x1c401000,
+ 0x00007900, 0x0001c000, 0x00000980, 0x1a97f8a0, 0x0000e180, 0x45103872,
+ 0x0000e107, 0x1ac00000, 0x0000e180, 0x1bc00006, 0x00004980, 0x1c000000,
+ 0x0000e180, 0x1cc00004, 0x00004980, 0xdb981302, 0x00001900, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0090d0ec,
+ 0x00005780, 0x00006003, 0x00008080, 0x00003e98, 0x0000f000, 0x1bc00004,
+ 0x0000e180, 0x9b901202, 0x0000c900, 0x1b009000, 0x0000f900, 0x00012280,
+ 0x00008980, 0x1b400000, 0x00007900, 0x00010000, 0x00000980, 0xdb981302,
+ 0x00006100, 0x0000186f, 0x0000e106, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x0088d8ec, 0x0000d780, 0x00c06740,
+ 0x000081c0, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0xb9182304, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x02400800, 0x00001981, 0x0c032578, 0x00006806, 0x200aa6ec,
+ 0x0000d680, 0x003b23c9, 0x0000bf10, 0x9c400409, 0x00007893, 0x59c00000,
+ 0x00009f84, 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x17000000,
+ 0x000085f4, 0x17800000, 0x000085fc, 0x01000000, 0x000080d4, 0x01800000,
+ 0x000080dc, 0x02000000, 0x000080e4, 0x02800000, 0x000080ec, 0x83000000,
+ 0x000085c0, 0x14400000, 0x000005c8, 0x14c00000, 0x000085d0, 0x15400000,
+ 0x000005d8, 0x15c00000, 0x00009980, 0xd7200a02, 0x0000498f, 0x7261051c,
+ 0x00000f8d, 0x08017c1d, 0x00006884, 0x8f80e0ec, 0x0000a084, 0x0760efe4,
+ 0x00001800, 0xffffffff, 0x00007f97, 0x0760ec1c, 0x00001401, 0x8f80e8ec,
+ 0x0000a884, 0x0745070c, 0x00009281, 0x0005041d, 0x00009583, 0x4706050d,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x00003ee8, 0x0000f010, 0x00003ee8,
+ 0x0000f008, 0x82c0ecec, 0x00007902, 0x07000000, 0x00000604, 0x28062000,
+ 0x00007900, 0x003bd09e, 0x00000980, 0x95507000, 0x0000e180, 0x15001002,
+ 0x00004900, 0x18907000, 0x0000e180, 0x18c01002, 0x0000c900, 0x87771ee3,
+ 0x00006100, 0x0010e81c, 0x00006186, 0x8580f41d, 0x0000f902, 0x07400000,
+ 0x00000000, 0xffffffff, 0x00007fa7, 0x8000061d, 0x00009583, 0x0410e81c,
+ 0x0000e18f, 0x0000f01c, 0x0000b197, 0xffffffff, 0x00007f86, 0x0780e01c,
+ 0x00009900, 0x07000000, 0x00007900, 0x00038080, 0x00008980, 0x3ed71c89,
+ 0x00007500, 0x1840f01e, 0x00006100, 0x0000201c, 0x0000e586, 0x1800e01c,
+ 0x00009900, 0x14c00004, 0x0000e180, 0x60001004, 0x0000e403, 0x60001005,
+ 0x00006403, 0x7000080c, 0x00003500, 0x14009000, 0x0000f900, 0x00012280,
+ 0x00008980, 0x14400000, 0x00007900, 0x00010000, 0x00000980, 0x0c026558,
+ 0x00006006, 0xa0001004, 0x0000b403, 0x0000a0ec, 0x0000d780, 0x00006001,
+ 0x00000080, 0x94901202, 0x0000e100, 0x00001853, 0x0000e106, 0x00003ee9,
+ 0x00007400, 0x14827d02, 0x000001bd, 0x0707f000, 0x00009981, 0x8702a0ff,
+ 0x000081fd, 0x07af2000, 0x0000f900, 0x001f8008, 0x00000980, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0x0410f81e, 0x0000e101, 0x00001004,
+ 0x00003402, 0x2038f6ec, 0x0000d600, 0x003a6000, 0x00000000, 0xc0206407,
+ 0x000000cd, 0x8060e41c, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x200f26ec, 0x00005680, 0x003a6509, 0x0000bf10, 0x00503000,
+ 0x0000f900, 0x00007fd0, 0x00008980, 0xc0003800, 0x00006181, 0x60001004,
+ 0x00006402, 0x80c00000, 0x00001981, 0xc3400a02, 0x0000f897, 0x01c00001,
+ 0x00008080, 0x40001008, 0x0000e402, 0x00001007, 0x00003402, 0xe0001008,
+ 0x00006403, 0x40005007, 0x0000b406, 0xffffffff, 0x00007f86, 0xffc00000,
+ 0x00006180, 0x87371ee3, 0x0000c900, 0x85b8ec1c, 0x0000a080, 0x07000002,
+ 0x00001980, 0xffffffff, 0x00007f97, 0xc720ec1d, 0x00001900, 0x770000ec,
+ 0x00005680, 0x0038e000, 0x00000000, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x40001008, 0x0000e402, 0x40001009, 0x00003402, 0x01c55000,
+ 0x00006181, 0x60001008, 0x0000e403, 0x00003f02, 0x0000f400, 0x80005009,
+ 0x00006406, 0xc0001008, 0x0000b403, 0x40001007, 0x0000ec03, 0xa0000ee3,
+ 0x0000e080, 0x01000000, 0x0000c980, 0x86baa480, 0x0000b038, 0x86bab680,
+ 0x0000b038, 0xa0371ee3, 0x0000e100, 0x01400000, 0x00004980, 0x281d7000,
+ 0x00007900, 0x0020d7c6, 0x00000980, 0x01800000, 0x00006180, 0x0022a84f,
+ 0x0000e086, 0x01c00000, 0x0000e180, 0x822aa84f, 0x00006086, 0x02000000,
+ 0x0000e180, 0x041aa84f, 0x0000e187, 0x1400074f, 0x000080a4, 0x02800000,
+ 0x000080ec, 0x83000000, 0x000005e0, 0x16400000, 0x000005e8, 0x16c00000,
+ 0x000085f0, 0x17400000, 0x000005f8, 0x82c274ec, 0x00007902, 0x13400000,
+ 0x00008604, 0x85ba6c80, 0x00002000, 0x17c00000, 0x00006180, 0x18c2a054,
+ 0x0000c900, 0x18828050, 0x00001900, 0x00127051, 0x0000e986, 0x85ba7480,
+ 0x0000a080, 0x8000064d, 0x00009583, 0x04126851, 0x0000e18f, 0x0000204d,
+ 0x00003586, 0x042aa84d, 0x00006887, 0x8622a84d, 0x00006087, 0x041a7051,
+ 0x00003197, 0x3f3a1c89, 0x0000f500, 0x1802684d, 0x00009900, 0x18428851,
+ 0x00001900, 0x15a06c55, 0x00004388, 0x00806c55, 0x00000098, 0x1a005c55,
+ 0x0000c188, 0x00806455, 0x00000090, 0x42400a02, 0x0000788e, 0x1a000000,
+ 0x00002088, 0x1ee00a02, 0x00004694, 0xfa807455, 0x00009089, 0x2fc08455,
+ 0x0000f8b2, 0x82000000, 0x00002086, 0x46000a02, 0x0000788e, 0x82000000,
+ 0x00002089, 0x307b20af, 0x00003038, 0x60000000, 0x000001d5, 0x303b04af,
+ 0x0000b038, 0x303b16af, 0x0000b038, 0xc0080364, 0x00009582, 0xc0100364,
+ 0x00006582, 0xa0000800, 0x00008990, 0x85400800, 0x00001990, 0x307b32af,
+ 0x00003038, 0x05640415, 0x00009203, 0x307b44af, 0x0000b038, 0x307b56af,
+ 0x0000b038, 0x30bb60af, 0x0000b038, 0x30bb72af, 0x0000b038, 0x30bb84af,
+ 0x0000b038, 0x30bb96af, 0x0000b038, 0x30fba0af, 0x00003038, 0x30fbb2af,
+ 0x00003038, 0x30fbc4af, 0x0000b038, 0x30fbd6af, 0x0000b038, 0x00003f6f,
+ 0x0000f408, 0x313be0af, 0x00003038, 0x313bf2af, 0x00003038, 0xc0200364,
+ 0x00006582, 0xa0000000, 0x00008980, 0xa0000800, 0x00006190, 0x85400000,
+ 0x00004980, 0xc0000364, 0x00007900, 0x00000002, 0x00008582, 0x85400800,
+ 0x00001990, 0xffffffff, 0x00007f86, 0x00240415, 0x0000780c, 0x00000000,
+ 0x00000000, 0xdac00364, 0x0000788b, 0x01c00005, 0x00008060, 0xdd83fe60,
+ 0x0000f8b3, 0x89c00000, 0x00001f8b, 0x00003fd8, 0x00007400, 0x01c00000,
+ 0x0000e180, 0x0202a054, 0x00004900, 0x81faa864, 0x00000018, 0x8003fe60,
+ 0x00001583, 0x00003f76, 0x00007033, 0x00004042, 0x0000f400, 0x01400000,
+ 0x00006180, 0x01c2a054, 0x00004900, 0x81730660, 0x00006100, 0x0182a855,
+ 0x0000c900, 0x07000000, 0x000081f4, 0x07c00000, 0x000082c4, 0x08800000,
+ 0x000082cc, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a800000,
+ 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000,
+ 0x000083c4, 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4, 0x0d800000,
+ 0x000083dc, 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec, 0x0f000000,
+ 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4, 0x10800000,
+ 0x000084cc, 0x11000000, 0x000084d4, 0x11800000, 0x000084dc, 0x12000000,
+ 0x000084e4, 0x12800000, 0x000084ec, 0x85442364, 0x00006080, 0x85ef2004,
+ 0x00008980, 0x20000000, 0x00001981, 0xe610aa17, 0x0000782b, 0x01c00001,
+ 0x00008080, 0x20000c80, 0x00006081, 0x85d0aa17, 0x00008100, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xe450aa17,
+ 0x0000f823, 0x01c00001, 0x00008080, 0x0000080a, 0x0000e402, 0x00001005,
+ 0x00003403, 0x8000080a, 0x00006402, 0x00000807, 0x00003402, 0x87640480,
+ 0x0000e101, 0x0000080a, 0x00006403, 0x07840000, 0x0000e180, 0x4000080a,
+ 0x0000e403, 0x20000865, 0x00006180, 0x80001004, 0x0000a403, 0xe0000808,
+ 0x00006403, 0xd0000809, 0x00003401, 0x7000480c, 0x0000e500, 0x40005005,
+ 0x0000b407, 0x40002807, 0x0000e406, 0xc000080a, 0x00003403, 0x073b5564,
+ 0x00008220, 0x0a4be76b, 0x00008202, 0x080be47f, 0x00008102, 0x44600400,
+ 0x000081cd, 0x000040dd, 0x0000f400, 0x05400000, 0x000081ec, 0x05c04080,
+ 0x0000e080, 0xc7b30660, 0x0000c900, 0x307b32af, 0x00003038, 0x60000000,
+ 0x000001f1, 0x303b04af, 0x0000b038, 0x303b16af, 0x0000b038, 0x80080266,
+ 0x00001582, 0x80100266, 0x0000e582, 0xa0000800, 0x00008990, 0x87000800,
+ 0x00001990, 0x307b20af, 0x00003038, 0x0724041c, 0x00009203, 0x307b44af,
+ 0x0000b038, 0x307b56af, 0x0000b038, 0x30bb60af, 0x0000b038, 0x30bb72af,
+ 0x0000b038, 0x30bb84af, 0x0000b038, 0x30bb96af, 0x0000b038, 0x30fba0af,
+ 0x00003038, 0x30fbb2af, 0x00003038, 0x30fbc4af, 0x0000b038, 0x30fbd6af,
+ 0x0000b038, 0x00003fe3, 0x00007408, 0x313be0af, 0x00003038, 0x313bf2af,
+ 0x00003038, 0x80200266, 0x0000e582, 0xa0000000, 0x00008980, 0xa0000800,
+ 0x00006190, 0x87000000, 0x00004980, 0x80000266, 0x0000f900, 0x00000002,
+ 0x00008582, 0x87000800, 0x00001990, 0xffffffff, 0x00007f86, 0x0724041c,
+ 0x00009203, 0x80000266, 0x0000f900, 0x00000004, 0x00008582, 0xffffffff,
+ 0x00007f86, 0x00003fe3, 0x0000f008, 0x00003fe3, 0x0000f008, 0x01c00000,
+ 0x0000e180, 0x0202a054, 0x00004900, 0x01faac66, 0x00008018, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x03745000, 0x0000f900, 0x003bd0a4,
+ 0x00000980, 0x0380d800, 0x00007900, 0x000f4442, 0x00008980, 0xc2700600,
+ 0x00006101, 0x08001a09, 0x0000e106, 0x000040dc, 0x00007400, 0x82781400,
+ 0x0000802c, 0x81003800, 0x00009980, 0x07000000, 0x000081f8, 0x08400000,
+ 0x00006180, 0x1783001c, 0x00006000, 0x08800000, 0x00006180, 0x3043001c,
+ 0x00006000, 0x0c000000, 0x000083c4, 0x07400000, 0x000081fc, 0x08000000,
+ 0x000002cc, 0x0b800000, 0x000082fc, 0x0c800000, 0x000083cc, 0x0d000000,
+ 0x000083d4, 0x0d800000, 0x000083dc, 0x0e000000, 0x000083e4, 0x0e800000,
+ 0x000083ec, 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000,
+ 0x000084c4, 0x10800000, 0x000084cc, 0x11000000, 0x000084d4, 0x11800000,
+ 0x000084dc, 0x12000000, 0x000084e4, 0x12800000, 0x000084ec, 0x0a3b4f68,
+ 0x00000224, 0x0b3b5f6a, 0x00000234, 0x283b4f68, 0x00008a18, 0x29409900,
+ 0x00006180, 0x87933266, 0x00004900, 0xc8533a67, 0x0000e100, 0xc7330660,
+ 0x00004900, 0x400320d4, 0x0000f404, 0x488bf861, 0x00008302, 0x8c5b3b67,
+ 0x00009900, 0x1c800ca2, 0x0000788a, 0x02000001, 0x00008080, 0x017f8005,
+ 0x00007900, 0x003ffffe, 0x00008280, 0xc4000fe2, 0x0000e283, 0x60000805,
+ 0x00002402, 0x20001000, 0x00006189, 0x20000800, 0x00004991, 0xc40017e2,
+ 0x0000e283, 0x81455000, 0x00008981, 0x40001009, 0x00006402, 0x0000a80a,
+ 0x00003482, 0x00240005, 0x0000e002, 0x80001004, 0x00003403, 0x20000800,
+ 0x00006191, 0x20001000, 0x00004989, 0x60001008, 0x0000e403, 0x80005009,
+ 0x00003406, 0x81c2a855, 0x000000eb, 0x303924af, 0x0000b038, 0x303934af,
+ 0x00003038, 0x40001006, 0x00006402, 0x7000080c, 0x00003500, 0x20a40005,
+ 0x0000e002, 0xc0001004, 0x0000b403, 0xc0000808, 0x0000e403, 0xd0000809,
+ 0x00003401, 0x40001007, 0x00006403, 0xa000280a, 0x00003407, 0x0abb5f6a,
+ 0x0000022c, 0x44400400, 0x000001c8, 0x05400000, 0x000001d8, 0x05c04065,
+ 0x00006080, 0x06004065, 0x00004880, 0x000040dd, 0x0000f400, 0x06c00000,
+ 0x000081e8, 0xc41b3b67, 0x00001900, 0x303b04af, 0x0000b038, 0x303b16af,
+ 0x0000b038, 0x307b20af, 0x00003038, 0x307b32af, 0x00003038, 0x13420460,
+ 0x00006283, 0x1b000000, 0x00008980, 0x307b44af, 0x0000b038, 0x307b56af,
+ 0x0000b038, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000,
+ 0x000007c8, 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000,
+ 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x0000404e,
+ 0x00007408, 0x1f400000, 0x000007f8, 0xc7bb0760, 0x00006110, 0x1fc00000,
+ 0x0000c980, 0xc003ff60, 0x00001583, 0x01400000, 0x00006198, 0x01c2a054,
+ 0x00004918, 0x817b0760, 0x00006118, 0x0182a855, 0x0000c918, 0x0000404e,
+ 0x00007030, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x03757000,
+ 0x0000f900, 0x003bd0a4, 0x00000980, 0x038b5000, 0x0000f900, 0x000ea53a,
+ 0x00000980, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106, 0x82781400,
+ 0x0000802c, 0x000040dc, 0x00007400, 0x02004f07, 0x00000091, 0x01c02805,
+ 0x00001900, 0x13410460, 0x00009283, 0x93400000, 0x00006190, 0xa0000000,
+ 0x0000c990, 0x0000406c, 0x00007009, 0x80080263, 0x00001582, 0x80100263,
+ 0x0000e582, 0xa0000800, 0x00008990, 0x93400800, 0x00009990, 0xffffffff,
+ 0x00007f86, 0x1364044d, 0x00009203, 0x93400000, 0x00006190, 0xa0000000,
+ 0x0000c990, 0x0000406b, 0x0000f009, 0x80200263, 0x00001582, 0xa0000800,
+ 0x00001990, 0x80000263, 0x0000f900, 0x00000002, 0x00008582, 0x93400800,
+ 0x00009990, 0xffffffff, 0x00007f86, 0x1364044d, 0x00009203, 0x80000263,
+ 0x0000f900, 0x00000004, 0x00008582, 0xffffffff, 0x00007f86, 0x0000406b,
+ 0x00007008, 0x0000406b, 0x00007008, 0x00003fd8, 0x00007400, 0x01c00000,
+ 0x0000e180, 0x0202a054, 0x00004900, 0x01faac63, 0x00008018, 0xc7131a63,
+ 0x00001900, 0x13400c60, 0x00009283, 0x80000804, 0x0000e413, 0x00015007,
+ 0x00003492, 0xe0001008, 0x00006c13, 0x000040dd, 0x0000f008, 0x000040dd,
+ 0x00007000, 0x40733ef5, 0x0000f100, 0x303b04af, 0x0000b038, 0x303b16af,
+ 0x0000b038, 0x307b20af, 0x00003038, 0x307b32af, 0x00003038, 0x13410460,
+ 0x00006283, 0x1c000000, 0x00000980, 0xc73b0760, 0x0000e110, 0x1c400000,
+ 0x00004980, 0x13408460, 0x00006283, 0x1c800000, 0x00008980, 0x307b44af,
+ 0x0000b038, 0x307b56af, 0x0000b038, 0x30bb60af, 0x0000b038, 0x30bb72af,
+ 0x0000b038, 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000,
+ 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x000040a5,
+ 0x00007408, 0x1f400000, 0x000007f8, 0x1fc00000, 0x0000e180, 0xa0000000,
+ 0x0000c990, 0x80080264, 0x00006582, 0x87800000, 0x00000980, 0x80100264,
+ 0x00006582, 0xa0000800, 0x00008990, 0x87800800, 0x00009990, 0xffffffff,
+ 0x00007f86, 0x07a4041e, 0x00009203, 0x87800000, 0x00006190, 0xa0000000,
+ 0x0000c990, 0x000040a4, 0x0000f009, 0x80200264, 0x00009582, 0xa0000800,
+ 0x00001990, 0x80000264, 0x00007900, 0x00000002, 0x00008582, 0x87800800,
+ 0x00009990, 0xffffffff, 0x00007f86, 0x07a4041e, 0x00009203, 0x80000264,
+ 0x00007900, 0x00000004, 0x00008582, 0xffffffff, 0x00007f86, 0x000040a4,
+ 0x00007008, 0x000040a4, 0x00007008, 0x00003fd8, 0x00007400, 0x01c00000,
+ 0x0000e180, 0x0202a054, 0x00004900, 0x01faac64, 0x00000018, 0x87932264,
+ 0x00001900, 0x13401460, 0x00009283, 0x0700201c, 0x00001390, 0x000040dd,
+ 0x00007009, 0x1342041c, 0x00001283, 0x000040dd, 0x0000f013, 0x000040dd,
+ 0x0000f400, 0x80188a12, 0x00001502, 0x16001058, 0x00001388, 0x18000000,
+ 0x000086c4, 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000,
+ 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000,
+ 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1fc00000,
+ 0x000087f8, 0x37400a02, 0x0000f88e, 0x72000000, 0x0000a088, 0x18000000,
+ 0x000086c4, 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000,
+ 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000,
+ 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x000040dd, 0x0000f400, 0x1f000000,
+ 0x000087f4, 0x1fc00000, 0x000087f8, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x035ca800, 0x00007900, 0x003bd09c, 0x00008980, 0x03ba9000,
+ 0x00007900, 0x0016f7fa, 0x00008980, 0x0202a054, 0x00006100, 0x08001a09,
+ 0x0000e106, 0x01800755, 0x0000809c, 0x82600500, 0x00008026, 0x81002800,
+ 0x00006180, 0x02c01002, 0x00004900, 0x40dd1bb2, 0x0000f100, 0x1346f800,
+ 0x00009980, 0x200aa6ec, 0x0000d680, 0x003a61c9, 0x00003f10, 0xa0371ee3,
+ 0x0000e100, 0x0c026558, 0x00006006, 0x85ba7480, 0x0000a080, 0x40c0040c,
+ 0x000005cc, 0x13000002, 0x00006180, 0x00001853, 0x0000e106, 0x00503000,
+ 0x0000f900, 0x0004c010, 0x00008980, 0xd322744e, 0x00006100, 0x60001004,
+ 0x00006402, 0xc0001853, 0x00006006, 0x40001806, 0x00003403, 0x14009000,
+ 0x0000f900, 0x00032240, 0x00000980, 0x14400000, 0x00007900, 0x00018008,
+ 0x00000980, 0x770000ec, 0x00005680, 0x003a6000, 0x00000000, 0xc0009800,
+ 0x00006181, 0x14801002, 0x00004900, 0x80626c4d, 0x00001901, 0x0080a6ec,
+ 0x0000df80, 0x00986003, 0x000009c4, 0x40fb20d4, 0x00007404, 0x29409800,
+ 0x00007900, 0x00002000, 0x00000980, 0x29bab757, 0x00008a00, 0xec000ca2,
+ 0x00007893, 0x91c00000, 0x0000a083, 0x410120d4, 0x0000f404, 0x29409800,
+ 0x00007900, 0x00002000, 0x00000980, 0x29bab757, 0x00008a00, 0xd1800ca2,
+ 0x00007893, 0x91c00000, 0x0000a083, 0x410720d4, 0x0000f404, 0x29409800,
+ 0x00007900, 0x00001000, 0x00000980, 0x29bab757, 0x00008a00, 0x1cc00ca2,
+ 0x0000f892, 0x92000000, 0x0000a083, 0x410c20d4, 0x00007404, 0x283abf56,
+ 0x00008a18, 0x29409e00, 0x00009980, 0x0a000ca2, 0x00007892, 0x92000000,
+ 0x0000a083, 0x1340241c, 0x0000e283, 0x1640c018, 0x00000900, 0x20000000,
+ 0x00001988, 0x20000000, 0x00001990, 0x00004115, 0x0000f008, 0x80188a12,
+ 0x00001502, 0x20000800, 0x00009990, 0x000040dd, 0x0000f400, 0xffffffff,
+ 0x00007f86, 0x41240058, 0x00006800, 0x40001008, 0x0000e402, 0x00001007,
+ 0x00003402, 0xe0001008, 0x00006403, 0x40001007, 0x0000b402, 0x7000880c,
+ 0x0000e500, 0x60000807, 0x00003402, 0x18000000, 0x000086c4, 0x18800000,
+ 0x000086cc, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000,
+ 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000,
+ 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000,
+ 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
+ 0x000087ec, 0x1f000000, 0x000087f4, 0x000040de, 0x0000f400, 0x1f800000,
+ 0x000087fc, 0x1346e000, 0x00009980, 0x40001008, 0x0000e402, 0x00015007,
+ 0x0000b482, 0x40001009, 0x00006402, 0x60001008, 0x0000b403, 0x0000411c,
+ 0x0000f400, 0x40001007, 0x00006403, 0x80005009, 0x00003406, 0xc0001008,
+ 0x00006c03, 0x8fa022ec, 0x0000a084, 0xffffffff, 0x00007fa7, 0x80102a04,
+ 0x00001502, 0x8f8020ec, 0x0000208c, 0x00004141, 0x0000f011, 0xffffffff,
+ 0x00007f86, 0x01800c04, 0x00001283, 0x01000c04, 0x00009491, 0x8f8020ec,
+ 0x0000a894, 0x8fa024ec, 0x0000a084, 0xffffffff, 0x00007fa7, 0x80102a04,
+ 0x00001502, 0x8f8028ec, 0x0000a08c, 0x00000001, 0x0000f091, 0xffffffff,
+ 0x00007f86, 0x01001405, 0x00001283, 0x00000001, 0x00007480, 0x01401405,
+ 0x00009491, 0x8f8028ec, 0x00002894, 0xffc00000, 0x00001980, 0xffffffff,
+ 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xc802070c,
+ 0x0000e283, 0x9807c800, 0x00008981, 0x9842a000, 0x0000e180, 0x982f2004,
+ 0x00004980, 0x07000000, 0x000081f4, 0x07800000, 0x000081fc, 0x01000000,
+ 0x000080d4, 0x01800000, 0x000080dc, 0x02000000, 0x000080e4, 0x00004295,
+ 0x0000f410, 0x02800100, 0x000000ec, 0x03000000, 0x0000e181, 0x0e006c20,
+ 0x0000600a, 0xffffffff, 0x00007f86, 0x4d600420, 0x00004490, 0x80809d11,
+ 0x0000100c, 0x43400431, 0x0000c988, 0xb0800c40, 0x00001093, 0x09000000,
+ 0x00001980, 0x00000042, 0x00009582, 0x09000800, 0x00001990, 0xffffffff,
+ 0x00007f86, 0x00000424, 0x00009583, 0x98bf1fe3, 0x00001910, 0x72b90062,
+ 0x00002094, 0x000042a2, 0x0000f008, 0xffffffff, 0x00007f97, 0x00021820,
+ 0x00001502, 0x98408261, 0x000061a0, 0x24400000, 0x000089a0, 0x24800000,
+ 0x000061a0, 0x24c00000, 0x0000c9a0, 0x00004207, 0x00007028, 0x88198330,
+ 0x00006300, 0x25000000, 0x0000c980, 0x08510631, 0x0000e000, 0x25400000,
+ 0x00004980, 0x00010842, 0x0000e502, 0x25800000, 0x00008980, 0x26400000,
+ 0x000089f8, 0x88318e31, 0x0000e118, 0x27c00000, 0x00004980, 0x000042ae,
+ 0x00007030, 0x88804260, 0x0000e180, 0xa7510a21, 0x00000900, 0x2c3c0220,
+ 0x00007900, 0x0000003e, 0x00000680, 0x88c588b0, 0x00001000, 0x18b10020,
+ 0x00008935, 0x08110842, 0x0000e100, 0x88911a22, 0x00000000, 0x00000020,
+ 0x0000e582, 0x88c01a21, 0x00000080, 0x88ffe223, 0x00007900, 0x0000003e,
+ 0x00008280, 0x243d071b, 0x0000891c, 0x26205f41, 0x000009a6, 0x26ba2f44,
+ 0x0000092c, 0x000042b5, 0x00007410, 0x2718af43, 0x00000934, 0x10910842,
+ 0x00006100, 0x98111a22, 0x00008100, 0x18800c30, 0x00006281, 0x20002099,
+ 0x00002406, 0x08000c62, 0x0000e481, 0xc4c00b13, 0x00000080, 0x18910aec,
+ 0x0000e100, 0x51610099, 0x0000a000, 0x0c400c31, 0x0000e181, 0x0800f862,
+ 0x00000784, 0x0800f020, 0x00009780, 0x18910820, 0x00009100, 0x0c3ff030,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x18800800, 0x0000e181, 0x08401862,
+ 0x00004280, 0x08001430, 0x0000e283, 0x08410021, 0x00000100, 0x88119b13,
+ 0x00006110, 0x20a10899, 0x0000a002, 0x88007a20, 0x0000e790, 0x85c1809f,
+ 0x00002011, 0xe6589b13, 0x00006108, 0x10610030, 0x0000e010, 0x00000424,
+ 0x00006583, 0xe6519a33, 0x00008910, 0x000041f3, 0x0000700b, 0x08c00000,
+ 0x0000e180, 0x09804043, 0x00004780, 0x000838ec, 0x0000d780, 0x00006000,
+ 0x00008080, 0x8a002302, 0x0000e780, 0x00001823, 0x0000a106, 0x09800026,
+ 0x0000f900, 0x00000200, 0x00000380, 0x081cb000, 0x00007900, 0x00022140,
+ 0x00008980, 0x08400000, 0x0000f900, 0x00018008, 0x00000980, 0x09401000,
+ 0x0000f900, 0x0001c000, 0x00000980, 0x000040ec, 0x00005780, 0x00c06101,
+ 0x00008288, 0xc0001823, 0x0000e006, 0x45114026, 0x0000b107, 0x07000802,
+ 0x0000e180, 0x07400000, 0x00004980, 0x0797f880, 0x00006180, 0x07c00000,
+ 0x0000c980, 0x09000000, 0x00006180, 0x09c00004, 0x0000c980, 0x08a01502,
+ 0x00008208, 0x0a400000, 0x00007900, 0x001f8000, 0x00008980, 0xc0189b11,
+ 0x00006502, 0x00130029, 0x0000a186, 0xc419a334, 0x0000e108, 0x04130829,
+ 0x00006101, 0xc411a234, 0x0000e110, 0x00001004, 0x00006402, 0x00000462,
+ 0x0000e583, 0xd0000809, 0x0000a401, 0x20394eec, 0x00005600, 0x003d0000,
+ 0x00008000, 0x001800ec, 0x0000d780, 0x00005801, 0x00008080, 0x0a000000,
+ 0x000082e8, 0x0ac00000, 0x000082f0, 0x0000429c, 0x0000f408, 0x0b400000,
+ 0x000002f8, 0x0bc00000, 0x000002e4, 0x00503000, 0x0000f900, 0x0004c010,
+ 0x00008980, 0xc0205411, 0x000080cd, 0x80730660, 0x00001901, 0x008066ec,
+ 0x0000df80, 0x00985c81, 0x00008384, 0x08801430, 0x00006283, 0x88000b13,
+ 0x00008080, 0x88119a20, 0x0000e110, 0x26618001, 0x00008980, 0x27c00000,
+ 0x00006180, 0x88007a20, 0x00004790, 0xe6519a33, 0x00006110, 0x85c1809f,
+ 0x0000e011, 0xe6510220, 0x00006108, 0x10610030, 0x0000e010, 0x27400020,
+ 0x00006180, 0x0c400c31, 0x00004181, 0x8842a000, 0x00006180, 0x98404261,
+ 0x00004180, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x26800000,
+ 0x000089ec, 0x27000000, 0x000089f8, 0x25fa2fa0, 0x00008904, 0x24ba0f44,
+ 0x00000920, 0x2400d81b, 0x0000e100, 0x98046260, 0x00004180, 0xc4c00b13,
+ 0x00006080, 0xe778af15, 0x00000901, 0x08000ce0, 0x00009283, 0x000043b2,
+ 0x0000f013, 0x18800800, 0x00009981, 0x08c00000, 0x0000e180, 0x09804043,
+ 0x00004780, 0x8a002302, 0x0000e780, 0x00001823, 0x0000a106, 0x09800026,
+ 0x0000f900, 0x00000200, 0x00000380, 0x0804b000, 0x00007900, 0x00022180,
+ 0x00008980, 0x08400000, 0x0000f900, 0x00018008, 0x00000980, 0x09400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x000040ec, 0x00005780, 0x00c06101,
+ 0x00008288, 0xc0001823, 0x0000e006, 0x45114026, 0x0000b107, 0x000041bf,
+ 0x0000f400, 0x09000000, 0x00006180, 0x09c00004, 0x0000c980, 0x08a01502,
+ 0x00008208, 0x98b71ee3, 0x00009900, 0x8e80e062, 0x00002084, 0xffffffff,
+ 0x00007fa7, 0x0002041c, 0x00009583, 0x01972820, 0x00006230, 0x01c00000,
+ 0x000009b0, 0x01000000, 0x00007930, 0x0000c040, 0x00000980, 0x00004314,
+ 0x00007018, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03a49000,
+ 0x00007900, 0x000f8fa2, 0x00008980, 0x81001000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x421a1bb2, 0x00007500, 0x82600500, 0x00008026, 0x02172843,
+ 0x0000e200, 0x02c01002, 0x00008900, 0x88189b11, 0x00006100, 0x8843fb13,
+ 0x00008280, 0x80002220, 0x00006582, 0x98840000, 0x00000980, 0x89910a62,
+ 0x00006100, 0x0a709e11, 0x00000131, 0x08402a21, 0x00006080, 0x0a402000,
+ 0x0000c999, 0x0800f821, 0x0000e784, 0x09c00400, 0x00000980, 0x08c1e021,
+ 0x00006002, 0x75e80027, 0x00002101, 0x0881e820, 0x0000e004, 0x0c614c29,
+ 0x00000901, 0x80214a26, 0x00006502, 0x88002c29, 0x00000880, 0x0a000000,
+ 0x0000f900, 0x000014c4, 0x00000980, 0x883ffa20, 0x00007900, 0x00000002,
+ 0x00008280, 0x08400000, 0x0000f900, 0x00007fc0, 0x00000980, 0x88402c29,
+ 0x00006080, 0x00110028, 0x0000e106, 0x000043c6, 0x0000f428, 0x89e80500,
+ 0x0000e120, 0x08320004, 0x0000c980, 0xc8181302, 0x00001900, 0x703940ec,
+ 0x0000d600, 0x00393800, 0x00008000, 0x703918ec, 0x00005600, 0x00391000,
+ 0x00008000, 0x703908ec, 0x0000d600, 0x00390000, 0x00000000, 0x00c802ec,
+ 0x00005f80, 0x1411f00a, 0x000094c4, 0x76000c40, 0x0000f892, 0x0a000000,
+ 0x0000a08b, 0x08001430, 0x0000e283, 0x26698001, 0x00000980, 0x88119b11,
+ 0x0000e110, 0x27c00000, 0x00008980, 0x08c00000, 0x0000e180, 0x88007a20,
+ 0x00004790, 0x85c1809f, 0x0000e011, 0x00001823, 0x00003106, 0x27400020,
+ 0x00006180, 0x10610030, 0x0000e010, 0x09800100, 0x00006180, 0x98802302,
+ 0x0000c780, 0xe6588b11, 0x00006108, 0xe6519a33, 0x00004910, 0xc403071b,
+ 0x00006283, 0x40001805, 0x0000a403, 0x08400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x09400000, 0x00007900, 0x00010000, 0x00000980, 0x000040ec,
+ 0x00005780, 0x00c06101, 0x00008288, 0xc0001823, 0x0000e006, 0x45131026,
+ 0x00003107, 0x0804b000, 0x00007900, 0x00022180, 0x00008980, 0x5840004c,
+ 0x000009c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000,
+ 0x000009e8, 0x26c00000, 0x000089f0, 0x27800000, 0x0000e180, 0x25c500a0,
+ 0x00004900, 0x2400d81b, 0x0000e100, 0x98042260, 0x0000c180, 0x09000000,
+ 0x00006180, 0x09c00004, 0x0000c980, 0x08a81402, 0x00008208, 0x000041bf,
+ 0x0000f400, 0xe778af15, 0x0000e101, 0x26080017, 0x0000c090, 0x18800000,
+ 0x00006181, 0x2600b817, 0x0000c908, 0x0a000c30, 0x00006283, 0x8b589b13,
+ 0x00008900, 0x98c02313, 0x00006188, 0x0ac04115, 0x00008880, 0x000043e9,
+ 0x0000f011, 0x8a03fa63, 0x0000e280, 0x98840000, 0x00000980, 0x99914262,
+ 0x0000e100, 0x19000400, 0x00008980, 0x0a002a28, 0x00006080, 0x75e80064,
+ 0x00006101, 0x0b01e028, 0x00006002, 0x0b80f828, 0x00000784, 0x0a01e82e,
+ 0x00006004, 0x0bb20004, 0x00008980, 0x80001a66, 0x00006582, 0x18814028,
+ 0x00008900, 0x19440000, 0x00007900, 0x000014c4, 0x00000980, 0x0bc40000,
+ 0x0000f900, 0x00007fc0, 0x00000980, 0x000043ed, 0x0000f230, 0x99280500,
+ 0x0000e118, 0xcb981302, 0x0000c900, 0xffffffff, 0x00007f86, 0x700400ec,
+ 0x00005680, 0x003b24c4, 0x00008010, 0x703960ec, 0x00005600, 0x00394000,
+ 0x00008000, 0x700400ec, 0x00005680, 0x003977c0, 0x00000078, 0x00c802ec,
+ 0x00005f80, 0x1414600a, 0x000094c4, 0x00000440, 0x00001583, 0x0a131b11,
+ 0x00001110, 0x000042c7, 0x00007009, 0x00199028, 0x00009502, 0x000042c7,
+ 0x0000f043, 0x00015841, 0x00001502, 0x98c02263, 0x000091d8, 0x000042c7,
+ 0x00007071, 0x00004270, 0x00007000, 0x4800650d, 0x0000e283, 0x00015007,
+ 0x00002482, 0x9807f800, 0x0000e189, 0xe0001008, 0x00006403, 0x18800000,
+ 0x00009989, 0x0000434c, 0x00007010, 0x000041bf, 0x00007000, 0x00503000,
+ 0x0000f900, 0x0004c010, 0x00008980, 0xc0206413, 0x000000cd, 0x80730660,
+ 0x00001901, 0x008066ec, 0x0000df80, 0x00005803, 0x00008084, 0x88198330,
+ 0x00006300, 0x98404261, 0x00004180, 0x08510631, 0x0000e000, 0x24400000,
+ 0x0000c980, 0x00010842, 0x0000e502, 0x24800000, 0x00000980, 0x24c00000,
+ 0x000089d0, 0x25400000, 0x000009d8, 0x0000417a, 0x0000f418, 0x26400000,
+ 0x000089f8, 0x88318e31, 0x0000e118, 0x27c00000, 0x00004980, 0x08400842,
+ 0x00001180, 0x88521242, 0x00006100, 0x18810b30, 0x00004000, 0x08110062,
+ 0x00001700, 0x0000417a, 0x0000f400, 0x80000220, 0x00001582, 0x88000800,
+ 0x00001988, 0x11022221, 0x00006002, 0x08000c30, 0x00000281, 0x08000c20,
+ 0x0000e481, 0x0c000830, 0x00000380, 0x11400045, 0x00006084, 0x51610099,
+ 0x0000a000, 0x18800000, 0x00006181, 0x08004462, 0x0000c880, 0x08001430,
+ 0x0000e283, 0x10420820, 0x00008000, 0x88119b13, 0x00006110, 0x85c1809f,
+ 0x00002011, 0x88007a20, 0x0000e790, 0xe6589b13, 0x00008908, 0xe6519a33,
+ 0x00006110, 0x10610030, 0x0000e010, 0x69800424, 0x0000f892, 0x9a000000,
+ 0x0000208f, 0x0a001800, 0x00009981, 0x00000458, 0x00001583, 0x000043a6,
+ 0x0000f00b, 0x59c15f59, 0x00004458, 0x1680a058, 0x0000100f, 0x1b400c14,
+ 0x0000c589, 0x0be00c58, 0x00000d95, 0x0a531c28, 0x00001000, 0x0a414b11,
+ 0x00001100, 0x00199029, 0x00001502, 0x0a403c28, 0x000090c8, 0x0a000c28,
+ 0x0000e1c9, 0x78401c29, 0x000008c9, 0x000043a6, 0x0000f040, 0x0007fc28,
+ 0x00009583, 0xffffffff, 0x00007fa7, 0x16020b00, 0x0000f904, 0x16820b00,
+ 0x00007904, 0x000042c8, 0x00007410, 0x17020b00, 0x00007904, 0x17820b00,
+ 0x0000f904, 0x0a001430, 0x00006283, 0x8b03fb13, 0x00000280, 0x98840000,
+ 0x0000e180, 0x8a189b11, 0x00004100, 0x0c001030, 0x0000e388, 0x8cd16a2d,
+ 0x00000908, 0x80002228, 0x0000e582, 0x19000400, 0x00008980, 0x8a116262,
+ 0x00006100, 0x18f09e11, 0x00008131, 0x0b002a2c, 0x00006080, 0x18c02000,
+ 0x00004999, 0x0b40f82c, 0x0000e784, 0x0bf20004, 0x00000980, 0x0b81e02c,
+ 0x00006002, 0x75e80064, 0x0000a101, 0x8b002c63, 0x00006080, 0x0b41e82d,
+ 0x0000c004, 0x19400000, 0x0000f900, 0x000014c4, 0x00000980, 0x8b3ffa2c,
+ 0x00007900, 0x00000002, 0x00008280, 0x80231a28, 0x00006502, 0x00116065,
+ 0x00002106, 0x0b000000, 0x00007900, 0x00007fc0, 0x00000980, 0x0c3ff030,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x0000436b, 0x00007428, 0x0c681063,
+ 0x0000823c, 0x99280500, 0x00006120, 0x8b002c63, 0x00004880, 0xffffffff,
+ 0x00007f86, 0x703b28ec, 0x0000d600, 0x003b2000, 0x00000000, 0x703970ec,
+ 0x0000d600, 0x00396800, 0x00008000, 0x703960ec, 0x00005600, 0x00397800,
+ 0x00000000, 0x00c802ec, 0x00005f80, 0x1418280a, 0x000094c4, 0x8a598330,
+ 0x00006300, 0x0a02082b, 0x00004100, 0x0a004028, 0x00001780, 0x00000028,
+ 0x00009582, 0x18914828, 0x00001810, 0x10831042, 0x0000e110, 0x0a004028,
+ 0x00000890, 0x00004310, 0x00007008, 0x11022062, 0x00006002, 0x10420828,
+ 0x00000000, 0x11400045, 0x00009084, 0x000041bf, 0x0000f400, 0x9807f800,
+ 0x00006181, 0x00001805, 0x0000e403, 0x18800000, 0x00001981, 0x07400000,
+ 0x0000f900, 0x001f8000, 0x00008980, 0x98042260, 0x00006180, 0x98404261,
+ 0x00008180, 0xc0c06000, 0x00006180, 0x0013001d, 0x0000e186, 0x08c00000,
+ 0x0000e180, 0x0413081d, 0x0000e101, 0x2038eeec, 0x0000d600, 0x003d0000,
+ 0x00008000, 0x00001004, 0x00006402, 0x02844033, 0x00003587, 0x24000000,
+ 0x0000f900, 0x00188000, 0x00000980, 0x09800100, 0x00006180, 0x00001823,
+ 0x00006106, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000680, 0x98802302,
+ 0x00006780, 0xe0001008, 0x0000a403, 0x00015007, 0x0000e482, 0x80000804,
+ 0x00003403, 0x00503000, 0x0000f900, 0x0004fe50, 0x00008980, 0x27c00000,
+ 0x0000f900, 0x00008200, 0x00008980, 0x0804b000, 0x00007900, 0x00022180,
+ 0x00008980, 0x08400000, 0x0000f900, 0x00018008, 0x00000980, 0x09400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x86220833, 0x00006005, 0xc0001823,
+ 0x0000b006, 0x000040ec, 0x00005780, 0x00c06101, 0x00008288, 0xc0009800,
+ 0x00006181, 0x45131026, 0x00006107, 0x24400000, 0x000009c8, 0x24c00000,
+ 0x000089d0, 0x25400000, 0x000009d8, 0x26699001, 0x00006180, 0x26800000,
+ 0x00004980, 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8, 0x25fa0fa0,
+ 0x00000920, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000,
+ 0x000082f4, 0x0b800000, 0x000082fc, 0x09000000, 0x00006180, 0x09c00004,
+ 0x0000c980, 0x08a81402, 0x00008208, 0x6408d91b, 0x00001900, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0x08c00000, 0x0000e180, 0x09800100,
+ 0x00004980, 0x98802302, 0x00006780, 0x00001823, 0x0000a106, 0xc0001823,
+ 0x0000e006, 0x20001805, 0x00003403, 0x27c00000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x0804b000, 0x00007900, 0x00022180, 0x00008980, 0x08400000,
+ 0x0000f900, 0x00018008, 0x00000980, 0x09400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x000040ec, 0x00005780, 0x00c06101, 0x00008288, 0x98426000,
+ 0x0000e180, 0x45131026, 0x00006107, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089e0, 0x26400040,
+ 0x000089e8, 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8, 0x25c007a0,
+ 0x00008290, 0x000041bf, 0x0000f400, 0x09c00004, 0x0000e180, 0x88901202,
+ 0x00004900, 0x18800000, 0x00006181, 0xc8981302, 0x0000c900, 0x8b002a28,
+ 0x00006080, 0x00000065, 0x0000e586, 0x8b3ffa2c, 0x00007900, 0x00000002,
+ 0x00008280, 0x18d14463, 0x0000e100, 0x00116065, 0x00002106, 0x703b28ec,
+ 0x0000d600, 0x003b2000, 0x00000000, 0x703970ec, 0x0000d600, 0x00396800,
+ 0x00008000, 0x8b002a28, 0x00006080, 0x98802a63, 0x00004880, 0x99280500,
+ 0x0000e100, 0x00800065, 0x00006586, 0x703960ec, 0x00005600, 0x00397800,
+ 0x00000000, 0x8b3ffa62, 0x00007900, 0x00000002, 0x00008280, 0x0a001428,
+ 0x00006081, 0x00116065, 0x0000e106, 0x0c03242c, 0x00006884, 0x0a216428,
+ 0x00009001, 0x04214064, 0x0000e885, 0x703b28ec, 0x0000d600, 0x003b2000,
+ 0x00000000, 0x8b3ffa62, 0x00007900, 0x00000002, 0x00008280, 0x00004303,
+ 0x0000f400, 0x7039e0ec, 0x0000d600, 0x0039e800, 0x00000000, 0x703960ec,
+ 0x00005600, 0x00397800, 0x00000000, 0x0a998330, 0x0000e300, 0x0b80085a,
+ 0x00004180, 0x0b817330, 0x00009000, 0x0a81502e, 0x00001700, 0x0000002a,
+ 0x00001582, 0x0a598330, 0x00006310, 0x0b800800, 0x00004988, 0x00004394,
+ 0x0000f009, 0x0b81482e, 0x00009700, 0x0a415859, 0x00006100, 0x0b80082e,
+ 0x00008180, 0x0b80402e, 0x00001880, 0x0a417029, 0x00001002, 0x0b004059,
+ 0x000097e0, 0x0a416115, 0x00001160, 0x000043a6, 0x0000f068, 0x2c198229,
+ 0x00001600, 0x0a8588b0, 0x00009000, 0x2c198329, 0x00009600, 0x0a4588b0,
+ 0x00009000, 0x0a408029, 0x00001880, 0x0a415029, 0x00001000, 0x0a41485a,
+ 0x00001100, 0x0000b029, 0x00001502, 0xc4d31c28, 0x00009020, 0x000043a6,
+ 0x0000f029, 0x000042dc, 0x00007000, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0a000ce0,
+ 0x00001283, 0x0000440e, 0x0000f013, 0x0c3ff030, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x000041bf, 0x0000f400, 0x0c400000, 0x00006181, 0x00001805,
+ 0x0000e403, 0x9887f800, 0x000006c3, 0x43b31c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x07400000, 0x00009990, 0x876f2004,
+ 0x00009990, 0x000041f2, 0x0000f008, 0x0411081d, 0x0000e901, 0x9001f81d,
+ 0x00006483, 0x40001008, 0x0000b402, 0x00001007, 0x00006402, 0x00001004,
+ 0x00003402, 0x00503000, 0x0000f900, 0x00047fd0, 0x00000980, 0x2038eeec,
+ 0x0000d600, 0x003d0000, 0x00008000, 0xe0001008, 0x00006403, 0x40005007,
+ 0x0000b406, 0x40e03c00, 0x000000c3, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x88402a26, 0x00006080, 0x00000028, 0x0000e586, 0x887ffa21,
+ 0x00007900, 0x00000002, 0x00008280, 0x0a513429, 0x00006100, 0x00110828,
+ 0x0000a106, 0x703940ec, 0x0000d600, 0x00393800, 0x00008000, 0x703918ec,
+ 0x00005600, 0x00391000, 0x00008000, 0x88402a26, 0x00006080, 0x98802a29,
+ 0x0000c880, 0x89e80500, 0x00006100, 0x00800028, 0x00006586, 0x703908ec,
+ 0x0000d600, 0x00390000, 0x00000000, 0x887ffa62, 0x0000f900, 0x00000002,
+ 0x00008280, 0x09801426, 0x00006081, 0x00110828, 0x00006106, 0x0c013c21,
+ 0x00006884, 0x09a10c26, 0x00001001, 0x04213027, 0x0000e885, 0x703940ec,
+ 0x0000d600, 0x00393800, 0x00008000, 0x887ffa62, 0x0000f900, 0x00000002,
+ 0x00008280, 0x7039e0ec, 0x0000d600, 0x0039e800, 0x00000000, 0x703908ec,
+ 0x0000d600, 0x00390000, 0x00000000, 0x00c802ec, 0x00005f80, 0x141f380a,
+ 0x000094c4, 0x76000c40, 0x0000f892, 0x0a000000, 0x0000a08b, 0x0002082b,
+ 0x00001502, 0x98c02313, 0x000091e8, 0x000042dc, 0x0000f061, 0x00004270,
+ 0x00007000, 0x8a002a66, 0x0000e080, 0x00000065, 0x0000e586, 0x8a3ffa28,
+ 0x00007900, 0x00000002, 0x00008280, 0x8bc02a66, 0x00006080, 0x00114065,
+ 0x00006106, 0x703b28ec, 0x0000d600, 0x003b2000, 0x00000000, 0x703960ec,
+ 0x00005600, 0x003b1000, 0x00000000, 0x18802000, 0x00006180, 0x00800065,
+ 0x00006586, 0x0a133062, 0x0000e100, 0x99280500, 0x00000900, 0x19801466,
+ 0x00006081, 0x8a002a28, 0x0000c880, 0x8b3ffa28, 0x0000f900, 0x00000002,
+ 0x00008280, 0x0c03242c, 0x0000e084, 0x00116065, 0x0000b106, 0x19a16466,
+ 0x00009001, 0x703978ec, 0x00005600, 0x00397000, 0x00008000, 0x04233064,
+ 0x0000e885, 0x703b28ec, 0x0000d600, 0x003b2000, 0x00000000, 0x8bfffa28,
+ 0x0000f900, 0x00000002, 0x00008280, 0x0000428a, 0x0000f400, 0x7039e0ec,
+ 0x0000d600, 0x0039e800, 0x00000000, 0x703978ec, 0x00005600, 0x00397000,
+ 0x00008000, 0x440f1c08, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x07400000, 0x00009990, 0x876f2004, 0x00009990, 0x000043ac,
+ 0x00007208, 0x0413081d, 0x0000e911, 0x000043b9, 0x0000f000, 0x47010530,
+ 0x00001283, 0x08021c1d, 0x00006094, 0xd0000030, 0x0000b410, 0x0760efe4,
+ 0x00009810, 0x0000441f, 0x0000f008, 0x8f80e0ec, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x0760ec1c, 0x00001401, 0x8f80e8ec, 0x0000a884, 0x07800000,
+ 0x0000f900, 0x001f8000, 0x00008980, 0x070046a2, 0x00006181, 0x0015101e,
+ 0x0000a186, 0x0e421c1d, 0x00006000, 0x0420e01e, 0x0000b101, 0x26438040,
+ 0x00006180, 0x08021c1c, 0x00006084, 0x2038f6ec, 0x0000d600, 0x003d0000,
+ 0x00008000, 0x26800000, 0x00006180, 0xe4418099, 0x00006001, 0x00005ca1,
+ 0x00006583, 0x26c00000, 0x00000980, 0x08c00000, 0x0000e180, 0x07403c1d,
+ 0x00004881, 0x000040ec, 0x00005780, 0x00006001, 0x00000080, 0x80000899,
+ 0x0000e433, 0xa0000899, 0x0000341b, 0xe6800a12, 0x0000e0b0, 0x00001823,
+ 0x0000a106, 0xa6e50ca1, 0x00006131, 0xe6989312, 0x0000c918, 0xc0109312,
+ 0x00006502, 0x66a0e41d, 0x00008301, 0x87002302, 0x00006780, 0xc0001823,
+ 0x00002006, 0x08400000, 0x0000f900, 0x00018008, 0x00000980, 0x09400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x0804b000, 0x00007900, 0x00022080,
+ 0x00000980, 0x000120ec, 0x00005788, 0x00006001, 0x00000080, 0x24000000,
+ 0x00006180, 0x4510e026, 0x00006107, 0x24400000, 0x000009c8, 0x24c00000,
+ 0x000089d0, 0x25400000, 0x000009d8, 0x27400000, 0x000009f8, 0x27c00000,
+ 0x00006180, 0x2600c018, 0x00004900, 0x25f9a7a0, 0x00000930, 0x0a000000,
+ 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000,
+ 0x000082fc, 0x08a81402, 0x00008208, 0x09c00004, 0x00009980, 0x814010ec,
+ 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec,
+ 0x0000d790, 0x00006001, 0x00000080, 0x000064a1, 0x0000e583, 0x60001008,
+ 0x00002403, 0x40001009, 0x00006402, 0x80000804, 0x00003403, 0x60001005,
+ 0x0000e402, 0xc0001008, 0x0000b403, 0x00004465, 0x0000f210, 0x80005009,
+ 0x00006406, 0x00015007, 0x0000348a, 0x00000805, 0x00006403, 0xc0000808,
+ 0x0000b403, 0x2000080a, 0x00006402, 0x40001805, 0x00003403, 0x84989312,
+ 0x00001900, 0xffc00000, 0x00006180, 0x82000043, 0x00006686, 0x00503000,
+ 0x0000f900, 0x0004c010, 0x00008980, 0x280037a2, 0x0000e181, 0x04250843,
+ 0x00002083, 0xc0009800, 0x00006181, 0xb6f22843, 0x0000e081, 0xc0c06000,
+ 0x00006180, 0x806504a0, 0x00004901, 0x91400000, 0x00009981, 0x009806ec,
+ 0x0000df80, 0x00985b01, 0x00008684, 0x0c400000, 0x00007900, 0x001f8000,
+ 0x00008980, 0xffc00000, 0x00006180, 0x00151031, 0x0000e186, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0xc0003800, 0x00006181, 0x04351031,
+ 0x0000e101, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0x01000000,
+ 0x000080d4, 0x01800000, 0x000080dc, 0x02000000, 0x000080e4, 0x02800030,
+ 0x000080ec, 0x404002a2, 0x000000b2, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x28408430, 0x0000e283, 0xe91722e4, 0x00008900, 0x0c008030,
+ 0x0000e388, 0x8d509212, 0x00000908, 0x8c800000, 0x00006189, 0x80000030,
+ 0x00006488, 0x0000449b, 0x0000f010, 0x10840430, 0x00009283, 0x0c3bf830,
+ 0x00007910, 0x003ffffe, 0x00008280, 0x2c380335, 0x0000f900, 0x0000003e,
+ 0x00000680, 0xa94588b0, 0x00009000, 0x8d400a12, 0x00006190, 0xcd99baa5,
+ 0x00000000, 0x10810430, 0x00009283, 0x29404033, 0x0000e090, 0x84800a12,
+ 0x00004090, 0x0c3cf830, 0x00007900, 0x003ffffe, 0x00008280, 0xccb25e4b,
+ 0x00006111, 0xcdd9be4b, 0x00004010, 0x10800000, 0x000003cc, 0x0600c0a5,
+ 0x00001010, 0xa9c04000, 0x00009980, 0x28408430, 0x00001283, 0xa847fb37,
+ 0x00006290, 0x0cc1c038, 0x00008910, 0x2a01c839, 0x00009910, 0x00004500,
+ 0x0000f008, 0x803992a1, 0x00009502, 0x000046fb, 0x0000f02b, 0xa97992a1,
+ 0x00006100, 0xa8c02d00, 0x00008880, 0x9287faa5, 0x0000e280, 0xd21812a3,
+ 0x00008080, 0x8000724a, 0x00006582, 0x92280500, 0x00008900, 0x29408000,
+ 0x0000e1b9, 0x29400c4a, 0x000040d1, 0x12400000, 0x00007900, 0x000010c4,
+ 0x00008980, 0xa84024a5, 0x00009880, 0x28400a4a, 0x0000e080, 0x00150849,
+ 0x0000a106, 0x28e528a1, 0x00001100, 0x298020a3, 0x00001880, 0x1281c0a6,
+ 0x0000e002, 0x2840f8a6, 0x00008784, 0x703a48ec, 0x00005600, 0x003a4000,
+ 0x00008000, 0x12400000, 0x00007900, 0x00007fc0, 0x00000980, 0x0cc1c8a1,
+ 0x00006004, 0x12320004, 0x00008980, 0x703a50ec, 0x00005600, 0x00399800,
+ 0x00008000, 0x924024a5, 0x0000e080, 0x04181048, 0x0000e187, 0x703a48ec,
+ 0x00005600, 0x003a4000, 0x00008000, 0x00c002ec, 0x0000df80, 0x1446100b,
+ 0x00001684, 0x29800ca5, 0x00001181, 0x8cc00ca6, 0x00006080, 0xa9402d00,
+ 0x00004880, 0xa8552a33, 0x00009000, 0x303a56a1, 0x00003038, 0x303a44a1,
+ 0x00003038, 0x307a60a1, 0x0000b038, 0x307a72a1, 0x0000b038, 0x00002c4b,
+ 0x00009583, 0x000044eb, 0x0000f01b, 0x2a119232, 0x0000e300, 0x29400849,
+ 0x0000c180, 0x28452a32, 0x00001000, 0x2a0540a1, 0x00009700, 0x000000a8,
+ 0x00001582, 0x2a119232, 0x00006310, 0x28400800, 0x0000c988, 0x000044d5,
+ 0x00007009, 0x284540a1, 0x00009700, 0x0cc508a1, 0x0000e100, 0x294040a1,
+ 0x0000c880, 0x84800a12, 0x0000e180, 0xcdf25b37, 0x00008100, 0xccba5f4b,
+ 0x0000e101, 0x06052818, 0x00004100, 0x28400ce0, 0x00009283, 0x00004586,
+ 0x00007013, 0xb341b537, 0x00004468, 0xea80bf18, 0x00009171, 0x004a5ba6,
+ 0x0000c522, 0xaa67fb37, 0x0000018d, 0xa9402d00, 0x00006080, 0x29ba5ca6,
+ 0x0000c101, 0x8cc00ca6, 0x00001880, 0xa8552a33, 0x00009000, 0x303a56a1,
+ 0x00003038, 0x303a44a1, 0x00003038, 0x307a60a1, 0x0000b038, 0x307a72a1,
+ 0x0000b038, 0x00002c4b, 0x00009583, 0x000044cc, 0x0000f033, 0x00003c4b,
+ 0x0000e583, 0x0cc00000, 0x00008980, 0x0cc00800, 0x0000e1b0, 0x84800a12,
+ 0x00004180, 0xccba5f4b, 0x0000e101, 0xcdf25b37, 0x00004100, 0x29404033,
+ 0x00001880, 0x06052818, 0x00001100, 0x37400ce0, 0x0000788f, 0x32000000,
+ 0x0000228c, 0xa847fb37, 0x00006282, 0x0c000830, 0x00000380, 0x0c3f7830,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x00004785, 0x00007009, 0xa9c00aa7,
+ 0x00009182, 0x0000449c, 0x00007013, 0x28408430, 0x00001283, 0xb91d23a4,
+ 0x00009910, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093, 0x28c0c017,
+ 0x0000e100, 0xe0000830, 0x00002400, 0x294040a3, 0x00001780, 0x000000a5,
+ 0x00009582, 0xb91d23a4, 0x0000e108, 0x50c00000, 0x00004989, 0xa8519232,
+ 0x0000e310, 0x91400000, 0x00004989, 0x50c00000, 0x00006191, 0x28d508a5,
+ 0x0000c810, 0xffffffff, 0x00007f86, 0x00000000, 0x0000f08b, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x80041e00, 0x00001583, 0xa987fb37,
+ 0x0000e290, 0x2b01e03c, 0x00008910, 0x2b41e83d, 0x0000e110, 0xa8480000,
+ 0x00004990, 0x000047b9, 0x0000f008, 0xaa5532a1, 0x0000e100, 0x2b800480,
+ 0x00000980, 0x298022a6, 0x0000e080, 0x2ab20004, 0x00004980, 0x2840f8a6,
+ 0x0000e784, 0xaba80500, 0x00000900, 0x2a053038, 0x0000e002, 0x75e800ae,
+ 0x0000a101, 0x29c50839, 0x0000e004, 0xea981302, 0x00000900, 0x2bc90000,
+ 0x0000f900, 0x000014c4, 0x00000980, 0x2ac90000, 0x00007900, 0x00007fc0,
+ 0x00000980, 0x80008aa9, 0x00006582, 0x298538a7, 0x00000900, 0xe847fb37,
+ 0x00001282, 0xffffffff, 0x00007f86, 0x000048e2, 0x0000f030, 0x0000491f,
+ 0x00007008, 0x700900ec, 0x0000d680, 0x003d74c4, 0x00008010, 0x703d40ec,
+ 0x00005600, 0x003d3000, 0x00008000, 0x700900ec, 0x0000d680, 0x003d57c0,
+ 0x00000078, 0x29c00000, 0x00000ae0, 0x29800000, 0x00009981, 0x00c002ec,
+ 0x0000df80, 0x1449900b, 0x00009684, 0x00000ca6, 0x00001583, 0x2a409000,
+ 0x00001991, 0x00004909, 0x00007009, 0x669d4c4b, 0x0000040e, 0xa87f1fe3,
+ 0x0000e100, 0x91189312, 0x00004900, 0x72bd48a1, 0x00002084, 0x72bd50a1,
+ 0x00002084, 0x26800000, 0x0000e181, 0x9164d49a, 0x00004901, 0x01402c4b,
+ 0x00004399, 0x00802c4b, 0x00000088, 0xb8c0854b, 0x0000c394, 0x0080144b,
+ 0x000000b0, 0x0001054b, 0x0000788c, 0x00000000, 0x00000000, 0xa4400c4f,
+ 0x0000788f, 0x02000001, 0x00000060, 0x6ba00049, 0x0000c588, 0x36e29fa9,
+ 0x0000002b, 0x1c000049, 0x0000c588, 0x36c29fa9, 0x0000122a, 0x89800049,
+ 0x0000f88b, 0x7a000000, 0x0000a28d, 0x2a00164b, 0x0000e181, 0x29c04053,
+ 0x00000780, 0x00000ca8, 0x00006583, 0x0c424849, 0x00008900, 0x098000a7,
+ 0x0000f900, 0x00000200, 0x00000380, 0xa9c02302, 0x00006780, 0x8c80164b,
+ 0x00000181, 0x000046d6, 0x00007218, 0x29828050, 0x0000e100, 0x45153826,
+ 0x00006107, 0x0cc25ca1, 0x0000e800, 0x000004a1, 0x00001583, 0x29c24849,
+ 0x0000e108, 0x28404849, 0x00004790, 0x284018a1, 0x00001890, 0x29c248a1,
+ 0x00009010, 0xffffffff, 0x00007f86, 0x00053850, 0x00009502, 0x00004918,
+ 0x0000f013, 0x80001030, 0x0000ec80, 0x00000031, 0x0000e582, 0x0cc00800,
+ 0x00000980, 0x00000031, 0x00007900, 0x00200000, 0x00008582, 0xffffffff,
+ 0x00007f86, 0x0000456a, 0x0000f008, 0x00004767, 0x00007018, 0x0cd19232,
+ 0x00006300, 0x28400831, 0x00004180, 0x28450a32, 0x00009000, 0x0cc198a1,
+ 0x00009700, 0x00002c4b, 0x00006583, 0x284040a5, 0x00000880, 0x2980c0a1,
+ 0x0000e000, 0x50000830, 0x00002402, 0x0600c0a1, 0x0000e000, 0x28452833,
+ 0x00000100, 0x0000476f, 0x0000f408, 0x0cc52833, 0x0000e100, 0x29451831,
+ 0x00000100, 0x0c020030, 0x0000e390, 0x0c451831, 0x00008100, 0x5081054b,
+ 0x00009283, 0x0e0184a1, 0x0000e880, 0x294014a1, 0x00009881, 0x294048a3,
+ 0x0000e790, 0xb84244a5, 0x00000081, 0x294018a5, 0x00001890, 0x28c528a3,
+ 0x00001010, 0xffffffff, 0x00007fa7, 0x2a021300, 0x0000f904, 0x000540a3,
+ 0x00006502, 0x294540a8, 0x00000900, 0x29821300, 0x00007904, 0xb91d23a4,
+ 0x00006130, 0x108518a3, 0x0000c930, 0x0000474d, 0x0000f018, 0xffffffff,
+ 0x00007f97, 0x00000000, 0x00007083, 0x45871c08, 0x0000f100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x000044dd, 0x0000700b, 0x07400000,
+ 0x0000f900, 0x001f8000, 0x00008980, 0x00001004, 0x00006402, 0x012f201d,
+ 0x00003586, 0x0435101d, 0x0000e901, 0x2038eeec, 0x0000d600, 0x003d0000,
+ 0x00008000, 0x60001008, 0x0000e403, 0x40001009, 0x00003402, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0xc0001008, 0x0000e403, 0x80005009,
+ 0x00003406, 0x40603aa2, 0x00008083, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0xa8771ee3, 0x00009900, 0x8e8518a1, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a3, 0x00001583, 0x91404000, 0x00006199, 0x28406000,
+ 0x00004999, 0x000045a2, 0x00007031, 0x45a24416, 0x0000f100, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03a6c800, 0x00007900, 0x00232d94, 0x00008980, 0x01c00000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x45af1bb2,
+ 0x00007500, 0x02f9bf02, 0x00008022, 0x81001000, 0x0000e180, 0x0199b336,
+ 0x0000c900, 0x2980164b, 0x00006181, 0x28404053, 0x00000780, 0x00000ca6,
+ 0x0000e583, 0x0c424849, 0x00008900, 0x098000a1, 0x0000f900, 0x00000200,
+ 0x00000380, 0xa8402302, 0x00006780, 0x8c80164b, 0x00000181, 0x00004601,
+ 0x00007218, 0x2a428050, 0x0000e100, 0x45150826, 0x00006107, 0x0cc25ca1,
+ 0x0000e800, 0x000004a1, 0x00001583, 0x28424849, 0x0000e108, 0x28404849,
+ 0x00004790, 0xffffffff, 0x00007f86, 0x284018a1, 0x00001890, 0x284248a1,
+ 0x00009010, 0xffffffff, 0x00007f86, 0x000508a9, 0x00009502, 0x0000461f,
+ 0x00007013, 0x0000455f, 0x0000f200, 0x80001030, 0x0000ec80, 0x8000964b,
+ 0x00009583, 0x00080049, 0x00009582, 0xffffffff, 0x00007f86, 0x000045dd,
+ 0x00007018, 0x000045d5, 0x0000f018, 0x0000144b, 0x0000e583, 0x80001030,
+ 0x0000a480, 0x000045d0, 0x0000f033, 0x6841054b, 0x00001283, 0x00004648,
+ 0x0000f013, 0x0000455f, 0x0000f400, 0xa8402302, 0x00006780, 0x0c424849,
+ 0x00008900, 0x8c800000, 0x0000e181, 0x45150826, 0x00006107, 0xa9771ee3,
+ 0x00001900, 0x8e8518a5, 0x00002084, 0xffffffff, 0x00007fa7, 0x000204a3,
+ 0x00001583, 0x91401000, 0x00006199, 0x28401800, 0x00004999, 0x000045e5,
+ 0x00007031, 0x45dd4416, 0x00007100, 0xa8771ee3, 0x00009900, 0x8e8528a1,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a5, 0x00001583, 0x91400800,
+ 0x00006199, 0x28401800, 0x00004999, 0x000045f3, 0x0000f031, 0x45e54416,
+ 0x0000f100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03bcf000, 0x00007900, 0x0016af9c,
+ 0x00000980, 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x45f31bb2, 0x00007500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x02172849, 0x00004200, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03a9e800, 0x0000f900, 0x002bf324, 0x00008980, 0x01909212,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x46011bb2, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x02325e4b, 0x00004900, 0x000024a6, 0x00001583, 0x00001ca6,
+ 0x00009583, 0x000024a6, 0x00001583, 0x00004617, 0x00007018, 0x0000460c,
+ 0x0000f008, 0x00004611, 0x0000f010, 0x2a42e050, 0x00006000, 0x0a00405f,
+ 0x00008780, 0x0b000028, 0x00007900, 0x00000200, 0x00000380, 0x4515082c,
+ 0x0000e907, 0x2a42c0a9, 0x0000e000, 0x0a00405b, 0x00000780, 0x0a800028,
+ 0x00007900, 0x00000200, 0x00000380, 0x4515082a, 0x0000e907, 0x2a42a0a9,
+ 0x0000e000, 0x29804057, 0x00000780, 0x000045ba, 0x00007400, 0x0a0000a6,
+ 0x0000f900, 0x00000200, 0x00000380, 0x45150828, 0x00006907, 0xa8771ee3,
+ 0x00009900, 0x8e8518a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a3,
+ 0x00001583, 0x91405000, 0x0000e199, 0x28401800, 0x00004999, 0x0000464f,
+ 0x00007031, 0x461f4416, 0x0000f100, 0xa8f71ee3, 0x00001900, 0x8e8528a3,
+ 0x00002084, 0xffffffff, 0x00007fa7, 0x000204a5, 0x00001583, 0x0000462e,
+ 0x00007033, 0x46264416, 0x00007300, 0xd140180d, 0x00000ac6, 0x09800ce0,
+ 0x00006283, 0x0c400000, 0x00000980, 0x0000463c, 0x0000f013, 0x000045c4,
+ 0x00007400, 0x09800100, 0x00006180, 0xa8402302, 0x0000c780, 0x8c800800,
+ 0x00006181, 0x45150826, 0x00006107, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03bae800,
+ 0x00007900, 0x0033d078, 0x00000980, 0x018508a1, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x463c1bb2,
+ 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x020548a9,
+ 0x00004900, 0x463d1c08, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x07400000, 0x00007910, 0x001f8000, 0x00008980, 0x876f2004,
+ 0x0000e190, 0x00001004, 0x0000e412, 0x00004629, 0x00007008, 0x00004591,
+ 0x00007400, 0x0435101d, 0x0000e901, 0x2038eeec, 0x0000d600, 0x003d0000,
+ 0x00008000, 0xa8771ee3, 0x00009900, 0x8e8518a1, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a3, 0x00001583, 0x0000465d, 0x0000f033, 0x464f4416,
+ 0x00007300, 0xd140180e, 0x00000ac6, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ab5000,
+ 0x00007900, 0x0028aed6, 0x00008980, 0x01b25e4b, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x465d1bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02319632,
+ 0x00004900, 0x01000020, 0x00006180, 0x02000000, 0x0000c980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x038ce800, 0x00007900, 0x00265762,
+ 0x00000980, 0x01800000, 0x000080dc, 0x81001000, 0x00009980, 0xc1001800,
+ 0x00006181, 0x08001a09, 0x0000e106, 0x466a1bb2, 0x00007500, 0x82600500,
+ 0x00008026, 0x02c01002, 0x00001900, 0x2a00164b, 0x0000e181, 0x28404053,
+ 0x00000780, 0x00000ca8, 0x00006583, 0x0c424849, 0x00008900, 0x098000a1,
+ 0x0000f900, 0x00000200, 0x00000380, 0xa8402302, 0x00006780, 0x8c80164b,
+ 0x00000181, 0x000046a0, 0x0000f218, 0x29828050, 0x0000e100, 0x45150826,
+ 0x00006107, 0x0cc25ca1, 0x0000e800, 0x000004a1, 0x00001583, 0x28424849,
+ 0x0000e108, 0x28404849, 0x00004790, 0xffffffff, 0x00007f86, 0x284018a1,
+ 0x00001890, 0x284248a1, 0x00009010, 0xffffffff, 0x00007f86, 0x000508a6,
+ 0x00009502, 0xa8f71ee3, 0x00009910, 0x8e8528a3, 0x0000a094, 0x000045c4,
+ 0x00007008, 0xffffffff, 0x00007f97, 0x000204a5, 0x00001583, 0x018508a1,
+ 0x00009930, 0x00004624, 0x0000f019, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03bae800,
+ 0x00007900, 0x0033d078, 0x00000980, 0x01c00000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x82600500, 0x00008026, 0x46911bb2, 0x0000f500, 0x02fd3702,
+ 0x00008020, 0x81001000, 0x00009980, 0xa8f71ee3, 0x00001900, 0x8e8528a3,
+ 0x00002084, 0xffffffff, 0x00007fa7, 0x000204a5, 0x00001583, 0x01000020,
+ 0x000061b0, 0x02000000, 0x0000c9b0, 0x01800000, 0x000061b0, 0x01c00000,
+ 0x0000c9b0, 0x0000464d, 0x00007018, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x00004665, 0x0000f400, 0x038d6000, 0x0000f900, 0x0034824e,
+ 0x00000980, 0x81001000, 0x00009980, 0x000024a8, 0x00009583, 0x00001ca8,
+ 0x00001583, 0x000024a8, 0x00009583, 0x00004617, 0x00007018, 0x000046ad,
+ 0x00007008, 0x000046b4, 0x0000f010, 0x0002f8a9, 0x0000e502, 0x2982e050,
+ 0x00000000, 0x2a00405f, 0x000017a0, 0x0b0000a8, 0x00007920, 0x00000200,
+ 0x00000380, 0x000048aa, 0x00007228, 0x4515082c, 0x00006927, 0x0002d8a9,
+ 0x00006502, 0x2982c0a6, 0x00008000, 0x0a00405b, 0x000017a0, 0x0a800028,
+ 0x0000f920, 0x00000200, 0x00000380, 0x000046ce, 0x00007228, 0x4515082a,
+ 0x00006927, 0x0002b8a9, 0x00006502, 0x2982a0a6, 0x00008000, 0x0a004057,
+ 0x000017a0, 0x0a000028, 0x00007920, 0x00000200, 0x00000380, 0x00004675,
+ 0x0000f220, 0x45150828, 0x0000e927, 0xa8771ee3, 0x00009900, 0x8e8518a1,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a3, 0x00001583, 0x019728aa,
+ 0x0000e230, 0x01c00000, 0x000009b0, 0x01000000, 0x00007930, 0x0000c040,
+ 0x00000980, 0x00004624, 0x00007018, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x81001000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x46ce1bb2, 0x0000f500, 0x82600500,
+ 0x00008026, 0x02172857, 0x0000e200, 0x02c01002, 0x00008900, 0xa9771ee3,
+ 0x00001900, 0x8e8508a5, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a1,
+ 0x00009583, 0x91406000, 0x0000e199, 0x28401800, 0x00004999, 0x00004819,
+ 0x0000f031, 0x49094416, 0x00007100, 0x000024a8, 0x00009583, 0x00001ca8,
+ 0x00001583, 0x000024a8, 0x00009583, 0x00004617, 0x00007018, 0x000046e3,
+ 0x00007008, 0x000046ea, 0x00007010, 0x0002f8a9, 0x0000e502, 0x2982e050,
+ 0x00000000, 0x2840405f, 0x000017a0, 0x0b0000a1, 0x00007920, 0x00000200,
+ 0x00000380, 0x000048aa, 0x00007228, 0x4515382c, 0x00006927, 0x0002d8a9,
+ 0x00006502, 0x2982c0a6, 0x00008000, 0x2840405b, 0x000097a0, 0x0a8000a1,
+ 0x00007920, 0x00000200, 0x00000380, 0x000046ce, 0x00007228, 0x4515382a,
+ 0x00006927, 0x0002b8a9, 0x00006502, 0x2982a0a6, 0x00008000, 0x28404057,
+ 0x000097a0, 0x0a0000a1, 0x0000f920, 0x00000200, 0x00000380, 0x000046bb,
+ 0x0000f228, 0x0cc25ca1, 0x0000e020, 0x45153828, 0x00003127, 0xffffffff,
+ 0x00007f86, 0x000004a1, 0x00001583, 0x29c24849, 0x0000e108, 0x28404849,
+ 0x00004790, 0x284018a1, 0x00001890, 0x29c248a1, 0x00009010, 0xffffffff,
+ 0x00007f86, 0x578538a6, 0x0000780b, 0xc2000000, 0x0000a488, 0xd207fb37,
+ 0x00009282, 0x0e81c038, 0x00006110, 0x0ec1c839, 0x0000c910, 0x12000380,
+ 0x00001990, 0x000044a3, 0x00007008, 0x80000237, 0x0000e582, 0x92280500,
+ 0x00008900, 0xa8c00b35, 0x0000e188, 0xa8c00a37, 0x00008190, 0x75e80048,
+ 0x00006901, 0x800002a3, 0x00006582, 0x8dd51aa3, 0x00000900, 0x28c00aa3,
+ 0x0000e190, 0x28c00b35, 0x00000188, 0x700040ec, 0x00005680, 0x003a44c4,
+ 0x00000010, 0x12320004, 0x00006180, 0xa8c01aa3, 0x0000c880, 0x12c1e2a3,
+ 0x00006002, 0x04181048, 0x00002187, 0x1280003d, 0x00009084, 0x703a58ec,
+ 0x0000d600, 0x003a5000, 0x00000000, 0x700040ec, 0x00005680, 0x003a47c0,
+ 0x00000078, 0x00c002ec, 0x0000df80, 0x1458b00b, 0x00001684, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x12000ce0, 0x00001283, 0x0000475b,
+ 0x0000f013, 0x803992a1, 0x00006502, 0xa97992a1, 0x00000100, 0x9287faa5,
+ 0x0000e280, 0x0cc1c038, 0x00000928, 0x2a01c839, 0x00006128, 0xa8c02d00,
+ 0x00004880, 0x8000724a, 0x00006582, 0xd21812a3, 0x00008080, 0x29400c4a,
+ 0x0000e0d1, 0x29408000, 0x000009b9, 0x12400000, 0x00007900, 0x000010c4,
+ 0x00008980, 0x92280500, 0x00006100, 0xa84024a5, 0x0000c880, 0x28400a4a,
+ 0x0000e080, 0x00150849, 0x0000a106, 0x28e528a1, 0x00001100, 0x298020a3,
+ 0x00001880, 0x128198a6, 0x00006002, 0x2840f8a6, 0x00008784, 0x703a48ec,
+ 0x00005600, 0x003a4000, 0x00008000, 0x12400000, 0x00007900, 0x00007fc0,
+ 0x00000980, 0x0cc540a1, 0x0000e004, 0x12320004, 0x00008980, 0x703a50ec,
+ 0x00005600, 0x00399800, 0x00008000, 0x924024a5, 0x0000e080, 0x04181048,
+ 0x0000e187, 0x703a48ec, 0x00005600, 0x003a4000, 0x00008000, 0x00c002ec,
+ 0x0000df80, 0x145a580b, 0x00009684, 0x000044c3, 0x00007200, 0x29800ca5,
+ 0x00001181, 0x2a021300, 0x0000f904, 0x28c528a3, 0x0000e100, 0x0e0184a1,
+ 0x0000a080, 0x000518a8, 0x00006502, 0x28400ca1, 0x00000081, 0x29821300,
+ 0x00007904, 0x8c800e32, 0x0000e181, 0x82250830, 0x00002080, 0x0000474d,
+ 0x00007228, 0x294540a8, 0x0000e100, 0x108518a3, 0x00004920, 0xb91d23a4,
+ 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x475c1c08,
+ 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000,
+ 0x00007910, 0x001f8000, 0x00008980, 0x876f2004, 0x0000e190, 0x00001004,
+ 0x0000e412, 0x00004729, 0x0000f008, 0x00004591, 0x00007400, 0x0435101d,
+ 0x0000e901, 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000, 0xa8f71ee3,
+ 0x00001900, 0x8e8528a3, 0x00002084, 0xffffffff, 0x00007fa7, 0x000204a5,
+ 0x00001583, 0x91401800, 0x0000e199, 0x28401800, 0x00004999, 0x00004777,
+ 0x00007031, 0x476f4416, 0x0000f100, 0xb91d23a4, 0x00006100, 0x0cc008a1,
+ 0x00004080, 0x285190a3, 0x00006100, 0x060800a6, 0x00008180, 0x130260a1,
+ 0x00006002, 0x0c452a32, 0x00008000, 0x1340004d, 0x00009084, 0x00000000,
+ 0x00007083, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03aef800, 0x0000f900, 0x00157fde,
+ 0x00008980, 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x47851bb2, 0x00007500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x02172831, 0x00004200, 0x80000237,
+ 0x0000e582, 0x0e81c038, 0x00000900, 0xa8400b35, 0x00006188, 0xa8400a37,
+ 0x00000190, 0x0ec1c839, 0x00001900, 0x800002a1, 0x0000e582, 0x8dd50aa1,
+ 0x00000900, 0x28400aa1, 0x0000e190, 0x28400b35, 0x00008188, 0xffffffff,
+ 0x00007f86, 0x28400380, 0x00006180, 0xa9401aa1, 0x00004880, 0x2981e2a5,
+ 0x00006002, 0xa8680500, 0x00000900, 0x2940003d, 0x0000e084, 0x75e800a1,
+ 0x0000a101, 0x700040ec, 0x00005680, 0x003d0cc4, 0x00008010, 0x28720004,
+ 0x00009980, 0x703d30ec, 0x0000d600, 0x003d2800, 0x00008000, 0x041810a1,
+ 0x0000e987, 0x700040ec, 0x00005680, 0x003d0fc0, 0x00008078, 0x00c002ec,
+ 0x0000df80, 0x145cf80b, 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x28400ce0, 0x00009283, 0x000044fa, 0x0000700b, 0x47b31c08,
+ 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x0000458a,
+ 0x00007013, 0xa9c00aa7, 0x00009182, 0x0000449c, 0x00007013, 0x000044fc,
+ 0x0000f000, 0x815000ec, 0x0000d684, 0x00000000, 0x00000180, 0x813d08ec,
+ 0x00002684, 0x013fe004, 0x00007900, 0x003ffffe, 0x00008280, 0x0281800a,
+ 0x0000e380, 0xd0000009, 0x00002401, 0xffffffff, 0x00007f86, 0x510015a1,
+ 0x00001283, 0x47c34472, 0x0000f10b, 0xa8480000, 0x0000e180, 0x91325e4b,
+ 0x00004900, 0x26b25e4b, 0x00006101, 0xa871baa1, 0x0000c100, 0x80150a44,
+ 0x0000e502, 0xa8400000, 0x00008980, 0x91000000, 0x0000e180, 0xa8400800,
+ 0x0000c998, 0x80000637, 0x00001583, 0x91000800, 0x00009988, 0xffffffff,
+ 0x00007f86, 0x11250c44, 0x00001303, 0x0e01d03a, 0x0000e110, 0x0e41d83b,
+ 0x00004910, 0x28400b35, 0x0000e190, 0x2991ba37, 0x00008910, 0x00004536,
+ 0x0000f008, 0x000508a6, 0x00009502, 0x91000a37, 0x00009090, 0x28401a44,
+ 0x00006090, 0x8dc00a37, 0x00004090, 0x00004827, 0x00007008, 0x2a01e0a1,
+ 0x00001002, 0x2840003d, 0x00009084, 0x298003a0, 0x00001980, 0x75e800a6,
+ 0x00006901, 0xa9a80500, 0x00001900, 0x700040ec, 0x00005680, 0x003d34c4,
+ 0x00000010, 0x29b20004, 0x00001980, 0x703d40ec, 0x00005600, 0x003d0800,
+ 0x00000000, 0x041810a6, 0x00006987, 0x700040ec, 0x00005680, 0x003d37c0,
+ 0x00000078, 0x00c002ec, 0x0000df80, 0x145f400b, 0x00009684, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x11000ce0, 0x00001283, 0x00004536,
+ 0x0000f00b, 0x47fc1c08, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x60001005, 0x00006412, 0x60001008, 0x00003413, 0xc0001008,
+ 0x00006413, 0x40001009, 0x0000b412, 0x00004536, 0x0000f008, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x0c400000, 0x0000e180, 0x2840344b, 0x00004181, 0x00000ca1,
+ 0x00009583, 0x0cc00000, 0x00001998, 0x00004853, 0x00007031, 0x00005c4b,
+ 0x00001583, 0xa9771ee3, 0x00001918, 0x8e8508a5, 0x0000a09c, 0x00004839,
+ 0x0000f030, 0xffffffff, 0x00007f97, 0x000204a1, 0x00009583, 0x91402800,
+ 0x0000e199, 0x28401800, 0x00004999, 0x0000482b, 0x00007031, 0x48194416,
+ 0x00007100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c,
+ 0x00000980, 0x019728aa, 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x48271bb2, 0x0000f500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x0217285b, 0x00004200, 0x000047db,
+ 0x00007400, 0x8dc00000, 0x00006180, 0x2a01e03c, 0x00004900, 0x2841e83d,
+ 0x00001900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03a41000, 0x0000f900, 0x003aa5f4,
+ 0x00000980, 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x48391bb2, 0x0000f500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x02225c4b, 0x00004900, 0x000250a9,
+ 0x00009502, 0xa8402302, 0x0000e7a0, 0x2980404a, 0x000087a0, 0x098000a6,
+ 0x0000f920, 0x00000200, 0x00000380, 0x0000486b, 0x00007028, 0x0000544b,
+ 0x00006583, 0x45150826, 0x0000a107, 0x0000456a, 0x0000f013, 0x000270a9,
+ 0x00001502, 0xa8f71ee3, 0x00006128, 0x0980404e, 0x000047a0, 0x0a0000a6,
+ 0x00007920, 0x00000200, 0x00000380, 0x0000456a, 0x00007420, 0x09800026,
+ 0x00007920, 0x00000200, 0x00000380, 0x45150828, 0x00006127, 0x45150826,
+ 0x0000b127, 0x8e8528a3, 0x00002084, 0xffffffff, 0x00007fa7, 0x000204a5,
+ 0x00001583, 0x91403800, 0x00006199, 0x28401800, 0x00004999, 0x0000485d,
+ 0x0000f031, 0x48534416, 0x0000f100, 0x00004054, 0x00006582, 0x0cc00800,
+ 0x00000980, 0xa8771ee3, 0x00001910, 0x8e8518a1, 0x00002094, 0x00004880,
+ 0x0000f008, 0xffffffff, 0x00007f97, 0x000204a3, 0x00001583, 0x00004873,
+ 0x00007033, 0x485d4416, 0x0000f300, 0xd1401804, 0x00000ac6, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03be8800, 0x0000f900, 0x002d26b2, 0x00000980, 0x019728aa,
+ 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x486b1bb2, 0x00007500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x0217284e, 0x0000c200, 0xa8771ee3, 0x00009900, 0x8e8518a1,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a3, 0x00001583, 0x91403000,
+ 0x0000e199, 0x28401800, 0x00004999, 0x00004890, 0x00007031, 0x48734416,
+ 0x00007100, 0x01000020, 0x00006180, 0x01909212, 0x0000c900, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03ac7800, 0x0000f900, 0x00018f3e,
+ 0x00000980, 0x41000002, 0x000000dc, 0xc1001800, 0x00006181, 0x08001a09,
+ 0x0000e106, 0x48801bb2, 0x00007500, 0x82600500, 0x00008026, 0x02172854,
+ 0x0000e200, 0x02c01002, 0x00008900, 0x6841054b, 0x00001283, 0xa8f71ee3,
+ 0x00009910, 0x8e8528a3, 0x0000a094, 0x0000489e, 0x0000f008, 0xffffffff,
+ 0x00007f97, 0x000204a5, 0x00001583, 0x01909212, 0x0000e130, 0x01000020,
+ 0x000049b0, 0x81001000, 0x0000e1b0, 0x01c00000, 0x0000c9b0, 0x0000485b,
+ 0x00007018, 0x0000487a, 0x0000f400, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x0394d000, 0x0000f900, 0x003e8e2c, 0x00008980, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03ad4800, 0x00007900, 0x0014bcaa, 0x00000980, 0x019728aa,
+ 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x489e1bb2, 0x00007500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x0217284a, 0x00004200, 0x0000456a, 0x0000f400, 0xa8402302,
+ 0x00009780, 0x45150826, 0x0000e907, 0x09800ce0, 0x00006283, 0x0c400000,
+ 0x00000980, 0x000048ba, 0x0000f013, 0x09800100, 0x00006180, 0xa8402302,
+ 0x0000c780, 0x0000455f, 0x0000f400, 0x45150826, 0x00006107, 0x80001030,
+ 0x00003480, 0x8c800800, 0x00001981, 0xa8f71ee3, 0x00001900, 0x8e8528a3,
+ 0x00002084, 0xffffffff, 0x00007fa7, 0x000204a5, 0x00001583, 0x91405800,
+ 0x00006199, 0x28401800, 0x00004999, 0x000048c6, 0x00007031, 0x48b24416,
+ 0x0000f100, 0xa8f71ee3, 0x00001900, 0x8e8528a3, 0x00002084, 0xffffffff,
+ 0x00007fa7, 0x000204a5, 0x00001583, 0x91404800, 0x0000e199, 0x28401800,
+ 0x00004999, 0x000048d4, 0x00007031, 0x48ba4416, 0x00007100, 0x48bb1c08,
+ 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000,
+ 0x00007910, 0x001f8000, 0x00008980, 0x876f2004, 0x0000e190, 0x00001004,
+ 0x0000e412, 0x000048a4, 0x0000f008, 0x00004591, 0x00007400, 0x0435101d,
+ 0x0000e901, 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728aa,
+ 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x48d41bb2, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x0217285f, 0x0000c200, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000,
+ 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728aa, 0x0000e200, 0x08001a09,
+ 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x48e21bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02172853,
+ 0x0000c200, 0xe847fb37, 0x0000e282, 0xc00000af, 0x00002406, 0xab800000,
+ 0x00001980, 0x00004925, 0x0000f011, 0x2991ba37, 0x0000e100, 0x28400b35,
+ 0x0000c180, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0x000508a6,
+ 0x00006502, 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600, 0x0039d800,
+ 0x00000000, 0x700900ec, 0x0000d680, 0x003d57c0, 0x00000078, 0x00004922,
+ 0x00007208, 0x0e41d83b, 0x0000e100, 0xa9800a37, 0x0000c090, 0x8dc00a37,
+ 0x00006080, 0x29c00000, 0x00000980, 0x28401aa6, 0x0000e080, 0x2a000000,
+ 0x0000c980, 0x2b01e0a1, 0x00006002, 0x29800000, 0x00000981, 0x2b40003d,
+ 0x00009084, 0x0000e8ae, 0x0000e485, 0x008040af, 0x0000b586, 0xaba80500,
+ 0x0000e100, 0x000040ab, 0x0000e586, 0x703d78ec, 0x0000d600, 0x003d7000,
+ 0x00000000, 0x703d60ec, 0x0000d600, 0x003d6800, 0x00000000, 0x703d58ec,
+ 0x00005600, 0x003d5000, 0x00008000, 0x00c002ec, 0x0000df80, 0x1488300b,
+ 0x00001684, 0x00000ca6, 0x00001583, 0x2a409000, 0x00001991, 0x00004535,
+ 0x00007011, 0x80325aa9, 0x00001502, 0x0e8540a8, 0x00006120, 0x0ec538a7,
+ 0x0000c920, 0x0e0540a8, 0x00006128, 0x0e4538a7, 0x0000c928, 0x00004535,
+ 0x0000f020, 0x28400b35, 0x00006180, 0x2991ba37, 0x00000900, 0x000508a6,
+ 0x00009502, 0xa8400000, 0x000099c0, 0xa8400a37, 0x000090c8, 0x00004915,
+ 0x00007040, 0x00004536, 0x0000f400, 0x0de094a1, 0x0000848e, 0x26b25e4b,
+ 0x00001901, 0xa9771ee3, 0x00001900, 0x8e8508a5, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a1, 0x00009583, 0x018538a7, 0x00009930, 0x00004624,
+ 0x0000f019, 0x00004685, 0x0000f000, 0x000048e6, 0x0000f200, 0xab800000,
+ 0x00006180, 0xc00000af, 0x0000e406, 0x000048fa, 0x00007400, 0x4dc00000,
+ 0x00008adc, 0xa9800000, 0x00000ae0, 0xa84022a9, 0x0000e080, 0x0c05749a,
+ 0x00006084, 0xa87ffaa1, 0x00007900, 0x00000002, 0x00008280, 0xaac022a9,
+ 0x0000e080, 0x001508af, 0x0000e106, 0x29c0973b, 0x00008a84, 0x285548a1,
+ 0x00009100, 0xa84022a1, 0x00001880, 0xa93ffaa1, 0x00007900, 0x00000002,
+ 0x00008280, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0x29000ca9,
+ 0x0000e081, 0x001520af, 0x0000e106, 0x703d40ec, 0x00005600, 0x003d3000,
+ 0x00008000, 0x2924d4a4, 0x0000e001, 0x2991ba37, 0x00000900, 0x703d58ec,
+ 0x00005600, 0x003d5000, 0x00008000, 0x2a01d03a, 0x00006100, 0x042520ae,
+ 0x0000e085, 0xaafffaa1, 0x00007900, 0x00000002, 0x00008280, 0x28400b35,
+ 0x00009180, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0x000508a6,
+ 0x00009502, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000, 0x703d58ec,
+ 0x00005600, 0x003d5000, 0x00008000, 0x000048fa, 0x0000f240, 0x29800800,
+ 0x000099c1, 0x29800a37, 0x00009080, 0x29800800, 0x00006181, 0x284018a6,
+ 0x00004880, 0x000048fa, 0x00007400, 0x2b05083c, 0x00009002, 0x2b40003d,
+ 0x00009084, 0x49524472, 0x0000f500, 0x815000ec, 0x0000d684, 0x00000000,
+ 0x00000180, 0x813820ec, 0x00002684, 0x80041e00, 0x0000e583, 0xe887f800,
+ 0x00008981, 0xa882a000, 0x00006181, 0xa8af2004, 0x0000c980, 0x08000000,
+ 0x000082c4, 0x08800000, 0x000082cc, 0x09000000, 0x000082d4, 0x09800000,
+ 0x000082dc, 0x0a000000, 0x00006180, 0x0a4a0004, 0x00004980, 0x0a800000,
+ 0x0000e180, 0x0aca0004, 0x0000c980, 0x00005db1, 0x00007408, 0x0b000000,
+ 0x0000e180, 0x0b4a0004, 0x0000c980, 0x0bca0004, 0x00006180, 0x0b800000,
+ 0x00004980, 0x00503000, 0x0000f900, 0x0004c010, 0x00008980, 0xc0009800,
+ 0x00006181, 0x0e006ca8, 0x0000e002, 0xc0c06000, 0x00001980, 0xb0e004a8,
+ 0x00004493, 0xf0a0650d, 0x00009397, 0xf681850d, 0x00004997, 0x2682070c,
+ 0x00009791, 0x01000002, 0x000000d4, 0xc0109312, 0x00006502, 0x01800000,
+ 0x00008980, 0x01c00000, 0x000000e0, 0x02400000, 0x000000e8, 0x00005c8d,
+ 0x0000f208, 0x02c00000, 0x000000f2, 0x2000080a, 0x00006402, 0x40001009,
+ 0x00003402, 0x0e4184a9, 0x0000e000, 0x0000380a, 0x0000b407, 0x09787825,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x08c00000, 0x0000e180, 0x60001008,
+ 0x0000e403, 0x80005009, 0x00006406, 0x6000080a, 0x00003403, 0x2a0044a9,
+ 0x00006080, 0x00001823, 0x00006106, 0x89400000, 0x0000e181, 0xaa7f1fe3,
+ 0x00004900, 0x60000805, 0x0000e402, 0x0000080f, 0x0000b401, 0x08400000,
+ 0x0000f900, 0x00018008, 0x00000980, 0x0c3bf830, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0xc0000808, 0x0000e403, 0xd0000809, 0x00003401, 0xc0001823,
+ 0x0000e006, 0xa000080a, 0x00003403, 0x38424000, 0x0000e181, 0xa0000825,
+ 0x00006483, 0x72bd38a9, 0x00002084, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089e0, 0x26400001,
+ 0x000089e8, 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8, 0x27c00000,
+ 0x00006180, 0x25c500a0, 0x00004900, 0x08a81402, 0x00008208, 0x0580b0a8,
+ 0x0000e000, 0x09c00004, 0x00000980, 0x28410430, 0x0000e283, 0xa9000000,
+ 0x00000981, 0x28402430, 0x00001283, 0xffffffff, 0x00007f86, 0x00004aa6,
+ 0x0000f010, 0x00004c17, 0x0000f010, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x00322d43, 0x00007830, 0x00000000, 0x00000000, 0x6a122212,
+ 0x0000f862, 0x02400001, 0x00008060, 0x05841e00, 0x0000f88a, 0x3b000000,
+ 0x0000af8c, 0x91400e45, 0x00006081, 0x78424000, 0x00008981, 0x2a322d43,
+ 0x00009100, 0xffffffff, 0x0000ffb7, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x28c00e4b, 0x0000e180, 0x28725e4b, 0x00000901, 0x00051fa8,
+ 0x0000404a, 0x0000854b, 0x00008090, 0x38001e4b, 0x00004489, 0x9e8018a3,
+ 0x0000938d, 0xdaa018a3, 0x000041b9, 0x008008a3, 0x00000088, 0x714010a3,
+ 0x0000f892, 0x92400000, 0x0000a786, 0xb30020a3, 0x0000788b, 0x02400001,
+ 0x00008000, 0x714028a3, 0x00007892, 0x4a400000, 0x0000a786, 0x71400e4b,
+ 0x000078d2, 0xf2400000, 0x00002e8b, 0x05841e00, 0x0000f88a, 0x3b000000,
+ 0x0000af8c, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x91401645, 0x00009081, 0x26800000,
+ 0x00009981, 0xd7402c4b, 0x0000c399, 0x00802c4b, 0x00000088, 0x8a40854b,
+ 0x00004395, 0x00a0144b, 0x000080b0, 0x0001054b, 0x0000788c, 0x00000000,
+ 0x00000000, 0xf3400c4f, 0x0000788e, 0x02400001, 0x00008060, 0xf6000049,
+ 0x0000788a, 0x02c00001, 0x00000000, 0xf2053853, 0x0000f81a, 0xc2c00000,
+ 0x0000a48e, 0xa6800049, 0x0000788b, 0x02c00001, 0x00000000, 0xa4853853,
+ 0x0000f81b, 0x8ac00000, 0x00002e8f, 0x28400049, 0x0000f88a, 0x2b000000,
+ 0x00002f86, 0x28c0164b, 0x00006181, 0x2a004053, 0x00000780, 0x00000ca3,
+ 0x0000e583, 0xa9002302, 0x00000780, 0x098000a8, 0x0000f900, 0x00000200,
+ 0x00000380, 0x0c424849, 0x00006100, 0x45152026, 0x00006107, 0x00004f40,
+ 0x00007218, 0x8c80164b, 0x00006181, 0x29428050, 0x00000900, 0x0cc25ca8,
+ 0x0000e800, 0x000004a8, 0x00001583, 0x28c24849, 0x00006108, 0x2a004849,
+ 0x00004790, 0x2a0018a8, 0x00001890, 0x28c248a8, 0x00001010, 0xffffffff,
+ 0x00007f86, 0x00051850, 0x00001502, 0x00004f38, 0x00007013, 0xa9008000,
+ 0x00006181, 0x80001030, 0x00006480, 0x00000031, 0x0000e582, 0x0cc00800,
+ 0x00000980, 0x00000031, 0x00007900, 0x00200000, 0x00008582, 0xffffffff,
+ 0x00007f86, 0x000049f9, 0x0000f008, 0x00005bc0, 0x00007018, 0x2a119232,
+ 0x0000e300, 0x0cc00831, 0x0000c180, 0x0cc19a32, 0x00009000, 0x0cc54033,
+ 0x00009700, 0x6840154b, 0x0000e283, 0x28ea5d4b, 0x00008901, 0x0c3df830,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x00005b7b, 0x00007011, 0x6840254b,
+ 0x00001283, 0x00005c14, 0x00007013, 0x0000244b, 0x0000e583, 0x50000899,
+ 0x00002402, 0x261a5f18, 0x00008926, 0x2a404033, 0x000018b0, 0x00004bd5,
+ 0x00007018, 0x2a00b8a9, 0x00009100, 0x28c0c0a8, 0x00009002, 0x07c18831,
+ 0x00006160, 0x0e01841e, 0x0000e0e0, 0x26400899, 0x000063e0, 0x0fc1841c,
+ 0x0000a060, 0x00005abb, 0x00007068, 0x0e025ca9, 0x00006000, 0x00000099,
+ 0x00003401, 0x2a254c1c, 0x0000e301, 0x60000099, 0x00002403, 0x0f8184a9,
+ 0x00006000, 0xe0000099, 0x0000b401, 0x0000b015, 0x0000e502, 0x04254099,
+ 0x0000a001, 0x0e421ca8, 0x0000e000, 0x65a54899, 0x00003003, 0x07003ca8,
+ 0x00006081, 0x08021ca9, 0x0000e084, 0x66a54c1c, 0x0000e301, 0xe4418099,
+ 0x0000a001, 0x07000000, 0x00009980, 0x07000800, 0x00009988, 0xffffffff,
+ 0x00007f86, 0x0000001c, 0x0000f888, 0x00000000, 0x00000000, 0x00000833,
+ 0x000078b0, 0x00000000, 0x00008020, 0xa280144b, 0x0000789a, 0x02c00001,
+ 0x00000060, 0x44a1054b, 0x0000498d, 0xcc801c4b, 0x0000128e, 0xd000009f,
+ 0x00006403, 0xe0000030, 0x00003400, 0x0740a01f, 0x00006080, 0x2a403833,
+ 0x00008880, 0x2a05481d, 0x00001000, 0x001510a8, 0x00009502, 0x08000000,
+ 0x00001999, 0x00004b7a, 0x0000f019, 0x00001c4b, 0x00009583, 0x00004bca,
+ 0x0000700b, 0x0000001c, 0x00001582, 0x05880016, 0x00001088, 0x00005a68,
+ 0x00007011, 0x07004033, 0x0000e080, 0x10004099, 0x0000e406, 0xaa400a12,
+ 0x00006080, 0x2a20faec, 0x00008101, 0x0600c01c, 0x0000e000, 0x15825899,
+ 0x0000a000, 0x07020430, 0x0000e283, 0xe6954aa9, 0x00000900, 0x2a401ca8,
+ 0x0000e281, 0xd000009f, 0x0000a403, 0xccb25e4b, 0x0000e101, 0x20a54899,
+ 0x00006002, 0xcdd9be4b, 0x00006000, 0xe6f19632, 0x00000901, 0x00004a46,
+ 0x0000f410, 0x26f99c1f, 0x00008934, 0x84800a12, 0x00009080, 0x07000c30,
+ 0x00001283, 0xd702789f, 0x0000e009, 0xe000089f, 0x0000b411, 0xa850fea4,
+ 0x0000e000, 0xa8c03a33, 0x00008880, 0x4700854b, 0x0000e283, 0xa84022a1,
+ 0x00000080, 0xa8551aa1, 0x0000e000, 0xf482589f, 0x00002001, 0x0c400000,
+ 0x0000e180, 0x24024048, 0x0000c900, 0x247a674d, 0x00008908, 0x24f8ff4e,
+ 0x00000910, 0x00004e91, 0x00007410, 0x2701a034, 0x0000e100, 0x0700941e,
+ 0x00004089, 0xa8550ca9, 0x00001000, 0x8000221c, 0x00006486, 0x00001025,
+ 0x0000b406, 0x0030e0ec, 0x00005702, 0x00006000, 0x00008080, 0xc0109312,
+ 0x00006502, 0x0797f880, 0x00008980, 0x000838ec, 0x0000d780, 0x00006000,
+ 0x00008080, 0x2a400f9b, 0x00006181, 0x49400000, 0x00000981, 0x081cb000,
+ 0x00007900, 0x00032040, 0x00008980, 0x000040ec, 0x00005780, 0x00006001,
+ 0x00000080, 0xb2e5481e, 0x00006004, 0x80001825, 0x0000b403, 0x00004b5e,
+ 0x00007408, 0x07400000, 0x000081fc, 0x07000802, 0x00009980, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec,
+ 0x00005780, 0x00006001, 0x00000080, 0xc0000f9b, 0x00006583, 0xa8950aa2,
+ 0x00008100, 0xa88086a2, 0x00006189, 0xa880e6a2, 0x00000191, 0x6841054b,
+ 0x00001283, 0x00004e8b, 0x00007013, 0x8000dea2, 0x0000e583, 0xe88037a2,
+ 0x00000181, 0x00004a7f, 0x0000f033, 0x2a049a32, 0x00009080, 0x001510a8,
+ 0x00009502, 0x0c007ca9, 0x00006848, 0x00004a7f, 0x0000f041, 0x00000ca9,
+ 0x00007888, 0x00000000, 0x00000000, 0x66989212, 0x0000786a, 0x02400001,
+ 0x00000010, 0x4fe1ac12, 0x00004963, 0x34800c30, 0x00001293, 0xffffffff,
+ 0x00007f86, 0x68410530, 0x00001283, 0x0000d834, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x00004a89, 0x00007008, 0x00005a6e, 0x0000f008, 0xc0109312,
+ 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034,
+ 0x00009908, 0x28c00000, 0x0000f900, 0x001f8000, 0x00008980, 0xc0109312,
+ 0x00006502, 0x001510a3, 0x0000a186, 0xc4122a45, 0x0000e108, 0xc41a2344,
+ 0x0000c910, 0x40322d43, 0x0000e503, 0x043510a3, 0x0000a101, 0x203d1eec,
+ 0x0000d600, 0x003d0000, 0x00008000, 0x6a151445, 0x00000005, 0x00005a87,
+ 0x0000f030, 0x28010430, 0x00009283, 0x28403700, 0x00006189, 0x28322d43,
+ 0x00000108, 0x91400000, 0x00001989, 0x00005a87, 0x00007010, 0x000030a0,
+ 0x00009582, 0x28003000, 0x000099b8, 0x001800ec, 0x0000d780, 0x00985b01,
+ 0x00000380, 0xc02504a1, 0x00006001, 0x50e504a0, 0x00008901, 0x28403603,
+ 0x00009181, 0x284094a8, 0x0000e081, 0x80e504a1, 0x00008001, 0x822502a1,
+ 0x0000e886, 0x00b50eec, 0x00005f02, 0x00005800, 0x00008084, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x28402430, 0x00001283, 0x28725e4b,
+ 0x00001909, 0x00004d5a, 0x0000f011, 0x26020430, 0x00001283, 0x00004abc,
+ 0x0000700b, 0x0e0184a9, 0x00006880, 0x2a0014a9, 0x0000e081, 0x0e0184a9,
+ 0x0000e080, 0x2a0014a9, 0x0000e081, 0xb84244a8, 0x00004081, 0xffffffff,
+ 0x00007fc7, 0x2b021300, 0x00007904, 0x2a821300, 0x00007904, 0x2b456842,
+ 0x0000e002, 0xb84244a8, 0x00008081, 0x2a8000aa, 0x00006084, 0x2b0210ac,
+ 0x00008100, 0xffffffff, 0x0000ffb7, 0x10856500, 0x00007904, 0x10855500,
+ 0x00007904, 0x2a004033, 0x0000e080, 0x10800000, 0x00004980, 0x0c3ef830,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x2a00b8a8, 0x0000e100, 0x2a420430,
+ 0x00008481, 0x28c0c0a8, 0x00006002, 0x57e54899, 0x0000a000, 0xa678c34b,
+ 0x00008920, 0x00004cf6, 0x00007069, 0x59e0244b, 0x0000c299, 0x9480144b,
+ 0x000092b5, 0x64803c4b, 0x0000f8b3, 0x42400000, 0x00002687, 0x07010499,
+ 0x00001283, 0x2a000000, 0x0000e189, 0x2a008000, 0x00004991, 0xffffffff,
+ 0x00007f86, 0xa92544a8, 0x00001901, 0x0e01841e, 0x00006880, 0x2680141e,
+ 0x00001181, 0x9c80854b, 0x00004495, 0xc8800031, 0x00009389, 0x98401c1e,
+ 0x0000c389, 0x00801c1e, 0x000080b0, 0x3a20241e, 0x0000c589, 0x00802c1e,
+ 0x00008092, 0xb780141e, 0x00007892, 0x82400000, 0x0000a685, 0xaa402302,
+ 0x0000e780, 0x2a00405f, 0x00000780, 0x098000a8, 0x0000f900, 0x00000200,
+ 0x00000380, 0x45154826, 0x00006907, 0x26400899, 0x00006380, 0x0fc1841d,
+ 0x00002000, 0x0e025ca9, 0x00006000, 0x00000099, 0x00003401, 0x2a254c1d,
+ 0x00006301, 0x60000099, 0x00002403, 0x0f8184a9, 0x00006000, 0xe0000099,
+ 0x0000b401, 0x0000b015, 0x0000e502, 0x04254099, 0x0000a001, 0x0e421ca8,
+ 0x0000e000, 0x65a54899, 0x00003003, 0x28c00000, 0x00006180, 0x08021ca9,
+ 0x0000e084, 0x07403ca8, 0x0000e081, 0x28c00800, 0x00004988, 0x2a003833,
+ 0x0000e080, 0x66a54c1d, 0x0000c301, 0x0740a031, 0x00006080, 0xe4418099,
+ 0x0000a001, 0x2a45401d, 0x0000e000, 0x07018831, 0x00008900, 0x000000a3,
+ 0x00007888, 0x00000000, 0x00000000, 0x00000833, 0x000078b0, 0x00000000,
+ 0x00008020, 0x2180144b, 0x0000789b, 0x02400001, 0x00008060, 0x5f81054b,
+ 0x0000c98d, 0xd0801c4b, 0x00001388, 0xd000009f, 0x00006403, 0xe0000030,
+ 0x00003400, 0x001510a9, 0x00001502, 0x00001c4b, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x00004c20, 0x0000f018, 0x00004c1d, 0x0000f008, 0x000000a3,
+ 0x00009582, 0x05880016, 0x0000e088, 0x60000808, 0x0000a413, 0xc0001008,
+ 0x00006413, 0x60001005, 0x00003412, 0x00004b0b, 0x0000f008, 0x0c040030,
+ 0x00006380, 0x0000000f, 0x0000a401, 0x07404033, 0x00006080, 0x10004099,
+ 0x0000e406, 0xaa000a12, 0x0000e080, 0x2a60e2ec, 0x00000101, 0x0600c01d,
+ 0x00006000, 0x15825899, 0x0000a000, 0x07420430, 0x00006283, 0xe69542a8,
+ 0x00000900, 0x2a001ca9, 0x0000e281, 0xd000009f, 0x0000a403, 0xccb25e4b,
+ 0x0000e101, 0x20a54099, 0x0000e002, 0xcdd9be4b, 0x00006000, 0xe6f19632,
+ 0x00000901, 0x00004b1f, 0x00007410, 0x26f99c1c, 0x00008934, 0x84800a12,
+ 0x00009080, 0x07400c30, 0x00009283, 0xd702789f, 0x0000e009, 0xe000089f,
+ 0x0000b411, 0xa850e6a4, 0x0000e000, 0xa8c03a33, 0x00008880, 0xa84022a1,
+ 0x00006080, 0xf482589f, 0x00002001, 0xa8551aa1, 0x0000e000, 0x0c400000,
+ 0x00000980, 0xa8550ca8, 0x00006000, 0x24024048, 0x00000900, 0x253a6f1c,
+ 0x00008904, 0x4700854b, 0x0000e283, 0x2482604c, 0x00008900, 0x24f9a74e,
+ 0x00008930, 0xa88026a2, 0x0000e091, 0x0700a000, 0x00000989, 0x00004a54,
+ 0x00007008, 0x68806543, 0x0000c389, 0x00806543, 0x00008098, 0x90604543,
+ 0x00004389, 0x00804543, 0x000000b0, 0x01c05543, 0x0000c588, 0x01005543,
+ 0x0000809e, 0x29603543, 0x00004589, 0x94a03d43, 0x00009496, 0x69407d43,
+ 0x00004389, 0x00807d43, 0x000080b0, 0x69c08d43, 0x00004489, 0x98808d43,
+ 0x000012ae, 0x02c09543, 0x0000c789, 0x14406d43, 0x0000808e, 0xd2007543,
+ 0x0000f88a, 0xfa400000, 0x0000a683, 0x1b000000, 0x000086f4, 0x1bc00000,
+ 0x000086f8, 0x1c000000, 0x000087c4, 0x1cc00000, 0x000087c8, 0x1d000000,
+ 0x000087d4, 0x1dc00000, 0x000087d8, 0x1e000000, 0x000087e4, 0x1ec00000,
+ 0x000087e8, 0x1f000000, 0x000087f4, 0x1fc00000, 0x000087f8, 0x20000000,
+ 0x000088c4, 0x20c00000, 0x000088c8, 0x21000000, 0x000088d4, 0x21c00000,
+ 0x000088d8, 0x22000000, 0x000088e4, 0x22c00000, 0x000088e8, 0x23000000,
+ 0x000088f4, 0x23c00000, 0x000088f8, 0x0700a000, 0x00001981, 0xc0109312,
+ 0x00006502, 0x8000821c, 0x0000a486, 0x097f8025, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x0030e0ec, 0x00005702, 0x00006000, 0x00008080, 0x49400000,
+ 0x00009981, 0x0800b000, 0x0000f900, 0x0005a0c0, 0x00008980, 0x00004a67,
+ 0x0000f410, 0x001040ec, 0x0000d780, 0x00006000, 0x00008080, 0x80000025,
+ 0x00006c03, 0xc0000f9b, 0x00006583, 0xa8950aa2, 0x00008100, 0x000120ec,
+ 0x0000d780, 0x00006001, 0x00000080, 0xa880e6a2, 0x00006191, 0xa88086a2,
+ 0x00000189, 0x9c81054b, 0x0000788e, 0x5a400000, 0x0000a784, 0x07420c30,
+ 0x0000e283, 0x2a020c30, 0x00008281, 0x28c00000, 0x0000e190, 0x0fc278a3,
+ 0x00006008, 0x47420530, 0x00009283, 0x07400800, 0x00001990, 0x07400000,
+ 0x00009988, 0x00004b70, 0x0000f010, 0x00000ca8, 0x00009583, 0x07400800,
+ 0x00001988, 0x0011901f, 0x00006502, 0xe0000030, 0x0000a400, 0xe7a0e89f,
+ 0x00006801, 0xd765189f, 0x00006801, 0x000004a3, 0x00009583, 0x0000041d,
+ 0x00009583, 0x00004a27, 0x00007030, 0x00004b79, 0x0000f010, 0x00004a27,
+ 0x0000f008, 0x08000800, 0x00009981, 0x0700141e, 0x0000e081, 0xa84026a4,
+ 0x00004080, 0xb842441c, 0x0000e081, 0x0cc25ca8, 0x0000a000, 0x000004a8,
+ 0x0000e583, 0x2a4402a1, 0x00000080, 0x2a454a32, 0x00006000, 0xa5003232,
+ 0x00008790, 0x267ff099, 0x0000f900, 0x003ffffe, 0x00008280, 0xa5000000,
+ 0x0000e188, 0x00000099, 0x00006401, 0xf482589f, 0x0000e001, 0x60000099,
+ 0x0000b403, 0x07021300, 0x0000f904, 0x075512a2, 0x0000e100, 0x0c030030,
+ 0x00004380, 0x0005481d, 0x0000e502, 0xa6c00000, 0x00008980, 0x24821300,
+ 0x0000f904, 0xe6c00800, 0x0000e181, 0x28c0e01c, 0x0000c900, 0x00004bab,
+ 0x0000f248, 0xa4919232, 0x0000e100, 0x24400c20, 0x0000c4c1, 0x10800000,
+ 0x00009981, 0x8814a292, 0x00009000, 0x001100a3, 0x0000e502, 0x07510220,
+ 0x00000900, 0x00004bbc, 0x0000702b, 0x28c0e8a3, 0x0000e100, 0x0cc00833,
+ 0x00008180, 0x87440232, 0x0000e080, 0x0c519031, 0x00008100, 0xa850eaa1,
+ 0x0000e000, 0x06080018, 0x00000080, 0x074402a1, 0x00006080, 0xa6d1929b,
+ 0x00000000, 0x0740ea32, 0x00006000, 0x2740089d, 0x00000080, 0x0015101d,
+ 0x0000e502, 0x10800c42, 0x00000081, 0x07400000, 0x000099d1, 0x00004bab,
+ 0x00007039, 0x00000442, 0x00009583, 0x07400800, 0x00009989, 0xffffffff,
+ 0x00007f86, 0x07648c1d, 0x00001303, 0x00004b94, 0x0000f013, 0x000000a3,
+ 0x00006582, 0xe6909212, 0x00000900, 0x8c800e32, 0x00006189, 0x0e0184a9,
+ 0x0000a088, 0x2a400ca9, 0x0000e089, 0x10800000, 0x00000988, 0x267f7899,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x1085181c, 0x0000e110, 0x82254830,
+ 0x00002088, 0x4700854b, 0x0000e283, 0x2442684d, 0x00008900, 0x24ba774c,
+ 0x0000090c, 0x2539a71f, 0x00008930, 0x00004a54, 0x0000f208, 0x0700941e,
+ 0x00001089, 0x00004e91, 0x00007000, 0x07021300, 0x0000f904, 0x88151a20,
+ 0x00006100, 0x0e0184a8, 0x0000a080, 0x0011001c, 0x00006502, 0x2a400ca8,
+ 0x00008081, 0x24821300, 0x0000f904, 0xe6c00f9b, 0x00006081, 0x82254830,
+ 0x0000a080, 0x00004bbc, 0x0000f428, 0x8c800e32, 0x0000e181, 0x28c0e01c,
+ 0x00000900, 0xa4919232, 0x00006120, 0x07510220, 0x0000c900, 0x00004b98,
+ 0x00007000, 0x00004a32, 0x00007200, 0x05480015, 0x00006080, 0x05880016,
+ 0x00000080, 0xaa371ee3, 0x00009900, 0x8e8548a8, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a9, 0x00001583, 0x91407000, 0x00006199, 0x28401800,
+ 0x00004999, 0x00005c30, 0x00007031, 0x4bd54416, 0x00007100, 0x00003c4b,
+ 0x00001583, 0x2a404033, 0x00001898, 0x2a00b8a9, 0x00009118, 0x00005d27,
+ 0x00007030, 0x28c0c0a8, 0x00009002, 0x00005ca1, 0x0000f06b, 0x26438099,
+ 0x00006380, 0x0e421ca8, 0x00002000, 0x08021ca9, 0x0000e084, 0x80000099,
+ 0x0000b500, 0x4701054b, 0x0000e283, 0x07003ca8, 0x00008881, 0x66a54c1c,
+ 0x0000e301, 0xe0000099, 0x00002401, 0x2a400000, 0x0000e188, 0x0b8290a9,
+ 0x00006010, 0x0e025ca8, 0x0000e000, 0x0fc1841c, 0x00003000, 0x66625c4b,
+ 0x0000e101, 0xf7e5489f, 0x0000e001, 0x0000544b, 0x00006583, 0xe4418099,
+ 0x0000a001, 0x2a65441c, 0x0000e301, 0x00001025, 0x00002406, 0x0797f800,
+ 0x0000e180, 0x04254899, 0x0000e001, 0x2a401000, 0x0000e189, 0x2a400800,
+ 0x0000c991, 0x4701054b, 0x0000e283, 0x49400000, 0x00000981, 0x001890ec,
+ 0x0000d780, 0x00006000, 0x00008080, 0x08002800, 0x0000e191, 0x08002000,
+ 0x00004989, 0x000838ec, 0x0000d780, 0x00006000, 0x00008080, 0x000040ec,
+ 0x00005780, 0x00006001, 0x00000080, 0xc0109312, 0x00006502, 0x2a000ca9,
+ 0x00000181, 0x87a10420, 0x0000e101, 0xc3c2589f, 0x0000e001, 0xb2e5401e,
+ 0x0000e004, 0x80001825, 0x0000b403, 0x000120ec, 0x00005788, 0x00006001,
+ 0x00000080, 0x081cb000, 0x00007900, 0x0002e100, 0x00000980, 0x2639a718,
+ 0x00000930, 0xe6800a12, 0x0000e080, 0x27400000, 0x00000980, 0x26c00452,
+ 0x000001b4, 0x07000802, 0x0000e180, 0x07c00000, 0x0000c980, 0x814010ec,
+ 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec,
+ 0x0000d790, 0x00006001, 0x00000080, 0xa88046a2, 0x0000e181, 0x84800a12,
+ 0x00000080, 0xcca50ca1, 0x0000e101, 0xcdd9bca1, 0x0000c000, 0xe88037a2,
+ 0x00009181, 0x9fc0dea2, 0x0000f8b2, 0xaa400000, 0x0000a583, 0x60001008,
+ 0x0000e403, 0x40001009, 0x00003402, 0x00004a7f, 0x00007400, 0x60001005,
+ 0x0000e402, 0xc0001008, 0x0000b403, 0x80001009, 0x0000ec02, 0x00004b0b,
+ 0x0000f200, 0x05480015, 0x00006080, 0x05880016, 0x00000080, 0x08000000,
+ 0x00001981, 0x0780141e, 0x00006081, 0xa84026a4, 0x00004080, 0xb842441e,
+ 0x00006081, 0x0cc25ca9, 0x00002000, 0x000004a9, 0x00006583, 0x074402a1,
+ 0x00000080, 0x0740ea32, 0x00006000, 0xaa403232, 0x00000790, 0x267ff099,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0xaa400000, 0x00006188, 0x00000099,
+ 0x00006401, 0x0015101d, 0x0000e502, 0xf482589f, 0x00002001, 0x24821300,
+ 0x0000f904, 0x07821300, 0x00007904, 0x0c030030, 0x0000e380, 0x60000099,
+ 0x00002403, 0x00004c4f, 0x0000f438, 0x66e00800, 0x000089ef, 0x28e19792,
+ 0x00000138, 0x10800000, 0x0000e181, 0x08000c20, 0x00004481, 0xa4554a1e,
+ 0x00009000, 0x07548a91, 0x00009900, 0x0005181d, 0x00001502, 0x00004c5a,
+ 0x0000701b, 0x28c0e8a3, 0x0000e100, 0x0cc00833, 0x00008180, 0x87440232,
+ 0x0000e080, 0x0c519031, 0x00008100, 0xa850eaa1, 0x0000e000, 0x06080018,
+ 0x00000080, 0x074402a1, 0x00006080, 0xa6d1929b, 0x00000000, 0x0740ea32,
+ 0x00006000, 0x2740089d, 0x00000080, 0x0015101d, 0x0000e502, 0x10800c42,
+ 0x00000081, 0x07400000, 0x000099d1, 0x00004c4f, 0x0000f039, 0x00000442,
+ 0x00009583, 0x07400800, 0x00009989, 0xffffffff, 0x00007f86, 0x0761041d,
+ 0x00001303, 0x00004c38, 0x00007013, 0x000000a3, 0x00006582, 0xe6909212,
+ 0x00000900, 0x8c800e32, 0x00006189, 0x0e0184a9, 0x0000a088, 0x2a400ca9,
+ 0x0000e089, 0x10800000, 0x00000988, 0x00004b27, 0x00007400, 0x267f7899,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x10851892, 0x0000e110, 0x82254830,
+ 0x00002088, 0x24821300, 0x0000f904, 0xa4551a91, 0x00006100, 0x0e01841d,
+ 0x00002080, 0x00148892, 0x00006502, 0x07400c1d, 0x00000081, 0x07821300,
+ 0x00007904, 0xe6c00f9b, 0x00006081, 0x8220e830, 0x0000a080, 0x00004c5a,
+ 0x0000f428, 0x8c800e32, 0x0000e181, 0x28c49092, 0x00000900, 0x87919232,
+ 0x0000e120, 0x07548a91, 0x0000c900, 0x00004c3c, 0x00007000, 0x07420c30,
+ 0x0000e283, 0x07c20c30, 0x00008281, 0x07400000, 0x0000e190, 0x0fc2781d,
+ 0x00006008, 0x47420530, 0x00009283, 0x28c00800, 0x00001990, 0x28c00000,
+ 0x00009988, 0x00004c72, 0x0000f010, 0x00000c1f, 0x00009583, 0x28c00800,
+ 0x00001988, 0xe0000030, 0x0000ec00, 0xe7a5189f, 0x00006801, 0xd760e89f,
+ 0x00006801, 0x00119031, 0x00007832, 0x00000000, 0x00000000, 0x8fa0041d,
+ 0x0000c491, 0xfa8004a3, 0x00009390, 0x081510a9, 0x0000f81b, 0xea400000,
+ 0x00002680, 0x081510a9, 0x0000f81b, 0xea400000, 0x00002680, 0x00004c21,
+ 0x0000f200, 0x08000800, 0x00009981, 0x18000000, 0x000086c4, 0x18c00000,
+ 0x000086c8, 0x19000000, 0x000086d4, 0x19c00000, 0x000086d8, 0x00004b3e,
+ 0x0000f400, 0x1a000000, 0x000086e4, 0x1ac00000, 0x000086e8, 0x2a40141e,
+ 0x00006081, 0xa84026a4, 0x00004080, 0xb84244a9, 0x00006081, 0x2a0402a1,
+ 0x00008080, 0x075512a2, 0x0000e100, 0x2a454232, 0x00004000, 0x0005481d,
+ 0x0000e502, 0x00000099, 0x0000a401, 0x60000808, 0x0000e403, 0x60000099,
+ 0x0000b403, 0x60001005, 0x0000e402, 0x0000000f, 0x00003401, 0xf000009f,
+ 0x00006401, 0xc0001008, 0x0000b403, 0x24821300, 0x0000f904, 0x0c030030,
+ 0x0000e380, 0xc0000899, 0x0000a403, 0x07821300, 0x00007904, 0x00004c4f,
+ 0x00007448, 0x66e00800, 0x000089ef, 0x28e19792, 0x00008200, 0x00119092,
+ 0x00009502, 0x28d19092, 0x0000e120, 0x0cc00833, 0x000001a0, 0x0c519031,
+ 0x00006120, 0x06080018, 0x000080a0, 0x00004cd0, 0x0000f028, 0x00004c4f,
+ 0x00007400, 0xaa440232, 0x0000e080, 0xa6d1929b, 0x00000000, 0xa8554aa1,
+ 0x0000e000, 0x2740089d, 0x00000080, 0x2a00405b, 0x0000e780, 0x0700405f,
+ 0x00000780, 0x098000a8, 0x0000f900, 0x00000200, 0x00000380, 0x0a00001c,
+ 0x00007900, 0x00000200, 0x00000380, 0x00004ade, 0x0000f400, 0xaa402302,
+ 0x00001780, 0x45154828, 0x00006107, 0x45154826, 0x0000b107, 0x2a004053,
+ 0x00006780, 0x2a404057, 0x00000780, 0x098000a8, 0x0000f900, 0x00000200,
+ 0x00000380, 0x0a0000a9, 0x0000f900, 0x00000200, 0x00000380, 0x2a00405b,
+ 0x0000e780, 0x2a40405f, 0x00008780, 0x0a8000a8, 0x0000f900, 0x00000200,
+ 0x00000380, 0x0b0000a9, 0x00007900, 0x00000200, 0x00000380, 0x87002302,
+ 0x00009780, 0x00004ade, 0x0000f400, 0x4510e026, 0x00006107, 0x4510e028,
+ 0x0000b107, 0x4510e02c, 0x00006107, 0x4510e02a, 0x00003107, 0x2a004057,
+ 0x0000e780, 0x2a40405b, 0x00000780, 0x098000a8, 0x0000f900, 0x00000200,
+ 0x00000380, 0x87002302, 0x00006780, 0x2a00405f, 0x00000780, 0x0a0000a9,
+ 0x0000f900, 0x00000200, 0x00000380, 0x0a8000a8, 0x0000f900, 0x00000200,
+ 0x00000380, 0x00004ade, 0x0000f400, 0x4510e026, 0x00006107, 0x4510e028,
+ 0x0000b107, 0x4510e02a, 0x0000e907, 0x24821300, 0x0000f904, 0x88151a20,
+ 0x00006100, 0x0e0184a9, 0x00002080, 0x00110092, 0x00006502, 0x2a000ca9,
+ 0x00008081, 0x07821300, 0x00007904, 0xe6c00f9b, 0x00006081, 0x82254030,
+ 0x00002080, 0x00004cd0, 0x00007228, 0x8c800e32, 0x0000e181, 0x28c49092,
+ 0x00000900, 0xaa440232, 0x0000e080, 0x28d10092, 0x00000100, 0x0cc00833,
+ 0x0000e180, 0x0c519031, 0x00008100, 0x00004c4f, 0x00007400, 0x06080018,
+ 0x00006080, 0xa6d1929b, 0x00000000, 0xa8554aa1, 0x0000e000, 0x2740089d,
+ 0x00000080, 0x00004ade, 0x0000f400, 0xaa402302, 0x0000e780, 0x09800100,
+ 0x00008980, 0x45154826, 0x00006907, 0x2a40404a, 0x00006780, 0x87002302,
+ 0x00000780, 0x098000a9, 0x00007900, 0x00000200, 0x00000380, 0x0000544b,
+ 0x00006583, 0x4510e026, 0x0000a107, 0x28c0404e, 0x00009788, 0x0a0000a9,
+ 0x00007908, 0x00000200, 0x00000380, 0x00004bdb, 0x00007400, 0x098000a3,
+ 0x0000f908, 0x00000200, 0x00000380, 0x4510e026, 0x0000e10f, 0x4510e028,
+ 0x0000310f, 0x7fbd48ec, 0x0000a084, 0x50c0854b, 0x00001283, 0x00004d2d,
+ 0x0000f40b, 0x2a0008a9, 0x00001080, 0x7fbd40ec, 0x0000a884, 0x2a650b37,
+ 0x00001000, 0x80254e37, 0x00001503, 0x0ec1c839, 0x00006118, 0x0e81c038,
+ 0x0000c918, 0x00004d2d, 0x00007031, 0x80000237, 0x00001582, 0xa8400a37,
+ 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1,
+ 0x0000e582, 0x8dd50aa1, 0x00000900, 0x2a000aa1, 0x0000e190, 0x2a400b35,
+ 0x00000188, 0xa9001aa9, 0x00009888, 0x00004d0b, 0x0000f008, 0xa9001aa8,
+ 0x00009880, 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980, 0x2900003d,
+ 0x00006084, 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901, 0x700040ec,
+ 0x00005680, 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980, 0x703d28ec,
+ 0x0000d600, 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987, 0x700040ec,
+ 0x00005680, 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x14c8d00b,
+ 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0,
+ 0x00009283, 0x00004d5e, 0x0000f013, 0x0c3cf830, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x50c00000, 0x0000e181, 0x2a40854b, 0x0000c481, 0x50654830,
+ 0x0000e800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x00004d3b, 0x0000f008, 0x00004d73, 0x0000f008, 0xc0109312,
+ 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034,
+ 0x00009908, 0x28c00000, 0x0000f900, 0x001f8000, 0x00008980, 0xc0109312,
+ 0x00006502, 0x001510a3, 0x0000a186, 0x807d17a2, 0x00006101, 0x043510a3,
+ 0x00006101, 0x203d1eec, 0x0000d600, 0x003d0000, 0x00008000, 0x2a322e45,
+ 0x0000e101, 0xc4122a45, 0x0000c908, 0x40322d43, 0x0000e503, 0xc41a2344,
+ 0x00000910, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86, 0x00004e5b,
+ 0x00007030, 0x00004e5b, 0x0000f010, 0x28722d43, 0x00006100, 0x28003700,
+ 0x00000181, 0x000030a1, 0x0000e582, 0x91400000, 0x00000981, 0x28403000,
+ 0x000019b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380, 0xc0250ca0,
+ 0x00006001, 0x50e50ca1, 0x00008901, 0x28003603, 0x00001181, 0x280094a8,
+ 0x00006081, 0x80e50ca0, 0x00008001, 0x82250aa0, 0x0000e886, 0x00b506ec,
+ 0x0000df02, 0x00005800, 0x00008084, 0x28420430, 0x00001283, 0x28725e4b,
+ 0x00001911, 0x00004c17, 0x00007009, 0x00004aad, 0x0000f000, 0x4d5f1c08,
+ 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000,
+ 0x00007910, 0x001f8000, 0x00008980, 0x875512a2, 0x0000e110, 0x00001004,
+ 0x0000e412, 0x00004d2d, 0x00007008, 0x0435101d, 0x00006101, 0x60001008,
+ 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600, 0x003d0000,
+ 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0xaa3f1fe3,
+ 0x00009900, 0x8a054ca8, 0x0000a080, 0xffffffff, 0x00007fa7, 0x2a003ca9,
+ 0x00009281, 0x000014a8, 0x00009583, 0x08021ca9, 0x00006094, 0xd0000030,
+ 0x0000b410, 0x2a254fe4, 0x00001810, 0x00004d81, 0x00007008, 0x8f8508ec,
+ 0x0000a084, 0xffffffff, 0x00007f86, 0x00004d3b, 0x0000f403, 0x2a6544a1,
+ 0x00009401, 0x8f8548ec, 0x0000a884, 0x0c400000, 0x00007900, 0x001f8000,
+ 0x00008980, 0x00151031, 0x0000e186, 0x60001008, 0x0000b403, 0x04351031,
+ 0x0000e101, 0x40001009, 0x00003402, 0x00503000, 0x0000f900, 0x00044010,
+ 0x00000980, 0x00001004, 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800,
+ 0x00006181, 0x80005009, 0x00006406, 0x20398eec, 0x00005600, 0x003d0000,
+ 0x00008000, 0x807d17a2, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0xaa402302, 0x0000e780, 0x2a000002, 0x00008980, 0x45154826,
+ 0x0000e107, 0x0fc184a3, 0x0000b000, 0x2a7ff83e, 0x0000f900, 0x00000002,
+ 0x00008280, 0x2a4548a8, 0x00006100, 0x29800000, 0x00008980, 0x000278a9,
+ 0x0000e582, 0x0e025ca8, 0x00002000, 0x0f80003e, 0x0000f930, 0x003ffffc,
+ 0x00000280, 0x29a25c4b, 0x00006101, 0xa9a544a3, 0x00004301, 0x6841054b,
+ 0x0000e283, 0x29400000, 0x00008980, 0x2900c018, 0x00006100, 0x82c258a6,
+ 0x00006011, 0x2ac18831, 0x00006100, 0x964278a6, 0x00006011, 0x2a41a034,
+ 0x0000e100, 0xa64278a6, 0x00006011, 0xa9400a12, 0x00006080, 0xb64278a6,
+ 0x00002011, 0x00002c4b, 0x00006583, 0x0d000834, 0x00000080, 0x2a00164b,
+ 0x00006189, 0x2a000800, 0x00008991, 0x8fbd50ec, 0x0000a084, 0x68410530,
+ 0x0000e283, 0x69a544a8, 0x00000901, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x00001caa, 0x00009583, 0x0000d8a9, 0x00001502, 0x00004e0d,
+ 0x0000f010, 0x00004db8, 0x00007008, 0x00004e5e, 0x0000f008, 0x700280ec,
+ 0x0000d680, 0x00008550, 0x00008088, 0x703a80ec, 0x0000d600, 0x003a8800,
+ 0x00000000, 0x703a90ec, 0x00005600, 0x003a9800, 0x00008000, 0x703aa0ec,
+ 0x00005600, 0x003aa800, 0x00008000, 0x703ab0ec, 0x0000d600, 0x003ab800,
+ 0x00000000, 0x703ac0ec, 0x00005600, 0x003ac800, 0x00008000, 0x703ad0ec,
+ 0x0000d600, 0x003ad800, 0x00000000, 0x703ae0ec, 0x0000d600, 0x003ae800,
+ 0x00000000, 0x703af0ec, 0x00005600, 0x003af800, 0x00008000, 0x703d30ec,
+ 0x0000d600, 0x003d2800, 0x00008000, 0x703d20ec, 0x00005600, 0x003d5800,
+ 0x00000000, 0x07320004, 0x0000e180, 0x28c00000, 0x0000c981, 0x7039f0ec,
+ 0x00005600, 0x0039f800, 0x00008000, 0x08000800, 0x0000e181, 0x0418101c,
+ 0x00006187, 0x700280ec, 0x0000d680, 0x0038e7c0, 0x00008078, 0x0e421ca8,
+ 0x0000e000, 0x1000c099, 0x00003482, 0x08021ca9, 0x0000e084, 0x80000099,
+ 0x0000b500, 0x07003ca8, 0x00006081, 0xe0000099, 0x0000e401, 0x00002c4b,
+ 0x00006583, 0x0e025ca8, 0x00002000, 0x66625c4b, 0x0000e101, 0x66a54c1c,
+ 0x00004301, 0x0fc1841c, 0x00006000, 0xe4418099, 0x00003001, 0x2a65441c,
+ 0x0000e301, 0x0f82803e, 0x00008080, 0x05880016, 0x00006080, 0x04254899,
+ 0x00002001, 0x05480015, 0x00006080, 0x2600c018, 0x00008900, 0x27400733,
+ 0x000089ad, 0x00004e75, 0x00007408, 0xe6c00000, 0x00006181, 0xe6800a12,
+ 0x00004080, 0x2701a034, 0x0000e100, 0xa884e2a2, 0x00004190, 0x243a674d,
+ 0x00000904, 0x24ba9f4e, 0x0000890c, 0x253a8f52, 0x00008914, 0x25828050,
+ 0x00009900, 0x072104a3, 0x00009303, 0x00004e53, 0x00007013, 0x097f8025,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x000040ec, 0x00005780, 0x00006001,
+ 0x00000080, 0xc0109312, 0x00006502, 0x49400000, 0x00000981, 0x0804b000,
+ 0x00007900, 0x00022080, 0x00000980, 0x000120ec, 0x00005788, 0x00006001,
+ 0x00000080, 0x80000025, 0x00006c03, 0x814010ec, 0x00005694, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec, 0x0000d790, 0x00006001,
+ 0x00000080, 0x2a004033, 0x0000e080, 0xa88046a2, 0x00004181, 0x84800a12,
+ 0x00006080, 0xcca50ca1, 0x00000901, 0xcdd9bca1, 0x00006000, 0xe88037a2,
+ 0x00000181, 0x0600c0a8, 0x00001000, 0x9fc0dea2, 0x0000f8b2, 0xaa400000,
+ 0x0000a583, 0xaa7f1fe3, 0x00001900, 0x8a0544a9, 0x0000a080, 0xffffffff,
+ 0x00007fa7, 0x2a403ca8, 0x00009281, 0x000014a9, 0x00001583, 0x00004e7a,
+ 0x0000f00b, 0x08021ca8, 0x00006084, 0x0f41f01e, 0x0000b100, 0xa8c04ca8,
+ 0x00006080, 0x24800005, 0x0000c980, 0xa8dbdaa3, 0x0000f900, 0x00000008,
+ 0x00000080, 0x760048ec, 0x0000d680, 0x00000000, 0x00008080, 0xe490f2a3,
+ 0x0000e000, 0x07404800, 0x00008980, 0x763c90ec, 0x00005600, 0x0007f800,
+ 0x00008080, 0x763a80ec, 0x0000d600, 0x003a8800, 0x00000000, 0x763a90ec,
+ 0x00005600, 0x003a9800, 0x00008000, 0x763aa0ec, 0x00005600, 0x003aa800,
+ 0x00008000, 0x763ab0ec, 0x0000d600, 0x003ab800, 0x00000000, 0x763ac0ec,
+ 0x00005600, 0x003ac800, 0x00008000, 0x763ad0ec, 0x0000d600, 0x003ad800,
+ 0x00000000, 0x763ae0ec, 0x0000d600, 0x003ae800, 0x00000000, 0x07000000,
+ 0x0000e180, 0x0000a81d, 0x0000e480, 0x763af0ec, 0x00005600, 0x003af800,
+ 0x00008000, 0x2447f800, 0x0000e180, 0xc104181c, 0x0000e606, 0x7638e8ec,
+ 0x0000d600, 0x0038e000, 0x00000000, 0x24480091, 0x00006380, 0x80001092,
+ 0x0000a406, 0x760010ec, 0x00005680, 0x00008000, 0x000080c0, 0x2a43fca8,
+ 0x0000e280, 0xc0004091, 0x00002406, 0x07400000, 0x0000f900, 0x00003fc0,
+ 0x00008980, 0x760000ec, 0x0000d680, 0x00000000, 0x00008080, 0xe4804392,
+ 0x00006080, 0x80001091, 0x00002407, 0x07001002, 0x00006100, 0x0e421c20,
+ 0x0000e000, 0x875bcaa9, 0x00007900, 0x00000008, 0x00000080, 0x763c90ec,
+ 0x00005600, 0x003c8800, 0x00000000, 0x7638e8ec, 0x0000d600, 0x00000000,
+ 0x00008080, 0xc718e420, 0x00006300, 0x28c00800, 0x00008981, 0x7639a0ec,
+ 0x00005600, 0x0038e000, 0x00000000, 0x763d30ec, 0x0000d600, 0x003d2800,
+ 0x00008000, 0x00004dd6, 0x0000f400, 0x763d20ec, 0x00005600, 0x003d5800,
+ 0x00000000, 0x08000000, 0x00001981, 0x07000001, 0x000001f4, 0x0797f800,
+ 0x0000e180, 0x34e1001c, 0x0000e001, 0x00004df4, 0x0000f400, 0x000838ec,
+ 0x0000d780, 0x00006000, 0x00008080, 0x07c00000, 0x0000e180, 0x4525181c,
+ 0x00006001, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01,
+ 0x00008684, 0xaa7f1fe3, 0x00001900, 0x8a0544a9, 0x0000a080, 0xffffffff,
+ 0x00007fa7, 0x2a403ca8, 0x00009281, 0x000014a9, 0x00001583, 0x00004e7a,
+ 0x0000f00b, 0x076554e5, 0x0000e401, 0xd0000830, 0x00002400, 0xffffffff,
+ 0x00007f86, 0x2a20ec1d, 0x00001b01, 0x00254043, 0x00006884, 0x08021c1c,
+ 0x0000e884, 0x0760e7e4, 0x00009800, 0x2a60edaa, 0x0000e401, 0x07a0ecaa,
+ 0x00008301, 0x8f80f0ec, 0x0000a884, 0x2a254ca9, 0x00001900, 0x8f9d48ec,
+ 0x00002886, 0xaa000c1c, 0x00006080, 0x2a60e0a8, 0x00008704, 0x00004e13,
+ 0x0000f400, 0x71e54843, 0x0000e800, 0x8f8010a8, 0x0000a886, 0x247a674d,
+ 0x00008908, 0x00004df2, 0x0000f400, 0xa88482a2, 0x00006180, 0x24c2704e,
+ 0x00000900, 0x25018831, 0x00001900, 0x0c400000, 0x00007900, 0x001f8000,
+ 0x00008980, 0x00151031, 0x0000e186, 0x60001008, 0x0000b403, 0x04351031,
+ 0x0000e101, 0x40001009, 0x00003402, 0x00503000, 0x0000f900, 0x00044010,
+ 0x00000980, 0x00001004, 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800,
+ 0x00006181, 0x80005009, 0x00006406, 0x20398eec, 0x00005600, 0x003d0000,
+ 0x00008000, 0x807d17a2, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x00001c4b, 0x00006583, 0xe88037a2, 0x00000181, 0xa8800ea2,
+ 0x00009189, 0xffffffff, 0x00007f86, 0x9fc0dea2, 0x0000f8b2, 0xaa400000,
+ 0x0000a583, 0xa88026a2, 0x00009081, 0xd5806543, 0x0000c389, 0x00806543,
+ 0x00008098, 0x57004543, 0x0000c389, 0x00a04543, 0x000080b0, 0x02405543,
+ 0x00004588, 0x01405543, 0x00008198, 0xad003543, 0x0000f88a, 0x02c00001,
+ 0x00000000, 0xad003d43, 0x00007892, 0xb2c00000, 0x0000ad85, 0xd6407d43,
+ 0x0000c389, 0x00807d43, 0x000080b0, 0xd6c08d43, 0x0000c489, 0x68808d43,
+ 0x000093ad, 0xae009543, 0x0000788b, 0xa2400000, 0x0000ad85, 0xab806d43,
+ 0x0000788b, 0x02400001, 0x00008000, 0xac007543, 0x0000788b, 0xa2400000,
+ 0x0000ad85, 0x1b000000, 0x000086f4, 0x1bc00000, 0x000086f8, 0x1c000000,
+ 0x000087c4, 0x1cc00000, 0x000087c8, 0x1d000000, 0x000087d4, 0x1dc00000,
+ 0x000087d8, 0x1e000000, 0x000087e4, 0x1ec00000, 0x000087e8, 0x1f000000,
+ 0x000087f4, 0x1fc00000, 0x000087f8, 0x20000000, 0x000088c4, 0x20c00000,
+ 0x000088c8, 0x21000000, 0x000088d4, 0x21c00000, 0x000088d8, 0x22000000,
+ 0x000088e4, 0x22c00000, 0x000088e8, 0x23000000, 0x000088f4, 0x23c00000,
+ 0x000088f8, 0x00004b51, 0x0000f200, 0x0700941e, 0x00009081, 0x0c400000,
+ 0x0000e180, 0x2a40344b, 0x0000c181, 0x00000ca9, 0x00001583, 0x0cc00000,
+ 0x00001998, 0x00004f01, 0x00007031, 0x00005c4b, 0x00001583, 0xaa771ee3,
+ 0x00001918, 0x8e8540a9, 0x0000a09c, 0x00004ee7, 0x0000f030, 0xffffffff,
+ 0x00007f97, 0x000204a8, 0x00009583, 0x91402800, 0x0000e199, 0x28401800,
+ 0x00004999, 0x00004ed9, 0x0000f031, 0x4ed24416, 0x0000f100, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x91400e45, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x91400e45, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x91400e45, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x91400e45, 0x00009081, 0x10420700,
+ 0x00007904, 0x000049c5, 0x0000f400, 0x10420700, 0x00007904, 0x91400e45,
+ 0x00009081, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03a41000, 0x0000f900, 0x003aa5f4,
+ 0x00000980, 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x4ee71bb2, 0x0000f500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x02225c4b, 0x00004900, 0x0005384a,
+ 0x00001502, 0xa9002302, 0x000067b0, 0x2a00404a, 0x000087b0, 0x098000a8,
+ 0x0000f930, 0x00000200, 0x00000380, 0x00004f0c, 0x00007018, 0x0000544b,
+ 0x00006583, 0x45152026, 0x0000a107, 0x000270a7, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x000049f9, 0x0000f010, 0x00004f14, 0x00007028, 0x28c0404e,
+ 0x00001780, 0x0a0000a8, 0x00007900, 0x00000200, 0x00000380, 0x098000a3,
+ 0x00007900, 0x00000200, 0x00000380, 0x0c3df830, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x45152028, 0x0000e107, 0x45152026, 0x00003107, 0x28ea5d4b,
+ 0x00001901, 0xdec0154b, 0x0000f896, 0x02c00001, 0x00000000, 0x0500254b,
+ 0x00007897, 0x02c00000, 0x0000a580, 0x00004054, 0x00006582, 0x0cc00800,
+ 0x00000980, 0xaa371ee3, 0x00001910, 0x8e8548a8, 0x00002094, 0x00005f7d,
+ 0x00007008, 0xffffffff, 0x00007f97, 0x000204a9, 0x00001583, 0x91402000,
+ 0x00006199, 0x28401800, 0x00004999, 0x00005f6f, 0x00007031, 0x4f0c4416,
+ 0x00007100, 0xaa771ee3, 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a8, 0x00009583, 0x91403000, 0x0000e199, 0x28401800,
+ 0x00004999, 0x00004f1c, 0x00007031, 0x4f144416, 0x00007100, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91403800, 0x00006199, 0x28401800, 0x00004999, 0x00004f2a,
+ 0x00007031, 0x4f1c4416, 0x0000f100, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ad4800,
+ 0x00007900, 0x0014bcaa, 0x00000980, 0x019728a7, 0x00006200, 0x08001a09,
+ 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x4f2a1bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217284a,
+ 0x00004200, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03be8800, 0x0000f900, 0x002d26b2,
+ 0x00000980, 0x019728a7, 0x00006200, 0x08001a09, 0x00002106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x4f381bb2, 0x0000f500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x0217284e, 0x0000c200, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91406800, 0x00006199, 0x28401800, 0x00004999, 0x00004f98,
+ 0x00007031, 0x4f404416, 0x0000f100, 0x000024a3, 0x00001583, 0x00001ca3,
+ 0x00009583, 0x000024a3, 0x00001583, 0x00004f90, 0x00007018, 0x00004f4d,
+ 0x0000f008, 0x00004f54, 0x00007010, 0x0002f8a7, 0x00006502, 0x2942e050,
+ 0x00000000, 0x2a40405f, 0x000097a0, 0x0b0000a9, 0x0000f920, 0x00000200,
+ 0x00000380, 0x00005bd0, 0x0000f028, 0x4515202c, 0x0000e907, 0x0002d8a7,
+ 0x0000e502, 0x2942c0a5, 0x00008000, 0x2a00405b, 0x000097a0, 0x0a8000a8,
+ 0x00007920, 0x00000200, 0x00000380, 0x00004f64, 0x0000f028, 0x4515202a,
+ 0x0000e907, 0x0002b8a7, 0x0000e502, 0x2942a0a5, 0x00008000, 0x2a404057,
+ 0x0000e7a0, 0x0cc25ca8, 0x00002020, 0x0a0000a9, 0x00007920, 0x00000200,
+ 0x00000380, 0x00004f6c, 0x00007028, 0x000004a8, 0x0000e583, 0x45152028,
+ 0x00002107, 0x28c24849, 0x00006108, 0x2a004849, 0x00004790, 0x2a0018a8,
+ 0x00001890, 0x28c248a8, 0x00001010, 0xffffffff, 0x00007f86, 0x7b0518a5,
+ 0x0000780a, 0xc2400000, 0x0000a789, 0xaa771ee3, 0x00001900, 0x8e8540a9,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8, 0x00009583, 0x91406000,
+ 0x0000e199, 0x28401800, 0x00004999, 0x00004f74, 0x0000f031, 0x4f6c4416,
+ 0x00007100, 0xaa771ee3, 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a8, 0x00009583, 0x91406800, 0x00006199, 0x28401800,
+ 0x00004999, 0x00004f82, 0x0000f031, 0x4f744416, 0x00007100, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a7,
+ 0x00006200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x4f821bb2, 0x00007500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x0217285b, 0x00004200, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000,
+ 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a7, 0x00006200, 0x08001a09,
+ 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x4f901bb2,
+ 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02172857,
+ 0x00004200, 0xaa771ee3, 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a8, 0x00009583, 0x91405000, 0x0000e199, 0x28401800,
+ 0x00004999, 0x00004fa6, 0x0000f031, 0x4f984416, 0x0000f100, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03bae800, 0x00007900, 0x0033d078, 0x00000980, 0x018518a3,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x4fa61bb2, 0x00007500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x020528a5, 0x00004900, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ab5000,
+ 0x00007900, 0x0028aed6, 0x00008980, 0x01b25e4b, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x4fb41bb2,
+ 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02319632,
+ 0x00004900, 0x01000002, 0x000000d4, 0x01800000, 0x000080dc, 0x02000000,
+ 0x000080e4, 0x02800000, 0x000080ec, 0x28400c30, 0x0000e283, 0x03000000,
+ 0x00000981, 0x0000c017, 0x00001502, 0xffffffff, 0x00007f86, 0x00005042,
+ 0x00007010, 0x00004fed, 0x0000f008, 0x4fc14483, 0x00007404, 0x2000080a,
+ 0x0000ec02, 0x6000080a, 0x0000ec03, 0x8011aa12, 0x00009502, 0x24000000,
+ 0x0000e188, 0x24400000, 0x00004988, 0x24800000, 0x00006188, 0x24c00000,
+ 0x0000c988, 0x00004a7f, 0x00007010, 0x08c00000, 0x0000e180, 0x0e421ca8,
+ 0x0000e000, 0x08021ca9, 0x0000e084, 0x00001823, 0x00003106, 0x000040ec,
+ 0x00005780, 0x00006001, 0x00000080, 0x26438080, 0x00006180, 0x26800000,
+ 0x00004980, 0xc0109312, 0x00006502, 0x07003ca8, 0x00008881, 0xaa002302,
+ 0x00006780, 0xc0001823, 0x00002006, 0x08400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x09400000, 0x00007900, 0x00010000, 0x00000980, 0x0804b000,
+ 0x00007900, 0x00022080, 0x00000980, 0xe4418099, 0x00006001, 0x45154026,
+ 0x00003107, 0x000120ec, 0x00005788, 0x00006001, 0x00000080, 0x25000000,
+ 0x000089d4, 0x25800000, 0x000089ec, 0x27400000, 0x000009f8, 0x27c00000,
+ 0x00006180, 0x2600c018, 0x00004900, 0x273d0734, 0x0000091c, 0xa88046a2,
+ 0x0000e181, 0xe88037a2, 0x00000181, 0x08a81402, 0x00008208, 0x66a54c1c,
+ 0x0000e301, 0x09c00004, 0x00000980, 0x814010ec, 0x00005694, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec, 0x0000d790, 0x00006001,
+ 0x00000080, 0xe842070c, 0x0000e283, 0x40001805, 0x0000a403, 0x0c3ff030,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x60001008, 0x0000640b, 0x60000805,
+ 0x0000340a, 0x00004c17, 0x0000f010, 0x00004a7f, 0x00007400, 0xc0000808,
+ 0x0000e403, 0x40001009, 0x00003402, 0x80001009, 0x0000ec02, 0x80041e00,
+ 0x0000e583, 0x01000000, 0x00000980, 0x01400000, 0x000000d8, 0x01c00000,
+ 0x000000e0, 0x4fff494e, 0x00007508, 0x02400000, 0x000000e8, 0x83000000,
+ 0x000000ec, 0x68410530, 0x0000e283, 0x60001008, 0x00002403, 0x8f8508ec,
+ 0x00002094, 0x08021ca8, 0x0000e094, 0x40001009, 0x00003402, 0x2a2547e4,
+ 0x0000e010, 0x60001005, 0x0000e402, 0x2000080a, 0x00006402, 0x00001004,
+ 0x00003402, 0x2a2544a1, 0x00006411, 0x40001007, 0x00002402, 0xd0000030,
+ 0x0000e410, 0xc0001008, 0x0000b403, 0x80005009, 0x00006406, 0x40001805,
+ 0x00003403, 0x50114483, 0x00007404, 0x6000080a, 0x0000ec03, 0x8f8540ec,
+ 0x0000a894, 0x28408430, 0x00001283, 0x20001805, 0x0000e40b, 0x00004807,
+ 0x0000b40e, 0xaa000a12, 0x00006088, 0x24000000, 0x00000988, 0x00004a7f,
+ 0x00007010, 0x0e421c1d, 0x00006000, 0x08021c1c, 0x00003084, 0x26438220,
+ 0x0000e180, 0x26800000, 0x00004980, 0x07403c1d, 0x00006081, 0xe4418099,
+ 0x00006001, 0x84800a12, 0x00006080, 0x24400000, 0x00000980, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089ec, 0x27400000,
+ 0x000009f8, 0x27c00000, 0x00006180, 0x2600c018, 0x00004900, 0x273d0734,
+ 0x0000091c, 0xe88037a2, 0x00006181, 0xa88046a2, 0x00008181, 0x66a0e41d,
+ 0x0000e301, 0xe69542a8, 0x00000900, 0x08c00000, 0x0000e180, 0xaa402302,
+ 0x00004780, 0x000040ec, 0x00005780, 0x00006001, 0x00000080, 0xc0109312,
+ 0x00006502, 0x00001823, 0x0000a106, 0x08400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x09400000, 0x00007900, 0x00010000, 0x00000980, 0x0804b000,
+ 0x00007900, 0x00022080, 0x00000980, 0x45154826, 0x0000e107, 0xc0001823,
+ 0x0000b006, 0x000120ec, 0x00005788, 0x00006001, 0x00000080, 0x08a81402,
+ 0x00008208, 0x09c00004, 0x00009980, 0x814010ec, 0x00005694, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec, 0x0000d790, 0x00006001,
+ 0x00000080, 0x00004a7f, 0x0000f000, 0x0e4184a9, 0x0000e000, 0x2000080a,
+ 0x00003402, 0x09787825, 0x00007900, 0x003ffffe, 0x00008280, 0x08c00000,
+ 0x0000e180, 0x0000380a, 0x0000e407, 0x00001823, 0x00006106, 0x6000080a,
+ 0x00003403, 0x2a0044a9, 0x00006080, 0x89400000, 0x0000c981, 0xaa7f1fe3,
+ 0x00006100, 0x0000000f, 0x00006401, 0x08400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x0c3bf830, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0001823,
+ 0x0000e006, 0xa000080a, 0x00003403, 0x38424000, 0x0000e181, 0xa0000825,
+ 0x00006483, 0x72bd28a9, 0x0000a084, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089e0, 0x26400081,
+ 0x000009e8, 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8, 0x27c00000,
+ 0x00006180, 0x25c500a0, 0x00004900, 0x08a81402, 0x00008208, 0x0580b0a8,
+ 0x0000e000, 0x09c00004, 0x00000980, 0x28410430, 0x0000e283, 0xa9000000,
+ 0x00000981, 0x00005820, 0x00007013, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x00322d43, 0x00007830, 0x00000000, 0x00000000, 0x1b922212,
+ 0x00007862, 0x02800001, 0x00008060, 0xaa041e00, 0x0000f88b, 0xe2800000,
+ 0x0000aa8f, 0x91400e45, 0x00006081, 0x78424000, 0x00008981, 0x2a322d43,
+ 0x00009100, 0xffffffff, 0x0000ffb7, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x28c00e4b, 0x0000e180, 0x28725e4b, 0x00000901, 0x00051fa8,
+ 0x0000404a, 0x0000854b, 0x00008090, 0x10c01e4b, 0x0000c488, 0x58a018a3,
+ 0x0000958c, 0xc64018a3, 0x0000c1b8, 0x00a008a3, 0x00008088, 0x22c010a3,
+ 0x00007892, 0x7a800000, 0x00002b81, 0x8a4020a3, 0x0000f88b, 0x02800001,
+ 0x00008000, 0x22c028a3, 0x0000f892, 0x32800000, 0x00002b81, 0x22c00e4b,
+ 0x0000f8d2, 0x9a800000, 0x0000aa8f, 0xaa041e00, 0x0000f88b, 0xe2800000,
+ 0x0000aa8f, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x91401645, 0x00009081, 0x26800000,
+ 0x00009981, 0x6d802c4b, 0x0000c398, 0x00a02c4b, 0x00008088, 0x6880854b,
+ 0x0000c394, 0x00a0144b, 0x000080b0, 0x0001054b, 0x0000788c, 0x00000000,
+ 0x00000000, 0x97000c4f, 0x0000788e, 0x02800001, 0x00008060, 0xe8400049,
+ 0x0000788b, 0x02800001, 0x00008000, 0x56c52853, 0x0000781b, 0xe2800000,
+ 0x0000a884, 0x50200049, 0x00004589, 0x27852f53, 0x00009c1e, 0xfe000049,
+ 0x0000788b, 0xfa800000, 0x0000aa89, 0x28c0164b, 0x00006181, 0x2a004053,
+ 0x00000780, 0x00000ca3, 0x0000e583, 0xa9802302, 0x00008780, 0x098000a8,
+ 0x0000f900, 0x00000200, 0x00000380, 0x0c424849, 0x00006100, 0x45153026,
+ 0x0000e107, 0x00005563, 0x00007218, 0x29028050, 0x00006100, 0x8c80164b,
+ 0x0000c181, 0x0cc25ca8, 0x0000e800, 0x000004a8, 0x00001583, 0x28c24849,
+ 0x00006108, 0x2a004849, 0x00004790, 0x2a0018a8, 0x00001890, 0x28c248a8,
+ 0x00001010, 0xffffffff, 0x00007f86, 0x000518a4, 0x00009502, 0x00005364,
+ 0x0000f013, 0xa9008000, 0x00006181, 0x80001030, 0x00006480, 0x00000031,
+ 0x0000e582, 0x0cc00800, 0x00000980, 0x00000031, 0x00007900, 0x00200000,
+ 0x00008582, 0xffffffff, 0x00007f86, 0x000050bd, 0x00007008, 0x00005de9,
+ 0x0000f018, 0x2a119232, 0x0000e300, 0x0cc00831, 0x0000c180, 0x0cc19a32,
+ 0x00009000, 0x0cc54033, 0x00009700, 0x6840254b, 0x00001283, 0x0c3df830,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x00005721, 0x00007011, 0x0000244b,
+ 0x0000e583, 0x50000899, 0x00002402, 0x261a5f18, 0x00008926, 0x2a004033,
+ 0x000098b0, 0x0000537b, 0x0000f018, 0x2a40b8a8, 0x00009100, 0x28c0c0a9,
+ 0x00001002, 0x25018831, 0x00006160, 0x0e0184a1, 0x000060e0, 0x26400899,
+ 0x000063e0, 0x0f8184a8, 0x00002060, 0x000051d6, 0x00007068, 0x0e421ca9,
+ 0x00006000, 0x00000099, 0x00003401, 0x07003ca9, 0x0000e081, 0x60000099,
+ 0x0000e403, 0x2a403833, 0x00006080, 0xe0000099, 0x0000e401, 0x08021ca8,
+ 0x00006084, 0x65a54099, 0x0000b003, 0x66a5441c, 0x00006301, 0xe4418099,
+ 0x0000a001, 0x0700a031, 0x00001080, 0x4701054b, 0x0000e283, 0x2a05481c,
+ 0x00000000, 0x00005177, 0x0000f013, 0xd000009f, 0x00006403, 0xe0000030,
+ 0x00003400, 0x001510a8, 0x00009502, 0x10800000, 0x0000e199, 0xaa400a12,
+ 0x0000c0b0, 0x07000000, 0x0000e1b0, 0x10004099, 0x0000e436, 0x0000518d,
+ 0x00007018, 0x8011aaa9, 0x00006502, 0x20000099, 0x0000a403, 0x07000800,
+ 0x00006189, 0x2a24a2ec, 0x00004101, 0xe6954aa9, 0x0000e100, 0xd000009f,
+ 0x00006403, 0x2a401ca8, 0x0000e281, 0x24a0e099, 0x00002003, 0x07004033,
+ 0x0000e080, 0x15825899, 0x00006000, 0x0600c01c, 0x0000e000, 0x20a54899,
+ 0x0000a002, 0x07020430, 0x0000e283, 0x84800a12, 0x00000080, 0xccb25e4b,
+ 0x0000e101, 0xcdd9be4b, 0x0000c000, 0xa6e4a532, 0x0000092c, 0x000050f9,
+ 0x0000f210, 0x27419833, 0x00001900, 0x07000c30, 0x00001283, 0xd702789f,
+ 0x0000e009, 0xe000089f, 0x0000b411, 0x8754a6a4, 0x00006000, 0x87003a33,
+ 0x00000880, 0x8740221d, 0x00006080, 0xf482589f, 0x00002001, 0x8750e21d,
+ 0x00006000, 0x0c400000, 0x00000980, 0xa8d0eca9, 0x0000e000, 0x24024048,
+ 0x00000900, 0x4700854b, 0x0000e283, 0x2442684d, 0x00008900, 0x24ba774c,
+ 0x0000090c, 0x070094a1, 0x00006089, 0x2701a034, 0x00000900, 0x0000513c,
+ 0x0000f010, 0x8000221c, 0x00006486, 0x00001025, 0x0000b406, 0x0030e0ec,
+ 0x00005702, 0x00006000, 0x00008080, 0xc0109312, 0x00006502, 0x0797f880,
+ 0x00008980, 0x000838ec, 0x0000d780, 0x00006000, 0x00008080, 0x2a400f9b,
+ 0x00006181, 0x49400000, 0x00000981, 0x081cb000, 0x00007900, 0x00032040,
+ 0x00008980, 0x000040ec, 0x00005780, 0x00006001, 0x00000080, 0xb2e5481e,
+ 0x00006004, 0x80001825, 0x0000b403, 0x0000516d, 0x0000f408, 0x07400000,
+ 0x000081fc, 0x07000802, 0x00009980, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec, 0x00005780, 0x00006001,
+ 0x00000080, 0xc0000f9b, 0x00006583, 0xa8951aa2, 0x00000100, 0xa88086a2,
+ 0x00006189, 0xa880e6a2, 0x00000191, 0x6841054b, 0x00001283, 0x00005127,
+ 0x0000f00b, 0x00001c4b, 0x00009583, 0xa8800ea2, 0x00009189, 0xe88037a2,
+ 0x00009181, 0x4b00dea2, 0x0000f89a, 0x02800001, 0x00008000, 0x9fd1aa12,
+ 0x00007812, 0x6a400000, 0x0000278f, 0x2a049a32, 0x00009080, 0x4c5510a8,
+ 0x0000784a, 0x02800001, 0x00008000, 0x9fd1aa12, 0x00007812, 0x6a400000,
+ 0x0000278f, 0x0c007ca9, 0x00006800, 0x00000ca9, 0x00007888, 0x00000000,
+ 0x00000000, 0x18d89212, 0x0000f86a, 0x02800001, 0x00000010, 0x0011aa12,
+ 0x0000f868, 0x00000000, 0x00000000, 0x18c00c30, 0x00007896, 0x02800001,
+ 0x00000010, 0x9fd1aa12, 0x00007812, 0x6a400000, 0x0000278f, 0xa88026a2,
+ 0x00009081, 0x2a606543, 0x0000c388, 0x00a06543, 0x00000098, 0x2e804543,
+ 0x00004388, 0x00a04543, 0x000080b0, 0x01c05543, 0x0000c588, 0x01005543,
+ 0x0000809e, 0x05a03543, 0x0000c589, 0x82e03d43, 0x0000028e, 0x2b207d43,
+ 0x0000c388, 0x00a07d43, 0x000000b0, 0x2ba08d43, 0x0000c488, 0xb6a08d43,
+ 0x000014aa, 0x02c09543, 0x0000c789, 0x02606d43, 0x0000808e, 0x55c07543,
+ 0x0000f88a, 0x82800000, 0x0000a88b, 0x1b000000, 0x000086f4, 0x1bc00000,
+ 0x000086f8, 0x1c000000, 0x000087c4, 0x1cc00000, 0x000087c8, 0x1d000000,
+ 0x000087d4, 0x1dc00000, 0x000087d8, 0x1e000000, 0x000087e4, 0x1ec00000,
+ 0x000087e8, 0x1f000000, 0x000087f4, 0x1fc00000, 0x000087f8, 0x20000000,
+ 0x000088c4, 0x20c00000, 0x000088c8, 0x21000000, 0x000088d4, 0x21c00000,
+ 0x000088d8, 0x22000000, 0x000088e4, 0x22c00000, 0x000088e8, 0x23000000,
+ 0x000088f4, 0x23c00000, 0x000088f8, 0x070094a1, 0x00001081, 0xc0109312,
+ 0x00006502, 0x8000821c, 0x0000a486, 0x097f8025, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x0030e0ec, 0x00005702, 0x00006000, 0x00008080, 0x49400000,
+ 0x00009981, 0x0800b000, 0x0000f900, 0x0005a0c0, 0x00008980, 0x0000511a,
+ 0x0000f410, 0x001040ec, 0x0000d780, 0x00006000, 0x00008080, 0x80000025,
+ 0x00006c03, 0x0000511f, 0x00007200, 0x000120ec, 0x0000d780, 0x00006001,
+ 0x00000080, 0x18000000, 0x000086c4, 0x18c00000, 0x000086c8, 0x19000000,
+ 0x000086d4, 0x19c00000, 0x000086d8, 0x0000514d, 0x0000f400, 0x1a000000,
+ 0x000086e4, 0x1ac00000, 0x000086e8, 0x00001c4b, 0x00009583, 0x07420c30,
+ 0x00001289, 0x000050db, 0x0000f011, 0x07020c30, 0x00009283, 0x28c00000,
+ 0x0000e190, 0x0fc278a3, 0x00006008, 0x47020530, 0x00001283, 0x07000800,
+ 0x00009990, 0x07000000, 0x00001988, 0x00005183, 0x00007010, 0x00000c1d,
+ 0x00001583, 0x07000800, 0x00009988, 0x00119031, 0x00006502, 0xe0000030,
+ 0x0000a400, 0xe7a0e09f, 0x0000e801, 0xd765189f, 0x00006801, 0x000004a3,
+ 0x00009583, 0x0000041c, 0x00001583, 0x000050dd, 0x0000f030, 0x0000518c,
+ 0x00007010, 0x000050dd, 0x00007008, 0x10800800, 0x00001981, 0x070014a1,
+ 0x00006081, 0xa8c026a4, 0x0000c080, 0xb842441c, 0x0000e081, 0x0cc25ca8,
+ 0x0000a000, 0x000004a8, 0x0000e583, 0x081512a2, 0x00008900, 0xaa003232,
+ 0x0000e790, 0xaa000000, 0x00000988, 0x267ff099, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0xf482589f, 0x0000e001, 0x60000099, 0x0000b403, 0x0c030030,
+ 0x0000e380, 0xa6c00000, 0x00008980, 0x07821300, 0x00007904, 0x07021300,
+ 0x0000f904, 0x070402a3, 0x00006080, 0xe6c00800, 0x00000981, 0x0700e232,
+ 0x00006000, 0x87d19232, 0x00000900, 0x0000e020, 0x0000e502, 0x0740f01e,
+ 0x00000900, 0x08000c42, 0x000014c1, 0x10800000, 0x000019c1, 0x000051bd,
+ 0x00007048, 0xa455421f, 0x00009000, 0x07148a91, 0x00001900, 0x0000e81c,
+ 0x00009502, 0x000051c8, 0x0000f01b, 0x0740e01d, 0x00006100, 0x0cc00833,
+ 0x00008180, 0x87040232, 0x00006080, 0x0c519031, 0x00008100, 0xa8d0e2a3,
+ 0x00006000, 0x06080018, 0x00000080, 0x070402a3, 0x00006080, 0xa6d1929b,
+ 0x00000000, 0x0700e232, 0x00006000, 0x2740089d, 0x00000080, 0x0015101c,
+ 0x00006502, 0x10800c42, 0x00000081, 0x07000000, 0x000019d1, 0x000051bd,
+ 0x00007039, 0x00000442, 0x00009583, 0x07000800, 0x00001989, 0xffffffff,
+ 0x00007f86, 0x0721041c, 0x00001303, 0x000051a6, 0x0000f013, 0x0000001d,
+ 0x00006582, 0xe6909212, 0x00000900, 0x8c800e32, 0x00006189, 0x0e0184a8,
+ 0x00002088, 0x2a000ca8, 0x0000e089, 0x10800000, 0x00000988, 0x00005101,
+ 0x00007400, 0x267f7899, 0x0000f900, 0x003ffffe, 0x00008280, 0x1080e81e,
+ 0x00006110, 0x82254030, 0x0000a088, 0xa450ea91, 0x00006100, 0x0e01841c,
+ 0x0000a080, 0x07821300, 0x00007904, 0x0014881e, 0x0000e502, 0x07000c1c,
+ 0x00000081, 0xe6c00f9b, 0x00006081, 0x8220e030, 0x00002080, 0x07021300,
+ 0x0000f904, 0x000051c8, 0x00007428, 0x8c800e32, 0x0000e181, 0x0740f01e,
+ 0x00000900, 0x87d19232, 0x00006120, 0x07148a91, 0x00004900, 0x000051aa,
+ 0x00007000, 0x7fbd40ec, 0x00002084, 0x50c0854b, 0x00001283, 0x0000520d,
+ 0x0000f40b, 0x2a4008a8, 0x00001080, 0x7fbd48ec, 0x00002884, 0x2a250b37,
+ 0x00009000, 0x80254637, 0x00009503, 0x0ec1c839, 0x00006118, 0x0e81c038,
+ 0x0000c918, 0x0000520d, 0x00007031, 0x80000237, 0x00001582, 0xa8400a37,
+ 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1,
+ 0x0000e582, 0x8dd50aa1, 0x00000900, 0x2a400aa1, 0x00006190, 0x2a000b35,
+ 0x00008188, 0xa9001aa8, 0x00001888, 0x000051eb, 0x0000f008, 0xa9001aa9,
+ 0x00001880, 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980, 0x2900003d,
+ 0x00006084, 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901, 0x700040ec,
+ 0x00005680, 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980, 0x703d28ec,
+ 0x0000d600, 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987, 0x700040ec,
+ 0x00005680, 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x150fd00b,
+ 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0,
+ 0x00009283, 0x000053ad, 0x0000f013, 0x0c3cf830, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x50c00000, 0x0000e181, 0x2a00854b, 0x00004481, 0x50654030,
+ 0x00006800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x0000521b, 0x0000f008, 0x0000523a, 0x0000f008, 0xc0109312,
+ 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034,
+ 0x00009908, 0x28c00000, 0x0000f900, 0x001f8000, 0x00008980, 0xc0109312,
+ 0x00006502, 0x001510a3, 0x0000a186, 0x807d17a2, 0x00006101, 0x043510a3,
+ 0x00006101, 0x203d1eec, 0x0000d600, 0x003d0000, 0x00008000, 0x2a722e45,
+ 0x00006101, 0xc4122a45, 0x0000c908, 0x40322d43, 0x0000e503, 0xc41a2344,
+ 0x00000910, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86, 0x00005248,
+ 0x00007030, 0x00005248, 0x0000f010, 0x28722d43, 0x00006100, 0x28003700,
+ 0x00000181, 0x000030a1, 0x0000e582, 0x91400000, 0x00000981, 0x28403000,
+ 0x000019b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380, 0xc0250ca0,
+ 0x00006001, 0x50e50ca1, 0x00008901, 0x28003603, 0x00001181, 0x280094a9,
+ 0x0000e081, 0x80e50ca0, 0x00008001, 0x82250aa0, 0x0000e886, 0x00b506ec,
+ 0x0000df02, 0x00005800, 0x00008084, 0xaa7f1fe3, 0x00001900, 0x8a0544a9,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x2a403ca8, 0x00009281, 0x000014a9,
+ 0x00001583, 0x08021ca8, 0x0000e094, 0xd0000030, 0x0000b410, 0x2a6547e4,
+ 0x00001810, 0x0000524b, 0x0000f008, 0x8f8508ec, 0x0000a084, 0xffffffff,
+ 0x00007f86, 0x0000521b, 0x0000f403, 0x2a254ca1, 0x00009401, 0x8f8540ec,
+ 0x00002884, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01,
+ 0x00008684, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980, 0x00151031,
+ 0x0000e186, 0x60001008, 0x0000b403, 0x04351031, 0x0000e101, 0x40001009,
+ 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x00001004,
+ 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0xaa371ee3,
+ 0x00009900, 0x8e8548a8, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a9,
+ 0x00001583, 0x91407000, 0x00006199, 0x28401800, 0x00004999, 0x000052e0,
+ 0x00007031, 0x52644416, 0x0000f100, 0x28c0164b, 0x00006181, 0x2a004053,
+ 0x00000780, 0x00000ca3, 0x0000e583, 0xa9002302, 0x00000780, 0x098000a8,
+ 0x0000f900, 0x00000200, 0x00000380, 0x0c424849, 0x00006100, 0x45152026,
+ 0x00006107, 0x00005282, 0x0000f218, 0x29828050, 0x0000e100, 0x8c80164b,
+ 0x0000c181, 0x0cc25ca8, 0x0000e800, 0x000004a8, 0x00001583, 0x28c24849,
+ 0x00006108, 0x2a004849, 0x00004790, 0x2a0018a8, 0x00001890, 0x28c248a8,
+ 0x00001010, 0xffffffff, 0x00007f86, 0x000518a6, 0x00001502, 0x0000527a,
+ 0x00007013, 0x000050b2, 0x00007200, 0x80001030, 0x0000ec80, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91406800, 0x00006199, 0x28401800, 0x00004999, 0x000052f5,
+ 0x0000f031, 0x52824416, 0x00007100, 0x000024a3, 0x00001583, 0x00001ca3,
+ 0x00009583, 0x000024a3, 0x00001583, 0x000052a6, 0x00007018, 0x0000528f,
+ 0x00007008, 0x00005296, 0x0000f010, 0x0002f8a5, 0x0000e502, 0x2982e050,
+ 0x00000000, 0x2a40405f, 0x000097a0, 0x0b0000a9, 0x0000f920, 0x00000200,
+ 0x00000380, 0x000052ed, 0x00007028, 0x4515202c, 0x0000e907, 0x0002d8a5,
+ 0x00006502, 0x2982c0a6, 0x00008000, 0x2a00405b, 0x000097a0, 0x0a8000a8,
+ 0x00007920, 0x00000200, 0x00000380, 0x0000529e, 0x0000f028, 0x4515202a,
+ 0x0000e907, 0x0002b8a5, 0x00006502, 0x2982a0a6, 0x00008000, 0x2a404057,
+ 0x000017a0, 0x0a0000a9, 0x00007920, 0x00000200, 0x00000380, 0x000052ae,
+ 0x0000f028, 0x0000526f, 0x0000f200, 0x45152028, 0x00006907, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91406000, 0x0000e199, 0x28401800, 0x00004999, 0x000052b6,
+ 0x00007031, 0x52a64416, 0x00007100, 0xaa771ee3, 0x00001900, 0x8e8540a9,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8, 0x00009583, 0x91405000,
+ 0x0000e199, 0x28401800, 0x00004999, 0x000052c4, 0x00007031, 0x52ae4416,
+ 0x0000f100, 0xaa771ee3, 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a8, 0x00009583, 0x91406800, 0x00006199, 0x28401800,
+ 0x00004999, 0x000052d2, 0x0000f031, 0x52b64416, 0x0000f100, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a5,
+ 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x52c41bb2, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x0217285b, 0x00004200, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ab5000,
+ 0x00007900, 0x0028aed6, 0x00008980, 0x01b25e4b, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x52d21bb2,
+ 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02319632,
+ 0x00004900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c,
+ 0x00000980, 0x019728a5, 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x52e01bb2, 0x0000f500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x02172857, 0x00004200, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x038d6000, 0x0000f900, 0x0034824e, 0x00000980, 0x02000000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000080dc, 0x52ed1bb2,
+ 0x00007500, 0x82600500, 0x00008026, 0x81001000, 0x0000e180, 0x02c01002,
+ 0x00004900, 0xaa371ee3, 0x00009900, 0x8e8548a8, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a9, 0x00001583, 0x91405800, 0x00006199, 0x28401800,
+ 0x00004999, 0x00005303, 0x00007031, 0x52f54416, 0x00007100, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03bae800, 0x00007900, 0x0033d078, 0x00000980, 0x018518a3,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x53031bb2, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x020530a6, 0x00004900, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000,
+ 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a5, 0x0000e200, 0x08001a09,
+ 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x53111bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217285f,
+ 0x0000c200, 0xaa771ee3, 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a8, 0x00009583, 0x91404800, 0x0000e199, 0x28401800,
+ 0x00004999, 0x00005321, 0x00007031, 0x53194416, 0x00007100, 0x0cc00ce0,
+ 0x0000e283, 0x0c400000, 0x00000980, 0x0000532f, 0x0000f013, 0x00005278,
+ 0x0000f400, 0x09800100, 0x00006180, 0xaa402302, 0x00004780, 0x8c800800,
+ 0x00006181, 0x45154826, 0x0000e107, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000,
+ 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a5, 0x0000e200, 0x08001a09,
+ 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x532f1bb2,
+ 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02172853,
+ 0x0000c200, 0x53301c08, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x0c400000, 0x0000f910, 0x001f8000, 0x00008980, 0x8c5512a2,
+ 0x00006110, 0x00001004, 0x0000e412, 0x0000531c, 0x0000f008, 0x04351031,
+ 0x0000e101, 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008,
+ 0x0000b403, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x20398eec,
+ 0x00005600, 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x8000964b, 0x00009583, 0x00080049, 0x00009582, 0xffffffff,
+ 0x00007f86, 0x0000535c, 0x0000f018, 0x00005354, 0x00007018, 0x0000144b,
+ 0x0000e583, 0x80001030, 0x0000a480, 0xa9008000, 0x00001999, 0x0000534f,
+ 0x0000f031, 0x6841054b, 0x00001283, 0x000056f9, 0x00007013, 0x000050b2,
+ 0x00007400, 0xaa402302, 0x0000e780, 0x0c424849, 0x00008900, 0x8c800000,
+ 0x0000e181, 0x45154826, 0x0000e107, 0xaa371ee3, 0x00009900, 0x8e8548a8,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a9, 0x00001583, 0x91401000,
+ 0x00006199, 0x28401800, 0x00004999, 0x0000570e, 0x00007031, 0x535c4416,
+ 0x0000f100, 0xaa371ee3, 0x00009900, 0x8e8548a8, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a9, 0x00001583, 0x91400800, 0x00006199, 0x28401800,
+ 0x00004999, 0x000055c1, 0x0000f031, 0x53644416, 0x00007100, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91406800, 0x00006199, 0x28401800, 0x00004999, 0x00005636,
+ 0x00007031, 0x536c4416, 0x0000f100, 0x0c400000, 0x0000e180, 0x2a40344b,
+ 0x0000c181, 0x00000ca9, 0x00001583, 0x0cc00000, 0x00001998, 0x00005752,
+ 0x00007031, 0x00005c4b, 0x00001583, 0xaa771ee3, 0x00001918, 0x8e8540a9,
+ 0x0000a09c, 0x0000573e, 0x0000f030, 0xffffffff, 0x00007f97, 0x000204a8,
+ 0x00009583, 0x91402800, 0x0000e199, 0x28401800, 0x00004999, 0x00005730,
+ 0x0000f031, 0x537b4416, 0x0000f100, 0x00003c4b, 0x00001583, 0x2a004033,
+ 0x00009898, 0x2a40b8a8, 0x00009118, 0x00005448, 0x00007030, 0x28c0c0a9,
+ 0x00001002, 0xaa000a12, 0x0000e0e0, 0xcca50ca1, 0x00000961, 0xcdd9bca1,
+ 0x00006060, 0x84800a12, 0x000000e0, 0x000053c2, 0x0000f068, 0x7121aca8,
+ 0x00004408, 0x58a0dea2, 0x0000149a, 0x9fd1aa12, 0x00007812, 0x6a400000,
+ 0x0000278f, 0x26420099, 0x00006380, 0x0e421ca9, 0x0000a000, 0x08c00000,
+ 0x0000e180, 0x20000899, 0x0000e403, 0x08021ca8, 0x00006084, 0xe0000099,
+ 0x0000b401, 0x000040ec, 0x00005780, 0x00006001, 0x00000080, 0xc0109312,
+ 0x00006502, 0x00001823, 0x0000a106, 0x07003ca9, 0x0000e081, 0xe4418099,
+ 0x00006001, 0xaa402302, 0x0000e780, 0xc0001823, 0x00002006, 0x08400000,
+ 0x0000f900, 0x00018008, 0x00000980, 0x09400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x0804b000, 0x00007900, 0x00022080, 0x00000980, 0x000120ec,
+ 0x00005788, 0x00006001, 0x00000080, 0x2701a034, 0x0000e100, 0x45154826,
+ 0x0000e107, 0x26000718, 0x000089ad, 0xe6c00000, 0x00006181, 0xa88046a2,
+ 0x00004181, 0x08a81402, 0x00008208, 0x66a5441c, 0x00006301, 0x09c00004,
+ 0x00000980, 0x814010ec, 0x00005694, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x008120ec, 0x0000d790, 0x00006001, 0x00000080, 0x00005127,
+ 0x00007000, 0x53ae1c08, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x07400000, 0x00007910, 0x001f8000, 0x00008980, 0x875512a2,
+ 0x0000e110, 0x00001004, 0x0000e412, 0x0000520d, 0x00007008, 0x0435101d,
+ 0x00006101, 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008,
+ 0x0000b403, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec,
+ 0x0000d600, 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x7fbd40ec, 0x00002084, 0x50c0854b, 0x00001283, 0x000053f9,
+ 0x0000f40b, 0x2a4008a8, 0x00001080, 0x7fbd48ec, 0x00002884, 0x2a250b37,
+ 0x00009000, 0x80254637, 0x00009503, 0x0ec1c839, 0x00006118, 0x0e81c038,
+ 0x0000c918, 0x000053f9, 0x00007031, 0x80000237, 0x00001582, 0xa8400a37,
+ 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1,
+ 0x0000e582, 0x8dd50aa1, 0x00000900, 0x2a400aa1, 0x00006190, 0x2a000b35,
+ 0x00008188, 0xa9001aa8, 0x00001888, 0x000053d7, 0x00007008, 0xa9001aa9,
+ 0x00001880, 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980, 0x2900003d,
+ 0x00006084, 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901, 0x700040ec,
+ 0x00005680, 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980, 0x703d28ec,
+ 0x0000d600, 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987, 0x700040ec,
+ 0x00005680, 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x151f300b,
+ 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0,
+ 0x00009283, 0x00005480, 0x00007013, 0x0c3cf830, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x50c00000, 0x0000e181, 0x2a00854b, 0x00004481, 0x50654030,
+ 0x00006800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x00005407, 0x00007008, 0x00005426, 0x00007008, 0xc0109312,
+ 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034,
+ 0x00009908, 0x28c00000, 0x0000f900, 0x001f8000, 0x00008980, 0xc0109312,
+ 0x00006502, 0x001510a3, 0x0000a186, 0x807d17a2, 0x00006101, 0x043510a3,
+ 0x00006101, 0x203d1eec, 0x0000d600, 0x003d0000, 0x00008000, 0x2a722e45,
+ 0x00006101, 0xc4122a45, 0x0000c908, 0x40322d43, 0x0000e503, 0xc41a2344,
+ 0x00000910, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86, 0x00005434,
+ 0x0000f030, 0x00005434, 0x00007010, 0x28722d43, 0x00006100, 0x28003700,
+ 0x00000181, 0x000030a1, 0x0000e582, 0x91400000, 0x00000981, 0x28403000,
+ 0x000019b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380, 0xc0250ca0,
+ 0x00006001, 0x50e50ca1, 0x00008901, 0x28003603, 0x00001181, 0x280094a9,
+ 0x0000e081, 0x80e50ca0, 0x00008001, 0x82250aa0, 0x0000e886, 0x00b506ec,
+ 0x0000df02, 0x00005800, 0x00008084, 0xaa7f1fe3, 0x00001900, 0x8a0544a9,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x2a403ca8, 0x00009281, 0x000014a9,
+ 0x00001583, 0x08021ca8, 0x0000e094, 0xd0000030, 0x0000b410, 0x2a6547e4,
+ 0x00001810, 0x00005437, 0x00007008, 0x8f8508ec, 0x0000a084, 0xffffffff,
+ 0x00007f86, 0x00005407, 0x00007403, 0x2a254ca1, 0x00009401, 0x8f8540ec,
+ 0x00002884, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01,
+ 0x00008684, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980, 0x00151031,
+ 0x0000e186, 0x60001008, 0x0000b403, 0x04351031, 0x0000e101, 0x40001009,
+ 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x00001004,
+ 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x2a00d834,
+ 0x00001100, 0x001980a8, 0x00009502, 0x29004033, 0x00001890, 0x2a40b8a4,
+ 0x00001110, 0x00005520, 0x0000f008, 0x28c0c0a9, 0x00001002, 0xaa000a12,
+ 0x0000e0e0, 0x2a400000, 0x000009e1, 0x2600c018, 0x00006160, 0x1000c099,
+ 0x000064e2, 0x0000549a, 0x0000f068, 0x8011aaa8, 0x0000e502, 0x80000099,
+ 0x00002500, 0x2a400800, 0x0000e189, 0x20000099, 0x00006403, 0x0e421ca8,
+ 0x0000e000, 0xe0000099, 0x0000b401, 0x00002c4b, 0x00006583, 0x24a54899,
+ 0x0000a003, 0x28c03ca8, 0x0000e081, 0x08021ca9, 0x0000e084, 0xa6799b4b,
+ 0x00008934, 0xa6c00000, 0x00006180, 0xe4418099, 0x00006001, 0x00005495,
+ 0x00007408, 0xe6c00000, 0x00006181, 0xe6800a12, 0x00004080, 0x2701a034,
+ 0x0000e100, 0x66a54ca3, 0x0000c301, 0xa884e2a2, 0x00006180, 0x2402684d,
+ 0x00000900, 0x247a774c, 0x00008908, 0x24fa9753, 0x00000910, 0x25ba8f50,
+ 0x00008914, 0x097f8025, 0x00007900, 0x003ffffe, 0x00008280, 0x000040ec,
+ 0x00005780, 0x00006001, 0x00000080, 0xc0109312, 0x00006502, 0x49400000,
+ 0x00000981, 0x0804b000, 0x00007900, 0x00022080, 0x00000980, 0x000120ec,
+ 0x00005788, 0x00006001, 0x00000080, 0x80000025, 0x00006c03, 0x814010ec,
+ 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec,
+ 0x0000d790, 0x00006001, 0x00000080, 0xa88046a2, 0x0000e181, 0x84800a12,
+ 0x00000080, 0x00005127, 0x0000f400, 0x0600c0a4, 0x0000e000, 0xcca50ca1,
+ 0x00000901, 0xcdd9bca1, 0x00009000, 0x54811c08, 0x0000f100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x07400000, 0x00007910, 0x001f8000,
+ 0x00008980, 0x875512a2, 0x0000e110, 0x00001004, 0x0000e412, 0x000053f9,
+ 0x00007008, 0x0435101d, 0x00006101, 0x60001008, 0x0000b403, 0x40001009,
+ 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900, 0x00044010,
+ 0x00000980, 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000, 0xc0003800,
+ 0x00006181, 0x80005009, 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec,
+ 0x0000df80, 0x00005801, 0x00000084, 0xa88482a2, 0x00006180, 0x2442684d,
+ 0x00008900, 0x0000546a, 0x0000f400, 0x24ba774c, 0x0000090c, 0x25018831,
+ 0x00001900, 0x7fbd40ec, 0x00002084, 0x50c0854b, 0x00001283, 0x000054d1,
+ 0x0000740b, 0x2a4008a8, 0x00001080, 0x7fbd48ec, 0x00002884, 0x2a250b37,
+ 0x00009000, 0x80254637, 0x00009503, 0x0ec1c839, 0x00006118, 0x0e81c038,
+ 0x0000c918, 0x000054d1, 0x0000f031, 0x80000237, 0x00001582, 0xa8400a37,
+ 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1,
+ 0x0000e582, 0x8dd50aa1, 0x00000900, 0x2a400aa1, 0x00006190, 0x2a000b35,
+ 0x00008188, 0xa9001aa8, 0x00001888, 0x000054af, 0x0000f008, 0xa9001aa9,
+ 0x00001880, 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980, 0x2900003d,
+ 0x00006084, 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901, 0x700040ec,
+ 0x00005680, 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980, 0x703d28ec,
+ 0x0000d600, 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987, 0x700040ec,
+ 0x00005680, 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x1545f00b,
+ 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0,
+ 0x00009283, 0x0000552a, 0x0000f013, 0x0c3cf830, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x50c00000, 0x0000e181, 0x2a00854b, 0x00004481, 0x50654030,
+ 0x00006800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x000054df, 0x00007008, 0x000054fe, 0x00007008, 0xc0109312,
+ 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034,
+ 0x00009908, 0x28c00000, 0x0000f900, 0x001f8000, 0x00008980, 0xc0109312,
+ 0x00006502, 0x001510a3, 0x0000a186, 0x807d17a2, 0x00006101, 0x043510a3,
+ 0x00006101, 0x203d1eec, 0x0000d600, 0x003d0000, 0x00008000, 0x2a722e45,
+ 0x00006101, 0xc4122a45, 0x0000c908, 0x40322d43, 0x0000e503, 0xc41a2344,
+ 0x00000910, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86, 0x0000550c,
+ 0x0000f030, 0x0000550c, 0x00007010, 0x28722d43, 0x00006100, 0x28003700,
+ 0x00000181, 0x000030a1, 0x0000e582, 0x91400000, 0x00000981, 0x28403000,
+ 0x000019b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380, 0xc0250ca0,
+ 0x00006001, 0x50e50ca1, 0x00008901, 0x28003603, 0x00001181, 0x280094a9,
+ 0x0000e081, 0x80e50ca0, 0x00008001, 0x82250aa0, 0x0000e886, 0x00b506ec,
+ 0x0000df02, 0x00005800, 0x00008084, 0xaa7f1fe3, 0x00001900, 0x8a0544a9,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x2a403ca8, 0x00009281, 0x000014a9,
+ 0x00001583, 0x08021ca8, 0x0000e094, 0xd0000030, 0x0000b410, 0x2a6547e4,
+ 0x00001810, 0x0000550f, 0x00007008, 0x8f8508ec, 0x0000a084, 0xffffffff,
+ 0x00007f86, 0x000054df, 0x00007403, 0x2a254ca1, 0x00009401, 0x8f8540ec,
+ 0x00002884, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01,
+ 0x00008684, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980, 0x00151031,
+ 0x0000e186, 0x60001008, 0x0000b403, 0x04351031, 0x0000e101, 0x40001009,
+ 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x00001004,
+ 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0xa0000809,
+ 0x0000e402, 0xc0001008, 0x0000b403, 0x60001005, 0x0000e402, 0x0000000f,
+ 0x00003401, 0x0c010030, 0x00006380, 0x0680d81b, 0x00008900, 0x4b00dea2,
+ 0x0000f89a, 0x02800001, 0x00008000, 0x9fd1aa12, 0x00007812, 0x6a400000,
+ 0x0000278f, 0x552b1c08, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x07400000, 0x00007910, 0x001f8000, 0x00008980, 0x875512a2,
+ 0x0000e110, 0x00001004, 0x0000e412, 0x000054d1, 0x0000f008, 0x0435101d,
+ 0x00006101, 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008,
+ 0x0000b403, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec,
+ 0x0000d600, 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x28c0164b, 0x00006181, 0x2a004053, 0x00000780, 0x00000ca3,
+ 0x0000e583, 0xa9002302, 0x00000780, 0x098000a8, 0x0000f900, 0x00000200,
+ 0x00000380, 0x0c424849, 0x00006100, 0x45152026, 0x00006107, 0x000057cc,
+ 0x0000f218, 0x29828050, 0x0000e100, 0x8c80164b, 0x0000c181, 0x0cc25ca8,
+ 0x0000e800, 0x000004a8, 0x00001583, 0x28c24849, 0x00006108, 0x2a004849,
+ 0x00004790, 0x2a0018a8, 0x00001890, 0x28c248a8, 0x00001010, 0xffffffff,
+ 0x00007f86, 0x000518a6, 0x00001502, 0xaa771ee3, 0x00009910, 0x8e8540a9,
+ 0x00002094, 0x00005278, 0x0000f008, 0xffffffff, 0x00007f97, 0x000204a8,
+ 0x00009583, 0x91406800, 0x00006199, 0x28401800, 0x00004999, 0x000057be,
+ 0x0000f031, 0x555b4416, 0x00007100, 0xaa771ee3, 0x00001900, 0x8e8540a9,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8, 0x00009583, 0x91404800,
+ 0x0000e199, 0x28401800, 0x00004999, 0x000055d7, 0x00007031, 0x55634416,
+ 0x0000f100, 0x000024a3, 0x00001583, 0x00001ca3, 0x00009583, 0x000024a3,
+ 0x00001583, 0x00005587, 0x0000f018, 0x00005570, 0x0000f008, 0x00005577,
+ 0x00007010, 0x0002f8a5, 0x0000e502, 0x2902e050, 0x00008000, 0x2a40405f,
+ 0x000097a0, 0x0b0000a9, 0x0000f920, 0x00000200, 0x00000380, 0x000055cf,
+ 0x0000f028, 0x4515302c, 0x00006907, 0x0002d8a5, 0x00006502, 0x2902c0a4,
+ 0x00008000, 0x2a00405b, 0x000097a0, 0x0a8000a8, 0x00007920, 0x00000200,
+ 0x00000380, 0x0000557f, 0x00007028, 0x4515302a, 0x00006907, 0x0002b8a5,
+ 0x00006502, 0x2902a0a4, 0x00008000, 0x2a404057, 0x000017a0, 0x0a0000a9,
+ 0x00007920, 0x00000200, 0x00000380, 0x0000558f, 0x00007028, 0x000050a7,
+ 0x0000f200, 0x45153028, 0x0000e907, 0xaa771ee3, 0x00001900, 0x8e8540a9,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8, 0x00009583, 0x91406000,
+ 0x0000e199, 0x28401800, 0x00004999, 0x00005597, 0x0000f031, 0x55874416,
+ 0x0000f100, 0xaa771ee3, 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a8, 0x00009583, 0x91405000, 0x0000e199, 0x28401800,
+ 0x00004999, 0x000055a5, 0x00007031, 0x558f4416, 0x00007100, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91406800, 0x00006199, 0x28401800, 0x00004999, 0x000055b3,
+ 0x0000f031, 0x55974416, 0x00007100, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000,
+ 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a5, 0x0000e200, 0x08001a09,
+ 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x55a51bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217285b,
+ 0x00004200, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03ab5000, 0x00007900, 0x0028aed6,
+ 0x00008980, 0x01b25e4b, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x55b31bb2, 0x00007500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x02319632, 0x00004900, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a5,
+ 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x55c11bb2, 0x00007500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x02172857, 0x00004200, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03a9e800,
+ 0x0000f900, 0x002bf324, 0x00008980, 0x01909212, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x55cf1bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02325e4b,
+ 0x00004900, 0xaa371ee3, 0x00009900, 0x8e8548a8, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a9, 0x00001583, 0x91405800, 0x00006199, 0x28401800,
+ 0x00004999, 0x000055e5, 0x0000f031, 0x55d74416, 0x0000f100, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a5,
+ 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x55e51bb2, 0x00007500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x02172853, 0x0000c200, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000,
+ 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a5, 0x0000e200, 0x08001a09,
+ 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x55f31bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217285f,
+ 0x0000c200, 0x26800000, 0x00009981, 0x10420700, 0x00007904, 0x26800c9a,
+ 0x00006081, 0x91400e45, 0x00000081, 0x10420700, 0x00007904, 0x28e4d49a,
+ 0x0000e100, 0x2a000ca1, 0x0000c180, 0x7d0540a3, 0x0000f84b, 0x5a800000,
+ 0x0000a884, 0xaa47fb37, 0x00006280, 0xaa080000, 0x00000980, 0x2b000480,
+ 0x00006180, 0x284022a9, 0x00004880, 0x29f20004, 0x0000e180, 0x91154aa8,
+ 0x00004100, 0xab280500, 0x00006100, 0x2a40f8a1, 0x00004784, 0x2a050838,
+ 0x00006002, 0x75e800ac, 0x00002101, 0x2b490000, 0x00007900, 0x000014c4,
+ 0x00000980, 0x2a890000, 0x0000f900, 0x00007fc0, 0x00000980, 0xe9d81302,
+ 0x00006100, 0x28c54839, 0x00004004, 0x80008a44, 0x00006582, 0x2ac540a8,
+ 0x00008900, 0xe847fb37, 0x00001282, 0xffffffff, 0x00007f86, 0x00005679,
+ 0x00007030, 0x00005653, 0x00007008, 0x700900ec, 0x0000d680, 0x003d64c4,
+ 0x00000010, 0x703d40ec, 0x00005600, 0x003d1800, 0x00008000, 0x700900ec,
+ 0x0000d680, 0x003d3fc0, 0x00008078, 0x28400000, 0x00000ad6, 0x28c00000,
+ 0x00001980, 0x00d002ec, 0x00005f80, 0x1550e00a, 0x00009584, 0x00000ca5,
+ 0x00001583, 0x11009000, 0x00001991, 0x00005644, 0x0000f009, 0x685a244b,
+ 0x0000840e, 0x2a0014a1, 0x00006081, 0xaa7f1fe3, 0x00004900, 0x72bd28a9,
+ 0x0000a084, 0x0000508b, 0x00007400, 0x91350812, 0x00000415, 0x384244a8,
+ 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x91400e45,
+ 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x91400e45,
+ 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x91400e45,
+ 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x91400e45,
+ 0x00009081, 0x10420700, 0x00007904, 0x0000508b, 0x00007400, 0x10420700,
+ 0x00007904, 0x91400e45, 0x00009081, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03bae800,
+ 0x00007900, 0x0033d078, 0x00000980, 0x018518a3, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x56441bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x020520a4,
+ 0x00004900, 0x80325a44, 0x00001502, 0x0e8518a3, 0x00006120, 0x0ec508a1,
+ 0x0000c920, 0x0e0518a3, 0x00006128, 0x0e4508a1, 0x0000c928, 0x0000561f,
+ 0x0000f020, 0x2a400b35, 0x0000e180, 0x2851ba37, 0x00008900, 0x000548a1,
+ 0x00009502, 0xaa400000, 0x000019c0, 0xaa400a37, 0x000010c8, 0x00005650,
+ 0x00007040, 0x0000561f, 0x0000f200, 0x11009000, 0x0000e181, 0x8dd54aa9,
+ 0x0000c900, 0xab000000, 0x0000e180, 0xc00000ad, 0x00006406, 0x2851ba37,
+ 0x00006100, 0x2a000b35, 0x0000c180, 0x703d68ec, 0x00005600, 0x003d6000,
+ 0x00008000, 0x000540a1, 0x0000e502, 0x0e01d03a, 0x00008900, 0x7039d0ec,
+ 0x0000d600, 0x0039d800, 0x00000000, 0x700900ec, 0x0000d680, 0x003d3fc0,
+ 0x00008078, 0x00005674, 0x0000f208, 0x0e41d83b, 0x0000e100, 0xaa400a37,
+ 0x0000c090, 0x8dc00a37, 0x00006080, 0x28400000, 0x00000980, 0x2a001aa9,
+ 0x0000e080, 0x28c00000, 0x00004980, 0x2ac1e0a8, 0x0000e002, 0x29400000,
+ 0x00000981, 0x2980003d, 0x00001084, 0x0000e8ac, 0x00006485, 0x008040ad,
+ 0x00003586, 0xab280500, 0x00006100, 0x000040aa, 0x00006586, 0x703d68ec,
+ 0x00005600, 0x003d6000, 0x00008000, 0x0000561a, 0x0000f400, 0x703d58ec,
+ 0x00005600, 0x003d3000, 0x00008000, 0x703d50ec, 0x0000d600, 0x003d3800,
+ 0x00000000, 0x8dc00000, 0x00006180, 0x2ac1e03c, 0x00004900, 0x00005669,
+ 0x00007400, 0x2980073d, 0x00000a84, 0xa9400000, 0x00008acc, 0xe847fb37,
+ 0x0000e282, 0xc00000ad, 0x0000a406, 0xab000000, 0x0000e180, 0xaa002244,
+ 0x00004890, 0xaa7ffaa8, 0x00007910, 0x00000002, 0x00008280, 0x00005655,
+ 0x00007008, 0x2a009000, 0x0000e180, 0x001548ad, 0x0000e106, 0x2a5220a8,
+ 0x0000e100, 0xaa802244, 0x00008880, 0xaa0022a9, 0x0000e080, 0x2951ba37,
+ 0x0000c900, 0x703d68ec, 0x00005600, 0x003d6000, 0x00008000, 0xa87ffaa8,
+ 0x00007900, 0x00000002, 0x00008280, 0x703d58ec, 0x00005600, 0x003d1800,
+ 0x00008000, 0x001508ad, 0x00006106, 0x0c0564a3, 0x0000b084, 0x28400c44,
+ 0x0000e081, 0x2a400b35, 0x00004180, 0x000548a5, 0x0000e502, 0x28651ca1,
+ 0x00008001, 0x703d50ec, 0x0000d600, 0x003d3800, 0x00000000, 0x2981e83d,
+ 0x0000e100, 0x042508ac, 0x00006085, 0x703d68ec, 0x00005600, 0x003d6000,
+ 0x00008000, 0xaabffaa8, 0x0000f900, 0x00000002, 0x00008280, 0x7039d0ec,
+ 0x0000d600, 0x0039d800, 0x00000000, 0x703d50ec, 0x0000d600, 0x003d3800,
+ 0x00000000, 0x00005669, 0x0000f440, 0x2af9d73c, 0x00008a0c, 0x29400800,
+ 0x0000e1c1, 0x2841d83b, 0x00004900, 0x29400800, 0x00006181, 0x2a000a37,
+ 0x00004080, 0x2a4018a8, 0x00001880, 0x00005669, 0x00007400, 0x2ac5483c,
+ 0x00009002, 0x2980003d, 0x00001084, 0x815000ec, 0x0000d684, 0x00000000,
+ 0x00000180, 0x813d08ec, 0x00002684, 0x013fe004, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x0281800a, 0x0000e380, 0xd0000009, 0x00002401, 0xffffffff,
+ 0x00007f86, 0x510015a1, 0x00001283, 0x28725e4b, 0x00006111, 0x91325e4b,
+ 0x0000c910, 0xaa480000, 0x00009990, 0x00005720, 0x00007008, 0xaa400000,
+ 0x0000e180, 0xaa31baa9, 0x00004100, 0x80154244, 0x0000e502, 0x91000000,
+ 0x00000980, 0x80000637, 0x0000e583, 0xaa400800, 0x00008998, 0x91000800,
+ 0x00009988, 0xffffffff, 0x00007f86, 0x11254c44, 0x00009303, 0x0e01d03a,
+ 0x0000e110, 0x0e41d83b, 0x00004910, 0x2a000b35, 0x0000e190, 0x28d1ba37,
+ 0x00008910, 0x00005620, 0x0000f008, 0x000540a3, 0x00009502, 0xaa400a37,
+ 0x00009090, 0x2a001aa9, 0x00006090, 0x8dc00a37, 0x00004090, 0x0000571c,
+ 0x00007008, 0x29c1e0a8, 0x00001002, 0x2980003d, 0x00001084, 0x28c003a0,
+ 0x00001980, 0x75e800a3, 0x00006901, 0xa8e80500, 0x00001900, 0x700040ec,
+ 0x00005680, 0x003d1cc4, 0x00000010, 0x28f20004, 0x00001980, 0x703d38ec,
+ 0x00005600, 0x003d3000, 0x00008000, 0x041810a3, 0x00006987, 0x700040ec,
+ 0x00005680, 0x003d1fc0, 0x00000078, 0x00c002ec, 0x0000df80, 0x1556b80b,
+ 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x11000ce0,
+ 0x00001283, 0x00005620, 0x0000f00b, 0x56eb1c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x60001005, 0x00006412, 0x60001008,
+ 0x00003413, 0xc0001008, 0x00006413, 0x40001009, 0x0000b412, 0x00005620,
+ 0x0000f008, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0xc0003800,
+ 0x00006181, 0x80005009, 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec,
+ 0x0000df80, 0x00005801, 0x00000084, 0xaa771ee3, 0x00001900, 0x8e8540a9,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8, 0x00009583, 0x91407000,
+ 0x00006199, 0x28401800, 0x00004999, 0x00005701, 0x00007031, 0x57014416,
+ 0x0000f100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x038ce800, 0x00007900, 0x00265762,
+ 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000,
+ 0x000080dc, 0x570e1bb2, 0x0000f500, 0x82600500, 0x00008026, 0x81001000,
+ 0x0000e180, 0x02c01002, 0x00004900, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03bcf000,
+ 0x00007900, 0x0016af9c, 0x00000980, 0x01909212, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x571c1bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02172849,
+ 0x00004200, 0x000056ca, 0x00007400, 0x8dc00000, 0x00006180, 0x29c1e03c,
+ 0x00004900, 0x2981e83d, 0x00009900, 0x57214472, 0x0000f100, 0xc0109311,
+ 0x00009502, 0x40000809, 0x0000e46a, 0xc0001008, 0x0000346b, 0x2a40254b,
+ 0x0000e7e9, 0x60001005, 0x0000a46a, 0x000050c1, 0x00007060, 0x28400ca9,
+ 0x00009481, 0x28400ca1, 0x00006283, 0x51650830, 0x0000a000, 0x28400000,
+ 0x0000e189, 0x286a1d43, 0x00004911, 0xffffffff, 0x00007f86, 0x50e50ca1,
+ 0x00001901, 0x9fd1aa12, 0x00007812, 0x6a400000, 0x0000278f, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03a41000, 0x0000f900, 0x003aa5f4, 0x00000980, 0x01909212,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x573e1bb2, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x02225c4b, 0x00004900, 0x0005284a, 0x00009502, 0xa9002302,
+ 0x000067b0, 0x2a00404a, 0x000087b0, 0x098000a8, 0x0000f930, 0x00000200,
+ 0x00000380, 0x0000575d, 0x0000f018, 0x0000544b, 0x00006583, 0x45152026,
+ 0x0000a107, 0x000270a5, 0x00001502, 0xffffffff, 0x00007f86, 0x000050bd,
+ 0x00007010, 0x00005765, 0x00007028, 0x28c0404e, 0x00001780, 0x0a0000a8,
+ 0x00007900, 0x00000200, 0x00000380, 0x000050bd, 0x00007400, 0x098000a3,
+ 0x00007900, 0x00000200, 0x00000380, 0x45152026, 0x00006107, 0x45152028,
+ 0x0000b107, 0x00004054, 0x00006582, 0x0cc00800, 0x00000980, 0xaa371ee3,
+ 0x00001910, 0x8e8548a8, 0x00002094, 0x00005797, 0x00007008, 0xffffffff,
+ 0x00007f97, 0x000204a9, 0x00001583, 0x91402000, 0x00006199, 0x28401800,
+ 0x00004999, 0x00005789, 0x00007031, 0x575d4416, 0x0000f100, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91403000, 0x0000e199, 0x28401800, 0x00004999, 0x0000576d,
+ 0x00007031, 0x57654416, 0x00007100, 0xaa771ee3, 0x00001900, 0x8e8540a9,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8, 0x00009583, 0x91403800,
+ 0x00006199, 0x28401800, 0x00004999, 0x0000577b, 0x0000f031, 0x576d4416,
+ 0x0000f100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03ad4800, 0x00007900, 0x0014bcaa,
+ 0x00000980, 0x019728a5, 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x577b1bb2, 0x00007500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x0217284a, 0x00004200, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03be8800, 0x0000f900, 0x002d26b2, 0x00000980, 0x019728a5,
+ 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x57891bb2, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x0217284e, 0x0000c200, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ac7800,
+ 0x0000f900, 0x00018f3e, 0x00000980, 0x01909212, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x57971bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02172854,
+ 0x00004200, 0x6841054b, 0x00001283, 0xaa371ee3, 0x00001910, 0x8e8548a8,
+ 0x00002094, 0x00005810, 0x00007008, 0xffffffff, 0x00007f97, 0x000204a9,
+ 0x00001583, 0x91402000, 0x00006199, 0x28401800, 0x00004999, 0x000057ea,
+ 0x00007031, 0x57a14416, 0x0000f100, 0x0cc00ce0, 0x0000e283, 0x0c400000,
+ 0x00000980, 0x000057a9, 0x0000f013, 0x000050b0, 0x0000f400, 0x09800100,
+ 0x00006180, 0xaa402302, 0x00004780, 0x8c800800, 0x00006181, 0x45154826,
+ 0x0000e107, 0x57aa1c08, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x0c400000, 0x0000f910, 0x001f8000, 0x00008980, 0x8c5512a2,
+ 0x00006110, 0x00001004, 0x0000e412, 0x000057a4, 0x00007008, 0x04351031,
+ 0x0000e101, 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008,
+ 0x0000b403, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x20398eec,
+ 0x00005600, 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03bae800, 0x00007900, 0x0033d078,
+ 0x00000980, 0x018518a3, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x57cc1bb2, 0x00007500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x020530a6, 0x00004900, 0x000024a3,
+ 0x00001583, 0x00001ca3, 0x00009583, 0x000024a3, 0x00001583, 0x000057e2,
+ 0x00007018, 0x000057d7, 0x0000f008, 0x000057dc, 0x00007010, 0x2982e050,
+ 0x00006000, 0x2a40405f, 0x00008780, 0x0b0000a9, 0x00007900, 0x00000200,
+ 0x00000380, 0x4515202c, 0x0000e907, 0x2982c0a6, 0x0000e000, 0x2a00405b,
+ 0x00008780, 0x0a8000a8, 0x0000f900, 0x00000200, 0x00000380, 0x4515202a,
+ 0x0000e907, 0x2982a0a6, 0x0000e000, 0x2a404057, 0x00000780, 0x0000554a,
+ 0x0000f400, 0x0a0000a9, 0x0000f900, 0x00000200, 0x00000380, 0x45152028,
+ 0x00006907, 0xaa771ee3, 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a8, 0x00009583, 0x91405000, 0x0000e199, 0x28401800,
+ 0x00004999, 0x00005813, 0x00007031, 0x57ea4416, 0x0000f100, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x0394d000, 0x0000f900, 0x003e8e2c, 0x00008980, 0x01909212,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x57f81bb2, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x02172854, 0x00004200, 0x0cc00ce0, 0x0000e283, 0x0c400000,
+ 0x00000980, 0x0000531c, 0x0000f00b, 0x57fc1c08, 0x0000f100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x0c400000, 0x0000f910, 0x001f8000,
+ 0x00008980, 0x8c5512a2, 0x00006110, 0x00001004, 0x0000e412, 0x0000531c,
+ 0x0000f008, 0x04351031, 0x0000e101, 0x60001008, 0x0000b403, 0x40001009,
+ 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900, 0x00044010,
+ 0x00000980, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0xc0003800,
+ 0x00006181, 0x80005009, 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec,
+ 0x0000df80, 0x00005801, 0x00000084, 0x000050bd, 0x00007400, 0xaa402302,
+ 0x00001780, 0x45154826, 0x00006907, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ab5000,
+ 0x00007900, 0x0028aed6, 0x00008980, 0x01c00000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x82600500, 0x00008026, 0x58201bb2, 0x0000f500, 0x02d19702,
+ 0x00000023, 0x81001000, 0x0000e180, 0x01b25e4b, 0x0000c900, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x26020430, 0x0000e283, 0x29325e4b,
+ 0x00000901, 0x0e0184a8, 0x00006890, 0x2a4014a8, 0x00001891, 0x00005834,
+ 0x00007008, 0xb84244a9, 0x00006081, 0x0e0184a8, 0x0000a080, 0x2a4014a8,
+ 0x00009881, 0xffffffff, 0x0000ffb7, 0x2a821300, 0x00007904, 0x29821300,
+ 0x00007904, 0x2ac55842, 0x0000e002, 0xb84244a9, 0x00000081, 0x298000a6,
+ 0x00006084, 0x2a8210aa, 0x00008100, 0xffffffff, 0x0000ffb7, 0x10855500,
+ 0x00007904, 0x10853500, 0x00007904, 0x2a404033, 0x00006080, 0x10800000,
+ 0x00004980, 0x0c3ef830, 0x0000f900, 0x003ffffe, 0x00008280, 0x2a40b8a9,
+ 0x0000e100, 0x2a020430, 0x00000481, 0x2840c0a9, 0x00006002, 0x57e54099,
+ 0x00002000, 0xa678c34b, 0x00008920, 0x00005986, 0x00007069, 0x08e0244b,
+ 0x00004299, 0x84a0144b, 0x000016b0, 0x86803c4b, 0x000078b2, 0xf2c00000,
+ 0x0000ac89, 0x07010499, 0x00001283, 0x2a400000, 0x00006189, 0x2a408000,
+ 0x0000c991, 0xffffffff, 0x00007f86, 0xa9254ca9, 0x00001901, 0x0e01841e,
+ 0x00006880, 0x2680141e, 0x00001181, 0x22e0854b, 0x00004495, 0x2ea00031,
+ 0x0000968a, 0x21201c1e, 0x00004389, 0x00a01c1e, 0x000000b0, 0x19c0241e,
+ 0x0000c589, 0x00802c1e, 0x00008092, 0x1580141e, 0x0000f892, 0x2ac00000,
+ 0x0000ac89, 0xaa002302, 0x00006780, 0x2a40405f, 0x00008780, 0x098000a9,
+ 0x00007900, 0x00000200, 0x00000380, 0x45154026, 0x0000e907, 0x26400899,
+ 0x00006380, 0x0f8184a8, 0x00002000, 0x0e421ca9, 0x00006000, 0x00000099,
+ 0x00003401, 0x4701054b, 0x0000e283, 0x60000099, 0x00002403, 0x28c0a031,
+ 0x00006080, 0xe0000099, 0x00002401, 0x07003ca9, 0x0000e081, 0x65a54099,
+ 0x0000e003, 0x2a403833, 0x00006080, 0x08021ca8, 0x00006084, 0x000058b8,
+ 0x00007410, 0x25018831, 0x00006100, 0xe4418099, 0x00006001, 0x2a0548a3,
+ 0x0000e000, 0x66a5441c, 0x00000301, 0xd000009f, 0x00006403, 0xe0000030,
+ 0x00003400, 0x001510a8, 0x00009502, 0x10800000, 0x0000e199, 0xaa400a12,
+ 0x0000c0b0, 0x07000000, 0x0000e1b0, 0x10004099, 0x0000e436, 0x000058ce,
+ 0x0000f018, 0x8011aaa9, 0x00006502, 0x20000099, 0x0000a403, 0x07000800,
+ 0x00006189, 0x2a24a2ec, 0x00004101, 0xe6954aa9, 0x0000e100, 0xd000009f,
+ 0x00006403, 0x2a401ca8, 0x0000e281, 0x24a0e099, 0x00002003, 0x07004033,
+ 0x0000e080, 0x15825899, 0x00006000, 0x0600c01c, 0x0000e000, 0x20a54899,
+ 0x0000a002, 0x07020430, 0x0000e283, 0x84800a12, 0x00000080, 0xccb25e4b,
+ 0x0000e101, 0xcdd9be4b, 0x0000c000, 0xa6e4a532, 0x0000092c, 0x00005885,
+ 0x0000f210, 0x27419833, 0x00001900, 0x07000c30, 0x00001283, 0xd702789f,
+ 0x0000e009, 0xe000089f, 0x0000b411, 0x8754a6a4, 0x00006000, 0x87003a33,
+ 0x00000880, 0x8740221d, 0x00006080, 0xf482589f, 0x00002001, 0x8750e21d,
+ 0x00006000, 0x0c400000, 0x00000980, 0xa8d0eca9, 0x0000e000, 0x24024048,
+ 0x00000900, 0x4700854b, 0x0000e283, 0x2442684d, 0x00008900, 0x24ba774c,
+ 0x0000090c, 0x2701a034, 0x0000e100, 0x0700a000, 0x0000c989, 0x00005107,
+ 0x00007008, 0xa88026a2, 0x00009081, 0x15406543, 0x0000c389, 0x00a06543,
+ 0x00000098, 0x27604543, 0x00004389, 0x00a04543, 0x000080b0, 0x01c05543,
+ 0x0000c588, 0x01005543, 0x0000809e, 0x13a03543, 0x00004589, 0x89c03d43,
+ 0x00000997, 0x16007d43, 0x00004389, 0x00a07d43, 0x000000b0, 0x16808d43,
+ 0x00004489, 0x64a08d43, 0x000096a9, 0x02c09543, 0x0000c789, 0x09606d43,
+ 0x0000008e, 0x2b807543, 0x0000788a, 0xbac00000, 0x0000ac89, 0x1b000000,
+ 0x000086f4, 0x1bc00000, 0x000086f8, 0x1c000000, 0x000087c4, 0x1cc00000,
+ 0x000087c8, 0x1d000000, 0x000087d4, 0x1dc00000, 0x000087d8, 0x1e000000,
+ 0x000087e4, 0x1ec00000, 0x000087e8, 0x1f000000, 0x000087f4, 0x1fc00000,
+ 0x000087f8, 0x20000000, 0x000088c4, 0x20c00000, 0x000088c8, 0x21000000,
+ 0x000088d4, 0x21c00000, 0x000088d8, 0x22000000, 0x000088e4, 0x22c00000,
+ 0x000088e8, 0x23000000, 0x000088f4, 0x23c00000, 0x000088f8, 0x00005160,
+ 0x0000f200, 0x0700a000, 0x00001981, 0x00001c4b, 0x00009583, 0x07020c30,
+ 0x00009289, 0x00005867, 0x0000f011, 0x07420c30, 0x00001283, 0x07400000,
+ 0x0000e190, 0x0fc2781d, 0x00006008, 0x47020530, 0x00001283, 0x28c00800,
+ 0x00001990, 0x28c00000, 0x00009988, 0x000058c4, 0x00007010, 0x00000c1c,
+ 0x00009583, 0x28c00800, 0x00001988, 0x00119031, 0x00006502, 0xe0000030,
+ 0x0000a400, 0xe7a5189f, 0x00006801, 0xd760e89f, 0x00006801, 0x0000041d,
+ 0x00009583, 0x000004a3, 0x00009583, 0x00005869, 0x00007030, 0x000058cd,
+ 0x00007010, 0x00005869, 0x0000f008, 0x10800800, 0x00001981, 0x0780141e,
+ 0x00006081, 0xa8c026a4, 0x0000c080, 0xb842441e, 0x00006081, 0x0cc25ca8,
+ 0x0000a000, 0x000004a8, 0x0000e583, 0x081512a2, 0x00008900, 0xaa003232,
+ 0x0000e790, 0xaa000000, 0x00000988, 0x267ff099, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0xf482589f, 0x0000e001, 0x60000099, 0x0000b403, 0x0c030030,
+ 0x0000e380, 0xa6c00000, 0x00008980, 0x07821300, 0x00007904, 0x07021300,
+ 0x0000f904, 0x070402a3, 0x00006080, 0xe6c00800, 0x00000981, 0x0700e232,
+ 0x00006000, 0x87d19232, 0x00000900, 0x0000e020, 0x0000e502, 0x0740f01e,
+ 0x00000900, 0x08000c42, 0x000014c1, 0x10800000, 0x000019c1, 0x000058fe,
+ 0x0000f048, 0xa455421f, 0x00009000, 0x07148a91, 0x00001900, 0x0000e81c,
+ 0x00009502, 0x00005a0c, 0x0000f01b, 0x0740e01d, 0x00006100, 0x0cc00833,
+ 0x00008180, 0x87040232, 0x00006080, 0x0c519031, 0x00008100, 0xa8d0e2a3,
+ 0x00006000, 0x06080018, 0x00000080, 0x070402a3, 0x00006080, 0xa6d1929b,
+ 0x00000000, 0x0700e232, 0x00006000, 0x2740089d, 0x00000080, 0x0015101c,
+ 0x00006502, 0x10800c42, 0x00000081, 0x07000000, 0x000019d1, 0x000058fe,
+ 0x0000f039, 0x00000442, 0x00009583, 0x07000800, 0x00001989, 0xffffffff,
+ 0x00007f86, 0x0721041c, 0x00001303, 0x000058e7, 0x0000f013, 0x0000001d,
+ 0x00006582, 0xe6909212, 0x00000900, 0x8c800e32, 0x00006189, 0x0e0184a8,
+ 0x00002088, 0x2a000ca8, 0x0000e089, 0x10800000, 0x00000988, 0x0000588d,
+ 0x0000f400, 0x267f7899, 0x0000f900, 0x003ffffe, 0x00008280, 0x1080e81e,
+ 0x00006110, 0x82254030, 0x0000a088, 0x2a404057, 0x00006780, 0x2a00405b,
+ 0x00008780, 0x098000a9, 0x00007900, 0x00000200, 0x00000380, 0x87002302,
+ 0x00006780, 0x2a40405f, 0x00008780, 0x0a0000a8, 0x00007900, 0x00000200,
+ 0x00000380, 0x0a8000a9, 0x00007900, 0x00000200, 0x00000380, 0x00005856,
+ 0x0000f400, 0x4510e026, 0x00006107, 0x4510e028, 0x0000b107, 0x4510e02a,
+ 0x0000e907, 0x00005856, 0x0000f400, 0xaa002302, 0x00006780, 0x09800100,
+ 0x00008980, 0x45154026, 0x0000e907, 0x2a40405b, 0x00006780, 0x0700405f,
+ 0x00000780, 0x098000a9, 0x00007900, 0x00000200, 0x00000380, 0x0a00001c,
+ 0x00007900, 0x00000200, 0x00000380, 0x00005856, 0x0000f400, 0xaa002302,
+ 0x00009780, 0x45154028, 0x0000e107, 0x45154026, 0x00003107, 0x2a404053,
+ 0x0000e780, 0x2a004057, 0x00008780, 0x098000a9, 0x00007900, 0x00000200,
+ 0x00000380, 0x0a0000a8, 0x00007900, 0x00000200, 0x00000380, 0x2a40405b,
+ 0x00006780, 0x2a00405f, 0x00000780, 0x0a8000a9, 0x00007900, 0x00000200,
+ 0x00000380, 0x0b0000a8, 0x0000f900, 0x00000200, 0x00000380, 0x87002302,
+ 0x00009780, 0x00005856, 0x0000f400, 0x4510e026, 0x00006107, 0x4510e028,
+ 0x0000b107, 0x4510e02c, 0x00006107, 0x4510e02a, 0x00003107, 0x18000000,
+ 0x000086c4, 0x18c00000, 0x000086c8, 0x19000000, 0x000086d4, 0x19c00000,
+ 0x000086d8, 0x000058a4, 0x00007400, 0x1a000000, 0x000086e4, 0x1ac00000,
+ 0x000086e8, 0x2a00404a, 0x0000e780, 0x87002302, 0x00000780, 0x098000a8,
+ 0x0000f900, 0x00000200, 0x00000380, 0x0000544b, 0x00006583, 0x4510e026,
+ 0x0000a107, 0x28c0404e, 0x00006788, 0x0e421ca9, 0x0000a000, 0x0a0000a8,
+ 0x0000f908, 0x00000200, 0x00000380, 0x098000a3, 0x0000f908, 0x00000200,
+ 0x00000380, 0x26438099, 0x00006380, 0x08021ca8, 0x0000a084, 0x4510e028,
+ 0x0000610f, 0x4510e026, 0x0000b10f, 0x07003ca9, 0x0000e081, 0x80000099,
+ 0x0000e500, 0x4701054b, 0x0000e283, 0xe0000099, 0x00002401, 0x66a5441c,
+ 0x00006301, 0x0e025ca9, 0x0000a000, 0x2a000000, 0x00006188, 0x0b8290a8,
+ 0x0000e010, 0x66625c4b, 0x0000e101, 0x0fc1841c, 0x00006000, 0xf7e5409f,
+ 0x00006001, 0xe4418099, 0x00003001, 0x0000544b, 0x00006583, 0x2a254c1c,
+ 0x00008301, 0x04254099, 0x00006001, 0x00001025, 0x0000b406, 0x2a001000,
+ 0x00006189, 0x2a000800, 0x00004991, 0x4701054b, 0x0000e283, 0x0797f800,
+ 0x00000980, 0x001890ec, 0x0000d780, 0x00006000, 0x00008080, 0x08002800,
+ 0x0000e191, 0x08002000, 0x00004989, 0x000838ec, 0x0000d780, 0x00006000,
+ 0x00008080, 0x000040ec, 0x00005780, 0x00006001, 0x00000080, 0x49400000,
+ 0x0000e181, 0x2a400ca8, 0x0000c181, 0xc0109312, 0x00006502, 0x87a10420,
+ 0x00000901, 0xc3c2589f, 0x0000e001, 0x80001825, 0x0000b403, 0x081cb000,
+ 0x00007900, 0x0002e100, 0x00000980, 0x000120ec, 0x00005788, 0x00006001,
+ 0x00000080, 0x2600c018, 0x00006100, 0xb2e5481e, 0x00006004, 0x2701a034,
+ 0x0000e100, 0xe6800a12, 0x00004080, 0x27400000, 0x0000e180, 0xa6d29252,
+ 0x0000c900, 0x07400000, 0x000081fc, 0x07000802, 0x00009980, 0x814010ec,
+ 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec,
+ 0x0000d790, 0x00006001, 0x00000080, 0x00005127, 0x0000f400, 0xa88046a2,
+ 0x0000e181, 0x84800a12, 0x00000080, 0xcdd9bca4, 0x00006000, 0xcca524a4,
+ 0x00000901, 0x7fbd40ec, 0x00002084, 0x50c0854b, 0x00001283, 0x000059bd,
+ 0x0000f40b, 0x2a4008a8, 0x00001080, 0x7fbd48ec, 0x00002884, 0x2a252337,
+ 0x00009000, 0x80254637, 0x00009503, 0x0ec1c839, 0x00006118, 0x0e81c038,
+ 0x0000c918, 0x000059bd, 0x00007031, 0x80000237, 0x00001582, 0xa8400a37,
+ 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1,
+ 0x0000e582, 0x8dd50aa1, 0x00000900, 0x2a400aa1, 0x00006190, 0x2a000b35,
+ 0x00008188, 0xa9001aa8, 0x00001888, 0x0000599b, 0x0000f008, 0xa9001aa9,
+ 0x00001880, 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980, 0x2900003d,
+ 0x00006084, 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901, 0x700040ec,
+ 0x00005680, 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980, 0x703d28ec,
+ 0x0000d600, 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987, 0x700040ec,
+ 0x00005680, 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x158d500b,
+ 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0,
+ 0x00009283, 0x00005a4e, 0x00007013, 0x0c3cf830, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x50c00000, 0x0000e181, 0x2a00854b, 0x00004481, 0x50654030,
+ 0x00006800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x000059cb, 0x0000f008, 0x000059ea, 0x0000f008, 0xc0109312,
+ 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034,
+ 0x00009908, 0x28c00000, 0x0000f900, 0x001f8000, 0x00008980, 0xc0109312,
+ 0x00006502, 0x001510a3, 0x0000a186, 0x807d17a2, 0x00006101, 0x043510a3,
+ 0x00006101, 0x203d1eec, 0x0000d600, 0x003d0000, 0x00008000, 0x2a722e45,
+ 0x00006101, 0xc4122a45, 0x0000c908, 0x40322d43, 0x0000e503, 0xc41a2344,
+ 0x00000910, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86, 0x000059f8,
+ 0x00007030, 0x000059f8, 0x0000f010, 0x28722d43, 0x00006100, 0x28003700,
+ 0x00000181, 0x000030a1, 0x0000e582, 0x91400000, 0x00000981, 0x28403000,
+ 0x000019b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380, 0xc0250ca0,
+ 0x00006001, 0x50e50ca1, 0x00008901, 0x28003603, 0x00001181, 0x280094a9,
+ 0x0000e081, 0x80e50ca0, 0x00008001, 0x82250aa0, 0x0000e886, 0x00b506ec,
+ 0x0000df02, 0x00005800, 0x00008084, 0xaa7f1fe3, 0x00001900, 0x8a0544a9,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x2a403ca8, 0x00009281, 0x000014a9,
+ 0x00001583, 0x08021ca8, 0x0000e094, 0xd0000030, 0x0000b410, 0x2a6547e4,
+ 0x00001810, 0x000059fb, 0x0000f008, 0x8f8508ec, 0x0000a084, 0xffffffff,
+ 0x00007f86, 0x000059cb, 0x0000f403, 0x2a254ca1, 0x00009401, 0x8f8540ec,
+ 0x00002884, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01,
+ 0x00008684, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980, 0x00151031,
+ 0x0000e186, 0x60001008, 0x0000b403, 0x04351031, 0x0000e101, 0x40001009,
+ 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x00001004,
+ 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0xa450ea91,
+ 0x00006100, 0x0e01841c, 0x0000a080, 0x07821300, 0x00007904, 0x0014881e,
+ 0x0000e502, 0x07000c1c, 0x00000081, 0xe6c00f9b, 0x00006081, 0x8220e030,
+ 0x00002080, 0x07021300, 0x0000f904, 0x00005a0c, 0x00007428, 0x8c800e32,
+ 0x0000e181, 0x0740f01e, 0x00000900, 0x87d19232, 0x00006120, 0x07148a91,
+ 0x00004900, 0x000058eb, 0x00007000, 0xaa002302, 0x00006780, 0x1000c099,
+ 0x0000a482, 0xaa400a12, 0x00006080, 0x80000099, 0x00002500, 0x8011aaa9,
+ 0x00006502, 0x45154026, 0x0000a107, 0x2a000000, 0x00006181, 0x20000099,
+ 0x00006403, 0x2a000800, 0x00006189, 0xe0000099, 0x0000e401, 0x00002c4b,
+ 0x00006583, 0x0e421ca9, 0x0000a000, 0x07003ca9, 0x0000e081, 0x24a54099,
+ 0x0000e003, 0x66625c4b, 0x0000e101, 0x08021ca8, 0x00006084, 0x2600c018,
+ 0x00006100, 0xe4418099, 0x00006001, 0x27400733, 0x000089ad, 0x00005a63,
+ 0x0000f408, 0xe6c00000, 0x00006181, 0xe6800a12, 0x00004080, 0x2701a034,
+ 0x0000e100, 0x66a5441c, 0x0000c301, 0xa884e2a2, 0x00006180, 0x2402684d,
+ 0x00000900, 0x247a774c, 0x00008908, 0x24fa9753, 0x00000910, 0x25ba8f50,
+ 0x00008914, 0x097f8025, 0x00007900, 0x003ffffe, 0x00008280, 0x000040ec,
+ 0x00005780, 0x00006001, 0x00000080, 0xc0109312, 0x00006502, 0x49400000,
+ 0x00000981, 0x0804b000, 0x00007900, 0x00022080, 0x00000980, 0x000120ec,
+ 0x00005788, 0x00006001, 0x00000080, 0x80000025, 0x00006c03, 0x814010ec,
+ 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec,
+ 0x0000d790, 0x00006001, 0x00000080, 0x2a404033, 0x00006080, 0xa88046a2,
+ 0x00004181, 0x00005127, 0x0000f400, 0x84800a12, 0x00006080, 0xcca524a4,
+ 0x00000901, 0x0600c0a9, 0x00006000, 0xcdd9bca4, 0x00000000, 0x5a4f1c08,
+ 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000,
+ 0x00007910, 0x001f8000, 0x00008980, 0x875512a2, 0x0000e110, 0x00001004,
+ 0x0000e412, 0x000059bd, 0x00007008, 0x0435101d, 0x00006101, 0x60001008,
+ 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600, 0x003d0000,
+ 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0xa88482a2,
+ 0x00006180, 0x2442684d, 0x00008900, 0x00005a37, 0x0000f400, 0x24ba774c,
+ 0x0000090c, 0x25018831, 0x00001900, 0x60000808, 0x0000e403, 0x60001005,
+ 0x0000b402, 0x00004a32, 0x00007400, 0x0000000f, 0x00006401, 0xc0001008,
+ 0x0000b403, 0x0c040030, 0x00009380, 0xaa3f1fe3, 0x00009900, 0x8a054ca8,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x2a003ca9, 0x00009281, 0x000014a8,
+ 0x00009583, 0x08021ca9, 0x00006094, 0xd0000030, 0x0000b410, 0x807d17a2,
+ 0x0000e111, 0x2a254fe4, 0x00004810, 0x00005b56, 0x0000f008, 0x8f8508ec,
+ 0x0000a084, 0x28c00000, 0x0000f900, 0x001f8000, 0x00008980, 0xc0109312,
+ 0x00006502, 0x001510a3, 0x0000a186, 0xc4122a45, 0x0000e108, 0xc41a2344,
+ 0x0000c910, 0x40322d43, 0x0000e503, 0x2a6544a1, 0x00000401, 0x2a322e45,
+ 0x0000e101, 0x043510a3, 0x00006101, 0x8f8548ec, 0x0000a884, 0x00004a95,
+ 0x0000f218, 0x203d1eec, 0x0000d600, 0x003d0000, 0x00008000, 0xd1600000,
+ 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01, 0x00008684, 0x2a40141e,
+ 0x00006081, 0xa84026a4, 0x00004080, 0xb84244a9, 0x00006081, 0x2a0402a1,
+ 0x00008080, 0x2a454232, 0x0000e000, 0x00000099, 0x0000a401, 0x60000808,
+ 0x0000e403, 0x60000099, 0x0000b403, 0x60001005, 0x0000e402, 0x0000000f,
+ 0x00003401, 0xf000009f, 0x00006401, 0xc0001008, 0x0000b403, 0x0c030030,
+ 0x0000e380, 0xc0000899, 0x0000a403, 0x07021300, 0x0000f904, 0x874006a2,
+ 0x000089ad, 0x0005481d, 0x0000e502, 0xe6c00800, 0x00000981, 0x24821300,
+ 0x0000f904, 0x28e1971c, 0x00008200, 0x00004bab, 0x00007048, 0x0011901c,
+ 0x00009502, 0x28d1901c, 0x0000e120, 0x0cc00833, 0x000001a0, 0x0c519031,
+ 0x00006120, 0x06080018, 0x000080a0, 0x00005b67, 0x0000f028, 0x87440232,
+ 0x0000e080, 0xa6d1929b, 0x00000000, 0xa850eaa1, 0x0000e000, 0x2740089d,
+ 0x00000080, 0x000000a3, 0x00006582, 0xe6909212, 0x00000900, 0x8c800e32,
+ 0x00006189, 0x0e0184a9, 0x0000a088, 0x2a400ca9, 0x0000e089, 0x10800000,
+ 0x00000988, 0x00004bb5, 0x0000f400, 0x267f7899, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x1085181c, 0x0000e110, 0x82254830, 0x00002088, 0x18000000,
+ 0x000086c4, 0x18c00000, 0x000086c8, 0x19000000, 0x000086d4, 0x19c00000,
+ 0x000086d8, 0x00004ea6, 0x00007400, 0x1a000000, 0x000086e4, 0x1ac00000,
+ 0x000086e8, 0x7fbd48ec, 0x0000a084, 0x50c0854b, 0x00001283, 0x00005af2,
+ 0x0000740b, 0x2a0008a9, 0x00001080, 0x7fbd40ec, 0x0000a884, 0x2a650b37,
+ 0x00001000, 0x80254e37, 0x00001503, 0x0ec1c839, 0x00006118, 0x0e81c038,
+ 0x0000c918, 0x00005af2, 0x0000f031, 0x80000237, 0x00001582, 0xa8400a37,
+ 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1,
+ 0x0000e582, 0x8dd50aa1, 0x00000900, 0x2a000aa1, 0x0000e190, 0x2a400b35,
+ 0x00000188, 0xa9001aa9, 0x00009888, 0x00005ad0, 0x0000f008, 0xa9001aa8,
+ 0x00009880, 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980, 0x2900003d,
+ 0x00006084, 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901, 0x700040ec,
+ 0x00005680, 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980, 0x703d28ec,
+ 0x0000d600, 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987, 0x700040ec,
+ 0x00005680, 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x1596f80b,
+ 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0,
+ 0x00009283, 0x00005b1f, 0x00007013, 0x0c3cf830, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x50c00000, 0x0000e181, 0x2a40854b, 0x0000c481, 0x50654830,
+ 0x0000e800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x00005b00, 0x0000f008, 0x00005b34, 0x00007008, 0xc0109312,
+ 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034,
+ 0x00009908, 0x28c00000, 0x0000f900, 0x001f8000, 0x00008980, 0xc0109312,
+ 0x00006502, 0x001510a3, 0x0000a186, 0x807d17a2, 0x00006101, 0x043510a3,
+ 0x00006101, 0x203d1eec, 0x0000d600, 0x003d0000, 0x00008000, 0x2a322e45,
+ 0x0000e101, 0xc4122a45, 0x0000c908, 0x40322d43, 0x0000e503, 0xc41a2344,
+ 0x00000910, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86, 0x00005b42,
+ 0x00007030, 0x00005b42, 0x0000f010, 0x28722d43, 0x00006100, 0x28003700,
+ 0x00000181, 0x000030a1, 0x0000e582, 0x91400000, 0x00000981, 0x28403000,
+ 0x000019b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380, 0xc0250ca0,
+ 0x00006001, 0x50e50ca1, 0x00008901, 0x28003603, 0x00001181, 0x280094a8,
+ 0x00006081, 0x80e50ca0, 0x00008001, 0x82250aa0, 0x0000e886, 0x00b506ec,
+ 0x0000df02, 0x00005800, 0x00008084, 0x5b201c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x07400000, 0x00007910, 0x001f8000,
+ 0x00008980, 0x875512a2, 0x0000e110, 0x00001004, 0x0000e412, 0x00005af2,
+ 0x0000f008, 0x0435101d, 0x00006101, 0x60001008, 0x0000b403, 0x40001009,
+ 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900, 0x00044010,
+ 0x00000980, 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000, 0xc0003800,
+ 0x00006181, 0x80005009, 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec,
+ 0x0000df80, 0x00005801, 0x00000084, 0xaa3f1fe3, 0x00009900, 0x8a054ca8,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x2a003ca9, 0x00009281, 0x000014a8,
+ 0x00009583, 0x08021ca9, 0x00006094, 0xd0000030, 0x0000b410, 0x2a254fe4,
+ 0x00001810, 0x00005b45, 0x00007008, 0x8f8508ec, 0x0000a084, 0xffffffff,
+ 0x00007f86, 0x00005b00, 0x0000f403, 0x2a6544a1, 0x00009401, 0x8f8548ec,
+ 0x0000a884, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01,
+ 0x00008684, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980, 0x00151031,
+ 0x0000e186, 0x60001008, 0x0000b403, 0x04351031, 0x0000e101, 0x40001009,
+ 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x00001004,
+ 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x0c400000,
+ 0x00007900, 0x001f8000, 0x00008980, 0x00151031, 0x0000e186, 0x60001008,
+ 0x0000b403, 0x04351031, 0x0000e101, 0x40001009, 0x00003402, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0x00001004, 0x00006402, 0xc0001008,
+ 0x0000b403, 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x20398eec,
+ 0x00005600, 0x003d0000, 0x00008000, 0x807d17a2, 0x00001901, 0x009806ec,
+ 0x0000df80, 0x00005801, 0x00000084, 0x07021300, 0x0000f904, 0x88151a20,
+ 0x00006100, 0x0e0184a8, 0x0000a080, 0x0011001c, 0x00006502, 0x2a400ca8,
+ 0x00008081, 0x24821300, 0x0000f904, 0xe6c00f9b, 0x00006081, 0x82254830,
+ 0x0000a080, 0x00005b67, 0x00007228, 0x8c800e32, 0x0000e181, 0x28c0e01c,
+ 0x00000900, 0x87440232, 0x0000e080, 0x28d1001c, 0x00000100, 0x0cc00833,
+ 0x0000e180, 0x0c519031, 0x00008100, 0x00005aa9, 0x00007400, 0x06080018,
+ 0x00006080, 0xa6d1929b, 0x00000000, 0xa850eaa1, 0x0000e000, 0x2740089d,
+ 0x00000080, 0x0001a01b, 0x00009502, 0x0681a034, 0x0000e168, 0x80000809,
+ 0x0000e46a, 0x60001005, 0x0000646a, 0xc0001008, 0x0000346b, 0x000049fe,
+ 0x0000f060, 0x28c084a3, 0x00009283, 0x2a250b37, 0x00001010, 0x00005bb5,
+ 0x0000f009, 0x80254637, 0x00009503, 0x0ec1c839, 0x00006118, 0x0e81c038,
+ 0x0000c918, 0x00005bb5, 0x00007031, 0x80000237, 0x00001582, 0xa8400a37,
+ 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1,
+ 0x0000e582, 0x8dd50aa1, 0x00000900, 0x2a400aa1, 0x00006190, 0x2a000b35,
+ 0x00008188, 0xa9001aa8, 0x00001888, 0x00005b93, 0x0000f008, 0xa9001aa9,
+ 0x00001880, 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980, 0x2900003d,
+ 0x00006084, 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901, 0x700040ec,
+ 0x00005680, 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980, 0x703d28ec,
+ 0x0000d600, 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987, 0x700040ec,
+ 0x00005680, 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x159d100b,
+ 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0,
+ 0x00009283, 0x00005c3d, 0x0000f013, 0x2a00254b, 0x00001781, 0x0c3cf830,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x28400ca8, 0x00001481, 0x28400ca1,
+ 0x00006283, 0x51650830, 0x0000a000, 0x28400000, 0x0000e189, 0x286a1d43,
+ 0x00004911, 0x00004a7f, 0x00007400, 0xffffffff, 0x00007f86, 0x50e50ca1,
+ 0x00001901, 0xaa771ee3, 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a8, 0x00009583, 0x91401800, 0x0000e199, 0x28401800,
+ 0x00004999, 0x00005c22, 0x00007031, 0x5bc84416, 0x0000f100, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91404800, 0x0000e199, 0x28401800, 0x00004999, 0x00005be1,
+ 0x0000f031, 0x5bd04416, 0x0000f100, 0xaa371ee3, 0x00009900, 0x8e8548a8,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a9, 0x00001583, 0x91405800,
+ 0x00006199, 0x28401800, 0x00004999, 0x00005bf0, 0x0000f031, 0x5bd84416,
+ 0x00007100, 0x0cc00ce0, 0x0000e283, 0x0c400000, 0x00000980, 0x00005bff,
+ 0x0000f013, 0x09800100, 0x00006180, 0xaa402302, 0x00004780, 0x000049ee,
+ 0x0000f400, 0x45154826, 0x0000e107, 0x80001030, 0x00003480, 0xe9000810,
+ 0x000003cb, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x015728a7,
+ 0x00006200, 0x08001a09, 0x00002106, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x82781400, 0x0000802c, 0x5bf01bb2,
+ 0x00007500, 0x02172853, 0x00006200, 0x81001000, 0x00000980, 0x01802805,
+ 0x00009900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x015728a7,
+ 0x00006200, 0x08001a09, 0x00002106, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x82781400, 0x0000802c, 0x5bff1bb2,
+ 0x00007500, 0x0217285f, 0x00006200, 0x81001000, 0x00000980, 0x01802805,
+ 0x00009900, 0x5c001c08, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x0c400000, 0x0000f910, 0x001f8000, 0x00008980, 0x8c5512a2,
+ 0x00006110, 0x00001004, 0x0000e412, 0x00005bdb, 0x0000f008, 0x04351031,
+ 0x0000e101, 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008,
+ 0x0000b403, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x20398eec,
+ 0x00005600, 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0xc0109311, 0x00009502, 0x40000809, 0x0000e46a, 0xc0001008,
+ 0x0000346b, 0x2a4024a3, 0x000067e9, 0x60001005, 0x0000a46a, 0x00004a00,
+ 0x00007060, 0x28400ca9, 0x00009481, 0x28400ca1, 0x00006283, 0x51650830,
+ 0x0000a000, 0x28400000, 0x0000e189, 0x286a1d43, 0x00004911, 0x00004a7f,
+ 0x00007400, 0xffffffff, 0x00007f86, 0x50e50ca1, 0x00001901, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03aef800, 0x0000f900, 0x00157fde, 0x00008980, 0x01c00000,
+ 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x5c301bb2,
+ 0x0000f500, 0x02c01002, 0x00006100, 0x02172831, 0x00004200, 0x81001000,
+ 0x0000e180, 0x01909212, 0x0000c900, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x038d6000,
+ 0x0000f900, 0x0034824e, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x01800000, 0x000080dc, 0x5c3d1bb2, 0x00007500, 0x82600500,
+ 0x00008026, 0x81001000, 0x0000e180, 0x02c01002, 0x00004900, 0x5c3e1c08,
+ 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000,
+ 0x00007910, 0x001f8000, 0x00008980, 0x875512a2, 0x0000e110, 0x00001004,
+ 0x0000e412, 0x00005bb5, 0x00007008, 0x0435101d, 0x00006101, 0x60001008,
+ 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600, 0x003d0000,
+ 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x8000964b,
+ 0x00009583, 0x00080049, 0x00009582, 0xffffffff, 0x00007f86, 0x00005c6a,
+ 0x0000f018, 0x00005c62, 0x00007018, 0x0000144b, 0x0000e583, 0x80001030,
+ 0x0000a480, 0xa9008000, 0x00001999, 0x00005c5d, 0x0000f031, 0x6841054b,
+ 0x00001283, 0x00005ee1, 0x0000f013, 0x000049ee, 0x0000f400, 0xaa402302,
+ 0x0000e780, 0x0c424849, 0x00008900, 0x8c800000, 0x0000e181, 0x45154826,
+ 0x0000e107, 0xaa371ee3, 0x00009900, 0x8e8548a8, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a9, 0x00001583, 0x91401000, 0x00006199, 0x28401800,
+ 0x00004999, 0x00005c72, 0x00007031, 0x5c6a4416, 0x0000f100, 0xaa371ee3,
+ 0x00009900, 0x8e8548a8, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a9,
+ 0x00001583, 0x91400800, 0x00006199, 0x28401800, 0x00004999, 0x00005c80,
+ 0x0000f031, 0x5c724416, 0x0000f100, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03bcf000,
+ 0x00007900, 0x0016af9c, 0x00000980, 0x01c00000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x82600500, 0x00008026, 0x5c801bb2, 0x00007500, 0x02c01002,
+ 0x00006100, 0x02172849, 0x00004200, 0x81001000, 0x0000e180, 0x01909212,
+ 0x0000c900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03a9e800, 0x0000f900, 0x002bf324,
+ 0x00008980, 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500,
+ 0x00008026, 0x5c8d1bb2, 0x0000f500, 0x02d25f02, 0x00008023, 0x81001000,
+ 0x0000e180, 0x01909212, 0x0000c900, 0x60001008, 0x0000e403, 0x40001009,
+ 0x00003402, 0x00004a7f, 0x00007400, 0x60000805, 0x0000e402, 0xc0000808,
+ 0x0000b403, 0x80005009, 0x0000ec06, 0x80041e00, 0x0000e583, 0x01000000,
+ 0x00000980, 0x01400000, 0x000000d8, 0x01c00000, 0x000000e0, 0x5c9a494e,
+ 0x0000f508, 0x02400000, 0x000000e8, 0x83000000, 0x000000ec, 0x60001008,
+ 0x0000e403, 0x40001009, 0x00003402, 0x00004a7f, 0x00007400, 0x00001004,
+ 0x00006402, 0x60001005, 0x0000b402, 0x80005009, 0x00006406, 0xc0001008,
+ 0x0000b403, 0x7fbd48ec, 0x0000a084, 0x50c0854b, 0x00001283, 0x00005cd8,
+ 0x0000f40b, 0x2a0008a9, 0x00001080, 0x7fbd40ec, 0x0000a884, 0x2a650b37,
+ 0x00001000, 0x80254e37, 0x00001503, 0x0ec1c839, 0x00006118, 0x0e81c038,
+ 0x0000c918, 0x00005cd8, 0x00007031, 0x80000237, 0x00001582, 0xa8400a37,
+ 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1,
+ 0x0000e582, 0x8dd50aa1, 0x00000900, 0x2a000aa1, 0x0000e190, 0x2a400b35,
+ 0x00000188, 0xa9001aa9, 0x00009888, 0x00005cb6, 0x0000f008, 0xa9001aa8,
+ 0x00009880, 0x2901e2a4, 0x00006002, 0x28400380, 0x00008980, 0xa8680500,
+ 0x0000e100, 0x29720004, 0x00004980, 0x28c0003d, 0x0000e084, 0x75e800a1,
+ 0x0000a101, 0x700040ec, 0x00005680, 0x003d0cc4, 0x00008010, 0x041810a5,
+ 0x00006987, 0x703d20ec, 0x00005600, 0x003d1800, 0x00008000, 0x700040ec,
+ 0x00005680, 0x003d2fc0, 0x00000078, 0x00c002ec, 0x0000df80, 0x15c6280b,
+ 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0,
+ 0x00009283, 0x00005d69, 0x0000f013, 0x0c3cf830, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x50c00000, 0x0000e181, 0x2a40854b, 0x0000c481, 0x50654830,
+ 0x0000e800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x00005ce6, 0x0000f008, 0x00005d05, 0x0000f008, 0xc0109312,
+ 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034,
+ 0x00009908, 0x28c00000, 0x0000f900, 0x001f8000, 0x00008980, 0xc0109312,
+ 0x00006502, 0x001510a3, 0x0000a186, 0x807d17a2, 0x00006101, 0x043510a3,
+ 0x00006101, 0x203d1eec, 0x0000d600, 0x003d0000, 0x00008000, 0x2a322e45,
+ 0x0000e101, 0xc4122a45, 0x0000c908, 0x40322d43, 0x0000e503, 0xc41a2344,
+ 0x00000910, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86, 0x00005d13,
+ 0x0000f030, 0x00005d13, 0x00007010, 0x28722d43, 0x00006100, 0x28003700,
+ 0x00000181, 0x000030a1, 0x0000e582, 0x91400000, 0x00000981, 0x28403000,
+ 0x000019b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380, 0xc0250ca0,
+ 0x00006001, 0x50e50ca1, 0x00008901, 0x28003603, 0x00001181, 0x280094a8,
+ 0x00006081, 0x80e50ca0, 0x00008001, 0x82250aa0, 0x0000e886, 0x00b506ec,
+ 0x0000df02, 0x00005800, 0x00008084, 0xaa3f1fe3, 0x00009900, 0x8a054ca8,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x2a003ca9, 0x00009281, 0x000014a8,
+ 0x00009583, 0x08021ca9, 0x00006094, 0xd0000030, 0x0000b410, 0x2a254fe4,
+ 0x00001810, 0x00005d16, 0x00007008, 0x8f8508ec, 0x0000a084, 0xffffffff,
+ 0x00007f86, 0x00005ce6, 0x0000f403, 0x2a6544a1, 0x00009401, 0x8f8548ec,
+ 0x0000a884, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01,
+ 0x00008684, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980, 0x00151031,
+ 0x0000e186, 0x60001008, 0x0000b403, 0x04351031, 0x0000e101, 0x40001009,
+ 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x00001004,
+ 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x2a00d834,
+ 0x00001100, 0x001980a8, 0x00009502, 0x2a404033, 0x00009890, 0x2a00b8a9,
+ 0x00001110, 0x0000618b, 0x0000f008, 0x28c0c0a8, 0x00009002, 0x29800000,
+ 0x000061e0, 0x29400000, 0x000049e0, 0x2a7ff83e, 0x0000f960, 0x00000002,
+ 0x00008280, 0x00005ee9, 0x00007068, 0x2a000002, 0x00006180, 0x0fc184a3,
+ 0x0000e000, 0x2a4548a8, 0x00006100, 0x29a25c4b, 0x00008901, 0x000278a9,
+ 0x0000e582, 0x0e025ca8, 0x00002000, 0x0f80003e, 0x0000f930, 0x003ffffc,
+ 0x00000280, 0x6841054b, 0x0000e283, 0xa9a544a3, 0x00008301, 0x2900c018,
+ 0x00006100, 0x82c258a6, 0x00006011, 0x2ac18831, 0x00006100, 0x964278a6,
+ 0x00006011, 0xa9400a12, 0x00006080, 0xa64278a6, 0x0000a011, 0x2a41a034,
+ 0x0000e100, 0xb64278a6, 0x0000e011, 0x00002c4b, 0x00006583, 0x0d000834,
+ 0x00000080, 0x2a00164b, 0x00006189, 0x2a000800, 0x00008991, 0x8fbd50ec,
+ 0x0000a084, 0x68410530, 0x0000e283, 0x69a544a8, 0x00000901, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x00001caa, 0x00009583, 0x0000d8a9,
+ 0x00001502, 0x00006185, 0x00007010, 0x00004db8, 0x00007008, 0x00004db8,
+ 0x00007010, 0xaa7f1fe3, 0x00001900, 0x8a0544a9, 0x0000a080, 0xffffffff,
+ 0x00007fa7, 0x2a403ca8, 0x00009281, 0x000014a9, 0x00001583, 0x00004e64,
+ 0x0000f013, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980, 0x00151031,
+ 0x0000e186, 0x60001008, 0x0000b403, 0x04351031, 0x0000e101, 0x40001009,
+ 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x00001004,
+ 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x5d6a1c08,
+ 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000,
+ 0x00007910, 0x001f8000, 0x00008980, 0x875512a2, 0x0000e110, 0x00001004,
+ 0x0000e412, 0x00005cd8, 0x00007008, 0x0435101d, 0x00006101, 0x60001008,
+ 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600, 0x003d0000,
+ 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x26800000,
+ 0x00009981, 0x10420700, 0x00007904, 0x26800c9a, 0x00006081, 0x91400e45,
+ 0x00000081, 0x10420700, 0x00007904, 0x28e4d49a, 0x0000e100, 0x2a000ca1,
+ 0x0000c180, 0x5fc540a3, 0x0000f84b, 0x2ac00000, 0x0000a48e, 0x80041e00,
+ 0x0000e583, 0x01000000, 0x00000980, 0x01400000, 0x000000d8, 0x01c00000,
+ 0x000000e0, 0x5d8e494e, 0x00007508, 0x02400000, 0x000000e8, 0x83000000,
+ 0x000000ec, 0x44810530, 0x00006283, 0x0e421ca9, 0x0000a000, 0x8f8090ec,
+ 0x0000a094, 0x08021ca8, 0x0000e094, 0xd0000030, 0x0000b410, 0x2a2547e4,
+ 0x0000e010, 0x60001008, 0x0000e403, 0x60001005, 0x0000e402, 0x40001009,
+ 0x00003402, 0x2a254412, 0x0000e411, 0x26438020, 0x00008980, 0x8f8540ec,
+ 0x0000a894, 0x26800000, 0x00006180, 0x08021ca8, 0x00006084, 0x07003ca9,
+ 0x0000e081, 0x00001004, 0x00006402, 0x00015007, 0x0000e482, 0x2000080a,
+ 0x00003402, 0xc0000808, 0x0000e403, 0x40001805, 0x00003403, 0xe4418099,
+ 0x00006001, 0x80005009, 0x00003406, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089ec, 0x27400000,
+ 0x000009f8, 0x27c00000, 0x00006180, 0x2600c018, 0x00004900, 0x273d0734,
+ 0x0000091c, 0xa88046a2, 0x0000e181, 0xe88037a2, 0x00000181, 0x0000502a,
+ 0x0000f400, 0x84a89012, 0x00008928, 0x66a5441c, 0x00009301, 0x010604a1,
+ 0x00001283, 0xe8804000, 0x00006189, 0xc4951aa3, 0x00004908, 0xaa000a12,
+ 0x00009088, 0x000060eb, 0x00007010, 0x801542a3, 0x00001502, 0x01010430,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x000060e2, 0x00007010, 0x000060e2,
+ 0x00007010, 0xa8802eec, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x35001405, 0x0000c410, 0x50c01505,
+ 0x00001813, 0x6a189a04, 0x0000f812, 0x03000001, 0x00008000, 0x6a1820a3,
+ 0x0000f812, 0x03000001, 0x00000080, 0xc0000800, 0x00006181, 0xa8d00310,
+ 0x00004180, 0xc1000b10, 0x00006282, 0xaa400aa3, 0x00008780, 0xaa382aa9,
+ 0x00002080, 0xaa382aa9, 0x00002010, 0x001518a1, 0x00006900, 0x00420000,
+ 0x0000f900, 0x00040000, 0x00000980, 0xffffffff, 0x00007f86, 0x28002805,
+ 0x00009900, 0x2010e6ec, 0x0000d680, 0x003d0336, 0x00003f68, 0x20bd02ec,
+ 0x0000d600, 0x003d0800, 0x00000000, 0xa8fa40ec, 0x00003038, 0xa8fa52ec,
+ 0x00003038, 0xa8fa64ec, 0x00003038, 0xa8fa76ec, 0x00003038, 0xa93a80ec,
+ 0x0000b038, 0xa93a92ec, 0x0000b038, 0xa93aa4ec, 0x0000b038, 0xa93ab6ec,
+ 0x0000b038, 0xa97ac0ec, 0x0000b038, 0xa97ad2ec, 0x0000b038, 0xa97ae4ec,
+ 0x0000b038, 0xa97af6ec, 0x0000b038, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x008800ec, 0x0000d780, 0x00005800,
+ 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
+ 0x00008480, 0x00004963, 0x00007000, 0xaa371ee3, 0x00009900, 0x8e8548a8,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a9, 0x00001583, 0x91401800,
+ 0x0000e199, 0x28401800, 0x00004999, 0x000061c4, 0x00007031, 0x5df14416,
+ 0x0000f100, 0x28c0164b, 0x00006181, 0x2a004053, 0x00000780, 0x00000ca3,
+ 0x0000e583, 0xa9002302, 0x00000780, 0x098000a8, 0x0000f900, 0x00000200,
+ 0x00000380, 0x0c424849, 0x00006100, 0x45152026, 0x00006107, 0x00005e0f,
+ 0x0000f218, 0x29428050, 0x0000e100, 0x8c80164b, 0x0000c181, 0x0cc25ca8,
+ 0x0000e800, 0x000004a8, 0x00001583, 0x28c24849, 0x00006108, 0x2a004849,
+ 0x00004790, 0x2a0018a8, 0x00001890, 0x28c248a8, 0x00001010, 0xffffffff,
+ 0x00007f86, 0x000518a5, 0x00001502, 0x00005e07, 0x00007013, 0x000049ee,
+ 0x0000f200, 0x80001030, 0x0000ec80, 0xaa771ee3, 0x00001900, 0x8e8540a9,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8, 0x00009583, 0x91406800,
+ 0x00006199, 0x28401800, 0x00004999, 0x00005e69, 0x0000f031, 0x5e0f4416,
+ 0x00007100, 0x000024a3, 0x00001583, 0x00001ca3, 0x00009583, 0x000024a3,
+ 0x00001583, 0x00005e59, 0x00007018, 0x00005e1c, 0x00007008, 0x00005e23,
+ 0x00007010, 0x0002f8a7, 0x00006502, 0x2942e050, 0x00000000, 0x2a40405f,
+ 0x000097a0, 0x0b0000a9, 0x0000f920, 0x00000200, 0x00000380, 0x00005e61,
+ 0x0000f028, 0x4515202c, 0x0000e907, 0x0002d8a7, 0x0000e502, 0x2942c0a5,
+ 0x00008000, 0x2a00405b, 0x000097a0, 0x0a8000a8, 0x00007920, 0x00000200,
+ 0x00000380, 0x00005e2b, 0x00007028, 0x4515202a, 0x0000e907, 0x0002b8a7,
+ 0x0000e502, 0x2942a0a5, 0x00008000, 0x2a404057, 0x000017a0, 0x0a0000a9,
+ 0x00007920, 0x00000200, 0x00000380, 0x00005e33, 0x00007028, 0x00005dfc,
+ 0x0000f200, 0x45152028, 0x00006907, 0xaa771ee3, 0x00001900, 0x8e8540a9,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8, 0x00009583, 0x91406000,
+ 0x0000e199, 0x28401800, 0x00004999, 0x00005e3b, 0x00007031, 0x5e334416,
+ 0x00007100, 0xaa771ee3, 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a8, 0x00009583, 0x91406800, 0x00006199, 0x28401800,
+ 0x00004999, 0x00005e4a, 0x00007031, 0x5e3b4416, 0x0000f100, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x015728a7, 0x00006200, 0x08001a09,
+ 0x00002106, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000,
+ 0x0000f900, 0x000fbf3c, 0x00000980, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x82781400, 0x0000802c, 0x5e4a1bb2, 0x0000f500, 0x0217285b,
+ 0x0000e200, 0x81001000, 0x00000980, 0x01802805, 0x00009900, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x015728a7, 0x00006200, 0x08001a09,
+ 0x00002106, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000,
+ 0x0000f900, 0x000fbf3c, 0x00000980, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x82781400, 0x0000802c, 0x5e591bb2, 0x00007500, 0x02172857,
+ 0x0000e200, 0x81001000, 0x00000980, 0x01802805, 0x00009900, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91405000, 0x0000e199, 0x28401800, 0x00004999, 0x00005e76,
+ 0x00007031, 0x5e614416, 0x0000f100, 0xaa371ee3, 0x00009900, 0x8e8548a8,
+ 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a9, 0x00001583, 0x91405800,
+ 0x00006199, 0x28401800, 0x00004999, 0x00005e84, 0x0000f031, 0x5e694416,
+ 0x00007100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03bae800, 0x00007900, 0x0033d078,
+ 0x00000980, 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500,
+ 0x00008026, 0x5e761bb2, 0x0000f500, 0x02fd2f02, 0x00008020, 0x81001000,
+ 0x0000e180, 0x018518a3, 0x0000c900, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ab5000,
+ 0x00007900, 0x0028aed6, 0x00008980, 0x01b25e4b, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x5e841bb2,
+ 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02319632,
+ 0x00004900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c,
+ 0x00000980, 0x019728a7, 0x00006200, 0x08001a09, 0x00002106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x5e921bb2, 0x0000f500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x0217285f, 0x0000c200, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91404800, 0x0000e199, 0x28401800, 0x00004999, 0x00005ea2,
+ 0x00007031, 0x5e9a4416, 0x00007100, 0x0cc00ce0, 0x0000e283, 0x0c400000,
+ 0x00000980, 0x00005eb0, 0x00007013, 0x00005e05, 0x0000f400, 0x09800100,
+ 0x00006180, 0xaa402302, 0x00004780, 0x8c800800, 0x00006181, 0x45154826,
+ 0x0000e107, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c,
+ 0x00000980, 0x019728a7, 0x00006200, 0x08001a09, 0x00002106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x5eb01bb2, 0x0000f500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x02172853, 0x0000c200, 0x5eb11c08,
+ 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x0c400000,
+ 0x0000f910, 0x001f8000, 0x00008980, 0x8c5512a2, 0x00006110, 0x00001004,
+ 0x0000e412, 0x00005e9d, 0x00007008, 0x04351031, 0x0000e101, 0x60001008,
+ 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0x20398eec, 0x00005600, 0x003d0000,
+ 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x807d17a2,
+ 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x28c0164b,
+ 0x00006181, 0x2a004053, 0x00000780, 0x00000ca3, 0x0000e583, 0xa9002302,
+ 0x00000780, 0x098000a8, 0x0000f900, 0x00000200, 0x00000380, 0x0c424849,
+ 0x00006100, 0x45152026, 0x00006107, 0x00006083, 0x0000f218, 0x29428050,
+ 0x0000e100, 0x8c80164b, 0x0000c181, 0x0cc25ca8, 0x0000e800, 0x000004a8,
+ 0x00001583, 0x28c24849, 0x00006108, 0x2a004849, 0x00004790, 0x2a0018a8,
+ 0x00001890, 0x28c248a8, 0x00001010, 0xffffffff, 0x00007f86, 0x000518a5,
+ 0x00001502, 0xaa771ee3, 0x00009910, 0x8e8540a9, 0x00002094, 0x00005e05,
+ 0x0000f008, 0xffffffff, 0x00007f97, 0x000204a8, 0x00009583, 0x91406800,
+ 0x00006199, 0x28401800, 0x00004999, 0x000060b9, 0x0000f031, 0x5ee14416,
+ 0x00007100, 0xaa771ee3, 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x000204a8, 0x00009583, 0x91407000, 0x00006199, 0x28401800,
+ 0x00004999, 0x000060c7, 0x0000f031, 0x5ee94416, 0x0000f100, 0x7fbd48ec,
+ 0x0000a084, 0x50c0854b, 0x00001283, 0x00005f20, 0x0000740b, 0x2a0008a9,
+ 0x00001080, 0x7fbd40ec, 0x0000a884, 0x2a650b37, 0x00001000, 0x80254e37,
+ 0x00001503, 0x0ec1c839, 0x00006118, 0x0e81c038, 0x0000c918, 0x00005f20,
+ 0x0000f031, 0x80000237, 0x00001582, 0xa8400a37, 0x00006190, 0xa8400b35,
+ 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1, 0x0000e582, 0x8dd50aa1,
+ 0x00000900, 0x2a000aa1, 0x0000e190, 0x2a400b35, 0x00000188, 0xa9001aa9,
+ 0x00009888, 0x00005efe, 0x00007008, 0xa9001aa8, 0x00009880, 0x2901e2a4,
+ 0x00006002, 0x28400380, 0x00008980, 0xa8680500, 0x0000e100, 0x29720004,
+ 0x00004980, 0x28c0003d, 0x0000e084, 0x75e800a1, 0x0000a101, 0x700040ec,
+ 0x00005680, 0x003d0cc4, 0x00008010, 0x041810a5, 0x00006987, 0x703d20ec,
+ 0x00005600, 0x003d1800, 0x00008000, 0x700040ec, 0x00005680, 0x003d2fc0,
+ 0x00000078, 0x00c002ec, 0x0000df80, 0x15d8680b, 0x00001684, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0, 0x00009283, 0x00006193,
+ 0x0000f013, 0x0c3cf830, 0x00007900, 0x003ffffe, 0x00008280, 0x50c00000,
+ 0x0000e181, 0x2a40854b, 0x0000c481, 0x50654830, 0x0000e800, 0x68410530,
+ 0x00001283, 0x0000d834, 0x00009502, 0xffffffff, 0x00007f86, 0x00005f2e,
+ 0x00007008, 0x00005f4d, 0x00007008, 0xc0109312, 0x00009502, 0x80000809,
+ 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034, 0x00009908, 0x28c00000,
+ 0x0000f900, 0x001f8000, 0x00008980, 0xc0109312, 0x00006502, 0x001510a3,
+ 0x0000a186, 0x807d17a2, 0x00006101, 0x043510a3, 0x00006101, 0x203d1eec,
+ 0x0000d600, 0x003d0000, 0x00008000, 0x2a322e45, 0x0000e101, 0xc4122a45,
+ 0x0000c908, 0x40322d43, 0x0000e503, 0xc41a2344, 0x00000910, 0x28010430,
+ 0x00009283, 0xffffffff, 0x00007f86, 0x00005f5b, 0x00007030, 0x00005f5b,
+ 0x0000f010, 0x28722d43, 0x00006100, 0x28003700, 0x00000181, 0x000030a1,
+ 0x0000e582, 0x91400000, 0x00000981, 0x28403000, 0x000019b8, 0x001800ec,
+ 0x0000d780, 0x00985b01, 0x00000380, 0xc0250ca0, 0x00006001, 0x50e50ca1,
+ 0x00008901, 0x28003603, 0x00001181, 0x280094a8, 0x00006081, 0x80e50ca0,
+ 0x00008001, 0x82250aa0, 0x0000e886, 0x00b506ec, 0x0000df02, 0x00005800,
+ 0x00008084, 0xaa3f1fe3, 0x00009900, 0x8a054ca8, 0x0000a080, 0xffffffff,
+ 0x00007fa7, 0x2a003ca9, 0x00009281, 0x000014a8, 0x00009583, 0x08021ca9,
+ 0x00006094, 0xd0000030, 0x0000b410, 0x2a254fe4, 0x00001810, 0x00005f5e,
+ 0x0000f008, 0x8f8508ec, 0x0000a084, 0xffffffff, 0x00007f86, 0x00005f2e,
+ 0x00007403, 0x2a6544a1, 0x00009401, 0x8f8548ec, 0x0000a884, 0xd1600000,
+ 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01, 0x00008684, 0x0c400000,
+ 0x00007900, 0x001f8000, 0x00008980, 0x00151031, 0x0000e186, 0x60001008,
+ 0x0000b403, 0x04351031, 0x0000e101, 0x40001009, 0x00003402, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0x00001004, 0x00006402, 0xc0001008,
+ 0x0000b403, 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x20398eec,
+ 0x00005600, 0x003d0000, 0x00008000, 0x807d17a2, 0x00001901, 0x009806ec,
+ 0x0000df80, 0x00005801, 0x00000084, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ac7800,
+ 0x0000f900, 0x00018f3e, 0x00000980, 0x01909212, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x5f7d1bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02172854,
+ 0x00004200, 0x6841054b, 0x00001283, 0xaa371ee3, 0x00001910, 0x8e8548a8,
+ 0x00002094, 0x00006075, 0x0000f008, 0xffffffff, 0x00007f97, 0x000204a9,
+ 0x00001583, 0x91402000, 0x00006199, 0x28401800, 0x00004999, 0x00006067,
+ 0x0000f031, 0x5f874416, 0x0000f100, 0xaa47fb37, 0x00006280, 0xaa080000,
+ 0x00000980, 0x2b000480, 0x00006180, 0x284022a9, 0x00004880, 0x29f20004,
+ 0x0000e180, 0xa9154aa8, 0x0000c100, 0xab280500, 0x00006100, 0x2a40f8a1,
+ 0x00004784, 0x2a050838, 0x00006002, 0x75e800ac, 0x00002101, 0x2b490000,
+ 0x00007900, 0x000014c4, 0x00000980, 0x2a890000, 0x0000f900, 0x00007fc0,
+ 0x00000980, 0xe9d81302, 0x00006100, 0x28c54839, 0x00004004, 0x80008aa4,
+ 0x0000e582, 0x2ac540a8, 0x00008900, 0xe847fb37, 0x00001282, 0xffffffff,
+ 0x00007f86, 0x00005fe7, 0x0000f030, 0x00005fc0, 0x00007008, 0x700900ec,
+ 0x0000d680, 0x003d64c4, 0x00000010, 0x703d40ec, 0x00005600, 0x003d1800,
+ 0x00008000, 0x700900ec, 0x0000d680, 0x003d3fc0, 0x00008078, 0x28400000,
+ 0x00000ad6, 0x28c00000, 0x00001980, 0x00d002ec, 0x00005f80, 0x15dd380a,
+ 0x00009584, 0x00000ca5, 0x00001583, 0x29009000, 0x00009991, 0x00005fb1,
+ 0x0000f009, 0x685d244b, 0x0000040e, 0x2a0014a1, 0x00006081, 0xaa7f1fe3,
+ 0x00004900, 0x72bd38a9, 0x00002084, 0x000049c5, 0x0000f400, 0x91350812,
+ 0x00000415, 0x384244a8, 0x00009081, 0x80325aa4, 0x00009502, 0x0e8518a3,
+ 0x00006120, 0x0ec508a1, 0x0000c920, 0x0e0518a3, 0x00006128, 0x0e4508a1,
+ 0x0000c928, 0x00005faa, 0x00007020, 0x2a400b35, 0x0000e180, 0x2851ba37,
+ 0x00008900, 0x000548a1, 0x00009502, 0xaa400000, 0x000019c0, 0xaa400a37,
+ 0x000010c8, 0x00005fbd, 0x00007040, 0x00005faa, 0x00007200, 0x29009000,
+ 0x00006181, 0x8dd54aa9, 0x0000c900, 0xab000000, 0x0000e180, 0xc00000ad,
+ 0x00006406, 0x2851ba37, 0x00006100, 0x2a000b35, 0x0000c180, 0x703d68ec,
+ 0x00005600, 0x003d6000, 0x00008000, 0x000540a1, 0x0000e502, 0x0e01d03a,
+ 0x00008900, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000, 0x700900ec,
+ 0x0000d680, 0x003d3fc0, 0x00008078, 0x00005fe2, 0x0000f208, 0x0e41d83b,
+ 0x0000e100, 0xaa400a37, 0x0000c090, 0x8dc00a37, 0x00006080, 0x28400000,
+ 0x00000980, 0x2a001aa9, 0x0000e080, 0x28c00000, 0x00004980, 0x2ac1e0a8,
+ 0x0000e002, 0x29400000, 0x00000981, 0x2980003d, 0x00001084, 0x0000e8ac,
+ 0x00006485, 0x008040ad, 0x00003586, 0xab280500, 0x00006100, 0x2a0530a6,
+ 0x00004900, 0x703d68ec, 0x00005600, 0x003d6000, 0x00008000, 0x000040aa,
+ 0x0000ed86, 0x00005fa5, 0x00007400, 0x703d58ec, 0x00005600, 0x003d4000,
+ 0x00000000, 0x703d50ec, 0x0000d600, 0x003d3800, 0x00000000, 0x8dc00000,
+ 0x00006180, 0x2ac1e03c, 0x00004900, 0x00005fd6, 0x0000f400, 0x2980073d,
+ 0x00000a84, 0xa9400000, 0x00008acc, 0xe847fb37, 0x0000e282, 0xc00000ad,
+ 0x0000a406, 0xab000000, 0x0000e180, 0xaa0022a4, 0x0000c890, 0xaa7ffaa8,
+ 0x00007910, 0x00000002, 0x00008280, 0x00005fc2, 0x0000f008, 0x2a009000,
+ 0x0000e180, 0x001548ad, 0x0000e106, 0x2a5520a8, 0x00006100, 0xaa8022a4,
+ 0x00000880, 0xaa0022a9, 0x0000e080, 0x2951ba37, 0x0000c900, 0x703d68ec,
+ 0x00005600, 0x003d6000, 0x00008000, 0xa87ffaa8, 0x00007900, 0x00000002,
+ 0x00008280, 0x703d58ec, 0x00005600, 0x003d1800, 0x00008000, 0x001508ad,
+ 0x00006106, 0x0c0564a3, 0x0000b084, 0x28400ca4, 0x00006081, 0x2a400b35,
+ 0x00004180, 0x000548a5, 0x0000e502, 0x28651ca1, 0x00008001, 0x703d50ec,
+ 0x0000d600, 0x003d3800, 0x00000000, 0x2981e83d, 0x0000e100, 0x042508ac,
+ 0x00006085, 0x703d68ec, 0x00005600, 0x003d6000, 0x00008000, 0xaabffaa8,
+ 0x0000f900, 0x00000002, 0x00008280, 0x7039d0ec, 0x0000d600, 0x0039d800,
+ 0x00000000, 0x703d50ec, 0x0000d600, 0x003d3800, 0x00000000, 0x00005fd6,
+ 0x00007440, 0x2af9d73c, 0x00008a0c, 0x29400800, 0x0000e1c1, 0x2841d83b,
+ 0x00004900, 0x29400800, 0x00006181, 0x2a000a37, 0x00004080, 0x2a4018a8,
+ 0x00001880, 0x00005fd6, 0x0000f400, 0x2ac5483c, 0x00009002, 0x2980003d,
+ 0x00001084, 0x815000ec, 0x0000d684, 0x00000000, 0x00000180, 0x813d08ec,
+ 0x00002684, 0x013fe004, 0x00007900, 0x003ffffe, 0x00008280, 0x0281800a,
+ 0x0000e380, 0xd0000009, 0x00002401, 0xffffffff, 0x00007f86, 0x510015a1,
+ 0x00001283, 0x28725e4b, 0x00006111, 0x91325e4b, 0x0000c910, 0xaa480000,
+ 0x00009990, 0x00006082, 0x00007008, 0xaa400000, 0x0000e180, 0xaa31baa9,
+ 0x00004100, 0x80154244, 0x0000e502, 0x91000000, 0x00000980, 0x80000637,
+ 0x0000e583, 0xaa400800, 0x00008998, 0x91000800, 0x00009988, 0xffffffff,
+ 0x00007f86, 0x11254c44, 0x00009303, 0x0e01d03a, 0x0000e110, 0x0e41d83b,
+ 0x00004910, 0x2a000b35, 0x0000e190, 0x28d1ba37, 0x00008910, 0x00005fab,
+ 0x0000f008, 0x000540a3, 0x00009502, 0xaa400a37, 0x00009090, 0x2a001aa9,
+ 0x00006090, 0x8dc00a37, 0x00004090, 0x0000607e, 0x00007008, 0x29c1e0a8,
+ 0x00001002, 0x2980003d, 0x00001084, 0x28c003a0, 0x00001980, 0x75e800a3,
+ 0x00006901, 0xa8e80500, 0x00001900, 0x700040ec, 0x00005680, 0x003d1cc4,
+ 0x00000010, 0x28f20004, 0x00001980, 0x703d38ec, 0x00005600, 0x003d3000,
+ 0x00008000, 0x041810a3, 0x00006987, 0x700040ec, 0x00005680, 0x003d1fc0,
+ 0x00000078, 0x00c002ec, 0x0000df80, 0x1602280b, 0x00001684, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x11000ce0, 0x00001283, 0x00005fab,
+ 0x0000f00b, 0x60591c08, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x60001005, 0x00006412, 0x60001008, 0x00003413, 0xc0001008,
+ 0x00006413, 0x40001009, 0x0000b412, 0x00005fab, 0x0000f008, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x0394d000, 0x0000f900, 0x003e8e2c,
+ 0x00008980, 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x60751bb2, 0x00007500, 0x82781400,
+ 0x0000802c, 0x81001000, 0x0000e180, 0x02172854, 0x00004200, 0x28ea5d4b,
+ 0x00006101, 0xaa402302, 0x00004780, 0x0c3df830, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x45154826, 0x00006907, 0xdec0154b, 0x0000f896, 0x02c00001,
+ 0x00000000, 0x0500254b, 0x00007897, 0x02c00000, 0x0000a580, 0x00006038,
+ 0x0000f400, 0x8dc00000, 0x00006180, 0x29c1e03c, 0x00004900, 0x2981e83d,
+ 0x00009900, 0x60834472, 0x0000f100, 0x000024a3, 0x00001583, 0x00001ca3,
+ 0x00009583, 0x000024a3, 0x00001583, 0x00006099, 0x0000f018, 0x0000608e,
+ 0x00007008, 0x00006093, 0x00007010, 0x2942e050, 0x00006000, 0x2a40405f,
+ 0x00008780, 0x0b0000a9, 0x00007900, 0x00000200, 0x00000380, 0x4515202c,
+ 0x0000e907, 0x2942c0a5, 0x0000e000, 0x2a00405b, 0x00008780, 0x0a8000a8,
+ 0x0000f900, 0x00000200, 0x00000380, 0x4515202a, 0x0000e907, 0x2942a0a5,
+ 0x0000e000, 0x2a404057, 0x00000780, 0x00005ed0, 0x00007400, 0x0a0000a9,
+ 0x0000f900, 0x00000200, 0x00000380, 0x45152028, 0x00006907, 0xaa771ee3,
+ 0x00001900, 0x8e8540a9, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a8,
+ 0x00009583, 0x91405000, 0x0000e199, 0x28401800, 0x00004999, 0x000060d4,
+ 0x00007031, 0x60a14416, 0x00007100, 0x0cc00ce0, 0x0000e283, 0x0c400000,
+ 0x00000980, 0x00005e9d, 0x0000700b, 0x60a51c08, 0x00007100, 0xffffffff,
+ 0x00007f86, 0x000004a4, 0x00001583, 0x0c400000, 0x0000f910, 0x001f8000,
+ 0x00008980, 0x8c5512a2, 0x00006110, 0x00001004, 0x0000e412, 0x00005e9d,
+ 0x00007008, 0x04351031, 0x0000e101, 0x60001008, 0x0000b403, 0x40001009,
+ 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900, 0x00044010,
+ 0x00000980, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0xc0003800,
+ 0x00006181, 0x80005009, 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec,
+ 0x0000df80, 0x00005801, 0x00000084, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03bae800,
+ 0x00007900, 0x0033d078, 0x00000980, 0x018518a3, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x60c71bb2,
+ 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x020528a5,
+ 0x00004900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x038ce800, 0x00007900, 0x00265762,
+ 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000,
+ 0x000080dc, 0x60d41bb2, 0x0000f500, 0x82600500, 0x00008026, 0x81001000,
+ 0x0000e180, 0x02c01002, 0x00004900, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ab5000,
+ 0x00007900, 0x0028aed6, 0x00008980, 0x01b25e4b, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x60e21bb2,
+ 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02319632,
+ 0x00004900, 0x00523000, 0x00007900, 0x00044210, 0x00008980, 0xc0000407,
+ 0x000080d0, 0x01400000, 0x000000d8, 0x01c00000, 0x000000e0, 0x02418000,
+ 0x000000e8, 0x83000000, 0x000000ec, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x400055a1, 0x0000e583, 0xc0003800, 0x00008981, 0x00523000,
+ 0x00007900, 0x00044000, 0x00008980, 0x0281a000, 0x00007900, 0x000011c0,
+ 0x00008980, 0x01000000, 0x000080d4, 0x01800000, 0x000080dc, 0x02000000,
+ 0x000080e4, 0x02c00000, 0x000000f2, 0x84800a12, 0x00006080, 0xc4800b12,
+ 0x00000080, 0x00006102, 0x0000f408, 0x06080018, 0x00006080, 0x05880016,
+ 0x00008088, 0x05480015, 0x00001088, 0xffffffff, 0x00007f86, 0x0000b015,
+ 0x00001502, 0x60000808, 0x0000640b, 0x60001005, 0x0000340a, 0x0c040030,
+ 0x0000e388, 0xc0001008, 0x0000a40b, 0x05880016, 0x00001090, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009800ec,
+ 0x00005780, 0x00005801, 0x00008080, 0x0c050aa9, 0x00006104, 0x0fc1841d,
+ 0x0000b000, 0x27c00000, 0x00006180, 0x09050ca8, 0x0000e000, 0x08c00000,
+ 0x0000e180, 0x0415489f, 0x00006107, 0x26420000, 0x00007900, 0x00200000,
+ 0x00000980, 0x26800000, 0x00006180, 0x00001823, 0x00006106, 0x09800000,
+ 0x0000e180, 0x2a65441d, 0x0000c301, 0xaa002302, 0x00006780, 0xc0001823,
+ 0x00002006, 0x0804b000, 0x00007900, 0x00022080, 0x00000980, 0x08400000,
+ 0x0000f900, 0x00018008, 0x00000980, 0x09400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x04254899, 0x0000e001, 0x45154026, 0x00003107, 0x24000000,
+ 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000,
+ 0x000089dc, 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8, 0x26000718,
+ 0x00008290, 0x09c00004, 0x0000e180, 0x0a000000, 0x00004980, 0x0a400000,
+ 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000,
+ 0x0000e180, 0x88901202, 0x00004900, 0xa6a81112, 0x00008208, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008040ec,
+ 0x0000d780, 0x00c06101, 0x00008288, 0x400055a1, 0x0000e583, 0x0c050a1d,
+ 0x0000a104, 0x8740821d, 0x00001088, 0x0000613d, 0x0000f009, 0x400055a1,
+ 0x00001583, 0x00006180, 0x0000f01b, 0x400025a1, 0x00009583, 0x8741021d,
+ 0x00001088, 0x0000613d, 0x0000f009, 0x40002da1, 0x00001583, 0x0000613d,
+ 0x00007013, 0x8740e21d, 0x00009080, 0x2a407a1d, 0x00006080, 0xaa080000,
+ 0x00000980, 0x074020a9, 0x00006784, 0x87800000, 0x00000980, 0xcca0ec1d,
+ 0x0000e101, 0xaa71baa8, 0x00004100, 0x8010eaa9, 0x00006502, 0x87400000,
+ 0x00000980, 0x80000637, 0x0000e583, 0x87800800, 0x000089a8, 0x87400800,
+ 0x00009988, 0xffffffff, 0x00007f86, 0x0760f41d, 0x00009303, 0x0e01d03a,
+ 0x0000e110, 0x0e41d83b, 0x00004910, 0x2a000b35, 0x0000e190, 0x0751ba37,
+ 0x00008910, 0x00006176, 0x00007008, 0x0005401d, 0x00009502, 0xaa400a37,
+ 0x00009090, 0x07401aa9, 0x0000e090, 0x8dc00a37, 0x00004090, 0x000061c0,
+ 0x0000f008, 0x1801e01d, 0x00001002, 0x07c0003d, 0x00009084, 0x074003a0,
+ 0x00001980, 0x75e8001d, 0x00006901, 0x87680500, 0x00001900, 0x700040ec,
+ 0x00005680, 0x0038ecc4, 0x00000010, 0x07720004, 0x00001980, 0x703b00ec,
+ 0x0000d600, 0x0038f800, 0x00000000, 0x0418101d, 0x00006987, 0x700040ec,
+ 0x00005680, 0x0038efc0, 0x00000078, 0x00c002ec, 0x0000df80, 0x160b180b,
+ 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x07400ce0,
+ 0x00001283, 0x000061b1, 0x0000f013, 0xcdd9bf32, 0x00009000, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0xc0006800, 0x00006181, 0x02000001,
+ 0x0000e586, 0xc0c06000, 0x00006180, 0x00100001, 0x00006503, 0x80401000,
+ 0x00001981, 0x008806ec, 0x00005f80, 0x00985b00, 0x00000684, 0x40005da1,
+ 0x00009583, 0x8740621d, 0x00009088, 0x0000613d, 0x0000f009, 0x4f00bda1,
+ 0x0000f88a, 0xeb000000, 0x0000b089, 0xaa3f1fe3, 0x00009900, 0x8a054ca8,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x2a003ca9, 0x00009281, 0x84c014a8,
+ 0x0000f893, 0xc2400000, 0x0000ae8a, 0xa0000809, 0x0000e402, 0xc0001008,
+ 0x0000b403, 0x60001005, 0x0000e402, 0x0000000f, 0x00003401, 0x0c010030,
+ 0x00006380, 0x0680d81b, 0x00008900, 0x9fc0dea2, 0x0000f8b2, 0xaa400000,
+ 0x0000a583, 0x61941c08, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x07400000, 0x00007910, 0x001f8000, 0x00008980, 0x875512a2,
+ 0x0000e110, 0x00001004, 0x0000e412, 0x00005f20, 0x0000f008, 0x0435101d,
+ 0x00006101, 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008,
+ 0x0000b403, 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec,
+ 0x0000d600, 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x807d17a2, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x00523000, 0x00007900, 0x00044210, 0x00008980, 0xc0000407,
+ 0x000080d0, 0x01400000, 0x000000d8, 0x01c00000, 0x000000e0, 0x02418000,
+ 0x000000e8, 0x83000000, 0x000000ec, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x61b21c08, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4,
+ 0x00001583, 0x60001005, 0x00006412, 0x60001008, 0x00003413, 0xc0001008,
+ 0x00006413, 0x40001009, 0x0000b412, 0x00006176, 0x00007008, 0x00503000,
+ 0x0000f900, 0x00044010, 0x00000980, 0xc0003800, 0x00006181, 0x80005009,
+ 0x00006406, 0x80401000, 0x00001981, 0x009806ec, 0x0000df80, 0x00005801,
+ 0x00000084, 0x00006156, 0x0000f400, 0x8dc00000, 0x00006180, 0x1801e03c,
+ 0x0000c900, 0x07c1e83d, 0x00001900, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03aef800,
+ 0x0000f900, 0x00157fde, 0x00008980, 0x01909212, 0x0000e100, 0x08001a09,
+ 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x61d21bb2,
+ 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02172831,
+ 0x00004200, 0x29c04444, 0x00001283, 0xd11a24a6, 0x00006010, 0x89800a26,
+ 0x00008090, 0x000061dd, 0x00007009, 0x00001457, 0x00009583, 0x29c02c57,
+ 0x00006199, 0x14000850, 0x000000b0, 0x000061e4, 0x0000f031, 0x000061e4,
+ 0x0000f400, 0x000014a7, 0x00009583, 0x0bc0082f, 0x000090b0, 0x8002a64c,
+ 0x00006583, 0x29c00e30, 0x00000081, 0x93000000, 0x00006189, 0x93000e4c,
+ 0x00004091, 0x00006c57, 0x00006583, 0xcc253ca7, 0x00000900, 0x0c800832,
+ 0x00001088, 0xc0000f52, 0x00009583, 0x29400ca5, 0x00006099, 0x7842a000,
+ 0x00000999, 0x29e52ca4, 0x00001118, 0x00000001, 0x0000f0b0, 0xffffffff,
+ 0x00007fa7, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29b2be57,
+ 0x00006101, 0x2b800e57, 0x00004180, 0x000570a7, 0x00001502, 0x00006218,
+ 0x0000704b, 0x69008557, 0x00009283, 0x2a000000, 0x00009991, 0x000061ff,
+ 0x00007011, 0x40601e57, 0x00004488, 0x1ec018ae, 0x0000188c, 0x42a018ae,
+ 0x0000c1b8, 0x00c008ae, 0x00000088, 0x036010ae, 0x0000c789, 0x820020ae,
+ 0x0000018a, 0x860028ae, 0x0000f892, 0x4b000000, 0x00003180, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x2a000ca8, 0x00006081, 0x29400ca5,
+ 0x00000081, 0x2ba544a8, 0x00006100, 0x29c00ca6, 0x00004180, 0x7ec538ae,
+ 0x0000f84a, 0xc3000000, 0x00003180, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x00006218, 0x0000f400, 0x10420700,
+ 0x00007904, 0x294014a5, 0x00009081, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x29400ca5, 0x00009081, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x29400ca5, 0x00009081, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x29400ca5, 0x00009081, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x29400ca5, 0x00009081, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x29400ca5, 0x00009081, 0x00000001, 0x00007280, 0xd4800f52,
+ 0x00001181, 0xa1aa754e, 0x0000e100, 0x29b18e31, 0x00004901, 0x89802d00,
+ 0x0000e080, 0x11f00004, 0x0000c980, 0x80198a86, 0x0000e502, 0xa1d722e4,
+ 0x00008900, 0x12400000, 0x00007900, 0x000010c4, 0x00008980, 0x12000000,
+ 0x0000f900, 0x00007fc0, 0x00000980, 0x91a80500, 0x0000e100, 0x92d81226,
+ 0x00004080, 0xd1981226, 0x0000e080, 0xd1d81302, 0x00000900, 0x09800800,
+ 0x0000e181, 0x29800e31, 0x0000c189, 0x21880000, 0x00001980, 0x29e5354e,
+ 0x00009101, 0x29e53086, 0x00006100, 0x294044a7, 0x00008c81, 0x0007f0a7,
+ 0x00009582, 0x92002ca5, 0x0000e080, 0x29e532ec, 0x0000c151, 0xa1bffa48,
+ 0x0000f900, 0x00000002, 0x00008280, 0x29c7f800, 0x0000e1b9, 0x00143049,
+ 0x00006106, 0x21802ca6, 0x00009880, 0x2b41d086, 0x00001002, 0x2180003b,
+ 0x00006084, 0x2b8568ad, 0x00008900, 0x00253ca5, 0x0000e503, 0x2b443086,
+ 0x00008900, 0x923ffa48, 0x00007900, 0x00000002, 0x00008280, 0x92400000,
+ 0x00006198, 0x91800000, 0x00004998, 0x0000625f, 0x00007030, 0xa1802ca7,
+ 0x00009880, 0x923ffa86, 0x0000f900, 0x00000002, 0x00008280, 0x00124049,
+ 0x00006906, 0x703a48ec, 0x00005600, 0x003a3000, 0x00000000, 0x923ffa86,
+ 0x0000f900, 0x00000002, 0x00008280, 0x703d70ec, 0x00005600, 0x003d6800,
+ 0x00000000, 0x703a40ec, 0x0000d600, 0x003a3800, 0x00008000, 0x920014a7,
+ 0x0000e080, 0x00800049, 0x0000e586, 0x29e53ca5, 0x0000e100, 0xd19a3248,
+ 0x00008000, 0x91a80500, 0x0000e100, 0xa1802aa7, 0x0000c880, 0x923ffa86,
+ 0x0000f900, 0x00000002, 0x00008280, 0x00124049, 0x00006906, 0x703a48ec,
+ 0x00005600, 0x003a3000, 0x00000000, 0x923ffa86, 0x0000f900, 0x00000002,
+ 0x00008280, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000, 0x00006265,
+ 0x0000f400, 0x703a40ec, 0x0000d600, 0x003a3800, 0x00008000, 0xd1925a4b,
+ 0x00001900, 0x703a48ec, 0x00005600, 0x003a3000, 0x00000000, 0x703d70ec,
+ 0x00005600, 0x003c3000, 0x00000000, 0x703a40ec, 0x0000d600, 0x003a3800,
+ 0x00008000, 0x00c002ec, 0x0000df80, 0x1613380b, 0x00009684, 0x00000c26,
+ 0x00009583, 0x09800000, 0x0000e191, 0x29e534a6, 0x00004911, 0x00006270,
+ 0x0000f009, 0x000062a1, 0x00007400, 0xa1802d00, 0x0000e080, 0x29a53ca7,
+ 0x00004901, 0x2b943286, 0x00006100, 0x12253c26, 0x0000c101, 0x29c00ca6,
+ 0x00001081, 0x9aea74a7, 0x00007812, 0xdb000000, 0x00003183, 0x12653448,
+ 0x00009001, 0x29c01449, 0x00009880, 0xa9d53aae, 0x00009000, 0x303d3ea7,
+ 0x00002000, 0xffffffff, 0x00007fa7, 0x00053829, 0x00001502, 0x29800ca6,
+ 0x000091e9, 0x0000629b, 0x00007061, 0x00000426, 0x0000e583, 0x94a534a6,
+ 0x00008901, 0x113ef844, 0x0000f900, 0x003ffffe, 0x00008280, 0x21800c26,
+ 0x00006191, 0x12c00000, 0x00008980, 0x00006289, 0x00007008, 0x89802d00,
+ 0x0000e080, 0x29c01486, 0x0000c880, 0xa1953a26, 0x00009000, 0x303aa486,
+ 0x0000b038, 0x303ab686, 0x0000b038, 0x307ac086, 0x0000b038, 0x307ad286,
+ 0x0000b038, 0x30c2a044, 0x0000e000, 0x0fc2a752, 0x00003004, 0x00052057,
+ 0x0000e502, 0x0f02a345, 0x0000a104, 0x898ab055, 0x00000302, 0x533ac256,
+ 0x00000418, 0x000062a4, 0x00007460, 0x11fad759, 0x00000420, 0xd132b656,
+ 0x0000e100, 0x1242d85b, 0x00004900, 0xc0128354, 0x00001502, 0x14000050,
+ 0x0000f918, 0x00000040, 0x00008180, 0x00219455, 0x00001503, 0x000062ab,
+ 0x00007400, 0x40217d55, 0x0000e503, 0x0c880032, 0x00008198, 0x0bc8002f,
+ 0x00001198, 0x12400ca6, 0x00001081, 0x002a7449, 0x00009503, 0x09800c26,
+ 0x00001089, 0x000062a0, 0x00007011, 0x0000627b, 0x00007000, 0x29800ca6,
+ 0x00009081, 0x09a53448, 0x00009001, 0x9ce52c26, 0x0000782a, 0xdb000000,
+ 0x00003283, 0xc0128354, 0x00001502, 0x14000050, 0x0000f928, 0x00000040,
+ 0x00000080, 0x00219455, 0x00001503, 0x40217d55, 0x0000e503, 0x0c880032,
+ 0x000000a8, 0x0bc8002f, 0x000090a8, 0x29004444, 0x0000e283, 0x941aa354,
+ 0x00008900, 0x0c82a855, 0x0000823d, 0xa9000800, 0x0000e191, 0x2182b857,
+ 0x00004900, 0x000062b3, 0x00007008, 0x62b4743d, 0x00007004, 0x000062b4,
+ 0x00007000, 0x62b46d13, 0x0000f004, 0x29c04444, 0x0000e283, 0x2a004444,
+ 0x00000281, 0x00003c57, 0x00009583, 0xffffffff, 0x00007f86, 0x000062ef,
+ 0x00007008, 0x000062ef, 0x0000f030, 0x7842a000, 0x0000e181, 0x29400ca5,
+ 0x0000c081, 0x2b652ca4, 0x0000e100, 0xd11a24a6, 0x00008000, 0x89800a26,
+ 0x00009080, 0xffffffff, 0x00007fa7, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x29b2be57, 0x00006101, 0x2b800e57, 0x00004180, 0x000570ad,
+ 0x00001502, 0x00006483, 0x0000f04b, 0x69008557, 0x00009283, 0x29c00000,
+ 0x00009991, 0x000062d5, 0x0000f011, 0x5b201e57, 0x0000c488, 0xcac018ae,
+ 0x0000988d, 0x5d6018ae, 0x000041b8, 0x00c008ae, 0x00000088, 0xfce010ae,
+ 0x00004791, 0x81a020ae, 0x0000018a, 0xad0028ae, 0x0000f892, 0xfb000000,
+ 0x0000b186, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29c00ca7,
+ 0x00006081, 0x29400ca5, 0x00000081, 0x2ba53ca7, 0x00006100, 0x2b400ca6,
+ 0x00004180, 0xb44568ae, 0x0000784a, 0xa3000000, 0x00003185, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x000062b4,
+ 0x0000f400, 0x10420700, 0x00007904, 0x294014a5, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700,
+ 0x00007904, 0x000062b4, 0x0000f400, 0x10420700, 0x00007904, 0x29400ca5,
+ 0x00009081, 0x69004557, 0x00006283, 0xa9e2bc57, 0x00000900, 0x92bd70a7,
+ 0x00002014, 0x92bd70a7, 0x0000a08c, 0xc0000f52, 0x00009583, 0x29c02c57,
+ 0x00009199, 0x0000631d, 0x00007031, 0x000014a7, 0x00009583, 0x00006c57,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x000062fb, 0x0000f030, 0x000062fd,
+ 0x00007010, 0x00006317, 0x00007200, 0x2b7576ae, 0x00001900, 0x0019b055,
+ 0x00001502, 0x39a2aaec, 0x0000e121, 0x29c01855, 0x000000a8, 0x29ffe0a7,
+ 0x00007928, 0x003ffffe, 0x00008280, 0x00006317, 0x00007228, 0x39801ce6,
+ 0x0000e2a1, 0x2b453eae, 0x00008028, 0xa9c00b36, 0x00001180, 0xa9d2aaa7,
+ 0x00001000, 0xffffffff, 0x00007f86, 0x2c126aa7, 0x00009600, 0x29c588b0,
+ 0x00009000, 0x29c53b4d, 0x00009000, 0x29c080a7, 0x00001780, 0xffffffff,
+ 0x00007f86, 0x2c153eae, 0x00009600, 0xab4588b0, 0x00001000, 0x2c153b36,
+ 0x00001600, 0xa9c588b0, 0x00001000, 0x29d53aa7, 0x00006100, 0x2b52aaad,
+ 0x0000c000, 0x0002a8a7, 0x00006502, 0x2b456ce6, 0x00000000, 0x2b456eae,
+ 0x00001028, 0xffffffff, 0x00007f86, 0x29c430ad, 0x00001000, 0x00053829,
+ 0x00001502, 0x0000631f, 0x0000f06b, 0x631b61d2, 0x0000f100, 0x000062b4,
+ 0x0000f200, 0x218430ad, 0x00001000, 0x00006320, 0x0000f200, 0x3c000000,
+ 0x00009981, 0x3c000800, 0x00001981, 0x2b443029, 0x00006100, 0x29c02c57,
+ 0x00000181, 0x000014a7, 0x00009583, 0x00006326, 0x00007033, 0x00006c57,
+ 0x00009583, 0x0000633e, 0x0000f013, 0x000004f0, 0x00006583, 0x39843029,
+ 0x00000100, 0x39c00000, 0x00009990, 0x00006368, 0x00007011, 0x003570ad,
+ 0x00001502, 0x21843029, 0x0000e108, 0x39800000, 0x00008988, 0x39c00800,
+ 0x00006188, 0x39c00000, 0x0000c990, 0x21800000, 0x00001990, 0xffffffff,
+ 0x00007f86, 0x00000086, 0x0000e582, 0x29c00000, 0x00000980, 0x3b800000,
+ 0x00006180, 0x29c00800, 0x0000c988, 0x000000e6, 0x00001582, 0x3b800800,
+ 0x00001990, 0xffffffff, 0x00007f86, 0x29e53cee, 0x00009303, 0x218436ae,
+ 0x00009010, 0x0000633b, 0x00007009, 0x000430ad, 0x00001502, 0x00006368,
+ 0x0000f06b, 0x636561d2, 0x0000f100, 0xa199b6ae, 0x0000e000, 0x39843029,
+ 0x00000100, 0x001430ad, 0x00009502, 0x39c568ad, 0x00001b24, 0x29d43286,
+ 0x00009b24, 0x00006491, 0x0000f028, 0x39c00000, 0x00006180, 0x29c538e7,
+ 0x00004100, 0x3c453a86, 0x00001800, 0xd48000a7, 0x0000f88a, 0x03000001,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x000788e6, 0x00001502, 0x3b853fe4,
+ 0x0000e020, 0x398788e6, 0x00004120, 0x29c008a7, 0x0000e180, 0x3c4008f1,
+ 0x00008780, 0x39c770e7, 0x00001020, 0xd24000a7, 0x0000f892, 0x03000001,
+ 0x00000080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x001430e6, 0x00009502, 0x39c008e7, 0x0000e0a0, 0x399430e6,
+ 0x00000120, 0xda0004f0, 0x0000f892, 0x03000001, 0x00000080, 0x2c3572e7,
+ 0x00001600, 0x218588b0, 0x00009000, 0x2c3573e7, 0x00009600, 0x3b8588b0,
+ 0x00001000, 0x3b8080ee, 0x00001880, 0x21801855, 0x00006080, 0x3b8430ee,
+ 0x00008000, 0x00006331, 0x0000f400, 0x29ffe086, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x218538ee, 0x00009000, 0xb9143a87, 0x00001900, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x00007083, 0x2c19b2e7, 0x00009600, 0x1f0588b0,
+ 0x00009000, 0x2c19b3e7, 0x00001600, 0x29c588b0, 0x00009000, 0x949732e6,
+ 0x0000e100, 0x29c080a7, 0x00004880, 0x29c3e0a7, 0x00001000, 0x1f0538a7,
+ 0x00001900, 0xde8000e6, 0x0000f892, 0x03000001, 0x00008000, 0x804004a8,
+ 0x00004188, 0x00c02c57, 0x00008098, 0x71e02c57, 0x00004292, 0x08c20557,
+ 0x0000188f, 0xf0c08557, 0x0000788e, 0x43000000, 0x0000318d, 0x0f806457,
+ 0x0000f893, 0x7b000000, 0x0000b281, 0x2c0036e3, 0x00001680, 0x9f4588b0,
+ 0x00009000, 0xa180127d, 0x00001080, 0x9343ec86, 0x00002005, 0x93b94a86,
+ 0x00005004, 0x00201000, 0x00000000, 0x938f3286, 0x0000a806, 0x00006372,
+ 0x0000f401, 0x1f400c7d, 0x00009081, 0x935bec86, 0x0000a806, 0x80001e57,
+ 0x00001583, 0x01085000, 0x000099b8, 0xc1000a26, 0x000090b8, 0x63897ac7,
+ 0x0000f338, 0x01802004, 0x00001938, 0x00000055, 0x00009582, 0x01085000,
+ 0x00009988, 0xc1000a26, 0x00009088, 0x0000638f, 0x0000f010, 0x638f7ac7,
+ 0x00007300, 0x01802004, 0x00009900, 0x00000055, 0x00006582, 0xb000081f,
+ 0x0000a400, 0x53201034, 0x000004f3, 0x9380000f, 0x000083d7, 0x00006397,
+ 0x00007210, 0x51000800, 0x00006189, 0x12c00000, 0x00004980, 0x000063a3,
+ 0x0000f000, 0x21801657, 0x00006181, 0x51001657, 0x00000181, 0x00000c86,
+ 0x00006583, 0x12c2e05c, 0x00000900, 0x000063a3, 0x0000f033, 0x74201c86,
+ 0x0000c488, 0x40c02486, 0x0000988f, 0xe8c01486, 0x00007892, 0x13000000,
+ 0x0000318d, 0x12c2e068, 0x00001000, 0x12c25864, 0x00001000, 0x12c25860,
+ 0x00009000, 0x9f402302, 0x0000e780, 0x03800100, 0x00008980, 0x4513e80e,
+ 0x00006907, 0x13a08557, 0x0000c594, 0x8b0000a7, 0x00008996, 0x80005657,
+ 0x00001583, 0x01085000, 0x00001998, 0xc1000a26, 0x00001098, 0x63ad7ac7,
+ 0x00007318, 0x01802004, 0x00009918, 0x00040055, 0x00001582, 0x01085000,
+ 0x00001998, 0xc1000a26, 0x00001098, 0x63b27ac7, 0x0000f318, 0x01802004,
+ 0x00009918, 0x00001457, 0x00006583, 0xa1801a55, 0x00000080, 0x92ffe286,
+ 0x0000f900, 0x0000003e, 0x00008280, 0x9f402302, 0x0000e780, 0x21a2aaec,
+ 0x00000101, 0x4513e80e, 0x0000e107, 0xb000081f, 0x00003400, 0xd3009c02,
+ 0x000084fa, 0x51000000, 0x00006181, 0x16000000, 0x0000c9b0, 0x9300c24b,
+ 0x000060b0, 0x9300a24b, 0x00000098, 0x12c2a855, 0x0000e100, 0x8d401c86,
+ 0x0000c281, 0x10408557, 0x0000c595, 0x094000a7, 0x00000891, 0x00001457,
+ 0x00006583, 0xd3001000, 0x00000981, 0x16000000, 0x0000e1b0, 0x1380c000,
+ 0x0000c9b1, 0x1380a000, 0x0000e199, 0x12c00000, 0x00004980, 0x00000055,
+ 0x00006582, 0x9f402302, 0x00008780, 0x03800100, 0x0000e188, 0x51000800,
+ 0x00004989, 0x4513e80e, 0x0000e90f, 0x000063d1, 0x00007010, 0xfe59b04b,
+ 0x0000f81a, 0x9b000000, 0x0000b18f, 0x0380405f, 0x00006780, 0x13001657,
+ 0x00000181, 0x0380000e, 0x0000f900, 0x00000200, 0x00000380, 0x51001657,
+ 0x00006181, 0x4513e80e, 0x00002107, 0x12c2e05c, 0x00009900, 0xf7000c4c,
+ 0x0000789a, 0x03000001, 0x00008000, 0xfe59b05c, 0x0000f81a, 0x9b000000,
+ 0x0000b18f, 0x7ce01c4c, 0x00004488, 0xc4c0244c, 0x0000988f, 0xfb00144c,
+ 0x0000f88a, 0x03000001, 0x00008000, 0xfe59b05c, 0x0000f81a, 0x9b000000,
+ 0x0000b18f, 0x12c2e068, 0x0000e000, 0x2180406b, 0x00008780, 0x05000086,
+ 0x00007900, 0x00000200, 0x00000380, 0x4513e814, 0x0000e907, 0x12c25864,
+ 0x0000e000, 0x04004067, 0x00008780, 0x04800010, 0x00007900, 0x00000200,
+ 0x00000380, 0x4513e812, 0x0000e907, 0x12c25860, 0x00006000, 0x21804063,
+ 0x00000780, 0x04000086, 0x0000f900, 0x00000200, 0x00000380, 0x4513e810,
+ 0x00006907, 0xfe59b04b, 0x0000f81a, 0x03000001, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x93001a4b, 0x00009080, 0x000063fa, 0x00007400, 0xa1bfe24c,
+ 0x00007900, 0x0000003e, 0x00008280, 0x9314344e, 0x00001000, 0x9300c336,
+ 0x00001080, 0x40000d44, 0x0000e583, 0x13a25aec, 0x00008101, 0x8d401c4e,
+ 0x0000e281, 0xb000081f, 0x0000a400, 0x1380f800, 0x0000e191, 0x13809800,
+ 0x0000c989, 0x08608557, 0x0000c594, 0x856000a7, 0x00000491, 0x21803457,
+ 0x00009181, 0x00000c86, 0x00009583, 0x12c00000, 0x000061b0, 0x93026000,
+ 0x0000c9b0, 0x13807800, 0x0000e1b1, 0xb000081f, 0x00006430, 0x00006413,
+ 0x0000f018, 0x00004060, 0x0000e582, 0x8d400000, 0x00008981, 0x01085000,
+ 0x00009990, 0xc1000a26, 0x00009090, 0x640f7ac7, 0x0000f310, 0x01802004,
+ 0x00001910, 0xa1802302, 0x00009780, 0x4514300e, 0x0000e907, 0x06408557,
+ 0x00004595, 0x044000a7, 0x00000391, 0x00005c57, 0x00009583, 0x01085000,
+ 0x00001998, 0xc1000a26, 0x00001098, 0x64187ac7, 0x00007318, 0x01802004,
+ 0x00009918, 0x1f404056, 0x0000e780, 0x9f802302, 0x00008780, 0x0380007d,
+ 0x00007900, 0x00000200, 0x00000380, 0x4513f00e, 0x0000e107, 0xb000081f,
+ 0x00003400, 0x12c00000, 0x000004f1, 0xcd401800, 0x000084fa, 0x84805457,
+ 0x0000448a, 0x86c08557, 0x00001990, 0x158000a7, 0x0000f893, 0x1b000000,
+ 0x0000b282, 0x0380405a, 0x00006780, 0x010a0011, 0x0000a604, 0x0400007d,
+ 0x00007900, 0x00000200, 0x00000380, 0x0380000e, 0x0000f900, 0x00000200,
+ 0x00000380, 0x4513f010, 0x0000e107, 0x80000011, 0x0000b407, 0x4513f00e,
+ 0x00006907, 0x02c08557, 0x00004595, 0x028000a7, 0x00000193, 0x0019b05c,
+ 0x0000e502, 0x1322e2ec, 0x00000101, 0x8d401c4c, 0x00006281, 0xb000081f,
+ 0x0000a400, 0x93001a5c, 0x000060b0, 0xd3001000, 0x00000981, 0x933fe24c,
+ 0x00007930, 0x0000003e, 0x00008280, 0x12e00f5c, 0x00008492, 0x13809800,
+ 0x00006181, 0x9300a336, 0x00004098, 0xffffffff, 0x00007f86, 0x9300a24c,
+ 0x000010b0, 0x00e08557, 0x0000c594, 0x81a000a7, 0x00008093, 0x53200024,
+ 0x000004f3, 0x12e00000, 0x000004d2, 0x13805800, 0x00001981, 0x88608557,
+ 0x00004994, 0xacc000a7, 0x00001990, 0xffffffff, 0x00007f86, 0x1f004444,
+ 0x00001283, 0xffffffff, 0x00007f86, 0xb9143a87, 0x00009908, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x0000f08b, 0xc01d5345, 0x00009502, 0xb9143a87,
+ 0x00009908, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0x002534a5,
+ 0x00006503, 0xb9143a87, 0x00008900, 0xa9c02d00, 0x00006088, 0x12023046,
+ 0x00004908, 0x307a34a7, 0x00002088, 0x12423847, 0x0000e108, 0xd15d53aa,
+ 0x0000c908, 0x307a3ca7, 0x00002008, 0x00000000, 0x0000f081, 0x2185384b,
+ 0x0000e100, 0x11010044, 0x00000380, 0x0019b086, 0x00006502, 0xd4800f52,
+ 0x00008181, 0x92801a86, 0x0000e0b0, 0x12c5384b, 0x00000100, 0xa1bfe24a,
+ 0x00007930, 0x0000003e, 0x00008280, 0x00006461, 0x0000f018, 0x00006462,
+ 0x00007200, 0x931436ae, 0x00001000, 0x9319b6ae, 0x00001000, 0x1602c0a7,
+ 0x00006002, 0x29c0af4c, 0x00008080, 0x16400059, 0x00006084, 0xb84014a7,
+ 0x00008881, 0xffffffff, 0x00007fc7, 0x1f821300, 0x00007904, 0x20021300,
+ 0x0000f904, 0x1cc3f07c, 0x0000782b, 0x03000001, 0x00000080, 0x1f03f07c,
+ 0x0000e100, 0xd3000f4c, 0x00000081, 0x51000d44, 0x00001181, 0xffffffff,
+ 0x00007f86, 0x1f821300, 0x00007904, 0x20021300, 0x0000f904, 0x1ac3f07c,
+ 0x0000f823, 0x03000001, 0x00000080, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x12a43f7c, 0x00000e10, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00000000,
+ 0x00007083, 0x09800000, 0x00006181, 0x15001426, 0x0000c880, 0xa192a286,
+ 0x00009000, 0x2ffaa486, 0x00003038, 0x2ffab686, 0x00003038, 0x0000622a,
+ 0x00007400, 0x303ac086, 0x00003038, 0x303ad286, 0x00003038, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03a1c000, 0x00007900, 0x000d8022, 0x00008980, 0x01a52ca5,
+ 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x64911bb2, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x02113226, 0x00004900, 0x39c00000, 0x00001980, 0xd68004f0,
+ 0x0000788a, 0x43000000, 0x0000318b, 0x40004da8, 0x0000e583, 0x26000000,
+ 0x00000980, 0x25000000, 0x0000e180, 0x967d4098, 0x0000e001, 0x25400000,
+ 0x000009d8, 0x0000649e, 0x0000f408, 0x25c00000, 0x000089e4, 0x26c00000,
+ 0x000089e8, 0x400005a8, 0x00001583, 0x649e196d, 0x0000f113, 0x64a21a22,
+ 0x00007500, 0xe9800000, 0x00006180, 0x29d552aa, 0x00004900, 0xa92003a9,
+ 0x00008a9a, 0x800016a8, 0x00009583, 0x03000000, 0x0000e190, 0x03400000,
+ 0x00004990, 0x03800000, 0x00006190, 0x03c00000, 0x0000c990, 0x00000001,
+ 0x00007088, 0x80000ea8, 0x00006583, 0x1f000000, 0x00008981, 0x02c00000,
+ 0x0000e180, 0x1f000800, 0x00004989, 0x000810ec, 0x0000d780, 0x00c066c0,
+ 0x00000180, 0x23362080, 0x0000e180, 0x0000180b, 0x00006106, 0x800006a8,
+ 0x0000e583, 0xc000180b, 0x00002006, 0x02009000, 0x00007900, 0x0002b200,
+ 0x00000980, 0x02400000, 0x0000f900, 0x00018030, 0x00008980, 0x001910ec,
+ 0x0000d780, 0x00006001, 0x00000080, 0x04000000, 0x0000e180, 0x0423e08c,
+ 0x0000e001, 0x04400000, 0x000001c8, 0x04c00000, 0x000081d0, 0x05400000,
+ 0x000001d8, 0x05c00000, 0x00006180, 0x82901202, 0x00004900, 0x02800502,
+ 0x000008a0, 0x22400000, 0x000008e8, 0x23400000, 0x000008f8, 0x23c00000,
+ 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000, 0x000006f0, 0x1b400000,
+ 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000,
+ 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000,
+ 0x000007e8, 0x1ec00000, 0x00006180, 0x22c42084, 0x0000c900, 0x00000001,
+ 0x00007480, 0xaaed4eab, 0x0000e101, 0x2ac05cab, 0x00008181, 0xea4403a9,
+ 0x00009188, 0x0100af4c, 0x0000e080, 0xa259b609, 0x00000000, 0xb8401404,
+ 0x00006081, 0xa299b709, 0x00004000, 0x002f1885, 0x0000f900, 0x00000008,
+ 0x00008582, 0x11010044, 0x00006380, 0x82d9b336, 0x00000900, 0xaa99b609,
+ 0x0000e000, 0x023a674c, 0x00000901, 0x83400801, 0x000009d2, 0x2219b336,
+ 0x0000e100, 0x82800a89, 0x0000c880, 0x01021300, 0x0000f904, 0x01821300,
+ 0x00007904, 0xea5453a9, 0x0000e100, 0x83d42a85, 0x00008930, 0x83ef2004,
+ 0x00006198, 0x01402004, 0x0000c900, 0x12802004, 0x00001900, 0x0010584a,
+ 0x00009502, 0x000064f5, 0x0000702b, 0x801d4a8a, 0x00009502, 0x80107a0a,
+ 0x00009502, 0xffffffff, 0x00007f86, 0x000064fd, 0x0000f018, 0x000064fd,
+ 0x0000f018, 0x82d9b20b, 0x00006000, 0xea5453a9, 0x00008100, 0x0010584a,
+ 0x00006502, 0xaa944aaa, 0x00000000, 0x82944a0a, 0x00006000, 0x25000c94,
+ 0x00000081, 0x22105a0b, 0x00009900, 0x000064e8, 0x0000f020, 0x01021300,
+ 0x0000f904, 0x01821300, 0x00007904, 0xd3000f4c, 0x00006081, 0x51000d44,
+ 0x00008181, 0x000064e6, 0x00007400, 0x03400c0d, 0x00006081, 0x01402004,
+ 0x00000900, 0x1280204a, 0x00001000, 0x0004404a, 0x00006502, 0x12c4404b,
+ 0x00008100, 0x01002888, 0x00006010, 0xd3000f4c, 0x00008089, 0x51000d44,
+ 0x00006189, 0x12800000, 0x00008988, 0x81400000, 0x000088e0, 0x12825004,
+ 0x0000e110, 0x8222b888, 0x0000a006, 0x40000508, 0x0000e583, 0x81000000,
+ 0x00008980, 0x01400800, 0x0000e191, 0xc3204888, 0x0000e006, 0x8000020b,
+ 0x0000e582, 0x23000000, 0x00000980, 0x81000800, 0x00006190, 0x23c00000,
+ 0x0000c980, 0x00001457, 0x00006583, 0x24400000, 0x00000980, 0x2342a054,
+ 0x0000e130, 0x61a02088, 0x00006000, 0x23028050, 0x00006130, 0x20a02888,
+ 0x0000e000, 0x2382c058, 0x0000e130, 0x2342d05a, 0x0000c918, 0x2382c058,
+ 0x0000e118, 0x23c2c859, 0x00004918, 0x22010088, 0x00006398, 0x22400000,
+ 0x00000980, 0x00000405, 0x00006583, 0x24800000, 0x00000980, 0x24c00000,
+ 0x00006180, 0x22c42084, 0x0000c900, 0x228152aa, 0x0000e000, 0x64206c0d,
+ 0x00000901, 0x00006529, 0x00007408, 0xe4105a0b, 0x0000e100, 0x24001408,
+ 0x0000c181, 0x01000000, 0x0000e191, 0x2464a494, 0x0000c901, 0x400015a8,
+ 0x00009583, 0x01000800, 0x00001989, 0xffffffff, 0x00007f86, 0x30e02088,
+ 0x0000e800, 0x00000001, 0x00007480, 0x1602c20b, 0x00001002, 0x16400059,
+ 0x00009084, 0x400005ab, 0x00001583, 0x00000001, 0x0000708b, 0xc00007ab,
+ 0x00001583, 0x6ac00000, 0x00006191, 0xa1802d00, 0x00004890, 0x30073c86,
+ 0x0000f912, 0x39800000, 0x00008000, 0x00000001, 0x00007088, 0x30057e86,
+ 0x0000f902, 0x2b800000, 0x00008000, 0x30456886, 0x0000f902, 0x29c00000,
+ 0x00008000, 0x30453286, 0x0000f902, 0x21c00000, 0x00000000, 0x21802d4e,
+ 0x00006080, 0x107d58e7, 0x0000e004, 0x700100ec, 0x00005680, 0x00000540,
+ 0x00008088, 0x703f38ec, 0x0000d600, 0x003f3000, 0x00000000, 0x703d78ec,
+ 0x0000d600, 0x003d7000, 0x00000000, 0x703d68ec, 0x00005600, 0x003d3800,
+ 0x00000000, 0x2941d086, 0x00006002, 0x53800d4e, 0x00000081, 0x703d30ec,
+ 0x0000d600, 0x003c3800, 0x00008000, 0x2900003b, 0x00006084, 0x21b20004,
+ 0x00000980, 0x04181086, 0x0000e987, 0x00000001, 0x00007480, 0x703d28ec,
+ 0x0000d600, 0x003d2000, 0x00000000, 0x700100ec, 0x00005680, 0x003c37c0,
+ 0x00008078, 0x6551652c, 0x00007100, 0x400015a8, 0x00009583, 0x0000655c,
+ 0x0000700b, 0xdf04074e, 0x00001283, 0x80219e4e, 0x00009503, 0xffffffff,
+ 0x00007f86, 0x0000655c, 0x00007008, 0x00006573, 0x0000f008, 0xc0113326,
+ 0x00009502, 0x07c4001f, 0x0000e388, 0x0000081d, 0x0000240b, 0x0d32764e,
+ 0x00009908, 0x1f400000, 0x0000f900, 0x001f8000, 0x00008980, 0x400015a8,
+ 0x00006583, 0x001d487d, 0x0000a186, 0x0425587d, 0x0000e101, 0x00001018,
+ 0x0000b402, 0x00505000, 0x0000f900, 0x0004c010, 0x00008980, 0xc000b000,
+ 0x00006181, 0x40001018, 0x00006402, 0x0000656f, 0x0000f408, 0x203beeec,
+ 0x0000d600, 0x003c2000, 0x00008000, 0xc0c05800, 0x0000e180, 0x80755eab,
+ 0x00004901, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008806ec,
+ 0x00005f80, 0x00985980, 0x00008ac4, 0x7fe06400, 0x000080c3, 0x80c00800,
+ 0x00009981, 0x008806ec, 0x00005f80, 0x00985980, 0x000085c4, 0x8f83e0ec,
+ 0x0000a084, 0x0a02747d, 0x0000e084, 0x0000101d, 0x00003403, 0x1f63efe4,
+ 0x00006000, 0xf000004e, 0x00006401, 0x113df844, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x0000655c, 0x00007400, 0x1f63ec7c, 0x00001401, 0x8f83e8ec,
+ 0x0000a884, 0x41004557, 0x00006283, 0xa9e2bc57, 0x00000900, 0x92bd78a7,
+ 0x0000a014, 0x92bd78a7, 0x0000208c, 0x0019b04b, 0x00001502, 0xaa92624c,
+ 0x00006130, 0x01800000, 0x0000c9b1, 0x22008000, 0x0000e1b0, 0x23000000,
+ 0x0000c9b0, 0x0000661c, 0x00007018, 0x40000508, 0x0000e583, 0x81000000,
+ 0x00008980, 0x01800800, 0x0000e191, 0x8222b888, 0x00006006, 0x8000024b,
+ 0x00006582, 0xc3257888, 0x00002006, 0x81000800, 0x00006190, 0x01c00000,
+ 0x00004981, 0x000014af, 0x0000e583, 0x0fc22405, 0x00002000, 0x01c00800,
+ 0x00006191, 0x61a02088, 0x00006000, 0x0e02bc04, 0x00006000, 0x20a03088,
+ 0x0000b000, 0x00005457, 0x0000e583, 0x01602405, 0x00000301, 0x01e02c07,
+ 0x00006201, 0x0a027404, 0x0000a084, 0x0e422405, 0x0000e000, 0x10603888,
+ 0x00003000, 0x24400800, 0x00006180, 0x31027088, 0x0000e000, 0x01403c05,
+ 0x00006081, 0x23c00000, 0x0000c980, 0x24800000, 0x000089cc, 0x22c42084,
+ 0x0000e100, 0x2281524c, 0x0000c000, 0x240a5944, 0x00008902, 0xa2618126,
+ 0x00008825, 0x000065fa, 0x00007418, 0x226a714e, 0x00008822, 0xe471ae35,
+ 0x0000e101, 0xa2202405, 0x00004301, 0x00001457, 0x00006583, 0xe2400a26,
+ 0x00008080, 0x2400174c, 0x00006181, 0x2342a054, 0x00000930, 0x2382c058,
+ 0x0000e130, 0x23028050, 0x00004930, 0x000065fc, 0x0000f018, 0x00000406,
+ 0x00009583, 0x000065b6, 0x0000f00b, 0x400015a8, 0x00006583, 0x01000000,
+ 0x00008981, 0x01000800, 0x00001989, 0xffffffff, 0x00007f86, 0x30e02088,
+ 0x0000e800, 0x12c00000, 0x00006180, 0x810403a9, 0x00004180, 0x41008557,
+ 0x00006283, 0xea526204, 0x00008100, 0x00006622, 0x00007013, 0x000004ac,
+ 0x00006583, 0x02c00000, 0x00000980, 0x0000b8ec, 0x0000d780, 0x00006001,
+ 0x00000080, 0x0197f880, 0x00006180, 0x0000180b, 0x00006106, 0x02000d90,
+ 0x0000e181, 0x83c02302, 0x00008780, 0x02400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980, 0x000808ec,
+ 0x0000d780, 0x00006001, 0x00000080, 0xc000180b, 0x0000e006, 0xb2e04006,
+ 0x0000b004, 0x01000802, 0x0000e180, 0x4510780e, 0x0000e107, 0x021cb000,
+ 0x00007900, 0x0003f100, 0x00000980, 0x01400000, 0x000080dc, 0x00006601,
+ 0x00007408, 0x02a81402, 0x00008028, 0x03c00004, 0x0000e180, 0x69000000,
+ 0x00004991, 0x25008488, 0x0000e283, 0x29c00eab, 0x00008081, 0x69004000,
+ 0x0000e191, 0x0e01c2aa, 0x00004000, 0x277fe09d, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x288512aa, 0x0000e000, 0x2501502a, 0x00008900, 0xaaed4ca7,
+ 0x00006101, 0xa5f4bda4, 0x00008301, 0x0a8152aa, 0x00001000, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec,
+ 0x00005780, 0x00006001, 0x00000080, 0x40000d90, 0x00001583, 0x29c0f800,
+ 0x00006191, 0x29c09800, 0x00004989, 0xffffffff, 0x00007f86, 0x2ae53cab,
+ 0x00001101, 0x0000004b, 0x00006582, 0xaac036ab, 0x00000181, 0x2b000cac,
+ 0x00006081, 0xeac00fab, 0x00000081, 0x21555085, 0x00009100, 0x00000001,
+ 0x00007088, 0x0019b04b, 0x00001502, 0xa9c01a4b, 0x000090a8, 0xa9ffe2a7,
+ 0x00007928, 0x0000003e, 0x00008280, 0x40000d44, 0x0000e583, 0x93153eaf,
+ 0x00000028, 0x29c0f800, 0x00006191, 0x29c09800, 0x00004989, 0x00000001,
+ 0x00007480, 0xffffffff, 0x00007f86, 0x13a53ca7, 0x00001901, 0x2400174c,
+ 0x00006181, 0x22400e30, 0x00000081, 0x237ac75a, 0x00008838, 0x22010088,
+ 0x00006380, 0x23c2c859, 0x00008900, 0x6d800406, 0x0000f88b, 0x8b000000,
+ 0x0000b28d, 0x26000000, 0x0000e180, 0x69a564ac, 0x0000c901, 0x25000000,
+ 0x0000e180, 0x967d4098, 0x0000e001, 0x26008488, 0x0000e283, 0x25400000,
+ 0x00008980, 0x25800000, 0x000089dc, 0x26400000, 0x000009e8, 0x26c00000,
+ 0x0000e180, 0xe9929252, 0x0000c900, 0x660f1a22, 0x00007500, 0xa9e00eaa,
+ 0x00008a92, 0x94800000, 0x00006180, 0x69804000, 0x00004991, 0x29c00eab,
+ 0x00001081, 0xaaed4ca7, 0x00009101, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780, 0x00006001,
+ 0x00000080, 0x40000d90, 0x00001583, 0x29c0f800, 0x00006191, 0x29c09800,
+ 0x00004989, 0x000065e9, 0x0000f400, 0xffffffff, 0x00007f86, 0x2ae53cab,
+ 0x00001101, 0x001d484b, 0x00001502, 0x024578af, 0x00009918, 0x00006667,
+ 0x0000f031, 0x662064d2, 0x00007100, 0x6ec08557, 0x0000788f, 0x03000001,
+ 0x00000080, 0x02c00000, 0x0000e180, 0xa9c02302, 0x0000c780, 0x000004ac,
+ 0x00006583, 0x0000180b, 0x0000a106, 0x0000b8ec, 0x0000d780, 0x00006002,
+ 0x00000080, 0x223df888, 0x0000f900, 0x003ffffe, 0x00008280, 0x0200b000,
+ 0x0000f900, 0x00047180, 0x00008980, 0x02400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x4515380e,
+ 0x00006107, 0xc000180b, 0x0000b006, 0x001010ec, 0x0000d780, 0x00006000,
+ 0x00008080, 0x00006650, 0x0000f408, 0x02a81402, 0x00008028, 0x03c00004,
+ 0x0000e180, 0x69000000, 0x00004991, 0x25008488, 0x0000e283, 0x29c00eab,
+ 0x00008081, 0x69004000, 0x0000e191, 0x0e01c2aa, 0x00004000, 0x277fe09d,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x288512aa, 0x0000e000, 0x2501502a,
+ 0x00008900, 0xaaed4ca7, 0x00006101, 0xa5f4bda4, 0x00008301, 0x0a8152aa,
+ 0x00001000, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009910ec, 0x00005780, 0x00006001, 0x00000080, 0x2ac09cab,
+ 0x00001181, 0x0000004b, 0x00006582, 0xaac036ab, 0x00000181, 0x2b000cac,
+ 0x00006081, 0xeac00fab, 0x00000081, 0x21555085, 0x00009100, 0x00000001,
+ 0x00007088, 0x000065ef, 0x00007000, 0x26000000, 0x0000e180, 0x69a564ac,
+ 0x0000c901, 0x25000000, 0x0000e180, 0x967d4098, 0x0000e001, 0x26008488,
+ 0x0000e283, 0x25400000, 0x00008980, 0x25800000, 0x000089dc, 0x26400000,
+ 0x000009e8, 0x26c00000, 0x0000e180, 0xe9929252, 0x0000c900, 0x665e1a22,
+ 0x0000f500, 0xa9e00eaa, 0x00008a92, 0x94800000, 0x00006180, 0x69804000,
+ 0x00004991, 0x29c00eab, 0x00001081, 0xaaed4ca7, 0x00009101, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec,
+ 0x00005780, 0x00006001, 0x00000080, 0x00006649, 0x0000f200, 0x2ac09cab,
+ 0x00001181, 0xa9c00b36, 0x00001180, 0xa9d25aa7, 0x00001000, 0xffffffff,
+ 0x00007f86, 0x2c126aa7, 0x00009600, 0x29c588b0, 0x00009000, 0x81925e35,
+ 0x00006000, 0x29c53b4d, 0x00000000, 0x29c048a7, 0x00006780, 0x010080a7,
+ 0x00008780, 0xa9fc02a7, 0x0000f900, 0x0000003e, 0x00008280, 0x2c1026af,
+ 0x00001600, 0x814588b0, 0x00009000, 0x81d02a06, 0x00006000, 0xaa902a06,
+ 0x00008000, 0x2c102336, 0x00001600, 0x814588b0, 0x00009000, 0x0010284b,
+ 0x00006502, 0xa9d53a07, 0x00000000, 0xa9d53faf, 0x0000e018, 0x82502204,
+ 0x00008900, 0x82400a04, 0x0000e098, 0xaa903eaf, 0x00008018, 0x801d4aa7,
+ 0x00009502, 0x011552aa, 0x00001930, 0x000066be, 0x00007019, 0x00042804,
+ 0x00001502, 0x01000000, 0x000061b1, 0x22028000, 0x000049b0, 0x23000000,
+ 0x0000e1b0, 0x23c00000, 0x0000c9b0, 0x000066be, 0x0000f018, 0x40000508,
+ 0x0000e583, 0x01c00000, 0x00008981, 0x01000800, 0x00006191, 0x8222b888,
+ 0x00006006, 0x000014af, 0x0000e583, 0x0fc22406, 0x00002000, 0x01c00800,
+ 0x00006191, 0x0e02bc05, 0x0000e000, 0x01a02c06, 0x0000e301, 0xc3257888,
+ 0x00002006, 0x01e03407, 0x00006201, 0x20a02088, 0x0000a000, 0x0e422406,
+ 0x0000e000, 0x10603888, 0x00003000, 0x00005457, 0x0000e583, 0x0a027405,
+ 0x00002084, 0x24400000, 0x0000e180, 0x31027088, 0x0000e000, 0x01803c06,
+ 0x00006081, 0x24800000, 0x0000c980, 0x24c00000, 0x00006180, 0x22c42084,
+ 0x0000c900, 0x228152aa, 0x0000e000, 0x642a2544, 0x00000901, 0xa409314b,
+ 0x00000826, 0x624a7430, 0x00008824, 0x000066b7, 0x00007418, 0xa229ad4e,
+ 0x00008906, 0x24604c09, 0x0000e101, 0xa2202c06, 0x0000c301, 0x00001457,
+ 0x00006583, 0xe2400a26, 0x00008080, 0x2400174c, 0x00006181, 0x2342a054,
+ 0x00000930, 0x2382c058, 0x0000e130, 0x23028050, 0x00004930, 0x000066b9,
+ 0x00007018, 0x00000404, 0x00001583, 0x000066b3, 0x0000f00b, 0x400015a8,
+ 0x00006583, 0x01000000, 0x00008981, 0x01000800, 0x00001989, 0xffffffff,
+ 0x00007f86, 0x30e02088, 0x0000e800, 0x12c00000, 0x00006180, 0xea553ba9,
+ 0x00004100, 0x88808557, 0x00007897, 0xdb000000, 0x0000b28d, 0x2400174c,
+ 0x00006181, 0x22400e30, 0x00000081, 0x237ac75a, 0x00008838, 0x22010088,
+ 0x00006380, 0x23c2c859, 0x00008900, 0xacc00404, 0x0000788b, 0x73000000,
+ 0x00003385, 0x66c064d2, 0x00007300, 0x024578af, 0x00009900, 0x88808557,
+ 0x00007897, 0xdb000000, 0x0000b28d, 0x400015a8, 0x00006583, 0x02000000,
+ 0x00000980, 0x02400000, 0x000000e8, 0x02c00000, 0x000080f0, 0x03400000,
+ 0x000000f8, 0x03c00000, 0x000081c0, 0x04400000, 0x000001c8, 0x04c00000,
+ 0x000081d0, 0x000067ba, 0x0000f410, 0x05400000, 0x000001d8, 0x05c00000,
+ 0x00001980, 0x2c0036e3, 0x00001680, 0xa9c588b0, 0x00001000, 0xab400aa7,
+ 0x00009080, 0x93423cad, 0x0000f902, 0x11800000, 0x00000004, 0xffffffff,
+ 0x00007fa7, 0x11c00847, 0x00001082, 0x11800046, 0x00009084, 0x937a3cad,
+ 0x0000d004, 0x003a3000, 0x00000000, 0x66db621a, 0x0000f404, 0xab4012a7,
+ 0x00009080, 0x93b948ad, 0x0000d004, 0x00201000, 0x00000000, 0x29b2be57,
+ 0x00001901, 0xdc410444, 0x0000c396, 0x00c04444, 0x00000088, 0xcf402457,
+ 0x0000f89b, 0xa3000000, 0x00003387, 0xd6406457, 0x00007893, 0x3b000000,
+ 0x0000338a, 0x2b40af4c, 0x00001080, 0x2b40af4c, 0x0000e080, 0xb84014ad,
+ 0x00008881, 0xffffffff, 0x00007fc7, 0x1f821300, 0x00007904, 0x1f021300,
+ 0x0000f904, 0x1fc2507f, 0x00006002, 0xb84014ad, 0x00008881, 0x1f82507e,
+ 0x00006100, 0x1f00007c, 0x00000084, 0x12800000, 0x00009980, 0xffffffff,
+ 0x00007fa7, 0x1083f500, 0x00007904, 0x1083e500, 0x0000f904, 0xe7a04444,
+ 0x0000c28c, 0xe8c02457, 0x0000999d, 0xd6406457, 0x00007893, 0x3b000000,
+ 0x0000338a, 0x00002457, 0x00009583, 0x01085800, 0x00001988, 0xc1000a26,
+ 0x00009088, 0x66f97ac7, 0x00007308, 0x01802004, 0x00001908, 0xe5e0004b,
+ 0x00004488, 0x22c01f4c, 0x0000998e, 0xdfe01f4c, 0x0000c298, 0x64c0174c,
+ 0x0000998e, 0x0440274c, 0x00004588, 0x82c02f4c, 0x0000838a, 0xab402302,
+ 0x00006780, 0x29c0405f, 0x00000780, 0x038000a7, 0x0000f900, 0x00000200,
+ 0x00000380, 0x29c04063, 0x00006780, 0x4515680e, 0x0000a107, 0x040000a7,
+ 0x0000f900, 0x00000200, 0x00000380, 0x29c04067, 0x0000e780, 0x45156810,
+ 0x0000a107, 0x048000a7, 0x00007900, 0x00000200, 0x00000380, 0x29c0406b,
+ 0x0000e780, 0x45156812, 0x00002107, 0x00006732, 0x00007400, 0x050000a7,
+ 0x00007900, 0x00000200, 0x00000380, 0x45156814, 0x00006907, 0x2b404063,
+ 0x00006780, 0x29c04067, 0x00008780, 0x040000a7, 0x0000f900, 0x00000200,
+ 0x00000380, 0x29c0406b, 0x00001780, 0x038000ad, 0x0000f900, 0x00000200,
+ 0x00000380, 0x048000a7, 0x00007900, 0x00000200, 0x00000380, 0xab402302,
+ 0x00009780, 0x00006732, 0x00007400, 0x4515680e, 0x00006107, 0x45156810,
+ 0x00003107, 0x45156812, 0x00006907, 0x29c0406b, 0x0000e780, 0x2b404067,
+ 0x00008780, 0x038000ad, 0x0000f900, 0x00000200, 0x00000380, 0x040000a7,
+ 0x0000f900, 0x00000200, 0x00000380, 0x00006732, 0x00007400, 0xab402302,
+ 0x00009780, 0x45156810, 0x00006107, 0x4515680e, 0x00003107, 0xa9c02302,
+ 0x00006780, 0x2b40406b, 0x00008780, 0x00006732, 0x00007400, 0x038000ad,
+ 0x0000f900, 0x00000200, 0x00000380, 0x4515380e, 0x0000e907, 0xab402302,
+ 0x00006780, 0x03800100, 0x00008980, 0x4515680e, 0x0000e907, 0x6734657d,
+ 0x0000f300, 0x42000800, 0x00001981, 0x0000004b, 0x00009582, 0x89800a26,
+ 0x0000e088, 0x2000081e, 0x0000240a, 0xd11a24a6, 0x00009008, 0x0000679f,
+ 0x0000f010, 0x00001457, 0x00009583, 0x14000850, 0x000090b0, 0x0000679f,
+ 0x0000f019, 0x0000679f, 0x00007000, 0x00003c57, 0x00009583, 0x03800100,
+ 0x000061b0, 0xab402302, 0x0000c7b0, 0xd4800f52, 0x00006099, 0x4515680e,
+ 0x0000a137, 0x679f753d, 0x00007530, 0x89800a26, 0x00006098, 0xd11a24a6,
+ 0x00008018, 0x69400800, 0x000099b1, 0x0000679f, 0x00007000, 0x0000004b,
+ 0x00006582, 0xab402302, 0x00000780, 0x29c0405f, 0x0000e790, 0x03800100,
+ 0x00000988, 0x038000a7, 0x00007910, 0x00000200, 0x00000380, 0x6750657d,
+ 0x00007500, 0x42000800, 0x00001981, 0x4515680e, 0x0000e907, 0x0000004b,
+ 0x00009582, 0x29c00e30, 0x0000e089, 0xf000081e, 0x0000a409, 0xcc253ca7,
+ 0x00001908, 0x0000679f, 0x0000f010, 0x0000679f, 0x0000f400, 0x8002a64c,
+ 0x00009583, 0x93000e4c, 0x0000e091, 0x93000000, 0x00008989, 0x400015a8,
+ 0x00006583, 0x29c00000, 0x00008981, 0x2202a016, 0x00006180, 0x29c00800,
+ 0x00004989, 0x0e4224ad, 0x00006000, 0x8222b888, 0x00003006, 0x02c00000,
+ 0x0000e180, 0x30e53888, 0x00006000, 0x000004ac, 0x00006583, 0x29c03cad,
+ 0x00008881, 0x0a0274ad, 0x00006084, 0x0000180b, 0x00003106, 0x0000a8ec,
+ 0x00005780, 0x00006001, 0x00000080, 0xa2256ca7, 0x00006301, 0xc000180b,
+ 0x00002006, 0xa9c02302, 0x00006780, 0x9f012000, 0x00008980, 0x0204b000,
+ 0x00007900, 0x0003f140, 0x00008980, 0x02400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x000010ec,
+ 0x00005780, 0x00006001, 0x00000080, 0x23400000, 0x00006180, 0x4515380e,
+ 0x00006107, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000,
+ 0x0000e180, 0x24c00060, 0x00004980, 0x22c42084, 0x0000e100, 0x2281202a,
+ 0x00004080, 0xe2513226, 0x00006100, 0x22400e30, 0x0000c081, 0x2279914e,
+ 0x00008830, 0x000067ae, 0x0000f408, 0x02a81402, 0x00008028, 0x03c00004,
+ 0x0000e180, 0xe232764e, 0x00004901, 0x1f408488, 0x00006283, 0xcc000000,
+ 0x00000981, 0xcc004000, 0x0000e191, 0x2501502a, 0x00004900, 0x277fe09d,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x0e01c27c, 0x00006000, 0x2885127c,
+ 0x00000000, 0xa5f4bf30, 0x0000e301, 0x0a81527c, 0x00000000, 0x2b400eab,
+ 0x00001081, 0xaaed4cad, 0x00009101, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780, 0x00006001,
+ 0x00000080, 0x8002a64c, 0x00006583, 0x29c00e30, 0x00000081, 0xeac00fab,
+ 0x00006081, 0xf000081e, 0x00002401, 0xaac036ab, 0x00006181, 0xea4523a9,
+ 0x00008180, 0x2ac07cab, 0x00006181, 0x0c800832, 0x00000080, 0xcc253ca7,
+ 0x0000e100, 0x93000000, 0x00004989, 0xffffffff, 0x00007f86, 0x93000e4c,
+ 0x00001091, 0x07bf981e, 0x00007900, 0x003ffffe, 0x00008280, 0x077e781d,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x6000001e, 0x0000e403, 0xa000001c,
+ 0x00003406, 0x07ff381f, 0x00007900, 0x003ffffe, 0x00008280, 0xc000001d,
+ 0x0000e482, 0xc000001e, 0x0000b403, 0xc000001c, 0x00006403, 0xb000001f,
+ 0x0000b400, 0xf000001e, 0x00006401, 0x6000001d, 0x0000b403, 0x68ad6550,
+ 0x00007100, 0x26200000, 0x00008ada, 0x1f008488, 0x0000e283, 0x967d4098,
+ 0x00002001, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26400000,
+ 0x000009e8, 0x26c00000, 0x0000e180, 0xe9929252, 0x0000c900, 0x678c1a22,
+ 0x00007500, 0x29e00824, 0x00008ad2, 0x94800000, 0x00006180, 0x69804000,
+ 0x00004991, 0x40000da8, 0x00009583, 0x0000680b, 0x00007013, 0x2c0036e3,
+ 0x00001680, 0xab4588b0, 0x00001000, 0x0001c02a, 0x0000e502, 0xa9c012ad,
+ 0x00000080, 0x934044a7, 0x0000a006, 0x93794ea7, 0x0000d004, 0x00201000,
+ 0x00000000, 0x93784cad, 0x00002094, 0x000067cd, 0x00007409, 0x82000a08,
+ 0x00009080, 0x934844a7, 0x0000a806, 0x937844ad, 0x0000a004, 0x02400809,
+ 0x00001082, 0x93784cad, 0x00002884, 0xffffffff, 0x00007f86, 0x02000008,
+ 0x00009084, 0x937844ad, 0x00002804, 0x82000e53, 0x00001283, 0x67d1621a,
+ 0x00007404, 0x00000853, 0x0000ec09, 0x94d13226, 0x00009908, 0x4000101d,
+ 0x00006402, 0x2000081e, 0x00003402, 0xa000501c, 0x00006406, 0xc001481d,
+ 0x00003482, 0x26000000, 0x0000e180, 0xc000081e, 0x00006403, 0x113df844,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x3000081f, 0x00006402, 0xc000081c,
+ 0x0000b403, 0x6000101d, 0x00006403, 0xf000081e, 0x0000b401, 0x25000000,
+ 0x0000e180, 0x967d4098, 0x0000e001, 0x25400000, 0x000009d8, 0x25c00000,
+ 0x000089e4, 0x26800000, 0x000089ec, 0x67e51a22, 0x00007500, 0x69800400,
+ 0x00008adc, 0xa9200400, 0x00008ada, 0x02c00000, 0x000080f0, 0x000810ec,
+ 0x0000d780, 0x00c066c0, 0x00000180, 0x03400000, 0x0000e180, 0x0000180b,
+ 0x00006106, 0x02009000, 0x00007900, 0x0002b200, 0x00000980, 0x02400000,
+ 0x0000f900, 0x00018030, 0x00008980, 0x001910ec, 0x0000d780, 0x00006001,
+ 0x00000080, 0x03800000, 0x0000e180, 0xc000180b, 0x0000e006, 0x03c00000,
+ 0x000081c0, 0x04400000, 0x000001c8, 0x04c00000, 0x000081d0, 0x05400000,
+ 0x000001d8, 0x05c00000, 0x00006180, 0x82901202, 0x00004900, 0x02800502,
+ 0x000008a0, 0x22400000, 0x000008e8, 0x233620a0, 0x00006180, 0x23400000,
+ 0x00004980, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000,
+ 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000,
+ 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x000067ad,
+ 0x00007400, 0x22c42084, 0x0000e100, 0xaaed4eab, 0x00004101, 0x2ac05cab,
+ 0x00001181, 0x2b44282a, 0x0000e000, 0x29000000, 0x00008981, 0x00056838,
+ 0x0000e502, 0x29400000, 0x00000981, 0x21415038, 0x0000e168, 0x2181c0ad,
+ 0x00008168, 0x00410444, 0x0000c594, 0x87800752, 0x00008988, 0x29c43085,
+ 0x00001000, 0x001260a7, 0x00009502, 0xa000281c, 0x0000642e, 0x6000081e,
+ 0x0000342b, 0x0b01524c, 0x00006028, 0xc000101c, 0x0000242b, 0x00006829,
+ 0x00007020, 0x2a400800, 0x00006181, 0x4000101d, 0x00006402, 0xc001501d,
+ 0x0000ec82, 0x68216494, 0x00007500, 0x113df844, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x6000101d, 0x0000ec03, 0x2c0036e3, 0x00001680, 0xab4588b0,
+ 0x00001000, 0xab4012ad, 0x00009080, 0x937d3cad, 0x00002084, 0xffffffff,
+ 0x00007f86, 0x000067ad, 0x00007403, 0x29c008a7, 0x00009080, 0x937d3cad,
+ 0x0000a884, 0x2b40af4c, 0x0000e080, 0x29c0af4c, 0x00008080, 0x21f2be57,
+ 0x00006101, 0xb84014ad, 0x00004881, 0xffffffff, 0x00007fc7, 0x01821300,
+ 0x00007904, 0x01021300, 0x0000f904, 0x01c25007, 0x00006002, 0xb84014a7,
+ 0x00008881, 0x01825006, 0x00006100, 0x01000004, 0x00000084, 0x12800000,
+ 0x00009980, 0xffffffff, 0x00007fa7, 0x10803500, 0x00007904, 0x10802500,
+ 0x0000f904, 0x0a001f4c, 0x00004389, 0x00c01f4c, 0x00008098, 0x0080174c,
+ 0x0000c789, 0x0320274c, 0x0000028a, 0x1a002f4c, 0x0000788a, 0x6b400000,
+ 0x00003483, 0x2b40405f, 0x00006780, 0x29c04063, 0x00000780, 0x040000a7,
+ 0x0000f900, 0x00000200, 0x00000380, 0x29c04067, 0x00001780, 0x048000a7,
+ 0x00007900, 0x00000200, 0x00000380, 0x29c0406b, 0x00001780, 0x038000ad,
+ 0x0000f900, 0x00000200, 0x00000380, 0x050000a7, 0x00007900, 0x00000200,
+ 0x00000380, 0xab402302, 0x00009780, 0x0000686d, 0x00007400, 0x4515680e,
+ 0x00006107, 0x45156810, 0x00003107, 0x45156814, 0x0000e107, 0x45156812,
+ 0x0000b107, 0x2b404063, 0x00006780, 0x29c04067, 0x00008780, 0x040000a7,
+ 0x0000f900, 0x00000200, 0x00000380, 0x29c0406b, 0x00001780, 0x038000ad,
+ 0x0000f900, 0x00000200, 0x00000380, 0x048000a7, 0x00007900, 0x00000200,
+ 0x00000380, 0xab402302, 0x00009780, 0x0000686d, 0x00007400, 0x4515680e,
+ 0x00006107, 0x45156810, 0x00003107, 0x45156812, 0x00006907, 0x29c0406b,
+ 0x0000e780, 0x2b404067, 0x00008780, 0x038000ad, 0x0000f900, 0x00000200,
+ 0x00000380, 0x040000a7, 0x0000f900, 0x00000200, 0x00000380, 0x0000686d,
+ 0x00007400, 0xab402302, 0x00009780, 0x45156810, 0x00006107, 0x4515680e,
+ 0x00003107, 0xa9c02302, 0x00006780, 0x2b40406b, 0x00008780, 0x038000ad,
+ 0x0000f900, 0x00000200, 0x00000380, 0x4515380e, 0x0000e907, 0x686f657d,
+ 0x00007300, 0x42000800, 0x00001981, 0x0000004b, 0x00009582, 0x00005457,
+ 0x00001583, 0xffffffff, 0x00007f86, 0x000067ad, 0x00007010, 0x0000687b,
+ 0x00007018, 0x00001457, 0x00006583, 0x2000081e, 0x0000a402, 0x89800a26,
+ 0x00006080, 0xd11a2487, 0x00008000, 0x14000850, 0x000090b0, 0x00006881,
+ 0x00007018, 0x00006881, 0x00007000, 0x8002a64c, 0x00006583, 0x2b400e30,
+ 0x00000081, 0xcc256cad, 0x0000e100, 0xf000081e, 0x0000e401, 0x93000e4c,
+ 0x0000e091, 0x93000000, 0x00008989, 0x0000004b, 0x00009582, 0x113ef844,
+ 0x00007908, 0x003ffffe, 0x00008280, 0x2972be57, 0x0000e109, 0x2932be57,
+ 0x00004909, 0x000067ad, 0x00007010, 0x28800752, 0x00007892, 0x03400001,
+ 0x00008080, 0x94800e52, 0x00006081, 0x29c00e52, 0x00008081, 0x002a74a7,
+ 0x00009503, 0x2b402ca7, 0x00009890, 0xa9c02d00, 0x00001890, 0x000068a8,
+ 0x00007008, 0x2981d0ad, 0x00006002, 0xab680500, 0x00000900, 0xeb5812a7,
+ 0x0000e080, 0x21c0003b, 0x00008084, 0x700100ec, 0x00005680, 0x003d68c4,
+ 0x00000010, 0x29e00005, 0x00001980, 0x703d30ec, 0x0000d600, 0x003c3800,
+ 0x00008000, 0x041810a7, 0x0000e987, 0x700100ec, 0x00005680, 0x003d3fc0,
+ 0x00008078, 0x00c002ec, 0x0000df80, 0x1684e80b, 0x00009684, 0xab402d00,
+ 0x00009880, 0x30053cad, 0x0000a080, 0xffffffff, 0x00007fa7, 0x0fe53f52,
+ 0x0000e004, 0x30e53844, 0x00003000, 0x21c04444, 0x00009283, 0x000068a7,
+ 0x0000700b, 0x68a576b1, 0x00007004, 0xeb4004ac, 0x00007893, 0x53000000,
+ 0x00003485, 0x68a86d58, 0x00007004, 0x000004ac, 0x00009583, 0x000067ad,
+ 0x00007013, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x67ad6494,
+ 0x00007100, 0x01001c22, 0x00006283, 0x06000000, 0x00008980, 0x06400000,
+ 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8, 0x68b67a95,
+ 0x0000f510, 0x07c00000, 0x000082c2, 0x21800000, 0x0000e180, 0x2901502a,
+ 0x00004900, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x68bb18fa,
+ 0x00007500, 0x28000000, 0x00008ac4, 0x28c00000, 0x00008ac8, 0xffffffff,
+ 0x00007f86, 0xc1003f53, 0x0000e283, 0x214528a5, 0x00008900, 0x2a400000,
+ 0x00009981, 0x68c07a5f, 0x00007111, 0x01020444, 0x0000e283, 0xaac7f800,
+ 0x00000981, 0x20000723, 0x0000e408, 0x0000101d, 0x0000b40b, 0x2ac2a000,
+ 0x0000e181, 0xea6f2004, 0x0000c980, 0xc1001723, 0x00006283, 0x2b000000,
+ 0x00000981, 0x6aa00000, 0x00008aef, 0x2aa00545, 0x00008aae, 0x00006cdc,
+ 0x0000f010, 0x00000423, 0x00001583, 0xc000081d, 0x0000e44a, 0xa000501c,
+ 0x0000344e, 0x400025a8, 0x00006583, 0xc000081c, 0x0000244b, 0x02000000,
+ 0x00006188, 0x02400000, 0x0000c988, 0x02800000, 0x0000e188, 0x02c00000,
+ 0x00004988, 0x00006cd1, 0x00007010, 0x03000000, 0x000080f4, 0x03800000,
+ 0x000080fc, 0x04000000, 0x000081c4, 0x04800000, 0x000081cc, 0x05000000,
+ 0x000081d4, 0x05800000, 0x000081dc, 0xa9400000, 0x00008ad2, 0x00010444,
+ 0x0000788e, 0x00000000, 0x00000000, 0x2ed26085, 0x0000f82b, 0xa3400000,
+ 0x00003487, 0x96a04444, 0x0000c18f, 0x00c08623, 0x00000090, 0x6e402723,
+ 0x00004596, 0xb6c10723, 0x00008490, 0x81d98230, 0x0000f80a, 0x03400001,
+ 0x00000000, 0x81e1b330, 0x0000f80a, 0x03400001, 0x00000000, 0x38e04444,
+ 0x0000418d, 0x00c0f4ab, 0x00008098, 0x9ff13026, 0x0000c10b, 0x00c08623,
+ 0x00000090, 0x3d802723, 0x00007897, 0x03400001, 0x00000000, 0x3b410723,
+ 0x00007897, 0x93400000, 0x0000b687, 0x000004ac, 0x0000f88b, 0xab400000,
+ 0x00003687, 0x71c094ab, 0x0000789a, 0x53400000, 0x00003487, 0x21b2be57,
+ 0x0000e101, 0x21c0af4c, 0x0000c080, 0x21c0af4c, 0x00006080, 0xb8401487,
+ 0x00000881, 0xffffffff, 0x00007fc7, 0x01821300, 0x00007904, 0x01021300,
+ 0x0000f904, 0x01c25007, 0x00006002, 0xb8401487, 0x00000881, 0x01825006,
+ 0x00006100, 0x01000004, 0x00000084, 0x12800000, 0x00009980, 0xffffffff,
+ 0x00007fa7, 0x10803500, 0x00007904, 0x10802500, 0x0000f904, 0x7e401f4c,
+ 0x0000c389, 0x00c01f4c, 0x000080b0, 0x5880274c, 0x0000c589, 0x00802f4c,
+ 0x00000092, 0x4380174c, 0x00007892, 0x03400000, 0x0000358f, 0x21c0406b,
+ 0x00009780, 0x03800087, 0x00007900, 0x00000200, 0x00000380, 0xa1c02302,
+ 0x00001780, 0x4514380e, 0x00006907, 0x6910657d, 0x00007300, 0x42000000,
+ 0x00009981, 0x0000004b, 0x00009582, 0x00005457, 0x00001583, 0xffffffff,
+ 0x00007f86, 0x00006cf5, 0x00007010, 0x00006ca8, 0x00007018, 0x00001457,
+ 0x00006583, 0x89800a26, 0x00000080, 0xd11a2486, 0x00006000, 0x14000850,
+ 0x000000b0, 0x21801488, 0x0000e283, 0x2000081e, 0x0000a402, 0x0000004b,
+ 0x00006582, 0xd3d13226, 0x00000910, 0x113ef844, 0x00007908, 0x003ffffe,
+ 0x00008280, 0x2972be57, 0x0000e109, 0x2932be57, 0x00004909, 0x00006cf5,
+ 0x00007010, 0x000068e0, 0x0000f000, 0xa1913226, 0x00009900, 0x6c193226,
+ 0x00007862, 0x03400001, 0x00000000, 0x47200e53, 0x00004397, 0x00c04444,
+ 0x00000088, 0x4e00f4ab, 0x0000789a, 0x03400001, 0x00000000, 0x00198230,
+ 0x00007808, 0x00000000, 0x00000000, 0xe361b330, 0x0000f80a, 0x03400001,
+ 0x00000060, 0x000004ac, 0x0000f88b, 0xab400000, 0x00003687, 0x4e0094ab,
+ 0x0000789a, 0x03400001, 0x00000000, 0x00198230, 0x00007808, 0x00000000,
+ 0x00000000, 0xe361b330, 0x0000f80a, 0x03400001, 0x00000060, 0x000004ac,
+ 0x0000f88b, 0xab400000, 0x00003687, 0x21c3fa27, 0x00001080, 0x001d4887,
+ 0x00007842, 0x00000000, 0x00000000, 0xddd13885, 0x0000f82a, 0x1b400000,
+ 0x0000b48a, 0x00198230, 0x00007808, 0x00000000, 0x00000000, 0xe361b330,
+ 0x0000f80a, 0x03400001, 0x00000060, 0x000004ac, 0x0000f88b, 0xab400000,
+ 0x00003687, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x296528a4,
+ 0x0000c419, 0x4cc004a5, 0x00009a8d, 0xa9998230, 0x0000780a, 0x03400001,
+ 0x00000000, 0x7021b330, 0x00007812, 0x33400000, 0x00003585, 0x29400ca5,
+ 0x00006081, 0x7842a000, 0x00000981, 0x21a52ca4, 0x00001100, 0xffffffff,
+ 0x0000ffb7, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x21c00e57,
+ 0x00006180, 0x29b2be57, 0x00008901, 0x00043f86, 0x0000404a, 0x00008557,
+ 0x00000090, 0x2c201e57, 0x00004489, 0xb2c01887, 0x00001a8f, 0x6c401887,
+ 0x000041b9, 0x00c00887, 0x00008088, 0x01a01087, 0x00004790, 0xa0602087,
+ 0x0000a78e, 0x59802887, 0x00007892, 0x9b400000, 0x0000358e, 0x01200e57,
+ 0x000047d1, 0xa0918130, 0x0000940c, 0x7021b330, 0x00007812, 0x33400000,
+ 0x00003585, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x294014a5, 0x00009081, 0x80000011,
+ 0x0000e407, 0x80000013, 0x00003407, 0x80000015, 0x0000ec07, 0xb1002c57,
+ 0x0000789a, 0x03400001, 0x00000000, 0x67402c57, 0x0000428b, 0xe2c08557,
+ 0x00001a92, 0x6a020557, 0x0000448d, 0x64c01e57, 0x00001bb8, 0xd4000055,
+ 0x0000f892, 0x5b400000, 0x00003681, 0x00001457, 0x00006583, 0xd3001000,
+ 0x00000981, 0x16000000, 0x0000e1b0, 0x1300c000, 0x000049b1, 0x1300a000,
+ 0x00006199, 0x12c00000, 0x00004980, 0x00000055, 0x00009582, 0x13801657,
+ 0x00006191, 0x51001657, 0x00008191, 0x12c2e05c, 0x00006110, 0x0380405f,
+ 0x00004790, 0x00006b34, 0x00007008, 0x0380000e, 0x0000f900, 0x00000200,
+ 0x00000380, 0x00000c4e, 0x0000e583, 0xa1802302, 0x00000780, 0x4514300e,
+ 0x0000e907, 0x0019b04b, 0x00001502, 0xffffffff, 0x00007f86, 0x00006a24,
+ 0x0000f018, 0x00006a31, 0x00007018, 0xa1801a4b, 0x00006080, 0x13a25aec,
+ 0x00008101, 0xa1bfe286, 0x00007900, 0x0000003e, 0x00008280, 0x40000d44,
+ 0x0000e583, 0xb000081f, 0x0000a400, 0x8d401c4e, 0x0000e281, 0x9314344c,
+ 0x00000000, 0x1380f800, 0x0000e191, 0x13809800, 0x0000c989, 0x61b99c4e,
+ 0x00008a1c, 0x2a219e4e, 0x00009101, 0xb8802557, 0x0000f896, 0x03400001,
+ 0x00000000, 0x73e01557, 0x00004495, 0x28d1aba8, 0x00009a0c, 0x72202457,
+ 0x00004299, 0x34c02457, 0x00009a8b, 0xf1803c57, 0x0000f8b2, 0xab400000,
+ 0x0000b58c, 0x699c657d, 0x0000f300, 0x42000000, 0x00009981, 0x6900004b,
+ 0x0000f88a, 0x03400001, 0x00000000, 0x00198230, 0x00007808, 0x00000000,
+ 0x00000000, 0xe361b330, 0x0000f80a, 0x03400001, 0x00000060, 0x000004ac,
+ 0x0000f88b, 0xab400000, 0x00003687, 0x21801488, 0x0000e283, 0xa1c00a26,
+ 0x00008080, 0xd3d43a87, 0x0000e110, 0x2000081e, 0x00006402, 0x00001457,
+ 0x00006583, 0xd11a24a6, 0x00008000, 0x14000850, 0x000060b0, 0x89800a26,
+ 0x00000080, 0x000069ad, 0x0000f019, 0xa1913226, 0x00009900, 0x49993226,
+ 0x0000f86a, 0x03400001, 0x00008080, 0xffffffff, 0x00007f86, 0x80198230,
+ 0x00001502, 0x21c00000, 0x00009988, 0x21c00000, 0x00009990, 0x000069b8,
+ 0x00007008, 0xc021b330, 0x00009502, 0x21c00800, 0x00001990, 0xffffffff,
+ 0x00007f86, 0x70000487, 0x0000f892, 0x03400001, 0x00000000, 0x00198230,
+ 0x00007808, 0x00000000, 0x00000000, 0xe361b330, 0x0000f80a, 0x03400001,
+ 0x00000060, 0x000004ac, 0x0000f88b, 0xab400000, 0x00003687, 0x113fb844,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0xa9400000, 0x00008ad2, 0x1c804444,
+ 0x0000c48f, 0x6ac08623, 0x00009b91, 0x51e02723, 0x0000c597, 0x28810723,
+ 0x00007597, 0x2183fa27, 0x00009080, 0x3a9d4886, 0x00007842, 0x03400001,
+ 0x00000000, 0xc2113885, 0x0000782a, 0x03400001, 0x00008080, 0xffffffff,
+ 0x00007f86, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x3b0528a4,
+ 0x0000c419, 0x36c004a5, 0x00001a8e, 0x63713026, 0x0000440b, 0xeac08623,
+ 0x00009b90, 0x51e02723, 0x00004596, 0x03a10723, 0x0000928d, 0x29401ca5,
+ 0x0000e081, 0x7842a000, 0x00000981, 0xffffffff, 0x00007fc7, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x00006457,
+ 0x00001583, 0x00006afb, 0x0000f013, 0x0019b05c, 0x0000e502, 0x0122e2ec,
+ 0x00000101, 0x8d401c04, 0x00006281, 0x9300a336, 0x00008098, 0x81001a5c,
+ 0x000060b0, 0xb000081f, 0x0000a400, 0x813fe204, 0x00007930, 0x0000003e,
+ 0x00008280, 0x9300a204, 0x0000e0b0, 0xd3001000, 0x00000981, 0x00006457,
+ 0x0000e583, 0x12c2e05c, 0x00000900, 0x93a00813, 0x000084d2, 0x00006a3d,
+ 0x00007011, 0x0000004b, 0x00006582, 0x42000000, 0x00000981, 0x0100405f,
+ 0x0000e790, 0x03800100, 0x00000988, 0x03800004, 0x00007910, 0x00000200,
+ 0x00000380, 0x69fc657d, 0x0000f500, 0x81002302, 0x0000e790, 0xa1c02302,
+ 0x00000788, 0x4510200e, 0x0000e117, 0x4514380e, 0x0000310f, 0x3a80004b,
+ 0x00007892, 0x03400001, 0x00008080, 0x21800e30, 0x00006081, 0xf000081e,
+ 0x00002401, 0x8002a64c, 0x00006583, 0xcc243486, 0x00000900, 0x93000e4c,
+ 0x0000e091, 0x93000000, 0x00008989, 0xffffffff, 0x00007f97, 0x39998230,
+ 0x00007812, 0x03400001, 0x00008080, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x1d513026, 0x0000c40b, 0x46c08623, 0x00001b91, 0x93402723,
+ 0x00004997, 0x2ac10723, 0x00009b91, 0x11004044, 0x00006380, 0x29000000,
+ 0x00008981, 0x29400000, 0x00009981, 0x000068e0, 0x0000f000, 0x21c02c57,
+ 0x00001181, 0x9c001487, 0x00004299, 0x36c004a8, 0x00001a8c, 0x72202457,
+ 0x00004299, 0x34c02457, 0x00009a8b, 0xf1803c57, 0x0000f8b2, 0xab400000,
+ 0x0000b58c, 0xc01d5345, 0x00006502, 0x6000081d, 0x0000a403, 0x07c4001f,
+ 0x00006380, 0xc000101c, 0x00002403, 0x0d07f8a7, 0x00009280, 0x00006af1,
+ 0x0000f010, 0x000069b0, 0x0000f200, 0x113ef844, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x77401c4e, 0x0000c489, 0x6ac0244e, 0x00001a8f, 0x8a80144e,
+ 0x0000f88a, 0x03400001, 0x00000000, 0x8c59b05c, 0x0000f81a, 0x33400000,
+ 0x0000b48c, 0x21c04063, 0x0000e780, 0x12c2e060, 0x00000000, 0x0019b04b,
+ 0x00001502, 0x04000087, 0x00007900, 0x00000200, 0x00000380, 0x45143010,
+ 0x0000e907, 0x00006986, 0x00007030, 0x40000d44, 0x0000e583, 0x13a25aec,
+ 0x00008101, 0x9300c336, 0x0000e080, 0xb000081f, 0x0000a400, 0x00006990,
+ 0x00007400, 0x8d401c4e, 0x0000e281, 0x13809800, 0x00000989, 0x1380f800,
+ 0x00009991, 0x80143253, 0x00001502, 0x00000053, 0x00006c71, 0x4a004444,
+ 0x0000f896, 0x83400000, 0x00003489, 0x22028016, 0x0000e180, 0x0e422404,
+ 0x00006000, 0x02c00000, 0x0000e180, 0x8222b888, 0x00006006, 0x000004ac,
+ 0x00006583, 0x0a027405, 0x00002084, 0x0000a8ec, 0x00005780, 0x00006001,
+ 0x00000080, 0x31027088, 0x0000e000, 0x0000180b, 0x00003106, 0x83c02302,
+ 0x0000e780, 0x01003c04, 0x00008881, 0x0204b000, 0x00007900, 0x0003f140,
+ 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x000010ec, 0x00005780, 0x00006001,
+ 0x00000080, 0xc000180b, 0x0000e006, 0x4510780e, 0x0000b107, 0x6a800024,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000,
+ 0x0000e180, 0x24c00060, 0x00004980, 0x22c42084, 0x0000e100, 0x2281202a,
+ 0x00004080, 0xe2513226, 0x00006100, 0x22400e30, 0x0000c081, 0x2279914e,
+ 0x00008830, 0x02a81402, 0x00008028, 0x00006a83, 0x00007408, 0xe232764e,
+ 0x00006101, 0xa2202c04, 0x00004301, 0x03c00004, 0x0000e180, 0xcc000000,
+ 0x00004991, 0x21808488, 0x0000e283, 0x2501502a, 0x00008900, 0xcc004000,
+ 0x0000e191, 0x21800eab, 0x00004081, 0x277fe09d, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x0e01c2aa, 0x0000e000, 0x288512aa, 0x00008000, 0x0a8152aa,
+ 0x0000e000, 0xaaed4c86, 0x00000101, 0xa5f4bf30, 0x00001301, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec,
+ 0x00005780, 0x00006001, 0x00000080, 0x8002a64c, 0x00006583, 0x21800e30,
+ 0x00000081, 0xf000081e, 0x0000e401, 0x3000081f, 0x00003402, 0x2b000cac,
+ 0x00006081, 0xeac00fab, 0x00000081, 0x21412085, 0x00006180, 0xaac036ab,
+ 0x00000181, 0xea4523a9, 0x0000e180, 0x2ac07cab, 0x00000181, 0x0c800832,
+ 0x00006080, 0xcc243486, 0x00000900, 0x93000e4c, 0x0000e091, 0x93000000,
+ 0x00008989, 0x39998230, 0x00007812, 0x3b400000, 0x0000b580, 0x26000000,
+ 0x0000e180, 0x69a564ac, 0x0000c901, 0x21808488, 0x0000e283, 0x967d4098,
+ 0x00002001, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26400000,
+ 0x000009e8, 0x26c00000, 0x0000e180, 0xe9929252, 0x0000c900, 0x6a901a22,
+ 0x00007500, 0x29e00824, 0x00008ad2, 0x94800000, 0x00006180, 0x69804000,
+ 0x00004991, 0x21800eab, 0x00001081, 0xaaed4c86, 0x00009101, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec,
+ 0x00005780, 0x00006001, 0x00000080, 0x8002a64c, 0x00006583, 0x21800e30,
+ 0x00000081, 0xf000081e, 0x0000e401, 0x3000081f, 0x00003402, 0x2b000cac,
+ 0x00006081, 0xeac00fab, 0x00000081, 0x21412085, 0x00006180, 0xaac036ab,
+ 0x00000181, 0xea4523a9, 0x0000e180, 0x2ac07cab, 0x00000181, 0x00006a81,
+ 0x00007400, 0x0c800832, 0x00006080, 0xcc243486, 0x00000900, 0x93000e4c,
+ 0x0000e091, 0x93000000, 0x00008989, 0x6aa7652c, 0x00007100, 0x21b18d4e,
+ 0x00009101, 0x0007fc86, 0x00001583, 0x21800000, 0x00006190, 0xe9d13226,
+ 0x0000c910, 0xa907fb30, 0x0000e290, 0x07422086, 0x0000a010, 0x00006c7d,
+ 0x00007008, 0x411a2886, 0x00006104, 0x002190a7, 0x00003086, 0x043220a4,
+ 0x00006087, 0x04128086, 0x00003187, 0x822178a7, 0x00006086, 0x863260a4,
+ 0x0000b087, 0xa1c02d00, 0x00001880, 0x303c3487, 0x0000d000, 0x003d3800,
+ 0x00000000, 0x303d2687, 0x00005000, 0x00395000, 0x00000000, 0x307a3087,
+ 0x0000b838, 0x6abd743d, 0x00007404, 0x307a4287, 0x0000b838, 0xa9000000,
+ 0x00009981, 0x80000011, 0x0000e407, 0x80000013, 0x00003407, 0x6ac00800,
+ 0x00006181, 0x80000015, 0x00006407, 0xeac00000, 0x00001981, 0x5ac02c57,
+ 0x000078b2, 0x03400001, 0x00008080, 0x21c03457, 0x00001181, 0x00000c87,
+ 0x00001583, 0x00005c57, 0x00009583, 0xffffffff, 0x00007f86, 0x00006bad,
+ 0x0000f030, 0x00006c17, 0x0000f018, 0x00005457, 0x0000e583, 0x21804056,
+ 0x00000780, 0x03800086, 0x0000f900, 0x00000200, 0x00000380, 0xa1c02302,
+ 0x0000e780, 0xb000081f, 0x0000a400, 0x12c00000, 0x00006180, 0x4514380e,
+ 0x0000e107, 0x00006990, 0x0000f410, 0x53001800, 0x000084fa, 0x8d400000,
+ 0x00006181, 0x0380405a, 0x00004788, 0x04000086, 0x0000f900, 0x00000200,
+ 0x00000380, 0x0380000e, 0x0000f900, 0x00000200, 0x00000380, 0x45143810,
+ 0x0000e107, 0x010a0011, 0x00003604, 0x29c19833, 0x00006100, 0x4514380e,
+ 0x0000e107, 0x21b2764e, 0x0000e101, 0x2a219e4e, 0x0000c101, 0x65002557,
+ 0x0000788e, 0x03400001, 0x00008080, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x5db13025, 0x0000c369, 0x00c02457, 0x00000098, 0xe4402457,
+ 0x0000f88a, 0xd3400000, 0x0000348c, 0xf1803c57, 0x0000f8b2, 0xab400000,
+ 0x0000b58c, 0xc01d5345, 0x00006502, 0x4000081d, 0x0000a402, 0xc000101c,
+ 0x00006c03, 0x00006a21, 0x0000f009, 0x002534a5, 0x00009503, 0xa1c02d00,
+ 0x0000e088, 0x12023046, 0x00004908, 0x113ef844, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x307a3487, 0x0000a088, 0x000069b0, 0x0000f400, 0x12423847,
+ 0x0000e108, 0xd15d53aa, 0x0000c908, 0x307a3c87, 0x0000a008, 0x53200024,
+ 0x000004f3, 0x12e00000, 0x000004d2, 0x13805800, 0x00001981, 0x8f406457,
+ 0x0000f892, 0x8b400000, 0x0000b48f, 0x0001a033, 0x00009502, 0x00006b19,
+ 0x0000700b, 0x6000101d, 0x00006403, 0xc000081c, 0x0000b403, 0x000068e0,
+ 0x00007400, 0x11004044, 0x00006380, 0xd0000023, 0x0000a401, 0xa9400000,
+ 0x00008ad2, 0x2c0036e3, 0x00001680, 0xa1c588b0, 0x00009000, 0xa1c01287,
+ 0x00006080, 0x4000101d, 0x0000a402, 0x937be487, 0x0000a084, 0xa000281c,
+ 0x00006406, 0xc001501d, 0x00003482, 0x6000081e, 0x00006403, 0xc000101c,
+ 0x0000b403, 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280, 0x1f00087c,
+ 0x00006080, 0x6000101d, 0x0000a403, 0x000068ea, 0x00007400, 0x937be487,
+ 0x00002884, 0x2a400800, 0x00006181, 0x0b015227, 0x00004000, 0xc000101c,
+ 0x0000e403, 0x6000081d, 0x00003403, 0x6b1c652c, 0x0000f100, 0xa1d98b31,
+ 0x00006100, 0x21b18d4e, 0x0000c101, 0x0007fc86, 0x00001583, 0x01800000,
+ 0x0000e190, 0xc1d13226, 0x0000c910, 0x8107fb30, 0x0000e290, 0x07422006,
+ 0x00002010, 0x00006c3e, 0x0000f008, 0x411a2806, 0x0000e104, 0x00219007,
+ 0x00003086, 0x04322004, 0x00006087, 0x04128006, 0x0000b187, 0x82217807,
+ 0x00006086, 0x86326004, 0x0000b087, 0xa1c02d00, 0x00001880, 0x30383487,
+ 0x00003838, 0x30382687, 0x00005000, 0x00395000, 0x00000000, 0x6b316d13,
+ 0x0000f404, 0x307a3087, 0x0000b838, 0x307a4287, 0x0000b838, 0xeae00c00,
+ 0x00000aee, 0xbec06457, 0x0000f892, 0x1b400000, 0x0000b48f, 0x03800100,
+ 0x00006180, 0xa1c02302, 0x00004780, 0x51000800, 0x0000e181, 0x4514380e,
+ 0x0000e107, 0x8c59b04b, 0x0000f81a, 0x33400000, 0x0000b48c, 0x80005657,
+ 0x00001583, 0x00040055, 0x00001582, 0xffffffff, 0x00007f86, 0x00006c3a,
+ 0x0000f018, 0x00006c36, 0x0000f018, 0x00001457, 0x00006583, 0xa1c01a55,
+ 0x00008080, 0xa1ffe287, 0x00007900, 0x0000003e, 0x00008280, 0x9300c287,
+ 0x000060b0, 0x9300a287, 0x00000098, 0x21e2aaec, 0x0000e101, 0xb000081f,
+ 0x0000a400, 0x8d401c87, 0x0000e281, 0xd3001000, 0x00000981, 0xa1c02302,
+ 0x0000e780, 0x12c2a855, 0x00000900, 0x00006990, 0x00007400, 0x13809800,
+ 0x00006181, 0x4514380e, 0x0000e107, 0x16000000, 0x0000e1b0, 0x51000000,
+ 0x00004981, 0x00000055, 0x00006582, 0xb000081f, 0x0000a400, 0x53201034,
+ 0x000004f3, 0x9380000f, 0x000083d7, 0x00006c26, 0x00007208, 0x12c00000,
+ 0x00006180, 0x21c01657, 0x0000c191, 0x12c2e05c, 0x0000e100, 0x51001657,
+ 0x0000c181, 0x00000c87, 0x00001583, 0x00006c1b, 0x0000f01b, 0x00006990,
+ 0x00007400, 0xa1c02302, 0x0000e780, 0x03800100, 0x00008980, 0x4514380e,
+ 0x00006907, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5,
+ 0x00009081, 0x10420700, 0x00007904, 0x00006966, 0x00007400, 0x10420700,
+ 0x00007904, 0x29400ca5, 0x00009081, 0x21c00000, 0x00009981, 0x21c00c87,
+ 0x00006081, 0x29c00ca6, 0x00008180, 0x29400ca5, 0x00006081, 0x21a43c87,
+ 0x00008900, 0x00053886, 0x00001502, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x00006966, 0x00007040, 0x10420700, 0x00007904, 0x21c00c87,
+ 0x00006081, 0x29400ca5, 0x00000081, 0x10420700, 0x00007904, 0x29e43c87,
+ 0x00006100, 0x21800ca6, 0x00004180, 0xd9c430a7, 0x0000784a, 0x33400000,
+ 0x0000348b, 0x2c0036e3, 0x00001680, 0xa1c588b0, 0x00009000, 0xa1c01287,
+ 0x00006080, 0x4000101d, 0x0000a402, 0x937be487, 0x0000a084, 0xa000281c,
+ 0x00006406, 0xc001501d, 0x00003482, 0x6000081e, 0x00006403, 0xc000101c,
+ 0x0000b403, 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280, 0x1f00087c,
+ 0x00006080, 0x6000101d, 0x0000a403, 0x937be487, 0x00002884, 0x2a400800,
+ 0x00006181, 0x0b015227, 0x00004000, 0x00198230, 0x00007808, 0x00000000,
+ 0x00000000, 0xe361b330, 0x0000f80a, 0x03400001, 0x00000060, 0x000004ac,
+ 0x0000f88b, 0xab400000, 0x00003687, 0x113fb844, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x3d4004ac, 0x0000f893, 0x03400000, 0x00003680, 0x01085800,
+ 0x00009980, 0x6b957ac7, 0x00007500, 0xc1000a26, 0x00001080, 0x01802004,
+ 0x00009900, 0xa1800e53, 0x00001283, 0xd4800f52, 0x0000e091, 0x2000081e,
+ 0x00002412, 0xd11a24a6, 0x00006010, 0x89800a26, 0x00008090, 0x000069ad,
+ 0x0000f010, 0x00005457, 0x00001583, 0x00006c11, 0x0000700b, 0x69ad7500,
+ 0x00007100, 0x000069ad, 0x00007000, 0x74aa7633, 0x00004369, 0x00c02457,
+ 0x00000098, 0xe4402457, 0x0000f88a, 0xd3400000, 0x0000348c, 0xf1803c57,
+ 0x0000f8b2, 0xab400000, 0x0000b58c, 0xc01d5345, 0x00006502, 0x0000081d,
+ 0x0000a403, 0x07c4001f, 0x00006380, 0xc000101c, 0x00002403, 0x0d243486,
+ 0x00006100, 0x50001044, 0x0000640a, 0x00006c08, 0x0000f010, 0x000069b0,
+ 0x00007000, 0x00004060, 0x0000e582, 0xb000081f, 0x0000a400, 0x12c26000,
+ 0x000084f1, 0x9380000f, 0x000083d7, 0x00006c04, 0x0000f010, 0x00006990,
+ 0x00007400, 0xa1c02302, 0x00001780, 0x4514380e, 0x00006907, 0x12c2e068,
+ 0x0000e000, 0x21c0406b, 0x00000780, 0x05000087, 0x0000f900, 0x00000200,
+ 0x00000380, 0x45143014, 0x00006907, 0x12c25864, 0x0000e000, 0x21c04067,
+ 0x00000780, 0x04800087, 0x0000f900, 0x00000200, 0x00000380, 0x21c04063,
+ 0x0000e780, 0x45143012, 0x00002107, 0x04000087, 0x00007900, 0x00000200,
+ 0x00000380, 0x12c25860, 0x00006000, 0x45143010, 0x0000a107, 0x6199b04b,
+ 0x0000f832, 0x8b400000, 0x0000b581, 0x69ad753d, 0x00007300, 0x69400000,
+ 0x00001981, 0x000069ad, 0x00007000, 0x0100406b, 0x0000e780, 0x21c04067,
+ 0x00000780, 0x03800087, 0x00007900, 0x00000200, 0x00000380, 0x04000004,
+ 0x0000f900, 0x00000200, 0x00000380, 0x0000690e, 0x0000f400, 0xa1c02302,
+ 0x00001780, 0x45143810, 0x0000e107, 0x4514380e, 0x0000b107, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5,
+ 0x00009081, 0x00006b62, 0x00007400, 0x10420700, 0x00007904, 0x29400ca5,
+ 0x00009081, 0x21c0405f, 0x0000e780, 0x01004063, 0x00000780, 0x04000004,
+ 0x0000f900, 0x00000200, 0x00000380, 0x01004067, 0x00001780, 0x04800004,
+ 0x00007900, 0x00000200, 0x00000380, 0x0100406b, 0x00001780, 0x03800087,
+ 0x00007900, 0x00000200, 0x00000380, 0x05000004, 0x00007900, 0x00000200,
+ 0x00000380, 0xa1c02302, 0x00001780, 0x0000690e, 0x0000f400, 0x4514380e,
+ 0x0000e107, 0x45143810, 0x0000b107, 0x45143814, 0x00006107, 0x45143812,
+ 0x00003107, 0x21c04063, 0x0000e780, 0x01004067, 0x00008780, 0x04000004,
+ 0x0000f900, 0x00000200, 0x00000380, 0x0100406b, 0x00001780, 0x03800087,
+ 0x00007900, 0x00000200, 0x00000380, 0x04800004, 0x00007900, 0x00000200,
+ 0x00000380, 0xa1c02302, 0x00001780, 0x0000690e, 0x0000f400, 0x4514380e,
+ 0x0000e107, 0x45143810, 0x0000b107, 0x45143812, 0x0000e907, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x6c036494, 0x00007100, 0x6c046550,
+ 0x0000f100, 0x01085000, 0x00001980, 0x6c087ac7, 0x00007500, 0xc1000a26,
+ 0x00001080, 0x01802004, 0x00009900, 0x002534a5, 0x00006503, 0x50001044,
+ 0x00002402, 0xa1c02d00, 0x0000e088, 0x12023046, 0x00004908, 0x307a3487,
+ 0x0000a088, 0x000069b0, 0x0000f400, 0x12423847, 0x0000e108, 0xd15d53aa,
+ 0x0000c908, 0x307a3c87, 0x0000a008, 0x01001458, 0x00009283, 0x01085800,
+ 0x00001988, 0xc1000a26, 0x00009088, 0x00006b9d, 0x00007010, 0x6c177ac7,
+ 0x0000f300, 0x01802004, 0x00009900, 0x01085000, 0x00001980, 0x6c1b7ac7,
+ 0x0000f500, 0xc1000a26, 0x00001080, 0x01802004, 0x00009900, 0x00001c87,
+ 0x00009583, 0x00002487, 0x00001583, 0x00001487, 0x00001583, 0x00006c30,
+ 0x00007008, 0x00006c2f, 0x0000f008, 0x00006b5b, 0x00007010, 0x00006990,
+ 0x00007400, 0x03800100, 0x00006180, 0xa1c02302, 0x00004780, 0x12c25860,
+ 0x00006000, 0x4514380e, 0x00002107, 0x00006990, 0x00007400, 0x03800100,
+ 0x00006180, 0xa1c02302, 0x00004780, 0x51000800, 0x0000e181, 0x4514380e,
+ 0x0000e107, 0x01085000, 0x00001980, 0x6c2f7ac7, 0x00007500, 0xc1000a26,
+ 0x00001080, 0x01802004, 0x00009900, 0x12c2e068, 0x00001000, 0x00006c21,
+ 0x00007200, 0x12c25864, 0x00001000, 0x01085000, 0x00001980, 0x6c367ac7,
+ 0x0000f500, 0xc1000a26, 0x00001080, 0x01802004, 0x00009900, 0x01085000,
+ 0x00001980, 0x6c3a7ac7, 0x0000f500, 0xc1000a26, 0x00001080, 0x01802004,
+ 0x00009900, 0x01085000, 0x00001980, 0x6c3e7ac7, 0x00007500, 0xc1000a26,
+ 0x00001080, 0x01802004, 0x00009900, 0x8c543a87, 0x0000e100, 0x4000101d,
+ 0x00006402, 0x2c0036e3, 0x00001680, 0xa1c588b0, 0x00009000, 0xa1c01287,
+ 0x00006080, 0xa000501c, 0x0000a406, 0x9343e487, 0x0000a004, 0xc001301d,
+ 0x00006482, 0x0000081f, 0x00003402, 0x113df844, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x6000101d, 0x00006403, 0xc000101c, 0x0000b403, 0x000068ea,
+ 0x00007400, 0x1f000c7c, 0x00009081, 0x9343e487, 0x00002804, 0x0001a033,
+ 0x00009502, 0x6000101d, 0x0000e413, 0xc000081c, 0x00003413, 0xd0000023,
+ 0x00006c11, 0x00006c5d, 0x0000f008, 0x00006923, 0x00007000, 0x21f2764e,
+ 0x00009900, 0x00019887, 0x00001502, 0x0000101d, 0x0000e40b, 0xc000081c,
+ 0x0000340b, 0xa0000023, 0x0000ec09, 0x00006c60, 0x00007010, 0x00006923,
+ 0x0000f200, 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280, 0x000069b0,
+ 0x0000f200, 0xc000101c, 0x0000e403, 0x6000081d, 0x00003403, 0x21820444,
+ 0x00001283, 0xc000101c, 0x00006413, 0x0000081d, 0x0000b413, 0x00006923,
+ 0x00007009, 0x000069b0, 0x00007000, 0x21f2764e, 0x00009900, 0x00019887,
+ 0x00001502, 0x00006c70, 0x0000f013, 0x11004044, 0x00006380, 0x0000101d,
+ 0x0000a403, 0xc000081c, 0x0000e403, 0xa0000023, 0x0000b401, 0x000068e0,
+ 0x00007400, 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280, 0xa9400000,
+ 0x00008ad2, 0x21820444, 0x00001283, 0xc000101c, 0x00006413, 0x0000081d,
+ 0x0000b413, 0x00006a10, 0x00007009, 0x00006b1b, 0x00007000, 0x80192a26,
+ 0x00001502, 0x00006c92, 0x0000f013, 0x4000101d, 0x00006402, 0xc000081c,
+ 0x0000b403, 0x000068e0, 0x00007400, 0x11004044, 0x00006380, 0x40000023,
+ 0x0000a401, 0xa9400000, 0x00008ad2, 0x2c0036e3, 0x00001680, 0xa1c588b0,
+ 0x00009000, 0xa1c01287, 0x00006080, 0x4000101d, 0x0000a402, 0x9343e487,
+ 0x0000a004, 0xa000501c, 0x00006406, 0xc001301d, 0x00003482, 0x113df844,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x0000081f, 0x00006402, 0xc000101c,
+ 0x0000b403, 0x1f000c7c, 0x00006081, 0x6000101d, 0x0000a403, 0x9343e487,
+ 0x00002804, 0x8c598b31, 0x00009900, 0x00198230, 0x00007808, 0x00000000,
+ 0x00000000, 0xe361b330, 0x0000f80a, 0x03400001, 0x00000060, 0x000004ac,
+ 0x0000f88b, 0xab400000, 0x00003687, 0x00006b1b, 0x0000f200, 0xc000101c,
+ 0x0000e403, 0x4000081d, 0x00003402, 0x0001a033, 0x00009502, 0xc000101c,
+ 0x0000640b, 0x6000081d, 0x0000b40b, 0x00006b02, 0x0000f011, 0x000068ea,
+ 0x0000f000, 0x21f2764e, 0x00009900, 0x00019887, 0x00001502, 0x21820444,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x00006c68, 0x0000f008, 0x00006a10,
+ 0x0000f008, 0x000068ea, 0x00007200, 0xc000101c, 0x0000e403, 0x0000081d,
+ 0x00003403, 0x80192a26, 0x00001502, 0xc000101c, 0x00006413, 0x4000081d,
+ 0x0000b412, 0x00006c77, 0x0000f009, 0x000068ea, 0x0000f000, 0x8002a64c,
+ 0x00006583, 0x21c00e30, 0x00008081, 0x93000000, 0x00006189, 0x93000e4c,
+ 0x00004091, 0x0000004b, 0x00006582, 0xf000081e, 0x00002401, 0x113ef844,
+ 0x00007908, 0x003ffffe, 0x00008280, 0xcc243c87, 0x0000e100, 0x2932be57,
+ 0x00004909, 0x000068e0, 0x0000f208, 0x2972be57, 0x00009909, 0x00006cf5,
+ 0x0000f000, 0x80192a26, 0x00001502, 0x4000101d, 0x0000e40a, 0xc000081c,
+ 0x0000340b, 0x40000023, 0x00006c09, 0x00006cce, 0x0000f010, 0x00006923,
+ 0x00007000, 0x4000101d, 0x00006402, 0xa000281c, 0x00003406, 0xc001501d,
+ 0x00006482, 0x6000081e, 0x00003403, 0x113df844, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x6cc66494, 0x0000f500, 0xc000101c, 0x0000e403, 0x6000101d,
+ 0x00003403, 0x2a400800, 0x00006181, 0x0b01524c, 0x0000c000, 0x2c0036e3,
+ 0x00001680, 0xa1c588b0, 0x00009000, 0xa1c01287, 0x00009080, 0x937be487,
+ 0x0000a084, 0xffffffff, 0x00007f86, 0x6cce6550, 0x00007503, 0x1f00087c,
+ 0x00009080, 0x937be487, 0x00002884, 0x000069b0, 0x0000f200, 0xc000101c,
+ 0x0000e403, 0x4000081d, 0x00003402, 0x21c00da8, 0x00001181, 0x00001487,
+ 0x00001583, 0x6cd466c2, 0x0000f037, 0x400005a8, 0x00001583, 0xc000101c,
+ 0x0000640b, 0x4000101d, 0x0000b40a, 0x61ad4044, 0x00006008, 0xc001501d,
+ 0x0000b48a, 0x00006c02, 0x0000f010, 0x00006c02, 0x0000f200, 0x6000101d,
+ 0x0000ec03, 0x000068cb, 0x00007400, 0xc0118b31, 0x00009502, 0xc000081c,
+ 0x00006413, 0xc000481d, 0x00003416, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x038f2000,
+ 0x0000f900, 0x002b5c76, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x01800000, 0x000080dc, 0x6ced1bb2, 0x0000f500, 0x82600500,
+ 0x00008026, 0x81001000, 0x0000e180, 0x02c01002, 0x00004900, 0x0001a033,
+ 0x00009502, 0x6000101d, 0x0000e413, 0xc000081c, 0x00003413, 0xd0000023,
+ 0x00006c11, 0x00006d05, 0x0000f008, 0x000004ac, 0x00006583, 0x11004044,
+ 0x00000380, 0x00006c00, 0x0000700b, 0x6b196550, 0x00007100, 0x21f2764e,
+ 0x00009900, 0x00019887, 0x00001502, 0x0000101d, 0x0000e40b, 0xc000081c,
+ 0x0000340b, 0xa0000023, 0x0000ec09, 0x00006d09, 0x0000f010, 0x00006cf2,
+ 0x0000f200, 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280, 0x80192a26,
+ 0x00001502, 0x4000101d, 0x0000e40a, 0xc000081c, 0x0000340b, 0x40000023,
+ 0x00006c09, 0x00006d0f, 0x0000f010, 0x00006cf2, 0x00007000, 0xc000101c,
+ 0x0000e403, 0x6000081d, 0x00003403, 0x3d4004ac, 0x0000f893, 0x03400000,
+ 0x00003680, 0x1f020444, 0x00001283, 0xc000101c, 0x00006413, 0x0000081d,
+ 0x0000b413, 0x00006cf2, 0x00007009, 0x3d4004ac, 0x0000f893, 0x03400000,
+ 0x00003680, 0xc000101c, 0x0000e403, 0x4000081d, 0x00003402, 0x3d4004ac,
+ 0x0000f893, 0x03400000, 0x00003680, 0x2c01864c, 0x00001680, 0x290588b0,
+ 0x00009000, 0x3b40003a, 0x0000f900, 0x00000008, 0x00008082, 0x3980003b,
+ 0x00006084, 0x2b720004, 0x00000980, 0x2bc768a4, 0x00006002, 0xe1d722e4,
+ 0x00000900, 0x2902a800, 0x0000e180, 0x2b8000e6, 0x0000c084, 0x39f260a4,
+ 0x0000e100, 0xeb581302, 0x00008900, 0x29000540, 0x00001980, 0x2c0182e7,
+ 0x00001680, 0xa98588b0, 0x00009000, 0x8005faa6, 0x0000e582, 0x75e800a4,
+ 0x0000a101, 0x29460000, 0x0000f900, 0x000014c4, 0x00000980, 0x29c60000,
+ 0x00007900, 0x00007fc0, 0x00000980, 0x00006d37, 0x0000f030, 0xa9280500,
+ 0x00009900, 0x700600ec, 0x0000d680, 0x003d24c4, 0x00008010, 0x703d78ec,
+ 0x0000d600, 0x003d7000, 0x00000000, 0x700600ec, 0x0000d680, 0x003d6fc0,
+ 0x00008078, 0x00c002ec, 0x0000df80, 0x16c9900b, 0x00009684, 0xb9006087,
+ 0x00000a92, 0xa9801803, 0x00000ad6, 0x38430000, 0x00009981, 0xffffffff,
+ 0x00007f86, 0x00000000, 0x00007083, 0x000000a5, 0x00006d86, 0x001530a5,
+ 0x0000e906, 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000, 0x2c0182e7,
+ 0x00001680, 0xa9c588b0, 0x00001000, 0x703d78ec, 0x0000d600, 0x003d7000,
+ 0x00000000, 0x703d38ec, 0x00005600, 0x003d6800, 0x00000000, 0xa9c60000,
+ 0x00006180, 0x008000a5, 0x00006586, 0xa91532a7, 0x00006100, 0xab801aa6,
+ 0x00008780, 0xa9d532a7, 0x00006100, 0x001520a5, 0x00002106, 0xa9280500,
+ 0x00009900, 0x0c0524a8, 0x00006884, 0x2ba574a8, 0x00009001, 0x042570a4,
+ 0x00006885, 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000, 0x703f68ec,
+ 0x0000d600, 0x003f3000, 0x00000000, 0x703d38ec, 0x00005600, 0x003d6800,
+ 0x00000000, 0x00c002ec, 0x0000df80, 0x16ca980b, 0x00001684, 0xb9006087,
+ 0x00000a92, 0xa9801803, 0x00000ad6, 0x38430000, 0x00009981, 0xffffffff,
+ 0x00007f86, 0x00000000, 0x00007083, 0xa1d722e4, 0x00001900, 0x84598230,
+ 0x0000f80b, 0x03400001, 0x00000000, 0x8461b330, 0x0000f80b, 0x03400001,
+ 0x00000000, 0xaca04444, 0x0000c98d, 0xd2c0f4ab, 0x00001b9a, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xb9143a87,
+ 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x000094ab,
+ 0x00001583, 0xb9143a87, 0x00001930, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x000070b3, 0x29c3fa27, 0x00009080, 0x001d48a7, 0x00009502, 0x29c43085,
+ 0x0000e048, 0xb9143a87, 0x00000940, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x0000f0c3, 0x001138a7, 0x00001502, 0xa000281c, 0x0000642e, 0x6000081e,
+ 0x0000342b, 0x0b015227, 0x0000e028, 0xc000101c, 0x0000242b, 0x00006e14,
+ 0x0000f020, 0x2c0036e3, 0x00001680, 0xa98588b0, 0x00009000, 0xa98012a6,
+ 0x00006080, 0xb9143a87, 0x00008900, 0x937be4a6, 0x0000a084, 0x2a400800,
+ 0x00006181, 0x4000101d, 0x00006402, 0xc001501d, 0x0000ec82, 0x113df844,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x1f00087c, 0x00006080, 0x6000101d,
+ 0x0000a403, 0x00000000, 0x0000f280, 0x937be4a6, 0x00002884, 0x29401ca5,
+ 0x0000e081, 0x7842a000, 0x00000981, 0xffffffff, 0x00007fc7, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x00006457,
+ 0x0000e583, 0xd4800f52, 0x00008181, 0xd3001000, 0x00006189, 0x12c2e05c,
+ 0x00004908, 0x51000800, 0x00006189, 0x13809800, 0x0000c989, 0x00006d9f,
+ 0x0000f010, 0x0019b05c, 0x0000e502, 0x29a2e2ec, 0x00008101, 0x8d401ca6,
+ 0x0000e281, 0xb000081f, 0x0000a400, 0x9300a336, 0x0000e098, 0xa9801a5c,
+ 0x000080b0, 0xa9bfe2a6, 0x00007930, 0x0000003e, 0x00008280, 0x9300a2a6,
+ 0x000090b0, 0x6e406457, 0x00007893, 0x23400000, 0x0000368d, 0x6d8c6d13,
+ 0x00007004, 0x53200024, 0x000004f3, 0x12e00000, 0x000004d2, 0x13805800,
+ 0x00001981, 0x6e406457, 0x00007893, 0x03400001, 0x00008080, 0x42000800,
+ 0x00006181, 0xa9802302, 0x00004780, 0x0000004b, 0x00009582, 0x03800100,
+ 0x0000e188, 0x0100405f, 0x00004790, 0x03800004, 0x00007910, 0x00000200,
+ 0x00000380, 0x6dae657d, 0x0000f500, 0xffffffff, 0x00007f86, 0x4515300e,
+ 0x00006907, 0x0000004b, 0x00009582, 0xb9143a87, 0x0000e110, 0xf000081e,
+ 0x00006409, 0x29800e30, 0x00009089, 0xcc2534a6, 0x00001908, 0xffffffff,
+ 0x00007f86, 0x00000000, 0x0000f093, 0x00006e18, 0x0000f400, 0x8002a64c,
+ 0x00009583, 0x93000e4c, 0x0000e091, 0x93000000, 0x00008989, 0x400015a8,
+ 0x00006583, 0x29800000, 0x00000981, 0x2202a016, 0x00006180, 0x29800800,
+ 0x0000c989, 0x02c00000, 0x0000e180, 0x8222b888, 0x00006006, 0x000004ac,
+ 0x00006583, 0x30e53088, 0x00002000, 0x0e4224a6, 0x0000e000, 0x0000180b,
+ 0x00003106, 0x01003ca6, 0x0000e081, 0xc000180b, 0x0000e006, 0xaa812000,
+ 0x0000e180, 0x0a0274a6, 0x0000e084, 0x0000a8ec, 0x00005780, 0x00006001,
+ 0x00000080, 0xa2253404, 0x0000e301, 0x23400000, 0x00008980, 0xa9802302,
+ 0x0000e780, 0x23800000, 0x00008980, 0x0204b000, 0x00007900, 0x0003f140,
+ 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x000010ec, 0x00005780, 0x00006001,
+ 0x00000080, 0x23c00000, 0x0000e180, 0x4515300e, 0x0000e107, 0x24000000,
+ 0x000089c4, 0x24800000, 0x0000e180, 0x24c00060, 0x00004980, 0x22c42084,
+ 0x0000e100, 0x2281202a, 0x00004080, 0xe2513226, 0x00006100, 0x22400e30,
+ 0x0000c081, 0x2279914e, 0x00008830, 0x00006e03, 0x00007408, 0x02a81402,
+ 0x00008028, 0x03c00004, 0x0000e180, 0xe232764e, 0x00004901, 0x25008488,
+ 0x0000e283, 0xcc000000, 0x00000981, 0xcc004000, 0x0000e191, 0x0e01c2aa,
+ 0x00004000, 0x277fe09d, 0x00007900, 0x003ffffe, 0x00008280, 0x288512aa,
+ 0x0000e000, 0x2501502a, 0x00008900, 0x0a8152aa, 0x0000e000, 0xa5f4bf30,
+ 0x00008301, 0x29800eab, 0x00009081, 0xaaed4ca6, 0x00001101, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec,
+ 0x00005780, 0x00006001, 0x00000080, 0x8002a64c, 0x00006583, 0x29800e30,
+ 0x00008081, 0xf000081e, 0x0000e401, 0x3000081f, 0x00003402, 0x2b000cac,
+ 0x00006081, 0xeac00fab, 0x00000081, 0x21412085, 0x00006180, 0xaac036ab,
+ 0x00000181, 0xea4523a9, 0x0000e180, 0x2ac07cab, 0x00000181, 0x00006e18,
+ 0x0000f400, 0x0c800832, 0x00006080, 0xcc2534a6, 0x00000900, 0x93000e4c,
+ 0x0000e091, 0x93000000, 0x00008989, 0x26000000, 0x0000e180, 0x69a564ac,
+ 0x0000c901, 0x25000000, 0x0000e180, 0x967d4098, 0x0000e001, 0x26008488,
+ 0x0000e283, 0x25400000, 0x00008980, 0x25800000, 0x000089dc, 0x26400000,
+ 0x000009e8, 0x26c00000, 0x0000e180, 0xe9929252, 0x0000c900, 0x6ded1a22,
+ 0x0000f500, 0x29e00824, 0x00008ad2, 0x94800000, 0x00006180, 0x69804000,
+ 0x00004991, 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x60e52ca4,
+ 0x0000f81b, 0xf3400000, 0x0000368c, 0x56400752, 0x0000f893, 0x03400001,
+ 0x00008080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x00131803, 0x00006106, 0x00105001, 0x0000b586, 0x00180801,
+ 0x00006505, 0xc000a803, 0x0000b606, 0x00000001, 0x00007480, 0xc0006000,
+ 0x0000e181, 0xc0000801, 0x00006401, 0x80931262, 0x00009900, 0x17800000,
+ 0x00007900, 0x000040c0, 0x00000980, 0x17400002, 0x00006180, 0x08001a5a,
+ 0x0000e106, 0x97845500, 0x00007900, 0x00000002, 0x00000080, 0xd7680500,
+ 0x00006100, 0x961722e4, 0x0000c900, 0x723af0ec, 0x0000d600, 0x003ae800,
+ 0x00000000, 0x723b10ec, 0x0000d600, 0x0010f940, 0x00008080, 0x96d01202,
+ 0x00009900, 0x00c002ec, 0x0000df80, 0x16d1b80b, 0x00009684, 0x97680500,
+ 0x00009900, 0x8882e45d, 0x00002081, 0xffffffff, 0x00007fa7, 0x1640445c,
+ 0x00009283, 0x01572862, 0x0000e210, 0x02000000, 0x00008990, 0x01000000,
+ 0x0000f910, 0x0000c040, 0x00000980, 0x00006e4b, 0x0000f008, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x038dd800, 0x0000f900, 0x003fe404,
+ 0x00000980, 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106, 0x88a0445d,
+ 0x0000a080, 0x00006e5c, 0x0000f400, 0x81001000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x02e00702, 0x00008026, 0x1740b45c, 0x00009281, 0x0000845d,
+ 0x00009583, 0x0f02e408, 0x0000e010, 0x0f82e005, 0x00003010, 0x01000000,
+ 0x0000f910, 0x0000c040, 0x00000980, 0x00006e5e, 0x00007008, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03885000, 0x0000f900, 0x00010674,
+ 0x00000980, 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106, 0x81001000,
+ 0x0000e180, 0xc2700600, 0x00004901, 0x82781400, 0x0000802c, 0x02204408,
+ 0x00001900, 0x6e5e1bb2, 0x0000f300, 0x01802805, 0x00009900, 0x97680500,
+ 0x00009900, 0x88a2cc5d, 0x00002080, 0x6e636e20, 0x00007503, 0xffffffff,
+ 0x00007f86, 0x0802ca63, 0x00006900, 0x8284060c, 0x00006283, 0x8000080b,
+ 0x00002402, 0x16400800, 0x0000e191, 0x16401000, 0x0000c989, 0xd6000f0c,
+ 0x0000e283, 0xe000080b, 0x0000a400, 0xa2a2c804, 0x0000e002, 0x4000280b,
+ 0x00003407, 0x16400800, 0x0000e191, 0x16401000, 0x0000c989, 0xd600170c,
+ 0x0000e283, 0xc0000809, 0x00002401, 0xc322c804, 0x0000e002, 0xb000780b,
+ 0x00003407, 0x16400800, 0x0000e191, 0x16401000, 0x0000c989, 0xd600270c,
+ 0x00001283, 0x16400800, 0x0000e191, 0xe3a2c804, 0x0000e002, 0xd600470c,
+ 0x0000e283, 0x16401000, 0x00000989, 0x000800ec, 0x00005780, 0x00005800,
+ 0x00000080, 0x16400800, 0x0000e191, 0x0422c804, 0x0000e003, 0xd600870c,
+ 0x0000e283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800,
+ 0x0000e191, 0x24a2c804, 0x0000e003, 0xd601070c, 0x0000e283, 0x16401000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x4522c804,
+ 0x0000e003, 0xd602070c, 0x0000e283, 0x16401000, 0x00000989, 0xffffffff,
+ 0x00007f86, 0x16400800, 0x0000e191, 0x65a2c804, 0x0000e003, 0x16401000,
+ 0x00009989, 0xffffffff, 0x00007f86, 0x16401c0d, 0x00006283, 0x8622c804,
+ 0x00002003, 0x16401000, 0x0000e189, 0x16400800, 0x0000c991, 0xffffffff,
+ 0x00007f86, 0x1641840d, 0x00006283, 0x8222c805, 0x0000a002, 0x16400800,
+ 0x0000e191, 0x16401000, 0x0000c989, 0x56401d0d, 0x00009283, 0x16400800,
+ 0x0000e191, 0xc322c805, 0x00006002, 0x5640650d, 0x00006283, 0x16401000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x0422c805,
+ 0x00006003, 0x5641850d, 0x00006283, 0x16401000, 0x00000989, 0xffffffff,
+ 0x00007f86, 0x16400800, 0x0000e191, 0x24a2c805, 0x00006003, 0x5646050d,
+ 0x00006283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800,
+ 0x0000e191, 0x4522c805, 0x00006003, 0x82801e0d, 0x00006283, 0x16401000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x65a2c805,
+ 0x00006003, 0x8280660d, 0x00006283, 0x16401000, 0x00000989, 0xffffffff,
+ 0x00007f86, 0x16400800, 0x0000e191, 0x8622c805, 0x00006003, 0x8281860d,
+ 0x00006283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800,
+ 0x0000e191, 0xa6a2c805, 0x00006003, 0x8286060d, 0x00006283, 0x16401000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0xc722c805,
+ 0x00006003, 0xd6001f0d, 0x0000e283, 0x16401000, 0x00000989, 0xffffffff,
+ 0x00007f86, 0x16400800, 0x0000e191, 0xe7a2c805, 0x00006003, 0xd600670d,
+ 0x0000e283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800,
+ 0x0000e191, 0x0022c806, 0x00006002, 0xd606070d, 0x0000e283, 0x16401000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x20a2c806,
+ 0x00006002, 0x5642050e, 0x0000e283, 0x16401000, 0x00000989, 0xffffffff,
+ 0x00007f86, 0x16400800, 0x0000e191, 0x61a2c806, 0x00006002, 0x82800e0e,
+ 0x0000e283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800,
+ 0x0000e191, 0x8622c806, 0x00006003, 0x8280260e, 0x0000e283, 0x16401000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0xc722c806,
+ 0x00006003, 0x8280460e, 0x0000e283, 0x16401000, 0x00000989, 0xffffffff,
+ 0x00007f86, 0x16400800, 0x0000e191, 0x0022c807, 0x0000e002, 0x8280860e,
+ 0x0000e283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800,
+ 0x0000e191, 0x20a2c807, 0x0000e002, 0x8281060e, 0x0000e283, 0x16401000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x4122c807,
+ 0x0000e002, 0x8282060e, 0x0000e283, 0x16401000, 0x00000989, 0xffffffff,
+ 0x00007f86, 0x16400800, 0x0000e191, 0x61a2c807, 0x0000e002, 0x8284060e,
+ 0x0000e283, 0x16401000, 0x00000989, 0x6000080a, 0x00006c02, 0x8222c807,
+ 0x0000e002, 0xa2aba80a, 0x00003586, 0x16400800, 0x0000e191, 0x16401000,
+ 0x0000c989, 0xd6000f0e, 0x00009283, 0x16400800, 0x0000e191, 0xa2a2c807,
+ 0x0000e002, 0xd600170e, 0x00006283, 0x16401000, 0x00000989, 0xffffffff,
+ 0x00007f86, 0x16400800, 0x0000e191, 0xc322c807, 0x0000e002, 0xd600270e,
+ 0x00006283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800,
+ 0x0000e191, 0xe3a2c807, 0x0000e002, 0xd600470e, 0x00006283, 0x16401000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x0422c807,
+ 0x0000e003, 0xd601070e, 0x00006283, 0x16401000, 0x00000989, 0xffffffff,
+ 0x00007f86, 0x16400800, 0x0000e191, 0x24a2c807, 0x0000e003, 0x16401000,
+ 0x00009989, 0xffffffff, 0x00007f86, 0x1642040f, 0x00006283, 0x65a2c807,
+ 0x00002003, 0x16401000, 0x0000e189, 0x16400800, 0x0000c991, 0xffffffff,
+ 0x00007f86, 0x1644040f, 0x00006283, 0x8222c808, 0x00002002, 0x16400800,
+ 0x0000e191, 0x16401000, 0x0000c989, 0x56400d0f, 0x00009283, 0x16400800,
+ 0x0000e191, 0xa2a2c808, 0x0000e002, 0x5640150f, 0x00006283, 0x16401000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0xc322c808,
+ 0x0000e002, 0x5640450f, 0x00006283, 0x16401000, 0x00000989, 0xffffffff,
+ 0x00007f86, 0x16400800, 0x0000e191, 0xe3a2c808, 0x0000e002, 0x5640850f,
+ 0x00006283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800,
+ 0x0000e191, 0x24a2c808, 0x0000e003, 0x5641050f, 0x00006283, 0x16401000,
+ 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x4522c808,
+ 0x0000e003, 0x16401000, 0x00009989, 0xffffffff, 0x00007f86, 0x16400c10,
+ 0x0000e283, 0x65a2c808, 0x00002003, 0x16401000, 0x0000e189, 0x16400800,
+ 0x0000c991, 0xffffffff, 0x00007f86, 0x16401410, 0x0000e283, 0xc722c804,
+ 0x00002003, 0x16401000, 0x0000e189, 0x16400800, 0x0000c991, 0xffffffff,
+ 0x00007f86, 0x16402410, 0x0000e283, 0xe7a2c804, 0x00002003, 0x16401000,
+ 0x0000e189, 0x16400800, 0x0000c991, 0xffffffff, 0x00007f86, 0x16404410,
+ 0x0000e283, 0x0022c805, 0x0000a002, 0x16401000, 0x0000e189, 0x16400800,
+ 0x0000c991, 0xffffffff, 0x00007f86, 0x16408410, 0x0000e283, 0x20a2c805,
+ 0x0000a002, 0x16401000, 0x0000e189, 0x16400800, 0x0000c991, 0xffffffff,
+ 0x00007f86, 0x4122c805, 0x0000e802, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009008ec, 0x00005780, 0x00985ac2,
+ 0x000000c0, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000,
+ 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000,
+ 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000,
+ 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000,
+ 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000,
+ 0x000089dc, 0x26000000, 0x000089e4, 0x26c00000, 0x000089e8, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0xb912c258, 0x00006100, 0x0012d003,
+ 0x00006106, 0x01000000, 0x00007900, 0x00010000, 0x00000980, 0x0080045b,
+ 0x00000094, 0x01800000, 0x000080dc, 0x02000000, 0x000080e4, 0x02800000,
+ 0x000080ec, 0x00000000, 0x0000f280, 0x83240002, 0x00001980, 0x16409800,
+ 0x0000e180, 0x29431062, 0x0000c900, 0x29031863, 0x00006100, 0x0412e059,
+ 0x0000e187, 0x963ac9e4, 0x00000a0c, 0x6f7b20ba, 0x00007004, 0x000004a2,
+ 0x00001583, 0x01000000, 0x0000f910, 0x0000c040, 0x00000980, 0x01800000,
+ 0x0000e190, 0x01c00000, 0x00004990, 0x00006f8a, 0x0000f008, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03a0b800, 0x0000f900, 0x001a0e80,
+ 0x00000980, 0x81001000, 0x0000e180, 0x08001a09, 0x0000e106, 0x6f8a1bb2,
+ 0x00007500, 0x82600500, 0x00008026, 0xc2381061, 0x0000802c, 0xb91ac358,
+ 0x00001900, 0x303b44af, 0x00003038, 0x303b56af, 0x00003038, 0x307b60af,
+ 0x0000b038, 0x307b72af, 0x0000b038, 0x307b84af, 0x0000b038, 0x307b96af,
+ 0x0000b038, 0x30bba0af, 0x0000b038, 0x30bbb2af, 0x0000b038, 0x30bbc4af,
+ 0x00003038, 0x30bbd6af, 0x00003038, 0x30fbe0af, 0x0000b038, 0x30fbf2af,
+ 0x0000b038, 0x30fc04af, 0x00003038, 0x30fc16af, 0x00003038, 0x313c20af,
+ 0x0000b038, 0x313c32af, 0x0000b038, 0x313c44af, 0x00003038, 0x313c56af,
+ 0x00003038, 0x317c60af, 0x0000b038, 0x317c72af, 0x0000b038, 0x317c84af,
+ 0x0000b038, 0x317c96af, 0x0000b038, 0x31bca0af, 0x0000b038, 0x31bcb2af,
+ 0x0000b038, 0x00000000, 0x0000f480, 0x31bcc4af, 0x00003038, 0x31bcd6af,
+ 0x00003038, 0x0c000000, 0x000083c4, 0x0c800000, 0x000083cc, 0x0d000000,
+ 0x000083d4, 0x0d800000, 0x000083dc, 0x0e000000, 0x000083e4, 0x0e800000,
+ 0x000083ec, 0x0f400000, 0x000003f8, 0x0fc18000, 0x000005f0, 0x961722e4,
+ 0x00009900, 0x6fb06f75, 0x00007004, 0xb912c258, 0x00006100, 0x0000a80a,
+ 0x00006482, 0x0c3fe830, 0x0000f900, 0x003ffffe, 0x00008280, 0x3000a80b,
+ 0x00006480, 0x8000080a, 0x00003402, 0x04400000, 0x00006180, 0x0c004030,
+ 0x0000c380, 0x00002808, 0x00006406, 0x00005006, 0x00003407, 0xa0001004,
+ 0x0000e403, 0x40000807, 0x00003403, 0xd0001809, 0x00006405, 0x5000080c,
+ 0x0000b402, 0x09c00000, 0x0000f900, 0x000d0000, 0x00000980, 0xd000080b,
+ 0x00006400, 0xc000680a, 0x0000b407, 0x8ed34a69, 0x0000e100, 0x10034030,
+ 0x00006000, 0x0f000800, 0x0000e180, 0xc41b8b71, 0x00004900, 0x84c00971,
+ 0x000081ac, 0x07800001, 0x000081c8, 0x07c00000, 0x000002c0, 0x00000000,
+ 0x0000f480, 0x07000000, 0x000002ca, 0x84539272, 0x00001900, 0x17800702,
+ 0x000005bc, 0x0000185f, 0x00006906, 0x17009000, 0x0000f900, 0x00047080,
+ 0x00000980, 0x17400000, 0x00007900, 0x00018008, 0x00000980, 0x00000001,
+ 0x00007480, 0x0010b8ec, 0x00005780, 0x00c06640, 0x000007c0, 0xc000185f,
+ 0x0000e806, 0x19400759, 0x00008090, 0x96400ee3, 0x00006080, 0x01400000,
+ 0x00004980, 0x86bb0459, 0x0000b038, 0x86bb1659, 0x0000b038, 0x01800000,
+ 0x000080dc, 0x02000000, 0x000080e4, 0x02800000, 0x000080ec, 0x03000000,
+ 0x0000e181, 0x1902c058, 0x00004900, 0x19badf5a, 0x0000061c, 0x27000000,
+ 0x000089f4, 0x27c00000, 0x000089f8, 0x00009461, 0x0000c088, 0x00009461,
+ 0x00008098, 0x3bc07461, 0x0000c388, 0x00e07461, 0x00008098, 0x3f606461,
+ 0x00004488, 0xcee06461, 0x00009c9a, 0x01c05c61, 0x0000c789, 0xab408461,
+ 0x00009f8a, 0x34a08461, 0x0000c7b0, 0x1a80bc61, 0x00002188, 0x3ba0bc61,
+ 0x00004198, 0x00e0ac61, 0x00000088, 0x4140ac61, 0x00004598, 0xa3609c61,
+ 0x0000aa8f, 0x48a0cc61, 0x0000c488, 0xcce0cc61, 0x00009cac, 0x5560d461,
+ 0x0000c592, 0x1c477d0c, 0x00009b8b, 0x6dc77d0c, 0x0000788e, 0x4b800000,
+ 0x0000388d, 0x6ff96f75, 0x00007204, 0x17068000, 0x00009980, 0x40000d83,
+ 0x00009583, 0x29042885, 0x0000e108, 0x29442084, 0x00004908, 0x28c09800,
+ 0x0000f908, 0x00001000, 0x00000980, 0x000070c6, 0x0000f010, 0x700020ba,
+ 0x0000f004, 0x000004a2, 0x00001583, 0x01000000, 0x0000f910, 0x0000c040,
+ 0x00000980, 0x01c00000, 0x00006190, 0x81001000, 0x00004990, 0x0000700f,
+ 0x0000f008, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03a03000,
+ 0x0000f900, 0x003c1350, 0x00000980, 0xc2700600, 0x00006101, 0x08001a09,
+ 0x0000e106, 0x0000718f, 0x0000f400, 0x82781400, 0x0000802c, 0x01bc2f84,
+ 0x00000020, 0x303d04af, 0x0000b038, 0x303d16af, 0x0000b038, 0x307d20af,
+ 0x00003038, 0x307d32af, 0x00003038, 0x307d44af, 0x0000b038, 0x307d56af,
+ 0x0000b038, 0x30bd60af, 0x0000b038, 0x30bd72af, 0x0000b038, 0x8440a383,
+ 0x00006180, 0xb8450014, 0x00000980, 0x16002800, 0x00001981, 0x16000c58,
+ 0x00009183, 0x8690c000, 0x00006188, 0x05c00000, 0x00004989, 0x04c00000,
+ 0x0000e189, 0x06400000, 0x0000c989, 0x08400000, 0x00001989, 0x05020200,
+ 0x00007904, 0x0038a015, 0x00006886, 0x8230a015, 0x0000e886, 0x0428a015,
+ 0x0000e887, 0x0000701a, 0x0000f410, 0x8620a015, 0x00006887, 0x1040ac00,
+ 0x00007904, 0x234508a1, 0x0000e100, 0x21c008a1, 0x00004080, 0x05000000,
+ 0x00006180, 0x22d51aa3, 0x0000c900, 0x088014a5, 0x0000c388, 0x00e014a5,
+ 0x00000098, 0x0fc004a5, 0x00004588, 0x80800ca5, 0x0000858a, 0x10401ca5,
+ 0x0000c188, 0x00e044a5, 0x00008090, 0x18c055a5, 0x0000f88a, 0x9b800000,
+ 0x00003885, 0x14001da5, 0x0000f88a, 0x9b800000, 0x00003885, 0xb86d2814,
+ 0x0000e180, 0x08400c21, 0x0000c081, 0x16404800, 0x00009981, 0xffffffff,
+ 0x0000ffb7, 0x05420a00, 0x00007904, 0x09020a00, 0x0000f904, 0x16400c59,
+ 0x00006183, 0x05804015, 0x00008780, 0x0540c024, 0x00001880, 0x0540a816,
+ 0x00001300, 0x0000703a, 0x00007410, 0x1000ac00, 0x0000f904, 0x05412024,
+ 0x00001900, 0x000070a8, 0x00007200, 0x05404024, 0x00009780, 0x964046a5,
+ 0x00009880, 0x8692cfa5, 0x00009000, 0x166025a5, 0x0000c990, 0x66e1fa1a,
+ 0x00001cb1, 0x08402421, 0x00006081, 0xb8752814, 0x00000980, 0x16005000,
+ 0x00009980, 0x0000704d, 0x00007000, 0x10020e00, 0x0000f904, 0x16000858,
+ 0x00009182, 0x0000704c, 0x00007013, 0x000070a9, 0x00007000, 0xb86d2814,
+ 0x0000e180, 0x06752ea5, 0x0000c901, 0x16004800, 0x00006181, 0x08401c21,
+ 0x00004081, 0xffffffff, 0x0000ffb7, 0x05420a00, 0x00007904, 0x05820a00,
+ 0x00007904, 0x16000c58, 0x00006183, 0x05c0c015, 0x00008780, 0x05404016,
+ 0x00001880, 0x0540a817, 0x00009300, 0x00007056, 0x00007410, 0x1000ac00,
+ 0x0000f904, 0x05c00800, 0x0000e189, 0x0540b016, 0x00004900, 0x0540c016,
+ 0x00009780, 0x000070ac, 0x0000f400, 0x1000ac00, 0x0000f904, 0x05400000,
+ 0x00001981, 0x0500c6a5, 0x0000e080, 0x164087a5, 0x0000c880, 0x1602c814,
+ 0x0000e000, 0x08405421, 0x00008081, 0xb87d2814, 0x00006180, 0x050044a6,
+ 0x0000c880, 0x0000706f, 0x0000f400, 0x16004800, 0x0000e180, 0x1640a058,
+ 0x00004000, 0x0502cda6, 0x00009000, 0xffffffff, 0x00007f86, 0x10020e00,
+ 0x0000f904, 0x16000858, 0x00009182, 0x16404800, 0x00006189, 0xb86d2814,
+ 0x00004988, 0x0000706d, 0x0000f011, 0xffffffff, 0x00007fa7, 0x05420a00,
+ 0x00007904, 0x05820a00, 0x00007904, 0x16400c59, 0x00006183, 0x09008015,
+ 0x00000780, 0x04c00800, 0x00006189, 0x05408016, 0x00004880, 0x0540a824,
+ 0x00009300, 0x00007075, 0x0000f410, 0x1000ac00, 0x0000f904, 0x0540b016,
+ 0x00001900, 0x05408016, 0x00001780, 0x000070ac, 0x0000f400, 0x1000ac00,
+ 0x0000f904, 0x05400000, 0x00001981, 0x054015a5, 0x0000e181, 0x166d2da5,
+ 0x00008901, 0x2cc12c15, 0x0000789a, 0x03800001, 0x00008080, 0x086d2c21,
+ 0x00009001, 0x40001da5, 0x00009583, 0x090015a5, 0x00006799, 0xb8452800,
+ 0x00000998, 0x7842dc24, 0x00006199, 0x09400000, 0x00008999, 0x00007099,
+ 0x00007030, 0x00007092, 0x00007400, 0x16005000, 0x00009980, 0x05612058,
+ 0x00009100, 0x10020e00, 0x0000f904, 0x09400c25, 0x00009081, 0x05a12c25,
+ 0x00001900, 0x0000a816, 0x00001502, 0x00007090, 0x0000704b, 0x2c07e424,
+ 0x00001680, 0x054588b0, 0x00001001, 0x1660ac59, 0x00001003, 0x000070a9,
+ 0x0000f00b, 0xb86d2814, 0x0000e180, 0x16401c59, 0x0000c881, 0x85410009,
+ 0x000005e0, 0x0922c858, 0x00001100, 0xffffffff, 0x00007fa7, 0x09420a00,
+ 0x00007904, 0x05820a00, 0x00007904, 0x0962c825, 0x00006700, 0x09c12016,
+ 0x00000800, 0x05400c15, 0x00006183, 0x09412827, 0x00000300, 0x10012c00,
+ 0x0000f904, 0x0562c816, 0x0000e708, 0x0940b016, 0x00008900, 0x0000709f,
+ 0x0000f010, 0x1000ac00, 0x0000f904, 0x000070ac, 0x0000f200, 0x05400000,
+ 0x00001981, 0x05400800, 0x00009981, 0x96610c21, 0x00001900, 0x00108a59,
+ 0x00007828, 0x00000000, 0x00000000, 0x0ac00415, 0x0000f88a, 0x03800001,
+ 0x00008010, 0x2d807419, 0x000078b2, 0x03800001, 0x00008080, 0x00000894,
+ 0x0000ec01, 0xffffffff, 0x00007f86, 0x000070c6, 0x00007000, 0x81000e77,
+ 0x0000e283, 0x00000094, 0x00002401, 0x16400c13, 0x0000e291, 0x16400000,
+ 0x00008989, 0x00000417, 0x00006583, 0xe09c121a, 0x00000c00, 0x2380a014,
+ 0x0000e100, 0x0422c877, 0x0000e001, 0x16400000, 0x00006189, 0x1660cc19,
+ 0x0000c911, 0x00000417, 0x00009583, 0x2662cc59, 0x00006101, 0x16641c83,
+ 0x0000c911, 0x16400000, 0x00001989, 0xffffffff, 0x00007f86, 0x20e2cc59,
+ 0x00009901, 0x40000583, 0x0000e583, 0x30000077, 0x00002403, 0x847fe382,
+ 0x0000f900, 0x0000003e, 0x00008280, 0x44c3be77, 0x00006000, 0x042c1894,
+ 0x0000b009, 0xe1982800, 0x0000e180, 0x86401099, 0x00006686, 0xe0bfe382,
+ 0x00007900, 0x0000003e, 0x00008280, 0x233fe01f, 0x0000e180, 0x257c0249,
+ 0x00004980, 0x258003e8, 0x000089dc, 0xe0c00000, 0x0000e180, 0x217fe01f,
+ 0x0000c980, 0x21001211, 0x0000e080, 0x16009677, 0x0000c281, 0xa5000000,
+ 0x00001980, 0x57008458, 0x00004488, 0x74e44789, 0x00009c6d, 0x3c444f8a,
+ 0x0000c569, 0x1f446f87, 0x00001e62, 0x00000499, 0x00009583, 0x16400800,
+ 0x00001990, 0x16400000, 0x00009988, 0x000070e2, 0x0000f010, 0x00000483,
+ 0x00001583, 0x16400800, 0x00001990, 0xffffffff, 0x00007f86, 0x5162c82c,
+ 0x0000e800, 0x84440211, 0x00006080, 0x84ef2004, 0x00000980, 0x16000000,
+ 0x00001981, 0x3c108a13, 0x0000782a, 0x03800001, 0x00008080, 0x16000c58,
+ 0x00006081, 0x84d08a13, 0x00000100, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x3a508a13, 0x00007822, 0x03800001,
+ 0x00008080, 0xffffffff, 0x00007f86, 0x40000593, 0x00006583, 0x04400000,
+ 0x00000981, 0x04400800, 0x0000e191, 0x8000002c, 0x0000e586, 0x4b22c458,
+ 0x00006101, 0xe000080b, 0x00006400, 0x00000411, 0x00006583, 0x8bbfe01f,
+ 0x00000980, 0x16000800, 0x00006191, 0x16001000, 0x00004989, 0x00000411,
+ 0x00006583, 0x48a41c83, 0x00000901, 0x04c01800, 0x0000e191, 0xc722c004,
+ 0x00006003, 0x0000710a, 0x0000f011, 0x0004408a, 0x00009502, 0x04c01000,
+ 0x00001989, 0x0000710a, 0x0000f009, 0x00044089, 0x00009502, 0x04c00000,
+ 0x00009989, 0x04c00000, 0x00009991, 0x0000710a, 0x00007008, 0x00001493,
+ 0x00001583, 0x04c00800, 0x00009999, 0xffffffff, 0x00007f86, 0x00000c13,
+ 0x00006583, 0x16001383, 0x00008880, 0x0ac00800, 0x00006188, 0xc0000805,
+ 0x0000640a, 0x0ac00000, 0x0000e190, 0xc000380b, 0x0000e405, 0x0004408a,
+ 0x00006502, 0x0abc0249, 0x00000980, 0x82c0a8ec, 0x00007902, 0x05000000,
+ 0x00008604, 0x1642c294, 0x00001000, 0x00007123, 0x0000f010, 0x0000008b,
+ 0x00009582, 0x16530059, 0x0000f910, 0x0000003a, 0x00008c80, 0x00007123,
+ 0x00007009, 0x00000411, 0x00006583, 0x0508c059, 0x00008d80, 0x0a48c059,
+ 0x00009d80, 0x0b40a814, 0x00009010, 0x0000712e, 0x00007010, 0x0000712c,
+ 0x0000f400, 0x00072891, 0x00001502, 0x16448891, 0x00006110, 0x167c0249,
+ 0x0000c988, 0x00072892, 0x0000e502, 0x163c9859, 0x00008800, 0x16530058,
+ 0x0000f900, 0x0000003a, 0x00008c80, 0xffffffff, 0x00007f86, 0x16449092,
+ 0x00006110, 0x0a48c059, 0x0000cd80, 0xffffffff, 0x00007f86, 0x16414829,
+ 0x00001908, 0xffffffff, 0x00007f86, 0x0b40a859, 0x00001000, 0xa0001004,
+ 0x00006402, 0x80078810, 0x00003686, 0x0b43bc58, 0x00006000, 0x00542004,
+ 0x00003507, 0x84001677, 0x0000e283, 0xe0001004, 0x0000a403, 0x4522c004,
+ 0x00006003, 0x8000080b, 0x0000b402, 0x16000800, 0x00006191, 0x16001000,
+ 0x00004989, 0x84001677, 0x0000e283, 0x80001005, 0x0000a402, 0x00005006,
+ 0x0000e406, 0x00001007, 0x00003402, 0x0422c004, 0x00006003, 0x6000080a,
+ 0x0000b402, 0x1644208b, 0x0000e400, 0x162ccd99, 0x00004911, 0x16000800,
+ 0x00006189, 0x4000280b, 0x00006407, 0xc0001005, 0x0000e402, 0x60001006,
+ 0x0000b402, 0x00002807, 0x0000e407, 0xa02ba80a, 0x0000b506, 0x05000000,
+ 0x00006180, 0xc0003809, 0x0000e407, 0x5000280c, 0x0000e504, 0x00002808,
+ 0x00003406, 0x09c00000, 0x0000f900, 0x000d0000, 0x00000980, 0xb000080b,
+ 0x0000e401, 0x00005006, 0x00003407, 0x60000807, 0x0000e403, 0x8000280a,
+ 0x0000b407, 0x0944178e, 0x0000010e, 0x057c4f88, 0x00008118, 0x0644388c,
+ 0x00006000, 0x06800888, 0x00000180, 0x08400000, 0x0000e181, 0x0904508a,
+ 0x0000c900, 0x0a000787, 0x00000380, 0x0c400000, 0x000003c8, 0x0cc00000,
+ 0x000083d0, 0x0d400000, 0x000003d8, 0x0dc00000, 0x000003e0, 0x0e400000,
+ 0x000003e8, 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000,
+ 0x00006180, 0x845b8370, 0x00004900, 0x16c08800, 0x00006181, 0xc4138270,
+ 0x00004900, 0x000071a4, 0x0000f400, 0x05c44059, 0x00006000, 0xc1555013,
+ 0x00008980, 0x8522c458, 0x0000e101, 0xc5001699, 0x0000c781, 0x71696f75,
+ 0x00007204, 0x17030000, 0x00001980, 0x0423883f, 0x00006003, 0xa000080b,
+ 0x0000b400, 0x20ab463f, 0x0000e000, 0x7000480c, 0x0000b500, 0x9600263f,
+ 0x0000e283, 0x80000807, 0x0000a403, 0x0f7b6f6c, 0x00008338, 0x8863736b,
+ 0x0000033c, 0x000071a3, 0x00007010, 0x0cc0007a, 0x00007900, 0x00000014,
+ 0x00000082, 0x0c80007b, 0x0000e084, 0x0d019833, 0x00008900, 0x0cc19032,
+ 0x0000e100, 0x8000280b, 0x0000e405, 0x09fbd77b, 0x00000218, 0x717d20d4,
+ 0x00007404, 0x29409900, 0x00006180, 0x2801a034, 0x0000c900, 0x29819833,
+ 0x00009900, 0x00000ca2, 0x00009583, 0x300194af, 0x0000f912, 0x0cc00000,
+ 0x00000000, 0x3001a4af, 0x0000f912, 0x0d400000, 0x00000000, 0x000071a3,
+ 0x00007010, 0x01000000, 0x00007900, 0x0000c000, 0x00008980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03b92800, 0x00007900, 0x000654b2,
+ 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000,
+ 0x000080dc, 0x82600500, 0x00008026, 0x02c01702, 0x00008091, 0x812514a2,
+ 0x00001901, 0x71901bb2, 0x00007100, 0x71916fa6, 0x0000f004, 0x000071a4,
+ 0x0000f200, 0x16c09000, 0x00001981, 0x71956f75, 0x00007204, 0x17018000,
+ 0x00001980, 0x96004668, 0x00009283, 0xd6003f3f, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x000071a3, 0x00007008, 0x000071a3, 0x00007010, 0x40001009,
+ 0x00006402, 0xa0005008, 0x00003406, 0xc0015009, 0x00006482, 0x8000083f,
+ 0x0000b405, 0x0c3df830, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0001008,
+ 0x0000e403, 0x60001009, 0x00003403, 0x01818006, 0x00001380, 0x16c0a000,
+ 0x00001981, 0x72ab6fcc, 0x00007500, 0x40001806, 0x00006403, 0x60001004,
+ 0x00003402, 0x200aa6ec, 0x0000d680, 0x003b2089, 0x00003f10, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03ac2800, 0x0000f900, 0x002a0ed2, 0x00008980, 0x01800000,
+ 0x00006180, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600,
+ 0x00004901, 0x0000718f, 0x0000f400, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x0228650c, 0x00004900, 0x40001009, 0x00006402, 0xa0005008,
+ 0x00003406, 0xc0015009, 0x00006482, 0x7001480c, 0x00003500, 0x40001007,
+ 0x00006403, 0xc0001008, 0x0000b403, 0x0c3df830, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x01818006, 0x0000e380, 0x60001009, 0x0000a403, 0x1a000000,
+ 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000,
+ 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000,
+ 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
+ 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000,
+ 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000,
+ 0x000089e4, 0x000071a4, 0x0000f400, 0x26800000, 0x000089ec, 0x16c09800,
+ 0x00009981, 0x40001008, 0x00006c02, 0x1a000000, 0x000086e4, 0x1a800000,
+ 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000,
+ 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000,
+ 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000,
+ 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000,
+ 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000,
+ 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000,
+ 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000,
+ 0x000089d4, 0x25800000, 0x000089dc, 0x000071a3, 0x00007400, 0x26000000,
+ 0x000089e4, 0x26c00000, 0x000089e8, 0x71a36e28, 0x0000f004, 0x000071a3,
+ 0x0000f000, 0x20015007, 0x00006482, 0x80000806, 0x0000b403, 0xa0000807,
+ 0x00006402, 0x80001005, 0x00003402, 0xa000280a, 0x0000e406, 0x00004807,
+ 0x0000b407, 0x42035000, 0x0000e181, 0x7000c80c, 0x00006500, 0x00005004,
+ 0x0000e407, 0xc0001006, 0x00003403, 0xa0001005, 0x00006403, 0x6000080a,
+ 0x00003403, 0x60000807, 0x0000e403, 0x20015008, 0x0000b483, 0x1a000000,
+ 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000,
+ 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000,
+ 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
+ 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000,
+ 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000,
+ 0x000089e4, 0x000071a3, 0x00007400, 0x26800000, 0x000089ec, 0x06000716,
+ 0x00000191, 0x4000050c, 0x00006583, 0x1a000000, 0x00000980, 0x1a400000,
+ 0x000006e8, 0x1ac00000, 0x000086f0, 0x1b400000, 0x000006f8, 0x1bc00000,
+ 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0, 0x1d400000,
+ 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000,
+ 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000,
+ 0x000008c8, 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8, 0x21c00000,
+ 0x000008e0, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0, 0x23400000,
+ 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000,
+ 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0, 0x000071a3,
+ 0x0000f408, 0x26400000, 0x000009e8, 0x26c00000, 0x00009980, 0x00000462,
+ 0x00001583, 0x7000080c, 0x00006d10, 0x000071a3, 0x0000f011, 0x7001080c,
+ 0x0000e500, 0xc0000808, 0x0000b403, 0x1a000000, 0x0000e180, 0x2000080a,
+ 0x00006402, 0x1a400000, 0x000006e8, 0x1ac00000, 0x000086f0, 0x1b400000,
+ 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000,
+ 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000,
+ 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000,
+ 0x000008c0, 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0, 0x21400000,
+ 0x000008d8, 0x21c00000, 0x000008e0, 0x22400000, 0x000008e8, 0x22c00000,
+ 0x000088f0, 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000,
+ 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000,
+ 0x000009e0, 0x26400000, 0x000009e8, 0x000071a3, 0x00007400, 0x26c00000,
+ 0x0000e180, 0xa7189312, 0x00004900, 0x84989312, 0x00001900, 0x0a01fc58,
+ 0x00006804, 0x00000458, 0x00001583, 0x8000083f, 0x0000ec0d, 0x0000726c,
+ 0x0000f009, 0x00001c58, 0x00001583, 0x8000203f, 0x0000ec0d, 0x40001009,
+ 0x00006402, 0xa0005008, 0x00003406, 0x0023109c, 0x00006000, 0xc0015009,
+ 0x00003482, 0x0c3df830, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0001008,
+ 0x0000e403, 0x60001009, 0x00003403, 0x01818006, 0x0000e380, 0x1a000000,
+ 0x00000980, 0x1a400000, 0x000006e8, 0x1ac00000, 0x000086f0, 0x1b400000,
+ 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000,
+ 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000,
+ 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000,
+ 0x000008c0, 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0, 0x21400000,
+ 0x000008d8, 0x21c00000, 0x000008e0, 0x22400000, 0x000008e8, 0x22c00000,
+ 0x000088f0, 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000,
+ 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000,
+ 0x000009e0, 0x26400000, 0x000009e8, 0x26c00000, 0x0000e180, 0x2741e83d,
+ 0x00004900, 0xc0109312, 0x00006502, 0x27c31863, 0x00000900, 0x8018e21c,
+ 0x00001502, 0xffffffff, 0x00007f86, 0x0000729c, 0x00007010, 0x0000729a,
+ 0x00007008, 0x96611422, 0x00001900, 0x8018e259, 0x00009502, 0x0000729c,
+ 0x00007013, 0x0000a824, 0x00009502, 0x000071a3, 0x0000700b, 0x000071a3,
+ 0x00007200, 0x2700109c, 0x00009380, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0374d800, 0x0000f900, 0x000430c2, 0x00008980, 0x03b82800,
+ 0x0000f900, 0x00280a2c, 0x00000980, 0x02030060, 0x00006100, 0x08001a09,
+ 0x0000e106, 0x01800761, 0x0000009c, 0x0000718f, 0x0000f400, 0x82600500,
+ 0x00008026, 0x81002800, 0x00006180, 0x02c01002, 0x00004900, 0x96371ee3,
+ 0x0000e100, 0xc000b000, 0x00004981, 0x85bacc58, 0x0000a080, 0xc0c05800,
+ 0x0000e180, 0x16000002, 0x00004980, 0x00505000, 0x0000f900, 0x0004c010,
+ 0x00008980, 0x8062dc5b, 0x00001901, 0xd622cc59, 0x00001900, 0x770000ec,
+ 0x00005680, 0x003ac000, 0x00000000, 0x008806ec, 0x00005f80, 0x00985840,
+ 0x00000ac4, 0x000072bf, 0x0000f200, 0x01400000, 0x00009981, 0x000072bf,
+ 0x0000f200, 0x01400800, 0x00001981, 0x000072bf, 0x0000f200, 0x01401000,
+ 0x00001981, 0x01401800, 0x00009981, 0x01800000, 0x00006180, 0x08001a59,
+ 0x0000e106, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0354e000,
+ 0x0000f900, 0x000ce8a4, 0x00000980, 0x03afa800, 0x00007900, 0x000982ea,
+ 0x00000980, 0x82101202, 0x0000e100, 0x08001a09, 0x0000e106, 0x02000502,
+ 0x0000009c, 0x82600500, 0x00008026, 0x0000718f, 0x0000f400, 0x02c2cf02,
+ 0x00008018, 0x81008000, 0x0000e180, 0x41a02c05, 0x0000c901, 0x167fe01f,
+ 0x00006180, 0x0000802c, 0x00006480, 0x16241859, 0x00006700, 0x1303b82c,
+ 0x0000a000, 0x003fe058, 0x0000f900, 0x0000003e, 0x00008582, 0x8b800483,
+ 0x000005a4, 0x40000583, 0x0000e583, 0x16400800, 0x00008988, 0xffffffff,
+ 0x00007f86, 0x30e2c82c, 0x0000e800, 0x000070e4, 0x00007208, 0x0b01002c,
+ 0x00001388, 0x000070dc, 0x0000f000, 0xc11722e4, 0x00006100, 0x81800ee3,
+ 0x00004880, 0x86bba406, 0x0000b038, 0x86bbb606, 0x0000b038, 0x82c03cec,
+ 0x0000f902, 0x01800000, 0x00008604, 0x81b71ee3, 0x00001900, 0x18c3a074,
+ 0x0000e100, 0x0023a808, 0x00006086, 0x822ba808, 0x00006886, 0x85805406,
+ 0x0000f902, 0x01800000, 0x00000000, 0x041ba808, 0x0000e987, 0x02404008,
+ 0x00009900, 0x2822f800, 0x00007900, 0x000430ca, 0x00000980, 0x80000606,
+ 0x00006583, 0x18804809, 0x00008900, 0x04185007, 0x00006197, 0x04103007,
+ 0x0000b18f, 0x00002006, 0x0000ed86, 0x02003807, 0x00006100, 0x042ba806,
+ 0x00006087, 0x72f81c89, 0x00007500, 0x18404008, 0x00006100, 0x8623a806,
+ 0x0000e087, 0x18003006, 0x00009900, 0x1a000000, 0x000086e4, 0x1a800000,
+ 0x000086ec, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1e000000,
+ 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000,
+ 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000,
+ 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000,
+ 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000,
+ 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000,
+ 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x27000000,
+ 0x000089f4, 0x27c00000, 0x000089f8, 0x6c602475, 0x00004388, 0x00e02475,
+ 0x00008098, 0x75201475, 0x0000c488, 0x60e01475, 0x00001c9e, 0x00800c75,
+ 0x00004788, 0x88803475, 0x0000878f, 0x0e803475, 0x0000c5a9, 0x09203c75,
+ 0x0000888b, 0x01e04076, 0x0000f900, 0x00000002, 0x00008082, 0x01800077,
+ 0x00006084, 0x02003807, 0x00008900, 0x732020ba, 0x0000f404, 0x01c03006,
+ 0x00006100, 0x28c09a00, 0x00004980, 0x29384707, 0x00008a14, 0x000004a2,
+ 0x00001583, 0x300044af, 0x0000f90a, 0x01c00000, 0x00008000, 0x01000020,
+ 0x0000e190, 0x81b71ee3, 0x0000c908, 0x81001000, 0x00001990, 0x000073a9,
+ 0x00007408, 0x0352d800, 0x0000f910, 0x0005a686, 0x00000980, 0x32384006,
+ 0x0000d00c, 0x00203800, 0x00000000, 0x03aa7000, 0x00007900, 0x003617ae,
+ 0x00000980, 0x0000733d, 0x00007400, 0x02000000, 0x000080d8, 0x01c00000,
+ 0x00009980, 0x733420d4, 0x00007404, 0x29409800, 0x00007900, 0x00001000,
+ 0x00000980, 0x29bbb777, 0x00008a00, 0x00000ca2, 0x00009583, 0x00007342,
+ 0x0000f013, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x0380f800,
+ 0x0000f900, 0x00261bec, 0x00008980, 0x02000000, 0x000080d8, 0x01c01000,
+ 0x000000d1, 0x812514a2, 0x00001901, 0xc1001800, 0x00006181, 0x08001a09,
+ 0x0000e106, 0x82600500, 0x00008026, 0x02c01002, 0x00001900, 0x73421bb2,
+ 0x0000f100, 0x307c20af, 0x0000b038, 0x303c04af, 0x00003038, 0x303c16af,
+ 0x00003038, 0x307c32af, 0x0000b038, 0x003ff884, 0x00007900, 0x0000007e,
+ 0x00000582, 0x307c44af, 0x00003038, 0x307c56af, 0x00003038, 0x30bc60af,
+ 0x00003038, 0x30bc72af, 0x00003038, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000,
+ 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x000073ab,
+ 0x00007430, 0x27800000, 0x000089fc, 0x02042084, 0x00006100, 0x01c00000,
+ 0x0000c998, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03bfc800, 0x0000f900, 0x000c23ba,
+ 0x00008980, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106, 0x00007388,
+ 0x0000f400, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02042084,
+ 0x00004900, 0x736620d4, 0x0000f404, 0x283bbf76, 0x00008a18, 0x29409900,
+ 0x00001980, 0xcd800ca2, 0x0000788a, 0x03800001, 0x00008080, 0x20800000,
+ 0x000088cc, 0x303c04af, 0x00003038, 0x21000000, 0x000088d4, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x003ff880, 0x0000f900, 0x0000007e,
+ 0x00000582, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000,
+ 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000,
+ 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000,
+ 0x000089ec, 0x27000000, 0x000089f4, 0x000073ab, 0x00007430, 0x27800000,
+ 0x000089fc, 0x02040080, 0x00006100, 0x01c00000, 0x0000c998, 0x01000000,
+ 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03bfc800, 0x0000f900, 0x000c23ba, 0x00008980, 0xc2700600,
+ 0x00006101, 0x08001a09, 0x0000e106, 0x82781400, 0x0000802c, 0x81001000,
+ 0x0000e180, 0x02040080, 0x00004900, 0x00007341, 0x0000f200, 0x01bff83f,
+ 0x00009980, 0x738d20d4, 0x0000f404, 0x283bbf76, 0x00008a18, 0x29409c00,
+ 0x00001980, 0x00000ca2, 0x00009583, 0x305032af, 0x0000a092, 0x000073a9,
+ 0x00007413, 0xffffffff, 0x00007f86, 0x71e03078, 0x0000e810, 0x00007336,
+ 0x00007000, 0x739620d4, 0x0000f404, 0x283bbf76, 0x00008a18, 0x29409b00,
+ 0x00009980, 0x00000ca2, 0x00009583, 0x300034af, 0x00002090, 0x000073a9,
+ 0x00007413, 0xffffffff, 0x00007f86, 0x71e03078, 0x0000e810, 0x00007336,
+ 0x00007000, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x037ef800,
+ 0x00007900, 0x000430ca, 0x00000980, 0x03ba9000, 0x00007900, 0x0016f7fa,
+ 0x00008980, 0x0203a074, 0x00006100, 0x08001a09, 0x0000e106, 0x01800775,
+ 0x0000009c, 0x00007341, 0x0000f400, 0x82600500, 0x00008026, 0x81002800,
+ 0x00006180, 0x02c01002, 0x00004900, 0x000073ac, 0x0000f200, 0x82400000,
+ 0x000000e0, 0x02400800, 0x00001981, 0x00000409, 0x00009583, 0x200aa6ec,
+ 0x0000d680, 0x003b23c9, 0x0000bf10, 0x1a000802, 0x00006190, 0x1a400000,
+ 0x0000c990, 0x000073ca, 0x0000f008, 0x01800008, 0x00007900, 0x00000200,
+ 0x00000380, 0x1c800000, 0x000086f8, 0x1a97f880, 0x00006180, 0x00003072,
+ 0x0000e206, 0x81802302, 0x0000e780, 0x1ac00000, 0x00000980, 0x1b18b000,
+ 0x00007900, 0x00037240, 0x00000980, 0x1b400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x1c401000, 0x00007900, 0x0001c000, 0x00000980, 0x1bc0000a,
+ 0x00006180, 0x45103072, 0x00006107, 0x1c000000, 0x0000e180, 0x1cc00004,
+ 0x00004980, 0xdb981302, 0x00001900, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x0090d0ec, 0x00005780, 0x00006003,
+ 0x00008080, 0x000073d7, 0x00007000, 0x1bc0000a, 0x00006180, 0x9b901202,
+ 0x0000c900, 0x1b009000, 0x0000f900, 0x000130c0, 0x00000980, 0x1b400000,
+ 0x00007900, 0x00010000, 0x00000980, 0xdb981302, 0x00006100, 0x0000186f,
+ 0x0000e106, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x0088d8ec, 0x0000d780, 0x00c06740, 0x000081c0, 0xffffffff,
+ 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb9182304,
+ 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x17c00000,
+ 0x00006180, 0x17801002, 0x00004900, 0x18000000, 0x00006180, 0x0000185f,
+ 0x0000e106, 0x17009000, 0x0000f900, 0x00047080, 0x00000980, 0x17400000,
+ 0x00007900, 0x00018008, 0x00000980, 0x0010b8ec, 0x00005780, 0x00c06640,
+ 0x000007c0, 0x1840a000, 0x0000e180, 0xc000185f, 0x00006006, 0x18800000,
+ 0x000086cc, 0x193acf58, 0x00000614, 0x19badf5a, 0x0000061c, 0x1a000000,
+ 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000,
+ 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000,
+ 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
+ 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000,
+ 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000,
+ 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000,
+ 0x000089e4, 0x26800000, 0x000089ec, 0x00000001, 0x00007480, 0x27000000,
+ 0x000089f4, 0x27c00000, 0x000089f8, 0x01000000, 0x000080d4, 0x01800000,
+ 0x000080dc, 0x02000000, 0x000080e4, 0x02800000, 0x000080ec, 0x0b001e59,
+ 0x00006281, 0x03000000, 0x00000981, 0x82e01e59, 0x0000448c, 0x3ce00c2c,
+ 0x00001d88, 0x8600650e, 0x0000448e, 0x60e01d0e, 0x00001d88, 0x8604070c,
+ 0x0000c48e, 0x44e0240f, 0x00009d90, 0x0ac0440f, 0x0000f88f, 0x43800000,
+ 0x00003a81, 0x00001004, 0x0000ec02, 0x04401d0e, 0x0000788f, 0x03800001,
+ 0x00008080, 0xffffffff, 0x00007f86, 0xcb04070c, 0x00001283, 0x00007411,
+ 0x00007200, 0x00001008, 0x00006c12, 0x00007411, 0x00007400, 0x4b00650e,
+ 0x0000e283, 0x20001004, 0x00002402, 0x20001008, 0x0000ec12, 0x0b001c08,
+ 0x00009281, 0x0000142c, 0x00009583, 0x0b00440f, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x00007430, 0x00007010, 0x0000742b, 0x00007008, 0x0b006408,
+ 0x00009281, 0x0000442c, 0x00009583, 0x00007430, 0x00007013, 0x742c73dd,
+ 0x00007100, 0x00007431, 0x0000f400, 0x0b404800, 0x0000e181, 0x7000080c,
+ 0x00006500, 0x8b021000, 0x00001980, 0x4b07f854, 0x000002f6, 0xc0005e03,
+ 0x0000e081, 0x02105001, 0x0000a586, 0x0baf2000, 0x0000f900, 0x001f8008,
+ 0x00000980, 0x0411602e, 0x0000e101, 0x00080001, 0x0000b501, 0xc0000801,
+ 0x0000ec01, 0x203976ec, 0x0000d600, 0x003ac000, 0x00000000, 0x80616c2d,
+ 0x00001901, 0x008806ec, 0x00005f80, 0x00985840, 0x00008584, 0xa9c02d00,
+ 0x0000e080, 0xabc7fb44, 0x00004280, 0x307a34a7, 0x0000b838, 0xa9c80000,
+ 0x0000e180, 0x39800540, 0x00004980, 0x2b40003a, 0x00007900, 0x00000014,
+ 0x00000082, 0xa9d57aa7, 0x00006100, 0x3b40003b, 0x00008084, 0x2bc022af,
+ 0x0000e080, 0xb9a80500, 0x0000c900, 0x2b80f8af, 0x0000e784, 0x75e800e6,
+ 0x0000a101, 0x3bc57846, 0x0000e002, 0xe1d722e4, 0x00000900, 0x3b857047,
+ 0x00006004, 0xea9a2b45, 0x00000900, 0x2bb20004, 0x0000e180, 0x298568ad,
+ 0x0000c900, 0x39c60000, 0x0000f900, 0x000014c4, 0x00000980, 0x2bc60000,
+ 0x0000f900, 0x00007fc0, 0x00000980, 0x80005aa7, 0x00006582, 0x294768ed,
+ 0x00000900, 0xeb981302, 0x00001900, 0xe9c7fb44, 0x00009282, 0xffffffff,
+ 0x00007f86, 0x000074a8, 0x00007030, 0x00007483, 0x0000f008, 0x700600ec,
+ 0x0000d680, 0x003f34c4, 0x00008010, 0x703f78ec, 0x00005600, 0x003f7000,
+ 0x00008000, 0x700600ec, 0x0000d680, 0x003d77c0, 0x00008078, 0x29400000,
+ 0x00000ad8, 0x2a000000, 0x00001981, 0x00c002ec, 0x0000df80, 0x1743280b,
+ 0x00009684, 0x00000ca8, 0x00009583, 0x0000746f, 0x0000700b, 0xb91c3b87,
+ 0x00006100, 0x29c0ae57, 0x0000c080, 0x29006000, 0x00006181, 0x29b2be57,
+ 0x00004901, 0x384014a7, 0x0000e081, 0x2972be57, 0x00004901, 0xffffffff,
+ 0x00007f86, 0x00000000, 0x00007083, 0x1ef2baa7, 0x00007823, 0x03800001,
+ 0x00000000, 0x00001557, 0x0000f88c, 0x00000000, 0x00000000, 0x00327433,
+ 0x0000f860, 0x00000000, 0x00008020, 0x3f8006a4, 0x00007893, 0x03800001,
+ 0x00000060, 0x9de02557, 0x0000c48c, 0xdef13025, 0x00009d61, 0x3bc006a4,
+ 0x00007893, 0xe3800000, 0x00003a87, 0x127d37a5, 0x00008420, 0xb9053887,
+ 0x00008a10, 0x29c0ae57, 0x00006080, 0x29b2be57, 0x00008901, 0x384014a7,
+ 0x0000e081, 0x2972be57, 0x00004901, 0xffffffff, 0x00007f86, 0x00000000,
+ 0x00007083, 0xb9800000, 0x00006180, 0xc00000e7, 0x0000e406, 0x3b5a2b45,
+ 0x0000e100, 0x2b400a4f, 0x0000c180, 0x703f38ec, 0x0000d600, 0x003f3000,
+ 0x00000000, 0x000568ed, 0x00006502, 0x11824048, 0x00008900, 0x703a40ec,
+ 0x0000d600, 0x003a4800, 0x00000000, 0x700600ec, 0x0000d680, 0x003d77c0,
+ 0x00008078, 0x000074e0, 0x00007208, 0x11c24849, 0x0000e100, 0xab400b45,
+ 0x0000c090, 0x2a000000, 0x00006181, 0xd1400b45, 0x0000c080, 0x2b401aad,
+ 0x00001880, 0x2b4530ad, 0x0000e002, 0x29800000, 0x00008980, 0x29400000,
+ 0x00006180, 0x3b4000a5, 0x0000c084, 0x000120e6, 0x0000e485, 0x008040e7,
+ 0x0000b586, 0xb9a80500, 0x0000e100, 0x000040af, 0x00006586, 0x703f38ec,
+ 0x0000d600, 0x003f3000, 0x00000000, 0x703d68ec, 0x00005600, 0x003f6800,
+ 0x00008000, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0x00c002ec,
+ 0x0000df80, 0x1745280b, 0x00009684, 0x00000ca8, 0x00009583, 0x00007467,
+ 0x0000f013, 0x0000746f, 0x0000f000, 0xe9c7fb44, 0x00006282, 0xc00000e7,
+ 0x00002406, 0xb9800000, 0x00006180, 0xa94022a7, 0x00004890, 0xa97ffaa5,
+ 0x0000f910, 0x00000002, 0x00008280, 0x00007485, 0x0000f008, 0xabc022a7,
+ 0x0000e080, 0x001528e7, 0x00006106, 0x703f38ec, 0x0000d600, 0x003f3000,
+ 0x00000000, 0x29800ca7, 0x0000e081, 0x29406000, 0x00004980, 0x703f78ec,
+ 0x00005600, 0x003f7000, 0x00008000, 0x295538a5, 0x0000e100, 0x3bda2b45,
+ 0x00008900, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0x3b800a4f,
+ 0x0000e180, 0xabc022a5, 0x00008880, 0xa97ffaaf, 0x00007900, 0x00000002,
+ 0x00008280, 0x000770ef, 0x00006502, 0x001528e7, 0x0000a106, 0x2a000800,
+ 0x000061c1, 0x0c0734a5, 0x00006084, 0x29a52ca6, 0x0000e001, 0x29424849,
+ 0x00000900, 0x29824048, 0x0000e100, 0x042530e6, 0x00006085, 0x703f38ec,
+ 0x0000d600, 0x003f3000, 0x00000000, 0xabfffaaf, 0x00007900, 0x00000002,
+ 0x00008280, 0x00007499, 0x0000f440, 0x703a40ec, 0x0000d600, 0x003a4800,
+ 0x00000000, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0x3b800b45,
+ 0x0000e080, 0x000120e6, 0x00002485, 0x3b8018ee, 0x0000e080, 0x008040e7,
+ 0x0000e586, 0x2b4770ad, 0x0000e002, 0xb9a80500, 0x00000900, 0x703f38ec,
+ 0x0000d600, 0x003f3000, 0x00000000, 0x3b4000ed, 0x00006084, 0x000040af,
+ 0x0000a586, 0x703d68ec, 0x00005600, 0x003f6800, 0x00008000, 0x000074a3,
+ 0x00007400, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0x2a000800,
+ 0x00009981, 0x000120e6, 0x0000e485, 0x008040e7, 0x0000b586, 0xb9a80500,
+ 0x0000e100, 0x2b4530a6, 0x00004900, 0x703f38ec, 0x0000d600, 0x003f3000,
+ 0x00000000, 0x3b4528a5, 0x0000e100, 0x000040af, 0x00006586, 0x703d68ec,
+ 0x00005600, 0x003f6800, 0x00008000, 0x703d78ec, 0x0000d600, 0x003d7000,
+ 0x00000000, 0x000074a3, 0x00007400, 0x51400400, 0x00008ae2, 0x29400000,
+ 0x00000ad8, 0x11c528a5, 0x0000e100, 0x29c00a4f, 0x0000c180, 0x11ba2fa6,
+ 0x00008a16, 0x000538a5, 0x00009502, 0xa9c00000, 0x000099c0, 0xa9c00b45,
+ 0x000010c8, 0x000074f6, 0x00007040, 0xb90d3887, 0x00008416, 0x29c0ae57,
+ 0x00006080, 0x29006000, 0x00008981, 0x69a2bc57, 0x00000a15, 0x384014a7,
+ 0x00009881, 0x00000000, 0x00007083, 0x0000747c, 0x0000f200, 0x127d37a5,
+ 0x00008420, 0x0000747c, 0x0000f200, 0x127d37a5, 0x00008420, 0x0fc22405,
+ 0x0000e000, 0x0e02bc04, 0x00003000, 0x00005457, 0x0000e583, 0x22000018,
+ 0x00008980, 0x01602405, 0x00006301, 0x02001000, 0x00008989, 0x02000800,
+ 0x00006191, 0x10602888, 0x0000e000, 0x0e422405, 0x0000e000, 0x31027088,
+ 0x0000b000, 0x02c00000, 0x0000e180, 0x0a027404, 0x00006084, 0x0018a8ec,
+ 0x00005780, 0x00006000, 0x00008080, 0x8222b888, 0x00006006, 0x0000180b,
+ 0x00003106, 0x0197f880, 0x00006180, 0x83c02302, 0x00004780, 0x02000c08,
+ 0x0000e181, 0x01403c05, 0x00008881, 0x02400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980, 0x000808ec,
+ 0x0000d780, 0x00006001, 0x00000080, 0xc000180b, 0x0000e006, 0x4510780e,
+ 0x0000b107, 0x23000000, 0x0000e180, 0xb2e04006, 0x0000e004, 0x021cb000,
+ 0x00007900, 0x0002b1c0, 0x00000980, 0x23400000, 0x000008f8, 0x23c00000,
+ 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000, 0x00006180, 0x22718630,
+ 0x0000c901, 0x626a754e, 0x00006101, 0xe2400a26, 0x00004080, 0x22bc272a,
+ 0x0000082c, 0x01c00000, 0x0000e180, 0x82901202, 0x00004900, 0x02aa7502,
+ 0x00000822, 0xa2202405, 0x0000e301, 0x03c00004, 0x00000980, 0x01400000,
+ 0x00006180, 0x01000802, 0x0000c980, 0x814010ec, 0x0000d684, 0x00000080,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780, 0x00006000,
+ 0x00008080, 0x21c01488, 0x00006283, 0xa1800a26, 0x00000080, 0x2ac01cab,
+ 0x00006181, 0x2000081e, 0x0000a402, 0x00000001, 0x00007480, 0xaac036ab,
+ 0x00006181, 0xd11a24a6, 0x00008000, 0xd3d43286, 0x0000e110, 0x89800a26,
+ 0x0000c080, 0x00002c57, 0x00001583, 0x8181a000, 0x0000e188, 0x81826000,
+ 0x0000c990, 0x400005a5, 0x00009583, 0xaa903206, 0x00006100, 0x0222bc57,
+ 0x00004909, 0x0fc22405, 0x00006008, 0x0e02bc04, 0x0000b008, 0x000076af,
+ 0x0000f010, 0x803d8245, 0x00007900, 0x00000002, 0x00008582, 0x91400000,
+ 0x0000e1b8, 0x82202405, 0x0000c301, 0x00002c57, 0x0000e583, 0x0c82bf08,
+ 0x0000a000, 0x01001657, 0x0000e189, 0x01000800, 0x00008991, 0x22400245,
+ 0x00007900, 0x0000000c, 0x00008080, 0x42202404, 0x00006101, 0x2200f889,
+ 0x00004784, 0x8fb820ec, 0x00002084, 0x2281d089, 0x0000e002, 0x81c00a26,
+ 0x00000080, 0x8f8478ec, 0x00002085, 0x8f8020ec, 0x0000a084, 0xc1da7b4f,
+ 0x00006100, 0x01815206, 0x0000c000, 0x2201d888, 0x00009004, 0xffffffff,
+ 0x00007f86, 0xac24074e, 0x00004194, 0x00e01c04, 0x00008088, 0x00899c4e,
+ 0x00004511, 0x1040074e, 0x000088c4, 0x9880074e, 0x0000f8c3, 0x2b800000,
+ 0x00003a8f, 0x700280ec, 0x0000d680, 0x00008550, 0x00008088, 0x703ae0ec,
+ 0x0000d600, 0x003ae800, 0x00000000, 0x703af0ec, 0x00005600, 0x003af800,
+ 0x00008000, 0x703b00ec, 0x0000d600, 0x003b0800, 0x00000000, 0x703b10ec,
+ 0x00005600, 0x003b1800, 0x00008000, 0x703b20ec, 0x00005600, 0x003b2800,
+ 0x00008000, 0x703b30ec, 0x0000d600, 0x003b3800, 0x00000000, 0x703b40ec,
+ 0x00005600, 0x003b4800, 0x00008000, 0x703b50ec, 0x0000d600, 0x003b5800,
+ 0x00000000, 0x703840ec, 0x00005600, 0x00383800, 0x00000000, 0x703830ec,
+ 0x0000d600, 0x003a5800, 0x00008000, 0x01720004, 0x00006180, 0x82247804,
+ 0x00006086, 0x703c50ec, 0x00005600, 0x003c4000, 0x00008000, 0x93800e4e,
+ 0x00006081, 0x04181005, 0x00002187, 0x700280ec, 0x0000d680, 0x00382fc0,
+ 0x00000078, 0x8fb820ec, 0x0000a884, 0x25000800, 0x0000e181, 0x91428245,
+ 0x00004080, 0x02000000, 0x00001981, 0x00002c57, 0x0000e583, 0x22008000,
+ 0x00000980, 0x01000800, 0x00006189, 0x01005000, 0x0000c991, 0x8222b888,
+ 0x00006006, 0x0fc22405, 0x0000b000, 0x400005a5, 0x00006583, 0xc3202088,
+ 0x0000a006, 0x23800000, 0x00006180, 0x0e02bc04, 0x00006000, 0x01602405,
+ 0x00006301, 0x23c00000, 0x00000980, 0x01000000, 0x00006181, 0x10602888,
+ 0x0000e000, 0x01000800, 0x00006191, 0x24000000, 0x00004980, 0x24400000,
+ 0x000009c8, 0x00000404, 0x0000e583, 0x20a02088, 0x0000a000, 0x24c00000,
+ 0x00006180, 0x31027088, 0x0000e000, 0x01000000, 0x0000e191, 0x22c42084,
+ 0x0000c900, 0x0000759f, 0x0000f008, 0x400015a8, 0x00009583, 0x01000800,
+ 0x00001989, 0xffffffff, 0x00007f86, 0x30e02088, 0x0000e800, 0x0e422405,
+ 0x0000e000, 0x0a027404, 0x00003084, 0x01403c05, 0x00006081, 0x228152aa,
+ 0x00004000, 0xa2202405, 0x0000e301, 0xe2400a26, 0x00008080, 0x0124a408,
+ 0x0000e303, 0xe232764e, 0x00008901, 0x0000a8ec, 0x00005780, 0x00006001,
+ 0x00000080, 0x624a7430, 0x00008824, 0x0000762a, 0x0000f408, 0x233a5f2f,
+ 0x00000834, 0xa4c00800, 0x0000e181, 0x01000800, 0x0000c990, 0x000004ac,
+ 0x00006583, 0x02c00000, 0x00000980, 0x34e4a004, 0x0000e001, 0x0000180b,
+ 0x00003106, 0x83c02302, 0x0000e780, 0x45204004, 0x00002001, 0x02400000,
+ 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x000808ec, 0x0000d780, 0x00006001, 0x00000080, 0xc000180b,
+ 0x0000e006, 0x4510780e, 0x0000b107, 0x0204b000, 0x00007900, 0x0003f140,
+ 0x00008980, 0x0157f800, 0x000080d8, 0x0000763b, 0x0000f408, 0x01c00000,
+ 0x0000e180, 0x82901202, 0x00004900, 0x03c00004, 0x0000e180, 0xc2981302,
+ 0x0000c900, 0x25008488, 0x0000e283, 0x69000000, 0x00000981, 0x69004000,
+ 0x0000e191, 0x29c00eab, 0x00004081, 0x277fe09d, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x0e01c2aa, 0x0000e000, 0x288512aa, 0x00008000, 0x2501502a,
+ 0x00006100, 0xaaed4ca7, 0x0000c101, 0x0a8152aa, 0x0000e000, 0xa5f4bda4,
+ 0x00008301, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009910ec, 0x00005780, 0x00006001, 0x00000080, 0xd11a24a6,
+ 0x0000e000, 0xa9c403a9, 0x00008180, 0x29801488, 0x00006283, 0x2000081e,
+ 0x0000a402, 0x21555085, 0x00006100, 0x2ac07cab, 0x00000181, 0xaac036ab,
+ 0x00006181, 0x2b000cac, 0x00000081, 0x0000765d, 0x0000f410, 0xeac00fab,
+ 0x00006081, 0xea5552a7, 0x00000100, 0x89800a26, 0x00006080, 0xa9c00a26,
+ 0x00000080, 0x00000001, 0x00007280, 0x0bc0082f, 0x00006080, 0xc000081e,
+ 0x0000a403, 0x24800e4e, 0x00006081, 0x0f445088, 0x00002100, 0x93800e4e,
+ 0x00006081, 0x24400005, 0x00000980, 0x23404800, 0x00006180, 0x0a02748c,
+ 0x00006084, 0xa2404c8c, 0x0000e080, 0x22c00000, 0x00004980, 0xa25bda89,
+ 0x0000f900, 0x00000008, 0x00000080, 0x760048ec, 0x0000d680, 0x00000000,
+ 0x00008080, 0xe4544289, 0x00006000, 0x0000a88d, 0x00002480, 0x763c88ec,
+ 0x00005600, 0x0007f800, 0x00008080, 0x763ae0ec, 0x0000d600, 0x003ae800,
+ 0x00000000, 0x763af0ec, 0x00005600, 0x003af800, 0x00008000, 0x763b00ec,
+ 0x0000d600, 0x003b0800, 0x00000000, 0x763b10ec, 0x00005600, 0x003b1800,
+ 0x00008000, 0x763b20ec, 0x00005600, 0x003b2800, 0x00008000, 0x763b30ec,
+ 0x0000d600, 0x003b3800, 0x00000000, 0x763b40ec, 0x00005600, 0x003b4800,
+ 0x00008000, 0x2407f800, 0x00006180, 0xc104188b, 0x00006606, 0x763b50ec,
+ 0x0000d600, 0x003b5800, 0x00000000, 0x763c68ec, 0x0000d600, 0x003c5800,
+ 0x00008000, 0x24080090, 0x00006380, 0x80001091, 0x0000a406, 0x760010ec,
+ 0x00005680, 0x00008000, 0x000080c0, 0x2303fc8c, 0x00006280, 0xc0004090,
+ 0x0000a406, 0x22400000, 0x00007900, 0x00003fc0, 0x00008980, 0x760000ec,
+ 0x0000d680, 0x00000000, 0x00008080, 0xe4404391, 0x00006080, 0x80001090,
+ 0x0000a407, 0x22001002, 0x0000e100, 0x0e42248e, 0x0000e000, 0xa25bca8c,
+ 0x00007900, 0x00000008, 0x00000080, 0x763c88ec, 0x00005600, 0x003c8000,
+ 0x00008000, 0x763c48ec, 0x00005600, 0x00000000, 0x00008080, 0x25000000,
+ 0x00006181, 0xe21c448e, 0x00004300, 0x760490ec, 0x0000d603, 0x003c4000,
+ 0x00008000, 0x763840ec, 0x00005600, 0x00383800, 0x00000000, 0x763830ec,
+ 0x0000d600, 0x003a5800, 0x00008000, 0x02000800, 0x00009981, 0x00007583,
+ 0x00007400, 0x91428245, 0x0000e080, 0x82247804, 0x0000a086, 0x8fb820ec,
+ 0x0000a884, 0x000004ac, 0x00006583, 0x02c00000, 0x00000980, 0x83c02302,
+ 0x0000e780, 0x0000180b, 0x0000a106, 0x0204b000, 0x00007900, 0x0003f140,
+ 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x000010ec, 0x00005780, 0x00006001,
+ 0x00000080, 0xc000180b, 0x0000e006, 0x4510780e, 0x0000b107, 0x000075c4,
+ 0x0000f410, 0x02a81402, 0x00008028, 0x03c00004, 0x00009980, 0x26000000,
+ 0x0000e180, 0x69a564ac, 0x0000c901, 0x25000000, 0x0000e180, 0x967d4098,
+ 0x0000e001, 0x26008488, 0x0000e283, 0x25400000, 0x00008980, 0x25800000,
+ 0x000089dc, 0x26400000, 0x000009e8, 0x26c00000, 0x0000e180, 0xe9929252,
+ 0x0000c900, 0x76491a22, 0x00007500, 0xa9e00eaa, 0x00008a92, 0x94800000,
+ 0x00006180, 0x69804000, 0x00004991, 0x29c00eab, 0x00001081, 0xaaed4ca7,
+ 0x00009101, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x009910ec, 0x00005780, 0x00006001, 0x00000080, 0xd11a24a6,
+ 0x0000e000, 0xa9c403a9, 0x00008180, 0x29801488, 0x00006283, 0x2000081e,
+ 0x0000a402, 0x21555085, 0x00006100, 0x2ac07cab, 0x00000181, 0xaac036ab,
+ 0x00006181, 0x2b000cac, 0x00000081, 0x000075e2, 0x00007408, 0xeac00fab,
+ 0x00006081, 0xea5552a7, 0x00000100, 0x89800a26, 0x00006080, 0xa9c00a26,
+ 0x00000080, 0x00000001, 0x00007480, 0x400005a5, 0x00006583, 0xc000081e,
+ 0x0000a403, 0xd3d53aa7, 0x0000e108, 0x0bc0082f, 0x0000c080, 0x222024e5,
+ 0x00006401, 0x8004004e, 0x00002487, 0x23800005, 0x00006180, 0x24804800,
+ 0x0000c980, 0x22244488, 0x0000e301, 0x23000000, 0x0000c980, 0x8624404e,
+ 0x0000e085, 0x0000a892, 0x00003480, 0x24400e4e, 0x00006081, 0x0a027488,
+ 0x00002084, 0x226447e4, 0x0000e000, 0x93800e4e, 0x0000c081, 0x23e44c8f,
+ 0x0000e401, 0x01244c04, 0x00000301, 0x22647c8f, 0x00006100, 0xc104188c,
+ 0x0000e606, 0x22244089, 0x00006704, 0x2347f800, 0x00008980, 0x71e44044,
+ 0x0000e000, 0x0f445089, 0x00003100, 0x2348008d, 0x00006380, 0x0a027488,
+ 0x00002084, 0xa2c04c88, 0x0000e080, 0xc000408d, 0x00006406, 0xa2dbda8b,
+ 0x0000f900, 0x00000008, 0x00000080, 0x760048ec, 0x0000d680, 0x00000000,
+ 0x00008080, 0xe3944a8b, 0x0000e000, 0x8000108d, 0x0000a407, 0x763c70ec,
+ 0x0000d600, 0x0007f800, 0x00008080, 0x763ae0ec, 0x0000d600, 0x003ae800,
+ 0x00000000, 0x763af0ec, 0x00005600, 0x003af800, 0x00008000, 0x763b00ec,
+ 0x0000d600, 0x003b0800, 0x00000000, 0x763b10ec, 0x00005600, 0x003b1800,
+ 0x00008000, 0x763b20ec, 0x00005600, 0x003b2800, 0x00008000, 0x763b30ec,
+ 0x0000d600, 0x003b3800, 0x00000000, 0x763b40ec, 0x00005600, 0x003b4800,
+ 0x00008000, 0x763b50ec, 0x0000d600, 0x003b5800, 0x00000000, 0x763c90ec,
+ 0x00005600, 0x003c6000, 0x00000000, 0x2203fc88, 0x00006280, 0x8000108e,
+ 0x00002406, 0x760010ec, 0x00005680, 0x00008000, 0x000080c0, 0x22800000,
+ 0x00007900, 0x00003fc0, 0x00008980, 0x760000ec, 0x0000d680, 0x00000000,
+ 0x00008080, 0xe380438e, 0x00006080, 0x0e422490, 0x00002000, 0xa29bca88,
+ 0x0000f900, 0x00000008, 0x00000080, 0x763c70ec, 0x0000d600, 0x003c6800,
+ 0x00008000, 0x25000000, 0x00006181, 0x22001002, 0x0000c900, 0x763c50ec,
+ 0x00005600, 0x00000000, 0x00008080, 0xe21c4490, 0x00001300, 0x760488ec,
+ 0x0000d603, 0x003c4000, 0x00008000, 0x763840ec, 0x00005600, 0x00383800,
+ 0x00000000, 0x00007626, 0x00007400, 0x763830ec, 0x0000d600, 0x003a5800,
+ 0x00008000, 0x02000800, 0x00009981, 0x00007583, 0x00007200, 0xa5000000,
+ 0x000000e2, 0xa1d722e4, 0x00001900, 0xfbb13126, 0x00004462, 0x6ce00e53,
+ 0x00001d95, 0x01804444, 0x0000458c, 0x8100f4ab, 0x0000009c, 0x80113253,
+ 0x00001502, 0x29804444, 0x00006283, 0x00000053, 0x00002471, 0x0000f4ab,
+ 0x00001583, 0xffffffff, 0x00007f86, 0x000076c0, 0x0000f008, 0x000076c4,
+ 0x0000f018, 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x000094ab, 0x00001583, 0xb9143a87, 0x00001930, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x000070b3, 0x2983fa27, 0x00001080, 0x001d48a6,
+ 0x00001502, 0x29843085, 0x00006048, 0xb9143a87, 0x00000940, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x0000f0c3, 0x001138a6, 0x00009502, 0xa000281c,
+ 0x0000642e, 0x6000081e, 0x0000342b, 0x0b015227, 0x0000e028, 0xc000101c,
+ 0x0000242b, 0x000077e0, 0x0000f020, 0x2c0036e3, 0x00001680, 0xab4588b0,
+ 0x00001000, 0xab4012ad, 0x00006080, 0xb9143a87, 0x00008900, 0x937be4ad,
+ 0x00002084, 0x2a400800, 0x00006181, 0x4000101d, 0x00006402, 0xc001501d,
+ 0x0000ec82, 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280, 0x1f00087c,
+ 0x00006080, 0x6000101d, 0x0000a403, 0x00000000, 0x0000f280, 0x937be4ad,
+ 0x0000a884, 0x29400ca5, 0x00006081, 0x7842a000, 0x00000981, 0x2b652ca4,
+ 0x00001100, 0xffffffff, 0x0000ffb7, 0x10420700, 0x00007904, 0x10420700,
+ 0x00007904, 0x29b2be57, 0x00006101, 0x29c00e57, 0x00004180, 0x000538ad,
+ 0x00001502, 0x00007711, 0x0000f04b, 0x69008557, 0x00009283, 0x29c00000,
+ 0x00009991, 0x000076f7, 0x0000f011, 0xdf601e57, 0x00004488, 0x0ee018a7,
+ 0x00009d8e, 0xe1a018a7, 0x0000c1b8, 0x00e008a7, 0x00008088, 0x036010a7,
+ 0x00004788, 0x824020a7, 0x0000818a, 0xc4c028a7, 0x00007893, 0x0b800000,
+ 0x0000bb88, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29c00ca7,
+ 0x00006081, 0x29400ca5, 0x00000081, 0x2ba53ca7, 0x00006100, 0x2b400ca6,
+ 0x00004180, 0xbcc568ae, 0x0000f84b, 0x9b800000, 0x0000bb88, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x00007713,
+ 0x0000f400, 0x10420700, 0x00007904, 0x294014a5, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700,
+ 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700,
+ 0x00007904, 0x00007713, 0x0000f400, 0x10420700, 0x00007904, 0x29400ca5,
+ 0x00009081, 0x7713743d, 0x0000f204, 0xa9000800, 0x00001981, 0x80000011,
+ 0x0000e407, 0x80000013, 0x00003407, 0xd4800f52, 0x0000e181, 0x80000015,
+ 0x0000a407, 0xf2c02c57, 0x0000c398, 0x00e02c57, 0x00008090, 0xe4a20557,
+ 0x0000c48c, 0x3ae01e57, 0x00001dbe, 0x40c00055, 0x0000c88b, 0x82008557,
+ 0x0000888e, 0x01085000, 0x00001980, 0x77217ac7, 0x0000f500, 0xc1000a26,
+ 0x00001080, 0x01802004, 0x00009900, 0x01085000, 0x00001980, 0x77257ac7,
+ 0x00007500, 0xc1000a26, 0x00001080, 0x01802004, 0x00009900, 0x00000055,
+ 0x00006582, 0xb000081f, 0x0000a400, 0x53201034, 0x000004f3, 0x9380000f,
+ 0x000083d7, 0x0000772d, 0x0000f210, 0x51000800, 0x00006189, 0x12c00000,
+ 0x00004980, 0x00007739, 0x0000f000, 0x03801657, 0x00006181, 0x51001657,
+ 0x00000181, 0x00000c0e, 0x00006583, 0x12c2e05c, 0x00000900, 0x00007739,
+ 0x0000f033, 0xe6e01c0e, 0x00004488, 0x6ce0240e, 0x00001d8e, 0xce40140e,
+ 0x0000f893, 0xc3800000, 0x0000bb89, 0x12c2e068, 0x00001000, 0x12c25864,
+ 0x00001000, 0x12c25860, 0x00009000, 0xab402302, 0x00006780, 0x03800100,
+ 0x00008980, 0x4515680e, 0x0000e907, 0x13202457, 0x0000c598, 0x08c02457,
+ 0x00000894, 0x80005657, 0x00001583, 0x01085000, 0x00001998, 0xc1000a26,
+ 0x00001098, 0x00007744, 0x0000f030, 0x77447ac7, 0x0000f300, 0x01802004,
+ 0x00009900, 0x00040055, 0x00001582, 0x01085000, 0x00001998, 0xc1000a26,
+ 0x00001098, 0x0000774a, 0x00007030, 0x774a7ac7, 0x00007300, 0x01802004,
+ 0x00009900, 0x00001457, 0x00006583, 0xab401a55, 0x00000080, 0xab7fe2ad,
+ 0x00007900, 0x0000003e, 0x00008280, 0x9300c2ad, 0x0000e0b0, 0x9300a2ad,
+ 0x00008098, 0x2b62aaec, 0x00006101, 0xb000081f, 0x0000a400, 0x8d401cad,
+ 0x00006281, 0xd3001000, 0x00000981, 0xab402302, 0x00006780, 0x12c2a855,
+ 0x00000900, 0x13809800, 0x00006181, 0x4515680e, 0x00006107, 0x16000000,
+ 0x0000e1b0, 0x51000000, 0x00004981, 0x0f602457, 0x0000c598, 0x06e02457,
+ 0x00000695, 0x00001457, 0x00006583, 0xd3001000, 0x00000981, 0x16000000,
+ 0x0000e1b0, 0x2b40c000, 0x000049b1, 0x2b40a000, 0x00006199, 0x12c00000,
+ 0x00004980, 0x00000055, 0x00006582, 0xa9c02302, 0x00000780, 0x03800100,
+ 0x0000e188, 0x51000800, 0x00004989, 0x4515380e, 0x0000690f, 0x00007769,
+ 0x00007010, 0x00007785, 0x00007000, 0x13001657, 0x00006181, 0x0380405f,
+ 0x00000780, 0x00000c4c, 0x00006583, 0x51001657, 0x00000181, 0x0380000e,
+ 0x0000f900, 0x00000200, 0x00000380, 0x12c2e05c, 0x0000e100, 0x4515380e,
+ 0x00006107, 0x00007785, 0x00007030, 0xef601c4c, 0x0000c488, 0xece0244c,
+ 0x00009d8e, 0xe140144c, 0x00007893, 0x03800000, 0x0000bb8c, 0x12c2e068,
+ 0x0000e000, 0x0400406b, 0x00008780, 0x05000010, 0x00007900, 0x00000200,
+ 0x00000380, 0x45153814, 0x00006907, 0x12c25864, 0x0000e000, 0x04004067,
+ 0x00008780, 0x04800010, 0x00007900, 0x00000200, 0x00000380, 0x45153812,
+ 0x00006907, 0x12c25860, 0x00006000, 0x04004063, 0x00000780, 0x04000010,
+ 0x0000f900, 0x00000200, 0x00000380, 0x45153810, 0x0000e907, 0x0019b04b,
+ 0x0000e502, 0xb000081f, 0x0000a400, 0x9300c336, 0x0000e098, 0x93001a4b,
+ 0x000000b0, 0xffffffff, 0x00007f86, 0x933fe24c, 0x00007930, 0x0000003e,
+ 0x00008280, 0x931264ad, 0x00006030, 0x2b625aec, 0x00000101, 0x40000d44,
+ 0x0000e583, 0x8d401cad, 0x00000281, 0x2b40f800, 0x00006191, 0x2b409800,
+ 0x00004989, 0xffffffff, 0x00007f86, 0x13a56cad, 0x00001901, 0x08202457,
+ 0x0000c598, 0x03402457, 0x00000390, 0x2b403457, 0x00009181, 0x00000cad,
+ 0x00009583, 0x12c00000, 0x000061b0, 0x93026000, 0x0000c9b0, 0x13807800,
+ 0x0000e1b1, 0xb000081f, 0x00006430, 0x000077a8, 0x00007018, 0x00004060,
+ 0x0000e582, 0x8d400000, 0x00008981, 0x01085000, 0x00009990, 0xc1000a26,
+ 0x00009090, 0x000077a4, 0x0000f008, 0x77a47ac7, 0x00007300, 0x01802004,
+ 0x00009900, 0xab402302, 0x00009780, 0x4515680e, 0x0000e907, 0x05e02457,
+ 0x00004598, 0x02202457, 0x00008197, 0x00005c57, 0x00009583, 0x01085000,
+ 0x00001998, 0xc1000a26, 0x00001098, 0x000077ae, 0x00007030, 0x77ae7ac7,
+ 0x00007300, 0x01802004, 0x00009900, 0x2b404056, 0x00006780, 0xa9c02302,
+ 0x00000780, 0x038000ad, 0x0000f900, 0x00000200, 0x00000380, 0x4515380e,
+ 0x00006107, 0xb000081f, 0x00003400, 0x12c00000, 0x000004f1, 0xcd401800,
+ 0x000084fa, 0xf7405457, 0x00004488, 0xaae02457, 0x00001d9f, 0xf2002457,
+ 0x00007893, 0x23800000, 0x0000bb8e, 0x0380405a, 0x00006780, 0x010a0011,
+ 0x0000a604, 0x040000ad, 0x0000f900, 0x00000200, 0x00000380, 0x0380000e,
+ 0x0000f900, 0x00000200, 0x00000380, 0x4515380e, 0x00006107, 0x45153810,
+ 0x00003107, 0xfaa02457, 0x0000c998, 0x90e02457, 0x00009d97, 0x01085800,
+ 0x00009980, 0xc1000a26, 0x00001080, 0x01802004, 0x00009900, 0x77c87ac7,
+ 0x0000f100, 0x77ca657d, 0x0000f300, 0x42000800, 0x00001981, 0x0000004b,
+ 0x00009582, 0xb9143a87, 0x0000e110, 0x2000081e, 0x0000e40a, 0xd11a24a6,
+ 0x00006008, 0x89800a26, 0x00008088, 0xffffffff, 0x00007f97, 0x00000000,
+ 0x0000f093, 0x00001457, 0x00009583, 0x14000850, 0x000090b0, 0x000077e4,
+ 0x00007019, 0x000077e4, 0x0000f000, 0x00003c57, 0x00009583, 0xd4800f52,
+ 0x00006099, 0x2000081e, 0x0000a41a, 0x89800a26, 0x00006098, 0xd11a24a6,
+ 0x00008018, 0x77e4753d, 0x0000f330, 0x69400800, 0x000099b1, 0x000077e4,
+ 0x0000f000, 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb7a52ca4,
+ 0x0000781b, 0x8b800000, 0x00003b88, 0xac800752, 0x0000f893, 0x03800001,
+ 0x00008080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x77ed1a22, 0x0000f100, 0x80000ea8, 0x00006583, 0x19400000,
+ 0x00000981, 0x19400800, 0x0000e189, 0x02c00000, 0x0000c980, 0x800006a8,
+ 0x0000e583, 0x0000180b, 0x0000a106, 0x9a2f2004, 0x00006190, 0x9a2b2004,
+ 0x0000c988, 0x000810ec, 0x0000d780, 0x00c066c0, 0x00000180, 0x19800000,
+ 0x0000f900, 0x001f9240, 0x00000980, 0x001910ec, 0x0000d780, 0x00006001,
+ 0x00000080, 0x23362080, 0x0000e180, 0x00134066, 0x00006186, 0x02009000,
+ 0x00007900, 0x0002b200, 0x00000980, 0x02400000, 0x0000f900, 0x00018030,
+ 0x00008980, 0xc000180b, 0x0000e006, 0x0423288c, 0x00003001, 0x203b36ec,
+ 0x0000d600, 0x003c2000, 0x00008000, 0x03000000, 0x000080f4, 0x03800000,
+ 0x000080fc, 0x04000000, 0x000081c4, 0x04800000, 0x000081cc, 0x05000000,
+ 0x000081d4, 0x05800000, 0x000081dc, 0x02a81402, 0x00008028, 0x22000000,
+ 0x000088e4, 0x22800000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000,
+ 0x000089c4, 0x24800000, 0x000089cc, 0x1b000000, 0x000086f4, 0x1b800000,
+ 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000,
+ 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
+ 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000,
+ 0x000088c4, 0x00000001, 0x00007480, 0x20800000, 0x000088cc, 0x192d4c64,
+ 0x0000e101, 0x22c42084, 0x00000900, 0x40001da8, 0x00001583, 0x08011465,
+ 0x0000600a, 0x0ec18867, 0x0000b00a, 0x00000001, 0x0000f091, 0x00000465,
+ 0x00009583, 0x01000020, 0x0000e188, 0x02001800, 0x00004988, 0x01800000,
+ 0x0000e188, 0x01c00000, 0x00004988, 0x00007833, 0x00007010, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03af5800, 0x00007900, 0x0010c1a6,
+ 0x00008980, 0x81001000, 0x0000e180, 0x08001a09, 0x0000e106, 0x00007842,
+ 0x00007400, 0x412807a8, 0x00008026, 0x02e00702, 0x00008026, 0x19c00c67,
+ 0x00001181, 0x00000c67, 0x00009583, 0x01000020, 0x00006198, 0x0ec18806,
+ 0x0000e01a, 0x02001800, 0x0000e198, 0x01c00000, 0x0000c998, 0x00000001,
+ 0x0000f0b0, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03bc6000,
+ 0x00007900, 0x001c8bc6, 0x00000980, 0x81001000, 0x0000e180, 0x08001a09,
+ 0x0000e106, 0x412807a8, 0x00008026, 0x02e00702, 0x00008026, 0x78431bb2,
+ 0x0000f100, 0x800016a8, 0x00009583, 0x0000784a, 0x0000f013, 0x78461a22,
+ 0x00007100, 0x00000001, 0x00007480, 0x200f26ec, 0x00005680, 0x003c2509,
+ 0x00003f10, 0x1907f800, 0x00001981, 0x784b77ec, 0x0000f100, 0x00000001,
+ 0x0000f080, 0x08011465, 0x0000e002, 0x0ec18866, 0x0000b002, 0x19800c66,
+ 0x00001181, 0x00000c66, 0x00001583, 0x01000020, 0x00006198, 0x0ec18806,
+ 0x0000e01a, 0x81001000, 0x0000e198, 0x01c00000, 0x0000c998, 0x0000785a,
+ 0x0000f030, 0x00007864, 0x0000f400, 0x0352d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03bdc800, 0x00007900, 0x002a2148, 0x00000980, 0x00000465,
+ 0x00009583, 0x01a32c65, 0x00006110, 0x01000020, 0x0000c990, 0x81001000,
+ 0x00006190, 0x01c00000, 0x00004990, 0x00007869, 0x00007008, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03899000, 0x00007900, 0x003f6112,
+ 0x00000980, 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106, 0x78691bb2,
+ 0x0000f500, 0x82600500, 0x00008026, 0xc23811a8, 0x0000002c, 0x00007843,
+ 0x0000f200, 0x8000081a, 0x00006c02, 0x786d196d, 0x00007300, 0x2a400000,
+ 0x00009981, 0x00007843, 0x00007000, 0x4000101d, 0x00006402, 0x70008820,
+ 0x00003500, 0xc001481d, 0x00006482, 0x8000081b, 0x0000b403, 0x8000101a,
+ 0x0000e402, 0xc000081c, 0x0000b403, 0x0000281f, 0x0000e404, 0x6000101d,
+ 0x00003403, 0x00000001, 0x00007480, 0x0c400000, 0x000005c4, 0x14c00400,
+ 0x000005c8, 0x0ec18814, 0x00006802, 0x00000c14, 0x00001583, 0x0580a253,
+ 0x00009088, 0x00007880, 0x00007009, 0x00001414, 0x00001583, 0x05800000,
+ 0x00006190, 0x0580c253, 0x0000c088, 0x00000c14, 0x00001583, 0x29c0b016,
+ 0x00001900, 0x00007886, 0x00007011, 0x80000253, 0x00009582, 0x85406000,
+ 0x00009990, 0x00007887, 0x0000f011, 0x85405800, 0x00009980, 0x05c00000,
+ 0x0000f900, 0x001f8000, 0x00008980, 0x852b2004, 0x00009980, 0x8502a000,
+ 0x00006180, 0x85d0b214, 0x00004100, 0x8510aa14, 0x00001100, 0x00000001,
+ 0x00007480, 0x0410a017, 0x0000e901, 0x2038beec, 0x0000d600, 0x003c2000,
+ 0x00008000, 0x1a000000, 0x00007900, 0x001f8000, 0x00008980, 0x00132868,
+ 0x0000e986, 0x00000001, 0x00007480, 0x041b2868, 0x0000e901, 0x203b46ec,
+ 0x00005600, 0x003c2000, 0x00008000, 0x8540c227, 0x0000e180, 0xf000181f,
+ 0x00002402, 0x85004215, 0x00006780, 0x1c000000, 0x00000980, 0x1d000000,
+ 0x000087d4, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x4db0ae15,
+ 0x0000011e, 0x4db0ab14, 0x00008112, 0x85400800, 0x00009980, 0x0580b814,
+ 0x00001000, 0x00000016, 0x00007900, 0x00000040, 0x00008582, 0x0500b814,
+ 0x00006030, 0x85400a15, 0x000000b0, 0x000078a9, 0x00007019, 0x000078a2,
+ 0x00007000, 0x9350aa15, 0x00006100, 0x0c029d73, 0x00006002, 0x85400a15,
+ 0x0000e180, 0x0b829c74, 0x00002000, 0xd350a215, 0x00006100, 0xdcc0c227,
+ 0x00000180, 0x1cb21642, 0x00006101, 0x0f818814, 0x0000e004, 0xdc929a53,
+ 0x0000e100, 0x1cc00c31, 0x00004281, 0x1dba9751, 0x0000871c, 0x1c400784,
+ 0x000007a0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000,
+ 0x000007f8, 0x1fc00000, 0x000008c0, 0x78bc7879, 0x0000f500, 0x20400000,
+ 0x000008c8, 0x9c800314, 0x0000888c, 0x78be1a22, 0x00007300, 0xa9204400,
+ 0x00000ada, 0x05c00000, 0x00006180, 0x19005464, 0x0000c181, 0x000828ec,
+ 0x00005780, 0x00c066c0, 0x000003c0, 0x85901202, 0x0000e100, 0x00001817,
+ 0x0000e106, 0x05009000, 0x0000f900, 0x00033280, 0x00008980, 0x05400000,
+ 0x00007900, 0x00018008, 0x00000980, 0x000128ec, 0x00005780, 0x00006001,
+ 0x00000080, 0x00000001, 0x00007480, 0xc5981302, 0x00006100, 0xc0001817,
+ 0x00006006, 0x192d4c64, 0x00001101, 0x03800100, 0x00006180, 0x0f818805,
+ 0x0000e004, 0x81002302, 0x00009780, 0x01000805, 0x0000e282, 0x4510200e,
+ 0x0000a107, 0xd900c000, 0x00006190, 0x14001000, 0x00004990, 0x22008006,
+ 0x00006190, 0x22400000, 0x00004990, 0x00007910, 0x00007008, 0x19401800,
+ 0x0000e181, 0x0e422405, 0x0000e000, 0x00001c65, 0x00006583, 0x0a027404,
+ 0x0000a084, 0x23000000, 0x0000e180, 0x01403c05, 0x00004881, 0x22800000,
+ 0x000088f4, 0x23800000, 0x000088fc, 0x24000900, 0x000089c4, 0x24800000,
+ 0x000089cc, 0x22ea7784, 0x00000822, 0x000078eb, 0x0000f408, 0x624a7430,
+ 0x00008824, 0xa2202405, 0x0000e301, 0x23000800, 0x00000988, 0x00000c65,
+ 0x00001583, 0x22010088, 0x0000e390, 0x23400800, 0x00008990, 0x00007935,
+ 0x00007009, 0x02c00000, 0x0000e180, 0x83c02302, 0x00004780, 0x000808ec,
+ 0x0000d780, 0x00006001, 0x00000080, 0x0000180b, 0x00006106, 0x4510780e,
+ 0x0000b107, 0x021cb000, 0x00007900, 0x0003f100, 0x00000980, 0x02400000,
+ 0x0000f900, 0x00018008, 0x00000980, 0x03401000, 0x0000f900, 0x0001c000,
+ 0x00000980, 0x0000a8ec, 0x00005780, 0x00006001, 0x00000080, 0x01000802,
+ 0x0000e180, 0xc000180b, 0x0000e006, 0x01400000, 0x00006180, 0x0197f880,
+ 0x00004980, 0x01c00000, 0x0000e180, 0x82901202, 0x00004900, 0x02a00502,
+ 0x00000a99, 0x79041a22, 0x00007500, 0xa9e04764, 0x00000a9a, 0x03c00004,
+ 0x0000e180, 0x69000000, 0x0000c981, 0x00000c65, 0x0000e583, 0x19002c64,
+ 0x00000181, 0x99c22800, 0x00006188, 0x99c20800, 0x0000c990, 0x192d4c64,
+ 0x0000e101, 0x996b2004, 0x00000980, 0x790f7891, 0x0000f500, 0x001910ec,
+ 0x0000d780, 0x00006001, 0x00000080, 0x995b2265, 0x00006100, 0xd9533a67,
+ 0x00000900, 0x00000001, 0x0000f080, 0x01001005, 0x00001282, 0xd900a000,
+ 0x00006190, 0x22188000, 0x00004990, 0x22400000, 0x00006190, 0x22800000,
+ 0x00004990, 0x00007927, 0x0000f008, 0x19400000, 0x0000e181, 0x0e422405,
+ 0x0000e000, 0x00001c65, 0x00006583, 0x0a027404, 0x0000a084, 0x23000000,
+ 0x0000e180, 0x01403c05, 0x00004881, 0x23400000, 0x000008f8, 0x23c80000,
+ 0x000009c0, 0x24400001, 0x000089c8, 0x24c00000, 0x00006180, 0x22c42084,
+ 0x0000c900, 0xa221854e, 0x00000825, 0x000078e7, 0x0000f410, 0x626a754e,
+ 0x00006101, 0x23000800, 0x0000c988, 0xa2202405, 0x00001301, 0x000078eb,
+ 0x0000f000, 0x0e422405, 0x0000e000, 0x0a027404, 0x00003084, 0x22288002,
+ 0x00006180, 0x22400000, 0x0000c980, 0x01403c05, 0x00006081, 0xc000081e,
+ 0x00006403, 0x59001434, 0x000002fc, 0x22800000, 0x000088f4, 0x23800000,
+ 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x22ea7784,
+ 0x00000822, 0x624a7430, 0x00008824, 0xa2202405, 0x00001301, 0x02c00000,
+ 0x0000e180, 0x83c02302, 0x00004780, 0x000808ec, 0x0000d780, 0x00006001,
+ 0x00000080, 0x0000180b, 0x00006106, 0x4510780e, 0x0000b107, 0x0204b000,
+ 0x00007900, 0x0003f140, 0x00008980, 0x02400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x0000a8ec,
+ 0x00005780, 0x00006001, 0x00000080, 0x23000800, 0x00006180, 0xc000180b,
+ 0x0000e006, 0xe4c00801, 0x000080d0, 0x0157f800, 0x000080d8, 0x01c00000,
+ 0x0000e180, 0x82901202, 0x00004900, 0x02802d02, 0x0000059e, 0x16800801,
+ 0x000086d6, 0xe9800000, 0x00006180, 0x29db2364, 0x00004900, 0x79501a22,
+ 0x0000f500, 0xa9a00408, 0x00000ad2, 0x03c00004, 0x00009980, 0x00000c65,
+ 0x0000e583, 0x19002c64, 0x00000181, 0x99c22800, 0x00006188, 0x99c20800,
+ 0x0000c990, 0x192d4c64, 0x0000e101, 0x996b2004, 0x00000980, 0x795b7891,
+ 0x00007500, 0x001910ec, 0x0000d780, 0x00006001, 0x00000080, 0x995b2265,
+ 0x00006100, 0xd9533a67, 0x00000900, 0x00000001, 0x0000f080, 0x03800100,
+ 0x00006180, 0x0e422405, 0x0000e000, 0x81002302, 0x00006780, 0x02c00000,
+ 0x00000980, 0x000808ec, 0x0000d780, 0x00006001, 0x00000080, 0x4510200e,
+ 0x00006107, 0x0000180b, 0x00003106, 0x22298004, 0x0000e180, 0x0a027404,
+ 0x00006084, 0x22400000, 0x0000e180, 0x01403c05, 0x00004881, 0x021cb000,
+ 0x00007900, 0x0003f100, 0x00000980, 0x02400000, 0x0000f900, 0x00018008,
+ 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980, 0x0000a8ec,
+ 0x00005780, 0x00006001, 0x00000080, 0x22800000, 0x0000e180, 0xc000180b,
+ 0x0000e006, 0x23000800, 0x000008f4, 0x23800000, 0x000088fc, 0x24000900,
+ 0x000089c4, 0x24800000, 0x000089cc, 0x22c42084, 0x0000e100, 0x0197f880,
+ 0x00004980, 0x01c00000, 0x0000e180, 0x82901202, 0x00004900, 0xc2981302,
+ 0x0000e100, 0x03c00004, 0x0000c980, 0x6980a400, 0x00008adc, 0xa9a00408,
+ 0x00000ad2, 0xa221854e, 0x00000825, 0x79841a22, 0x0000f500, 0x626a754e,
+ 0x00006101, 0xa2202405, 0x00004301, 0x01400000, 0x00006180, 0x01000802,
+ 0x0000c980, 0x19400000, 0x0000f900, 0x00001040, 0x00008980, 0x99eb2004,
+ 0x00006180, 0x19002c64, 0x0000c181, 0x798d7891, 0x0000f500, 0x001910ec,
+ 0x0000d780, 0x00006001, 0x00000080, 0x9940a267, 0x0000e180, 0x192d4c64,
+ 0x00008101, 0x00000001, 0x0000f080, 0x798f7820, 0x0000f100, 0x08011465,
+ 0x0000e002, 0x0ec18868, 0x00003002, 0x00000c68, 0x00009583, 0x99c0a253,
+ 0x00001088, 0x00007997, 0x0000f009, 0x00001468, 0x00009583, 0x99c00000,
+ 0x0000e190, 0x99c0c253, 0x00004088, 0x00000465, 0x00009583, 0x000079a7,
+ 0x0000700b, 0x001338a5, 0x00001502, 0x0698001a, 0x000063a0, 0x69000800,
+ 0x000089a9, 0x000079a7, 0x00007029, 0x34401068, 0x00004389, 0x00e01868,
+ 0x00000088, 0xc0400868, 0x0000c888, 0x122025a8, 0x00000196, 0x00007898,
+ 0x00007000, 0x80000642, 0x00009583, 0x000079a5, 0x0000f00b, 0x0000795c,
+ 0x00007000, 0x000078ce, 0x00007000, 0x79a7786e, 0x0000f100, 0x0000786b,
+ 0x00007000, 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800,
+ 0x00007900, 0x0005a686, 0x00000980, 0x03818000, 0x00007900, 0x003b0dc4,
+ 0x00000980, 0x022d45a8, 0x00006100, 0x08001a09, 0x0000e106, 0x01800003,
+ 0x000080dc, 0x000079c1, 0x00007400, 0x82600500, 0x00008026, 0x81001000,
+ 0x0000e180, 0x02c01002, 0x00004900, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03a10800,
+ 0x0000f900, 0x0002eb2c, 0x00008980, 0x02232c65, 0x00006100, 0x08001a09,
+ 0x0000e106, 0x81800631, 0x0000009c, 0x82600500, 0x00008026, 0x81001000,
+ 0x0000e180, 0x02c01002, 0x00004900, 0x79c21bb2, 0x00007100, 0x06000002,
+ 0x000001e4, 0x06800000, 0x000081ec, 0x07000000, 0x000081f4, 0x07800000,
+ 0x000081fc, 0x88000000, 0x000080d0, 0x01400000, 0x000000d8, 0x01c00000,
+ 0x000000e0, 0x02400000, 0x000000e8, 0x02c00000, 0x000080f0, 0x03400000,
+ 0x000000f8, 0x03c00000, 0x000081c0, 0x04400000, 0x000001c8, 0x04c00000,
+ 0x000081d0, 0x05400000, 0x000001d8, 0x05e00000, 0x00000ada, 0x29e00000,
+ 0x00008ad9, 0xa9000400, 0x000089f0, 0x27400000, 0x000009f8, 0x27c00000,
+ 0x00000ac0, 0x79d818fa, 0x00007500, 0x28400000, 0x00000ac8, 0x28c00000,
+ 0x00001980, 0x26000000, 0x000009d0, 0x25400000, 0x00006180, 0x967d4098,
+ 0x0000e001, 0x25800000, 0x000089dc, 0x26400000, 0x000009e8, 0x990000ff,
+ 0x000089ec, 0x3c4015a8, 0x0000c389, 0x00e015a8, 0x00000098, 0x01e00da8,
+ 0x00004888, 0x302025a8, 0x000084b0, 0x01000000, 0x00007900, 0x0000c040,
+ 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x038ac800,
+ 0x0000f900, 0x0032ba12, 0x00008980, 0x02001000, 0x00006180, 0x08001a09,
+ 0x0000e106, 0x01800000, 0x000080dc, 0x79ef1bb2, 0x0000f500, 0x82600500,
+ 0x00008026, 0x81001000, 0x0000e180, 0x02c01002, 0x00004900, 0x79f0784c,
+ 0x00007100, 0xc0c02800, 0x00006180, 0x02105001, 0x00006586, 0xc0008000,
+ 0x00006181, 0x00180001, 0x0000e503, 0xc0000801, 0x0000ec01, 0x80632464,
+ 0x00001901, 0x008806ec, 0x00005f80, 0x00985980, 0x000007c4, 0x79f0798e,
+ 0x00007100, 0x0b001e59, 0x00006281, 0x01000000, 0x00000980, 0x00000c2c,
+ 0x00006583, 0x01400000, 0x00008980, 0x01800000, 0x00006180, 0x20001004,
+ 0x0000640a, 0x01c00000, 0x000000e0, 0x00007a30, 0x00007408, 0x02400000,
+ 0x000000e8, 0x83000000, 0x000000ec, 0x8b001e59, 0x00009283, 0x84989312,
+ 0x0000e108, 0x00001004, 0x0000e40a, 0x17c00000, 0x0000e188, 0x2000080a,
+ 0x0000e40a, 0x00007a30, 0x0000f010, 0xcb01870d, 0x0000e283, 0x0b001800,
+ 0x00008981, 0x0b000000, 0x0000e189, 0x0000185f, 0x0000e106, 0x0008b8ec,
+ 0x00005780, 0x00c06600, 0x00000180, 0x1a200007, 0x0000e180, 0xc000185f,
+ 0x00006006, 0x17009000, 0x0000f900, 0x0002b200, 0x00000980, 0x17400000,
+ 0x00007900, 0x00018030, 0x00008980, 0x97901202, 0x0000e100, 0x41216006,
+ 0x0000e002, 0x0018d0ec, 0x00005780, 0x00006001, 0x00000080, 0x17800502,
+ 0x000086a4, 0x1a800000, 0x000006f0, 0x1b400000, 0x000006f8, 0x1bc00000,
+ 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180, 0x1ac2c058,
+ 0x00004900, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc, 0x19000000,
+ 0x000086d4, 0x19800000, 0x000086dc, 0x1d000000, 0x000087d4, 0x1d800000,
+ 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000,
+ 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000,
+ 0x000088cc, 0x00007a31, 0x00007400, 0x0b47f000, 0x00006181, 0xda189312,
+ 0x00004900, 0x8b028800, 0x00009980, 0x8b42a0ff, 0x000002f1, 0xc0c82000,
+ 0x00006180, 0x02105001, 0x00006586, 0x0baf2000, 0x0000f900, 0x001f8008,
+ 0x00000980, 0x0411602e, 0x0000e101, 0x00180001, 0x0000b503, 0xc0007800,
+ 0x0000e181, 0xc0000801, 0x00006401, 0x203976ec, 0x0000d600, 0x003ac000,
+ 0x00000000, 0x000800ec, 0x00005780, 0x00985840, 0x00000580, 0x80616c2d,
+ 0x00001901, 0x008066ec, 0x0000df80, 0x00005801, 0x00000084, 0x01400000,
+ 0x0000f900, 0x001f8000, 0x00008980, 0xffc00000, 0x00006180, 0x02105001,
+ 0x00006586, 0x001d4805, 0x00006186, 0x00180001, 0x0000b503, 0x04255805,
+ 0x0000e101, 0x00001018, 0x0000b402, 0xc0000801, 0x00006401, 0x40001018,
+ 0x00003402, 0x20382eec, 0x0000d600, 0x003c2000, 0x00008000, 0x40e08405,
+ 0x000000c3, 0x80755eab, 0x00001901, 0x008806ec, 0x00005f80, 0x00985980,
+ 0x000007c4, 0x7a516494, 0x00007100, 0x7a527a40, 0x00007100, 0x0667f819,
+ 0x00007900, 0x003ffffe, 0x00008280, 0x60000018, 0x0000e403, 0xc0000019,
+ 0x0000b402, 0xc0000018, 0x0000e403, 0x60000019, 0x00003403, 0x81018621,
+ 0x00006283, 0x2000001e, 0x0000a403, 0x7a5f7a40, 0x00007500, 0x80000098,
+ 0x0000e403, 0xa0000019, 0x00003403, 0x6000081f, 0x00006413, 0xa0001018,
+ 0x00003412, 0x40004da8, 0x00001583, 0x00000001, 0x0000708b, 0x40000da8,
+ 0x00009583, 0x01003f53, 0x00009299, 0x00000001, 0x000070b1, 0x00001c04,
+ 0x00001583, 0x00000001, 0x0000708b, 0x00000c04, 0x00009583, 0x00002404,
+ 0x00001593, 0x02000000, 0x00006188, 0x02400000, 0x0000c988, 0x02800000,
+ 0x0000e188, 0x02c00000, 0x00004988, 0x00000001, 0x00007090, 0x01001da8,
+ 0x0000e181, 0x25000000, 0x00000980, 0x00000c04, 0x00006583, 0x25400000,
+ 0x00008980, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000,
+ 0x000089ec, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x28000000,
+ 0x00008ac4, 0x28800000, 0x00008acc, 0x7a7c7a50, 0x00007530, 0xeac2a0ff,
+ 0x00000aee, 0xaa800000, 0x0000e180, 0xea6f2004, 0x0000c980, 0x7a7d7a52,
+ 0x0000f100, 0x00000001, 0x0000f080, 0xc1003f53, 0x00001283, 0xc1040720,
+ 0x00006283, 0x80000853, 0x0000a40d, 0x2000081e, 0x00006413, 0x8000101f,
+ 0x00003412, 0x0a81702e, 0x0000e110, 0x4000081f, 0x0000e413, 0x00007a8c,
+ 0x00007008, 0x81018621, 0x00006283, 0x0e01702e, 0x00008900, 0xa0001018,
+ 0x00006412, 0x6000081f, 0x00003413, 0x0d400800, 0x00001981, 0xa0001018,
+ 0x0000ec03, 0x4000101d, 0x00006402, 0xa000501c, 0x00003406, 0xc001501d,
+ 0x00006482, 0xc000101c, 0x0000b403, 0x00000001, 0x00007480, 0x113df844,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x0681801a, 0x0000e380, 0x6000101d,
+ 0x0000a403, 0x01003f53, 0x00006281, 0x8000101a, 0x00002402, 0x00000c04,
+ 0x00006583, 0xaac7f800, 0x00000981, 0xea6f2004, 0x0000e180, 0x2ac2a000,
+ 0x0000c981, 0x00007a9e, 0x00007019, 0x7aa07a7e, 0x00007100, 0x00007aa0,
+ 0x00007000, 0x00001c04, 0x00001583, 0x80002053, 0x0000ec0d, 0x7aa17a40,
+ 0x00007100, 0x02c00000, 0x0000e180, 0x82901202, 0x00004900, 0xc2981302,
+ 0x0000e100, 0x0000180b, 0x00006106, 0x02009000, 0x00007900, 0x0002b200,
+ 0x00000980, 0x02400000, 0x0000f900, 0x00018030, 0x00008980, 0x000810ec,
+ 0x0000d780, 0x00c066c0, 0x00000180, 0x22200005, 0x0000e180, 0xc000180b,
+ 0x0000e006, 0x22400000, 0x000008e8, 0x23000000, 0x000088f4, 0x23800000,
+ 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x1b000000,
+ 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000,
+ 0x000087cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000,
+ 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x27800000,
+ 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc, 0x22c42084,
+ 0x0000e100, 0x2ac01cab, 0x0000c181, 0xaac00eab, 0x00001181, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec,
+ 0x00005780, 0x00006001, 0x00000080, 0x00000001, 0x0000f080, 0x0a029c05,
+ 0x0000e804, 0x00000405, 0x00009583, 0x00007ace, 0x0000700b, 0x00007ad3,
+ 0x00007400, 0x00001c05, 0x00009583, 0x81847000, 0x00006188, 0x80002053,
+ 0x0000640d, 0x01400da8, 0x0000e181, 0x80000853, 0x00002405, 0x00001405,
+ 0x00001583, 0x81849000, 0x000019b0, 0x7ad3652c, 0x00007119, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec,
+ 0x00005780, 0x00000000, 0x00008080, 0x4000101d, 0x00006402, 0xa000501c,
+ 0x00003406, 0x14603406, 0x0000e101, 0xc001501d, 0x00006482, 0xd4583306,
+ 0x00006100, 0xc000101c, 0x0000e403, 0x113df844, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x82283051, 0x00006002, 0x6000101d, 0x00003403, 0x0681801a,
+ 0x00001380, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x7ae67aa1,
+ 0x00007100, 0x400025a8, 0x00009583, 0x000004ac, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x00007aee, 0x0000f010, 0x00007af1, 0x00007010, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x7aee7a50, 0x00007100, 0x814000ec,
+ 0x00005684, 0x00000002, 0x00008480, 0x7af17a52, 0x00007100, 0x7af27a40,
+ 0x00007100, 0x00000c05, 0x0000e583, 0x23062000, 0x00008980, 0x01000800,
+ 0x00006189, 0x01003000, 0x0000c991, 0x00000405, 0x00006583, 0x02c00000,
+ 0x00000980, 0x63202404, 0x00006101, 0x0000180b, 0x00006106, 0x81000000,
+ 0x00006180, 0xc000180b, 0x0000e006, 0x01000800, 0x00006191, 0x82901202,
+ 0x00004900, 0x40000505, 0x00006583, 0xc2981302, 0x00000900, 0x22000000,
+ 0x00006180, 0x1460208c, 0x0000e001, 0x41000000, 0x000088e4, 0x01000800,
+ 0x00006191, 0x22800000, 0x0000c980, 0xc0000305, 0x00006582, 0x23400000,
+ 0x00008980, 0x23800000, 0x00006180, 0x0420208c, 0x0000e001, 0x41000000,
+ 0x000088fc, 0x81000800, 0x00006190, 0x24000000, 0x00004980, 0x000810ec,
+ 0x0000d780, 0x00c066c0, 0x00000180, 0x02009000, 0x00007900, 0x0002b200,
+ 0x00000980, 0x02400000, 0x0000f900, 0x00018030, 0x00008980, 0x24400000,
+ 0x0000e180, 0x24a0208c, 0x0000e001, 0x001910ec, 0x0000d780, 0x00006001,
+ 0x00000080, 0x24800000, 0x000089cc, 0x1b000000, 0x000086f4, 0x1b800000,
+ 0x000086fc, 0x1c000000, 0x000087c4, 0x00000001, 0x00007480, 0x1c800000,
+ 0x000087cc, 0x22c42084, 0x00009900, 0x06000002, 0x000001e4, 0x06800000,
+ 0x000081ec, 0x07000000, 0x000081f4, 0x07800000, 0x000081fc, 0x01001c22,
+ 0x00006283, 0x08000000, 0x00008981, 0x80000642, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x00007b30, 0x00007008, 0x00007b30, 0x00007008, 0x02105001,
+ 0x00006586, 0x70004820, 0x00003500, 0x0698001a, 0x0000e380, 0x000ff801,
+ 0x00002501, 0x00007b4c, 0x0000f400, 0xc0005e03, 0x0000e081, 0xc0000801,
+ 0x0000a401, 0x816f2004, 0x00006180, 0x8102a000, 0x0000c980, 0x26000000,
+ 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x27800000,
+ 0x000089fc, 0x28000000, 0x00008ac4, 0x7b391af5, 0x00007500, 0x28800000,
+ 0x00008acc, 0x01800000, 0x00006180, 0x01ffe01f, 0x0000c980, 0x00001406,
+ 0x0000e583, 0x02105001, 0x0000a586, 0x8107c800, 0x00006180, 0x00180001,
+ 0x0000e503, 0x01400800, 0x0000e189, 0xc0000801, 0x00006401, 0x01400000,
+ 0x00006191, 0x81302204, 0x0000c100, 0x80602404, 0x00006101, 0x70004820,
+ 0x0000e508, 0x01200800, 0x000000cd, 0xc0006000, 0x0000e181, 0x00002804,
+ 0x00006086, 0x7b4a7af2, 0x00007500, 0x000880ec, 0x0000d780, 0x00005800,
+ 0x00000080, 0x01402004, 0x00009900, 0x816b2004, 0x0000e180, 0x81024800,
+ 0x0000c980, 0x01c00000, 0x00007900, 0x001f8000, 0x00008980, 0x00102807,
+ 0x0000e986, 0x04102007, 0x0000e901, 0x20383eec, 0x00005600, 0x003c2000,
+ 0x00008000, 0x008806ec, 0x00005f80, 0x00985980, 0x00000584, 0x06000002,
+ 0x000001e4, 0x06800000, 0x000081ec, 0x07000000, 0x000081f4, 0x07800000,
+ 0x000081fc, 0x88000000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000,
+ 0x000009e0, 0x26400000, 0x000009e8, 0x26c00000, 0x000089f0, 0x27400000,
+ 0x000009f8, 0x27c00000, 0x00000ac0, 0x7b621b53, 0x00007500, 0x28400000,
+ 0x00000ac8, 0x28c00000, 0x00001980, 0x0000046c, 0x00006583, 0x02105001,
+ 0x0000a586, 0x000810ec, 0x00005788, 0x00c066c0, 0x00000180, 0x001910ec,
+ 0x00005788, 0x00006001, 0x00000080, 0x812b2004, 0x0000e188, 0x812f2004,
+ 0x00004990, 0x01800000, 0x0000f900, 0x001f9240, 0x00000980, 0x000810ec,
+ 0x00005790, 0x00c066c0, 0x00000180, 0x00102006, 0x00006186, 0x00180001,
+ 0x0000b503, 0x001910ec, 0x00005790, 0x00006001, 0x00000080, 0x02c00000,
+ 0x0000e180, 0x23362000, 0x00004980, 0x8107f800, 0x00006180, 0xc0000801,
+ 0x00006401, 0x203836ec, 0x0000d600, 0x003c2000, 0x00008000, 0x0000180b,
+ 0x00006106, 0x0000088c, 0x0000b411, 0x81242a04, 0x0000e100, 0xc000180b,
+ 0x00002006, 0x02009000, 0x00007900, 0x0002b200, 0x00000980, 0x02400000,
+ 0x0000f900, 0x00018030, 0x00008980, 0x2000088c, 0x00006409, 0x2000088c,
+ 0x00003411, 0x000880ec, 0x0000d780, 0x00005800, 0x00000080, 0x02a81402,
+ 0x00008028, 0x22000000, 0x000088e4, 0x22800000, 0x000088f4, 0x23800000,
+ 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x1b400000,
+ 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1ce06000,
+ 0x000000c3, 0x1b000000, 0x00006180, 0x22c42084, 0x00004908, 0x22c42084,
+ 0x00006110, 0xc0c00800, 0x0000c980, 0x80602404, 0x00001901, 0x008806ec,
+ 0x00005f80, 0x00985980, 0x00000584, 0x06000008, 0x000001e4, 0x06800000,
+ 0x000081ec, 0x07000000, 0x000081f4, 0x07800000, 0x000081fc, 0x88000000,
+ 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0, 0x7b9f1ace,
+ 0x0000f500, 0x26400000, 0x000009e8, 0x26c00000, 0x00009980, 0x7ba21a22,
+ 0x0000f500, 0xa9000400, 0x00000adc, 0xa9a00400, 0x00000ad9, 0x8107f800,
+ 0x00006180, 0x02105001, 0x00006586, 0x800006a8, 0x0000e583, 0x00180001,
+ 0x00002503, 0x812d4a04, 0x0000e100, 0xc0000801, 0x0000a401, 0x40e06401,
+ 0x000000c3, 0x00007bc8, 0x00007410, 0x8142a000, 0x0000e190, 0x80602404,
+ 0x00004901, 0x812f2004, 0x00006190, 0x02c00000, 0x00004988, 0x000810ec,
+ 0x0000d780, 0x00c066c0, 0x00000180, 0x82901202, 0x00006100, 0x0000180b,
+ 0x00006106, 0x02009000, 0x00007900, 0x0002b200, 0x00000980, 0x02400000,
+ 0x0000f900, 0x00018030, 0x00008980, 0x001910ec, 0x0000d780, 0x00006001,
+ 0x00000080, 0xc2981302, 0x0000e100, 0xc000180b, 0x0000e006, 0x22000000,
+ 0x000088e4, 0x22800000, 0x0000e180, 0x23362080, 0x0000c980, 0x23400000,
+ 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000,
+ 0x000006f0, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000,
+ 0x000007c8, 0x1cc00000, 0x0000e180, 0x22c42084, 0x0000c900, 0x812b2004,
+ 0x00006180, 0x81424800, 0x00004980, 0x01c00000, 0x00007900, 0x001f8000,
+ 0x00008980, 0x00102007, 0x00006986, 0x04102807, 0x00006901, 0x20383eec,
+ 0x00005600, 0x003c2000, 0x00008000, 0x000880ec, 0x0000d780, 0x00005800,
+ 0x00000080, 0x008806ec, 0x00005f80, 0x00985980, 0x00000584, 0x00142e22,
+ 0x7bd21bf9, 0x00007004, 0x00000020, 0x001e1c78, 0x001e3a46, 0x00000030,
+ 0x001e1ff6, 0x001e3906, 0x001e3b8c, 0x00000070, 0x001e3906, 0x001e8b5c,
+ 0x001e22f1, 0x001e22a9, 0x001e22bd, 0x001e3887, 0x001e22d1, 0x00000020,
+ 0x001e3877, 0x000026c7, 0x00000020, 0x001e2472, 0x001e2413, 0x00000060,
+ 0x000286c4, 0x00028123, 0x001e89ff, 0x00127f27, 0x000280b4, 0x000280b4,
+ 0x00000020, 0x0002881f, 0x000287f0, 0x00000020, 0x000405a4, 0x00040f9f,
+ 0x00000030, 0x00040f5e, 0x00040fea, 0x00040f9f, 0x00000030, 0x00040f5e,
+ 0x00040f5f, 0x00040f5f, 0x00000030, 0x00040f5e, 0x00041041, 0x00040f9f,
+ 0x00000020, 0x000611af, 0x00061302, 0x00000030, 0x00084952, 0x00123f15,
+ 0x0008414f, 0x00000020, 0x00123f15, 0x00123ea4, 0x00000030, 0x000a7c49,
+ 0x000a7ec3, 0x000a7e9f, 0x00000030, 0x00126fd6, 0x000c79c2, 0x000c7b95,
+ 0x00000030, 0x00126fd6, 0x000c68ad, 0x000c7b95, 0x00000030, 0x00126fd6,
+ 0x000c7b54, 0x000c7b95, 0x00000030, 0x00126fd6, 0x001279f9, 0x001279f9,
+ 0x00000030, 0x00126fd6, 0x00127409, 0x00127409, 0x00000060, 0x0001000a,
+ 0x00001e08, 0x58befdf4, 0x00000000, 0x010201fe, 0x00400804, 0x00000020,
+ 0x01560008, 0x00000018, 0x000000e0, 0xffffffdf, 0x00000fff, 0xc3fc81e1,
+ 0x00000fff, 0xf7001ff3, 0x00000fff, 0x9ffc00ff, 0x00000fff, 0xee000003,
+ 0x00000fff, 0xfefff003, 0x00000fff, 0xee000003, 0x00000fff, 0x00010012,
+ 0x001e20a2, 0x000a6b80, 0xffffffff, 0x00007f86, 0x0001203a, 0x00007004,
+ 0x000624aa, 0x0000f500, 0x0ec81800, 0x00006180, 0x0e901202, 0x0000c900,
+ 0x0e602c05, 0x00009900, 0x00400c05, 0x00004588, 0x84601405, 0x0000838c,
+ 0x000c2490, 0x0000f404, 0x10009800, 0x0000f900, 0x00003c00, 0x00008980,
+ 0x0fb83707, 0x0000033c, 0x0000043a, 0x00009583, 0x853f1fe3, 0x00009908,
+ 0x6c00a014, 0x0000a088, 0x00000015, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0x05003c14, 0x00001281, 0x05001414, 0x00001181, 0x00000c14, 0x00001583,
+ 0x0000001a, 0x0000701b, 0x102c5000, 0x0000f900, 0x0037e1a6, 0x00000980,
+ 0x001a2091, 0x00007500, 0x0ff83f06, 0x00000334, 0x0ee1d43a, 0x00001900,
+ 0x30386c41, 0x0000a080, 0x30387241, 0x0000a080, 0x03c00000, 0x00001980,
+ 0x2c0036e3, 0x00001680, 0x850588b0, 0x00009000, 0x0030680f, 0x0000e886,
+ 0x8230680f, 0x0000e886, 0x0200700f, 0x00006801, 0x1200700f, 0x0000e801,
+ 0x2200700f, 0x0000e801, 0x3200700f, 0x00006801, 0x4200700f, 0x0000e801,
+ 0x5200700f, 0x00006801, 0x0dc00614, 0x0000d084, 0x00400000, 0x00008000,
+ 0x0e000014, 0x0000d084, 0x00400000, 0x00008000, 0x0e000214, 0x00005084,
+ 0x00400000, 0x00008000, 0x0e000414, 0x00005084, 0x00400000, 0x00008000,
+ 0x0e000614, 0x0000d084, 0x00400000, 0x00008000, 0x0e787814, 0x0000a884,
+ 0x0dc00614, 0x00005004, 0x00400000, 0x00000080, 0x0e000014, 0x00005004,
+ 0x00400000, 0x00000080, 0x0e000214, 0x0000d004, 0x00400000, 0x00000080,
+ 0x0e000414, 0x0000d004, 0x00400000, 0x00000080, 0x0000004c, 0x0000f400,
+ 0x0e000614, 0x00005004, 0x00400000, 0x00000080, 0x0e400014, 0x0000d004,
+ 0x00400000, 0x00000080, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x02b9f800, 0x00007900, 0x000782f4, 0x00008980, 0x02d79800, 0x0000f900,
+ 0x001cdbc6, 0x00000980, 0x01802004, 0x0000e100, 0x08001a08, 0x00006106,
+ 0x03400000, 0x0000e180, 0xc2300600, 0x0000c901, 0x004c1ff4, 0x00007500,
+ 0x82381400, 0x00008024, 0x81c02800, 0x00001980, 0x00000c05, 0x0000e583,
+ 0x03000080, 0x00000980, 0x05202c05, 0x0000e109, 0x05003000, 0x00004991,
+ 0x03400000, 0x00007900, 0x000200c0, 0x00000980, 0x04400000, 0x0000f900,
+ 0x00010000, 0x00000980, 0x04800000, 0x00006180, 0x557f100d, 0x0000e003,
+ 0x03838000, 0x0000f900, 0x00004000, 0x00000980, 0x04009000, 0x00007900,
+ 0x0000d080, 0x00008980, 0x03c00000, 0x00006180, 0xd360a011, 0x00006004,
+ 0x04c00000, 0x0000e180, 0x05402805, 0x00004900, 0x05b83f06, 0x0000011c,
+ 0x06384f08, 0x00000124, 0x06b85f0a, 0x0000012c, 0x83281002, 0x00008108,
+ 0x05002004, 0x00009900, 0x00801eec, 0x0000df80, 0x00007001, 0x00000084,
+ 0x00000039, 0x00006684, 0x0003803a, 0x0000b582, 0x80000039, 0x00006487,
+ 0x0000903c, 0x0000b484, 0x0fc00000, 0x00006180, 0x0431e839, 0x00006081,
+ 0x86206839, 0x00006007, 0x00000038, 0x00003784, 0x00006c09, 0x0000e583,
+ 0x0000183f, 0x00002106, 0x4ea22500, 0x000083f1, 0x557f1039, 0x00006003,
+ 0xc000183f, 0x00003006, 0x0ec00000, 0x0000e180, 0x0000003a, 0x0000e58a,
+ 0x0fa81402, 0x00008338, 0x10384f08, 0x00000404, 0x10b85f0a, 0x0000040c,
+ 0x11386f0c, 0x00000414, 0x11b87f0e, 0x0000041c, 0x12388f10, 0x00000424,
+ 0x12b89f12, 0x0000042c, 0x1338af14, 0x00000434, 0x13b8bf16, 0x0000043c,
+ 0x1438cf18, 0x00000504, 0x14b8df1a, 0x0000050c, 0x1538ef1c, 0x00000514,
+ 0x15b8ff1e, 0x0000051c, 0x16390f20, 0x00000524, 0x16b91f22, 0x0000052c,
+ 0x17392f24, 0x00000534, 0x17b93f26, 0x0000053c, 0x18394f28, 0x00000604,
+ 0x18b95f2a, 0x0000060c, 0x19396f2c, 0x00000614, 0x19b97f2e, 0x0000061c,
+ 0x1a398f30, 0x00000624, 0x1ab99f32, 0x0000062c, 0x1b39af34, 0x00000634,
+ 0x1bb9bf36, 0x0000063c, 0x8e31e802, 0x00000321, 0x00000001, 0x00007480,
+ 0xcf31ee3d, 0x00001901, 0x0f400000, 0x00007900, 0x00018008, 0x00000980,
+ 0x009624aa, 0x0000f500, 0x0ed01800, 0x00006180, 0x0e901202, 0x0000c900,
+ 0x0e604c09, 0x00009900, 0x0e000000, 0x000083e4, 0x0f000000, 0x000003e8,
+ 0x1e804c09, 0x0000c388, 0x00004c09, 0x00000098, 0x18802409, 0x00004388,
+ 0x00002409, 0x00008098, 0xc1201c09, 0x0000c890, 0xc0203409, 0x0000018c,
+ 0x1f005c09, 0x0000c488, 0xec005c09, 0x000080a9, 0x0b406c09, 0x0000c588,
+ 0x85608409, 0x0000008a, 0x00003c09, 0x00001583, 0x0f4071a0, 0x00001988,
+ 0x000000fe, 0x00007009, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x0295a000, 0x00007900, 0x0037e1a8, 0x00008980, 0x02d79800, 0x0000f900,
+ 0x001cdbc6, 0x00000980, 0x01b84f08, 0x00008014, 0x03400000, 0x0000e180,
+ 0x08001a08, 0x00006106, 0x00fe1ff4, 0x00007500, 0x81c02800, 0x00006180,
+ 0xc2300600, 0x0000c901, 0x02600702, 0x00008022, 0x2c0036e3, 0x00001680,
+ 0x8e4588b0, 0x00009000, 0x00b82490, 0x0000f404, 0x10009800, 0x0000f900,
+ 0x00003600, 0x00008980, 0x0ff85f0a, 0x00000338, 0x81000000, 0x00006180,
+ 0x8e000a41, 0x00004080, 0x3079ea38, 0x0000a080, 0x30000004, 0x00006c01,
+ 0x80000004, 0x0000ec01, 0xffffffff, 0x00007f86, 0x85c1e804, 0x0000e801,
+ 0x0e79e839, 0x0000a084, 0x000000fe, 0x0000f403, 0xffffffff, 0x00007f86,
+ 0x0f4071a0, 0x0000e180, 0x3001e804, 0x0000e001, 0x04000000, 0x000081c4,
+ 0x04800000, 0x000081cc, 0x05000000, 0x000081d4, 0x05800000, 0x000081dc,
+ 0x06000000, 0x000081e4, 0x06800000, 0x000081ec, 0x07000000, 0x000081f4,
+ 0x07800000, 0x000081fc, 0x08000000, 0x000082c4, 0x08800000, 0x000082cc,
+ 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4,
+ 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc,
+ 0x0c000000, 0x000083c4, 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4,
+ 0x0d800000, 0x000083dc, 0x00db2490, 0x0000f404, 0x0ff85f0a, 0x00000338,
+ 0x10009e00, 0x00001980, 0x0000043a, 0x00009583, 0x8e7f1fe3, 0x00009908,
+ 0x6c01c039, 0x00002088, 0x000000e4, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x0e403c38, 0x00009281, 0x0e001439, 0x00009181, 0x00000c38, 0x00009583,
+ 0x000000e9, 0x0000701b, 0x10328800, 0x0000f900, 0x0037e1aa, 0x00000980,
+ 0x00e92091, 0x00007500, 0x0ff85f0a, 0x00000334, 0x0ee1d43a, 0x00001900,
+ 0x3001ea41, 0x00007902, 0x0ec00000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x0801ec39, 0x0000e000, 0x0fc1ec38, 0x0000b000, 0x01001439, 0x0000e081,
+ 0x41001438, 0x0000c881, 0x000000fe, 0x0000f400, 0x0141d83b, 0x0000e100,
+ 0x9501e804, 0x0000e001, 0x0f4071a0, 0x00009980, 0x000000fe, 0x0000f200,
+ 0x0f4071a0, 0x00009980, 0x000000fe, 0x0000f200, 0x0f4071a0, 0x00009980,
+ 0x000000fe, 0x0000f200, 0x0f4071a0, 0x00009980, 0x000000fe, 0x0000f200,
+ 0x0f4071a0, 0x00009980, 0x000000fe, 0x0000f200, 0x0f4071a0, 0x00009980,
+ 0x00ff0065, 0x00007100, 0xc0c00800, 0x0000e180, 0x00001000, 0x00006504,
+ 0x00400000, 0x00007900, 0x00008090, 0x00000980, 0x001070ec, 0x0000d780,
+ 0x00007003, 0x00000080, 0xc0001000, 0x00001981, 0x009006ec, 0x00005f80,
+ 0x00006000, 0x00000084, 0x01402470, 0x0000e283, 0x02400120, 0x00008980,
+ 0x02000140, 0x0000e180, 0x5043b809, 0x0000e003, 0x02800000, 0x00006180,
+ 0x8203b809, 0x0000e007, 0x0000011c, 0x0000f410, 0x02c00000, 0x0000e180,
+ 0x0000000a, 0x0000e592, 0x82181302, 0x0000e100, 0x01400000, 0x00004991,
+ 0x01460470, 0x00001281, 0x00020405, 0x0000e583, 0x01420000, 0x00008981,
+ 0x847ffb7b, 0x00007908, 0x0000000e, 0x00008280, 0x847ffa7c, 0x00007910,
+ 0x0000000e, 0x00008280, 0xffffffff, 0x00007f86, 0x0010880a, 0x0000e982,
+ 0x00000001, 0x00007480, 0xc2880000, 0x0000e180, 0x0000080b, 0x00006401,
+ 0x82a02c05, 0x00009901, 0x1b000000, 0x000086f8, 0x6783806c, 0x0000e000,
+ 0x2003806e, 0x0000b000, 0x18000000, 0x00006180, 0x0743806c, 0x00006004,
+ 0x18400000, 0x0000e180, 0x3743806c, 0x00006002, 0x18800000, 0x000086cc,
+ 0x19000000, 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4,
+ 0x00000001, 0x00007480, 0x1a800000, 0x000086ec, 0x1b40070f, 0x000086bc,
+ 0x17c00000, 0x00006180, 0x01460470, 0x00004281, 0x17400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x00020405, 0x0000e583, 0x0000185f, 0x00002106,
+ 0x17009000, 0x0000f900, 0x00025200, 0x00008980, 0x00000001, 0x00007480,
+ 0xc000185f, 0x00006006, 0xd000085d, 0x0000340c, 0x17801002, 0x00001900,
+ 0x1c387f08, 0x0000071c, 0x41000d70, 0x00006283, 0x1e008010, 0x00000900,
+ 0x1e789711, 0x00000728, 0x1ef8a713, 0x00000730, 0x1f78b715, 0x00000738,
+ 0x1ff8c717, 0x00000800, 0x2078d719, 0x00000808, 0x20f8e71b, 0x00000810,
+ 0x0000014d, 0x00007410, 0x2178f71d, 0x00000818, 0x21c0f81f, 0x00009900,
+ 0x01470108, 0x0000f100, 0x0148012e, 0x00007100, 0x01490120, 0x00007100,
+ 0x000810ec, 0x0000d780, 0x00d075c0, 0x000082c0, 0x0080f6ec, 0x0000df80,
+ 0x00007001, 0x00000084, 0x02400120, 0x00006180, 0x02000140, 0x0000c980,
+ 0x02800000, 0x0000f900, 0x00001000, 0x00000980, 0x02c00020, 0x00006180,
+ 0x5043b809, 0x0000e003, 0x0157012e, 0x00007500, 0x82181302, 0x0000e100,
+ 0x8203b809, 0x0000e007, 0xc2b3e67c, 0x00001901, 0x01580120, 0x00007100,
+ 0x000810ec, 0x0000d780, 0x00d075c0, 0x000082c0, 0x0080f6ec, 0x0000df80,
+ 0x00007001, 0x00000084, 0x0dc38404, 0x00006804, 0x00000c04, 0x00009583,
+ 0x00000c04, 0x00009583, 0xffffffff, 0x00007f86, 0x0000019b, 0x00007008,
+ 0x00000171, 0x00007028, 0x00001c04, 0x00001583, 0xc0c00000, 0x0000e188,
+ 0x00003000, 0x0000650c, 0xc0001000, 0x0000e189, 0x01000000, 0x00004988,
+ 0x00000000, 0x0000f090, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
+ 0x01400000, 0x00006180, 0xc0000007, 0x0000e606, 0x80401000, 0x00006181,
+ 0xc0001807, 0x0000e006, 0x81403000, 0x00001981, 0x009006ec, 0x00005f80,
+ 0x00006000, 0x00000084, 0x1b800000, 0x000006c4, 0x18800000, 0x0000e180,
+ 0x08003b6e, 0x00006106, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8,
+ 0x19c00000, 0x000006e0, 0x1a400000, 0x000006e8, 0x1ac00000, 0x000086f0,
+ 0x1b400000, 0x0000e180, 0x18038871, 0x0000c900, 0x1bc03006, 0x00009900,
+ 0x17c00000, 0x00006180, 0x02400120, 0x00004980, 0x0000185f, 0x0000e106,
+ 0x00003000, 0x0000b504, 0x000810ec, 0x0000d780, 0x00d075c0, 0x000082c0,
+ 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x5043b809, 0x0000e003,
+ 0xc0000007, 0x0000b606, 0x02000140, 0x0000e180, 0xc000185f, 0x00006006,
+ 0x01600000, 0x000000cd, 0x02800000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x17009000, 0x0000f900, 0x00025240, 0x00000980, 0x17400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x0000f0ec, 0x0000d780, 0x00007001, 0x00008080,
+ 0x8203b809, 0x0000e007, 0xc0001807, 0x0000b006, 0x02c00000, 0x0000e180,
+ 0x17801002, 0x00004900, 0x01201000, 0x000080c3, 0x80400800, 0x00006181,
+ 0x82181302, 0x0000c900, 0x81400000, 0x00001981, 0x009006ec, 0x00005f80,
+ 0x00006000, 0x00000084, 0x81004610, 0x00006283, 0x1b800000, 0x00000980,
+ 0x18000000, 0x00006180, 0x08003b6e, 0x00006106, 0x18400001, 0x000086c8,
+ 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0,
+ 0x1a400000, 0x000006e8, 0x0000017c, 0x0000f408, 0x1ac00000, 0x000086f0,
+ 0x1b400000, 0x0000e180, 0x1bc03006, 0x0000c900, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x029d5000, 0x0000f900, 0x0029ae5c, 0x00008980,
+ 0x02f69000, 0x00007900, 0x003b2a6e, 0x00000980, 0x01800000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x01400000, 0x000080f4, 0x01b51ff4, 0x0000f500,
+ 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900,
+ 0x00000001, 0x0000f080, 0xc0000370, 0x0000e582, 0x02400120, 0x00008980,
+ 0x02800000, 0x0000f900, 0x00001100, 0x00008980, 0x02000140, 0x0000e180,
+ 0x8203b809, 0x0000e007, 0x000001db, 0x00007408, 0x0013e00a, 0x0000e182,
+ 0x5043b809, 0x0000b003, 0x02c00020, 0x00006180, 0x82181302, 0x0000c900,
+ 0xc3008771, 0x00006283, 0x01401f71, 0x00000281, 0x03018410, 0x00006090,
+ 0x03400000, 0x00000980, 0x0300080c, 0x0000e794, 0x0000380d, 0x00002106,
+ 0xc2a0640c, 0x0000e111, 0x7000080b, 0x0000e401, 0x00001405, 0x0000e583,
+ 0xc000380d, 0x0000a006, 0x82005800, 0x00006181, 0x03800001, 0x00004980,
+ 0x03c00000, 0x00006180, 0x03003006, 0x0000c900, 0x000001dd, 0x0000f008,
+ 0x8147862f, 0x00006283, 0x0147862f, 0x00000281, 0x000001d6, 0x0000700b,
+ 0x00010405, 0x0000e583, 0xa000080d, 0x0000a401, 0x000001e1, 0x0000f00b,
+ 0xc4802771, 0x00009283, 0x00000001, 0x00007480, 0x0000000b, 0x00006411,
+ 0x0000000a, 0x0000b592, 0xc2800000, 0x00009990, 0x00000001, 0x00007280,
+ 0xc2800800, 0x00001981, 0x0147862f, 0x00006281, 0x8000080d, 0x00002401,
+ 0x7587862f, 0x0000f88e, 0x98000000, 0x0000808e, 0x04d3e27c, 0x00006100,
+ 0x0c017c05, 0x00006006, 0x04e02813, 0x0000e704, 0x8000080b, 0x00002401,
+ 0x84c00a13, 0x00009080, 0x84401a13, 0x00001880, 0x84fffa7c, 0x00007900,
+ 0x0000000e, 0x00008280, 0x44400d70, 0x0000e283, 0x84d09a11, 0x00008000,
+ 0x0010980a, 0x0000e182, 0x9000080d, 0x0000b411, 0x03c1702e, 0x00001910,
+ 0x000001d6, 0x00007008, 0x2c0036e3, 0x00001680, 0x84c588b0, 0x00001000,
+ 0x84c02213, 0x00009080, 0x0df89613, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x04800812, 0x00009080, 0x0df89613, 0x0000a884, 0xc4802771, 0x00009283,
+ 0x00000001, 0x00007480, 0x0000000b, 0x00006411, 0x0000000a, 0x0000b592,
+ 0xc2800000, 0x00009990, 0x01fc01b6, 0x0000f100, 0x1b800000, 0x0000e180,
+ 0x01401f71, 0x0000c281, 0x00001405, 0x0000e583, 0x0103886e, 0x0000a000,
+ 0x01400000, 0x0000e181, 0x1103886e, 0x0000e000, 0x01400800, 0x0000e189,
+ 0x5160806e, 0x00006004, 0x17c00000, 0x00006180, 0x8228806e, 0x0000e004,
+ 0x1b000000, 0x00006180, 0xb043806e, 0x0000e080, 0x4120286e, 0x00006000,
+ 0x0000185f, 0x0000b106, 0x50c3806c, 0x0000e000, 0x3243886e, 0x0000b000,
+ 0x17009000, 0x0000f900, 0x00025040, 0x00008980, 0x17400000, 0x00007900,
+ 0x00018030, 0x00008980, 0xc000185f, 0x00006006, 0x7303886c, 0x0000b000,
+ 0x00000001, 0x00007480, 0x17801002, 0x00006100, 0x08003b6e, 0x00006106,
+ 0x1bfbbf06, 0x00008634, 0x021801fb, 0x00007300, 0xc1d722e4, 0x00001900,
+ 0x0a005c5b, 0x0000e000, 0x0c017c5a, 0x00003006, 0x0000045b, 0x0000e583,
+ 0x0143c470, 0x00008281, 0x849b8370, 0x00006100, 0x85db8370, 0x0000c908,
+ 0x0462d7e4, 0x0000e010, 0x85400000, 0x0000c988, 0x00000228, 0x0000f008,
+ 0x84400a11, 0x00001180, 0x04417211, 0x00009200, 0x04408b70, 0x00001000,
+ 0x0462d011, 0x00009700, 0x84401a11, 0x0000e080, 0x85508a11, 0x0000c900,
+ 0x85db8211, 0x00001000, 0x0003c405, 0x00009583, 0xb841a000, 0x0000e190,
+ 0x01401e2c, 0x00004291, 0x16001405, 0x00001891, 0x000002aa, 0x0000f008,
+ 0x7840c458, 0x00001081, 0xffffffff, 0x00007fc7, 0x15020b00, 0x0000f904,
+ 0x15015854, 0x00001002, 0x80000217, 0x00006582, 0x15400055, 0x00000084,
+ 0x05020b00, 0x00007904, 0x05015814, 0x0000e100, 0x8250ba17, 0x00000910,
+ 0x0000033d, 0x0000f008, 0x8441c000, 0x000001ce, 0x0c00a209, 0x00006400,
+ 0x0c80a014, 0x00004900, 0x04400c11, 0x00006081, 0x0500a209, 0x00008c00,
+ 0x00018032, 0x00006502, 0x82518209, 0x00000100, 0x1002a500, 0x00007904,
+ 0x1000a500, 0x0000f904, 0x00000268, 0x0000f208, 0x0ac15830, 0x00009000,
+ 0x80000209, 0x00006582, 0x04c02413, 0x00000081, 0x15020b00, 0x0000f904,
+ 0x05020b00, 0x00007904, 0x00000238, 0x00007010, 0x8250ba17, 0x00006100,
+ 0x82304411, 0x00004001, 0x0a004405, 0x0000e884, 0x16202c11, 0x00009001,
+ 0x8622c008, 0x00006885, 0x84406800, 0x00006180, 0x0143c470, 0x00004281,
+ 0x0003c405, 0x00006583, 0x0a004511, 0x00002084, 0x003088ec, 0x0000d702,
+ 0x00007000, 0x00000080, 0x16004000, 0x00006189, 0x0a004405, 0x0000e08c,
+ 0x001010ec, 0x0000d780, 0x00007000, 0x00000080, 0x04417212, 0x0000e000,
+ 0xdb109212, 0x00000900, 0x0008b8ec, 0x00005780, 0x00d07781, 0x00008280,
+ 0x4cf9592c, 0x00000300, 0x00000265, 0x00007408, 0x01602c58, 0x00006109,
+ 0x0b817212, 0x00008000, 0x0c808811, 0x00001900, 0x80003a2c, 0x00006582,
+ 0x0a004411, 0x0000a084, 0x01404000, 0x00006199, 0x0161642c, 0x00004931,
+ 0xffffffff, 0x00007f86, 0x01608c05, 0x00009101, 0xb9183b07, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x05400e2c, 0x0000e081,
+ 0x0ac00000, 0x00008980, 0x8520ac15, 0x00006100, 0x01400c05, 0x0000c081,
+ 0x80116214, 0x0000e502, 0x8b000e2c, 0x00000081, 0x00002405, 0x00001583,
+ 0x80116214, 0x00001502, 0x00000344, 0x0000f018, 0x00000242, 0x0000f010,
+ 0x00000242, 0x0000f020, 0x8520aa2c, 0x00009100, 0x80002214, 0x0000e582,
+ 0x05000180, 0x00008980, 0x0160ac2c, 0x00006131, 0x01402000, 0x00008999,
+ 0x85280500, 0x00006100, 0x05402415, 0x0000c880, 0x0c014015, 0x00006002,
+ 0x16002405, 0x00000881, 0x05400000, 0x00007900, 0x000014c4, 0x00000980,
+ 0x75e80014, 0x0000e101, 0x0022c015, 0x00003106, 0x7038a8ec, 0x00005600,
+ 0x0038a000, 0x00008000, 0x05400000, 0x00007900, 0x00007fc0, 0x00000980,
+ 0x05800029, 0x00006084, 0x05300006, 0x00008980, 0x703980ec, 0x0000d600,
+ 0x0038b000, 0x00000000, 0x8562c458, 0x0000e100, 0x04181014, 0x0000e187,
+ 0x7038a8ec, 0x00005600, 0x0038a000, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x1014700b, 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x1ec00ce0, 0x00001283, 0x019b1c02, 0x0000f113,
- 0x9fc00a31, 0x00006080, 0x0000081f, 0x0000a402, 0x8013e27f, 0x00006502,
- 0x8c400a31, 0x00000080, 0x8c400000, 0x0000e188, 0x0e82347f, 0x00006008,
- 0x0000016f, 0x0000f400, 0x1fc00c7f, 0x00009489, 0x61a3f846, 0x0000e808,
- 0x203bf77f, 0x00000804, 0x20840080, 0x0000e100, 0x20e86005, 0x0000c980,
- 0x20004000, 0x00006180, 0x21840881, 0x00004900, 0x01ad1c36, 0x00007500,
- 0x1f841082, 0x0000e100, 0x04181080, 0x00006187, 0x21440080, 0x00001900,
- 0x1ec00ce0, 0x00001283, 0x01af1c02, 0x00007113, 0x1f800a7c, 0x0000e180,
- 0x1fc00a31, 0x00008080, 0x20e06025, 0x0000e180, 0x1fc3f87e, 0x00004200,
- 0x1ffbd87f, 0x00001704, 0x1ed7287f, 0x00009200, 0x1fc0187b, 0x00001880,
- 0x1ec2a07f, 0x00001002, 0x1f83d87b, 0x0000e100, 0x1fc00055, 0x00004084,
- 0x1fc04000, 0x00006180, 0x2003f87f, 0x00004900, 0x01bf1c36, 0x00007500,
- 0x21840080, 0x00006100, 0x0418107f, 0x00006187, 0x2143f87f, 0x00001900,
- 0x00c002ec, 0x0000df80, 0x100e080b, 0x00009684, 0xffffffff, 0x00007f86,
+ 0x01400ce0, 0x00001283, 0x02a12049, 0x0000f113, 0x01400000, 0x0000e181,
+ 0xb8400003, 0x0000c980, 0x04c02413, 0x00006081, 0x38609c13, 0x00008901,
+ 0xffffffff, 0x0000ffb7, 0x15020b00, 0x0000f904, 0x05020b00, 0x00007904,
+ 0x8e000209, 0x00007892, 0x38000000, 0x00000182, 0x80000217, 0x00006582,
+ 0x81400000, 0x00008981, 0xc4000000, 0x0000e180, 0x04800000, 0x0000c990,
+ 0x16400000, 0x00006191, 0x85800000, 0x0000c990, 0x0000037d, 0x00007008,
+ 0x051b8370, 0x00009900, 0x2b401e2c, 0x0000e281, 0x045b8370, 0x00000900,
+ 0x0010b814, 0x00006502, 0x014014ad, 0x00000881, 0x7840c405, 0x00006081,
+ 0x0450ba17, 0x00008938, 0x1c702e05, 0x00006101, 0x01401605, 0x0000c881,
+ 0x3841a405, 0x00009081, 0xffffffff, 0x00007fa7, 0x1d020b00, 0x00007904,
+ 0x0c83a02b, 0x00009002, 0x1d188032, 0x00006102, 0x0c000075, 0x00008084,
+ 0x8c800000, 0x00006180, 0x1d400030, 0x0000c184, 0xc0000310, 0x00001582,
+ 0x80000211, 0x00006582, 0x8c800800, 0x00008990, 0x1c820b00, 0x00007904,
+ 0x16219432, 0x0000e101, 0x1c815872, 0x00004100, 0x00000338, 0x0000f008,
+ 0x0c000000, 0x0000e181, 0x82508a11, 0x00004900, 0x0a004476, 0x00006884,
+ 0x1da18476, 0x00009000, 0x00003876, 0x00009582, 0x00004076, 0x00009582,
+ 0x00000458, 0x00001583, 0x000002d3, 0x0000f050, 0x000002e2, 0x0000f010,
+ 0x000002e4, 0x0000f008, 0x2b039209, 0x00006400, 0x1d839072, 0x00004900,
+ 0x1003a500, 0x0000f904, 0x00056076, 0x00006502, 0x1c856310, 0x00008000,
+ 0x10039500, 0x0000f904, 0x0c000c30, 0x00006081, 0x0ac158ac, 0x00000000,
+ 0x000002f3, 0x00007208, 0xc4156310, 0x0000e000, 0x82556209, 0x00000100,
+ 0x80000209, 0x00009582, 0x1d020b00, 0x00007904, 0x1c820b00, 0x00007904,
+ 0x000002cb, 0x00007010, 0x00000432, 0x00001583, 0x0c000c30, 0x00009191,
+ 0x8c904a11, 0x00001100, 0x80119211, 0x00001502, 0x82304430, 0x00006009,
+ 0x85d08a17, 0x00008108, 0x85908a16, 0x00006008, 0x0a004405, 0x0000208c,
+ 0x00000351, 0x0000f010, 0x80000217, 0x00006582, 0x01602c30, 0x00008001,
+ 0x86202808, 0x0000e885, 0x00000371, 0x0000f011, 0x0000024c, 0x00007400,
+ 0x8250b216, 0x00006100, 0x96001a15, 0x0000c880, 0x8492c216, 0x00009100,
+ 0x1cc00e2c, 0x0000e081, 0x0ac00000, 0x00008980, 0x9ca39c73, 0x00006100,
+ 0x2b400cad, 0x0000c081, 0xc4000000, 0x0000e180, 0x81400e05, 0x0000c081,
+ 0x80116272, 0x0000e502, 0x8b000e2c, 0x00000081, 0x000024ad, 0x00009583,
+ 0x80116272, 0x00001502, 0x00000344, 0x0000f018, 0x000002de, 0x0000f010,
+ 0x000002de, 0x0000f020, 0x1d000180, 0x00006180, 0x9ca39a2c, 0x0000c100,
+ 0x80002272, 0x0000e582, 0x9d280500, 0x00008900, 0x01639c2c, 0x00006131,
+ 0x01402000, 0x00008999, 0x1d400000, 0x00007900, 0x000014c4, 0x00000980,
+ 0x1cc02473, 0x0000e080, 0x01402405, 0x00004881, 0x75e80074, 0x0000e101,
+ 0x00202875, 0x0000b106, 0x1cc14073, 0x00001002, 0x703ba8ec, 0x00005600,
+ 0x003ba000, 0x00008000, 0x1d400000, 0x00007900, 0x00007fc0, 0x00000980,
+ 0x1c800029, 0x0000e084, 0x1d300006, 0x00008980, 0x703b98ec, 0x00005600,
+ 0x003b9000, 0x00008000, 0x9d602c05, 0x0000e100, 0x04181074, 0x0000e187,
+ 0x703ba8ec, 0x00005600, 0x003ba000, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x1018d80b, 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x1ec00ce0, 0x00001283, 0x019b1c02, 0x0000f113,
- 0x0000019b, 0x0000f000, 0x9e5722e4, 0x0000e100, 0x1f001f11, 0x00004281,
- 0x0000147c, 0x00009583, 0x1f000000, 0x00009991, 0x000001de, 0x00007009,
- 0xdec01f11, 0x00001283, 0x1f000800, 0x00001991, 0xffffffff, 0x00007f86,
- 0x1063e046, 0x00006800, 0xdec08711, 0x00009283, 0x44419833, 0x00009910,
- 0x000001ed, 0x00007009, 0x800026a8, 0x00009583, 0x04800000, 0x0000e188,
- 0x1f0f2833, 0x00004208, 0x0000024f, 0x0000f011, 0x0001907c, 0x00001502,
- 0x9ec40660, 0x00006283, 0x04800800, 0x00008988, 0x043bf810, 0x00007908,
- 0x003ffffe, 0x00008280, 0x0481d03a, 0x0000e100, 0xf7e09011, 0x0000e001,
- 0x00000246, 0x00007010, 0x1f000c46, 0x00009283, 0x0000021a, 0x00007013,
- 0x1f003e60, 0x00001281, 0x0000247c, 0x00006583, 0x1f000000, 0x00008981,
- 0x1f000800, 0x00001989, 0xffffffff, 0x00007f86, 0xe7a3e011, 0x0000e801,
- 0xdec08711, 0x00006283, 0x9f588310, 0x00008900, 0x9f63de7a, 0x00006010,
- 0xe99a5b4b, 0x00000900, 0x9f53eb10, 0x00006010, 0xd2c00000, 0x00008980,
- 0xdec10711, 0x00009283, 0xc007ff79, 0x0000e583, 0x9f53ed7b, 0x00008010,
- 0x0000022d, 0x0000f00b, 0xdec10711, 0x00006283, 0x0d80847c, 0x0000a080,
- 0x9f003c7c, 0x00006080, 0x9ec00000, 0x0000c989, 0x9ec04000, 0x00006191,
- 0x9f13e277, 0x0000c100, 0x277fe09d, 0x00007900, 0x003ffffe, 0x00008280,
- 0x2501502a, 0x00006100, 0x0e01c27d, 0x00004000, 0x020e014c, 0x0000f404,
- 0x2885127d, 0x0000e000, 0x9dd3ea7c, 0x00008100, 0x0a81527d, 0x0000e000,
- 0xa5f4be7b, 0x00000301, 0x00000876, 0x00009582, 0x814010ec, 0x0000568c,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x0000d788,
- 0x00c06141, 0x00000288, 0xb913ca79, 0x00001900, 0xffffffff, 0x00007f86,
- 0x000808ec, 0x00005790, 0x00c06141, 0x00000288, 0xffffffff, 0x00007f86,
- 0x00000000, 0x00007083, 0x00188032, 0x0000e502, 0xe0000811, 0x0000a401,
- 0x1f000c48, 0x00001283, 0xffffffff, 0x00007f86, 0x00000220, 0x00007008,
- 0x000001f5, 0x0000f008, 0x800026a8, 0x00006583, 0xe99a5b4b, 0x00000900,
- 0x04002010, 0x0000e388, 0xd2c00000, 0x00008980, 0xdec08711, 0x00009283,
- 0x9f588310, 0x00001900, 0x9f63de7a, 0x00009010, 0xdec10711, 0x00006283,
- 0x9f53eb10, 0x00000010, 0xffffffff, 0x00007f86, 0xc007ff79, 0x0000e583,
- 0x9f53ed7b, 0x00008010, 0x000001ff, 0x0000f013, 0x00000876, 0x00006582,
- 0x69000800, 0x00008981, 0x2b93ea7d, 0x0000e108, 0x2b972ae5, 0x0000c910,
- 0x02351a1c, 0x00007500, 0xdec10711, 0x00009283, 0x69804000, 0x00006191,
- 0x69800000, 0x0000c989, 0x0d80847c, 0x0000e880, 0x9f003c7c, 0x00001880,
- 0x023a014c, 0x00007404, 0x9f13e277, 0x00009100, 0x9dd3ea7c, 0x00001100,
- 0x00000876, 0x00009582, 0x814010ec, 0x0000568c, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008808ec, 0x0000d788, 0x00c06141, 0x00000288,
- 0xb913ca79, 0x00001900, 0xffffffff, 0x00007f86, 0x000808ec, 0x00005790,
- 0x00c06141, 0x00000288, 0xffffffff, 0x00007f86, 0x00000000, 0x00007083,
- 0x0002507c, 0x00001502, 0x04040010, 0x0000e388, 0x8000081f, 0x0000240b,
- 0x0e80083a, 0x00001088, 0x000001ed, 0x0000f008, 0x043bf810, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x86800c46, 0x0000f896, 0x78000000, 0x0000808f,
- 0xf1c35011, 0x00006001, 0x73835010, 0x0000b000, 0x04bb4769, 0x0000010c,
- 0x450b546a, 0x00008110, 0xc54b5c67, 0x00000112, 0x86800c46, 0x0000f896,
- 0x78000000, 0x0000808f, 0x1d800c46, 0x00006283, 0x51800d46, 0x00008181,
- 0x123fe848, 0x0000f900, 0x003ffffe, 0x00008280, 0x2000081e, 0x0000e40a,
- 0xf000081e, 0x00003411, 0x00000001, 0x00007480, 0x9e400e79, 0x00006081,
- 0x89800a26, 0x00008088, 0xcc000b30, 0x00001090, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x9a001ee3, 0x00006080, 0x054b3967, 0x00004900,
- 0x92420666, 0x0000e283, 0x9a371a68, 0x00000100, 0x9a001268, 0x00006080,
- 0x08033015, 0x0000a216, 0x4b207268, 0x00002004, 0x01801800, 0x0000e181,
- 0x32435010, 0x0000e006, 0xc0000811, 0x0000e401, 0x80000006, 0x0000b401,
- 0x054b3815, 0x0000e010, 0x05800000, 0x00008981, 0x83800a0e, 0x00009080,
- 0x4b207268, 0x0000a804, 0x1a004766, 0x00001880, 0x1a034767, 0x00009300,
- 0x0003400e, 0x00006a06, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780, 0x00c06141, 0x00000288,
- 0x00000001, 0x0000f080, 0x9f801ee3, 0x0000e080, 0x9e5722e4, 0x0000c900,
- 0x9fb71a7e, 0x00006100, 0x19800000, 0x00008980, 0x4b43da7e, 0x00007902,
- 0x1d800000, 0x00000004, 0x19c00000, 0x00009980, 0x1a805000, 0x00009981,
- 0xffffffff, 0x00007f86, 0x9a13b2e5, 0x0000e400, 0x9a5a4276, 0x00000200,
- 0x1a401a69, 0x00001880, 0x9ed18b48, 0x00009400, 0x9ed3427b, 0x00009202,
- 0x00000302, 0x0000f013, 0x1f834858, 0x00006002, 0x20d86026, 0x00008980,
- 0x20000059, 0x0000e084, 0x2043f07e, 0x00000900, 0x1fbc0781, 0x00008808,
- 0x21804782, 0x00000884, 0x02921c36, 0x00007500, 0x04181081, 0x00006987,
- 0x21440881, 0x00001900, 0x00c002ec, 0x0000df80, 0x1014a00b, 0x00009684,
+ 0x01400ce0, 0x00001283, 0x032e2049, 0x0000f113, 0xb8400003, 0x0000e180,
+ 0x1ca38c30, 0x0000c000, 0x2b400000, 0x00006181, 0x1c801472, 0x00004881,
+ 0x3841a472, 0x00009081, 0xffffffff, 0x00007fa7, 0x1d020b00, 0x00007904,
+ 0x1c820b00, 0x00007904, 0xb2c00209, 0x00007892, 0x10000000, 0x00000187,
+ 0x000002e4, 0x0000f400, 0x00000432, 0x0000e583, 0x0c000000, 0x00000981,
+ 0x0c000c30, 0x00006191, 0x82400000, 0x00000980, 0x01400000, 0x00009981,
+ 0x82304405, 0x00001001, 0x0a004409, 0x0000e884, 0x0000024c, 0x00007400,
+ 0x8250ba17, 0x00006100, 0x16204c05, 0x0000c001, 0x8622c008, 0x00006885,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x028e5000, 0x00007900,
+ 0x0024f12a, 0x00008980, 0x02e84000, 0x0000f900, 0x00167a04, 0x00000980,
+ 0x01800000, 0x00006180, 0x08001a08, 0x00006106, 0x01400000, 0x000080f4,
+ 0x03511ff4, 0x00007500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180,
+ 0x02401002, 0x0000c900, 0x80000216, 0x00001582, 0x96002d00, 0x00006090,
+ 0x8b22cc59, 0x0000c911, 0x3000c058, 0x00007912, 0x06400000, 0x00008000,
+ 0x00000382, 0x00007008, 0x0000045b, 0x0000e583, 0x0ac09012, 0x00000900,
+ 0x3038d258, 0x0000b038, 0x3038e458, 0x0000b038, 0x3038f658, 0x0000b038,
+ 0x30790058, 0x0000b038, 0x30791258, 0x0000b038, 0x000002ef, 0x0000f408,
+ 0x30792458, 0x0000b038, 0x30793658, 0x0000b038, 0x04a2d7e4, 0x00001800,
+ 0x82404212, 0x00006080, 0x84400a12, 0x00008180, 0x04417211, 0x00009200,
+ 0x84508a16, 0x00009000, 0x80104a11, 0x00009502, 0x96000a12, 0x000060a0,
+ 0x85400000, 0x000049a8, 0x85400000, 0x0000e1a0, 0x84808258, 0x0000c0a0,
+ 0x000002ef, 0x0000f028, 0x80108a12, 0x00006502, 0x85400a15, 0x00000080,
+ 0x84904a12, 0x00001030, 0x000002ef, 0x00007019, 0x0000036c, 0x0000f000,
+ 0x96002d00, 0x0000e080, 0x1671662c, 0x00004901, 0x3038c058, 0x00003838,
+ 0x3038d258, 0x00003838, 0x3038e458, 0x00003838, 0x3038f658, 0x00003838,
+ 0x30790058, 0x00003838, 0x30791258, 0x00003838, 0x30792458, 0x00003838,
+ 0x000002b2, 0x0000f400, 0x30793658, 0x00003838, 0x0481582b, 0x00009900,
+ 0x0000024c, 0x00007400, 0x84400000, 0x0000e180, 0x96001a15, 0x0000c880,
+ 0x8492c211, 0x0000e100, 0x82400000, 0x00000980, 0x0000045b, 0x0000e583,
+ 0x82004608, 0x00000081, 0x1622d7e4, 0x00006010, 0x0a004405, 0x00006084,
+ 0x01404405, 0x00006081, 0x84400a58, 0x00008190, 0x00000398, 0x00007208,
+ 0x04417211, 0x0000e210, 0x86202808, 0x0000a085, 0x82404258, 0x00001080,
+ 0x84908a32, 0x00009000, 0x80104a12, 0x00009502, 0x84400a58, 0x000060a0,
+ 0x85400000, 0x000049a8, 0x85400000, 0x0000e1a0, 0x84408211, 0x000040a0,
+ 0x000003c3, 0x0000f028, 0x80109211, 0x00006502, 0x85400a15, 0x00000080,
+ 0x84504a11, 0x00001030, 0x000003c3, 0x00007019, 0x00000393, 0x0000f000,
+ 0x84c01a32, 0x00009280, 0x80000213, 0x00001582, 0x96509a13, 0x0000e110,
+ 0x85919232, 0x00004908, 0x000002ef, 0x0000f009, 0x0000002b, 0x00006582,
+ 0x1603fc05, 0x00000281, 0x01400c58, 0x00006181, 0x0587e62c, 0x00008281,
+ 0x04400459, 0x000080a6, 0x16001800, 0x00006181, 0x8b000e2c, 0x0000c189,
+ 0x0c001405, 0x00001881, 0x05c7e62c, 0x00006281, 0x7841a430, 0x00008081,
+ 0x0020bc16, 0x00001503, 0x05c01458, 0x00001891, 0x3840c417, 0x00009091,
+ 0xffffffff, 0x00007f97, 0x04820b00, 0x00007904, 0x000003b5, 0x00007408,
+ 0x16820b00, 0x00007904, 0x0502d05a, 0x00009900, 0x10009500, 0x0000f904,
+ 0x00000458, 0x0000e583, 0x1697285a, 0x00008200, 0x1002d500, 0x0000f904,
+ 0x16001800, 0x0000e189, 0x16000c58, 0x0000c191, 0x8ad2d211, 0x00001c00,
+ 0xffffffff, 0x00007f86, 0x84515a11, 0x00006100, 0x05d1585a, 0x00000100,
+ 0x80000217, 0x00006582, 0x0ad72817, 0x00008200, 0x02400c09, 0x00001089,
+ 0x000003cf, 0x0000f011, 0x80000211, 0x00009582, 0x8b000e2c, 0x00006191,
+ 0x01400c05, 0x00000191, 0x0c001405, 0x00009891, 0x000003d1, 0x00007008,
+ 0x000003a5, 0x0000f000, 0x2c10aa09, 0x00009600, 0x044588b0, 0x00001000,
+ 0x84908a12, 0x00006100, 0x84c01a32, 0x00000280, 0x05109212, 0x0000e100,
+ 0x04410058, 0x0000c180, 0x00008814, 0x00001502, 0x8252c212, 0x00009140,
+ 0x00000399, 0x00007049, 0x96412209, 0x00009082, 0x00000399, 0x0000700b,
+ 0x0000039d, 0x00007000, 0x80000211, 0x00009582, 0x000003a5, 0x00007013,
+ 0x3841a430, 0x00006081, 0x82204e08, 0x00000101, 0x1680a014, 0x0000e100,
+ 0x0a004458, 0x0000e084, 0x8452ca32, 0x0000e100, 0x01604c58, 0x00008101,
+ 0x96001a15, 0x0000e080, 0x86202808, 0x00006085, 0x82508a11, 0x00001900,
+ 0xffffffff, 0x00007f86, 0x10009500, 0x0000f904, 0x0000024c, 0x00007400,
+ 0x1002d500, 0x0000f904, 0x8492c211, 0x00001100, 0x04c1ff60, 0x0000e281,
+ 0x41400000, 0x00008981, 0x00011c13, 0x00006583, 0x04801f71, 0x00000281,
+ 0x84000000, 0x00009988, 0x83401f71, 0x00004297, 0xd8002771, 0x00008097,
+ 0x53400c12, 0x00004189, 0x00001c12, 0x00008088, 0xc4804771, 0x0000f88f,
+ 0x50400000, 0x00000380, 0x5e008771, 0x0000c997, 0x34002771, 0x00008390,
+ 0x04c3c470, 0x00009281, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0x8cc3c413, 0x00004192, 0x00008771, 0x00000088,
+ 0x81801f71, 0x0000c48c, 0x98012474, 0x0000828b, 0x3a012474, 0x0000c4b1,
+ 0xc6018c74, 0x0000828b, 0x34018c74, 0x0000c199, 0x00012c74, 0x00000088,
+ 0x73013474, 0x0000788a, 0xa0400000, 0x0000048d, 0x73019474, 0x0000788a,
+ 0x00400001, 0x00000000, 0x6d01fc74, 0x0000f892, 0x60400000, 0x0000048e,
+ 0x4da08771, 0x0000c48f, 0x24001f71, 0x0000828c, 0xa0412474, 0x0000c489,
+ 0x0c012474, 0x000083b2, 0xa3218c74, 0x0000c389, 0x00018c74, 0x00008098,
+ 0x3a012c74, 0x0000788b, 0x00400001, 0x00000000, 0x40813474, 0x0000788b,
+ 0xe0400000, 0x00000687, 0x40819474, 0x0000788b, 0x00400001, 0x00000000,
+ 0x3f01fc74, 0x0000f893, 0x10400000, 0x00000688, 0x2c0036e3, 0x00001680,
+ 0x84c588b0, 0x00001000, 0x84801213, 0x00001080, 0x0dc04e12, 0x0000f902,
+ 0x02000000, 0x00000004, 0xffffffff, 0x00007fa7, 0x02400809, 0x00001082,
+ 0xc1c00f10, 0x00006283, 0x02000008, 0x00000084, 0x0df84e12, 0x0000d004,
+ 0x00384000, 0x00000000, 0xc1c04771, 0x00001283, 0xc1c20771, 0x00001283,
+ 0x00000981, 0x00007010, 0x00000540, 0x0000f008, 0x000005dc, 0x0000f008,
+ 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004, 0x18400000, 0x0000e180,
+ 0x00000060, 0x0000e586, 0x1940b016, 0x0000e100, 0x00280060, 0x0000e585,
+ 0x19800000, 0x00006180, 0x76038860, 0x00006001, 0x02400809, 0x0000e082,
+ 0x19c39072, 0x00008900, 0x02000008, 0x00006084, 0x1a000000, 0x00000980,
+ 0x0df84e13, 0x00005004, 0x00384000, 0x00000000, 0x1a400000, 0x00006180,
+ 0x1a81702e, 0x0000c900, 0x1ac00800, 0x000002fd, 0x0141ff60, 0x00006281,
+ 0x584b8971, 0x00000900, 0xc1c00f10, 0x00006283, 0x02400000, 0x00008980,
+ 0x02000000, 0x0000e180, 0x0a030609, 0x00006082, 0x038086a0, 0x00006180,
+ 0xa5c38009, 0x00006007, 0x02c32865, 0x00006100, 0x80430009, 0x0000e001,
+ 0x700080ec, 0x00005680, 0x00000540, 0x00008088, 0x000008d5, 0x0000f410,
+ 0x02217c69, 0x00008025, 0x427b0f61, 0x0000e101, 0x0000400e, 0x0000e50e,
+ 0x02c00000, 0x0000e180, 0x04cb0961, 0x00004900, 0x0000980b, 0x0000e206,
+ 0x0001700a, 0x00003286, 0x033ff961, 0x00007900, 0x000003fe, 0x00000282,
+ 0x04c00000, 0x0000e180, 0x8628300b, 0x00006087, 0x04c00800, 0x0000e1b8,
+ 0x5303800b, 0x0000e001, 0x703b28ec, 0x0000d600, 0x003b3800, 0x00000000,
+ 0x00011c05, 0x0000e583, 0x4701780b, 0x00002001, 0x703848ec, 0x0000d600,
+ 0x00384000, 0x00000000, 0x02300004, 0x00006180, 0x65a0980b, 0x0000e001,
+ 0x04bff961, 0x00007900, 0x000003fe, 0x00008280, 0x703b98ec, 0x00005600,
+ 0x003ba000, 0x00008000, 0x04181008, 0x00006187, 0x7000080b, 0x00003409,
+ 0x04c01761, 0x0000e080, 0x8620300a, 0x00006087, 0x700080ec, 0x00005680,
+ 0x003847c0, 0x00008078, 0x04c09812, 0x00009000, 0x703870ec, 0x00005600,
+ 0x00000000, 0x00008080, 0x0000980b, 0x00006a06, 0x02408000, 0x00007900,
+ 0x00007fc0, 0x00000980, 0x703858ec, 0x00005600, 0x00385000, 0x00008000,
+ 0x00004009, 0x0000ed86, 0x703ba8ec, 0x00005600, 0x003bb000, 0x00000000,
+ 0x703848ec, 0x0000d600, 0x00384000, 0x00000000, 0x046801fb, 0x0000f300,
+ 0xc1c00000, 0x00009980, 0xc0000370, 0x0000e582, 0x961b8370, 0x00000900,
+ 0x0d838459, 0x00006090, 0x08005214, 0x00003192, 0x0c017c5a, 0x0000e016,
+ 0x0a005c09, 0x0000b010, 0x00000533, 0x00007008, 0x01400c6e, 0x00001283,
+ 0x84818214, 0x0000e190, 0x08005274, 0x0000a18a, 0x0487862f, 0x00006281,
+ 0x9d208212, 0x00000110, 0x00010412, 0x00001583, 0x08005215, 0x0000e192,
+ 0x0c017c12, 0x0000b00e, 0x04a097e4, 0x00009808, 0x9d004212, 0x0000e088,
+ 0x85404212, 0x00000088, 0x00000409, 0x00009583, 0x04a2d7e4, 0x0000e010,
+ 0x81400000, 0x0000c991, 0xc1c00000, 0x00006190, 0x84c00a12, 0x00004190,
+ 0x00000557, 0x0000f008, 0x04817213, 0x00001200, 0x04c09370, 0x00009000,
+ 0x04a2d013, 0x00001700, 0x84c01a12, 0x00006080, 0x85909212, 0x0000c900,
+ 0x84800f0a, 0x00006080, 0x96109b70, 0x00004000, 0x80000258, 0x0000e582,
+ 0x9c909214, 0x00000100, 0x85c00000, 0x00006188, 0x05000000, 0x0000c990,
+ 0x1c400000, 0x00006191, 0x16c00800, 0x00004991, 0x000004d5, 0x00007008,
+ 0x5cc00000, 0x000081dd, 0x84f0ae74, 0x00008116, 0x80000217, 0x00006582,
+ 0x01401e2c, 0x00000281, 0x1d401405, 0x0000e081, 0x1d009813, 0x00004908,
+ 0x7840c475, 0x0000e081, 0x1d00a815, 0x00008910, 0x1d401605, 0x00001881,
+ 0x0012c074, 0x0000e502, 0x0483a074, 0x00000900, 0x0492c258, 0x00006138,
+ 0x3841a475, 0x00004081, 0x1d302e05, 0x00001901, 0xffffffff, 0x00007f86,
+ 0x2b020b00, 0x00007904, 0x1d85602b, 0x00006002, 0xab000000, 0x00000980,
+ 0x39983876, 0x0000e102, 0x1d4000ad, 0x00000084, 0xc0000307, 0x0000e582,
+ 0x39c00075, 0x00000184, 0x80000212, 0x00006582, 0xab000800, 0x00000990,
+ 0x2b820b00, 0x0000f904, 0x2b6564ac, 0x0000e101, 0x2b8158ae, 0x00004100,
+ 0x000005b2, 0x00007008, 0x1d800000, 0x00006181, 0x9d509212, 0x0000c900,
+ 0x0a0044ed, 0x0000e884, 0x3b63b4ed, 0x00001000, 0x000038ed, 0x00001582,
+ 0x000040ed, 0x00001582, 0x000004ad, 0x00001583, 0x000004b4, 0x00007050,
+ 0x000004c3, 0x0000f010, 0x000004c5, 0x0000f008, 0x3b857275, 0x00006400,
+ 0x3b4570ae, 0x0000c900, 0x10073500, 0x00007904, 0x000770ed, 0x0000e502,
+ 0x2b877307, 0x00000000, 0x10057500, 0x00007904, 0x1d800c76, 0x00006081,
+ 0x0ac158ee, 0x00000000, 0x00000560, 0x0000f208, 0xc1d77307, 0x0000e000,
+ 0x9d577275, 0x00000100, 0x80000275, 0x00001582, 0x39820b00, 0x0000f904,
+ 0x2b820b00, 0x0000f904, 0x000004ac, 0x0000f010, 0x000004ac, 0x00009583,
+ 0x1d800c76, 0x00009191, 0x9d13aa12, 0x00001100, 0x8013a212, 0x00009502,
+ 0x82304476, 0x0000e009, 0x96109258, 0x00008108, 0x85d09217, 0x00006008,
+ 0x0a004405, 0x0000208c, 0x00000904, 0x0000f010, 0x01602c76, 0x00006001,
+ 0x9cd09273, 0x00008000, 0x80139273, 0x0000e502, 0x86202808, 0x0000a085,
+ 0x16c00c5b, 0x00006099, 0x9cd39273, 0x00000118, 0x80000258, 0x0000e582,
+ 0x08005272, 0x0000219a, 0x00000921, 0x00007013, 0x2c0036e3, 0x00001680,
+ 0x848588b0, 0x00009000, 0x85001a16, 0x00006080, 0x84801a12, 0x00004080,
+ 0x84d0a217, 0x0000e100, 0xdb10a217, 0x00008100, 0x0df8a612, 0x0000a084,
+ 0x801b8213, 0x0000e502, 0xb2e2c86e, 0x00002080, 0x1bbfe86e, 0x0000f928,
+ 0x003ffffe, 0x00008280, 0x0b817213, 0x00006000, 0x84406800, 0x00008980,
+ 0x01400c6e, 0x0000e283, 0x05000814, 0x00000080, 0x0df8a612, 0x00002884,
+ 0x84af2004, 0x00006180, 0x0a004511, 0x0000e084, 0x85109a12, 0x0000e100,
+ 0xc1d09a12, 0x00008100, 0x8250ba17, 0x00006100, 0x84be801f, 0x0000c990,
+ 0x84a08212, 0x00009110, 0x0140146e, 0x0000e283, 0xc1d0a212, 0x00000010,
+ 0x84d09aec, 0x00009110, 0x84c01a13, 0x0000e290, 0x84a88307, 0x00008110,
+ 0xc1d09a12, 0x00006110, 0x84c03c59, 0x00000880, 0x003088ec, 0x0000d702,
+ 0x00007000, 0x00000080, 0x04804000, 0x00006181, 0xc1d09b07, 0x00004100,
+ 0x0a004413, 0x00006884, 0x001010ec, 0x0000d780, 0x00007000, 0x00000080,
+ 0x81609c12, 0x00009101, 0xc4401f71, 0x00001283, 0x0008b8ec, 0x00005780,
+ 0x00d07781, 0x00008280, 0x27000000, 0x0000e188, 0x27400000, 0x00004988,
+ 0x00000bc9, 0x0000f010, 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4,
+ 0x28800000, 0x00008acc, 0x29000000, 0x00008ad4, 0x29800000, 0x00008adc,
+ 0x2a000000, 0x00008ae4, 0x2ac00000, 0x00008ae8, 0xa7200f2f, 0x0000c496,
+ 0x4a004771, 0x00000193, 0xa7220771, 0x0000c98e, 0x4a000f10, 0x00008193,
+ 0x05402800, 0x00001981, 0x04c24771, 0x00001281, 0x00024413, 0x00001583,
+ 0x000005c6, 0x0000700b, 0x01402470, 0x00001283, 0xc4000f10, 0x00006283,
+ 0x05400c15, 0x00000191, 0x0000092d, 0x00007013, 0x04800000, 0x0000f900,
+ 0x001f8000, 0x00008980, 0x04c3c470, 0x00006281, 0x00183812, 0x00002186,
+ 0x0003c413, 0x0000e583, 0x04302812, 0x00002101, 0x203896ec, 0x0000d600,
+ 0x003bb800, 0x00008000, 0x00000be2, 0x00007009, 0x40000505, 0x00006583,
+ 0x04c01f71, 0x00008281, 0x00000522, 0x00007013, 0xc0000370, 0x00001582,
+ 0x05400c15, 0x00001089, 0x00001413, 0x00009583, 0x000005b7, 0x0000700b,
+ 0x00000005, 0x0000e586, 0x00003000, 0x0000b406, 0x00100005, 0x0000e505,
+ 0x02000001, 0x00003704, 0xc0038007, 0x00006606, 0x50008000, 0x0000b480,
+ 0xc0c00000, 0x00006180, 0xc0000005, 0x00006407, 0x001000ec, 0x00005780,
+ 0x00c06180, 0x000003c0, 0xc0001807, 0x0000e006, 0xc0000801, 0x00003401,
+ 0x41604e15, 0x00000083, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x40000505, 0x00006583, 0x81400000, 0x00008981, 0x000810ec, 0x00005788,
+ 0x00007000, 0x00000080, 0x00000bd5, 0x0000f011, 0x000004fb, 0x0000f000,
+ 0xc4400f10, 0x0000e283, 0x05402800, 0x00008981, 0x0000050d, 0x0000f00b,
+ 0x01402470, 0x00001283, 0x05400c15, 0x00009191, 0x45000f10, 0x0000f88f,
+ 0x68000000, 0x00008489, 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004,
+ 0x18400000, 0x0000e180, 0x00000060, 0x0000e586, 0x19800000, 0x00006180,
+ 0x00280060, 0x0000e585, 0x19c39072, 0x00006100, 0x76038860, 0x00006001,
+ 0x02400809, 0x0000e082, 0x1a000000, 0x00000980, 0x02000008, 0x00006084,
+ 0x1a517a2f, 0x00000900, 0xc1c20771, 0x0000e283, 0x1a81702e, 0x00000900,
+ 0x0df84e13, 0x00005004, 0x00384000, 0x00000000, 0x1ac00000, 0x0000e180,
+ 0x584b8971, 0x0000c900, 0x0000042f, 0x00007400, 0x0141ff60, 0x00006281,
+ 0x8bc00a2f, 0x00000080, 0x194728e5, 0x00006108, 0x1940b016, 0x00004910,
+ 0x84c00f0a, 0x0000e080, 0x81400000, 0x00004981, 0x41c00400, 0x000081d9,
+ 0x9c400800, 0x000005ee, 0x5cc00000, 0x000081dd, 0x00000490, 0x0000f400,
+ 0x0550aa15, 0x00006100, 0x9c909a14, 0x00004100, 0x84c00674, 0x00008190,
+ 0x2bc00e2c, 0x00006081, 0x0ac00000, 0x00008980, 0xaba57caf, 0x0000e100,
+ 0x01400c05, 0x0000c081, 0xc1c00000, 0x0000e180, 0x81400e05, 0x0000c081,
+ 0x801162ae, 0x00006502, 0x8b000e2c, 0x00000081, 0x00002405, 0x00001583,
+ 0x801162ae, 0x00009502, 0x000005fa, 0x0000f018, 0x000004bf, 0x00007010,
+ 0x000004bf, 0x00007020, 0x39800180, 0x0000e180, 0xaba57a2c, 0x0000c100,
+ 0x800022ae, 0x00006582, 0xb9a80500, 0x00000900, 0x01657c2c, 0x0000e131,
+ 0x01402000, 0x00008999, 0x39c00000, 0x0000f900, 0x000014c4, 0x00000980,
+ 0x2bc024af, 0x0000e080, 0x01402405, 0x00004881, 0x75e800e6, 0x00006101,
+ 0x002028e7, 0x00003106, 0x2bc140af, 0x00001002, 0x703f38ec, 0x0000d600,
+ 0x003f3000, 0x00000000, 0x39c00000, 0x0000f900, 0x00007fc0, 0x00000980,
+ 0x2b800029, 0x00006084, 0x39b00006, 0x00000980, 0x703d78ec, 0x0000d600,
+ 0x003d7000, 0x00000000, 0xb9e02c05, 0x00006100, 0x041810e6, 0x00006187,
+ 0x703f38ec, 0x0000d600, 0x003f3000, 0x00000000, 0x00c002ec, 0x0000df80,
+ 0x104c400b, 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x1ec00ce0, 0x00001283,
- 0x02a71c02, 0x0000f113, 0x1a800c6a, 0x00009183, 0x00000344, 0x0000700b,
- 0x801a4231, 0x00006502, 0x0ac3347e, 0x00002000, 0x0e82347b, 0x0000e800,
- 0x000002fd, 0x00007029, 0x0023dc7e, 0x00009503, 0x00000286, 0x00007013,
- 0x80000666, 0x00009583, 0x08033068, 0x0000ea46, 0x1a43467a, 0x00001040,
- 0x000003a9, 0x0000f048, 0x1a424869, 0x00001000, 0x00020666, 0x0000788c,
- 0x00000000, 0x00000000, 0xae800068, 0x0000788a, 0x00000001, 0x00008060,
- 0xe643487c, 0x0000f86a, 0x00000000, 0x00000186, 0x1f8342ec, 0x00009100,
- 0x1f80187e, 0x00009280, 0x1f83f57a, 0x00001000, 0x1a43f069, 0x00009000,
- 0x0003487c, 0x00009502, 0x00000399, 0x0000706b, 0x0000006b, 0x00001582,
- 0x02c20260, 0x00007113, 0x9f801ee3, 0x0000e080, 0x12434869, 0x00004900,
- 0x9fb71a7e, 0x00006100, 0x9a400b48, 0x00008080, 0x4b63427e, 0x0000a084,
- 0xd2000b48, 0x00009080, 0xffffffff, 0x00007f97, 0x80134269, 0x00001502,
- 0xd2000000, 0x00009988, 0xffffffff, 0x00007f86, 0xc0118b48, 0x00001502,
- 0x1a000000, 0x00006188, 0x1a400000, 0x0000c988, 0x1a800000, 0x0000e188,
- 0x1ac00000, 0x00004988, 0x00000281, 0x0000f010, 0x9f9bdae5, 0x00006400,
- 0x9d918b48, 0x00008400, 0x9d93f276, 0x00001202, 0x00000351, 0x0000f013,
- 0x20e06026, 0x0000e180, 0x9d9bdb48, 0x00004200, 0x1f802276, 0x00001880,
- 0x1ec2d07e, 0x00001002, 0x1d80005b, 0x00006084, 0x1f03d87b, 0x00008900,
- 0x1ec08000, 0x0000e180, 0x1f83e07c, 0x0000c900, 0x02e21c36, 0x0000f500,
- 0x1f03b076, 0x00006100, 0x0418107b, 0x0000e187, 0x21bbdf7c, 0x00008814,
- 0x00c002ec, 0x0000df80, 0x1017200b, 0x00001684, 0xffffffff, 0x00007f86,
+ 0x01400ce0, 0x00001283, 0x059b2049, 0x00007113, 0xb8400003, 0x0000e180,
+ 0x2ba3a476, 0x0000c000, 0x01400000, 0x0000e181, 0x2b8014ae, 0x00004881,
+ 0x3841a4ae, 0x00001081, 0xffffffff, 0x00007fa7, 0x39820b00, 0x0000f904,
+ 0x2b820b00, 0x0000f904, 0x2b000275, 0x00007893, 0x18000000, 0x00000286,
+ 0x0000389f, 0x00006106, 0x0000089d, 0x0000b406, 0x2700609c, 0x0000e380,
+ 0x8000189d, 0x0000a480, 0xc000389f, 0x0000e006, 0x800008a0, 0x00003402,
+ 0x001138ec, 0x00005780, 0x00004800, 0x00008080, 0x27803006, 0x00006100,
+ 0x0008089d, 0x00006501, 0xe7002402, 0x000081d6, 0x4f000f10, 0x0000f897,
+ 0x68000000, 0x00000288, 0x000004c5, 0x0000f400, 0x000004ac, 0x00006583,
+ 0x1d800000, 0x00008981, 0x1d800c76, 0x00006191, 0x9d400000, 0x00008980,
+ 0x00000005, 0x0000e586, 0x00003000, 0x0000b406, 0x00100005, 0x0000e505,
+ 0x02000001, 0x00003704, 0xc3008007, 0x00006606, 0x50008000, 0x0000b480,
+ 0xc0c00000, 0x00006180, 0xc0000005, 0x00006407, 0x001000ec, 0x00005780,
+ 0x00c06300, 0x000000c0, 0xc0001807, 0x0000e006, 0xc0000801, 0x00003401,
+ 0x41601e15, 0x00000083, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x000060a4, 0x00006406, 0x001808a5, 0x00003586, 0x29c00000, 0x0000e180,
+ 0x000808a5, 0x00006505, 0x2938f8a4, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x04c0082d, 0x0000e080, 0x000038a7, 0x00002106, 0x01402470, 0x0000e283,
+ 0x05400c15, 0x00008181, 0xb00008a9, 0x00006401, 0xc00000a5, 0x00003407,
+ 0x001148ec, 0x0000d780, 0x00005000, 0x00008080, 0x29803006, 0x0000e100,
+ 0xc00038a7, 0x00006006, 0xe9001000, 0x0000e181, 0x0b40082d, 0x0000c080,
+ 0x05400c15, 0x00006191, 0x2a809813, 0x00000900, 0x45000f10, 0x0000f88f,
+ 0x68000000, 0x00008489, 0x0141ff60, 0x00009281, 0x00001c05, 0x00009583,
+ 0x76038860, 0x00006811, 0x00000607, 0x00007009, 0x00002405, 0x00001583,
+ 0x584b8971, 0x00006108, 0x0a830413, 0x00006008, 0x04e09ce5, 0x00006409,
+ 0x19c39072, 0x00000908, 0x000005f0, 0x0000f208, 0x584b8971, 0x00006110,
+ 0x75e09860, 0x0000e009, 0x00000405, 0x00006583, 0x19c39072, 0x00008900,
+ 0x0141ff60, 0x00006281, 0x84c01a13, 0x00000088, 0x0dc09613, 0x0000200e,
+ 0xffffffff, 0x00007fa7, 0x84800a12, 0x00001088, 0x0dc89613, 0x0000280e,
+ 0xc0000761, 0x00001583, 0x0000042f, 0x0000700b, 0x04fb0aec, 0x00006100,
+ 0x04806761, 0x00000180, 0x417b0f61, 0x0000e101, 0x04c01813, 0x0000c280,
+ 0x04809812, 0x00001000, 0x0000042f, 0x00007400, 0x04c01012, 0x00009780,
+ 0xd8609c13, 0x00009901, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x028e5000, 0x00007900, 0x0024f12a, 0x00008980, 0x02e84000, 0x0000f900,
+ 0x00167a04, 0x00000980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x01400000, 0x000080f4, 0x06071ff4, 0x00007500, 0x82200500, 0x00008022,
+ 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x19f38f72, 0x00008604,
+ 0x0bc00761, 0x0000f88b, 0x90000000, 0x0000028f, 0x0000002a, 0x0000e582,
+ 0x0303a875, 0x00000900, 0x0487862f, 0x0000e291, 0x0b83a875, 0x00008910,
+ 0x0000065e, 0x00007009, 0x00010412, 0x00001583, 0x0c017c14, 0x0000680e,
+ 0x04e0a7e4, 0x00001808, 0x00000619, 0x0000f010, 0x84800a13, 0x00009180,
+ 0x04c18a12, 0x00009200, 0x0483a813, 0x00009000, 0x0520a012, 0x00009700,
+ 0x84c01a14, 0x00001880, 0x0303aa13, 0x00001000, 0x0000602a, 0x00006502,
+ 0x04818831, 0x00000900, 0x0ac00000, 0x000061b0, 0x8b21642c, 0x00004931,
+ 0x00000c53, 0x00007031, 0x8000222c, 0x00009582, 0x8b219c33, 0x00006131,
+ 0x0507e433, 0x0000c299, 0x8b07e433, 0x00006299, 0x0160a42c, 0x00008119,
+ 0x00000c45, 0x00007030, 0x84c00800, 0x000001d2, 0x03c01c33, 0x00009281,
+ 0x00000405, 0x00006583, 0x02000000, 0x00008981, 0x04c00c13, 0x0000e481,
+ 0x02000800, 0x00008991, 0xffffffff, 0x00007f86, 0x02204413, 0x00009203,
+ 0x82280500, 0x00006110, 0x04c0262c, 0x0000c890, 0x02400000, 0x00007910,
+ 0x000010c4, 0x00008980, 0x00000c53, 0x00007008, 0x16014013, 0x0000e002,
+ 0x04c08405, 0x00008c81, 0x03400029, 0x00009084, 0x01609c05, 0x0000e101,
+ 0x82802413, 0x00000880, 0x82802d00, 0x00006080, 0x00105009, 0x00006106,
+ 0xc218020a, 0x00001080, 0x703848ec, 0x0000d600, 0x00384000, 0x00000000,
+ 0x02400000, 0x0000f900, 0x00007fc0, 0x00000980, 0x82402413, 0x0000e080,
+ 0x02300006, 0x0000c980, 0x703ac0ec, 0x00005600, 0x00386800, 0x00000000,
+ 0x04181008, 0x0000e987, 0x703848ec, 0x0000d600, 0x00384000, 0x00000000,
+ 0x00c002ec, 0x0000df80, 0x1052300b, 0x00001684, 0x00000414, 0x00009583,
+ 0x02e07c0f, 0x00006111, 0x04e07c13, 0x00004111, 0x8b219c33, 0x0000e111,
+ 0x02c00000, 0x0000c989, 0xffffffff, 0x00007f86, 0x04e05c13, 0x00009001,
+ 0x00209c0b, 0x00009503, 0x00000c43, 0x0000f00b, 0x02000c0b, 0x0000e080,
+ 0x85002d00, 0x00004880, 0x85104214, 0x00006000, 0x0290a214, 0x00000900,
+ 0x30384a14, 0x00002080, 0xffffffff, 0x00007fa7, 0x05004812, 0x00009000,
+ 0x0000a00c, 0x00001502, 0x8b000e2c, 0x0000e0a1, 0x02c00c0b, 0x000080a1,
+ 0x04804812, 0x00001020, 0x00000c34, 0x00007028, 0x10e09c0b, 0x0000780b,
+ 0x78400000, 0x00008382, 0x0ac0900c, 0x00001100, 0xc1c02771, 0x00001283,
+ 0x00000c1a, 0x0000f013, 0x04c3c470, 0x00009281, 0xdb03c413, 0x0000c192,
+ 0x00008771, 0x00000088, 0xcfa01f71, 0x0000448c, 0x98012474, 0x0000038d,
+ 0xda012474, 0x000044b1, 0xc6018c74, 0x0000038d, 0xd6418c74, 0x00004199,
+ 0x00012c74, 0x00000088, 0xb3013474, 0x0000f88b, 0x30400000, 0x00008786,
+ 0xb3019474, 0x0000f88b, 0x00400001, 0x00000000, 0xb181fc74, 0x00007893,
+ 0x60400000, 0x00008786, 0x0ac08771, 0x0000c48f, 0xf6001f71, 0x0000818f,
+ 0xb7c12474, 0x00004489, 0x84012474, 0x000003b3, 0xbaa18c74, 0x0000c389,
+ 0x00018c74, 0x00008098, 0x68c12c74, 0x0000f88b, 0x00400001, 0x00000000,
+ 0x6f813474, 0x0000f88b, 0xc0400000, 0x0000868d, 0x6f819474, 0x0000f88b,
+ 0x00400001, 0x00000000, 0x6e01fc74, 0x00007893, 0xf0400000, 0x0000868d,
+ 0x2c0036e3, 0x00001680, 0x84c588b0, 0x00001000, 0x84801213, 0x00001080,
+ 0x0dc04e12, 0x0000f902, 0x02000000, 0x00000004, 0xffffffff, 0x00007fa7,
+ 0x02400809, 0x00001082, 0xc1c00f10, 0x00006283, 0x02000008, 0x00000084,
+ 0x0df84e12, 0x0000d004, 0x00384000, 0x00000000, 0xc1c04771, 0x00001283,
+ 0xc1c20771, 0x00001283, 0x00000e95, 0x0000f010, 0x00000e80, 0x00007008,
+ 0x00000e5f, 0x0000f008, 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004,
+ 0x18400000, 0x0000e180, 0x00000060, 0x0000e586, 0x1940b016, 0x0000e100,
+ 0x00280060, 0x0000e585, 0x19800000, 0x00006180, 0x76038860, 0x00006001,
+ 0x02400809, 0x0000e082, 0x19c39072, 0x00008900, 0x02000008, 0x00006084,
+ 0x1a000000, 0x00000980, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000,
+ 0x1a400000, 0x00006180, 0x1a81702e, 0x0000c900, 0x1ac00800, 0x000002fd,
+ 0x0141ff60, 0x00006281, 0x584b8971, 0x00000900, 0xc1c00f10, 0x00006283,
+ 0x02c00000, 0x00000980, 0x02800000, 0x00006180, 0x0a03060b, 0x0000e082,
+ 0x024086a0, 0x0000e180, 0xa5c3800b, 0x0000e007, 0x03432865, 0x00006100,
+ 0x8043000b, 0x00006001, 0x700080ec, 0x00005680, 0x00000540, 0x00008088,
+ 0x00000f60, 0x0000f410, 0x02a17c69, 0x0000802d, 0x03033867, 0x00006108,
+ 0x42fb0f61, 0x00004901, 0x04cb0961, 0x00006100, 0x00004009, 0x0000e506,
+ 0x703868ec, 0x00005600, 0x00386000, 0x00008000, 0x703858ec, 0x00005600,
+ 0x00385000, 0x00008000, 0x02f00004, 0x00006180, 0x02800000, 0x00004980,
+ 0x0000980a, 0x00006206, 0x0418100b, 0x00003187, 0x023ff961, 0x0000f900,
+ 0x000003fe, 0x00000282, 0x04c00000, 0x0000e180, 0x8628300a, 0x0000e087,
+ 0x04c00800, 0x0000e1b8, 0x5303800a, 0x00006001, 0x00011c05, 0x0000e583,
+ 0x4701780a, 0x0000a001, 0x703b98ec, 0x00005600, 0x003ba000, 0x00008000,
+ 0x04c01761, 0x0000e080, 0x65a0980a, 0x00006001, 0x04bff961, 0x00007900,
+ 0x000003fe, 0x00008280, 0x700080ec, 0x00005680, 0x00385fc0, 0x00008078,
+ 0x04c09812, 0x00006000, 0x7000080a, 0x00002409, 0x703848ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x0000980a, 0x00006206, 0x00017009, 0x00003286,
+ 0x86203009, 0x0000e887, 0x03008000, 0x00007900, 0x00007fc0, 0x00000980,
+ 0x703850ec, 0x0000d600, 0x00384800, 0x00008000, 0x0000400c, 0x0000ed86,
+ 0x703ba8ec, 0x00005600, 0x003bb000, 0x00000000, 0x703860ec, 0x0000d600,
+ 0x00385800, 0x00000000, 0x06da01fb, 0x00007300, 0xc1c00000, 0x00009980,
+ 0xc0000370, 0x0000e582, 0x849b8370, 0x00008900, 0x0d838473, 0x0000e090,
+ 0x08005215, 0x0000b192, 0x0507862f, 0x0000e291, 0x0c017c75, 0x0000a016,
+ 0x000007eb, 0x0000f008, 0x01400c6e, 0x00001283, 0x84c18215, 0x0000e190,
+ 0x08005213, 0x0000218a, 0xffffffff, 0x00007f86, 0x00010414, 0x0000e583,
+ 0x84e08213, 0x00000110, 0x08005211, 0x0000e992, 0x0c017c13, 0x0000e80e,
+ 0x05209fe4, 0x00001808, 0x84404214, 0x0000e088, 0x84c04214, 0x00000088,
+ 0x0a005c14, 0x0000e800, 0x00000414, 0x00009583, 0x04a3afe4, 0x00006010,
+ 0x96400000, 0x00004988, 0x84800a12, 0x00009190, 0x000006f8, 0x0000f008,
+ 0x04817212, 0x00009200, 0x04809370, 0x00001000, 0x04a3a812, 0x00001700,
+ 0x84801a12, 0x0000e080, 0x96509212, 0x00004900, 0x84909370, 0x00001000,
+ 0x80000212, 0x00006582, 0x82400f0a, 0x00008880, 0xc1600000, 0x000080dd,
+ 0x56800000, 0x000005e0, 0x9d000800, 0x000005ee, 0x0000078c, 0x0000f408,
+ 0x9c400000, 0x0000e180, 0x82504a15, 0x00004100, 0x84708e13, 0x00000116,
+ 0x8000025a, 0x00006582, 0x01401e2c, 0x00000281, 0x04c08811, 0x0000e108,
+ 0x04c0a815, 0x0000c910, 0x1cb02e05, 0x00001901, 0x00109013, 0x0000e502,
+ 0x05809813, 0x00008900, 0x05909212, 0x0000e138, 0x04c01405, 0x0000c881,
+ 0x04c01605, 0x00006081, 0x7840c413, 0x00004081, 0x3841a413, 0x00001081,
+ 0xffffffff, 0x0000ffb7, 0x2b020b00, 0x00007904, 0x04c5602b, 0x00009002,
+ 0x39983813, 0x0000e102, 0x1d8000ad, 0x00000084, 0xab400000, 0x00006180,
+ 0x39c00076, 0x0000c184, 0xc0000307, 0x0000e582, 0x04c00000, 0x00008981,
+ 0xab400800, 0x00006190, 0x9d90b216, 0x0000c900, 0x80000216, 0x00001582,
+ 0x2b820b00, 0x0000f904, 0x2b8158ae, 0x0000e100, 0x2b256cad, 0x00008901,
+ 0x00000779, 0x00007008, 0x0a0044ed, 0x0000e884, 0x3b609ced, 0x00001000,
+ 0x000038ed, 0x00001582, 0x000040ed, 0x00001582, 0x000004ac, 0x00009583,
+ 0x00000725, 0x0000f050, 0x00000779, 0x00007010, 0x0000077c, 0x00007008,
+ 0x3b857276, 0x00006400, 0x3b4570ae, 0x0000c900, 0x10073500, 0x00007904,
+ 0x000770ed, 0x0000e502, 0x2b877307, 0x00000000, 0x10057500, 0x00007904,
+ 0x04c00c13, 0x00006081, 0x0ac158ee, 0x00000000, 0x00000734, 0x0000f208,
+ 0xc1d77307, 0x0000e000, 0x9d977276, 0x00000100, 0x39820b00, 0x0000f904,
+ 0x2b820b00, 0x0000f904, 0xde400276, 0x0000f88b, 0xe8000000, 0x00000388,
+ 0x2bc00e2c, 0x00006081, 0x0ac00000, 0x00008980, 0xaba57caf, 0x0000e100,
+ 0x01400c05, 0x0000c081, 0xc1c00000, 0x0000e180, 0x81400e05, 0x0000c081,
+ 0x801162ae, 0x00006502, 0x8b000e2c, 0x00000081, 0x00002405, 0x00001583,
+ 0x801162ae, 0x00009502, 0x000005fa, 0x0000f018, 0x00000730, 0x0000f010,
+ 0x00000730, 0x0000f020, 0x39800180, 0x0000e180, 0xaba57a2c, 0x0000c100,
+ 0x800022ae, 0x00006582, 0xb9a80500, 0x00000900, 0x01657c2c, 0x0000e131,
+ 0x01402000, 0x00008999, 0x39c00000, 0x0000f900, 0x000014c4, 0x00000980,
+ 0x2bc024af, 0x0000e080, 0x01402405, 0x00004881, 0x75e800e6, 0x00006101,
+ 0x002028e7, 0x00003106, 0x2bc140af, 0x00001002, 0x703f38ec, 0x0000d600,
+ 0x003f3000, 0x00000000, 0x39c00000, 0x0000f900, 0x00007fc0, 0x00000980,
+ 0x2b800029, 0x00006084, 0x39b00006, 0x00000980, 0x703d78ec, 0x0000d600,
+ 0x003d7000, 0x00000000, 0xb9e02c05, 0x00006100, 0x041810e6, 0x00006187,
+ 0x703f38ec, 0x0000d600, 0x003f3000, 0x00000000, 0x00c002ec, 0x0000df80,
+ 0x105ae00b, 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x03800ce0, 0x00009283, 0x02f71c02, 0x0000f113,
- 0x1f804766, 0x0000e080, 0xb913ca79, 0x00004900, 0x1f83f767, 0x00009300,
- 0x0003f00e, 0x0000ea06, 0xffffffff, 0x00007f86, 0x00000000, 0x00007083,
- 0x0023dc7e, 0x00009503, 0x9ed18b48, 0x00001408, 0x000002af, 0x00007011,
- 0x9ed3427b, 0x00009202, 0x00000289, 0x0000700b, 0x20d86026, 0x00006180,
- 0x1f9a4348, 0x0000c900, 0x1fbbb07e, 0x00009704, 0x1f87f87e, 0x00009280,
- 0x1f80187e, 0x00009880, 0x1f82a07e, 0x00009002, 0x20000055, 0x0000e084,
- 0x2043f07e, 0x00000900, 0x1fbc0781, 0x00008808, 0x21804782, 0x00000884,
- 0x030f1c36, 0x00007500, 0x04181081, 0x00006987, 0x21440881, 0x00001900,
- 0x00c002ec, 0x0000df80, 0x1018880b, 0x00009684, 0xffffffff, 0x00007f86,
+ 0x01400ce0, 0x00001283, 0x076f2049, 0x00007113, 0xb8400003, 0x0000e180,
+ 0x2ba39413, 0x0000c000, 0x01400000, 0x0000e181, 0x2b8014ae, 0x00004881,
+ 0x3841a4ae, 0x00001081, 0xffffffff, 0x00007fa7, 0x39820b00, 0x0000f904,
+ 0x2b820b00, 0x0000f904, 0xc7400276, 0x00007893, 0x00000001, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x000004ad, 0x00001583, 0x04c00c13, 0x00009191,
+ 0x9d93b216, 0x00001100, 0x8013b216, 0x00009502, 0x82304413, 0x0000e009,
+ 0x8490b212, 0x00000108, 0x9690b25a, 0x0000e008, 0x0a004405, 0x0000208c,
+ 0x000007ce, 0x00007010, 0x04e02c13, 0x0000e001, 0x9c50b271, 0x00000000,
+ 0x80104a71, 0x00006502, 0x86209808, 0x00002085, 0x16c00c5b, 0x00006099,
+ 0x9c504a71, 0x00000118, 0x80000212, 0x00006582, 0x08005209, 0x0000219a,
+ 0x000007c1, 0x00007013, 0x16e39c73, 0x00009901, 0x2c0036e3, 0x00001680,
+ 0x850588b0, 0x00009000, 0x84801a59, 0x0000e080, 0xb2e2d86e, 0x00006080,
+ 0x84d0925a, 0x0000e100, 0xdb10925a, 0x00008100, 0x801b8213, 0x0000e502,
+ 0x84801a14, 0x00008080, 0x0df8a612, 0x0000a084, 0x1bbfe86e, 0x0000f928,
+ 0x003ffffe, 0x00008280, 0x0b817213, 0x00006000, 0x84406800, 0x00008980,
+ 0x01400c6e, 0x0000e283, 0x0a004511, 0x00002084, 0x8252d25a, 0x00006100,
+ 0x05000814, 0x0000c080, 0x0df8a612, 0x00002884, 0x84af2004, 0x00001980,
+ 0x85109a12, 0x0000e100, 0xc1d09a12, 0x00008100, 0x84be801f, 0x00009990,
+ 0x84a08212, 0x00009110, 0x0140146e, 0x0000e283, 0xc1d0a212, 0x00000010,
+ 0x84d09aec, 0x00009110, 0x84c01a13, 0x0000e290, 0x84a88307, 0x00008110,
+ 0xc1d09a12, 0x00006110, 0x84c03c5b, 0x00008880, 0x003088ec, 0x0000d702,
+ 0x00007000, 0x00000080, 0x04804000, 0x00006181, 0xc1d09b07, 0x00004100,
+ 0x0a004413, 0x00006884, 0x001010ec, 0x0000d780, 0x00007000, 0x00000080,
+ 0x01609c12, 0x00001101, 0x04800000, 0x0000f900, 0x001f8000, 0x00008980,
+ 0x05402800, 0x00006181, 0x00183812, 0x0000e186, 0x0008b8ec, 0x00005780,
+ 0x00d07781, 0x00008280, 0x04c3c470, 0x00006281, 0x04202812, 0x0000a101,
+ 0x203896ec, 0x0000d600, 0x003bb800, 0x00008000, 0x4743c413, 0x0000f893,
+ 0x00000001, 0x00008000, 0x47400370, 0x0000788b, 0x20000000, 0x0000058f,
+ 0x84c02d00, 0x0000e080, 0x1d31662c, 0x00004901, 0x3038c013, 0x00003838,
+ 0x3038d213, 0x00003838, 0x3038e413, 0x00003838, 0x3038f613, 0x00003838,
+ 0x30790013, 0x00003838, 0x30791213, 0x00003838, 0x30792413, 0x00003838,
+ 0x30793613, 0x00003838, 0x1601582b, 0x00001900, 0xe3000212, 0x0000788b,
+ 0x08000000, 0x00008388, 0x8000025a, 0x00009582, 0x84c02d00, 0x00006090,
+ 0x8b23a474, 0x0000c911, 0x3000c013, 0x00007912, 0x06400000, 0x00008000,
+ 0x00000884, 0x0000f008, 0x00000414, 0x00006583, 0x0ac2c058, 0x00000900,
+ 0x3038d213, 0x0000b038, 0x3038e413, 0x0000b038, 0x3038f613, 0x0000b038,
+ 0x30790013, 0x0000b038, 0x30791213, 0x0000b038, 0x0000078d, 0x00007408,
+ 0x30792413, 0x0000b038, 0x30793613, 0x0000b038, 0x96400000, 0x0000e180,
+ 0x04e3afe4, 0x00004800, 0x85000a13, 0x00009180, 0x04817214, 0x00009200,
+ 0x8510925a, 0x0000e000, 0x84804213, 0x00008080, 0x84c04213, 0x00009080,
+ 0x80109a14, 0x00001502, 0x0000078d, 0x0000702b, 0x84d09213, 0x0000e000,
+ 0x96400a59, 0x00000080, 0xe3509a14, 0x0000f82b, 0x38000000, 0x0000038f,
+ 0x40000505, 0x00006583, 0x01400000, 0x00000981, 0x82682d05, 0x0000e110,
+ 0x80000808, 0x00006495, 0x82000e08, 0x0000e091, 0x0d034068, 0x00000910,
+ 0x000007f8, 0x00007008, 0x1a080000, 0x00006180, 0x0d434869, 0x0000c900,
+ 0x000868ec, 0x0000d780, 0x00007000, 0x00000080, 0x0dbb5f6a, 0x0000031c,
+ 0xda007d05, 0x00001180, 0x000007b3, 0x00007200, 0x000810ec, 0x0000d780,
+ 0x00007000, 0x00000080, 0x2c0036e3, 0x00001680, 0x84c588b0, 0x00001000,
+ 0x84801213, 0x00001080, 0x0dc04e12, 0x0000f902, 0x02000000, 0x00000004,
+ 0xffffffff, 0x00007fa7, 0x02400809, 0x00001082, 0xc1c00f10, 0x00006283,
+ 0x02000008, 0x00000084, 0x0df84e12, 0x0000d004, 0x00384000, 0x00000000,
+ 0xc1c04771, 0x00001283, 0xc1c20771, 0x00001283, 0x00000d86, 0x00007010,
+ 0x00000d6f, 0x0000f008, 0x00000d4e, 0x0000f008, 0x0dc04e13, 0x00007902,
+ 0x02000000, 0x00000004, 0x18400000, 0x0000e180, 0x00000060, 0x0000e586,
+ 0x1940b016, 0x0000e100, 0x00280060, 0x0000e585, 0x19800000, 0x00006180,
+ 0x76038860, 0x00006001, 0x02400809, 0x0000e082, 0x19c39072, 0x00008900,
+ 0x02000008, 0x00006084, 0x1a000000, 0x00000980, 0x0df84e13, 0x00005004,
+ 0x00384000, 0x00000000, 0x1a400000, 0x00006180, 0x1a81702e, 0x0000c900,
+ 0x1ac00800, 0x000002fd, 0x0141ff60, 0x00006281, 0x584b8971, 0x00000900,
+ 0xc1c00f10, 0x00006283, 0x02c00000, 0x00000980, 0x02800000, 0x00006180,
+ 0x0a03060b, 0x0000e082, 0x024086a0, 0x0000e180, 0xa5c3800b, 0x0000e007,
+ 0x03432865, 0x00006100, 0x8043000b, 0x00006001, 0x700080ec, 0x00005680,
+ 0x00000540, 0x00008088, 0x00000897, 0x0000f410, 0x02a17c69, 0x0000802d,
+ 0x03033867, 0x00006108, 0x42fb0f61, 0x00004901, 0x04cb0961, 0x00006100,
+ 0x00004009, 0x0000e506, 0x703868ec, 0x00005600, 0x00386000, 0x00008000,
+ 0x703858ec, 0x00005600, 0x00385000, 0x00008000, 0x02f00004, 0x00006180,
+ 0x02800000, 0x00004980, 0x0000980a, 0x00006206, 0x0418100b, 0x00003187,
+ 0x023ff961, 0x0000f900, 0x000003fe, 0x00000282, 0x04c00000, 0x0000e180,
+ 0x8628300a, 0x0000e087, 0x04c00800, 0x0000e1b8, 0x5303800a, 0x00006001,
+ 0x00011c05, 0x0000e583, 0x4701780a, 0x0000a001, 0x703b98ec, 0x00005600,
+ 0x003ba000, 0x00008000, 0x04c01761, 0x0000e080, 0x65a0980a, 0x00006001,
+ 0x04bff961, 0x00007900, 0x000003fe, 0x00008280, 0x700080ec, 0x00005680,
+ 0x00385fc0, 0x00008078, 0x04c09812, 0x00006000, 0x7000080a, 0x00002409,
+ 0x703848ec, 0x0000d600, 0x00000000, 0x00008080, 0x0000980a, 0x00006206,
+ 0x00017009, 0x00003286, 0x86203009, 0x0000e887, 0x03008000, 0x00007900,
+ 0x00007fc0, 0x00000980, 0x703850ec, 0x0000d600, 0x00384800, 0x00008000,
+ 0x0000400c, 0x0000ed86, 0x703ba8ec, 0x00005600, 0x003bb000, 0x00000000,
+ 0x703860ec, 0x0000d600, 0x00385800, 0x00000000, 0x085801fb, 0x0000f300,
+ 0xc1c00000, 0x00009980, 0xc0000370, 0x00001582, 0x0d838411, 0x00006090,
+ 0x0c017c13, 0x00003016, 0xb841a000, 0x0000e190, 0x0a005c12, 0x0000e010,
+ 0x000007eb, 0x0000f008, 0x00000412, 0x00009583, 0x851b8370, 0x0000e108,
+ 0x04a09fe4, 0x00004810, 0x84800a12, 0x00009190, 0x04801e2c, 0x00006281,
+ 0x05017212, 0x00008210, 0x0500a370, 0x00009010, 0x04c01412, 0x0000e081,
+ 0x05209814, 0x0000c710, 0x7840c413, 0x0000e081, 0x85001a14, 0x00008890,
+ 0x04c00000, 0x00006181, 0x851b8214, 0x0000c010, 0xffffffff, 0x00007f86,
+ 0x8250a214, 0x00001900, 0xffffffff, 0x00007f97, 0x15020b00, 0x0000f904,
+ 0x15015854, 0x00001002, 0x80000214, 0x00006582, 0x15400055, 0x00000084,
+ 0x16820b00, 0x00007904, 0x1681585a, 0x00001100, 0x00000e3e, 0x00007008,
+ 0x05c2d209, 0x00006400, 0x1602d05a, 0x00004900, 0x1682d209, 0x00001c00,
+ 0x0000b858, 0x00006502, 0x8250ba09, 0x00000100, 0x1002a500, 0x00007904,
+ 0x1002d500, 0x0000f904, 0x00000e00, 0x00007208, 0x0ac15817, 0x00009000,
+ 0x04c00c13, 0x00009081, 0xffffffff, 0x00007fa7, 0x15020b00, 0x0000f904,
+ 0x16820b00, 0x00007904, 0x8f800209, 0x0000f88b, 0xa8400000, 0x00000483,
+ 0x00000414, 0x00006583, 0x82004608, 0x00000081, 0x04e3afe4, 0x0000e010,
+ 0x0a004412, 0x00006084, 0x01404412, 0x00006081, 0x85000a13, 0x00008190,
+ 0x000008d3, 0x0000f208, 0x04817214, 0x0000e210, 0x86202808, 0x0000a085,
+ 0x96400000, 0x0000e180, 0x82404213, 0x00004080, 0x84804213, 0x0000e080,
+ 0x85109276, 0x00000000, 0x80109214, 0x00009502, 0x0000089d, 0x0000f02b,
+ 0x84904a12, 0x0000e000, 0x96400a59, 0x00000080, 0x27509214, 0x0000782a,
+ 0x98400000, 0x00008484, 0xc1c20771, 0x0000e283, 0x9243000b, 0x0000a001,
+ 0x0000082c, 0x00007400, 0x03033066, 0x0000e100, 0x8000080b, 0x00006411,
+ 0x0343586b, 0x00009910, 0x2c12ca09, 0x00001600, 0x044588b0, 0x00001000,
+ 0x85108a14, 0x00006100, 0x05410013, 0x00008180, 0x84801a76, 0x0000e280,
+ 0x0450a214, 0x00000900, 0x0000a811, 0x00009502, 0x000008cf, 0x0000f043,
+ 0x80000212, 0x00009582, 0x85109212, 0x0000e110, 0x9693b276, 0x0000c908,
+ 0x0000078d, 0x00007009, 0x0000002b, 0x00006582, 0x0483fc05, 0x00008281,
+ 0x16800c12, 0x0000e181, 0x0247e62c, 0x00000281, 0x84c00003, 0x000080d6,
+ 0x8490a214, 0x00006100, 0x8b000e2c, 0x0000c189, 0x1600145a, 0x00009881,
+ 0x0547e62c, 0x0000e281, 0x7841a458, 0x00000081, 0x0020ac09, 0x00001503,
+ 0x05401413, 0x00009891, 0x3840c415, 0x00001091, 0xffffffff, 0x00007f97,
+ 0x1c820b00, 0x00007904, 0x000008c1, 0x0000f408, 0x05820b00, 0x0000f904,
+ 0x0440b016, 0x00009900, 0x10039500, 0x0000f904, 0x00000413, 0x0000e583,
+ 0x05972816, 0x00008200, 0x1000b500, 0x00007904, 0x04c01800, 0x0000e189,
+ 0x04c00c13, 0x0000c191, 0x8ad0b212, 0x00009c00, 0xffffffff, 0x00007f86,
+ 0x84915a12, 0x00006100, 0x05515816, 0x00000100, 0x80000215, 0x0000e582,
+ 0x0ad72815, 0x00000200, 0x01400c05, 0x00001089, 0x00000e53, 0x00007011,
+ 0x80000212, 0x00009582, 0x8b000e2c, 0x00006191, 0x16800c5a, 0x00000191,
+ 0x1600145a, 0x00001891, 0x00000e55, 0x0000f008, 0x000008b1, 0x00007000,
+ 0x84d09a14, 0x00009100, 0x85012213, 0x00001082, 0x000008a5, 0x0000f00b,
+ 0x000008a9, 0x00007000, 0x000008a5, 0x0000f200, 0x84801a76, 0x00001280,
+ 0xc1c20771, 0x0000e283, 0x92430009, 0x00002001, 0x02c3586b, 0x0000e110,
+ 0x80000809, 0x0000e411, 0x02800000, 0x00006180, 0x04cb0961, 0x00004900,
+ 0x703858ec, 0x00005600, 0x003b3000, 0x00008000, 0x02f00004, 0x00006180,
+ 0x0000980a, 0x00006206, 0x703848ec, 0x0000d600, 0x00384000, 0x00000000,
+ 0x04c00000, 0x0000e180, 0x8628300a, 0x0000e087, 0x023ff961, 0x0000f900,
+ 0x000003fe, 0x00000282, 0x04c00800, 0x0000e1b8, 0x5303800a, 0x00006001,
+ 0x00011c05, 0x0000e583, 0x4701780a, 0x0000a001, 0x65a0980a, 0x00006001,
+ 0x0418100b, 0x00003187, 0x04bff961, 0x00007900, 0x000003fe, 0x00008280,
+ 0x703b98ec, 0x00005600, 0x003ba000, 0x00008000, 0x04c01761, 0x0000e080,
+ 0x7000080a, 0x0000e409, 0x00017009, 0x00006286, 0x0000400e, 0x00003506,
+ 0x700080ec, 0x00005680, 0x00385fc0, 0x00008078, 0x04c09812, 0x00006000,
+ 0x86203009, 0x0000a087, 0x703870ec, 0x00005600, 0x00000000, 0x00008080,
+ 0x0000980a, 0x0000ea06, 0x03008000, 0x00007900, 0x00007fc0, 0x00000980,
+ 0x703850ec, 0x0000d600, 0x00384800, 0x00008000, 0x0000400c, 0x0000ed86,
+ 0x00000466, 0x0000f400, 0x703ba8ec, 0x00005600, 0x003bb000, 0x00000000,
+ 0x703860ec, 0x0000d600, 0x00385800, 0x00000000, 0x80000217, 0x00009582,
+ 0x84c02d00, 0x00006090, 0x8b238c71, 0x0000c911, 0x3000c013, 0x00007912,
+ 0x06400000, 0x00008000, 0x0000096e, 0x0000f008, 0x00000409, 0x00006583,
+ 0x0ac0a014, 0x00000900, 0x3038d213, 0x0000b038, 0x3038e413, 0x0000b038,
+ 0x3038f613, 0x0000b038, 0x30790013, 0x0000b038, 0x30791213, 0x0000b038,
+ 0x00000947, 0x0000f408, 0x30792413, 0x0000b038, 0x30793613, 0x0000b038,
+ 0x85800000, 0x00006180, 0x04e2d7e4, 0x0000c800, 0x85000a13, 0x00009180,
+ 0x04817214, 0x00009200, 0x85109217, 0x0000e000, 0x84804213, 0x00008080,
+ 0x84c04213, 0x00009080, 0x80109a14, 0x00001502, 0x00000947, 0x0000f02b,
+ 0x84d09213, 0x0000e000, 0x85800a16, 0x00000080, 0x51d09a14, 0x0000f82a,
+ 0xe8400000, 0x00000488, 0x84802d00, 0x00006080, 0x1c71662c, 0x00004901,
+ 0x3038c012, 0x0000b838, 0x3038d212, 0x0000b838, 0x3038e412, 0x0000b838,
+ 0x3038f612, 0x0000b838, 0x30790012, 0x0000b838, 0x30791212, 0x0000b838,
+ 0x30792412, 0x0000b838, 0x00000490, 0x0000f400, 0x30793612, 0x0000b838,
+ 0x0501582b, 0x00009900, 0x04800000, 0x0000f900, 0x001f8000, 0x00008980,
+ 0xc4020771, 0x0000e283, 0x00183812, 0x00002186, 0x04c3c470, 0x00006281,
+ 0x04302812, 0x00002101, 0x203896ec, 0x0000d600, 0x003bb800, 0x00008000,
+ 0x0b81706b, 0x00006010, 0x8bc00a2f, 0x00008090, 0x4743c413, 0x0000f893,
+ 0x00000001, 0x00008000, 0x47400370, 0x0000788b, 0x20000000, 0x0000058f,
+ 0x80000212, 0x00009582, 0x00000c6d, 0x0000f013, 0x3841a45a, 0x00006081,
+ 0x82204e08, 0x00000101, 0x85d0a274, 0x00006100, 0x16008811, 0x00008900,
+ 0x0a004414, 0x0000e884, 0x04e04c14, 0x00001101, 0x86209808, 0x00006885,
+ 0xffffffff, 0x00007f86, 0x10039500, 0x0000f904, 0x1002c500, 0x00007904,
+ 0x2c0036e3, 0x00001680, 0x848588b0, 0x00009000, 0x85001a16, 0x00006080,
+ 0x84801a12, 0x00004080, 0x84d0a217, 0x0000e100, 0xdb10a217, 0x00008100,
+ 0x0df8a612, 0x0000a084, 0x801b8213, 0x0000e502, 0xb2e2d86e, 0x0000a080,
+ 0x1bbfe86e, 0x0000f928, 0x003ffffe, 0x00008280, 0x84406800, 0x00006180,
+ 0x0b817213, 0x0000c000, 0x05000814, 0x00006080, 0x0a004511, 0x00002084,
+ 0x003088ec, 0x0000d702, 0x00007000, 0x00000080, 0x0df8a612, 0x00002884,
+ 0x04400c6e, 0x0000e283, 0x84af2004, 0x00008980, 0x85109a12, 0x0000e100,
+ 0xc1d09a12, 0x00008100, 0x8250ba17, 0x00006100, 0x84be801f, 0x0000c990,
+ 0x84a08212, 0x00009110, 0x0440146e, 0x0000e283, 0xc1d0a212, 0x00000010,
+ 0x84d09aec, 0x00009110, 0x84c01a13, 0x0000e290, 0x84a88307, 0x00008110,
+ 0xc1d09a12, 0x00006110, 0x84c03c5b, 0x00008880, 0x04804000, 0x00001981,
+ 0xc1d09b07, 0x0000e100, 0x0a004413, 0x00002084, 0x000004fb, 0x00007400,
+ 0x001010ec, 0x0000d780, 0x00007000, 0x00000080, 0x81609c12, 0x00009101,
+ 0x00000409, 0x00006583, 0x82004608, 0x00000081, 0x04e2d7e4, 0x00006010,
+ 0x0a004414, 0x00006084, 0x01404414, 0x00006081, 0x82404213, 0x00000090,
+ 0x00000c8f, 0x00007208, 0x85000a13, 0x0000e190, 0x86202808, 0x0000a085,
+ 0x85800000, 0x00001980, 0x04817214, 0x00009200, 0x84804213, 0x0000e080,
+ 0x85109274, 0x00008000, 0x80109214, 0x00009502, 0x00000c58, 0x0000702b,
+ 0x84904a12, 0x0000e000, 0x85800a16, 0x00000080, 0x16109214, 0x0000f82b,
+ 0xe8400000, 0x0000048b, 0x0a030405, 0x00006882, 0x00012405, 0x00009583,
+ 0x00012405, 0x00009583, 0x00018c05, 0x00001583, 0x00000a0e, 0x0000f008,
+ 0x00000a01, 0x00007050, 0x000009f1, 0x0000f008, 0x00018c05, 0x00001583,
+ 0x00012c05, 0x00001583, 0xffffffff, 0x00007f86, 0x000009eb, 0x00007038,
+ 0x000009ae, 0x0000f010, 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004,
+ 0x584b8971, 0x0000e100, 0x76038860, 0x00006001, 0x194728e5, 0x0000e100,
+ 0x02438060, 0x00006001, 0x1a434a2f, 0x00006000, 0x1a83502e, 0x00000000,
+ 0x02400809, 0x0000e082, 0x8bc00a2f, 0x00000080, 0x01440470, 0x0000e283,
+ 0x02000008, 0x00000084, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000,
+ 0x04c39072, 0x0000e110, 0x04c00000, 0x00004988, 0x0000042f, 0x00007400,
+ 0x0141ff60, 0x00009281, 0x19809813, 0x00009900, 0x01440470, 0x0000e283,
+ 0x80000060, 0x00002500, 0x04c39072, 0x0000e110, 0x70000060, 0x0000e401,
+ 0x04c00000, 0x00006188, 0xf0000060, 0x00006401, 0x584b8971, 0x0000e100,
+ 0x02438060, 0x00006001, 0x19439873, 0x0000e100, 0x76038860, 0x00006001,
+ 0x00000466, 0x0000f400, 0x1a5ba374, 0x0000e100, 0x1a835075, 0x00004000,
+ 0x19809813, 0x00009900, 0x00013405, 0x00001583, 0x000009bf, 0x0000f013,
+ 0x76038860, 0x0000e801, 0x0000042f, 0x00007400, 0x187b9671, 0x00000618,
+ 0x0141ff60, 0x00009281, 0x00000c74, 0x0000e583, 0x76038860, 0x0000a001,
+ 0x00000466, 0x0000f400, 0x187b9671, 0x0000861c, 0xd86ba574, 0x0000e101,
+ 0x417b0f61, 0x00004909, 0x00019405, 0x00001583, 0x0001fc05, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00000db3, 0x00007008, 0x00000db3, 0x00007008,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02a78000, 0x00007900,
+ 0x002412d2, 0x00008980, 0x02c4b000, 0x00007900, 0x0034ed64, 0x00008980,
+ 0x01800000, 0x00006180, 0x08001a08, 0x00006106, 0x01400000, 0x000080f4,
+ 0x09cc1ff4, 0x0000f500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180,
+ 0x02401002, 0x0000c900, 0x00000466, 0x0000f400, 0x584b8971, 0x0000e100,
+ 0x76038860, 0x00006001, 0x19839072, 0x00009900, 0x00011474, 0x00009583,
+ 0x19839072, 0x0000e118, 0x584b8971, 0x0000c918, 0x00000466, 0x0000f019,
+ 0x00010c74, 0x00009583, 0x00002c74, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x000009cc, 0x00007020, 0x000009b4, 0x00007010, 0x18400000, 0x0000e180,
+ 0x00000060, 0x0000e784, 0x19439873, 0x0000e100, 0x8623a060, 0x0000e083,
+ 0x19800000, 0x00006180, 0x76038860, 0x00006001, 0x19c00772, 0x000006a0,
+ 0x00000466, 0x0000f400, 0x9a7baf74, 0x00000628, 0x18400671, 0x000086ac,
+ 0x58400000, 0x00006180, 0x00000060, 0x0000e586, 0x1a835075, 0x0000e000,
+ 0x00040060, 0x0000a487, 0x00000466, 0x0000f400, 0x19839072, 0x0000e100,
+ 0xf0000060, 0x00006401, 0x1afba773, 0x00008626, 0x00019405, 0x00001583,
+ 0x0001fc05, 0x00009583, 0xffffffff, 0x00007f86, 0x000009b0, 0x0000f008,
+ 0x000009b0, 0x0000f008, 0x000009bf, 0x00007000, 0x84c00a13, 0x00006080,
+ 0x0483502e, 0x00000000, 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004,
+ 0x19839072, 0x0000e100, 0x70000860, 0x00006401, 0x1a434a2f, 0x00006000,
+ 0x1a83502e, 0x00000000, 0x0141ff60, 0x00009281, 0x02400809, 0x00001082,
+ 0x02000008, 0x00009084, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000,
+ 0x0000042f, 0x00007400, 0x04c0906b, 0x00001100, 0x1ac08813, 0x00009c00,
+ 0x00011405, 0x00009583, 0x00010c05, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x000009b1, 0x00007038, 0x000009b0, 0x0000f040, 0x00010405, 0x00001583,
+ 0x84c01a13, 0x00009088, 0x0de09613, 0x0000200c, 0xffffffff, 0x00007f86,
+ 0x000009b0, 0x0000740b, 0x84800a12, 0x00001088, 0x0de09613, 0x0000a80c,
+ 0x000009bf, 0x00007000, 0x0a830412, 0x0000e800, 0x000009b1, 0x00007400,
+ 0x04e094e5, 0x00009401, 0x75e09860, 0x0000e801, 0x2c0036e3, 0x00001680,
+ 0x84c588b0, 0x00001000, 0x84801213, 0x00001080, 0x0dc04e12, 0x0000f902,
+ 0x02000000, 0x00000004, 0xffffffff, 0x00007fa7, 0x02400809, 0x00001082,
+ 0xc1c00f10, 0x00006283, 0x02000008, 0x00000084, 0x0df84e12, 0x0000d004,
+ 0x00384000, 0x00000000, 0xc1c04771, 0x00001283, 0xc1c20771, 0x00001283,
+ 0x00000cc9, 0x00007010, 0x00000cb2, 0x00007008, 0x00000c91, 0x0000f008,
+ 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004, 0x18400000, 0x0000e180,
+ 0x00000060, 0x0000e586, 0x1940b016, 0x0000e100, 0x00280060, 0x0000e585,
+ 0x19800000, 0x00006180, 0x76038860, 0x00006001, 0x02400809, 0x0000e082,
+ 0x19c39072, 0x00008900, 0x02000008, 0x00006084, 0x1a000000, 0x00000980,
+ 0x0df84e13, 0x00005004, 0x00384000, 0x00000000, 0x1a400000, 0x00006180,
+ 0x1a81702e, 0x0000c900, 0x1ac00800, 0x000002fd, 0x0141ff60, 0x00006281,
+ 0x584b8971, 0x00000900, 0xc1c00f10, 0x00006283, 0x02c00000, 0x00000980,
+ 0x02800000, 0x00006180, 0x0a03060b, 0x0000e082, 0x024086a0, 0x0000e180,
+ 0xa5c3800b, 0x0000e007, 0x03432865, 0x00006100, 0x8043000b, 0x00006001,
+ 0x700080ec, 0x00005680, 0x00000540, 0x00008088, 0x00000d48, 0x00007410,
+ 0x02a17c69, 0x0000802d, 0x03033867, 0x00006108, 0x42fb0f61, 0x00004901,
+ 0x04cb0961, 0x00006100, 0x00004009, 0x0000e506, 0x703868ec, 0x00005600,
+ 0x00386000, 0x00008000, 0x703858ec, 0x00005600, 0x00385000, 0x00008000,
+ 0x02b00004, 0x0000e180, 0x0001700c, 0x00006286, 0x703b98ec, 0x00005600,
+ 0x003ba000, 0x00008000, 0x8620300c, 0x00006087, 0x0418100a, 0x0000b187,
+ 0x700080ec, 0x00005680, 0x003857c0, 0x00000078, 0x703848ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x02400000, 0x00001980, 0x04c00000, 0x0000e180,
+ 0x00009809, 0x00006206, 0x023ff961, 0x0000f900, 0x000003fe, 0x00000282,
+ 0x04c00800, 0x0000e1b8, 0x86283009, 0x0000e087, 0x00011c05, 0x0000e583,
+ 0x53038009, 0x0000a001, 0x47017809, 0x0000e801, 0x04c01761, 0x0000e080,
+ 0x65a09809, 0x00006001, 0x04bff961, 0x00007900, 0x000003fe, 0x00008280,
+ 0x04c09812, 0x00006000, 0x70000809, 0x00002409, 0x02c08000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0x00009809, 0x00006206, 0x0000400b, 0x0000b586,
+ 0x703848ec, 0x0000d600, 0x00386000, 0x00008000, 0x703ba8ec, 0x00005600,
+ 0x003bb000, 0x00000000, 0x703858ec, 0x00005600, 0x00385000, 0x00008000,
+ 0x0a6f01fb, 0x0000f300, 0xc1c00000, 0x00009980, 0xc0000370, 0x00001582,
+ 0x0d838411, 0x00006090, 0x0c017c13, 0x00003016, 0xb841a000, 0x0000e190,
+ 0x0a005c12, 0x0000e010, 0x00000533, 0x00007008, 0x00000412, 0x00009583,
+ 0x825b8370, 0x0000e108, 0x04a09fe4, 0x00004810, 0x84800a12, 0x00009190,
+ 0x04817212, 0x00001210, 0x04809370, 0x00009010, 0x04801e2c, 0x00006281,
+ 0x04e09812, 0x00008710, 0x84c01a13, 0x00001890, 0x04c01412, 0x0000e081,
+ 0x825b8213, 0x00004010, 0x04c00000, 0x00006181, 0x7840c413, 0x00004081,
+ 0x85504a09, 0x00009900, 0xffffffff, 0x0000ffb7, 0x15020b00, 0x0000f904,
+ 0x15015854, 0x00001002, 0x80000209, 0x00006582, 0x15400055, 0x00000084,
+ 0x16820b00, 0x00007904, 0x1681585a, 0x00001100, 0x00000fc2, 0x0000f008,
+ 0x0502d215, 0x0000e400, 0x1602d05a, 0x00004900, 0x1682d215, 0x00009c00,
+ 0x0000a058, 0x00006502, 0x8550a215, 0x00000100, 0x1002a500, 0x00007904,
+ 0x1002d500, 0x0000f904, 0x00000f84, 0x0000f208, 0x0ac15814, 0x00009000,
+ 0x04c00c13, 0x00009081, 0xffffffff, 0x00007fa7, 0x15020b00, 0x0000f904,
+ 0x16820b00, 0x00007904, 0xf0800215, 0x0000f88b, 0x58400000, 0x00000584,
+ 0x0000002a, 0x00001582, 0x05c18831, 0x00006110, 0x0507862f, 0x00004291,
+ 0x00000b8d, 0x00007009, 0x00010414, 0x00001583, 0x0483a875, 0x00006110,
+ 0x0c017c14, 0x0000e00e, 0x04a0a7e4, 0x00009808, 0x84800a12, 0x00009188,
+ 0x04818a12, 0x00009208, 0x0483a812, 0x00009008, 0x0520a012, 0x00001708,
+ 0x85001a14, 0x00001888, 0x0483aa14, 0x00001008, 0xffffffff, 0x00007f86,
+ 0x00009031, 0x00009502, 0x0b83a875, 0x00009930, 0x00000b8d, 0x0000f019,
+ 0x0000902a, 0x00009502, 0x0ac00000, 0x000061b0, 0x8b21642c, 0x00004931,
+ 0x00000b8b, 0x0000f031, 0x8000222c, 0x00009582, 0x8b219c33, 0x00006131,
+ 0x0507e433, 0x0000c299, 0x8b07e433, 0x00006299, 0x0160a42c, 0x00008119,
+ 0x00000b7d, 0x00007030, 0x84c00800, 0x000001d2, 0x05801c33, 0x00001281,
+ 0x00000405, 0x00006583, 0x02000000, 0x00008981, 0x04c00c13, 0x0000e481,
+ 0x02000800, 0x00008991, 0xffffffff, 0x00007f86, 0x02204413, 0x00009203,
+ 0x82280500, 0x00006110, 0x04c0262c, 0x0000c890, 0x02400000, 0x00007910,
+ 0x000010c4, 0x00008980, 0x00000b8b, 0x0000f008, 0x02814013, 0x00006002,
+ 0x04c08405, 0x00008c81, 0x04400029, 0x00001084, 0x01609c05, 0x0000e101,
+ 0x82c02413, 0x00008880, 0x82c02d00, 0x0000e080, 0x00105809, 0x0000e106,
+ 0x02c0500a, 0x00006100, 0xc218020b, 0x0000c080, 0x703848ec, 0x0000d600,
+ 0x00384000, 0x00000000, 0x02400000, 0x0000f900, 0x00007fc0, 0x00000980,
+ 0x82402413, 0x0000e080, 0x02300006, 0x0000c980, 0x703858ec, 0x00005600,
+ 0x00388800, 0x00008000, 0x04181008, 0x0000e987, 0x703848ec, 0x0000d600,
+ 0x00384000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1096c80b, 0x00001684,
+ 0x00000414, 0x00009583, 0x0260b416, 0x0000e111, 0x04e0b413, 0x0000c111,
+ 0x8b219c33, 0x0000e111, 0x02400000, 0x00004989, 0xffffffff, 0x00007f86,
+ 0x04e04c13, 0x00001001, 0x00209c09, 0x00001503, 0x00000b7b, 0x0000f00b,
+ 0x02000c09, 0x00006080, 0x85002d00, 0x00004880, 0x85104214, 0x00006000,
+ 0x02d0a214, 0x00008900, 0x30385214, 0x00002080, 0xffffffff, 0x00007fa7,
+ 0x05005017, 0x00009000, 0x0000a012, 0x00001502, 0x8b000e2c, 0x0000e0a1,
+ 0x02400c09, 0x000080a1, 0x05c05017, 0x00001020, 0x00000b48, 0x00007028,
+ 0xdee09c09, 0x0000f80a, 0x10400000, 0x00000587, 0x03c3a875, 0x00009900,
+ 0x0003a82e, 0x00007808, 0x00000000, 0x00000000, 0xbdc0002a, 0x0000788a,
+ 0x00400001, 0x00000060, 0x06802771, 0x00007897, 0x60400000, 0x0000818f,
+ 0x0b83a875, 0x0000e100, 0x0487862f, 0x0000c281, 0x00010412, 0x00001583,
+ 0x0c017c14, 0x0000680e, 0x04e0a7e4, 0x00001808, 0x00000b03, 0x0000f010,
+ 0x84800a13, 0x00009180, 0x04c18a12, 0x00009200, 0x0483a813, 0x00009000,
+ 0x0520a012, 0x00009700, 0x84c01a14, 0x00001880, 0x03c3aa13, 0x00001000,
+ 0x0000782a, 0x00006502, 0x04818831, 0x00000900, 0x0ac00000, 0x000061b0,
+ 0x8b21642c, 0x00004931, 0x00000b76, 0x00007031, 0x8000222c, 0x00009582,
+ 0x8b219c33, 0x00006131, 0x0507e433, 0x0000c299, 0x8b07e433, 0x00006299,
+ 0x0160a42c, 0x00008119, 0x00000b68, 0x0000f030, 0x84c00800, 0x000001d2,
+ 0x03801c33, 0x00001281, 0x00000405, 0x00006583, 0x02000000, 0x00008981,
+ 0x04c00c13, 0x0000e481, 0x02000800, 0x00008991, 0xffffffff, 0x00007f86,
+ 0x02204413, 0x00009203, 0x82280500, 0x00006110, 0x04c0262c, 0x0000c890,
+ 0x02400000, 0x00007910, 0x000010c4, 0x00008980, 0x00000b76, 0x00007008,
+ 0x02814013, 0x00006002, 0x04c08405, 0x00008c81, 0x03400029, 0x00009084,
+ 0x01609c05, 0x0000e101, 0x82c02413, 0x00008880, 0x82c02d00, 0x0000e080,
+ 0x00105809, 0x0000e106, 0x02c0500a, 0x00006100, 0xc218020b, 0x0000c080,
+ 0x703848ec, 0x0000d600, 0x00384000, 0x00000000, 0x02400000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0x82402413, 0x0000e080, 0x02300006, 0x0000c980,
+ 0x703858ec, 0x00005600, 0x00386800, 0x00000000, 0x04181008, 0x0000e987,
+ 0x703848ec, 0x0000d600, 0x00384000, 0x00000000, 0x00c002ec, 0x0000df80,
+ 0x1099880b, 0x00009684, 0x00000414, 0x00009583, 0x0260740e, 0x0000e111,
+ 0x04e07413, 0x0000c111, 0x8b219c33, 0x0000e111, 0x02400000, 0x00004989,
+ 0xffffffff, 0x00007f86, 0x04e04c13, 0x00001001, 0x00209c09, 0x00001503,
+ 0x00000b66, 0x0000f00b, 0x02000c09, 0x00006080, 0x85002d00, 0x00004880,
+ 0x85104214, 0x00006000, 0x02d0a214, 0x00008900, 0x30385214, 0x00002080,
+ 0xffffffff, 0x00007fa7, 0x05005012, 0x00009000, 0x0000a00f, 0x00001502,
+ 0x8b000e2c, 0x0000e0a1, 0x02400c09, 0x000080a1, 0x04805012, 0x00001020,
+ 0x00000b57, 0x0000f028, 0xd9a09c09, 0x0000f80a, 0xd0400000, 0x00008589,
+ 0x0ac0b812, 0x0000e100, 0x04c7e409, 0x00008281, 0x05000c13, 0x00001880,
+ 0x84d0a20b, 0x00001000, 0x3038c013, 0x0000b038, 0x3038d213, 0x0000b038,
+ 0x3038e413, 0x0000b038, 0x3038f613, 0x0000b038, 0x30790013, 0x0000b038,
+ 0x30791213, 0x0000b038, 0x30792413, 0x0000b038, 0x30793613, 0x0000b038,
+ 0x04c00800, 0x00009981, 0x00000ab8, 0x00007200, 0x05000000, 0x00009981,
+ 0x0ac0900f, 0x0000e100, 0x04c7e409, 0x00008281, 0x05000c13, 0x00001880,
+ 0x84d0a20b, 0x00001000, 0x3038c013, 0x0000b038, 0x3038d213, 0x0000b038,
+ 0x3038e413, 0x0000b038, 0x3038f613, 0x0000b038, 0x30790013, 0x0000b038,
+ 0x30791213, 0x0000b038, 0x30792413, 0x0000b038, 0x30793613, 0x0000b038,
+ 0x04c00800, 0x00009981, 0x00000b10, 0x00007200, 0x05000000, 0x00009981,
+ 0x00000b64, 0x00007200, 0x04c00000, 0x00001981, 0x84f1662c, 0x00009900,
+ 0x80116213, 0x00009502, 0x0500162c, 0x000018a9, 0x7840d414, 0x000010a9,
+ 0x00000b76, 0x00007020, 0xffffffff, 0x0000ffb7, 0x04c00a00, 0x0000f904,
+ 0x05009013, 0x00001000, 0x0000a00f, 0x00001502, 0x04809013, 0x00006020,
+ 0x8b000e2c, 0x000080a1, 0x00000b75, 0x00007029, 0x00000b68, 0x0000f000,
+ 0x0ac0900f, 0x00001100, 0x01401470, 0x00001283, 0x0cf1662c, 0x0000e111,
+ 0x0c41580f, 0x00004110, 0x06802771, 0x00007897, 0x60400000, 0x0000818f,
+ 0x00000b55, 0x0000f200, 0x04c00000, 0x00001981, 0x84f1662c, 0x00009900,
+ 0x80116213, 0x00009502, 0x0500162c, 0x000018a9, 0x7840d414, 0x000010a9,
+ 0x00000b8b, 0x0000f020, 0xffffffff, 0x0000ffb7, 0x04c00a00, 0x0000f904,
+ 0x0500b813, 0x00001000, 0x0000a012, 0x00001502, 0x05c0b813, 0x00006020,
+ 0x8b000e2c, 0x000080a1, 0x00000b8a, 0x00007029, 0x00000b7d, 0x00007000,
+ 0x0ac0b812, 0x00001100, 0x0c415812, 0x00006100, 0x0cf1662c, 0x00008901,
+ 0xc1c02771, 0x0000e283, 0x81400000, 0x00008981, 0x00000c76, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00000bbc, 0x00007010, 0x00000b9f, 0x0000f008,
+ 0x04800000, 0x0000f900, 0x001f8000, 0x00008980, 0x05402800, 0x00006181,
+ 0x00000012, 0x0000e586, 0x04c3c470, 0x00006281, 0x04302812, 0x00002101,
+ 0x203896ec, 0x0000d600, 0x003bb800, 0x00008000, 0x4743c413, 0x0000f893,
+ 0x00000001, 0x00008000, 0x47400370, 0x0000788b, 0x20000000, 0x0000058f,
+ 0x0ba00108, 0x0000f100, 0x0ba3012e, 0x0000f500, 0x0000000a, 0x0000ed82,
+ 0x82800000, 0x00001981, 0x04800000, 0x0000f900, 0x001f8000, 0x00008980,
+ 0x000810ec, 0x0000d780, 0x00d075c0, 0x000082c0, 0x00000012, 0x0000e586,
+ 0xd000305d, 0x00003404, 0x0000f0ec, 0x0000d780, 0x00007001, 0x00008080,
+ 0x18000000, 0x00006180, 0x04302812, 0x0000e101, 0x203896ec, 0x0000d600,
+ 0x003bb800, 0x00008000, 0x18400000, 0x000006c8, 0x18c00000, 0x000086d0,
+ 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x1a400000, 0x000006e8,
+ 0x1ac00000, 0x000086f0, 0x1b800004, 0x000006fc, 0x1b402f77, 0x00008196,
+ 0x04c3c470, 0x00009281, 0x4743c413, 0x0000f893, 0x00000001, 0x00008000,
+ 0x47400370, 0x0000788b, 0x20000000, 0x0000058f, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x02943800, 0x00007900, 0x00266d16, 0x00000980,
+ 0x02f67000, 0x0000f900, 0x000a7fc8, 0x00008980, 0x01800000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x01400000, 0x000080f4, 0x0bc91ff4, 0x00007500,
+ 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900,
+ 0x04800000, 0x0000f900, 0x001f8000, 0x00008980, 0x05402800, 0x00006181,
+ 0x00183812, 0x0000e186, 0x04c3c470, 0x00006281, 0x04302812, 0x00002101,
+ 0x203896ec, 0x0000d600, 0x003bb800, 0x00008000, 0x4743c413, 0x0000f893,
+ 0x00000001, 0x00008000, 0x47400370, 0x0000788b, 0x20000000, 0x0000058f,
+ 0x0d034068, 0x00006100, 0x80000808, 0x0000e485, 0x000868ec, 0x0000d780,
+ 0x00007000, 0x00000080, 0x1a080000, 0x00006180, 0x82682d05, 0x00004900,
+ 0x000810ec, 0x0000d780, 0x00007000, 0x00000080, 0x0d7b5769, 0x00000318,
+ 0x000004fb, 0x00007400, 0x0dc3586b, 0x00006100, 0x82000e08, 0x0000c081,
+ 0xda007d05, 0x00001180, 0xc0000370, 0x00001582, 0x0000051d, 0x0000700b,
+ 0x0140446e, 0x0000e283, 0x22c00000, 0x00008980, 0x23400000, 0x00006180,
+ 0x0000188b, 0x0000e106, 0x23800000, 0x00006180, 0xc000188b, 0x00006006,
+ 0x22001000, 0x00007900, 0x00014000, 0x00008980, 0x22782000, 0x00007900,
+ 0x00044050, 0x00008980, 0xa2901202, 0x0000e100, 0x2000088d, 0x0000e412,
+ 0x22801502, 0x000088b0, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
+ 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
+ 0x26400000, 0x000009e8, 0x00000c14, 0x0000f410, 0x26c00000, 0x0000e180,
+ 0x04c01f71, 0x0000c291, 0x04c01f71, 0x00006289, 0xe39b636c, 0x00008910,
+ 0xffffffff, 0x00007f86, 0x00001413, 0x00009583, 0xe39b636c, 0x00006110,
+ 0x2000088d, 0x0000e412, 0x00000c14, 0x0000f009, 0x01400c6e, 0x00001283,
+ 0x049b636c, 0x00006108, 0x04a0836c, 0x00004010, 0xffffffff, 0x00007f86,
+ 0x0140146e, 0x0000e283, 0x04818012, 0x00000090, 0x051b62ec, 0x00009110,
+ 0x05001814, 0x00001290, 0x0500a510, 0x00009010, 0x0513ea7d, 0x0000e100,
+ 0x0480a012, 0x00004010, 0xffffffff, 0x00007f86, 0x00009014, 0x00001502,
+ 0x2613e812, 0x0000e130, 0xa000108d, 0x00002432, 0x00000c27, 0x00007019,
+ 0xc1c01f71, 0x00009283, 0x2653e812, 0x0000e108, 0x4000108e, 0x0000240a,
+ 0x000910ec, 0x00005780, 0x00005801, 0x00008080, 0x48000505, 0x0000788b,
+ 0x00000001, 0x00008000, 0x6dc01413, 0x0000788b, 0x20000000, 0x00008289,
+ 0x0c1b0216, 0x00007004, 0x04800000, 0x0000f900, 0x001f8000, 0x00008980,
+ 0x05402800, 0x00006181, 0x00000012, 0x0000e586, 0x04c3c470, 0x00006281,
+ 0x04202812, 0x0000a101, 0x203896ec, 0x0000d600, 0x003bb800, 0x00008000,
+ 0x4743c413, 0x0000f893, 0x00000001, 0x00008000, 0x47400370, 0x0000788b,
+ 0x20000000, 0x0000058f, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x02aef000, 0x0000f900, 0x00266d12, 0x00008980, 0x02cbe000, 0x00007900,
+ 0x0029046c, 0x00008980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x01400000, 0x000080f4, 0x0c341ff4, 0x00007500, 0x82200500, 0x00008022,
+ 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x0ac0900c, 0x0000e100,
+ 0x04c7e40b, 0x00000281, 0x05000c13, 0x00001880, 0x84d0a20a, 0x00009000,
+ 0x3038c013, 0x0000b038, 0x3038d213, 0x0000b038, 0x3038e413, 0x0000b038,
+ 0x3038f613, 0x0000b038, 0x30790013, 0x0000b038, 0x30791213, 0x0000b038,
+ 0x30792413, 0x0000b038, 0x30793613, 0x0000b038, 0x04c00800, 0x00009981,
+ 0x00000626, 0x0000f200, 0x05000000, 0x00009981, 0x00000c41, 0x00007200,
+ 0x04c00000, 0x00001981, 0x84f1662c, 0x00009900, 0x80116213, 0x00009502,
+ 0x0500162c, 0x000018a9, 0x7840d414, 0x000010a9, 0x00000c53, 0x00007020,
+ 0xffffffff, 0x0000ffb7, 0x04c00a00, 0x0000f904, 0x05009013, 0x00001000,
+ 0x0000a00c, 0x00001502, 0x04809013, 0x00006020, 0x8b000e2c, 0x000080a1,
+ 0x00000c52, 0x0000f029, 0x00000c45, 0x00007000, 0x0ac0900c, 0x00001100,
+ 0x01401470, 0x00001283, 0x0cf1662c, 0x0000e111, 0x0c41580c, 0x00004110,
+ 0x06802771, 0x00007897, 0x00400000, 0x00000383, 0x2c10b209, 0x00009600,
+ 0x044588b0, 0x00001000, 0x85108a14, 0x00006100, 0x05410013, 0x00008180,
+ 0x84801a74, 0x00006280, 0x0450a214, 0x00000900, 0x0000a811, 0x00009502,
+ 0x00000c8b, 0x00007043, 0x80000212, 0x00009582, 0x1662dc5b, 0x0000e109,
+ 0x85d3a274, 0x0000c908, 0x85109212, 0x00009910, 0x000004d5, 0x00007008,
+ 0x0000002b, 0x00006582, 0x0483fc05, 0x00008281, 0x01400c12, 0x0000e181,
+ 0x05c7e62c, 0x00000281, 0x82401800, 0x000081ce, 0x8490a214, 0x00006100,
+ 0x8b000e2c, 0x0000c189, 0x16801405, 0x00001881, 0x0547e62c, 0x0000e281,
+ 0x7841a45a, 0x00008081, 0x0020ac17, 0x00001503, 0x05401413, 0x00009891,
+ 0x3840c415, 0x00001091, 0xffffffff, 0x00007f97, 0x1c820b00, 0x00007904,
+ 0x00000c7d, 0x0000f408, 0x16020b00, 0x0000f904, 0x0442c058, 0x00009900,
+ 0x10039500, 0x0000f904, 0x00000413, 0x0000e583, 0x16172858, 0x00008200,
+ 0x1002c500, 0x00007904, 0x04c01800, 0x0000e189, 0x04c00c13, 0x0000c191,
+ 0x8ad2c212, 0x00009c00, 0xffffffff, 0x00007f86, 0x84915a12, 0x00006100,
+ 0x05515858, 0x00000100, 0x80000215, 0x0000e582, 0x0ad72815, 0x00000200,
+ 0x02400c09, 0x00001089, 0x0000093b, 0x00007011, 0x80000212, 0x00009582,
+ 0x8b000e2c, 0x00006191, 0x01400c05, 0x00000191, 0x16801405, 0x00009891,
+ 0x0000093d, 0x0000f008, 0x00000c6d, 0x00007000, 0x84d09a14, 0x00009100,
+ 0x85012213, 0x00001082, 0x00000c60, 0x0000700b, 0x00000c65, 0x0000f000,
+ 0x00000c60, 0x00007200, 0x84801a74, 0x00009280, 0x0141ff60, 0x00009281,
+ 0x00001c05, 0x00009583, 0x76038860, 0x00006811, 0x00000caf, 0x0000f009,
+ 0x00002405, 0x00001583, 0x584b8971, 0x00006108, 0x0a830413, 0x00006008,
+ 0x04e09ce5, 0x00006409, 0x19c39072, 0x00000908, 0x00000ca5, 0x0000f208,
+ 0x584b8971, 0x00006110, 0x75e09860, 0x0000e009, 0x00000405, 0x00006583,
+ 0x19c39072, 0x00008900, 0x0141ff60, 0x00006281, 0x84c01a13, 0x00000088,
+ 0x0dc09613, 0x0000200e, 0xffffffff, 0x00007fa7, 0x84800a12, 0x00001088,
+ 0x0dc89613, 0x0000280e, 0xc0000761, 0x00001583, 0x00000a35, 0x0000700b,
+ 0x04fb0aec, 0x00006100, 0x04806761, 0x00000180, 0x417b0f61, 0x0000e101,
+ 0x04c01813, 0x0000c280, 0x04809812, 0x00001000, 0x00000a35, 0x00007400,
+ 0x04c01012, 0x00009780, 0xd8609c13, 0x00009901, 0x19f38f72, 0x00008604,
+ 0x8d400761, 0x0000788a, 0x38400000, 0x00008685, 0x0dc04e13, 0x00007902,
+ 0x02000000, 0x00000004, 0x18400000, 0x0000e180, 0x00000060, 0x0000e586,
+ 0x19800000, 0x00006180, 0x00280060, 0x0000e585, 0x19c39072, 0x00006100,
+ 0x76038860, 0x00006001, 0x02400809, 0x0000e082, 0x1a000000, 0x00000980,
+ 0x02000008, 0x00006084, 0x1a517a2f, 0x00000900, 0xc1c20771, 0x0000e283,
+ 0x1a81702e, 0x00000900, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000,
+ 0x1ac00000, 0x0000e180, 0x584b8971, 0x0000c900, 0x00000a35, 0x00007400,
+ 0x0141ff60, 0x00006281, 0x8bc00a2f, 0x00000080, 0x194728e5, 0x00006108,
+ 0x1940b016, 0x00004910, 0x0a030405, 0x00006882, 0x00012405, 0x00009583,
+ 0x00012405, 0x00009583, 0x00018c05, 0x00001583, 0x00000d44, 0x0000f008,
+ 0x00000d37, 0x0000f050, 0x00000d27, 0x0000f008, 0x00018c05, 0x00001583,
+ 0x00012c05, 0x00001583, 0xffffffff, 0x00007f86, 0x00000d21, 0x0000f038,
+ 0x00000cf6, 0x00007010, 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004,
+ 0x584b8971, 0x0000e100, 0x76038860, 0x00006001, 0x194728e5, 0x0000e100,
+ 0x02438060, 0x00006001, 0x1a434a2f, 0x00006000, 0x1a83502e, 0x00000000,
+ 0x02400809, 0x0000e082, 0x8bc00a2f, 0x00000080, 0x01440470, 0x0000e283,
+ 0x02000008, 0x00000084, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000,
+ 0x04c39072, 0x0000e110, 0x04c00000, 0x00004988, 0x00000a35, 0x00007400,
+ 0x0141ff60, 0x00009281, 0x19809813, 0x00009900, 0x01440470, 0x0000e283,
+ 0x80000060, 0x00002500, 0x04c39072, 0x0000e110, 0x70000060, 0x0000e401,
+ 0x04c00000, 0x00006188, 0xf0000060, 0x00006401, 0x584b8971, 0x0000e100,
+ 0x02438060, 0x00006001, 0x19439873, 0x0000e100, 0x76038860, 0x00006001,
+ 0x00000a6d, 0x0000f400, 0x1a5ba374, 0x0000e100, 0x1a835075, 0x00004000,
+ 0x19809813, 0x00009900, 0x00013405, 0x00001583, 0x000009bf, 0x0000f013,
+ 0x76038860, 0x0000e801, 0x00000a35, 0x00007400, 0x187b9671, 0x00000618,
+ 0x0141ff60, 0x00009281, 0x00000c74, 0x0000e583, 0x76038860, 0x0000a001,
+ 0x00000a6d, 0x0000f400, 0x187b9671, 0x0000861c, 0xd86ba574, 0x0000e101,
+ 0x417b0f61, 0x00004909, 0x00000a6d, 0x0000f400, 0x584b8971, 0x0000e100,
+ 0x76038860, 0x00006001, 0x19839072, 0x00009900, 0x00011474, 0x00009583,
+ 0x19839072, 0x0000e118, 0x584b8971, 0x0000c918, 0x00000a6d, 0x0000f019,
+ 0x00010c74, 0x00009583, 0x00002c74, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x00000d02, 0x00007020, 0x00000cfc, 0x00007010, 0x18400000, 0x0000e180,
+ 0x00000060, 0x0000e784, 0x19439873, 0x0000e100, 0x8623a060, 0x0000e083,
+ 0x19800000, 0x00006180, 0x76038860, 0x00006001, 0x19c00772, 0x000006a0,
+ 0x00000a6d, 0x0000f400, 0x9a7baf74, 0x00000628, 0x18400671, 0x000086ac,
+ 0x58400000, 0x00006180, 0x00000060, 0x0000e586, 0x1a835075, 0x0000e000,
+ 0x00040060, 0x0000a487, 0x00000a6d, 0x0000f400, 0x19839072, 0x0000e100,
+ 0xf0000060, 0x00006401, 0x1afba773, 0x00008626, 0x00019405, 0x00001583,
+ 0x0001fc05, 0x00009583, 0xffffffff, 0x00007f86, 0x00000cf8, 0x0000f008,
+ 0x00000cf8, 0x0000f008, 0x000009bf, 0x00007000, 0x84c00a13, 0x00006080,
+ 0x0483502e, 0x00000000, 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004,
+ 0x19839072, 0x0000e100, 0x70000860, 0x00006401, 0x1a434a2f, 0x00006000,
+ 0x1a83502e, 0x00000000, 0x0141ff60, 0x00009281, 0x02400809, 0x00001082,
+ 0x02000008, 0x00009084, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000,
+ 0x00000a35, 0x00007400, 0x04c0906b, 0x00001100, 0x1ac08813, 0x00009c00,
+ 0x00011405, 0x00009583, 0x00010c05, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x00000cf9, 0x00007038, 0x00000cf8, 0x0000f040, 0x00010405, 0x00001583,
+ 0x84c01a13, 0x00009088, 0x0de09613, 0x0000200c, 0xffffffff, 0x00007f86,
+ 0x00000cf8, 0x0000740b, 0x84800a12, 0x00001088, 0x0de09613, 0x0000a80c,
+ 0x000009bf, 0x00007000, 0x0a830412, 0x0000e800, 0x00000cf9, 0x00007400,
+ 0x04e094e5, 0x00009401, 0x75e09860, 0x0000e801, 0xc1c20771, 0x0000e283,
+ 0x9243000b, 0x0000a001, 0x00000a43, 0x0000f400, 0x03033066, 0x0000e100,
+ 0x8000080b, 0x00006411, 0x0343586b, 0x00009910, 0x0141ff60, 0x00009281,
+ 0x00001c05, 0x00009583, 0x76038860, 0x00006811, 0x00000d6c, 0x00007009,
+ 0x00002405, 0x00001583, 0x584b8971, 0x00006108, 0x0a830413, 0x00006008,
+ 0x04e09ce5, 0x00006409, 0x19c39072, 0x00000908, 0x00000d62, 0x0000f208,
+ 0x584b8971, 0x00006110, 0x75e09860, 0x0000e009, 0x00000405, 0x00006583,
+ 0x19c39072, 0x00008900, 0x0141ff60, 0x00006281, 0x84c01a13, 0x00000088,
+ 0x0dc09613, 0x0000200e, 0xffffffff, 0x00007fa7, 0x84800a12, 0x00001088,
+ 0x0dc89613, 0x0000280e, 0xc0000761, 0x00001583, 0x0000081e, 0x0000f00b,
+ 0x04fb0aec, 0x00006100, 0x04806761, 0x00000180, 0x417b0f61, 0x0000e101,
+ 0x04c01813, 0x0000c280, 0x04809812, 0x00001000, 0x0000081e, 0x0000f400,
+ 0x04c01012, 0x00009780, 0xd8609c13, 0x00009901, 0x19f38f72, 0x00008604,
+ 0x07800761, 0x0000f88a, 0x20400000, 0x0000068b, 0x0dc04e13, 0x00007902,
+ 0x02000000, 0x00000004, 0x18400000, 0x0000e180, 0x00000060, 0x0000e586,
+ 0x19800000, 0x00006180, 0x00280060, 0x0000e585, 0x19c39072, 0x00006100,
+ 0x76038860, 0x00006001, 0x02400809, 0x0000e082, 0x1a000000, 0x00000980,
+ 0x02000008, 0x00006084, 0x1a517a2f, 0x00000900, 0xc1c20771, 0x0000e283,
+ 0x1a81702e, 0x00000900, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000,
+ 0x1ac00000, 0x0000e180, 0x584b8971, 0x0000c900, 0x0000081e, 0x0000f400,
+ 0x0141ff60, 0x00006281, 0x8bc00a2f, 0x00000080, 0x194728e5, 0x00006108,
+ 0x1940b016, 0x00004910, 0x0a030405, 0x00006882, 0x00012405, 0x00009583,
+ 0x00012405, 0x00009583, 0x00018c05, 0x00001583, 0x00000dfa, 0x0000f008,
+ 0x00000ded, 0x00007050, 0x00000ddd, 0x0000f008, 0x00018c05, 0x00001583,
+ 0x00012c05, 0x00001583, 0xffffffff, 0x00007f86, 0x000009ba, 0x0000f038,
+ 0x00000db1, 0x0000f010, 0x0df84613, 0x0000303c, 0x584b8971, 0x0000e100,
+ 0x76038860, 0x00006001, 0x194728e5, 0x0000e100, 0x02438060, 0x00006001,
+ 0x1a434a2f, 0x00006000, 0x1a83502e, 0x00000000, 0x02000808, 0x0000e082,
+ 0x8bc00a2f, 0x00000080, 0x01440470, 0x0000e283, 0x02400009, 0x00000084,
+ 0x0df84613, 0x0000b83c, 0x04c39072, 0x0000e110, 0x04c00000, 0x00004988,
+ 0x0000081e, 0x0000f400, 0x0141ff60, 0x00009281, 0x19809813, 0x00009900,
+ 0x01440470, 0x0000e283, 0x80000060, 0x00002500, 0x04c39072, 0x0000e110,
+ 0x70000060, 0x0000e401, 0x04c00000, 0x00006188, 0xf0000060, 0x00006401,
+ 0x584b8971, 0x0000e100, 0x02438060, 0x00006001, 0x19439873, 0x0000e100,
+ 0x76038860, 0x00006001, 0x00000856, 0x0000f400, 0x1a5ba374, 0x0000e100,
+ 0x1a835075, 0x00004000, 0x19809813, 0x00009900, 0x00013405, 0x00001583,
+ 0x000009bf, 0x0000f013, 0x0000081e, 0x0000f400, 0x584b8971, 0x0000e100,
+ 0x76038860, 0x00006001, 0x0141ff60, 0x00006281, 0x19839072, 0x00000900,
+ 0x00000c74, 0x0000e583, 0x76038860, 0x0000a001, 0x00000856, 0x0000f400,
+ 0x187b9671, 0x0000861c, 0xd86ba574, 0x0000e101, 0x417b0f61, 0x00004909,
+ 0x00000856, 0x0000f400, 0x584b8971, 0x0000e100, 0x76038860, 0x00006001,
+ 0x19839072, 0x00009900, 0x00011474, 0x00009583, 0x19839072, 0x0000e118,
+ 0x584b8971, 0x0000c918, 0x00000856, 0x0000f019, 0x00010c74, 0x00009583,
+ 0x00002c74, 0x00009583, 0xffffffff, 0x00007f86, 0x00000dbe, 0x0000f020,
+ 0x00000db8, 0x0000f010, 0x18400000, 0x0000e180, 0x00000060, 0x0000e784,
+ 0x19439873, 0x0000e100, 0x8623a060, 0x0000e083, 0x19800000, 0x00006180,
+ 0x76038860, 0x00006001, 0x19c00772, 0x000006a0, 0x00000856, 0x0000f400,
+ 0x9a7baf74, 0x00000628, 0x18400671, 0x000086ac, 0x58400000, 0x00006180,
+ 0x00000060, 0x0000e586, 0x1a835075, 0x0000e000, 0x00040060, 0x0000a487,
+ 0x00000856, 0x0000f400, 0x19839072, 0x0000e100, 0xf0000060, 0x00006401,
+ 0x1afba773, 0x00008626, 0x84c00a13, 0x00006080, 0x0483502e, 0x00000000,
+ 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004, 0x19839072, 0x0000e100,
+ 0x70000860, 0x00006401, 0x1a434a2f, 0x00006000, 0x1a83502e, 0x00000000,
+ 0x0141ff60, 0x00009281, 0x02400809, 0x00001082, 0x02000008, 0x00009084,
+ 0x0df84e13, 0x00005004, 0x00384000, 0x00000000, 0x0000081e, 0x0000f400,
+ 0x04c0906b, 0x00001100, 0x1ac08813, 0x00009c00, 0x00011405, 0x00009583,
+ 0x00010c05, 0x00009583, 0xffffffff, 0x00007f86, 0x00000dfd, 0x00007038,
+ 0x00000db3, 0x00007040, 0x00010405, 0x00001583, 0x84c01a13, 0x00009088,
+ 0x0de09613, 0x0000200c, 0xffffffff, 0x00007f86, 0x00000db3, 0x0000f40b,
+ 0x84800a12, 0x00001088, 0x0de09613, 0x0000a80c, 0x000009bf, 0x00007000,
+ 0x0a830412, 0x0000e800, 0x04e094e5, 0x00009401, 0x75e09860, 0x0000e801,
+ 0x0000081e, 0x0000f400, 0x187b9671, 0x00000618, 0x0141ff60, 0x00009281,
+ 0x05c00e2c, 0x00006081, 0x0ac00000, 0x00008980, 0x85a0bc17, 0x0000e100,
+ 0x04800c12, 0x0000c081, 0x80116216, 0x00006502, 0x8b000e2c, 0x00000081,
+ 0x00002412, 0x00001583, 0x80116216, 0x00009502, 0x000005fa, 0x0000f018,
+ 0x0000087e, 0x0000f010, 0x0000087e, 0x0000f020, 0x15000180, 0x0000e180,
+ 0x84a0ba2c, 0x00004100, 0x80002212, 0x0000e582, 0x95280500, 0x00000900,
+ 0x04a0bc2c, 0x0000e131, 0x04802000, 0x00008999, 0x15400000, 0x0000f900,
+ 0x000014c4, 0x00000980, 0x05c02417, 0x0000e080, 0x04802412, 0x00004881,
+ 0x75e80054, 0x00006101, 0x00209055, 0x00003106, 0x05c14017, 0x00001002,
+ 0x703aa8ec, 0x0000d600, 0x003aa000, 0x00000000, 0x15400000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0x05800029, 0x00006084, 0x15300006, 0x00000980,
+ 0x7038b8ec, 0x0000d600, 0x0038b000, 0x00000000, 0x95609412, 0x00006100,
+ 0x04181054, 0x00006187, 0x703aa8ec, 0x0000d600, 0x003aa000, 0x00000000,
+ 0x00c002ec, 0x0000df80, 0x10d1300b, 0x00009684, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x1ec00ce0, 0x00001283, 0x03241c02, 0x0000f113,
- 0x1f833069, 0x0000e002, 0x20d86026, 0x00008980, 0x2003f07e, 0x00006100,
- 0x20400067, 0x00004084, 0x20bc0781, 0x00008738, 0x21804782, 0x00000884,
- 0x032d1c36, 0x00007500, 0x04181081, 0x00006987, 0x21440881, 0x00001900,
- 0x00c002ec, 0x0000df80, 0x1019780b, 0x00001684, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x01400ce0, 0x00001283, 0x0e392049, 0x00007113,
+ 0x0000087e, 0x0000f400, 0x04807413, 0x0000e081, 0xb8400003, 0x00000980,
+ 0x04800000, 0x0000e181, 0x38401412, 0x00004881, 0x80003a2c, 0x00006582,
+ 0x82304413, 0x00000001, 0x0a004412, 0x00006084, 0xb2e0886e, 0x0000b080,
+ 0x04e09413, 0x0000e001, 0x8250a214, 0x00008900, 0x0483fc13, 0x00006281,
+ 0x0b817370, 0x00008000, 0xdb1b8370, 0x0000e100, 0x86209008, 0x00006085,
+ 0x84806800, 0x00001980, 0x4483fc13, 0x0000e281, 0x04e1642c, 0x00000931,
+ 0x04c04000, 0x00009999, 0x003090ec, 0x0000d702, 0x00007000, 0x00000080,
+ 0x0a004412, 0x0000e884, 0x000007b3, 0x00007400, 0x001010ec, 0x0000d780,
+ 0x00007000, 0x00000080, 0x01609413, 0x00001101, 0x80000212, 0x00009582,
+ 0x000008b1, 0x0000f013, 0x3841a458, 0x0000e081, 0x82202e08, 0x00000101,
+ 0x9690a276, 0x0000e100, 0x05808811, 0x00008900, 0x0a004414, 0x0000e884,
+ 0x04e02c14, 0x00001101, 0x86209808, 0x00006885, 0x0000078d, 0x00007401,
+ 0x10039500, 0x0000f904, 0x1000b500, 0x00007904, 0x0141ff60, 0x00009281,
+ 0x00001c05, 0x00009583, 0x76038860, 0x00006811, 0x00000e7d, 0x00007009,
+ 0x00002405, 0x00001583, 0x584b8971, 0x00006108, 0x0a830413, 0x00006008,
+ 0x04e09ce5, 0x00006409, 0x19c39072, 0x00000908, 0x00000e73, 0x0000f208,
+ 0x584b8971, 0x00006110, 0x75e09860, 0x0000e009, 0x00000405, 0x00006583,
+ 0x19c39072, 0x00008900, 0x0141ff60, 0x00006281, 0x84c01a13, 0x00000088,
+ 0x0dc09613, 0x0000200e, 0xffffffff, 0x00007fa7, 0x84800a12, 0x00001088,
+ 0x0dc89613, 0x0000280e, 0xc0000761, 0x00001583, 0x000006a0, 0x0000700b,
+ 0x04fb0aec, 0x00006100, 0x04806761, 0x00000180, 0x417b0f61, 0x0000e101,
+ 0x04c01813, 0x0000c280, 0x04809812, 0x00001000, 0x000006a0, 0x00007400,
+ 0x04c01012, 0x00009780, 0xd8609c13, 0x00009901, 0x19f38f72, 0x00008604,
+ 0xa8000761, 0x0000f88b, 0xa8000000, 0x00008783, 0x0df84613, 0x0000303c,
+ 0x18400000, 0x0000e180, 0x00000060, 0x0000e586, 0x19800000, 0x00006180,
+ 0x00280060, 0x0000e585, 0x19c39072, 0x00006100, 0x76038860, 0x00006001,
+ 0x02000808, 0x0000e082, 0x1a000000, 0x00000980, 0x02400009, 0x00006084,
+ 0x1a517a2f, 0x00000900, 0xc1c20771, 0x0000e283, 0x1a81702e, 0x00000900,
+ 0x0df84613, 0x0000b83c, 0x1ac00000, 0x0000e180, 0x584b8971, 0x0000c900,
+ 0x000006a0, 0x00007400, 0x0141ff60, 0x00006281, 0x8bc00a2f, 0x00000080,
+ 0x194728e5, 0x00006108, 0x1940b016, 0x00004910, 0x0a030405, 0x00006882,
+ 0x00012405, 0x00009583, 0x00012405, 0x00009583, 0x00018c05, 0x00001583,
+ 0x00000f0e, 0x0000f008, 0x00000f01, 0x00007050, 0x00000ef1, 0x00007008,
+ 0x00018c05, 0x00001583, 0x00012c05, 0x00001583, 0xffffffff, 0x00007f86,
+ 0x00000eeb, 0x0000f038, 0x00000ec0, 0x0000f010, 0x0df84613, 0x0000303c,
+ 0x584b8971, 0x0000e100, 0x76038860, 0x00006001, 0x194728e5, 0x0000e100,
+ 0x02438060, 0x00006001, 0x1a434a2f, 0x00006000, 0x1a83502e, 0x00000000,
+ 0x02000808, 0x0000e082, 0x8bc00a2f, 0x00000080, 0x01440470, 0x0000e283,
+ 0x02400009, 0x00000084, 0x0df84613, 0x0000b83c, 0x04c39072, 0x0000e110,
+ 0x04c00000, 0x00004988, 0x000006a0, 0x00007400, 0x0141ff60, 0x00009281,
+ 0x19809813, 0x00009900, 0x01440470, 0x0000e283, 0x80000060, 0x00002500,
+ 0x04c39072, 0x0000e110, 0x70000060, 0x0000e401, 0x04c00000, 0x00006188,
+ 0xf0000060, 0x00006401, 0x584b8971, 0x0000e100, 0x02438060, 0x00006001,
+ 0x19439873, 0x0000e100, 0x76038860, 0x00006001, 0x000006d8, 0x00007400,
+ 0x1a5ba374, 0x0000e100, 0x1a835075, 0x00004000, 0x19809813, 0x00009900,
+ 0x00013405, 0x00001583, 0x000009bf, 0x0000f013, 0x76038860, 0x0000e801,
+ 0x000006a0, 0x00007400, 0x187b9671, 0x00000618, 0x0141ff60, 0x00009281,
+ 0x00000c74, 0x0000e583, 0x76038860, 0x0000a001, 0x000006d8, 0x00007400,
+ 0x187b9671, 0x0000861c, 0xd86ba574, 0x0000e101, 0x417b0f61, 0x00004909,
+ 0x000006d8, 0x00007400, 0x584b8971, 0x0000e100, 0x76038860, 0x00006001,
+ 0x19839072, 0x00009900, 0x00011474, 0x00009583, 0x19839072, 0x0000e118,
+ 0x584b8971, 0x0000c918, 0x000006d8, 0x00007019, 0x00010c74, 0x00009583,
+ 0x00002c74, 0x00009583, 0xffffffff, 0x00007f86, 0x00000ecc, 0x0000f020,
+ 0x00000ec6, 0x0000f010, 0x18400000, 0x0000e180, 0x00000060, 0x0000e784,
+ 0x19439873, 0x0000e100, 0x8623a060, 0x0000e083, 0x19800000, 0x00006180,
+ 0x76038860, 0x00006001, 0x19c00772, 0x000006a0, 0x000006d8, 0x00007400,
+ 0x9a7baf74, 0x00000628, 0x18400671, 0x000086ac, 0x58400000, 0x00006180,
+ 0x00000060, 0x0000e586, 0x1a835075, 0x0000e000, 0x00040060, 0x0000a487,
+ 0x000006d8, 0x00007400, 0x19839072, 0x0000e100, 0xf0000060, 0x00006401,
+ 0x1afba773, 0x00008626, 0x00019405, 0x00001583, 0x0001fc05, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00000ec2, 0x00007008, 0x00000ec2, 0x00007008,
+ 0x000009bf, 0x00007000, 0x84c00a13, 0x00006080, 0x0483502e, 0x00000000,
+ 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004, 0x19839072, 0x0000e100,
+ 0x70000860, 0x00006401, 0x1a434a2f, 0x00006000, 0x1a83502e, 0x00000000,
+ 0x0141ff60, 0x00009281, 0x02400809, 0x00001082, 0x02000008, 0x00009084,
+ 0x0df84e13, 0x00005004, 0x00384000, 0x00000000, 0x000006a0, 0x00007400,
+ 0x04c0906b, 0x00001100, 0x1ac08813, 0x00009c00, 0x00011405, 0x00009583,
+ 0x00010c05, 0x00009583, 0xffffffff, 0x00007f86, 0x00000ec3, 0x0000f038,
+ 0x00000ec2, 0x00007040, 0x00010405, 0x00001583, 0x84c01a13, 0x00009088,
+ 0x0de09613, 0x0000200c, 0xffffffff, 0x00007f86, 0x00000ec2, 0x0000f40b,
+ 0x84800a12, 0x00001088, 0x0de09613, 0x0000a80c, 0x000009bf, 0x00007000,
+ 0x0a830412, 0x0000e800, 0x00000ec3, 0x0000f400, 0x04e094e5, 0x00009401,
+ 0x75e09860, 0x0000e801, 0x0507862f, 0x00006281, 0x03019032, 0x00000900,
+ 0x00010414, 0x0000e583, 0x0b819032, 0x00000900, 0x0c017c14, 0x0000680e,
+ 0x0520a032, 0x00009708, 0x85001a14, 0x00001888, 0x03019214, 0x00001008,
+ 0xffffffff, 0x00007f86, 0x0001500c, 0x00006502, 0x0481800c, 0x00008100,
+ 0x0ac00000, 0x0000e1a0, 0x8b21642c, 0x0000c921, 0x0000065e, 0x00007021,
+ 0x8000222c, 0x00009582, 0x8b299d33, 0x00006131, 0x0507e533, 0x00004299,
+ 0x8b07e533, 0x0000e299, 0x0160a42c, 0x00008119, 0x00000f77, 0x0000f030,
+ 0x84c00800, 0x000001d2, 0x03c01d33, 0x00001281, 0x00000405, 0x00006583,
+ 0x02000000, 0x00008981, 0x04c00c13, 0x0000e481, 0x02000800, 0x00008991,
+ 0xffffffff, 0x00007f86, 0x02204413, 0x00009203, 0x82280500, 0x00006110,
+ 0x04c0262c, 0x0000c890, 0x02400000, 0x00007910, 0x000010c4, 0x00008980,
+ 0x0000065e, 0x0000f008, 0x02814013, 0x00006002, 0x04c08405, 0x00008c81,
+ 0x03400029, 0x00009084, 0x01609c05, 0x0000e101, 0x82c02413, 0x00008880,
+ 0x82c02d00, 0x0000e080, 0x00105809, 0x0000e106, 0x02c0500a, 0x00006100,
+ 0xc218020b, 0x0000c080, 0x703848ec, 0x0000d600, 0x00384000, 0x00000000,
+ 0x02400000, 0x0000f900, 0x00007fc0, 0x00000980, 0x82402413, 0x0000e080,
+ 0x02300006, 0x0000c980, 0x703858ec, 0x00005600, 0x00386800, 0x00000000,
+ 0x04181008, 0x0000e987, 0x703848ec, 0x0000d600, 0x00384000, 0x00000000,
+ 0x00c002ec, 0x0000df80, 0x10da480b, 0x00001684, 0x00000414, 0x00009583,
+ 0x02e07c0f, 0x00006111, 0x04e07c13, 0x00004111, 0x8b299d33, 0x0000e111,
+ 0x02c00000, 0x0000c989, 0xffffffff, 0x00007f86, 0x04e05c13, 0x00009001,
+ 0x00209c0b, 0x00009503, 0x00000f75, 0x0000f00b, 0x02000c0b, 0x0000e080,
+ 0x85002d00, 0x00004880, 0x85104214, 0x00006000, 0x0290a214, 0x00000900,
+ 0x30384a14, 0x00002080, 0xffffffff, 0x00007fa7, 0x05004812, 0x00009000,
+ 0x0000a00c, 0x00001502, 0x8b000e2c, 0x0000e0a1, 0x02c00c0b, 0x000080a1,
+ 0x04804812, 0x00001020, 0x00000f66, 0x0000f028, 0xdd609c0b, 0x0000780b,
+ 0x90400000, 0x0000878a, 0xc1c20771, 0x0000e283, 0x9243000b, 0x0000a001,
+ 0x000006ae, 0x0000f400, 0x03033066, 0x0000e100, 0x8000080b, 0x00006411,
+ 0x0343586b, 0x00009910, 0x0ac0900c, 0x0000e100, 0x04c7e40b, 0x00000281,
+ 0x05000c13, 0x00001880, 0x84d0a20a, 0x00009000, 0x3038c013, 0x0000b038,
+ 0x3038d213, 0x0000b038, 0x3038e413, 0x0000b038, 0x3038f613, 0x0000b038,
+ 0x30790013, 0x0000b038, 0x30791213, 0x0000b038, 0x30792413, 0x0000b038,
+ 0x30793613, 0x0000b038, 0x04c00800, 0x00009981, 0x00000f28, 0x00007200,
+ 0x05000000, 0x00009981, 0x00000f73, 0x0000f200, 0x04c00000, 0x00001981,
+ 0x84f1662c, 0x00009900, 0x80116213, 0x00009502, 0x0500162c, 0x000018a9,
+ 0x7840d414, 0x000010a9, 0x0000065e, 0x0000f020, 0xffffffff, 0x0000ffb7,
+ 0x04c00a00, 0x0000f904, 0x05009013, 0x00001000, 0x0000a00c, 0x00001502,
+ 0x04809013, 0x00006020, 0x8b000e2c, 0x000080a1, 0x0000065d, 0x0000f029,
+ 0x00000f77, 0x0000f000, 0x05000e2c, 0x00006081, 0x0ac00000, 0x00008980,
+ 0x85e0a414, 0x00006100, 0x04800c12, 0x0000c081, 0x80116217, 0x0000e502,
+ 0x8b000e2c, 0x00000081, 0x00002412, 0x00001583, 0x80116217, 0x00001502,
+ 0x000005fa, 0x0000f018, 0x00000a94, 0x0000f010, 0x00000a94, 0x0000f020,
+ 0x15000180, 0x0000e180, 0x84a0a22c, 0x00004100, 0x80002212, 0x0000e582,
+ 0x95280500, 0x00000900, 0x04a0a42c, 0x0000e131, 0x04802000, 0x00008999,
+ 0x15400000, 0x0000f900, 0x000014c4, 0x00000980, 0x05002414, 0x0000e080,
+ 0x04802412, 0x00004881, 0x75e80054, 0x00006101, 0x00209055, 0x00003106,
+ 0x05c14014, 0x00001002, 0x703aa8ec, 0x0000d600, 0x003aa000, 0x00000000,
+ 0x15400000, 0x0000f900, 0x00007fc0, 0x00000980, 0x05000029, 0x0000e084,
+ 0x15300006, 0x00000980, 0x7038b8ec, 0x0000d600, 0x0038a000, 0x00008000,
+ 0x95609412, 0x00006100, 0x04181054, 0x00006187, 0x703aa8ec, 0x0000d600,
+ 0x003aa000, 0x00000000, 0x00c002ec, 0x0000df80, 0x10dd500b, 0x00009684,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x1ec00ce0, 0x00001283, 0x03421c02, 0x0000f113,
- 0x1a800c6a, 0x00009183, 0x000002a9, 0x0000f013, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x035ae000, 0x00007900, 0x001229f8, 0x00008980, 0x03962000, 0x00007900,
- 0x001f4dc8, 0x00008980, 0x02389f02, 0x00008018, 0x82600500, 0x00008026,
- 0x03511bac, 0x00007500, 0x02c13f02, 0x00000091, 0x81da4348, 0x00009900,
- 0x20e06026, 0x0000e180, 0x1f9a4348, 0x0000c900, 0x1fb3b07e, 0x00001704,
- 0x1d87f87e, 0x00001280, 0x1f801876, 0x00001880, 0x1f02b07e, 0x00009002,
- 0x1d800057, 0x00006084, 0x1f83e07c, 0x00000900, 0x20004776, 0x000007b0,
- 0x035e1c36, 0x0000f500, 0x21840080, 0x00006100, 0x0418107c, 0x00006187,
- 0x2143e07c, 0x00001900, 0x00c002ec, 0x0000df80, 0x101b000b, 0x00009684,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x01400ce0, 0x00001283,
+ 0x0fbd2049, 0x0000f113, 0x00000a94, 0x0000f400, 0x04807413, 0x0000e081,
+ 0xb8400003, 0x00000980, 0x04800000, 0x0000e181, 0x38401412, 0x00004881,
+ 0x80003a2c, 0x00006582, 0x82304413, 0x00000001, 0x0a004412, 0x00006084,
+ 0xb2e0886e, 0x0000b080, 0x04e09413, 0x0000e001, 0x0b817370, 0x00008000,
+ 0xdb1b8370, 0x0000e100, 0x0483fc13, 0x0000c281, 0x84806800, 0x00006180,
+ 0x86209008, 0x00006085, 0x4483fc13, 0x0000e281, 0x04e1642c, 0x00000931,
+ 0x04c04000, 0x00009999, 0x003090ec, 0x0000d702, 0x00007000, 0x00000080,
+ 0x0a004412, 0x0000e884, 0x000004fb, 0x00007400, 0x001010ec, 0x0000d780,
+ 0x00007000, 0x00000080, 0x81609413, 0x00009101, 0x08400060, 0x00006180,
+ 0x08000080, 0x00004980, 0x08800000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x8203e021, 0x00006007, 0x0038b822, 0x00003182, 0x29860000, 0x0000f900,
+ 0x001f2252, 0x00008980, 0x29d08800, 0x0000f900, 0x000a2dce, 0x00000980,
+ 0x08c00000, 0x0000e180, 0x5043e021, 0x00006003, 0x0fe5202b, 0x0000f500,
+ 0x2a802100, 0x00000ae4, 0x88301002, 0x00008a16, 0x09c00000, 0x00006180,
+ 0x0c010c0b, 0x0000e080, 0x09009000, 0x0000f900, 0x00001b40, 0x00000980,
+ 0x00001827, 0x0000e106, 0x0c010f24, 0x00003080, 0x09400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980,
+ 0x29d3e000, 0x00007900, 0x000a2dce, 0x00000980, 0x89901202, 0x0000e100,
+ 0xc0001827, 0x00006006, 0x0ff6202b, 0x00007500, 0x09900502, 0x00000aa8,
+ 0xe978100b, 0x00000a26, 0x01401000, 0x00006181, 0x0bc0bc0b, 0x0000e000,
+ 0x02a05c05, 0x0000e101, 0x1d000000, 0x00008980, 0x82c00fe2, 0x0000e080,
+ 0x0c00bc05, 0x0000e000, 0x79605c0b, 0x0000a081, 0x001040ec, 0x0000d780,
+ 0x00d07540, 0x000080c0, 0x1d400000, 0x0000e180, 0x00003074, 0x0000e206,
+ 0x2a980000, 0x00006180, 0x00003875, 0x0000e106, 0xdd23f47e, 0x00006101,
+ 0x0f005c0b, 0x0000e000, 0x02e02c0b, 0x0000e301, 0x7582b074, 0x00002001,
+ 0x02a05c0a, 0x0000e101, 0xddd38270, 0x00000900, 0x0300140a, 0x00006081,
+ 0x0800300b, 0x0000e206, 0x02800000, 0x0000f900, 0x001f0000, 0x00000980,
+ 0xc283850c, 0x0000071e, 0x203856ec, 0x0000d600, 0x003be000, 0x00000000,
+ 0x2a63f47e, 0x0000e100, 0x08003a0a, 0x00006106, 0x29860000, 0x0000f900,
+ 0x001f2252, 0x00008980, 0x29ef7800, 0x0000f900, 0x000a2dce, 0x00000980,
+ 0x101a202b, 0x00007500, 0x1da06717, 0x00006100, 0xdd505a0b, 0x00008900,
+ 0xa9485e0a, 0x00000a2a, 0x4000057e, 0x00009583, 0x0000101e, 0x0000f013,
+ 0x0088eeec, 0x00005f80, 0x00007000, 0x00008084, 0x08003005, 0x00006206,
+ 0x00007000, 0x00003504, 0x0003f805, 0x00006502, 0x01400000, 0x00008980,
+ 0x02001000, 0x00006189, 0x00004074, 0x0000e216, 0x02002000, 0x00006191,
+ 0xc0000875, 0x00006408, 0x00400000, 0x00007900, 0x00040000, 0x00000980,
+ 0x001000ec, 0x00005780, 0x00006000, 0x00008080, 0xc0001000, 0x00006181,
+ 0x00004875, 0x0000e116, 0x81604408, 0x00009901, 0x0088eeec, 0x00005f80,
+ 0x00007000, 0x00008084, 0x0240037d, 0x0000f900, 0x00000100, 0x00000380,
+ 0x01400000, 0x00006180, 0x82002302, 0x0000c780, 0x02c00000, 0x00007900,
+ 0x0001008c, 0x00008980, 0x20800000, 0x00006180, 0x00004805, 0x0000e206,
+ 0x740000ec, 0x00005680, 0x00385800, 0x00008100, 0x45104005, 0x0000e107,
+ 0x00004882, 0x0000b206, 0x20580800, 0x00007900, 0x00004140, 0x00000980,
+ 0x743828ec, 0x00005600, 0x00082041, 0x00008080, 0x40003082, 0x0000e107,
+ 0x08003005, 0x00003206, 0x740060ec, 0x00005680, 0x003c0800, 0x00000100,
+ 0x743c10ec, 0x00005600, 0x00000004, 0x00000080, 0x21800000, 0x0000e180,
+ 0x00003000, 0x0000e504, 0x740000ec, 0x00005680, 0x04002000, 0x00008080,
+ 0xc0001000, 0x00006181, 0x04102886, 0x00006187, 0x00400000, 0x00007900,
+ 0x00040040, 0x00008980, 0x743c30ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x01400080, 0x00009980, 0x009006ec, 0x00005f80, 0x00006000, 0x00000084,
+ 0x08400080, 0x0000e180, 0x080000a0, 0x0000c980, 0x08800000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x8203e021, 0x00006007, 0x00289822, 0x00003182,
+ 0x29860000, 0x0000f900, 0x001f2252, 0x00008980, 0x29ce7800, 0x0000f900,
+ 0x0009ffba, 0x00000980, 0x08c00000, 0x0000e180, 0x5043e021, 0x00006003,
+ 0x1061202b, 0x00007500, 0x2a802900, 0x00008ae4, 0x88301002, 0x00008a16,
+ 0x09c00000, 0x00006180, 0x89901202, 0x0000c900, 0xc9981302, 0x00006100,
+ 0x00001827, 0x0000e106, 0x09009000, 0x0000f900, 0x00011ac0, 0x00008980,
+ 0x09400000, 0x00007900, 0x00018030, 0x00008980, 0x29860000, 0x0000f900,
+ 0x001f2252, 0x00008980, 0x29d29800, 0x0000f900, 0x0009ffba, 0x00000980,
+ 0x1071202b, 0x0000f500, 0x2a900000, 0x0000e180, 0xc0001827, 0x00006006,
+ 0xaa402702, 0x00008a94, 0x01001000, 0x0000e181, 0x0bc0bc05, 0x00006000,
+ 0x02202c04, 0x00006101, 0x1d400000, 0x00000980, 0x81400fe2, 0x00006080,
+ 0x0c00bc04, 0x00006000, 0x79602c05, 0x0000a081, 0x001040ec, 0x0000d780,
+ 0x00d07540, 0x00008180, 0x1d000000, 0x00006180, 0x00003875, 0x0000e106,
+ 0x2a980000, 0x00006180, 0x00003074, 0x0000e206, 0xddd38270, 0x0000e100,
+ 0x0f002c05, 0x0000e000, 0x01602405, 0x00006301, 0x9ddb8370, 0x00008900,
+ 0x02202c08, 0x00006101, 0x08003a04, 0x00002106, 0x01400000, 0x0000f900,
+ 0x001f0000, 0x00000980, 0x02001408, 0x00006081, 0x2a63f47e, 0x0000c900,
+ 0xc173f508, 0x00008715, 0x20382eec, 0x0000d600, 0x003be000, 0x00000000,
+ 0x29502204, 0x0000e100, 0x08003005, 0x00006206, 0x29860000, 0x0000f900,
+ 0x001f2252, 0x00008980, 0x1094202b, 0x00007500, 0x29d4e800, 0x00007900,
+ 0x0009ffba, 0x00000980, 0xea902a05, 0x0000e100, 0x1da04513, 0x00004100,
+ 0x0088eeec, 0x00005f80, 0x00007000, 0x00008084, 0x41000d48, 0x00001283,
+ 0x080000a0, 0x00006190, 0x08400080, 0x00004990, 0x08800000, 0x0000e190,
+ 0x08c00020, 0x0000c990, 0x0000118a, 0x0000f008, 0x03c01e50, 0x0000e281,
+ 0xb8412000, 0x00000980, 0x0140140f, 0x00006081, 0x8203e021, 0x00006007,
+ 0x78430405, 0x00006081, 0x00109022, 0x0000a182, 0x88181302, 0x0000e100,
+ 0x5043e021, 0x00006003, 0xffffffff, 0x0000ffb7, 0x03020b00, 0x00007904,
+ 0x0302780c, 0x00009002, 0xc000037d, 0x00006582, 0x0340000d, 0x00000084,
+ 0x02820b00, 0x00007904, 0x0282780a, 0x00006100, 0x821beb7d, 0x00008910,
+ 0x0000113e, 0x0000f008, 0x81014000, 0x000081c6, 0x02405208, 0x0000e400,
+ 0x0400500a, 0x00004900, 0x01000c04, 0x00006081, 0x02805208, 0x00000c00,
+ 0x00004810, 0x00006502, 0x82104a08, 0x00000100, 0x10006500, 0x0000f904,
+ 0x10005500, 0x0000f904, 0x000010fc, 0x00007208, 0x13c27809, 0x00009000,
+ 0x80000208, 0x0000e582, 0x04402411, 0x00000081, 0x03020b00, 0x00007904,
+ 0x02820b00, 0x00007904, 0x000010ae, 0x00007010, 0x88310404, 0x00006001,
+ 0x11c00000, 0x00008980, 0x0a010405, 0x00006084, 0x00001847, 0x0000b106,
+ 0x01602c04, 0x00006001, 0xc0001847, 0x0000a006, 0x0103fc05, 0x00006281,
+ 0x885beb7d, 0x00008900, 0x91901202, 0x0000e100, 0x86202020, 0x0000e085,
+ 0x81004800, 0x00006180, 0xd1981302, 0x00004900, 0x4103fc05, 0x0000e281,
+ 0x2a900000, 0x00000980, 0x003020ec, 0x00005702, 0x00007000, 0x00000080,
+ 0x11009000, 0x0000f900, 0x00011b00, 0x00000980, 0x11400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980,
+ 0x29f7f800, 0x00007900, 0x0009ffba, 0x00000980, 0x10d9202b, 0x00007500,
+ 0x000840ec, 0x0000d780, 0x00d07440, 0x000000c0, 0xaa402702, 0x00008a94,
+ 0x01001000, 0x0000e181, 0x0bc0bc05, 0x00006000, 0x02202c04, 0x00006101,
+ 0x1d400000, 0x00000980, 0x81400fe2, 0x00006080, 0x0c00bc04, 0x00006000,
+ 0x79602c05, 0x0000a081, 0x0010a8ec, 0x0000d780, 0x00007000, 0x00000080,
+ 0x08003009, 0x00006206, 0x00003875, 0x0000b106, 0x1d180000, 0x00000ae8,
+ 0x0f002c05, 0x0000e000, 0x00003074, 0x0000b206, 0x01602405, 0x00006301,
+ 0xddd38270, 0x00000900, 0x02202c08, 0x00006101, 0x9ddb8370, 0x00008900,
+ 0x01000000, 0x00007900, 0x001f0000, 0x00000980, 0x02001408, 0x00006081,
+ 0x08003a05, 0x00006106, 0xc103f508, 0x00000a27, 0x29860000, 0x0000f900,
+ 0x001f2252, 0x00008980, 0x29d2b800, 0x00007900, 0x0009ffbc, 0x00000980,
+ 0x203826ec, 0x00005600, 0x003be000, 0x00000000, 0x10fa202b, 0x0000f500,
+ 0x5d484e7e, 0x00000a2a, 0x29502a05, 0x0000e100, 0x1da0427d, 0x00004100,
+ 0x0088eeec, 0x00005f80, 0x00007000, 0x00008084, 0x02400e50, 0x0000e081,
+ 0x13c00000, 0x00000980, 0x81604c09, 0x00006100, 0x03c00c0f, 0x0000c081,
+ 0x80128205, 0x00006502, 0x94000e50, 0x00000081, 0x0000240f, 0x00001583,
+ 0x80128205, 0x00009502, 0x0000117d, 0x0000f018, 0x000010b8, 0x0000f010,
+ 0x000010b8, 0x0000f020, 0x81604a50, 0x00009100, 0x80002205, 0x00001582,
+ 0x02a04c50, 0x00006131, 0x02802000, 0x00008999, 0x02c00000, 0x00007900,
+ 0x000014c4, 0x00000980, 0x0300240a, 0x00006081, 0x02402409, 0x0000c880,
+ 0x02800600, 0x00006180, 0x0020600b, 0x0000e106, 0x02426009, 0x00006002,
+ 0x82a80500, 0x00008900, 0x0140004d, 0x00006084, 0x75e8000a, 0x00002101,
+ 0x703858ec, 0x00005600, 0x00385000, 0x00008000, 0x02c00000, 0x00007900,
+ 0x00007fc0, 0x00000980, 0x82e0640c, 0x0000e100, 0x02b00006, 0x00004980,
+ 0x703848ec, 0x0000d600, 0x00382800, 0x00008000, 0x0418100a, 0x00006987,
+ 0x703858ec, 0x00005600, 0x00385000, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x11091008, 0x00009084, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x03800ce0, 0x00009283,
- 0x03731c02, 0x00007113, 0x20e06026, 0x0000e180, 0x839a437b, 0x00004200,
- 0x1f80220e, 0x00001880, 0x1d83407e, 0x00001002, 0x1f000069, 0x0000e084,
- 0x1ec3b076, 0x00000900, 0x1fbbe77b, 0x00000818, 0x1ec08000, 0x00009980,
- 0x037e1c36, 0x00007500, 0x0418107b, 0x00006987, 0x2143d87b, 0x00001900,
- 0x00c002ec, 0x0000df80, 0x101c000b, 0x00001684, 0xffffffff, 0x00007f86,
+ 0x01400ce0, 0x00001283, 0x00001197, 0x0000f013, 0x03c00000, 0x0000e181,
+ 0xb840000c, 0x0000c980, 0x38608c11, 0x00001901, 0x04402411, 0x00009081,
+ 0xffffffff, 0x00007fa7, 0x03020b00, 0x00007904, 0x02820b00, 0x00007904,
+ 0x2b800208, 0x00007892, 0xe8800000, 0x00008885, 0x81000000, 0x000004dc,
+ 0x88310404, 0x00006001, 0x00001847, 0x00002106, 0x0a010405, 0x00006084,
+ 0xc0001847, 0x00003006, 0x01602c04, 0x00006001, 0x885beb7d, 0x00008900,
+ 0x0103fc05, 0x00006281, 0x91901202, 0x00000900, 0xd1981302, 0x00006100,
+ 0x86202020, 0x0000e085, 0x41100009, 0x00008ae8, 0x4103fc05, 0x0000e281,
+ 0x29402000, 0x00000980, 0x003020ec, 0x00005702, 0x00007000, 0x00000080,
+ 0x11009000, 0x0000f900, 0x00011b00, 0x00000980, 0x11400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980,
+ 0x29f7f800, 0x00007900, 0x0009ffba, 0x00000980, 0x115a202b, 0x00007500,
+ 0x000840ec, 0x0000d780, 0x00d07440, 0x000000c0, 0x2a581302, 0x00009900,
+ 0x01001000, 0x0000e181, 0x0bc0bc05, 0x00006000, 0x02202c04, 0x00006101,
+ 0x1d400000, 0x00000980, 0x81400fe2, 0x00006080, 0x0c00bc04, 0x00006000,
+ 0x79602c05, 0x0000a081, 0x0010a8ec, 0x0000d780, 0x00007000, 0x00000080,
+ 0x08003009, 0x00006206, 0x00003875, 0x0000b106, 0x1d180000, 0x00000ae8,
+ 0x0f002c05, 0x0000e000, 0x00003074, 0x0000b206, 0x01602405, 0x00006301,
+ 0xddd38270, 0x00000900, 0x02202c08, 0x00006101, 0x9ddb8370, 0x00008900,
+ 0x01000000, 0x00007900, 0x001f0000, 0x00000980, 0x02001408, 0x00006081,
+ 0x08003a05, 0x00006106, 0xc103f508, 0x00000a27, 0x29860000, 0x0000f900,
+ 0x001f2252, 0x00008980, 0x29d2b800, 0x00007900, 0x0009ffbc, 0x00000980,
+ 0x203826ec, 0x00005600, 0x003be000, 0x00000000, 0x117b202b, 0x00007500,
+ 0x5d484e7e, 0x00000a2a, 0x29502a05, 0x0000e100, 0x1da0427d, 0x00004100,
+ 0x0088eeec, 0x00005f80, 0x00007000, 0x00008084, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x028e5000, 0x00007900, 0x0024f12a, 0x00008980,
+ 0x02e84000, 0x0000f900, 0x00167a04, 0x00000980, 0x01800000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x01400000, 0x000080f4, 0x118a1ff4, 0x00007500,
+ 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02af8000, 0x0000f900,
+ 0x0009ffba, 0x00000980, 0x02fa7800, 0x00007900, 0x00089876, 0x00000980,
+ 0x01800000, 0x00006180, 0x08001a08, 0x00006106, 0x01400000, 0x000080f4,
+ 0x11971ff4, 0x00007500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180,
+ 0x02401002, 0x0000c900, 0x11982049, 0x0000f100, 0xffffffff, 0x00007f86,
+ 0x00000405, 0x00009583, 0x00001135, 0x0000700b, 0x01400ce0, 0x00001283,
+ 0x119d2049, 0x00007113, 0x00001138, 0x0000f400, 0x03c00000, 0x0000e181,
+ 0xb840000c, 0x0000c980, 0x38608c11, 0x00001901, 0x34e00c05, 0x00004488,
+ 0x4a200c05, 0x000004ab, 0x6a401405, 0x0000788a, 0x58800000, 0x0000888d,
+ 0x000011b8, 0x00007200, 0x03000000, 0x00009981, 0x000011b8, 0x00007200,
+ 0x03000800, 0x00001981, 0x000011b8, 0x00007200, 0x03001000, 0x00001981,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02a92000, 0x0000f900,
+ 0x00177b42, 0x00008980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980,
+ 0x01802004, 0x0000e100, 0x08001a08, 0x00006106, 0x03400000, 0x0000e180,
+ 0xc2300600, 0x0000c901, 0x11b81ff4, 0x0000f500, 0x82381400, 0x00008024,
+ 0x81c02800, 0x00001980, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x82c07cec, 0x00007902, 0x03400000, 0x00000604, 0x17c02004, 0x0000e100,
+ 0x0020280e, 0x0000e086, 0x8228280e, 0x0000e886, 0x0418280e, 0x00006987,
+ 0x04387f0e, 0x00008034, 0x03f8870d, 0x00008538, 0x1740780f, 0x00006100,
+ 0x0000200d, 0x0000e586, 0x0428280d, 0x0000e887, 0x8620280d, 0x00006887,
+ 0x11cd20b3, 0x00007500, 0x1706d800, 0x0000f900, 0x0032a52e, 0x00000980,
+ 0x16c0680d, 0x00001900, 0x11d016e8, 0x0000f500, 0x15406704, 0x00008037,
+ 0x1580680d, 0x00009900, 0x03400000, 0x00007900, 0x000200c0, 0x00000980,
+ 0x03000080, 0x0000e180, 0x04800000, 0x00004980, 0x03840000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x04009000, 0x00007900, 0x0000d940, 0x00008980,
+ 0x04400000, 0x0000f900, 0x00010030, 0x00000980, 0x03c00000, 0x00006180,
+ 0x557f100d, 0x0000e003, 0x04c00000, 0x0000e180, 0x05002004, 0x0000c900,
+ 0x05783705, 0x00000118, 0x05f84707, 0x00000120, 0x06785709, 0x00000128,
+ 0x06c0170b, 0x00000032, 0xc4981302, 0x00009900, 0x00801eec, 0x0000df80,
+ 0x00007001, 0x00000084, 0x03400000, 0x000080f0, 0x02c00000, 0x000004c0,
+ 0x10400000, 0x000004c8, 0x10c00000, 0x000084d0, 0x11400000, 0x000004d8,
+ 0x01c7fc1b, 0x00006280, 0x11c00000, 0x00008980, 0x43e34007, 0x0000c388,
+ 0x00234007, 0x000080b8, 0x41a31007, 0x00004488, 0xec231007, 0x000004d3,
+ 0x02232807, 0x0000c589, 0x83433007, 0x0000038c, 0x40a35007, 0x00004488,
+ 0x02235007, 0x000004cc, 0x82435807, 0x0000788a, 0xe0800000, 0x0000088f,
+ 0x00030807, 0x00009582, 0x00001229, 0x0000f400, 0x030001a0, 0x00006188,
+ 0x83401000, 0x00004988, 0x8310520a, 0x0000e108, 0x02c04008, 0x0000c908,
+ 0x00036007, 0x00001582, 0x00001229, 0x0000f400, 0x83400800, 0x00006188,
+ 0x02c04008, 0x0000c908, 0x83104a09, 0x00009908, 0x00001229, 0x0000f400,
+ 0x030000a0, 0x00006180, 0x83401000, 0x0000c980, 0x03384409, 0x0000002c,
+ 0x00001229, 0x0000f400, 0x030000c0, 0x00006180, 0x83401000, 0x0000c980,
+ 0x03384409, 0x0000002c, 0x00001229, 0x0000f400, 0x03000080, 0x0000e180,
+ 0x83401000, 0x0000c980, 0x03384409, 0x0000002c, 0x00001843, 0x00006106,
+ 0x00000841, 0x00003406, 0x80001841, 0x0000e480, 0xa0000845, 0x00003402,
+ 0x10001040, 0x00006380, 0x00080841, 0x00002501, 0x032f2000, 0x0000f900,
+ 0x00001508, 0x00008980, 0x001080ec, 0x0000d780, 0x00005800, 0x00000080,
+ 0xc0001843, 0x0000e006, 0x00001045, 0x0000b403, 0x8347e800, 0x0000e180,
+ 0xc0000841, 0x0000e401, 0x00001229, 0x0000f400, 0x02e01708, 0x00008408,
+ 0xd0001000, 0x0000e181, 0xd0981302, 0x0000c900, 0x02c02004, 0x00006100,
+ 0x83400d05, 0x00004880, 0x2c103505, 0x00009600, 0x830588b0, 0x00009000,
+ 0x00001229, 0x0000f200, 0xc3106d05, 0x00009000, 0x00001c09, 0x00006583,
+ 0x83401000, 0x00000980, 0x02e01f08, 0x000000b1, 0x8310520a, 0x00009908,
+ 0x01400000, 0x0000f900, 0x001f8000, 0x00008980, 0x00106005, 0x0000e186,
+ 0x08001a06, 0x0000b106, 0xffc00000, 0x00006180, 0x04186005, 0x0000e101,
+ 0x20382eec, 0x0000d600, 0x00385800, 0x00000000, 0x01400000, 0x000003fc,
+ 0x00103005, 0x00006184, 0x0000183f, 0x0000b106, 0x04106805, 0x00006187,
+ 0xc000183f, 0x00003006, 0x0f001000, 0x00007900, 0x00004000, 0x00000980,
+ 0x0f400000, 0x00007900, 0x00040010, 0x00008980, 0x733828ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x0fa01502, 0x00008338, 0x00887eec, 0x00005f80,
+ 0x00006000, 0x00000084, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x01401000, 0x00006181, 0x0bc0bc09, 0x00006000,
+ 0xc0000748, 0x00006583, 0x02a04c05, 0x00000101, 0x82400fe2, 0x00006080,
+ 0xd5800000, 0x0000c990, 0x79604c09, 0x0000a081, 0xd2000000, 0x00006191,
+ 0x0c00bc05, 0x0000e000, 0x15000000, 0x00006190, 0x08000080, 0x00004980,
+ 0xc0000356, 0x00006582, 0x8113ea7d, 0x00000900, 0x9633ee7d, 0x00006108,
+ 0x0f004c09, 0x0000e000, 0x00004448, 0x0000e583, 0x02602c09, 0x00008301,
+ 0x08400000, 0x0000f900, 0x00200080, 0x00008980, 0x09400000, 0x00007900,
+ 0x00020000, 0x00000980, 0x02a04c0a, 0x00006101, 0x8203e021, 0x0000a007,
+ 0x08800000, 0x0000f900, 0x00001e00, 0x00008980, 0x82fffa12, 0x0000f900,
+ 0x0000000e, 0x00008280, 0x0280140a, 0x00006081, 0x00003825, 0x0000e106,
+ 0x08c00000, 0x00007900, 0x00002040, 0x00008980, 0x5043e021, 0x00006003,
+ 0x00105822, 0x0000b182, 0x09800000, 0x0000e180, 0xc0003825, 0x00006006,
+ 0x09c00000, 0x00006180, 0x09003006, 0x0000c900, 0x00001318, 0x00007408,
+ 0x88305002, 0x0000802b, 0x02800000, 0x00009981, 0xc100477e, 0x00001283,
+ 0x00001397, 0x00007013, 0x0000040a, 0x00006583, 0x0f02540b, 0x00002006,
+ 0x0242a054, 0x00009900, 0x00001328, 0x00007011, 0xb8414000, 0x0000e180,
+ 0x01401e50, 0x00004281, 0x02401405, 0x00001881, 0x78430409, 0x00009081,
+ 0xffffffff, 0x00007fc7, 0x03020b00, 0x00007904, 0x0302780c, 0x00009002,
+ 0x80000204, 0x0000e582, 0x0340000d, 0x00000084, 0x04820b00, 0x00007904,
+ 0x04827812, 0x00006100, 0x83d02204, 0x00000910, 0x00001330, 0x0000f008,
+ 0x82c16000, 0x000000ea, 0x0400920f, 0x0000e400, 0x02409012, 0x0000c900,
+ 0x02c00c0b, 0x00006081, 0x0480920f, 0x00008c00, 0x00008009, 0x00006502,
+ 0x83d0820f, 0x00008100, 0x10006500, 0x0000f904, 0x10009500, 0x0000f904,
+ 0x000012d6, 0x00007208, 0x13c27810, 0x00001000, 0x8000020f, 0x00006582,
+ 0x0280240a, 0x00000081, 0x03020b00, 0x00007904, 0x04820b00, 0x00007904,
+ 0x0000127e, 0x00007010, 0x8831040b, 0x00006001, 0x88502204, 0x00008900,
+ 0x81005000, 0x00006180, 0x0a010405, 0x00006084, 0x01602c0b, 0x00006001,
+ 0x1e000000, 0x00008980, 0x4103fc05, 0x0000e281, 0x1ec00000, 0x00008980,
+ 0x003020ec, 0x00005702, 0x00007000, 0x00000080, 0x08003004, 0x0000e206,
+ 0xe183f07b, 0x00003001, 0x1dc00000, 0x00006180, 0x00002078, 0x0000e204,
+ 0x08003a04, 0x0000e106, 0x34e24078, 0x00003005, 0x1e800000, 0x0000e180,
+ 0x75d02078, 0x0000e101, 0x00004448, 0x0000e583, 0xf183f07b, 0x00002001,
+ 0x1d009000, 0x0000f900, 0x00009880, 0x00008980, 0x00001877, 0x0000e106,
+ 0x6542b078, 0x00003001, 0x0243fc05, 0x0000e281, 0x9e98db1b, 0x00000900,
+ 0x1d400000, 0x00007900, 0x00018030, 0x00008980, 0xc0001877, 0x00006006,
+ 0x6703f078, 0x0000b009, 0x9d901202, 0x0000e100, 0x86204820, 0x00006085,
+ 0xdd981302, 0x00006100, 0x5e42a054, 0x0000c900, 0xde62c458, 0x0000e101,
+ 0xde938270, 0x0000c908, 0x000012b7, 0x0000f408, 0x9edab356, 0x00006100,
+ 0x9d030800, 0x00004989, 0x9e9b8370, 0x00001908, 0xc100477e, 0x00001283,
+ 0x00001374, 0x0000f013, 0x2c18567e, 0x00001600, 0x820588b0, 0x00001000,
+ 0x02800000, 0x0000f900, 0x001f8000, 0x00008980, 0x82f1077d, 0x0000e100,
+ 0xc0000007, 0x00002606, 0xc0c00000, 0x00006180, 0x82400208, 0x0000c080,
+ 0x82800208, 0x00006080, 0xc0001807, 0x00002006, 0x001040ec, 0x0000d780,
+ 0x00d07740, 0x00000180, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
+ 0xc100177e, 0x0000e283, 0x0410580a, 0x00002101, 0x82504a7e, 0x00006100,
+ 0x1502a27d, 0x00008000, 0x01408000, 0x00007900, 0x00008000, 0x00000980,
+ 0x203856ec, 0x0000d600, 0x003be000, 0x00000000, 0x80107000, 0x0000e180,
+ 0x0410487b, 0x00006183, 0xc0005c0d, 0x000000df, 0x80400000, 0x0000e181,
+ 0xd5800000, 0x0000c990, 0x01000000, 0x00009980, 0xd59ab67e, 0x00001008,
+ 0x009006ec, 0x00005f80, 0x00c06480, 0x000085c4, 0x03000e50, 0x0000e081,
+ 0x13c00000, 0x00000980, 0x8260640c, 0x00006100, 0x01400c05, 0x0000c081,
+ 0x80128209, 0x00006502, 0x94000e50, 0x00000081, 0x00002405, 0x00001583,
+ 0x80128209, 0x00009502, 0x00001332, 0x0000f018, 0x00001288, 0x00007010,
+ 0x00001288, 0x00007020, 0x81606250, 0x00009100, 0x80002205, 0x00001582,
+ 0x01606450, 0x00006131, 0x01402000, 0x00008999, 0x02400000, 0x0000f900,
+ 0x000014c4, 0x00000980, 0x03802405, 0x0000e081, 0x0300240c, 0x0000c880,
+ 0x01400600, 0x00006180, 0x00207009, 0x0000e106, 0x0342600c, 0x0000e002,
+ 0x81680500, 0x00008900, 0x0300004d, 0x00006084, 0x75e80005, 0x00002101,
+ 0x703848ec, 0x0000d600, 0x00382800, 0x00008000, 0x02400000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0x8260740e, 0x00006100, 0x01700006, 0x00004980,
+ 0x703868ec, 0x00005600, 0x00386000, 0x00008000, 0x04181005, 0x00006987,
+ 0x703848ec, 0x0000d600, 0x00382800, 0x00008000, 0x00c802ec, 0x00005f80,
+ 0x1117e009, 0x000012c4, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x03800ce0, 0x00009283, 0x03931c02, 0x0000f113,
- 0x1f804766, 0x0000e080, 0xb913ca79, 0x00004900, 0x1f83f767, 0x00009300,
- 0x0003f00e, 0x0000ea06, 0xffffffff, 0x00007f86, 0x00000000, 0x00007083,
- 0x0000006b, 0x0000e582, 0x1a400000, 0x00008980, 0x9f801ee3, 0x00006090,
- 0x1a800000, 0x00004980, 0x9fb71a7e, 0x0000e110, 0x9d918b48, 0x00008400,
- 0x1ac00000, 0x0000e180, 0x9f80127e, 0x00004090, 0x4b23427e, 0x00002014,
- 0xffffffff, 0x00007fa7, 0x9a000a68, 0x00001090, 0x4b23427e, 0x0000a814,
- 0x9f9bdae5, 0x00006400, 0x1a000000, 0x00000980, 0xd453f276, 0x0000f816,
- 0xb0000000, 0x00008186, 0x1a418049, 0x00006080, 0x0803307e, 0x0000a206,
- 0x0000007e, 0x00006582, 0x1a43f069, 0x00000000, 0x1f83f2ec, 0x00009110,
- 0x1f80187e, 0x00001290, 0x000002be, 0x0000f008, 0x1a43f069, 0x00009000,
- 0xe643487c, 0x0000f86a, 0x00000000, 0x00000186, 0x1e73d47b, 0x00006001,
- 0x1f824829, 0x00008100, 0x0023c87e, 0x0000e502, 0x08033033, 0x0000a206,
- 0x054b3967, 0x00006100, 0xb0000811, 0x00006401, 0x1f23d833, 0x00001100,
- 0x000003d6, 0x0000f020, 0x0000007e, 0x00009582, 0x1f800000, 0x0000e190,
- 0x91c01ee3, 0x00004890, 0x91f71a47, 0x00001110, 0x91c01247, 0x00001090,
- 0x4b003047, 0x00002015, 0xffffffff, 0x00007fa7, 0x01800c06, 0x00001091,
- 0x4b183047, 0x0000a816, 0x0187846a, 0x00009281, 0x00010406, 0x00001583,
- 0x000003f7, 0x0000f00b, 0x0000007e, 0x00009582, 0x0cc00000, 0x0000e188,
- 0x11c00000, 0x0000c988, 0xd2d24a29, 0x00009108, 0x00000000, 0x0000f088,
- 0x4000057a, 0x0000e583, 0x11c3f07c, 0x00000100, 0x0cc3f07c, 0x00006100,
- 0x11c00000, 0x00000988, 0x054b387e, 0x00009008, 0x000003e0, 0x0000f010,
- 0x83924a29, 0x00001100, 0x00000000, 0x0000f480, 0x9e63ca0e, 0x00001100,
- 0xd2d3f279, 0x00009100, 0x1fa3c87e, 0x00001100, 0x1fbfe07e, 0x00007900,
- 0x003ffffe, 0x00008280, 0x0003f07c, 0x00009502, 0x0187846a, 0x000092b1,
- 0x000003c4, 0x0000f019, 0x0000007c, 0x00001582, 0x1f80207e, 0x00009190,
- 0xf1c10406, 0x00007892, 0xb8000000, 0x0000018f, 0x800016a8, 0x00009583,
- 0x000003f2, 0x0000f00b, 0x91c01ee3, 0x0000e080, 0x60001019, 0x00006402,
- 0x04001010, 0x00006380, 0x91f71a47, 0x00000100, 0x91c01247, 0x00009080,
- 0x4b007247, 0x0000a006, 0x093ef824, 0x0000f900, 0x003ffffe, 0x00008280,
- 0xffffffff, 0x00007f97, 0x83800a0e, 0x00009080, 0x4b087247, 0x0000a806,
- 0x11c3f07e, 0x0000e100, 0x83924a29, 0x00004100, 0x00000000, 0x0000f480,
- 0x9e63ca0e, 0x00001100, 0xd2d3f279, 0x00009100, 0x00052847, 0x00001502,
- 0x054b387e, 0x0000e018, 0x11c00000, 0x00008998, 0x000003e2, 0x00007031,
- 0x000003d2, 0x0000f000, 0x08035447, 0x0000e806, 0x11e23fe4, 0x00001800,
- 0x11c00847, 0x00001180, 0x0cc2387e, 0x00006202, 0x2002387e, 0x00000200,
- 0x1f84007e, 0x0000e110, 0x91c01ee3, 0x00008890, 0x91f71a47, 0x00001110,
- 0x0000040a, 0x0000f008, 0x4000057a, 0x0000e583, 0x91c01247, 0x00000080,
- 0x4b007047, 0x00002006, 0xffffffff, 0x00007fa7, 0x83800a0e, 0x00009080,
- 0x4b087047, 0x00002806, 0x11c00000, 0x00009981, 0x11c00800, 0x00009989,
- 0xffffffff, 0x00007f86, 0x10623810, 0x0000e800, 0x0000007e, 0x00006582,
- 0x00000846, 0x0000a401, 0x0cc00000, 0x0000e188, 0x11c00000, 0x0000c988,
- 0xd2d24a29, 0x00009108, 0x00000000, 0x0000f088, 0x000003cc, 0x0000f000,
- 0x80000ea8, 0x00006583, 0xdf5722e4, 0x00000900, 0x8cc01ee3, 0x00006090,
- 0x1241a034, 0x0000c910, 0x91c00b31, 0x0000e090, 0xd2000b31, 0x00000090,
- 0x00000446, 0x00007008, 0x9db71a33, 0x00001100, 0x4b619a76, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x80119a47, 0x00009502, 0x00000478, 0x0000f00b,
- 0x19800000, 0x00009981, 0x0420027a, 0x0000f204, 0xdaf94866, 0x00000730,
- 0x01803e60, 0x00006281, 0x0cea3679, 0x00000000, 0x00001c06, 0x00006583,
- 0x1ec0156a, 0x00000881, 0x5e800000, 0x00006189, 0x9e818000, 0x00004989,
- 0x00001833, 0x00009582, 0x1d801800, 0x000099b9, 0x51b3cc76, 0x00006139,
- 0x03b3cc76, 0x00008139, 0x0000043e, 0x0000f050, 0x01800c46, 0x0000e283,
- 0x9d801ee3, 0x00008880, 0x9db71a76, 0x00006100, 0x8391340e, 0x00008008,
- 0x4b403476, 0x0000a08c, 0x00000462, 0x00007010, 0x1d90720e, 0x00006100,
- 0x0b823433, 0x0000e004, 0xffffffff, 0x00007f86, 0x01800c33, 0x0000e181,
- 0x1da03076, 0x00008704, 0x01a3b406, 0x00001201, 0x1d800c06, 0x00001081,
- 0x0023b433, 0x00001503, 0x1d800000, 0x00009989, 0xffffffff, 0x00007f86,
- 0x0023b44b, 0x00001503, 0xdea25c4b, 0x00001909, 0x0000048f, 0x0000f011,
- 0xc0118b48, 0x00001502, 0xb91beb7d, 0x0000e108, 0x0cc00000, 0x0000c988,
- 0x11c00000, 0x00009988, 0xffffffff, 0x00007f97, 0x00000000, 0x0000f08b,
- 0x000003b3, 0x0000f200, 0xb91beb7d, 0x00001900, 0x0cc01446, 0x00001283,
- 0x00000452, 0x0000700b, 0x00014849, 0x00001502, 0x19b546a8, 0x0000e169,
- 0x9d801ee3, 0x0000c8e8, 0x9db71a76, 0x00001168, 0x9d801276, 0x000010e8,
- 0x4b019a76, 0x0000a0ee, 0xffffffff, 0x00007f86, 0x0000041e, 0x0000746b,
- 0x8cc00a33, 0x000010e8, 0x4b099a76, 0x0000a8ee, 0x91c01ee3, 0x0000e080,
- 0x1241a034, 0x00004900, 0xd2000b31, 0x0000e080, 0x9db71a47, 0x00008100,
- 0x9d801276, 0x00009080, 0x4b219a76, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x8cc00a33, 0x00009080, 0x4b219a76, 0x0000a884, 0x8cc00b31, 0x00006080,
- 0x9db71a47, 0x00008100, 0x4b623a76, 0x0000a084, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x07523a33, 0x0000f813, 0xc0000000, 0x00000283,
- 0x8cd9840e, 0x0000e000, 0x0ac2340e, 0x0000a004, 0x4b487476, 0x00002084,
- 0x01800c0e, 0x00006181, 0x1d919a33, 0x00008900, 0xffffffff, 0x00007f97,
- 0x1da87076, 0x00001704, 0x01a3b406, 0x00001201, 0x1d800c06, 0x00001081,
- 0x0023b40e, 0x00009503, 0x1d800000, 0x00009989, 0xffffffff, 0x00007f86,
- 0x4023b54b, 0x00001503, 0xdeaa5d4b, 0x00001909, 0x0000047a, 0x0000f011,
- 0xc0118b48, 0x00001502, 0x0cc00000, 0x0000e188, 0x11c00000, 0x0000c988,
- 0xb91beb7d, 0x00009908, 0x00000444, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x00000000, 0x00007083, 0x0000041e, 0x0000f200, 0x99a00000, 0x000084e1,
- 0x0cc00500, 0x00006180, 0x52e3b476, 0x0000c901, 0x1d801c06, 0x0000e080,
- 0x8ce80500, 0x00004900, 0x1f82f076, 0x0000e002, 0x75e80033, 0x00002101,
- 0x700040ec, 0x00005680, 0x00399cc4, 0x00000010, 0x1da00005, 0x00006180,
- 0x1f00005f, 0x00004084, 0x14828050, 0x00006100, 0x04181076, 0x00006187,
- 0x703bf0ec, 0x0000d600, 0x003be000, 0x00000000, 0x700040ec, 0x00005680,
- 0x003bb7c0, 0x00008078, 0x14c28851, 0x00009900, 0x00c002ec, 0x0000df80,
- 0x1044680b, 0x00001684, 0x00000471, 0x0000f200, 0xdeaa5d4b, 0x00009901,
- 0x0cc004c0, 0x0000e180, 0x12e3b476, 0x00004901, 0x1d801c06, 0x0000e080,
- 0x8ce80500, 0x00004900, 0x11c2e076, 0x00006002, 0x75e80033, 0x00002101,
- 0x700040ec, 0x00005680, 0x00399cc4, 0x00000010, 0x1f200005, 0x00006180,
- 0x1d80005d, 0x0000c084, 0x1382604c, 0x0000e100, 0x0418107c, 0x00006187,
- 0x703a38ec, 0x0000d600, 0x003bb000, 0x00000000, 0x700040ec, 0x00005680,
- 0x003be7c0, 0x00008078, 0x13c2684d, 0x00001900, 0x00c002ec, 0x0000df80,
- 0x1045100b, 0x00009684, 0x0000043e, 0x00007200, 0xdea25c4b, 0x00009901,
- 0xdd808711, 0x00001283, 0xc007ff79, 0x0000e583, 0x0cc00000, 0x00000990,
- 0x2a400800, 0x0000e189, 0x04000000, 0x00004988, 0x04400000, 0x0000e188,
- 0x04800000, 0x0000c988, 0x00000001, 0x00007090, 0x1e001ea8, 0x00006181,
- 0x04c00000, 0x00000980, 0x00000c78, 0x0000e583, 0x05000000, 0x00008980,
- 0x05400000, 0x000001d8, 0x05c00000, 0x00001980, 0x04b3196c, 0x0000f130,
- 0x400015a9, 0x0000e583, 0x69000800, 0x00008981, 0x0439f810, 0x00007900,
- 0x003ffffe, 0x00008280, 0x69800400, 0x00008af8, 0x000004e9, 0x0000f208,
- 0x69800000, 0x00001981, 0x40000da9, 0x00001583, 0x000004d3, 0x0000700b,
- 0x04bd1a1c, 0x0000f100, 0x0227f808, 0x00007900, 0x003ffffe, 0x00008280,
- 0xd0003009, 0x0000e404, 0x30002010, 0x00003404, 0x037f800d, 0x00007900,
- 0x003ffffe, 0x00008280, 0x90000009, 0x00006401, 0x8000000d, 0x0000b403,
- 0x82021800, 0x00006181, 0x05c42084, 0x0000c900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec, 0x0000d780,
- 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x00000001, 0x00007480, 0x1e80547a, 0x00006181,
- 0x9dc40277, 0x00008180, 0xde7d4779, 0x00001101, 0x04d41a1c, 0x0000f100,
- 0x0227f808, 0x00007900, 0x003ffffe, 0x00008280, 0x04002010, 0x00006380,
- 0xd0003009, 0x00002404, 0x037f800d, 0x00007900, 0x003ffffe, 0x00008280,
- 0x90000009, 0x00006401, 0x8000000d, 0x0000b403, 0x82021800, 0x00006181,
- 0x05c42084, 0x0000c900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008010ec, 0x0000d780, 0x00c06141, 0x00000288,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x00000001, 0x00007280, 0xde7d4779, 0x0000e101, 0x1e80547a, 0x00000181,
- 0x00001a1c, 0x0000f000, 0x1e000000, 0x0000f900, 0x001f8000, 0x00008980,
- 0x1d801c18, 0x00006283, 0x0013b878, 0x00002186, 0x1d818679, 0x0000e080,
- 0x0423d078, 0x00002101, 0x00505000, 0x0000f900, 0x0004c010, 0x00008980,
- 0x203bc6ec, 0x0000d600, 0x003c2000, 0x00008000, 0x1e005000, 0x00006180,
- 0x807bcf79, 0x00004901, 0x1e33c878, 0x00006100, 0xd0000001, 0x0000240c,
- 0x00003078, 0x00006582, 0xc0c05800, 0x00000980, 0x1e003000, 0x0000e1b8,
- 0x1d800876, 0x00004780, 0xc000b000, 0x00006181, 0x1de3b476, 0x00004901,
- 0x1d801e03, 0x00006181, 0x1e003078, 0x00000880, 0x1e03f878, 0x00009080,
- 0x40000546, 0x0000e583, 0x1e003878, 0x00000784, 0x000800ec, 0x00005780,
- 0x00985980, 0x00008580, 0x80e3c476, 0x0000e001, 0x5de3c478, 0x00000901,
- 0x1d801f00, 0x0000e181, 0x71f3c846, 0x00002010, 0x00000511, 0x0000f408,
- 0x000080ec, 0x00005780, 0x00005802, 0x00008080, 0xc023c476, 0x00009001,
- 0x40002d46, 0x00001583, 0x1e003000, 0x0000e199, 0x1d800e79, 0x0000c299,
- 0x51a3b478, 0x00001119, 0x1e000c46, 0x0000e283, 0x1da25c4b, 0x00000901,
- 0x1daa5d4b, 0x00001911, 0xffffffff, 0x00007f86, 0xc023b77a, 0x00009503,
- 0x0000051b, 0x00007013, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
- 0x00b3beec, 0x0000df02, 0x00005800, 0x00008084, 0x1d800c46, 0x00006283,
- 0x9e001ee3, 0x00000880, 0x9d913546, 0x00006008, 0x9e371a78, 0x00000100,
- 0x4b43d878, 0x0000f902, 0x1e400000, 0x00000004, 0x0000052f, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x9e1bdae5, 0x00009400, 0x9e13c276, 0x00001200,
- 0x801bba78, 0x00001502, 0x1382604c, 0x00006108, 0x13c2684d, 0x0000c908,
- 0x1343a875, 0x00006108, 0x1303a074, 0x0000c908, 0x00000517, 0x00007010,
- 0x92e0027a, 0x00000fbd, 0xffffffff, 0x00007f86, 0x00b3beec, 0x0000df02,
- 0x00005800, 0x00008084, 0x9d998546, 0x0000e000, 0x9e1bcae5, 0x00008400,
- 0x9e13c276, 0x0000e200, 0xffc00000, 0x00008980, 0x801bba78, 0x00001502,
- 0x14828050, 0x0000e108, 0x14c28851, 0x00004908, 0x52fbd77a, 0x00006109,
- 0x1403a074, 0x00004908, 0x1443a875, 0x00009908, 0x00b3beec, 0x0000df02,
- 0x00005800, 0x00008084, 0x0667f819, 0x00007900, 0x003ffffe, 0x00008280,
- 0x60000018, 0x0000e403, 0xc0000019, 0x0000b402, 0xc0000018, 0x0000e403,
- 0x60000019, 0x00003403, 0x84018621, 0x00006283, 0xa0000019, 0x0000a403,
- 0xa0001018, 0x00006412, 0x6000081f, 0x00003413, 0x1d810424, 0x0000e283,
- 0x2000001e, 0x0000a403, 0x60000819, 0x0000e40a, 0xb0000811, 0x0000b409,
- 0x054b3967, 0x0000e108, 0x04080010, 0x00004388, 0x1d81e76a, 0x0000e281,
- 0xb0000011, 0x0000a411, 0x003e1847, 0x00007900, 0x0000000a, 0x00000582,
- 0x9e523a47, 0x0000e130, 0x9e7e2005, 0x00004998, 0x0001e476, 0x0000e583,
- 0xa0000811, 0x00002401, 0x80000098, 0x0000e403, 0xd0000011, 0x0000b401,
- 0x063fe018, 0x0000f908, 0x003ffffe, 0x00008280, 0x07a7f81e, 0x0000f908,
- 0x003ffffe, 0x00008280, 0x00000562, 0x00007408, 0x6a401000, 0x0000e181,
- 0xc413ca79, 0x00004900, 0x1e809c7a, 0x00006189, 0xde400f79, 0x00000189,
- 0x11d3c847, 0x0000e100, 0x09835476, 0x00002006, 0x1e405c7a, 0x00001181,
- 0x1ea3b479, 0x00001101, 0x00000001, 0x00007480, 0x000808ec, 0x0000d780,
- 0x00c06141, 0x00000288, 0x11802046, 0x00006380, 0xde400f79, 0x00008181,
- 0x01801800, 0x0000e181, 0x0013000e, 0x0000e206, 0x82022800, 0x00006181,
- 0x80000006, 0x0000e401, 0x00000876, 0x00006582, 0x04000810, 0x00000380,
- 0x00000876, 0x00009582, 0xffffffff, 0x00007f86, 0x0000057d, 0x00007008,
- 0x0000057a, 0x00007028, 0x00001876, 0x00001582, 0x01803800, 0x0000e189,
- 0x90001810, 0x0000640c, 0x80000806, 0x00006c09, 0x00000001, 0x00007090,
- 0x05810256, 0x00007500, 0x000808ec, 0x0000d780, 0x00c06141, 0x00000288,
- 0xde401779, 0x00001181, 0x0000057f, 0x0000f200, 0x04572961, 0x0000e200,
- 0x90000010, 0x00002404, 0x01803800, 0x00006181, 0x90000810, 0x00006404,
- 0x00000576, 0x0000f200, 0x1e80547a, 0x00009181, 0x000004ea, 0x0000f000,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x40000546, 0x00001583,
- 0x000005a5, 0x0000700b, 0x1d818679, 0x00001080, 0x38400c76, 0x00009881,
- 0xffffffff, 0x00007fc7, 0x18020300, 0x0000f904, 0x01803e60, 0x00009281,
- 0x00000c06, 0x00001583, 0x0000059f, 0x0000700b, 0x05a10567, 0x0000f500,
- 0x01800c46, 0x00001283, 0x1d801800, 0x00006188, 0x1d800000, 0x00004990,
- 0x40000546, 0x00001583, 0x00000586, 0x0000f013, 0xc007ff79, 0x00001583,
- 0xc000081d, 0x0000640a, 0x6000101c, 0x0000b40a, 0xc000081c, 0x0000ec0b,
- 0x059804ea, 0x00007108, 0x1d818679, 0x00001080, 0x38400c76, 0x00009881,
- 0xffffffff, 0x00007fc7, 0x18020300, 0x0000f904, 0x01803e60, 0x00009281,
- 0x00000c06, 0x00001583, 0x0000058d, 0x00007013, 0x05a10567, 0x0000f300,
- 0x1d800800, 0x00001980, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x40000546, 0x00001583, 0x00000586, 0x0000f013, 0x05910002, 0x00007004,
- 0x01400c46, 0x0000e283, 0x01225c4b, 0x00000901, 0x018000c0, 0x00006180,
- 0x012a5d4b, 0x00004911, 0x01800c46, 0x0000e283, 0x02000c46, 0x00008281,
- 0x01803800, 0x0000e189, 0x01801800, 0x00004991, 0x1d840446, 0x00006283,
- 0x02c00000, 0x00000980, 0x1d860424, 0x0000e281, 0x18031062, 0x00008910,
- 0x18431863, 0x0000e110, 0x0000180b, 0x00006106, 0x00020476, 0x00006583,
- 0x03972ae5, 0x00008900, 0x84002302, 0x00006780, 0x02000c08, 0x00008481,
- 0x0e423679, 0x00006000, 0x0f82467a, 0x00003082, 0x07000000, 0x00007900,
- 0x0004000a, 0x00000980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03400800, 0x0000f900, 0x0001c000, 0x00000980, 0xc000180b, 0x0000e006,
- 0x4510800e, 0x00003107, 0x9def2004, 0x00006180, 0x86204006, 0x00006001,
- 0x0218b000, 0x0000f900, 0x00021040, 0x00000980, 0x9ea7f854, 0x000087e7,
- 0x5dc00400, 0x000087d4, 0x1d000000, 0x00006180, 0x5eaa4548, 0x00004901,
- 0x9ec01000, 0x000001e0, 0x06400000, 0x000001e8, 0x06c00000, 0x00006180,
- 0x07400012, 0x00004980, 0x07814000, 0x000081fc, 0x88000000, 0x000080dc,
- 0x03000000, 0x000000fc, 0x02a81402, 0x00008028, 0x04400000, 0x000001c8,
- 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8, 0x05c00784, 0x000006b0,
- 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8,
- 0x1cc00000, 0x000080d4, 0x0000074d, 0x00007408, 0x5e800304, 0x00008180,
- 0x01000802, 0x0000e180, 0x27000000, 0x0000c990, 0x27400000, 0x000009f8,
- 0x27c00000, 0x00000ac0, 0x05e318f9, 0x00007500, 0x28400000, 0x00000ac8,
- 0x28c00000, 0x00001980, 0x26000000, 0x000009d0, 0x25400000, 0x00006180,
- 0x966d4098, 0x00006001, 0x25800000, 0x000089dc, 0x26400000, 0x000009e8,
- 0xea000400, 0x000089ec, 0x5ca00327, 0x0000c491, 0xe20026a8, 0x0000818b,
- 0xfb2016a8, 0x00004488, 0xd4001ea8, 0x00008289, 0x18c00ea8, 0x0000c489,
- 0x08004ea8, 0x0000028c, 0x24c006a8, 0x00007892, 0xe0400000, 0x00008481,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x1d801448, 0x00001283,
- 0x40000546, 0x00001583, 0xffffffff, 0x00007f86, 0x000007ab, 0x00007010,
- 0x000007a4, 0x00007008, 0x1d818679, 0x0000e080, 0x01800c46, 0x00000281,
- 0x38400c76, 0x0000e081, 0x01800c06, 0x00004481, 0x86203006, 0x0000e001,
- 0xb0000811, 0x00003401, 0x01800c46, 0x0000e283, 0x12800000, 0x00000980,
- 0x01801800, 0x00006191, 0x01803800, 0x0000c989, 0xffffffff, 0x00007f97,
- 0x18020300, 0x0000f904, 0xc0000761, 0x00001583, 0x1f7b0aec, 0x0000e111,
- 0x03806761, 0x00008191, 0x1f401c7d, 0x0000e291, 0xf0000810, 0x0000a410,
- 0x000006b8, 0x0000f210, 0x1d8b0961, 0x0000e108, 0x1ee3ec0e, 0x00004011,
- 0xffffffff, 0x00007f86, 0x00000076, 0x00001582, 0x1e003e60, 0x00001289,
- 0x000006ad, 0x00007011, 0x00000c78, 0x00001583, 0x03800c48, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00000ac3, 0x00007008, 0x00000abb, 0x00007010,
- 0x00001c78, 0x00006583, 0x1d807f60, 0x00008281, 0x1e000000, 0x0000e181,
- 0x5e800000, 0x00004989, 0x9e818000, 0x00006189, 0x0013000e, 0x0000e206,
- 0x00004c76, 0x0000e583, 0x34030010, 0x0000a006, 0x1d807f60, 0x00006283,
- 0x1e000800, 0x00000991, 0x1d800000, 0x00001981, 0x1d800800, 0x00001991,
- 0xffffffff, 0x00007f86, 0x1da3b478, 0x00001203, 0x083b0476, 0x0000680e,
- 0x1da3b7e4, 0x00009808, 0x00000ac7, 0x0000f010, 0x00000047, 0x00006582,
- 0xdd93b276, 0x00008900, 0x1e019833, 0x00001908, 0x0000074a, 0x0000f011,
- 0x00000033, 0x00009582, 0xc0000811, 0x0000ec09, 0x000006a6, 0x0000f011,
- 0x80198a31, 0x00001502, 0x0cc22032, 0x00009c10, 0x00000736, 0x00007009,
- 0x1d810446, 0x00009283, 0x0000069c, 0x0000700b, 0x00000033, 0x00006582,
- 0x1e019833, 0x00000900, 0x20619aec, 0x00009111, 0x20401c81, 0x00001291,
- 0x000006a4, 0x00007208, 0x206bd481, 0x00009011, 0xc4008711, 0x0000e283,
- 0x1f13ba77, 0x00008900, 0x1db3d47b, 0x0000e011, 0x1d800000, 0x00000989,
- 0x0005287c, 0x00006502, 0x5ee40c81, 0x00000901, 0x2043c481, 0x0000e000,
- 0xa0000010, 0x00002480, 0x9e440227, 0x0000e080, 0x9f93ba77, 0x00008900,
- 0x000006e2, 0x0000f220, 0x1f113a27, 0x00006128, 0x1e040c76, 0x0000c000,
- 0x00113878, 0x00009502, 0x8013ba79, 0x00001502, 0xffffffff, 0x00007f86,
- 0x000006de, 0x0000f028, 0x000006e0, 0x00007018, 0x20513878, 0x00006100,
- 0x1fc00000, 0x00008981, 0x0004087c, 0x00006502, 0x1e03c0a5, 0x00008100,
- 0x1fc00c7f, 0x00006081, 0x9f93ca77, 0x00008100, 0x1d80fc7f, 0x0000e281,
- 0x1f440878, 0x00000000, 0x0000065d, 0x00007018, 0x8013f279, 0x00001502,
- 0x1fc0fc7f, 0x0000e2b1, 0x20513881, 0x00000130, 0x9f93ca7e, 0x0000e130,
- 0x1f440878, 0x00000030, 0x000006c7, 0x00007018, 0x0004087c, 0x00006502,
- 0x1fc00c7f, 0x00000081, 0x1d80fc7f, 0x00001281, 0x00000653, 0x00007031,
- 0x2943e87d, 0x0000e100, 0xa2a3b010, 0x00006080, 0x1f6bd57a, 0x00009900,
- 0x0004087d, 0x00001502, 0x1e040081, 0x000060a8, 0x1f93f27e, 0x00000928,
- 0x000006cc, 0x0000f021, 0x0003c07e, 0x00001502, 0x294408a5, 0x00006120,
- 0x0d808476, 0x000020a0, 0x1d800c76, 0x000010a1, 0x000006bb, 0x0000f028,
- 0xa2a3b010, 0x0000e880, 0x1d800000, 0x00001981, 0xc4119a33, 0x00006100,
- 0xd0000811, 0x00006401, 0xde000f06, 0x00006283, 0x86023010, 0x00002000,
- 0x00000046, 0x00006c01, 0xde2ffb10, 0x00007900, 0x0000003e, 0x00000282,
- 0xffffffff, 0x00007f86, 0x00000798, 0x00007008, 0x00000781, 0x0000f010,
- 0x00000476, 0x00001583, 0x0000076d, 0x00007013, 0x1d83c410, 0x00009281,
- 0x0003c476, 0x00007890, 0x00000000, 0x00000000, 0x00000310, 0x0000788a,
- 0x00000000, 0x00008020, 0x1bc7ff79, 0x0000c792, 0x0e010711, 0x00000092,
- 0xd607ff79, 0x0000f893, 0x00000001, 0x00000080, 0xffffffff, 0x00007f86,
- 0xc0000310, 0x00001582, 0x0f408476, 0x00006816, 0x1d805c76, 0x00001091,
- 0x00000688, 0x00007010, 0x0000047b, 0x00009583, 0x1d805800, 0x00006191,
- 0x1d805000, 0x0000c989, 0xffffffff, 0x00007f86, 0x0023b47a, 0x00009503,
- 0x00000756, 0x0000702b, 0x068e01d5, 0x0000f204, 0x1d800800, 0x00006180,
- 0x1ea3b47a, 0x00004101, 0x800026a8, 0x00006583, 0x0cd88033, 0x00000100,
- 0x0c988032, 0x0000e108, 0x1298804a, 0x00008108, 0x00000693, 0x0000f011,
- 0x00000032, 0x0000e582, 0xde7d4779, 0x00008101, 0x0000004a, 0x0000e582,
- 0x0c825045, 0x00000c08, 0x12001048, 0x00001390, 0x06990256, 0x0000f109,
- 0x00000033, 0x00009582, 0x000005f1, 0x0000f00b, 0x069c04ea, 0x00007100,
- 0x1f403e60, 0x00009281, 0x0000147d, 0x00001583, 0x1d801448, 0x00001283,
- 0x1d800c46, 0x00009283, 0x00000632, 0x0000f008, 0x00000632, 0x0000f010,
- 0x00000632, 0x0000f010, 0x0cc00000, 0x00001980, 0x00000638, 0x0000f200,
- 0x20400000, 0x00009981, 0x00000033, 0x00006582, 0xc0000011, 0x0000a401,
- 0x20619aec, 0x00009111, 0x20401c81, 0x00001291, 0x00000638, 0x00007210,
- 0x206bd481, 0x00009011, 0x000006a4, 0x00007000, 0x03800c46, 0x00009283,
- 0x0c8b0961, 0x0000e110, 0x128b0961, 0x0000c910, 0x000006b8, 0x0000f011,
- 0x03808446, 0x00009283, 0x000006d3, 0x0000f013, 0x03800c48, 0x00001283,
- 0x128b0961, 0x0000e110, 0x12822961, 0x00004c08, 0xffffffff, 0x00007f86,
- 0x0c825045, 0x00001c00, 0x00000615, 0x0000f200, 0x1e003e60, 0x00009281,
- 0x2043c078, 0x00009900, 0x1d800000, 0x00001981, 0x9f519d7b, 0x00006000,
- 0xd0000011, 0x00002401, 0xc4140a7d, 0x00009100, 0x86023010, 0x0000e000,
- 0x00000046, 0x0000b401, 0xe6000f06, 0x0000788f, 0x00000001, 0x00008000,
- 0xe06ffb10, 0x00007897, 0x0000003f, 0x00000000, 0xdb400476, 0x0000f893,
- 0xb8000000, 0x00008383, 0x2943e87d, 0x0000e100, 0xa2a3b010, 0x00006080,
- 0x1f6bd57a, 0x00009900, 0x0004087d, 0x00001502, 0x000006ce, 0x0000702b,
- 0x00000081, 0x00009582, 0x0000066a, 0x0000700b, 0x0003e881, 0x00001502,
- 0x1d800000, 0x0000e189, 0x294408a5, 0x0000c108, 0x000006bb, 0x0000f011,
- 0x0000066b, 0x00007000, 0x03810446, 0x00006283, 0x1e003e60, 0x00000281,
- 0x000006d9, 0x0000f013, 0x00001478, 0x00001583, 0x12800000, 0x00001990,
- 0x00000615, 0x00007011, 0x0c822045, 0x00009c00, 0x00000615, 0x0000f400,
- 0xffffffff, 0x00007f86, 0x0c8b0832, 0x0000e400, 0x128b0832, 0x0000cc00,
- 0x0000065f, 0x00007200, 0x20440c76, 0x00009000, 0x000006c9, 0x00007200,
- 0x20440c76, 0x00009000, 0x00113878, 0x00006502, 0x1f513a27, 0x00000900,
- 0x001138a5, 0x00009502, 0xffffffff, 0x00007f86, 0x0000070f, 0x00007028,
- 0x000006fc, 0x0000f028, 0x8013ba79, 0x00001502, 0x1fd138a5, 0x0000e130,
- 0x1e113878, 0x00000130, 0x1d800000, 0x000019b1, 0x000006fc, 0x0000f018,
- 0x1d800c76, 0x00006081, 0x9f93ca7e, 0x00008100, 0x00113878, 0x00006502,
- 0x1f00fc76, 0x00008281, 0x0003e87f, 0x00009502, 0x8013ca7e, 0x00001502,
- 0x0000070d, 0x0000f028, 0x000006fa, 0x0000f028, 0x000006fa, 0x0000f028,
- 0x000006ed, 0x00007400, 0x1d80fc76, 0x0000e281, 0x1e113878, 0x00000100,
- 0x1fd1387f, 0x00009100, 0x2943f87f, 0x0000e100, 0xa2a3e010, 0x00006080,
- 0x1f6bd57a, 0x00009900, 0x00000078, 0x00009582, 0x20400000, 0x00009988,
- 0x0000072e, 0x00007011, 0x5d83e510, 0x00009283, 0x0000072b, 0x0000f013,
- 0x80001ea8, 0x00001583, 0x1f4150a5, 0x00009008, 0x00000720, 0x0000f009,
- 0x800016a8, 0x00009583, 0x0000071f, 0x0000700b, 0x00000081, 0x00006582,
- 0x1d800800, 0x00000981, 0x000006bc, 0x0000f013, 0x0000066d, 0x0000f200,
- 0xc4119a33, 0x00006100, 0xd0000811, 0x00006401, 0x2943f87f, 0x0000e100,
- 0xa2a3e010, 0x00006080, 0x002bd078, 0x00006502, 0x1f6bd57a, 0x00000900,
- 0x0003c0a5, 0x00001502, 0xffffffff, 0x00007f86, 0x000006fd, 0x00007030,
- 0x0000072e, 0x00007028, 0x1f040078, 0x0000e080, 0x1f93f27e, 0x00000900,
- 0x0003e07e, 0x00009502, 0x2943c0a5, 0x00006120, 0x0d80847d, 0x0000a0a0,
- 0x1d800000, 0x0000e1a1, 0x1f400c7d, 0x000040a1, 0x0000072e, 0x00007028,
- 0x0000066b, 0x0000f200, 0xa2a3e810, 0x00006880, 0x1f4148a5, 0x00001000,
- 0x1f5a587d, 0x00001100, 0x0001c07d, 0x00009502, 0x001138a5, 0x00009502,
- 0xffffffff, 0x00007f86, 0x00000707, 0x00007010, 0x00000707, 0x00007020,
- 0x20452881, 0x0000e100, 0x0d80847d, 0x00002080, 0x29400000, 0x00006180,
- 0x1f400c7d, 0x0000c081, 0xa2a3e810, 0x00006880, 0x1d800000, 0x00001981,
- 0xaf000081, 0x00007893, 0x50000000, 0x00000388, 0x0003e878, 0x00001502,
- 0x2043c078, 0x00001910, 0x00000700, 0x00007011, 0x0003c0a5, 0x00001502,
- 0x1d800000, 0x0000e1a1, 0x2943c0a5, 0x0000c120, 0x00000741, 0x0000f029,
- 0x0000066b, 0x00007000, 0x9f401ee3, 0x0000e080, 0xc000101c, 0x0000e403,
- 0x9f771a7d, 0x00006100, 0xc000301d, 0x00002406, 0x9f40127d, 0x00009080,
- 0x4b03b07d, 0x0000a004, 0xffffffff, 0x00007f86, 0x074004a4, 0x0000f503,
- 0x1d800c76, 0x00009081, 0x4b03b07d, 0x00002804, 0x074104ea, 0x0000f100,
- 0x0d80847d, 0x00006880, 0x0000047d, 0x00009583, 0x29452a27, 0x00006010,
- 0x1f40fc7d, 0x00008091, 0x2043c227, 0x00006010, 0xa2a3e810, 0x0000a090,
- 0x000006ba, 0x0000f008, 0x000006bc, 0x0000f200, 0x1d800800, 0x00009981,
- 0x074b053b, 0x00007100, 0x7c400033, 0x0000788b, 0xd8000000, 0x00000384,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc,
- 0x07560582, 0x00007404, 0x28000000, 0x00008ac4, 0x28c00000, 0x00008ac8,
- 0x075704a4, 0x00007100, 0x075804ea, 0x00007100, 0x075904a4, 0x0000f100,
- 0x075a04ea, 0x0000f100, 0x075b04a4, 0x00007100, 0x075c04ea, 0x0000f100,
- 0x063fe018, 0x00007900, 0x003ffffe, 0x00008280, 0x076201d5, 0x0000f404,
- 0x07a7f81e, 0x00007900, 0x003ffffe, 0x00008280, 0x1d800000, 0x00009980,
- 0x00000032, 0x0000e582, 0xde400f79, 0x00008181, 0x0c825045, 0x0000e408,
- 0x1e809c7a, 0x00004181, 0x0000004a, 0x0000e582, 0x9dc00000, 0x00000980,
- 0x12001048, 0x0000e390, 0xde7d4779, 0x00008101, 0x076b0256, 0x0000f109,
- 0x7c400033, 0x0000788b, 0xd8000000, 0x00000384, 0x9f401ee3, 0x0000e080,
- 0xa000281c, 0x00006406, 0x9f771a7d, 0x00006100, 0xc000101d, 0x00002402,
- 0x9f40127d, 0x00006080, 0x6000081e, 0x0000a403, 0x4b39607d, 0x0000a084,
- 0xc000101c, 0x00006c03, 0xffffffff, 0x00007f97, 0x0b00082c, 0x00009080,
- 0x077a04a4, 0x0000f500, 0x4b39607d, 0x00002884, 0x0b015227, 0x00001000,
- 0x077b04ea, 0x0000f100, 0x00000310, 0x0000788a, 0x00000000, 0x00008020,
- 0xfba7fc04, 0x0000c793, 0xfde10711, 0x00007091, 0xa007fc04, 0x0000788b,
- 0xc0000000, 0x0000838a, 0x1f470760, 0x00001281, 0x0001047d, 0x00007890,
- 0x00000000, 0x00000000, 0xe200047b, 0x0000f893, 0x00000001, 0x00008060,
- 0xdb400476, 0x0000f893, 0xb8000000, 0x00008383, 0x5d800d10, 0x00006283,
- 0x9f5bb2ec, 0x00008100, 0x0d808478, 0x0000e890, 0x0000078f, 0x0000f009,
- 0x00000c78, 0x00001583, 0xa0000810, 0x00006cb8, 0xc4113a27, 0x00009938,
- 0x9e53eae5, 0x00009400, 0x9e119a79, 0x00009202, 0x0000079f, 0x0000f013,
- 0x00188033, 0x00009502, 0xc418827d, 0x00009218, 0x00000675, 0x0000f031,
- 0xd0000011, 0x00006c01, 0x9dc00476, 0x0000f88b, 0x68000000, 0x0000838b,
- 0xde008711, 0x00009283, 0x04080010, 0x00001390, 0xffffffff, 0x00007f86,
- 0xe06ffb10, 0x00007897, 0x0000003f, 0x00000000, 0xdb400476, 0x0000f893,
- 0xb8000000, 0x00008383, 0x001bb033, 0x00009502, 0xa0000810, 0x0000ec98,
- 0xc4119a79, 0x00001218, 0x00000792, 0x0000f030, 0x00000795, 0x00007000,
- 0x07a50002, 0x00007004, 0x40000546, 0x00001583, 0xc007ff79, 0x00001583,
- 0xffffffff, 0x00007f86, 0x000005f8, 0x0000f010, 0x000007b0, 0x00007008,
- 0x07ab04ea, 0x00007100, 0x00000615, 0x0000f400, 0x01801800, 0x0000e181,
- 0xb0000011, 0x0000e401, 0x1e003e60, 0x00006281, 0x80000006, 0x00002401,
- 0x1f401ea8, 0x00006181, 0x2a400000, 0x00000981, 0x00000c7d, 0x0000e583,
- 0x04000000, 0x00000980, 0x04400000, 0x000001c8, 0x04c00000, 0x000081d0,
- 0x07b9196c, 0x00007530, 0x05400000, 0x000001d8, 0x05c00000, 0x00001980,
- 0x400015a9, 0x0000e583, 0x69000000, 0x00000981, 0x0439f810, 0x00007900,
- 0x003ffffe, 0x00008280, 0x69800400, 0x00008af8, 0x00000b20, 0x0000f208,
- 0x69800000, 0x00001981, 0x40000da9, 0x00001583, 0x00000ad0, 0x0000f00b,
- 0x07c31a1c, 0x0000f100, 0x0227f808, 0x00007900, 0x003ffffe, 0x00008280,
- 0xd0003009, 0x0000e404, 0x30002010, 0x00003404, 0x037f800d, 0x00007900,
- 0x003ffffe, 0x00008280, 0x90000009, 0x00006401, 0x8000000d, 0x0000b403,
- 0x82021800, 0x00006181, 0x05c42084, 0x0000c900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec, 0x0000d780,
- 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x9dc40277, 0x0000e180, 0x1e80547a, 0x00000181,
- 0x000007aa, 0x0000f200, 0xde7d4779, 0x00001101, 0x0001c02a, 0x0000e502,
- 0x80001011, 0x00002403, 0x1e019833, 0x0000e100, 0xa000281c, 0x0000e416,
- 0x1d804446, 0x00006283, 0x29513a27, 0x00000900, 0x0001483b, 0x00001502,
- 0xffffffff, 0x00007f86, 0x000007e3, 0x00007008, 0x000007f6, 0x0000f008,
- 0x9f401ee3, 0x0000e080, 0xa000081f, 0x00006401, 0x1fc24849, 0x00006100,
- 0x9f771a7d, 0x0000c100, 0x9f400a7d, 0x00009080, 0x4b01d87d, 0x0000f902,
- 0x0cc00000, 0x00008004, 0xffffffff, 0x00007fa7, 0x0ec0083b, 0x00001082,
- 0x0cc00033, 0x00009084, 0x07f10411, 0x00007404, 0x4b39d87d, 0x0000d004,
- 0x00399800, 0x00008000, 0x9f794848, 0x0000032c, 0x00000047, 0x00006582,
- 0x1243f87f, 0x00008900, 0xd213ea7d, 0x0000e100, 0x00019866, 0x00006216,
- 0xffffffff, 0x00007f86, 0x80000666, 0x00006583, 0x1f404766, 0x00000880,
- 0x1f43ef67, 0x00006300, 0x5e800000, 0x000009c9, 0x9e818000, 0x0000e1c9,
- 0x0003e80e, 0x00006206, 0x00000047, 0x00006582, 0x0823547d, 0x00002006,
- 0x01801800, 0x0000e181, 0x1f63efe4, 0x00004800, 0x32435010, 0x0000e006,
- 0x80000006, 0x0000b401, 0x0000083a, 0x00007210, 0x9d93ea7d, 0x00009900,
- 0x1e404446, 0x00009283, 0x08033033, 0x00006a16, 0xffffffff, 0x00007f86,
- 0x00000033, 0x00009582, 0x1f400000, 0x00006189, 0xc0000011, 0x0000e411,
- 0x1ec0156a, 0x00006089, 0x08033033, 0x0000e20e, 0x00000814, 0x0000f010,
- 0x4000056a, 0x00006583, 0xc0000811, 0x00002401, 0x1f400800, 0x00009991,
- 0xffffffff, 0x00007f86, 0x1f40156a, 0x0000e081, 0xf3e3e810, 0x00006000,
- 0x0ce3e833, 0x00009100, 0x00000033, 0x00006582, 0x1f113829, 0x00008000,
- 0x1f619aec, 0x00006111, 0x1f400000, 0x00008989, 0xa02f2004, 0x0000e180,
- 0x9fc40227, 0x00004080, 0x1f401c7d, 0x00001291, 0x0003e038, 0x0000e502,
- 0x1f6bd47d, 0x00000011, 0x1f014b4b, 0x00009168, 0x2941c07c, 0x0000e068,
- 0x5ee3ec7d, 0x00000901, 0xc4008711, 0x0000e283, 0x1f419c7d, 0x00008000,
- 0x20f3d47b, 0x0000e011, 0x20c00000, 0x00000989, 0xa0000010, 0x00006c80,
- 0x1f6f2004, 0x0000e180, 0x20c3ec83, 0x00004000, 0x0005287d, 0x00001502,
- 0x1f913a27, 0x00009928, 0x000008ad, 0x0000f021, 0x0004187e, 0x00009502,
- 0x8013ba7f, 0x00001502, 0xffffffff, 0x00007f86, 0x000008a2, 0x0000f018,
- 0x00000843, 0x0000f018, 0x1f400800, 0x00006181, 0x20513883, 0x00004100,
- 0x0004087e, 0x0000e502, 0xa013fa80, 0x00008100, 0x1e400c7d, 0x000010b1,
- 0x000008a0, 0x0000f019, 0x8014027f, 0x00009502, 0x1f40fc79, 0x000062b1,
- 0x20513881, 0x00000130, 0x00000841, 0x0000f019, 0x00000831, 0x0000f000,
- 0x0877053b, 0x0000f300, 0x11804046, 0x00009380, 0x084104ea, 0x00007500,
- 0xc000101c, 0x0000e403, 0xc000101d, 0x0000b402, 0x0b01502a, 0x00006100,
- 0x6000081e, 0x00006403, 0x20c40881, 0x00006100, 0xa2a3e810, 0x0000e080,
- 0x002bd083, 0x0000e502, 0x1f6bd57a, 0x00000900, 0x0000085d, 0x0000f033,
- 0x9f519d7b, 0x00006000, 0xd0000011, 0x00002401, 0xc4141a7d, 0x00001100,
- 0xdd800f06, 0x0000e283, 0x86023010, 0x00002000, 0x00000046, 0x00006c01,
- 0x0000084f, 0x0000f011, 0xdd808711, 0x00001283, 0x04080010, 0x00001390,
- 0xffffffff, 0x00007f86, 0xddaffb10, 0x0000f900, 0x0000003e, 0x00000282,
- 0x0000087e, 0x0000f013, 0x1f43c410, 0x00001281, 0x0003c47d, 0x00009583,
- 0x09835476, 0x0000e816, 0x1e405c76, 0x00001091, 0x00000869, 0x0000f008,
- 0xc0000310, 0x00001582, 0x00000862, 0x0000700b, 0x087401d5, 0x00007404,
- 0x1d800800, 0x00001980, 0x1ea3cc7a, 0x00001101, 0x00000083, 0x00001582,
- 0x00000866, 0x0000f013, 0x00000849, 0x00007200, 0xc4119a33, 0x00006100,
- 0xd0000811, 0x00006401, 0x0000085a, 0x0000f400, 0x0000047b, 0x00006583,
- 0x1e63b479, 0x00008101, 0x1e400c79, 0x00009189, 0x0003e883, 0x00009502,
- 0x00000846, 0x00007013, 0x0000085f, 0x00007000, 0xc0000310, 0x00001582,
- 0x09835476, 0x0000e80e, 0x1e405c76, 0x00001089, 0x00000862, 0x00007008,
- 0x087101d5, 0x00007404, 0x063fe018, 0x00007900, 0x003ffffe, 0x00008280,
- 0x1d800000, 0x00009980, 0x1e809c7a, 0x0000e181, 0x9dc00000, 0x00000980,
- 0xde400f79, 0x00001181, 0x11bf9846, 0x00007900, 0x003ffffe, 0x00008280,
- 0xde7d4779, 0x00001101, 0x80001679, 0x00006583, 0x0cc3c078, 0x00000900,
- 0x0000069b, 0x0000f013, 0x1bbb5f6a, 0x0000063c, 0x083c04ea, 0x00007500,
- 0x1b3b4f68, 0x00000634, 0x1afb3767, 0x00000628, 0x1f47046a, 0x00001281,
- 0x0001047d, 0x00001583, 0x0000047b, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00000853, 0x0000f010, 0x00000853, 0x0000f010, 0x5e400d10, 0x00006283,
- 0x9f53b2ec, 0x00000100, 0x0d808479, 0x00006890, 0x0000088b, 0x00007009,
- 0x00000c79, 0x00009583, 0xa0000810, 0x00006cb8, 0xc4113a27, 0x00009938,
- 0x9f13eae5, 0x00009400, 0x9e519a7c, 0x00001202, 0x00000a2b, 0x00007013,
- 0x00188033, 0x00009502, 0xc418827d, 0x00009218, 0x00000853, 0x0000f031,
- 0x00000853, 0x0000f200, 0xd0000011, 0x00006c01, 0x01000020, 0x00006180,
- 0x02000000, 0x0000c980, 0x03652800, 0x0000f900, 0x001229fc, 0x00000980,
- 0x03bca800, 0x0000f900, 0x003982ae, 0x00000980, 0x01800000, 0x000080dc,
- 0x81001000, 0x00009980, 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106,
- 0x08a01bac, 0x00007500, 0x82600500, 0x00008026, 0x02c01002, 0x00001900,
- 0x20c40881, 0x00006100, 0xa2a3e810, 0x0000e080, 0x002bd083, 0x0000e502,
- 0x1f6bd57a, 0x00000900, 0x1f440083, 0x0000e098, 0x20140280, 0x00008918,
- 0x0000085d, 0x00007031, 0x0003e880, 0x00009502, 0x00000846, 0x0000f02b,
- 0x0d80847d, 0x00006880, 0x0000085f, 0x0000f400, 0x1f400c7d, 0x00009081,
- 0xa2a3e810, 0x00006880, 0x1f913a27, 0x00009900, 0x0004187e, 0x00009502,
- 0x0005287e, 0x00001502, 0xffffffff, 0x00007f86, 0x00000a99, 0x0000f018,
- 0x00000a89, 0x00007018, 0x802f227f, 0x00007900, 0x00000008, 0x00008582,
- 0x1f1138a5, 0x0000e130, 0x20d13883, 0x00000130, 0x1f400000, 0x000099b1,
- 0x00000a89, 0x00007018, 0x1e400c7d, 0x0000e081, 0xa013fa80, 0x00008100,
- 0x00113883, 0x0000e502, 0x1f40fc79, 0x00000281, 0x0003e07e, 0x00009502,
- 0x8014027f, 0x00009502, 0x00000a97, 0x00007028, 0x00000a87, 0x0000f018,
- 0x00000a87, 0x0000f018, 0x000008b9, 0x00007400, 0x1f40fc79, 0x00006281,
- 0x20d13883, 0x00000100, 0x1f11387c, 0x00009100, 0x0001c02a, 0x0000e502,
- 0x80001811, 0x0000a403, 0x11bfb846, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0b01c038, 0x0000e110, 0x65b5401e, 0x0000e013, 0x000008d8, 0x0000f008,
- 0x9f401ee3, 0x0000e080, 0xa2b5401c, 0x0000e002, 0x9f771a7d, 0x00006100,
- 0xc335401c, 0x00002002, 0x4b02387d, 0x00007902, 0x0cc00000, 0x00008004,
- 0xffffffff, 0x00007fa7, 0x11c00847, 0x00001082, 0x0cc00033, 0x00009084,
- 0x4b3a387d, 0x00005004, 0x00399800, 0x00008000, 0x08d90411, 0x0000f004,
- 0x1f404766, 0x0000e080, 0x01801800, 0x0000c981, 0x1f43ef67, 0x00006300,
- 0x32435010, 0x00002006, 0x0003e80e, 0x00006206, 0x80000006, 0x0000b401,
- 0x11802046, 0x00006380, 0x05800800, 0x00000981, 0x08e41a1c, 0x00007500,
- 0xa9200400, 0x00008ad9, 0xa9800400, 0x00008af8, 0x000808ec, 0x0000d780,
- 0x00c06141, 0x00000288, 0x1e80547a, 0x00006181, 0xde7d4779, 0x00008101,
- 0xa6c01679, 0x00007893, 0xd0000000, 0x00008483, 0x1f45282a, 0x0000e000,
- 0x01801800, 0x00000981, 0x0003e838, 0x00006502, 0x6000081e, 0x0000a403,
- 0x1f41534b, 0x0000e168, 0xa000281c, 0x0000a406, 0x0b01c038, 0x00006100,
- 0x80000006, 0x0000e401, 0x2941c07d, 0x00009068, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x1d802446, 0x00006283, 0x80000811, 0x00002403,
- 0x1ac00000, 0x00006188, 0x1f01502a, 0x0000c908, 0x08fa027a, 0x0000f00d,
- 0x80000666, 0x00006583, 0x1f404766, 0x00000880, 0x1f43ef67, 0x00006300,
- 0x5e800000, 0x000009c9, 0x9e818000, 0x0000e1c9, 0x0003e80e, 0x00006206,
- 0x00000047, 0x00006582, 0x0823547d, 0x00002006, 0x1f63efe4, 0x00006000,
- 0x32435010, 0x0000e006, 0x11802046, 0x00006380, 0x1e00156a, 0x00000881,
- 0x0000093a, 0x0000f210, 0x9d93ea7d, 0x0000e100, 0x1ec0156a, 0x0000c881,
- 0x00000033, 0x00009582, 0x1f400000, 0x00006189, 0xc0000011, 0x0000e411,
- 0x00000914, 0x0000f011, 0x4000056a, 0x00006583, 0xc0000811, 0x00002401,
- 0x1f400800, 0x00009991, 0xffffffff, 0x00007f86, 0x0803307d, 0x00006206,
- 0xf3e3e810, 0x00003000, 0x0ce3c07d, 0x00009100, 0x00000033, 0x00006582,
- 0x9fc40227, 0x00008080, 0x1f619aec, 0x00006111, 0x1f400000, 0x00008989,
- 0xa013ba77, 0x00009900, 0x1f401c7d, 0x00001291, 0xc4008711, 0x0000e283,
- 0x1f6bd47d, 0x00000011, 0x1fb3d47b, 0x00006011, 0x1f800000, 0x00008989,
- 0x5ee3ec7d, 0x0000e101, 0xa0000010, 0x0000e480, 0x1f419c7d, 0x00001000,
- 0x1f53ba77, 0x0000e100, 0x1f83ec7e, 0x00004000, 0x0005287d, 0x00001502,
- 0x1f513a27, 0x00009928, 0x000009ec, 0x00007021, 0x0003f07d, 0x00001502,
- 0x8013ba7f, 0x00001502, 0xffffffff, 0x00007f86, 0x000009de, 0x0000f018,
- 0x00000941, 0x0000f018, 0x1e11387e, 0x00006100, 0x1e400000, 0x00008981,
- 0x1f03f0a5, 0x00009100, 0x20800c79, 0x0000e081, 0xa013fa80, 0x00008100,
- 0x0003c07d, 0x0000e502, 0x1f83c07c, 0x00008000, 0x1e40fc82, 0x00009281,
- 0x8014027f, 0x00009502, 0xffffffff, 0x00007f86, 0x000009db, 0x0000f018,
- 0x0000093e, 0x00007018, 0x0000092e, 0x00007200, 0x1e113878, 0x00006100,
- 0x1e40fc82, 0x00000281, 0x093b053b, 0x00007100, 0x00000033, 0x00009582,
- 0x000008f3, 0x0000f00b, 0x093e04ea, 0x0000f100, 0x2943f07e, 0x0000e100,
- 0xa2a3c810, 0x00006080, 0x1f83c078, 0x00009900, 0x1f6bd57a, 0x00009900,
- 0x0003f07d, 0x0000f820, 0x00000000, 0x00000000, 0x7480007e, 0x0000788a,
- 0x00400001, 0x00008010, 0x746bd07e, 0x0000780a, 0x00400001, 0x00008080,
- 0x1e000000, 0x00009981, 0x9f519d7b, 0x00006000, 0xd0000011, 0x00002401,
- 0xc413f27d, 0x00009100, 0xdd800f06, 0x0000e283, 0x86023010, 0x00002000,
- 0x00000046, 0x00006c01, 0x00000952, 0x00007011, 0xdd808711, 0x00001283,
- 0x04080010, 0x00001390, 0xffffffff, 0x00007f86, 0xddaffb10, 0x0000f900,
- 0x0000003e, 0x00000282, 0x000009ba, 0x0000f013, 0x00000478, 0x00009583,
- 0x00000966, 0x0000700b, 0x9f401ee3, 0x0000e080, 0xa000281c, 0x00006406,
- 0x9f771a7d, 0x00006100, 0xc000101d, 0x00002402, 0x9f40127d, 0x00006080,
- 0x6000081e, 0x0000a403, 0x4b39607d, 0x0000a084, 0xc000101c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x0b00082c, 0x00009080, 0x096504a4, 0x0000f500,
- 0x4b39607d, 0x00002884, 0x0b015227, 0x00001000, 0x096604ea, 0x00007100,
- 0x1f43c410, 0x00001281, 0x0003c47d, 0x0000f890, 0x00000000, 0x00000000,
- 0x00000310, 0x0000788a, 0x00000000, 0x00008020, 0x0867ff79, 0x0000c793,
- 0x04410711, 0x00008092, 0x6b07ff79, 0x00007892, 0x00400001, 0x00008080,
- 0xffffffff, 0x00007f86, 0xc0000310, 0x00001582, 0x0f40847d, 0x0000e816,
- 0x1f405c7d, 0x00001091, 0x00000977, 0x00007010, 0x0000047b, 0x00009583,
- 0x1f405800, 0x0000e191, 0x1f405000, 0x00004989, 0xffffffff, 0x00007f86,
- 0x0023ec7a, 0x00001503, 0x0000097c, 0x0000f023, 0x097b04a4, 0x00007100,
- 0x097c04ea, 0x0000f100, 0x097f01d5, 0x00007204, 0x1d800800, 0x00006180,
- 0x1ea3ec7a, 0x0000c101, 0x800026a8, 0x00006583, 0x0cd88033, 0x00000100,
- 0x0c988032, 0x0000e108, 0x1298804a, 0x00008108, 0x00000984, 0x0000f011,
- 0x00000033, 0x00006582, 0xde7d4779, 0x00008101, 0x9f401ee3, 0x00006088,
- 0x9d800b48, 0x00004088, 0x9f771a7d, 0x0000e108, 0xd2000b48, 0x00008088,
- 0x0000069b, 0x0000f010, 0x4b63ea7d, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x8013ea76, 0x0000e502, 0x0803307d, 0x0000a206, 0x80000666, 0x00006583,
- 0xd2000000, 0x00000988, 0x1e03ee7a, 0x00009040, 0x1d824878, 0x00001040,
- 0x000009a4, 0x00007048, 0x9e020666, 0x00006283, 0x12424878, 0x00000000,
- 0x0000007d, 0x00009582, 0xffffffff, 0x00007f86, 0x0000099e, 0x0000f008,
- 0x0000099e, 0x0000f008, 0x1f43eaec, 0x00001100, 0x1f40187d, 0x00009280,
- 0x1f43ed7a, 0x00001000, 0x1243b07d, 0x00009000, 0xc0118b48, 0x00001502,
- 0x11bfd846, 0x0000f900, 0x003ffffe, 0x00008280, 0x09a204ea, 0x0000f109,
- 0x3cc00033, 0x0000f88a, 0xe8400000, 0x00008489, 0x0000007d, 0x00006582,
- 0x12418049, 0x00008080, 0x1243e849, 0x00006000, 0x1d83e849, 0x00000000,
- 0x1f43eaec, 0x00009110, 0x0000099e, 0x0000f008, 0x0000099d, 0x0000f200,
- 0x1f40187d, 0x00009280, 0x09ad04a4, 0x0000f100, 0x09ae04ea, 0x0000f100,
- 0x09af04a4, 0x00007100, 0x09b004ea, 0x0000f100, 0x063fe018, 0x00007900,
- 0x003ffffe, 0x00008280, 0x09b601d5, 0x00007404, 0x07a7f81e, 0x00007900,
- 0x003ffffe, 0x00008280, 0x1d800000, 0x00009980, 0x00000984, 0x00007400,
- 0x1e809c7a, 0x0000e181, 0x9dc00000, 0x00000980, 0xde400f79, 0x00001181,
- 0x1f47046a, 0x00001281, 0x0001047d, 0x00007890, 0x00000000, 0x00000000,
- 0x7040047b, 0x00007892, 0x00400001, 0x00000060, 0x59800478, 0x0000f88a,
- 0xc0400000, 0x0000848a, 0x5e000d10, 0x0000e283, 0x9f53b2ec, 0x00000100,
- 0x0d808479, 0x00006890, 0x000009c8, 0x00007009, 0x00000c79, 0x00009583,
- 0xa0000810, 0x00006cb8, 0xc4113a27, 0x00009938, 0x9f13eae5, 0x00009400,
- 0x9e519a7c, 0x00001202, 0x000009d6, 0x0000f013, 0x00188033, 0x00009502,
- 0xc418827d, 0x00009218, 0x00000956, 0x00007031, 0xd0000011, 0x00006c01,
- 0x59800478, 0x0000f88a, 0xc0400000, 0x0000848a, 0x2943f0a5, 0x00001100,
- 0x1e000000, 0x00009981, 0x0000094c, 0x0000f200, 0xc4119a33, 0x00006100,
- 0xd0000811, 0x00006401, 0x0013b033, 0x00001502, 0xa0000810, 0x0000ec98,
- 0xc4119a7c, 0x00001218, 0x000009cb, 0x00007030, 0x000009ce, 0x00007000,
- 0x2943f07e, 0x0000e100, 0xa2a3c810, 0x00006080, 0x1f83c078, 0x00009900,
- 0x1f6bd57a, 0x00009900, 0x3c63f77d, 0x00004429, 0xa400007e, 0x0000028b,
- 0x746bd07e, 0x0000780a, 0x40400000, 0x0000048a, 0x1f44007e, 0x00006080,
- 0x20140280, 0x00008900, 0x0003e880, 0x00009502, 0x00000948, 0x0000f02b,
- 0x2943f0a5, 0x0000e100, 0x0d80847d, 0x00002080, 0x000009d2, 0x00007400,
- 0x1f400c7d, 0x00009081, 0xa2a3e810, 0x00006880, 0x1e113a27, 0x00009900,
- 0x0003f078, 0x00001502, 0x00052878, 0x00001502, 0xffffffff, 0x00007f86,
- 0x00000a5b, 0x00007018, 0x00000a49, 0x00007018, 0x8013ba7f, 0x00001502,
- 0x1f1138a5, 0x0000e130, 0x1f91387e, 0x00000130, 0x1e400800, 0x000099b1,
- 0x00000a49, 0x00007018, 0x0003f078, 0x0000e502, 0xa013fa80, 0x00008100,
- 0x0003e078, 0x00009502, 0xffffffff, 0x00007f86, 0x00000a59, 0x0000f018,
- 0x00000a47, 0x0000f018, 0x8014027f, 0x00006502, 0x1f400c79, 0x00008081,
- 0x1f91387e, 0x00006130, 0x1e40fc7d, 0x000002b1, 0x1f11387c, 0x00009130,
- 0x00000a47, 0x0000f018, 0x000009f7, 0x00007000, 0x04004446, 0x00006283,
- 0x04400000, 0x00008980, 0x11bf9846, 0x0000f910, 0x003ffffe, 0x00008280,
- 0x11c00000, 0x0000e190, 0xd2c00000, 0x0000c990, 0x400015a9, 0x0000e583,
- 0x04800000, 0x00008980, 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8,
- 0x05e00000, 0x00008ad2, 0x00000a45, 0x00007408, 0x69800400, 0x00008af8,
- 0x04200000, 0x00008ada, 0x40000da9, 0x00001583, 0x00000a30, 0x0000700b,
- 0x0a151a1c, 0x0000f100, 0x0227f808, 0x00007900, 0x003ffffe, 0x00008280,
- 0xd0003009, 0x0000e404, 0x30002010, 0x00003404, 0x037f800d, 0x00007900,
- 0x003ffffe, 0x00008280, 0x90000009, 0x00006401, 0x8000000d, 0x0000b403,
- 0x82021800, 0x00006181, 0x05c42084, 0x0000c900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec, 0x0000d780,
- 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x9dc40277, 0x0000e180, 0x1e80547a, 0x00000181,
- 0x0a2b04ea, 0x0000f300, 0xde7d4779, 0x00001101, 0x0013b033, 0x00001502,
- 0xa0000810, 0x0000ec98, 0xc4119a7c, 0x00001218, 0x0000088e, 0x00007030,
- 0x00000891, 0x0000f000, 0x0a311a1c, 0x0000f100, 0x0227f808, 0x00007900,
- 0x003ffffe, 0x00008280, 0x04002010, 0x00006380, 0xd0003009, 0x00002404,
- 0x037f800d, 0x00007900, 0x003ffffe, 0x00008280, 0x90000009, 0x00006401,
- 0x8000000d, 0x0000b403, 0x82021800, 0x00006181, 0x05c42084, 0x0000c900,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008010ec, 0x0000d780, 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000a29, 0x0000f200,
- 0x1e80547a, 0x00009181, 0x0a461a1c, 0x0000f100, 0x0a4704ea, 0x00007100,
- 0x2943e07c, 0x0000e100, 0xa2a3c810, 0x00006080, 0x1f6bd57a, 0x00009900,
- 0x0000007e, 0x00007888, 0x00000000, 0x00000000, 0x0003e87e, 0x00007812,
- 0x00000000, 0x00008020, 0xf063f7a5, 0x00004a22, 0x0223e510, 0x00000393,
- 0xffffffff, 0x00007f86, 0x80001ea8, 0x00001583, 0x1f4150a5, 0x00009008,
- 0x00000a79, 0x00007009, 0x800016a8, 0x00009583, 0x00000a78, 0x0000700b,
- 0x1e000800, 0x00001981, 0x74c0007e, 0x0000f88a, 0x48400000, 0x0000848a,
- 0x2943e07c, 0x0000e100, 0xa2a3c810, 0x00006080, 0x1f6bd57a, 0x00009900,
- 0x92abd07e, 0x00007832, 0x00400001, 0x00000000, 0x9985287e, 0x00007832,
- 0x00400001, 0x00000000, 0x002bd07e, 0x0000f812, 0x00000000, 0x00000000,
- 0x7443f0a5, 0x0000f822, 0x80400000, 0x00008583, 0xa103e510, 0x0000f896,
- 0x80400000, 0x00000582, 0x1f04007e, 0x0000e080, 0x20140280, 0x00008900,
- 0x79c3e080, 0x0000f822, 0x00400001, 0x00000000, 0x002bd07e, 0x0000f812,
- 0x00000000, 0x00000000, 0x7443f0a5, 0x0000f822, 0x80400000, 0x00008583,
- 0xa103e510, 0x0000f896, 0x80400000, 0x00000582, 0x0d80847d, 0x00006880,
- 0x0000047d, 0x00009583, 0x29452a27, 0x00006010, 0x1f40fc7d, 0x00008091,
- 0x1f83f227, 0x00006010, 0xa2a3e810, 0x0000a090, 0x00000948, 0x00007008,
- 0x00000a56, 0x0000f000, 0x1f4148a5, 0x00001000, 0x1f5a587d, 0x00001100,
- 0x0001c07d, 0x00009502, 0x00052878, 0x00001502, 0xffffffff, 0x00007f86,
- 0x00000a56, 0x00007010, 0x00000a56, 0x0000f030, 0x1f85287e, 0x0000e100,
- 0x0d80847d, 0x00002080, 0x29400000, 0x00006180, 0x1f400c7d, 0x0000c081,
- 0xa2a3e810, 0x00006880, 0x1e000000, 0x00009981, 0x74c0007e, 0x0000f88a,
- 0x48400000, 0x0000848a, 0x2943e07c, 0x0000e100, 0xa2a3e810, 0x0000e080,
- 0x1f6bd57a, 0x00009900, 0x00000083, 0x0000f888, 0x00000000, 0x00000000,
- 0x0003e883, 0x0000f812, 0x00000000, 0x00008020, 0xba241fa5, 0x00004722,
- 0x01a3e510, 0x0000008a, 0x17c00083, 0x0000788a, 0x30400000, 0x00000482,
- 0x80001ea8, 0x00001583, 0x1f4150a5, 0x00009008, 0x00000ab1, 0x0000f009,
- 0x036016a8, 0x0000c588, 0xdca00083, 0x0000db88, 0x2943e07c, 0x0000e100,
- 0xa2a3e810, 0x0000e080, 0x1f6bd57a, 0x00009900, 0xa2abd083, 0x0000f832,
- 0x00400001, 0x00000000, 0xa9052883, 0x00007832, 0x00400001, 0x00000000,
- 0x002bd083, 0x00007812, 0x00000000, 0x00000000, 0xb7e41fa5, 0x0000c722,
- 0x0083e510, 0x0000ff89, 0x17c00083, 0x0000788a, 0x30400000, 0x00000482,
- 0x1f040083, 0x00006080, 0x20140280, 0x00008900, 0x2a43e080, 0x00007822,
- 0xf0400000, 0x00008584, 0x0d80847d, 0x00006880, 0x0000047d, 0x00009583,
- 0x20c41a27, 0x00006010, 0x1f40fc7d, 0x00008091, 0xa2a3e810, 0x0000e890,
- 0x00000846, 0x00007008, 0x17c00083, 0x0000788a, 0x30400000, 0x00000482,
- 0x1f452829, 0x00001000, 0x1f5a587d, 0x00001100, 0x0043ef38, 0x00004509,
- 0x5ac00083, 0x0000598a, 0x0005287e, 0x00001502, 0x20c52883, 0x0000e118,
- 0x0d80847d, 0x00002098, 0x1f400c7d, 0x00009099, 0xa2a3e810, 0x00006898,
- 0x17c00083, 0x0000788a, 0x30400000, 0x00000482, 0x03800c46, 0x00009283,
- 0x00000615, 0x0000f00b, 0x00002478, 0x00001583, 0x01801800, 0x00006191,
- 0xb6fb0811, 0x0000e011, 0x00000615, 0x0000f400, 0x80000006, 0x0000ec11,
- 0x863b0806, 0x00006811, 0x0ac50567, 0x00007300, 0x1d800800, 0x00001980,
- 0x00000615, 0x0000f200, 0x1e003e60, 0x00009281, 0x01000020, 0x00006180,
- 0x02000000, 0x0000c980, 0x037ca000, 0x00007900, 0x00310908, 0x00008980,
- 0x0381f000, 0x0000f900, 0x00336284, 0x00000980, 0x0000089b, 0x00007400,
- 0x01800000, 0x000080dc, 0x81001000, 0x00009980, 0x0ad11a1c, 0x00007100,
- 0x0227f808, 0x00007900, 0x003ffffe, 0x00008280, 0x04002010, 0x00006380,
- 0xd0003009, 0x00002404, 0x037f800d, 0x00007900, 0x003ffffe, 0x00008280,
- 0x90000009, 0x00006401, 0x8000000d, 0x0000b403, 0x82021800, 0x00006181,
- 0x05c42084, 0x0000c900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008010ec, 0x0000d780, 0x00c06141, 0x00000288,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x000007d7, 0x0000f200, 0x1e80547a, 0x00009181, 0x00000047, 0x00009582,
- 0x1f593833, 0x00006108, 0x11d93847, 0x00000110, 0x0cd93833, 0x00009108,
- 0x00000b14, 0x0000f010, 0x1d801446, 0x00009283, 0x1f59384a, 0x0000e108,
- 0x1d993832, 0x00000108, 0x1299384a, 0x00006108, 0x0c993832, 0x00000108,
- 0x00000af6, 0x00007010, 0x00000076, 0x00001582, 0x0000007d, 0x00006582,
- 0x0c82287d, 0x00008c08, 0x12001048, 0x00001390, 0x00000b14, 0x00007011,
- 0x0b140256, 0x00007100, 0x0000007d, 0x00009582, 0x80000ea8, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00000b14, 0x0000f010, 0x00000b14, 0x0000f008,
- 0x9f401ee3, 0x0000e080, 0x9d800b48, 0x0000c080, 0xd2000b48, 0x00006080,
- 0x9f771a7d, 0x00000100, 0x4b63ea7d, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x8013ea76, 0x0000e502, 0x0803307d, 0x0000a206, 0x80000666, 0x00006583,
- 0xd2000000, 0x00000988, 0x1e03ee7a, 0x00009040, 0x1d824878, 0x00001040,
- 0x00000b18, 0x00007048, 0x89c20666, 0x00006283, 0x12424878, 0x00000000,
- 0x0000007d, 0x00009582, 0xffffffff, 0x00007f86, 0x00000b12, 0x0000f008,
- 0x00000b12, 0x0000f008, 0x1f43eaec, 0x00001100, 0x1f40187d, 0x00009280,
- 0x1f43ed48, 0x00009000, 0x1243b07d, 0x00009000, 0x11bfd846, 0x0000f900,
- 0x003ffffe, 0x00008280, 0xc9c00000, 0x00006180, 0x8000081e, 0x00006402,
- 0x7c4026a8, 0x0000788b, 0x58000000, 0x0000828f, 0x0000007d, 0x00006582,
- 0x12418049, 0x00008080, 0x1243e849, 0x00006000, 0x1d83e849, 0x00000000,
- 0x1f43eaec, 0x00009110, 0x00000b12, 0x0000f008, 0x00000b11, 0x0000f200,
- 0x1f40187d, 0x00009280, 0x07aa1a1c, 0x0000f100, 0x000007aa, 0x00007000,
- 0x28c09800, 0x00007900, 0x00003c00, 0x00008980, 0x297b7f6e, 0x00000a10,
- 0xc15722e4, 0x00009900, 0x0b2720af, 0x00007004, 0x000004a2, 0x00001583,
- 0x81ff1fe3, 0x00001908, 0x8a003407, 0x00002088, 0x00000b30, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x01c03c06, 0x00009281, 0x01801407, 0x00009181,
- 0x00000c06, 0x00001583, 0x00000b35, 0x0000701b, 0x26bd9000, 0x00007900,
- 0x0004d7da, 0x00008980, 0x0b351c61, 0x00007500, 0x267b7f6e, 0x00000920,
- 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x303854af, 0x0000a000, 0x81800008, 0x000080e0,
- 0x30783aaf, 0x00002080, 0x01e03406, 0x00006301, 0xb9182b05, 0x00004900,
- 0x00285008, 0x0000e886, 0x04305008, 0x0000e887, 0x02e03e07, 0x0000e100,
- 0x04303809, 0x0000a087, 0x01805c0a, 0x00006000, 0x86205009, 0x00006087,
- 0x02603e07, 0x0000e101, 0x0010300d, 0x0000a186, 0x01805d0a, 0x0000e000,
- 0x42603e07, 0x0000c101, 0x02c05e0a, 0x00006000, 0x0010300c, 0x0000e186,
- 0x01a03e07, 0x0000e101, 0x00105816, 0x00002186, 0x01a037e4, 0x00006000,
- 0x42000e0a, 0x0000c881, 0x01808000, 0x00006181, 0xc3400a06, 0x00004180,
- 0x31c0c4af, 0x00007902, 0x05c00000, 0x00000000, 0x01e03406, 0x00006301,
- 0x0418680c, 0x0000e187, 0x01a03e07, 0x0000e101, 0x82a03e07, 0x00000101,
- 0x81d05a0b, 0x00006300, 0x01a037e4, 0x00004800, 0x01804000, 0x00006181,
- 0xc5800a06, 0x00004180, 0xffffffff, 0x00007f86, 0x02a03406, 0x00009b01,
- 0x01a05607, 0x00001100, 0x00103806, 0x00001502, 0x01e05607, 0x00001149,
- 0xffffffff, 0x00007f86, 0x01a03fe4, 0x0000e000, 0x8620380a, 0x0000e087,
- 0x82800a06, 0x0000e180, 0x81c01ee3, 0x00008880, 0x81f71ee3, 0x0000e100,
- 0x81b71a07, 0x00004100, 0x4b000006, 0x00005084, 0x00400000, 0x00008000,
- 0x4b000206, 0x0000d084, 0x00400000, 0x00008000, 0x4b000406, 0x0000d084,
- 0x00400000, 0x00008000, 0x4b000606, 0x00005084, 0x00400000, 0x00008000,
- 0x4b786806, 0x00005004, 0x00386000, 0x00008000, 0x4b78b206, 0x0000d004,
- 0x00385000, 0x00008000, 0x4b784c06, 0x00005004, 0x00384000, 0x00000000,
- 0x3238c007, 0x00005004, 0x0020b800, 0x00008000, 0x4b000006, 0x0000d004,
- 0x00400000, 0x00000080, 0x4b000206, 0x00005004, 0x00400000, 0x00000080,
- 0x00000000, 0x0000f480, 0x4b000406, 0x00005004, 0x00400000, 0x00000080,
- 0x4b000606, 0x0000d004, 0x00400000, 0x00000080, 0x81800ee3, 0x00006080,
- 0xc11722e4, 0x00004900, 0x86bb6406, 0x0000b038, 0x86bb7606, 0x0000b038,
- 0x86481800, 0x000001cc, 0x0b8620e4, 0x00007500, 0x04901202, 0x00009900,
- 0x04636c6d, 0x00009900, 0x00400c6d, 0x00004589, 0x0100146d, 0x0000808a,
- 0x0b970b22, 0x0000f004, 0x00000b97, 0x0000f000, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x03795000, 0x00007900, 0x0004d7da, 0x00008980,
- 0x03979800, 0x0000f900, 0x001cdbc6, 0x00000980, 0x0203606c, 0x00006100,
- 0x08001a09, 0x0000e106, 0x0180076d, 0x0000009c, 0x0b971bac, 0x0000f500,
- 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x02c01002, 0x00004900,
- 0x00000c19, 0x00009583, 0xb9182304, 0x0000e108, 0x1a800000, 0x0000c990,
- 0x200ba6ec, 0x0000d690, 0x003b2409, 0x00003f10, 0x1a009000, 0x0000f910,
- 0x0000d200, 0x00008980, 0x1a400000, 0x00007910, 0x00010000, 0x00000980,
- 0x1ac00000, 0x00006190, 0xda981302, 0x00004910, 0x1c032064, 0x0000e110,
- 0x1c432865, 0x00004910, 0x00000000, 0x0000f088, 0x1cfb3767, 0x00000708,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x0098d0ec, 0x0000d780, 0x00006000, 0x00008080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb9182304, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x47035000, 0x0000e181,
- 0x2001501b, 0x0000e482, 0xa000081b, 0x0000e402, 0x8000081a, 0x00003403,
- 0x80001019, 0x0000e402, 0xa000281e, 0x0000b406, 0x2001501c, 0x0000e483,
- 0x0000481b, 0x00003407, 0x00005018, 0x00006407, 0xc000501d, 0x0000b406,
- 0x7000c820, 0x0000e500, 0xc000101a, 0x0000b403, 0xa0001019, 0x0000e403,
- 0x6000081e, 0x00003403, 0x00000001, 0x00007480, 0xc000101c, 0x0000e403,
- 0x6000081b, 0x00003403, 0x0b00072a, 0x000082a1, 0x04000d11, 0x00006081,
- 0x00001000, 0x0000a504, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
- 0x00000411, 0x00006583, 0xc0208c10, 0x00000001, 0x04000000, 0x00006181,
- 0x82308801, 0x00006080, 0x04000800, 0x00006191, 0x80788f11, 0x00004901,
- 0x40000511, 0x00006583, 0xc0c00000, 0x00008980, 0x80e88d11, 0x0000e101,
- 0x86208001, 0x0000e001, 0x04000000, 0x00001981, 0x04000800, 0x00001991,
- 0x00000001, 0x0000f481, 0x96608001, 0x00006801, 0x00208801, 0x0000e806,
- 0x01c00000, 0x0000e180, 0x00009004, 0x00006484, 0x0c03640d, 0x00006006,
- 0x00001807, 0x00003106, 0x01400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x001808ec, 0x00005780, 0x00c06700, 0x00000580, 0x85c2300d, 0x0000e000,
- 0xc0001807, 0x0000b006, 0x00000001, 0x00007480, 0x01bb6702, 0x00008030,
- 0xc12a2001, 0x00001980, 0x81001646, 0x00009283, 0x47055000, 0x00006189,
- 0xc000501d, 0x0000640e, 0x2001501c, 0x0000648b, 0x2001501b, 0x0000348a,
- 0x00000bf0, 0x0000f010, 0xa000101b, 0x0000e402, 0x8000101a, 0x00003403,
- 0x2000101b, 0x0000e403, 0xc000101c, 0x0000b403, 0x00005018, 0x00006407,
- 0xc000101a, 0x0000b403, 0x6000101b, 0x0000ec03, 0x00000001, 0x00007280,
- 0x70008820, 0x0000ed00, 0x9b400ee3, 0x0000e080, 0x1b042084, 0x0000c900,
- 0x86b8446d, 0x0000b038, 0x083f8020, 0x00007900, 0x003ffffe, 0x00008280,
- 0x86b8566d, 0x0000b038, 0x0838f820, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x01000000, 0x000080d4, 0x01800000, 0x000080dc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x21400000, 0x000008d8, 0x21c00000, 0x000008e0, 0x22400000, 0x000008e8,
- 0x22c00000, 0x000088f0, 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0,
- 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8,
- 0x25c00000, 0x000080f0, 0x03400000, 0x000000f8, 0x03c00000, 0x000001e0,
- 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8,
- 0x07d01800, 0x000081cc, 0x0c1920e4, 0x0000f500, 0x84800602, 0x00008890,
- 0x04604c09, 0x00009900, 0xd9e03409, 0x0000c389, 0x00003409, 0x00000098,
- 0xc6802409, 0x00004489, 0x58002409, 0x0000039d, 0x00c01c09, 0x00004789,
- 0x2f404c09, 0x00003089, 0xdf004c09, 0x00004299, 0x24003c09, 0x0000038e,
- 0x53605c09, 0x00004589, 0xa9c06c09, 0x0000af88, 0x0c2720af, 0x00007404,
- 0x28c09800, 0x00007900, 0x00003600, 0x00008980, 0x2938570b, 0x00000a14,
- 0x9b400aaf, 0x0000e080, 0x85c03aaf, 0x00000080, 0x30409e6d, 0x0000f902,
- 0x04800000, 0x00000000, 0x3000b46d, 0x0000f902, 0x05400000, 0x00008000,
- 0x30008e6d, 0x0000f902, 0x04000000, 0x00008000, 0x3040606d, 0x00007902,
- 0x01c00000, 0x00008000, 0x3040326d, 0x0000f902, 0x01400000, 0x00000000,
- 0x30797c6d, 0x00002000, 0x303b8417, 0x00003038, 0x303b9617, 0x00003038,
- 0x307ba017, 0x0000b038, 0x307bb217, 0x0000b038, 0x307bc417, 0x00003038,
- 0x307bd617, 0x00003038, 0x30bbe017, 0x00003038, 0x30bbf217, 0x00003038,
- 0x30bc0417, 0x0000b038, 0x30bc1617, 0x0000b038, 0x30fc2017, 0x00003038,
- 0x30fc3217, 0x00003038, 0x30fc4417, 0x0000b038, 0x30fc5617, 0x0000b038,
- 0x313c6017, 0x00003038, 0x313c7217, 0x00003038, 0x313c8417, 0x00003038,
- 0x313c9617, 0x00003038, 0x317ca017, 0x0000b038, 0x317cb217, 0x0000b038,
- 0x03400c13, 0x00006283, 0x81000000, 0x00000981, 0x03401413, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00000d19, 0x00007008, 0x00000d0c, 0x0000f008,
- 0x0c5220af, 0x0000f404, 0x28c09800, 0x00007900, 0x00001000, 0x00000980,
- 0x293c0781, 0x00000a14, 0x303cc4af, 0x00003038, 0x303cd6af, 0x00003038,
- 0x307ce0af, 0x0000b038, 0x307cf2af, 0x0000b038, 0x307d04af, 0x00003038,
- 0x307d16af, 0x00003038, 0x30bd20af, 0x00003038, 0x30bd32af, 0x00003038,
- 0x8940a37f, 0x0000e180, 0x81000000, 0x00000981, 0x05c02800, 0x0000e181,
- 0xb844c013, 0x0000c980, 0x05c00c17, 0x00009183, 0x0a400000, 0x00006188,
- 0x8ad0c000, 0x0000c988, 0x0b400000, 0x00006189, 0x09c00000, 0x00004989,
- 0x1b400000, 0x0000e189, 0x0a800000, 0x0000c989, 0xffffffff, 0x00007f86,
- 0x05020200, 0x00007904, 0x0038a026, 0x00006886, 0x8230a026, 0x0000e886,
- 0x0428a026, 0x0000e887, 0x00000c5e, 0x00007410, 0x8620a026, 0x00006887,
- 0x10413400, 0x00007904, 0x2244c899, 0x00006100, 0x20c00899, 0x00004080,
- 0x21d4da9b, 0x00009900, 0x9120149d, 0x0000c389, 0x0000149d, 0x00000098,
- 0x0fc0049d, 0x0000c588, 0x80800c9d, 0x0000058a, 0x98e01c9d, 0x0000c189,
- 0x0000449d, 0x00008090, 0x2a00559d, 0x0000788b, 0xc0400000, 0x00008687,
- 0x25401d9d, 0x0000f88b, 0xc0400000, 0x00008687, 0xb86ce813, 0x0000e180,
- 0x1b400c6d, 0x0000c081, 0x03404800, 0x00001981, 0xffffffff, 0x0000ffb7,
- 0x05c20a00, 0x0000f904, 0x09820a00, 0x00007904, 0x03400c0d, 0x00006183,
- 0x05c04017, 0x00008780, 0x0500c026, 0x00001880, 0x05c13026, 0x0000e100,
- 0x0500a017, 0x0000c300, 0x00000c7f, 0x00007210, 0x1000a400, 0x00007904,
- 0x00000ced, 0x00007200, 0x05004026, 0x00009780, 0x8500469d, 0x00001880,
- 0x8ad0a79d, 0x00009000, 0x9f00259d, 0x00004991, 0xf001fa2b, 0x000083b1,
- 0x1b40246d, 0x00006081, 0xb874e813, 0x00000980, 0x05005000, 0x00001980,
- 0x00000c92, 0x00007000, 0x10020e00, 0x0000f904, 0x05000814, 0x00009182,
- 0x00000c91, 0x0000f013, 0x00000cee, 0x0000f000, 0xb86ce813, 0x0000e180,
- 0x0ab4ee9d, 0x0000c901, 0x03404800, 0x00006181, 0x1b401c6d, 0x00004081,
- 0xffffffff, 0x0000ffb7, 0x05020a00, 0x0000f904, 0x05c20a00, 0x0000f904,
- 0x03400c0d, 0x00006183, 0x0980c014, 0x00008780, 0x05004017, 0x00006080,
- 0x03400000, 0x0000c989, 0x0b400800, 0x0000e189, 0x0500a026, 0x00004300,
- 0x00000c9b, 0x00007410, 0x1000a400, 0x00007904, 0x0500b817, 0x00009900,
- 0x00000cf1, 0x0000f400, 0x0500c017, 0x00009780, 0x1000a400, 0x00007904,
- 0x05c0c69d, 0x00006080, 0x0500879d, 0x00004880, 0x05c0a017, 0x00006000,
- 0x1b40546d, 0x00008081, 0xb87ce813, 0x00006180, 0x0500449e, 0x00004880,
- 0x00000cb4, 0x00007400, 0x05004800, 0x00006180, 0x05c0a017, 0x0000c000,
- 0x0a40bd9e, 0x00009000, 0xffffffff, 0x00007f86, 0x10020e00, 0x0000f904,
- 0x05000814, 0x00009182, 0x03404800, 0x0000e189, 0xb86ce813, 0x00004988,
- 0x00000cb2, 0x0000f011, 0xffffffff, 0x00007fa7, 0x05020a00, 0x0000f904,
- 0x05c20a00, 0x0000f904, 0x03400c0d, 0x00006183, 0x09808014, 0x00000780,
- 0x05008017, 0x00006080, 0x03400000, 0x0000c989, 0x09c00800, 0x0000e189,
- 0x0500a026, 0x00004300, 0x00000cba, 0x00007410, 0x1000a400, 0x00007904,
- 0x0500b817, 0x00009900, 0x00000cf1, 0x0000f400, 0x05008017, 0x00001780,
- 0x1000a400, 0x00007904, 0x0340159d, 0x00006181, 0x07eced9d, 0x00000901,
- 0x3e012c0d, 0x0000f89b, 0x00400001, 0x00008080, 0x1b6cec6d, 0x00001001,
- 0x40001d9d, 0x00001583, 0x0500159d, 0x0000e799, 0xb844e800, 0x00008998,
- 0x78431c14, 0x0000e199, 0x03400000, 0x00008999, 0x00000cde, 0x0000f030,
- 0x00000cd7, 0x00007400, 0x05c05000, 0x00001980, 0x05e0a017, 0x00009100,
- 0x10020e00, 0x0000f904, 0x03400c0d, 0x00009081, 0x09a06c0d, 0x00001900,
- 0x0000b826, 0x00009502, 0x00000cd5, 0x0000704b, 0x2c07e414, 0x00001680,
- 0x034588b0, 0x00001001, 0x07e06c1f, 0x00001003, 0x00000cee, 0x0000700b,
- 0xb86ce813, 0x0000e180, 0x07c01c1f, 0x0000c881, 0x83410009, 0x000081dc,
- 0x09a0f817, 0x00009100, 0xffffffff, 0x00007fa7, 0x05020a00, 0x0000f904,
- 0x05c20a00, 0x0000f904, 0x0520f814, 0x0000e700, 0x0a013017, 0x00000800,
- 0x03400c0d, 0x00006183, 0x0500a028, 0x00000300, 0x1000a400, 0x00007904,
- 0x0500b817, 0x00009900, 0x00000ce4, 0x00007010, 0x0520f817, 0x00001700,
- 0x1000a400, 0x00007904, 0x00000cf1, 0x0000f200, 0x03400000, 0x00001981,
- 0x03400800, 0x00009981, 0x85236c6d, 0x00001900, 0x00112a14, 0x0000f828,
- 0x00000000, 0x00000000, 0x1c00040d, 0x0000f88b, 0x00400001, 0x00008010,
- 0x3f00742a, 0x000078b3, 0x00400001, 0x00008080, 0x81000800, 0x00006181,
- 0x00000890, 0x0000e401, 0xffffffff, 0x00007f86, 0x00000d0c, 0x00007000,
- 0x84c00e73, 0x00006283, 0x00000090, 0x0000a401, 0x1b400c27, 0x0000e291,
- 0x1b400000, 0x00000989, 0x0000042d, 0x00006583, 0xdf9bf22b, 0x00008c00,
- 0x22814829, 0x00006100, 0x04236873, 0x0000e001, 0x1b400000, 0x0000e189,
- 0x1b61542a, 0x00004911, 0x0000042d, 0x00009583, 0x25636c6d, 0x00006101,
- 0x1b63fc7f, 0x00004911, 0x1b400000, 0x00009989, 0xffffffff, 0x00007f86,
- 0x1fe36c6d, 0x00009901, 0x4000057f, 0x0000e583, 0x30000073, 0x0000a403,
- 0x042bf890, 0x00006009, 0x86401095, 0x00003686, 0xe0982800, 0x00006180,
- 0x40c39873, 0x00006001, 0x223fe01f, 0x00006180, 0x247c0249, 0x0000c980,
- 0x248003e8, 0x000089cc, 0xdfc00000, 0x0000e180, 0x2000137e, 0x0000c880,
- 0xa4000000, 0x0000e180, 0x207fe01f, 0x00004980, 0x05c09673, 0x00006281,
- 0x1b401c13, 0x00000281, 0x00000c6d, 0x00009583, 0x9b40637e, 0x00001190,
- 0xdfbfe26d, 0x0000f910, 0x0000003e, 0x00008280, 0xe7408417, 0x00004489,
- 0x78042785, 0x0000836e, 0x43a42f86, 0x0000c569, 0xa3044f83, 0x00002167,
- 0x00000495, 0x00009583, 0x05c00800, 0x00001990, 0x05c00000, 0x00009988,
- 0x00000d29, 0x00007010, 0x0000047f, 0x00001583, 0x05c00800, 0x00001990,
- 0xffffffff, 0x00007f86, 0x5160b840, 0x0000e800, 0x85c4037e, 0x0000e080,
- 0x852f2004, 0x00008980, 0x1b400000, 0x00001981, 0x4dd0ba14, 0x0000782b,
- 0x00400001, 0x00008080, 0x1b400c6d, 0x00006081, 0x8510ba14, 0x00000100,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x4c10ba14, 0x00007823, 0x00400001, 0x00008080, 0xffffffff, 0x00007f86,
- 0x4000058f, 0x0000e583, 0x03400000, 0x00008981, 0x03400800, 0x00006191,
- 0x80000040, 0x0000e586, 0x50236c6d, 0x00006101, 0xe000081f, 0x00006400,
- 0x0000040d, 0x0000e583, 0x90bfe01f, 0x00000980, 0x1b400800, 0x00006191,
- 0x1b401000, 0x00004989, 0x0000040d, 0x0000e583, 0x4da3fc7f, 0x00000901,
- 0x1b401800, 0x0000e191, 0xc7236818, 0x0000e003, 0x00000d51, 0x0000f011,
- 0x00042086, 0x00009502, 0x1b401000, 0x00001989, 0x00000d51, 0x0000f009,
- 0x00042085, 0x00009502, 0x1b400000, 0x00009989, 0x1b400000, 0x00009991,
- 0x00000d51, 0x00007008, 0x003c148f, 0x00001503, 0x1b400800, 0x000019a1,
- 0xffffffff, 0x00007f86, 0x00000c6d, 0x00006583, 0x05c0137f, 0x00000880,
- 0x0fc00800, 0x00006188, 0xc0000819, 0x0000e40a, 0x0fc00000, 0x0000e190,
- 0xc000381f, 0x0000e405, 0x00042086, 0x00006502, 0x0f848891, 0x00008900,
- 0x82c130ec, 0x00007902, 0x05000000, 0x00008604, 0x1b40ba90, 0x00009000,
- 0x00000d6a, 0x0000f010, 0x00000087, 0x00009582, 0x1b53006d, 0x0000f910,
- 0x0000003a, 0x00008c80, 0x00000d6a, 0x00007009, 0x0000040d, 0x0000e583,
- 0x0508c06d, 0x00000d80, 0x0f48c06d, 0x00001d80, 0x10413014, 0x00009010,
- 0x00000d75, 0x00007010, 0x00000d73, 0x00007400, 0x0007288d, 0x00009502,
- 0x1b44688d, 0x0000e110, 0x1b448891, 0x0000c908, 0x0007288e, 0x00006502,
- 0x05fc786d, 0x00000800, 0x1b530017, 0x0000f900, 0x0000003a, 0x00008c80,
- 0xffffffff, 0x00007f86, 0x1b44708e, 0x0000e110, 0x0f48c06d, 0x00004d80,
- 0xffffffff, 0x00007f86, 0x1b41e83d, 0x00009908, 0xffffffff, 0x00007f86,
- 0x1041306d, 0x00009000, 0x0b439c17, 0x00006000, 0x00005018, 0x0000b406,
- 0x84c01673, 0x00006283, 0xa0001018, 0x00002402, 0x0a000000, 0x00006180,
- 0x00142018, 0x0000e503, 0x1b440087, 0x0000e400, 0xe0001018, 0x0000e403,
- 0x4520b818, 0x00006003, 0x0000101b, 0x0000b402, 0x05c00800, 0x0000e191,
- 0x05c01000, 0x0000c989, 0x84c01673, 0x00006283, 0x0ac4206d, 0x00008000,
- 0x0420b818, 0x00006003, 0x0000501a, 0x00003406, 0x05ecad95, 0x0000e111,
- 0x05c00800, 0x0000c989, 0x11838000, 0x00006180, 0x0000081b, 0x00006403,
- 0x8a20bc17, 0x0000e101, 0x000d681f, 0x00006502, 0x85c01ee3, 0x0000e080,
- 0x60005019, 0x00006406, 0x9b771a17, 0x0000e100, 0x2000a81e, 0x00002482,
- 0x4b40bc6d, 0x0000f902, 0x05000000, 0x00008004, 0x6000101a, 0x00006402,
- 0x6000001b, 0x0000b403, 0x14409846, 0x00006001, 0xc000481d, 0x0000b406,
- 0x80078824, 0x0000e686, 0x6000081c, 0x00003402, 0x0fc09c17, 0x00006000,
- 0x4000281f, 0x00003407, 0xc0001019, 0x00006402, 0xa02ba81e, 0x0000b506,
- 0x24b8b846, 0x0000e005, 0x0000501a, 0x0000b407, 0x12060000, 0x00006180,
- 0x65a0b81b, 0x00006003, 0x1738b716, 0x0000011c, 0x0580a815, 0x00006100,
- 0x50000820, 0x00006402, 0x0ec00000, 0x00007900, 0x000d0000, 0x00000980,
- 0xc000381d, 0x0000e407, 0xc000081c, 0x0000b403, 0xb000081f, 0x0000e401,
- 0x6000101a, 0x0000b403, 0x0e44508a, 0x0000e100, 0x07c09848, 0x00006000,
- 0x89fc207e, 0x00008224, 0x0a842885, 0x00006100, 0x0b441888, 0x00004000,
- 0x0b800884, 0x0000e180, 0x0d400000, 0x00000981, 0x0e3c1f86, 0x00008330,
- 0x09800000, 0x000083c0, 0x0c400800, 0x00006180, 0x0d043086, 0x00004900,
- 0x0c800000, 0x000083cc, 0x8940002f, 0x0000049c, 0x12800800, 0x000004ec,
- 0x18000000, 0x000086c4, 0x18800000, 0x000086cc, 0x19000000, 0x000086d4,
- 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec,
- 0x11000004, 0x0000e180, 0x11400004, 0x00004980, 0x1278af86, 0x00000534,
- 0x28c09a00, 0x00006180, 0xca001695, 0x0000c781, 0xc9117a2f, 0x0000e100,
- 0xc6555013, 0x0000c980, 0x0dc720af, 0x00007404, 0xc786a800, 0x00006181,
- 0x2940b817, 0x0000c900, 0x0bf8b786, 0x00000a10, 0x000004a2, 0x00001583,
- 0x9b7f1fe3, 0x00001908, 0x8a00bc6d, 0x00002088, 0x00000dd0, 0x00007010,
- 0xffffffff, 0x00007f97, 0x1b403c17, 0x00009281, 0x05c0146d, 0x00009181,
- 0x00000c17, 0x00001583, 0x00000dd5, 0x0000f01b, 0x2686a800, 0x00007900,
- 0x0004d7e2, 0x00000980, 0x0dd51c61, 0x0000f500, 0x267aef5c, 0x00000920,
- 0x26e514a2, 0x00001900, 0x17808811, 0x00006100, 0x5560a046, 0x0000e005,
- 0x05388711, 0x0000853c, 0x04600f10, 0x000004ae, 0x303a64af, 0x00003038,
- 0x303a76af, 0x00003038, 0x0ddf20af, 0x00007404, 0x28c09a00, 0x00006180,
- 0x2940a014, 0x0000c900, 0x29008811, 0x00001900, 0x000004a2, 0x00001583,
- 0x9b7f1fe3, 0x00001908, 0x8a00bc6d, 0x00002088, 0x00000de8, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x1b403c17, 0x00009281, 0x05c0146d, 0x00009181,
- 0x00000c17, 0x00001583, 0x00000ded, 0x0000701b, 0x2687c800, 0x0000f900,
- 0x0004d7e2, 0x00000980, 0x0ded1c61, 0x00007500, 0x267aff5e, 0x00000920,
- 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0x15b8670c, 0x00008100,
- 0x03383f07, 0x0000851c, 0x303a84af, 0x0000b038, 0x303a96af, 0x0000b038,
- 0x0df620af, 0x0000f404, 0x28c09a00, 0x00006180, 0x29408010, 0x0000c900,
- 0x2900600c, 0x00001900, 0x000004a2, 0x00001583, 0x9b7f1fe3, 0x00001908,
- 0x8a00bc6d, 0x00002088, 0x00000dff, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x1b403c17, 0x00009281, 0x05c0146d, 0x00009181, 0x00000c17, 0x00001583,
- 0x00000e04, 0x0000f01b, 0x26899000, 0x0000f900, 0x0004d7e2, 0x00000980,
- 0x0e041c61, 0x0000f500, 0x267abf56, 0x00000920, 0x26e514a2, 0x00001900,
- 0xffffffff, 0x00007f86, 0x15383706, 0x0000001c, 0x01b82f05, 0x00000514,
- 0x303ad4af, 0x0000b038, 0x0e0c20af, 0x0000f404, 0x28c09a00, 0x00006180,
- 0x29403807, 0x0000c900, 0x29003006, 0x00001900, 0x000004a2, 0x00001583,
- 0x9b7f1fe3, 0x00001908, 0x8a00bc6d, 0x00002088, 0x00000e15, 0x00007010,
- 0xffffffff, 0x00007f97, 0x1b403c17, 0x00009281, 0x05c0146d, 0x00009181,
- 0x00000c17, 0x00001583, 0x00000e1a, 0x0000f01b, 0x2689d800, 0x0000f900,
- 0x0004d7e2, 0x00000980, 0x0e1a1c61, 0x0000f500, 0x267aaf54, 0x00000920,
- 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x303ac4af, 0x00003038, 0x700040ec, 0x00005680,
- 0x00000540, 0x00008088, 0x700000ec, 0x0000d680, 0x00000000, 0x00000088,
- 0x303864af, 0x0000a000, 0x01700004, 0x00009980, 0x04181005, 0x00006987,
- 0xffffffff, 0x00007f86, 0x703ac0ec, 0x00005600, 0x00386000, 0x00008000,
- 0x700040ec, 0x00005680, 0x00382fc0, 0x00000078, 0x01400c13, 0x00001283,
- 0x70004820, 0x00006d10, 0x00000f1f, 0x00007009, 0x01401413, 0x00001283,
- 0x0e809012, 0x00006110, 0x8000081f, 0x0000e413, 0x80000604, 0x00001583,
- 0x00000f1f, 0x0000f400, 0x2000081b, 0x0000ec0b, 0x6000081b, 0x00006c0b,
- 0x0e3920af, 0x0000f404, 0x2940500a, 0x0000e100, 0x70000820, 0x0000e500,
- 0x28c09c00, 0x00006180, 0x2900580b, 0x00004900, 0x000004a2, 0x00001583,
- 0x85ff1fe3, 0x00009908, 0x8a036c17, 0x00002088, 0x00000e42, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x05c03c6d, 0x00009281, 0x1b401417, 0x00009181,
- 0x00000c6d, 0x00009583, 0x00000e47, 0x0000701b, 0x268ba000, 0x00007900,
- 0x0004d7e4, 0x00000980, 0x0e471c61, 0x00007500, 0x26785f0a, 0x00000920,
- 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x300086af, 0x0000f902, 0x03000000, 0x00000000,
- 0x307838af, 0x0000a080, 0x304032af, 0x00007902, 0x01400000, 0x00000000,
- 0xffffffff, 0x00007f86, 0x08008417, 0x00006800, 0x1100380c, 0x00006400,
- 0x1b406417, 0x00004080, 0x05c0146d, 0x00009881, 0x1b41fc17, 0x0000e281,
- 0x0fc08417, 0x0000a000, 0x52001417, 0x0000e081, 0x20a36c48, 0x0000e082,
- 0x01c00c48, 0x00001283, 0x11000044, 0x0000f900, 0x00000400, 0x00000c80,
- 0x1140600c, 0x0000e110, 0x40001046, 0x00006412, 0x00000e64, 0x00007010,
- 0x11403006, 0x00006100, 0x40808046, 0x00006000, 0x50808046, 0x00006800,
- 0x81001646, 0x00009283, 0x0e802805, 0x00006108, 0x8000081f, 0x0000e40b,
- 0x01410410, 0x00001283, 0x85513a27, 0x00006110, 0x0f00846d, 0x00006010,
- 0x0f82440d, 0x0000e892, 0x00000f1f, 0x0000f008, 0x0000046d, 0x00001583,
- 0x1b406000, 0x0000e191, 0x1b404800, 0x0000c989, 0xffffffff, 0x00007f86,
- 0x03236c6d, 0x0000e100, 0x05e36fe4, 0x0000c800, 0x81c00a17, 0x00006180,
- 0x85004217, 0x00000080, 0x05810214, 0x00001180, 0x1b50aa15, 0x00006100,
- 0x84040215, 0x0000c080, 0x0140606d, 0x0000e704, 0x04801000, 0x00008981,
- 0x81903a15, 0x0000e202, 0x05e02c05, 0x00008901, 0x05c00c05, 0x00001091,
- 0xffffffff, 0x00007f86, 0x85fc001f, 0x00006180, 0x9b401c17, 0x00004880,
- 0x89d0aa17, 0x0000e100, 0x8190aa6d, 0x00008000, 0x00001412, 0x00001583,
- 0x01606c0d, 0x00009909, 0x00000ea1, 0x0000f009, 0x00000ea0, 0x00007000,
- 0x01400000, 0x00009981, 0x04c08211, 0x00001880, 0x04c08013, 0x00009784,
- 0x00108013, 0x00009502, 0x84508a27, 0x00006040, 0x81602a06, 0x00008140,
- 0x00000ea4, 0x00007049, 0x8000026d, 0x00001582, 0x84d36a14, 0x00001110,
- 0x00000e95, 0x00007009, 0x80109a05, 0x00001502, 0x81509a05, 0x0000e118,
- 0x9b502a6d, 0x00008030, 0x9b400000, 0x00006198, 0x81400000, 0x0000c9b0,
- 0xffffffff, 0x00007f86, 0xa610a205, 0x0000782b, 0x00400001, 0x00008080,
- 0x8150a205, 0x00009100, 0xffffffff, 0x00007f86, 0x8010a205, 0x00009502,
- 0x00000e94, 0x00007023, 0x9b502a6d, 0x00001000, 0x8010a26d, 0x00001502,
- 0x9b50a26d, 0x00001120, 0xffffffff, 0x00007f86, 0xa9d36816, 0x0000f853,
- 0x00400001, 0x00000000, 0xa0800211, 0x000078bb, 0x20400000, 0x00000785,
- 0x01400000, 0x00009981, 0x00000e83, 0x00007200, 0x846f2004, 0x00006180,
- 0x9b400000, 0x00004980, 0x04800c12, 0x00009183, 0x00000ea9, 0x0000f00b,
- 0x00000e7e, 0x00007000, 0x00000e72, 0x0000f200, 0x85402215, 0x00001180,
- 0x00000f1f, 0x0000f200, 0x89d0aa15, 0x00006100, 0x6000081e, 0x0000e402,
- 0x0eaf20af, 0x0000f404, 0x29785f0a, 0x00000a10, 0x28c09c00, 0x00001980,
- 0x81001646, 0x00009283, 0x303836af, 0x0000a080, 0x02405800, 0x00009989,
- 0x00000ebc, 0x00007008, 0xffffffff, 0x00007f86, 0x00000406, 0x00009583,
- 0x00000eb9, 0x00007013, 0x01401424, 0x00009283, 0x02405000, 0x00001989,
- 0x00000eba, 0x0000f009, 0x02408000, 0x00001981, 0x0f1f0bb1, 0x00007100,
- 0x00000f1f, 0x00007000, 0x0f1f0be3, 0x0000f100, 0x00000f1f, 0x00007000,
- 0x200f26ec, 0x00005680, 0x003b6509, 0x00003f10, 0x60001018, 0x0000e402,
- 0x4000181a, 0x0000b403, 0x0ec60bc3, 0x0000f500, 0x0000081c, 0x0000ec02,
- 0x04405000, 0x0000f900, 0x003fc080, 0x00000980, 0x04000002, 0x00006180,
- 0x85f71ee3, 0x00004900, 0x85b88c17, 0x00002080, 0xffffffff, 0x00007fa7,
- 0xc4208c11, 0x00001900, 0x770000ec, 0x00005680, 0x00388000, 0x00000000,
- 0x008806ec, 0x00005f80, 0x00985980, 0x00000584, 0x47055000, 0x0000e181,
- 0x2001501b, 0x0000e482, 0xa000101b, 0x0000e402, 0x6000481a, 0x0000b407,
- 0x2001501c, 0x0000e483, 0x2000101b, 0x0000b403, 0xc000081d, 0x0000e402,
- 0x00005018, 0x00003407, 0x8000081e, 0x00006402, 0xc000101a, 0x0000b403,
- 0xc000081c, 0x0000e403, 0x6000101b, 0x00003403, 0xc9c00000, 0x00006180,
- 0x0281782f, 0x0000c900, 0x01400c46, 0x00001283, 0x01401448, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00000f1f, 0x0000f010, 0x00000f1f, 0x0000f008,
- 0x1b400d46, 0x00006181, 0x2000081e, 0x0000a402, 0x0000046d, 0x0000e583,
- 0x12800000, 0x00000980, 0x51800d46, 0x0000e181, 0x89800a26, 0x00000080,
- 0x00000ef5, 0x00007009, 0x01440446, 0x00001283, 0x11bbf846, 0x00007910,
- 0x003ffffe, 0x00008280, 0x18032064, 0x00006110, 0x18432865, 0x0000c910,
- 0x11840046, 0x0000e388, 0x18833066, 0x00000910, 0x18c33867, 0x00006110,
- 0x19034068, 0x0000c910, 0x19434869, 0x00006110, 0x1983506a, 0x00004910,
- 0x19c3586b, 0x00009910, 0x00000f1f, 0x0000f200, 0x123fe848, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x0efb20af, 0x00007404, 0x29785f0a, 0x00000a10,
- 0x28c09a00, 0x00001980, 0x000004a2, 0x00001583, 0x85ff1fe3, 0x00009908,
- 0x8a036c17, 0x00002088, 0x00000f04, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x05c03c6d, 0x00009281, 0x1b401417, 0x00009181, 0x00000c6d, 0x00009583,
- 0x00000f09, 0x0000f01b, 0x26a36800, 0x0000f900, 0x0004d7e0, 0x00008980,
- 0x0f091c61, 0x0000f500, 0x26785f0a, 0x00000920, 0x26e514a2, 0x00001900,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x300036af, 0x00007902, 0x01400000, 0x00000000, 0xffffffff, 0x00007f86,
- 0x00000f1f, 0x0000f403, 0x83883006, 0x00008036, 0xc3902a05, 0x00001900,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x03408000, 0x0000f900,
- 0x0004d7de, 0x00000980, 0x03979800, 0x0000f900, 0x001cdbc6, 0x00000980,
- 0x01800709, 0x0000809c, 0x02c01002, 0x00006100, 0x08001a09, 0x0000e106,
- 0x81002800, 0x00006180, 0xc2700600, 0x00004901, 0x82680500, 0x00009901,
- 0x0f1f1bac, 0x0000f100, 0x0f240bd6, 0x0000f500, 0x4000181a, 0x0000e403,
- 0x60001018, 0x0000b402, 0x200aa6ec, 0x0000d680, 0x003b6189, 0x00003f10,
- 0x85f71ee3, 0x00006100, 0x1b401c09, 0x00004181, 0x85b89417, 0x00002080,
- 0x00003409, 0x00006583, 0x04000002, 0x00008980, 0x00000c6d, 0x00001593,
- 0xffffffff, 0x00007f86, 0xc4209412, 0x00001900, 0x00000f36, 0x00007418,
- 0x770000ec, 0x00005680, 0x00388000, 0x00000000, 0x04005000, 0x00001981,
- 0x80105810, 0x00006d86, 0x0f340bc3, 0x0000f500, 0x80001010, 0x0000ec87,
- 0x04408010, 0x00009900, 0x008806ec, 0x00005f80, 0x00985980, 0x00008ac4,
- 0x80100010, 0x0000ed86, 0x0ecd0bc3, 0x00007500, 0x80001010, 0x0000ec87,
- 0x04408010, 0x00009900, 0x00000f41, 0x00007200, 0x1b400000, 0x00001981,
- 0x00000f41, 0x00007200, 0x1b400800, 0x00009981, 0x00000f41, 0x00007200,
- 0x1b401000, 0x00009981, 0x1b401800, 0x00001981, 0x01800000, 0x00006180,
- 0x08001a04, 0x00006106, 0x01a02404, 0x00006101, 0x08001a09, 0x0000e106,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0354e000, 0x0000f900,
- 0x000ce8a4, 0x00000980, 0x03afa800, 0x00007900, 0x000982ea, 0x00000980,
- 0x02281402, 0x00008020, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x00000f1e, 0x00007400, 0x82781400, 0x0000802c, 0x81008000, 0x0000e180,
- 0x41a36c6d, 0x0000c901, 0x1b63f888, 0x00006700, 0x00008040, 0x0000a480,
- 0x003fe06d, 0x0000f900, 0x0000003e, 0x00008582, 0x05c00000, 0x00006180,
- 0x03439840, 0x0000e000, 0x05c00800, 0x00006188, 0x13039840, 0x0000e000,
- 0x4000057f, 0x0000e583, 0x90abfd7f, 0x00000901, 0x30e0b840, 0x0000e800,
- 0x10010040, 0x00001388, 0x00000d2b, 0x0000f008, 0x00000d23, 0x0000f000,
- 0x0f610bf2, 0x0000f004, 0x1b7c2785, 0x00000630, 0x88000000, 0x000001e0,
- 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8,
- 0x01001e6d, 0x0000e281, 0x07c00000, 0x00000980, 0xf3201e6d, 0x0000c297,
- 0xd8001d22, 0x0000038e, 0x05e00c04, 0x0000c593, 0x02e06522, 0x0000008e,
- 0x0f710bc3, 0x00007500, 0x200f26ec, 0x00005680, 0x003c2509, 0x00003f10,
- 0x04405000, 0x0000f900, 0x003fc080, 0x00000980, 0x00001018, 0x0000e402,
- 0x0000301c, 0x00003406, 0x0000181a, 0x0000ec03, 0x008806ec, 0x00005f80,
- 0x00985980, 0x00000584, 0x0f7b0bc3, 0x00007500, 0x200f26ec, 0x00005680,
- 0x003c2189, 0x00003f10, 0x04405000, 0x0000f900, 0x00008080, 0x00008980,
- 0x20001018, 0x00006402, 0x2000101c, 0x0000b402, 0x2000181a, 0x0000e403,
- 0x70000820, 0x0000b500, 0x0240000d, 0x000080e8, 0x02c00000, 0x000000f4,
- 0x03800000, 0x000080fc, 0x02000702, 0x00008090, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x0f740bd6, 0x0000f500,
- 0x25000000, 0x000089d4, 0x25c00000, 0x000089d8, 0x00000f74, 0x0000f000,
- 0x84001e6d, 0x00001283, 0x200f26ec, 0x00005680, 0x003c2509, 0x00003f10,
- 0x0f740bc3, 0x00007500, 0x04405000, 0x0000f900, 0x003fc080, 0x00000980,
- 0x20001018, 0x0000e412, 0x00001018, 0x0000340a, 0x4147dd20, 0x0000e283,
- 0xc12f2004, 0x00008980, 0x81000454, 0x000001e0, 0x06400000, 0x000001e8,
- 0x06c00000, 0x000081f0, 0x00000fd6, 0x00007410, 0x07400000, 0x000001f8,
- 0x07c00000, 0x0000e180, 0x25000000, 0x00004988, 0x25400000, 0x000009d8,
- 0x25c00000, 0x000009e0, 0x0faf1ac8, 0x0000f500, 0x26400000, 0x000009e8,
- 0x26c00000, 0x00009980, 0x0fb21a1c, 0x0000f500, 0xa9000400, 0x00000af8,
- 0xa9a00400, 0x00000ad9, 0x400015a9, 0x0000e583, 0x20001018, 0x0000a402,
- 0x00505000, 0x0000f900, 0x0004c010, 0x00008980, 0x40e06401, 0x000000c3,
- 0x00000fde, 0x0000f208, 0x807d46e5, 0x00001401, 0x81403e98, 0x00006080,
- 0x01005504, 0x00004181, 0x01800000, 0x0000f900, 0x001f8000, 0x00008980,
- 0xc1102b04, 0x00006100, 0x02c00000, 0x00000980, 0x00182006, 0x0000e186,
- 0x0000180b, 0x00003106, 0x04202006, 0x0000e101, 0xc000180b, 0x0000b006,
- 0x203836ec, 0x0000d600, 0x003c2000, 0x00008000, 0x000800ec, 0x00005780,
- 0x00985980, 0x00008580, 0x02009000, 0x00007900, 0x000210c0, 0x00008980,
- 0x02400000, 0x0000f900, 0x00010030, 0x00000980, 0x000880ec, 0x0000d780,
- 0x00c05880, 0x00000280, 0x03000000, 0x000080f4, 0x03800000, 0x000080fc,
- 0x02a81402, 0x00008028, 0x04000120, 0x000081c4, 0x04800000, 0x000081cc,
- 0x05000000, 0x000081d4, 0x05c00784, 0x00008198, 0x00812eec, 0x00005f80,
- 0x00006001, 0x00008084, 0x0fd71b9b, 0x0000f100, 0x00001404, 0x00006583,
- 0x20001018, 0x0000a402, 0x00505000, 0x0000f900, 0x0004c010, 0x00008980,
- 0x40e06401, 0x000000c3, 0x00000fb9, 0x00007210, 0x80602ee5, 0x00009401,
- 0x01800000, 0x0000f900, 0x001f8000, 0x00008980, 0x012f2006, 0x0000ed86,
- 0x04282006, 0x0000e901, 0x203836ec, 0x0000d600, 0x003c2000, 0x00008000,
- 0x000800ec, 0x00005780, 0x00985980, 0x00008580, 0x008886ec, 0x0000df80,
- 0x00005800, 0x00008084, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x06000002, 0x000001e4,
- 0x06800000, 0x000081ec, 0x07000000, 0x000081f4, 0x07800000, 0x000081fc,
- 0x08000000, 0x00006181, 0xdb2f2004, 0x0000c980, 0xc1060721, 0x00006283,
- 0x1b02a000, 0x00008981, 0x01000c48, 0x00001283, 0xffffffff, 0x00007f86,
- 0x00000ffd, 0x0000f008, 0x00000ffd, 0x0000f008, 0x00001034, 0x00007400,
- 0x70000820, 0x0000e500, 0x6000101a, 0x00003402, 0x0107f800, 0x00006181,
- 0x6000101b, 0x00006403, 0x01000c48, 0x0000e283, 0x04020000, 0x00008980,
- 0x04400000, 0x000001c8, 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8,
- 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4,
- 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc,
- 0x100d1aef, 0x0000f500, 0x01ffe01f, 0x00006190, 0x01806000, 0x0000c990,
- 0x01800000, 0x0000e188, 0x01ffe01f, 0x00004988, 0x00000406, 0x00009583,
- 0x00001013, 0x0000700b, 0x00001019, 0x00007400, 0x00001406, 0x00001583,
- 0x30002010, 0x0000e40c, 0x70000820, 0x00003508, 0x30000810, 0x00006404,
- 0xc000081e, 0x00003403, 0x48000000, 0x0000e181, 0x07c4001f, 0x0000c380,
- 0x0bc00829, 0x00006080, 0x0d000829, 0x00000080, 0x02c00000, 0x0000e180,
- 0x03972ae5, 0x00004900, 0x81002302, 0x00006780, 0x0000180b, 0x0000a106,
- 0x0200b000, 0x0000f900, 0x000210c0, 0x00008980, 0x02400000, 0x0000f900,
- 0x00010030, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0xc000180b, 0x0000e006, 0x4510200e, 0x00003107, 0x03000000, 0x000000fc,
- 0x02a81402, 0x00008028, 0x05c42084, 0x00009900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec, 0x0000d780,
- 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x013024e5, 0x00006401, 0x1b00546c, 0x00000181,
- 0x01001404, 0x0000e181, 0xdb04036c, 0x00008180, 0x01800000, 0x0000f900,
- 0x001f8000, 0x00008980, 0xc0c05800, 0x0000e180, 0x001b6006, 0x00006186,
- 0xc000b000, 0x00006181, 0x04236006, 0x00006101, 0x00505000, 0x0000f900,
- 0x0004c010, 0x00008980, 0x203836ec, 0x0000d600, 0x003c2000, 0x00008000,
- 0x000800ec, 0x00005780, 0x00985980, 0x00008580, 0x80602404, 0x00001901,
- 0x009886ec, 0x00005f80, 0x00005802, 0x00000084, 0xdb2f2004, 0x0000e180,
- 0x5b02a000, 0x0000c981, 0x06000002, 0x000001e4, 0x06800000, 0x000081ec,
- 0x07000005, 0x0000e180, 0x07400000, 0x00004980, 0x07800000, 0x000081fc,
- 0x88000000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
- 0x26400000, 0x000009e8, 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8,
- 0x27c00000, 0x00000ac0, 0x10541b4d, 0x0000f500, 0x28400000, 0x00000ac8,
- 0x28c00000, 0x00001980, 0x00000c6c, 0x0000e583, 0x01000000, 0x00008981,
- 0x01000800, 0x00006189, 0x04040000, 0x00004980, 0x81000e97, 0x00006283,
- 0x04400000, 0x00008980, 0x00505000, 0x0000f900, 0x0004c010, 0x00008980,
- 0x04800000, 0x00006180, 0x20a02010, 0x0000e000, 0x04c00000, 0x0000e180,
- 0x30001010, 0x0000e414, 0x05000000, 0x000081d4, 0x00001067, 0x0000f410,
- 0x05a05800, 0x000000cd, 0x80642ee5, 0x0000e401, 0xc000b000, 0x00008981,
- 0x81002697, 0x00009283, 0x30001810, 0x0000ec14, 0x02c00000, 0x0000e180,
- 0x03972ae5, 0x00004900, 0x81002302, 0x00006780, 0x0000180b, 0x0000a106,
- 0x0200b000, 0x0000f900, 0x000210c0, 0x00008980, 0x02400000, 0x0000f900,
- 0x00010030, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0xc000180b, 0x0000e006, 0x4510200e, 0x00003107, 0x03000000, 0x000000fc,
- 0x02a81402, 0x00008028, 0x05c42084, 0x00009900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008010ec, 0x0000d780,
- 0x00c06141, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x0000046c, 0x00006583, 0x5b00556c, 0x00000181,
- 0xdb04036c, 0x00009188, 0x01400000, 0x0000f900, 0x001f8000, 0x00008980,
- 0x001b6005, 0x0000e986, 0x042b6005, 0x00006901, 0x20382eec, 0x0000d600,
- 0x003c2000, 0x00008000, 0x000800ec, 0x00005780, 0x00985980, 0x00008580,
- 0x009886ec, 0x00005f80, 0x00005802, 0x00000084, 0x8100c645, 0x0000e283,
- 0x05c00000, 0x00008980, 0x8111b336, 0x0000e108, 0x8119ba37, 0x00008110,
- 0x801a0240, 0x0000e502, 0x00001817, 0x00002106, 0x02c00002, 0x00006180,
- 0x03800000, 0x0000c980, 0x89002302, 0x0000e780, 0x06800000, 0x00000980,
- 0x01886800, 0x0000f900, 0x00004040, 0x00008980, 0x0200b000, 0x0000f900,
- 0x000099c0, 0x00008980, 0x02400000, 0x0000f900, 0x00010030, 0x00000980,
- 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x05400000, 0x00007900,
- 0x00018000, 0x00008980, 0x06401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0xc0001817, 0x00006006, 0x0000180b, 0x00003106, 0x4511200e, 0x0000e107,
- 0x4511201a, 0x0000b107, 0xa0af2004, 0x00006180, 0xa082a000, 0x0000c981,
- 0xe0e00000, 0x000088cf, 0xe08004ff, 0x000082e0, 0x0a400000, 0x000002e8,
- 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000, 0x000003c2,
- 0x01400000, 0x000080dc, 0x03000000, 0x00006180, 0x03c00002, 0x0000c980,
- 0x02a81402, 0x00008028, 0x04000802, 0x0000e180, 0x04400000, 0x00004980,
- 0x04800100, 0x000001cc, 0x05000396, 0x000001e0, 0x06c00002, 0x0000e180,
- 0x07000000, 0x0000c980, 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0,
- 0x08400000, 0x000002c8, 0x08c00000, 0x0000e180, 0x85901202, 0x0000c900,
- 0x05800502, 0x00000294, 0x09800000, 0x000082dc, 0x000013f0, 0x00007410,
- 0x20fc0404, 0x00008210, 0x21ba2744, 0x00006109, 0x01000802, 0x0000c980,
- 0xc0000744, 0x00009583, 0x00001124, 0x0000700b, 0x80006e82, 0x00001583,
- 0x000014c2, 0x00007033, 0x0c03048a, 0x0000e806, 0x0000348a, 0x00001583,
- 0x0000348a, 0x00001583, 0x0000248a, 0x00009583, 0x00001298, 0x0000f008,
- 0x000011a8, 0x0000f038, 0x00001278, 0x00007038, 0x0000148a, 0x00009583,
- 0x0000048a, 0x00001583, 0x00000c8a, 0x00009583, 0x00001222, 0x00007040,
- 0x0000120b, 0x0000f008, 0x0000119b, 0x0000f010, 0x0a03048d, 0x00006806,
- 0x22c02c8d, 0x00001081, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0xa1008660, 0x00009283, 0xa2141282, 0x0000e110, 0xa3941282, 0x0000c910,
- 0x89800800, 0x0000e191, 0x21c30861, 0x00004910, 0x0000158c, 0x00007008,
- 0x0012d861, 0x00006502, 0x21830861, 0x00008900, 0x0972dc61, 0x0000083e,
- 0x985ada5b, 0x0000e018, 0x23000800, 0x00000999, 0x000013e4, 0x00007018,
- 0x21430b5b, 0x0000e000, 0x21008282, 0x00000880, 0x21008084, 0x00009784,
- 0x00042085, 0x00009502, 0x86942a82, 0x00006150, 0xa0a45e82, 0x00000151,
- 0xa0942a82, 0x0000e150, 0x8990d28e, 0x00000150, 0x000014e7, 0x00007038,
- 0x0000045f, 0x00006583, 0xe0801782, 0x00008181, 0x21000000, 0x00006191,
- 0x17c00000, 0x00004991, 0x000010f4, 0x0000f011, 0x00004c8a, 0x00001583,
- 0x21000800, 0x00009989, 0x0000150a, 0x00007011, 0xc5280000, 0x00006180,
- 0x80001026, 0x0000e407, 0x85008660, 0x00006283, 0x86242026, 0x0000a001,
- 0x21007e60, 0x0000e281, 0x06831000, 0x00008989, 0x06830800, 0x00006191,
- 0xa1030026, 0x0000e001, 0x00000c84, 0x0000e583, 0x04801800, 0x00000981,
- 0x21000000, 0x0000e181, 0xd0000815, 0x0000e404, 0x21000800, 0x0000e189,
- 0x00001012, 0x00006501, 0x21400260, 0x0000f900, 0x00000100, 0x00000380,
- 0x89723646, 0x00006101, 0xb6e42026, 0x00006001, 0xc9402c8d, 0x00006081,
- 0x8520d41a, 0x00000901, 0x0004281a, 0x00006a06, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780,
- 0x00006001, 0x00000080, 0xa1008660, 0x00009283, 0x000014f3, 0x0000700b,
- 0x91800e46, 0x00006081, 0x21000e46, 0x00000081, 0x003a3484, 0x00001503,
- 0x000011c9, 0x0000700b, 0x21000e83, 0x00006081, 0x21400f83, 0x00000081,
- 0xa1242484, 0x00006100, 0xa0c00e83, 0x0000c081, 0x80141a84, 0x0000e502,
- 0xe0c00f83, 0x00000081, 0x000011d1, 0x0000700b, 0xc03c1f44, 0x0000e503,
- 0x217a2c85, 0x00008000, 0x21ba2744, 0x0000e101, 0x21418085, 0x00004080,
- 0x38400c85, 0x00009881, 0xffffffff, 0x00007f97, 0x000010c4, 0x0000f413,
- 0xffffffff, 0x00007f86, 0x18020300, 0x0000f904, 0x2100c645, 0x00009281,
- 0x00004484, 0x00001583, 0xa159bb37, 0x00006110, 0xa111ba37, 0x0000c910,
- 0x000014ca, 0x0000f009, 0x8019ba37, 0x00001502, 0x0000136f, 0x0000f00b,
- 0xa100c645, 0x00009283, 0x00001447, 0x0000700b, 0x80000683, 0x0000e583,
- 0xd1400000, 0x00008981, 0xa0d42a84, 0x0000e108, 0xe0c00000, 0x00008981,
- 0xa1542e83, 0x0000e000, 0xa1142a84, 0x00008100, 0xa1341a84, 0x00009100,
- 0xa2008284, 0x0000e480, 0x0b42f084, 0x0000e180, 0xa1800a84, 0x00009180,
- 0xa1943285, 0x0000e200, 0xa2801a88, 0x00008880, 0xd1244488, 0x00006101,
- 0x21c01a86, 0x0000c880, 0x23428087, 0x0000e002, 0x2140f887, 0x00008784,
- 0x23028885, 0x00006004, 0x0f445085, 0x00002180, 0x21442a86, 0x00009000,
- 0x00042884, 0x00009502, 0x00042884, 0x00009502, 0xffffffff, 0x00007f86,
- 0x000012d4, 0x00007038, 0x000012bf, 0x0000f008, 0x21943084, 0x00006100,
- 0x14000600, 0x00008980, 0x14400000, 0x00007900, 0x000014c0, 0x00008980,
- 0x22001886, 0x00006080, 0x75e80050, 0x0000e101, 0x21200005, 0x0000e180,
- 0x00144051, 0x0000e106, 0x703a88ec, 0x00005600, 0x003a8000, 0x00008000,
- 0x1412f25e, 0x0000e100, 0x14400a47, 0x00004180, 0x00028850, 0x00006502,
- 0x04181084, 0x00002187, 0x21400000, 0x00007900, 0x00007fc0, 0x00000980,
- 0x94000a5e, 0x00006090, 0x94000000, 0x00008988, 0x703c68ec, 0x0000d600,
- 0x003c6000, 0x00000000, 0xa1401886, 0x00006080, 0x97928250, 0x0000c900,
- 0x703c28ec, 0x00005600, 0x003c2000, 0x00008000, 0x14001a50, 0x00006080,
- 0x21000520, 0x0000c980, 0x23427050, 0x0000e002, 0x75e80084, 0x00002101,
- 0x700040ec, 0x00005680, 0x003c24c0, 0x00008010, 0x21a00005, 0x00006180,
- 0x2300004f, 0x0000c084, 0x21000000, 0x00006180, 0x04181086, 0x00006187,
- 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000, 0x21400000, 0x00007900,
- 0x000014c4, 0x00000980, 0x700040ec, 0x00005680, 0x003c37c0, 0x00008078,
- 0xa194428a, 0x00006100, 0xa1280500, 0x00008900, 0x14429853, 0x00006100,
- 0x00143085, 0x00006106, 0x14029052, 0x0000e100, 0xa1801a88, 0x00004780,
- 0xa1818286, 0x00001080, 0x21a00005, 0x00006180, 0x04243084, 0x00006085,
- 0x04181086, 0x00006187, 0x75e80084, 0x0000b101, 0x21c00000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x703c28ec, 0x00005600, 0x003c2000, 0x00008000,
- 0x703a90ec, 0x00005600, 0x003a9800, 0x00008000, 0xa1d4428a, 0x00001100,
- 0x703c38ec, 0x0000d600, 0x003c3000, 0x00000000, 0x00d802ec, 0x0000df80,
- 0x110c1808, 0x000011c4, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x01400ce0, 0x00001283, 0x0000133f, 0x0000f013, 0x01400000, 0x0000e181,
+ 0xb840000c, 0x0000c980, 0x0280240a, 0x00006081, 0x3860540a, 0x00008901,
+ 0xffffffff, 0x0000ffb7, 0x03020b00, 0x00007904, 0x04820b00, 0x00007904,
+ 0x9f80020f, 0x0000f892, 0x68800000, 0x00000984, 0x01403c4a, 0x00009281,
+ 0x00000c05, 0x00001583, 0x017ffa12, 0x00007908, 0x0000000e, 0x00008280,
+ 0x0f025404, 0x0000e80e, 0x0000126a, 0x00007010, 0x810ffa12, 0x0000e282,
+ 0x02602005, 0x00000704, 0x81401a09, 0x0000e080, 0x80000823, 0x00006409,
+ 0x82505a05, 0x0000e008, 0xa0000825, 0x00002409, 0x000013a8, 0x00007010,
+ 0x00104822, 0x00006182, 0x0f02540b, 0x0000b006, 0x0242a054, 0x00009900,
+ 0x01205fe4, 0x00001800, 0x81000a04, 0x00001180, 0x01404a04, 0x00001200,
+ 0x02402a7d, 0x00001000, 0x01605809, 0x00001700, 0x00001270, 0x0000f400,
+ 0x82401a05, 0x00009880, 0x81104a7d, 0x00009000, 0x0000128d, 0x00007200,
+ 0x02c00000, 0x00001981, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x028e5000, 0x00007900, 0x0024f12a, 0x00008980, 0x02e84000, 0x0000f900,
+ 0x00167a04, 0x00000980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x01400000, 0x000080f4, 0x133f1ff4, 0x00007500, 0x82200500, 0x00008022,
+ 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x13402049, 0x00007100,
+ 0xffffffff, 0x00007f86, 0x00000405, 0x00009583, 0x2a88000c, 0x00006190,
+ 0x29400000, 0x0000c990, 0x2a400000, 0x00009990, 0x0000130f, 0x0000f008,
+ 0x134b202b, 0x0000f500, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980,
+ 0x29c79000, 0x0000f900, 0x00287ffc, 0x00000980, 0x81400ee3, 0x00006080,
+ 0x22c00000, 0x00004980, 0x16f84805, 0x0000a084, 0x0000188b, 0x0000e106,
+ 0xc0000007, 0x0000b606, 0xa2901202, 0x0000e100, 0xc000188b, 0x00006006,
+ 0xc0c00000, 0x00006180, 0xe2981302, 0x00004900, 0x02400809, 0x00006080,
+ 0xc0001807, 0x00002006, 0x16f84805, 0x00002884, 0x23000000, 0x0000e180,
+ 0x08011209, 0x0000e182, 0x16c00005, 0x00005004, 0x00400000, 0x00000080,
+ 0x0150b209, 0x0000e000, 0x23600040, 0x00008980, 0x02400000, 0x0000f900,
+ 0x001f8340, 0x00000980, 0x2c102e7e, 0x00009600, 0x824588b0, 0x00009000,
+ 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x20384eec, 0x0000d600,
+ 0x003be000, 0x00000000, 0x22001000, 0x00007900, 0x00008000, 0x00000980,
+ 0x22580800, 0x0000f900, 0x00044040, 0x00000980, 0x01408000, 0x00007900,
+ 0x00008000, 0x00000980, 0x001110ec, 0x00005780, 0x00005800, 0x00000080,
+ 0x23800000, 0x00006180, 0x23d3ea7d, 0x00004900, 0x4000020e, 0x000000d0,
+ 0xc0005c0d, 0x000000df, 0x80400000, 0x00009981, 0x009006ec, 0x00005f80,
+ 0x00c06480, 0x000085c4, 0x2c18567e, 0x00001600, 0x820588b0, 0x00001000,
+ 0x02800000, 0x0000f900, 0x001f8000, 0x00008980, 0x000920ec, 0x00005780,
+ 0x00007000, 0x00000080, 0x82f1077d, 0x0000e100, 0xc0000007, 0x00002606,
+ 0xc0c00000, 0x00006180, 0x82400208, 0x0000c080, 0x82800208, 0x00006080,
+ 0xc0001807, 0x00002006, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
+ 0x001040ec, 0x0000d780, 0x00d07740, 0x00000180, 0xc100177e, 0x0000e283,
+ 0x0410580a, 0x00002101, 0x82504a7e, 0x00006100, 0xdd1b5000, 0x00008980,
+ 0x01408000, 0x00007900, 0x00008000, 0x00000980, 0x203856ec, 0x0000d600,
+ 0x003be000, 0x00000000, 0x2402c859, 0x0000e100, 0x0410487b, 0x00006183,
+ 0x247adf5a, 0x00008908, 0x24c00000, 0x00006180, 0x1502a27d, 0x00004000,
+ 0x40206a0e, 0x000080c3, 0xc1c0000b, 0x000080c7, 0x000012d4, 0x00007400,
+ 0xd5800000, 0x0000e190, 0xd59ab67e, 0x00004008, 0x01000000, 0x00009980,
+ 0x41400d48, 0x00009283, 0x88002800, 0x00006191, 0x00001821, 0x00006491,
+ 0x01c00000, 0x0000f908, 0x00010040, 0x00008980, 0x0000126c, 0x00007010,
+ 0x02adb000, 0x00007900, 0x00287ffe, 0x00008980, 0x02f2b000, 0x00007900,
+ 0x0028cec6, 0x00000980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x01400000, 0x000080f4, 0x13a81ff4, 0x0000f500, 0x81c01000, 0x0000e180,
+ 0xc2300600, 0x0000c901, 0x02600702, 0x00008022, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x02ac9800, 0x0000f900, 0x00287ffe, 0x00008980,
+ 0x02e70800, 0x0000f900, 0x00183f5e, 0x00000980, 0x01800000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x01400000, 0x000080f4, 0x13b51ff4, 0x0000f500,
+ 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900,
+ 0xc0000748, 0x00006583, 0x0bc0bc18, 0x0000a000, 0x05c01000, 0x00006181,
+ 0xd5800000, 0x0000c990, 0x0160c417, 0x00006101, 0xd2000000, 0x00008991,
+ 0x86000fe2, 0x00006080, 0x15000000, 0x00004990, 0x7960bc18, 0x0000a081,
+ 0xc0000356, 0x00006582, 0x08000080, 0x00008980, 0x08400000, 0x0000f900,
+ 0x00200080, 0x00008980, 0x09400000, 0x00007900, 0x00020000, 0x00000980,
+ 0x0f20bc04, 0x0000e000, 0x0c00bc18, 0x0000b000, 0x05e0c404, 0x00006301,
+ 0x9633ee7d, 0x00008908, 0x00004448, 0x0000e583, 0x0620bc05, 0x00000101,
+ 0x08800000, 0x0000f900, 0x00001e00, 0x00008980, 0x8203e021, 0x00006007,
+ 0x00003825, 0x0000b106, 0x05c01418, 0x00006081, 0x5043e021, 0x00006003,
+ 0x863ffa12, 0x00007900, 0x0000000e, 0x00008280, 0x08c00000, 0x00007900,
+ 0x00002040, 0x00008980, 0xc0003825, 0x00006006, 0x0010c022, 0x00003182,
+ 0x0563f47d, 0x00008021, 0x09800000, 0x000082dc, 0x000014d1, 0x0000f408,
+ 0x09001706, 0x00000202, 0xc2000617, 0x00008096, 0xc100477e, 0x00001283,
+ 0x000015a1, 0x00007013, 0x00000405, 0x00006583, 0x0f02540c, 0x0000a006,
+ 0x02800000, 0x0000e181, 0x08011217, 0x0000e182, 0x83400000, 0x0000e188,
+ 0x02c2a054, 0x00004900, 0x000014e3, 0x0000f010, 0x80000215, 0x0000e582,
+ 0x81c00000, 0x00000981, 0xc2400000, 0x00006180, 0x8410ba17, 0x0000c900,
+ 0x01000000, 0x00006190, 0x02400000, 0x00004991, 0x000015e3, 0x00007008,
+ 0x83800001, 0x000001d1, 0x84400617, 0x00008189, 0x01401e50, 0x0000e281,
+ 0x05c08811, 0x00000900, 0x0010a811, 0x0000e502, 0x04c01405, 0x00000881,
+ 0x78430413, 0x0000e081, 0x05d0aa15, 0x00008938, 0x03f03e07, 0x00006101,
+ 0x04c01607, 0x0000c881, 0x38414413, 0x00009081, 0xffffffff, 0x00007fa7,
+ 0x06020b00, 0x00007904, 0x0600c04f, 0x00009002, 0x1d184818, 0x00006102,
+ 0x04c00019, 0x00000084, 0xc0000309, 0x00006582, 0x1d400013, 0x00008184,
+ 0x84c00000, 0x00001980, 0x80000217, 0x00006582, 0x84c00800, 0x00008990,
+ 0x07820b00, 0x00007904, 0x06209c13, 0x00006101, 0x0782781e, 0x0000c100,
+ 0x000014ec, 0x0000f008, 0x06800000, 0x00006181, 0x86d0ba17, 0x00004900,
+ 0x0a010419, 0x00006884, 0x0660d419, 0x00001000, 0x00003819, 0x00009582,
+ 0x00004019, 0x00009582, 0x00000418, 0x00009583, 0x0000140e, 0x00007050,
+ 0x0000141d, 0x00007010, 0x0000141f, 0x0000f008, 0x0700f21b, 0x0000e400,
+ 0x0640f01e, 0x00004900, 0x1003a500, 0x0000f904, 0x0000e019, 0x0000e502,
+ 0x0780e309, 0x00008000, 0x1000f500, 0x0000f904, 0x06800c1a, 0x00006081,
+ 0x13c2781c, 0x00008000, 0x0000148c, 0x00007208, 0xc250e309, 0x00006000,
+ 0x86d0e21b, 0x00008100, 0x8000021b, 0x00009582, 0x1d020b00, 0x00007904,
+ 0x07820b00, 0x00007904, 0x00001406, 0x00007010, 0x00000413, 0x00001583,
+ 0x06800c1a, 0x00009191, 0x8150da17, 0x00009100, 0x80102a17, 0x00009502,
+ 0x8831041a, 0x0000e009, 0x8550ba15, 0x00008108, 0x8490ba12, 0x00006008,
+ 0x0a010404, 0x0000a08c, 0x00001533, 0x0000f010, 0x0120241a, 0x00006001,
+ 0x8510ba14, 0x00008000, 0x80108214, 0x0000e502, 0x86202020, 0x00002085,
+ 0x03800c0e, 0x00006099, 0x85108214, 0x00008118, 0x80000215, 0x0000e582,
+ 0x08011210, 0x0000a19a, 0x00001550, 0x0000f013, 0x81005000, 0x00006180,
+ 0x81401a0d, 0x00004880, 0x86102a12, 0x00006100, 0x0a010504, 0x0000a084,
+ 0x003020ec, 0x00005702, 0x00007000, 0x00000080, 0x0120467e, 0x0000e101,
+ 0xc1d02a12, 0x00000100, 0x01584216, 0x0000e000, 0x81202404, 0x00000900,
+ 0x85d0c27d, 0x00006100, 0x1e000000, 0x00008980, 0x80000217, 0x00006582,
+ 0x08003018, 0x0000a206, 0x2c102a04, 0x00009600, 0x810588b0, 0x00001000,
+ 0x0000c078, 0x00006204, 0x9000007e, 0x0000b411, 0x1ec00000, 0x00006180,
+ 0x34e24078, 0x00006005, 0x23d0ba17, 0x00006100, 0x82502217, 0x0000c000,
+ 0x08003a17, 0x00006106, 0xe183f07b, 0x00003001, 0x22c00000, 0x00006180,
+ 0x75d0b878, 0x00006101, 0x1dc00000, 0x000087e8, 0x00004448, 0x0000e583,
+ 0xf183f07b, 0x00002001, 0x1d009000, 0x0000f900, 0x00009880, 0x00008980,
+ 0x6542b078, 0x00006001, 0x0000188b, 0x0000b106, 0x9e98db1b, 0x0000e100,
+ 0x00001877, 0x0000e106, 0x22001000, 0x00007900, 0x00008000, 0x00000980,
+ 0x22580800, 0x0000f900, 0x00044040, 0x00000980, 0x1d400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x001110ec, 0x00005780, 0x00005800, 0x00000080,
+ 0x6703f078, 0x0000e009, 0xc000188b, 0x00003006, 0x88509212, 0x00006100,
+ 0xc0001877, 0x00006006, 0x22a81402, 0x00008828, 0x23000000, 0x0000e180,
+ 0x23600040, 0x00004980, 0x23800000, 0x00006180, 0x9d901202, 0x0000c900,
+ 0xdd981302, 0x00006100, 0x5e42a054, 0x0000c900, 0xde62c458, 0x0000e101,
+ 0xde938270, 0x0000c908, 0x0000146d, 0x00007408, 0x9edab356, 0x00006100,
+ 0x9d030800, 0x00004989, 0x9e9b8370, 0x00001908, 0xc100477e, 0x00001283,
+ 0x0000157e, 0x0000f013, 0x2c184408, 0x00009600, 0x85c588b0, 0x00009000,
+ 0xc100177e, 0x0000e283, 0xc271077d, 0x00008100, 0xd59ab408, 0x0000e008,
+ 0x1502a307, 0x00008000, 0x82104a17, 0x00006000, 0xc0000007, 0x00002606,
+ 0x8210427e, 0x00006100, 0xc0c00000, 0x00008980, 0x0410407b, 0x0000e183,
+ 0xc0001807, 0x0000b006, 0x02000000, 0x00007900, 0x001f8000, 0x00008980,
+ 0x82104a17, 0x00006000, 0x80107000, 0x00000980, 0x001040ec, 0x0000d780,
+ 0x00d07740, 0x00000180, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
+ 0xc0006800, 0x00006181, 0x04184808, 0x00006101, 0x01408000, 0x00007900,
+ 0x00008000, 0x00000980, 0x203846ec, 0x00005600, 0x003be000, 0x00000000,
+ 0xd5800000, 0x0000e190, 0x01000000, 0x0000c980, 0xc0405800, 0x000080df,
+ 0x009006ec, 0x00005f80, 0x00c06480, 0x000085c4, 0x06400e50, 0x00006081,
+ 0x13c00000, 0x00000980, 0x8720cc19, 0x0000e100, 0x01400c05, 0x0000c081,
+ 0xc2400000, 0x00006180, 0x81c00e07, 0x0000c081, 0x8012821c, 0x0000e502,
+ 0x94000e50, 0x00000081, 0x00002405, 0x00001583, 0x8012821c, 0x00001502,
+ 0x000014f1, 0x00007018, 0x00001419, 0x0000f010, 0x00001419, 0x0000f020,
+ 0x8160ca50, 0x00001100, 0x80002205, 0x00001582, 0x0160cc50, 0x0000e131,
+ 0x01402000, 0x00008999, 0x06402419, 0x00009880, 0x07826019, 0x0000e002,
+ 0x01402405, 0x00008881, 0x0740004d, 0x00006084, 0x06400600, 0x00000980,
+ 0x07000000, 0x00007900, 0x000014c4, 0x00000980, 0x86680500, 0x0000e100,
+ 0x0020281c, 0x0000e106, 0x75e80019, 0x0000e901, 0x7038e0ec, 0x00005600,
+ 0x0038c800, 0x00000000, 0x07000000, 0x00007900, 0x00007fc0, 0x00000980,
+ 0x87202c05, 0x0000e100, 0x06700006, 0x0000c980, 0x7038f0ec, 0x0000d600,
+ 0x0038e800, 0x00008000, 0x04181019, 0x0000e987, 0x7038e0ec, 0x00005600,
+ 0x0038c800, 0x00000000, 0x00c802ec, 0x00005f80, 0x1145a009, 0x000012c4,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x21000ce0, 0x00001283, 0x0000144f, 0x0000f013, 0x30000845, 0x00006c03,
- 0x30806e82, 0x0000f8b3, 0x30800000, 0x00008886, 0x00005c8a, 0x00009583,
- 0x00001222, 0x0000700b, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x035fa000, 0x0000f900, 0x0009d12e, 0x00008980, 0x038b6000, 0x0000f900,
- 0x00004b34, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x01800000, 0x000080dc, 0x11a81bac, 0x00007500, 0x82600500, 0x00008026,
- 0x81001000, 0x0000e180, 0x02c01002, 0x00004900, 0x00004c8a, 0x00001583,
- 0x0000448a, 0x00009583, 0xffffffff, 0x00007f86, 0x000011e6, 0x0000f038,
- 0x000010d3, 0x00007040, 0xa1130d5d, 0x00009000, 0x80141284, 0x00009502,
- 0xa0942282, 0x00006150, 0xa0803682, 0x000001d1, 0xe0801782, 0x000011d1,
- 0x000014c2, 0x0000f038, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x09400260, 0x0000f900, 0x00000100, 0x00000380, 0x04801000, 0x00006181,
- 0xd0003015, 0x00006404, 0x0001280e, 0x0000e206, 0x0001281a, 0x0000b206,
- 0xc52b5000, 0x00006180, 0x00001812, 0x0000e501, 0x09b23646, 0x0000e101,
- 0x89530d5d, 0x00004000, 0xc9530a61, 0x00001900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780,
- 0x00006002, 0x00000080, 0x91800e46, 0x00006081, 0x21000e46, 0x00000081,
- 0x003a3484, 0x00001503, 0x00001114, 0x00007013, 0x21000e83, 0x00006081,
- 0x91800000, 0x00000981, 0xa1242484, 0x00006100, 0x21400f83, 0x0000c081,
- 0x80141a84, 0x0000e502, 0xa0c00e83, 0x00000081, 0xe0c00f83, 0x00009081,
- 0x0000111b, 0x0000f011, 0xa040c645, 0x00006283, 0x00001028, 0x00002402,
- 0x2000082e, 0x0000e40a, 0x8000082e, 0x0000b412, 0xd1242f44, 0x0000e101,
- 0xd17a2c85, 0x00000001, 0xcdd9ba84, 0x00006010, 0x8d91b284, 0x00000008,
- 0x20c00000, 0x00007900, 0x001f8000, 0x00008980, 0x80001000, 0x00006180,
- 0x00141083, 0x00006186, 0x00503800, 0x00007900, 0x0004c010, 0x00008980,
- 0xc0c07800, 0x00006180, 0x04341083, 0x00006101, 0x203c1eec, 0x00005600,
- 0x003c0000, 0x00000000, 0x4060ba82, 0x00008083, 0x008806ec, 0x00005f80,
- 0x00985a80, 0x00008b84, 0x0000548a, 0x00001583, 0xe0801782, 0x00006189,
- 0xa0aafa82, 0x00000108, 0xa0802682, 0x00009189, 0x00001199, 0x00007010,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x07000260, 0x0000f900,
- 0x00000100, 0x00000380, 0x09c00061, 0x00007900, 0x00000100, 0x00000380,
- 0x04801800, 0x0000e181, 0x0000e01a, 0x0000e206, 0x07000000, 0x0000e180,
- 0xb0000812, 0x00006404, 0x89880000, 0x0000e180, 0x0001381c, 0x00006206,
- 0xd0003015, 0x00006404, 0x00002012, 0x00003501, 0xc52b5800, 0x0000e180,
- 0x4000d01c, 0x0000e107, 0x07400002, 0x0000e180, 0x07800000, 0x00004980,
- 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8, 0x08c00000, 0x0000e180,
- 0x896afd5f, 0x0000c900, 0x49bb0c46, 0x0000021c, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780,
- 0x00006001, 0x00000080, 0x91800e46, 0x00006081, 0x21000e46, 0x00000081,
- 0x453a3484, 0x00007812, 0x48800000, 0x0000088e, 0xa0a2ea82, 0x0000e100,
- 0xa0802e82, 0x00000181, 0xe0801782, 0x00001181, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x21000260, 0x00007900, 0x00000100, 0x00000380,
- 0x04801000, 0x00006181, 0xd0003015, 0x00006404, 0x0004200e, 0x00006206,
- 0x0004201a, 0x00003206, 0xc52b2800, 0x00006180, 0x00001812, 0x0000e501,
- 0xc952355d, 0x00008214, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780, 0x00006002, 0x00000080,
- 0x91800e46, 0x00006081, 0x21000e46, 0x00000081, 0x453a3484, 0x00007812,
- 0x48800000, 0x0000088e, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x06807e60, 0x00006281, 0xd0000815, 0x00002404, 0x00001c1a, 0x0000e583,
- 0x09400000, 0x00000980, 0x0537f814, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x067f8019, 0x00007900, 0x003ffffe, 0x00008280, 0x09800000, 0x0000e180,
- 0x80000019, 0x00006401, 0x000012fa, 0x0000f408, 0x09c00000, 0x00006180,
- 0x09040080, 0x0000c900, 0xc52b3000, 0x00006180, 0x04803800, 0x0000c991,
- 0x21000260, 0x00007900, 0x00000100, 0x00000380, 0x00005c1a, 0x00006583,
- 0xb0000012, 0x00002404, 0x0004201a, 0x00006206, 0x00002012, 0x00003501,
- 0x24400000, 0x00006181, 0x0004200e, 0x0000e20e, 0x001808ec, 0x0000d788,
- 0x00006000, 0x00008080, 0x84801800, 0x0000e189, 0x04801000, 0x0000c989,
- 0x0c030484, 0x00006806, 0x00001c84, 0x00009583, 0x00001312, 0x0000f00b,
- 0x00001c84, 0x00009583, 0x00002484, 0x00001583, 0x00005c84, 0x00001583,
- 0x000012b0, 0x00007050, 0x0000133f, 0x0000f008, 0x00001253, 0x00007010,
- 0x124a1846, 0x0000f300, 0xa1004e60, 0x00008894, 0x89401800, 0x00006180,
- 0x21000e46, 0x0000c081, 0xa1419546, 0x0000e080, 0x49723646, 0x00008901,
- 0x003a3484, 0x0000e503, 0x91800e46, 0x00000081, 0x89819546, 0x0000e080,
- 0xa0942a82, 0x00008100, 0x91800000, 0x00001989, 0x21600004, 0x0000e180,
- 0x0c030486, 0x00006006, 0x22182000, 0x00007900, 0x00103aca, 0x00000980,
- 0x125b1be2, 0x00007500, 0x21000000, 0x00006180, 0x21a43486, 0x00004900,
- 0xe1530260, 0x00001900, 0xa0801e82, 0x00006181, 0xe0801782, 0x00008181,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x01400ce0, 0x00001283,
+ 0x000014fe, 0x0000f013, 0x01607c1a, 0x0000e000, 0xb840000c, 0x00000980,
+ 0x01401405, 0x00001881, 0x01400000, 0x0000e181, 0x38414405, 0x00004081,
+ 0xffffffff, 0x00007fa7, 0x1d020b00, 0x00007904, 0x07820b00, 0x00007904,
+ 0x0180021b, 0x0000f893, 0xe8800000, 0x00000a80, 0x01003c4a, 0x00001281,
+ 0x00000c04, 0x00009583, 0x017ffa12, 0x00007908, 0x0000000e, 0x00008280,
+ 0x0f025404, 0x0000e80e, 0x000013db, 0x0000f010, 0x810ffa12, 0x0000e282,
+ 0x01602005, 0x00000704, 0x81401a05, 0x0000e080, 0x80000823, 0x00006409,
+ 0x8610c205, 0x00006008, 0xa0000825, 0x00002409, 0x000015eb, 0x0000f010,
+ 0x0010c022, 0x00006182, 0x0f02540c, 0x00003006, 0x02c2a054, 0x00006100,
+ 0x08011217, 0x0000e182, 0x02800800, 0x00001981, 0x012067e4, 0x00009800,
+ 0x81000a04, 0x00001180, 0x01005a04, 0x00001200, 0x0100227d, 0x00001000,
+ 0x01206004, 0x00009700, 0x000013e4, 0x0000f400, 0x81001a04, 0x0000e080,
+ 0x83502204, 0x0000c900, 0x8550227d, 0x00001000, 0x0000141f, 0x0000f400,
+ 0x00000413, 0x0000e583, 0x06800000, 0x00008981, 0x06800c1a, 0x00006191,
+ 0x86c00000, 0x00000980, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x028e5000, 0x00007900, 0x0024f12a, 0x00008980, 0x02e84000, 0x0000f900,
+ 0x00167a04, 0x00000980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x01400000, 0x000080f4, 0x14fe1ff4, 0x00007500, 0x82200500, 0x00008022,
+ 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x14ff2049, 0x00007100,
+ 0xffffffff, 0x00007f86, 0x00000405, 0x00009583, 0x2a88000c, 0x00006190,
+ 0x29400000, 0x0000c990, 0x2a400000, 0x00009990, 0x000014c7, 0x0000f008,
+ 0x150a202b, 0x0000f500, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980,
+ 0x29c79000, 0x0000f900, 0x00287ffc, 0x00000980, 0x85c00ee3, 0x00006080,
+ 0x08011218, 0x0000e182, 0x16f82817, 0x0000a084, 0x22c00000, 0x00006180,
+ 0xc0000007, 0x0000e606, 0x02000000, 0x00007900, 0x001f8340, 0x00000980,
+ 0xa2901202, 0x0000e100, 0x0000188b, 0x0000e106, 0x01400805, 0x00006080,
+ 0xc000188b, 0x0000a006, 0x16f82817, 0x00002884, 0x16c00017, 0x00005004,
+ 0x00400000, 0x00000080, 0x05d0b218, 0x0000e000, 0xc0c00000, 0x00008980,
+ 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x2c10be7e, 0x00009600,
+ 0x820588b0, 0x00001000, 0xe2981302, 0x00006100, 0xc0001807, 0x0000e006,
+ 0x203846ec, 0x00005600, 0x003be000, 0x00000000, 0x22001000, 0x00007900,
+ 0x00008000, 0x00000980, 0x22580800, 0x0000f900, 0x00044040, 0x00000980,
+ 0x01408000, 0x00007900, 0x00008000, 0x00000980, 0x001110ec, 0x00005780,
+ 0x00005800, 0x00000080, 0x23000000, 0x0000e180, 0x23600040, 0x00004980,
+ 0x23800000, 0x00006180, 0x23d3ea7d, 0x00004900, 0x4000020e, 0x000000d0,
+ 0xc000040d, 0x000080c7, 0x81c05800, 0x00001981, 0x009006ec, 0x00005f80,
+ 0x00c06480, 0x000085c4, 0x80000212, 0x00009582, 0x85c02d00, 0x0000e090,
+ 0x94204c09, 0x00004911, 0x30030017, 0x0000f912, 0x18400000, 0x00008000,
+ 0x0000156a, 0x0000f008, 0x0000040a, 0x00006583, 0x13c02004, 0x00008900,
+ 0x303b1217, 0x00003038, 0x303b2417, 0x00003038, 0x303b3617, 0x00003038,
+ 0x307b4017, 0x00003038, 0x307b5217, 0x00003038, 0x00001568, 0x0000f408,
+ 0x307b6417, 0x00003038, 0x307b7617, 0x00003038, 0x83400000, 0x00006180,
+ 0x062067e4, 0x00004800, 0x81400a18, 0x0000e180, 0x85c04218, 0x00000080,
+ 0x81004218, 0x0000e080, 0x01405a05, 0x00008200, 0x81502a12, 0x00001000,
+ 0x8010ba05, 0x00009502, 0x00001568, 0x0000f02b, 0x85d02217, 0x00006000,
+ 0x83400a0d, 0x00000080, 0x5a10ba05, 0x0000782b, 0x60800000, 0x00000a8a,
+ 0x86002d00, 0x00006080, 0x02728650, 0x00004901, 0x303b0018, 0x0000b838,
+ 0x303b1218, 0x0000b838, 0x303b2418, 0x0000b838, 0x303b3618, 0x0000b838,
+ 0x307b4018, 0x0000b838, 0x307b5218, 0x0000b838, 0x307b6418, 0x0000b838,
+ 0x000013ed, 0x0000f400, 0x307b7618, 0x0000b838, 0x0102784f, 0x00001900,
+ 0x80000204, 0x00001582, 0x000015c6, 0x0000f013, 0x3841440f, 0x0000e081,
+ 0x8820ae20, 0x00008101, 0x02804809, 0x0000e100, 0x0a010418, 0x00006084,
+ 0x84909a05, 0x0000e100, 0x05e0ac18, 0x00008101, 0x8620b820, 0x0000e885,
+ 0xffffffff, 0x00007f97, 0x10008500, 0x00007904, 0x10005500, 0x0000f904,
+ 0x0000142f, 0x0000f200, 0x0220740e, 0x00009901, 0x0000040a, 0x00006583,
+ 0x88004620, 0x00000081, 0x83400000, 0x0000e190, 0x0a010418, 0x00006084,
+ 0x03c04418, 0x00009081, 0x000015e5, 0x0000f208, 0x062067e4, 0x0000e010,
+ 0x86207820, 0x00006085, 0xffffffff, 0x00007f86, 0x82004218, 0x0000e080,
+ 0x81000a18, 0x00000180, 0x01005a04, 0x00001200, 0x81004218, 0x0000e080,
+ 0x82d02205, 0x00008000, 0x8010220b, 0x00009502, 0x000015b2, 0x0000702b,
+ 0x81104204, 0x00006000, 0x83400a0d, 0x00000080, 0x6c90220b, 0x0000f82b,
+ 0xd0800000, 0x00000a8b, 0x2c184408, 0x00009600, 0x85c588b0, 0x00009000,
+ 0xc100177e, 0x0000e283, 0xc271077d, 0x00008100, 0xd59ab408, 0x0000e008,
+ 0x1502a307, 0x00008000, 0x82104a17, 0x00006000, 0xc0000007, 0x00002606,
+ 0x8210427e, 0x00006100, 0xc0c00000, 0x00008980, 0x0410407b, 0x0000e183,
+ 0xc0001807, 0x0000b006, 0x02000000, 0x00007900, 0x001f8000, 0x00008980,
+ 0x000920ec, 0x00005780, 0x00007000, 0x00000080, 0x82104a17, 0x00006000,
+ 0xdd1b5000, 0x00008980, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
+ 0x001040ec, 0x0000d780, 0x00d07740, 0x00000180, 0x2402c859, 0x0000e100,
+ 0x04184808, 0x00006101, 0x01408000, 0x00007900, 0x00008000, 0x00000980,
+ 0x203846ec, 0x00005600, 0x003be000, 0x00000000, 0x247adf5a, 0x00008908,
+ 0x24d07000, 0x000080c1, 0xc0006800, 0x00006181, 0xd5800000, 0x0000c990,
+ 0x0000148a, 0x0000f400, 0x01005800, 0x000080df, 0x80400000, 0x00009981,
+ 0x41000d48, 0x00001283, 0x88002800, 0x00006191, 0x00001821, 0x00006491,
+ 0x01c00000, 0x0000f908, 0x00010040, 0x00008980, 0x000013dd, 0x0000f010,
+ 0x02adb000, 0x00007900, 0x00287ffe, 0x00008980, 0x02f2b000, 0x00007900,
+ 0x0028cec6, 0x00000980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x01400000, 0x000080f4, 0x15b21ff4, 0x00007500, 0x81c01000, 0x0000e180,
+ 0xc2300600, 0x0000c901, 0x02600702, 0x00008022, 0x2c106a08, 0x00001600,
+ 0x024588b0, 0x00001000, 0x82d04a0b, 0x00006100, 0x81001a05, 0x00008280,
+ 0x02905a0b, 0x0000e100, 0x02410018, 0x00004180, 0x0000480a, 0x00001502,
+ 0x000015e7, 0x0000f043, 0x80000204, 0x00001582, 0x84d02204, 0x00006110,
+ 0x84902a05, 0x0000c908, 0x00001568, 0x0000f009, 0x0000004f, 0x0000e582,
+ 0x0603fc0f, 0x00008281, 0x0207e650, 0x00006281, 0x81109a13, 0x00000900,
+ 0x85401800, 0x000081de, 0x94000e50, 0x00006189, 0x05000c18, 0x00008181,
+ 0x03c01414, 0x00001881, 0x0307e650, 0x0000e281, 0x7841440f, 0x00000081,
+ 0x00206408, 0x00001503, 0x03001417, 0x00009891, 0x3843040c, 0x00009091,
+ 0xffffffff, 0x00007f97, 0x04020b00, 0x0000f904, 0x000015d6, 0x0000f408,
+ 0x02820b00, 0x00007904, 0x0240500a, 0x00009900, 0x10008500, 0x00007904,
+ 0x00000417, 0x00006583, 0x0297280a, 0x00008200, 0x10005500, 0x0000f904,
+ 0x05c01800, 0x00006189, 0x05c00c17, 0x0000c191, 0x84905204, 0x00009c00,
+ 0xffffffff, 0x00007f86, 0x81109204, 0x00006100, 0x0310900a, 0x00000100,
+ 0x8000020c, 0x00006582, 0x13d7280c, 0x00000200, 0x05400c15, 0x00001089,
+ 0x0000155c, 0x00007011, 0x80000204, 0x00001582, 0x94000e50, 0x00006191,
+ 0x05000c14, 0x00000191, 0x0000155e, 0x0000f009, 0x000015c5, 0x00007000,
+ 0x0000142f, 0x0000f200, 0x84800000, 0x00009980, 0x000015ba, 0x00007200,
+ 0x81001a05, 0x00001280, 0x85d0c20b, 0x00001100, 0x84c12217, 0x00001082,
+ 0x000015ba, 0x0000700b, 0x000015be, 0x00007000, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x02ac9800, 0x0000f900, 0x00287ffe, 0x00008980,
+ 0x02e70800, 0x0000f900, 0x00183f5e, 0x00000980, 0x01800000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x01400000, 0x000080f4, 0x15f81ff4, 0x0000f500,
+ 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900,
+ 0x06000000, 0x000081e4, 0x07000000, 0x000001e8, 0xc540240d, 0x00004188,
+ 0x00202c0d, 0x00008088, 0x20401c0d, 0x0000c88a, 0x4e601d14, 0x00008992,
+ 0x16021765, 0x0000f500, 0x06c01800, 0x0000f900, 0x00008040, 0x00008980,
+ 0x08401800, 0x00009981, 0x46006514, 0x00001283, 0x01308e11, 0x00006109,
+ 0x41388f11, 0x0000c909, 0x81209412, 0x0000e109, 0xc1389712, 0x00004909,
+ 0x00001639, 0x0000f010, 0x40005d13, 0x00006583, 0xc2c1f712, 0x00008081,
+ 0x82819712, 0x00006080, 0x0430900b, 0x00002001, 0xc1508210, 0x0000e100,
+ 0x1468900b, 0x0000e001, 0x01a08d10, 0x00000018, 0x00001639, 0x0000f418,
+ 0x01c29712, 0x0000e081, 0x41c25712, 0x00000081, 0x42c06513, 0x00006199,
+ 0x01800000, 0x000089b0, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x0286d800, 0x0000f900, 0x002315fe, 0x00000980, 0x02fda800, 0x00007900,
+ 0x000de976, 0x00000980, 0x01400000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x03400000, 0x0000e180, 0xc2300600, 0x0000c901, 0x00001638, 0x00007400,
+ 0x82381400, 0x00008024, 0x81c01000, 0x00009980, 0x0000162b, 0x0000f200,
+ 0x06c02001, 0x000082c6, 0x16251765, 0x0000f300, 0x06c03001, 0x000002c6,
+ 0x163924bc, 0x0000f404, 0x06fff800, 0x00007900, 0x003ffdfe, 0x00008980,
+ 0x07401002, 0x00009900, 0x00001639, 0x00007000, 0x06c03801, 0x000082c6,
+ 0x16391765, 0x0000f100, 0x00001639, 0x00007000, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x02be6000, 0x00007900, 0x002315fc, 0x00008980,
+ 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x0180600c, 0x0000e100,
+ 0x08001a08, 0x00006106, 0x0168070d, 0x00000022, 0x82381400, 0x00008024,
+ 0x03402800, 0x000080dd, 0x16391ff4, 0x0000f100, 0x82c0ecec, 0x00007902,
+ 0x06c00000, 0x00008604, 0x17c0600c, 0x0000e100, 0x0020681e, 0x0000e086,
+ 0x8228681e, 0x0000e886, 0x0418681e, 0x00006987, 0x07c0f01e, 0x00006100,
+ 0x0000201b, 0x00006586, 0x0780e81d, 0x0000e100, 0x0428681b, 0x00006087,
+ 0x1780f81f, 0x00006100, 0x8620681b, 0x0000e087, 0x164920b3, 0x0000f500,
+ 0x1706d800, 0x0000f900, 0x0032a52e, 0x00000980, 0x16f8f71b, 0x00000534,
+ 0x164b16e8, 0x0000f300, 0x15410f0c, 0x0000851b, 0x0000240d, 0x00006583,
+ 0x00000019, 0x0000a586, 0x00002019, 0x00006485, 0x00002818, 0x0000b585,
+ 0x80000019, 0x0000e487, 0x0004801a, 0x0000b582, 0x06c00000, 0x00006180,
+ 0x8620a019, 0x00006007, 0x0000165b, 0x0000f410, 0x86181302, 0x00006100,
+ 0x557f1019, 0x0000e003, 0x07401d14, 0x00006289, 0xc6880000, 0x00008980,
+ 0x0000165c, 0x0000f400, 0xffffffff, 0x00007f86, 0x00000c1d, 0x00001583,
+ 0x00002c0d, 0x00001583, 0x07c00000, 0x0000e180, 0x0000001a, 0x0000658a,
+ 0x0000181f, 0x00006106, 0x0000901c, 0x00003484, 0x000800ec, 0x00005780,
+ 0x00006000, 0x00008080, 0x00001c0d, 0x0000e583, 0xc000181f, 0x00002006,
+ 0x07400000, 0x0000f900, 0x00018008, 0x00000980, 0x001008ec, 0x00005788,
+ 0x00006000, 0x00008080, 0x07a81402, 0x00008138, 0x08386f0c, 0x00000204,
+ 0x08b87f0e, 0x0000020c, 0x09388f10, 0x00000214, 0x09b89f12, 0x0000021c,
+ 0x0a38af14, 0x00000224, 0x0ab8bf16, 0x0000022c, 0xc7232000, 0x00009980,
+ 0x008836ec, 0x00005f80, 0x00007001, 0x00000084, 0x0c400080, 0x00006180,
+ 0x0c0000a0, 0x00004980, 0x0c800000, 0x00007900, 0x00004000, 0x00000980,
+ 0x82006031, 0x00006007, 0x00107032, 0x00003182, 0x29860000, 0x0000f900,
+ 0x001f2252, 0x00008980, 0x29d00000, 0x0000f900, 0x002abbe0, 0x00008980,
+ 0x78408000, 0x0000e181, 0x50406031, 0x00006003, 0x8200c20e, 0x00006180,
+ 0x0cc00000, 0x00008980, 0x1684202b, 0x0000f500, 0x2a80000a, 0x00006180,
+ 0x2a402800, 0x00004980, 0x8c301002, 0x00000a16, 0x0dc00000, 0x0000e180,
+ 0x8d901202, 0x00004900, 0xcd981302, 0x0000e100, 0x00001837, 0x00006106,
+ 0x0d009000, 0x00007900, 0x00011ac0, 0x00008980, 0x0d400000, 0x0000f900,
+ 0x00018030, 0x00008980, 0x02706e0d, 0x00006101, 0xc0001837, 0x0000e006,
+ 0x01c00000, 0x00001981, 0x01001000, 0x0000e181, 0x0bc05c05, 0x0000e000,
+ 0x02a02c04, 0x0000e101, 0x81400fe2, 0x00008880, 0x79602c05, 0x0000a081,
+ 0x03820b00, 0x0000f904, 0xc000070f, 0x00006583, 0x0c005c04, 0x00002000,
+ 0x01800000, 0x00007910, 0x001f0000, 0x00000980, 0x0e000000, 0x00006190,
+ 0x0f002c05, 0x0000e000, 0x01602405, 0x00006301, 0x0e400000, 0x00000990,
+ 0x000016c3, 0x00007408, 0x02a02c0a, 0x00006101, 0x0e800000, 0x00000990,
+ 0x0280140a, 0x00006081, 0x0ec00000, 0x00004990, 0x81a0540a, 0x00006100,
+ 0x10400002, 0x0000c980, 0x203836ec, 0x0000d600, 0x00386000, 0x00008000,
+ 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000, 0x0000e180,
+ 0x10a05507, 0x00004100, 0x90c0710e, 0x0000840e, 0x90604c09, 0x00009901,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009020ec, 0x00005780, 0x00006001, 0x00000080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x05c00000, 0x000081e8,
- 0xa1002302, 0x0000e780, 0x00001817, 0x00002106, 0x05400000, 0x00007900,
- 0x00018000, 0x00008980, 0x06401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0xc0001817, 0x00006006, 0x4514201a, 0x0000b107, 0x05000396, 0x000001e0,
- 0x06c00002, 0x0000e180, 0x07000000, 0x0000c980, 0x07400000, 0x000001f8,
- 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8, 0x00001114, 0x00007400,
- 0x08c00000, 0x0000e180, 0x85901202, 0x0000c900, 0xc5981302, 0x00001900,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x21000260, 0x00007900,
- 0x00000100, 0x00000380, 0x83802302, 0x00006780, 0x0004201a, 0x0000a206,
- 0x04801000, 0x00006181, 0x4510701a, 0x00006107, 0x0004200e, 0x00006206,
- 0xd0003015, 0x00003404, 0xa1010660, 0x00006283, 0x0ac30526, 0x00002000,
- 0xc5002800, 0x0000e181, 0x00001812, 0x0000e501, 0x09b23646, 0x0000e101,
- 0x896afd5f, 0x0000c900, 0x000014dd, 0x0000f210, 0xc9530a61, 0x00006100,
- 0xa0aafa82, 0x0000c108, 0x21000e46, 0x00006081, 0xa0802682, 0x00008181,
- 0x003a3484, 0x0000e503, 0x91800e46, 0x00000081, 0xe0801782, 0x0000e181,
- 0x85035800, 0x00000981, 0x91800000, 0x00001989, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780,
- 0x00006002, 0x00000080, 0x00001114, 0x0000f000, 0xa0aaea82, 0x00006100,
- 0xa0802e82, 0x00000181, 0xe0801782, 0x00001181, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x21000260, 0x00007900, 0x00000100, 0x00000380,
- 0x04801000, 0x00006181, 0xd0003015, 0x00006404, 0x0004200e, 0x00006206,
- 0x0004201a, 0x00003206, 0xc52b4800, 0x00006180, 0x00001812, 0x0000e501,
- 0x896aed5d, 0x0000e100, 0x09b23646, 0x0000c901, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780,
- 0x00006002, 0x00000080, 0x91800e46, 0x00006081, 0x21000e46, 0x00000081,
- 0x453a3484, 0x00007812, 0x48800000, 0x0000088e, 0x00001484, 0x00001583,
- 0x21130260, 0x00006108, 0x21404800, 0x00004988, 0x00001253, 0x0000f011,
- 0x12b51846, 0x00007100, 0x89401800, 0x00006180, 0x21000e46, 0x0000c081,
- 0xa1419546, 0x0000e080, 0x49723646, 0x00008901, 0x003a3484, 0x0000e503,
- 0x91800e46, 0x00000081, 0x00001253, 0x00007400, 0x89819546, 0x0000e080,
- 0xa0942a82, 0x00008100, 0x91800000, 0x00001989, 0x1412f25e, 0x0000e100,
- 0x22400a47, 0x00004180, 0x00044850, 0x00006502, 0x21000520, 0x00000980,
- 0x94000a5e, 0x00006090, 0x94000000, 0x00008988, 0x21a00005, 0x00006180,
- 0x75e80084, 0x0000e101, 0x97928250, 0x0000e100, 0x04181086, 0x00006187,
- 0x14429853, 0x00006100, 0x14001a50, 0x00004880, 0x22c27050, 0x0000e002,
- 0x14029052, 0x00000900, 0x700040ec, 0x00005680, 0x003c24c0, 0x00008010,
- 0x2240004f, 0x00009084, 0x703c58ec, 0x0000d600, 0x003c4800, 0x00000000,
- 0x700040ec, 0x00005680, 0x003c37c0, 0x00008078, 0x21a00005, 0x00006180,
- 0x21000600, 0x00004980, 0x21400000, 0x00007900, 0x000014c4, 0x00000980,
- 0xa1280500, 0x00006100, 0x00145085, 0x00006106, 0x04181086, 0x00006187,
- 0x75e80084, 0x0000b101, 0x21c00000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x703c28ec, 0x00005600, 0x003c2000, 0x00008000, 0x703c68ec, 0x0000d600,
- 0x003c6000, 0x00000000, 0xa1c01a88, 0x00009880, 0x703c38ec, 0x0000d600,
- 0x003c3000, 0x00000000, 0x00d802ec, 0x0000df80, 0x11173808, 0x000091c4,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x65800ce0, 0x0000788e,
- 0x78800000, 0x00008a82, 0x00000061, 0x00001582, 0x00130061, 0x00001502,
- 0xffffffff, 0x00007f86, 0x00001368, 0x00007008, 0x00001368, 0x00007008,
- 0x07000260, 0x0000f900, 0x00000100, 0x00000380, 0x21000061, 0x00007900,
- 0x00000100, 0x00000380, 0x04803800, 0x00006181, 0x0000e01a, 0x0000e206,
- 0x07000000, 0x0000e180, 0xb0000812, 0x00006404, 0x0004201c, 0x00006206,
- 0x00002012, 0x00003501, 0x0c030484, 0x0000e006, 0x4000d01c, 0x0000b107,
- 0x00001c84, 0x00006583, 0x07400002, 0x00000980, 0x07800000, 0x000081fc,
- 0x08000000, 0x000082c4, 0x00001242, 0x0000f410, 0x08800000, 0x000082cc,
- 0x24400800, 0x00009981, 0x13141846, 0x0000f300, 0xa1004660, 0x00000894,
- 0x00000491, 0x00001583, 0x09402800, 0x00009991, 0x00001253, 0x0000f011,
- 0x00130061, 0x00001502, 0x09402000, 0x00001991, 0x000013df, 0x0000f009,
- 0x21600004, 0x0000e180, 0x0c030486, 0x00006006, 0x22182000, 0x00007900,
- 0x00103aca, 0x00000980, 0x13221be2, 0x00007500, 0x21000000, 0x00006180,
- 0x21a43486, 0x00004900, 0xe1530260, 0x00001900, 0xa0801e82, 0x00006181,
- 0xe0801782, 0x00008181, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780, 0x00006001, 0x00000080,
- 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x05c00000, 0x000081e8, 0xa1002302, 0x0000e780, 0x00001817, 0x00002106,
- 0x05400000, 0x00007900, 0x00018000, 0x00008980, 0x06401000, 0x0000f900,
- 0x0001c000, 0x00000980, 0xc0001817, 0x00006006, 0x4514201a, 0x0000b107,
- 0x05000396, 0x000001e0, 0x06c00002, 0x0000e180, 0x07000000, 0x0000c980,
- 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8,
- 0x00001114, 0x00007400, 0x08c00000, 0x0000e180, 0x85901202, 0x0000c900,
- 0xc5981302, 0x00001900, 0x13411846, 0x0000f300, 0xa1005e60, 0x00000894,
- 0x21600004, 0x0000e180, 0x0c030486, 0x00006006, 0x22182000, 0x00007900,
- 0x00103aca, 0x00000980, 0x09404800, 0x00006181, 0x09c30861, 0x0000c900,
- 0x134b1be2, 0x00007500, 0x21000000, 0x00006180, 0x21a43486, 0x00004900,
- 0xe1530260, 0x00001900, 0xa0801e82, 0x00006181, 0xe0801782, 0x00008181,
+ 0x009060ec, 0x0000d780, 0x00d07380, 0x000001c0, 0x29860000, 0x0000f900,
+ 0x001f2252, 0x00008980, 0x29f3e800, 0x00007900, 0x002abbe0, 0x00008980,
+ 0x16b9202b, 0x00007500, 0x2a88000a, 0x0000e180, 0x2979a734, 0x0000c900,
+ 0x2a581302, 0x00009900, 0x01c00c07, 0x00006081, 0x02400c09, 0x00000081,
+ 0x00204c0d, 0x00001503, 0x02400000, 0x00001989, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x40203d0d, 0x00009503, 0x0000168f, 0x00007013,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x01800000, 0x0000f900,
+ 0x001f8080, 0x00000980, 0x0140c40a, 0x0000e081, 0x11800000, 0x00000980,
+ 0x01019704, 0x00006081, 0x81a02c05, 0x00008900, 0x00104032, 0x00006182,
+ 0x00001031, 0x0000b481, 0x203836ec, 0x0000d600, 0x00386000, 0x00008000,
+ 0xcc334803, 0x000003d1, 0x11c00000, 0x00006180, 0x9118730e, 0x00004900,
+ 0x9120790e, 0x00008417, 0x51a05404, 0x0000e101, 0x11a04c09, 0x00000901,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x009060ec, 0x0000d780, 0x00d07440, 0x000000c0, 0x29860000, 0x0000f900,
+ 0x001f2252, 0x00008980, 0x29f3e800, 0x00007900, 0x002abbe0, 0x00008980,
+ 0x16e0202b, 0x00007500, 0x2a88000a, 0x0000e180, 0x2979a734, 0x0000c900,
+ 0x2a581302, 0x00009900, 0x01c00c07, 0x00006081, 0x02400c09, 0x00000081,
+ 0x00204c0d, 0x00001503, 0x02400000, 0x00001989, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0xa3e03d0d, 0x00007813, 0x08800000, 0x00000b86,
+ 0x15fb1eec, 0x00002084, 0x95f71ee3, 0x00009900, 0xffffffff, 0x00007f97,
+ 0x80131a57, 0x00001502, 0x801b1a57, 0x00009502, 0xffffffff, 0x00007f86,
+ 0x000016f8, 0x00007008, 0x000016f6, 0x0000f008, 0x80172a63, 0x00001502,
+ 0x98f71ee3, 0x00009908, 0x000016f8, 0x0000f009, 0xc0172b63, 0x00001502,
+ 0xd8f71ee3, 0x00001908, 0x000016f8, 0x0000f011, 0x000016f9, 0x0000f200,
+ 0x99000800, 0x00009980, 0x99000000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x2c003264, 0x00009680, 0x95c588b0, 0x00001000, 0x95c00a57, 0x00009080,
+ 0x15c30e57, 0x0000f902, 0x18000000, 0x00008004, 0x1602f857, 0x00007902,
+ 0x17800000, 0x00000004, 0x1602ea57, 0x00007902, 0x17000000, 0x00008004,
+ 0x1602dc57, 0x00007902, 0x16800000, 0x00008004, 0x1602ce57, 0x00007902,
+ 0x16000000, 0x00000004, 0x1642a057, 0x00007902, 0x11800000, 0x00000004,
+ 0xe8403056, 0x00004388, 0x00203056, 0x00000098, 0xe8001056, 0x0000c488,
+ 0x46201056, 0x0000059e, 0x00c00056, 0x00004790, 0x02c05056, 0x00000488,
+ 0xe5c05056, 0x000044b0, 0xa6206056, 0x0000858e, 0xd4006056, 0x0000f8ab,
+ 0xa0800000, 0x00008b89, 0x00000856, 0x00001582, 0xd8400b61, 0x00001088,
+ 0x00001756, 0x0000f009, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x02ae9000, 0x0000f900, 0x00328e8c, 0x00008980, 0x02ca7000, 0x0000f900,
+ 0x00153394, 0x00008980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x01400000, 0x000080f4, 0x17561ff4, 0x0000f500, 0x82200500, 0x00008022,
+ 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x00002056, 0x00001582,
+ 0xd792aa55, 0x0000e108, 0x97800a5e, 0x00004088, 0x00001756, 0x0000f009,
+ 0x00002056, 0x00001582, 0x97c00a5f, 0x000060b0, 0xd7d2aa55, 0x00000930,
+ 0xd752aa55, 0x00006118, 0x97400a5d, 0x0000c098, 0x00001756, 0x0000f030,
+ 0x00001756, 0x0000f000, 0x00004056, 0x00001582, 0xd652aa55, 0x00006108,
+ 0x96400a59, 0x00004088, 0x00001756, 0x0000f009, 0xd1404056, 0x0000f8b3,
+ 0x50800000, 0x00008b8a, 0x00006856, 0x00001582, 0xd192aa55, 0x0000e108,
+ 0x91800a46, 0x00004088, 0x00001756, 0x0000f009, 0x00001716, 0x00007000,
+ 0x18400001, 0x000006c0, 0x17c00000, 0x000085f8, 0x17400000, 0x000085f0,
+ 0x16c00000, 0x000085e8, 0x00001756, 0x00007400, 0x16400000, 0x000085e0,
+ 0x11800000, 0x000005d0, 0x00001756, 0x00007200, 0x98000a60, 0x00009080,
+ 0x00001756, 0x00007200, 0xd712aa55, 0x0000e100, 0x97000a5c, 0x0000c080,
+ 0x00001756, 0x00007400, 0x80000264, 0x0000e582, 0xd8000b60, 0x00000080,
+ 0x98d72ae5, 0x0000e108, 0xd8d72ae5, 0x00004910, 0x00001756, 0x00007200,
+ 0xd6d2aa55, 0x00006100, 0x96c00a5b, 0x0000c080, 0x00001756, 0x00007200,
+ 0xd692aa55, 0x0000e100, 0x96800a5a, 0x0000c080, 0x00001756, 0x00007200,
+ 0xd612aa55, 0x00006100, 0x96000a58, 0x0000c080, 0x00001756, 0x00007200,
+ 0xd512aa55, 0x00006100, 0x95000a54, 0x0000c080, 0xffffffff, 0x00007f86,
+ 0x15fb1eec, 0x0000a884, 0x15fb0e57, 0x0000d004, 0x003b0000, 0x00008000,
+ 0x163af857, 0x00005004, 0x003af000, 0x00000000, 0x163aea57, 0x00005004,
+ 0x003ae000, 0x00008000, 0x163adc57, 0x00005004, 0x003ad000, 0x00008000,
+ 0x00000001, 0x00007480, 0x163ace57, 0x00005004, 0x003ac000, 0x00000000,
+ 0x167aa057, 0x00005004, 0x003a3000, 0x00000000, 0x00400000, 0x00007900,
+ 0x00040050, 0x00000980, 0xc0c00000, 0x00006180, 0x9670d801, 0x0000e001,
+ 0x00000001, 0x00007480, 0x00001000, 0x00006181, 0xc020dc1b, 0x00004901,
+ 0x80f8df1b, 0x00009901, 0x01001000, 0x0000e181, 0x0bc0bc05, 0x00006000,
+ 0x02202c04, 0x00006101, 0x08400080, 0x00000980, 0x81400fe2, 0x00006080,
+ 0x0c00bc04, 0x00006000, 0x79602c05, 0x0000a081, 0x09c00000, 0x000087d4,
+ 0x08800000, 0x0000f900, 0x00004000, 0x00000980, 0x001040ec, 0x0000d780,
+ 0x00d07540, 0x00008180, 0x0f002c05, 0x0000e000, 0x8203e021, 0x00003007,
+ 0x01602405, 0x00006301, 0x00001827, 0x00002106, 0x02202c08, 0x00006101,
+ 0x00003875, 0x00002106, 0x01400000, 0x0000f900, 0x001f0000, 0x00000980,
+ 0x02001408, 0x00006081, 0x080000a0, 0x0000c980, 0x1d000000, 0x00006180,
+ 0x81604408, 0x00004900, 0x09009000, 0x0000f900, 0x00011980, 0x00000980,
+ 0x09400000, 0x00007900, 0x00018030, 0x00008980, 0x00209822, 0x0000e182,
+ 0x5043e021, 0x00003003, 0xc0001827, 0x00006006, 0x00003074, 0x0000b206,
+ 0x20382eec, 0x0000d600, 0x003be000, 0x00000000, 0x08c00000, 0x0000e180,
+ 0x89901202, 0x0000c900, 0x09bb8d02, 0x0000871c, 0x9d73ee7d, 0x00006101,
+ 0x1da04413, 0x0000c100, 0x88181302, 0x00009900, 0x0088eeec, 0x00005f80,
+ 0x00007000, 0x00008084, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980,
+ 0x29c07800, 0x00007900, 0x003d107c, 0x00000980, 0x179f202b, 0x00007500,
+ 0x2a800008, 0x0000e180, 0x29501202, 0x0000c900, 0x2a622c45, 0x00009900,
+ 0x2a880008, 0x00006180, 0x08003a0e, 0x0000e106, 0x29860000, 0x0000f900,
+ 0x001f2252, 0x00008980, 0x29c08000, 0x0000f900, 0x003d107c, 0x00000980,
+ 0x17a9202b, 0x00007500, 0x2a400000, 0x00006180, 0x2950720e, 0x0000c900,
+ 0xeaa0c418, 0x00009900, 0x02802c45, 0x00001181, 0xfc000c0a, 0x0000c298,
+ 0x60203c18, 0x0000058f, 0xf7202445, 0x0000c488, 0x94201c45, 0x0000858f,
+ 0x06404c45, 0x00004590, 0x83200c18, 0x000082b4, 0x01c00020, 0x00006180,
+ 0x01800000, 0x00004980, 0x02817000, 0x0000f900, 0x003d107c, 0x00000980,
+ 0x02f8b800, 0x0000f900, 0x003a173c, 0x00008980, 0x000017c5, 0x00007400,
+ 0x01400000, 0x000080f4, 0x81c01000, 0x00009980, 0x0387bc18, 0x00009281,
+ 0x0000140e, 0x00009583, 0x01c00020, 0x00006198, 0x01800000, 0x00004998,
+ 0x01400000, 0x00006198, 0x03400000, 0x0000c998, 0x000017e0, 0x00007030,
+ 0x02827000, 0x0000f900, 0x003d107c, 0x00000980, 0x02c82800, 0x0000f900,
+ 0x0010942e, 0x00008980, 0x81c01000, 0x00009980, 0xc1c02000, 0x0000e181,
+ 0x08001a08, 0x00006106, 0x17ca1ff4, 0x0000f500, 0x82200500, 0x00008022,
+ 0x02401002, 0x00009900, 0x00005c18, 0x00001583, 0x00001418, 0x00009593,
+ 0x01c00020, 0x00006198, 0x01800000, 0x00004998, 0x01400000, 0x00006198,
+ 0x03400000, 0x0000c998, 0x000017e0, 0x00007030, 0x02836000, 0x0000f900,
+ 0x003d107c, 0x00000980, 0x000017c5, 0x00007400, 0x02ca9000, 0x00007900,
+ 0x00250a60, 0x00000980, 0x81c01000, 0x00009980, 0x01c00020, 0x00006180,
+ 0x01800000, 0x00004980, 0x02838800, 0x0000f900, 0x003d107c, 0x00000980,
+ 0x02e70000, 0x00007900, 0x0020280e, 0x00008980, 0x000017c5, 0x00007400,
+ 0x01400000, 0x000080f4, 0x81c01000, 0x00009980, 0x12000000, 0x000084e4,
+ 0x12800000, 0x000084ec, 0x13000000, 0x000084f4, 0x13800000, 0x000084fc,
+ 0x14000000, 0x000085c4, 0x14800000, 0x000085cc, 0x00003445, 0x00001583,
+ 0x00002445, 0x00009583, 0xffffffff, 0x00007f86, 0x000017f0, 0x0000f018,
+ 0x000017f5, 0x00007020, 0x00001c45, 0x00001583, 0x15403006, 0x00006108,
+ 0x15804800, 0x0000c988, 0x000017f6, 0x0000f009, 0x000017f9, 0x0000f000,
+ 0x00004c45, 0x00001583, 0x15403006, 0x00006108, 0x15805800, 0x00004988,
+ 0x000017f6, 0x0000f009, 0x000017f9, 0x0000f000, 0x15404706, 0x00008598,
+ 0x17f716e8, 0x00007100, 0x0f604c45, 0x00004591, 0x87a00418, 0x00008095,
+ 0x01c00020, 0x00006180, 0x01800000, 0x00004980, 0x029d5800, 0x00007900,
+ 0x003d107c, 0x00000980, 0x02c4f000, 0x0000f900, 0x0016d71a, 0x00008980,
+ 0x000017c5, 0x00007400, 0x01400000, 0x000080f4, 0x81c01000, 0x00009980,
+ 0x0381201b, 0x00001000, 0x0002380e, 0x00009502, 0x01c00020, 0x000061b0,
+ 0x01800000, 0x000049b0, 0x01400000, 0x000061b0, 0x03400000, 0x0000c9b0,
+ 0x0000180f, 0x0000f018, 0x02be3800, 0x0000f900, 0x003d107a, 0x00000980,
+ 0x000017c5, 0x00007400, 0x02ead000, 0x00007900, 0x00208c42, 0x00008980,
+ 0x81c01000, 0x00009980, 0x0000f047, 0x00001502, 0x07c00000, 0x000061a0,
+ 0x88210420, 0x0000c921, 0x88000000, 0x000099a9, 0x0000186e, 0x0000f020,
+ 0x80002220, 0x00009582, 0x03800000, 0x0000e1b0, 0x04210420, 0x0000c919,
+ 0x03a0c418, 0x0000e119, 0x02800800, 0x00004999, 0x00001827, 0x0000f030,
+ 0x00001867, 0x0000f200, 0x02c00000, 0x00009980, 0x02801620, 0x00001881,
+ 0x7841940a, 0x00001081, 0xffffffff, 0x00007fc7, 0x02800a00, 0x00007904,
+ 0x02c0700a, 0x00009000, 0x00005847, 0x00009502, 0x07c07047, 0x00001128,
+ 0x00001825, 0x00007021, 0x0000186e, 0x00007000, 0x0380700a, 0x00006000,
+ 0x88000e20, 0x00000081, 0x82b10620, 0x00001900, 0x0711020a, 0x0000f82a,
+ 0x70c00000, 0x00000c83, 0x01408410, 0x00006481, 0x03802620, 0x00004880,
+ 0x03400000, 0x00007900, 0x000010c4, 0x00008980, 0x03c0e00e, 0x0000e002,
+ 0x83280500, 0x00008900, 0x83802405, 0x0000e080, 0x0440001d, 0x0000c084,
+ 0x04202c10, 0x00006101, 0x0010700d, 0x0000a106, 0x83802d00, 0x00009880,
+ 0xc318020e, 0x00001080, 0x703868ec, 0x00005600, 0x00386000, 0x00008000,
+ 0x03400000, 0x00007900, 0x00007fc0, 0x00000980, 0x83402405, 0x0000e080,
+ 0x03300006, 0x00004980, 0x703878ec, 0x0000d600, 0x00388800, 0x00008000,
+ 0x0418100c, 0x00006987, 0x703868ec, 0x00005600, 0x00386000, 0x00008000,
+ 0x00c802ec, 0x00005f80, 0x11821805, 0x00008ac4, 0x0000040a, 0x00006583,
+ 0x03c0580b, 0x00000900, 0x88000000, 0x00006191, 0x04400000, 0x0000c981,
+ 0x03800c11, 0x00006080, 0x82802d00, 0x00004880, 0x8290720a, 0x00006000,
+ 0x0350520a, 0x00008900, 0x3038620a, 0x00002080, 0xffffffff, 0x00007fa7,
+ 0x02c0600f, 0x00001000, 0x00005847, 0x00009502, 0x0287e411, 0x000062a9,
+ 0x07c07847, 0x00000128, 0x02c0780f, 0x00006128, 0x03800c0a, 0x000048a8,
+ 0x0000185f, 0x00007020, 0x03800800, 0x0000e181, 0x8290720d, 0x00004000,
+ 0x3039800a, 0x00003038, 0x3039920a, 0x00003038, 0x3039a40a, 0x00003038,
+ 0x3039b60a, 0x00003038, 0x3079c00a, 0x00003038, 0x3079d20a, 0x00003038,
+ 0x00001866, 0x00007400, 0x3079e40a, 0x00003038, 0x3079f60a, 0x00003038,
+ 0x88000e20, 0x00006081, 0x04400c11, 0x00000081, 0x00208c05, 0x00009503,
+ 0x03c0600f, 0x00001010, 0x00001865, 0x0000f009, 0x00001847, 0x0000f000,
+ 0x03800000, 0x00001981, 0x02800000, 0x00009981, 0x00000410, 0x0000e583,
+ 0x01400000, 0x00000981, 0x03800c0e, 0x0000e481, 0x01400800, 0x00000991,
+ 0xffffffff, 0x00007f86, 0x01602c0e, 0x00009203, 0x0000182a, 0x0000f013,
+ 0x09802026, 0x00006380, 0x06400000, 0x00000980, 0xc9800000, 0x0000e180,
+ 0x09023847, 0x0000c900, 0x02a22c45, 0x00006101, 0x00007000, 0x0000e500,
+ 0x80400008, 0x0000e180, 0xa0000000, 0x0000e400, 0x00001c45, 0x00001583,
+ 0x0000340a, 0x00009583, 0x00004c0a, 0x00009583, 0x0000187f, 0x00007028,
+ 0x0000187c, 0x00007030, 0x0000187f, 0x0000f010, 0x80400000, 0x0000e181,
+ 0x00100000, 0x0000c380, 0xc0006800, 0x00001981, 0xc0600410, 0x000080cd,
+ 0x41400000, 0x000000d0, 0x11003445, 0x00004389, 0x00203445, 0x00000098,
+ 0x00401c45, 0x00004aa0, 0x00804c45, 0x00000094, 0x81401000, 0x00009981,
+ 0xffffffff, 0x00007f86, 0x00001889, 0x00007000, 0x81400000, 0x00001981,
+ 0x81c05800, 0x00006181, 0x90000805, 0x0000e401, 0x03801c45, 0x00006181,
+ 0x02802445, 0x00000181, 0x00001c0e, 0x0000e583, 0xc0000007, 0x0000a406,
+ 0x09801026, 0x000063b0, 0x80000005, 0x00002401, 0x00004c45, 0x0000e583,
+ 0xc1c00000, 0x00008981, 0x0000140a, 0x00006593, 0xa0000005, 0x0000a483,
+ 0x001000ec, 0x00005780, 0x00c06180, 0x000005c0, 0x12000060, 0x000061b0,
+ 0xc0001807, 0x0000e006, 0x000018b7, 0x0000f018, 0x14400000, 0x0000e180,
+ 0x03804418, 0x0000c181, 0x0000140e, 0x00006583, 0x94622c45, 0x00008901,
+ 0x12400040, 0x00006180, 0x13c00000, 0x0000c980, 0x14000000, 0x00006180,
+ 0x14c23847, 0x0000c900, 0x94403800, 0x000061b1, 0x82022049, 0x00006007,
+ 0x00002c45, 0x0000e583, 0x0000184f, 0x0000a106, 0x00003050, 0x0000e206,
+ 0x00004053, 0x0000b20e, 0x12800000, 0x00007900, 0x00004000, 0x00000980,
+ 0x13009000, 0x00007900, 0x000099c0, 0x00008980, 0x13400000, 0x0000f900,
+ 0x00018030, 0x00008980, 0x557f1049, 0x0000e003, 0x00003851, 0x0000b106,
+ 0xc000184f, 0x0000e006, 0x4520c050, 0x0000b007, 0x12c00000, 0x00006180,
+ 0x45004853, 0x0000610f, 0x000018e5, 0x0000f400, 0x92201002, 0x00000438,
+ 0x14a81744, 0x00008438, 0x00001c45, 0x00001583, 0x12000060, 0x0000e188,
+ 0x12400040, 0x0000c988, 0x12800000, 0x0000f908, 0x00004000, 0x00000980,
+ 0x000018e5, 0x0000f010, 0x83817710, 0x0000e080, 0x02801000, 0x00008981,
+ 0x0010704a, 0x00006182, 0x0c00bc08, 0x00003000, 0x14000000, 0x00006180,
+ 0x0bc0bc0e, 0x0000e000, 0x02a0740a, 0x0000e101, 0x00003050, 0x00002206,
+ 0x83800fe2, 0x0000e080, 0x13c00000, 0x0000c980, 0x7960740e, 0x0000a081,
+ 0x02400000, 0x0000f900, 0x001f0000, 0x00000980, 0x14400060, 0x0000e180,
+ 0x82022049, 0x00006007, 0x4520c050, 0x0000e007, 0x0000184f, 0x00003106,
+ 0x0f20740e, 0x00006000, 0x00003851, 0x0000b106, 0x03a0440e, 0x00006301,
+ 0x14c00000, 0x00008980, 0x00005c18, 0x0000e583, 0x02a0740a, 0x00008101,
+ 0x0380140a, 0x0000e081, 0x557f1049, 0x0000e003, 0x02819710, 0x0000e081,
+ 0x8260740e, 0x00008900, 0x13009000, 0x00007900, 0x00009a00, 0x00008980,
+ 0x13400000, 0x0000f900, 0x00018030, 0x00008980, 0xc000184f, 0x0000e006,
+ 0x00120053, 0x0000320e, 0x20384eec, 0x0000d600, 0x003a2000, 0x00008000,
+ 0x12c00000, 0x00006180, 0x92181302, 0x00004900, 0x13a81402, 0x00008438,
+ 0x14ba2f44, 0x00000505, 0xd420740a, 0x00001101, 0x009896ec, 0x0000df80,
+ 0x00007000, 0x00008084, 0x0a6760e1, 0x0000822c, 0xb8403008, 0x000001e0,
+ 0x06000818, 0x00009182, 0xffffffff, 0x0000ffb7, 0x0d020300, 0x00007904,
+ 0x000018e9, 0x00007410, 0x7d39a22b, 0x0000b838, 0x8ac00a2b, 0x00006080,
+ 0x04400000, 0x00000988, 0x02400000, 0x0000f900, 0x00020080, 0x00008980,
+ 0x02000060, 0x0000e180, 0x5560d009, 0x0000e003, 0x02838000, 0x00007900,
+ 0x00004000, 0x00000980, 0x03009000, 0x0000f900, 0x00008240, 0x00000980,
+ 0x03400000, 0x00007900, 0x00010030, 0x00000980, 0x04800000, 0x000081cc,
+ 0x02c00100, 0x00006180, 0x03c00000, 0x00004980, 0x03a95438, 0x00008038,
+ 0x8471be37, 0x00006100, 0x0401502a, 0x00004900, 0x8219532a, 0x00009900,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009020ec, 0x00005780, 0x00006001, 0x00000080, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x05c00000, 0x000081e8,
- 0xa1002302, 0x0000e780, 0x00001817, 0x00002106, 0x05400000, 0x00007900,
- 0x00018000, 0x00008980, 0x06401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0xc0001817, 0x00006006, 0x4514201a, 0x0000b107, 0x05000396, 0x000001e0,
- 0x06c00002, 0x0000e180, 0x07000000, 0x0000c980, 0x07400000, 0x000001f8,
- 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8, 0x00001114, 0x00007400,
- 0x08c00000, 0x0000e180, 0x85901202, 0x0000c900, 0xc5981302, 0x00001900,
- 0xa4403800, 0x000001ca, 0x21000260, 0x00007900, 0x00000100, 0x00000380,
- 0x0000123f, 0x00007400, 0x0004201a, 0x00006206, 0xb0000012, 0x0000b404,
- 0x00002012, 0x0000ed01, 0xc011b336, 0x00006502, 0xa159b336, 0x00000900,
- 0xa111b236, 0x00001900, 0x000014b5, 0x00007009, 0x80000683, 0x0000e583,
- 0xd1400000, 0x00008981, 0xa0d42285, 0x0000e108, 0xe0c00000, 0x00008981,
- 0xa1142683, 0x0000e000, 0xa1542285, 0x00000100, 0xa1741a85, 0x00009100,
- 0xa2808285, 0x0000e480, 0x0b42f085, 0x00006180, 0xa1c00a85, 0x00009180,
- 0xa1d43a84, 0x00006200, 0xa2c01a8a, 0x00008880, 0xd124548a, 0x00006101,
- 0x21001a87, 0x00004880, 0x23425084, 0x00006002, 0x2180f884, 0x00008784,
- 0x23025886, 0x0000e004, 0x0f445884, 0x00002180, 0x21042287, 0x00001000,
- 0x00042085, 0x00009502, 0x00042085, 0x00009502, 0xffffffff, 0x00007f86,
- 0x0000148b, 0x00007038, 0x00001476, 0x0000f008, 0x21543885, 0x00006100,
- 0x12800600, 0x00000980, 0x12c00000, 0x0000f900, 0x000014c0, 0x00008980,
- 0x22001885, 0x00006080, 0x75e8004a, 0x00006101, 0x21200005, 0x0000e180,
- 0x0014404b, 0x00006106, 0x703a58ec, 0x0000d600, 0x003a5000, 0x00000000,
- 0x1292e25c, 0x00006100, 0x12c00a47, 0x0000c180, 0x0002584a, 0x00006502,
- 0x04181084, 0x00002187, 0x21800000, 0x00007900, 0x00007fc0, 0x00000980,
- 0x92800a5c, 0x00006090, 0x92800000, 0x00000988, 0x703c68ec, 0x0000d600,
- 0x003c6000, 0x00000000, 0xa1801885, 0x00006080, 0x9712524a, 0x00004900,
- 0x703c30ec, 0x00005600, 0x003c2000, 0x00008000, 0x12801a4a, 0x00006080,
- 0x210004c0, 0x0000c980, 0x2342404a, 0x00006002, 0x75e80084, 0x00002101,
- 0x700040ec, 0x00005680, 0x003c24c0, 0x00008010, 0x21a00005, 0x00006180,
- 0x23000049, 0x0000c084, 0x21000000, 0x00006180, 0x04181086, 0x00006187,
- 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000, 0x21400000, 0x00007900,
- 0x000014c4, 0x00000980, 0x700040ec, 0x00005680, 0x003c37c0, 0x00008078,
- 0xa194428b, 0x0000e100, 0xa1280500, 0x00008900, 0x12c2684d, 0x0000e100,
- 0x00143085, 0x00006106, 0x1282604c, 0x00006100, 0xa1801a88, 0x00004780,
- 0xa1818286, 0x00001080, 0x21a00005, 0x00006180, 0x04243084, 0x00006085,
- 0x04181086, 0x00006187, 0x75e80084, 0x0000b101, 0x21c00000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x703c28ec, 0x00005600, 0x003c2000, 0x00008000,
- 0x703a60ec, 0x00005600, 0x003a6800, 0x00008000, 0xa1d4428b, 0x00009100,
- 0x703c38ec, 0x0000d600, 0x003c3000, 0x00000000, 0x00d802ec, 0x0000df80,
- 0x111e4808, 0x000011c4, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x009810ec, 0x0000d780, 0x00007000, 0x00000080, 0xffffffff, 0x00007fa7,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb8403008, 0x000081e8,
+ 0x7d3842ec, 0x0000b038, 0x0680081a, 0x00006182, 0x06214c29, 0x00008901,
+ 0x8ac00aec, 0x00001080, 0x00001916, 0x00007409, 0xffffffff, 0x00007f86,
+ 0x10004500, 0x00007904, 0x7d38422b, 0x00003038, 0x0680081a, 0x00006182,
+ 0x8ac00a2b, 0x00000080, 0x00001911, 0x00007213, 0x10004500, 0x00007904,
+ 0x00000001, 0x00007280, 0x3860c418, 0x00001901, 0x80000e37, 0x00006583,
+ 0xc6d722e4, 0x00000900, 0x80000637, 0x00001583, 0xffffffff, 0x00007f86,
+ 0x00001921, 0x0000f008, 0x00001926, 0x00007008, 0x0000192a, 0x00007400,
+ 0x07c00000, 0x000002c0, 0x4a000000, 0x000082dc, 0x0000192a, 0x00007400,
+ 0x07e0016c, 0x0000e180, 0x0830016c, 0x00004980, 0x8a0a0000, 0x0000e180,
+ 0x09e0016d, 0x0000c980, 0x07e00174, 0x0000e180, 0x08300174, 0x00004980,
+ 0x8a0a0000, 0x0000e180, 0x09e00175, 0x0000c980, 0x02400000, 0x00009981,
+ 0x00001c09, 0x00009583, 0x0ac11823, 0x00001908, 0x00001942, 0x00007009,
+ 0x00001c09, 0x00009583, 0x00001937, 0x0000f01b, 0x00000c09, 0x00001583,
+ 0x0ac12825, 0x00001908, 0x00001942, 0x00007009, 0x00001409, 0x00001583,
+ 0x0ac12024, 0x00001908, 0x00001942, 0x00007009, 0x00001940, 0x0000f000,
+ 0x00002c09, 0x00009583, 0x0ac10821, 0x00001908, 0x00001942, 0x00007009,
+ 0x00002c09, 0x00009583, 0x0ac11022, 0x00009928, 0x00001942, 0x0000f029,
+ 0x00003409, 0x00009583, 0x0ac0e01c, 0x00001908, 0x00001942, 0x00007009,
+ 0x0ac13026, 0x00009900, 0xffffffff, 0x00007f86, 0x0201582b, 0x00009b00,
+ 0x00072808, 0x0000e502, 0x0ac04008, 0x00000900, 0x02400c09, 0x00001089,
+ 0x00001949, 0x0000f011, 0x53403c09, 0x0000788a, 0x58c00000, 0x00000c89,
+ 0x82402c09, 0x00009880, 0x8ad15a09, 0x00001000, 0x80067a2b, 0x00009582,
+ 0x000019b8, 0x00007033, 0x8afff801, 0x00009980, 0x6efffa2b, 0x0000788a,
+ 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86, 0x6c38402b, 0x0000a000,
+ 0x80000637, 0x00001583, 0xffffffff, 0x00007f97, 0x02000000, 0x00006181,
+ 0x86504208, 0x0000c900, 0x80007a2b, 0x00006582, 0x02000800, 0x00008989,
+ 0x0000195e, 0x0000f033, 0x00000408, 0x00001583, 0x02201176, 0x00001990,
+ 0x0220116e, 0x00001988, 0x00001962, 0x00007010, 0x00001962, 0x0000f000,
+ 0x00000408, 0x00001583, 0x02201976, 0x00009990, 0x00001962, 0x0000f011,
+ 0x0220196e, 0x00001980, 0x0a400000, 0x00009980, 0x02800800, 0x000003ec,
+ 0x0e804008, 0x0000e100, 0x0010c80a, 0x00006186, 0x196a21af, 0x00007404,
+ 0x06800800, 0x0000f900, 0x00004040, 0x00008980, 0x0e40500a, 0x00009900,
+ 0x0a400829, 0x00006080, 0x86802d00, 0x00000880, 0x3038581a, 0x0000a080,
+ 0xffffffff, 0x00007fa7, 0x0240580b, 0x00009900, 0x0000000b, 0x0000788a,
+ 0x00000000, 0x00000000, 0x58da0029, 0x00007892, 0xa8c01312, 0x00000c8b,
+ 0x61da0029, 0x00007892, 0x00c01313, 0x00008080, 0x0010c80b, 0x0000e186,
+ 0x08001aad, 0x00003106, 0x461a0000, 0x0000f900, 0x00001312, 0x00000980,
+ 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x0410480b, 0x00006187,
+ 0x8621b818, 0x0000b087, 0x2bc10800, 0x0000f900, 0x002a69d2, 0x00000980,
+ 0x39e4c000, 0x0000f900, 0x00241a3a, 0x00000980, 0xab600500, 0x00008a36,
+ 0x2bb84702, 0x00008a30, 0x19872021, 0x0000f500, 0xa900d000, 0x0000e180,
+ 0x2ac0580b, 0x00004900, 0x2a80c018, 0x00009900, 0x8ac00a2b, 0x00009080,
+ 0x8006822b, 0x00001582, 0x02800000, 0x00006191, 0x86802a2b, 0x0000c790,
+ 0x8ac0fa2b, 0x00006290, 0x0260d41a, 0x00000911, 0x000019bb, 0x0000f008,
+ 0x00000409, 0x00006583, 0x06915fe4, 0x00000800, 0x0200d2ec, 0x00001100,
+ 0x000019b5, 0x00007019, 0x00001c0a, 0x00009583, 0x06811823, 0x00009908,
+ 0x000019a8, 0x0000f009, 0x00001c0a, 0x00009583, 0x0000199e, 0x0000f01b,
+ 0x00000c0a, 0x00001583, 0x06812825, 0x00009908, 0x000019a8, 0x0000f009,
+ 0x0000140a, 0x00001583, 0x06812024, 0x00009908, 0x000019a8, 0x0000f009,
+ 0x000019a7, 0x0000f000, 0x00002c0a, 0x00009583, 0x06810821, 0x00009908,
+ 0x000019a8, 0x0000f009, 0x00002c0a, 0x00009583, 0x06811022, 0x00001928,
+ 0x000019a8, 0x00007029, 0x0000340a, 0x00009583, 0x0680e01c, 0x00009908,
+ 0x000019a8, 0x0000f009, 0x06813026, 0x00001900, 0x00205409, 0x00009503,
+ 0x0680401a, 0x00001208, 0xffffffff, 0x00007f86, 0x02c0d01a, 0x00009b00,
+ 0x0007280b, 0x0000e502, 0x0680580b, 0x00008900, 0x82802c0a, 0x00001890,
+ 0x8ad0d20a, 0x00001010, 0x000019b5, 0x00007008, 0x6ec67a2b, 0x0000789a,
+ 0x00c00001, 0x00008000, 0x543ffa2b, 0x00007892, 0xd8c00002, 0x00008c8d,
+ 0x02800c0a, 0x00009081, 0x00a03c0a, 0x00004589, 0x7fe05009, 0x00007d1e,
+ 0x803ffa2b, 0x00007900, 0x00000002, 0x00008582, 0x00001950, 0x0000f013,
+ 0x00001a7b, 0x0000f200, 0x06400000, 0x00009980, 0x80000219, 0x0000e582,
+ 0x86800000, 0x00008980, 0x02400000, 0x0000e181, 0x86800800, 0x00004988,
+ 0x80000e37, 0x00009583, 0x02400800, 0x00009989, 0xffffffff, 0x00007f86,
+ 0x0260d409, 0x00009203, 0x0ac00819, 0x00006088, 0x0ec01000, 0x0000c988,
+ 0x0e400000, 0x0000e188, 0x02c1382b, 0x0000c008, 0x00001a7a, 0x00007010,
+ 0x19ce21af, 0x0000f404, 0x06800800, 0x0000f900, 0x00004000, 0x00000980,
+ 0x0e80580b, 0x00009900, 0x86802d00, 0x00009880, 0x3001c01a, 0x00007902,
+ 0x02400000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00000809, 0x00001582,
+ 0x02c0f819, 0x00006008, 0x0ec00800, 0x00000988, 0x0e400000, 0x0000e188,
+ 0x0e80580b, 0x00004908, 0x00001a7a, 0x00007010, 0x19db21af, 0x00007204,
+ 0x06800800, 0x0000f900, 0x00004000, 0x00000980, 0x8ac02d00, 0x00001880,
+ 0x3039b02b, 0x0000a080, 0xffffffff, 0x00007fa7, 0x06803e36, 0x00001281,
+ 0x0ac00c1a, 0x00009181, 0x0000242b, 0x00001583, 0x02c10019, 0x0000e030,
+ 0x0ec00800, 0x000089b0, 0x0e400000, 0x000061b0, 0x0e80580b, 0x0000c930,
+ 0x00001a7a, 0x0000f018, 0x19e921af, 0x0000f204, 0x06800800, 0x0000f900,
+ 0x00004000, 0x00000980, 0x02800000, 0x0000e181, 0x86802d00, 0x0000c880,
+ 0x3038481a, 0x00002080, 0xffffffff, 0x00007fa7, 0x0f804c09, 0x0000e806,
+ 0x00001c0a, 0x00009583, 0x06811823, 0x00009908, 0x00001a05, 0x00007009,
+ 0x00001c0a, 0x00009583, 0x000019fa, 0x0000701b, 0x00000c0a, 0x00001583,
+ 0x06812825, 0x00009908, 0x00001a05, 0x00007009, 0x0000140a, 0x00001583,
+ 0x06812024, 0x00009908, 0x00001a05, 0x00007009, 0x00001a03, 0x00007000,
+ 0x00002c0a, 0x00009583, 0x06810821, 0x00009908, 0x00001a05, 0x00007009,
+ 0x00002c0a, 0x00009583, 0x06811022, 0x00001928, 0x00001a05, 0x0000f029,
+ 0x0000340a, 0x00009583, 0x0680e01c, 0x00009908, 0x00001a05, 0x00007009,
+ 0x06813026, 0x00001900, 0xffffffff, 0x00007f86, 0x02c0d01a, 0x00009b00,
+ 0x0007280b, 0x0000e502, 0x0680580b, 0x00008900, 0x02800c0a, 0x00001089,
+ 0x00001a0c, 0x00007011, 0x84003c0a, 0x0000f88a, 0x70c00000, 0x00000c8f,
+ 0x82802c0a, 0x00009880, 0x8ad0d20a, 0x00009000, 0x80067a2b, 0x00009582,
+ 0x00001a11, 0x00007033, 0x8afff801, 0x00009980, 0x06204c09, 0x00009900,
+ 0x9ebffa2b, 0x0000f88a, 0x00c00003, 0x00008080, 0x0241c038, 0x00009900,
+ 0x80000637, 0x00001583, 0x6c01482b, 0x0000f902, 0x06800000, 0x00008000,
+ 0x02400000, 0x00001989, 0x00001a20, 0x00007010, 0xffffffff, 0x00007f86,
+ 0xc010d309, 0x00001502, 0x02400800, 0x00009989, 0xffffffff, 0x00007f86,
+ 0x92400409, 0x0000788a, 0x40c00000, 0x00000d81, 0x0b004a09, 0x0000e106,
+ 0x0f00d20b, 0x00003106, 0x80104a0b, 0x0000e502, 0x02400000, 0x00000981,
+ 0x02400800, 0x00009989, 0xffffffff, 0x00007f86, 0x92400409, 0x0000788a,
+ 0x00c00001, 0x00000080, 0xffffffff, 0x00007f86, 0x0011b818, 0x00001502,
+ 0x8007fa37, 0x00001582, 0xffffffff, 0x00007f86, 0x00001a2e, 0x0000f008,
+ 0x00001a49, 0x00007010, 0x02403e36, 0x00009281, 0x02400c09, 0x00001181,
+ 0x00000c09, 0x00001583, 0x03000000, 0x000061b0, 0x0181b036, 0x0000c930,
+ 0x8150ca19, 0x00006130, 0x0331be37, 0x00004931, 0x00001a44, 0x00007018,
+ 0x8221580c, 0x00006086, 0x08001a08, 0x00003106, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0xc150d21a, 0x0000e100, 0x0421b80c, 0x0000e087,
+ 0x02a43000, 0x0000f900, 0x002a69d0, 0x00008980, 0x02d47000, 0x0000f900,
+ 0x000b3c08, 0x00008980, 0x82200500, 0x00008022, 0x1a441ff4, 0x00007500,
+ 0x0240df02, 0x0000809d, 0x0340600c, 0x00001900, 0x1a7a18e7, 0x0000f500,
+ 0x8a91c238, 0x0000e100, 0x0f414c1a, 0x0000e002, 0xca984b09, 0x00001900,
+ 0x00001a7a, 0x0000f000, 0x8ac00a2b, 0x00009080, 0x8006822b, 0x00001582,
+ 0x0a400000, 0x0000e191, 0x86802a2b, 0x0000c790, 0x8ac0fa2b, 0x00006290,
+ 0x02a0d41a, 0x00000911, 0x00001a7a, 0x00007008, 0x0000040a, 0x00006583,
+ 0x06915fe4, 0x00000800, 0x0240d2ec, 0x00009100, 0x00001a77, 0x0000f019,
+ 0x00001c29, 0x00001583, 0x06811823, 0x00009908, 0x00001a6a, 0x00007009,
+ 0x00001c29, 0x00001583, 0x00001a60, 0x0000701b, 0x00000c29, 0x00009583,
+ 0x06812825, 0x00009908, 0x00001a6a, 0x00007009, 0x00001429, 0x00009583,
+ 0x06812024, 0x00009908, 0x00001a6a, 0x00007009, 0x00001a69, 0x00007000,
+ 0x00002c29, 0x00001583, 0x06810821, 0x00009908, 0x00001a6a, 0x00007009,
+ 0x00002c29, 0x00001583, 0x06811022, 0x00001928, 0x00001a6a, 0x0000f029,
+ 0x00003429, 0x00001583, 0x0680e01c, 0x00009908, 0x00001a6a, 0x00007009,
+ 0x06813026, 0x00001900, 0x00214c0a, 0x00001503, 0x0680481a, 0x00009208,
+ 0xffffffff, 0x00007f86, 0x02c0d01a, 0x00009b00, 0x0007280b, 0x0000e502,
+ 0x0680580b, 0x00008900, 0x8a402c29, 0x00001890, 0x8ad0d229, 0x00009010,
+ 0x00001a77, 0x0000f008, 0x9e867a2b, 0x0000f89a, 0x00c00001, 0x00008000,
+ 0x853ffa2b, 0x00007892, 0xd0c00002, 0x00000d83, 0x0a400c29, 0x00009081,
+ 0x00403c29, 0x00004589, 0x7fe1480a, 0x0000fd1e, 0x06400819, 0x00009080,
+ 0x80114219, 0x00001502, 0xb918db1b, 0x00009920, 0x000019bd, 0x0000f029,
+ 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x0200000b, 0x00000298,
+ 0x09400000, 0x000082d0, 0x08c00000, 0x000082c8, 0x08400000, 0x000081f0,
+ 0x8240fb0b, 0x0000e280, 0x82802b0b, 0x00000780, 0x51c0040a, 0x0000c489,
+ 0x20200c0a, 0x0000068d, 0x5240140a, 0x0000c489, 0x28201c0a, 0x0000068d,
+ 0x52c0240a, 0x00004489, 0x30202c0a, 0x0000068d, 0xa6c0340a, 0x00007892,
+ 0xd0c00000, 0x00000d84, 0x00001a9b, 0x00007200, 0x09904fe4, 0x00009800,
+ 0x00001a9b, 0x00007200, 0x09504fe4, 0x00009800, 0x00001a9b, 0x00007200,
+ 0x09104fe4, 0x00001800, 0x00001a9b, 0x00007200, 0x08d04fe4, 0x00009800,
+ 0x00001a9b, 0x00007200, 0x08904fe4, 0x00001800, 0x00001a9b, 0x00007200,
+ 0x08504fe4, 0x00001800, 0x07104fe4, 0x00009800, 0x0000000b, 0x00006d87,
+ 0x82e85d0b, 0x00009900, 0x00001918, 0x0000f400, 0x0420400b, 0x0000e887,
+ 0x0dc0580b, 0x00001900, 0x61202405, 0x00004389, 0x00202405, 0x00000098,
+ 0x5ce01405, 0x00004489, 0xe6201405, 0x0000869d, 0x00800c05, 0x0000c788,
+ 0x23603405, 0x00002389, 0x10603405, 0x000045a8, 0x23203c05, 0x0000238a,
+ 0x1aac2490, 0x00007404, 0x10009800, 0x0000f900, 0x00001000, 0x00000980,
+ 0x0fb83707, 0x0000033c, 0x0000043a, 0x00009583, 0x853f1fe3, 0x00009908,
+ 0x6c00a014, 0x0000a088, 0x00001ab5, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x05003c14, 0x00001281, 0x05001414, 0x00001181, 0x00000c14, 0x00001583,
+ 0x00001aba, 0x0000f01b, 0x103ae000, 0x0000f900, 0x002a69cc, 0x00000980,
+ 0x1aba2091, 0x0000f500, 0x0ff83f06, 0x00000334, 0x0ee1d43a, 0x00001900,
+ 0x30406a41, 0x0000f902, 0x03000000, 0x00000000, 0x30408641, 0x00007902,
+ 0x03c00000, 0x00000000, 0x02000000, 0x000080e4, 0x30408841, 0x0000f902,
+ 0x03800000, 0x00008000, 0x00000c0c, 0x0000e583, 0x85371ee3, 0x00008900,
+ 0x30405c41, 0x0000f902, 0x02800000, 0x00000000, 0x04188009, 0x0000618f,
+ 0x00002008, 0x0000b58f, 0x0480680d, 0x0000e100, 0x86206008, 0x0000608f,
+ 0xe4f84e14, 0x00002880, 0xe4f84614, 0x00002800, 0x02787f10, 0x00000020,
+ 0x3000d041, 0x0000f902, 0x06400000, 0x00008000, 0x04f8570e, 0x00008034,
+ 0x03f85f11, 0x00000038, 0x1ad320cd, 0x0000f500, 0x02b86708, 0x00008104,
+ 0x03004809, 0x00009900, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x82c054ec, 0x00007902, 0x02000000, 0x00000604, 0x17c02004, 0x0000e100,
+ 0x00202809, 0x00006086, 0x82282809, 0x00006886, 0x04182809, 0x0000e987,
+ 0x02384f0a, 0x00000538, 0x17404008, 0x00006100, 0x0000200a, 0x00006586,
+ 0x0428280a, 0x00006887, 0x8620280a, 0x0000e887, 0x1ce720b3, 0x00007500,
+ 0x17190000, 0x00007900, 0x002a69cc, 0x00000980, 0x16c0500a, 0x00001900,
+ 0x053f1fe3, 0x00006101, 0x0238001f, 0x0000c980, 0x1aec1a80, 0x0000f404,
+ 0xc23f1fe3, 0x00001900, 0x02c04008, 0x00001900, 0x0238081f, 0x00001980,
+ 0x1af01a80, 0x00007404, 0xc220a414, 0x00001900, 0x02c04008, 0x00001900,
+ 0x1ad321a4, 0x00007204, 0xf8e0a414, 0x00009901, 0x00001ad3, 0x0000f000,
+ 0x1af62490, 0x00007404, 0x0ff83f06, 0x00000338, 0x10009a00, 0x00009980,
+ 0x0000043a, 0x00009583, 0x853f1fe3, 0x00009908, 0x6c00a014, 0x0000a088,
+ 0x00001aff, 0x0000f010, 0xffffffff, 0x00007f97, 0x05003c14, 0x00001281,
+ 0x05001414, 0x00001181, 0x00000c14, 0x00001583, 0x00001b04, 0x0000701b,
+ 0x103c0000, 0x00007900, 0x002a69cc, 0x00000980, 0x1b042091, 0x00007500,
+ 0x0ff83f06, 0x00000334, 0x0ee1d43a, 0x00001900, 0x1ad32147, 0x0000f500,
+ 0x30005841, 0x0000f902, 0x02800000, 0x00000000, 0x30384a41, 0x0000a000,
+ 0x00001ad3, 0x0000f000, 0x1b0c2490, 0x0000f404, 0x0ff83f06, 0x00000338,
+ 0x10009900, 0x00009980, 0x0000043a, 0x00009583, 0x853f1fe3, 0x00009908,
+ 0x6c00a014, 0x0000a088, 0x00001b15, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0x05003c14, 0x00001281, 0x05001414, 0x00001181, 0x00000c14, 0x00001583,
+ 0x00001b1a, 0x0000701b, 0x101ad000, 0x00007900, 0x002a69ce, 0x00008980,
+ 0x1b1a2091, 0x00007500, 0x0ff83f06, 0x00000334, 0x0ee1d43a, 0x00001900,
+ 0x30384841, 0x0000a080, 0x0238001f, 0x00009980, 0xffffffff, 0x00007f97,
+ 0x05204c09, 0x00006101, 0x05808409, 0x00004081, 0x1b221a80, 0x0000f404,
+ 0xc220b416, 0x00001900, 0x02c04008, 0x00001900, 0x0238081f, 0x00001980,
+ 0x1b261a80, 0x00007404, 0xc220b416, 0x00001900, 0x02c04008, 0x00001900,
+ 0x1ad321a4, 0x00007204, 0xf8c08414, 0x00001081, 0x00001ad3, 0x0000f000,
+ 0x1b2d2490, 0x0000f404, 0x10009800, 0x0000f900, 0x00001000, 0x00000980,
+ 0x0fb83707, 0x0000033c, 0x0000043a, 0x00009583, 0x853f1fe3, 0x00009908,
+ 0x6c00a014, 0x0000a088, 0x00001b36, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x05003c14, 0x00001281, 0x05001414, 0x00001181, 0x00000c14, 0x00001583,
+ 0x00001b3b, 0x0000701b, 0x103c1000, 0x0000f900, 0x002a69ce, 0x00008980,
+ 0x1b3b2091, 0x00007500, 0x0ff83f06, 0x00000334, 0x0ee1d43a, 0x00001900,
+ 0x30005041, 0x00007902, 0x06000000, 0x00000000, 0x30407241, 0x0000f902,
+ 0x03400000, 0x00008000, 0x3000ba41, 0x0000f902, 0x05800000, 0x00008000,
+ 0x3000ac41, 0x00007902, 0x04c00000, 0x00008000, 0xc0000718, 0x00009583,
+ 0x85371ee3, 0x00009910, 0x7ae06c14, 0x0000a810, 0x0507ed0a, 0x00009281,
+ 0x00000c14, 0x00001583, 0x30009641, 0x00007902, 0x04400000, 0x00000000,
+ 0x30408041, 0x00007902, 0x03c00000, 0x00000000, 0x00001b64, 0x0000f010,
+ 0x02000000, 0x00009980, 0x1b512078, 0x0000f500, 0x0030b808, 0x0000e886,
+ 0x02404008, 0x00009900, 0x85000c17, 0x0000e280, 0x82403e17, 0x00000280,
+ 0x83002214, 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080,
+ 0x85000fe2, 0x00004880, 0x79605c14, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x82ff420b, 0x00007900, 0x0000003e, 0x00008280, 0x8310620b, 0x00009300,
+ 0x82403f17, 0x0000e280, 0x83104a0c, 0x00008300, 0x8300fa0c, 0x00007900,
+ 0x0000003e, 0x00008280, 0x82402a09, 0x00009880, 0x83104a0c, 0x00001300,
+ 0x8310420c, 0x00009300, 0x79606414, 0x0000a880, 0x0500150a, 0x00009181,
+ 0x00000c14, 0x00001583, 0x82005c16, 0x000060b0, 0x85000d17, 0x0000c2b0,
+ 0x82c01a14, 0x000018b0, 0x00001b71, 0x0000f018, 0x85000fe2, 0x00001880,
+ 0x79604c14, 0x00002080, 0xffffffff, 0x00007fa7, 0x827fba09, 0x00009280,
+ 0x82d05a09, 0x00001300, 0x82d0420b, 0x00009300, 0x79605c14, 0x00002880,
+ 0x0507ee0a, 0x00009281, 0x00000c14, 0x00001583, 0x02000000, 0x00001988,
+ 0x0220ac15, 0x00001909, 0x00001b8b, 0x00007010, 0x1b782078, 0x00007300,
+ 0x02404008, 0x00009900, 0x85000e16, 0x0000e280, 0x82403c15, 0x00000280,
+ 0x83002214, 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080,
+ 0x85000fe2, 0x00004880, 0x79405c14, 0x0000a082, 0xffffffff, 0x00007fa7,
+ 0x82ff420b, 0x00007900, 0x0000003e, 0x00008280, 0x8310620b, 0x00009300,
+ 0x82403d15, 0x0000e280, 0x83104a0c, 0x00008300, 0x8300fa0c, 0x00007900,
+ 0x0000003e, 0x00008280, 0x82402a09, 0x00009880, 0x83104a0c, 0x00001300,
+ 0x8310420c, 0x00009300, 0x79486414, 0x00002882, 0x0500160a, 0x00009181,
+ 0x00000c14, 0x00001583, 0x82005e15, 0x0000e0b0, 0x85000f16, 0x0000c2b0,
+ 0x82c01a14, 0x000018b0, 0x00001b98, 0x00007018, 0x85000fe2, 0x00001880,
+ 0x79404c14, 0x00002082, 0xffffffff, 0x00007fa7, 0x827fba09, 0x00009280,
+ 0x82d05a09, 0x00001300, 0x82d0420b, 0x00009300, 0x79485c14, 0x0000a882,
+ 0x0507ef0a, 0x00001281, 0x00000c14, 0x00001583, 0x02000000, 0x00001988,
+ 0x02309e13, 0x00001909, 0x00001bb2, 0x00007010, 0x1b9f2078, 0x00007300,
+ 0x02404008, 0x00009900, 0x85000c13, 0x00006280, 0x82403e13, 0x00008280,
+ 0x83002214, 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080,
+ 0x85000fe2, 0x00004880, 0x79605c14, 0x00002000, 0xffffffff, 0x00007fa7,
+ 0x82ff420b, 0x00007900, 0x0000003e, 0x00008280, 0x8310620b, 0x00009300,
+ 0x82403f13, 0x00006280, 0x83104a0c, 0x00008300, 0x8300fa0c, 0x00007900,
+ 0x0000003e, 0x00008280, 0x82402a09, 0x00009880, 0x83104a0c, 0x00001300,
+ 0x8310420c, 0x00009300, 0x79606414, 0x00002800, 0x0500170a, 0x00001181,
+ 0x00000c14, 0x00001583, 0x82405c12, 0x000060b0, 0x85000d13, 0x000042b0,
+ 0x82001a14, 0x000018b0, 0x00001bbf, 0x00007018, 0x85000fe2, 0x00001880,
+ 0x79605c14, 0x00002000, 0xffffffff, 0x00007fa7, 0x82ffba0b, 0x00009280,
+ 0x8210420b, 0x00009300, 0x82104a08, 0x00001300, 0x79604414, 0x0000a800,
+ 0x0507ec18, 0x00001281, 0x00000c14, 0x00001583, 0x02000000, 0x00001988,
+ 0x02208c11, 0x00001909, 0x00001bd9, 0x0000f010, 0x1bc62078, 0x00007300,
+ 0x02404008, 0x00009900, 0x85000e12, 0x00006280, 0x82c03c11, 0x00000280,
+ 0x82402214, 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080,
+ 0x85000fe2, 0x00004880, 0x79406414, 0x0000a002, 0xffffffff, 0x00007fa7,
+ 0x833f420c, 0x00007900, 0x0000003e, 0x00008280, 0x82504a0c, 0x00001300,
+ 0x82c03d11, 0x0000e280, 0x82505a09, 0x00000300, 0x8240fa09, 0x00007900,
+ 0x0000003e, 0x00008280, 0x82c02a0b, 0x00009880, 0x82505a09, 0x00009300,
+ 0x82504209, 0x00009300, 0x79484c14, 0x0000a802, 0x05001418, 0x00001181,
+ 0x00000c14, 0x00001583, 0x82405e11, 0x0000e0b0, 0x85000f12, 0x000042b0,
+ 0x82001a14, 0x000018b0, 0x00001be6, 0x00007018, 0x85000fe2, 0x00001880,
+ 0x79405c14, 0x00002002, 0xffffffff, 0x00007fa7, 0x82ffba0b, 0x00009280,
+ 0x8210420b, 0x00009300, 0x82104a08, 0x00001300, 0x79484414, 0x00002802,
+ 0x0507ed18, 0x00009281, 0x00000c14, 0x00001583, 0x02000000, 0x00001988,
+ 0x02308610, 0x00001909, 0x00001c00, 0x0000f010, 0x1bed2078, 0x00007300,
+ 0x02404008, 0x00009900, 0x85000c10, 0x00006280, 0x82c03e10, 0x00000280,
+ 0x82402214, 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080,
+ 0x85000fe2, 0x00004880, 0x79606614, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x833f420c, 0x00007900, 0x0000003e, 0x00008280, 0x82504a0c, 0x00001300,
+ 0x82c03f10, 0x0000e280, 0x82505a09, 0x00000300, 0x8240fa09, 0x00007900,
+ 0x0000003e, 0x00008280, 0x82c02a0b, 0x00009880, 0x82505a09, 0x00009300,
+ 0x82504209, 0x00009300, 0x79604e14, 0x00002880, 0x05001518, 0x00009181,
+ 0x00000c14, 0x00001583, 0x82405c0f, 0x000060b0, 0x85000d10, 0x000042b0,
+ 0x82001a14, 0x000018b0, 0x00001c0d, 0x0000f018, 0x85000fe2, 0x00001880,
+ 0x79605e14, 0x00002080, 0xffffffff, 0x00007fa7, 0x82ffba0b, 0x00009280,
+ 0x8210420b, 0x00009300, 0x82104a08, 0x00001300, 0x79604614, 0x0000a880,
+ 0x0507ee18, 0x00009281, 0x00000c14, 0x00001583, 0x02000000, 0x00001988,
+ 0x0220740e, 0x00001909, 0x00001c27, 0x0000f010, 0x1c142078, 0x0000f300,
+ 0x02404008, 0x00009900, 0x85000e0f, 0x00006280, 0x82c03c0e, 0x00008280,
+ 0x82402214, 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080,
+ 0x85000fe2, 0x00004880, 0x79406614, 0x0000a082, 0xffffffff, 0x00007fa7,
+ 0x833f420c, 0x00007900, 0x0000003e, 0x00008280, 0x82504a0c, 0x00001300,
+ 0x82c03d0e, 0x00006280, 0x82505a09, 0x00000300, 0x8240fa09, 0x00007900,
+ 0x0000003e, 0x00008280, 0x82c02a0b, 0x00009880, 0x82505a09, 0x00009300,
+ 0x82504209, 0x00009300, 0x79484e14, 0x0000a882, 0x05001618, 0x00009181,
+ 0x00000c14, 0x00001583, 0x82c05e0e, 0x0000e0b0, 0x85000f0f, 0x000042b0,
+ 0x82001a14, 0x000018b0, 0x00001c34, 0x0000f018, 0x85000fe2, 0x00001880,
+ 0x79404e14, 0x0000a082, 0xffffffff, 0x00007fa7, 0x827fba09, 0x00009280,
+ 0x82504209, 0x00009300, 0x82505a09, 0x00009300, 0x79484e14, 0x0000a882,
+ 0x853f17e2, 0x00001900, 0x7f804e14, 0x00007902, 0x02000000, 0x00008000,
+ 0x0f40050a, 0x0000f893, 0x00c00001, 0x00008000, 0x8ac0060a, 0x00004491,
+ 0xf220070a, 0x00000790, 0x0ba00418, 0x0000c590, 0x08800618, 0x0000878e,
+ 0x80001e17, 0x00009583, 0xc278bf17, 0x00009909, 0x00001c39, 0x00007009,
+ 0x80001e17, 0x00009583, 0x00001c4a, 0x0000f01b, 0x80000e17, 0x00001583,
+ 0x4278bf17, 0x00001909, 0x00001c39, 0x00007009, 0x80000e17, 0x00001583,
+ 0x8278bf17, 0x0000e119, 0x0278bf17, 0x00004931, 0x00001c39, 0x0000f031,
+ 0x00001c39, 0x00007000, 0x80002e17, 0x00009583, 0x4238bf17, 0x00009909,
+ 0x00001c39, 0x00007009, 0x80002e17, 0x00009583, 0x0238bf17, 0x00009929,
+ 0x00001c39, 0x0000f029, 0x80003617, 0x00009583, 0x8238bf17, 0x00009909,
+ 0x00001c39, 0x00007009, 0x00001c39, 0x0000f400, 0x80003e17, 0x00001583,
+ 0xc238bf17, 0x00001909, 0x00001c15, 0x00001583, 0xc268ad15, 0x00009909,
+ 0x00001c77, 0x00007009, 0x00001c15, 0x00001583, 0x00001c62, 0x0000f01b,
+ 0x00000c15, 0x00009583, 0x4268ad15, 0x00001909, 0x00001c77, 0x00007009,
+ 0x00000c15, 0x00009583, 0x0268ad15, 0x00001931, 0x00001c77, 0x0000f031,
+ 0x00001c72, 0x00007000, 0x00002c15, 0x00001583, 0x4228ad15, 0x00009909,
+ 0x00001c77, 0x00007009, 0x00002c15, 0x00001583, 0x0228ad15, 0x00009929,
+ 0x00001c77, 0x0000f029, 0x00003415, 0x00001583, 0x8228ad15, 0x00009909,
+ 0x00001c77, 0x00007009, 0x00003c15, 0x00009583, 0xc228ad15, 0x00001909,
+ 0x00001c77, 0x00007009, 0x8f20070a, 0x00004491, 0x30200418, 0x00000791,
+ 0x30c00618, 0x0000788b, 0xb8c00000, 0x00000e85, 0x8268ad15, 0x00009901,
+ 0x8f20070a, 0x00004491, 0x30200418, 0x00000791, 0x30c00618, 0x0000788b,
+ 0xb8c00000, 0x00000e85, 0xc000070a, 0x00009583, 0x00001c96, 0x0000f00b,
+ 0x80001e13, 0x00001583, 0xc2789f13, 0x00009909, 0x00001c96, 0x00007009,
+ 0x80001e13, 0x00001583, 0x00001c85, 0x0000f01b, 0x80000e13, 0x00009583,
+ 0x42789f13, 0x00001909, 0x00001c96, 0x00007009, 0x80000e13, 0x00009583,
+ 0x02789f13, 0x00001931, 0x00001c96, 0x0000f031, 0x00001c93, 0x00007000,
+ 0x80002e13, 0x00001583, 0x42389f13, 0x00009909, 0x00001c96, 0x00007009,
+ 0x80002e13, 0x00001583, 0x02389f13, 0x00009929, 0x00001c96, 0x0000f029,
+ 0x80003613, 0x00001583, 0x82389f13, 0x00009909, 0x00001c96, 0x00007009,
+ 0x80003e13, 0x00009583, 0xc2389f13, 0x00001909, 0x00001c96, 0x00007009,
+ 0x00e00418, 0x0000c590, 0x03200618, 0x0000028b, 0x82789f13, 0x00009901,
+ 0x00800418, 0x00004591, 0x82e00618, 0x00008289, 0x00000418, 0x00009583,
+ 0x00001cb5, 0x0000700b, 0x00001c11, 0x00009583, 0xc2688d11, 0x00009909,
+ 0x00001cb5, 0x0000f009, 0x00001c11, 0x00009583, 0x00001ca4, 0x0000f01b,
+ 0x00000c11, 0x00001583, 0x42688d11, 0x00001909, 0x00001cb5, 0x0000f009,
+ 0x00000c11, 0x00001583, 0x02688d11, 0x00001931, 0x00001cb5, 0x00007031,
+ 0x00001cb2, 0x00007000, 0x00002c11, 0x00009583, 0x42288d11, 0x00009909,
+ 0x00001cb5, 0x0000f009, 0x00002c11, 0x00009583, 0x02288d11, 0x00009929,
+ 0x00001cb5, 0x00007029, 0x00003411, 0x00009583, 0x82288d11, 0x00009909,
+ 0x00001cb5, 0x0000f009, 0x00003c11, 0x00001583, 0xc2288d11, 0x00001909,
+ 0x00001cb5, 0x0000f009, 0x30c00618, 0x0000788b, 0xb8c00000, 0x00000e85,
+ 0x82688d11, 0x00009901, 0x30c00618, 0x0000788b, 0xb8c00000, 0x00000e85,
+ 0x80000618, 0x00009583, 0x00001cc3, 0x0000f00b, 0x00001c0e, 0x00001583,
+ 0xc268750e, 0x00009909, 0x00001cc3, 0x00007009, 0x00001c0e, 0x00001583,
+ 0x00001cca, 0x0000701b, 0x00000c0e, 0x00009583, 0x4268750e, 0x00001909,
+ 0x00001cc3, 0x00007009, 0x00000c0e, 0x00009583, 0x8268750e, 0x0000e119,
+ 0x0268750e, 0x00004931, 0x00001cc3, 0x0000f031, 0xc0000718, 0x00006583,
+ 0x853f17e2, 0x00008900, 0x7fb84e14, 0x0000d000, 0x00384000, 0x00000000,
+ 0x00001ad3, 0x00007400, 0x85371ee3, 0x00009910, 0xe4c86e14, 0x0000a892,
+ 0x00002c0e, 0x00001583, 0x4228750e, 0x00009909, 0x00001cc3, 0x00007009,
+ 0x00002c0e, 0x00001583, 0x0228750e, 0x00009929, 0x00001cc3, 0x0000f029,
+ 0x0000340e, 0x00001583, 0x8228750e, 0x00009909, 0x00001cc3, 0x00007009,
+ 0x00001cc3, 0x0000f400, 0x00003c0e, 0x00009583, 0xc228750e, 0x00001909,
+ 0x1ad3331d, 0x00007004, 0x00001ad3, 0x0000f000, 0x1ce7218a, 0x00007100,
+ 0x00001ce7, 0x00007000, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x0298d000, 0x00007900, 0x002a69cc, 0x00000980, 0x02fa9000, 0x00007900,
+ 0x0016f7fa, 0x00008980, 0x01802004, 0x0000e100, 0x08001a08, 0x00006106,
+ 0x03400000, 0x0000e180, 0xc2300600, 0x0000c901, 0x1ce71ff4, 0x00007500,
+ 0x82381400, 0x00008024, 0x81c02800, 0x00001980, 0x02400000, 0x0000f900,
+ 0x00020080, 0x00008980, 0x02000060, 0x0000e180, 0x557f1009, 0x00006003,
+ 0x02838000, 0x00007900, 0x00004000, 0x00000980, 0x03009000, 0x0000f900,
+ 0x00008100, 0x00008980, 0x03400000, 0x00007900, 0x00010008, 0x00008980,
+ 0x02c00000, 0x000080fc, 0x03a81402, 0x00008038, 0x04382f04, 0x00000104,
+ 0x04b83f06, 0x0000010c, 0x82181302, 0x00009900, 0x009816ec, 0x00005f80,
+ 0x00007000, 0x00008084, 0x00001ce7, 0x00007000, 0x00000001, 0x00007280,
+ 0x7bc00eec, 0x0000d080, 0x00400000, 0x00008000, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x02a78800, 0x0000f900, 0x0021605e, 0x00000980, 0x02c9d000, 0x0000f900,
+ 0x0014016c, 0x00000980, 0x01400000, 0x000080f4, 0x82200500, 0x00008022,
+ 0x1d091ff4, 0x0000f500, 0x02403f02, 0x0000009d, 0x01a02404, 0x00001901,
+ 0x02800000, 0x0000f900, 0x000040c0, 0x00000980, 0x02400002, 0x0000e180,
+ 0x020800c0, 0x00004980, 0x7bf83eec, 0x0000a080, 0x82a80205, 0x00006000,
+ 0xc2680500, 0x00000900, 0xc11722e4, 0x00006100, 0x00202008, 0x00006086,
+ 0x723850ec, 0x00005600, 0x00384800, 0x00008000, 0x723838ec, 0x0000d600,
+ 0x00384000, 0x00000000, 0x81a80205, 0x00009000, 0x00c002ec, 0x0000df80,
+ 0x11c8c80b, 0x00001684, 0x00384006, 0x00002080, 0xb9182304, 0x00006100,
+ 0x13c0000c, 0x0000c980, 0x13400000, 0x0000f900, 0x00044040, 0x00000980,
+ 0x13001000, 0x00006180, 0x93903a07, 0x00004900, 0xd3983b07, 0x0000e100,
+ 0x08004206, 0x00006100, 0x0010304f, 0x00006906, 0x00000000, 0x0000f081,
+ 0x7bf846ec, 0x00002000, 0x7c0008ec, 0x00005080, 0x00400000, 0x00008000,
+ 0x13c0000c, 0x0000e180, 0x13001000, 0x00004980, 0x13400000, 0x0000f900,
+ 0x00044000, 0x00008980, 0x02000808, 0x00006080, 0x0010284f, 0x00002106,
+ 0x7c3030ec, 0x0000a802, 0x00000001, 0x00007480, 0x7bf846ec, 0x0000a800,
+ 0x13a03506, 0x00008438, 0x7bc024ec, 0x0000f902, 0x02400000, 0x00000000,
+ 0x02000000, 0x00009980, 0xffffffff, 0x00007f97, 0x2c005704, 0x00009680,
+ 0x014588b0, 0x00001000, 0x01b02604, 0x00009900, 0x56f02008, 0x0000f823,
+ 0xa0c00000, 0x00000e8a, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x01000ce0, 0x00009283, 0x7bc024ec, 0x0000790a, 0x02400000, 0x00000000,
+ 0x00001d46, 0x00007011, 0x01c00807, 0x00009080, 0x00002807, 0x00009502,
+ 0x00000409, 0x00009583, 0xffffffff, 0x00007f86, 0x00001d3a, 0x00007010,
+ 0x00001d4e, 0x00007008, 0x80801cec, 0x00005684, 0x00000002, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x00c002ec, 0x0000df80, 0x01ca880a, 0x00009484,
+ 0x02000808, 0x00009080, 0x56c03008, 0x00007823, 0x00c00001, 0x00000080,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x01c00000, 0x00009980, 0xfc202f07, 0x00004511,
+ 0xff400409, 0x00007f89, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x7bf82eec, 0x00002080, 0x7fc00400, 0x000080dc, 0xffffffff, 0x00007f97,
+ 0x00202807, 0x00006886, 0x82282807, 0x0000e802, 0x003838ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x7c0144ec, 0x0000f902, 0x09c00000, 0x00000000, 0x81103206, 0x00009900,
+ 0x7bf95eec, 0x00002080, 0x7c0152ec, 0x00007902, 0x0a400000, 0x00008000,
+ 0x81a13c27, 0x00001900, 0x6c203806, 0x00007902, 0x82900400, 0x00008000,
+ 0x8441582b, 0x00001b04, 0x7c0136ec, 0x0000f902, 0x09400000, 0x00008000,
+ 0x7c4120ec, 0x0000f902, 0x08c00000, 0x00008000, 0x08003c0b, 0x0000e004,
+ 0x08003c05, 0x00003004, 0x00000c05, 0x00001583, 0x7c4112ec, 0x00007902,
+ 0x08400000, 0x00000000, 0x7c4104ec, 0x0000f902, 0x07c00000, 0x00008000,
+ 0x7c40f6ec, 0x0000f902, 0x07400000, 0x00000000, 0x7c80e0ec, 0x00007902,
+ 0x06c00000, 0x00000000, 0x7c80d2ec, 0x0000f902, 0x06400000, 0x00008000,
+ 0x7c80c4ec, 0x00007902, 0x05c00000, 0x00000000, 0x00001d8d, 0x0000f408,
+ 0x7c80b6ec, 0x00007902, 0x05400000, 0x00008000, 0x7cc0a0ec, 0x00007902,
+ 0x04c00000, 0x00008000, 0x00000000, 0x0000f480, 0x7c0004ec, 0x0000d000,
+ 0x00600800, 0x00008082, 0x7c0004ec, 0x0000d000, 0x00400800, 0x00008083,
+ 0x01800001, 0x0000e180, 0x83682d05, 0x0000c900, 0x03804000, 0x0000f900,
+ 0x000010c0, 0x00000980, 0x83e82d05, 0x00006100, 0xd3605806, 0x0000e004,
+ 0x81402d00, 0x00006080, 0x80000027, 0x00006586, 0x0b4728e5, 0x0000e100,
+ 0xc320580e, 0x0000e006, 0x0b000000, 0x0000e180, 0x04108fe4, 0x0000c800,
+ 0x03000000, 0x00006180, 0xc190520a, 0x0000c900, 0x02c00000, 0x0000e180,
+ 0xc3d80205, 0x0000c080, 0x7440800c, 0x0000f80b, 0x00c00001, 0x00000080,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x21000ce0, 0x00001283, 0x00001565, 0x0000f013, 0x30000045, 0x0000ec03,
- 0x30806e82, 0x0000f8b3, 0x30800000, 0x00008886, 0x80000260, 0x00009582,
- 0x09403000, 0x00009991, 0x09402000, 0x00001989, 0x00001253, 0x00007010,
- 0x0000131a, 0x0000f000, 0x80141261, 0x00001502, 0x000014da, 0x0000f03b,
- 0x21447887, 0x0000e100, 0x22400c8c, 0x00000081, 0x0004288f, 0x0000e502,
- 0xa1130a88, 0x00008100, 0xa2130a88, 0x0000e128, 0x21c47887, 0x00000128,
- 0x23000c8c, 0x000090a9, 0x000014d6, 0x0000f020, 0x36944261, 0x0000f83b,
- 0x30800000, 0x0000098f, 0xa25a0240, 0x00006100, 0x81001b5e, 0x00008780,
- 0x82008289, 0x0000e480, 0x81400a04, 0x0000c180, 0x819a0205, 0x00009200,
- 0x22504206, 0x00006000, 0x01c01a06, 0x00000880, 0x0282b007, 0x00006002,
- 0x0140f807, 0x00008784, 0x00102089, 0x00006502, 0x0242b805, 0x00000004,
- 0x22603404, 0x0000e141, 0x1582c058, 0x00008940, 0x82244c89, 0x00006140,
- 0x011ae35c, 0x0000c940, 0x00001416, 0x00007048, 0x22400a47, 0x0000e180,
- 0x01a00005, 0x00000980, 0x00044804, 0x0000e502, 0x04181006, 0x00002187,
- 0x81000b5c, 0x0000e090, 0x81000000, 0x00000988, 0x15c2c859, 0x00001900,
- 0x01001a04, 0x00006080, 0xd7102204, 0x0000c900, 0x0302a004, 0x0000e002,
- 0x01000580, 0x00008980, 0x02c00055, 0x0000e084, 0x81280500, 0x00000900,
- 0x75e80004, 0x0000e901, 0x700040ec, 0x00005680, 0x003824c4, 0x00008010,
- 0x703860ec, 0x0000d600, 0x00385800, 0x00000000, 0x700040ec, 0x00005680,
- 0x003837c0, 0x00000078, 0x00d002ec, 0x00005f80, 0x1140b008, 0x00009184,
- 0x2c2aec08, 0x00009600, 0xa24588b0, 0x00001000, 0x2c07dc08, 0x00001680,
- 0x010588b0, 0x00001001, 0x01400000, 0x0000f900, 0x001f8000, 0x00008980,
- 0xa0944a82, 0x0000e100, 0x46604408, 0x00008901, 0x2242a404, 0x00006081,
- 0x00141005, 0x00002186, 0x05c00000, 0x00006180, 0x04244805, 0x0000e101,
- 0x2c07f408, 0x00001680, 0x010588b0, 0x00001001, 0x22723746, 0x0000e100,
- 0x00001817, 0x00002106, 0x0028c889, 0x0000e502, 0xc4401a08, 0x00000880,
- 0x001820ec, 0x00005780, 0x00006000, 0x00008080, 0x00503800, 0x00007900,
- 0x0004c010, 0x00008980, 0xe0a02782, 0x00006001, 0x8207fa08, 0x00000280,
- 0xa2723519, 0x00006050, 0xf000082e, 0x00002401, 0x05009000, 0x0000f900,
- 0x00009a00, 0x00008980, 0x05400000, 0x00007900, 0x00018030, 0x00008980,
- 0xc0001817, 0x00006006, 0x00001028, 0x0000b402, 0x20382eec, 0x0000d600,
- 0x003c0000, 0x00000000, 0x04020800, 0x0000e180, 0x84581302, 0x00004900,
- 0x04b84f0a, 0x0000810c, 0x05a81402, 0x00008118, 0x06123780, 0x00008124,
- 0x067a3746, 0x0000e101, 0x86aaed5d, 0x0000c900, 0x4020b802, 0x000080c3,
- 0x807c1782, 0x00006101, 0xd01a0208, 0x0000c000, 0xc0c07800, 0x00006180,
- 0x91b23519, 0x0000c039, 0x91ba3489, 0x00009151, 0x008806ec, 0x00005f80,
- 0x00985a80, 0x00008b84, 0xc0000744, 0x00009583, 0xd1000000, 0x00006191,
- 0xd17a2c86, 0x00004011, 0x8d91b683, 0x00006010, 0x2000082e, 0x00002412,
- 0x0000112d, 0x00007008, 0x000011d9, 0x0000f200, 0x00001028, 0x00006c02,
- 0x14501c02, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x2140000a, 0x00006190, 0x21800800, 0x0000c990, 0x21000000, 0x00009990,
- 0x00001196, 0x00007008, 0x14591be2, 0x0000f300, 0x220d7000, 0x0000f900,
- 0x001689a0, 0x00008980, 0x01400000, 0x0000f900, 0x001f8000, 0x00008980,
- 0xa2771ee3, 0x0000e100, 0x00141005, 0x0000e186, 0x80001000, 0x00006180,
- 0x04341005, 0x0000e101, 0x20382eec, 0x0000d600, 0x003c0000, 0x00000000,
- 0x70f82c89, 0x0000a084, 0x00503800, 0x00007900, 0x00044010, 0x00000980,
- 0x0ac00000, 0x0000f900, 0x00200000, 0x00000980, 0x0b001000, 0x0000f900,
- 0x000a0000, 0x00008980, 0x01400805, 0x00006080, 0xc0004000, 0x00008981,
- 0x70f82c89, 0x00002884, 0x000800ec, 0x00005780, 0x00985a80, 0x000003c0,
- 0x70c00489, 0x00005004, 0x00400800, 0x00008080, 0x40c01400, 0x000082e0,
- 0x0a400000, 0x000002e8, 0x0b400004, 0x0000e180, 0x0b800000, 0x00004980,
- 0x40400282, 0x000082bc, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x1292e25c, 0x00006100, 0x22400a47, 0x00004180, 0x0004484a, 0x0000e502,
- 0x210004c0, 0x00000980, 0x92800a5c, 0x00006090, 0x92800000, 0x00000988,
- 0x21a00005, 0x00006180, 0x75e80084, 0x0000e101, 0x9712524a, 0x00006100,
- 0x04181086, 0x00006187, 0x12c2684d, 0x0000e100, 0x12801a4a, 0x00004880,
- 0x2242404a, 0x0000e002, 0x1282604c, 0x00008900, 0x700040ec, 0x00005680,
- 0x003c24c0, 0x00008010, 0x21c00049, 0x00001084, 0x703c48ec, 0x00005600,
- 0x003c3800, 0x00008000, 0x700040ec, 0x00005680, 0x003c37c0, 0x00008078,
- 0x21a00005, 0x00006180, 0x21000600, 0x00004980, 0x21400000, 0x00007900,
- 0x000014c4, 0x00000980, 0xa1280500, 0x00006100, 0x00145885, 0x0000e106,
- 0x04181086, 0x00006187, 0x75e80084, 0x0000b101, 0x21c00000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x703c28ec, 0x00005600, 0x003c2000, 0x00008000,
- 0x703c68ec, 0x0000d600, 0x003c6000, 0x00000000, 0xa1c01a8a, 0x00001880,
- 0x703c38ec, 0x0000d600, 0x003c3000, 0x00000000, 0x00d802ec, 0x0000df80,
- 0x1144f008, 0x000011c4, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x82c056ec, 0x0000f902, 0x01400000, 0x00008604,
+ 0x703870ec, 0x00005600, 0x00387800, 0x00008000, 0x703948ec, 0x00005600,
+ 0x00394000, 0x00008000, 0x700040ec, 0x00005680, 0x003837c0, 0x00000078,
+ 0x0480500a, 0x00009900, 0x00c002ec, 0x0000df80, 0x01cd880b, 0x00001684,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xf7000ce0, 0x0000788e, 0x28800000, 0x00008a8b, 0x8019ba37, 0x0000e502,
- 0xa111ba37, 0x00008900, 0xa159bb37, 0x00009900, 0x0000112b, 0x0000f011,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x037d7800, 0x0000f900,
- 0x0009d12c, 0x00000980, 0x03b9b000, 0x0000f900, 0x00207eca, 0x00000980,
- 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000080dc,
- 0x14c21bac, 0x00007500, 0x82600500, 0x00008026, 0x81001000, 0x0000e180,
- 0x02c01002, 0x00004900, 0xa040c645, 0x00006283, 0xd13c1f44, 0x00008101,
- 0xd17c1f45, 0x00006001, 0x2000082e, 0x0000240a, 0x8d91b683, 0x00009008,
- 0x000014d2, 0x00007010, 0x000011d9, 0x0000f200, 0x00001028, 0x00006c02,
- 0xa161b036, 0x00008810, 0xc011b336, 0x00009502, 0xc0000744, 0x00009583,
- 0xffffffff, 0x00007f86, 0x000014b1, 0x00007008, 0x00001373, 0x00007008,
- 0xd17a2c86, 0x00006001, 0xd1000000, 0x00000981, 0x000011d9, 0x0000f400,
- 0x8000082e, 0x00006402, 0x00001028, 0x0000b402, 0xcdd9be83, 0x00001000,
- 0x20bc2c84, 0x00000604, 0x000010e3, 0x00007400, 0x49a42689, 0x00000820,
- 0x21c42885, 0x00009900, 0x000010e3, 0x00007400, 0x20bc3c88, 0x00008604,
- 0x89a4648c, 0x00001901, 0xc006ff82, 0x00001583, 0x85036000, 0x00006199,
- 0xe0800f82, 0x00004199, 0x000014c2, 0x0000f031, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780,
- 0x00006002, 0x00000080, 0x00001114, 0x0000f000, 0x89800e26, 0x0000e181,
- 0x20400e26, 0x00008181, 0x00000481, 0x00009583, 0xa094728e, 0x0000e108,
- 0xd13c1f44, 0x0000c109, 0xd17c1f45, 0x00001009, 0x0000152b, 0x0000f010,
- 0xa040c645, 0x00009283, 0x8d91b683, 0x00006008, 0x2000082e, 0x0000240a,
- 0x000014d2, 0x0000f011, 0x000014c8, 0x00007000, 0xa040c645, 0x00006283,
- 0xe0800f82, 0x00008181, 0x2000082e, 0x0000e40a, 0x8000082e, 0x0000b412,
- 0x18400800, 0x000085fe, 0xd13c1f44, 0x0000e101, 0xd17c1f45, 0x00000001,
- 0xcdd9be83, 0x00006010, 0x8d91b683, 0x00000008, 0x20c00000, 0x00007900,
- 0x001f8000, 0x00008980, 0x80001000, 0x00006180, 0x00141083, 0x00006186,
- 0x00503800, 0x00007900, 0x0004c010, 0x00008980, 0xc0c07800, 0x00006180,
- 0x04341083, 0x00006101, 0x0a3fe028, 0x00007900, 0x003ffffe, 0x00008280,
- 0x000011e4, 0x00007400, 0x203c1eec, 0x00005600, 0x003c0000, 0x00000000,
- 0x4060ba82, 0x00008083, 0x21000800, 0x00006181, 0x80001026, 0x0000e407,
- 0xc5280000, 0x00006180, 0x86242026, 0x00006001, 0x85008660, 0x00006283,
- 0x21007e60, 0x00008281, 0x06831000, 0x00006189, 0x06830800, 0x00004991,
- 0x00000c84, 0x0000e583, 0x04801000, 0x00008981, 0x21000000, 0x0000e181,
- 0xa1030026, 0x0000e001, 0x21000800, 0x0000e189, 0x00000812, 0x00006501,
- 0x21400260, 0x0000f900, 0x00000100, 0x00000380, 0x001808ec, 0x00005780,
- 0x00006000, 0x00008080, 0x8622f812, 0x0000e001, 0xd0000815, 0x0000b404,
- 0xb6e42026, 0x00006001, 0x0004280e, 0x0000b206, 0x89723646, 0x00006101,
- 0xc9402c8d, 0x0000c081, 0x8520d41a, 0x0000e101, 0x0004281a, 0x0000e206,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009020ec, 0x00005780, 0x00006001, 0x00000080, 0x44008660, 0x0000f896,
- 0x98800000, 0x00000a87, 0x22400800, 0x0000e181, 0x8994428e, 0x00004100,
- 0x17e2fc89, 0x0000e101, 0x80000026, 0x0000a407, 0x0000045f, 0x00006583,
- 0xc5280000, 0x00008980, 0x00004c8a, 0x00006593, 0x8622f826, 0x0000a001,
- 0x20400260, 0x0000f910, 0x00000100, 0x00000380, 0x04801800, 0x00006189,
- 0x04801000, 0x0000c991, 0x20400260, 0x0000f908, 0x00000100, 0x00000380,
- 0x001808ec, 0x0000d790, 0x00006000, 0x00008080, 0x0004080e, 0x0000e216,
- 0x00001012, 0x0000b509, 0x17c07e60, 0x0000e281, 0xa1030026, 0x00002001,
- 0xc9680001, 0x00006180, 0x00000812, 0x0000e511, 0x85008660, 0x00006283,
- 0xd0000815, 0x00002404, 0x06831000, 0x00006189, 0x06830800, 0x00004991,
- 0x00000c5f, 0x0000e583, 0x89543a86, 0x00000100, 0x17c00000, 0x0000e181,
- 0x8520d41a, 0x0000c901, 0x17c00800, 0x0000e189, 0x0004081a, 0x00006206,
- 0xa0408660, 0x00006283, 0xa0806e82, 0x00008181, 0x89723646, 0x00006101,
- 0xb6e2f826, 0x00006001, 0xe0801782, 0x0000e181, 0x17fc1782, 0x00008901,
- 0xe0801c5f, 0x00001189, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009020ec, 0x00005780, 0x00006001, 0x00000080,
- 0xa040c645, 0x00006283, 0x20402660, 0x00000781, 0x20400c81, 0x0000e481,
- 0x2000082e, 0x0000240a, 0x8d91b683, 0x00006008, 0xcdd9be83, 0x00000010,
- 0x17c00800, 0x00006181, 0x8000082e, 0x0000e412, 0x20400c81, 0x00006283,
- 0xd13c1f44, 0x00008101, 0xd17c1f45, 0x00006001, 0x00001028, 0x0000a40a,
- 0x000014fc, 0x0000f011, 0x000011d9, 0x00007000, 0x15661c02, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x2140000a, 0x00006190,
- 0x21800000, 0x00004990, 0x21000000, 0x00009990, 0x000013dc, 0x00007008,
- 0x156f1be2, 0x00007300, 0x220d7000, 0x0000f900, 0x001689a0, 0x00008980,
- 0x01000000, 0x00007900, 0x001f8000, 0x00008980, 0xa2771ee3, 0x0000e100,
- 0x00141004, 0x00006186, 0x80001000, 0x00006180, 0x04341004, 0x00006101,
- 0x203826ec, 0x00005600, 0x003c0000, 0x00000000, 0x70f82c89, 0x0000a084,
- 0x00503800, 0x00007900, 0x00044010, 0x00000980, 0x0ac00000, 0x0000f900,
- 0x00200000, 0x00000980, 0x0b001000, 0x0000f900, 0x000a0000, 0x00008980,
- 0x01400805, 0x00006080, 0xc0004000, 0x00008981, 0x70f82c89, 0x00002884,
- 0x000800ec, 0x00005780, 0x00985a80, 0x000003c0, 0x70c00489, 0x00005004,
- 0x00400000, 0x00000080, 0x40c01400, 0x000082e0, 0x0a400000, 0x000002e8,
- 0x0b400004, 0x0000e180, 0x0b800000, 0x00004980, 0x40400282, 0x000082bc,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x18430839, 0x00006000,
- 0x22430839, 0x00000000, 0x00000089, 0x00001582, 0x17c00000, 0x00006189,
- 0xa2141282, 0x0000c910, 0xa3941282, 0x0000e110, 0x89800800, 0x0000c991,
- 0x00001110, 0x0000f008, 0x0012d861, 0x00006502, 0x21c30861, 0x00000900,
- 0x21a30f61, 0x00000214, 0x23d2da5b, 0x00006100, 0x23000800, 0x0000c999,
- 0x000010e3, 0x00007230, 0x985ada5b, 0x00001018, 0xffffffff, 0x00007f86,
- 0x36941261, 0x0000f83b, 0x30800000, 0x0000098f, 0x5bf862ec, 0x0000a084,
- 0xc00007e2, 0x00006583, 0x83f71ee3, 0x00008900, 0x6ff83c0f, 0x0000a004,
- 0xffffffff, 0x00007f86, 0x43000d0c, 0x00006191, 0x03000c0c, 0x00000189,
- 0x83000e0c, 0x00001181, 0x00000001, 0x00007480, 0xc3203f0c, 0x00001101,
- 0x5bf862ec, 0x00002884, 0x81800ee3, 0x00006080, 0xc11722e4, 0x00004900,
- 0x86bb6406, 0x0000b038, 0x86bb7606, 0x0000b038, 0x82000000, 0x000087c0,
- 0x1c400000, 0x000007c8, 0x1cc00000, 0x00009980, 0xbd000c6d, 0x0000c488,
- 0x68200c6d, 0x000005ab, 0x7ac0146d, 0x0000788b, 0x68800000, 0x00008a8f,
- 0x28c09800, 0x00007900, 0x00003400, 0x00000980, 0x15ba20af, 0x00007404,
- 0x02400000, 0x0000e181, 0x2943706e, 0x0000c900, 0x2903786f, 0x00001900,
- 0x000004a2, 0x00001583, 0x81ff1fe3, 0x00001908, 0x8a003407, 0x00002088,
- 0x000015c3, 0x0000f010, 0xffffffff, 0x00007f97, 0x01c03c06, 0x00009281,
- 0x01801407, 0x00009181, 0x00000c06, 0x00001583, 0x000015c8, 0x0000f01b,
- 0x268d8800, 0x00007900, 0x0032a066, 0x00000980, 0x15c81c61, 0x0000f500,
- 0x267b7f6e, 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x303844af, 0x0000a080,
- 0x30783caf, 0x00002080, 0x31b856af, 0x0000a080, 0x01800ce0, 0x00001283,
- 0x01800000, 0x00001989, 0x000015d4, 0x00007009, 0x15d21c02, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x01a524a4, 0x00001901, 0x00000406, 0x00006583,
- 0x02203406, 0x00000901, 0x5bf862ec, 0x0000208c, 0x000015fa, 0x00007011,
- 0x01801c70, 0x00009283, 0x83000e0c, 0x0000e089, 0xc3386407, 0x00008009,
- 0x01800000, 0x00009988, 0x000015fa, 0x0000f010, 0xc00007e2, 0x00006583,
- 0x82304006, 0x0000a086, 0x43000d0c, 0x0000e091, 0x00203806, 0x00002086,
- 0x03000c0c, 0x0000e089, 0x04283806, 0x0000a087, 0x81f71ee3, 0x00009900,
- 0x000015fa, 0x0000f400, 0x5bf862ec, 0x00002884, 0x6ff85407, 0x00005004,
- 0x00383000, 0x00008000, 0x15fa159e, 0x00007300, 0x02400800, 0x00001981,
- 0x000015fa, 0x00007000, 0x000015fa, 0x0000f200, 0x02401000, 0x00001981,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x03484000, 0x00007900,
- 0x0032a066, 0x00000980, 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980,
- 0x0203606c, 0x00006100, 0x08001a09, 0x0000e106, 0x0180076d, 0x0000009c,
- 0x15fa1bac, 0x00007500, 0x82600500, 0x00008026, 0x81002800, 0x00006180,
- 0x02c01002, 0x00004900, 0x01e04c09, 0x0000e101, 0x0023680a, 0x0000e086,
- 0x82c04cec, 0x00007902, 0x01800000, 0x00008604, 0x81b71ee3, 0x00006100,
- 0x822b680a, 0x00006086, 0x18c3606c, 0x0000e100, 0x041b680a, 0x0000e187,
- 0x02c0500a, 0x00001900, 0x1880580b, 0x00006100, 0x0010480c, 0x0000e186,
- 0x85804c06, 0x0000f902, 0x01800000, 0x00000000, 0x2806d800, 0x0000f900,
- 0x0032a52e, 0x00000980, 0xffffffff, 0x00007f97, 0x80000606, 0x00009583,
- 0x0410300c, 0x0000618f, 0x0418480c, 0x0000b197, 0x00002006, 0x0000ed86,
- 0x1840600c, 0x00006100, 0x042b6806, 0x00006087, 0x16131c83, 0x0000f500,
- 0x86236806, 0x00006887, 0x18003006, 0x00009900, 0x16151846, 0x00007300,
- 0x21003f6c, 0x00008817, 0x00000408, 0x00001583, 0x1a009000, 0x0000f908,
- 0x0000d900, 0x00000980, 0x1a400000, 0x00007908, 0x00010000, 0x00000980,
- 0x0000162a, 0x00007010, 0x1ac00000, 0x000086e8, 0x200b26ec, 0x0000d680,
- 0x003b2409, 0x00003f10, 0xda981302, 0x00009900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0098d0ec, 0x0000d780,
- 0x00006000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0xb9182304, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x162c18c3, 0x0000f300, 0x19800764, 0x000086a4,
- 0xb9182304, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x2c2007e2, 0x00007900, 0x00000004, 0x00000680,
- 0x030588b0, 0x00001000, 0x02c00ee3, 0x00006281, 0x01c2000c, 0x00008080,
- 0x03003007, 0x0000e780, 0x0bc7181f, 0x00002084, 0x01c0240b, 0x00006081,
- 0xc21722e4, 0x00004900, 0xc8000007, 0x00008290, 0x01e03ae5, 0x00009800,
- 0x084038e5, 0x0000e400, 0x0bc71807, 0x00002084, 0x38414407, 0x00009081,
- 0x82c00a0c, 0x00001080, 0x5bf9420b, 0x0000303c, 0x5bf9540b, 0x0000b03c,
- 0x5bf9660b, 0x0000303c, 0x5c39700b, 0x0000303c, 0x5bc11a0c, 0x0000f902,
- 0x08800000, 0x00008004, 0xffffffff, 0x00007f97, 0x07800200, 0x0000f904,
- 0x0000001e, 0x00009582, 0x03c1001e, 0x00001710, 0x81d07b22, 0x00001110,
- 0x00001660, 0x0000f008, 0x80000207, 0x0000e582, 0xc8907b22, 0x00000100,
- 0x08c00000, 0x00006188, 0x08800000, 0x0000c988, 0x19c12024, 0x00009908,
- 0x00001657, 0x00007010, 0x16551684, 0x00007004, 0x01c0f81f, 0x00001900,
- 0x38414407, 0x00009081, 0x01c0f021, 0x00009200, 0x5bf91a0c, 0x0000d004,
- 0x00391000, 0x00008000, 0xffffffff, 0x00007fa7, 0x00003c00, 0x00007904,
- 0x5bf9420b, 0x0000b83c, 0x5bf9540b, 0x0000383c, 0x5bf9660b, 0x0000b83c,
- 0x5c39700b, 0x0000b83c, 0x8300520c, 0x0000e080, 0x09000824, 0x00000080,
- 0x00008024, 0x00001582, 0x00001641, 0x0000f013, 0x1665159e, 0x0000f100,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x82c056ec, 0x0000f902,
+ 0x01400000, 0x00008604, 0xffffffff, 0x00007fa7, 0x0140900a, 0x00001100,
+ 0x00016805, 0x0000e502, 0x02c0280b, 0x00000000, 0x00016005, 0x00006502,
+ 0x0b40900a, 0x00008128, 0x02802802, 0x0000e180, 0x0b00900a, 0x0000c118,
+ 0x0410680a, 0x0000e987, 0x713950ec, 0x0000d600, 0x00385000, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x11ce700b, 0x00001684, 0x0300080c, 0x00009080,
+ 0x67c0800c, 0x0000f813, 0x00c00001, 0x00000080, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xb9102204, 0x00006100,
+ 0x80000827, 0x00006486, 0x0150880b, 0x00001700, 0x7bf95eec, 0x00005000,
+ 0x00382800, 0x00008000, 0x7c3968ec, 0x0000d000, 0x00396000, 0x00000000,
+ 0x7c3952ec, 0x0000d000, 0x00394800, 0x00000000, 0x7c3944ec, 0x00005000,
+ 0x00393800, 0x00008000, 0x7c3936ec, 0x00005000, 0x00392800, 0x00000000,
+ 0x7c7920ec, 0x00005000, 0x00391800, 0x00000000, 0x7c7912ec, 0x0000d000,
+ 0x00390800, 0x00008000, 0x7c7904ec, 0x00005000, 0x0038f800, 0x00000000,
+ 0x7c78f6ec, 0x00005000, 0x0038e800, 0x00008000, 0x7cb8e0ec, 0x0000d000,
+ 0x0038d800, 0x00008000, 0x7cb8d2ec, 0x00005000, 0x0038c800, 0x00000000,
+ 0x7cb8c4ec, 0x0000d000, 0x0038b800, 0x00008000, 0x00000000, 0x0000f480,
+ 0x7cb8b6ec, 0x0000d000, 0x0038a800, 0x00000000, 0x7cf8a0ec, 0x0000d000,
+ 0x00389800, 0x00000000, 0x7bf836ec, 0x0000a000, 0x7c3828ec, 0x0000a080,
+ 0x1380f800, 0x00007900, 0x00004040, 0x00008980, 0x1400b000, 0x00007900,
+ 0x00008140, 0x00000980, 0x14400000, 0x00007900, 0x00010030, 0x00000980,
+ 0x15400000, 0x0000f900, 0x00010000, 0x00000980, 0x13000806, 0x00006180,
+ 0x13400000, 0x00004980, 0x13c0f820, 0x0000e180, 0x14c00000, 0x00004980,
+ 0x00000001, 0x00007480, 0x15000000, 0x000005dc, 0x15b83705, 0x00008508,
+ 0x1e091d24, 0x0000f500, 0x01801002, 0x0000e100, 0x08001a04, 0x00006106,
+ 0x01502204, 0x00009900, 0x14210001, 0x0000e180, 0x0000084d, 0x00006406,
+ 0x14400000, 0x0000e180, 0x8000184d, 0x0000e480, 0x14800000, 0x000085cc,
+ 0xd360100a, 0x000084f3, 0x00909eec, 0x0000df80, 0x00006000, 0x00000084,
+ 0x1e151d09, 0x00007404, 0x82d03206, 0x0000e100, 0x81751000, 0x00004980,
+ 0x01002000, 0x00001980, 0xd3001000, 0x0000e181, 0x0000084d, 0x00006406,
+ 0x14200020, 0x00006180, 0x8000184d, 0x0000e480, 0x14400000, 0x000005c8,
+ 0x14c00000, 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009098ec, 0x00005780, 0x00006000, 0x00008080,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0xb9105a0b, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x7bf82eec, 0x00002080, 0xffffffff, 0x00007fa7, 0x00000c05, 0x00001583,
+ 0x01c00000, 0x0000f910, 0x00010040, 0x00008980, 0x01800000, 0x0000e190,
+ 0x01400000, 0x0000c990, 0x00001e38, 0x0000f008, 0x02aaa000, 0x00007900,
+ 0x0007dd8a, 0x00008980, 0x02e01800, 0x0000f900, 0x003a7fc0, 0x00000980,
+ 0x03400000, 0x0000e180, 0x08001a08, 0x00006106, 0x1e381ff4, 0x00007500,
+ 0x81c01000, 0x0000e180, 0xc2300600, 0x0000c901, 0x02600702, 0x00008022,
+ 0x1e391df4, 0x0000f100, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x00989eec, 0x00005f80, 0x00005000, 0x00000084, 0x819722e4, 0x00001900,
+ 0xc8a08405, 0x0000c389, 0x00208405, 0x00000098, 0x00806c05, 0x00004789,
+ 0x00a09c05, 0x0000008b, 0x91c11405, 0x0000788b, 0x58c00000, 0x00008f82,
+ 0x1e451d5d, 0x00007100, 0x00001e11, 0x0000f000, 0x1e471e26, 0x0000f100,
+ 0x01011000, 0x00009980, 0x00001d66, 0x00007400, 0x82280004, 0x0000e886,
+ 0x01402004, 0x00009900, 0x1e4d1cfc, 0x00007300, 0x01202c05, 0x00009901,
+ 0x00000000, 0x00007080, 0x7bf834ec, 0x0000a080, 0x7bf82eec, 0x00002080,
+ 0xc35722e4, 0x00001900, 0xffffffff, 0x00007f86, 0x0000fc06, 0x00001583,
+ 0x01002000, 0x0000e190, 0x01202c05, 0x0000c908, 0xffffffff, 0x00007f86,
+ 0x103820ec, 0x00005600, 0x00000000, 0x00008080, 0xcc806406, 0x0000c489,
+ 0xb8206406, 0x0000879c, 0x98000406, 0x0000788b, 0x48c00000, 0x00008f83,
+ 0x0000fc06, 0x00001583, 0x00000000, 0x0000f08b, 0x99410c06, 0x0000788b,
+ 0x48c00000, 0x00008f83, 0x1e611cf9, 0x00007100, 0xb9186b0d, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x1e651d31, 0x0000f004,
+ 0x1e6632d6, 0x00007100, 0xb9186b0d, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x01000000, 0x00009980, 0x1e6d1e3d, 0x0000f404,
+ 0x00203004, 0x00006886, 0x01402004, 0x00009900, 0xb9186b0d, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x1e711e4e, 0x00007004,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x1e7624bc, 0x0000f404,
+ 0x06f82705, 0x00008018, 0x07403006, 0x00009900, 0x02c00000, 0x0000e180,
+ 0x82901202, 0x00004900, 0xc2981302, 0x0000e100, 0x0000180b, 0x00006106,
+ 0x02001000, 0x0000f900, 0x00004000, 0x00000980, 0x02400000, 0x0000f900,
+ 0x00040010, 0x00008980, 0xc000180b, 0x00006806, 0x008816ec, 0x0000df80,
+ 0x00006000, 0x00000084, 0x09400000, 0x00007900, 0x000200c0, 0x00000980,
+ 0x0a009000, 0x0000f900, 0x0000c000, 0x00008980, 0x09000080, 0x0000e180,
+ 0x0a800000, 0x0000c980, 0x09840000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x0a400000, 0x00007900, 0x00010008, 0x00008980, 0x09c00100, 0x0000e180,
+ 0x55782025, 0x00006003, 0x00000001, 0x00007480, 0x0ac00000, 0x00006180,
+ 0x8a302604, 0x0000c901, 0x8aa02104, 0x00000210, 0x03800000, 0x0000e180,
+ 0x0b002004, 0x00004900, 0x0b783705, 0x00000238, 0x0bf84707, 0x00008300,
+ 0x0c785709, 0x00000308, 0x0cf8270b, 0x00000110, 0x04f83705, 0x00008108,
+ 0x1e9b2273, 0x0000f404, 0x04784707, 0x00008100, 0x03b84c0a, 0x0000803c,
+ 0x01800000, 0x00009981, 0x00001c06, 0x00009583, 0x0101782f, 0x00009908,
+ 0x00001eb3, 0x00007009, 0x00001c06, 0x00009583, 0x00001ea8, 0x0000701b,
+ 0x00000c06, 0x00001583, 0x0101682d, 0x00009908, 0x00001eb3, 0x00007009,
+ 0x00001406, 0x00001583, 0x0101702e, 0x00009908, 0x00001eb3, 0x00007009,
+ 0x00001eb1, 0x0000f000, 0x00002c06, 0x00009583, 0x01018831, 0x00009908,
+ 0x00001eb3, 0x00007009, 0x00002c06, 0x00009583, 0x01018030, 0x00001928,
+ 0x00001eb3, 0x0000f029, 0x00003406, 0x00009583, 0x01019032, 0x00009908,
+ 0x00001eb3, 0x00007009, 0x0101602c, 0x00001900, 0xffffffff, 0x00007f86,
+ 0x01002004, 0x00009b00, 0x00072804, 0x0000e502, 0x01402004, 0x00000900,
+ 0x01800c06, 0x00001089, 0x00001eba, 0x00007011, 0xafc03c06, 0x0000788b,
+ 0xe0c00000, 0x00008f84, 0x81802c06, 0x00009880, 0x81102a06, 0x00009000,
+ 0x80067a04, 0x00001582, 0x81502a06, 0x00001030, 0x00001ec0, 0x00007031,
+ 0x817ff801, 0x00009980, 0x6c003005, 0x00007902, 0x01400000, 0x00000000,
+ 0x010000e0, 0x00001980, 0x1ec71e81, 0x0000f501, 0xffffffff, 0x00007f86,
+ 0x81102a05, 0x0000e100, 0x0f403704, 0x00006002, 0x00804eec, 0x0000df80,
+ 0x00007001, 0x00000084, 0x03000000, 0x00006180, 0x0b002004, 0x00004900,
+ 0x0b783705, 0x00000238, 0x0bf84707, 0x00008300, 0x0c785709, 0x00000308,
+ 0x0cf8270b, 0x00000108, 0x04783705, 0x00008100, 0x1ed32331, 0x00007500,
+ 0x03f84707, 0x00008038, 0x03384c0a, 0x00008034, 0x01400000, 0x00009981,
+ 0x00001c05, 0x00009583, 0x0101782f, 0x00009908, 0x00001eeb, 0x0000f009,
+ 0x00001c05, 0x00009583, 0x00001ee0, 0x0000701b, 0x00000c05, 0x00001583,
+ 0x0101682d, 0x00009908, 0x00001eeb, 0x0000f009, 0x00001405, 0x00001583,
+ 0x0101702e, 0x00009908, 0x00001eeb, 0x0000f009, 0x00001ee9, 0x00007000,
+ 0x00002c05, 0x00009583, 0x01018831, 0x00009908, 0x00001eeb, 0x0000f009,
+ 0x00002c05, 0x00009583, 0x01018030, 0x00001928, 0x00001eeb, 0x00007029,
+ 0x00003405, 0x00009583, 0x01019032, 0x00009908, 0x00001eeb, 0x0000f009,
+ 0x0101602c, 0x00001900, 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00,
+ 0x00072804, 0x0000e502, 0x01c02004, 0x00008900, 0x01400c05, 0x00001089,
+ 0x00001ef2, 0x00007011, 0xbdc03c05, 0x0000788b, 0xa0c00000, 0x00008f86,
+ 0x81402c05, 0x00009880, 0x81103a05, 0x00001000, 0x80067a04, 0x00001582,
+ 0x81d03a05, 0x00001030, 0x00001ef8, 0x0000f031, 0x81fff801, 0x00001980,
+ 0x6c003007, 0x0000f902, 0x01400000, 0x00000000, 0x01000180, 0x00009980,
+ 0x1eff1e81, 0x00007501, 0xffffffff, 0x00007f86, 0x81102a05, 0x0000e100,
+ 0x0f403704, 0x00006002, 0x00804eec, 0x0000df80, 0x00007001, 0x00000084,
+ 0x07000000, 0x0000e180, 0x0b002004, 0x00004900, 0x0b783705, 0x00000238,
+ 0x0bf84707, 0x00008300, 0x0c785709, 0x00000308, 0x0cf8270b, 0x00008218,
+ 0x09783705, 0x00008210, 0x1f0b21ce, 0x00007404, 0x08f84707, 0x00008208,
+ 0x07384c0a, 0x00008204, 0x1f0d1918, 0x00007204, 0x0dc7f800, 0x00009980,
+ 0x1f0f1918, 0x0000f204, 0x0dc7f820, 0x00001980, 0x01800000, 0x00009981,
+ 0x00001c06, 0x00009583, 0x0101782f, 0x00009908, 0x00001f27, 0x00007009,
+ 0x00001c06, 0x00009583, 0x00001f1c, 0x0000f01b, 0x00000c06, 0x00001583,
+ 0x0101682d, 0x00009908, 0x00001f27, 0x00007009, 0x00001406, 0x00001583,
+ 0x0101702e, 0x00009908, 0x00001f27, 0x00007009, 0x00001f25, 0x0000f000,
+ 0x00002c06, 0x00009583, 0x01018831, 0x00009908, 0x00001f27, 0x00007009,
+ 0x00002c06, 0x00009583, 0x01018030, 0x00001928, 0x00001f27, 0x0000f029,
+ 0x00003406, 0x00009583, 0x01019032, 0x00009908, 0x00001f27, 0x00007009,
+ 0x0101602c, 0x00001900, 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00,
+ 0x00072804, 0x0000e502, 0x01402004, 0x00000900, 0x01800c06, 0x00001089,
+ 0x00001f2e, 0x00007011, 0xccc03c06, 0x0000788b, 0x80c00000, 0x00008f88,
+ 0x81802c06, 0x00009880, 0x81102a06, 0x00009000, 0x80067a04, 0x00001582,
+ 0x81502a06, 0x00001030, 0x00001f34, 0x00007031, 0x817ff801, 0x00009980,
+ 0x6c003005, 0x00007902, 0x01000000, 0x00008000, 0x01400100, 0x00009980,
+ 0xffffffff, 0x00007f97, 0x00002005, 0x00006986, 0x1f3c1e81, 0x00007500,
+ 0x0f403705, 0x00006802, 0x01002805, 0x00001900, 0x00804eec, 0x0000df80,
+ 0x00007001, 0x00000084, 0x068728e5, 0x00006100, 0x0fc0041c, 0x0000e004,
+ 0xc38004e5, 0x000001ac, 0x00001c1c, 0x00001583, 0x00001c1c, 0x00001583,
+ 0x00000c1c, 0x00009583, 0x00001f5b, 0x00007008, 0x00001f49, 0x00007038,
+ 0x00001f50, 0x0000f008, 0xf6c0db0e, 0x0000f893, 0x60c00000, 0x00000f8b,
+ 0x0000341c, 0x00001583, 0x00003c1c, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x00001f54, 0x00007008, 0x00001f5b, 0x00007008, 0xf6c0db0e, 0x0000f893,
+ 0x60c00000, 0x00000f8b, 0x00001f68, 0x00007400, 0x08000c05, 0x00006080,
+ 0x08001a1a, 0x00003106, 0xc1401e05, 0x0000812e, 0x08000c05, 0x00006080,
+ 0x08001a1a, 0x00003106, 0xc1681e05, 0x0000012c, 0x0d001c05, 0x0000e806,
+ 0x83a02c05, 0x00009900, 0xf6c0db05, 0x00007893, 0x60c00000, 0x00000f8b,
+ 0x86d81b03, 0x00006100, 0x08000c0e, 0x0000e080, 0xc1683e0e, 0x0000012c,
+ 0x03830400, 0x00001281, 0x0001040e, 0x00009583, 0x08003a1a, 0x0000e90e,
+ 0x00001f66, 0x00007009, 0x0002040e, 0x00009583, 0x08001a1a, 0x0000e10e,
+ 0x08002c05, 0x00003088, 0xc1602c05, 0x00001908, 0x0d003c05, 0x00006806,
+ 0x83a02c05, 0x00009900, 0x0d001c05, 0x0000e806, 0xc6a02c05, 0x00001900,
+ 0xf6c0db05, 0x00007893, 0x00c00001, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x7cc132ec, 0x00007902, 0x09400000, 0x00008000, 0x7cc124ec, 0x0000f902,
+ 0x08800000, 0x00000000, 0x7cc10eec, 0x00007902, 0x08000000, 0x00008000,
+ 0xffffffff, 0x00007f86, 0xe2000d1b, 0x00007897, 0x00c00001, 0x00008000,
+ 0xe2c00f1b, 0x0000f897, 0x00c00001, 0x00008000, 0xe380151b, 0x00007897,
+ 0x00c00001, 0x00008000, 0xe440171b, 0x00007897, 0x00c00001, 0x00008000,
+ 0xe500251b, 0x0000f897, 0x00c00001, 0x00008000, 0xe5c0271b, 0x00007897,
+ 0x00c00001, 0x00008000, 0xe680451b, 0x00007897, 0x00c00001, 0x00008000,
+ 0xe740471b, 0x00007897, 0x00c00001, 0x00008000, 0xf400851b, 0x0000c497,
+ 0x4820871b, 0x00008797, 0x0441051b, 0x00004596, 0x0281071b, 0x0000828b,
+ 0x00001f76, 0x00007400, 0x80172a26, 0x00009502, 0x89800a26, 0x00001090,
+ 0x00001f78, 0x0000f400, 0x80172a22, 0x00001502, 0x88800a22, 0x00001090,
+ 0x00001f7a, 0x00007400, 0xc0172b26, 0x00009502, 0xc9800b26, 0x00001090,
+ 0x00001f7c, 0x00007400, 0xc0172b22, 0x00001502, 0xc8800b22, 0x00001090,
+ 0x00001f7e, 0x0000f400, 0x80172a25, 0x00009502, 0x89400a25, 0x00001090,
+ 0x00001f80, 0x00007400, 0x80172a21, 0x00001502, 0x88400a21, 0x00001090,
+ 0x00001f82, 0x0000f400, 0xc0172b25, 0x00009502, 0xc9400b25, 0x00001090,
+ 0x00001f84, 0x0000f400, 0xc0172b21, 0x00001502, 0xc8400b21, 0x00001090,
+ 0x80172a24, 0x00001502, 0xc140871b, 0x00006283, 0x89000a24, 0x00008090,
+ 0x00001fa6, 0x0000f00b, 0x80172a20, 0x00009502, 0x88000a20, 0x00001090,
+ 0x4701051b, 0x00001283, 0x00001faa, 0x0000f00b, 0xc0172b24, 0x00001502,
+ 0xc9000b24, 0x00001090, 0xc141071b, 0x00009283, 0x00001fae, 0x0000700b,
+ 0xc0172b20, 0x00009502, 0xc8000b20, 0x00001090, 0xc0172b1a, 0x00009502,
+ 0x7cf932ec, 0x0000d000, 0x00392800, 0x00000000, 0x7cf924ec, 0x00005000,
+ 0x00391000, 0x00008000, 0x00000000, 0x00007288, 0x7cf90eec, 0x0000d000,
+ 0x00390000, 0x00000000, 0xf7c0251b, 0x0000c497, 0x7c20271b, 0x00000797,
+ 0xfb20131a, 0x00004389, 0x0020131a, 0x00000098, 0x0260031a, 0x0000c791,
+ 0x0180231a, 0x0000818e, 0xf540231a, 0x000078ab, 0x80c00000, 0x00008f8e,
+ 0x03000000, 0x00006180, 0x01400360, 0x00004980, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x0020d80c, 0x00006086, 0x08001a08, 0x00003106,
+ 0x02927000, 0x00007900, 0x0028e40e, 0x00000980, 0x02e0f800, 0x00007900,
+ 0x003ab282, 0x00008980, 0x01a0d51a, 0x00008018, 0x82200500, 0x00008022,
+ 0x00001fe7, 0x0000f400, 0x02607702, 0x00000014, 0x0340970c, 0x0000809d,
+ 0xc0000b1a, 0x00009582, 0x00000000, 0x0000f093, 0x1fd511e5, 0x0000f100,
+ 0xc0003b1a, 0x00009582, 0x00000000, 0x0000f093, 0x00001fd7, 0x00007000,
+ 0x1fd401b5, 0x0000f100, 0x00000000, 0x00007080, 0x1fd63990, 0x00007100,
+ 0x1fd7261d, 0x00007100, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x1fdb4a85, 0x00007204, 0x0160dc1b, 0x00009900, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x02890000, 0x0000f900, 0x0025c836, 0x00008980,
+ 0x02ded000, 0x0000f900, 0x0016e9b4, 0x00008980, 0x01800000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x01400000, 0x000080f4, 0x82200500, 0x00008022,
+ 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x1fe81ff4, 0x0000f100,
+ 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x780000ec, 0x00005680,
+ 0x02090000, 0x00000080, 0x780008ec, 0x0000d680, 0x00000000, 0x00008080,
+ 0x81400cec, 0x00005684, 0x00000000, 0x00008080, 0x81400aec, 0x00005684,
+ 0x00000000, 0x00008080, 0x403840ec, 0x0000d700, 0x00000000, 0x00008080,
+ 0x1ff884ec, 0x0000a080, 0xffffffff, 0x00007fa7, 0x81001210, 0x00001880,
+ 0x81001204, 0x00009080, 0x1ff83c04, 0x0000d000, 0x00385800, 0x00000000,
+ 0x1ff85604, 0x0000d000, 0x00384800, 0x00008000, 0x20384004, 0x00005000,
+ 0x00383000, 0x00008000, 0x20382a04, 0x00005000, 0x00386800, 0x00000000,
+ 0x02103a07, 0x00006100, 0x01000810, 0x0000c080, 0x0001f804, 0x00001582,
+ 0x04000000, 0x0000e198, 0x04000810, 0x0000c0b0, 0x20081fe8, 0x00007500,
+ 0xffffffff, 0x00007f86, 0x1ff884ec, 0x00002880, 0x1fc544ec, 0x00007902,
+ 0x29c00000, 0x00008000, 0xffffffff, 0x00007fa7, 0xaa4012a8, 0x00009880,
+ 0xaa4012a9, 0x00009080, 0x1ffd24a9, 0x00005000, 0x003f3800, 0x00008000,
+ 0x1ffd7ea9, 0x00005000, 0x003d7000, 0x00000000, 0x203d68a9, 0x0000d000,
+ 0x003d6000, 0x00008000, 0x203d5aa9, 0x00005000, 0x003d5000, 0x00008000,
+ 0x2a4008a8, 0x00001080, 0x0001f8a9, 0x00009582, 0x2a0008a8, 0x000060b0,
+ 0x2a000000, 0x00000998, 0x800016a4, 0x00009583, 0x1ffd44ec, 0x00002880,
+ 0x00000001, 0x0000f091, 0x000000a7, 0x00001582, 0x021522a4, 0x00009910,
+ 0x00000001, 0x0000f089, 0x20201fe8, 0x0000f100, 0x00000001, 0x0000f080,
+ 0x7f3d42ec, 0x0000b838, 0x7f3d54ec, 0x00003838, 0x20262008, 0x0000f500,
+ 0x7f3d66ec, 0x0000b838, 0x7f7d70ec, 0x0000b838, 0x7f3d42ec, 0x00003038,
+ 0x7f3d54ec, 0x0000b038, 0x00000001, 0x00007480, 0x7f3d66ec, 0x00003038,
+ 0x7f7d70ec, 0x00003038, 0x1ffd46ec, 0x00002080, 0x292557e4, 0x00009800,
+ 0xffffffff, 0x00007f97, 0x290540a4, 0x00001202, 0x29000000, 0x0000f910,
+ 0x000100c0, 0x00000980, 0xa9001800, 0x0000e190, 0x2bc538a7, 0x00004910,
+ 0x00000001, 0x00007088, 0x39c530a6, 0x0000e100, 0x08001aad, 0x00006106,
+ 0xab600500, 0x00008a36, 0x00002021, 0x0000f400, 0x2bbd5702, 0x00000a30,
+ 0x2abd2fa9, 0x00008a2c, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x0d001f06, 0x00006006, 0x08001a08, 0x00003106, 0x029e2000, 0x00007900,
+ 0x00395f38, 0x00000980, 0x02ef4000, 0x00007900, 0x003fbfce, 0x00008980,
+ 0x019004e4, 0x00000018, 0x01681402, 0x00008014, 0x03400000, 0x0000e180,
+ 0xc2300600, 0x0000c901, 0x20491ff4, 0x0000f500, 0x82381400, 0x00008024,
+ 0x81c00800, 0x00009980, 0x7d3912ec, 0x0000b838, 0x7d3924ec, 0x0000b838,
+ 0x7d3936ec, 0x0000b838, 0x7d7940ec, 0x0000b838, 0x000004e3, 0x00001583,
+ 0x4001fde3, 0x00001583, 0x400005e3, 0x00001583, 0x0000206b, 0x00007008,
+ 0x00002061, 0x0000f030, 0x00002075, 0x0000f048, 0x820122ec, 0x00007902,
+ 0x08c00000, 0x00000604, 0x494105e3, 0x00006283, 0x0880fde3, 0x00008281,
+ 0x08a117e4, 0x00001800, 0x00002067, 0x0000f009, 0x08811822, 0x0000e202,
+ 0x01400000, 0x00000981, 0x01400800, 0x00009991, 0x7d3912ec, 0x00003038,
+ 0x7d3924ec, 0x00003038, 0x00000001, 0x00007480, 0x7d3936ec, 0x00003038,
+ 0x7d7940ec, 0x00003038, 0x494105e3, 0x00006283, 0x0880fde3, 0x00008281,
+ 0x820120ec, 0x0000f902, 0x08c00000, 0x00000604, 0x08a117e4, 0x00001800,
+ 0x00002059, 0x0000f010, 0x01400000, 0x00009981, 0x0000205c, 0x0000f400,
+ 0x08812022, 0x00009202, 0x01400800, 0x00009991, 0x823916ec, 0x0000a684,
+ 0x08f71fe4, 0x0000e000, 0x01400000, 0x0000c981, 0x7d3924ec, 0x00003038,
+ 0x7d3936ec, 0x00003038, 0x08811023, 0x00001202, 0x7d7940ec, 0x00003038,
+ 0x00000001, 0x00007480, 0x7d3912ec, 0x00003038, 0x01400800, 0x00009991,
+ 0x00002055, 0x0000f200, 0x820124ec, 0x00007902, 0x08c00000, 0x00000604,
+ 0x00001c09, 0x00006583, 0x82371ee3, 0x00000900, 0x79f84408, 0x00002018,
+ 0x02401c09, 0x00009281, 0x02401c09, 0x00009881, 0xffffffff, 0x00007f86,
+ 0x79f84408, 0x0000a0b0, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483,
+ 0x02604808, 0x00001700, 0x02204c09, 0x00009901, 0x0147f800, 0x0000f900,
+ 0x00001088, 0x00000980, 0x1d0a1804, 0x0000e180, 0x75ff1805, 0x0000e101,
+ 0x760010ec, 0x00005680, 0x00000000, 0x00008080, 0x004cf074, 0x00006d87,
+ 0x763ba0ec, 0x0000d600, 0x00382800, 0x00008000, 0x1d000000, 0x00001980,
+ 0x00000001, 0x00007480, 0x0023b074, 0x00006886, 0x763ba0ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x0000003b, 0x00001582, 0x7d21c0ec, 0x00002090,
+ 0x29000000, 0x0000f910, 0x00010080, 0x00008980, 0x00000001, 0x00007088,
+ 0x39c0e000, 0x00007900, 0x00188ac0, 0x00000980, 0x80172a38, 0x00006502,
+ 0x08001aad, 0x0000a106, 0x8e000a38, 0x0000e090, 0xa900a000, 0x00008980,
+ 0x7d21c0ec, 0x0000a890, 0x2be80740, 0x00000a36, 0xab781400, 0x00000a38,
+ 0x00002021, 0x0000f400, 0x2b39ef3f, 0x00000a2c, 0x2abf1fe3, 0x00009900,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x01400000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x02a45800, 0x00007900, 0x0026484c, 0x00008980,
+ 0x02fa4000, 0x0000f900, 0x003bdaae, 0x00000980, 0x01801002, 0x0000e100,
+ 0x0d001e05, 0x0000e006, 0x03400000, 0x0000e180, 0xc2300600, 0x0000c901,
+ 0x82381400, 0x00008024, 0x20b31ff4, 0x0000f500, 0x81c03000, 0x00006180,
+ 0x01700600, 0x00004901, 0x41680500, 0x00009901, 0x96371ee3, 0x00009900,
+ 0x6b02d058, 0x00007902, 0x16000000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x0000045a, 0x00009583, 0x16b2dfe4, 0x00009810, 0x00000001, 0x0000f089,
+ 0x1602c05a, 0x00009202, 0x29000000, 0x0000f908, 0x000100c0, 0x00000980,
+ 0xa912da5b, 0x00006108, 0x2bc2e05c, 0x00004908, 0x00000001, 0x00007090,
+ 0x39eb5800, 0x00007900, 0x0003cd08, 0x00008980, 0xeb700600, 0x0000e101,
+ 0x08001aad, 0x00006106, 0xab781400, 0x00000a38, 0x2b0af85f, 0x00008a30,
+ 0x2b1afa5f, 0x00008a30, 0x2acaf05e, 0x00008a2c, 0x2adaf25e, 0x00008a2c,
+ 0x20cc2021, 0x0000f500, 0x2a8ae85d, 0x00008a28, 0x2a92eb5d, 0x00008a28,
+ 0x00000001, 0x0000f080, 0x40002512, 0x0000e583, 0x05400800, 0x00008980,
+ 0x05000000, 0x00006180, 0x45771ee3, 0x00004901, 0x02006000, 0x0000e189,
+ 0x30ff1015, 0x0000e002, 0x000020eb, 0x00007208, 0x85181302, 0x00001900,
+ 0x40002512, 0x00001583, 0x000020e1, 0x0000701b, 0x40001512, 0x00001583,
+ 0x02005000, 0x00009989, 0x000020eb, 0x00007009, 0x40001512, 0x00001583,
+ 0x0200e000, 0x00009999, 0x000020eb, 0x0000f019, 0x40000d12, 0x00001583,
+ 0x02004800, 0x00009989, 0x000020eb, 0x00007009, 0x000020ea, 0x0000f000,
+ 0x40003512, 0x00009583, 0x02008000, 0x00001989, 0x000020eb, 0x00007009,
+ 0x40003512, 0x00009583, 0x02004000, 0x000099a9, 0x000020eb, 0x0000f029,
+ 0x40003d12, 0x00001583, 0x02024000, 0x00009989, 0x000020eb, 0x00007009,
+ 0x02000000, 0x00001981, 0x00000412, 0x00006583, 0x86205015, 0x00002087,
+ 0x02800000, 0x00006180, 0x86204014, 0x0000e087, 0x02800800, 0x0000e189,
+ 0x82371ee3, 0x0000c900, 0x00000c11, 0x0000e583, 0x827f1fe3, 0x00008900,
+ 0x6b005008, 0x0000a880, 0x02000000, 0x000080e8, 0x00186008, 0x0000618e,
+ 0x0000200a, 0x0000348e, 0xc000070d, 0x0000e583, 0x04106008, 0x0000218f,
+ 0x6c38a809, 0x00005000, 0x0038a000, 0x00008000, 0x82771ee3, 0x00001900,
+ 0x7af85409, 0x0000d000, 0x00384000, 0x00000000, 0x02788f11, 0x0000e111,
+ 0x02400000, 0x00004989, 0xc000070d, 0x0000e583, 0x82371ee3, 0x00000900,
+ 0x79c04c08, 0x00002880, 0x0260740e, 0x0000e111, 0x02400800, 0x0000c989,
+ 0xc000070d, 0x0000e583, 0x82371ee3, 0x00000900, 0x79d84c08, 0x0000a882,
+ 0x0268750e, 0x0000e111, 0x02401000, 0x0000c989, 0xc000070d, 0x0000e583,
+ 0x82371ee3, 0x00000900, 0x79f04c08, 0x0000a881, 0x0270760e, 0x0000e111,
+ 0x02401800, 0x00004989, 0xc000070d, 0x0000e583, 0x82371ee3, 0x00000900,
+ 0x79d84c08, 0x0000a881, 0x0278770e, 0x0000e111, 0x02402000, 0x0000c989,
+ 0xc000070d, 0x0000e583, 0x82371ee3, 0x00000900, 0x79c04c08, 0x0000a800,
+ 0x02606c0d, 0x0000e111, 0x02402800, 0x00004989, 0xc000070d, 0x0000e583,
+ 0x82371ee3, 0x00000900, 0x79d84c08, 0x00002802, 0x02686d0d, 0x0000e111,
+ 0x02403000, 0x00004989, 0xc000070d, 0x0000e583, 0x82371ee3, 0x00000900,
+ 0x79f04c08, 0x00002801, 0x02706e0d, 0x0000e111, 0x02403800, 0x0000c989,
+ 0x02b07e0f, 0x00006101, 0x82371ee3, 0x0000c900, 0x0000212b, 0x00007400,
+ 0x79d84c08, 0x00002801, 0x02787e0f, 0x00001000, 0x02800c0a, 0x00006081,
+ 0x8200840a, 0x00008080, 0x6c0f1808, 0x0000a881, 0x0220540a, 0x00001900,
+ 0x00004808, 0x00009502, 0x827f17e2, 0x00009940, 0x79005409, 0x0000f942,
+ 0x02000000, 0x00008000, 0x00002128, 0x0000f048, 0x793868ec, 0x00002080,
+ 0x827f17e2, 0x00001900, 0x0000040a, 0x00009583, 0x8220880a, 0x0000688e,
+ 0x4000050d, 0x0000e583, 0x0430880a, 0x0000a08f, 0x79384409, 0x00002800,
+ 0x02800c0a, 0x00006081, 0x03709e13, 0x00008909, 0x00002144, 0x0000f210,
+ 0x79385409, 0x00002880, 0x2c007ee3, 0x00001680, 0x820588b0, 0x00001000,
+ 0x1fd89cec, 0x00002803, 0x1ff896ec, 0x0000a882, 0x7c38cc08, 0x0000d000,
+ 0x00271800, 0x00008001, 0x7c38d208, 0x0000a800, 0x83688d11, 0x00001901,
+ 0x00000001, 0x00007480, 0x43400d0d, 0x00009081, 0x793868ec, 0x0000a880,
+ 0x42000000, 0x00001980, 0xffffffff, 0x00007f86, 0x0000240a, 0x0000e583,
+ 0x8300840b, 0x00008080, 0x6c38680c, 0x00002080, 0x02806000, 0x00006189,
+ 0x82185b0b, 0x0000c900, 0xffffffff, 0x00007f97, 0x0000080d, 0x00006c82,
+ 0x83400000, 0x00009981, 0x0000216a, 0x0000f408, 0x30ff100d, 0x00006802,
+ 0x5168580d, 0x0000e800, 0x0000240a, 0x00001583, 0x00002160, 0x0000f01b,
+ 0x0000140a, 0x00001583, 0x02805000, 0x00001989, 0x0000216a, 0x0000f009,
+ 0x0000140a, 0x00001583, 0x0280e000, 0x00001999, 0x0000216a, 0x00007019,
+ 0x00000c0a, 0x00001583, 0x02804800, 0x00001989, 0x0000216a, 0x0000f009,
+ 0x00002169, 0x0000f000, 0x0000340a, 0x00009583, 0x02808000, 0x00009989,
+ 0x0000216a, 0x0000f009, 0x0000340a, 0x00009583, 0x02804000, 0x000019a9,
+ 0x0000216a, 0x00007029, 0x00003c0a, 0x00001583, 0x02824000, 0x00001989,
+ 0x0000216a, 0x0000f009, 0x02800000, 0x00009981, 0x8620480d, 0x0000e087,
+ 0x86205008, 0x0000b087, 0x6c38680c, 0x00005000, 0x00384000, 0x00000000,
+ 0x83371ee3, 0x00001900, 0x6c38400c, 0x0000a000, 0xffffffff, 0x00007f86,
+ 0x00000001, 0x00007483, 0x82000e08, 0x00009081, 0x6c38400c, 0x00002800,
+ 0x6c38b00d, 0x0000a080, 0x80007a0d, 0x00001582, 0xffffffff, 0x00007f97,
+ 0x8568b516, 0x0000e118, 0x0f40b40d, 0x0000e032, 0x6c20a815, 0x0000a019,
+ 0xffffffff, 0x00007f86, 0x00000001, 0x0000749b, 0x8568b516, 0x0000e118,
+ 0x02000c15, 0x00004199, 0x6c304015, 0x0000a819, 0x7900a8ec, 0x00002081,
+ 0xffffffff, 0x00007fa7, 0x05400c15, 0x00001181, 0x7918a8ec, 0x0000a882,
+ 0x85606c0d, 0x00009900, 0x7900ac15, 0x00002080, 0xffffffff, 0x00007f86,
+ 0x00000001, 0x00007483, 0x85606c0d, 0x0000e100, 0x02000c15, 0x00004181,
+ 0x79004415, 0x0000a880, 0x82000ee3, 0x00006283, 0x82000ee3, 0x00000780,
+ 0x7ff84e08, 0x00002088, 0x7ff84e08, 0x0000a010, 0xffffffff, 0x00007fa7,
+ 0x02400809, 0x0000e090, 0x02400809, 0x00008088, 0x00000001, 0x0000f481,
+ 0x7ff84e08, 0x0000a888, 0x7ff84e08, 0x00002810, 0x02400002, 0x0000e180,
+ 0x02882004, 0x0000c980, 0xc2680500, 0x0000e100, 0x82002d00, 0x0000c880,
+ 0x760010ec, 0x00005680, 0x00384800, 0x00008000, 0xc2980208, 0x00001080,
+ 0x763850ec, 0x0000d600, 0x000ff800, 0x00000080, 0x760000ec, 0x0000d680,
+ 0x00000000, 0x00008080, 0x00c002ec, 0x0000df80, 0x120d080b, 0x00001684,
0xb9184308, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0xc0000373, 0x0000e582, 0x09400ee3, 0x00000281, 0x1c402425, 0x00009881,
- 0x09638ae5, 0x00001800, 0x1b8128e5, 0x00006400, 0x0bc71825, 0x00002084,
- 0x89400a73, 0x00006080, 0x38433425, 0x00000081, 0x5bfb3225, 0x0000303c,
- 0x5bfb4425, 0x0000b03c, 0x5bfb5625, 0x0000b03c, 0x5c3b6025, 0x0000303c,
- 0xffffffff, 0x00007fa7, 0x1c800200, 0x0000f904, 0x09638872, 0x00001700,
- 0x89400a25, 0x00006188, 0x89400a25, 0x00008090, 0xffffffff, 0x00007f86,
- 0x0943906e, 0x0000e200, 0x1c638a25, 0x00000800, 0x89400a73, 0x00006080,
- 0x1b812871, 0x00000300, 0x00037400, 0x00007904, 0x5bfb3225, 0x0000b83c,
- 0x5bfb4425, 0x0000383c, 0x00000001, 0x00007480, 0x5bfb5625, 0x0000383c,
- 0x5c3b6025, 0x0000b83c, 0x0947f867, 0x00006280, 0x09c00002, 0x00000980,
- 0x09400825, 0x00006080, 0x09800000, 0x0000c980, 0x094fd025, 0x00007900,
- 0x000001f0, 0x00000080, 0xc9e80500, 0x0000e100, 0x00012825, 0x00006286,
- 0x00181026, 0x00006186, 0x863f1025, 0x0000b087, 0x780410ec, 0x00005680,
- 0x00393800, 0x00008000, 0x83d722e4, 0x00006100, 0x00000022, 0x00006587,
- 0x783930ec, 0x0000d600, 0x00392800, 0x00000000, 0x783918ec, 0x0000d600,
- 0x00391000, 0x00008000, 0x00d002ec, 0x00005f80, 0x1154c009, 0x00001384,
- 0x21600800, 0x0000e180, 0x21b71ee3, 0x00004900, 0x169f1be2, 0x00007500,
- 0x2220f000, 0x00007900, 0x000ed2c6, 0x00000980, 0xe17f17e2, 0x00006100,
- 0x21101202, 0x0000c900, 0xb9107a0f, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x00400000, 0x00007900, 0x00040010, 0x00008980,
- 0xc0000322, 0x00006582, 0x82391801, 0x0000a080, 0x80611422, 0x00006101,
- 0x60001028, 0x00006412, 0x86291801, 0x00006001, 0x4000102a, 0x0000b413,
- 0x80000623, 0x0000e583, 0xc0c00000, 0x00008980, 0x80c03800, 0x00006191,
- 0x96711801, 0x00006001, 0x00000001, 0x00007480, 0x40000523, 0x0000e583,
- 0x00001000, 0x00008981, 0xc0211c23, 0x00006101, 0x00003801, 0x00006416,
- 0x16b51846, 0x00007300, 0x21002f02, 0x00000894, 0x0ac00000, 0x0000f900,
- 0x00200000, 0x00000980, 0x0b000800, 0x0000f900, 0x000a0000, 0x00008980,
- 0x200f26ec, 0x00005680, 0x003c0509, 0x0000bf10, 0x08c84000, 0x00007900,
- 0x00008000, 0x00000980, 0x0a000000, 0x000082e4, 0x0a800020, 0x00006180,
- 0x0b400004, 0x0000c980, 0x16c416a2, 0x0000f500, 0x0b800000, 0x000082fc,
- 0x0887f800, 0x00006180, 0x8c240000, 0x0000c980, 0x81371ee3, 0x00009900,
- 0x85b82c04, 0x0000a080, 0x01000002, 0x00001980, 0xffffffff, 0x00007f97,
- 0xc1202c05, 0x00001900, 0x770000ec, 0x00005680, 0x00382000, 0x00000000,
- 0x008806ec, 0x00005f80, 0x00985a80, 0x000083c4, 0x04c00000, 0x0000e180,
- 0x00009010, 0x00006484, 0x00001813, 0x00006106, 0x0c04041c, 0x0000b006,
- 0x04400000, 0x0000f900, 0x00018008, 0x00000980, 0x00000001, 0x00007480,
- 0x04801002, 0x0000e100, 0xc0001813, 0x0000e006, 0xc4231800, 0x00001980,
- 0x9a400ee3, 0x00006080, 0x04000000, 0x0000c980, 0x86b8a469, 0x0000b038,
- 0x86b8b669, 0x0000b038, 0x06000000, 0x000081e4, 0x06800000, 0x000081ec,
- 0x07000000, 0x000081f4, 0x07800000, 0x000081fc, 0x0a000000, 0x000082e4,
- 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc,
- 0x00002415, 0x00006583, 0x0c000000, 0x00000981, 0x00002c15, 0x00001583,
- 0x00001c15, 0x00001583, 0x000017e0, 0x0000f008, 0x00001800, 0x00007008,
- 0x00001808, 0x0000f010, 0x28c09800, 0x00007900, 0x00001c00, 0x00000980,
- 0x81000003, 0x000004d0, 0x11400000, 0x000004d8, 0x11c00000, 0x000004e0,
- 0x12400000, 0x000004e8, 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8,
- 0x13c00000, 0x000085c0, 0x14400000, 0x000005c8, 0x14c00000, 0x000085d0,
- 0x15400000, 0x000005d8, 0x15c00000, 0x000005e0, 0x16400000, 0x000005e8,
- 0x16c00000, 0x000085f0, 0x17400000, 0x000005f8, 0x16fe20af, 0x00007404,
- 0x17c00000, 0x00006180, 0x2940b016, 0x0000c900, 0x2900b817, 0x00001900,
- 0x000004a2, 0x00001583, 0x893f1fe3, 0x00009908, 0x8a034c24, 0x0000a088,
- 0x00001707, 0x0000f010, 0xffffffff, 0x00007f97, 0x09003c69, 0x00001281,
- 0x1a401424, 0x00001181, 0x00000c69, 0x00001583, 0x0000170c, 0x0000f01b,
- 0x26908000, 0x0000f900, 0x000ed2c0, 0x00000980, 0x170c1c61, 0x0000f500,
- 0x2678bf16, 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x300074af, 0x00007902,
- 0x03400000, 0x00008000, 0x300066af, 0x00007902, 0x02c00000, 0x00008000,
- 0x304050af, 0x0000f902, 0x02400000, 0x00000000, 0x304042af, 0x0000f902,
- 0x01c00000, 0x00008000, 0x304034af, 0x00007902, 0x01400000, 0x00000000,
- 0x30432eaf, 0x0000f902, 0x19000000, 0x00008000, 0x308318af, 0x0000f902,
- 0x18800000, 0x00008000, 0x30830aaf, 0x0000f902, 0x18000000, 0x00000000,
- 0x30810caf, 0x00007902, 0x08000000, 0x00008000, 0x308346af, 0x00007902,
- 0x19c00000, 0x00008000, 0x30f898af, 0x0000a000, 0x30f892af, 0x0000a000,
- 0x172918c3, 0x00007500, 0x30c08caf, 0x0000f902, 0x03c00000, 0x00000000,
- 0x19800f80, 0x000006a4, 0x2c2007e2, 0x00007900, 0x00000004, 0x00000680,
- 0x090588b0, 0x00001000, 0x1a420024, 0x00006080, 0x82234225, 0x00002086,
- 0x08803069, 0x0000e784, 0x002b4225, 0x0000a086, 0x99934568, 0x00008619,
- 0x99833b67, 0x00000619, 0x48c00315, 0x000001b2, 0x00001770, 0x0000f400,
- 0x04408000, 0x00006181, 0x88d12a25, 0x0000c900, 0x09e11422, 0x00000624,
- 0x5bc38227, 0x0000f902, 0x1bc00000, 0x00008004, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x00033070, 0x00007810, 0x00000000, 0x00000000,
- 0xd0512a6f, 0x00007813, 0x00800001, 0x00000060, 0x05e0036f, 0x0000c591,
- 0x02e08411, 0x00008196, 0xc000036f, 0x00006582, 0x88e0e41c, 0x00008901,
- 0x01000020, 0x00009988, 0x81011000, 0x00009988, 0x00001749, 0x0000f010,
- 0x00001765, 0x00007200, 0x036f8000, 0x00007900, 0x000ed2c0, 0x00000980,
- 0xdbc00b6f, 0x00006080, 0x08800020, 0x00000980, 0x174e1668, 0x0000f500,
- 0x00113822, 0x00006986, 0x1cc11022, 0x00001900, 0x5bfb7a27, 0x00002804,
- 0x9100e31c, 0x0000812c, 0x89371ee3, 0x00006100, 0x89bf17e2, 0x0000c900,
- 0x6fe34c24, 0x0000a084, 0x0887e820, 0x00006180, 0x89371ee3, 0x00004900,
- 0x08c87800, 0x0000f900, 0x00008040, 0x00008980, 0x178b16a2, 0x0000f500,
- 0x6fd08c24, 0x00007902, 0x03e80300, 0x00000005, 0x6fe12424, 0x0000a005,
- 0x00000070, 0x0000e582, 0x88e0e41c, 0x00008901, 0x8000026f, 0x00009582,
- 0xffffffff, 0x00007f86, 0x00001761, 0x0000f010, 0x0000176d, 0x0000f008,
- 0x01000020, 0x00001980, 0x0371b800, 0x0000f900, 0x000ed2c0, 0x00000980,
- 0x81011000, 0x00001980, 0x03877000, 0x00007900, 0x0006a55e, 0x00000980,
- 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x02f8a702, 0x00008020, 0x01fb3723, 0x00000018, 0x176d1bac, 0x0000f100,
- 0x0461381c, 0x00000624, 0x07000c1c, 0x00006081, 0x89c02a27, 0x00008080,
- 0x00007c1c, 0x00001583, 0x00001737, 0x00007033, 0x00008411, 0x00001583,
- 0x08c33066, 0x0000e110, 0xa000101c, 0x0000e40a, 0x09000020, 0x00006190,
- 0x08800020, 0x00004990, 0x00001750, 0x00007008, 0x177c1668, 0x00007500,
- 0x88912a25, 0x00006100, 0x00134824, 0x0000e186, 0x1cc12024, 0x00001900,
- 0x2c2007e2, 0x00007900, 0x00000004, 0x00000680, 0x090588b0, 0x00001000,
- 0x1a420024, 0x00006080, 0x06e08c11, 0x00008901, 0x09003069, 0x0000e784,
- 0x51208c11, 0x00000901, 0x9a401411, 0x00006080, 0x89d12224, 0x00004900,
- 0x19e08c11, 0x00006100, 0x89134c11, 0x00004000, 0x17501684, 0x00007404,
- 0x89d13a24, 0x00001000, 0x5bf91a27, 0x0000d004, 0x00391000, 0x00008000,
- 0x4100651c, 0x00001283, 0x1200700e, 0x00006108, 0x1240680d, 0x0000c908,
- 0x1280600c, 0x0000e108, 0x12c0580b, 0x00004908, 0x000017ca, 0x00007010,
- 0x97482026, 0x0000a080, 0x89824269, 0x0000e180, 0x00000045, 0x0000a403,
- 0x2002a82e, 0x0000e486, 0x30000845, 0x0000b403, 0x13384f0a, 0x00008434,
- 0x14bb2765, 0x0000050c, 0x16390721, 0x00000524, 0x80000a11, 0x0000e582,
- 0x89909a26, 0x00000c00, 0x16c00000, 0x00007900, 0x00001200, 0x00008980,
- 0xc000082d, 0x0000e402, 0x0000102e, 0x00003403, 0x06800000, 0x00007900,
- 0x00058000, 0x00000980, 0x13c00f07, 0x000005b8, 0x06600000, 0x000084d7,
- 0x1300600c, 0x0000e108, 0x1340580b, 0x00004908, 0x16030861, 0x0000e108,
- 0x16430060, 0x00004908, 0x14803006, 0x0000e108, 0x14c02805, 0x00004908,
- 0x40000d04, 0x00006583, 0x01e07fe4, 0x00000800, 0x70000830, 0x00006500,
- 0x00001028, 0x0000b402, 0x0000102a, 0x0000e403, 0xa000282c, 0x0000b407,
- 0x96ffc226, 0x0000f900, 0x0000003e, 0x00008280, 0xd000082d, 0x00006401,
- 0xe000182e, 0x00003403, 0x09407e1a, 0x00006000, 0x15807845, 0x00003001,
- 0x867fc226, 0x0000f900, 0x0000003e, 0x00008280, 0x17000820, 0x00006180,
- 0x13804008, 0x0000c900, 0x14382f06, 0x00008504, 0x153b1763, 0x00000514,
- 0x15bb0761, 0x0000051c, 0x11c00411, 0x00000493, 0x96a34913, 0x00000528,
- 0x5180b000, 0x00006181, 0xd1b88f11, 0x0000c901, 0x9743400c, 0x0000e180,
- 0x57c2a000, 0x0000c981, 0x0d800000, 0x000083dc, 0x10000000, 0x0000e180,
- 0xcd109212, 0x00004900, 0x06089c69, 0x00000122, 0x86f1230f, 0x0000012d,
- 0x51202004, 0x00000126, 0x46800800, 0x0000e189, 0xd7903a07, 0x00004900,
- 0x1a602404, 0x00006101, 0x89371ee3, 0x00004900, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0x85b82424, 0x00002000, 0x18c0a014, 0x0000e100,
- 0x0020a807, 0x00006086, 0x8228a807, 0x00006886, 0x00102806, 0x0000e186,
- 0x0418a807, 0x00003187, 0x85b82c24, 0x00002080, 0x80000604, 0x0000e583,
- 0x18803807, 0x00008900, 0x04102006, 0x0000e18f, 0x00002004, 0x0000b586,
- 0x0428a804, 0x00006887, 0x8620a804, 0x00006087, 0x04182806, 0x0000b197,
- 0x18151c83, 0x00007500, 0x2806d800, 0x0000f900, 0x0032a52e, 0x00000980,
- 0x18782706, 0x00000600, 0x2c2007e2, 0x00007900, 0x00000004, 0x00000680,
- 0x1a4588b0, 0x00001000, 0x09020069, 0x00006080, 0x01400000, 0x00008980,
- 0x9a401544, 0x0000e080, 0x01803024, 0x00004784, 0x01002000, 0x0000e181,
- 0x89934d44, 0x00004000, 0x81503226, 0x00006000, 0x89103226, 0x00000000,
- 0x5bc11a24, 0x0000f902, 0x08800000, 0x00008004, 0x1cc02805, 0x00001900,
- 0x17f11668, 0x0000f501, 0xffffffff, 0x00007f86, 0xc8800b22, 0x00001180,
- 0xc0000322, 0x00009582, 0x08c00000, 0x00006188, 0x08800000, 0x0000c988,
- 0x19ea2544, 0x00009908, 0x17f61684, 0x0000700c, 0x5bf91a24, 0x0000d004,
- 0x00391000, 0x00008000, 0x17fc16a2, 0x0000f500, 0x08c84000, 0x00007900,
- 0x00008000, 0x00000980, 0x0887e820, 0x00001980, 0x000017ca, 0x00007400,
- 0x70004830, 0x00006d00, 0x0727f81c, 0x00007900, 0x003ffffe, 0x00008280,
- 0x200f26ec, 0x00005680, 0x003c03c9, 0x0000bf10, 0x17ca16a2, 0x0000f500,
- 0x08c84000, 0x00007900, 0x00008000, 0x00000980, 0x0887d820, 0x00006180,
- 0x01003800, 0x0000c981, 0x000017ca, 0x0000f000, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x03719800, 0x00007900, 0x000ed2be, 0x00000980,
- 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x0200a014, 0x00006100,
- 0x08001a09, 0x0000e106, 0x01800715, 0x0000009c, 0x0000176c, 0x00007400,
- 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x02c01002, 0x00004900,
- 0x18171846, 0x00007300, 0x21034f14, 0x00000817, 0x00002c15, 0x00001583,
- 0x200aa6ec, 0x00005690, 0x003c03c9, 0x0000bf10, 0x0000181b, 0x0000f009,
- 0x181c16cd, 0x0000f100, 0x9a771ee3, 0x00006100, 0x01000002, 0x00004980,
- 0x85b82c69, 0x00002080, 0x00001c15, 0x00001583, 0xffffffff, 0x00007f97,
- 0xc1202c05, 0x00001900, 0x770000ec, 0x00005680, 0x00382000, 0x00000000,
- 0x000800ec, 0x00005780, 0x00985a80, 0x000003c0, 0x001888ec, 0x00005788,
- 0x00005801, 0x00008080, 0x008026ec, 0x00005f80, 0x00006001, 0x00008084,
- 0x182c1846, 0x0000f300, 0x21003702, 0x00000894, 0x200f26ec, 0x00005680,
- 0x003c03c9, 0x0000bf10, 0x0a000002, 0x000002e4, 0x0a800040, 0x00006180,
- 0x0ac00000, 0x00004980, 0x0b000002, 0x000002f4, 0x0b800000, 0x000082fc,
- 0x4c000080, 0x000081c0, 0x05400000, 0x000001d8, 0x05c00000, 0x000001e0,
- 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0, 0x183b16cd, 0x00007500,
- 0x07400000, 0x000001f8, 0x07c00000, 0x00009980, 0x05001002, 0x0000e100,
- 0x8000081c, 0x0000e402, 0x184216a2, 0x0000f500, 0x08c84000, 0x00007900,
- 0x00008000, 0x00000980, 0x0887e020, 0x0000e180, 0x85482000, 0x00004980,
- 0x000800ec, 0x00005780, 0x00985a80, 0x000003c0, 0x008026ec, 0x00005f80,
- 0x00006001, 0x00008084, 0x5b3c98ec, 0x00002084, 0xa1b71ee3, 0x00009900,
- 0xffffffff, 0x00007f97, 0x80149a86, 0x00001502, 0x801c9a86, 0x00009502,
- 0xffffffff, 0x00007f86, 0x00001856, 0x00007008, 0x00001854, 0x0000f008,
- 0x80172a93, 0x00001502, 0xa4f71ee3, 0x00009908, 0x00001856, 0x0000f009,
- 0xc0172b93, 0x00001502, 0xe4f71ee3, 0x00001908, 0x00001856, 0x0000f011,
- 0x00001857, 0x0000f200, 0xa5800800, 0x00001980, 0xa5800000, 0x00009980,
- 0xffffffff, 0x00007f86, 0x2c003296, 0x00001680, 0xa18588b0, 0x00001000,
- 0xa1800a86, 0x00009080, 0x5b048086, 0x00007902, 0x23c00000, 0x00000004,
- 0x5b047286, 0x0000f902, 0x23400000, 0x00008004, 0x5b046486, 0x00007902,
- 0x22c00000, 0x00008004, 0x5b045686, 0x0000f902, 0x22400000, 0x00000004,
- 0x5b444086, 0x0000f902, 0x21c00000, 0x00008004, 0x5b44aa86, 0x00007902,
- 0x25000000, 0x00000004, 0x14003085, 0x0000c389, 0x00203085, 0x00008098,
- 0x13c01085, 0x00004489, 0x02201085, 0x00000699, 0x00c00085, 0x0000c790,
- 0x02c05085, 0x00008488, 0x11805085, 0x000044b1, 0x62206085, 0x00000689,
- 0x2b806085, 0x000078aa, 0x90c00000, 0x00000c84, 0x00000885, 0x00009582,
- 0xe4000b90, 0x00001088, 0x000018b4, 0x0000f009, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x036e9000, 0x00007900, 0x00328e8c, 0x00008980,
- 0x038a7000, 0x0000f900, 0x00153394, 0x00008980, 0x02000000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x01800000, 0x000080dc, 0x18b41bac, 0x0000f500,
- 0x82600500, 0x00008026, 0x81001000, 0x0000e180, 0x02c01002, 0x00004900,
- 0x00002085, 0x00009582, 0xe3542284, 0x00006108, 0xa3400a8d, 0x00004088,
- 0x000018b4, 0x0000f009, 0x00002085, 0x00009582, 0xa3800a8e, 0x000060b0,
- 0xe3942284, 0x00000930, 0xe3142284, 0x00006118, 0xa3000a8c, 0x0000c098,
- 0x000018b4, 0x0000f030, 0x000018b4, 0x0000f000, 0x00004085, 0x00009582,
- 0xe2142284, 0x00006108, 0xa2000a88, 0x00004088, 0x000018b4, 0x0000f009,
- 0x28c04085, 0x000078b2, 0x40c00000, 0x00000c85, 0x00006885, 0x00009582,
- 0xe5142284, 0x0000e108, 0xa5000a94, 0x00004088, 0x000018b4, 0x0000f009,
- 0x00001874, 0x0000f000, 0x24000001, 0x000008fc, 0x23800000, 0x000008f4,
- 0x23000000, 0x000088ec, 0x22800000, 0x000008e4, 0x000018b4, 0x00007400,
- 0x22000000, 0x000008dc, 0x25000000, 0x000089d4, 0x000018b4, 0x00007200,
- 0xa3c00a8f, 0x00009080, 0x000018b4, 0x00007200, 0xe2d42284, 0x0000e100,
- 0xa2c00a8b, 0x0000c080, 0x000018b4, 0x00007400, 0x80000296, 0x00006582,
- 0xe3c00b8f, 0x00000080, 0xa4d72ae5, 0x0000e108, 0xe4d72ae5, 0x00004910,
- 0x000018b4, 0x00007200, 0xe2942284, 0x00006100, 0xa2800a8a, 0x0000c080,
- 0x000018b4, 0x00007200, 0xe2542284, 0x00006100, 0xa2400a89, 0x0000c080,
- 0x000018b4, 0x00007200, 0xe1d42284, 0x0000e100, 0xa1c00a87, 0x0000c080,
- 0x000018b4, 0x00007200, 0xe5542284, 0x0000e100, 0xa5400a95, 0x0000c080,
- 0xffffffff, 0x00007f86, 0x5b3c98ec, 0x0000a884, 0x5b3c8086, 0x00005004,
- 0x003c7800, 0x00000000, 0x5b3c7286, 0x0000d004, 0x003c6800, 0x00008000,
- 0x5b3c6486, 0x00005004, 0x003c5800, 0x00008000, 0x5b3c5686, 0x0000d004,
- 0x003c4800, 0x00000000, 0x00000001, 0x00007480, 0x5b7c4086, 0x0000d004,
- 0x003c3800, 0x00008000, 0x5b7caa86, 0x00005004, 0x003ca000, 0x00000000,
- 0x00000069, 0x00009582, 0x000018cb, 0x0000f00b, 0x03c00ce0, 0x00001283,
- 0x00000001, 0x0000708b, 0x18c81c02, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x00000001, 0x0000708b, 0x2140000a, 0x0000e180,
- 0x21000000, 0x00004980, 0x18d21be2, 0x0000f500, 0x2228d800, 0x0000f900,
- 0x00048f1e, 0x00008980, 0xe1771ee3, 0x00006100, 0x21834869, 0x00004900,
- 0x00000069, 0x00009582, 0x200f26ec, 0x00005680, 0x003b3509, 0x00003f10,
- 0x000018f1, 0x00007009, 0x00000869, 0x00001582, 0x0107f800, 0x00009989,
- 0x01000000, 0x00009991, 0x000018da, 0x0000f008, 0x88b71ee3, 0x00006100,
- 0xffc00000, 0x00004980, 0x70f82c22, 0x00002084, 0x00503800, 0x00007900,
- 0x00044010, 0x00000980, 0x0ac00000, 0x0000f900, 0x00200000, 0x00000980,
- 0x0b001000, 0x0000f900, 0x000a0000, 0x00008980, 0x01400805, 0x00006080,
- 0x80001000, 0x00008980, 0x000800ec, 0x00005780, 0x00985a80, 0x000003c0,
- 0x70f82c22, 0x00005004, 0x003b4800, 0x00008000, 0xc0200408, 0x000000cd,
- 0x0a000002, 0x000002e4, 0x0a800000, 0x0000e180, 0x0b400004, 0x0000c980,
- 0x0b800000, 0x000082fc, 0x80602404, 0x00001901, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x88b71ee3, 0x00001900, 0x70f92422, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x09000824, 0x00009080, 0x00000001, 0x00007480,
- 0x70f92422, 0x0000a884, 0x70c00422, 0x0000d004, 0x00400000, 0x00000080,
- 0xaa000400, 0x00008ad4, 0x21e01f21, 0x0000c497, 0x90201424, 0x00000692,
- 0x00014f2a, 0x0000406a, 0x00001c21, 0x00008090, 0x20818421, 0x0000448f,
- 0xac210720, 0x00008692, 0xc3a15729, 0x00004810, 0xc2a15729, 0x00000b08,
- 0x4d801440, 0x0000788e, 0x10c00000, 0x00000c8a, 0x0001c02a, 0x0000e502,
- 0xc0001018, 0x0000a403, 0xaa001800, 0x000061e9, 0xaa002000, 0x000049e1,
- 0x0001582a, 0x00006502, 0x0000109c, 0x00002402, 0x2501502b, 0x00006168,
- 0x25000000, 0x000009e0, 0x00000001, 0x00007480, 0x6a400000, 0x00001981,
- 0x2944a094, 0x00009900, 0x06c55000, 0x0000e181, 0x0680181a, 0x00004380,
- 0xa000101b, 0x0000e402, 0x8000101a, 0x00003403, 0x47055000, 0x0000e181,
- 0x2000101b, 0x0000e403, 0x00005018, 0x00006407, 0x00001019, 0x0000b403,
- 0xc000101a, 0x0000e403, 0x6000101b, 0x00003403, 0x00000001, 0x00007480,
- 0xaa003800, 0x00006181, 0x2001501c, 0x0000e483, 0x6a400000, 0x00001981,
- 0x25000829, 0x00009080, 0x0004a02a, 0x00001502, 0x00001954, 0x0000700b,
- 0x2501482b, 0x0000e100, 0x0000109c, 0x00002402, 0xc0001819, 0x0000e402,
- 0xc0001018, 0x00003403, 0x277f989d, 0x00007900, 0x003ffffe, 0x00008280,
- 0x6a000800, 0x00006181, 0xc000089c, 0x00006403, 0x00000001, 0x00007480,
- 0x2780173f, 0x00008aa3, 0x2944a227, 0x0000e400, 0x6a400000, 0x00004981,
- 0x25000829, 0x00009080, 0x26c4a72a, 0x0000c20b, 0x62201440, 0x0000068a,
- 0x4d801440, 0x0000788e, 0x00c00000, 0x00000c8b, 0x0001c029, 0x00001502,
- 0x80001018, 0x0000ec0b, 0x00001936, 0x00007009, 0x0001c02a, 0x00001502,
- 0x80000818, 0x0000ec0b, 0x273fe09c, 0x00007900, 0x003ffffe, 0x00008280,
- 0x06580019, 0x0000e380, 0x2000081e, 0x00002403, 0xc000089c, 0x00006403,
- 0xc0001819, 0x0000b402, 0x0aa00f29, 0x00000aa2, 0x2740609d, 0x0000e380,
- 0x28814829, 0x00008900, 0x00000001, 0x00007480, 0x27800f3f, 0x00008aa3,
- 0x6a400800, 0x00009981, 0x0001c029, 0x00001502, 0x0001c02a, 0x0000e502,
- 0x80001018, 0x0000a40b, 0x00001936, 0x0000f400, 0xffffffff, 0x00007f86,
- 0x80000818, 0x0000ec0b, 0x06c55000, 0x0000e181, 0x8000101a, 0x00006403,
- 0x47055000, 0x0000e181, 0xa000101b, 0x0000e402, 0x2000101b, 0x0000e403,
- 0x00005018, 0x00003407, 0x00001019, 0x0000e403, 0xc000101a, 0x0000b403,
- 0x00000001, 0x00007480, 0x2001501c, 0x0000e483, 0x6000101b, 0x00003403,
- 0xaa400402, 0x00000ae3, 0x25001440, 0x00009283, 0x00001920, 0x0000700b,
- 0x273fe09c, 0x00007900, 0x003ffffe, 0x00008280, 0xc0001819, 0x0000e402,
- 0xc000089c, 0x00003403, 0x277f989d, 0x00007900, 0x003ffffe, 0x00008280,
- 0x00000001, 0x00007480, 0x6a000800, 0x00006181, 0x2781f83f, 0x00004900,
- 0xaa404c01, 0x00000ae3, 0x80000818, 0x00006c03, 0x273fe09c, 0x00007900,
- 0x003ffffe, 0x00008280, 0x06580019, 0x0000e380, 0xc000089c, 0x0000a403,
- 0x277f989d, 0x00007900, 0x003ffffe, 0x00008280, 0x6a000800, 0x00006181,
- 0xc0001819, 0x0000e402, 0x00000001, 0x00007480, 0x27804f3f, 0x00000aa3,
- 0x6a400800, 0x00009981, 0x0001582a, 0x00006502, 0xc0000018, 0x00002403,
- 0x273fe09c, 0x00007900, 0x003ffffe, 0x00008280, 0x29c00000, 0x0000e1e0,
- 0x29c1502b, 0x0000c168, 0x00000c24, 0x0000f894, 0x00000000, 0x00000000,
- 0x001138a7, 0x0000f820, 0x00000000, 0x00008020, 0x0001482a, 0x0000f810,
- 0x00000000, 0x00008020, 0x688004a9, 0x0000788a, 0x00c00001, 0x00008060,
- 0x00060521, 0x00007896, 0x00000000, 0x00000000, 0x00020720, 0x0000788c,
- 0x00000000, 0x00000000, 0x000004a9, 0x0000f890, 0x00000000, 0x00008020,
- 0x668000a7, 0x0000f88a, 0x00c00001, 0x00008060, 0x3c006621, 0x00004397,
- 0x00220620, 0x00008088, 0x02814f2a, 0x0000c510, 0x014004a9, 0x00000094,
- 0x10014f2a, 0x00004510, 0x080004a9, 0x00008490, 0x3d414f2a, 0x0000420b,
- 0x66208440, 0x00000693, 0x104004a9, 0x0000c58a, 0x86008440, 0x00000696,
- 0x10401440, 0x0000e283, 0x80000898, 0x00002401, 0x1066003e, 0x00007910,
- 0x00000074, 0x00008c80, 0x0001f09a, 0x00006b0a, 0xffffffff, 0x00007f86,
- 0x0002089a, 0x0000eb12, 0x82c538ec, 0x00007902, 0x10400000, 0x00008604,
- 0xffffffff, 0x00007fa7, 0x0804d041, 0x0000eb02, 0x10453841, 0x00001000,
- 0x00000001, 0x00007280, 0xea200009, 0x00008ae6, 0x80001018, 0x0000e403,
- 0x0000109c, 0x0000b402, 0xc0001018, 0x00006403, 0x8000089c, 0x00003402,
- 0x00000001, 0x00007480, 0x10001040, 0x00006380, 0xaa003000, 0x00000981,
- 0x6a654ca9, 0x00009901, 0x0001502b, 0x00009502, 0xa9f71ee3, 0x00006110,
- 0x0001e89a, 0x0000e30a, 0x322208a7, 0x00002014, 0x000019a9, 0x0000f008,
- 0xffffffff, 0x00007f97, 0x0012089a, 0x0000eb02, 0x82c538ec, 0x00007902,
- 0x10400000, 0x00008604, 0xa0001819, 0x00006403, 0xc0000818, 0x00003403,
- 0x80001898, 0x0000e403, 0x0000089c, 0x0000b402, 0xaa404c01, 0x00000ae3,
- 0x00000001, 0x00007480, 0x0804d041, 0x0000eb02, 0x10453841, 0x00001000,
- 0x01800000, 0x00006180, 0x08001a07, 0x00006106, 0x01a03c07, 0x00006101,
- 0x02800ca9, 0x00004281, 0x86810806, 0x0000e002, 0x08001a09, 0x0000b106,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0xc2700600, 0x00006101,
- 0xa2a05006, 0x0000e000, 0x03679000, 0x00007900, 0x0018a998, 0x00000980,
- 0x039c2000, 0x00007900, 0x00091e5c, 0x00008980, 0x82781400, 0x0000802c,
- 0x02281402, 0x00008020, 0x19c61bac, 0x00007500, 0x81e1492a, 0x0000801c,
- 0x8180892b, 0x00008091, 0x69c06521, 0x00009283, 0x6a654ca9, 0x00006111,
- 0x20001819, 0x00006413, 0x000019dc, 0x0000f011, 0x69c18521, 0x00009283,
- 0x40001819, 0x00006413, 0xc0001018, 0x0000b413, 0x80001898, 0x00006413,
- 0x0000109c, 0x00003412, 0x00001a08, 0x00007008, 0x10401440, 0x0000e283,
- 0x6a400800, 0x00000981, 0x1066003e, 0x00007910, 0x00000074, 0x00008c80,
- 0x0001f09a, 0x00006b0a, 0xffffffff, 0x00007f86, 0x0002089a, 0x0000eb12,
- 0x82c208ec, 0x0000f902, 0x29c00000, 0x00000604, 0xffffffff, 0x00007fa7,
- 0x0804d0a7, 0x00006b02, 0x104208a7, 0x00001000, 0x00000001, 0x00007480,
- 0xc0001018, 0x00006403, 0x0000109c, 0x0000b402, 0xaa004800, 0x00009981,
- 0x82c538ec, 0x00007902, 0x10400000, 0x00008604, 0x0000009a, 0x0000e784,
- 0xa0001819, 0x00003403, 0x0001e89a, 0x00006302, 0x80000898, 0x0000b401,
- 0xaa404c01, 0x00000ae3, 0x00000001, 0x00007480, 0x0804d041, 0x0000eb02,
- 0x10453841, 0x00001000, 0x90406621, 0x0000e283, 0x0000009a, 0x00002784,
- 0x82c538ec, 0x00007902, 0x10400000, 0x00008604, 0x0001e89a, 0x00006302,
- 0x20001819, 0x0000b403, 0x80000898, 0x0000e401, 0xa0001819, 0x0000b413,
- 0xaa404c00, 0x00008ae3, 0x0804d041, 0x0000eb02, 0x10453841, 0x00001000,
- 0x00000001, 0x00007280, 0x60001819, 0x0000ec03, 0x1041502b, 0x00009100,
- 0x00113841, 0x00009502, 0xaa002800, 0x0000e1a9, 0x80000898, 0x0000e429,
- 0x6a400000, 0x000061a9, 0x0000009a, 0x0000e7ac, 0x000019b3, 0x00007020,
- 0x90406621, 0x0000e283, 0x0001e89a, 0x0000a302, 0x82c538ec, 0x00007902,
- 0x10400000, 0x00008604, 0xa0001819, 0x00006c13, 0x000019f5, 0x0000f403,
- 0x0804d041, 0x0000eb02, 0x10453841, 0x00001000, 0x00000001, 0x00007280,
- 0xaa404c02, 0x00000ae3, 0x00000001, 0x00007480, 0xc0001018, 0x00006403,
- 0x0000109c, 0x0000b402, 0xea201009, 0x00000ae6, 0x10401440, 0x0000e283,
- 0x40007819, 0x0000a407, 0x1066003e, 0x00007910, 0x00000074, 0x00008c80,
- 0x0001f09a, 0x0000e30a, 0xc0001018, 0x00003403, 0x80001898, 0x0000e403,
- 0x0000109c, 0x0000b402, 0x6a400800, 0x0000e181, 0x0002089a, 0x00006312,
- 0x82c208ec, 0x0000f902, 0x29c00000, 0x00000604, 0xaa004800, 0x00009981,
- 0x00000001, 0x00007483, 0x0804d0a7, 0x00006b02, 0x104208a7, 0x00001000,
- 0x29dd33a6, 0x00001900, 0x000570a7, 0x00001502, 0x2bc1c038, 0x0000e130,
- 0x29c1502a, 0x00004930, 0x00001a9a, 0x0000f019, 0x56a005a9, 0x0000c491,
- 0x542016a8, 0x0000068d, 0x000000ae, 0x0000788a, 0x00000000, 0x00000000,
- 0x8c1728ae, 0x0000780a, 0x48c00000, 0x00008d81, 0xa50036a8, 0x0000788a,
- 0xf0c00000, 0x00000d83, 0x800036a8, 0x0000e583, 0x0a85702a, 0x00008000,
- 0x2000081e, 0x0000e403, 0x4000181f, 0x0000b403, 0x0a9d302a, 0x00006110,
- 0x0e1d302a, 0x00008100, 0x00001a97, 0x00007008, 0x90406621, 0x0000e283,
- 0x0000009a, 0x00002784, 0x82c4a0ec, 0x00007902, 0x10400000, 0x00008604,
- 0x0001e89a, 0x00006302, 0x80000898, 0x0000b401, 0xa000189c, 0x0000e403,
- 0xa0001819, 0x0000b413, 0x2740609d, 0x00001380, 0x0804d041, 0x0000eb02,
- 0x251d30a7, 0x0000e100, 0x1044a041, 0x00008000, 0x40000528, 0x00006583,
- 0xa65d33a6, 0x00008900, 0x2581e02d, 0x00009108, 0x00001a48, 0x00007009,
- 0x40214528, 0x00009503, 0x25401227, 0x0000e098, 0x2581e02d, 0x00004130,
- 0x2581e02d, 0x00001118, 0x00001a83, 0x0000f030, 0x0004b095, 0x00001502,
- 0x10002040, 0x000093a8, 0x00001a83, 0x0000f021, 0x25a9b096, 0x0000e700,
- 0x90000898, 0x0000a401, 0x00121096, 0x00006502, 0x26001800, 0x00008981,
- 0x103fb840, 0x0000f928, 0x003ffffe, 0x00008280, 0xa5d21242, 0x00006120,
- 0xa5d4b296, 0x0000c928, 0x10004040, 0x0000e3a0, 0xa000781e, 0x00002406,
- 0xa5c085a6, 0x0000e381, 0x2742009d, 0x00000380, 0x25406440, 0x00006283,
- 0x28c1682d, 0x00000900, 0x4000101c, 0x0000e413, 0x20001018, 0x00003413,
- 0x28400000, 0x0000e180, 0x2581c839, 0x0000c900, 0x4000081c, 0x0000e40b,
- 0x20000818, 0x0000340b, 0x66001d21, 0x00006283, 0x2541e03c, 0x00000900,
- 0x0000101b, 0x00006412, 0x00001819, 0x0000b413, 0xa9860621, 0x00001283,
- 0xa9818621, 0x0000e283, 0x26000000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x26001800, 0x00006181, 0xe7a4c019, 0x00006003, 0xa9801e21, 0x0000e283,
- 0x26000000, 0x00000989, 0xffffffff, 0x00007f86, 0xc724c019, 0x0000e803,
- 0x00001a6d, 0x00007008, 0x0004a0af, 0x00009502, 0x00001a8e, 0x0000f073,
- 0x0001482a, 0x0000e502, 0xa6113a27, 0x00000900, 0x29c00f98, 0x0000e281,
- 0x09c4c4a8, 0x00002000, 0xe5ea0540, 0x0000e101, 0x50001020, 0x00006402,
- 0x00001a86, 0x0000f208, 0xea253ca8, 0x00009001, 0x69060521, 0x00009283,
- 0x69018521, 0x00006283, 0x60001819, 0x00002413, 0xffffffff, 0x00007f86,
- 0x69006521, 0x00006283, 0x40001819, 0x0000a413, 0x00000001, 0x00007480,
- 0xffffffff, 0x00007f86, 0x20001819, 0x0000ec13, 0x25006619, 0x00001281,
- 0x00001a3c, 0x0000f400, 0x00006494, 0x00001583, 0x2501c038, 0x0000e110,
- 0x2500082a, 0x0000c188, 0x00001a48, 0x0000f200, 0x103fd840, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x400005a4, 0x00001583, 0x00000001, 0x0000708b,
- 0x69018521, 0x00009283, 0x69006521, 0x00006283, 0x40001819, 0x0000a413,
- 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x20001819, 0x0000ec13,
- 0x000000ae, 0x00001582, 0x2740189d, 0x00006390, 0x2804a094, 0x00008910,
- 0x80001819, 0x0000ec13, 0x00001a6d, 0x00007008, 0x00001a6d, 0x0000f000,
- 0x2000081e, 0x0000e403, 0x4000181f, 0x0000b403, 0x0e1d302a, 0x00001100,
- 0x00001a30, 0x0000f200, 0x0e000838, 0x00006080, 0x0a800838, 0x00000080,
- 0x08001a04, 0x00006106, 0x08001a09, 0x0000b106, 0x01a01004, 0x00000020,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x034ac800, 0x0000f900,
- 0x0018a99a, 0x00008980, 0x03afb000, 0x00007900, 0x0001fd18, 0x00008980,
- 0x022d3502, 0x00000018, 0x41b546a8, 0x0000e101, 0x01c7f8ae, 0x0000c280,
- 0x1aaa1bac, 0x00007500, 0x82600500, 0x00008026, 0x81007800, 0x00006180,
- 0x02c01002, 0x00004900, 0x001728ae, 0x00009502, 0x0a9d3029, 0x00006108,
- 0x0e0148ae, 0x00000010, 0x0e1d3029, 0x00006108, 0x0a9d3038, 0x00000110,
- 0xffffffff, 0x00007f86, 0x000150a7, 0x0000e502, 0x0e1d3038, 0x00000110,
- 0x251d3029, 0x00001160, 0x00001ab9, 0x0000f069, 0x00001a3c, 0x00007000,
- 0x00001a6d, 0x00007400, 0xa9818621, 0x00001283, 0x6000081f, 0x00006413,
- 0xa0001018, 0x00003412, 0x90406621, 0x0000e283, 0x0000009a, 0x00002784,
- 0x82c4a0ec, 0x00007902, 0x10400000, 0x00008604, 0x0001e89a, 0x00006302,
- 0x2000081e, 0x0000b403, 0x4000181f, 0x0000e403, 0x80000898, 0x0000b401,
- 0xa000189c, 0x0000e403, 0xa0001819, 0x0000b413, 0x00001a3c, 0x0000f400,
- 0x2740609d, 0x0000e380, 0x0804d041, 0x0000a302, 0x251d3029, 0x0000e100,
- 0x1044a041, 0x00008000, 0x01001424, 0x0000e283, 0x27000000, 0x00008980,
- 0x27400000, 0x000009f8, 0x27c00000, 0x00000ac0, 0x00001ae3, 0x0000f410,
- 0x28400000, 0x00000ac8, 0xaa004000, 0x0000e189, 0x28c00000, 0x00004980,
- 0x00000435, 0x00009583, 0xa6025435, 0x00006491, 0x01025435, 0x0000cc91,
- 0x00001ae1, 0x00007009, 0x5b402622, 0x0000418f, 0x00260621, 0x00008090,
- 0x00a04440, 0x0000c795, 0x80800528, 0x0000808a, 0x00460621, 0x0000c597,
- 0x80204440, 0x00008093, 0xa6000c04, 0x00001081, 0x00000001, 0x00007480,
- 0x07d8001f, 0x0000e380, 0x0d425435, 0x00000c81, 0x6a400000, 0x00001981,
- 0x00001adb, 0x0000f200, 0xa6000c04, 0x00001081, 0x00000001, 0x00007280,
- 0x6a401000, 0x00009981, 0x06c55000, 0x0000e181, 0x8000101a, 0x00006403,
- 0x47055000, 0x0000e181, 0xa000101b, 0x0000e402, 0x2000101b, 0x0000e403,
- 0x00005018, 0x00003407, 0x00001019, 0x0000e403, 0xc000101a, 0x0000b403,
- 0x00000001, 0x00007480, 0x2001501c, 0x0000e483, 0x6000101b, 0x00003403,
- 0xaa400402, 0x00000ae3, 0xc1006721, 0x00009283, 0xa5d03a07, 0x00006110,
- 0xe5d03227, 0x0000c010, 0x2740609d, 0x00006390, 0x00000099, 0x0000a794,
- 0x00001b0d, 0x0000f008, 0x01001c21, 0x00006283, 0x0001e899, 0x0000a302,
- 0x0a80082a, 0x00006190, 0x06580019, 0x00000390, 0x80000642, 0x00006583,
- 0xa000189c, 0x00002403, 0x26001000, 0x00006189, 0x26009000, 0x0000c991,
- 0x2501502a, 0x00006100, 0x2000081e, 0x0000e403, 0x80080098, 0x00006502,
- 0x4000181f, 0x0000b403, 0x0680601a, 0x0000e380, 0x30001898, 0x0000a403,
- 0x26000136, 0x0000009a, 0x2880082a, 0x00006080, 0x13020098, 0x0000a001,
- 0x25400000, 0x0000e188, 0x25800000, 0x0000c988, 0x00001b49, 0x0000f400,
- 0x2541e03c, 0x00006110, 0x2581c839, 0x00004910, 0x0a80082a, 0x00006080,
- 0x0e000894, 0x00000080, 0xc1060721, 0x00009283, 0x2501502a, 0x0000e110,
- 0x2541e03c, 0x00004910, 0x2581c839, 0x00006110, 0x26008000, 0x00004991,
- 0x00001b2e, 0x00007008, 0x01004424, 0x0000e283, 0x00000098, 0x00002401,
- 0x4d800000, 0x0000e189, 0x0101e02d, 0x0000c100, 0xe000081f, 0x0000e408,
- 0x20003098, 0x0000b405, 0x0129b004, 0x0000e700, 0xa0002099, 0x0000a481,
- 0xa5d02204, 0x0000e100, 0x24012098, 0x00006001, 0x01172804, 0x0000e200,
- 0xe5d13a27, 0x00008900, 0x0129b004, 0x00006000, 0x2742009d, 0x0000c380,
- 0x28c1e004, 0x0000e000, 0x0686001a, 0x00008380, 0x81060621, 0x00006283,
- 0x01001800, 0x00008981, 0x01000000, 0x0000e189, 0x01801000, 0x00004981,
- 0x81018621, 0x00009283, 0x01001800, 0x00006181, 0xe7a02019, 0x00006003,
- 0x01000000, 0x00009989, 0x00001b49, 0x0000f400, 0xffffffff, 0x00007f86,
- 0xc7202019, 0x0000e803, 0x01800000, 0x00006180, 0x08001a04, 0x00006106,
- 0x01a02404, 0x00006101, 0x08001a09, 0x0000e106, 0x82101202, 0x0000e100,
- 0x83810806, 0x0000e002, 0xc2181302, 0x00006100, 0xa3010806, 0x0000e002,
- 0x01c00000, 0x0000e180, 0xc5010806, 0x0000e002, 0xc2700600, 0x00006101,
- 0xe7010806, 0x0000e002, 0x82680500, 0x0000e101, 0x04810006, 0x00006001,
- 0x02c01002, 0x00006100, 0x15811006, 0x0000e001, 0x25411006, 0x00006801,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x81013000, 0x0000e180,
- 0x36411006, 0x00006001, 0x0373d800, 0x00007900, 0x0018a99c, 0x00008980,
- 0x1b491bac, 0x00007500, 0x03b86000, 0x0000f900, 0x0025b1f2, 0x00008980,
- 0x42c11806, 0x0000e801, 0x00000001, 0x00007480, 0x0b04c407, 0x00006000,
- 0x0b44c404, 0x0000b000, 0x81203c04, 0x00001001, 0x1b000000, 0x00009981,
- 0x6a420720, 0x0000c497, 0xd6260721, 0x00008696, 0x06601f21, 0x0000c597,
- 0x84606621, 0x0000838f, 0x01001c21, 0x00006283, 0x0141e02d, 0x00008100,
- 0x0a80082a, 0x00006190, 0x80001898, 0x00002403, 0x0000009a, 0x0000e784,
- 0x8000089c, 0x00003402, 0x10001040, 0x00006380, 0x25c00220, 0x00000980,
- 0x0169b005, 0x0000e700, 0x0101502a, 0x00008900, 0x80001018, 0x0000e403,
- 0x2000081e, 0x0000b403, 0x0001e89a, 0x00006302, 0x4000181f, 0x0000b403,
- 0x2541e03c, 0x0000e100, 0xa000189c, 0x0000e403, 0x2581c839, 0x0000e100,
- 0x2740609d, 0x00004380, 0x06580019, 0x00006390, 0xa6113a27, 0x00000900,
- 0x253a072a, 0x0000891d, 0x00001b78, 0x00007400, 0xa5d02a05, 0x0000e100,
- 0x0e000804, 0x0000c080, 0x0a80082a, 0x00009080, 0x0101e02d, 0x00006100,
- 0x25c00200, 0x00008980, 0x0129b004, 0x0000e700, 0x90000898, 0x0000a401,
- 0x25f95404, 0x00000910, 0x01172804, 0x0000e200, 0x2541e03c, 0x00000900,
- 0x0129b004, 0x00006000, 0x2581c839, 0x0000c900, 0x2742009d, 0x00006380,
- 0x0686001a, 0x00008380, 0x65e13f40, 0x00000920, 0x28c1e004, 0x00001000,
- 0x81060621, 0x00006283, 0x01001800, 0x00008981, 0x81018621, 0x00006283,
- 0x01000000, 0x00000989, 0xffffffff, 0x00007f86, 0x01001800, 0x00006181,
- 0xe7a02019, 0x00006003, 0x01000000, 0x00009989, 0x00001b97, 0x0000f400,
- 0xffffffff, 0x00007f86, 0xc7202019, 0x0000e803, 0x0101e02d, 0x00006100,
- 0x90000898, 0x0000a401, 0x25c00280, 0x0000e180, 0x0129b004, 0x00004700,
- 0xe000089c, 0x00006402, 0xe0000818, 0x0000b403, 0x2539e72a, 0x00000914,
- 0x2581c839, 0x0000e100, 0x0680181a, 0x00004380, 0x00001b97, 0x0000f400,
- 0x263a0427, 0x0000091d, 0xa5d02204, 0x00009900, 0x81371ee3, 0x0000e100,
- 0x0000009a, 0x0000e784, 0x32382004, 0x0000a084, 0x80000898, 0x0000e401,
- 0xa0001819, 0x00003403, 0x1b000800, 0x00001981, 0xffffffff, 0x00007f86,
- 0x0000209a, 0x0000eb02, 0x00000001, 0x00007480, 0x01000f98, 0x0000e281,
- 0x09c4c405, 0x0000a000, 0x21602405, 0x00001001, 0x00000001, 0x00007480,
- 0x00000435, 0x00006583, 0x01400000, 0x00000981, 0x07d8001f, 0x00006390,
- 0x01001000, 0x00000981, 0x780408ec, 0x00005680, 0x00000000, 0x00008080,
- 0x780000ec, 0x00005680, 0x02090000, 0x00000080, 0x780008ec, 0x0000d680,
- 0x00000000, 0x00008080, 0x81400cec, 0x00005684, 0x00000000, 0x00008080,
- 0x81400aec, 0x00005684, 0x00000000, 0x00008080, 0x403840ec, 0x0000d700,
- 0x00000000, 0x00008080, 0x203880ec, 0x00002080, 0xffffffff, 0x00007fa7,
- 0x81401210, 0x00009880, 0x81401205, 0x00009080, 0x20382005, 0x0000d000,
- 0x00387000, 0x00000000, 0x20386a05, 0x00005000, 0x00385800, 0x00000000,
- 0x20384c05, 0x0000d000, 0x00384000, 0x00000000, 0x20383605, 0x00003838,
- 0x02102204, 0x00006100, 0x01400810, 0x00004080, 0x0001f805, 0x00009582,
- 0x04000000, 0x0000e198, 0x04000810, 0x0000c0b0, 0x1bbf1ba0, 0x00007500,
- 0xffffffff, 0x00007f86, 0x203880ec, 0x0000a880, 0x200558ec, 0x0000f902,
- 0x2a800000, 0x00000000, 0xffffffff, 0x00007fa7, 0xab4012ab, 0x00001880,
- 0xab4012ad, 0x00009080, 0x203d60ad, 0x0000d000, 0x003d3800, 0x00000000,
- 0x203d32ad, 0x00005000, 0x003d2800, 0x00008000, 0x203d24ad, 0x0000d000,
- 0x003d1800, 0x00008000, 0x203d16ad, 0x00005000, 0x003d0800, 0x00000000,
- 0x2b4008ab, 0x00009080, 0x0001f8ad, 0x00001582, 0x2ac008ab, 0x000060b0,
- 0x2ac00000, 0x00000998, 0x800016ac, 0x00001583, 0x203d58ec, 0x0000a880,
- 0x00000001, 0x0000f091, 0x000000aa, 0x00009582, 0x021562ac, 0x00009910,
- 0x00000001, 0x0000f089, 0x1bd71ba0, 0x00007100, 0x00000001, 0x0000f080,
- 0x9bfd46ec, 0x00003838, 0x9c3d50ec, 0x00003838, 0x1bdd1bbf, 0x00007500,
- 0x9c3d62ec, 0x0000b838, 0x9c3d74ec, 0x00003838, 0x9bfd46ec, 0x0000b038,
- 0x9c3d50ec, 0x0000b038, 0x00000001, 0x00007480, 0x9c3d62ec, 0x00003038,
- 0x9c3d74ec, 0x0000b038, 0x203c52ec, 0x0000a080, 0x22642fe4, 0x00001800,
- 0xffffffff, 0x00007f97, 0x22445089, 0x00001202, 0x2b000000, 0x00007910,
- 0x0000c0c0, 0x00008980, 0xab001800, 0x00006190, 0x29844088, 0x00004910,
- 0x00000001, 0x00007088, 0x29c60000, 0x00007900, 0x001f2252, 0x00008980,
- 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14,
- 0x00001bd8, 0x00007400, 0x28fc3785, 0x00008a08, 0x28442084, 0x00001900,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0d001f08, 0x0000e006,
- 0x08001a09, 0x0000b106, 0x035e2000, 0x0000f900, 0x00395f38, 0x00000980,
- 0x03af4000, 0x00007900, 0x003fbfce, 0x00008980, 0x021004e4, 0x00000020,
- 0x01a81402, 0x00008018, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x1c021bac, 0x0000f500, 0x82781400, 0x0000802c, 0x81000800, 0x00009980,
- 0x99f916ec, 0x00003838, 0x9a3920ec, 0x00003838, 0x9a3932ec, 0x00003838,
- 0x9a3944ec, 0x0000b838, 0x000004e3, 0x00001583, 0x4001fde3, 0x00001583,
- 0x400005e3, 0x00001583, 0x00001c29, 0x00007008, 0x00001c1c, 0x0000f030,
- 0x00001c33, 0x00007048, 0x820122ec, 0x00007902, 0x08c00000, 0x00000604,
- 0x494105e3, 0x00006283, 0x0880fde3, 0x00008281, 0x08a117e4, 0x00001800,
- 0x00001c22, 0x00007009, 0x08811822, 0x00001202, 0x08800000, 0x00009981,
- 0x08800800, 0x00009991, 0xffffffff, 0x00007f86, 0x29211422, 0x00009901,
- 0x99f916ec, 0x0000b038, 0x9a3920ec, 0x0000b038, 0x00000001, 0x00007480,
- 0x9a3932ec, 0x0000b038, 0x9a3944ec, 0x00003038, 0x494105e3, 0x00006283,
- 0x0880fde3, 0x00008281, 0x820120ec, 0x0000f902, 0x08c00000, 0x00000604,
- 0x08a117e4, 0x00001800, 0x00001c12, 0x0000f010, 0xffffffff, 0x00007f86,
- 0x08812022, 0x00009202, 0x08800000, 0x00009981, 0x08800800, 0x00009991,
- 0x00001c17, 0x0000f400, 0xffffffff, 0x00007f86, 0x29211422, 0x00009901,
- 0x823916ec, 0x0000a684, 0x08f71fe4, 0x0000e000, 0x29000000, 0x00004981,
- 0x9a3920ec, 0x0000b038, 0x9a3932ec, 0x0000b038, 0x08811023, 0x00001202,
- 0x9a3944ec, 0x00003038, 0x00000001, 0x00007480, 0x99f916ec, 0x0000b038,
- 0x29000800, 0x00001991, 0x00001c0e, 0x00007200, 0x820124ec, 0x00007902,
- 0x08c00000, 0x00000604, 0xc0000383, 0x0000e582, 0x9ec00000, 0x00000980,
- 0x9ec00800, 0x0000e190, 0x20000000, 0x0000c980, 0x20400000, 0x0000f900,
- 0x000014c0, 0x00008980, 0x0000047b, 0x00006583, 0x00142881, 0x00002106,
- 0x2083f07e, 0x0000e100, 0xc323d881, 0x0000e006, 0x9ec00000, 0x00006188,
- 0x9ee80500, 0x0000c910, 0xffffffff, 0x00007f86, 0x0013d880, 0x0000e986,
- 0x042c1880, 0x0000e885, 0x75e80080, 0x0000e901, 0x703c08ec, 0x0000d600,
- 0x003c0000, 0x00000000, 0x20000004, 0x00001980, 0x20400000, 0x0000f900,
- 0x00007fc0, 0x00000980, 0x00142881, 0x00006186, 0x82241880, 0x00003080,
- 0x703c10ec, 0x0000d600, 0x003c3000, 0x00000000, 0x00000001, 0x00007480,
- 0x041c2880, 0x0000e987, 0x703c08ec, 0x0000d600, 0x003c0000, 0x00000000,
- 0x0247f800, 0x0000f900, 0x00001088, 0x00000980, 0x02c99804, 0x0000e180,
- 0x75ff1809, 0x0000e101, 0x760010ec, 0x00005680, 0x00000000, 0x00008080,
- 0x004cf00b, 0x0000ed87, 0x763858ec, 0x00005600, 0x00384800, 0x00008000,
- 0x02c00000, 0x00009980, 0x00000001, 0x00007480, 0x0020680b, 0x0000e886,
- 0x763858ec, 0x00005600, 0x00000000, 0x00008080, 0x0000009b, 0x00001582,
- 0x99e4daec, 0x0000a090, 0x2b000000, 0x00007910, 0x0000c080, 0x00000980,
- 0x00000001, 0x00007088, 0x29c0e000, 0x0000f900, 0x00188ac0, 0x00000980,
- 0x80172a9b, 0x00006502, 0x08001aa4, 0x0000a106, 0xa6c00a9b, 0x0000e090,
- 0xab017000, 0x00000980, 0x99e4daec, 0x00002890, 0x29a8079a, 0x00008a12,
- 0xa9381400, 0x00008a14, 0x00001bd8, 0x00007400, 0x28fcc799, 0x00000a08,
- 0x287f1fe3, 0x00001900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x01800000, 0x00006180, 0x08001a09, 0x0000e106, 0x03645800, 0x0000f900,
- 0x0026484c, 0x00008980, 0x03ba4000, 0x0000f900, 0x003bdaae, 0x00000980,
- 0x02001002, 0x00006100, 0x0d001e06, 0x0000e006, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x82781400, 0x0000802c, 0x1c831bac, 0x0000f500,
- 0x81003000, 0x00006180, 0x01b00600, 0x00004901, 0x41a80500, 0x00009901,
- 0x2c00e6e3, 0x00009680, 0x994588b0, 0x00009000, 0x69833c65, 0x0000f902,
- 0x19800000, 0x00000000, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x23c00467, 0x0000f893, 0x00c00001, 0x00008000, 0x95c01e60, 0x0000c489,
- 0x44201e60, 0x000007b1, 0x04a02e60, 0x0000c589, 0x82202e60, 0x000081ae,
- 0x19f307e4, 0x00001800, 0x22c33067, 0x0000f817, 0x00c00001, 0x00000080,
- 0x2b000000, 0x0000f900, 0x0000c0c0, 0x00008980, 0x29eb5800, 0x0000f900,
- 0x0003cd08, 0x00008980, 0x298500a0, 0x0000e100, 0x08001aa4, 0x00006106,
- 0xa9200500, 0x00008a12, 0x29431f02, 0x00000a0c, 0x28d31963, 0x00000a0c,
- 0x28c31363, 0x00000a08, 0x28931162, 0x00000a08, 0x28830b62, 0x00000a04,
- 0x1c8b1bd8, 0x00007500, 0x28530961, 0x00000a04, 0x2b1b0c60, 0x00008a04,
- 0x00001c8b, 0x00007000, 0x80000e60, 0x00001583, 0x99406265, 0x00009088,
- 0x00001cb3, 0x0000f009, 0x80000e60, 0x00001583, 0x99407a65, 0x000010b0,
- 0x00001cb3, 0x00007031, 0x00001cb3, 0x00007200, 0x99409265, 0x00001080,
- 0x80004660, 0x00001583, 0x99400a65, 0x00001088, 0x00000001, 0x0000f091,
- 0x00001cb3, 0x0000f000, 0x00001cb3, 0x00007200, 0x99402265, 0x00009080,
- 0x00001cb3, 0x00007200, 0x99403a65, 0x00009080, 0x9940ba65, 0x00001080,
- 0x18001760, 0x00001781, 0x18001f60, 0x00006281, 0x99532c60, 0x00008000,
- 0x69831465, 0x0000f902, 0x18400000, 0x00008000, 0x00001460, 0x00001583,
- 0x00001cc1, 0x0000f20b, 0x98400a61, 0x00001088, 0x00001c60, 0x00009583,
- 0xd8400b61, 0x00001088, 0x00001cc1, 0x0000f009, 0x00000c60, 0x00001583,
- 0xd8800b62, 0x0000e088, 0x98800a62, 0x00008090, 0x00000001, 0x00007280,
- 0x69bb1465, 0x00005000, 0x003b0800, 0x00000000, 0x4000250d, 0x00006583,
- 0x03c00800, 0x00000980, 0x02000000, 0x0000e180, 0x43f71ee3, 0x0000c901,
- 0x01806000, 0x00006189, 0x30ff100f, 0x00006002, 0x00001ce2, 0x00007208,
- 0x82181302, 0x00009900, 0x4000250d, 0x00009583, 0x00001cd8, 0x0000701b,
- 0x4000150d, 0x00009583, 0x01805000, 0x00001989, 0x00001ce2, 0x00007009,
- 0x4000150d, 0x00009583, 0x0180e000, 0x00001999, 0x00001ce2, 0x0000f019,
- 0x40000d0d, 0x00009583, 0x01804800, 0x00001989, 0x00001ce2, 0x00007009,
- 0x00001ce1, 0x00007000, 0x4000350d, 0x00001583, 0x01808000, 0x00009989,
- 0x00001ce2, 0x00007009, 0x4000350d, 0x00001583, 0x01804000, 0x000019a9,
- 0x00001ce2, 0x0000f029, 0x40003d0d, 0x00009583, 0x01824000, 0x00001989,
- 0x00001ce2, 0x00007009, 0x01800000, 0x00009981, 0x86203008, 0x0000e087,
- 0x8620500f, 0x00003087, 0x01808406, 0x00006283, 0x81ff1fe3, 0x00000900,
- 0x8a387c07, 0x00005000, 0x00384000, 0x00000000, 0x2c00e6e3, 0x00009680,
- 0x81c588b0, 0x00001000, 0x80001e0a, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00001d01, 0x0000f008, 0x00001cf4, 0x00007010, 0x0000540a, 0x00006583,
- 0x01800000, 0x00008980, 0x01800800, 0x000099b0, 0xffffffff, 0x00007f86,
- 0x00000406, 0x00009583, 0x00001d01, 0x0000f013, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x0366d000, 0x00007900, 0x002f51ec, 0x00000980, 0x03a7b000, 0x0000f900,
- 0x0032e122, 0x00000980, 0x01800000, 0x000080dc, 0x82600500, 0x00008026,
- 0x1d011bac, 0x00007500, 0x02c18702, 0x00000091, 0x8210530a, 0x00000020,
- 0x0000040d, 0x0000e583, 0x02000000, 0x00000980, 0x02000800, 0x00006189,
- 0x01800000, 0x00004980, 0x00000c0c, 0x00001583, 0x69804407, 0x0000a880,
- 0x02000000, 0x0000e180, 0x00185806, 0x0000618e, 0xffffffff, 0x00007f86,
- 0x04105806, 0x0000e18f, 0x00002008, 0x0000b48e, 0x81f71ee3, 0x00009900,
- 0x00001d15, 0x0000f400, 0x97b84007, 0x0000d000, 0x00383000, 0x00008000,
- 0x01f84e09, 0x00006000, 0x02304e09, 0x00000901, 0x02000c08, 0x00006081,
- 0x81808408, 0x00008080, 0x8a0f1c06, 0x00002881, 0x01a04408, 0x00009900,
- 0x00003806, 0x00009502, 0x81bf17e2, 0x00009940, 0x97404006, 0x00007942,
- 0x01c00000, 0x00008000, 0x00001d12, 0x0000f048, 0x97385cec, 0x0000a080,
- 0x81bf17e2, 0x00001900, 0x00000408, 0x00001583, 0x82206008, 0x0000e88e,
- 0x4000050b, 0x0000e583, 0x04306008, 0x0000208f, 0x97783806, 0x00002800,
- 0x02000c08, 0x00006081, 0x02f0760e, 0x00008909, 0x00001d2e, 0x0000f210,
- 0x97784006, 0x0000a880, 0x2c007ee3, 0x00001680, 0x81c588b0, 0x00001000,
- 0x201870ec, 0x0000a803, 0x20386aec, 0x0000a882, 0x98f8a007, 0x0000d000,
- 0x00271800, 0x00008001, 0x98b8ae07, 0x0000a800, 0x82e8650c, 0x00001901,
- 0x00000001, 0x00007480, 0x42c00d0b, 0x00009081, 0x97385cec, 0x00002880,
- 0x00002409, 0x0000e583, 0x8200840a, 0x00008080, 0x8a385c08, 0x0000a080,
- 0x02406000, 0x00006189, 0x41800000, 0x0000c980, 0x8198530a, 0x00001900,
- 0xffffffff, 0x00007f86, 0x0000080b, 0x00006c82, 0x82c00000, 0x00009981,
- 0x00001d53, 0x0000f408, 0x30ff100b, 0x00006802, 0x5168500b, 0x00006800,
- 0x00002409, 0x00001583, 0x00001d49, 0x0000701b, 0x00001409, 0x00001583,
- 0x02405000, 0x00001989, 0x00001d53, 0x0000f009, 0x00001409, 0x00001583,
- 0x0240e000, 0x00001999, 0x00001d53, 0x00007019, 0x00000c09, 0x00001583,
- 0x02404800, 0x00001989, 0x00001d53, 0x0000f009, 0x00001d52, 0x00007000,
- 0x00003409, 0x00009583, 0x02408000, 0x00009989, 0x00001d53, 0x0000f009,
- 0x00003409, 0x00009583, 0x02404000, 0x000019a9, 0x00001d53, 0x00007029,
- 0x00003c09, 0x00001583, 0x02424000, 0x00001989, 0x00001d53, 0x0000f009,
- 0x02400000, 0x00009981, 0x8620380b, 0x00006087, 0x86204806, 0x00003087,
- 0x8a385c08, 0x0000d000, 0x00383000, 0x00008000, 0x01808409, 0x00009283,
- 0x80001e07, 0x00001583, 0xffffffff, 0x00007f86, 0x00001d72, 0x00007008,
- 0x00001d62, 0x0000f010, 0x00005407, 0x0000e583, 0x02000000, 0x00000980,
- 0x02000800, 0x000019b0, 0xffffffff, 0x00007f86, 0x00000408, 0x00001583,
- 0x00001d72, 0x00007013, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x0366d000, 0x00007900,
- 0x002f51ec, 0x00000980, 0x03a7b000, 0x0000f900, 0x0032e122, 0x00000980,
- 0x01800000, 0x00006180, 0xc2700600, 0x00004901, 0x82781400, 0x0000802c,
- 0x1d721bac, 0x0000f500, 0x81018000, 0x00006180, 0x82303e07, 0x00004901,
- 0x01c00000, 0x0000e180, 0x42203c07, 0x00004901, 0x82371ee3, 0x00009900,
- 0x8a383408, 0x0000a000, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483,
- 0x81800e06, 0x00009081, 0x8a383408, 0x00002800, 0x8a387c07, 0x00002080,
- 0x80007a07, 0x00001582, 0xffffffff, 0x00007f97, 0x83287d0f, 0x00006118,
- 0x0f407c0b, 0x00006032, 0x8a20640c, 0x0000a019, 0xffffffff, 0x00007f86,
- 0x00000001, 0x0000749b, 0x83287d0f, 0x00006118, 0x01c00c0c, 0x0000c199,
- 0x8a303c0c, 0x00002819, 0x970064ec, 0x00002081, 0xffffffff, 0x00007fa7,
- 0x03000c0c, 0x00001181, 0x971864ec, 0x0000a882, 0x83205c0b, 0x00001900,
- 0x9740600c, 0x00002080, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483,
- 0x83205c0b, 0x00006100, 0x01c00c0c, 0x0000c181, 0x9740380c, 0x00002880,
- 0x81400ee3, 0x0000e283, 0x81800ee3, 0x00008780, 0x9c383e06, 0x0000a088,
- 0x9c383e06, 0x00002010, 0xffffffff, 0x00007fa7, 0x01c00807, 0x0000e090,
- 0x01c00807, 0x00008088, 0x00000001, 0x0000f481, 0x9c383e06, 0x00002888,
- 0x9c383e06, 0x0000a810, 0x02081804, 0x0000e180, 0x01800002, 0x0000c980,
- 0xc1a80500, 0x00009900, 0x760010ec, 0x00005680, 0x00383000, 0x00008000,
- 0x81802d00, 0x00001880, 0xc2181206, 0x00009080, 0x763840ec, 0x00005600,
- 0x000ff800, 0x00000080, 0x760000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0x00c002ec, 0x0000df80, 0x11cd280b, 0x00009684, 0xb9182b05, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x814001e4, 0x00008098,
- 0x1dac1d78, 0x0000f500, 0x81bf1fe3, 0x00001900, 0x01c03006, 0x00001900,
- 0x81bf1fe3, 0x00001900, 0x8a003406, 0x00002080, 0xffffffff, 0x00007f86,
- 0x00001d98, 0x0000f403, 0x81bf1fe3, 0x00006100, 0x01c7c406, 0x0000c281,
- 0x8a003c06, 0x00002880, 0x00000423, 0x0000e583, 0x01c00000, 0x00008981,
- 0x01c00800, 0x00006191, 0x03c00000, 0x00004980, 0x04000080, 0x000080f8,
- 0x00000407, 0x0000e583, 0xc320380f, 0x0000a006, 0x81e80500, 0x00006110,
- 0x81c00000, 0x0000c988, 0x40000523, 0x0000e583, 0x00212010, 0x0000a084,
- 0x03400000, 0x0000e180, 0x0410380f, 0x00006187, 0x81d81302, 0x00006108,
- 0x81d92324, 0x00004910, 0x783880ec, 0x0000d600, 0x00387800, 0x00008000,
- 0x00000001, 0x00007480, 0x0010380e, 0x0000e186, 0x0001280d, 0x00003286,
- 0x783870ec, 0x0000d600, 0x00386800, 0x00000000, 0x01bf2fe5, 0x0000801c,
- 0x01400000, 0x0000e181, 0x020728e5, 0x00004900, 0x00001c05, 0x00009583,
- 0x02c08811, 0x00009908, 0x00001de3, 0x00007009, 0x00001c05, 0x00009583,
- 0x00001dd8, 0x0000f01b, 0x00000c05, 0x00001583, 0x02c09813, 0x00009908,
- 0x00001de3, 0x00007009, 0x00001405, 0x00001583, 0x02c09012, 0x00009908,
- 0x00001de3, 0x00007009, 0x00001de1, 0x0000f000, 0x00002c05, 0x00009583,
- 0x02c04809, 0x00009908, 0x00001de3, 0x00007009, 0x00002c05, 0x00009583,
- 0x02c08010, 0x00001928, 0x00001de3, 0x0000f029, 0x00003405, 0x00009583,
- 0x02c0700e, 0x00009908, 0x00001de3, 0x00007009, 0x02c0e01c, 0x00001900,
- 0xffffffff, 0x00007f86, 0x0100580b, 0x00009b00, 0x00072804, 0x0000e502,
- 0x02c02004, 0x00008900, 0x01400c05, 0x00001089, 0x00001dea, 0x00007011,
- 0x7b803c05, 0x0000f88b, 0x60c00000, 0x00008e8e, 0x81402c05, 0x00009880,
- 0x82d05a05, 0x00001000, 0x80067a0b, 0x00001582, 0x00001def, 0x00007033,
- 0x82fff801, 0x00001980, 0x83400000, 0x000080f2, 0x9bbffa0b, 0x0000f88b,
- 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86, 0x8a384c0b, 0x00002080,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x01003c09, 0x00009281,
- 0x00000c04, 0x00009583, 0x01400000, 0x00007908, 0x0000c000, 0x00008980,
- 0x01605c0b, 0x0000e109, 0x41684d09, 0x00004909, 0x00001e0b, 0x0000f010,
- 0x01800000, 0x00006180, 0x08004e05, 0x00006004, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x036fe000, 0x00007900, 0x002f51f0, 0x00008980,
- 0x03870800, 0x00007900, 0x0026a938, 0x00008980, 0x01c00000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x02e80702, 0x00000026, 0x1e0b1bac, 0x00007500,
- 0x82782c00, 0x00000020, 0x81012800, 0x00009980, 0x01003c09, 0x00001283,
- 0x8100fa0b, 0x00006288, 0x81402a0b, 0x00000788, 0x011027e4, 0x00009808,
- 0x00001e26, 0x0000f010, 0x00000405, 0x00006583, 0x010020e5, 0x00000400,
- 0x0700e004, 0x00001208, 0x00001e3b, 0x00007009, 0x00000c05, 0x00001583,
- 0x04c09804, 0x00001208, 0x00001e3b, 0x00007009, 0x00001405, 0x00001583,
- 0x04809004, 0x00001208, 0x00001e3b, 0x00007009, 0x00001c05, 0x00009583,
- 0x04408804, 0x00001208, 0x00001e3b, 0x00007009, 0x00002405, 0x00001583,
- 0x04008004, 0x00001208, 0x00001e3b, 0x00007009, 0x00002c05, 0x00009583,
- 0x03c07804, 0x00001208, 0x00001e3b, 0x00007009, 0x00001e3b, 0x0000f400,
- 0x00003405, 0x00009583, 0x03807004, 0x00001208, 0x00004c0d, 0x00001583,
- 0x02401c0d, 0x0000e2b1, 0x01000000, 0x000009b0, 0x02401c09, 0x000060b0,
- 0x38403404, 0x0000c0b1, 0x00001e36, 0x0000f018, 0x0107f800, 0x00009980,
+ 0x820001e4, 0x000000a4, 0x21a82174, 0x00007500, 0x827f1fe3, 0x00001900,
+ 0x03404809, 0x00001900, 0x823f1fe3, 0x00009900, 0x6c004008, 0x00002080,
+ 0xffffffff, 0x00007f86, 0x00002194, 0x0000f403, 0x823f1fe3, 0x0000e100,
+ 0x0247c408, 0x0000c281, 0x6c004808, 0x00002880, 0x8000021a, 0x0000e582,
+ 0x0d000000, 0x00000980, 0x46800000, 0x000003d4, 0x86800800, 0x00006190,
+ 0x0021d835, 0x00006084, 0x824001e4, 0x000002a8, 0x0000041a, 0x0000e583,
+ 0xc320d034, 0x00002006, 0x86280500, 0x0000e110, 0x86000000, 0x00004988,
+ 0xc000071a, 0x0000e583, 0x0001d02a, 0x00002286, 0x86002d00, 0x0000e090,
+ 0x0410c034, 0x00006187, 0x8619cb39, 0x0000e108, 0x86180218, 0x0000c090,
+ 0x8000061a, 0x00001583, 0x0410c018, 0x00006987, 0x00181018, 0x0000618e,
+ 0x0011c818, 0x00003196, 0x0000041a, 0x00001583, 0x7839a8ec, 0x00005600,
+ 0x0039a000, 0x00000000, 0x7838c0ec, 0x00005600, 0x00395000, 0x00000000,
+ 0x00000000, 0x0000f088, 0x00c002ec, 0x0000df80, 0x120e580b, 0x00001684,
+ 0xb9184b09, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x82ff29e4, 0x00000010, 0x017f2fe5, 0x00000018, 0x02000000, 0x00001981,
+ 0x00001c08, 0x00001583, 0x03411823, 0x00009908, 0x000021e8, 0x0000f009,
+ 0x00001c08, 0x00001583, 0x000021dd, 0x0000f01b, 0x00000c08, 0x00009583,
+ 0x03412825, 0x00009908, 0x000021e8, 0x0000f009, 0x00001408, 0x00009583,
+ 0x03412024, 0x00009908, 0x000021e8, 0x0000f009, 0x000021e6, 0x00007000,
+ 0x00002c08, 0x00001583, 0x03404809, 0x00009908, 0x000021e8, 0x0000f009,
+ 0x00002c08, 0x00001583, 0x03411022, 0x00001928, 0x000021e8, 0x00007029,
+ 0x00003408, 0x00001583, 0x0340e01c, 0x00009908, 0x000021e8, 0x0000f009,
+ 0x03413026, 0x00001900, 0xffffffff, 0x00007f86, 0x01c0680d, 0x00009b00,
+ 0x00072807, 0x0000e502, 0x03403807, 0x00008900, 0x02000c08, 0x00001089,
+ 0x000021ef, 0x00007011, 0x7cc03c08, 0x0000f88a, 0x89000000, 0x0000108e,
+ 0x82002c08, 0x00009880, 0x83506a08, 0x00009000, 0x80067a0d, 0x00001582,
+ 0x000021f4, 0x00007033, 0x837ff801, 0x00001980, 0x83000000, 0x000080ee,
+ 0x98bffa0d, 0x0000788a, 0x01000003, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x6c00380d, 0x00007902, 0x02800000, 0x00000000, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0x01c03c07, 0x00009283, 0x81c0fa0d, 0x00006288,
+ 0x82002a0d, 0x00008788, 0x01d03fe4, 0x00009808, 0x00002217, 0x00007010,
+ 0x00000408, 0x0000e583, 0x01c038e5, 0x00000400, 0x09813007, 0x00001208,
+ 0x0000222f, 0x00007009, 0x00000c08, 0x00009583, 0x09412807, 0x00001208,
+ 0x0000222f, 0x00007009, 0x00001408, 0x00009583, 0x09012007, 0x00001208,
+ 0x0000222f, 0x00007009, 0x00001c08, 0x00001583, 0x08c11807, 0x00001208,
+ 0x0000222f, 0x00007009, 0x00002408, 0x00009583, 0x08811007, 0x00001208,
+ 0x0000222f, 0x00007009, 0x00002c08, 0x00001583, 0x08410807, 0x00001208,
+ 0x0000222f, 0x00007009, 0x0000222f, 0x0000f400, 0x00003408, 0x00001583,
+ 0x0700e007, 0x00001208, 0x00004c0c, 0x00009583, 0x02401c0c, 0x000062b1,
+ 0x01c00000, 0x000009b0, 0x02401c09, 0x000060b0, 0x38402407, 0x000040b1,
+ 0x00002227, 0x0000f018, 0x01c7f800, 0x00009980, 0x01c04807, 0x00001800,
+ 0x01c038e5, 0x00009400, 0xffffffff, 0x00007f86, 0x02000200, 0x00007904,
+ 0x01c7fa0d, 0x0000e280, 0x02003808, 0x00000200, 0x02404807, 0x00009800,
+ 0x02404808, 0x00001300, 0x10004c00, 0x00007904, 0xc1c0270a, 0x0000e283,
+ 0x03000c0c, 0x00000081, 0x0290520a, 0x00001910, 0x222b495c, 0x0000f015,
+ 0x6c38400d, 0x0000a080, 0xffffffff, 0x00007fa7, 0x00001808, 0x00006c04,
+ 0x6c38400d, 0x00002880, 0x83400a0d, 0x00009080, 0x8006820d, 0x00009582,
+ 0x02800000, 0x00006191, 0x81c02a0d, 0x00004790, 0x8340fa0d, 0x00006290,
+ 0x02603c07, 0x00000911, 0x0000225e, 0x0000f008, 0x01d06fe4, 0x00001800,
+ 0x02003aec, 0x00001100, 0x00205409, 0x00009503, 0x0000225b, 0x0000701b,
+ 0x00001c0a, 0x00009583, 0x01c11823, 0x00009908, 0x00002250, 0x0000f009,
+ 0x00001c0a, 0x00009583, 0x00002246, 0x0000701b, 0x00000c0a, 0x00001583,
+ 0x01c12825, 0x00009908, 0x00002250, 0x0000f009, 0x0000140a, 0x00001583,
+ 0x01c12024, 0x00009908, 0x00002250, 0x0000f009, 0x0000224f, 0x00007000,
+ 0x00002c0a, 0x00009583, 0x01c10821, 0x00009908, 0x00002250, 0x0000f009,
+ 0x00002c0a, 0x00009583, 0x01c11022, 0x00001928, 0x00002250, 0x00007029,
+ 0x0000340a, 0x00009583, 0x01c0e01c, 0x00009908, 0x00002250, 0x0000f009,
+ 0x01c13026, 0x00001900, 0x00205409, 0x00009503, 0x01c04007, 0x00001208,
+ 0xffffffff, 0x00007f86, 0x03403807, 0x00009b00, 0x0007280d, 0x0000e502,
+ 0x01c0680d, 0x00008900, 0x82802c0a, 0x00001890, 0x83503a0a, 0x00009010,
+ 0x0000225b, 0x0000f008, 0x97867a0d, 0x0000789a, 0xf9000000, 0x00001182,
+ 0x02800c0a, 0x00009081, 0x00003c0a, 0x00001583, 0x00002238, 0x0000f013,
+ 0x837ff801, 0x00001980, 0x02c00c0b, 0x00009081, 0x7dfffa0d, 0x00007892,
+ 0x01000003, 0x00000080, 0x04206006, 0x00006087, 0x08001aad, 0x00003106,
+ 0x29000000, 0x00007900, 0x000100c0, 0x00000980, 0xeb700600, 0x0000e101,
+ 0x86205806, 0x0000e087, 0x2bf40800, 0x0000f900, 0x002f51f0, 0x00008980,
+ 0x39f3c800, 0x00007900, 0x00065644, 0x00008980, 0xab781400, 0x00000a38,
+ 0x22702021, 0x0000f500, 0x2b382f04, 0x00000a2c, 0x2a808f06, 0x00000a91,
+ 0xb9185b0b, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x064004e4, 0x00000194, 0x027f2fe5, 0x00000028, 0x01000000, 0x00006181,
+ 0x02c728e5, 0x00004900, 0x00001c04, 0x00001583, 0x03003807, 0x00001908,
+ 0x0000228e, 0x0000f009, 0x00001c04, 0x00001583, 0x00002283, 0x0000701b,
+ 0x00000c04, 0x00009583, 0x03009813, 0x00001908, 0x0000228e, 0x0000f009,
+ 0x00001404, 0x00009583, 0x03003006, 0x00001908, 0x0000228e, 0x0000f009,
+ 0x0000228c, 0x00007000, 0x00002c04, 0x00001583, 0x0300780f, 0x00001908,
+ 0x0000228e, 0x0000f009, 0x00002c04, 0x00001583, 0x03004008, 0x00009928,
+ 0x0000228e, 0x00007029, 0x00003404, 0x00001583, 0x0300700e, 0x00001908,
+ 0x0000228e, 0x0000f009, 0x0300a014, 0x00009900, 0xffffffff, 0x00007f86,
+ 0x0140600c, 0x00001b00, 0x00072805, 0x00006502, 0x03002805, 0x00000900,
+ 0x01000c04, 0x00001089, 0x00002295, 0x0000f011, 0xa6403c04, 0x0000f88a,
+ 0xb9000000, 0x00001183, 0x81002c04, 0x00009880, 0x83106204, 0x00009000,
+ 0x80067a0c, 0x00009582, 0x0000229a, 0x0000f033, 0x833ff801, 0x00009980,
+ 0x81400000, 0x000080d2, 0xc3fffa0c, 0x0000f88a, 0x01000003, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x6c00300c, 0x00007902, 0x05400000, 0x00008000,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x01803c06, 0x00001281,
+ 0x00000c06, 0x00001583, 0x00002406, 0x00009593, 0x81c0fa0c, 0x0000e290,
+ 0x81802a0c, 0x00008790, 0x01d03fe4, 0x00009810, 0x000022bf, 0x0000f008,
+ 0x00000406, 0x00006583, 0x01c038e5, 0x00000400, 0x0500a007, 0x00001208,
+ 0x000022dc, 0x00007009, 0x00000c06, 0x00001583, 0x04c09807, 0x00001208,
+ 0x000022dc, 0x00007009, 0x00001406, 0x00001583, 0x04809007, 0x00001208,
+ 0x000022dc, 0x00007009, 0x00001c06, 0x00009583, 0x04408807, 0x00001208,
+ 0x000022dc, 0x00007009, 0x00002406, 0x00001583, 0x04008007, 0x00001208,
+ 0x000022dc, 0x00007009, 0x00002c06, 0x00009583, 0x03c07807, 0x00001208,
+ 0x000022dc, 0x00007009, 0x000022dc, 0x0000f400, 0x00003406, 0x00009583,
+ 0x03807007, 0x00001208, 0x00004c05, 0x00009583, 0x02001c05, 0x0000e2b1,
+ 0x01800000, 0x000089b0, 0x02001c08, 0x000060b0, 0x38404c06, 0x000040b1,
+ 0x000022cf, 0x0000f018, 0x0187f800, 0x00001980, 0x01804006, 0x00009800,
+ 0x018030e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01c00200, 0x00007904,
+ 0x0187fa0c, 0x0000e280, 0x01c03007, 0x00008200, 0x02004006, 0x00001800,
+ 0x02004007, 0x00001300, 0x10004400, 0x0000f904, 0xc1002715, 0x00006283,
+ 0x01400c05, 0x00000081, 0x0190aa15, 0x00001910, 0x22d34934, 0x0000f111,
+ 0x01800000, 0x00001980, 0x22d72174, 0x0000f500, 0x00106006, 0x00006986,
+ 0x03403006, 0x00001900, 0x6c00300c, 0x00007902, 0x05400000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x00001006, 0x00006c04, 0x6c38300c, 0x00002880,
+ 0x83000a0c, 0x00009080, 0x8006820c, 0x00001582, 0x81802a0c, 0x00001790,
+ 0x8300fa0c, 0x00006290, 0x02203406, 0x00008911, 0x0000230b, 0x00007008,
+ 0x03000000, 0x0000e181, 0x019067e4, 0x00004800, 0x01c032ec, 0x00009100,
+ 0x00206408, 0x00001503, 0x00002308, 0x0000f01b, 0x00001c0c, 0x00009583,
+ 0x01808811, 0x00001908, 0x000022fd, 0x00007009, 0x00001c0c, 0x00009583,
+ 0x000022f3, 0x0000f01b, 0x00000c0c, 0x00001583, 0x01809813, 0x00001908,
+ 0x000022fd, 0x00007009, 0x0000140c, 0x00001583, 0x01809012, 0x00001908,
+ 0x000022fd, 0x00007009, 0x000022fc, 0x0000f000, 0x00002c0c, 0x00009583,
+ 0x0180780f, 0x00001908, 0x000022fd, 0x00007009, 0x00002c0c, 0x00009583,
+ 0x01808010, 0x00009928, 0x000022fd, 0x0000f029, 0x0000340c, 0x00009583,
+ 0x0180700e, 0x00001908, 0x000022fd, 0x00007009, 0x0180a014, 0x00009900,
+ 0x00206408, 0x00001503, 0x01803806, 0x00001208, 0xffffffff, 0x00007f86,
+ 0x03403006, 0x00009b00, 0x0007280d, 0x0000e502, 0x0180680d, 0x00000900,
+ 0x83002c0c, 0x00001890, 0x8310320c, 0x00009010, 0x00002308, 0x00007008,
+ 0xc2c67a0c, 0x0000789a, 0x61000000, 0x00009188, 0x03000c0c, 0x00009081,
+ 0x00003c0c, 0x00001583, 0x000022e5, 0x0000f013, 0x833ff801, 0x00009980,
+ 0x01000c04, 0x00009081, 0xa77ffa0c, 0x0000f892, 0x01000003, 0x00000080,
+ 0x0420280b, 0x0000e087, 0x08001aad, 0x00003106, 0x29000000, 0x00007900,
+ 0x000100c0, 0x00000980, 0xeb700600, 0x0000e101, 0x8620200b, 0x00006087,
+ 0x2bcc1800, 0x0000f900, 0x00198f26, 0x00000980, 0x39c3c800, 0x00007900,
+ 0x003ec9b2, 0x00000980, 0xab781400, 0x00000a38, 0x231d2021, 0x0000f500,
+ 0x2b385709, 0x00008a2c, 0x2a80870b, 0x00000a91, 0x00000405, 0x00009583,
+ 0xb910ca19, 0x0000e108, 0x01000000, 0x00004990, 0x81280500, 0x00006110,
+ 0x01b00004, 0x00004990, 0x700040ec, 0x0000d690, 0x00382544, 0x00008008,
+ 0x700000ec, 0x00005690, 0x00000000, 0x00008080, 0xc190aa15, 0x00001910,
+ 0x700000ec, 0x00005690, 0x00000000, 0x00008080, 0x00000000, 0x0000f088,
+ 0x700040ec, 0x00005680, 0x003837c0, 0x00000078, 0x00c002ec, 0x0000df80,
+ 0x1219700b, 0x00001684, 0xb910ca19, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x01bf2fe5, 0x0000801c, 0x01000000, 0x00006181,
+ 0x020728e5, 0x00004900, 0x00001c04, 0x00001583, 0x0280780f, 0x00001908,
+ 0x0000234b, 0x00007009, 0x00001c04, 0x00001583, 0x00002340, 0x0000f01b,
+ 0x00000c04, 0x00009583, 0x02808811, 0x00001908, 0x0000234b, 0x00007009,
+ 0x00001404, 0x00009583, 0x02808010, 0x00001908, 0x0000234b, 0x00007009,
+ 0x00002349, 0x0000f000, 0x00002c04, 0x00001583, 0x02804809, 0x00001908,
+ 0x0000234b, 0x00007009, 0x00002c04, 0x00001583, 0x0280700e, 0x00009928,
+ 0x0000234b, 0x0000f029, 0x00003404, 0x00001583, 0x0280600c, 0x00001908,
+ 0x0000234b, 0x00007009, 0x02809012, 0x00009900, 0xffffffff, 0x00007f86,
+ 0x0140500a, 0x00001b00, 0x00072805, 0x00006502, 0x02802805, 0x00000900,
+ 0x01000c04, 0x00001089, 0x00002352, 0x0000f011, 0xd5803c04, 0x0000788a,
+ 0xa1000000, 0x00001189, 0x81002c04, 0x00009880, 0x82905204, 0x00009000,
+ 0x80067a0a, 0x00009582, 0x00002357, 0x0000f033, 0x82bff801, 0x00009980,
+ 0x02c00000, 0x00001981, 0xefbffa0a, 0x0000f88a, 0x01000003, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x6c38a00a, 0x0000a080, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0x01003c14, 0x00009281, 0x00000c04, 0x00009583,
+ 0x8100fa0a, 0x0000e290, 0x81402a0a, 0x00008790, 0x011027e4, 0x00009810,
+ 0x0000237a, 0x00007008, 0x00000405, 0x00006583, 0x010020e5, 0x00000400,
+ 0x04809004, 0x00001208, 0x0000238d, 0x00007009, 0x00000c05, 0x00001583,
+ 0x04408804, 0x00001208, 0x0000238d, 0x00007009, 0x00001405, 0x00001583,
+ 0x04008004, 0x00001208, 0x0000238d, 0x00007009, 0x00001c05, 0x00009583,
+ 0x03c07804, 0x00001208, 0x0000238d, 0x00007009, 0x00002405, 0x00001583,
+ 0x03807004, 0x00001208, 0x0000238d, 0x00007009, 0x00002c05, 0x00009583,
+ 0x03406804, 0x00001208, 0x0000238d, 0x00007009, 0x0000238d, 0x0000f400,
+ 0x00003405, 0x00009583, 0x03006004, 0x00001208, 0x00004c0b, 0x00001583,
+ 0x02401c0b, 0x0000e2b1, 0x01000000, 0x000009b0, 0x02401c09, 0x000060b0,
+ 0x38403404, 0x0000c0b1, 0x0000238a, 0x0000f018, 0x0107f800, 0x00009980,
0x01004804, 0x00001800, 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86,
- 0x01400200, 0x0000f904, 0x0107fa0b, 0x0000e280, 0x01402005, 0x00000200,
+ 0x01400200, 0x0000f904, 0x0107fa0a, 0x00006280, 0x01402005, 0x00000200,
0x02404804, 0x00009800, 0x02404805, 0x00009300, 0x10004c00, 0x00007904,
- 0x8a382c0b, 0x00002080, 0x03400c0d, 0x00009081, 0xffffffff, 0x00007f97,
- 0x00001805, 0x0000ec04, 0x8a382c0b, 0x0000a880, 0x82c00a0b, 0x00009080,
- 0x8006820b, 0x00009582, 0x81002a0b, 0x00001790, 0x82c0fa0b, 0x00006290,
- 0x02a02404, 0x00000911, 0x00001e6a, 0x00007008, 0x02c00000, 0x00006181,
- 0x01105fe4, 0x00004800, 0x024022ec, 0x00009100, 0x00205c0a, 0x00001503,
- 0x00001e67, 0x0000701b, 0x00001c0b, 0x00001583, 0x01008811, 0x00009908,
- 0x00001e5c, 0x0000f009, 0x00001c0b, 0x00001583, 0x00001e52, 0x0000701b,
- 0x00000c0b, 0x00009583, 0x01009813, 0x00009908, 0x00001e5c, 0x0000f009,
- 0x0000140b, 0x00009583, 0x01009012, 0x00009908, 0x00001e5c, 0x0000f009,
- 0x00001e5b, 0x00007000, 0x00002c0b, 0x00001583, 0x0100780f, 0x00009908,
- 0x00001e5c, 0x0000f009, 0x00002c0b, 0x00001583, 0x01008010, 0x00001928,
- 0x00001e5c, 0x00007029, 0x0000340b, 0x00001583, 0x0100700e, 0x00009908,
- 0x00001e5c, 0x0000f009, 0x0100e01c, 0x00001900, 0x00205c0a, 0x00001503,
- 0x01004804, 0x00009208, 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00,
- 0x00072804, 0x0000e502, 0x01402004, 0x00000900, 0x82c02c0b, 0x00001890,
- 0x82d02a0b, 0x00009010, 0x00001e67, 0x0000f008, 0x9a867a0b, 0x0000789b,
- 0x58c00000, 0x00000f83, 0x02c00c0b, 0x00009081, 0x00003c0b, 0x00009583,
- 0x00001e44, 0x00007013, 0x82fff801, 0x00001980, 0x03000c0c, 0x00009081,
- 0x7cbffa0b, 0x0000f893, 0x00c00003, 0x00008080, 0x04206808, 0x00006087,
- 0x08001aa4, 0x00003106, 0x2b000000, 0x0000f900, 0x0000c0c0, 0x00008980,
- 0xe9300600, 0x0000e101, 0x86206008, 0x0000e087, 0x29b40800, 0x0000f900,
- 0x002f51f0, 0x00008980, 0x29f3c800, 0x0000f900, 0x00065644, 0x00008980,
- 0xa9381400, 0x00008a14, 0x1e7c1bd8, 0x00007500, 0x28f83f06, 0x00000a08,
- 0x28414f08, 0x00000ab1, 0x00000001, 0x0000f080, 0x834001e4, 0x00000380,
- 0x013f2fe5, 0x00008014, 0x01c00000, 0x00006181, 0x018728e5, 0x0000c900,
- 0x00001c07, 0x00001583, 0x02809012, 0x00001908, 0x00001e98, 0x00007009,
- 0x00001c07, 0x00001583, 0x00001e8d, 0x0000f01b, 0x00000c07, 0x00009583,
- 0x0280e01c, 0x00001908, 0x00001e98, 0x00007009, 0x00001407, 0x00009583,
- 0x02809813, 0x00001908, 0x00001e98, 0x00007009, 0x00001e96, 0x0000f000,
- 0x00002c07, 0x00001583, 0x02804809, 0x00001908, 0x00001e98, 0x00007009,
- 0x00002c07, 0x00001583, 0x02808811, 0x00009928, 0x00001e98, 0x0000f029,
- 0x00003407, 0x00001583, 0x0280700e, 0x00001908, 0x00001e98, 0x00007009,
- 0x0280e81d, 0x00009900, 0xffffffff, 0x00007f86, 0x0200500a, 0x00009b00,
- 0x00072808, 0x0000e502, 0x02804008, 0x00000900, 0x01c00c07, 0x00001089,
- 0x00001e9f, 0x0000f011, 0xa8c03c07, 0x0000788b, 0x08c00000, 0x00008f84,
- 0x81c02c07, 0x00009880, 0x82905207, 0x00009000, 0x80067a0a, 0x00009582,
- 0x00001ea4, 0x00007033, 0x82bff801, 0x00009980, 0x82400000, 0x000080e2,
- 0xcb7ffa0a, 0x0000788b, 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86,
- 0x8a005c0a, 0x0000f902, 0x0c000000, 0x00000000, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x01c03c0b, 0x00001281, 0x00001407, 0x00009583,
- 0x01c00000, 0x0000f908, 0x00008000, 0x00000980, 0x01e0540a, 0x00006109,
- 0x41e85d0b, 0x0000c909, 0x00001ec0, 0x00007010, 0x08005e07, 0x00006004,
- 0x08001aa4, 0x00003106, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980,
- 0x29900000, 0x00007900, 0x002f51f2, 0x00000980, 0x29c70800, 0x00007900,
- 0x0026a938, 0x00008980, 0x28800000, 0x00000ac4, 0xa9200500, 0x00008a12,
- 0x1ec01bd8, 0x0000f500, 0x29783f02, 0x00000a0c, 0xab012800, 0x00001980,
- 0x01c03c0b, 0x00001281, 0x00000c07, 0x00009583, 0x00002407, 0x00001593,
- 0x82c0fa0a, 0x0000e290, 0x81c02a0a, 0x00000790, 0x02d05fe4, 0x00009810,
- 0x00001edd, 0x00007008, 0x00000407, 0x0000e583, 0x02c058e5, 0x00000400,
- 0x0740e80b, 0x00001208, 0x00001efa, 0x0000f009, 0x00000c07, 0x00009583,
- 0x0700e00b, 0x00001208, 0x00001efa, 0x0000f009, 0x00001407, 0x00009583,
- 0x04c0980b, 0x00001208, 0x00001efa, 0x0000f009, 0x00001c07, 0x00001583,
- 0x0480900b, 0x00001208, 0x00001efa, 0x0000f009, 0x00002407, 0x00009583,
- 0x0440880b, 0x00001208, 0x00001efa, 0x0000f009, 0x00002c07, 0x00001583,
- 0x0400800b, 0x00001208, 0x00001efa, 0x0000f009, 0x00001efa, 0x00007400,
- 0x00003407, 0x00001583, 0x0380700b, 0x00001208, 0x00004c09, 0x00009583,
- 0x03001c09, 0x000062b1, 0x01c00000, 0x000009b0, 0x03001c0c, 0x000060b0,
- 0x38402407, 0x000040b1, 0x00001eed, 0x0000f018, 0x01c7f800, 0x00009980,
- 0x01c06007, 0x00001800, 0x01c038e5, 0x00009400, 0xffffffff, 0x00007f86,
- 0x02c00200, 0x00007904, 0x01c7fa0a, 0x00006280, 0x02c0380b, 0x00000200,
- 0x03006007, 0x00009800, 0x0300600b, 0x00001300, 0x10006400, 0x00007904,
- 0xc1c01730, 0x0000e283, 0x02400c09, 0x00000081, 0x1ef01633, 0x00007017,
- 0xc1c02730, 0x00001283, 0x02d18230, 0x00009910, 0x1ef3414d, 0x00007111,
- 0x1ef51d78, 0x0000f300, 0x81d0520a, 0x00009900, 0x8a003c0a, 0x0000f902,
- 0x0c000000, 0x00000000, 0xffffffff, 0x00007fa7, 0x00001007, 0x0000ec04,
- 0x8a383c0a, 0x0000a880, 0x82800a0a, 0x00009080, 0x8006820a, 0x00001582,
- 0x03400000, 0x0000e191, 0x81c02a0a, 0x0000c790, 0x8280fa0a, 0x00006290,
- 0x03203c07, 0x00000911, 0x00001f29, 0x00007008, 0x01d057e4, 0x00009800,
- 0x02c03aec, 0x00001100, 0x00206c0c, 0x00001503, 0x00001f26, 0x0000f01b,
- 0x00001c0d, 0x00001583, 0x01c09012, 0x00009908, 0x00001f1b, 0x00007009,
- 0x00001c0d, 0x00001583, 0x00001f11, 0x0000701b, 0x00000c0d, 0x00009583,
- 0x01c0e01c, 0x00009908, 0x00001f1b, 0x00007009, 0x0000140d, 0x00009583,
- 0x01c09813, 0x00009908, 0x00001f1b, 0x00007009, 0x00001f1a, 0x0000f000,
- 0x00002c0d, 0x00001583, 0x01c08010, 0x00009908, 0x00001f1b, 0x00007009,
- 0x00002c0d, 0x00001583, 0x01c08811, 0x00001928, 0x00001f1b, 0x0000f029,
- 0x0000340d, 0x00001583, 0x01c0700e, 0x00009908, 0x00001f1b, 0x00007009,
- 0x01c0e81d, 0x00001900, 0x00206c0c, 0x00001503, 0x01c05807, 0x00001208,
- 0xffffffff, 0x00007f86, 0x01c03807, 0x00009b00, 0x00072807, 0x0000e502,
- 0x02803807, 0x00000900, 0x83402c0d, 0x00001890, 0x8290520d, 0x00001010,
- 0x00001f26, 0x00007008, 0xca467a0a, 0x0000f89b, 0x50c00000, 0x00008f89,
- 0x03400c0d, 0x00009081, 0x00003c0d, 0x00009583, 0x00001f03, 0x0000f013,
- 0x82bff801, 0x00009980, 0x02000c08, 0x00009081, 0xa9fffa0a, 0x00007893,
- 0x00c00003, 0x00008080, 0x04204806, 0x00006087, 0x08001aa4, 0x00003106,
- 0x2b000000, 0x0000f900, 0x0000c0c0, 0x00008980, 0xe9300600, 0x0000e101,
- 0x86204006, 0x0000e087, 0x298c1800, 0x0000f900, 0x00198f26, 0x00000980,
- 0x29c3c800, 0x0000f900, 0x003ec9b2, 0x00000980, 0xa9381400, 0x00008a14,
- 0x1f3b1bd8, 0x0000f500, 0x28f82f04, 0x00000a08, 0x28414706, 0x00000ab1,
- 0x00000409, 0x00009583, 0xb9186b0d, 0x0000e108, 0x01000000, 0x00004990,
- 0x81280500, 0x00006110, 0x01b00004, 0x00004990, 0x700040ec, 0x0000d690,
- 0x00382544, 0x00008008, 0x700000ec, 0x00005690, 0x00000000, 0x00008080,
- 0xc1918230, 0x00001910, 0x700000ec, 0x00005690, 0x00000000, 0x00008080,
- 0x00000000, 0x0000f088, 0x700040ec, 0x00005680, 0x003837c0, 0x00000078,
- 0x00c002ec, 0x0000df80, 0x11da600b, 0x00009684, 0xb9186b0d, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x013f2fe5, 0x00008014,
- 0x02000000, 0x00006181, 0x018728e5, 0x0000c900, 0x00001c08, 0x00001583,
- 0x0280f01e, 0x00001908, 0x00001f69, 0x00007009, 0x00001c08, 0x00001583,
- 0x00001f5e, 0x0000f01b, 0x00000c08, 0x00009583, 0x02810020, 0x00001908,
- 0x00001f69, 0x00007009, 0x00001408, 0x00009583, 0x0280f81f, 0x00001908,
- 0x00001f69, 0x00007009, 0x00001f67, 0x0000f000, 0x00002c08, 0x00001583,
- 0x02804809, 0x00001908, 0x00001f69, 0x00007009, 0x00002c08, 0x00001583,
- 0x0280e81d, 0x00009928, 0x00001f69, 0x0000f029, 0x00003408, 0x00001583,
- 0x02809813, 0x00001908, 0x00001f69, 0x00007009, 0x02810821, 0x00009900,
- 0xffffffff, 0x00007f86, 0x01c0500a, 0x00009b00, 0x00072807, 0x0000e502,
- 0x02803807, 0x00000900, 0x02000c08, 0x00001089, 0x00001f70, 0x0000f011,
- 0xdd003c08, 0x0000f88b, 0x90c00000, 0x00008f8a, 0x82002c08, 0x00009880,
- 0x82905208, 0x00009000, 0x80067a0a, 0x00009582, 0x00001f75, 0x0000f033,
- 0x82bff801, 0x00009980, 0x03000000, 0x00009981, 0xf77ffa0a, 0x0000788b,
- 0x00c00003, 0x00008080, 0xffffffff, 0x00007f86, 0x8a393c0a, 0x0000a080,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x01c03c27, 0x00009281,
- 0x00000c07, 0x00009583, 0x81c0fa0a, 0x0000e290, 0x82002a0a, 0x00000790,
- 0x01d03fe4, 0x00009810, 0x00001f98, 0x00007008, 0x00000408, 0x0000e583,
- 0x01c038e5, 0x00000400, 0x08410807, 0x00001208, 0x00001fac, 0x00007009,
- 0x00000c08, 0x00009583, 0x08010007, 0x00001208, 0x00001fac, 0x00007009,
- 0x00001408, 0x00009583, 0x07c0f807, 0x00001208, 0x00001fac, 0x00007009,
- 0x00001c08, 0x00001583, 0x0780f007, 0x00001208, 0x00001fac, 0x00007009,
- 0x00002408, 0x00009583, 0x0740e807, 0x00001208, 0x00001fac, 0x00007009,
- 0x00002c08, 0x00001583, 0x0700e007, 0x00001208, 0x00001fac, 0x00007009,
- 0x00001fac, 0x0000f400, 0x00003408, 0x00001583, 0x04c09807, 0x00001208,
- 0x00004c0c, 0x00009583, 0x02401c0c, 0x000062b1, 0x01c00000, 0x000009b0,
- 0x02401c09, 0x000060b0, 0x38402407, 0x000040b1, 0x00001fa8, 0x0000f018,
- 0x01c7f800, 0x00009980, 0x01c04807, 0x00001800, 0x01c038e5, 0x00009400,
- 0xffffffff, 0x00007f86, 0x02000200, 0x00007904, 0x01c7fa0a, 0x00006280,
- 0x02003808, 0x00000200, 0x02404807, 0x00009800, 0x02404808, 0x00001300,
- 0x10004c00, 0x00007904, 0x1faa22e0, 0x0000f300, 0x03000c0c, 0x00009081,
- 0x00002027, 0x00006c04, 0x8a393c0a, 0x00002880, 0x82800a0a, 0x00009080,
- 0x8006820a, 0x00001582, 0x02400000, 0x00006191, 0x81c02a0a, 0x0000c790,
- 0x8280fa0a, 0x00006290, 0x02203c07, 0x00008911, 0x00001fdd, 0x0000f008,
- 0x00000408, 0x0000e583, 0x01d057e4, 0x00000800, 0x01c03aec, 0x00001100,
- 0x00001fda, 0x00007019, 0x00001c09, 0x00009583, 0x0280f01e, 0x00001908,
- 0x00001fcd, 0x0000f009, 0x00001c09, 0x00009583, 0x00001fc3, 0x0000701b,
- 0x00000c09, 0x00001583, 0x02810020, 0x00001908, 0x00001fcd, 0x0000f009,
- 0x00001409, 0x00001583, 0x0280f81f, 0x00001908, 0x00001fcd, 0x0000f009,
- 0x00001fcc, 0x00007000, 0x00002c09, 0x00009583, 0x0280e01c, 0x00001908,
- 0x00001fcd, 0x0000f009, 0x00002c09, 0x00009583, 0x0280e81d, 0x00009928,
- 0x00001fcd, 0x00007029, 0x00003409, 0x00009583, 0x02809813, 0x00001908,
- 0x00001fcd, 0x0000f009, 0x02810821, 0x00009900, 0x00204c08, 0x00001503,
- 0x0280380a, 0x00001208, 0xffffffff, 0x00007f86, 0x0280500a, 0x00001b00,
- 0x0007280a, 0x00006502, 0x02c0500a, 0x00008900, 0x82402c09, 0x00001890,
- 0x82905a09, 0x00001010, 0x00001fda, 0x00007008, 0xf7467a0a, 0x0000789b,
- 0x00c00001, 0x00008000, 0xde3ffa0a, 0x00007893, 0xe8c00002, 0x00008f8e,
- 0x02400c09, 0x00009081, 0x00403c09, 0x0000c589, 0x7fe04808, 0x0000fd1e,
- 0x86206006, 0x00006087, 0x08001aa4, 0x00003106, 0x2b000000, 0x0000f900,
- 0x0000c0c0, 0x00008980, 0x29933000, 0x00007900, 0x00198f26, 0x00000980,
- 0x29fb4800, 0x0000f900, 0x00007fea, 0x00008980, 0xa9200500, 0x00008a12,
- 0x29782702, 0x00000a0c, 0x1fea1bd8, 0x0000f500, 0x28b83705, 0x00000a04,
- 0xab016800, 0x00009980, 0x00000001, 0x0000f080, 0x01000000, 0x00009980,
- 0x01400000, 0x00001980, 0x01800000, 0x00001980, 0x01c00000, 0x00009980,
- 0x02000000, 0x00009980, 0x02400000, 0x00001980, 0x02800000, 0x00001980,
- 0x02c00000, 0x00009980, 0x03000000, 0x00001980, 0x03400000, 0x00009980,
- 0x03800000, 0x00009980, 0x03c00000, 0x00001980, 0x04000000, 0x00009980,
- 0x04400000, 0x00001980, 0x04800000, 0x00001980, 0x04c00000, 0x00009980,
- 0x05000000, 0x00001980, 0x05400000, 0x00009980, 0x05800000, 0x00009980,
- 0x05c00000, 0x00001980, 0x06000000, 0x00001980, 0x06400000, 0x00009980,
- 0x06800000, 0x00009980, 0x06c00000, 0x00001980, 0x07000000, 0x00009980,
- 0x07400000, 0x00001980, 0x07800000, 0x00001980, 0x07c00000, 0x00009980,
- 0x08000000, 0x00009980, 0x08400000, 0x00001980, 0x08800000, 0x00001980,
- 0x08c00000, 0x00009980, 0x09000000, 0x00001980, 0x09400000, 0x00009980,
- 0x09800000, 0x00009980, 0x09c00000, 0x00001980, 0x0a000000, 0x00001980,
- 0x0a400000, 0x00009980, 0x0a800000, 0x00009980, 0x0ac00000, 0x00001980,
- 0x0b000000, 0x00009980, 0x0b400000, 0x00001980, 0x0b800000, 0x00001980,
- 0x0bc00000, 0x00009980, 0x0c000000, 0x00001980, 0x0c400000, 0x00009980,
- 0x0c800000, 0x00009980, 0x0cc00000, 0x00001980, 0x0d000000, 0x00009980,
- 0x0d400000, 0x00001980, 0x0d800000, 0x00001980, 0x0dc00000, 0x00009980,
- 0x0e000000, 0x00009980, 0x0e400000, 0x00001980, 0x0e800000, 0x00001980,
- 0x0ec00000, 0x00009980, 0x0f000000, 0x00001980, 0x0f400000, 0x00009980,
- 0x0f800000, 0x00009980, 0x0fc00000, 0x00001980, 0x10000000, 0x00009980,
- 0x10400000, 0x00001980, 0x10800000, 0x00001980, 0x10c00000, 0x00009980,
- 0x11000000, 0x00001980, 0x11400000, 0x00009980, 0x11800000, 0x00009980,
- 0x11c00000, 0x00001980, 0x12000000, 0x00001980, 0x12400000, 0x00009980,
- 0x12800000, 0x00009980, 0x12c00000, 0x00001980, 0x13000000, 0x00009980,
- 0x13400000, 0x00001980, 0x13800000, 0x00001980, 0x13c00000, 0x00009980,
- 0x14000000, 0x00001980, 0x14400000, 0x00009980, 0x14800000, 0x00009980,
- 0x14c00000, 0x00001980, 0x15000000, 0x00009980, 0x15400000, 0x00001980,
- 0x15800000, 0x00001980, 0x15c00000, 0x00009980, 0x16000000, 0x00009980,
- 0x16400000, 0x00001980, 0x16800000, 0x00001980, 0x16c00000, 0x00009980,
- 0x17000000, 0x00001980, 0x17400000, 0x00009980, 0x17800000, 0x00009980,
- 0x17c00000, 0x00001980, 0x18000000, 0x00001980, 0x18400000, 0x00009980,
- 0x18800000, 0x00009980, 0x18c00000, 0x00001980, 0x19000000, 0x00009980,
- 0x19400000, 0x00001980, 0x19800000, 0x00001980, 0x19c00000, 0x00009980,
- 0x1a000000, 0x00009980, 0x1a400000, 0x00001980, 0x1a800000, 0x00001980,
- 0x1ac00000, 0x00009980, 0x1b000000, 0x00001980, 0x1b400000, 0x00009980,
- 0x1b800000, 0x00009980, 0x1bc00000, 0x00001980, 0x1c000000, 0x00009980,
- 0x1c400000, 0x00001980, 0x1c800000, 0x00001980, 0x1cc00000, 0x00009980,
- 0x1d000000, 0x00001980, 0x1d400000, 0x00009980, 0x1d800000, 0x00009980,
- 0x1dc00000, 0x00001980, 0x1e000000, 0x00001980, 0x1e400000, 0x00009980,
- 0x1e800000, 0x00009980, 0x1ec00000, 0x00001980, 0x1f000000, 0x00009980,
- 0x1f400000, 0x00001980, 0x1f800000, 0x00001980, 0x1fc00000, 0x00009980,
- 0x20000000, 0x00009980, 0x20400000, 0x00001980, 0x20800000, 0x00001980,
- 0x20c00000, 0x00009980, 0x21000000, 0x00001980, 0x21400000, 0x00009980,
- 0x21800000, 0x00009980, 0x21c00000, 0x00001980, 0x22000000, 0x00001980,
- 0x22400000, 0x00009980, 0x22800000, 0x00009980, 0x22c00000, 0x00001980,
- 0x23000000, 0x00009980, 0x23400000, 0x00001980, 0x23800000, 0x00001980,
- 0x23c00000, 0x00009980, 0x24000000, 0x00001980, 0x24400000, 0x00009980,
- 0x24800000, 0x00009980, 0x24c00000, 0x00001980, 0x25000000, 0x00009980,
- 0x25400000, 0x00001980, 0x25800000, 0x00001980, 0x25c00000, 0x00009980,
- 0x26000000, 0x00009980, 0x26400000, 0x00001980, 0x26800000, 0x00001980,
- 0x26c00000, 0x00009980, 0x27000000, 0x00001980, 0x27400000, 0x00009980,
- 0x27800000, 0x00009980, 0x27c00000, 0x00001980, 0x28000000, 0x00001980,
- 0x28400000, 0x00009980, 0x28800000, 0x00009980, 0x28c00000, 0x00001980,
- 0x29000000, 0x00009980, 0x29400000, 0x00001980, 0x29800000, 0x00001980,
- 0x29c00000, 0x00009980, 0x2a000000, 0x00009980, 0x2a400000, 0x00001980,
- 0x2a800000, 0x00001980, 0x2ac00000, 0x00009980, 0x2b000000, 0x00001980,
- 0x2b400000, 0x00009980, 0x2b800000, 0x00009980, 0x2bc00000, 0x00001980,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x28400ce0, 0x00006283, 0x28800000, 0x00008981,
- 0x823d0eec, 0x0000a694, 0x28f71fe4, 0x00009810, 0x00000001, 0x00007088,
- 0x00000001, 0x0000f481, 0x284508a3, 0x00009202, 0x28800800, 0x00001991,
- 0x28800000, 0x00007900, 0x000010c4, 0x00008980, 0xa9802d00, 0x00006080,
- 0x001d18a2, 0x00006106, 0xa8680500, 0x0000e100, 0xe85812a6, 0x0000c080,
- 0x703d10ec, 0x00005600, 0x003d0800, 0x00000000, 0x28400004, 0x00006180,
- 0xa81722e4, 0x00004900, 0x28800000, 0x00007900, 0x00007fc0, 0x00000980,
- 0x822518a1, 0x0000e080, 0x001d18a2, 0x0000b186, 0x703d28ec, 0x0000d600,
- 0x003d2000, 0x00000000, 0xabc02d00, 0x00006080, 0x041710a1, 0x00006187,
- 0x703d10ec, 0x00005600, 0x003d0800, 0x00000000, 0x00c002ec, 0x0000df80,
- 0x1206280b, 0x00001684, 0x20c62099, 0x00007100, 0xb91502a0, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x28c00000, 0x0000f900,
- 0x000010c4, 0x00008980, 0xa8802d00, 0x0000e080, 0x001d28a3, 0x0000e106,
- 0xa8680500, 0x0000e100, 0xe85812a2, 0x00004080, 0x703d18ec, 0x0000d600,
- 0x003d0800, 0x00000000, 0x28400004, 0x00006180, 0x290500a0, 0x00004900,
- 0x28c00000, 0x0000f900, 0x00007fc0, 0x00000980, 0x822528a1, 0x0000e080,
- 0x001d28a3, 0x00003186, 0x703d20ec, 0x00005600, 0x003d3000, 0x00008000,
- 0xe89722e4, 0x00006100, 0x041710a1, 0x00006187, 0x703d18ec, 0x0000d600,
- 0x003d0800, 0x00000000, 0xabc02d00, 0x00001880, 0x00c002ec, 0x0000df80,
- 0x1207000b, 0x00009684, 0x20e12099, 0x00007100, 0xb91d13a2, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x2038a2ec, 0x00002080,
- 0x04209fe4, 0x00001800, 0xffffffff, 0x00007f97, 0x0400a010, 0x00009202,
- 0x2b000000, 0x00007910, 0x0000c0c0, 0x00008980, 0xab001800, 0x00006190,
- 0xe9300600, 0x00004911, 0x00000001, 0x00007088, 0x29990000, 0x00007900,
- 0x0019b31e, 0x00008980, 0x29d7f800, 0x0000f900, 0x0019b31e, 0x00008980,
- 0xa9280500, 0x00006101, 0x08001aa4, 0x00006106, 0x00001bd8, 0x00007400,
- 0x29789f02, 0x00000a0c, 0x28789711, 0x00000a08, 0xc11722e4, 0x00006100,
- 0x81800ee3, 0x00004880, 0x86bb6406, 0x0000b038, 0x86bb7606, 0x0000b038,
- 0xffffffff, 0x00007f97, 0x46c0246d, 0x0000c388, 0x0040246d, 0x00008098,
- 0x3c00146d, 0x0000c488, 0xca40146d, 0x0000089b, 0x00800c6d, 0x0000c789,
- 0x1960346d, 0x00000a8c, 0x2cc0346d, 0x0000c5a8, 0x98203c6d, 0x0000998a,
- 0x86ff1fe3, 0x00006100, 0x01c00000, 0x00004981, 0x8a384c1b, 0x0000a080,
- 0x02000000, 0x000001ee, 0x421719e3, 0x00000022, 0xffffffff, 0x00007f86,
- 0x01803c09, 0x0000e281, 0x08004e08, 0x00002004, 0x00001c06, 0x00009583,
- 0x01803c09, 0x00006283, 0x01c00800, 0x00008991, 0x06c00800, 0x00009991,
- 0xffffffff, 0x00007f86, 0x41a0d807, 0x00004914, 0x884004e3, 0x00000893,
- 0x28c09800, 0x00007900, 0x00001000, 0x00000980, 0x293b776f, 0x00000a14,
- 0xffffffff, 0x00007f86, 0x211720af, 0x0000f004, 0x000004a2, 0x00001583,
- 0x81bf1fe3, 0x00009908, 0x8a00dc06, 0x0000a088, 0x00002120, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x01803c1b, 0x00001281, 0x06c01406, 0x00001181,
- 0x00000c1b, 0x00001583, 0x00002125, 0x0000701b, 0x268a0800, 0x00007900,
- 0x0016268e, 0x00008980, 0x21251c61, 0x00007500, 0x267b7f6e, 0x00000920,
- 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86, 0x81bf17e2, 0x00006100,
- 0x02000000, 0x0000c980, 0x97783806, 0x00002080, 0x3040ceaf, 0x00007902,
- 0x06000000, 0x00000000, 0x30009caf, 0x00007902, 0x04800000, 0x00000000,
- 0x30405caf, 0x0000f902, 0x02800000, 0x00000000, 0x00000407, 0x0000e583,
- 0x02283d07, 0x00000901, 0x3080aaaf, 0x0000f902, 0x05000000, 0x00000000,
- 0x4220c418, 0x00001901, 0x00002145, 0x0000f008, 0x4020c507, 0x00001503,
- 0x8030c607, 0x0000150b, 0x01000000, 0x0000f910, 0x0000c040, 0x00000980,
- 0x01800000, 0x0000e190, 0x01c00000, 0x00004990, 0x00002145, 0x0000f008,
- 0x0362c000, 0x00007900, 0x0016268e, 0x00008980, 0x03a33000, 0x0000f900,
- 0x00081b88, 0x00000980, 0x81007000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x02c01002, 0x00001900, 0x21451bac, 0x0000f100,
- 0x970044ec, 0x00007902, 0x01c00000, 0x00008000, 0x06800000, 0x00009980,
- 0x46b0560a, 0x00001901, 0xffffffff, 0x00007f86, 0x06a04408, 0x00009901,
- 0x00000508, 0x0000f888, 0x00000000, 0x00000000, 0x54705408, 0x0000780a,
- 0x01000001, 0x00000060, 0x02000807, 0x0000c589, 0x84600508, 0x00000196,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0363b800, 0x0000f900,
- 0x0016268e, 0x00008980, 0x03807000, 0x0000f900, 0x000d902c, 0x00008980,
- 0x01800000, 0x00006180, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x00002144, 0x00007400, 0x82781400, 0x0000802c,
- 0x81006800, 0x0000e180, 0x0200d01a, 0x00004900, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0363c800, 0x00007900, 0x0016268e, 0x00008980,
- 0x03b64000, 0x0000f900, 0x0023f9a8, 0x00008980, 0x02000000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x01800000, 0x000080dc, 0x00002144, 0x00007400,
- 0x82600500, 0x00008026, 0x81001000, 0x0000e180, 0x02c01002, 0x00004900,
- 0x02400000, 0x0000f900, 0x000040c0, 0x00000980, 0x02000002, 0x00006180,
- 0x07000000, 0x0000c980, 0x06c00180, 0x00006180, 0x0180a002, 0x00004780,
- 0x82445500, 0x0000f900, 0x00000002, 0x00000080, 0xc2280500, 0x00006100,
- 0x0000d81c, 0x00006206, 0x4510301c, 0x00006907, 0x743848ec, 0x00005600,
- 0x00384000, 0x00000000, 0x7438e0ec, 0x0000d600, 0x00080000, 0x00000080,
- 0x00c002ec, 0x0000df80, 0x120be80b, 0x00009684, 0x06800000, 0x0000e180,
- 0x86e80500, 0x00004900, 0x88a0d41b, 0x00002080, 0x0200071c, 0x0000809c,
- 0xffffffff, 0x00007f97, 0x0800d206, 0x0000e900, 0x80000206, 0x00009582,
- 0x86e80500, 0x00009908, 0x8880341b, 0x00002089, 0x0000218a, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x01807406, 0x00009283, 0x00002196, 0x0000700b,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0367c800, 0x0000f900,
- 0x00162690, 0x00008980, 0x03b31000, 0x0000f900, 0x00345b60, 0x00008980,
- 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106, 0x00002144, 0x00007400,
- 0x82781400, 0x0000802c, 0x81015800, 0x00006180, 0x0180d01a, 0x0000c900,
- 0x00000c18, 0x0000e583, 0x01800000, 0x00008980, 0x01c00000, 0x0000e180,
- 0x00002006, 0x0000658f, 0x8620c006, 0x0000e08f, 0x0418a807, 0x0000b18f,
- 0x86f71ee3, 0x00006100, 0x02409813, 0x0000c900, 0x02385712, 0x00000128,
- 0x2ab83a1b, 0x00005004, 0x00383000, 0x00008000, 0x0438cf15, 0x00000034,
- 0x0338a718, 0x00000028, 0x03b84f1a, 0x00008114, 0x21a71cc4, 0x00007500,
- 0x05385f08, 0x00000024, 0x02c08010, 0x00001900, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x82c044ec, 0x0000f902, 0x01800000, 0x00008604,
- 0x81b71ee3, 0x00006100, 0x02636c6d, 0x00004901, 0x024b6d6d, 0x00008024,
- 0xffffffff, 0x00007f86, 0x82904208, 0x00001900, 0x85804406, 0x00007902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x80000606, 0x00009583,
- 0xc2984308, 0x00001910, 0xc2903206, 0x00001908, 0x000021ba, 0x0000f010,
- 0x023b670a, 0x0000860c, 0x18804809, 0x00006100, 0x0000200a, 0x00006586,
- 0x18404008, 0x00006100, 0x042b680a, 0x00006087, 0x8623680a, 0x00006887,
- 0x22841c83, 0x0000f500, 0x2804e800, 0x00007900, 0x0016268e, 0x00008980,
- 0x1800500a, 0x00009900, 0x21c720af, 0x0000f404, 0x297b7f6e, 0x00000a10,
- 0x28c09a00, 0x00001980, 0x000004a2, 0x00001583, 0x81bf1fe3, 0x00009908,
- 0x8a00dc06, 0x0000a088, 0x000021d0, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x01803c1b, 0x00001281, 0x06c01406, 0x00001181, 0x00000c1b, 0x00001583,
- 0x000021d5, 0x0000701b, 0x26a5d000, 0x0000f900, 0x0016268e, 0x00008980,
- 0x21d51c61, 0x00007500, 0x267b7f6e, 0x00000920, 0x26e514a2, 0x00001900,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x303856af, 0x00002000, 0x30004caf, 0x0000f902, 0x02000000, 0x00008000,
- 0xffffffff, 0x00007f97, 0x0180500a, 0x00009900, 0x00002234, 0x0000f400,
- 0x02b83709, 0x0000801c, 0x02404008, 0x00009900, 0x02000000, 0x0000e180,
- 0x81bf1fe3, 0x00004900, 0x00002252, 0x0000f400, 0x8a384c06, 0x0000a080,
- 0x023f1fe3, 0x00009901, 0x21e820af, 0x00007404, 0x297b7f6e, 0x00000a10,
- 0x28c09a00, 0x00001980, 0x000004a2, 0x00001583, 0x81bf1fe3, 0x00009908,
- 0x8a00dc06, 0x0000a088, 0x000021f1, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x01803c1b, 0x00001281, 0x06c01406, 0x00001181, 0x00000c1b, 0x00001583,
- 0x000021f6, 0x0000f01b, 0x2684b000, 0x0000f900, 0x00162690, 0x00008980,
- 0x21f61c61, 0x0000f500, 0x267b7f6e, 0x00000920, 0x26e514a2, 0x00001900,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x30383caf, 0x0000a080, 0x02000000, 0x00009980, 0x42371ee3, 0x00001901,
- 0xffffffff, 0x00007f86, 0x01808407, 0x0000e081, 0x02008407, 0x00000081,
- 0x01c00000, 0x00006181, 0x86e03406, 0x00004900, 0x8a384c1b, 0x0000a080,
- 0x06c00000, 0x00009981, 0xffffffff, 0x00007f97, 0x01803c09, 0x0000e281,
- 0x08004e08, 0x00002004, 0x00001c06, 0x00009583, 0x01803c09, 0x00006283,
- 0x01c00800, 0x00008991, 0x06c00800, 0x00009991, 0xffffffff, 0x00007f86,
- 0x01a0dc07, 0x00009203, 0x0000221a, 0x0000f00b, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0348f800, 0x00007900, 0x0016268e, 0x00008980,
- 0x03863800, 0x0000f900, 0x003a7d3e, 0x00000980, 0x01800000, 0x00006180,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x00002144, 0x00007400, 0x82781400, 0x0000802c, 0x81005800, 0x00009980,
- 0x221d20af, 0x00007404, 0x297b7f6e, 0x00000a10, 0x28c09a00, 0x00001980,
- 0x000004a2, 0x00001583, 0x81bf1fe3, 0x00009908, 0x8a00dc06, 0x0000a088,
- 0x00002226, 0x0000f010, 0xffffffff, 0x00007f97, 0x01803c1b, 0x00001281,
- 0x06c01406, 0x00001181, 0x00000c1b, 0x00001583, 0x0000222b, 0x0000f01b,
- 0x26a5d000, 0x0000f900, 0x0016268e, 0x00008980, 0x222b1c61, 0x0000f500,
- 0x267b7f6e, 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x30003caf, 0x00007902,
- 0x02400000, 0x00000000, 0x303836af, 0x00002000, 0xffffffff, 0x00007f97,
- 0x02803807, 0x00009900, 0x01c03006, 0x00001900, 0x21a71d31, 0x00007100,
- 0x000021a7, 0x00007000, 0x223920af, 0x00007404, 0x297b7f6e, 0x00000a10,
- 0x28c09900, 0x00001980, 0x000004a2, 0x00001583, 0x86ff1fe3, 0x00009908,
- 0x8a00341b, 0x0000a088, 0x00002242, 0x00007010, 0xffffffff, 0x00007f97,
- 0x06c03c06, 0x00001281, 0x0180141b, 0x00001181, 0x00000c06, 0x00001583,
- 0x00002247, 0x0000f01b, 0x26860000, 0x0000f900, 0x00162690, 0x00008980,
- 0x22471c61, 0x0000f500, 0x267b7f6e, 0x00000920, 0x26e514a2, 0x00001900,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x30383caf, 0x0000a080, 0x02000000, 0x00009980, 0xffffffff, 0x00007f97,
- 0x06c08407, 0x0000e081, 0xf8c08407, 0x00000081, 0x02008407, 0x00006081,
- 0x81a0dc1b, 0x00008900, 0x8a384c06, 0x0000a080, 0x42371ee3, 0x00001901,
- 0xffffffff, 0x00007f97, 0x06c03c09, 0x0000e281, 0x08004e08, 0x00002004,
- 0x00000c1b, 0x00001583, 0x01000000, 0x0000f910, 0x0000c040, 0x00000980,
- 0x01800000, 0x0000e190, 0x01c00000, 0x00004990, 0x00002265, 0x00007008,
- 0x036b0800, 0x0000f900, 0x0016268e, 0x00008980, 0x03a2c800, 0x0000f900,
- 0x0008bad4, 0x00008980, 0x81006000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x00002144, 0x00007400, 0x82600500, 0x00008026, 0x02c01002, 0x00001900,
- 0x21a71da8, 0x00007004, 0x000021a7, 0x00007000, 0x226b20af, 0x0000f404,
- 0x28c09800, 0x00007900, 0x00001000, 0x00000980, 0x293b776f, 0x00000a14,
- 0x000004a2, 0x00001583, 0x86ff1fe3, 0x00009908, 0x8a00341b, 0x0000a088,
- 0x00002274, 0x00007010, 0xffffffff, 0x00007f97, 0x06c03c06, 0x00001281,
- 0x0180141b, 0x00001181, 0x00000c06, 0x00001583, 0x00002279, 0x0000701b,
- 0x26a71000, 0x00007900, 0x0016268e, 0x00008980, 0x22791c61, 0x00007500,
- 0x267b7f6e, 0x00000920, 0x26e514a2, 0x00001900, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x30384caf, 0x0000a000,
- 0x30783eaf, 0x00002000, 0xffffffff, 0x00007f97, 0xc0000709, 0x00009583,
- 0x000021a7, 0x0000f400, 0x81b71ee3, 0x00009910, 0x97a03806, 0x0000a810,
- 0x22841d8e, 0x00007100, 0x1a009000, 0x00007900, 0x00008100, 0x00008980,
- 0x1a400000, 0x0000f900, 0x00010000, 0x00000980, 0x200ba6ec, 0x00005680,
- 0x003b2449, 0x0000bf10, 0x1a800702, 0x000006ac, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0090d0ec, 0x00005780,
- 0x00006000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0xb9182304, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x03440000, 0x0000f900, 0x0016268e, 0x00008980, 0x03ba9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x0203606c, 0x00006100, 0x08001a09, 0x0000e106,
- 0x0180076d, 0x0000009c, 0x00002144, 0x00007400, 0x82600500, 0x00008026,
- 0x81002800, 0x00006180, 0x02c01002, 0x00004900, 0x03800000, 0x000001e8,
- 0x06c00000, 0x00006180, 0x05002004, 0x0000c900, 0x05783705, 0x00000118,
- 0x05f84707, 0x00000120, 0x06782709, 0x00000134, 0x07383705, 0x0000010c,
- 0x04b84707, 0x00000104, 0x22ae1e7d, 0x00007404, 0x04205709, 0x00000038,
- 0x8690520a, 0x00009900, 0x04009000, 0x00007900, 0x0000c1c0, 0x00000980,
- 0x04400000, 0x0000f900, 0x00010000, 0x00000980, 0x100000ec, 0x0000d680,
- 0x00000000, 0x00008080, 0x04c00000, 0x000081c8, 0x009826ec, 0x00005f80,
- 0x00006000, 0x00000084, 0x03800000, 0x000001e8, 0x06c00000, 0x00006180,
- 0x05002004, 0x0000c900, 0x05783705, 0x00000118, 0x05f84707, 0x00000120,
- 0x06782709, 0x00008130, 0x04f83705, 0x00008108, 0x04784707, 0x00008100,
- 0x22c21dc9, 0x00007500, 0x03e05709, 0x00008038, 0x8690520a, 0x00009900,
- 0x04009000, 0x00007900, 0x0000c200, 0x00000980, 0x04400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x100008ec, 0x00005680, 0x00000000, 0x00008080,
- 0x04c00000, 0x000081c8, 0x009826ec, 0x00005f80, 0x00006000, 0x00000084,
- 0x04c00000, 0x000001e8, 0x99f0d4ec, 0x00002081, 0x06c00000, 0x00006180,
- 0x05002004, 0x0000c900, 0x05783705, 0x00000118, 0x05f84707, 0x00000120,
- 0x06782709, 0x00000204, 0x08383705, 0x0000013c, 0x07b84707, 0x00000134,
- 0x22d71f4f, 0x0000f500, 0x07205709, 0x0000010c, 0x8690520a, 0x00009900,
- 0x04009000, 0x00007900, 0x0000c380, 0x00000980, 0x04400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x100010ec, 0x00005680, 0x00000000, 0x00008080,
- 0x04c00000, 0x000081c8, 0x009826ec, 0x00005f80, 0x00006000, 0x00000084,
- 0x02401000, 0x0000e180, 0x094a1880, 0x00004980, 0x8a084c0a, 0x0000a002,
- 0x08c80000, 0x00001980, 0x22e71db3, 0x0000f501, 0xffffffff, 0x00007f86,
- 0x09004809, 0x00009900, 0x00000001, 0x00007280, 0x780000ec, 0x00005680,
- 0x00000000, 0x00008080, 0x028728e5, 0x0000e100, 0x0fc0040c, 0x00006004,
- 0xc18004e5, 0x000000ac, 0x00001c0c, 0x00009583, 0x00001c0c, 0x00009583,
- 0x00000c0c, 0x00001583, 0x00002307, 0x00007008, 0x000022f5, 0x00007038,
- 0x000022fc, 0x00007008, 0x05002306, 0x00004588, 0x90c03306, 0x00000292,
- 0x0000340c, 0x00009583, 0x00003c0c, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00002300, 0x0000f008, 0x00002307, 0x00007008, 0x04202306, 0x0000c589,
- 0x10403306, 0x00000197, 0x00002314, 0x0000f400, 0x08000c07, 0x0000e080,
- 0x08001a0a, 0x0000b106, 0xc1801e07, 0x0000802e, 0x08000c06, 0x00006080,
- 0x08001a0a, 0x0000b106, 0xc1a81e06, 0x0000802c, 0x0d001c06, 0x0000e806,
- 0x81a03406, 0x00001900, 0x02c02306, 0x0000c588, 0x8fa03306, 0x00008191,
- 0x82d81b03, 0x0000e100, 0x08000c06, 0x00006080, 0xc1a83e06, 0x0000002c,
- 0x01830400, 0x00009281, 0x00010406, 0x00001583, 0x08003a0a, 0x0000690e,
- 0x00002312, 0x00007009, 0x00020406, 0x00001583, 0x08001a0a, 0x0000610e,
- 0x08002c06, 0x00003088, 0xc1a03406, 0x00001908, 0x0d003c06, 0x00006806,
- 0x81a03406, 0x00001900, 0x0d001c07, 0x00006806, 0xc2a03c07, 0x00009900,
- 0x63602306, 0x00004988, 0xfe403306, 0x00000897, 0x01c00800, 0x00009981,
- 0xffffffff, 0x00007f86, 0x0000231c, 0x0000f000, 0x01c00000, 0x00001981,
- 0x9940ceec, 0x0000f902, 0x06000000, 0x00000000, 0x9980b8ec, 0x00007902,
- 0x05800000, 0x00008000, 0x9980aaec, 0x00007902, 0x05000000, 0x00000000,
- 0x99809cec, 0x00007902, 0x04800000, 0x00000000, 0x99808eec, 0x00007902,
- 0x04000000, 0x00008000, 0x99c078ec, 0x0000f902, 0x03800000, 0x00008000,
- 0x73e00407, 0x00004188, 0x00400c07, 0x00000090, 0xde400d0b, 0x0000f896,
- 0x01000001, 0x00000000, 0xdf000f0b, 0x00007896, 0x01000001, 0x00000000,
- 0xdfc0150b, 0x0000f896, 0x01000001, 0x00000000, 0xe080170b, 0x0000f896,
- 0x01000001, 0x00000000, 0xe140250b, 0x0000f896, 0x01000001, 0x00000000,
- 0xe200270b, 0x0000f896, 0x01000001, 0x00000000, 0xe2c0450b, 0x00007896,
- 0x01000001, 0x00000000, 0xe380470b, 0x0000f896, 0x01000001, 0x00000000,
- 0x7220850b, 0x0000c496, 0x2a40870b, 0x00008897, 0x0ba1050b, 0x0000c597,
- 0x8621070b, 0x00008688, 0xd4800d0b, 0x0000f896, 0x01000001, 0x00000000,
- 0xd5400f0b, 0x0000f896, 0x01000001, 0x00000000, 0xd600150b, 0x0000f896,
- 0x01000001, 0x00000000, 0xd6c0170b, 0x00007896, 0x01000001, 0x00000000,
- 0xd780250b, 0x0000f896, 0x01000001, 0x00000000, 0xd840270b, 0x00007896,
- 0x01000001, 0x00000000, 0xd900450b, 0x0000f896, 0x01000001, 0x00000000,
- 0xd9c0470b, 0x00007896, 0x01000001, 0x00000000, 0x6d40850b, 0x00004496,
- 0xdc40870b, 0x00000896, 0x0441050b, 0x00004597, 0x04e1070b, 0x0000028b,
- 0x00002340, 0x00007400, 0x80172a19, 0x00009502, 0x86400a19, 0x00001090,
- 0x00002342, 0x0000f400, 0x80172a16, 0x00009502, 0x85800a16, 0x00001090,
- 0x00002344, 0x0000f400, 0xc0172b19, 0x00009502, 0xc6400b19, 0x00001090,
- 0x00002346, 0x00007400, 0xc0172b16, 0x00009502, 0xc5800b16, 0x00001090,
- 0x00002348, 0x0000f400, 0x80172a18, 0x00001502, 0x86000a18, 0x00001090,
- 0x0000234a, 0x00007400, 0x80172a15, 0x00009502, 0x85400a15, 0x00001090,
- 0x0000234c, 0x00007400, 0xc0172b18, 0x00001502, 0xc6000b18, 0x00001090,
- 0x0000234e, 0x0000f400, 0xc0172b15, 0x00009502, 0xc5400b15, 0x00001090,
- 0x80172a17, 0x00001502, 0xc1c0870b, 0x00006283, 0x85c00a17, 0x00008090,
- 0x00002370, 0x0000700b, 0x80172a14, 0x00001502, 0x85000a14, 0x00001090,
- 0x41c1050b, 0x00009283, 0x00002374, 0x0000f00b, 0xc0172b17, 0x00001502,
- 0xc5c00b17, 0x00001090, 0xc1c1070b, 0x00009283, 0x0000239f, 0x0000f00b,
- 0x0000239f, 0x0000f400, 0xc0172b14, 0x00001502, 0xc5000b14, 0x00001090,
- 0x0000232c, 0x00007400, 0x80172a13, 0x00009502, 0x84c00a13, 0x00001090,
- 0x0000232e, 0x0000f400, 0x80172a10, 0x00009502, 0x84000a10, 0x00001090,
- 0x00002330, 0x0000f400, 0xc0172b13, 0x00009502, 0xc4c00b13, 0x00001090,
- 0x00002332, 0x00007400, 0xc0172b10, 0x00009502, 0xc4000b10, 0x00001090,
- 0x00002334, 0x00007400, 0x80172a12, 0x00001502, 0x84800a12, 0x00001090,
- 0x00002336, 0x0000f400, 0x80172a0f, 0x00001502, 0x83c00a0f, 0x00001090,
- 0x00002338, 0x00007400, 0xc0172b12, 0x00001502, 0xc4800b12, 0x00001090,
- 0x0000233a, 0x0000f400, 0xc0172b0f, 0x00001502, 0xc3c00b0f, 0x00001090,
- 0x80172a11, 0x00001502, 0xc1c0870b, 0x00006283, 0x84400a11, 0x00008090,
- 0x00002397, 0x0000700b, 0x80172a0e, 0x00009502, 0x83800a0e, 0x00001090,
- 0x41c1050b, 0x00009283, 0x0000239b, 0x0000700b, 0xc0172b11, 0x00001502,
- 0xc4400b11, 0x00001090, 0xc1c1070b, 0x00009283, 0x0000239f, 0x0000f00b,
- 0xc0172b0e, 0x00009502, 0xc3800b0e, 0x00001090, 0x80172a06, 0x00001502,
- 0x9978ceec, 0x00005000, 0x0038c000, 0x00008000, 0x99b8b8ec, 0x0000d000,
- 0x0038b000, 0x00000000, 0x99b8aaec, 0x0000d000, 0x0038a000, 0x00008000,
- 0x99b89cec, 0x0000d000, 0x00389000, 0x00008000, 0x99b88eec, 0x0000d000,
- 0x00388000, 0x00000000, 0x99f878ec, 0x00005000, 0x00387000, 0x00000000,
- 0x01c02004, 0x0000e108, 0x08004a04, 0x0000e110, 0x01c04008, 0x00009910,
- 0x08002a04, 0x00006908, 0x00402306, 0x00004589, 0x80e03306, 0x0000018f,
- 0x02400800, 0x00007900, 0x00100000, 0x00000980, 0x200f26ec, 0x00005680,
- 0x00383d09, 0x0000bf10, 0x09400000, 0x00007900, 0x00001004, 0x00008980,
- 0x23bc1db3, 0x00007500, 0x09001000, 0x0000e180, 0x45102009, 0x0000e101,
- 0x08c00000, 0x00009980, 0x000023d6, 0x00007200, 0x783848ec, 0x00005600,
- 0x00000000, 0x00008080, 0x0f800702, 0x000003bc, 0x0000183f, 0x00006906,
- 0x0f001000, 0x00007900, 0x00004000, 0x00000980, 0x0f420000, 0x0000f900,
- 0x00040000, 0x00000980, 0xc000183f, 0x0000e806, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008878ec, 0x0000d780,
- 0x00005800, 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x000023d6, 0x0000f000, 0x01000020, 0x00006180,
- 0x02000000, 0x0000c980, 0x036a9000, 0x0000f900, 0x0033c8e4, 0x00000980,
- 0x00002405, 0x00007400, 0x01800000, 0x000080dc, 0x81001000, 0x00009980,
- 0x98b828ec, 0x00002080, 0xffffffff, 0x00007fa7, 0x00010405, 0x00001583,
- 0xc0172b0a, 0x0000e502, 0xa000000b, 0x00002408, 0x00000000, 0x0000f08b,
- 0x7c80250b, 0x00004496, 0xc840270b, 0x00008897, 0x7fc0130a, 0x0000c388,
- 0x0040130a, 0x00008098, 0x0240030a, 0x00004790, 0x8180230a, 0x0000818d,
- 0xfe80230a, 0x0000f8aa, 0xa9000000, 0x0000918f, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x03527000, 0x0000f900, 0x0028e40e, 0x00000980, 0x03a0f800, 0x00007900,
- 0x003ab282, 0x00008980, 0x0220550a, 0x00008020, 0x82600500, 0x00008026,
- 0x81016000, 0x0000e180, 0x01e05c0b, 0x0000c901, 0x02c01002, 0x00001900,
- 0x23f21bac, 0x00007100, 0xc0000b0a, 0x00001582, 0x00000000, 0x0000f093,
- 0x000023f9, 0x00007000, 0xc0003b0a, 0x00001582, 0x00000000, 0x0000f093,
- 0x000023fc, 0x00007000, 0x23f90fe8, 0x0000f100, 0x23fa162f, 0x0000f100,
- 0x23fb3872, 0x0000f100, 0x23fc240c, 0x0000f100, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x23ff4160, 0x0000f100, 0x01000020, 0x00006180,
- 0x02000000, 0x0000c980, 0x03533800, 0x00007900, 0x00320dd8, 0x00008980,
- 0x01800000, 0x000080dc, 0x81001000, 0x00009980, 0x039ed000, 0x0000f900,
- 0x0016e9b4, 0x00008980, 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106,
- 0x000023f1, 0x00007400, 0x82600500, 0x00008026, 0x02c01002, 0x00001900,
- 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x81800ee3, 0x00001880, 0x86bb6406, 0x0000b038,
- 0x86bb7606, 0x0000b038, 0x82c03cec, 0x0000f902, 0x01800000, 0x00008604,
- 0x81b71ee3, 0x00001900, 0x18c3606c, 0x0000e100, 0x00236808, 0x00006086,
- 0x822b6808, 0x00006886, 0x0010380b, 0x0000e186, 0x041b6808, 0x00003187,
- 0x85803c06, 0x00007902, 0x01800000, 0x00000000, 0x02404008, 0x00009900,
- 0x281ef000, 0x0000f900, 0x0037b402, 0x00008980, 0x18804809, 0x00001900,
- 0x80000606, 0x00009583, 0x0410300b, 0x0000e18f, 0x0418380b, 0x0000b197,
- 0x00002006, 0x0000ed86, 0x1840580b, 0x00006100, 0x042b6806, 0x00006087,
- 0x242a1c83, 0x00007500, 0x86236806, 0x00006887, 0x18003006, 0x00009900,
- 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x00007c6d, 0x00001583,
- 0x0000446d, 0x00009583, 0xffffffff, 0x00007f86, 0x00002434, 0x00007018,
- 0x00002444, 0x00007020, 0x01800c6d, 0x00009181, 0x0dc02406, 0x0000789b,
- 0x21000000, 0x00001282, 0x0000846d, 0x00009583, 0x81802800, 0x00001988,
- 0x00002445, 0x00007009, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x03748000, 0x00007900, 0x002e345a, 0x00000980, 0x03ba9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x24441bac, 0x0000f500, 0x02fb6702, 0x00008020,
- 0x81002800, 0x00006180, 0x0183686d, 0x0000c900, 0x81802000, 0x00001980,
- 0x41c00054, 0x000086e8, 0x022b2000, 0x0000f900, 0x001f8008, 0x00000980,
- 0x81903207, 0x0000e100, 0x1ac00000, 0x00000980, 0x04103008, 0x0000e101,
- 0xc32b686b, 0x00003006, 0x1a009000, 0x00007900, 0x0000c500, 0x00008980,
- 0x1a400000, 0x0000f900, 0x00010000, 0x00000980, 0x203846ec, 0x00005600,
- 0x003b2000, 0x00000000, 0xda981302, 0x00009900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0098d0ec, 0x0000d780,
- 0x00006000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x00000001, 0x0000f080, 0xc1008738, 0x00009283,
- 0x200f26ec, 0x00005680, 0x003c4509, 0x00003f10, 0xea3838ec, 0x0000a090,
- 0x0000246b, 0x0000f008, 0x01a9cfe4, 0x0000e000, 0xc0000038, 0x0000e401,
- 0xffffffff, 0x00007f86, 0x01c03806, 0x00001400, 0x2bb834ec, 0x0000a084,
- 0xea3838ec, 0x0000a880, 0xffffffff, 0x00007f97, 0x00072806, 0x00009502,
- 0x01800806, 0x00001090, 0x2bb834ec, 0x0000a894, 0x00000405, 0x00009583,
- 0x815000ec, 0x00005694, 0x00000000, 0x00000180, 0x813828ec, 0x00002694,
- 0x00002470, 0x0000f008, 0x7fc00400, 0x000081fc, 0x07505800, 0x0000f900,
- 0x00044010, 0x00000980, 0x07801002, 0x0000e100, 0x0000181f, 0x00006106,
- 0x07001000, 0x0000f900, 0x00030000, 0x00008980, 0x08c00000, 0x00007900,
- 0x00080000, 0x00000980, 0x09a00000, 0x0000f900, 0x00355574, 0x00008980,
- 0x09ed6800, 0x00007900, 0x003f57fe, 0x00008980, 0x08001000, 0x00006180,
- 0xc000181f, 0x0000e006, 0x08400000, 0x00006180, 0x08800006, 0x00004980,
- 0x09000000, 0x000082d4, 0x0a00001f, 0x000002e4, 0x0a800000, 0x000082ec,
- 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x87602404, 0x00009901,
- 0x00803eec, 0x00005f80, 0x00005803, 0x00008084, 0x02207c0f, 0x00009901,
- 0x9f00040f, 0x0000c488, 0xc040940f, 0x00000999, 0x99200d0f, 0x0000c48c,
- 0x6e400c0f, 0x00008991, 0x2b402f07, 0x0000f88b, 0x01000001, 0x00008080,
- 0x8180e20e, 0x00001080, 0x81903705, 0x00001000, 0x80182206, 0x00009502,
- 0x00000001, 0x0000f09b, 0xc1103304, 0x00006100, 0x41003d04, 0x00008181,
- 0xcdc00f37, 0x00006081, 0x09006406, 0x00002006, 0x41400d05, 0x00006081,
- 0x01800c06, 0x00000081, 0xc720300c, 0x00006807, 0xf8670ce1, 0x00006101,
- 0x02b9be37, 0x00004101, 0x0000040a, 0x00009583, 0x10a07c00, 0x00007904,
- 0x04020300, 0x00007904, 0x000024a9, 0x0000f208, 0x03820300, 0x00007904,
- 0x02207c0f, 0x0000e101, 0x0180340f, 0x00004081, 0x0247870c, 0x00009281,
- 0x95260409, 0x00004488, 0x5240780a, 0x00008929, 0x9521050f, 0x00004994,
- 0x14502306, 0x00000931, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x00000001, 0x0000f080, 0x8180e20e, 0x0000e080,
- 0x0000000f, 0x0000a401, 0x81903705, 0x0000e000, 0x2000000f, 0x0000a583,
- 0x80182206, 0x00006502, 0x2490700f, 0x00002183, 0x10c08500, 0x00007904,
- 0x10c07500, 0x00007904, 0x00002494, 0x00007030, 0x00000001, 0x0000f080,
- 0xc0002f07, 0x00001583, 0x0180140f, 0x00009891, 0x387f0c06, 0x00009011,
- 0x0000251c, 0x00007008, 0x0b807a06, 0x0000e982, 0x81903705, 0x00001000,
- 0x8180e206, 0x00009080, 0x80182206, 0x00009502, 0x00000001, 0x0000f09b,
- 0xc1103304, 0x00006100, 0xcde07f37, 0x00008001, 0x41607d05, 0x0000e001,
- 0x01803504, 0x00000181, 0x41207c06, 0x00006101, 0x09006406, 0x00002006,
- 0x0000249b, 0x0000f400, 0x01800c06, 0x00009081, 0xc720300c, 0x00006807,
- 0x41c00608, 0x000000b0, 0x01808010, 0x0000e100, 0x81d1bd05, 0x0000c000,
- 0x02000ce0, 0x00006283, 0xc1e87d0f, 0x00000901, 0x00002531, 0x00007013,
- 0x000004e3, 0x00001583, 0x03405000, 0x00001990, 0x00002510, 0x0000f009,
- 0x24d31c53, 0x00007100, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980,
- 0x29821000, 0x0000f900, 0x002d859c, 0x00000980, 0x29fd1000, 0x00007900,
- 0x000fd02e, 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106,
- 0xa9381400, 0x00008a14, 0x24df1bd8, 0x00007500, 0x28f83f10, 0x00008a08,
- 0x6b000013, 0x00008ac4, 0x24e0245c, 0x0000f100, 0x03000000, 0x00006180,
- 0x01808010, 0x0000c900, 0x43388e08, 0x0000001c, 0x02000ce0, 0x00006283,
- 0x8311bd05, 0x00008000, 0x00002548, 0x0000f013, 0x000004e3, 0x00001583,
- 0x03404800, 0x00001990, 0x00002578, 0x00007009, 0x24ea1c53, 0x00007100,
- 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980, 0x29810800, 0x0000f900,
- 0x002d859c, 0x00000980, 0x29d5b000, 0x00007900, 0x0015cd1c, 0x00000980,
- 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14,
- 0x24f71bd8, 0x00007500, 0x28f88f10, 0x00000a08, 0xab009000, 0x0000e180,
- 0x2840600c, 0x00004900, 0x24f8245c, 0x0000f100, 0x03000000, 0x00006180,
- 0x01808010, 0x0000c900, 0x01f07f11, 0x00008031, 0x02000ce0, 0x00006283,
- 0x8311bd05, 0x00008000, 0x00002560, 0x0000f013, 0x000004e3, 0x00001583,
- 0x03404800, 0x00001990, 0x0000257f, 0x0000f009, 0x25021c53, 0x0000f100,
- 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980, 0x29800800, 0x00007900,
- 0x002d859c, 0x00000980, 0x29d5b000, 0x00007900, 0x0015cd1c, 0x00000980,
- 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14,
- 0x250f1bd8, 0x00007500, 0x28f88f10, 0x00000a08, 0xab009000, 0x0000e180,
- 0x2840600c, 0x00004900, 0x2510245c, 0x00007100, 0x01000020, 0x00001980,
- 0x03421000, 0x00007900, 0x002d859c, 0x00000980, 0x03bd1000, 0x00007900,
- 0x000fd02e, 0x00000980, 0x81009800, 0x00009980, 0xc1001800, 0x00006181,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x251c1bac, 0x0000f500,
- 0x02f83702, 0x00008020, 0x01f83f0c, 0x00000018, 0x2490700f, 0x00006983,
- 0x00000c0f, 0x00001583, 0x02800800, 0x00001999, 0x00002528, 0x0000f031,
- 0x02020300, 0x00007904, 0x02800c0a, 0x00006081, 0x0b807a06, 0x0000a182,
- 0x02020300, 0x00007904, 0x81904206, 0x00009000, 0x2490300f, 0x0000e983,
- 0x00207c0a, 0x00009503, 0x00002520, 0x0000f02b, 0x0000000f, 0x0000ec01,
- 0x0b807a06, 0x0000e982, 0x81903705, 0x00001000, 0x8180e206, 0x00009080,
- 0x80182206, 0x00009502, 0x10c08500, 0x00007904, 0x10c07500, 0x00007904,
- 0x000024c0, 0x0000f030, 0x00000001, 0x0000f080, 0x25321c02, 0x00007100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x26821000, 0x00007910,
- 0x002d859c, 0x00000980, 0x26400000, 0x0000e190, 0x26000000, 0x00004990,
- 0x000024cf, 0x00007008, 0x253b1c61, 0x0000f300, 0x26e524a4, 0x00001900,
- 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980, 0x29821000, 0x0000f900,
- 0x002d859c, 0x00000980, 0x29fd1000, 0x00007900, 0x000fd02e, 0x00000980,
- 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14,
- 0x24df1bd8, 0x00007500, 0x28f83f10, 0x00008a08, 0x6b000013, 0x00008ac4,
- 0x000024df, 0x00007000, 0x25491c02, 0x00007100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x26810800, 0x00007910, 0x002d859c, 0x00000980,
- 0x26400000, 0x0000e190, 0x26000000, 0x00004990, 0x000024e6, 0x0000f008,
- 0x25521c61, 0x0000f300, 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900,
- 0x0000c080, 0x00000980, 0x29810800, 0x0000f900, 0x002d859c, 0x00000980,
- 0x29d5b000, 0x00007900, 0x0015cd1c, 0x00000980, 0xe9300600, 0x0000e101,
- 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x24f71bd8, 0x00007500,
- 0x28f88f10, 0x00000a08, 0xab009000, 0x0000e180, 0x2840600c, 0x00004900,
- 0x000024f7, 0x00007000, 0x25611c02, 0x00007100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x26800800, 0x0000f910, 0x002d859c, 0x00000980,
- 0x26400000, 0x0000e190, 0x26000000, 0x00004990, 0x000024fe, 0x0000f008,
- 0x256a1c61, 0x00007300, 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900,
- 0x0000c080, 0x00000980, 0x29800800, 0x00007900, 0x002d859c, 0x00000980,
- 0x29d5b000, 0x00007900, 0x0015cd1c, 0x00000980, 0xe9300600, 0x0000e101,
- 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x250f1bd8, 0x00007500,
- 0x28f88f10, 0x00000a08, 0xab009000, 0x0000e180, 0x2840600c, 0x00004900,
- 0x0000250f, 0x00007000, 0x01000020, 0x00001980, 0x03410800, 0x00007900,
- 0x002d859c, 0x00000980, 0x81009000, 0x00001980, 0x00002516, 0x00007200,
- 0x0395b000, 0x00007900, 0x0015cd1c, 0x00000980, 0x01000020, 0x00001980,
- 0x0000257c, 0x00007400, 0x03400800, 0x0000f900, 0x002d859c, 0x00000980,
- 0x81009000, 0x00001980, 0xc0000309, 0x00006582, 0x82ff1fe3, 0x00000900,
- 0x8a383c0b, 0x0000a080, 0x87371ee3, 0x0000e100, 0x01400000, 0x0000c981,
- 0x2aa82a1c, 0x0000a006, 0x0107f800, 0x00006181, 0xc12f2004, 0x00004980,
- 0x81200454, 0x000000d6, 0x87400000, 0x000080f0, 0x03400000, 0x000000f8,
- 0x03c00000, 0x000001d0, 0x05400000, 0x000001d8, 0x05c00000, 0x000001e0,
- 0x06400000, 0x000001e8, 0x000030c2, 0x00007410, 0x06c00000, 0x00006180,
- 0x81984b09, 0x00004900, 0xc1e00000, 0x000000de, 0xc1808738, 0x0000e283,
- 0x07009000, 0x00008981, 0x81400000, 0x00006181, 0x8199b30a, 0x0000c100,
- 0x0231bc1c, 0x00006101, 0x08b1bc1c, 0x00008101, 0x00002ce4, 0x0000f008,
- 0x82800d39, 0x0000e080, 0x82400d39, 0x0000c880, 0xea010a09, 0x00007902,
- 0x08000000, 0x00008000, 0xea00fc09, 0x0000f902, 0x07800000, 0x00000000,
- 0xffffffff, 0x00007f97, 0xb5600421, 0x0000438a, 0x00401739, 0x00008088,
- 0xf2e1ca20, 0x0000780a, 0xa1800000, 0x00001887, 0xac61cb21, 0x0000f80b,
- 0xe9800000, 0x0000998e, 0xc2404539, 0x00001880, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x0000041d, 0x00006583, 0x03000000, 0x00008980,
- 0x03400000, 0x000000f8, 0x03c00000, 0x000081d4, 0x05800000, 0x000081dc,
- 0x00002cc5, 0x00007410, 0x06000000, 0x000081e4, 0x06c00000, 0x000081e8,
- 0xc1801739, 0x00006283, 0x82d10220, 0x00000900, 0x82d90b21, 0x00001908,
- 0xffffffff, 0x00007f86, 0x8261ca0b, 0x00001100, 0x80204209, 0x00001502,
- 0xc1801739, 0x00006283, 0x08a04c09, 0x00008929, 0x84000000, 0x0000e188,
- 0x84040000, 0x00004990, 0x81800c39, 0x00006080, 0x82211206, 0x00004100,
- 0x81984a06, 0x00009000, 0x81908206, 0x00009000, 0x1b600422, 0x00004189,
- 0x00404637, 0x00008088, 0x1a604637, 0x0000c1b1, 0x00406e37, 0x00008088,
- 0x14606e37, 0x00004199, 0x00405637, 0x00000088, 0x5d205637, 0x000045a9,
- 0x2e005e37, 0x00000189, 0x1f607e37, 0x0000c489, 0xe6407e37, 0x00008aa9,
- 0x63a08637, 0x00004589, 0x83608e37, 0x00002893, 0x1c601e37, 0x00004389,
- 0x00401e37, 0x000080b0, 0x18602e37, 0x00004489, 0x76402e37, 0x00008aa9,
- 0x4a403637, 0x00004791, 0xaf600e37, 0x0000ac8b, 0x24c00e37, 0x0000789a,
- 0xd1400000, 0x00009482, 0x33000421, 0x0000f893, 0x01400001, 0x00008000,
- 0x85800209, 0x0000f893, 0x09000000, 0x00009489, 0x80006637, 0x00001583,
- 0xea838206, 0x0000f90a, 0x1c400000, 0x00000000, 0xea839406, 0x0000790a,
- 0x1cc00000, 0x00008000, 0x00002605, 0x0000f010, 0x02400c22, 0x00006183,
- 0x81801206, 0x00000080, 0x00002605, 0x0000f00b, 0x02400c09, 0x00009183,
- 0xea83a206, 0x0000f902, 0x1d400000, 0x00008000, 0xea83b406, 0x00007902,
- 0x1dc00000, 0x00000000, 0x00002605, 0x00007208, 0x81801206, 0x00009080,
- 0x02400c09, 0x00009183, 0xea83c206, 0x0000f902, 0x1e400000, 0x00008000,
- 0xea83d406, 0x00007902, 0x1ec00000, 0x00000000, 0x00002605, 0x00007208,
- 0x81801206, 0x00009080, 0x02400c09, 0x00009183, 0xea83e206, 0x00007902,
- 0x1f400000, 0x00000000, 0xea83f406, 0x0000f902, 0x1fc00000, 0x00008000,
- 0x00002605, 0x00007208, 0x81801206, 0x00009080, 0x00000c09, 0x00001583,
- 0xea840206, 0x00007902, 0x20400000, 0x00000000, 0xea841406, 0x0000f902,
- 0x20c00000, 0x00008000, 0x00002605, 0x00007208, 0x81801206, 0x00009080,
- 0xea842206, 0x0000f902, 0x21400000, 0x00008000, 0xea843406, 0x00007902,
- 0x21c00000, 0x00000000, 0x00000421, 0x00006583, 0x01a1cc22, 0x00008001,
- 0x8df1bc22, 0x0000e001, 0xcd99b422, 0x00008000, 0x02400000, 0x00006191,
- 0x0e61cc22, 0x00004001, 0x00002cd3, 0x00007008, 0x2bb832ec, 0x00002004,
- 0xffffffff, 0x00007fa7, 0x00072806, 0x00009502, 0x01800806, 0x00001090,
- 0x2bb832ec, 0x00002814, 0x00000421, 0x00009583, 0x00000409, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00002ccc, 0x0000f010, 0x0000292f, 0x00007010,
- 0x81990b21, 0x00001900, 0xc5601739, 0x0000c494, 0x5e400220, 0x0000098e,
- 0x00000637, 0x0000c08a, 0x00010543, 0x00000090, 0x00000605, 0x00007888,
- 0x00000000, 0x00000000, 0x00221e37, 0x0000f822, 0x00000000, 0x00008020,
- 0xb3020738, 0x0000f88f, 0x59000000, 0x00001683, 0x8c800507, 0x0000f893,
- 0x79000000, 0x00001381, 0x43800605, 0x0000c489, 0x3840023e, 0x00008a94,
- 0xb1801637, 0x0000789b, 0x01000001, 0x00000000, 0x1ac20738, 0x0000f897,
- 0x61400000, 0x00001386, 0x1ac20738, 0x0000f897, 0x61400000, 0x00001386,
- 0xc0000321, 0x00009582, 0x81910220, 0x00009908, 0x0000272f, 0x00007009,
- 0x00002619, 0x0000f000, 0x20bc42ec, 0x0000d600, 0x003c4800, 0x00000000,
- 0x01400800, 0x00001981, 0x0031bc43, 0x0000e503, 0x04020040, 0x00008900,
- 0x047a1741, 0x00008038, 0x03e1bf43, 0x00008019, 0x00002c53, 0x00007018,
- 0xf8400008, 0x0000e180, 0x01800000, 0x00004980, 0xb8400044, 0x000001f0,
- 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8,
- 0x08c00000, 0x000082d0, 0x26422489, 0x0000f500, 0x09400000, 0x000002d8,
- 0xb840e406, 0x0000e081, 0x09c00000, 0x00008980, 0x40000507, 0x00001583,
- 0x01b70ee1, 0x0000e111, 0x8df1be07, 0x0000c011, 0xcd99b607, 0x00009010,
- 0x00002663, 0x0000f008, 0x00d802ec, 0x0000df80, 0x12524808, 0x000091c4,
- 0x02003c07, 0x00001281, 0x02001408, 0x00001181, 0x00000c08, 0x00009583,
- 0x01400800, 0x00006199, 0xb8603406, 0x0000c919, 0x01808737, 0x00009098,
- 0x00002af0, 0x00007030, 0x01b9be37, 0x0000e101, 0x38401406, 0x00008881,
- 0x00000406, 0x00006583, 0xf8670ce1, 0x00008901, 0x20bc42ec, 0x0000d600,
- 0x003c4800, 0x00000000, 0x0247870c, 0x00001291, 0x00002c5f, 0x0000740b,
- 0x04020300, 0x00007904, 0x03820300, 0x00007904, 0x0200340f, 0x00009081,
- 0x8be60409, 0x0000c489, 0xbe407806, 0x00000b28, 0x8be1050f, 0x0000c995,
- 0xbe502308, 0x00008b18, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x26632489, 0x00007100, 0x09006406, 0x0000e006,
- 0x0900641b, 0x0000b006, 0x8dd1bd05, 0x00006000, 0x0360e41c, 0x00000901,
- 0x8370f31d, 0x00000035, 0x4341031f, 0x00008038, 0x83b11321, 0x00000039,
- 0x43812323, 0x0000803c, 0x83f13325, 0x0000003d, 0x01203404, 0x00006101,
- 0xc3e13c27, 0x00008901, 0x815000ec, 0x0000d684, 0x00000000, 0x00000180,
- 0x813830ec, 0x0000a684, 0x01400000, 0x00009981, 0x000104e0, 0x00007894,
- 0x00000000, 0x00000000, 0x00009c04, 0x000078b0, 0x00000000, 0x00008020,
- 0x00008738, 0x0000788c, 0x00000000, 0x00008020, 0x00001506, 0x0000788c,
- 0x00000000, 0x00008020, 0x9f810738, 0x0000f897, 0x01000001, 0x00000060,
- 0x1ac20738, 0x0000f897, 0x61400000, 0x00001386, 0x41810543, 0x0000e283,
- 0x0000080c, 0x00002402, 0x033e380c, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0304000c, 0x00006380, 0x04009000, 0x00000980, 0x0000268a, 0x0000f410,
- 0x04400000, 0x00006180, 0x8000180c, 0x0000e407, 0x01809800, 0x0000e191,
- 0x04c00000, 0x0000c980, 0x01809000, 0x00009981, 0x8011ba3a, 0x0000e502,
- 0xd0003011, 0x00002404, 0x00001813, 0x00006106, 0x90001811, 0x0000b403,
- 0x84203406, 0x00006101, 0xc0001813, 0x0000e006, 0x00002725, 0x00007470,
- 0xc4001d05, 0x0000e081, 0x04801002, 0x00000900, 0x0521bf88, 0x0000811c,
- 0x02000000, 0x00009980, 0x80185237, 0x00006502, 0x81800000, 0x00000980,
- 0x81800800, 0x00009988, 0xffffffff, 0x00007f86, 0x01a03408, 0x00009301,
- 0x09006406, 0x0000e006, 0x9660301b, 0x0000b001, 0xc180171b, 0x00009283,
- 0x8e91bb3a, 0x00006010, 0x0c01ca1c, 0x0000a110, 0x03f0de1c, 0x0000a091,
- 0x00000406, 0x00009583, 0x01a01a00, 0x00009990, 0xc1a82d05, 0x00009911,
- 0x00002c86, 0x00007008, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x00b830ec, 0x00005700, 0x00006003, 0x00008080,
- 0x02400000, 0x0000f900, 0x001f8000, 0x00008980, 0x826f2304, 0x0000f900,
- 0x00000008, 0x00008180, 0x8182a504, 0x0000e180, 0x0239be37, 0x00008100,
- 0x07401408, 0x0000e081, 0x04103009, 0x00006101, 0x02008737, 0x0000e080,
- 0x08c1cc06, 0x00002004, 0x20384eec, 0x0000d600, 0x003c4000, 0x00008000,
- 0x38401408, 0x0000e081, 0x41c00000, 0x0000c981, 0x02008406, 0x00006080,
- 0x81c00000, 0x00000981, 0x01b9bc06, 0x0000e101, 0x41400000, 0x00008981,
- 0x8df1bc06, 0x0000e001, 0xc12f2004, 0x00008980, 0x2bb832ec, 0x0000a084,
- 0x4102a000, 0x00006181, 0x78401408, 0x00004881, 0xcdc00000, 0x00001981,
- 0xffffffff, 0x00007f86, 0x00072806, 0x00009502, 0x00002597, 0x00007400,
- 0x01800806, 0x00001090, 0x2bb832ec, 0x0000a894, 0x0f025c1c, 0x0000e806,
- 0x8020e637, 0x00009503, 0xc1820738, 0x00001283, 0xffffffff, 0x00007f86,
- 0x00002a1c, 0x0000f018, 0x00002c6b, 0x00007010, 0x41810543, 0x0000e283,
- 0x0000080c, 0x00002402, 0x033e380c, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x04c00000, 0x0000e180, 0x01809800, 0x0000c991, 0x01809000, 0x00006189,
- 0x00001813, 0x00006106, 0x8011ba3a, 0x0000e502, 0x04009000, 0x00000980,
- 0x0304000c, 0x00006380, 0xc0001813, 0x00002006, 0x04400000, 0x0000f900,
- 0x00018030, 0x00008980, 0x04801002, 0x0000e100, 0x8000180c, 0x0000e407,
- 0x00002903, 0x00007470, 0x05fc4437, 0x00008110, 0xc4001d05, 0x0000e081,
- 0x84203406, 0x00008901, 0x01800000, 0x00001980, 0x80185237, 0x00006502,
- 0x82400000, 0x00000980, 0x82400800, 0x0000e188, 0x07c00000, 0x0000c980,
- 0x07500000, 0x00007900, 0x0004c010, 0x00008980, 0x07204c06, 0x00006301,
- 0x0000181f, 0x0000a106, 0x08c1cc06, 0x0000e004, 0x1060e71b, 0x0000b000,
- 0xc140171b, 0x00006283, 0x01b9bc06, 0x00008101, 0x01b1bc06, 0x0000e001,
- 0x0c01ca1c, 0x0000a110, 0x03f0de1c, 0x0000a091, 0x8e91bb3a, 0x00006010,
- 0x07001000, 0x00008980, 0x00001406, 0x0000e583, 0xc000181f, 0x00002006,
- 0x01801c06, 0x00006199, 0x01405800, 0x00008999, 0x08800000, 0x00006180,
- 0x07801002, 0x0000c900, 0x01404406, 0x000060b1, 0x08001000, 0x00008980,
- 0x01800000, 0x0000e1b1, 0x08400000, 0x00004980, 0x00000409, 0x00006583,
- 0x0020281d, 0x00002006, 0x01e03405, 0x00006001, 0x87602404, 0x00000901,
- 0xc7000c07, 0x00006081, 0x87e03406, 0x00008901, 0x01c00000, 0x00007900,
- 0x001f8000, 0x00008980, 0x00182007, 0x00006186, 0x08c1cc06, 0x0000b004,
- 0x0179be37, 0x0000e101, 0x04282007, 0x00002101, 0x01003800, 0x00006180,
- 0xc0001822, 0x0000e412, 0x81008737, 0x0000e081, 0xc139be37, 0x00000101,
- 0xcdc00000, 0x0000e180, 0x41004c06, 0x00004081, 0x8de03405, 0x0000e001,
- 0x08c00000, 0x00000980, 0x09000000, 0x00006180, 0x09006406, 0x0000e006,
- 0x00000406, 0x00006583, 0x09400000, 0x00000980, 0x20383eec, 0x00005600,
- 0x003c4000, 0x00008000, 0x09a00800, 0x00007900, 0x00355574, 0x00008980,
- 0x09ed6800, 0x00007900, 0x003f57fe, 0x00008980, 0x003820ec, 0x00005700,
- 0x00185802, 0x00008080, 0x0a00001f, 0x000002e4, 0x0a800000, 0x000082ec,
- 0x0000290d, 0x0000f408, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc,
- 0x01201a00, 0x00009980, 0x86282804, 0x0000e887, 0x00b826ec, 0x00005f00,
- 0x00006003, 0x00000084, 0xc1820738, 0x00001283, 0x02000800, 0x00009990,
- 0x00002695, 0x00007011, 0x8000023e, 0x00001582, 0x02000000, 0x00006188,
- 0x09006406, 0x0000600e, 0x00002694, 0x0000f011, 0x00002695, 0x0000f400,
- 0x00000406, 0x00009583, 0x02000800, 0x00009990, 0x8261ca06, 0x00009100,
- 0x82504a08, 0x0000e100, 0x8459b209, 0x00000000, 0x8001fa09, 0x00009582,
- 0x02e04c09, 0x00009931, 0x00002853, 0x00007019, 0x00000409, 0x00009583,
- 0x0000290f, 0x0000f00b, 0xc1801739, 0x00006283, 0x88400800, 0x00008980,
- 0x48400800, 0x00006189, 0x04000000, 0x0000c980, 0x02000000, 0x0000e180,
- 0x8940240b, 0x00004880, 0x40000521, 0x00006583, 0x0f012813, 0x00002106,
- 0xc4205c0b, 0x0000e108, 0x05006800, 0x0000c989, 0x44000800, 0x0000e191,
- 0x82205c0b, 0x00004910, 0x05018800, 0x0000e191, 0x0d00f81f, 0x00004900,
- 0xc1801739, 0x00006283, 0x0d40f01e, 0x00000900, 0x81840000, 0x0000e188,
- 0x81800000, 0x00004990, 0x88f54b09, 0x0000f900, 0x00000002, 0x00000080,
- 0x88d03223, 0x0000e000, 0x82509a13, 0x00008900, 0x8187fa11, 0x00009280,
- 0x0447fa06, 0x00001280, 0x04402011, 0x00001880, 0x04819011, 0x00006002,
- 0x02c0f811, 0x00008784, 0x80010213, 0x00006582, 0x0441980b, 0x00000004,
- 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0x0941c421, 0x0000e000,
- 0x0c01c220, 0x00003100, 0x85f5120a, 0x00007900, 0x00000002, 0x00000080,
- 0x0000279b, 0x0000f430, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000,
- 0x07400a38, 0x0000e198, 0x88a10c21, 0x00008900, 0x00000421, 0x00009583,
- 0x09000000, 0x00006189, 0x09c1c424, 0x00006012, 0x8006fa06, 0x00001582,
- 0x02c00000, 0x000061b8, 0x07080000, 0x0000c9b8, 0xc2d11a23, 0x0000e138,
- 0x0990301c, 0x00004138, 0x0000280b, 0x00007050, 0x04c00000, 0x00007900,
- 0x000010c0, 0x00000980, 0x80000222, 0x00006582, 0x07002026, 0x00008880,
- 0x0010e013, 0x0000e906, 0x703898ec, 0x00005600, 0x00385800, 0x00000000,
- 0x02c00000, 0x000001cc, 0x00002775, 0x00007410, 0x84c02026, 0x00009880,
- 0x04110013, 0x00006911, 0xffffffff, 0x00007f86, 0x000ff813, 0x00006d01,
- 0x09800000, 0x0000e180, 0x8001600b, 0x00006686, 0x96612013, 0x0000e003,
- 0x0418100b, 0x00003187, 0x703890ec, 0x0000d600, 0x00388800, 0x00008000,
- 0x81903209, 0x0000e000, 0xb6e10813, 0x00002005, 0x703898ec, 0x00005600,
- 0x00385800, 0x00000000, 0x02d1b236, 0x00006100, 0x0410b826, 0x00006187,
- 0x0000e80b, 0x00006502, 0x82480206, 0x00008180, 0x82c00a36, 0x00006090,
- 0x82c00000, 0x00000988, 0x700040ec, 0x00005680, 0x003930c0, 0x00008010,
- 0x8d905a0b, 0x00006100, 0x09a00005, 0x00004980, 0x02c01a0b, 0x00006080,
- 0x04181026, 0x00006187, 0x04c1800b, 0x0000e002, 0x81801a1c, 0x00008780,
- 0x02c00031, 0x00006084, 0x0c81a034, 0x00008900, 0x80010209, 0x0000e582,
- 0x0cc1a835, 0x00000900, 0x703898ec, 0x00005600, 0x00385800, 0x00000000,
- 0x700040ec, 0x00005680, 0x003937c0, 0x00008078, 0x8950e225, 0x0000e100,
- 0x0481a034, 0x00000900, 0x00002762, 0x0000f418, 0x0441a835, 0x0000e100,
- 0x88d03223, 0x00004000, 0x81800000, 0x00009980, 0x02504a06, 0x00009000,
- 0x00080009, 0x00001582, 0x00080009, 0x00001582, 0xffffffff, 0x00007f86,
- 0x000027de, 0x00007008, 0x000027bf, 0x0000f038, 0x02500708, 0x00000098,
- 0x02000000, 0x00007900, 0x000010e0, 0x00008980, 0x04111806, 0x00006187,
- 0x00112808, 0x00003106, 0x703840ec, 0x00005600, 0x00383000, 0x00008000,
- 0x02000000, 0x0000e180, 0x02c09012, 0x00004900, 0x82350a0a, 0x0000f900,
- 0x00000002, 0x00000080, 0x01800000, 0x00006180, 0x0420a008, 0x0000e087,
- 0x703840ec, 0x00005600, 0x00000000, 0x00008080, 0x02000000, 0x00009980,
- 0x82112a25, 0x00009900, 0x0001c008, 0x0000e901, 0x9001c008, 0x0000e803,
- 0x703880ec, 0x00005600, 0x00384800, 0x00008000, 0x02408811, 0x0000e100,
- 0xb6e10808, 0x0000e005, 0x80016006, 0x00006e86, 0x703858ec, 0x00005600,
- 0x00384800, 0x00008000, 0x00002619, 0x00007400, 0x04181006, 0x00006987,
- 0x703840ec, 0x00005600, 0x00383000, 0x00008000, 0x00000421, 0x00006583,
- 0x02c80000, 0x00008980, 0x02c00000, 0x0000e180, 0x0250300b, 0x00004100,
- 0x04c00000, 0x00007900, 0x000010c0, 0x00000980, 0x01802009, 0x00006080,
- 0x0411180b, 0x0000e187, 0x00103013, 0x00006906, 0x703898ec, 0x00005600,
- 0x00385800, 0x00000000, 0x02c00000, 0x000001cc, 0x000027d2, 0x0000f410,
- 0x84c02009, 0x00006080, 0x09c1c409, 0x00006012, 0x02400000, 0x00006189,
- 0x0001c013, 0x0000e111, 0xffffffff, 0x00007f86, 0x000ff813, 0x00006d01,
- 0x89503225, 0x00006100, 0x8001600b, 0x0000a686, 0x96604813, 0x0000e003,
- 0x0418100b, 0x00003187, 0x703890ec, 0x0000d600, 0x00388800, 0x00008000,
- 0x82401a06, 0x00006780, 0xb6e10813, 0x00002005, 0x703898ec, 0x00005600,
- 0x00385800, 0x00000000, 0x04b9af34, 0x00008104, 0x88d04a23, 0x00001000,
- 0x0191b236, 0x0000e100, 0x02400a38, 0x00004180, 0x00004806, 0x0000e502,
- 0x02c00000, 0x00000980, 0x81800a36, 0x0000e090, 0x81800000, 0x00008988,
- 0xc2f5120a, 0x00007900, 0x00000002, 0x00000080, 0x0db9a406, 0x00000308,
- 0x0cc1a835, 0x0000e100, 0x01801a06, 0x00004880, 0x02418006, 0x00001002,
- 0x700040ec, 0x00005680, 0x003858c0, 0x00008010, 0x02e00005, 0x00006180,
- 0x01800031, 0x00004084, 0x703848ec, 0x0000d600, 0x00383000, 0x00008000,
- 0x02404008, 0x0000e100, 0x0418100b, 0x00006187, 0x02000000, 0x00007900,
- 0x000010e0, 0x00008980, 0x01900000, 0x0000e180, 0x00112808, 0x00006106,
- 0x700040ec, 0x00005680, 0x00385fc0, 0x00008078, 0x02c09012, 0x00006100,
- 0x04111806, 0x00006187, 0x703840ec, 0x00005600, 0x00383000, 0x00008000,
- 0x01800000, 0x000080e0, 0x82350a0a, 0x0000f900, 0x00000002, 0x00000080,
- 0x0420a008, 0x00006887, 0x703840ec, 0x00005600, 0x00000000, 0x00008080,
- 0x02000000, 0x00009980, 0x82112a25, 0x00009900, 0x0001c008, 0x0000e901,
- 0x9001c008, 0x0000e803, 0x000027b8, 0x00007400, 0x703880ec, 0x00005600,
- 0x00384800, 0x00008000, 0x02408811, 0x0000e100, 0xb6e10808, 0x0000e005,
- 0x80000222, 0x00006582, 0x02c00000, 0x00000980, 0x04d00000, 0x00006180,
- 0x0411180b, 0x0000e187, 0x701000ec, 0x00005680, 0x003858c0, 0x00008010,
- 0x00002816, 0x00007210, 0x02c00000, 0x0000e180, 0x04110013, 0x0000e111,
- 0xffffffff, 0x00007f86, 0x000ff813, 0x00006d01, 0x96612013, 0x0000e003,
- 0x8001600b, 0x00003686, 0x703890ec, 0x0000d600, 0x00388800, 0x00008000,
- 0xb6e10813, 0x0000e005, 0x0418100b, 0x00003187, 0x04900012, 0x0000e082,
- 0x82410209, 0x00008180, 0x703898ec, 0x00005600, 0x00385800, 0x00000000,
- 0x81810206, 0x00006080, 0x89500225, 0x00008180, 0x04400011, 0x00006084,
- 0x88c20223, 0x00000080, 0xd8810209, 0x0000789b, 0xd9000000, 0x0000938c,
- 0x80003e37, 0x00009583, 0xea82e206, 0x0000790a, 0x17400000, 0x00008000,
- 0xea82f406, 0x0000f90a, 0x17c00000, 0x00000000, 0x00002605, 0x0000f010,
- 0x02400c22, 0x00006183, 0x81801206, 0x00000080, 0x00002605, 0x0000f00b,
- 0x02400c09, 0x00009183, 0xea830206, 0x0000f902, 0x18400000, 0x00008000,
- 0xea831406, 0x00007902, 0x18c00000, 0x00000000, 0x00002605, 0x00007208,
- 0x81801206, 0x00009080, 0x02400c09, 0x00009183, 0xea832206, 0x00007902,
- 0x19400000, 0x00000000, 0xea833406, 0x0000f902, 0x19c00000, 0x00008000,
- 0x00002605, 0x00007208, 0x81801206, 0x00009080, 0x02400c09, 0x00009183,
- 0xea834206, 0x00007902, 0x1a400000, 0x00000000, 0xea835406, 0x0000f902,
- 0x1ac00000, 0x00008000, 0x00002605, 0x00007208, 0x81801206, 0x00009080,
- 0x02400c09, 0x00009183, 0xea836206, 0x0000f902, 0x1b400000, 0x00008000,
- 0xea837406, 0x00007902, 0x1bc00000, 0x00000000, 0x00002605, 0x00007208,
- 0x81801206, 0x00009080, 0x02400c09, 0x00009183, 0xea838206, 0x00007902,
- 0x1c400000, 0x00000000, 0xea839406, 0x0000f902, 0x1cc00000, 0x00008000,
- 0x000025e5, 0x0000f210, 0x81801206, 0x00009080, 0x00002605, 0x00007000,
- 0x00002737, 0x0000f200, 0x02c20000, 0x00009981, 0x00002605, 0x0000f400,
- 0xea842206, 0x0000f902, 0x21400000, 0x00008000, 0xea843406, 0x00007902,
- 0x21c00000, 0x00000000, 0x02400c22, 0x00009183, 0xea820206, 0x00007902,
- 0x10400000, 0x00000000, 0xea821406, 0x0000f902, 0x10c00000, 0x00008000,
- 0x00002605, 0x00007208, 0x81801206, 0x00009080, 0x02400c09, 0x00009183,
- 0xea822206, 0x0000f902, 0x11400000, 0x00008000, 0xea823406, 0x00007902,
- 0x11c00000, 0x00000000, 0x00002605, 0x00007208, 0x81801206, 0x00009080,
- 0x02400c09, 0x00009183, 0xea824206, 0x0000f902, 0x12400000, 0x00008000,
- 0xea825406, 0x00007902, 0x12c00000, 0x00000000, 0x00002605, 0x00007208,
- 0x81801206, 0x00009080, 0x02400c09, 0x00009183, 0xea826206, 0x00007902,
- 0x13400000, 0x00000000, 0xea827406, 0x0000f902, 0x13c00000, 0x00008000,
- 0x00002605, 0x00007208, 0x81801206, 0x00009080, 0x02400c09, 0x00009183,
- 0xea828206, 0x0000f902, 0x14400000, 0x00008000, 0xea829406, 0x00007902,
- 0x14c00000, 0x00000000, 0x00002605, 0x00007208, 0x81801206, 0x00009080,
- 0x02400c09, 0x00009183, 0xea82a206, 0x00007902, 0x15400000, 0x00000000,
- 0xea82b406, 0x0000f902, 0x15c00000, 0x00008000, 0x00002605, 0x00007208,
- 0x81801206, 0x00009080, 0x02400c09, 0x00009183, 0xea82c206, 0x00007902,
- 0x16400000, 0x00000000, 0xea82d406, 0x0000f902, 0x16c00000, 0x00008000,
- 0x00002605, 0x00007208, 0x81801206, 0x00009080, 0x02400c09, 0x00009183,
- 0xea82e206, 0x0000f902, 0x17400000, 0x00008000, 0xea82f406, 0x00007902,
- 0x17c00000, 0x00000000, 0x0000282f, 0x00007210, 0x81801206, 0x00009080,
- 0x00002605, 0x00007000, 0x02400c22, 0x00009183, 0xea824206, 0x0000f902,
- 0x12400000, 0x00008000, 0xea825406, 0x00007902, 0x12c00000, 0x00000000,
- 0x0000286f, 0x0000f210, 0x81801206, 0x00009080, 0x00002605, 0x00007000,
- 0x02400c22, 0x00009183, 0xea822206, 0x0000f902, 0x11400000, 0x00008000,
- 0xea823406, 0x00007902, 0x11c00000, 0x00000000, 0x00002868, 0x00007210,
- 0x81801206, 0x00009080, 0x00002605, 0x00007000, 0x02400c22, 0x00009183,
- 0xea834206, 0x00007902, 0x1a400000, 0x00000000, 0xea835406, 0x0000f902,
- 0x1ac00000, 0x00008000, 0x00002844, 0x0000f210, 0x81801206, 0x00009080,
- 0x00002605, 0x00007000, 0x02400c22, 0x00009183, 0xea836206, 0x0000f902,
- 0x1b400000, 0x00008000, 0xea837406, 0x00007902, 0x1bc00000, 0x00000000,
- 0x0000284b, 0x0000f210, 0x81801206, 0x00009080, 0x00002605, 0x00007000,
- 0x02400c22, 0x00009183, 0xea832206, 0x00007902, 0x19400000, 0x00000000,
- 0xea833406, 0x0000f902, 0x19c00000, 0x00008000, 0x0000283d, 0x00007210,
- 0x81801206, 0x00009080, 0x00002605, 0x00007000, 0x02400c22, 0x00009183,
- 0xea828206, 0x0000f902, 0x14400000, 0x00008000, 0xea829406, 0x00007902,
- 0x14c00000, 0x00000000, 0x0000287d, 0x0000f210, 0x81801206, 0x00009080,
- 0x00002605, 0x00007000, 0x02400c22, 0x00009183, 0xea82a206, 0x00007902,
- 0x15400000, 0x00000000, 0xea82b406, 0x0000f902, 0x15c00000, 0x00008000,
- 0x00002884, 0x0000f210, 0x81801206, 0x00009080, 0x00002605, 0x00007000,
- 0x02400c22, 0x00009183, 0xea82c206, 0x00007902, 0x16400000, 0x00000000,
- 0xea82d406, 0x0000f902, 0x16c00000, 0x00008000, 0x0000288b, 0x0000f210,
- 0x81801206, 0x00009080, 0x00002605, 0x00007000, 0x02400c22, 0x00009183,
- 0xea83a206, 0x0000f902, 0x1d400000, 0x00008000, 0xea83b406, 0x00007902,
- 0x1dc00000, 0x00000000, 0x000025ec, 0x0000f210, 0x81801206, 0x00009080,
- 0x00002605, 0x00007000, 0x02400c22, 0x00009183, 0xea830206, 0x0000f902,
- 0x18400000, 0x00008000, 0xea831406, 0x00007902, 0x18c00000, 0x00000000,
- 0x00002836, 0x0000f210, 0x81801206, 0x00009080, 0x00002605, 0x00007000,
- 0x02400c22, 0x00009183, 0xea826206, 0x00007902, 0x13400000, 0x00000000,
- 0xea827406, 0x0000f902, 0x13c00000, 0x00008000, 0x00002876, 0x00007210,
- 0x81801206, 0x00009080, 0x00002605, 0x00007000, 0xea840206, 0x00007902,
- 0x20400000, 0x00000000, 0xea841406, 0x0000f902, 0x20c00000, 0x00008000,
- 0x81801206, 0x00006080, 0x02611422, 0x00008901, 0x80400c22, 0x00007893,
- 0x29000000, 0x00009380, 0x02400c22, 0x00009183, 0xea83c206, 0x0000f902,
- 0x1e400000, 0x00008000, 0xea83d406, 0x00007902, 0x1ec00000, 0x00000000,
- 0x000025f3, 0x00007210, 0x81801206, 0x00009080, 0x00002605, 0x00007000,
- 0x02400c22, 0x00009183, 0xea83e206, 0x00007902, 0x1f400000, 0x00000000,
- 0xea83f406, 0x0000f902, 0x1fc00000, 0x00008000, 0x000025fa, 0x00007210,
- 0x81801206, 0x00009080, 0x00002605, 0x00007000, 0xc1420738, 0x00001283,
- 0x01800800, 0x00001990, 0x000026e1, 0x00007011, 0x8000023e, 0x00001582,
- 0x01800000, 0x0000e188, 0x0900640b, 0x0000e00e, 0x000026e0, 0x0000f011,
- 0x000026e1, 0x0000f400, 0x0000040b, 0x00001583, 0x01800800, 0x00001990,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xea390a0a, 0x0000d000,
- 0x00390000, 0x00000000, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000,
- 0x86400206, 0x0000f893, 0x01000001, 0x00008080, 0x0729cfe4, 0x00006000,
- 0xc0000038, 0x0000e401, 0x2bb834ec, 0x0000a084, 0xea3840ec, 0x00002080,
- 0x0d78ff1e, 0x00000310, 0xffffffff, 0x00007f86, 0x00072806, 0x00009502,
- 0x07000806, 0x00006090, 0x0200401c, 0x00000400, 0x00002619, 0x00007400,
- 0xea3840ec, 0x0000a880, 0x2bb8e4ec, 0x00002894, 0xc1801739, 0x00006283,
- 0x09c1cc1c, 0x0000a000, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596,
- 0x07000c1c, 0x0000e481, 0x0e400000, 0x00000981, 0x00000421, 0x00006583,
- 0x90000039, 0x0000a401, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000,
- 0x9660e039, 0x0000e801, 0x00002ccc, 0x00007210, 0xea38fc0a, 0x00005000,
- 0x0038f000, 0x00008000, 0xc1801739, 0x00006283, 0x82510220, 0x00008900,
- 0x82590b21, 0x0000e108, 0x02c09000, 0x00004981, 0x87000c39, 0x0000e080,
- 0x02f1bc0b, 0x0000c101, 0x87184a1c, 0x00006000, 0x8421ca09, 0x00008100,
- 0x80205a10, 0x00009502, 0xc1801739, 0x00006283, 0x02e08410, 0x00000929,
- 0x81840000, 0x00009990, 0x81800000, 0x00006188, 0x82205a08, 0x00004100,
- 0x0000293e, 0x00007010, 0x8190321c, 0x00009000, 0x39e0040b, 0x00004189,
- 0x00404637, 0x00008088, 0x36a04637, 0x000041b1, 0x00406e37, 0x00008088,
- 0x36606e37, 0x00004199, 0x00405637, 0x00000088, 0x0bc05637, 0x000045a8,
- 0x04605e37, 0x00000188, 0x37607e37, 0x0000c489, 0x72407e37, 0x00008aab,
- 0x0dc08637, 0x00004588, 0x03208e37, 0x0000038b, 0x41201e37, 0x00004389,
- 0x00401e37, 0x000080b0, 0x3d402e37, 0x00004489, 0xb4402e37, 0x00008aab,
- 0x0dc03637, 0x00004790, 0x08200e37, 0x00000b8f, 0x82c00e37, 0x0000789a,
- 0x61400000, 0x0000948f, 0x85800210, 0x00007893, 0x79000000, 0x00009580,
- 0x80006637, 0x00001583, 0x04205c0b, 0x00001909, 0x0000297f, 0x0000f011,
- 0x04000c10, 0x00009183, 0xea838206, 0x00007902, 0x1c400000, 0x00000000,
- 0xea839406, 0x0000f902, 0x1cc00000, 0x00008000, 0x0000297f, 0x0000f208,
- 0x81801206, 0x00009080, 0x04000c10, 0x00009183, 0xea83a206, 0x0000f902,
- 0x1d400000, 0x00008000, 0xea83b406, 0x00007902, 0x1dc00000, 0x00000000,
- 0x0000297f, 0x0000f208, 0x81801206, 0x00009080, 0x04000c10, 0x00009183,
- 0xea83c206, 0x0000f902, 0x1e400000, 0x00008000, 0xea83d406, 0x00007902,
- 0x1ec00000, 0x00000000, 0x0000297f, 0x0000f208, 0x81801206, 0x00009080,
- 0x04000c10, 0x00009183, 0xea83e206, 0x00007902, 0x1f400000, 0x00000000,
- 0xea83f406, 0x0000f902, 0x1fc00000, 0x00008000, 0x0000297f, 0x0000f208,
- 0x81801206, 0x00009080, 0x00000c10, 0x00009583, 0xea840206, 0x00007902,
- 0x20400000, 0x00000000, 0xea841406, 0x0000f902, 0x20c00000, 0x00008000,
- 0x0000297f, 0x0000f208, 0x81801206, 0x00009080, 0xea842206, 0x0000f902,
- 0x21400000, 0x00008000, 0xea843406, 0x00007902, 0x21c00000, 0x00000000,
- 0x00000421, 0x00006583, 0x0721cc0b, 0x00008001, 0x8df1bc0b, 0x00006001,
- 0xcd99b40b, 0x00000000, 0x0e61cc0b, 0x00009001, 0x00002994, 0x00007008,
- 0x2bb832ec, 0x00002004, 0xffffffff, 0x00007fa7, 0x00072806, 0x00009502,
- 0x00002616, 0x00007400, 0x07000806, 0x00009090, 0x2bb8e2ec, 0x0000a814,
- 0x04205c0b, 0x00009901, 0x04000c10, 0x00009183, 0xea836206, 0x0000f902,
- 0x1b400000, 0x00008000, 0xea837406, 0x00007902, 0x1bc00000, 0x00000000,
- 0x00002958, 0x0000f210, 0x81801206, 0x00009080, 0x0000297f, 0x0000f000,
- 0x8020e209, 0x00001502, 0x09c1cc1c, 0x00006808, 0x0e400000, 0x00006189,
- 0x07000c1c, 0x0000c489, 0x00002985, 0x00007010, 0xc1801739, 0x00006283,
- 0x90000039, 0x0000a401, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596,
- 0x9660e039, 0x0000e801, 0x00002985, 0x00007400, 0xea390a0a, 0x0000d000,
- 0x00390000, 0x00000000, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000,
- 0x04205c0b, 0x00009901, 0x04000c10, 0x00009183, 0xea832206, 0x00007902,
- 0x19400000, 0x00000000, 0xea833406, 0x0000f902, 0x19c00000, 0x00008000,
- 0x0000297f, 0x0000f208, 0x81801206, 0x00009080, 0x04000c10, 0x00009183,
- 0xea834206, 0x00007902, 0x1a400000, 0x00000000, 0xea835406, 0x0000f902,
- 0x1ac00000, 0x00008000, 0x0000298c, 0x0000f210, 0x81801206, 0x00009080,
- 0x0000297f, 0x0000f000, 0x000029ab, 0x00007200, 0x04205c0b, 0x00009901,
- 0x0000295f, 0x0000f200, 0x04205c0b, 0x00009901, 0x00002974, 0x0000f200,
- 0x04205c0b, 0x00009901, 0x00002966, 0x0000f200, 0x04205c0b, 0x00009901,
- 0x0000296d, 0x00007200, 0x04205c0b, 0x00009901, 0x80003e37, 0x00009583,
- 0x04205c0b, 0x00001909, 0x0000297f, 0x0000f011, 0x04000c10, 0x00009183,
- 0xea82e206, 0x0000f902, 0x17400000, 0x00008000, 0xea82f406, 0x00007902,
- 0x17c00000, 0x00000000, 0x0000297f, 0x0000f208, 0x81801206, 0x00009080,
- 0x04000c10, 0x00009183, 0xea830206, 0x0000f902, 0x18400000, 0x00008000,
- 0xea831406, 0x00007902, 0x18c00000, 0x00000000, 0x000029a4, 0x0000f210,
- 0x81801206, 0x00009080, 0x0000297f, 0x0000f000, 0x000029c7, 0x00007200,
- 0x04205c0b, 0x00009901, 0x04205c0b, 0x00009901, 0x04000c10, 0x00009183,
- 0xea82c206, 0x00007902, 0x16400000, 0x00000000, 0xea82d406, 0x0000f902,
- 0x16c00000, 0x00008000, 0x000029c0, 0x00007210, 0x81801206, 0x00009080,
- 0x0000297f, 0x0000f000, 0x04205c0b, 0x00009901, 0x04000c10, 0x00009183,
- 0xea828206, 0x0000f902, 0x14400000, 0x00008000, 0xea829406, 0x00007902,
- 0x14c00000, 0x00000000, 0x0000297f, 0x0000f208, 0x81801206, 0x00009080,
- 0x04000c10, 0x00009183, 0xea82a206, 0x00007902, 0x15400000, 0x00000000,
- 0xea82b406, 0x0000f902, 0x15c00000, 0x00008000, 0x000029d2, 0x00007210,
- 0x81801206, 0x00009080, 0x0000297f, 0x0000f000, 0x000029e2, 0x0000f200,
- 0x04205c0b, 0x00009901, 0x04000c0b, 0x00009183, 0xea820206, 0x00007902,
- 0x10400000, 0x00000000, 0xea821406, 0x0000f902, 0x10c00000, 0x00008000,
- 0x0000297f, 0x0000f208, 0x81801206, 0x00009080, 0x04000c10, 0x00009183,
- 0xea822206, 0x0000f902, 0x11400000, 0x00008000, 0xea823406, 0x00007902,
- 0x11c00000, 0x00000000, 0x0000297f, 0x0000f208, 0x81801206, 0x00009080,
- 0x04000c10, 0x00009183, 0xea824206, 0x0000f902, 0x12400000, 0x00008000,
- 0xea825406, 0x00007902, 0x12c00000, 0x00000000, 0x0000297f, 0x0000f208,
- 0x81801206, 0x00009080, 0x04000c10, 0x00009183, 0xea826206, 0x00007902,
- 0x13400000, 0x00000000, 0xea827406, 0x0000f902, 0x13c00000, 0x00008000,
- 0x000029db, 0x00007210, 0x81801206, 0x00009080, 0x0000297f, 0x0000f000,
- 0x00002a01, 0x00007200, 0x04205c0b, 0x00009901, 0x000029fa, 0x0000f200,
- 0x04205c0b, 0x00009901, 0x000029f3, 0x0000f200, 0x04205c0b, 0x00009901,
- 0xc1801739, 0x00006283, 0x09c1cc1c, 0x0000a000, 0x00000021, 0x0000e58f,
- 0x00000020, 0x0000b596, 0x07000c1c, 0x0000e481, 0x0e400000, 0x00000981,
- 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0x90000039, 0x0000ec01,
- 0x00002616, 0x00007400, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000,
- 0x9660e039, 0x0000e801, 0x8000023e, 0x0000e582, 0x01400800, 0x00008981,
- 0x20bc42ec, 0x0000d600, 0x003c4800, 0x00000000, 0x04621c43, 0x00009909,
- 0x00002c06, 0x0000f010, 0x00001443, 0x00009583, 0x0f025c06, 0x0000681e,
- 0x07007c06, 0x00009099, 0x00002bf8, 0x00007030, 0x07007c1c, 0x00009281,
- 0x00001c1c, 0x00001583, 0x80000242, 0x00009582, 0x80000246, 0x00001582,
- 0x00002bf8, 0x00007018, 0x00002bf8, 0x0000f008, 0x00002bf8, 0x0000f008,
- 0x00001406, 0x00001583, 0x00002c04, 0x0000703b, 0x0707844b, 0x00001281,
- 0x0002041c, 0x0000f890, 0x00000000, 0x00000000, 0xfe00024e, 0x0000f892,
- 0x01400001, 0x00008060, 0xfb000d43, 0x0000f88e, 0x01400001, 0x00000080,
- 0x4102583d, 0x0000e006, 0xd482383c, 0x00003001, 0xc782383d, 0x0000e000,
- 0xf4c2383c, 0x00003001, 0xd782383d, 0x00006000, 0x0f025c06, 0x0000b006,
- 0xe442383c, 0x00006001, 0x0002383d, 0x0000b006, 0x0002383c, 0x0000e181,
- 0xa042383d, 0x0000b002, 0x02003c06, 0x00006281, 0x8102383d, 0x0000a002,
- 0x4fe21c43, 0x0000e101, 0xd7604039, 0x0000e005, 0x8eea304a, 0x0000832c,
- 0x4f2a5c4b, 0x00008331, 0x00001c08, 0x0000e583, 0x81921242, 0x00008900,
- 0x00002408, 0x00009583, 0x00001408, 0x00009583, 0x00002be8, 0x00007008,
- 0x00002be7, 0x00007008, 0x00002be9, 0x0000f008, 0x82000a42, 0x00001282,
- 0x800ff206, 0x00009582, 0xffffffff, 0x00007f86, 0x00002b67, 0x0000f010,
- 0x00002b67, 0x00007018, 0x82000a06, 0x00006780, 0x8240e34a, 0x00000080,
- 0x8fe04408, 0x0000e101, 0x82503209, 0x00004000, 0x802f2209, 0x0000f900,
- 0x00000008, 0x00008582, 0x00002b5a, 0x0000f01b, 0xc0002f07, 0x00001583,
- 0x00000043, 0x0000ec09, 0x87000e3f, 0x00006080, 0x8180e705, 0x0000c080,
- 0x8850e206, 0x00006000, 0x08c1cc06, 0x00002004, 0x8010b221, 0x00006582,
- 0x07008406, 0x00000080, 0x04e03406, 0x00006100, 0x3840141c, 0x0000c881,
- 0x02000000, 0x000061b1, 0x8291da21, 0x0000c030, 0x00002b3e, 0x00007018,
- 0x0710520a, 0x00001900, 0x002f201c, 0x00007900, 0x00000008, 0x00008582,
- 0x82400000, 0x000099d0, 0x00002a71, 0x00007039, 0x82505209, 0x0000e000,
- 0x02ef2004, 0x00008980, 0x02000c08, 0x00006081, 0x02d0480b, 0x00000100,
- 0x0000581c, 0x00001502, 0x00002a6b, 0x0000f053, 0x07221e37, 0x00006401,
- 0x05203406, 0x0000c900, 0x2c20423b, 0x00001600, 0x048588b0, 0x00001000,
- 0x0020341c, 0x0000e503, 0x0431be37, 0x00000901, 0x01800c06, 0x00006099,
- 0x82d09212, 0x00000900, 0x00002adf, 0x00007031, 0x02020300, 0x00007904,
- 0x04020300, 0x00007904, 0x02508210, 0x0000e100, 0x02172812, 0x0000c200,
- 0x00108008, 0x00009502, 0x07000c43, 0x00009198, 0x00002a91, 0x00007031,
- 0x0000e013, 0x00001502, 0x00002af1, 0x0000700b, 0x0731bc43, 0x00006401,
- 0x05203406, 0x0000c900, 0x0461b843, 0x00008101, 0x0020e014, 0x00001502,
- 0x01800c06, 0x000090c9, 0x00002ae0, 0x0000f041, 0x04020300, 0x00007904,
- 0x04020300, 0x00007904, 0x02404a10, 0x00009000, 0x00004808, 0x00009502,
- 0x07000c43, 0x00009198, 0x00002a91, 0x00007031, 0xbc40e014, 0x0000f80a,
- 0x19400000, 0x00009584, 0x84909209, 0x00009100, 0x80000212, 0x00009582,
- 0x07000c43, 0x0000e188, 0x02400000, 0x00008991, 0x02400000, 0x00001989,
- 0x00002a99, 0x0000f010, 0x0000a01c, 0x00009502, 0x02400800, 0x00009989,
- 0x8000020b, 0x00001582, 0x84000000, 0x0000e188, 0x0711daec, 0x00004110,
- 0x84000000, 0x0000e190, 0x0451da0b, 0x0000c110, 0x00002aa4, 0x00007008,
- 0x84000a10, 0x00006080, 0x0440e011, 0x00008000, 0x02008a3b, 0x00001000,
- 0x00000008, 0x00001582, 0x00002a9f, 0x0000f03b, 0x2c110a10, 0x00009600,
- 0x870588b0, 0x00001000, 0x80000210, 0x0000e582, 0x88400000, 0x00000980,
- 0x88400800, 0x0000e188, 0x82105a1c, 0x0000c000, 0x07000c09, 0x00009481,
- 0x01610c1c, 0x00009203, 0x00002b17, 0x00007013, 0x00000409, 0x00006583,
- 0xc1104304, 0x00008100, 0x07003504, 0x0000e181, 0x0200843f, 0x00008880,
- 0x01000c04, 0x0000e181, 0xc000080c, 0x00002407, 0x81403306, 0x00000034,
- 0x06e1f006, 0x00008118, 0x46c8593f, 0x0000012a, 0x0639e73b, 0x00000124,
- 0x85a1e910, 0x00008128, 0x4120341c, 0x0000e101, 0x0840433d, 0x00000300,
- 0x00002b29, 0x00007410, 0x0540433d, 0x0000e300, 0x0739bc06, 0x00008001,
- 0xcdf9bc06, 0x0000e001, 0x02c10a0b, 0x00000008, 0x815000ec, 0x0000d684,
- 0x00000000, 0x00000180, 0x80000212, 0x00006582, 0xcf505a0b, 0x00008900,
- 0x08c1cc09, 0x00006014, 0x08c1cc1c, 0x0000b00c, 0xcf909212, 0x0000e110,
- 0x01400c43, 0x0000c091, 0xcf800000, 0x00006188, 0x02c0800b, 0x00004780,
- 0x07221c1c, 0x0000e009, 0x01604c05, 0x00000011, 0x8f91f210, 0x00006000,
- 0x0fe05c0b, 0x00008901, 0xcdc00c1c, 0x00006191, 0xc5d9f33e, 0x00000900,
- 0x10e0341c, 0x0000e109, 0x10e03405, 0x00000111, 0x813830ec, 0x0000a684,
- 0x01400000, 0x00009981, 0x000104e0, 0x00007894, 0x00000000, 0x00000000,
- 0x00009c04, 0x000078b0, 0x00000000, 0x00008020, 0x00008738, 0x0000788c,
- 0x00000000, 0x00008020, 0x00001506, 0x0000788c, 0x00000000, 0x00008020,
- 0x9f810738, 0x0000f897, 0x01000001, 0x00000060, 0x1ac20738, 0x0000f897,
- 0x61400000, 0x00001386, 0x02400000, 0x00001980, 0x80000605, 0x00009583,
- 0x00008c10, 0x00001583, 0xffffffff, 0x00007f86, 0x00002b16, 0x0000f010,
- 0x00002b16, 0x00007030, 0x01c00000, 0x0000e180, 0x08c1cf0a, 0x0000e004,
- 0x0209dc12, 0x00000022, 0x02b08c09, 0x00000029, 0x01c9b810, 0x0000001e,
- 0x01800ce0, 0x00001283, 0x00002aff, 0x0000f013, 0x000004e3, 0x00001583,
- 0x03408000, 0x00009990, 0x00002af4, 0x0000f009, 0x2b091c53, 0x0000f100,
- 0x2af1245c, 0x00007100, 0x00002a99, 0x0000f400, 0x02c00409, 0x00000189,
- 0x00000a09, 0x0000ec86, 0x01000020, 0x00001980, 0x034f9000, 0x00007900,
- 0x001e388a, 0x00008980, 0x03b72000, 0x00007900, 0x00234898, 0x00008980,
- 0x8100c800, 0x00009980, 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106,
- 0x2aff1bac, 0x00007500, 0x82600500, 0x00008026, 0x01b8170a, 0x0000002c,
- 0x2b001c02, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x268f9000, 0x00007910, 0x001e388a, 0x00008980, 0x26400000, 0x0000e190,
- 0x26000000, 0x00004990, 0x00002aec, 0x00007008, 0x2b091c61, 0x0000f300,
- 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980,
- 0x298f9000, 0x0000f900, 0x001e388a, 0x00008980, 0x29f72000, 0x00007900,
- 0x00234898, 0x00008980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106,
- 0xa9381400, 0x00008a14, 0x2af01bd8, 0x00007500, 0x28f85708, 0x00000a08,
- 0xab00c800, 0x00006180, 0x28403807, 0x00004900, 0x08c1cc06, 0x00006804,
- 0x815000ec, 0x0000d684, 0x00000000, 0x00000180, 0xcdf9bc06, 0x0000e001,
- 0xcf800000, 0x00000980, 0x813830ec, 0x0000a684, 0x01400000, 0x00009981,
- 0x000104e0, 0x00007894, 0x00000000, 0x00000000, 0x00009c04, 0x000078b0,
- 0x00000000, 0x00008020, 0x00008738, 0x0000788c, 0x00000000, 0x00008020,
- 0x00001506, 0x0000788c, 0x00000000, 0x00008020, 0x9f810738, 0x0000f897,
- 0x01000001, 0x00000060, 0x1ac20738, 0x0000f897, 0x61400000, 0x00001386,
- 0x815000ec, 0x0000d684, 0x00000000, 0x00000180, 0xd0000039, 0x00006405,
- 0x8000081b, 0x00003401, 0x813830ec, 0x0000a684, 0x4f400400, 0x000003fe,
- 0x0f800000, 0x0000e180, 0x8dd1bd3f, 0x0000c000, 0x01400000, 0x00009981,
- 0x000104e0, 0x00007894, 0x00000000, 0x00000000, 0x00009c04, 0x000078b0,
- 0x00000000, 0x00008020, 0x00008738, 0x0000788c, 0x00000000, 0x00008020,
- 0x00001506, 0x0000788c, 0x00000000, 0x00008020, 0x9f810738, 0x0000f897,
- 0x01000001, 0x00000060, 0x1ac20738, 0x0000f897, 0x61400000, 0x00001386,
- 0x0731bc43, 0x00006401, 0x82d1da3b, 0x0000c900, 0x43403437, 0x00008023,
- 0x0020341c, 0x00001503, 0x01800c06, 0x00009099, 0x00002bac, 0x00007031,
- 0x04020300, 0x00007904, 0x04020300, 0x00007904, 0x02508210, 0x00009900,
- 0x0011d809, 0x00001502, 0x07000c43, 0x000091a8, 0x00002bde, 0x0000f021,
- 0x0000e013, 0x00001502, 0x00002bbe, 0x0000700b, 0x0731bc43, 0x00006401,
- 0x02203406, 0x00004900, 0x0461b843, 0x00008035, 0x0020e008, 0x00009502,
- 0x01800c06, 0x000090c9, 0x00002bad, 0x00007041, 0x04020300, 0x00007904,
- 0x04020300, 0x00007904, 0x02404a10, 0x00009000, 0x0011d809, 0x00001502,
- 0x07000c43, 0x000091a8, 0x00002bde, 0x0000f021, 0xef80e008, 0x0000780a,
- 0x61400000, 0x0000158a, 0xc200e206, 0x00006080, 0x01c00000, 0x00000980,
- 0x02800000, 0x0000f900, 0x00097900, 0x00000980, 0x8221b84a, 0x0000001c,
- 0x01800ce0, 0x0000e283, 0x82904a09, 0x00008900, 0x00002b78, 0x00007013,
- 0x000004e3, 0x00001583, 0x03406800, 0x00009990, 0x00002b71, 0x0000f009,
- 0x2b821c53, 0x0000f100, 0x00002af0, 0x00007000, 0x02000406, 0x000080a8,
- 0x01c00000, 0x0000e180, 0xc211ba37, 0x00004900, 0x01800ce0, 0x00001283,
- 0x00002b96, 0x00007013, 0x000004e3, 0x00001583, 0x03407800, 0x00001990,
- 0x00002b8f, 0x00007009, 0x2ba01c53, 0x0000f100, 0x00002af0, 0x00007000,
- 0x01000020, 0x00001980, 0x03566000, 0x0000f900, 0x001e3870, 0x00008980,
- 0x00002afa, 0x0000f400, 0x038a0000, 0x00007900, 0x001f4118, 0x00000980,
- 0x8100b800, 0x00001980, 0x2b791c02, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x26966000, 0x0000f910, 0x001e3870, 0x00008980,
- 0x26400000, 0x0000e190, 0x26000000, 0x00004990, 0x00002b62, 0x0000f008,
- 0x2b821c61, 0x0000f300, 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900,
- 0x0000c080, 0x00000980, 0x29966000, 0x00007900, 0x001e3870, 0x00008980,
- 0x29ca0000, 0x00007900, 0x001f4118, 0x00000980, 0xe9300600, 0x0000e101,
- 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x2af01bd8, 0x00007500,
- 0x28f85708, 0x00000a08, 0xab00b800, 0x0000e180, 0x28403807, 0x00004900,
- 0x01000020, 0x00001980, 0x037cb000, 0x0000f900, 0x001e386e, 0x00008980,
- 0x00002afa, 0x0000f400, 0x03ade800, 0x00007900, 0x0006a832, 0x00008980,
- 0x8100c000, 0x00001980, 0x2b971c02, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x26bcb000, 0x0000f910, 0x001e386e, 0x00008980,
- 0x26400000, 0x0000e190, 0x26000000, 0x00004990, 0x00002b6c, 0x00007008,
- 0x2ba01c61, 0x0000f300, 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900,
- 0x0000c080, 0x00000980, 0x29bcb000, 0x00007900, 0x001e386e, 0x00008980,
- 0x29ede800, 0x00007900, 0x0006a832, 0x00008980, 0xe9300600, 0x0000e101,
- 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x2af01bd8, 0x00007500,
- 0x28c00708, 0x00000a88, 0x6b000018, 0x00000ac4, 0x02400000, 0x00001980,
- 0x80000605, 0x00009583, 0x00008c0d, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00002bda, 0x0000f010, 0x00002bda, 0x00007030, 0x01c00000, 0x0000e180,
- 0x08c1cf0a, 0x0000e004, 0x0209dc3b, 0x00008022, 0x02b08c09, 0x00000029,
- 0x01c9b80d, 0x0000001e, 0x01800ce0, 0x00001283, 0x00002bc3, 0x00007013,
- 0x000004e3, 0x00001583, 0x03408000, 0x00009990, 0x00002af4, 0x0000f009,
- 0x2bcd1c53, 0x00007100, 0x00002af0, 0x00007000, 0x02c00409, 0x00000189,
- 0x02400800, 0x00001981, 0x00002aad, 0x00007200, 0x84000800, 0x0000e180,
- 0x82110a0b, 0x00004000, 0x2bc41c02, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x268f9000, 0x00007910, 0x001e388a, 0x00008980,
- 0x26400000, 0x0000e190, 0x26000000, 0x00004990, 0x00002bb9, 0x0000f008,
- 0x2bcd1c61, 0x00007300, 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900,
- 0x0000c080, 0x00000980, 0x298f9000, 0x0000f900, 0x001e388a, 0x00008980,
- 0x29f72000, 0x00007900, 0x00234898, 0x00008980, 0xe9300600, 0x0000e101,
- 0x08001aa4, 0x00006106, 0xa9381400, 0x00008a14, 0x2af01bd8, 0x00007500,
- 0x28f85708, 0x00000a08, 0xab00c800, 0x00006180, 0x28403807, 0x00004900,
- 0x00002bc0, 0x00007400, 0x02400000, 0x0000e181, 0x08c1cc06, 0x0000e004,
- 0x42c00000, 0x000081c9, 0x8491da09, 0x00001100, 0x80000212, 0x00009582,
- 0x07000c43, 0x0000e188, 0x02400000, 0x00008991, 0x02400000, 0x00001989,
- 0x00002bc0, 0x00007010, 0x00002bc0, 0x00007400, 0x0000e008, 0x00001502,
- 0x02400800, 0x00009989, 0x81927242, 0x00001000, 0x81925206, 0x00009000,
- 0x81923206, 0x00009000, 0xefa00a06, 0x00004595, 0x77cff206, 0x0000e69c,
- 0xffffffff, 0x00007f86, 0x01c00000, 0x0000e180, 0x02020040, 0x00004900,
- 0x42a1be43, 0x00000028, 0x01800ce0, 0x0000e283, 0xc2aa1d43, 0x00008901,
- 0x00002c3d, 0x00007013, 0x000004e3, 0x00001583, 0x03405000, 0x00001990,
- 0x00002c36, 0x00007009, 0x2c471c53, 0x00007100, 0x00002af0, 0x00007000,
- 0x02221c43, 0x0000e101, 0x0f025d08, 0x0000e006, 0x82223142, 0x00008028,
- 0x82a2714a, 0x0000801c, 0x01800ce0, 0x0000e283, 0xc1d1ba37, 0x00008900,
- 0x00002c1f, 0x00007013, 0x000004e3, 0x00001583, 0x03406000, 0x00001990,
- 0x00002c18, 0x00007009, 0x2c291c53, 0x0000f100, 0x00002af0, 0x00007000,
- 0x8bc0024a, 0x0000f892, 0xc1400000, 0x0000158f, 0xc000033e, 0x00001582,
- 0x08c1cc1c, 0x00006814, 0x0180841c, 0x00001090, 0x00002c16, 0x00007008,
- 0x78401406, 0x0000e081, 0x38401406, 0x00004881, 0xffffffff, 0x00007fc7,
- 0x02020300, 0x00007904, 0x04020300, 0x00007904, 0x0199f210, 0x00006100,
- 0x0019f010, 0x0000a186, 0x02004006, 0x0000e002, 0x0700f806, 0x00008784,
- 0x0240481c, 0x00009004, 0x10404500, 0x0000f904, 0x10408500, 0x0000f904,
- 0x00002a5b, 0x00007200, 0x04621c43, 0x00001901, 0x01000020, 0x00001980,
- 0x03767800, 0x00007900, 0x001e386e, 0x00008980, 0x00002afa, 0x0000f400,
- 0x03959000, 0x0000f900, 0x000c337e, 0x00008980, 0x8100a800, 0x00009980,
- 0x2c201c02, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x26b67800, 0x00007910, 0x001e386e, 0x00008980, 0x26400000, 0x0000e190,
- 0x26000000, 0x00004990, 0x00002bff, 0x00007008, 0x2c291c61, 0x0000f300,
- 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980,
- 0x29b67800, 0x0000f900, 0x001e386e, 0x00008980, 0x29d59000, 0x0000f900,
- 0x000c337e, 0x00008980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106,
- 0xa9381400, 0x00008a14, 0x2af01bd8, 0x00007500, 0x28f85708, 0x00000a08,
- 0xab00a800, 0x00006180, 0x28403807, 0x00004900, 0x01000020, 0x00001980,
- 0x03778800, 0x0000f900, 0x001e386e, 0x00008980, 0x00002afa, 0x0000f400,
- 0x03bd1000, 0x00007900, 0x000fd02e, 0x00000980, 0x81009800, 0x00009980,
- 0x2c3e1c02, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x26b78800, 0x0000f910, 0x001e386e, 0x00008980, 0x26400000, 0x0000e190,
- 0x26000000, 0x00004990, 0x00002bf3, 0x00007008, 0x2c471c61, 0x00007300,
- 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980,
- 0x29b78800, 0x00007900, 0x001e386e, 0x00008980, 0x29fd1000, 0x00007900,
- 0x000fd02e, 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106,
- 0xa9381400, 0x00008a14, 0x2af01bd8, 0x00007500, 0x28f85740, 0x00000a08,
- 0x6b000013, 0x00008ac4, 0x01c00000, 0x0000e180, 0x02020040, 0x00004900,
- 0x42a1be43, 0x00000028, 0x01800ce0, 0x0000e283, 0xc2b1be37, 0x00008901,
- 0x00002caf, 0x0000f013, 0x000004e3, 0x00001583, 0x03405800, 0x00009990,
- 0x00002ca8, 0x0000f009, 0x2cb91c53, 0x0000f100, 0x00002af0, 0x00007000,
- 0x00002af0, 0x00007000, 0x09006406, 0x0000e006, 0x0900641b, 0x0000b006,
- 0x8dd1bd05, 0x00006000, 0x0360e41c, 0x00000901, 0x8370f31d, 0x00000035,
- 0x4341031f, 0x00008038, 0x83b11321, 0x00000039, 0x43812323, 0x0000803c,
- 0x0000266e, 0x00007400, 0x83f13325, 0x0000003d, 0x01203404, 0x00006101,
- 0xc3e13c27, 0x00008901, 0x8000023b, 0x0000e582, 0x0000080c, 0x00002402,
- 0x8dd1e23c, 0x00006110, 0xcd99e33c, 0x00004910, 0x8ec00a3b, 0x00006190,
- 0x8ed9db3b, 0x00008908, 0x8f11ba37, 0x0000e108, 0xcf19b336, 0x00004908,
- 0x41810543, 0x0000e283, 0x04c00000, 0x00000980, 0x033e380c, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x01809800, 0x0000e191, 0x01809000, 0x00004989,
- 0x04009000, 0x0000e180, 0x00001813, 0x00006106, 0x0304000c, 0x00006380,
- 0xc0001813, 0x00002006, 0x04400000, 0x0000f900, 0x00018030, 0x00008980,
- 0x04801002, 0x0000e100, 0x8000180c, 0x0000e407, 0x0521bf88, 0x0000811c,
- 0xc4001d05, 0x0000e081, 0x84203406, 0x00008901, 0xb811ba3a, 0x0000785b,
- 0x19000000, 0x00009488, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000, 0x00008080,
- 0x02400000, 0x0000f900, 0x001f8000, 0x00008980, 0x826f2304, 0x0000f900,
- 0x00000008, 0x00008180, 0x8182a504, 0x0000e180, 0x0239be37, 0x00008100,
- 0x07401408, 0x0000e081, 0x04103009, 0x00006101, 0x02008737, 0x0000e080,
- 0x08c1cc06, 0x00002004, 0x20384eec, 0x0000d600, 0x003c4000, 0x00008000,
- 0x38401408, 0x0000e081, 0x41c00000, 0x0000c981, 0x02008406, 0x00006080,
- 0x81c00000, 0x00000981, 0x01b9bc06, 0x0000e101, 0x41400000, 0x00008981,
- 0x8df1bc06, 0x0000e001, 0xc12f2004, 0x00008980, 0x2bb832ec, 0x0000a084,
- 0x4102a000, 0x00006181, 0x78401408, 0x00004881, 0xcdc00000, 0x00001981,
- 0xffffffff, 0x00007f86, 0x00072806, 0x00009502, 0x00002597, 0x00007400,
- 0x01800806, 0x00001090, 0x2bb832ec, 0x0000a894, 0x01000020, 0x00001980,
- 0x03590800, 0x00007900, 0x002d8598, 0x00008980, 0x00002afa, 0x0000f400,
- 0x038b9000, 0x0000f900, 0x00386e1a, 0x00000980, 0x8100a000, 0x00001980,
- 0x2cb01c02, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x26990800, 0x00007910, 0x002d8598, 0x00008980, 0x26400000, 0x0000e190,
- 0x26000000, 0x00004990, 0x00002c59, 0x0000f008, 0x2cb91c61, 0x0000f300,
- 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980,
- 0x29990800, 0x0000f900, 0x002d8598, 0x00008980, 0x29cb9000, 0x0000f900,
- 0x00386e1a, 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106,
- 0xa9381400, 0x00008a14, 0x2af01bd8, 0x00007500, 0x28f85740, 0x00000a08,
- 0x6b000014, 0x00000ac4, 0x02610c21, 0x00001901, 0x02402409, 0x00009081,
- 0x0020ec09, 0x00009503, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x00002cc6, 0x00007028, 0x000025b6, 0x0000f000, 0xc1801739, 0x00006283,
- 0x81990b21, 0x00008900, 0x8721cc39, 0x0000e100, 0x81910220, 0x0000c910,
- 0xffffffff, 0x00007f86, 0x8650321c, 0x00007813, 0xd9000000, 0x0000198e,
- 0x8020320b, 0x00001502, 0x02610c21, 0x0000e111, 0x09c1cc1c, 0x0000e008,
- 0x07000c1c, 0x00006489, 0x0e400000, 0x00008989, 0x0000260c, 0x0000f010,
- 0xc1801739, 0x00006283, 0x02400800, 0x00008981, 0x00000021, 0x0000e58f,
- 0x00000020, 0x0000b596, 0x90000039, 0x0000ec01, 0xea390a0a, 0x0000d000,
- 0x00390000, 0x00000000, 0x0000260c, 0x0000f400, 0x9660e039, 0x0000e801,
- 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x80204206, 0x00001502, 0x02a03406, 0x00006131,
- 0x02c09000, 0x00004999, 0x02b1bc0b, 0x00001119, 0xffffffff, 0x00007f86,
- 0x0000040a, 0x00006583, 0x81e0540a, 0x00008901, 0x07008637, 0x0000e090,
- 0x0941c409, 0x0000a010, 0x0480081c, 0x00006090, 0x02c02636, 0x00004890,
- 0x00002d54, 0x0000f008, 0x0700f80b, 0x00006784, 0x0871b40a, 0x00008000,
- 0x0441900b, 0x0000e002, 0x8500240a, 0x00008880, 0x0007f821, 0x00006582,
- 0x0401981c, 0x00008004, 0x00080021, 0x00001582, 0xffffffff, 0x00007f86,
- 0x000030ac, 0x0000f050, 0x00003097, 0x0000f008, 0x00000409, 0x00006583,
- 0x07080000, 0x00008980, 0x02f1b01c, 0x0000e100, 0x09c1c40a, 0x0000a012,
- 0x07000000, 0x0000e180, 0x04c0200b, 0x00004880, 0x07800000, 0x0000f900,
- 0x000014c0, 0x00008980, 0x0420901c, 0x00006085, 0x0010981e, 0x0000b106,
- 0x02800000, 0x00006189, 0x75e8001c, 0x00006101, 0x7038f0ec, 0x0000d600,
- 0x0038e000, 0x00000000, 0x07000000, 0x000081f8, 0x00002d10, 0x00007410,
- 0x8780200b, 0x00001880, 0x0001c01e, 0x0000e911, 0xffffffff, 0x00007f86,
- 0x000ff81e, 0x0000ed01, 0x02d1b236, 0x00006100, 0x8001601c, 0x00006686,
- 0x9660501e, 0x00006003, 0x0418101c, 0x00003187, 0x0c81a034, 0x00006100,
- 0x0941c40a, 0x0000e000, 0x703888ec, 0x0000d600, 0x00388000, 0x00000000,
- 0x0cc1a835, 0x0000e100, 0xb6e0501e, 0x00006005, 0x7038f0ec, 0x0000d600,
- 0x0038e000, 0x00000000, 0x07000a38, 0x00009180, 0x0000e00b, 0x0000e502,
- 0x07000340, 0x00008980, 0x88400a36, 0x0000e090, 0x88400000, 0x00008988,
- 0x75e8001c, 0x0000e901, 0x08401a21, 0x00006080, 0x8d910a21, 0x00004900,
- 0x02c18021, 0x00009002, 0x700040ec, 0x00005680, 0x0038e4c0, 0x00000010,
- 0x04000031, 0x00006084, 0x07c0580b, 0x00008900, 0x07200005, 0x00006180,
- 0x02c00000, 0x0000c980, 0x7038f8ec, 0x00005600, 0x00388000, 0x00000000,
- 0x82e80500, 0x0000e100, 0x0418101c, 0x00006187, 0x04000000, 0x00007900,
- 0x000014c4, 0x00000980, 0x700040ec, 0x00005680, 0x0038e7c0, 0x00008078,
- 0x00000409, 0x00006583, 0x87109a14, 0x00000100, 0x0010e010, 0x00006106,
- 0x09c1c409, 0x00003012, 0x02400000, 0x00006189, 0x87001a13, 0x0000c780,
- 0x04800000, 0x00006180, 0x8710921c, 0x00004000, 0x84909a14, 0x0000e100,
- 0x0420e00b, 0x00002085, 0x75e8000b, 0x00006101, 0x0001c012, 0x00003111,
- 0x703880ec, 0x00005600, 0x00385800, 0x00000000, 0x00002d45, 0x00007410,
- 0x07000734, 0x000080ac, 0x0401a835, 0x00006100, 0x000ff812, 0x0000e509,
- 0xffffffff, 0x00007f86, 0x96604812, 0x0000e803, 0xb6e05012, 0x0000e805,
- 0x8039be37, 0x00006503, 0x8001600b, 0x0000a686, 0x7038e0ec, 0x00005600,
- 0x00388000, 0x00000000, 0x0418100b, 0x0000e987, 0x000036c1, 0x0000f218,
- 0x703890ec, 0x0000d600, 0x00385800, 0x00000000, 0xcd99b607, 0x0000e000,
- 0x8df1be07, 0x00008001, 0x00d802ec, 0x0000df80, 0x12caa008, 0x000011c4,
- 0xea0080ec, 0x0000f902, 0x02400000, 0x00000000, 0x02303c08, 0x00006101,
- 0x82f03a06, 0x00008100, 0xffffffff, 0x00007f97, 0x00000409, 0x0000f888,
- 0x00000000, 0x00000000, 0x00007810, 0x0000f888, 0x00000000, 0x00008020,
- 0x8641fa0b, 0x0000f8b3, 0x01000001, 0x000000a0, 0x070080e5, 0x00006400,
- 0xc0000838, 0x0000a401, 0x40000507, 0x00001583, 0x4e60e41c, 0x00006301,
- 0x8df1be07, 0x0000c011, 0xcd99b607, 0x00006010, 0x0729cfe4, 0x00008800,
- 0x00002d74, 0x0000f408, 0x0400801c, 0x00001300, 0xea3880ec, 0x0000a880,
- 0x07370ee1, 0x00009901, 0x00d802ec, 0x0000df80, 0x12cb6008, 0x000091c4,
- 0x01803c07, 0x00009281, 0x01801406, 0x00001181, 0x00000c06, 0x00001583,
- 0x41c00000, 0x0000e199, 0xb860e41c, 0x0000c919, 0x07008737, 0x00001098,
- 0x00002af0, 0x00007030, 0x3840141c, 0x00009881, 0x08000000, 0x0000e180,
- 0x87000d39, 0x00004880, 0x0e400000, 0x0000e181, 0xc83f1fe3, 0x00004900,
- 0xea00021c, 0x00005080, 0x00390000, 0x00000000, 0x82800d39, 0x0000e080,
- 0x08400000, 0x00004980, 0x07c1a034, 0x00006100, 0x90000839, 0x0000e401,
- 0xea39a41c, 0x0000d000, 0x0039a800, 0x00008000, 0xc2404539, 0x00006080,
- 0x0781a835, 0x0000c900, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x0000041d, 0x00006583, 0x03000000, 0x00008980, 0x03400000, 0x000000f8,
- 0x03c00000, 0x000081d4, 0x05800000, 0x000081dc, 0x0000308f, 0x00007410,
- 0x06000000, 0x000081e4, 0x06c00000, 0x000081e8, 0xc1801739, 0x00006283,
- 0x82510220, 0x00008900, 0x87000c39, 0x0000e080, 0x82590b21, 0x0000c908,
- 0x87184a1c, 0x00009000, 0x84400209, 0x00009180, 0x80204211, 0x00001502,
- 0xc1801739, 0x00006283, 0x02208c11, 0x00000929, 0x81800000, 0x00006188,
- 0x81840000, 0x0000c990, 0x8420420b, 0x00001100, 0x8190321c, 0x00009000,
- 0x06e00408, 0x0000c188, 0x00604637, 0x00000088, 0x06a04637, 0x0000c1b0,
- 0x00606e37, 0x00000088, 0x06606e37, 0x0000c198, 0x00605637, 0x00008088,
- 0x50805637, 0x0000c5a9, 0x27a05e37, 0x00008188, 0x09e07e37, 0x00004488,
- 0x96607e37, 0x00000ca8, 0x55408637, 0x00004588, 0x03208e37, 0x0000038b,
- 0x11201e37, 0x0000c388, 0x00601e37, 0x000000b0, 0x0d402e37, 0x0000c488,
- 0xb4602e37, 0x00000ca8, 0x52e03637, 0x0000c790, 0x2a800e37, 0x0000ae8a,
- 0x58200e37, 0x0000c7b0, 0xae000421, 0x00007290, 0x7a800211, 0x0000f893,
- 0x71400000, 0x00009788, 0x80006637, 0x00001583, 0x02e04408, 0x00001909,
- 0x00002dd9, 0x00007011, 0x02c00c0b, 0x00009183, 0xea838206, 0x00007902,
- 0x1c400000, 0x00000000, 0xea839406, 0x0000f902, 0x1cc00000, 0x00008000,
- 0x00002dd9, 0x00007208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183,
- 0xea83a206, 0x0000f902, 0x1d400000, 0x00008000, 0xea83b406, 0x00007902,
- 0x1dc00000, 0x00000000, 0x00002dd9, 0x00007208, 0x81801206, 0x00009080,
- 0x02c00c0b, 0x00009183, 0xea83c206, 0x0000f902, 0x1e400000, 0x00008000,
- 0xea83d406, 0x00007902, 0x1ec00000, 0x00000000, 0x00002dd9, 0x00007208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea83e206, 0x00007902,
- 0x1f400000, 0x00000000, 0xea83f406, 0x0000f902, 0x1fc00000, 0x00008000,
- 0x00002dd9, 0x00007208, 0x81801206, 0x00009080, 0x00000c0b, 0x00009583,
- 0xea840206, 0x00007902, 0x20400000, 0x00000000, 0xea841406, 0x0000f902,
- 0x20c00000, 0x00008000, 0x00002dd9, 0x00007208, 0x81801206, 0x00009080,
- 0xea842206, 0x0000f902, 0x21400000, 0x00008000, 0xea843406, 0x00007902,
- 0x21c00000, 0x00000000, 0x00000421, 0x00006583, 0x07000408, 0x00008081,
- 0x0e400408, 0x00006081, 0x8df1bc08, 0x00000001, 0x01800000, 0x00006191,
- 0xcd99b408, 0x0000c000, 0x00002fff, 0x0000f008, 0x2bb842ec, 0x0000a004,
- 0xffffffff, 0x00007fa7, 0x00072808, 0x00001502, 0x07000808, 0x00001090,
- 0x2bb8e2ec, 0x0000a814, 0x00000421, 0x00009583, 0x00000406, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00002ccc, 0x0000f010, 0x00002f1c, 0x00007010,
- 0x82190b21, 0x00009900, 0x7bc01739, 0x0000f897, 0x01400001, 0x00008000,
- 0x86400220, 0x00007893, 0x91000000, 0x0000968f, 0xc0000321, 0x00009582,
- 0x82110220, 0x00001908, 0x00002619, 0x0000f011, 0x81a1ca08, 0x00001100,
- 0x8719b206, 0x0000e000, 0x82503210, 0x00008100, 0x8001fa09, 0x00009582,
- 0x01a04c09, 0x00001931, 0x00002f0c, 0x0000f019, 0x00000409, 0x00009583,
- 0x00002ed0, 0x0000f00b, 0xc1801739, 0x00006283, 0x88400800, 0x00008980,
- 0x48400800, 0x00006189, 0x04800000, 0x00004980, 0x04400000, 0x00006180,
- 0x85c02406, 0x00004880, 0x40000521, 0x00006583, 0x0941c410, 0x0000a000,
- 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0xc4a03406, 0x00006108,
- 0x44800800, 0x00004991, 0x84603406, 0x0000e110, 0x08006800, 0x00004989,
- 0x08018800, 0x00006191, 0x0f00b821, 0x0000e106, 0xc1801739, 0x00006283,
- 0x0c01c222, 0x00002100, 0x81840000, 0x0000e188, 0x81800000, 0x00004990,
- 0x82754b09, 0x00007900, 0x00000002, 0x00000080, 0x81903209, 0x0000e000,
- 0x89a08410, 0x00000900, 0x89d10a21, 0x00006100, 0x8247fa1c, 0x00004280,
- 0x0707fa09, 0x00009280, 0x0200201c, 0x00001880, 0x02019008, 0x00006002,
- 0x0700f808, 0x00000784, 0x80010221, 0x0000e582, 0x0941981c, 0x00008004,
- 0x87b5120a, 0x00007900, 0x00000002, 0x00000080, 0xea39a40a, 0x00005000,
- 0x0039a800, 0x00008000, 0x00002e5b, 0x00007030, 0x00000410, 0x0000e583,
- 0x07000a38, 0x00000180, 0x09000000, 0x00006189, 0x09c1c424, 0x00006012,
- 0x8006fa09, 0x00001582, 0x02c80000, 0x0000e1b8, 0x04c00000, 0x000049b8,
- 0x02d0480b, 0x0000e138, 0xc4d03206, 0x00000938, 0x00002ea6, 0x0000f050,
- 0x07400000, 0x0000f900, 0x000010c0, 0x00000980, 0x80000226, 0x0000e582,
- 0x0500200b, 0x00000880, 0x08404008, 0x0000e100, 0x0010a01d, 0x00006106,
- 0x7038e8ec, 0x0000d600, 0x00389800, 0x00000000, 0x07400000, 0x000081cc,
- 0x00002e7e, 0x0000f408, 0x8740200b, 0x00006080, 0x80016013, 0x0000e696,
- 0xc4d81302, 0x0000e110, 0x0411101d, 0x0000e111, 0x02d1b236, 0x00006100,
- 0x82504a27, 0x00004000, 0x0000e00b, 0x0000e502, 0x9661201d, 0x0000a003,
- 0x703908ec, 0x0000d600, 0x00392800, 0x00000000, 0x88400a36, 0x0000e090,
- 0x88400000, 0x00008988, 0x02c00000, 0x0000e180, 0xb6e0801d, 0x0000e005,
- 0x8d910a21, 0x00006100, 0x0410f00b, 0x00006187, 0x08401a21, 0x00006080,
- 0x89c80209, 0x00004180, 0x7038e8ec, 0x0000d600, 0x00389800, 0x00000000,
- 0x04c18021, 0x00006002, 0x0a200005, 0x00000980, 0x700040ec, 0x00005680,
- 0x003858c0, 0x00008010, 0x07400031, 0x0000e084, 0x08409813, 0x00000900,
- 0x80010227, 0x0000e582, 0x04181028, 0x00002187, 0x703908ec, 0x0000d600,
- 0x0038e800, 0x00008000, 0x82401a14, 0x00006780, 0x0201a034, 0x00008900,
- 0x700040ec, 0x00005680, 0x003947c0, 0x00000078, 0x0cb9af34, 0x0000030c,
- 0x00002e23, 0x0000f418, 0x85d0a217, 0x00006100, 0x0941a835, 0x00008900,
- 0x82400000, 0x0000e180, 0x81904a06, 0x00004000, 0x09d13a09, 0x00009000,
- 0x00080027, 0x00001582, 0x00080027, 0x00001582, 0xffffffff, 0x00007f86,
- 0x00002ef6, 0x00007008, 0x00002ed6, 0x0000f038, 0x02f88f12, 0x00008024,
- 0x04800000, 0x0000f900, 0x000010e0, 0x00008980, 0x04500000, 0x0000e180,
- 0x0010b812, 0x00006106, 0x04103011, 0x00006987, 0x703890ec, 0x0000d600,
- 0x00388800, 0x00008000, 0x04400000, 0x00001980, 0x84750a0a, 0x00007900,
- 0x00000002, 0x00000080, 0x04210011, 0x00006887, 0x703888ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x703858ec, 0x00005600, 0x00384800, 0x00008000,
- 0x02c00000, 0x000080d8, 0x0460bf08, 0x0000002c, 0x02012825, 0x00001900,
- 0x0001c00b, 0x00006101, 0x80016006, 0x0000b686, 0x04181006, 0x0000e187,
- 0x9001c00b, 0x00003003, 0x703888ec, 0x0000d600, 0x00384000, 0x00000000,
- 0x00002619, 0x00007400, 0xb6e0800b, 0x0000e805, 0x703858ec, 0x00005600,
- 0x00383000, 0x00008000, 0xffffffff, 0x00007f86, 0x02d1b236, 0x00006100,
- 0x000ff81d, 0x00006583, 0x0000e00b, 0x0000e502, 0x80016013, 0x0000a686,
- 0x703908ec, 0x0000d600, 0x00392800, 0x00000000, 0x88400a36, 0x0000e090,
- 0x88400000, 0x00008988, 0x9661201d, 0x00006003, 0x04181013, 0x00003187,
- 0x02c00000, 0x0000e180, 0xb6e0801d, 0x0000e005, 0x8d910a21, 0x00006100,
- 0x0410f00b, 0x00006187, 0x08401a21, 0x00006080, 0x0a200005, 0x0000c980,
- 0x7038e8ec, 0x0000d600, 0x00389800, 0x00000000, 0x04c18021, 0x00006002,
- 0x82504a27, 0x00008000, 0x700040ec, 0x00005680, 0x003858c0, 0x00008010,
- 0x07400031, 0x0000e084, 0x08409813, 0x00000900, 0x89c80209, 0x0000e180,
- 0x04181028, 0x00002187, 0x703908ec, 0x0000d600, 0x0038e800, 0x00008000,
- 0x82401a14, 0x00006780, 0x0201a034, 0x00008900, 0x700040ec, 0x00005680,
- 0x003947c0, 0x00000078, 0x0cb9af34, 0x0000030c, 0x85d0a217, 0x00006100,
- 0x0941a835, 0x00008900, 0x82400000, 0x0000e180, 0x81904a06, 0x00004000,
- 0x88c10227, 0x0000f89b, 0xd9400000, 0x00001782, 0x80000226, 0x0000e582,
- 0x02c00000, 0x00000980, 0x07400000, 0x00006180, 0x0410300b, 0x00006187,
- 0x701000ec, 0x00005680, 0x003858c0, 0x00008010, 0x00002ebf, 0x00007408,
- 0x02d00000, 0x00006180, 0x8001601d, 0x00006696, 0xc7581302, 0x00006110,
- 0x0411100b, 0x00006111, 0x703840ec, 0x00005600, 0x00392800, 0x00000000,
- 0x02100008, 0x0000e082, 0x9661200b, 0x00002003, 0x89c10227, 0x0000e180,
- 0xb6e0800b, 0x0000a005, 0x703858ec, 0x00005600, 0x0038e800, 0x00008000,
- 0x82410209, 0x00006080, 0x85d00217, 0x00008180, 0x09400025, 0x00006084,
- 0x81820206, 0x00000080, 0x88c10227, 0x0000f89b, 0xd9400000, 0x00001782,
- 0x703840ec, 0x00005600, 0x00392800, 0x00000000, 0x000ff80b, 0x0000e583,
- 0x8001601d, 0x0000b686, 0x9661200b, 0x0000e003, 0x0418101d, 0x0000b187,
- 0x02100008, 0x0000e082, 0xb6e0800b, 0x0000a005, 0x703858ec, 0x00005600,
- 0x0038e800, 0x00008000, 0x89c10227, 0x0000e180, 0x82410209, 0x00000080,
- 0x85d00217, 0x0000e180, 0x81820206, 0x00000080, 0x09400025, 0x00009084,
- 0x88c10227, 0x0000f89b, 0xd9400000, 0x00001782, 0xea390a0a, 0x0000d000,
- 0x00390000, 0x00000000, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000,
- 0x86400208, 0x00007893, 0xa9000000, 0x00001488, 0x07000100, 0x000080ec,
- 0x04d0481c, 0x00006100, 0x0410300b, 0x0000a187, 0x05000000, 0x0000f900,
- 0x000010c0, 0x00000980, 0x00000410, 0x0000e583, 0x02402013, 0x00000880,
- 0x07000000, 0x0000e180, 0x00104814, 0x00006106, 0x7038a0ec, 0x0000d600,
- 0x00385800, 0x00000000, 0x05000708, 0x000000ac, 0x00002ee9, 0x00007410,
- 0x82c02013, 0x0000e080, 0x09c1c413, 0x0000e012, 0x04c00000, 0x0000e189,
- 0x0001c00b, 0x0000e111, 0xffffffff, 0x00007f86, 0x000ff80b, 0x00006d01,
- 0x85d04a17, 0x00006100, 0x8001601c, 0x0000a686, 0x9660980b, 0x00006003,
- 0x0418101c, 0x00003187, 0x7038a0ec, 0x0000d600, 0x00392800, 0x00000000,
- 0x0201a034, 0x00006100, 0xb6e0800b, 0x00006005, 0x703858ec, 0x00005600,
- 0x0038e000, 0x00000000, 0x0941a835, 0x00006100, 0x87001a09, 0x00004780,
- 0x8190e206, 0x00009000, 0x0251b236, 0x0000e100, 0x07000a38, 0x0000c180,
- 0x0000e009, 0x00006502, 0x05200005, 0x00000980, 0x82400a36, 0x0000e090,
- 0x82400000, 0x00008988, 0x0c81a034, 0x00006100, 0x04181014, 0x0000e187,
- 0x0db9ac09, 0x0000030c, 0x02401a09, 0x00001880, 0x07018009, 0x00006002,
- 0x02400000, 0x00008980, 0xc275120a, 0x0000f900, 0x00000002, 0x00000080,
- 0x700040ec, 0x00005680, 0x003848c0, 0x00000010, 0x02c00031, 0x00009084,
- 0x00002e61, 0x0000f400, 0x7038e0ec, 0x00005600, 0x00385800, 0x00000000,
- 0x700040ec, 0x00005680, 0x0038a7c0, 0x00000078, 0x00002dfa, 0x00007200,
- 0x01820000, 0x00001981, 0xc1801739, 0x00006283, 0x09c1cc1c, 0x0000a000,
- 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596, 0x07000c1c, 0x0000e481,
- 0x0e400000, 0x00000981, 0x00000421, 0x00006583, 0x90000039, 0x0000a401,
- 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0x9660e039, 0x0000e801,
- 0x00002ccc, 0x00007210, 0xea39a40a, 0x00005000, 0x0039a800, 0x00008000,
- 0xc1801739, 0x00006283, 0x82510220, 0x00008900, 0x82590b21, 0x0000e108,
- 0x02c09000, 0x00004981, 0x87000c39, 0x0000e080, 0x0231bc0b, 0x0000c101,
- 0x87184a1c, 0x00006000, 0x82e1ca09, 0x00008100, 0x8020420b, 0x00009502,
- 0xc1801739, 0x00006283, 0x02205c0b, 0x00000929, 0x81840000, 0x00009990,
- 0x81800000, 0x00006188, 0x84204210, 0x00004100, 0x00002f2b, 0x0000f010,
- 0x8190321c, 0x00009000, 0xf6400408, 0x00004189, 0x00404637, 0x00008088,
- 0x02004637, 0x000041b0, 0x00606e37, 0x00000088, 0x03006e37, 0x0000c198,
- 0x00605637, 0x00008088, 0x0bc05637, 0x000045a8, 0x04605e37, 0x00000188,
- 0x02c07e37, 0x00004488, 0x28607e37, 0x00000ca8, 0x1b808637, 0x00004588,
- 0x03208e37, 0x0000038b, 0xfd801e37, 0x0000c389, 0x00401e37, 0x000080b0,
- 0xf9a02e37, 0x00004489, 0x7a402e37, 0x00000baf, 0x0c803637, 0x00004790,
- 0x07800e37, 0x00000b8a, 0xfb800e37, 0x0000f89b, 0x79400000, 0x0000178e,
- 0x7a80020b, 0x00007893, 0x91400000, 0x0000978f, 0x80006637, 0x00001583,
- 0x02e04408, 0x00001909, 0x00002f6c, 0x00007011, 0x02c00c0b, 0x00009183,
- 0xea838206, 0x00007902, 0x1c400000, 0x00000000, 0xea839406, 0x0000f902,
- 0x1cc00000, 0x00008000, 0x00002f6c, 0x00007208, 0x81801206, 0x00009080,
- 0x02c00c0b, 0x00009183, 0xea83a206, 0x0000f902, 0x1d400000, 0x00008000,
- 0xea83b406, 0x00007902, 0x1dc00000, 0x00000000, 0x00002f6c, 0x00007208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea83c206, 0x0000f902,
- 0x1e400000, 0x00008000, 0xea83d406, 0x00007902, 0x1ec00000, 0x00000000,
- 0x00002f6c, 0x00007208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183,
- 0xea83e206, 0x00007902, 0x1f400000, 0x00000000, 0xea83f406, 0x0000f902,
- 0x1fc00000, 0x00008000, 0x00002f6c, 0x00007208, 0x81801206, 0x00009080,
- 0x00000c0b, 0x00009583, 0xea840206, 0x00007902, 0x20400000, 0x00000000,
- 0xea841406, 0x0000f902, 0x20c00000, 0x00008000, 0x00002f6c, 0x00007208,
- 0x81801206, 0x00009080, 0xea842206, 0x0000f902, 0x21400000, 0x00008000,
- 0xea843406, 0x00007902, 0x21c00000, 0x00000000, 0x00000421, 0x00006583,
- 0x0721cc08, 0x00008001, 0x8df1bc08, 0x00006001, 0xcd99b408, 0x00000000,
- 0x0e61cc08, 0x00009001, 0x00002f81, 0x0000f008, 0x2bb832ec, 0x00002004,
- 0xffffffff, 0x00007fa7, 0x00072806, 0x00009502, 0x00002dea, 0x0000f400,
- 0x07000806, 0x00009090, 0x2bb8e2ec, 0x0000a814, 0x02e04408, 0x00009901,
- 0x02c00c0b, 0x00009183, 0xea836206, 0x0000f902, 0x1b400000, 0x00008000,
- 0xea837406, 0x00007902, 0x1bc00000, 0x00000000, 0x00002f45, 0x0000f210,
- 0x81801206, 0x00009080, 0x00002f6c, 0x00007000, 0x8020e209, 0x00001502,
- 0x09c1cc1c, 0x00006808, 0x0e400000, 0x00006189, 0x07000c1c, 0x0000c489,
- 0x00002f72, 0x0000f010, 0xc1801739, 0x00006283, 0x90000039, 0x0000a401,
- 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596, 0x9660e039, 0x0000e801,
- 0x00002f72, 0x0000f400, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000,
- 0xea39a40a, 0x00005000, 0x0039a800, 0x00008000, 0x02e04408, 0x00009901,
- 0x02c00c0b, 0x00009183, 0xea832206, 0x00007902, 0x19400000, 0x00000000,
- 0xea833406, 0x0000f902, 0x19c00000, 0x00008000, 0x00002f6c, 0x00007208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea834206, 0x00007902,
- 0x1a400000, 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000, 0x00008000,
- 0x00002f79, 0x0000f210, 0x81801206, 0x00009080, 0x00002f6c, 0x00007000,
- 0x80003e37, 0x00009583, 0x02e04408, 0x00001909, 0x00002f6c, 0x00007011,
- 0x02c00c0b, 0x00009183, 0xea82e206, 0x0000f902, 0x17400000, 0x00008000,
- 0xea82f406, 0x00007902, 0x17c00000, 0x00000000, 0x00002f6c, 0x00007208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea830206, 0x0000f902,
- 0x18400000, 0x00008000, 0xea831406, 0x00007902, 0x18c00000, 0x00000000,
- 0x00002f91, 0x0000f210, 0x81801206, 0x00009080, 0x00002f6c, 0x00007000,
- 0x00002faa, 0x0000f200, 0x02e04408, 0x00009901, 0x02e04408, 0x00009901,
- 0x02c00c0b, 0x00009183, 0xea82c206, 0x00007902, 0x16400000, 0x00000000,
- 0xea82d406, 0x0000f902, 0x16c00000, 0x00008000, 0x00002fa3, 0x00007210,
- 0x81801206, 0x00009080, 0x00002f6c, 0x00007000, 0x02e04408, 0x00009901,
- 0x02c00c0b, 0x00009183, 0xea828206, 0x0000f902, 0x14400000, 0x00008000,
- 0xea829406, 0x00007902, 0x14c00000, 0x00000000, 0x00002f6c, 0x00007208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea82a206, 0x00007902,
- 0x15400000, 0x00000000, 0xea82b406, 0x0000f902, 0x15c00000, 0x00008000,
- 0x00002fb5, 0x0000f210, 0x81801206, 0x00009080, 0x00002f6c, 0x00007000,
- 0x00002fc5, 0x0000f200, 0x02e04408, 0x00009901, 0x02c00c08, 0x00009183,
- 0xea820206, 0x00007902, 0x10400000, 0x00000000, 0xea821406, 0x0000f902,
- 0x10c00000, 0x00008000, 0x00002f6c, 0x00007208, 0x81801206, 0x00009080,
- 0x02c00c0b, 0x00009183, 0xea822206, 0x0000f902, 0x11400000, 0x00008000,
- 0xea823406, 0x00007902, 0x11c00000, 0x00000000, 0x00002f6c, 0x00007208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea824206, 0x0000f902,
- 0x12400000, 0x00008000, 0xea825406, 0x00007902, 0x12c00000, 0x00000000,
- 0x00002f6c, 0x00007208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183,
- 0xea826206, 0x00007902, 0x13400000, 0x00000000, 0xea827406, 0x0000f902,
- 0x13c00000, 0x00008000, 0x00002fbe, 0x00007210, 0x81801206, 0x00009080,
- 0x00002f6c, 0x00007000, 0x00002fe4, 0x0000f200, 0x02e04408, 0x00009901,
- 0x00002fdd, 0x0000f200, 0x02e04408, 0x00009901, 0x00002fd6, 0x00007200,
- 0x02e04408, 0x00009901, 0xc1801739, 0x00006283, 0x09c1cc1c, 0x0000a000,
- 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596, 0x07000c1c, 0x0000e481,
- 0x0e400000, 0x00000981, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000,
- 0x90000039, 0x0000ec01, 0x00002dea, 0x0000f400, 0xea39a40a, 0x00005000,
- 0x0039a800, 0x00008000, 0x9660e039, 0x0000e801, 0x8020e209, 0x00001502,
- 0x01a10c21, 0x0000e111, 0x09c1cc1c, 0x0000e008, 0x07000c1c, 0x00006489,
- 0x0e400000, 0x00008989, 0x00002de0, 0x0000f010, 0xc1801739, 0x00006283,
- 0x01800800, 0x00008981, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596,
- 0x90000039, 0x0000ec01, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000,
- 0x00002de0, 0x0000f400, 0x9660e039, 0x0000e801, 0xea39a40a, 0x00005000,
- 0x0039a800, 0x00008000, 0x00002f4c, 0x00007200, 0x02e04408, 0x00009901,
- 0x00002f61, 0x00007200, 0x02e04408, 0x00009901, 0x00002f53, 0x0000f200,
- 0x02e04408, 0x00009901, 0x00002f5a, 0x0000f200, 0x02e04408, 0x00009901,
- 0x00002f98, 0x00007200, 0x02e04408, 0x00009901, 0x02e04408, 0x00009901,
- 0x02c00c0b, 0x00009183, 0xea836206, 0x0000f902, 0x1b400000, 0x00008000,
- 0xea837406, 0x00007902, 0x1bc00000, 0x00000000, 0x00002db2, 0x0000f210,
- 0x81801206, 0x00009080, 0x00002dd9, 0x00007000, 0x02e04408, 0x00009901,
- 0x02c00c0b, 0x00009183, 0xea832206, 0x00007902, 0x19400000, 0x00000000,
- 0xea833406, 0x0000f902, 0x19c00000, 0x00008000, 0x00002dd9, 0x00007208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea834206, 0x00007902,
- 0x1a400000, 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000, 0x00008000,
- 0x0000301b, 0x0000f210, 0x81801206, 0x00009080, 0x00002dd9, 0x00007000,
- 0x0000302b, 0x00007200, 0x02e04408, 0x00009901, 0x00002db9, 0x0000f200,
- 0x02e04408, 0x00009901, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183,
- 0xea830206, 0x0000f902, 0x18400000, 0x00008000, 0xea831406, 0x00007902,
- 0x18c00000, 0x00000000, 0x00003024, 0x0000f210, 0x81801206, 0x00009080,
- 0x00002dd9, 0x00007000, 0x80003e37, 0x00009583, 0x02e04408, 0x00001909,
- 0x00002dd9, 0x00007011, 0x02c00c0b, 0x00009183, 0xea82e206, 0x0000f902,
- 0x17400000, 0x00008000, 0xea82f406, 0x00007902, 0x17c00000, 0x00000000,
- 0x00003038, 0x00007210, 0x81801206, 0x00009080, 0x00002dd9, 0x00007000,
- 0x00002dc0, 0x00007200, 0x02e04408, 0x00009901, 0x00002dce, 0x0000f200,
- 0x02e04408, 0x00009901, 0x00002dc7, 0x0000f200, 0x02e04408, 0x00009901,
- 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183, 0xea82c206, 0x00007902,
- 0x16400000, 0x00000000, 0xea82d406, 0x0000f902, 0x16c00000, 0x00008000,
- 0x00003043, 0x00007210, 0x81801206, 0x00009080, 0x00002dd9, 0x00007000,
- 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183, 0xea828206, 0x0000f902,
- 0x14400000, 0x00008000, 0xea829406, 0x00007902, 0x14c00000, 0x00000000,
- 0x00002dd9, 0x00007208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183,
- 0xea82a206, 0x00007902, 0x15400000, 0x00000000, 0xea82b406, 0x0000f902,
- 0x15c00000, 0x00008000, 0x00003052, 0x00007210, 0x81801206, 0x00009080,
- 0x00002dd9, 0x00007000, 0x00003062, 0x0000f200, 0x02e04408, 0x00009901,
- 0x02c00c08, 0x00009183, 0xea820206, 0x00007902, 0x10400000, 0x00000000,
- 0xea821406, 0x0000f902, 0x10c00000, 0x00008000, 0x00002dd9, 0x00007208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea822206, 0x0000f902,
- 0x11400000, 0x00008000, 0xea823406, 0x00007902, 0x11c00000, 0x00000000,
- 0x00002dd9, 0x00007208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183,
- 0xea824206, 0x0000f902, 0x12400000, 0x00008000, 0xea825406, 0x00007902,
- 0x12c00000, 0x00000000, 0x00002dd9, 0x00007208, 0x81801206, 0x00009080,
- 0x02c00c0b, 0x00009183, 0xea826206, 0x00007902, 0x13400000, 0x00000000,
- 0xea827406, 0x0000f902, 0x13c00000, 0x00008000, 0x0000305b, 0x00007210,
- 0x81801206, 0x00009080, 0x00002dd9, 0x00007000, 0x00003081, 0x00007200,
- 0x02e04408, 0x00009901, 0x0000307a, 0x0000f200, 0x02e04408, 0x00009901,
- 0x00003073, 0x0000f200, 0x02e04408, 0x00009901, 0x01800000, 0x00009981,
- 0x01802406, 0x00009081, 0x0020ec06, 0x00009503, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x00003090, 0x0000f028, 0x00002d8c, 0x00007000,
- 0x00002af0, 0x00007000, 0x02d1b236, 0x00006100, 0x07000a38, 0x0000c180,
- 0x0000e00b, 0x0000e502, 0x07a00005, 0x00000980, 0x88400a36, 0x0000e090,
- 0x88400000, 0x00008988, 0x02c00340, 0x00006180, 0x0418101e, 0x0000e187,
- 0x8d910a21, 0x00006100, 0x75e8000b, 0x00006101, 0x08401a21, 0x00006080,
- 0x0c81a034, 0x00004900, 0x07c18021, 0x00006002, 0x0cc1a835, 0x00000900,
- 0x700040ec, 0x00005680, 0x00385cc0, 0x00000010, 0x04c00031, 0x00009084,
- 0x7038f8ec, 0x00005600, 0x00389800, 0x00000000, 0x700040ec, 0x00005680,
- 0x0038f7c0, 0x00000078, 0x00000409, 0x00006583, 0x02c00000, 0x00000980,
- 0x07008811, 0x00006100, 0x82e80500, 0x0000c900, 0x04c00000, 0x00007900,
- 0x000014c4, 0x00000980, 0x0420900b, 0x00006085, 0x0010a013, 0x0000b106,
- 0x04800000, 0x00006180, 0x75e8000b, 0x00006101, 0x8480240a, 0x00006080,
- 0x09c1c40a, 0x00006012, 0x000030bf, 0x00007410, 0x703898ec, 0x00005600,
- 0x00385800, 0x00000000, 0x02c00000, 0x0000e180, 0x0001c012, 0x00006111,
- 0x02800000, 0x00009981, 0x000ff812, 0x0000ed01, 0x00002d48, 0x0000f401,
- 0x96605012, 0x0000e803, 0xb6e04812, 0x0000e805, 0x80000637, 0x00001583,
- 0x82c80000, 0x00001988, 0x000030e8, 0x0000f011, 0x8231b20b, 0x00001100,
- 0x82104206, 0x00001c00, 0xffffffff, 0x00007f86, 0x8259b208, 0x0000e000,
- 0x81904206, 0x00008100, 0x8207fa09, 0x00006282, 0xcd99b208, 0x00000000,
- 0x000030cf, 0x0000700b, 0x00002597, 0x00007200, 0x8dd9b336, 0x00009900,
- 0x0211b236, 0x00006100, 0x02400a38, 0x00004180, 0x00004808, 0x00006502,
- 0x07a00005, 0x00000980, 0x82000a36, 0x00006090, 0x82000000, 0x00000988,
- 0x0c81a034, 0x00006100, 0x0418101e, 0x0000e187, 0x0db9ac08, 0x0000830c,
- 0x02001a08, 0x00001880, 0x07c18008, 0x0000e002, 0x02000340, 0x00008980,
- 0x02400031, 0x0000e084, 0x82280500, 0x00000900, 0x75e80008, 0x0000e901,
- 0x700040ec, 0x00005680, 0x003844c4, 0x00008010, 0x7038f8ec, 0x00005600,
- 0x00384800, 0x00008000, 0x700040ec, 0x00005680, 0x0038f7c0, 0x00000078,
- 0x00d802ec, 0x0000df80, 0x13073008, 0x000011c4, 0x31400206, 0x00007892,
- 0x69800000, 0x00001886, 0xffffffff, 0x00007f86, 0x02000000, 0x000080e8,
- 0x01c00000, 0x0000e180, 0x82184b09, 0x0000c900, 0x01800ce0, 0x0000e283,
- 0x8231be37, 0x00008901, 0x000036cf, 0x00007013, 0x000004e3, 0x00001583,
- 0x03408800, 0x00001990, 0x000036c8, 0x00007009, 0x36d91c53, 0x00007100,
- 0x00002af0, 0x00007000, 0xc2404539, 0x00001880, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x0000041d, 0x00006583, 0x03000000, 0x00008980,
- 0x03400000, 0x000000f8, 0x03c00000, 0x000081d4, 0x05800000, 0x000081dc,
- 0x000033c4, 0x00007410, 0x06000000, 0x000081e4, 0x06c00000, 0x000081e8,
- 0xc1801739, 0x00006283, 0x82510220, 0x00008900, 0x87000c39, 0x0000e080,
- 0x82590b21, 0x0000c908, 0x87184a1c, 0x00009000, 0x82e1ca09, 0x00001100,
- 0x8020420b, 0x00009502, 0xc1801739, 0x00006283, 0x08a05c0b, 0x00008929,
- 0xffffffff, 0x00007f86, 0x84211206, 0x0000e100, 0x81840000, 0x00000990,
- 0x81800000, 0x00001988, 0xffffffff, 0x00007f86, 0x8190321c, 0x00009000,
- 0x78400422, 0x00004188, 0x00604637, 0x00000088, 0x6d404637, 0x0000c1b0,
- 0x00606e37, 0x00000088, 0x6d006e37, 0x00004198, 0x00605637, 0x00008088,
- 0x48805637, 0x0000c5a9, 0x23a05e37, 0x00008189, 0x78007e37, 0x0000c488,
- 0x7c607e37, 0x00000caf, 0x4cc08637, 0x00004588, 0x03408e37, 0x0000838c,
- 0x77001e37, 0x00004388, 0x00601e37, 0x000000b0, 0x73202e37, 0x0000c488,
- 0x12602e37, 0x00008caf, 0x49c03637, 0x00004790, 0x26200e37, 0x0000298f,
- 0xee800e37, 0x0000f89a, 0xd9800000, 0x0000198c, 0x33000421, 0x0000f893,
- 0x01400001, 0x00008000, 0x5840020b, 0x0000f892, 0x19800000, 0x00009982,
- 0x80006637, 0x00001583, 0x02211422, 0x00001909, 0x00003150, 0x00007011,
- 0x02000c08, 0x00009183, 0xea838206, 0x00007902, 0x1c400000, 0x00000000,
- 0xea839406, 0x0000f902, 0x1cc00000, 0x00008000, 0x00003150, 0x00007208,
- 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea83a206, 0x0000f902,
- 0x1d400000, 0x00008000, 0xea83b406, 0x00007902, 0x1dc00000, 0x00000000,
- 0x00003150, 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183,
- 0xea83c206, 0x0000f902, 0x1e400000, 0x00008000, 0xea83d406, 0x00007902,
- 0x1ec00000, 0x00000000, 0x00003150, 0x00007208, 0x81801206, 0x00009080,
- 0x02000c08, 0x00009183, 0xea83e206, 0x00007902, 0x1f400000, 0x00000000,
- 0xea83f406, 0x0000f902, 0x1fc00000, 0x00008000, 0x00003150, 0x00007208,
- 0x81801206, 0x00009080, 0x00000c08, 0x00009583, 0xea840206, 0x00007902,
- 0x20400000, 0x00000000, 0xea841406, 0x0000f902, 0x20c00000, 0x00008000,
- 0x00003150, 0x00007208, 0x81801206, 0x00009080, 0xea842206, 0x0000f902,
- 0x21400000, 0x00008000, 0xea843406, 0x00007902, 0x21c00000, 0x00000000,
- 0x00000421, 0x00006583, 0x0721cc22, 0x00000001, 0x8df1bc22, 0x0000e001,
- 0xcd99b422, 0x00008000, 0x01800000, 0x00006191, 0x0e61cc22, 0x00004001,
- 0x0000333e, 0x0000f008, 0x2bb842ec, 0x0000a004, 0xffffffff, 0x00007fa7,
- 0x00072808, 0x00001502, 0x07000808, 0x00001090, 0x2bb8e2ec, 0x0000a814,
- 0x00000421, 0x00009583, 0x00000406, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00002ccc, 0x0000f010, 0x00003251, 0x00007010, 0x82190b21, 0x00009900,
- 0x59801739, 0x0000f896, 0x01800001, 0x00008000, 0x86400220, 0x00007893,
- 0x49000000, 0x0000988b, 0xc0000321, 0x00009582, 0x82110220, 0x00001908,
- 0x00002619, 0x0000f011, 0x81a1ca08, 0x00001100, 0x8719b206, 0x0000e000,
- 0x82503210, 0x00008100, 0x8001fa09, 0x00009582, 0x01a04c09, 0x00001931,
- 0x0000320b, 0x00007019, 0x00000409, 0x00009583, 0x00002ed0, 0x0000f00b,
- 0xc1801739, 0x00006283, 0x88400800, 0x00008980, 0x48400800, 0x00006189,
- 0x04400000, 0x00004980, 0x02000000, 0x0000e180, 0x82402406, 0x00004880,
- 0x40000521, 0x00006583, 0x8507fa1c, 0x00008280, 0xea390a0a, 0x0000d000,
- 0x00390000, 0x00000000, 0xc4603406, 0x00006108, 0x44400800, 0x00004991,
- 0x82203406, 0x00006110, 0x08006800, 0x00004989, 0x08018800, 0x00006191,
- 0x0707fa14, 0x0000c280, 0xc1801739, 0x00006283, 0x0f004821, 0x00002106,
- 0x81840000, 0x0000e188, 0x81800000, 0x00004990, 0x82f54b09, 0x0000f900,
- 0x00000002, 0x00000080, 0x8190320b, 0x00006000, 0x0941c410, 0x0000a000,
- 0x02c0201c, 0x00006080, 0x0c01c222, 0x0000e100, 0x0700f80b, 0x00006784,
- 0x0d00f81f, 0x00008900, 0x0a01900b, 0x0000e002, 0x0d40f01e, 0x00000900,
- 0x08c1981c, 0x0000e004, 0x89510a21, 0x00000900, 0x80010221, 0x0000e582,
- 0x89208410, 0x00008900, 0x85f5120a, 0x00007900, 0x00000002, 0x00000080,
- 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0x000031d4, 0x00007030,
- 0x00000410, 0x0000e583, 0x07000a38, 0x00000180, 0x07c00000, 0x0000e189,
- 0x09c1c41f, 0x0000e012, 0x8006fa14, 0x00001582, 0x09c00000, 0x0000e1b8,
- 0x02c80000, 0x0000c9b8, 0x0850a00b, 0x00009138, 0x000031f0, 0x00007050,
- 0x04c00000, 0x00007900, 0x000010c0, 0x00000980, 0x04802021, 0x00006080,
- 0x02c00000, 0x0000c980, 0x00109013, 0x0000e106, 0x0410300b, 0x00003187,
- 0x703898ec, 0x00005600, 0x00385800, 0x00000000, 0x80000224, 0x00006582,
- 0x02c00000, 0x00000980, 0x82c02021, 0x00001880, 0x0411100b, 0x0000e911,
- 0x000031af, 0x0000f010, 0x000ff80b, 0x00006d01, 0x9660f80b, 0x00006003,
- 0x80016027, 0x0000b686, 0x703940ec, 0x0000d600, 0x00391800, 0x00000000,
- 0xb6e0800b, 0x00006005, 0x04181027, 0x0000b187, 0x703858ec, 0x00005600,
- 0x00393800, 0x00008000, 0x02d1b236, 0x00006100, 0x8510a225, 0x0000c000,
- 0x0000e00b, 0x0000e502, 0x89480214, 0x00000180, 0x88400a36, 0x0000e090,
- 0x88400000, 0x00008988, 0x02c00000, 0x0000e180, 0x09a00005, 0x00004980,
- 0x8d910a21, 0x00006100, 0x0410b80b, 0x00006187, 0x08401a21, 0x00006080,
- 0x04181026, 0x00006187, 0x09c18021, 0x0000e002, 0x0c81a034, 0x00008900,
- 0x700040ec, 0x00005680, 0x003858c0, 0x00008010, 0x04c00031, 0x00006084,
- 0x82c01a12, 0x00008780, 0x80010225, 0x00006582, 0x0cc1a835, 0x00000900,
- 0x703938ec, 0x0000d600, 0x00389800, 0x00000000, 0x700040ec, 0x00005680,
- 0x003937c0, 0x00008078, 0x82509209, 0x00006100, 0x0a01a034, 0x00000900,
- 0x0000319c, 0x0000f418, 0x08c00735, 0x00000191, 0x81905a06, 0x00009000,
- 0x09512a14, 0x00009000, 0x00080025, 0x00009582, 0x00080025, 0x00009582,
- 0xffffffff, 0x00007f86, 0x0000322d, 0x0000f008, 0x0000320d, 0x00007038,
- 0x04800000, 0x0000f900, 0x000010e0, 0x00008980, 0x02c08811, 0x00006100,
- 0x00104812, 0x00006106, 0x02100000, 0x00006180, 0x04404008, 0x0000c900,
- 0x01800000, 0x00006180, 0x04103008, 0x00006187, 0x703890ec, 0x0000d600,
- 0x00384000, 0x00000000, 0x02000000, 0x00009980, 0x82350a0a, 0x0000f900,
- 0x00000002, 0x00000080, 0x04210008, 0x0000e887, 0x703840ec, 0x00005600,
- 0x00000000, 0x00008080, 0x703858ec, 0x00005600, 0x00388800, 0x00008000,
- 0x00002e74, 0x00007400, 0x02c00000, 0x0000e180, 0x02011823, 0x00004900,
- 0x02f94409, 0x00008104, 0x80000224, 0x00006582, 0x02c00000, 0x00000980,
- 0x08400000, 0x00006180, 0x0410300b, 0x00006187, 0x701000ec, 0x00005680,
- 0x003858c0, 0x00008010, 0x000031fb, 0x0000f410, 0x02d00000, 0x00001980,
- 0x0411100b, 0x0000e911, 0xffffffff, 0x00007f86, 0x000ff80b, 0x00006d01,
- 0x89410225, 0x0000e180, 0x80016021, 0x00002686, 0x9660f80b, 0x00006003,
- 0x04181021, 0x0000b187, 0x703940ec, 0x0000d600, 0x00391800, 0x00000000,
- 0x0a100028, 0x0000e082, 0xb6e0800b, 0x0000a005, 0x703858ec, 0x00005600,
- 0x00390800, 0x00008000, 0x85010214, 0x00006080, 0x82500209, 0x00008180,
- 0x08c00023, 0x00006084, 0x81820206, 0x00000080, 0x67010225, 0x0000789a,
- 0xa1800000, 0x0000188e, 0x00003171, 0x0000f200, 0x01820000, 0x00001981,
- 0x07000100, 0x000080ec, 0x0510a01c, 0x0000e100, 0x0410300b, 0x0000a187,
- 0x04800000, 0x0000f900, 0x000010c0, 0x00000980, 0x00000410, 0x0000e583,
- 0x04c02014, 0x00000880, 0x07400000, 0x00006180, 0x00109812, 0x0000e106,
- 0x703890ec, 0x0000d600, 0x00385800, 0x00000000, 0x02c00000, 0x00009980,
- 0x00003220, 0x0000f410, 0x82c02014, 0x00006080, 0x09c1c414, 0x00006012,
- 0x05000000, 0x00006189, 0x0001c00b, 0x0000e111, 0xffffffff, 0x00007f86,
- 0x000ff80b, 0x00006d01, 0x87001a13, 0x00006780, 0x8001601d, 0x00002686,
- 0x9660a00b, 0x0000e003, 0x0418101d, 0x0000b187, 0x703940ec, 0x0000d600,
- 0x00391800, 0x00000000, 0x82509a09, 0x0000e100, 0xb6e0800b, 0x0000a005,
- 0x703858ec, 0x00005600, 0x0038e800, 0x00008000, 0x8190e206, 0x00006000,
- 0x0a01a034, 0x00000900, 0x08c1a835, 0x00001900, 0x02d1b236, 0x00006100,
- 0x07000a38, 0x0000c180, 0x0000e00b, 0x0000e502, 0x05200005, 0x00000980,
- 0x82c00a36, 0x00006090, 0x82c00000, 0x00000988, 0x0c81a034, 0x00006100,
- 0x04181014, 0x0000e187, 0x0db9ac0b, 0x0000830c, 0x02c01a0b, 0x00001880,
- 0x0701800b, 0x0000e002, 0x02c00000, 0x00000980, 0xc2f5120a, 0x00007900,
- 0x00000002, 0x00000080, 0x700040ec, 0x00005680, 0x003858c0, 0x00008010,
- 0x04800031, 0x00001084, 0x000031da, 0x00007400, 0x7038e0ec, 0x00005600,
- 0x00389000, 0x00008000, 0x700040ec, 0x00005680, 0x0038a7c0, 0x00000078,
- 0xc1801739, 0x00006283, 0x09c1cc1c, 0x0000a000, 0x00000021, 0x0000e58f,
- 0x00000020, 0x0000b596, 0x07000c1c, 0x0000e481, 0x0e400000, 0x00000981,
- 0x00000421, 0x00006583, 0x90000039, 0x0000a401, 0xea390a0a, 0x0000d000,
- 0x00390000, 0x00000000, 0x9660e039, 0x0000e801, 0x00002ccc, 0x00007210,
- 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0xc1801739, 0x00006283,
- 0x82510220, 0x00008900, 0x82590b21, 0x0000e108, 0x02c09000, 0x00004981,
- 0x87000c39, 0x0000e080, 0x0231bc0b, 0x0000c101, 0x87184a1c, 0x00006000,
- 0x82e1ca09, 0x00008100, 0x8020420b, 0x00009502, 0xc1801739, 0x00006283,
- 0x02205c0b, 0x00000929, 0x81840000, 0x00009990, 0x81800000, 0x00006188,
- 0x84204210, 0x00004100, 0x00003260, 0x0000f010, 0x8190321c, 0x00009000,
- 0x5e200408, 0x00004188, 0x00604637, 0x00000088, 0x5ae04637, 0x000041b0,
- 0x00606e37, 0x00000088, 0x5aa06e37, 0x0000c198, 0x00605637, 0x00008088,
- 0x0bc05637, 0x000045a8, 0x04605e37, 0x00000188, 0x5ba07e37, 0x00004488,
- 0xb6607e37, 0x00008cad, 0x0dc08637, 0x00004588, 0x03208e37, 0x0000038b,
- 0x65601e37, 0x00004388, 0x00601e37, 0x000000b0, 0x61802e37, 0x0000c488,
- 0xf8602e37, 0x00008cad, 0x0dc03637, 0x00004790, 0x08200e37, 0x00000b8f,
- 0xcb400e37, 0x0000789a, 0x71800000, 0x00001988, 0x5840020b, 0x0000f892,
- 0x89800000, 0x00001989, 0x80006637, 0x00001583, 0x02e04408, 0x00001909,
- 0x000032a1, 0x0000f011, 0x02c00c0b, 0x00009183, 0xea838206, 0x00007902,
- 0x1c400000, 0x00000000, 0xea839406, 0x0000f902, 0x1cc00000, 0x00008000,
- 0x000032a1, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183,
- 0xea83a206, 0x0000f902, 0x1d400000, 0x00008000, 0xea83b406, 0x00007902,
- 0x1dc00000, 0x00000000, 0x000032a1, 0x0000f208, 0x81801206, 0x00009080,
- 0x02c00c0b, 0x00009183, 0xea83c206, 0x0000f902, 0x1e400000, 0x00008000,
- 0xea83d406, 0x00007902, 0x1ec00000, 0x00000000, 0x000032a1, 0x0000f208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea83e206, 0x00007902,
- 0x1f400000, 0x00000000, 0xea83f406, 0x0000f902, 0x1fc00000, 0x00008000,
- 0x000032a1, 0x0000f208, 0x81801206, 0x00009080, 0x00000c0b, 0x00009583,
- 0xea840206, 0x00007902, 0x20400000, 0x00000000, 0xea841406, 0x0000f902,
- 0x20c00000, 0x00008000, 0x000032a1, 0x0000f208, 0x81801206, 0x00009080,
- 0xea842206, 0x0000f902, 0x21400000, 0x00008000, 0xea843406, 0x00007902,
- 0x21c00000, 0x00000000, 0x00000421, 0x00006583, 0x0721cc08, 0x00008001,
- 0x8df1bc08, 0x00006001, 0xcd99b408, 0x00000000, 0x0e61cc08, 0x00009001,
- 0x000032b6, 0x00007008, 0x2bb832ec, 0x00002004, 0xffffffff, 0x00007fa7,
- 0x00072806, 0x00009502, 0x00003161, 0x00007400, 0x07000806, 0x00009090,
- 0x2bb8e2ec, 0x0000a814, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183,
- 0xea836206, 0x0000f902, 0x1b400000, 0x00008000, 0xea837406, 0x00007902,
- 0x1bc00000, 0x00000000, 0x0000327a, 0x0000f210, 0x81801206, 0x00009080,
- 0x000032a1, 0x0000f000, 0x8020e209, 0x00001502, 0x09c1cc1c, 0x00006808,
- 0x0e400000, 0x00006189, 0x07000c1c, 0x0000c489, 0x000032a7, 0x00007010,
- 0xc1801739, 0x00006283, 0x90000039, 0x0000a401, 0x00000021, 0x0000e58f,
- 0x00000020, 0x0000b596, 0x9660e039, 0x0000e801, 0x000032a7, 0x00007400,
- 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0xea38fc0a, 0x00005000,
- 0x0038f000, 0x00008000, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183,
- 0xea832206, 0x00007902, 0x19400000, 0x00000000, 0xea833406, 0x0000f902,
- 0x19c00000, 0x00008000, 0x000032a1, 0x0000f208, 0x81801206, 0x00009080,
- 0x02c00c0b, 0x00009183, 0xea834206, 0x00007902, 0x1a400000, 0x00000000,
- 0xea835406, 0x0000f902, 0x1ac00000, 0x00008000, 0x000032ae, 0x0000f210,
- 0x81801206, 0x00009080, 0x000032a1, 0x0000f000, 0x000032cd, 0x00007200,
- 0x02e04408, 0x00009901, 0x00003281, 0x0000f200, 0x02e04408, 0x00009901,
- 0x00003296, 0x0000f200, 0x02e04408, 0x00009901, 0x00003288, 0x0000f200,
- 0x02e04408, 0x00009901, 0x0000328f, 0x00007200, 0x02e04408, 0x00009901,
- 0x80003e37, 0x00009583, 0x02e04408, 0x00001909, 0x000032a1, 0x0000f011,
- 0x02c00c0b, 0x00009183, 0xea82e206, 0x0000f902, 0x17400000, 0x00008000,
- 0xea82f406, 0x00007902, 0x17c00000, 0x00000000, 0x000032a1, 0x0000f208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea830206, 0x0000f902,
- 0x18400000, 0x00008000, 0xea831406, 0x00007902, 0x18c00000, 0x00000000,
- 0x000032c6, 0x00007210, 0x81801206, 0x00009080, 0x000032a1, 0x0000f000,
- 0x000032e9, 0x00007200, 0x02e04408, 0x00009901, 0x02e04408, 0x00009901,
- 0x02c00c0b, 0x00009183, 0xea82c206, 0x00007902, 0x16400000, 0x00000000,
- 0xea82d406, 0x0000f902, 0x16c00000, 0x00008000, 0x000032e2, 0x00007210,
- 0x81801206, 0x00009080, 0x000032a1, 0x0000f000, 0x02e04408, 0x00009901,
- 0x02c00c0b, 0x00009183, 0xea828206, 0x0000f902, 0x14400000, 0x00008000,
- 0xea829406, 0x00007902, 0x14c00000, 0x00000000, 0x000032a1, 0x0000f208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea82a206, 0x00007902,
- 0x15400000, 0x00000000, 0xea82b406, 0x0000f902, 0x15c00000, 0x00008000,
- 0x000032f4, 0x0000f210, 0x81801206, 0x00009080, 0x000032a1, 0x0000f000,
- 0x00003304, 0x0000f200, 0x02e04408, 0x00009901, 0x02c00c08, 0x00009183,
- 0xea820206, 0x00007902, 0x10400000, 0x00000000, 0xea821406, 0x0000f902,
- 0x10c00000, 0x00008000, 0x000032a1, 0x0000f208, 0x81801206, 0x00009080,
- 0x02c00c0b, 0x00009183, 0xea822206, 0x0000f902, 0x11400000, 0x00008000,
- 0xea823406, 0x00007902, 0x11c00000, 0x00000000, 0x000032a1, 0x0000f208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea824206, 0x0000f902,
- 0x12400000, 0x00008000, 0xea825406, 0x00007902, 0x12c00000, 0x00000000,
- 0x000032a1, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183,
- 0xea826206, 0x00007902, 0x13400000, 0x00000000, 0xea827406, 0x0000f902,
- 0x13c00000, 0x00008000, 0x000032fd, 0x0000f210, 0x81801206, 0x00009080,
- 0x000032a1, 0x0000f000, 0x00003323, 0x0000f200, 0x02e04408, 0x00009901,
- 0x0000331c, 0x0000f200, 0x02e04408, 0x00009901, 0x00003315, 0x0000f200,
- 0x02e04408, 0x00009901, 0xc1801739, 0x00006283, 0x09c1cc1c, 0x0000a000,
- 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596, 0x07000c1c, 0x0000e481,
- 0x0e400000, 0x00000981, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000,
- 0x90000039, 0x0000ec01, 0x00003161, 0x00007400, 0xea38fc0a, 0x00005000,
- 0x0038f000, 0x00008000, 0x9660e039, 0x0000e801, 0x8020e209, 0x00001502,
- 0x01a10c21, 0x0000e111, 0x09c1cc1c, 0x0000e008, 0x07000c1c, 0x00006489,
- 0x0e400000, 0x00008989, 0x00003157, 0x00007010, 0xc1801739, 0x00006283,
- 0x01800800, 0x00008981, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596,
- 0x90000039, 0x0000ec01, 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000,
- 0x00003157, 0x00007400, 0x9660e039, 0x0000e801, 0xea38fc0a, 0x00005000,
- 0x0038f000, 0x00008000, 0x02211422, 0x00009901, 0x02000c08, 0x00009183,
- 0xea836206, 0x0000f902, 0x1b400000, 0x00008000, 0xea837406, 0x00007902,
- 0x1bc00000, 0x00000000, 0x00003129, 0x0000f210, 0x81801206, 0x00009080,
- 0x00003150, 0x00007000, 0x02211422, 0x00009901, 0x02000c08, 0x00009183,
- 0xea832206, 0x00007902, 0x19400000, 0x00000000, 0xea833406, 0x0000f902,
- 0x19c00000, 0x00008000, 0x00003150, 0x00007208, 0x81801206, 0x00009080,
- 0x02000c08, 0x00009183, 0xea834206, 0x00007902, 0x1a400000, 0x00000000,
- 0xea835406, 0x0000f902, 0x1ac00000, 0x00008000, 0x00003350, 0x0000f210,
- 0x81801206, 0x00009080, 0x00003150, 0x00007000, 0x00003360, 0x00007200,
- 0x02211422, 0x00009901, 0x00003130, 0x0000f200, 0x02211422, 0x00009901,
- 0x80003e37, 0x00009583, 0x02211422, 0x00001909, 0x00003150, 0x00007011,
- 0x02000c08, 0x00009183, 0xea82e206, 0x0000f902, 0x17400000, 0x00008000,
- 0xea82f406, 0x00007902, 0x17c00000, 0x00000000, 0x00003150, 0x00007208,
- 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea830206, 0x0000f902,
- 0x18400000, 0x00008000, 0xea831406, 0x00007902, 0x18c00000, 0x00000000,
- 0x00003359, 0x0000f210, 0x81801206, 0x00009080, 0x00003150, 0x00007000,
- 0x00003145, 0x00007200, 0x02211422, 0x00009901, 0x02211422, 0x00009901,
- 0x02000c08, 0x00009183, 0xea82c206, 0x00007902, 0x16400000, 0x00000000,
- 0xea82d406, 0x0000f902, 0x16c00000, 0x00008000, 0x0000336f, 0x0000f210,
- 0x81801206, 0x00009080, 0x00003150, 0x00007000, 0x02211422, 0x00009901,
- 0x02000c08, 0x00009183, 0xea828206, 0x0000f902, 0x14400000, 0x00008000,
- 0xea829406, 0x00007902, 0x14c00000, 0x00000000, 0x00003150, 0x00007208,
- 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea82a206, 0x00007902,
- 0x15400000, 0x00000000, 0xea82b406, 0x0000f902, 0x15c00000, 0x00008000,
- 0x00003381, 0x0000f210, 0x81801206, 0x00009080, 0x00003150, 0x00007000,
- 0x00003391, 0x0000f200, 0x02211422, 0x00009901, 0x02000c22, 0x00001183,
- 0xea820206, 0x00007902, 0x10400000, 0x00000000, 0xea821406, 0x0000f902,
- 0x10c00000, 0x00008000, 0x00003150, 0x00007208, 0x81801206, 0x00009080,
- 0x02000c08, 0x00009183, 0xea822206, 0x0000f902, 0x11400000, 0x00008000,
- 0xea823406, 0x00007902, 0x11c00000, 0x00000000, 0x00003150, 0x00007208,
- 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea824206, 0x0000f902,
- 0x12400000, 0x00008000, 0xea825406, 0x00007902, 0x12c00000, 0x00000000,
- 0x00003150, 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183,
- 0xea826206, 0x00007902, 0x13400000, 0x00000000, 0xea827406, 0x0000f902,
- 0x13c00000, 0x00008000, 0x0000338a, 0x00007210, 0x81801206, 0x00009080,
- 0x00003150, 0x00007000, 0x000033b0, 0x0000f200, 0x02211422, 0x00009901,
- 0x000033a9, 0x00007200, 0x02211422, 0x00009901, 0x000033a2, 0x0000f200,
- 0x02211422, 0x00009901, 0x00003137, 0x00007200, 0x02211422, 0x00009901,
- 0x0000313e, 0x00007200, 0x02211422, 0x00009901, 0x00003376, 0x0000f200,
- 0x02211422, 0x00009901, 0x02400000, 0x00009981, 0x02402409, 0x00009081,
- 0x0020ec09, 0x00009503, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x000033c5, 0x0000f028, 0x000030ff, 0x0000f000, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x0000041d, 0x00006583, 0x03000000, 0x00008980,
- 0x03400000, 0x000000f8, 0x03c00000, 0x000081d4, 0x05800000, 0x000081dc,
- 0x000033db, 0x0000f408, 0x06000000, 0x000081e4, 0x06800000, 0x000081ec,
- 0x01800000, 0x00009981, 0x01802406, 0x00009081, 0x0020ec06, 0x00009503,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x000033d6, 0x00007028,
- 0x00002619, 0x00007200, 0x81400800, 0x00009981, 0xc2404539, 0x00001880,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000041d, 0x00006583,
- 0x03000000, 0x00008980, 0x03400000, 0x000000f8, 0x03c00000, 0x000081d4,
- 0x05800000, 0x000081dc, 0x000036aa, 0x0000f410, 0x06000000, 0x000081e4,
- 0x06c00000, 0x000081e8, 0xc1801739, 0x00006283, 0x82510220, 0x00008900,
- 0x87000c39, 0x0000e080, 0x82590b21, 0x0000c908, 0x87184a1c, 0x00009000,
- 0x82e1ca09, 0x00001100, 0x8020420b, 0x00009502, 0xc1801739, 0x00006283,
- 0x08a05c0b, 0x00008929, 0xffffffff, 0x00007f86, 0x84211206, 0x0000e100,
- 0x81840000, 0x00000990, 0x81800000, 0x00001988, 0xffffffff, 0x00007f86,
- 0x8190321c, 0x00009000, 0xcd400422, 0x0000c188, 0x00604637, 0x00000088,
- 0xca004637, 0x0000c1b0, 0x00606e37, 0x00000088, 0xc9c06e37, 0x0000c198,
- 0x00605637, 0x00008088, 0x48205637, 0x000045a8, 0x23805e37, 0x00000189,
- 0xcac07e37, 0x0000c488, 0xa8607e37, 0x00008dac, 0x4a208637, 0x0000c588,
- 0x03408e37, 0x0000838c, 0xd4801e37, 0x0000c388, 0x00601e37, 0x000000b0,
- 0xd0a02e37, 0x00004488, 0xea602e37, 0x00008dac, 0x4a203637, 0x00004791,
- 0xa6400e37, 0x00002a88, 0xa9800e37, 0x0000789b, 0x39800000, 0x00009b84,
- 0x33000421, 0x0000f893, 0x01400001, 0x00008000, 0x1280020b, 0x0000f893,
- 0x49800000, 0x00001a89, 0x80006637, 0x00001583, 0x02211422, 0x00001909,
- 0x00003439, 0x00007011, 0x02000c08, 0x00009183, 0xea838206, 0x00007902,
- 0x1c400000, 0x00000000, 0xea839406, 0x0000f902, 0x1cc00000, 0x00008000,
- 0x00003439, 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183,
- 0xea83a206, 0x0000f902, 0x1d400000, 0x00008000, 0xea83b406, 0x00007902,
- 0x1dc00000, 0x00000000, 0x00003439, 0x00007208, 0x81801206, 0x00009080,
- 0x02000c08, 0x00009183, 0xea83c206, 0x0000f902, 0x1e400000, 0x00008000,
- 0xea83d406, 0x00007902, 0x1ec00000, 0x00000000, 0x00003439, 0x00007208,
- 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea83e206, 0x00007902,
- 0x1f400000, 0x00000000, 0xea83f406, 0x0000f902, 0x1fc00000, 0x00008000,
- 0x00003439, 0x00007208, 0x81801206, 0x00009080, 0x00000c08, 0x00009583,
- 0xea840206, 0x00007902, 0x20400000, 0x00000000, 0xea841406, 0x0000f902,
- 0x20c00000, 0x00008000, 0x00003439, 0x00007208, 0x81801206, 0x00009080,
- 0xea842206, 0x0000f902, 0x21400000, 0x00008000, 0xea843406, 0x00007902,
- 0x21c00000, 0x00000000, 0x00000421, 0x00006583, 0x0721cc22, 0x00000001,
- 0x8df1bc22, 0x0000e001, 0xcd99b422, 0x00008000, 0x01800000, 0x00006191,
- 0x0e61cc22, 0x00004001, 0x00003624, 0x00007008, 0x2bb842ec, 0x0000a004,
- 0xffffffff, 0x00007fa7, 0x00072808, 0x00001502, 0x07000808, 0x00001090,
- 0x2bb8e2ec, 0x0000a814, 0x00000421, 0x00009583, 0x00000406, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00002ccc, 0x0000f010, 0x00003537, 0x0000f010,
- 0x82190b21, 0x00009900, 0x13c01739, 0x00007897, 0x01800001, 0x00008000,
- 0x86400220, 0x00007893, 0x91000000, 0x00001a82, 0xc0000321, 0x00009582,
- 0x82110220, 0x00001908, 0x00002619, 0x0000f011, 0x81a1ca08, 0x00001100,
- 0x8719b206, 0x0000e000, 0x82503210, 0x00008100, 0x8001fa09, 0x00009582,
- 0x01a04c09, 0x00001931, 0x000034f1, 0x00007019, 0x00000409, 0x00009583,
- 0x00002ed0, 0x0000f00b, 0xc1801739, 0x00006283, 0x88400800, 0x00008980,
- 0x48400800, 0x00006189, 0x04800000, 0x00004980, 0x04400000, 0x00006180,
- 0x85c02406, 0x00004880, 0x40000521, 0x00006583, 0x0941c410, 0x0000a000,
- 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0xc4a03406, 0x00006108,
- 0x44800800, 0x00004991, 0x84603406, 0x0000e110, 0x08006800, 0x00004989,
- 0x08018800, 0x00006191, 0x0f00b821, 0x0000e106, 0xc1801739, 0x00006283,
- 0x0c01c222, 0x00002100, 0x81840000, 0x0000e188, 0x81800000, 0x00004990,
- 0x82754b09, 0x00007900, 0x00000002, 0x00000080, 0x81903209, 0x0000e000,
- 0x0d00f81f, 0x00008900, 0x8247fa1c, 0x0000e280, 0x0d40f01e, 0x00000900,
- 0x0707fa09, 0x00006280, 0x89208410, 0x00008900, 0x89910a21, 0x0000e100,
- 0x0200201c, 0x00004880, 0x02019008, 0x00006002, 0x0700f808, 0x00000784,
- 0x80010221, 0x0000e582, 0x0941981c, 0x00008004, 0x8775120a, 0x00007900,
- 0x00000002, 0x00000080, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000,
- 0x000034bf, 0x0000f030, 0x00000410, 0x0000e583, 0x07000a38, 0x00000180,
- 0x08c00000, 0x0000e189, 0x09c1c423, 0x0000e012, 0x8006fa09, 0x00001582,
- 0x09c00000, 0x0000e1b8, 0x02c80000, 0x0000c9b8, 0x0510480b, 0x00009138,
- 0x000034d6, 0x0000f050, 0x08400000, 0x0000f900, 0x000010c0, 0x00000980,
- 0x04c02014, 0x0000e080, 0x02c00000, 0x0000c980, 0x00109821, 0x0000e106,
- 0x0410300b, 0x00003187, 0x703908ec, 0x0000d600, 0x00385800, 0x00000000,
- 0x80000224, 0x00006582, 0x02c00000, 0x00000980, 0x08404008, 0x0000e100,
- 0x82c02014, 0x00004880, 0x0411100b, 0x0000e911, 0x00003499, 0x0000f010,
- 0x000ff80b, 0x00006d01, 0x9661180b, 0x00006003, 0x80016027, 0x0000b686,
- 0x703908ec, 0x0000d600, 0x00392800, 0x00000000, 0xb6e0800b, 0x00006005,
- 0x04181027, 0x0000b187, 0x703858ec, 0x00005600, 0x00393800, 0x00008000,
- 0x02d1b236, 0x00006100, 0x82504a26, 0x0000c000, 0x0000e00b, 0x0000e502,
- 0x89880209, 0x00000180, 0x88400a36, 0x0000e090, 0x88400000, 0x00008988,
- 0x02c00000, 0x0000e180, 0x09e00005, 0x0000c980, 0x8d910a21, 0x00006100,
- 0x0410e80b, 0x00006187, 0x08401a21, 0x00006080, 0x04181027, 0x0000e187,
- 0x0a018021, 0x0000e002, 0x82401a13, 0x00008780, 0x700040ec, 0x00005680,
- 0x003858c0, 0x00008010, 0x05000031, 0x0000e084, 0x0201a034, 0x00008900,
- 0x80010226, 0x00006582, 0x0c81a034, 0x00008900, 0x703940ec, 0x0000d600,
- 0x0038a000, 0x00008000, 0x700040ec, 0x00005680, 0x00393fc0, 0x00000078,
- 0x0cc1a835, 0x0000e100, 0x85d09a17, 0x00004100, 0x00003485, 0x00007418,
- 0x0941a835, 0x00006100, 0x81904a06, 0x00004000, 0x82400000, 0x00009980,
- 0x09913209, 0x00009000, 0x00080026, 0x00009582, 0x00080026, 0x00009582,
- 0xffffffff, 0x00007f86, 0x00003513, 0x0000f008, 0x000034f3, 0x0000f038,
- 0x02500000, 0x0000e180, 0x02c08811, 0x00004900, 0x04400000, 0x0000f900,
- 0x000010e0, 0x00008980, 0x0010b811, 0x00006106, 0x04103009, 0x0000b187,
- 0x703888ec, 0x0000d600, 0x00384800, 0x00008000, 0x02400000, 0x00001980,
- 0x82750a0a, 0x00007900, 0x00000002, 0x00000080, 0x04210009, 0x00006887,
- 0x00002e71, 0x00007400, 0x703848ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x703890ec, 0x0000d600, 0x00385800, 0x00000000, 0x80000224, 0x00006582,
- 0x02c00000, 0x00000980, 0x08400000, 0x00006180, 0x0410300b, 0x00006187,
- 0x701000ec, 0x00005680, 0x003858c0, 0x00008010, 0x000034e1, 0x00007410,
- 0x02d00000, 0x00001980, 0x0411100b, 0x0000e911, 0xffffffff, 0x00007f86,
- 0x000ff80b, 0x00006d01, 0x89810226, 0x0000e180, 0x80016021, 0x00002686,
- 0x9661180b, 0x00006003, 0x04181021, 0x0000b187, 0x703840ec, 0x00005600,
- 0x00392800, 0x00000000, 0x02100008, 0x0000e082, 0xb6e0800b, 0x0000a005,
- 0x703858ec, 0x00005600, 0x00390800, 0x00008000, 0x82410209, 0x00006080,
- 0x85d00217, 0x00008180, 0x09400025, 0x00006084, 0x81820206, 0x00000080,
- 0x21410226, 0x0000f89b, 0xf9800000, 0x00009a85, 0x0000345a, 0x0000f200,
- 0x01820000, 0x00001981, 0x07000100, 0x000080ec, 0x04d0481c, 0x00006100,
- 0x0410300b, 0x0000a187, 0x05000000, 0x0000f900, 0x000010c0, 0x00000980,
- 0x00000410, 0x0000e583, 0x02402013, 0x00000880, 0x07000000, 0x0000e180,
- 0x00104814, 0x00006106, 0x7038a0ec, 0x0000d600, 0x00385800, 0x00000000,
- 0x05000708, 0x000000ac, 0x00003506, 0x0000f410, 0x82c02013, 0x0000e080,
- 0x09c1c413, 0x0000e012, 0x04c00000, 0x0000e189, 0x0001c00b, 0x0000e111,
- 0xffffffff, 0x00007f86, 0x000ff80b, 0x00006d01, 0x85d04a17, 0x00006100,
- 0x8001601c, 0x0000a686, 0x9660980b, 0x00006003, 0x0418101c, 0x00003187,
- 0x7038a0ec, 0x0000d600, 0x00392800, 0x00000000, 0x0201a034, 0x00006100,
- 0xb6e0800b, 0x00006005, 0x703858ec, 0x00005600, 0x0038e000, 0x00000000,
- 0x0941a835, 0x00006100, 0x87001a09, 0x00004780, 0x8190e206, 0x00009000,
- 0x0251b236, 0x0000e100, 0x07000a38, 0x0000c180, 0x0000e009, 0x00006502,
- 0x05200005, 0x00000980, 0x82400a36, 0x0000e090, 0x82400000, 0x00008988,
- 0x0c81a034, 0x00006100, 0x04181014, 0x0000e187, 0x0db9ac09, 0x0000030c,
- 0x02401a09, 0x00001880, 0x07018009, 0x00006002, 0x02400000, 0x00008980,
- 0xc275120a, 0x0000f900, 0x00000002, 0x00000080, 0x700040ec, 0x00005680,
- 0x003848c0, 0x00000010, 0x02c00031, 0x00009084, 0x000034c5, 0x0000f400,
- 0x7038e0ec, 0x00005600, 0x00385800, 0x00000000, 0x700040ec, 0x00005680,
- 0x0038a7c0, 0x00000078, 0xc1801739, 0x00006283, 0x09c1cc1c, 0x0000a000,
- 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596, 0x07000c1c, 0x0000e481,
- 0x0e400000, 0x00000981, 0x00000421, 0x00006583, 0x90000039, 0x0000a401,
- 0xea390a0a, 0x0000d000, 0x00390000, 0x00000000, 0x9660e039, 0x0000e801,
- 0x00002ccc, 0x00007210, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000,
- 0xc1801739, 0x00006283, 0x82510220, 0x00008900, 0x82590b21, 0x0000e108,
- 0x02c09000, 0x00004981, 0x87000c39, 0x0000e080, 0x0231bc0b, 0x0000c101,
- 0x87184a1c, 0x00006000, 0x82e1ca09, 0x00008100, 0x8020420b, 0x00009502,
- 0xc1801739, 0x00006283, 0x02205c0b, 0x00000929, 0x81840000, 0x00009990,
- 0x81800000, 0x00006188, 0x84204210, 0x00004100, 0x00003546, 0x0000f010,
- 0x8190321c, 0x00009000, 0xc2a00408, 0x0000c188, 0x00604637, 0x00000088,
- 0xb7a04637, 0x0000c1b0, 0x00606e37, 0x00000088, 0xb7606e37, 0x0000c198,
- 0x00605637, 0x00008088, 0x09e05637, 0x000045a8, 0x04605e37, 0x00000188,
- 0xbbc07e37, 0x0000c488, 0xb8607e37, 0x00008dab, 0x11208637, 0x00004588,
- 0x03208e37, 0x0000038b, 0xc1e01e37, 0x00004388, 0x00601e37, 0x000000b0,
- 0xbe002e37, 0x0000c488, 0xc0602e37, 0x00008dab, 0x0d003637, 0x00004790,
- 0x07a00e37, 0x00000b8e, 0x84400e37, 0x0000789b, 0x91800000, 0x00001a8f,
- 0x1280020b, 0x0000f893, 0xb9800000, 0x00009b80, 0x80006637, 0x00001583,
- 0x02e04408, 0x00001909, 0x00003587, 0x0000f011, 0x02c00c0b, 0x00009183,
- 0xea838206, 0x00007902, 0x1c400000, 0x00000000, 0xea839406, 0x0000f902,
- 0x1cc00000, 0x00008000, 0x00003587, 0x0000f208, 0x81801206, 0x00009080,
- 0x02c00c0b, 0x00009183, 0xea83a206, 0x0000f902, 0x1d400000, 0x00008000,
- 0xea83b406, 0x00007902, 0x1dc00000, 0x00000000, 0x00003587, 0x0000f208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea83c206, 0x0000f902,
- 0x1e400000, 0x00008000, 0xea83d406, 0x00007902, 0x1ec00000, 0x00000000,
- 0x00003587, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183,
- 0xea83e206, 0x00007902, 0x1f400000, 0x00000000, 0xea83f406, 0x0000f902,
- 0x1fc00000, 0x00008000, 0x00003587, 0x0000f208, 0x81801206, 0x00009080,
- 0x00000c0b, 0x00009583, 0xea840206, 0x00007902, 0x20400000, 0x00000000,
- 0xea841406, 0x0000f902, 0x20c00000, 0x00008000, 0x00003587, 0x0000f208,
- 0x81801206, 0x00009080, 0xea842206, 0x0000f902, 0x21400000, 0x00008000,
- 0xea843406, 0x00007902, 0x21c00000, 0x00000000, 0x00000421, 0x00006583,
- 0x0721cc08, 0x00008001, 0x8df1bc08, 0x00006001, 0xcd99b408, 0x00000000,
- 0x0e61cc08, 0x00009001, 0x000035ac, 0x00007008, 0x2bb832ec, 0x00002004,
- 0xffffffff, 0x00007fa7, 0x00072806, 0x00009502, 0x0000344a, 0x00007400,
- 0x07000806, 0x00009090, 0x2bb8e2ec, 0x0000a814, 0x02e04408, 0x00009901,
- 0x02c00c0b, 0x00009183, 0xea836206, 0x0000f902, 0x1b400000, 0x00008000,
- 0xea837406, 0x00007902, 0x1bc00000, 0x00000000, 0x00003560, 0x0000f210,
- 0x81801206, 0x00009080, 0x00003587, 0x0000f000, 0x02e04408, 0x00009901,
- 0x02c00c0b, 0x00009183, 0xea832206, 0x00007902, 0x19400000, 0x00000000,
- 0xea833406, 0x0000f902, 0x19c00000, 0x00008000, 0x00003587, 0x0000f208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea834206, 0x00007902,
- 0x1a400000, 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000, 0x00008000,
- 0x00003594, 0x00007210, 0x81801206, 0x00009080, 0x00003587, 0x0000f000,
- 0x8020e209, 0x00001502, 0x09c1cc1c, 0x00006808, 0x0e400000, 0x00006189,
- 0x07000c1c, 0x0000c489, 0x0000358d, 0x00007010, 0xc1801739, 0x00006283,
- 0x90000039, 0x0000a401, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596,
- 0x9660e039, 0x0000e801, 0x0000358d, 0x00007400, 0xea390a0a, 0x0000d000,
- 0x00390000, 0x00000000, 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000,
- 0x000035a4, 0x0000f200, 0x02e04408, 0x00009901, 0x00003567, 0x0000f200,
- 0x02e04408, 0x00009901, 0x80003e37, 0x00009583, 0x02e04408, 0x00001909,
- 0x00003587, 0x0000f011, 0x02c00c0b, 0x00009183, 0xea82e206, 0x0000f902,
- 0x17400000, 0x00008000, 0xea82f406, 0x00007902, 0x17c00000, 0x00000000,
- 0x00003587, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183,
- 0xea830206, 0x0000f902, 0x18400000, 0x00008000, 0xea831406, 0x00007902,
- 0x18c00000, 0x00000000, 0x0000359d, 0x00007210, 0x81801206, 0x00009080,
- 0x00003587, 0x0000f000, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183,
- 0xea82c206, 0x00007902, 0x16400000, 0x00000000, 0xea82d406, 0x0000f902,
- 0x16c00000, 0x00008000, 0x000035c2, 0x00007210, 0x81801206, 0x00009080,
- 0x00003587, 0x0000f000, 0x0000357c, 0x0000f200, 0x02e04408, 0x00009901,
- 0x0000356e, 0x0000f200, 0x02e04408, 0x00009901, 0x00003575, 0x0000f200,
- 0x02e04408, 0x00009901, 0x02e04408, 0x00009901, 0x02c00c0b, 0x00009183,
- 0xea828206, 0x0000f902, 0x14400000, 0x00008000, 0xea829406, 0x00007902,
- 0x14c00000, 0x00000000, 0x00003587, 0x0000f208, 0x81801206, 0x00009080,
- 0x02c00c0b, 0x00009183, 0xea82a206, 0x00007902, 0x15400000, 0x00000000,
- 0xea82b406, 0x0000f902, 0x15c00000, 0x00008000, 0x000035d2, 0x0000f210,
- 0x81801206, 0x00009080, 0x00003587, 0x0000f000, 0x000035e8, 0x00007200,
- 0x02e04408, 0x00009901, 0x02c00c08, 0x00009183, 0xea820206, 0x00007902,
- 0x10400000, 0x00000000, 0xea821406, 0x0000f902, 0x10c00000, 0x00008000,
- 0x00003587, 0x0000f208, 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183,
- 0xea822206, 0x0000f902, 0x11400000, 0x00008000, 0xea823406, 0x00007902,
- 0x11c00000, 0x00000000, 0x00003587, 0x0000f208, 0x81801206, 0x00009080,
- 0x02c00c0b, 0x00009183, 0xea824206, 0x0000f902, 0x12400000, 0x00008000,
- 0xea825406, 0x00007902, 0x12c00000, 0x00000000, 0x00003587, 0x0000f208,
- 0x81801206, 0x00009080, 0x02c00c0b, 0x00009183, 0xea826206, 0x00007902,
- 0x13400000, 0x00000000, 0xea827406, 0x0000f902, 0x13c00000, 0x00008000,
- 0x000035e1, 0x0000f210, 0x81801206, 0x00009080, 0x00003587, 0x0000f000,
- 0x00003607, 0x0000f200, 0x02e04408, 0x00009901, 0x00003600, 0x00007200,
- 0x02e04408, 0x00009901, 0x000035f9, 0x00007200, 0x02e04408, 0x00009901,
- 0x000035c9, 0x00007200, 0x02e04408, 0x00009901, 0xc1801739, 0x00006283,
- 0x09c1cc1c, 0x0000a000, 0x00000021, 0x0000e58f, 0x00000020, 0x0000b596,
- 0x07000c1c, 0x0000e481, 0x0e400000, 0x00000981, 0xea390a0a, 0x0000d000,
- 0x00390000, 0x00000000, 0x90000039, 0x0000ec01, 0x0000344a, 0x00007400,
- 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0x9660e039, 0x0000e801,
- 0x8020e209, 0x00001502, 0x01a10c21, 0x0000e111, 0x09c1cc1c, 0x0000e008,
- 0x07000c1c, 0x00006489, 0x0e400000, 0x00008989, 0x00003440, 0x00007010,
- 0xc1801739, 0x00006283, 0x01800800, 0x00008981, 0x00000021, 0x0000e58f,
- 0x00000020, 0x0000b596, 0x90000039, 0x0000ec01, 0xea390a0a, 0x0000d000,
- 0x00390000, 0x00000000, 0x00003440, 0x00007400, 0x9660e039, 0x0000e801,
- 0xea38fc0a, 0x00005000, 0x0038f000, 0x00008000, 0x02211422, 0x00009901,
- 0x02000c08, 0x00009183, 0xea836206, 0x0000f902, 0x1b400000, 0x00008000,
- 0xea837406, 0x00007902, 0x1bc00000, 0x00000000, 0x00003412, 0x00007210,
- 0x81801206, 0x00009080, 0x00003439, 0x00007000, 0x02211422, 0x00009901,
- 0x02000c08, 0x00009183, 0xea832206, 0x00007902, 0x19400000, 0x00000000,
- 0xea833406, 0x0000f902, 0x19c00000, 0x00008000, 0x00003439, 0x00007208,
- 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea834206, 0x00007902,
- 0x1a400000, 0x00000000, 0xea835406, 0x0000f902, 0x1ac00000, 0x00008000,
- 0x00003636, 0x0000f210, 0x81801206, 0x00009080, 0x00003439, 0x00007000,
- 0x00003646, 0x0000f200, 0x02211422, 0x00009901, 0x00003419, 0x00007200,
- 0x02211422, 0x00009901, 0x0000342e, 0x0000f200, 0x02211422, 0x00009901,
- 0x00003420, 0x00007200, 0x02211422, 0x00009901, 0x00003427, 0x0000f200,
- 0x02211422, 0x00009901, 0x80003e37, 0x00009583, 0x02211422, 0x00001909,
- 0x00003439, 0x00007011, 0x02000c08, 0x00009183, 0xea82e206, 0x0000f902,
- 0x17400000, 0x00008000, 0xea82f406, 0x00007902, 0x17c00000, 0x00000000,
- 0x00003439, 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183,
- 0xea830206, 0x0000f902, 0x18400000, 0x00008000, 0xea831406, 0x00007902,
- 0x18c00000, 0x00000000, 0x0000363f, 0x0000f210, 0x81801206, 0x00009080,
- 0x00003439, 0x00007000, 0x00003662, 0x0000f200, 0x02211422, 0x00009901,
- 0x02211422, 0x00009901, 0x02000c08, 0x00009183, 0xea82c206, 0x00007902,
- 0x16400000, 0x00000000, 0xea82d406, 0x0000f902, 0x16c00000, 0x00008000,
- 0x0000365b, 0x00007210, 0x81801206, 0x00009080, 0x00003439, 0x00007000,
- 0x02211422, 0x00009901, 0x02000c08, 0x00009183, 0xea828206, 0x0000f902,
- 0x14400000, 0x00008000, 0xea829406, 0x00007902, 0x14c00000, 0x00000000,
- 0x00003439, 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183,
- 0xea82a206, 0x00007902, 0x15400000, 0x00000000, 0xea82b406, 0x0000f902,
- 0x15c00000, 0x00008000, 0x0000366d, 0x00007210, 0x81801206, 0x00009080,
- 0x00003439, 0x00007000, 0x0000367d, 0x00007200, 0x02211422, 0x00009901,
- 0x02000c22, 0x00001183, 0xea820206, 0x00007902, 0x10400000, 0x00000000,
- 0xea821406, 0x0000f902, 0x10c00000, 0x00008000, 0x00003439, 0x00007208,
- 0x81801206, 0x00009080, 0x02000c08, 0x00009183, 0xea822206, 0x0000f902,
- 0x11400000, 0x00008000, 0xea823406, 0x00007902, 0x11c00000, 0x00000000,
- 0x00003439, 0x00007208, 0x81801206, 0x00009080, 0x02000c08, 0x00009183,
- 0xea824206, 0x0000f902, 0x12400000, 0x00008000, 0xea825406, 0x00007902,
- 0x12c00000, 0x00000000, 0x00003439, 0x00007208, 0x81801206, 0x00009080,
- 0x02000c08, 0x00009183, 0xea826206, 0x00007902, 0x13400000, 0x00000000,
- 0xea827406, 0x0000f902, 0x13c00000, 0x00008000, 0x00003676, 0x00007210,
- 0x81801206, 0x00009080, 0x00003439, 0x00007000, 0x0000369c, 0x00007200,
- 0x02211422, 0x00009901, 0x00003695, 0x00007200, 0x02211422, 0x00009901,
- 0x0000368e, 0x00007200, 0x02211422, 0x00009901, 0x02400000, 0x00009981,
- 0x02402409, 0x00009081, 0x0020ec09, 0x00009503, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x000036ab, 0x00007028, 0x000033e8, 0x0000f000,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000041d, 0x00006583,
- 0x03000000, 0x00008980, 0x03400000, 0x000000f8, 0x03c00000, 0x000081d4,
- 0x05800000, 0x000081dc, 0x000033db, 0x0000f408, 0x06000000, 0x000081e4,
- 0x06800000, 0x000081ec, 0x01800000, 0x00009981, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x01802406, 0x00009081, 0xaf20ec06, 0x0000782b,
- 0xd9800000, 0x0000998e, 0x42010543, 0x00009283, 0x80221e37, 0x00009503,
- 0xffffffff, 0x00007f86, 0x00002d50, 0x00007010, 0x00002d50, 0x0000f028,
- 0x00002d54, 0x0000f200, 0x41c00800, 0x00001981, 0x01000020, 0x00001980,
- 0x034b5000, 0x0000f900, 0x001e388c, 0x00008980, 0x00002afa, 0x0000f400,
- 0x03a30000, 0x0000f900, 0x00039a04, 0x00000980, 0x8100d000, 0x00009980,
- 0x36d01c02, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x268b5000, 0x0000f910, 0x001e388c, 0x00008980, 0x26400000, 0x0000e190,
- 0x26000000, 0x00004990, 0x000030ef, 0x0000f008, 0x36d91c61, 0x00007300,
- 0x26e524a4, 0x00001900, 0x2b000000, 0x0000f900, 0x0000c080, 0x00000980,
- 0x298b5000, 0x00007900, 0x001e388c, 0x00008980, 0x29e30000, 0x0000f900,
- 0x00039a04, 0x00000980, 0xe9300600, 0x0000e101, 0x08001aa4, 0x00006106,
- 0xa9381400, 0x00008a14, 0x2af01bd8, 0x00007500, 0x28c00708, 0x00000a88,
- 0x6b00001a, 0x00008ac4, 0x81000ee3, 0x0000e080, 0x0ac00000, 0x00004980,
- 0x86bcc404, 0x0000b038, 0x86bcd604, 0x0000b038, 0x200f26ec, 0x00005680,
- 0x003b2509, 0x0000bf10, 0x81371ee3, 0x0000e100, 0x25c00000, 0x0000c980,
- 0x85b82c04, 0x0000a080, 0x01000002, 0x00006180, 0x0000182b, 0x0000e106,
- 0x27000000, 0x00006180, 0x00001897, 0x00006106, 0x0a001000, 0x00007900,
- 0x00030000, 0x00008980, 0xc1202c05, 0x00006100, 0xc000182b, 0x00006006,
- 0x0a505800, 0x00007900, 0x00047ed0, 0x00008980, 0x25009000, 0x00007900,
- 0x0000c540, 0x00000980, 0x25401000, 0x00007900, 0x0001c008, 0x00008980,
- 0x27400000, 0x0000e180, 0xc0001897, 0x0000e006, 0x770000ec, 0x00005680,
- 0x00382000, 0x00000000, 0x27800000, 0x000089fc, 0x0b000002, 0x000002f4,
- 0x0b800018, 0x00006180, 0x0bc00000, 0x0000c980, 0x0c000000, 0x000083c4,
- 0x0c800000, 0x000083cc, 0x0d000080, 0x000003d4, 0x0d800000, 0x000083dc,
- 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4,
- 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4, 0x10800000, 0x000084cc,
- 0x11000000, 0x000084d4, 0x11800000, 0x000084dc, 0x12000000, 0x000084e4,
- 0x12800000, 0x000084ec, 0x13000000, 0x000084f4, 0x13800000, 0x000084fc,
- 0x14000000, 0x000085c4, 0x14800000, 0x000085cc, 0x15000000, 0x000085d4,
- 0x15800000, 0x000085dc, 0x0ab81702, 0x00008918, 0xa7109b09, 0x00001000,
- 0x008056ec, 0x0000df80, 0x00c05943, 0x000001cc, 0x81000ee3, 0x0000e080,
- 0x08001a09, 0x0000e106, 0x86bcc404, 0x0000b038, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x035cb800, 0x0000f900, 0x003155f4, 0x00008980,
- 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x82781400, 0x0000802c, 0x372c1bac, 0x0000f500,
- 0x81002800, 0x00006180, 0x0204c098, 0x00004900, 0x0184c899, 0x00009900,
- 0x0107f808, 0x00006280, 0x26803807, 0x00000900, 0x37311c61, 0x0000f500,
- 0x26782f06, 0x00008920, 0x26c02004, 0x00001900, 0x200f26ec, 0x00005680,
- 0x003b2509, 0x0000bf10, 0x81371ee3, 0x0000e100, 0xffc00000, 0x00004980,
- 0x85b83404, 0x0000a080, 0x0ac00000, 0x00006180, 0x01000002, 0x00004980,
- 0x0a801002, 0x00006100, 0x0000182b, 0x0000e106, 0x0a001000, 0x00007900,
- 0x00004000, 0x00000980, 0xc1203406, 0x00006100, 0xc000182b, 0x00006006,
- 0x0a400000, 0x00007900, 0x00043fd0, 0x00008980, 0x770000ec, 0x00005680,
- 0x00382000, 0x00000000, 0x008856ec, 0x00005f80, 0x00005800, 0x00008084,
- 0x83800ee3, 0x0000e080, 0x0840a405, 0x0000e000, 0x86bcc40e, 0x0000b038,
- 0x86bcd60e, 0x0000b038, 0x83b71ee3, 0x0000e100, 0x01032064, 0x00004900,
- 0x28126000, 0x0000f900, 0x003155f0, 0x00000980, 0x27000000, 0x00006180,
- 0x0024c808, 0x0000e086, 0x27400000, 0x0000e180, 0x822cc808, 0x00006086,
- 0x27800000, 0x0000e180, 0x041cc808, 0x0000e187, 0x02400708, 0x000089bc,
- 0x18bcc709, 0x0000060c, 0xffffffff, 0x0000ffb7, 0x82c03cec, 0x0000f902,
- 0x01800000, 0x00008604, 0x85b8340e, 0x00002000, 0xffffffff, 0x00007f97,
- 0x0010380b, 0x00006986, 0x85b83c0e, 0x00002080, 0x80000606, 0x00009583,
- 0x0410300b, 0x0000e18f, 0x00002006, 0x00003586, 0x042cc806, 0x00006887,
- 0x8624c806, 0x00006087, 0x0418380b, 0x0000b197, 0x37641c83, 0x0000f500,
- 0x18003006, 0x00009900, 0x1840580b, 0x00001900, 0x25000000, 0x000089d4,
- 0x25c00000, 0x000089d8, 0x00403499, 0x00004589, 0x8c603c99, 0x00000f8f,
- 0x376b20af, 0x00007404, 0x297cdf9a, 0x00000a10, 0x28c09e00, 0x00009980,
- 0x000004a2, 0x0000e583, 0x036514a2, 0x00000901, 0x83bf1fe3, 0x00001908,
- 0x8a00740e, 0x0000a088, 0x00003775, 0x00007010, 0xffffffff, 0x00007f97,
- 0x03803c0e, 0x00001281, 0x0380140e, 0x00001181, 0x00000c0e, 0x00009583,
- 0x0000377a, 0x0000f01b, 0x01f5b800, 0x00007900, 0x003155f0, 0x00000980,
- 0x0000380e, 0x00007400, 0x01bcdf9a, 0x00008014, 0x022514a2, 0x00001900,
- 0x304038af, 0x00007902, 0x02800000, 0x00000000, 0x300066af, 0x00007902,
- 0x02c00000, 0x00008000, 0x10800000, 0x000004d0, 0x303834af, 0x0000a000,
- 0x80000a0a, 0x0000e582, 0x9110520a, 0x00008900, 0x90800800, 0x00006198,
- 0xd7406044, 0x00006001, 0x8000060c, 0x00006583, 0xe7406044, 0x0000a001,
- 0x838ffa0b, 0x00006290, 0x838ff800, 0x00008988, 0x8000060c, 0x00006583,
- 0x11c00000, 0x00008980, 0x0e080003, 0x00006180, 0x04107044, 0x0000e101,
- 0x03801d0c, 0x0000e291, 0x03b0660c, 0x00008909, 0x0140440c, 0x00006283,
- 0x11400000, 0x00000980, 0x30404caf, 0x00007902, 0x02000000, 0x00008000,
- 0xce183306, 0x00006100, 0x96607044, 0x0000e003, 0x83800b0b, 0x0000e190,
- 0x83804000, 0x00008988, 0x0140140c, 0x00006283, 0xb6f06044, 0x0000a001,
- 0xea0000ec, 0x0000d010, 0x00400000, 0x00008082, 0x91d83b07, 0x0000e110,
- 0xd1d83b07, 0x00004910, 0x0141040c, 0x00006283, 0x01800000, 0x00008980,
- 0x0147d000, 0x00006191, 0x0147d800, 0x0000c989, 0x8000020a, 0x00006582,
- 0x04103845, 0x0000a101, 0x0b040000, 0x0000f900, 0x00010000, 0x00000980,
- 0x0b800000, 0x0000f900, 0x00001c08, 0x00008980, 0x0bc00000, 0x00007900,
- 0x00040000, 0x00000980, 0x0c400000, 0x00007900, 0x000c0000, 0x00008980,
- 0x0ca00800, 0x00007900, 0x00355574, 0x00008980, 0x0ced6800, 0x00007900,
- 0x003f57fe, 0x00008980, 0x0b408000, 0x0000e180, 0xf7006044, 0x00006001,
- 0x03c03607, 0x00002880, 0x0c00f880, 0x000083d0, 0x0d400000, 0x000003d8,
- 0x0dc00000, 0x000083e4, 0x0e800000, 0x000083ec, 0x0f800000, 0x000083fc,
- 0x10000000, 0x000084c4, 0x10c00000, 0x000084e0, 0x12400000, 0x000004e8,
- 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8, 0x13c00000, 0x000085c0,
- 0x14400000, 0x000005c8, 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8,
- 0x15c00000, 0x0000e180, 0x0f004809, 0x0000c900, 0x000037d3, 0x0000f410,
- 0x0f487708, 0x0000841a, 0x9190720e, 0x0000e100, 0x01800000, 0x0000c988,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x037db000, 0x00007900,
- 0x003155f0, 0x00000980, 0x03b49800, 0x00007900, 0x002aa60a, 0x00000980,
- 0x8190520a, 0x00006100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x00003871, 0x0000f400, 0x82781400, 0x0000802c,
- 0x8100e000, 0x0000e180, 0x02001002, 0x00004900, 0x80000a0a, 0x0000e582,
- 0x01c003e0, 0x00008980, 0x8390520a, 0x00006108, 0x83801000, 0x00004990,
- 0x02c00000, 0x00007900, 0x000014c4, 0x00000980, 0x81801a0e, 0x00006080,
- 0x81e80500, 0x0000c900, 0x0010300b, 0x0000e106, 0x75e80007, 0x00003101,
- 0x03000000, 0x0000f900, 0x00007fc0, 0x00000980, 0x703858ec, 0x00005600,
- 0x00383800, 0x00000000, 0x83001a0e, 0x00006080, 0x02e00005, 0x00004980,
- 0x703848ec, 0x0000d600, 0x00384000, 0x00000000, 0x0418100b, 0x0000e987,
- 0x703860ec, 0x0000d600, 0x00385800, 0x00000000, 0x00c002ec, 0x0000df80,
- 0x135f500a, 0x00009484, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x02c00c0b, 0x00006081, 0x00002014, 0x00002404, 0x6c38a00a, 0x00002880,
+ 0x82800a0a, 0x00009080, 0x8006820a, 0x00001582, 0x02400000, 0x00006191,
+ 0x81002a0a, 0x0000c790, 0x8280fa0a, 0x00006290, 0x01602404, 0x00000911,
+ 0x000023be, 0x0000f008, 0x00000405, 0x00006583, 0x011057e4, 0x00000800,
+ 0x010022ec, 0x00001100, 0x000023bb, 0x0000f019, 0x00001c09, 0x00009583,
+ 0x0280780f, 0x00001908, 0x000023ae, 0x0000f009, 0x00001c09, 0x00009583,
+ 0x000023a4, 0x0000f01b, 0x00000c09, 0x00001583, 0x02808811, 0x00001908,
+ 0x000023ae, 0x0000f009, 0x00001409, 0x00001583, 0x02808010, 0x00001908,
+ 0x000023ae, 0x0000f009, 0x000023ad, 0x0000f000, 0x00002c09, 0x00009583,
+ 0x0280680d, 0x00001908, 0x000023ae, 0x0000f009, 0x00002c09, 0x00009583,
+ 0x0280700e, 0x00009928, 0x000023ae, 0x00007029, 0x00003409, 0x00009583,
+ 0x0280600c, 0x00001908, 0x000023ae, 0x0000f009, 0x02809012, 0x00009900,
+ 0x00204c05, 0x00009503, 0x0280200a, 0x00001208, 0xffffffff, 0x00007f86,
+ 0x0280500a, 0x00001b00, 0x0007280a, 0x00006502, 0x04c0500a, 0x00008900,
+ 0x82402c09, 0x00001890, 0x82909a09, 0x00001010, 0x000023bb, 0x0000f008,
+ 0xef867a0a, 0x0000f89a, 0x01000001, 0x00000000, 0xd6bffa0a, 0x0000f892,
+ 0xf1000002, 0x0000118d, 0x02400c09, 0x00009081, 0x00403c09, 0x0000c589,
+ 0x7fe04805, 0x00007d1e, 0x86205808, 0x00006087, 0x08001aad, 0x00003106,
+ 0x29000000, 0x00007900, 0x000100c0, 0x00000980, 0x2bd33000, 0x00007900,
+ 0x00198f26, 0x00000980, 0x39fb4800, 0x00007900, 0x00007fea, 0x00008980,
+ 0xab600500, 0x00008a36, 0x2bb83702, 0x00000a30, 0x23cb2021, 0x00007500,
+ 0x2af84707, 0x00008a28, 0xa9009800, 0x00009980, 0x00000001, 0x0000f080,
+ 0x01000000, 0x00009980, 0x01400000, 0x00001980, 0x01800000, 0x00001980,
+ 0x01c00000, 0x00009980, 0x02000000, 0x00009980, 0x02400000, 0x00001980,
+ 0x02800000, 0x00001980, 0x02c00000, 0x00009980, 0x03000000, 0x00001980,
+ 0x03400000, 0x00009980, 0x03800000, 0x00009980, 0x03c00000, 0x00001980,
+ 0x04000000, 0x00009980, 0x04400000, 0x00001980, 0x04800000, 0x00001980,
+ 0x04c00000, 0x00009980, 0x05000000, 0x00001980, 0x05400000, 0x00009980,
+ 0x05800000, 0x00009980, 0x05c00000, 0x00001980, 0x06000000, 0x00001980,
+ 0x06400000, 0x00009980, 0x06800000, 0x00009980, 0x06c00000, 0x00001980,
+ 0x07000000, 0x00009980, 0x07400000, 0x00001980, 0x07800000, 0x00001980,
+ 0x07c00000, 0x00009980, 0x08000000, 0x00009980, 0x08400000, 0x00001980,
+ 0x08800000, 0x00001980, 0x08c00000, 0x00009980, 0x09000000, 0x00001980,
+ 0x09400000, 0x00009980, 0x09800000, 0x00009980, 0x09c00000, 0x00001980,
+ 0x0a000000, 0x00001980, 0x0a400000, 0x00009980, 0x0a800000, 0x00009980,
+ 0x0ac00000, 0x00001980, 0x0b000000, 0x00009980, 0x0b400000, 0x00001980,
+ 0x0b800000, 0x00001980, 0x0bc00000, 0x00009980, 0x0c000000, 0x00001980,
+ 0x0c400000, 0x00009980, 0x0c800000, 0x00009980, 0x0cc00000, 0x00001980,
+ 0x0d000000, 0x00009980, 0x0d400000, 0x00001980, 0x0d800000, 0x00001980,
+ 0x0dc00000, 0x00009980, 0x0e000000, 0x00009980, 0x0e400000, 0x00001980,
+ 0x0e800000, 0x00001980, 0x0ec00000, 0x00009980, 0x0f000000, 0x00001980,
+ 0x0f400000, 0x00009980, 0x0f800000, 0x00009980, 0x0fc00000, 0x00001980,
+ 0x10000000, 0x00009980, 0x10400000, 0x00001980, 0x10800000, 0x00001980,
+ 0x10c00000, 0x00009980, 0x11000000, 0x00001980, 0x11400000, 0x00009980,
+ 0x11800000, 0x00009980, 0x11c00000, 0x00001980, 0x12000000, 0x00001980,
+ 0x12400000, 0x00009980, 0x12800000, 0x00009980, 0x12c00000, 0x00001980,
+ 0x13000000, 0x00009980, 0x13400000, 0x00001980, 0x13800000, 0x00001980,
+ 0x13c00000, 0x00009980, 0x14000000, 0x00001980, 0x14400000, 0x00009980,
+ 0x14800000, 0x00009980, 0x14c00000, 0x00001980, 0x15000000, 0x00009980,
+ 0x15400000, 0x00001980, 0x15800000, 0x00001980, 0x15c00000, 0x00009980,
+ 0x16000000, 0x00009980, 0x16400000, 0x00001980, 0x16800000, 0x00001980,
+ 0x16c00000, 0x00009980, 0x17000000, 0x00001980, 0x17400000, 0x00009980,
+ 0x17800000, 0x00009980, 0x17c00000, 0x00001980, 0x18000000, 0x00001980,
+ 0x18400000, 0x00009980, 0x18800000, 0x00009980, 0x18c00000, 0x00001980,
+ 0x19000000, 0x00009980, 0x19400000, 0x00001980, 0x19800000, 0x00001980,
+ 0x19c00000, 0x00009980, 0x1a000000, 0x00009980, 0x1a400000, 0x00001980,
+ 0x1a800000, 0x00001980, 0x1ac00000, 0x00009980, 0x1b000000, 0x00001980,
+ 0x1b400000, 0x00009980, 0x1b800000, 0x00009980, 0x1bc00000, 0x00001980,
+ 0x1c000000, 0x00009980, 0x1c400000, 0x00001980, 0x1c800000, 0x00001980,
+ 0x1cc00000, 0x00009980, 0x1d000000, 0x00001980, 0x1d400000, 0x00009980,
+ 0x1d800000, 0x00009980, 0x1dc00000, 0x00001980, 0x1e000000, 0x00001980,
+ 0x1e400000, 0x00009980, 0x1e800000, 0x00009980, 0x1ec00000, 0x00001980,
+ 0x1f000000, 0x00009980, 0x1f400000, 0x00001980, 0x1f800000, 0x00001980,
+ 0x1fc00000, 0x00009980, 0x20000000, 0x00009980, 0x20400000, 0x00001980,
+ 0x20800000, 0x00001980, 0x20c00000, 0x00009980, 0x21000000, 0x00001980,
+ 0x21400000, 0x00009980, 0x21800000, 0x00009980, 0x21c00000, 0x00001980,
+ 0x22000000, 0x00001980, 0x22400000, 0x00009980, 0x22800000, 0x00009980,
+ 0x22c00000, 0x00001980, 0x23000000, 0x00009980, 0x23400000, 0x00001980,
+ 0x23800000, 0x00001980, 0x23c00000, 0x00009980, 0x24000000, 0x00001980,
+ 0x24400000, 0x00009980, 0x24800000, 0x00009980, 0x24c00000, 0x00001980,
+ 0x25000000, 0x00009980, 0x25400000, 0x00001980, 0x25800000, 0x00001980,
+ 0x25c00000, 0x00009980, 0x26000000, 0x00009980, 0x26400000, 0x00001980,
+ 0x26800000, 0x00001980, 0x26c00000, 0x00009980, 0x27000000, 0x00001980,
+ 0x27400000, 0x00009980, 0x27800000, 0x00009980, 0x27c00000, 0x00001980,
+ 0x28000000, 0x00001980, 0x28400000, 0x00009980, 0x28800000, 0x00009980,
+ 0x28c00000, 0x00001980, 0x29000000, 0x00009980, 0x29400000, 0x00001980,
+ 0x29800000, 0x00001980, 0x29c00000, 0x00009980, 0x2a000000, 0x00009980,
+ 0x2a400000, 0x00001980, 0x2a800000, 0x00001980, 0x2ac00000, 0x00009980,
+ 0x2b000000, 0x00001980, 0x2b400000, 0x00009980, 0x2b800000, 0x00009980,
+ 0x2bc00000, 0x00001980, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x01800ce0, 0x00001283, 0x00003802, 0x0000700b, 0x37fe1c02, 0x00007100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x0000e583, 0x03a524a4, 0x00000901,
- 0x0000380a, 0x0000f013, 0x83bf1fe3, 0x00009900, 0x8a00740e, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x03803c0e, 0x00001281, 0x0380140e, 0x00001181,
- 0x00000c0e, 0x00009583, 0x03a06c0d, 0x00009931, 0x0000380f, 0x0000f019,
- 0x01d69000, 0x0000f900, 0x003155f2, 0x00008980, 0x01b84709, 0x00008014,
- 0x0220740e, 0x00001900, 0x380f372c, 0x0000f100, 0x001928ec, 0x00005780,
- 0x00006000, 0x00008080, 0x200b26ec, 0x0000d680, 0x00382409, 0x00003f10,
- 0x83b71ee3, 0x0000e100, 0x25c00000, 0x0000c980, 0x85b8340e, 0x0000a080,
- 0x0ac00000, 0x00006180, 0x01000002, 0x00004980, 0x0a505800, 0x00007900,
- 0x00044010, 0x00000980, 0x00001897, 0x00006106, 0x0000182b, 0x0000b106,
- 0x80000a0a, 0x0000e582, 0xc1203406, 0x00008900, 0x25009000, 0x00007900,
- 0x0000c540, 0x00000980, 0x25401000, 0x00007900, 0x0001c008, 0x00008980,
- 0x0a001000, 0x00007900, 0x00030000, 0x00008980, 0xc0001897, 0x0000e006,
- 0xc000182b, 0x00003006, 0x770000ec, 0x00005680, 0x00382000, 0x00000000,
- 0x25b81702, 0x00008228, 0x00003863, 0x0000f400, 0x8a602c05, 0x00006101,
- 0x1001f03e, 0x0000c908, 0x1041f83f, 0x00001908, 0x0ac10000, 0x000082f4,
- 0x0c800000, 0x0000e180, 0x0000182b, 0x0000e106, 0x0b040000, 0x0000f900,
- 0x00020000, 0x00000980, 0x0b800000, 0x0000f900, 0x002a8c10, 0x00000980,
- 0x0bd55000, 0x0000f900, 0x001aaaaa, 0x00000980, 0x0c155000, 0x00007900,
- 0x002aaaaa, 0x00000980, 0x0c555000, 0x0000f900, 0x0002aaaa, 0x00000980,
- 0x0a001000, 0x00007900, 0x00030000, 0x00008980, 0x0a505800, 0x00007900,
- 0x00047fd0, 0x00000980, 0x0cc00000, 0x00006180, 0xc000182b, 0x00006006,
- 0x0d240000, 0x0000e180, 0x0d400000, 0x00004980, 0x0d800000, 0x000083dc,
- 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4,
- 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4, 0x10800000, 0x000084cc,
- 0x11000000, 0x000084d4, 0x11800000, 0x000084dc, 0x12000000, 0x000084e4,
- 0x12800000, 0x000084ec, 0x13000000, 0x000084f4, 0x13800000, 0x000084fc,
- 0x14000000, 0x000085c4, 0x14800000, 0x000085cc, 0x15000000, 0x000085d4,
- 0x15800000, 0x000085dc, 0x38571db3, 0x00007500, 0x0a801002, 0x00006100,
- 0x0953b080, 0x00004980, 0x08c01001, 0x000082d0, 0x780008ec, 0x0000d680,
- 0x00000000, 0x00008080, 0x00c002ec, 0x0000df80, 0x1382d80b, 0x00009684,
- 0x01ab2000, 0x00007900, 0x001f8008, 0x00000980, 0x00000405, 0x00009583,
- 0x00028006, 0x00006509, 0x00026006, 0x0000b511, 0xffffffff, 0x00007f86,
- 0x203836ec, 0x0000d600, 0x003b2000, 0x00000000, 0x008056ec, 0x0000df80,
- 0x00005803, 0x00008084, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x03547000, 0x0000f900, 0x003155f0, 0x00000980, 0x03ba9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x02fcc702, 0x00000020, 0x81002800, 0x00006180,
- 0x0184c899, 0x0000c900, 0x38721bac, 0x0000f100, 0xffc00000, 0x00001980,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0e000ce0, 0x00006283,
+ 0x0e800000, 0x00000981, 0x8239deec, 0x0000a694, 0x0f771fe4, 0x00001810,
+ 0x00000001, 0x00007088, 0x00000001, 0x0000f481, 0x0ec1d83d, 0x00001202,
+ 0x0e800800, 0x00009991, 0x0f400000, 0x00007900, 0x000010c4, 0x00008980,
+ 0x8e002d00, 0x0000e080, 0x001a003d, 0x0000e106, 0x8ee80500, 0x0000e100,
+ 0xced80238, 0x0000c080, 0x7039e8ec, 0x00005600, 0x0039d800, 0x00000000,
+ 0x0ec00004, 0x00006180, 0xce9722e4, 0x0000c900, 0x0f400000, 0x00007900,
+ 0x00007fc0, 0x00000980, 0x8222003b, 0x00006080, 0x001a003d, 0x00003186,
+ 0x7039f8ec, 0x0000d600, 0x0039f000, 0x00000000, 0x90402d00, 0x00006080,
+ 0x0417103b, 0x00006187, 0x7039e8ec, 0x00005600, 0x0039d800, 0x00000000,
+ 0x00c002ec, 0x0000df80, 0x1245300b, 0x00009684, 0x24a7247a, 0x00007100,
+ 0xb919d33a, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x1ff9e6ec, 0x0000a080, 0x0e21dfe4, 0x00001800, 0xffffffff, 0x00007f97,
+ 0x0e01e038, 0x00009202, 0x29000000, 0x0000f910, 0x000100c0, 0x00000980,
+ 0xa9001800, 0x0000e190, 0xeb700600, 0x00004911, 0x00000001, 0x00007088,
+ 0x2bd90000, 0x00007900, 0x0019b31e, 0x00008980, 0x39d7f800, 0x00007900,
+ 0x0019b31e, 0x00008980, 0xab680500, 0x00006101, 0x08001aad, 0x00006106,
+ 0x00002021, 0x0000f400, 0x2bb9df02, 0x00008a30, 0x2ab9d739, 0x00008a2c,
+ 0x2a803000, 0x00006180, 0xc69722e4, 0x00004900, 0x29abf800, 0x00007900,
+ 0x00030d36, 0x00000980, 0x29c63000, 0x00007900, 0x0023a288, 0x00008980,
+ 0x24c5202b, 0x00007500, 0xe9781100, 0x00000a26, 0xeab71ee3, 0x00009900,
+ 0x7f7902ec, 0x00002080, 0x07a807e4, 0x00009800, 0xffffffff, 0x00007f97,
+ 0x00000020, 0x0000e582, 0x07c1001e, 0x00000300, 0x7f78faec, 0x0000a880,
+ 0x2a803000, 0x0000e190, 0x2941001e, 0x0000c310, 0x000024de, 0x00007008,
+ 0x298d9000, 0x00007900, 0x001ca46e, 0x00000980, 0x24d4202b, 0x00007500,
+ 0x29fef800, 0x00007900, 0x0023a286, 0x00000980, 0xea48f2e3, 0x00000a2a,
+ 0x00c002ec, 0x0000df80, 0x1246b00b, 0x00001684, 0xea4032e3, 0x00008aa8,
+ 0x29945000, 0x0000f900, 0x0022c118, 0x00000980, 0x29ffe000, 0x0000f900,
+ 0x0023a286, 0x00000980, 0x24de202b, 0x00007500, 0x7f7d2aec, 0x0000a080,
+ 0xea90f21e, 0x00009900, 0x2a803000, 0x00006180, 0x2940e81d, 0x0000c900,
+ 0x29af9000, 0x00007900, 0x00129cfc, 0x00008980, 0x24e7202b, 0x00007500,
+ 0x29d86800, 0x0000f900, 0x00201c32, 0x00000980, 0xeab71ee3, 0x0000e100,
+ 0x2a40d81b, 0x0000c900, 0x09c00000, 0x00006180, 0x4800f2b0, 0x00004980,
+ 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x00181027, 0x0000e186,
+ 0x863f1020, 0x0000b087, 0x783938ec, 0x00005600, 0x00390000, 0x00000000,
+ 0x07c0e81d, 0x00006100, 0x4800fab0, 0x0000c980, 0x7838f8ec, 0x0000d600,
+ 0x00000000, 0x00008080, 0x780408ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x783938ec, 0x00005600, 0x00390000, 0x00000000, 0x7838d8ec, 0x00005600,
+ 0x00000000, 0x00008080, 0x780408ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x480102b0, 0x0000e180, 0x86402d00, 0x0000c880, 0x783938ec, 0x00005600,
+ 0x00390000, 0x00000000, 0x06c00002, 0x0000e180, 0x47c10ab0, 0x00004980,
+ 0x780008ec, 0x0000d680, 0x00000000, 0x00008080, 0x07c013e2, 0x00000202,
+ 0xc8180219, 0x00006080, 0xc6e80500, 0x00000900, 0x86403800, 0x00009980,
+ 0x29a8d800, 0x0000f900, 0x0024d58a, 0x00008980, 0x29c20000, 0x0000f900,
+ 0x0023a288, 0x00008980, 0x250e202b, 0x00007500, 0x2a802006, 0x00008ad4,
+ 0x2a50ca19, 0x00009900, 0x09c00002, 0x00009980, 0xc9e80500, 0x00009900,
+ 0x710020ec, 0x0000d680, 0x00393800, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x1248a00b, 0x00001684, 0x780008ec, 0x0000d680, 0x0038d800, 0x00008000,
+ 0x783900ec, 0x0000d600, 0x0038f800, 0x00000000, 0x86400a19, 0x00001180,
+ 0x00c002ec, 0x0000df80, 0x1248d80b, 0x00001684, 0x80000219, 0x0000e582,
+ 0x8a802d00, 0x00000880, 0x3039382a, 0x00002080, 0x8a400000, 0x00001980,
+ 0x8a400800, 0x00001990, 0xffffffff, 0x00007f86, 0x00000027, 0x00006582,
+ 0x09c00000, 0x00008980, 0x09c00800, 0x00001988, 0xffffffff, 0x00007f86,
+ 0x06a14c27, 0x00001203, 0x80000219, 0x00001582, 0xffffffff, 0x00007f86,
+ 0x00002507, 0x00007010, 0x00002537, 0x00007010, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x02841000, 0x0000f900, 0x0023a288, 0x00008980,
+ 0x02c71000, 0x00007900, 0x0004c912, 0x00000980, 0x01800000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x01400000, 0x000080f4, 0x25371ff4, 0x0000f500,
+ 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900,
+ 0x7f78eaec, 0x0000a080, 0x0800f0e5, 0x00001400, 0xffffffff, 0x00007f97,
+ 0x07c0e820, 0x0000e200, 0x09c0e820, 0x00000200, 0x0740e820, 0x00001202,
+ 0xb918d31a, 0x00009908, 0x7f78faec, 0x0000a880, 0x7f40eaec, 0x00002010,
+ 0xffffffff, 0x00007f86, 0x00000000, 0x0000f08b, 0x0001041d, 0x0000e583,
+ 0x86002c1d, 0x00000780, 0x00000418, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x00002568, 0x00007008, 0x00002568, 0x00007010, 0x0740fc1d, 0x00001281,
+ 0x0760efe4, 0x00001800, 0x0740eaec, 0x00001100, 0x0740f81d, 0x00009200,
+ 0xffffffff, 0x00007f86, 0x0740e81d, 0x00001b00, 0x0007281d, 0x00009502,
+ 0x8610ea1d, 0x00009910, 0x00002568, 0x0000f009, 0x5a00fa1d, 0x0000f89b,
+ 0xb9000000, 0x0000128a, 0x8000fa1d, 0x0000e582, 0x8610ea1d, 0x00008900,
+ 0x00002557, 0x0000f033, 0x863ff801, 0x00009980, 0x7f40caec, 0x00002000,
+ 0x29403727, 0x00000aa8, 0x299dd800, 0x0000f900, 0x001d2520, 0x00008980,
+ 0x29e41000, 0x0000f900, 0x0023a288, 0x00008980, 0xea90f21e, 0x0000e100,
+ 0x06400c19, 0x0000c081, 0x2562202b, 0x00007500, 0x7f40caec, 0x0000a800,
+ 0x2a60cc19, 0x00009900, 0x0750c7e4, 0x00006000, 0xb918d31a, 0x00004900,
+ 0x8038eaec, 0x0000d604, 0x00000000, 0x00008080, 0xffffffff, 0x00007f97,
+ 0x00000000, 0x00007083, 0x7f4002ec, 0x00005000, 0x00400000, 0x00008082,
+ 0x07413827, 0x00001b00, 0x54c7281d, 0x0000f813, 0xb1000000, 0x0000928a,
+ 0x0107f806, 0x0000e280, 0x10004809, 0x00008900, 0x25722091, 0x00007500,
+ 0x0ff83f08, 0x00008334, 0x0ec02004, 0x00001900, 0x00008405, 0x0000e583,
+ 0xffc00000, 0x00008980, 0x01400100, 0x0000e180, 0x81002000, 0x00004990,
+ 0x81002800, 0x0000e188, 0x453f1005, 0x00006003, 0x01c40000, 0x0000f900,
+ 0x001f8000, 0x00008980, 0x04102007, 0x00006101, 0xc3371805, 0x0000b006,
+ 0x20383eec, 0x00005600, 0x00382800, 0x00008000, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x17c02004, 0x0000e100, 0x0020280e, 0x0000e086,
+ 0x8228280e, 0x0000e886, 0x0418280e, 0x00006987, 0x03c0700e, 0x00009900,
+ 0x171a4000, 0x0000f900, 0x00185b02, 0x00008980, 0x1780780f, 0x00001900,
+ 0xffffffff, 0x00007ff7, 0x82c06cec, 0x0000f902, 0x03000000, 0x00008604,
+ 0xffffffff, 0x00007fa7, 0x0380680d, 0x00006100, 0x0000200c, 0x00006586,
+ 0x1740700e, 0x00006100, 0x0428280c, 0x0000e087, 0x259320b3, 0x00007500,
+ 0x8620280c, 0x0000e887, 0x16c0600c, 0x00001900, 0x03400000, 0x00007900,
+ 0x000200c0, 0x00000980, 0x03000080, 0x0000e180, 0x557f100d, 0x0000e003,
+ 0x03840000, 0x0000f900, 0x00004000, 0x00000980, 0x83000002, 0x000080bc,
+ 0xb8404405, 0x00004388, 0x00404405, 0x00000098, 0xb8401c05, 0x0000c388,
+ 0x00401c05, 0x00008098, 0x01000c05, 0x0000c589, 0x83601405, 0x00000788,
+ 0xc1e02c05, 0x0000c698, 0x36407405, 0x0000899c, 0x04005c05, 0x000047a1,
+ 0x87807c05, 0x0000078c, 0x7c808405, 0x0000788b, 0x79000000, 0x00009380,
+ 0x25a92490, 0x00007404, 0x0ff83f06, 0x00000338, 0x10009f00, 0x00009980,
+ 0x0000043a, 0x00009583, 0x85bf1fe3, 0x00001908, 0x6c00b016, 0x0000a088,
+ 0x000025b2, 0x0000f010, 0xffffffff, 0x00007f97, 0x05803c16, 0x00001281,
+ 0x05801416, 0x00001181, 0x00000c16, 0x00009583, 0x000025b6, 0x0000f01b,
+ 0x000025e6, 0x00007400, 0x02768000, 0x00007900, 0x0023bb56, 0x00000980,
+ 0xc1b8303a, 0x00000020, 0x3040ca41, 0x0000f902, 0x06000000, 0x00000000,
+ 0x3078b041, 0x00002000, 0x3038b841, 0x0000a080, 0x05000000, 0x000081d4,
+ 0x80000619, 0x0000e583, 0x0430c815, 0x00002087, 0x0018c014, 0x00006186,
+ 0x0018b015, 0x0000b196, 0x85a0bc17, 0x00009900, 0xd7f8ae16, 0x0000d000,
+ 0x0038a000, 0x00008000, 0x06000800, 0x00001981, 0x00000418, 0x00006583,
+ 0x05800000, 0x00000980, 0x06000800, 0x0000e191, 0x06003000, 0x00004989,
+ 0x05400000, 0x00007900, 0x00010000, 0x00000980, 0x05c00000, 0x00006180,
+ 0xd360c015, 0x0000e004, 0x05009000, 0x0000f900, 0x0000c5c0, 0x00008980,
+ 0x06402805, 0x00006100, 0xc0001817, 0x00006006, 0x06b83f06, 0x0000012c,
+ 0x07384f08, 0x00000134, 0x07b85f0a, 0x0000013c, 0x06281704, 0x00000118,
+ 0x00881eec, 0x00005f80, 0x00d07140, 0x000001c4, 0x06383f06, 0x0000811c,
+ 0x25d92490, 0x0000f404, 0x0ff83f06, 0x00000338, 0x10009e00, 0x00001980,
+ 0x0000043a, 0x00009583, 0x85bf1fe3, 0x00001908, 0x6c00b016, 0x0000a088,
+ 0x000025e2, 0x0000f010, 0xffffffff, 0x00007f97, 0x05803c16, 0x00001281,
+ 0x05801416, 0x00001181, 0x00000c16, 0x00009583, 0x000025e7, 0x0000701b,
+ 0x02799800, 0x00007900, 0x0023bb56, 0x00000980, 0x0238bf18, 0x0000001c,
+ 0x01a1d43a, 0x00009900, 0x25e7256d, 0x0000f100, 0x3000b441, 0x00007902,
+ 0x05400000, 0x00008000, 0x3038b841, 0x0000a080, 0xffffffff, 0x00007f97,
+ 0xc0000716, 0x00001583, 0x85a0bc17, 0x00001910, 0xd7f0ae16, 0x0000a891,
+ 0x40000515, 0x00001583, 0x000025c2, 0x00007400, 0x85a0bc17, 0x00001910,
+ 0xd7c0ae16, 0x0000a892, 0x25f52490, 0x00007404, 0x0ff83f06, 0x00000338,
+ 0x10009a00, 0x00009980, 0x0000043a, 0x00009583, 0x85bf1fe3, 0x00001908,
+ 0x6c006816, 0x0000a088, 0x000025fe, 0x00007010, 0xffffffff, 0x00007f97,
+ 0x03403c0d, 0x00001281, 0x0340140d, 0x00001181, 0x00000c0d, 0x00009583,
+ 0x00002602, 0x0000f01b, 0x000025e6, 0x00007400, 0x02736800, 0x00007900,
+ 0x0023bb56, 0x00000980, 0xc1b8303a, 0x00000020, 0x3000a841, 0x0000f902,
+ 0x04400000, 0x00000000, 0x3038a241, 0x00002080, 0x04c00000, 0x0000e180,
+ 0x8000080c, 0x00006485, 0x04800000, 0x0000f900, 0x00007fc0, 0x00000980,
+ 0x000820ec, 0x0000d780, 0x00007000, 0x00000080, 0x000025c2, 0x00007400,
+ 0x83000e0c, 0x00006081, 0x0400a815, 0x00008900, 0x04a0a414, 0x00008034,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02907000, 0x0000f900,
+ 0x0023bb56, 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980,
+ 0x03400000, 0x0000e180, 0x08001a08, 0x00006106, 0x82200500, 0x00008022,
+ 0x261b1ff4, 0x00007500, 0x02782702, 0x00000018, 0x81c02800, 0x00001980,
+ 0x000025c3, 0x0000f200, 0x06000000, 0x00009981, 0xffc00000, 0x00001980,
0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x81800ee3, 0x00001880, 0x86bb6406, 0x0000b038, 0x86bb7606, 0x0000b038,
- 0x82c03cec, 0x0000f902, 0x01800000, 0x00008604, 0x81b71ee3, 0x00001900,
- 0x18c3606c, 0x0000e100, 0x00236808, 0x00006086, 0x822b6808, 0x00006886,
- 0x0010380b, 0x0000e186, 0x041b6808, 0x00003187, 0x85803c06, 0x00007902,
- 0x01800000, 0x00000000, 0x02404008, 0x00009900, 0x28386000, 0x00007900,
- 0x00003b34, 0x00008980, 0x18804809, 0x00001900, 0x80000606, 0x00009583,
- 0x0410300b, 0x0000e18f, 0x0418380b, 0x0000b197, 0x00002006, 0x0000ed86,
- 0x1840580b, 0x00006100, 0x042b6806, 0x00006087, 0x38901c83, 0x00007500,
- 0x86236806, 0x00006887, 0x18003006, 0x00009900, 0x00000c6d, 0x00009583,
- 0x00001c6d, 0x00001583, 0xffffffff, 0x00007f86, 0x000038a2, 0x00007008,
- 0x000038a2, 0x00007008, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x037a4000, 0x0000f900, 0x00003b34, 0x00008980, 0x03ba9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x0203606c, 0x00006100, 0x08001a09, 0x0000e106,
- 0x0180076d, 0x0000009c, 0x38a21bac, 0x0000f500, 0x82600500, 0x00008026,
- 0x81002800, 0x00006180, 0x02c01002, 0x00004900, 0x1ac00000, 0x000086e8,
- 0x1a009000, 0x00007900, 0x000080c0, 0x00000980, 0x1a400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x200ba6ec, 0x00005680, 0x003b2449, 0x0000bf10,
- 0xda981302, 0x0000e100, 0xc32b686b, 0x00006006, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0090d0ec, 0x00005780,
- 0x00006000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x00000001, 0x0000f080, 0x81000ee3, 0x0000e080,
- 0x08001a09, 0x0000e106, 0x86bd4404, 0x0000b038, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x034f3800, 0x0000f900, 0x002697ce, 0x00000980,
- 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x82781400, 0x0000802c, 0x38c41bac, 0x0000f500,
- 0x81002800, 0x00006180, 0x020540a8, 0x00004900, 0x018548a9, 0x00009900,
- 0x81000ee3, 0x0000e080, 0x1ac00060, 0x0000c980, 0x86bd4404, 0x0000b038,
- 0x86bd5604, 0x0000b038, 0x200f26ec, 0x00005680, 0x003b2509, 0x0000bf10,
- 0x81371ee3, 0x0000e100, 0x29c00000, 0x0000c980, 0x85b82c04, 0x0000a080,
- 0x01000002, 0x00006180, 0x0000186b, 0x00006106, 0x000018a7, 0x00006106,
- 0xc000186b, 0x0000b006, 0x1a001000, 0x0000f900, 0x0003c000, 0x00008980,
- 0xc1202c05, 0x00006100, 0xc00018a7, 0x0000e006, 0x1a505800, 0x0000f900,
- 0x0004ff50, 0x00000980, 0x29009000, 0x00007900, 0x00008080, 0x00008980,
- 0x29400000, 0x0000f900, 0x00018008, 0x00000980, 0x770000ec, 0x00005680,
- 0x00382000, 0x00000000, 0x1b000002, 0x000006f4, 0x1b800018, 0x0000e180,
- 0x1bc00000, 0x00004980, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000080, 0x000007d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
- 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
- 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc,
- 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4,
- 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc,
- 0x29b81702, 0x00000628, 0x0098d6ec, 0x00005f80, 0x00c05a43, 0x0000818c,
- 0x0107f808, 0x00006280, 0x2680500a, 0x00000900, 0x39021c61, 0x00007500,
- 0x26782f09, 0x00008920, 0x26c02004, 0x00001900, 0x200f26ec, 0x00005680,
- 0x003b2509, 0x0000bf10, 0x81371ee3, 0x0000e100, 0xffc00000, 0x00004980,
- 0x85b82c04, 0x0000a080, 0x1ac00060, 0x0000e180, 0x01000002, 0x00004980,
- 0x1a801002, 0x0000e100, 0x0000186b, 0x00006106, 0x1a001000, 0x0000f900,
- 0x00030000, 0x00008980, 0xc1202c05, 0x00006100, 0xc000186b, 0x0000e006,
- 0x1a505800, 0x0000f900, 0x00047fd0, 0x00000980, 0x1bc00000, 0x0000f900,
- 0x00080000, 0x00000980, 0x770000ec, 0x00005680, 0x00382000, 0x00000000,
- 0x1b000080, 0x000006f4, 0x1b800604, 0x00006180, 0x1c000000, 0x0000c980,
- 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8,
- 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
- 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8,
- 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8, 0x21c00000, 0x000008e0,
- 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0, 0x23400000, 0x000008f8,
- 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0,
- 0x25400000, 0x000009d8, 0x25c00000, 0x00009980, 0x0080d6ec, 0x00005f80,
- 0x00005803, 0x00008084, 0x03000000, 0x00001980, 0x833f1fe3, 0x00001900,
- 0x8a00540c, 0x00002080, 0xffffffff, 0x00007fa7, 0x02803c0a, 0x0000e281,
- 0x0800560c, 0x0000a004, 0x00000c0a, 0x00001583, 0x01000000, 0x0000f910,
- 0x0000c040, 0x00000980, 0x01800000, 0x0000e190, 0x01c00000, 0x00004990,
- 0x00000001, 0x00007088, 0x03722800, 0x0000f900, 0x002697ce, 0x00000980,
- 0x03bd2000, 0x00007900, 0x00183a52, 0x00000980, 0x81017800, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x39431bac, 0x00007500, 0x82600500, 0x00008026,
- 0x0238170c, 0x0000802c, 0x82800ee3, 0x00001880, 0x86bd440a, 0x00003038,
- 0x86bd560a, 0x00003038, 0x82b71ee3, 0x00001900, 0x281fa800, 0x0000f900,
- 0x00396972, 0x00008980, 0x18c540a8, 0x0000e100, 0x00254806, 0x00006086,
- 0x822d4806, 0x00006886, 0x041d4806, 0x0000e987, 0x01c03006, 0x00001900,
- 0x18803807, 0x00001900, 0xffffffff, 0x0000ffb7, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0x85b8240a, 0x00002000, 0xffffffff, 0x00007f97,
- 0x00102809, 0x00006986, 0x85b82c0a, 0x00002080, 0x80000604, 0x00001583,
- 0x04102009, 0x0000e18f, 0x00002004, 0x0000b586, 0x042d4804, 0x0000e887,
- 0x86254804, 0x0000e087, 0x04182809, 0x0000b197, 0x395f1c83, 0x0000f500,
- 0x18002004, 0x00009900, 0x18404809, 0x00001900, 0x004014a9, 0x0000c589,
- 0x8c0024a9, 0x00000f8a, 0x396420af, 0x0000f404, 0x297d5faa, 0x00000a10,
- 0x28c09b00, 0x00009980, 0x000004a2, 0x0000e583, 0x016514a2, 0x00008901,
- 0x82bf1fe3, 0x00009908, 0x8a00540a, 0x0000a088, 0x0000396e, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x02803c0a, 0x00001281, 0x0280140a, 0x00001181,
- 0x00000c0a, 0x00001583, 0x00003973, 0x0000701b, 0x028a0800, 0x00007900,
- 0x002697cc, 0x00008980, 0x00003a03, 0x00007400, 0x017d57ab, 0x00008024,
- 0x022514a2, 0x00001900, 0x3978392e, 0x0000f500, 0x30004caf, 0x0000f902,
- 0x01c00000, 0x00008000, 0x304040af, 0x00007902, 0x01800000, 0x00000000,
- 0x00000c06, 0x0000e583, 0x1e000000, 0x00008980, 0x1b040000, 0x00007900,
- 0x00010000, 0x00000980, 0x1bc00000, 0x0000f900, 0x00040000, 0x00000980,
- 0x1c400000, 0x0000f900, 0x00080000, 0x00000980, 0x1b400000, 0x0000e180,
- 0x1b800600, 0x0000c980, 0x1c000000, 0x000087c8, 0x1cc00000, 0x0000e180,
- 0x1d240000, 0x00004980, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
- 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
- 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x000039ac, 0x0000f410,
- 0x25800000, 0x000089dc, 0xde184308, 0x00009900, 0x973854ec, 0x0000a000,
- 0xffffffff, 0x00007fa7, 0x0000080a, 0x00001582, 0x02800000, 0x000061b0,
- 0x01c00000, 0x0000c9b0, 0x82904208, 0x00006130, 0xc2700600, 0x00004931,
- 0x000039ac, 0x0000f018, 0x0420300a, 0x0000e001, 0x08001a09, 0x0000b106,
- 0x01000000, 0x00007900, 0x0000c000, 0x00008980, 0x034d2000, 0x00007900,
- 0x002697cc, 0x00008980, 0x03b56000, 0x00007900, 0x0002ad10, 0x00000980,
- 0x82781400, 0x0000802c, 0x00003a60, 0x00007400, 0x0200ef02, 0x00000091,
- 0x01b0370a, 0x00008011, 0x80000208, 0x0000e582, 0x26800000, 0x00008980,
- 0x26c00000, 0x000089f0, 0x27400000, 0x000089fc, 0x000039c2, 0x00007410,
- 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x01800000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x034e5000, 0x0000f900, 0x002697cc, 0x00008980, 0x0397d800, 0x00007900,
- 0x00349cb0, 0x00008980, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x82781400, 0x0000802c, 0x00003a60, 0x00007400, 0x8100e800, 0x00006180,
- 0x81904208, 0x00004900, 0x02001002, 0x00001900, 0x80000a08, 0x00006582,
- 0x27800000, 0x00000980, 0xe7800800, 0x00006198, 0x26403807, 0x0000c900,
- 0x80000a08, 0x00006582, 0x26004809, 0x00008900, 0x82904208, 0x0000e108,
- 0x82801000, 0x0000c990, 0x01800000, 0x0000f900, 0x00001340, 0x00008980,
- 0x01c00000, 0x00007900, 0x000014c4, 0x00000980, 0x81001a0a, 0x00006080,
- 0x81a80500, 0x00004900, 0x00102007, 0x00006106, 0x75e80006, 0x0000b101,
- 0x02400000, 0x0000f900, 0x00007fc0, 0x00000980, 0x703838ec, 0x00005600,
- 0x00383000, 0x00008000, 0x01e00005, 0x00006180, 0x82401a0a, 0x0000c880,
- 0x703cc0ec, 0x00005600, 0x003cc800, 0x00008000, 0xa7904208, 0x0000e100,
- 0x04181007, 0x00006187, 0x703848ec, 0x0000d600, 0x00383800, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x138f000b, 0x00001684, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x01000ce0, 0x00009283, 0x000039f8, 0x0000f00b,
- 0x39f41c02, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x016524a4, 0x00009911, 0x000039ff, 0x0000f011, 0x82bf1fe3, 0x00001900,
- 0x8a00540a, 0x00002080, 0xffffffff, 0x00007fa7, 0x02803c0a, 0x00001281,
- 0x0280140a, 0x00001181, 0x81000c0a, 0x0000789a, 0x01c00001, 0x00008080,
- 0xc13cc005, 0x00008024, 0x02906000, 0x00007900, 0x002697cc, 0x00008980,
- 0x023ccf04, 0x00000014, 0x3a0438fd, 0x0000f100, 0x200ba6ec, 0x00005680,
- 0x003b2449, 0x0000bf10, 0x82b71ee3, 0x00006100, 0x1ac00060, 0x0000c980,
- 0x85b82c0a, 0x00002080, 0x29c00000, 0x0000e180, 0x01000002, 0x00004980,
- 0x0000186b, 0x00006106, 0x000018a7, 0x00003106, 0x80000a08, 0x00006582,
- 0xc000186b, 0x00002006, 0xc1202c05, 0x00006100, 0xc00018a7, 0x0000e006,
- 0x1a001000, 0x0000f900, 0x0003c000, 0x00008980, 0x1a505800, 0x0000f900,
- 0x0004ff50, 0x00000980, 0x29009000, 0x00007900, 0x00008080, 0x00008980,
- 0x29400000, 0x0000f900, 0x00018008, 0x00000980, 0x770000ec, 0x00005680,
- 0x00382000, 0x00000000, 0x1ab81702, 0x00000a18, 0x2744d89b, 0x0000e108,
- 0x2704d09a, 0x00004908, 0x0098d6ec, 0x00005f80, 0x00c05a43, 0x0000818c,
- 0x1b000000, 0x000086f4, 0x1b800000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
- 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
- 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x3a36392e, 0x0000f500, 0x25000000, 0x000089d4,
- 0x25c00000, 0x000089d8, 0x1ac00060, 0x0000e180, 0xe000086e, 0x0000e402,
- 0x6000106c, 0x0000e402, 0x05555071, 0x0000b586, 0x0000186b, 0x00006106,
- 0x4000186e, 0x0000b403, 0x1bd55000, 0x00007900, 0x001aaaaa, 0x00000980,
- 0x7000c874, 0x00006500, 0xa000106c, 0x00003403, 0x1c155000, 0x0000f900,
- 0x002aaaaa, 0x00000980, 0x1a001000, 0x0000f900, 0x0003c000, 0x00008980,
- 0x1a505800, 0x0000f900, 0x0004ffd0, 0x00008980, 0x200ba6ec, 0x00005680,
- 0x003b2449, 0x0000bf10, 0xc000186b, 0x0000e006, 0x00555071, 0x0000b507,
- 0x26394f28, 0x00000924, 0x26b95f2a, 0x0000092c, 0x27396f2c, 0x00000934,
- 0x27b97f2e, 0x0000093c, 0x28398f30, 0x00000a04, 0x28b99f32, 0x00000a0c,
- 0xdb855000, 0x00006181, 0x1a801002, 0x0000c900, 0x0098d6ec, 0x00005f80,
- 0x00005803, 0x00008084, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0360f800, 0x00007900, 0x00396972, 0x00008980, 0x03ba9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x020540a8, 0x00006100, 0x08001a09, 0x0000e106,
- 0x018007a9, 0x0000809c, 0x82600500, 0x00008026, 0x81002800, 0x00006180,
- 0x02c01002, 0x00004900, 0x3a611bac, 0x0000f100, 0x99c082ec, 0x0000f902,
- 0x03c00000, 0x00000000, 0x4ce00c04, 0x00004489, 0xd4600c04, 0x00000eac,
- 0x01001404, 0x00004589, 0x80a01c04, 0x0000808e, 0x00003a72, 0x00007400,
- 0xc0172b10, 0x00009502, 0xc4000b10, 0x00001090, 0x00003a72, 0x00007400,
- 0x80172a10, 0x00009502, 0x84000a10, 0x00001090, 0x00003a72, 0x00007400,
- 0x80172a0f, 0x00001502, 0x83c00a0f, 0x00001090, 0xc0172b0f, 0x00001502,
- 0xc3c00b0f, 0x00001090, 0x40000504, 0x00001583, 0x99f882ec, 0x00005000,
- 0x00387800, 0x00008000, 0x200f26ec, 0x0000d690, 0x003b2509, 0x0000bf10,
- 0x00003a78, 0x00007008, 0x7fc00400, 0x000086ec, 0x1b001000, 0x0000e180,
- 0x0000186b, 0x00006106, 0x1a001000, 0x0000f900, 0x00030000, 0x00008980,
- 0x1a505800, 0x0000f900, 0x00047fd0, 0x00000980, 0x1bc00000, 0x0000f900,
- 0x00080000, 0x00000980, 0x1b400000, 0x0000e180, 0xc000186b, 0x0000e006,
- 0x1b800006, 0x0000e180, 0x1c000000, 0x0000c980, 0x1c400000, 0x000007c8,
- 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0,
- 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8,
- 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0,
- 0x21400000, 0x000008d8, 0x21c00000, 0x000008e0, 0x22400000, 0x000008e8,
- 0x22c00000, 0x000088f0, 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0,
- 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8,
- 0x1a800702, 0x0000099c, 0x0080d6ec, 0x00005f80, 0x00005803, 0x00008084,
- 0x82996209, 0x00006100, 0x81196209, 0x00008100, 0x8211630a, 0x0000e100,
- 0x8151630a, 0x00000100, 0x01c80000, 0x00006180, 0x8318530a, 0x00004900,
- 0x8320492c, 0x00000018, 0x8000020a, 0x00006582, 0xc199632c, 0x00000900,
- 0x8008020a, 0x00001582, 0xffffffff, 0x00007f86, 0x00003ab2, 0x00007008,
- 0x00003aad, 0x00007030, 0x01000020, 0x00001980, 0x00003ab9, 0x0000f400,
- 0x034c5800, 0x0000f900, 0x003069ea, 0x00000980, 0x81015000, 0x00009980,
- 0x8287fb2c, 0x00009280, 0x0180220a, 0x00009880, 0x00003ac4, 0x0000f400,
- 0x02415006, 0x00009002, 0x0200002b, 0x00001084, 0x82800a08, 0x00009180,
- 0x8007fa0a, 0x00009582, 0x01000020, 0x00001998, 0x81015000, 0x00009998,
- 0x00003ac0, 0x0000f030, 0x034d6000, 0x0000f900, 0x003069ea, 0x00000980,
- 0x03852800, 0x00007900, 0x00347346, 0x00000980, 0xc1001800, 0x00006181,
- 0x08001a09, 0x0000e106, 0x3ac01bac, 0x0000f500, 0x82600500, 0x00008026,
- 0x0238170c, 0x0000802c, 0x8207fa2c, 0x00009280, 0x01802208, 0x00001880,
- 0x02414006, 0x00001002, 0x02000029, 0x00009084, 0x81a80500, 0x00006100,
- 0x82800ee3, 0x00004880, 0xc183520a, 0x00007900, 0x00000002, 0x00000080,
- 0x700080ec, 0x00005680, 0x003830c4, 0x00008010, 0x01a00005, 0x00009980,
- 0x703848ec, 0x0000d600, 0x00384000, 0x00000000, 0x04181006, 0x00006987,
- 0x700080ec, 0x00005680, 0x003837c0, 0x00000078, 0x00c002ec, 0x0000df80,
- 0x1396900a, 0x00009484, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x01800ce0, 0x00001283, 0x00003aeb, 0x0000700b, 0x3ae61c02, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x01080000, 0x00009990,
- 0x00003aeb, 0x0000f009, 0x00003b30, 0x00007000, 0x01800000, 0x000080dc,
- 0x86805c0a, 0x00007902, 0x02400000, 0x00000000, 0x80000204, 0x0000e582,
- 0x00196006, 0x00002186, 0x00280007, 0x00006086, 0x00000806, 0x0000b48f,
- 0x82371ee3, 0x0000e100, 0x04116007, 0x0000e187, 0x85b83c08, 0x00005000,
- 0x00383000, 0x00008000, 0x62a04509, 0x00004389, 0x00601d09, 0x00000090,
- 0x00000c09, 0x00007890, 0x00000000, 0x00000000, 0xe7c01c09, 0x00007892,
- 0x01c00001, 0x00008010, 0x63c01d09, 0x00004389, 0x00601d09, 0x00008098,
- 0x04800d09, 0x00004588, 0x02600d09, 0x000002b5, 0x65402d09, 0x00004489,
- 0x40602d09, 0x00008eae, 0x62c03509, 0x0000c691, 0x4c602509, 0x00008e96,
- 0x13600c09, 0x0000c5a8, 0x7f802c09, 0x000080b4, 0x73e00d09, 0x00004291,
- 0xf8601409, 0x00008e9d, 0x61e00509, 0x0000c489, 0xf0603509, 0x00008e8d,
- 0x01001509, 0x00004589, 0x09402d09, 0x00000094, 0x02804409, 0x00001181,
- 0xe7c0440a, 0x0000789a, 0xe1c00000, 0x00001d87, 0x02000c09, 0x00009181,
- 0xe7c00c08, 0x0000f89a, 0xe1c00000, 0x00001d87, 0x02800c09, 0x00001181,
- 0xe7c04c0a, 0x0000f89a, 0xe1c00000, 0x00001d87, 0x3b1620f6, 0x0000f004,
- 0x01800000, 0x0000e181, 0x82371ee3, 0x0000c900, 0x85b83c08, 0x00002080,
- 0xffffffff, 0x00007fa7, 0x40000d07, 0x00009583, 0x01800800, 0x00009989,
- 0xdc400204, 0x0000f88a, 0xe9c00000, 0x00001d8a, 0x3b163876, 0x00007100,
- 0x00003b16, 0x0000f000, 0x3b162410, 0x0000f100, 0x00003b16, 0x0000f000,
- 0x3b1615a9, 0x0000f004, 0x00003b16, 0x0000f000, 0x3b160b7e, 0x0000f004,
- 0x00003b16, 0x0000f000, 0x3b16878e, 0x00007004, 0x00003b16, 0x0000f000,
- 0x3b163dbf, 0x00007004, 0x00003b16, 0x0000f000, 0x3b16779e, 0x0000f004,
- 0x00003b30, 0x0000f200, 0x01001000, 0x00001980, 0x00003b30, 0x0000f200,
- 0x01001800, 0x00009980, 0x01000800, 0x00001980, 0x3b313a61, 0x0000f100,
- 0x1ac00000, 0x0000e180, 0x08003a0a, 0x00006100, 0x1b000000, 0x00006180,
- 0x0010506b, 0x0000e106, 0x1a001000, 0x0000f900, 0x00030000, 0x00008980,
- 0x1a505800, 0x0000f900, 0x00044040, 0x00000980, 0x1b400000, 0x0000e180,
- 0xc328486b, 0x0000e006, 0x1b800200, 0x00006180, 0x1bc00000, 0x00004980,
- 0x1c000010, 0x000007c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
- 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
- 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x1a80580b, 0x00009900,
+ 0x41800d14, 0x00006283, 0x014016a0, 0x00000980, 0x01000000, 0x0000e180,
+ 0x0b006414, 0x0000e002, 0x81202000, 0x0000e190, 0xc0001805, 0x00006416,
+ 0x0000262b, 0x0000f010, 0x00000414, 0x00009583, 0x81280500, 0x00006110,
+ 0xc0000805, 0x0000e416, 0xffffffff, 0x00007f86, 0x703828ec, 0x0000d600,
+ 0x00382000, 0x00000000, 0x41000d14, 0x00001283, 0x0000268c, 0x00007013,
+ 0x703080ec, 0x00005602, 0x00000000, 0x00008080, 0x013a0004, 0x00001980,
+ 0x7038c0ec, 0x0000d600, 0x0038c800, 0x00000000, 0x04181004, 0x0000e987,
+ 0x700010ec, 0x00005680, 0x003827c0, 0x00008078, 0x41000d14, 0x00001283,
+ 0x00000414, 0x00009583, 0xffffffff, 0x00007f86, 0x00002673, 0x00007010,
+ 0x000026a6, 0x0000f008, 0x00c802ec, 0x00005f80, 0x1251f803, 0x000086c4,
+ 0x02060000, 0x0000e180, 0x0e00a405, 0x00006000, 0x02400000, 0x000000e8,
+ 0x00400000, 0x000000ec, 0x00000405, 0x00006583, 0x00001801, 0x0000a406,
+ 0x01001414, 0x00006080, 0x80001001, 0x0000a586, 0x01403800, 0x0000e191,
+ 0x80000801, 0x00006403, 0x01400000, 0x00006189, 0x20001008, 0x0000e402,
+ 0xc0000c04, 0x0000e081, 0xc0000801, 0x00006401, 0x00000414, 0x00006583,
+ 0x01004800, 0x00008981, 0x80602c04, 0x0000e101, 0x02180008, 0x00008380,
+ 0x9660a001, 0x00006001, 0xc0005008, 0x00003406, 0x0000268a, 0x00007008,
+ 0x40c00402, 0x000082ec, 0x09400000, 0x00007900, 0x000200c0, 0x00000980,
+ 0x0b603800, 0x00006180, 0x0000182b, 0x0000e106, 0x09000080, 0x0000e180,
+ 0x557f1025, 0x0000e003, 0x09838000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x0a009000, 0x0000f900, 0x0000c600, 0x00008980, 0x0a400000, 0x00007900,
+ 0x00018008, 0x00000980, 0x000048ec, 0x0000d780, 0x00007001, 0x00008080,
+ 0x05000000, 0x00006180, 0xc000182b, 0x00006006, 0x05400000, 0x000001d8,
+ 0x05c00000, 0x000001e0, 0x06400000, 0x000001e8, 0x06c00000, 0x000002f8,
+ 0x0bc00000, 0x0000e180, 0x0c000020, 0x0000c980, 0x0c400000, 0x000003c8,
+ 0x0cc00000, 0x00006180, 0x0b001002, 0x00004900, 0x09c00000, 0x00006180,
+ 0x0a801002, 0x00004900, 0x89087002, 0x00008236, 0x008806ec, 0x00005f80,
+ 0x00c06080, 0x000082c4, 0x00000414, 0x00006583, 0x0e00a405, 0x0000a000,
+ 0x020000c0, 0x000080e4, 0x02800000, 0x000080ec, 0x00002643, 0x0000f210,
+ 0x00400000, 0x0000e180, 0x20001008, 0x0000640a, 0xc0002000, 0x00006181,
+ 0x00001801, 0x00006406, 0x0227f808, 0x00007900, 0x003ffffe, 0x00008280,
+ 0x01005000, 0x00006181, 0xc0000008, 0x00006406, 0x40401000, 0x00001981,
+ 0x00000405, 0x00006583, 0x00080001, 0x0000a503, 0x01403800, 0x0000e191,
+ 0x01400000, 0x00004989, 0x00000414, 0x00006583, 0xc0000801, 0x0000a401,
+ 0x80602c04, 0x00001101, 0x9660a001, 0x0000e801, 0x00002654, 0x00007010,
+ 0x008806ec, 0x00005f80, 0x00c06080, 0x000081c4, 0x00000414, 0x00006583,
+ 0x01400000, 0x00000981, 0x01000000, 0x00006181, 0x01400800, 0x0000c989,
+ 0x00000414, 0x00006583, 0x07c00000, 0x00000980, 0x08000080, 0x00006180,
+ 0x01000800, 0x00004991, 0x07580800, 0x00007900, 0x000441c0, 0x00000980,
+ 0x0000181f, 0x00006106, 0xa2a02820, 0x0000b002, 0x700010ec, 0x00005680,
+ 0x0038e800, 0x00000100, 0xc000181f, 0x0000e006, 0x00202020, 0x00003002,
+ 0x703810ec, 0x00005600, 0x0038f800, 0x00000000, 0x08800000, 0x00006180,
+ 0xe7a02820, 0x0000e003, 0x703900ec, 0x00005600, 0x00000000, 0x00008080,
+ 0x00002630, 0x0000f400, 0x04108022, 0x0000e987, 0x703910ec, 0x0000d600,
+ 0x00006800, 0x00008003, 0x02064000, 0x00006180, 0x0e00a405, 0x00006000,
+ 0x02400000, 0x000000e8, 0x00002681, 0x0000f400, 0x02d01800, 0x000080c4,
+ 0x8120200a, 0x000000c3, 0x17c00044, 0x00006180, 0x12438871, 0x00004900,
+ 0x001088ec, 0x00005780, 0x00004801, 0x00000080, 0x0000385f, 0x00006106,
+ 0xc0000871, 0x00003400, 0x13fbef77, 0x00008514, 0x17006000, 0x0000f900,
+ 0x00018000, 0x00008980, 0x17501800, 0x0000f900, 0x0000c080, 0x00000980,
+ 0x11006000, 0x0000f900, 0x00018000, 0x00008980, 0x11501800, 0x0000f900,
+ 0x0000c080, 0x00000980, 0xc0000849, 0x0000e400, 0x00000871, 0x00003403,
+ 0x0008b8ec, 0x00005780, 0x00c06700, 0x000002c0, 0x17b83706, 0x00000418,
+ 0x12000000, 0x000084e8, 0x12c00000, 0x00006180, 0x1303a074, 0x00004900,
+ 0x137bb775, 0x00000438, 0x143bcf78, 0x00000504, 0x1483d07a, 0x00006100,
+ 0x08003b78, 0x0000e106, 0x14fbe77b, 0x00000510, 0x15bbff7e, 0x0000051c,
+ 0x163c0f80, 0x00000524, 0x16bc1f82, 0x0000052c, 0x11c2f85f, 0x0000e100,
+ 0x5dc00d77, 0x0000c081, 0x00000001, 0x00007480, 0xdf400f7d, 0x00006081,
+ 0x53f3a674, 0x00008901, 0xd573a674, 0x00001901, 0xc11722e4, 0x00006100,
+ 0x08003a12, 0x00006106, 0x2dc06612, 0x00007902, 0x03a00000, 0x00000005,
+ 0x2dc08e12, 0x00002004, 0xffffffff, 0x00007f97, 0x00006006, 0x00001502,
+ 0x003bec0e, 0x00001503, 0xffffffff, 0x00007f86, 0x0000280f, 0x00007010,
+ 0x0000276d, 0x0000f010, 0x2dc07e12, 0x0000a005, 0x002bbc0e, 0x00006503,
+ 0x03000c0e, 0x00008081, 0x2dc06612, 0x0000a804, 0xffffffff, 0x00007f86,
+ 0x0023bc0f, 0x00009503, 0xffffffff, 0x00007f86, 0x00002740, 0x0000f010,
+ 0x00002740, 0x0000f010, 0x0487047c, 0x00009281, 0x00020412, 0x00001583,
+ 0x81c00800, 0x0000e191, 0xb9182304, 0x0000c910, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x0000f093, 0xc01b637c, 0x00009502, 0x81c01000, 0x0000e191,
+ 0xb9182304, 0x0000c910, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093,
+ 0x03000c6c, 0x00009283, 0x81c01800, 0x00006189, 0xb9182304, 0x0000c908,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0x43003588, 0x00001283,
+ 0x00002735, 0x00007013, 0x80000278, 0x00009582, 0x81c02800, 0x00006191,
+ 0xb9182304, 0x0000c910, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093,
+ 0x0cc43c12, 0x0000e000, 0x0c03bc0c, 0x0000b000, 0x0020940c, 0x00009503,
+ 0x81c03000, 0x00006191, 0xb9182304, 0x0000c910, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x0000f093, 0xe1210587, 0x0000448e, 0x5c400e77, 0x00000a90,
+ 0xf6200788, 0x00004488, 0x74400f88, 0x00000a98, 0xec6fc089, 0x0000f8b3,
+ 0xd100fffe, 0x00009481, 0x08044412, 0x0000e080, 0xc000087d, 0x0000b402,
+ 0x0000007d, 0x0000e481, 0x5000287c, 0x0000b486, 0x0ec4440c, 0x00006000,
+ 0x0404407d, 0x0000b081, 0xd204407d, 0x00006000, 0xe000007c, 0x0000b400,
+ 0x0000040c, 0x00006583, 0x04806412, 0x00000080, 0x034097e4, 0x00006000,
+ 0x8744407c, 0x00006000, 0x20000000, 0x00006190, 0x0803ea12, 0x0000e106,
+ 0x20042084, 0x0000e108, 0x9744407c, 0x0000e000, 0x84800a12, 0x00006080,
+ 0xa084407c, 0x0000a000, 0x84bffa12, 0x00007900, 0x00000002, 0x00008280,
+ 0x03000000, 0x0000e190, 0x03042885, 0x00004908, 0x1f840089, 0x0000e002,
+ 0xb084407c, 0x00002000, 0x1fc0000c, 0x0000e084, 0xc084407c, 0x0000a000,
+ 0x80000a12, 0x0000e582, 0x0010907d, 0x0000a106, 0x2084508a, 0x0000e100,
+ 0xe204407c, 0x0000e000, 0x20f8678b, 0x00008804, 0x00002799, 0x0000f208,
+ 0x1fc3ff88, 0x00001000, 0x0480080d, 0x00006180, 0x60000871, 0x00002402,
+ 0x273126ac, 0x0000f500, 0x1ec00000, 0x00006180, 0x40002871, 0x00006405,
+ 0x1e842012, 0x00006200, 0xdd643486, 0x00000901, 0x81c00000, 0x0000e181,
+ 0xb9182304, 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x43008588, 0x00009283, 0x81c02000, 0x0000e189, 0xb9182304, 0x0000c908,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0x80000278, 0x00009582,
+ 0xb9182304, 0x0000e110, 0x81c02800, 0x00004991, 0x000026fc, 0x00007009,
+ 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x41f866ec, 0x0000a084,
+ 0x04002000, 0x0000f900, 0x00140000, 0x00008980, 0x848ffa12, 0x00001280,
+ 0x04109010, 0x00006901, 0x0300080c, 0x00009080, 0x41f866ec, 0x00002884,
+ 0x803882ec, 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902,
+ 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600,
+ 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902,
+ 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86, 0x002bbc0e, 0x00009503,
+ 0x0023bc0f, 0x00009503, 0xffffffff, 0x00007f86, 0x00002757, 0x0000f010,
+ 0x000026e5, 0x00007008, 0x03400002, 0x00001980, 0xc3680500, 0x00001900,
+ 0x770000ec, 0x00005680, 0x00386800, 0x00000000, 0x00c002ec, 0x0000df80,
+ 0x125ae80b, 0x00001684, 0x04002000, 0x0000f900, 0x00140000, 0x00008980,
+ 0x04109010, 0x00006901, 0x803882ec, 0x0000d600, 0x00000001, 0x00000080,
+ 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902,
+ 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600,
+ 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86,
+ 0xfd93bb0e, 0x00004510, 0x77a3b80f, 0x0000fe0e, 0x41f866ec, 0x00002004,
+ 0x04002000, 0x0000f900, 0x00180000, 0x00008980, 0x83cffa12, 0x00001280,
+ 0x04107810, 0x00006901, 0x0300080c, 0x00009080, 0x41f866ec, 0x0000a804,
+ 0x803882ec, 0x0000d600, 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902,
+ 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600,
+ 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902,
+ 0x20c00000, 0x00008600, 0xc0208f7d, 0x00009503, 0x000026dc, 0x0000700b,
+ 0x04000002, 0x00001980, 0xc4280500, 0x00001900, 0x770000ec, 0x00005680,
+ 0x00388000, 0x00000000, 0x00c002ec, 0x0000df80, 0x125c300b, 0x00001684,
+ 0x04402000, 0x00007900, 0x00180000, 0x00008980, 0x04107811, 0x0000e901,
+ 0x80388aec, 0x00005600, 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902,
+ 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600,
+ 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902,
+ 0x20c00000, 0x00008600, 0x2dc08612, 0x0000a004, 0xffffffff, 0x00007fa7,
+ 0x003bec10, 0x00001503, 0x2dc07612, 0x0000200c, 0x00002780, 0x00007011,
+ 0x000026dc, 0x0000f000, 0x0c43ec12, 0x0000e800, 0x04800c12, 0x00001481,
+ 0x04809412, 0x00006080, 0xf3e0907d, 0x0000e000, 0x03803012, 0x00001300,
+ 0x27a224bc, 0x0000f404, 0x06fff800, 0x00007900, 0x003fff7e, 0x00008980,
+ 0x0740700e, 0x00009900, 0x423892ec, 0x0000a004, 0x1ec00000, 0x00006180,
+ 0x60000871, 0x0000e402, 0xdd643486, 0x0000e101, 0x40002871, 0x00006405,
+ 0xffffffff, 0x00007f86, 0x04800812, 0x00009080, 0x423892ec, 0x00002804,
+ 0x27ad26ac, 0x0000f500, 0x0480080d, 0x00009180, 0x1e842012, 0x00009200,
+ 0x81c00000, 0x0000e181, 0xb9182304, 0x00004900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x0404708e, 0x00006100, 0x08003a12, 0x00006106,
+ 0x04c00000, 0x0000e180, 0x60047010, 0x00006001, 0x81400e10, 0x0000e283,
+ 0x04400000, 0x00008980, 0x04802212, 0x00006090, 0x04801a12, 0x0000c888,
+ 0x780410ec, 0x00005680, 0x00000000, 0x00008080, 0x04800012, 0x00007910,
+ 0x00000318, 0x00008080, 0x0014680c, 0x0000e186, 0x00181013, 0x00003186,
+ 0x04800012, 0x00007908, 0x00000304, 0x00000080, 0x05000000, 0x00006180,
+ 0x041c680c, 0x00006187, 0x44409012, 0x00006100, 0xc0004014, 0x00006406,
+ 0x783898ec, 0x0000d600, 0x00388800, 0x00008000, 0x783c60ec, 0x0000d600,
+ 0x00386000, 0x00008000, 0x032aa800, 0x0000f900, 0x00155554, 0x00008980,
+ 0x04801111, 0x0000e080, 0x80001014, 0x0000a407, 0x430aacec, 0x00005084,
+ 0x00386555, 0x00002a50, 0x03400000, 0x00007900, 0x00003fc0, 0x00008980,
+ 0x64047610, 0x00006000, 0x00009011, 0x00003286, 0x780410ec, 0x00005680,
+ 0x0038a000, 0x00008000, 0x81400e10, 0x0000e283, 0x00a1900d, 0x00002586,
+ 0x783898ec, 0x0000d600, 0x00388800, 0x00008000, 0x03955000, 0x0000f900,
+ 0x002aaaaa, 0x00000980, 0x783868ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x00002820, 0x00007408, 0x781550ec, 0x0000d680, 0x003872aa, 0x0000d528,
+ 0x01400800, 0x00006181, 0xd0000871, 0x00006410, 0x00c43877, 0x00006801,
+ 0x17847077, 0x0000e801, 0x27847077, 0x0000e801, 0x37847077, 0x00006801,
+ 0x03000000, 0x0000f900, 0x00010000, 0x00000980, 0xe204700c, 0x0000e001,
+ 0x40c47077, 0x00003001, 0x51447077, 0x00006801, 0x780000ec, 0x00005680,
+ 0x00386000, 0x00008000, 0x67c47077, 0x0000e801, 0x5000287c, 0x0000e486,
+ 0xc000087d, 0x0000b402, 0x0ec4440c, 0x00006000, 0xe000007c, 0x0000b400,
+ 0x08044412, 0x0000e080, 0x0000007d, 0x0000b481, 0x8744407c, 0x00006000,
+ 0x0404407d, 0x0000b081, 0x0000040c, 0x00006583, 0x9744407c, 0x00002000,
+ 0x04806412, 0x00006080, 0xd204407d, 0x0000a000, 0x20000000, 0x00006190,
+ 0x20042084, 0x0000c908, 0x034097e4, 0x00006000, 0xa084407c, 0x00006000,
+ 0x0803ea12, 0x0000e106, 0xb084407c, 0x0000b000, 0x03000000, 0x0000e190,
+ 0x03042885, 0x00004908, 0x1f840089, 0x0000e002, 0x84800a12, 0x00000080,
+ 0x1fc0000c, 0x0000e084, 0xc084407c, 0x0000a000, 0x84bffa12, 0x00007900,
+ 0x00000002, 0x00008280, 0xe204407c, 0x0000e000, 0x0010907d, 0x00003106,
+ 0x20bc5f8a, 0x0000080c, 0x1fc3ff88, 0x0000e000, 0x2040600c, 0x00000900,
+ 0xca800a12, 0x0000f893, 0xc9000000, 0x0000138c, 0x801bc212, 0x0000e502,
+ 0x03000f7d, 0x00000081, 0x2df83612, 0x00005004, 0x00006000, 0x00000000,
+ 0x2ddbbe12, 0x00002806, 0x000026e5, 0x00007008, 0x0487047c, 0x00006281,
+ 0x831bc378, 0x00008900, 0x2df8760c, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x00007006, 0x00009502, 0x00020412, 0x0000e583, 0x038728e5, 0x00000908,
+ 0x81c00800, 0x00009991, 0x2df8760c, 0x00002884, 0x000026eb, 0x0000f008,
+ 0x00000000, 0x00007080, 0x03402000, 0x00006180, 0x00c43877, 0x0000e001,
+ 0x17847077, 0x00006001, 0x6404700d, 0x00003000, 0x27847077, 0x00006001,
+ 0x7404700d, 0x0000b000, 0x37847077, 0x0000e001, 0xd0000871, 0x0000b400,
+ 0x40c47077, 0x0000e801, 0x51447077, 0x00006801, 0x000027ee, 0x00007400,
+ 0x783868ec, 0x0000d600, 0x00000000, 0x00008080, 0x67c47077, 0x0000e801,
+ 0x8008026d, 0x00009582, 0x81c03800, 0x0000e189, 0xb9182304, 0x0000c908,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0xc0000788, 0x00009583,
+ 0xc0000f88, 0x00001583, 0x002fc089, 0x0000f900, 0x0000fffe, 0x00008582,
+ 0x000027b1, 0x00007008, 0x0000283a, 0x0000f018, 0x000027b1, 0x0000f030,
+ 0x81c04000, 0x00006181, 0xb9182304, 0x00004900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0xc15722e4, 0x0000e100, 0x08003a12, 0x00006106,
+ 0x2dc06612, 0x00007902, 0x03a00000, 0x00000005, 0x2dc08612, 0x0000a004,
+ 0xffffffff, 0x00007f97, 0x00006006, 0x00001502, 0x003bec0e, 0x00001503,
+ 0xffffffff, 0x00007f86, 0x000028f2, 0x0000f010, 0x000028c6, 0x00007010,
+ 0x2dc06e12, 0x00002005, 0x002bbc0e, 0x00006503, 0x03000c0e, 0x00008081,
+ 0x2dc06612, 0x0000a804, 0xffffffff, 0x00007f86, 0x0023bc0d, 0x00001503,
+ 0xffffffff, 0x00007f86, 0x00002899, 0x00007010, 0x00002899, 0x00007010,
+ 0x0487047c, 0x00006281, 0x0ec3e40c, 0x0000a004, 0x00040412, 0x0000c088,
+ 0x00050412, 0x00008088, 0x0c060412, 0x00004189, 0x00430412, 0x00000090,
+ 0x01e3e56c, 0x0000c709, 0x03c0057c, 0x00008bc4, 0x03d0107c, 0x00004708,
+ 0x0b23e56c, 0x00000a15, 0x03000076, 0x0000478a, 0x0a40857d, 0x00000a8e,
+ 0x14c3e56c, 0x0000c510, 0x0a200076, 0x00008094, 0x00020412, 0x00001583,
+ 0xb9182b05, 0x0000e110, 0x81c07800, 0x00004991, 0x00002867, 0x00007009,
+ 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x5000087c, 0x0000ec04,
+ 0x286826ac, 0x00007100, 0x0000340c, 0x00009583, 0x0000286e, 0x0000f00b,
+ 0x81c00000, 0x0000e181, 0xb9182b05, 0x00004900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0xb93b6005, 0x00008320, 0x0e7b7f6d, 0x0000032c,
+ 0x0e80086e, 0x00006180, 0x41400800, 0x00000981, 0x81c00000, 0x00009981,
+ 0x00000000, 0x00007083, 0x287626ac, 0x0000f300, 0x5000107c, 0x0000ec04,
+ 0x1a80340c, 0x00007892, 0x71400000, 0x00001483, 0x04808379, 0x0000e080,
+ 0x5000187c, 0x0000e404, 0xdf1b636c, 0x00006100, 0x04809279, 0x0000c300,
+ 0x04804012, 0x00009784, 0x03c00000, 0x0000f900, 0x0001040c, 0x00008980,
+ 0x03400012, 0x00007900, 0x00000200, 0x00000380, 0x84802302, 0x00001780,
+ 0x740000ec, 0x00005680, 0x00387800, 0x00000100, 0x4510900d, 0x00006907,
+ 0x04980800, 0x00007900, 0x00004080, 0x00008980, 0x743868ec, 0x0000d600,
+ 0x0017f880, 0x00008080, 0x740060ec, 0x00005680, 0x00389000, 0x00000100,
+ 0x0500680d, 0x00009900, 0x7438a0ec, 0x00005600, 0x00000008, 0x00000080,
+ 0x289326ac, 0x00007500, 0x740000ec, 0x00005680, 0x00180000, 0x00008080,
+ 0x740000ec, 0x00005680, 0x00000800, 0x00000080, 0x1a80340c, 0x00007892,
+ 0x71400000, 0x00001483, 0x81c07000, 0x00006181, 0xb9182b05, 0x00004900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x41f866ec, 0x0000a084,
+ 0x04002000, 0x0000f900, 0x00140000, 0x00008980, 0x848ffa12, 0x00001280,
+ 0x04109010, 0x00006901, 0x0300080c, 0x00009080, 0x41f866ec, 0x00002884,
+ 0x803882ec, 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902,
+ 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600,
+ 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902,
+ 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86, 0x002bbc0e, 0x00009503,
+ 0x0023bc0d, 0x00001503, 0xffffffff, 0x00007f86, 0x000028b0, 0x0000f010,
+ 0x00002852, 0x0000f008, 0x03c00002, 0x00009980, 0xc3e80500, 0x00009900,
+ 0x770000ec, 0x00005680, 0x00387800, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x1285b00b, 0x00001684, 0x04002000, 0x0000f900, 0x00140000, 0x00008980,
+ 0x04109010, 0x00006901, 0x803882ec, 0x0000d600, 0x00000001, 0x00000080,
+ 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902,
+ 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600,
+ 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86,
+ 0xfd93bb0e, 0x00004510, 0x78e3b80d, 0x0000fe0e, 0x41f866ec, 0x00002004,
+ 0x04402000, 0x00007900, 0x00180000, 0x00008980, 0x834ffa12, 0x00009280,
+ 0x04106811, 0x00006901, 0x0300080c, 0x00009080, 0x41f866ec, 0x0000a804,
+ 0x80388aec, 0x00005600, 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902,
+ 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600,
+ 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902,
+ 0x20c00000, 0x00008600, 0xc020877d, 0x00001503, 0x00002849, 0x0000f00b,
+ 0x03800002, 0x00001980, 0xc3a80500, 0x00001900, 0x770000ec, 0x00005680,
+ 0x00387000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1286f80b, 0x00001684,
+ 0x04402000, 0x00007900, 0x00180000, 0x00008980, 0x04106811, 0x00006901,
+ 0x80388aec, 0x00005600, 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902,
+ 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600,
+ 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902,
+ 0x20c00000, 0x00008600, 0x2dc07612, 0x0000a004, 0xffffffff, 0x00007fa7,
+ 0x003bec0e, 0x00001503, 0x2dc07612, 0x0000200c, 0x000028d9, 0x00007011,
+ 0x00002849, 0x00007000, 0x801bc212, 0x0000e502, 0x03000f7d, 0x00000081,
+ 0x2df83612, 0x00005004, 0x00006000, 0x00000000, 0x2ddbbe12, 0x00002806,
+ 0x00002852, 0x0000f008, 0x831bc378, 0x00001900, 0x2df8760c, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00007006, 0x00009502, 0x038728e5, 0x00009908,
+ 0x00002852, 0x0000f400, 0xffffffff, 0x00007f86, 0x2df8760c, 0x00002884,
+ 0x81c05800, 0x00006181, 0xb9182b05, 0x00004900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x81c05000, 0x0000e181, 0xb9182b05, 0x00004900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x81c04800, 0x0000e181,
+ 0xb9182b05, 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x81c06800, 0x00006181, 0xb9182b05, 0x00004900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x81c06000, 0x0000e181, 0xb9182b05, 0x00004900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0xc11722e4, 0x00006100,
+ 0x08003a14, 0x00006106, 0x2dc06614, 0x00007902, 0x03e00000, 0x00008005,
+ 0x2dc06e14, 0x0000a004, 0xffffffff, 0x00007f97, 0x00006006, 0x00001502,
+ 0x003bec0f, 0x00009503, 0xffffffff, 0x00007f86, 0x00002aeb, 0x0000f010,
+ 0x00002a92, 0x00007010, 0x2dc06614, 0x0000a005, 0x002bbc0f, 0x00001503,
+ 0x00002a52, 0x0000f413, 0x03000c0c, 0x00009081, 0x2dd86614, 0x00002806,
+ 0x41000800, 0x00006181, 0x08032a14, 0x0000e106, 0x03404000, 0x0000f900,
+ 0x001c0000, 0x00000980, 0x0506047c, 0x0000e281, 0x0410a00d, 0x00002101,
+ 0x00040414, 0x00001583, 0x81c08000, 0x0000e191, 0xb9182304, 0x0000c910,
+ 0x80386aec, 0x0000d600, 0x00000001, 0x00008280, 0xffffffff, 0x00007f97,
+ 0x00000000, 0x0000f093, 0xc01b637c, 0x00009502, 0x81c08800, 0x00006191,
+ 0xb9182304, 0x0000c910, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093,
+ 0x4302057c, 0x00001283, 0x81c09000, 0x00006189, 0xb9182304, 0x0000c908,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0x43003588, 0x00001283,
+ 0x0cc3ec14, 0x00006008, 0x0804440c, 0x0000b008, 0x00002a45, 0x0000f011,
+ 0x0020a40c, 0x00009503, 0x81c0a000, 0x00006191, 0xb9182304, 0x0000c910,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093, 0xc0000788, 0x00006583,
+ 0x07442084, 0x00000900, 0x07042f88, 0x00001000, 0x00002a3c, 0x00007009,
+ 0x03042089, 0x00009002, 0x0500001c, 0x0000e084, 0x0740600c, 0x00000900,
+ 0x0700001c, 0x00009084, 0x8e042881, 0x0000781a, 0x01400001, 0x00008000,
+ 0x00042881, 0x00007810, 0x00000000, 0x00000000, 0x8e042080, 0x00007832,
+ 0x01400001, 0x00008060, 0x4680a77f, 0x0000c429, 0xac40a77f, 0x00008a12,
+ 0x8d00607e, 0x0000f82a, 0x01400001, 0x00000080, 0x06003000, 0x00009981,
+ 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902,
+ 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600,
+ 0x037bd77b, 0x00000030, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600,
+ 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902,
+ 0x1fc00000, 0x00008600, 0x043c0f80, 0x00008038, 0x800402ec, 0x00007902,
+ 0x20400000, 0x00000600, 0x05841082, 0x00006100, 0x08032a14, 0x0000e106,
+ 0x05c00783, 0x00008488, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600,
+ 0x2dc09e14, 0x0000f902, 0x06a00000, 0x00000005, 0x10400000, 0x0000f900,
+ 0x00004042, 0x00000980, 0x10000000, 0x0000e180, 0x08003a42, 0x00006106,
+ 0x2dc09614, 0x00002004, 0x10e00001, 0x000080d2, 0x00009864, 0x00001502,
+ 0x003bec1a, 0x00001503, 0xffffffff, 0x00007f86, 0x00002b04, 0x0000f010,
+ 0x00002a08, 0x00007010, 0x2dc0ce14, 0x00002005, 0x002bbc1a, 0x00006503,
+ 0x04800c1a, 0x00008081, 0x2dc09614, 0x0000a804, 0xffffffff, 0x00007f86,
+ 0x0023bc19, 0x00001503, 0xffffffff, 0x00007f86, 0x000029db, 0x0000f010,
+ 0x000029db, 0x0000f010, 0x0fc44414, 0x0000e000, 0x0c43e412, 0x0000b000,
+ 0x0020a412, 0x00009503, 0x81c0c000, 0x00006191, 0xb9182304, 0x0000c910,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093, 0x0507047c, 0x00009281,
+ 0x3a201488, 0x0000c195, 0x00460414, 0x00000088, 0xc6430414, 0x0000f892,
+ 0x81400000, 0x0000148c, 0xc6430414, 0x0000f892, 0x29400000, 0x0000148e,
+ 0x00001c18, 0x00009583, 0x05001000, 0x0000e189, 0x05000000, 0x00004991,
+ 0x80000278, 0x00009582, 0xb9182304, 0x0000e110, 0x8220a041, 0x00006002,
+ 0x81c0d000, 0x00009991, 0xffffffff, 0x00007f97, 0x00000000, 0x0000f093,
+ 0x5160c07c, 0x0000e004, 0xc000007d, 0x00003404, 0xd344407d, 0x00006000,
+ 0x8744407c, 0x00003000, 0x0803ea14, 0x0000e106, 0x9744407c, 0x0000b000,
+ 0x85000a14, 0x00006080, 0xc084407c, 0x0000a000, 0x853ffa14, 0x00007900,
+ 0x00000002, 0x00008280, 0x80000a14, 0x0000e582, 0xa084407c, 0x0000a000,
+ 0x0010a07d, 0x00006106, 0xb084407c, 0x0000b000, 0x203c2f84, 0x00000804,
+ 0x00002ac3, 0x00007408, 0x1fb8e71d, 0x0000073c, 0x20b8bf16, 0x0000080c,
+ 0x05006084, 0x0000e002, 0x0fc00004, 0x00000980, 0x03006885, 0x0000e004,
+ 0x0000383f, 0x0000a106, 0x1e808014, 0x00006102, 0x1c000000, 0x00000980,
+ 0x1c420000, 0x00007900, 0x00001700, 0x00008980, 0x0f006000, 0x0000f900,
+ 0x00008000, 0x00000980, 0x0f580800, 0x0000f900, 0x00004100, 0x00008980,
+ 0x001078ec, 0x00005780, 0x00006000, 0x00008080, 0x1c800000, 0x000087cc,
+ 0x1e64558a, 0x00008724, 0x29be26ac, 0x0000f500, 0x5d783386, 0x00008338,
+ 0x1ec0700c, 0x00001104, 0xb9182304, 0x00006100, 0x0003285f, 0x0000e106,
+ 0x08032b78, 0x00006106, 0x00032847, 0x0000b106, 0x17bb2764, 0x00000418,
+ 0x81c00000, 0x00009981, 0x00000000, 0x00007083, 0x80000278, 0x00006582,
+ 0x80001041, 0x0000a402, 0x0e3b6f6c, 0x00000324, 0x0ec3786f, 0x00006100,
+ 0x0e80086e, 0x00004080, 0x00002999, 0x00007408, 0x41400800, 0x0000e181,
+ 0xdf101202, 0x00004900, 0xb9182304, 0x0000e110, 0x81c0d000, 0x0000c991,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x00001c18, 0x00006583,
+ 0x05000000, 0x00000981, 0x80000278, 0x00006582, 0x05000800, 0x00000989,
+ 0xb9182304, 0x0000e110, 0x81c0d000, 0x0000c991, 0x0520a2ec, 0x00001101,
+ 0x00002999, 0x00007208, 0x8220a041, 0x0000e802, 0x00000000, 0x00007083,
+ 0x41f896ec, 0x0000a084, 0x04c02000, 0x0000f900, 0x00140000, 0x00008980,
+ 0x850ffa14, 0x00001280, 0x0410a013, 0x00006901, 0x04800812, 0x00009080,
+ 0x41f896ec, 0x00002884, 0x80389aec, 0x0000d600, 0x00000001, 0x00000080,
+ 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902,
+ 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600,
+ 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86,
+ 0x002bbc1a, 0x00009503, 0x0023bc19, 0x00001503, 0xffffffff, 0x00007f86,
+ 0x000029f2, 0x00007010, 0x00002982, 0x0000f008, 0x04800002, 0x00009980,
+ 0xc4a80500, 0x00009900, 0x770000ec, 0x00005680, 0x00389000, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x128fc00b, 0x00009684, 0x04c02000, 0x0000f900,
+ 0x00140000, 0x00008980, 0x0410a013, 0x00006901, 0x80389aec, 0x0000d600,
+ 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600,
+ 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902,
+ 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600,
+ 0xffffffff, 0x00007f86, 0xfd93bb1a, 0x00004510, 0x77c3b819, 0x00007e0e,
+ 0x41f89eec, 0x0000a004, 0x06c02000, 0x00007900, 0x00180000, 0x00008980,
+ 0x864ffa14, 0x00009280, 0x0410c81b, 0x00006901, 0x04c00813, 0x00009080,
+ 0x41f89eec, 0x00002804, 0x8038daec, 0x00005600, 0x00000000, 0x00000280,
+ 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902,
+ 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600,
+ 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600, 0xc020977d, 0x00009503,
+ 0x00002979, 0x0000700b, 0x04800002, 0x00009980, 0xc4a80500, 0x00009900,
+ 0x770000ec, 0x00005680, 0x00389000, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x1291080b, 0x00001684, 0x04c02000, 0x0000f900, 0x00180000, 0x00008980,
+ 0x0410c813, 0x0000e901, 0x80389aec, 0x0000d600, 0x00000000, 0x00000280,
+ 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902,
+ 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600,
+ 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600, 0x2dc09e14, 0x0000a004,
+ 0xffffffff, 0x00007fa7, 0x003bec13, 0x00001503, 0x2dc0d614, 0x0000200c,
+ 0x00002a1b, 0x00007011, 0x00002979, 0x0000f000, 0x81c0b800, 0x0000e181,
+ 0xb9182304, 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x81c0b000, 0x00006181, 0xb9182304, 0x00004900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x00000089, 0x00001582, 0x00002948, 0x0000f013,
+ 0x03001488, 0x00009283, 0xb9182304, 0x0000e110, 0x81c0a800, 0x0000c991,
+ 0x06001800, 0x00001989, 0xffffffff, 0x00007f97, 0x00000000, 0x0000f093,
+ 0x00002957, 0x0000f000, 0x4300157c, 0x00001283, 0xb9182304, 0x0000e108,
+ 0x81c09800, 0x0000c989, 0x0cc3ec14, 0x00006010, 0x0804440c, 0x0000b010,
+ 0xffffffff, 0x00007f97, 0x00000000, 0x0000f08b, 0x0020a40c, 0x00009503,
+ 0xb9182304, 0x0000e110, 0x81c0a000, 0x00004991, 0x00002944, 0x00007009,
+ 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x423860ec, 0x0000a084,
+ 0x03402000, 0x0000f900, 0x00140000, 0x00008980, 0x850ffa14, 0x00001280,
+ 0x0410a00d, 0x00006901, 0x0300080c, 0x00009080, 0x423860ec, 0x00002884,
+ 0x80386aec, 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902,
+ 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600,
+ 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902,
+ 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86, 0x002bbc0f, 0x00001503,
+ 0x00002924, 0x0000f00b, 0x03000002, 0x00009980, 0xc3280500, 0x00009900,
+ 0x770000ec, 0x00005680, 0x00386000, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x1293600b, 0x00001684, 0x03402000, 0x0000f900, 0x00140000, 0x00008980,
+ 0x0410a00d, 0x00006901, 0x80386aec, 0x0000d600, 0x00000001, 0x00000080,
+ 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902,
+ 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600,
+ 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86,
+ 0x002bbc0f, 0x00001503, 0x03000002, 0x00001990, 0xc3280500, 0x00001910,
+ 0x00002924, 0x0000f008, 0x770000ec, 0x00005680, 0x00386000, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x1294100b, 0x00001684, 0x03402000, 0x0000f900,
+ 0x00140000, 0x00008980, 0x0410a00d, 0x00006901, 0x80386aec, 0x0000d600,
+ 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600,
+ 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902,
+ 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600,
+ 0xffffffff, 0x00007f86, 0x99abbc0f, 0x00007812, 0x21400000, 0x00001489,
+ 0x423860ec, 0x00002004, 0x04402000, 0x00007900, 0x00180000, 0x00008980,
+ 0x838ffa14, 0x00009280, 0x04107011, 0x00006901, 0x0300080c, 0x00009080,
+ 0x423860ec, 0x0000a804, 0x80388aec, 0x00005600, 0x00000000, 0x00000280,
+ 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902,
+ 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600,
+ 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600, 0xc0206f7d, 0x00001503,
+ 0x0000291f, 0x0000700b, 0x03000002, 0x00009980, 0xc3280500, 0x00009900,
+ 0x770000ec, 0x00005680, 0x00386000, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x1295580b, 0x00009684, 0x03402000, 0x0000f900, 0x00180000, 0x00008980,
+ 0x0410700d, 0x0000e901, 0x80386aec, 0x0000d600, 0x00000000, 0x00000280,
+ 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902,
+ 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600,
+ 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600, 0x2dc06e14, 0x0000a004,
+ 0xffffffff, 0x00007fa7, 0x003bec0d, 0x00001503, 0x2dc07e14, 0x0000a00c,
+ 0x2dc06614, 0x0000200d, 0x00002aa5, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0x03000c0c, 0x00009081, 0x2dd86614, 0x00002806, 0x492bbc0f, 0x0000780a,
+ 0x91400000, 0x00009582, 0x0c43ec14, 0x0000e800, 0x05000c14, 0x00001481,
+ 0x05009414, 0x00006080, 0xf3e0a07d, 0x0000e000, 0x04c32014, 0x00009300,
+ 0x2acc24bc, 0x0000f404, 0x06fff800, 0x00007900, 0x003fff7e, 0x00008980,
+ 0x07409813, 0x00009900, 0x4238a2ec, 0x0000a004, 0x0fc00004, 0x0000e180,
+ 0x1c000000, 0x0000c980, 0x1c420000, 0x00007900, 0x00001700, 0x00008980,
+ 0x0f006000, 0x0000f900, 0x00008000, 0x00000980, 0x05000814, 0x00006080,
+ 0x0000383f, 0x0000a106, 0x4238a2ec, 0x00002804, 0x05006084, 0x0000e002,
+ 0x1c800000, 0x00008980, 0x03006885, 0x0000e004, 0x1cc00000, 0x00000980,
+ 0x1e808014, 0x00006102, 0xde5c538a, 0x00008900, 0x0f580800, 0x0000f900,
+ 0x00004100, 0x00008980, 0x001078ec, 0x00005780, 0x00006000, 0x00008080,
+ 0x2ae426ac, 0x0000f500, 0x1e5c348a, 0x00000715, 0x1ec0700c, 0x0000e104,
+ 0x0f803006, 0x00008900, 0xb9182304, 0x00006100, 0x0003285f, 0x0000e106,
+ 0x08032b78, 0x00006106, 0x00032847, 0x0000b106, 0x17bb2764, 0x00000418,
+ 0x81c00000, 0x00009981, 0x00000000, 0x00007083, 0x801bc214, 0x0000e502,
+ 0x03000c77, 0x00000081, 0x2df83614, 0x00005004, 0x0013e800, 0x00000002,
+ 0x2dd86614, 0x00002806, 0x00002924, 0x0000f008, 0x839bc378, 0x0000e100,
+ 0x08032a14, 0x0000e106, 0x2df86e0e, 0x00002084, 0x41000800, 0x00001981,
+ 0xffffffff, 0x00007f97, 0x00006806, 0x00009502, 0x034728e5, 0x00009908,
+ 0xffffffff, 0x00007f86, 0x2df86e0e, 0x0000a884, 0x03404000, 0x0000f900,
+ 0x001c0000, 0x00000980, 0x0506047c, 0x0000e281, 0x0410a00d, 0x00002101,
+ 0x00040414, 0x00001583, 0x80386aec, 0x0000d600, 0x00000001, 0x00008280,
+ 0x81c08000, 0x00009991, 0x00002931, 0x00007008, 0x00000000, 0x00007080,
+ 0x801bc214, 0x0000e502, 0x04800f7d, 0x00000081, 0x2dfb2614, 0x0000d004,
+ 0x00009000, 0x00000000, 0x2ddbbe14, 0x00002806, 0x00002982, 0x0000f008,
+ 0x851bc378, 0x00006100, 0x0c43e412, 0x0000e000, 0x2df89e14, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x00009864, 0x00001502, 0x04c728e5, 0x00009908,
+ 0xffffffff, 0x00007f86, 0x2df89e14, 0x00002884, 0x0fc44414, 0x00006800,
+ 0x0020a412, 0x00009503, 0xb9182304, 0x0000e110, 0x81c0c000, 0x00004991,
+ 0x00002989, 0x0000f009, 0xffffffff, 0x00007f86, 0x00000000, 0x00007083,
+ 0x81c0c800, 0x00006181, 0xb9182304, 0x00004900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x02000000, 0x00009980, 0x2df83e08, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x01c0a007, 0x00009780, 0x01c02007, 0x00001880,
+ 0x0010c007, 0x00001502, 0x2df84e08, 0x00002094, 0x024728e5, 0x00001908,
+ 0xffffffff, 0x00007f97, 0x2df84e08, 0x00002884, 0x02400808, 0x00001080,
+ 0x2df83e09, 0x0000a084, 0xffffffff, 0x00007fa7, 0x01c0a007, 0x00009780,
+ 0x01c02007, 0x00001880, 0x0010c007, 0x00001502, 0x2df83e09, 0x00002094,
+ 0x00002b70, 0x00007009, 0xffffffff, 0x00007f86, 0x2df83e09, 0x00002884,
+ 0x02401008, 0x00001080, 0x2df83e09, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x01c0a007, 0x00009780, 0x01c02007, 0x00001880, 0x0010c007, 0x00001502,
+ 0x2df83e09, 0x00002094, 0x01c728e5, 0x00009908, 0xffffffff, 0x00007f97,
+ 0x2df83e09, 0x00002884, 0x02401808, 0x00009080, 0x2df83e09, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x01c0a007, 0x00009780, 0x01c02007, 0x00001880,
+ 0x0010c007, 0x00001502, 0x2df83e09, 0x00002094, 0x01c728e5, 0x00009908,
+ 0xffffffff, 0x00007f97, 0x2df83e09, 0x00002884, 0x02402008, 0x00001080,
+ 0x2df83e09, 0x0000a084, 0xffffffff, 0x00007fa7, 0x01c0a007, 0x00009780,
+ 0x01c02007, 0x00001880, 0x0010c007, 0x00001502, 0x2df83e09, 0x00002094,
+ 0x01c728e5, 0x00009908, 0xffffffff, 0x00007f97, 0x2df83e09, 0x00002884,
+ 0x02402808, 0x00009080, 0x2df83e09, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x01c0a007, 0x00009780, 0x01c02007, 0x00001880, 0x0010c007, 0x00001502,
+ 0x2df83e09, 0x00002094, 0x01c728e5, 0x00009908, 0xffffffff, 0x00007f97,
+ 0x2df83e09, 0x00002884, 0x02403008, 0x00009080, 0x2df83e09, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x01c0a007, 0x00009780, 0x01c02007, 0x00001880,
+ 0x0010c007, 0x00001502, 0x2df83e09, 0x00002094, 0x01c728e5, 0x00009908,
+ 0xffffffff, 0x00007f97, 0x2df83e09, 0x00002884, 0x02004008, 0x00006080,
+ 0x02403808, 0x00008080, 0x2df83e09, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x01c0a007, 0x00009780, 0x01c02007, 0x00001880, 0x0010c007, 0x00001502,
+ 0x2df83e09, 0x00002094, 0x000a0008, 0x0000e582, 0x01c728e5, 0x00000908,
+ 0x00002b1e, 0x0000f213, 0x2df83e09, 0x00002884, 0x00000001, 0x0000f080,
+ 0x2dff2e09, 0x00002884, 0x02401008, 0x00001080, 0x2df83e09, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x01c0a007, 0x00009780, 0x01c02007, 0x00001880,
+ 0x0010c007, 0x00001502, 0x2df83e09, 0x00002094, 0x01c728e5, 0x00009908,
+ 0xffffffff, 0x00007f97, 0x2df83e09, 0x00002884, 0x02401808, 0x00009080,
+ 0x2df83e09, 0x0000a084, 0xffffffff, 0x00007fa7, 0x01c0a007, 0x00009780,
+ 0x01c02007, 0x00001880, 0x0010c007, 0x00001502, 0x2df83e09, 0x00002094,
+ 0x01c728e5, 0x00009908, 0xffffffff, 0x00007f97, 0x2df83e09, 0x00002884,
+ 0x02402008, 0x00001080, 0x2df83e09, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x01c0a007, 0x00009780, 0x01c02007, 0x00001880, 0x0010c007, 0x00001502,
+ 0x2df83e09, 0x00002094, 0x01c728e5, 0x00009908, 0xffffffff, 0x00007f97,
+ 0x2df83e09, 0x00002884, 0x02402808, 0x00009080, 0x2df83e09, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x01c0a007, 0x00009780, 0x01c02007, 0x00001880,
+ 0x0010c007, 0x00001502, 0x2df83e09, 0x00002094, 0x01c728e5, 0x00009908,
+ 0xffffffff, 0x00007f97, 0x2df83e09, 0x00002884, 0x02403008, 0x00009080,
+ 0x2df83e09, 0x0000a084, 0xffffffff, 0x00007fa7, 0x01c0a007, 0x00009780,
+ 0x01c02007, 0x00001880, 0x0010c007, 0x00001502, 0x2df83e09, 0x00002094,
+ 0x01c728e5, 0x00009908, 0xffffffff, 0x00007f97, 0x2df83e09, 0x00002884,
+ 0x02004008, 0x00006080, 0x02403808, 0x00008080, 0x2df83e09, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x01c0a007, 0x00009780, 0x01c02007, 0x00001880,
+ 0x0010c007, 0x00001502, 0x2df83e09, 0x00002094, 0x01c728e5, 0x00009908,
+ 0xffffffff, 0x00007f97, 0x2df83e09, 0x00002884, 0xc78a0008, 0x00007892,
+ 0x79400000, 0x0000958b, 0x00002bee, 0x00007200, 0x04400000, 0x00009981,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02000000, 0x000080e4,
+ 0x02800000, 0x000080ec, 0x03000000, 0x000080f4, 0x03800000, 0x000080fc,
+ 0x00000c11, 0x00001583, 0x00000c11, 0x00001583, 0xffffffff, 0x00007f86,
+ 0x00002bc8, 0x0000f008, 0x00002bc5, 0x0000f028, 0x00001411, 0x00001583,
+ 0x02833066, 0x00006108, 0x0003380b, 0x0000610e, 0x00002bca, 0x0000f009,
+ 0x00002bca, 0x00007400, 0x00001c11, 0x00009583, 0x02834068, 0x00006108,
+ 0x0003480b, 0x0000e10e, 0x00002bca, 0x00007200, 0x02803006, 0x0000e100,
+ 0x0000380b, 0x0000e106, 0x02832064, 0x0000e100, 0x0003280b, 0x00006106,
+ 0xffffffff, 0x00007f86, 0x80182a10, 0x00006502, 0xc000100b, 0x00002406,
+ 0x02006008, 0x0000e380, 0x00000809, 0x0000a42e, 0xc2001000, 0x0000e1a9,
+ 0x80001809, 0x0000e4a8, 0x00002bd6, 0x0000f020, 0x00002be2, 0x00007400,
+ 0x00081009, 0x0000e501, 0xe000180d, 0x00003402, 0xc3800800, 0x00001980,
+ 0x80182a10, 0x00006502, 0xc2000800, 0x00000981, 0x82402000, 0x0000e181,
+ 0xc2001000, 0x00004989, 0x00000809, 0x0000e40e, 0xa000100d, 0x0000b40a,
+ 0x00002be8, 0x00007010, 0x80001809, 0x0000e480, 0x0000080d, 0x0000b403,
+ 0x08005a0e, 0x0000e106, 0x80000809, 0x00003401, 0xc3400800, 0x00009981,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x0080d0ec, 0x0000d780, 0x00005803, 0x00000080, 0xffffffff, 0x00007f97,
- 0x00d002ec, 0x00005f80, 0x139ad006, 0x00008d84, 0x01800000, 0x00009981,
- 0xdc400204, 0x0000f88a, 0x01c00001, 0x00008080, 0x82800b2c, 0x00006080,
- 0x01800000, 0x00008980, 0x02000ee3, 0x0000e081, 0x04105006, 0x0000e187,
- 0x02800c08, 0x0000e081, 0x01c81004, 0x00008980, 0x760010ec, 0x00005680,
- 0x00000000, 0x00008080, 0x2c01440a, 0x00001680, 0x020588b0, 0x00009000,
- 0x02801808, 0x0000e780, 0x02403006, 0x00000900, 0xc1d82a0a, 0x0000f900,
- 0x00000002, 0x00000080, 0x763838ec, 0x00005600, 0x000e0000, 0x00000080,
- 0x00003b73, 0x00007400, 0x760000ec, 0x0000d680, 0x00384800, 0x00008000,
- 0xcb000b2c, 0x00009080, 0x00000406, 0x00009583, 0x8b000a2c, 0x00001088,
- 0x80000204, 0x0000e582, 0x1ac00040, 0x00008980, 0x1b001000, 0x0000e180,
- 0x0000186b, 0x00006106, 0x1a001000, 0x0000f900, 0x00038000, 0x00000980,
- 0x1a505800, 0x0000f900, 0x0004ffd0, 0x00008980, 0x1b400000, 0x0000e180,
- 0xc000186b, 0x0000e006, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x1ab94702, 0x00000920, 0x26795729, 0x00000928,
- 0x26f9672b, 0x00000930, 0x00003b9b, 0x0000f408, 0x2779772d, 0x00000938,
- 0x27c1782f, 0x00009900, 0x00003b9d, 0x00007400, 0x80000a04, 0x00009582,
- 0x1b98006e, 0x00009388, 0x80000a05, 0x00001582, 0xc000186e, 0x0000ec0a,
- 0x0090d6ec, 0x0000df80, 0x00005803, 0x00008084, 0x02800000, 0x0000f900,
- 0x000040c0, 0x00000980, 0x01c84000, 0x0000e180, 0x02000002, 0x00004980,
- 0x200f26ec, 0x00005680, 0x003b2509, 0x0000bf10, 0x82845500, 0x0000f900,
- 0x00000002, 0x00000080, 0xc2280500, 0x00006100, 0x04284807, 0x0000e007,
- 0x723850ec, 0x00005600, 0x00384000, 0x00000000, 0x723858ec, 0x0000d600,
- 0x00383800, 0x00000000, 0x00c002ec, 0x0000df80, 0x139d780a, 0x00001484,
- 0x82280500, 0x00009900, 0x88b83c08, 0x0000a080, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x65602507, 0x0000c497, 0x5a604507, 0x00008e96,
- 0xcc401507, 0x0000f88e, 0x79c00000, 0x00001d89, 0x01c02805, 0x00006100,
- 0x0107f804, 0x0000c280, 0x3bbc1c61, 0x0000f500, 0x26795f2a, 0x00000920,
- 0x26f83f04, 0x00008928, 0x7fc00400, 0x000080dc, 0x01801002, 0x0000e100,
- 0x00001807, 0x00006106, 0x200f26ec, 0x00005680, 0x003b2509, 0x0000bf10,
- 0x01001000, 0x0000f900, 0x00030000, 0x00008980, 0x01505800, 0x0000f900,
- 0x00047fd0, 0x00000980, 0x02c00000, 0x00007900, 0x00080000, 0x00000980,
- 0x02001000, 0x00006180, 0xc0001807, 0x0000e006, 0x02400000, 0x00006180,
- 0x02800006, 0x00004980, 0x03000000, 0x000080f4, 0x03800000, 0x000080fc,
- 0x04000000, 0x000081c4, 0x04800000, 0x000081cc, 0x05000000, 0x000081d4,
- 0x05800000, 0x000081dc, 0x06000000, 0x000081e4, 0x06800000, 0x000081ec,
- 0x07000000, 0x000081f4, 0x07800000, 0x000081fc, 0x08000000, 0x000082c4,
- 0x08800000, 0x000082cc, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc,
- 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4,
- 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4, 0x0cc00000, 0x000083c8,
- 0x00800eec, 0x00005f80, 0x00005803, 0x00008084, 0x8100600a, 0x000001a1,
- 0x81197a04, 0x00006100, 0x81a18218, 0x00000100, 0x80103204, 0x0000e502,
- 0xc598530a, 0x00008900, 0x01a02404, 0x00006129, 0xc1af2004, 0x0000c980,
- 0x45800054, 0x000000e0, 0x00000406, 0x00006583, 0x02400000, 0x00008980,
- 0x02c00000, 0x000081c4, 0x04800000, 0x000081cc, 0x00003c41, 0x0000f208,
- 0x02800000, 0x00006180, 0x81402406, 0x00004880, 0x8000122e, 0x0000e582,
- 0x06006c30, 0x00008080, 0x03400818, 0x0000e080, 0x0100262f, 0x00004880,
- 0x0600f804, 0x00001784, 0x00003c89, 0x00007018, 0x06815004, 0x00009002,
- 0x03c15818, 0x0000e004, 0x0f002818, 0x00002086, 0x0600c62f, 0x00001000,
- 0x0007f818, 0x00009582, 0x00003ccd, 0x00007053, 0x00080018, 0x00001582,
- 0x0101502a, 0x0000e108, 0x0601582b, 0x00004908, 0x0a81602c, 0x0000e108,
- 0x0ac1682d, 0x00004908, 0x00003ccd, 0x00007208, 0x0b002004, 0x0000e108,
- 0x0b40c018, 0x00004908, 0x06000100, 0x000000dc, 0x01317818, 0x0000e100,
- 0x04206807, 0x00002085, 0x03000000, 0x0000f900, 0x000014c0, 0x00008980,
- 0x06002004, 0x0000e080, 0x75e80007, 0x00006101, 0x03a00005, 0x00006180,
- 0x0010c00c, 0x00006106, 0x04000000, 0x00007900, 0x00007fc0, 0x00000980,
- 0x703860ec, 0x0000d600, 0x00383800, 0x00000000, 0x84002004, 0x0000e080,
- 0x0418100e, 0x00006187, 0x7038d0ec, 0x00005600, 0x00387800, 0x00008000,
- 0x03000000, 0x0000f900, 0x000014c4, 0x00000980, 0x703880ec, 0x00005600,
- 0x00387000, 0x00000000, 0x0139672a, 0x00000038, 0x0ab95f2c, 0x0000801c,
- 0x0b396f04, 0x0000003c, 0x8110c205, 0x0000e100, 0x0ac1682d, 0x00000900,
- 0x0b403807, 0x0000e100, 0x0010200c, 0x0000e106, 0x81001a18, 0x0000e780,
- 0x01c00000, 0x00000980, 0x83506a04, 0x00006000, 0x81e80500, 0x00000900,
- 0x04000000, 0x0000e180, 0x04206807, 0x0000e085, 0x0100780f, 0x00006100,
- 0x75e80007, 0x00006101, 0x703860ec, 0x0000d600, 0x00383800, 0x00000000,
- 0x03400000, 0x0000e180, 0x8410c205, 0x00004100, 0x01c0700e, 0x00001900,
- 0x000ff810, 0x0000e501, 0x8001600d, 0x00003686, 0x703838ec, 0x00005600,
- 0x00382000, 0x00000000, 0x0418100d, 0x0000e987, 0x703880ec, 0x00005600,
- 0x00386800, 0x00000000, 0x00c002ec, 0x0000df80, 0x13c1b00b, 0x00009684,
- 0x863f1fe3, 0x00001900, 0x8a002c18, 0x00002080, 0xffffffff, 0x00007fa7,
- 0x01403c05, 0x00001281, 0x01401405, 0x00001181, 0x00000c05, 0x00001583,
- 0x01000000, 0x0000e1b0, 0x01400000, 0x000049b0, 0x00003cec, 0x0000f031,
- 0x0c218406, 0x0000e001, 0xcbd97c06, 0x00008000, 0x01002437, 0x00009283,
- 0x41007d37, 0x00001283, 0xffffffff, 0x00007f86, 0x00003d4b, 0x0000f008,
- 0x00003d38, 0x00007008, 0x0e01bc06, 0x00006806, 0x00006406, 0x00006583,
- 0x01203406, 0x00008900, 0x01698430, 0x00009150, 0x00003d38, 0x0000f039,
- 0x00002804, 0x00009502, 0x8bc00a2f, 0x000060d0, 0x81197c06, 0x00000050,
- 0xc411b236, 0x00006150, 0x84218204, 0x0000c150, 0x00003d6c, 0x0000f038,
- 0x00000c06, 0x00001583, 0x00003d24, 0x0000f03b, 0x0100db10, 0x00001080,
- 0x002f2004, 0x00007900, 0x00000008, 0x00008582, 0x8500e306, 0x000061c8,
- 0x0e01bc06, 0x0000204e, 0x01000406, 0x000060c9, 0x85000406, 0x000000c9,
- 0x00003d5a, 0x0000f040, 0x81401a16, 0x0000e180, 0x01c00000, 0x00000980,
- 0x05a98406, 0x0000e001, 0x0d001c15, 0x00002006, 0x03009020, 0x0000e180,
- 0x00001807, 0x00006106, 0x00218416, 0x0000e503, 0x03c00000, 0x00008980,
- 0x04032011, 0x00006006, 0xc320a807, 0x0000b006, 0x05e0b430, 0x0000e101,
- 0x0000180f, 0x00002106, 0xc3001404, 0x0000e081, 0x00001009, 0x0000a403,
- 0x01001000, 0x00006180, 0x44032011, 0x00006002, 0x03400000, 0x00007900,
- 0x00018030, 0x00008980, 0x03801002, 0x00006100, 0xc000180f, 0x00006006,
- 0x86203205, 0x00006100, 0x4c298406, 0x00008001, 0x01580800, 0x00007900,
- 0x0004ff90, 0x00000980, 0x00003d10, 0x0000f408, 0x81c01c17, 0x0000e081,
- 0xc1002c17, 0x00000081, 0x055019a0, 0x00006190, 0x01801002, 0x0000c900,
- 0x05800000, 0x00007900, 0x001f8000, 0x00008980, 0x85988214, 0x0000e100,
- 0x8630a015, 0x0000a087, 0x05006d30, 0x0000e081, 0x0410c016, 0x00002101,
- 0x2038b6ec, 0x00005600, 0x003b2000, 0x00000000, 0x001008ec, 0x0000d780,
- 0x00985a80, 0x000081c0, 0x45298430, 0x00006101, 0x0c298430, 0x00008101,
- 0x0030a0ec, 0x0000d702, 0x00005800, 0x00000080, 0x4c000000, 0x00001981,
- 0x00b8aeec, 0x00005f00, 0x00006003, 0x00000084, 0x03015004, 0x00001002,
- 0x03815818, 0x00006004, 0x0f002818, 0x00002086, 0x0600c62f, 0x00001000,
- 0x0007f818, 0x00009582, 0x00080018, 0x00001582, 0xffffffff, 0x00007f86,
- 0x00003d02, 0x0000f050, 0x00003ced, 0x00007008, 0x06000100, 0x000000dc,
- 0x01317818, 0x0000e100, 0x04206807, 0x00002085, 0x03c00000, 0x0000f900,
- 0x000014c0, 0x00008980, 0x06002004, 0x0000e080, 0x75e80007, 0x00006101,
- 0x04000000, 0x00007900, 0x00007fc0, 0x00000980, 0x84002004, 0x0000e080,
- 0x0010c00f, 0x00006106, 0x703878ec, 0x0000d600, 0x00383800, 0x00000000,
- 0x01000a2e, 0x0000e180, 0x01d9732e, 0x00008900, 0x00002007, 0x0000e502,
- 0x03e00005, 0x00000980, 0x81000b2e, 0x0000e090, 0x81000000, 0x00000988,
- 0x703860ec, 0x0000d600, 0x00387000, 0x00000000, 0xcb902204, 0x0000e100,
- 0x0418100f, 0x0000e187, 0x01001a04, 0x00006080, 0x0a81602c, 0x00004900,
- 0x703880ec, 0x00005600, 0x00387800, 0x00008000, 0x04014004, 0x0000e002,
- 0x03e00005, 0x00000980, 0x010002c0, 0x00006180, 0x05400029, 0x0000c084,
- 0x75e80004, 0x00006101, 0x0418100f, 0x0000b187, 0x700040ec, 0x00005680,
- 0x003824c0, 0x00000010, 0x703880ec, 0x00005600, 0x0038a800, 0x00000000,
- 0x01c00000, 0x00007900, 0x000014c4, 0x00000980, 0x700040ec, 0x00005680,
- 0x00387fc0, 0x00000078, 0x83d0c205, 0x00006100, 0x01000000, 0x00000980,
- 0x81280500, 0x0000e100, 0x00107807, 0x0000e106, 0x83c01a18, 0x00006780,
- 0x04000000, 0x00000980, 0x83506a0f, 0x0000e000, 0x0ac1682d, 0x00000900,
- 0x0301602c, 0x0000e100, 0x04206804, 0x0000e085, 0x0381682d, 0x00006100,
- 0x75e80004, 0x00006101, 0x703838ec, 0x00005600, 0x00382000, 0x00000000,
- 0x00003c2d, 0x00007400, 0x8410c205, 0x0000e100, 0x03400000, 0x00000980,
- 0x0139672d, 0x0000801c, 0x01000000, 0x00009980, 0x81280500, 0x00009900,
- 0x01c00000, 0x00007900, 0x000014c4, 0x00000980, 0x04206804, 0x0000e085,
- 0x00102807, 0x0000b106, 0x03400000, 0x0000e180, 0x75e80004, 0x00006101,
- 0x703838ec, 0x00005600, 0x00382000, 0x00000000, 0x0140d01a, 0x0000e100,
- 0x83402406, 0x0000c880, 0x0100070f, 0x0000009c, 0x000ff80d, 0x0000e501,
- 0x80016007, 0x00003686, 0x703828ec, 0x0000d600, 0x00382000, 0x00000000,
- 0x04181007, 0x0000e987, 0x703868ec, 0x00005600, 0x00383800, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x13c7180b, 0x00001684, 0x863f1fe3, 0x00001900,
- 0x8a002c18, 0x00002080, 0xffffffff, 0x00007fa7, 0x01403c05, 0x00001281,
- 0x01401405, 0x00001181, 0x00000c05, 0x00001583, 0x01000000, 0x0000e1b0,
- 0x01400000, 0x000049b0, 0x00003c3f, 0x00007019, 0x3ced3bb7, 0x0000f100,
- 0x0119732e, 0x00006100, 0x06000a2e, 0x0000c180, 0x0000c004, 0x00006502,
- 0x03e00005, 0x00000980, 0x81000b2e, 0x0000e090, 0x81000000, 0x00000988,
- 0x0a81602c, 0x00006100, 0x0418100f, 0x0000e187, 0xcb902204, 0x0000e100,
- 0x06001a04, 0x0000c880, 0x04014018, 0x00006002, 0x010002c0, 0x00008980,
- 0x05400029, 0x00006084, 0x75e80004, 0x0000a101, 0x700040ec, 0x00005680,
- 0x003824c0, 0x00000010, 0x703880ec, 0x00005600, 0x0038a800, 0x00000000,
- 0x700040ec, 0x00005680, 0x00387fc0, 0x00000078, 0x0ac1682d, 0x00009900,
- 0x01000000, 0x00009980, 0x81280500, 0x00009900, 0x01c00000, 0x00007900,
- 0x000014c4, 0x00000980, 0x04206804, 0x0000e085, 0x00102807, 0x0000b106,
- 0x03400000, 0x0000e180, 0x75e80004, 0x00006101, 0x703838ec, 0x00005600,
- 0x00382000, 0x00000000, 0x00003cda, 0x0000f400, 0x0140600c, 0x0000e100,
- 0x83402406, 0x0000c880, 0x0100070e, 0x0000809c, 0xc018b32f, 0x0000e502,
- 0x055019a0, 0x00000980, 0x05800000, 0x00007900, 0x001f8000, 0x00008980,
- 0x85988214, 0x0000e100, 0x8630a015, 0x0000a087, 0x05006d30, 0x0000e081,
- 0x0410c016, 0x00002101, 0x2038b6ec, 0x00005600, 0x003b2000, 0x00000000,
- 0x001008ec, 0x0000d780, 0x00985a80, 0x000081c0, 0x45298430, 0x00006101,
- 0x02180008, 0x00000388, 0x0030a0ec, 0x0000d702, 0x00005800, 0x00000080,
- 0x4c000000, 0x00006181, 0x0c298430, 0x00004101, 0x00b8aeec, 0x00005f00,
- 0x00006003, 0x00000084, 0x3841c000, 0x00006181, 0x0e01bc18, 0x0000e006,
- 0x00000c18, 0x00001583, 0x06000800, 0x000099b9, 0x00003c53, 0x00007051,
- 0xffffffff, 0x00007f86, 0x01020300, 0x00007904, 0x01020300, 0x00007904,
- 0x06000c18, 0x00006081, 0xc4188204, 0x00000000, 0x0e01bc04, 0x0000e806,
- 0x00202418, 0x00001503, 0x06000c18, 0x000090a9, 0x00003c53, 0x0000f021,
- 0x01020300, 0x00007904, 0x01020300, 0x00007904, 0xc4188204, 0x00006000,
- 0x0e01bc04, 0x0000a006, 0x4aa02418, 0x0000f82b, 0x99c00000, 0x00001e82,
- 0xffffffff, 0x00007f86, 0x01c00000, 0x0000e180, 0x0201a034, 0x00004900,
- 0x0181a835, 0x0000e100, 0x0e01bc07, 0x00006006, 0x01000ce0, 0x00006283,
- 0xc1d17a2f, 0x00008900, 0x00003d93, 0x0000f013, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x034c9000, 0x00007900, 0x00131fe0, 0x00000980,
- 0x03905000, 0x0000f900, 0x00349cac, 0x00000980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x82781400, 0x0000802c, 0x81010000, 0x00009980,
- 0x3d4b1bac, 0x0000f100, 0x0239af34, 0x00000018, 0x01c97c37, 0x0000801e,
- 0x01000ce0, 0x00009283, 0x00003d7d, 0x0000f013, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x034c9000, 0x00007900, 0x00131fe0, 0x00000980,
- 0x03905000, 0x0000f900, 0x00349cac, 0x00000980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x3d5a1bac, 0x00007500, 0x82781400, 0x0000802c,
- 0x8100f800, 0x00009980, 0x01c00000, 0x0000e180, 0x0011780a, 0x00006186,
- 0x0e01bc07, 0x00006006, 0x012f200a, 0x0000b587, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x04188007, 0x00006187, 0x08001a09, 0x0000b106,
- 0x03466800, 0x0000f900, 0x00131fde, 0x00008980, 0x03898800, 0x00007900,
- 0x0014658a, 0x00000980, 0x02280734, 0x00000026, 0x82781400, 0x0000802c,
- 0x3d6c1bac, 0x00007500, 0x81010800, 0x00006180, 0x01803807, 0x0000c900,
- 0x01c0500a, 0x00001900, 0x0201a034, 0x00006100, 0x0e01bc07, 0x00006006,
- 0x01998735, 0x0000801e, 0x01000ce0, 0x00006283, 0xc1d17a2f, 0x00008900,
- 0x00003da9, 0x0000f013, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x034c9000, 0x00007900, 0x00131fe0, 0x00000980, 0x03905000, 0x0000f900,
- 0x00349cac, 0x00000980, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106,
- 0x00003d4a, 0x00007400, 0x82781400, 0x0000802c, 0x8100f000, 0x00001980,
- 0x3d7e1c02, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x0000e583,
- 0x062524a4, 0x00008901, 0x2b000000, 0x00007910, 0x0000c080, 0x00000980,
- 0xab00f800, 0x0000e190, 0xe9300600, 0x00004911, 0x00003d4f, 0x00007008,
- 0x298d7800, 0x00007900, 0x00131fe0, 0x00000980, 0x29d05000, 0x0000f900,
- 0x00349cac, 0x00000980, 0xa9280500, 0x00006101, 0x08001aa4, 0x00006106,
- 0x3d8f1bd8, 0x0000f500, 0x2979a702, 0x00000a0c, 0x2879af07, 0x00008a08,
- 0x3d933bb7, 0x0000f500, 0x01495800, 0x00007900, 0x00131fde, 0x00008980,
- 0x0120c418, 0x00001900, 0x3d941c02, 0x00007100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x0000e583, 0x062524a4, 0x00008901, 0x2b000000, 0x00007910,
- 0x0000c080, 0x00000980, 0xab010000, 0x0000e190, 0xe9300600, 0x00004911,
- 0x00003d40, 0x00007008, 0x298d7800, 0x00007900, 0x00131fe0, 0x00000980,
- 0x29d05000, 0x0000f900, 0x00349cac, 0x00000980, 0xa9280500, 0x00006101,
- 0x08001aa4, 0x00006106, 0x3da51bd8, 0x00007500, 0x2979a702, 0x00000a0c,
- 0x2879af07, 0x00008a08, 0x3da93bb7, 0x0000f500, 0x014a7000, 0x00007900,
- 0x00131fde, 0x00008980, 0x0120c418, 0x00001900, 0x3daa1c02, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x0000e583, 0x062524a4, 0x00008901,
- 0x2b000000, 0x00007910, 0x0000c080, 0x00000980, 0xab00f000, 0x00006190,
- 0xe9300600, 0x00004911, 0x00003d72, 0x0000f008, 0x298d7800, 0x00007900,
- 0x00131fe0, 0x00000980, 0x29d05000, 0x0000f900, 0x00349cac, 0x00000980,
- 0xa9280500, 0x00006101, 0x08001aa4, 0x00006106, 0x3dbb1bd8, 0x00007500,
- 0x2979a702, 0x00000a0c, 0x2879af07, 0x00008a08, 0x3dbf3bb7, 0x00007500,
- 0x014b9000, 0x00007900, 0x00131fde, 0x00008980, 0x0120c418, 0x00001900,
- 0x81c00ee3, 0x0000e080, 0xc11722e4, 0x00004900, 0x86bba407, 0x00003038,
- 0x86bbb607, 0x00003038, 0x82c03cec, 0x0000f902, 0x01800000, 0x00008604,
- 0x28211000, 0x00007900, 0x003bd09c, 0x00008980, 0x1e000000, 0x00006180,
- 0x0023a808, 0x00006086, 0x1e400000, 0x0000e180, 0x822ba808, 0x0000e086,
- 0x00103806, 0x00006186, 0x041ba808, 0x00003187, 0x81f71ee3, 0x0000e100,
- 0x02404008, 0x0000c900, 0x85805407, 0x00007902, 0x01c00000, 0x00008000,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x80000607, 0x0000e583, 0x18c3a074, 0x00000900, 0x04185006, 0x0000e197,
- 0x04103806, 0x0000b18f, 0x18804809, 0x00001900, 0x02003006, 0x00006100,
- 0x00002006, 0x00006586, 0x18404008, 0x00006100, 0x042ba806, 0x00006087,
- 0x3de01c83, 0x0000f500, 0x8623a806, 0x00006887, 0x18003006, 0x00009900,
- 0xc7202475, 0x0000c389, 0x00602475, 0x00000098, 0xbf601475, 0x0000c489,
- 0x0c601475, 0x00008f9c, 0x00800c75, 0x00004788, 0x89403475, 0x0000888d,
- 0x0f803475, 0x000045a9, 0x01205475, 0x000009b1, 0x3deb20c9, 0x0000f404,
- 0x283bbf76, 0x00008a18, 0x29409900, 0x00001980, 0x00000ca2, 0x00009583,
- 0x30003caf, 0x00002010, 0x00003e6a, 0x00007009, 0xffffffff, 0x00007f86,
- 0x00000c07, 0x00009583, 0x30103caf, 0x0000a08a, 0xdec7f800, 0x00006191,
- 0x81ff1fe3, 0x00004910, 0x301bdcaf, 0x00002088, 0xffffffff, 0x00007f86,
- 0x81c08407, 0x00001088, 0xffffffff, 0x00007f86, 0x72800007, 0x00005084,
- 0x00400000, 0x00008000, 0x00003eb3, 0x00007200, 0x82400000, 0x000080d8,
- 0x3dfe20c9, 0x00007404, 0x283bbf76, 0x00008a18, 0x29409900, 0x00001980,
- 0x00000ca2, 0x00009583, 0x30103caf, 0x0000a092, 0x00003e6a, 0x00007009,
- 0xffffffff, 0x00007f86, 0x00000c07, 0x00009583, 0x00003df9, 0x0000f400,
- 0x302bdcaf, 0x0000a08a, 0xdec7f800, 0x00001991, 0x3e0a20c9, 0x0000f404,
- 0x29409800, 0x00007900, 0x00001000, 0x00000980, 0x29bbb777, 0x00008a00,
- 0x00000ca2, 0x00009583, 0x300404af, 0x0000f912, 0x20400000, 0x00000000,
- 0x300416af, 0x0000f912, 0x20c00000, 0x00008000, 0x00003e6a, 0x0000f008,
- 0x307c20af, 0x0000b038, 0x24000000, 0x00006180, 0x08040006, 0x00006202,
- 0x40000d82, 0x0000e583, 0x01804006, 0x00008880, 0xdee41482, 0x0000e109,
- 0x81c08482, 0x0000c088, 0xdec7f800, 0x00006191, 0x81ff1fe3, 0x00004910,
- 0x003ff884, 0x00007900, 0x0000007e, 0x00000582, 0x0187f806, 0x0000e380,
- 0x24400000, 0x00000980, 0x307c32af, 0x0000b038, 0x307c44af, 0x00003038,
- 0x307c56af, 0x00003038, 0x30bc60af, 0x00003038, 0x30bc72af, 0x00003038,
- 0x72b83007, 0x0000a884, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec,
- 0x27000000, 0x000089f4, 0x00003eb2, 0x0000f430, 0x27800000, 0x000089fc,
- 0x01842084, 0x0000e100, 0x01c00000, 0x0000c998, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03bfc800, 0x0000f900, 0x000c23ba, 0x00008980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x00003e60, 0x0000f400, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02042084, 0x00004900, 0x3e3c20c9, 0x0000f404,
- 0x283bbf76, 0x00008a18, 0x29409900, 0x00001980, 0x00000ca2, 0x00009583,
- 0x300404af, 0x0000f912, 0x20400000, 0x00000000, 0x20800000, 0x0000e190,
- 0x20c00000, 0x00004990, 0x00003e6a, 0x0000f008, 0x21000000, 0x000088d4,
- 0x003ff880, 0x0000f900, 0x0000007e, 0x00000582, 0x21800000, 0x000088dc,
- 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
- 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x00003eb2, 0x0000f430,
- 0x27800000, 0x000089fc, 0x01840080, 0x0000e100, 0x01c00000, 0x0000c998,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03bfc800, 0x0000f900, 0x000c23ba, 0x00008980,
- 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02040080, 0x00004900, 0x01bff83f, 0x00009980,
- 0x3e621bac, 0x00007100, 0x3e6520c9, 0x0000f404, 0x283bbf76, 0x00008a18,
- 0x29409c00, 0x00001980, 0x00000ca2, 0x00009583, 0x30503aaf, 0x00002092,
- 0x00003df9, 0x00007413, 0xffffffff, 0x00007f86, 0x71e03878, 0x00006810,
- 0xb9182304, 0x00001900, 0x200f26ec, 0x00005680, 0x003b2509, 0x0000bf10,
- 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x3e7220c9, 0x0000f404,
- 0x283bbf76, 0x00008a18, 0x29409b00, 0x00009980, 0x00000ca2, 0x00009583,
- 0x30003caf, 0x0000a090, 0x00003df9, 0x00007413, 0xffffffff, 0x00007f86,
- 0x71e03878, 0x00006810, 0x00003e6a, 0x00007000, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x03653000, 0x0000f900, 0x003bd09c, 0x00008980,
- 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x0203a074, 0x00006100,
- 0x08001a09, 0x0000e106, 0x01800775, 0x0000009c, 0x00003e61, 0x00007400,
- 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x02c01002, 0x00004900,
- 0x01c00006, 0x00007900, 0x00000200, 0x00000380, 0x1c800000, 0x000086f8,
- 0x1a000802, 0x0000e180, 0x00003872, 0x00006206, 0x01c0a074, 0x0000e780,
- 0x1a400000, 0x00008980, 0x1b18b000, 0x00007900, 0x000362c0, 0x00000980,
- 0x1b400000, 0x00007900, 0x00010000, 0x00000980, 0x1c401000, 0x00007900,
- 0x0001c000, 0x00000980, 0x1a97f8a0, 0x0000e180, 0x45103872, 0x0000e107,
- 0x1ac00000, 0x0000e180, 0x1bc00006, 0x00004980, 0x1c000000, 0x0000e180,
- 0x1cc00004, 0x00004980, 0xdb981302, 0x00001900, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0090d0ec, 0x00005780,
- 0x00006003, 0x00008080, 0x00003eac, 0x00007000, 0x1bc00004, 0x0000e180,
- 0x9b901202, 0x0000c900, 0x1b009000, 0x0000f900, 0x00012280, 0x00008980,
- 0x1b400000, 0x00007900, 0x00010000, 0x00000980, 0xdb981302, 0x00006100,
- 0x0000186f, 0x0000e106, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x0088d8ec, 0x0000d780, 0x00c06740, 0x000081c0,
+ 0x009010ec, 0x00005780, 0x00006000, 0x00008080, 0x00002bed, 0x0000f000,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008810ec, 0x00005780, 0x00006000, 0x00008080, 0x04400c11, 0x00009081,
+ 0x84208c11, 0x00009900, 0x80102a10, 0x00001502, 0x00002bb2, 0x0000f02b,
+ 0x00000001, 0x0000f080, 0x02c00004, 0x00006180, 0x02400080, 0x0000c980,
+ 0x02006000, 0x00007900, 0x00004000, 0x00000980, 0x02803006, 0x0000e100,
+ 0x0000380b, 0x0000e106, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008810ec, 0x00005780, 0x00006000, 0x00008080,
+ 0x00002c19, 0x00007200, 0x01800800, 0x00001981, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x00001406, 0x00001583, 0x00002c11, 0x0000f00b,
+ 0x00001c06, 0x00009583, 0x02834068, 0x00006108, 0x0003480b, 0x0000e10e,
+ 0x00002c13, 0x0000f009, 0x00002c13, 0x00007400, 0x00000c06, 0x00001583,
+ 0x02832064, 0x00006108, 0x0003280b, 0x0000e10e, 0x02833066, 0x0000e100,
+ 0x0003380b, 0x0000e106, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008810ec, 0x00005780, 0x00006000, 0x00008080,
+ 0x01800c06, 0x00009081, 0x01603406, 0x00009900, 0x00002005, 0x00009502,
+ 0x00002bff, 0x0000f02b, 0x00000001, 0x0000f080, 0x00002c46, 0x00007200,
+ 0x01000000, 0x00001981, 0x00000404, 0x0000e583, 0x17c00004, 0x00000980,
+ 0x0000385f, 0x0000e10e, 0x0003285f, 0x00003116, 0x17803006, 0x0000e108,
+ 0x17832064, 0x0000c910, 0x40000508, 0x0000e583, 0x17400080, 0x00008980,
+ 0x1dc00800, 0x0000e191, 0xa0001071, 0x00006412, 0x00000408, 0x00001583,
+ 0xdf400d77, 0x00006091, 0xc0000871, 0x00002410, 0x41604508, 0x00006303,
+ 0x5dc00d77, 0x00008091, 0x17006000, 0x0000f900, 0x00004000, 0x00000980,
+ 0xd7002000, 0x0000e191, 0x0000185d, 0x0000e416, 0x00002c3d, 0x00007008,
+ 0x00000408, 0x0000e583, 0x8000105d, 0x00002480, 0x0018e0ec, 0x00005780,
+ 0x00006000, 0x00008080, 0xd7003000, 0x00006191, 0x8000085d, 0x0000e401,
+ 0x0010f8ec, 0x00005790, 0x00006000, 0x00008080, 0xd7c01000, 0x00006190,
+ 0x9000085d, 0x0000e411, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x0088b8ec, 0x0000d780, 0x00006000, 0x00008080,
0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0xb9182304, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x02400800, 0x00001981, 0x0c032578, 0x00006806, 0x200aa6ec, 0x0000d680,
- 0x003b23c9, 0x0000bf10, 0xa1400409, 0x0000f893, 0xf9c00000, 0x00009f84,
- 0x16000000, 0x000085e4, 0x16800000, 0x000085ec, 0x17000000, 0x000085f4,
- 0x17800000, 0x000085fc, 0x01000000, 0x000080d4, 0x01800000, 0x000080dc,
- 0x02000000, 0x000080e4, 0x02800000, 0x000080ec, 0x83000000, 0x000085c0,
- 0x14400000, 0x000005c8, 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8,
- 0x15c00000, 0x00009980, 0xd9a00a02, 0x0000498f, 0x9a61051c, 0x00000f8d,
- 0x08017c1d, 0x00006884, 0x8f80e0ec, 0x0000a084, 0x0760efe4, 0x00001800,
- 0xffffffff, 0x00007f97, 0x0760ec1c, 0x00001401, 0x8f80e8ec, 0x0000a884,
- 0x0745070c, 0x00009281, 0x0005041d, 0x00009583, 0x4706050d, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00003efc, 0x0000f010, 0x00003efc, 0x0000f008,
- 0x82c0ecec, 0x00007902, 0x07000000, 0x00000604, 0x28062000, 0x00007900,
- 0x003bd09e, 0x00000980, 0x95507000, 0x0000e180, 0x15001002, 0x00004900,
- 0x18907000, 0x0000e180, 0x18c01002, 0x0000c900, 0x87771ee3, 0x00006100,
- 0x0010e81c, 0x00006186, 0x8580f41d, 0x0000f902, 0x07400000, 0x00000000,
- 0xffffffff, 0x00007fa7, 0x8000061d, 0x00009583, 0x0410e81c, 0x0000e18f,
- 0x0000f01c, 0x0000b197, 0xffffffff, 0x00007f86, 0x0780e01c, 0x00009900,
- 0x07000000, 0x00007900, 0x00038080, 0x00008980, 0x3eeb1c83, 0x00007500,
- 0x1840f01e, 0x00006100, 0x0000201c, 0x0000e586, 0x1800e01c, 0x00009900,
- 0x14c00004, 0x0000e180, 0x60001004, 0x0000e403, 0x60001005, 0x00006403,
- 0x7000080c, 0x00003500, 0x14009000, 0x0000f900, 0x00012280, 0x00008980,
- 0x14400000, 0x00007900, 0x00010000, 0x00000980, 0x0c026558, 0x00006006,
- 0xa0001004, 0x0000b403, 0x0000a0ec, 0x0000d780, 0x00006001, 0x00000080,
- 0x94901202, 0x0000e100, 0x00001853, 0x0000e106, 0x00003efd, 0x00007400,
- 0x14827d02, 0x000001bd, 0x0707f000, 0x00009981, 0x8702a0ff, 0x000081fd,
- 0x07af2000, 0x0000f900, 0x001f8008, 0x00000980, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x0410f81e, 0x0000e101, 0x00001004, 0x00003402,
- 0x2038f6ec, 0x0000d600, 0x003a6000, 0x00000000, 0xc0206407, 0x000000cd,
- 0x8060e41c, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x200f26ec, 0x00005680, 0x003a6509, 0x0000bf10, 0x00503000, 0x0000f900,
- 0x00007fd0, 0x00008980, 0xc0003800, 0x00006181, 0x60001004, 0x00006402,
- 0x80c00000, 0x00001981, 0xc8400a02, 0x00007897, 0x01c00001, 0x00008080,
- 0x40001008, 0x0000e402, 0x00001007, 0x00003402, 0xe0001008, 0x00006403,
- 0x40005007, 0x0000b406, 0xffffffff, 0x00007f86, 0xffc00000, 0x00006180,
- 0x87371ee3, 0x0000c900, 0x85b8ec1c, 0x0000a080, 0x07000002, 0x00001980,
- 0xffffffff, 0x00007f97, 0xc720ec1d, 0x00001900, 0x770000ec, 0x00005680,
- 0x0038e000, 0x00000000, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x40001008, 0x0000e402, 0x40001009, 0x00003402, 0x01c55000, 0x00006181,
- 0x60001008, 0x0000e403, 0x00003f16, 0x0000f400, 0x80005009, 0x00006406,
- 0xc0001008, 0x0000b403, 0x40001007, 0x0000ec03, 0xa0000ee3, 0x0000e080,
- 0x01000000, 0x0000c980, 0x86baa480, 0x0000b038, 0x86bab680, 0x0000b038,
- 0xa0371ee3, 0x0000e100, 0x01400000, 0x00004980, 0x281d7000, 0x00007900,
- 0x0020d7c6, 0x00000980, 0x01800000, 0x00006180, 0x0022a84f, 0x0000e086,
- 0x01c00000, 0x0000e180, 0x822aa84f, 0x00006086, 0x02000000, 0x0000e180,
- 0x041aa84f, 0x0000e187, 0x1400074f, 0x000080a4, 0x02800000, 0x000080ec,
- 0x83000000, 0x000005e0, 0x16400000, 0x000005e8, 0x16c00000, 0x000085f0,
- 0x17400000, 0x000005f8, 0x82c274ec, 0x00007902, 0x13400000, 0x00008604,
- 0x85ba6c80, 0x00002000, 0x17c00000, 0x00006180, 0x18c2a054, 0x0000c900,
- 0x18828050, 0x00001900, 0x00127051, 0x0000e986, 0x85ba7480, 0x0000a080,
- 0x8000064d, 0x00009583, 0x04126851, 0x0000e18f, 0x0000204d, 0x00003586,
- 0x042aa84d, 0x00006887, 0x8622a84d, 0x00006087, 0x041a7051, 0x00003197,
- 0x3f4e1c83, 0x0000f500, 0x1802684d, 0x00009900, 0x18428851, 0x00001900,
- 0x18206c55, 0x00004388, 0x00806c55, 0x00000098, 0x1c805c55, 0x00004188,
- 0x00806455, 0x00000090, 0x47800a02, 0x0000788e, 0xc2000000, 0x00002088,
- 0x21800a02, 0x00004694, 0x24807455, 0x0000908a, 0x34c08455, 0x0000f8b2,
- 0x22000000, 0x0000a087, 0x4b400a02, 0x0000788e, 0x2a000000, 0x0000a08a,
- 0x307b20af, 0x00003038, 0x60000000, 0x000001d5, 0x303b04af, 0x0000b038,
- 0x303b16af, 0x0000b038, 0xc0080364, 0x00009582, 0xc0100364, 0x00006582,
- 0xa0000800, 0x00008990, 0x85400800, 0x00001990, 0x307b32af, 0x00003038,
- 0x05640415, 0x00009203, 0x307b44af, 0x0000b038, 0x307b56af, 0x0000b038,
- 0x30bb60af, 0x0000b038, 0x30bb72af, 0x0000b038, 0x30bb84af, 0x0000b038,
- 0x30bb96af, 0x0000b038, 0x30fba0af, 0x00003038, 0x30fbb2af, 0x00003038,
- 0x30fbc4af, 0x0000b038, 0x30fbd6af, 0x0000b038, 0x00003f83, 0x00007408,
- 0x313be0af, 0x00003038, 0x313bf2af, 0x00003038, 0xc0200364, 0x00006582,
- 0xa0000000, 0x00008980, 0xa0000800, 0x00006190, 0x85400000, 0x00004980,
- 0xc0000364, 0x00007900, 0x00000002, 0x00008582, 0x85400800, 0x00001990,
- 0xffffffff, 0x00007f86, 0x00240415, 0x0000780c, 0x00000000, 0x00000000,
- 0xdfc00364, 0x0000788b, 0x01c00005, 0x00008060, 0xe283fe60, 0x0000f8b3,
- 0x29c00000, 0x00009f8c, 0x00003fec, 0x0000f400, 0x01c00000, 0x0000e180,
- 0x0202a054, 0x00004900, 0x81faa864, 0x00000018, 0x8003fe60, 0x00001583,
- 0x00003f8a, 0x00007033, 0x00004056, 0x0000f400, 0x01400000, 0x00006180,
- 0x01c2a054, 0x00004900, 0x81730660, 0x00006100, 0x0182a855, 0x0000c900,
- 0x07000000, 0x000081f4, 0x07c00000, 0x000082c4, 0x08800000, 0x000082cc,
- 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a800000, 0x000082ec,
- 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4,
- 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc,
- 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4,
- 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4, 0x10800000, 0x000084cc,
- 0x11000000, 0x000084d4, 0x11800000, 0x000084dc, 0x12000000, 0x000084e4,
- 0x12800000, 0x000084ec, 0x85442364, 0x00006080, 0x85ef2004, 0x00008980,
- 0x20000000, 0x00001981, 0xeb10aa17, 0x0000f82b, 0x01c00001, 0x00008080,
- 0x20000c80, 0x00006081, 0x85d0aa17, 0x00008100, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xe950aa17, 0x00007823,
- 0x01c00001, 0x00008080, 0x0000080a, 0x0000e402, 0x00001005, 0x00003403,
- 0x8000080a, 0x00006402, 0x00000807, 0x00003402, 0x87640480, 0x0000e101,
- 0x0000080a, 0x00006403, 0x07840000, 0x0000e180, 0x4000080a, 0x0000e403,
- 0x20000865, 0x00006180, 0x80001004, 0x0000a403, 0xe0000808, 0x00006403,
- 0xd0000809, 0x00003401, 0x7000480c, 0x0000e500, 0x40005005, 0x0000b407,
- 0x40002807, 0x0000e406, 0xc000080a, 0x00003403, 0x073b5564, 0x00008220,
- 0x0a4be76b, 0x00008202, 0x080bfc7f, 0x00008102, 0x44600400, 0x000081cd,
- 0x000040f1, 0x00007400, 0x05400000, 0x000081ec, 0x05c04080, 0x0000e080,
- 0xc7b30660, 0x0000c900, 0x307b32af, 0x00003038, 0x60000000, 0x000001f1,
- 0x303b04af, 0x0000b038, 0x303b16af, 0x0000b038, 0x80080266, 0x00001582,
- 0x80100266, 0x0000e582, 0xa0000800, 0x00008990, 0x87000800, 0x00001990,
- 0x307b20af, 0x00003038, 0x0724041c, 0x00009203, 0x307b44af, 0x0000b038,
- 0x307b56af, 0x0000b038, 0x30bb60af, 0x0000b038, 0x30bb72af, 0x0000b038,
- 0x30bb84af, 0x0000b038, 0x30bb96af, 0x0000b038, 0x30fba0af, 0x00003038,
- 0x30fbb2af, 0x00003038, 0x30fbc4af, 0x0000b038, 0x30fbd6af, 0x0000b038,
- 0x00003ff7, 0x00007408, 0x313be0af, 0x00003038, 0x313bf2af, 0x00003038,
- 0x80200266, 0x0000e582, 0xa0000000, 0x00008980, 0xa0000800, 0x00006190,
- 0x87000000, 0x00004980, 0x80000266, 0x0000f900, 0x00000002, 0x00008582,
- 0x87000800, 0x00001990, 0xffffffff, 0x00007f86, 0x0724041c, 0x00009203,
- 0x80000266, 0x0000f900, 0x00000004, 0x00008582, 0xffffffff, 0x00007f86,
- 0x00003ff7, 0x0000f008, 0x00003ff7, 0x0000f008, 0x01c00000, 0x0000e180,
- 0x0202a054, 0x00004900, 0x01faac66, 0x00008018, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x03745000, 0x0000f900, 0x003bd0a4, 0x00000980,
- 0x0380d800, 0x00007900, 0x000f4442, 0x00008980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x000040f0, 0x0000f400, 0x82781400, 0x0000802c,
- 0x81003800, 0x00009980, 0x07000000, 0x000081f8, 0x08400000, 0x00006180,
- 0x1783001c, 0x00006000, 0x08800000, 0x00006180, 0x3043001c, 0x00006000,
- 0x0c000000, 0x000083c4, 0x07400000, 0x000081fc, 0x08000000, 0x000002cc,
- 0x0b800000, 0x000082fc, 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4,
- 0x0d800000, 0x000083dc, 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec,
- 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4,
- 0x10800000, 0x000084cc, 0x11000000, 0x000084d4, 0x11800000, 0x000084dc,
- 0x12000000, 0x000084e4, 0x12800000, 0x000084ec, 0x0a3b4f68, 0x00000224,
- 0x0b3b5f6a, 0x00000234, 0x283b4f68, 0x00008a18, 0x29409900, 0x00006180,
- 0x87933266, 0x00004900, 0xc8533a67, 0x0000e100, 0xc7330660, 0x00004900,
- 0x401720c9, 0x0000f404, 0x488bf861, 0x00008302, 0x8c5b3b67, 0x00009900,
- 0x21800ca2, 0x0000f88a, 0x02000001, 0x00008080, 0x017f8005, 0x00007900,
- 0x003ffffe, 0x00008280, 0xc4000fe2, 0x0000e283, 0x60000805, 0x00002402,
- 0x20001000, 0x00006189, 0x20000800, 0x00004991, 0xc40017e2, 0x0000e283,
- 0x81455000, 0x00008981, 0x40001009, 0x00006402, 0x0000a80a, 0x00003482,
- 0x00240005, 0x0000e002, 0x80001004, 0x00003403, 0x20000800, 0x00006191,
- 0x20001000, 0x00004989, 0x60001008, 0x0000e403, 0x80005009, 0x00003406,
- 0x81c2a855, 0x000000eb, 0x303924af, 0x0000b038, 0x303934af, 0x00003038,
- 0x40001006, 0x00006402, 0x7000080c, 0x00003500, 0x20a40005, 0x0000e002,
- 0xc0001004, 0x0000b403, 0xc0000808, 0x0000e403, 0xd0000809, 0x00003401,
- 0x40001007, 0x00006403, 0xa000280a, 0x00003407, 0x0abb5f6a, 0x0000022c,
- 0x44400400, 0x000001c8, 0x05400000, 0x000001d8, 0x05c04065, 0x00006080,
- 0x06004065, 0x00004880, 0x000040f1, 0x00007400, 0x06c00000, 0x000081e8,
- 0xc413fa7f, 0x00001900, 0x303b04af, 0x0000b038, 0x303b16af, 0x0000b038,
- 0x307b20af, 0x00003038, 0x307b32af, 0x00003038, 0x13420460, 0x00006283,
- 0x1b000000, 0x00008980, 0x307b44af, 0x0000b038, 0x307b56af, 0x0000b038,
- 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8,
- 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0,
- 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x00004062, 0x0000f408,
- 0x1f400000, 0x000007f8, 0xc7bb0760, 0x00006110, 0x1fc00000, 0x0000c980,
- 0xc003ff60, 0x00001583, 0x01400000, 0x00006198, 0x01c2a054, 0x00004918,
- 0x817b0760, 0x00006118, 0x0182a855, 0x0000c918, 0x00004062, 0x0000f030,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x03757000, 0x0000f900,
- 0x003bd0a4, 0x00000980, 0x038b5000, 0x0000f900, 0x000ea53a, 0x00000980,
- 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106, 0x82781400, 0x0000802c,
- 0x000040f0, 0x0000f400, 0x02004f07, 0x00000091, 0x01c02805, 0x00001900,
- 0x13410460, 0x00009283, 0x93400000, 0x00006190, 0xa0000000, 0x0000c990,
- 0x00004080, 0x0000f009, 0x80080263, 0x00001582, 0x80100263, 0x0000e582,
- 0xa0000800, 0x00008990, 0x93400800, 0x00009990, 0xffffffff, 0x00007f86,
- 0x1364044d, 0x00009203, 0x93400000, 0x00006190, 0xa0000000, 0x0000c990,
- 0x0000407f, 0x0000f009, 0x80200263, 0x00001582, 0xa0000800, 0x00001990,
- 0x80000263, 0x0000f900, 0x00000002, 0x00008582, 0x93400800, 0x00009990,
- 0xffffffff, 0x00007f86, 0x1364044d, 0x00009203, 0x80000263, 0x0000f900,
- 0x00000004, 0x00008582, 0xffffffff, 0x00007f86, 0x0000407f, 0x00007008,
- 0x0000407f, 0x00007008, 0x00003fec, 0x0000f400, 0x01c00000, 0x0000e180,
- 0x0202a054, 0x00004900, 0x01faac63, 0x00008018, 0xc7131a63, 0x00001900,
- 0x13400c60, 0x00009283, 0x80000804, 0x0000e413, 0x00015007, 0x00003492,
- 0xe0001008, 0x00006c13, 0x000040f1, 0x00007008, 0x000040f1, 0x0000f000,
- 0x40873f09, 0x0000f100, 0x303b04af, 0x0000b038, 0x303b16af, 0x0000b038,
- 0x307b20af, 0x00003038, 0x307b32af, 0x00003038, 0x13410460, 0x00006283,
- 0x1c000000, 0x00000980, 0xc73b0760, 0x0000e110, 0x1c400000, 0x00004980,
- 0x13408460, 0x00006283, 0x1c800000, 0x00008980, 0x307b44af, 0x0000b038,
- 0x307b56af, 0x0000b038, 0x30bb60af, 0x0000b038, 0x30bb72af, 0x0000b038,
- 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0,
- 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0, 0x000040b9, 0x0000f408,
- 0x1f400000, 0x000007f8, 0x1fc00000, 0x0000e180, 0xa0000000, 0x0000c990,
- 0x80080264, 0x00006582, 0x87800000, 0x00000980, 0x80100264, 0x00006582,
- 0xa0000800, 0x00008990, 0x87800800, 0x00009990, 0xffffffff, 0x00007f86,
- 0x07a4041e, 0x00009203, 0x87800000, 0x00006190, 0xa0000000, 0x0000c990,
- 0x000040b8, 0x00007009, 0x80200264, 0x00009582, 0xa0000800, 0x00001990,
- 0x80000264, 0x00007900, 0x00000002, 0x00008582, 0x87800800, 0x00009990,
- 0xffffffff, 0x00007f86, 0x07a4041e, 0x00009203, 0x80000264, 0x00007900,
- 0x00000004, 0x00008582, 0xffffffff, 0x00007f86, 0x000040b8, 0x0000f008,
- 0x000040b8, 0x0000f008, 0x00003fec, 0x0000f400, 0x01c00000, 0x0000e180,
- 0x0202a054, 0x00004900, 0x01faac64, 0x00000018, 0x87932264, 0x00001900,
- 0x13401460, 0x00009283, 0x0700201c, 0x00001390, 0x000040f1, 0x0000f009,
- 0x1342041c, 0x00001283, 0x000040f1, 0x00007013, 0x000040f1, 0x00007400,
- 0x80188a12, 0x00001502, 0x16001058, 0x00001388, 0x18000000, 0x000086c4,
- 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
- 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1fc00000, 0x000087f8,
- 0x3c400a02, 0x0000788e, 0x1a000000, 0x0000a089, 0x18000000, 0x000086c4,
- 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
- 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x000040f1, 0x00007400, 0x1f000000, 0x000087f4,
- 0x1fc00000, 0x000087f8, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x035ca800, 0x00007900, 0x003bd09c, 0x00008980, 0x03ba9000, 0x00007900,
- 0x0016f7fa, 0x00008980, 0x0202a054, 0x00006100, 0x08001a09, 0x0000e106,
- 0x01800755, 0x0000809c, 0x82600500, 0x00008026, 0x81002800, 0x00006180,
- 0x02c01002, 0x00004900, 0x40f11bac, 0x00007100, 0x1346f800, 0x00009980,
- 0x00503000, 0x0000f900, 0x0004c010, 0x00008980, 0x200aa6ec, 0x0000d680,
- 0x003a61c9, 0x00003f10, 0xa0371ee3, 0x0000e100, 0x80626c4d, 0x00004901,
- 0x85ba6c80, 0x0000a080, 0xc0c06000, 0x00006180, 0x0c026558, 0x00006006,
- 0x14c00000, 0x00006180, 0x13000002, 0x00004980, 0x00001853, 0x0000e106,
- 0x60001004, 0x00003402, 0xd3226c4d, 0x00006100, 0x40001806, 0x00006403,
- 0x14009000, 0x0000f900, 0x00032240, 0x00000980, 0x14400000, 0x00007900,
- 0x00018008, 0x00000980, 0xc0009800, 0x00006181, 0xc0001853, 0x00006006,
- 0x770000ec, 0x00005680, 0x003a6000, 0x00000000, 0x14801002, 0x00001900,
- 0x0080a6ec, 0x0000df80, 0x00986003, 0x000009c4, 0x411020c9, 0x0000f404,
- 0x29409800, 0x00007900, 0x00002000, 0x00000980, 0x29bab757, 0x00008a00,
- 0xf1000ca2, 0x00007893, 0x31c00000, 0x00002084, 0x411620c9, 0x0000f404,
- 0x29409800, 0x00007900, 0x00002000, 0x00000980, 0x29bab757, 0x00008a00,
- 0xd6800ca2, 0x0000f893, 0x31c00000, 0x00002084, 0x411c20c9, 0x0000f404,
- 0x29409800, 0x00007900, 0x00001000, 0x00000980, 0x29bab757, 0x00008a00,
- 0x21c00ca2, 0x00007892, 0x32000000, 0x00002084, 0x412120c9, 0x00007404,
- 0x283abf56, 0x00008a18, 0x29409e00, 0x00009980, 0x0f000ca2, 0x00007892,
- 0x32000000, 0x00002084, 0x1340241c, 0x0000e283, 0x1640c018, 0x00000900,
- 0x20000000, 0x00001988, 0x20000000, 0x00001990, 0x0000412a, 0x0000f008,
- 0x80188a12, 0x00001502, 0x20000800, 0x00009990, 0x000040f1, 0x00007400,
- 0xffffffff, 0x00007f86, 0x41240058, 0x00006800, 0x40001008, 0x0000e402,
- 0x00001007, 0x00003402, 0xe0001008, 0x00006403, 0x40001007, 0x0000b402,
- 0x7000880c, 0x0000e500, 0x60000807, 0x00003402, 0x18000000, 0x000086c4,
- 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
- 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x000040f2, 0x00007400,
- 0x1f800000, 0x000087fc, 0x1346e000, 0x00009980, 0x40001008, 0x0000e402,
- 0x00015007, 0x0000b482, 0x40001009, 0x00006402, 0x60001008, 0x0000b403,
- 0x00004131, 0x0000f400, 0x40001007, 0x00006403, 0x80005009, 0x00003406,
- 0xc0001008, 0x00006c03, 0x8fa03aec, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x80105a07, 0x00009502, 0x8f8038ec, 0x0000208c, 0x00004156, 0x0000f011,
- 0xffffffff, 0x00007f86, 0x03000c07, 0x00001283, 0x01c00c07, 0x00009491,
- 0x8f8038ec, 0x0000a894, 0x8fa03cec, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x80105a07, 0x00009502, 0x8f8058ec, 0x0000208c, 0x00000001, 0x0000f091,
- 0xffffffff, 0x00007f86, 0x01c0140b, 0x00009283, 0x00000001, 0x00007480,
- 0x02c0140b, 0x00009491, 0x8f8058ec, 0x0000a894, 0xffc00000, 0x00001980,
- 0xffffffff, 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0xc802070c, 0x0000e283, 0x9807c800, 0x00008981, 0x9842a000, 0x0000e180,
- 0x982f2004, 0x00004980, 0x07000000, 0x000081f4, 0x07800000, 0x000081fc,
- 0x01000000, 0x000080d4, 0x01800000, 0x000080dc, 0x02000000, 0x000080e4,
- 0x000042aa, 0x0000f410, 0x02800100, 0x000000ec, 0x03000000, 0x0000e181,
- 0x0e006c20, 0x0000600a, 0xffffffff, 0x00007f86, 0x50000420, 0x00004490,
- 0xaa809d11, 0x0000900c, 0x45e00431, 0x0000c988, 0xda800c40, 0x00001093,
- 0x09000000, 0x00001980, 0x00000042, 0x00009582, 0x09000800, 0x00001990,
- 0xffffffff, 0x00007f86, 0x00000424, 0x00009583, 0x98bf1fe3, 0x00001910,
- 0x72b90062, 0x00002094, 0x000042b7, 0x00007008, 0xffffffff, 0x00007f97,
- 0x00021820, 0x00001502, 0x98408261, 0x000061a0, 0x24400000, 0x000089a0,
- 0x24800000, 0x000061a0, 0x24c00000, 0x0000c9a0, 0x0000421c, 0x00007028,
- 0x88198330, 0x00006300, 0x25000000, 0x0000c980, 0x08510631, 0x0000e000,
- 0x25400000, 0x00004980, 0x00010842, 0x0000e502, 0x25800000, 0x00008980,
- 0x26400000, 0x000089f8, 0x88318e31, 0x0000e118, 0x27c00000, 0x00004980,
- 0x000042c3, 0x0000f030, 0x88804260, 0x0000e180, 0xa7510a21, 0x00000900,
- 0x2c3c0220, 0x00007900, 0x0000003e, 0x00000680, 0x88c588b0, 0x00001000,
- 0x18b10020, 0x00008935, 0x08110842, 0x0000e100, 0x88911a22, 0x00000000,
- 0x00000020, 0x0000e582, 0x88c01a21, 0x00000080, 0x88ffe223, 0x00007900,
- 0x0000003e, 0x00008280, 0x243d071b, 0x0000891c, 0x26205f41, 0x000009a6,
- 0x26ba2f44, 0x0000092c, 0x000042ca, 0x0000f410, 0x2718af43, 0x00000934,
- 0x10910842, 0x00006100, 0x98111a22, 0x00008100, 0x18800c30, 0x00006281,
- 0x20002099, 0x00002406, 0x08000c62, 0x0000e481, 0xc4c00b13, 0x00000080,
- 0x18910aec, 0x0000e100, 0x51610099, 0x0000a000, 0x0c400c31, 0x0000e181,
- 0x0800f862, 0x00000784, 0x0800f020, 0x00009780, 0x18910820, 0x00009100,
- 0x0c3ff030, 0x0000f900, 0x003ffffe, 0x00008280, 0x18800800, 0x0000e181,
- 0x08401862, 0x00004280, 0x08001430, 0x0000e283, 0x08410021, 0x00000100,
- 0x88119b13, 0x00006110, 0x20a10899, 0x0000a002, 0x88007a20, 0x0000e790,
- 0x85c1809f, 0x00002011, 0xe6589b13, 0x00006108, 0x10610030, 0x0000e010,
- 0x00000424, 0x00006583, 0xe6519a33, 0x00008910, 0x00004208, 0x0000f00b,
- 0x08c00000, 0x0000e180, 0x09804043, 0x00004780, 0x000838ec, 0x0000d780,
- 0x00006000, 0x00008080, 0x8a002302, 0x0000e780, 0x00001823, 0x0000a106,
- 0x09800026, 0x0000f900, 0x00000200, 0x00000380, 0x081cb000, 0x00007900,
- 0x00022140, 0x00008980, 0x08400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x09401000, 0x0000f900, 0x0001c000, 0x00000980, 0x000040ec, 0x00005780,
- 0x00c06101, 0x00008288, 0xc0001823, 0x0000e006, 0x45114026, 0x0000b107,
- 0x07000802, 0x0000e180, 0x07400000, 0x00004980, 0x0797f880, 0x00006180,
- 0x07c00000, 0x0000c980, 0x09000000, 0x00006180, 0x09c00004, 0x0000c980,
- 0x08a01502, 0x00008208, 0x0a400000, 0x00007900, 0x001f8000, 0x00008980,
- 0xc0189b11, 0x00006502, 0x00130029, 0x0000a186, 0xc419a334, 0x0000e108,
- 0x04130829, 0x00006101, 0xc411a234, 0x0000e110, 0x00001004, 0x00006402,
- 0x00000462, 0x0000e583, 0xd0000809, 0x0000a401, 0x20394eec, 0x00005600,
- 0x003d0000, 0x00008000, 0x001800ec, 0x0000d780, 0x00005801, 0x00008080,
- 0x0a000000, 0x000082e8, 0x0ac00000, 0x000082f0, 0x000042b1, 0x0000f408,
- 0x0b400000, 0x000002f8, 0x0bc00000, 0x000002e4, 0x00503000, 0x0000f900,
- 0x0004c010, 0x00008980, 0xc0205411, 0x000080cd, 0x80730660, 0x00001901,
- 0x008066ec, 0x0000df80, 0x00985c81, 0x00008384, 0x08801430, 0x00006283,
- 0x88000b13, 0x00008080, 0x88119a20, 0x0000e110, 0x26618001, 0x00008980,
- 0x27c00000, 0x00006180, 0x88007a20, 0x00004790, 0xe6519a33, 0x00006110,
- 0x85c1809f, 0x0000e011, 0xe6510220, 0x00006108, 0x10610030, 0x0000e010,
- 0x27400020, 0x00006180, 0x0c400c31, 0x00004181, 0x8842a000, 0x00006180,
- 0x98404261, 0x00004180, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8,
- 0x26800000, 0x000089ec, 0x27000000, 0x000089f8, 0x25fa2fa0, 0x00008904,
- 0x24ba0f44, 0x00000920, 0x2400d81b, 0x0000e100, 0x98046260, 0x00004180,
- 0xc4c00b13, 0x00006080, 0xe778af15, 0x00000901, 0x08000ce0, 0x00009283,
- 0x000043c7, 0x00007013, 0x18800800, 0x00009981, 0x08c00000, 0x0000e180,
- 0x09804043, 0x00004780, 0x8a002302, 0x0000e780, 0x00001823, 0x0000a106,
- 0x09800026, 0x0000f900, 0x00000200, 0x00000380, 0x0804b000, 0x00007900,
- 0x00022180, 0x00008980, 0x08400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x09400000, 0x00007900, 0x00010000, 0x00000980, 0x000040ec, 0x00005780,
- 0x00c06101, 0x00008288, 0xc0001823, 0x0000e006, 0x45114026, 0x0000b107,
- 0x000041d4, 0x00007400, 0x09000000, 0x00006180, 0x09c00004, 0x0000c980,
- 0x08a01502, 0x00008208, 0x98b71ee3, 0x00009900, 0x8e80e062, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x0002041c, 0x00009583, 0x01972820, 0x00006230,
- 0x01c00000, 0x000009b0, 0x01000000, 0x00007930, 0x0000c040, 0x00000980,
- 0x00004329, 0x0000f018, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03a49000, 0x00007900, 0x000f8fa2, 0x00008980, 0x81001000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x422f1bac, 0x00007500, 0x82600500, 0x00008026,
- 0x02172843, 0x0000e200, 0x02c01002, 0x00008900, 0x88189b11, 0x00006100,
- 0x8843fb13, 0x00008280, 0x80002220, 0x00006582, 0x98840000, 0x00000980,
- 0x89910a62, 0x00006100, 0x0a709e11, 0x00000131, 0x08402a21, 0x00006080,
- 0x0a402000, 0x0000c999, 0x0800f821, 0x0000e784, 0x09c00400, 0x00000980,
- 0x08c1e021, 0x00006002, 0x75e80027, 0x00002101, 0x0881e820, 0x0000e004,
- 0x0c614c29, 0x00000901, 0x80214a26, 0x00006502, 0x88002c29, 0x00000880,
- 0x0a000000, 0x0000f900, 0x000014c4, 0x00000980, 0x883ffa20, 0x00007900,
- 0x00000002, 0x00008280, 0x08400000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x88402c29, 0x00006080, 0x00110028, 0x0000e106, 0x000043db, 0x0000f428,
- 0x89e80500, 0x0000e120, 0x08320004, 0x0000c980, 0xc8181302, 0x00001900,
- 0x703940ec, 0x0000d600, 0x00393800, 0x00008000, 0x703918ec, 0x00005600,
- 0x00391000, 0x00008000, 0x703908ec, 0x0000d600, 0x00390000, 0x00000000,
- 0x00c802ec, 0x00005f80, 0x1412980a, 0x000014c4, 0x7b400c40, 0x0000f892,
- 0xb2000000, 0x0000a08b, 0x08001430, 0x0000e283, 0x26698001, 0x00000980,
- 0x88119b11, 0x0000e110, 0x27c00000, 0x00008980, 0x08c00000, 0x0000e180,
- 0x88007a20, 0x00004790, 0x85c1809f, 0x0000e011, 0x00001823, 0x00003106,
- 0x27400020, 0x00006180, 0x10610030, 0x0000e010, 0x09800100, 0x00006180,
- 0x98802302, 0x0000c780, 0xe6588b11, 0x00006108, 0xe6519a33, 0x00004910,
- 0xc403071b, 0x00006283, 0x40001805, 0x0000a403, 0x08400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x09400000, 0x00007900, 0x00010000, 0x00000980,
- 0x000040ec, 0x00005780, 0x00c06101, 0x00008288, 0xc0001823, 0x0000e006,
- 0x45131026, 0x00003107, 0x0804b000, 0x00007900, 0x00022180, 0x00008980,
- 0x5840004c, 0x000009c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000009e8, 0x26c00000, 0x000089f0, 0x27800000, 0x0000e180,
- 0x25c500a0, 0x00004900, 0x2400d81b, 0x0000e100, 0x98042260, 0x0000c180,
- 0x09000000, 0x00006180, 0x09c00004, 0x0000c980, 0x08a81402, 0x00008208,
- 0x000041d4, 0x00007400, 0xe778af15, 0x0000e101, 0x26080017, 0x0000c090,
- 0x18800000, 0x00006181, 0x2600b817, 0x0000c908, 0x0a000c30, 0x00006283,
- 0x8b589b13, 0x00008900, 0x8b802313, 0x00006188, 0x0ac04115, 0x00008880,
- 0x000043fe, 0x0000f011, 0x8a03fa2e, 0x0000e280, 0x98840000, 0x00000980,
- 0x98d14262, 0x0000e100, 0x19400400, 0x00000980, 0x0a002a28, 0x00006080,
- 0x75e80065, 0x0000e101, 0x0b01e028, 0x00006002, 0x0bc0f828, 0x00008784,
- 0x0a01e82f, 0x0000e004, 0x0bf20004, 0x00000980, 0x80001a63, 0x00006582,
- 0x18814028, 0x00008900, 0x19840000, 0x00007900, 0x000014c4, 0x00000980,
- 0x19040000, 0x0000f900, 0x00007fc0, 0x00000980, 0x00004402, 0x0000f230,
- 0x99680500, 0x00006118, 0xcbd81302, 0x00004900, 0xffffffff, 0x00007f86,
- 0x700400ec, 0x00005680, 0x003b2cc4, 0x00000010, 0x703960ec, 0x00005600,
- 0x00394000, 0x00008000, 0x700400ec, 0x00005680, 0x00397fc0, 0x00008078,
- 0x00c802ec, 0x00005f80, 0x1415080a, 0x000094c4, 0x00000440, 0x00001583,
- 0x0a117311, 0x00001110, 0x000042dc, 0x00007009, 0x00199028, 0x00009502,
- 0x000042dc, 0x0000f043, 0x00015841, 0x00001502, 0x8b80222e, 0x000091d8,
- 0x000042dc, 0x00007071, 0x00004285, 0x00007000, 0x4800650d, 0x0000e283,
- 0x00015007, 0x00002482, 0x9807f800, 0x0000e189, 0xe0001008, 0x00006403,
- 0x18800000, 0x00009989, 0x00004361, 0x00007010, 0x000041d4, 0x0000f000,
- 0x00503000, 0x0000f900, 0x0004c010, 0x00008980, 0xc0206413, 0x000000cd,
- 0x80730660, 0x00001901, 0x008066ec, 0x0000df80, 0x00005803, 0x00008084,
- 0x88198330, 0x00006300, 0x98404261, 0x00004180, 0x08510631, 0x0000e000,
- 0x24400000, 0x0000c980, 0x00010842, 0x0000e502, 0x24800000, 0x00000980,
- 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x0000418f, 0x0000f418,
- 0x26400000, 0x000089f8, 0x88318e31, 0x0000e118, 0x27c00000, 0x00004980,
- 0x08400842, 0x00001180, 0x88521242, 0x00006100, 0x18810b30, 0x00004000,
- 0x08110062, 0x00001700, 0x0000418f, 0x0000f400, 0x80000220, 0x00001582,
- 0x88000800, 0x00001988, 0x11022221, 0x00006002, 0x08000c30, 0x00000281,
- 0x08000c20, 0x0000e481, 0x0c000830, 0x00000380, 0x11400045, 0x00006084,
- 0x51610099, 0x0000a000, 0x18800000, 0x00006181, 0x08004462, 0x0000c880,
- 0x08001430, 0x0000e283, 0x10420820, 0x00008000, 0x88119b13, 0x00006110,
- 0x85c1809f, 0x00002011, 0x88007a20, 0x0000e790, 0xe6589b13, 0x00008908,
- 0xe6519a33, 0x00006110, 0x10610030, 0x0000e010, 0x6ec00424, 0x0000f892,
- 0x42000000, 0x0000a180, 0x0a001800, 0x00009981, 0x00000458, 0x00001583,
- 0x000043bb, 0x0000f00b, 0x5c615f59, 0x00004458, 0x4080a058, 0x0000100f,
- 0x1b400c14, 0x0000c589, 0x0be00c58, 0x00000d95, 0x0a517428, 0x00001000,
- 0x0a414b11, 0x00001100, 0x00199029, 0x00001502, 0x0a403c28, 0x000090c8,
- 0x0a000c28, 0x0000e1c9, 0x78401c29, 0x000008c9, 0x000043bb, 0x0000f040,
- 0x0007fc28, 0x00009583, 0xffffffff, 0x00007fa7, 0x16020b00, 0x0000f904,
- 0x16820b00, 0x00007904, 0x000042dd, 0x0000f410, 0x17020b00, 0x00007904,
- 0x17820b00, 0x0000f904, 0x0a001430, 0x00006283, 0x8b03fb13, 0x00000280,
- 0x98840000, 0x0000e180, 0x8a189b11, 0x00004100, 0x0c001030, 0x0000e388,
- 0x8cd16a2d, 0x00000908, 0x80002228, 0x0000e582, 0x19000400, 0x00008980,
- 0x8a116262, 0x00006100, 0x0bf09e11, 0x00000131, 0x0b002a2c, 0x00006080,
- 0x0bc02000, 0x0000c999, 0x0b40f82c, 0x0000e784, 0x18f20004, 0x00008980,
- 0x0b81e02c, 0x00006002, 0x75e80064, 0x0000a101, 0x8b002c2f, 0x0000e080,
- 0x0b41e82d, 0x0000c004, 0x19400000, 0x0000f900, 0x000014c4, 0x00000980,
- 0x8b3ffa2c, 0x00007900, 0x00000002, 0x00008280, 0x80217a28, 0x0000e502,
- 0x00116065, 0x00002106, 0x0b000000, 0x00007900, 0x00007fc0, 0x00000980,
- 0x0c3ff030, 0x0000f900, 0x003ffffe, 0x00008280, 0x00004380, 0x00007428,
- 0x0c68102f, 0x0000860c, 0x99280500, 0x00006120, 0x8b002c2f, 0x0000c880,
- 0xffffffff, 0x00007f86, 0x703b28ec, 0x0000d600, 0x003b2000, 0x00000000,
- 0x703970ec, 0x0000d600, 0x00396800, 0x00008000, 0x703960ec, 0x00005600,
- 0x003b1800, 0x00008000, 0x00c802ec, 0x00005f80, 0x1418d00a, 0x000014c4,
- 0x8a598330, 0x00006300, 0x0a02082b, 0x00004100, 0x0a004028, 0x00001780,
- 0x00000028, 0x00009582, 0x18914828, 0x00001810, 0x10831042, 0x0000e110,
- 0x0a004028, 0x00000890, 0x00004325, 0x00007008, 0x11022062, 0x00006002,
- 0x10420828, 0x00000000, 0x11400045, 0x00009084, 0x000041d4, 0x00007400,
- 0x9807f800, 0x00006181, 0x00001805, 0x0000e403, 0x18800000, 0x00001981,
- 0x07400000, 0x0000f900, 0x001f8000, 0x00008980, 0x98042260, 0x00006180,
- 0x98404261, 0x00008180, 0xc0c06000, 0x00006180, 0x0013001d, 0x0000e186,
- 0x08c00000, 0x0000e180, 0x0413081d, 0x0000e101, 0x2038eeec, 0x0000d600,
- 0x003d0000, 0x00008000, 0x00001004, 0x00006402, 0x02844033, 0x00003587,
- 0x24000000, 0x0000f900, 0x00188000, 0x00000980, 0x09800100, 0x00006180,
- 0x00001823, 0x00006106, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000680,
- 0x98802302, 0x00006780, 0xe0001008, 0x0000a403, 0x00015007, 0x0000e482,
- 0x80000804, 0x00003403, 0x00503000, 0x0000f900, 0x0004fe50, 0x00008980,
- 0x27c00000, 0x0000f900, 0x00008200, 0x00008980, 0x0804b000, 0x00007900,
- 0x00022180, 0x00008980, 0x08400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x09400000, 0x00007900, 0x00010000, 0x00000980, 0x86220833, 0x00006005,
- 0xc0001823, 0x0000b006, 0x000040ec, 0x00005780, 0x00c06101, 0x00008288,
- 0xc0009800, 0x00006181, 0x45131026, 0x00006107, 0x24400000, 0x000009c8,
- 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x26699001, 0x00006180,
- 0x26800000, 0x00004980, 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8,
- 0x25fa0fa0, 0x00000920, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec,
- 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x09000000, 0x00006180,
- 0x09c00004, 0x0000c980, 0x08a81402, 0x00008208, 0x6408d91b, 0x00001900,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x08c00000, 0x0000e180,
- 0x09800100, 0x00004980, 0x98802302, 0x00006780, 0x00001823, 0x0000a106,
- 0xc0001823, 0x0000e006, 0x20001805, 0x00003403, 0x27c00000, 0x0000f900,
- 0x00008000, 0x00000980, 0x0804b000, 0x00007900, 0x00022180, 0x00008980,
- 0x08400000, 0x0000f900, 0x00018008, 0x00000980, 0x09400000, 0x00007900,
- 0x00010000, 0x00000980, 0x000040ec, 0x00005780, 0x00c06101, 0x00008288,
- 0x98426000, 0x0000e180, 0x45131026, 0x00006107, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089e0,
- 0x26400040, 0x000089e8, 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8,
- 0x25c007a0, 0x00008290, 0x000041d4, 0x00007400, 0x09c00004, 0x0000e180,
- 0x88901202, 0x00004900, 0x18800000, 0x00006181, 0xc8981302, 0x0000c900,
- 0x8b002a28, 0x00006080, 0x00000065, 0x0000e586, 0x8b3ffa2c, 0x00007900,
- 0x00000002, 0x00008280, 0x0bd1442f, 0x0000e100, 0x00116065, 0x00002106,
- 0x703b28ec, 0x0000d600, 0x003b2000, 0x00000000, 0x703970ec, 0x0000d600,
- 0x00396800, 0x00008000, 0x8b002a28, 0x00006080, 0x98802a2f, 0x0000c880,
- 0x99280500, 0x0000e100, 0x00800065, 0x00006586, 0x703960ec, 0x00005600,
- 0x003b1800, 0x00008000, 0x8b3ffa62, 0x00007900, 0x00000002, 0x00008280,
- 0x0a001428, 0x00006081, 0x00116065, 0x0000e106, 0x0c03242c, 0x00006884,
- 0x0a216428, 0x00009001, 0x04214064, 0x0000e885, 0x703b28ec, 0x0000d600,
- 0x003b2000, 0x00000000, 0x8b3ffa62, 0x00007900, 0x00000002, 0x00008280,
- 0x00004318, 0x0000f400, 0x7039e0ec, 0x0000d600, 0x0039e800, 0x00000000,
- 0x703960ec, 0x00005600, 0x003b1800, 0x00008000, 0x0a998330, 0x0000e300,
- 0x0bc0085a, 0x0000c180, 0x0bc17b30, 0x00009000, 0x0a81502f, 0x00009700,
- 0x0000002a, 0x00001582, 0x0a598330, 0x00006310, 0x0bc00800, 0x0000c988,
- 0x000043a9, 0x00007009, 0x0bc1482f, 0x00009700, 0x0a415859, 0x00006100,
- 0x0bc0082f, 0x00008180, 0x0bc0402f, 0x00001880, 0x0a417829, 0x00009002,
- 0x0b004059, 0x000097e0, 0x0a416115, 0x00001160, 0x000043bb, 0x0000f068,
- 0x2c198229, 0x00001600, 0x0a8588b0, 0x00009000, 0x2c198329, 0x00009600,
- 0x0a4588b0, 0x00009000, 0x0a408029, 0x00001880, 0x0a415029, 0x00001000,
- 0x0a41485a, 0x00001100, 0x0000b029, 0x00001502, 0xc4d17428, 0x00009020,
- 0x000043bb, 0x0000f029, 0x000042f1, 0x00007000, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x0a000ce0, 0x00001283, 0x00004423, 0x0000f013, 0x0c3ff030, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x000041d4, 0x00007400, 0x0c400000, 0x00006181,
- 0x00001805, 0x0000e403, 0x9887f800, 0x000006c3, 0x43c81c02, 0x00007100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000, 0x00009990,
- 0x876f2004, 0x00009990, 0x00004207, 0x0000f008, 0x0411081d, 0x0000e901,
- 0x9001f81d, 0x00006483, 0x40001008, 0x0000b402, 0x00001007, 0x00006402,
- 0x00001004, 0x00003402, 0x00503000, 0x0000f900, 0x00047fd0, 0x00000980,
- 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000, 0xe0001008, 0x00006403,
- 0x40005007, 0x0000b406, 0x40e03c00, 0x000000c3, 0x009806ec, 0x0000df80,
- 0x00005801, 0x00000084, 0x88402a26, 0x00006080, 0x00000028, 0x0000e586,
- 0x887ffa21, 0x00007900, 0x00000002, 0x00008280, 0x0a513429, 0x00006100,
- 0x00110828, 0x0000a106, 0x703940ec, 0x0000d600, 0x00393800, 0x00008000,
- 0x703918ec, 0x00005600, 0x00391000, 0x00008000, 0x88402a26, 0x00006080,
- 0x98802a29, 0x0000c880, 0x89e80500, 0x00006100, 0x00800028, 0x00006586,
- 0x703908ec, 0x0000d600, 0x00390000, 0x00000000, 0x887ffa62, 0x0000f900,
- 0x00000002, 0x00008280, 0x09801426, 0x00006081, 0x00110828, 0x00006106,
- 0x0c013c21, 0x00006884, 0x09a10c26, 0x00001001, 0x04213027, 0x0000e885,
- 0x703940ec, 0x0000d600, 0x00393800, 0x00008000, 0x887ffa62, 0x0000f900,
- 0x00000002, 0x00008280, 0x7039e0ec, 0x0000d600, 0x0039e800, 0x00000000,
- 0x703908ec, 0x0000d600, 0x00390000, 0x00000000, 0x00c802ec, 0x00005f80,
- 0x141fe00a, 0x000094c4, 0x7b400c40, 0x0000f892, 0xb2000000, 0x0000a08b,
- 0x0002082b, 0x00001502, 0x8b802313, 0x000091e8, 0x000042f1, 0x0000f061,
- 0x00004285, 0x00007000, 0x8a002a63, 0x0000e080, 0x00000066, 0x0000e586,
- 0x8a3ffa28, 0x00007900, 0x00000002, 0x00008280, 0x99002a63, 0x00006080,
- 0x00114066, 0x00006106, 0x703b30ec, 0x0000d600, 0x003b2800, 0x00008000,
- 0x703960ec, 0x00005600, 0x003b1000, 0x00000000, 0x18802000, 0x00006180,
- 0x00800066, 0x00006586, 0x0a131862, 0x0000e100, 0x99680500, 0x00008900,
- 0x18c01463, 0x00006081, 0x8a002a28, 0x0000c880, 0x8b3ffa28, 0x0000f900,
- 0x00000002, 0x00008280, 0x0c032c2c, 0x00006084, 0x00116066, 0x0000b106,
- 0x18e16463, 0x00009001, 0x703b20ec, 0x00005600, 0x00397800, 0x00000000,
- 0x04231865, 0x00006885, 0x703b30ec, 0x0000d600, 0x003b2800, 0x00008000,
- 0x993ffa28, 0x0000f900, 0x00000002, 0x00008280, 0x0000429f, 0x00007400,
- 0x7039e0ec, 0x0000d600, 0x0039e800, 0x00000000, 0x703b20ec, 0x00005600,
- 0x00397800, 0x00000000, 0x44241c02, 0x00007100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x07400000, 0x00009990, 0x876f2004, 0x00009990,
- 0x000043c1, 0x0000f208, 0x0413081d, 0x0000e911, 0x000043ce, 0x0000f000,
- 0x4000554d, 0x00006583, 0xc0003800, 0x00008981, 0x00523000, 0x00007900,
- 0x00044000, 0x00008980, 0x0281a000, 0x00007900, 0x000011c0, 0x00008980,
- 0x01000000, 0x000080d4, 0x01800000, 0x000080dc, 0x02000000, 0x000080e4,
- 0x02c00000, 0x000000f2, 0x84800a12, 0x00006080, 0xc4800b12, 0x00000080,
- 0x00004442, 0x0000f408, 0x06080018, 0x00006080, 0x05880016, 0x00008088,
- 0x05480015, 0x00001088, 0xffffffff, 0x00007f86, 0x0000b015, 0x00001502,
- 0x60000808, 0x0000640b, 0x60001005, 0x0000340a, 0x0704001c, 0x0000e388,
- 0xc0001008, 0x0000a40b, 0x05880016, 0x00001090, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009800ec, 0x00005780,
- 0x00005801, 0x00008080, 0x1bc00000, 0x00006180, 0x0c026a4c, 0x00006104,
- 0x09026c4d, 0x0000e000, 0x0412606f, 0x0000b107, 0x14c00000, 0x00006180,
- 0x0fc0e44c, 0x0000e000, 0x1a420000, 0x00007900, 0x00200000, 0x00000980,
- 0x13226c4c, 0x0000e301, 0x00001853, 0x00002106, 0x1a800000, 0x00006180,
- 0x04226069, 0x00006001, 0x15800000, 0x00006180, 0x93002302, 0x0000c780,
- 0x1404b000, 0x0000f900, 0x00022080, 0x00000980, 0x14400000, 0x00007900,
- 0x00018008, 0x00000980, 0x15400000, 0x0000f900, 0x00010000, 0x00000980,
- 0xc0001853, 0x00006006, 0x45126056, 0x0000b107, 0x18000000, 0x000086c4,
- 0x18800000, 0x000086cc, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
- 0x1ac00000, 0x000086f0, 0x1b400000, 0x000006f8, 0x1a000718, 0x00000590,
- 0x15c00004, 0x00006180, 0x16000000, 0x0000c980, 0x16400000, 0x000005e8,
- 0x16c00000, 0x000085f0, 0x17400000, 0x000005f8, 0x17c00000, 0x00006180,
- 0x94901202, 0x0000c900, 0x9aa81112, 0x00000508, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0080a0ec, 0x00005780,
- 0x00c06601, 0x00008280, 0x4000554d, 0x00006583, 0x0c026a4e, 0x00002104,
- 0x9380824e, 0x00001088, 0x0000447d, 0x0000f009, 0x4000554d, 0x00009583,
- 0x000044be, 0x0000f01b, 0x4000254d, 0x00001583, 0x9381024e, 0x00001088,
- 0x0000447d, 0x0000f009, 0x40002d4d, 0x00009583, 0x9380e24e, 0x00001088,
- 0x0000447d, 0x0000f011, 0x13807a4e, 0x00006080, 0x9307fb23, 0x00008280,
- 0x93480000, 0x00006180, 0x1380204e, 0x0000c784, 0x9312624d, 0x00006100,
- 0x93d91b23, 0x00000900, 0xc7a2744e, 0x00006101, 0xc8d27323, 0x00004000,
- 0x8012724c, 0x00001502, 0x9307fa4f, 0x00001282, 0xffffffff, 0x00007f86,
- 0x0000448a, 0x00007028, 0x000044b5, 0x0000f010, 0x13511a23, 0x0000e100,
- 0x13000b21, 0x0000c180, 0x0002604d, 0x00006502, 0x09013026, 0x00000900,
- 0x93000a23, 0x0000e090, 0x09413827, 0x00008900, 0x13001a4c, 0x0000e090,
- 0x88c00a23, 0x00004090, 0x000044d4, 0x00007008, 0x13c1404c, 0x0000e002,
- 0x13000260, 0x00008980, 0x13800029, 0x0000e084, 0x75e8004c, 0x0000a101,
- 0x93280500, 0x00009900, 0x700040ec, 0x00005680, 0x003a64c4, 0x00008010,
- 0x13320004, 0x00009980, 0x703a78ec, 0x00005600, 0x003a7000, 0x00008000,
- 0x0418104c, 0x0000e987, 0x700040ec, 0x00005680, 0x003a67c0, 0x00008078,
- 0x00c002ec, 0x0000df80, 0x1445100b, 0x00001684, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x13000ce0, 0x00009283, 0x000044c5, 0x00007013,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xc0006800, 0x00006181,
- 0x02000001, 0x0000e586, 0xc0c06000, 0x00006180, 0x00100001, 0x00006503,
- 0x80401000, 0x00001981, 0x008806ec, 0x00005f80, 0x009859c0, 0x00008684,
- 0x40005d4d, 0x00001583, 0x9380624e, 0x00009088, 0x0000447d, 0x0000f009,
- 0x4000bd4d, 0x00009583, 0x9380e24e, 0x00001088, 0x0000447d, 0x0000f011,
- 0x0000447d, 0x0000f000, 0x44c61c02, 0x00007100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x60001005, 0x00006412, 0x60001008, 0x00003413,
- 0xc0001008, 0x00006413, 0x40001009, 0x0000b412, 0x000044b5, 0x0000f008,
- 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x80401000, 0x00001981, 0x009806ec, 0x0000df80,
- 0x00005801, 0x00000084, 0x88c00000, 0x00006180, 0x13800260, 0x0000c980,
- 0x75e8004e, 0x00006901, 0x93a80500, 0x00001900, 0x700040ec, 0x00005680,
- 0x003a74c4, 0x00000010, 0x13b20004, 0x00001980, 0x703940ec, 0x0000d600,
- 0x00394800, 0x00000000, 0x0418104e, 0x00006987, 0x700040ec, 0x00005680,
- 0x003a77c0, 0x00000078, 0x00c002ec, 0x0000df80, 0x1447100b, 0x00009684,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x2d400ce0, 0x0000f88f,
- 0x2a000000, 0x00002286, 0x47010530, 0x00001283, 0x08021c1d, 0x00006094,
- 0xd0000030, 0x0000b410, 0x0760efe4, 0x00009810, 0x000044fe, 0x0000f008,
- 0x8f80e0ec, 0x0000a084, 0xffffffff, 0x00007fa7, 0x0760ec1c, 0x00001401,
- 0x8f80e8ec, 0x0000a884, 0x07800000, 0x0000f900, 0x001f8000, 0x00008980,
- 0x070047a3, 0x00006181, 0x0015181e, 0x00002186, 0x0e421c1d, 0x00006000,
- 0x0420e01e, 0x0000b101, 0x26438040, 0x00006180, 0x08021c1c, 0x00006084,
- 0x2038f6ec, 0x0000d600, 0x003d0000, 0x00008000, 0x26800000, 0x00006180,
- 0xe4418099, 0x00006001, 0x00005ca1, 0x00006583, 0x26c00000, 0x00000980,
- 0x08c00000, 0x0000e180, 0x07403c1d, 0x00004881, 0x000040ec, 0x00005780,
- 0x00006001, 0x00000080, 0x80000899, 0x0000e433, 0xa0000899, 0x0000341b,
- 0xe6800a12, 0x0000e0b0, 0x00001823, 0x0000a106, 0xa6e50ca1, 0x00006131,
- 0xe6989312, 0x0000c918, 0xc0109312, 0x00006502, 0x66a0e41d, 0x00008301,
- 0x87002302, 0x00006780, 0xc0001823, 0x00002006, 0x08400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x09400000, 0x00007900, 0x00010000, 0x00000980,
- 0x0804b000, 0x00007900, 0x00022080, 0x00000980, 0x000120ec, 0x00005788,
- 0x00006001, 0x00000080, 0x24000000, 0x00006180, 0x4510e026, 0x00006107,
- 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8,
- 0x27400000, 0x000009f8, 0x27c00000, 0x00006180, 0x2600c018, 0x00004900,
- 0x25f9a7a0, 0x00000930, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec,
- 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x08a81402, 0x00008208,
- 0x09c00004, 0x00009980, 0x814010ec, 0x00005694, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008120ec, 0x0000d790, 0x00006001, 0x00000080,
- 0x000064a1, 0x0000e583, 0x60001008, 0x00002403, 0x40001009, 0x00006402,
- 0x80000804, 0x00003403, 0x60001005, 0x0000e402, 0xc0001008, 0x0000b403,
- 0x00004544, 0x00007210, 0x80005009, 0x00006406, 0x00015007, 0x0000348a,
- 0x00000805, 0x00006403, 0xc0000808, 0x0000b403, 0x2000080a, 0x00006402,
- 0x40001805, 0x00003403, 0x84989312, 0x00001900, 0xffc00000, 0x00006180,
- 0x82000043, 0x00006686, 0x00503000, 0x0000f900, 0x0004c010, 0x00008980,
- 0x280036a3, 0x0000e181, 0x04250843, 0x00002083, 0xc0009800, 0x00006181,
- 0xb6f22843, 0x0000e081, 0xc0c06000, 0x00006180, 0x806504a0, 0x00004901,
- 0x91400000, 0x00009981, 0x009806ec, 0x0000df80, 0x00985b01, 0x00008684,
- 0x28408430, 0x0000e283, 0xe91722e4, 0x00008900, 0x0c008030, 0x0000e388,
- 0x8d509212, 0x00000908, 0x8c800000, 0x00006189, 0x80000030, 0x00006488,
- 0x00004569, 0x0000f010, 0x10840430, 0x00009283, 0x0c3bf830, 0x00007910,
- 0x003ffffe, 0x00008280, 0x2c380335, 0x0000f900, 0x0000003e, 0x00000680,
- 0xa94588b0, 0x00009000, 0x8d400a12, 0x00006190, 0xcd99baa5, 0x00000000,
- 0x10810430, 0x00009283, 0x29404033, 0x0000e090, 0x84800a12, 0x00004090,
- 0x0c3cf830, 0x00007900, 0x003ffffe, 0x00008280, 0xccb25e4b, 0x00006111,
- 0xcdd9be4b, 0x00004010, 0x10800000, 0x000003cc, 0x0600c0a5, 0x00001010,
- 0xa9804000, 0x00001980, 0x28408430, 0x00001283, 0xa847fb37, 0x00006290,
- 0x2a01c038, 0x00000910, 0x29c1c839, 0x00009910, 0x000045ce, 0x00007008,
- 0x803992a1, 0x00009502, 0x0000486d, 0x0000702b, 0xa97992a1, 0x00006100,
- 0xa8802d00, 0x00000880, 0x9287faa5, 0x0000e280, 0x8ce80500, 0x00008900,
- 0x8000724a, 0x00006582, 0xccd812a2, 0x00000080, 0x29408000, 0x0000e1b9,
- 0x29400c4a, 0x000040d1, 0x12000000, 0x0000f900, 0x000010c4, 0x00008980,
- 0xa84024a5, 0x00009880, 0x28400a4a, 0x0000e080, 0x00150848, 0x00002106,
- 0x28a528a1, 0x00009100, 0x703a40ec, 0x0000d600, 0x00399800, 0x00008000,
- 0x12320004, 0x00006180, 0x0cc020a2, 0x0000c880, 0x2840f833, 0x0000e784,
- 0x04181048, 0x00002187, 0x1281c033, 0x00001002, 0x12400000, 0x00007900,
- 0x00007fc0, 0x00000980, 0x924024a5, 0x0000e080, 0x0cc1c8a1, 0x0000c004,
- 0x703a50ec, 0x00005600, 0x00399800, 0x00008000, 0x703a48ec, 0x00005600,
- 0x003a4000, 0x00008000, 0x00c002ec, 0x0000df80, 0x144c800b, 0x00001684,
- 0x28800ca5, 0x00009181, 0x8cc00ca2, 0x0000e080, 0xa9402d00, 0x00004880,
- 0xa8552a33, 0x00009000, 0x303a56a1, 0x00003038, 0x303a44a1, 0x00003038,
- 0x307a60a1, 0x0000b038, 0x307a72a1, 0x0000b038, 0x00002c4b, 0x00009583,
- 0x000045b9, 0x0000f01b, 0x0cd19232, 0x00006300, 0x29400849, 0x0000c180,
- 0x28452a32, 0x00001000, 0x0cc198a1, 0x00009700, 0x00000033, 0x00009582,
- 0x0cd19232, 0x0000e310, 0x28400800, 0x0000c988, 0x000045a3, 0x00007009,
- 0x284198a1, 0x00001700, 0x0cc508a1, 0x0000e100, 0x294040a1, 0x0000c880,
- 0x84800a12, 0x0000e180, 0xcdf25b37, 0x00008100, 0xccba5f4b, 0x0000e101,
- 0x06052818, 0x00004100, 0x28400ce0, 0x00009283, 0x0000464e, 0x0000f013,
- 0xcc61b537, 0x00004468, 0x8680bf18, 0x00001173, 0x004a5ba2, 0x0000c523,
- 0x9fc7fb37, 0x0000018d, 0xa9402d00, 0x00006080, 0x28ba5ca2, 0x0000c101,
- 0x8cc00ca2, 0x00009880, 0xa8552a33, 0x00009000, 0x303a56a1, 0x00003038,
- 0x303a44a1, 0x00003038, 0x307a60a1, 0x0000b038, 0x307a72a1, 0x0000b038,
- 0x00002c4b, 0x00009583, 0x0000459a, 0x00007033, 0x00003c4b, 0x0000e583,
- 0x0cc00000, 0x00008980, 0x0cc00800, 0x0000e1b0, 0x84800a12, 0x00004180,
- 0xccba5f4b, 0x0000e101, 0xcdf25b37, 0x00004100, 0x29404033, 0x00001880,
- 0x06052818, 0x00001100, 0x6ac00ce0, 0x0000788f, 0x72000000, 0x0000a382,
- 0xa847fb37, 0x00006282, 0x0c000830, 0x00000380, 0x0c3f7830, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x000047aa, 0x0000f009, 0xa9800aa6, 0x00009182,
- 0x0000456a, 0x0000f013, 0x28408430, 0x00001283, 0xb91d23a4, 0x00009910,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093, 0x2880c017, 0x00006100,
- 0xe0000830, 0x00002400, 0x294040a2, 0x00009780, 0x000000a5, 0x00009582,
- 0xb91d23a4, 0x0000e108, 0x50c00000, 0x00004989, 0xa8519232, 0x0000e310,
- 0x91400000, 0x00004989, 0x289508a5, 0x00001810, 0xffffffff, 0x00007f86,
- 0x00000000, 0x0000f08b, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0xaac7fb37, 0x0000e280, 0xa8480000, 0x00000980, 0x2b800480, 0x0000e180,
- 0xaa155aa1, 0x00004100, 0x2ac022ab, 0x0000e080, 0x2a720004, 0x00004980,
- 0xaba80500, 0x0000e100, 0x2840f8ab, 0x0000c784, 0x29c55838, 0x00006002,
- 0x75e800ae, 0x0000a101, 0x2bc90000, 0x0000f900, 0x000014c4, 0x00000980,
- 0x2a890000, 0x0000f900, 0x00007fc0, 0x00000980, 0x2b79ef3c, 0x00000a30,
- 0xea581302, 0x0000e100, 0x29850839, 0x0000c004, 0x80008aa8, 0x00001582,
- 0xe847fb37, 0x00001282, 0xffffffff, 0x00007f86, 0x00004803, 0x0000f030,
- 0x000049cb, 0x00007008, 0x700900ec, 0x0000d680, 0x003d74c4, 0x00008010,
- 0x703d38ec, 0x00005600, 0x003d3000, 0x00008000, 0x700900ec, 0x0000d680,
- 0x003d4fc0, 0x00000078, 0xa6800000, 0x00008ad8, 0x29c00000, 0x00009980,
- 0x00c002ec, 0x0000df80, 0x144fd80b, 0x00009684, 0x00000c9a, 0x00001583,
- 0x2a009000, 0x00009991, 0x00004765, 0x0000f009, 0xa87f1fe3, 0x0000e100,
- 0x50e544a8, 0x00004901, 0x72bd48a1, 0x00002084, 0x72bd40a1, 0x0000a084,
- 0x91125812, 0x00008414, 0x26800000, 0x00009981, 0xee802c4b, 0x00004398,
- 0x00802c4b, 0x00000088, 0xcf00854b, 0x0000c394, 0x0080144b, 0x000000b0,
- 0x0001054b, 0x0000788c, 0x00000000, 0x00000000, 0xb7800c4f, 0x0000f88f,
- 0x02000001, 0x00000060, 0x6a800049, 0x00004589, 0x35c29fa8, 0x0000002b,
- 0x70c00049, 0x00004589, 0xb5a29fa8, 0x00008b2c, 0x65000049, 0x0000788a,
- 0x1a400000, 0x0000238c, 0x29c0164b, 0x0000e181, 0x09804053, 0x00000780,
- 0x00000ca7, 0x00006583, 0xa9002302, 0x00000780, 0x09800026, 0x0000f900,
- 0x00000200, 0x00000380, 0x0c424849, 0x00006100, 0x45152026, 0x00006107,
- 0x000047de, 0x00007218, 0x8c80164b, 0x00006181, 0x2ac28050, 0x00008900,
- 0x0cc25ca1, 0x0000e800, 0x000004a1, 0x00001583, 0x2a024849, 0x0000e108,
- 0x28404849, 0x00004790, 0x284018a1, 0x00001890, 0x2a0248a1, 0x00009010,
- 0xffffffff, 0x00007f86, 0x00054050, 0x00009502, 0x0000499c, 0x0000f013,
- 0x80001030, 0x0000ec80, 0x00000031, 0x0000e582, 0x0cc00800, 0x00000980,
- 0x00000031, 0x00007900, 0x00200000, 0x00008582, 0xffffffff, 0x00007f86,
- 0x00004632, 0x00007008, 0x000049c3, 0x00007018, 0x0cd19232, 0x00006300,
- 0x28400831, 0x00004180, 0x28450a32, 0x00009000, 0x0cc198a1, 0x00009700,
- 0x00002c4b, 0x00006583, 0x284040a5, 0x00000880, 0x2980c0a1, 0x0000e000,
- 0x50000830, 0x00002402, 0x0600c0a1, 0x0000e000, 0x28452833, 0x00000100,
- 0x0000482b, 0x0000f408, 0x0cc52833, 0x0000e100, 0x29451031, 0x00008100,
- 0x0c020030, 0x0000e390, 0x0c451031, 0x00000100, 0x5081054b, 0x00009283,
- 0x0e0184a1, 0x0000e880, 0x294014a1, 0x00009881, 0x294048a2, 0x00006790,
- 0xb84244a5, 0x00000081, 0x294018a5, 0x00001890, 0x288528a2, 0x00001010,
- 0xffffffff, 0x00007fa7, 0x2a021300, 0x0000f904, 0x000540a2, 0x0000e502,
- 0x294540a8, 0x00000900, 0x29821300, 0x00007904, 0xb91d23a4, 0x00006130,
- 0x108510a2, 0x0000c930, 0x0000485f, 0x0000f018, 0xffffffff, 0x00007f97,
- 0x00000000, 0x00007083, 0x464f1c02, 0x00007100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x000045ab, 0x0000700b, 0x07400000, 0x0000f900,
- 0x001f8000, 0x00008980, 0x012f201d, 0x00006586, 0x60001008, 0x0000b403,
- 0x043d181d, 0x00006101, 0x40001009, 0x00003402, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x00001004, 0x00006402, 0xc0001008, 0x0000b403,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x2038eeec, 0x0000d600,
- 0x003d0000, 0x00008000, 0x8047f800, 0x00009981, 0x009806ec, 0x0000df80,
- 0x00005801, 0x00000084, 0xa8771ee3, 0x00009900, 0x8e8510a1, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x000204a2, 0x00009583, 0x91404000, 0x00006199,
- 0x28406000, 0x00004999, 0x0000466b, 0x00007031, 0x466b44f5, 0x00007100,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03a6c800, 0x00007900, 0x00232d94, 0x00008980,
- 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x46781bac, 0x00007500, 0x02f9bf02, 0x00008022, 0x81001000, 0x0000e180,
- 0x0199b336, 0x0000c900, 0x8000964b, 0x00009583, 0x00080049, 0x00009582,
- 0xffffffff, 0x00007f86, 0x0000468f, 0x0000f018, 0x00004687, 0x00007018,
- 0x0000144b, 0x0000e583, 0x80001030, 0x0000a480, 0x00004682, 0x00007033,
- 0x6841054b, 0x00001283, 0x00004697, 0x00007013, 0x00004627, 0x0000f400,
- 0xa8402302, 0x00006780, 0x0c424849, 0x00008900, 0x8c800000, 0x0000e181,
- 0x45150826, 0x00006107, 0xa9771ee3, 0x00001900, 0x8e8510a5, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a2, 0x00009583, 0x91401000, 0x00006199,
- 0x28401800, 0x00004999, 0x0000469e, 0x00007031, 0x468f44f5, 0x00007100,
- 0xa8771ee3, 0x00009900, 0x8e8528a1, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a5, 0x00001583, 0x91400800, 0x00006199, 0x28401800, 0x00004999,
- 0x000046ac, 0x0000f031, 0x469744f5, 0x00007100, 0xa8771ee3, 0x00009900,
- 0x8e8510a1, 0x00002084, 0xffffffff, 0x00007fa7, 0x000204a2, 0x00009583,
- 0x000046ba, 0x0000f033, 0x469e44f5, 0x0000f300, 0xd140180e, 0x00000ac6,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03bcf000, 0x00007900, 0x0016af9c, 0x00000980,
- 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x46ac1bac, 0x00007500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02172849, 0x00004200, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03a9e800, 0x0000f900, 0x002bf324, 0x00008980, 0x01909212, 0x0000e100,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x46ba1bac, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02325e4b, 0x00004900, 0x01000020, 0x00006180, 0x02000000, 0x0000c980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x038ce800, 0x00007900,
- 0x00265762, 0x00000980, 0x01800000, 0x000080dc, 0x81001000, 0x00009980,
- 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106, 0x46c71bac, 0x0000f500,
- 0x82600500, 0x00008026, 0x02c01002, 0x00001900, 0x29c0164b, 0x0000e181,
- 0x28404053, 0x00000780, 0x00000ca7, 0x00006583, 0x0c424849, 0x00008900,
- 0x098000a1, 0x0000f900, 0x00000200, 0x00000380, 0xa8402302, 0x00006780,
- 0x8c80164b, 0x00000181, 0x000046f5, 0x0000f218, 0x2ac28050, 0x00006100,
- 0x45150826, 0x00006107, 0x0cc25ca1, 0x0000e800, 0x000004a1, 0x00001583,
- 0x28424849, 0x0000e108, 0x28404849, 0x00004790, 0xffffffff, 0x00007f86,
- 0x284018a1, 0x00001890, 0x284248a1, 0x00009010, 0xffffffff, 0x00007f86,
- 0x000508ab, 0x00001502, 0x000046ed, 0x0000f013, 0x00004627, 0x0000f200,
- 0x80001030, 0x0000ec80, 0xa8b71ee3, 0x00009900, 0x8e8528a2, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a5, 0x00001583, 0x01000020, 0x000061b0,
- 0x02000000, 0x0000c9b0, 0x01800000, 0x000061b0, 0x01c00000, 0x0000c9b0,
- 0x0000469c, 0x00007018, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x000046c2, 0x00007400, 0x038d6000, 0x0000f900, 0x0034824e, 0x00000980,
- 0x81001000, 0x00009980, 0xa8b71ee3, 0x00009900, 0x8e8528a2, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a5, 0x00001583, 0x018508a1, 0x00009930,
- 0x000049a2, 0x00007031, 0x46f544f5, 0x00007300, 0xd140180d, 0x00000ac6,
- 0x000024a7, 0x00009583, 0x00001ca7, 0x00001583, 0x000024a7, 0x00009583,
- 0x00004733, 0x0000f018, 0x00004702, 0x0000f008, 0x00004709, 0x00007010,
- 0x0002f8a8, 0x00006502, 0x2ac2e050, 0x00008000, 0x0a00405f, 0x000097a0,
- 0x0b000028, 0x0000f920, 0x00000200, 0x00000380, 0x0000472b, 0x00007228,
- 0x4515082c, 0x00006927, 0x0002d8a8, 0x0000e502, 0x2ac2c0ab, 0x00008000,
- 0x29c0405b, 0x000097a0, 0x0a8000a7, 0x00007920, 0x00000200, 0x00000380,
- 0x00004723, 0x0000f228, 0x4515082a, 0x00006927, 0x0002b8a8, 0x0000e502,
- 0x2ac2a0ab, 0x00008000, 0x2a004057, 0x000097a0, 0x0a0000a8, 0x0000f920,
- 0x00000200, 0x00000380, 0x000046d2, 0x00007220, 0x45150828, 0x0000e927,
- 0xa8771ee3, 0x00009900, 0x8e8510a1, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x000204a2, 0x00009583, 0x019728a9, 0x0000e230, 0x01c00000, 0x000009b0,
- 0x01000000, 0x00007930, 0x0000c040, 0x00000980, 0x000046f3, 0x00007018,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900,
- 0x000fbf3c, 0x00000980, 0x81001000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x47231bac, 0x00007500, 0x82600500, 0x00008026, 0x02172857, 0x0000e200,
- 0x02c01002, 0x00008900, 0xa9771ee3, 0x00001900, 0x8e8508a5, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a1, 0x00009583, 0x91406000, 0x0000e199,
- 0x28401800, 0x00004999, 0x0000473b, 0x0000f031, 0x472b44f5, 0x00007100,
- 0xa8b71ee3, 0x00009900, 0x8e8528a2, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a5, 0x00001583, 0x91405800, 0x00006199, 0x28401800, 0x00004999,
- 0x00004749, 0x0000f031, 0x473344f5, 0x00007100, 0xa8771ee3, 0x00009900,
- 0x8e8510a1, 0x00002084, 0xffffffff, 0x00007fa7, 0x000204a2, 0x00009583,
- 0x91405000, 0x0000e199, 0x28401800, 0x00004999, 0x00004757, 0x0000f031,
- 0x473b44f5, 0x0000f100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900,
- 0x000fbf3c, 0x00000980, 0x019728a9, 0x0000e200, 0x08001a09, 0x00002106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x47491bac, 0x00007500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217285b, 0x00004200,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980,
- 0x019728a9, 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x47571bac, 0x00007500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x0217285f, 0x0000c200, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03ab5000, 0x00007900, 0x0028aed6, 0x00008980, 0x01b25e4b, 0x0000e100,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x47651bac, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02319632, 0x00004900, 0x80325aa8, 0x00009502, 0x0e8538a7, 0x00006120,
- 0x0ec530a6, 0x0000c920, 0x0e0538a7, 0x00006128, 0x0e4530a6, 0x0000c928,
- 0x000045fe, 0x00007020, 0x28400b35, 0x00006180, 0x2991ba37, 0x00000900,
- 0x000508a6, 0x00009502, 0xa8400000, 0x000099c0, 0xa8400a37, 0x000090c8,
- 0x00004771, 0x00007040, 0x000045fe, 0x00007200, 0x2a009000, 0x00006181,
- 0x8dd50aa1, 0x0000c900, 0x0c400000, 0x0000e180, 0x2840344b, 0x00004181,
- 0x00000ca1, 0x00009583, 0x0cc00000, 0x00001998, 0x000048fd, 0x0000f031,
- 0x00005c4b, 0x00001583, 0xa9771ee3, 0x00001918, 0x8e8508a5, 0x0000a09c,
- 0x000048bf, 0x00007030, 0xffffffff, 0x00007f97, 0x000204a1, 0x00009583,
- 0x91402800, 0x0000e199, 0x28401800, 0x00004999, 0x000048d9, 0x0000f031,
- 0x478344f5, 0x0000f100, 0x2ac0164b, 0x0000e181, 0x28404053, 0x00000780,
- 0x00000cab, 0x00006583, 0x0c424849, 0x00008900, 0x098000a1, 0x0000f900,
- 0x00000200, 0x00000380, 0xa8402302, 0x00006780, 0x8c80164b, 0x00000181,
- 0x000048e7, 0x00007218, 0x2a028050, 0x00006100, 0x45150826, 0x00006107,
- 0x0cc25ca1, 0x0000e800, 0x000004a1, 0x00001583, 0x28424849, 0x0000e108,
- 0x28404849, 0x00004790, 0xffffffff, 0x00007f86, 0x284018a1, 0x00001890,
- 0x284248a1, 0x00009010, 0xffffffff, 0x00007f86, 0x000508a8, 0x00001502,
- 0xa8b71ee3, 0x00001910, 0x8e8528a2, 0x00002094, 0x000046dc, 0x00007008,
- 0xffffffff, 0x00007f97, 0x000204a5, 0x00001583, 0x018508a1, 0x0000e130,
- 0x01c00000, 0x0000c9b0, 0x01000000, 0x00007930, 0x0000c040, 0x00000980,
- 0x000046f3, 0x00007018, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03bae800, 0x00007900, 0x0033d078, 0x00000980, 0x81001000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x47aa1bac, 0x0000f500, 0x82600500, 0x00008026,
- 0x023817a8, 0x0000002c, 0x80000237, 0x0000e582, 0x0e81c038, 0x00000900,
- 0xa8400b35, 0x00006188, 0xa8400a37, 0x00000190, 0x0ec1c839, 0x00001900,
- 0x800002a1, 0x0000e582, 0x8dd50aa1, 0x00000900, 0x28400aa1, 0x0000e190,
- 0x28400b35, 0x00008188, 0xffffffff, 0x00007f86, 0x28400380, 0x00006180,
- 0xa9401aa1, 0x00004880, 0x29c1e2a5, 0x0000e002, 0xa8680500, 0x00000900,
- 0x2940003d, 0x0000e084, 0x75e800a1, 0x0000a101, 0x700040ec, 0x00005680,
- 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980, 0x703d38ec, 0x00005600,
- 0x003d2800, 0x00008000, 0x041810a1, 0x0000e987, 0x700040ec, 0x00005680,
- 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x145e200b, 0x00001684,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0, 0x00009283,
- 0x000045c8, 0x0000700b, 0x47d81c02, 0x00007100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x00004652, 0x00007013, 0xa9800aa6, 0x00009182,
- 0x0000456a, 0x0000f013, 0x000045ca, 0x00007000, 0x000024a7, 0x00009583,
- 0x00001ca7, 0x00001583, 0x000024a7, 0x00009583, 0x00004733, 0x0000f018,
- 0x000047eb, 0x00007008, 0x000047f2, 0x0000f010, 0x0002f8a8, 0x00006502,
- 0x2ac2e050, 0x00008000, 0x2840405f, 0x000017a0, 0x0b0000a1, 0x00007920,
- 0x00000200, 0x00000380, 0x0000472b, 0x00007228, 0x4515202c, 0x00006927,
- 0x0002d8a8, 0x0000e502, 0x2ac2c0ab, 0x00008000, 0x2840405b, 0x000097a0,
- 0x0a8000a1, 0x00007920, 0x00000200, 0x00000380, 0x00004723, 0x0000f228,
- 0x4515202a, 0x00006927, 0x0002b8a8, 0x0000e502, 0x2ac2a0ab, 0x00008000,
- 0x28404057, 0x000097a0, 0x0a0000a1, 0x0000f920, 0x00000200, 0x00000380,
- 0x00004710, 0x0000f228, 0x0cc25ca1, 0x0000e020, 0x45152028, 0x00003127,
- 0xffffffff, 0x00007f86, 0x000004a1, 0x00001583, 0x2a024849, 0x0000e108,
- 0x28404849, 0x00004790, 0x284018a1, 0x00001890, 0x2a0248a1, 0x00009010,
- 0xffffffff, 0x00007f86, 0x898540ab, 0x0000f80b, 0xe2000000, 0x0000a48c,
- 0xe847fb37, 0x0000e282, 0xc00000af, 0x00002406, 0xab800000, 0x00001980,
- 0x00004836, 0x0000f011, 0x2ad1ba37, 0x00006100, 0x28400b35, 0x0000c180,
- 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0x000508ab, 0x0000e502,
- 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000,
- 0x700900ec, 0x0000d680, 0x003d4fc0, 0x00000078, 0x00004833, 0x0000f208,
- 0x0e41d83b, 0x0000e100, 0xaac00a37, 0x00004090, 0x8dc00a37, 0x00006080,
- 0x29800000, 0x00008980, 0x28401aab, 0x00006080, 0x29c00000, 0x0000c980,
- 0x2b41e0a1, 0x0000e002, 0x26800000, 0x00000981, 0x2b00003d, 0x00001084,
- 0x0000e8ae, 0x0000e485, 0x008040af, 0x0000b586, 0xaba80500, 0x0000e100,
- 0x000040aa, 0x00006586, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000,
- 0x703d68ec, 0x00005600, 0x003d6000, 0x00008000, 0x703d50ec, 0x0000d600,
- 0x003d4800, 0x00008000, 0x00c002ec, 0x0000df80, 0x1481380b, 0x00009684,
- 0x00000c9a, 0x00001583, 0x2a009000, 0x00009991, 0x000045fe, 0x0000f011,
- 0x00004765, 0x0000f000, 0xb91d23a4, 0x00006100, 0x0cc008a1, 0x00004080,
- 0x285190a2, 0x0000e100, 0x060800a6, 0x00008180, 0x130260a1, 0x00006002,
- 0x0c452a32, 0x00008000, 0x1340004d, 0x00009084, 0x00000000, 0x00007083,
- 0x0000481b, 0x00007400, 0x4dc00000, 0x00000ad8, 0xa6800000, 0x00000adc,
- 0xa84022a8, 0x00006080, 0x0c05749a, 0x00006084, 0xa87ffaa1, 0x00007900,
- 0x00000002, 0x00008280, 0xaa8022a8, 0x0000e080, 0x001508af, 0x0000e106,
- 0xaac09637, 0x00008a84, 0x285540a1, 0x00001100, 0xa84022a1, 0x00001880,
- 0xa93ffaa1, 0x00007900, 0x00000002, 0x00008280, 0x703d78ec, 0x0000d600,
- 0x003d7000, 0x00000000, 0x29000ca8, 0x00006081, 0x001520af, 0x0000e106,
- 0x703d38ec, 0x00005600, 0x003d3000, 0x00008000, 0x2924d4a4, 0x0000e001,
- 0x29c1d03a, 0x00008900, 0x703d50ec, 0x0000d600, 0x003d4800, 0x00008000,
- 0x2981d83b, 0x0000e100, 0x042520ae, 0x0000e085, 0xaabffaa1, 0x0000f900,
- 0x00000002, 0x00008280, 0x28400b35, 0x00009180, 0x703d78ec, 0x0000d600,
- 0x003d7000, 0x00000000, 0x000508ab, 0x00001502, 0x7039d0ec, 0x0000d600,
- 0x0039d800, 0x00000000, 0x703d50ec, 0x0000d600, 0x003d4800, 0x00008000,
- 0x0000481b, 0x0000f240, 0x2ac00a37, 0x0000e0c8, 0x26800800, 0x000009c1,
- 0x26800800, 0x00001981, 0x284018ab, 0x00009880, 0x0000481b, 0x00007400,
- 0x2b45083c, 0x00001002, 0x2b00003d, 0x00001084, 0x2a021300, 0x0000f904,
- 0x288528a2, 0x0000e100, 0x0e0184a1, 0x0000a080, 0x000510a8, 0x0000e502,
- 0x28400ca1, 0x00000081, 0x29821300, 0x00007904, 0x8c800e32, 0x0000e181,
- 0x82250830, 0x00002080, 0x0000485f, 0x00007228, 0x294540a8, 0x0000e100,
- 0x108510a2, 0x00004920, 0xb91d23a4, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0xccc7fb37, 0x00009282, 0x0e81c038, 0x00006110,
- 0x0ec1c839, 0x0000c910, 0x0cc00380, 0x00001990, 0x00004571, 0x0000f008,
- 0x80000237, 0x0000e582, 0x8ce80500, 0x00008900, 0xa8800b35, 0x00006188,
- 0xa8800a37, 0x00000190, 0x75e80033, 0x00006901, 0x800002a2, 0x0000e582,
- 0x8dd512a2, 0x00000900, 0x28800aa2, 0x0000e190, 0x28800b35, 0x00008188,
- 0x700040ec, 0x00005680, 0x00399cc4, 0x00000010, 0x0cf20004, 0x00006180,
- 0xa8801aa2, 0x0000c880, 0x1281e2a2, 0x00006002, 0x04181033, 0x00002187,
- 0x1240003d, 0x00009084, 0x703a50ec, 0x00005600, 0x003a4800, 0x00000000,
- 0x700040ec, 0x00005680, 0x00399fc0, 0x00000078, 0x00c002ec, 0x0000df80,
- 0x1484400b, 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x0cc00ce0, 0x00001283, 0x00004907, 0x00007013, 0x803992a1, 0x00006502,
- 0xa97992a1, 0x00000100, 0x9247faa5, 0x0000e280, 0x2a01c038, 0x00008928,
- 0x29c1c839, 0x00006128, 0xa8802d00, 0x0000c880, 0x80007249, 0x00006582,
- 0x8ce80500, 0x00008900, 0x29400c49, 0x0000e0d1, 0x29408000, 0x000009b9,
- 0x12000000, 0x0000f900, 0x000010c4, 0x00008980, 0xccd812a2, 0x00006080,
- 0xa84024a5, 0x00000880, 0x28400a49, 0x0000e080, 0x00150848, 0x00002106,
- 0x28a528a1, 0x00009100, 0x703a40ec, 0x0000d600, 0x00399800, 0x00008000,
- 0x12320004, 0x00006180, 0x0cc020a2, 0x0000c880, 0x2840f833, 0x0000e784,
- 0x04181048, 0x00002187, 0x12454033, 0x00001002, 0x12800000, 0x00007900,
- 0x00007fc0, 0x00000980, 0x928024a5, 0x0000e080, 0x0cc538a1, 0x00004004,
- 0x703a48ec, 0x00005600, 0x00399800, 0x00008000, 0x703a50ec, 0x00005600,
- 0x003a4000, 0x00008000, 0x00c002ec, 0x0000df80, 0x1485e80b, 0x00009684,
- 0x00004591, 0x00007200, 0x28800ca5, 0x00009181, 0x000250a8, 0x00001502,
- 0xa8402302, 0x0000e7a0, 0x2980404a, 0x000087a0, 0x098000a6, 0x0000f920,
- 0x00000200, 0x00000380, 0x00004947, 0x00007028, 0x0000544b, 0x00006583,
- 0x45150826, 0x0000a107, 0x00004632, 0x00007013, 0x000270a8, 0x00009502,
- 0xa8b71ee3, 0x0000e128, 0x0980404e, 0x000047a0, 0x0a0000a6, 0x00007920,
- 0x00000200, 0x00000380, 0x00004632, 0x0000f420, 0x09800026, 0x00007920,
- 0x00000200, 0x00000380, 0x45150828, 0x00006127, 0x45150826, 0x0000b127,
- 0x8e8528a2, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a5, 0x00001583,
- 0x91403800, 0x00006199, 0x28401800, 0x00004999, 0x00004939, 0x0000f031,
- 0x48d944f5, 0x0000f100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03a41000, 0x0000f900,
- 0x003aa5f4, 0x00000980, 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x48e71bac, 0x0000f500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02225c4b, 0x00004900,
- 0x000024ab, 0x00009583, 0x00001cab, 0x00001583, 0x000024ab, 0x00009583,
- 0x00004733, 0x0000f018, 0x000048f2, 0x0000f008, 0x000048f7, 0x0000f010,
- 0x2a02e050, 0x0000e000, 0x0a00405f, 0x00008780, 0x0b000028, 0x00007900,
- 0x00000200, 0x00000380, 0x4515082c, 0x0000e907, 0x2a02c0a8, 0x0000e000,
- 0x0a00405b, 0x00000780, 0x0a800028, 0x00007900, 0x00000200, 0x00000380,
- 0x4515082a, 0x0000e907, 0x2a02a0a8, 0x0000e000, 0x2ac04057, 0x00008780,
- 0x0000478e, 0x00007400, 0x0a0000ab, 0x00007900, 0x00000200, 0x00000380,
- 0x45150828, 0x00006907, 0x00004054, 0x00006582, 0x0cc00800, 0x00000980,
- 0xa8771ee3, 0x00001910, 0x8e8510a1, 0x0000a094, 0x00004929, 0x00007008,
- 0xffffffff, 0x00007f97, 0x000204a2, 0x00009583, 0x0000491c, 0x0000f033,
- 0x490744f5, 0x0000f300, 0xd1401804, 0x00000ac6, 0x49081c02, 0x00007100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000, 0x00007910,
- 0x001f8000, 0x00008980, 0x876f2004, 0x0000e190, 0x00001004, 0x0000e412,
- 0x0000489b, 0x0000f008, 0x043d181d, 0x00006101, 0x60001008, 0x0000b403,
- 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x8047f800, 0x00009981,
- 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x01000020, 0x00006180,
- 0x01909212, 0x0000c900, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03ac7800, 0x0000f900, 0x00018f3e, 0x00000980, 0x41000002, 0x000000dc,
- 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106, 0x49291bac, 0x0000f500,
- 0x82600500, 0x00008026, 0x02172854, 0x0000e200, 0x02c01002, 0x00008900,
- 0x6841054b, 0x00001283, 0xa8b71ee3, 0x00001910, 0x8e8528a2, 0x00002094,
- 0x0000494f, 0x00007008, 0xffffffff, 0x00007f97, 0x000204a5, 0x00001583,
- 0x01909212, 0x0000e130, 0x01000020, 0x000049b0, 0x81001000, 0x0000e1b0,
- 0x01c00000, 0x0000c9b0, 0x00004905, 0x00007018, 0x00004923, 0x00007400,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x0394d000, 0x0000f900,
- 0x003e8e2c, 0x00008980, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03be8800, 0x0000f900,
- 0x002d26b2, 0x00000980, 0x019728a9, 0x0000e200, 0x08001a09, 0x00002106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x49471bac, 0x00007500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217284e, 0x0000c200,
- 0xa8771ee3, 0x00009900, 0x8e8510a1, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x000204a2, 0x00009583, 0x91403000, 0x0000e199, 0x28401800, 0x00004999,
- 0x00004952, 0x00007031, 0x494f44f5, 0x00007100, 0x00004632, 0x00007400,
- 0xa8402302, 0x00009780, 0x45150826, 0x0000e907, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03ad4800, 0x00007900, 0x0014bcaa, 0x00000980, 0x019728a9, 0x0000e200,
- 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x49601bac, 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x0217284a, 0x00004200, 0x09800ce0, 0x00006283, 0x0c400000, 0x00000980,
- 0x00004971, 0x0000f013, 0x09800100, 0x00006180, 0xa8402302, 0x0000c780,
- 0x00004627, 0x0000f400, 0x45150826, 0x00006107, 0x80001030, 0x00003480,
- 0x8c800800, 0x00001981, 0xa8b71ee3, 0x00009900, 0x8e8528a2, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a5, 0x00001583, 0x91404800, 0x0000e199,
- 0x28401800, 0x00004999, 0x00004986, 0x00007031, 0x497144f5, 0x0000f100,
- 0x49721c02, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x07400000, 0x00007910, 0x001f8000, 0x00008980, 0x876f2004, 0x0000e190,
- 0x00001004, 0x0000e412, 0x00004963, 0x0000f008, 0x043d181d, 0x00006101,
- 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403,
- 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600,
- 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406,
- 0x8047f800, 0x00009981, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980,
- 0x019728a9, 0x0000e200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x49941bac, 0x0000f500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02172853, 0x0000c200, 0x09800ce0, 0x00006283,
- 0x0c400000, 0x00000980, 0x000049ae, 0x00007013, 0x000046dc, 0x00007400,
- 0x09800100, 0x00006180, 0xa8402302, 0x0000c780, 0x8c800800, 0x00006181,
- 0x45150826, 0x00006107, 0xa9771ee3, 0x00001900, 0x8e8508a5, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a1, 0x00009583, 0x018540a8, 0x00009930,
- 0x000046f3, 0x0000f019, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03bae800, 0x00007900,
- 0x0033d078, 0x00000980, 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x49ae1bac, 0x0000f500, 0x02fd5f02, 0x00000020,
- 0x81001000, 0x00009980, 0x49af1c02, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x07400000, 0x00007910, 0x001f8000, 0x00008980,
- 0x876f2004, 0x0000e190, 0x00001004, 0x0000e412, 0x00004997, 0x00007008,
- 0x043d181d, 0x00006101, 0x60001008, 0x0000b403, 0x40001009, 0x00006402,
- 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900, 0x00044010, 0x00000980,
- 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x8047f800, 0x00009981, 0x009806ec, 0x0000df80,
- 0x00005801, 0x00000084, 0xa8b71ee3, 0x00009900, 0x8e8528a2, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a5, 0x00001583, 0x91401800, 0x0000e199,
- 0x28401800, 0x00004999, 0x000049ce, 0x00007031, 0x49cb44f5, 0x00007100,
- 0x00004807, 0x0000f200, 0xab800000, 0x00006180, 0xc00000af, 0x0000e406,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03aef800, 0x0000f900, 0x00157fde, 0x00008980,
- 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x49dc1bac, 0x0000f500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02172831, 0x00004200, 0x00503000, 0x0000f900,
- 0x0004ffd0, 0x00008980, 0xa8c7f800, 0x00006181, 0x0e006ca1, 0x0000e002,
- 0xe8c2a000, 0x00006181, 0xa8ef2004, 0x00004980, 0x08000000, 0x000082c4,
- 0x08800000, 0x000082cc, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc,
- 0x0a000000, 0x00006180, 0x0a4a0004, 0x00004980, 0x0a800000, 0x0000e180,
- 0x0aca0004, 0x0000c980, 0x0b000000, 0x0000e180, 0x0b4a0004, 0x0000c980,
- 0x0b800000, 0x00006180, 0x0bca0004, 0x00004980, 0x40e09c0c, 0x000000c3,
- 0x0a6004a1, 0x0000c492, 0x22a0650d, 0x00009490, 0xf9a1850d, 0x0000c997,
- 0x8a82070c, 0x00001397, 0x02401200, 0x000080d0, 0xc0109312, 0x00006502,
- 0x01420000, 0x00000980, 0x02000000, 0x00007900, 0x00040000, 0x00000980,
- 0x40001009, 0x0000e40a, 0x60001008, 0x0000340b, 0x01800000, 0x00006180,
- 0xa0001009, 0x0000640a, 0x00004b01, 0x00007408, 0x01c00000, 0x000080e8,
- 0x02c00000, 0x000000f2, 0x0e4184a6, 0x0000e000, 0x2000080a, 0x00003402,
- 0x0000380a, 0x0000e407, 0x40001009, 0x00003402, 0x00001823, 0x00006106,
- 0xd0000821, 0x00003404, 0x284044a6, 0x00006080, 0x6000080a, 0x00006403,
- 0xa9bf1fe3, 0x00006100, 0x60001008, 0x0000e403, 0x0000080f, 0x0000e401,
- 0xa0000825, 0x00003401, 0xc0001027, 0x00006406, 0xa0001009, 0x0000b402,
- 0x0c3bf830, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0001823, 0x0000e006,
- 0x90001821, 0x0000b403, 0x38424000, 0x0000e181, 0xa000080a, 0x00006403,
- 0x72bd38a6, 0x00002084, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089e0, 0x26400001, 0x000089e8,
- 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8, 0x27c00000, 0x00006180,
- 0x25c500a0, 0x00004900, 0x08a81402, 0x00008208, 0x0580b0a1, 0x00001000,
- 0x28410430, 0x0000e283, 0xa9400000, 0x00008981, 0x28402430, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00004b2a, 0x0000f010, 0x00004f48, 0x0000f010,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x40322d43, 0x00001503,
- 0x00004f0e, 0x0000f033, 0x80122212, 0x00009502, 0x91400e45, 0x0000e0e9,
- 0x78424000, 0x000009e9, 0x28722d43, 0x00001168, 0x00004f0e, 0x0000f060,
- 0xffffffff, 0x00007fa7, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x29000e4b, 0x00006180, 0x28b25e4b, 0x00000901, 0xe1c527a1, 0x0000434b,
- 0x0080854b, 0x00000090, 0x48201e4b, 0x00004489, 0x548018a4, 0x0000178f,
- 0xf40018a4, 0x0000c1b9, 0x00a008a4, 0x00000088, 0x918010a4, 0x0000f892,
- 0xea400000, 0x00002f8c, 0xe9c020a4, 0x0000f88b, 0x02c00001, 0x00000000,
- 0x918028a4, 0x00007892, 0x22400000, 0x00002f8d, 0x91800e4b, 0x0000f8d2,
- 0x2a400000, 0x0000af8e, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x91401645, 0x00009081,
- 0x26800000, 0x00009981, 0xce402c4b, 0x0000789b, 0x02400001, 0x00008000,
- 0x02c02c4b, 0x0000418b, 0x00a0854b, 0x00008090, 0x0000144b, 0x000078b2,
- 0x00000000, 0x00000000, 0x0001054b, 0x0000788c, 0x00000000, 0x00000000,
- 0xf5800c4f, 0x0000f88f, 0x02800001, 0x00008060, 0xf3400049, 0x0000788b,
- 0x02800001, 0x00008000, 0xe9453853, 0x0000781a, 0xdac00000, 0x00002582,
- 0xda400049, 0x0000f88b, 0x02c00001, 0x00000000, 0xd6453853, 0x0000f81b,
- 0x02c00000, 0x0000ac80, 0x20000049, 0x0000788b, 0x4ac00000, 0x0000ad8e,
- 0x2900164b, 0x0000e181, 0x29804053, 0x00008780, 0x00000ca4, 0x00006583,
- 0xa9402302, 0x00008780, 0x098000a6, 0x00007900, 0x00000200, 0x00000380,
- 0x0c424849, 0x00006100, 0x45152826, 0x0000e107, 0x00005b4c, 0x00007218,
- 0x8c80164b, 0x00006181, 0x2a028050, 0x00008900, 0x0cc25ca6, 0x00006800,
- 0x000004a6, 0x00009583, 0x29024849, 0x0000e108, 0x29804849, 0x0000c790,
- 0x298018a6, 0x00001890, 0x290248a6, 0x00001010, 0xffffffff, 0x00007f86,
- 0x00052050, 0x00009502, 0x00005e65, 0x0000f013, 0xa9408000, 0x0000e181,
- 0x80001030, 0x00006480, 0x00000031, 0x0000e582, 0x0cc00800, 0x00000980,
- 0x00000031, 0x00007900, 0x00200000, 0x00008582, 0xffffffff, 0x00007f86,
- 0x00004a7c, 0x00007008, 0x00005e91, 0x0000f018, 0x29919232, 0x00006300,
- 0x0cc00831, 0x0000c180, 0x0cc19a32, 0x00009000, 0x0cc53033, 0x00001700,
- 0x6840154b, 0x0000e283, 0x292a5d4b, 0x00000901, 0x0c3df830, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00005d13, 0x0000f011, 0x6840254b, 0x00001283,
- 0x00005d05, 0x0000f013, 0x0000244b, 0x0000e583, 0x50000899, 0x00002402,
- 0x261a5f18, 0x00008926, 0x28404033, 0x000098b0, 0x00005d6d, 0x0000f018,
- 0x2980b8a1, 0x00009100, 0x2840c0a6, 0x00009002, 0x07c18831, 0x00006160,
- 0x0e01841e, 0x0000e0e0, 0x26400899, 0x000063e0, 0x0fc1841c, 0x0000a060,
- 0x00005747, 0x0000f068, 0x0e025ca1, 0x0000e000, 0x00000099, 0x00003401,
- 0x29a50c1c, 0x0000e301, 0x60000099, 0x00002403, 0x0f8184a1, 0x0000e000,
- 0xe0000099, 0x0000b401, 0x0000b015, 0x0000e502, 0x04253099, 0x00002001,
- 0x07400000, 0x00006180, 0x0e421ca6, 0x00006000, 0x07003ca6, 0x0000e081,
- 0x65a50899, 0x0000e003, 0x07400800, 0x00006188, 0x08021ca1, 0x00006084,
- 0x66a50c1c, 0x00006301, 0xe4418099, 0x0000a001, 0x0000001d, 0x00007888,
- 0x00000000, 0x00000000, 0x00000833, 0x000078b0, 0x00000000, 0x00008020,
- 0xb900144b, 0x0000789b, 0x02400001, 0x00008060, 0x54e1054b, 0x0000498d,
- 0xd4801c4b, 0x0000928f, 0xd000009f, 0x00006403, 0xe0000030, 0x00003400,
- 0x0700a01f, 0x0000e080, 0x28403833, 0x00000880, 0x2985081c, 0x00009000,
- 0x001518a6, 0x00009502, 0x24400000, 0x00001999, 0x00004bfe, 0x0000f019,
- 0x00001c4b, 0x00009583, 0x00004c4e, 0x0000f00b, 0x0000001d, 0x00009582,
- 0x05880016, 0x00001088, 0x00005cff, 0x0000f011, 0x07004033, 0x0000e080,
- 0x10004099, 0x0000e406, 0x29a0faec, 0x00006101, 0x0600c01c, 0x00008000,
- 0x07020430, 0x0000e283, 0x15825899, 0x0000a000, 0xa8400a12, 0x0000e080,
- 0x28801ca6, 0x00008281, 0x20a51099, 0x0000e002, 0xd000009f, 0x00003403,
- 0xccb25e4b, 0x0000e101, 0xcdd9be4b, 0x0000c000, 0xa6e0fd32, 0x0000092c,
- 0x00004ac8, 0x0000f410, 0x27419833, 0x00006100, 0x84800a12, 0x0000c080,
- 0xe6950aa1, 0x00009900, 0x07000c30, 0x00001283, 0xd702789f, 0x0000e009,
- 0xe000089f, 0x0000b411, 0xa850fea5, 0x00006000, 0xa9803a33, 0x00008880,
- 0x4700854b, 0x0000e283, 0xa90022a1, 0x00000080, 0xa85532a4, 0x0000e000,
- 0xf482589f, 0x00002001, 0x0c400000, 0x0000e180, 0x24024048, 0x0000c900,
- 0x247a674d, 0x00008908, 0x24f8ff4e, 0x00000910, 0x000058db, 0x00007410,
- 0x2701a034, 0x0000e100, 0x0700941e, 0x00004089, 0xa8950ca2, 0x00009000,
- 0x8000221c, 0x00006486, 0x00001025, 0x0000b406, 0x0030e0ec, 0x00005702,
- 0x00006000, 0x00008080, 0xc0109312, 0x00006502, 0x0797f880, 0x00008980,
- 0x000838ec, 0x0000d780, 0x00006000, 0x00008080, 0x29800f9b, 0x00006181,
- 0x49400000, 0x00000981, 0x081cb000, 0x00007900, 0x00032040, 0x00008980,
- 0x000040ec, 0x00005780, 0x00006001, 0x00000080, 0xb2e5301e, 0x00006004,
- 0x80001825, 0x0000b403, 0x00004be2, 0x0000f408, 0x07400000, 0x000081fc,
- 0x07000802, 0x00009980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008120ec, 0x00005780, 0x00006001, 0x00000080,
- 0xc0000f9b, 0x00006583, 0xa8d512a3, 0x00008100, 0xe8c087a3, 0x00006189,
- 0xe8c0e7a3, 0x00000191, 0x6841054b, 0x00001283, 0x00005cf9, 0x00007013,
- 0xc000dfa3, 0x00006583, 0xa8c036a3, 0x00000181, 0x00004b01, 0x00007033,
- 0x28449a32, 0x00009080, 0x001518a1, 0x00001502, 0x0c007ca6, 0x00006848,
- 0x00004b01, 0x00007041, 0x00000ca6, 0x00007888, 0x00000000, 0x00000000,
- 0x87d89212, 0x0000f86a, 0x02400001, 0x00000010, 0x6021ac12, 0x0000c963,
- 0x3e800c30, 0x00009294, 0xffffffff, 0x00007f86, 0x68410530, 0x00001283,
- 0x0000d834, 0x00009502, 0xffffffff, 0x00007f86, 0x00004b0b, 0x0000f008,
- 0x00005cb2, 0x00007008, 0xc0109312, 0x00009502, 0x80000809, 0x0000e40a,
- 0xa000080a, 0x0000b40b, 0x0681a034, 0x00009908, 0x28800000, 0x00007900,
- 0x001f8000, 0x00008980, 0xc0109312, 0x00006502, 0x001518a2, 0x0000a186,
- 0xc4122a45, 0x0000e108, 0xc41a2344, 0x0000c910, 0x40322d43, 0x0000e503,
- 0x043d18a2, 0x00002101, 0x80751ea3, 0x00006101, 0xd0000809, 0x00006401,
- 0x203d16ec, 0x00005600, 0x003d0000, 0x00008000, 0x00005ccc, 0x00007230,
- 0x28322e45, 0x00001901, 0x28410430, 0x00001283, 0x28722d43, 0x0000e108,
- 0x28803700, 0x00000189, 0x280094a0, 0x00006089, 0x91400000, 0x00008989,
- 0x00005ccc, 0x00007010, 0x000030a1, 0x00001582, 0x28403000, 0x000019b8,
- 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380, 0xc0250ca2, 0x0000e001,
- 0x82250aa0, 0x0000a086, 0x50e50ca1, 0x00006101, 0x28803603, 0x0000c181,
- 0x80e50ca2, 0x00009001, 0x00b506ec, 0x0000df02, 0x00005800, 0x00008084,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x28402430, 0x00001283,
- 0x28b25e4b, 0x00001909, 0x00005ce0, 0x00007011, 0x26020430, 0x00001283,
- 0x00004b40, 0x0000f00b, 0x0e0184a1, 0x0000e880, 0x298014a1, 0x0000e081,
- 0x0e0184a1, 0x00006080, 0x298014a1, 0x0000e081, 0xb84244a6, 0x0000c081,
- 0xffffffff, 0x00007fc7, 0x2a821300, 0x00007904, 0x2a021300, 0x0000f904,
- 0x2ac55842, 0x0000e002, 0xb84244a6, 0x00000081, 0x2a0000a8, 0x00006084,
- 0x2a8210aa, 0x00008100, 0xffffffff, 0x0000ffb7, 0x10855500, 0x00007904,
- 0x10854500, 0x0000f904, 0x0c3ef830, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x29804033, 0x00006080, 0x28420430, 0x0000c481, 0x2980b8a6, 0x0000e100,
- 0x57e50899, 0x00002000, 0x2840c0a6, 0x00006002, 0x10800000, 0x00008980,
- 0xa678c34b, 0x00008920, 0x00004e5e, 0x00007069, 0x6a60244b, 0x00004299,
- 0x9c80144b, 0x000012b6, 0x5a003c4b, 0x0000f8b3, 0xea400000, 0x0000a687,
- 0x07010499, 0x00001283, 0x07000000, 0x0000e189, 0x07008000, 0x00004991,
- 0xffffffff, 0x00007f86, 0xa960e41c, 0x00009901, 0x0e01841d, 0x00006880,
- 0x2680141d, 0x00001181, 0x9f20854b, 0x00004495, 0xf2800031, 0x00009389,
- 0xa8c01c1d, 0x00004389, 0x00801c1d, 0x000080b0, 0x3080241d, 0x0000c589,
- 0x00802c1d, 0x00008092, 0xd880141d, 0x00007892, 0x3a400000, 0x00002687,
- 0xa8402302, 0x00006780, 0x2980405f, 0x00008780, 0x098000a6, 0x00007900,
- 0x00000200, 0x00000380, 0x45150826, 0x0000e907, 0x26400899, 0x00006380,
- 0x0fc1841c, 0x0000a000, 0x0e025ca1, 0x0000e000, 0x00000099, 0x00003401,
- 0x29a50c1c, 0x0000e301, 0x60000099, 0x00002403, 0x0f8184a1, 0x0000e000,
- 0xe0000099, 0x0000b401, 0x0000b015, 0x0000e502, 0x04253099, 0x00002001,
- 0x0e421ca6, 0x00006000, 0x65a50899, 0x0000b003, 0x29000000, 0x0000e180,
- 0x08021ca1, 0x00006084, 0x07003ca6, 0x0000e081, 0x29000800, 0x0000c988,
- 0x29803833, 0x00006080, 0x66a50c1c, 0x0000c301, 0x0700a031, 0x0000e080,
- 0xe4418099, 0x0000a001, 0x0705301c, 0x00006000, 0x07818831, 0x00000900,
- 0x000000a4, 0x0000f888, 0x00000000, 0x00000000, 0x00000833, 0x000078b0,
- 0x00000000, 0x00008020, 0x2f40144b, 0x0000f89b, 0x02400001, 0x00008060,
- 0x7001054b, 0x0000c98d, 0x4c801c4b, 0x00009389, 0xd000009f, 0x00006403,
- 0xe0000030, 0x00003400, 0x0015181c, 0x00001502, 0x00001c4b, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00004c5b, 0x0000f018, 0x00004c51, 0x00007008,
- 0x000000a4, 0x00001582, 0x05880016, 0x0000e088, 0x60000808, 0x0000a413,
- 0xc0001008, 0x00006413, 0x60001005, 0x00003412, 0x00004b8f, 0x0000f008,
- 0x0c040030, 0x00006380, 0x0000000f, 0x0000a401, 0x07004033, 0x0000e080,
- 0x10004099, 0x0000e406, 0x2860f2ec, 0x00006101, 0x0600c01c, 0x00008000,
- 0x07020430, 0x0000e283, 0x15825899, 0x0000a000, 0xa9800a12, 0x00006080,
- 0x28801ca1, 0x00000281, 0x20a51099, 0x0000e002, 0xd000009f, 0x00003403,
- 0xccb25e4b, 0x0000e101, 0xcdd9be4b, 0x0000c000, 0xa6e0f532, 0x0000892c,
- 0x00004ba3, 0x0000f410, 0x27419833, 0x00006100, 0x84800a12, 0x0000c080,
- 0xe69532a6, 0x00009900, 0x07000c30, 0x00001283, 0xd702789f, 0x0000e009,
- 0xe000089f, 0x0000b411, 0xa990f6a5, 0x00006000, 0xa8403a33, 0x00000880,
- 0xa90022a6, 0x0000e080, 0xf482589f, 0x00002001, 0xa9950aa4, 0x0000e000,
- 0x0c400000, 0x00000980, 0xa89534a2, 0x0000e000, 0x24024048, 0x00000900,
- 0x4700854b, 0x0000e283, 0x2442684d, 0x00008900, 0x24ba774c, 0x0000090c,
- 0x2539a71e, 0x00000930, 0x00004ad6, 0x0000f208, 0xe8c027a3, 0x0000e091,
- 0x0700a000, 0x00000989, 0x79006543, 0x00004389, 0x00806543, 0x00008098,
- 0x8b004543, 0x00004389, 0x00804543, 0x000000b0, 0x01c05543, 0x0000c588,
- 0x01005543, 0x0000809e, 0x13803543, 0x00004588, 0x09c03d43, 0x00008997,
- 0x79c07d43, 0x00004389, 0x00807d43, 0x000080b0, 0x7a408d43, 0x00004489,
- 0xa0808d43, 0x000012af, 0x02c09543, 0x00004788, 0x09606d43, 0x0000008e,
- 0xf3007543, 0x0000f88a, 0xa2400000, 0x0000a682, 0x1b000000, 0x000086f4,
- 0x1bc00000, 0x000086f8, 0x1c000000, 0x000087c4, 0x1cc00000, 0x000087c8,
- 0x1d000000, 0x000087d4, 0x1dc00000, 0x000087d8, 0x1e000000, 0x000087e4,
- 0x1ec00000, 0x000087e8, 0x1f000000, 0x000087f4, 0x1fc00000, 0x000087f8,
- 0x20000000, 0x000088c4, 0x20c00000, 0x000088c8, 0x21000000, 0x000088d4,
- 0x21c00000, 0x000088d8, 0x22000000, 0x000088e4, 0x22c00000, 0x000088e8,
- 0x23000000, 0x000088f4, 0x23c00000, 0x000088f8, 0x0700a000, 0x00001981,
- 0xc0109312, 0x00006502, 0x8000821c, 0x0000a486, 0x097f8025, 0x00007900,
- 0x003ffffe, 0x00008280, 0x0030e0ec, 0x00005702, 0x00006000, 0x00008080,
- 0x49400000, 0x00009981, 0x0800b000, 0x0000f900, 0x0005a0c0, 0x00008980,
- 0x00004ae9, 0x0000f410, 0x001040ec, 0x0000d780, 0x00006000, 0x00008080,
- 0x80000025, 0x00006c03, 0xc0000f9b, 0x00006583, 0xa8d512a3, 0x00008100,
- 0x000120ec, 0x0000d780, 0x00006001, 0x00000080, 0xe8c0e7a3, 0x00006191,
- 0xe8c087a3, 0x00000189, 0xbd01054b, 0x0000f88e, 0xca400000, 0x0000ae87,
- 0x07020c30, 0x00006283, 0x29820c30, 0x00000281, 0x29000000, 0x00006190,
- 0x0fc278a4, 0x0000e008, 0x47020530, 0x00001283, 0x07000800, 0x00009990,
- 0x07000000, 0x00001988, 0x00004bf4, 0x0000f010, 0x00000ca6, 0x00001583,
- 0x07000800, 0x00009988, 0x0011901f, 0x00006502, 0xe0000030, 0x0000a400,
- 0xe7a0e09f, 0x0000e801, 0xd765209f, 0x0000e801, 0x000004a4, 0x00001583,
- 0x0000041c, 0x00001583, 0x00004aa9, 0x00007030, 0x00004bfd, 0x0000f010,
- 0x00004aa9, 0x0000f008, 0x24400800, 0x00009981, 0x0700141e, 0x0000e081,
- 0xa88026a5, 0x0000c080, 0xb842441c, 0x0000e081, 0x0cc25ca6, 0x00002000,
- 0x284402a2, 0x0000e080, 0x08151aa3, 0x00008900, 0x000004a6, 0x00006583,
- 0x28450a32, 0x00000000, 0x267ff099, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x90803232, 0x00006790, 0x90800000, 0x00008988, 0x00050820, 0x0000e502,
- 0x00000099, 0x0000a401, 0x07021300, 0x0000f904, 0xf482589f, 0x0000e001,
- 0x60000099, 0x0000b403, 0x24821300, 0x0000f904, 0x0c030030, 0x0000e380,
- 0xa6c00000, 0x00008980, 0x00004c2f, 0x00007448, 0xe6c00800, 0x0000e181,
- 0x2900e01c, 0x00004900, 0x87519232, 0x00006100, 0x08000c91, 0x0000c4c1,
- 0x24800000, 0x00001981, 0xa4d2121d, 0x00001000, 0x001498a4, 0x0000e502,
- 0x24549a93, 0x00008900, 0x00004c40, 0x0000f02b, 0x290488a4, 0x00006100,
- 0x0cc00833, 0x00008180, 0xa4440232, 0x00006080, 0x0c519031, 0x00008100,
- 0xa8948aa2, 0x00006000, 0x06080018, 0x00000080, 0x244402a2, 0x0000e080,
- 0xa6d1929b, 0x00000000, 0x24448a32, 0x00006000, 0x2740089d, 0x00000080,
- 0x00151891, 0x0000e502, 0x24800c92, 0x00000081, 0x24400000, 0x000019d1,
- 0x00004c2f, 0x0000f039, 0x00000492, 0x00001583, 0x24400800, 0x00001989,
- 0xffffffff, 0x00007f86, 0x24610491, 0x00001303, 0x00004c18, 0x0000f013,
- 0x000000a4, 0x0000e582, 0xe6909212, 0x00000900, 0x8c800e32, 0x00006189,
- 0x0e0184a1, 0x00002088, 0x28400ca1, 0x0000e089, 0x10800000, 0x00000988,
- 0x267f7899, 0x0000f900, 0x003ffffe, 0x00008280, 0x1085201c, 0x00006110,
- 0x82250830, 0x0000a088, 0x4700854b, 0x0000e283, 0x2442684d, 0x00008900,
- 0x24ba774c, 0x0000090c, 0x2539a71f, 0x00008930, 0x00004ad6, 0x0000f208,
- 0x0700941e, 0x00001089, 0x000058db, 0x00007000, 0x07021300, 0x0000f904,
- 0xa4d52293, 0x0000e100, 0x0e0184a6, 0x00002080, 0x0014981c, 0x0000e502,
- 0x28400ca6, 0x00008081, 0x29021300, 0x0000f904, 0xe6c00f9b, 0x00006081,
- 0x82250830, 0x00002080, 0x00004c40, 0x00007428, 0x8c800e32, 0x0000e181,
- 0x24549a93, 0x00008900, 0x87519232, 0x0000e120, 0x2900e01c, 0x00004900,
- 0x00004c1c, 0x0000f000, 0x00004ab4, 0x0000f200, 0x05480015, 0x00006080,
- 0x05880016, 0x00000080, 0x00004b8f, 0x0000f200, 0x05480015, 0x00006080,
- 0x05880016, 0x00000080, 0x18000000, 0x000086c4, 0x18c00000, 0x000086c8,
- 0x19000000, 0x000086d4, 0x19c00000, 0x000086d8, 0x00004bc2, 0x0000f400,
- 0x1a000000, 0x000086e4, 0x1ac00000, 0x000086e8, 0x10800000, 0x00009981,
- 0x0740141d, 0x00006081, 0xa88026a5, 0x0000c080, 0xb842441d, 0x00006081,
- 0x0cc25ca6, 0x00002000, 0x284402a2, 0x0000e080, 0x07d51aa3, 0x00008900,
- 0x000004a6, 0x00006583, 0x28450a32, 0x00000000, 0x267ff099, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x88003232, 0x0000e790, 0x88000000, 0x00000988,
- 0x0005081f, 0x0000e502, 0x00000099, 0x0000a401, 0x07021300, 0x0000f904,
- 0xf482589f, 0x0000e001, 0x60000099, 0x0000b403, 0x24821300, 0x0000f904,
- 0x0c030030, 0x0000e380, 0xa6c00000, 0x00008980, 0x00004c8d, 0x0000f448,
- 0xe6c00800, 0x0000e181, 0x2900e01c, 0x00004900, 0x28400c42, 0x0000e4c1,
- 0x87519232, 0x00008900, 0x10800000, 0x00009981, 0xa451021d, 0x00001000,
- 0x001488a4, 0x00006502, 0x07d48a91, 0x00008900, 0x00004c98, 0x0000f02b,
- 0x2900f8a4, 0x00006100, 0x0cc00833, 0x00008180, 0x87c40232, 0x00006080,
- 0x0c519031, 0x00008100, 0xa890faa2, 0x00006000, 0x06080018, 0x00000080,
- 0x07c402a2, 0x0000e080, 0xa6d1929b, 0x00000000, 0x07c0fa32, 0x00006000,
- 0x2740089d, 0x00000080, 0x0015181f, 0x0000e502, 0x10800c42, 0x00000081,
- 0x07c00000, 0x000019d1, 0x00004c8d, 0x00007039, 0x00000442, 0x00009583,
- 0x07c00800, 0x00001989, 0xffffffff, 0x00007f86, 0x07e50c1f, 0x00001303,
- 0x00004c76, 0x00007013, 0x000000a4, 0x0000e582, 0xe6909212, 0x00000900,
- 0x8c800e32, 0x00006189, 0x0e0184a1, 0x00002088, 0x28400ca1, 0x0000e089,
- 0x10800000, 0x00000988, 0x00004bab, 0x0000f400, 0x267f7899, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x1085201c, 0x00006110, 0x82250830, 0x0000a088,
- 0xa4552291, 0x0000e100, 0x0e01841c, 0x0000a080, 0x07000c1c, 0x00006081,
- 0xe6c00f9b, 0x00000081, 0x8c800e32, 0x0000e181, 0x8220e030, 0x00002080,
- 0x07021300, 0x0000f904, 0x0014881c, 0x00006502, 0x07d48a91, 0x00008900,
- 0x24821300, 0x0000f904, 0x87519232, 0x0000e120, 0x2900e01c, 0x00004900,
- 0x00004c98, 0x0000f028, 0x00004c7a, 0x0000f000, 0x07c20c30, 0x00006283,
- 0x28420c30, 0x00008281, 0x07c00000, 0x00006190, 0x0fc2781f, 0x0000e008,
- 0x47420530, 0x00009283, 0x29000800, 0x00009990, 0x29000000, 0x00001988,
- 0x00004cb0, 0x00007010, 0x00000ca1, 0x00009583, 0x29000800, 0x00009988,
- 0xe0000030, 0x0000ec00, 0xe7a5209f, 0x0000e801, 0xd760f89f, 0x0000e801,
- 0x00119031, 0x00007832, 0x00000000, 0x00000000, 0x9760041f, 0x00004491,
- 0x768004a4, 0x00001391, 0x16d5181c, 0x0000f81b, 0x8a400000, 0x0000a682,
- 0x16d5181c, 0x0000f81b, 0x8a400000, 0x0000a682, 0x00004c5c, 0x0000f200,
- 0x10800800, 0x00001981, 0x2840141d, 0x0000e081, 0xa88026a5, 0x0000c080,
- 0xb84244a1, 0x0000e081, 0x298402a2, 0x00000080, 0x28453232, 0x0000e000,
- 0x00000099, 0x0000a401, 0x60000808, 0x0000e403, 0x60000099, 0x0000b403,
- 0x60001005, 0x0000e402, 0x0000000f, 0x00003401, 0xf000009f, 0x00006401,
- 0xc0001008, 0x0000b403, 0x0c030030, 0x0000e380, 0xc0000899, 0x0000a403,
- 0x07021300, 0x0000f904, 0x874006a3, 0x000009ad, 0x0005081d, 0x00006502,
- 0xe6c00800, 0x00000981, 0x24821300, 0x0000f904, 0x2921971c, 0x0000013c,
- 0x00004c8d, 0x00007048, 0x0011901c, 0x00009502, 0x2911901c, 0x00006120,
- 0x0cc00833, 0x000001a0, 0x0c519031, 0x00006120, 0x06080018, 0x000080a0,
- 0x00004d54, 0x00007028, 0x00004c8d, 0x0000f400, 0xa8440232, 0x00006080,
- 0xa6d1929b, 0x00000000, 0xa8950aa2, 0x00006000, 0x2740089d, 0x00000080,
- 0x2980405b, 0x00006780, 0x2840405f, 0x00000780, 0x098000a6, 0x00007900,
- 0x00000200, 0x00000380, 0x0a0000a1, 0x00007900, 0x00000200, 0x00000380,
- 0x00004b62, 0x0000f400, 0x87002302, 0x00009780, 0x4510e028, 0x0000e107,
- 0x4510e026, 0x00003107, 0x29804053, 0x0000e780, 0x28404057, 0x00008780,
- 0x098000a6, 0x00007900, 0x00000200, 0x00000380, 0x0a0000a1, 0x00007900,
- 0x00000200, 0x00000380, 0x2980405b, 0x00006780, 0x2840405f, 0x00000780,
- 0x0a8000a6, 0x00007900, 0x00000200, 0x00000380, 0x0b0000a1, 0x0000f900,
- 0x00000200, 0x00000380, 0x87002302, 0x00009780, 0x00004b62, 0x0000f400,
- 0x4510e026, 0x00006107, 0x4510e028, 0x0000b107, 0x4510e02c, 0x00006107,
- 0x4510e02a, 0x00003107, 0x00004b62, 0x0000f400, 0xa8402302, 0x00006780,
- 0x09800100, 0x00008980, 0x45150826, 0x0000e907, 0x2900404a, 0x0000e780,
- 0x87002302, 0x00000780, 0x098000a4, 0x0000f900, 0x00000200, 0x00000380,
- 0x0000544b, 0x00006583, 0x4510e026, 0x0000a107, 0x2980404e, 0x00009788,
- 0x0a0000a4, 0x0000f908, 0x00000200, 0x00000380, 0x098000a6, 0x0000f908,
- 0x00000200, 0x00000380, 0x4510e026, 0x0000e10f, 0x4510e028, 0x0000310f,
- 0x0e421ca6, 0x00006000, 0x08021ca1, 0x00003084, 0x4701054b, 0x0000e283,
- 0x07003ca6, 0x00000881, 0x26438099, 0x00006380, 0x66a50c1c, 0x00000301,
- 0x07000000, 0x00006188, 0x0b82901c, 0x0000e010, 0x0000544b, 0x00006583,
- 0x80000099, 0x00002500, 0x29001000, 0x00006189, 0x29000800, 0x00004991,
- 0x4701054b, 0x0000e283, 0xe0000099, 0x00002401, 0x001890ec, 0x0000d780,
- 0x00006000, 0x00008080, 0x08002800, 0x0000e191, 0x08002000, 0x00004989,
- 0x0e025ca6, 0x00006000, 0x00001025, 0x0000b406, 0x0797f800, 0x0000e180,
- 0xf7e0e09f, 0x00006001, 0x000838ec, 0x0000d780, 0x00006000, 0x00008080,
- 0x66625c4b, 0x0000e101, 0x0fc1841c, 0x00006000, 0x000040ec, 0x00005780,
- 0x00006001, 0x00000080, 0xc0109312, 0x00006502, 0xe4418099, 0x0000a001,
- 0x49400000, 0x0000e181, 0x87a10420, 0x0000c901, 0x2865341c, 0x0000e301,
- 0xc3c2589f, 0x00002001, 0x29800ca4, 0x00006181, 0x80001825, 0x00002403,
- 0x000120ec, 0x00005788, 0x00006001, 0x00000080, 0x081cb000, 0x00007900,
- 0x0002e100, 0x00000980, 0x04250899, 0x00006001, 0xb2e5301e, 0x00003004,
- 0x2639a718, 0x00000930, 0xe6800a12, 0x0000e080, 0x27400000, 0x00000980,
- 0x26c00452, 0x000001b4, 0x07000802, 0x0000e180, 0x07c00000, 0x0000c980,
- 0x814010ec, 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008120ec, 0x0000d790, 0x00006001, 0x00000080, 0xe8c047a3, 0x0000e181,
- 0x84800a12, 0x00000080, 0xcca514a2, 0x0000e101, 0xcdd9bca2, 0x0000c000,
- 0xa8c036a3, 0x00009181, 0xc040dfa3, 0x000078b2, 0xba400000, 0x0000a587,
- 0x29804057, 0x00006780, 0x2840405b, 0x00008780, 0x098000a6, 0x00007900,
- 0x00000200, 0x00000380, 0x87002302, 0x00006780, 0x2980405f, 0x00008780,
- 0x0a0000a1, 0x00007900, 0x00000200, 0x00000380, 0x0a8000a6, 0x00007900,
- 0x00000200, 0x00000380, 0x00004b62, 0x0000f400, 0x4510e026, 0x00006107,
- 0x4510e028, 0x0000b107, 0x4510e02a, 0x0000e907, 0x07021300, 0x0000f904,
- 0x87d5221f, 0x0000e100, 0x0e0184a6, 0x00002080, 0x0010f81c, 0x00006502,
- 0x28400ca6, 0x00008081, 0x24821300, 0x0000f904, 0xe6c00f9b, 0x00006081,
- 0x82250830, 0x00002080, 0x00004d54, 0x0000f228, 0x8c800e32, 0x0000e181,
- 0x2900e01c, 0x00008900, 0xa8440232, 0x00006080, 0x2910f81c, 0x00008100,
- 0x0cc00833, 0x0000e180, 0x0c519031, 0x00008100, 0x00004c8d, 0x0000f400,
- 0x06080018, 0x00006080, 0xa6d1929b, 0x00000000, 0xa8950aa2, 0x00006000,
- 0x2740089d, 0x00000080, 0xa8402302, 0x00006780, 0x29800002, 0x00000980,
- 0x45150826, 0x00006107, 0x0e025ca4, 0x0000b000, 0x287ff83e, 0x00007900,
- 0x00000002, 0x00008280, 0x284508a6, 0x0000e100, 0x2a400000, 0x00008980,
- 0x000278a1, 0x00006582, 0x2a625c4b, 0x00008901, 0x2a000000, 0x0000e180,
- 0x0fc184a1, 0x00006000, 0x0f80003e, 0x0000f930, 0x003ffffc, 0x00000280,
- 0x6841054b, 0x0000e283, 0xaa6524a1, 0x00000301, 0x2940c018, 0x0000e100,
- 0x82c258a9, 0x00006011, 0x2a818831, 0x0000e100, 0x964278a9, 0x00006011,
- 0x2981a034, 0x0000e100, 0xa64278a9, 0x00006011, 0xaa000a12, 0x0000e080,
- 0xb64278a9, 0x00002011, 0x00002c4b, 0x00006583, 0x0d000834, 0x00000080,
- 0x2840164b, 0x00006189, 0x28400800, 0x00008991, 0x8fbd20ec, 0x00002084,
- 0x68410530, 0x0000e283, 0x6a650ca1, 0x00000901, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x00001ca4, 0x00001583, 0x0000d8a6, 0x00001502,
- 0x00004de3, 0x0000f010, 0x00004d8e, 0x00007008, 0x00004e29, 0x0000f008,
- 0x700280ec, 0x0000d680, 0x00008550, 0x00008088, 0x703a80ec, 0x0000d600,
- 0x003a8800, 0x00000000, 0x703a90ec, 0x00005600, 0x003a9800, 0x00008000,
- 0x703aa0ec, 0x00005600, 0x003aa800, 0x00008000, 0x703ab0ec, 0x0000d600,
- 0x003ab800, 0x00000000, 0x703ac0ec, 0x00005600, 0x003ac800, 0x00008000,
- 0x703ad0ec, 0x0000d600, 0x003ad800, 0x00000000, 0x703ae0ec, 0x0000d600,
- 0x003ae800, 0x00000000, 0x703af0ec, 0x00005600, 0x003af800, 0x00008000,
- 0x703d48ec, 0x0000d600, 0x003d4000, 0x00000000, 0x703d28ec, 0x0000d600,
- 0x003d5000, 0x00008000, 0x07320004, 0x0000e180, 0x29000000, 0x00004981,
- 0x7039f0ec, 0x00005600, 0x0039f800, 0x00008000, 0x08000800, 0x0000e181,
- 0x0418101c, 0x00006187, 0x700280ec, 0x0000d680, 0x0038e7c0, 0x00008078,
- 0x0e421ca1, 0x0000e000, 0x1000c099, 0x00003482, 0x08021ca6, 0x0000e084,
- 0x80000099, 0x0000b500, 0x07003ca1, 0x00006081, 0xe0000099, 0x0000e401,
- 0x00002c4b, 0x00006583, 0x0e025ca1, 0x00002000, 0x66625c4b, 0x0000e101,
- 0x66a5341c, 0x00004301, 0x0fc1841c, 0x00006000, 0xe4418099, 0x00003001,
- 0x29a50c1c, 0x0000e301, 0x0f82803e, 0x00008080, 0x05880016, 0x00006080,
- 0x04253099, 0x00002001, 0x05480015, 0x00006080, 0x2600c018, 0x00008900,
- 0x27400733, 0x000089ad, 0x00004e59, 0x0000f408, 0xe6c00000, 0x00006181,
- 0xe6800a12, 0x00004080, 0x2701a034, 0x0000e100, 0xa8c4e2a3, 0x00004190,
- 0x243a674d, 0x00000904, 0x24ba9f4e, 0x0000890c, 0x253a8f52, 0x00008914,
- 0x25828050, 0x00009900, 0x072104a4, 0x00001303, 0x00004e51, 0x0000f013,
- 0x097f8025, 0x00007900, 0x003ffffe, 0x00008280, 0x000040ec, 0x00005780,
- 0x00006001, 0x00000080, 0xc0109312, 0x00006502, 0x49400000, 0x00000981,
- 0x0804b000, 0x00007900, 0x00022080, 0x00000980, 0x000120ec, 0x00005788,
- 0x00006001, 0x00000080, 0x80000025, 0x00006c03, 0x814010ec, 0x00005694,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec, 0x0000d790,
- 0x00006001, 0x00000080, 0x28404033, 0x0000e080, 0xe8c047a3, 0x00004181,
- 0x84800a12, 0x00006080, 0xcca514a2, 0x00000901, 0xcdd9bca2, 0x00006000,
- 0xa8c036a3, 0x00000181, 0x0600c0a1, 0x00001000, 0xc040dfa3, 0x000078b2,
- 0xba400000, 0x0000a587, 0xa87f1fe3, 0x00009900, 0x8a0534a1, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x28403ca6, 0x00009281, 0x000014a1, 0x00009583,
- 0x00004e40, 0x0000f00b, 0x08021c20, 0x00006084, 0x0f41f01e, 0x0000b100,
- 0xa9004c20, 0x0000e080, 0x24800005, 0x0000c980, 0xa91bdaa4, 0x0000f900,
- 0x00000008, 0x00000080, 0x760048ec, 0x0000d680, 0x00000000, 0x00008080,
- 0xe490f2a4, 0x00006000, 0x07404800, 0x00008980, 0x763c90ec, 0x00005600,
- 0x0007f800, 0x00008080, 0x763a80ec, 0x0000d600, 0x003a8800, 0x00000000,
- 0x763a90ec, 0x00005600, 0x003a9800, 0x00008000, 0x763aa0ec, 0x00005600,
- 0x003aa800, 0x00008000, 0x763ab0ec, 0x0000d600, 0x003ab800, 0x00000000,
- 0x763ac0ec, 0x00005600, 0x003ac800, 0x00008000, 0x763ad0ec, 0x0000d600,
- 0x003ad800, 0x00000000, 0x763ae0ec, 0x0000d600, 0x003ae800, 0x00000000,
- 0x07000000, 0x0000e180, 0x0000a81d, 0x0000e480, 0x763af0ec, 0x00005600,
- 0x003af800, 0x00008000, 0x2447f800, 0x0000e180, 0xc104181c, 0x0000e606,
- 0x7638e8ec, 0x0000d600, 0x0038e000, 0x00000000, 0x24480091, 0x00006380,
- 0x80001092, 0x0000a406, 0x760010ec, 0x00005680, 0x00008000, 0x000080c0,
- 0x0803fc20, 0x00006280, 0xc0004091, 0x00002406, 0x07400000, 0x0000f900,
- 0x00003fc0, 0x00008980, 0x760000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0xe4804392, 0x00006080, 0x80001091, 0x00002407, 0x07001002, 0x00006100,
- 0x0e421ca6, 0x00006000, 0x875bca20, 0x0000f900, 0x00000008, 0x00000080,
- 0x763c90ec, 0x00005600, 0x003c8800, 0x00000000, 0x7638e8ec, 0x0000d600,
- 0x00000000, 0x00008080, 0xc718e4a6, 0x0000e300, 0x29000800, 0x00000981,
- 0x7639a0ec, 0x00005600, 0x0038e000, 0x00000000, 0x763d48ec, 0x0000d600,
- 0x003d4000, 0x00000000, 0x00004dac, 0x00007400, 0x763d28ec, 0x0000d600,
- 0x003d5000, 0x00008000, 0x08000000, 0x00001981, 0xa87f1fe3, 0x00009900,
- 0x8a0534a1, 0x0000a080, 0xffffffff, 0x00007fa7, 0x28403ca6, 0x00009281,
- 0x000014a1, 0x00009583, 0x00004e40, 0x0000f00b, 0x076524e5, 0x00006401,
- 0xd0000830, 0x00002400, 0xffffffff, 0x00007f86, 0x29a0ec1d, 0x00009b01,
- 0x00253043, 0x0000e884, 0x08021c1d, 0x00006884, 0x0720efe4, 0x00009800,
- 0x2860e4a4, 0x00006301, 0x07a0e5a4, 0x00008401, 0x29a0f41e, 0x00009900,
- 0x8f8508ec, 0x00002884, 0xa9800c1d, 0x00006080, 0x2860e8a6, 0x00000704,
- 0x8f98f0ec, 0x00002886, 0x00004de9, 0x0000f400, 0x71e50843, 0x00006800,
- 0x8f8010a6, 0x00002886, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980,
- 0x00151831, 0x00006186, 0x60001008, 0x0000b403, 0x043d1831, 0x0000e101,
- 0x40001009, 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980,
- 0x00001004, 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x07000001, 0x000001f4, 0x0797f800, 0x0000e180, 0x34e1001c, 0x0000e001,
- 0x00004dca, 0x00007400, 0x000838ec, 0x0000d780, 0x00006000, 0x00008080,
- 0x07c00000, 0x0000e180, 0x4525201c, 0x0000e001, 0x247a674d, 0x00008908,
- 0x00004dc8, 0x0000f400, 0xa8c482a3, 0x00006180, 0x24c2704e, 0x00000900,
- 0x25018831, 0x00001900, 0x7fbd08ec, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x6840854b, 0x0000e283, 0x298008a1, 0x00008080, 0x7fbd30ec, 0x00002884,
- 0x28651337, 0x00001010, 0x00004e96, 0x00007008, 0x80250e37, 0x00009503,
- 0x0ec1c839, 0x00006118, 0x0e81c038, 0x0000c918, 0x00004e96, 0x00007031,
- 0x80000237, 0x00001582, 0xa8400a37, 0x00006190, 0xa8400b35, 0x00000188,
- 0xffffffff, 0x00007f86, 0x800002a1, 0x0000e582, 0x8dd50aa1, 0x00000900,
- 0x28400b35, 0x00001188, 0xa9001aa1, 0x00001888, 0x00004e74, 0x00007008,
- 0x29800aa1, 0x00001180, 0xa9001aa6, 0x00001880, 0x2941e2a4, 0x0000e002,
- 0x28400380, 0x00008980, 0x2900003d, 0x00006084, 0xa8680500, 0x00000900,
- 0x75e800a1, 0x0000e901, 0x700040ec, 0x00005680, 0x003d0cc4, 0x00008010,
- 0x28720004, 0x00009980, 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000,
- 0x041810a1, 0x0000e987, 0x700040ec, 0x00005680, 0x003d0fc0, 0x00008078,
- 0x00c002ec, 0x0000df80, 0x14d4180b, 0x00001684, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x28400ce0, 0x00009283, 0x00005ce4, 0x00007013,
- 0x0c3cf830, 0x00007900, 0x003ffffe, 0x00008280, 0x2840854b, 0x00001481,
- 0x50650830, 0x00006800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502,
- 0xffffffff, 0x00007f86, 0x00004ea3, 0x00007008, 0x00004ec2, 0x0000f008,
- 0xc0109312, 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b,
- 0x0681a034, 0x00009908, 0x28800000, 0x00007900, 0x001f8000, 0x00008980,
- 0xc0109312, 0x00006502, 0x001518a2, 0x0000a186, 0x043d18a2, 0x0000e101,
- 0xd0000809, 0x00003401, 0x203d16ec, 0x00005600, 0x003d0000, 0x00008000,
- 0x00622aa3, 0x00008a19, 0xc4122a45, 0x0000e108, 0xc41a2344, 0x0000c910,
- 0x40322d43, 0x00001503, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00004ed0, 0x00007030, 0x00004ed0, 0x0000f010, 0x28322d43, 0x0000e100,
- 0x28403700, 0x00008181, 0x000030a0, 0x00006582, 0x91400000, 0x00000981,
- 0x28003000, 0x000099b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380,
- 0xc02504a1, 0x00006001, 0x50e504a0, 0x00008901, 0x28403603, 0x00009181,
- 0x284094a6, 0x00006081, 0x80e504a1, 0x00008001, 0x822502a1, 0x0000e886,
- 0x00b50eec, 0x00005f02, 0x00005800, 0x00008084, 0xa9bf1fe3, 0x00001900,
- 0x8a050ca6, 0x0000a080, 0xffffffff, 0x00007fa7, 0x29803ca1, 0x00009281,
- 0x000014a6, 0x00001583, 0x08021ca1, 0x0000e094, 0xd0000030, 0x0000b410,
- 0x29a50fe4, 0x00001810, 0x00004ed3, 0x0000f008, 0x8f8508ec, 0x0000a084,
- 0xffffffff, 0x00007f86, 0x00004ea3, 0x00007403, 0x286534a1, 0x00009401,
- 0x8f8508ec, 0x00002884, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80,
- 0x00985b01, 0x00008684, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980,
- 0x00151831, 0x00006186, 0x60001008, 0x0000b403, 0x043d1831, 0x0000e101,
- 0x40001009, 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980,
- 0x00001004, 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x2840141e, 0x0000e081, 0xa88026a5, 0x0000c080, 0xb84244a1, 0x0000e081,
- 0x298402a2, 0x00000080, 0x28453232, 0x0000e000, 0x00000099, 0x0000a401,
- 0x60000808, 0x0000e403, 0x60000099, 0x0000b403, 0x60001005, 0x0000e402,
- 0x0000000f, 0x00003401, 0xf000009f, 0x00006401, 0xc0001008, 0x0000b403,
- 0x0c030030, 0x0000e380, 0xc0000899, 0x0000a403, 0x07021300, 0x0000f904,
- 0x874006a3, 0x000009ad, 0x0005081d, 0x00006502, 0xe6c00800, 0x00000981,
- 0x24821300, 0x0000f904, 0x2921971c, 0x00000200, 0x00004c2f, 0x0000f048,
- 0x0011901c, 0x00009502, 0x2911901c, 0x00006120, 0x0cc00833, 0x000001a0,
- 0x0c519031, 0x00006120, 0x06080018, 0x000080a0, 0x00004f4e, 0x00007028,
- 0x87440232, 0x0000e080, 0xa6d1929b, 0x00000000, 0xa890eaa2, 0x0000e000,
- 0x2740089d, 0x00000080, 0x000000a4, 0x0000e582, 0xe6909212, 0x00000900,
- 0x8c800e32, 0x00006189, 0x0e0184a1, 0x00002088, 0x28400ca1, 0x0000e089,
- 0x10800000, 0x00000988, 0x00004c39, 0x0000f400, 0x267f7899, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x1085201c, 0x00006110, 0x82250830, 0x0000a088,
- 0xa907fb37, 0x0000e280, 0xa9880000, 0x00008980, 0x2a400480, 0x00006180,
- 0xa95522a6, 0x00004100, 0x290022a4, 0x0000e080, 0x29f20004, 0x0000c980,
- 0xaa680500, 0x00006100, 0x2980f8a4, 0x00004784, 0x2b452038, 0x00006002,
- 0x75e800a9, 0x00002101, 0x2a890000, 0x0000f900, 0x000014c4, 0x00000980,
- 0x2a090000, 0x00007900, 0x00007fc0, 0x00000980, 0xe9d81302, 0x00006100,
- 0x28853039, 0x0000c004, 0x80008aa5, 0x00009582, 0xe847fb37, 0x00001282,
- 0xffffffff, 0x00007f86, 0x00004f91, 0x0000f030, 0x00004f70, 0x00007008,
- 0x700900ec, 0x0000d680, 0x003d4cc4, 0x00000010, 0x703d68ec, 0x00005600,
- 0x003d1000, 0x00000000, 0x700900ec, 0x0000d680, 0x003d3fc0, 0x00008078,
- 0x29000000, 0x000004d2, 0x28800000, 0x00009980, 0x00d002ec, 0x00005f80,
- 0x14d9680a, 0x00009584, 0x00000c44, 0x00001583, 0x29409000, 0x00001991,
- 0x00004f62, 0x0000f009, 0x2980164b, 0x0000e081, 0xa87f1fe3, 0x0000c900,
- 0x72bd38a1, 0x0000a084, 0x90c093a5, 0x00008412, 0x68925c4b, 0x00008414,
- 0x384244a6, 0x0000e081, 0x26800000, 0x00000981, 0x92402c4b, 0x0000f8b2,
- 0x02400001, 0x00000080, 0x0c400000, 0x0000e180, 0x2840344b, 0x00004181,
- 0x00000ca1, 0x00009583, 0x0cc00000, 0x00001998, 0x00005c19, 0x0000f031,
- 0x00005c4b, 0x00001583, 0xa8771ee3, 0x00009918, 0x8e8530a1, 0x0000a09c,
- 0x00005bff, 0x00007030, 0xffffffff, 0x00007f97, 0x000204a6, 0x00001583,
- 0x91402800, 0x0000e199, 0x28401800, 0x00004999, 0x00005be5, 0x00007031,
- 0x4f4844f5, 0x0000f100, 0x60001008, 0x0000e403, 0x40001009, 0x00003402,
- 0x00004b01, 0x0000f400, 0x60001005, 0x0000e402, 0xc0001008, 0x0000b403,
- 0x80001009, 0x0000ec02, 0x07021300, 0x0000f904, 0x88152220, 0x0000e100,
- 0x0e0184a6, 0x00002080, 0x0011001c, 0x00006502, 0x28400ca6, 0x00008081,
- 0x24821300, 0x0000f904, 0xe6c00f9b, 0x00006081, 0x82250830, 0x00002080,
- 0x00004f4e, 0x0000f228, 0x8c800e32, 0x0000e181, 0x2900e01c, 0x00008900,
- 0x87440232, 0x0000e080, 0x2911001c, 0x00008100, 0x0cc00833, 0x0000e180,
- 0x0c519031, 0x00008100, 0x00004f03, 0x0000f400, 0x06080018, 0x00006080,
- 0xa6d1929b, 0x00000000, 0xa890eaa2, 0x0000e000, 0x2740089d, 0x00000080,
- 0x80325aa5, 0x00001502, 0x0e8520a4, 0x00006120, 0x0ec510a2, 0x0000c920,
- 0x0e0520a4, 0x00006128, 0x0e4510a2, 0x0000c928, 0x00004f30, 0x0000f020,
- 0x28400b35, 0x00006180, 0x2891ba37, 0x00008900, 0x000508a2, 0x00001502,
- 0x8dc00000, 0x000099c0, 0x00004f6e, 0x0000f041, 0x8dc00a37, 0x00009080,
- 0x00004f30, 0x0000f200, 0x29409000, 0x00009981, 0xaa400000, 0x0000e180,
- 0xc00000aa, 0x0000e406, 0x2891ba37, 0x00006100, 0x29000b35, 0x0000c180,
- 0x703d50ec, 0x0000d600, 0x003d4800, 0x00008000, 0x000520a2, 0x0000e502,
- 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000,
- 0x700900ec, 0x0000d680, 0x003d3fc0, 0x00008078, 0x00004fc0, 0x00007208,
- 0x0e41d83b, 0x0000e100, 0xa8800a37, 0x00004090, 0x8dc00a37, 0x00006080,
- 0x29000000, 0x00000980, 0x11000000, 0x0000e181, 0x28801aa2, 0x00004880,
- 0x2b41e0a2, 0x0000e002, 0x28800000, 0x00000980, 0x2980003d, 0x00001084,
- 0x0000e8a9, 0x00006485, 0x008040aa, 0x0000b586, 0xaa680500, 0x00006100,
- 0x000040a8, 0x0000e586, 0x703d50ec, 0x0000d600, 0x003d4800, 0x00008000,
- 0x00004f2b, 0x0000f400, 0x703d68ec, 0x00005600, 0x003d3000, 0x00008000,
- 0x703d40ec, 0x00005600, 0x003d3800, 0x00000000, 0xe847fb37, 0x0000e282,
- 0xc00000aa, 0x00002406, 0xaa400000, 0x0000e180, 0x910022a5, 0x0000c890,
- 0x913ffa44, 0x0000f910, 0x00000002, 0x00008280, 0x00004f72, 0x0000f008,
- 0x29809000, 0x00006180, 0x001220aa, 0x00006106, 0x703d50ec, 0x0000d600,
- 0x003d4800, 0x00008000, 0x703d68ec, 0x00005600, 0x003d1000, 0x00000000,
- 0x289528a6, 0x0000e100, 0xaa0022a5, 0x00000880, 0xa98022a2, 0x0000e080,
- 0x2b11ba37, 0x0000c900, 0x913ffaa6, 0x00007900, 0x00000002, 0x00008280,
- 0x28800ca5, 0x0000e081, 0x001220aa, 0x00006106, 0x2ac00b35, 0x00006180,
- 0x0c054c44, 0x00002084, 0x000558ac, 0x00006502, 0x28a224a2, 0x00008001,
- 0x703d40ec, 0x00005600, 0x003d3800, 0x00000000, 0x2901d03a, 0x00006100,
- 0x042510a9, 0x00006085, 0x703d50ec, 0x0000d600, 0x003d4800, 0x00008000,
- 0xaa3ffaa6, 0x0000f900, 0x00000002, 0x00008280, 0x7039d0ec, 0x0000d600,
- 0x0039d800, 0x00000000, 0x703d40ec, 0x00005600, 0x003d3800, 0x00000000,
- 0x00004f86, 0x0000f440, 0x2b41e03c, 0x00006100, 0x11000800, 0x0000c9c1,
- 0x28b9ef3b, 0x00008a18, 0x11000800, 0x00006181, 0x2ac00a37, 0x00004080,
- 0x2ac018ab, 0x00009880, 0x00004f86, 0x00007400, 0x2b45583c, 0x00001002,
- 0x2980003d, 0x00001084, 0x8dc00000, 0x00006180, 0x2b41e03c, 0x00004900,
- 0x00004f86, 0x00007400, 0x2980073d, 0x00000a88, 0x91000000, 0x00000ad0,
- 0x02000000, 0x00007900, 0x00082000, 0x00008980, 0x01040002, 0x000080d4,
- 0x01800000, 0x000080dc, 0x00004b01, 0x0000f400, 0x02510001, 0x0000e180,
- 0x02800000, 0x00004980, 0x83000000, 0x000000ec, 0x01000002, 0x000000d4,
- 0x01800000, 0x000080dc, 0x02000000, 0x000080e4, 0x02800000, 0x000080ec,
- 0x28400c30, 0x0000e283, 0x03000000, 0x00000981, 0x0000c017, 0x00001502,
- 0xffffffff, 0x00007f86, 0x00005087, 0x00007010, 0x00005006, 0x00007008,
- 0x4fda4551, 0x0000f404, 0x2000080a, 0x0000ec02, 0x6000080a, 0x0000ec03,
- 0x8011aa12, 0x00009502, 0x24000000, 0x0000e188, 0x24400000, 0x00004988,
- 0x24800000, 0x00006188, 0x24c00000, 0x0000c988, 0x00004b01, 0x0000f010,
- 0x08c00000, 0x0000e180, 0x0e421ca1, 0x0000e000, 0x08021ca6, 0x0000e084,
- 0x00001823, 0x00003106, 0x000040ec, 0x00005780, 0x00006001, 0x00000080,
- 0x26438080, 0x00006180, 0x26800000, 0x00004980, 0xc0109312, 0x00006502,
- 0x07003ca1, 0x00008881, 0xa8402302, 0x00006780, 0xc0001823, 0x00002006,
- 0x08400000, 0x0000f900, 0x00018008, 0x00000980, 0x09400000, 0x00007900,
- 0x00010000, 0x00000980, 0x0804b000, 0x00007900, 0x00022080, 0x00000980,
- 0xe4418099, 0x00006001, 0x45150826, 0x00003107, 0x000120ec, 0x00005788,
- 0x00006001, 0x00000080, 0x25000000, 0x000089d4, 0x25800000, 0x000089ec,
- 0x27400000, 0x000009f8, 0x27c00000, 0x00006180, 0x2600c018, 0x00004900,
- 0x273d0734, 0x0000091c, 0xe8c047a3, 0x0000e181, 0xa8c036a3, 0x00000181,
- 0x08a81402, 0x00008208, 0x66a5341c, 0x0000e301, 0x09c00004, 0x00000980,
- 0x814010ec, 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008120ec, 0x0000d790, 0x00006001, 0x00000080, 0xe842070c, 0x0000e283,
- 0x40001805, 0x0000a403, 0x0c3ff030, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x60001008, 0x0000640b, 0x60000805, 0x0000340a, 0x00004f48, 0x0000f010,
- 0x00004b01, 0x0000f400, 0xc0000808, 0x0000e403, 0x40001009, 0x00003402,
- 0x80001009, 0x0000ec02, 0x41010530, 0x0000e283, 0x01440600, 0x00000980,
- 0x8f8020ec, 0x00002094, 0x08021ca1, 0x0000e094, 0xd0000030, 0x0000b410,
- 0x28650fe4, 0x0000e010, 0x01800000, 0x00004980, 0x02000000, 0x00007900,
- 0x00082000, 0x00008980, 0x28650c04, 0x00006411, 0x01c10000, 0x00008980,
- 0x02802000, 0x00007900, 0x00001000, 0x00000980, 0x8f8508ec, 0x0000a894,
- 0x50234551, 0x00007404, 0x02510001, 0x0000e180, 0x02c00000, 0x0000c980,
- 0x01000002, 0x000080f2, 0x28408430, 0x00001283, 0x20001805, 0x0000e40b,
- 0x00004807, 0x0000b40e, 0xa8400a12, 0x00006088, 0x24000000, 0x00000988,
- 0x00004b01, 0x0000f010, 0x84800a12, 0x00006080, 0x0e421c1c, 0x00002000,
- 0xc0109312, 0x00006502, 0x08c00000, 0x00000980, 0x08021c1d, 0x0000e084,
- 0x00001823, 0x00003106, 0x26438220, 0x0000e180, 0x26800000, 0x00004980,
- 0xa9802302, 0x0000e780, 0x07003c1c, 0x00008881, 0x08400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x09400000, 0x00007900, 0x00010000, 0x00000980,
- 0x0804b000, 0x00007900, 0x00022080, 0x00000980, 0x000040ec, 0x00005780,
- 0x00006001, 0x00000080, 0xc0001823, 0x0000e006, 0xe4418099, 0x00003001,
- 0x24400000, 0x0000e180, 0x45153026, 0x0000e107, 0x24800000, 0x000089cc,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089ec, 0x27400000, 0x000009f8,
- 0x27c00000, 0x00006180, 0x2600c018, 0x00004900, 0x273d0734, 0x0000091c,
- 0xa8c036a3, 0x00006181, 0xe8c047a3, 0x00008181, 0x08a81402, 0x00008208,
- 0x00005084, 0x0000f408, 0x09c00004, 0x0000e180, 0xe6950aa1, 0x0000c900,
- 0x66a0ec1c, 0x00001301, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008120ec, 0x00005780, 0x00006001, 0x00000080,
- 0x00004b01, 0x00007000, 0x41010530, 0x0000e283, 0x08003020, 0x00008380,
- 0x8f8020ec, 0x00002094, 0x08021ca1, 0x0000e094, 0xd0000030, 0x0000b410,
- 0x28650fe4, 0x0000e010, 0x08008020, 0x0000c380, 0x08021ca6, 0x0000e084,
- 0xd0000821, 0x00003404, 0x28650c04, 0x00006411, 0x00001823, 0x0000a106,
- 0x8f8508ec, 0x0000a894, 0xc0189312, 0x0000e502, 0x0e421ca1, 0x00002000,
- 0x26438020, 0x00006180, 0x26800000, 0x00004980, 0x08040020, 0x00006380,
- 0x07003ca1, 0x00008881, 0xa8402302, 0x00006780, 0xa0000825, 0x0000a401,
- 0x02000000, 0x00007900, 0x00042000, 0x00008980, 0xc0001027, 0x00006406,
- 0x90001821, 0x0000b403, 0x000040ec, 0x00005780, 0x00006001, 0x00000080,
- 0xc0001823, 0x0000e006, 0xe4418099, 0x00003001, 0x01440600, 0x0000e180,
- 0x45150826, 0x00006107, 0x01815000, 0x000000dc, 0x02510001, 0x0000e180,
- 0x02802000, 0x0000c980, 0x02c00000, 0x000000f2, 0x84800012, 0x00000980,
- 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8,
- 0x26c00000, 0x000009f4, 0x27800000, 0x000089fc, 0x2639a718, 0x00000930,
- 0x25e267a0, 0x00008a8f, 0xa8c7c800, 0x00006181, 0x88901202, 0x00004900,
- 0x08801502, 0x00000090, 0x0000504d, 0x0000f410, 0xe6989312, 0x0000e100,
- 0xc8041001, 0x00004980, 0x66a5341c, 0x00001301, 0x00004b01, 0x0000f200,
- 0x000120ec, 0x0000d780, 0x00006001, 0x00000080, 0x0e4184a6, 0x0000e000,
- 0x2000080a, 0x00003402, 0x0000380a, 0x0000e407, 0xd0000821, 0x00003404,
- 0x00001823, 0x00006106, 0x6000080a, 0x00003403, 0x284044a6, 0x00006080,
- 0x0000000f, 0x00006401, 0xa9bf1fe3, 0x00006100, 0xa0000825, 0x00006401,
- 0xc0001027, 0x00006406, 0x90001821, 0x0000b403, 0x0c3bf830, 0x0000f900,
- 0x003ffffe, 0x00008280, 0xc0001823, 0x0000e006, 0xa000080a, 0x00003403,
- 0x72bd38a6, 0x00002084, 0xb8400048, 0x000089c0, 0x24400000, 0x000009c8,
- 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x26040800, 0x000089e4,
- 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc,
- 0x25e017a0, 0x00000208, 0x0580b0a1, 0x0000e000, 0xc8981302, 0x00000900,
- 0x28410430, 0x0000e283, 0x69400000, 0x00008981, 0x00005907, 0x0000f013,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x40322d43, 0x00001503,
- 0x00005ffc, 0x0000f033, 0x80122212, 0x00009502, 0x91400e45, 0x0000e0e9,
- 0x78424000, 0x000009e9, 0x28722d43, 0x00001168, 0x00005ffc, 0x0000f060,
- 0xffffffff, 0x00007fa7, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x28800e4b, 0x00006180, 0x29725e4b, 0x00008901, 0xff8517a1, 0x0000c34b,
- 0x00a0854b, 0x00008090, 0x18401e4b, 0x0000c488, 0xc8a018a2, 0x0000958d,
- 0xdd4018a2, 0x000041b8, 0x00a008a2, 0x00000088, 0x31c010a2, 0x00007892,
- 0x3a800000, 0x0000ab87, 0xb84020a2, 0x0000f88b, 0x02800001, 0x00008000,
- 0x31c028a2, 0x0000f892, 0xf2800000, 0x0000ab86, 0x31c00e4b, 0x000078d2,
- 0x82800000, 0x0000af8a, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x91401645, 0x00009081,
- 0x26800000, 0x00009981, 0xd9e02c4b, 0x0000c398, 0x00a02c4b, 0x00008088,
- 0x9060854b, 0x0000c394, 0x00a0144b, 0x000080b0, 0x0001054b, 0x0000788c,
- 0x00000000, 0x00000000, 0x1cc00c4f, 0x0000f88f, 0x02800001, 0x00008060,
- 0xa3c00049, 0x0000f88b, 0x02800001, 0x00008000, 0x1ec53853, 0x0000f81b,
- 0xd2800000, 0x00002886, 0x7a000049, 0x0000788b, 0x02800001, 0x00008000,
- 0x78053853, 0x0000f81b, 0x92800000, 0x00002a89, 0x96c00049, 0x0000f88b,
- 0x9a800000, 0x00002b80, 0x2840164b, 0x0000e181, 0x29804053, 0x00008780,
- 0x00000ca1, 0x00006583, 0xa8802302, 0x00000780, 0x098000a6, 0x00007900,
- 0x00000200, 0x00000380, 0x0c424849, 0x00006100, 0x45151026, 0x00006107,
- 0x000054d4, 0x0000f218, 0x29028050, 0x00006100, 0x8c80164b, 0x0000c181,
- 0x0cc25ca6, 0x00006800, 0x000004a6, 0x00009583, 0x28824849, 0x0000e108,
- 0x29804849, 0x0000c790, 0x298018a6, 0x00001890, 0x288248a6, 0x00001010,
- 0xffffffff, 0x00007f86, 0x000510a4, 0x00001502, 0x0000546b, 0x00007013,
- 0x69408000, 0x0000e181, 0x80001030, 0x00006480, 0x00000031, 0x0000e582,
- 0x0cc00800, 0x00000980, 0x00000031, 0x00007900, 0x00200000, 0x00008582,
- 0xffffffff, 0x00007f86, 0x000050fb, 0x0000f008, 0x00005fce, 0x00007018,
- 0x29919232, 0x00006300, 0x0cc00831, 0x0000c180, 0x0cc19a32, 0x00009000,
- 0x0cc53033, 0x00001700, 0x6840254b, 0x00001283, 0x0c3df830, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x000052ca, 0x00007011, 0x0000244b, 0x0000e583,
- 0x50000899, 0x00002402, 0x261a5f18, 0x00008926, 0x28404033, 0x000098b0,
- 0x00005298, 0x0000f018, 0x2980b8a1, 0x00009100, 0x2840c0a6, 0x00009002,
- 0x25018831, 0x00006160, 0x0e0184a5, 0x0000e0e0, 0x26400899, 0x000063e0,
- 0x0f8184a1, 0x00002060, 0x00005212, 0x0000f068, 0x0e421ca6, 0x00006000,
- 0x00000099, 0x00003401, 0x07003ca6, 0x0000e081, 0x60000099, 0x0000e403,
- 0x29803833, 0x00006080, 0xe0000099, 0x0000e401, 0x08021ca1, 0x00006084,
- 0x65a50899, 0x0000b003, 0x66a50c1c, 0x00006301, 0xe4418099, 0x0000a001,
- 0x0700a031, 0x00001080, 0x4701054b, 0x0000e283, 0x2845301c, 0x00000000,
- 0x000051b4, 0x0000f013, 0xd000009f, 0x00006403, 0xe0000030, 0x00003400,
- 0x001518a1, 0x00001502, 0x08000000, 0x00006199, 0xe6800a12, 0x000040b0,
- 0x07000000, 0x000061b1, 0x10004099, 0x0000e436, 0x000051ca, 0x00007018,
- 0xc011ab9a, 0x00006502, 0x20000099, 0x0000a403, 0x07000800, 0x00006189,
- 0x2864a2ec, 0x00004101, 0x07420430, 0x00006283, 0x29804033, 0x00008880,
- 0x24a0e099, 0x0000e003, 0xd000009f, 0x00003403, 0x07001ca1, 0x00006281,
- 0x15825899, 0x0000a000, 0x84800a12, 0x00006080, 0x20a0e099, 0x00002002,
- 0xccb25e4b, 0x0000e101, 0xcdd9be4b, 0x0000c000, 0x00005136, 0x00007410,
- 0xa6e4a532, 0x0000092c, 0x0600c0a6, 0x00006000, 0x27419833, 0x00008900,
- 0x07400c30, 0x00009283, 0xd702789f, 0x0000e009, 0xe000089f, 0x0000b411,
- 0xa994a5a5, 0x0000e000, 0xa8403a33, 0x00000880, 0xa88022a6, 0x0000e080,
- 0xf482589f, 0x00002001, 0xa9950aa2, 0x0000e000, 0x0c400000, 0x00000980,
- 0xa915341c, 0x0000e000, 0x24024048, 0x00000900, 0x4700854b, 0x0000e283,
- 0x2442684d, 0x00008900, 0x24ba774c, 0x0000090c, 0x070094a5, 0x0000e089,
- 0x2701a034, 0x00000900, 0x00005179, 0x00007010, 0x8000221c, 0x00006486,
- 0x00001025, 0x0000b406, 0x0030e0ec, 0x00005702, 0x00006000, 0x00008080,
- 0xc0109312, 0x00006502, 0x0797f880, 0x00008980, 0x000838ec, 0x0000d780,
- 0x00006000, 0x00008080, 0x29800f9b, 0x00006181, 0x49400000, 0x00000981,
- 0x081cb000, 0x00007900, 0x00032040, 0x00008980, 0x000040ec, 0x00005780,
- 0x00006001, 0x00000080, 0xb2e5301e, 0x00006004, 0x80001825, 0x0000b403,
- 0x000051aa, 0x00007408, 0x07400000, 0x000081fc, 0x07000802, 0x00009980,
+ 0x01000c04, 0x00009081, 0x81602404, 0x00001900, 0x80184205, 0x00009502,
+ 0x00002c1f, 0x0000f02b, 0x00000001, 0x0000f080, 0x00005005, 0x00006582,
+ 0x02c00004, 0x00008980, 0x02006000, 0x00007900, 0x00004000, 0x00000980,
+ 0x02400080, 0x0000e180, 0x0000380b, 0x0000e106, 0x00002c5a, 0x00007210,
+ 0x02803006, 0x0000e100, 0x11400080, 0x0000c988, 0x11800764, 0x0000049c,
+ 0x00032847, 0x00006906, 0x11006000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x000888ec, 0x00005780, 0x00006000, 0x00008080, 0xc0032847, 0x0000e806,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008120ec, 0x00005780, 0x00006001, 0x00000080, 0xc0000f9b, 0x00006583,
- 0xa8d522a3, 0x00008100, 0xe8c087a3, 0x00006189, 0xe8c0e7a3, 0x00000191,
- 0x6841054b, 0x00001283, 0x00005164, 0x0000700b, 0x00001c4b, 0x00009583,
- 0xe8c00fa3, 0x00009189, 0xa8c036a3, 0x00009181, 0x5a40dfa3, 0x0000789a,
- 0x02800001, 0x00008000, 0xc051aa12, 0x0000f812, 0x32400000, 0x0000a880,
- 0x28449a32, 0x00009080, 0x5b9518a1, 0x0000f84a, 0x02800001, 0x00008000,
- 0xc051aa12, 0x0000f812, 0x32400000, 0x0000a880, 0x0c007ca6, 0x00006800,
- 0x00000ca6, 0x00007888, 0x00000000, 0x00000000, 0x28d89212, 0x0000f86a,
- 0x02800001, 0x00000010, 0x0011aa12, 0x0000f868, 0x00000000, 0x00000000,
- 0x28c00c30, 0x00007896, 0x02800001, 0x00000010, 0xc051aa12, 0x0000f812,
- 0x32400000, 0x0000a880, 0xe8c027a3, 0x00009081, 0x32006543, 0x0000c388,
- 0x00a06543, 0x00000098, 0x36204543, 0x00004388, 0x00a04543, 0x000080b0,
- 0x01c05543, 0x0000c588, 0x01005543, 0x0000809e, 0x05a03543, 0x0000c589,
- 0x82c03d43, 0x00000297, 0x32c07d43, 0x0000c388, 0x00a07d43, 0x000000b0,
- 0x33408d43, 0x00004488, 0x30a08d43, 0x000014ab, 0x02c09543, 0x0000c789,
- 0x02606d43, 0x0000808e, 0x65007543, 0x0000f88a, 0x6a800000, 0x0000a88d,
- 0x1b000000, 0x000086f4, 0x1bc00000, 0x000086f8, 0x1c000000, 0x000087c4,
- 0x1cc00000, 0x000087c8, 0x1d000000, 0x000087d4, 0x1dc00000, 0x000087d8,
- 0x1e000000, 0x000087e4, 0x1ec00000, 0x000087e8, 0x1f000000, 0x000087f4,
- 0x1fc00000, 0x000087f8, 0x20000000, 0x000088c4, 0x20c00000, 0x000088c8,
- 0x21000000, 0x000088d4, 0x21c00000, 0x000088d8, 0x22000000, 0x000088e4,
- 0x22c00000, 0x000088e8, 0x23000000, 0x000088f4, 0x23c00000, 0x000088f8,
- 0x070094a5, 0x00009081, 0xc0109312, 0x00006502, 0x8000821c, 0x0000a486,
- 0x097f8025, 0x00007900, 0x003ffffe, 0x00008280, 0x0030e0ec, 0x00005702,
- 0x00006000, 0x00008080, 0x49400000, 0x00009981, 0x0800b000, 0x0000f900,
- 0x0005a0c0, 0x00008980, 0x00005157, 0x0000f410, 0x001040ec, 0x0000d780,
- 0x00006000, 0x00008080, 0x80000025, 0x00006c03, 0x0000515c, 0x0000f200,
- 0x000120ec, 0x0000d780, 0x00006001, 0x00000080, 0x18000000, 0x000086c4,
- 0x18c00000, 0x000086c8, 0x19000000, 0x000086d4, 0x19c00000, 0x000086d8,
- 0x0000518a, 0x00007400, 0x1a000000, 0x000086e4, 0x1ac00000, 0x000086e8,
- 0x00001c4b, 0x00009583, 0x07020c30, 0x00009289, 0x00005119, 0x0000f011,
- 0x07420c30, 0x00001283, 0x28800000, 0x00006190, 0x0fc278a2, 0x0000e008,
- 0x47020530, 0x00001283, 0x07000800, 0x00009990, 0x000051c0, 0x00007011,
- 0x00000c1c, 0x00006583, 0x07000000, 0x00000980, 0x07000800, 0x00009988,
- 0x00119031, 0x00006502, 0xe0000030, 0x0000a400, 0xe7a0e09f, 0x0000e801,
- 0xd765109f, 0x0000e801, 0x000004a2, 0x00001583, 0x0000041c, 0x00001583,
- 0x0000511b, 0x00007030, 0x000051c9, 0x0000f010, 0x0000511b, 0x0000f008,
- 0x08000800, 0x00009981, 0x070014a5, 0x0000e081, 0xa90025a5, 0x0000c080,
- 0xb842441c, 0x0000e081, 0x0cc25ca1, 0x0000a000, 0x000004a1, 0x0000e583,
- 0x298402a4, 0x00000080, 0x28453232, 0x0000e000, 0xf482589f, 0x00002001,
- 0x267ff099, 0x0000f900, 0x003ffffe, 0x00008280, 0x0c030030, 0x0000e380,
- 0x60000099, 0x00002403, 0xe6c00401, 0x000089ed, 0x07021300, 0x0000f904,
- 0x07821300, 0x00007904, 0x07951aa3, 0x0000e100, 0x87c03232, 0x00004790,
- 0x87c00000, 0x0000e188, 0x1080e01c, 0x0000c900, 0x0005081e, 0x00006502,
- 0x87519232, 0x00008900, 0x28400c20, 0x000094c1, 0x08000000, 0x000099c1,
- 0x000051f9, 0x00007048, 0xa450fa1d, 0x00001000, 0x00148842, 0x0000e502,
- 0x07948a91, 0x00000900, 0x00005204, 0x0000f02b, 0x1080f042, 0x0000e100,
- 0x0cc00833, 0x00008180, 0x87840232, 0x0000e080, 0x0c519031, 0x00008100,
- 0xa910f2a4, 0x0000e000, 0x06080018, 0x00000080, 0x288402a4, 0x0000e080,
- 0xa6d1929b, 0x00000000, 0x28851232, 0x00006000, 0x2740089d, 0x00000080,
- 0x001518a2, 0x0000e502, 0x08000c20, 0x00000081, 0x07800000, 0x000099d1,
- 0x000051f9, 0x00007039, 0x00000420, 0x00001583, 0x07800800, 0x00009989,
- 0xffffffff, 0x00007f86, 0x07a50c1e, 0x00001303, 0x000051e2, 0x0000f013,
- 0x00000042, 0x00006582, 0xe6909212, 0x00000900, 0x8c800e32, 0x00006189,
- 0x0e0184a1, 0x00002088, 0x28400ca1, 0x0000e089, 0x10800000, 0x00000988,
- 0x0000513e, 0x00007400, 0x267f7899, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x1082101c, 0x0000e110, 0x82250830, 0x0000a088, 0xa4521291, 0x00006100,
- 0x0e01841c, 0x0000a080, 0x07000c1c, 0x00006081, 0xe6c00f9b, 0x00000081,
- 0x8c800e32, 0x0000e181, 0x8220e030, 0x00002080, 0x07021300, 0x0000f904,
- 0x0014881c, 0x00006502, 0x07948a91, 0x00000900, 0x24821300, 0x0000f904,
- 0x87519232, 0x0000e120, 0x1080e01c, 0x0000c900, 0x00005204, 0x0000f028,
- 0x000051e6, 0x0000f000, 0x7fbd08ec, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x6840854b, 0x0000e283, 0x298008a1, 0x00008080, 0x7fbd30ec, 0x00002884,
- 0x28652b37, 0x00009010, 0x0000524a, 0x00007008, 0x80250e37, 0x00009503,
- 0x0ec1c839, 0x00006118, 0x0e81c038, 0x0000c918, 0x0000524a, 0x00007031,
- 0x80000237, 0x00001582, 0xa8400a37, 0x00006190, 0xa8400b35, 0x00000188,
- 0xffffffff, 0x00007f86, 0x800002a1, 0x0000e582, 0x8dd50aa1, 0x00000900,
- 0x28400b35, 0x00001188, 0xa9001aa1, 0x00001888, 0x00005228, 0x0000f008,
- 0x29800aa1, 0x00001180, 0xa9001aa6, 0x00001880, 0x2941e2a4, 0x0000e002,
- 0x28400380, 0x00008980, 0x2900003d, 0x00006084, 0xa8680500, 0x00000900,
- 0x75e800a1, 0x0000e901, 0x700040ec, 0x00005680, 0x003d0cc4, 0x00008010,
- 0x28720004, 0x00009980, 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000,
- 0x041810a1, 0x0000e987, 0x700040ec, 0x00005680, 0x003d0fc0, 0x00008078,
- 0x00c002ec, 0x0000df80, 0x1511b80b, 0x00009684, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x28400ce0, 0x00009283, 0x0000535f, 0x00007013,
- 0x0c3cf830, 0x00007900, 0x003ffffe, 0x00008280, 0x2840854b, 0x00001481,
- 0x50650830, 0x00006800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502,
- 0xffffffff, 0x00007f86, 0x00005257, 0x00007008, 0x00005276, 0x00007008,
- 0xc0109312, 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b,
- 0x0681a034, 0x00009908, 0x28800000, 0x00007900, 0x001f8000, 0x00008980,
- 0xc0109312, 0x00006502, 0x001518a2, 0x0000a186, 0x043d18a2, 0x0000e101,
- 0xd0000809, 0x00003401, 0x203d16ec, 0x00005600, 0x003d0000, 0x00008000,
- 0x00622aa3, 0x00008a19, 0xc4122a45, 0x0000e108, 0xc41a2344, 0x0000c910,
- 0x40322d43, 0x00001503, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00005284, 0x00007030, 0x00005284, 0x0000f010, 0x28322d43, 0x0000e100,
- 0x28403700, 0x00008181, 0x000030a0, 0x00006582, 0x91400000, 0x00000981,
- 0x28003000, 0x000099b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380,
- 0xc02504a1, 0x00006001, 0x50e504a0, 0x00008901, 0x28403603, 0x00009181,
- 0x284094a6, 0x00006081, 0x80e504a1, 0x00008001, 0x822502a1, 0x0000e886,
- 0x00b50eec, 0x00005f02, 0x00005800, 0x00008084, 0xa9bf1fe3, 0x00001900,
- 0x8a050ca6, 0x0000a080, 0xffffffff, 0x00007fa7, 0x29803ca1, 0x00009281,
- 0x000014a6, 0x00001583, 0x08021ca1, 0x0000e094, 0xd0000030, 0x0000b410,
- 0x29a50fe4, 0x00001810, 0x00005287, 0x0000f008, 0x8f8508ec, 0x0000a084,
- 0xffffffff, 0x00007f86, 0x00005257, 0x00007403, 0x286534a1, 0x00009401,
- 0x8f8508ec, 0x00002884, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80,
- 0x00985b01, 0x00008684, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980,
- 0x00151831, 0x00006186, 0x60001008, 0x0000b403, 0x043d1831, 0x0000e101,
- 0x40001009, 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980,
- 0x00001004, 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x00003c4b, 0x00001583, 0x28404033, 0x00009898, 0x2980b8a1, 0x00009118,
- 0x00005374, 0x0000f030, 0x2840c0a6, 0x00009002, 0xa8400a12, 0x0000e0e0,
- 0xcca52ca5, 0x00000961, 0xcdd9bca5, 0x0000e060, 0x84800a12, 0x000000e0,
- 0x000052d9, 0x00007068, 0x54c1aca1, 0x00004408, 0xd2a0dfa3, 0x0000949a,
- 0xc051aa12, 0x0000f812, 0x32400000, 0x0000a880, 0x26420099, 0x00006380,
- 0x0e421ca6, 0x0000a000, 0x08c00000, 0x0000e180, 0x20000899, 0x0000e403,
- 0x08021ca1, 0x00006084, 0xe0000099, 0x0000b401, 0x000040ec, 0x00005780,
- 0x00006001, 0x00000080, 0xc0109312, 0x00006502, 0x00001823, 0x0000a106,
- 0x07003ca6, 0x0000e081, 0xe4418099, 0x00006001, 0xa9802302, 0x0000e780,
- 0xc0001823, 0x00002006, 0x08400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x09400000, 0x00007900, 0x00010000, 0x00000980, 0x0804b000, 0x00007900,
- 0x00022080, 0x00000980, 0x000120ec, 0x00005788, 0x00006001, 0x00000080,
- 0x2701a034, 0x0000e100, 0x45153026, 0x0000e107, 0x26000718, 0x000089ad,
- 0xe6c00000, 0x00006181, 0xe8c047a3, 0x00004181, 0x08a81402, 0x00008208,
- 0x66a50c1c, 0x00006301, 0x09c00004, 0x00000980, 0x814010ec, 0x00005694,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008120ec, 0x0000d790,
- 0x00006001, 0x00000080, 0x00005164, 0x0000f000, 0xc0109311, 0x00009502,
- 0x40000809, 0x0000e46a, 0xc0001008, 0x0000346b, 0x2980254b, 0x0000e7e9,
- 0x60001005, 0x0000a46a, 0x000050ff, 0x0000f060, 0x28400ca6, 0x00009481,
- 0x28400ca1, 0x00006283, 0x51650830, 0x0000a000, 0x28400000, 0x0000e189,
- 0x286a1d43, 0x00004911, 0xffffffff, 0x00007f86, 0x50e50ca1, 0x00001901,
- 0xc051aa12, 0x0000f812, 0x32400000, 0x0000a880, 0x7fbd08ec, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x6840854b, 0x0000e283, 0x298008a1, 0x00008080,
- 0x7fbd30ec, 0x00002884, 0x28652b37, 0x00009010, 0x00005311, 0x00007008,
- 0x80250e37, 0x00009503, 0x0ec1c839, 0x00006118, 0x0e81c038, 0x0000c918,
- 0x00005311, 0x00007031, 0x80000237, 0x00001582, 0xa8400a37, 0x00006190,
- 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1, 0x0000e582,
- 0x8dd50aa1, 0x00000900, 0x28400b35, 0x00001188, 0xa9001aa1, 0x00001888,
- 0x000052ef, 0x00007008, 0x29800aa1, 0x00001180, 0xa9001aa6, 0x00001880,
- 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980, 0x2900003d, 0x00006084,
- 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901, 0x700040ec, 0x00005680,
- 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980, 0x703d28ec, 0x0000d600,
- 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987, 0x700040ec, 0x00005680,
- 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x1517f00b, 0x00009684,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0, 0x00009283,
- 0x000053ac, 0x00007013, 0x0c3cf830, 0x00007900, 0x003ffffe, 0x00008280,
- 0x2840854b, 0x00001481, 0x50650830, 0x00006800, 0x68410530, 0x00001283,
- 0x0000d834, 0x00009502, 0xffffffff, 0x00007f86, 0x0000531e, 0x00007008,
- 0x0000533d, 0x0000f008, 0xc0109312, 0x00009502, 0x80000809, 0x0000e40a,
- 0xa000080a, 0x0000b40b, 0x0681a034, 0x00009908, 0x28800000, 0x00007900,
- 0x001f8000, 0x00008980, 0xc0109312, 0x00006502, 0x001518a2, 0x0000a186,
- 0x043d18a2, 0x0000e101, 0xd0000809, 0x00003401, 0x203d16ec, 0x00005600,
- 0x003d0000, 0x00008000, 0x00622aa3, 0x00008a19, 0xc4122a45, 0x0000e108,
- 0xc41a2344, 0x0000c910, 0x40322d43, 0x00001503, 0x28010430, 0x00009283,
- 0xffffffff, 0x00007f86, 0x0000534b, 0x0000f030, 0x0000534b, 0x00007010,
- 0x28322d43, 0x0000e100, 0x28403700, 0x00008181, 0x000030a0, 0x00006582,
- 0x91400000, 0x00000981, 0x28003000, 0x000099b8, 0x001800ec, 0x0000d780,
- 0x00985b01, 0x00000380, 0xc02504a1, 0x00006001, 0x50e504a0, 0x00008901,
- 0x28403603, 0x00009181, 0x284094a6, 0x00006081, 0x80e504a1, 0x00008001,
- 0x822502a1, 0x0000e886, 0x00b50eec, 0x00005f02, 0x00005800, 0x00008084,
- 0xa9bf1fe3, 0x00001900, 0x8a050ca6, 0x0000a080, 0xffffffff, 0x00007fa7,
- 0x29803ca1, 0x00009281, 0x000014a6, 0x00001583, 0x08021ca1, 0x0000e094,
- 0xd0000030, 0x0000b410, 0x29a50fe4, 0x00001810, 0x0000534e, 0x00007008,
- 0x8f8508ec, 0x0000a084, 0xffffffff, 0x00007f86, 0x0000531e, 0x00007403,
- 0x286534a1, 0x00009401, 0x8f8508ec, 0x00002884, 0xd1600000, 0x000004ce,
- 0x009806ec, 0x0000df80, 0x00985b01, 0x00008684, 0x0c400000, 0x00007900,
- 0x001f8000, 0x00008980, 0x00151831, 0x00006186, 0x60001008, 0x0000b403,
- 0x043d1831, 0x0000e101, 0x40001009, 0x00003402, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x00001004, 0x00006402, 0xc0001008, 0x0000b403,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x20398eec, 0x00005600,
- 0x003d0000, 0x00008000, 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80,
- 0x00005801, 0x00000084, 0x53601c02, 0x00007100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x07400000, 0x00007910, 0x001f8000, 0x00008980,
- 0x87551aa3, 0x0000e110, 0x00001004, 0x0000e412, 0x0000524a, 0x00007008,
- 0x043d181d, 0x00006101, 0x60001008, 0x0000b403, 0x40001009, 0x00006402,
- 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900, 0x00044010, 0x00000980,
- 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80,
- 0x00005801, 0x00000084, 0x2980d834, 0x00009100, 0x001980a6, 0x00001502,
- 0x28804033, 0x00001890, 0x2840b8a2, 0x00009110, 0x0000544c, 0x00007008,
- 0x2840c0a1, 0x00001002, 0xa9800a12, 0x000060e0, 0x07000000, 0x000089e1,
- 0x2600c018, 0x00006160, 0x1000c099, 0x000064e2, 0x000053c1, 0x0000f068,
- 0x8011aaa6, 0x00006502, 0x80000099, 0x00002500, 0x07000800, 0x00006189,
- 0x20000099, 0x00006403, 0x0e421ca1, 0x0000e000, 0xe0000099, 0x0000b401,
- 0x00002c4b, 0x00006583, 0x24a0e099, 0x00002003, 0x07003ca1, 0x00006081,
- 0x08021ca6, 0x0000e084, 0xa6799b4b, 0x00008934, 0xa6c00000, 0x00006180,
- 0xe4418099, 0x00006001, 0x00005447, 0x00007408, 0xe6c00000, 0x00006181,
- 0xe6800a12, 0x00004080, 0x2701a034, 0x0000e100, 0x66a5341c, 0x00004301,
- 0xa8c4e2a3, 0x00006180, 0x2402684d, 0x00000900, 0x247a774c, 0x00008908,
- 0x24fa9753, 0x00000910, 0x25ba8f50, 0x00008914, 0x097f8025, 0x00007900,
- 0x003ffffe, 0x00008280, 0x000040ec, 0x00005780, 0x00006001, 0x00000080,
- 0xc0109312, 0x00006502, 0x49400000, 0x00000981, 0x0804b000, 0x00007900,
- 0x00022080, 0x00000980, 0x000120ec, 0x00005788, 0x00006001, 0x00000080,
- 0x80000025, 0x00006c03, 0x814010ec, 0x00005694, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x008120ec, 0x0000d790, 0x00006001, 0x00000080,
- 0xe8c047a3, 0x0000e181, 0x84800a12, 0x00000080, 0x00005164, 0x00007400,
- 0x0600c0a2, 0x0000e000, 0xcca52ca5, 0x00000901, 0xcdd9bca5, 0x00001000,
- 0x53ad1c02, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x07400000, 0x00007910, 0x001f8000, 0x00008980, 0x87551aa3, 0x0000e110,
- 0x00001004, 0x0000e412, 0x00005311, 0x00007008, 0x043d181d, 0x00006101,
- 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403,
- 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600,
- 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x7fbd30ec, 0x0000a084, 0xffffffff, 0x00007fa7, 0x284008a6, 0x00001080,
- 0x7fbd08ec, 0x0000a884, 0x6840854b, 0x00001283, 0x29a52b37, 0x00001010,
- 0x000053f9, 0x0000f009, 0x80253637, 0x00001503, 0x0ec1c839, 0x00006118,
- 0x0e81c038, 0x0000c918, 0x000053f9, 0x00007031, 0x80000237, 0x00001582,
- 0xa8400a37, 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86,
- 0x800002a1, 0x0000e582, 0x8dd50aa1, 0x00000900, 0x28400aa1, 0x0000e190,
- 0x29800b35, 0x00000188, 0xa9001aa6, 0x00009888, 0x000053d7, 0x00007008,
- 0xa9001aa1, 0x00009880, 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980,
- 0x2900003d, 0x00006084, 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901,
- 0x700040ec, 0x00005680, 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980,
- 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987,
- 0x700040ec, 0x00005680, 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80,
- 0x151f300b, 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x28400ce0, 0x00009283, 0x00005456, 0x0000f013, 0x0c3cf830, 0x00007900,
- 0x003ffffe, 0x00008280, 0x2980854b, 0x00009481, 0x50653030, 0x0000e800,
- 0x68410530, 0x00001283, 0x0000d834, 0x00009502, 0xffffffff, 0x00007f86,
- 0x00005406, 0x0000f008, 0x00005425, 0x00007008, 0xc0109312, 0x00009502,
- 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034, 0x00009908,
- 0x28800000, 0x00007900, 0x001f8000, 0x00008980, 0xc0109312, 0x00006502,
- 0x001518a2, 0x0000a186, 0x043d18a2, 0x0000e101, 0xd0000809, 0x00003401,
- 0x203d16ec, 0x00005600, 0x003d0000, 0x00008000, 0x00622aa3, 0x00000a05,
- 0xc4122a45, 0x0000e108, 0xc41a2344, 0x0000c910, 0x40322d43, 0x00001503,
- 0x28010430, 0x00009283, 0xffffffff, 0x00007f86, 0x00005433, 0x00007030,
- 0x00005433, 0x0000f010, 0x28322d43, 0x0000e100, 0x28803700, 0x00008181,
- 0x000030a0, 0x00006582, 0x284094a1, 0x00008081, 0x91400000, 0x0000e181,
- 0x28003000, 0x0000c9b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380,
- 0xc02504a2, 0x00006001, 0x822502a1, 0x0000a086, 0x50e504a0, 0x00006101,
- 0x28803603, 0x0000c181, 0x80e504a2, 0x00001001, 0x00b50eec, 0x00005f02,
- 0x00005800, 0x00008084, 0xa87f1fe3, 0x00009900, 0x8a0534a1, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x28403ca6, 0x00009281, 0x000014a1, 0x00009583,
- 0x08021ca6, 0x00006094, 0xd0000030, 0x0000b410, 0x286537e4, 0x00001810,
- 0x00005436, 0x0000f008, 0x8f8510ec, 0x0000a084, 0xffffffff, 0x00007f86,
- 0x00005406, 0x0000f403, 0x29a50ca2, 0x00009401, 0x8f8530ec, 0x0000a884,
- 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01, 0x00008684,
- 0x0c400000, 0x00007900, 0x001f8000, 0x00008980, 0x00151831, 0x00006186,
- 0x60001008, 0x0000b403, 0x043d1831, 0x0000e101, 0x40001009, 0x00003402,
- 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x00001004, 0x00006402,
- 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181, 0x80005009, 0x00006406,
- 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0x80751ea3, 0x00001901,
- 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0xa8c482a3, 0x00006180,
- 0x2442684d, 0x00008900, 0x00005396, 0x00007400, 0x24ba774c, 0x0000090c,
- 0x25018831, 0x00001900, 0xa0000809, 0x0000e402, 0xc0001008, 0x0000b403,
- 0x60001005, 0x0000e402, 0x0000000f, 0x00003401, 0x0c010030, 0x00006380,
- 0x0680d81b, 0x00008900, 0x5a40dfa3, 0x0000789a, 0x02800001, 0x00008000,
- 0xc051aa12, 0x0000f812, 0x32400000, 0x0000a880, 0x54571c02, 0x00007100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000, 0x00007910,
- 0x001f8000, 0x00008980, 0x87551aa3, 0x0000e110, 0x00001004, 0x0000e412,
- 0x000053f9, 0x00007008, 0x043d181d, 0x00006101, 0x60001008, 0x0000b403,
- 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x80751ea3, 0x00001901,
- 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91406800, 0x00006199, 0x28401800, 0x00004999, 0x00005548, 0x00007031,
- 0x547344f5, 0x00007100, 0xa9b71ee3, 0x00001900, 0x8e8508a6, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a1, 0x00009583, 0x91407000, 0x00006199,
- 0x28401800, 0x00004999, 0x000056c2, 0x0000f031, 0x547b44f5, 0x0000f100,
- 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a6, 0x00001583, 0x91404800, 0x0000e199, 0x28401800, 0x00004999,
- 0x0000562f, 0x0000f031, 0x548344f5, 0x00007100, 0x8000964b, 0x00009583,
- 0x00080049, 0x00009582, 0xffffffff, 0x00007f86, 0x0000549b, 0x0000f018,
- 0x00005493, 0x00007018, 0x0000144b, 0x0000e583, 0x80001030, 0x0000a480,
- 0x69408000, 0x00009999, 0x0000548e, 0x0000f031, 0x6841054b, 0x00001283,
- 0x000054a3, 0x0000f013, 0x000050f0, 0x00007400, 0xa8402302, 0x00006780,
- 0x0c424849, 0x00008900, 0x8c800000, 0x0000e181, 0x45150826, 0x00006107,
- 0xa9b71ee3, 0x00001900, 0x8e8508a6, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a1, 0x00009583, 0x91401000, 0x00006199, 0x28401800, 0x00004999,
- 0x000054ab, 0x00007031, 0x549b44f5, 0x00007100, 0xa9b71ee3, 0x00001900,
- 0x8e8508a6, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a1, 0x00009583,
- 0x91400800, 0x00006199, 0x28401800, 0x00004999, 0x000054b9, 0x00007031,
- 0x54a344f5, 0x0000f100, 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583, 0x91407000, 0x00006199,
- 0x28401800, 0x00004999, 0x000054c7, 0x00007031, 0x54ab44f5, 0x00007100,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03bcf000, 0x00007900, 0x0016af9c, 0x00000980,
- 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x54b91bac, 0x0000f500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02172849, 0x00004200, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03a9e800, 0x0000f900, 0x002bf324, 0x00008980, 0x01909212, 0x0000e100,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x54c71bac, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02325e4b, 0x00004900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x038ce800, 0x00007900,
- 0x00265762, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x01800000, 0x000080dc, 0x54d41bac, 0x00007500, 0x82600500, 0x00008026,
- 0x81001000, 0x0000e180, 0x02c01002, 0x00004900, 0x000024a1, 0x00009583,
- 0x00001ca1, 0x00001583, 0x000024a1, 0x00009583, 0x0000551c, 0x00007018,
- 0x000054e1, 0x0000f008, 0x000054e8, 0x0000f010, 0x0002f8a7, 0x00006502,
- 0x2902e050, 0x00008000, 0x2840405f, 0x000017a0, 0x0b0000a1, 0x00007920,
- 0x00000200, 0x00000380, 0x00005697, 0x00007028, 0x4515102c, 0x0000e907,
- 0x0002d8a7, 0x0000e502, 0x2902c0a4, 0x00008000, 0x2980405b, 0x000017a0,
- 0x0a8000a6, 0x0000f920, 0x00000200, 0x00000380, 0x000054f0, 0x00007028,
- 0x4515102a, 0x0000e907, 0x0002b8a7, 0x0000e502, 0x2902a0a4, 0x00008000,
- 0x28404057, 0x000097a0, 0x0a0000a1, 0x0000f920, 0x00000200, 0x00000380,
- 0x000054f8, 0x0000f028, 0x000050e5, 0x0000f200, 0x45151028, 0x00006907,
- 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a6, 0x00001583, 0x91406000, 0x0000e199, 0x28401800, 0x00004999,
- 0x00005500, 0x00007031, 0x54f844f5, 0x00007100, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91406800, 0x00006199, 0x28401800, 0x00004999, 0x0000550e, 0x0000f031,
- 0x550044f5, 0x00007100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900,
- 0x000fbf3c, 0x00000980, 0x019728a7, 0x00006200, 0x08001a09, 0x00002106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x550e1bac, 0x00007500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217285b, 0x00004200,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980,
- 0x019728a7, 0x00006200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x551c1bac, 0x00007500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02172857, 0x00004200, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91405000, 0x0000e199, 0x28401800, 0x00004999, 0x00005524, 0x00007031,
- 0x552444f5, 0x00007100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ab5000, 0x00007900,
- 0x0028aed6, 0x00008980, 0x01b25e4b, 0x0000e100, 0x08001a09, 0x0000e106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x55321bac, 0x00007500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02319632, 0x00004900,
- 0x2880164b, 0x0000e181, 0x29804053, 0x00008780, 0x00000ca2, 0x00006583,
- 0xaa002302, 0x00000780, 0x098000a6, 0x00007900, 0x00000200, 0x00000380,
- 0x0c424849, 0x00006100, 0x45154026, 0x00006107, 0x0000555e, 0x0000f218,
- 0x29028050, 0x00006100, 0x8c80164b, 0x0000c181, 0x0cc25ca6, 0x00006800,
- 0x000004a6, 0x00009583, 0x28824849, 0x0000e108, 0x29804849, 0x0000c790,
- 0x298018a6, 0x00001890, 0x288248a6, 0x00001010, 0xffffffff, 0x00007f86,
- 0x000510a4, 0x00001502, 0x00005556, 0x00007013, 0x000050f0, 0x00007200,
- 0x80001030, 0x0000ec80, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03bae800, 0x00007900,
- 0x0033d078, 0x00000980, 0x018510a2, 0x0000e100, 0x08001a09, 0x0000e106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x55561bac, 0x0000f500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x020520a4, 0x00004900,
- 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a6, 0x00001583, 0x91406800, 0x00006199, 0x28401800, 0x00004999,
- 0x000055b6, 0x0000f031, 0x555e44f5, 0x0000f100, 0x000024a2, 0x00009583,
- 0x00001ca2, 0x00001583, 0x000024a2, 0x00009583, 0x000055a6, 0x0000f018,
- 0x0000556b, 0x0000f008, 0x00005572, 0x00007010, 0x0002f8a7, 0x00006502,
- 0x2902e050, 0x00008000, 0x2840405f, 0x000017a0, 0x0b0000a1, 0x00007920,
- 0x00000200, 0x00000380, 0x000055ae, 0x00007028, 0x4515402c, 0x0000e907,
- 0x0002d8a7, 0x0000e502, 0x2902c0a4, 0x00008000, 0x2980405b, 0x000017a0,
- 0x0a8000a6, 0x0000f920, 0x00000200, 0x00000380, 0x0000557a, 0x00007028,
- 0x4515402a, 0x0000e907, 0x0002b8a7, 0x0000e502, 0x2902a0a4, 0x00008000,
- 0x28404057, 0x000097a0, 0x0a0000a1, 0x0000f920, 0x00000200, 0x00000380,
- 0x00005582, 0x0000f028, 0x0000553d, 0x0000f200, 0x45154028, 0x00006907,
- 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a6, 0x00001583, 0x91406000, 0x0000e199, 0x28401800, 0x00004999,
- 0x0000558a, 0x0000f031, 0x558244f5, 0x00007100, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91406800, 0x00006199, 0x28401800, 0x00004999, 0x00005598, 0x0000f031,
- 0x558a44f5, 0x0000f100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900,
- 0x000fbf3c, 0x00000980, 0x019728a7, 0x00006200, 0x08001a09, 0x00002106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x55981bac, 0x00007500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217285b, 0x00004200,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980,
- 0x019728a7, 0x00006200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x55a61bac, 0x0000f500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02172857, 0x00004200, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91405000, 0x0000e199, 0x28401800, 0x00004999, 0x000055c4, 0x0000f031,
- 0x55ae44f5, 0x0000f100, 0xa9b71ee3, 0x00001900, 0x8e8508a6, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a1, 0x00009583, 0x91405800, 0x00006199,
- 0x28401800, 0x00004999, 0x000055d2, 0x00007031, 0x55b644f5, 0x0000f100,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03bae800, 0x00007900, 0x0033d078, 0x00000980,
- 0x018510a2, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x55c41bac, 0x00007500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x020520a4, 0x00004900, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03ab5000, 0x00007900, 0x0028aed6, 0x00008980, 0x01b25e4b, 0x0000e100,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x55d21bac, 0x0000f500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02319632, 0x00004900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900,
- 0x000fbf3c, 0x00000980, 0x019728a7, 0x00006200, 0x08001a09, 0x00002106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x55e01bac, 0x00007500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217285f, 0x0000c200,
- 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a6, 0x00001583, 0x91404800, 0x0000e199, 0x28401800, 0x00004999,
- 0x000055f0, 0x00007031, 0x55e844f5, 0x00007100, 0x0cc00ce0, 0x0000e283,
- 0x0c400000, 0x00000980, 0x000055fe, 0x0000f013, 0x00005546, 0x0000f400,
- 0x09800100, 0x00006180, 0xa8402302, 0x0000c780, 0x8c800800, 0x00006181,
- 0x45150826, 0x00006107, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900,
- 0x000fbf3c, 0x00000980, 0x019728a7, 0x00006200, 0x08001a09, 0x00002106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x55fe1bac, 0x00007500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02172853, 0x0000c200,
- 0x55ff1c02, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x0c400000, 0x0000f910, 0x001f8000, 0x00008980, 0x8c551aa3, 0x00006110,
- 0x00001004, 0x0000e412, 0x000055eb, 0x00007008, 0x043d1831, 0x0000e101,
- 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403,
- 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x20398eec, 0x00005600,
- 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x2840164b, 0x0000e181, 0x29804053, 0x00008780, 0x00000ca1, 0x00006583,
- 0xa8802302, 0x00000780, 0x098000a6, 0x00007900, 0x00000200, 0x00000380,
- 0x0c424849, 0x00006100, 0x45151026, 0x00006107, 0x0000563d, 0x0000f218,
- 0x29028050, 0x00006100, 0x8c80164b, 0x0000c181, 0x0cc25ca6, 0x00006800,
- 0x000004a6, 0x00009583, 0x28824849, 0x0000e108, 0x29804849, 0x0000c790,
- 0x298018a6, 0x00001890, 0x288248a6, 0x00001010, 0xffffffff, 0x00007f86,
- 0x000510a4, 0x00001502, 0xa8771ee3, 0x00001910, 0x8e8530a1, 0x00002094,
- 0x00005546, 0x0000f008, 0xffffffff, 0x00007f97, 0x000204a6, 0x00001583,
- 0x91406800, 0x00006199, 0x28401800, 0x00004999, 0x00005673, 0x0000f031,
- 0x562f44f5, 0x0000f100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900,
- 0x000fbf3c, 0x00000980, 0x019728a7, 0x00006200, 0x08001a09, 0x00002106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x563d1bac, 0x00007500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02172853, 0x0000c200,
- 0x000024a1, 0x00009583, 0x00001ca1, 0x00001583, 0x000024a1, 0x00009583,
- 0x00005653, 0x0000f018, 0x00005648, 0x00007008, 0x0000564d, 0x00007010,
- 0x2902e050, 0x0000e000, 0x2840405f, 0x00000780, 0x0b0000a1, 0x0000f900,
- 0x00000200, 0x00000380, 0x4515102c, 0x0000e907, 0x2902c0a4, 0x0000e000,
- 0x2980405b, 0x00000780, 0x0a8000a6, 0x00007900, 0x00000200, 0x00000380,
- 0x4515102a, 0x0000e907, 0x2902a0a4, 0x0000e000, 0x28404057, 0x00008780,
- 0x0000561e, 0x00007400, 0x0a0000a1, 0x00007900, 0x00000200, 0x00000380,
- 0x45151028, 0x00006907, 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583, 0x91405000, 0x0000e199,
- 0x28401800, 0x00004999, 0x00005681, 0x00007031, 0x565b44f5, 0x0000f100,
- 0x0cc00ce0, 0x0000e283, 0x0c400000, 0x00000980, 0x000055eb, 0x0000700b,
- 0x565f1c02, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x0c400000, 0x0000f910, 0x001f8000, 0x00008980, 0x8c551aa3, 0x00006110,
- 0x00001004, 0x0000e412, 0x000055eb, 0x00007008, 0x043d1831, 0x0000e101,
- 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403,
- 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x20398eec, 0x00005600,
- 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03bae800, 0x00007900, 0x0033d078, 0x00000980,
- 0x018510a2, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x56811bac, 0x0000f500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x020520a4, 0x00004900, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03ab5000, 0x00007900, 0x0028aed6, 0x00008980, 0x01b25e4b, 0x0000e100,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x568f1bac, 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02319632, 0x00004900, 0x0cc00ce0, 0x0000e283, 0x0c400000, 0x00000980,
- 0x0000569f, 0x00007013, 0x000050ee, 0x00007400, 0x09800100, 0x00006180,
- 0xa8402302, 0x0000c780, 0x8c800800, 0x00006181, 0x45150826, 0x00006107,
- 0xa9b71ee3, 0x00001900, 0x8e8508a6, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a1, 0x00009583, 0x91405800, 0x00006199, 0x28401800, 0x00004999,
- 0x000056b4, 0x00007031, 0x569f44f5, 0x00007100, 0x56a01c02, 0x00007100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x0c400000, 0x0000f910,
- 0x001f8000, 0x00008980, 0x8c551aa3, 0x00006110, 0x00001004, 0x0000e412,
- 0x00005692, 0x0000f008, 0x043d1831, 0x0000e101, 0x60001008, 0x0000b403,
- 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x80751ea3, 0x00001901,
- 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a7, 0x00006200,
- 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x56c21bac, 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x0217285f, 0x0000c200, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x038d6000, 0x0000f900,
- 0x0034824e, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x01800000, 0x000080dc, 0x56cf1bac, 0x0000f500, 0x82600500, 0x00008026,
- 0x81001000, 0x0000e180, 0x02c01002, 0x00004900, 0x0c400000, 0x0000e180,
- 0x2840344b, 0x00004181, 0x00000ca1, 0x00009583, 0x0cc00000, 0x00001998,
- 0x00005710, 0x00007031, 0x00005c4b, 0x00001583, 0xa8771ee3, 0x00009918,
- 0x8e8530a1, 0x0000a09c, 0x000056fc, 0x0000f030, 0xffffffff, 0x00007f97,
- 0x000204a6, 0x00001583, 0x91402800, 0x0000e199, 0x28401800, 0x00004999,
- 0x000056ee, 0x00007031, 0x56e744f5, 0x00007100, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x91400e45, 0x00009081, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x91400e45, 0x00009081, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x91400e45, 0x00009081, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x91400e45, 0x00009081, 0x10420700, 0x00007904,
- 0x000050c7, 0x0000f400, 0x10420700, 0x00007904, 0x91400e45, 0x00009081,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03a41000, 0x0000f900, 0x003aa5f4, 0x00000980,
- 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x56fc1bac, 0x0000f500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02225c4b, 0x00004900, 0x0005384a, 0x00001502,
- 0xa8402302, 0x000067b0, 0x2880404a, 0x000087b0, 0x098000a2, 0x0000f930,
- 0x00000200, 0x00000380, 0x0000571b, 0x00007018, 0x0000544b, 0x00006583,
- 0x45150826, 0x0000a107, 0x000270a7, 0x00009502, 0xffffffff, 0x00007f86,
- 0x000050fb, 0x0000f010, 0x00005723, 0x0000f028, 0x2980404e, 0x00001780,
- 0x0a0000a2, 0x00007900, 0x00000200, 0x00000380, 0x000050fb, 0x0000f400,
- 0x098000a6, 0x00007900, 0x00000200, 0x00000380, 0x45150826, 0x00006107,
- 0x45150828, 0x0000b107, 0x00004054, 0x00006582, 0x0cc00800, 0x00000980,
- 0xa9b71ee3, 0x00009910, 0x8e8508a6, 0x00002094, 0x00005ff2, 0x0000f008,
- 0xffffffff, 0x00007f97, 0x000204a1, 0x00009583, 0x91402000, 0x00006199,
- 0x28401800, 0x00004999, 0x00005fe4, 0x00007031, 0x571b44f5, 0x0000f100,
- 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a6, 0x00001583, 0x91403000, 0x0000e199, 0x28401800, 0x00004999,
- 0x0000572b, 0x0000f031, 0x572344f5, 0x00007100, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91403800, 0x00006199, 0x28401800, 0x00004999, 0x00005739, 0x0000f031,
- 0x572b44f5, 0x0000f100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03ad4800, 0x00007900,
- 0x0014bcaa, 0x00000980, 0x019728a7, 0x00006200, 0x08001a09, 0x00002106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x57391bac, 0x00007500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217284a, 0x00004200,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03be8800, 0x0000f900, 0x002d26b2, 0x00000980,
- 0x019728a7, 0x00006200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x57471bac, 0x00007500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x0217284e, 0x0000c200, 0x7fbd08ec, 0x00002084,
- 0xffffffff, 0x00007fa7, 0x6840854b, 0x0000e283, 0x298008a1, 0x00008080,
- 0x7fbd30ec, 0x00002884, 0x28651337, 0x00001010, 0x0000577f, 0x00007008,
- 0x80250e37, 0x00009503, 0x0ec1c839, 0x00006118, 0x0e81c038, 0x0000c918,
- 0x0000577f, 0x00007031, 0x80000237, 0x00001582, 0xa8400a37, 0x00006190,
- 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86, 0x800002a1, 0x0000e582,
- 0x8dd50aa1, 0x00000900, 0x28400b35, 0x00001188, 0xa9001aa1, 0x00001888,
- 0x0000575d, 0x00007008, 0x29800aa1, 0x00001180, 0xa9001aa6, 0x00001880,
- 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980, 0x2900003d, 0x00006084,
- 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901, 0x700040ec, 0x00005680,
- 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980, 0x703d28ec, 0x0000d600,
- 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987, 0x700040ec, 0x00005680,
- 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80, 0x155b600b, 0x00001684,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x28400ce0, 0x00009283,
- 0x00005dd7, 0x0000f013, 0x0c3cf830, 0x00007900, 0x003ffffe, 0x00008280,
- 0x2840854b, 0x00001481, 0x50650830, 0x00006800, 0x68410530, 0x00001283,
- 0x0000d834, 0x00009502, 0xffffffff, 0x00007f86, 0x0000578c, 0x00007008,
- 0x000057ab, 0x00007008, 0xc0109312, 0x00009502, 0x80000809, 0x0000e40a,
- 0xa000080a, 0x0000b40b, 0x0681a034, 0x00009908, 0x28800000, 0x00007900,
- 0x001f8000, 0x00008980, 0xc0109312, 0x00006502, 0x001518a2, 0x0000a186,
- 0x043d18a2, 0x0000e101, 0xd0000809, 0x00003401, 0x203d16ec, 0x00005600,
- 0x003d0000, 0x00008000, 0x00622aa3, 0x00008a19, 0xc4122a45, 0x0000e108,
- 0xc41a2344, 0x0000c910, 0x40322d43, 0x00001503, 0x28010430, 0x00009283,
- 0xffffffff, 0x00007f86, 0x000057b9, 0x0000f030, 0x000057b9, 0x00007010,
- 0x28322d43, 0x0000e100, 0x28403700, 0x00008181, 0x000030a0, 0x00006582,
- 0x91400000, 0x00000981, 0x28003000, 0x000099b8, 0x001800ec, 0x0000d780,
- 0x00985b01, 0x00000380, 0xc02504a1, 0x00006001, 0x50e504a0, 0x00008901,
- 0x28403603, 0x00009181, 0x284094a6, 0x00006081, 0x80e504a1, 0x00008001,
- 0x822502a1, 0x0000e886, 0x00b50eec, 0x00005f02, 0x00005800, 0x00008084,
- 0xa9bf1fe3, 0x00001900, 0x8a050ca6, 0x0000a080, 0xffffffff, 0x00007fa7,
- 0x29803ca1, 0x00009281, 0x000014a6, 0x00001583, 0x08021ca1, 0x0000e094,
- 0xd0000030, 0x0000b410, 0x29a50fe4, 0x00001810, 0x000057bc, 0x00007008,
- 0x8f8508ec, 0x0000a084, 0xffffffff, 0x00007f86, 0x0000578c, 0x00007403,
- 0x286534a1, 0x00009401, 0x8f8508ec, 0x00002884, 0xd1600000, 0x000004ce,
- 0x009806ec, 0x0000df80, 0x00985b01, 0x00008684, 0x0c400000, 0x00007900,
- 0x001f8000, 0x00008980, 0x00151831, 0x00006186, 0x60001008, 0x0000b403,
- 0x043d1831, 0x0000e101, 0x40001009, 0x00003402, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x00001004, 0x00006402, 0xc0001008, 0x0000b403,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x20398eec, 0x00005600,
- 0x003d0000, 0x00008000, 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80,
- 0x00005801, 0x00000084, 0x0cc00ce0, 0x0000e283, 0x0c400000, 0x00000980,
- 0x000057de, 0x0000f013, 0x09800100, 0x00006180, 0xa8402302, 0x0000c780,
- 0x00004a71, 0x0000f400, 0x45150826, 0x00006107, 0x80001030, 0x00003480,
- 0xe9400810, 0x000083cb, 0xa9b71ee3, 0x00001900, 0x8e8508a6, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a1, 0x00009583, 0x91407000, 0x00006199,
- 0x28401800, 0x00004999, 0x000057f3, 0x0000f031, 0x57de44f5, 0x0000f100,
- 0x57df1c02, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x0c400000, 0x0000f910, 0x001f8000, 0x00008980, 0x8c551aa3, 0x00006110,
- 0x00001004, 0x0000e412, 0x000057d0, 0x00007008, 0x043d1831, 0x0000e101,
- 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403,
- 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x20398eec, 0x00005600,
- 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x038d6000, 0x0000f900, 0x0034824e, 0x00000980,
- 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000080dc,
- 0x58001bac, 0x00007500, 0x82600500, 0x00008026, 0x81001000, 0x0000e180,
- 0x02c01002, 0x00004900, 0x2900164b, 0x0000e181, 0x29804053, 0x00008780,
- 0x00000ca4, 0x00006583, 0xa9402302, 0x00008780, 0x098000a6, 0x00007900,
- 0x00000200, 0x00000380, 0x0c424849, 0x00006100, 0x45152826, 0x0000e107,
- 0x0000586f, 0x0000f218, 0x2a028050, 0x00006100, 0x8c80164b, 0x0000c181,
- 0x0cc25ca6, 0x00006800, 0x000004a6, 0x00009583, 0x29024849, 0x0000e108,
- 0x29804849, 0x0000c790, 0x298018a6, 0x00001890, 0x290248a6, 0x00001010,
- 0xffffffff, 0x00007f86, 0x000520a8, 0x00001502, 0x00005867, 0x00007013,
- 0x00004a71, 0x0000f200, 0x80001030, 0x0000ec80, 0x8000964b, 0x00009583,
- 0x00080049, 0x00009582, 0xffffffff, 0x00007f86, 0x0000582e, 0x00007018,
- 0x00005826, 0x0000f018, 0x0000144b, 0x0000e583, 0x80001030, 0x0000a480,
- 0xa9408000, 0x00009999, 0x00005821, 0x0000f031, 0x6841054b, 0x00001283,
- 0x00005836, 0x0000f013, 0x00004a71, 0x0000f400, 0xa8402302, 0x00006780,
- 0x0c424849, 0x00008900, 0x8c800000, 0x0000e181, 0x45150826, 0x00006107,
- 0xa9b71ee3, 0x00001900, 0x8e8508a6, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a1, 0x00009583, 0x91401000, 0x00006199, 0x28401800, 0x00004999,
- 0x0000583e, 0x00007031, 0x582e44f5, 0x0000f100, 0xa9b71ee3, 0x00001900,
- 0x8e8508a6, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a1, 0x00009583,
- 0x91400800, 0x00006199, 0x28401800, 0x00004999, 0x0000584c, 0x00007031,
- 0x583644f5, 0x0000f100, 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583, 0x91407000, 0x00006199,
- 0x28401800, 0x00004999, 0x0000585a, 0x0000f031, 0x583e44f5, 0x00007100,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03bcf000, 0x00007900, 0x0016af9c, 0x00000980,
- 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x584c1bac, 0x0000f500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02172849, 0x00004200, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03a9e800, 0x0000f900, 0x002bf324, 0x00008980, 0x01909212, 0x0000e100,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x585a1bac, 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02325e4b, 0x00004900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x038ce800, 0x00007900,
- 0x00265762, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x01800000, 0x000080dc, 0x58671bac, 0x0000f500, 0x82600500, 0x00008026,
- 0x81001000, 0x0000e180, 0x02c01002, 0x00004900, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91406800, 0x00006199, 0x28401800, 0x00004999, 0x000058bf, 0x00007031,
- 0x586f44f5, 0x0000f100, 0x000024a4, 0x00009583, 0x00001ca4, 0x00001583,
- 0x000024a4, 0x00009583, 0x000058b7, 0x00007018, 0x0000587c, 0x00007008,
- 0x00005883, 0x00007010, 0x0002f8a7, 0x00006502, 0x2a02e050, 0x00008000,
- 0x2840405f, 0x000017a0, 0x0b0000a1, 0x00007920, 0x00000200, 0x00000380,
- 0x00005f61, 0x00007028, 0x4515282c, 0x00006907, 0x0002d8a7, 0x0000e502,
- 0x2a02c0a8, 0x00008000, 0x2980405b, 0x000017a0, 0x0a8000a6, 0x0000f920,
- 0x00000200, 0x00000380, 0x0000588b, 0x00007028, 0x4515282a, 0x00006907,
- 0x0002b8a7, 0x0000e502, 0x2a02a0a8, 0x00008000, 0x28404057, 0x000097a0,
- 0x0a0000a1, 0x0000f920, 0x00000200, 0x00000380, 0x00005893, 0x00007028,
- 0x0000580b, 0x00007200, 0x45152828, 0x0000e907, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91406000, 0x0000e199, 0x28401800, 0x00004999, 0x0000589b, 0x00007031,
- 0x589344f5, 0x0000f100, 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583, 0x91406800, 0x00006199,
- 0x28401800, 0x00004999, 0x000058a9, 0x0000f031, 0x589b44f5, 0x00007100,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980,
- 0x019728a7, 0x00006200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x58a91bac, 0x00007500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x0217285b, 0x00004200, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a7, 0x00006200,
- 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x58b71bac, 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02172857, 0x00004200, 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583, 0x91405000, 0x0000e199,
- 0x28401800, 0x00004999, 0x000058cd, 0x00007031, 0x58bf44f5, 0x00007100,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03bae800, 0x00007900, 0x0033d078, 0x00000980,
- 0x018520a4, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x58cd1bac, 0x0000f500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x020540a8, 0x00004900, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03ab5000, 0x00007900, 0x0028aed6, 0x00008980, 0x01b25e4b, 0x0000e100,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x58db1bac, 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02319632, 0x00004900, 0xe8c027a3, 0x00009081, 0x1e406543, 0x00004389,
- 0x00a06543, 0x00000098, 0x20804543, 0x00004389, 0x00a04543, 0x000080b0,
- 0x01c05543, 0x0000c588, 0x01005543, 0x0000809e, 0x03c03543, 0x00004588,
- 0x01e03d43, 0x00008290, 0x1f007d43, 0x00004389, 0x00a07d43, 0x000000b0,
- 0x1f808d43, 0x00004489, 0xf4a08d43, 0x000096a9, 0x02c09543, 0x00004788,
- 0x01806d43, 0x0000008e, 0x3d807543, 0x0000f88a, 0x02c00000, 0x00002c88,
- 0x1b000000, 0x000086f4, 0x1bc00000, 0x000086f8, 0x1c000000, 0x000087c4,
- 0x1cc00000, 0x000087c8, 0x1d000000, 0x000087d4, 0x1dc00000, 0x000087d8,
- 0x1e000000, 0x000087e4, 0x1ec00000, 0x000087e8, 0x1f000000, 0x000087f4,
- 0x1fc00000, 0x000087f8, 0x20000000, 0x000088c4, 0x20c00000, 0x000088c8,
- 0x21000000, 0x000088d4, 0x21c00000, 0x000088d8, 0x22000000, 0x000088e4,
- 0x22c00000, 0x000088e8, 0x23000000, 0x000088f4, 0x23c00000, 0x000088f8,
- 0x00004bd5, 0x0000f200, 0x0700941e, 0x00009081, 0x18000000, 0x000086c4,
- 0x18c00000, 0x000086c8, 0x19000000, 0x000086d4, 0x19c00000, 0x000086d8,
- 0x000058ec, 0x00007400, 0x1a000000, 0x000086e4, 0x1ac00000, 0x000086e8,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x26020430, 0x0000e283,
- 0x29325e4b, 0x00000901, 0x0e0184a1, 0x00006890, 0x298014a1, 0x00001891,
- 0x0000591b, 0x00007008, 0xb84244a6, 0x00006081, 0x0e0184a1, 0x0000a080,
- 0x298014a1, 0x00009881, 0xffffffff, 0x0000ffb7, 0x2a821300, 0x00007904,
- 0x2a021300, 0x0000f904, 0x2ac55842, 0x0000e002, 0xb84244a6, 0x00000081,
- 0x2a0000a8, 0x00006084, 0x2a8210aa, 0x00008100, 0xffffffff, 0x0000ffb7,
- 0x10855500, 0x00007904, 0x10854500, 0x0000f904, 0x0c3ef830, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x29804033, 0x00006080, 0x28420430, 0x0000c481,
- 0x2980b8a6, 0x0000e100, 0x57e50899, 0x00002000, 0x2840c0a6, 0x00006002,
- 0x10800000, 0x00008980, 0xa678c34b, 0x00008920, 0x00005a6a, 0x0000f069,
- 0x25c0244b, 0x0000c299, 0x52a0144b, 0x000016b2, 0xbf803c4b, 0x000078b2,
- 0x12c00000, 0x00002d81, 0x07010499, 0x00001283, 0x07000000, 0x0000e189,
- 0x07008000, 0x00004991, 0xffffffff, 0x00007f86, 0x6960e41c, 0x00009901,
- 0x0e01841c, 0x0000e880, 0x2680141c, 0x00009181, 0x3f60854b, 0x0000c495,
- 0xf6a00031, 0x0000168b, 0x3da01c1c, 0x0000c389, 0x00a01c1c, 0x000080b0,
- 0x1960241c, 0x00004589, 0x00802c1c, 0x00000092, 0x4f40141c, 0x00007892,
- 0x4ac00000, 0x00002d80, 0xa8402302, 0x00006780, 0x2980405f, 0x00008780,
- 0x098000a6, 0x00007900, 0x00000200, 0x00000380, 0x45150826, 0x0000e907,
- 0x26400899, 0x00006380, 0x0f8184a1, 0x00002000, 0x0e421ca6, 0x00006000,
- 0x00000099, 0x00003401, 0x4701054b, 0x0000e283, 0x60000099, 0x00002403,
- 0x2880a031, 0x0000e080, 0xe0000099, 0x00002401, 0x07403ca6, 0x00006081,
- 0x65a50899, 0x0000e003, 0x29803833, 0x00006080, 0x08021ca1, 0x00006084,
- 0x0000599e, 0x00007410, 0x07c18831, 0x00006100, 0xe4418099, 0x00006001,
- 0x284530a2, 0x00006000, 0x66a50c1d, 0x00008301, 0xd000009f, 0x00006403,
- 0xe0000030, 0x00003400, 0x001518a1, 0x00001502, 0x07800000, 0x0000e199,
- 0xe6800a12, 0x000040b0, 0x07000000, 0x000061b1, 0x10004099, 0x0000e436,
- 0x000059b4, 0x0000f018, 0xc011ab9a, 0x00006502, 0x20000099, 0x0000a403,
- 0x07000800, 0x00006189, 0x2860faec, 0x00004101, 0x07420430, 0x00006283,
- 0x29804033, 0x00008880, 0x24a0e099, 0x0000e003, 0xd000009f, 0x00003403,
- 0x07001ca1, 0x00006281, 0x15825899, 0x0000a000, 0x84800a12, 0x00006080,
- 0x20a0e099, 0x00002002, 0xccb25e4b, 0x0000e101, 0xcdd9be4b, 0x0000c000,
- 0x0000596b, 0x00007410, 0xa6e0fd32, 0x0000092c, 0x0600c0a6, 0x00006000,
- 0x27419833, 0x00008900, 0x07400c30, 0x00009283, 0xd702789f, 0x0000e009,
- 0xe000089f, 0x0000b411, 0xa990fda5, 0x0000e000, 0xa8403a33, 0x00000880,
- 0xa88022a6, 0x0000e080, 0xf482589f, 0x00002001, 0xa9950aa2, 0x0000e000,
- 0x0c400000, 0x00000980, 0xa915341c, 0x0000e000, 0x24024048, 0x00000900,
- 0x4700854b, 0x0000e283, 0x2442684d, 0x00008900, 0x24ba774c, 0x0000090c,
- 0x2539a71f, 0x00008930, 0x00005144, 0x00007208, 0xe8c027a3, 0x0000e091,
- 0x0700a000, 0x00000989, 0x32006543, 0x00004389, 0x00a06543, 0x00000098,
- 0x43e04543, 0x00004389, 0x00a04543, 0x000080b0, 0x01c05543, 0x0000c588,
- 0x01005543, 0x0000809e, 0x13603543, 0x00004589, 0x89a03d43, 0x00008996,
- 0x32c07d43, 0x00004389, 0x00a07d43, 0x000000b0, 0x33408d43, 0x0000c489,
- 0x30a08d43, 0x000096ab, 0x02c09543, 0x0000c789, 0x09406d43, 0x0000808e,
- 0x65007543, 0x0000f88a, 0xdac00000, 0x00002d80, 0x1b000000, 0x000086f4,
- 0x1bc00000, 0x000086f8, 0x1c000000, 0x000087c4, 0x1cc00000, 0x000087c8,
- 0x1d000000, 0x000087d4, 0x1dc00000, 0x000087d8, 0x1e000000, 0x000087e4,
- 0x1ec00000, 0x000087e8, 0x1f000000, 0x000087f4, 0x1fc00000, 0x000087f8,
- 0x20000000, 0x000088c4, 0x20c00000, 0x000088c8, 0x21000000, 0x000088d4,
- 0x21c00000, 0x000088d8, 0x22000000, 0x000088e4, 0x22c00000, 0x000088e8,
- 0x23000000, 0x000088f4, 0x23c00000, 0x000088f8, 0x0000519d, 0x00007200,
- 0x0700a000, 0x00001981, 0x00001c4b, 0x00009583, 0x07420c30, 0x00001289,
- 0x0000594e, 0x0000f011, 0x07820c30, 0x00001283, 0x07800000, 0x0000e190,
- 0x0fc2781e, 0x00006008, 0x47020530, 0x00001283, 0x28800800, 0x00009990,
- 0x28800000, 0x00001988, 0x000059aa, 0x00007010, 0x00000c1d, 0x00001583,
- 0x28800800, 0x00009988, 0x00119031, 0x00006502, 0xe0000030, 0x0000a400,
- 0xe7a5109f, 0x0000e801, 0xd760f09f, 0x00006801, 0x0000041e, 0x00009583,
- 0x000004a2, 0x00001583, 0x00005950, 0x0000f030, 0x000059b3, 0x0000f010,
- 0x00005950, 0x00007008, 0x07800800, 0x00001981, 0x0700141c, 0x00006081,
- 0xa90025a5, 0x0000c080, 0xb842441c, 0x0000e081, 0x0cc25ca1, 0x0000a000,
- 0x000004a1, 0x0000e583, 0x298402a4, 0x00000080, 0x28453232, 0x0000e000,
- 0x90803232, 0x00000790, 0x90800000, 0x00006188, 0xf482589f, 0x0000e001,
- 0x267ff099, 0x0000f900, 0x003ffffe, 0x00008280, 0x0c030030, 0x0000e380,
- 0x60000099, 0x00002403, 0x07021300, 0x0000f904, 0x874006a3, 0x000009ad,
- 0x0005081d, 0x00006502, 0xe6c00800, 0x00000981, 0x24821300, 0x0000f904,
- 0x0838e432, 0x00000904, 0x000059e2, 0x0000f048, 0x07800000, 0x0000e181,
- 0x28400c1e, 0x0000c481, 0xa5121220, 0x00001000, 0x0014a091, 0x00006502,
- 0x0754a294, 0x00000900, 0x00005af0, 0x0000f02b, 0x2440e891, 0x0000e100,
- 0x0cc00833, 0x00008180, 0x87440232, 0x0000e080, 0x0c519031, 0x00008100,
- 0xa910eaa4, 0x0000e000, 0x06080018, 0x00000080, 0x288402a4, 0x0000e080,
- 0xa6d1929b, 0x00000000, 0x28851232, 0x00006000, 0x2740089d, 0x00000080,
- 0x001518a2, 0x0000e502, 0x07800c1e, 0x00000081, 0x07400000, 0x000099d1,
- 0x000059e2, 0x0000f039, 0x0000041e, 0x00009583, 0x07400800, 0x00009989,
- 0xffffffff, 0x00007f86, 0x07650c1d, 0x00001303, 0x000059cb, 0x0000f013,
- 0x00000091, 0x0000e582, 0xe6909212, 0x00000900, 0x8c800e32, 0x00006189,
- 0x0e0184a1, 0x00002088, 0x28400ca1, 0x0000e089, 0x10800000, 0x00000988,
- 0x00005973, 0x0000f400, 0x267f7899, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x1084881c, 0x00006110, 0x82250830, 0x0000a088, 0x29804057, 0x00006780,
- 0x2840405b, 0x00008780, 0x098000a6, 0x00007900, 0x00000200, 0x00000380,
- 0x87402302, 0x0000e780, 0x2980405f, 0x00008780, 0x0a0000a1, 0x00007900,
- 0x00000200, 0x00000380, 0x0a8000a6, 0x00007900, 0x00000200, 0x00000380,
- 0x0000593d, 0x0000f400, 0x4510e826, 0x0000e107, 0x4510e828, 0x00003107,
- 0x4510e82a, 0x00006907, 0x0000593d, 0x0000f400, 0xa8402302, 0x00006780,
- 0x09800100, 0x00008980, 0x45150826, 0x0000e907, 0x2980405b, 0x00006780,
- 0x2840405f, 0x00000780, 0x098000a6, 0x00007900, 0x00000200, 0x00000380,
- 0x0a0000a1, 0x00007900, 0x00000200, 0x00000380, 0x0000593d, 0x0000f400,
- 0x87402302, 0x00001780, 0x4510e828, 0x00006107, 0x4510e826, 0x0000b107,
- 0x29804053, 0x0000e780, 0x28404057, 0x00008780, 0x098000a6, 0x00007900,
- 0x00000200, 0x00000380, 0x0a0000a1, 0x00007900, 0x00000200, 0x00000380,
- 0x2980405b, 0x00006780, 0x2840405f, 0x00000780, 0x0a8000a6, 0x00007900,
- 0x00000200, 0x00000380, 0x0b0000a1, 0x0000f900, 0x00000200, 0x00000380,
- 0x87402302, 0x00001780, 0x0000593d, 0x0000f400, 0x4510e826, 0x0000e107,
- 0x4510e828, 0x00003107, 0x4510e82c, 0x0000e107, 0x4510e82a, 0x0000b107,
- 0x18000000, 0x000086c4, 0x18c00000, 0x000086c8, 0x19000000, 0x000086d4,
- 0x19c00000, 0x000086d8, 0x0000598a, 0x0000f400, 0x1a000000, 0x000086e4,
- 0x1ac00000, 0x000086e8, 0x2880404a, 0x0000e780, 0x87002302, 0x00000780,
- 0x098000a2, 0x0000f900, 0x00000200, 0x00000380, 0x0000544b, 0x00006583,
- 0x4510e026, 0x0000a107, 0x2980404e, 0x00006788, 0x08021ca1, 0x0000a084,
- 0x0a0000a2, 0x0000f908, 0x00000200, 0x00000380, 0x098000a6, 0x0000f908,
- 0x00000200, 0x00000380, 0x0e421ca6, 0x00006000, 0x4510e028, 0x0000310f,
- 0x26438099, 0x00006380, 0x4510e026, 0x0000210f, 0x4701054b, 0x0000e283,
- 0x07003ca6, 0x00000881, 0x66a50c1c, 0x00006301, 0x80000099, 0x00002500,
- 0x07000000, 0x00006188, 0x0b82901c, 0x0000e010, 0x0e025ca6, 0x00006000,
- 0xe0000099, 0x0000b401, 0x66625c4b, 0x0000e101, 0xf7e0e09f, 0x00006001,
- 0x0fc1841c, 0x00006000, 0xe4418099, 0x00003001, 0x0000544b, 0x00006583,
- 0x2865341c, 0x00008301, 0x04250899, 0x00006001, 0x00001025, 0x0000b406,
- 0x28401000, 0x00006189, 0x28400800, 0x00004991, 0x4701054b, 0x0000e283,
- 0x0797f800, 0x00000980, 0x001890ec, 0x0000d780, 0x00006000, 0x00008080,
- 0x08002800, 0x0000e191, 0x08002000, 0x00004989, 0x000838ec, 0x0000d780,
- 0x00006000, 0x00008080, 0x000040ec, 0x00005780, 0x00006001, 0x00000080,
- 0x49400000, 0x0000e181, 0x29800ca1, 0x0000c181, 0xc0109312, 0x00006502,
- 0x87a10420, 0x00000901, 0xc3c2589f, 0x0000e001, 0x80001825, 0x0000b403,
- 0x081cb000, 0x00007900, 0x0002e100, 0x00000980, 0x000120ec, 0x00005788,
- 0x00006001, 0x00000080, 0x2600c018, 0x00006100, 0xb2e5301e, 0x00006004,
- 0x2701a034, 0x0000e100, 0xe6800a12, 0x00004080, 0x27400000, 0x0000e180,
- 0xa6d29252, 0x0000c900, 0x07400000, 0x000081fc, 0x07000802, 0x00009980,
- 0x814010ec, 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008120ec, 0x0000d790, 0x00006001, 0x00000080, 0x00005164, 0x00007400,
- 0xe8c047a3, 0x0000e181, 0x84800a12, 0x00000080, 0xcdd9bca4, 0x00006000,
- 0xcca524a4, 0x00000901, 0x7fbd08ec, 0x00002084, 0xffffffff, 0x00007fa7,
- 0x6840854b, 0x0000e283, 0x298008a1, 0x00008080, 0x7fbd30ec, 0x00002884,
- 0x28652337, 0x00001010, 0x00005aa2, 0x0000f008, 0x80250e37, 0x00009503,
- 0x0ec1c839, 0x00006118, 0x0e81c038, 0x0000c918, 0x00005aa2, 0x0000f031,
- 0x80000237, 0x00001582, 0xa8400a37, 0x00006190, 0xa8400b35, 0x00000188,
- 0xffffffff, 0x00007f86, 0x800002a1, 0x0000e582, 0x8dd50aa1, 0x00000900,
- 0x28400b35, 0x00001188, 0xa9001aa1, 0x00001888, 0x00005a80, 0x0000f008,
- 0x29800aa1, 0x00001180, 0xa9001aa6, 0x00001880, 0x2941e2a4, 0x0000e002,
- 0x28400380, 0x00008980, 0x2900003d, 0x00006084, 0xa8680500, 0x00000900,
- 0x75e800a1, 0x0000e901, 0x700040ec, 0x00005680, 0x003d0cc4, 0x00008010,
- 0x28720004, 0x00009980, 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000,
- 0x041810a1, 0x0000e987, 0x700040ec, 0x00005680, 0x003d0fc0, 0x00008078,
- 0x00c002ec, 0x0000df80, 0x1594780b, 0x00001684, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x28400ce0, 0x00009283, 0x00005b32, 0x00007013,
- 0x0c3cf830, 0x00007900, 0x003ffffe, 0x00008280, 0x2840854b, 0x00001481,
- 0x50650830, 0x00006800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502,
- 0xffffffff, 0x00007f86, 0x00005aaf, 0x00007008, 0x00005ace, 0x0000f008,
- 0xc0109312, 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b,
- 0x0681a034, 0x00009908, 0x28800000, 0x00007900, 0x001f8000, 0x00008980,
- 0xc0109312, 0x00006502, 0x001518a2, 0x0000a186, 0x043d18a2, 0x0000e101,
- 0xd0000809, 0x00003401, 0x203d16ec, 0x00005600, 0x003d0000, 0x00008000,
- 0x00622aa3, 0x00008a19, 0xc4122a45, 0x0000e108, 0xc41a2344, 0x0000c910,
- 0x40322d43, 0x00001503, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00005adc, 0x00007030, 0x00005adc, 0x0000f010, 0x28322d43, 0x0000e100,
- 0x28403700, 0x00008181, 0x000030a0, 0x00006582, 0x91400000, 0x00000981,
- 0x28003000, 0x000099b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380,
- 0xc02504a1, 0x00006001, 0x50e504a0, 0x00008901, 0x28403603, 0x00009181,
- 0x284094a6, 0x00006081, 0x80e504a1, 0x00008001, 0x822502a1, 0x0000e886,
- 0x00b50eec, 0x00005f02, 0x00005800, 0x00008084, 0xa9bf1fe3, 0x00001900,
- 0x8a050ca6, 0x0000a080, 0xffffffff, 0x00007fa7, 0x29803ca1, 0x00009281,
- 0x000014a6, 0x00001583, 0x08021ca1, 0x0000e094, 0xd0000030, 0x0000b410,
- 0x29a50fe4, 0x00001810, 0x00005adf, 0x0000f008, 0x8f8508ec, 0x0000a084,
- 0xffffffff, 0x00007f86, 0x00005aaf, 0x00007403, 0x286534a1, 0x00009401,
- 0x8f8508ec, 0x00002884, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80,
- 0x00985b01, 0x00008684, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980,
- 0x00151831, 0x00006186, 0x60001008, 0x0000b403, 0x043d1831, 0x0000e101,
- 0x40001009, 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980,
- 0x00001004, 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0xa5148a94, 0x0000e100, 0x0e01841c, 0x0000a080, 0x07000c1c, 0x00006081,
- 0xe6c00f9b, 0x00000081, 0x8c800e32, 0x0000e181, 0x8220e030, 0x00002080,
- 0x07021300, 0x0000f904, 0x0014a01c, 0x00006502, 0x2440e01c, 0x00008900,
- 0x24821300, 0x0000f904, 0x88119232, 0x00006120, 0x0754a294, 0x0000c900,
- 0x00005af0, 0x0000f028, 0x000059cf, 0x0000f000, 0xa9800a12, 0x00006080,
- 0x1000c099, 0x0000a482, 0x07000000, 0x00006181, 0x80000099, 0x0000e500,
- 0x8011aaa6, 0x00006502, 0x20000099, 0x0000a403, 0x07000800, 0x00006189,
- 0xe0000099, 0x0000e401, 0x00002c4b, 0x00006583, 0xa8402302, 0x00000780,
- 0x24a0e099, 0x0000e003, 0x45150826, 0x00003107, 0x0e421ca1, 0x0000e000,
- 0x08021ca6, 0x0000b084, 0x66625c4b, 0x0000e101, 0x07003ca1, 0x00004881,
- 0x2600c018, 0x00006100, 0xe4418099, 0x00006001, 0x27400733, 0x000089ad,
- 0x00005b47, 0x00007408, 0xe6c00000, 0x00006181, 0xe6800a12, 0x00004080,
- 0x2701a034, 0x0000e100, 0x66a5341c, 0x00004301, 0xa8c4e2a3, 0x00006180,
- 0x2402684d, 0x00000900, 0x247a774c, 0x00008908, 0x24fa9753, 0x00000910,
- 0x25ba8f50, 0x00008914, 0x097f8025, 0x00007900, 0x003ffffe, 0x00008280,
- 0x000040ec, 0x00005780, 0x00006001, 0x00000080, 0xc0109312, 0x00006502,
- 0x49400000, 0x00000981, 0x0804b000, 0x00007900, 0x00022080, 0x00000980,
- 0x000120ec, 0x00005788, 0x00006001, 0x00000080, 0x80000025, 0x00006c03,
- 0x814010ec, 0x00005694, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008120ec, 0x0000d790, 0x00006001, 0x00000080, 0x28404033, 0x0000e080,
- 0xe8c047a3, 0x00004181, 0x00005164, 0x00007400, 0x84800a12, 0x00006080,
- 0xcca524a4, 0x00000901, 0x0600c0a1, 0x0000e000, 0xcdd9bca4, 0x00000000,
- 0x5b331c02, 0x0000f100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x07400000, 0x00007910, 0x001f8000, 0x00008980, 0x87551aa3, 0x0000e110,
- 0x00001004, 0x0000e412, 0x00005aa2, 0x0000f008, 0x043d181d, 0x00006101,
- 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403,
- 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600,
- 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0xa8c482a3, 0x00006180, 0x2442684d, 0x00008900, 0x00005b1b, 0x0000f400,
- 0x24ba774c, 0x0000090c, 0x25018831, 0x00001900, 0x000024a4, 0x00009583,
- 0x00001ca4, 0x00001583, 0x000024a4, 0x00009583, 0x00005b9d, 0x0000f018,
- 0x00005b59, 0x0000f008, 0x00005b60, 0x0000f010, 0x0002f8a7, 0x00006502,
- 0x2a02e050, 0x00008000, 0x2840405f, 0x000017a0, 0x0b0000a1, 0x00007920,
- 0x00000200, 0x00000380, 0x00005e6d, 0x0000f028, 0x4515282c, 0x00006907,
- 0x0002d8a7, 0x0000e502, 0x2a02c0a8, 0x00008000, 0x2980405b, 0x000017a0,
- 0x0a8000a6, 0x0000f920, 0x00000200, 0x00000380, 0x00005b70, 0x0000f028,
- 0x4515282a, 0x00006907, 0x0002b8a7, 0x0000e502, 0x2a02a0a8, 0x00008000,
- 0x28404057, 0x000067a0, 0x0cc25ca6, 0x0000a020, 0x0a0000a1, 0x0000f920,
- 0x00000200, 0x00000380, 0x00005b78, 0x00007028, 0x000004a6, 0x00006583,
- 0x45152828, 0x0000a107, 0x29024849, 0x0000e108, 0x29804849, 0x0000c790,
- 0x298018a6, 0x00001890, 0x290248a6, 0x00001010, 0xffffffff, 0x00007f86,
- 0x9bc520a8, 0x0000f80a, 0x2a400000, 0x00002f83, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91406000, 0x0000e199, 0x28401800, 0x00004999, 0x00005b80, 0x00007031,
- 0x5b7844f5, 0x0000f100, 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583, 0x91406800, 0x00006199,
- 0x28401800, 0x00004999, 0x00005b8e, 0x0000f031, 0x5b8044f5, 0x00007100,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980,
- 0x019728a7, 0x00006200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x5b8e1bac, 0x00007500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x0217285b, 0x00004200, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x015728a7, 0x00006200, 0x08001a09, 0x00002106,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900,
- 0x000fbf3c, 0x00000980, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x82781400, 0x0000802c, 0x5b9d1bac, 0x0000f500, 0x02172857, 0x0000e200,
- 0x81001000, 0x00000980, 0x01802805, 0x00009900, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91405000, 0x0000e199, 0x28401800, 0x00004999, 0x00005bad, 0x00007031,
- 0x5ba544f5, 0x0000f100, 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583, 0x91404800, 0x0000e199,
- 0x28401800, 0x00004999, 0x00005bba, 0x00007031, 0x5bad44f5, 0x00007100,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03ab5000, 0x00007900, 0x0028aed6, 0x00008980,
- 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x5bba1bac, 0x0000f500, 0x02d19702, 0x00000023, 0x81001000, 0x0000e180,
- 0x01b25e4b, 0x0000c900, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x015728a7, 0x00006200, 0x08001a09, 0x00002106, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x82781400, 0x0000802c,
- 0x5bc91bac, 0x00007500, 0x02172853, 0x00006200, 0x81001000, 0x00000980,
- 0x01802805, 0x00009900, 0x2900164b, 0x0000e181, 0x29804053, 0x00008780,
- 0x00000ca4, 0x00006583, 0xa9402302, 0x00008780, 0x098000a6, 0x00007900,
- 0x00000200, 0x00000380, 0x0c424849, 0x00006100, 0x45152826, 0x0000e107,
- 0x00005c6a, 0x00007218, 0x2a028050, 0x00006100, 0x8c80164b, 0x0000c181,
- 0x0cc25ca6, 0x00006800, 0x000004a6, 0x00009583, 0x29024849, 0x0000e108,
- 0x29804849, 0x0000c790, 0x298018a6, 0x00001890, 0x290248a6, 0x00001010,
- 0xffffffff, 0x00007f86, 0x000520a8, 0x00001502, 0xa8771ee3, 0x00001910,
- 0x8e8530a1, 0x00002094, 0x00005814, 0x0000f008, 0xffffffff, 0x00007f97,
- 0x000204a6, 0x00001583, 0x91406800, 0x00006199, 0x28401800, 0x00004999,
- 0x00005bf2, 0x00007031, 0x5be544f5, 0x00007100, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03a41000, 0x0000f900, 0x003aa5f4, 0x00000980, 0x01c00000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x5bf21bac, 0x0000f500,
- 0x02c25f02, 0x00000023, 0x81001000, 0x0000e180, 0x01909212, 0x0000c900,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03bae800, 0x00007900, 0x0033d078, 0x00000980,
- 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x5bff1bac, 0x00007500, 0x02fd4702, 0x00000020, 0x81001000, 0x0000e180,
- 0x018520a4, 0x0000c900, 0x0005384a, 0x00001502, 0xa8402302, 0x000067b0,
- 0x2900404a, 0x000087b0, 0x098000a4, 0x0000f930, 0x00000200, 0x00000380,
- 0x00005c24, 0x0000f018, 0x0000544b, 0x00006583, 0x45150826, 0x0000a107,
- 0x000270a7, 0x00009502, 0xffffffff, 0x00007f86, 0x00004a7c, 0x00007010,
- 0x00005c2c, 0x00007028, 0x2980404e, 0x00001780, 0x0a0000a4, 0x00007900,
- 0x00000200, 0x00000380, 0x098000a6, 0x00007900, 0x00000200, 0x00000380,
- 0x0c3df830, 0x0000f900, 0x003ffffe, 0x00008280, 0x45150828, 0x0000e107,
- 0x45150826, 0x00003107, 0x292a5d4b, 0x00009901, 0x44c0154b, 0x00007897,
- 0x02c00001, 0x00000000, 0x4140254b, 0x0000f897, 0x1ac00000, 0x00002584,
- 0x00004054, 0x00006582, 0x0cc00800, 0x00000980, 0xa9b71ee3, 0x00009910,
- 0x8e8508a6, 0x00002094, 0x00005c60, 0x00007008, 0xffffffff, 0x00007f97,
- 0x000204a1, 0x00009583, 0x91402000, 0x00006199, 0x28401800, 0x00004999,
- 0x00005c52, 0x0000f031, 0x5c2444f5, 0x00007100, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91403000, 0x0000e199, 0x28401800, 0x00004999, 0x00005c34, 0x0000f031,
- 0x5c2c44f5, 0x0000f100, 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583, 0x91403800, 0x00006199,
- 0x28401800, 0x00004999, 0x00005c43, 0x0000f031, 0x5c3444f5, 0x0000f100,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x015728a7, 0x00006200,
- 0x08001a09, 0x00002106, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03ad4800, 0x00007900, 0x0014bcaa, 0x00000980, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x82781400, 0x0000802c, 0x5c431bac, 0x00007500,
- 0x0217284a, 0x0000e200, 0x81001000, 0x00000980, 0x01802805, 0x00009900,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x015728a7, 0x00006200,
- 0x08001a09, 0x00002106, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03be8800, 0x0000f900, 0x002d26b2, 0x00000980, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x82781400, 0x0000802c, 0x5c521bac, 0x00007500,
- 0x0217284e, 0x00006200, 0x81001000, 0x00000980, 0x01802805, 0x00009900,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03ac7800, 0x0000f900, 0x00018f3e, 0x00000980,
- 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x5c601bac, 0x0000f500, 0x02c01002, 0x00006100, 0x02172854, 0x00004200,
- 0x81001000, 0x0000e180, 0x01909212, 0x0000c900, 0x6841054b, 0x00001283,
- 0xa9b71ee3, 0x00009910, 0x8e8508a6, 0x00002094, 0x00005fbc, 0x0000f008,
- 0xffffffff, 0x00007f97, 0x000204a1, 0x00009583, 0x91402000, 0x00006199,
- 0x28401800, 0x00004999, 0x00005fae, 0x0000f031, 0x5c6a44f5, 0x00007100,
- 0x000024a4, 0x00009583, 0x00001ca4, 0x00001583, 0x000024a4, 0x00009583,
- 0x00005c88, 0x0000f018, 0x00005c75, 0x0000f008, 0x00005c7a, 0x0000f010,
- 0x2a02e050, 0x0000e000, 0x2840405f, 0x00000780, 0x0b0000a1, 0x0000f900,
- 0x00000200, 0x00000380, 0x4515282c, 0x00006907, 0x2a02c0a8, 0x0000e000,
- 0x2980405b, 0x00000780, 0x0a8000a6, 0x00007900, 0x00000200, 0x00000380,
- 0x4515282a, 0x00006907, 0x2a02a0a8, 0x0000e000, 0x28404057, 0x00008780,
- 0x00005bd4, 0x0000f400, 0x0a0000a1, 0x00007900, 0x00000200, 0x00000380,
- 0x45152828, 0x0000e907, 0x0cc00ce0, 0x0000e283, 0x0c400000, 0x00000980,
- 0x00005c90, 0x00007013, 0x00005814, 0x0000f400, 0x09800100, 0x00006180,
- 0xa8402302, 0x0000c780, 0x8c800800, 0x00006181, 0x45150826, 0x00006107,
- 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a6, 0x00001583, 0x91405000, 0x0000e199, 0x28401800, 0x00004999,
- 0x00005ca5, 0x00007031, 0x5c9044f5, 0x00007100, 0x5c911c02, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x0c400000, 0x0000f910,
- 0x001f8000, 0x00008980, 0x8c551aa3, 0x00006110, 0x00001004, 0x0000e412,
- 0x00005c83, 0x0000f008, 0x043d1831, 0x0000e101, 0x60001008, 0x0000b403,
- 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x80751ea3, 0x00001901,
- 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03ab5000, 0x00007900, 0x0028aed6, 0x00008980, 0x01c00000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x5cb21bac, 0x0000f500,
- 0x02d19702, 0x00000023, 0x81001000, 0x0000e180, 0x01b25e4b, 0x0000c900,
- 0xa9bf1fe3, 0x00001900, 0x8a050ca6, 0x0000a080, 0xffffffff, 0x00007fa7,
- 0x28403ca1, 0x00001281, 0x000014a1, 0x00009583, 0x08021ca1, 0x0000e094,
- 0xd0000030, 0x0000b410, 0x28650fe4, 0x0000e010, 0x80751ea3, 0x0000c911,
- 0x00005ccf, 0x00007008, 0x8f8510ec, 0x0000a084, 0xc0109312, 0x00006502,
- 0xd0000809, 0x0000a401, 0xc4122a45, 0x0000e108, 0xc41a2344, 0x0000c910,
- 0x40322d43, 0x00001503, 0x28650ca2, 0x00001401, 0x28800000, 0x00007900,
- 0x001f8000, 0x00008980, 0x001518a2, 0x0000e986, 0x8f8508ec, 0x00002884,
- 0x043d18a2, 0x00006901, 0x00004b19, 0x0000f418, 0x203d16ec, 0x00005600,
- 0x003d0000, 0x00008000, 0x28322e45, 0x00001901, 0xd1600000, 0x000004ce,
- 0x009806ec, 0x0000df80, 0x00985b01, 0x00008684, 0x0c400000, 0x00007900,
- 0x001f8000, 0x00008980, 0x00151831, 0x00006186, 0x60001008, 0x0000b403,
- 0x043d1831, 0x0000e101, 0x40001009, 0x00003402, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x00001004, 0x00006402, 0xc0001008, 0x0000b403,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x20398eec, 0x00005600,
- 0x003d0000, 0x00008000, 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80,
- 0x00005801, 0x00000084, 0x28420430, 0x00001283, 0x28b25e4b, 0x00001911,
- 0x00004f48, 0x00007009, 0x00004b31, 0x00007000, 0x5ce51c02, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000, 0x00007910,
- 0x001f8000, 0x00008980, 0x87551aa3, 0x0000e110, 0x00001004, 0x0000e412,
- 0x00004e96, 0x00007008, 0x043d181d, 0x00006101, 0x60001008, 0x0000b403,
- 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x80751ea3, 0x00001901,
- 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x00001c4b, 0x00006583,
- 0xa8c036a3, 0x00000181, 0xe8c00fa3, 0x00009189, 0xffffffff, 0x00007f86,
- 0xc040dfa3, 0x000078b2, 0xba400000, 0x0000a587, 0x60000808, 0x0000e403,
- 0x60001005, 0x0000b402, 0x00004ab4, 0x0000f400, 0x0000000f, 0x00006401,
- 0xc0001008, 0x0000b403, 0x0c040030, 0x00009380, 0xc0109311, 0x00009502,
- 0x40000809, 0x0000e46a, 0xc0001008, 0x0000346b, 0x284024a4, 0x000067e9,
- 0x60001005, 0x0000a46a, 0x00004a83, 0x0000f060, 0x28400ca1, 0x00001481,
- 0x28400ca1, 0x00006283, 0x51650830, 0x0000a000, 0x28400000, 0x0000e189,
- 0x286a1d43, 0x00004911, 0x00004b01, 0x0000f400, 0xffffffff, 0x00007f86,
- 0x50e50ca1, 0x00001901, 0x0001a01b, 0x00009502, 0x0681a034, 0x0000e168,
- 0x80000809, 0x0000e46a, 0x60001005, 0x0000646a, 0xc0001008, 0x0000346b,
- 0x00004a81, 0x00007060, 0x284084a4, 0x00009283, 0x29a51337, 0x00009010,
- 0x00005d4d, 0x00007009, 0x80253637, 0x00001503, 0x0ec1c839, 0x00006118,
- 0x0e81c038, 0x0000c918, 0x00005d4d, 0x0000f031, 0x80000237, 0x00001582,
- 0xa8400a37, 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86,
- 0x800002a1, 0x0000e582, 0x8dd50aa1, 0x00000900, 0x28400aa1, 0x0000e190,
- 0x29800b35, 0x00000188, 0xa9001aa6, 0x00009888, 0x00005d2b, 0x0000f008,
- 0xa9001aa1, 0x00009880, 0x2941e2a4, 0x0000e002, 0x28400380, 0x00008980,
- 0x2900003d, 0x00006084, 0xa8680500, 0x00000900, 0x75e800a1, 0x0000e901,
- 0x700040ec, 0x00005680, 0x003d0cc4, 0x00008010, 0x28720004, 0x00009980,
- 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000, 0x041810a1, 0x0000e987,
- 0x700040ec, 0x00005680, 0x003d0fc0, 0x00008078, 0x00c002ec, 0x0000df80,
- 0x15c9d00b, 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x28400ce0, 0x00009283, 0x00005d58, 0x00007013, 0x2980254b, 0x00009781,
- 0x0c3cf830, 0x00007900, 0x003ffffe, 0x00008280, 0x28400ca6, 0x00009481,
- 0x28400ca1, 0x00006283, 0x51650830, 0x0000a000, 0x28400000, 0x0000e189,
- 0x286a1d43, 0x00004911, 0x00004b01, 0x0000f400, 0xffffffff, 0x00007f86,
- 0x50e50ca1, 0x00001901, 0x5d591c02, 0x0000f100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x07400000, 0x00007910, 0x001f8000, 0x00008980,
- 0x87551aa3, 0x0000e110, 0x00001004, 0x0000e412, 0x00005d4d, 0x0000f008,
- 0x043d181d, 0x00006101, 0x60001008, 0x0000b403, 0x40001009, 0x00006402,
- 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900, 0x00044010, 0x00000980,
- 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80,
- 0x00005801, 0x00000084, 0x00003c4b, 0x00001583, 0x28404033, 0x00009898,
- 0x2980b8a1, 0x00009118, 0x00005e0e, 0x0000f030, 0x2840c0a6, 0x00009002,
- 0x7fbd08ec, 0x0000a0ec, 0x00004d0a, 0x00007061, 0xffffffff, 0x00007f86,
- 0x6840854b, 0x0000e283, 0x298008a1, 0x00008080, 0x7fbd30ec, 0x00002884,
- 0x28651337, 0x00001010, 0x00005dab, 0x00007008, 0x80250e37, 0x00009503,
- 0x0ec1c839, 0x00006118, 0x0e81c038, 0x0000c918, 0x00005dab, 0x00007031,
- 0x80000237, 0x00001582, 0xa8400a37, 0x00006190, 0xa8400b35, 0x00000188,
- 0xffffffff, 0x00007f86, 0x800002a1, 0x0000e582, 0x8dd50aa1, 0x00000900,
- 0x28400b35, 0x00001188, 0xa9401aa1, 0x00009888, 0x00005d89, 0x00007008,
- 0x29800aa1, 0x00001180, 0xa9401aa6, 0x00009880, 0x28b20004, 0x0000e180,
- 0x28400380, 0x00004980, 0xa8680500, 0x0000e100, 0x041810a2, 0x00006187,
- 0x75e800a1, 0x0000e901, 0x700040ec, 0x00005680, 0x003d0cc4, 0x00008010,
- 0x2841e2a5, 0x00001002, 0x2940003d, 0x00001084, 0x703d08ec, 0x00005600,
- 0x003d2800, 0x00008000, 0x700040ec, 0x00005680, 0x003d17c0, 0x00008078,
- 0x00c002ec, 0x0000df80, 0x15ccc00b, 0x00009684, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x008810ec, 0x00005780, 0x00006000, 0x00008080, 0x00000001, 0x0000f080,
+ 0x00000c1b, 0x00001583, 0xd7c09605, 0x0000f90a, 0x04400000, 0x00000000,
+ 0x02000c13, 0x0000e188, 0x09001c14, 0x0000a00e, 0x00002d44, 0x00007010,
+ 0x41002504, 0x00006283, 0x0b80da75, 0x00002182, 0x0260a414, 0x0000e100,
+ 0x0b80da07, 0x0000e182, 0x00002d15, 0x00007011, 0x18c00000, 0x00006180,
+ 0x0d00d805, 0x0000e006, 0x18009000, 0x0000f900, 0x00014000, 0x00008980,
+ 0x0c00dc75, 0x00006000, 0x00001863, 0x0000b106, 0x1a800000, 0x000006f0,
+ 0x02c00805, 0x0000e282, 0x85000fe2, 0x00008880, 0x19000000, 0x00007900,
+ 0x00040000, 0x00000980, 0xe4fb460a, 0x0000b038, 0x18400000, 0x00007900,
+ 0x00018030, 0x00008980, 0xc0001863, 0x00006006, 0x8000086c, 0x00003416,
+ 0x79405414, 0x0000a080, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
+ 0x1c800000, 0x000087cc, 0x18801002, 0x00006100, 0x98008c75, 0x00004081,
+ 0x9ab09e13, 0x0000e101, 0x9a98d31a, 0x0000c910, 0x82c02000, 0x00006190,
+ 0x82c00000, 0x0000c988, 0x80000612, 0x00009583, 0x0340840a, 0x00001283,
+ 0xffffffff, 0x00007f86, 0x00002d06, 0x00007010, 0x00002cdd, 0x0000f010,
+ 0x00004009, 0x00006502, 0x19460000, 0x00008980, 0x82002207, 0x00006080,
+ 0xe000006c, 0x0000a602, 0x81505a08, 0x0000e000, 0x9b505a08, 0x00000000,
+ 0x8200a669, 0x0000e080, 0x53009d6c, 0x0000a008, 0x82102a08, 0x0000e000,
+ 0x19800000, 0x00008980, 0x41007d6c, 0x00006283, 0x04104065, 0x00002185,
+ 0x04006065, 0x0000e006, 0x00001064, 0x0000b706, 0x9d402000, 0x0000e180,
+ 0x44006065, 0x0000e002, 0x59400569, 0x0000869c, 0x59401769, 0x00006391,
+ 0xd9a02404, 0x00008901, 0x80008207, 0x00006582, 0x00000070, 0x0000a583,
+ 0x1c7c0071, 0x0000f900, 0x003ffffe, 0x00008280, 0x00202066, 0x0000e206,
+ 0xe0000864, 0x00003403, 0x59f88000, 0x0000f900, 0x00003ffe, 0x00000980,
+ 0x5c800000, 0x0000e180, 0x80000071, 0x00006686, 0x00002cbf, 0x00007430,
+ 0x1ac0df0c, 0x00008631, 0xdb505a75, 0x00006100, 0xdb107a0f, 0x00000900,
+ 0x054000a0, 0x0000e180, 0x05000000, 0x00004980, 0x05c00080, 0x0000e180,
+ 0x82006015, 0x00006007, 0x81000e1b, 0x0000e283, 0x50406015, 0x0000a003,
+ 0x05800080, 0x00006180, 0xa0000817, 0x00006411, 0x85181302, 0x00006100,
+ 0x8500341b, 0x0000c081, 0x01102800, 0x0000f900, 0x00014600, 0x00008980,
+ 0x00103816, 0x00006182, 0xc0007817, 0x0000b417, 0xc6903206, 0x00006100,
+ 0x8620d814, 0x0000e085, 0x06c00000, 0x00006180, 0x85503a07, 0x0000c900,
+ 0x00b826ec, 0x00005f00, 0x00107003, 0x00000084, 0x01401411, 0x00009283,
+ 0x80000207, 0x00001582, 0xffffffff, 0x00007f86, 0x00002dba, 0x0000f010,
+ 0x00002dba, 0x0000f008, 0xe638a6ec, 0x00002000, 0x054000a0, 0x0000e180,
+ 0x05c00080, 0x0000c980, 0x05800080, 0x00006180, 0x82006015, 0x00006007,
+ 0x50406015, 0x00006003, 0xc0000064, 0x00003403, 0x00072814, 0x00006502,
+ 0x00103816, 0x0000a182, 0x05000814, 0x0000e090, 0xc6903206, 0x00008900,
+ 0xe638a6ec, 0x00002810, 0x81000e1b, 0x0000e283, 0x05000000, 0x00008980,
+ 0x85181302, 0x00006100, 0xa0000817, 0x00006411, 0x8500341b, 0x00006081,
+ 0xc0007817, 0x00002417, 0x01102800, 0x0000f900, 0x00014600, 0x00008980,
+ 0x85503a07, 0x0000e100, 0x8620d814, 0x0000e085, 0x06c00000, 0x00001980,
+ 0x00b826ec, 0x00005f00, 0x00107003, 0x00000084, 0x4100151b, 0x00001283,
+ 0x00002c8a, 0x00007013, 0x41007d6c, 0x00006283, 0x19460000, 0x00008980,
+ 0x82c0220b, 0x0000e088, 0x0010006c, 0x00002506, 0x00004009, 0x00006502,
+ 0xe000006c, 0x0000a602, 0x82002207, 0x00006080, 0x53009d6c, 0x0000a008,
+ 0x81505a08, 0x0000e000, 0x9b505a08, 0x00000000, 0x8200a669, 0x0000e080,
+ 0x19800000, 0x00008980, 0x82102a08, 0x0000e000, 0x00001064, 0x00002706,
+ 0x9d402000, 0x0000e180, 0x04104065, 0x0000e185, 0x19c00000, 0x0000e180,
+ 0x04006065, 0x0000e006, 0x41007d6c, 0x00006283, 0x44006065, 0x00002002,
+ 0x1c7c0071, 0x0000f900, 0x003ffffe, 0x00008280, 0x59ab4b04, 0x00008615,
+ 0xd340506a, 0x0000e004, 0x00000070, 0x00003583, 0xe0000864, 0x00006403,
+ 0x80000071, 0x00003686, 0x59f88000, 0x0000f900, 0x00003ffe, 0x00000980,
+ 0x5c800000, 0x0000e180, 0x00202066, 0x0000e206, 0x1ac0df0c, 0x00008631,
+ 0xdb107a0f, 0x0000e100, 0xdb505a75, 0x0000c100, 0x59401769, 0x00009391,
+ 0x95608207, 0x0000449b, 0x74401411, 0x00000b93, 0x6e800207, 0x0000788b,
+ 0x21400000, 0x00009686, 0x9a909212, 0x00006100, 0x8000086c, 0x0000e406,
+ 0x82c0220b, 0x00009080, 0xbce00805, 0x0000428f, 0x1a400c11, 0x00000b92,
+ 0xefe0840a, 0x0000458f, 0x77e0151b, 0x0000fd92, 0xe638a6ec, 0x0000a080,
+ 0xc0000064, 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072814, 0x00009502,
+ 0x05000814, 0x00001090, 0xe638a6ec, 0x0000a890, 0xeee0840a, 0x0000c58f,
+ 0x7760151b, 0x00007c96, 0x8102060c, 0x00001283, 0x8500170c, 0x00009890,
+ 0x84c05a14, 0x0000f912, 0x03400000, 0x00008000, 0x00002c6b, 0x00007008,
+ 0x85002814, 0x00002000, 0xffffffff, 0x00007fa7, 0x00000c05, 0x00001583,
+ 0x02c0680b, 0x00009118, 0x00002c6b, 0x00007031, 0x0013a80b, 0x00009502,
+ 0x1d406a75, 0x00006018, 0x1d405a75, 0x00008130, 0x0178670c, 0x00009930,
+ 0x2d26311d, 0x0000f530, 0x84fbaa14, 0x0000a818, 0x84fbaa14, 0x0000a830,
+ 0x18c00000, 0x00006180, 0x0d00d805, 0x0000e006, 0x18009000, 0x0000f900,
+ 0x00014000, 0x00008980, 0x0c00dc75, 0x00006000, 0x00001863, 0x0000b106,
+ 0x1a800000, 0x000006f0, 0x02c00805, 0x0000e282, 0x85000fe2, 0x00008880,
+ 0x19000000, 0x00007900, 0x00040000, 0x00000980, 0xe4fb460a, 0x0000b038,
+ 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0xc0001863, 0x00006006,
+ 0x8000086c, 0x00003416, 0x79405414, 0x0000a080, 0x1b800000, 0x000086fc,
+ 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x18801002, 0x00006100,
+ 0x98008c75, 0x00004081, 0x9ab09e13, 0x0000e101, 0x9a98d31a, 0x0000c910,
+ 0x82c00000, 0x0000e188, 0x82c02000, 0x00004990, 0xa0c00612, 0x00004493,
+ 0x1440840a, 0x00008b89, 0x2280151b, 0x0000f897, 0xf9400000, 0x00009686,
+ 0xd7c04e05, 0x00007902, 0x02000000, 0x00008000, 0x41402504, 0x0000e283,
+ 0x09001c75, 0x0000a006, 0x0b80da14, 0x00006182, 0x0b80da07, 0x0000b182,
+ 0x0363ac75, 0x00006100, 0x02c00c13, 0x0000c180, 0x00002e88, 0x00007010,
+ 0xe4fb460a, 0x0000b038, 0x18c00000, 0x00006180, 0x0d00d80a, 0x0000e006,
+ 0x18009000, 0x0000f900, 0x00014000, 0x00008980, 0x0c00dc14, 0x0000e000,
+ 0x00001863, 0x0000b106, 0x1a800000, 0x000006f0, 0x0140080a, 0x00006282,
+ 0x9d400fe2, 0x00000880, 0x19000000, 0x00007900, 0x00040000, 0x00000980,
+ 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0xc0001863, 0x00006006,
+ 0x8000086c, 0x00003416, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
+ 0x1c800000, 0x000087cc, 0x18801002, 0x00006100, 0x98008c14, 0x0000c081,
+ 0x7940a475, 0x00002080, 0x9ab09e13, 0x0000e101, 0x9a98d31a, 0x0000c910,
+ 0x9d402000, 0x00006190, 0x9d400000, 0x0000c988, 0x80000609, 0x00009583,
+ 0x01408414, 0x00009283, 0xffffffff, 0x00007f86, 0x00002e79, 0x0000f010,
+ 0x00002efa, 0x00007010, 0x1c7c0071, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x1b28dd1b, 0x00006101, 0x80000071, 0x00006686, 0x0000580d, 0x0000e502,
+ 0x2540f871, 0x00002000, 0x85002207, 0x0000e080, 0x0540f871, 0x0000a000,
+ 0xd500986c, 0x0000e008, 0x1540fc71, 0x00003000, 0x8153aa14, 0x00006000,
+ 0x9b53aa14, 0x00008000, 0x02402471, 0x00006283, 0x85002000, 0x00008980,
+ 0xdb53aa14, 0x0000e100, 0xe000f86c, 0x0000a000, 0x0c00fa75, 0x0000e180,
+ 0xf000f86c, 0x0000b000, 0x00002ef2, 0x00007410, 0x5c800000, 0x0000e180,
+ 0x85000a75, 0x0000c880, 0x0410a070, 0x00006983, 0x8500a669, 0x00006080,
+ 0x19460000, 0x00008980, 0x9d502a14, 0x00006000, 0x00001064, 0x00002706,
+ 0x41407d6c, 0x0000e283, 0x0413a865, 0x00002185, 0x19800000, 0x00006180,
+ 0x04006065, 0x0000e006, 0x44006065, 0x0000e002, 0xe0000864, 0x00003403,
+ 0x59400569, 0x0000869c, 0x59401769, 0x00006391, 0xd9a02404, 0x00008901,
+ 0x41004504, 0x00006283, 0x00202066, 0x00002206, 0xdb107a0f, 0x0000e100,
+ 0x0e80fc14, 0x00006012, 0x1ac0600c, 0x00006100, 0x05000c14, 0x00004091,
+ 0x59f88000, 0x0000f900, 0x00003ffe, 0x00000980, 0xc720a064, 0x0000e813,
+ 0x00008207, 0x000040b2, 0x0001051f, 0x00000090, 0x0100851f, 0x0000c58c,
+ 0x00800c1b, 0x0000889b, 0xc400141b, 0x000044b3, 0x4440851f, 0x00000b8b,
+ 0x00800c1b, 0x0000c79a, 0x88201408, 0x00009794, 0xc5c00207, 0x0000788b,
+ 0xd1400000, 0x00001786, 0x81000e1b, 0x0000e283, 0x05c00080, 0x00000980,
+ 0x054000a0, 0x0000e180, 0xa0000817, 0x00006411, 0x1d60dc1b, 0x0000e101,
+ 0xc0007817, 0x0000e417, 0x05000000, 0x00006180, 0x82006015, 0x00006007,
+ 0x00000c75, 0x00006583, 0x50406015, 0x0000a003, 0x05800080, 0x00006180,
+ 0x85181302, 0x00004900, 0x8500341b, 0x00006081, 0x00103816, 0x0000a182,
+ 0x00002e53, 0x0000f410, 0xc6903206, 0x00006100, 0x8620d814, 0x0000e085,
+ 0x06c00000, 0x00006180, 0x85503a07, 0x0000c900, 0x01002800, 0x00007900,
+ 0x00014600, 0x00008980, 0x41000c75, 0x00001081, 0x00b826ec, 0x00005f00,
+ 0x00107003, 0x00000084, 0x000004e3, 0x0000e583, 0x03a02404, 0x00000901,
+ 0x83883b1b, 0x0000003a, 0x01487c07, 0x00000016, 0x00002e08, 0x00007208,
+ 0x0340c018, 0x00006100, 0xeb700600, 0x00004911, 0x29000000, 0x00007900,
+ 0x00010080, 0x00008980, 0x2bcbd800, 0x00007900, 0x003092e4, 0x00000980,
+ 0x39eb3000, 0x0000f900, 0x002552dc, 0x00000980, 0xab680500, 0x00006101,
+ 0x08001aad, 0x00006106, 0x2bb87702, 0x00008a30, 0x2dcd2021, 0x0000f500,
+ 0x2af8c705, 0x00008a28, 0xa9004800, 0x00001980, 0x2dcf2083, 0x0000f300,
+ 0x1d802000, 0x00001980, 0xe67ba8ec, 0x0000a080, 0x054000a0, 0x0000e180,
+ 0x05000000, 0x00004980, 0x05c00080, 0x0000e180, 0x82006015, 0x00006007,
+ 0x05800080, 0x00006180, 0x50406015, 0x00006003, 0x00072875, 0x0000e502,
+ 0x85181302, 0x00008900, 0x1d400875, 0x0000e090, 0x8500341b, 0x00000081,
+ 0xe67ba8ec, 0x0000a890, 0x81000e1b, 0x0000e283, 0xc0000064, 0x0000a403,
+ 0x00103816, 0x00006182, 0xa0000817, 0x00003411, 0x8620d814, 0x0000e085,
+ 0xc0007817, 0x0000b417, 0x01102800, 0x0000f900, 0x00014600, 0x00008980,
+ 0x86a03906, 0x00000114, 0x06c00000, 0x00001980, 0x00b826ec, 0x00005f00,
+ 0x00107003, 0x00000084, 0x000004e3, 0x0000e583, 0x04000000, 0x00000980,
+ 0x841822e3, 0x00008102, 0x8398d31a, 0x0000e100, 0x01c0d810, 0x0000e001,
+ 0xc3909212, 0x00006100, 0x1140d810, 0x0000e001, 0x00002e13, 0x00007408,
+ 0xeb700600, 0x00006111, 0x2280d810, 0x0000e001, 0xab680500, 0x0000e111,
+ 0x34f09010, 0x0000e001, 0x29000000, 0x00007900, 0x00010080, 0x00008980,
+ 0x2bc3e800, 0x0000f900, 0x003092e2, 0x00000980, 0x39c49800, 0x0000f900,
+ 0x00202286, 0x00008980, 0x2b801002, 0x00006100, 0x08001aad, 0x00006106,
+ 0x2dfe2021, 0x0000f500, 0x2b387710, 0x00008a2c, 0x69000008, 0x00008ae8,
+ 0x2e002083, 0x0000f300, 0x1d802800, 0x00009980, 0xe67ba8ec, 0x0000a080,
+ 0xc0000064, 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072875, 0x00001502,
+ 0x1d400875, 0x00001090, 0xe67ba8ec, 0x0000a890, 0xd080840a, 0x0000c58e,
+ 0xe840151b, 0x00006d94, 0x01c00020, 0x00001980, 0x028bd800, 0x00007900,
+ 0x003092e4, 0x00000980, 0x02eb3000, 0x00007900, 0x002552dc, 0x00000980,
+ 0x81c04800, 0x00001980, 0xc1c02000, 0x0000e181, 0x08001a08, 0x00006106,
+ 0x2e131ff4, 0x00007500, 0x82200500, 0x00008022, 0x01b8170e, 0x00000024,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0283e800, 0x0000f900,
+ 0x003092e2, 0x00000980, 0x02c49800, 0x00007900, 0x00202286, 0x00008980,
+ 0x03400000, 0x0000e180, 0x08001a08, 0x00006106, 0x82200500, 0x00008022,
+ 0x2e201ff4, 0x00007500, 0x02788702, 0x00000018, 0x81c04000, 0x0000e180,
+ 0x0140700e, 0x0000c900, 0x000004e3, 0x0000e583, 0x0cc0ff0d, 0x00002000,
+ 0x03b8cf18, 0x00000014, 0x43607e1b, 0x00000034, 0x00002e4c, 0x0000f008,
+ 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x2bcd0000, 0x00007900,
+ 0x003092e4, 0x00000980, 0x39e2d000, 0x00007900, 0x003fce82, 0x00000980,
+ 0xeb700600, 0x0000e101, 0x08001aad, 0x00006106, 0xab781400, 0x00000a38,
+ 0x2e322021, 0x0000f500, 0x2b38cf18, 0x00000a2c, 0xa9007800, 0x00006180,
+ 0x2a80680d, 0x0000c900, 0x2e342083, 0x00007300, 0x1d809000, 0x00009980,
+ 0xe67ba8ec, 0x0000a080, 0xc0000064, 0x0000ec03, 0xffffffff, 0x00007f97,
+ 0x00072875, 0x00001502, 0x1d400875, 0x00001090, 0xe67ba8ec, 0x0000a890,
+ 0x054000a0, 0x0000e180, 0x05000000, 0x00004980, 0x05c00080, 0x0000e180,
+ 0x82006015, 0x00006007, 0x81000e1b, 0x0000e283, 0x50406015, 0x0000a003,
+ 0x05800080, 0x00006180, 0xa0000817, 0x00006411, 0x85181302, 0x00006100,
+ 0x8500341b, 0x0000c081, 0x00103816, 0x00006182, 0xc0007817, 0x0000b417,
+ 0x1d60dc1b, 0x0000e101, 0x8620d814, 0x0000e085, 0x86a03906, 0x00000114,
+ 0x06c00000, 0x00001980, 0x6d400c75, 0x0000f88b, 0x99400000, 0x00009782,
+ 0x01c00020, 0x00001980, 0x028d0000, 0x00007900, 0x003092e4, 0x00000980,
+ 0x00002e0e, 0x0000f400, 0x02e2d000, 0x0000f900, 0x003fce82, 0x00000980,
+ 0x81c07800, 0x00001980, 0x00001475, 0x00006583, 0xc7903206, 0x00000900,
+ 0x07c00000, 0x0000e180, 0xc8903206, 0x00004910, 0x08c00000, 0x00006190,
+ 0xc9903206, 0x0000c910, 0x00002db5, 0x0000f008, 0x00003475, 0x0000e583,
+ 0x09c00000, 0x00008980, 0x8a800106, 0x000002ac, 0x8b800106, 0x000002bc,
+ 0x00002db5, 0x00007030, 0x00005475, 0x0000e583, 0xcc903206, 0x00008900,
+ 0x0cc00000, 0x00006180, 0xcd903206, 0x0000c900, 0x0dc00000, 0x0000e180,
+ 0xce903206, 0x0000c900, 0x00002db5, 0x0000f430, 0x0ec00000, 0x0000e180,
+ 0xcf903206, 0x00004900, 0x0fc00000, 0x00006180, 0xd0903206, 0x0000c918,
+ 0x00007475, 0x00006583, 0x10c00000, 0x00000980, 0x91800106, 0x0000049c,
+ 0x92800106, 0x000004ac, 0x00002db5, 0x0000f230, 0x93800106, 0x000004bc,
+ 0x01002800, 0x00007900, 0x00014600, 0x00008980, 0x94800106, 0x0000058c,
+ 0x95800106, 0x0000059c, 0x96800106, 0x000005ac, 0x97800106, 0x000005bc,
+ 0x41000c75, 0x00001081, 0x00b826ec, 0x00005f00, 0x00107003, 0x00000084,
+ 0x9a904a09, 0x00006100, 0x8000086c, 0x0000e406, 0x9d402275, 0x00009080,
+ 0xd720080a, 0x0000c28f, 0x00400c08, 0x00008b95, 0xddc08414, 0x0000c58e,
+ 0x6ee0151b, 0x00008797, 0xe6382eec, 0x0000a080, 0xc0000064, 0x0000ec03,
+ 0xffffffff, 0x00007f97, 0x00072805, 0x00009502, 0x01400805, 0x00001090,
+ 0xe6382eec, 0x0000a890, 0xdcc08414, 0x0000458e, 0x6e60151b, 0x00008793,
+ 0x8102060c, 0x00001283, 0x9d40170c, 0x00001890, 0x84c07275, 0x00007912,
+ 0x04000000, 0x00008000, 0x00002d4d, 0x00007008, 0x85002875, 0x0000a000,
+ 0xffffffff, 0x00007f86, 0x0380800e, 0x00009100, 0xffffffff, 0x00007f86,
+ 0x00000c05, 0x00001583, 0x00002d4d, 0x0000f033, 0x0010a00e, 0x00001502,
+ 0x05008214, 0x00006018, 0x05007214, 0x00008130, 0x0178670c, 0x00009930,
+ 0x2e9a311d, 0x00007530, 0x84f8a275, 0x0000a818, 0x84f8a275, 0x0000a830,
+ 0xe4fb460a, 0x0000b038, 0x18c00000, 0x00006180, 0x0d00d80a, 0x0000e006,
+ 0x18009000, 0x0000f900, 0x00014000, 0x00008980, 0x0c00dc14, 0x0000e000,
+ 0x00001863, 0x0000b106, 0x1a800000, 0x000006f0, 0x0140080a, 0x00006282,
+ 0x9d400fe2, 0x00000880, 0x19000000, 0x00007900, 0x00040000, 0x00000980,
+ 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0xc0001863, 0x00006006,
+ 0x8000086c, 0x00003416, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
+ 0x1c800000, 0x000087cc, 0x18801002, 0x00006100, 0x98008c14, 0x0000c081,
+ 0x7940a475, 0x00002080, 0x9ab09e13, 0x0000e101, 0x9a98d31a, 0x0000c910,
+ 0x9d400000, 0x0000e188, 0x9d402000, 0x00004990, 0xffffffff, 0x00007f86,
+ 0xcf200609, 0x0000c493, 0xd8408414, 0x00008b8a, 0x5b00151b, 0x0000f897,
+ 0xe1400000, 0x00009787, 0x000004e3, 0x0000e583, 0x04000000, 0x00000980,
+ 0x841822e3, 0x00008102, 0x8398d31a, 0x0000e100, 0x01c0d810, 0x0000e001,
+ 0xc3904a09, 0x00006100, 0x1140d810, 0x0000e001, 0x00002e13, 0x00007408,
+ 0xeb700600, 0x00006111, 0x2280d810, 0x0000e001, 0xab680500, 0x0000e111,
+ 0x34f04810, 0x0000e001, 0x29000000, 0x00007900, 0x00010080, 0x00008980,
+ 0x2bc3e800, 0x0000f900, 0x003092e2, 0x00000980, 0x39c49800, 0x0000f900,
+ 0x00202286, 0x00008980, 0x2b801002, 0x00006100, 0x08001aad, 0x00006106,
+ 0x2ed02021, 0x0000f500, 0x2b387710, 0x00008a2c, 0x69000008, 0x00008ae8,
+ 0x2ed22083, 0x0000f300, 0x1d802800, 0x00009980, 0xe67828ec, 0x00002080,
+ 0xc0000064, 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072805, 0x00009502,
+ 0x01400805, 0x00001090, 0xe67828ec, 0x00002890, 0xd2808414, 0x0000458e,
+ 0x6940151b, 0x00000292, 0xe638a6ec, 0x00002000, 0x054000a0, 0x0000e180,
+ 0x05c00080, 0x0000c980, 0x05800080, 0x00006180, 0x82006015, 0x00006007,
+ 0x50406015, 0x00006003, 0xc0000064, 0x00003403, 0x00072814, 0x00006502,
+ 0x00103816, 0x0000a182, 0x05000814, 0x0000e090, 0x1d60dc1b, 0x00000901,
+ 0xe638a6ec, 0x00002810, 0x81000e1b, 0x0000e283, 0x05000000, 0x00008980,
+ 0x85181302, 0x00006100, 0xa0000817, 0x00006411, 0x8500341b, 0x00006081,
+ 0xc0007817, 0x00002417, 0xc6903206, 0x00006100, 0x8620d814, 0x0000e085,
+ 0x06c00000, 0x00006180, 0x85503a07, 0x0000c900, 0x6d400c75, 0x0000f88b,
+ 0x99400000, 0x00009782, 0xdc400e23, 0x0000e080, 0x0800fc75, 0x00006006,
+ 0x5c400c75, 0x00006081, 0x9c800f23, 0x00004881, 0x00002d82, 0x00007400,
+ 0x9c98f31e, 0x00006100, 0x37c0f871, 0x0000e002, 0x5700f871, 0x00006802,
+ 0x4140151b, 0x00009283, 0x00002d6c, 0x00007013, 0x41407d6c, 0x0000e283,
+ 0xd360a06a, 0x0000a004, 0x9d402275, 0x0000e088, 0x0010006c, 0x00002506,
+ 0x85002207, 0x0000e080, 0xe000006c, 0x00002402, 0x1c7c0071, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x0000580d, 0x0000e502, 0x1b28dd1b, 0x00008901,
+ 0xd500986c, 0x0000e008, 0x80000071, 0x00003686, 0x8153aa14, 0x00006000,
+ 0x9b53aa14, 0x00008000, 0x85002000, 0x00006180, 0x2540f871, 0x0000e000,
+ 0xdb53aa14, 0x0000e100, 0xe000f86c, 0x0000a000, 0x0c00fa75, 0x0000e180,
+ 0x0540f871, 0x00003000, 0x85000a75, 0x0000e080, 0xf000f86c, 0x0000e000,
+ 0x1540fc71, 0x00006000, 0x0410a070, 0x0000b183, 0x5c800000, 0x00009980,
+ 0x60802471, 0x0000788f, 0x91400000, 0x00001787, 0x000004e3, 0x0000e583,
+ 0x03a02404, 0x00000901, 0x83883b1b, 0x0000003a, 0x01487c07, 0x00000016,
+ 0x00002e08, 0x00007208, 0x0340c018, 0x00006100, 0xeb700600, 0x00004911,
+ 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x2bcbd800, 0x00007900,
+ 0x003092e4, 0x00000980, 0x39eb3000, 0x0000f900, 0x002552dc, 0x00000980,
+ 0xab680500, 0x00006101, 0x08001aad, 0x00006106, 0x2bb87702, 0x00008a30,
+ 0x2f2a2021, 0x00007500, 0x2af8c705, 0x00008a28, 0xa9004800, 0x00001980,
+ 0x2f2c2083, 0x0000f300, 0x1d802000, 0x00001980, 0xe67ba8ec, 0x0000a080,
+ 0xc0000064, 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072875, 0x00001502,
+ 0x00002e3a, 0x00007400, 0x1d400875, 0x00001090, 0xe67ba8ec, 0x0000a890,
+ 0xd7c04605, 0x0000f902, 0x01c00000, 0x00008000, 0xe4fb460a, 0x0000b038,
+ 0x18c00000, 0x00006180, 0x0d00d80a, 0x0000e006, 0x81400fe2, 0x00006080,
+ 0x00001863, 0x0000e106, 0x79405c05, 0x00002080, 0x1a800000, 0x000006f0,
+ 0x0140080a, 0x00006282, 0x0a009c09, 0x0000a000, 0x19000000, 0x00007900,
+ 0x00040000, 0x00000980, 0x18009000, 0x0000f900, 0x000144c0, 0x00000980,
+ 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0xc0001863, 0x00006006,
+ 0x8000086c, 0x00003416, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
+ 0x18909f02, 0x00008628, 0x9a98d31a, 0x0000e110, 0x85002000, 0x0000c990,
+ 0x80000608, 0x0000e583, 0x85000000, 0x00008988, 0x0140840b, 0x00001283,
+ 0xffffffff, 0x00007f86, 0x00002fd6, 0x00007010, 0x00002fcf, 0x0000f010,
+ 0x01400d13, 0x0000e080, 0x00c08871, 0x00006000, 0x01402005, 0x00006080,
+ 0x10808871, 0x0000a000, 0x01402a14, 0x0000e000, 0x21008871, 0x0000a000,
+ 0x1c289d13, 0x0000e101, 0xdc400c11, 0x0000c880, 0x2c102b0e, 0x00001600,
+ 0x814588b0, 0x00009000, 0x81d89205, 0x0000e000, 0x9b589205, 0x00008000,
+ 0x01402000, 0x0000e180, 0x56c09071, 0x0000e002, 0x0510a005, 0x00006100,
+ 0x1b28dd1b, 0x00008901, 0x00000409, 0x00006583, 0x0f009405, 0x00002006,
+ 0x01401405, 0x00006081, 0xd500986c, 0x0000e010, 0x19460000, 0x00006180,
+ 0x82202870, 0x00006082, 0x08009405, 0x00006006, 0xe080906c, 0x00003000,
+ 0x5c400c05, 0x0000e081, 0x054000a0, 0x0000c980, 0x0c008a05, 0x0000e180,
+ 0x7680956c, 0x00003000, 0x2c10a30e, 0x00001600, 0xdb4588b0, 0x00009000,
+ 0x81400a05, 0x00006080, 0x82006015, 0x00006007, 0x19800000, 0x00006180,
+ 0x04102870, 0x0000e183, 0x0140a669, 0x0000e080, 0x05800000, 0x00000980,
+ 0x05000000, 0x00006180, 0x00001064, 0x0000e706, 0x2c102b0e, 0x00001600,
+ 0x814588b0, 0x00009000, 0x81502a07, 0x00006000, 0x50406015, 0x0000a003,
+ 0x81c00d13, 0x0000e080, 0x04102865, 0x00006185, 0x04006065, 0x0000e006,
+ 0x00108016, 0x00003182, 0x19c00000, 0x0000e180, 0x44006065, 0x0000e002,
+ 0x41007d6c, 0x00006283, 0xd9a02404, 0x00008901, 0x85181302, 0x00006100,
+ 0x85003413, 0x00004081, 0x81589207, 0x0000e000, 0x597b4f69, 0x00000901,
+ 0x36c09071, 0x0000e002, 0xe0000864, 0x00003403, 0x59f88000, 0x0000f900,
+ 0x00003ffe, 0x00000980, 0x00202066, 0x0000e206, 0x86209814, 0x00003085,
+ 0x1ba0770d, 0x0000863c, 0xdbd8730e, 0x0000e100, 0x9c800d11, 0x00004881,
+ 0x9cb86010, 0x0000062c, 0x05c002e0, 0x00006180, 0xdb107a0f, 0x0000c900,
+ 0x85589207, 0x00006000, 0x85802513, 0x00000081, 0xc5a89d13, 0x0000e101,
+ 0x59401769, 0x0000c391, 0x80000205, 0x00009582, 0x817ffa10, 0x0000f900,
+ 0x0000000e, 0x00000282, 0xffffffff, 0x00007f86, 0x00002faa, 0x0000f008,
+ 0x00002faa, 0x0000f008, 0x81000e1b, 0x0000e283, 0x01609c13, 0x00008901,
+ 0xc6903206, 0x00006100, 0xa0000817, 0x00006411, 0x06c00000, 0x00006180,
+ 0xc0007817, 0x0000e417, 0x00000c13, 0x00009583, 0x00002fe5, 0x00007013,
+ 0x01002800, 0x00007900, 0x00014600, 0x00008980, 0x41000c05, 0x00009081,
+ 0x00b826ec, 0x00005f00, 0x00107003, 0x00000084, 0x000004e3, 0x0000e583,
+ 0x03602404, 0x00000901, 0x817ffa10, 0x0000f900, 0x0000000e, 0x00008280,
+ 0x43609c13, 0x00006101, 0xc3589207, 0x00004000, 0x0000300b, 0x00007208,
+ 0xc1507a0f, 0x0000e100, 0xeb700600, 0x00004911, 0x29000000, 0x00007900,
+ 0x00010080, 0x00008980, 0x2bd13800, 0x00007900, 0x003092e4, 0x00000980,
+ 0x39eb3000, 0x0000f900, 0x002552dc, 0x00000980, 0xab680500, 0x00006101,
+ 0x08001aad, 0x00006106, 0x2bb86f02, 0x00008a30, 0x2fbf2021, 0x00007500,
+ 0x2af8c705, 0x00008a28, 0xa9004800, 0x00001980, 0x2fc12083, 0x0000f300,
+ 0x1d802000, 0x00001980, 0xe67828ec, 0x00002080, 0xc6903206, 0x00006100,
+ 0xc0000064, 0x00006403, 0xffffffff, 0x00007f97, 0x00072805, 0x00009502,
+ 0x01400805, 0x00001090, 0xe67828ec, 0x00002890, 0x81000e1b, 0x0000e283,
+ 0x01609c13, 0x00008901, 0x06c00000, 0x00006180, 0xa0000817, 0x00006411,
+ 0xc0007817, 0x00006c17, 0xe9400c13, 0x0000f88b, 0x29400000, 0x0000978f,
+ 0x4100151b, 0x00001283, 0x00002f51, 0x00007013, 0x00002f51, 0x00007400,
+ 0x41007d6c, 0x00006283, 0xd340586a, 0x0000a004, 0x85002214, 0x0000e088,
+ 0x8000106c, 0x00002406, 0x9a904208, 0x00006100, 0x8000086c, 0x0000e406,
+ 0x85002214, 0x00009080, 0x02e0080a, 0x0000c28e, 0xba600c07, 0x00000b97,
+ 0xeec0840b, 0x0000458e, 0x7760151b, 0x00007f93, 0xe6382eec, 0x0000a080,
+ 0xc0000064, 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072805, 0x00009502,
+ 0x01400805, 0x00001090, 0xe6382eec, 0x0000a890, 0xedc0840b, 0x0000458e,
+ 0x76e0151b, 0x00007e97, 0x00001405, 0x0000e583, 0xc7903206, 0x00000900,
+ 0x07c00000, 0x0000e180, 0xc8903206, 0x00004910, 0x08c00000, 0x00006190,
+ 0xc9903206, 0x0000c910, 0x00002fa5, 0x0000f008, 0x00003405, 0x00006583,
+ 0x09c00000, 0x00008980, 0x8a800106, 0x000002ac, 0x8b800106, 0x000002bc,
+ 0x00002fa5, 0x00007030, 0x00005405, 0x00006583, 0xcc903206, 0x00008900,
+ 0x0cc00000, 0x00006180, 0xcd903206, 0x0000c900, 0x0dc00000, 0x0000e180,
+ 0xce903206, 0x0000c900, 0x00002fa5, 0x0000f430, 0x0ec00000, 0x0000e180,
+ 0xcf903206, 0x00004900, 0x0fc00000, 0x00006180, 0xd0903206, 0x0000c918,
+ 0x00007405, 0x0000e583, 0x10c00000, 0x00000980, 0x91800106, 0x0000049c,
+ 0x92800106, 0x000004ac, 0x00002fa5, 0x0000f230, 0x93800106, 0x000004bc,
+ 0x01002800, 0x00007900, 0x00014600, 0x00008980, 0x94800106, 0x0000058c,
+ 0x95800106, 0x0000059c, 0x96800106, 0x000005ac, 0x97800106, 0x000005bc,
+ 0x41000c05, 0x00009081, 0x00b826ec, 0x00005f00, 0x00107003, 0x00000084,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02913800, 0x00007900,
+ 0x003092e4, 0x00000980, 0x02eb3000, 0x00007900, 0x002552dc, 0x00000980,
+ 0xc2300600, 0x0000e101, 0x08001a08, 0x00006106, 0x82381400, 0x00008024,
+ 0x30171ff4, 0x0000f500, 0x01804f0d, 0x0000809d, 0x0340c018, 0x00001900,
+ 0x000004e3, 0x0000e583, 0x05800000, 0x00000980, 0x859822e3, 0x0000811a,
+ 0x8558d31a, 0x0000e100, 0x01c0d816, 0x0000e001, 0xc5504208, 0x00006100,
+ 0x1140d816, 0x0000e001, 0x00003038, 0x00007408, 0xeb700600, 0x00006111,
+ 0x2280d816, 0x0000e001, 0xab680500, 0x0000e111, 0x34f04016, 0x00006001,
+ 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x2bc3e800, 0x0000f900,
+ 0x003092e2, 0x00000980, 0x39c49800, 0x0000f900, 0x00202286, 0x00008980,
+ 0x2b801002, 0x00006100, 0x08001aad, 0x00006106, 0x302e2021, 0x00007500,
+ 0x2b38af16, 0x00008a2c, 0x69000008, 0x00008ae8, 0x30302083, 0x0000f300,
+ 0x1d802800, 0x00009980, 0xe67828ec, 0x00002080, 0xc0000064, 0x0000ec03,
+ 0xffffffff, 0x00007f97, 0x00072805, 0x00009502, 0x01400805, 0x00001090,
+ 0xe67828ec, 0x00002890, 0xe360840b, 0x0000458f, 0xf1a0151b, 0x0000f995,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0283e800, 0x0000f900,
+ 0x003092e2, 0x00000980, 0x02c49800, 0x00007900, 0x00202286, 0x00008980,
+ 0x03400000, 0x0000e180, 0x08001a08, 0x00006106, 0x82200500, 0x00008022,
+ 0x30451ff4, 0x00007500, 0x0278b702, 0x00000018, 0x81c04000, 0x0000e180,
+ 0x0140a815, 0x0000c900, 0x85401407, 0x00001880, 0x85004815, 0x00007902,
+ 0x02000000, 0x00008000, 0x84f86215, 0x0000a080, 0x84c03415, 0x00007902,
+ 0x02c00000, 0x00008000, 0x84f85615, 0x00002080, 0x00000408, 0x00001583,
+ 0x82c02aec, 0x00007902, 0x01000000, 0x00000604, 0x00000001, 0x0000f089,
+ 0x80000608, 0x00001583, 0x00000c08, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x000030c9, 0x00007008, 0x00003076, 0x0000f008, 0x8040aeec, 0x00007902,
+ 0x04000000, 0x00008000, 0x03803005, 0x00009100, 0x80b878ec, 0x00002080,
+ 0x807836ec, 0x00002080, 0x0000a80e, 0x00001502, 0x0380a80e, 0x00001120,
+ 0x00003068, 0x0000f029, 0x2c108209, 0x00009600, 0x024588b0, 0x00001000,
+ 0x0000300e, 0x00006502, 0x82584b09, 0x00008900, 0x00003068, 0x0000702b,
+ 0x0380300e, 0x00001100, 0x2c108209, 0x00009600, 0x024588b0, 0x00001000,
+ 0x0000300e, 0x00006502, 0x82584b09, 0x00008900, 0x00003062, 0x0000f023,
+ 0x0000780e, 0x00009502, 0x0380780e, 0x00009120, 0x00003076, 0x0000f029,
+ 0x2c188209, 0x00001600, 0x024588b0, 0x00001000, 0x0000700f, 0x00006502,
+ 0x82584b09, 0x00008900, 0x00003076, 0x0000701b, 0x0380780e, 0x00001100,
+ 0x2c188209, 0x00001600, 0x024588b0, 0x00001000, 0x0000700f, 0x00006502,
+ 0x82584b09, 0x00008900, 0x00003070, 0x00007033, 0x2c185209, 0x00009600,
+ 0x010588b0, 0x00009000, 0x04400000, 0x00006180, 0x85000b04, 0x00004780,
+ 0x80000608, 0x0000e583, 0x8458530a, 0x00008900, 0xc290a30a, 0x00006100,
+ 0x04802805, 0x00000900, 0x8040a6ec, 0x0000a002, 0x80a0a8ec, 0x00002000,
+ 0x02001000, 0x00009981, 0xffffffff, 0x00007f86, 0x2c10a209, 0x00001600,
+ 0x010588b0, 0x00009000, 0x0110ab04, 0x00006000, 0x02400000, 0x00008980,
+ 0x85412000, 0x0000e190, 0x85401000, 0x00004988, 0x82502204, 0x00001900,
+ 0x8080a015, 0x0000a080, 0xffffffff, 0x00007fa7, 0x00000414, 0x00009583,
+ 0x000030d9, 0x0000f00b, 0x03c0fc07, 0x00006281, 0x84003407, 0x00000780,
+ 0x0381fc07, 0x00006281, 0x05207fe4, 0x00008800, 0x0000fc0e, 0x00006583,
+ 0x0180a0e5, 0x00000400, 0x85001508, 0x00001880, 0x85004a14, 0x0000f900,
+ 0x00000002, 0x00000080, 0x85108214, 0x00009000, 0x8510aa14, 0x00009000,
+ 0x00002814, 0x00007902, 0x01000000, 0x00008000, 0x80804015, 0x00005082,
+ 0x00400000, 0x00008000, 0x80884015, 0x0000a080, 0xffffffff, 0x00007f86,
+ 0x01002006, 0x0000e218, 0x01402806, 0x00008230, 0x0000fc0e, 0x00006583,
+ 0x01800000, 0x00008980, 0x00382814, 0x0000d000, 0x00382000, 0x00000000,
+ 0x80802015, 0x0000a081, 0x03800000, 0x0000e180, 0x05207fe4, 0x00004800,
+ 0x0018100e, 0x0000e986, 0xffffffff, 0x00007f86, 0x81001404, 0x00001880,
+ 0x81004a04, 0x0000f900, 0x00000002, 0x00000080, 0x84108204, 0x00009000,
+ 0x8550aa10, 0x00009000, 0x00002815, 0x0000f902, 0x01000000, 0x00008000,
+ 0xffffffff, 0x00007fa7, 0x01002014, 0x00006318, 0x01402814, 0x00000330,
+ 0x05280407, 0x0000f900, 0x000002f2, 0x00008080, 0x00382815, 0x00005000,
+ 0x00382000, 0x00000000, 0x85401407, 0x00006080, 0x0000a006, 0x00006286,
+ 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x783870ec, 0x0000d600,
+ 0x00383000, 0x00008000, 0x783850ec, 0x0000d602, 0x00000000, 0x00008080,
+ 0x84f86215, 0x00002880, 0x84f89415, 0x0000d000, 0x00385800, 0x00000000,
+ 0x84f85615, 0x00005000, 0x00388800, 0x00008000, 0x00000001, 0x00007480,
+ 0x85384815, 0x0000d000, 0x00384000, 0x00000000, 0x84c00215, 0x00005000,
+ 0x00400000, 0x00000080, 0x80000608, 0x0000e583, 0x04400000, 0x00008980,
+ 0x85412000, 0x0000e190, 0x85401000, 0x00004988, 0x2c283a09, 0x00001600,
+ 0x010588b0, 0x00009000, 0x8080a015, 0x0000a080, 0x2c185204, 0x00001600,
+ 0x010588b0, 0x00009000, 0xc2400000, 0x00006180, 0x04802805, 0x0000c900,
+ 0x02001000, 0x0000e181, 0x8458530a, 0x00004900, 0x00000414, 0x00006583,
+ 0xc298230a, 0x00000100, 0x0000308d, 0x00007013, 0x80000608, 0x0000e583,
+ 0x01000000, 0x00000980, 0x80783615, 0x0000a000, 0x01002000, 0x00006191,
+ 0x0140fc07, 0x00004291, 0x00003111, 0x0000f008, 0x83803407, 0x00006780,
+ 0xc0041004, 0x0000a502, 0x713830ec, 0x00005600, 0x00382000, 0x00000000,
+ 0x100040ec, 0x00005680, 0x00000000, 0x00008080, 0x0181fc07, 0x0000e281,
+ 0x05009006, 0x00000000, 0x8078a615, 0x0000a880, 0x80804015, 0x00005082,
+ 0x00400000, 0x00008000, 0x80802015, 0x0000a081, 0x80884015, 0x0000a080,
+ 0x0000fc06, 0x0000e583, 0x05202fe4, 0x00008800, 0xffffffff, 0x00007f86,
+ 0x81001404, 0x00001880, 0x81004a04, 0x0000f900, 0x00000002, 0x00000080,
+ 0x83907204, 0x00009000, 0x8550aa0e, 0x00009000, 0x00002815, 0x0000f902,
+ 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01002014, 0x00006318,
+ 0x01402814, 0x00000330, 0x05280407, 0x0000f900, 0x000002f2, 0x00008080,
+ 0x00382815, 0x00005000, 0x00382000, 0x00000000, 0x01400000, 0x000080d0,
+ 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x00181005, 0x0000e186,
+ 0x0000a004, 0x0000b286, 0x783828ec, 0x00005600, 0x00382000, 0x00000000,
+ 0x783850ec, 0x0000d602, 0x00000000, 0x00008080, 0x85401407, 0x00001880,
+ 0x84f86215, 0x00002880, 0x84f89415, 0x0000d000, 0x00385800, 0x00000000,
+ 0x84f85615, 0x00005000, 0x00388800, 0x00008000, 0x00000001, 0x00007480,
+ 0x85384815, 0x0000d000, 0x00384000, 0x00000000, 0x84c00215, 0x00005000,
+ 0x00400000, 0x00000080, 0x05009006, 0x00006000, 0x00001804, 0x00002486,
+ 0x0140fc07, 0x00006281, 0xc0039004, 0x0000a502, 0x713830ec, 0x00005600,
+ 0x00382000, 0x00000000, 0x100038ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x000030e8, 0x00007400, 0x8078a615, 0x0000a880, 0x0181fc07, 0x0000e281,
+ 0x83803407, 0x00000780, 0xffffffff, 0x00007f86, 0x2887f805, 0x00001280,
+ 0xa94010a2, 0x00001880, 0x850300a5, 0x0000f902, 0x01400000, 0x00000000,
+ 0x84c41aa5, 0x00007902, 0x20800000, 0x00000000, 0x84c40ca5, 0x0000f902,
+ 0x18c00000, 0x00000000, 0x84c316a5, 0x0000f902, 0x18400000, 0x00008000,
+ 0x00001405, 0x00001583, 0x00001c05, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x00003154, 0x00007008, 0x00003178, 0x0000f008, 0xc0131b62, 0x00001502,
+ 0xa9400b61, 0x000090a8, 0xd8400b61, 0x000090a8, 0x00000001, 0x000070a0,
+ 0x2c1312a5, 0x00009600, 0xa94588b0, 0x00009000, 0x29552a61, 0x00001000,
+ 0xc00003a5, 0x00009582, 0xa9572ae5, 0x00009910, 0xffffffff, 0x00007f86,
+ 0x98552aa5, 0x00009900, 0x29530b62, 0x0000e000, 0x29c00000, 0x00000980,
+ 0x294008a5, 0x00006784, 0x29800000, 0x00008980, 0x001318a5, 0x00006502,
+ 0x001810a7, 0x0000a186, 0xa9531a63, 0x00001918, 0x780408ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x2ad52aa5, 0x00006100, 0x04152862, 0x00006187,
+ 0x296800a2, 0x00007900, 0x000002f2, 0x00008080, 0xa94010a2, 0x00006080,
+ 0x000528a6, 0x00006286, 0x783d38ec, 0x0000d600, 0x003d3000, 0x00008000,
+ 0x783d58ec, 0x0000d600, 0x00000000, 0x00008080, 0x84fc1aa5, 0x0000d000,
+ 0x003c1000, 0x00008000, 0x84fc0ca5, 0x00005000, 0x003b1800, 0x00008000,
+ 0x00000001, 0x00007480, 0x84fb16a5, 0x00005000, 0x003b0800, 0x00000000,
+ 0x853b00a5, 0x00005000, 0x00382800, 0x00008000, 0x98000e60, 0x00006081,
+ 0x29400e60, 0x00008081, 0x000024a5, 0x00001583, 0x00003138, 0x0000f033,
+ 0xc0002760, 0x00001583, 0x01401800, 0x000099b1, 0x01402000, 0x00001999,
+ 0x00003138, 0x0000f030, 0x29530b62, 0x0000e000, 0x29c00000, 0x00000980,
+ 0x294008a5, 0x00006784, 0x29800000, 0x00008980, 0x001318a5, 0x00006502,
+ 0x001810a7, 0x0000a186, 0xa9531a63, 0x00001918, 0x780408ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x2ad52aa5, 0x00006100, 0x04152862, 0x00006187,
+ 0x296800a2, 0x00007900, 0x000002f2, 0x00008080, 0xa94010a2, 0x00006080,
+ 0x000528a6, 0x00006286, 0x783d38ec, 0x0000d600, 0x003d3000, 0x00008000,
+ 0x783d58ec, 0x0000d600, 0x00000000, 0x00008080, 0x84fc1aa5, 0x0000d000,
+ 0x003c1000, 0x00008000, 0x84fc0ca5, 0x00005000, 0x003b1800, 0x00008000,
+ 0x00000001, 0x00007480, 0x84fb16a5, 0x00005000, 0x003b0800, 0x00000000,
+ 0x853b00a5, 0x00005000, 0x00382800, 0x00008000, 0x295b1a61, 0x00009000,
+ 0xc00003a5, 0x00009582, 0xa9572ae5, 0x00009910, 0xffffffff, 0x00007f86,
+ 0x98552aa5, 0x0000e100, 0x29400e60, 0x00004081, 0x000024a5, 0x0000e583,
+ 0x98000e60, 0x00000081, 0x00003138, 0x0000f033, 0xc0002760, 0x00001583,
+ 0x01402000, 0x00006199, 0x98002800, 0x000049b1, 0x00003138, 0x00007031,
+ 0x0000315c, 0x00007000, 0x0747f819, 0x00001280, 0x84c0101d, 0x00001880,
+ 0x8500a813, 0x0000f902, 0x05000000, 0x00000000, 0x84c0e213, 0x0000f902,
+ 0x06c00000, 0x00000000, 0x84c0d413, 0x0000f902, 0x06000000, 0x00000000,
+ 0x84c0be13, 0x0000f902, 0x05800000, 0x00008000, 0xffffffff, 0x00007f86,
+ 0x47e00c14, 0x000044b0, 0x2e600614, 0x00000c93, 0x40601414, 0x0000c488,
+ 0x3a601c14, 0x00000c8c, 0x0930c017, 0x0000c528, 0x09600614, 0x0000028c,
+ 0x82c02aec, 0x00007902, 0x01000000, 0x00000604, 0x804046ec, 0x00007902,
+ 0x04800000, 0x00000000, 0x80b848ec, 0x00002080, 0x80789eec, 0x0000a080,
+ 0x0780d005, 0x00009100, 0x0000401e, 0x00009502, 0x8078d6ec, 0x0000a080,
+ 0x000031ad, 0x00007029, 0x2c109215, 0x00009600, 0x010588b0, 0x00009000,
+ 0x85582304, 0x0000e100, 0x0780d01e, 0x0000c100, 0x0000981e, 0x00009502,
+ 0x000031ad, 0x0000f02b, 0x0780981e, 0x00009100, 0x2c109215, 0x00009600,
+ 0x010588b0, 0x00009000, 0x0000981e, 0x00006502, 0x85582304, 0x00000900,
+ 0x000031a7, 0x00007023, 0x0000481e, 0x00001502, 0x0780481e, 0x00009120,
+ 0x000031bb, 0x0000f029, 0x2c189215, 0x00001600, 0x020588b0, 0x00009000,
+ 0x0000f009, 0x0000e502, 0x85584308, 0x00000900, 0x000031bb, 0x0000701b,
+ 0x0780481e, 0x00001100, 0x2c189215, 0x00001600, 0x020588b0, 0x00009000,
+ 0x0000f009, 0x0000e502, 0x85584308, 0x00000900, 0x000031b5, 0x0000f033,
+ 0x00003193, 0x0000f200, 0x0680f005, 0x00009100, 0x80a098ec, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x80109a15, 0x00009502, 0x05000800, 0x000061a9,
+ 0x04c0fc19, 0x000042a9, 0x0201fc19, 0x000062a9, 0x04e09fe4, 0x00008828,
+ 0x000031d4, 0x0000f020, 0x0000fc08, 0x00006583, 0x024098e5, 0x00008400,
+ 0x84c01514, 0x00001880, 0x81016a13, 0x0000f900, 0x00000002, 0x00000080,
+ 0x0e80ca13, 0x0000e802, 0x84d09a04, 0x00009000, 0x00002813, 0x0000f902,
+ 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01002009, 0x0000e218,
+ 0x01402809, 0x00008230, 0xffffffff, 0x00007f86, 0x00382813, 0x00005000,
+ 0x00382000, 0x00000000, 0x84c0101d, 0x00001880, 0x84f8e213, 0x00005000,
+ 0x0038d800, 0x00008000, 0x84f8d413, 0x00005000, 0x0038c000, 0x00008000,
+ 0x00000001, 0x00007480, 0x84f8be13, 0x00005000, 0x0038b000, 0x00000000,
+ 0x8538a813, 0x00005000, 0x0038a000, 0x00008000, 0xc5800b16, 0x00006080,
+ 0x84c00b16, 0x00008080, 0xffffffff, 0x00007f86, 0x2c10ba13, 0x00009600,
+ 0x84c588b0, 0x00001000, 0x01109a16, 0x00001000, 0xc0000304, 0x00001582,
+ 0x81172ae5, 0x00001910, 0xffffffff, 0x00007f86, 0x85902204, 0x00009900,
+ 0x04d0b317, 0x0000e000, 0x01400000, 0x00008980, 0x04c00813, 0x00006784,
+ 0x01000000, 0x00000980, 0x0010c013, 0x0000e502, 0x00181005, 0x00002186,
+ 0x84d0c218, 0x00009918, 0x780408ec, 0x00005680, 0x00000000, 0x00008080,
+ 0x84889e13, 0x0000811e, 0x04e8001d, 0x00007900, 0x000002f2, 0x00008080,
+ 0x00009804, 0x0000ea86, 0x783828ec, 0x00005600, 0x00382000, 0x00000000,
+ 0x783890ec, 0x00005600, 0x00000000, 0x00008080, 0x84c0101d, 0x00001880,
+ 0x84f8e213, 0x00005000, 0x0038d800, 0x00008000, 0x84f8d413, 0x00005000,
+ 0x0038c000, 0x00008000, 0x00000001, 0x00007480, 0x84f8be13, 0x00005000,
+ 0x0038b000, 0x00000000, 0x8538a813, 0x00005000, 0x0038a000, 0x00008000,
+ 0xc5400f15, 0x00006081, 0x04c00f15, 0x00000081, 0x00002413, 0x00009583,
+ 0x000031e8, 0x00007033, 0x80002615, 0x00009583, 0x05001800, 0x000099b1,
+ 0x05002000, 0x00001999, 0x000031e8, 0x00007030, 0x04d0b317, 0x0000e000,
+ 0x01400000, 0x00008980, 0x04c00813, 0x00006784, 0x01000000, 0x00000980,
+ 0x0010c013, 0x0000e502, 0x00181005, 0x00002186, 0x84d0c218, 0x00009918,
+ 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x84889e13, 0x0000811e,
+ 0x04e8001d, 0x00007900, 0x000002f2, 0x00008080, 0x00009804, 0x0000ea86,
+ 0x000031f9, 0x0000f400, 0x783828ec, 0x00005600, 0x00382000, 0x00000000,
+ 0x783890ec, 0x00005600, 0x00000000, 0x00008080, 0x0118c216, 0x0000e000,
+ 0x04c00f15, 0x00000081, 0xc0000304, 0x0000e582, 0xc5400f15, 0x00000081,
+ 0x00002413, 0x00006583, 0x81172ae5, 0x00008910, 0xffffffff, 0x00007f86,
+ 0x85902204, 0x00009900, 0x000031e8, 0x00007030, 0x80002615, 0x00009583,
+ 0x05002000, 0x00006199, 0xc5402800, 0x000049b1, 0x000031e8, 0x0000f031,
+ 0x0000320b, 0x0000f000, 0x04c0fc19, 0x0000e281, 0x0241fc19, 0x00008281,
+ 0x0000fc09, 0x0000e583, 0x04e09fe4, 0x00008800, 0x020098e5, 0x00006400,
+ 0x05000800, 0x00008981, 0x84c01514, 0x00001880, 0x81005a13, 0x00007900,
+ 0x00000002, 0x00000080, 0x0e80ca13, 0x0000e802, 0x84d09a04, 0x00009000,
+ 0x00002813, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x01002008, 0x00006218, 0x01402808, 0x00000230, 0x000031d4, 0x0000f400,
+ 0xffffffff, 0x00007f86, 0x00382813, 0x00005000, 0x00382000, 0x00000000,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02b27000, 0x0000f900,
+ 0x00366316, 0x00000980, 0x02c95000, 0x00007900, 0x000fe014, 0x00000980,
+ 0x01800000, 0x00006180, 0x08001a08, 0x00006106, 0x01400000, 0x000080f4,
+ 0x324c1ff4, 0x0000f500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180,
+ 0x02401002, 0x0000c900, 0x808044ec, 0x00002081, 0x03400000, 0x000080fa,
+ 0x03c00000, 0x00009981, 0xffffffff, 0x00007f86, 0x02000c08, 0x00001080,
+ 0x02c03808, 0x00001280, 0x0200400b, 0x00001880, 0x02040008, 0x00009080,
+ 0x02003008, 0x00001784, 0x81c01208, 0x00009080, 0x0302040e, 0x0000e081,
+ 0x82106a07, 0x00000000, 0x80402608, 0x00007902, 0x04400000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x00000004, 0x0000e582, 0x02002004, 0x00008900,
+ 0x00003268, 0x0000700b, 0x01404008, 0x00006300, 0x03c00c0f, 0x0000c081,
+ 0x01002fe4, 0x00001800, 0x32653186, 0x00007500, 0x01002c0e, 0x0000e000,
+ 0x01804004, 0x00008400, 0x06402004, 0x00001900, 0x00000006, 0x00006582,
+ 0x02003006, 0x00008900, 0x0000325e, 0x00007013, 0x01008811, 0x00006100,
+ 0x0381040e, 0x0000c081, 0x0020640e, 0x00001503, 0x0340080d, 0x00001088,
+ 0x0000325a, 0x00007011, 0x0000200d, 0x00009582, 0x808044ec, 0x00002088,
+ 0x80803aec, 0x0000790a, 0x01000000, 0x00008000, 0x00003256, 0x0000f010,
+ 0x0000040f, 0x00009583, 0x82c032ec, 0x00007902, 0x01400000, 0x00008604,
+ 0x00003288, 0x00007011, 0x01400c08, 0x00001183, 0x00003284, 0x0000f00b,
+ 0x02003804, 0x00001000, 0x01c03008, 0x00001100, 0x00003804, 0x00001502,
+ 0x00003008, 0x00009502, 0xffffffff, 0x00007f86, 0x0000328a, 0x0000f028,
+ 0x0000328a, 0x00007008, 0x713838ec, 0x0000d600, 0x000019c8, 0x00008080,
+ 0x100038ec, 0x00005680, 0x00000000, 0x00008080, 0x80b842ec, 0x0000a880,
+ 0x80802cec, 0x0000a880, 0x80985cec, 0x0000a882, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x00003278, 0x0000f200, 0x01404000, 0x00001981,
+ 0x713820ec, 0x0000d600, 0x000019c8, 0x00008080, 0x100038ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x00003284, 0x0000f400, 0x02002006, 0x00009000,
+ 0x80b842ec, 0x0000a880, 0x82c038ec, 0x0000a081, 0x03800000, 0x000000fe,
+ 0x04400000, 0x00009981, 0xffffffff, 0x00007f86, 0x01c00c07, 0x00001080,
+ 0x02c03807, 0x00001280, 0x01c0400b, 0x00001880, 0x01c40007, 0x00009080,
+ 0x01c03007, 0x00001784, 0x83012207, 0x00009080, 0x0342040f, 0x0000e081,
+ 0x81d0720c, 0x00008000, 0x80402607, 0x00007902, 0x01800000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x00000004, 0x0000e582, 0x02002004, 0x00008900,
+ 0x000032ad, 0x0000700b, 0x01404008, 0x00006300, 0x04400c11, 0x0000c081,
+ 0x01002fe4, 0x00001800, 0x32aa3186, 0x00007500, 0x01002c0f, 0x00006000,
+ 0x01c04004, 0x00000400, 0x06402004, 0x00001900, 0x00000007, 0x0000e582,
+ 0x02003807, 0x00008900, 0x000032a3, 0x0000f013, 0x01003006, 0x00006100,
+ 0x03c1040f, 0x0000c081, 0x00206c0f, 0x00001503, 0x0380080e, 0x00001088,
+ 0x0000329f, 0x00007011, 0x0000200e, 0x00009582, 0x82c038ec, 0x0000a088,
+ 0x828046ec, 0x0000790a, 0x01000000, 0x00008000, 0x0000329b, 0x00007010,
+ 0x00000411, 0x00009583, 0x82c032ec, 0x00007902, 0x01400000, 0x00008604,
+ 0x000032cd, 0x0000f011, 0x02400c07, 0x00001183, 0x000032c9, 0x0000f00b,
+ 0x01c04004, 0x00001000, 0x01403007, 0x00009100, 0x00002804, 0x00009502,
+ 0x00003007, 0x00009502, 0xffffffff, 0x00007f86, 0x000032cf, 0x00007028,
+ 0x000032cf, 0x0000f008, 0x713828ec, 0x00005600, 0x00002208, 0x00000080,
+ 0x100040ec, 0x00005680, 0x00000000, 0x00008080, 0x82b83eec, 0x0000a880,
+ 0x82c048ec, 0x00002880, 0x82d858ec, 0x00002882, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x000032bd, 0x0000f200, 0x02404000, 0x00001981,
+ 0x713820ec, 0x0000d600, 0x00002208, 0x00000080, 0x100040ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x000032c9, 0x0000f400, 0x01c02006, 0x00009000,
+ 0x82b83eec, 0x0000a880, 0x7c0020ec, 0x00002081, 0x7c0028ec, 0x00002080,
+ 0x7c0040ec, 0x00002082, 0x7c2032ec, 0x0000a000, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x5d400404, 0x00004290,
+ 0xc6600206, 0x00008c8d, 0x5e200c04, 0x0000c488, 0x08601404, 0x00000c8e,
+ 0xc3801c04, 0x00007892, 0x49800000, 0x00009988, 0x81001405, 0x00009880,
+ 0x85202804, 0x0000a001, 0x7c0002ec, 0x0000d000, 0x00400000, 0x00008081,
+ 0xffffffff, 0x00007f97, 0x00000405, 0x00009583, 0x85203004, 0x0000a890,
+ 0x01000000, 0x00009980, 0x7c0020ec, 0x0000a080, 0xffffffff, 0x00007f86,
+ 0x33103045, 0x0000f503, 0x82204004, 0x0000e886, 0x01c02004, 0x00001900,
+ 0x00003310, 0x00007000, 0x81001405, 0x00009880, 0x85003804, 0x00002000,
+ 0x84f82a04, 0x00003038, 0xffffffff, 0x00007f97, 0x00000c07, 0x00009583,
+ 0x01403005, 0x00001118, 0x00003310, 0x0000f031, 0x00104005, 0x00001502,
+ 0x02003208, 0x00001018, 0x84f84204, 0x00002818, 0x000032fd, 0x0000f030,
+ 0x00003310, 0x00007000, 0x02002a08, 0x00009100, 0x84f84204, 0x00002800,
+ 0x7c0020ec, 0x0000a083, 0x3310311d, 0x0000f503, 0xffffffff, 0x00007f86,
+ 0x01402004, 0x00009900, 0x00003310, 0x00007000, 0x7c0020ec, 0x0000a083,
+ 0x33103186, 0x00007503, 0xffffffff, 0x00007f86, 0x06402004, 0x00001900,
+ 0x00003310, 0x00007000, 0x01400000, 0x00001980, 0x7c0028ec, 0x0000a082,
+ 0xffffffff, 0x00007fa7, 0x103828ec, 0x0000d600, 0x00000000, 0x00008080,
+ 0x7c0000ec, 0x00005000, 0x00400000, 0x00000080, 0x7c3820ec, 0x0000a000,
+ 0xffffffff, 0x00007fa7, 0x00000804, 0x00009582, 0x7bc00eec, 0x0000d0b0,
+ 0x00400000, 0x00008000, 0x01000804, 0x00001198, 0x00000001, 0x0000f0b0,
+ 0x7c382aec, 0x00002080, 0x7c3820ec, 0x00002800, 0x00000001, 0x0000f481,
+ 0xffffffff, 0x00007f86, 0x713828ec, 0x00005600, 0x00002908, 0x00008080,
+ 0x0ff83f06, 0x00000338, 0x825722e4, 0x00006100, 0x10009d00, 0x00004980,
+ 0x33212490, 0x00007004, 0x0000043a, 0x00009583, 0x823f1fe3, 0x00001908,
+ 0x6c004008, 0x0000a088, 0x0000332a, 0x0000f010, 0xffffffff, 0x00007f97,
+ 0x02003c08, 0x00001281, 0x02001408, 0x00001181, 0x00000c08, 0x00009583,
+ 0x0000332f, 0x0000701b, 0x1020e000, 0x00007900, 0x0036631a, 0x00000980,
+ 0x332f2091, 0x00007500, 0x0ff83f06, 0x00000334, 0x0ee1d43a, 0x00001900,
+ 0x3000e841, 0x00007902, 0x07000000, 0x00008000, 0x30007e41, 0x00007902,
+ 0x02800000, 0x00000000, 0x3000da41, 0x0000f902, 0x06800000, 0x00008000,
+ 0x3000cc41, 0x00007902, 0x02c00000, 0x00008000, 0x0000041d, 0x00009583,
+ 0x0200380a, 0x00009090, 0x02001808, 0x00001790, 0x80b842ec, 0x0000a810,
+ 0x4000051d, 0x00009583, 0x0200380f, 0x00006090, 0x02800000, 0x00000990,
+ 0x02001808, 0x0000e790, 0x8298cb19, 0x00000910, 0x00003356, 0x00007008,
+ 0x0000000b, 0x0000e582, 0xc318caec, 0x00000100, 0x82b846ec, 0x00002800,
+ 0x02000800, 0x0000e188, 0x0200580b, 0x0000c910, 0x00003350, 0x00007400,
+ 0x8318630c, 0x00006100, 0x0380100f, 0x0000c780, 0x03784708, 0x0000002c,
+ 0x2c10620c, 0x00001600, 0x020588b0, 0x00009000, 0x02000008, 0x0000f900,
+ 0x00000020, 0x00000080, 0x83184308, 0x00006100, 0x0340080d, 0x00004880,
+ 0x0000700d, 0x00001502, 0x80786eec, 0x00005020, 0x00386000, 0x00008000,
+ 0x80b858ec, 0x00005020, 0x00385000, 0x00008000, 0x0000334a, 0x00007028,
+ 0x8000061d, 0x00009583, 0xc000071d, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x0000335f, 0x00007010, 0x0000335f, 0x00007010, 0x0000041c, 0x00001583,
+ 0xb9104a09, 0x00009908, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b,
+ 0x4030e51c, 0x0000e503, 0x8368e51c, 0x00000900, 0x8728e51c, 0x00001919,
+ 0xffffffff, 0x00007f86, 0xf3f0e51c, 0x0000f81a, 0x01800001, 0x00000080,
+ 0x8200120d, 0x00001880, 0x84c0c208, 0x00007902, 0x05c00000, 0x00000000,
+ 0x84c0b408, 0x0000f902, 0x05400000, 0x00008000, 0x84c0a608, 0x0000f902,
+ 0x04c00000, 0x00008000, 0x85009008, 0x00007902, 0x04400000, 0x00000000,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x7040061d, 0x00004288, 0xf2600411, 0x00000c8e, 0x71a0071d, 0x0000c188,
+ 0x00600411, 0x00008090, 0x03000215, 0x0000c789, 0x0240041c, 0x0000048f,
+ 0xf0800c11, 0x0000f8b2, 0x61800000, 0x0000998d, 0x01c00020, 0x00006180,
+ 0x01800000, 0x00004980, 0x02be8800, 0x00007900, 0x0036631a, 0x00000980,
+ 0x02e57800, 0x0000f900, 0x000dc336, 0x00000980, 0x00003395, 0x00007400,
+ 0x01400000, 0x000080f4, 0x81c01000, 0x00009980, 0x05000000, 0x000001c8,
+ 0xc000071c, 0x0000e583, 0x04400000, 0x00008980, 0x05c00000, 0x000081d8,
+ 0x04c00000, 0x0000e180, 0x0600d81b, 0x0000c900, 0x0560d51a, 0x00008114,
+ 0x00003373, 0x0000f400, 0x0510e419, 0x00008105, 0x84900000, 0x0000e188,
+ 0x84972ae5, 0x0000c910, 0x01c00020, 0x00006180, 0x01800000, 0x00004980,
+ 0x0280a800, 0x00007900, 0x0036631c, 0x00000980, 0x02e98000, 0x00007900,
+ 0x002538be, 0x00008980, 0x01400000, 0x000080f4, 0x81c01000, 0x00009980,
+ 0xc1c02000, 0x0000e181, 0x08001a08, 0x00006106, 0x339a1ff4, 0x0000f500,
+ 0x82200500, 0x00008022, 0x02401002, 0x00009900, 0x0228020d, 0x00007900,
+ 0x000002f2, 0x00008080, 0x02c00000, 0x000080e8, 0x780408ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x0018100b, 0x00006186, 0x0000400a, 0x0000b286,
+ 0x783858ec, 0x0000d600, 0x00385000, 0x00008000, 0x7830a8ec, 0x0000d602,
+ 0x00000000, 0x00008080, 0x04400800, 0x00006181, 0xc510aa15, 0x0000c900,
+ 0x0000041c, 0x00001583, 0x00000c11, 0x00001583, 0xffffffff, 0x00007f86,
+ 0x000033c3, 0x00007008, 0x000033c2, 0x00007030, 0x80000611, 0x00006583,
+ 0x0200fc0d, 0x00008281, 0x022047e4, 0x00006000, 0x8280320d, 0x00004780,
+ 0x038040e5, 0x00006400, 0x82c12000, 0x00000990, 0x82001511, 0x00006080,
+ 0x82c01000, 0x00004988, 0x82004a08, 0x0000f900, 0x00000002, 0x00000080,
+ 0x0301fc0d, 0x0000e281, 0x82105208, 0x00008000, 0x0000fc0c, 0x0000e583,
+ 0x82105a08, 0x00000000, 0x00005808, 0x00007902, 0x02800000, 0x00000000,
+ 0xffffffff, 0x00007fa7, 0x0280500e, 0x00006218, 0x02c0580e, 0x00000230,
+ 0xffffffff, 0x00007f86, 0x00385808, 0x0000d000, 0x00385000, 0x00008000,
+ 0x04400000, 0x00009981, 0x83400a0d, 0x00006080, 0x8200120d, 0x00008880,
+ 0x84f8c208, 0x0000d000, 0x0038b800, 0x00008000, 0x84f8b408, 0x00005000,
+ 0x0038a800, 0x00000000, 0x84f8a608, 0x00005000, 0x00389800, 0x00000000,
+ 0x85389008, 0x0000d000, 0x00388800, 0x00008000, 0xd970e20d, 0x00007832,
+ 0x01800001, 0x00000080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xb9104a09, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x01000000, 0x000080d4, 0x01800000, 0x000080dc,
+ 0x02000000, 0x000080e4, 0x02800000, 0x000080ec, 0x03000000, 0x000080f4,
+ 0x03800000, 0x000080fc, 0x04000000, 0x000081c4, 0x04800000, 0x000081cc,
+ 0x05000000, 0x000081d4, 0x05c00000, 0x000081d8, 0xffffffff, 0x0000ffb7,
+ 0x82c0e2ec, 0x0000f902, 0x06000000, 0x00008604, 0x7f90c8ec, 0x0000f902,
+ 0x06200200, 0x00008001, 0x7f60dcec, 0x0000a080, 0xffffffff, 0x00007f97,
+ 0x80000219, 0x0000e582, 0x06000c18, 0x00000081, 0x7f80c0ec, 0x0000a800,
+ 0x000034dd, 0x00007009, 0x8000021b, 0x00009582, 0x8010da19, 0x00001502,
+ 0xffffffff, 0x00007f86, 0x00003537, 0x0000f008, 0x000034f2, 0x00007008,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000c0ec, 0x0000a080,
+ 0x02800800, 0x00007900, 0x00220200, 0x00000980, 0x05c00000, 0x00006180,
+ 0x01c00100, 0x00004980, 0x01000000, 0x00007900, 0x00200140, 0x00000980,
+ 0x00000418, 0x00006583, 0x00001817, 0x00002106, 0x42800800, 0x00006191,
+ 0xc0001817, 0x00006006, 0x00000418, 0x00006583, 0x05801002, 0x00008900,
+ 0x01400000, 0x0000f900, 0x0001c040, 0x00008980, 0x01818000, 0x0000f900,
+ 0x00004c00, 0x00000980, 0x05009000, 0x0000f900, 0x000142c0, 0x00000980,
+ 0x05400000, 0x00007900, 0x00010030, 0x00000980, 0x02500000, 0x00007900,
+ 0x00006030, 0x00008980, 0x02000020, 0x00006180, 0x02c00000, 0x0000c980,
+ 0x03000000, 0x000080f4, 0x03800000, 0x000080fc, 0x04000000, 0x000081c4,
+ 0x000035ac, 0x0000f408, 0x04800000, 0x000081cc, 0x8300121b, 0x00006790,
+ 0x81181302, 0x00000900, 0xffffffff, 0x00007f86, 0x83000a0c, 0x00009282,
+ 0x0347f800, 0x0000e191, 0x0307f800, 0x00004991, 0x03400000, 0x0000e189,
+ 0x03000000, 0x00004989, 0x00003418, 0x0000f010, 0x83400a1b, 0x00006780,
+ 0x43206c0d, 0x00000901, 0x83400a0d, 0x00009282, 0x0347f800, 0x0000e191,
+ 0x8307f800, 0x0000c991, 0x03400000, 0x0000e189, 0x83000000, 0x0000c989,
+ 0x00003420, 0x00007010, 0x83400a1b, 0x0000e282, 0xc3206c0d, 0x00008901,
+ 0x0387f800, 0x0000e191, 0x0347f800, 0x0000c991, 0x03800000, 0x0000e189,
+ 0x03400000, 0x0000c989, 0x00003427, 0x0000f010, 0x4360740e, 0x00006101,
+ 0x8650ca1b, 0x00004300, 0x8380321b, 0x0000e780, 0x8360cc19, 0x00008901,
+ 0x83800a0e, 0x00006282, 0x86404219, 0x00008780, 0xc360cc19, 0x00009901,
+ 0x0000359c, 0x0000f009, 0x83c7f8ff, 0x000080fa, 0x83c02a1b, 0x00006780,
+ 0x43a07c0f, 0x00008901, 0x83c00a0f, 0x00009282, 0x03c7f800, 0x00006191,
+ 0x8387f800, 0x00004991, 0x03c00000, 0x00006189, 0x83800000, 0x00004989,
+ 0x00003438, 0x00007010, 0x83c0221b, 0x0000e780, 0xc3a07c0f, 0x00000901,
+ 0x83c00a0f, 0x00009282, 0x0607f800, 0x00006191, 0x03c7f800, 0x00004991,
+ 0x06000000, 0x00006189, 0x03c00000, 0x00004989, 0x00003440, 0x00007010,
+ 0x86001a1b, 0x00006780, 0x43e0c418, 0x00000901, 0x86000a18, 0x00009282,
+ 0x0607f800, 0x00006191, 0x83c7f800, 0x0000c991, 0x06000000, 0x00006189,
+ 0x83c00000, 0x0000c989, 0x00003448, 0x0000f010, 0x86003a1b, 0x0000e780,
+ 0xc3e0c418, 0x00008901, 0x86000a18, 0x00009282, 0x0607f800, 0x00006191,
+ 0x8447f800, 0x0000c991, 0x06000000, 0x00006189, 0x84400000, 0x0000c989,
+ 0x00003450, 0x0000f010, 0xc460c418, 0x00001901, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780,
+ 0x00007001, 0x00008080, 0x7f80c0ec, 0x0000a001, 0x06800800, 0x00009981,
+ 0xffffffff, 0x00007f97, 0x06000c18, 0x00009081, 0x7f98c0ec, 0x00002802,
+ 0x0601a01c, 0x00001080, 0x7f78c6ec, 0x0000a880, 0x7fa0d8ec, 0x0000a880,
+ 0x7f80c0ec, 0x00002082, 0x7f40dcec, 0x0000a082, 0xffffffff, 0x00007f97,
+ 0x80000218, 0x00009582, 0x000034e6, 0x0000700b, 0x8000021b, 0x00009582,
+ 0x8010da18, 0x00009502, 0xffffffff, 0x00007f86, 0x000035ba, 0x0000f008,
+ 0x000034f9, 0x0000f008, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x0000c8ec, 0x00002080, 0x02800800, 0x00007900, 0x00220200, 0x00000980,
+ 0x05c00000, 0x00006180, 0x01c00100, 0x00004980, 0x01000000, 0x00007900,
+ 0x00200140, 0x00000980, 0x00000419, 0x0000e583, 0x00001817, 0x00002106,
+ 0x42800800, 0x00006191, 0xc0001817, 0x00006006, 0x00000419, 0x0000e583,
+ 0x05801002, 0x00008900, 0x01400000, 0x0000f900, 0x0001c840, 0x00000980,
+ 0x01818000, 0x0000f900, 0x00004c00, 0x00000980, 0x05009000, 0x0000f900,
+ 0x000142c0, 0x00000980, 0x05400000, 0x00007900, 0x00010030, 0x00000980,
+ 0x02500000, 0x00007900, 0x00006030, 0x00008980, 0x02000020, 0x00006180,
+ 0x02c00000, 0x0000c980, 0x03000000, 0x000080f4, 0x03800000, 0x000080fc,
+ 0x04000000, 0x000081c4, 0x0000359e, 0x00007408, 0x04800000, 0x000081cc,
+ 0x8300121b, 0x00006790, 0x81181302, 0x00000900, 0xffffffff, 0x00007f86,
+ 0x83000a0c, 0x00009282, 0x0347f800, 0x0000e191, 0x0307f800, 0x00004991,
+ 0x03400000, 0x0000e189, 0x03000000, 0x00004989, 0x00003491, 0x00007010,
+ 0x83400a1b, 0x00006780, 0x43206c0d, 0x00000901, 0x83400a0d, 0x00009282,
+ 0x0347f800, 0x0000e191, 0x8307f800, 0x0000c991, 0x03400000, 0x0000e189,
+ 0x83000000, 0x0000c989, 0x00003499, 0x0000f010, 0x83400a1b, 0x0000e282,
+ 0xc3206c0d, 0x00008901, 0x0387f800, 0x0000e191, 0x0347f800, 0x0000c991,
+ 0x03800000, 0x0000e189, 0x03400000, 0x0000c989, 0x000034a0, 0x0000f010,
+ 0x4360740e, 0x00006101, 0x8610c21b, 0x00004300, 0x8380321b, 0x0000e780,
+ 0x8360c418, 0x00008901, 0x83800a0e, 0x00006282, 0x86004218, 0x00008780,
+ 0xc360c418, 0x00009901, 0x00003535, 0x0000f009, 0x83c7f8ff, 0x000080fa,
+ 0x83c02a1b, 0x00006780, 0x43a07c0f, 0x00008901, 0x83c00a0f, 0x00009282,
+ 0x03c7f800, 0x00006191, 0x8387f800, 0x00004991, 0x03c00000, 0x00006189,
+ 0x83800000, 0x00004989, 0x000034b1, 0x0000f010, 0x83c0221b, 0x0000e780,
+ 0xc3a07c0f, 0x00000901, 0x83c00a0f, 0x00009282, 0x0607f800, 0x00006191,
+ 0x03c7f800, 0x00004991, 0x06000000, 0x00006189, 0x03c00000, 0x00004989,
+ 0x000034b9, 0x00007010, 0x86001a1b, 0x00006780, 0x43e0c418, 0x00000901,
+ 0x86000a18, 0x00009282, 0x0607f800, 0x00006191, 0x83c7f800, 0x0000c991,
+ 0x06000000, 0x00006189, 0x83c00000, 0x0000c989, 0x000034c1, 0x00007010,
+ 0x86003a1b, 0x0000e780, 0xc3e0c418, 0x00008901, 0x86000a18, 0x00009282,
+ 0x0607f800, 0x00006191, 0x8447f800, 0x0000c991, 0x06000000, 0x00006189,
+ 0x84400000, 0x0000c989, 0x000034c9, 0x0000f010, 0xc460c418, 0x00001901,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008808ec, 0x00005780, 0x00007001, 0x00008080, 0x7f80c0ec, 0x0000a001,
+ 0xffffffff, 0x00007fa7, 0x06000c18, 0x00009081, 0x7f98c0ec, 0x00002802,
+ 0x0601a01c, 0x00001080, 0x7f78c6ec, 0x00002800, 0x06000800, 0x00001981,
+ 0x0620d418, 0x00001303, 0x7f88d8ec, 0x00002882, 0x000034ec, 0x0000f011,
+ 0x100028ec, 0x0000d680, 0x00000000, 0x00008080, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x8000021b, 0x00009582, 0x06800000, 0x00009989,
+ 0x00003567, 0x00007011, 0x7fa0d8ec, 0x0000a880, 0x7f80c0ec, 0x00002082,
+ 0x7f40dcec, 0x0000a082, 0xffffffff, 0x00007f97, 0x80000218, 0x00009582,
+ 0x00003463, 0x0000f013, 0x8000021b, 0x00009582, 0x06000000, 0x00001989,
+ 0x00003500, 0x0000f011, 0x0620d418, 0x00001303, 0x7f88d8ec, 0x00002882,
+ 0x000034d9, 0x0000f009, 0x7101a0ec, 0x0000d680, 0x52000800, 0x00008080,
+ 0x100028ec, 0x0000d680, 0x00000000, 0x00008080, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x7f78c6ec, 0x00002080, 0xffffffff, 0x00007fa7,
+ 0x06000818, 0x00001180, 0x0000e018, 0x00009502, 0x06800000, 0x000099d9,
+ 0x000033ef, 0x00007071, 0x000034e0, 0x0000f000, 0x7f78ceec, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x06400819, 0x00001180, 0x0000e019, 0x00001502,
+ 0x06000000, 0x000019d9, 0x00003468, 0x0000f071, 0x000034e9, 0x0000f000,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000c0ec, 0x0000a080,
+ 0x02800800, 0x00007900, 0x00220200, 0x00000980, 0x05c00000, 0x00006180,
+ 0x01c00100, 0x00004980, 0x01000000, 0x00007900, 0x00200140, 0x00000980,
+ 0x00000418, 0x00006583, 0x00001817, 0x00002106, 0x42800800, 0x00006191,
+ 0xc0001817, 0x00006006, 0x00000418, 0x00006583, 0x05801002, 0x00008900,
+ 0x01400000, 0x0000f900, 0x0001c840, 0x00000980, 0x01818000, 0x0000f900,
+ 0x00004c00, 0x00000980, 0x05009000, 0x0000f900, 0x000142c0, 0x00000980,
+ 0x05400000, 0x00007900, 0x00010030, 0x00000980, 0x02500000, 0x00007900,
+ 0x00006030, 0x00008980, 0x02000020, 0x00006180, 0x02c00000, 0x0000c980,
+ 0x03000000, 0x000080f4, 0x03800000, 0x000080fc, 0x04000000, 0x000081c4,
+ 0x0000359e, 0x00007408, 0x04800000, 0x000081cc, 0x8300121b, 0x00006790,
+ 0x81181302, 0x00000900, 0xffffffff, 0x00007f86, 0x83000a0c, 0x00009282,
+ 0x0307f800, 0x00006191, 0x4307f800, 0x0000c991, 0x83400a1b, 0x00001790,
+ 0x00003600, 0x00007008, 0x83400a0d, 0x00009282, 0x8307f800, 0x00009991,
+ 0x00003606, 0x0000f009, 0x83400a1b, 0x0000e282, 0xc307f800, 0x00000981,
+ 0x0347f800, 0x00009991, 0x0000360b, 0x00007009, 0x8380421b, 0x00006780,
+ 0x4347f800, 0x00000981, 0x4370db0e, 0x00008035, 0x8380321b, 0x00001780,
+ 0x83800a0e, 0x00009282, 0x000034a8, 0x00007013, 0x000034a9, 0x0000f200,
+ 0x83c00000, 0x000080fa, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x0000c0ec, 0x0000a080, 0x02800800, 0x00007900, 0x00220200, 0x00000980,
+ 0x05c00000, 0x000080f4, 0x01000000, 0x00007900, 0x00200140, 0x00000980,
+ 0x00000418, 0x00006583, 0x00001817, 0x00002106, 0x42800800, 0x00006191,
+ 0xc0001817, 0x00006006, 0x00000418, 0x00006583, 0x01c00100, 0x00008980,
+ 0x01400000, 0x0000f900, 0x0001c040, 0x00008980, 0x01818000, 0x0000f900,
+ 0x00004c00, 0x00000980, 0x05009000, 0x0000f900, 0x000142c0, 0x00000980,
+ 0x05400000, 0x00007900, 0x00010030, 0x00000980, 0x02500000, 0x00007900,
+ 0x00006030, 0x00008980, 0x05801002, 0x00006100, 0x02000020, 0x00004980,
+ 0x02c00000, 0x000080f0, 0x03800000, 0x000080fc, 0x04000000, 0x000081c4,
+ 0x0000355d, 0x00007408, 0x04800000, 0x000081cc, 0x81181302, 0x0000e100,
+ 0xc3400000, 0x00004988, 0x03400000, 0x000080f0, 0x43400619, 0x000080b8,
+ 0x86404219, 0x0000e780, 0x03c00000, 0x00008980, 0x43600319, 0x00000185,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008808ec, 0x00005780, 0x00007001, 0x00008080, 0x7fa0c0ec, 0x00002001,
+ 0x06800000, 0x00001981, 0x0000345d, 0x00007403, 0x06000c18, 0x00009081,
+ 0x7fb0c0ec, 0x00002801, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x0000c0ec, 0x0000a080, 0x02800800, 0x00007900, 0x00220200, 0x00000980,
+ 0x05c00000, 0x00006180, 0x01c00100, 0x00004980, 0x01000000, 0x00007900,
+ 0x00200140, 0x00000980, 0x00000418, 0x00006583, 0x00001817, 0x00002106,
+ 0x42800800, 0x00006191, 0xc0001817, 0x00006006, 0x00000418, 0x00006583,
+ 0x05801002, 0x00008900, 0x01400000, 0x0000f900, 0x0001c040, 0x00008980,
+ 0x01818000, 0x0000f900, 0x00004c00, 0x00000980, 0x05009000, 0x0000f900,
+ 0x000142c0, 0x00000980, 0x05400000, 0x00007900, 0x00010030, 0x00000980,
+ 0x02500000, 0x00007900, 0x00006030, 0x00008980, 0x02000020, 0x00006180,
+ 0x02c00000, 0x0000c980, 0x03000000, 0x000080f4, 0x03800000, 0x000080fc,
+ 0x04000000, 0x000081c4, 0x000035ac, 0x0000f408, 0x04800000, 0x000081cc,
+ 0x8300121b, 0x00006790, 0x81181302, 0x00000900, 0xffffffff, 0x00007f86,
+ 0x83000a0c, 0x00009282, 0x0307f800, 0x00006191, 0x4307f800, 0x0000c991,
+ 0x83400a1b, 0x00001790, 0x000035ee, 0x00007008, 0x83400a0d, 0x00009282,
+ 0x8307f800, 0x00009991, 0x000035f4, 0x00007009, 0x83400a1b, 0x0000e282,
+ 0xc307f800, 0x00000981, 0x0347f800, 0x00009991, 0x000035f9, 0x0000f009,
+ 0x8380421b, 0x00006780, 0x4347f800, 0x00000981, 0x4370db0e, 0x00008035,
+ 0x8380321b, 0x00001780, 0x83800a0e, 0x00009282, 0x0000342f, 0x00007013,
+ 0x00003430, 0x0000f200, 0x83c00000, 0x000080fa, 0xc3572ae5, 0x00001900,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x008808ec, 0x00005780, 0x00007001, 0x00008080, 0x7f80c0ec, 0x0000a001,
+ 0xffffffff, 0x00007fa7, 0x06000c18, 0x00009081, 0x7f98c0ec, 0x00002802,
+ 0x0601a01c, 0x00001080, 0x000034d6, 0x00007400, 0x7f78c6ec, 0x00002800,
+ 0x06000800, 0x00001981, 0xc3572ae5, 0x00001900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780,
+ 0x00007001, 0x00008080, 0x7f80c0ec, 0x0000a001, 0x06800800, 0x00009981,
+ 0xffffffff, 0x00007f97, 0x06000c18, 0x00009081, 0x7f98c0ec, 0x00002802,
+ 0x0000345d, 0x00007400, 0x0601a01c, 0x00001080, 0x7f78c6ec, 0x0000a880,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0000c8ec, 0x00002080,
+ 0x02800800, 0x00007900, 0x00220200, 0x00000980, 0x05c00000, 0x000080f4,
+ 0x01000000, 0x00007900, 0x00200140, 0x00000980, 0x00000419, 0x0000e583,
+ 0x00001817, 0x00002106, 0x42800800, 0x00006191, 0xc0001817, 0x00006006,
+ 0x00000419, 0x0000e583, 0x01c00100, 0x00008980, 0x01400000, 0x0000f900,
+ 0x0001c840, 0x00000980, 0x01818000, 0x0000f900, 0x00004c00, 0x00000980,
+ 0x05009000, 0x0000f900, 0x000142c0, 0x00000980, 0x05400000, 0x00007900,
+ 0x00010030, 0x00000980, 0x02500000, 0x00007900, 0x00006030, 0x00008980,
+ 0x05801002, 0x00006100, 0x02000020, 0x00004980, 0x02c00000, 0x000080f0,
+ 0x03800000, 0x000080fc, 0x04000000, 0x000081c4, 0x000035e0, 0x00007408,
+ 0x04800000, 0x000081cc, 0x81181302, 0x0000e100, 0xc3400000, 0x00004988,
+ 0x03400000, 0x000080f0, 0x43400618, 0x000000b8, 0x86004218, 0x0000e780,
+ 0x03c00000, 0x00008980, 0x43600318, 0x00008185, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780,
+ 0x00007001, 0x00008080, 0x7fa0c0ec, 0x00002001, 0x7f88d8ec, 0x00002882,
+ 0xffffffff, 0x00007f97, 0x06000c18, 0x00009081, 0x7fb0c0ec, 0x00002801,
+ 0x06000000, 0x00009981, 0x0620d418, 0x00001303, 0x000034d9, 0x0000700b,
+ 0x000034ec, 0x0000f000, 0x43400000, 0x000080f1, 0x83400a1b, 0x00006780,
+ 0x43206c0d, 0x00000901, 0x83400a0d, 0x00009282, 0x8307f800, 0x00009991,
+ 0x00003592, 0x00007011, 0x83400a1b, 0x0000e282, 0xc3000000, 0x00008980,
+ 0xc3000000, 0x0000e181, 0x0347f800, 0x0000c991, 0x00003596, 0x0000f011,
+ 0x43800000, 0x000080f4, 0x8370db0e, 0x00008035, 0x8380421b, 0x00009780,
+ 0x8380321b, 0x0000e780, 0xc360740e, 0x00000901, 0x0bc00a0e, 0x0000f897,
+ 0xe1800000, 0x00009a8c, 0x43400000, 0x000080f1, 0x83400a1b, 0x00006780,
+ 0x43206c0d, 0x00000901, 0x83400a0d, 0x00009282, 0x8307f800, 0x00009991,
+ 0x0000352b, 0x0000f011, 0x83400a1b, 0x0000e282, 0xc3000000, 0x00008980,
+ 0xc3000000, 0x0000e181, 0x0347f800, 0x0000c991, 0x0000352f, 0x00007011,
+ 0x43800000, 0x000080f4, 0x8370db0e, 0x00008035, 0x8380421b, 0x00009780,
+ 0x8380321b, 0x0000e780, 0xc360740e, 0x00000901, 0x2a000a0e, 0x0000f897,
+ 0xa9800000, 0x00009a89, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x28400ce0, 0x00009283, 0x00005e50, 0x0000f013,
- 0x0c3cf830, 0x00007900, 0x003ffffe, 0x00008280, 0x2840854b, 0x00001481,
- 0x50650830, 0x00006800, 0x68410530, 0x00001283, 0x0000d834, 0x00009502,
- 0xffffffff, 0x00007f86, 0x00005db8, 0x0000f008, 0x00005dec, 0x00007008,
- 0xc0109312, 0x00009502, 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b,
- 0x0681a034, 0x00009908, 0x28800000, 0x00007900, 0x001f8000, 0x00008980,
- 0xc0109312, 0x00006502, 0x001518a2, 0x0000a186, 0x043d18a2, 0x0000e101,
- 0xd0000809, 0x00003401, 0x203d16ec, 0x00005600, 0x003d0000, 0x00008000,
- 0x00622aa3, 0x00008a19, 0xc4122a45, 0x0000e108, 0xc41a2344, 0x0000c910,
- 0x40322d43, 0x00001503, 0x28010430, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00005dfa, 0x00007030, 0x00005dfa, 0x0000f010, 0x28722d43, 0x00006100,
- 0x28003700, 0x00000181, 0x000030a1, 0x0000e582, 0x91400000, 0x00000981,
- 0x28403000, 0x000019b8, 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380,
- 0xc0250ca0, 0x00006001, 0x50e50ca1, 0x00008901, 0x28003603, 0x00001181,
- 0x280094a6, 0x0000e081, 0x80e50ca0, 0x00008001, 0x82250aa0, 0x0000e886,
- 0x00b506ec, 0x0000df02, 0x00005800, 0x00008084, 0x5dd81c02, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x07400000, 0x00007910,
- 0x001f8000, 0x00008980, 0x87551aa3, 0x0000e110, 0x00001004, 0x0000e412,
- 0x0000577f, 0x00007008, 0x043d181d, 0x00006101, 0x60001008, 0x0000b403,
- 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x80751ea3, 0x00001901,
- 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0xa9bf1fe3, 0x00001900,
- 0x8a050ca6, 0x0000a080, 0xffffffff, 0x00007fa7, 0x29803ca1, 0x00009281,
- 0x000014a6, 0x00001583, 0x08021ca1, 0x0000e094, 0xd0000030, 0x0000b410,
- 0x29a50fe4, 0x00001810, 0x00005dfd, 0x00007008, 0x8f8508ec, 0x0000a084,
- 0xffffffff, 0x00007f86, 0x00005db8, 0x0000f403, 0x286534a1, 0x00009401,
- 0x8f8508ec, 0x00002884, 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80,
- 0x00985b01, 0x00008684, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980,
- 0x00151831, 0x00006186, 0x60001008, 0x0000b403, 0x043d1831, 0x0000e101,
- 0x40001009, 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980,
- 0x00001004, 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x2980d834, 0x00009100, 0x001980a6, 0x00001502, 0x28404033, 0x00001890,
- 0x2980b8a1, 0x00001110, 0x00005f33, 0x00007008, 0x2840c0a6, 0x00009002,
- 0x2a400000, 0x000061e0, 0x2a000000, 0x0000c9e0, 0x287ff83e, 0x00007960,
- 0x00000002, 0x00008280, 0x00005ea7, 0x00007068, 0x29800002, 0x0000e180,
- 0x0fc184a4, 0x00006000, 0x284508a6, 0x0000e100, 0x2a625c4b, 0x00008901,
- 0x000278a1, 0x00006582, 0x2940c018, 0x00000900, 0x2a818831, 0x0000e100,
- 0x0e025ca1, 0x0000e000, 0x0f80003e, 0x0000f930, 0x003ffffc, 0x00000280,
- 0x6841054b, 0x0000e283, 0xaa650ca4, 0x00000301, 0xaa000a12, 0x0000e080,
- 0x82c258a9, 0x0000a011, 0x2981a034, 0x0000e100, 0x964278a9, 0x00006011,
- 0x0d000834, 0x00006080, 0xa64278a9, 0x0000a011, 0x00002c4b, 0x00006583,
- 0xb64278a9, 0x00002011, 0x2840164b, 0x00006189, 0x28400800, 0x00008991,
- 0x8fbd20ec, 0x00002084, 0x68410530, 0x0000e283, 0x6a650ca1, 0x00000901,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00001ca4, 0x00001583,
- 0x0000d8a6, 0x00001502, 0x00005f2d, 0x00007010, 0x00004d8e, 0x00007008,
- 0x00004d8e, 0x00007010, 0xa87f1fe3, 0x00009900, 0x8a0534a1, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x28403ca6, 0x00009281, 0x000014a1, 0x00009583,
- 0x00004e2f, 0x0000f013, 0x0c400000, 0x00007900, 0x001f8000, 0x00008980,
- 0x00151831, 0x00006186, 0x60001008, 0x0000b403, 0x043d1831, 0x0000e101,
- 0x40001009, 0x00003402, 0x00503000, 0x0000f900, 0x00044010, 0x00000980,
- 0x00001004, 0x00006402, 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0x5e511c02, 0x00007100, 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583,
- 0x07400000, 0x00007910, 0x001f8000, 0x00008980, 0x87551aa3, 0x0000e110,
- 0x00001004, 0x0000e412, 0x00005dab, 0x00007008, 0x043d181d, 0x00006101,
- 0x60001008, 0x0000b403, 0x40001009, 0x00006402, 0xc0001008, 0x0000b403,
- 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x2038eeec, 0x0000d600,
- 0x003d0000, 0x00008000, 0xc0003800, 0x00006181, 0x80005009, 0x00006406,
- 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80, 0x00005801, 0x00000084,
- 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a6, 0x00001583, 0x91406800, 0x00006199, 0x28401800, 0x00004999,
- 0x00005e75, 0x00007031, 0x5e6d44f5, 0x00007100, 0xa9b71ee3, 0x00001900,
- 0x8e8508a6, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a1, 0x00009583,
- 0x91405800, 0x00006199, 0x28401800, 0x00004999, 0x00005e83, 0x00007031,
- 0x5e7544f5, 0x00007100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03bae800, 0x00007900,
- 0x0033d078, 0x00000980, 0x018520a4, 0x0000e100, 0x08001a09, 0x0000e106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x5e831bac, 0x0000f500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x020540a8, 0x00004900,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980,
- 0x019728a7, 0x00006200, 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x5e911bac, 0x0000f500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x0217285f, 0x0000c200, 0xa8771ee3, 0x00009900,
- 0x8e8530a1, 0x0000a084, 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583,
- 0x91401800, 0x0000e199, 0x28401800, 0x00004999, 0x00005e99, 0x0000f031,
- 0x5e9944f5, 0x0000f100, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03aef800, 0x0000f900,
- 0x00157fde, 0x00008980, 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x5ea71bac, 0x0000f500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02172831, 0x00004200,
- 0x7fbd08ec, 0x00002084, 0xffffffff, 0x00007fa7, 0x6840854b, 0x0000e283,
- 0x298008a1, 0x00008080, 0x7fbd30ec, 0x00002884, 0x28651337, 0x00001010,
- 0x00005edf, 0x00007008, 0x80250e37, 0x00009503, 0x0ec1c839, 0x00006118,
- 0x0e81c038, 0x0000c918, 0x00005edf, 0x00007031, 0x80000237, 0x00001582,
- 0xa8400a37, 0x00006190, 0xa8400b35, 0x00000188, 0xffffffff, 0x00007f86,
- 0x800002a1, 0x0000e582, 0x8dd50aa1, 0x00000900, 0x28400b35, 0x00001188,
- 0xa9401aa1, 0x00009888, 0x00005ebd, 0x0000f008, 0x29800aa1, 0x00001180,
- 0xa9401aa6, 0x00009880, 0x28b20004, 0x0000e180, 0x28400380, 0x00004980,
- 0xa8680500, 0x0000e100, 0x041810a2, 0x00006187, 0x75e800a1, 0x0000e901,
- 0x700040ec, 0x00005680, 0x003d0cc4, 0x00008010, 0x2841e2a5, 0x00001002,
- 0x2940003d, 0x00001084, 0x703d08ec, 0x00005600, 0x003d2800, 0x00008000,
- 0x700040ec, 0x00005680, 0x003d17c0, 0x00008078, 0x00c002ec, 0x0000df80,
- 0x15d6600b, 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x82c032ec, 0x00007902, 0x01000000, 0x00000604, 0x7f9024ec, 0x0000a082,
+ 0xffffffff, 0x00007fa7, 0x01000c04, 0x00009081, 0x7f9824ec, 0x0000a881,
+ 0x7f8024ec, 0x0000a080, 0xffffffff, 0x00007fa7, 0x00000404, 0x00001583,
+ 0x7fb822ec, 0x0000a090, 0x0000362f, 0x00007009, 0xffffffff, 0x00007f86,
+ 0x01003004, 0x00001100, 0x01000804, 0x00009182, 0x00003648, 0x00007073,
+ 0x7f8024ec, 0x00002081, 0xffffffff, 0x00007fa7, 0x00000404, 0x00001583,
+ 0x010030e5, 0x00009410, 0x7fb82aec, 0x0000a010, 0x00003638, 0x0000f008,
+ 0xffffffff, 0x00007f97, 0x01002804, 0x00001002, 0x0000363c, 0x00007073,
+ 0x100030ec, 0x0000d680, 0x00000000, 0x00008080, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x7f8024ec, 0x0000a001, 0xffffffff, 0x00007fa7,
+ 0x01000c04, 0x00009081, 0x7f9824ec, 0x00002802, 0x7fa004ec, 0x0000d082,
+ 0x00400000, 0x00008000, 0x000800ec, 0x0000d680, 0x00000000, 0x00008080,
+ 0x100030ec, 0x0000d680, 0x00000000, 0x00008080, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x7f8024ec, 0x0000a001, 0xffffffff, 0x00007fa7,
+ 0x01000c04, 0x00009081, 0x7f9824ec, 0x00002802, 0x0000362f, 0x0000f400,
+ 0x7f8004ec, 0x00005082, 0x00400000, 0x00008000, 0x000000ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x41020509, 0x00001283, 0x8100fe09, 0x00001283,
+ 0xffffffff, 0x00007f86, 0x00003656, 0x00007010, 0x0000366c, 0x00007008,
+ 0x01400000, 0x00006180, 0x0bc04f06, 0x00006000, 0x0c004e06, 0x00006000,
+ 0x0c804c06, 0x00003000, 0x0c404d06, 0x0000e000, 0x0b004e05, 0x0000b000,
+ 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x0b404d05, 0x00006000,
+ 0x0b804c05, 0x0000b000, 0x2bc54000, 0x00007900, 0x000222ac, 0x00000980,
+ 0x39ffc000, 0x0000f900, 0x0004d85c, 0x00000980, 0x2a800000, 0x00006180,
+ 0x08001aad, 0x00006106, 0xab600500, 0x00008a36, 0x366a2021, 0x00007500,
+ 0x2bb83702, 0x00000a30, 0x2ac0af05, 0x00000a91, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0xc1010706, 0x00001283, 0x02400000, 0x00009988,
+ 0x00003656, 0x0000f011, 0xc000030f, 0x0000f900, 0x00000002, 0x00008582,
+ 0xc036eb0f, 0x0000f900, 0x00000020, 0x00008582, 0xffffffff, 0x00007f86,
+ 0x00003690, 0x00007008, 0x0000369b, 0x0000f008, 0xc0000310, 0x00007900,
+ 0x00000002, 0x00008582, 0x02008418, 0x0000e088, 0x08008404, 0x0000600a,
+ 0x02004319, 0x00006308, 0x0168bd17, 0x00000909, 0x00003684, 0x00007008,
+ 0xc036eb10, 0x00007900, 0x00000020, 0x00008582, 0x0168e51c, 0x0000e109,
+ 0x0f008404, 0x0000e00a, 0x0200841d, 0x00009888, 0x000036a3, 0x00007010,
+ 0x0200431e, 0x00009300, 0x00040c05, 0x00006583, 0x0400600c, 0x00008900,
+ 0x02c87f0e, 0x00008026, 0x03286c0d, 0x00008030, 0x00003698, 0x0000f008,
+ 0x00001c04, 0x00001583, 0x0000366a, 0x00007013, 0x02b86708, 0x00008014,
+ 0x0138570b, 0x00000030, 0x369045cc, 0x00007404, 0x02f88709, 0x00000028,
+ 0x02782705, 0x00000020, 0x40040d16, 0x0000e583, 0x02008417, 0x00008880,
+ 0x0400600c, 0x00006100, 0x08007c04, 0x00006002, 0x02c0700e, 0x00006100,
+ 0x02004318, 0x0000c300, 0x00003689, 0x00007210, 0x03286c0d, 0x00008030,
+ 0x369947fc, 0x00007100, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x0200841c, 0x0000e080, 0x0f007c04, 0x0000e002, 0x0438770c, 0x0000802c,
+ 0x0200431d, 0x00006300, 0xc3186b0d, 0x00000900, 0x83106a0d, 0x00001900,
+ 0xfee40d1b, 0x00004589, 0x7c801c04, 0x00007e95, 0x00107805, 0x0000e186,
+ 0x08001aad, 0x00003106, 0x29000000, 0x00007900, 0x00010080, 0x00008980,
+ 0x2ac00000, 0x0000e180, 0x04108005, 0x00006187, 0x2bc6c800, 0x00007900,
+ 0x0006782a, 0x00000980, 0x39dfc800, 0x0000f900, 0x000f1048, 0x00000980,
+ 0x2a800000, 0x00006180, 0xeb700600, 0x0000c901, 0x36b22021, 0x00007500,
+ 0xab781400, 0x00000a38, 0x2b00b705, 0x00008a91, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x0107fc3a, 0x00006280, 0x0fc0f01e, 0x00000900,
+ 0x36ba2091, 0x00007500, 0x1029b000, 0x00007900, 0x002cdb78, 0x00000980,
+ 0x0ef8ff04, 0x00000334, 0x01000100, 0x00006180, 0xffc00000, 0x00004980,
+ 0xc0c01000, 0x0000e180, 0x453f1004, 0x0000e003, 0xc0000800, 0x00006181,
+ 0xc3371804, 0x00006006, 0x00400000, 0x00007900, 0x00040090, 0x00000980,
+ 0x200406ec, 0x00005680, 0x00382100, 0x0000bf00, 0x008806ec, 0x00005f80,
+ 0x00006000, 0x00000084, 0x0940071d, 0x000082a0, 0x0a400000, 0x0000e180,
+ 0x00212806, 0x0000e086, 0x0a800000, 0x0000e180, 0x82292806, 0x00006086,
+ 0x0ac00000, 0x00006180, 0x04192806, 0x0000e187, 0x01f8e706, 0x00000210,
+ 0x170b4800, 0x00007900, 0x00053cf4, 0x00000980, 0x09b8ff1e, 0x0000021c,
+ 0x17b8e707, 0x0000853c, 0xffffffff, 0x0000ffd7, 0x82c02cec, 0x00007902,
+ 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100,
+ 0x00002004, 0x0000e586, 0x17403006, 0x00006100, 0x04292804, 0x0000e087,
+ 0x36dd20b3, 0x0000f500, 0x86212804, 0x0000e887, 0x16c02004, 0x00001900,
+ 0x00403425, 0x00004588, 0x03003c25, 0x0000038f, 0x36e22490, 0x0000f404,
+ 0x0ff8ff1e, 0x00000338, 0x10009e00, 0x00001980, 0x0000043a, 0x00009583,
+ 0x813f1fe3, 0x00001908, 0x6c002004, 0x0000a088, 0x000036eb, 0x00007010,
+ 0xffffffff, 0x00007f97, 0x01003c04, 0x00001281, 0x01001404, 0x00001181,
+ 0x00000c04, 0x00009583, 0x000036ec, 0x0000701b, 0x36ec36b4, 0x0000f100,
+ 0x30003241, 0x0000f902, 0x01400000, 0x00000000, 0x30004041, 0x0000f902,
+ 0x01c00000, 0x00008000, 0x30404a41, 0x00007902, 0x01000000, 0x00008000,
+ 0x05000000, 0x000081d8, 0xc0000706, 0x00006583, 0xb2f83016, 0x0000a000,
+ 0x85000208, 0x00008194, 0x06402004, 0x00006100, 0x81003014, 0x00006000,
+ 0x810ffa05, 0x0000e290, 0x810ff800, 0x00008988, 0xc0000706, 0x00006583,
+ 0x91803014, 0x0000a000, 0x00102016, 0x00006100, 0xa2a03814, 0x00003000,
+ 0x01001d06, 0x0000e291, 0x01383706, 0x00008909, 0x06800000, 0x000081ec,
+ 0xb2403014, 0x0000e000, 0x92602016, 0x00003002, 0x05c00000, 0x00006180,
+ 0x0f403406, 0x00006000, 0x8a000000, 0x00006181, 0x06004809, 0x0000c900,
+ 0x85784708, 0x0000e100, 0x01400800, 0x00004981, 0x00003729, 0x00007400,
+ 0x01c00000, 0x00006181, 0x86b71ee3, 0x0000c900, 0x86ff17e2, 0x00001900,
+ 0x41001514, 0x0000e283, 0x8a000000, 0x00008981, 0x81400000, 0x000000da,
+ 0x05000000, 0x0000e188, 0x05400000, 0x00004988, 0x05800000, 0x00006188,
+ 0x05c00000, 0x0000c988, 0x06000000, 0x0000e188, 0x06400000, 0x00004988,
+ 0x00003729, 0x00007400, 0x06800000, 0x00006188, 0x06c00000, 0x0000c988,
+ 0x01c00800, 0x00006191, 0x01c00000, 0x0000c989, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x028d4800, 0x00007900, 0x00053cf4, 0x00000980,
+ 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x03400000, 0x0000e180,
+ 0x08001a08, 0x00006106, 0x82200500, 0x00008022, 0x0278e702, 0x00000018,
+ 0x37291ff4, 0x0000f500, 0x01492825, 0x00008014, 0x81c02800, 0x00006180,
+ 0xc1592b25, 0x0000c900, 0x00000406, 0x00006583, 0x02000000, 0x00000980,
+ 0x01003000, 0x0000e191, 0x01001800, 0x0000c989, 0x00000406, 0x00006583,
+ 0xc3202808, 0x00002002, 0xc0202404, 0x00006101, 0x01400c06, 0x00004881,
+ 0x01001800, 0x0000e191, 0x01000000, 0x0000c989, 0x00400000, 0x00007900,
+ 0x00048050, 0x00008980, 0x00000406, 0x00006583, 0x00202001, 0x00002006,
+ 0x01001000, 0x00006191, 0x01000000, 0x0000c989, 0x07838000, 0x00007900,
+ 0x00004000, 0x00000980, 0x00000407, 0x0000e583, 0x82202001, 0x0000a080,
+ 0x86203001, 0x00006001, 0x0000001e, 0x0000b592, 0x00000406, 0x00006583,
+ 0xc0c01000, 0x00000980, 0x00001204, 0x00006496, 0x00002a04, 0x0000b48e,
+ 0x08c00000, 0x0000e180, 0x01a03405, 0x00004001, 0x07400000, 0x0000f900,
+ 0x000200c0, 0x00000980, 0x07000080, 0x00006180, 0x00001823, 0x00006106,
+ 0x41001406, 0x00006081, 0x557f101d, 0x0000a003, 0x08400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x8a110220, 0x00006100, 0xc0001823, 0x0000e006,
+ 0x003020ec, 0x00005702, 0x00006000, 0x00008080, 0x08009000, 0x00007900,
+ 0x0000c600, 0x00008980, 0x02400000, 0x000000e8, 0x02c00000, 0x000001fc,
+ 0x87381002, 0x00008208, 0x008806ec, 0x00005f80, 0x00d061c0, 0x00008284,
+ 0x1c7a5f45, 0x0000871c, 0x1f428851, 0x0000e100, 0xc0000845, 0x0000e400,
+ 0xc0000871, 0x00006400, 0x00000845, 0x0000b403, 0x1c000000, 0x000087c8,
+ 0x1cc00000, 0x000087d0, 0x1d400749, 0x00008798, 0x1e00074c, 0x000007a4,
+ 0x1e82704e, 0x00006100, 0x08003b4c, 0x00006106, 0x1ec00000, 0x00006180,
+ 0x1f028050, 0x00004900, 0x1fba9f52, 0x0000073c, 0x203aaf54, 0x00000804,
+ 0x20babf56, 0x0000080c, 0x00000001, 0x00007480, 0x52c00f51, 0x00006081,
+ 0x5df04608, 0x00000901, 0xd4400f51, 0x00006081, 0xdf704608, 0x00008901,
+ 0xc1d722e4, 0x00001900, 0x08003a13, 0x00006906, 0x2dc02e13, 0x0000f902,
+ 0x02200000, 0x00000005, 0x2dc06e13, 0x00002004, 0xffffffff, 0x00007f97,
+ 0x00003005, 0x00001502, 0x003a8c08, 0x00009503, 0xffffffff, 0x00007f86,
+ 0x000037d9, 0x00007010, 0x000037a3, 0x0000f008, 0x41f82eec, 0x00002004,
+ 0x02402000, 0x00007900, 0x00180000, 0x00008980, 0x830ffa13, 0x00009280,
+ 0x04106009, 0x0000e901, 0x01400805, 0x00009080, 0x41f82eec, 0x0000a804,
+ 0x80384aec, 0x00005600, 0x00000000, 0x00000280, 0x800282ec, 0x0000f902,
+ 0x14400000, 0x00008600, 0x800292ec, 0x00007902, 0x14c00000, 0x00000600,
+ 0x8002a2ec, 0x00007902, 0x15400000, 0x00000600, 0x8002b2ec, 0x0000f902,
+ 0x15c00000, 0x00008600, 0xe8e06f51, 0x0000f80b, 0x01800001, 0x00000080,
+ 0x01400002, 0x00009980, 0xc1680500, 0x00009900, 0x770000ec, 0x00005680,
+ 0x00382800, 0x00008000, 0x00c002ec, 0x0000df80, 0x135c880b, 0x00009684,
+ 0x02402000, 0x00007900, 0x00180000, 0x00008980, 0x04106009, 0x0000e901,
+ 0x80384aec, 0x00005600, 0x00000000, 0x00000280, 0x800282ec, 0x0000f902,
+ 0x14400000, 0x00008600, 0x800292ec, 0x00007902, 0x14c00000, 0x00000600,
+ 0x8002a2ec, 0x00007902, 0x15400000, 0x00000600, 0x8002b2ec, 0x0000f902,
+ 0x15c00000, 0x00008600, 0x2dc02e13, 0x0000a004, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f97, 0xe2e02f51, 0x00007813, 0x01800001, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x2dc09613, 0x0000a004, 0x2dc08e13, 0x00002005,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00285c12, 0x00006503,
+ 0x01400c12, 0x00000081, 0x2dc02e13, 0x00002804, 0x00205c11, 0x00001503,
+ 0xffffffff, 0x00007f86, 0x000037af, 0x0000f010, 0x000037e6, 0x00007008,
+ 0x41f82eec, 0x0000a084, 0x02002000, 0x0000f900, 0x00140000, 0x00008980,
+ 0x84cffa13, 0x00001280, 0x04109808, 0x0000e901, 0x01400805, 0x00009080,
+ 0x41f82eec, 0x00002884, 0x803842ec, 0x0000d600, 0x00000001, 0x00000080,
+ 0x800042ec, 0x00007902, 0x02400000, 0x00000600, 0x800052ec, 0x0000f902,
+ 0x02c00000, 0x00008600, 0x800062ec, 0x0000f902, 0x03400000, 0x00008600,
+ 0x800072ec, 0x00007902, 0x03c00000, 0x00000600, 0xffffffff, 0x00007f86,
+ 0xf8705b12, 0x0000c910, 0xcc605811, 0x00000d0f, 0x01400002, 0x00009980,
+ 0xc1680500, 0x00009900, 0x770000ec, 0x00005680, 0x00382800, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x135e480b, 0x00001684, 0x02002000, 0x0000f900,
+ 0x00140000, 0x00008980, 0x04109808, 0x0000e901, 0x803842ec, 0x0000d600,
+ 0x00000001, 0x00000080, 0x800042ec, 0x00007902, 0x02400000, 0x00000600,
+ 0x800052ec, 0x0000f902, 0x02c00000, 0x00008600, 0x800062ec, 0x0000f902,
+ 0x03400000, 0x00008600, 0x800072ec, 0x00007902, 0x03c00000, 0x00000600,
+ 0xffffffff, 0x00007f86, 0xfd905b12, 0x00004510, 0xfec05811, 0x00000017,
+ 0x80186213, 0x00006502, 0x01000f51, 0x00000081, 0x2df83613, 0x0000d004,
+ 0x00002000, 0x00008000, 0x2dd85e13, 0x00002806, 0x000037e6, 0x00007008,
+ 0x8118630c, 0x00009900, 0x2df84e04, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x00004806, 0x00001502, 0x024728e5, 0x00001908, 0xffffffff, 0x00007f86,
+ 0x2df84e04, 0x00002884, 0x01070450, 0x00001283, 0xb9183b07, 0x0000e110,
+ 0x19000864, 0x00004390, 0x0ec12c13, 0x0000e80c, 0xffffffff, 0x00007f97,
+ 0x00000000, 0x0000f093, 0x00000c13, 0x00009583, 0x00000c13, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00003839, 0x0000f008, 0x000037f7, 0x00007038,
+ 0x00000413, 0x00001583, 0xb9183b07, 0x0000e110, 0x50002050, 0x0000640c,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093, 0x000037fc, 0x00007000,
+ 0x00001c13, 0x00001583, 0xb9183b07, 0x0000e138, 0x50001850, 0x00006454,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f0bb, 0x0b812413, 0x0000e080,
+ 0x82812050, 0x0000b000, 0x04c06413, 0x00006080, 0x93012050, 0x0000a000,
+ 0x04c09fe4, 0x0000e000, 0xa4012050, 0x0000e000, 0x04c00813, 0x0000e180,
+ 0xb4012050, 0x0000a000, 0x13815013, 0x0000e200, 0xc4012050, 0x00002000,
+ 0x0dc12c13, 0x00006000, 0xc0000051, 0x0000b404, 0xd2e09c13, 0x0000e100,
+ 0xd5812050, 0x00006000, 0x04c70425, 0x0000e281, 0x00000051, 0x00002483,
+ 0x00020413, 0x00006583, 0xe3c12050, 0x00002000, 0x04c00000, 0x00006181,
+ 0x07812051, 0x0000e081, 0x04c00800, 0x00006191, 0xc4c12051, 0x00006000,
+ 0xd5412051, 0x0000e000, 0x60002845, 0x00003406, 0xf3e09850, 0x00006000,
+ 0xe1812851, 0x0000b000, 0x0a012413, 0x00006000, 0xd0001845, 0x00003404,
+ 0x00000413, 0x0000e583, 0xd4193326, 0x00000900, 0x01000000, 0x00006190,
+ 0x0101502a, 0x0000c908, 0x00000413, 0x0000e583, 0x40002845, 0x00002405,
+ 0x15002004, 0x00006100, 0x04c1582b, 0x0000c908, 0x04c00000, 0x00006190,
+ 0x08028a04, 0x0000e106, 0x1482a027, 0x0000e002, 0x81000a04, 0x00000080,
+ 0x813ffa04, 0x00007900, 0x00000002, 0x00008280, 0x14c09f25, 0x0000e000,
+ 0x00012850, 0x0000a080, 0x14c00053, 0x00006084, 0x00102051, 0x0000a106,
+ 0x80000a04, 0x00006582, 0x12800000, 0x00000980, 0x53000000, 0x000084fc,
+ 0x92796525, 0x00008518, 0x0000383f, 0x00007210, 0x15796f13, 0x0000051c,
+ 0x0c428c13, 0x0000e800, 0x04c00c13, 0x00001481, 0x04c09413, 0x00006080,
+ 0xf3e09851, 0x0000e000, 0x01403013, 0x00001300, 0x383b24bc, 0x00007404,
+ 0x06fff800, 0x00007900, 0x003fff7e, 0x00008980, 0x07402805, 0x00009900,
+ 0x000037fc, 0x0000f200, 0x50001050, 0x00006c04, 0x42389aec, 0x00002004,
+ 0xffffffff, 0x00007fa7, 0x04c00813, 0x00009080, 0x42389aec, 0x0000a804,
+ 0x38403758, 0x00007100, 0xb9183b07, 0x00001900, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x00007083, 0x01501800, 0x00007900, 0x0000c000, 0x00008980,
+ 0x04204005, 0x0000e087, 0x00001007, 0x00003587, 0x01006000, 0x00007900,
+ 0x00018000, 0x00008980, 0x1b006000, 0x0000f900, 0x00018000, 0x00008980,
+ 0x00000001, 0x00007480, 0x1bb83f06, 0x0000063c, 0x1b402805, 0x00001900,
+ 0xc1d722e4, 0x00001900, 0x08003a12, 0x0000e906, 0x2df82612, 0x0000b004,
+ 0x2dc04612, 0x0000a004, 0xffffffff, 0x00007f97, 0x00003004, 0x00009502,
+ 0x003a8c05, 0x00001503, 0xffffffff, 0x00007f86, 0x000038bd, 0x0000f010,
+ 0x00003883, 0x00007008, 0x41f826ec, 0x0000a004, 0x01402000, 0x00007900,
+ 0x00180000, 0x00008980, 0x828ffa12, 0x00001280, 0x04105005, 0x0000e901,
+ 0x01000804, 0x00009080, 0x41f826ec, 0x00002804, 0x80382aec, 0x00005600,
+ 0x00000000, 0x00000280, 0x800282ec, 0x0000f902, 0x14400000, 0x00008600,
+ 0x800292ec, 0x00007902, 0x14c00000, 0x00000600, 0x8002a2ec, 0x00007902,
+ 0x15400000, 0x00000600, 0x8002b2ec, 0x0000f902, 0x15c00000, 0x00008600,
+ 0x20e04751, 0x0000f80a, 0x01c00001, 0x00008080, 0x01000002, 0x00001980,
+ 0xc1280500, 0x00001900, 0x770000ec, 0x00005680, 0x00382000, 0x00000000,
+ 0x00c002ec, 0x0000df80, 0x1383880b, 0x00001684, 0x01402000, 0x00007900,
+ 0x00180000, 0x00008980, 0x04105005, 0x0000e901, 0x80382aec, 0x00005600,
+ 0x00000000, 0x00000280, 0x800282ec, 0x0000f902, 0x14400000, 0x00008600,
+ 0x800292ec, 0x00007902, 0x14c00000, 0x00000600, 0x8002a2ec, 0x00007902,
+ 0x15400000, 0x00000600, 0x8002b2ec, 0x0000f902, 0x15c00000, 0x00008600,
+ 0x2dc02612, 0x0000a004, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
+ 0x1ae02751, 0x0000f812, 0x01c00001, 0x00008080, 0xffffffff, 0x00007f86,
+ 0x2dc0a612, 0x00002004, 0x2dc09e12, 0x00002005, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x00285c14, 0x00006503, 0x01000c14, 0x00008081,
+ 0x2dc02612, 0x00002804, 0x00205c13, 0x00009503, 0xffffffff, 0x00007f86,
+ 0x0000388f, 0x00007010, 0x000038ca, 0x0000f008, 0x41f826ec, 0x00002084,
+ 0x01402000, 0x00007900, 0x00140000, 0x00008980, 0x848ffa12, 0x00001280,
+ 0x04109005, 0x0000e901, 0x01000804, 0x00009080, 0x41f826ec, 0x0000a884,
+ 0x80382aec, 0x00005600, 0x00000001, 0x00000080, 0x800042ec, 0x00007902,
+ 0x02400000, 0x00000600, 0x800052ec, 0x0000f902, 0x02c00000, 0x00008600,
+ 0x800062ec, 0x0000f902, 0x03400000, 0x00008600, 0x800072ec, 0x00007902,
+ 0x03c00000, 0x00000600, 0xffffffff, 0x00007f86, 0x14b05b14, 0x00004411,
+ 0x4a605813, 0x00000e11, 0x34470450, 0x00007896, 0x61c00000, 0x00009c86,
+ 0x01000002, 0x00001980, 0xc1280500, 0x00001900, 0x770000ec, 0x00005680,
+ 0x00382000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1385580b, 0x00009684,
+ 0x01402000, 0x00007900, 0x00140000, 0x00008980, 0x04109005, 0x0000e901,
+ 0x80382aec, 0x00005600, 0x00000001, 0x00000080, 0x800042ec, 0x00007902,
+ 0x02400000, 0x00000600, 0x800052ec, 0x0000f902, 0x02c00000, 0x00008600,
+ 0x800062ec, 0x0000f902, 0x03400000, 0x00008600, 0x800072ec, 0x00007902,
+ 0x03c00000, 0x00000600, 0xffffffff, 0x00007f86, 0x14b05b14, 0x00004411,
+ 0x4a605813, 0x00000e11, 0x34470450, 0x00007896, 0x61c00000, 0x00009c86,
+ 0x80186212, 0x0000e502, 0x01000f51, 0x00000081, 0x2df83612, 0x00005004,
+ 0x00002000, 0x00008000, 0x2dd85e12, 0x0000a806, 0x000038ca, 0x0000f008,
+ 0x8118630c, 0x00009900, 0x2df84e04, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x00004806, 0x00001502, 0x024728e5, 0x00001908, 0xffffffff, 0x00007f86,
+ 0x2df84e04, 0x00002884, 0x01070450, 0x00001283, 0x000038d1, 0x0000f013,
+ 0x81010651, 0x00009283, 0x19000864, 0x0000e388, 0xb9183b07, 0x00000908,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0x8000020c, 0x00009582,
+ 0x50000851, 0x0000e411, 0x50000051, 0x00003409, 0x1438f850, 0x00007910,
+ 0x003ffffe, 0x00008280, 0x38da3758, 0x00007508, 0x19002064, 0x00001390,
+ 0x1438f850, 0x00007908, 0x003ffffe, 0x00008280, 0xb9183b07, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x82c02cec, 0x00007902,
+ 0x01000000, 0x00000604, 0x841722e4, 0x0000e100, 0x00230809, 0x0000e086,
+ 0x11000000, 0x00006180, 0x822b0809, 0x00006086, 0x11400000, 0x0000e180,
+ 0x041b0809, 0x0000e187, 0x02804809, 0x0000e100, 0x00002004, 0x0000e586,
+ 0x02402805, 0x0000e100, 0x042b0804, 0x0000e087, 0x11800000, 0x0000e180,
+ 0x86230804, 0x00006087, 0x1703e800, 0x0000f900, 0x000f6d7a, 0x00008980,
+ 0x11c00000, 0x000004e0, 0x12400000, 0x000004e8, 0x12c00000, 0x000084f0,
+ 0x13400000, 0x000004f8, 0x13c00000, 0x0000e180, 0x17c30060, 0x0000c900,
+ 0x38f620b3, 0x00007500, 0x17b84f0a, 0x00000534, 0x16c02004, 0x00001900,
+ 0x00401c19, 0x00004588, 0x00402419, 0x0000008b, 0x3909376d, 0x00007004,
+ 0x00003909, 0x0000f000, 0x3909384e, 0x0000f004, 0x00003909, 0x0000f000,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x029d9000, 0x0000f900,
+ 0x000f6d7a, 0x00008980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980,
+ 0x0180c018, 0x0000e100, 0x08001a08, 0x00006106, 0x01400719, 0x000000b4,
+ 0x39091ff4, 0x0000f500, 0x82200500, 0x00008022, 0x81c02800, 0x00006180,
+ 0x02401002, 0x0000c900, 0x01002c64, 0x00001283, 0x02001000, 0x00009988,
+ 0x00003910, 0x00007011, 0x390d3843, 0x0000f100, 0x00003917, 0x00007200,
+ 0x0008d8ec, 0x00005780, 0x00884f00, 0x000002c0, 0x39123843, 0x0000f300,
+ 0x02002000, 0x00001980, 0x08003b4c, 0x00006106, 0xc0000845, 0x0000b400,
+ 0x52c00f51, 0x00006081, 0x00000845, 0x00002403, 0xd4400f51, 0x00009081,
+ 0xb9108210, 0x00001900, 0x000808ec, 0x0000d780, 0x00c06440, 0x000082c0,
+ 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x0107fc3a, 0x00006280,
+ 0x0fc0500a, 0x00000900, 0x39222091, 0x0000f500, 0x10225000, 0x00007900,
+ 0x000342de, 0x00008980, 0x0ef85f04, 0x00000334, 0x01000100, 0x00006180,
+ 0xffc00000, 0x00004980, 0x03c00020, 0x0000e180, 0x453f1004, 0x0000e003,
+ 0xc3371804, 0x00006006, 0x0000180f, 0x0000b106, 0x03001000, 0x00007900,
+ 0x00004000, 0x00000980, 0x03400000, 0x00007900, 0x00040090, 0x00000980,
+ 0x200386ec, 0x00005680, 0x003820c0, 0x00003f00, 0x03801002, 0x00006100,
+ 0xc000180f, 0x00006006, 0x00881eec, 0x00005f80, 0x00006000, 0x00000084,
+ 0x17c04008, 0x0000e100, 0x00204805, 0x00006086, 0x82284805, 0x00006886,
+ 0x04184805, 0x0000e987, 0x01c02805, 0x00001900, 0x1731e800, 0x00007900,
+ 0x000dacb0, 0x00008980, 0x17803807, 0x00001900, 0xffffffff, 0x00007ff7,
+ 0x82c034ec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
+ 0x01003006, 0x00001900, 0x01802004, 0x0000e100, 0x00002004, 0x0000e586,
+ 0x17403006, 0x00006100, 0x04284804, 0x00006087, 0x394620b3, 0x00007500,
+ 0x86204804, 0x00006887, 0x16c02004, 0x00001900, 0x04000000, 0x000081c4,
+ 0x04c00000, 0x000081c8, 0x00401409, 0x00004588, 0x82e02409, 0x00000288,
+ 0x394f2490, 0x00007404, 0x84371ee3, 0x0000e100, 0x0fc0500a, 0x0000c900,
+ 0x10009b00, 0x00006180, 0x0f80580b, 0x00004900, 0x0000043a, 0x00009583,
+ 0x813f1fe3, 0x00001908, 0x6c002004, 0x0000a088, 0x00003958, 0x0000f010,
+ 0xffffffff, 0x00007f97, 0x01003c04, 0x00001281, 0x01001404, 0x00001181,
+ 0x00000c04, 0x00009583, 0x00003959, 0x0000f01b, 0x3959391c, 0x0000f100,
+ 0x30003a41, 0x00007902, 0x01800000, 0x00000000, 0x01400000, 0x00006180,
+ 0x01000002, 0x00004980, 0xc1280500, 0x00001900, 0x760010ec, 0x00005680,
+ 0x00382000, 0x00000000, 0x01100006, 0x00006180, 0x00183805, 0x00006100,
+ 0x760838ec, 0x0000d680, 0x00080008, 0x00008080, 0x00203004, 0x00006880,
+ 0x763828ec, 0x0000d600, 0x00382000, 0x00000000, 0x00c002ec, 0x0000df80,
+ 0x138bb00b, 0x00001684, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x02b3e800, 0x0000f900, 0x000dacb0, 0x00008980, 0x02fa9000, 0x00007900,
+ 0x0016f7fa, 0x00008980, 0x01b84f08, 0x00008014, 0x03400000, 0x0000e180,
+ 0x08001a08, 0x00006106, 0x39761ff4, 0x00007500, 0x81c02800, 0x00006180,
+ 0xc2300600, 0x0000c901, 0x02600702, 0x00008022, 0x03c00020, 0x0000e180,
+ 0x06c00000, 0x00004980, 0x05400000, 0x00007900, 0x00020080, 0x00008980,
+ 0x0000180f, 0x0000e106, 0x0000181b, 0x0000b106, 0x05000060, 0x00006180,
+ 0x557f1015, 0x0000e003, 0x03001000, 0x00007900, 0x00008000, 0x00000980,
+ 0x03400000, 0x00007900, 0x00048050, 0x00008980, 0x05838000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x06009000, 0x0000f900, 0x00008080, 0x00008980,
+ 0x06400000, 0x00007900, 0x00018008, 0x00000980, 0xc000180f, 0x00006006,
+ 0xc000181b, 0x00003006, 0x03800702, 0x0000019c, 0x06b84702, 0x00000130,
+ 0x07785709, 0x00000138, 0x85385802, 0x0000813c, 0x00901eec, 0x00005f80,
+ 0x00d06140, 0x000081c4, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x17c02004, 0x0000e100,
+ 0x0020280a, 0x00006086, 0x8228280a, 0x00006886, 0x0418280a, 0x0000e987,
+ 0x02c0500a, 0x00001900, 0x17153800, 0x0000f900, 0x0035c230, 0x00000980,
+ 0x1780580b, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c04cec, 0x00007902,
+ 0x02000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x02804809, 0x0000e100,
+ 0x00002008, 0x0000e586, 0x1740500a, 0x00006100, 0x04282808, 0x00006087,
+ 0x39a720b3, 0x00007500, 0x86202808, 0x00006887, 0x16c04008, 0x00001900,
+ 0x00000c05, 0x00001583, 0x00001c05, 0x00009583, 0xffffffff, 0x00007f86,
+ 0x000039b9, 0x0000f008, 0x000039b9, 0x0000f008, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x02966000, 0x00007900, 0x0035c230, 0x00000980,
+ 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x01802004, 0x0000e100,
+ 0x08001a08, 0x00006106, 0x03400000, 0x0000e180, 0xc2300600, 0x0000c901,
+ 0x39b91ff4, 0x00007500, 0x82381400, 0x00008024, 0x81c02800, 0x00001980,
+ 0x02400000, 0x0000f900, 0x00020080, 0x00008980, 0x02000060, 0x0000e180,
+ 0x03800000, 0x0000c980, 0x03c00000, 0x00006180, 0x557f1009, 0x00006003,
+ 0x02838000, 0x00007900, 0x00004000, 0x00000980, 0x03009000, 0x0000f900,
+ 0x000080c0, 0x00000980, 0x03400000, 0x00007900, 0x00010030, 0x00000980,
+ 0x02c00000, 0x0000e180, 0xc000180f, 0x00006006, 0x04382f04, 0x00000104,
+ 0x04b83f06, 0x0000010c, 0x03801502, 0x00008022, 0x009816ec, 0x00005f80,
+ 0x00007000, 0x00008084, 0x01c00708, 0x00008480, 0x10000407, 0x000003bc,
+ 0x23807840, 0x00006001, 0x0c007a05, 0x00003182, 0x33807840, 0x0000e001,
+ 0x0000183f, 0x0000b106, 0x53807840, 0x0000e001, 0xc000183f, 0x00003006,
+ 0x01804809, 0x0000e100, 0x43807840, 0x00006001, 0x0f801002, 0x00006100,
+ 0x62407840, 0x00006001, 0xd058730e, 0x0000e100, 0x75007840, 0x0000e001,
+ 0xc106070f, 0x00006283, 0x14007840, 0x0000a001, 0x0f009000, 0x0000f900,
+ 0x00008040, 0x00008980, 0x0f400000, 0x00007900, 0x00018030, 0x00008980,
+ 0x90400a05, 0x00006080, 0x04007840, 0x0000e001, 0x0146070f, 0x00009281,
+ 0x00020405, 0x00001583, 0xffffffff, 0x00007f86, 0x00003a03, 0x00007008,
+ 0x00003a05, 0x00007008, 0x00060405, 0x00009583, 0x01400000, 0x00001989,
+ 0x00003a17, 0x0000f011, 0xc0006b07, 0x00006582, 0x96602840, 0x00002003,
+ 0xe4fa1604, 0x0000b038, 0x0e007c05, 0x00006006, 0x83007840, 0x0000b001,
+ 0x00003a26, 0x00007030, 0x02400040, 0x0000e180, 0x02000000, 0x0000c980,
+ 0x00000c05, 0x0000e583, 0x82583b07, 0x00008900, 0x02800080, 0x0000e180,
+ 0x86003009, 0x00006007, 0x82181302, 0x0000e100, 0x82001c05, 0x00004081,
+ 0x54403009, 0x00006003, 0x0018380a, 0x00003182, 0x00003a07, 0x0000f418,
+ 0x02c00480, 0x0000e180, 0x86202808, 0x00006085, 0x03eff800, 0x000000f9,
+ 0x01001000, 0x0000f900, 0x000083c0, 0x00000980, 0x41000c05, 0x00009081,
+ 0x00b826ec, 0x00005f00, 0x00107003, 0x00000084, 0x000039ea, 0x0000f200,
+ 0x01400800, 0x00001981, 0x000039ea, 0x0000f200, 0x01401000, 0x00001981,
+ 0x01001000, 0x0000f900, 0x000083c0, 0x00000980, 0x448005ff, 0x000001cc,
+ 0x458005ff, 0x000001dc, 0x468005ff, 0x000001ec, 0x478005ff, 0x000001fc,
+ 0x488005ff, 0x000002cc, 0x498005ff, 0x000002dc, 0x4a8005ff, 0x000002ec,
+ 0x4b8005ff, 0x000002fc, 0x4c8005ff, 0x000003cc, 0x4d8005ff, 0x000003dc,
+ 0x4e8005ff, 0x000003ec, 0x41000c05, 0x00009081, 0x00b826ec, 0x00005f00,
+ 0x00107003, 0x00000084, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x01800000, 0x00006180, 0x08001a08, 0x00006106, 0x029d6800, 0x00007900,
+ 0x000629a8, 0x00008980, 0x02fff800, 0x0000f900, 0x002a54a6, 0x00008980,
+ 0x01400000, 0x00006180, 0x08807d06, 0x0000e002, 0x03400000, 0x0000e180,
+ 0xc2300600, 0x0000c901, 0x3a261ff4, 0x00007500, 0x82381400, 0x00008024,
+ 0x818072e3, 0x0000809d, 0xc1983b07, 0x0000e100, 0x0e007d06, 0x0000e006,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02bb9800, 0x0000f900,
+ 0x000629a6, 0x00000980, 0x02d67000, 0x00007900, 0x001d2408, 0x00000980,
+ 0x01bf1fe3, 0x00006101, 0x08001a08, 0x00006106, 0x01400000, 0x000080f4,
+ 0x3a351ff4, 0x0000f500, 0x82200500, 0x00008022, 0x81c05000, 0x00006180,
+ 0x02401002, 0x0000c900, 0x1cc01404, 0x00006081, 0x18c00000, 0x00004980,
+ 0x3843e473, 0x00006181, 0x00003863, 0x0000a106, 0x816001e4, 0x00008093,
+ 0x41000000, 0x0000e181, 0x9c983b07, 0x00004900, 0x18000000, 0x0000e181,
+ 0x18803006, 0x00004900, 0xffffffff, 0x00007f97, 0x21020300, 0x0000f904,
+ 0x21820300, 0x00007904, 0x832080e1, 0x0000ed86, 0x00000460, 0x00009583,
+ 0x00000087, 0x00009582, 0xffffffff, 0x00007f86, 0x00003ae1, 0x00007010,
+ 0x00003a5c, 0x00007008, 0x01270ce1, 0x0000e101, 0x08031a73, 0x00006106,
+ 0x2dc3a673, 0x0000f902, 0x18600000, 0x00000005, 0x2dc3ae73, 0x00002004,
+ 0x416708e1, 0x00008705, 0x41400000, 0x00001981, 0x0003a062, 0x00009502,
+ 0x003bec61, 0x00001503, 0xffffffff, 0x00007f86, 0x00003b3e, 0x00007010,
+ 0x00003b5e, 0x00007010, 0x2dc3a673, 0x00002005, 0x002bbc61, 0x00009503,
+ 0x00003b91, 0x0000f413, 0x1d000c74, 0x00009081, 0x2ddba673, 0x0000a806,
+ 0x40000505, 0x00009583, 0x38602404, 0x0000e111, 0x78602c05, 0x00004911,
+ 0xb8638c71, 0x00001911, 0x1cf02604, 0x00006100, 0x1d800c60, 0x0000c080,
+ 0x0003b073, 0x00001502, 0x00003af7, 0x0000f03b, 0x1cd39272, 0x00006100,
+ 0x08036404, 0x0000e000, 0x00042073, 0x00006502, 0x1c443086, 0x00000900,
+ 0x3c000000, 0x00008fc4, 0x3b800000, 0x00008efc, 0x39800000, 0x00008edc,
+ 0x9cd42284, 0x00006120, 0x9cd39272, 0x0000c928, 0x00000087, 0x00009582,
+ 0x00000404, 0x00001583, 0xffffffff, 0x00007f86, 0x00003a8a, 0x0000f010,
+ 0x00003b19, 0x00007008, 0x1c042885, 0x00006100, 0x000ff8f0, 0x00006501,
+ 0x001398f0, 0x00006186, 0xb00008e6, 0x0000b401, 0x10438500, 0x0000f904,
+ 0x10478500, 0x00007904, 0x10477500, 0x00007904, 0x10473500, 0x0000f904,
+ 0x41000d04, 0x00009081, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x00000460, 0x00009583, 0x0000380b, 0x0000610e, 0x08003a0e, 0x0000310e,
+ 0x02803006, 0x00001908, 0x00003b0a, 0x0000f010, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780,
+ 0x00006000, 0x00008080, 0x18000c60, 0x00009081, 0x00302460, 0x00009503,
+ 0x00003b03, 0x0000702b, 0x01000000, 0x00006181, 0xb9182b05, 0x00004900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x18442884, 0x0000e002,
+ 0x0ec3e405, 0x0000a004, 0x1c000086, 0x00006084, 0x0c03bc04, 0x0000a000,
+ 0x69a00404, 0x0000c491, 0xe2601c05, 0x00000eb7, 0x00003405, 0x0000f890,
+ 0x00000000, 0x00000000, 0xd504057c, 0x0000f88e, 0x01c00001, 0x00000060,
+ 0xf51be36c, 0x0000f812, 0x01c00001, 0x00000000, 0x7debab87, 0x0000c313,
+ 0x0062057d, 0x00008090, 0x00043081, 0x0000781a, 0x00000000, 0x00000000,
+ 0x00043081, 0x00007810, 0x00000000, 0x00000000, 0x00042880, 0x00007830,
+ 0x00000000, 0x00008020, 0xf6c1057d, 0x0000f896, 0x01c00001, 0x00000060,
+ 0xcdc3807f, 0x0000782a, 0x01c00001, 0x00000000, 0x0003807f, 0x0000f810,
+ 0x00000000, 0x00000000, 0xcdc3087e, 0x00007822, 0x01c00001, 0x00000060,
+ 0x28e00d7c, 0x0000458e, 0x7c82057d, 0x00008093, 0xff01057d, 0x00004797,
+ 0x93200d7c, 0x0000148a, 0x9b82057d, 0x0000f896, 0x01c00001, 0x00008080,
+ 0x0c03ec61, 0x0000e080, 0x0003e8e6, 0x00003106, 0x4141057d, 0x00006283,
+ 0x18406461, 0x00000080, 0x1c440080, 0x00006108, 0x1c040881, 0x0000c908,
+ 0x1c400000, 0x0000e190, 0x1c000000, 0x00004990, 0x3b43d085, 0x0000e002,
+ 0x1e430fe4, 0x00000800, 0x1843d886, 0x0000e004, 0x81402302, 0x00008780,
+ 0x3b4388ed, 0x00006102, 0x0003e8e6, 0x00002081, 0x1d038061, 0x00006104,
+ 0x000ff8f0, 0x0000a501, 0x18400879, 0x0000e180, 0x0403e0ef, 0x00002081,
+ 0x1d876861, 0x0000e200, 0x82c3e0e6, 0x00002001, 0x18404087, 0x00006780,
+ 0x01000800, 0x00000981, 0x18400061, 0x0000f900, 0x00000200, 0x00000380,
+ 0x1c441883, 0x0000e100, 0x45102861, 0x0000e107, 0x39c00061, 0x00007900,
+ 0x00000080, 0x00000380, 0x1c041082, 0x00006100, 0x0c43ec61, 0x0000e000,
+ 0x18409461, 0x00001880, 0x1843b273, 0x00006000, 0x39c308e7, 0x00008300,
+ 0x0003c861, 0x0000e502, 0x98539a73, 0x00000900, 0x00003bdd, 0x0000701b,
+ 0x001308f0, 0x00006186, 0x0023a0ef, 0x0000b086, 0x10438500, 0x0000f904,
+ 0x10478500, 0x00007904, 0x41202504, 0x00006001, 0x3b8768ed, 0x00000900,
+ 0x10477500, 0x00007904, 0x10473500, 0x0000f904, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x00000460, 0x00009583, 0x0000380b, 0x0000610e,
+ 0x08003a0e, 0x0000310e, 0x02803006, 0x00001908, 0x00003a7e, 0x00007008,
+ 0x23e01460, 0x0000c588, 0x91401c60, 0x0000028e, 0x21020300, 0x0000f904,
+ 0x21820300, 0x00007904, 0x00000087, 0x00009582, 0x8003a2ec, 0x00007912,
+ 0x1d400000, 0x00008600, 0x8003b2ec, 0x0000f912, 0x1dc00000, 0x00000600,
+ 0x00003a5c, 0x00007008, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600,
+ 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0x8003e2ec, 0x00007902,
+ 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600,
+ 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902,
+ 0x20c00000, 0x00008600, 0x97000087, 0x0000788a, 0x39c00000, 0x00001d82,
+ 0x18821300, 0x0000f904, 0x18400100, 0x00001980, 0x40031061, 0x00006907,
+ 0x00030862, 0x00001502, 0x08031a73, 0x00006916, 0x1c004000, 0x00007910,
+ 0x001c0000, 0x00000980, 0x00003a60, 0x00007008, 0x00003a60, 0x00007400,
+ 0x04139870, 0x0000e901, 0x803b82ec, 0x0000d600, 0x00000001, 0x00008280,
+ 0x9c939a72, 0x00001100, 0x80000272, 0x00009582, 0xb9182b05, 0x0000e108,
+ 0x01000000, 0x0000c989, 0x00003a42, 0x0000f011, 0xffffffff, 0x00007f86,
+ 0x00000000, 0x00007083, 0x7fc01460, 0x0000c989, 0xe6601c60, 0x00000e8f,
+ 0xffffffff, 0x00007f86, 0x00000c60, 0x00001583, 0x0003280b, 0x0000e10e,
+ 0x08032a0e, 0x0000b10e, 0x02832064, 0x00001908, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780,
+ 0x00006000, 0x00008080, 0x18000c60, 0x00009081, 0xa1b02460, 0x00007822,
+ 0x19c00000, 0x00009d88, 0x1cc00800, 0x00009981, 0x011b0073, 0x00000011,
+ 0x1cf02604, 0x00001900, 0x0003b073, 0x00001502, 0xb9182b05, 0x00001950,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x000070d3, 0x21020300, 0x0000f904,
+ 0x21820300, 0x00007904, 0x00000087, 0x00009582, 0xb9182b05, 0x00009908,
+ 0x8003a2ec, 0x00007912, 0x1d400000, 0x00008600, 0x8003b2ec, 0x0000f912,
+ 0x1dc00000, 0x00000600, 0x8003c2ec, 0x00007912, 0x1e400000, 0x00008600,
+ 0x8003d2ec, 0x0000f912, 0x1ec00000, 0x00000600, 0x8003e2ec, 0x0000f912,
+ 0x1f400000, 0x00000600, 0x00000000, 0x0000f088, 0xb9182b05, 0x00001900,
+ 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902,
+ 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600,
+ 0x00000000, 0x00007083, 0xdcc05a04, 0x00008092, 0x0003b073, 0x0000e502,
+ 0xc1230460, 0x00000901, 0xb9182b05, 0x00001950, 0xffffffff, 0x00007fa7,
+ 0x00000000, 0x000070d3, 0x00003b20, 0x0000f000, 0x801bc273, 0x00006502,
+ 0x18400c77, 0x00008081, 0x2dfb1673, 0x00005004, 0x0013e800, 0x00000002,
+ 0x2ddb0e73, 0x00002806, 0x00003a58, 0x0000f008, 0x9cdbc378, 0x00009900,
+ 0x2dfb8673, 0x00002084, 0xffffffff, 0x00007fa7, 0x00038062, 0x00001502,
+ 0x40000505, 0x00006583, 0x1c0728e5, 0x00000908, 0x00003a5c, 0x00007400,
+ 0xffffffff, 0x00007f86, 0x2dfb8673, 0x0000a884, 0xdcc02a04, 0x00000092,
+ 0x0003b073, 0x0000e502, 0xc1230460, 0x00000901, 0xb9182b05, 0x00001950,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x000070d3, 0x00003b20, 0x0000f000,
+ 0xa59be202, 0x0000780a, 0x01c00001, 0x00008080, 0xdcc03a04, 0x00008092,
+ 0x0003b073, 0x0000e502, 0xc1230460, 0x00000901, 0xffffffff, 0x00007f86,
+ 0xb9182b05, 0x00001950, 0xffffffff, 0x00007fa7, 0x00000000, 0x000070d3,
+ 0x00003b20, 0x0000f000, 0x423ba0ec, 0x00002004, 0x1e402000, 0x0000f900,
+ 0x00180000, 0x00008980, 0xffffffff, 0x00007f97, 0x1d000874, 0x00009080,
+ 0x423ba0ec, 0x0000a804, 0x9d0ffa73, 0x00009280, 0x0413a079, 0x00006901,
+ 0x803bcaec, 0x0000d600, 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902,
+ 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600,
+ 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902,
+ 0x20c00000, 0x00008600, 0xc023af7d, 0x00001503, 0x00003a53, 0x0000700b,
+ 0x41400800, 0x0000e181, 0x1d800002, 0x00004980, 0xdda80500, 0x00001900,
+ 0x770000ec, 0x00005680, 0x003bb000, 0x00000000, 0x00c002ec, 0x0000df80,
+ 0x139bc80b, 0x00009684, 0x1e402000, 0x0000f900, 0x00180000, 0x00008980,
+ 0x0413a079, 0x00006901, 0x803bcaec, 0x0000d600, 0x00000000, 0x00000280,
+ 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902,
+ 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600,
+ 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600, 0x2dc3b673, 0x00002004,
+ 0xffffffff, 0x00007fa7, 0x003bec76, 0x00001503, 0x2dc30e73, 0x0000a00c,
+ 0x2dc3a673, 0x0000a00d, 0x00003b72, 0x0000f010, 0xffffffff, 0x00007f86,
+ 0x002bbc61, 0x00009503, 0x1d000c74, 0x00009081, 0x2ddba673, 0x0000a806,
+ 0x00003a58, 0x0000f008, 0x423ba0ec, 0x0000a084, 0x9ccffa73, 0x00001280,
+ 0xffffffff, 0x00007f97, 0x1d000874, 0x00009080, 0x423ba0ec, 0x00002884,
+ 0x1d002000, 0x00007900, 0x00140000, 0x00008980, 0x04139874, 0x00006901,
+ 0x803ba2ec, 0x00005600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902,
+ 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600,
+ 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902,
+ 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86, 0x002bbc61, 0x00009503,
+ 0x00003a58, 0x0000f00b, 0x41400800, 0x0000e181, 0x1d000002, 0x0000c980,
+ 0xdd280500, 0x00009900, 0x770000ec, 0x00005680, 0x003ba000, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x139d680b, 0x00009684, 0x1d002000, 0x00007900,
+ 0x00140000, 0x00008980, 0x04139874, 0x00006901, 0x803ba2ec, 0x00005600,
+ 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600,
+ 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902,
+ 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600,
+ 0xffffffff, 0x00007f86, 0x002bbc61, 0x00009503, 0x1d000002, 0x00006190,
+ 0x41400800, 0x00004991, 0xdd280500, 0x00001910, 0x00003a58, 0x0000f008,
+ 0x770000ec, 0x00005680, 0x003ba000, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x139e200b, 0x00009684, 0x1d002000, 0x00007900, 0x00140000, 0x00008980,
+ 0x04139874, 0x00006901, 0x803ba2ec, 0x00005600, 0x00000001, 0x00000080,
+ 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902,
+ 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600,
+ 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86,
+ 0xe9abbc61, 0x00007812, 0xc1c00000, 0x00009d82, 0xdcc04204, 0x00008092,
+ 0x0003b073, 0x0000e502, 0xc1230460, 0x00000901, 0xb9182b05, 0x00001950,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x000070d3, 0x00003b20, 0x0000f000,
+ 0x00003b1a, 0x00007200, 0x1cc05000, 0x00001981, 0x8153b279, 0x00006100,
+ 0x3b8768ed, 0x00000900, 0x10438500, 0x0000f904, 0xbc13b279, 0x00006100,
+ 0x98502a61, 0x00000100, 0x3b5028ed, 0x00006002, 0x0023a0ef, 0x00002086,
+ 0x10478500, 0x00007904, 0x1d000074, 0x00006084, 0x01000c04, 0x00000081,
+ 0x00130879, 0x00009502, 0x10477500, 0x00007904, 0x10473500, 0x0000f904,
+ 0x00003ad0, 0x0000f020, 0x00003bdd, 0x0000f200, 0x1d800000, 0x00009980,
+ 0x00003b1a, 0x00007200, 0x1cc02000, 0x00009981, 0x00003b1a, 0x00007200,
+ 0x1cc04800, 0x00001981, 0x00003b1a, 0x00007200, 0x1cc03000, 0x00001981,
+ 0x0003480b, 0x00006106, 0x08034a0e, 0x00003106, 0x02834068, 0x00009900,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x009010ec, 0x00005780, 0x00006000, 0x00008080, 0x18000c60, 0x00009081,
+ 0xa1b02460, 0x00007822, 0x19c00000, 0x00009d88, 0x0003380b, 0x0000e106,
+ 0x08033a0e, 0x0000b106, 0x02833066, 0x00009900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780,
+ 0x00006000, 0x00008080, 0x18000c60, 0x00009081, 0xa1b02460, 0x00007822,
+ 0x19c00000, 0x00009d88, 0x423842ec, 0x0000a084, 0xffffffff, 0x00007fa7,
+ 0x02000808, 0x00009080, 0x423842ec, 0x00002884, 0x08001a08, 0x0000e906,
+ 0x2dc02608, 0x00007902, 0x02a00000, 0x00008005, 0x2dc03e08, 0x00002004,
+ 0xffffffff, 0x00007f97, 0x00002002, 0x00001502, 0x0038ac0a, 0x00001503,
+ 0xffffffff, 0x00007f86, 0x00003d0b, 0x00007010, 0x00003ce0, 0x0000f010,
+ 0xffffffff, 0x00007f86, 0x2dc03608, 0x00002005, 0x00287c0a, 0x0000e503,
+ 0x01000c0a, 0x00008081, 0x2dc02608, 0x0000a804, 0xffffffff, 0x00007f86,
+ 0x00207c06, 0x00009503, 0xffffffff, 0x00007f86, 0x00003cb3, 0x0000f010,
+ 0x00003cb3, 0x0000f010, 0x08001a04, 0x00006106, 0x08001a08, 0x00003106,
+ 0x81000a04, 0x00006282, 0x01880004, 0x00008980, 0x01078000, 0x0000e191,
+ 0x01007800, 0x0000c989, 0x41000d1d, 0x0000e283, 0x0fd04008, 0x00002104,
+ 0x00001006, 0x0000e416, 0x00000806, 0x0000b40e, 0xc1b45208, 0x0000f910,
+ 0x00000008, 0x00000080, 0xc1bac208, 0x00007908, 0x00000008, 0x00000080,
+ 0x80000210, 0x0000e582, 0x01400000, 0x00008980, 0x760010ec, 0x00005680,
+ 0x00000000, 0x00008080, 0x00202005, 0x0000e086, 0x0ec0a407, 0x00003004,
+ 0x00003c49, 0x00007410, 0x763830ec, 0x0000d600, 0x00382800, 0x00008000,
+ 0x02070414, 0x0000e289, 0xc7d0e21c, 0x00008900, 0xffffffff, 0x00007f86,
+ 0x00040408, 0x00004088, 0x00050408, 0x00000088, 0x00060408, 0x0000c088,
+ 0x00030408, 0x00000088, 0x21420408, 0x00004890, 0x14a0a51c, 0x00001c14,
+ 0x01000514, 0x000045c0, 0x00901014, 0x00008512, 0x00c0a51c, 0x0000c510,
+ 0x8060000e, 0x00000497, 0x89208515, 0x0000448d, 0x9260a51c, 0x00008f10,
+ 0x23c0000e, 0x0000788b, 0x01c00001, 0x00008080, 0x87c00800, 0x00009980,
+ 0x01400000, 0x00006180, 0x08001a08, 0x00006106, 0x81800a08, 0x0000e282,
+ 0x01000000, 0x00000980, 0x0200f51d, 0x00006281, 0x0100f81f, 0x00000910,
+ 0x00002408, 0x00006583, 0x0140f81f, 0x00008908, 0x0e001000, 0x00007908,
+ 0x00008000, 0x00000980, 0x763828ec, 0x0000d600, 0x00382000, 0x00000000,
+ 0x00003d19, 0x00007010, 0x8000021f, 0x0000e582, 0x0b001208, 0x00002106,
+ 0x0ec00004, 0x00006180, 0x8e98eb1d, 0x00004900, 0x0e580800, 0x00007900,
+ 0x00004080, 0x00008980, 0x0f000000, 0x00006180, 0x0010f03b, 0x0000e106,
+ 0x00003c66, 0x0000f410, 0x0f400000, 0x000003f8, 0xce802208, 0x00006080,
+ 0x0fc00000, 0x00004980, 0x00003407, 0x00001583, 0x0fc00800, 0x00006188,
+ 0xe000103c, 0x0000640b, 0x01c00040, 0x00006180, 0x0ac0780f, 0x0000c900,
+ 0x0c40a815, 0x00006100, 0x00001807, 0x00006106, 0x001070ec, 0x0000d780,
+ 0x00004000, 0x00000080, 0x01801002, 0x0000e100, 0xc0001807, 0x0000e006,
+ 0x01006000, 0x00007900, 0x00018000, 0x00008980, 0x01501800, 0x00007900,
+ 0x0000c080, 0x00000980, 0x08006000, 0x00007900, 0x00018000, 0x00008980,
+ 0x08501800, 0x00007900, 0x0000c080, 0x00000980, 0x001040ec, 0x0000d780,
+ 0x00004801, 0x00000080, 0x02002000, 0x00006180, 0x02400022, 0x00004980,
+ 0x02800000, 0x000080ec, 0x08800702, 0x00008290, 0x09400002, 0x00006180,
+ 0x09800000, 0x0000c980, 0x09c00000, 0x00006180, 0x0a00600c, 0x0000c900,
+ 0x0a78770d, 0x00000228, 0x0b388f10, 0x00000234, 0x0b809012, 0x0000e100,
+ 0x08001b10, 0x0000e106, 0x0bf8a713, 0x00000300, 0x0cb8bf16, 0x0000030c,
+ 0x0d38cf18, 0x00000314, 0x0db8df1a, 0x0000031c, 0x43c00d0f, 0x00006081,
+ 0x4ae0ec1d, 0x00000901, 0xc5400f15, 0x00006081, 0xcc60ec1d, 0x00000901,
+ 0xc3383e1d, 0x0000820c, 0x00900eec, 0x0000df80, 0x00006001, 0x00008084,
+ 0x50000814, 0x00006c04, 0x00003c4a, 0x0000f200, 0x87c00000, 0x00001980,
+ 0x00003c4a, 0x0000f200, 0x87c00000, 0x00006180, 0x50001014, 0x0000e404,
+ 0x02008311, 0x0000e080, 0x50001814, 0x00006404, 0x02004211, 0x0000e300,
+ 0x87c00000, 0x00008980, 0xc518e31c, 0x0000e100, 0x02004008, 0x0000c784,
+ 0x01800000, 0x0000f900, 0x0001040c, 0x00008980, 0x02400008, 0x00007900,
+ 0x00000200, 0x00000380, 0x82002302, 0x00009780, 0x740000ec, 0x00005680,
+ 0x00383000, 0x00000100, 0x45104009, 0x00006907, 0x02d80800, 0x0000f900,
+ 0x00004080, 0x00008980, 0x743848ec, 0x00005600, 0x0017f880, 0x00008080,
+ 0x740060ec, 0x00005680, 0x00385800, 0x00008100, 0x01004809, 0x00001900,
+ 0x743820ec, 0x0000d600, 0x00000008, 0x00000080, 0x00003c4a, 0x0000f400,
+ 0x740000ec, 0x00005680, 0x00180000, 0x00008080, 0x740000ec, 0x00005680,
+ 0x00000800, 0x00000080, 0x00003c4a, 0x0000f200, 0x87c00000, 0x00001980,
+ 0x41f826ec, 0x00002084, 0x01402000, 0x00007900, 0x00140000, 0x00008980,
+ 0x820ffa08, 0x00001280, 0x04104005, 0x00006901, 0x01000804, 0x00009080,
+ 0x41f826ec, 0x0000a884, 0x80382aec, 0x00005600, 0x00000001, 0x00000080,
+ 0x800062ec, 0x0000f902, 0x03400000, 0x00008600, 0x800072ec, 0x00007902,
+ 0x03c00000, 0x00000600, 0x800082ec, 0x00007902, 0x04400000, 0x00000600,
+ 0x800092ec, 0x0000f902, 0x04c00000, 0x00008600, 0xffffffff, 0x00007f86,
+ 0x00287c0a, 0x00001503, 0x00207c06, 0x00009503, 0xffffffff, 0x00007f86,
+ 0x00003cca, 0x00007010, 0x00003c21, 0x00007008, 0x01400002, 0x00009980,
+ 0xc1680500, 0x00009900, 0x770000ec, 0x00005680, 0x00382800, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x13c6800b, 0x00001684, 0x01c02000, 0x0000f900,
+ 0x00140000, 0x00008980, 0x04104007, 0x0000e901, 0x80383aec, 0x0000d600,
+ 0x00000001, 0x00000080, 0x800062ec, 0x0000f902, 0x03400000, 0x00008600,
+ 0x800072ec, 0x00007902, 0x03c00000, 0x00000600, 0x800082ec, 0x00007902,
+ 0x04400000, 0x00000600, 0x800092ec, 0x0000f902, 0x04c00000, 0x00008600,
+ 0xffffffff, 0x00007f86, 0xfd907b0a, 0x00004511, 0x74207806, 0x00007e0e,
+ 0x41f826ec, 0x0000a004, 0x01402000, 0x00007900, 0x00180000, 0x00008980,
+ 0x818ffa08, 0x00009280, 0x04103005, 0x0000e901, 0x01000804, 0x00009080,
+ 0x41f826ec, 0x00002804, 0x80382aec, 0x00005600, 0x00000000, 0x00000280,
+ 0x8000a2ec, 0x0000f902, 0x05400000, 0x00008600, 0x8000b2ec, 0x00007902,
+ 0x05c00000, 0x00000600, 0x8000c2ec, 0x0000f902, 0x06400000, 0x00008600,
+ 0x8000d2ec, 0x00007902, 0x06c00000, 0x00000600, 0xc0203f15, 0x00009503,
+ 0x00003d40, 0x0000700b, 0x01400002, 0x00009980, 0xc1680500, 0x00009900,
+ 0x770000ec, 0x00005680, 0x00382800, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x13c7c80b, 0x00009684, 0x01c02000, 0x0000f900, 0x00180000, 0x00008980,
+ 0x04103007, 0x00006901, 0x80383aec, 0x0000d600, 0x00000000, 0x00000280,
+ 0x8000a2ec, 0x0000f902, 0x05400000, 0x00008600, 0x8000b2ec, 0x00007902,
+ 0x05c00000, 0x00000600, 0x8000c2ec, 0x0000f902, 0x06400000, 0x00008600,
+ 0x8000d2ec, 0x00007902, 0x06c00000, 0x00000600, 0x2dc02e08, 0x0000a004,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x50202f15, 0x0000780b,
+ 0x99c00000, 0x00001e87, 0x80188208, 0x0000e502, 0x01000f15, 0x00000081,
+ 0x2df81608, 0x00005004, 0x00002000, 0x00008000, 0x2dd87e08, 0x0000a806,
+ 0x00003c21, 0x00007008, 0x81988310, 0x00001900, 0x2df82e06, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00002802, 0x00009502, 0x014728e5, 0x00001908,
+ 0x00003c21, 0x00007400, 0xffffffff, 0x00007f86, 0x2df82e06, 0x0000a884,
+ 0x01c00040, 0x00006180, 0x0ac0780f, 0x0000c900, 0x0c40a815, 0x00006100,
+ 0x00001807, 0x00006106, 0x01801002, 0x0000e100, 0xc0001807, 0x0000e006,
+ 0x01006000, 0x00007900, 0x00018000, 0x00008980, 0x01501800, 0x00007900,
+ 0x0000c080, 0x00000980, 0x08006000, 0x00007900, 0x00018000, 0x00008980,
+ 0x08501800, 0x00007900, 0x0000c080, 0x00000980, 0x001040ec, 0x0000d780,
+ 0x00004801, 0x00000080, 0x02002000, 0x00006180, 0x02400022, 0x00004980,
+ 0x02800000, 0x000080ec, 0x08800702, 0x00008290, 0x09400002, 0x00006180,
+ 0x09800000, 0x0000c980, 0x09c00000, 0x00006180, 0x0a00600c, 0x0000c900,
+ 0x0a78770d, 0x00000228, 0x0b388f10, 0x00000234, 0x0b809012, 0x0000e100,
+ 0x08001b10, 0x0000e106, 0x0bf8a713, 0x00000300, 0x0cb8bf16, 0x0000030c,
+ 0x0d38cf18, 0x00000314, 0x0db8df1a, 0x0000031c, 0x43c00d0f, 0x00006081,
+ 0x4ae0ec1d, 0x00000901, 0xc5400f15, 0x00006081, 0xcc60ec1d, 0x00000901,
+ 0xc3383e1d, 0x0000820c, 0x00900eec, 0x0000df80, 0x00006001, 0x00008084,
+ 0x00003c17, 0x00007200, 0x2dc05608, 0x0000a004, 0xc0000707, 0x00001583,
+ 0x01400000, 0x0000e190, 0x0e804005, 0x00006008, 0xc0000707, 0x00001583,
+ 0x82c08000, 0x00006190, 0x82c04000, 0x00004988, 0x80000607, 0x00001583,
+ 0x00000405, 0x00006583, 0x82c0420b, 0x00000188, 0x83400000, 0x00009990,
+ 0x00003d6f, 0x00007011, 0x40006508, 0x00001583, 0x83446000, 0x00001988,
+ 0x00003d59, 0x00007009, 0x40006d08, 0x00009583, 0x83442000, 0x00009988,
+ 0x00003d59, 0x00007009, 0x40005d08, 0x00009583, 0x83400000, 0x00009990,
+ 0x83584308, 0x00001908, 0x00003d59, 0x0000f010, 0x03000504, 0x00004588,
+ 0x01800607, 0x00000092, 0xade00504, 0x0000c989, 0xde600607, 0x00000f92,
+ 0x8344220d, 0x00009180, 0x81420609, 0x00009283, 0x81401709, 0x00009890,
+ 0x84c05205, 0x00007912, 0x03000000, 0x00000000, 0x00003d6f, 0x0000f008,
+ 0x85004005, 0x0000a000, 0xffffffff, 0x00007f86, 0x0280600a, 0x00001100,
+ 0xffffffff, 0x00007f86, 0x00000c08, 0x00009583, 0x00003d6f, 0x00007033,
+ 0x0002b00a, 0x00009582, 0x0202b000, 0x0000e1b0, 0x0302b00c, 0x00004098,
+ 0x84f86205, 0x00002818, 0x02005008, 0x00001130, 0x3d6f311d, 0x0000f530,
+ 0x84f84205, 0x0000a830, 0x01784f09, 0x00009930, 0x02000000, 0x00007900,
+ 0x001f8000, 0x00008980, 0x00106808, 0x00006986, 0x00000001, 0x00007480,
+ 0x04105808, 0x0000e901, 0x203846ec, 0x00005600, 0x00384800, 0x00008000,
+ 0x0100146c, 0x00001283, 0x03c48090, 0x00006108, 0x04800000, 0x0000c988,
+ 0x04c00000, 0x00006188, 0x05000000, 0x0000c988, 0x00003f5e, 0x0000f010,
+ 0x00000090, 0x00006582, 0x05400000, 0x00000980, 0x05800000, 0x000081dc,
+ 0x08003a04, 0x0000e916, 0x00003e10, 0x00007008, 0x2dc02e04, 0x0000f902,
+ 0x03200000, 0x00008005, 0x2dc04e04, 0x0000a004, 0xffffffff, 0x00007f97,
+ 0x00002806, 0x00001502, 0x003bec0c, 0x00009503, 0xffffffff, 0x00007f86,
+ 0x00003fb5, 0x0000f010, 0x00003f00, 0x00007010, 0x2dc02e04, 0x00002005,
+ 0x002bbc0c, 0x00001503, 0x00003f2b, 0x0000f413, 0x01400c05, 0x00009081,
+ 0x2dd82e04, 0x0000a806, 0x01447291, 0x0000e002, 0x0ec3e404, 0x00002004,
+ 0x0240008f, 0x0000e084, 0x0c03bc08, 0x0000a000, 0xf5e00408, 0x00004491,
+ 0x62601c04, 0x00008fb7, 0x00003404, 0x00007890, 0x00000000, 0x00000000,
+ 0xd644057c, 0x0000f88f, 0x01c00001, 0x00000060, 0xd55be36c, 0x00007813,
+ 0x01c00001, 0x00000000, 0xf66bab0f, 0x00004313, 0x0062057d, 0x00008090,
+ 0x00047881, 0x0000781a, 0x00000000, 0x00000000, 0x00047881, 0x00007810,
+ 0x00000000, 0x00000000, 0x00047080, 0x0000f830, 0x00000000, 0x00008020,
+ 0xd5c1057d, 0x0000f897, 0x01c00001, 0x00000060, 0xa640487f, 0x0000782b,
+ 0x01c00001, 0x00000000, 0x0000487f, 0x00007810, 0x00000000, 0x00000000,
+ 0xa640287e, 0x00007823, 0x01c00001, 0x00000060, 0x4300257c, 0x0000c58f,
+ 0x0782057d, 0x0000808b, 0xff01057d, 0x0000c796, 0x1aa0257c, 0x0000a18b,
+ 0x8902057d, 0x0000f88f, 0x01c00001, 0x00008080, 0x000ff812, 0x00006507,
+ 0xb0000816, 0x0000b401, 0x04ff0013, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x043c7f8e, 0x00000104, 0x84948a91, 0x00001900, 0x1b000800, 0x00001981,
+ 0x02c00004, 0x00006180, 0x03800020, 0x00004980, 0x02006000, 0x00007900,
+ 0x00008000, 0x00000980, 0x02580800, 0x00007900, 0x00004080, 0x00008980,
+ 0x03400000, 0x00007900, 0x00004062, 0x00008980, 0x0000380b, 0x0000e106,
+ 0x08003a0e, 0x0000b106, 0x03000000, 0x000000fc, 0x02803006, 0x00009900,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x009010ec, 0x00005780, 0x00006000, 0x00008080, 0x01002000, 0x00001980,
+ 0x01236004, 0x00009100, 0x01400000, 0x0000f900, 0x001e8000, 0x00000980,
+ 0x8102068b, 0x0000e283, 0x81000a04, 0x00008880, 0x04102005, 0x00006901,
+ 0x2c029691, 0x00009680, 0x810588b0, 0x00001000, 0x20382eec, 0x0000d600,
+ 0x003c5800, 0x00008000, 0x00003de3, 0x0000f408, 0x81404291, 0x00001080,
+ 0x81502205, 0x00009000, 0x8100178b, 0x00009880, 0x85030804, 0x00002000,
+ 0x84c30204, 0x00007902, 0x18800000, 0x00008000, 0xffffffff, 0x00007f97,
+ 0x00000c61, 0x00009583, 0x18031060, 0x00009118, 0x00003de3, 0x00007031,
+ 0x00102860, 0x00009502, 0x18831205, 0x00001018, 0x84fb1204, 0x00002818,
+ 0x00003f77, 0x0000f030, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x02000000, 0x0000e180, 0x0100246c, 0x00004081, 0x024000e0, 0x0000e180,
+ 0x01400c04, 0x0000c881, 0x82000c04, 0x0000e081, 0x82548a91, 0x00004900,
+ 0x81002000, 0x0000e180, 0x82045809, 0x0000e007, 0x02800000, 0x0000f900,
+ 0x00002000, 0x00000980, 0x000810ec, 0x0000d780, 0x00007000, 0x00000080,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x41004405, 0x0000e181,
+ 0x0013680a, 0x00002182, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x003020ec, 0x00005702, 0x00007000, 0x00000080, 0x80000291, 0x0000e582,
+ 0x18c00004, 0x00000980, 0x82181302, 0x0000e100, 0x08003a93, 0x00006106,
+ 0x02c00000, 0x00007900, 0x00020040, 0x00008980, 0x18009000, 0x0000f900,
+ 0x0001e080, 0x00000980, 0x18400000, 0x00007900, 0x00018030, 0x00008980,
+ 0x50445809, 0x0000e003, 0x00001863, 0x0000b106, 0x0018c0ec, 0x0000d780,
+ 0x00d07040, 0x00000288, 0x18801002, 0x00006100, 0x86236008, 0x00006085,
+ 0x24803006, 0x00006100, 0x004000a8, 0x00004980, 0xc0000800, 0x00006181,
+ 0xc2800800, 0x0000c989, 0xc0c00000, 0x00001980, 0x008806ec, 0x00005f80,
+ 0x00006000, 0x00000084, 0x04000800, 0x00009981, 0x81371ee3, 0x00009900,
+ 0x42002404, 0x00002084, 0xffffffff, 0x00007fa7, 0x00010404, 0x00009583,
+ 0x00003e9f, 0x0000701b, 0x0ec3e404, 0x0000e004, 0x08001a08, 0x00003106,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02e4a800, 0x0000f900, 0x003dc63c, 0x00000980,
+ 0x03400000, 0x0000e180, 0x08003006, 0x00006206, 0x82200500, 0x00008022,
+ 0x3e241ff4, 0x00007500, 0x02402702, 0x00008017, 0x81c01000, 0x00009980,
+ 0x03404090, 0x00006780, 0x0c03ec04, 0x00002080, 0x01006404, 0x00006080,
+ 0x83c02302, 0x00008780, 0x038027e4, 0x0000e000, 0x00000016, 0x0000e506,
+ 0x4101057d, 0x0000e283, 0x0c43ec0a, 0x0000a000, 0x01040080, 0x0000e108,
+ 0x02440881, 0x00004908, 0x01000000, 0x00006190, 0x02400000, 0x0000c990,
+ 0x0203d08e, 0x0000e002, 0x00000016, 0x0000a481, 0x05c0000d, 0x00007900,
+ 0x00000200, 0x00000380, 0x0143d88f, 0x00006004, 0x45107817, 0x0000a107,
+ 0x01002008, 0x0000e102, 0x0280940a, 0x00008880, 0x02c04805, 0x0000e104,
+ 0x80000016, 0x00002481, 0x0140080e, 0x00006180, 0x0003e816, 0x0000a106,
+ 0x02002005, 0x0000e200, 0x000ff812, 0x0000a507, 0x01400017, 0x0000f900,
+ 0x00000080, 0x00000380, 0x05c05005, 0x00006300, 0x0403e015, 0x00002081,
+ 0x01404291, 0x0000e000, 0x0003e816, 0x00002081, 0x0000280e, 0x00006502,
+ 0x82c3e016, 0x00002001, 0x04ff0013, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x043c1f82, 0x00000104, 0x00003db7, 0x00007420, 0x05005f04, 0x00000114,
+ 0x84948a91, 0x0000e120, 0x8150420e, 0x0000c128, 0x07c0000d, 0x0000f900,
+ 0x00000200, 0x00000380, 0x01002205, 0x00006002, 0x82502a91, 0x00008100,
+ 0x07800000, 0x00006180, 0x4510781f, 0x0000e107, 0x07400000, 0x00006180,
+ 0x0003e81e, 0x0000e106, 0x02c0000b, 0x00006084, 0x0003e81e, 0x0000a081,
+ 0x0010480e, 0x0000e502, 0x0403e01d, 0x0000a081, 0x06800000, 0x00007900,
+ 0x00007fc0, 0x00000980, 0x8490420e, 0x00006100, 0x82c3e01e, 0x0000a001,
+ 0x0200001f, 0x0000f900, 0x00000080, 0x00000380, 0x06c00000, 0x00006180,
+ 0x06041082, 0x0000c900, 0x06782783, 0x00000130, 0x00003db8, 0x00007420,
+ 0x1b001000, 0x0000e1a1, 0x07605c0b, 0x00004901, 0x86902a91, 0x0000e120,
+ 0x07c05008, 0x00000300, 0x0317280e, 0x00006200, 0x82107209, 0x00000100,
+ 0x09c0000d, 0x00007900, 0x00000200, 0x00000380, 0x01006004, 0x0000e002,
+ 0x09800000, 0x00000980, 0x45107827, 0x00006107, 0x0003e826, 0x00003106,
+ 0x09400000, 0x0000e180, 0x02c0000b, 0x0000c084, 0x0010400e, 0x00006502,
+ 0x0003e826, 0x00002081, 0x08800000, 0x0000f900, 0x00007fc0, 0x00000980,
+ 0x01400027, 0x0000f900, 0x00000080, 0x00000380, 0x0403e025, 0x0000e081,
+ 0x82c3e026, 0x0000b001, 0x0680040e, 0x0000828c, 0x083c1f82, 0x00000204,
+ 0x09002004, 0x0000e100, 0x1b001800, 0x000049a1, 0x00003db8, 0x00007420,
+ 0x88907209, 0x00006120, 0x09c05005, 0x00000300, 0x09605c0b, 0x0000e101,
+ 0x8890720e, 0x00004928, 0x0bc0000d, 0x0000f900, 0x00000200, 0x00000380,
+ 0x0b800000, 0x00006180, 0x4510782f, 0x0000e107, 0x01006004, 0x0000e002,
+ 0x0003e82e, 0x00002106, 0x0b400000, 0x00006180, 0x0003e82e, 0x00006081,
+ 0x0a800000, 0x00007900, 0x00007fc0, 0x00000980, 0x0240002f, 0x00007900,
+ 0x00000080, 0x00000380, 0x0140000b, 0x0000e084, 0x0403e02d, 0x0000a081,
+ 0x0ac00000, 0x00006180, 0x82c3e02e, 0x00006001, 0x0a3c1f82, 0x00000224,
+ 0x1b002000, 0x00006181, 0x0b002004, 0x00004900, 0x00003db8, 0x0000f400,
+ 0x8a907208, 0x0000e100, 0x0bc05009, 0x00008300, 0x0b602c05, 0x00001901,
+ 0x04005800, 0x0000e181, 0x81371ee3, 0x0000c900, 0x42002404, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00010404, 0x00009583, 0x00003e16, 0x0000f033,
+ 0x82804291, 0x0000e080, 0x0f846c05, 0x00002002, 0x82905405, 0x0000e000,
+ 0x0a049c04, 0x0000a000, 0x81403e91, 0x00006080, 0x0a049e07, 0x0000e000,
+ 0x04008410, 0x00006081, 0x0244588b, 0x00000900, 0x3eab3d42, 0x00007500,
+ 0x02200c8d, 0x0000009f, 0xc2102a0a, 0x0000e000, 0x41000c04, 0x00000481,
+ 0x00000404, 0x0000e583, 0x25c00000, 0x00000980, 0xa5901202, 0x00006100,
+ 0x00001897, 0x00006106, 0x25001000, 0x0000f900, 0x00008000, 0x00000980,
+ 0x25580800, 0x00007900, 0x000440c0, 0x00008980, 0x000928ec, 0x0000d780,
+ 0x00985980, 0x000080c8, 0xe5981302, 0x0000e100, 0xc0001897, 0x0000e006,
+ 0x00003fc5, 0x0000f410, 0x26000001, 0x000009e4, 0x26800000, 0x000089ec,
+ 0x024000e0, 0x0000e180, 0x00000091, 0x00006586, 0x02800000, 0x0000f900,
+ 0x00006000, 0x00008980, 0x02000100, 0x00006180, 0x82045809, 0x0000e007,
+ 0x18c00004, 0x0000e180, 0xa4c04000, 0x0000c981, 0x02c00000, 0x00007900,
+ 0x00020040, 0x00008980, 0x18009000, 0x0000f900, 0x0001e080, 0x00000980,
+ 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x000810ec, 0x0000d780,
+ 0x00007000, 0x00000080, 0x0013680a, 0x0000e182, 0x00000891, 0x0000b487,
+ 0x50445809, 0x0000e003, 0x00001863, 0x0000b106, 0xa3699001, 0x0000e180,
+ 0x90000893, 0x0000e401, 0x23800000, 0x000088fc, 0x24231000, 0x000008d3,
+ 0x82381002, 0x00000608, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x0098c0ec, 0x00005780, 0x00d07040, 0x00000288,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x02c00004, 0x00006180, 0x03800000, 0x0000c980, 0x02006000, 0x00007900,
+ 0x00008000, 0x00000980, 0x02580800, 0x00007900, 0x00004100, 0x00008980,
+ 0x03400000, 0x00007900, 0x00004042, 0x00000980, 0x0000380b, 0x0000e106,
+ 0x08003a0e, 0x0000b106, 0x03000000, 0x000000fc, 0x02803006, 0x00009900,
+ 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
+ 0x009010ec, 0x00005780, 0x00006000, 0x00008080, 0x00000c04, 0x00006583,
+ 0x0002106d, 0x00002587, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x01001800, 0x0000e189, 0x01001000, 0x00004991, 0x00400000, 0x00007900,
+ 0x00008010, 0x00008980, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0xc0c00800, 0x0000e180, 0xb6e0806d, 0x00006081, 0x1b00106c, 0x00006380,
+ 0x80602404, 0x00008901, 0xc0001000, 0x00001981, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0xffffffff, 0x00007f86, 0x008806ec, 0x00005f80,
+ 0x00c066c0, 0x000080c4, 0x423828ec, 0x00002004, 0x02002000, 0x0000f900,
+ 0x00180000, 0x00008980, 0x834ffa04, 0x00001280, 0x04106808, 0x0000e901,
+ 0x01400805, 0x00009080, 0x423828ec, 0x0000a804, 0x803842ec, 0x0000d600,
+ 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600,
+ 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902,
+ 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600,
+ 0xc0204f7d, 0x00009503, 0x00003fa8, 0x0000f00b, 0x01400002, 0x00009980,
+ 0xc1680500, 0x00009900, 0x770000ec, 0x00005680, 0x00382800, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x13d8c80b, 0x00001684, 0x02002000, 0x0000f900,
+ 0x00180000, 0x00008980, 0x04106808, 0x0000e901, 0x803842ec, 0x0000d600,
+ 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600,
+ 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902,
+ 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600,
+ 0x2dc02e04, 0x0000a004, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
+ 0xea202f7d, 0x0000780b, 0x99c00000, 0x00009f88, 0x423828ec, 0x0000a084,
+ 0x02002000, 0x0000f900, 0x00140000, 0x00008980, 0x810ffa04, 0x00001280,
+ 0x04102008, 0x0000e901, 0x01400805, 0x00009080, 0x423828ec, 0x00002884,
+ 0x803842ec, 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902,
+ 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600,
+ 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902,
+ 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86, 0x002bbc0c, 0x00001503,
+ 0x00003d8f, 0x0000700b, 0x01400002, 0x00009980, 0xc1680500, 0x00009900,
+ 0x770000ec, 0x00005680, 0x00382800, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x13da280b, 0x00001684, 0x02002000, 0x0000f900, 0x00140000, 0x00008980,
+ 0x04102008, 0x0000e901, 0x803842ec, 0x0000d600, 0x00000001, 0x00000080,
+ 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902,
+ 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600,
+ 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86,
+ 0x63ebbc0c, 0x0000780b, 0xf9c00000, 0x00001f89, 0x00003e11, 0x0000f200,
+ 0x04004000, 0x00009981, 0x00003e11, 0x0000f200, 0x04005000, 0x00001981,
+ 0x66dbe202, 0x0000780b, 0x01c00001, 0x00008080, 0x04003800, 0x00009981,
+ 0xffffffff, 0x00007f86, 0x00003e11, 0x00007000, 0x81004291, 0x00006080,
+ 0x0f846c05, 0x00002002, 0x81502405, 0x00006000, 0x0244588b, 0x00000900,
+ 0x81003e91, 0x0000e080, 0x82146a8d, 0x0000c900, 0x3f683d42, 0x0000f500,
+ 0xc1c00c01, 0x000080df, 0x41000000, 0x0000e181, 0xc2102205, 0x0000c000,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x02c00004, 0x00006180, 0x004000c8, 0x00004980,
+ 0x02006000, 0x00007900, 0x00004000, 0x00000980, 0xc0c00000, 0x00006180,
+ 0x0000380b, 0x0000e106, 0x02400080, 0x0000e180, 0x02803006, 0x0000c900,
+ 0xc0000800, 0x00001981, 0x008816ec, 0x0000df80, 0x00c06000, 0x000080c4,
+ 0x01430205, 0x00009100, 0x3f7b311d, 0x00007500, 0x84f82a04, 0x0000a800,
+ 0x017c5f8b, 0x00009900, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x02000000, 0x0000e180, 0x0100246c, 0x00004081, 0x024000e0, 0x0000e180,
+ 0x01400c04, 0x0000c881, 0x82000c04, 0x0000e081, 0x82548a91, 0x00004900,
+ 0x81002000, 0x0000e180, 0x82045809, 0x0000e007, 0x02800000, 0x0000f900,
+ 0x00002000, 0x00000980, 0x000810ec, 0x0000d780, 0x00007000, 0x00000080,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x41004405, 0x0000e181,
+ 0x0013680a, 0x00002182, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x003020ec, 0x00005702, 0x00007000, 0x00000080, 0x80000291, 0x0000e582,
+ 0x18c00004, 0x00000980, 0x82181302, 0x0000e100, 0x08003a93, 0x00006106,
+ 0x02c00000, 0x00007900, 0x00020040, 0x00008980, 0x18009000, 0x0000f900,
+ 0x0001e080, 0x00000980, 0x18400000, 0x00007900, 0x00018030, 0x00008980,
+ 0x50445809, 0x0000e003, 0x00001863, 0x0000b106, 0x0018c0ec, 0x0000d780,
+ 0x00d07040, 0x00000288, 0x18801002, 0x00006100, 0x86236008, 0x00006085,
+ 0x24803006, 0x00006100, 0x004000a8, 0x00004980, 0xc0000800, 0x00006181,
+ 0xc2800800, 0x0000c989, 0xc0c00000, 0x00001980, 0x008806ec, 0x00005f80,
+ 0x00006000, 0x00000084, 0x2dc02e04, 0x00002005, 0x2dc06604, 0x0000a004,
+ 0xffffffff, 0x00007f97, 0x01400c05, 0x00009081, 0x2dd82e04, 0x0000a806,
+ 0x63ebbc0c, 0x0000780b, 0x59c00000, 0x00001f89, 0x00003e11, 0x0000f200,
+ 0x04002800, 0x00001981, 0x00003e11, 0x0000f200, 0x04003000, 0x00001981,
+ 0x00003e11, 0x0000f200, 0x04004800, 0x00001981, 0x801bc204, 0x00006502,
+ 0x01400c77, 0x00000081, 0x2df83604, 0x0000d004, 0x0013e800, 0x00000002,
+ 0x2dd82e04, 0x0000a806, 0x00003d8f, 0x00007008, 0x821bc378, 0x00009900,
+ 0x2df82e08, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00002806, 0x00001502,
+ 0x014728e5, 0x00001908, 0x00003d8f, 0x00007400, 0xffffffff, 0x00007f86,
+ 0x2df82e08, 0x00002884, 0x00003e11, 0x0000f200, 0x04002000, 0x00009981,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02c00004, 0x00006180,
+ 0x03800000, 0x0000c980, 0x02006000, 0x00007900, 0x00008000, 0x00000980,
+ 0x02580800, 0x00007900, 0x00004100, 0x00008980, 0x03400000, 0x00007900,
+ 0x00004042, 0x00000980, 0x0000380b, 0x0000e106, 0x08003a0e, 0x0000b106,
+ 0x03000000, 0x000000fc, 0x02803006, 0x00009900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780,
+ 0x00006000, 0x00008080, 0x00000c04, 0x00006583, 0x0002106d, 0x00002587,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x01001800, 0x0000e189,
+ 0x01001000, 0x00004991, 0x00400000, 0x00007900, 0x00008010, 0x00008980,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0c00800, 0x0000e180,
+ 0xb6e0806d, 0x00006081, 0x1b00106c, 0x00006380, 0x80602404, 0x00008901,
+ 0xc0001000, 0x00001981, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0xffffffff, 0x00007f86, 0x008806ec, 0x00005f80, 0x00c066c0, 0x000080c4,
+ 0x01001418, 0x00001283, 0x02000100, 0x0000e188, 0x0e812c07, 0x00006008,
+ 0x024000e0, 0x00006188, 0x82181302, 0x00004908, 0x00004022, 0x0000f010,
+ 0x02800000, 0x0000f900, 0x00004000, 0x00000980, 0x00000407, 0x0000e583,
+ 0x82011809, 0x0000a007, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x0010c80a, 0x0000618a, 0x0000000a, 0x0000b592, 0x01c00000, 0x0000e191,
+ 0x01c40000, 0x00004989, 0x81020623, 0x00006283, 0x03c00004, 0x00000980,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x02c00000, 0x00007900,
+ 0x00020040, 0x00008980, 0x03009000, 0x0000f900, 0x0001e080, 0x00000980,
+ 0x03400000, 0x00007900, 0x00018030, 0x00008980, 0x000010ec, 0x00005780,
+ 0x00d071c1, 0x00000280, 0x50411809, 0x00006003, 0x0000180f, 0x0000b106,
+ 0x03801002, 0x00006100, 0x004000a8, 0x00004980, 0x00004020, 0x0000f408,
+ 0x42a00e07, 0x00008083, 0x81c01723, 0x0000e090, 0xc0c00000, 0x00004980,
+ 0xffffffff, 0x00007f86, 0x85002807, 0x0000a000, 0x84c02207, 0x0000f902,
+ 0x01800000, 0x00000000, 0xffffffff, 0x00007f97, 0x00000c05, 0x00001583,
+ 0x01403004, 0x00009118, 0x00004020, 0x00007031, 0x0002f005, 0x00001582,
+ 0x0102f000, 0x000061b0, 0x0182f006, 0x0000c098, 0x84f83207, 0x0000a818,
+ 0x4020311d, 0x00007530, 0x01791f23, 0x0000e130, 0x01002804, 0x00004130,
+ 0x84f82207, 0x00002830, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084,
+ 0x02612f23, 0x00008020, 0x40263d42, 0x00007500, 0x42200400, 0x000080df,
+ 0xc1e00001, 0x000080d2, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x004000c8, 0x00006180,
+ 0xc0c00000, 0x00004980, 0xc0000800, 0x00001981, 0x008806ec, 0x00005f80,
+ 0x00006000, 0x00000084, 0x01001418, 0x00001283, 0x00004072, 0x0000f013,
+ 0x0e812c05, 0x00006000, 0x08412c06, 0x00003000, 0x00000405, 0x00006583,
+ 0x024000e0, 0x00000980, 0x81000000, 0x0000e190, 0x81113a27, 0x00004908,
+ 0x00000406, 0x00006583, 0x02800000, 0x00008980, 0x82502204, 0x00006100,
+ 0x02000100, 0x00004980, 0x81000fe2, 0x00006090, 0x82011809, 0x0000e00f,
+ 0x79602404, 0x0000a011, 0x03c00004, 0x0000e180, 0x50411809, 0x0000e00b,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x02c00000, 0x00007900,
+ 0x00020040, 0x00008980, 0x0ec02404, 0x00006014, 0x0000180f, 0x0000b106,
+ 0x86202009, 0x0000e017, 0x3501280b, 0x0000b001, 0x03801002, 0x00006100,
+ 0x557f1009, 0x0000e013, 0x00000405, 0x00006583, 0x004000a8, 0x00008980,
+ 0x0010c80a, 0x0000618a, 0x0000000a, 0x0000b592, 0x01400000, 0x00006191,
+ 0x01440000, 0x0000c989, 0x80000209, 0x00006582, 0x82181302, 0x00000900,
+ 0xc2800800, 0x0000e189, 0xc0c00000, 0x00004980, 0x81020623, 0x00006283,
+ 0x82a02c05, 0x00000901, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x03009000, 0x0000f900, 0x0001e040, 0x00000980, 0x03400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x00004070, 0x0000f408, 0x000010ec, 0x00005780,
+ 0x00d071c1, 0x00000280, 0x81401723, 0x00006090, 0xc0000800, 0x00004981,
+ 0xffffffff, 0x00007f86, 0x85002005, 0x0000a000, 0x84f83205, 0x0000b038,
+ 0xffffffff, 0x00007f97, 0x00000c04, 0x00009583, 0x01803806, 0x00009118,
+ 0x00004070, 0x00007031, 0x00037006, 0x00001582, 0x01037000, 0x000061b0,
+ 0x01c37007, 0x0000c098, 0x84f83a05, 0x0000a818, 0x01003004, 0x00001130,
+ 0x4070311d, 0x00007530, 0x84f82205, 0x0000a830, 0x01791f23, 0x00009930,
+ 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x01060425, 0x00001283,
+ 0x01003525, 0x00006189, 0x004000c8, 0x00000988, 0x01800000, 0x00007908,
+ 0x001f8200, 0x00000980, 0x00004031, 0x00007010, 0x00000c04, 0x00006583,
+ 0xc0c00000, 0x00008980, 0x81048000, 0x00006198, 0x8104e000, 0x000049b0,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00102006, 0x0000e986,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x203836ec, 0x0000d600,
+ 0x00391800, 0x00000000, 0xc0000800, 0x00001981, 0x008806ec, 0x00005f80,
+ 0x00006000, 0x00000084, 0x01001410, 0x00009283, 0x000040d6, 0x00007013,
+ 0x1ec8075f, 0x000000a0, 0x0213d808, 0x00006100, 0x1a000000, 0x00000980,
+ 0x01400000, 0x0000f900, 0x001e8000, 0x00000980, 0x02002008, 0x00006784,
+ 0x1a400000, 0x00008980, 0x8102065b, 0x00006283, 0x04104005, 0x00002101,
+ 0x20382eec, 0x0000d600, 0x003ad800, 0x00000000, 0x1a800000, 0x000086ec,
+ 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c3aaf54, 0x00000704,
+ 0x1cbabf56, 0x0000070c, 0x1d3acf58, 0x00000714, 0x1dbadf5a, 0x0000071c,
+ 0x1e3aef5c, 0x00000724, 0x1ebb075e, 0x00008730, 0x000040af, 0x00007408,
+ 0x1f7b1761, 0x00000738, 0x8200175b, 0x0000e090, 0x1fc31863, 0x00004900,
+ 0xffffffff, 0x00007f86, 0x85002008, 0x00002000, 0x84f83208, 0x00003038,
+ 0xffffffff, 0x00007f97, 0x00000c04, 0x00009583, 0x8100a25f, 0x00006098,
+ 0x01803806, 0x00000118, 0x000040af, 0x0000f031, 0x2c029261, 0x00001680,
+ 0x814588b0, 0x00009000, 0x81102a04, 0x00001000, 0x00102006, 0x00001502,
+ 0x01c03a04, 0x00009018, 0x84f83a08, 0x00002818, 0x000040eb, 0x00007030,
+ 0x02007a7b, 0x0000e080, 0x81002800, 0x00008980, 0x02002008, 0x00006784,
+ 0x034000e0, 0x00008980, 0x000818ec, 0x00005780, 0x00007000, 0x00000080,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x82204204, 0x0000e086,
+ 0x8203b80d, 0x00003007, 0x03000000, 0x0000f900, 0x00200000, 0x00000980,
+ 0x03800000, 0x00007900, 0x00006000, 0x00008980, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x003020ec, 0x00005702, 0x00007000, 0x00000080,
+ 0x19c00004, 0x00006180, 0x5043b80d, 0x00006003, 0x03c00000, 0x0000f900,
+ 0x00020000, 0x00000980, 0x19009000, 0x00007900, 0x0001e040, 0x00000980,
+ 0x19400000, 0x0000f900, 0x00018030, 0x00008980, 0x0013d80e, 0x0000e182,
+ 0x00001867, 0x00003106, 0x0018c8ec, 0x00005780, 0x00007001, 0x00008080,
+ 0x19801002, 0x0000e100, 0x004000a8, 0x00004980, 0x83181302, 0x00006100,
+ 0x83004408, 0x0000c081, 0xc0000800, 0x00001981, 0xc0c00000, 0x00006180,
+ 0x80000001, 0x0000e405, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084,
+ 0x0104045d, 0x00009283, 0x004000c8, 0x0000e188, 0x0f82ec08, 0x0000600a,
+ 0xc0c00000, 0x0000e188, 0x8112fc08, 0x0000c008, 0x00004088, 0x0000f010,
+ 0x4000155d, 0x00006583, 0x82042204, 0x00008080, 0x8204a204, 0x00009098,
+ 0x01400000, 0x0000f900, 0x001f8600, 0x00008980, 0x003fd800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x00104005, 0x0000e986, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x20382eec, 0x0000d600, 0x003ad800, 0x00000000,
+ 0xc0000800, 0x00001981, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084,
+ 0x40ef311d, 0x00007500, 0x017adf5b, 0x0000e100, 0x01003204, 0x0000c100,
+ 0x84f82208, 0x00002800, 0x02007a7b, 0x0000e080, 0x81002800, 0x00008980,
+ 0x02002008, 0x00006784, 0x034000e0, 0x00008980, 0x000818ec, 0x00005780,
+ 0x00007000, 0x00000080, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x82204204, 0x0000e086, 0x8203b80d, 0x00003007, 0x03000000, 0x0000f900,
+ 0x00200000, 0x00000980, 0x03800000, 0x00007900, 0x00006000, 0x00008980,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x003020ec, 0x00005702,
+ 0x00007000, 0x00000080, 0x19c00004, 0x00006180, 0x5043b80d, 0x00006003,
+ 0x03c00000, 0x0000f900, 0x00020000, 0x00000980, 0x19009000, 0x00007900,
+ 0x0001e040, 0x00000980, 0x19400000, 0x0000f900, 0x00018030, 0x00008980,
+ 0x0013d80e, 0x0000e182, 0x00001867, 0x00003106, 0x0018c8ec, 0x00005780,
+ 0x00007001, 0x00008080, 0x19801002, 0x0000e100, 0x004000a8, 0x00004980,
+ 0x000040d2, 0x0000f400, 0x83181302, 0x00006100, 0x83004408, 0x0000c081,
+ 0xc0000800, 0x00001981, 0x80000e04, 0x00006583, 0x0f84ec08, 0x00002002,
+ 0x8240229f, 0x00006080, 0x01404000, 0x00000989, 0x0140a000, 0x00006191,
+ 0x82504c08, 0x0000c000, 0x4000159d, 0x00006583, 0x82003aa1, 0x00008880,
+ 0x82504209, 0x00009000, 0x00004122, 0x00007031, 0x0201049d, 0x00009283,
+ 0x82000000, 0x0000e188, 0x82008000, 0x00004990, 0xffffffff, 0x00007f86,
+ 0x82504209, 0x00009000, 0x02800000, 0x0000f900, 0x001f8000, 0x00008980,
+ 0x0010480a, 0x0000e186, 0x0000109d, 0x0000b403, 0x0140e405, 0x00006280,
+ 0x8000089d, 0x00002407, 0x29c00000, 0x0000e180, 0x0410280a, 0x00006101,
+ 0x0140849d, 0x0000e283, 0x024000e0, 0x00000980, 0x81400000, 0x0000e180,
+ 0x000018a7, 0x00006106, 0x203856ec, 0x0000d600, 0x003cd800, 0x00000000,
+ 0x81400800, 0x0000e188, 0x8204d809, 0x00006007, 0x000948ec, 0x0000d780,
+ 0x00985a80, 0x000080c8, 0x02000100, 0x00006180, 0x18c00004, 0x0000c980,
+ 0x27c00000, 0x00006180, 0xc00018a7, 0x0000e006, 0x29001000, 0x0000f900,
+ 0x00008000, 0x00000980, 0x29580800, 0x00007900, 0x000440c0, 0x00008980,
+ 0x02c00000, 0x00007900, 0x00020040, 0x00008980, 0x18009000, 0x0000f900,
+ 0x0001e040, 0x00000980, 0x18400000, 0x00007900, 0x00018030, 0x00008980,
+ 0x02800000, 0x0000f900, 0x00004000, 0x00000980, 0x5044d809, 0x00006003,
+ 0x00001863, 0x0000b106, 0x000810ec, 0x0000d780, 0x00d07600, 0x000081c0,
+ 0x29a81402, 0x00008a18, 0x2a000001, 0x00000ae4, 0x2a800000, 0x00008aec,
+ 0x18800702, 0x00008a84, 0x2743809d, 0x00006380, 0xe79cf205, 0x00008000,
+ 0xa7c02000, 0x0000e181, 0x82181302, 0x0000c900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008128ec, 0x0000d780,
+ 0x00007001, 0x00008080, 0x41582bb0, 0x0000f300, 0xc1682504, 0x0000e100,
+ 0x81702604, 0x00004900, 0xffc00000, 0x00006180, 0x0002006d, 0x00006587,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x1b00106c, 0x00006380,
+ 0x0420206d, 0x00002083, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0xc0c00800, 0x0000e180, 0x8628206d, 0x0000e005, 0x00400000, 0x00007900,
+ 0x00008090, 0x00000980, 0xc0001000, 0x00006181, 0xb6f8206d, 0x00006081,
+ 0x008806ec, 0x00005f80, 0x00c066c0, 0x000080c4, 0x0100146c, 0x00001283,
+ 0x0000429f, 0x00007013, 0x41000000, 0x0000e181, 0x0c03bc05, 0x0000e000,
+ 0x00000405, 0x00006583, 0x02800000, 0x00008980, 0x81404a9f, 0x0000e790,
+ 0xa914fa9f, 0x00008908, 0x81401a05, 0x00006090, 0x02c00004, 0x00004980,
+ 0xa914fa05, 0x0000e010, 0x03000000, 0x00008980, 0x02006000, 0x00007900,
+ 0x00008000, 0x00000980, 0x02580800, 0x00007900, 0x00004080, 0x00008980,
+ 0x03400000, 0x00007900, 0x00004062, 0x00008980, 0x03800020, 0x00006180,
+ 0x03c00000, 0x00004980, 0x800002a4, 0x00001582, 0xc0000f9f, 0x00001583,
+ 0x0000049e, 0x00001583, 0x00004345, 0x00007008, 0x00004336, 0x0000f010,
+ 0x00004336, 0x0000f010, 0x08036405, 0x00006000, 0x08451c60, 0x0000b000,
+ 0x18800787, 0x00008188, 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8,
+ 0x00000087, 0x00006582, 0x05c00000, 0x00008980, 0x00000405, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x000041e9, 0x0000f010, 0x0000437c, 0x00007008,
+ 0xb6fcf816, 0x00006001, 0x000ff812, 0x00003501, 0x043c3785, 0x00008104,
+ 0x849522a4, 0x00001900, 0x41000800, 0x00001981, 0x0000380b, 0x0000e106,
+ 0x08003a0e, 0x0000b106, 0x02803006, 0x00009900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780,
+ 0x00006000, 0x00008080, 0xc0000f9f, 0x00001583, 0x01405000, 0x00006198,
+ 0x01402000, 0x0000c9b0, 0x18400000, 0x00007900, 0x001e8000, 0x00000980,
+ 0x8102069b, 0x00006283, 0x1ca82005, 0x00000100, 0x81400a72, 0x00001880,
+ 0x04102861, 0x00006901, 0x000041b6, 0x00007208, 0x203b0eec, 0x00005600,
+ 0x003cd800, 0x00000000, 0x8140179b, 0x00009880, 0x85002005, 0x0000a000,
+ 0x84c30205, 0x0000f902, 0x18800000, 0x00008000, 0xffffffff, 0x00007f97,
+ 0x00000c04, 0x00009583, 0x9840a29f, 0x00006098, 0x18031060, 0x00000118,
+ 0x000041b6, 0x0000f031, 0x2c0292a1, 0x00001680, 0x98c588b0, 0x00009000,
+ 0x98531a61, 0x00001000, 0x00130860, 0x00001502, 0x18831261, 0x00009018,
+ 0x84fb1205, 0x0000a818, 0x0000436e, 0x0000f030, 0x81000e77, 0x00001283,
+ 0x98136a6d, 0x0000e108, 0x8140326d, 0x0000c790, 0x98136a05, 0x00001010,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02800000, 0x0000f900,
+ 0x00002000, 0x00000980, 0x024000e0, 0x0000e180, 0x0013000a, 0x00006182,
+ 0x800002a4, 0x0000e582, 0x02000000, 0x00000980, 0x01402504, 0x00006081,
+ 0x825522a4, 0x00008900, 0xc2800800, 0x0000e189, 0x8204d809, 0x00006007,
+ 0x81000e77, 0x0000e283, 0x18c00004, 0x00000980, 0x82181302, 0x0000e100,
+ 0x82000c05, 0x00004881, 0x02c00000, 0x00007900, 0x00020040, 0x00008980,
+ 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x08003aa3, 0x00006106,
+ 0x5044d809, 0x00003003, 0x18009000, 0x0000f900, 0x0001e040, 0x00000980,
+ 0x00001863, 0x0000e106, 0x86282008, 0x00003085, 0x00004350, 0x00007410,
+ 0x18b83702, 0x00008a08, 0x004000a8, 0x0000e188, 0x01000c05, 0x0000c881,
+ 0x81402000, 0x00001980, 0x000810ec, 0x0000d780, 0x00007000, 0x00000080,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x41400d04, 0x00009881,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x003028ec, 0x0000d702,
+ 0x00007000, 0x00000080, 0x0018c0ec, 0x0000d780, 0x00d07140, 0x00008288,
+ 0xc0000800, 0x00001981, 0xc0c00000, 0x00006180, 0x80000001, 0x0000e405,
+ 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x08003a05, 0x0000e906,
+ 0x2dc02605, 0x0000f902, 0x04200000, 0x00000005, 0x2dc05605, 0x00002004,
+ 0xffffffff, 0x00007f97, 0x00002006, 0x00009502, 0x003bec10, 0x00001503,
+ 0xffffffff, 0x00007f86, 0x00004387, 0x0000f010, 0x000042bf, 0x0000f010,
+ 0x2dc02605, 0x00002005, 0x002bbc10, 0x00009503, 0x000042eb, 0x0000f413,
+ 0x01000c04, 0x00009081, 0x2dd82605, 0x0000a806, 0x04042884, 0x0000e002,
+ 0x0ec3e405, 0x0000a004, 0x02800086, 0x0000e084, 0x0c03bc04, 0x0000a000,
+ 0x70602060, 0x0000c410, 0x0a801c05, 0x000090b7, 0x00003405, 0x0000f890,
+ 0x00000000, 0x00000000, 0xc544057c, 0x0000f88e, 0x02000001, 0x00000060,
+ 0xcadbe36c, 0x0000f812, 0x02000001, 0x00000000, 0x6e6bab62, 0x00004412,
+ 0x2c82057d, 0x00009094, 0x00043081, 0x0000781a, 0x00000000, 0x00000000,
+ 0x00043081, 0x00007810, 0x00000000, 0x00000000, 0x00042880, 0x00007830,
+ 0x00000000, 0x00008020, 0xcc81057d, 0x00007896, 0x02000001, 0x00000060,
+ 0x6680577f, 0x0000c428, 0x2c80577f, 0x00009014, 0x00c0877e, 0x00004722,
+ 0x1241057d, 0x00009289, 0x6680577f, 0x0000c428, 0x2c80577f, 0x00009014,
+ 0xcd00807e, 0x0000f82a, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86,
+ 0x41000d7c, 0x00009283, 0x01402000, 0x00009989, 0x00004318, 0x00007009,
+ 0x4102057d, 0x00001283, 0x04042885, 0x0000e110, 0x04443086, 0x00004910,
+ 0x000ff812, 0x0000e517, 0xb0000816, 0x00003411, 0x00004225, 0x0000f008,
+ 0x00004192, 0x0000f400, 0x04ff0013, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x41000800, 0x00006181, 0x849522a4, 0x00004900, 0x4101057d, 0x0000e283,
+ 0x0c03ec05, 0x0000a080, 0x1c806405, 0x00006080, 0x04040881, 0x00000908,
+ 0x04000000, 0x00006190, 0x184397e4, 0x00004800, 0x1c840080, 0x00006108,
+ 0x1c800000, 0x0000c990, 0x0103d085, 0x00006002, 0x1b804087, 0x00000780,
+ 0x0283d886, 0x00006004, 0x00000016, 0x00002506, 0x01439004, 0x0000e102,
+ 0x0c43ec60, 0x0000a000, 0x05c0006e, 0x00007900, 0x00000200, 0x00000380,
+ 0x1b00800a, 0x0000e104, 0x01000861, 0x00008180, 0x82802302, 0x0000e780,
+ 0x00000016, 0x0000a481, 0x18009460, 0x00006080, 0x45105017, 0x00006107,
+ 0x18c02804, 0x00006200, 0x80000016, 0x00002481, 0x01000017, 0x00007900,
+ 0x00000080, 0x00000380, 0x05c30004, 0x0000e300, 0x0003e816, 0x0000a106,
+ 0x01031aa4, 0x0000e000, 0x000ff812, 0x0000a507, 0x00002061, 0x0000e502,
+ 0x0403e015, 0x00002081, 0x04441883, 0x0000e100, 0x0003e816, 0x0000e081,
+ 0x04ff0013, 0x0000f900, 0x003ffffe, 0x00008280, 0x05002805, 0x0000e100,
+ 0x82c3e016, 0x0000e001, 0x00004191, 0x00007420, 0x04041082, 0x00006100,
+ 0x849522a4, 0x0000c920, 0x0563646c, 0x0000e101, 0x83931a61, 0x0000c128,
+ 0x07c0006e, 0x0000f900, 0x00000200, 0x00000380, 0x01402a0e, 0x0000e002,
+ 0x811072a4, 0x00008100, 0x07800000, 0x00006180, 0x4510501f, 0x0000e107,
+ 0x07400000, 0x00006180, 0x0003e81e, 0x0000e106, 0x1b00006c, 0x00006084,
+ 0x0003e81e, 0x0000a081, 0x00102061, 0x00006502, 0x0403e01d, 0x0000a081,
+ 0x06800000, 0x00007900, 0x00007fc0, 0x00000980, 0x1c80001f, 0x00007900,
+ 0x00000080, 0x00000380, 0x84931a61, 0x0000e100, 0x82c3e01e, 0x0000a001,
+ 0x06c00000, 0x00006180, 0x06041082, 0x0000c900, 0x06782f83, 0x00008130,
+ 0x00004192, 0x00007420, 0x41001000, 0x0000e1a1, 0x0763646c, 0x00004901,
+ 0x869072a4, 0x00006120, 0x07c30072, 0x00008300, 0x18972861, 0x0000e200,
+ 0x83930a04, 0x00008100, 0x09c0006e, 0x00007900, 0x00000200, 0x00000380,
+ 0x01431005, 0x00006002, 0x09800000, 0x00000980, 0x45105027, 0x00006107,
+ 0x0003e826, 0x00003106, 0x09400000, 0x0000e180, 0x1b00006c, 0x0000c084,
+ 0x00107061, 0x00006502, 0x0003e826, 0x00002081, 0x08800000, 0x0000f900,
+ 0x00007fc0, 0x00000980, 0x1c800027, 0x0000f900, 0x00000080, 0x00000380,
+ 0x0403e025, 0x0000e081, 0x82c3e026, 0x0000b001, 0x06800461, 0x0000828c,
+ 0x083c1f82, 0x00000204, 0x09002805, 0x0000e100, 0x88930a04, 0x00004120,
+ 0x00004192, 0x00007420, 0x09c30072, 0x00006300, 0x0963646c, 0x00000901,
+ 0x41001800, 0x000061a1, 0x88930a61, 0x00004928, 0x0bc0006e, 0x0000f900,
+ 0x00000200, 0x00000380, 0x0b800000, 0x00006180, 0x4510502f, 0x0000e107,
+ 0x01431005, 0x00006002, 0x0003e82e, 0x00002106, 0x0b400000, 0x00006180,
+ 0x0003e82e, 0x00006081, 0x0a800000, 0x00007900, 0x00007fc0, 0x00000980,
+ 0x0100002f, 0x0000f900, 0x00000080, 0x00000380, 0x1c80006c, 0x00006084,
+ 0x0403e02d, 0x0000a081, 0x0000380b, 0x0000e106, 0x82c3e02e, 0x00003001,
+ 0x0ac00000, 0x00006180, 0x0a041082, 0x0000c900, 0x0a783783, 0x00000028,
+ 0x0b002805, 0x00006100, 0x8a930a0e, 0x00004100, 0x00004195, 0x00007400,
+ 0x0bc30004, 0x00006300, 0x08003a0e, 0x00002106, 0x41002000, 0x00006181,
+ 0x0b639472, 0x00004901, 0x0104049d, 0x00009283, 0x81403aa1, 0x00006088,
+ 0x9c80229f, 0x00004088, 0x9c902a72, 0x00009008, 0x0000416a, 0x00007010,
+ 0x4000159d, 0x00009583, 0x000042ab, 0x00007033, 0x0101049d, 0x00009283,
+ 0x81000000, 0x0000e188, 0x81008000, 0x00004990, 0xffffffff, 0x00007f86,
+ 0x9c902272, 0x00009000, 0xc0000f9f, 0x00001583, 0x02000000, 0x00007900,
+ 0x001f8000, 0x00008980, 0x81008000, 0x00006188, 0x8100e000, 0x00004990,
+ 0x00139008, 0x0000e986, 0x42b62bf2, 0x0000f500, 0x013cff9f, 0x00006100,
+ 0x04102008, 0x00006101, 0x203846ec, 0x00005600, 0x003cd800, 0x00000000,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x004000c8, 0x00006180, 0xc0c00000, 0x00004980,
+ 0xc0000800, 0x00001981, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084,
+ 0x423b90ec, 0x00002004, 0x844ffa05, 0x0000e280, 0x04002000, 0x00008980,
+ 0x04108810, 0x00006901, 0xe7bcf810, 0x0000e801, 0x1c800872, 0x00006080,
+ 0xd77cf810, 0x0000a001, 0x423b90ec, 0x0000a804, 0x803882ec, 0x0000d600,
+ 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600,
+ 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902,
+ 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600,
+ 0xc020577d, 0x00009503, 0x00004375, 0x0000700b, 0x01000002, 0x00001980,
+ 0xc1280500, 0x00001900, 0x770000ec, 0x00005680, 0x00382000, 0x00000000,
+ 0x00c002ec, 0x0000df80, 0x1416c80b, 0x00001684, 0x02802000, 0x00007900,
+ 0x00180000, 0x00008980, 0x0410880a, 0x0000e901, 0x803852ec, 0x00005600,
+ 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600,
+ 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902,
+ 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600,
+ 0x2dc02605, 0x0000a004, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
+ 0xdd60277d, 0x0000780a, 0x9a000000, 0x0000a186, 0x423b90ec, 0x0000a084,
+ 0x02802000, 0x00007900, 0x00140000, 0x00008980, 0x814ffa05, 0x00001280,
+ 0x0410280a, 0x0000e901, 0x1c800872, 0x00009080, 0x423b90ec, 0x00002884,
+ 0x803852ec, 0x00005600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902,
+ 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600,
+ 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902,
+ 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86, 0x002bbc10, 0x00009503,
+ 0x000041f8, 0x0000f00b, 0x01000002, 0x00001980, 0xc1280500, 0x00001900,
+ 0x770000ec, 0x00005680, 0x00382000, 0x00000000, 0x00c002ec, 0x0000df80,
+ 0x1418280b, 0x00001684, 0x02802000, 0x00007900, 0x00140000, 0x00008980,
+ 0x0410280a, 0x0000e901, 0x803852ec, 0x00005600, 0x00000001, 0x00000080,
+ 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902,
+ 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600,
+ 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86,
+ 0x7e2bbc10, 0x0000780a, 0xfa000000, 0x00002187, 0x811be202, 0x0000f80a,
+ 0x02000001, 0x00008080, 0x01403800, 0x00001981, 0x9cb71ee3, 0x00001900,
+ 0x42002472, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020404, 0x00009583,
+ 0x0000432d, 0x0000701b, 0x0ec3e472, 0x00006004, 0x08001a08, 0x00003106,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02c0f800, 0x0000f900, 0x0029d5bc, 0x00000980,
+ 0x03400000, 0x0000e180, 0x08003006, 0x00006206, 0x82200500, 0x00008022,
+ 0x432b1ff4, 0x00007500, 0x02439702, 0x00000017, 0x81c01000, 0x00009980,
+ 0x00004318, 0x0000f200, 0x01404000, 0x00001981, 0x01407c05, 0x00006281,
+ 0x813cff9f, 0x00008901, 0x43324113, 0x00007500, 0x81002400, 0x000000d2,
+ 0xc1008405, 0x00001081, 0x00004318, 0x0000f200, 0x01405000, 0x00009981,
+ 0x00004318, 0x0000f200, 0x01405800, 0x00001981, 0x43393a35, 0x00007404,
+ 0x0114f89e, 0x00008011, 0xc1d522a4, 0x00001900, 0x00000404, 0x00001583,
+ 0x81771ee3, 0x00009910, 0x42039405, 0x0000a094, 0x0000419a, 0x00007008,
+ 0xffffffff, 0x00007f97, 0x00020472, 0x00001583, 0x0000431d, 0x00007033,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x43454113, 0x00007500,
+ 0x4128229f, 0x00000011, 0xc1002402, 0x000000d2, 0x0000380b, 0x0000e106,
+ 0xa000000d, 0x0000b402, 0x02803006, 0x0000e100, 0xe000000d, 0x0000e406,
+ 0x82402000, 0x00009981, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780, 0x00006000, 0x00008080,
+ 0x0000419a, 0x0000f000, 0x08c51c72, 0x00006000, 0x7000080b, 0x0000b401,
+ 0x03400000, 0x00007900, 0x00010008, 0x00008980, 0x08851c05, 0x0000e000,
+ 0x0000380d, 0x0000b106, 0x82000c04, 0x0000e081, 0x03800000, 0x00000980,
+ 0x03c00000, 0x00006180, 0x03003006, 0x0000c900, 0x00000c72, 0x00001583,
+ 0x00000405, 0x00009583, 0xffffffff, 0x00007f86, 0x00004395, 0x0000f008,
+ 0x000043a4, 0x00007010, 0x001010ec, 0x0000d780, 0x00007000, 0x00000080,
+ 0x004000a8, 0x00006180, 0x81402000, 0x00004980, 0x003fd800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x41400d04, 0x00009881, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x003028ec, 0x0000d702, 0x00007000, 0x00000080,
+ 0x000041e5, 0x0000f400, 0x0018c0ec, 0x0000d780, 0x00d07140, 0x00008288,
+ 0xc0000800, 0x00001981, 0x1c830261, 0x00001100, 0x41b6311d, 0x0000f500,
+ 0x84fb9205, 0x00002800, 0x017cdf9b, 0x00009900, 0x000041b6, 0x00007000,
+ 0x00004318, 0x0000f200, 0x01404800, 0x00009981, 0x2dc02605, 0x00002005,
+ 0x2dc08605, 0x0000a004, 0xffffffff, 0x00007f97, 0x01000c04, 0x00009081,
+ 0x2dd82605, 0x0000a806, 0x7e2bbc10, 0x0000780a, 0x5a000000, 0x00002187,
+ 0x017cff9f, 0x00006101, 0x9cb71ee3, 0x00004900, 0x42002472, 0x0000a084,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xc7420404, 0x0000f8b2,
+ 0x6a000000, 0x0000a189, 0x00004318, 0x0000f200, 0x01402800, 0x00009981,
+ 0x00004318, 0x0000f200, 0x01403000, 0x00009981, 0x801bc205, 0x0000e502,
+ 0x1c800c77, 0x00000081, 0x2df83605, 0x00005004, 0x0013e800, 0x00000002,
+ 0x2ddb9605, 0x00002806, 0x000041f8, 0x0000f008, 0x811bc378, 0x00009900,
+ 0x2df85604, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00005006, 0x00001502,
+ 0x028728e5, 0x00001908, 0x000041f8, 0x0000f400, 0xffffffff, 0x00007f86,
+ 0x2df85604, 0x00002884, 0x81008677, 0x0000e283, 0x9000080d, 0x0000a401,
+ 0x0000800e, 0x0000e482, 0xc000080d, 0x00003401, 0x01400000, 0x00006189,
+ 0x01401800, 0x00004991, 0xe000000d, 0x0000e403, 0xc000000e, 0x00003400,
+ 0xe2c3b80d, 0x00006001, 0x0020280e, 0x00003006, 0x00004361, 0x00007400,
+ 0x001010ec, 0x0000d780, 0x00007000, 0x00000080, 0xf343b80d, 0x0000e001,
+ 0xc6c3b80e, 0x0000b000, 0x0000049e, 0x0000e583, 0x9000080d, 0x0000a401,
+ 0x01442885, 0x00001908, 0x000043c0, 0x00007011, 0x4181057d, 0x00009283,
+ 0x01800000, 0x0000e190, 0x01840080, 0x00004908, 0xffffffff, 0x00007f86,
+ 0x03c03005, 0x00009102, 0x81008677, 0x0000e283, 0x01c0780f, 0x00008900,
+ 0x81904000, 0x00006188, 0x81804002, 0x00004990, 0x1c80780f, 0x0000e304,
+ 0x03c00000, 0x00004980, 0x01503206, 0x00009b04, 0x01402872, 0x00001100,
+ 0x00000005, 0x00006582, 0x01802a06, 0x00000800, 0x000043c8, 0x0000f04b,
+ 0x00003007, 0x00009502, 0x1c802fe4, 0x00006020, 0x01c03007, 0x0000c120,
+ 0x01400805, 0x0000e180, 0x01800806, 0x00008780, 0x03c3900f, 0x00001020,
+ 0xf2000005, 0x0000f8ca, 0xc2000000, 0x0000a18d, 0x00000c9e, 0x00009583,
+ 0x01444889, 0x00001908, 0x000043a8, 0x0000f009, 0x0000149e, 0x00009583,
+ 0x0144688d, 0x00001908, 0x01448891, 0x00001910, 0x000043a8, 0x00007008,
+ 0x000043a8, 0x0000f000, 0x81008677, 0x00001283, 0x00004361, 0x00007400,
+ 0x001010ec, 0x0000d780, 0x00007000, 0x00000080, 0x03c0600f, 0x00006090,
+ 0x03c0480f, 0x00004888, 0x28c00000, 0x00006180, 0xa8901202, 0x0000c900,
+ 0xe8981302, 0x00006100, 0x000018a3, 0x0000e106, 0x28001000, 0x00007900,
+ 0x00008000, 0x00000980, 0x28580800, 0x0000f900, 0x000440c0, 0x00008980,
+ 0x29000800, 0x00006180, 0xc00018a3, 0x00006006, 0x29400000, 0x00000ad8,
+ 0x29c00000, 0x00009980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x008940ec, 0x0000d780, 0x00985a40, 0x000080c8,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x40005599, 0x00006583, 0x00302005, 0x0000a086, 0x01001000, 0x00006189,
+ 0x01000800, 0x00004991, 0x82382005, 0x00006886, 0x43ea2c1d, 0x00007500,
+ 0xc1602404, 0x00009900, 0x02002805, 0x00001900, 0xffc00000, 0x00006180,
+ 0x0002006d, 0x00006587, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x024000e0, 0x0000e180, 0x26438099, 0x0000c380, 0x000810ec, 0x0000d780,
+ 0x00d07600, 0x000081c0, 0x0428206d, 0x00006083, 0x8204b809, 0x00003007,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x02000100, 0x00006180,
+ 0x00001099, 0x00006403, 0x18c00004, 0x0000e180, 0x26c00000, 0x0000c980,
+ 0x02800000, 0x0000f900, 0x00004000, 0x00000980, 0x02c00000, 0x00007900,
+ 0x00020040, 0x00008980, 0x18009000, 0x0000f900, 0x0001e040, 0x00000980,
+ 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x00400000, 0x00007900,
+ 0x00008090, 0x00000980, 0x000120ec, 0x0000d780, 0x00007001, 0x00008080,
+ 0xb6f0386d, 0x0000e081, 0x5044b809, 0x00003003, 0x00001863, 0x0000e106,
+ 0x80000899, 0x00003407, 0x18800702, 0x000089b4, 0x1b00106c, 0x00006380,
+ 0xc0001000, 0x00008981, 0x82001802, 0x000089af, 0xc0c00800, 0x00009980,
+ 0x008806ec, 0x00005f80, 0x00c066c0, 0x000080c4, 0x0100146c, 0x0000e283,
+ 0x1c000000, 0x00000980, 0x1c400000, 0x000007c8, 0x81400000, 0x000007cc,
+ 0x000044b0, 0x0000f010, 0x81001e99, 0x00006283, 0x01000000, 0x00008981,
+ 0x40004d99, 0x00006583, 0x01000800, 0x00008991, 0x40004599, 0x00001583,
+ 0xffffffff, 0x00007f86, 0x00004476, 0x0000f008, 0x0000444e, 0x00007008,
+ 0x44202914, 0x0000f204, 0x41400000, 0x00001981, 0x85c00607, 0x00004488,
+ 0x7e800504, 0x00009191, 0xa7a0ae07, 0x00004388, 0x0080ae07, 0x00000098,
+ 0x9e809607, 0x00004388, 0x00809607, 0x00008098, 0x1be08607, 0x00004588,
+ 0x00808e07, 0x00000a95, 0x1e409e07, 0x00004588, 0x8060a607, 0x00008b96,
+ 0xb180c607, 0x00004488, 0x9880c607, 0x000091aa, 0xb180ce07, 0x00004988,
+ 0x6a80d607, 0x0000118a, 0x01800000, 0x00009981, 0x40000d05, 0x00001583,
+ 0x01800800, 0x00009989, 0x00000c04, 0x00009583, 0x0000449a, 0x0000700b,
+ 0x00000405, 0x00006583, 0x01003000, 0x00008981, 0x200006ec, 0x0000d680,
+ 0x003cba00, 0x00003d00, 0x0000443e, 0x00007009, 0x43003cec, 0x00007902,
+ 0x01400000, 0x00008004, 0xffffffff, 0x00007fa7, 0x00155007, 0x0000f900,
+ 0x002aaaaa, 0x00008582, 0x00004438, 0x0000f013, 0x00000406, 0x00009583,
+ 0x0000446d, 0x0000f00b, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0xc0c00800, 0x0000e180, 0x80602404, 0x00004901,
+ 0xc0001000, 0x00001981, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0xffffffff, 0x00007f86, 0x008806ec, 0x00005f80, 0x00c06380, 0x000000c4,
+ 0x4453283e, 0x00007404, 0x00000404, 0x0000e583, 0x41400000, 0x00008981,
+ 0x01000800, 0x0000e190, 0x01000e77, 0x00004288, 0x41010587, 0x00001283,
+ 0x27803006, 0x0000e110, 0x08003a9f, 0x0000e116, 0x80000607, 0x0000e583,
+ 0xe243b89f, 0x00002011, 0x81771ee3, 0x00009910, 0x42002c05, 0x0000a094,
+ 0x0000442e, 0x00007008, 0xffffffff, 0x00007f97, 0x00020405, 0x00001583,
+ 0x01c00020, 0x000061b0, 0x0ec3e405, 0x00006034, 0x01602c05, 0x0000e130,
+ 0x03400000, 0x0000c9b0, 0x00004514, 0x00007018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02ff9000, 0x00007900, 0x0017e176, 0x00000980,
+ 0x81c01000, 0x00009980, 0x08001a08, 0x00006106, 0x08003006, 0x00003206,
+ 0x00004499, 0x00007400, 0xc1c02000, 0x0000e181, 0xc2300600, 0x0000c901,
+ 0x02600702, 0x00008022, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400008, 0x00006180,
+ 0xc0c00000, 0x00004980, 0x40600e04, 0x00000083, 0x008806ec, 0x00005f80,
+ 0x00006000, 0x00000084, 0x00000404, 0x0000e583, 0x08003a9f, 0x0000a106,
+ 0x447c26d1, 0x0000f404, 0x27803006, 0x00006100, 0x01000e77, 0x00004288,
+ 0x01000800, 0x00009990, 0x80000607, 0x00001583, 0x01b03e07, 0x00009909,
+ 0x00004431, 0x00007009, 0xaf401e07, 0x0000c388, 0x00801e07, 0x000080b0,
+ 0xb4602e07, 0x0000c488, 0xb4802e07, 0x000011aa, 0x00803607, 0x00004788,
+ 0x11a00e07, 0x0000138a, 0x67401607, 0x00007893, 0x62000000, 0x0000a28b,
+ 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020405, 0x00001583, 0x0cc43c0c, 0x0000e030, 0x08003005, 0x00003236,
+ 0x03400000, 0x0000e1b0, 0x01c00020, 0x000049b0, 0x00004569, 0x00007018,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02d57800, 0x0000f900,
+ 0x0035bc26, 0x00008980, 0x81c01000, 0x00009980, 0xc1c02000, 0x0000e181,
+ 0x08001a08, 0x00006106, 0x82200500, 0x00008022, 0xc1b8100c, 0x00000024,
+ 0x449a1ff4, 0x00007100, 0x024000e0, 0x0000e180, 0x02000100, 0x00004980,
+ 0x000810ec, 0x0000d780, 0x00d07600, 0x000081c0, 0x18c00004, 0x0000e180,
+ 0x8204b809, 0x00006007, 0x02800000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x02c00000, 0x00007900, 0x00020040, 0x00008980, 0x18009000, 0x0000f900,
+ 0x0001e040, 0x00000980, 0x18400000, 0x00007900, 0x00018030, 0x00008980,
+ 0x000120ec, 0x0000d780, 0x00007001, 0x00008080, 0x5044b809, 0x00006003,
+ 0x00001863, 0x0000b106, 0x18802f02, 0x00000092, 0x82181302, 0x00009900,
+ 0xf1400405, 0x0000c591, 0x7be00406, 0x00007989, 0x01040499, 0x00001283,
+ 0x200006ec, 0x00005688, 0x003cba00, 0x00003d00, 0x003fd800, 0x00007908,
+ 0x003ffffe, 0x00008280, 0x00004416, 0x0000f010, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x44bd2c4a, 0x0000f500, 0x004000c8, 0x00006180,
+ 0xc0c00000, 0x00004980, 0xc0000800, 0x00006181, 0x016ccd99, 0x0000c900,
+ 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x8003a2ec, 0x0000f902,
+ 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600,
+ 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902,
+ 0x1ec00000, 0x00000600, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600,
+ 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x00004422, 0x00007400,
+ 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902,
+ 0x20c00000, 0x00008600, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583, 0x015b636c, 0x0000e130,
+ 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x000044e2, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x02c19000, 0x0000f900, 0x003f14aa, 0x00008980, 0xc1c02000, 0x0000e181,
+ 0x08001a08, 0x00006106, 0x00004499, 0x00007400, 0x82200500, 0x00008022,
+ 0x81b8177c, 0x00008024, 0x81000403, 0x000000d3, 0xc1e00808, 0x000080d3,
+ 0x44e543ce, 0x0000f100, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583, 0x0804440c, 0x00006030,
+ 0x0cc3ec05, 0x0000b030, 0x01602c05, 0x0000e130, 0x01c00020, 0x000049b0,
+ 0x00004502, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x00004495, 0x00007400, 0x02c0e800, 0x00007900, 0x002c6296, 0x00008980,
+ 0x41c00002, 0x000000f4, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583, 0x016be57c, 0x0000e130,
+ 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x0000452f, 0x0000f018, 0x00004467, 0x0000f400, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02cd2000, 0x00007900, 0x0038e1a8, 0x00008980,
+ 0x000044e4, 0x00007400, 0x81000403, 0x000000d3, 0xc1e0080b, 0x000080d3,
+ 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020405, 0x00001583, 0x01c00020, 0x000061b0, 0x0ec3e405, 0x00006034,
+ 0x01602c05, 0x0000e130, 0x03400000, 0x0000c9b0, 0x00004517, 0x00007018,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x00004467, 0x0000f400,
+ 0x02ce0800, 0x00007900, 0x001d4b7e, 0x00008980, 0x81c01000, 0x00009980,
+ 0x000044e4, 0x00007400, 0x81000c03, 0x000080d3, 0xc1e00006, 0x000080d3,
+ 0x000044e4, 0x00007400, 0x81000403, 0x000000d3, 0xc1e00807, 0x000080d3,
+ 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020405, 0x00001583, 0x0dc4440c, 0x00006030, 0x0d844406, 0x0000b030,
+ 0x016be57c, 0x0000e130, 0x03400000, 0x0000c9b0, 0x00004532, 0x0000f018,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02d56800, 0x00007900, 0x00365492, 0x00008980,
+ 0xc2300600, 0x0000e101, 0x08001a08, 0x00006106, 0x00004499, 0x00007400,
+ 0x82381400, 0x00008024, 0x81c01000, 0x0000e180, 0x01a0340c, 0x0000c000,
+ 0x000044e4, 0x00007400, 0x81000403, 0x000000d3, 0xc1e00809, 0x000000d3,
+ 0x000044e4, 0x00007400, 0x81000403, 0x000000d3, 0xc1e0080a, 0x000000d3,
+ 0x01c00020, 0x00006180, 0x01528250, 0x0000c900, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x00004467, 0x0000f400, 0x02cdd800, 0x0000f900,
+ 0x0030c504, 0x00000980, 0x41c00002, 0x000000f4, 0x81771ee3, 0x00001900,
+ 0x42002c05, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583,
+ 0x01c00020, 0x000061b0, 0x08032a05, 0x0000e136, 0x01502a05, 0x0000e130,
+ 0x03400000, 0x0000c9b0, 0x0000459a, 0x00007018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x00004467, 0x0000f400, 0x02e3d800, 0x0000f900,
+ 0x0020c69a, 0x00000980, 0x81c01000, 0x00009980, 0x81771ee3, 0x00001900,
+ 0x42002405, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020404, 0x00009583,
+ 0x01c00020, 0x000061b0, 0x08032005, 0x0000e236, 0x81c01000, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x000045b1, 0x00007018, 0x00004467, 0x0000f400,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02c09000, 0x00007900,
+ 0x00225d0e, 0x00008980, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583, 0x0dc4440c, 0x00006030,
+ 0x08003005, 0x00003236, 0x03400000, 0x0000e1b0, 0x01c00020, 0x000049b0,
+ 0x000045a0, 0x00007018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x00004495, 0x00007400, 0x02d0f800, 0x00007900, 0x00092e48, 0x00008980,
+ 0x81c01000, 0x00009980, 0x000044e4, 0x00007400, 0x81000c03, 0x000080d3,
+ 0xc1e0000e, 0x000000d3, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583, 0x015b636c, 0x0000e130,
+ 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x00004589, 0x0000f018, 0x000044dd, 0x00007400, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02ed8800, 0x00007900, 0x002962b8, 0x00008980,
+ 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020405, 0x00001583, 0x0803640c, 0x00006030, 0x08003005, 0x00003236,
+ 0x03400000, 0x0000e1b0, 0x01c00020, 0x000049b0, 0x000045c6, 0x00007018,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x00004495, 0x00007400,
+ 0x02eea000, 0x00007900, 0x0032f190, 0x00008980, 0x81c01000, 0x00009980,
+ 0x000044e4, 0x00007400, 0x81000c03, 0x000080d3, 0xc1e00002, 0x000000d3,
+ 0x0c42a405, 0x0000e000, 0x08001a08, 0x00003106, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x02dd7800, 0x00007900, 0x003aef50, 0x00000980, 0x03400000, 0x0000e180,
+ 0x08032006, 0x0000e206, 0x82200500, 0x00008022, 0x00004499, 0x00007400,
+ 0x02402f02, 0x00000017, 0x81c01000, 0x00009980, 0x000044e4, 0x00007400,
+ 0x81000403, 0x000000d3, 0xc1e0080c, 0x000000d3, 0x01800000, 0x00009981,
+ 0x26800c04, 0x0000f88b, 0x9a000000, 0x00002281, 0x000044e4, 0x00007400,
+ 0x81000c03, 0x000080d3, 0xc1e00004, 0x000000d3, 0x81771ee3, 0x00001900,
+ 0x42002c05, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583,
+ 0x01528250, 0x0000e130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x000045b4, 0x00007018, 0x00004467, 0x0000f400,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02f01800, 0x00007900,
+ 0x0021ecfe, 0x00008980, 0x000044e4, 0x00007400, 0x81000403, 0x000000d3,
+ 0xc1e0080d, 0x000080d3, 0x000044e4, 0x00007400, 0x81000c03, 0x000080d3,
+ 0xc1e00005, 0x000080d3, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583, 0x0ec3e40c, 0x00006034,
+ 0x08003005, 0x00003236, 0x03400000, 0x0000e1b0, 0x01c00020, 0x000049b0,
+ 0x000045c9, 0x00007018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x00004495, 0x00007400, 0x02c14000, 0x00007900, 0x000ac0c0, 0x00008980,
+ 0x81c01000, 0x00009980, 0x000044e4, 0x00007400, 0x81000c03, 0x000080d3,
+ 0xc1e00003, 0x000080d3, 0x000044e4, 0x00007400, 0x81000c03, 0x000080d3,
+ 0xc1e00001, 0x000000d3, 0x03c0000c, 0x0000f900, 0x00003fc0, 0x00000280,
+ 0x0a00340e, 0x00006006, 0x00106004, 0x00003186, 0x03c0400f, 0x0000e780,
+ 0x8380240e, 0x00008880, 0x09c00100, 0x0000e180, 0xc1107a0e, 0x0000c300,
+ 0x803820ec, 0x0000d700, 0x00000000, 0x00000880, 0x800000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0x803f28ec, 0x0000d700, 0x00000000, 0x00008080,
+ 0x800080ec, 0x0000f902, 0x01000000, 0x00000700, 0x09000000, 0x0000f900,
+ 0x00200100, 0x00008980, 0x09400000, 0x00007900, 0x0001c080, 0x00008980,
+ 0x09808000, 0x0000f900, 0x00006000, 0x00008980, 0x80000e10, 0x00006583,
+ 0x53403825, 0x00002003, 0x89107a0e, 0x00009300, 0x45c09eec, 0x00007912,
+ 0x04800000, 0x00008004, 0x0000472a, 0x0000f008, 0xffffffff, 0x00007f97,
+ 0x01409813, 0x00006300, 0x03409813, 0x00004900, 0x003ff005, 0x0000f900,
+ 0x0000003e, 0x00008582, 0x01009012, 0x00009b00, 0x01002fe4, 0x00001830,
+ 0x000046fc, 0x00007018, 0x003ff805, 0x00007900, 0x00000002, 0x00008582,
+ 0x0440680d, 0x0000e310, 0x04c09804, 0x0000c400, 0x45f89eec, 0x00002884,
+ 0x0000473b, 0x0000f008, 0x01800000, 0x00006180, 0x00106007, 0x00006186,
+ 0xc1d07a0e, 0x00006300, 0x04208806, 0x0000a087, 0x803838ec, 0x0000d700,
+ 0x00383000, 0x00008000, 0x01800000, 0x0000f900, 0x000040c0, 0x00000980,
+ 0x01400002, 0x0000e180, 0x00106007, 0x00006186, 0x800000ec, 0x00005780,
+ 0x00000000, 0x00008080, 0x81b51500, 0x0000e080, 0xc1680500, 0x00000900,
+ 0x723830ec, 0x00005600, 0x00382800, 0x00008000, 0xc1d07a0e, 0x00009300,
+ 0x723838ec, 0x0000d600, 0x00080881, 0x00008080, 0x00c002ec, 0x0000df80,
+ 0x0450580b, 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x28400ce0, 0x00009283, 0x00005f3b, 0x0000f013, 0x0c3cf830, 0x00007900,
- 0x003ffffe, 0x00008280, 0x2840854b, 0x00001481, 0x50650830, 0x00006800,
- 0x68410530, 0x00001283, 0x0000d834, 0x00009502, 0xffffffff, 0x00007f86,
- 0x00005eec, 0x00007008, 0x00005f0b, 0x0000f008, 0xc0109312, 0x00009502,
- 0x80000809, 0x0000e40a, 0xa000080a, 0x0000b40b, 0x0681a034, 0x00009908,
- 0x28800000, 0x00007900, 0x001f8000, 0x00008980, 0xc0109312, 0x00006502,
- 0x001518a2, 0x0000a186, 0x043d18a2, 0x0000e101, 0xd0000809, 0x00003401,
- 0x203d16ec, 0x00005600, 0x003d0000, 0x00008000, 0x00622aa3, 0x00008a19,
- 0xc4122a45, 0x0000e108, 0xc41a2344, 0x0000c910, 0x40322d43, 0x00001503,
- 0x28010430, 0x00009283, 0xffffffff, 0x00007f86, 0x00005f19, 0x00007030,
- 0x00005f19, 0x0000f010, 0x28722d43, 0x00006100, 0x28003700, 0x00000181,
- 0x000030a1, 0x0000e582, 0x91400000, 0x00000981, 0x28403000, 0x000019b8,
- 0x001800ec, 0x0000d780, 0x00985b01, 0x00000380, 0xc0250ca0, 0x00006001,
- 0x50e50ca1, 0x00008901, 0x28003603, 0x00001181, 0x280094a6, 0x0000e081,
- 0x80e50ca0, 0x00008001, 0x82250aa0, 0x0000e886, 0x00b506ec, 0x0000df02,
- 0x00005800, 0x00008084, 0xa9bf1fe3, 0x00001900, 0x8a050ca6, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x29803ca1, 0x00009281, 0x000014a6, 0x00001583,
- 0x08021ca1, 0x0000e094, 0xd0000030, 0x0000b410, 0x29a50fe4, 0x00001810,
- 0x00005f1c, 0x0000f008, 0x8f8508ec, 0x0000a084, 0xffffffff, 0x00007f86,
- 0x00005eec, 0x00007403, 0x286534a1, 0x00009401, 0x8f8508ec, 0x00002884,
- 0xd1600000, 0x000004ce, 0x009806ec, 0x0000df80, 0x00985b01, 0x00008684,
- 0x0c400000, 0x00007900, 0x001f8000, 0x00008980, 0x00151831, 0x00006186,
- 0x60001008, 0x0000b403, 0x043d1831, 0x0000e101, 0x40001009, 0x00003402,
- 0x00503000, 0x0000f900, 0x00044010, 0x00000980, 0x00001004, 0x00006402,
- 0xc0001008, 0x0000b403, 0xc0003800, 0x00006181, 0x80005009, 0x00006406,
- 0x20398eec, 0x00005600, 0x003d0000, 0x00008000, 0x80751ea3, 0x00001901,
- 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0xa9bf1fe3, 0x00001900,
- 0x8a050ca6, 0x0000a080, 0xffffffff, 0x00007fa7, 0x29803ca1, 0x00009281,
- 0x7a4014a6, 0x00007893, 0xfa400000, 0x00002f81, 0xa0000809, 0x0000e402,
- 0xc0001008, 0x0000b403, 0x60001005, 0x0000e402, 0x0000000f, 0x00003401,
- 0x0c010030, 0x00006380, 0x0680d81b, 0x00008900, 0xc040dfa3, 0x000078b2,
- 0xba400000, 0x0000a587, 0x5f3c1c02, 0x00007100, 0xffffffff, 0x00007f86,
- 0x000004a4, 0x00001583, 0x07400000, 0x00007910, 0x001f8000, 0x00008980,
- 0x87551aa3, 0x0000e110, 0x00001004, 0x0000e412, 0x00005edf, 0x00007008,
- 0x043d181d, 0x00006101, 0x60001008, 0x0000b403, 0x40001009, 0x00006402,
- 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900, 0x00044010, 0x00000980,
- 0x2038eeec, 0x0000d600, 0x003d0000, 0x00008000, 0xc0003800, 0x00006181,
- 0x80005009, 0x00006406, 0x80751ea3, 0x00001901, 0x009806ec, 0x0000df80,
- 0x00005801, 0x00000084, 0x26800000, 0x00009981, 0x10420700, 0x00007904,
- 0x26800c9a, 0x00006081, 0x91400e45, 0x00000081, 0x10420700, 0x00007904,
- 0x28a4d49a, 0x00006100, 0x29800ca5, 0x0000c180, 0xd44530a2, 0x0000784b,
- 0x3ac00000, 0x0000a886, 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583, 0x91404800, 0x0000e199,
- 0x28401800, 0x00004999, 0x00005f81, 0x00007031, 0x5f6144f5, 0x0000f100,
- 0xa9b71ee3, 0x00001900, 0x8e8508a6, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x000204a1, 0x00009583, 0x91405800, 0x00006199, 0x28401800, 0x00004999,
- 0x00005f8f, 0x0000f031, 0x5f6944f5, 0x00007100, 0x0cc00ce0, 0x0000e283,
- 0x0c400000, 0x00000980, 0x00005c83, 0x0000f00b, 0x5f6d1c02, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x000004a4, 0x00001583, 0x0c400000, 0x0000f910,
- 0x001f8000, 0x00008980, 0x8c551aa3, 0x00006110, 0x00001004, 0x0000e412,
- 0x00005c83, 0x0000f008, 0x043d1831, 0x0000e101, 0x60001008, 0x0000b403,
- 0x40001009, 0x00006402, 0xc0001008, 0x0000b403, 0x00503000, 0x0000f900,
- 0x00044010, 0x00000980, 0x20398eec, 0x00005600, 0x003d0000, 0x00008000,
- 0xc0003800, 0x00006181, 0x80005009, 0x00006406, 0x80751ea3, 0x00001901,
- 0x009806ec, 0x0000df80, 0x00005801, 0x00000084, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x039be000, 0x0000f900, 0x000fbf3c, 0x00000980, 0x019728a7, 0x00006200,
- 0x08001a09, 0x00002106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x5f8f1bac, 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02172853, 0x0000c200, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x039be000, 0x0000f900,
- 0x000fbf3c, 0x00000980, 0x019728a7, 0x00006200, 0x08001a09, 0x00002106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x5f9d1bac, 0x00007500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x0217285f, 0x0000c200,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x91400e45, 0x00009081,
- 0x10420700, 0x00007904, 0x00004a46, 0x00007400, 0x10420700, 0x00007904,
- 0x91400e45, 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x91400e45, 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x91400e45, 0x00009081, 0x10420700, 0x00007904, 0x00005f9d, 0x0000f400,
- 0x10420700, 0x00007904, 0x91400e45, 0x00009081, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0394d000, 0x0000f900, 0x003e8e2c, 0x00008980, 0x01909212, 0x0000e100,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x5fbc1bac, 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02172854, 0x00004200, 0x292a5d4b, 0x0000e101, 0xa8402302, 0x0000c780,
- 0x0c3df830, 0x0000f900, 0x003ffffe, 0x00008280, 0x45150826, 0x0000e907,
- 0x44c0154b, 0x00007897, 0x02c00001, 0x00000000, 0x4140254b, 0x0000f897,
- 0x1ac00000, 0x00002584, 0x26800000, 0x00009981, 0x10420700, 0x00007904,
- 0x26800c9a, 0x00006081, 0x91400e45, 0x00000081, 0x10420700, 0x00007904,
- 0x2924d49a, 0x00006100, 0x29800ca2, 0x00004180, 0xf18530a4, 0x0000f84b,
- 0x32c00000, 0x00002582, 0xa8771ee3, 0x00009900, 0x8e8530a1, 0x0000a084,
- 0xffffffff, 0x00007fa7, 0x000204a6, 0x00001583, 0x91401800, 0x0000e199,
- 0x28401800, 0x00004999, 0x00005fd6, 0x0000f031, 0x5fd644f5, 0x0000f100,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03aef800, 0x0000f900, 0x00157fde, 0x00008980,
- 0x01909212, 0x0000e100, 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180,
- 0xc2700600, 0x00004901, 0x5fe41bac, 0x0000f500, 0x82781400, 0x0000802c,
- 0x81001000, 0x0000e180, 0x02172831, 0x00004200, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03ac7800, 0x0000f900, 0x00018f3e, 0x00000980, 0x01909212, 0x0000e100,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x5ff21bac, 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02172854, 0x00004200, 0x6841054b, 0x00001283, 0xa9b71ee3, 0x00009910,
- 0x8e8508a6, 0x00002094, 0x00006093, 0x00007008, 0xffffffff, 0x00007f97,
- 0x000204a1, 0x00009583, 0x91402000, 0x00006199, 0x28401800, 0x00004999,
- 0x00006056, 0x00007031, 0x5ffc44f5, 0x00007100, 0xaa47fb37, 0x00006280,
- 0xa9880000, 0x00008980, 0x2b000480, 0x00006180, 0x91154aa6, 0x0000c100,
- 0x2a4022a9, 0x0000e080, 0xab280500, 0x00004900, 0x2980f8a9, 0x00006784,
- 0x75e800ac, 0x00002101, 0x29054838, 0x0000e002, 0x2a01e03c, 0x00008900,
- 0x2a720004, 0x00006180, 0x28853039, 0x0000c004, 0x2b490000, 0x00007900,
- 0x000014c4, 0x00000980, 0x2a890000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x80008a44, 0x00006582, 0xea581302, 0x00000900, 0xe847fb37, 0x00001282,
- 0xffffffff, 0x00007f86, 0x00006064, 0x00007030, 0x00006035, 0x00007008,
- 0x700900ec, 0x0000d680, 0x003d64c4, 0x00000010, 0x703d20ec, 0x00005600,
- 0x003d1000, 0x00000000, 0x700900ec, 0x0000d680, 0x003d4fc0, 0x00000078,
- 0xa9400000, 0x00000ad0, 0x28800000, 0x00009980, 0x00d002ec, 0x00005f80,
- 0x1600e00a, 0x00009584, 0x00000ca5, 0x00001583, 0x11009000, 0x00001991,
- 0x00006027, 0x0000f009, 0x2980164b, 0x0000e081, 0xa87f1fe3, 0x0000c900,
- 0x72bd38a1, 0x0000a084, 0x90e25b44, 0x00000a15, 0x000050c7, 0x0000f400,
- 0x91725e4b, 0x00006101, 0x384244a6, 0x00004081, 0x91189312, 0x00001900,
- 0x80325a44, 0x00001502, 0x0e8510a2, 0x00006120, 0x0ec520a4, 0x0000c920,
- 0x0e0510a2, 0x00006128, 0x0e4520a4, 0x0000c928, 0x0000601f, 0x0000f020,
- 0x28400b35, 0x00006180, 0x2891ba37, 0x00008900, 0x000508a2, 0x00001502,
- 0x8dc00000, 0x000099c0, 0x00006033, 0x0000f041, 0x8dc00a37, 0x00009080,
- 0x0000601f, 0x0000f200, 0x11009000, 0x00009981, 0xab000000, 0x0000e180,
- 0xc00000ad, 0x00006406, 0x2891ba37, 0x00006100, 0x29000b35, 0x0000c180,
- 0x703d68ec, 0x00005600, 0x003d6000, 0x00008000, 0x000520a2, 0x0000e502,
- 0x0e01d03a, 0x00008900, 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000,
- 0x700900ec, 0x0000d680, 0x003d4fc0, 0x00000078, 0x00006096, 0x0000f208,
- 0x0e41d83b, 0x0000e100, 0xa8800a37, 0x00004090, 0x8dc00a37, 0x00006080,
- 0x29000000, 0x00000980, 0x29400000, 0x0000e181, 0x28801aa2, 0x00004880,
- 0x2a01e0a2, 0x0000e002, 0x28800000, 0x00000980, 0x2980003d, 0x00001084,
- 0x0000e8ac, 0x00006485, 0x008040ad, 0x00003586, 0xab280500, 0x00006100,
- 0x000040aa, 0x00006586, 0x703d68ec, 0x00005600, 0x003d6000, 0x00008000,
- 0x0000601a, 0x0000f400, 0x703d40ec, 0x00005600, 0x003d3000, 0x00008000,
- 0x703d50ec, 0x0000d600, 0x003d4800, 0x00008000, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x0394d000, 0x0000f900, 0x003e8e2c, 0x00008980, 0x01909212, 0x0000e100,
- 0x08001a09, 0x0000e106, 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x60641bac, 0x00007500, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02172854, 0x00004200, 0xe847fb37, 0x0000e282, 0xc00000ad, 0x0000a406,
- 0xab000000, 0x0000e180, 0xa9802244, 0x0000c890, 0xa9bffaa6, 0x0000f910,
- 0x00000002, 0x00008280, 0x00006037, 0x0000f008, 0xaa802244, 0x00006080,
- 0x001530ad, 0x0000e106, 0x703d68ec, 0x00005600, 0x003d6000, 0x00008000,
- 0x29809000, 0x00006180, 0x2ad1ba37, 0x00004900, 0x703d20ec, 0x00005600,
- 0x003d1000, 0x00000000, 0x289220a6, 0x0000e100, 0x29000c44, 0x00000881,
- 0x29c00b35, 0x00006180, 0xa98022a2, 0x00000880, 0xa8bffaa6, 0x0000f900,
- 0x00000002, 0x00008280, 0x000538ab, 0x0000e502, 0x001510ad, 0x0000a106,
- 0x29400800, 0x0000e1c1, 0x0c0564a2, 0x00006084, 0x292514a4, 0x00006001,
- 0x2881d03a, 0x00008900, 0x703d50ec, 0x0000d600, 0x003d4800, 0x00008000,
- 0x2901d83b, 0x00006100, 0x042520ac, 0x00006085, 0x703d68ec, 0x00005600,
- 0x003d6000, 0x00008000, 0xaabffaa6, 0x00007900, 0x00000002, 0x00008280,
- 0x7039d0ec, 0x0000d600, 0x0039d800, 0x00000000, 0x0000604b, 0x0000f440,
- 0x703d50ec, 0x0000d600, 0x003d4800, 0x00008000, 0x2981e83d, 0x0000e100,
- 0x29c00a37, 0x000040c8, 0x29400800, 0x00001981, 0x29c018a7, 0x00009880,
- 0x0000604b, 0x00007400, 0x2a05383c, 0x00001002, 0x2980003d, 0x00001084,
- 0x000050fb, 0x0000f400, 0xa8402302, 0x00009780, 0x45150826, 0x0000e907,
- 0x8dc00000, 0x00006180, 0x2981e83d, 0x0000c900, 0x0000604b, 0x00007400,
- 0x29000000, 0x00000ac8, 0x29400000, 0x00009981, 0x29c04444, 0x00001283,
- 0xd11a24a6, 0x00006010, 0x89800a26, 0x00008090, 0x000060a6, 0x0000f009,
- 0x00001457, 0x00009583, 0x29c02c57, 0x00006199, 0x14000850, 0x000000b0,
- 0x000060ad, 0x0000f031, 0x000060ad, 0x0000f400, 0x000014a7, 0x00009583,
- 0x0bc0082f, 0x000090b0, 0x8002a64c, 0x00006583, 0x29c00e30, 0x00000081,
- 0x93000000, 0x00006189, 0x93000e4c, 0x00004091, 0x00006c57, 0x00006583,
- 0xcc253ca7, 0x00000900, 0x0c800832, 0x00001088, 0xc0000f52, 0x00009583,
- 0x29400ca5, 0x00006099, 0x7842a000, 0x00000999, 0x29e52ca4, 0x00001118,
- 0x00000001, 0x0000f0b0, 0xffffffff, 0x00007fa7, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x29b2be57, 0x00006101, 0x2b800e57, 0x00004180,
- 0x000570a7, 0x00001502, 0x000060e1, 0x0000f04b, 0x69008557, 0x00009283,
- 0x2a000000, 0x00009991, 0x000060c8, 0x00007011, 0x19801e57, 0x0000c488,
- 0xb0c018ae, 0x00009889, 0x1bc018ae, 0x0000c1b8, 0x00c008ae, 0x00000088,
- 0x036010ae, 0x0000c789, 0x820020ae, 0x0000018a, 0x384028ae, 0x00007892,
- 0x93000000, 0x0000b086, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x2a000ca8, 0x00006081, 0x29400ca5, 0x00000081, 0x2ba544a8, 0x00006100,
- 0x29c00ca6, 0x00004180, 0x310538ae, 0x0000784a, 0x0b000000, 0x0000b087,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x000060e1, 0x00007400, 0x10420700, 0x00007904, 0x294014a5, 0x00009081,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081,
- 0x00000001, 0x00007280, 0xd4800f52, 0x00001181, 0xa1aa754e, 0x0000e100,
- 0x29b18e31, 0x00004901, 0x89802d00, 0x0000e080, 0x11b00004, 0x00004980,
- 0x80198a86, 0x0000e502, 0xa1d722e4, 0x00008900, 0x12400000, 0x00007900,
- 0x000010c4, 0x00008980, 0x11c00000, 0x0000f900, 0x00007fc0, 0x00000980,
- 0x92280500, 0x00006100, 0x92d81226, 0x00004080, 0xd2181226, 0x00006080,
- 0xd1981302, 0x00008900, 0x09800800, 0x0000e181, 0x29800e31, 0x0000c189,
- 0x21880000, 0x00001980, 0x29e5354e, 0x00009101, 0x29e53086, 0x00006100,
- 0x294044a7, 0x00008c81, 0x0007f0a7, 0x00009582, 0x91c02ca5, 0x0000e080,
- 0x29e532ec, 0x0000c151, 0xa1bffa47, 0x0000f900, 0x00000002, 0x00008280,
- 0x29c7f800, 0x0000e1b9, 0x00143049, 0x00006106, 0x21802ca6, 0x00009880,
- 0x2b41d086, 0x00001002, 0x2180003b, 0x00006084, 0x2b8568ad, 0x00008900,
- 0x00253ca5, 0x0000e503, 0x2b443086, 0x00008900, 0x91fffa47, 0x00007900,
- 0x00000002, 0x00008280, 0x92400000, 0x00006198, 0x92000000, 0x0000c998,
- 0x00006128, 0x00007030, 0xa1802ca7, 0x00009880, 0x91fffa86, 0x0000f900,
- 0x00000002, 0x00008280, 0x00123849, 0x00006906, 0x703a48ec, 0x00005600,
- 0x003a4000, 0x00008000, 0x91fffa86, 0x0000f900, 0x00000002, 0x00008280,
- 0x703d70ec, 0x00005600, 0x003d6800, 0x00000000, 0x703a38ec, 0x0000d600,
- 0x003a3000, 0x00000000, 0x91c014a7, 0x0000e080, 0x00800049, 0x0000e586,
- 0x29e53ca5, 0x0000e100, 0xd21a4247, 0x00008000, 0x92280500, 0x00006100,
- 0xa1802aa7, 0x0000c880, 0x91fffa86, 0x0000f900, 0x00000002, 0x00008280,
- 0x00123849, 0x00006906, 0x703a48ec, 0x00005600, 0x003a4000, 0x00008000,
- 0x91fffa86, 0x0000f900, 0x00000002, 0x00008280, 0x7039d0ec, 0x0000d600,
- 0x0039d800, 0x00000000, 0x0000612e, 0x0000f400, 0x703a38ec, 0x0000d600,
- 0x003a3000, 0x00000000, 0xd2125a4b, 0x00009900, 0x703a48ec, 0x00005600,
- 0x003a4000, 0x00008000, 0x703d70ec, 0x00005600, 0x003c3000, 0x00000000,
- 0x703a38ec, 0x0000d600, 0x003a3000, 0x00000000, 0x00c002ec, 0x0000df80,
- 0x1609800b, 0x00001684, 0x00000c26, 0x00009583, 0x09800000, 0x0000e191,
- 0x29e534a6, 0x00004911, 0x00006139, 0x00007009, 0x0000616a, 0x0000f400,
- 0xa1802d00, 0x0000e080, 0x29a53ca7, 0x00004901, 0x2b943286, 0x00006100,
- 0x11e53c26, 0x0000c101, 0x29c00ca6, 0x00001081, 0x4d2a74a7, 0x00007812,
- 0x23000000, 0x0000308a, 0x12653447, 0x00009001, 0x29c01449, 0x00009880,
- 0xa9d53aae, 0x00009000, 0x303d3ea7, 0x00002000, 0xffffffff, 0x00007fa7,
- 0x00053829, 0x00001502, 0x29800ca6, 0x000091e9, 0x00006164, 0x00007061,
- 0x00000426, 0x0000e583, 0x94a534a6, 0x00008901, 0x113ef844, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x21800c26, 0x00006191, 0x12c00000, 0x00008980,
- 0x00006152, 0x00007008, 0x89802d00, 0x0000e080, 0x29c01486, 0x0000c880,
- 0xa1953a26, 0x00009000, 0x303aa486, 0x0000b038, 0x303ab686, 0x0000b038,
- 0x307ac086, 0x0000b038, 0x307ad286, 0x0000b038, 0x30c2a044, 0x0000e000,
- 0x0fc2a752, 0x00003004, 0x00052057, 0x0000e502, 0x0f02a345, 0x0000a104,
- 0x898ab055, 0x00000302, 0x533ac256, 0x00000418, 0x0000616d, 0x00007460,
- 0x11fad759, 0x00000420, 0xd132b656, 0x0000e100, 0x1242d85b, 0x00004900,
- 0xc0128354, 0x00001502, 0x14000050, 0x0000f918, 0x00000040, 0x00008180,
- 0x00219455, 0x00001503, 0x00006174, 0x0000f400, 0x40217d55, 0x0000e503,
- 0x0c880032, 0x00008198, 0x0bc8002f, 0x00001198, 0x12400ca6, 0x00001081,
- 0x002a7449, 0x00009503, 0x09800c26, 0x00001089, 0x00006169, 0x00007011,
- 0x00006144, 0x00007000, 0x29800ca6, 0x00009081, 0x09a53447, 0x00009001,
- 0x4f252c26, 0x0000f82a, 0x23000000, 0x0000b18a, 0xc0128354, 0x00001502,
- 0x14000050, 0x0000f928, 0x00000040, 0x00000080, 0x00219455, 0x00001503,
- 0x40217d55, 0x0000e503, 0x0c880032, 0x000000a8, 0x0bc8002f, 0x000090a8,
- 0x29004444, 0x0000e283, 0x941aa354, 0x00008900, 0x0c82a855, 0x0000823d,
- 0xa9000800, 0x0000e191, 0x2182b857, 0x00004900, 0x0000617c, 0x00007008,
- 0x617d6bdc, 0x0000f004, 0x0000617d, 0x00007000, 0x617d6f8b, 0x0000f004,
- 0x29c04444, 0x0000e283, 0x2a004444, 0x00000281, 0x00003c57, 0x00009583,
- 0xffffffff, 0x00007f86, 0x000061b8, 0x0000f008, 0x000061b8, 0x00007030,
- 0x7842a000, 0x0000e181, 0x29400ca5, 0x0000c081, 0x2b652ca4, 0x0000e100,
- 0xd11a24a6, 0x00008000, 0x89800a26, 0x00009080, 0xffffffff, 0x00007fa7,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29b2be57, 0x00006101,
- 0x2b800e57, 0x00004180, 0x000570ad, 0x00001502, 0x0000634c, 0x0000704b,
- 0x69008557, 0x00009283, 0x29c00000, 0x00009991, 0x0000619e, 0x0000f011,
- 0x34401e57, 0x0000c488, 0x5cc018ae, 0x0000988b, 0x368018ae, 0x000041b8,
- 0x00c008ae, 0x00000088, 0xfce010ae, 0x00004791, 0x81a020ae, 0x0000018a,
- 0x5f4028ae, 0x0000f892, 0x43000000, 0x0000b08d, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x29c00ca7, 0x00006081, 0x29400ca5, 0x00000081,
- 0x2ba53ca7, 0x00006100, 0x2b400ca6, 0x00004180, 0x668568ae, 0x0000784a,
- 0xeb000000, 0x0000308b, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x0000617d, 0x0000f400, 0x10420700, 0x00007904,
- 0x294014a5, 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x29400ca5, 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x29400ca5, 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x29400ca5, 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x29400ca5, 0x00009081, 0x10420700, 0x00007904, 0x0000617d, 0x0000f400,
- 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x69004557, 0x00006283,
- 0xa9e2bc57, 0x00000900, 0x92bd70a7, 0x00002014, 0x92bd70a7, 0x0000a08c,
- 0xc0000f52, 0x00009583, 0x29c02c57, 0x00009199, 0x000061e6, 0x00007031,
- 0x000014a7, 0x00009583, 0x00006c57, 0x00009583, 0xffffffff, 0x00007f86,
- 0x000061c4, 0x0000f030, 0x000061c6, 0x0000f010, 0x000061e0, 0x00007200,
- 0x2b7576ae, 0x00001900, 0x0019b055, 0x00001502, 0x39a2aaec, 0x0000e121,
- 0x29c01855, 0x000000a8, 0x29ffe0a7, 0x00007928, 0x003ffffe, 0x00008280,
- 0x000061e0, 0x00007228, 0x39801ce6, 0x0000e2a1, 0x2b453eae, 0x00008028,
- 0xa9c00b36, 0x00001180, 0xa9d2aaa7, 0x00001000, 0xffffffff, 0x00007f86,
- 0x2c126aa7, 0x00009600, 0x29c588b0, 0x00009000, 0x29c53b4d, 0x00009000,
- 0x29c080a7, 0x00001780, 0xffffffff, 0x00007f86, 0x2c153eae, 0x00009600,
- 0xab4588b0, 0x00001000, 0x2c153b36, 0x00001600, 0xa9c588b0, 0x00001000,
- 0x29d53aa7, 0x00006100, 0x2b52aaad, 0x0000c000, 0x0002a8a7, 0x00006502,
- 0x2b456ce6, 0x00000000, 0x2b456eae, 0x00001028, 0xffffffff, 0x00007f86,
- 0x29c430ad, 0x00001000, 0x00053829, 0x00001502, 0x000061e8, 0x0000f06b,
- 0x61e4609b, 0x00007100, 0x0000617d, 0x0000f200, 0x218430ad, 0x00001000,
- 0x000061e9, 0x00007200, 0x3c000000, 0x00009981, 0x3c000800, 0x00001981,
- 0x2b443029, 0x00006100, 0x29c02c57, 0x00000181, 0x000014a7, 0x00009583,
- 0x000061ef, 0x0000f033, 0x00006c57, 0x00009583, 0x00006207, 0x00007013,
- 0x000004f0, 0x00006583, 0x39843029, 0x00000100, 0x39c00000, 0x00009990,
- 0x00006231, 0x0000f011, 0x003570ad, 0x00001502, 0x21843029, 0x0000e108,
- 0x39800000, 0x00008988, 0x39c00800, 0x00006188, 0x39c00000, 0x0000c990,
- 0x21800000, 0x00001990, 0xffffffff, 0x00007f86, 0x00000086, 0x0000e582,
- 0x29c00000, 0x00000980, 0x3b800000, 0x00006180, 0x29c00800, 0x0000c988,
- 0x000000e6, 0x00001582, 0x3b800800, 0x00001990, 0xffffffff, 0x00007f86,
- 0x29e53cee, 0x00009303, 0x218436ae, 0x00009010, 0x00006204, 0x0000f009,
- 0x000430ad, 0x00001502, 0x00006231, 0x0000706b, 0x622e609b, 0x00007100,
- 0xa199b6ae, 0x0000e000, 0x39843029, 0x00000100, 0x001430ad, 0x00009502,
- 0x39c568ad, 0x00001b24, 0x29d43286, 0x00009b24, 0x0000635a, 0x0000f028,
- 0x39c00000, 0x00006180, 0x29c538e7, 0x00004100, 0x3c453a86, 0x00001800,
- 0x86c000a7, 0x0000f88a, 0x03000001, 0x00000080, 0xffffffff, 0x00007f86,
- 0x000788e6, 0x00001502, 0x3b853fe4, 0x0000e020, 0x398788e6, 0x00004120,
- 0x29c008a7, 0x0000e180, 0x3c4008f1, 0x00008780, 0x39c770e7, 0x00001020,
- 0x848000a7, 0x0000f892, 0x03000001, 0x00000080, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x001430e6, 0x00009502,
- 0x39c008e7, 0x0000e0a0, 0x399430e6, 0x00000120, 0x8c4004f0, 0x00007892,
- 0x03000001, 0x00000080, 0x2c3572e7, 0x00001600, 0x218588b0, 0x00009000,
- 0x2c3573e7, 0x00009600, 0x3b8588b0, 0x00001000, 0x3b8080ee, 0x00001880,
- 0x21801855, 0x00006080, 0x3b8430ee, 0x00008000, 0x000061fa, 0x0000f400,
- 0x29ffe086, 0x00007900, 0x003ffffe, 0x00008280, 0x218538ee, 0x00009000,
- 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x2c19b2e7, 0x00009600, 0x1f0588b0, 0x00009000, 0x2c19b3e7, 0x00001600,
- 0x29c588b0, 0x00009000, 0x949732e6, 0x0000e100, 0x29c080a7, 0x00004880,
- 0x29c3e0a7, 0x00001000, 0x1f0538a7, 0x00001900, 0x90c000e6, 0x00007892,
- 0x03000001, 0x00008000, 0x596004a8, 0x00004188, 0x00c02c57, 0x00008098,
- 0x4b002c57, 0x0000c292, 0x9ac20557, 0x0000988c, 0xa3008557, 0x0000788e,
- 0x8b000000, 0x00003183, 0xc1c06457, 0x00007892, 0xc3000000, 0x0000b187,
- 0x2c0036e3, 0x00001680, 0x9f4588b0, 0x00009000, 0xa180127d, 0x00001080,
- 0x9343ec86, 0x00002005, 0x93b94a86, 0x00005004, 0x00201000, 0x00000000,
- 0x938f3286, 0x0000a806, 0x0000623b, 0x0000f401, 0x1f400c7d, 0x00009081,
- 0x935bec86, 0x0000a806, 0x80001e57, 0x00001583, 0x01085000, 0x000099b8,
- 0xc1000a26, 0x000090b8, 0x62527a6f, 0x0000f338, 0x01802004, 0x00001938,
- 0x00000055, 0x00009582, 0x01085000, 0x00009988, 0xc1000a26, 0x00009088,
- 0x00006258, 0x00007010, 0x62587a6f, 0x00007300, 0x01802004, 0x00009900,
- 0x00000055, 0x00006582, 0xb000081f, 0x0000a400, 0x53201034, 0x000004f3,
- 0x9380000f, 0x000083d7, 0x00006260, 0x00007210, 0x51000800, 0x00006189,
- 0x12c00000, 0x00004980, 0x0000626c, 0x00007000, 0x21801657, 0x00006181,
- 0x51001657, 0x00000181, 0x00000c86, 0x00006583, 0x12c2e05c, 0x00000900,
- 0x0000626c, 0x00007033, 0x4d401c86, 0x0000c488, 0xd2c02486, 0x0000188c,
- 0x9b001486, 0x0000f892, 0x5b000000, 0x0000b183, 0x12c2e068, 0x00001000,
- 0x12c25864, 0x00001000, 0x12c25860, 0x00009000, 0x9f402302, 0x0000e780,
- 0x03800100, 0x00008980, 0x4513e80e, 0x00006907, 0x13a08557, 0x0000c594,
- 0x8b0000a7, 0x00008996, 0x80005657, 0x00001583, 0x01085000, 0x00001998,
- 0xc1000a26, 0x00001098, 0x62767a6f, 0x00007318, 0x01802004, 0x00009918,
- 0x00040055, 0x00001582, 0x01085000, 0x00001998, 0xc1000a26, 0x00001098,
- 0x627b7a6f, 0x0000f318, 0x01802004, 0x00009918, 0x00001457, 0x00006583,
- 0xa1801a55, 0x00000080, 0x92ffe286, 0x0000f900, 0x0000003e, 0x00008280,
- 0x9f402302, 0x0000e780, 0x21a2aaec, 0x00000101, 0x4513e80e, 0x0000e107,
- 0xb000081f, 0x00003400, 0xd3009c02, 0x000084fa, 0x51000000, 0x00006181,
- 0x16000000, 0x0000c9b0, 0x9300c24b, 0x000060b0, 0x9300a24b, 0x00000098,
- 0x12c2a855, 0x0000e100, 0x8d401c86, 0x0000c281, 0x10408557, 0x0000c595,
- 0x094000a7, 0x00000891, 0x00001457, 0x00006583, 0xd3001000, 0x00000981,
- 0x16000000, 0x0000e1b0, 0x1380c000, 0x0000c9b1, 0x1380a000, 0x0000e199,
- 0x12c00000, 0x00004980, 0x00000055, 0x00006582, 0x9f402302, 0x00008780,
- 0x03800100, 0x0000e188, 0x51000800, 0x00004989, 0x4513e80e, 0x0000e90f,
- 0x0000629a, 0x0000f010, 0xb099b04b, 0x0000f81a, 0xe3000000, 0x0000b185,
- 0x0380405f, 0x00006780, 0x13001657, 0x00000181, 0x0380000e, 0x0000f900,
- 0x00000200, 0x00000380, 0x51001657, 0x00006181, 0x4513e80e, 0x00002107,
- 0x12c2e05c, 0x00009900, 0xa9400c4c, 0x0000789a, 0x03000001, 0x00008000,
- 0xb099b05c, 0x0000f81a, 0xe3000000, 0x0000b185, 0x56001c4c, 0x00004488,
- 0x56c0244c, 0x0000988d, 0xad40144c, 0x0000788a, 0x03000001, 0x00008000,
- 0xb099b05c, 0x0000f81a, 0xe3000000, 0x0000b185, 0x12c2e068, 0x0000e000,
- 0x2180406b, 0x00008780, 0x05000086, 0x00007900, 0x00000200, 0x00000380,
- 0x4513e814, 0x0000e907, 0x12c25864, 0x0000e000, 0x04004067, 0x00008780,
- 0x04800010, 0x00007900, 0x00000200, 0x00000380, 0x4513e812, 0x0000e907,
- 0x12c25860, 0x00006000, 0x21804063, 0x00000780, 0x04000086, 0x0000f900,
- 0x00000200, 0x00000380, 0x4513e810, 0x00006907, 0xb099b04b, 0x0000f81a,
- 0x03000001, 0x00000080, 0xffffffff, 0x00007f86, 0x93001a4b, 0x00009080,
- 0x000062c3, 0x0000f400, 0xa1bfe24c, 0x00007900, 0x0000003e, 0x00008280,
- 0x9314344e, 0x00001000, 0x9300c336, 0x00001080, 0x40000d44, 0x0000e583,
- 0x13a25aec, 0x00008101, 0x8d401c4e, 0x0000e281, 0xb000081f, 0x0000a400,
- 0x1380f800, 0x0000e191, 0x13809800, 0x0000c989, 0x08608557, 0x0000c594,
- 0x856000a7, 0x00000491, 0x21803457, 0x00009181, 0x00000c86, 0x00009583,
- 0x12c00000, 0x000061b0, 0x93026000, 0x0000c9b0, 0x13807800, 0x0000e1b1,
- 0xb000081f, 0x00006430, 0x000062dc, 0x0000f018, 0x00004060, 0x0000e582,
- 0x8d400000, 0x00008981, 0x01085000, 0x00009990, 0xc1000a26, 0x00009090,
- 0x62d87a6f, 0x00007310, 0x01802004, 0x00001910, 0xa1802302, 0x00009780,
- 0x4514300e, 0x0000e907, 0x06408557, 0x00004595, 0x044000a7, 0x00000391,
- 0x00005c57, 0x00009583, 0x01085000, 0x00001998, 0xc1000a26, 0x00001098,
- 0x62e17a6f, 0x0000f318, 0x01802004, 0x00009918, 0x1f404056, 0x0000e780,
- 0x9f802302, 0x00008780, 0x0380007d, 0x00007900, 0x00000200, 0x00000380,
- 0x4513f00e, 0x0000e107, 0xb000081f, 0x00003400, 0x12c00000, 0x000004f1,
- 0xcd401800, 0x000084fa, 0x5da05457, 0x0000448a, 0x18c08557, 0x00001896,
- 0xc7c000a7, 0x0000f892, 0x63000000, 0x0000b188, 0x0380405a, 0x00006780,
- 0x010a0011, 0x0000a604, 0x0400007d, 0x00007900, 0x00000200, 0x00000380,
- 0x0380000e, 0x0000f900, 0x00000200, 0x00000380, 0x4513f010, 0x0000e107,
- 0x80000011, 0x0000b407, 0x4513f00e, 0x00006907, 0x02c08557, 0x00004595,
- 0x028000a7, 0x00000193, 0x0019b05c, 0x0000e502, 0x1322e2ec, 0x00000101,
- 0x8d401c4c, 0x00006281, 0xb000081f, 0x0000a400, 0x93001a5c, 0x000060b0,
- 0xd3001000, 0x00000981, 0x933fe24c, 0x00007930, 0x0000003e, 0x00008280,
- 0x12e00f5c, 0x00008492, 0x13809800, 0x00006181, 0x9300a336, 0x00004098,
- 0xffffffff, 0x00007f86, 0x9300a24c, 0x000010b0, 0x00e08557, 0x0000c594,
- 0x81a000a7, 0x00008093, 0x53200024, 0x000004f3, 0x12e00000, 0x000004d2,
- 0x13805800, 0x00001981, 0x61808557, 0x00004994, 0x3ec000a7, 0x00001896,
- 0xffffffff, 0x00007f86, 0x1f004444, 0x00001283, 0xffffffff, 0x00007f86,
- 0xb9143a87, 0x00009908, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b,
- 0xc01d5345, 0x00009502, 0xb9143a87, 0x00009908, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x0000f08b, 0x002534a5, 0x00006503, 0xb9143a87, 0x00008900,
- 0xa9c02d00, 0x00006088, 0x12023046, 0x00004908, 0x307a34a7, 0x00002088,
- 0x12423847, 0x0000e108, 0xd15d53aa, 0x0000c908, 0x307a3ca7, 0x00002008,
- 0x00000000, 0x0000f081, 0x2185384b, 0x0000e100, 0x11010044, 0x00000380,
- 0x0019b086, 0x00006502, 0xd4800f52, 0x00008181, 0x92801a86, 0x0000e0b0,
- 0x12c5384b, 0x00000100, 0xa1bfe24a, 0x00007930, 0x0000003e, 0x00008280,
- 0x0000632a, 0x00007018, 0x0000632b, 0x00007200, 0x931436ae, 0x00001000,
- 0x9319b6ae, 0x00001000, 0x1602c0a7, 0x00006002, 0x29c0af4c, 0x00008080,
- 0x16400059, 0x00006084, 0xb84014a7, 0x00008881, 0xffffffff, 0x00007fc7,
- 0x1f821300, 0x00007904, 0x20021300, 0x0000f904, 0xcf03f07c, 0x0000782a,
- 0x03000001, 0x00000080, 0x1f03f07c, 0x0000e100, 0xd3000f4c, 0x00000081,
- 0x51000d44, 0x00001181, 0xffffffff, 0x00007f86, 0x1f821300, 0x00007904,
- 0x20021300, 0x0000f904, 0xcd03f07c, 0x00007822, 0x03000001, 0x00000080,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x12a43f7c, 0x00000e10, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x09800000, 0x00006181,
- 0x15001426, 0x0000c880, 0xa192a286, 0x00009000, 0x2ffaa486, 0x00003038,
- 0x2ffab686, 0x00003038, 0x000060f3, 0x00007400, 0x303ac086, 0x00003038,
- 0x303ad286, 0x00003038, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03a1c000, 0x00007900,
- 0x000d8022, 0x00008980, 0x01a52ca5, 0x0000e100, 0x08001a09, 0x0000e106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x635a1bac, 0x0000f500,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02113226, 0x00004900,
- 0x39c00000, 0x00001980, 0x88c004f0, 0x0000788a, 0x8b000000, 0x0000b181,
- 0x80004ea8, 0x0000e583, 0x26000000, 0x00000980, 0x25000000, 0x0000e180,
- 0x966d4098, 0x00006001, 0x25400000, 0x000009d8, 0x00006367, 0x00007408,
- 0x25c00000, 0x000089e4, 0x26c00000, 0x000089e8, 0x800006a8, 0x00001583,
- 0x6367196c, 0x0000f113, 0x636b1a1c, 0x00007500, 0xe9800000, 0x00006180,
- 0x2b9552aa, 0x00004900, 0xa92003a9, 0x00008a9a, 0x400015a9, 0x00001583,
- 0x03000000, 0x0000e190, 0x03400000, 0x00004990, 0x03800000, 0x00006190,
- 0x03c00000, 0x0000c990, 0x00000001, 0x00007088, 0x40000da9, 0x0000e583,
- 0x1f000000, 0x00008981, 0x02c00000, 0x0000e180, 0x1f000800, 0x00004989,
- 0x000810ec, 0x0000d780, 0x00c066c0, 0x00000180, 0x23362080, 0x0000e180,
- 0x0000180b, 0x00006106, 0x400005a9, 0x00006583, 0xc000180b, 0x00002006,
- 0x02009000, 0x00007900, 0x0002b200, 0x00000980, 0x02400000, 0x0000f900,
- 0x00018030, 0x00008980, 0x001910ec, 0x0000d780, 0x00006001, 0x00000080,
- 0x04000000, 0x0000e180, 0x0423e08c, 0x0000e001, 0x04400000, 0x000001c8,
- 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8, 0x05c00000, 0x00006180,
- 0x82901202, 0x00004900, 0x02800502, 0x000008a0, 0x22400000, 0x000008e8,
- 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
- 0x24c00000, 0x000006f0, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0,
- 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8,
- 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x00006180,
- 0x22c42084, 0x0000c900, 0x00000001, 0x00007480, 0xeafd47ab, 0x0000e101,
- 0x2ac05cab, 0x00008181, 0xea4403a9, 0x00009188, 0x0100af4c, 0x0000e080,
- 0xa259b609, 0x00000000, 0xb8401404, 0x00006081, 0xa299b709, 0x00004000,
- 0x002f1885, 0x0000f900, 0x00000008, 0x00008582, 0x11010044, 0x00006380,
- 0x82d9b336, 0x00000900, 0xaa99b609, 0x0000e000, 0x023a674c, 0x00000901,
- 0x83400801, 0x000009d2, 0x2219b336, 0x0000e100, 0x82800a89, 0x0000c880,
- 0x01021300, 0x0000f904, 0x01821300, 0x00007904, 0xea5453a9, 0x0000e100,
- 0x83d42a85, 0x00008930, 0x83ef2004, 0x00006198, 0x01402004, 0x0000c900,
- 0x12802004, 0x00001900, 0x0010584a, 0x00009502, 0x000063be, 0x0000f02b,
- 0x801d4a8a, 0x00009502, 0x80107a0a, 0x00009502, 0xffffffff, 0x00007f86,
- 0x000063c6, 0x0000f018, 0x000063c6, 0x0000f018, 0x82d9b20b, 0x00006000,
- 0xea5453a9, 0x00008100, 0x0010584a, 0x00006502, 0xaa944aaa, 0x00000000,
- 0x82944a0a, 0x00006000, 0x25000c94, 0x00000081, 0x22105a0b, 0x00009900,
- 0x000063b1, 0x00007020, 0x01021300, 0x0000f904, 0x01821300, 0x00007904,
- 0xd3000f4c, 0x00006081, 0x51000d44, 0x00008181, 0x000063af, 0x00007400,
- 0x03400c0d, 0x00006081, 0x01402004, 0x00000900, 0x1280204a, 0x00001000,
- 0x0004404a, 0x00006502, 0x12c4404b, 0x00008100, 0x01002888, 0x00006010,
- 0xd3000f4c, 0x00008089, 0x51000d44, 0x00006189, 0x12800000, 0x00008988,
- 0x81400000, 0x000088e0, 0x12825004, 0x0000e110, 0x8222b888, 0x0000a006,
- 0x40000508, 0x0000e583, 0x81000000, 0x00008980, 0x01400800, 0x0000e191,
- 0xc3204888, 0x0000e006, 0x8000020b, 0x0000e582, 0x23000000, 0x00000980,
- 0x81000800, 0x00006190, 0x23c00000, 0x0000c980, 0x00001457, 0x00006583,
- 0x24400000, 0x00000980, 0x2342a054, 0x0000e130, 0x61a02088, 0x00006000,
- 0x23028050, 0x00006130, 0x20a02888, 0x0000e000, 0x2382c058, 0x0000e130,
- 0x2342d05a, 0x0000c918, 0x2382c058, 0x0000e118, 0x23c2c859, 0x00004918,
- 0x22010088, 0x00006398, 0x22400000, 0x00000980, 0x00000405, 0x00006583,
- 0x24800000, 0x00000980, 0x24c00000, 0x00006180, 0x22c42084, 0x0000c900,
- 0x228152aa, 0x0000e000, 0x64206c0d, 0x00000901, 0x000063f2, 0x00007408,
- 0xe4105a0b, 0x0000e100, 0x24001408, 0x0000c181, 0x01000000, 0x0000e191,
- 0x2464a494, 0x0000c901, 0x800016a8, 0x00009583, 0x01000800, 0x00001989,
- 0xffffffff, 0x00007f86, 0x30e02088, 0x0000e800, 0x00000001, 0x00007480,
- 0x1602c20b, 0x00001002, 0x16400059, 0x00009084, 0x400005ab, 0x00001583,
- 0x00000001, 0x0000708b, 0x000004ac, 0x00009583, 0x6ac00000, 0x00006191,
- 0xa1802d00, 0x00004890, 0x30073c86, 0x0000f912, 0x39800000, 0x00008000,
- 0x00000001, 0x00007088, 0x30057e86, 0x0000f902, 0x2b800000, 0x00008000,
- 0x30456886, 0x0000f902, 0x29c00000, 0x00008000, 0x30453286, 0x0000f902,
- 0x21c00000, 0x00000000, 0x21802d4e, 0x00006080, 0x106560e7, 0x00006004,
- 0x700100ec, 0x00005680, 0x00000540, 0x00008088, 0x703f38ec, 0x0000d600,
- 0x003f3000, 0x00000000, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000,
- 0x703d68ec, 0x00005600, 0x003d3800, 0x00000000, 0x2941d086, 0x00006002,
- 0x53800d4e, 0x00000081, 0x703d30ec, 0x0000d600, 0x003c3800, 0x00008000,
- 0x2900003b, 0x00006084, 0x21b20004, 0x00000980, 0x04181086, 0x0000e987,
- 0x00000001, 0x00007480, 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000,
- 0x700100ec, 0x00005680, 0x003c37c0, 0x00008078, 0x641a63f5, 0x00007100,
- 0x800016a8, 0x00009583, 0x00006425, 0x0000700b, 0xdf04074e, 0x00001283,
- 0x80219e4e, 0x00009503, 0xffffffff, 0x00007f86, 0x00006425, 0x00007008,
- 0x0000643c, 0x0000f008, 0xc0113326, 0x00009502, 0x07c4001f, 0x0000e388,
- 0x0000081d, 0x0000240b, 0x0d32764e, 0x00009908, 0x1f400000, 0x0000f900,
- 0x001f8000, 0x00008980, 0x800016a8, 0x00006583, 0x001d487d, 0x0000a186,
- 0x0425587d, 0x0000e101, 0x00001018, 0x0000b402, 0x00505000, 0x0000f900,
- 0x0004c010, 0x00008980, 0xc000b000, 0x00006181, 0x40001018, 0x00006402,
- 0x00006438, 0x0000f408, 0x203beeec, 0x0000d600, 0x003c2000, 0x00008000,
- 0xc0c05800, 0x0000e180, 0x807d5fab, 0x00004901, 0xffc00000, 0x00001980,
- 0xffffffff, 0x00007f86, 0x008806ec, 0x00005f80, 0x00985980, 0x00008ac4,
- 0x7fe06400, 0x000080c3, 0x80c00800, 0x00009981, 0x008806ec, 0x00005f80,
- 0x00985980, 0x000085c4, 0x8f83e0ec, 0x0000a084, 0x0a02747d, 0x0000e084,
- 0x0000101d, 0x00003403, 0x1f63efe4, 0x00006000, 0xf000004e, 0x00006401,
- 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280, 0x00006425, 0x00007400,
- 0x1f63ec7c, 0x00001401, 0x8f83e8ec, 0x0000a884, 0x41004557, 0x00006283,
- 0xa9e2bc57, 0x00000900, 0x92bd68a7, 0x00002014, 0x92bd68a7, 0x0000a08c,
- 0x0019b04b, 0x00001502, 0xaa92624c, 0x00006130, 0x01800000, 0x0000c9b1,
- 0x22008000, 0x0000e1b0, 0x23000000, 0x0000c9b0, 0x000064e5, 0x0000f018,
- 0x40000508, 0x0000e583, 0x81000000, 0x00008980, 0x01800800, 0x0000e191,
- 0x8222b888, 0x00006006, 0x8000024b, 0x00006582, 0xc3256888, 0x0000a006,
- 0x81000800, 0x00006190, 0x01c00000, 0x00004981, 0x000014ad, 0x00006583,
- 0x0fc22405, 0x00002000, 0x01c00800, 0x00006191, 0x61a02088, 0x00006000,
- 0x0e02bc04, 0x00006000, 0x20a03088, 0x0000b000, 0x00005457, 0x0000e583,
- 0x01602405, 0x00000301, 0x01e02c07, 0x00006201, 0x0a027404, 0x0000a084,
- 0x0e422405, 0x0000e000, 0x10603888, 0x00003000, 0x24400800, 0x00006180,
- 0x31027088, 0x0000e000, 0x01403c05, 0x00006081, 0x23c00000, 0x0000c980,
- 0x24800000, 0x000089cc, 0x22c42084, 0x0000e100, 0x2281524c, 0x0000c000,
- 0x240a5944, 0x00008902, 0xa2618126, 0x00008825, 0x000064c3, 0x0000f418,
- 0x226a714e, 0x00008822, 0xe471ae35, 0x0000e101, 0xa2202405, 0x00004301,
- 0x00001457, 0x00006583, 0xe2400a26, 0x00008080, 0x2400174c, 0x00006181,
- 0x2342a054, 0x00000930, 0x2382c058, 0x0000e130, 0x23028050, 0x00004930,
- 0x000064c5, 0x00007018, 0x00000406, 0x00009583, 0x0000647f, 0x0000700b,
- 0x800016a8, 0x00006583, 0x01000000, 0x00008981, 0x01000800, 0x00001989,
- 0xffffffff, 0x00007f86, 0x30e02088, 0x0000e800, 0x12c00000, 0x00006180,
- 0x810403a9, 0x00004180, 0x41008557, 0x00006283, 0xea526204, 0x00008100,
- 0x000064eb, 0x0000f013, 0x800006ab, 0x0000e583, 0x02c00000, 0x00000980,
- 0x0000b8ec, 0x0000d780, 0x00006001, 0x00000080, 0x0197f880, 0x00006180,
- 0x0000180b, 0x00006106, 0x02000d90, 0x0000e181, 0x83c02302, 0x00008780,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03401000, 0x0000f900,
- 0x0001c000, 0x00000980, 0x000808ec, 0x0000d780, 0x00006001, 0x00000080,
- 0xc000180b, 0x0000e006, 0xb2e04006, 0x0000b004, 0x01000802, 0x0000e180,
- 0x4510780e, 0x0000e107, 0x021cb000, 0x00007900, 0x0003f100, 0x00000980,
- 0x01400000, 0x000080dc, 0x000064ca, 0x00007408, 0x02a81402, 0x00008028,
- 0x03c00004, 0x0000e180, 0x69000000, 0x00004991, 0x25008488, 0x0000e283,
- 0x29c00fab, 0x00000081, 0x69004000, 0x0000e191, 0x0e01c2aa, 0x00004000,
- 0x277fe09d, 0x00007900, 0x003ffffe, 0x00008280, 0x288512aa, 0x0000e000,
- 0x2501502a, 0x00008900, 0xeafd44a7, 0x0000e101, 0xa5f4bda4, 0x00008301,
- 0x0a8152aa, 0x00001000, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780, 0x00006001, 0x00000080,
- 0x40000d90, 0x00001583, 0x29c0f800, 0x00006191, 0x29c09800, 0x00004989,
- 0xffffffff, 0x00007f86, 0x2ae53cab, 0x00001101, 0x0000004b, 0x00006582,
- 0xeac037ab, 0x00000181, 0xaac00eab, 0x00006081, 0x2b000cac, 0x00000081,
- 0x21555085, 0x00009100, 0x00000001, 0x00007088, 0x0019b04b, 0x00001502,
- 0xa9c01a4b, 0x000090a8, 0xa9ffe2a7, 0x00007928, 0x0000003e, 0x00008280,
- 0x40000d44, 0x0000e583, 0x93153ead, 0x00008028, 0x29c0f800, 0x00006191,
- 0x29c09800, 0x00004989, 0x00000001, 0x00007480, 0xffffffff, 0x00007f86,
- 0x13a53ca7, 0x00001901, 0x2400174c, 0x00006181, 0x22400e30, 0x00000081,
- 0x237ac75a, 0x00008838, 0x22010088, 0x00006380, 0x23c2c859, 0x00008900,
- 0x1fc00406, 0x0000788b, 0xd3000000, 0x0000b283, 0x26000000, 0x0000e180,
- 0x69b55eab, 0x0000c901, 0x25000000, 0x0000e180, 0x966d4098, 0x00006001,
- 0x26008488, 0x0000e283, 0x25400000, 0x00008980, 0x25800000, 0x000089dc,
- 0x26400000, 0x000009e8, 0x26c00000, 0x0000e180, 0xe9929252, 0x0000c900,
- 0x64d81a1c, 0x00007500, 0xaba00eaa, 0x00008a92, 0x94800000, 0x00006180,
- 0x69804000, 0x00004991, 0x29c00fab, 0x00009081, 0xeafd44a7, 0x00001101,
+ 0x01000ce0, 0x00009283, 0x000047e7, 0x00007013, 0x83680500, 0x0000e100,
+ 0x8150620c, 0x00004900, 0x6a20340d, 0x0000a080, 0xc1507a0e, 0x00001300,
+ 0xffffffff, 0x00007f97, 0x41004506, 0x00001283, 0x41003506, 0x00009283,
+ 0xffffffff, 0x00007f86, 0x0000478e, 0x00007010, 0x00004749, 0x0000f010,
+ 0x0bc00004, 0x00006180, 0x0800320d, 0x00006100, 0x0c000000, 0x00006180,
+ 0x0010682f, 0x00006106, 0x0b009000, 0x00007900, 0x0000a0c0, 0x00008980,
+ 0x0b400000, 0x0000f900, 0x00018030, 0x00008980, 0x8b90620c, 0x00006100,
+ 0xcb907a0e, 0x00004300, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec,
+ 0x0c684f0a, 0x00008308, 0x0cb84409, 0x0000030c, 0x0c008d0b, 0x00008300,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009910ec, 0x00005780, 0x00006001, 0x00000080, 0x40000d90, 0x00001583,
- 0x29c0f800, 0x00006191, 0x29c09800, 0x00004989, 0x000064b2, 0x0000f400,
- 0xffffffff, 0x00007f86, 0x2ae53cab, 0x00001101, 0x001d484b, 0x00001502,
- 0x024568ad, 0x00009918, 0x00006530, 0x00007031, 0x64e9639b, 0x0000f100,
- 0x21008557, 0x0000f88f, 0x03000001, 0x00000080, 0x02c00000, 0x0000e180,
- 0xa9c02302, 0x0000c780, 0x800006ab, 0x0000e583, 0x0000180b, 0x0000a106,
- 0x0000b8ec, 0x0000d780, 0x00006002, 0x00000080, 0x223df888, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x0200b000, 0x0000f900, 0x00047180, 0x00008980,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x4515380e, 0x00006107, 0xc000180b, 0x0000b006,
- 0x001010ec, 0x0000d780, 0x00006000, 0x00008080, 0x00006519, 0x00007408,
- 0x02a81402, 0x00008028, 0x03c00004, 0x0000e180, 0x69000000, 0x00004991,
- 0x25008488, 0x0000e283, 0x29c00fab, 0x00000081, 0x69004000, 0x0000e191,
- 0x0e01c2aa, 0x00004000, 0x277fe09d, 0x00007900, 0x003ffffe, 0x00008280,
- 0x288512aa, 0x0000e000, 0x2501502a, 0x00008900, 0xeafd44a7, 0x0000e101,
- 0xa5f4bda4, 0x00008301, 0x0a8152aa, 0x00001000, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780,
- 0x00006001, 0x00000080, 0x2ac09cab, 0x00001181, 0x0000004b, 0x00006582,
- 0xeac037ab, 0x00000181, 0xaac00eab, 0x00006081, 0x2b000cac, 0x00000081,
- 0x21555085, 0x00009100, 0x00000001, 0x00007088, 0x000064b8, 0x00007000,
- 0x26000000, 0x0000e180, 0x69b55eab, 0x0000c901, 0x25000000, 0x0000e180,
- 0x966d4098, 0x00006001, 0x26008488, 0x0000e283, 0x25400000, 0x00008980,
- 0x25800000, 0x000089dc, 0x26400000, 0x000009e8, 0x26c00000, 0x0000e180,
- 0xe9929252, 0x0000c900, 0x65271a1c, 0x0000f500, 0xaba00eaa, 0x00008a92,
- 0x94800000, 0x00006180, 0x69804000, 0x00004991, 0x29c00fab, 0x00009081,
- 0xeafd44a7, 0x00001101, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780, 0x00006001, 0x00000080,
- 0x00006512, 0x00007200, 0x2ac09cab, 0x00001181, 0xa9c00b36, 0x00001180,
- 0xa9d25aa7, 0x00001000, 0xffffffff, 0x00007f86, 0x2c126aa7, 0x00009600,
- 0x29c588b0, 0x00009000, 0x81925e35, 0x00006000, 0x29c53b4d, 0x00000000,
- 0x29c048a7, 0x00006780, 0x010080a7, 0x00008780, 0xa9fc02a7, 0x0000f900,
- 0x0000003e, 0x00008280, 0x2c1026ad, 0x00009600, 0x814588b0, 0x00009000,
- 0x81d02a06, 0x00006000, 0xaa902a06, 0x00008000, 0x2c102336, 0x00001600,
- 0x814588b0, 0x00009000, 0x0010284b, 0x00006502, 0xa9d53a07, 0x00000000,
- 0xa9d53fad, 0x00006018, 0x82502204, 0x00008900, 0x82400a04, 0x0000e098,
- 0xaa903ead, 0x00000018, 0x801d4aa7, 0x00009502, 0x011552aa, 0x00001930,
- 0x00006587, 0x00007019, 0x00042804, 0x00001502, 0x01000000, 0x000061b1,
- 0x22028000, 0x000049b0, 0x23000000, 0x0000e1b0, 0x23c00000, 0x0000c9b0,
- 0x00006587, 0x0000f018, 0x40000508, 0x0000e583, 0x01c00000, 0x00008981,
- 0x01000800, 0x00006191, 0x8222b888, 0x00006006, 0x000014ad, 0x00006583,
- 0x0fc22406, 0x00002000, 0x01c00800, 0x00006191, 0x0e02bc05, 0x0000e000,
- 0x01a02c06, 0x0000e301, 0xc3256888, 0x0000a006, 0x01e03407, 0x00006201,
- 0x20a02088, 0x0000a000, 0x0e422406, 0x0000e000, 0x10603888, 0x00003000,
- 0x00005457, 0x0000e583, 0x0a027405, 0x00002084, 0x24400000, 0x0000e180,
- 0x31027088, 0x0000e000, 0x01803c06, 0x00006081, 0x24800000, 0x0000c980,
- 0x24c00000, 0x00006180, 0x22c42084, 0x0000c900, 0x228152aa, 0x0000e000,
- 0x642a2544, 0x00000901, 0xa409314b, 0x00000826, 0x624a7430, 0x00008824,
- 0x00006580, 0x0000f418, 0xa229ad4e, 0x00008906, 0x24604c09, 0x0000e101,
- 0xa2202c06, 0x0000c301, 0x00001457, 0x00006583, 0xe2400a26, 0x00008080,
- 0x2400174c, 0x00006181, 0x2342a054, 0x00000930, 0x2382c058, 0x0000e130,
- 0x23028050, 0x00004930, 0x00006582, 0x0000f018, 0x00000404, 0x00001583,
- 0x0000657c, 0x0000f00b, 0x800016a8, 0x00006583, 0x01000000, 0x00008981,
- 0x01000800, 0x00001989, 0xffffffff, 0x00007f86, 0x30e02088, 0x0000e800,
- 0x12c00000, 0x00006180, 0xea553ba9, 0x00004100, 0x3ac08557, 0x0000f897,
- 0x23000000, 0x00003284, 0x2400174c, 0x00006181, 0x22400e30, 0x00000081,
- 0x237ac75a, 0x00008838, 0x22010088, 0x00006380, 0x23c2c859, 0x00008900,
- 0x5f000404, 0x0000788b, 0xbb000000, 0x0000b28b, 0x6589639b, 0x0000f300,
- 0x024568ad, 0x00009900, 0x3ac08557, 0x0000f897, 0x23000000, 0x00003284,
- 0x800016a8, 0x00006583, 0x02000000, 0x00000980, 0x02400000, 0x000000e8,
- 0x02c00000, 0x000080f0, 0x03400000, 0x000000f8, 0x03c00000, 0x000081c0,
- 0x04400000, 0x000001c8, 0x04c00000, 0x000081d0, 0x00006683, 0x00007410,
- 0x05400000, 0x000001d8, 0x05c00000, 0x00001980, 0x2c0036e3, 0x00001680,
- 0xa9c588b0, 0x00001000, 0xab400aa7, 0x00009080, 0x93423cad, 0x0000f902,
- 0x11800000, 0x00000004, 0xffffffff, 0x00007fa7, 0x11c00847, 0x00001082,
- 0x11800046, 0x00009084, 0x937a3cad, 0x0000d004, 0x003a3000, 0x00000000,
- 0x65a460e3, 0x0000f404, 0xab4012a7, 0x00009080, 0x93b948ad, 0x0000d004,
- 0x00201000, 0x00000000, 0x29b2be57, 0x00001901, 0xb5610444, 0x00004396,
- 0x00c04444, 0x00000088, 0x81802457, 0x0000f89b, 0xeb000000, 0x0000b28d,
- 0x88806457, 0x0000f893, 0x83000000, 0x00003380, 0x2b40af4c, 0x00001080,
- 0x2b40af4c, 0x0000e080, 0xb84014ad, 0x00008881, 0xffffffff, 0x00007fc7,
- 0x1f821300, 0x00007904, 0x1f021300, 0x0000f904, 0x1fc2507f, 0x00006002,
- 0xb84014ad, 0x00008881, 0x1f82507e, 0x00006100, 0x1f00007c, 0x00000084,
- 0x12800000, 0x00009980, 0xffffffff, 0x00007fa7, 0x1083f500, 0x00007904,
- 0x1083e500, 0x0000f904, 0xc0c04444, 0x0000c28c, 0x7ac02457, 0x0000199b,
- 0x88806457, 0x0000f893, 0x83000000, 0x00003380, 0x00002457, 0x00009583,
- 0x01085800, 0x00001988, 0xc1000a26, 0x00009088, 0x65c27a6f, 0x00007308,
- 0x01802004, 0x00001908, 0xbf00004b, 0x0000c488, 0xb4c01f4c, 0x0000998b,
- 0xb9001f4c, 0x00004298, 0xf6c0174c, 0x0000198b, 0x0440274c, 0x00004588,
- 0x82c02f4c, 0x0000838a, 0xab402302, 0x00006780, 0x29c0405f, 0x00000780,
- 0x038000a7, 0x0000f900, 0x00000200, 0x00000380, 0x29c04063, 0x00006780,
- 0x4515680e, 0x0000a107, 0x040000a7, 0x0000f900, 0x00000200, 0x00000380,
- 0x29c04067, 0x0000e780, 0x45156810, 0x0000a107, 0x048000a7, 0x00007900,
- 0x00000200, 0x00000380, 0x29c0406b, 0x0000e780, 0x45156812, 0x00002107,
- 0x000065fb, 0x0000f400, 0x050000a7, 0x00007900, 0x00000200, 0x00000380,
- 0x45156814, 0x00006907, 0x2b404063, 0x00006780, 0x29c04067, 0x00008780,
- 0x040000a7, 0x0000f900, 0x00000200, 0x00000380, 0x29c0406b, 0x00001780,
- 0x038000ad, 0x0000f900, 0x00000200, 0x00000380, 0x048000a7, 0x00007900,
- 0x00000200, 0x00000380, 0xab402302, 0x00009780, 0x000065fb, 0x0000f400,
- 0x4515680e, 0x00006107, 0x45156810, 0x00003107, 0x45156812, 0x00006907,
- 0x29c0406b, 0x0000e780, 0x2b404067, 0x00008780, 0x038000ad, 0x0000f900,
- 0x00000200, 0x00000380, 0x040000a7, 0x0000f900, 0x00000200, 0x00000380,
- 0x000065fb, 0x0000f400, 0xab402302, 0x00009780, 0x45156810, 0x00006107,
- 0x4515680e, 0x00003107, 0xa9c02302, 0x00006780, 0x2b40406b, 0x00008780,
- 0x000065fb, 0x0000f400, 0x038000ad, 0x0000f900, 0x00000200, 0x00000380,
- 0x4515380e, 0x0000e907, 0xab402302, 0x00006780, 0x03800100, 0x00008980,
- 0x4515680e, 0x0000e907, 0x65fd6446, 0x00007300, 0x42000800, 0x00001981,
- 0x0000004b, 0x00009582, 0x89800a26, 0x0000e088, 0x2000081e, 0x0000240a,
- 0xd11a24a6, 0x00009008, 0x00006668, 0x0000f010, 0x00001457, 0x00009583,
- 0x14000850, 0x000090b0, 0x00006668, 0x0000f019, 0x00006668, 0x00007000,
- 0x00003c57, 0x00009583, 0x03800100, 0x000061b0, 0xab402302, 0x0000c7b0,
- 0xd4800f52, 0x00006099, 0x4515680e, 0x0000a137, 0x66686cdc, 0x0000f530,
- 0x89800a26, 0x00006098, 0xd11a24a6, 0x00008018, 0x69400800, 0x000099b1,
- 0x00006668, 0x00007000, 0x0000004b, 0x00006582, 0xab402302, 0x00000780,
- 0x29c0405f, 0x0000e790, 0x03800100, 0x00000988, 0x038000a7, 0x00007910,
- 0x00000200, 0x00000380, 0x66196446, 0x00007500, 0x42000800, 0x00001981,
- 0x4515680e, 0x0000e907, 0x0000004b, 0x00009582, 0x29c00e30, 0x0000e089,
- 0xf000081e, 0x0000a409, 0xcc253ca7, 0x00001908, 0x00006668, 0x0000f010,
- 0x00006668, 0x0000f400, 0x8002a64c, 0x00009583, 0x93000e4c, 0x0000e091,
- 0x93000000, 0x00008989, 0x800016a8, 0x00006583, 0x29c00000, 0x00008981,
- 0x2202a016, 0x00006180, 0x29c00800, 0x00004989, 0x0e4224ad, 0x00006000,
- 0x8222b888, 0x00003006, 0x02c00000, 0x0000e180, 0x30e53888, 0x00006000,
- 0x800006ab, 0x0000e583, 0x29c03cad, 0x00008881, 0x0a0274ad, 0x00006084,
- 0x0000180b, 0x00003106, 0x0000a8ec, 0x00005780, 0x00006001, 0x00000080,
- 0xa2256ca7, 0x00006301, 0xc000180b, 0x00002006, 0xa9c02302, 0x00006780,
- 0x9f012000, 0x00008980, 0x0204b000, 0x00007900, 0x0003f140, 0x00008980,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x000010ec, 0x00005780, 0x00006001, 0x00000080,
- 0x23400000, 0x00006180, 0x4515380e, 0x00006107, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x0000e180, 0x24c00060, 0x00004980,
- 0x22c42084, 0x0000e100, 0x2281202a, 0x00004080, 0xe2513226, 0x00006100,
- 0x22400e30, 0x0000c081, 0x2279914e, 0x00008830, 0x00006677, 0x0000f408,
- 0x02a81402, 0x00008028, 0x03c00004, 0x0000e180, 0xe232764e, 0x00004901,
- 0x1f408488, 0x00006283, 0xcc000000, 0x00000981, 0xcc004000, 0x0000e191,
- 0x2501502a, 0x00004900, 0x277fe09d, 0x00007900, 0x003ffffe, 0x00008280,
- 0x0e01c27c, 0x00006000, 0x2885127c, 0x00000000, 0xa5f4bf30, 0x0000e301,
- 0x0a81527c, 0x00000000, 0x2b400fab, 0x00009081, 0xeafd44ad, 0x00001101,
+ 0x008048ec, 0x00005780, 0x00007001, 0x00008080, 0x82c02aec, 0x00007902,
+ 0x01000000, 0x00000604, 0x462078ec, 0x00002005, 0xffffffff, 0x00007fa7,
+ 0x0000040f, 0x00009583, 0x460000ec, 0x0000500c, 0x00400800, 0x00008083,
+ 0x463828ec, 0x0000288c, 0x0000479a, 0x00007010, 0x473874ec, 0x00002004,
+ 0x0181fc11, 0x00006281, 0x8340fa11, 0x00000280, 0x0000fc06, 0x0000e583,
+ 0x03506fe4, 0x00008800, 0x460000ec, 0x0000d004, 0x00600000, 0x00000082,
+ 0x03c0200e, 0x0000e080, 0x0e80880e, 0x00006086, 0x83a3120e, 0x0000f900,
+ 0x00000004, 0x00000080, 0x0000280e, 0x0000f902, 0x01000000, 0x00008000,
+ 0x47000cec, 0x0000d084, 0x00400000, 0x00008000, 0xffffffff, 0x00007f97,
+ 0x0100200d, 0x0000e318, 0x0140280d, 0x00008330, 0xffffffff, 0x00007f86,
+ 0x0038280e, 0x00005000, 0x00382000, 0x00000000, 0x83800000, 0x00006180,
+ 0x01404002, 0x00004980, 0xc1680500, 0x00009900, 0x713878ec, 0x00005600,
+ 0x00382800, 0x00008000, 0x00c002ec, 0x0000df80, 0x0453080b, 0x00001684,
+ 0x85c00000, 0x00009980, 0xffffffff, 0x00007ff7, 0xffffffff, 0x00007fc7,
+ 0x82c03aec, 0x0000f902, 0x01000000, 0x00000604, 0x463820ec, 0x0000a084,
+ 0xffffffff, 0x00007fa7, 0x01002007, 0x00009100, 0x0000200f, 0x00009502,
+ 0x06007804, 0x00006128, 0x06000000, 0x000009a0, 0x47387cec, 0x0000a004,
+ 0xffffffff, 0x00007fa7, 0x0000c00f, 0x00001502, 0x00004674, 0x0000701b,
+ 0x85c00a17, 0x00006080, 0x06007818, 0x00008100, 0x0000c00f, 0x00001502,
+ 0x00004670, 0x0000f033, 0x0360bc0e, 0x0000e001, 0x0560740e, 0x00000901,
+ 0x06400000, 0x00006181, 0x05007c0d, 0x00004281, 0x4618a0ec, 0x00002806,
+ 0x03a0cc15, 0x00009001, 0x05807c0e, 0x00009281, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x02c01c16, 0x00006080, 0x0b800000, 0x00008980,
+ 0x0b009000, 0x00007900, 0x0000a100, 0x00000980, 0x0b400000, 0x0000f900,
+ 0x00010030, 0x00000980, 0x45c08e0b, 0x00007902, 0x04000000, 0x00000004,
+ 0x0bc00004, 0x00006180, 0x0a000000, 0x00004980, 0x0a400000, 0x000002e8,
+ 0x0ac00000, 0x000003c0, 0x0c400000, 0x000003c8, 0x0cc00000, 0x000081cc,
+ 0x04800000, 0x00001980, 0x01008011, 0x00001302, 0x000046c5, 0x0000f00b,
+ 0x03408811, 0x0000e300, 0x01008811, 0x00004900, 0x003ff00d, 0x00007900,
+ 0x0000003e, 0x00008582, 0x03808010, 0x0000e300, 0x03c06fe4, 0x00004830,
+ 0x02802004, 0x00006330, 0x0440880f, 0x00004430, 0x00004772, 0x0000f018,
+ 0xffffffff, 0x00007f86, 0x0301fc0a, 0x00006281, 0x0e80500f, 0x00002086,
+ 0x0000fc0c, 0x0000e583, 0x8340fa0a, 0x00000280, 0x83a30a0f, 0x00007900,
+ 0x00000004, 0x00000080, 0x0000300e, 0x0000f902, 0x01000000, 0x00008000,
+ 0x0000475b, 0x0000f218, 0x02506fe4, 0x00009800, 0xffffffff, 0x00007f86,
+ 0x01003009, 0x00001202, 0x01000000, 0x00001981, 0x01000800, 0x00001991,
+ 0xffffffff, 0x00007f86, 0x00000404, 0x00001583, 0x00004761, 0x0000f00b,
+ 0x83e30a0f, 0x0000f900, 0x00000004, 0x00000080, 0x0000300f, 0x00007902,
+ 0x01000000, 0x00008000, 0x0000fc0c, 0x0000e583, 0x038048e5, 0x00008400,
+ 0xffffffff, 0x00007f97, 0x0100200e, 0x00006218, 0x0180300e, 0x00000230,
+ 0xffffffff, 0x00007f86, 0x0038300f, 0x0000d000, 0x00382000, 0x00000000,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x0c20540a, 0x00001901,
0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x009910ec, 0x00005780, 0x00006001, 0x00000080, 0x8002a64c, 0x00006583,
- 0x29c00e30, 0x00000081, 0x2b000cac, 0x00006081, 0xf000081e, 0x00002401,
- 0xeac037ab, 0x00006181, 0xea4523a9, 0x00008180, 0x2ac07cab, 0x00006181,
- 0x0c800832, 0x00000080, 0xcc253ca7, 0x0000e100, 0x93000000, 0x00004989,
- 0xffffffff, 0x00007f86, 0x93000e4c, 0x00001091, 0x07bf981e, 0x00007900,
- 0x003ffffe, 0x00008280, 0x077e781d, 0x00007900, 0x003ffffe, 0x00008280,
- 0x6000001e, 0x0000e403, 0xa000001c, 0x00003406, 0x07ff381f, 0x00007900,
- 0x003ffffe, 0x00008280, 0xc000001d, 0x0000e482, 0xc000001e, 0x0000b403,
- 0xc000001c, 0x00006403, 0xb000001f, 0x0000b400, 0xf000001e, 0x00006401,
- 0x6000001d, 0x0000b403, 0x67766419, 0x00007100, 0x26200000, 0x00008ada,
- 0x1f008488, 0x0000e283, 0x966d4098, 0x0000a001, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x26400000, 0x000009e8, 0x26c00000, 0x0000e180,
- 0xe9929252, 0x0000c900, 0x66551a1c, 0x0000f500, 0x2ba00824, 0x00008ad2,
- 0x94800000, 0x00006180, 0x69804000, 0x00004991, 0x80000ea8, 0x00009583,
- 0x000066d4, 0x00007013, 0x2c0036e3, 0x00001680, 0xab4588b0, 0x00001000,
- 0x0001c02a, 0x0000e502, 0xa9c012ad, 0x00000080, 0x934044a7, 0x0000a006,
- 0x93794ea7, 0x0000d004, 0x00201000, 0x00000000, 0x93784cad, 0x00002094,
- 0x00006696, 0x00007409, 0x82000a08, 0x00009080, 0x934844a7, 0x0000a806,
- 0x937844ad, 0x0000a004, 0x02400809, 0x00001082, 0x93784cad, 0x00002884,
- 0xffffffff, 0x00007f86, 0x02000008, 0x00009084, 0x937844ad, 0x00002804,
- 0x82000e53, 0x00001283, 0x669a60e3, 0x00007404, 0x00000853, 0x0000ec09,
- 0x94d13226, 0x00009908, 0x4000101d, 0x00006402, 0x2000081e, 0x00003402,
- 0xa000501c, 0x00006406, 0xc001481d, 0x00003482, 0x26000000, 0x0000e180,
- 0xc000081e, 0x00006403, 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x3000081f, 0x00006402, 0xc000081c, 0x0000b403, 0x6000101d, 0x00006403,
- 0xf000081e, 0x0000b401, 0x25000000, 0x0000e180, 0x966d4098, 0x00006001,
- 0x25400000, 0x000009d8, 0x25c00000, 0x000089e4, 0x26800000, 0x000089ec,
- 0x66ae1a1c, 0x00007500, 0x69800400, 0x00008af8, 0xa9200400, 0x00008ada,
- 0x02c00000, 0x000080f0, 0x000810ec, 0x0000d780, 0x00c066c0, 0x00000180,
- 0x03400000, 0x0000e180, 0x0000180b, 0x00006106, 0x02009000, 0x00007900,
- 0x0002b200, 0x00000980, 0x02400000, 0x0000f900, 0x00018030, 0x00008980,
- 0x001910ec, 0x0000d780, 0x00006001, 0x00000080, 0x03800000, 0x0000e180,
- 0xc000180b, 0x0000e006, 0x03c00000, 0x000081c0, 0x04400000, 0x000001c8,
- 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8, 0x05c00000, 0x00006180,
- 0x82901202, 0x00004900, 0x02800502, 0x000008a0, 0x22400000, 0x000008e8,
- 0x233620a0, 0x00006180, 0x23400000, 0x00004980, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x00006676, 0x0000f400, 0x22c42084, 0x0000e100,
- 0xeafd47ab, 0x00004101, 0x2ac05cab, 0x00001181, 0x2b44282a, 0x0000e000,
- 0x29000000, 0x00008981, 0x00056838, 0x0000e502, 0x29400000, 0x00000981,
- 0x21415038, 0x0000e168, 0x2181c0ad, 0x00008168, 0x00410444, 0x0000c594,
- 0x87800752, 0x00008988, 0x29c43085, 0x00001000, 0x001260a7, 0x00009502,
- 0xa000281c, 0x0000642e, 0x6000081e, 0x0000342b, 0x0b01524c, 0x00006028,
- 0xc000101c, 0x0000242b, 0x000066f2, 0x0000f020, 0x2a400800, 0x00006181,
- 0x4000101d, 0x00006402, 0xc001501d, 0x0000ec82, 0x66ea635d, 0x0000f500,
- 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280, 0x6000101d, 0x0000ec03,
- 0x2c0036e3, 0x00001680, 0xab4588b0, 0x00001000, 0xab4012ad, 0x00009080,
- 0x937d3cad, 0x00002084, 0xffffffff, 0x00007f86, 0x00006676, 0x0000f403,
- 0x29c008a7, 0x00009080, 0x937d3cad, 0x0000a884, 0x2b40af4c, 0x0000e080,
- 0x29c0af4c, 0x00008080, 0x21f2be57, 0x00006101, 0xb84014ad, 0x00004881,
- 0xffffffff, 0x00007fc7, 0x01821300, 0x00007904, 0x01021300, 0x0000f904,
- 0x01c25007, 0x00006002, 0xb84014a7, 0x00008881, 0x01825006, 0x00006100,
- 0x01000004, 0x00000084, 0x12800000, 0x00009980, 0xffffffff, 0x00007fa7,
- 0x10803500, 0x00007904, 0x10802500, 0x0000f904, 0xe3201f4c, 0x0000c388,
- 0x00c01f4c, 0x00008098, 0x0080174c, 0x0000c789, 0x0320274c, 0x0000028a,
- 0xcc402f4c, 0x0000f88b, 0xb3000000, 0x00003389, 0x2b40405f, 0x00006780,
- 0x29c04063, 0x00000780, 0x040000a7, 0x0000f900, 0x00000200, 0x00000380,
- 0x29c04067, 0x00001780, 0x048000a7, 0x00007900, 0x00000200, 0x00000380,
- 0x29c0406b, 0x00001780, 0x038000ad, 0x0000f900, 0x00000200, 0x00000380,
- 0x050000a7, 0x00007900, 0x00000200, 0x00000380, 0xab402302, 0x00009780,
- 0x00006736, 0x0000f400, 0x4515680e, 0x00006107, 0x45156810, 0x00003107,
- 0x45156814, 0x0000e107, 0x45156812, 0x0000b107, 0x2b404063, 0x00006780,
- 0x29c04067, 0x00008780, 0x040000a7, 0x0000f900, 0x00000200, 0x00000380,
- 0x29c0406b, 0x00001780, 0x038000ad, 0x0000f900, 0x00000200, 0x00000380,
- 0x048000a7, 0x00007900, 0x00000200, 0x00000380, 0xab402302, 0x00009780,
- 0x00006736, 0x0000f400, 0x4515680e, 0x00006107, 0x45156810, 0x00003107,
- 0x45156812, 0x00006907, 0x29c0406b, 0x0000e780, 0x2b404067, 0x00008780,
- 0x038000ad, 0x0000f900, 0x00000200, 0x00000380, 0x040000a7, 0x0000f900,
- 0x00000200, 0x00000380, 0x00006736, 0x0000f400, 0xab402302, 0x00009780,
- 0x45156810, 0x00006107, 0x4515680e, 0x00003107, 0xa9c02302, 0x00006780,
- 0x2b40406b, 0x00008780, 0x038000ad, 0x0000f900, 0x00000200, 0x00000380,
- 0x4515380e, 0x0000e907, 0x67386446, 0x0000f300, 0x42000800, 0x00001981,
- 0x0000004b, 0x00009582, 0x00005457, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00006676, 0x0000f010, 0x00006744, 0x00007018, 0x00001457, 0x00006583,
- 0x2000081e, 0x0000a402, 0x89800a26, 0x00006080, 0xd11a2487, 0x00008000,
- 0x14000850, 0x000090b0, 0x0000674a, 0x0000f018, 0x0000674a, 0x0000f000,
- 0x8002a64c, 0x00006583, 0x2b400e30, 0x00000081, 0xcc256cad, 0x0000e100,
- 0xf000081e, 0x0000e401, 0x93000e4c, 0x0000e091, 0x93000000, 0x00008989,
- 0x0000004b, 0x00009582, 0x113ef844, 0x00007908, 0x003ffffe, 0x00008280,
- 0x2972be57, 0x0000e109, 0x2932be57, 0x00004909, 0x00006676, 0x0000f010,
- 0xdac00752, 0x0000f893, 0x03000001, 0x00000080, 0x94800e52, 0x00006081,
- 0x29c00e52, 0x00008081, 0x002a74a7, 0x00009503, 0x2b402ca7, 0x00009890,
- 0xa9c02d00, 0x00001890, 0x00006771, 0x0000f008, 0x2981d0ad, 0x00006002,
- 0xab680500, 0x00000900, 0xeb5812a7, 0x0000e080, 0x21c0003b, 0x00008084,
- 0x700100ec, 0x00005680, 0x003d68c4, 0x00000010, 0x29e00005, 0x00001980,
- 0x703d30ec, 0x0000d600, 0x003c3800, 0x00008000, 0x041810a7, 0x0000e987,
- 0x700100ec, 0x00005680, 0x003d3fc0, 0x00008078, 0x00c002ec, 0x0000df80,
- 0x165b300b, 0x00001684, 0xab402d00, 0x00009880, 0x30053cad, 0x0000a080,
- 0xffffffff, 0x00007fa7, 0x0fe53f52, 0x0000e004, 0x30e53844, 0x00003000,
- 0x21c04444, 0x00009283, 0x00006770, 0x0000700b, 0x676e6e50, 0x0000f004,
- 0x9d8006ab, 0x0000f893, 0x9b000000, 0x0000b38b, 0x67716fd0, 0x00007004,
- 0x800006ab, 0x00001583, 0x00006676, 0x0000f013, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x6676635d, 0x00007100, 0x01001c22, 0x00006283,
- 0x06000000, 0x00008980, 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0,
- 0x07400000, 0x000001f8, 0x677f7a3d, 0x00007510, 0x07c00000, 0x000082c2,
- 0x21800000, 0x0000e180, 0x2901502a, 0x00004900, 0x27000000, 0x000089f4,
- 0x27800000, 0x000089fc, 0x678418f9, 0x00007500, 0x28000000, 0x00008ac4,
- 0x28c00000, 0x00008ac8, 0xffffffff, 0x00007f86, 0xc1003f53, 0x0000e283,
- 0x214528a5, 0x00008900, 0x2a400000, 0x00009981, 0x67897a07, 0x00007111,
- 0x01020444, 0x0000e283, 0xeac7f800, 0x00008981, 0x20000723, 0x0000e408,
- 0x0000101d, 0x0000b40b, 0x2ac2a000, 0x0000e181, 0xea6f2004, 0x0000c980,
- 0xc1001723, 0x00006283, 0xaac00000, 0x00000981, 0x6a800000, 0x00000af2,
- 0x2aa00545, 0x00008aae, 0x00006ba5, 0x0000f010, 0x00000423, 0x00001583,
- 0xc000081d, 0x0000e44a, 0xa000501c, 0x0000344e, 0x800026a8, 0x00006583,
- 0xc000081c, 0x0000244b, 0x02000000, 0x00006188, 0x02400000, 0x0000c988,
- 0x02800000, 0x0000e188, 0x02c00000, 0x00004988, 0x00006b9a, 0x0000f010,
- 0x03000000, 0x000080f4, 0x03800000, 0x000080fc, 0x04000000, 0x000081c4,
- 0x04800000, 0x000081cc, 0x05000000, 0x000081d4, 0x05800000, 0x000081dc,
- 0xa9400000, 0x00008ad2, 0x00010444, 0x0000788e, 0x00000000, 0x00000000,
- 0xe1126085, 0x0000782a, 0xeb400000, 0x0000b38d, 0x6fc04444, 0x0000c18f,
- 0x00c08623, 0x00000090, 0x6e402723, 0x00004596, 0xb6c10723, 0x00008490,
- 0x34198230, 0x0000780a, 0x03400001, 0x00000000, 0x3421b330, 0x0000780a,
- 0x03400001, 0x00000000, 0x12004444, 0x0000418d, 0x00c0f4ab, 0x00008098,
- 0x79113026, 0x0000c10b, 0x00c08623, 0x00000090, 0xefc02723, 0x00007896,
- 0x03400001, 0x00000000, 0xed810723, 0x00007896, 0xdb400000, 0x0000b58d,
- 0xb24006ab, 0x0000f88a, 0xf3400000, 0x0000b58d, 0x240094ab, 0x0000789a,
- 0x9b400000, 0x0000338d, 0x21b2be57, 0x0000e101, 0x21c0af4c, 0x0000c080,
- 0x21c0af4c, 0x00006080, 0xb8401487, 0x00000881, 0xffffffff, 0x00007fc7,
- 0x01821300, 0x00007904, 0x01021300, 0x0000f904, 0x01c25007, 0x00006002,
- 0xb8401487, 0x00000881, 0x01825006, 0x00006100, 0x01000004, 0x00000084,
- 0x12800000, 0x00009980, 0xffffffff, 0x00007fa7, 0x10803500, 0x00007904,
- 0x10802500, 0x0000f904, 0x57601f4c, 0x0000c389, 0x00c01f4c, 0x000080b0,
- 0x5880274c, 0x0000c589, 0x00802f4c, 0x00000092, 0xf5c0174c, 0x0000f893,
- 0x4b000000, 0x0000b585, 0x21c0406b, 0x00009780, 0x03800087, 0x00007900,
- 0x00000200, 0x00000380, 0xa1c02302, 0x00001780, 0x4514380e, 0x00006907,
- 0x67d96446, 0x0000f300, 0x42000000, 0x00009981, 0x0000004b, 0x00009582,
- 0x00005457, 0x00001583, 0xffffffff, 0x00007f86, 0x00006bbe, 0x0000f010,
- 0x00006b71, 0x00007018, 0x00001457, 0x00006583, 0x89800a26, 0x00000080,
- 0xd11a2486, 0x00006000, 0x14000850, 0x000000b0, 0x21801488, 0x0000e283,
- 0x2000081e, 0x0000a402, 0x0000004b, 0x00006582, 0xd3d13226, 0x00000910,
- 0x113ef844, 0x00007908, 0x003ffffe, 0x00008280, 0x2972be57, 0x0000e109,
- 0x2932be57, 0x00004909, 0x00006bbe, 0x0000f010, 0x000067a9, 0x00007000,
- 0xa1913226, 0x00009900, 0x1e593226, 0x0000f862, 0x03400001, 0x00000000,
- 0x20400e53, 0x0000c397, 0x00c04444, 0x00000088, 0x0040f4ab, 0x0000f89a,
- 0x03400001, 0x00000000, 0x00198230, 0x00007808, 0x00000000, 0x00000000,
- 0x95a1b330, 0x0000780a, 0x03400001, 0x00000060, 0xb24006ab, 0x0000f88a,
- 0xf3400000, 0x0000b58d, 0x004094ab, 0x0000f89a, 0x03400001, 0x00000000,
- 0x00198230, 0x00007808, 0x00000000, 0x00000000, 0x95a1b330, 0x0000780a,
- 0x03400001, 0x00000060, 0xb24006ab, 0x0000f88a, 0xf3400000, 0x0000b58d,
- 0x21c3fa27, 0x00001080, 0x001d4887, 0x00007842, 0x00000000, 0x00000000,
- 0x90113885, 0x0000f82a, 0x63400000, 0x0000b480, 0x00198230, 0x00007808,
- 0x00000000, 0x00000000, 0x95a1b330, 0x0000780a, 0x03400001, 0x00000060,
- 0xb24006ab, 0x0000f88a, 0xf3400000, 0x0000b58d, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x028528a4, 0x00004419, 0xdec004a5, 0x00009a8a,
- 0x5bd98230, 0x0000780a, 0x03400001, 0x00000000, 0x2261b330, 0x00007812,
- 0x7b400000, 0x0000348b, 0x29400ca5, 0x00006081, 0x7842a000, 0x00000981,
- 0x21a52ca4, 0x00001100, 0xffffffff, 0x0000ffb7, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x21c00e57, 0x00006180, 0x29b2be57, 0x00008901,
- 0x00043f86, 0x0000404a, 0x00008557, 0x00000090, 0x05401e57, 0x0000c489,
- 0x44c01887, 0x00009a8d, 0x45601887, 0x000041b9, 0x00c00887, 0x00008088,
- 0x01a01087, 0x00004790, 0xa0602087, 0x0000a78e, 0x0bc02887, 0x00007892,
- 0xe3400000, 0x00003584, 0x01200e57, 0x000047d1, 0xa0918130, 0x0000940c,
- 0x2261b330, 0x00007812, 0x7b400000, 0x0000348b, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x294014a5, 0x00009081, 0x80000011, 0x0000e407, 0x80000013, 0x00003407,
- 0x80000015, 0x0000ec07, 0x63402c57, 0x0000f89a, 0x03400001, 0x00000000,
- 0x40602c57, 0x0000c28b, 0x74c08557, 0x00009a90, 0x43220557, 0x0000448d,
- 0xf6c01e57, 0x00001abd, 0x86400055, 0x0000f892, 0xa3400000, 0x0000b587,
- 0x00001457, 0x00006583, 0xd3001000, 0x00000981, 0x16000000, 0x0000e1b0,
- 0x1300c000, 0x000049b1, 0x1300a000, 0x00006199, 0x12c00000, 0x00004980,
- 0x00000055, 0x00009582, 0x13801657, 0x00006191, 0x51001657, 0x00008191,
- 0x12c2e05c, 0x00006110, 0x0380405f, 0x00004790, 0x000069fd, 0x0000f008,
- 0x0380000e, 0x0000f900, 0x00000200, 0x00000380, 0x00000c4e, 0x0000e583,
- 0xa1802302, 0x00000780, 0x4514300e, 0x0000e907, 0x0019b04b, 0x00001502,
- 0xffffffff, 0x00007f86, 0x000068ed, 0x00007018, 0x000068fa, 0x00007018,
- 0xa1801a4b, 0x00006080, 0x13a25aec, 0x00008101, 0xa1bfe286, 0x00007900,
- 0x0000003e, 0x00008280, 0x40000d44, 0x0000e583, 0xb000081f, 0x0000a400,
- 0x8d401c4e, 0x0000e281, 0x9314344c, 0x00000000, 0x1380f800, 0x0000e191,
- 0x13809800, 0x0000c989, 0x61b99c4e, 0x00008a1c, 0x2a219e4e, 0x00009101,
- 0x6ac02557, 0x00007896, 0x03400001, 0x00000000, 0x4d001557, 0x00004495,
- 0xbad1aba8, 0x00001a09, 0x4b402457, 0x00004299, 0xc6c02457, 0x00001a88,
- 0xa3c03c57, 0x0000f8b2, 0xf3400000, 0x0000b582, 0x68656446, 0x00007300,
- 0x42000000, 0x00009981, 0x1b40004b, 0x0000788a, 0x03400001, 0x00000000,
- 0x00198230, 0x00007808, 0x00000000, 0x00000000, 0x95a1b330, 0x0000780a,
- 0x03400001, 0x00000060, 0xb24006ab, 0x0000f88a, 0xf3400000, 0x0000b58d,
- 0x21801488, 0x0000e283, 0xa1c00a26, 0x00008080, 0xd3d43a87, 0x0000e110,
- 0x2000081e, 0x00006402, 0x00001457, 0x00006583, 0xd11a24a6, 0x00008000,
- 0x14000850, 0x000060b0, 0x89800a26, 0x00000080, 0x00006876, 0x00007019,
- 0xa1913226, 0x00009900, 0xfbd93226, 0x0000f86b, 0x03000001, 0x00000080,
- 0xffffffff, 0x00007f86, 0x80198230, 0x00001502, 0x21c00000, 0x00009988,
- 0x21c00000, 0x00009990, 0x00006881, 0x0000f008, 0xc021b330, 0x00009502,
- 0x21c00800, 0x00001990, 0xffffffff, 0x00007f86, 0x22400487, 0x0000f892,
- 0x03400001, 0x00000000, 0x00198230, 0x00007808, 0x00000000, 0x00000000,
- 0x95a1b330, 0x0000780a, 0x03400001, 0x00000060, 0xb24006ab, 0x0000f88a,
- 0xf3400000, 0x0000b58d, 0x113fb844, 0x0000f900, 0x003ffffe, 0x00008280,
- 0xa9400000, 0x00008ad2, 0xf5a04444, 0x0000448e, 0xfcc08623, 0x00009a96,
- 0x51e02723, 0x0000c597, 0x28810723, 0x00007597, 0x2183fa27, 0x00009080,
- 0xecdd4886, 0x0000f843, 0x03000001, 0x00008000, 0x74513885, 0x0000782a,
- 0x03400001, 0x00008080, 0xffffffff, 0x00007f86, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x142528a4, 0x0000c419, 0xc8c004a5, 0x00009a8b,
- 0x3c913026, 0x0000c40b, 0x7cc08623, 0x00001a96, 0x51e02723, 0x00004596,
- 0x03a10723, 0x0000928d, 0x29401ca5, 0x0000e081, 0x7842a000, 0x00000981,
- 0xffffffff, 0x00007fc7, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x00006457, 0x00001583, 0x000069c4, 0x0000f013,
- 0x0019b05c, 0x0000e502, 0x0122e2ec, 0x00000101, 0x8d401c04, 0x00006281,
- 0x9300a336, 0x00008098, 0x81001a5c, 0x000060b0, 0xb000081f, 0x0000a400,
- 0x813fe204, 0x00007930, 0x0000003e, 0x00008280, 0x9300a204, 0x0000e0b0,
- 0xd3001000, 0x00000981, 0x00006457, 0x0000e583, 0x12c2e05c, 0x00000900,
- 0x93a00813, 0x000084d2, 0x00006906, 0x0000f011, 0x0000004b, 0x00006582,
- 0x42000000, 0x00000981, 0x0100405f, 0x0000e790, 0x03800100, 0x00000988,
- 0x03800004, 0x00007910, 0x00000200, 0x00000380, 0x68c56446, 0x00007500,
- 0x81002302, 0x0000e790, 0xa1c02302, 0x00000788, 0x4510200e, 0x0000e117,
- 0x4514380e, 0x0000310f, 0xecc0004b, 0x0000f893, 0x03000001, 0x00000080,
- 0x21800e30, 0x00006081, 0xf000081e, 0x00002401, 0x8002a64c, 0x00006583,
- 0xcc243486, 0x00000900, 0x93000e4c, 0x0000e091, 0x93000000, 0x00008989,
- 0xffffffff, 0x00007f97, 0xebd98230, 0x00007813, 0x03000001, 0x00000080,
+ 0x008048ec, 0x00005780, 0x00007001, 0x00008080, 0x83402a0a, 0x00001780,
+ 0x0000040d, 0x00001583, 0x04c04813, 0x00001308, 0x0000468c, 0x0000f009,
+ 0x00000c0d, 0x00009583, 0x01008011, 0x0000e302, 0x04804812, 0x00008308,
+ 0x0000468e, 0x0000f013, 0x01009013, 0x00001302, 0x45f89e0b, 0x0000d004,
+ 0x00389000, 0x00008000, 0x03e0b7e4, 0x00006008, 0x82239002, 0x0000c988,
+ 0x000046d0, 0x00007010, 0x00383008, 0x00002080, 0x034078e5, 0x00001400,
+ 0xffffffff, 0x00007f97, 0x0180300d, 0x00009200, 0x00383008, 0x0000a880,
+ 0x06400c19, 0x00009081, 0x83a0cc19, 0x00009900, 0x8010ba0e, 0x00001502,
+ 0x47387cec, 0x0000209c, 0x03400c14, 0x00009098, 0x00004679, 0x0000f030,
+ 0x0380780d, 0x00009280, 0x034077e4, 0x00009800, 0x03806aec, 0x00001100,
+ 0x0340780e, 0x00001200, 0xffffffff, 0x00007f86, 0x0100680d, 0x00009b00,
+ 0x00072804, 0x00001502, 0x80007a04, 0x00001582, 0xffffffff, 0x00007f86,
+ 0x000046e1, 0x0000f008, 0x00004778, 0x0000f030, 0x0100780f, 0x00009b00,
+ 0x00072804, 0x00001502, 0x000046e7, 0x0000f00b, 0x80007a04, 0x00001582,
+ 0x83d02204, 0x00001930, 0x000046e8, 0x0000f031, 0x83fff801, 0x00009980,
+ 0x0228780f, 0x0000003b, 0x8020a20e, 0x00001502, 0x0000477e, 0x0000f033,
+ 0x473834ec, 0x0000a004, 0x0007fc08, 0x0000e583, 0x8120a408, 0x00000100,
+ 0x03572818, 0x00009200, 0x463838ec, 0x00002884, 0x2c102206, 0x00009600,
+ 0x03c588b0, 0x00001000, 0x2c102306, 0x00001600, 0x010588b0, 0x00009000,
+ 0x01008004, 0x00001880, 0x0000465d, 0x0000f410, 0x01007804, 0x00009000,
+ 0x03c06804, 0x00001100, 0x460000ec, 0x0000d004, 0x00400000, 0x00000083,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x0000f804, 0x00009582,
+ 0x034027e4, 0x0000e030, 0x04410004, 0x000040b0, 0x0480900d, 0x00006430,
+ 0x01800000, 0x000089b0, 0x0000473b, 0x00007018, 0x00106007, 0x00006186,
+ 0x04208806, 0x00003087, 0x45f896ec, 0x00002804, 0xc1d07a0e, 0x00006300,
+ 0x00106005, 0x00002186, 0x803838ec, 0x0000d700, 0x00383000, 0x00008000,
+ 0x01c00000, 0x00007900, 0x000040c0, 0x00000980, 0x01800002, 0x0000e180,
+ 0x81f51500, 0x0000c080, 0x800000ec, 0x00005780, 0x00000000, 0x00008080,
+ 0xc1507a0e, 0x0000e300, 0xc1a80500, 0x00000900, 0x723838ec, 0x0000d600,
+ 0x00383000, 0x00008000, 0x723828ec, 0x00005600, 0x00080881, 0x00008080,
+ 0x00c002ec, 0x0000df80, 0x0458b80b, 0x00001684, 0xffffffff, 0x00007f86,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xf6713026, 0x0000c40a,
- 0xd8c08623, 0x00009a96, 0x6c602723, 0x0000c997, 0xbcc10723, 0x00009a96,
- 0x11004044, 0x00006380, 0x29000000, 0x00008981, 0x29400000, 0x00009981,
- 0x000067a9, 0x00007000, 0x21c02c57, 0x00001181, 0x75201487, 0x00004299,
- 0xc8c004a8, 0x00009a89, 0x4b402457, 0x00004299, 0xc6c02457, 0x00001a88,
- 0xa3c03c57, 0x0000f8b2, 0xf3400000, 0x0000b582, 0xc01d5345, 0x00006502,
- 0x6000081d, 0x0000a403, 0x07c4001f, 0x00006380, 0xc000101c, 0x00002403,
- 0x0d07f8a7, 0x00009280, 0x000069ba, 0x0000f010, 0x00006879, 0x00007200,
- 0x113ef844, 0x0000f900, 0x003ffffe, 0x00008280, 0x50601c4e, 0x00004489,
- 0xfcc0244e, 0x00001a8c, 0x3cc0144e, 0x0000f88a, 0x03400001, 0x00000000,
- 0x3e99b05c, 0x0000f81a, 0x7b400000, 0x00003482, 0x21c04063, 0x0000e780,
- 0x12c2e060, 0x00000000, 0x0019b04b, 0x00001502, 0x04000087, 0x00007900,
- 0x00000200, 0x00000380, 0x45143010, 0x0000e907, 0x0000684f, 0x0000f030,
- 0x40000d44, 0x0000e583, 0x13a25aec, 0x00008101, 0x9300c336, 0x0000e080,
- 0xb000081f, 0x0000a400, 0x00006859, 0x0000f400, 0x8d401c4e, 0x0000e281,
- 0x13809800, 0x00000989, 0x1380f800, 0x00009991, 0x80143253, 0x00001502,
- 0x00000053, 0x00006c71, 0xfc404444, 0x00007897, 0xcb000000, 0x0000338f,
- 0x22028016, 0x0000e180, 0x0e422404, 0x00006000, 0x02c00000, 0x0000e180,
- 0x8222b888, 0x00006006, 0x800006ab, 0x0000e583, 0x0a027405, 0x00002084,
- 0x0000a8ec, 0x00005780, 0x00006001, 0x00000080, 0x31027088, 0x0000e000,
- 0x0000180b, 0x00003106, 0x83c02302, 0x0000e780, 0x01003c04, 0x00008881,
- 0x0204b000, 0x00007900, 0x0003f140, 0x00008980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0x000010ec, 0x00005780, 0x00006001, 0x00000080, 0xc000180b, 0x0000e006,
- 0x4510780e, 0x0000b107, 0x6a800024, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x0000e180, 0x24c00060, 0x00004980,
- 0x22c42084, 0x0000e100, 0x2281202a, 0x00004080, 0xe2513226, 0x00006100,
- 0x22400e30, 0x0000c081, 0x2279914e, 0x00008830, 0x02a81402, 0x00008028,
- 0x0000694c, 0x00007408, 0xe232764e, 0x00006101, 0xa2202c04, 0x00004301,
- 0x03c00004, 0x0000e180, 0xcc000000, 0x00004991, 0x21808488, 0x0000e283,
- 0x2501502a, 0x00008900, 0xcc004000, 0x0000e191, 0x21800fab, 0x0000c081,
- 0x277fe09d, 0x00007900, 0x003ffffe, 0x00008280, 0x0e01c2aa, 0x0000e000,
- 0x288512aa, 0x00008000, 0x0a8152aa, 0x0000e000, 0xeafd4486, 0x00008101,
- 0xa5f4bf30, 0x00001301, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780, 0x00006001, 0x00000080,
- 0x8002a64c, 0x00006583, 0x21800e30, 0x00000081, 0xf000081e, 0x0000e401,
- 0x3000081f, 0x00003402, 0xaac00eab, 0x00006081, 0x2b000cac, 0x00000081,
- 0x21412085, 0x00006180, 0xeac037ab, 0x00000181, 0xea4523a9, 0x0000e180,
- 0x2ac07cab, 0x00000181, 0x0c800832, 0x00006080, 0xcc243486, 0x00000900,
- 0x93000e4c, 0x0000e091, 0x93000000, 0x00008989, 0xebd98230, 0x00007813,
- 0x83000000, 0x0000b486, 0x26000000, 0x0000e180, 0x69b55eab, 0x0000c901,
- 0x21808488, 0x0000e283, 0x966d4098, 0x0000a001, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x26400000, 0x000009e8, 0x26c00000, 0x0000e180,
- 0xe9929252, 0x0000c900, 0x69591a1c, 0x0000f500, 0x2ba00824, 0x00008ad2,
- 0x94800000, 0x00006180, 0x69804000, 0x00004991, 0x21800fab, 0x00009081,
- 0xeafd4486, 0x00001101, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780, 0x00006001, 0x00000080,
- 0x8002a64c, 0x00006583, 0x21800e30, 0x00000081, 0xf000081e, 0x0000e401,
- 0x3000081f, 0x00003402, 0xaac00eab, 0x00006081, 0x2b000cac, 0x00000081,
- 0x21412085, 0x00006180, 0xeac037ab, 0x00000181, 0xea4523a9, 0x0000e180,
- 0x2ac07cab, 0x00000181, 0x0000694a, 0x0000f400, 0x0c800832, 0x00006080,
- 0xcc243486, 0x00000900, 0x93000e4c, 0x0000e091, 0x93000000, 0x00008989,
- 0x697063f5, 0x0000f100, 0x21b18d4e, 0x00009101, 0x0007fc86, 0x00001583,
- 0x21800000, 0x00006190, 0xe9d13226, 0x0000c910, 0xa907fb30, 0x0000e290,
- 0x07422086, 0x0000a010, 0x00006b46, 0x00007008, 0x411a2886, 0x00006104,
- 0x002190a7, 0x00003086, 0x043220a4, 0x00006087, 0x04128086, 0x00003187,
- 0x822178a7, 0x00006086, 0x863260a4, 0x0000b087, 0xa1c02d00, 0x00001880,
- 0x303c3487, 0x0000d000, 0x003d3800, 0x00000000, 0x303d2687, 0x00005000,
- 0x00395000, 0x00000000, 0x307a3087, 0x0000b838, 0x69866bdc, 0x00007404,
- 0x307a4287, 0x0000b838, 0xa9000000, 0x00009981, 0x80000011, 0x0000e407,
- 0x80000013, 0x00003407, 0x6ac00800, 0x00006181, 0x80000015, 0x00006407,
- 0x2b000000, 0x00009981, 0x0d002c57, 0x0000f8b2, 0x03400001, 0x00008080,
- 0x21c03457, 0x00001181, 0x00000c87, 0x00001583, 0x00005c57, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00006a76, 0x00007030, 0x00006ae0, 0x00007018,
- 0x00005457, 0x0000e583, 0x21804056, 0x00000780, 0x03800086, 0x0000f900,
- 0x00000200, 0x00000380, 0xa1c02302, 0x0000e780, 0xb000081f, 0x0000a400,
- 0x12c00000, 0x00006180, 0x4514380e, 0x0000e107, 0x00006859, 0x00007410,
- 0x53001800, 0x000084fa, 0x8d400000, 0x00006181, 0x0380405a, 0x00004788,
- 0x04000086, 0x0000f900, 0x00000200, 0x00000380, 0x0380000e, 0x0000f900,
- 0x00000200, 0x00000380, 0x45143810, 0x0000e107, 0x010a0011, 0x00003604,
- 0x29c19833, 0x00006100, 0x4514380e, 0x0000e107, 0x21b2764e, 0x0000e101,
- 0x2a219e4e, 0x0000c101, 0x17402557, 0x0000f88e, 0x03400001, 0x00008080,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x36d13025, 0x00004369,
- 0x00c02457, 0x00000098, 0x96802457, 0x0000f88a, 0x1b400000, 0x0000b483,
- 0xa3c03c57, 0x0000f8b2, 0xf3400000, 0x0000b582, 0xc01d5345, 0x00006502,
- 0x4000081d, 0x0000a402, 0xc000101c, 0x00006c03, 0x000068ea, 0x0000f009,
- 0x002534a5, 0x00009503, 0xa1c02d00, 0x0000e088, 0x12023046, 0x00004908,
- 0x113ef844, 0x0000f900, 0x003ffffe, 0x00008280, 0x307a3487, 0x0000a088,
- 0x00006879, 0x00007400, 0x12423847, 0x0000e108, 0xd15d53aa, 0x0000c908,
- 0x307a3c87, 0x0000a008, 0x53200024, 0x000004f3, 0x12e00000, 0x000004d2,
- 0x13805800, 0x00001981, 0x41806457, 0x00007892, 0xd3400000, 0x00003485,
- 0x0001a033, 0x00009502, 0x000069e2, 0x0000700b, 0x6000101d, 0x00006403,
- 0xc000081c, 0x0000b403, 0x000067a9, 0x0000f400, 0x11004044, 0x00006380,
- 0xd0000023, 0x0000a401, 0xa9400000, 0x00008ad2, 0x2c0036e3, 0x00001680,
- 0xa1c588b0, 0x00009000, 0xa1c01287, 0x00006080, 0x4000101d, 0x0000a402,
- 0x937be487, 0x0000a084, 0xa000281c, 0x00006406, 0xc001501d, 0x00003482,
- 0x6000081e, 0x00006403, 0xc000101c, 0x0000b403, 0x113df844, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x1f00087c, 0x00006080, 0x6000101d, 0x0000a403,
- 0x000067b3, 0x00007400, 0x937be487, 0x00002884, 0x2a400800, 0x00006181,
- 0x0b015227, 0x00004000, 0xc000101c, 0x0000e403, 0x6000081d, 0x00003403,
- 0x69e563f5, 0x0000f100, 0xa1d98b31, 0x00006100, 0x21b18d4e, 0x0000c101,
- 0x0007fc86, 0x00001583, 0x01800000, 0x0000e190, 0xc1d13226, 0x0000c910,
- 0x8107fb30, 0x0000e290, 0x07422006, 0x00002010, 0x00006b07, 0x00007008,
- 0x411a2806, 0x0000e104, 0x00219007, 0x00003086, 0x04322004, 0x00006087,
- 0x04128006, 0x0000b187, 0x82217807, 0x00006086, 0x86326004, 0x0000b087,
- 0xa1c02d00, 0x00001880, 0x30383487, 0x00003838, 0x30382687, 0x00005000,
- 0x00395000, 0x00000000, 0x69fa6f8b, 0x0000f404, 0x307a3087, 0x0000b838,
- 0x307a4287, 0x0000b838, 0xab200800, 0x00008aee, 0x71006457, 0x0000f892,
- 0x63400000, 0x0000b485, 0x03800100, 0x00006180, 0xa1c02302, 0x00004780,
- 0x51000800, 0x0000e181, 0x4514380e, 0x0000e107, 0x3e99b04b, 0x0000f81a,
- 0x7b400000, 0x00003482, 0x80005657, 0x00001583, 0x00040055, 0x00001582,
- 0xffffffff, 0x00007f86, 0x00006b03, 0x00007018, 0x00006aff, 0x0000f018,
- 0x00001457, 0x00006583, 0xa1c01a55, 0x00008080, 0xa1ffe287, 0x00007900,
- 0x0000003e, 0x00008280, 0x9300c287, 0x000060b0, 0x9300a287, 0x00000098,
- 0x21e2aaec, 0x0000e101, 0xb000081f, 0x0000a400, 0x8d401c87, 0x0000e281,
- 0xd3001000, 0x00000981, 0xa1c02302, 0x0000e780, 0x12c2a855, 0x00000900,
- 0x00006859, 0x0000f400, 0x13809800, 0x00006181, 0x4514380e, 0x0000e107,
- 0x16000000, 0x0000e1b0, 0x51000000, 0x00004981, 0x00000055, 0x00006582,
- 0xb000081f, 0x0000a400, 0x53201034, 0x000004f3, 0x9380000f, 0x000083d7,
- 0x00006aef, 0x00007208, 0x12c00000, 0x00006180, 0x21c01657, 0x0000c191,
- 0x12c2e05c, 0x0000e100, 0x51001657, 0x0000c181, 0x00000c87, 0x00001583,
- 0x00006ae4, 0x0000f01b, 0x00006859, 0x0000f400, 0xa1c02302, 0x0000e780,
- 0x03800100, 0x00008980, 0x4514380e, 0x00006907, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x10420700, 0x00007904,
- 0x0000682f, 0x00007400, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081,
- 0x21c00000, 0x00009981, 0x21c00c87, 0x00006081, 0x29c00ca6, 0x00008180,
- 0x29400ca5, 0x00006081, 0x21a43c87, 0x00008900, 0x00053886, 0x00001502,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x0000682f, 0x00007040,
- 0x10420700, 0x00007904, 0x21c00c87, 0x00006081, 0x29400ca5, 0x00000081,
- 0x10420700, 0x00007904, 0x29e43c87, 0x00006100, 0x21800ca6, 0x00004180,
- 0x8c0430a7, 0x0000784a, 0x7b400000, 0x00003481, 0x2c0036e3, 0x00001680,
- 0xa1c588b0, 0x00009000, 0xa1c01287, 0x00006080, 0x4000101d, 0x0000a402,
- 0x937be487, 0x0000a084, 0xa000281c, 0x00006406, 0xc001501d, 0x00003482,
- 0x6000081e, 0x00006403, 0xc000101c, 0x0000b403, 0x113df844, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x1f00087c, 0x00006080, 0x6000101d, 0x0000a403,
- 0x937be487, 0x00002884, 0x2a400800, 0x00006181, 0x0b015227, 0x00004000,
- 0x00198230, 0x00007808, 0x00000000, 0x00000000, 0x95a1b330, 0x0000780a,
- 0x03400001, 0x00000060, 0xb24006ab, 0x0000f88a, 0xf3400000, 0x0000b58d,
- 0x113fb844, 0x0000f900, 0x003ffffe, 0x00008280, 0xef8006ab, 0x00007892,
- 0x4b400000, 0x00003586, 0x01085800, 0x00009980, 0x6a5e7a6f, 0x0000f500,
- 0xc1000a26, 0x00001080, 0x01802004, 0x00009900, 0xa1800e53, 0x00001283,
- 0xd4800f52, 0x0000e091, 0x2000081e, 0x00002412, 0xd11a24a6, 0x00006010,
- 0x89800a26, 0x00008090, 0x00006876, 0x00007010, 0x00005457, 0x00001583,
- 0x00006ada, 0x0000f00b, 0x68766c9f, 0x00007100, 0x00006876, 0x0000f000,
- 0x4dca7633, 0x00004369, 0x00c02457, 0x00000098, 0x96802457, 0x0000f88a,
- 0x1b400000, 0x0000b483, 0xa3c03c57, 0x0000f8b2, 0xf3400000, 0x0000b582,
- 0xc01d5345, 0x00006502, 0x0000081d, 0x0000a403, 0x07c4001f, 0x00006380,
- 0xc000101c, 0x00002403, 0x0d243486, 0x00006100, 0x50001044, 0x0000640a,
- 0x00006ad1, 0x00007010, 0x00006879, 0x0000f000, 0x00004060, 0x0000e582,
- 0xb000081f, 0x0000a400, 0x12c26000, 0x000084f1, 0x9380000f, 0x000083d7,
- 0x00006acd, 0x0000f010, 0x00006859, 0x0000f400, 0xa1c02302, 0x00001780,
- 0x4514380e, 0x00006907, 0x12c2e068, 0x0000e000, 0x21c0406b, 0x00000780,
- 0x05000087, 0x0000f900, 0x00000200, 0x00000380, 0x45143014, 0x00006907,
- 0x12c25864, 0x0000e000, 0x21c04067, 0x00000780, 0x04800087, 0x0000f900,
- 0x00000200, 0x00000380, 0x21c04063, 0x0000e780, 0x45143012, 0x00002107,
- 0x04000087, 0x00007900, 0x00000200, 0x00000380, 0x12c25860, 0x00006000,
- 0x45143010, 0x0000a107, 0x13d9b04b, 0x00007832, 0xd3400000, 0x0000b487,
- 0x68766cdc, 0x00007300, 0x69400000, 0x00001981, 0x00006876, 0x0000f000,
- 0x0100406b, 0x0000e780, 0x21c04067, 0x00000780, 0x03800087, 0x00007900,
- 0x00000200, 0x00000380, 0x04000004, 0x0000f900, 0x00000200, 0x00000380,
- 0x000067d7, 0x0000f400, 0xa1c02302, 0x00001780, 0x45143810, 0x0000e107,
- 0x4514380e, 0x0000b107, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x29400ca5, 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x29400ca5, 0x00009081, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x00006a2b, 0x00007400,
- 0x10420700, 0x00007904, 0x29400ca5, 0x00009081, 0x21c0405f, 0x0000e780,
- 0x01004063, 0x00000780, 0x04000004, 0x0000f900, 0x00000200, 0x00000380,
- 0x01004067, 0x00001780, 0x04800004, 0x00007900, 0x00000200, 0x00000380,
- 0x0100406b, 0x00001780, 0x03800087, 0x00007900, 0x00000200, 0x00000380,
- 0x05000004, 0x00007900, 0x00000200, 0x00000380, 0xa1c02302, 0x00001780,
- 0x000067d7, 0x0000f400, 0x4514380e, 0x0000e107, 0x45143810, 0x0000b107,
- 0x45143814, 0x00006107, 0x45143812, 0x00003107, 0x21c04063, 0x0000e780,
- 0x01004067, 0x00008780, 0x04000004, 0x0000f900, 0x00000200, 0x00000380,
- 0x0100406b, 0x00001780, 0x03800087, 0x00007900, 0x00000200, 0x00000380,
- 0x04800004, 0x00007900, 0x00000200, 0x00000380, 0xa1c02302, 0x00001780,
- 0x000067d7, 0x0000f400, 0x4514380e, 0x0000e107, 0x45143810, 0x0000b107,
- 0x45143812, 0x0000e907, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x6acc635d, 0x0000f100, 0x6acd6419, 0x0000f100, 0x01085000, 0x00001980,
- 0x6ad17a6f, 0x00007500, 0xc1000a26, 0x00001080, 0x01802004, 0x00009900,
- 0x002534a5, 0x00006503, 0x50001044, 0x00002402, 0xa1c02d00, 0x0000e088,
- 0x12023046, 0x00004908, 0x307a3487, 0x0000a088, 0x00006879, 0x00007400,
- 0x12423847, 0x0000e108, 0xd15d53aa, 0x0000c908, 0x307a3c87, 0x0000a008,
- 0x01001458, 0x00009283, 0x01085800, 0x00001988, 0xc1000a26, 0x00009088,
- 0x00006a66, 0x00007010, 0x6ae07a6f, 0x0000f300, 0x01802004, 0x00009900,
- 0x01085000, 0x00001980, 0x6ae47a6f, 0x00007500, 0xc1000a26, 0x00001080,
- 0x01802004, 0x00009900, 0x00001c87, 0x00009583, 0x00002487, 0x00001583,
- 0x00001487, 0x00001583, 0x00006af9, 0x00007008, 0x00006af8, 0x0000f008,
- 0x00006a24, 0x00007010, 0x00006859, 0x0000f400, 0x03800100, 0x00006180,
- 0xa1c02302, 0x00004780, 0x12c25860, 0x00006000, 0x4514380e, 0x00002107,
- 0x00006859, 0x0000f400, 0x03800100, 0x00006180, 0xa1c02302, 0x00004780,
- 0x51000800, 0x0000e181, 0x4514380e, 0x0000e107, 0x01085000, 0x00001980,
- 0x6af87a6f, 0x0000f500, 0xc1000a26, 0x00001080, 0x01802004, 0x00009900,
- 0x12c2e068, 0x00001000, 0x00006aea, 0x0000f200, 0x12c25864, 0x00001000,
- 0x01085000, 0x00001980, 0x6aff7a6f, 0x00007500, 0xc1000a26, 0x00001080,
- 0x01802004, 0x00009900, 0x01085000, 0x00001980, 0x6b037a6f, 0x0000f500,
- 0xc1000a26, 0x00001080, 0x01802004, 0x00009900, 0x01085000, 0x00001980,
- 0x6b077a6f, 0x00007500, 0xc1000a26, 0x00001080, 0x01802004, 0x00009900,
- 0x8c543a87, 0x0000e100, 0x4000101d, 0x00006402, 0x2c0036e3, 0x00001680,
- 0xa1c588b0, 0x00009000, 0xa1c01287, 0x00006080, 0xa000501c, 0x0000a406,
- 0x9343e487, 0x0000a004, 0xc001301d, 0x00006482, 0x0000081f, 0x00003402,
- 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280, 0x6000101d, 0x00006403,
- 0xc000101c, 0x0000b403, 0x000067b3, 0x00007400, 0x1f000c7c, 0x00009081,
- 0x9343e487, 0x00002804, 0x0001a033, 0x00009502, 0x6000101d, 0x0000e413,
- 0xc000081c, 0x00003413, 0xd0000023, 0x00006c11, 0x00006b26, 0x00007008,
- 0x000067ec, 0x0000f000, 0x21f2764e, 0x00009900, 0x00019887, 0x00001502,
- 0x0000101d, 0x0000e40b, 0xc000081c, 0x0000340b, 0xa0000023, 0x0000ec09,
- 0x00006b29, 0x00007010, 0x000067ec, 0x00007200, 0x113df844, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00006879, 0x00007200, 0xc000101c, 0x0000e403,
- 0x6000081d, 0x00003403, 0x21820444, 0x00001283, 0xc000101c, 0x00006413,
- 0x0000081d, 0x0000b413, 0x000067ec, 0x0000f009, 0x00006879, 0x0000f000,
- 0x21f2764e, 0x00009900, 0x00019887, 0x00001502, 0x00006b39, 0x0000f013,
- 0x11004044, 0x00006380, 0x0000101d, 0x0000a403, 0xc000081c, 0x0000e403,
- 0xa0000023, 0x0000b401, 0x000067a9, 0x0000f400, 0x113df844, 0x0000f900,
- 0x003ffffe, 0x00008280, 0xa9400000, 0x00008ad2, 0x21820444, 0x00001283,
- 0xc000101c, 0x00006413, 0x0000081d, 0x0000b413, 0x000068d9, 0x0000f009,
- 0x000069e4, 0x0000f000, 0x80192a26, 0x00001502, 0x00006b5b, 0x00007013,
- 0x4000101d, 0x00006402, 0xc000081c, 0x0000b403, 0x000067a9, 0x0000f400,
- 0x11004044, 0x00006380, 0x40000023, 0x0000a401, 0xa9400000, 0x00008ad2,
- 0x2c0036e3, 0x00001680, 0xa1c588b0, 0x00009000, 0xa1c01287, 0x00006080,
- 0x4000101d, 0x0000a402, 0x9343e487, 0x0000a004, 0xa000501c, 0x00006406,
- 0xc001301d, 0x00003482, 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0000081f, 0x00006402, 0xc000101c, 0x0000b403, 0x1f000c7c, 0x00006081,
- 0x6000101d, 0x0000a403, 0x9343e487, 0x00002804, 0x8c598b31, 0x00009900,
- 0x00198230, 0x00007808, 0x00000000, 0x00000000, 0x95a1b330, 0x0000780a,
- 0x03400001, 0x00000060, 0xb24006ab, 0x0000f88a, 0xf3400000, 0x0000b58d,
- 0x000069e4, 0x00007200, 0xc000101c, 0x0000e403, 0x4000081d, 0x00003402,
- 0x0001a033, 0x00009502, 0xc000101c, 0x0000640b, 0x6000081d, 0x0000b40b,
- 0x000069cb, 0x00007011, 0x000067b3, 0x0000f000, 0x21f2764e, 0x00009900,
- 0x00019887, 0x00001502, 0x21820444, 0x00001283, 0xffffffff, 0x00007f86,
- 0x00006b31, 0x00007008, 0x000068d9, 0x00007008, 0x000067b3, 0x00007200,
- 0xc000101c, 0x0000e403, 0x0000081d, 0x00003403, 0x80192a26, 0x00001502,
- 0xc000101c, 0x00006413, 0x4000081d, 0x0000b412, 0x00006b40, 0x0000f009,
- 0x000067b3, 0x0000f000, 0x8002a64c, 0x00006583, 0x21c00e30, 0x00008081,
- 0x93000000, 0x00006189, 0x93000e4c, 0x00004091, 0x0000004b, 0x00006582,
- 0xf000081e, 0x00002401, 0x113ef844, 0x00007908, 0x003ffffe, 0x00008280,
- 0xcc243c87, 0x0000e100, 0x2932be57, 0x00004909, 0x000067a9, 0x00007208,
- 0x2972be57, 0x00009909, 0x00006bbe, 0x00007000, 0x80192a26, 0x00001502,
- 0x4000101d, 0x0000e40a, 0xc000081c, 0x0000340b, 0x40000023, 0x00006c09,
- 0x00006b97, 0x00007010, 0x000067ec, 0x0000f000, 0x4000101d, 0x00006402,
- 0xa000281c, 0x00003406, 0xc001501d, 0x00006482, 0x6000081e, 0x00003403,
- 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280, 0x6b8f635d, 0x00007500,
- 0xc000101c, 0x0000e403, 0x6000101d, 0x00003403, 0x2a400800, 0x00006181,
- 0x0b01524c, 0x0000c000, 0x2c0036e3, 0x00001680, 0xa1c588b0, 0x00009000,
- 0xa1c01287, 0x00009080, 0x937be487, 0x0000a084, 0xffffffff, 0x00007f86,
- 0x6b976419, 0x0000f503, 0x1f00087c, 0x00009080, 0x937be487, 0x00002884,
- 0x00006879, 0x00007200, 0xc000101c, 0x0000e403, 0x4000081d, 0x00003402,
- 0x21c00ea8, 0x00001181, 0x00001487, 0x00001583, 0x6b9d658b, 0x00007037,
- 0x800006a8, 0x00001583, 0xc000101c, 0x0000640b, 0x4000101d, 0x0000b40a,
- 0x61b54044, 0x00006008, 0xc001501d, 0x0000b48a, 0x00006acb, 0x0000f010,
- 0x00006acb, 0x0000f200, 0x6000101d, 0x0000ec03, 0x00006794, 0x00007400,
- 0xc0118b31, 0x00009502, 0xc000081c, 0x00006413, 0xc000481d, 0x00003416,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x038f2000, 0x0000f900, 0x002b5c76, 0x00000980,
- 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000080dc,
- 0x6bb61bac, 0x0000f500, 0x82600500, 0x00008026, 0x81001000, 0x0000e180,
- 0x02c01002, 0x00004900, 0x0001a033, 0x00009502, 0x6000101d, 0x0000e413,
- 0xc000081c, 0x00003413, 0xd0000023, 0x00006c11, 0x00006bce, 0x00007008,
- 0x800006ab, 0x0000e583, 0x11004044, 0x00000380, 0x00006ac9, 0x0000700b,
- 0x69e26419, 0x00007100, 0x21f2764e, 0x00009900, 0x00019887, 0x00001502,
- 0x0000101d, 0x0000e40b, 0xc000081c, 0x0000340b, 0xa0000023, 0x0000ec09,
- 0x00006bd2, 0x0000f010, 0x00006bbb, 0x0000f200, 0x113df844, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x80192a26, 0x00001502, 0x4000101d, 0x0000e40a,
- 0xc000081c, 0x0000340b, 0x40000023, 0x00006c09, 0x00006bd8, 0x0000f010,
- 0x00006bbb, 0x00007000, 0xc000101c, 0x0000e403, 0x6000081d, 0x00003403,
- 0xef8006ab, 0x00007892, 0x4b400000, 0x00003586, 0x1f020444, 0x00001283,
- 0xc000101c, 0x00006413, 0x0000081d, 0x0000b413, 0x00006bbb, 0x00007009,
- 0xef8006ab, 0x00007892, 0x4b400000, 0x00003586, 0xc000101c, 0x0000e403,
- 0x4000081d, 0x00003402, 0xef8006ab, 0x00007892, 0x4b400000, 0x00003586,
- 0xa9c02d00, 0x0000e080, 0xabc7fb44, 0x00004280, 0x307a34a7, 0x0000b838,
- 0xa9c80000, 0x0000e180, 0x39800540, 0x00004980, 0x2b40003a, 0x00007900,
- 0x00000014, 0x00000082, 0xa9d57aa7, 0x00006100, 0x3b40003b, 0x00008084,
- 0x2bc022af, 0x0000e080, 0xb9a80500, 0x0000c900, 0x2b80f8af, 0x0000e784,
- 0x75e800e6, 0x0000a101, 0x3bc57846, 0x0000e002, 0xe1d722e4, 0x00000900,
- 0x3b857047, 0x00006004, 0xea9a2b45, 0x00000900, 0x2bb20004, 0x0000e180,
- 0x298568ad, 0x0000c900, 0x39c60000, 0x0000f900, 0x000014c4, 0x00000980,
- 0x2bc60000, 0x0000f900, 0x00007fc0, 0x00000980, 0x80005aa7, 0x00006582,
- 0x294768ed, 0x00000900, 0xeb981302, 0x00001900, 0xe9c7fb44, 0x00009282,
- 0xffffffff, 0x00007f86, 0x00006c47, 0x0000f030, 0x00006c22, 0x00007008,
- 0x700600ec, 0x0000d680, 0x003f34c4, 0x00008010, 0x703f78ec, 0x00005600,
- 0x003f7000, 0x00008000, 0x700600ec, 0x0000d680, 0x003d77c0, 0x00008078,
- 0x29400000, 0x00000ad8, 0x2a000000, 0x00001981, 0x00c002ec, 0x0000df80,
- 0x16c0200b, 0x00001684, 0x00000ca8, 0x00009583, 0x00006c0e, 0x0000f00b,
- 0xb91c3b87, 0x00006100, 0x29c0ae57, 0x0000c080, 0x29006000, 0x00006181,
- 0x29b2be57, 0x00004901, 0x384014a7, 0x0000e081, 0x2972be57, 0x00004901,
- 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x06b2baa7, 0x0000f823,
- 0x03400001, 0x00000000, 0x00001557, 0x0000f88c, 0x00000000, 0x00000000,
- 0x00327433, 0x0000f860, 0x00000000, 0x00008020, 0x274006a4, 0x00007893,
- 0x03400001, 0x00000060, 0x91c02557, 0x0000c48d, 0x1cd13025, 0x00009b61,
- 0x238006a4, 0x0000f893, 0xdb400000, 0x0000b684, 0x127d37a5, 0x00008420,
- 0xb9053887, 0x00008a10, 0x29c0ae57, 0x00006080, 0x29b2be57, 0x00008901,
- 0x384014a7, 0x0000e081, 0x2972be57, 0x00004901, 0xffffffff, 0x00007f86,
- 0x00000000, 0x00007083, 0xb9800000, 0x00006180, 0xc00000e7, 0x0000e406,
- 0x3b5a2b45, 0x0000e100, 0x2b400a4f, 0x0000c180, 0x703f38ec, 0x0000d600,
- 0x003f3000, 0x00000000, 0x000568ed, 0x00006502, 0x11824048, 0x00008900,
- 0x703a40ec, 0x0000d600, 0x003a4800, 0x00000000, 0x700600ec, 0x0000d680,
- 0x003d77c0, 0x00008078, 0x00006c7f, 0x00007208, 0x11c24849, 0x0000e100,
- 0xab400b45, 0x0000c090, 0x2a000000, 0x00006181, 0xd1400b45, 0x0000c080,
- 0x2b401aad, 0x00001880, 0x2b4530ad, 0x0000e002, 0x29800000, 0x00008980,
- 0x29400000, 0x00006180, 0x3b4000a5, 0x0000c084, 0x000120e6, 0x0000e485,
- 0x008040e7, 0x0000b586, 0xb9a80500, 0x0000e100, 0x000040af, 0x00006586,
- 0x703f38ec, 0x0000d600, 0x003f3000, 0x00000000, 0x703d68ec, 0x00005600,
- 0x003f6800, 0x00008000, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x16c2200b, 0x00009684, 0x00000ca8, 0x00009583,
- 0x00006c06, 0x00007013, 0x00006c0e, 0x00007000, 0xe9c7fb44, 0x00006282,
- 0xc00000e7, 0x00002406, 0xb9800000, 0x00006180, 0xa94022a7, 0x00004890,
- 0xa97ffaa5, 0x0000f910, 0x00000002, 0x00008280, 0x00006c24, 0x00007008,
- 0xabc022a7, 0x0000e080, 0x001528e7, 0x00006106, 0x703f38ec, 0x0000d600,
- 0x003f3000, 0x00000000, 0x29800ca7, 0x0000e081, 0x29406000, 0x00004980,
- 0x703f78ec, 0x00005600, 0x003f7000, 0x00008000, 0x295538a5, 0x0000e100,
- 0x3bda2b45, 0x00008900, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000,
- 0x3b800a4f, 0x0000e180, 0xabc022a5, 0x00008880, 0xa97ffaaf, 0x00007900,
- 0x00000002, 0x00008280, 0x000770ef, 0x00006502, 0x001528e7, 0x0000a106,
- 0x2a000800, 0x000061c1, 0x0c0734a5, 0x00006084, 0x29a52ca6, 0x0000e001,
- 0x29424849, 0x00000900, 0x29824048, 0x0000e100, 0x042530e6, 0x00006085,
- 0x703f38ec, 0x0000d600, 0x003f3000, 0x00000000, 0xabfffaaf, 0x00007900,
- 0x00000002, 0x00008280, 0x00006c38, 0x00007440, 0x703a40ec, 0x0000d600,
- 0x003a4800, 0x00000000, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000,
- 0x3b800b45, 0x0000e080, 0x000120e6, 0x00002485, 0x3b8018ee, 0x0000e080,
- 0x008040e7, 0x0000e586, 0x2b4770ad, 0x0000e002, 0xb9a80500, 0x00000900,
- 0x703f38ec, 0x0000d600, 0x003f3000, 0x00000000, 0x3b4000ed, 0x00006084,
- 0x000040af, 0x0000a586, 0x703d68ec, 0x00005600, 0x003f6800, 0x00008000,
- 0x00006c42, 0x00007400, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000,
- 0x2a000800, 0x00009981, 0x000120e6, 0x0000e485, 0x008040e7, 0x0000b586,
- 0xb9a80500, 0x0000e100, 0x2b4530a6, 0x00004900, 0x703f38ec, 0x0000d600,
- 0x003f3000, 0x00000000, 0x3b4528a5, 0x0000e100, 0x000040af, 0x00006586,
- 0x703d68ec, 0x00005600, 0x003f6800, 0x00008000, 0x703d78ec, 0x0000d600,
- 0x003d7000, 0x00000000, 0x00006c42, 0x00007400, 0x51400400, 0x00008ae2,
- 0x29400000, 0x00000ad8, 0x11c528a5, 0x0000e100, 0x29c00a4f, 0x0000c180,
- 0x11ba2fa6, 0x00008a16, 0x000538a5, 0x00009502, 0xa9c00000, 0x000099c0,
- 0xa9c00b45, 0x000010c8, 0x00006c95, 0x00007040, 0xb90d3887, 0x00008416,
- 0x29c0ae57, 0x00006080, 0x29006000, 0x00008981, 0x69a2bc57, 0x00000a15,
- 0x384014a7, 0x00009881, 0x00000000, 0x00007083, 0x00006c1b, 0x00007200,
- 0x127d37a5, 0x00008420, 0x00006c1b, 0x00007200, 0x127d37a5, 0x00008420,
- 0x0fc22405, 0x0000e000, 0x0e02bc04, 0x00003000, 0x00005457, 0x0000e583,
- 0x22000018, 0x00008980, 0x01602405, 0x00006301, 0x02001000, 0x00008989,
- 0x02000800, 0x00006191, 0x10602888, 0x0000e000, 0x0e422405, 0x0000e000,
- 0x31027088, 0x0000b000, 0x02c00000, 0x0000e180, 0x0a027404, 0x00006084,
- 0x0018a8ec, 0x00005780, 0x00006000, 0x00008080, 0x8222b888, 0x00006006,
- 0x0000180b, 0x00003106, 0x0197f880, 0x00006180, 0x83c02302, 0x00004780,
- 0x02000c08, 0x0000e181, 0x01403c05, 0x00008881, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0x000808ec, 0x0000d780, 0x00006001, 0x00000080, 0xc000180b, 0x0000e006,
- 0x4510780e, 0x0000b107, 0x23000000, 0x0000e180, 0xb2e04006, 0x0000e004,
- 0x021cb000, 0x00007900, 0x0002b1c0, 0x00000980, 0x23400000, 0x000008f8,
- 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000, 0x00006180,
- 0x22718630, 0x0000c901, 0x626a754e, 0x00006101, 0xe2400a26, 0x00004080,
- 0x22bc272a, 0x0000082c, 0x01c00000, 0x0000e180, 0x82901202, 0x00004900,
- 0x02aa7502, 0x00000822, 0xa2202405, 0x0000e301, 0x03c00004, 0x00000980,
- 0x01400000, 0x00006180, 0x01000802, 0x0000c980, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780,
- 0x00006000, 0x00008080, 0x21c01488, 0x00006283, 0xa1800a26, 0x00000080,
- 0x2ac01cab, 0x00006181, 0x2000081e, 0x0000a402, 0x00000001, 0x00007480,
- 0xeac037ab, 0x00006181, 0xd11a24a6, 0x00008000, 0xd3d43286, 0x0000e110,
- 0x89800a26, 0x0000c080, 0x00002c57, 0x00001583, 0x8181a000, 0x0000e188,
- 0x81826000, 0x0000c990, 0x400005a5, 0x00009583, 0xaa903206, 0x00006100,
- 0x0222bc57, 0x00004909, 0x0fc22405, 0x00006008, 0x0e02bc04, 0x0000b008,
- 0x00006e4e, 0x0000f010, 0x803d8245, 0x00007900, 0x00000002, 0x00008582,
- 0x91400000, 0x0000e1b8, 0x82202405, 0x0000c301, 0x00002c57, 0x0000e583,
- 0x0c82bf08, 0x0000a000, 0x01001657, 0x0000e189, 0x01000800, 0x00008991,
- 0x22400245, 0x00007900, 0x0000000c, 0x00008080, 0x42202404, 0x00006101,
- 0x2200f889, 0x00004784, 0x8fb820ec, 0x00002084, 0x2281d089, 0x0000e002,
- 0x81c00a26, 0x00000080, 0x8f8468ec, 0x0000a085, 0x8f8020ec, 0x0000a084,
- 0xc1da7b4f, 0x00006100, 0x01815206, 0x0000c000, 0x2201d888, 0x00009004,
- 0xffffffff, 0x00007f86, 0xa004074e, 0x00004195, 0x00c01c04, 0x00000088,
- 0x00899c4e, 0x00004511, 0x1040074e, 0x000088c4, 0x8040074e, 0x0000f8c3,
- 0x23400000, 0x0000b68c, 0x700280ec, 0x0000d680, 0x00008550, 0x00008088,
- 0x703ae0ec, 0x0000d600, 0x003ae800, 0x00000000, 0x703af0ec, 0x00005600,
- 0x003af800, 0x00008000, 0x703b00ec, 0x0000d600, 0x003b0800, 0x00000000,
- 0x703b10ec, 0x00005600, 0x003b1800, 0x00008000, 0x703b20ec, 0x00005600,
- 0x003b2800, 0x00008000, 0x703b30ec, 0x0000d600, 0x003b3800, 0x00000000,
- 0x703b40ec, 0x00005600, 0x003b4800, 0x00008000, 0x703b50ec, 0x0000d600,
- 0x003b5800, 0x00000000, 0x703840ec, 0x00005600, 0x00383800, 0x00000000,
- 0x703830ec, 0x0000d600, 0x003a5800, 0x00008000, 0x01720004, 0x00006180,
- 0x82246804, 0x0000e086, 0x703c50ec, 0x00005600, 0x003c4000, 0x00008000,
- 0x93800e4e, 0x00006081, 0x04181005, 0x00002187, 0x700280ec, 0x0000d680,
- 0x00382fc0, 0x00000078, 0x8fb820ec, 0x0000a884, 0x25000800, 0x0000e181,
- 0x91428245, 0x00004080, 0x02000000, 0x00001981, 0x00002c57, 0x0000e583,
- 0x22008000, 0x00000980, 0x01000800, 0x00006189, 0x01005000, 0x0000c991,
- 0x8222b888, 0x00006006, 0x0fc22405, 0x0000b000, 0x400005a5, 0x00006583,
- 0xc3202088, 0x0000a006, 0x23800000, 0x00006180, 0x0e02bc04, 0x00006000,
- 0x01602405, 0x00006301, 0x23c00000, 0x00000980, 0x01000000, 0x00006181,
- 0x10602888, 0x0000e000, 0x01000800, 0x00006191, 0x24000000, 0x00004980,
- 0x24400000, 0x000009c8, 0x00000404, 0x0000e583, 0x20a02088, 0x0000a000,
- 0x24c00000, 0x00006180, 0x31027088, 0x0000e000, 0x01000000, 0x0000e191,
- 0x22c42084, 0x0000c900, 0x00006d3e, 0x00007008, 0x800016a8, 0x00009583,
- 0x01000800, 0x00001989, 0xffffffff, 0x00007f86, 0x30e02088, 0x0000e800,
- 0x0e422405, 0x0000e000, 0x0a027404, 0x00003084, 0x01403c05, 0x00006081,
- 0x228152aa, 0x00004000, 0xa2202405, 0x0000e301, 0xe2400a26, 0x00008080,
- 0x0124a408, 0x0000e303, 0xe232764e, 0x00008901, 0x0000a8ec, 0x00005780,
- 0x00006001, 0x00000080, 0x624a7430, 0x00008824, 0x00006dc9, 0x00007408,
- 0x233a5f2f, 0x00000834, 0xa4c00800, 0x0000e181, 0x01000800, 0x0000c990,
- 0x800006ab, 0x0000e583, 0x02c00000, 0x00000980, 0x34e4a004, 0x0000e001,
- 0x0000180b, 0x00003106, 0x83c02302, 0x0000e780, 0x45204004, 0x00002001,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x000808ec, 0x0000d780, 0x00006001, 0x00000080,
- 0xc000180b, 0x0000e006, 0x4510780e, 0x0000b107, 0x0204b000, 0x00007900,
- 0x0003f140, 0x00008980, 0x0157f800, 0x000080d8, 0x00006dda, 0x0000f408,
- 0x01c00000, 0x0000e180, 0x82901202, 0x00004900, 0x03c00004, 0x0000e180,
- 0xc2981302, 0x0000c900, 0x25008488, 0x0000e283, 0x69000000, 0x00000981,
- 0x69004000, 0x0000e191, 0x29c00fab, 0x0000c081, 0x277fe09d, 0x00007900,
- 0x003ffffe, 0x00008280, 0x0e01c2aa, 0x0000e000, 0x288512aa, 0x00008000,
- 0x2501502a, 0x00006100, 0xeafd44a7, 0x00004101, 0x0a8152aa, 0x0000e000,
- 0xa5f4bda4, 0x00008301, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780, 0x00006001, 0x00000080,
- 0xd11a24a6, 0x0000e000, 0xa9c403a9, 0x00008180, 0x29801488, 0x00006283,
- 0x2000081e, 0x0000a402, 0x21555085, 0x00006100, 0x2ac07cab, 0x00000181,
- 0xeac037ab, 0x00006181, 0xaac00eab, 0x00000081, 0x00006dfc, 0x00007410,
- 0x2b000cac, 0x00006081, 0xea5552a7, 0x00000100, 0x89800a26, 0x00006080,
- 0xa9c00a26, 0x00000080, 0x00000001, 0x00007280, 0x0bc0082f, 0x00006080,
- 0xc000081e, 0x0000a403, 0x24800e4e, 0x00006081, 0x0f445088, 0x00002100,
- 0x93800e4e, 0x00006081, 0x24400005, 0x00000980, 0x23804800, 0x00006180,
- 0x0a02748c, 0x00006084, 0xa2404c8c, 0x0000e080, 0x22c00000, 0x00004980,
- 0xa25bda89, 0x0000f900, 0x00000008, 0x00000080, 0x760048ec, 0x0000d680,
- 0x00000000, 0x00008080, 0xe4544289, 0x00006000, 0x0000a88e, 0x00002480,
- 0x763c88ec, 0x00005600, 0x0007f800, 0x00008080, 0x763ae0ec, 0x0000d600,
- 0x003ae800, 0x00000000, 0x763af0ec, 0x00005600, 0x003af800, 0x00008000,
- 0x763b00ec, 0x0000d600, 0x003b0800, 0x00000000, 0x763b10ec, 0x00005600,
- 0x003b1800, 0x00008000, 0x763b20ec, 0x00005600, 0x003b2800, 0x00008000,
- 0x763b30ec, 0x0000d600, 0x003b3800, 0x00000000, 0x763b40ec, 0x00005600,
- 0x003b4800, 0x00008000, 0x2407f800, 0x00006180, 0xc104188b, 0x00006606,
- 0x763b50ec, 0x0000d600, 0x003b5800, 0x00000000, 0x763c70ec, 0x0000d600,
- 0x003c5800, 0x00008000, 0x24080090, 0x00006380, 0x80001091, 0x0000a406,
- 0x760010ec, 0x00005680, 0x00008000, 0x000080c0, 0x2303fc8c, 0x00006280,
- 0xc0004090, 0x0000a406, 0x22400000, 0x00007900, 0x00003fc0, 0x00008980,
- 0x760000ec, 0x0000d680, 0x00000000, 0x00008080, 0xe4404391, 0x00006080,
- 0x80001090, 0x0000a407, 0x22001002, 0x0000e100, 0x0e42248f, 0x00006000,
- 0xa25bca8c, 0x00007900, 0x00000008, 0x00000080, 0x763c88ec, 0x00005600,
- 0x003c8000, 0x00008000, 0x763c48ec, 0x00005600, 0x00000000, 0x00008080,
- 0x25000000, 0x00006181, 0xe21c448f, 0x0000c300, 0x760490ec, 0x0000d603,
- 0x003c4000, 0x00008000, 0x763840ec, 0x00005600, 0x00383800, 0x00000000,
- 0x763830ec, 0x0000d600, 0x003a5800, 0x00008000, 0x02000800, 0x00009981,
- 0x00006d22, 0x0000f400, 0x91428245, 0x0000e080, 0x82246804, 0x00002086,
- 0x8fb820ec, 0x0000a884, 0x800006ab, 0x0000e583, 0x02c00000, 0x00000980,
- 0x83c02302, 0x0000e780, 0x0000180b, 0x0000a106, 0x0204b000, 0x00007900,
- 0x0003f140, 0x00008980, 0x02400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x000010ec, 0x00005780,
- 0x00006001, 0x00000080, 0xc000180b, 0x0000e006, 0x4510780e, 0x0000b107,
- 0x00006d63, 0x00007410, 0x02a81402, 0x00008028, 0x03c00004, 0x00009980,
- 0x26000000, 0x0000e180, 0x69b55eab, 0x0000c901, 0x25000000, 0x0000e180,
- 0x966d4098, 0x00006001, 0x26008488, 0x0000e283, 0x25400000, 0x00008980,
- 0x25800000, 0x000089dc, 0x26400000, 0x000009e8, 0x26c00000, 0x0000e180,
- 0xe9929252, 0x0000c900, 0x6de81a1c, 0x00007500, 0xaba00eaa, 0x00008a92,
- 0x94800000, 0x00006180, 0x69804000, 0x00004991, 0x29c00fab, 0x00009081,
- 0xeafd44a7, 0x00001101, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780, 0x00006001, 0x00000080,
- 0xd11a24a6, 0x0000e000, 0xa9c403a9, 0x00008180, 0x29801488, 0x00006283,
- 0x2000081e, 0x0000a402, 0x21555085, 0x00006100, 0x2ac07cab, 0x00000181,
- 0xeac037ab, 0x00006181, 0xaac00eab, 0x00000081, 0x00006d81, 0x00007408,
- 0x2b000cac, 0x00006081, 0xea5552a7, 0x00000100, 0x89800a26, 0x00006080,
- 0xa9c00a26, 0x00000080, 0x00000001, 0x00007480, 0x400005a5, 0x00006583,
- 0xc000081e, 0x0000a403, 0xd3d53aa7, 0x0000e108, 0x0bc0082f, 0x0000c080,
- 0x222024e5, 0x00006401, 0x8004004e, 0x00002487, 0x23c00005, 0x0000e180,
- 0x24804800, 0x0000c980, 0x22244488, 0x0000e301, 0x23000000, 0x0000c980,
- 0x8624404e, 0x0000e085, 0x0000a892, 0x00003480, 0x24400e4e, 0x00006081,
- 0x0a027488, 0x00002084, 0x226447e4, 0x0000e000, 0x93800e4e, 0x0000c081,
- 0x23644c8d, 0x0000e401, 0x01244c04, 0x00000301, 0x22646c8d, 0x00006100,
- 0xc104188c, 0x0000e606, 0x22244089, 0x00006704, 0x2387f800, 0x00008980,
- 0x71e44044, 0x0000e000, 0x0f445089, 0x00003100, 0x2388008e, 0x00006380,
- 0x0a027488, 0x00002084, 0xa2c04c88, 0x0000e080, 0xc000408e, 0x00006406,
- 0xa2dbda8b, 0x0000f900, 0x00000008, 0x00000080, 0x760048ec, 0x0000d680,
- 0x00000000, 0x00008080, 0xe3d44a8b, 0x00006000, 0x8000108e, 0x0000a407,
- 0x763c78ec, 0x00005600, 0x0007f800, 0x00008080, 0x763ae0ec, 0x0000d600,
- 0x003ae800, 0x00000000, 0x763af0ec, 0x00005600, 0x003af800, 0x00008000,
- 0x763b00ec, 0x0000d600, 0x003b0800, 0x00000000, 0x763b10ec, 0x00005600,
- 0x003b1800, 0x00008000, 0x763b20ec, 0x00005600, 0x003b2800, 0x00008000,
- 0x763b30ec, 0x0000d600, 0x003b3800, 0x00000000, 0x763b40ec, 0x00005600,
- 0x003b4800, 0x00008000, 0x763b50ec, 0x0000d600, 0x003b5800, 0x00000000,
- 0x763c90ec, 0x00005600, 0x003c6000, 0x00000000, 0x2203fc88, 0x00006280,
- 0x8000108f, 0x0000a406, 0x760010ec, 0x00005680, 0x00008000, 0x000080c0,
- 0x22800000, 0x00007900, 0x00003fc0, 0x00008980, 0x760000ec, 0x0000d680,
- 0x00000000, 0x00008080, 0xe3c0438f, 0x00006080, 0x0e422490, 0x00002000,
- 0xa29bca88, 0x0000f900, 0x00000008, 0x00000080, 0x763c78ec, 0x00005600,
- 0x003c7000, 0x00008000, 0x25000000, 0x00006181, 0x22001002, 0x0000c900,
- 0x763c50ec, 0x00005600, 0x00000000, 0x00008080, 0xe21c4490, 0x00001300,
- 0x760488ec, 0x0000d603, 0x003c4000, 0x00008000, 0x763840ec, 0x00005600,
- 0x00383800, 0x00000000, 0x00006dc5, 0x0000f400, 0x763830ec, 0x0000d600,
- 0x003a5800, 0x00008000, 0x02000800, 0x00009981, 0x00006d22, 0x0000f200,
- 0xa5000000, 0x000000e2, 0xa1d722e4, 0x00001900, 0xef913126, 0x00004463,
- 0xaac00e53, 0x00001b94, 0x01804444, 0x0000458c, 0x8100f4ab, 0x0000009c,
- 0x80113253, 0x00001502, 0x29804444, 0x00006283, 0x00000053, 0x00002471,
- 0x0000f4ab, 0x00001583, 0xffffffff, 0x00007f86, 0x00006e5f, 0x0000f008,
- 0x00006e63, 0x00007018, 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x000094ab, 0x00001583, 0xb9143a87, 0x00001930,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x000070b3, 0x2983fa27, 0x00001080,
- 0x001d48a6, 0x00001502, 0x29843085, 0x00006048, 0xb9143a87, 0x00000940,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f0c3, 0x001138a6, 0x00009502,
- 0xa000281c, 0x0000642e, 0x6000081e, 0x0000342b, 0x0b015227, 0x0000e028,
- 0xc000101c, 0x0000242b, 0x00006f7f, 0x0000f020, 0x2c0036e3, 0x00001680,
- 0xab4588b0, 0x00001000, 0xab4012ad, 0x00006080, 0xb9143a87, 0x00008900,
- 0x937be4ad, 0x00002084, 0x2a400800, 0x00006181, 0x4000101d, 0x00006402,
- 0xc001501d, 0x0000ec82, 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x1f00087c, 0x00006080, 0x6000101d, 0x0000a403, 0x00000000, 0x0000f280,
- 0x937be4ad, 0x0000a884, 0x29400ca5, 0x00006081, 0x7842a000, 0x00000981,
- 0x2b652ca4, 0x00001100, 0xffffffff, 0x0000ffb7, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x29b2be57, 0x00006101, 0x29c00e57, 0x00004180,
- 0x000538ad, 0x00001502, 0x00006eb0, 0x0000f04b, 0x69008557, 0x00009283,
- 0x29c00000, 0x00009991, 0x00006e96, 0x00007011, 0xd3401e57, 0x00004489,
- 0x4cc018a7, 0x00001b8d, 0xd58018a7, 0x000041b9, 0x00c008a7, 0x00000088,
- 0x036010a7, 0x00004788, 0x824020a7, 0x0000818a, 0xac8028a7, 0x00007893,
- 0x03400000, 0x0000b785, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x29c00ca7, 0x00006081, 0x29400ca5, 0x00000081, 0x2ba53ca7, 0x00006100,
- 0x2b400ca6, 0x00004180, 0xa48568ae, 0x0000784b, 0x93400000, 0x0000b785,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x00006eb2, 0x0000f400, 0x10420700, 0x00007904, 0x294014a5, 0x00009081,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x29400ca5, 0x00009081,
- 0x10420700, 0x00007904, 0x00006eb2, 0x0000f400, 0x10420700, 0x00007904,
- 0x29400ca5, 0x00009081, 0x6eb26bdc, 0x00007204, 0xa9000800, 0x00001981,
- 0x80000011, 0x0000e407, 0x80000013, 0x00003407, 0xd4800f52, 0x0000e181,
- 0x80000015, 0x0000a407, 0xe6a02c57, 0x00004399, 0x00c02c57, 0x00000090,
- 0xd8820557, 0x0000c48d, 0x78c01e57, 0x00009bbd, 0x40c00055, 0x0000c88b,
- 0x82008557, 0x0000888e, 0x01085000, 0x00001980, 0x6ec07a6f, 0x0000f500,
- 0xc1000a26, 0x00001080, 0x01802004, 0x00009900, 0x01085000, 0x00001980,
- 0x6ec47a6f, 0x00007500, 0xc1000a26, 0x00001080, 0x01802004, 0x00009900,
- 0x00000055, 0x00006582, 0xb000081f, 0x0000a400, 0x53201034, 0x000004f3,
- 0x9380000f, 0x000083d7, 0x00006ecc, 0x00007210, 0x51000800, 0x00006189,
- 0x12c00000, 0x00004980, 0x00006ed8, 0x00007000, 0x03801657, 0x00006181,
- 0x51001657, 0x00000181, 0x00000c0e, 0x00006583, 0x12c2e05c, 0x00000900,
- 0x00006ed8, 0x00007033, 0xdac01c0e, 0x00004489, 0xaac0240e, 0x00009b8d,
- 0xb600140e, 0x00007893, 0xbb400000, 0x0000b786, 0x12c2e068, 0x00001000,
- 0x12c25864, 0x00001000, 0x12c25860, 0x00009000, 0xab402302, 0x00006780,
- 0x03800100, 0x00008980, 0x4515680e, 0x0000e907, 0x13202457, 0x0000c598,
- 0x08c02457, 0x00000894, 0x80005657, 0x00001583, 0x01085000, 0x00001998,
- 0xc1000a26, 0x00001098, 0x00006ee3, 0x0000f030, 0x6ee37a6f, 0x00007300,
- 0x01802004, 0x00009900, 0x00040055, 0x00001582, 0x01085000, 0x00001998,
- 0xc1000a26, 0x00001098, 0x00006ee9, 0x0000f030, 0x6ee97a6f, 0x00007300,
- 0x01802004, 0x00009900, 0x00001457, 0x00006583, 0xab401a55, 0x00000080,
- 0xab7fe2ad, 0x00007900, 0x0000003e, 0x00008280, 0x9300c2ad, 0x0000e0b0,
- 0x9300a2ad, 0x00008098, 0x2b62aaec, 0x00006101, 0xb000081f, 0x0000a400,
- 0x8d401cad, 0x00006281, 0xd3001000, 0x00000981, 0xab402302, 0x00006780,
- 0x12c2a855, 0x00000900, 0x13809800, 0x00006181, 0x4515680e, 0x00006107,
- 0x16000000, 0x0000e1b0, 0x51000000, 0x00004981, 0x0f602457, 0x0000c598,
- 0x06e02457, 0x00000695, 0x00001457, 0x00006583, 0xd3001000, 0x00000981,
- 0x16000000, 0x0000e1b0, 0x2b40c000, 0x000049b1, 0x2b40a000, 0x00006199,
- 0x12c00000, 0x00004980, 0x00000055, 0x00006582, 0xa9c02302, 0x00000780,
- 0x03800100, 0x0000e188, 0x51000800, 0x00004989, 0x4515380e, 0x0000690f,
- 0x00006f08, 0x0000f010, 0x00006f24, 0x0000f000, 0x13001657, 0x00006181,
- 0x0380405f, 0x00000780, 0x00000c4c, 0x00006583, 0x51001657, 0x00000181,
- 0x0380000e, 0x0000f900, 0x00000200, 0x00000380, 0x12c2e05c, 0x0000e100,
- 0x4515380e, 0x00006107, 0x00006f24, 0x0000f030, 0xe3401c4c, 0x0000c489,
- 0x2ac0244c, 0x00001b8e, 0xc900144c, 0x0000f893, 0xfb400000, 0x0000b788,
- 0x12c2e068, 0x0000e000, 0x0400406b, 0x00008780, 0x05000010, 0x00007900,
- 0x00000200, 0x00000380, 0x45153814, 0x00006907, 0x12c25864, 0x0000e000,
- 0x04004067, 0x00008780, 0x04800010, 0x00007900, 0x00000200, 0x00000380,
- 0x45153812, 0x00006907, 0x12c25860, 0x00006000, 0x04004063, 0x00000780,
- 0x04000010, 0x0000f900, 0x00000200, 0x00000380, 0x45153810, 0x0000e907,
- 0x0019b04b, 0x0000e502, 0xb000081f, 0x0000a400, 0x9300c336, 0x0000e098,
- 0x93001a4b, 0x000000b0, 0xffffffff, 0x00007f86, 0x933fe24c, 0x00007930,
- 0x0000003e, 0x00008280, 0x931264ad, 0x00006030, 0x2b625aec, 0x00000101,
- 0x40000d44, 0x0000e583, 0x8d401cad, 0x00000281, 0x2b40f800, 0x00006191,
- 0x2b409800, 0x00004989, 0xffffffff, 0x00007f86, 0x13a56cad, 0x00001901,
- 0x08202457, 0x0000c598, 0x03402457, 0x00000390, 0x2b403457, 0x00009181,
- 0x00000cad, 0x00009583, 0x12c00000, 0x000061b0, 0x93026000, 0x0000c9b0,
- 0x13807800, 0x0000e1b1, 0xb000081f, 0x00006430, 0x00006f47, 0x0000f018,
- 0x00004060, 0x0000e582, 0x8d400000, 0x00008981, 0x01085000, 0x00009990,
- 0xc1000a26, 0x00009090, 0x00006f43, 0x0000f008, 0x6f437a6f, 0x0000f300,
- 0x01802004, 0x00009900, 0xab402302, 0x00009780, 0x4515680e, 0x0000e907,
- 0x05e02457, 0x00004598, 0x02202457, 0x00008197, 0x00005c57, 0x00009583,
- 0x01085000, 0x00001998, 0xc1000a26, 0x00001098, 0x00006f4d, 0x0000f030,
- 0x6f4d7a6f, 0x00007300, 0x01802004, 0x00009900, 0x2b404056, 0x00006780,
- 0xa9c02302, 0x00000780, 0x038000ad, 0x0000f900, 0x00000200, 0x00000380,
- 0x4515380e, 0x00006107, 0xb000081f, 0x00003400, 0x12c00000, 0x000004f1,
- 0xcd401800, 0x000084fa, 0xeb205457, 0x00004489, 0xe8c02457, 0x00001b9e,
- 0xd9c02457, 0x00007893, 0x1b400000, 0x0000378b, 0x0380405a, 0x00006780,
- 0x010a0011, 0x0000a604, 0x040000ad, 0x0000f900, 0x00000200, 0x00000380,
- 0x0380000e, 0x0000f900, 0x00000200, 0x00000380, 0x4515380e, 0x00006107,
- 0x45153810, 0x00003107, 0xee802457, 0x0000c999, 0xcec02457, 0x00001b96,
- 0x01085800, 0x00009980, 0xc1000a26, 0x00001080, 0x01802004, 0x00009900,
- 0x6f677a6f, 0x00007100, 0x6f696446, 0x0000f300, 0x42000800, 0x00001981,
- 0x0000004b, 0x00009582, 0xb9143a87, 0x0000e110, 0x2000081e, 0x0000e40a,
- 0xd11a24a6, 0x00006008, 0x89800a26, 0x00008088, 0xffffffff, 0x00007f97,
- 0x00000000, 0x0000f093, 0x00001457, 0x00009583, 0x14000850, 0x000090b0,
- 0x00006f83, 0x0000f019, 0x00006f83, 0x00007000, 0x00003c57, 0x00009583,
- 0xd4800f52, 0x00006099, 0x2000081e, 0x0000a41a, 0x89800a26, 0x00006098,
- 0xd11a24a6, 0x00008018, 0x6f836cdc, 0x0000f330, 0x69400800, 0x000099b1,
- 0x00006f83, 0x00007000, 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x9f652ca4, 0x0000781b, 0x83400000, 0x00003785, 0x94400752, 0x00007893,
- 0x03400001, 0x00008080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x2c01864c, 0x00001680, 0x290588b0, 0x00009000,
- 0x3b40003a, 0x0000f900, 0x00000008, 0x00008082, 0x3980003b, 0x00006084,
- 0x2b720004, 0x00000980, 0x2bc768a4, 0x00006002, 0xe1d722e4, 0x00000900,
- 0x2902a800, 0x0000e180, 0x2b8000e6, 0x0000c084, 0x39f260a4, 0x0000e100,
- 0xeb581302, 0x00008900, 0x29000540, 0x00001980, 0x2c0182e7, 0x00001680,
- 0xa98588b0, 0x00009000, 0x8005faa6, 0x0000e582, 0x75e800a4, 0x0000a101,
- 0x29460000, 0x0000f900, 0x000014c4, 0x00000980, 0x29c60000, 0x00007900,
- 0x00007fc0, 0x00000980, 0x00006faf, 0x0000f030, 0xa9280500, 0x00009900,
- 0x700600ec, 0x0000d680, 0x003d24c4, 0x00008010, 0x703d78ec, 0x0000d600,
- 0x003d7000, 0x00000000, 0x700600ec, 0x0000d680, 0x003d6fc0, 0x00008078,
- 0x00c002ec, 0x0000df80, 0x16dd500b, 0x00009684, 0xb9006087, 0x00000a92,
- 0xa9801803, 0x00000ad6, 0x38430000, 0x00009981, 0xffffffff, 0x00007f86,
- 0x00000000, 0x00007083, 0x000000a5, 0x00006d86, 0x001530a5, 0x0000e906,
- 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000, 0x2c0182e7, 0x00001680,
- 0xa9c588b0, 0x00001000, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000,
- 0x703d38ec, 0x00005600, 0x003d6800, 0x00000000, 0xa9c60000, 0x00006180,
- 0x008000a5, 0x00006586, 0xa91532a7, 0x00006100, 0xab801aa6, 0x00008780,
- 0xa9d532a7, 0x00006100, 0x001520a5, 0x00002106, 0xa9280500, 0x00009900,
- 0x0c0524a8, 0x00006884, 0x2ba574a8, 0x00009001, 0x042570a4, 0x00006885,
- 0x703d28ec, 0x0000d600, 0x003d2000, 0x00000000, 0x703f68ec, 0x0000d600,
- 0x003f3000, 0x00000000, 0x703d38ec, 0x00005600, 0x003d6800, 0x00000000,
- 0x00c002ec, 0x0000df80, 0x16de580b, 0x00001684, 0xb9006087, 0x00000a92,
- 0xa9801803, 0x00000ad6, 0x38430000, 0x00009981, 0xffffffff, 0x00007f86,
- 0x00000000, 0x00007083, 0xa1d722e4, 0x00001900, 0x22598230, 0x0000780a,
- 0x03800001, 0x00000000, 0x2261b330, 0x0000780a, 0x03800001, 0x00000000,
- 0xfba04444, 0x0000498d, 0xc2c0f4ab, 0x00009b9f, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xb9143a87, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x000094ab, 0x00001583,
- 0xb9143a87, 0x00001930, 0xffffffff, 0x00007fa7, 0x00000000, 0x000070b3,
- 0x29c3fa27, 0x00009080, 0x001d48a7, 0x00009502, 0x29c43085, 0x0000e048,
- 0xb9143a87, 0x00000940, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f0c3,
- 0x001138a7, 0x00001502, 0xa000281c, 0x0000642e, 0x6000081e, 0x0000342b,
- 0x0b015227, 0x0000e028, 0xc000101c, 0x0000242b, 0x0000708c, 0x00007020,
- 0x2c0036e3, 0x00001680, 0xa98588b0, 0x00009000, 0xa98012a6, 0x00006080,
- 0xb9143a87, 0x00008900, 0x937be4a6, 0x0000a084, 0x2a400800, 0x00006181,
- 0x4000101d, 0x00006402, 0xc001501d, 0x0000ec82, 0x113df844, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x1f00087c, 0x00006080, 0x6000101d, 0x0000a403,
- 0x00000000, 0x0000f280, 0x937be4a6, 0x00002884, 0x29401ca5, 0x0000e081,
- 0x7842a000, 0x00000981, 0xffffffff, 0x00007fc7, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x10420700, 0x00007904,
- 0x10420700, 0x00007904, 0x10420700, 0x00007904, 0x00006457, 0x0000e583,
- 0xd4800f52, 0x00008181, 0xd3001000, 0x00006189, 0x12c2e05c, 0x00004908,
- 0x51000800, 0x00006189, 0x13809800, 0x0000c989, 0x00007017, 0x0000f010,
- 0x0019b05c, 0x0000e502, 0x29a2e2ec, 0x00008101, 0x8d401ca6, 0x0000e281,
- 0xb000081f, 0x0000a400, 0x9300a336, 0x0000e098, 0xa9801a5c, 0x000080b0,
- 0xa9bfe2a6, 0x00007930, 0x0000003e, 0x00008280, 0x9300a2a6, 0x000090b0,
- 0x0c406457, 0x00007892, 0xe3800000, 0x00003880, 0x70046f8b, 0x00007004,
- 0x53200024, 0x000004f3, 0x12e00000, 0x000004d2, 0x13805800, 0x00001981,
- 0x0c406457, 0x00007892, 0x03800001, 0x00008080, 0x42000800, 0x00006181,
- 0xa9802302, 0x00004780, 0x0000004b, 0x00009582, 0x03800100, 0x0000e188,
- 0x0100405f, 0x00004790, 0x03800004, 0x00007910, 0x00000200, 0x00000380,
- 0x70266446, 0x0000f500, 0xffffffff, 0x00007f86, 0x4515300e, 0x00006907,
- 0x0000004b, 0x00009582, 0xb9143a87, 0x0000e110, 0xf000081e, 0x00006409,
- 0x29800e30, 0x00009089, 0xcc2534a6, 0x00001908, 0xffffffff, 0x00007f86,
- 0x00000000, 0x0000f093, 0x00007090, 0x0000f400, 0x8002a64c, 0x00009583,
- 0x93000e4c, 0x0000e091, 0x93000000, 0x00008989, 0x800016a8, 0x00006583,
- 0x29800000, 0x00000981, 0x2202a016, 0x00006180, 0x29800800, 0x0000c989,
- 0x02c00000, 0x0000e180, 0x8222b888, 0x00006006, 0x800006ab, 0x0000e583,
- 0x30e53088, 0x00002000, 0x0e4224a6, 0x0000e000, 0x0000180b, 0x00003106,
- 0x01003ca6, 0x0000e081, 0xc000180b, 0x0000e006, 0xaa812000, 0x0000e180,
- 0x0a0274a6, 0x0000e084, 0x0000a8ec, 0x00005780, 0x00006001, 0x00000080,
- 0xa2253404, 0x0000e301, 0x23400000, 0x00008980, 0xa9802302, 0x0000e780,
- 0x23800000, 0x00008980, 0x0204b000, 0x00007900, 0x0003f140, 0x00008980,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03400000, 0x00007900,
- 0x00010000, 0x00000980, 0x000010ec, 0x00005780, 0x00006001, 0x00000080,
- 0x23c00000, 0x0000e180, 0x4515300e, 0x0000e107, 0x24000000, 0x000089c4,
- 0x24800000, 0x0000e180, 0x24c00060, 0x00004980, 0x22c42084, 0x0000e100,
- 0x2281202a, 0x00004080, 0xe2513226, 0x00006100, 0x22400e30, 0x0000c081,
- 0x2279914e, 0x00008830, 0x0000707b, 0x00007408, 0x02a81402, 0x00008028,
- 0x03c00004, 0x0000e180, 0xe232764e, 0x00004901, 0x25008488, 0x0000e283,
- 0xcc000000, 0x00000981, 0xcc004000, 0x0000e191, 0x0e01c2aa, 0x00004000,
- 0x277fe09d, 0x00007900, 0x003ffffe, 0x00008280, 0x288512aa, 0x0000e000,
- 0x2501502a, 0x00008900, 0x0a8152aa, 0x0000e000, 0xa5f4bf30, 0x00008301,
- 0x29800fab, 0x00001081, 0xeafd44a6, 0x00009101, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780,
- 0x00006001, 0x00000080, 0x8002a64c, 0x00006583, 0x29800e30, 0x00008081,
- 0xf000081e, 0x0000e401, 0x3000081f, 0x00003402, 0xaac00eab, 0x00006081,
- 0x2b000cac, 0x00000081, 0x21412085, 0x00006180, 0xeac037ab, 0x00000181,
- 0xea4523a9, 0x0000e180, 0x2ac07cab, 0x00000181, 0x00007090, 0x0000f400,
- 0x0c800832, 0x00006080, 0xcc2534a6, 0x00000900, 0x93000e4c, 0x0000e091,
- 0x93000000, 0x00008989, 0x26000000, 0x0000e180, 0x69b55eab, 0x0000c901,
- 0x25000000, 0x0000e180, 0x966d4098, 0x00006001, 0x26008488, 0x0000e283,
- 0x25400000, 0x00008980, 0x25800000, 0x000089dc, 0x26400000, 0x000009e8,
- 0x26c00000, 0x0000e180, 0xe9929252, 0x0000c900, 0x70651a1c, 0x00007500,
- 0x2ba00824, 0x00008ad2, 0x94800000, 0x00006180, 0x69804000, 0x00004991,
- 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xfee52ca4, 0x0000781b,
- 0xb3400000, 0x00003880, 0xf4400752, 0x00007893, 0x03400001, 0x00008080,
0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xb9143a87, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x06000008, 0x000001e4, 0x06800000, 0x000081ec, 0x07000000, 0x000081f4,
- 0x07800000, 0x000081fc, 0x88000000, 0x000089d0, 0x25400000, 0x000009d8,
- 0x25c00000, 0x000009e0, 0x70a21ac8, 0x0000f500, 0x26400000, 0x000009e8,
- 0x26c00000, 0x00009980, 0x70a51a1c, 0x00007500, 0xa9000400, 0x00000af8,
- 0xa9a00400, 0x00000ad9, 0x8107f800, 0x00006180, 0x02105001, 0x00006586,
- 0x400005a9, 0x00006583, 0x00180001, 0x00002503, 0x813d4204, 0x0000e100,
- 0xc0000801, 0x0000a401, 0x40e06401, 0x000000c3, 0x000070cb, 0x0000f410,
- 0x8142a000, 0x0000e190, 0x80602404, 0x00004901, 0x812f2004, 0x00006190,
- 0x02c00000, 0x00004988, 0x000810ec, 0x0000d780, 0x00c066c0, 0x00000180,
- 0x82901202, 0x00006100, 0x0000180b, 0x00006106, 0x02009000, 0x00007900,
- 0x0002b200, 0x00000980, 0x02400000, 0x0000f900, 0x00018030, 0x00008980,
- 0x001910ec, 0x0000d780, 0x00006001, 0x00000080, 0xc2981302, 0x0000e100,
- 0xc000180b, 0x0000e006, 0x22000000, 0x000088e4, 0x22800000, 0x0000e180,
- 0x23362080, 0x0000c980, 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0,
- 0x24400000, 0x000009c8, 0x24c00000, 0x000006f0, 0x1b400000, 0x000006f8,
- 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180,
- 0x22c42084, 0x0000c900, 0x812b2004, 0x00006180, 0x81424800, 0x00004980,
- 0x01c00000, 0x00007900, 0x001f8000, 0x00008980, 0x00102007, 0x00006986,
- 0x04102807, 0x00006901, 0x20383eec, 0x00005600, 0x003c2000, 0x00008000,
- 0x000880ec, 0x0000d780, 0x00005800, 0x00000080, 0x008806ec, 0x00005f80,
- 0x00985980, 0x00000584, 0x70d61a1c, 0x00007100, 0x40000da9, 0x0000e583,
- 0x19400000, 0x00000981, 0x19400800, 0x0000e189, 0x02c00000, 0x0000c980,
- 0x400005a9, 0x00006583, 0x0000180b, 0x0000a106, 0x9a2f2004, 0x00006190,
- 0x9a2b2004, 0x0000c988, 0x000810ec, 0x0000d780, 0x00c066c0, 0x00000180,
- 0x19800000, 0x0000f900, 0x001f9240, 0x00000980, 0x001910ec, 0x0000d780,
- 0x00006001, 0x00000080, 0x23362080, 0x0000e180, 0x00134066, 0x00006186,
- 0x02009000, 0x00007900, 0x0002b200, 0x00000980, 0x02400000, 0x0000f900,
- 0x00018030, 0x00008980, 0xc000180b, 0x0000e006, 0x0423288c, 0x00003001,
- 0x203b36ec, 0x0000d600, 0x003c2000, 0x00008000, 0x03000000, 0x000080f4,
- 0x03800000, 0x000080fc, 0x04000000, 0x000081c4, 0x04800000, 0x000081cc,
- 0x05000000, 0x000081d4, 0x05800000, 0x000081dc, 0x02a81402, 0x00008028,
- 0x22000000, 0x000088e4, 0x22800000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x00000001, 0x00007480, 0x20800000, 0x000088cc,
- 0x193d4464, 0x0000e101, 0x22c42084, 0x00000900, 0x80001ea8, 0x00001583,
- 0x08011465, 0x0000600a, 0x0ec18867, 0x0000b00a, 0x00000001, 0x0000f091,
- 0x00000465, 0x00009583, 0x01000020, 0x0000e188, 0x02001800, 0x00004988,
- 0x01800000, 0x0000e188, 0x01c00000, 0x00004988, 0x0000711c, 0x0000f010,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03af5800, 0x00007900,
- 0x0010c1a6, 0x00008980, 0x81001000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x0000712b, 0x00007400, 0x812805a8, 0x00000026, 0x02e00702, 0x00008026,
- 0x19c00c67, 0x00001181, 0x00000c67, 0x00009583, 0x01000020, 0x00006198,
- 0x0ec18806, 0x0000e01a, 0x02001800, 0x0000e198, 0x01c00000, 0x0000c998,
- 0x00000001, 0x0000f0b0, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03bc6000, 0x00007900, 0x001c8bc6, 0x00000980, 0x81001000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x812805a8, 0x00000026, 0x02e00702, 0x00008026,
- 0x712c1bac, 0x0000f100, 0x400015a9, 0x00001583, 0x00007133, 0x00007013,
- 0x712f1a1c, 0x0000f100, 0x00000001, 0x00007480, 0x200f26ec, 0x00005680,
- 0x003c2509, 0x00003f10, 0x1907f800, 0x00001981, 0x713470d5, 0x0000f100,
- 0x00000001, 0x0000f080, 0x08011465, 0x0000e002, 0x0ec18866, 0x0000b002,
- 0x19800c66, 0x00001181, 0x00000c66, 0x00001583, 0x01000020, 0x00006198,
- 0x0ec18806, 0x0000e01a, 0x81001000, 0x0000e198, 0x01c00000, 0x0000c998,
- 0x00007143, 0x00007030, 0x0000714d, 0x00007400, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03bdc800, 0x00007900, 0x002a2148, 0x00000980,
- 0x00000465, 0x00009583, 0x01a32c65, 0x00006110, 0x01000020, 0x0000c990,
- 0x81001000, 0x00006190, 0x01c00000, 0x00004990, 0x00007152, 0x0000f008,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03899000, 0x00007900,
- 0x003f6112, 0x00000980, 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106,
- 0x71521bac, 0x00007500, 0x82600500, 0x00008026, 0xc23812a8, 0x0000002c,
- 0x0000712c, 0x0000f200, 0x8000081a, 0x00006c02, 0x7156196c, 0x00007300,
- 0x2a400000, 0x00009981, 0x0000712c, 0x00007000, 0x4000101d, 0x00006402,
- 0x70008820, 0x00003500, 0xc001481d, 0x00006482, 0x8000081b, 0x0000b403,
- 0x8000101a, 0x0000e402, 0xc000081c, 0x0000b403, 0x0000281f, 0x0000e404,
- 0x6000101d, 0x00003403, 0x00000001, 0x00007480, 0x0c400000, 0x000005c4,
- 0x14c00400, 0x000005c8, 0x0ec18814, 0x00006802, 0x00000c14, 0x00001583,
- 0x0580a253, 0x00009088, 0x00007169, 0x0000f009, 0x00001414, 0x00001583,
- 0x05800000, 0x00006190, 0x0580c253, 0x0000c088, 0x00000c14, 0x00001583,
- 0x2b80b016, 0x00001900, 0x0000716f, 0x0000f011, 0x80000253, 0x00009582,
- 0x85406000, 0x00009990, 0x00007170, 0x00007011, 0x85405800, 0x00009980,
- 0x05c00000, 0x0000f900, 0x001f8000, 0x00008980, 0x852b2004, 0x00009980,
- 0x8502a000, 0x00006180, 0x85d0b214, 0x00004100, 0x8510aa14, 0x00001100,
- 0x00000001, 0x00007480, 0x0410a017, 0x0000e901, 0x2038beec, 0x0000d600,
- 0x003c2000, 0x00008000, 0x1a000000, 0x00007900, 0x001f8000, 0x00008980,
- 0x00132868, 0x0000e986, 0x00000001, 0x00007480, 0x041b2868, 0x0000e901,
- 0x203b46ec, 0x00005600, 0x003c2000, 0x00008000, 0x8540c227, 0x0000e180,
- 0xf000181f, 0x00002402, 0x85004215, 0x00006780, 0x1c000000, 0x00000980,
- 0x1d000000, 0x000087d4, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
- 0x4db0ae15, 0x0000011e, 0x4db0ab14, 0x00008112, 0x85400800, 0x00009980,
- 0x0580b814, 0x00001000, 0x00000016, 0x00007900, 0x00000040, 0x00008582,
- 0x0500b814, 0x00006030, 0x85400a15, 0x000000b0, 0x00007192, 0x0000f019,
- 0x0000718b, 0x0000f000, 0x9350aa15, 0x00006100, 0x0c029d73, 0x00006002,
- 0x85400a15, 0x0000e180, 0x0b829c74, 0x00002000, 0xd350a215, 0x00006100,
- 0xdcc0c227, 0x00000180, 0x1cb21642, 0x00006101, 0x0f818814, 0x0000e004,
- 0xdc929a53, 0x0000e100, 0x1cc00c31, 0x00004281, 0x1dba9751, 0x0000871c,
- 0x1c400784, 0x000007a0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
- 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x71a57162, 0x00007500,
- 0x20400000, 0x000008c8, 0x9c800314, 0x0000888c, 0x71a71a1c, 0x00007300,
- 0xa9204400, 0x00000ada, 0x05c00000, 0x00006180, 0x19005464, 0x0000c181,
- 0x000828ec, 0x00005780, 0x00c066c0, 0x000003c0, 0x85901202, 0x0000e100,
- 0x00001817, 0x0000e106, 0x05009000, 0x0000f900, 0x00033280, 0x00008980,
- 0x05400000, 0x00007900, 0x00018008, 0x00000980, 0x000128ec, 0x00005780,
- 0x00006001, 0x00000080, 0x00000001, 0x00007480, 0xc5981302, 0x00006100,
- 0xc0001817, 0x00006006, 0x193d4464, 0x00001101, 0x03800100, 0x00006180,
- 0x0f818805, 0x0000e004, 0x81002302, 0x00009780, 0x01000805, 0x0000e282,
- 0x4510200e, 0x0000a107, 0xd900c000, 0x00006190, 0x14001000, 0x00004990,
- 0x22008006, 0x00006190, 0x22400000, 0x00004990, 0x000071f9, 0x00007008,
- 0x19401800, 0x0000e181, 0x0e422405, 0x0000e000, 0x00001c65, 0x00006583,
- 0x0a027404, 0x0000a084, 0x23000000, 0x0000e180, 0x01403c05, 0x00004881,
- 0x22800000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000900, 0x000089c4,
- 0x24800000, 0x000089cc, 0x22ea7784, 0x00000822, 0x000071d4, 0x0000f408,
- 0x624a7430, 0x00008824, 0xa2202405, 0x0000e301, 0x23000800, 0x00000988,
- 0x00000c65, 0x00001583, 0x22010088, 0x0000e390, 0x23400800, 0x00008990,
- 0x0000721e, 0x0000f009, 0x02c00000, 0x0000e180, 0x83c02302, 0x00004780,
- 0x000808ec, 0x0000d780, 0x00006001, 0x00000080, 0x0000180b, 0x00006106,
- 0x4510780e, 0x0000b107, 0x021cb000, 0x00007900, 0x0003f100, 0x00000980,
- 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x03401000, 0x0000f900,
- 0x0001c000, 0x00000980, 0x0000a8ec, 0x00005780, 0x00006001, 0x00000080,
- 0x01000802, 0x0000e180, 0xc000180b, 0x0000e006, 0x01400000, 0x00006180,
- 0x0197f880, 0x00004980, 0x01c00000, 0x0000e180, 0x82901202, 0x00004900,
- 0x02a00502, 0x00000a99, 0x71ed1a1c, 0x0000f500, 0xaba04764, 0x00000a9a,
- 0x03c00004, 0x0000e180, 0x69000000, 0x0000c981, 0x00000c65, 0x0000e583,
- 0x19002c64, 0x00000181, 0x99c22800, 0x00006188, 0x99c20800, 0x0000c990,
- 0x193d4464, 0x0000e101, 0x996b2004, 0x00000980, 0x71f8717a, 0x0000f500,
- 0x001910ec, 0x0000d780, 0x00006001, 0x00000080, 0x995b2265, 0x00006100,
- 0xd9533a67, 0x00000900, 0x00000001, 0x0000f080, 0x01001005, 0x00001282,
- 0xd900a000, 0x00006190, 0x22188000, 0x00004990, 0x22400000, 0x00006190,
- 0x22800000, 0x00004990, 0x00007210, 0x0000f008, 0x19400000, 0x0000e181,
- 0x0e422405, 0x0000e000, 0x00001c65, 0x00006583, 0x0a027404, 0x0000a084,
- 0x23000000, 0x0000e180, 0x01403c05, 0x00004881, 0x23400000, 0x000008f8,
- 0x23c80000, 0x000009c0, 0x24400001, 0x000089c8, 0x24c00000, 0x00006180,
- 0x22c42084, 0x0000c900, 0xa221854e, 0x00000825, 0x000071d0, 0x00007410,
- 0x626a754e, 0x00006101, 0x23000800, 0x0000c988, 0xa2202405, 0x00001301,
- 0x000071d4, 0x0000f000, 0x0e422405, 0x0000e000, 0x0a027404, 0x00003084,
- 0x22288002, 0x00006180, 0x22400000, 0x0000c980, 0x01403c05, 0x00006081,
- 0xc000081e, 0x00006403, 0x59001434, 0x000002fc, 0x22800000, 0x000088f4,
- 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0x22ea7784, 0x00000822, 0x624a7430, 0x00008824, 0xa2202405, 0x00001301,
- 0x02c00000, 0x0000e180, 0x83c02302, 0x00004780, 0x000808ec, 0x0000d780,
- 0x00006001, 0x00000080, 0x0000180b, 0x00006106, 0x4510780e, 0x0000b107,
- 0x0204b000, 0x00007900, 0x0003f140, 0x00008980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03400000, 0x00007900, 0x00010000, 0x00000980,
- 0x0000a8ec, 0x00005780, 0x00006001, 0x00000080, 0x23000800, 0x00006180,
- 0xc000180b, 0x0000e006, 0xe4c00801, 0x000080d0, 0x0157f800, 0x000080d8,
- 0x01c00000, 0x0000e180, 0x82901202, 0x00004900, 0x02802d02, 0x0000059e,
- 0x16800801, 0x000086d6, 0xe9800000, 0x00006180, 0x2b9b2364, 0x00004900,
- 0x72391a1c, 0x0000f500, 0xa9a00408, 0x00000ad2, 0x03c00004, 0x00009980,
- 0x00000c65, 0x0000e583, 0x19002c64, 0x00000181, 0x99c22800, 0x00006188,
- 0x99c20800, 0x0000c990, 0x193d4464, 0x0000e101, 0x996b2004, 0x00000980,
- 0x7244717a, 0x00007500, 0x001910ec, 0x0000d780, 0x00006001, 0x00000080,
- 0x995b2265, 0x00006100, 0xd9533a67, 0x00000900, 0x00000001, 0x0000f080,
- 0x03800100, 0x00006180, 0x0e422405, 0x0000e000, 0x81002302, 0x00006780,
- 0x02c00000, 0x00000980, 0x000808ec, 0x0000d780, 0x00006001, 0x00000080,
- 0x4510200e, 0x00006107, 0x0000180b, 0x00003106, 0x22298004, 0x0000e180,
- 0x0a027404, 0x00006084, 0x22400000, 0x0000e180, 0x01403c05, 0x00004881,
- 0x021cb000, 0x00007900, 0x0003f100, 0x00000980, 0x02400000, 0x0000f900,
- 0x00018008, 0x00000980, 0x03401000, 0x0000f900, 0x0001c000, 0x00000980,
- 0x0000a8ec, 0x00005780, 0x00006001, 0x00000080, 0x22800000, 0x0000e180,
- 0xc000180b, 0x0000e006, 0x23000800, 0x000008f4, 0x23800000, 0x000088fc,
- 0x24000900, 0x000089c4, 0x24800000, 0x000089cc, 0x22c42084, 0x0000e100,
- 0x0197f880, 0x00004980, 0x01c00000, 0x0000e180, 0x82901202, 0x00004900,
- 0xc2981302, 0x0000e100, 0x03c00004, 0x0000c980, 0x6980a400, 0x00008af8,
- 0xa9a00408, 0x00000ad2, 0xa221854e, 0x00000825, 0x726d1a1c, 0x00007500,
- 0x626a754e, 0x00006101, 0xa2202405, 0x00004301, 0x01400000, 0x00006180,
- 0x01000802, 0x0000c980, 0x19400000, 0x0000f900, 0x00001040, 0x00008980,
- 0x99eb2004, 0x00006180, 0x19002c64, 0x0000c181, 0x7276717a, 0x0000f500,
- 0x001910ec, 0x0000d780, 0x00006001, 0x00000080, 0x9940a267, 0x0000e180,
- 0x193d4464, 0x00008101, 0x00000001, 0x0000f080, 0x72787109, 0x00007100,
- 0x08011465, 0x0000e002, 0x0ec18868, 0x00003002, 0x00000c68, 0x00009583,
- 0x99c0a253, 0x00001088, 0x00007280, 0x00007009, 0x00001468, 0x00009583,
- 0x99c00000, 0x0000e190, 0x99c0c253, 0x00004088, 0x00000465, 0x00009583,
- 0x00007290, 0x0000700b, 0x001338a5, 0x00001502, 0x0698001a, 0x000063a0,
- 0x69000800, 0x000089a9, 0x00007290, 0x00007029, 0x51601068, 0x00004388,
- 0x00e01868, 0x00000088, 0xe0400868, 0x00004888, 0x122026a8, 0x00000196,
- 0x00007181, 0x0000f000, 0x80000642, 0x00009583, 0x0000728e, 0x0000700b,
- 0x00007245, 0x00007000, 0x000071b7, 0x0000f000, 0x72907157, 0x0000f100,
- 0x00007154, 0x00007000, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03818000, 0x00007900,
- 0x003b0dc4, 0x00000980, 0x01801800, 0x00006180, 0x08001a09, 0x0000e106,
- 0x01c00000, 0x0000e180, 0xc2700600, 0x00004901, 0x000072ab, 0x0000f400,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x023546a8, 0x00004900,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03a10800, 0x0000f900, 0x0002eb2c, 0x00008980,
- 0x02232c65, 0x00006100, 0x08001a09, 0x0000e106, 0x81800631, 0x0000009c,
- 0x82600500, 0x00008026, 0x81001000, 0x0000e180, 0x02c01002, 0x00004900,
- 0x72ac1bac, 0x00007100, 0x06000002, 0x000001e4, 0x06800000, 0x000081ec,
- 0x07000000, 0x000081f4, 0x07800000, 0x000081fc, 0x88000000, 0x000080d0,
- 0x01400000, 0x000000d8, 0x01c00000, 0x000000e0, 0x02400000, 0x000000e8,
- 0x02c00000, 0x000080f0, 0x03400000, 0x000000f8, 0x03c00000, 0x000081c0,
- 0x04400000, 0x000001c8, 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8,
- 0x05e00000, 0x00000ada, 0x2ba00000, 0x00008ad9, 0xa9000400, 0x000089f0,
- 0x27400000, 0x000009f8, 0x27c00000, 0x00000ac0, 0x72c218f9, 0x00007500,
- 0x28400000, 0x00000ac8, 0x28c00000, 0x00001980, 0x26000000, 0x000009d0,
- 0x25400000, 0x00006180, 0x966d4098, 0x00006001, 0x25800000, 0x000089dc,
- 0x26400000, 0x000009e8, 0x990000ff, 0x000089ec, 0x598016a8, 0x00004388,
- 0x00e016a8, 0x00000098, 0x01e00ea8, 0x00004888, 0x302026a8, 0x000084b0,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x038ac800, 0x0000f900, 0x0032ba12, 0x00008980,
- 0x02001000, 0x00006180, 0x08001a09, 0x0000e106, 0x01800000, 0x000080dc,
- 0x72d91bac, 0x00007500, 0x82600500, 0x00008026, 0x81001000, 0x0000e180,
- 0x02c01002, 0x00004900, 0x72da7135, 0x0000f100, 0xc0c02800, 0x00006180,
- 0x02105001, 0x00006586, 0xc0008000, 0x00006181, 0x00180001, 0x0000e503,
- 0xc0000801, 0x0000ec01, 0x80632464, 0x00001901, 0x008806ec, 0x00005f80,
- 0x00985980, 0x000007c4, 0x72da7277, 0x0000f100, 0x00131803, 0x00006106,
- 0x00105001, 0x0000b586, 0x00180801, 0x00006505, 0xc000a803, 0x0000b606,
- 0x00000001, 0x00007480, 0xc0006000, 0x0000e181, 0xc0000801, 0x00006401,
- 0x80931262, 0x00009900, 0x17800000, 0x00007900, 0x000040c0, 0x00000980,
- 0x17400002, 0x00006180, 0x08001a5a, 0x0000e106, 0x97845500, 0x00007900,
- 0x00000002, 0x00000080, 0xd7680500, 0x00006100, 0x961722e4, 0x0000c900,
- 0x723af0ec, 0x0000d600, 0x003ae800, 0x00000000, 0x723b10ec, 0x0000d600,
- 0x0010f940, 0x00008080, 0x96d01202, 0x00009900, 0x00c002ec, 0x0000df80,
- 0x1717d00b, 0x00009684, 0x97680500, 0x00009900, 0x8882e45d, 0x00002081,
- 0xffffffff, 0x00007fa7, 0x1640445c, 0x00009283, 0x01972862, 0x0000e210,
- 0x02000000, 0x00008990, 0x01000000, 0x0000f910, 0x0000c040, 0x00000980,
- 0x0000730e, 0x00007008, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x038dd800, 0x0000f900, 0x003fe404, 0x00000980, 0x01c00000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x88a0445d, 0x0000a080, 0x0000731f, 0x00007400,
- 0x81001000, 0x0000e180, 0xc2700600, 0x00004901, 0x02e00702, 0x00008026,
- 0x1740b45c, 0x00009281, 0x0000845d, 0x00009583, 0x0f02e408, 0x0000e010,
- 0x0f82e006, 0x00003010, 0x01000000, 0x0000f910, 0x0000c040, 0x00000980,
- 0x00007320, 0x00007008, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03885000, 0x0000f900, 0x00010674, 0x00000980, 0x01c00000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x81001000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x82781400, 0x0000802c, 0x02204408, 0x00001900, 0x73201bac, 0x00007100,
- 0x97680500, 0x00009900, 0x88a2cc5d, 0x00002080, 0x732572e3, 0x00007503,
- 0xffffffff, 0x00007f86, 0x0802ca63, 0x00006900, 0x8284060c, 0x00006283,
- 0x8000080b, 0x00002402, 0x16400800, 0x0000e191, 0x16401000, 0x0000c989,
- 0xd6000f0c, 0x0000e283, 0xe000080b, 0x0000a400, 0xa2a2c804, 0x0000e002,
- 0x4000280b, 0x00003407, 0x16400800, 0x0000e191, 0x16401000, 0x0000c989,
- 0xd600170c, 0x0000e283, 0xc0000809, 0x00002401, 0xc322c804, 0x0000e002,
- 0xb000780b, 0x00003407, 0x16400800, 0x0000e191, 0x16401000, 0x0000c989,
- 0xd600270c, 0x00001283, 0x16400800, 0x0000e191, 0xe3a2c804, 0x0000e002,
- 0xd600470c, 0x0000e283, 0x16401000, 0x00000989, 0x000800ec, 0x00005780,
- 0x00005800, 0x00000080, 0x16400800, 0x0000e191, 0x0422c804, 0x0000e003,
- 0xd600870c, 0x0000e283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x16400800, 0x0000e191, 0x24a2c804, 0x0000e003, 0xd601070c, 0x0000e283,
- 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191,
- 0x4522c804, 0x0000e003, 0xd602070c, 0x0000e283, 0x16401000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x65a2c804, 0x0000e003,
- 0x16401000, 0x00009989, 0xffffffff, 0x00007f86, 0x16401c0d, 0x00006283,
- 0x8622c804, 0x00002003, 0x16401000, 0x0000e189, 0x16400800, 0x0000c991,
- 0xffffffff, 0x00007f86, 0x1641840d, 0x00006283, 0x8222c805, 0x0000a002,
- 0x16400800, 0x0000e191, 0x16401000, 0x0000c989, 0x56401d0d, 0x00009283,
- 0x16400800, 0x0000e191, 0xc322c805, 0x00006002, 0x5640650d, 0x00006283,
- 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191,
- 0x0422c805, 0x00006003, 0x5641850d, 0x00006283, 0x16401000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x24a2c805, 0x00006003,
- 0x5646050d, 0x00006283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x16400800, 0x0000e191, 0x4522c805, 0x00006003, 0x82801e0d, 0x00006283,
- 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191,
- 0x65a2c805, 0x00006003, 0x8280660d, 0x00006283, 0x16401000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x8622c805, 0x00006003,
- 0x8281860d, 0x00006283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x16400800, 0x0000e191, 0xa6a2c805, 0x00006003, 0x8286060d, 0x00006283,
- 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191,
- 0xc722c805, 0x00006003, 0xd6001f0d, 0x0000e283, 0x16401000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0xe7a2c805, 0x00006003,
- 0xd600670d, 0x0000e283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x16400800, 0x0000e191, 0x0022c806, 0x00006002, 0xd606070d, 0x0000e283,
- 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191,
- 0x20a2c806, 0x00006002, 0x5642050e, 0x0000e283, 0x16401000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x61a2c806, 0x00006002,
- 0x82800e0e, 0x0000e283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x16400800, 0x0000e191, 0x8622c806, 0x00006003, 0x8280260e, 0x0000e283,
- 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191,
- 0xc722c806, 0x00006003, 0x8280460e, 0x0000e283, 0x16401000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x0022c807, 0x0000e002,
- 0x8280860e, 0x0000e283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x16400800, 0x0000e191, 0x20a2c807, 0x0000e002, 0x8281060e, 0x0000e283,
- 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191,
- 0x4122c807, 0x0000e002, 0x8282060e, 0x0000e283, 0x16401000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x61a2c807, 0x0000e002,
- 0x8284060e, 0x0000e283, 0x16401000, 0x00000989, 0x6000080a, 0x00006c02,
- 0x8222c807, 0x0000e002, 0xa2aba80a, 0x00003586, 0x16400800, 0x0000e191,
- 0x16401000, 0x0000c989, 0xd6000f0e, 0x00009283, 0x16400800, 0x0000e191,
- 0xa2a2c807, 0x0000e002, 0xd600170e, 0x00006283, 0x16401000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0xc322c807, 0x0000e002,
- 0xd600270e, 0x00006283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x16400800, 0x0000e191, 0xe3a2c807, 0x0000e002, 0xd600470e, 0x00006283,
- 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191,
- 0x0422c807, 0x0000e003, 0xd601070e, 0x00006283, 0x16401000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0x24a2c807, 0x0000e003,
- 0x16401000, 0x00009989, 0xffffffff, 0x00007f86, 0x1642040f, 0x00006283,
- 0x65a2c807, 0x00002003, 0x16401000, 0x0000e189, 0x16400800, 0x0000c991,
- 0xffffffff, 0x00007f86, 0x1644040f, 0x00006283, 0x8222c808, 0x00002002,
- 0x16400800, 0x0000e191, 0x16401000, 0x0000c989, 0x56400d0f, 0x00009283,
- 0x16400800, 0x0000e191, 0xa2a2c808, 0x0000e002, 0x5640150f, 0x00006283,
- 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191,
- 0xc322c808, 0x0000e002, 0x5640450f, 0x00006283, 0x16401000, 0x00000989,
- 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191, 0xe3a2c808, 0x0000e002,
- 0x5640850f, 0x00006283, 0x16401000, 0x00000989, 0xffffffff, 0x00007f86,
- 0x16400800, 0x0000e191, 0x24a2c808, 0x0000e003, 0x5641050f, 0x00006283,
- 0x16401000, 0x00000989, 0xffffffff, 0x00007f86, 0x16400800, 0x0000e191,
- 0x4522c808, 0x0000e003, 0x16401000, 0x00009989, 0xffffffff, 0x00007f86,
- 0x16400c10, 0x0000e283, 0x65a2c808, 0x00002003, 0x16401000, 0x0000e189,
- 0x16400800, 0x0000c991, 0xffffffff, 0x00007f86, 0x16401410, 0x0000e283,
- 0xc722c804, 0x00002003, 0x16401000, 0x0000e189, 0x16400800, 0x0000c991,
- 0xffffffff, 0x00007f86, 0x16402410, 0x0000e283, 0xe7a2c804, 0x00002003,
- 0x16401000, 0x0000e189, 0x16400800, 0x0000c991, 0xffffffff, 0x00007f86,
- 0x16404410, 0x0000e283, 0x0022c805, 0x0000a002, 0x16401000, 0x0000e189,
- 0x16400800, 0x0000c991, 0xffffffff, 0x00007f86, 0x16408410, 0x0000e283,
- 0x20a2c805, 0x0000a002, 0x16401000, 0x0000e189, 0x16400800, 0x0000c991,
- 0xffffffff, 0x00007f86, 0x4122c805, 0x0000e802, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009008ec, 0x00005780,
- 0x00985ac2, 0x000000c0, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec,
- 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26c00000, 0x000089e8,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb912c258, 0x00006100,
- 0x0012d003, 0x00006106, 0x01000000, 0x00007900, 0x00010000, 0x00000980,
- 0x0080045b, 0x00000094, 0x01800000, 0x000080dc, 0x02000000, 0x000080e4,
- 0x02800000, 0x000080ec, 0x00000000, 0x0000f280, 0x83240002, 0x00001980,
- 0x16409800, 0x0000e180, 0x29431062, 0x0000c900, 0x29031863, 0x00006100,
- 0x0412e059, 0x0000e187, 0x963ac9e4, 0x00000a0c, 0x743d20af, 0x00007004,
- 0x000004a2, 0x00001583, 0x01000000, 0x0000f910, 0x0000c040, 0x00000980,
- 0x01800000, 0x0000e190, 0x01c00000, 0x00004990, 0x0000744c, 0x0000f008,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03a0b800, 0x0000f900,
- 0x001a0e80, 0x00000980, 0x81001000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x744c1bac, 0x00007500, 0x82600500, 0x00008026, 0xc2381061, 0x0000802c,
- 0xb91ac358, 0x00001900, 0x303b44af, 0x00003038, 0x303b56af, 0x00003038,
- 0x307b60af, 0x0000b038, 0x307b72af, 0x0000b038, 0x307b84af, 0x0000b038,
- 0x307b96af, 0x0000b038, 0x30bba0af, 0x0000b038, 0x30bbb2af, 0x0000b038,
- 0x30bbc4af, 0x00003038, 0x30bbd6af, 0x00003038, 0x30fbe0af, 0x0000b038,
- 0x30fbf2af, 0x0000b038, 0x30fc04af, 0x00003038, 0x30fc16af, 0x00003038,
- 0x313c20af, 0x0000b038, 0x313c32af, 0x0000b038, 0x313c44af, 0x00003038,
- 0x313c56af, 0x00003038, 0x317c60af, 0x0000b038, 0x317c72af, 0x0000b038,
- 0x317c84af, 0x0000b038, 0x317c96af, 0x0000b038, 0x31bca0af, 0x0000b038,
- 0x31bcb2af, 0x0000b038, 0x00000000, 0x0000f480, 0x31bcc4af, 0x00003038,
- 0x31bcd6af, 0x00003038, 0x0c000000, 0x000083c4, 0x0c800000, 0x000083cc,
- 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc, 0x0e000000, 0x000083e4,
- 0x0e800000, 0x000083ec, 0x0f400000, 0x000003f8, 0x0fc18000, 0x000005f0,
- 0x961722e4, 0x00009900, 0x74727437, 0x0000f004, 0xb912c258, 0x00006100,
- 0x0000a80a, 0x00006482, 0x0c3fe830, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x3000a80b, 0x00006480, 0x8000080a, 0x00003402, 0x04400000, 0x00006180,
- 0x0c004030, 0x0000c380, 0x00002808, 0x00006406, 0x00005006, 0x00003407,
- 0xa0001004, 0x0000e403, 0x40000807, 0x00003403, 0xd0001809, 0x00006405,
- 0x5000080c, 0x0000b402, 0x09c00000, 0x0000f900, 0x000d0000, 0x00000980,
- 0xd000080b, 0x00006400, 0xc000680a, 0x0000b407, 0x8ed34a69, 0x0000e100,
- 0x10034030, 0x00006000, 0x0f000800, 0x0000e180, 0xc41b8b71, 0x00004900,
- 0x84c00971, 0x000081ac, 0x07800001, 0x000081c8, 0x07c00000, 0x000002c0,
- 0x00000000, 0x0000f480, 0x07000000, 0x000002ca, 0x84539272, 0x00001900,
- 0x17800702, 0x000005bc, 0x0000185f, 0x00006906, 0x17009000, 0x0000f900,
- 0x00047080, 0x00000980, 0x17400000, 0x00007900, 0x00018008, 0x00000980,
- 0x00000001, 0x00007480, 0x0010b8ec, 0x00005780, 0x00c06640, 0x000007c0,
- 0xc000185f, 0x0000e806, 0x19400759, 0x00008090, 0x96400ee3, 0x00006080,
- 0x01400000, 0x00004980, 0x86bb0459, 0x0000b038, 0x86bb1659, 0x0000b038,
- 0x01800000, 0x000080dc, 0x02000000, 0x000080e4, 0x02800000, 0x000080ec,
- 0x03000000, 0x0000e181, 0x1902c058, 0x00004900, 0x19badf5a, 0x0000061c,
- 0x27000000, 0x000089f4, 0x27c00000, 0x000089f8, 0x00009461, 0x0000c088,
- 0x00009461, 0x00008098, 0xd3e07461, 0x00004388, 0x00e07461, 0x00008098,
- 0xd7806461, 0x0000c488, 0x52e06461, 0x00001d9c, 0x01c05c61, 0x00004788,
- 0x2b408461, 0x00001f8a, 0x34a08461, 0x0000c7b0, 0x9a80bc61, 0x0000a08f,
- 0xd3c0bc61, 0x00004198, 0x00e0ac61, 0x00000088, 0x4120ac61, 0x0000c599,
- 0x23409c61, 0x0000aa8f, 0xe0c0cc61, 0x00004488, 0x4ee0cc61, 0x00009dae,
- 0x5540d461, 0x0000c593, 0x1c277d0c, 0x00009b8b, 0x9e077d0c, 0x0000f88f,
- 0x5b800000, 0x00003b83, 0x74bb7437, 0x00007204, 0x17068000, 0x00009980,
- 0x40000d83, 0x00009583, 0x29042885, 0x0000e108, 0x29442084, 0x00004908,
- 0x28c09800, 0x0000f908, 0x00001000, 0x00000980, 0x00007588, 0x0000f010,
- 0x74c220af, 0x00007004, 0x000004a2, 0x00001583, 0x01842084, 0x00006110,
- 0x01c00000, 0x00004990, 0x01000000, 0x0000f910, 0x0000c040, 0x00000980,
- 0x000074d1, 0x00007008, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03a03000, 0x0000f900, 0x003c1350, 0x00000980, 0x81001000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x00007651, 0x00007400, 0x82600500, 0x00008026,
- 0x02381785, 0x0000002c, 0x303d04af, 0x0000b038, 0x303d16af, 0x0000b038,
- 0x307d20af, 0x00003038, 0x307d32af, 0x00003038, 0x307d44af, 0x0000b038,
- 0x307d56af, 0x0000b038, 0x30bd60af, 0x0000b038, 0x30bd72af, 0x0000b038,
- 0x8440a383, 0x00006180, 0xb8450014, 0x00000980, 0x16002800, 0x00001981,
- 0x16000c58, 0x00009183, 0x8690c000, 0x00006188, 0x05c00000, 0x00004989,
- 0x04c00000, 0x0000e189, 0x06400000, 0x0000c989, 0x08400000, 0x00001989,
- 0x05020200, 0x00007904, 0x0038a015, 0x00006886, 0x8230a015, 0x0000e886,
- 0x0428a015, 0x0000e887, 0x000074dc, 0x00007410, 0x8620a015, 0x00006887,
- 0x1040ac00, 0x00007904, 0x234508a1, 0x0000e100, 0x21c008a1, 0x00004080,
- 0x05000000, 0x00006180, 0x22d51aa3, 0x0000c900, 0xa0c014a5, 0x0000c388,
- 0x00e014a5, 0x00000098, 0x0fc004a5, 0x00004588, 0x80800ca5, 0x0000858a,
- 0xa8801ca5, 0x0000c188, 0x00e044a5, 0x00008090, 0x494055a5, 0x0000788b,
- 0xab800000, 0x00003a8b, 0x44801da5, 0x0000f88b, 0xab800000, 0x00003a8b,
- 0xb86d2814, 0x0000e180, 0x08400c21, 0x0000c081, 0x16404800, 0x00009981,
- 0xffffffff, 0x0000ffb7, 0x05420a00, 0x00007904, 0x09020a00, 0x0000f904,
- 0x16400c59, 0x00006183, 0x05804015, 0x00008780, 0x0540c024, 0x00001880,
- 0x0540a816, 0x00001300, 0x000074fc, 0x0000f410, 0x1000ac00, 0x0000f904,
- 0x05412024, 0x00001900, 0x0000756a, 0x0000f200, 0x05404024, 0x00009780,
- 0x964046a5, 0x00009880, 0x8692cfa5, 0x00009000, 0xaea025a5, 0x0000c990,
- 0xeae1fa1a, 0x00001db2, 0x08402421, 0x00006081, 0xb8752814, 0x00000980,
- 0x16005000, 0x00009980, 0x0000750f, 0x00007000, 0x10020e00, 0x0000f904,
- 0x16000858, 0x00009182, 0x0000750e, 0x00007013, 0x0000756b, 0x0000f000,
- 0xb86d2814, 0x0000e180, 0x06752ea5, 0x0000c901, 0x16004800, 0x00006181,
- 0x08401c21, 0x00004081, 0xffffffff, 0x0000ffb7, 0x05420a00, 0x00007904,
- 0x05820a00, 0x00007904, 0x16000c58, 0x00006183, 0x05c0c015, 0x00008780,
- 0x05404016, 0x00001880, 0x0540a817, 0x00009300, 0x00007518, 0x00007410,
- 0x1000ac00, 0x0000f904, 0x05c00800, 0x0000e189, 0x0540b016, 0x00004900,
- 0x0540c016, 0x00009780, 0x0000756e, 0x00007400, 0x1000ac00, 0x0000f904,
- 0x05400000, 0x00001981, 0x0500c6a5, 0x0000e080, 0x164087a5, 0x0000c880,
- 0x1602c814, 0x0000e000, 0x08405421, 0x00008081, 0xb87d2814, 0x00006180,
- 0x050044a6, 0x0000c880, 0x00007531, 0x00007400, 0x16004800, 0x0000e180,
- 0x1640a058, 0x00004000, 0x0502cda6, 0x00009000, 0xffffffff, 0x00007f86,
- 0x10020e00, 0x0000f904, 0x16000858, 0x00009182, 0x16404800, 0x00006189,
- 0xb86d2814, 0x00004988, 0x0000752f, 0x0000f011, 0xffffffff, 0x00007fa7,
- 0x05420a00, 0x00007904, 0x05820a00, 0x00007904, 0x16400c59, 0x00006183,
- 0x09008015, 0x00000780, 0x04c00800, 0x00006189, 0x05408016, 0x00004880,
- 0x0540a824, 0x00009300, 0x00007537, 0x0000f410, 0x1000ac00, 0x0000f904,
- 0x0540b016, 0x00001900, 0x05408016, 0x00001780, 0x0000756e, 0x00007400,
- 0x1000ac00, 0x0000f904, 0x05400000, 0x00001981, 0x054015a5, 0x0000e181,
- 0x166d2da5, 0x00008901, 0x5d412c15, 0x0000789b, 0x03800001, 0x00008080,
- 0x086d2c21, 0x00009001, 0x40001da5, 0x00009583, 0x090015a5, 0x00006799,
- 0xb8452800, 0x00000998, 0x7842dc24, 0x00006199, 0x09400000, 0x00008999,
- 0x0000755b, 0x0000f030, 0x00007554, 0x00007400, 0x16005000, 0x00009980,
- 0x05612058, 0x00009100, 0x10020e00, 0x0000f904, 0x09400c25, 0x00009081,
- 0x05a12c25, 0x00001900, 0x0000a816, 0x00001502, 0x00007552, 0x0000f04b,
- 0x2c07e424, 0x00001680, 0x054588b0, 0x00001001, 0x1660ac59, 0x00001003,
- 0x0000756b, 0x0000700b, 0xb86d2814, 0x0000e180, 0x16401c59, 0x0000c881,
- 0x85410009, 0x000005e0, 0x0922c858, 0x00001100, 0xffffffff, 0x00007fa7,
- 0x09420a00, 0x00007904, 0x05820a00, 0x00007904, 0x0962c825, 0x00006700,
- 0x09c12016, 0x00000800, 0x05400c15, 0x00006183, 0x09412827, 0x00000300,
- 0x10012c00, 0x0000f904, 0x0562c816, 0x0000e708, 0x0940b016, 0x00008900,
- 0x00007561, 0x00007010, 0x1000ac00, 0x0000f904, 0x0000756e, 0x00007200,
- 0x05400000, 0x00001981, 0x05400800, 0x00009981, 0x96610c21, 0x00001900,
- 0x00108a59, 0x00007828, 0x00000000, 0x00000000, 0x3b400415, 0x0000788b,
- 0x03800001, 0x00008010, 0x5e007419, 0x0000f8b3, 0x03800001, 0x00008080,
- 0x00000894, 0x0000ec01, 0xffffffff, 0x00007f86, 0x00007588, 0x00007000,
- 0x81000e77, 0x0000e283, 0x00000094, 0x00002401, 0x16400c13, 0x0000e291,
- 0x16400000, 0x00008989, 0x00000417, 0x00006583, 0xe09c121a, 0x00000c00,
- 0x2380a014, 0x0000e100, 0x0422c877, 0x0000e001, 0x16400000, 0x00006189,
- 0x1660cc19, 0x0000c911, 0x00000417, 0x00009583, 0x2662cc59, 0x00006101,
- 0x16641c83, 0x0000c911, 0x16400000, 0x00001989, 0xffffffff, 0x00007f86,
- 0x20e2cc59, 0x00009901, 0x40000583, 0x0000e583, 0x30000077, 0x00002403,
- 0x847fe382, 0x0000f900, 0x0000003e, 0x00008280, 0x44c3be77, 0x00006000,
- 0x042c1894, 0x0000b009, 0xe1982800, 0x0000e180, 0x86401099, 0x00006686,
- 0xe0bfe382, 0x00007900, 0x0000003e, 0x00008280, 0x233fe01f, 0x0000e180,
- 0x257c0249, 0x00004980, 0x258003e8, 0x000089dc, 0xe0c00000, 0x0000e180,
- 0x217fe01f, 0x0000c980, 0x21001211, 0x0000e080, 0x16009677, 0x0000c281,
- 0xa5000000, 0x00001980, 0xef208458, 0x0000c488, 0xf6e44789, 0x00001d6e,
- 0x3c244f8a, 0x00004568, 0x9f446f87, 0x00009e61, 0x00000499, 0x00009583,
- 0x16400800, 0x00001990, 0x16400000, 0x00009988, 0x000075a4, 0x00007010,
- 0x00000483, 0x00001583, 0x16400800, 0x00001990, 0xffffffff, 0x00007f86,
- 0x5162c82c, 0x0000e800, 0x84440211, 0x00006080, 0x84ef2004, 0x00000980,
- 0x16000000, 0x00001981, 0x6c908a13, 0x0000782b, 0x03800001, 0x00008080,
- 0x16000c58, 0x00006081, 0x84d08a13, 0x00000100, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x6ad08a13, 0x00007823,
- 0x03800001, 0x00008080, 0xffffffff, 0x00007f86, 0x40000593, 0x00006583,
- 0x04400000, 0x00000981, 0x04400800, 0x0000e191, 0x8000002c, 0x0000e586,
- 0x4b22c458, 0x00006101, 0xe000080b, 0x00006400, 0x00000411, 0x00006583,
- 0x8bbfe01f, 0x00000980, 0x16000800, 0x00006191, 0x16001000, 0x00004989,
- 0x00000411, 0x00006583, 0x48a41c83, 0x00000901, 0x04c01800, 0x0000e191,
- 0xc722c004, 0x00006003, 0x000075cc, 0x00007011, 0x0004408a, 0x00009502,
- 0x04c01000, 0x00001989, 0x000075cc, 0x00007009, 0x00044089, 0x00009502,
- 0x04c00000, 0x00009989, 0x04c00000, 0x00009991, 0x000075cc, 0x0000f008,
- 0x00001493, 0x00001583, 0x04c00800, 0x00009999, 0xffffffff, 0x00007f86,
- 0x00000c13, 0x00006583, 0x16001383, 0x00008880, 0x0ac00800, 0x00006188,
- 0xc0000805, 0x0000640a, 0x0ac00000, 0x0000e190, 0xc000380b, 0x0000e405,
- 0x0004408a, 0x00006502, 0x0abc0249, 0x00000980, 0x82c0a8ec, 0x00007902,
- 0x05000000, 0x00008604, 0x1642c294, 0x00001000, 0x000075e5, 0x00007010,
- 0x0000008b, 0x00009582, 0x16530059, 0x0000f910, 0x0000003a, 0x00008c80,
- 0x000075e5, 0x0000f009, 0x00000411, 0x00006583, 0x0508c059, 0x00008d80,
- 0x0a48c059, 0x00009d80, 0x0b40a814, 0x00009010, 0x000075f0, 0x0000f010,
- 0x000075ee, 0x0000f400, 0x00072891, 0x00001502, 0x16448891, 0x00006110,
- 0x167c0249, 0x0000c988, 0x00072892, 0x0000e502, 0x163c9859, 0x00008800,
- 0x16530058, 0x0000f900, 0x0000003a, 0x00008c80, 0xffffffff, 0x00007f86,
- 0x16449092, 0x00006110, 0x0a48c059, 0x0000cd80, 0xffffffff, 0x00007f86,
- 0x16414829, 0x00001908, 0xffffffff, 0x00007f86, 0x0b40a859, 0x00001000,
- 0xa0001004, 0x00006402, 0x80078810, 0x00003686, 0x0b43bc58, 0x00006000,
- 0x00542004, 0x00003507, 0x84001677, 0x0000e283, 0xe0001004, 0x0000a403,
- 0x4522c004, 0x00006003, 0x8000080b, 0x0000b402, 0x16000800, 0x00006191,
- 0x16001000, 0x00004989, 0x84001677, 0x0000e283, 0x80001005, 0x0000a402,
- 0x00005006, 0x0000e406, 0x00001007, 0x00003402, 0x0422c004, 0x00006003,
- 0x6000080a, 0x0000b402, 0x1644208b, 0x0000e400, 0x162ccd99, 0x00004911,
- 0x16000800, 0x00006189, 0x4000280b, 0x00006407, 0xc0001005, 0x0000e402,
- 0x60001006, 0x0000b402, 0x00002807, 0x0000e407, 0xa02ba80a, 0x0000b506,
- 0x05000000, 0x00006180, 0xc0003809, 0x0000e407, 0x5000280c, 0x0000e504,
- 0x00002808, 0x00003406, 0x09c00000, 0x0000f900, 0x000d0000, 0x00000980,
- 0xb000080b, 0x0000e401, 0x00005006, 0x00003407, 0x60000807, 0x0000e403,
- 0x8000280a, 0x0000b407, 0x0944178e, 0x0000010e, 0x057c4f88, 0x00008118,
- 0x0644388c, 0x00006000, 0x06800888, 0x00000180, 0x08400000, 0x0000e181,
- 0x0904508a, 0x0000c900, 0x0a000787, 0x00000380, 0x0c400000, 0x000003c8,
- 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8, 0x0dc00000, 0x000003e0,
- 0x0e400000, 0x000003e8, 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8,
- 0x0fc00000, 0x00006180, 0x845b8370, 0x00004900, 0x16c08800, 0x00006181,
- 0xc4138270, 0x00004900, 0x00007666, 0x0000f400, 0x05c44059, 0x00006000,
- 0xc1555013, 0x00008980, 0x8522c458, 0x0000e101, 0xc5001699, 0x0000c781,
- 0x762b7437, 0x0000f204, 0x17030000, 0x00001980, 0x0423883f, 0x00006003,
- 0xa000080b, 0x0000b400, 0x20ab463f, 0x0000e000, 0x7000480c, 0x0000b500,
- 0x9600263f, 0x0000e283, 0x80000807, 0x0000a403, 0x0f7b6f6c, 0x00008338,
- 0x8863736b, 0x0000033c, 0x00007665, 0x0000f010, 0x0cc0007a, 0x00007900,
- 0x00000014, 0x00000082, 0x0c80007b, 0x0000e084, 0x0d019833, 0x00008900,
- 0x0cc19032, 0x0000e100, 0x8000280b, 0x0000e405, 0x09fbd77b, 0x00000218,
- 0x763f20c9, 0x0000f404, 0x29409900, 0x00006180, 0x2801a034, 0x0000c900,
- 0x29819833, 0x00009900, 0x00000ca2, 0x00009583, 0x300194af, 0x0000f912,
- 0x0cc00000, 0x00000000, 0x3001a4af, 0x0000f912, 0x0d400000, 0x00000000,
- 0x00007665, 0x0000f010, 0x01000000, 0x00007900, 0x0000c000, 0x00008980,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x03b92800, 0x00007900,
- 0x000654b2, 0x00000980, 0x02000000, 0x0000e180, 0x08001a09, 0x0000e106,
- 0x01800000, 0x000080dc, 0x82600500, 0x00008026, 0x02c01702, 0x00008091,
- 0x812514a2, 0x00001901, 0x76521bac, 0x00007100, 0x76537468, 0x00007004,
- 0x00007666, 0x0000f200, 0x16c09000, 0x00001981, 0x76577437, 0x00007204,
- 0x17018000, 0x00001980, 0x96004668, 0x00009283, 0xd6003f3f, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00007665, 0x0000f008, 0x00007665, 0x0000f010,
- 0x40001009, 0x00006402, 0xa0005008, 0x00003406, 0xc0015009, 0x00006482,
- 0x8000083f, 0x0000b405, 0x0c3df830, 0x0000f900, 0x003ffffe, 0x00008280,
- 0xc0001008, 0x0000e403, 0x60001009, 0x00003403, 0x01818006, 0x00001380,
- 0x16c0a000, 0x00001981, 0x776c748e, 0x0000f500, 0x40001806, 0x00006403,
- 0x60001004, 0x00003402, 0x200aa6ec, 0x0000d680, 0x003b2089, 0x00003f10,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03ac2800, 0x0000f900, 0x002a0ed2, 0x00008980,
- 0x0228650c, 0x00006100, 0x08001a09, 0x0000e106, 0x01800000, 0x000080dc,
- 0x00007651, 0x00007400, 0x82600500, 0x00008026, 0x81001000, 0x0000e180,
- 0x02c01002, 0x00004900, 0x40001009, 0x00006402, 0xa0005008, 0x00003406,
- 0xc0015009, 0x00006482, 0x7001480c, 0x00003500, 0x40001007, 0x00006403,
- 0xc0001008, 0x0000b403, 0x0c3df830, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x01818006, 0x0000e380, 0x60001009, 0x0000a403, 0x1a000000, 0x000086e4,
- 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
- 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
- 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
- 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x00007666, 0x0000f400, 0x26800000, 0x000089ec, 0x16c09800, 0x00009981,
- 0x40001008, 0x00006c02, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec,
- 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x00007665, 0x0000f400, 0x26000000, 0x000089e4,
- 0x26c00000, 0x000089e8, 0x766572eb, 0x0000f004, 0x00007665, 0x00007000,
- 0x20015007, 0x00006482, 0x80000806, 0x0000b403, 0xa0000807, 0x00006402,
- 0x80001005, 0x00003402, 0xa000280a, 0x0000e406, 0x00004807, 0x0000b407,
- 0x42035000, 0x0000e181, 0x7000c80c, 0x00006500, 0x00005004, 0x0000e407,
- 0xc0001006, 0x00003403, 0xa0001005, 0x00006403, 0x6000080a, 0x00003403,
- 0x60000807, 0x0000e403, 0x20015008, 0x0000b483, 0x1a000000, 0x000086e4,
- 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
- 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
- 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
- 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x00007665, 0x0000f400, 0x26800000, 0x000089ec, 0x06000716, 0x00000191,
- 0x4000050c, 0x00006583, 0x1a000000, 0x00000980, 0x1a400000, 0x000006e8,
- 0x1ac00000, 0x000086f0, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0,
- 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0, 0x1d400000, 0x000007d8,
- 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
- 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8,
- 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8, 0x21c00000, 0x000008e0,
- 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0, 0x23400000, 0x000008f8,
- 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0,
- 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0, 0x00007665, 0x00007408,
- 0x26400000, 0x000009e8, 0x26c00000, 0x00009980, 0x00000462, 0x00001583,
- 0x7000080c, 0x00006d10, 0x00007665, 0x00007011, 0x7001080c, 0x0000e500,
- 0xc0000808, 0x0000b403, 0x1a000000, 0x0000e180, 0x2000080a, 0x00006402,
- 0x1a400000, 0x000006e8, 0x1ac00000, 0x000086f0, 0x1b400000, 0x000006f8,
- 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0,
- 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8,
- 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0,
- 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8,
- 0x21c00000, 0x000008e0, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0,
- 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
- 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
- 0x26400000, 0x000009e8, 0x00007665, 0x0000f400, 0x26c00000, 0x0000e180,
- 0xa7189312, 0x00004900, 0x84989312, 0x00001900, 0x0a01fc58, 0x00006804,
- 0x00000458, 0x00001583, 0x8000083f, 0x0000ec0d, 0x0000772d, 0x0000f009,
- 0x00001c58, 0x00001583, 0x8000203f, 0x0000ec0d, 0x40001009, 0x00006402,
- 0xa0005008, 0x00003406, 0x0023109c, 0x00006000, 0xc0015009, 0x00003482,
- 0x0c3df830, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0001008, 0x0000e403,
- 0x60001009, 0x00003403, 0x01818006, 0x0000e380, 0x1a000000, 0x00000980,
- 0x1a400000, 0x000006e8, 0x1ac00000, 0x000086f0, 0x1b400000, 0x000006f8,
- 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087d0,
- 0x1d400000, 0x000007d8, 0x1dc00000, 0x000007e0, 0x1e400000, 0x000007e8,
- 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0,
- 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8,
- 0x21c00000, 0x000008e0, 0x22400000, 0x000008e8, 0x22c00000, 0x000088f0,
- 0x23400000, 0x000008f8, 0x23c00000, 0x000089c0, 0x24400000, 0x000009c8,
- 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0,
- 0x26400000, 0x000009e8, 0x26c00000, 0x0000e180, 0x2741e83d, 0x00004900,
- 0xc0109312, 0x00006502, 0x27c31863, 0x00000900, 0x8018e21c, 0x00001502,
- 0xffffffff, 0x00007f86, 0x0000775d, 0x0000f010, 0x0000775b, 0x0000f008,
- 0x96611422, 0x00001900, 0x8018e259, 0x00009502, 0x0000775d, 0x0000f013,
- 0x0000a824, 0x00009502, 0x00007665, 0x0000f00b, 0x00007665, 0x0000f200,
- 0x2700109c, 0x00009380, 0x01000000, 0x00007900, 0x0000c040, 0x00000980,
- 0x0374d800, 0x0000f900, 0x000430c2, 0x00008980, 0x03b82800, 0x0000f900,
- 0x00280a2c, 0x00000980, 0x02030060, 0x00006100, 0x08001a09, 0x0000e106,
- 0x01800761, 0x0000009c, 0x00007651, 0x00007400, 0x82600500, 0x00008026,
- 0x81002800, 0x00006180, 0x02c01002, 0x00004900, 0x96371ee3, 0x0000e100,
- 0xc000b000, 0x00004981, 0x85bacc58, 0x0000a080, 0xc0c05800, 0x0000e180,
- 0x16000002, 0x00004980, 0x00505000, 0x0000f900, 0x0004c010, 0x00008980,
- 0x8062dc5b, 0x00001901, 0xd622cc59, 0x00001900, 0x770000ec, 0x00005680,
- 0x003ac000, 0x00000000, 0x008806ec, 0x00005f80, 0x00985840, 0x00000ac4,
- 0x00007780, 0x0000f200, 0x01400000, 0x00009981, 0x00007780, 0x0000f200,
- 0x01400800, 0x00001981, 0x00007780, 0x0000f200, 0x01401000, 0x00001981,
- 0x01401800, 0x00009981, 0x01800000, 0x00006180, 0x08001a59, 0x0000e106,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0354e000, 0x0000f900,
- 0x000ce8a4, 0x00000980, 0x03afa800, 0x00007900, 0x000982ea, 0x00000980,
- 0x82101202, 0x0000e100, 0x08001a09, 0x0000e106, 0x02000502, 0x0000009c,
- 0x82600500, 0x00008026, 0x00007651, 0x00007400, 0x02c2cf02, 0x00008018,
- 0x81008000, 0x0000e180, 0x41a02c05, 0x0000c901, 0x167fe01f, 0x00006180,
- 0x0000802c, 0x00006480, 0x16241859, 0x00006700, 0x1303b82c, 0x0000a000,
- 0x003fe058, 0x0000f900, 0x0000003e, 0x00008582, 0x8b800483, 0x000005a4,
- 0x40000583, 0x0000e583, 0x16400800, 0x00008988, 0xffffffff, 0x00007f86,
- 0x30e2c82c, 0x0000e800, 0x000075a6, 0x00007208, 0x0b01002c, 0x00001388,
- 0x0000759e, 0x0000f000, 0xc11722e4, 0x00006100, 0x81800ee3, 0x00004880,
- 0x86bba406, 0x0000b038, 0x86bbb606, 0x0000b038, 0x82c03cec, 0x0000f902,
- 0x01800000, 0x00008604, 0x81b71ee3, 0x00001900, 0x18c3a074, 0x0000e100,
- 0x0023a808, 0x00006086, 0x822ba808, 0x00006886, 0x85805406, 0x0000f902,
- 0x01800000, 0x00000000, 0x041ba808, 0x0000e987, 0x02404008, 0x00009900,
- 0x2822f800, 0x00007900, 0x000430ca, 0x00000980, 0x80000606, 0x00006583,
- 0x18804809, 0x00008900, 0x04185007, 0x00006197, 0x04103007, 0x0000b18f,
- 0x00002006, 0x0000ed86, 0x02003807, 0x00006100, 0x042ba806, 0x00006087,
- 0x77b91c83, 0x00007500, 0x18404008, 0x00006100, 0x8623a806, 0x0000e087,
- 0x18003006, 0x00009900, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec,
- 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1e000000, 0x000087e4,
- 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc,
- 0x20000000, 0x000088c4, 0x20800000, 0x000088cc, 0x21000000, 0x000088d4,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0xffffffff, 0x00007f86, 0x87800ce0, 0x0000f88f, 0x3a000000, 0x0000238f,
+ 0x83c03410, 0x0000e780, 0x0380fc10, 0x00008281, 0x83e30a0f, 0x0000f900,
+ 0x00000004, 0x00000080, 0x0000280f, 0x00007902, 0x01000000, 0x00008000,
+ 0x03a077e4, 0x00006000, 0x0341fc10, 0x0000c281, 0x0000fc0d, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x0100200e, 0x0000e318, 0x0140280e, 0x00008330,
+ 0xffffffff, 0x00007f86, 0x0038280f, 0x0000d000, 0x00382000, 0x00000000,
+ 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x29000000, 0x00007900,
+ 0x00010080, 0x00008980, 0x2bfd8000, 0x0000f900, 0x00387e9a, 0x00000980,
+ 0x39eb2000, 0x00007900, 0x000e9eea, 0x00000980, 0x2ac00000, 0x0000e180,
+ 0x08001aad, 0x00006106, 0x2a800000, 0x00006180, 0xeb700600, 0x0000c901,
+ 0x47592021, 0x00007500, 0xab781400, 0x00000a38, 0xa900b800, 0x00006180,
+ 0x2b00600c, 0x0000c900, 0x01400000, 0x00006180, 0x08001aad, 0x00006106,
+ 0x2ac00000, 0x0000e180, 0x90003005, 0x00006000, 0x29000000, 0x00007900,
+ 0x00010080, 0x00008980, 0x2a800000, 0x00006180, 0xa0003005, 0x00006000,
+ 0x2bdf8800, 0x00007900, 0x00387e9c, 0x00000980, 0x39df2000, 0x0000f900,
+ 0x0022fd6a, 0x00000980, 0xab600500, 0x00008a36, 0x47592021, 0x00007500,
+ 0x2b80c702, 0x00000a91, 0x2b002805, 0x00009900, 0x008006ec, 0x0000df80,
+ 0x00000000, 0x00000084, 0x01002009, 0x00009202, 0x01000000, 0x00001981,
+ 0x01000800, 0x00001991, 0xffffffff, 0x00007f86, 0x00000404, 0x00001583,
+ 0x000046a9, 0x0000f013, 0x01000000, 0x00007900, 0x00080000, 0x00000980,
+ 0x0000fc0c, 0x0000e583, 0x04205004, 0x00002087, 0x8362fa0f, 0x0000f900,
+ 0x00000004, 0x00000080, 0x800000ec, 0x00005780, 0x00382000, 0x00000000,
+ 0x0000300d, 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7,
+ 0x01002009, 0x00006318, 0x01803009, 0x00000330, 0x0000468c, 0x00007400,
+ 0xffffffff, 0x00007f86, 0x0038300d, 0x00005000, 0x00382000, 0x00000000,
+ 0x0000f80e, 0x00009582, 0x00004697, 0x00007400, 0x034077e4, 0x0000e030,
+ 0x0281000e, 0x000040b0, 0x0400800d, 0x00006430, 0x02bff801, 0x00008998,
+ 0x0007fc04, 0x0000e583, 0x02202404, 0x00000901, 0x83a02404, 0x00001910,
+ 0x000046e1, 0x00007009, 0x8020a20e, 0x00001502, 0x000046eb, 0x0000701b,
+ 0x473834ec, 0x0000a004, 0x0007fc08, 0x0000e583, 0x83408000, 0x00000980,
+ 0x03572818, 0x00006200, 0x83e0a20d, 0x00008100, 0x81107c08, 0x00001000,
+ 0x463838ec, 0x00002884, 0x2c102206, 0x00009600, 0x03c588b0, 0x00001000,
+ 0x2c102306, 0x00001600, 0x010588b0, 0x00009000, 0x01008004, 0x00001880,
+ 0x0000465d, 0x0000f410, 0x01007804, 0x00009000, 0x03c06804, 0x00001100,
+ 0x000046f8, 0x0000f000, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02e0e000, 0x00007900,
+ 0x000e7b9e, 0x00008980, 0x03400000, 0x0000e180, 0x08001a08, 0x00006106,
+ 0x82200500, 0x00008022, 0x479a1ff4, 0x0000f500, 0x02703702, 0x0000801a,
+ 0x81c01000, 0x00009980, 0x463870ec, 0x0000a084, 0x473824ec, 0x00002004,
+ 0xffffffff, 0x00007f97, 0x03c07005, 0x00009100, 0x0000200f, 0x00009502,
+ 0x83400000, 0x000099a0, 0x000047cc, 0x00007029, 0x83400a0d, 0x00006080,
+ 0x03c0200f, 0x00000100, 0x00007804, 0x00009502, 0x8000020d, 0x00001582,
+ 0xffffffff, 0x00007f86, 0x000047a1, 0x00007030, 0x000047cc, 0x00007008,
+ 0x460078ec, 0x0000a005, 0xffffffff, 0x00007fa7, 0x03506c0f, 0x00009000,
+ 0x0380780d, 0x0000e080, 0x0e80880d, 0x0000a086, 0x8380fa11, 0x00006280,
+ 0x81c07a0e, 0x00000280, 0x83e31207, 0x00007900, 0x00000004, 0x00000080,
+ 0x83d07a0d, 0x00006000, 0x039077e4, 0x00008800, 0x0000280f, 0x00007902,
+ 0x01000000, 0x00008000, 0x0341fc11, 0x00001281, 0x0000fc0d, 0x00006583,
+ 0x0341fc07, 0x00000281, 0xffffffff, 0x00007f86, 0x0140280e, 0x0000e330,
+ 0x0100200e, 0x00008318, 0x8380fa07, 0x00001280, 0x0038280f, 0x0000d000,
+ 0x00382000, 0x00000000, 0x039077e4, 0x00006000, 0x0e803a0f, 0x0000e086,
+ 0x83e3920f, 0x00007900, 0x00000004, 0x00000080, 0x0000300f, 0x00007902,
+ 0x01400000, 0x00000000, 0x0000fc0d, 0x00009583, 0xffffffff, 0x00007f97,
+ 0x0140280e, 0x0000e318, 0x0180300e, 0x00008330, 0x00004739, 0x00007400,
+ 0xffffffff, 0x00007f86, 0x0038300f, 0x0000d000, 0x00382800, 0x00008000,
+ 0x460070ec, 0x00002005, 0x0e80880d, 0x0000e886, 0xffffffff, 0x00007f97,
+ 0x8380fa11, 0x00006280, 0x81007c0e, 0x00000280, 0x83e31204, 0x00007900,
+ 0x00000004, 0x00000080, 0x83d07a0d, 0x00006000, 0x039077e4, 0x00008800,
+ 0x0000300f, 0x00007902, 0x01400000, 0x00000000, 0x0341fc11, 0x00001281,
+ 0x0000fc0d, 0x00006583, 0x0341fc04, 0x00000281, 0xffffffff, 0x00007f86,
+ 0x0180300e, 0x0000e330, 0x0140280e, 0x00008318, 0x8380fa04, 0x00001280,
+ 0x0038300f, 0x0000d000, 0x00382800, 0x00008000, 0x039077e4, 0x00006000,
+ 0x0e80220f, 0x0000e086, 0x000047c4, 0x0000f400, 0x83e3920f, 0x00007900,
+ 0x00000004, 0x00000080, 0x0000300f, 0x00007902, 0x01400000, 0x00000000,
+ 0x47e82049, 0x00007100, 0xffffffff, 0x00007f86, 0x00000405, 0x00009583,
+ 0x0340fc10, 0x00006291, 0x81002c10, 0x00008790, 0x03606fe4, 0x00009810,
+ 0x0000461e, 0x0000f008, 0x00000404, 0x0000e583, 0x034068e5, 0x00000400,
+ 0x04c0980d, 0x00001208, 0x000047f4, 0x00007009, 0x00000c04, 0x00009583,
+ 0x0480900d, 0x00001208, 0x01000000, 0x00007900, 0x00080000, 0x00000980,
+ 0x45f89eec, 0x0000d004, 0x00389000, 0x00008000, 0x0000461e, 0x0000f400,
+ 0x04208804, 0x00006887, 0x800000ec, 0x00005780, 0x00382000, 0x00000000,
+ 0x0138001f, 0x0000e180, 0x01400808, 0x0000c780, 0x00003045, 0x0000f400,
+ 0x0101fc05, 0x00001281, 0x01c02004, 0x00001900, 0x17c08010, 0x0000e100,
+ 0x00208806, 0x00006086, 0x82288806, 0x00006886, 0x04188806, 0x0000e987,
+ 0x01c03006, 0x00001900, 0x170db000, 0x0000f900, 0x00280736, 0x00000980,
+ 0x17803807, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902,
+ 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100,
+ 0x00002004, 0x0000e586, 0x17403006, 0x00006100, 0x04288804, 0x00006087,
+ 0x481420b3, 0x0000f500, 0x86208804, 0x00006887, 0x16c02004, 0x00001900,
+ 0x0ac06c11, 0x00004389, 0x00806c11, 0x00000098, 0x09205c11, 0x00004189,
+ 0x00806411, 0x00000090, 0x2bc00a02, 0x0000c88e, 0xb4c00a02, 0x0000948e,
+ 0x00407411, 0x0000c589, 0x02e08411, 0x0000839e, 0x81000a02, 0x00006282,
+ 0x0fc00004, 0x00000980, 0x0580700e, 0x0000e110, 0x00101004, 0x0000e186,
+ 0x001078ec, 0x00005780, 0x00005800, 0x00000080, 0x04181004, 0x00006187,
+ 0x0000183f, 0x0000b106, 0x803820ec, 0x0000d700, 0x00000000, 0x00000880,
+ 0x800000ec, 0x00005780, 0x00000000, 0x00008080, 0x803f28ec, 0x0000d700,
+ 0x00000000, 0x00008080, 0x800030ec, 0x00007902, 0x01000000, 0x00000700,
+ 0x0f001000, 0x00007900, 0x00008000, 0x00000980, 0x0f580800, 0x0000f900,
+ 0x000440c0, 0x00008980, 0x0fa81402, 0x00008338, 0x80000e06, 0x0000e583,
+ 0x10002000, 0x00008980, 0x10400000, 0x000004c8, 0x10c00000, 0x0000e180,
+ 0x81002c06, 0x0000c788, 0x00004856, 0x00007010, 0x45c046ec, 0x0000f902,
+ 0x01c00000, 0x00000004, 0x00000404, 0x0000e583, 0x0140fc06, 0x00008281,
+ 0x01602fe4, 0x00001800, 0x014028e5, 0x00009400, 0x00004841, 0x0000f208,
+ 0x02004005, 0x00009208, 0x00000c04, 0x00009583, 0x01c03805, 0x00009208,
+ 0x01000000, 0x00007900, 0x00080000, 0x00000980, 0x45f846ec, 0x0000d004,
+ 0x00383800, 0x00000000, 0x00004856, 0x00007400, 0x04203004, 0x00006887,
+ 0x800000ec, 0x00005780, 0x00382000, 0x00000000, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x028fe000, 0x00007900, 0x00280736, 0x00000980,
+ 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x01808010, 0x0000e100,
+ 0x08001a08, 0x00006106, 0x01400711, 0x000080b4, 0x48561ff4, 0x0000f500,
+ 0x82200500, 0x00008022, 0x81c02800, 0x00006180, 0x02401002, 0x0000c900,
+ 0x40c00401, 0x000000ec, 0x01400000, 0x0000f900, 0x00020300, 0x00000980,
+ 0x010001a0, 0x00006180, 0x0000180b, 0x00006106, 0x00400000, 0x00007900,
+ 0x00008090, 0x00000980, 0x01804800, 0x0000f900, 0x00004000, 0x00000980,
+ 0x02009000, 0x00007900, 0x00032240, 0x00000980, 0x02400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x001008ec, 0x0000d780, 0x00d07100, 0x000085c0,
+ 0x557f1005, 0x00006003, 0xc000180b, 0x0000b006, 0xc0000402, 0x000080dc,
+ 0x81381002, 0x00008028, 0x008806ec, 0x00005f80, 0x00c060c0, 0x000080c4,
+ 0x03000000, 0x000080f4, 0x03800000, 0x0000e180, 0x0780e00c, 0x0000e000,
+ 0x00004856, 0x00007400, 0x03c00000, 0x00006180, 0x83511222, 0x0000c900,
+ 0xc3191322, 0x00009900, 0x03000000, 0x000080f4, 0x00004856, 0x00007400,
+ 0x03800000, 0x000080fc, 0x83491020, 0x00008032, 0x00004856, 0x00007400,
+ 0x0101041c, 0x00009283, 0x8350fa1f, 0x00001910, 0x00004856, 0x00007400,
+ 0x0100841c, 0x00009283, 0x83510220, 0x00001910, 0x17c0600c, 0x0000e100,
+ 0x00206806, 0x0000e086, 0x82286806, 0x0000e886, 0x04186806, 0x00006987,
+ 0x01c03006, 0x00001900, 0x1713d800, 0x00007900, 0x00280736, 0x00000980,
+ 0x17803807, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902,
+ 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100,
+ 0x00002004, 0x0000e586, 0x17403006, 0x00006100, 0x04286804, 0x0000e087,
+ 0x488f20b3, 0x00007500, 0x86206804, 0x0000e887, 0x16c02004, 0x00001900,
+ 0x1c80340d, 0x00004389, 0x0080340d, 0x00000098, 0x1940140d, 0x00004489,
+ 0xbc802c0d, 0x00009289, 0x00c00c0d, 0x00004a90, 0x0120540d, 0x000005b4,
+ 0xffffffff, 0x00007f86, 0x0000740d, 0x00009583, 0x02000800, 0x00001989,
+ 0x000048ec, 0x00007009, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x02971800, 0x0000f900, 0x00280736, 0x00000980, 0x02fa9000, 0x00007900,
+ 0x0016f7fa, 0x00008980, 0x0180600c, 0x0000e100, 0x08001a08, 0x00006106,
+ 0x0168070d, 0x00000022, 0x48eb1ff4, 0x0000f500, 0x82381400, 0x00008024,
+ 0x03402800, 0x000080dd, 0x460020ec, 0x0000a004, 0xffffffff, 0x00007fa7,
+ 0x00000404, 0x00001583, 0x05bff016, 0x00007910, 0x003ffffe, 0x00008280,
+ 0x10009900, 0x00001988, 0x000048c5, 0x00007010, 0x0160400e, 0x00007900,
+ 0x00000002, 0x00008082, 0x01802805, 0x0000e100, 0x0100000f, 0x00004084,
+ 0x48b32490, 0x00007404, 0x0ff82706, 0x00008014, 0x0f802805, 0x00001900,
+ 0x3030a841, 0x0000f902, 0x01000500, 0x00008000, 0x460000ec, 0x0000d004,
+ 0x00400000, 0x00000083, 0x460002ec, 0x0000d084, 0x00400000, 0x00008000,
+ 0x45ff2eec, 0x0000d004, 0x003f2800, 0x00000000, 0x05800816, 0x00006380,
+ 0x01002004, 0x00008780, 0x473824ec, 0x0000a804, 0x3028a841, 0x00002082,
+ 0x460000ec, 0x0000d004, 0x00600000, 0x00000082, 0x460002ec, 0x00005004,
+ 0x00400000, 0x00000080, 0x470004ec, 0x00005084, 0x00400000, 0x00008000,
+ 0x460020ec, 0x0000a004, 0xffffffff, 0x00007f86, 0x000048eb, 0x00007403,
+ 0x01000c04, 0x00009081, 0x460020ec, 0x00002804, 0x460020ec, 0x0000a004,
+ 0xc007ff13, 0x0000e583, 0x01500000, 0x00000980, 0xffffffff, 0x00007f97,
+ 0x01000c04, 0x00001181, 0x460020ec, 0x00002804, 0x813f1fe3, 0x00006108,
+ 0x81008713, 0x00004090, 0x48d51a80, 0x0000f405, 0x04102005, 0x0000e987,
+ 0x02c02805, 0x00001900, 0x01500800, 0x00001980, 0x48d91a80, 0x00007404,
+ 0x04102005, 0x0000e987, 0x02c02805, 0x00001900, 0x01000000, 0x00009980,
+ 0x48eb2b1d, 0x0000f500, 0x00186004, 0x00006986, 0x06002004, 0x00009900,
+ 0x000048eb, 0x0000f000, 0x06c728e5, 0x0000e100, 0x0e408404, 0x0000e000,
+ 0x01009404, 0x00001880, 0x000048e9, 0x0000f400, 0x01406004, 0x00001300,
+ 0x07402805, 0x00009900, 0x06c728e5, 0x0000e100, 0x0e408404, 0x0000e000,
+ 0x01009404, 0x00001880, 0x01406004, 0x00001300, 0x07402805, 0x00009900,
+ 0x48eb24bc, 0x0000f004, 0x000048eb, 0x0000f000, 0x02000000, 0x00001981,
+ 0x00000408, 0x0000e583, 0x01400080, 0x00000980, 0x82000000, 0x0000e190,
+ 0x82039000, 0x0000c988, 0x01800000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x010000a0, 0x0000e180, 0x86288005, 0x0000e007, 0x02c00004, 0x00006180,
+ 0x00104006, 0x0000e182, 0x02400000, 0x0000f900, 0x00010030, 0x00000980,
+ 0x557f1005, 0x00006003, 0x0000180b, 0x00003106, 0x02009000, 0x00007900,
+ 0x00012280, 0x00008980, 0x01c00000, 0x0000e180, 0x82901202, 0x00004900,
+ 0x81281002, 0x00000028, 0x00880eec, 0x0000df80, 0x00007001, 0x00000084,
+ 0x1878c719, 0x00000600, 0x1880d01a, 0x00006100, 0x00230809, 0x0000e086,
+ 0x18c0d81b, 0x0000e100, 0x822b0809, 0x00006086, 0x1900e01c, 0x00006100,
+ 0x041b0809, 0x0000e187, 0x02b8ef09, 0x00000614, 0x17130000, 0x00007900,
+ 0x00280738, 0x00008980, 0x19b8ff1e, 0x0000061c, 0x1a791721, 0x00000628,
+ 0x1af88723, 0x00008500, 0x14789711, 0x00000508, 0x14f8a713, 0x00000510,
+ 0x1578b715, 0x00000518, 0x15f8c717, 0x0000853c, 0x1780500a, 0x00001900,
+ 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
+ 0x02402805, 0x0000e100, 0x00002004, 0x0000e586, 0x17404809, 0x00006100,
+ 0x042b0804, 0x0000e087, 0x491d20b3, 0x00007500, 0x86230804, 0x0000e887,
+ 0x16c02004, 0x00001900, 0x491e38dd, 0x00007004, 0x16400080, 0x0000e180,
+ 0x08012008, 0x00006202, 0x160000a0, 0x0000e180, 0x8628e059, 0x0000e007,
+ 0x17800000, 0x0000e180, 0x59c04008, 0x0000c900, 0x0b003208, 0x00006106,
+ 0x08003a69, 0x00003106, 0x16839000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x17009000, 0x0000f900, 0x00012280, 0x00008980, 0x17400000, 0x00007900,
+ 0x00010030, 0x00000980, 0x1a003006, 0x00006100, 0x557f1059, 0x00006003,
+ 0x16c00000, 0x0000e180, 0x17c00004, 0x0000c980, 0xd7802208, 0x0000e080,
+ 0x96002208, 0x00004880, 0x0088b6ec, 0x0000df80, 0x00007001, 0x00000084,
+ 0x05c00000, 0x0000f900, 0x00040000, 0x00000980, 0x0000494d, 0x0000f400,
+ 0x85c00006, 0x000001a0, 0xc6103206, 0x00009900, 0x45c0e6ec, 0x0000f902,
+ 0x06c00000, 0x00008004, 0x87402c1a, 0x0000e780, 0x0780fc1a, 0x00000281,
+ 0x0000041d, 0x00006583, 0x07a0f7e4, 0x00008800, 0x45c03eec, 0x0000f902,
+ 0x01800000, 0x00008004, 0x0780f0e5, 0x00009400, 0x00004946, 0x0000f208,
+ 0x01c0e01e, 0x00009208, 0x00000c1d, 0x00001583, 0x0180d81e, 0x00009208,
+ 0x45f83eec, 0x00002884, 0x45f836ec, 0x00002804, 0x01800000, 0x0000f900,
+ 0x00080000, 0x00000980, 0x0420d006, 0x00006887, 0x800000ec, 0x00005780,
+ 0x00383000, 0x00008000, 0x8038c0ec, 0x00005700, 0x0038b800, 0x00008000,
+ 0x800000ec, 0x00005780, 0x00000000, 0x00008080, 0x800000ec, 0x00005780,
+ 0x00372fc0, 0x00007f7a, 0x8000d0ec, 0x0000f902, 0x01800000, 0x00008700,
+ 0xffffffff, 0x00007fa7, 0x80000e1a, 0x00009583, 0x460030ec, 0x0000a014,
+ 0x00004939, 0x00007009, 0x00000001, 0x0000f481, 0x01800c06, 0x00001181,
+ 0x460030ec, 0x0000a804, 0x828001e4, 0x0000009c, 0x49602b1d, 0x00007500,
+ 0x00105007, 0x0000e986, 0x06003807, 0x00009900, 0x02000000, 0x0000e180,
+ 0x0f005007, 0x00006106, 0x45103808, 0x0000e907, 0x496724bc, 0x00007404,
+ 0x06c00000, 0x0000f900, 0x003ffc00, 0x00008980, 0x07404008, 0x00009900,
+ 0xb918530a, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
+ 0x84402d00, 0x00006080, 0x08003a04, 0x0000e106, 0x01401000, 0x000003ec,
+ 0x03a00204, 0x0000f900, 0x000002da, 0x00008080, 0xc1580211, 0x00006080,
+ 0x06800000, 0x00000980, 0x0eb82f0e, 0x00008324, 0xc2d722e4, 0x00001900,
+ 0x497421af, 0x0000f004, 0x01400000, 0x00006180, 0x08003a04, 0x0000e106,
+ 0x01000a04, 0x0000e080, 0xc1580a11, 0x00004080, 0x03a00004, 0x00007900,
+ 0x000002d8, 0x00000080, 0x497d21af, 0x00007404, 0x0ec00002, 0x000081e8,
+ 0x0eb82f0e, 0x00008324, 0x01400000, 0x00006180, 0x08004a04, 0x00006106,
+ 0x03a00204, 0x0000f900, 0x000002da, 0x00008080, 0xc1581211, 0x0000e080,
+ 0x0ec01000, 0x00008980, 0x498721af, 0x00007404, 0x06800000, 0x0000e180,
+ 0x0e80700e, 0x0000c900, 0x0e402805, 0x00009900, 0x01400000, 0x00006180,
+ 0x08004a04, 0x00006106, 0x01000a04, 0x0000e080, 0xc1581a11, 0x0000c080,
+ 0x03a00004, 0x00007900, 0x000002d8, 0x00000080, 0x499021af, 0x00007404,
+ 0x0ec00002, 0x000081e8, 0x0eb82f0e, 0x00008324, 0x01400000, 0x00006180,
+ 0x08005a04, 0x0000e106, 0x03a00204, 0x0000f900, 0x000002da, 0x00008080,
+ 0xc1582211, 0x0000e080, 0x0ec01000, 0x00008980, 0x499a21af, 0x00007404,
+ 0x06800000, 0x0000e180, 0x0e80700e, 0x0000c900, 0x0e402805, 0x00009900,
+ 0x01400000, 0x00006180, 0x08005a04, 0x0000e106, 0x01000a04, 0x0000e080,
+ 0xc1582a11, 0x0000c080, 0x03a00004, 0x00007900, 0x000002d8, 0x00000080,
+ 0x49a321af, 0x00007404, 0x0ec00002, 0x000081e8, 0x0eb82f0e, 0x00008324,
+ 0x01400000, 0x00006180, 0x08006a04, 0x0000e106, 0x03a00204, 0x0000f900,
+ 0x000002da, 0x00008080, 0xc1583211, 0x00006080, 0x0ec01000, 0x00008980,
+ 0x49ad21af, 0x0000f404, 0x06800000, 0x0000e180, 0x0e80700e, 0x0000c900,
+ 0x0e402805, 0x00009900, 0x01400000, 0x00006180, 0x08006a04, 0x0000e106,
+ 0x01000a04, 0x0000e080, 0xc1583a11, 0x00004080, 0x03a00004, 0x00007900,
+ 0x000002d8, 0x00000080, 0x49b621af, 0x0000f404, 0x0ec00002, 0x000081e8,
+ 0x0eb82f0e, 0x00008324, 0x01400000, 0x00006180, 0x08007a04, 0x00006106,
+ 0x03a00204, 0x0000f900, 0x000002da, 0x00008080, 0xc1584211, 0x0000e080,
+ 0x0ec01000, 0x00008980, 0x49c021af, 0x00007404, 0x06800000, 0x0000e180,
+ 0x0e80700e, 0x0000c900, 0x0e402805, 0x00009900, 0x01000000, 0x0000e180,
+ 0x08007a05, 0x0000e106, 0x01400a05, 0x0000e080, 0xc1184a11, 0x00004080,
+ 0x01600005, 0x00007900, 0x000002d8, 0x00000080, 0x49c921af, 0x00007404,
+ 0x0ec00802, 0x000001e8, 0x0eb82705, 0x00008324, 0xb9185b0b, 0x00001900,
+ 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x0c006000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x0c400040, 0x00006180, 0x0c800000, 0x0000c980,
+ 0xc1d722e4, 0x00006100, 0x0cc00004, 0x0000c980, 0x49d3496a, 0x0000f004,
+ 0x00004a80, 0x00007200, 0x81000000, 0x000080d6, 0x40400c05, 0x0000c489,
+ 0xb6800c05, 0x000092ab, 0x45201405, 0x0000c489, 0xa0801c05, 0x0000928c,
+ 0x9fc00c04, 0x00007892, 0xba400000, 0x00002583, 0x08003a11, 0x00006106,
+ 0x08003004, 0x0000b206, 0x80000211, 0x00006582, 0x0b003210, 0x0000a106,
+ 0x03c04000, 0x0000e191, 0x04400d00, 0x00004090, 0x30387011, 0x0000a090,
+ 0x000049fb, 0x00007008, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x84801a0e, 0x00001280, 0x80001212, 0x00001582, 0x8380120e, 0x00009790,
+ 0x00004a00, 0x00007009, 0x03c00c0f, 0x00009183, 0x03c00000, 0x00001989,
+ 0x000049e5, 0x0000f011, 0x2ff87611, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x0800700e, 0x00006206, 0x0b007212, 0x00003106, 0x0000200e, 0x00001502,
+ 0x80108212, 0x00001502, 0x0000040f, 0x00009583, 0x000049fb, 0x00007010,
+ 0x000049fb, 0x00007010, 0x000049fb, 0x00007010, 0x2ff82611, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x00000804, 0x00009582, 0x01000800, 0x00001989,
+ 0x000049fc, 0x00007009, 0x01000000, 0x00001981, 0x0c803006, 0x00006100,
+ 0x00003833, 0x00006106, 0x9fc00c04, 0x00007892, 0xba400000, 0x00002583,
+ 0x000049ec, 0x00007200, 0x03c00800, 0x00001981, 0x08004a11, 0x0000e106,
+ 0x0800400e, 0x00003206, 0x80000211, 0x00006582, 0x0b004210, 0x00002106,
+ 0x03c04000, 0x0000e191, 0x04401d00, 0x0000c090, 0x30382011, 0x0000a090,
+ 0x00004a22, 0x0000f008, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x84801a04, 0x00001280, 0x80001212, 0x00001582, 0x81001204, 0x00009790,
+ 0x00004a27, 0x00007009, 0x03c00c0f, 0x00009183, 0x03c00000, 0x00001989,
+ 0x00004a0c, 0x00007011, 0x2ff82611, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x08002004, 0x00006206, 0x0b002212, 0x00003106, 0x00007004, 0x00001502,
+ 0x80108212, 0x00001502, 0x0000040f, 0x00009583, 0x00004a22, 0x0000f010,
+ 0x00004a22, 0x0000f010, 0x00004a22, 0x0000f010, 0x2ff82611, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x00000804, 0x00009582, 0x01000800, 0x00001989,
+ 0x00004a23, 0x0000f009, 0x01000000, 0x00001981, 0x0c804008, 0x00006100,
+ 0x00004833, 0x0000e106, 0x9fc00c04, 0x00007892, 0xba400000, 0x00002583,
+ 0x00004a13, 0x00007200, 0x03c00800, 0x00001981, 0x08005a12, 0x00006106,
+ 0x0800500e, 0x0000b206, 0x80000212, 0x00006582, 0x0b005213, 0x0000a106,
+ 0x03c04000, 0x0000e191, 0x04402d00, 0x0000c090, 0x30382011, 0x0000a090,
+ 0x00004a49, 0x00007008, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x84801a04, 0x00001280, 0x80001212, 0x00001582, 0x81001204, 0x00009790,
+ 0x00004a4e, 0x00007009, 0x03c00c0f, 0x00009183, 0x04000000, 0x00009989,
+ 0x00004a33, 0x00007011, 0x2ff82611, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x08002004, 0x00006206, 0x0b00220f, 0x00003106, 0x00007004, 0x00001502,
+ 0x80109a0f, 0x00001502, 0x00000410, 0x00001583, 0x00004a49, 0x00007010,
+ 0x00004a49, 0x00007010, 0x00004a49, 0x00007010, 0x2ff82611, 0x00002000,
+ 0xffffffff, 0x00007fa7, 0x00000804, 0x00009582, 0x01000800, 0x00001989,
+ 0x00004a4a, 0x0000f009, 0x01000000, 0x00001981, 0x0c80500a, 0x00006100,
+ 0x00005833, 0x00006106, 0x9fc00c04, 0x00007892, 0xba400000, 0x00002583,
+ 0x00004a3a, 0x0000f200, 0x04000800, 0x00009981, 0x08006a11, 0x00006106,
+ 0x0800600e, 0x0000b206, 0x80000211, 0x00006582, 0x0b00620f, 0x00002106,
+ 0x04004000, 0x00006191, 0x04803d00, 0x00004090, 0x30382012, 0x0000a090,
+ 0x00004a70, 0x00007008, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
+ 0x84401a04, 0x00001280, 0x80001211, 0x00001582, 0x81001204, 0x00009790,
+ 0x00004a75, 0x0000f009, 0x04000c10, 0x00009183, 0x04400000, 0x00001989,
+ 0x00004a5a, 0x00007011, 0x2ff82612, 0x0000a080, 0xffffffff, 0x00007fa7,
+ 0x08002004, 0x00006206, 0x0b002210, 0x0000b106, 0x00007004, 0x00001502,
+ 0x80107a10, 0x00001502, 0x00000411, 0x00009583, 0x00004a70, 0x00007010,
+ 0x00004a70, 0x00007010, 0x00004a70, 0x00007010, 0x2ff88e12, 0x0000a000,
+ 0xffffffff, 0x00007fa7, 0x00000811, 0x00001582, 0x01000800, 0x00001989,
+ 0x00004a71, 0x00007009, 0x01000000, 0x00001981, 0x0c80600c, 0x00006100,
+ 0x00006833, 0x00006106, 0x9fc00c04, 0x00007892, 0xba400000, 0x00002583,
+ 0x00004a61, 0x00007200, 0x04400800, 0x00001981, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008860ec, 0x0000d780,
+ 0x00006000, 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x01400c05, 0x00009081, 0x00395c05, 0x00009503,
+ 0xb9183b07, 0x00009920, 0x000049d5, 0x00007029, 0xffffffff, 0x00007f86,
+ 0x00000000, 0x00007083, 0x00042005, 0x00009582, 0x00042805, 0x00001582,
+ 0x00040805, 0x00009582, 0x00004aa5, 0x0000f008, 0x00004aa8, 0x00007008,
+ 0x00004a99, 0x0000f010, 0xc0000f2b, 0x0000e583, 0x0f814c04, 0x00002002,
+ 0x8380222b, 0x0000e080, 0x84403a2d, 0x00008880, 0x04000000, 0x00007900,
+ 0x001f8000, 0x00008980, 0x81408000, 0x0000e188, 0x8140e000, 0x0000c990,
+ 0x83907404, 0x00009000, 0x84108a0e, 0x00001000, 0x4a9949cc, 0x0000f404,
+ 0x04102810, 0x00006901, 0x203886ec, 0x00005600, 0x00393800, 0x00008000,
+ 0x0fc00000, 0x00006180, 0x0f4000c8, 0x00004980, 0x8f901202, 0x0000e100,
+ 0x0000183f, 0x0000e106, 0x0f001000, 0x00007900, 0x00004000, 0x00000980,
+ 0x000878ec, 0x00005780, 0x00006000, 0x00008080, 0xcf981302, 0x00006100,
+ 0xc000183f, 0x00006006, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
+ 0x00004a99, 0x0000f200, 0x200006ec, 0x0000d680, 0x00391a00, 0x00003d00,
+ 0x8100421d, 0x0000e080, 0x0f80cc05, 0x0000a002, 0x81102405, 0x0000e000,
+ 0x0240b817, 0x00000900, 0x81403e1d, 0x0000e080, 0x8210ca19, 0x0000c900,
+ 0x4a993d42, 0x0000f500, 0xc1c00c01, 0x000080df, 0x41000000, 0x0000e181,
+ 0xc2102a04, 0x0000c000, 0x0f04a409, 0x00006000, 0x0d04a408, 0x00003006,
+ 0x57003408, 0x000043b1, 0x00804c08, 0x00000098, 0xc3204408, 0x0000c8a8,
+ 0x50405408, 0x0000828a, 0x00001c08, 0x00001583, 0x8200c000, 0x000099a0,
+ 0x00004ae1, 0x00007021, 0x00000c08, 0x00009583, 0x8200a000, 0x00009990,
+ 0x00004ae1, 0x00007011, 0x00004ae0, 0x0000f000, 0x00005c08, 0x00009583,
+ 0x82012000, 0x0000e188, 0x01400000, 0x0000c990, 0x01c00000, 0x0000f910,
+ 0x00010040, 0x00008980, 0x00004ae1, 0x0000f008, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02e38800, 0x0000f900, 0x003816e2, 0x00008980,
+ 0xc1800008, 0x000080b4, 0x81c01000, 0x0000e180, 0x08001a08, 0x00006106,
+ 0x82200500, 0x00008022, 0x02401002, 0x00009900, 0x4ae01ff4, 0x00007100,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02dee000, 0x0000f900, 0x000c684e, 0x00000980,
+ 0x01800000, 0x00006180, 0x08001a08, 0x00006106, 0x01400000, 0x000080f4,
+ 0x00004ace, 0x00007400, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180,
+ 0x02401002, 0x0000c900, 0x00004ae1, 0x0000f200, 0x82010000, 0x00009980,
+ 0x00004ae1, 0x0000f200, 0x82026000, 0x00009980, 0x8201a000, 0x00009980,
+ 0x00000409, 0x00009583, 0x2c24ea08, 0x00001600, 0x854588b0, 0x00001000,
+ 0x851ce215, 0x0000e000, 0x82003c9d, 0x00008880, 0x8510a79d, 0x0000e010,
+ 0x85504215, 0x00000000, 0x855ce215, 0x00009000, 0x02002494, 0x00006283,
+ 0x8550af9d, 0x00008010, 0x0200246c, 0x00001283, 0xffffffff, 0x00007f86,
+ 0x00004b08, 0x0000f010, 0x00004b08, 0x0000f010, 0x02c0000a, 0x0000e180,
+ 0x82901202, 0x00004900, 0x02001000, 0x0000f900, 0x00008000, 0x00000980,
+ 0x02580800, 0x00007900, 0x000440c0, 0x00008980, 0x04002000, 0x0000f900,
+ 0x00040000, 0x00000980, 0x04400000, 0x0000f900, 0x00010000, 0x00000980,
+ 0xc2981302, 0x0000e100, 0x0000180b, 0x00006106, 0x04800000, 0x00006180,
+ 0x04d0a096, 0x00004100, 0x1b00206c, 0x00009380, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008810ec, 0x00005780,
+ 0x00985900, 0x000080c0, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x00004b09, 0x00007200, 0x02400800, 0x00001981,
+ 0x02400000, 0x00009981, 0x40000d9c, 0x00001583, 0x82009800, 0x00006188,
+ 0x8200f800, 0x00004990, 0x00000409, 0x00009583, 0x85440215, 0x00006190,
+ 0x82005a08, 0x00008180, 0x02c00000, 0x00007900, 0x001f8000, 0x00008980,
+ 0x04001000, 0x00006191, 0x0010a80b, 0x0000e186, 0x04002800, 0x0000e189,
+ 0x0410400b, 0x00006101, 0x00000409, 0x00009583, 0x20385eec, 0x00005600,
+ 0x003cb800, 0x00000000, 0xa8c08000, 0x00006191, 0xa00000a8, 0x0000e413,
+ 0x00004b23, 0x0000f008, 0xc1400fa4, 0x0000e283, 0x00000098, 0x00002401,
+ 0x2a7f80a9, 0x00007900, 0x003ffffe, 0x00008280, 0x00004b2b, 0x00007400,
+ 0x04400800, 0x0000e191, 0x800000a4, 0x0000e411, 0x04400000, 0x00001989,
+ 0xc1400fa4, 0x0000e283, 0xa00000a8, 0x0000a403, 0x2a7f80a9, 0x00007900,
+ 0x003ffffe, 0x00008280, 0x00000898, 0x00006401, 0x800000a4, 0x0000b411,
+ 0x04400000, 0x00006189, 0x04400800, 0x0000c991, 0x02400140, 0x00006180,
+ 0x20000e98, 0x00006400, 0x81400e98, 0x0000e283, 0x5044b809, 0x0000a003,
+ 0x02000160, 0x00006180, 0x8204b809, 0x00006007, 0x26062000, 0x0000e181,
+ 0x82c00000, 0x0000c990, 0x00004b3a, 0x0000f210, 0x82181302, 0x00009900,
+ 0x81402698, 0x00001283, 0x82fffaa4, 0x0000f910, 0x0000000e, 0x00008280,
+ 0x82fffba3, 0x0000f908, 0x0000000e, 0x00008280, 0x02800000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x81400e98, 0x0000e283, 0x0010580a, 0x00002182,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x18c00000, 0x00006180,
+ 0x02c00000, 0x0000c991, 0x02c20000, 0x00006189, 0x00001863, 0x0000e106,
+ 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x00000004, 0x0000e582, 0xc0001863, 0x0000a006,
+ 0x18009000, 0x0000f900, 0x0002b100, 0x00000980, 0x18400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x000810ec, 0x0000d780, 0x00d07600, 0x000000c0,
+ 0x18801002, 0x00006100, 0x600008a8, 0x0000e412, 0x21000000, 0x000088d4,
0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
- 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc,
- 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4,
- 0x27c00000, 0x000089f8, 0x04802475, 0x0000c389, 0x00e02475, 0x00008098,
- 0x0d401475, 0x00004489, 0xe2e01475, 0x00001d9f, 0x00800c75, 0x00004788,
- 0x88803475, 0x0000878f, 0x0e803475, 0x0000c5a9, 0x09203c75, 0x0000888b,
- 0x01e04076, 0x0000f900, 0x00000002, 0x00008082, 0x01800077, 0x00006084,
- 0x02003807, 0x00008900, 0x77e120af, 0x00007404, 0x01c03006, 0x00006100,
- 0x28c09a00, 0x00004980, 0x29384707, 0x00008a14, 0x000004a2, 0x00001583,
- 0x300044af, 0x0000f90a, 0x01c00000, 0x00008000, 0x01000020, 0x0000e190,
- 0x81b71ee3, 0x0000c908, 0x81001000, 0x00001990, 0x0000786a, 0x0000f408,
- 0x0352d800, 0x0000f910, 0x0005a686, 0x00000980, 0x32384006, 0x0000d00c,
- 0x00203800, 0x00000000, 0x03aa7000, 0x00007900, 0x003617ae, 0x00000980,
- 0x000077fe, 0x0000f400, 0x02000000, 0x000080d8, 0x01c00000, 0x00009980,
- 0x77f520c9, 0x00007404, 0x29409800, 0x00007900, 0x00001000, 0x00000980,
- 0x29bbb777, 0x00008a00, 0x00000ca2, 0x00009583, 0x00007803, 0x00007013,
- 0x0352d800, 0x00007900, 0x0005a686, 0x00000980, 0x0380f800, 0x0000f900,
- 0x00261bec, 0x00008980, 0x02000000, 0x000080d8, 0x01c01000, 0x000000d1,
- 0x812514a2, 0x00001901, 0xc1001800, 0x00006181, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x02c01002, 0x00001900, 0x78031bac, 0x00007100,
- 0x307c20af, 0x0000b038, 0x303c04af, 0x00003038, 0x303c16af, 0x00003038,
- 0x307c32af, 0x0000b038, 0x003ff884, 0x00007900, 0x0000007e, 0x00000582,
- 0x307c44af, 0x00003038, 0x307c56af, 0x00003038, 0x30bc60af, 0x00003038,
- 0x30bc72af, 0x00003038, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x0000786c, 0x00007430,
- 0x27800000, 0x000089fc, 0x02042084, 0x00006100, 0x01c00000, 0x0000c998,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x0352d800, 0x00007900,
- 0x0005a686, 0x00000980, 0x03bfc800, 0x0000f900, 0x000c23ba, 0x00008980,
- 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106, 0x00007849, 0x0000f400,
- 0x82781400, 0x0000802c, 0x81001000, 0x0000e180, 0x02042084, 0x00004900,
- 0x782720c9, 0x00007404, 0x283bbf76, 0x00008a18, 0x29409900, 0x00001980,
- 0xfdc00ca2, 0x0000788b, 0x03800001, 0x00008080, 0x20800000, 0x000088cc,
- 0x303c04af, 0x00003038, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
- 0x22000000, 0x000088e4, 0x003ff880, 0x0000f900, 0x0000007e, 0x00000582,
- 0x22800000, 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4,
- 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec,
- 0x27000000, 0x000089f4, 0x0000786c, 0x00007430, 0x27800000, 0x000089fc,
- 0x02040080, 0x00006100, 0x01c00000, 0x0000c998, 0x01000000, 0x00007900,
- 0x0000c040, 0x00000980, 0x0352d800, 0x00007900, 0x0005a686, 0x00000980,
- 0x03bfc800, 0x0000f900, 0x000c23ba, 0x00008980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x82781400, 0x0000802c, 0x81001000, 0x0000e180,
- 0x02040080, 0x00004900, 0x00007802, 0x0000f200, 0x01bff83f, 0x00009980,
- 0x784e20c9, 0x00007404, 0x283bbf76, 0x00008a18, 0x29409c00, 0x00001980,
- 0x00000ca2, 0x00009583, 0x305032af, 0x0000a092, 0x0000786a, 0x0000f413,
- 0xffffffff, 0x00007f86, 0x71e03078, 0x0000e810, 0x000077f7, 0x00007000,
- 0x785720c9, 0x0000f404, 0x283bbf76, 0x00008a18, 0x29409b00, 0x00009980,
- 0x00000ca2, 0x00009583, 0x300034af, 0x00002090, 0x0000786a, 0x0000f413,
- 0xffffffff, 0x00007f86, 0x71e03078, 0x0000e810, 0x000077f7, 0x00007000,
- 0x01000000, 0x00007900, 0x0000c040, 0x00000980, 0x037ef800, 0x00007900,
- 0x000430ca, 0x00000980, 0x03ba9000, 0x00007900, 0x0016f7fa, 0x00008980,
- 0x0203a074, 0x00006100, 0x08001a09, 0x0000e106, 0x01800775, 0x0000009c,
- 0x00007802, 0x0000f400, 0x82600500, 0x00008026, 0x81002800, 0x00006180,
- 0x02c01002, 0x00004900, 0x0000786d, 0x0000f200, 0x82400000, 0x000000e0,
- 0x02400800, 0x00001981, 0x00000409, 0x00009583, 0x200aa6ec, 0x0000d680,
- 0x003b23c9, 0x0000bf10, 0x1a000802, 0x00006190, 0x1a400000, 0x0000c990,
- 0x0000788b, 0x00007008, 0x01800008, 0x00007900, 0x00000200, 0x00000380,
- 0x1c800000, 0x000086f8, 0x1a97f880, 0x00006180, 0x00003072, 0x0000e206,
- 0x81802302, 0x0000e780, 0x1ac00000, 0x00000980, 0x1b18b000, 0x00007900,
- 0x00037240, 0x00000980, 0x1b400000, 0x00007900, 0x00010000, 0x00000980,
- 0x1c401000, 0x00007900, 0x0001c000, 0x00000980, 0x1bc0000a, 0x00006180,
- 0x45103072, 0x00006107, 0x1c000000, 0x0000e180, 0x1cc00004, 0x00004980,
- 0xdb981302, 0x00001900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
- 0xffffffff, 0x00007f86, 0x0090d0ec, 0x00005780, 0x00006003, 0x00008080,
- 0x00007898, 0x00007000, 0x1bc0000a, 0x00006180, 0x9b901202, 0x0000c900,
- 0x1b009000, 0x0000f900, 0x000130c0, 0x00000980, 0x1b400000, 0x00007900,
- 0x00010000, 0x00000980, 0xdb981302, 0x00006100, 0x0000186f, 0x0000e106,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x0088d8ec, 0x0000d780, 0x00c06740, 0x000081c0, 0xffffffff, 0x00007fa7,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xb9182304, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x17c00000, 0x00006180,
- 0x17801002, 0x00004900, 0x18000000, 0x00006180, 0x0000185f, 0x0000e106,
- 0x17009000, 0x0000f900, 0x00047080, 0x00000980, 0x17400000, 0x00007900,
- 0x00018008, 0x00000980, 0x0010b8ec, 0x00005780, 0x00c06640, 0x000007c0,
- 0x1840a000, 0x0000e180, 0xc000185f, 0x00006006, 0x18800000, 0x000086cc,
- 0x193acf58, 0x00000614, 0x19badf5a, 0x0000061c, 0x1a000000, 0x000086e4,
- 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc,
- 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc, 0x1d000000, 0x000087d4,
- 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec,
- 0x1f000000, 0x000087f4, 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4,
- 0x20800000, 0x000088cc, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc,
- 0x22000000, 0x000088e4, 0x22800000, 0x000088ec, 0x23000000, 0x000088f4,
- 0x23800000, 0x000088fc, 0x24000000, 0x000089c4, 0x24800000, 0x000089cc,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x26800000, 0x000089ec, 0x00000001, 0x00007480, 0x27000000, 0x000089f4,
- 0x27c00000, 0x000089f8, 0x01000000, 0x000080d4, 0x01800000, 0x000080dc,
- 0x02000000, 0x000080e4, 0x02800000, 0x000080ec, 0x0b001e59, 0x00006281,
- 0x03000000, 0x00000981, 0x1b001e59, 0x0000448d, 0xbee00c2c, 0x00009e89,
- 0x1e20650e, 0x0000c48f, 0xe2e01d0e, 0x00009e89, 0x1e24070c, 0x0000448f,
- 0xc6e0240f, 0x00001e91, 0x3b00440f, 0x0000f88e, 0x4bc00000, 0x00003c87,
- 0x00001004, 0x0000ec02, 0x34801d0e, 0x0000f88e, 0x03c00001, 0x00000080,
- 0xffffffff, 0x00007f86, 0xcb04070c, 0x00001283, 0x000078d2, 0x00007200,
- 0x00001008, 0x00006c12, 0x000078d2, 0x00007400, 0x4b00650e, 0x0000e283,
- 0x20001004, 0x00002402, 0x20001008, 0x0000ec12, 0x0b001c08, 0x00009281,
- 0x0000142c, 0x00009583, 0x0b00440f, 0x00001283, 0xffffffff, 0x00007f86,
- 0x000078f1, 0x0000f010, 0x000078ec, 0x0000f008, 0x0b006408, 0x00009281,
- 0x0000442c, 0x00009583, 0x000078f1, 0x0000f013, 0x78ed789e, 0x0000f100,
- 0x000078f2, 0x0000f400, 0x0b404800, 0x0000e181, 0x7000080c, 0x00006500,
- 0x8b021000, 0x00001980, 0x4b07f854, 0x000002f6, 0xc0005e03, 0x0000e081,
- 0x02105001, 0x0000a586, 0x0baf2000, 0x0000f900, 0x001f8008, 0x00000980,
- 0x0411602e, 0x0000e101, 0x00080001, 0x0000b501, 0xc0000801, 0x0000ec01,
- 0x203976ec, 0x0000d600, 0x003ac000, 0x00000000, 0x80616c2d, 0x00001901,
- 0x008806ec, 0x00005f80, 0x00985840, 0x00008584, 0x00000c05, 0x0000e583,
- 0x23062000, 0x00008980, 0x01000800, 0x00006189, 0x01003000, 0x0000c991,
- 0x00000405, 0x00006583, 0x02c00000, 0x00000980, 0x63202404, 0x00006101,
- 0x0000180b, 0x00006106, 0x81000000, 0x00006180, 0xc000180b, 0x0000e006,
- 0x01000800, 0x00006191, 0x82901202, 0x00004900, 0x40000505, 0x00006583,
- 0xc2981302, 0x00000900, 0x22000000, 0x00006180, 0x1460208c, 0x0000e001,
- 0x41000000, 0x000088e4, 0x01000800, 0x00006191, 0x22800000, 0x0000c980,
- 0xc0000305, 0x00006582, 0x23400000, 0x00008980, 0x23800000, 0x00006180,
- 0x0420208c, 0x0000e001, 0x41000000, 0x000088fc, 0x81000800, 0x00006190,
- 0x24000000, 0x00004980, 0x000810ec, 0x0000d780, 0x00c066c0, 0x00000180,
- 0x02009000, 0x00007900, 0x0002b200, 0x00000980, 0x02400000, 0x0000f900,
- 0x00018030, 0x00008980, 0x24400000, 0x0000e180, 0x24a0208c, 0x0000e001,
- 0x001910ec, 0x0000d780, 0x00006001, 0x00000080, 0x24800000, 0x000089cc,
- 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4,
- 0x00000001, 0x00007480, 0x1c800000, 0x000087cc, 0x22c42084, 0x00009900,
- 0x06000002, 0x000001e4, 0x06800000, 0x000081ec, 0x07000000, 0x000081f4,
- 0x07800000, 0x000081fc, 0x01001c22, 0x00006283, 0x08000000, 0x00008981,
- 0x80000642, 0x00009583, 0xffffffff, 0x00007f86, 0x0000793c, 0x0000f008,
- 0x0000793c, 0x0000f008, 0x02105001, 0x00006586, 0x70004820, 0x00003500,
- 0x0698001a, 0x0000e380, 0x000ff801, 0x00002501, 0x00007958, 0x00007400,
- 0xc0005e03, 0x0000e081, 0xc0000801, 0x0000a401, 0x816f2004, 0x00006180,
- 0x8102a000, 0x0000c980, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec,
- 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4,
- 0x79451aef, 0x0000f500, 0x28800000, 0x00008acc, 0x01800000, 0x00006180,
- 0x01ffe01f, 0x0000c980, 0x00001406, 0x0000e583, 0x02105001, 0x0000a586,
- 0x8107c800, 0x00006180, 0x00180001, 0x0000e503, 0x01400800, 0x0000e189,
- 0xc0000801, 0x00006401, 0x01400000, 0x00006191, 0x81302204, 0x0000c100,
- 0x80602404, 0x00006101, 0x70004820, 0x0000e508, 0x01200800, 0x000000cd,
- 0xc0006000, 0x0000e181, 0x00002804, 0x00006086, 0x795678fe, 0x0000f500,
- 0x000880ec, 0x0000d780, 0x00005800, 0x00000080, 0x01402004, 0x00009900,
- 0x816b2004, 0x0000e180, 0x81024800, 0x0000c980, 0x01c00000, 0x00007900,
- 0x001f8000, 0x00008980, 0x00102807, 0x0000e986, 0x04102007, 0x0000e901,
- 0x20383eec, 0x00005600, 0x003c2000, 0x00008000, 0x008806ec, 0x00005f80,
- 0x00985980, 0x00000584, 0x06000002, 0x000001e4, 0x06800000, 0x000081ec,
- 0x07000000, 0x000081f4, 0x07800000, 0x000081fc, 0x88000000, 0x000089d0,
- 0x25400000, 0x000009d8, 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8,
- 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8, 0x27c00000, 0x00000ac0,
- 0x796e1b4d, 0x0000f500, 0x28400000, 0x00000ac8, 0x28c00000, 0x00001980,
- 0x0000046c, 0x00006583, 0x02105001, 0x0000a586, 0x000810ec, 0x00005788,
- 0x00c066c0, 0x00000180, 0x001910ec, 0x00005788, 0x00006001, 0x00000080,
- 0x812b2004, 0x0000e188, 0x812f2004, 0x00004990, 0x01800000, 0x0000f900,
- 0x001f9240, 0x00000980, 0x000810ec, 0x00005790, 0x00c066c0, 0x00000180,
- 0x00102006, 0x00006186, 0x00180001, 0x0000b503, 0x001910ec, 0x00005790,
- 0x00006001, 0x00000080, 0x02c00000, 0x0000e180, 0x23362000, 0x00004980,
- 0x8107f800, 0x00006180, 0xc0000801, 0x00006401, 0x203836ec, 0x0000d600,
- 0x003c2000, 0x00008000, 0x0000180b, 0x00006106, 0x0000088c, 0x0000b411,
- 0x81242a04, 0x0000e100, 0xc000180b, 0x00002006, 0x02009000, 0x00007900,
- 0x0002b200, 0x00000980, 0x02400000, 0x0000f900, 0x00018030, 0x00008980,
- 0x2000088c, 0x00006409, 0x2000088c, 0x00003411, 0x000880ec, 0x0000d780,
- 0x00005800, 0x00000080, 0x02a81402, 0x00008028, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0,
- 0x1c400000, 0x000007c8, 0x1ce06000, 0x000000c3, 0x1b000000, 0x00006180,
- 0x22c42084, 0x00004908, 0x22c42084, 0x00006110, 0xc0c00800, 0x0000c980,
- 0x80602404, 0x00001901, 0x008806ec, 0x00005f80, 0x00985980, 0x00000584,
- 0x0b001e59, 0x00006281, 0x01000000, 0x00000980, 0x00000c2c, 0x00006583,
- 0x01400000, 0x00008980, 0x01800000, 0x00006180, 0x20001004, 0x0000640a,
- 0x01c00000, 0x000000e0, 0x000079d8, 0x00007408, 0x02400000, 0x000000e8,
- 0x83000000, 0x000000ec, 0x8b001e59, 0x00009283, 0x84989312, 0x0000e108,
- 0x00001004, 0x0000e40a, 0x17c00000, 0x0000e188, 0x2000080a, 0x0000e40a,
- 0x000079d8, 0x0000f010, 0xcb01870d, 0x0000e283, 0x0b001800, 0x00008981,
- 0x0b000000, 0x0000e189, 0x0000185f, 0x0000e106, 0x0008b8ec, 0x00005780,
- 0x00c06600, 0x00000180, 0x1a200007, 0x0000e180, 0xc000185f, 0x00006006,
- 0x17009000, 0x0000f900, 0x0002b200, 0x00000980, 0x17400000, 0x00007900,
- 0x00018030, 0x00008980, 0x97901202, 0x0000e100, 0x41216006, 0x0000e002,
- 0x0018d0ec, 0x00005780, 0x00006001, 0x00000080, 0x17800502, 0x000086a4,
- 0x1a800000, 0x000006f0, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0,
- 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180, 0x1ac2c058, 0x00004900,
- 0x18000000, 0x000086c4, 0x18800000, 0x000086cc, 0x19000000, 0x000086d4,
- 0x19800000, 0x000086dc, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
- 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x1f000000, 0x000087f4,
- 0x1f800000, 0x000087fc, 0x20000000, 0x000088c4, 0x20800000, 0x000088cc,
- 0x000079d9, 0x00007400, 0x0b47f000, 0x00006181, 0xda189312, 0x00004900,
- 0x8b028800, 0x00009980, 0x8b42a0ff, 0x000002f1, 0xc0c82000, 0x00006180,
- 0x02105001, 0x00006586, 0x0baf2000, 0x0000f900, 0x001f8008, 0x00000980,
- 0x0411602e, 0x0000e101, 0x00180001, 0x0000b503, 0xc0007800, 0x0000e181,
- 0xc0000801, 0x00006401, 0x203976ec, 0x0000d600, 0x003ac000, 0x00000000,
- 0x000800ec, 0x00005780, 0x00985840, 0x00000580, 0x80616c2d, 0x00001901,
- 0x008066ec, 0x0000df80, 0x00005801, 0x00000084, 0x01400000, 0x0000f900,
- 0x001f8000, 0x00008980, 0xffc00000, 0x00006180, 0x02105001, 0x00006586,
- 0x001d4805, 0x00006186, 0x00180001, 0x0000b503, 0x04255805, 0x0000e101,
- 0x00001018, 0x0000b402, 0xc0000801, 0x00006401, 0x40001018, 0x00003402,
- 0x20382eec, 0x0000d600, 0x003c2000, 0x00008000, 0x40e08405, 0x000000c3,
- 0x807d5fab, 0x00001901, 0x008806ec, 0x00005f80, 0x00985980, 0x000007c4,
- 0x79f9635d, 0x00007100, 0x79fa79e8, 0x00007100, 0x0667f819, 0x00007900,
- 0x003ffffe, 0x00008280, 0x60000018, 0x0000e403, 0xc0000019, 0x0000b402,
- 0xc0000018, 0x0000e403, 0x60000019, 0x00003403, 0x81018621, 0x00006283,
- 0x2000001e, 0x0000a403, 0x7a0779e8, 0x00007500, 0x80000098, 0x0000e403,
- 0xa0000019, 0x00003403, 0x6000081f, 0x00006413, 0xa0001018, 0x00003412,
- 0x80004ea8, 0x00001583, 0x00000001, 0x0000708b, 0x80000ea8, 0x00009583,
- 0x01003f53, 0x00009299, 0x00000001, 0x000070b1, 0x00001c04, 0x00001583,
- 0x00000001, 0x0000708b, 0x00000c04, 0x00009583, 0x00002404, 0x00001593,
- 0x02000000, 0x00006188, 0x02400000, 0x0000c988, 0x02800000, 0x0000e188,
- 0x02c00000, 0x00004988, 0x00000001, 0x00007090, 0x01001ea8, 0x0000e181,
- 0x25000000, 0x00000980, 0x00000c04, 0x00006583, 0x25400000, 0x00008980,
- 0x25800000, 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec,
- 0x27000000, 0x000089f4, 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4,
- 0x28800000, 0x00008acc, 0x7a2479f8, 0x00007530, 0xeac2a4ff, 0x00008aee,
- 0xaa800000, 0x0000e180, 0xea6f2004, 0x0000c980, 0x7a2579fa, 0x0000f100,
- 0x00000001, 0x0000f080, 0xc1003f53, 0x00001283, 0xc1040720, 0x00006283,
- 0x80000853, 0x0000a40d, 0x2000081e, 0x00006413, 0x8000101f, 0x00003412,
- 0x0a81702e, 0x0000e110, 0x4000081f, 0x0000e413, 0x00007a34, 0x00007008,
- 0x81018621, 0x00006283, 0x0e01702e, 0x00008900, 0xa0001018, 0x00006412,
- 0x6000081f, 0x00003413, 0x0d400800, 0x00001981, 0xa0001018, 0x0000ec03,
- 0x4000101d, 0x00006402, 0xa000501c, 0x00003406, 0xc001501d, 0x00006482,
- 0xc000101c, 0x0000b403, 0x00000001, 0x00007480, 0x113df844, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x0681801a, 0x0000e380, 0x6000101d, 0x0000a403,
- 0x01003f53, 0x00006281, 0x8000101a, 0x00002402, 0x00000c04, 0x00006583,
- 0xeac7f800, 0x00008981, 0xea6f2004, 0x0000e180, 0x2ac2a000, 0x0000c981,
- 0x00007a46, 0x00007019, 0x7a487a26, 0x0000f100, 0x00007a48, 0x00007000,
- 0x00001c04, 0x00001583, 0x80002053, 0x0000ec0d, 0x7a4979e8, 0x0000f100,
- 0x02c00000, 0x0000e180, 0x82901202, 0x00004900, 0xc2981302, 0x0000e100,
- 0x0000180b, 0x00006106, 0x02009000, 0x00007900, 0x0002b200, 0x00000980,
- 0x02400000, 0x0000f900, 0x00018030, 0x00008980, 0x000810ec, 0x0000d780,
- 0x00c066c0, 0x00000180, 0x22200005, 0x0000e180, 0xc000180b, 0x0000e006,
- 0x22400000, 0x000008e8, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc,
- 0x24000000, 0x000089c4, 0x24800000, 0x000089cc, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000, 0x000087cc,
- 0x25000000, 0x000089d4, 0x25800000, 0x000089dc, 0x26000000, 0x000089e4,
- 0x26800000, 0x000089ec, 0x27000000, 0x000089f4, 0x27800000, 0x000089fc,
- 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc, 0x22c42084, 0x0000e100,
- 0x2ac01cab, 0x0000c181, 0xeac00fab, 0x00001181, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009910ec, 0x00005780,
- 0x00006001, 0x00000080, 0x00000001, 0x0000f080, 0x0a029c05, 0x0000e804,
- 0x00000405, 0x00009583, 0x00007a76, 0x0000700b, 0x00007a7b, 0x0000f400,
- 0x00001c05, 0x00009583, 0x81847000, 0x00006188, 0x80002053, 0x0000640d,
- 0x01400ea8, 0x0000e181, 0x80000853, 0x00002405, 0x00001405, 0x00001583,
- 0x81849000, 0x000019b0, 0x7a7b63f5, 0x00007119, 0x814010ec, 0x0000d684,
- 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780,
- 0x00000000, 0x00008080, 0x4000101d, 0x00006402, 0xa000501c, 0x00003406,
- 0x14603406, 0x0000e101, 0xc001501d, 0x00006482, 0xd4583306, 0x00006100,
- 0xc000101c, 0x0000e403, 0x113df844, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x82283051, 0x00006002, 0x6000101d, 0x00003403, 0x0681801a, 0x00001380,
- 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x7a8e7a49, 0x0000f100,
- 0x800026a8, 0x00009583, 0x800006ab, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00007a96, 0x0000f010, 0x00007a99, 0x0000f010, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x7a9679f8, 0x0000f100, 0x814000ec, 0x00005684,
- 0x00000002, 0x00008480, 0x7a9979fa, 0x00007100, 0x7a9a79e8, 0x00007100,
- 0x00156622, 0x7a9a1bf3, 0x0000f004, 0x00000020, 0x001e1c72, 0x001e3a9b,
- 0x00000030, 0x001e1feb, 0x001e3943, 0x001e3be1, 0x00000070, 0x001e3943,
- 0x001e8a31, 0x001e22ea, 0x001e22a3, 0x001e22b7, 0x001e38c4, 0x001e22cb,
- 0x00000020, 0x001e38b4, 0x00002584, 0x00000020, 0x001e3744, 0x001e36e5,
- 0x00000060, 0x00028593, 0x00027feb, 0x001e88d1, 0x00127def, 0x00027f7c,
- 0x00027f7c, 0x00000020, 0x000286f0, 0x000286c1, 0x00000020, 0x000405a6,
- 0x00040fa1, 0x00000030, 0x00040f60, 0x00040fec, 0x00040fa1, 0x00000030,
- 0x00040f60, 0x00040f61, 0x00040f61, 0x00000030, 0x00040f60, 0x00041043,
- 0x00040fa1, 0x00000020, 0x000616d7, 0x0006182a, 0x00000030, 0x0012442b,
- 0x00123f29, 0x00084164, 0x00000020, 0x00123f29, 0x00123eb8, 0x00000030,
- 0x000a7ad7, 0x000a7d51, 0x000a7d2d, 0x00000030, 0x00127498, 0x000c72ac,
- 0x000c7098, 0x00000030, 0x00127498, 0x000c6776, 0x000c7098, 0x00000030,
- 0x00127498, 0x000c7960, 0x000c7098, 0x00000030, 0x00127498, 0x001279a1,
- 0x001279a1, 0x00000030, 0x00127498, 0x001278ca, 0x001278ca, 0x00000060,
- 0x0001000a, 0x000e1208, 0x58a0ccc7, 0x00000000, 0x010201fe, 0x00400804,
- 0x00000020, 0x01560008, 0x00000018, 0x000000e0, 0xffffffdf, 0x00000fff,
- 0xc3fc81e1, 0x00000fff, 0xf7001ff3, 0x00000fff, 0x9ffc00ff, 0x00000fff,
- 0xee000003, 0x00000fff, 0xfefff003, 0x00000fff, 0xee000003, 0x00000fff,
- 0x00010012, 0x001e1f35, 0x000a3dc0, 0xffffffff, 0x00007f86, 0x00011ec9,
- 0x0000f004, 0x01402470, 0x0000e283, 0x02400120, 0x00008980, 0x02000140,
- 0x0000e180, 0x5043b809, 0x0000e003, 0x02800000, 0x00006180, 0x8203b809,
- 0x0000e007, 0x00000016, 0x00007410, 0x02c00000, 0x0000e180, 0x0000000a,
- 0x0000e592, 0x82181302, 0x0000e100, 0x01400000, 0x00004991, 0x01460470,
- 0x00001281, 0x00020405, 0x0000e583, 0x01420000, 0x00008981, 0x847ffb7b,
- 0x00007908, 0x0000000e, 0x00008280, 0x847ffa7c, 0x00007910, 0x0000000e,
- 0x00008280, 0xffffffff, 0x00007f86, 0x0010880a, 0x0000e982, 0x00000001,
- 0x00007480, 0xc2880000, 0x0000e180, 0x0000080b, 0x00006401, 0x82a02c05,
- 0x00009901, 0x1b000000, 0x000086f8, 0x6783806c, 0x0000e000, 0x2003806e,
- 0x0000b000, 0x18000000, 0x00006180, 0x0743806c, 0x00006004, 0x18400000,
- 0x0000e180, 0x3743806c, 0x00006002, 0x18800000, 0x000086cc, 0x19000000,
- 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4, 0x00000001,
- 0x00007480, 0x1a800000, 0x000086ec, 0x1b40070f, 0x000086bc, 0x17c00000,
- 0x00006180, 0x01460470, 0x00004281, 0x17400000, 0x00007900, 0x00018030,
- 0x00008980, 0x00020405, 0x0000e583, 0x0000185f, 0x00002106, 0x17009000,
- 0x0000f900, 0x00025200, 0x00008980, 0x00000001, 0x00007480, 0xc000185f,
- 0x00006006, 0xd000085d, 0x0000340c, 0x17801002, 0x00001900, 0x1c387f08,
- 0x0000071c, 0x41000d70, 0x00006283, 0x1e008010, 0x00000900, 0x1e789711,
- 0x00000728, 0x1ef8a713, 0x00000730, 0x1f78b715, 0x00000738, 0x1ff8c717,
- 0x00000800, 0x2078d719, 0x00000808, 0x20f8e71b, 0x00000810, 0x00000047,
- 0x0000f410, 0x2178f71d, 0x00000818, 0x21c0f81f, 0x00009900, 0x00410002,
- 0x0000f100, 0x00420028, 0x00007100, 0x0043001a, 0x00007100, 0x000810ec,
- 0x0000d780, 0x00d075c0, 0x000082c0, 0x0080f6ec, 0x0000df80, 0x00007001,
- 0x00000084, 0x02400120, 0x00006180, 0x02000140, 0x0000c980, 0x02800000,
- 0x0000f900, 0x00001000, 0x00000980, 0x02c00020, 0x00006180, 0x5043b809,
- 0x0000e003, 0x00510028, 0x00007500, 0x82181302, 0x0000e100, 0x8203b809,
- 0x0000e007, 0xc2b3e67c, 0x00001901, 0x0052001a, 0x00007100, 0x000810ec,
- 0x0000d780, 0x00d075c0, 0x000082c0, 0x0080f6ec, 0x0000df80, 0x00007001,
- 0x00000084, 0x0dc38404, 0x00006804, 0x00000c04, 0x00009583, 0x00000c04,
- 0x00009583, 0xffffffff, 0x00007f86, 0x00000095, 0x00007008, 0x0000006b,
- 0x00007028, 0x00001c04, 0x00001583, 0xc0c00000, 0x0000e188, 0x00003000,
- 0x0000650c, 0xc0001000, 0x0000e189, 0x01000000, 0x00004988, 0x00000000,
- 0x0000f090, 0x00400000, 0x00007900, 0x00040010, 0x00008980, 0x01400000,
- 0x00006180, 0xc0000007, 0x0000e606, 0x80401000, 0x00006181, 0xc0001807,
- 0x0000e006, 0x81403000, 0x00001981, 0x009006ec, 0x00005f80, 0x00006000,
- 0x00000084, 0x1b800000, 0x000006c4, 0x18800000, 0x0000e180, 0x08003b6e,
- 0x00006106, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000,
- 0x000006e0, 0x1a400000, 0x000006e8, 0x1ac00000, 0x000086f0, 0x1b400000,
- 0x0000e180, 0x18038871, 0x0000c900, 0x1bc03006, 0x00009900, 0x17c00000,
- 0x00006180, 0x02400120, 0x00004980, 0x0000185f, 0x0000e106, 0x00003000,
- 0x0000b504, 0x000810ec, 0x0000d780, 0x00d075c0, 0x000082c0, 0x00400000,
- 0x00007900, 0x00040010, 0x00008980, 0x5043b809, 0x0000e003, 0xc0000007,
- 0x0000b606, 0x02000140, 0x0000e180, 0xc000185f, 0x00006006, 0x01600000,
- 0x000000cd, 0x02800000, 0x0000f900, 0x00004000, 0x00000980, 0x17009000,
- 0x0000f900, 0x00025240, 0x00000980, 0x17400000, 0x00007900, 0x00018030,
- 0x00008980, 0x0000f0ec, 0x0000d780, 0x00007001, 0x00008080, 0x8203b809,
- 0x0000e007, 0xc0001807, 0x0000b006, 0x02c00000, 0x0000e180, 0x17801002,
- 0x00004900, 0x01201000, 0x000080c3, 0x80400800, 0x00006181, 0x82181302,
- 0x0000c900, 0x81400000, 0x00001981, 0x009006ec, 0x00005f80, 0x00006000,
- 0x00000084, 0x81004610, 0x00006283, 0x1b800000, 0x00000980, 0x18000000,
- 0x00006180, 0x08003b6e, 0x00006106, 0x18400001, 0x000086c8, 0x18c00000,
- 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x1a400000,
- 0x000006e8, 0x00000076, 0x00007408, 0x1ac00000, 0x000086f0, 0x1b400000,
- 0x0000e180, 0x1bc03006, 0x0000c900, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x029d5000, 0x0000f900, 0x0029ae5c, 0x00008980, 0x02f69000,
- 0x00007900, 0x003b2a6e, 0x00000980, 0x03400000, 0x0000e180, 0x08001a08,
- 0x00006106, 0x01800000, 0x000000f0, 0x00af1e83, 0x00007500, 0x82200500,
- 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x00000001,
- 0x0000f080, 0x08400060, 0x00006180, 0x08000080, 0x00004980, 0x08800000,
- 0x0000f900, 0x00004000, 0x00000980, 0x8203e021, 0x00006007, 0x0038b822,
- 0x00003182, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980, 0x29d08800,
- 0x0000f900, 0x000a2dce, 0x00000980, 0x08c00000, 0x0000e180, 0x5043e021,
- 0x00006003, 0x00bf1eba, 0x0000f500, 0x2a802100, 0x00000ae4, 0x88301002,
- 0x00008a16, 0x09c00000, 0x00006180, 0x0c010c0b, 0x0000e080, 0x09009000,
- 0x0000f900, 0x00001b40, 0x00000980, 0x00001827, 0x0000e106, 0x0c010f24,
- 0x00003080, 0x09400000, 0x00007900, 0x00018030, 0x00008980, 0x29860000,
- 0x0000f900, 0x001f2252, 0x00008980, 0x29d3e000, 0x00007900, 0x000a2dce,
- 0x00000980, 0x89901202, 0x0000e100, 0xc0001827, 0x00006006, 0x00d01eba,
- 0x0000f500, 0x09900502, 0x00000aa8, 0xe978100b, 0x00000a26, 0x01401000,
- 0x00006181, 0x0bc0bc0b, 0x0000e000, 0x02a05c05, 0x0000e101, 0x1d000000,
- 0x00008980, 0x82c00fe2, 0x0000e080, 0x0c00bc05, 0x0000e000, 0x79605c0b,
- 0x0000a081, 0x001040ec, 0x0000d780, 0x00d07540, 0x000080c0, 0x1d400000,
- 0x0000e180, 0x00003074, 0x0000e206, 0x2a980000, 0x00006180, 0x00003875,
- 0x0000e106, 0xdd23f47e, 0x00006101, 0x0f005c0b, 0x0000e000, 0x02e02c0b,
- 0x0000e301, 0x7582b074, 0x00002001, 0x02a05c0a, 0x0000e101, 0xddd38270,
- 0x00000900, 0x0300140a, 0x00006081, 0x0800300b, 0x0000e206, 0x02800000,
- 0x0000f900, 0x001f0000, 0x00000980, 0xc283850c, 0x0000071e, 0x203856ec,
- 0x0000d600, 0x003be000, 0x00000000, 0x2a63f47e, 0x0000e100, 0x08003a0a,
- 0x00006106, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980, 0x29ef7800,
- 0x0000f900, 0x000a2dce, 0x00000980, 0x00f41eba, 0x0000f500, 0x1da06717,
- 0x00006100, 0xdd505a0b, 0x00008900, 0xa9485e0a, 0x00000a2a, 0x4000057e,
- 0x00009583, 0x000000f8, 0x0000f013, 0x0088eeec, 0x00005f80, 0x00007000,
- 0x00008084, 0x08003005, 0x00006206, 0x00007000, 0x00003504, 0x0003f805,
- 0x00006502, 0x01400000, 0x00008980, 0x02001000, 0x00006189, 0x00004074,
- 0x0000e216, 0x02002000, 0x00006191, 0xc0000875, 0x00006408, 0x00400000,
- 0x00007900, 0x00040000, 0x00000980, 0x001000ec, 0x00005780, 0x00006000,
- 0x00008080, 0xc0001000, 0x00006181, 0x00004875, 0x0000e116, 0x81604408,
- 0x00009901, 0x0088eeec, 0x00005f80, 0x00007000, 0x00008084, 0x0240037d,
- 0x0000f900, 0x00000100, 0x00000380, 0x01400000, 0x00006180, 0x82002302,
- 0x0000c780, 0x02c00000, 0x00007900, 0x0001008c, 0x00008980, 0x20800000,
- 0x00006180, 0x00004805, 0x0000e206, 0x740000ec, 0x00005680, 0x00385800,
- 0x00008100, 0x45104005, 0x0000e107, 0x00004882, 0x0000b206, 0x20580800,
- 0x00007900, 0x00004140, 0x00000980, 0x743828ec, 0x00005600, 0x00082041,
- 0x00008080, 0x40003082, 0x0000e107, 0x08003005, 0x00003206, 0x740060ec,
- 0x00005680, 0x003c0800, 0x00000100, 0x743c10ec, 0x00005600, 0x00000004,
- 0x00000080, 0x21800000, 0x0000e180, 0x00003000, 0x0000e504, 0x740000ec,
- 0x00005680, 0x04002000, 0x00008080, 0xc0001000, 0x00006181, 0x04102886,
- 0x00006187, 0x00400000, 0x00007900, 0x00040040, 0x00008980, 0x743c30ec,
- 0x0000d600, 0x00000000, 0x00008080, 0x01400080, 0x00009980, 0x009006ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x0130233f, 0x0000f500, 0x0ec81800,
- 0x00006180, 0x0e901202, 0x0000c900, 0x0e602c05, 0x00009900, 0x00400c05,
- 0x00004588, 0x84801405, 0x0000038c, 0x01362325, 0x00007404, 0x10009800,
- 0x0000f900, 0x00003c00, 0x00008980, 0x0fb83707, 0x0000033c, 0x0000043a,
- 0x00009583, 0x853f1fe3, 0x00009908, 0x6c00a014, 0x0000a088, 0x0000013f,
- 0x0000f010, 0xffffffff, 0x00007f97, 0x05003c14, 0x00001281, 0x05001414,
- 0x00001181, 0x00000c14, 0x00001583, 0x00000144, 0x0000701b, 0x102c5000,
- 0x0000f900, 0x0037e1a6, 0x00000980, 0x01441f24, 0x0000f500, 0x0ff83f06,
- 0x00000334, 0x0ee1d43a, 0x00001900, 0x30386e41, 0x00002080, 0x30387241,
- 0x0000a080, 0x03c00000, 0x00001980, 0x2c0036e3, 0x00001680, 0x850588b0,
- 0x00009000, 0x0030680f, 0x0000e886, 0x8230680f, 0x0000e886, 0x0200700f,
- 0x00006801, 0x1200700f, 0x0000e801, 0x2200700f, 0x0000e801, 0x3200700f,
- 0x00006801, 0x4200700f, 0x0000e801, 0x5200700f, 0x00006801, 0x0dc00614,
- 0x0000d084, 0x00400000, 0x00008000, 0x0e000014, 0x0000d084, 0x00400000,
- 0x00008000, 0x0e000214, 0x00005084, 0x00400000, 0x00008000, 0x0e000414,
- 0x00005084, 0x00400000, 0x00008000, 0x0e000614, 0x0000d084, 0x00400000,
- 0x00008000, 0x0e787814, 0x0000a884, 0x0dc00614, 0x00005004, 0x00400000,
- 0x00000080, 0x0e000014, 0x00005004, 0x00400000, 0x00000080, 0x0e000214,
- 0x0000d004, 0x00400000, 0x00000080, 0x0e000414, 0x0000d004, 0x00400000,
- 0x00000080, 0x00000178, 0x0000f400, 0x0e000614, 0x00005004, 0x00400000,
- 0x00000080, 0x0e400014, 0x0000d004, 0x00400000, 0x00000080, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x01802004, 0x0000e100, 0x08001a08,
- 0x00006106, 0x02b9f800, 0x00007900, 0x000782f4, 0x00008980, 0x02d79800,
- 0x0000f900, 0x001cdbc6, 0x00000980, 0x03000000, 0x00006180, 0xc2300600,
- 0x0000c901, 0x82381400, 0x00008024, 0x01781e83, 0x0000f500, 0x81c02800,
- 0x00006180, 0x03403006, 0x00004900, 0x01802805, 0x00009900, 0x00000c05,
- 0x0000e583, 0x03000080, 0x00000980, 0x05202c05, 0x0000e109, 0x05003000,
- 0x00004991, 0x03400000, 0x00007900, 0x000200c0, 0x00000980, 0x04400000,
- 0x0000f900, 0x00010000, 0x00000980, 0x04800000, 0x00006180, 0x557f100d,
- 0x0000e003, 0x03838000, 0x0000f900, 0x00004000, 0x00000980, 0x04009000,
- 0x00007900, 0x0000d080, 0x00008980, 0x03c00000, 0x00006180, 0xd360a011,
- 0x00006004, 0x04c00000, 0x0000e180, 0x05402805, 0x00004900, 0x05b83f06,
- 0x0000011c, 0x06384f08, 0x00000124, 0x06b85f0a, 0x0000012c, 0x83281002,
- 0x00008108, 0x05002004, 0x00009900, 0x00801eec, 0x0000df80, 0x00007001,
- 0x00000084, 0x00000039, 0x00006684, 0x0003803a, 0x0000b582, 0x80000039,
- 0x00006487, 0x0000903c, 0x0000b484, 0x0fc00000, 0x00006180, 0x0431e839,
- 0x00006081, 0x86206839, 0x00006007, 0x00000038, 0x00003784, 0x00006c09,
- 0x0000e583, 0x0000183f, 0x00002106, 0x4ea22500, 0x000083f1, 0x557f1039,
- 0x00006003, 0xc000183f, 0x00003006, 0x0ec00000, 0x0000e180, 0x0000003a,
- 0x0000e58a, 0x0fa81402, 0x00008338, 0x10384f08, 0x00000404, 0x10b85f0a,
- 0x0000040c, 0x11386f0c, 0x00000414, 0x11b87f0e, 0x0000041c, 0x12388f10,
- 0x00000424, 0x12b89f12, 0x0000042c, 0x1338af14, 0x00000434, 0x13b8bf16,
- 0x0000043c, 0x1438cf18, 0x00000504, 0x14b8df1a, 0x0000050c, 0x1538ef1c,
- 0x00000514, 0x15b8ff1e, 0x0000051c, 0x16390f20, 0x00000524, 0x16b91f22,
- 0x0000052c, 0x17392f24, 0x00000534, 0x17b93f26, 0x0000053c, 0x18394f28,
- 0x00000604, 0x18b95f2a, 0x0000060c, 0x19396f2c, 0x00000614, 0x19b97f2e,
- 0x0000061c, 0x1a398f30, 0x00000624, 0x1ab99f32, 0x0000062c, 0x1b39af34,
- 0x00000634, 0x1bb9bf36, 0x0000063c, 0x8e31e802, 0x00000321, 0x00000001,
- 0x00007480, 0xcf31ee3d, 0x00001901, 0x0f400000, 0x00007900, 0x00018008,
- 0x00000980, 0x01c2233f, 0x00007500, 0x0ed01800, 0x00006180, 0x0e901202,
- 0x0000c900, 0x0e604c09, 0x00009900, 0x0e000000, 0x000083e4, 0x0f000000,
- 0x000003e8, 0x44204c09, 0x0000c388, 0x00004c09, 0x00000098, 0x3e202409,
- 0x0000c388, 0x00002409, 0x00008098, 0xe1201c09, 0x00004890, 0xc2203409,
- 0x0000818c, 0x44a05c09, 0x00004488, 0x46005c09, 0x000080ac, 0x0b606c09,
- 0x0000c589, 0x85608409, 0x0000008a, 0x00003c09, 0x00001583, 0x0f4071a0,
- 0x00001988, 0x0000022b, 0x00007009, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x01b84f08, 0x00008014, 0x0295a000, 0x00007900, 0x0037e1a8,
- 0x00008980, 0x02d79800, 0x0000f900, 0x001cdbc6, 0x00000980, 0x03000000,
- 0x00006180, 0x08001a08, 0x00006106, 0x81c02800, 0x00006180, 0xc2300600,
- 0x0000c901, 0x022b1e83, 0x0000f500, 0x82381400, 0x00008024, 0x01b83705,
- 0x00008034, 0x2c0036e3, 0x00001680, 0x8e4588b0, 0x00009000, 0x01e52325,
- 0x0000f404, 0x10009800, 0x0000f900, 0x00003600, 0x00008980, 0x0ff85f0a,
- 0x00000338, 0x81000000, 0x00006180, 0x8e000a41, 0x00004080, 0x3079ea38,
- 0x0000a080, 0x30000004, 0x00006c01, 0x80000004, 0x0000ec01, 0xffffffff,
- 0x00007f86, 0x85c1e804, 0x0000e801, 0x0e79e839, 0x0000a084, 0x0000022b,
- 0x0000f403, 0xffffffff, 0x00007f86, 0x0f4071a0, 0x0000e180, 0x3001e804,
- 0x0000e001, 0x04000000, 0x000081c4, 0x04800000, 0x000081cc, 0x05000000,
- 0x000081d4, 0x05800000, 0x000081dc, 0x06000000, 0x000081e4, 0x06800000,
- 0x000081ec, 0x07000000, 0x000081f4, 0x07800000, 0x000081fc, 0x08000000,
- 0x000082c4, 0x08800000, 0x000082cc, 0x09000000, 0x000082d4, 0x09800000,
+ 0x82a05c0b, 0x0000e101, 0x80608411, 0x0000c001, 0xc0200c02, 0x000080cd,
+ 0x02c00020, 0x00001980, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009108ec, 0x0000d780, 0x00d07140, 0x000083c8,
+ 0x00000001, 0x0000f080, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x01002494, 0x00006283, 0x1bc00000, 0x00008980, 0x84048800, 0x00006190,
+ 0x1b00106c, 0x0000c380, 0x01000800, 0x00001980, 0x1be08410, 0x00001901,
+ 0x4b6b4ab2, 0x0000f500, 0x8228806f, 0x0000e802, 0xdbd88310, 0x00009900,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x812ce59c, 0x00009900,
+ 0x4b712bb0, 0x00007500, 0x04002804, 0x00006987, 0x01402004, 0x00009900,
+ 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008806ec, 0x00005f80,
+ 0x00c066c0, 0x000080c4, 0x4b774ab2, 0x00007300, 0x01000000, 0x00009980,
+ 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x4b7b2bf2, 0x00007300,
+ 0x012ce59c, 0x00001900, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86,
+ 0x008806ec, 0x00005f80, 0x00c066c0, 0x000080c4, 0x0100146c, 0x00001283,
+ 0x4b814b75, 0x00007113, 0x02006000, 0x00007900, 0x00008000, 0x00000980,
+ 0x02580800, 0x00007900, 0x00004080, 0x00008980, 0x03400000, 0x00007900,
+ 0x00004062, 0x00008980, 0x81000400, 0x000080e8, 0x02c00004, 0x00006180,
+ 0x03000000, 0x00004980, 0x03800020, 0x00006180, 0x03c00000, 0x00004980,
+ 0xc000039c, 0x00006582, 0x815ce39c, 0x00008900, 0x40000d9c, 0x00001583,
+ 0x0000049c, 0x00009583, 0x00004d3c, 0x00007008, 0x00004d17, 0x00007010,
+ 0x00004d17, 0x00007010, 0x18042084, 0x0000e100, 0x08036463, 0x00006000,
+ 0x1bc00787, 0x00000188, 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8,
+ 0x00000087, 0x00006582, 0x05c00000, 0x00008980, 0x00000463, 0x00009583,
+ 0xffffffff, 0x00007f86, 0x00004be0, 0x0000f010, 0x00004d5d, 0x0000f008,
+ 0xb6ece016, 0x0000e001, 0x000ff812, 0x00003501, 0x043c3785, 0x00008104,
+ 0x849ce39c, 0x00001900, 0x41000800, 0x00001981, 0x0000380b, 0x0000e106,
+ 0x08003a0e, 0x0000b106, 0x02803006, 0x00009900, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780,
+ 0x00006000, 0x00008080, 0x40000d9c, 0x00001583, 0x18c02000, 0x0000e1b0,
+ 0x18c05000, 0x00004998, 0x18000000, 0x0000f900, 0x001e8000, 0x00000980,
+ 0x18e82063, 0x00009100, 0x98c00a63, 0x00001880, 0x04131860, 0x0000e901,
+ 0x203b06ec, 0x0000d600, 0x003cb800, 0x00000000, 0x814000ec, 0x00005684,
+ 0x00000002, 0x00008480, 0x02400140, 0x00006180, 0x81402000, 0x00004980,
+ 0x02800000, 0x0000f900, 0x00001300, 0x00000980, 0x000810ec, 0x0000d780,
+ 0x00007000, 0x00000080, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x02000000, 0x0000e180, 0x18c00d04, 0x00004881, 0x825ce39c, 0x00006100,
+ 0x41400d04, 0x0000c881, 0x0013680a, 0x0000e182, 0x8204b809, 0x00003007,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x003028ec, 0x0000d702,
+ 0x00007000, 0x00000080, 0xc000039c, 0x00006582, 0x82181302, 0x00000900,
+ 0x82005c63, 0x00006081, 0x08003a9f, 0x0000a106, 0x18c0000a, 0x00006180,
+ 0x5044b809, 0x00006003, 0x02c00000, 0x00007900, 0x00020040, 0x00008980,
+ 0x18009000, 0x0000f900, 0x0002b140, 0x00008980, 0x18400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x0018c0ec, 0x0000d780, 0x00d07140, 0x000083c8,
+ 0x86282008, 0x00006085, 0x00001863, 0x0000b106, 0x18b83702, 0x00008938,
+ 0x004000a8, 0x00006180, 0xc0000800, 0x00004981, 0xc0c00000, 0x00006180,
+ 0xc2800800, 0x0000c989, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084,
+ 0x08003a63, 0x0000e906, 0x2dc08663, 0x0000f902, 0x1c600000, 0x00008005,
+ 0x2dc38663, 0x0000a004, 0xffffffff, 0x00007f97, 0x00008006, 0x00009502,
+ 0x003bec71, 0x00009503, 0xffffffff, 0x00007f86, 0x00004d5f, 0x00007010,
+ 0x00004cb8, 0x0000f010, 0x2dc08663, 0x00002005, 0x002bbc71, 0x00001503,
+ 0x00004ce4, 0x00007413, 0x04000c10, 0x00009081, 0x2dd88663, 0x0000a806,
+ 0x04042860, 0x0000e002, 0x0ec3e463, 0x0000a004, 0x18000086, 0x0000e084,
+ 0x0c03bc11, 0x00002000, 0xaae00411, 0x0000c491, 0xb2801c63, 0x000093b2,
+ 0x00003463, 0x0000f890, 0x00000000, 0x00000000, 0x4484057c, 0x0000788f,
+ 0x02400001, 0x00008060, 0x439be36c, 0x00007813, 0x02400001, 0x00008000,
+ 0xab6bab6f, 0x00004413, 0x1a82057d, 0x00001390, 0x00043081, 0x0000781a,
+ 0x00000000, 0x00000000, 0x00043081, 0x00007810, 0x00000000, 0x00000000,
+ 0x00042880, 0x00007830, 0x00000000, 0x00008020, 0x4401057d, 0x00007897,
+ 0x02400001, 0x00008060, 0x92a3077f, 0x00004429, 0x1a83077f, 0x00001310,
+ 0x00c0877e, 0x00004722, 0x88e1057d, 0x0000108c, 0x92a3077f, 0x00004429,
+ 0x1a83077f, 0x00001310, 0x2540807e, 0x0000f82b, 0x02400001, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x41000d7c, 0x00009283, 0x18c02000, 0x00009989,
+ 0x00004c96, 0x00007009, 0x4102057d, 0x00001283, 0x04042885, 0x0000e110,
+ 0x04443086, 0x00004910, 0x000ff812, 0x0000e517, 0xb0000816, 0x00003411,
+ 0x00004c1c, 0x00007008, 0x00004ba3, 0x00007400, 0x04ff0013, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x41000800, 0x00006181, 0x84902a05, 0x00004900,
+ 0x4101057d, 0x0000e283, 0x0c03ec63, 0x0000a080, 0x18c06463, 0x00006080,
+ 0x18404087, 0x00000780, 0x01040881, 0x0000e108, 0x01000000, 0x00004990,
+ 0x1b031fe4, 0x0000e000, 0x83802302, 0x0000c780, 0x18c40080, 0x00006108,
+ 0x18c00000, 0x0000c990, 0x0403d085, 0x00006002, 0x00000016, 0x00002506,
+ 0x05c00061, 0x00007900, 0x00000200, 0x00000380, 0x0283d886, 0x00006004,
+ 0x0c43ec6e, 0x00002000, 0x18c31810, 0x0000e102, 0x45107017, 0x00002107,
+ 0x1800200a, 0x0000e104, 0x00000016, 0x0000a481, 0x0100086c, 0x00006180,
+ 0x1b80946e, 0x00008880, 0x18831804, 0x0000e200, 0x80000016, 0x00002481,
+ 0x01000017, 0x00007900, 0x00000080, 0x00000380, 0x05c37004, 0x00006300,
+ 0x0003e816, 0x0000a106, 0x01031205, 0x0000e000, 0x000ff812, 0x0000a507,
+ 0x0000206c, 0x00006502, 0x0403e015, 0x00002081, 0x04441883, 0x0000e100,
+ 0x0003e816, 0x0000e081, 0x04ff0013, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x04041082, 0x00006100, 0x82c3e016, 0x0000e001, 0x00004ba2, 0x00007420,
+ 0x05031863, 0x0000e100, 0x84902a05, 0x0000c920, 0x05630460, 0x0000e101,
+ 0x8293126c, 0x00004128, 0x07c00061, 0x0000f900, 0x00000200, 0x00000380,
+ 0x18c31a0a, 0x00006002, 0x8493126c, 0x00008100, 0x07800000, 0x00006180,
+ 0x98905205, 0x00004100, 0x4510701f, 0x00006107, 0x0003e81e, 0x0000b106,
+ 0x07400000, 0x00006180, 0x18000060, 0x0000c084, 0x0013106c, 0x0000e502,
+ 0x0003e81e, 0x0000a081, 0x06800000, 0x00007900, 0x00007fc0, 0x00000980,
+ 0x0100001f, 0x0000f900, 0x00000080, 0x00000380, 0x0403e01d, 0x00006081,
+ 0x82c3e01e, 0x00003001, 0x06c00000, 0x00006180, 0x06041082, 0x0000c900,
+ 0x067b1f83, 0x00008130, 0x00004ba3, 0x0000f420, 0x86905205, 0x00006120,
+ 0x07c37004, 0x00008300, 0x07630460, 0x00006101, 0x41001000, 0x0000c9a1,
+ 0x0297286c, 0x0000e200, 0x81536262, 0x00008100, 0x09c00061, 0x00007900,
+ 0x00000200, 0x00000380, 0x18c05063, 0x0000e002, 0x09800000, 0x00000980,
+ 0x45107027, 0x0000e107, 0x0003e826, 0x00003106, 0x09400000, 0x0000e180,
+ 0x18000060, 0x0000c084, 0x0010286c, 0x00006502, 0x0003e826, 0x00002081,
+ 0x08800000, 0x0000f900, 0x00007fc0, 0x00000980, 0x01000027, 0x00007900,
+ 0x00000080, 0x00000380, 0x0403e025, 0x0000e081, 0x82c3e026, 0x0000b001,
+ 0x0680046c, 0x0000028c, 0x083c1f82, 0x00000204, 0x09031863, 0x0000e100,
+ 0x88936262, 0x0000c120, 0x00004ba3, 0x0000f420, 0x09c37004, 0x00006300,
+ 0x09630460, 0x00000901, 0x41001800, 0x000061a1, 0x8893626c, 0x00004928,
+ 0x0bc00061, 0x0000f900, 0x00000200, 0x00000380, 0x0b800000, 0x00006180,
+ 0x4510702f, 0x00006107, 0x18c05063, 0x0000e002, 0x0003e82e, 0x00002106,
+ 0x0b400000, 0x00006180, 0x0003e82e, 0x00006081, 0x0a800000, 0x00007900,
+ 0x00007fc0, 0x00000980, 0x0100002f, 0x0000f900, 0x00000080, 0x00000380,
+ 0x02800060, 0x00006084, 0x0403e02d, 0x0000a081, 0x0000380b, 0x0000e106,
+ 0x08003a0e, 0x0000b106, 0x0ac00000, 0x00006180, 0x82c3e02e, 0x00006001,
+ 0x0a3c1f82, 0x00000224, 0x0b031863, 0x00006100, 0x8a936205, 0x00004100,
+ 0x00004ba6, 0x00007400, 0x0bc37004, 0x0000e300, 0x0b60540a, 0x00008901,
+ 0x02a02706, 0x00000092, 0x18c05800, 0x00001981, 0x0d04a405, 0x00006806,
+ 0x00000405, 0x00006583, 0x01006c05, 0x00008081, 0x01007c04, 0x00009281,
+ 0x00001c04, 0x00009593, 0x00004d47, 0x0000f033, 0x00001405, 0x00001583,
+ 0x00005c05, 0x00009593, 0x00004d7d, 0x00007013, 0x00004463, 0x00001583,
+ 0x00004d6d, 0x0000701b, 0x00003c63, 0x00001583, 0x18c07800, 0x000019a1,
+ 0x00004ca7, 0x0000f021, 0x00003463, 0x00009583, 0x18c09000, 0x00001989,
+ 0x00004d71, 0x0000f011, 0x01458594, 0x0000e281, 0x01078594, 0x00008281,
+ 0x00018404, 0x00001583, 0x00000405, 0x00001593, 0x00004d49, 0x0000f00b,
+ 0x00028404, 0x00001583, 0x18000000, 0x00006191, 0x01631c63, 0x0000c911,
+ 0xc15cab95, 0x00001910, 0x00004d49, 0x0000f008, 0x00030404, 0x00001583,
+ 0x18000800, 0x00009989, 0xffffffff, 0x00007f86, 0x82230005, 0x0000e886,
+ 0x01400000, 0x00006180, 0x04002805, 0x00004900, 0x4cb84b60, 0x0000f100,
+ 0x423880ec, 0x0000a004, 0x9c4ffa63, 0x0000e280, 0x04402000, 0x00000980,
+ 0x04138811, 0x0000e901, 0xe7ace011, 0x0000e801, 0x04000810, 0x00006080,
+ 0xd76ce011, 0x0000a001, 0x423880ec, 0x00002804, 0x80388aec, 0x00005600,
+ 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600,
+ 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902,
+ 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600,
+ 0xc023877d, 0x00001503, 0x00004d50, 0x0000700b, 0x04400002, 0x00009980,
+ 0xc4680500, 0x00009900, 0x770000ec, 0x00005680, 0x00388800, 0x00008000,
+ 0x00c002ec, 0x0000df80, 0x14c6900b, 0x00001684, 0x1c002000, 0x0000f900,
+ 0x00180000, 0x00008980, 0x04138870, 0x00006901, 0x803b82ec, 0x0000d600,
+ 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600,
+ 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902,
+ 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600,
+ 0x2dc38663, 0x0000a004, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
+ 0x5423877d, 0x0000f80b, 0x62400000, 0x00002686, 0x423880ec, 0x00002084,
+ 0x04402000, 0x00007900, 0x00140000, 0x00008980, 0x98cffa63, 0x00001280,
+ 0x04131811, 0x0000e901, 0x04000810, 0x00009080, 0x423880ec, 0x0000a884,
+ 0x80388aec, 0x00005600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902,
+ 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600,
+ 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902,
+ 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86, 0x002bbc71, 0x00001503,
+ 0x00004bef, 0x0000f00b, 0x04400002, 0x00009980, 0xc4680500, 0x00009900,
+ 0x770000ec, 0x00005680, 0x00388800, 0x00008000, 0x00c002ec, 0x0000df80,
+ 0x14c7f00b, 0x00009684, 0x1c002000, 0x0000f900, 0x00140000, 0x00008980,
+ 0x04131870, 0x00006901, 0x803b82ec, 0x0000d600, 0x00000001, 0x00000080,
+ 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902,
+ 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600,
+ 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86,
+ 0xfbebbc71, 0x0000780a, 0xc2400000, 0x0000a687, 0x00004c96, 0x0000f200,
+ 0x18c04000, 0x00001981, 0x00004c96, 0x0000f200, 0x18c05000, 0x00009981,
+ 0xfedbe202, 0x0000780a, 0x02400001, 0x00000080, 0x18c03800, 0x00001981,
+ 0xffffffff, 0x00007f86, 0x00004c96, 0x00007000, 0x4d1a3a35, 0x00007404,
+ 0x0124e09c, 0x00000012, 0xc1dce39c, 0x00001900, 0x00000404, 0x00001583,
+ 0x0d04a463, 0x0000e816, 0x01406c63, 0x00001091, 0x00004bab, 0x0000f008,
+ 0x00000463, 0x00006583, 0x01407c05, 0x00000281, 0x00001c05, 0x00001593,
+ 0x00004d75, 0x00007033, 0x00001463, 0x00001583, 0x00005c63, 0x00009593,
+ 0x00004d8b, 0x00007013, 0x00004404, 0x00009583, 0x00004d77, 0x0000f01b,
+ 0x00003c04, 0x00009583, 0x18c07800, 0x000019a1, 0x00004d2d, 0x0000f021,
+ 0x00003404, 0x00001583, 0x18c09000, 0x00001989, 0x00004d7b, 0x0000f011,
+ 0x01058594, 0x00006281, 0x01478594, 0x00000281, 0x00018405, 0x00009583,
+ 0x00000404, 0x00009593, 0x00004d73, 0x0000f00b, 0x00028405, 0x00009583,
+ 0x01000000, 0x00009991, 0x00004d73, 0x00007009, 0x00030405, 0x00009583,
+ 0x01000800, 0x00001989, 0x00231805, 0x0000e886, 0x82202005, 0x00006886,
+ 0x4d3c4b60, 0x0000f500, 0x041ca805, 0x0000e987, 0xc1782b04, 0x00008100,
+ 0x0000380b, 0x0000e106, 0xa000000d, 0x0000b402, 0x02803006, 0x0000e100,
+ 0xe000000d, 0x0000e406, 0x82402000, 0x00009981, 0x814010ec, 0x0000d684,
+ 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780,
+ 0x00006000, 0x00008080, 0x00004bab, 0x00007000, 0x00004ca7, 0x00007200,
+ 0x18c06000, 0x00009981, 0x18000800, 0x00006181, 0x00231805, 0x00006086,
+ 0x80000805, 0x0000ec86, 0x00004cb7, 0x0000f400, 0x041ca805, 0x0000e987,
+ 0x01400000, 0x00006180, 0x04002805, 0x00004900, 0x2dc08663, 0x00002005,
+ 0x2dc38e63, 0x00002004, 0xffffffff, 0x00007f97, 0x04000c10, 0x00009081,
+ 0x2dd88663, 0x0000a806, 0xfbebbc71, 0x0000780a, 0x22400000, 0x00002687,
+ 0x00004c96, 0x0000f200, 0x18c02800, 0x00009981, 0x00004c96, 0x0000f200,
+ 0x18c03000, 0x00009981, 0x00004c96, 0x0000f200, 0x18c04800, 0x00009981,
+ 0x00004c96, 0x0000f200, 0x18ece59c, 0x00001901, 0x801bc263, 0x0000e502,
+ 0x04000c77, 0x00008081, 0x2df83663, 0x00005004, 0x0013e800, 0x00000002,
+ 0x2dd88663, 0x0000a806, 0x00004bef, 0x0000f008, 0x849bc378, 0x00001900,
+ 0x2df88e12, 0x00002084, 0xffffffff, 0x00007fa7, 0x00008806, 0x00001502,
+ 0x044728e5, 0x00001908, 0x00004bef, 0x0000f400, 0xffffffff, 0x00007f86,
+ 0x2df88e12, 0x0000a884, 0x18c05463, 0x00009181, 0x00000c63, 0x00001583,
+ 0x18c06800, 0x000019b1, 0x00004ca7, 0x00007031, 0x00004ca7, 0x00007200,
+ 0x18c08800, 0x00009981, 0x00004d37, 0x0000f200, 0x01000800, 0x00009981,
+ 0x00004d2d, 0x00007200, 0x18c06000, 0x00009981, 0x18c05404, 0x00001181,
+ 0x00000c63, 0x00001583, 0x18c06800, 0x000019b1, 0x00004d2d, 0x00007031,
+ 0x00004d2d, 0x00007200, 0x18c08800, 0x00009981, 0x01a02c05, 0x00009900,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02efa800, 0x00007900, 0x001ec6e4, 0x00008980,
+ 0x01400000, 0x00006180, 0x08001a08, 0x00006106, 0x03400000, 0x0000e180,
+ 0xc2300600, 0x0000c901, 0x4d8b1ff4, 0x0000f500, 0x82381400, 0x00008024,
+ 0x81c01000, 0x00009980, 0x00004d7e, 0x00007200, 0x01a31c63, 0x00009900,
+ 0x0f020405, 0x00006000, 0x0d020404, 0x00003006, 0xb2603404, 0x0000c3b1,
+ 0x00804c04, 0x00000098, 0xc3204404, 0x0000c8a8, 0x50405404, 0x0000828a,
+ 0x00001c04, 0x00001583, 0x8100c000, 0x000099a0, 0x00004dbd, 0x0000f021,
+ 0x00000c04, 0x00009583, 0x8100a000, 0x00009990, 0x00004dbd, 0x0000f011,
+ 0x00004dbb, 0x0000f000, 0x00005c04, 0x00009583, 0x81012000, 0x0000e188,
+ 0x01400000, 0x0000c990, 0x01c00000, 0x0000f910, 0x00010040, 0x00008980,
+ 0x00004dbd, 0x00007008, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x02e38800, 0x0000f900, 0x003816e2, 0x00008980, 0x01a02404, 0x0000e100,
+ 0x08001a08, 0x00006106, 0x03401000, 0x000000dd, 0x82200500, 0x00008022,
+ 0x02401002, 0x00009900, 0x4dbb1ff4, 0x00007100, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x02dee000, 0x0000f900, 0x000c684e, 0x00000980, 0x01800000, 0x00006180,
+ 0x08001a08, 0x00006106, 0x01400000, 0x000080f4, 0x00004da9, 0x00007400,
+ 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900,
+ 0x00004dbd, 0x00007200, 0x81010000, 0x00009980, 0x00004dbd, 0x00007200,
+ 0x81026000, 0x00009980, 0x8101a000, 0x00009980, 0xffffffff, 0x00007f86,
+ 0x2c224a04, 0x00001600, 0x810588b0, 0x00001000, 0x00000405, 0x00006583,
+ 0x81803c49, 0x00000880, 0x81102749, 0x0000e010, 0x81903204, 0x00000000,
+ 0x01402440, 0x0000e283, 0x81903749, 0x00008010, 0x01402410, 0x00001283,
+ 0xffffffff, 0x00007f86, 0x00004ddd, 0x00007010, 0x00004ddd, 0x00007010,
+ 0x17c0000a, 0x00006180, 0x97901202, 0x0000c900, 0x17001000, 0x00007900,
+ 0x00008000, 0x00000980, 0x17580800, 0x0000f900, 0x000440c0, 0x00008980,
+ 0x18002000, 0x00007900, 0x00040000, 0x00000980, 0x18400000, 0x00007900,
+ 0x00010000, 0x00000980, 0x0010b8ec, 0x00005780, 0x00005800, 0x00000080,
+ 0xd7981302, 0x00006100, 0x0000185f, 0x0000e106, 0x18800000, 0x0000e180,
+ 0x18d02036, 0x00004100, 0x00004dde, 0x00007400, 0x04002010, 0x00006380,
+ 0x81840206, 0x00008180, 0x81000802, 0x000080d6, 0x81000005, 0x000080d6,
+ 0x02000000, 0x00007900, 0x001f8200, 0x00000980, 0x00000405, 0x00006583,
+ 0x00103008, 0x0000a186, 0x203846ec, 0x00005600, 0x0039b800, 0x00000000,
+ 0x93c08000, 0x0000e191, 0xa0000054, 0x0000e413, 0x00004def, 0x0000f008,
+ 0xc1000f50, 0x0000e283, 0x00000038, 0x00002401, 0x157f8055, 0x00007900,
+ 0x003ffffe, 0x00008280, 0x00004df7, 0x0000f400, 0x01800800, 0x0000e191,
+ 0x80000050, 0x00006411, 0x01800000, 0x00001989, 0xc1000f50, 0x0000e283,
+ 0xa0000054, 0x0000a403, 0x157f8055, 0x00007900, 0x003ffffe, 0x00008280,
+ 0x00000838, 0x00006401, 0x80000050, 0x00003411, 0x01800000, 0x00006189,
+ 0x01800800, 0x0000c991, 0x02400140, 0x00006180, 0x20000e38, 0x00006400,
+ 0x81000e38, 0x00006283, 0x5041b809, 0x0000a003, 0x02000160, 0x00006180,
+ 0x8201b809, 0x00006007, 0x82181302, 0x0000e100, 0x81400000, 0x00004990,
+ 0x00004e05, 0x00007010, 0x81002638, 0x00009283, 0x817ffa50, 0x0000f910,
+ 0x0000000e, 0x00008280, 0x817ffb4f, 0x0000f908, 0x0000000e, 0x00008280,
+ 0x02800000, 0x0000f900, 0x00004000, 0x00000980, 0x81000e38, 0x00006283,
+ 0xffc00000, 0x00008980, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x0dc00000, 0x0000e180, 0x0010280a, 0x00006182, 0x01400000, 0x00006191,
+ 0x01420000, 0x0000c989, 0x00400000, 0x00007900, 0x00008010, 0x00008980,
+ 0x000810ec, 0x0000d780, 0x00d07340, 0x000080c0, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x02c00020, 0x00006180, 0x00001837, 0x00006106,
+ 0x0d009000, 0x00007900, 0x0002b100, 0x00000980, 0x0d400000, 0x0000f900,
+ 0x00018030, 0x00008980, 0x001070ec, 0x0000d780, 0x00d07400, 0x000083c0,
+ 0x0d801002, 0x0000e100, 0xc0001837, 0x0000e006, 0x0e400000, 0x000003e8,
+ 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000, 0x000083e0,
+ 0x82a02c05, 0x0000e101, 0x80602406, 0x0000c001, 0x40e01401, 0x000080c3,
+ 0x008806ec, 0x00005f80, 0x00c06100, 0x000000c4, 0x01001410, 0x00006283,
+ 0x15024048, 0x00008900, 0x157a5749, 0x00000518, 0x15fa674b, 0x00008520,
+ 0x167a774d, 0x00000528, 0x16fa274f, 0x00000500, 0x147a3745, 0x00000508,
+ 0x14f9e747, 0x00000420, 0x1279f73d, 0x00000428, 0x12fa073f, 0x00000430,
+ 0x137a1741, 0x00000438, 0x13f9c743, 0x00008410, 0x1179d739, 0x00000418,
+ 0x11f9a73b, 0x00008400, 0x4e394d8d, 0x00007510, 0x1079b735, 0x00000408,
+ 0x10c1b837, 0x00001900, 0x01007b48, 0x00006080, 0x01807b48, 0x00008080,
+ 0x02000000, 0x00007900, 0x00200000, 0x00000980, 0x01002004, 0x00006784,
+ 0x01802006, 0x00000784, 0x82005c04, 0x0000e081, 0x02400140, 0x00008980,
+ 0x81004000, 0x0000e180, 0x82021809, 0x00006007, 0x01400000, 0x0000f900,
+ 0x001e8000, 0x00000980, 0x81103204, 0x00006100, 0x0dc0000a, 0x00000980,
+ 0x04102005, 0x0000e101, 0x50421809, 0x00003003, 0x81002800, 0x00006180,
+ 0x00001837, 0x00006106, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x20382eec, 0x0000d600, 0x003a1800, 0x00000000, 0x0e000000, 0x0000e180,
+ 0x82203204, 0x00006086, 0x02800000, 0x0000f900, 0x00005300, 0x00008980,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x003020ec, 0x00005702,
+ 0x00007000, 0x00000080, 0x02c00000, 0x00007900, 0x00020000, 0x00000980,
+ 0x0d009000, 0x00007900, 0x0002b140, 0x00008980, 0x0d400000, 0x0000f900,
+ 0x00018030, 0x00008980, 0x0e400000, 0x00006180, 0x001a400a, 0x0000e182,
+ 0x000810ec, 0x0000d780, 0x00d07340, 0x00000580, 0x0e800000, 0x000083ec,
+ 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc, 0x0d801002, 0x0000e100,
+ 0x004000a8, 0x00004980, 0x82200002, 0x0000008d, 0xc0000800, 0x00001981,
+ 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x0d042404, 0x00006806,
+ 0xcde03404, 0x0000c3b1, 0x00804c04, 0x00000098, 0xe3404404, 0x000048a8,
+ 0x52405404, 0x0000028a, 0x00001c04, 0x00001583, 0x8180c000, 0x000019a0,
+ 0x00004e99, 0x0000f021, 0x00000c04, 0x00009583, 0x8180a000, 0x00001990,
+ 0x00004e99, 0x0000f011, 0x00004e98, 0x00007000, 0x00005c04, 0x00009583,
+ 0x81812000, 0x00006188, 0x01400000, 0x0000c990, 0x01a02404, 0x00006110,
+ 0x03400000, 0x00004990, 0x00004e99, 0x00007008, 0x01c00000, 0x00007900,
+ 0x00010040, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x02e38800, 0x0000f900, 0x003816e2, 0x00008980, 0xc2300600, 0x0000e101,
+ 0x08001a08, 0x00006106, 0x82381400, 0x00008024, 0x81c01000, 0x00009980,
+ 0x4e981ff4, 0x0000f100, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02dee000, 0x0000f900,
+ 0x000c684e, 0x00000980, 0x01800000, 0x00006180, 0x08001a08, 0x00006106,
+ 0x01400000, 0x000080f4, 0x00004e86, 0x0000f400, 0x82200500, 0x00008022,
+ 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x00004e99, 0x00007200,
+ 0x81810000, 0x00001980, 0x00004e99, 0x00007200, 0x81826000, 0x00001980,
+ 0x8181a000, 0x00001980, 0x01002484, 0x0000e283, 0x81440206, 0x00000080,
+ 0x0100246c, 0x00001283, 0xffffffff, 0x00007f86, 0x00004eb9, 0x0000f010,
+ 0x00004eb9, 0x0000f010, 0x28c0000a, 0x00006180, 0xa8901202, 0x0000c900,
+ 0x28001000, 0x00007900, 0x00008000, 0x00000980, 0x28580800, 0x0000f900,
+ 0x000440c0, 0x00008980, 0x29002000, 0x0000f900, 0x00040000, 0x00000980,
+ 0x29400000, 0x0000f900, 0x00010000, 0x00000980, 0xe8981302, 0x00006100,
+ 0x000018a3, 0x0000e106, 0x29800000, 0x00006180, 0x29d03086, 0x0000c100,
+ 0x1b00206c, 0x00009380, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080,
+ 0xffffffff, 0x00007f86, 0x009140ec, 0x0000d780, 0x00005800, 0x00000080,
+ 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
+ 0x00004eba, 0x0000f400, 0x01400c06, 0x000080a2, 0x01001000, 0x00009981,
+ 0x81000005, 0x000000e2, 0x01c00000, 0x00007900, 0x001f8100, 0x00000980,
+ 0x00000408, 0x0000e583, 0x00102807, 0x0000a186, 0x20383eec, 0x00005600,
+ 0x003c3800, 0x00008000, 0xa4c08000, 0x00006191, 0xa0000098, 0x0000e413,
+ 0x00004ecb, 0x0000f008, 0xc1000f94, 0x00006283, 0x00000088, 0x0000a401,
+ 0x267f8099, 0x00007900, 0x003ffffe, 0x00008280, 0x00004ed3, 0x0000f400,
+ 0x01800800, 0x0000e191, 0x80000094, 0x0000e411, 0x01800000, 0x00001989,
+ 0xc1000f94, 0x00006283, 0xa0000098, 0x0000a403, 0x267f8099, 0x00007900,
+ 0x003ffffe, 0x00008280, 0x00000888, 0x0000e401, 0x80000094, 0x0000b411,
+ 0x01800000, 0x00006189, 0x01800800, 0x0000c991, 0x02400140, 0x00006180,
+ 0x20000e88, 0x0000e400, 0x81000e88, 0x0000e283, 0x50443809, 0x00002003,
+ 0x02000160, 0x00006180, 0x82043809, 0x0000e007, 0x22062000, 0x00006181,
+ 0x81400000, 0x00004990, 0x00004ee2, 0x0000f210, 0x82181302, 0x00009900,
+ 0x81002688, 0x00001283, 0x817ffa94, 0x00007910, 0x0000000e, 0x00008280,
+ 0x817ffb93, 0x00007908, 0x0000000e, 0x00008280, 0x02800000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x81000e88, 0x0000e283, 0xffc00000, 0x00008980,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x18c00000, 0x00006180,
+ 0x0010280a, 0x00006182, 0x01400000, 0x00006191, 0x01420000, 0x0000c989,
+ 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x000810ec, 0x0000d780,
+ 0x00d07600, 0x000000c0, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x02c00020, 0x00006180, 0x00001863, 0x0000e106, 0x18009000, 0x0000f900,
+ 0x0002b100, 0x00000980, 0x18400000, 0x00007900, 0x00018030, 0x00008980,
+ 0x0010e8ec, 0x00005780, 0x00d07040, 0x000003c8, 0x18801002, 0x00006100,
+ 0xc0001863, 0x00006006, 0x1d000000, 0x000087d4, 0x1d800000, 0x000087dc,
+ 0x1e000000, 0x000087e4, 0x1e800000, 0x000087ec, 0x82a02c05, 0x0000e101,
+ 0x80602406, 0x0000c001, 0x40e01401, 0x000080c3, 0x008806ec, 0x00005f80,
+ 0x00c066c0, 0x000080c4, 0x0100146c, 0x00001283, 0x4f074e6a, 0x0000f113,
+ 0x00002c77, 0x00009583, 0x00003477, 0x00009583, 0x00003c77, 0x00001583,
+ 0x00004f6a, 0x0000f008, 0x00004f97, 0x00007008, 0x00004f38, 0x00007008,
+ 0x81806000, 0x0000e180, 0x02400140, 0x00004980, 0x01007a06, 0x0000e080,
+ 0x82043809, 0x00002007, 0x02000000, 0x00007900, 0x00200000, 0x00000980,
+ 0x01002004, 0x00006784, 0x18c0000a, 0x00008980, 0x02800000, 0x0000f900,
+ 0x00005300, 0x00008980, 0x82005c04, 0x0000e081, 0x0010300a, 0x0000a182,
+ 0x81002000, 0x0000e180, 0x50443809, 0x0000e003, 0x01800000, 0x0000f900,
+ 0x001e8000, 0x00000980, 0x81000a04, 0x0000e180, 0x00001863, 0x00002106,
+ 0x000810ec, 0x0000d780, 0x00d07100, 0x000080c0, 0x003fd800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x04800000, 0x00006180, 0x04102006, 0x0000e101,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x203836ec, 0x0000d600,
+ 0x003c3800, 0x00008000, 0x02c00000, 0x00007900, 0x00020000, 0x00000980,
+ 0x18009000, 0x0000f900, 0x0002b140, 0x00008980, 0x18400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x0018c0ec, 0x0000d780, 0x00d07040, 0x000003c8,
+ 0x047bcf74, 0x00000100, 0x04f81778, 0x00008608, 0x004000a8, 0x00006180,
+ 0x82181302, 0x0000c900, 0xc0200401, 0x000000cd, 0x008806ec, 0x00005f80,
+ 0x00006000, 0x00000084, 0x000810ec, 0x0000d780, 0x00d07100, 0x00008280,
+ 0x04000000, 0x000081c4, 0x05800000, 0x000081e0, 0x06400000, 0x000001e8,
+ 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8, 0x07c00000, 0x0000e180,
+ 0x04c3d07a, 0x00004900, 0x04bbc779, 0x00000114, 0x053bf77f, 0x0000811c,
+ 0x8181a000, 0x00001980, 0x01407a06, 0x00006080, 0x02400140, 0x00008980,
+ 0x02000000, 0x00007900, 0x00200000, 0x00000980, 0x01402005, 0x00006784,
+ 0x82043809, 0x00002007, 0x02800000, 0x0000f900, 0x00005300, 0x00008980,
+ 0x82005c05, 0x00006081, 0x0010300a, 0x0000a182, 0x81402000, 0x00006180,
+ 0x18c0000a, 0x00004980, 0x01800000, 0x0000f900, 0x001e8000, 0x00000980,
+ 0x81002205, 0x00006180, 0x50443809, 0x00002003, 0x003fd800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x04102006, 0x0000e101, 0x00001863, 0x0000b106,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x203836ec, 0x0000d600,
+ 0x003c3800, 0x00008000, 0x02c00000, 0x00007900, 0x00020000, 0x00000980,
+ 0x18009000, 0x0000f900, 0x0002b140, 0x00008980, 0x18400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x0018c0ec, 0x0000d780, 0x00d07040, 0x000003c8,
+ 0x18801002, 0x00006100, 0x004000a8, 0x00004980, 0x82200002, 0x0000008d,
+ 0xc0000800, 0x00001981, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084,
+ 0x8180e000, 0x00006180, 0x02400140, 0x00004980, 0x01407a06, 0x00006080,
+ 0x82043809, 0x00002007, 0x02000000, 0x00007900, 0x00200000, 0x00000980,
+ 0x01402005, 0x00006784, 0x18c0000a, 0x00008980, 0x02800000, 0x0000f900,
+ 0x00005300, 0x00008980, 0x82005c05, 0x00006081, 0x0010300a, 0x0000a182,
+ 0x81402000, 0x00006180, 0x50443809, 0x0000e003, 0x01800000, 0x0000f900,
+ 0x001e8000, 0x00000980, 0x81001205, 0x00006180, 0x00001863, 0x00002106,
+ 0x000810ec, 0x0000d780, 0x00d07100, 0x00008180, 0x003fd800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x04000000, 0x0000e180, 0x04102006, 0x0000e101,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x203836ec, 0x0000d600,
+ 0x003c3800, 0x00008000, 0x02c00000, 0x00007900, 0x00020000, 0x00000980,
+ 0x18009000, 0x0000f900, 0x0002b140, 0x00008980, 0x18400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x0018c0ec, 0x0000d780, 0x00d07040, 0x000003c8,
+ 0x04c00000, 0x000001d8, 0x057bcf7a, 0x00008110, 0x05fc4f78, 0x00008108,
+ 0x04781788, 0x00000608, 0x004000a8, 0x00006180, 0x82181302, 0x0000c900,
+ 0xc0200401, 0x000000cd, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084,
+ 0x000810ec, 0x0000d780, 0x00d07100, 0x00008280, 0x04400002, 0x000001f0,
+ 0x07800000, 0x000081fc, 0x043bd788, 0x0000810c, 0x04bbc779, 0x00000114,
+ 0x053bf77f, 0x0000811c, 0x05bf2fe5, 0x00000124, 0x063be77d, 0x0000812c,
+ 0x00004f44, 0x0000f400, 0x06bf2fe5, 0x00008134, 0x8181a000, 0x00001980,
+ 0x17c08010, 0x0000e100, 0x00208806, 0x00006086, 0x82288806, 0x00006886,
+ 0x04188806, 0x0000e987, 0x01c03006, 0x00001900, 0x17064000, 0x00007900,
+ 0x001320ce, 0x00000980, 0x17803807, 0x00001900, 0xffffffff, 0x00007ff7,
+ 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
+ 0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x17403006, 0x00006100,
+ 0x04288804, 0x00006087, 0x4fb620b3, 0x0000f500, 0x86208804, 0x00006887,
+ 0x16c02004, 0x00001900, 0xfbe09411, 0x0000c389, 0x00809411, 0x00008098,
+ 0x03207411, 0x0000c598, 0x03406411, 0x000000a3, 0xfd80bc11, 0x0000c199,
+ 0x0080ac11, 0x000080a0, 0x03209c11, 0x0000c890, 0x6060cc11, 0x0000078a,
+ 0x00005c11, 0x00001583, 0x03000000, 0x0000e188, 0x03400000, 0x00004988,
+ 0x03c00000, 0x0000e188, 0x03800000, 0x00004988, 0x00004fec, 0x00007008,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02a28800, 0x0000f900,
+ 0x00373a8e, 0x00000980, 0x02f82800, 0x0000f900, 0x00280a2c, 0x00000980,
+ 0x01808010, 0x0000e100, 0x08001a08, 0x00006106, 0x01400711, 0x000080b4,
+ 0x4fec1ff4, 0x0000f500, 0x82200500, 0x00008022, 0x81c02800, 0x00006180,
+ 0x02401002, 0x0000c900, 0x00007c11, 0x00009583, 0x00004fec, 0x00007400,
+ 0x0000c00c, 0x00006808, 0xc318c318, 0x00001908, 0x0000a411, 0x00009583,
+ 0x02000800, 0x00001989, 0x00004fed, 0x00007009, 0x00004fc4, 0x0000f000,
+ 0x0000cc11, 0x00001583, 0x1380780f, 0x0000e128, 0x1000100c, 0x0000642a,
+ 0x00004fec, 0x00007029, 0xf100d411, 0x0000f893, 0x02400001, 0x00000080,
+ 0x14c0000a, 0x00006180, 0x94901202, 0x0000c900, 0x14001000, 0x00007900,
+ 0x00008000, 0x00000980, 0x14580800, 0x0000f900, 0x00044040, 0x00000980,
+ 0x0010a0ec, 0x00005780, 0x00005800, 0x00000080, 0xd4981302, 0x00006100,
+ 0x00001853, 0x0000e106, 0x00004fec, 0x00007400, 0x15000004, 0x000005d4,
+ 0x15c00000, 0x000085d8, 0x02000000, 0x00001981, 0x00000408, 0x0000e583,
+ 0x01400220, 0x00008980, 0x02c00000, 0x0000e180, 0x82000000, 0x0000c990,
+ 0x82038000, 0x00006188, 0x8200a005, 0x0000e007, 0x01800000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x01000240, 0x0000e180, 0x0000180b, 0x00006106,
+ 0x02400000, 0x0000f900, 0x00018008, 0x00000980, 0x001008ec, 0x0000d780,
+ 0x00d07100, 0x00008880, 0x00400000, 0x00007900, 0x00008110, 0x00000980,
+ 0x557f1005, 0x00006003, 0x00104006, 0x0000b182, 0x01c00000, 0x0000e180,
+ 0xc000180b, 0x0000e006, 0x02009000, 0x00007900, 0x00047080, 0x00000980,
+ 0x02a81402, 0x00008028, 0xc0001000, 0x00006181, 0x81181302, 0x0000c900,
+ 0xc0c00800, 0x00009980, 0x008806ec, 0x00005f80, 0x00c060c0, 0x000080c4,
+ 0x17c0600c, 0x0000e100, 0x00206806, 0x0000e086, 0x82286806, 0x0000e886,
+ 0x04186806, 0x00006987, 0x01c03006, 0x00001900, 0x1726d800, 0x00007900,
+ 0x00373a8e, 0x00000980, 0x17803807, 0x00001900, 0xffffffff, 0x00007ff7,
+ 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
+ 0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x17403006, 0x00006100,
+ 0x04286804, 0x0000e087, 0x501c20b3, 0x00007500, 0x86206804, 0x0000e887,
+ 0x16c02004, 0x00001900, 0x0960340d, 0x0000c198, 0x00a02c0d, 0x000000a0,
+ 0x08000c0d, 0x0000c588, 0x0040140d, 0x0000838a, 0x17803c0d, 0x0000f88a,
+ 0x92800000, 0x00002882, 0x50252490, 0x00007404, 0x0ff87f0e, 0x00000338,
+ 0x10009900, 0x00009980, 0x00000c3a, 0x00001583, 0x01c00000, 0x0000f908,
+ 0x00010000, 0x00000980, 0x01800000, 0x0000e188, 0x01400000, 0x0000c988,
+ 0x00005036, 0x00007010, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x02c06000, 0x00007900, 0x002e5876, 0x00008980, 0x03400000, 0x0000e180,
+ 0x08001a08, 0x00006106, 0x81c01000, 0x0000e180, 0x81e1d43a, 0x00004901,
+ 0x0000505d, 0x0000f400, 0x82200500, 0x00008022, 0x02401002, 0x00009900,
+ 0x30102041, 0x0000a082, 0xffffffff, 0x00007fa7, 0x00000c04, 0x00009583,
+ 0x817f1fe3, 0x00009910, 0x30202841, 0x0000a089, 0x0000503e, 0x0000f010,
+ 0xffffffff, 0x00007f97, 0x81408405, 0x00009080, 0x01280000, 0x00009980,
+ 0x50421a80, 0x0000f404, 0x04102804, 0x0000e987, 0x02c02004, 0x00001900,
+ 0x01100800, 0x00009980, 0x50461a80, 0x00007404, 0x04102804, 0x0000e987,
+ 0x02c02004, 0x00001900, 0x01000000, 0x00009980, 0x505e2b1d, 0x00007500,
+ 0x00186004, 0x00006986, 0x06002004, 0x00009900, 0x0000505e, 0x00007000,
+ 0x06c728e5, 0x0000e100, 0x0e408404, 0x0000e000, 0x01009404, 0x00001880,
+ 0x505e24bc, 0x0000f404, 0x01406004, 0x00001300, 0x07402805, 0x00009900,
+ 0x0000505e, 0x00007000, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x02a8f800, 0x00007900, 0x00373a8e, 0x00000980, 0x02fa9000, 0x00007900,
+ 0x0016f7fa, 0x00008980, 0x0180600c, 0x0000e100, 0x08001a08, 0x00006106,
+ 0x0168070d, 0x00000022, 0x82381400, 0x00008024, 0x03402800, 0x000080dd,
+ 0x505e1ff4, 0x0000f100, 0x01400000, 0x0000f900, 0x00020100, 0x00008980,
+ 0x010000a0, 0x0000e180, 0x02800000, 0x00004980, 0x01839000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x02009000, 0x00007900, 0x000130c0, 0x00000980,
+ 0x02400000, 0x0000f900, 0x00010030, 0x00000980, 0x01c00000, 0x0000e180,
+ 0x557f1005, 0x00006003, 0x02c0000a, 0x0000e180, 0x81181302, 0x0000c900,
+ 0xc2981302, 0x00009900, 0x00880eec, 0x0000df80, 0x00007001, 0x00000084,
+ 0x1878c719, 0x00000600, 0x1880d01a, 0x00006100, 0x00230809, 0x0000e086,
+ 0x18c0d81b, 0x0000e100, 0x822b0809, 0x00006086, 0x1900e01c, 0x00006100,
+ 0x041b0809, 0x0000e187, 0x02b8ef09, 0x00000614, 0x17039800, 0x00007900,
+ 0x00373a90, 0x00000980, 0x19b8ff1e, 0x0000061c, 0x1a390f20, 0x00000624,
+ 0x1ab91f22, 0x0000062c, 0x14388f10, 0x00000504, 0x14b89f12, 0x0000050c,
+ 0x1538af14, 0x00000514, 0x15b8bf16, 0x0000051c, 0x17b8c70a, 0x0000853c,
+ 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
+ 0x02402805, 0x0000e100, 0x00002004, 0x0000e586, 0x17404809, 0x00006100,
+ 0x042b0804, 0x0000e087, 0x508b20b3, 0x0000f500, 0x86230804, 0x0000e887,
+ 0x16c02004, 0x00001900, 0x508c38dd, 0x00007004, 0x16400000, 0x0000f900,
+ 0x00020100, 0x00008980, 0x160000a0, 0x0000e180, 0x17800000, 0x0000c980,
+ 0x16839000, 0x0000f900, 0x00004000, 0x00000980, 0x17009000, 0x0000f900,
+ 0x000130c0, 0x00000980, 0x17400000, 0x00007900, 0x00010030, 0x00000980,
+ 0x16c00000, 0x0000e180, 0x557f1059, 0x00006003, 0x17c0000a, 0x00006180,
+ 0x96181302, 0x0000c900, 0xd7981302, 0x00001900, 0x0088b6ec, 0x0000df80,
+ 0x00007001, 0x00000084, 0xffc00000, 0x00006180, 0x01400040, 0x0000c980,
+ 0x01000060, 0x0000e180, 0x8200d805, 0x0000e007, 0x02c0000a, 0x0000e180,
+ 0x5040d805, 0x0000e003, 0x01800000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x02009000, 0x00007900, 0x0000b180, 0x00000980, 0x02400000, 0x0000f900,
+ 0x00018030, 0x00008980, 0x01c00000, 0x0000e180, 0x0000180b, 0x00006106,
+ 0x81381002, 0x00008028, 0x00900eec, 0x0000df80, 0x00d07180, 0x000080c4,
+ 0x01007d18, 0x00009281, 0x00006404, 0x00001583, 0x50b1509d, 0x0000710b,
+ 0x81800e1c, 0x0000e283, 0x01400140, 0x00008980, 0x01000160, 0x00006180,
+ 0x5040d805, 0x0000e003, 0x81800000, 0x00006190, 0x8200d805, 0x0000e007,
+ 0x000050c2, 0x00007210, 0x01c00000, 0x0000e191, 0x81181302, 0x0000c900,
+ 0x8180261c, 0x00001283, 0x81fffa28, 0x00007910, 0x0000000e, 0x00008280,
+ 0x81fffb27, 0x0000f908, 0x0000000e, 0x00008280, 0x00000006, 0x00006d86,
+ 0x01c20000, 0x0000e181, 0x00103806, 0x0000e182, 0x02e80000, 0x000000d9,
+ 0x02400000, 0x0000f900, 0x00018000, 0x00008980, 0x0000180b, 0x00006106,
+ 0xd368e009, 0x00003004, 0x02009000, 0x00007900, 0x0002b100, 0x00000980,
+ 0x02801002, 0x0000e100, 0xc000180b, 0x0000e006, 0x01c00020, 0x00006180,
+ 0x81a03c07, 0x0000c901, 0x00900eec, 0x0000df80, 0x00d07100, 0x000084c4,
+ 0x01800000, 0x0000f900, 0x00001280, 0x00000980, 0xc0000316, 0x0000e582,
+ 0x84000000, 0x00008980, 0x08000000, 0x0000e180, 0x0018b006, 0x00006182,
+ 0x84000800, 0x00006190, 0x02000000, 0x0000c980, 0xc0000316, 0x0000e582,
+ 0x02400000, 0x00008980, 0x02800000, 0x00006180, 0x8818b316, 0x0000c900,
+ 0xc1800800, 0x0000e189, 0xd760c020, 0x00006001, 0x00000410, 0x0000e583,
+ 0x01400140, 0x00008980, 0x000810ec, 0x00005790, 0x00007000, 0x00000080,
+ 0x0200d01a, 0x0000e110, 0x0240d81b, 0x00004910, 0x8298b316, 0x0000e110,
+ 0xe7a0b820, 0x00006001, 0x00000416, 0x0000e583, 0xc0c00800, 0x00000980,
+ 0x07823000, 0x0000f910, 0x00195c08, 0x00008980, 0x07823000, 0x0000f908,
+ 0x00195c48, 0x00000980, 0x01000000, 0x000001cc, 0x40001517, 0x0000e583,
+ 0x8158b316, 0x00008900, 0x000808ec, 0x0000d780, 0x00d07100, 0x00000380,
+ 0x00001813, 0x00006106, 0x8200a805, 0x00003007, 0x81181302, 0x0000e100,
+ 0x81005c10, 0x00004081, 0x88001000, 0x0000e189, 0xc0001813, 0x0000e006,
+ 0x00400000, 0x00007900, 0x00008110, 0x00000980, 0x04400000, 0x0000f900,
+ 0x00018008, 0x00000980, 0x07090000, 0x00007900, 0x00135410, 0x00000980,
+ 0x07429000, 0x00007900, 0x00125108, 0x00008980, 0x07eb2800, 0x00007900,
+ 0x001c985a, 0x00008980, 0x000058ec, 0x00005780, 0x00007001, 0x00008080,
+ 0x5040a805, 0x00006003, 0x86208004, 0x0000b085, 0x8358bb17, 0x0000e100,
+ 0xc0000820, 0x0000e409, 0x04009000, 0x00007900, 0x0002b1c0, 0x00000980,
+ 0xc0001000, 0x00006181, 0x01c00020, 0x00004980, 0x02c00000, 0x0000e180,
+ 0x04801002, 0x0000c900, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc,
+ 0x08400000, 0x000002c8, 0x88000800, 0x0000e191, 0x08c00000, 0x0000c980,
+ 0x008806ec, 0x00005f80, 0x00c060c0, 0x000080c4, 0x27c0000a, 0x00006180,
+ 0xa7901202, 0x0000c900, 0x27001000, 0x00007900, 0x00008000, 0x00000980,
+ 0x27580800, 0x0000f900, 0x000440c0, 0x00008980, 0x28002000, 0x00007900,
+ 0x00040000, 0x00000980, 0x28400000, 0x00007900, 0x00010000, 0x00000980,
+ 0x001138ec, 0x00005780, 0x00005800, 0x00000080, 0xe7981302, 0x00006100,
+ 0x0000189f, 0x0000e106, 0x00000001, 0x00007480, 0x28800000, 0x0000e180,
+ 0x28c49092, 0x0000c900, 0x1b00206c, 0x00009380, 0x0140146c, 0x00006283,
+ 0x1c000000, 0x00000980, 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180,
+ 0x01000d87, 0x00004281, 0x0000518a, 0x00007010, 0x00004c87, 0x00006583,
+ 0x41400000, 0x00008981, 0x41000000, 0x00009981, 0x00005188, 0x00007009,
+ 0x00004487, 0x00001583, 0x00005186, 0x0000700b, 0x51322914, 0x0000f004,
+ 0x03282d05, 0x00001901, 0x2ce00607, 0x0000c290, 0xaaa00404, 0x00009492,
+ 0x6a400504, 0x0000f892, 0x02800001, 0x00008000, 0x4e407607, 0x00004388,
+ 0x00a07607, 0x00008098, 0x50002e07, 0x00004388, 0x00a02e07, 0x000000b0,
+ 0x5b605e07, 0x00004388, 0x00a05e07, 0x00008098, 0x3da04e07, 0x0000c588,
+ 0x9e005607, 0x00008796, 0x2d806607, 0x0000c588, 0x9de06e07, 0x00008c92,
+ 0x61601607, 0x00004388, 0x00a01607, 0x000080b0, 0x35401e07, 0x0000c588,
+ 0x1da02607, 0x00000b91, 0x36e00e07, 0x0000c788, 0x9d80a607, 0x0000178a,
+ 0x53a0a607, 0x00004198, 0x00a08e07, 0x00008088, 0x51c08e07, 0x0000c198,
+ 0x00a07e07, 0x00008088, 0x12c08607, 0x00004788, 0x1d209607, 0x0000978f,
+ 0x19209e07, 0x00004788, 0x9d00be07, 0x0000908b, 0x6720be07, 0x00004198,
+ 0x00a0ae07, 0x00000088, 0x1b40b607, 0x0000c788, 0x1cc0c607, 0x00009f8e,
+ 0xc740ce07, 0x0000f892, 0x12800000, 0x00002982, 0x0000040c, 0x00006583,
+ 0x01403000, 0x00000981, 0x200006ec, 0x0000d680, 0x003c98c0, 0x00003d00,
+ 0x0000517d, 0x00007009, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0xc0c00800, 0x0000e180, 0x0e03606c, 0x00004900,
+ 0x0e7b776d, 0x00000328, 0x0ef02f6f, 0x00000005, 0xc0001000, 0x00001981,
+ 0x008806ec, 0x00005f80, 0x00c06380, 0x000000c4, 0x40000505, 0x00006583,
+ 0x02400040, 0x00000980, 0x000810ec, 0x0000d780, 0x00d07600, 0x000000c0,
+ 0x02000060, 0x0000e180, 0x82049809, 0x0000e007, 0x18c0000a, 0x00006180,
+ 0x50449809, 0x0000e003, 0x02800000, 0x0000f900, 0x00004000, 0x00000980,
+ 0x18009000, 0x0000f900, 0x0000b180, 0x00000980, 0x18400000, 0x00007900,
+ 0x00018030, 0x00008980, 0x000920ec, 0x00005780, 0x00007000, 0x00000080,
+ 0x01402800, 0x0000e181, 0x00001863, 0x0000e106, 0x0000515a, 0x00007410,
+ 0x02c00000, 0x0000e180, 0x18801002, 0x00004900, 0x82181302, 0x00009900,
+ 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x00400008, 0x00006180, 0xc0c00000, 0x00004980,
+ 0x40600e05, 0x00008083, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084,
+ 0x5132283e, 0x0000f004, 0x00005132, 0x0000f000, 0x513226d1, 0x0000f004,
+ 0x00005132, 0x0000f000, 0x0100246c, 0x00001283, 0x200006ec, 0x0000d680,
+ 0x003c98c0, 0x00003d00, 0x0e048408, 0x0000e816, 0x0000519b, 0x00007008,
+ 0x51912c4a, 0x0000f300, 0x01604408, 0x00009900, 0x003fd800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00008010, 0x00008980,
+ 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x40c03401, 0x000000c7,
+ 0xc0001000, 0x00001981, 0x008806ec, 0x00005f80, 0x00c066c0, 0x000080c4,
+ 0x519c5113, 0x0000f100, 0x519f2c4a, 0x00007500, 0x0e048408, 0x00006806,
+ 0x01604408, 0x00009900, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280,
+ 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x003bf800, 0x0000f900,
+ 0x003ffffe, 0x00008280, 0x40c01c01, 0x000000c7, 0xc0001000, 0x00001981,
+ 0x008806ec, 0x00005f80, 0x00c066c0, 0x000080c4, 0x8003a2ec, 0x0000f902,
+ 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600,
+ 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902,
+ 0x1ec00000, 0x00000600, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600,
+ 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x00005137, 0x00007400,
+ 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902,
+ 0x20c00000, 0x00008600, 0x82371ee3, 0x00009900, 0x42004408, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x0000526a, 0x00007033,
+ 0x01007d90, 0x00006281, 0x01400800, 0x00000980, 0x00005404, 0x0000e583,
+ 0x1bc84800, 0x00000980, 0x01001000, 0x00006189, 0x01000800, 0x00004991,
+ 0xdbdc8b91, 0x0000e100, 0x1b00106c, 0x0000c380, 0x51ca2c1d, 0x0000f500,
+ 0xc1602404, 0x00009900, 0x02002805, 0x00001900, 0x51cb5113, 0x00007100,
+ 0x02400040, 0x0000e180, 0x02000060, 0x0000c980, 0x000810ec, 0x0000d780,
+ 0x00d07600, 0x000000c0, 0x18c0000a, 0x00006180, 0x82049809, 0x0000e007,
+ 0x50449809, 0x0000e003, 0x80016090, 0x0000b482, 0x02800000, 0x0000f900,
+ 0x00004000, 0x00000980, 0x18009000, 0x0000f900, 0x0000b180, 0x00000980,
+ 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x000920ec, 0x00005780,
+ 0x00007000, 0x00000080, 0x01000800, 0x0000e181, 0x00001863, 0x0000e106,
+ 0x81400002, 0x000080ec, 0x82381002, 0x00000608, 0x56800404, 0x00007892,
+ 0xea800000, 0x0000288b, 0x82371ee3, 0x00009900, 0x42004408, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x0ec3e404, 0x0000e034,
+ 0x0800300c, 0x00003236, 0x03400000, 0x0000e1b0, 0x01c00020, 0x000049b0,
+ 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x02ce0800, 0x00007900, 0x001d4b7e, 0x00008980, 0x81c01000, 0x00009980,
+ 0xc1c02000, 0x0000e181, 0x08001a08, 0x00006106, 0x82200500, 0x00008022,
+ 0xc1b81004, 0x00008024, 0x0140600c, 0x00009900, 0x51f51ff4, 0x0000f100,
+ 0x82371ee3, 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020408, 0x00009583, 0x0dc44404, 0x0000e030, 0x0800300c, 0x00003236,
+ 0x03400000, 0x0000e1b0, 0x01c00020, 0x000049b0, 0x000051bf, 0x0000f018,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x000051ef, 0x00007400,
+ 0x02fa9800, 0x0000f900, 0x0032a27c, 0x00000980, 0x81c01000, 0x00009980,
+ 0x82371ee3, 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020408, 0x00009583, 0x03101202, 0x0000e130, 0x01c00020, 0x000049b0,
+ 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x000051bf, 0x0000f018,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02fcc800, 0x0000f900,
+ 0x0008766c, 0x00008980, 0xc1c02000, 0x0000e181, 0x08001a08, 0x00006106,
+ 0x000051f3, 0x0000f400, 0x82200500, 0x00008022, 0x81b8177c, 0x00008024,
+ 0x82371ee3, 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020408, 0x00009583, 0x0dc44405, 0x00006030, 0x0d844404, 0x00003030,
+ 0x032be57c, 0x0000e130, 0x03400000, 0x0000c9b0, 0x000051bf, 0x0000f018,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02d56800, 0x00007900, 0x00365492, 0x00008980,
+ 0xc2300600, 0x0000e101, 0x08001a08, 0x00006106, 0x000051f3, 0x0000f400,
+ 0x82381400, 0x00008024, 0x81c01000, 0x0000e180, 0x01a02405, 0x00004000,
+ 0x82371ee3, 0x0000e100, 0x01442885, 0x0000c900, 0x42004408, 0x00002084,
+ 0x00040885, 0x00006502, 0x01040881, 0x00008900, 0x01040080, 0x0000e108,
+ 0x01442084, 0x00004908, 0xffffffff, 0x00007f86, 0x00020408, 0x00009583,
+ 0x03002004, 0x0000e130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02d2e800, 0x00007900, 0x000aabdc, 0x00008980,
+ 0xc1c02000, 0x0000e181, 0x08001a08, 0x00006106, 0x000051f3, 0x0000f400,
+ 0x82200500, 0x00008022, 0x01b81705, 0x00008024, 0x82371ee3, 0x00009900,
+ 0x42002408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020404, 0x00009583,
+ 0x01c00020, 0x000061b0, 0x0803200c, 0x0000e236, 0x81c01000, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02e58000, 0x00007900, 0x0014f466, 0x00000980,
+ 0xc1c02000, 0x0000e181, 0x08001a08, 0x00006106, 0x000051f3, 0x0000f400,
+ 0x82200500, 0x00008022, 0x81b81678, 0x00008024, 0x02444884, 0x00006002,
+ 0x02042f88, 0x00008000, 0x0103f87f, 0x00006100, 0x02000008, 0x0000c084,
+ 0x0000407f, 0x0000e502, 0x01404008, 0x00000900, 0x82371ee3, 0x0000e100,
+ 0x01404809, 0x00004908, 0x42004408, 0x00002084, 0x0103f07e, 0x00009908,
+ 0xffffffff, 0x00007f97, 0x00020408, 0x00009583, 0x03002004, 0x0000e130,
+ 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x000051bf, 0x0000f018, 0x0000523d, 0x00007400, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02e29000, 0x00007900, 0x002690d4, 0x00000980,
+ 0x01c00020, 0x00006180, 0x031b636c, 0x0000c900, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x00005211, 0x0000f400, 0x02eda800, 0x0000f900,
+ 0x003dc9e6, 0x00008980, 0x41c00002, 0x000000f4, 0x82371ee3, 0x00009900,
+ 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583,
+ 0x031b636c, 0x0000e130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0,
+ 0x03400000, 0x0000c9b0, 0x000051bf, 0x0000f018, 0x00005211, 0x0000f400,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02dd1000, 0x0000f900,
+ 0x002bef24, 0x00000980, 0x82371ee3, 0x00009900, 0x42004408, 0x00002084,
+ 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x01c00020, 0x000061b0,
+ 0x0800300c, 0x00006236, 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0,
+ 0x000051bf, 0x0000f018, 0x0000524f, 0x00007400, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02f01800, 0x00007900, 0x0021ecfe, 0x00008980,
+ 0x82371ee3, 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020408, 0x00009583, 0x0ec3e404, 0x0000e034, 0x0800300c, 0x00003236,
+ 0x03400000, 0x0000e1b0, 0x01c00020, 0x000049b0, 0x000051bf, 0x0000f018,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x000051ef, 0x00007400,
+ 0x02f7c800, 0x00007900, 0x00317942, 0x00008980, 0x81c01000, 0x00009980,
+ 0x82371ee3, 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020408, 0x00009583, 0x031b636c, 0x0000e130, 0x01c00020, 0x000049b0,
+ 0x81c01000, 0x0000e1b0, 0x03400000, 0x0000c9b0, 0x000051bf, 0x0000f018,
+ 0x00005211, 0x0000f400, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980,
+ 0x02c19000, 0x0000f900, 0x003f14aa, 0x00008980, 0x82371ee3, 0x00009900,
+ 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583,
+ 0x0ec3e404, 0x0000e034, 0x0c43e408, 0x00003030, 0x03204408, 0x0000e130,
+ 0x01c00020, 0x000049b0, 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x000051ef, 0x00007400, 0x02e3d800, 0x0000f900,
+ 0x0035d6b6, 0x00008980, 0x41c00002, 0x000000f4, 0x82371ee3, 0x00009900,
+ 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583,
+ 0x08044404, 0x0000e030, 0x0cc3ec08, 0x00003030, 0x03204408, 0x0000e130,
+ 0x01c00020, 0x000049b0, 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x000051ef, 0x00007400, 0x02c0e800, 0x00007900,
+ 0x002c6296, 0x00008980, 0x41c00002, 0x000000f4, 0x82371ee3, 0x00009900,
+ 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583,
+ 0x03400000, 0x0000e1b0, 0x0800300c, 0x00006236, 0x01c00000, 0x00007930,
+ 0x00010040, 0x00008980, 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02cd2000, 0x00007900, 0x0038e1a8, 0x00008980,
+ 0x81c01000, 0x0000e180, 0x08001a08, 0x00006106, 0x000051f3, 0x0000f400,
+ 0x82200500, 0x00008022, 0xc1b8117c, 0x00000024, 0x82371ee3, 0x00009900,
+ 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583,
+ 0x03400000, 0x0000e1b0, 0x0800300c, 0x00006236, 0x01c00000, 0x00007930,
+ 0x00010040, 0x00008980, 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02fe0800, 0x00007900, 0x000d2ed4, 0x00000980,
+ 0x81c01000, 0x0000e180, 0x08001a08, 0x00006106, 0x000051f3, 0x0000f400,
+ 0x82200500, 0x00008022, 0x01b81776, 0x00000024, 0x82371ee3, 0x00009900,
+ 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583,
+ 0x08036404, 0x0000e030, 0x0800300c, 0x00003236, 0x03400000, 0x0000e1b0,
+ 0x01c00020, 0x000049b0, 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x000051ef, 0x00007400, 0x02eea000, 0x00007900,
+ 0x0032f190, 0x00008980, 0x81c01000, 0x00009980, 0x82371ee3, 0x00009900,
+ 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583,
+ 0x0ec3e404, 0x0000e034, 0x0800300c, 0x00003236, 0x03400000, 0x0000e1b0,
+ 0x01c00020, 0x000049b0, 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x000051ef, 0x00007400, 0x02c14000, 0x00007900,
+ 0x000ac0c0, 0x00008980, 0x81c01000, 0x00009980, 0x82371ee3, 0x00009900,
+ 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583,
+ 0x031be37c, 0x0000e130, 0x03400000, 0x0000c9b0, 0x01c00000, 0x00007930,
+ 0x00010040, 0x00008980, 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02d12000, 0x0000f900, 0x002727a6, 0x00008980,
+ 0x81c01000, 0x0000e180, 0x08001a08, 0x00006106, 0x000051f3, 0x0000f400,
+ 0x82200500, 0x00008022, 0x81b8176c, 0x00000024, 0x01b03e07, 0x0000e100,
+ 0x08001a08, 0x00006106, 0x01c00000, 0x00007900, 0x00010040, 0x00008980,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02da2000, 0x00007900,
+ 0x000319ec, 0x00008980, 0x01400000, 0x000080f4, 0x000051f4, 0x00007400,
+ 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900,
+ 0x82371ee3, 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020408, 0x00009583, 0x0ec3e404, 0x0000e034, 0x0800300c, 0x00003236,
+ 0x03400000, 0x0000e1b0, 0x01c00020, 0x000049b0, 0x000051bf, 0x0000f018,
+ 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x000051ef, 0x00007400,
+ 0x02ee1000, 0x0000f900, 0x00352dea, 0x00000980, 0x81c01000, 0x00009980,
+ 0x82371ee3, 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7,
+ 0x00020408, 0x00009583, 0x03400000, 0x0000e1b0, 0x0fc44408, 0x00006030,
+ 0x03204408, 0x0000e130, 0xc2300600, 0x0000c931, 0x000051bf, 0x0000f018,
+ 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x02c0e800, 0x00007900, 0x002c6296, 0x00008980,
+ 0x82280500, 0x00006101, 0x08001a08, 0x00006106, 0x000051f3, 0x0000f400,
+ 0x027c4f02, 0x00000018, 0x81c01000, 0x00009980, 0x82371ee3, 0x00009900,
+ 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583,
+ 0x0fc44404, 0x00006030, 0x0c43e408, 0x00003030, 0x03204408, 0x0000e130,
+ 0x01c00020, 0x000049b0, 0x000051bf, 0x0000f018, 0x0292d800, 0x0000f900,
+ 0x0005a686, 0x00000980, 0x000051ef, 0x00007400, 0x02cc6800, 0x0000f900,
+ 0x00326c94, 0x00008980, 0x41c00002, 0x000000f4, 0x000ca422, 0x535c203a,
+ 0x0000f004, 0x00000160, 0x001e20a2, 0x001e39cc, 0x001e3932, 0x001e3994,
+ 0x001e1aa0, 0x001e1e70, 0x001e1f3e, 0x001e1e91, 0x001e1f01, 0x001e1e73,
+ 0x001e23cc, 0x001e33d5, 0x001e3651, 0x001e3612, 0x001e1ec9, 0x001e324c,
+ 0x001e3291, 0x00122621, 0x00002c60, 0x00002f33, 0x001e2580, 0x001236c6,
+ 0x00000020, 0x000257ac, 0x001e1e05, 0x00000020, 0x000255b9, 0x001e564a,
+ 0x00000030, 0x001e013a, 0x001e0092, 0x0004015c, 0x000000c0, 0x00061242,
+ 0x000613b5, 0x001e15f8, 0x001e11a1, 0x0006176d, 0x001e1797, 0x001e123f,
+ 0x001e1672, 0x00061052, 0x00061096, 0x00060fd6, 0x0006102f, 0x00000060,
+ 0x00084168, 0x0012402f, 0x00124086, 0x00084411, 0x00083d76, 0x00123fec,
+ 0x00000030, 0x00124801, 0x0012487c, 0x001e4901, 0x00000050, 0x000a541d,
+ 0x001e5537, 0x000a555f, 0x001e55a7, 0x001e535e, 0x000000a0, 0x00124fa3,
+ 0x00125009, 0x000c4b7f, 0x000c4f05, 0x00124e28, 0x000c5125, 0x001250ae,
+ 0x001e506f, 0x001250cf, 0x00123c09, 0x00000040, 0x00008808, 0x000088cc,
+ 0x00000000, 0x00000000, 0x00000020, 0x01660000, 0x00000018, 0x000000e0,
+ 0xfffc3def, 0x00000fff, 0xd806ff01, 0x00000800, 0xd9e2ff01, 0x00000800,
+ 0xffff800f, 0x00000fff, 0x000007f9, 0x00000fff, 0xe0000ff9, 0x00000fff,
+ 0xd87eff01, 0x00000800, 0x00010012, 0x001e0ffc, 0x000a77c0, 0xffffffff,
+ 0x00007f86, 0x00010f69, 0x0000f004, 0x00000004, 0x0000e582, 0x0d800000,
+ 0x00008980, 0x0dc00002, 0x00006180, 0x00008036, 0x00006206, 0x81402302,
+ 0x0000e780, 0xc000101a, 0x0000a407, 0x09100000, 0x00007900, 0x00008002,
+ 0x00008980, 0x0d086000, 0x0000f900, 0x00008000, 0x00000980, 0x0d580800,
+ 0x00007900, 0x00004080, 0x00008980, 0x00008837, 0x00006106, 0x45102836,
+ 0x00003107, 0x86d00011, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000,
+ 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000,
+ 0x000082fc, 0x0000002e, 0x0000f408, 0x0e000082, 0x0000e180, 0x0e420000,
+ 0x0000c980, 0x0e800000, 0x000083ec, 0x7fc00400, 0x000081fc, 0x08800000,
+ 0x00006180, 0x0000181f, 0x00006106, 0x08c00002, 0x00006180, 0x00009822,
+ 0x00006206, 0x07001000, 0x0000f900, 0x00004000, 0x00000980, 0x07400000,
+ 0x0000f900, 0x00040080, 0x00008980, 0x08086000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x08501800, 0x00007900, 0x00004100, 0x00008980, 0xc000181f,
+ 0x0000e006, 0x45102822, 0x00003107, 0xce402800, 0x0000e181, 0x03009823,
+ 0x0000e106, 0x07a01502, 0x00008138, 0x00982eec, 0x0000df80, 0x00d07341,
+ 0x00008184, 0x7fc00400, 0x000081fc, 0x08800000, 0x00006180, 0x0000181f,
+ 0x00006106, 0x08c00002, 0x00006180, 0x00008022, 0x00006206, 0x07001000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x07400000, 0x0000f900, 0x00040080,
+ 0x00008980, 0x08086000, 0x0000f900, 0x00010000, 0x00000980, 0x08501800,
+ 0x00007900, 0x00004080, 0x00008980, 0xc000181f, 0x0000e006, 0x45102822,
+ 0x00003107, 0xce403000, 0x0000e181, 0x00008823, 0x00006106, 0x07a01502,
+ 0x00008138, 0x00982eec, 0x0000df80, 0x00d07341, 0x00008184, 0x7fc00400,
+ 0x000081fc, 0x08800000, 0x000083f8, 0x08008004, 0x00006206, 0x0000181f,
+ 0x00003106, 0x00008022, 0x00006206, 0x0000803e, 0x0000b206, 0x08c00002,
+ 0x00006180, 0x81402302, 0x00004780, 0x0fc00002, 0x0000e180, 0x10004800,
+ 0x0000c980, 0x10400040, 0x0000e180, 0xc000181a, 0x0000e407, 0x07001000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x07400000, 0x0000f900, 0x00040080,
+ 0x00008980, 0x08086000, 0x0000f900, 0x00010000, 0x00000980, 0x08501800,
+ 0x00007900, 0x00004000, 0x00000980, 0x0f08e000, 0x0000f900, 0x0000d880,
+ 0x00000980, 0x0f401000, 0x0000f900, 0x00014000, 0x00008980, 0x001828ec,
+ 0x0000d780, 0x00007001, 0x00008080, 0xc000181f, 0x0000e006, 0x00008823,
+ 0x00003106, 0x45102822, 0x00006107, 0x4510283e, 0x0000b107, 0x06c11000,
+ 0x0000e181, 0x0000883f, 0x0000e106, 0x07a81402, 0x00008138, 0x09000000,
+ 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000,
+ 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x10800000,
+ 0x000084cc, 0x11000000, 0x000084d4, 0x11800000, 0x000084dc, 0x9048250f,
+ 0x00008402, 0x00987eec, 0x0000df80, 0x00007000, 0x00008084, 0x22252000,
+ 0x0000f900, 0x00255eac, 0x00008980, 0x00750f59, 0x00007500, 0x1d40000a,
+ 0x0000e180, 0x1fd01202, 0x00004900, 0x1fb08e11, 0x00009900, 0x0107ee11,
+ 0x00001281, 0x01602404, 0x00004589, 0x80a02c04, 0x0000868b, 0x01000020,
+ 0x00006180, 0x04800000, 0x00004980, 0x03a61800, 0x0000f900, 0x00255eac,
+ 0x00008980, 0x03ea2000, 0x0000f900, 0x0014edc0, 0x00008980, 0x000000bc,
+ 0x0000f400, 0x02800000, 0x000080e0, 0x81001000, 0x00009980, 0x07c04000,
+ 0x00006180, 0x08008004, 0x00006206, 0x07802004, 0x00009900, 0x0085163f,
+ 0x00007100, 0x80002e11, 0x00006583, 0x05460000, 0x00000980, 0x0504080a,
+ 0x00006180, 0x04009015, 0x00006006, 0x05800000, 0x0000e180, 0x413f1015,
+ 0x0000e002, 0x05c40000, 0x000081e0, 0x00000093, 0x0000f408, 0x06400000,
+ 0x000001e8, 0x01000800, 0x0000e188, 0x06c00000, 0x00004980, 0x80003611,
+ 0x00009583, 0x01000000, 0x00001988, 0x00000094, 0x00007011, 0x00940002,
+ 0x00007100, 0x80003e11, 0x00001583, 0x00960042, 0x0000f10b, 0x07c00000,
+ 0x000082c8, 0x0000181f, 0x00006106, 0x00008022, 0x00003206, 0x08c00002,
+ 0x00006180, 0x81002302, 0x0000c780, 0x07001000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x07400000, 0x0000f900, 0x00040080, 0x00008980, 0x08086000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x08501800, 0x00007900, 0x00004080,
+ 0x00008980, 0x001828ec, 0x0000d780, 0x00007001, 0x00008080, 0xc000181f,
+ 0x0000e006, 0x00008823, 0x00003106, 0x87901202, 0x00006100, 0x45102022,
+ 0x0000e107, 0x07800502, 0x00000290, 0x09400000, 0x000002d8, 0x09c00000,
+ 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000,
+ 0x000082fc, 0x80004e11, 0x00009583, 0xc100170d, 0x00009283, 0xffffffff,
+ 0x00007f86, 0x000000d7, 0x00007010, 0x000000c1, 0x0000f010, 0x01000020,
+ 0x00006180, 0x04800000, 0x00004980, 0x0385f000, 0x00007900, 0x00255eae,
+ 0x00000980, 0x03ca4000, 0x00007900, 0x002d4c88, 0x00000980, 0x02800000,
+ 0x000080e0, 0x81001000, 0x00009980, 0xc1002800, 0x00006181, 0x08001a0c,
+ 0x0000e106, 0x00c10f22, 0x00007500, 0x83200500, 0x00008032, 0x03401002,
+ 0x00001900, 0x82c030ec, 0x0000f902, 0x01400000, 0x00008604, 0x0c400020,
+ 0x00006180, 0x0100a204, 0x00004880, 0x00008831, 0x00006106, 0x00000825,
+ 0x00003402, 0x0c800000, 0x0000e180, 0xc000081a, 0x00006407, 0x08008005,
+ 0x0000e206, 0x00000826, 0x00003402, 0x0c002804, 0x0000e300, 0xc0000824,
+ 0x0000a403, 0x0d001c04, 0x0000e006, 0xc0000825, 0x00003402, 0x000860ec,
+ 0x00005780, 0x00007000, 0x00000080, 0x00107832, 0x0000e302, 0xc3202031,
+ 0x00003004, 0x000000d9, 0x0000f400, 0x86c00866, 0x000002c7, 0x0ac0320f,
+ 0x0000e000, 0x0cc00000, 0x00008980, 0x80000825, 0x0000e402, 0x80000824,
+ 0x0000b403, 0x0b809813, 0x0000e100, 0x09840026, 0x0000c380, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0x80004e11, 0x00009583, 0x07c05800,
+ 0x0000e188, 0x08008004, 0x0000e20e, 0x07802004, 0x00001908, 0x00000084,
+ 0x00007008, 0x00000078, 0x0000f000, 0x0340c460, 0x00001281, 0x0000440d,
+ 0x00009583, 0x0000016a, 0x0000f00b, 0x01002462, 0x00009283, 0x83400fe2,
+ 0x00001888, 0x50c0240d, 0x0000a008, 0x00000202, 0x00007010, 0x00ec0b00,
+ 0x0000f300, 0x50c8240d, 0x0000a000, 0x410405ad, 0x00009283, 0x01000800,
+ 0x00007908, 0x00200000, 0x00000980, 0x01400000, 0x0000e188, 0x01800000,
+ 0x0000c988, 0x00000139, 0x0000f010, 0x02002462, 0x00006283, 0x03800000,
+ 0x00008981, 0x03800800, 0x00006189, 0x06056805, 0x0000e006, 0x800002ac,
+ 0x00006582, 0x46056805, 0x00002002, 0x10607004, 0x0000e000, 0x66056805,
+ 0x0000b000, 0x01040004, 0x0000e388, 0x76056805, 0x0000a000, 0x400005ad,
+ 0x0000e583, 0x04136005, 0x0000a185, 0x837ffa6c, 0x0000f948, 0x0000001e,
+ 0x00000280, 0x835b020d, 0x00006048, 0x02000000, 0x00000980, 0x04106805,
+ 0x0000e1cd, 0x00207008, 0x0000b000, 0x03403c60, 0x00006281, 0x02c33000,
+ 0x00000980, 0x0000140d, 0x00006583, 0xc3206004, 0x0000a006, 0x83400a6c,
+ 0x00006780, 0x02002008, 0x00008388, 0x42c0030d, 0x000000a8, 0x03402462,
+ 0x00006283, 0x71431008, 0x00002000, 0x001008ec, 0x0000d780, 0x00007000,
+ 0x00000080, 0xc7207004, 0x00006003, 0xc723980a, 0x00003007, 0x0000011d,
+ 0x00007408, 0x01c00000, 0x0000e180, 0x04238008, 0x0000e083, 0x02400000,
+ 0x00001980, 0x0000040c, 0x00009583, 0x0018e8ec, 0x00005790, 0x00007000,
+ 0x00000080, 0x00000473, 0x00001583, 0x000910ec, 0x0000d790, 0x00007000,
+ 0x00000080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x83400ee3,
+ 0x0000e080, 0x0c002a10, 0x0000e184, 0x03c0960d, 0x0000f902, 0x04400000,
+ 0x00008100, 0x0400780d, 0x00007902, 0x03800000, 0x00000100, 0x0010c8ec,
+ 0x0000d780, 0x00007000, 0x00000080, 0xffffffff, 0x00007f86, 0x04809210,
+ 0x00001002, 0x03c0080f, 0x0000e082, 0x04400011, 0x00000084, 0x00000470,
+ 0x0000e583, 0x0380000e, 0x00000084, 0x000040ec, 0x0000d790, 0x00007002,
+ 0x00008080, 0x0000040c, 0x00009583, 0x0018e8ec, 0x00005790, 0x00007000,
+ 0x00000080, 0x00000473, 0x00001583, 0x03f8960d, 0x0000d100, 0x00388800,
+ 0x00008000, 0x0438780d, 0x00005100, 0x00387000, 0x00000000, 0x000910ec,
+ 0x0000d790, 0x00007000, 0x00000080, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x02002462, 0x00006283, 0x03440000, 0x00008980, 0x03800000,
+ 0x00006181, 0x0113600d, 0x0000c100, 0x03400cad, 0x0000e080, 0x01400000,
+ 0x00008980, 0x03800800, 0x00006189, 0x06056805, 0x0000e006, 0x800002ac,
+ 0x00006582, 0x46056805, 0x00002002, 0x02000000, 0x0000e180, 0x66056805,
+ 0x0000e000, 0x76056805, 0x00006000, 0x00207008, 0x0000b000, 0x02800000,
+ 0x00006180, 0x04136005, 0x00006185, 0x01800000, 0x0000f900, 0x001f0000,
+ 0x00000980, 0x2c106a04, 0x00001600, 0x818588b0, 0x00009000, 0x01000800,
+ 0x0000f900, 0x00200000, 0x00000980, 0x02c33000, 0x0000e180, 0x10607004,
+ 0x0000e000, 0x01040004, 0x0000e388, 0xc723980a, 0x0000a007, 0x400005ad,
+ 0x0000e583, 0x01c00000, 0x00000980, 0x837ffa6c, 0x0000f948, 0x0000001e,
+ 0x00000280, 0x835b020d, 0x00006048, 0xc3206004, 0x0000a006, 0x04106805,
+ 0x0000e1cd, 0xc7207004, 0x00003003, 0x02400000, 0x00006180, 0x03403c60,
+ 0x0000c281, 0x0000140d, 0x00006583, 0x83400a6c, 0x00000780, 0xc2e06c0d,
+ 0x0000e101, 0x02002008, 0x00004388, 0x203836ec, 0x0000d600, 0x003b0800,
+ 0x00000000, 0x01800000, 0x00006180, 0x71431008, 0x0000e000, 0x001008ec,
+ 0x0000d780, 0x00007000, 0x00000080, 0x04238008, 0x00006883, 0x45402462,
+ 0x0000f896, 0xe8000000, 0x00000088, 0x83400fe2, 0x00009880, 0x016e0bcf,
+ 0x00007500, 0x50c0340d, 0x0000a000, 0x50c8340d, 0x00002000, 0x410405ad,
+ 0x00009283, 0x01000800, 0x00007908, 0x00200000, 0x00000980, 0x01400000,
+ 0x0000e188, 0x01800000, 0x0000c988, 0x000001b4, 0x0000f010, 0x02002462,
+ 0x00006283, 0x03400000, 0x00008981, 0x03400800, 0x00006189, 0x06056805,
+ 0x0000e006, 0x800002ac, 0x00006582, 0x46056805, 0x00002002, 0x10606804,
+ 0x0000e000, 0x66056805, 0x0000b000, 0x01040004, 0x0000e388, 0x76056805,
+ 0x0000a000, 0x400005ad, 0x0000e583, 0x04136005, 0x0000a185, 0x823ffa6c,
+ 0x0000f948, 0x0000001e, 0x00000280, 0x821b0208, 0x00006048, 0xc3209004,
+ 0x0000a006, 0x04104005, 0x0000e1cd, 0xc7206804, 0x00003003, 0x02033000,
+ 0x000000ec, 0x00206808, 0x0000e000, 0x0c002a0c, 0x00003184, 0x03403c60,
+ 0x00006281, 0x02800000, 0x00008980, 0x0000140d, 0x00006583, 0xc723980a,
+ 0x0000a007, 0x83400a6c, 0x00006780, 0x02002008, 0x00008388, 0x42c0030d,
+ 0x0000809c, 0x83400ee3, 0x0000e080, 0x71431008, 0x0000e000, 0x03c08e0d,
+ 0x0000f902, 0x04000000, 0x00000100, 0x0400780d, 0x00007902, 0x03800000,
+ 0x00000100, 0x001008ec, 0x0000d780, 0x00007000, 0x00000080, 0x0010c8ec,
+ 0x0000d780, 0x00007000, 0x00000080, 0x04408a0c, 0x00006002, 0x04238008,
+ 0x00002083, 0x83004000, 0x00006180, 0x04000010, 0x0000c084, 0x03c0080f,
+ 0x0000e082, 0x8223820c, 0x0000a086, 0x003060ec, 0x0000d702, 0x00007000,
+ 0x00000080, 0x0380000e, 0x00006084, 0x02400000, 0x00008980, 0x00000412,
+ 0x00006583, 0x11804800, 0x00000980, 0x0018e8ec, 0x00005790, 0x00007000,
+ 0x00000080, 0x00000473, 0x00001583, 0x11400800, 0x0000f900, 0x00008082,
+ 0x00000980, 0x03f88e0d, 0x0000d100, 0x00388000, 0x00000000, 0x01b20464,
+ 0x00007500, 0x0438780d, 0x00005100, 0x00387000, 0x00000000, 0x000910ec,
+ 0x0000d790, 0x00007000, 0x00000080, 0x008806ec, 0x00005f80, 0x00c868c0,
+ 0x0000048c, 0x02002462, 0x00006283, 0x03440000, 0x00008980, 0x0113600d,
+ 0x00006100, 0x01400000, 0x00008980, 0x03400cad, 0x0000e080, 0x06056805,
+ 0x00002006, 0x02c33000, 0x0000e180, 0x46056805, 0x0000e002, 0x02800000,
+ 0x00006180, 0x66056805, 0x0000e000, 0x76056805, 0x00006000, 0xc723980a,
+ 0x00003007, 0x01c00000, 0x0000e180, 0x04136005, 0x00006185, 0x01800000,
+ 0x0000f900, 0x001f0000, 0x00000980, 0x2c106a04, 0x00001600, 0x818588b0,
+ 0x00009000, 0x83400000, 0x000000e4, 0x03400800, 0x00006189, 0x11804800,
+ 0x0000c980, 0x01000800, 0x0000f900, 0x00200000, 0x00000980, 0x800002ac,
+ 0x00006582, 0x10606804, 0x00002000, 0x400005ad, 0x0000e583, 0x01040004,
+ 0x00008388, 0x823ffa6c, 0x0000f948, 0x0000001e, 0x00000280, 0x821b0208,
+ 0x00006048, 0xc3209004, 0x0000a006, 0x04104005, 0x0000e1cd, 0xc7206804,
+ 0x00003003, 0x02000000, 0x00009980, 0x00206808, 0x0000e000, 0x0c002a0c,
+ 0x00003184, 0x03403c60, 0x00009281, 0x0000140d, 0x00006583, 0x83400a6c,
+ 0x00000780, 0x203836ec, 0x0000d600, 0x003b0800, 0x00000000, 0xc2e06c0d,
+ 0x0000e101, 0x02002008, 0x00004388, 0x01800000, 0x00006180, 0x83400ee3,
+ 0x0000c880, 0x03c08e0d, 0x0000f902, 0x04000000, 0x00000100, 0x0400780d,
+ 0x00007902, 0x03800000, 0x00000100, 0x001008ec, 0x0000d780, 0x00007000,
+ 0x00000080, 0x0010c8ec, 0x0000d780, 0x00007000, 0x00000080, 0x04408a0c,
+ 0x00006002, 0x71431008, 0x00002000, 0x83004000, 0x00006180, 0x04000010,
+ 0x0000c084, 0x03c0080f, 0x0000e082, 0x8223820c, 0x0000a086, 0x003060ec,
+ 0x0000d702, 0x00007000, 0x00000080, 0x0380000e, 0x00006084, 0x04238008,
+ 0x00002083, 0x00000412, 0x00009583, 0x0018e8ec, 0x00005790, 0x00007000,
+ 0x00000080, 0x00000473, 0x00001583, 0x11400800, 0x0000f900, 0x00008082,
+ 0x00000980, 0x03f88e0d, 0x0000d100, 0x00388000, 0x00000000, 0x02000464,
+ 0x00007500, 0x0438780d, 0x00005100, 0x00387000, 0x00000000, 0x000910ec,
+ 0x0000d790, 0x00007000, 0x00000080, 0x008806ec, 0x00005f80, 0x00c868c0,
+ 0x0000048c, 0x02030ba0, 0x00007100, 0x02002462, 0x00006283, 0x03800000,
+ 0x00008981, 0x01400000, 0x00006180, 0x03800800, 0x00004989, 0x01000800,
+ 0x0000f900, 0x00200000, 0x00000980, 0x06056805, 0x0000e006, 0x10607004,
+ 0x0000b000, 0x800002ac, 0x00006582, 0x46056805, 0x00002002, 0x01040004,
+ 0x0000e388, 0x66056805, 0x00002000, 0x400005ad, 0x0000e583, 0x76056805,
+ 0x0000a000, 0x837ffa6c, 0x0000f948, 0x0000001e, 0x00000280, 0x835b020d,
+ 0x00006048, 0x04136005, 0x0000a185, 0x02000000, 0x0000e180, 0x04106805,
+ 0x0000e1cd, 0x03403c60, 0x00006281, 0x00207008, 0x00002000, 0x0000140d,
+ 0x00006583, 0xc3206004, 0x0000a006, 0x02002008, 0x0000e388, 0x02800000,
+ 0x00008980, 0x02c33000, 0x0000e180, 0x83400a6c, 0x0000c780, 0x71431008,
+ 0x0000e000, 0xc7207004, 0x00003003, 0x001008ec, 0x0000d780, 0x00007000,
+ 0x00000080, 0xc723980a, 0x00006007, 0x04238008, 0x0000b083, 0x01800000,
+ 0x000080dc, 0x42c0030d, 0x000000a4, 0x45402462, 0x0000f896, 0xe8000000,
+ 0x00000088, 0x12009800, 0x00007900, 0x00003c00, 0x00008980, 0x11f83f06,
+ 0x00000424, 0xc31722e4, 0x00009900, 0x022e13be, 0x00007004, 0x00000447,
+ 0x00009583, 0x823f1fe3, 0x00001908, 0x43804008, 0x0000a088, 0x00000237,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x02003c08, 0x00001281, 0x02001408,
+ 0x00001181, 0x00000c08, 0x00009583, 0x0000023c, 0x0000701b, 0x07e14000,
+ 0x0000f900, 0x002c897e, 0x00008980, 0x023c0feb, 0x00007500, 0x07b83f06,
+ 0x00008134, 0x07223c47, 0x00001900, 0x31f84a4b, 0x00002000, 0x02800000,
+ 0x00006180, 0x82371ee3, 0x0000c900, 0x11400000, 0x00007900, 0x00008000,
+ 0x00000980, 0x11800800, 0x00001980, 0x0010480a, 0x00006986, 0x02470464,
+ 0x00007500, 0xf6f85608, 0x00002884, 0xf6c00608, 0x00005004, 0x00400000,
+ 0x00000080, 0xb918630c, 0x00001900, 0x000800ec, 0x00005780, 0x00006800,
+ 0x00000080, 0xffffffff, 0x00007f97, 0x00000000, 0x00007083, 0x025013d8,
+ 0x0000f500, 0x10481800, 0x0000e180, 0x10101202, 0x00004900, 0x0be02c05,
+ 0x00001900, 0x00400c05, 0x00004588, 0x01201405, 0x0000808a, 0x02620229,
+ 0x00007004, 0x00000262, 0x0000f000, 0x01f82f04, 0x00000018, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x03b7e800, 0x0000f900, 0x0039978e,
+ 0x00000980, 0x03d79800, 0x00007900, 0x001cdbc6, 0x00000980, 0x02000000,
+ 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500, 0x00008032, 0x02620f22,
+ 0x0000f500, 0x03783f02, 0x00008108, 0x81002800, 0x00006180, 0x02803006,
+ 0x0000c900, 0x04464000, 0x00007900, 0x00001c00, 0x00000980, 0x0c800000,
+ 0x000083cc, 0x04000800, 0x0000f900, 0x00080000, 0x00000980, 0x04800000,
+ 0x0000f900, 0x00002000, 0x00000980, 0x06000000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x06838000, 0x0000f900, 0x000080c0, 0x00000980, 0x0c009000,
+ 0x0000f900, 0x0000d200, 0x00008980, 0x0c400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x08400000, 0x0000f900, 0x00260000, 0x00000980, 0x413f1011,
+ 0x00006002, 0xc0001833, 0x00003006, 0x04c00000, 0x0000e180, 0x05001001,
+ 0x00004980, 0x05400000, 0x000001d8, 0x05c00000, 0x00006180, 0x06400001,
+ 0x00004980, 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8, 0x07c00000,
+ 0x000002c0, 0x08800000, 0x000082cc, 0x09000000, 0x000082d4, 0x09800000,
0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000,
- 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4, 0x0c800000,
- 0x000083cc, 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc, 0x02082325,
- 0x0000f404, 0x0ff85f0a, 0x00000338, 0x10009c00, 0x00009980, 0x0000043a,
- 0x00009583, 0x8e7f1fe3, 0x00009908, 0x6c01c039, 0x00002088, 0x00000211,
- 0x0000f010, 0xffffffff, 0x00007f97, 0x0e403c38, 0x00009281, 0x0e001439,
- 0x00009181, 0x00000c38, 0x00009583, 0x00000216, 0x0000f01b, 0x10328800,
- 0x0000f900, 0x0037e1aa, 0x00000980, 0x02161f24, 0x00007500, 0x0ff85f0a,
- 0x00000334, 0x0ee1d43a, 0x00001900, 0x3001ea41, 0x00007902, 0x0ec00000,
- 0x00008000, 0xffffffff, 0x00007fa7, 0x0801ec39, 0x0000e000, 0x0fc1ec38,
- 0x0000b000, 0x01001439, 0x0000e081, 0x41001438, 0x0000c881, 0x0000022b,
- 0x0000f400, 0x0141d83b, 0x0000e100, 0x9501e804, 0x0000e001, 0x0f4071a0,
- 0x00009980, 0x0000022b, 0x0000f200, 0x0f4071a0, 0x00009980, 0x0000022b,
- 0x0000f200, 0x0f4071a0, 0x00009980, 0x0000022b, 0x0000f200, 0x0f4071a0,
- 0x00009980, 0x0000022b, 0x0000f200, 0x0f4071a0, 0x00009980, 0x0000022b,
- 0x0000f200, 0x0f4071a0, 0x00009980, 0x022c0191, 0x00007100, 0xc0c00800,
- 0x0000e180, 0x00001000, 0x00006504, 0x00400000, 0x00007900, 0x00008090,
- 0x00000980, 0x001070ec, 0x0000d780, 0x00007003, 0x00000080, 0xc0001000,
- 0x00001981, 0x009006ec, 0x00005f80, 0x00006000, 0x00000084, 0x08400080,
- 0x0000e180, 0x080000a0, 0x0000c980, 0x08800000, 0x0000f900, 0x00004000,
- 0x00000980, 0x8203e021, 0x00006007, 0x00289822, 0x00003182, 0x29860000,
- 0x0000f900, 0x001f2252, 0x00008980, 0x29ce7800, 0x0000f900, 0x0009ffba,
- 0x00000980, 0x08c00000, 0x0000e180, 0x5043e021, 0x00006003, 0x02441eba,
- 0x0000f500, 0x2a802900, 0x00008ae4, 0x88301002, 0x00008a16, 0x09c00000,
- 0x00006180, 0x89901202, 0x0000c900, 0xc9981302, 0x00006100, 0x00001827,
- 0x0000e106, 0x09009000, 0x0000f900, 0x00011ac0, 0x00008980, 0x09400000,
- 0x00007900, 0x00018030, 0x00008980, 0x29860000, 0x0000f900, 0x001f2252,
- 0x00008980, 0x29d29800, 0x0000f900, 0x0009ffba, 0x00000980, 0x02541eba,
- 0x00007500, 0x2a900000, 0x0000e180, 0xc0001827, 0x00006006, 0xaa402702,
- 0x00008a94, 0x01001000, 0x0000e181, 0x0bc0bc05, 0x00006000, 0x02202c04,
- 0x00006101, 0x1d400000, 0x00000980, 0x81400fe2, 0x00006080, 0x0c00bc04,
- 0x00006000, 0x79602c05, 0x0000a081, 0x001040ec, 0x0000d780, 0x00d07540,
- 0x00008180, 0x1d000000, 0x00006180, 0x00003875, 0x0000e106, 0x2a980000,
- 0x00006180, 0x00003074, 0x0000e206, 0xddd38270, 0x0000e100, 0x0f002c05,
- 0x0000e000, 0x01602405, 0x00006301, 0x9ddb8370, 0x00008900, 0x02202c08,
- 0x00006101, 0x08003a04, 0x00002106, 0x01400000, 0x0000f900, 0x001f0000,
- 0x00000980, 0x02001408, 0x00006081, 0x2a63f47e, 0x0000c900, 0xc173f508,
- 0x00008715, 0x20382eec, 0x0000d600, 0x003be000, 0x00000000, 0x29502204,
- 0x0000e100, 0x08003005, 0x00006206, 0x29860000, 0x0000f900, 0x001f2252,
- 0x00008980, 0x02771eba, 0x0000f500, 0x29d4e800, 0x00007900, 0x0009ffba,
- 0x00000980, 0xea902a05, 0x0000e100, 0x1da04513, 0x00004100, 0x0088eeec,
- 0x00005f80, 0x00007000, 0x00008084, 0x41000d48, 0x00001283, 0x080000a0,
- 0x00006190, 0x08400080, 0x00004990, 0x08800000, 0x0000e190, 0x08c00020,
- 0x0000c990, 0x0000036d, 0x0000f008, 0x03c01e50, 0x0000e281, 0xb8412000,
- 0x00000980, 0x0140140f, 0x00006081, 0x8203e021, 0x00006007, 0x78430405,
- 0x00006081, 0x00109022, 0x0000a182, 0x88181302, 0x0000e100, 0x5043e021,
- 0x00006003, 0xffffffff, 0x0000ffb7, 0x03020b00, 0x00007904, 0x0302780c,
- 0x00009002, 0xc000037d, 0x00006582, 0x0340000d, 0x00000084, 0x02820b00,
- 0x00007904, 0x0282780a, 0x00006100, 0x821beb7d, 0x00008910, 0x00000321,
- 0x00007008, 0x81014000, 0x000081c6, 0x02405208, 0x0000e400, 0x0400500a,
- 0x00004900, 0x01000c04, 0x00006081, 0x02805208, 0x00000c00, 0x00004810,
- 0x00006502, 0x82104a08, 0x00000100, 0x10006500, 0x0000f904, 0x10005500,
- 0x0000f904, 0x000002df, 0x0000f208, 0x13c27809, 0x00009000, 0x80000208,
- 0x0000e582, 0x04402411, 0x00000081, 0x03020b00, 0x00007904, 0x02820b00,
- 0x00007904, 0x00000291, 0x00007010, 0x88310404, 0x00006001, 0x11c00000,
- 0x00008980, 0x0a010405, 0x00006084, 0x00001847, 0x0000b106, 0x01602c04,
- 0x00006001, 0xc0001847, 0x0000a006, 0x0103fc05, 0x00006281, 0x885beb7d,
- 0x00008900, 0x91901202, 0x0000e100, 0x86202020, 0x0000e085, 0x81004800,
- 0x00006180, 0xd1981302, 0x00004900, 0x4103fc05, 0x0000e281, 0x2a900000,
- 0x00000980, 0x003020ec, 0x00005702, 0x00007000, 0x00000080, 0x11009000,
- 0x0000f900, 0x00011b00, 0x00000980, 0x11400000, 0x00007900, 0x00018030,
- 0x00008980, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980, 0x29f7f800,
- 0x00007900, 0x0009ffba, 0x00000980, 0x02bc1eba, 0x00007500, 0x000840ec,
- 0x0000d780, 0x00d07440, 0x000000c0, 0xaa402702, 0x00008a94, 0x01001000,
- 0x0000e181, 0x0bc0bc05, 0x00006000, 0x02202c04, 0x00006101, 0x1d400000,
- 0x00000980, 0x81400fe2, 0x00006080, 0x0c00bc04, 0x00006000, 0x79602c05,
- 0x0000a081, 0x0010a8ec, 0x0000d780, 0x00007000, 0x00000080, 0x08003009,
- 0x00006206, 0x00003875, 0x0000b106, 0x1d180000, 0x00000ae8, 0x0f002c05,
- 0x0000e000, 0x00003074, 0x0000b206, 0x01602405, 0x00006301, 0xddd38270,
- 0x00000900, 0x02202c08, 0x00006101, 0x9ddb8370, 0x00008900, 0x01000000,
- 0x00007900, 0x001f0000, 0x00000980, 0x02001408, 0x00006081, 0x08003a05,
- 0x00006106, 0xc103f508, 0x00000a27, 0x29860000, 0x0000f900, 0x001f2252,
- 0x00008980, 0x29d2b800, 0x00007900, 0x0009ffbc, 0x00000980, 0x203826ec,
- 0x00005600, 0x003be000, 0x00000000, 0x02dd1eba, 0x0000f500, 0x5d484e7e,
- 0x00000a2a, 0x29502a05, 0x0000e100, 0x1da0427d, 0x00004100, 0x0088eeec,
- 0x00005f80, 0x00007000, 0x00008084, 0x02400e50, 0x0000e081, 0x13c00000,
- 0x00000980, 0x81604c09, 0x00006100, 0x03c00c0f, 0x0000c081, 0x80128205,
- 0x00006502, 0x94000e50, 0x00000081, 0x0000240f, 0x00001583, 0x80128205,
- 0x00009502, 0x00000360, 0x0000f018, 0x0000029b, 0x00007010, 0x0000029b,
- 0x00007020, 0x81604a50, 0x00009100, 0x80002205, 0x00001582, 0x02a04c50,
- 0x00006131, 0x02802000, 0x00008999, 0x02c00000, 0x00007900, 0x000014c4,
- 0x00000980, 0x0300240a, 0x00006081, 0x02402409, 0x0000c880, 0x02800600,
- 0x00006180, 0x0020600b, 0x0000e106, 0x02426009, 0x00006002, 0x82a80500,
- 0x00008900, 0x0140004d, 0x00006084, 0x75e8000a, 0x00002101, 0x703858ec,
- 0x00005600, 0x00385000, 0x00008000, 0x02c00000, 0x00007900, 0x00007fc0,
- 0x00000980, 0x82e0640c, 0x0000e100, 0x02b00006, 0x00004980, 0x703848ec,
- 0x0000d600, 0x00382800, 0x00008000, 0x0418100a, 0x00006987, 0x703858ec,
- 0x00005600, 0x00385000, 0x00008000, 0x00c002ec, 0x0000df80, 0x10182808,
- 0x00009084, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x01400ce0,
- 0x00001283, 0x0000037a, 0x0000f013, 0x03c00000, 0x0000e181, 0xb840000c,
- 0x0000c980, 0x38608c11, 0x00001901, 0x04402411, 0x00009081, 0xffffffff,
- 0x00007fa7, 0x03020b00, 0x00007904, 0x02820b00, 0x00007904, 0xa4400208,
- 0x0000f892, 0x00000000, 0x00000185, 0x81000000, 0x000004dc, 0x88310404,
- 0x00006001, 0x00001847, 0x00002106, 0x0a010405, 0x00006084, 0xc0001847,
- 0x00003006, 0x01602c04, 0x00006001, 0x885beb7d, 0x00008900, 0x0103fc05,
- 0x00006281, 0x91901202, 0x00000900, 0xd1981302, 0x00006100, 0x86202020,
- 0x0000e085, 0x41100009, 0x00008ae8, 0x4103fc05, 0x0000e281, 0x29402000,
- 0x00000980, 0x003020ec, 0x00005702, 0x00007000, 0x00000080, 0x11009000,
- 0x0000f900, 0x00011b00, 0x00000980, 0x11400000, 0x00007900, 0x00018030,
- 0x00008980, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980, 0x29f7f800,
- 0x00007900, 0x0009ffba, 0x00000980, 0x033d1eba, 0x0000f500, 0x000840ec,
- 0x0000d780, 0x00d07440, 0x000000c0, 0x2a581302, 0x00009900, 0x01001000,
- 0x0000e181, 0x0bc0bc05, 0x00006000, 0x02202c04, 0x00006101, 0x1d400000,
- 0x00000980, 0x81400fe2, 0x00006080, 0x0c00bc04, 0x00006000, 0x79602c05,
- 0x0000a081, 0x0010a8ec, 0x0000d780, 0x00007000, 0x00000080, 0x08003009,
- 0x00006206, 0x00003875, 0x0000b106, 0x1d180000, 0x00000ae8, 0x0f002c05,
- 0x0000e000, 0x00003074, 0x0000b206, 0x01602405, 0x00006301, 0xddd38270,
- 0x00000900, 0x02202c08, 0x00006101, 0x9ddb8370, 0x00008900, 0x01000000,
- 0x00007900, 0x001f0000, 0x00000980, 0x02001408, 0x00006081, 0x08003a05,
- 0x00006106, 0xc103f508, 0x00000a27, 0x29860000, 0x0000f900, 0x001f2252,
- 0x00008980, 0x29d2b800, 0x00007900, 0x0009ffbc, 0x00000980, 0x203826ec,
- 0x00005600, 0x003be000, 0x00000000, 0x035e1eba, 0x0000f500, 0x5d484e7e,
- 0x00000a2a, 0x29502a05, 0x0000e100, 0x1da0427d, 0x00004100, 0x0088eeec,
- 0x00005f80, 0x00007000, 0x00008084, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x028e5000, 0x00007900, 0x0024f12a, 0x00008980, 0x02e84000,
- 0x0000f900, 0x00167a04, 0x00000980, 0x03400000, 0x0000e180, 0x08001a08,
- 0x00006106, 0x01800000, 0x000000f0, 0x036d1e83, 0x0000f500, 0x82200500,
- 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x02af8000, 0x0000f900, 0x0009ffba,
- 0x00000980, 0x02fa7800, 0x00007900, 0x00089876, 0x00000980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x037a1e83,
- 0x0000f500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002,
- 0x0000c900, 0x037b1edc, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000405,
- 0x00009583, 0x00000318, 0x0000700b, 0x01400ce0, 0x00001283, 0x03801edc,
- 0x0000f113, 0x0000031b, 0x00007400, 0x03c00000, 0x0000e181, 0xb840000c,
- 0x0000c980, 0x38608c11, 0x00001901, 0x71400c05, 0x0000c488, 0x10000c05,
- 0x000080af, 0xe3001405, 0x0000788a, 0x70000000, 0x0000818c, 0x0000039d,
- 0x0000f200, 0x03000000, 0x00009981, 0x0000039d, 0x0000f200, 0x03000800,
- 0x00001981, 0x0000039d, 0x0000f200, 0x03001000, 0x00001981, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x01802004, 0x0000e100, 0x08001a08,
- 0x00006106, 0x02a92000, 0x0000f900, 0x00177b42, 0x00008980, 0x02fa9000,
- 0x00007900, 0x0016f7fa, 0x00008980, 0x03000000, 0x00006180, 0xc2300600,
- 0x0000c901, 0x82381400, 0x00008024, 0x039d1e83, 0x0000f500, 0x81c02800,
- 0x00006180, 0x03403006, 0x00004900, 0x01802805, 0x00009900, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0x82c07cec, 0x00007902, 0x03400000,
- 0x00000604, 0x17c02004, 0x0000e100, 0x0020280e, 0x0000e086, 0x8228280e,
- 0x0000e886, 0x0418280e, 0x00006987, 0x04387f0e, 0x00008034, 0x03f8870d,
- 0x00008538, 0x1740780f, 0x00006100, 0x0000200d, 0x0000e586, 0x0428280d,
- 0x0000e887, 0x8620280d, 0x00006887, 0x03b21f46, 0x0000f500, 0x1706d800,
- 0x0000f900, 0x0032a52e, 0x00000980, 0x16c0680d, 0x00001900, 0x03b508ce,
- 0x00007500, 0x15406704, 0x00008037, 0x1580680d, 0x00009900, 0x03400000,
- 0x00007900, 0x000200c0, 0x00000980, 0x03000080, 0x0000e180, 0x04800000,
- 0x00004980, 0x03840000, 0x0000f900, 0x00004000, 0x00000980, 0x04009000,
- 0x00007900, 0x0000d940, 0x00008980, 0x04400000, 0x0000f900, 0x00010030,
- 0x00000980, 0x03c00000, 0x00006180, 0x557f100d, 0x0000e003, 0x04c00000,
- 0x0000e180, 0x05002004, 0x0000c900, 0x05783705, 0x00000118, 0x05f84707,
- 0x00000120, 0x06785709, 0x00000128, 0x06c0170b, 0x00000032, 0xc4981302,
- 0x00009900, 0x00801eec, 0x0000df80, 0x00007001, 0x00000084, 0x03400000,
- 0x000080f0, 0x02c00000, 0x000004c0, 0x10400000, 0x000004c8, 0x10c00000,
- 0x000084d0, 0x11400000, 0x000004d8, 0x01c7fc1b, 0x00006280, 0x11c00000,
- 0x00008980, 0x80834007, 0x0000c388, 0x00034007, 0x000000b8, 0x7e431007,
- 0x0000c488, 0xb6031007, 0x000080d7, 0x02232807, 0x0000c589, 0x83433007,
- 0x0000038c, 0x7d435007, 0x00004488, 0xcc035007, 0x000080cf, 0xfb835807,
- 0x0000f88a, 0x08000000, 0x0000818f, 0x00030807, 0x00009582, 0x0000040e,
- 0x00007400, 0x030001a0, 0x00006188, 0x83401000, 0x00004988, 0x8310520a,
- 0x0000e108, 0x02c04008, 0x0000c908, 0x00036007, 0x00001582, 0x0000040e,
- 0x00007400, 0x83400800, 0x00006188, 0x02c04008, 0x0000c908, 0x83104a09,
- 0x00009908, 0x0000040e, 0x00007400, 0x030000a0, 0x00006180, 0x83401000,
- 0x0000c980, 0x03384409, 0x0000002c, 0x0000040e, 0x00007400, 0x030000c0,
- 0x00006180, 0x83401000, 0x0000c980, 0x03384409, 0x0000002c, 0x0000040e,
- 0x00007400, 0x03000080, 0x0000e180, 0x83401000, 0x0000c980, 0x03384409,
- 0x0000002c, 0x00001843, 0x00006106, 0x00000841, 0x00003406, 0x80001841,
- 0x0000e480, 0xa0000845, 0x00003402, 0x10001040, 0x00006380, 0x00080841,
- 0x00002501, 0x032f2000, 0x0000f900, 0x00001508, 0x00008980, 0x001080ec,
- 0x0000d780, 0x00005800, 0x00000080, 0xc0001843, 0x0000e006, 0x00001045,
- 0x0000b403, 0x8347e800, 0x0000e180, 0xc0000841, 0x0000e401, 0x0000040e,
- 0x00007400, 0x02e01708, 0x00008408, 0xd0001000, 0x0000e181, 0xd0981302,
- 0x0000c900, 0x02c02004, 0x00006100, 0x83400d05, 0x00004880, 0x2c103505,
- 0x00009600, 0x830588b0, 0x00009000, 0x0000040e, 0x00007200, 0xc3106d05,
- 0x00009000, 0x00001c09, 0x00006583, 0x83401000, 0x00000980, 0x02e01f08,
- 0x000000b1, 0x8310520a, 0x00009908, 0x01400000, 0x0000f900, 0x001f8000,
- 0x00008980, 0x00106005, 0x0000e186, 0x08001a06, 0x0000b106, 0xffc00000,
- 0x00006180, 0x04186005, 0x0000e101, 0x20382eec, 0x0000d600, 0x00385800,
- 0x00000000, 0x01400000, 0x000003fc, 0x00103005, 0x00006184, 0x0000183f,
- 0x0000b106, 0x04106805, 0x00006187, 0xc000183f, 0x00003006, 0x0f001000,
- 0x00007900, 0x00004000, 0x00000980, 0x0f400000, 0x00007900, 0x00040010,
- 0x00008980, 0x733828ec, 0x0000d600, 0x00000000, 0x00008080, 0x0fa01502,
- 0x00008338, 0x00887eec, 0x00005f80, 0x00006000, 0x00000084, 0xffffffff,
- 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x01401000,
- 0x00006181, 0x0bc0bc09, 0x00006000, 0xc0000748, 0x00006583, 0x02a04c05,
- 0x00000101, 0x82400fe2, 0x00006080, 0xd5800000, 0x0000c990, 0x79604c09,
- 0x0000a081, 0xd2000000, 0x00006191, 0x0c00bc05, 0x0000e000, 0x15000000,
- 0x00006190, 0x08000080, 0x00004980, 0xc0000356, 0x00006582, 0x8113ea7d,
- 0x00000900, 0x9633ee7d, 0x00006108, 0x0f004c09, 0x0000e000, 0x00004448,
- 0x0000e583, 0x02602c09, 0x00008301, 0x08400000, 0x0000f900, 0x00200080,
- 0x00008980, 0x09400000, 0x00007900, 0x00020000, 0x00000980, 0x02a04c0a,
- 0x00006101, 0x8203e021, 0x0000a007, 0x08800000, 0x0000f900, 0x00001e00,
- 0x00008980, 0x82fffa12, 0x0000f900, 0x0000000e, 0x00008280, 0x0280140a,
- 0x00006081, 0x00003825, 0x0000e106, 0x08c00000, 0x00007900, 0x00002040,
- 0x00008980, 0x5043e021, 0x00006003, 0x00105822, 0x0000b182, 0x09800000,
- 0x0000e180, 0xc0003825, 0x00006006, 0x09c00000, 0x00006180, 0x09003006,
- 0x0000c900, 0x000004fd, 0x0000f408, 0x88305002, 0x0000802b, 0x02800000,
- 0x00009981, 0xc100477e, 0x00001283, 0x0000057c, 0x0000f013, 0x0000040a,
- 0x00006583, 0x0f02540b, 0x00002006, 0x0242a054, 0x00009900, 0x0000050d,
- 0x00007011, 0xb8414000, 0x0000e180, 0x01401e50, 0x00004281, 0x02401405,
- 0x00001881, 0x78430409, 0x00009081, 0xffffffff, 0x00007fc7, 0x03020b00,
- 0x00007904, 0x0302780c, 0x00009002, 0x80000204, 0x0000e582, 0x0340000d,
- 0x00000084, 0x04820b00, 0x00007904, 0x04827812, 0x00006100, 0x83d02204,
- 0x00000910, 0x00000515, 0x0000f008, 0x82c16000, 0x000000ea, 0x0400920f,
- 0x0000e400, 0x02409012, 0x0000c900, 0x02c00c0b, 0x00006081, 0x0480920f,
- 0x00008c00, 0x00008009, 0x00006502, 0x83d0820f, 0x00008100, 0x10006500,
- 0x0000f904, 0x10009500, 0x0000f904, 0x000004bb, 0x00007208, 0x13c27810,
- 0x00001000, 0x8000020f, 0x00006582, 0x0280240a, 0x00000081, 0x03020b00,
- 0x00007904, 0x04820b00, 0x00007904, 0x00000463, 0x0000f010, 0x8831040b,
- 0x00006001, 0x88502204, 0x00008900, 0x81005000, 0x00006180, 0x0a010405,
- 0x00006084, 0x01602c0b, 0x00006001, 0x1e000000, 0x00008980, 0x4103fc05,
- 0x0000e281, 0x1ec00000, 0x00008980, 0x003020ec, 0x00005702, 0x00007000,
- 0x00000080, 0x08003004, 0x0000e206, 0xe183f07b, 0x00003001, 0x1dc00000,
- 0x00006180, 0x00002078, 0x0000e204, 0x08003a04, 0x0000e106, 0x34e24078,
- 0x00003005, 0x1e800000, 0x0000e180, 0x75d02078, 0x0000e101, 0x00004448,
- 0x0000e583, 0xf183f07b, 0x00002001, 0x1d009000, 0x0000f900, 0x00009880,
- 0x00008980, 0x00001877, 0x0000e106, 0x6542b078, 0x00003001, 0x0243fc05,
- 0x0000e281, 0x9e98db1b, 0x00000900, 0x1d400000, 0x00007900, 0x00018030,
- 0x00008980, 0xc0001877, 0x00006006, 0x6703f078, 0x0000b009, 0x9d901202,
- 0x0000e100, 0x86204820, 0x00006085, 0xdd981302, 0x00006100, 0x5e42a054,
- 0x0000c900, 0xde62c458, 0x0000e101, 0xde938270, 0x0000c908, 0x0000049c,
- 0x00007408, 0x9edab356, 0x00006100, 0x9d030800, 0x00004989, 0x9e9b8370,
- 0x00001908, 0xc100477e, 0x00001283, 0x00000559, 0x00007013, 0x2c18567e,
- 0x00001600, 0x820588b0, 0x00001000, 0x02800000, 0x0000f900, 0x001f8000,
- 0x00008980, 0x82f1077d, 0x0000e100, 0xc0000007, 0x00002606, 0xc0c00000,
- 0x00006180, 0x82400208, 0x0000c080, 0x82800208, 0x00006080, 0xc0001807,
- 0x00002006, 0x001040ec, 0x0000d780, 0x00d07740, 0x00000180, 0x00400000,
- 0x00007900, 0x00040010, 0x00008980, 0xc100177e, 0x0000e283, 0x0410580a,
- 0x00002101, 0x82504a7e, 0x00006100, 0x1502a27d, 0x00008000, 0x01408000,
- 0x00007900, 0x00008000, 0x00000980, 0x203856ec, 0x0000d600, 0x003be000,
- 0x00000000, 0x80107000, 0x0000e180, 0x0410487b, 0x00006183, 0xc0005c0d,
- 0x000000df, 0x80400000, 0x0000e181, 0xd5800000, 0x0000c990, 0x01000000,
- 0x00009980, 0xd59ab67e, 0x00001008, 0x009006ec, 0x00005f80, 0x00c06480,
- 0x000085c4, 0x03000e50, 0x0000e081, 0x13c00000, 0x00000980, 0x8260640c,
- 0x00006100, 0x01400c05, 0x0000c081, 0x80128209, 0x00006502, 0x94000e50,
- 0x00000081, 0x00002405, 0x00001583, 0x80128209, 0x00009502, 0x00000517,
- 0x0000f018, 0x0000046d, 0x00007010, 0x0000046d, 0x00007020, 0x81606250,
- 0x00009100, 0x80002205, 0x00001582, 0x01606450, 0x00006131, 0x01402000,
- 0x00008999, 0x02400000, 0x0000f900, 0x000014c4, 0x00000980, 0x03802405,
- 0x0000e081, 0x0300240c, 0x0000c880, 0x01400600, 0x00006180, 0x00207009,
- 0x0000e106, 0x0342600c, 0x0000e002, 0x81680500, 0x00008900, 0x0300004d,
- 0x00006084, 0x75e80005, 0x00002101, 0x703848ec, 0x0000d600, 0x00382800,
- 0x00008000, 0x02400000, 0x0000f900, 0x00007fc0, 0x00000980, 0x8260740e,
- 0x00006100, 0x01700006, 0x00004980, 0x703868ec, 0x00005600, 0x00386000,
- 0x00008000, 0x04181005, 0x00006987, 0x703848ec, 0x0000d600, 0x00382800,
- 0x00008000, 0x00c802ec, 0x00005f80, 0x10470809, 0x000092c4, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0x01400ce0, 0x00001283, 0x00000524,
- 0x00007013, 0x01400000, 0x0000e181, 0xb840000c, 0x0000c980, 0x0280240a,
- 0x00006081, 0x3860540a, 0x00008901, 0xffffffff, 0x0000ffb7, 0x03020b00,
- 0x00007904, 0x04820b00, 0x00007904, 0x18c0020f, 0x0000f893, 0x90000000,
- 0x00000283, 0x01403c4a, 0x00009281, 0x00000c05, 0x00001583, 0x017ffa12,
- 0x00007908, 0x0000000e, 0x00008280, 0x0f025404, 0x0000e80e, 0x0000044f,
- 0x00007010, 0x810ffa12, 0x0000e282, 0x02602005, 0x00000704, 0x81401a09,
- 0x0000e080, 0x80000823, 0x00006409, 0x82505a05, 0x0000e008, 0xa0000825,
- 0x00002409, 0x0000058d, 0x00007010, 0x00104822, 0x00006182, 0x0f02540b,
- 0x0000b006, 0x0242a054, 0x00009900, 0x01205fe4, 0x00001800, 0x81000a04,
- 0x00001180, 0x01404a04, 0x00001200, 0x02402a7d, 0x00001000, 0x01605809,
- 0x00001700, 0x00000455, 0x0000f400, 0x82401a05, 0x00009880, 0x81104a7d,
- 0x00009000, 0x00000472, 0x0000f200, 0x02c00000, 0x00001981, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x028e5000, 0x00007900, 0x0024f12a,
- 0x00008980, 0x02e84000, 0x0000f900, 0x00167a04, 0x00000980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x05241e83,
- 0x00007500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002,
- 0x0000c900, 0x05251edc, 0x00007100, 0xffffffff, 0x00007f86, 0x00000405,
- 0x00009583, 0x2a88000c, 0x00006190, 0x29400000, 0x0000c990, 0x2a400000,
- 0x00009990, 0x000004f4, 0x00007008, 0x05301eba, 0x00007500, 0x29860000,
- 0x0000f900, 0x001f2252, 0x00008980, 0x29c79000, 0x0000f900, 0x00287ffc,
- 0x00000980, 0x81400ee3, 0x00006080, 0x22c00000, 0x00004980, 0x16f84805,
- 0x0000a084, 0x0000188b, 0x0000e106, 0xc0000007, 0x0000b606, 0xa2901202,
- 0x0000e100, 0xc000188b, 0x00006006, 0xc0c00000, 0x00006180, 0xe2981302,
- 0x00004900, 0x02400809, 0x00006080, 0xc0001807, 0x00002006, 0x16f84805,
- 0x00002884, 0x23000000, 0x0000e180, 0x08011209, 0x0000e182, 0x16c00005,
- 0x00005004, 0x00400000, 0x00000080, 0x0150b209, 0x0000e000, 0x23600040,
- 0x00008980, 0x02400000, 0x0000f900, 0x001f8340, 0x00000980, 0x2c102e7e,
- 0x00009600, 0x824588b0, 0x00009000, 0x00400000, 0x00007900, 0x00040010,
- 0x00008980, 0x20384eec, 0x0000d600, 0x003be000, 0x00000000, 0x22001000,
- 0x00007900, 0x00008000, 0x00000980, 0x22580800, 0x0000f900, 0x00044040,
- 0x00000980, 0x01408000, 0x00007900, 0x00008000, 0x00000980, 0x001110ec,
- 0x00005780, 0x00005800, 0x00000080, 0x23800000, 0x00006180, 0x23d3ea7d,
- 0x00004900, 0x4000020e, 0x000000d0, 0xc0005c0d, 0x000000df, 0x80400000,
- 0x00009981, 0x009006ec, 0x00005f80, 0x00c06480, 0x000085c4, 0x2c18567e,
- 0x00001600, 0x820588b0, 0x00001000, 0x02800000, 0x0000f900, 0x001f8000,
- 0x00008980, 0x000920ec, 0x00005780, 0x00007000, 0x00000080, 0x82f1077d,
- 0x0000e100, 0xc0000007, 0x00002606, 0xc0c00000, 0x00006180, 0x82400208,
- 0x0000c080, 0x82800208, 0x00006080, 0xc0001807, 0x00002006, 0x00400000,
- 0x00007900, 0x00040010, 0x00008980, 0x001040ec, 0x0000d780, 0x00d07740,
- 0x00000180, 0xc100177e, 0x0000e283, 0x0410580a, 0x00002101, 0x82504a7e,
- 0x00006100, 0xdd1b5000, 0x00008980, 0x01408000, 0x00007900, 0x00008000,
- 0x00000980, 0x203856ec, 0x0000d600, 0x003be000, 0x00000000, 0x2402c859,
- 0x0000e100, 0x0410487b, 0x00006183, 0x247adf5a, 0x00008908, 0x24c00000,
- 0x00006180, 0x1502a27d, 0x00004000, 0x40206a0e, 0x000080c3, 0xc1c0000b,
- 0x000080c7, 0x000004b9, 0x00007400, 0xd5800000, 0x0000e190, 0xd59ab67e,
- 0x00004008, 0x01000000, 0x00009980, 0x41400d48, 0x00009283, 0x88002800,
- 0x00006191, 0x00001821, 0x00006491, 0x01c00000, 0x0000f908, 0x00010040,
- 0x00008980, 0x00000451, 0x00007010, 0x02adb000, 0x00007900, 0x00287ffe,
- 0x00008980, 0x02f2b000, 0x00007900, 0x0028cec6, 0x00000980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x058d1e83,
- 0x00007500, 0x81c01000, 0x0000e180, 0xc2300600, 0x0000c901, 0x02600702,
- 0x00008022, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02ac9800,
- 0x0000f900, 0x00287ffe, 0x00008980, 0x02e70800, 0x0000f900, 0x00183f5e,
- 0x00000980, 0x03400000, 0x0000e180, 0x08001a08, 0x00006106, 0x01800000,
- 0x000000f0, 0x059a1e83, 0x00007500, 0x82200500, 0x00008022, 0x81c01000,
- 0x0000e180, 0x02401002, 0x0000c900, 0xc0000748, 0x00006583, 0x0bc0bc18,
- 0x0000a000, 0x05c01000, 0x00006181, 0xd5800000, 0x0000c990, 0x0160c417,
- 0x00006101, 0xd2000000, 0x00008991, 0x86000fe2, 0x00006080, 0x15000000,
- 0x00004990, 0x7960bc18, 0x0000a081, 0xc0000356, 0x00006582, 0x08000080,
- 0x00008980, 0x08400000, 0x0000f900, 0x00200080, 0x00008980, 0x09400000,
- 0x00007900, 0x00020000, 0x00000980, 0x0f20bc04, 0x0000e000, 0x0c00bc18,
- 0x0000b000, 0x05e0c404, 0x00006301, 0x9633ee7d, 0x00008908, 0x00004448,
- 0x0000e583, 0x0620bc05, 0x00000101, 0x08800000, 0x0000f900, 0x00001e00,
- 0x00008980, 0x8203e021, 0x00006007, 0x00003825, 0x0000b106, 0x05c01418,
- 0x00006081, 0x5043e021, 0x00006003, 0x863ffa12, 0x00007900, 0x0000000e,
- 0x00008280, 0x08c00000, 0x00007900, 0x00002040, 0x00008980, 0xc0003825,
- 0x00006006, 0x0010c022, 0x00003182, 0x0563f47d, 0x00008021, 0x09800000,
- 0x000082dc, 0x000006b6, 0x00007408, 0x09001706, 0x00000202, 0xc2000617,
- 0x00008096, 0xc100477e, 0x00001283, 0x00000786, 0x00007013, 0x00000405,
- 0x00006583, 0x0f02540c, 0x0000a006, 0x02800000, 0x0000e181, 0x08011217,
- 0x0000e182, 0x83400000, 0x0000e188, 0x02c2a054, 0x00004900, 0x000006c8,
- 0x0000f010, 0x80000215, 0x0000e582, 0x42000000, 0x00000981, 0xc1c00000,
- 0x0000e180, 0x8410ba17, 0x0000c900, 0x01000000, 0x00006190, 0x02400000,
- 0x00004991, 0x000007c8, 0x00007008, 0x83800001, 0x000001d1, 0x84400617,
- 0x00008189, 0x01401e50, 0x0000e281, 0x05c08811, 0x00000900, 0x0010a811,
- 0x0000e502, 0x04c01405, 0x00000881, 0x78430413, 0x0000e081, 0x05d0aa15,
- 0x00008938, 0x03e84508, 0x00006101, 0x04c01508, 0x0000c881, 0x38414413,
- 0x00009081, 0xffffffff, 0x00007fa7, 0x06020b00, 0x00007904, 0x0600c04f,
- 0x00009002, 0x1d183818, 0x0000e102, 0x04c00019, 0x00000084, 0xc0000307,
- 0x0000e582, 0x1d400013, 0x00008184, 0x84c00000, 0x00001980, 0x80000217,
- 0x00006582, 0x84c00800, 0x00008990, 0x07820b00, 0x00007904, 0x06209c13,
- 0x00006101, 0x0782781e, 0x0000c100, 0x000006d1, 0x00007008, 0x06800000,
- 0x00006181, 0x86d0ba17, 0x00004900, 0x0a010419, 0x00006884, 0x0660d419,
- 0x00001000, 0x00003819, 0x00009582, 0x00004019, 0x00009582, 0x00000418,
- 0x00009583, 0x000005f3, 0x0000f050, 0x00000602, 0x0000f010, 0x00000604,
- 0x0000f008, 0x0700f21b, 0x0000e400, 0x0640f01e, 0x00004900, 0x1003a500,
- 0x0000f904, 0x0000e019, 0x0000e502, 0x0780e307, 0x00000000, 0x1000f500,
- 0x0000f904, 0x06800c1a, 0x00006081, 0x13c2781c, 0x00008000, 0x00000671,
- 0x0000f208, 0xc1d0e307, 0x00006000, 0x86d0e21b, 0x00008100, 0x8000021b,
- 0x00009582, 0x1d020b00, 0x00007904, 0x07820b00, 0x00007904, 0x000005eb,
- 0x00007010, 0x00000413, 0x00001583, 0x06800c1a, 0x00009191, 0x8150da17,
- 0x00009100, 0x80102a17, 0x00009502, 0x8831041a, 0x0000e009, 0x8550ba15,
- 0x00008108, 0x8490ba12, 0x00006008, 0x0a010404, 0x0000a08c, 0x00000718,
- 0x0000f010, 0x0120241a, 0x00006001, 0x8510ba14, 0x00008000, 0x80108214,
- 0x0000e502, 0x86202020, 0x00002085, 0x03800c0e, 0x00006099, 0x85108214,
- 0x00008118, 0x80000215, 0x0000e582, 0x08011210, 0x0000a19a, 0x00000735,
- 0x0000f013, 0x81005000, 0x00006180, 0x81401a0d, 0x00004880, 0x86102a12,
- 0x00006100, 0x0a010504, 0x0000a084, 0x003020ec, 0x00005702, 0x00007000,
- 0x00000080, 0x0120467e, 0x0000e101, 0xc1d02a12, 0x00000100, 0x01584216,
- 0x0000e000, 0x81202404, 0x00000900, 0x85d0c27d, 0x00006100, 0x1e000000,
- 0x00008980, 0x80000217, 0x00006582, 0x08003018, 0x0000a206, 0x2c102a04,
- 0x00009600, 0x810588b0, 0x00001000, 0x0000c078, 0x00006204, 0x9000007e,
- 0x0000b411, 0x1ec00000, 0x00006180, 0x34e24078, 0x00006005, 0x23d0ba17,
- 0x00006100, 0x82502217, 0x0000c000, 0x08003a17, 0x00006106, 0xe183f07b,
- 0x00003001, 0x22c00000, 0x00006180, 0x75d0b878, 0x00006101, 0x1dc00000,
- 0x000087e8, 0x00004448, 0x0000e583, 0xf183f07b, 0x00002001, 0x1d009000,
- 0x0000f900, 0x00009880, 0x00008980, 0x6542b078, 0x00006001, 0x0000188b,
- 0x0000b106, 0x9e98db1b, 0x0000e100, 0x00001877, 0x0000e106, 0x22001000,
- 0x00007900, 0x00008000, 0x00000980, 0x22580800, 0x0000f900, 0x00044040,
- 0x00000980, 0x1d400000, 0x00007900, 0x00018030, 0x00008980, 0x001110ec,
- 0x00005780, 0x00005800, 0x00000080, 0x6703f078, 0x0000e009, 0xc000188b,
- 0x00003006, 0x88509212, 0x00006100, 0xc0001877, 0x00006006, 0x22a81402,
- 0x00008828, 0x23000000, 0x0000e180, 0x23600040, 0x00004980, 0x23800000,
- 0x00006180, 0x9d901202, 0x0000c900, 0xdd981302, 0x00006100, 0x5e42a054,
- 0x0000c900, 0xde62c458, 0x0000e101, 0xde938270, 0x0000c908, 0x00000652,
- 0x00007408, 0x9edab356, 0x00006100, 0x9d030800, 0x00004989, 0x9e9b8370,
- 0x00001908, 0xc100477e, 0x00001283, 0x00000763, 0x0000f013, 0x2c184408,
- 0x00009600, 0x85c588b0, 0x00009000, 0xc100177e, 0x0000e283, 0xc271077d,
- 0x00008100, 0xd59ab408, 0x0000e008, 0x1502a307, 0x00008000, 0x82104a17,
- 0x00006000, 0xc0000007, 0x00002606, 0x8210427e, 0x00006100, 0xc0c00000,
- 0x00008980, 0x0410407b, 0x0000e183, 0xc0001807, 0x0000b006, 0x02000000,
- 0x00007900, 0x001f8000, 0x00008980, 0x82104a17, 0x00006000, 0x80107000,
- 0x00000980, 0x001040ec, 0x0000d780, 0x00d07740, 0x00000180, 0x00400000,
- 0x00007900, 0x00040010, 0x00008980, 0xc0006800, 0x00006181, 0x04184808,
- 0x00006101, 0x01408000, 0x00007900, 0x00008000, 0x00000980, 0x203846ec,
- 0x00005600, 0x003be000, 0x00000000, 0xd5800000, 0x0000e190, 0x01000000,
- 0x0000c980, 0xc0405800, 0x000080df, 0x009006ec, 0x00005f80, 0x00c06480,
- 0x000085c4, 0x06400e50, 0x00006081, 0x13c00000, 0x00000980, 0x8720cc19,
- 0x0000e100, 0x01400c05, 0x0000c081, 0xc1c00000, 0x0000e180, 0x42000d08,
- 0x0000c081, 0x8012821c, 0x0000e502, 0x94000e50, 0x00000081, 0x00002405,
- 0x00001583, 0x8012821c, 0x00001502, 0x000006d6, 0x00007018, 0x000005fe,
- 0x0000f010, 0x000005fe, 0x0000f020, 0x8160ca50, 0x00001100, 0x80002205,
- 0x00001582, 0x0160cc50, 0x0000e131, 0x01402000, 0x00008999, 0x06402419,
- 0x00009880, 0x07426019, 0x0000e002, 0x07802405, 0x00008881, 0x0700004d,
- 0x0000e084, 0x01400600, 0x00008980, 0x06400000, 0x00007900, 0x000014c4,
- 0x00000980, 0x81680500, 0x00006100, 0x0020f019, 0x0000e106, 0x75e80005,
- 0x00006901, 0x7038c8ec, 0x00005600, 0x00382800, 0x00008000, 0x06400000,
- 0x00007900, 0x00007fc0, 0x00000980, 0x8660f41e, 0x0000e100, 0x01700006,
- 0x00004980, 0x7038e8ec, 0x0000d600, 0x0038e000, 0x00000000, 0x04181005,
- 0x00006987, 0x7038c8ec, 0x00005600, 0x00382800, 0x00008000, 0x00c802ec,
- 0x00005f80, 0x1054c809, 0x000012c4, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0x01400ce0, 0x00001283, 0x000006e3, 0x0000f013, 0x01607c1a,
- 0x0000e000, 0xb840000c, 0x00000980, 0x01401405, 0x00001881, 0x01400000,
- 0x0000e181, 0x38414405, 0x00004081, 0xffffffff, 0x00007fa7, 0x1d020b00,
- 0x00007904, 0x07820b00, 0x00007904, 0x7ac0021b, 0x00007893, 0x10000000,
- 0x00000380, 0x01003c4a, 0x00001281, 0x00000c04, 0x00009583, 0x017ffa12,
- 0x00007908, 0x0000000e, 0x00008280, 0x0f025404, 0x0000e80e, 0x000005c0,
- 0x00007010, 0x810ffa12, 0x0000e282, 0x01602005, 0x00000704, 0x81401a05,
- 0x0000e080, 0x80000823, 0x00006409, 0x8610c205, 0x00006008, 0xa0000825,
- 0x00002409, 0x000007d0, 0x00007010, 0x0010c022, 0x00006182, 0x0f02540c,
- 0x00003006, 0x02c2a054, 0x00006100, 0x08011217, 0x0000e182, 0x02800800,
- 0x00001981, 0x012067e4, 0x00009800, 0x81000a04, 0x00001180, 0x01005a04,
- 0x00001200, 0x0100227d, 0x00001000, 0x01206004, 0x00009700, 0x000005c9,
- 0x00007400, 0x81001a04, 0x0000e080, 0x83502204, 0x0000c900, 0x8550227d,
- 0x00001000, 0x00000604, 0x0000f400, 0x00000413, 0x0000e583, 0x06800000,
- 0x00008981, 0x06800c1a, 0x00006191, 0x86c00000, 0x00000980, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x028e5000, 0x00007900, 0x0024f12a,
- 0x00008980, 0x02e84000, 0x0000f900, 0x00167a04, 0x00000980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x06e31e83,
- 0x0000f500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002,
- 0x0000c900, 0x06e41edc, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000405,
- 0x00009583, 0x2a88000c, 0x00006190, 0x29400000, 0x0000c990, 0x2a400000,
- 0x00009990, 0x000006ac, 0x00007008, 0x06ef1eba, 0x0000f500, 0x29860000,
- 0x0000f900, 0x001f2252, 0x00008980, 0x29c79000, 0x0000f900, 0x00287ffc,
- 0x00000980, 0x85c00ee3, 0x00006080, 0x08011218, 0x0000e182, 0x16f82817,
- 0x0000a084, 0x22c00000, 0x00006180, 0xc0000007, 0x0000e606, 0x02000000,
- 0x00007900, 0x001f8340, 0x00000980, 0xa2901202, 0x0000e100, 0x0000188b,
- 0x0000e106, 0x01400805, 0x00006080, 0xc000188b, 0x0000a006, 0x16f82817,
- 0x00002884, 0x16c00017, 0x00005004, 0x00400000, 0x00000080, 0x05d0b218,
- 0x0000e000, 0xc0c00000, 0x00008980, 0x00400000, 0x00007900, 0x00040010,
- 0x00008980, 0x2c10be7e, 0x00009600, 0x820588b0, 0x00001000, 0xe2981302,
- 0x00006100, 0xc0001807, 0x0000e006, 0x203846ec, 0x00005600, 0x003be000,
- 0x00000000, 0x22001000, 0x00007900, 0x00008000, 0x00000980, 0x22580800,
- 0x0000f900, 0x00044040, 0x00000980, 0x01408000, 0x00007900, 0x00008000,
- 0x00000980, 0x001110ec, 0x00005780, 0x00005800, 0x00000080, 0x23000000,
- 0x0000e180, 0x23600040, 0x00004980, 0x23800000, 0x00006180, 0x23d3ea7d,
- 0x00004900, 0x4000020e, 0x000000d0, 0xc000040d, 0x000080c7, 0x81c05800,
- 0x00001981, 0x009006ec, 0x00005f80, 0x00c06480, 0x000085c4, 0x80000212,
- 0x00009582, 0x85c02d00, 0x0000e090, 0x94204c09, 0x00004911, 0x30030017,
- 0x0000f912, 0x18400000, 0x00008000, 0x0000074f, 0x00007008, 0x0000040a,
- 0x00006583, 0x13c02004, 0x00008900, 0x303b1217, 0x00003038, 0x303b2417,
- 0x00003038, 0x303b3617, 0x00003038, 0x307b4017, 0x00003038, 0x307b5217,
- 0x00003038, 0x0000074d, 0x00007408, 0x307b6417, 0x00003038, 0x307b7617,
- 0x00003038, 0x83400000, 0x00006180, 0x062067e4, 0x00004800, 0x81400a18,
- 0x0000e180, 0x85c04218, 0x00000080, 0x81004218, 0x0000e080, 0x01405a05,
- 0x00008200, 0x81502a12, 0x00001000, 0x8010ba05, 0x00009502, 0x0000074d,
- 0x0000702b, 0x85d02217, 0x00006000, 0x83400a0d, 0x00000080, 0xd350ba05,
- 0x0000782b, 0x88000000, 0x00008389, 0x86002d00, 0x00006080, 0x02728650,
- 0x00004901, 0x303b0018, 0x0000b838, 0x303b1218, 0x0000b838, 0x303b2418,
- 0x0000b838, 0x303b3618, 0x0000b838, 0x307b4018, 0x0000b838, 0x307b5218,
- 0x0000b838, 0x307b6418, 0x0000b838, 0x000005d2, 0x00007400, 0x307b7618,
- 0x0000b838, 0x0102784f, 0x00001900, 0x80000204, 0x00001582, 0x000007ab,
- 0x00007013, 0x3841440f, 0x0000e081, 0x8820ae20, 0x00008101, 0x02804809,
- 0x0000e100, 0x0a010418, 0x00006084, 0x84909a05, 0x0000e100, 0x05e0ac18,
- 0x00008101, 0x8620b820, 0x0000e885, 0xffffffff, 0x00007f97, 0x10008500,
- 0x00007904, 0x10005500, 0x0000f904, 0x00000614, 0x00007200, 0x0220740e,
- 0x00009901, 0x0000040a, 0x00006583, 0x88004620, 0x00000081, 0x83400000,
- 0x0000e190, 0x0a010418, 0x00006084, 0x03c04418, 0x00009081, 0x000007ca,
- 0x00007208, 0x062067e4, 0x0000e010, 0x86207820, 0x00006085, 0xffffffff,
- 0x00007f86, 0x82004218, 0x0000e080, 0x81000a18, 0x00000180, 0x01005a04,
- 0x00001200, 0x81004218, 0x0000e080, 0x82d02205, 0x00008000, 0x8010220b,
- 0x00009502, 0x00000797, 0x0000f02b, 0x81104204, 0x00006000, 0x83400a0d,
- 0x00000080, 0xe5d0220b, 0x0000f82b, 0xf8000000, 0x0000038a, 0x2c184408,
- 0x00009600, 0x85c588b0, 0x00009000, 0xc100177e, 0x0000e283, 0xc271077d,
- 0x00008100, 0xd59ab408, 0x0000e008, 0x1502a307, 0x00008000, 0x82104a17,
- 0x00006000, 0xc0000007, 0x00002606, 0x8210427e, 0x00006100, 0xc0c00000,
- 0x00008980, 0x0410407b, 0x0000e183, 0xc0001807, 0x0000b006, 0x02000000,
- 0x00007900, 0x001f8000, 0x00008980, 0x000920ec, 0x00005780, 0x00007000,
- 0x00000080, 0x82104a17, 0x00006000, 0xdd1b5000, 0x00008980, 0x00400000,
- 0x00007900, 0x00040010, 0x00008980, 0x001040ec, 0x0000d780, 0x00d07740,
- 0x00000180, 0x2402c859, 0x0000e100, 0x04184808, 0x00006101, 0x01408000,
- 0x00007900, 0x00008000, 0x00000980, 0x203846ec, 0x00005600, 0x003be000,
- 0x00000000, 0x247adf5a, 0x00008908, 0x24d07000, 0x000080c1, 0xc0006800,
- 0x00006181, 0xd5800000, 0x0000c990, 0x0000066f, 0x00007400, 0x01005800,
- 0x000080df, 0x80400000, 0x00009981, 0x41000d48, 0x00001283, 0x88002800,
- 0x00006191, 0x00001821, 0x00006491, 0x01c00000, 0x0000f908, 0x00010040,
- 0x00008980, 0x000005c2, 0x0000f010, 0x02adb000, 0x00007900, 0x00287ffe,
- 0x00008980, 0x02f2b000, 0x00007900, 0x0028cec6, 0x00000980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x07971e83,
- 0x00007500, 0x81c01000, 0x0000e180, 0xc2300600, 0x0000c901, 0x02600702,
- 0x00008022, 0x2c106a08, 0x00001600, 0x024588b0, 0x00001000, 0x82d04a0b,
- 0x00006100, 0x81001a05, 0x00008280, 0x02905a0b, 0x0000e100, 0x02410018,
- 0x00004180, 0x0000480a, 0x00001502, 0x000007cc, 0x0000f043, 0x80000204,
- 0x00001582, 0x84d02204, 0x00006110, 0x84902a05, 0x0000c908, 0x0000074d,
- 0x00007009, 0x0000004f, 0x0000e582, 0x0603fc0f, 0x00008281, 0x0207e650,
- 0x00006281, 0x81109a13, 0x00000900, 0x85401800, 0x000081de, 0x94000e50,
- 0x00006189, 0x05000c18, 0x00008181, 0x03c01414, 0x00001881, 0x0307e650,
- 0x0000e281, 0x7841440f, 0x00000081, 0x00206408, 0x00001503, 0x03001417,
- 0x00009891, 0x3843040c, 0x00009091, 0xffffffff, 0x00007f97, 0x04020b00,
- 0x0000f904, 0x000007bb, 0x00007408, 0x02820b00, 0x00007904, 0x0240500a,
- 0x00009900, 0x10008500, 0x00007904, 0x00000417, 0x00006583, 0x0297280a,
- 0x00008200, 0x10005500, 0x0000f904, 0x05c01800, 0x00006189, 0x05c00c17,
- 0x0000c191, 0x84905204, 0x00009c00, 0xffffffff, 0x00007f86, 0x81109204,
- 0x00006100, 0x0310900a, 0x00000100, 0x8000020c, 0x00006582, 0x13d7280c,
- 0x00000200, 0x05400c15, 0x00001089, 0x00000741, 0x00007011, 0x80000204,
- 0x00001582, 0x94000e50, 0x00006191, 0x05000c14, 0x00000191, 0x00000743,
- 0x0000f009, 0x000007aa, 0x00007000, 0x00000614, 0x00007200, 0x84800000,
- 0x00009980, 0x0000079f, 0x0000f200, 0x81001a05, 0x00001280, 0x85d0c20b,
- 0x00001100, 0x84c12217, 0x00001082, 0x0000079f, 0x0000f00b, 0x000007a3,
- 0x00007000, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02ac9800,
- 0x0000f900, 0x00287ffe, 0x00008980, 0x02e70800, 0x0000f900, 0x00183f5e,
- 0x00000980, 0x03400000, 0x0000e180, 0x08001a08, 0x00006106, 0x01800000,
- 0x000000f0, 0x07dd1e83, 0x0000f500, 0x82200500, 0x00008022, 0x81c01000,
- 0x0000e180, 0x02401002, 0x0000c900, 0x06000000, 0x000081e4, 0x07000000,
- 0x000001e8, 0x01e0240d, 0x00004189, 0x00002c0d, 0x00000088, 0x20401c0d,
- 0x0000c88a, 0x4e601d14, 0x00008992, 0x07e7094b, 0x00007500, 0x06c01800,
- 0x0000f900, 0x00008040, 0x00008980, 0x08401800, 0x00009981, 0x46006514,
- 0x00001283, 0x01308e11, 0x00006109, 0x41388f11, 0x0000c909, 0x81209412,
- 0x0000e109, 0xc1389712, 0x00004909, 0x0000081f, 0x00007010, 0x40005d13,
- 0x00006583, 0xc2c1f712, 0x00008081, 0x82819712, 0x00006080, 0x0430900b,
- 0x00002001, 0xc1508210, 0x0000e100, 0x1468900b, 0x0000e001, 0x01a08d10,
- 0x00000018, 0x0000081f, 0x00007418, 0x01c29712, 0x0000e081, 0x41c25712,
- 0x00000081, 0x42c06513, 0x00006199, 0x03400000, 0x000009b0, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x0286d800, 0x0000f900, 0x002315fe,
- 0x00000980, 0x02fda800, 0x00007900, 0x000de976, 0x00000980, 0x01800000,
- 0x00006180, 0x08001a08, 0x00006106, 0x03000000, 0x00006180, 0xc2300600,
- 0x0000c901, 0x0000081e, 0x0000f400, 0x82381400, 0x00008024, 0x81c01000,
- 0x00009980, 0x00000810, 0x00007200, 0x06c02001, 0x000082c6, 0x080a094b,
- 0x00007300, 0x06c03001, 0x000002c6, 0x081f2351, 0x0000f404, 0x06fff800,
- 0x00007900, 0x003ffdfe, 0x00008980, 0x07401002, 0x00009900, 0x0000081f,
- 0x0000f000, 0x06c03801, 0x000082c6, 0x081f094b, 0x00007100, 0x0000081f,
- 0x0000f000, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0180600c,
- 0x0000e100, 0x08001a08, 0x00006106, 0x02be6000, 0x00007900, 0x002315fc,
- 0x00008980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x0168070d,
- 0x00000022, 0x82381400, 0x00008024, 0x41c00005, 0x000000f0, 0x01b83705,
- 0x00008034, 0x081f1e83, 0x0000f100, 0x82c0ecec, 0x00007902, 0x06c00000,
- 0x00008604, 0x17c0600c, 0x0000e100, 0x0020681e, 0x0000e086, 0x8228681e,
- 0x0000e886, 0x0418681e, 0x00006987, 0x07c0f01e, 0x00006100, 0x0000201b,
- 0x00006586, 0x0780e81d, 0x0000e100, 0x0428681b, 0x00006087, 0x1780f81f,
- 0x00006100, 0x8620681b, 0x0000e087, 0x082f1f46, 0x0000f500, 0x1706d800,
- 0x0000f900, 0x0032a52e, 0x00000980, 0x16f8f71b, 0x00000534, 0x083108ce,
- 0x0000f300, 0x15410f0c, 0x0000851b, 0x0000240d, 0x00006583, 0x00000019,
- 0x0000a586, 0x00002019, 0x00006485, 0x00002818, 0x0000b585, 0x80000019,
- 0x0000e487, 0x0004801a, 0x0000b582, 0x06c00000, 0x00006180, 0x8620a019,
- 0x00006007, 0x00000841, 0x00007410, 0x86181302, 0x00006100, 0x557f1019,
- 0x0000e003, 0x07401d14, 0x00006289, 0xc6880000, 0x00008980, 0x00000842,
- 0x0000f400, 0xffffffff, 0x00007f86, 0x00000c1d, 0x00001583, 0x00002c0d,
- 0x00001583, 0x07c00000, 0x0000e180, 0x0000001a, 0x0000658a, 0x0000181f,
- 0x00006106, 0x0000901c, 0x00003484, 0x000800ec, 0x00005780, 0x00006000,
- 0x00008080, 0x00001c0d, 0x0000e583, 0xc000181f, 0x00002006, 0x07400000,
- 0x0000f900, 0x00018008, 0x00000980, 0x001008ec, 0x00005788, 0x00006000,
- 0x00008080, 0x07a81402, 0x00008138, 0x08386f0c, 0x00000204, 0x08b87f0e,
- 0x0000020c, 0x09388f10, 0x00000214, 0x09b89f12, 0x0000021c, 0x0a38af14,
- 0x00000224, 0x0ab8bf16, 0x0000022c, 0xc7232000, 0x00009980, 0x008836ec,
- 0x00005f80, 0x00007001, 0x00000084, 0x0c400080, 0x00006180, 0x0c0000a0,
- 0x00004980, 0x0c800000, 0x00007900, 0x00004000, 0x00000980, 0x82006031,
- 0x00006007, 0x00107032, 0x00003182, 0x29860000, 0x0000f900, 0x001f2252,
- 0x00008980, 0x29d00000, 0x0000f900, 0x002abbe0, 0x00008980, 0x78408000,
- 0x0000e181, 0x50406031, 0x00006003, 0x8280c20e, 0x0000e180, 0x0cc00000,
- 0x00008980, 0x086a1eba, 0x0000f500, 0x2a80000a, 0x00006180, 0x2a402800,
- 0x00004980, 0x8c301002, 0x00000a16, 0x0dc00000, 0x0000e180, 0x8d901202,
- 0x00004900, 0xcd981302, 0x0000e100, 0x00001837, 0x00006106, 0x0d009000,
- 0x00007900, 0x00011ac0, 0x00008980, 0x0d400000, 0x0000f900, 0x00018030,
- 0x00008980, 0x02f06e0d, 0x0000e101, 0xc0001837, 0x0000e006, 0x01c00000,
- 0x00001981, 0x01001000, 0x0000e181, 0x0bc05c05, 0x0000e000, 0x03a02c04,
- 0x00006101, 0x81400fe2, 0x00008880, 0x79602c05, 0x0000a081, 0x02020b00,
- 0x0000f904, 0xc0000709, 0x00006583, 0x0c005c04, 0x00002000, 0x01800000,
- 0x00007910, 0x001f0000, 0x00000980, 0x0e000000, 0x00006190, 0x0f002c05,
- 0x0000e000, 0x01602405, 0x00006301, 0x0e400000, 0x00000990, 0x000008a9,
- 0x00007408, 0x03a02c0e, 0x00006101, 0x0e800000, 0x00000990, 0x0380140e,
- 0x00006081, 0x0ec00000, 0x00004990, 0x81a0740e, 0x00006100, 0x10400002,
- 0x0000c980, 0x203836ec, 0x0000d600, 0x00386000, 0x00008000, 0x0f000000,
- 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000, 0x0000e180, 0x10a07507,
- 0x0000c100, 0x90c04108, 0x0000840e, 0x90605c0b, 0x00009901, 0x814010ec,
- 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009060ec,
- 0x0000d780, 0x00d07380, 0x000001c0, 0x29860000, 0x0000f900, 0x001f2252,
- 0x00008980, 0x29f3e800, 0x00007900, 0x002abbe0, 0x00008980, 0x089f1eba,
- 0x0000f500, 0x2a88000a, 0x0000e180, 0x2979a734, 0x0000c900, 0x2a581302,
- 0x00009900, 0x01c00c07, 0x00006081, 0x02c00c0b, 0x00000081, 0x00205c0d,
- 0x00009503, 0x02c00000, 0x00009989, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x40203d0d, 0x00009503, 0x00000875, 0x00007013, 0x008006ec,
- 0x0000df80, 0x00000000, 0x00000084, 0x01800000, 0x0000f900, 0x001f8080,
- 0x00000980, 0x0140c40e, 0x00006081, 0x11800000, 0x00000980, 0x01019704,
- 0x00006081, 0x81a02c05, 0x00008900, 0x00105032, 0x0000e182, 0x00001031,
- 0x0000b481, 0x203836ec, 0x0000d600, 0x00386000, 0x00008000, 0xcc334803,
- 0x000003d1, 0x11c00000, 0x00006180, 0x91184308, 0x00004900, 0x91204908,
- 0x00008417, 0x51a07404, 0x00006101, 0x11a05c0b, 0x00000901, 0x814010ec,
- 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009060ec,
- 0x0000d780, 0x00d07440, 0x000000c0, 0x29860000, 0x0000f900, 0x001f2252,
- 0x00008980, 0x29f3e800, 0x00007900, 0x002abbe0, 0x00008980, 0x08c61eba,
- 0x0000f500, 0x2a88000a, 0x0000e180, 0x2979a734, 0x0000c900, 0x2a581302,
- 0x00009900, 0x01c00c07, 0x00006081, 0x02c00c0b, 0x00000081, 0x00205c0d,
- 0x00009503, 0x02c00000, 0x00009989, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x1d603d0d, 0x00007812, 0x38400000, 0x00000485, 0x15fb1eec,
- 0x00002084, 0x95f71ee3, 0x00009900, 0xffffffff, 0x00007f97, 0x80131a57,
- 0x00001502, 0x801b1a57, 0x00009502, 0xffffffff, 0x00007f86, 0x000008de,
- 0x0000f008, 0x000008dc, 0x00007008, 0x80172a63, 0x00001502, 0x98f71ee3,
- 0x00009908, 0x000008de, 0x00007009, 0xc0172b63, 0x00001502, 0xd8f71ee3,
- 0x00001908, 0x000008de, 0x00007011, 0x000008df, 0x00007200, 0x99000800,
- 0x00009980, 0x99000000, 0x00001980, 0xffffffff, 0x00007f86, 0x2c003264,
- 0x00009680, 0x95c588b0, 0x00001000, 0x95c00a57, 0x00009080, 0x15c30e57,
- 0x0000f902, 0x18000000, 0x00008004, 0x1602f857, 0x00007902, 0x17800000,
- 0x00000004, 0x1602ea57, 0x00007902, 0x17000000, 0x00008004, 0x1602dc57,
- 0x00007902, 0x16800000, 0x00008004, 0x1602ce57, 0x00007902, 0x16000000,
- 0x00000004, 0x1642a057, 0x00007902, 0x11800000, 0x00000004, 0x25003056,
- 0x0000c389, 0x00003056, 0x00008098, 0x24c01056, 0x00004489, 0x12001056,
- 0x0000029a, 0x00c00056, 0x00004790, 0x02c05056, 0x00000488, 0x22805056,
- 0x0000c4b1, 0x72006056, 0x0000028a, 0x4d806056, 0x0000f8aa, 0xd0400000,
- 0x00008488, 0x00000856, 0x00001582, 0xd8400b61, 0x00001088, 0x0000093c,
- 0x0000f009, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02ae9000,
- 0x0000f900, 0x00328e8c, 0x00008980, 0x02ca7000, 0x0000f900, 0x00153394,
- 0x00008980, 0x03400000, 0x0000e180, 0x08001a08, 0x00006106, 0x01800000,
- 0x000000f0, 0x093c1e83, 0x00007500, 0x82200500, 0x00008022, 0x81c01000,
- 0x0000e180, 0x02401002, 0x0000c900, 0x00002056, 0x00001582, 0xd792aa55,
- 0x0000e108, 0x97800a5e, 0x00004088, 0x0000093c, 0x0000f009, 0x00002056,
- 0x00001582, 0x97c00a5f, 0x000060b0, 0xd7d2aa55, 0x00000930, 0xd752aa55,
- 0x00006118, 0x97400a5d, 0x0000c098, 0x0000093c, 0x0000f030, 0x0000093c,
- 0x0000f000, 0x00004056, 0x00001582, 0xd652aa55, 0x00006108, 0x96400a59,
- 0x00004088, 0x0000093c, 0x0000f009, 0x4ac04056, 0x000078b2, 0x80400000,
- 0x00000489, 0x00006856, 0x00001582, 0xd192aa55, 0x0000e108, 0x91800a46,
- 0x00004088, 0x0000093c, 0x0000f009, 0x000008fc, 0x00007000, 0x18400001,
- 0x000006c0, 0x17c00000, 0x000085f8, 0x17400000, 0x000085f0, 0x16c00000,
- 0x000085e8, 0x0000093c, 0x00007400, 0x16400000, 0x000085e0, 0x11800000,
- 0x000005d0, 0x0000093c, 0x00007200, 0x98000a60, 0x00009080, 0x0000093c,
- 0x00007200, 0xd712aa55, 0x0000e100, 0x97000a5c, 0x0000c080, 0x0000093c,
- 0x00007400, 0x80000264, 0x0000e582, 0xd8000b60, 0x00000080, 0x98d72ae5,
- 0x0000e108, 0xd8d72ae5, 0x00004910, 0x0000093c, 0x00007200, 0xd6d2aa55,
- 0x00006100, 0x96c00a5b, 0x0000c080, 0x0000093c, 0x00007200, 0xd692aa55,
- 0x0000e100, 0x96800a5a, 0x0000c080, 0x0000093c, 0x00007200, 0xd612aa55,
- 0x00006100, 0x96000a58, 0x0000c080, 0x0000093c, 0x00007200, 0xd512aa55,
- 0x00006100, 0x95000a54, 0x0000c080, 0xffffffff, 0x00007f86, 0x15fb1eec,
- 0x0000a884, 0x15fb0e57, 0x0000d004, 0x003b0000, 0x00008000, 0x163af857,
- 0x00005004, 0x003af000, 0x00000000, 0x163aea57, 0x00005004, 0x003ae000,
- 0x00008000, 0x163adc57, 0x00005004, 0x003ad000, 0x00008000, 0x00000001,
- 0x00007480, 0x163ace57, 0x00005004, 0x003ac000, 0x00000000, 0x167aa057,
- 0x00005004, 0x003a3000, 0x00000000, 0x00400000, 0x00007900, 0x00040050,
- 0x00000980, 0xc0c00000, 0x00006180, 0x9670d801, 0x0000e001, 0x00000001,
- 0x00007480, 0x00001000, 0x00006181, 0xc020dc1b, 0x00004901, 0x80f8df1b,
- 0x00009901, 0x01001000, 0x0000e181, 0x0bc0bc05, 0x00006000, 0x02202c04,
- 0x00006101, 0x08400080, 0x00000980, 0x81400fe2, 0x00006080, 0x0c00bc04,
- 0x00006000, 0x79602c05, 0x0000a081, 0x09c00000, 0x000087d4, 0x08800000,
- 0x0000f900, 0x00004000, 0x00000980, 0x001040ec, 0x0000d780, 0x00d07540,
- 0x00008180, 0x0f002c05, 0x0000e000, 0x8203e021, 0x00003007, 0x01602405,
- 0x00006301, 0x00001827, 0x00002106, 0x02202c08, 0x00006101, 0x00003875,
- 0x00002106, 0x01400000, 0x0000f900, 0x001f0000, 0x00000980, 0x02001408,
- 0x00006081, 0x080000a0, 0x0000c980, 0x1d000000, 0x00006180, 0x81604408,
- 0x00004900, 0x09009000, 0x0000f900, 0x00011980, 0x00000980, 0x09400000,
- 0x00007900, 0x00018030, 0x00008980, 0x00209822, 0x0000e182, 0x5043e021,
- 0x00003003, 0xc0001827, 0x00006006, 0x00003074, 0x0000b206, 0x20382eec,
- 0x0000d600, 0x003be000, 0x00000000, 0x08c00000, 0x0000e180, 0x89901202,
- 0x0000c900, 0x09bb8d02, 0x0000871c, 0x9d73ee7d, 0x00006101, 0x1da04413,
- 0x0000c100, 0x88181302, 0x00009900, 0x0088eeec, 0x00005f80, 0x00007000,
- 0x00008084, 0x29860000, 0x0000f900, 0x001f2252, 0x00008980, 0x29c07800,
- 0x00007900, 0x003d107c, 0x00000980, 0x09851eba, 0x0000f500, 0x2a800008,
- 0x0000e180, 0x29501202, 0x0000c900, 0x2a622c45, 0x00009900, 0x2a880008,
- 0x00006180, 0x08003a0e, 0x0000e106, 0x29860000, 0x0000f900, 0x001f2252,
- 0x00008980, 0x29c08000, 0x0000f900, 0x003d107c, 0x00000980, 0x098f1eba,
- 0x0000f500, 0x2a400000, 0x00006180, 0x2950720e, 0x0000c900, 0xeaa0c418,
- 0x00009900, 0x02802c45, 0x00001181, 0x38c00c0a, 0x0000c299, 0x2c003c18,
- 0x0000028b, 0x33e02445, 0x0000c489, 0x60001c45, 0x0000828b, 0x06404c45,
- 0x00004590, 0x83200c18, 0x000082b4, 0x01c00020, 0x00006180, 0x03400000,
- 0x0000c980, 0x02817000, 0x0000f900, 0x003d107c, 0x00000980, 0x02f8b800,
- 0x0000f900, 0x003a173c, 0x00008980, 0x000009ab, 0x0000f400, 0x01800000,
- 0x000000f0, 0x81c01000, 0x00009980, 0x0387bc18, 0x00009281, 0x0000140e,
- 0x00009583, 0x01c00020, 0x00006198, 0x03400000, 0x0000c998, 0x01800000,
- 0x00006198, 0x03000000, 0x00004998, 0x000009c6, 0x0000f030, 0x02827000,
- 0x0000f900, 0x003d107c, 0x00000980, 0x02c82800, 0x0000f900, 0x0010942e,
- 0x00008980, 0x81c01000, 0x00009980, 0xc1c02000, 0x0000e181, 0x08001a08,
- 0x00006106, 0x09b01e83, 0x0000f500, 0x82200500, 0x00008022, 0x02401002,
- 0x00009900, 0x00005c18, 0x00001583, 0x00001418, 0x00009593, 0x01c00020,
- 0x00006198, 0x03400000, 0x0000c998, 0x01800000, 0x00006198, 0x03000000,
- 0x00004998, 0x000009c6, 0x0000f030, 0x02836000, 0x0000f900, 0x003d107c,
- 0x00000980, 0x000009ab, 0x0000f400, 0x02ca9000, 0x00007900, 0x00250a60,
- 0x00000980, 0x81c01000, 0x00009980, 0x01c00020, 0x00006180, 0x03400000,
- 0x0000c980, 0x02838800, 0x0000f900, 0x003d107c, 0x00000980, 0x02e70000,
- 0x00007900, 0x0020280e, 0x00008980, 0x000009ab, 0x0000f400, 0x01800000,
- 0x000000f0, 0x81c01000, 0x00009980, 0x12000000, 0x000084e4, 0x12800000,
- 0x000084ec, 0x13000000, 0x000084f4, 0x13800000, 0x000084fc, 0x14000000,
- 0x000085c4, 0x14800000, 0x000085cc, 0x00003445, 0x00001583, 0x00002445,
- 0x00009583, 0xffffffff, 0x00007f86, 0x000009d6, 0x00007018, 0x000009db,
- 0x00007020, 0x00001c45, 0x00001583, 0x15403006, 0x00006108, 0x15804800,
- 0x0000c988, 0x000009dc, 0x00007009, 0x000009df, 0x00007000, 0x00004c45,
- 0x00001583, 0x15403006, 0x00006108, 0x15805800, 0x00004988, 0x000009dc,
- 0x00007009, 0x000009df, 0x00007000, 0x15404706, 0x00008598, 0x09dd08ce,
- 0x00007100, 0x0f604c45, 0x00004591, 0x87a00418, 0x00008095, 0x01c00020,
- 0x00006180, 0x03400000, 0x0000c980, 0x029d5800, 0x00007900, 0x003d107c,
- 0x00000980, 0x02c4f000, 0x0000f900, 0x0016d71a, 0x00008980, 0x000009ab,
- 0x0000f400, 0x01800000, 0x000000f0, 0x81c01000, 0x00009980, 0x0381201b,
- 0x00001000, 0x0002380e, 0x00009502, 0x01c00020, 0x000061b0, 0x03400000,
- 0x0000c9b0, 0x01800000, 0x000061b0, 0x03000000, 0x000049b0, 0x000009f5,
- 0x0000f018, 0x02be3800, 0x0000f900, 0x003d107a, 0x00000980, 0x000009ab,
- 0x0000f400, 0x02ead000, 0x00007900, 0x00208c42, 0x00008980, 0x81c01000,
- 0x00009980, 0x0000f047, 0x00001502, 0x07c00000, 0x000061a0, 0x88210420,
- 0x0000c921, 0x88000000, 0x000099a9, 0x00000a54, 0x0000f020, 0x80002220,
- 0x00009582, 0x03800000, 0x0000e1b0, 0x04210420, 0x0000c919, 0x03a0c418,
- 0x0000e119, 0x02800800, 0x00004999, 0x00000a0d, 0x00007030, 0x00000a4d,
- 0x00007200, 0x02c00000, 0x00009980, 0x02801620, 0x00001881, 0x7841940a,
- 0x00001081, 0xffffffff, 0x00007fc7, 0x02800a00, 0x00007904, 0x02c0700a,
- 0x00009000, 0x00005847, 0x00009502, 0x07c07047, 0x00001128, 0x00000a0b,
- 0x00007021, 0x00000a54, 0x00007000, 0x0380700a, 0x00006000, 0x88000e20,
- 0x00000081, 0x82b10620, 0x00001900, 0x8091020a, 0x0000782a, 0xa0400000,
- 0x00008582, 0x01408410, 0x00006481, 0x03802620, 0x00004880, 0x03400000,
- 0x00007900, 0x000010c4, 0x00008980, 0x03c0e00e, 0x0000e002, 0x83280500,
- 0x00008900, 0x83802405, 0x0000e080, 0x0440001d, 0x0000c084, 0x04202c10,
- 0x00006101, 0x0010700d, 0x0000a106, 0x83802d00, 0x00009880, 0xc318020e,
- 0x00001080, 0x703868ec, 0x00005600, 0x00386000, 0x00008000, 0x03400000,
- 0x00007900, 0x00007fc0, 0x00000980, 0x83402405, 0x0000e080, 0x03300006,
- 0x00004980, 0x703878ec, 0x0000d600, 0x00388800, 0x00008000, 0x0418100c,
- 0x00006987, 0x703868ec, 0x00005600, 0x00386000, 0x00008000, 0x00c802ec,
- 0x00005f80, 0x10914805, 0x00008ac4, 0x0000040a, 0x00006583, 0x03c0580b,
- 0x00000900, 0x88000000, 0x00006191, 0x04400000, 0x0000c981, 0x03800c11,
- 0x00006080, 0x82802d00, 0x00004880, 0x8290720a, 0x00006000, 0x0350520a,
- 0x00008900, 0x3038620a, 0x00002080, 0xffffffff, 0x00007fa7, 0x02c0600f,
- 0x00001000, 0x00005847, 0x00009502, 0x0287e411, 0x000062a9, 0x07c07847,
- 0x00000128, 0x02c0780f, 0x00006128, 0x03800c0a, 0x000048a8, 0x00000a45,
- 0x0000f020, 0x03800800, 0x0000e181, 0x8290720d, 0x00004000, 0x3039800a,
- 0x00003038, 0x3039920a, 0x00003038, 0x3039a40a, 0x00003038, 0x3039b60a,
- 0x00003038, 0x3079c00a, 0x00003038, 0x3079d20a, 0x00003038, 0x00000a4c,
- 0x0000f400, 0x3079e40a, 0x00003038, 0x3079f60a, 0x00003038, 0x88000e20,
- 0x00006081, 0x04400c11, 0x00000081, 0x00208c05, 0x00009503, 0x03c0600f,
- 0x00001010, 0x00000a4b, 0x0000f009, 0x00000a2d, 0x0000f000, 0x03800000,
- 0x00001981, 0x02800000, 0x00009981, 0x00000410, 0x0000e583, 0x01400000,
- 0x00000981, 0x03800c0e, 0x0000e481, 0x01400800, 0x00000991, 0xffffffff,
- 0x00007f86, 0x01602c0e, 0x00009203, 0x00000a10, 0x0000f013, 0x09802026,
- 0x00006380, 0x06400000, 0x00000980, 0xc9800000, 0x0000e180, 0x09023847,
- 0x0000c900, 0x02a22c45, 0x00006101, 0x00007000, 0x0000e500, 0x80400008,
- 0x0000e180, 0xa0000000, 0x0000e400, 0x00001c45, 0x00001583, 0x0000340a,
- 0x00009583, 0x00004c0a, 0x00009583, 0x00000a65, 0x0000f028, 0x00000a62,
- 0x00007030, 0x00000a65, 0x00007010, 0x80400000, 0x0000e181, 0x00100000,
- 0x0000c380, 0xc0006800, 0x00001981, 0xc0600410, 0x000080cd, 0x41400000,
- 0x000000d0, 0x4dc03445, 0x00004389, 0x00003445, 0x00008098, 0x00401c45,
- 0x00004aa0, 0x00804c45, 0x00000094, 0x81401000, 0x00009981, 0xffffffff,
- 0x00007f86, 0x00000a6f, 0x0000f000, 0x81400000, 0x00001981, 0x81c05800,
- 0x00006181, 0x90000805, 0x0000e401, 0x03801c45, 0x00006181, 0x02802445,
- 0x00000181, 0x00001c0e, 0x0000e583, 0xc0000007, 0x0000a406, 0x09801026,
- 0x000063b0, 0x80000005, 0x00002401, 0x00004c45, 0x0000e583, 0xc1c00000,
- 0x00008981, 0x0000140a, 0x00006593, 0xa0000005, 0x0000a483, 0x001000ec,
- 0x00005780, 0x00c06180, 0x000005c0, 0x12000060, 0x000061b0, 0xc0001807,
- 0x0000e006, 0x00000a9d, 0x00007018, 0x14400000, 0x0000e180, 0x03804418,
- 0x0000c181, 0x0000140e, 0x00006583, 0x94622c45, 0x00008901, 0x12400040,
- 0x00006180, 0x13c00000, 0x0000c980, 0x14000000, 0x00006180, 0x14c23847,
- 0x0000c900, 0x94403800, 0x000061b1, 0x82022049, 0x00006007, 0x00002c45,
- 0x0000e583, 0x0000184f, 0x0000a106, 0x00003050, 0x0000e206, 0x00004053,
- 0x0000b20e, 0x12800000, 0x00007900, 0x00004000, 0x00000980, 0x13009000,
- 0x00007900, 0x000099c0, 0x00008980, 0x13400000, 0x0000f900, 0x00018030,
- 0x00008980, 0x557f1049, 0x0000e003, 0x00003851, 0x0000b106, 0xc000184f,
- 0x0000e006, 0x4520c050, 0x0000b007, 0x12c00000, 0x00006180, 0x45004853,
- 0x0000610f, 0x00000acb, 0x0000f400, 0x92201002, 0x00000438, 0x14a81744,
- 0x00008438, 0x00001c45, 0x00001583, 0x12000060, 0x0000e188, 0x12400040,
- 0x0000c988, 0x12800000, 0x0000f908, 0x00004000, 0x00000980, 0x00000acb,
- 0x0000f010, 0x83817710, 0x0000e080, 0x02801000, 0x00008981, 0x0010704a,
- 0x00006182, 0x0c00bc08, 0x00003000, 0x14000000, 0x00006180, 0x0bc0bc0e,
- 0x0000e000, 0x02a0740a, 0x0000e101, 0x00003050, 0x00002206, 0x83800fe2,
- 0x0000e080, 0x13c00000, 0x0000c980, 0x7960740e, 0x0000a081, 0x02400000,
- 0x0000f900, 0x001f0000, 0x00000980, 0x14400060, 0x0000e180, 0x82022049,
- 0x00006007, 0x4520c050, 0x0000e007, 0x0000184f, 0x00003106, 0x0f20740e,
- 0x00006000, 0x00003851, 0x0000b106, 0x03a0440e, 0x00006301, 0x14c00000,
- 0x00008980, 0x00005c18, 0x0000e583, 0x02a0740a, 0x00008101, 0x0380140a,
- 0x0000e081, 0x557f1049, 0x0000e003, 0x02819710, 0x0000e081, 0x8260740e,
- 0x00008900, 0x13009000, 0x00007900, 0x00009a00, 0x00008980, 0x13400000,
- 0x0000f900, 0x00018030, 0x00008980, 0xc000184f, 0x0000e006, 0x00120053,
- 0x0000320e, 0x20384eec, 0x0000d600, 0x003a2000, 0x00008000, 0x12c00000,
- 0x00006180, 0x92181302, 0x00004900, 0x13a81402, 0x00008438, 0x14ba2f44,
- 0x00000505, 0xd420740a, 0x00001101, 0x009896ec, 0x0000df80, 0x00007000,
- 0x00008084, 0xc0000370, 0x0000e582, 0x02400120, 0x00008980, 0x02800000,
- 0x0000f900, 0x00001100, 0x00008980, 0x02000140, 0x0000e180, 0x8203b809,
- 0x0000e007, 0x00000af2, 0x00007408, 0x0013e00a, 0x0000e182, 0x5043b809,
- 0x0000b003, 0x02c00020, 0x00006180, 0x82181302, 0x0000c900, 0xc3008771,
- 0x00006283, 0x01401f71, 0x00000281, 0x03018410, 0x00006090, 0x03400000,
- 0x00000980, 0x0300080c, 0x0000e794, 0x0000380d, 0x00002106, 0xc2a0640c,
- 0x0000e111, 0x7000080b, 0x0000e401, 0x00001405, 0x0000e583, 0xc000380d,
- 0x0000a006, 0x82005800, 0x00006181, 0x03800001, 0x00004980, 0x03c00000,
- 0x00006180, 0x03003006, 0x0000c900, 0x00000af4, 0x0000f008, 0x8147862f,
- 0x00006283, 0x0147862f, 0x00000281, 0x00000aed, 0x0000700b, 0x00010405,
- 0x0000e583, 0xa000080d, 0x0000a401, 0x00000af8, 0x0000f00b, 0xc4802771,
- 0x00009283, 0x00000001, 0x00007480, 0x0000000b, 0x00006411, 0x0000000a,
- 0x0000b592, 0xc2800000, 0x00009990, 0x00000001, 0x00007280, 0xc2800800,
- 0x00001981, 0x0147862f, 0x00006281, 0x8000080d, 0x00002401, 0xbb47862f,
- 0x0000788e, 0x50400000, 0x00008587, 0x04d3e27c, 0x00006100, 0x0c017c05,
- 0x00006006, 0x04e02813, 0x0000e704, 0x8000080b, 0x00002401, 0x84c00a13,
- 0x00009080, 0x84401a13, 0x00001880, 0x84fffa7c, 0x00007900, 0x0000000e,
- 0x00008280, 0x44400d70, 0x0000e283, 0x84d09a11, 0x00008000, 0x0010980a,
- 0x0000e182, 0x9000080d, 0x0000b411, 0x03c1702e, 0x00001910, 0x00000aed,
- 0x00007008, 0x2c0036e3, 0x00001680, 0x84c588b0, 0x00001000, 0x84c02213,
- 0x00009080, 0x0df89613, 0x00002084, 0xffffffff, 0x00007fa7, 0x04800812,
- 0x00009080, 0x0df89613, 0x0000a884, 0xc4802771, 0x00009283, 0x00000001,
- 0x00007480, 0x0000000b, 0x00006411, 0x0000000a, 0x0000b592, 0xc2800000,
- 0x00009990, 0x0b130acd, 0x0000f100, 0x1b800000, 0x0000e180, 0x01401f71,
- 0x0000c281, 0x00001405, 0x0000e583, 0x0103886e, 0x0000a000, 0x01400000,
- 0x0000e181, 0x1103886e, 0x0000e000, 0x01400800, 0x0000e189, 0x5160806e,
- 0x00006004, 0x17c00000, 0x00006180, 0x8228806e, 0x0000e004, 0x1b000000,
- 0x00006180, 0xb043806e, 0x0000e080, 0x4120286e, 0x00006000, 0x0000185f,
- 0x0000b106, 0x50c3806c, 0x0000e000, 0x3243886e, 0x0000b000, 0x17009000,
- 0x0000f900, 0x00025040, 0x00008980, 0x17400000, 0x00007900, 0x00018030,
- 0x00008980, 0xc000185f, 0x00006006, 0x7303886c, 0x0000b000, 0x00000001,
- 0x00007480, 0x17801002, 0x00006100, 0x08003b6e, 0x00006106, 0x1bfbbf06,
- 0x00008634, 0x0b2f0b12, 0x00007300, 0xc1d722e4, 0x00001900, 0x0a005c5b,
- 0x0000e000, 0x0c017c5a, 0x00003006, 0x0000045b, 0x0000e583, 0x0143c470,
- 0x00008281, 0x849b8370, 0x00006100, 0x85db8370, 0x0000c908, 0x0462d7e4,
- 0x0000e010, 0x85400000, 0x0000c988, 0x00000b3f, 0x0000f008, 0x84400a11,
- 0x00001180, 0x04417211, 0x00009200, 0x04408b70, 0x00001000, 0x0462d011,
- 0x00009700, 0x84401a11, 0x0000e080, 0x85508a11, 0x0000c900, 0x85db8211,
- 0x00001000, 0x0003c405, 0x00009583, 0xb841a000, 0x0000e190, 0x01401e2c,
- 0x00004291, 0x16001405, 0x00001891, 0x00000bc1, 0x00007008, 0x7840c458,
- 0x00001081, 0xffffffff, 0x00007fc7, 0x15020b00, 0x0000f904, 0x15015854,
- 0x00001002, 0x80000217, 0x00006582, 0x15400055, 0x00000084, 0x05020b00,
- 0x00007904, 0x05015814, 0x0000e100, 0x8250ba17, 0x00000910, 0x00000c54,
- 0x0000f008, 0x8441c000, 0x000001ce, 0x0c00a209, 0x00006400, 0x0c80a014,
- 0x00004900, 0x04400c11, 0x00006081, 0x0500a209, 0x00008c00, 0x00018032,
- 0x00006502, 0x82518209, 0x00000100, 0x1002a500, 0x00007904, 0x1000a500,
- 0x0000f904, 0x00000b7f, 0x0000f208, 0x0ac15830, 0x00009000, 0x80000209,
- 0x00006582, 0x04c02413, 0x00000081, 0x15020b00, 0x0000f904, 0x05020b00,
- 0x00007904, 0x00000b4f, 0x00007010, 0x8250ba17, 0x00006100, 0x82304411,
- 0x00004001, 0x0a004405, 0x0000e884, 0x16202c11, 0x00009001, 0x8622c008,
- 0x00006885, 0x84406800, 0x00006180, 0x0143c470, 0x00004281, 0x0003c405,
- 0x00006583, 0x0a004511, 0x00002084, 0x003088ec, 0x0000d702, 0x00007000,
- 0x00000080, 0x16004000, 0x00006189, 0x0a004405, 0x0000e08c, 0x001010ec,
- 0x0000d780, 0x00007000, 0x00000080, 0x04417212, 0x0000e000, 0xdb109212,
- 0x00000900, 0x0008b8ec, 0x00005780, 0x00d07781, 0x00008280, 0x4cf9592c,
- 0x00000300, 0x00000b7c, 0x0000f408, 0x01602c58, 0x00006109, 0x0b817212,
- 0x00008000, 0x0c808811, 0x00001900, 0x80003a2c, 0x00006582, 0x0a004411,
- 0x0000a084, 0x01404000, 0x00006199, 0x0161642c, 0x00004931, 0xffffffff,
- 0x00007f86, 0x01608c05, 0x00009101, 0xb9183b07, 0x00001900, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x00007083, 0x05400e2c, 0x0000e081, 0x0ac00000,
- 0x00008980, 0x8520ac15, 0x00006100, 0x01400c05, 0x0000c081, 0x80116214,
- 0x0000e502, 0x8b000e2c, 0x00000081, 0x00002405, 0x00001583, 0x80116214,
- 0x00001502, 0x00000c5b, 0x00007018, 0x00000b59, 0x0000f010, 0x00000b59,
- 0x0000f020, 0x8520aa2c, 0x00009100, 0x80002214, 0x0000e582, 0x05000180,
- 0x00008980, 0x0160ac2c, 0x00006131, 0x01402000, 0x00008999, 0x85280500,
- 0x00006100, 0x05402415, 0x0000c880, 0x0c014015, 0x00006002, 0x16002405,
- 0x00000881, 0x05400000, 0x00007900, 0x000014c4, 0x00000980, 0x75e80014,
- 0x0000e101, 0x0022c015, 0x00003106, 0x7038a8ec, 0x00005600, 0x0038a000,
- 0x00008000, 0x05400000, 0x00007900, 0x00007fc0, 0x00000980, 0x05800029,
- 0x00006084, 0x05300006, 0x00008980, 0x703980ec, 0x0000d600, 0x0038b000,
- 0x00000000, 0x8562c458, 0x0000e100, 0x04181014, 0x0000e187, 0x7038a8ec,
- 0x00005600, 0x0038a000, 0x00008000, 0x00c002ec, 0x0000df80, 0x109d280b,
- 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x000082f4, 0x0b800000, 0x000082fc, 0x0d382f04, 0x00000314, 0x0db83f06,
+ 0x0000031c, 0xcc981302, 0x00001900, 0x009026ec, 0x0000df80, 0x00007002,
+ 0x00000084, 0x1a460000, 0x0000f900, 0x00002400, 0x00008980, 0x22c00000,
+ 0x00006180, 0x413f1069, 0x00006002, 0x1a000800, 0x0000f900, 0x00080000,
+ 0x00000980, 0x1b800000, 0x0000e180, 0x0000188b, 0x0000e106, 0x00001c29,
+ 0x0000e583, 0x1bc00000, 0x00008980, 0x1a800000, 0x0000f900, 0x00002000,
+ 0x00000980, 0x1c000000, 0x00007900, 0x00004000, 0x00000980, 0x1c848000,
+ 0x0000f900, 0x000080c0, 0x00000980, 0x1d001000, 0x00007900, 0x00001c00,
+ 0x00000980, 0x22009000, 0x0000f900, 0x00015100, 0x00008980, 0x22401800,
+ 0x00007900, 0x0001c008, 0x00008980, 0x00216869, 0x0000e006, 0xc000188b,
+ 0x00003006, 0x1ac00000, 0x0000e180, 0xc000086e, 0x0000e40f, 0x1b101001,
+ 0x0000e180, 0x1b400000, 0x0000c980, 0x1c500001, 0x00006180, 0x1cc00000,
+ 0x0000c980, 0x1d800000, 0x000087dc, 0x1d601702, 0x00000828, 0x22b94502,
+ 0x00000830, 0x23795729, 0x00000838, 0x00000001, 0x00007480, 0x23c1582b,
+ 0x00006100, 0x5a00b000, 0x0000c989, 0x1bc33000, 0x00001989, 0x02b313d8,
+ 0x00007500, 0x10501800, 0x0000e180, 0x10101202, 0x00004900, 0x0be14c29,
+ 0x00001900, 0x1c400000, 0x000007c8, 0x1cc00000, 0x000087e0, 0x1e400000,
+ 0x000007e8, 0x1ec00000, 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000,
+ 0x000008c0, 0x20400000, 0x000008c8, 0x20c00000, 0x000088d0, 0x21400000,
+ 0x000008d8, 0x21c00000, 0x000089e0, 0x26400000, 0x000009e8, 0x26c00000,
+ 0x000089f0, 0x27400000, 0x000009f8, 0x27c00000, 0x000009c0, 0x24400000,
+ 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000, 0x000009d8, 0x25c00000,
+ 0x00009980, 0x72e04c29, 0x00004388, 0x00004c29, 0x00008098, 0x72602429,
+ 0x00004388, 0x00002429, 0x00000098, 0x01001c29, 0x00004789, 0x94603429,
+ 0x0000938c, 0x27603c29, 0x00004789, 0x14405c29, 0x00000d8c, 0x73e05c29,
+ 0x000044a8, 0xc0006c29, 0x0000008f, 0xe6c08429, 0x0000f88a, 0x80000000,
+ 0x00008280, 0x80000233, 0x00006582, 0x01408332, 0x00000880, 0x02002a32,
+ 0x0000e300, 0x05400000, 0x00000980, 0x01408330, 0x00006080, 0x01003000,
+ 0x00004981, 0x02802a30, 0x0000e300, 0x80001004, 0x0000a487, 0x01400000,
+ 0x00006180, 0xc2598b31, 0x0000c900, 0x81400800, 0x0000e188, 0x82518a31,
+ 0x00004900, 0xc0000733, 0x00006583, 0x0b808038, 0x00000780, 0x81800001,
+ 0x0000e188, 0x81b6e810, 0x0000c990, 0xc0000733, 0x00006583, 0xf7e02804,
+ 0x0000a001, 0x05400800, 0x00006189, 0x0b172838, 0x00004200, 0x03400000,
+ 0x00007900, 0x00204000, 0x00008980, 0x00000415, 0x0000e583, 0x08008034,
+ 0x00008780, 0x014c3000, 0x0000f900, 0x00028280, 0x00008980, 0x07172834,
+ 0x0000e200, 0xf7e0a805, 0x0000a001, 0x000002fb, 0x0000f208, 0x84619906,
+ 0x00000034, 0x0b81602e, 0x0000e000, 0xe0000813, 0x0000a400, 0x0b80302e,
+ 0x0000e080, 0xc4a80008, 0x00000980, 0xc5003000, 0x00006180, 0x0b81002e,
+ 0x00004000, 0x0579a738, 0x00000118, 0x0000031b, 0x00007400, 0xc4c00000,
+ 0x0000e180, 0x84a9ed3d, 0x0000c901, 0x0b80e02e, 0x0000e000, 0xc521ec3d,
+ 0x00008901, 0x0b81602e, 0x0000e000, 0x00000012, 0x0000a606, 0x0b80302e,
+ 0x0000e080, 0xc0003012, 0x0000a407, 0x0b817339, 0x00006000, 0x84f00000,
+ 0x00008980, 0x0b817239, 0x0000e000, 0x0001e012, 0x00002206, 0x0b81733a,
+ 0x00006000, 0x0501c038, 0x00000900, 0x0b81723a, 0x0000e000, 0x0541c839,
+ 0x00008900, 0x0b81733b, 0x0000e000, 0x0581d03a, 0x00008900, 0x0b81723b,
+ 0x00006000, 0x05c1d83b, 0x00000900, 0x0b81002e, 0x0000e000, 0x0601a034,
+ 0x00000900, 0x0b80e02e, 0x0000e000, 0x0641a835, 0x00008900, 0x0b817335,
+ 0x00006000, 0x0681b036, 0x00008900, 0x0b817235, 0x0000e000, 0x06c1b837,
+ 0x00000900, 0x04e1ec3d, 0x0000e101, 0x0b817336, 0x0000c000, 0x0b817236,
+ 0x00001000, 0x0000031b, 0x00007400, 0x0b817337, 0x00001000, 0x0b817237,
+ 0x00009000, 0x0b97282e, 0x00001200, 0x0b81701c, 0x00001000, 0x0700802e,
+ 0x00009780, 0x0000001c, 0x00001582, 0x81b05000, 0x00006188, 0x8719eb3d,
+ 0x00004908, 0xc711f23e, 0x0000e108, 0x08000000, 0x00004988, 0x00000319,
+ 0x0000f010, 0x8b000e33, 0x0000e283, 0xc811722e, 0x00008900, 0x0b004000,
+ 0x00006191, 0x0b002800, 0x0000c989, 0x00000099, 0x00006584, 0x0000009d,
+ 0x0000b584, 0x03800e33, 0x0000e281, 0xc721601f, 0x00002007, 0x4b380000,
+ 0x000009e5, 0x8001702c, 0x00007902, 0x0b000000, 0x00000604, 0x8b000e33,
+ 0x0000e283, 0xe7400000, 0x00000980, 0x00001899, 0x0000e106, 0x0000189d,
+ 0x00003106, 0x08405000, 0x00007910, 0x00004042, 0x00000980, 0x03800c0e,
+ 0x0000e481, 0x0d001c2c, 0x00002006, 0x4000054f, 0x0000e583, 0x0b003c2c,
+ 0x00008281, 0xf3e07006, 0x00006000, 0xa000009e, 0x0000b483, 0xc3216099,
+ 0x0000e004, 0xc321609d, 0x00003004, 0x26000702, 0x000009a8, 0x26c00000,
+ 0x0000e180, 0x27001002, 0x0000c900, 0x27c00000, 0x000000f9, 0x0b000000,
+ 0x00006188, 0x0b000800, 0x0000c990, 0x00022046, 0x00009502, 0x00000047,
+ 0x00009582, 0x0000042c, 0x00001583, 0x00000354, 0x0000f010, 0x00000354,
+ 0x0000f008, 0x0000034e, 0x00007008, 0x0b00133f, 0x00009880, 0x0b016250,
+ 0x00001000, 0x0b13002c, 0x00007900, 0x0000003a, 0x00008c80, 0x00000361,
+ 0x0000f400, 0xffffffff, 0x00007f86, 0x0b08c02c, 0x00001d80, 0x0007284d,
+ 0x00009502, 0x00000361, 0x0000f400, 0x0b3ff851, 0x0000f908, 0x0000fffe,
+ 0x00008280, 0x0b3ff84d, 0x00007910, 0x0000fffe, 0x00008280, 0x0007284e,
+ 0x00009502, 0x0b00133f, 0x00001888, 0x0b016250, 0x00009008, 0x0b3a782c,
+ 0x00009808, 0x0b13002c, 0x0000f908, 0x0000003a, 0x00008c80, 0x0b3ff84e,
+ 0x00007910, 0x0000fffe, 0x00008280, 0xffffffff, 0x00007f86, 0x0b08c02c,
+ 0x00009d88, 0xffffffff, 0x00007f86, 0x0b3ff82c, 0x0000f908, 0x0000fffe,
+ 0x00008280, 0x80000233, 0x00009582, 0x0001609e, 0x00006b02, 0x0b000000,
+ 0x00001990, 0x00000369, 0x00007008, 0x03680fd3, 0x0000f500, 0x0cc19c2c,
+ 0x00006804, 0x0d81602c, 0x00009900, 0x83a1b436, 0x00001901, 0x4b000d2d,
+ 0x00001283, 0x24021843, 0x00006110, 0x24423847, 0x0000c910, 0x24824849,
+ 0x0000e110, 0x24c2504a, 0x00004910, 0x00000374, 0x00007008, 0xa519f33e,
+ 0x0000e100, 0x04019895, 0x0000e000, 0xa522ac55, 0x00006101, 0x14428095,
+ 0x0000e000, 0xe521fc3f, 0x00009901, 0x03780464, 0x0000f500, 0x11480800,
+ 0x00007900, 0x0000be02, 0x00000980, 0x11805000, 0x00009980, 0x0e000000,
+ 0x0000e180, 0x80000079, 0x0000e406, 0xc0000311, 0x0000f900, 0x00000002,
+ 0x00008582, 0x0cc00000, 0x00006180, 0x20001879, 0x0000e403, 0x0c800000,
+ 0x000003c4, 0x0c000000, 0x000082fc, 0x0b800000, 0x00006180, 0x04106838,
+ 0x00006107, 0x0e400000, 0x00006180, 0xb0000879, 0x00006405, 0x0d800000,
+ 0x00006180, 0x8b188b11, 0x0000c900, 0x0b21f53d, 0x0000831c, 0x1e001002,
+ 0x0000e100, 0x0d00b016, 0x0000c908, 0x0d40a815, 0x00006108, 0x0d40d81b,
+ 0x00004910, 0x0d00d01a, 0x0000e110, 0x0cc0c819, 0x00004910, 0x0c80c018,
+ 0x0000e110, 0x0c40b817, 0x0000c910, 0x000003c1, 0x0000f400, 0x0c00b016,
+ 0x00006110, 0x0bc0a815, 0x0000c910, 0x0b80a014, 0x00001910, 0x0000040c,
+ 0x0000f400, 0x11400000, 0x00007900, 0x0000bec0, 0x00008980, 0x11800800,
+ 0x00001980, 0x0000040c, 0x0000f400, 0x11400000, 0x00007900, 0x0000bec0,
+ 0x00008980, 0x11800800, 0x00001980, 0x0000040c, 0x0000f400, 0x11400000,
+ 0x00007900, 0x0000bec0, 0x00008980, 0x11800800, 0x00001980, 0x0000040c,
+ 0x0000f400, 0x11400000, 0x00007900, 0x0000bec0, 0x00008980, 0x11800800,
+ 0x00001980, 0x03a70464, 0x00007500, 0x11400000, 0x00007900, 0x0000bec0,
+ 0x00008980, 0x11800800, 0x00001980, 0x0e000000, 0x0000e180, 0x80000079,
+ 0x0000e406, 0xc0000311, 0x0000f900, 0x00000002, 0x00008582, 0x0cc00000,
+ 0x00006180, 0x20001879, 0x0000e403, 0x0c800000, 0x000003c4, 0x0c000000,
+ 0x000082fc, 0x0b800000, 0x00006180, 0x04106838, 0x00006107, 0x0e400000,
+ 0x00006180, 0xb0001079, 0x00006405, 0x0d800000, 0x00006180, 0x8b188b11,
+ 0x0000c900, 0x8b00e11c, 0x0000831e, 0x1e001002, 0x0000e100, 0x0d00b016,
+ 0x0000c908, 0x0d40a815, 0x00006108, 0x0d40d81b, 0x00004910, 0x0d00d01a,
+ 0x0000e110, 0x0cc0c819, 0x00004910, 0x0c80c018, 0x0000e110, 0x0c40b817,
+ 0x0000c910, 0x0c00b016, 0x00006110, 0x0bc0a815, 0x0000c910, 0x0b80a014,
+ 0x00001910, 0x1e401079, 0x00006380, 0x1ea1cc39, 0x00000901, 0x5ea9cd39,
+ 0x00006101, 0x10000079, 0x00006401, 0x9eb1ce39, 0x00006101, 0xe0001879,
+ 0x0000e403, 0xdeb9cf39, 0x0000e101, 0x14616079, 0x0000e001, 0x1ec9c038,
+ 0x0000872c, 0x1ed9c238, 0x0000872c, 0x1f09b837, 0x00008730, 0x1f19622c,
+ 0x00008730, 0x1f49b036, 0x00008734, 0x1f59b236, 0x00008734, 0x1f89a835,
+ 0x00008738, 0x1f99aa35, 0x00008738, 0x1fc9a034, 0x0000873c, 0x1fd9a234,
+ 0x0000873c, 0x20099833, 0x00008800, 0x20199a33, 0x00008800, 0x20499032,
+ 0x00008804, 0x20599232, 0x00008804, 0x20898831, 0x00008808, 0x20998a31,
+ 0x00008808, 0x20c98030, 0x0000880c, 0x20d98230, 0x0000880c, 0x2109782f,
+ 0x00008810, 0x21197a2f, 0x00008810, 0x0000041d, 0x0000f400, 0x2149702e,
+ 0x00008814, 0x2151732e, 0x00008814, 0x03e40464, 0x0000f500, 0x11400000,
+ 0x00007900, 0x0000be40, 0x00000980, 0x11800800, 0x00001980, 0x1a460000,
+ 0x00006180, 0x00000071, 0x00006584, 0x1dc00000, 0x00006180, 0x00000071,
+ 0x0000e405, 0x0d001c04, 0x0000e006, 0x80001071, 0x0000b405, 0x00216869,
+ 0x0000e006, 0x00001877, 0x0000b106, 0x00001871, 0x0000e106, 0x413f1069,
+ 0x00003002, 0x1b800000, 0x00007900, 0x00080000, 0x00000980, 0x1d001000,
+ 0x00007900, 0x00008000, 0x00000980, 0x1d580800, 0x0000f900, 0x00004040,
+ 0x00008980, 0xc0001877, 0x00006006, 0xc3202071, 0x0000b004, 0x1a340802,
+ 0x00006180, 0x1a800000, 0x00004980, 0x1ac00000, 0x0000e180, 0x1c001002,
+ 0x00004900, 0x1b000080, 0x000006f4, 0x1bc00000, 0x00006180, 0x9d901202,
+ 0x0000c900, 0x1d802502, 0x000007a0, 0x1e400000, 0x000007e8, 0x1ec00000,
+ 0x00001980, 0x008806ec, 0x00005f80, 0x00d06e80, 0x000082c4, 0x0000040c,
+ 0x0000f400, 0x11400000, 0x00007900, 0x0000bec0, 0x00008980, 0x11800800,
+ 0x00001980, 0x0200832e, 0x0000e080, 0xc2596b2d, 0x0000c900, 0x11480800,
+ 0x00007900, 0x0000bec2, 0x00000980, 0x0200422e, 0x0000e300, 0x11805000,
+ 0x00000980, 0x040d0464, 0x00007100, 0x0000041d, 0x0000f400, 0xb0001879,
+ 0x00006c05, 0xf0000879, 0x0000ec01, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x03893800, 0x0000f900, 0x002c8980, 0x00000980, 0x03d79800,
+ 0x00007900, 0x001cdbc6, 0x00000980, 0x02000000, 0x0000e180, 0x08001a0c,
+ 0x0000e106, 0x83200500, 0x00008032, 0x041d0f22, 0x00007500, 0x03794702,
+ 0x00000108, 0x81002800, 0x00006180, 0x02814829, 0x0000c900, 0x041e0289,
+ 0x0000f100, 0x00001c29, 0x00001583, 0x000800ec, 0x00005780, 0x00006800,
+ 0x00000080, 0x000808ec, 0x00005788, 0x00006802, 0x00008080, 0x00000426,
+ 0x00007010, 0x0090d6ec, 0x0000df80, 0x00007003, 0x00008084, 0x00003c29,
+ 0x00009583, 0x000808ec, 0x00005788, 0x00006802, 0x00008080, 0x0080d6ec,
+ 0x00005f80, 0x00007003, 0x00008084, 0x01400000, 0x00006180, 0x0802ac08,
+ 0x00006004, 0x00000408, 0x0000e583, 0x06056805, 0x00002006, 0x01800000,
+ 0x00006180, 0x46056805, 0x0000e002, 0x01c00000, 0x0000e180, 0x66056805,
+ 0x0000e000, 0x0000044e, 0x00007408, 0x01040000, 0x0000f900, 0x00200000,
+ 0x00000980, 0x76056805, 0x0000e800, 0x00000c08, 0x00009583, 0x41010800,
+ 0x00006189, 0x26c00000, 0x00004988, 0x26006000, 0x0000f908, 0x00008000,
+ 0x00000980, 0x00000000, 0x0000f090, 0x02400020, 0x0000e180, 0x08001a0a,
+ 0x0000e106, 0x001b109b, 0x0000e106, 0x00105009, 0x00003184, 0x000808ec,
+ 0x0000d780, 0x00d07180, 0x00008188, 0x26580800, 0x00007900, 0x00004180,
+ 0x00000980, 0x26831863, 0x0000e100, 0xc000189b, 0x0000e006, 0x733848ec,
+ 0x0000d600, 0x00000000, 0x00008080, 0x27000082, 0x00006180, 0x27400000,
+ 0x0000c980, 0x27c00000, 0x000089f8, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x24c00000, 0x00006180, 0x08001a08, 0x00006106, 0x02800020,
+ 0x0000e180, 0x001b1093, 0x00006106, 0x000808ec, 0x0000d780, 0x00d07100,
+ 0x00000188, 0x0010400a, 0x0000e184, 0xc0001893, 0x00003006, 0x24006000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x24580800, 0x0000f900, 0x00004180,
+ 0x00000980, 0x733850ec, 0x0000d600, 0x00000000, 0x00008080, 0x41011000,
+ 0x0000e181, 0x24831863, 0x00004900, 0x25000080, 0x00006180, 0x25400100,
+ 0x0000c980, 0x25c2a2ec, 0x0000e100, 0x25800000, 0x00008980, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0x00400000, 0x0000e180, 0x00001000,
+ 0x00006504, 0xc0c00000, 0x00006180, 0xd37a2801, 0x00006004, 0x00000001,
+ 0x00007480, 0x005a3245, 0x00008001, 0x80ea2d45, 0x0000e101, 0x96622801,
+ 0x0000e001, 0x01004462, 0x00009283, 0x0000055f, 0x00007013, 0x01002462,
+ 0x00009283, 0x84000fe2, 0x00001888, 0x50c02410, 0x0000a008, 0x0000055d,
+ 0x0000f010, 0x04740b00, 0x0000f300, 0x50c82410, 0x0000a000, 0x410405ad,
+ 0x00009283, 0x000004d0, 0x00007013, 0x02002462, 0x00006283, 0x03400000,
+ 0x00008981, 0x01400000, 0x00006180, 0x03400800, 0x00004989, 0x01000800,
+ 0x0000f900, 0x00200000, 0x00000980, 0x06056805, 0x0000e006, 0x10606804,
+ 0x0000b000, 0x800002ac, 0x00006582, 0x46056805, 0x00002002, 0x01040004,
+ 0x0000e388, 0x66056805, 0x00002000, 0x400005ad, 0x0000e583, 0x76056805,
+ 0x0000a000, 0x843ffa6c, 0x0000f948, 0x0000001e, 0x00000280, 0x841b0210,
+ 0x00006048, 0x04136005, 0x0000a185, 0x04108005, 0x0000e1cd, 0xc3206004,
+ 0x00003006, 0x02020460, 0x0000e283, 0xc7206804, 0x0000a003, 0x01800000,
+ 0x000080dc, 0x02000000, 0x0000f908, 0x0001c000, 0x00000980, 0x00000551,
+ 0x0000f010, 0x02c33000, 0x0000e180, 0x00206808, 0x0000e000, 0x03408462,
+ 0x00006283, 0x12780000, 0x00008980, 0x83400a6c, 0x00006780, 0x02002008,
+ 0x00008388, 0xc2e06c0d, 0x0000e101, 0x08001a10, 0x00006106, 0x03408462,
+ 0x00006283, 0x71431008, 0x00002000, 0x12400849, 0x0000e388, 0x12408049,
+ 0x00008390, 0x02800000, 0x00006180, 0x0ec3140d, 0x0000e004, 0x12402049,
+ 0x0000e388, 0x12420049, 0x00008390, 0x430205ad, 0x0000e283, 0x12800040,
+ 0x00008980, 0x14000000, 0x00006180, 0x04238008, 0x0000e083, 0x001890ec,
+ 0x0000d780, 0x00007001, 0x00008080, 0x12000000, 0x0000f900, 0x00028000,
+ 0x00008980, 0xc723980a, 0x00006007, 0x04108049, 0x00003101, 0x02400000,
+ 0x00006180, 0x12c18060, 0x00004980, 0x13000000, 0x000084f4, 0x13800000,
+ 0x000084fc, 0x14400000, 0x000005c8, 0x00000518, 0x0000f410, 0x14c00000,
+ 0x00006180, 0x9293626c, 0x0000c900, 0x94206c0d, 0x00001900, 0xc0000360,
+ 0x00006582, 0x3000084b, 0x00002401, 0x7000004b, 0x0000ec03, 0x000004bb,
+ 0x00007009, 0x430405ad, 0x0000e283, 0x00003051, 0x0000a405, 0x80000851,
+ 0x00006c01, 0x0000053b, 0x00007011, 0x03402462, 0x00009283, 0x001008ec,
+ 0x0000d780, 0x00007000, 0x00000080, 0x000004de, 0x00007009, 0x0000040c,
+ 0x00006583, 0x23000000, 0x00000980, 0x0018e8ec, 0x00005790, 0x00007000,
+ 0x00000080, 0x00000473, 0x0000e583, 0x23400000, 0x00008980, 0x000910ec,
+ 0x0000d790, 0x00007000, 0x00000080, 0x23800000, 0x000088fc, 0x430405ad,
+ 0x00001283, 0x800002ac, 0x00009582, 0x03010460, 0x00009283, 0x000004ce,
+ 0x00007008, 0x0000050d, 0x0000f010, 0x000004fe, 0x00007010, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0x04000cad, 0x00006081, 0x01040000,
+ 0x00008980, 0x01136004, 0x00009100, 0x01800000, 0x0000f900, 0x001f0000,
+ 0x00000980, 0x2c102410, 0x00001600, 0x814588b0, 0x00009000, 0x0d431404,
+ 0x0000e880, 0x00202410, 0x00009503, 0x81440205, 0x00001090, 0x00000476,
+ 0x0000f401, 0x00102806, 0x00006986, 0x203836ec, 0x0000d600, 0x003b0800,
+ 0x00000000, 0x84000ee3, 0x0000e080, 0x0c002a0d, 0x0000e184, 0x03c09610,
+ 0x0000f902, 0x04400000, 0x00008100, 0x04007810, 0x00007902, 0x03800000,
+ 0x00000100, 0x0010c8ec, 0x0000d780, 0x00007000, 0x00000080, 0x23000000,
+ 0x000088f4, 0x0480920d, 0x0000e002, 0x23800000, 0x00008980, 0x04400011,
+ 0x00006084, 0x23c00000, 0x00000980, 0x03c0080f, 0x00001082, 0x00000470,
+ 0x0000e583, 0x0380000e, 0x00000084, 0x000040ec, 0x0000d790, 0x00007002,
+ 0x00008080, 0x0000040c, 0x00009583, 0x0018e8ec, 0x00005790, 0x00007000,
+ 0x00000080, 0x00000473, 0x00001583, 0x03f89610, 0x0000d100, 0x00388800,
+ 0x00008000, 0x04387810, 0x00005100, 0x00387000, 0x00000000, 0x000910ec,
+ 0x0000d790, 0x00007000, 0x00000080, 0x99c405ad, 0x0000c48c, 0x1a0002ac,
+ 0x00000192, 0x33810460, 0x0000788f, 0x00000001, 0x00000080, 0x24c11000,
+ 0x000080ef, 0x24831863, 0x00006100, 0x001b1093, 0x00006106, 0x24006000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x24580800, 0x0000f900, 0x00004040,
+ 0x00008980, 0x001120ec, 0x00005780, 0x00007000, 0x00000080, 0x25000080,
+ 0x00006180, 0xc0001893, 0x00006006, 0x25400000, 0x000009d8, 0x25c00000,
+ 0x00009980, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x2300608c,
+ 0x0000e380, 0x001b108f, 0x00002106, 0x000918ec, 0x0000d780, 0x00007000,
+ 0x00000080, 0x42c0a000, 0x0000e181, 0xc000188f, 0x0000e006, 0xa3400800,
+ 0x0000e181, 0x23831863, 0x0000c900, 0xe3000800, 0x00009981, 0x33810460,
+ 0x0000788f, 0xf0000000, 0x00008287, 0x03800c62, 0x00009283, 0x7000184b,
+ 0x00006c13, 0x000004b3, 0x0000f009, 0xc0000755, 0x00009583, 0x92c10000,
+ 0x0000e190, 0x0000804c, 0x00006596, 0x0000104c, 0x00006413, 0x0000204d,
+ 0x0000b596, 0x00000530, 0x00007008, 0x83800b5c, 0x0000e180, 0x0000184f,
+ 0x0000a403, 0x839072ec, 0x0000e100, 0x8000084f, 0x00002401, 0x83c01755,
+ 0x00006080, 0x0000104e, 0x00006403, 0x93c01a0e, 0x00006280, 0x0000184d,
+ 0x00002403, 0x0c002a0e, 0x0000e184, 0x8000084e, 0x00003401, 0x83d0720f,
+ 0x00006000, 0x8000084c, 0x00002401, 0x04107805, 0x00006185, 0x8000084d,
+ 0x00003401, 0x93800b5c, 0x00009180, 0x0000040d, 0x0000e583, 0x0c002a0e,
+ 0x00002184, 0x8381820e, 0x0000e080, 0x70000851, 0x00002401, 0x83bffa0e,
+ 0x00007900, 0x0000001e, 0x00000280, 0x8410740d, 0x00006000, 0x00000850,
+ 0x00002413, 0x04108005, 0x00006985, 0x2ec00360, 0x0000788b, 0xb8000000,
+ 0x00000285, 0x03401462, 0x00009283, 0x835b02ec, 0x00006110, 0x00001852,
+ 0x00002413, 0x83801a0d, 0x0000e290, 0x80000852, 0x0000a411, 0x000004bb,
+ 0x0000f008, 0x94801a0d, 0x00006280, 0x0e031410, 0x00002004, 0x00000410,
+ 0x0000e583, 0x0c002a0d, 0x00002184, 0x83906a0e, 0x00006000, 0x00000853,
+ 0x00002413, 0x83bffa0e, 0x00007900, 0x0000001e, 0x00000280, 0x83507410,
+ 0x00006000, 0x80000060, 0x0000a686, 0x001008ec, 0x0000d780, 0x00007000,
+ 0x00000080, 0x94e08410, 0x0000e110, 0x04106805, 0x0000e185, 0x2fc02462,
+ 0x0000f897, 0xf0000000, 0x00000286, 0x02000000, 0x000080e8, 0x02c33000,
+ 0x0000e180, 0x00206808, 0x0000e000, 0x84000a6c, 0x00006780, 0x71431008,
+ 0x00002000, 0x001008ec, 0x0000d780, 0x00007000, 0x00000080, 0xc723980a,
+ 0x00006007, 0x04238008, 0x0000b083, 0x42c00310, 0x000000a4, 0x2fc02462,
+ 0x0000f897, 0xf0000000, 0x00000286, 0x04760ba0, 0x0000f100, 0x00000476,
+ 0x0000f000, 0x03008462, 0x0000e283, 0x12480000, 0x00008980, 0x01400000,
+ 0x00006180, 0x12400849, 0x00004388, 0x12402049, 0x0000e388, 0x06056805,
+ 0x00002006, 0x08001a10, 0x00006106, 0x0c856c0d, 0x00003000, 0x12408049,
+ 0x0000e390, 0x0e43040c, 0x00002000, 0x12420049, 0x0000e390, 0x46056805,
+ 0x00002002, 0x000918ec, 0x0000d780, 0x00007000, 0x00000080, 0x1dc00000,
+ 0x000088fc, 0x12800000, 0x00007900, 0x00004380, 0x00008980, 0x66056805,
+ 0x0000e000, 0x04108049, 0x00003101, 0x001008ec, 0x0000d780, 0x00d07480,
+ 0x000000c0, 0x00001877, 0x0000e106, 0x001b108f, 0x0000b106, 0x0420640d,
+ 0x00006201, 0x76056805, 0x0000a000, 0x01000800, 0x0000f900, 0x00200004,
+ 0x00008980, 0x02040000, 0x0000f900, 0x00004000, 0x00000980, 0x12000000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x1d001000, 0x00007900, 0x00004000,
+ 0x00000980, 0x1d400000, 0x00007900, 0x00040040, 0x00008980, 0x23006000,
+ 0x00007900, 0x00004000, 0x00000980, 0x0008e8ec, 0x00005780, 0x00007000,
+ 0x00000080, 0xc0001877, 0x00006006, 0xc000188f, 0x0000b006, 0x01800000,
+ 0x00006180, 0x75e0804a, 0x0000e001, 0x01c00000, 0x000080e4, 0x02800000,
+ 0x00006180, 0x02e00002, 0x0000c980, 0x12c00000, 0x00006180, 0x9d901202,
+ 0x0000c900, 0xdd981302, 0x00006100, 0x23400020, 0x0000c980, 0x23831863,
+ 0x00009900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x81000fe2,
+ 0x0000e080, 0x00000039, 0x0000e586, 0x50e1c404, 0x0000a081, 0x50d03c04,
+ 0x0000a082, 0x04460000, 0x00006180, 0x09406c05, 0x0000e000, 0x063ffa42,
+ 0x0000f900, 0x0000001e, 0x00000280, 0x4001c039, 0x00006000, 0x06022811,
+ 0x0000b006, 0x0001c439, 0x0000e004, 0x46022811, 0x0000b002, 0x01008439,
+ 0x0000e283, 0x04121011, 0x0000a185, 0x01000800, 0x0000e190, 0x09806804,
+ 0x00006008, 0x04000800, 0x0000f900, 0x00040014, 0x00000980, 0x01002405,
+ 0x0000e000, 0x04800000, 0x00008980, 0x01801404, 0x0000e081, 0x0e022c05,
+ 0x0000e006, 0x810016e3, 0x0000e080, 0x04c00000, 0x0000c980, 0x0cc0b804,
+ 0x0000f902, 0x05800000, 0x00000100, 0x0cc0ac04, 0x0000f902, 0x05000000,
+ 0x00008100, 0x06400000, 0x00009980, 0xffffffff, 0x00007f86, 0x05c0b818,
+ 0x0000e002, 0x06000000, 0x00008980, 0x05400815, 0x0000e082, 0x05800016,
+ 0x00000084, 0xc100270d, 0x00006283, 0x05000014, 0x00000084, 0x0cf8b804,
+ 0x0000d100, 0x0038b000, 0x00000000, 0x0cf8ac04, 0x0000d100, 0x0038a000,
+ 0x00008000, 0x05800000, 0x00007900, 0x00040000, 0x00000980, 0x05080000,
+ 0x00007900, 0x0000c002, 0x00000980, 0x000005c7, 0x00007410, 0x07400000,
+ 0x0000e190, 0x05c33000, 0x00004980, 0x07400000, 0x0000e188, 0x05400000,
+ 0x0000c980, 0x01008439, 0x00001283, 0x07400800, 0x00001988, 0xc100470d,
+ 0x00006283, 0x01000000, 0x00008981, 0x01000800, 0x00006189, 0x06c02060,
+ 0x0000c980, 0x0938670b, 0x00008220, 0x08004008, 0x00006100, 0x34e0201b,
+ 0x00006001, 0x02008439, 0x0000e283, 0x07002060, 0x00008980, 0x0c000000,
+ 0x0000f900, 0x00014000, 0x00008980, 0x0c800000, 0x00007900, 0x00020000,
+ 0x00000980, 0x12580000, 0x00007900, 0x00200000, 0x00000980, 0xd341c028,
+ 0x0000e014, 0xd3403824, 0x0000b014, 0x0c400000, 0x000083cc, 0x00000404,
+ 0x0000e583, 0x12800040, 0x00008980, 0x08001a04, 0x00006106, 0x34e0e81c,
+ 0x00003001, 0x0b000000, 0x00007900, 0x00224180, 0x00000980, 0x12000000,
+ 0x0000f900, 0x00014000, 0x00008980, 0x12c12000, 0x0000f900, 0x00006080,
+ 0x00000980, 0x14000000, 0x0000f900, 0x00108000, 0x00008980, 0x22136000,
+ 0x00007900, 0x001acd18, 0x00008980, 0x1fbffa42, 0x0000f900, 0x0000001e,
+ 0x00000280, 0x4c800000, 0x0000f900, 0x00002240, 0x00000980, 0x06806060,
+ 0x0000e180, 0x04102049, 0x00006101, 0x0780c060, 0x00006180, 0x07c06060,
+ 0x0000c980, 0x08c00000, 0x000002d4, 0x09800000, 0x000082dc, 0x0a400000,
+ 0x000002e8, 0x0ac00000, 0x00006180, 0x08404809, 0x0000c900, 0x0880070a,
+ 0x000002b4, 0x0b817000, 0x000082fc, 0x0d400000, 0x000003d8, 0x0de03000,
+ 0x000001e3, 0x46404800, 0x0000e181, 0x8d121a43, 0x0000c900, 0x0d000543,
+ 0x000004b0, 0x13402020, 0x00006180, 0x13802060, 0x0000c980, 0x13c00000,
+ 0x000005c4, 0x14800000, 0x000085cc, 0x1d400004, 0x00006180, 0x1fe02c05,
+ 0x00004900, 0x0c08720e, 0x00000300, 0x0c10680e, 0x00000304, 0x0c40690d,
+ 0x00008304, 0x06080f59, 0x00007500, 0xccfa0740, 0x00006101, 0x9280e406,
+ 0x00004080, 0x07408060, 0x00009980, 0x80000640, 0x0000e583, 0x16c00000,
+ 0x00000980, 0x17800000, 0x0000e180, 0xc0000010, 0x0000644b, 0x41408541,
+ 0x00006283, 0x0000185b, 0x0000a106, 0x17c00002, 0x0000e180, 0x0002005e,
+ 0x0000e206, 0x81002302, 0x00006780, 0x19000000, 0x00000980, 0x19800000,
+ 0x00006180, 0xc000185b, 0x0000e006, 0x16001000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x16400000, 0x0000f900, 0x00040080, 0x00008980, 0x17086000,
+ 0x00007900, 0x00010000, 0x00000980, 0x17501800, 0x0000f900, 0x00004100,
+ 0x00008980, 0x18402000, 0x0000f900, 0x00100000, 0x00000980, 0x001020ec,
+ 0x0000d780, 0x00d073c2, 0x000080c0, 0x0002085f, 0x0000e106, 0x4510205e,
+ 0x00003107, 0x16a81402, 0x00008528, 0x18202004, 0x0000e180, 0x188c0000,
+ 0x0000c980, 0x18c00000, 0x000006d4, 0x19c00000, 0x000006e0, 0x1a400000,
+ 0x00006180, 0x1ac1e03c, 0x00004900, 0x0000063f, 0x0000f410, 0x1a81e03d,
+ 0x0000e000, 0xd9101202, 0x00008900, 0xd99a0b41, 0x0000e100, 0x97401800,
+ 0x00004989, 0x82c030ec, 0x0000f902, 0x01400000, 0x00008604, 0x1b400020,
+ 0x00006180, 0x0140a204, 0x0000c880, 0x08020004, 0x00006206, 0x0002086d,
+ 0x00003106, 0x1b800000, 0x0000e180, 0x00000861, 0x00006402, 0x1b002005,
+ 0x0000e300, 0x00000862, 0x0000a402, 0x0d001c04, 0x0000e006, 0x0010786e,
+ 0x0000b302, 0x1bc00000, 0x00006180, 0xc320206d, 0x00006004, 0x19c0320f,
+ 0x00009000, 0x009896ec, 0x0000df80, 0x00d07580, 0x00008384, 0x1c800000,
+ 0x00006180, 0x1cc00002, 0x00004980, 0x00020072, 0x00006206, 0xc0001016,
+ 0x00003407, 0x18100000, 0x00007900, 0x00008002, 0x00008980, 0x1d420000,
+ 0x0000f900, 0x00020000, 0x00000980, 0x1c086000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x1c580800, 0x00007900, 0x00004080, 0x00008980, 0x0008b0ec,
+ 0x0000d780, 0x00d07701, 0x00000180, 0x00020873, 0x00006106, 0x45102072,
+ 0x0000b107, 0x85d00011, 0x000086c4, 0x18800000, 0x000086cc, 0x19000000,
+ 0x000086d8, 0x1a800000, 0x000086ec, 0x1d000082, 0x00006180, 0x1d800000,
+ 0x0000c980, 0x1dc00000, 0x00001980, 0x009896ec, 0x0000df80, 0x00007000,
+ 0x00008084, 0x81c00fe2, 0x0000e080, 0x00000006, 0x0000e586, 0x50e1d407,
+ 0x00002081, 0x50d1cc07, 0x00002082, 0x05bffa46, 0x0000f900, 0x0000001e,
+ 0x00000280, 0x04460000, 0x00006180, 0x0e024c0f, 0x0000e006, 0x4001d006,
+ 0x0000e000, 0x06024811, 0x0000b006, 0x0001d406, 0x00006004, 0x46024811,
+ 0x0000b002, 0x01008406, 0x0000e283, 0x04123011, 0x00002185, 0x01c00800,
+ 0x0000e190, 0x09806807, 0x00006008, 0x04800000, 0x00006180, 0x09406c04,
+ 0x00006000, 0x01c03c04, 0x00006000, 0x04c00000, 0x00000980, 0x0e001407,
+ 0x00006081, 0x05c11000, 0x00004980, 0x81c016e3, 0x0000e080, 0x06000000,
+ 0x00004980, 0x0cc0a807, 0x00007902, 0x05000000, 0x00008100, 0x0cc02e07,
+ 0x0000f902, 0x01000000, 0x00000100, 0x04000800, 0x0000f900, 0x00040004,
+ 0x00008980, 0x06400000, 0x00009980, 0x0540a816, 0x00009002, 0x01400805,
+ 0x0000e082, 0x05000014, 0x00000084, 0x01000004, 0x00009084, 0x0cf82e07,
+ 0x0000d100, 0x00382000, 0x00000000, 0xc100270d, 0x00009283, 0x05800000,
+ 0x00007900, 0x000c0000, 0x00008980, 0x0cf8a807, 0x00005100, 0x0038a000,
+ 0x00008000, 0x0000068a, 0x00007410, 0x05100000, 0x00007900, 0x0000c002,
+ 0x00000980, 0x05400000, 0x0000e180, 0x01000000, 0x00004990, 0x01008406,
+ 0x00001283, 0x01000000, 0x00009980, 0x01000800, 0x00009988, 0xc100470d,
+ 0x00006283, 0x01c00000, 0x00008981, 0x07002060, 0x00006180, 0x01c00800,
+ 0x00004989, 0x06c02060, 0x0000e180, 0x34e0201c, 0x0000e001, 0x0938670b,
+ 0x00008220, 0x01008406, 0x0000e283, 0x34e0381b, 0x0000a001, 0x0c000000,
+ 0x0000f900, 0x0001c000, 0x00000980, 0x0c800000, 0x00007900, 0x00020000,
+ 0x00000980, 0x13580000, 0x0000f900, 0x00200000, 0x00000980, 0xd341d028,
+ 0x00006014, 0xd341c824, 0x00003014, 0x0c400000, 0x000083cc, 0x00000407,
+ 0x0000e583, 0x13800040, 0x00000980, 0x06806060, 0x0000e180, 0x08001a07,
+ 0x00006106, 0x0b000000, 0x00007900, 0x00224180, 0x00000980, 0x13000000,
+ 0x00007900, 0x00014000, 0x00008980, 0x13c18000, 0x00007900, 0x00006080,
+ 0x00000980, 0x15000000, 0x00007900, 0x00108000, 0x00008980, 0x221f4800,
+ 0x00007900, 0x0004af3a, 0x00000980, 0x1fbffa46, 0x00007900, 0x0000001e,
+ 0x00000280, 0x4c800000, 0x0000f900, 0x00002600, 0x00000980, 0x07408060,
+ 0x0000e180, 0x0410384d, 0x0000e101, 0x0780c060, 0x00006180, 0x07c0c060,
+ 0x0000c980, 0x08c00000, 0x000002d4, 0x09800000, 0x000082dc, 0x0a400000,
+ 0x000002e8, 0x0ac00000, 0x00006180, 0x08004008, 0x00004900, 0x08785709,
+ 0x00000208, 0x0b400000, 0x000002f8, 0x0bc0002e, 0x000083d4, 0x0d800000,
+ 0x000083dc, 0xc6205406, 0x000001e6, 0x0d2a3c47, 0x00008310, 0x14000000,
+ 0x00006180, 0x14402020, 0x0000c980, 0x14802060, 0x00006180, 0x14c00000,
+ 0x00004980, 0x15400000, 0x000005d8, 0x15c00000, 0x0000e180, 0x1d400004,
+ 0x00004980, 0xdfd0700f, 0x00008300, 0x0c00710e, 0x00008300, 0x0c486a0d,
+ 0x00000304, 0x06ca0f59, 0x0000f500, 0x0c6a280d, 0x0000030e, 0x9380e438,
+ 0x00001080, 0x41008545, 0x00006283, 0x17c00000, 0x00008980, 0x97901202,
+ 0x0000e100, 0x0000185f, 0x0000e106, 0x17001000, 0x00007900, 0x00004000,
+ 0x00000980, 0x000006db, 0x0000f408, 0x17400000, 0x00007900, 0x00040080,
+ 0x00008980, 0xd7981302, 0x00006100, 0xc000185f, 0x00006006, 0x05c00000,
+ 0x0000e181, 0xc0000016, 0x0000e407, 0x001020ec, 0x0000d780, 0x00d073c2,
+ 0x00008180, 0x00989eec, 0x00005f80, 0x00d075c0, 0x000080c4, 0x18800000,
+ 0x0000e180, 0x08022007, 0x0000e206, 0x19006800, 0x00006180, 0x00022062,
+ 0x00006206, 0x18c00002, 0x0000e180, 0x81002302, 0x0000c780, 0x19400080,
+ 0x0000e180, 0x1d480004, 0x0000c980, 0xd9103a07, 0x00006100, 0x00022863,
+ 0x00006106, 0x08022007, 0x0000e206, 0x45102062, 0x00003107, 0x1808e000,
+ 0x0000f900, 0x0000d880, 0x00000980, 0x18401000, 0x0000f900, 0x00014000,
+ 0x00008980, 0x001020ec, 0x0000d780, 0x00d073c2, 0x00008180, 0x223d6000,
+ 0x00007900, 0x0004af3a, 0x00000980, 0x19800000, 0x000086dc, 0x1a000000,
+ 0x000086e4, 0x1a800000, 0x000086ec, 0x1fc00000, 0x000087f8, 0x06f60f59,
+ 0x0000f500, 0x19687c47, 0x00000616, 0xdd503a07, 0x00001900, 0x00989eec,
+ 0x00005f80, 0x00d075c0, 0x00008284, 0x92800fe2, 0x0000e080, 0x00000006,
+ 0x0000e586, 0x50e10c4a, 0x00002081, 0x50d1044a, 0x0000a082, 0x05bffa46,
+ 0x0000f900, 0x0000001e, 0x00000280, 0x04460000, 0x00006180, 0x0e024c07,
+ 0x00006006, 0x40010806, 0x0000e000, 0x06024811, 0x0000b006, 0x00010c06,
+ 0x00006004, 0x46024811, 0x0000b002, 0x01008406, 0x0000e283, 0x04123011,
+ 0x00002185, 0x12800800, 0x0000e190, 0x0980684a, 0x00006008, 0x04800000,
+ 0x00006180, 0x09406c04, 0x00006000, 0x01025404, 0x00006000, 0x04c00000,
+ 0x00000980, 0x928016e3, 0x0000e080, 0x03c01404, 0x0000c881, 0x0cc0284a,
+ 0x0000f902, 0x01000000, 0x00000100, 0x0cc0ae4a, 0x00007902, 0x05000000,
+ 0x00008100, 0x04000800, 0x0000f900, 0x00040004, 0x00008980, 0x05c00022,
+ 0x000001e0, 0x01402816, 0x00006002, 0x06400000, 0x00000980, 0x05400815,
+ 0x0000e082, 0x01000004, 0x00000084, 0x0cf8284a, 0x0000d100, 0x00382000,
+ 0x00000000, 0xc100270d, 0x00006283, 0x05000014, 0x00000084, 0x05800000,
+ 0x00007900, 0x000c0000, 0x00008980, 0x0cf8ae4a, 0x00005100, 0x0038a000,
+ 0x00008000, 0x00000729, 0x0000f410, 0x05180000, 0x0000f900, 0x00010002,
+ 0x00008980, 0x05400000, 0x0000e180, 0x01000000, 0x00004990, 0x01008406,
+ 0x00001283, 0x01000000, 0x00009980, 0x01000800, 0x00009988, 0xc100470d,
+ 0x00006283, 0x01400000, 0x00000981, 0x07002060, 0x00006180, 0x0a00580b,
+ 0x0000c900, 0x0b00600c, 0x00006100, 0x34e0201c, 0x0000e001, 0x01400800,
+ 0x0000e189, 0x09004008, 0x0000c900, 0x01008406, 0x0000e283, 0x022242ec,
+ 0x00000101, 0x13600000, 0x00007900, 0x00200000, 0x00000980, 0xd341082c,
+ 0x0000e014, 0xd3410028, 0x0000b014, 0x00000405, 0x00006583, 0x08001a04,
+ 0x0000a106, 0x06c02060, 0x0000e180, 0x0410204d, 0x0000e101, 0x01001c08,
+ 0x0000e283, 0x0d400000, 0x00008980, 0x0d000000, 0x00007900, 0x0001c000,
+ 0x00000980, 0x0d800000, 0x0000f900, 0x00020000, 0x00000980, 0x13c00000,
+ 0x00007900, 0x00006080, 0x00000980, 0x0dc00000, 0x0000e180, 0x13800040,
+ 0x0000c980, 0x08000040, 0x00006180, 0x34e0281b, 0x0000e001, 0x0c000000,
+ 0x0000f900, 0x00224180, 0x00000980, 0x13000000, 0x00007900, 0x00014000,
+ 0x00008980, 0x16000000, 0x00007900, 0x00108000, 0x00008980, 0x4d800000,
+ 0x00007900, 0x00002600, 0x00000980, 0x06806060, 0x0000e180, 0x07408060,
+ 0x0000c980, 0x0780c060, 0x00006180, 0x07c0c060, 0x0000c980, 0x09c00000,
+ 0x000082e4, 0x0a800000, 0x000082ec, 0x0b400000, 0x000002f8, 0x0bc00000,
+ 0x0000e180, 0x09404809, 0x00004900, 0x0980070a, 0x00000384, 0x0c817000,
+ 0x000083cc, 0x0e400000, 0x000003e8, 0x0ec00000, 0x000082c8, 0x08e03800,
+ 0x000081e3, 0x46405800, 0x00006181, 0x8e123a47, 0x0000c900, 0xce1a3b47,
+ 0x00006100, 0x14008160, 0x00004980, 0x14402020, 0x0000e180, 0x14802060,
+ 0x00004980, 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8, 0x15c00000,
+ 0x000085e4, 0x16800000, 0x000085ec, 0x08400000, 0x00006180, 0x8d706e0d,
+ 0x0000c901, 0x0d40690d, 0x00008314, 0x0d08720e, 0x00000310, 0x0d20740e,
+ 0x0000e101, 0x93c18248, 0x0000c080, 0x0000079c, 0x00007410, 0xcdf22e45,
+ 0x0000e101, 0x9380e40f, 0x0000c080, 0x01401c08, 0x0000e281, 0x88124248,
+ 0x00000900, 0x2203a800, 0x00007900, 0x0004af3c, 0x00000980, 0x07790f59,
+ 0x0000f500, 0x1fbffa46, 0x00007900, 0x0000001e, 0x00000280, 0x1fe03c07,
+ 0x00006100, 0x1d400004, 0x00004980, 0x18800000, 0x000085fc, 0x81002302,
+ 0x00006780, 0x00022062, 0x0000a206, 0x0802204a, 0x0000e206, 0x0000185f,
+ 0x0000b106, 0x18c00002, 0x0000e180, 0x45102062, 0x00006107, 0x19006800,
+ 0x00006180, 0x08022004, 0x0000e206, 0x19400080, 0x0000e180, 0x1d480004,
+ 0x0000c980, 0x17001000, 0x00007900, 0x00004000, 0x00000980, 0x17400000,
+ 0x00007900, 0x00040080, 0x00008980, 0x1808e000, 0x0000f900, 0x0000d880,
+ 0x00000980, 0x18401000, 0x0000f900, 0x00014000, 0x00008980, 0x001820ec,
+ 0x00005780, 0x00d073c2, 0x00008180, 0x221f5800, 0x0000f900, 0x0004af3c,
+ 0x00000980, 0xc000185f, 0x00006006, 0x00022863, 0x00003106, 0x17a81402,
+ 0x00008538, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000,
+ 0x000086ec, 0x1fc00000, 0x000087f8, 0x079a0f59, 0x00007500, 0x9922394a,
+ 0x00008614, 0x9d687904, 0x00008616, 0x00809eec, 0x00005f80, 0x00d075c1,
+ 0x00000284, 0x0cf8304a, 0x0000a180, 0x01000405, 0x0000f900, 0x00002600,
+ 0x00000380, 0x0cf8284a, 0x00002100, 0x4d802004, 0x00006100, 0x30000050,
+ 0x00006401, 0x01001c08, 0x0000e280, 0x80000850, 0x0000a401, 0x01803004,
+ 0x00006002, 0x1d400004, 0x00008980, 0x01400005, 0x00006084, 0x1fe03c07,
+ 0x00008900, 0x2203a800, 0x00007900, 0x0004af3c, 0x00000980, 0x1fbffa46,
+ 0x00007900, 0x0000001e, 0x00000280, 0x07b00f59, 0x0000f500, 0x0cf8304a,
+ 0x0000d100, 0x00382800, 0x00008000, 0x94001c08, 0x00001280, 0x18800000,
+ 0x000085fc, 0x81002302, 0x00006780, 0x00022062, 0x0000a206, 0x0802204a,
+ 0x0000e206, 0x0000185f, 0x0000b106, 0x18c00002, 0x0000e180, 0x45102062,
+ 0x00006107, 0x19006800, 0x00006180, 0x08022004, 0x0000e206, 0x19400080,
+ 0x0000e180, 0x1d480004, 0x0000c980, 0x17001000, 0x00007900, 0x00004000,
+ 0x00000980, 0x17400000, 0x00007900, 0x00040080, 0x00008980, 0x1808e000,
+ 0x0000f900, 0x0000d880, 0x00000980, 0x18401000, 0x0000f900, 0x00014000,
+ 0x00008980, 0x001820ec, 0x00005780, 0x00d073c2, 0x00008180, 0x221f5800,
+ 0x0000f900, 0x0004af3c, 0x00000980, 0xc000185f, 0x00006006, 0x00022863,
+ 0x00003106, 0x17a81402, 0x00008538, 0x19800000, 0x000086dc, 0x1a000000,
+ 0x000086e4, 0x1a800000, 0x000086ec, 0x1fc00000, 0x000087f8, 0x07d10f59,
+ 0x00007500, 0x9922394a, 0x00008614, 0x9d687904, 0x00008616, 0x00809eec,
+ 0x00005f80, 0x00d075c1, 0x00000284, 0x8e000fe2, 0x0000e080, 0x00000006,
+ 0x0000e586, 0x50e1ec38, 0x0000a081, 0x50d1d438, 0x00002082, 0x04400000,
+ 0x00006180, 0x0a41e23b, 0x00006100, 0x06022811, 0x0000e006, 0x0e022c39,
+ 0x0000b006, 0x4001e806, 0x00006000, 0x46022811, 0x0000b002, 0x0001ec06,
+ 0x0000e004, 0x66022811, 0x0000b000, 0x01008406, 0x0000e283, 0x76022811,
+ 0x0000a000, 0x0e000800, 0x0000e190, 0x09806838, 0x00006008, 0x41040545,
+ 0x00006283, 0x09406c04, 0x0000a000, 0x0e01c404, 0x00006000, 0x04122011,
+ 0x0000218d, 0x0f801438, 0x00006081, 0x18000000, 0x00004980, 0x18400000,
+ 0x0000e180, 0x0c01fa38, 0x00006192, 0x8e1a2238, 0x00006110, 0x18800000,
+ 0x00000980, 0x18c00000, 0x00006180, 0x0411c011, 0x00006195, 0x8e0016e3,
+ 0x0000e080, 0x19000000, 0x0000c980, 0x0cc02838, 0x0000f902, 0x01000000,
+ 0x00000100, 0x0cc07e38, 0x0000f902, 0x01c00000, 0x00000100, 0x19400000,
+ 0x00006180, 0x0c008a14, 0x00006184, 0x04001800, 0x00007900, 0x00040000,
+ 0x00000980, 0x01402a14, 0x00006002, 0x19800000, 0x00008980, 0x01000004,
+ 0x00006084, 0x19c00000, 0x00000980, 0x03c0080f, 0x0000e082, 0x1a000000,
+ 0x00000980, 0x0cf82838, 0x0000d100, 0x00382000, 0x00000000, 0x01c00007,
+ 0x00006084, 0x1a400000, 0x00008980, 0xc100270d, 0x00006283, 0x1a800000,
+ 0x00008980, 0x05000000, 0x0000f900, 0x00010002, 0x00008980, 0x0cf87e38,
+ 0x0000d100, 0x00383800, 0x00000000, 0x1ac00000, 0x000086f0, 0x1b400000,
+ 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000,
+ 0x000081c8, 0x04c00000, 0x000001d4, 0x05800000, 0x000081dc, 0x00000816,
+ 0x0000f410, 0x06000000, 0x000081e4, 0x01000000, 0x00001990, 0x01008406,
+ 0x00001283, 0x01000000, 0x00009980, 0x01000800, 0x00009988, 0xc100470d,
+ 0x00006283, 0x0e000000, 0x00008981, 0x07002060, 0x00006180, 0x0900580b,
+ 0x0000c900, 0x0a00600c, 0x0000e100, 0x34e0201c, 0x0000e001, 0x0e000800,
+ 0x00006189, 0x06c02060, 0x0000c980, 0x01008406, 0x0000e283, 0x07c00040,
+ 0x00008980, 0xd341e828, 0x0000e014, 0xd341d024, 0x00003014, 0x00000438,
+ 0x0000e583, 0x34e1c01b, 0x0000a001, 0xc102073f, 0x0000e283, 0x06806060,
+ 0x00000980, 0x0b000000, 0x00007900, 0x00224180, 0x00000980, 0x07408060,
+ 0x0000e180, 0x0780c060, 0x00004980, 0x08c00000, 0x000002d4, 0x09800000,
+ 0x000082dc, 0x0a400000, 0x000002e8, 0x0ac00000, 0x00006180, 0x08004008,
+ 0x00004900, 0x08785709, 0x00000208, 0x0b400000, 0x000002f8, 0x0bc00036,
+ 0x000083d8, 0x0dc00000, 0x0000e180, 0x8c706e0d, 0x00004901, 0x0c40690d,
+ 0x00008304, 0x0c08720e, 0x00000300, 0x0000083b, 0x0000f408, 0x0c20300e,
+ 0x000081a3, 0x07e04444, 0x000081a6, 0x41020545, 0x00009283, 0x0bc17000,
+ 0x00009991, 0x0e01c63c, 0x0000e281, 0x12800040, 0x00008980, 0x0000c438,
+ 0x0000e583, 0x1d40000e, 0x00008980, 0x0e000000, 0x0000f908, 0x00002400,
+ 0x00008980, 0x0e000400, 0x0000e190, 0x08001b75, 0x0000e106, 0x12600000,
+ 0x0000f900, 0x00200000, 0x00000980, 0x12c00000, 0x0000f900, 0x00006080,
+ 0x00000980, 0x4c81c038, 0x0000e100, 0xccaa0d41, 0x0000c901, 0xcc220c41,
+ 0x00006101, 0x08001a38, 0x00006106, 0x12000000, 0x0000f900, 0x00014000,
+ 0x00008980, 0x15000000, 0x00007900, 0x00104000, 0x00008980, 0x2218e800,
+ 0x0000f900, 0x00254cd4, 0x00008980, 0x8cfa0f41, 0x0000e101, 0x0411c049,
+ 0x00006101, 0xcc720e41, 0x0000e101, 0x8cd1fc45, 0x0000c000, 0x0ce2133d,
+ 0x00008310, 0x0d3a0542, 0x00008314, 0x13000060, 0x0000e180, 0x13402020,
+ 0x00004980, 0x13802060, 0x0000e180, 0x13c00000, 0x0000c980, 0x14000000,
+ 0x000085c4, 0x14800000, 0x000085cc, 0x15400000, 0x000005d8, 0x15c00000,
+ 0x0000e180, 0x1fd1da3b, 0x00004900, 0x08640f59, 0x0000f500, 0x1fa1cc39,
+ 0x0000e100, 0x9280e43e, 0x0000c080, 0x92c0c244, 0x00001080, 0x0c822c06,
+ 0x0000e000, 0x0c422c05, 0x0000b000, 0x1d48000e, 0x0000e180, 0x0c008a38,
+ 0x0000e184, 0x22191000, 0x0000f900, 0x00254cd4, 0x00008980, 0x086d0f59,
+ 0x0000f500, 0xdff1c005, 0x0000873a, 0xdd603406, 0x00001900, 0x1d50000e,
+ 0x0000e180, 0x1f800000, 0x00004980, 0x08730f59, 0x0000f500, 0x2219f000,
+ 0x00007900, 0x00254cd4, 0x00008980, 0x9d7a2144, 0x0000073e, 0xc102073f,
+ 0x0000e283, 0x17000000, 0x00008980, 0x17400000, 0x0000e180, 0x8e01843e,
+ 0x00004080, 0x0010b0ec, 0x0000d780, 0x00007000, 0x00000080, 0x16000800,
+ 0x00006180, 0x0411c05d, 0x00006183, 0x16400000, 0x000005e8, 0x00000883,
+ 0x0000f408, 0x16c00000, 0x000005f8, 0xd701a43e, 0x00006080, 0x17c00000,
+ 0x00008980, 0x41020545, 0x00009283, 0x44028000, 0x00006191, 0xa0000868,
+ 0x0000e412, 0x41040545, 0x00009283, 0x44028000, 0x00006191, 0x0e000000,
+ 0x0000c989, 0x000008a7, 0x0000f009, 0xc104073f, 0x00001283, 0x4c800520,
+ 0x00006190, 0xa0000868, 0x00006413, 0xd5021000, 0x0000e191, 0x0e01c63c,
+ 0x0000c291, 0x000008a6, 0x0000f008, 0x0000c438, 0x0000e583, 0x01a222ec,
+ 0x00008101, 0x4c800000, 0x00007908, 0x00002600, 0x00000980, 0xe0000868,
+ 0x0000e40b, 0xe0000869, 0x0000b40a, 0x01001c06, 0x00006283, 0x93008000,
+ 0x00000980, 0x01401c06, 0x00006281, 0x3000084c, 0x0000a401, 0x0e099405,
+ 0x0000e310, 0x3000004c, 0x0000a411, 0x000008a6, 0x0000f008, 0x4c81c038,
+ 0x0000e100, 0x8000084c, 0x0000e401, 0x8e0016e3, 0x0000e080, 0x93001c06,
+ 0x00004280, 0x0cc02838, 0x0000f902, 0x01000000, 0x00000100, 0x01801c06,
+ 0x00001280, 0xffffffff, 0x00007f97, 0x01402806, 0x00001002, 0x01000004,
+ 0x00009084, 0x0cf82838, 0x0000d100, 0x00382000, 0x00000000, 0x0e001000,
+ 0x00009981, 0x41078510, 0x00001283, 0x1a002068, 0x0000e390, 0xdb101202,
+ 0x00008910, 0x1a88006a, 0x0000e390, 0x1cc00000, 0x00008990, 0x000008c4,
+ 0x00007008, 0x18c00000, 0x00006180, 0x0801e004, 0x00006204, 0x19501800,
+ 0x00007900, 0x00004000, 0x00000980, 0x19800000, 0x00006180, 0x00001863,
+ 0x0000e106, 0x19c00002, 0x00006180, 0x00002066, 0x00006206, 0x9961c438,
+ 0x0000e101, 0xc0001863, 0x00006006, 0x8e002302, 0x00006780, 0x0011d867,
+ 0x0000a106, 0x18001000, 0x00007900, 0x00004000, 0x00000980, 0x18400000,
+ 0x00007900, 0x00040080, 0x00008980, 0x19086000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x0008c0ec, 0x00005780, 0x00007001, 0x00008080, 0x98901202,
+ 0x0000e100, 0x4511c066, 0x0000e107, 0xd8981302, 0x00001900, 0x009026ec,
+ 0x0000df80, 0x00d07482, 0x00000284, 0x1be00c05, 0x00004489, 0x94000c05,
+ 0x000002a9, 0x38401405, 0x0000f88a, 0x18400000, 0x00000487, 0x03001c08,
+ 0x00006283, 0x03400000, 0x00008981, 0x844016e3, 0x00009888, 0x0cc00011,
+ 0x0000d188, 0x00400000, 0x00008000, 0x000008f1, 0x00007010, 0x0cc00211,
+ 0x0000d180, 0x00400000, 0x00008000, 0x0cc00411, 0x0000d180, 0x00400000,
+ 0x00008000, 0x0cc00611, 0x00005180, 0x00400000, 0x00008000, 0x0cc00011,
+ 0x0000d100, 0x00400000, 0x00000080, 0x0cc00211, 0x00005100, 0x00400000,
+ 0x00000080, 0x000008f1, 0x00007400, 0x0cc00411, 0x00005100, 0x00400000,
+ 0x00000080, 0x0cc00611, 0x0000d100, 0x00400000, 0x00000080, 0x000008f1,
+ 0x00007200, 0x03400800, 0x00009981, 0x000008f1, 0x00007200, 0x03401000,
+ 0x00009981, 0x01802004, 0x0000e100, 0x08001a0c, 0x0000e106, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x039ed000, 0x0000f900, 0x000c231a,
+ 0x00008980, 0x03fa9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x02000000,
+ 0x0000e180, 0xc3300600, 0x00004901, 0x83381400, 0x00008034, 0x08f10f22,
+ 0x0000f500, 0x02b83705, 0x00000108, 0x81002800, 0x00001980, 0xffffffff,
0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x82c074ec, 0x0000f902, 0x03000000,
+ 0x00008604, 0x0478200d, 0x0000863c, 0x0020280d, 0x00006886, 0x8228280d,
+ 0x0000e886, 0x0300700e, 0x0000e100, 0x0418280d, 0x0000e187, 0x03b86f0c,
+ 0x0000003c, 0x1b40700e, 0x00006100, 0x0000200c, 0x00006586, 0x1b80780f,
+ 0x00006100, 0x0428280c, 0x0000e087, 0x8620280c, 0x0000e887, 0x0907100d,
+ 0x00007500, 0x1b06d800, 0x0000f900, 0x0032a52e, 0x00000980, 0x1ac0600c,
+ 0x00001900, 0x0909163f, 0x00007300, 0x07808f04, 0x0000813f, 0x04464000,
+ 0x00007900, 0x00002000, 0x00000980, 0x0c800000, 0x000083cc, 0x04000800,
+ 0x0000f900, 0x00080000, 0x00000980, 0x04800000, 0x0000f900, 0x00002000,
+ 0x00000980, 0x06000000, 0x0000f900, 0x00004000, 0x00000980, 0x06840000,
+ 0x0000f900, 0x000080c0, 0x00000980, 0x08400000, 0x0000f900, 0x00260000,
+ 0x00000980, 0x0c009000, 0x0000f900, 0x00011940, 0x00000980, 0x0c400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x413f1011, 0x00006002, 0xc0001833,
+ 0x00003006, 0x04c00000, 0x0000e180, 0x05081001, 0x0000c980, 0x05400000,
+ 0x000001d8, 0x05c00000, 0x00006180, 0x06480001, 0x0000c980, 0x06c00000,
+ 0x000081f0, 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08800000,
+ 0x000082cc, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000,
+ 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000,
+ 0x000082fc, 0x0d382f04, 0x00000314, 0x0db83f06, 0x0000031c, 0x0e384f08,
+ 0x00000324, 0x0eb85f0a, 0x0000032c, 0xcc981302, 0x00001900, 0x009826ec,
+ 0x00005f80, 0x00007002, 0x00000084, 0x8e800fe2, 0x00006080, 0x00000007,
+ 0x00006586, 0x50e0343a, 0x0000a081, 0x50d02c3a, 0x0000a082, 0x04400000,
+ 0x000001c8, 0x04c00000, 0x0000e180, 0x06020811, 0x00006006, 0x40003007,
+ 0x00006000, 0x46020811, 0x00003002, 0x00003407, 0x0000e004, 0x66020811,
+ 0x00003000, 0x01008407, 0x00006283, 0x76020811, 0x00002000, 0x0e800800,
+ 0x00006190, 0x0980683a, 0x0000e008, 0x41040541, 0x0000e283, 0x09406c04,
+ 0x0000a000, 0x0e41d404, 0x00006000, 0x04120011, 0x0000a18d, 0x8e8016e3,
+ 0x00006080, 0x0e001439, 0x0000c881, 0x06000000, 0x00006180, 0x0c01fa39,
+ 0x0000e192, 0x0cc0a83a, 0x0000f902, 0x05000000, 0x00008100, 0x06400000,
+ 0x0000e180, 0x8e5a0239, 0x00004110, 0x0cc0ba3a, 0x0000f902, 0x05800000,
+ 0x00000100, 0x0411c811, 0x00006995, 0x04001800, 0x00007900, 0x00040000,
+ 0x00000980, 0x0c008a04, 0x00006984, 0x0540aa04, 0x00001002, 0x05c00817,
+ 0x0000e082, 0x05000014, 0x00000084, 0xc100270d, 0x00006283, 0x05800016,
+ 0x00000084, 0x0cf8a83a, 0x0000d100, 0x0038a000, 0x00008000, 0x0cf8ba3a,
+ 0x0000d100, 0x0038b000, 0x00000000, 0x05000000, 0x0000f900, 0x00010002,
+ 0x00008980, 0x00000965, 0x0000f410, 0x01000000, 0x00006190, 0x05400000,
+ 0x0000c980, 0x05800000, 0x000081dc, 0x01008407, 0x00009283, 0x01000000,
+ 0x00009980, 0x01000800, 0x00009988, 0xc100470d, 0x00006283, 0x0e400000,
+ 0x00000981, 0x07002060, 0x00006180, 0x0900580b, 0x0000c900, 0x0a00600c,
+ 0x0000e100, 0x34e0201c, 0x0000e001, 0x0e400800, 0x0000e189, 0x06c02060,
+ 0x0000c980, 0x01008407, 0x00006283, 0x0c400000, 0x00000980, 0xd3403028,
+ 0x00006014, 0xd3402824, 0x00003014, 0x00000439, 0x00006583, 0x34e1c81b,
+ 0x00002001, 0xc102073f, 0x0000e283, 0x06806060, 0x00000980, 0x0b000000,
+ 0x00007900, 0x00224180, 0x00000980, 0x07408060, 0x0000e180, 0x0780c060,
+ 0x00004980, 0x07c000c0, 0x0000e180, 0x08c00000, 0x0000c980, 0x09400000,
+ 0x000002d8, 0x09c00000, 0x000082e4, 0x0a800000, 0x000082ec, 0x08384f08,
+ 0x00000204, 0x0880070a, 0x000002b4, 0x0b81b000, 0x000082fc, 0x0cc00000,
+ 0x000003d8, 0x0dc00000, 0x0000e180, 0x8c30760e, 0x0000c901, 0x0c00710e,
+ 0x00008300, 0xc6204406, 0x000081e6, 0x0000098b, 0x0000f408, 0x0c486a0d,
+ 0x00000304, 0x0c606c0d, 0x00009901, 0x41020541, 0x00001283, 0x0bc17000,
+ 0x00009991, 0x11600000, 0x0000f900, 0x00200000, 0x00000980, 0x8102063c,
+ 0x0000e283, 0x08001a04, 0x0000a106, 0x04102045, 0x00006101, 0xc0000010,
+ 0x0000b413, 0x11800040, 0x00006180, 0x16000000, 0x0000c980, 0x41040541,
+ 0x0000e283, 0x0801e005, 0x00002204, 0x16400000, 0x00006180, 0x9180e438,
+ 0x0000c080, 0xd601a438, 0x0000e080, 0xcc000800, 0x00008981, 0x8e018438,
+ 0x0000e080, 0x8cd1fc41, 0x00008000, 0x0c804000, 0x0000f900, 0x00020000,
+ 0x00000980, 0x11000000, 0x0000f900, 0x00014000, 0x00008980, 0x11c00000,
+ 0x0000f900, 0x00006180, 0x00008980, 0x14000000, 0x0000f900, 0x00104000,
+ 0x00008980, 0xccf9ef3d, 0x00006101, 0x0411c059, 0x0000e183, 0x0d21ec3e,
+ 0x00008317, 0x12008160, 0x00006180, 0x12402020, 0x0000c980, 0x12802060,
+ 0x00006180, 0x12c00000, 0x00004980, 0x13000000, 0x000084f4, 0x13800000,
+ 0x000084fc, 0x14400000, 0x000005c8, 0x14c00800, 0x000005d0, 0x15400000,
+ 0x000005d8, 0x000009d6, 0x00007408, 0x15c00000, 0x000085e8, 0x16c00000,
+ 0x0000e180, 0xcd102a05, 0x00004900, 0x17c00000, 0x000086c8, 0xc104073f,
+ 0x0000e283, 0x0000185f, 0x00002106, 0x18c00002, 0x0000e180, 0x00002862,
+ 0x00006206, 0x81802302, 0x0000e780, 0x0a41e205, 0x00002100, 0xc000185f,
+ 0x00006006, 0xc0001810, 0x00003406, 0x17001000, 0x00007900, 0x00004000,
+ 0x00000980, 0x17400000, 0x00007900, 0x00040080, 0x00008980, 0x18086000,
+ 0x00007900, 0x00008000, 0x00000980, 0x18580800, 0x0000f900, 0x00004080,
+ 0x00008980, 0x00102863, 0x00006106, 0x45103062, 0x0000b107, 0x17a81402,
+ 0x00008538, 0x000009d4, 0x0000f408, 0x19000000, 0x000086d4, 0x19800000,
+ 0x000086dc, 0x0e6202ec, 0x00006101, 0x80000864, 0x0000a403, 0x4c804120,
+ 0x0000e180, 0xd4021000, 0x0000c981, 0x01c01c39, 0x00006283, 0x01001c39,
+ 0x00008281, 0xc100170d, 0x00009283, 0xffffffff, 0x00007f86, 0x000009ed,
+ 0x00007010, 0x000009d8, 0x00007010, 0x009026ec, 0x0000df80, 0x00d07442,
+ 0x000084c4, 0x009026ec, 0x0000df80, 0x00d07442, 0x00008384, 0x82c038ec,
+ 0x00007902, 0x01000000, 0x00000604, 0x1a400020, 0x0000e180, 0x0801e03a,
+ 0x0000e204, 0x0e40a206, 0x00006080, 0x00102869, 0x00006106, 0x1a800000,
+ 0x00006180, 0x1a01d039, 0x00004300, 0x0d001c39, 0x00006006, 0xc0000816,
+ 0x00003407, 0xe0000864, 0x00006403, 0x00000865, 0x00003403, 0x0008d0ec,
+ 0x0000d780, 0x00007000, 0x00000080, 0x0010786a, 0x00006302, 0xc321c869,
+ 0x00003004, 0x1ac33000, 0x000001de, 0x19c03a0f, 0x0000e000, 0x98400e61,
+ 0x00008181, 0x009026ec, 0x0000df80, 0x00d07442, 0x000084c4, 0x0cc0403a,
+ 0x0000f902, 0x01c00000, 0x00000100, 0x01004404, 0x0000f900, 0x00000240,
+ 0x00008380, 0x4c802004, 0x0000e100, 0x30000048, 0x00006401, 0x01001c39,
+ 0x00006280, 0x80000848, 0x0000a401, 0x02004004, 0x00006002, 0x92001c39,
+ 0x00000280, 0x01c00007, 0x00009084, 0x0cf8403a, 0x0000d100, 0x00383800,
+ 0x00000000, 0x7500170d, 0x0000788e, 0xc0400000, 0x0000048e, 0x8ec00fe2,
+ 0x0000e080, 0x00000038, 0x00006586, 0x50e03c3b, 0x0000a081, 0x50d0343b,
+ 0x00002082, 0x04400000, 0x00006180, 0x0a41e205, 0x0000e100, 0x04800000,
+ 0x00006180, 0x06020811, 0x00006006, 0x40003838, 0x0000e000, 0x46020811,
+ 0x00003002, 0x00003c38, 0x00006004, 0x66020811, 0x00003000, 0x01008438,
+ 0x00006283, 0x76020811, 0x00002000, 0x0ec00800, 0x0000e190, 0x0980683b,
+ 0x00006008, 0x41040541, 0x0000e283, 0x09406c04, 0x0000a000, 0x0e81dc04,
+ 0x0000e000, 0x04120011, 0x0000a18d, 0x8ec016e3, 0x0000e080, 0x0e40143a,
+ 0x00004881, 0x0c01fa3a, 0x0000e192, 0x0e020c04, 0x0000b006, 0x0cc0a83b,
+ 0x00007902, 0x05000000, 0x00008100, 0x8e9a023a, 0x0000e110, 0x04c00000,
+ 0x00000980, 0x0cc0ba3b, 0x00007902, 0x05800000, 0x00000100, 0x06000000,
+ 0x00006180, 0x0411d011, 0x0000e195, 0x04001800, 0x00007900, 0x00040000,
+ 0x00000980, 0x06400000, 0x0000e180, 0x0c008a0f, 0x00006184, 0x0540aa0f,
+ 0x00009002, 0x05c00817, 0x0000e082, 0x05000014, 0x00000084, 0xc100270d,
+ 0x00006283, 0x05800016, 0x00000084, 0x0cf8a83b, 0x00005100, 0x0038a000,
+ 0x00008000, 0x0cf8ba3b, 0x00005100, 0x0038b000, 0x00000000, 0x05000000,
+ 0x0000f900, 0x00010002, 0x00008980, 0x00000a32, 0x00007410, 0x07400000,
+ 0x0000e190, 0x05400000, 0x0000c980, 0x05c00000, 0x000081d8, 0x03c08438,
+ 0x0000e283, 0x07400000, 0x00008980, 0x07400800, 0x00001988, 0xc100470d,
+ 0x00006283, 0x0e800000, 0x00000981, 0x0938670b, 0x00008220, 0x08004008,
+ 0x00006100, 0x0e800800, 0x0000c989, 0x02008438, 0x00006283, 0x06c02060,
+ 0x00000980, 0xd3403828, 0x0000e014, 0xd3403024, 0x00003014, 0x0000043a,
+ 0x00006583, 0x07002060, 0x00008980, 0xc102073f, 0x0000e283, 0x0c400000,
+ 0x00000980, 0x0b000000, 0x00007900, 0x00224180, 0x00000980, 0x34e1d01b,
+ 0x0000e001, 0x34e0e81c, 0x00003001, 0x06806060, 0x0000e180, 0x0780c060,
+ 0x00004980, 0x07c000c0, 0x0000e180, 0x08c00000, 0x0000c980, 0x09400000,
+ 0x000002d8, 0x09c00000, 0x000082e4, 0x0a800000, 0x000082ec, 0x08785709,
+ 0x00000208, 0x0b400000, 0x000002f8, 0x0bc00036, 0x000083cc, 0x0d800000,
+ 0x000083dc, 0x0c08720e, 0x00000300, 0x0c20300e, 0x000081a3, 0x46404000,
+ 0x00006181, 0x8c706e0d, 0x00004901, 0x00000a57, 0x00007408, 0x0c40690d,
+ 0x00008304, 0x07408060, 0x00009980, 0x41020541, 0x00001283, 0x0bc17000,
+ 0x00009991, 0x0c800000, 0x00007900, 0x00020000, 0x00000980, 0x11600000,
+ 0x0000f900, 0x00200000, 0x00000980, 0x11800040, 0x00006180, 0x08001a3a,
+ 0x0000e106, 0x1d400008, 0x00006180, 0x0411d045, 0x0000e101, 0x11000000,
+ 0x0000f900, 0x00014000, 0x00008980, 0x11c00000, 0x0000f900, 0x00006180,
+ 0x00008980, 0x14000000, 0x0000f900, 0x00104000, 0x00008980, 0x22108000,
+ 0x0000f900, 0x0010ce32, 0x00000980, 0x4c804000, 0x00007900, 0x00002000,
+ 0x00000980, 0xcc000800, 0x00006181, 0x08001b75, 0x0000e106, 0x8cd1fc41,
+ 0x0000e000, 0xccf9ef3d, 0x00008901, 0x0d21ec3e, 0x00008317, 0xcd19f33e,
+ 0x00006100, 0x12008160, 0x00004980, 0x12402020, 0x0000e180, 0x12802060,
+ 0x00004980, 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8, 0x13c00000,
+ 0x000005c4, 0x14800000, 0x000085cc, 0x0a790f59, 0x00007500, 0x9fc02605,
+ 0x0000873b, 0x9180e439, 0x00001080, 0x0c820c04, 0x0000e000, 0x0c420c06,
+ 0x00003000, 0x1d480008, 0x0000e180, 0x0c008a3b, 0x0000e184, 0x22116000,
+ 0x0000f900, 0x0010ce32, 0x00000980, 0x0a820f59, 0x0000f500, 0xdff1d806,
+ 0x0000873a, 0xdd602404, 0x00001900, 0x1d500008, 0x0000e180, 0x1f800000,
+ 0x00004980, 0x0a880f59, 0x0000f500, 0x22118800, 0x0000f900, 0x0010ce32,
+ 0x00000980, 0x9d7a0140, 0x0000073e, 0x41040541, 0x0000e283, 0x16000000,
+ 0x00000980, 0x16400000, 0x00006180, 0x8e818439, 0x00004080, 0x15000800,
+ 0x00006180, 0x0411d059, 0x00006183, 0x15400000, 0x000005d8, 0x00000aca,
+ 0x0000f408, 0x15c00000, 0x000085e8, 0x16c00000, 0x0000e180, 0xd601a439,
+ 0x0000c080, 0xc104073f, 0x0000e283, 0x17c00000, 0x00008980, 0x0000185f,
+ 0x0000e106, 0xc0000816, 0x00003407, 0x17001000, 0x00007900, 0x00004000,
+ 0x00000980, 0x17400000, 0x00007900, 0x00040080, 0x00008980, 0x44008000,
+ 0x00006181, 0xc000185f, 0x00006006, 0x00000ae3, 0x00007408, 0x05c11000,
+ 0x0000e181, 0x97901202, 0x0000c900, 0xd7981302, 0x00006100, 0xd4021000,
+ 0x00004991, 0x0ee202ec, 0x00001101, 0x4c804000, 0x00007900, 0x00002200,
+ 0x00008980, 0x01801c3b, 0x00006283, 0x01001c3b, 0x00000281, 0x8102063c,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x00000aef, 0x0000f010, 0x00000acc,
+ 0x00007008, 0x17c00000, 0x00006180, 0x0801e03a, 0x0000e204, 0x18800000,
+ 0x0000e180, 0x0000185f, 0x0000e106, 0x18c00002, 0x0000e180, 0x0001d062,
+ 0x00006206, 0x81002302, 0x00006780, 0x19006800, 0x00008980, 0x19400040,
+ 0x0000e180, 0xc0000016, 0x0000e407, 0x1708b000, 0x0000f900, 0x000119c0,
+ 0x00008980, 0x17400000, 0x00007900, 0x00018008, 0x00000980, 0x18401000,
+ 0x0000f900, 0x00014000, 0x00008980, 0x1ac00000, 0x00007900, 0x00008000,
+ 0x00000980, 0xc000185f, 0x00006006, 0x00102863, 0x00003106, 0x44021000,
+ 0x0000e181, 0x45102062, 0x00006107, 0x85c00000, 0x000086c0, 0x17a81402,
+ 0x00008538, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4, 0x9a89f03e,
+ 0x0000862a, 0x9921f13a, 0x00008614, 0xd9707e0f, 0x00001901, 0x009026ec,
+ 0x0000df80, 0x00d07442, 0x00008584, 0x009026ec, 0x0000df80, 0x00d07442,
+ 0x00008384, 0x18800000, 0x0000e180, 0x0801e03b, 0x00006204, 0x18c00002,
+ 0x0000e180, 0x0001d862, 0x0000e206, 0x81002302, 0x00006780, 0x19006800,
+ 0x00008980, 0x19400040, 0x0000e180, 0xc0001816, 0x0000e407, 0x1808e000,
+ 0x0000f900, 0x0000d880, 0x00000980, 0x18401000, 0x0000f900, 0x00014000,
+ 0x00008980, 0x0010c8ec, 0x0000d780, 0x00007000, 0x00000080, 0x00102863,
+ 0x00006106, 0x45102062, 0x00003107, 0x19800000, 0x000086dc, 0x1a000000,
+ 0x000086e4, 0x1a800000, 0x000086ec, 0x9921f13b, 0x00000614, 0xd9707e0f,
+ 0x00001901, 0x009026ec, 0x0000df80, 0x00d07442, 0x00000484, 0x18800000,
+ 0x0000e180, 0x0801e03b, 0x00006204, 0x18c00002, 0x0000e180, 0x0001d862,
+ 0x0000e206, 0x8e802302, 0x0000e780, 0x00102863, 0x0000a106, 0x18006000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x18400040, 0x00006180, 0x4511d062,
+ 0x0000e107, 0x009026ec, 0x0000df80, 0x00d07442, 0x00000484, 0x0e804404,
+ 0x00007900, 0x00002200, 0x00008380, 0x4c81d03a, 0x0000e100, 0x01001c3b,
+ 0x00004280, 0x8e8016e3, 0x00006080, 0x30000048, 0x00006401, 0x0cc0383a,
+ 0x0000f902, 0x01800000, 0x00008100, 0x80000848, 0x0000ec01, 0x92001c3b,
+ 0x00001280, 0xffffffff, 0x00007f86, 0x01c03804, 0x00009002, 0x01800006,
+ 0x00009084, 0x0cf8383a, 0x0000d100, 0x00383000, 0x00008000, 0xb302063c,
+ 0x0000788e, 0x58400000, 0x00008585, 0x81f71ee3, 0x0000e100, 0x1dc00000,
+ 0x00004980, 0xf3c03607, 0x0000f902, 0x01400000, 0x00008004, 0x1c000000,
+ 0x00006181, 0x00001877, 0x0000e106, 0x1d001000, 0x00007900, 0x0000c000,
+ 0x00008980, 0x1d681000, 0x0000f900, 0x00044040, 0x00000980, 0x0a182f05,
+ 0x00008202, 0x01408404, 0x0000e283, 0x88282d05, 0x00008901, 0x09c03006,
+ 0x0000e100, 0xc0001877, 0x00006006, 0xd3402029, 0x00006014, 0xf0000020,
+ 0x00003411, 0x03000000, 0x0000e181, 0xd1402027, 0x00006014, 0x9cc00000,
+ 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x1a800000,
+ 0x000086ec, 0x22000000, 0x000088e4, 0x00000b1d, 0x00007410, 0x22800000,
+ 0x000088ec, 0x1da01502, 0x00008718, 0xc1040720, 0x00009283, 0xd3715027,
+ 0x0000680c, 0x410205ad, 0x00009283, 0x0e43606c, 0x00006110, 0x8ed37a6f,
+ 0x00004910, 0x0e83686d, 0x00006110, 0x0433783b, 0x00006093, 0x00000b2e,
+ 0x0000f008, 0x41040522, 0x00001283, 0x8000282a, 0x0000f90a, 0x01000000,
+ 0x00000604, 0x0fc3706e, 0x00001908, 0x00000b2a, 0x00007010, 0xffffffff,
+ 0x00007f86, 0x0f802805, 0x00001900, 0xc000032d, 0x0000f900, 0x00000002,
+ 0x00008582, 0x1c004000, 0x00001991, 0x00000b91, 0x0000f009, 0x410405ad,
+ 0x00009283, 0xc000032d, 0x0000f900, 0x00000002, 0x00008582, 0xffffffff,
+ 0x00007f86, 0x00000b34, 0x00007008, 0x00000b83, 0x00007008, 0xc000032d,
+ 0x0000f900, 0x00000002, 0x00008582, 0x42000000, 0x000000d2, 0x82000800,
+ 0x00006188, 0x0901dc05, 0x00006006, 0x00000421, 0x00006583, 0x01401405,
+ 0x00008881, 0x01000800, 0x000061c1, 0x82202868, 0x00006082, 0x00000408,
+ 0x0000e583, 0x10006064, 0x0000a480, 0x86202067, 0x0000e001, 0x7000e064,
+ 0x0000b480, 0x01000800, 0x00006191, 0x01001000, 0x00004989, 0x41040520,
+ 0x00006283, 0x71e04064, 0x00002000, 0x01807000, 0x0000e191, 0x0e010407,
+ 0x0000e08c, 0x01c00c07, 0x0000e089, 0xe3a02068, 0x00006002, 0x01807407,
+ 0x00006089, 0x82204064, 0x00002000, 0xc1040720, 0x00006283, 0x99972ae5,
+ 0x00008900, 0x01000000, 0x0000e191, 0x0a010407, 0x0000608c, 0x01000c07,
+ 0x00009889, 0x1a400000, 0x0000f900, 0x00100000, 0x00000980, 0x01a03404,
+ 0x00006001, 0x9a59e33c, 0x00008900, 0x01040421, 0x00001283, 0x01000000,
+ 0x0000e191, 0x08010c07, 0x0000608c, 0x00000408, 0x0000e583, 0x01000c07,
+ 0x00000889, 0xffffffff, 0x00007f86, 0x01a02406, 0x00006001, 0x8100a000,
+ 0x00000990, 0x0183fc06, 0x0000e281, 0x81014000, 0x00000988, 0x00203068,
+ 0x0000e884, 0x81102406, 0x00001000, 0x9b102405, 0x00006000, 0x04102069,
+ 0x00002183, 0x410405ad, 0x00009283, 0xc1000f70, 0x00009283, 0xffffffff,
+ 0x00007f86, 0x00000b67, 0x00007008, 0x00000b75, 0x00007010, 0xc1001770,
+ 0x00009283, 0x00000001, 0x0000708b, 0x410405ad, 0x00006283, 0x03001800,
+ 0x00000981, 0x01001479, 0x00006283, 0x9d400000, 0x00008989, 0x00000001,
+ 0x0000708b, 0x41040522, 0x00001283, 0x8000282a, 0x0000f912, 0x01000000,
+ 0x00000604, 0x00000001, 0x0000f089, 0x00000001, 0x00007480, 0xffffffff,
+ 0x00007f86, 0x1f402805, 0x00009900, 0x0d001c05, 0x00006006, 0x00000089,
+ 0x0000b584, 0xc1001770, 0x00006283, 0x00000089, 0x0000a405, 0x0003908a,
+ 0x00006302, 0x80000089, 0x0000b405, 0x22001002, 0x0000e100, 0x00001889,
+ 0x00006106, 0x1cc00800, 0x0000e181, 0xc3202889, 0x0000e004, 0x00000b69,
+ 0x00007410, 0x15c39089, 0x0000e803, 0x87039089, 0x00006805, 0x00000001,
+ 0x0000f080, 0x81f71ee3, 0x00009900, 0xf4c04607, 0x0000f902, 0x01800000,
+ 0x00008004, 0xffffffff, 0x00007fa7, 0x81d842e5, 0x00006400, 0x81400a08,
+ 0x00008080, 0x81504308, 0x0000e200, 0x81102cad, 0x00008000, 0x81f71ee3,
+ 0x0000e100, 0x81103a04, 0x00004200, 0x00000b34, 0x00007400, 0x82102a04,
+ 0x00001300, 0xf4f84607, 0x0000d004, 0x00383000, 0x00008000, 0x81f71ee3,
+ 0x0000e100, 0x81771ee3, 0x00004900, 0xf4e03e07, 0x0000a084, 0xf4c03605,
+ 0x0000a086, 0x1c004000, 0x00009981, 0xffffffff, 0x00007f86, 0x81103cad,
+ 0x00009000, 0x81d03a06, 0x00006200, 0x815032e5, 0x00008400, 0x81102a04,
+ 0x00009200, 0xcbd03a04, 0x00001300, 0xcd0405ad, 0x0000f88e, 0x00400001,
+ 0x00000000, 0xe0c0032d, 0x0000788a, 0xa0400002, 0x00008589, 0x1dc00000,
+ 0x00006180, 0x0d001c04, 0x0000e006, 0x1c000000, 0x00006181, 0x00001877,
+ 0x0000e106, 0x1d001000, 0x00007900, 0x0000c000, 0x00008980, 0x1d681000,
+ 0x0000f900, 0x00044040, 0x00000980, 0x9b000000, 0x0000e180, 0xc0001877,
+ 0x00006006, 0x83000000, 0x000087ce, 0x19000000, 0x000086d4, 0x19800000,
+ 0x000086dc, 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x22000000,
+ 0x000088e4, 0x22800000, 0x000088ec, 0x1da81402, 0x00008718, 0x410405ad,
+ 0x00009283, 0xc1000f70, 0x00009283, 0xffffffff, 0x00007f86, 0x00000bb7,
+ 0x0000f008, 0x00000bc5, 0x0000f010, 0xc1001770, 0x00009283, 0x00000001,
+ 0x0000708b, 0x410405ad, 0x00006283, 0x03001800, 0x00000981, 0x01001479,
+ 0x00006283, 0x9d400000, 0x00008989, 0x00000001, 0x0000708b, 0x41040522,
+ 0x00001283, 0x8000282a, 0x0000f912, 0x01000000, 0x00000604, 0x00000001,
+ 0x0000f089, 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x1f402805,
+ 0x00009900, 0xc1001770, 0x00006283, 0x00001889, 0x0000a106, 0xc3202089,
+ 0x00006004, 0x0003908a, 0x00003302, 0x22001002, 0x0000e100, 0x15c39089,
+ 0x00006003, 0x00000bb9, 0x0000f210, 0x1cc00800, 0x0000e181, 0x87039089,
+ 0x0000e005, 0x00000001, 0x0000f080, 0x81f71ee3, 0x0000e100, 0x1dc00000,
+ 0x00004980, 0xf3c02e07, 0x0000f902, 0x01000000, 0x00000004, 0x23394720,
+ 0x00008910, 0x24c13827, 0x0000e100, 0x00001877, 0x0000e106, 0x1d001000,
+ 0x00007900, 0x0000c000, 0x00008980, 0x88382304, 0x00008220, 0x01008406,
+ 0x0000e283, 0x88282504, 0x00008901, 0x09c02805, 0x0000e100, 0xc0001877,
+ 0x00006006, 0x1d681000, 0x0000f900, 0x00044040, 0x00000980, 0xd1403027,
+ 0x0000e014, 0xf0000020, 0x00003411, 0x84800000, 0x000087ce, 0x19000000,
+ 0x000086d4, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e8, 0x1ac00000,
+ 0x000088e0, 0x22400000, 0x000008e8, 0x22c00000, 0x00006180, 0x9d901202,
+ 0x0000c900, 0x1db90d02, 0x00008834, 0x23b91f22, 0x0000083c, 0x24392f24,
+ 0x00000904, 0x24b94f26, 0x00008914, 0x2581502a, 0x0000e100, 0xd3403029,
+ 0x0000e014, 0x25f9672b, 0x00008920, 0x2679772d, 0x00000928, 0x26f9872f,
+ 0x00000930, 0x27799731, 0x00000938, 0x27f9a733, 0x00008a00, 0x2879b735,
+ 0x00000a08, 0x28f9c737, 0x00008a10, 0x2979d739, 0x00000a18, 0x29f9e73b,
+ 0x00008a20, 0x2a79f73d, 0x00000a28, 0x2ac0073f, 0x00000480, 0x00000bff,
+ 0x00007410, 0x10400000, 0x000004c8, 0x10c00000, 0x00009980, 0xc1040720,
+ 0x00009283, 0xd3715027, 0x0000680c, 0x81000e70, 0x00006283, 0x8ed37a6f,
+ 0x00000900, 0x0e43606c, 0x0000e100, 0x0423803b, 0x0000e083, 0x0e83686d,
+ 0x0000e100, 0x88801000, 0x00004991, 0x00000c20, 0x0000f008, 0x41040522,
+ 0x0000e283, 0x0901dc07, 0x00002006, 0x10000000, 0x00007900, 0x00008100,
+ 0x00008980, 0x01c00c07, 0x00006081, 0x901b7b6f, 0x00000900, 0x00000c13,
+ 0x00007210, 0x0fc3706e, 0x00006108, 0xc720383b, 0x0000e007, 0x8000282a,
+ 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x0f802805,
+ 0x00001900, 0x81001670, 0x00006283, 0x80001022, 0x0000a485, 0x0901dc07,
+ 0x00006016, 0xf0000022, 0x0000b411, 0x10400800, 0x0000f910, 0x0000c0c0,
+ 0x00008980, 0x01c00c07, 0x0000e091, 0xf0000822, 0x0000a409, 0x1c004800,
+ 0x00006181, 0xc720383b, 0x00006017, 0x506b8570, 0x00001911, 0x11c0032d,
+ 0x00007893, 0xc8400002, 0x00008681, 0x41040522, 0x00001283, 0x00000c29,
+ 0x0000f013, 0x81002670, 0x00009283, 0x0901dc07, 0x0000e80e, 0x01c01c07,
+ 0x00001189, 0x09053c07, 0x0000600e, 0xc720383b, 0x0000300f, 0x01c01c07,
+ 0x00001189, 0xc72038a7, 0x0000e80f, 0x81002670, 0x00009283, 0x01000800,
+ 0x00006189, 0x0c411404, 0x00006010, 0xffffffff, 0x00007f86, 0xf3e0208e,
+ 0x00006000, 0x71e02522, 0x00003000, 0x41040522, 0x00001283, 0x8000282a,
+ 0x0000f90a, 0x01000000, 0x00000604, 0x0fc3706e, 0x00001908, 0x00000c36,
+ 0x00007010, 0xffffffff, 0x00007f86, 0x0f802805, 0x00001900, 0x1c004000,
+ 0x00009981, 0x11c0032d, 0x00007893, 0x00400003, 0x00000080, 0x81f71ee3,
+ 0x00009900, 0xf4c03607, 0x00007902, 0x01400000, 0x00008004, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x81c00a06, 0x00001080, 0x81d832e5,
+ 0x0000e400, 0x81103cad, 0x00000000, 0x81d03306, 0x00006200, 0x81103a04,
+ 0x00008200, 0x81f71ee3, 0x0000e100, 0x81903a04, 0x00004300, 0xf4f83607,
+ 0x00005004, 0x00382800, 0x00008000, 0xc000032d, 0x0000f900, 0x00000002,
+ 0x00008582, 0x41c00000, 0x000000d2, 0x81c00800, 0x00006188, 0x0901dc06,
+ 0x00006006, 0x00000421, 0x00006583, 0x01801406, 0x00008881, 0x01000800,
+ 0x000061c1, 0x82203068, 0x00006082, 0x00000407, 0x0000e583, 0x10006064,
+ 0x0000a480, 0x86202067, 0x0000e001, 0x7000e064, 0x0000b480, 0x01000800,
+ 0x00006191, 0x01001000, 0x00004989, 0x41040520, 0x00006283, 0x71e03864,
+ 0x00002000, 0x01407000, 0x0000e191, 0x0e010405, 0x0000608c, 0xe3a02068,
+ 0x00006002, 0x82203864, 0x0000b000, 0x99972ae5, 0x00006100, 0x01400c05,
+ 0x0000c889, 0xc1040720, 0x00006283, 0x01407405, 0x00008089, 0x01000000,
+ 0x0000e191, 0x0a010404, 0x0000608c, 0x1a400000, 0x0000f900, 0x00100000,
+ 0x00000980, 0x9a59e33c, 0x00006100, 0x01000c04, 0x0000c889, 0xffffffff,
+ 0x00007f86, 0x01440421, 0x00006283, 0x01202c04, 0x00008001, 0x01400000,
+ 0x00006191, 0x08010c05, 0x0000e08c, 0xffffffff, 0x00007f86, 0x00000407,
+ 0x0000e583, 0x01400c05, 0x00000889, 0xffffffff, 0x00007f86, 0x01602c04,
+ 0x00006001, 0x8100a000, 0x00000990, 0x81014000, 0x0000e188, 0x0143fc05,
+ 0x00004281, 0x81008670, 0x00006283, 0x00202868, 0x0000a084, 0x04801800,
+ 0x00006191, 0x81102405, 0x00004000, 0x81004670, 0x00006283, 0x04102069,
+ 0x00002183, 0x9b102406, 0x00006000, 0x22001002, 0x00008910, 0x0d001c04,
+ 0x00006016, 0x00000089, 0x00003594, 0x00000001, 0x00007088, 0x0003888a,
+ 0x00006302, 0x00000089, 0x00003405, 0x1cc00800, 0x0000e181, 0x80000089,
+ 0x0000e405, 0x00001889, 0x0000e906, 0xc3202089, 0x0000e804, 0x00000001,
+ 0x00007480, 0x15c38889, 0x0000e803, 0x87038889, 0x00006805, 0x07000000,
+ 0x000081f4, 0x08400000, 0x0000f900, 0x00200000, 0x00000980, 0x80001209,
+ 0x0000e582, 0x71f8481c, 0x0000a000, 0xb6e04821, 0x00006005, 0x0030481c,
+ 0x00003008, 0x07800000, 0x000081fc, 0x08800000, 0x000082cc, 0x09000000,
+ 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000,
+ 0x000082ec, 0x0b000000, 0x000082f4, 0x00000001, 0x00007480, 0x0b800000,
+ 0x000082fc, 0x07404008, 0x00006108, 0x08004008, 0x00004900, 0x9dc02405,
+ 0x0000c389, 0x00002405, 0x00008098, 0xa0401405, 0x00004489, 0xac001405,
+ 0x00000399, 0x00800c05, 0x0000c788, 0x99003405, 0x00009c89, 0x0cc03405,
+ 0x000045a9, 0x18a03c05, 0x0000988f, 0x0ca513be, 0x00007404, 0x12009800,
+ 0x00007900, 0x00001000, 0x00000980, 0x12783707, 0x0000041c, 0x00000447,
+ 0x00009583, 0x86bf1fe3, 0x00001908, 0x4380d01a, 0x0000a088, 0x00000cae,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x06803c1a, 0x00001281, 0x0680141a,
+ 0x00001181, 0x00000c1a, 0x00009583, 0x00000cb3, 0x0000701b, 0x07c8b800,
+ 0x0000f900, 0x00340c9a, 0x00000980, 0x0cb30feb, 0x00007500, 0x07b83f06,
+ 0x00008134, 0x07223c47, 0x00001900, 0x3040744b, 0x0000f902, 0x03400000,
+ 0x00008000, 0x3080504b, 0x0000f902, 0x02400000, 0x00000000, 0x02000000,
+ 0x000080fc, 0x86b71ee3, 0x00009900, 0x00000c0d, 0x00006583, 0x0440700e,
+ 0x00000900, 0x00001008, 0x0000648c, 0x00042008, 0x00003496, 0x0018500f,
+ 0x0000698e, 0x80001008, 0x0000648e, 0xf0000808, 0x00003410, 0x0410500f,
+ 0x0000e98f, 0x00000c0d, 0x00006583, 0xf3e06808, 0x0000a008, 0x3040aa4b,
+ 0x0000f902, 0x05000000, 0x00000000, 0xf3f87e1a, 0x0000d004, 0x00384000,
+ 0x00000000, 0x02000000, 0x000080fc, 0x3040664b, 0x0000f902, 0x02c00000,
+ 0x00008000, 0x0418500f, 0x0000e18f, 0x00002008, 0x0000b58f, 0x86b71ee3,
+ 0x0000e100, 0x86206808, 0x0000e08f, 0xcd787e1a, 0x00002884, 0xcd78461a,
+ 0x00002804, 0x0238af09, 0x00008100, 0x04b86f14, 0x0000803c, 0x0e601027,
+ 0x0000f500, 0x03b85f0c, 0x00008034, 0x02b85708, 0x00008030, 0x00000e60,
+ 0x00007000, 0x0cd913be, 0x0000f404, 0x11f83f06, 0x00000424, 0x12009a00,
+ 0x00001980, 0x00000447, 0x00009583, 0x86bf1fe3, 0x00001908, 0x4380d01a,
+ 0x0000a088, 0x00000ce2, 0x00007010, 0xffffffff, 0x00007f97, 0x06803c1a,
+ 0x00001281, 0x0680141a, 0x00001181, 0x00000c1a, 0x00009583, 0x00000ce7,
+ 0x0000f01b, 0x07c9e000, 0x0000f900, 0x00340c9a, 0x00000980, 0x0ce70feb,
+ 0x0000f500, 0x07b83f06, 0x00008134, 0x07223c47, 0x00001900, 0x3000624b,
+ 0x0000f902, 0x02c00000, 0x00008000, 0x30384c4b, 0x0000a000, 0x0e60109e,
+ 0x00007503, 0x03785f0c, 0x00000030, 0x02b86f0c, 0x0000002c, 0x00000e60,
+ 0x00007000, 0x0cf113be, 0x0000f404, 0x11f83f06, 0x00000424, 0x12009900,
+ 0x00001980, 0x00000447, 0x00009583, 0x86bf1fe3, 0x00001908, 0x4380d01a,
+ 0x0000a088, 0x00000cfa, 0x00007010, 0xffffffff, 0x00007f97, 0x06803c1a,
+ 0x00001281, 0x0680141a, 0x00001181, 0x00000c1a, 0x00009583, 0x00000cff,
+ 0x0000f01b, 0x07e6a000, 0x0000f900, 0x00340c9a, 0x00000980, 0x0cff0feb,
+ 0x0000f500, 0x07b83f06, 0x00008134, 0x07223c47, 0x00001900, 0x30384a4b,
+ 0x00002080, 0xffffffff, 0x00007fa7, 0xf8c08409, 0x00001081, 0x0d0344fc,
+ 0x0000f100, 0x0e6010fb, 0x0000f004, 0x00000e60, 0x00007000, 0x0d0913be,
+ 0x0000f404, 0x12009800, 0x00007900, 0x00001000, 0x00000980, 0x12783707,
+ 0x0000041c, 0x00000447, 0x00009583, 0x86bf1fe3, 0x00001908, 0x4380d01a,
+ 0x0000a088, 0x00000d12, 0x0000f010, 0xffffffff, 0x00007f97, 0x06803c1a,
+ 0x00001281, 0x0680141a, 0x00001181, 0x00000c1a, 0x00009583, 0x00000d17,
+ 0x0000701b, 0x07e8b000, 0x0000f900, 0x00340c9a, 0x00000980, 0x0d170feb,
+ 0x00007500, 0x07b83f06, 0x00008134, 0x07223c47, 0x00001900, 0x3000aa4b,
+ 0x00007902, 0x05000000, 0x00000000, 0x30405c4b, 0x0000f902, 0x02800000,
+ 0x00000000, 0x3000644b, 0x0000f902, 0x04c00000, 0x00008000, 0x3000964b,
+ 0x00007902, 0x04400000, 0x00000000, 0xc0000714, 0x00009583, 0x86b71ee3,
+ 0x00001910, 0x5260541a, 0x00002810, 0x0687ed15, 0x00009281, 0x00000c1a,
+ 0x00009583, 0x3040804b, 0x00007902, 0x03c00000, 0x00000000, 0x3040724b,
+ 0x0000f902, 0x03400000, 0x00008000, 0x00000d40, 0x00007010, 0x02000000,
+ 0x00009980, 0x0d2d0fd3, 0x0000f500, 0x00306008, 0x0000e886, 0x0d804008,
+ 0x00009900, 0x82003e0c, 0x0000e280, 0x86800c0c, 0x00000280, 0x86800fe2,
+ 0x0000e080, 0x8580221a, 0x00004880, 0x50e04c1a, 0x0000a080, 0xffffffff,
+ 0x00007fa7, 0x827f4209, 0x00007900, 0x0000003e, 0x00008280, 0x82403f0c,
+ 0x0000e280, 0x8590b209, 0x00008300, 0x85904216, 0x00006300, 0x82402a09,
+ 0x00000880, 0x8580fa16, 0x00007900, 0x0000003e, 0x00008280, 0x85904a16,
+ 0x0000e300, 0x82003c36, 0x00000280, 0x82004208, 0x00001880, 0x85904216,
+ 0x00009300, 0x50e0b41a, 0x0000a880, 0x06801515, 0x00009181, 0x00000c1a,
+ 0x00009583, 0x82005c13, 0x000060b0, 0x86800d0c, 0x000042b0, 0x83001a1a,
+ 0x000018b0, 0x00000d4d, 0x00007018, 0x86800fe2, 0x00009880, 0x50e04c1a,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x827fba09, 0x00009280, 0x83106209,
+ 0x00001300, 0x8310420c, 0x00009300, 0x50e0641a, 0x00002880, 0x0687ee15,
+ 0x00009281, 0x00000c1a, 0x00009583, 0x02000000, 0x00001988, 0x02209412,
+ 0x00001909, 0x00000d67, 0x00007010, 0x0d540fd3, 0x00007300, 0x0d804008,
+ 0x00009900, 0x82003c12, 0x00006280, 0x86800e13, 0x00000280, 0x86800fe2,
+ 0x0000e080, 0x8300221a, 0x0000c880, 0x50c04c1a, 0x0000a082, 0xffffffff,
+ 0x00007fa7, 0x827f4209, 0x00007900, 0x0000003e, 0x00008280, 0x82403d12,
+ 0x00006280, 0x83106209, 0x00008300, 0x8310420c, 0x00006300, 0x82402a09,
+ 0x00000880, 0x8300fa0c, 0x00007900, 0x0000003e, 0x00008280, 0x83104a0c,
+ 0x0000e300, 0x82003c36, 0x00000280, 0x82004208, 0x00001880, 0x8310420c,
+ 0x00009300, 0x50c8641a, 0x0000a882, 0x06801615, 0x00009181, 0x00000c1a,
+ 0x00009583, 0x82005e12, 0x000060b0, 0x86800f13, 0x000042b0, 0x83001a1a,
+ 0x000018b0, 0x00000d74, 0x00007018, 0x86800fe2, 0x00009880, 0x50c04c1a,
+ 0x0000a082, 0xffffffff, 0x00007fa7, 0x827fba09, 0x00009280, 0x83106209,
+ 0x00001300, 0x8310420c, 0x00009300, 0x50c8641a, 0x0000a882, 0x0687ef15,
+ 0x00001281, 0x00000c1a, 0x00009583, 0x02000000, 0x00001988, 0x02308e11,
+ 0x00001909, 0x00000d8e, 0x0000f010, 0x0d7b0fd3, 0x0000f300, 0x0d804008,
+ 0x00009900, 0x82003e11, 0x0000e280, 0x86800c11, 0x00000280, 0x86800fe2,
+ 0x0000e080, 0x8300221a, 0x0000c880, 0x50e04c1a, 0x00002000, 0xffffffff,
+ 0x00007fa7, 0x827f4209, 0x00007900, 0x0000003e, 0x00008280, 0x82403f11,
+ 0x0000e280, 0x83106209, 0x00008300, 0x8310420c, 0x00006300, 0x82402a09,
+ 0x00000880, 0x8300fa0c, 0x00007900, 0x0000003e, 0x00008280, 0x83104a0c,
+ 0x0000e300, 0x82003c36, 0x00000280, 0x82004208, 0x00001880, 0x8310420c,
+ 0x00009300, 0x50e0641a, 0x0000a800, 0x06801715, 0x00001181, 0x00000c1a,
+ 0x00009583, 0x82005c10, 0x000060b0, 0x86800d11, 0x000042b0, 0x83001a1a,
+ 0x000018b0, 0x00000d9b, 0x0000f018, 0x86800fe2, 0x00009880, 0x50e04c1a,
+ 0x00002000, 0xffffffff, 0x00007fa7, 0x827fba09, 0x00009280, 0x83106209,
+ 0x00001300, 0x8310420c, 0x00009300, 0x50e0641a, 0x0000a800, 0x0687ec14,
+ 0x00009281, 0x00000c1a, 0x00009583, 0x02000000, 0x00001988, 0x02207c0f,
+ 0x00001909, 0x00000db5, 0x00007010, 0x0da20fd3, 0x00007300, 0x0d804008,
+ 0x00009900, 0x83003c0f, 0x0000e280, 0x86800e10, 0x00000280, 0x86800fe2,
+ 0x0000e080, 0x8240221a, 0x0000c880, 0x50c0441a, 0x0000a002, 0xffffffff,
+ 0x00007fa7, 0x823f4208, 0x00007900, 0x0000003e, 0x00008280, 0x82003d0f,
+ 0x0000e280, 0x82504a08, 0x00000300, 0x82506209, 0x0000e300, 0x82002a08,
+ 0x00000880, 0x8240fa09, 0x00007900, 0x0000003e, 0x00008280, 0x82504209,
+ 0x00006300, 0x83003c36, 0x00008280, 0x8300420c, 0x00001880, 0x82506209,
+ 0x00001300, 0x50c84c1a, 0x00002802, 0x06801414, 0x00009181, 0x00000c1a,
+ 0x00009583, 0x83005e0f, 0x0000e0b0, 0x86800f10, 0x000042b0, 0x82401a1a,
+ 0x000018b0, 0x00000dc2, 0x0000f018, 0x86800fe2, 0x00009880, 0x50c0441a,
+ 0x0000a002, 0xffffffff, 0x00007fa7, 0x823fba08, 0x00009280, 0x82504a08,
+ 0x00009300, 0x82506209, 0x00001300, 0x50c84c1a, 0x00002802, 0x0687ed14,
+ 0x00001281, 0x00000c1a, 0x00009583, 0x02000000, 0x00001988, 0x0230760e,
+ 0x00001909, 0x00000ddc, 0x00007010, 0x0dc90fd3, 0x0000f300, 0x0d804008,
+ 0x00009900, 0x83003e0e, 0x0000e280, 0x86800c0e, 0x00008280, 0x86800fe2,
+ 0x0000e080, 0x8240221a, 0x0000c880, 0x50e0461a, 0x0000a080, 0xffffffff,
+ 0x00007fa7, 0x823f4208, 0x00007900, 0x0000003e, 0x00008280, 0x82003f0e,
+ 0x0000e280, 0x82504a08, 0x00000300, 0x82506209, 0x0000e300, 0x82002a08,
+ 0x00000880, 0x8240fa09, 0x00007900, 0x0000003e, 0x00008280, 0x82504209,
+ 0x00006300, 0x83003c36, 0x00008280, 0x8300420c, 0x00001880, 0x82506209,
+ 0x00001300, 0x50e04e1a, 0x0000a880, 0x06801514, 0x00001181, 0x00000c1a,
+ 0x00009583, 0x83005c0d, 0x0000e0b0, 0x86800d0e, 0x0000c2b0, 0x82401a1a,
+ 0x000018b0, 0x00000de9, 0x0000f018, 0x86800fe2, 0x00009880, 0x50e0461a,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x823fba08, 0x00009280, 0x82504a08,
+ 0x00009300, 0x82506209, 0x00001300, 0x50e04e1a, 0x0000a880, 0x0687ee14,
+ 0x00001281, 0x00000c1a, 0x00009583, 0x02000000, 0x00001988, 0x02205c0b,
+ 0x00001909, 0x00000e03, 0x0000f010, 0x0df00fd3, 0x0000f300, 0x0d804008,
+ 0x00009900, 0x83003c0b, 0x00006280, 0x86800e0d, 0x00000280, 0x86800fe2,
+ 0x0000e080, 0x8240221a, 0x0000c880, 0x50c0461a, 0x0000a082, 0xffffffff,
+ 0x00007fa7, 0x823f4208, 0x00007900, 0x0000003e, 0x00008280, 0x82504a08,
+ 0x00006300, 0x82003d0b, 0x00000280, 0x82506209, 0x0000e300, 0x82c03c36,
+ 0x00000280, 0x8240fa09, 0x00007900, 0x0000003e, 0x00008280, 0x82c0420b,
+ 0x00006080, 0x82002a08, 0x0000c880, 0x82504209, 0x00009300, 0x82505a09,
+ 0x00009300, 0x50c84e1a, 0x00002882, 0x06801614, 0x00001181, 0x00000c1a,
+ 0x00009583, 0x82005e0b, 0x0000e0b0, 0x86800f0d, 0x000042b0, 0x82c01a1a,
+ 0x000098b0, 0x00000e10, 0x0000f018, 0x86800fe2, 0x00009880, 0x50c04e1a,
+ 0x00002082, 0xffffffff, 0x00007fa7, 0x827fba09, 0x00009280, 0x82505a09,
+ 0x00009300, 0x82504209, 0x00009300, 0x50c84e1a, 0x00002882, 0xc0000714,
+ 0x00006583, 0x02400800, 0x00008981, 0x86b71ee3, 0x00001910, 0xcd48561a,
+ 0x00002896, 0xf3e0561a, 0x0000a894, 0xffffffff, 0x00007f86, 0xffffffff,
0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x01400ce0,
- 0x00001283, 0x0bb81edc, 0x0000f113, 0x01400000, 0x0000e181, 0xb8400003,
- 0x0000c980, 0x04c02413, 0x00006081, 0x38609c13, 0x00008901, 0xffffffff,
- 0x0000ffb7, 0x15020b00, 0x0000f904, 0x05020b00, 0x00007904, 0xd3c00209,
- 0x0000f892, 0xf0400000, 0x0000058a, 0x80000217, 0x00006582, 0x81400000,
- 0x00008981, 0xc4000000, 0x0000e180, 0x04800000, 0x0000c990, 0x16400000,
- 0x00006191, 0x85800000, 0x0000c990, 0x00000c94, 0x0000f008, 0x051b8370,
- 0x00009900, 0x2b401e2c, 0x0000e281, 0x045b8370, 0x00000900, 0x0010b814,
- 0x00006502, 0x014014ad, 0x00000881, 0x7840c405, 0x00006081, 0x0450ba17,
- 0x00008938, 0x1c702e05, 0x00006101, 0x01401605, 0x0000c881, 0x3841a405,
- 0x00009081, 0xffffffff, 0x00007fa7, 0x1d020b00, 0x00007904, 0x0c83a02b,
- 0x00009002, 0x1d188032, 0x00006102, 0x0c000075, 0x00008084, 0x8c800000,
- 0x00006180, 0x1d400030, 0x0000c184, 0xc0000310, 0x00001582, 0x80000211,
- 0x00006582, 0x8c800800, 0x00008990, 0x1c820b00, 0x00007904, 0x16219432,
- 0x0000e101, 0x1c815872, 0x00004100, 0x00000c4f, 0x0000f008, 0x0c000000,
- 0x0000e181, 0x82508a11, 0x00004900, 0x0a004476, 0x00006884, 0x1da18476,
- 0x00009000, 0x00003876, 0x00009582, 0x00004076, 0x00009582, 0x00000458,
- 0x00001583, 0x00000bea, 0x0000f050, 0x00000bf9, 0x0000f010, 0x00000bfb,
- 0x00007008, 0x2b039209, 0x00006400, 0x1d839072, 0x00004900, 0x1003a500,
- 0x0000f904, 0x00056076, 0x00006502, 0x1c856310, 0x00008000, 0x10039500,
- 0x0000f904, 0x0c000c30, 0x00006081, 0x0ac158ac, 0x00000000, 0x00000c0a,
- 0x0000f208, 0xc4156310, 0x0000e000, 0x82556209, 0x00000100, 0x80000209,
- 0x00009582, 0x1d020b00, 0x00007904, 0x1c820b00, 0x00007904, 0x00000be2,
- 0x0000f010, 0x00000432, 0x00001583, 0x0c000c30, 0x00009191, 0x8c904a11,
- 0x00001100, 0x80119211, 0x00001502, 0x82304430, 0x00006009, 0x85d08a17,
- 0x00008108, 0x85908a16, 0x00006008, 0x0a004405, 0x0000208c, 0x00000c68,
- 0x0000f010, 0x80000217, 0x00006582, 0x01602c30, 0x00008001, 0x86202808,
- 0x0000e885, 0x00000c88, 0x0000f011, 0x00000b63, 0x0000f400, 0x8250b216,
- 0x00006100, 0x96001a15, 0x0000c880, 0x8492c216, 0x00009100, 0x1cc00e2c,
- 0x0000e081, 0x0ac00000, 0x00008980, 0x9ca39c73, 0x00006100, 0x2b400cad,
- 0x0000c081, 0xc4000000, 0x0000e180, 0x81400e05, 0x0000c081, 0x80116272,
- 0x0000e502, 0x8b000e2c, 0x00000081, 0x000024ad, 0x00009583, 0x80116272,
- 0x00001502, 0x00000c5b, 0x00007018, 0x00000bf5, 0x0000f010, 0x00000bf5,
- 0x0000f020, 0x1d000180, 0x00006180, 0x9ca39a2c, 0x0000c100, 0x80002272,
- 0x0000e582, 0x9d280500, 0x00008900, 0x01639c2c, 0x00006131, 0x01402000,
- 0x00008999, 0x1d400000, 0x00007900, 0x000014c4, 0x00000980, 0x1cc02473,
- 0x0000e080, 0x01402405, 0x00004881, 0x75e80074, 0x0000e101, 0x00202875,
- 0x0000b106, 0x1cc14073, 0x00001002, 0x703ba8ec, 0x00005600, 0x003ba000,
- 0x00008000, 0x1d400000, 0x00007900, 0x00007fc0, 0x00000980, 0x1c800029,
- 0x0000e084, 0x1d300006, 0x00008980, 0x703b98ec, 0x00005600, 0x003b9000,
- 0x00008000, 0x9d602c05, 0x0000e100, 0x04181074, 0x0000e187, 0x703ba8ec,
- 0x00005600, 0x003ba000, 0x00008000, 0x00c002ec, 0x0000df80, 0x10c1900b,
- 0x00001684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x01400ce0,
- 0x00001283, 0x0c451edc, 0x0000f113, 0xb8400003, 0x0000e180, 0x1ca38c30,
- 0x0000c000, 0x2b400000, 0x00006181, 0x1c801472, 0x00004881, 0x3841a472,
- 0x00009081, 0xffffffff, 0x00007fa7, 0x1d020b00, 0x00007904, 0x1c820b00,
- 0x00007904, 0xf8800209, 0x00007892, 0xc8400000, 0x0000858f, 0x00000bfb,
- 0x00007400, 0x00000432, 0x0000e583, 0x0c000000, 0x00000981, 0x0c000c30,
- 0x00006191, 0x82400000, 0x00000980, 0x01400000, 0x00009981, 0x82304405,
- 0x00001001, 0x0a004409, 0x0000e884, 0x00000b63, 0x0000f400, 0x8250ba17,
- 0x00006100, 0x16204c05, 0x0000c001, 0x8622c008, 0x00006885, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x028e5000, 0x00007900, 0x0024f12a,
- 0x00008980, 0x02e84000, 0x0000f900, 0x00167a04, 0x00000980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x0c681e83,
- 0x0000f500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002,
- 0x0000c900, 0x80000216, 0x00001582, 0x96002d00, 0x00006090, 0x8b22cc59,
- 0x0000c911, 0x3000c058, 0x00007912, 0x06400000, 0x00008000, 0x00000c99,
- 0x00007008, 0x0000045b, 0x0000e583, 0x0ac09012, 0x00000900, 0x3038d258,
- 0x0000b038, 0x3038e458, 0x0000b038, 0x3038f658, 0x0000b038, 0x30790058,
- 0x0000b038, 0x30791258, 0x0000b038, 0x00000c06, 0x0000f408, 0x30792458,
- 0x0000b038, 0x30793658, 0x0000b038, 0x04a2d7e4, 0x00001800, 0x82404212,
- 0x00006080, 0x84400a12, 0x00008180, 0x04417211, 0x00009200, 0x84508a16,
- 0x00009000, 0x80104a11, 0x00009502, 0x96000a12, 0x000060a0, 0x85400000,
- 0x000049a8, 0x85400000, 0x0000e1a0, 0x84808258, 0x0000c0a0, 0x00000c06,
- 0x0000f028, 0x80108a12, 0x00006502, 0x85400a15, 0x00000080, 0x84904a12,
- 0x00001030, 0x00000c06, 0x00007019, 0x00000c83, 0x00007000, 0x96002d00,
- 0x0000e080, 0x1671662c, 0x00004901, 0x3038c058, 0x00003838, 0x3038d258,
- 0x00003838, 0x3038e458, 0x00003838, 0x3038f658, 0x00003838, 0x30790058,
- 0x00003838, 0x30791258, 0x00003838, 0x30792458, 0x00003838, 0x00000bc9,
- 0x0000f400, 0x30793658, 0x00003838, 0x0481582b, 0x00009900, 0x00000b63,
- 0x0000f400, 0x84400000, 0x0000e180, 0x96001a15, 0x0000c880, 0x8492c211,
- 0x0000e100, 0x82400000, 0x00000980, 0x0000045b, 0x0000e583, 0x82004608,
- 0x00000081, 0x1622d7e4, 0x00006010, 0x0a004405, 0x00006084, 0x01404405,
- 0x00006081, 0x84400a58, 0x00008190, 0x00000caf, 0x0000f208, 0x04417211,
- 0x0000e210, 0x86202808, 0x0000a085, 0x82404258, 0x00001080, 0x84908a32,
- 0x00009000, 0x80104a12, 0x00009502, 0x84400a58, 0x000060a0, 0x85400000,
- 0x000049a8, 0x85400000, 0x0000e1a0, 0x84408211, 0x000040a0, 0x00000cda,
- 0x00007028, 0x80109211, 0x00006502, 0x85400a15, 0x00000080, 0x84504a11,
- 0x00001030, 0x00000cda, 0x0000f019, 0x00000caa, 0x0000f000, 0x84c01a32,
- 0x00009280, 0x80000213, 0x00001582, 0x96509a13, 0x0000e110, 0x85919232,
- 0x00004908, 0x00000c06, 0x0000f009, 0x0000002b, 0x00006582, 0x1603fc05,
- 0x00000281, 0x01400c58, 0x00006181, 0x0587e62c, 0x00008281, 0x04400459,
- 0x000080a6, 0x16001800, 0x00006181, 0x8b000e2c, 0x0000c189, 0x0c001405,
- 0x00001881, 0x05c7e62c, 0x00006281, 0x7841a430, 0x00008081, 0x0020bc16,
- 0x00001503, 0x05c01458, 0x00001891, 0x3840c417, 0x00009091, 0xffffffff,
- 0x00007f97, 0x04820b00, 0x00007904, 0x00000ccc, 0x0000f408, 0x16820b00,
- 0x00007904, 0x0502d05a, 0x00009900, 0x10009500, 0x0000f904, 0x00000458,
- 0x0000e583, 0x1697285a, 0x00008200, 0x1002d500, 0x0000f904, 0x16001800,
- 0x0000e189, 0x16000c58, 0x0000c191, 0x8ad2d211, 0x00001c00, 0xffffffff,
- 0x00007f86, 0x84515a11, 0x00006100, 0x05d1585a, 0x00000100, 0x80000217,
- 0x00006582, 0x0ad72817, 0x00008200, 0x02400c09, 0x00001089, 0x00000ce6,
- 0x00007011, 0x80000211, 0x00009582, 0x8b000e2c, 0x00006191, 0x01400c05,
- 0x00000191, 0x0c001405, 0x00009891, 0x00000ce8, 0x00007008, 0x00000cbc,
- 0x00007000, 0x2c10aa09, 0x00009600, 0x044588b0, 0x00001000, 0x84908a12,
- 0x00006100, 0x84c01a32, 0x00000280, 0x05109212, 0x0000e100, 0x04410058,
- 0x0000c180, 0x00008814, 0x00001502, 0x8252c212, 0x00009140, 0x00000cb0,
- 0x0000f049, 0x96412209, 0x00009082, 0x00000cb0, 0x0000f00b, 0x00000cb4,
- 0x0000f000, 0x80000211, 0x00009582, 0x00000cbc, 0x0000f013, 0x3841a430,
- 0x00006081, 0x82204e08, 0x00000101, 0x1680a014, 0x0000e100, 0x0a004458,
- 0x0000e084, 0x8452ca32, 0x0000e100, 0x01604c58, 0x00008101, 0x96001a15,
- 0x0000e080, 0x86202808, 0x00006085, 0x82508a11, 0x00001900, 0xffffffff,
- 0x00007f86, 0x10009500, 0x0000f904, 0x00000b63, 0x0000f400, 0x1002d500,
- 0x0000f904, 0x8492c211, 0x00001100, 0x04c1ff60, 0x0000e281, 0x41400000,
- 0x00008981, 0x00011c13, 0x00006583, 0x04801f71, 0x00000281, 0x84000000,
- 0x00009988, 0xa6001f71, 0x0000c296, 0x06202771, 0x00000392, 0x76000c12,
- 0x0000c188, 0x00201c12, 0x00000088, 0x0a004771, 0x0000788e, 0x00c00000,
- 0x00000789, 0x80c08771, 0x00004996, 0x60202771, 0x00000592, 0x04c3c470,
- 0x00009281, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f97, 0xaf83c413, 0x0000c193, 0x00008771, 0x00000088, 0xa4601f71,
- 0x0000448d, 0xc4012474, 0x0000848d, 0x5cc12474, 0x000044b0, 0xf2218c74,
- 0x0000848d, 0x56c18c74, 0x0000c198, 0x00212c74, 0x00008088, 0xb8813474,
- 0x0000788a, 0x50800000, 0x00000986, 0xb8819474, 0x0000788a, 0x00800001,
- 0x00000000, 0xb281fc74, 0x0000f892, 0x10800000, 0x00000987, 0x70608771,
- 0x0000c48e, 0x50201f71, 0x0000848e, 0xc3012474, 0x0000c488, 0x38212474,
- 0x000085b4, 0xc5e18c74, 0x00004388, 0x00218c74, 0x00000098, 0x7f812c74,
- 0x0000788b, 0x00800001, 0x00000000, 0x86013474, 0x0000f88b, 0x90800000,
- 0x00008b80, 0x86019474, 0x0000f88b, 0x00800001, 0x00000000, 0x8481fc74,
- 0x00007893, 0xc0800000, 0x00008b80, 0x2c0036e3, 0x00001680, 0x84c588b0,
- 0x00001000, 0x84801213, 0x00001080, 0x0dc04e12, 0x0000f902, 0x02000000,
- 0x00000004, 0xffffffff, 0x00007fa7, 0x02400809, 0x00001082, 0xc1c00f10,
- 0x00006283, 0x02000008, 0x00000084, 0x0df84e12, 0x0000d004, 0x00384000,
- 0x00000000, 0xc1c04771, 0x00001283, 0xc1c20771, 0x00001283, 0x00001297,
- 0x0000f010, 0x00000e56, 0x0000f008, 0x00000ef2, 0x00007008, 0x0dc04e13,
- 0x00007902, 0x02000000, 0x00000004, 0x18400000, 0x0000e180, 0x00000060,
- 0x0000e586, 0x1940b016, 0x0000e100, 0x00280060, 0x0000e585, 0x19800000,
- 0x00006180, 0x76038860, 0x00006001, 0x02400809, 0x0000e082, 0x19c39072,
- 0x00008900, 0x02000008, 0x00006084, 0x1a000000, 0x00000980, 0x0df84e13,
- 0x00005004, 0x00384000, 0x00000000, 0x1a400000, 0x00006180, 0x1a81702e,
- 0x0000c900, 0x1ac00800, 0x000002fd, 0x0141ff60, 0x00006281, 0x584b8971,
- 0x00000900, 0xc1c00f10, 0x00006283, 0x02c00000, 0x00000980, 0x02800000,
- 0x00006180, 0x0a03060b, 0x0000e082, 0x034086a0, 0x00006180, 0xa5c3800b,
- 0x0000e007, 0x02432865, 0x0000e100, 0x8043000b, 0x00006001, 0x700080ec,
- 0x00005680, 0x00000540, 0x00008088, 0x000011eb, 0x0000f410, 0x02a17c69,
- 0x0000802d, 0x42fb0f61, 0x00006101, 0x02300004, 0x0000c988, 0x703b28ec,
- 0x0000d600, 0x003b3800, 0x00000000, 0x703858ec, 0x00005600, 0x00385000,
- 0x00008000, 0xc4c00461, 0x000080ac, 0x0000980b, 0x0000e206, 0x04181008,
- 0x00003187, 0x02bff961, 0x00007900, 0x000003fe, 0x00000282, 0x04c00000,
- 0x0000e180, 0x8628300b, 0x00006087, 0x04c00800, 0x0000e1b8, 0x5303800b,
- 0x0000e001, 0x00011c05, 0x0000e583, 0x4701780b, 0x00002001, 0x65a0980b,
- 0x0000e001, 0x0000400d, 0x00003506, 0x04bff961, 0x00007900, 0x000003fe,
- 0x00008280, 0x703b98ec, 0x00005600, 0x003ba000, 0x00008000, 0x04c01761,
- 0x0000e080, 0x7000080b, 0x00006409, 0x04c09812, 0x00006000, 0x0001700c,
- 0x0000a286, 0x700080ec, 0x00005680, 0x003847c0, 0x00008078, 0x0000980b,
- 0x0000e206, 0x8620300c, 0x00003087, 0x703868ec, 0x00005600, 0x00000000,
- 0x00008080, 0x02408000, 0x00007900, 0x00007fc0, 0x00000980, 0x703858ec,
- 0x00005600, 0x00386000, 0x00008000, 0x00004009, 0x0000ed86, 0x703ba8ec,
- 0x00005600, 0x003bb000, 0x00000000, 0x703848ec, 0x0000d600, 0x00384000,
- 0x00000000, 0x0d7e0b12, 0x0000f300, 0xc1c00000, 0x00009980, 0xc0000370,
- 0x0000e582, 0x961b8370, 0x00000900, 0x0d838459, 0x00006090, 0x08005214,
- 0x00003192, 0x0c017c5a, 0x0000e016, 0x0a005c09, 0x0000b010, 0x00000e49,
- 0x00007008, 0x01400c6e, 0x00001283, 0x84818214, 0x0000e190, 0x08005274,
- 0x0000a18a, 0x0487862f, 0x00006281, 0x9d208212, 0x00000110, 0x00010412,
- 0x00001583, 0x08005215, 0x0000e192, 0x0c017c12, 0x0000b00e, 0x04a097e4,
- 0x00009808, 0x9d004212, 0x0000e088, 0x85404212, 0x00000088, 0x00000409,
- 0x00009583, 0x04a2d7e4, 0x0000e010, 0x81400000, 0x0000c991, 0xc1c00000,
- 0x00006190, 0x84c00a12, 0x00004190, 0x00000e6d, 0x00007008, 0x04817213,
- 0x00001200, 0x04c09370, 0x00009000, 0x04a2d013, 0x00001700, 0x84c01a12,
- 0x00006080, 0x85909212, 0x0000c900, 0x84800f0a, 0x00006080, 0x96109b70,
- 0x00004000, 0x80000258, 0x0000e582, 0x9c909214, 0x00000100, 0x85c00000,
- 0x00006188, 0x05000000, 0x0000c990, 0x1c400000, 0x00006191, 0x16c00800,
- 0x00004991, 0x00000deb, 0x0000f008, 0x5cc00000, 0x000081dd, 0x84f0ae74,
- 0x00008116, 0x80000217, 0x00006582, 0x01401e2c, 0x00000281, 0x1d401405,
- 0x0000e081, 0x1d009813, 0x00004908, 0x7840c475, 0x0000e081, 0x1d00a815,
- 0x00008910, 0x1d401605, 0x00001881, 0x0012c074, 0x0000e502, 0x0483a074,
- 0x00000900, 0x0492c258, 0x00006138, 0x3841a475, 0x00004081, 0x1d302e05,
- 0x00001901, 0xffffffff, 0x00007f86, 0x2b020b00, 0x00007904, 0x1d85602b,
- 0x00006002, 0xab000000, 0x00000980, 0x39983876, 0x0000e102, 0x1d4000ad,
- 0x00000084, 0xc0000307, 0x0000e582, 0x39c00075, 0x00000184, 0x80000212,
- 0x00006582, 0xab000800, 0x00000990, 0x2b820b00, 0x0000f904, 0x2b6564ac,
- 0x0000e101, 0x2b8158ae, 0x00004100, 0x00000ec8, 0x00007008, 0x1d800000,
- 0x00006181, 0x9d509212, 0x0000c900, 0x0a0044ed, 0x0000e884, 0x3b63b4ed,
- 0x00001000, 0x000038ed, 0x00001582, 0x000040ed, 0x00001582, 0x000004ad,
- 0x00001583, 0x00000dca, 0x00007050, 0x00000dd9, 0x00007010, 0x00000ddb,
- 0x0000f008, 0x3b857275, 0x00006400, 0x3b4570ae, 0x0000c900, 0x10073500,
- 0x00007904, 0x000770ed, 0x0000e502, 0x2b877307, 0x00000000, 0x10057500,
- 0x00007904, 0x1d800c76, 0x00006081, 0x0ac158ee, 0x00000000, 0x00000e76,
- 0x0000f208, 0xc1d77307, 0x0000e000, 0x9d577275, 0x00000100, 0x80000275,
- 0x00001582, 0x39820b00, 0x0000f904, 0x2b820b00, 0x0000f904, 0x00000dc2,
- 0x00007010, 0x000004ac, 0x00009583, 0x1d800c76, 0x00009191, 0x9d13aa12,
- 0x00001100, 0x8013a212, 0x00009502, 0x82304476, 0x0000e009, 0x96109258,
- 0x00008108, 0x85d09217, 0x00006008, 0x0a004405, 0x0000208c, 0x0000121a,
- 0x0000f010, 0x01602c76, 0x00006001, 0x9cd09273, 0x00008000, 0x80139273,
- 0x0000e502, 0x86202808, 0x0000a085, 0x16c00c5b, 0x00006099, 0x9cd39273,
- 0x00000118, 0x80000258, 0x0000e582, 0x08005272, 0x0000219a, 0x00001237,
- 0x0000f013, 0x2c0036e3, 0x00001680, 0x848588b0, 0x00009000, 0x85001a16,
- 0x00006080, 0x84801a12, 0x00004080, 0x84d0a217, 0x0000e100, 0xdb10a217,
- 0x00008100, 0x0df8a612, 0x0000a084, 0x801b8213, 0x0000e502, 0xb2e2c86e,
- 0x00002080, 0x1bbfe86e, 0x0000f928, 0x003ffffe, 0x00008280, 0x0b817213,
- 0x00006000, 0x84406800, 0x00008980, 0x01400c6e, 0x0000e283, 0x05000814,
- 0x00000080, 0x0df8a612, 0x00002884, 0x84af2004, 0x00006180, 0x0a004511,
- 0x0000e084, 0x85109a12, 0x0000e100, 0xc1d09a12, 0x00008100, 0x8250ba17,
- 0x00006100, 0x84be801f, 0x0000c990, 0x84a08212, 0x00009110, 0x0140146e,
- 0x0000e283, 0xc1d0a212, 0x00000010, 0x84d09aec, 0x00009110, 0x84c01a13,
- 0x0000e290, 0x84a88307, 0x00008110, 0xc1d09a12, 0x00006110, 0x84c03c59,
- 0x00000880, 0x003088ec, 0x0000d702, 0x00007000, 0x00000080, 0x04804000,
- 0x00006181, 0xc1d09b07, 0x00004100, 0x0a004413, 0x00006884, 0x001010ec,
- 0x0000d780, 0x00007000, 0x00000080, 0x81609c12, 0x00009101, 0xc4401f71,
- 0x00001283, 0x0008b8ec, 0x00005780, 0x00d07781, 0x00008280, 0x27000000,
- 0x0000e188, 0x27400000, 0x00004988, 0x000014df, 0x0000f010, 0x27800000,
- 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc, 0x29000000,
- 0x00008ad4, 0x29800000, 0x00008adc, 0x2a000000, 0x00008ae4, 0x2ac00000,
- 0x00008ae8, 0xc9e00f2f, 0x0000c497, 0x76004771, 0x00008395, 0xc9e20771,
- 0x0000c98f, 0x76000f10, 0x00000395, 0x05402800, 0x00001981, 0x04c24771,
- 0x00001281, 0x00024413, 0x00001583, 0x00000edc, 0x0000700b, 0x01402470,
- 0x00001283, 0xc4000f10, 0x00006283, 0x05400c15, 0x00000191, 0x00001243,
- 0x0000f013, 0x04800000, 0x0000f900, 0x001f8000, 0x00008980, 0x04c3c470,
- 0x00006281, 0x00183812, 0x00002186, 0x0003c413, 0x0000e583, 0x04302812,
- 0x00002101, 0x203896ec, 0x0000d600, 0x003bb800, 0x00008000, 0x000014f8,
- 0x00007009, 0x40000505, 0x00006583, 0x04c01f71, 0x00008281, 0x00000e38,
- 0x00007013, 0xc0000370, 0x00001582, 0x05400c15, 0x00001089, 0x00001413,
- 0x00009583, 0x00000ecd, 0x0000700b, 0x00000005, 0x0000e586, 0x00003000,
- 0x0000b406, 0x00100005, 0x0000e505, 0x02000001, 0x00003704, 0xc0038007,
- 0x00006606, 0x50008000, 0x0000b480, 0xc0c00000, 0x00006180, 0xc0000005,
- 0x00006407, 0x001000ec, 0x00005780, 0x00c06180, 0x000003c0, 0xc0001807,
- 0x0000e006, 0xc0000801, 0x00003401, 0x41604e15, 0x00000083, 0x008006ec,
- 0x0000df80, 0x00000000, 0x00000084, 0x40000505, 0x00006583, 0x81400000,
- 0x00008981, 0x000810ec, 0x00005788, 0x00007000, 0x00000080, 0x000014eb,
- 0x0000f011, 0x00000e11, 0x00007000, 0xc4400f10, 0x0000e283, 0x05402800,
- 0x00008981, 0x00000e23, 0x0000700b, 0x01402470, 0x00001283, 0x05400c15,
- 0x00009191, 0x8a800f10, 0x0000788f, 0x18400000, 0x00008982, 0x0dc04e13,
- 0x00007902, 0x02000000, 0x00000004, 0x18400000, 0x0000e180, 0x00000060,
- 0x0000e586, 0x19800000, 0x00006180, 0x00280060, 0x0000e585, 0x19c39072,
- 0x00006100, 0x76038860, 0x00006001, 0x02400809, 0x0000e082, 0x1a000000,
- 0x00000980, 0x02000008, 0x00006084, 0x1a517a2f, 0x00000900, 0xc1c20771,
- 0x0000e283, 0x1a81702e, 0x00000900, 0x0df84e13, 0x00005004, 0x00384000,
- 0x00000000, 0x1ac00000, 0x0000e180, 0x584b8971, 0x0000c900, 0x00000d46,
- 0x00007400, 0x0141ff60, 0x00006281, 0x8bc00a2f, 0x00000080, 0x194728e5,
- 0x00006108, 0x1940b016, 0x00004910, 0x84c00f0a, 0x0000e080, 0x81400000,
- 0x00004981, 0x41c00400, 0x000081d9, 0x9c400800, 0x000005ee, 0x5cc00000,
- 0x000081dd, 0x00000da6, 0x0000f400, 0x0550aa15, 0x00006100, 0x9c909a14,
- 0x00004100, 0x84c00674, 0x00008190, 0x2bc00e2c, 0x00006081, 0x0ac00000,
- 0x00008980, 0xaba57caf, 0x0000e100, 0x01400c05, 0x0000c081, 0xc1c00000,
- 0x0000e180, 0x81400e05, 0x0000c081, 0x801162ae, 0x00006502, 0x8b000e2c,
- 0x00000081, 0x00002405, 0x00001583, 0x801162ae, 0x00009502, 0x00000f10,
- 0x00007018, 0x00000dd5, 0x00007010, 0x00000dd5, 0x00007020, 0x39800180,
- 0x0000e180, 0xaba57a2c, 0x0000c100, 0x800022ae, 0x00006582, 0xb9a80500,
- 0x00000900, 0x01657c2c, 0x0000e131, 0x01402000, 0x00008999, 0x39c00000,
- 0x0000f900, 0x000014c4, 0x00000980, 0x2bc024af, 0x0000e080, 0x01402405,
- 0x00004881, 0x75e800e6, 0x00006101, 0x002028e7, 0x00003106, 0x2bc140af,
- 0x00001002, 0x703f38ec, 0x0000d600, 0x003f3000, 0x00000000, 0x39c00000,
- 0x0000f900, 0x00007fc0, 0x00000980, 0x2b800029, 0x00006084, 0x39b00006,
- 0x00000980, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0xb9e02c05,
- 0x00006100, 0x041810e6, 0x00006187, 0x703f38ec, 0x0000d600, 0x003f3000,
- 0x00000000, 0x00c002ec, 0x0000df80, 0x10d4f00b, 0x00009684, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0x01400ce0, 0x00001283, 0x0eb11edc,
- 0x0000f113, 0xb8400003, 0x0000e180, 0x2ba3a476, 0x0000c000, 0x01400000,
- 0x0000e181, 0x2b8014ae, 0x00004881, 0x3841a4ae, 0x00001081, 0xffffffff,
- 0x00007fa7, 0x39820b00, 0x0000f904, 0x2b820b00, 0x0000f904, 0x70800275,
- 0x00007893, 0xc8400000, 0x0000068e, 0x0000389f, 0x00006106, 0x0000089d,
- 0x0000b406, 0x2700609c, 0x0000e380, 0x8000189d, 0x0000a480, 0xc000389f,
- 0x0000e006, 0x800008a0, 0x00003402, 0x001138ec, 0x00005780, 0x00004800,
- 0x00008080, 0x27803006, 0x00006100, 0x0008089d, 0x00006501, 0xe7002402,
- 0x000081d6, 0x94800f10, 0x00007897, 0x18400000, 0x00000781, 0x00000ddb,
- 0x0000f400, 0x000004ac, 0x00006583, 0x1d800000, 0x00008981, 0x1d800c76,
- 0x00006191, 0x9d400000, 0x00008980, 0x00000005, 0x0000e586, 0x00003000,
- 0x0000b406, 0x00100005, 0x0000e505, 0x02000001, 0x00003704, 0xc3008007,
- 0x00006606, 0x50008000, 0x0000b480, 0xc0c00000, 0x00006180, 0xc0000005,
- 0x00006407, 0x001000ec, 0x00005780, 0x00c06300, 0x000000c0, 0xc0001807,
- 0x0000e006, 0xc0000801, 0x00003401, 0x41601e15, 0x00000083, 0x008006ec,
- 0x0000df80, 0x00000000, 0x00000084, 0x000060a4, 0x00006406, 0x001808a5,
- 0x00003586, 0x29c00000, 0x0000e180, 0x000808a5, 0x00006505, 0x2938f8a4,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x04c0082d, 0x0000e080, 0x000038a7,
- 0x00002106, 0x01402470, 0x0000e283, 0x05400c15, 0x00008181, 0xb00008a9,
- 0x00006401, 0xc00000a5, 0x00003407, 0x001148ec, 0x0000d780, 0x00005000,
- 0x00008080, 0x29803006, 0x0000e100, 0xc00038a7, 0x00006006, 0xe9001000,
- 0x0000e181, 0x0b40082d, 0x0000c080, 0x05400c15, 0x00006191, 0x2a809813,
- 0x00000900, 0x8a800f10, 0x0000788f, 0x18400000, 0x00008982, 0x0141ff60,
- 0x00009281, 0x00001c05, 0x00009583, 0x76038860, 0x00006811, 0x00000f1d,
- 0x0000f009, 0x00002405, 0x00001583, 0x584b8971, 0x00006108, 0x0a830413,
- 0x00006008, 0x04e09ce5, 0x00006409, 0x19c39072, 0x00000908, 0x00000f06,
- 0x0000f208, 0x584b8971, 0x00006110, 0x75e09860, 0x0000e009, 0x00000405,
- 0x00006583, 0x19c39072, 0x00008900, 0x0141ff60, 0x00006281, 0x84c01a13,
- 0x00000088, 0x0dc09613, 0x0000200e, 0xffffffff, 0x00007fa7, 0x84800a12,
- 0x00001088, 0x0dc89613, 0x0000280e, 0xc0000761, 0x00001583, 0x00000d46,
- 0x0000700b, 0x04fb0aec, 0x00006100, 0x04806761, 0x00000180, 0x417b0f61,
- 0x0000e101, 0x04c01813, 0x0000c280, 0x04809812, 0x00001000, 0x00000d46,
- 0x00007400, 0x04c01012, 0x00009780, 0xd8609c13, 0x00009901, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x028e5000, 0x00007900, 0x0024f12a,
- 0x00008980, 0x02e84000, 0x0000f900, 0x00167a04, 0x00000980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x0f1d1e83,
- 0x00007500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002,
- 0x0000c900, 0x19f38f72, 0x00008604, 0x51800761, 0x0000788b, 0x40400000,
- 0x00008788, 0x0000002a, 0x0000e582, 0x0243a875, 0x00000900, 0x0487862f,
- 0x0000e291, 0x0b83a875, 0x00008910, 0x00000f74, 0x0000f009, 0x00010412,
- 0x00001583, 0x0c017c14, 0x0000680e, 0x04e0a7e4, 0x00001808, 0x00000f2f,
- 0x0000f010, 0x84800a13, 0x00009180, 0x04c18a12, 0x00009200, 0x0483a813,
- 0x00009000, 0x0520a012, 0x00009700, 0x84c01a14, 0x00001880, 0x0243aa13,
- 0x00001000, 0x0000482a, 0x00006502, 0x04818831, 0x00000900, 0x0ac00000,
- 0x000061b0, 0x8b21642c, 0x00004931, 0x00001569, 0x0000f031, 0x8000222c,
- 0x00009582, 0x8b219c33, 0x00006131, 0x0507e433, 0x0000c299, 0x8b07e433,
- 0x00006299, 0x0160a42c, 0x00008119, 0x0000155b, 0x0000f030, 0x84c00800,
- 0x000001d2, 0x03801c33, 0x00001281, 0x00000405, 0x00006583, 0x02000000,
- 0x00008981, 0x04c00c13, 0x0000e481, 0x02000800, 0x00008991, 0xffffffff,
- 0x00007f86, 0x02204413, 0x00009203, 0x82280500, 0x00006110, 0x04c0262c,
- 0x0000c890, 0x02800000, 0x00007910, 0x000010c4, 0x00008980, 0x00001569,
- 0x0000f008, 0x16014013, 0x0000e002, 0x04c08405, 0x00008c81, 0x02c00029,
- 0x00009084, 0x01609c05, 0x0000e101, 0x83002413, 0x00000880, 0x83002d00,
- 0x00006080, 0x0010600a, 0x00006106, 0xc218020c, 0x00001080, 0x703850ec,
- 0x0000d600, 0x00384000, 0x00000000, 0x02800000, 0x0000f900, 0x00007fc0,
- 0x00000980, 0x82802413, 0x0000e080, 0x02300006, 0x0000c980, 0x703ac0ec,
- 0x00005600, 0x00385800, 0x00000000, 0x04181008, 0x0000e987, 0x703850ec,
- 0x0000d600, 0x00384000, 0x00000000, 0x00c002ec, 0x0000df80, 0x10dae00b,
- 0x00009684, 0x00000414, 0x00009583, 0x0320740e, 0x0000e111, 0x04e07413,
- 0x0000c111, 0x8b219c33, 0x0000e111, 0x03000000, 0x00004989, 0xffffffff,
- 0x00007f86, 0x04e06413, 0x00001001, 0x00209c0c, 0x00001503, 0x00001559,
- 0x0000f00b, 0x02000c0c, 0x00006080, 0x85002d00, 0x00004880, 0x85104214,
- 0x00006000, 0x02d0a214, 0x00008900, 0x30385214, 0x00002080, 0xffffffff,
- 0x00007fa7, 0x05005012, 0x00009000, 0x0000a009, 0x00001502, 0x8b000e2c,
- 0x0000e0a1, 0x03000c0c, 0x000080a1, 0x04805012, 0x00001020, 0x0000154a,
- 0x0000f028, 0x56609c0c, 0x0000f80b, 0x28800000, 0x0000078b, 0x0ac09009,
- 0x00001100, 0xc1c02771, 0x00001283, 0x00001530, 0x0000f013, 0x04c3c470,
- 0x00009281, 0xfdc3c413, 0x0000c193, 0x00008771, 0x00000088, 0xf2601f71,
- 0x0000448d, 0xc8012474, 0x0000858f, 0xfd012474, 0x0000c4b0, 0xf6218c74,
- 0x0000058f, 0xf9418c74, 0x00004198, 0x00212c74, 0x00008088, 0xf9013474,
- 0x0000788b, 0xf0800000, 0x00000b8e, 0xf9019474, 0x0000788b, 0x00800001,
- 0x00000000, 0xf781fc74, 0x0000f893, 0x20800000, 0x00000b8f, 0x2d808771,
- 0x0000c48e, 0x22201f71, 0x0000048a, 0xda812474, 0x0000c488, 0xb0212474,
- 0x000005b5, 0xdd618c74, 0x0000c388, 0x00218c74, 0x00000098, 0xae412c74,
- 0x0000788b, 0x00800001, 0x00000000, 0xb5013474, 0x0000f88b, 0x70800000,
- 0x00000b86, 0xb5019474, 0x0000f88b, 0x00800001, 0x00000000, 0xb381fc74,
- 0x0000f893, 0xa0800000, 0x00008b86, 0x2c0036e3, 0x00001680, 0x84c588b0,
- 0x00001000, 0x84801213, 0x00001080, 0x0dc04e12, 0x0000f902, 0x02000000,
- 0x00000004, 0xffffffff, 0x00007fa7, 0x02400809, 0x00001082, 0xc1c00f10,
- 0x00006283, 0x02000008, 0x00000084, 0x0df84e12, 0x0000d004, 0x00384000,
- 0x00000000, 0xc1c04771, 0x00001283, 0xc1c20771, 0x00001283, 0x000017ab,
- 0x0000f010, 0x00001794, 0x0000f008, 0x00001773, 0x0000f008, 0x0dc04e13,
- 0x00007902, 0x02000000, 0x00000004, 0x18400000, 0x0000e180, 0x00000060,
- 0x0000e586, 0x1940b016, 0x0000e100, 0x00280060, 0x0000e585, 0x19800000,
- 0x00006180, 0x76038860, 0x00006001, 0x02400809, 0x0000e082, 0x19c39072,
- 0x00008900, 0x02000008, 0x00006084, 0x1a000000, 0x00000980, 0x0df84e13,
- 0x00005004, 0x00384000, 0x00000000, 0x1a400000, 0x00006180, 0x1a81702e,
- 0x0000c900, 0x1ac00800, 0x000002fd, 0x0141ff60, 0x00006281, 0x584b8971,
- 0x00000900, 0xc1c00f10, 0x00006283, 0x02400000, 0x00008980, 0x02000000,
- 0x0000e180, 0x0a030609, 0x00006082, 0x034086a0, 0x00006180, 0xa5c38009,
- 0x00006007, 0x02c32865, 0x00006100, 0x80430009, 0x0000e001, 0x700080ec,
- 0x00005680, 0x00000540, 0x00008088, 0x00001876, 0x00007410, 0x02217c69,
- 0x00008025, 0x02833867, 0x00006108, 0x427b0f61, 0x0000c901, 0x04cb0961,
- 0x00006100, 0x0000400d, 0x00006506, 0x703858ec, 0x00005600, 0x00385000,
- 0x00008000, 0x02f00004, 0x00006180, 0x02800000, 0x00004980, 0x0000980a,
- 0x00006206, 0x0418100b, 0x00003187, 0x703848ec, 0x0000d600, 0x00384000,
- 0x00000000, 0x04c00000, 0x0000e180, 0x8628300a, 0x0000e087, 0x023ff961,
- 0x0000f900, 0x000003fe, 0x00000282, 0x04c00800, 0x0000e1b8, 0x5303800a,
- 0x00006001, 0x00011c05, 0x0000e583, 0x4701780a, 0x0000a001, 0x65a0980a,
- 0x00006001, 0x00017009, 0x00003286, 0x04bff961, 0x00007900, 0x000003fe,
- 0x00008280, 0x703b98ec, 0x00005600, 0x003ba000, 0x00008000, 0x04c01761,
- 0x0000e080, 0x7000080a, 0x0000e409, 0x700080ec, 0x00005680, 0x00385fc0,
- 0x00008078, 0x04c09812, 0x00006000, 0x86203009, 0x0000a087, 0x703868ec,
- 0x00005600, 0x00000000, 0x00008080, 0x0000980a, 0x0000ea06, 0x03808000,
- 0x0000f900, 0x00007fc0, 0x00000980, 0x703850ec, 0x0000d600, 0x00384800,
- 0x00008000, 0x0000400e, 0x00006d86, 0x703ba8ec, 0x00005600, 0x003bb000,
- 0x00000000, 0x703870ec, 0x00005600, 0x00385800, 0x00000000, 0x0ff00b12,
- 0x00007300, 0xc1c00000, 0x00009980, 0xc0000370, 0x0000e582, 0x849b8370,
- 0x00008900, 0x0d838473, 0x0000e090, 0x08005215, 0x0000b192, 0x0507862f,
- 0x0000e291, 0x0c017c75, 0x0000a016, 0x00001101, 0x0000f008, 0x01400c6e,
- 0x00001283, 0x84c18215, 0x0000e190, 0x08005213, 0x0000218a, 0xffffffff,
- 0x00007f86, 0x00010414, 0x0000e583, 0x84e08213, 0x00000110, 0x08005211,
- 0x0000e992, 0x0c017c13, 0x0000e80e, 0x05209fe4, 0x00001808, 0x84404214,
- 0x0000e088, 0x84c04214, 0x00000088, 0x0a005c14, 0x0000e800, 0x00000414,
- 0x00009583, 0x04a3afe4, 0x00006010, 0x96400000, 0x00004988, 0x84800a12,
- 0x00009190, 0x0000100e, 0x00007008, 0x04817212, 0x00009200, 0x04809370,
- 0x00001000, 0x04a3a812, 0x00001700, 0x84801a12, 0x0000e080, 0x96509212,
- 0x00004900, 0x84909370, 0x00001000, 0x80000212, 0x00006582, 0x82400f0a,
- 0x00008880, 0xc1600000, 0x000080dd, 0x56800000, 0x000005e0, 0x9d000800,
- 0x000005ee, 0x000010a2, 0x0000f408, 0x9c400000, 0x0000e180, 0x82504a15,
- 0x00004100, 0x84708e13, 0x00000116, 0x8000025a, 0x00006582, 0x01401e2c,
- 0x00000281, 0x04c08811, 0x0000e108, 0x04c0a815, 0x0000c910, 0x1cb02e05,
- 0x00001901, 0x00109013, 0x0000e502, 0x05809813, 0x00008900, 0x05909212,
- 0x0000e138, 0x04c01405, 0x0000c881, 0x04c01605, 0x00006081, 0x7840c413,
- 0x00004081, 0x3841a413, 0x00001081, 0xffffffff, 0x0000ffb7, 0x2b020b00,
- 0x00007904, 0x04c5602b, 0x00009002, 0x39983813, 0x0000e102, 0x1d8000ad,
- 0x00000084, 0xab400000, 0x00006180, 0x39c00076, 0x0000c184, 0xc0000307,
- 0x0000e582, 0x04c00000, 0x00008981, 0xab400800, 0x00006190, 0x9d90b216,
- 0x0000c900, 0x80000216, 0x00001582, 0x2b820b00, 0x0000f904, 0x2b8158ae,
- 0x0000e100, 0x2b256cad, 0x00008901, 0x0000108f, 0x00007008, 0x0a0044ed,
- 0x0000e884, 0x3b609ced, 0x00001000, 0x000038ed, 0x00001582, 0x000040ed,
- 0x00001582, 0x000004ac, 0x00009583, 0x0000103b, 0x0000f050, 0x0000108f,
- 0x00007010, 0x00001092, 0x00007008, 0x3b857276, 0x00006400, 0x3b4570ae,
- 0x0000c900, 0x10073500, 0x00007904, 0x000770ed, 0x0000e502, 0x2b877307,
- 0x00000000, 0x10057500, 0x00007904, 0x04c00c13, 0x00006081, 0x0ac158ee,
- 0x00000000, 0x0000104a, 0x0000f208, 0xc1d77307, 0x0000e000, 0x9d977276,
- 0x00000100, 0x39820b00, 0x0000f904, 0x2b820b00, 0x0000f904, 0x23c00276,
- 0x0000788a, 0x98800000, 0x00008881, 0x2bc00e2c, 0x00006081, 0x0ac00000,
- 0x00008980, 0xaba57caf, 0x0000e100, 0x01400c05, 0x0000c081, 0xc1c00000,
- 0x0000e180, 0x81400e05, 0x0000c081, 0x801162ae, 0x00006502, 0x8b000e2c,
- 0x00000081, 0x00002405, 0x00001583, 0x801162ae, 0x00009502, 0x00000f10,
- 0x00007018, 0x00001046, 0x00007010, 0x00001046, 0x00007020, 0x39800180,
- 0x0000e180, 0xaba57a2c, 0x0000c100, 0x800022ae, 0x00006582, 0xb9a80500,
- 0x00000900, 0x01657c2c, 0x0000e131, 0x01402000, 0x00008999, 0x39c00000,
- 0x0000f900, 0x000014c4, 0x00000980, 0x2bc024af, 0x0000e080, 0x01402405,
- 0x00004881, 0x75e800e6, 0x00006101, 0x002028e7, 0x00003106, 0x2bc140af,
- 0x00001002, 0x703f38ec, 0x0000d600, 0x003f3000, 0x00000000, 0x39c00000,
- 0x0000f900, 0x00007fc0, 0x00000980, 0x2b800029, 0x00006084, 0x39b00006,
- 0x00000980, 0x703d78ec, 0x0000d600, 0x003d7000, 0x00000000, 0xb9e02c05,
- 0x00006100, 0x041810e6, 0x00006187, 0x703f38ec, 0x0000d600, 0x003f3000,
- 0x00000000, 0x00c002ec, 0x0000df80, 0x1103900b, 0x00001684, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0x01400ce0, 0x00001283, 0x10851edc,
- 0x00007113, 0xb8400003, 0x0000e180, 0x2ba39413, 0x0000c000, 0x01400000,
- 0x0000e181, 0x2b8014ae, 0x00004881, 0x3841a4ae, 0x00001081, 0xffffffff,
- 0x00007fa7, 0x39820b00, 0x0000f904, 0x2b820b00, 0x0000f904, 0x0cc00276,
- 0x0000f892, 0x00800001, 0x00008080, 0xffffffff, 0x00007f86, 0x000004ad,
- 0x00001583, 0x04c00c13, 0x00009191, 0x9d93b216, 0x00001100, 0x8013b216,
- 0x00009502, 0x82304413, 0x0000e009, 0x8490b212, 0x00000108, 0x9690b25a,
- 0x0000e008, 0x0a004405, 0x0000208c, 0x000010e4, 0x0000f010, 0x04e02c13,
- 0x0000e001, 0x9c50b271, 0x00000000, 0x80104a71, 0x00006502, 0x86209808,
- 0x00002085, 0x16c00c5b, 0x00006099, 0x9c504a71, 0x00000118, 0x80000212,
- 0x00006582, 0x08005209, 0x0000219a, 0x000010d7, 0x0000f013, 0x16e39c73,
- 0x00009901, 0x2c0036e3, 0x00001680, 0x850588b0, 0x00009000, 0x84801a59,
- 0x0000e080, 0xb2e2d86e, 0x00006080, 0x84d0925a, 0x0000e100, 0xdb10925a,
- 0x00008100, 0x801b8213, 0x0000e502, 0x84801a14, 0x00008080, 0x0df8a612,
- 0x0000a084, 0x1bbfe86e, 0x0000f928, 0x003ffffe, 0x00008280, 0x0b817213,
- 0x00006000, 0x84406800, 0x00008980, 0x01400c6e, 0x0000e283, 0x0a004511,
- 0x00002084, 0x8252d25a, 0x00006100, 0x05000814, 0x0000c080, 0x0df8a612,
- 0x00002884, 0x84af2004, 0x00001980, 0x85109a12, 0x0000e100, 0xc1d09a12,
- 0x00008100, 0x84be801f, 0x00009990, 0x84a08212, 0x00009110, 0x0140146e,
- 0x0000e283, 0xc1d0a212, 0x00000010, 0x84d09aec, 0x00009110, 0x84c01a13,
- 0x0000e290, 0x84a88307, 0x00008110, 0xc1d09a12, 0x00006110, 0x84c03c5b,
- 0x00008880, 0x003088ec, 0x0000d702, 0x00007000, 0x00000080, 0x04804000,
- 0x00006181, 0xc1d09b07, 0x00004100, 0x0a004413, 0x00006884, 0x001010ec,
- 0x0000d780, 0x00007000, 0x00000080, 0x01609c12, 0x00001101, 0x04800000,
- 0x0000f900, 0x001f8000, 0x00008980, 0x05402800, 0x00006181, 0x00183812,
- 0x0000e186, 0x0008b8ec, 0x00005780, 0x00d07781, 0x00008280, 0x04c3c470,
- 0x00006281, 0x04202812, 0x0000a101, 0x203896ec, 0x0000d600, 0x003bb800,
- 0x00008000, 0x8cc3c413, 0x0000f893, 0x00400001, 0x00000000, 0x8cc00370,
- 0x0000788b, 0xd0400000, 0x00000a87, 0x84c02d00, 0x0000e080, 0x1d31662c,
- 0x00004901, 0x3038c013, 0x00003838, 0x3038d213, 0x00003838, 0x3038e413,
- 0x00003838, 0x3038f613, 0x00003838, 0x30790013, 0x00003838, 0x30791213,
- 0x00003838, 0x30792413, 0x00003838, 0x30793613, 0x00003838, 0x1601582b,
- 0x00001900, 0x28800212, 0x0000f88a, 0xb8800000, 0x00008880, 0x8000025a,
- 0x00009582, 0x84c02d00, 0x00006090, 0x8b23a474, 0x0000c911, 0x3000c013,
- 0x00007912, 0x06400000, 0x00008000, 0x0000119a, 0x00007008, 0x00000414,
- 0x00006583, 0x0ac2c058, 0x00000900, 0x3038d213, 0x0000b038, 0x3038e413,
- 0x0000b038, 0x3038f613, 0x0000b038, 0x30790013, 0x0000b038, 0x30791213,
- 0x0000b038, 0x000010a3, 0x00007408, 0x30792413, 0x0000b038, 0x30793613,
- 0x0000b038, 0x96400000, 0x0000e180, 0x04e3afe4, 0x00004800, 0x85000a13,
- 0x00009180, 0x04817214, 0x00009200, 0x8510925a, 0x0000e000, 0x84804213,
- 0x00008080, 0x84c04213, 0x00009080, 0x80109a14, 0x00001502, 0x000010a3,
- 0x0000702b, 0x84d09213, 0x0000e000, 0x96400a59, 0x00000080, 0x28d09a14,
- 0x0000782a, 0xe8800000, 0x00000887, 0x40000505, 0x00006583, 0x01400000,
- 0x00000981, 0x82682d05, 0x0000e110, 0x80000808, 0x00006495, 0x82000e08,
- 0x0000e091, 0x0d034068, 0x00000910, 0x0000110e, 0x0000f008, 0x1a080000,
- 0x00006180, 0x0d434869, 0x0000c900, 0x000868ec, 0x0000d780, 0x00007000,
- 0x00000080, 0x0dbb5f6a, 0x0000031c, 0xda007d05, 0x00001180, 0x000010c9,
- 0x0000f200, 0x000810ec, 0x0000d780, 0x00007000, 0x00000080, 0x2c0036e3,
- 0x00001680, 0x84c588b0, 0x00001000, 0x84801213, 0x00001080, 0x0dc04e12,
- 0x0000f902, 0x02000000, 0x00000004, 0xffffffff, 0x00007fa7, 0x02400809,
- 0x00001082, 0xc1c00f10, 0x00006283, 0x02000008, 0x00000084, 0x0df84e12,
- 0x0000d004, 0x00384000, 0x00000000, 0xc1c04771, 0x00001283, 0xc1c20771,
- 0x00001283, 0x0000169a, 0x0000f010, 0x00001683, 0x00007008, 0x00001662,
- 0x00007008, 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004, 0x18400000,
- 0x0000e180, 0x00000060, 0x0000e586, 0x1940b016, 0x0000e100, 0x00280060,
- 0x0000e585, 0x19800000, 0x00006180, 0x76038860, 0x00006001, 0x02400809,
- 0x0000e082, 0x19c39072, 0x00008900, 0x02000008, 0x00006084, 0x1a000000,
- 0x00000980, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000, 0x1a400000,
- 0x00006180, 0x1a81702e, 0x0000c900, 0x1ac00800, 0x000002fd, 0x0141ff60,
- 0x00006281, 0x584b8971, 0x00000900, 0xc1c00f10, 0x00006283, 0x02400000,
- 0x00008980, 0x02000000, 0x0000e180, 0x0a030609, 0x00006082, 0x034086a0,
- 0x00006180, 0xa5c38009, 0x00006007, 0x02c32865, 0x00006100, 0x80430009,
- 0x0000e001, 0x700080ec, 0x00005680, 0x00000540, 0x00008088, 0x000011ad,
- 0x00007410, 0x02217c69, 0x00008025, 0x02833867, 0x00006108, 0x427b0f61,
- 0x0000c901, 0x04cb0961, 0x00006100, 0x0000400d, 0x00006506, 0x703858ec,
- 0x00005600, 0x00385000, 0x00008000, 0x02f00004, 0x00006180, 0x02800000,
- 0x00004980, 0x0000980a, 0x00006206, 0x0418100b, 0x00003187, 0x703848ec,
- 0x0000d600, 0x00384000, 0x00000000, 0x04c00000, 0x0000e180, 0x8628300a,
- 0x0000e087, 0x023ff961, 0x0000f900, 0x000003fe, 0x00000282, 0x04c00800,
- 0x0000e1b8, 0x5303800a, 0x00006001, 0x00011c05, 0x0000e583, 0x4701780a,
- 0x0000a001, 0x65a0980a, 0x00006001, 0x00017009, 0x00003286, 0x04bff961,
- 0x00007900, 0x000003fe, 0x00008280, 0x703b98ec, 0x00005600, 0x003ba000,
- 0x00008000, 0x04c01761, 0x0000e080, 0x7000080a, 0x0000e409, 0x700080ec,
- 0x00005680, 0x00385fc0, 0x00008078, 0x04c09812, 0x00006000, 0x86203009,
- 0x0000a087, 0x703868ec, 0x00005600, 0x00000000, 0x00008080, 0x0000980a,
- 0x0000ea06, 0x03808000, 0x0000f900, 0x00007fc0, 0x00000980, 0x703850ec,
- 0x0000d600, 0x00384800, 0x00008000, 0x0000400e, 0x00006d86, 0x703ba8ec,
- 0x00005600, 0x003bb000, 0x00000000, 0x703870ec, 0x00005600, 0x00385800,
- 0x00000000, 0x116e0b12, 0x0000f300, 0xc1c00000, 0x00009980, 0xc0000370,
- 0x00001582, 0x0d838411, 0x00006090, 0x0c017c13, 0x00003016, 0xb841a000,
- 0x0000e190, 0x0a005c12, 0x0000e010, 0x00001101, 0x0000f008, 0x00000412,
- 0x00009583, 0x851b8370, 0x0000e108, 0x04a09fe4, 0x00004810, 0x84800a12,
- 0x00009190, 0x04801e2c, 0x00006281, 0x05017212, 0x00008210, 0x0500a370,
- 0x00009010, 0x04c01412, 0x0000e081, 0x05209814, 0x0000c710, 0x7840c413,
- 0x0000e081, 0x85001a14, 0x00008890, 0x04c00000, 0x00006181, 0x851b8214,
- 0x0000c010, 0xffffffff, 0x00007f86, 0x8250a214, 0x00001900, 0xffffffff,
- 0x00007f97, 0x15020b00, 0x0000f904, 0x15015854, 0x00001002, 0x80000214,
- 0x00006582, 0x15400055, 0x00000084, 0x16820b00, 0x00007904, 0x1681585a,
- 0x00001100, 0x00001752, 0x0000f008, 0x05c2d209, 0x00006400, 0x1602d05a,
- 0x00004900, 0x1682d209, 0x00001c00, 0x0000b858, 0x00006502, 0x8250ba09,
- 0x00000100, 0x1002a500, 0x00007904, 0x1002d500, 0x0000f904, 0x00001714,
- 0x0000f208, 0x0ac15817, 0x00009000, 0x04c00c13, 0x00009081, 0xffffffff,
- 0x00007fa7, 0x15020b00, 0x0000f904, 0x16820b00, 0x00007904, 0xd4800209,
- 0x0000788b, 0x58800000, 0x0000088c, 0x00000414, 0x00006583, 0x82004608,
- 0x00000081, 0x04e3afe4, 0x0000e010, 0x0a004412, 0x00006084, 0x01404412,
- 0x00006081, 0x85000a13, 0x00008190, 0x000011e9, 0x00007208, 0x04817214,
- 0x0000e210, 0x86202808, 0x0000a085, 0x96400000, 0x0000e180, 0x82404213,
- 0x00004080, 0x84804213, 0x0000e080, 0x85109276, 0x00000000, 0x80109214,
- 0x00009502, 0x000011b3, 0x0000702b, 0x84904a12, 0x0000e000, 0x96400a59,
- 0x00000080, 0x6cd09214, 0x0000f82a, 0x48800000, 0x0000088d, 0xc1c20771,
- 0x0000e283, 0x92430009, 0x00002001, 0x00001142, 0x00007400, 0x02833066,
- 0x0000e100, 0x80000809, 0x0000e411, 0x02c3586b, 0x00009910, 0x2c12ca09,
- 0x00001600, 0x044588b0, 0x00001000, 0x85108a14, 0x00006100, 0x05410013,
- 0x00008180, 0x84801a76, 0x0000e280, 0x0450a214, 0x00000900, 0x0000a811,
- 0x00009502, 0x000011e5, 0x0000f043, 0x80000212, 0x00009582, 0x85109212,
- 0x0000e110, 0x9693b276, 0x0000c908, 0x000010a3, 0x00007009, 0x0000002b,
- 0x00006582, 0x0483fc05, 0x00008281, 0x16800c12, 0x0000e181, 0x0247e62c,
- 0x00000281, 0x84c00003, 0x000080d6, 0x8490a214, 0x00006100, 0x8b000e2c,
- 0x0000c189, 0x1600145a, 0x00009881, 0x0547e62c, 0x0000e281, 0x7841a458,
- 0x00000081, 0x0020ac09, 0x00001503, 0x05401413, 0x00009891, 0x3840c415,
- 0x00001091, 0xffffffff, 0x00007f97, 0x1c820b00, 0x00007904, 0x000011d7,
- 0x0000f408, 0x05820b00, 0x0000f904, 0x0440b016, 0x00009900, 0x10039500,
- 0x0000f904, 0x00000413, 0x0000e583, 0x05972816, 0x00008200, 0x1000b500,
- 0x00007904, 0x04c01800, 0x0000e189, 0x04c00c13, 0x0000c191, 0x8ad0b212,
- 0x00009c00, 0xffffffff, 0x00007f86, 0x84915a12, 0x00006100, 0x05515816,
- 0x00000100, 0x80000215, 0x0000e582, 0x0ad72815, 0x00000200, 0x01400c05,
- 0x00001089, 0x00001767, 0x00007011, 0x80000212, 0x00009582, 0x8b000e2c,
- 0x00006191, 0x16800c5a, 0x00000191, 0x1600145a, 0x00001891, 0x00001769,
- 0x00007008, 0x000011c7, 0x00007000, 0x84d09a14, 0x00009100, 0x85012213,
- 0x00001082, 0x000011bb, 0x0000700b, 0x000011bf, 0x00007000, 0x000011bb,
- 0x00007200, 0x84801a76, 0x00001280, 0xc1c20771, 0x0000e283, 0x9243000b,
- 0x0000a001, 0x0243586b, 0x00006110, 0x8000080b, 0x00006411, 0x04cb0961,
- 0x00006100, 0x0000400d, 0x00006506, 0x703848ec, 0x0000d600, 0x003b3000,
- 0x00008000, 0x703858ec, 0x00005600, 0x00385000, 0x00008000, 0x02800000,
- 0x00006180, 0x02f00004, 0x00004980, 0x0000980a, 0x00006206, 0x0418100b,
- 0x00003187, 0x023ff961, 0x0000f900, 0x000003fe, 0x00000282, 0x04c00000,
- 0x0000e180, 0x8628300a, 0x0000e087, 0x04c00800, 0x0000e1b8, 0x5303800a,
- 0x00006001, 0x00011c05, 0x0000e583, 0x4701780a, 0x0000a001, 0x65a0980a,
- 0x00006001, 0x00017009, 0x00003286, 0x04bff961, 0x00007900, 0x000003fe,
- 0x00008280, 0x703b98ec, 0x00005600, 0x003ba000, 0x00008000, 0x04c01761,
- 0x0000e080, 0x7000080a, 0x0000e409, 0x700080ec, 0x00005680, 0x00385fc0,
- 0x00008078, 0x04c09812, 0x00006000, 0x86203009, 0x0000a087, 0x703868ec,
- 0x00005600, 0x00000000, 0x00008080, 0x0000980a, 0x0000ea06, 0x03808000,
- 0x0000f900, 0x00007fc0, 0x00000980, 0x703850ec, 0x0000d600, 0x00384800,
- 0x00008000, 0x0000400e, 0x00006d86, 0x00000d7c, 0x00007400, 0x703ba8ec,
- 0x00005600, 0x003bb000, 0x00000000, 0x703870ec, 0x00005600, 0x00385800,
- 0x00000000, 0x80000217, 0x00009582, 0x84c02d00, 0x00006090, 0x8b238c71,
- 0x0000c911, 0x3000c013, 0x00007912, 0x06400000, 0x00008000, 0x00001284,
- 0x00007008, 0x00000409, 0x00006583, 0x0ac0a014, 0x00000900, 0x3038d213,
- 0x0000b038, 0x3038e413, 0x0000b038, 0x3038f613, 0x0000b038, 0x30790013,
- 0x0000b038, 0x30791213, 0x0000b038, 0x0000125d, 0x00007408, 0x30792413,
- 0x0000b038, 0x30793613, 0x0000b038, 0x85800000, 0x00006180, 0x04e2d7e4,
- 0x0000c800, 0x85000a13, 0x00009180, 0x04817214, 0x00009200, 0x85109217,
- 0x0000e000, 0x84804213, 0x00008080, 0x84c04213, 0x00009080, 0x80109a14,
- 0x00001502, 0x0000125d, 0x0000702b, 0x84d09213, 0x0000e000, 0x85800a16,
- 0x00000080, 0x97509a14, 0x0000782a, 0x98800000, 0x00000981, 0x84802d00,
- 0x00006080, 0x1c71662c, 0x00004901, 0x3038c012, 0x0000b838, 0x3038d212,
- 0x0000b838, 0x3038e412, 0x0000b838, 0x3038f612, 0x0000b838, 0x30790012,
- 0x0000b838, 0x30791212, 0x0000b838, 0x30792412, 0x0000b838, 0x00000da6,
- 0x0000f400, 0x30793612, 0x0000b838, 0x0501582b, 0x00009900, 0x04800000,
- 0x0000f900, 0x001f8000, 0x00008980, 0xc4020771, 0x0000e283, 0x00183812,
- 0x00002186, 0x04c3c470, 0x00006281, 0x04302812, 0x00002101, 0x203896ec,
- 0x0000d600, 0x003bb800, 0x00008000, 0x0b81706b, 0x00006010, 0x8bc00a2f,
- 0x00008090, 0x8cc3c413, 0x0000f893, 0x00400001, 0x00000000, 0x8cc00370,
- 0x0000788b, 0xd0400000, 0x00000a87, 0x80000212, 0x00009582, 0x00001583,
- 0x00007013, 0x3841a45a, 0x00006081, 0x82204e08, 0x00000101, 0x85d0a274,
- 0x00006100, 0x16008811, 0x00008900, 0x0a004414, 0x0000e884, 0x04e04c14,
- 0x00001101, 0x86209808, 0x00006885, 0xffffffff, 0x00007f86, 0x10039500,
- 0x0000f904, 0x1002c500, 0x00007904, 0x2c0036e3, 0x00001680, 0x848588b0,
- 0x00009000, 0x85001a16, 0x00006080, 0x84801a12, 0x00004080, 0x84d0a217,
- 0x0000e100, 0xdb10a217, 0x00008100, 0x0df8a612, 0x0000a084, 0x801b8213,
- 0x0000e502, 0xb2e2d86e, 0x0000a080, 0x1bbfe86e, 0x0000f928, 0x003ffffe,
- 0x00008280, 0x84406800, 0x00006180, 0x0b817213, 0x0000c000, 0x05000814,
- 0x00006080, 0x0a004511, 0x00002084, 0x003088ec, 0x0000d702, 0x00007000,
- 0x00000080, 0x0df8a612, 0x00002884, 0x04400c6e, 0x0000e283, 0x84af2004,
- 0x00008980, 0x85109a12, 0x0000e100, 0xc1d09a12, 0x00008100, 0x8250ba17,
- 0x00006100, 0x84be801f, 0x0000c990, 0x84a08212, 0x00009110, 0x0440146e,
- 0x0000e283, 0xc1d0a212, 0x00000010, 0x84d09aec, 0x00009110, 0x84c01a13,
- 0x0000e290, 0x84a88307, 0x00008110, 0xc1d09a12, 0x00006110, 0x84c03c5b,
- 0x00008880, 0x04804000, 0x00001981, 0xc1d09b07, 0x0000e100, 0x0a004413,
- 0x00002084, 0x00000e11, 0x0000f400, 0x001010ec, 0x0000d780, 0x00007000,
- 0x00000080, 0x81609c12, 0x00009101, 0x00000409, 0x00006583, 0x82004608,
- 0x00000081, 0x04e2d7e4, 0x00006010, 0x0a004414, 0x00006084, 0x01404414,
- 0x00006081, 0x82404213, 0x00000090, 0x000015a5, 0x00007208, 0x85000a13,
- 0x0000e190, 0x86202808, 0x0000a085, 0x85800000, 0x00001980, 0x04817214,
- 0x00009200, 0x84804213, 0x0000e080, 0x85109274, 0x00008000, 0x80109214,
- 0x00009502, 0x0000156e, 0x0000f02b, 0x84904a12, 0x0000e000, 0x85800a16,
- 0x00000080, 0x5b909214, 0x0000782b, 0x98800000, 0x00000984, 0x0a030405,
- 0x00006882, 0x00012405, 0x00009583, 0x00012405, 0x00009583, 0x00018c05,
- 0x00001583, 0x00001324, 0x0000f008, 0x00001317, 0x00007050, 0x00001307,
- 0x00007008, 0x00018c05, 0x00001583, 0x00012c05, 0x00001583, 0xffffffff,
- 0x00007f86, 0x00001301, 0x00007038, 0x000012c4, 0x0000f010, 0x0dc04e13,
- 0x00007902, 0x02000000, 0x00000004, 0x584b8971, 0x0000e100, 0x76038860,
- 0x00006001, 0x194728e5, 0x0000e100, 0x02438060, 0x00006001, 0x1a434a2f,
- 0x00006000, 0x1a83502e, 0x00000000, 0x02400809, 0x0000e082, 0x8bc00a2f,
- 0x00000080, 0x01440470, 0x0000e283, 0x02000008, 0x00000084, 0x0df84e13,
- 0x00005004, 0x00384000, 0x00000000, 0x04c39072, 0x0000e110, 0x04c00000,
- 0x00004988, 0x00000d46, 0x00007400, 0x0141ff60, 0x00009281, 0x19809813,
- 0x00009900, 0x01440470, 0x0000e283, 0x80000060, 0x00002500, 0x04c39072,
- 0x0000e110, 0x70000060, 0x0000e401, 0x04c00000, 0x00006188, 0xf0000060,
- 0x00006401, 0x584b8971, 0x0000e100, 0x02438060, 0x00006001, 0x19439873,
- 0x0000e100, 0x76038860, 0x00006001, 0x00000d7c, 0x00007400, 0x1a5ba374,
- 0x0000e100, 0x1a835075, 0x00004000, 0x19809813, 0x00009900, 0x00013405,
- 0x00001583, 0x000012d5, 0x0000f013, 0x76038860, 0x0000e801, 0x00000d46,
- 0x00007400, 0x187b9671, 0x00000618, 0x0141ff60, 0x00009281, 0x00000c74,
- 0x0000e583, 0x76038860, 0x0000a001, 0x00000d7c, 0x00007400, 0x187b9671,
- 0x0000861c, 0xd86ba574, 0x0000e101, 0x417b0f61, 0x00004909, 0x00019405,
- 0x00001583, 0x0001fc05, 0x00009583, 0xffffffff, 0x00007f86, 0x000016c9,
- 0x0000f008, 0x000016c9, 0x0000f008, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x02a78000, 0x00007900, 0x002412d2, 0x00008980, 0x02c4b000,
- 0x00007900, 0x0034ed64, 0x00008980, 0x03400000, 0x0000e180, 0x08001a08,
- 0x00006106, 0x01800000, 0x000000f0, 0x12e21e83, 0x00007500, 0x82200500,
- 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x00000d7c,
- 0x00007400, 0x584b8971, 0x0000e100, 0x76038860, 0x00006001, 0x19839072,
- 0x00009900, 0x00011474, 0x00009583, 0x19839072, 0x0000e118, 0x584b8971,
- 0x0000c918, 0x00000d7c, 0x00007019, 0x00010c74, 0x00009583, 0x00002c74,
- 0x00009583, 0xffffffff, 0x00007f86, 0x000012e2, 0x00007020, 0x000012ca,
- 0x00007010, 0x18400000, 0x0000e180, 0x00000060, 0x0000e784, 0x19439873,
- 0x0000e100, 0x8623a060, 0x0000e083, 0x19800000, 0x00006180, 0x76038860,
- 0x00006001, 0x19c00772, 0x000006a0, 0x00000d7c, 0x00007400, 0x9a7baf74,
- 0x00000628, 0x18400671, 0x000086ac, 0x58400000, 0x00006180, 0x00000060,
- 0x0000e586, 0x1a835075, 0x0000e000, 0x00040060, 0x0000a487, 0x00000d7c,
- 0x00007400, 0x19839072, 0x0000e100, 0xf0000060, 0x00006401, 0x1afba773,
- 0x00008626, 0x00019405, 0x00001583, 0x0001fc05, 0x00009583, 0xffffffff,
- 0x00007f86, 0x000012c6, 0x00007008, 0x000012c6, 0x00007008, 0x000012d5,
- 0x00007000, 0x84c00a13, 0x00006080, 0x0483502e, 0x00000000, 0x0dc04e13,
- 0x00007902, 0x02000000, 0x00000004, 0x19839072, 0x0000e100, 0x70000860,
- 0x00006401, 0x1a434a2f, 0x00006000, 0x1a83502e, 0x00000000, 0x0141ff60,
- 0x00009281, 0x02400809, 0x00001082, 0x02000008, 0x00009084, 0x0df84e13,
- 0x00005004, 0x00384000, 0x00000000, 0x00000d46, 0x00007400, 0x04c0906b,
- 0x00001100, 0x1ac08813, 0x00009c00, 0x00011405, 0x00009583, 0x00010c05,
- 0x00009583, 0xffffffff, 0x00007f86, 0x000012c7, 0x0000f038, 0x000012c6,
- 0x00007040, 0x00010405, 0x00001583, 0x84c01a13, 0x00009088, 0x0de09613,
- 0x0000200c, 0xffffffff, 0x00007f86, 0x000012c6, 0x0000f40b, 0x84800a12,
- 0x00001088, 0x0de09613, 0x0000a80c, 0x000012d5, 0x00007000, 0x0a830412,
- 0x0000e800, 0x000012c7, 0x0000f400, 0x04e094e5, 0x00009401, 0x75e09860,
- 0x0000e801, 0x2c0036e3, 0x00001680, 0x84c588b0, 0x00001000, 0x84801213,
- 0x00001080, 0x0dc04e12, 0x0000f902, 0x02000000, 0x00000004, 0xffffffff,
- 0x00007fa7, 0x02400809, 0x00001082, 0xc1c00f10, 0x00006283, 0x02000008,
- 0x00000084, 0x0df84e12, 0x0000d004, 0x00384000, 0x00000000, 0xc1c04771,
- 0x00001283, 0xc1c20771, 0x00001283, 0x000015df, 0x00007010, 0x000015c8,
- 0x00007008, 0x000015a7, 0x00007008, 0x0dc04e13, 0x00007902, 0x02000000,
- 0x00000004, 0x18400000, 0x0000e180, 0x00000060, 0x0000e586, 0x1940b016,
- 0x0000e100, 0x00280060, 0x0000e585, 0x19800000, 0x00006180, 0x76038860,
- 0x00006001, 0x02400809, 0x0000e082, 0x19c39072, 0x00008900, 0x02000008,
- 0x00006084, 0x1a000000, 0x00000980, 0x0df84e13, 0x00005004, 0x00384000,
- 0x00000000, 0x1a400000, 0x00006180, 0x1a81702e, 0x0000c900, 0x1ac00800,
- 0x000002fd, 0x0141ff60, 0x00006281, 0x584b8971, 0x00000900, 0xc1c00f10,
- 0x00006283, 0x02400000, 0x00008980, 0x02000000, 0x0000e180, 0x0a030609,
- 0x00006082, 0x034086a0, 0x00006180, 0xa5c38009, 0x00006007, 0x02c32865,
- 0x00006100, 0x80430009, 0x0000e001, 0x700080ec, 0x00005680, 0x00000540,
- 0x00008088, 0x0000165c, 0x00007410, 0x02217c69, 0x00008025, 0x02833867,
- 0x00006108, 0x427b0f61, 0x0000c901, 0x04cb0961, 0x00006100, 0x0000400d,
- 0x00006506, 0x703858ec, 0x00005600, 0x00385000, 0x00008000, 0x02f00004,
- 0x00006180, 0x02800000, 0x00004980, 0x0000980a, 0x00006206, 0x0418100b,
- 0x00003187, 0x703848ec, 0x0000d600, 0x00384000, 0x00000000, 0x04c00000,
- 0x0000e180, 0x8628300a, 0x0000e087, 0x023ff961, 0x0000f900, 0x000003fe,
- 0x00000282, 0x04c00800, 0x0000e1b8, 0x5303800a, 0x00006001, 0x00011c05,
- 0x0000e583, 0x4701780a, 0x0000a001, 0x65a0980a, 0x00006001, 0x00017009,
- 0x00003286, 0x04bff961, 0x00007900, 0x000003fe, 0x00008280, 0x703b98ec,
- 0x00005600, 0x003ba000, 0x00008000, 0x04c01761, 0x0000e080, 0x7000080a,
- 0x0000e409, 0x700080ec, 0x00005680, 0x00385fc0, 0x00008078, 0x04c09812,
- 0x00006000, 0x86203009, 0x0000a087, 0x703868ec, 0x00005600, 0x00000000,
- 0x00008080, 0x0000980a, 0x0000ea06, 0x03808000, 0x0000f900, 0x00007fc0,
- 0x00000980, 0x703850ec, 0x0000d600, 0x00384800, 0x00008000, 0x0000400e,
- 0x00006d86, 0x703ba8ec, 0x00005600, 0x003bb000, 0x00000000, 0x703870ec,
- 0x00005600, 0x00385800, 0x00000000, 0x13850b12, 0x00007300, 0xc1c00000,
- 0x00009980, 0xc0000370, 0x00001582, 0x0d838411, 0x00006090, 0x0c017c13,
- 0x00003016, 0xb841a000, 0x0000e190, 0x0a005c12, 0x0000e010, 0x00000e49,
- 0x00007008, 0x00000412, 0x00009583, 0x825b8370, 0x0000e108, 0x04a09fe4,
- 0x00004810, 0x84800a12, 0x00009190, 0x04817212, 0x00001210, 0x04809370,
- 0x00009010, 0x04801e2c, 0x00006281, 0x04e09812, 0x00008710, 0x84c01a13,
- 0x00001890, 0x04c01412, 0x0000e081, 0x825b8213, 0x00004010, 0x04c00000,
- 0x00006181, 0x7840c413, 0x00004081, 0x85504a09, 0x00009900, 0xffffffff,
- 0x0000ffb7, 0x15020b00, 0x0000f904, 0x15015854, 0x00001002, 0x80000209,
- 0x00006582, 0x15400055, 0x00000084, 0x16820b00, 0x00007904, 0x1681585a,
- 0x00001100, 0x000018d8, 0x00007008, 0x0502d215, 0x0000e400, 0x1602d05a,
- 0x00004900, 0x1682d215, 0x00009c00, 0x0000a058, 0x00006502, 0x8550a215,
- 0x00000100, 0x1002a500, 0x00007904, 0x1002d500, 0x0000f904, 0x0000189a,
- 0x0000f208, 0x0ac15814, 0x00009000, 0x04c00c13, 0x00009081, 0xffffffff,
- 0x00007fa7, 0x15020b00, 0x0000f904, 0x16820b00, 0x00007904, 0x36000215,
- 0x0000f88a, 0x08c00000, 0x0000898d, 0x0000002a, 0x00001582, 0x05c18831,
- 0x00006110, 0x0507862f, 0x00004291, 0x000014a3, 0x0000f009, 0x00010414,
- 0x00001583, 0x0483a875, 0x00006110, 0x0c017c14, 0x0000e00e, 0x04a0a7e4,
- 0x00009808, 0x84800a12, 0x00009188, 0x04818a12, 0x00009208, 0x0483a812,
- 0x00009008, 0x0520a012, 0x00001708, 0x85001a14, 0x00001888, 0x0483aa14,
- 0x00001008, 0xffffffff, 0x00007f86, 0x00009031, 0x00009502, 0x0b83a875,
- 0x00009930, 0x000014a3, 0x00007019, 0x0000902a, 0x00009502, 0x0ac00000,
- 0x000061b0, 0x8b21642c, 0x00004931, 0x000014a1, 0x0000f031, 0x8000222c,
- 0x00009582, 0x8b219c33, 0x00006131, 0x0507e433, 0x0000c299, 0x8b07e433,
- 0x00006299, 0x0160a42c, 0x00008119, 0x00001493, 0x0000f030, 0x84c00800,
- 0x000001d2, 0x05801c33, 0x00001281, 0x00000405, 0x00006583, 0x02000000,
- 0x00008981, 0x04c00c13, 0x0000e481, 0x02000800, 0x00008991, 0xffffffff,
- 0x00007f86, 0x02204413, 0x00009203, 0x82e80500, 0x00006110, 0x04c0262c,
- 0x0000c890, 0x04400000, 0x00007910, 0x000010c4, 0x00008980, 0x000014a1,
- 0x0000f008, 0x02014013, 0x0000e002, 0x04c08405, 0x00008c81, 0x02400029,
- 0x00001084, 0x01609c05, 0x0000e101, 0x82802413, 0x00000880, 0x82802d00,
- 0x00006080, 0x00105011, 0x00006106, 0x02b00006, 0x00006180, 0xc2d8020a,
- 0x00004080, 0x703888ec, 0x0000d600, 0x00385800, 0x00000000, 0x02c00000,
- 0x00007900, 0x00007fc0, 0x00000980, 0x04404008, 0x0000e100, 0x0418100a,
- 0x0000e187, 0x703888ec, 0x0000d600, 0x00384800, 0x00008000, 0x82c02413,
- 0x00001880, 0x703858ec, 0x00005600, 0x00385000, 0x00008000, 0x00c002ec,
- 0x0000df80, 0x111f780b, 0x00009684, 0x00000414, 0x00009583, 0x0260b416,
- 0x0000e111, 0x04e0b413, 0x0000c111, 0x8b219c33, 0x0000e111, 0x02400000,
- 0x00004989, 0xffffffff, 0x00007f86, 0x04e04c13, 0x00001001, 0x00209c09,
- 0x00001503, 0x00001491, 0x0000f00b, 0x02000c09, 0x00006080, 0x85002d00,
- 0x00004880, 0x85104214, 0x00006000, 0x0290a214, 0x00000900, 0x30384214,
- 0x0000a080, 0xffffffff, 0x00007fa7, 0x05004017, 0x00001000, 0x0000a012,
- 0x00001502, 0x8b000e2c, 0x0000e0a1, 0x02400c09, 0x000080a1, 0x05c04017,
- 0x00009020, 0x0000145e, 0x00007028, 0x24609c09, 0x0000f80b, 0xc0800000,
- 0x0000098f, 0x03c3a875, 0x00009900, 0x0003a82e, 0x00007808, 0x00000000,
- 0x00000000, 0x0340002a, 0x0000788b, 0x00800001, 0x00000060, 0x4c002771,
- 0x00007897, 0x18800000, 0x00008688, 0x0b83a875, 0x0000e100, 0x0487862f,
- 0x0000c281, 0x00010412, 0x00001583, 0x0c017c14, 0x0000680e, 0x04e0a7e4,
- 0x00001808, 0x00001419, 0x0000f010, 0x84800a13, 0x00009180, 0x04c18a12,
- 0x00009200, 0x0483a813, 0x00009000, 0x0520a012, 0x00009700, 0x84c01a14,
- 0x00001880, 0x03c3aa13, 0x00001000, 0x0000782a, 0x00006502, 0x04818831,
- 0x00000900, 0x0ac00000, 0x000061b0, 0x8b21642c, 0x00004931, 0x0000148c,
- 0x0000f031, 0x8000222c, 0x00009582, 0x8b219c33, 0x00006131, 0x0507e433,
- 0x0000c299, 0x8b07e433, 0x00006299, 0x0160a42c, 0x00008119, 0x0000147e,
- 0x0000f030, 0x84c00800, 0x000001d2, 0x03801c33, 0x00001281, 0x00000405,
- 0x00006583, 0x02000000, 0x00008981, 0x04c00c13, 0x0000e481, 0x02000800,
- 0x00008991, 0xffffffff, 0x00007f86, 0x02204413, 0x00009203, 0x83280500,
- 0x0000e110, 0x04c0262c, 0x0000c890, 0x03400000, 0x0000f910, 0x000010c4,
- 0x00008980, 0x0000148c, 0x0000f008, 0x02014013, 0x0000e002, 0x04c08405,
- 0x00008c81, 0x02400029, 0x00001084, 0x01609c05, 0x0000e101, 0x82c02413,
- 0x00008880, 0x82c02d00, 0x0000e080, 0x0010580d, 0x00006106, 0x02f00006,
- 0x0000e180, 0xc318020b, 0x00004080, 0x703868ec, 0x00005600, 0x00386000,
- 0x00008000, 0x03000000, 0x0000f900, 0x00007fc0, 0x00000980, 0x03404008,
- 0x00006100, 0x0418100b, 0x00006187, 0x703868ec, 0x00005600, 0x00384800,
- 0x00008000, 0x83002413, 0x00009880, 0x703860ec, 0x0000d600, 0x00385800,
- 0x00000000, 0x00c002ec, 0x0000df80, 0x1142380b, 0x00009684, 0x00000414,
- 0x00009583, 0x0260740e, 0x0000e111, 0x04e07413, 0x0000c111, 0x8b219c33,
- 0x0000e111, 0x02400000, 0x00004989, 0xffffffff, 0x00007f86, 0x04e04c13,
- 0x00001001, 0x00209c09, 0x00001503, 0x0000147c, 0x0000f00b, 0x02000c09,
- 0x00006080, 0x85002d00, 0x00004880, 0x85104214, 0x00006000, 0x02d0a214,
- 0x00008900, 0x30384214, 0x0000a080, 0xffffffff, 0x00007fa7, 0x05004012,
- 0x00001000, 0x0000a00f, 0x00001502, 0x8b000e2c, 0x0000e0a1, 0x02400c09,
- 0x000080a1, 0x04804012, 0x00009020, 0x0000146d, 0x00007028, 0x1f209c09,
- 0x0000f80b, 0x80800000, 0x00000a82, 0x0ac0b812, 0x0000e100, 0x04c7e409,
- 0x00008281, 0x05000c13, 0x00001880, 0x84d0a20a, 0x00009000, 0x3038c013,
- 0x0000b038, 0x3038d213, 0x0000b038, 0x3038e413, 0x0000b038, 0x3038f613,
- 0x0000b038, 0x30790013, 0x0000b038, 0x30791213, 0x0000b038, 0x30792413,
- 0x0000b038, 0x30793613, 0x0000b038, 0x04c00800, 0x00009981, 0x000013ce,
- 0x00007200, 0x05000000, 0x00009981, 0x0ac0900f, 0x0000e100, 0x04c7e409,
- 0x00008281, 0x05000c13, 0x00001880, 0x84d0a20b, 0x00001000, 0x3038c013,
- 0x0000b038, 0x3038d213, 0x0000b038, 0x3038e413, 0x0000b038, 0x3038f613,
- 0x0000b038, 0x30790013, 0x0000b038, 0x30791213, 0x0000b038, 0x30792413,
- 0x0000b038, 0x30793613, 0x0000b038, 0x04c00800, 0x00009981, 0x00001426,
- 0x0000f200, 0x05000000, 0x00009981, 0x0000147a, 0x0000f200, 0x04c00000,
- 0x00001981, 0x84f1662c, 0x00009900, 0x80116213, 0x00009502, 0x0500162c,
- 0x000018a9, 0x7840d414, 0x000010a9, 0x0000148c, 0x0000f020, 0xffffffff,
- 0x0000ffb7, 0x04c00a00, 0x0000f904, 0x05009013, 0x00001000, 0x0000a00f,
- 0x00001502, 0x04809013, 0x00006020, 0x8b000e2c, 0x000080a1, 0x0000148b,
- 0x00007029, 0x0000147e, 0x0000f000, 0x0ac0900f, 0x00001100, 0x01401470,
- 0x00001283, 0x0cf1662c, 0x0000e111, 0x0c41580f, 0x00004110, 0x4c002771,
- 0x00007897, 0x18800000, 0x00008688, 0x0000146b, 0x0000f200, 0x04c00000,
- 0x00001981, 0x84f1662c, 0x00009900, 0x80116213, 0x00009502, 0x0500162c,
- 0x000018a9, 0x7840d414, 0x000010a9, 0x000014a1, 0x0000f020, 0xffffffff,
- 0x0000ffb7, 0x04c00a00, 0x0000f904, 0x0500b813, 0x00001000, 0x0000a012,
- 0x00001502, 0x05c0b813, 0x00006020, 0x8b000e2c, 0x000080a1, 0x000014a0,
- 0x00007029, 0x00001493, 0x0000f000, 0x0ac0b812, 0x00001100, 0x0c415812,
- 0x00006100, 0x0cf1662c, 0x00008901, 0xc1c02771, 0x0000e283, 0x81400000,
- 0x00008981, 0x00000c76, 0x00009583, 0xffffffff, 0x00007f86, 0x000014d2,
- 0x00007010, 0x000014b5, 0x0000f008, 0x04800000, 0x0000f900, 0x001f8000,
- 0x00008980, 0x05402800, 0x00006181, 0x00000012, 0x0000e586, 0x04c3c470,
- 0x00006281, 0x04302812, 0x00002101, 0x203896ec, 0x0000d600, 0x003bb800,
- 0x00008000, 0x8cc3c413, 0x0000f893, 0x00400001, 0x00000000, 0x8cc00370,
- 0x0000788b, 0xd0400000, 0x00000a87, 0x14b60002, 0x00007100, 0x14b90028,
- 0x00007500, 0x0000000a, 0x0000ed82, 0x82800000, 0x00001981, 0x04800000,
- 0x0000f900, 0x001f8000, 0x00008980, 0x000810ec, 0x0000d780, 0x00d075c0,
- 0x000082c0, 0x00000012, 0x0000e586, 0xd000305d, 0x00003404, 0x0000f0ec,
- 0x0000d780, 0x00007001, 0x00008080, 0x18000000, 0x00006180, 0x04302812,
- 0x0000e101, 0x203896ec, 0x0000d600, 0x003bb800, 0x00008000, 0x18400000,
- 0x000006c8, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000,
- 0x000006e0, 0x1a400000, 0x000006e8, 0x1ac00000, 0x000086f0, 0x1b800004,
- 0x000006fc, 0x1b402f77, 0x00008196, 0x04c3c470, 0x00009281, 0x8cc3c413,
- 0x0000f893, 0x00400001, 0x00000000, 0x8cc00370, 0x0000788b, 0xd0400000,
- 0x00000a87, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02943800,
- 0x00007900, 0x00266d16, 0x00000980, 0x02f67000, 0x0000f900, 0x000a7fc8,
- 0x00008980, 0x03400000, 0x0000e180, 0x08001a08, 0x00006106, 0x01800000,
- 0x000000f0, 0x14df1e83, 0x0000f500, 0x82200500, 0x00008022, 0x81c01000,
- 0x0000e180, 0x02401002, 0x0000c900, 0x04800000, 0x0000f900, 0x001f8000,
- 0x00008980, 0x05402800, 0x00006181, 0x00183812, 0x0000e186, 0x04c3c470,
- 0x00006281, 0x04302812, 0x00002101, 0x203896ec, 0x0000d600, 0x003bb800,
- 0x00008000, 0x8cc3c413, 0x0000f893, 0x00400001, 0x00000000, 0x8cc00370,
- 0x0000788b, 0xd0400000, 0x00000a87, 0x0d034068, 0x00006100, 0x80000808,
- 0x0000e485, 0x000868ec, 0x0000d780, 0x00007000, 0x00000080, 0x1a080000,
- 0x00006180, 0x82682d05, 0x00004900, 0x000810ec, 0x0000d780, 0x00007000,
- 0x00000080, 0x0d7b5769, 0x00000318, 0x00000e11, 0x0000f400, 0x0dc3586b,
- 0x00006100, 0x82000e08, 0x0000c081, 0xda007d05, 0x00001180, 0xc0000370,
- 0x00001582, 0x00000e33, 0x0000f00b, 0x0140446e, 0x0000e283, 0x22c00000,
- 0x00008980, 0x23400000, 0x00006180, 0x0000188b, 0x0000e106, 0x23800000,
- 0x00006180, 0xc000188b, 0x00006006, 0x22001000, 0x00007900, 0x00014000,
- 0x00008980, 0x22782000, 0x00007900, 0x00044050, 0x00008980, 0xa2901202,
- 0x0000e100, 0x2000088d, 0x0000e412, 0x22801502, 0x000088b0, 0x23c00000,
- 0x000089c0, 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0, 0x25400000,
- 0x000009d8, 0x25c00000, 0x000009e0, 0x26400000, 0x000009e8, 0x0000152a,
- 0x0000f410, 0x26c00000, 0x0000e180, 0x04c01f71, 0x0000c291, 0x04c01f71,
- 0x00006289, 0xe39b636c, 0x00008910, 0xffffffff, 0x00007f86, 0x00001413,
- 0x00009583, 0xe39b636c, 0x00006110, 0x2000088d, 0x0000e412, 0x0000152a,
- 0x0000f009, 0x01400c6e, 0x00001283, 0x049b636c, 0x00006108, 0x04a0836c,
- 0x00004010, 0xffffffff, 0x00007f86, 0x0140146e, 0x0000e283, 0x04818012,
- 0x00000090, 0x051b62ec, 0x00009110, 0x05001814, 0x00001290, 0x0500a510,
- 0x00009010, 0x0513ea7d, 0x0000e100, 0x0480a012, 0x00004010, 0xffffffff,
- 0x00007f86, 0x00009014, 0x00001502, 0x2613e812, 0x0000e130, 0xa000108d,
- 0x00002432, 0x0000153d, 0x00007019, 0xc1c01f71, 0x00009283, 0x2653e812,
- 0x0000e108, 0x4000108e, 0x0000240a, 0x000910ec, 0x00005780, 0x00005801,
- 0x00008080, 0x8d800505, 0x0000f88b, 0x00400001, 0x00000000, 0xb3401413,
- 0x0000f88b, 0xd0400000, 0x00008781, 0x15310b2d, 0x0000f004, 0x04800000,
- 0x0000f900, 0x001f8000, 0x00008980, 0x05402800, 0x00006181, 0x00000012,
- 0x0000e586, 0x04c3c470, 0x00006281, 0x04202812, 0x0000a101, 0x203896ec,
- 0x0000d600, 0x003bb800, 0x00008000, 0x8cc3c413, 0x0000f893, 0x00400001,
- 0x00000000, 0x8cc00370, 0x0000788b, 0xd0400000, 0x00000a87, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x02aef000, 0x0000f900, 0x00266d12,
- 0x00008980, 0x02cbe000, 0x00007900, 0x0029046c, 0x00008980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x154a1e83,
- 0x00007500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002,
- 0x0000c900, 0x0ac09009, 0x0000e100, 0x04c7e40c, 0x00008281, 0x05000c13,
- 0x00001880, 0x84d0a20b, 0x00001000, 0x3038c013, 0x0000b038, 0x3038d213,
- 0x0000b038, 0x3038e413, 0x0000b038, 0x3038f613, 0x0000b038, 0x30790013,
- 0x0000b038, 0x30791213, 0x0000b038, 0x30792413, 0x0000b038, 0x30793613,
- 0x0000b038, 0x04c00800, 0x00009981, 0x00000f3c, 0x00007200, 0x05000000,
- 0x00009981, 0x00001557, 0x00007200, 0x04c00000, 0x00001981, 0x84f1662c,
- 0x00009900, 0x80116213, 0x00009502, 0x0500162c, 0x000018a9, 0x7840d414,
- 0x000010a9, 0x00001569, 0x0000f020, 0xffffffff, 0x0000ffb7, 0x04c00a00,
- 0x0000f904, 0x05009013, 0x00001000, 0x0000a009, 0x00001502, 0x04809013,
- 0x00006020, 0x8b000e2c, 0x000080a1, 0x00001568, 0x00007029, 0x0000155b,
- 0x0000f000, 0x0ac09009, 0x00001100, 0x01401470, 0x00001283, 0x0cf1662c,
- 0x0000e111, 0x0c415809, 0x00004110, 0x4c002771, 0x00007897, 0xb0800000,
- 0x0000878b, 0x2c10b209, 0x00009600, 0x044588b0, 0x00001000, 0x85108a14,
- 0x00006100, 0x05410013, 0x00008180, 0x84801a74, 0x00006280, 0x0450a214,
- 0x00000900, 0x0000a811, 0x00009502, 0x000015a1, 0x00007043, 0x80000212,
- 0x00009582, 0x1662dc5b, 0x0000e109, 0x85d3a274, 0x0000c908, 0x85109212,
- 0x00009910, 0x00000deb, 0x0000f008, 0x0000002b, 0x00006582, 0x0483fc05,
- 0x00008281, 0x01400c12, 0x0000e181, 0x05c7e62c, 0x00000281, 0x82401800,
- 0x000081ce, 0x8490a214, 0x00006100, 0x8b000e2c, 0x0000c189, 0x16801405,
- 0x00001881, 0x0547e62c, 0x0000e281, 0x7841a45a, 0x00008081, 0x0020ac17,
- 0x00001503, 0x05401413, 0x00009891, 0x3840c415, 0x00001091, 0xffffffff,
- 0x00007f97, 0x1c820b00, 0x00007904, 0x00001593, 0x00007408, 0x16020b00,
- 0x0000f904, 0x0442c058, 0x00009900, 0x10039500, 0x0000f904, 0x00000413,
- 0x0000e583, 0x16172858, 0x00008200, 0x1002c500, 0x00007904, 0x04c01800,
- 0x0000e189, 0x04c00c13, 0x0000c191, 0x8ad2c212, 0x00009c00, 0xffffffff,
- 0x00007f86, 0x84915a12, 0x00006100, 0x05515858, 0x00000100, 0x80000215,
- 0x0000e582, 0x0ad72815, 0x00000200, 0x02400c09, 0x00001089, 0x00001251,
- 0x00007011, 0x80000212, 0x00009582, 0x8b000e2c, 0x00006191, 0x01400c05,
- 0x00000191, 0x16801405, 0x00009891, 0x00001253, 0x00007008, 0x00001583,
- 0x0000f000, 0x84d09a14, 0x00009100, 0x85012213, 0x00001082, 0x00001576,
- 0x0000700b, 0x0000157b, 0x00007000, 0x00001576, 0x00007200, 0x84801a74,
- 0x00009280, 0x0141ff60, 0x00009281, 0x00001c05, 0x00009583, 0x76038860,
- 0x00006811, 0x000015c5, 0x00007009, 0x00002405, 0x00001583, 0x584b8971,
- 0x00006108, 0x0a830413, 0x00006008, 0x04e09ce5, 0x00006409, 0x19c39072,
- 0x00000908, 0x000015bb, 0x00007208, 0x584b8971, 0x00006110, 0x75e09860,
- 0x0000e009, 0x00000405, 0x00006583, 0x19c39072, 0x00008900, 0x0141ff60,
- 0x00006281, 0x84c01a13, 0x00000088, 0x0dc09613, 0x0000200e, 0xffffffff,
- 0x00007fa7, 0x84800a12, 0x00001088, 0x0dc89613, 0x0000280e, 0xc0000761,
- 0x00001583, 0x0000134b, 0x0000f00b, 0x04fb0aec, 0x00006100, 0x04806761,
- 0x00000180, 0x417b0f61, 0x0000e101, 0x04c01813, 0x0000c280, 0x04809812,
- 0x00001000, 0x0000134b, 0x0000f400, 0x04c01012, 0x00009780, 0xd8609c13,
- 0x00009901, 0x19f38f72, 0x00008604, 0xd2c00761, 0x0000f88a, 0xe8800000,
- 0x00008a8d, 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004, 0x18400000,
- 0x0000e180, 0x00000060, 0x0000e586, 0x19800000, 0x00006180, 0x00280060,
- 0x0000e585, 0x19c39072, 0x00006100, 0x76038860, 0x00006001, 0x02400809,
- 0x0000e082, 0x1a000000, 0x00000980, 0x02000008, 0x00006084, 0x1a517a2f,
- 0x00000900, 0xc1c20771, 0x0000e283, 0x1a81702e, 0x00000900, 0x0df84e13,
- 0x00005004, 0x00384000, 0x00000000, 0x1ac00000, 0x0000e180, 0x584b8971,
- 0x0000c900, 0x0000134b, 0x0000f400, 0x0141ff60, 0x00006281, 0x8bc00a2f,
- 0x00000080, 0x194728e5, 0x00006108, 0x1940b016, 0x00004910, 0x0a030405,
- 0x00006882, 0x00012405, 0x00009583, 0x00012405, 0x00009583, 0x00018c05,
- 0x00001583, 0x00001658, 0x00007008, 0x0000164b, 0x00007050, 0x0000163d,
- 0x00007008, 0x00018c05, 0x00001583, 0x00012c05, 0x00001583, 0xffffffff,
- 0x00007f86, 0x00001637, 0x00007038, 0x0000160c, 0x0000f010, 0x0dc04e13,
- 0x00007902, 0x02000000, 0x00000004, 0x584b8971, 0x0000e100, 0x76038860,
- 0x00006001, 0x194728e5, 0x0000e100, 0x02438060, 0x00006001, 0x1a434a2f,
- 0x00006000, 0x1a83502e, 0x00000000, 0x02400809, 0x0000e082, 0x8bc00a2f,
- 0x00000080, 0x01440470, 0x0000e283, 0x02000008, 0x00000084, 0x0df84e13,
- 0x00005004, 0x00384000, 0x00000000, 0x04c39072, 0x0000e110, 0x04c00000,
- 0x00004988, 0x0000134b, 0x0000f400, 0x0141ff60, 0x00009281, 0x19809813,
- 0x00009900, 0x01440470, 0x0000e283, 0x80000060, 0x00002500, 0x04c39072,
- 0x0000e110, 0x70000060, 0x0000e401, 0x04c00000, 0x00006188, 0xf0000060,
- 0x00006401, 0x584b8971, 0x0000e100, 0x02438060, 0x00006001, 0x19439873,
- 0x0000e100, 0x76038860, 0x00006001, 0x00001383, 0x00007400, 0x1a5ba374,
- 0x0000e100, 0x1a835075, 0x00004000, 0x19809813, 0x00009900, 0x00013405,
- 0x00001583, 0x000012d5, 0x0000f013, 0x76038860, 0x0000e801, 0x0000134b,
- 0x0000f400, 0x187b9671, 0x00000618, 0x0141ff60, 0x00009281, 0x00000c74,
- 0x0000e583, 0x76038860, 0x0000a001, 0x00001383, 0x00007400, 0x187b9671,
- 0x0000861c, 0xd86ba574, 0x0000e101, 0x417b0f61, 0x00004909, 0x00001383,
- 0x00007400, 0x584b8971, 0x0000e100, 0x76038860, 0x00006001, 0x19839072,
- 0x00009900, 0x00011474, 0x00009583, 0x19839072, 0x0000e118, 0x584b8971,
- 0x0000c918, 0x00001383, 0x00007019, 0x00010c74, 0x00009583, 0x00002c74,
- 0x00009583, 0xffffffff, 0x00007f86, 0x00001618, 0x0000f020, 0x00001612,
- 0x0000f010, 0x18400000, 0x0000e180, 0x00000060, 0x0000e784, 0x19439873,
- 0x0000e100, 0x8623a060, 0x0000e083, 0x19800000, 0x00006180, 0x76038860,
- 0x00006001, 0x19c00772, 0x000006a0, 0x00001383, 0x00007400, 0x9a7baf74,
- 0x00000628, 0x18400671, 0x000086ac, 0x58400000, 0x00006180, 0x00000060,
- 0x0000e586, 0x1a835075, 0x0000e000, 0x00040060, 0x0000a487, 0x00001383,
- 0x00007400, 0x19839072, 0x0000e100, 0xf0000060, 0x00006401, 0x1afba773,
- 0x00008626, 0x00019405, 0x00001583, 0x0001fc05, 0x00009583, 0xffffffff,
- 0x00007f86, 0x0000160e, 0x00007008, 0x0000160e, 0x00007008, 0x000012d5,
- 0x00007000, 0x84c00a13, 0x00006080, 0x0483502e, 0x00000000, 0x0df84613,
- 0x0000303c, 0x19839072, 0x0000e100, 0x70000860, 0x00006401, 0x1a434a2f,
- 0x00006000, 0x1a83502e, 0x00000000, 0x0141ff60, 0x00009281, 0x02000808,
- 0x00001082, 0x02400009, 0x00009084, 0x0df84613, 0x0000b83c, 0x0000134b,
- 0x0000f400, 0x04c0906b, 0x00001100, 0x1ac08813, 0x00009c00, 0x00011405,
- 0x00009583, 0x00010c05, 0x00009583, 0xffffffff, 0x00007f86, 0x0000160f,
- 0x0000f038, 0x0000160e, 0x00007040, 0x00010405, 0x00001583, 0x84c01a13,
- 0x00009088, 0x0de09613, 0x0000200c, 0xffffffff, 0x00007f86, 0x0000160e,
- 0x0000f40b, 0x84800a12, 0x00001088, 0x0de09613, 0x0000a80c, 0x000012d5,
- 0x00007000, 0x0a830412, 0x0000e800, 0x0000160f, 0x0000f400, 0x04e094e5,
- 0x00009401, 0x75e09860, 0x0000e801, 0xc1c20771, 0x0000e283, 0x92430009,
- 0x00002001, 0x00001359, 0x0000f400, 0x02833066, 0x0000e100, 0x80000809,
- 0x0000e411, 0x02c3586b, 0x00009910, 0x0141ff60, 0x00009281, 0x00001c05,
- 0x00009583, 0x76038860, 0x00006811, 0x00001680, 0x0000f009, 0x00002405,
- 0x00001583, 0x584b8971, 0x00006108, 0x0a830413, 0x00006008, 0x04e09ce5,
- 0x00006409, 0x19c39072, 0x00000908, 0x00001676, 0x0000f208, 0x584b8971,
- 0x00006110, 0x75e09860, 0x0000e009, 0x00000405, 0x00006583, 0x19c39072,
- 0x00008900, 0x0141ff60, 0x00006281, 0x84c01a13, 0x00000088, 0x0dc09613,
- 0x0000200e, 0xffffffff, 0x00007fa7, 0x84800a12, 0x00001088, 0x0dc89613,
- 0x0000280e, 0xc0000761, 0x00001583, 0x00001134, 0x0000f00b, 0x04fb0aec,
- 0x00006100, 0x04806761, 0x00000180, 0x417b0f61, 0x0000e101, 0x04c01813,
- 0x0000c280, 0x04809812, 0x00001000, 0x00001134, 0x0000f400, 0x04c01012,
- 0x00009780, 0xd8609c13, 0x00009901, 0x19f38f72, 0x00008604, 0x4d000761,
- 0x0000f88a, 0xc0800000, 0x00008b83, 0x0dc04e13, 0x00007902, 0x02000000,
- 0x00000004, 0x18400000, 0x0000e180, 0x00000060, 0x0000e586, 0x19800000,
- 0x00006180, 0x00280060, 0x0000e585, 0x19c39072, 0x00006100, 0x76038860,
- 0x00006001, 0x02400809, 0x0000e082, 0x1a000000, 0x00000980, 0x02000008,
- 0x00006084, 0x1a517a2f, 0x00000900, 0xc1c20771, 0x0000e283, 0x1a81702e,
- 0x00000900, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000, 0x1ac00000,
- 0x0000e180, 0x584b8971, 0x0000c900, 0x00001134, 0x0000f400, 0x0141ff60,
- 0x00006281, 0x8bc00a2f, 0x00000080, 0x194728e5, 0x00006108, 0x1940b016,
- 0x00004910, 0x0a030405, 0x00006882, 0x00012405, 0x00009583, 0x00012405,
- 0x00009583, 0x00018c05, 0x00001583, 0x0000170e, 0x0000f008, 0x00001701,
- 0x00007050, 0x000016f3, 0x0000f008, 0x00018c05, 0x00001583, 0x00012c05,
- 0x00001583, 0xffffffff, 0x00007f86, 0x000012d0, 0x0000f038, 0x000016c7,
- 0x00007010, 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004, 0x584b8971,
- 0x0000e100, 0x76038860, 0x00006001, 0x194728e5, 0x0000e100, 0x02438060,
- 0x00006001, 0x1a434a2f, 0x00006000, 0x1a83502e, 0x00000000, 0x02400809,
- 0x0000e082, 0x8bc00a2f, 0x00000080, 0x01440470, 0x0000e283, 0x02000008,
- 0x00000084, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000, 0x04c39072,
- 0x0000e110, 0x04c00000, 0x00004988, 0x00001134, 0x0000f400, 0x0141ff60,
- 0x00009281, 0x19809813, 0x00009900, 0x01440470, 0x0000e283, 0x80000060,
- 0x00002500, 0x04c39072, 0x0000e110, 0x70000060, 0x0000e401, 0x04c00000,
- 0x00006188, 0xf0000060, 0x00006401, 0x584b8971, 0x0000e100, 0x02438060,
- 0x00006001, 0x19439873, 0x0000e100, 0x76038860, 0x00006001, 0x0000116c,
- 0x00007400, 0x1a5ba374, 0x0000e100, 0x1a835075, 0x00004000, 0x19809813,
- 0x00009900, 0x00013405, 0x00001583, 0x000012d5, 0x0000f013, 0x00001134,
- 0x0000f400, 0x584b8971, 0x0000e100, 0x76038860, 0x00006001, 0x0141ff60,
- 0x00006281, 0x19839072, 0x00000900, 0x00000c74, 0x0000e583, 0x76038860,
- 0x0000a001, 0x0000116c, 0x00007400, 0x187b9671, 0x0000861c, 0xd86ba574,
- 0x0000e101, 0x417b0f61, 0x00004909, 0x0000116c, 0x00007400, 0x584b8971,
- 0x0000e100, 0x76038860, 0x00006001, 0x19839072, 0x00009900, 0x00011474,
- 0x00009583, 0x19839072, 0x0000e118, 0x584b8971, 0x0000c918, 0x0000116c,
- 0x00007019, 0x00010c74, 0x00009583, 0x00002c74, 0x00009583, 0xffffffff,
- 0x00007f86, 0x000016d4, 0x0000f020, 0x000016ce, 0x00007010, 0x18400000,
- 0x0000e180, 0x00000060, 0x0000e784, 0x19439873, 0x0000e100, 0x8623a060,
- 0x0000e083, 0x19800000, 0x00006180, 0x76038860, 0x00006001, 0x19c00772,
- 0x000006a0, 0x0000116c, 0x00007400, 0x9a7baf74, 0x00000628, 0x18400671,
- 0x000086ac, 0x58400000, 0x00006180, 0x00000060, 0x0000e586, 0x1a835075,
- 0x0000e000, 0x00040060, 0x0000a487, 0x0000116c, 0x00007400, 0x19839072,
- 0x0000e100, 0xf0000060, 0x00006401, 0x1afba773, 0x00008626, 0x84c00a13,
- 0x00006080, 0x0483502e, 0x00000000, 0x0df84613, 0x0000303c, 0x19839072,
- 0x0000e100, 0x70000860, 0x00006401, 0x1a434a2f, 0x00006000, 0x1a83502e,
- 0x00000000, 0x0141ff60, 0x00009281, 0x02000808, 0x00001082, 0x02400009,
- 0x00009084, 0x0df84613, 0x0000b83c, 0x00001134, 0x0000f400, 0x04c0906b,
- 0x00001100, 0x1ac08813, 0x00009c00, 0x00011405, 0x00009583, 0x00010c05,
- 0x00009583, 0xffffffff, 0x00007f86, 0x00001711, 0x00007038, 0x000016c9,
- 0x0000f040, 0x00010405, 0x00001583, 0x84c01a13, 0x00009088, 0x0de09613,
- 0x0000200c, 0xffffffff, 0x00007f86, 0x000016c9, 0x0000740b, 0x84800a12,
- 0x00001088, 0x0de09613, 0x0000a80c, 0x000012d5, 0x00007000, 0x0a830412,
- 0x0000e800, 0x04e094e5, 0x00009401, 0x75e09860, 0x0000e801, 0x00001134,
- 0x0000f400, 0x187b9671, 0x00000618, 0x0141ff60, 0x00009281, 0x05c00e2c,
- 0x00006081, 0x0ac00000, 0x00008980, 0x85a0bc17, 0x0000e100, 0x04800c12,
- 0x0000c081, 0x80116216, 0x00006502, 0x8b000e2c, 0x00000081, 0x00002412,
- 0x00001583, 0x80116216, 0x00009502, 0x00000f10, 0x00007018, 0x00001194,
- 0x0000f010, 0x00001194, 0x0000f020, 0x15000180, 0x0000e180, 0x84a0ba2c,
- 0x00004100, 0x80002212, 0x0000e582, 0x95280500, 0x00000900, 0x04a0bc2c,
- 0x0000e131, 0x04802000, 0x00008999, 0x15400000, 0x0000f900, 0x000014c4,
- 0x00000980, 0x05c02417, 0x0000e080, 0x04802412, 0x00004881, 0x75e80054,
- 0x00006101, 0x00209055, 0x00003106, 0x05c14017, 0x00001002, 0x703aa8ec,
- 0x0000d600, 0x003aa000, 0x00000000, 0x15400000, 0x0000f900, 0x00007fc0,
- 0x00000980, 0x05800029, 0x00006084, 0x15300006, 0x00000980, 0x7038b8ec,
- 0x0000d600, 0x0038b000, 0x00000000, 0x95609412, 0x00006100, 0x04181054,
- 0x00006187, 0x703aa8ec, 0x0000d600, 0x003aa000, 0x00000000, 0x00c002ec,
- 0x0000df80, 0x1159d00b, 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0x01400ce0, 0x00001283, 0x174d1edc, 0x00007113, 0x00001194,
- 0x0000f400, 0x04807413, 0x0000e081, 0xb8400003, 0x00000980, 0x04800000,
- 0x0000e181, 0x38401412, 0x00004881, 0x80003a2c, 0x00006582, 0x82304413,
- 0x00000001, 0x0a004412, 0x00006084, 0xb2e0886e, 0x0000b080, 0x04e09413,
- 0x0000e001, 0x8250a214, 0x00008900, 0x0483fc13, 0x00006281, 0x0b817370,
- 0x00008000, 0xdb1b8370, 0x0000e100, 0x86209008, 0x00006085, 0x84806800,
- 0x00001980, 0x4483fc13, 0x0000e281, 0x04e1642c, 0x00000931, 0x04c04000,
- 0x00009999, 0x003090ec, 0x0000d702, 0x00007000, 0x00000080, 0x0a004412,
- 0x0000e884, 0x000010c9, 0x0000f400, 0x001010ec, 0x0000d780, 0x00007000,
- 0x00000080, 0x01609413, 0x00001101, 0x80000212, 0x00009582, 0x000011c7,
- 0x0000f013, 0x3841a458, 0x0000e081, 0x82202e08, 0x00000101, 0x9690a276,
- 0x0000e100, 0x05808811, 0x00008900, 0x0a004414, 0x0000e884, 0x04e02c14,
- 0x00001101, 0x86209808, 0x00006885, 0x000010a3, 0x00007401, 0x10039500,
- 0x0000f904, 0x1000b500, 0x00007904, 0x0141ff60, 0x00009281, 0x00001c05,
- 0x00009583, 0x76038860, 0x00006811, 0x00001791, 0x00007009, 0x00002405,
- 0x00001583, 0x584b8971, 0x00006108, 0x0a830413, 0x00006008, 0x04e09ce5,
- 0x00006409, 0x19c39072, 0x00000908, 0x00001787, 0x0000f208, 0x584b8971,
- 0x00006110, 0x75e09860, 0x0000e009, 0x00000405, 0x00006583, 0x19c39072,
- 0x00008900, 0x0141ff60, 0x00006281, 0x84c01a13, 0x00000088, 0x0dc09613,
- 0x0000200e, 0xffffffff, 0x00007fa7, 0x84800a12, 0x00001088, 0x0dc89613,
- 0x0000280e, 0xc0000761, 0x00001583, 0x00000fb6, 0x0000f00b, 0x04fb0aec,
- 0x00006100, 0x04806761, 0x00000180, 0x417b0f61, 0x0000e101, 0x04c01813,
- 0x0000c280, 0x04809812, 0x00001000, 0x00000fb6, 0x0000f400, 0x04c01012,
- 0x00009780, 0xd8609c13, 0x00009901, 0x19f38f72, 0x00008604, 0xed800761,
- 0x0000f88b, 0x48400000, 0x00008b8c, 0x0dc04e13, 0x00007902, 0x02000000,
- 0x00000004, 0x18400000, 0x0000e180, 0x00000060, 0x0000e586, 0x19800000,
- 0x00006180, 0x00280060, 0x0000e585, 0x19c39072, 0x00006100, 0x76038860,
- 0x00006001, 0x02400809, 0x0000e082, 0x1a000000, 0x00000980, 0x02000008,
- 0x00006084, 0x1a517a2f, 0x00000900, 0xc1c20771, 0x0000e283, 0x1a81702e,
- 0x00000900, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000, 0x1ac00000,
- 0x0000e180, 0x584b8971, 0x0000c900, 0x00000fb6, 0x0000f400, 0x0141ff60,
- 0x00006281, 0x8bc00a2f, 0x00000080, 0x194728e5, 0x00006108, 0x1940b016,
- 0x00004910, 0x0a030405, 0x00006882, 0x00012405, 0x00009583, 0x00012405,
- 0x00009583, 0x00018c05, 0x00001583, 0x00001824, 0x00007008, 0x00001817,
- 0x0000f050, 0x00001809, 0x00007008, 0x00018c05, 0x00001583, 0x00012c05,
- 0x00001583, 0xffffffff, 0x00007f86, 0x00001803, 0x00007038, 0x000017d8,
- 0x00007010, 0x0dc04e13, 0x00007902, 0x02000000, 0x00000004, 0x584b8971,
- 0x0000e100, 0x76038860, 0x00006001, 0x194728e5, 0x0000e100, 0x02438060,
- 0x00006001, 0x1a434a2f, 0x00006000, 0x1a83502e, 0x00000000, 0x02400809,
- 0x0000e082, 0x8bc00a2f, 0x00000080, 0x01440470, 0x0000e283, 0x02000008,
- 0x00000084, 0x0df84e13, 0x00005004, 0x00384000, 0x00000000, 0x04c39072,
- 0x0000e110, 0x04c00000, 0x00004988, 0x00000fb6, 0x0000f400, 0x0141ff60,
- 0x00009281, 0x19809813, 0x00009900, 0x01440470, 0x0000e283, 0x80000060,
- 0x00002500, 0x04c39072, 0x0000e110, 0x70000060, 0x0000e401, 0x04c00000,
- 0x00006188, 0xf0000060, 0x00006401, 0x584b8971, 0x0000e100, 0x02438060,
- 0x00006001, 0x19439873, 0x0000e100, 0x76038860, 0x00006001, 0x00000fee,
- 0x00007400, 0x1a5ba374, 0x0000e100, 0x1a835075, 0x00004000, 0x19809813,
- 0x00009900, 0x00013405, 0x00001583, 0x000012d5, 0x0000f013, 0x76038860,
- 0x0000e801, 0x00000fb6, 0x0000f400, 0x187b9671, 0x00000618, 0x0141ff60,
- 0x00009281, 0x00000c74, 0x0000e583, 0x76038860, 0x0000a001, 0x00000fee,
- 0x00007400, 0x187b9671, 0x0000861c, 0xd86ba574, 0x0000e101, 0x417b0f61,
- 0x00004909, 0x00000fee, 0x00007400, 0x584b8971, 0x0000e100, 0x76038860,
- 0x00006001, 0x19839072, 0x00009900, 0x00011474, 0x00009583, 0x19839072,
- 0x0000e118, 0x584b8971, 0x0000c918, 0x00000fee, 0x00007019, 0x00010c74,
- 0x00009583, 0x00002c74, 0x00009583, 0xffffffff, 0x00007f86, 0x000017e4,
- 0x00007020, 0x000017de, 0x00007010, 0x18400000, 0x0000e180, 0x00000060,
- 0x0000e784, 0x19439873, 0x0000e100, 0x8623a060, 0x0000e083, 0x19800000,
- 0x00006180, 0x76038860, 0x00006001, 0x19c00772, 0x000006a0, 0x00000fee,
- 0x00007400, 0x9a7baf74, 0x00000628, 0x18400671, 0x000086ac, 0x58400000,
- 0x00006180, 0x00000060, 0x0000e586, 0x1a835075, 0x0000e000, 0x00040060,
- 0x0000a487, 0x00000fee, 0x00007400, 0x19839072, 0x0000e100, 0xf0000060,
- 0x00006401, 0x1afba773, 0x00008626, 0x00019405, 0x00001583, 0x0001fc05,
- 0x00009583, 0xffffffff, 0x00007f86, 0x000017da, 0x0000f008, 0x000017da,
- 0x0000f008, 0x000012d5, 0x00007000, 0x84c00a13, 0x00006080, 0x0483502e,
- 0x00000000, 0x0df84613, 0x0000303c, 0x19839072, 0x0000e100, 0x70000860,
- 0x00006401, 0x1a434a2f, 0x00006000, 0x1a83502e, 0x00000000, 0x0141ff60,
- 0x00009281, 0x02000808, 0x00001082, 0x02400009, 0x00009084, 0x0df84613,
- 0x0000b83c, 0x00000fb6, 0x0000f400, 0x04c0906b, 0x00001100, 0x1ac08813,
- 0x00009c00, 0x00011405, 0x00009583, 0x00010c05, 0x00009583, 0xffffffff,
- 0x00007f86, 0x000017db, 0x00007038, 0x000017da, 0x0000f040, 0x00010405,
- 0x00001583, 0x84c01a13, 0x00009088, 0x0de09613, 0x0000200c, 0xffffffff,
- 0x00007f86, 0x000017da, 0x0000740b, 0x84800a12, 0x00001088, 0x0de09613,
- 0x0000a80c, 0x000012d5, 0x00007000, 0x0a830412, 0x0000e800, 0x000017db,
- 0x00007400, 0x04e094e5, 0x00009401, 0x75e09860, 0x0000e801, 0x0507862f,
- 0x00006281, 0x02419032, 0x00000900, 0x00010414, 0x0000e583, 0x0b819032,
- 0x00000900, 0x0c017c14, 0x0000680e, 0x0520a032, 0x00009708, 0x85001a14,
- 0x00001888, 0x02419214, 0x00001008, 0xffffffff, 0x00007f86, 0x00015009,
- 0x00006502, 0x04818009, 0x00008100, 0x0ac00000, 0x0000e1a0, 0x8b21642c,
- 0x0000c921, 0x00000f74, 0x0000f021, 0x8000222c, 0x00009582, 0x8b299d33,
- 0x00006131, 0x0507e533, 0x00004299, 0x8b07e533, 0x0000e299, 0x0160a42c,
- 0x00008119, 0x0000188d, 0x0000f030, 0x84c00800, 0x000001d2, 0x03c01d33,
- 0x00001281, 0x00000405, 0x00006583, 0x02000000, 0x00008981, 0x04c00c13,
- 0x0000e481, 0x02000800, 0x00008991, 0xffffffff, 0x00007f86, 0x02204413,
- 0x00009203, 0x82280500, 0x00006110, 0x04c0262c, 0x0000c890, 0x03400000,
- 0x0000f910, 0x000010c4, 0x00008980, 0x00000f74, 0x00007008, 0x02814013,
- 0x00006002, 0x04c08405, 0x00008c81, 0x02c00029, 0x00009084, 0x01609c05,
- 0x0000e101, 0x83802413, 0x00008880, 0x83802d00, 0x0000e080, 0x0010700d,
- 0x00006106, 0x0380500a, 0x00006100, 0xc218020e, 0x0000c080, 0x703868ec,
- 0x00005600, 0x00384000, 0x00000000, 0x03400000, 0x00007900, 0x00007fc0,
- 0x00000980, 0x83402413, 0x00006080, 0x02300006, 0x0000c980, 0x703870ec,
- 0x00005600, 0x00385800, 0x00000000, 0x04181008, 0x0000e987, 0x703868ec,
- 0x00005600, 0x00384000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1182f80b,
- 0x00009684, 0x00000414, 0x00009583, 0x02e07c0f, 0x00006111, 0x04e07c13,
- 0x00004111, 0x8b299d33, 0x0000e111, 0x02c00000, 0x0000c989, 0xffffffff,
- 0x00007f86, 0x04e05c13, 0x00009001, 0x00209c0b, 0x00009503, 0x0000188b,
- 0x0000700b, 0x02000c0b, 0x0000e080, 0x85002d00, 0x00004880, 0x85104214,
- 0x00006000, 0x0290a214, 0x00000900, 0x30384214, 0x0000a080, 0xffffffff,
- 0x00007fa7, 0x05004012, 0x00001000, 0x0000a009, 0x00001502, 0x8b000e2c,
- 0x0000e0a1, 0x02c00c0b, 0x000080a1, 0x04804012, 0x00009020, 0x0000187c,
- 0x00007028, 0x22e09c0b, 0x0000780a, 0x40c00000, 0x00000c83, 0xc1c20771,
- 0x0000e283, 0x92430009, 0x00002001, 0x00000fc4, 0x0000f400, 0x02833066,
- 0x0000e100, 0x80000809, 0x0000e411, 0x02c3586b, 0x00009910, 0x0ac09009,
- 0x0000e100, 0x04c7e40b, 0x00000281, 0x05000c13, 0x00001880, 0x84d0a20a,
- 0x00009000, 0x3038c013, 0x0000b038, 0x3038d213, 0x0000b038, 0x3038e413,
- 0x0000b038, 0x3038f613, 0x0000b038, 0x30790013, 0x0000b038, 0x30791213,
- 0x0000b038, 0x30792413, 0x0000b038, 0x30793613, 0x0000b038, 0x04c00800,
- 0x00009981, 0x0000183e, 0x0000f200, 0x05000000, 0x00009981, 0x00001889,
- 0x0000f200, 0x04c00000, 0x00001981, 0x84f1662c, 0x00009900, 0x80116213,
- 0x00009502, 0x0500162c, 0x000018a9, 0x7840d414, 0x000010a9, 0x00000f74,
- 0x00007020, 0xffffffff, 0x0000ffb7, 0x04c00a00, 0x0000f904, 0x05009013,
- 0x00001000, 0x0000a009, 0x00001502, 0x04809013, 0x00006020, 0x8b000e2c,
- 0x000080a1, 0x00000f73, 0x0000f029, 0x0000188d, 0x0000f000, 0x05000e2c,
- 0x00006081, 0x0ac00000, 0x00008980, 0x85e0a414, 0x00006100, 0x04800c12,
- 0x0000c081, 0x80116217, 0x0000e502, 0x8b000e2c, 0x00000081, 0x00002412,
- 0x00001583, 0x80116217, 0x00001502, 0x00000f10, 0x00007018, 0x000013aa,
- 0x0000f010, 0x000013aa, 0x0000f020, 0x15000180, 0x0000e180, 0x84a0a22c,
- 0x00004100, 0x80002212, 0x0000e582, 0x95280500, 0x00000900, 0x04a0a42c,
- 0x0000e131, 0x04802000, 0x00008999, 0x15400000, 0x0000f900, 0x000014c4,
- 0x00000980, 0x05002414, 0x0000e080, 0x04802412, 0x00004881, 0x75e80054,
- 0x00006101, 0x00209055, 0x00003106, 0x05c14014, 0x00001002, 0x703aa8ec,
- 0x0000d600, 0x003aa000, 0x00000000, 0x15400000, 0x0000f900, 0x00007fc0,
- 0x00000980, 0x05000029, 0x0000e084, 0x15300006, 0x00000980, 0x7038b8ec,
- 0x0000d600, 0x0038a000, 0x00008000, 0x95609412, 0x00006100, 0x04181054,
- 0x00006187, 0x703aa8ec, 0x0000d600, 0x003aa000, 0x00000000, 0x00c002ec,
- 0x0000df80, 0x1186000b, 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0x01400ce0, 0x00001283, 0x18d31edc, 0x0000f113, 0x000013aa,
- 0x0000f400, 0x04807413, 0x0000e081, 0xb8400003, 0x00000980, 0x04800000,
- 0x0000e181, 0x38401412, 0x00004881, 0x80003a2c, 0x00006582, 0x82304413,
- 0x00000001, 0x0a004412, 0x00006084, 0xb2e0886e, 0x0000b080, 0x04e09413,
- 0x0000e001, 0x0b817370, 0x00008000, 0xdb1b8370, 0x0000e100, 0x0483fc13,
- 0x0000c281, 0x84806800, 0x00006180, 0x86209008, 0x00006085, 0x4483fc13,
- 0x0000e281, 0x04e1642c, 0x00000931, 0x04c04000, 0x00009999, 0x003090ec,
- 0x0000d702, 0x00007000, 0x00000080, 0x0a004412, 0x0000e884, 0x00000e11,
- 0x0000f400, 0x001010ec, 0x0000d780, 0x00007000, 0x00000080, 0x81609413,
- 0x00009101, 0x0aa760e1, 0x00000310, 0xb8403008, 0x000081e4, 0x06400819,
- 0x00009182, 0xffffffff, 0x0000ffb7, 0x0d820300, 0x0000f904, 0x000018ee,
- 0x0000f410, 0x7d39b234, 0x0000b838, 0x8d000a34, 0x00006080, 0x04400000,
- 0x00000988, 0x02400000, 0x0000f900, 0x00020080, 0x00008980, 0x02000060,
- 0x0000e180, 0x5578c009, 0x00006003, 0x02838000, 0x00007900, 0x00004000,
- 0x00000980, 0x03009000, 0x0000f900, 0x00008240, 0x00000980, 0x03400000,
- 0x00007900, 0x00010030, 0x00000980, 0x04800000, 0x000081cc, 0x02c00100,
- 0x00006180, 0x03c00000, 0x00004980, 0x03a95c38, 0x00000038, 0x8470c618,
- 0x00006100, 0x0401582b, 0x00004900, 0x82195b2b, 0x00009900, 0x814010ec,
- 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009810ec,
- 0x0000d780, 0x00007000, 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0xb8403008, 0x000001ec, 0x7d3842ec,
- 0x0000b038, 0x06c0081b, 0x00006182, 0x0661542a, 0x00000901, 0x8d000aec,
- 0x00009080, 0x0000191b, 0x0000f409, 0xffffffff, 0x00007f86, 0x10004500,
- 0x00007904, 0x7d384234, 0x0000b038, 0x06c0081b, 0x00006182, 0x8d000a34,
- 0x00000080, 0x00001916, 0x0000f213, 0x10004500, 0x00007904, 0x00000001,
- 0x00007280, 0x3860cc19, 0x00001901, 0x80000e18, 0x0000e583, 0xc75722e4,
- 0x00000900, 0x80000618, 0x00009583, 0xffffffff, 0x00007f86, 0x00001926,
- 0x00007008, 0x0000192b, 0x0000f008, 0x0000192f, 0x00007400, 0x08000000,
- 0x000082dc, 0x4a400000, 0x000002e0, 0x0000192f, 0x00007400, 0x0820016c,
- 0x0000e180, 0x09f0016c, 0x0000c980, 0x8a4a0000, 0x00006180, 0x0a20016d,
- 0x0000c980, 0x08200174, 0x0000e180, 0x09f00174, 0x0000c980, 0x8a4a0000,
- 0x00006180, 0x0a200175, 0x0000c980, 0x02400000, 0x00009981, 0x00001c09,
- 0x00009583, 0x0ac11823, 0x00001908, 0x00001947, 0x00007009, 0x00001c09,
- 0x00009583, 0x0000193c, 0x0000701b, 0x00000c09, 0x00001583, 0x0ac12825,
- 0x00001908, 0x00001947, 0x00007009, 0x00001409, 0x00001583, 0x0ac12024,
- 0x00001908, 0x00001947, 0x00007009, 0x00001945, 0x0000f000, 0x00002c09,
- 0x00009583, 0x0ac10821, 0x00001908, 0x00001947, 0x00007009, 0x00002c09,
- 0x00009583, 0x0ac11022, 0x00009928, 0x00001947, 0x0000f029, 0x00003409,
- 0x00009583, 0x0ac0e01c, 0x00001908, 0x00001947, 0x00007009, 0x0ac13026,
- 0x00009900, 0xffffffff, 0x00007f86, 0x0201582b, 0x00009b00, 0x00072808,
- 0x0000e502, 0x0ac04008, 0x00000900, 0x02400c09, 0x00001089, 0x0000194e,
- 0x00007011, 0x54803c09, 0x0000f88a, 0x80c00000, 0x00000c89, 0x82402c09,
- 0x00009880, 0x8ad15a09, 0x00001000, 0x80067a2b, 0x00009582, 0x000019bd,
- 0x00007033, 0x8afff801, 0x00009980, 0x703ffa2b, 0x0000788a, 0x00c00003,
- 0x00008080, 0xffffffff, 0x00007f86, 0x6c38402b, 0x0000a000, 0x80000618,
- 0x00009583, 0xffffffff, 0x00007f97, 0x02000000, 0x00006181, 0x86904208,
- 0x0000c900, 0x80007a2b, 0x00006582, 0x02000800, 0x00008989, 0x00001963,
- 0x00007033, 0x00000408, 0x00001583, 0x02601176, 0x00009990, 0x0260116e,
- 0x00009988, 0x00001967, 0x00007010, 0x00001967, 0x0000f000, 0x00000408,
- 0x00001583, 0x02601976, 0x00001990, 0x00001967, 0x0000f011, 0x0260196e,
- 0x00009980, 0x0a800000, 0x00009980, 0x02800800, 0x000081ec, 0x0ec04809,
- 0x00006100, 0x0010d00a, 0x00006186, 0x196f2042, 0x0000f404, 0x0e400800,
- 0x00007900, 0x00004040, 0x00008980, 0x0e80500a, 0x00009900, 0x0a80082a,
- 0x00006080, 0x86c02d00, 0x00008880, 0x3038501b, 0x0000a080, 0xffffffff,
- 0x00007fa7, 0x0200500a, 0x00001900, 0x0000000a, 0x0000f88a, 0x00000000,
- 0x00000000, 0x5a1a002a, 0x0000f892, 0xd0c01312, 0x00000c8b, 0x631a002a,
- 0x0000f892, 0x00c01313, 0x00008080, 0x0010d019, 0x0000e186, 0x08001aae,
- 0x00003106, 0xebb00600, 0x0000e101, 0x04104019, 0x0000e187, 0x421a0000,
- 0x00007900, 0x00001312, 0x00000980, 0x29000000, 0x00007900, 0x00010080,
- 0x00008980, 0xaba80500, 0x00006101, 0x8620c008, 0x0000e087, 0x39810800,
- 0x00007900, 0x002a69d2, 0x00000980, 0x39e4c000, 0x0000f900, 0x00241a3a,
- 0x00000980, 0x2bf84f02, 0x00000a34, 0x198c1eb0, 0x00007500, 0x2b00d719,
- 0x00000a91, 0x2ac04008, 0x00001900, 0x8ac00a2b, 0x00009080, 0x8006822b,
- 0x00001582, 0x02800000, 0x00006191, 0x86c02a2b, 0x00004790, 0x8ac0fa2b,
- 0x00006290, 0x0260dc1b, 0x00000911, 0x000019c0, 0x0000f008, 0x00000409,
- 0x00006583, 0x06d15fe4, 0x00008800, 0x0200daec, 0x00009100, 0x000019ba,
- 0x00007019, 0x00001c0a, 0x00009583, 0x06c11823, 0x00001908, 0x000019ad,
- 0x0000f009, 0x00001c0a, 0x00009583, 0x000019a3, 0x0000701b, 0x00000c0a,
- 0x00001583, 0x06c12825, 0x00001908, 0x000019ad, 0x0000f009, 0x0000140a,
- 0x00001583, 0x06c12024, 0x00001908, 0x000019ad, 0x0000f009, 0x000019ac,
- 0x00007000, 0x00002c0a, 0x00009583, 0x06c10821, 0x00001908, 0x000019ad,
- 0x0000f009, 0x00002c0a, 0x00009583, 0x06c11022, 0x00009928, 0x000019ad,
- 0x00007029, 0x0000340a, 0x00009583, 0x06c0e01c, 0x00001908, 0x000019ad,
- 0x0000f009, 0x06c13026, 0x00009900, 0x00205409, 0x00009503, 0x06c0401b,
- 0x00001208, 0xffffffff, 0x00007f86, 0x02c0d81b, 0x00009b00, 0x0007280b,
- 0x0000e502, 0x06c0580b, 0x00000900, 0x82802c0a, 0x00001890, 0x8ad0da0a,
- 0x00009010, 0x000019ba, 0x00007008, 0x70067a2b, 0x0000789a, 0x00c00001,
- 0x00008000, 0x557ffa2b, 0x00007892, 0x00c00002, 0x00008c8e, 0x02800c0a,
- 0x00009081, 0x00a03c0a, 0x00004589, 0x7fe05009, 0x00007d1e, 0x803ffa2b,
- 0x00007900, 0x00000002, 0x00008582, 0x00001955, 0x0000f013, 0x00001a80,
- 0x00007200, 0x06800000, 0x00009980, 0x8000021a, 0x0000e582, 0x86c00000,
- 0x00000980, 0x02400000, 0x0000e181, 0x86c00800, 0x0000c988, 0x80000e18,
- 0x00001583, 0x02400800, 0x00009989, 0xffffffff, 0x00007f86, 0x0260dc09,
- 0x00001203, 0x0ac0081a, 0x00006088, 0x06c01000, 0x00004988, 0x0e800000,
- 0x0000e188, 0x02c1402b, 0x0000c008, 0x00001a7f, 0x00007010, 0x19d32042,
- 0x00007404, 0x0e400800, 0x00007900, 0x00004000, 0x00000980, 0x0ec0580b,
- 0x00001900, 0x86c02d00, 0x00001880, 0x3001c01b, 0x0000f902, 0x02400000,
- 0x00000000, 0xffffffff, 0x00007fa7, 0x00000809, 0x00001582, 0x02c1001a,
- 0x00006008, 0x06c00800, 0x00008988, 0x0e800000, 0x0000e188, 0x0ec0580b,
- 0x0000c908, 0x00001a7f, 0x00007010, 0x19e02042, 0x00007204, 0x0e400800,
- 0x00007900, 0x00004000, 0x00000980, 0x8ac02d00, 0x00001880, 0x3039b82b,
- 0x00002080, 0xffffffff, 0x00007fa7, 0x06c03e37, 0x00001281, 0x0ac00c1b,
- 0x00001181, 0x0000242b, 0x00001583, 0x02c1381a, 0x00006030, 0x06c00800,
- 0x000009b0, 0x0e800000, 0x000061b0, 0x0ec0580b, 0x00004930, 0x00001a7f,
- 0x0000f018, 0x19ee2042, 0x0000f204, 0x0e400800, 0x00007900, 0x00004000,
- 0x00000980, 0x02800000, 0x0000e181, 0x86c02d00, 0x00004880, 0x3038481b,
- 0x0000a080, 0xffffffff, 0x00007fa7, 0x0f804c09, 0x0000e806, 0x00001c0a,
- 0x00009583, 0x06c11823, 0x00001908, 0x00001a0a, 0x00007009, 0x00001c0a,
- 0x00009583, 0x000019ff, 0x0000701b, 0x00000c0a, 0x00001583, 0x06c12825,
- 0x00001908, 0x00001a0a, 0x00007009, 0x0000140a, 0x00001583, 0x06c12024,
- 0x00001908, 0x00001a0a, 0x00007009, 0x00001a08, 0x0000f000, 0x00002c0a,
- 0x00009583, 0x06c10821, 0x00001908, 0x00001a0a, 0x00007009, 0x00002c0a,
- 0x00009583, 0x06c11022, 0x00009928, 0x00001a0a, 0x0000f029, 0x0000340a,
- 0x00009583, 0x06c0e01c, 0x00001908, 0x00001a0a, 0x00007009, 0x06c13026,
- 0x00009900, 0xffffffff, 0x00007f86, 0x02c0d81b, 0x00009b00, 0x0007280b,
- 0x0000e502, 0x06c0580b, 0x00000900, 0x02800c0a, 0x00001089, 0x00001a11,
- 0x00007011, 0x85403c0a, 0x0000f88a, 0x98c00000, 0x00000c8f, 0x82802c0a,
- 0x00009880, 0x8ad0da0a, 0x00001000, 0x80067a2b, 0x00009582, 0x00001a16,
- 0x0000f033, 0x8afff801, 0x00009980, 0x06604c09, 0x00001900, 0x9ffffa2b,
- 0x0000f88a, 0x00c00003, 0x00008080, 0x0241c038, 0x00009900, 0x80000618,
- 0x00009583, 0x6c01502b, 0x0000f902, 0x06c00000, 0x00000000, 0x02400000,
- 0x00001989, 0x00001a25, 0x00007010, 0xffffffff, 0x00007f86, 0xc010db09,
- 0x00009502, 0x02400800, 0x00009989, 0xffffffff, 0x00007f86, 0x93800409,
- 0x0000f88a, 0x68c00000, 0x00000d81, 0x0b004a09, 0x0000e106, 0x0f00da0b,
- 0x0000b106, 0x80104a0b, 0x0000e502, 0x02400000, 0x00000981, 0x02400800,
- 0x00009989, 0xffffffff, 0x00007f86, 0x93800409, 0x0000f88a, 0x00c00001,
- 0x00000080, 0xffffffff, 0x00007f86, 0x0010c019, 0x00001502, 0x8007fa18,
- 0x00009582, 0xffffffff, 0x00007f86, 0x00001a33, 0x0000f008, 0x00001a4e,
- 0x0000f010, 0x02403e37, 0x00001281, 0x02400c09, 0x00001181, 0x00000c09,
- 0x00001583, 0x01400000, 0x000061b0, 0x8190d21a, 0x00004930, 0x0170c618,
- 0x00006131, 0xc190da1b, 0x0000c930, 0x00001a49, 0x0000f018, 0x82215805,
- 0x00006086, 0x08001a08, 0x00003106, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0xc2300600, 0x0000e101, 0x0420c005, 0x00006087, 0x02a43000,
- 0x0000f900, 0x002a69d0, 0x00008980, 0x02d47000, 0x0000f900, 0x000b3c08,
- 0x00008980, 0x82381400, 0x00008024, 0x1a491e83, 0x00007500, 0x0340df37,
- 0x0000009d, 0x03002805, 0x00009900, 0x1a7f18ec, 0x00007500, 0x8ad1c238,
- 0x00006100, 0x0f415718, 0x00006002, 0xcad84b09, 0x00009900, 0x00001a7f,
- 0x0000f000, 0x8ac00a2b, 0x00009080, 0x8006822b, 0x00001582, 0x0a800000,
- 0x0000e191, 0x86c02a2b, 0x00004790, 0x8ac0fa2b, 0x00006290, 0x02a0dc1b,
- 0x00000911, 0x00001a7f, 0x00007008, 0x0000040a, 0x00006583, 0x06d15fe4,
- 0x00008800, 0x0240daec, 0x00001100, 0x00001a7c, 0x00007019, 0x00001c2a,
- 0x00001583, 0x06c11823, 0x00001908, 0x00001a6f, 0x00007009, 0x00001c2a,
- 0x00001583, 0x00001a65, 0x0000701b, 0x00000c2a, 0x00009583, 0x06c12825,
- 0x00001908, 0x00001a6f, 0x00007009, 0x0000142a, 0x00009583, 0x06c12024,
- 0x00001908, 0x00001a6f, 0x00007009, 0x00001a6e, 0x0000f000, 0x00002c2a,
- 0x00001583, 0x06c10821, 0x00001908, 0x00001a6f, 0x00007009, 0x00002c2a,
- 0x00001583, 0x06c11022, 0x00009928, 0x00001a6f, 0x0000f029, 0x0000342a,
- 0x00001583, 0x06c0e01c, 0x00001908, 0x00001a6f, 0x00007009, 0x06c13026,
- 0x00009900, 0x0021540a, 0x00001503, 0x06c0481b, 0x00009208, 0xffffffff,
- 0x00007f86, 0x02c0d81b, 0x00009b00, 0x0007280b, 0x0000e502, 0x06c0580b,
- 0x00000900, 0x8a802c2a, 0x00001890, 0x8ad0da2a, 0x00001010, 0x00001a7c,
- 0x00007008, 0x9fc67a2b, 0x0000f89a, 0x00c00001, 0x00008000, 0x867ffa2b,
- 0x0000f892, 0xf8c00002, 0x00000d83, 0x0a800c2a, 0x00009081, 0x00403c2a,
- 0x00004589, 0x7fe1500a, 0x0000fd1e, 0x0680081a, 0x00009080, 0x80114a1a,
- 0x00009502, 0xb918eb1d, 0x00009920, 0x000019c2, 0x00007029, 0xffffffff,
- 0x00007f86, 0x00000000, 0x00007083, 0x0200000b, 0x00000298, 0x09400000,
- 0x000082d0, 0x08c00000, 0x000082c8, 0x08400000, 0x000081f0, 0x8240fb0b,
- 0x0000e280, 0x82802b0b, 0x00000780, 0x5260040a, 0x0000c489, 0x2a200c0a,
- 0x0000068d, 0x52e0140a, 0x0000c489, 0x32201c0a, 0x0000868d, 0x5360240a,
- 0x0000c489, 0x3a202c0a, 0x0000068d, 0xa800340a, 0x0000f892, 0xf8c00000,
- 0x00000d84, 0x00001aa0, 0x0000f200, 0x09904fe4, 0x00009800, 0x00001aa0,
- 0x0000f200, 0x09504fe4, 0x00009800, 0x00001aa0, 0x0000f200, 0x09104fe4,
- 0x00001800, 0x00001aa0, 0x0000f200, 0x08d04fe4, 0x00009800, 0x00001aa0,
- 0x0000f200, 0x08904fe4, 0x00001800, 0x00001aa0, 0x0000f200, 0x08504fe4,
- 0x00001800, 0x07104fe4, 0x00009800, 0x0000000b, 0x00006d87, 0x82e85d0b,
- 0x00009900, 0x0000191d, 0x0000f400, 0x0420400b, 0x0000e887, 0x0600580b,
- 0x00009900, 0x61c02405, 0x0000c389, 0x00202405, 0x00000098, 0x5d801405,
- 0x0000c489, 0xf0201405, 0x0000069d, 0x00800c05, 0x0000c788, 0x23603405,
- 0x00002389, 0x10603405, 0x000045a8, 0x23203c05, 0x0000238a, 0x1ab12325,
- 0x00007404, 0x10009800, 0x0000f900, 0x00001000, 0x00000980, 0x0fb83707,
- 0x0000033c, 0x0000043a, 0x00009583, 0x853f1fe3, 0x00009908, 0x6c00a014,
- 0x0000a088, 0x00001aba, 0x00007010, 0xffffffff, 0x00007f97, 0x05003c14,
- 0x00001281, 0x05001414, 0x00001181, 0x00000c14, 0x00001583, 0x00001abf,
- 0x0000f01b, 0x103ae000, 0x0000f900, 0x002a69cc, 0x00000980, 0x1abf1f24,
- 0x00007500, 0x0ff83f06, 0x00000334, 0x0ee1d43a, 0x00001900, 0x30406a41,
- 0x0000f902, 0x03000000, 0x00000000, 0x30408641, 0x00007902, 0x03c00000,
- 0x00000000, 0x02000000, 0x000080e4, 0x30408841, 0x0000f902, 0x03800000,
- 0x00008000, 0x00000c0c, 0x0000e583, 0x85371ee3, 0x00008900, 0x30405c41,
- 0x0000f902, 0x02800000, 0x00000000, 0x04188009, 0x0000618f, 0x00002008,
- 0x0000b58f, 0x0480680d, 0x0000e100, 0x86206008, 0x0000608f, 0xe4f84e14,
- 0x00002880, 0xe4f84614, 0x00002800, 0x02787f10, 0x00000020, 0x3000d041,
- 0x0000f902, 0x06400000, 0x00008000, 0x04f8570e, 0x00008034, 0x03f85f11,
- 0x00000038, 0x1ad81f60, 0x0000f500, 0x02b86708, 0x00008104, 0x03004809,
- 0x00009900, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x82c054ec,
- 0x00007902, 0x02000000, 0x00000604, 0x17c02004, 0x0000e100, 0x00202809,
- 0x00006086, 0x82282809, 0x00006886, 0x04182809, 0x0000e987, 0x02384f0a,
- 0x00000538, 0x17404008, 0x00006100, 0x0000200a, 0x00006586, 0x0428280a,
- 0x00006887, 0x8620280a, 0x0000e887, 0x1cee1f46, 0x00007500, 0x17190000,
- 0x00007900, 0x002a69cc, 0x00000980, 0x16c0500a, 0x00001900, 0x053f1fe3,
- 0x00006101, 0x0238001f, 0x0000c980, 0x1af11a85, 0x0000f404, 0xc23f1fe3,
- 0x00001900, 0x02c04008, 0x00001900, 0x0238081f, 0x00001980, 0x1af51a85,
- 0x00007404, 0xc220a414, 0x00001900, 0x02c04008, 0x00001900, 0x1ad82037,
- 0x00007204, 0xf8e0a414, 0x00009901, 0x00001ad8, 0x00007000, 0x1afb2325,
- 0x0000f404, 0x0ff83f06, 0x00000338, 0x10009a00, 0x00009980, 0x0000043a,
- 0x00009583, 0x853f1fe3, 0x00009908, 0x6c00a014, 0x0000a088, 0x00001b04,
- 0x0000f010, 0xffffffff, 0x00007f97, 0x05003c14, 0x00001281, 0x05001414,
- 0x00001181, 0x00000c14, 0x00001583, 0x00001b09, 0x0000f01b, 0x103c0000,
- 0x00007900, 0x002a69cc, 0x00000980, 0x1b091f24, 0x00007500, 0x0ff83f06,
- 0x00000334, 0x0ee1d43a, 0x00001900, 0x1ad81fda, 0x00007500, 0x30005841,
- 0x0000f902, 0x02800000, 0x00000000, 0x30384a41, 0x0000a000, 0x00001ad8,
- 0x00007000, 0x1b112325, 0x0000f404, 0x0ff83f06, 0x00000338, 0x10009900,
- 0x00009980, 0x0000043a, 0x00009583, 0x853f1fe3, 0x00009908, 0x6c00a014,
- 0x0000a088, 0x00001b1a, 0x0000f010, 0xffffffff, 0x00007f97, 0x05003c14,
- 0x00001281, 0x05001414, 0x00001181, 0x00000c14, 0x00001583, 0x00001b1f,
- 0x0000701b, 0x101ad000, 0x00007900, 0x002a69ce, 0x00008980, 0x1b1f1f24,
- 0x0000f500, 0x0ff83f06, 0x00000334, 0x0ee1d43a, 0x00001900, 0x30384841,
- 0x0000a080, 0x0238001f, 0x00009980, 0xffffffff, 0x00007f97, 0x05204c09,
- 0x00006101, 0x05808409, 0x00004081, 0x1b271a85, 0x0000f404, 0xc220b416,
- 0x00001900, 0x02c04008, 0x00001900, 0x0238081f, 0x00001980, 0x1b2b1a85,
- 0x0000f404, 0xc220b416, 0x00001900, 0x02c04008, 0x00001900, 0x1ad82037,
- 0x00007204, 0xf8c08414, 0x00001081, 0x00001ad8, 0x00007000, 0x1b322325,
- 0x00007404, 0x10009800, 0x0000f900, 0x00001000, 0x00000980, 0x0fb83707,
- 0x0000033c, 0x0000043a, 0x00009583, 0x853f1fe3, 0x00009908, 0x6c00a014,
- 0x0000a088, 0x00001b3b, 0x0000f010, 0xffffffff, 0x00007f97, 0x05003c14,
- 0x00001281, 0x05001414, 0x00001181, 0x00000c14, 0x00001583, 0x00001b40,
- 0x0000701b, 0x103c1000, 0x0000f900, 0x002a69ce, 0x00008980, 0x1b401f24,
- 0x0000f500, 0x0ff83f06, 0x00000334, 0x0ee1d43a, 0x00001900, 0x30005041,
- 0x00007902, 0x06000000, 0x00000000, 0x30407241, 0x0000f902, 0x03400000,
- 0x00008000, 0x3000ba41, 0x0000f902, 0x05800000, 0x00008000, 0x3000ac41,
- 0x00007902, 0x04c00000, 0x00008000, 0xc0000718, 0x00009583, 0x85371ee3,
- 0x00009910, 0x7ae06c14, 0x0000a810, 0x0507ed0a, 0x00009281, 0x00000c14,
- 0x00001583, 0x30009641, 0x00007902, 0x04400000, 0x00000000, 0x30408041,
- 0x00007902, 0x03c00000, 0x00000000, 0x00001b69, 0x00007010, 0x02000000,
- 0x00009980, 0x1b561f0b, 0x0000f500, 0x0030b808, 0x0000e886, 0x02404008,
- 0x00009900, 0x85000c17, 0x0000e280, 0x82403e17, 0x00000280, 0x83002214,
- 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080, 0x85000fe2,
- 0x00004880, 0x79605c14, 0x0000a080, 0xffffffff, 0x00007fa7, 0x82ff420b,
- 0x00007900, 0x0000003e, 0x00008280, 0x8310620b, 0x00009300, 0x82403f17,
- 0x0000e280, 0x83104a0c, 0x00008300, 0x8300fa0c, 0x00007900, 0x0000003e,
- 0x00008280, 0x82402a09, 0x00009880, 0x83104a0c, 0x00001300, 0x8310420c,
- 0x00009300, 0x79606414, 0x0000a880, 0x0500150a, 0x00009181, 0x00000c14,
- 0x00001583, 0x82005c16, 0x000060b0, 0x85000d17, 0x0000c2b0, 0x82c01a14,
- 0x000018b0, 0x00001b76, 0x00007018, 0x85000fe2, 0x00001880, 0x79604c14,
- 0x00002080, 0xffffffff, 0x00007fa7, 0x827fba09, 0x00009280, 0x82d05a09,
- 0x00001300, 0x82d0420b, 0x00009300, 0x79605c14, 0x00002880, 0x0507ee0a,
- 0x00009281, 0x00000c14, 0x00001583, 0x02000000, 0x00001988, 0x0220ac15,
- 0x00001909, 0x00001b90, 0x00007010, 0x1b7d1f0b, 0x0000f300, 0x02404008,
- 0x00009900, 0x85000e16, 0x0000e280, 0x82403c15, 0x00000280, 0x83002214,
- 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080, 0x85000fe2,
- 0x00004880, 0x79405c14, 0x0000a082, 0xffffffff, 0x00007fa7, 0x82ff420b,
- 0x00007900, 0x0000003e, 0x00008280, 0x8310620b, 0x00009300, 0x82403d15,
- 0x0000e280, 0x83104a0c, 0x00008300, 0x8300fa0c, 0x00007900, 0x0000003e,
- 0x00008280, 0x82402a09, 0x00009880, 0x83104a0c, 0x00001300, 0x8310420c,
- 0x00009300, 0x79486414, 0x00002882, 0x0500160a, 0x00009181, 0x00000c14,
- 0x00001583, 0x82005e15, 0x0000e0b0, 0x85000f16, 0x0000c2b0, 0x82c01a14,
- 0x000018b0, 0x00001b9d, 0x00007018, 0x85000fe2, 0x00001880, 0x79404c14,
- 0x00002082, 0xffffffff, 0x00007fa7, 0x827fba09, 0x00009280, 0x82d05a09,
- 0x00001300, 0x82d0420b, 0x00009300, 0x79485c14, 0x0000a882, 0x0507ef0a,
- 0x00001281, 0x00000c14, 0x00001583, 0x02000000, 0x00001988, 0x02309e13,
- 0x00001909, 0x00001bb7, 0x00007010, 0x1ba41f0b, 0x00007300, 0x02404008,
- 0x00009900, 0x85000c13, 0x00006280, 0x82403e13, 0x00008280, 0x83002214,
- 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080, 0x85000fe2,
- 0x00004880, 0x79605c14, 0x00002000, 0xffffffff, 0x00007fa7, 0x82ff420b,
- 0x00007900, 0x0000003e, 0x00008280, 0x8310620b, 0x00009300, 0x82403f13,
- 0x00006280, 0x83104a0c, 0x00008300, 0x8300fa0c, 0x00007900, 0x0000003e,
- 0x00008280, 0x82402a09, 0x00009880, 0x83104a0c, 0x00001300, 0x8310420c,
- 0x00009300, 0x79606414, 0x00002800, 0x0500170a, 0x00001181, 0x00000c14,
- 0x00001583, 0x82405c12, 0x000060b0, 0x85000d13, 0x000042b0, 0x82001a14,
- 0x000018b0, 0x00001bc4, 0x00007018, 0x85000fe2, 0x00001880, 0x79605c14,
- 0x00002000, 0xffffffff, 0x00007fa7, 0x82ffba0b, 0x00009280, 0x8210420b,
- 0x00009300, 0x82104a08, 0x00001300, 0x79604414, 0x0000a800, 0x0507ec18,
- 0x00001281, 0x00000c14, 0x00001583, 0x02000000, 0x00001988, 0x02208c11,
- 0x00001909, 0x00001bde, 0x00007010, 0x1bcb1f0b, 0x00007300, 0x02404008,
- 0x00009900, 0x85000e12, 0x00006280, 0x82c03c11, 0x00000280, 0x82402214,
- 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080, 0x85000fe2,
- 0x00004880, 0x79406414, 0x0000a002, 0xffffffff, 0x00007fa7, 0x833f420c,
- 0x00007900, 0x0000003e, 0x00008280, 0x82504a0c, 0x00001300, 0x82c03d11,
- 0x0000e280, 0x82505a09, 0x00000300, 0x8240fa09, 0x00007900, 0x0000003e,
- 0x00008280, 0x82c02a0b, 0x00009880, 0x82505a09, 0x00009300, 0x82504209,
- 0x00009300, 0x79484c14, 0x0000a802, 0x05001418, 0x00001181, 0x00000c14,
- 0x00001583, 0x82405e11, 0x0000e0b0, 0x85000f12, 0x000042b0, 0x82001a14,
- 0x000018b0, 0x00001beb, 0x0000f018, 0x85000fe2, 0x00001880, 0x79405c14,
- 0x00002002, 0xffffffff, 0x00007fa7, 0x82ffba0b, 0x00009280, 0x8210420b,
- 0x00009300, 0x82104a08, 0x00001300, 0x79484414, 0x00002802, 0x0507ed18,
- 0x00009281, 0x00000c14, 0x00001583, 0x02000000, 0x00001988, 0x02308610,
- 0x00001909, 0x00001c05, 0x0000f010, 0x1bf21f0b, 0x00007300, 0x02404008,
- 0x00009900, 0x85000c10, 0x00006280, 0x82c03e10, 0x00000280, 0x82402214,
- 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080, 0x85000fe2,
- 0x00004880, 0x79606614, 0x0000a080, 0xffffffff, 0x00007fa7, 0x833f420c,
- 0x00007900, 0x0000003e, 0x00008280, 0x82504a0c, 0x00001300, 0x82c03f10,
- 0x0000e280, 0x82505a09, 0x00000300, 0x8240fa09, 0x00007900, 0x0000003e,
- 0x00008280, 0x82c02a0b, 0x00009880, 0x82505a09, 0x00009300, 0x82504209,
- 0x00009300, 0x79604e14, 0x00002880, 0x05001518, 0x00009181, 0x00000c14,
- 0x00001583, 0x82405c0f, 0x000060b0, 0x85000d10, 0x000042b0, 0x82001a14,
- 0x000018b0, 0x00001c12, 0x00007018, 0x85000fe2, 0x00001880, 0x79605e14,
- 0x00002080, 0xffffffff, 0x00007fa7, 0x82ffba0b, 0x00009280, 0x8210420b,
- 0x00009300, 0x82104a08, 0x00001300, 0x79604614, 0x0000a880, 0x0507ee18,
- 0x00009281, 0x00000c14, 0x00001583, 0x02000000, 0x00001988, 0x0220740e,
- 0x00001909, 0x00001c2c, 0x00007010, 0x1c191f0b, 0x0000f300, 0x02404008,
- 0x00009900, 0x85000e0f, 0x00006280, 0x82c03c0e, 0x00008280, 0x82402214,
- 0x00006080, 0x82003c08, 0x00004280, 0x82004208, 0x00006080, 0x85000fe2,
- 0x00004880, 0x79406614, 0x0000a082, 0xffffffff, 0x00007fa7, 0x833f420c,
- 0x00007900, 0x0000003e, 0x00008280, 0x82504a0c, 0x00001300, 0x82c03d0e,
- 0x00006280, 0x82505a09, 0x00000300, 0x8240fa09, 0x00007900, 0x0000003e,
- 0x00008280, 0x82c02a0b, 0x00009880, 0x82505a09, 0x00009300, 0x82504209,
- 0x00009300, 0x79484e14, 0x0000a882, 0x05001618, 0x00009181, 0x00000c14,
- 0x00001583, 0x82c05e0e, 0x0000e0b0, 0x85000f0f, 0x000042b0, 0x82001a14,
- 0x000018b0, 0x00001c39, 0x00007018, 0x85000fe2, 0x00001880, 0x79404e14,
- 0x0000a082, 0xffffffff, 0x00007fa7, 0x827fba09, 0x00009280, 0x82504209,
- 0x00009300, 0x82505a09, 0x00009300, 0x79484e14, 0x0000a882, 0x853f17e2,
- 0x00001900, 0x7f804e14, 0x00007902, 0x02000000, 0x00008000, 0x1080050a,
- 0x00007893, 0x00c00001, 0x00008000, 0x8b60060a, 0x0000c491, 0xfc20070a,
- 0x00008790, 0x0ba00418, 0x0000c590, 0x08800618, 0x0000878e, 0x80001e17,
- 0x00009583, 0xc278bf17, 0x00009909, 0x00001c3e, 0x0000f009, 0x80001e17,
- 0x00009583, 0x00001c4f, 0x0000f01b, 0x80000e17, 0x00001583, 0x4278bf17,
- 0x00001909, 0x00001c3e, 0x0000f009, 0x80000e17, 0x00001583, 0x8278bf17,
- 0x0000e119, 0x0278bf17, 0x00004931, 0x00001c3e, 0x00007031, 0x00001c3e,
- 0x0000f000, 0x80002e17, 0x00009583, 0x4238bf17, 0x00009909, 0x00001c3e,
- 0x0000f009, 0x80002e17, 0x00009583, 0x0238bf17, 0x00009929, 0x00001c3e,
- 0x00007029, 0x80003617, 0x00009583, 0x8238bf17, 0x00009909, 0x00001c3e,
- 0x0000f009, 0x00001c3e, 0x00007400, 0x80003e17, 0x00001583, 0xc238bf17,
- 0x00001909, 0x00001c15, 0x00001583, 0xc268ad15, 0x00009909, 0x00001c7c,
- 0x0000f009, 0x00001c15, 0x00001583, 0x00001c67, 0x0000f01b, 0x00000c15,
- 0x00009583, 0x4268ad15, 0x00001909, 0x00001c7c, 0x0000f009, 0x00000c15,
- 0x00009583, 0x0268ad15, 0x00001931, 0x00001c7c, 0x00007031, 0x00001c77,
- 0x00007000, 0x00002c15, 0x00001583, 0x4228ad15, 0x00009909, 0x00001c7c,
- 0x0000f009, 0x00002c15, 0x00001583, 0x0228ad15, 0x00009929, 0x00001c7c,
- 0x00007029, 0x00003415, 0x00001583, 0x8228ad15, 0x00009909, 0x00001c7c,
- 0x0000f009, 0x00003c15, 0x00009583, 0xc228ad15, 0x00001909, 0x00001c7c,
- 0x0000f009, 0x8fc0070a, 0x0000c491, 0x3a200418, 0x00000791, 0x32000618,
- 0x0000f88b, 0xe0c00000, 0x00008e85, 0x8268ad15, 0x00009901, 0x8fc0070a,
- 0x0000c491, 0x3a200418, 0x00000791, 0x32000618, 0x0000f88b, 0xe0c00000,
- 0x00008e85, 0xc000070a, 0x00009583, 0x00001c9b, 0x0000700b, 0x80001e13,
- 0x00001583, 0xc2789f13, 0x00009909, 0x00001c9b, 0x0000f009, 0x80001e13,
- 0x00001583, 0x00001c8a, 0x0000f01b, 0x80000e13, 0x00009583, 0x42789f13,
- 0x00001909, 0x00001c9b, 0x0000f009, 0x80000e13, 0x00009583, 0x02789f13,
- 0x00001931, 0x00001c9b, 0x00007031, 0x00001c98, 0x0000f000, 0x80002e13,
- 0x00001583, 0x42389f13, 0x00009909, 0x00001c9b, 0x0000f009, 0x80002e13,
- 0x00001583, 0x02389f13, 0x00009929, 0x00001c9b, 0x00007029, 0x80003613,
- 0x00001583, 0x82389f13, 0x00009909, 0x00001c9b, 0x0000f009, 0x80003e13,
- 0x00009583, 0xc2389f13, 0x00001909, 0x00001c9b, 0x0000f009, 0x00e00418,
- 0x0000c590, 0x03200618, 0x0000028b, 0x82789f13, 0x00009901, 0x00800418,
- 0x00004591, 0x82e00618, 0x00008289, 0x00000418, 0x00009583, 0x00001cba,
- 0x0000700b, 0x00001c11, 0x00009583, 0xc2688d11, 0x00009909, 0x00001cba,
- 0x0000f009, 0x00001c11, 0x00009583, 0x00001ca9, 0x0000701b, 0x00000c11,
- 0x00001583, 0x42688d11, 0x00001909, 0x00001cba, 0x0000f009, 0x00000c11,
- 0x00001583, 0x02688d11, 0x00001931, 0x00001cba, 0x00007031, 0x00001cb7,
- 0x00007000, 0x00002c11, 0x00009583, 0x42288d11, 0x00009909, 0x00001cba,
- 0x0000f009, 0x00002c11, 0x00009583, 0x02288d11, 0x00009929, 0x00001cba,
- 0x00007029, 0x00003411, 0x00009583, 0x82288d11, 0x00009909, 0x00001cba,
- 0x0000f009, 0x00003c11, 0x00001583, 0xc2288d11, 0x00001909, 0x00001cba,
- 0x0000f009, 0x32000618, 0x0000f88b, 0xe0c00000, 0x00008e85, 0x82688d11,
- 0x00009901, 0x32000618, 0x0000f88b, 0xe0c00000, 0x00008e85, 0x80000618,
- 0x00009583, 0x00001cc8, 0x0000700b, 0x00001c0e, 0x00001583, 0xc268750e,
- 0x00009909, 0x00001cc8, 0x0000f009, 0x00001c0e, 0x00001583, 0x00001ccf,
- 0x0000701b, 0x00000c0e, 0x00009583, 0x4268750e, 0x00001909, 0x00001cc8,
- 0x0000f009, 0x00000c0e, 0x00009583, 0x8268750e, 0x0000e119, 0x0268750e,
- 0x00004931, 0x00001cc8, 0x00007031, 0xc0000718, 0x00006583, 0x853f17e2,
- 0x00008900, 0x7fb84e14, 0x0000d000, 0x00384000, 0x00000000, 0x00001ad8,
- 0x0000f400, 0x85371ee3, 0x00009910, 0xe4c86e14, 0x0000a892, 0x00002c0e,
- 0x00001583, 0x4228750e, 0x00009909, 0x00001cc8, 0x0000f009, 0x00002c0e,
- 0x00001583, 0x0228750e, 0x00009929, 0x00001cc8, 0x00007029, 0x0000340e,
- 0x00001583, 0x8228750e, 0x00009909, 0x00001cc8, 0x0000f009, 0x00001cc8,
- 0x00007400, 0x00003c0e, 0x00009583, 0xc228750e, 0x00001909, 0x1ad82f86,
- 0x0000f004, 0x00001ad8, 0x00007000, 0x1cee201d, 0x00007100, 0x00001cee,
- 0x00007000, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x01802004,
- 0x0000e100, 0x08001a08, 0x00006106, 0x0298d000, 0x00007900, 0x002a69cc,
- 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x03000000,
- 0x00006180, 0xc2300600, 0x0000c901, 0x82381400, 0x00008024, 0x1cee1e83,
- 0x0000f500, 0x81c02800, 0x00006180, 0x03403006, 0x00004900, 0x01802805,
- 0x00009900, 0x02400000, 0x0000f900, 0x00020080, 0x00008980, 0x02000060,
- 0x0000e180, 0x557f1009, 0x00006003, 0x02838000, 0x00007900, 0x00004000,
- 0x00000980, 0x03009000, 0x0000f900, 0x00008100, 0x00008980, 0x03400000,
- 0x00007900, 0x00010008, 0x00008980, 0x02c00000, 0x000080fc, 0x03a81402,
- 0x00008038, 0x04382f04, 0x00000104, 0x04b83f06, 0x0000010c, 0x82181302,
- 0x00009900, 0x009816ec, 0x00005f80, 0x00007000, 0x00008084, 0x00001cee,
- 0x00007000, 0x1d032351, 0x0000f404, 0x06f82705, 0x00008018, 0x07403006,
- 0x00009900, 0x02c00000, 0x0000e180, 0x82901202, 0x00004900, 0xc2981302,
- 0x0000e100, 0x0000180b, 0x00006106, 0x02001000, 0x0000f900, 0x00004000,
- 0x00000980, 0x02400000, 0x0000f900, 0x00040010, 0x00008980, 0xc000180b,
- 0x00006806, 0x008816ec, 0x0000df80, 0x00006000, 0x00000084, 0x09400000,
- 0x00007900, 0x000200c0, 0x00000980, 0x0a009000, 0x0000f900, 0x0000c000,
- 0x00008980, 0x09000080, 0x0000e180, 0x0a800000, 0x0000c980, 0x09840000,
- 0x0000f900, 0x00004000, 0x00000980, 0x0a400000, 0x00007900, 0x00010008,
- 0x00008980, 0x09c00100, 0x0000e180, 0x55782025, 0x00006003, 0x00000001,
- 0x00007480, 0x0ac00000, 0x00006180, 0x8a302604, 0x0000c901, 0x8aa02104,
- 0x00000210, 0x03000000, 0x00006180, 0x0b002004, 0x00004900, 0x0b783705,
- 0x00000238, 0x0bf84707, 0x00008300, 0x0c785709, 0x00000308, 0x0cf8270b,
- 0x00000104, 0x04383705, 0x0000803c, 0x1d282108, 0x00007404, 0x03b84707,
- 0x00000034, 0x02e05709, 0x00008030, 0x01800000, 0x00009981, 0x00001c06,
- 0x00009583, 0x0101782f, 0x00009908, 0x00001d40, 0x00007009, 0x00001c06,
- 0x00009583, 0x00001d35, 0x0000f01b, 0x00000c06, 0x00001583, 0x0101682d,
- 0x00009908, 0x00001d40, 0x00007009, 0x00001406, 0x00001583, 0x0101702e,
- 0x00009908, 0x00001d40, 0x00007009, 0x00001d3e, 0x00007000, 0x00002c06,
- 0x00009583, 0x01018831, 0x00009908, 0x00001d40, 0x00007009, 0x00002c06,
- 0x00009583, 0x01018030, 0x00001928, 0x00001d40, 0x0000f029, 0x00003406,
- 0x00009583, 0x01019032, 0x00009908, 0x00001d40, 0x00007009, 0x0101602c,
- 0x00001900, 0xffffffff, 0x00007f86, 0x01002004, 0x00009b00, 0x00072804,
- 0x0000e502, 0x01402004, 0x00000900, 0x01800c06, 0x00001089, 0x00001d47,
- 0x0000f011, 0x53003c06, 0x0000788b, 0x48c00000, 0x00000e89, 0x81802c06,
- 0x00009880, 0x81102a06, 0x00009000, 0x80067a04, 0x00001582, 0x81502a06,
- 0x00001030, 0x00001d4d, 0x00007031, 0x817ff801, 0x00009980, 0x6c003005,
- 0x00007902, 0x01400000, 0x00000000, 0x010000e0, 0x00001980, 0x1d541d0e,
- 0x00007501, 0xffffffff, 0x00007f86, 0x81102a05, 0x0000e100, 0x0f403704,
- 0x00006002, 0x00804eec, 0x0000df80, 0x00007001, 0x00000084, 0x03800000,
- 0x0000e180, 0x0b002004, 0x00004900, 0x0b783705, 0x00000238, 0x0bf84707,
- 0x00008300, 0x0c785709, 0x00000308, 0x0cf8270b, 0x00000110, 0x04f83705,
- 0x00008108, 0x1d6021c6, 0x0000f500, 0x04784707, 0x00008100, 0x03b84c0a,
- 0x0000803c, 0x01400000, 0x00009981, 0x00001c05, 0x00009583, 0x0101782f,
- 0x00009908, 0x00001d78, 0x0000f009, 0x00001c05, 0x00009583, 0x00001d6d,
- 0x0000701b, 0x00000c05, 0x00001583, 0x0101682d, 0x00009908, 0x00001d78,
- 0x0000f009, 0x00001405, 0x00001583, 0x0101702e, 0x00009908, 0x00001d78,
- 0x0000f009, 0x00001d76, 0x00007000, 0x00002c05, 0x00009583, 0x01018831,
- 0x00009908, 0x00001d78, 0x0000f009, 0x00002c05, 0x00009583, 0x01018030,
- 0x00001928, 0x00001d78, 0x00007029, 0x00003405, 0x00009583, 0x01019032,
- 0x00009908, 0x00001d78, 0x0000f009, 0x0101602c, 0x00001900, 0xffffffff,
- 0x00007f86, 0x01002004, 0x00009b00, 0x00072804, 0x0000e502, 0x01c02004,
- 0x00008900, 0x01400c05, 0x00001089, 0x00001d7f, 0x00007011, 0x61003c05,
- 0x0000f88b, 0x08c00000, 0x00000e8b, 0x81402c05, 0x00009880, 0x81103a05,
- 0x00001000, 0x80067a04, 0x00001582, 0x81d03a05, 0x00001030, 0x00001d85,
- 0x0000f031, 0x81fff801, 0x00001980, 0x6c003007, 0x0000f902, 0x01400000,
- 0x00000000, 0x01000180, 0x00009980, 0x1d8c1d0e, 0x00007501, 0xffffffff,
- 0x00007f86, 0x81102a05, 0x0000e100, 0x0f403704, 0x00006002, 0x00804eec,
- 0x0000df80, 0x00007001, 0x00000084, 0x07000000, 0x0000e180, 0x0b002004,
- 0x00004900, 0x0b783705, 0x00000238, 0x0bf84707, 0x00008300, 0x0c785709,
- 0x00000308, 0x0cf8270b, 0x00008218, 0x09783705, 0x00008210, 0x1d982063,
- 0x0000f404, 0x08f84707, 0x00008208, 0x07384c0a, 0x00008204, 0x1d9a191d,
- 0x00007204, 0x0607f800, 0x00001980, 0x1d9c191d, 0x00007204, 0x0607f820,
- 0x00009980, 0x01800000, 0x00009981, 0x00001c06, 0x00009583, 0x0101782f,
- 0x00009908, 0x00001db4, 0x0000f009, 0x00001c06, 0x00009583, 0x00001da9,
- 0x0000f01b, 0x00000c06, 0x00001583, 0x0101682d, 0x00009908, 0x00001db4,
- 0x0000f009, 0x00001406, 0x00001583, 0x0101702e, 0x00009908, 0x00001db4,
- 0x0000f009, 0x00001db2, 0x0000f000, 0x00002c06, 0x00009583, 0x01018831,
- 0x00009908, 0x00001db4, 0x0000f009, 0x00002c06, 0x00009583, 0x01018030,
- 0x00001928, 0x00001db4, 0x00007029, 0x00003406, 0x00009583, 0x01019032,
- 0x00009908, 0x00001db4, 0x0000f009, 0x0101602c, 0x00001900, 0xffffffff,
- 0x00007f86, 0x01002004, 0x00009b00, 0x00072804, 0x0000e502, 0x01402004,
- 0x00000900, 0x01800c06, 0x00001089, 0x00001dbb, 0x0000f011, 0x70003c06,
- 0x0000f88b, 0xe8c00000, 0x00000e8c, 0x81802c06, 0x00009880, 0x81102a06,
- 0x00009000, 0x80067a04, 0x00001582, 0x81502a06, 0x00001030, 0x00001dc1,
- 0x0000f031, 0x817ff801, 0x00009980, 0x6c003005, 0x00007902, 0x01000000,
- 0x00008000, 0x01400100, 0x00009980, 0xffffffff, 0x00007f97, 0x00002005,
- 0x00006986, 0x1dc91d0e, 0x00007500, 0x0f403705, 0x00006802, 0x01002805,
- 0x00001900, 0x00804eec, 0x0000df80, 0x00007001, 0x00000084, 0x068728e5,
- 0x00006100, 0x0fc0041c, 0x0000e004, 0xc38004e5, 0x000001ac, 0x00001c1c,
- 0x00001583, 0x00001c1c, 0x00001583, 0x00000c1c, 0x00009583, 0x00001de8,
- 0x00007008, 0x00001dd6, 0x0000f038, 0x00001ddd, 0x00007008, 0x9a80db0e,
- 0x00007893, 0xc8c00000, 0x00008e8f, 0x0000341c, 0x00001583, 0x00003c1c,
- 0x00009583, 0xffffffff, 0x00007f86, 0x00001de1, 0x00007008, 0x00001de8,
- 0x00007008, 0x9a80db0e, 0x00007893, 0xc8c00000, 0x00008e8f, 0x00001df5,
- 0x00007400, 0x08000c05, 0x00006080, 0x08001a1a, 0x00003106, 0xc1401e05,
- 0x0000812e, 0x08000c05, 0x00006080, 0x08001a1a, 0x00003106, 0xc1681e05,
- 0x0000012c, 0x0d001c05, 0x0000e806, 0x83a02c05, 0x00009900, 0x9a80db05,
- 0x0000f893, 0xc8c00000, 0x00008e8f, 0x86d81b03, 0x00006100, 0x08000c0e,
- 0x0000e080, 0xc1683e0e, 0x0000012c, 0x03830400, 0x00001281, 0x0001040e,
- 0x00009583, 0x08003a1a, 0x0000e90e, 0x00001df3, 0x0000f009, 0x0002040e,
- 0x00009583, 0x08001a1a, 0x0000e10e, 0x08002c05, 0x00003088, 0xc1602c05,
- 0x00001908, 0x0d003c05, 0x00006806, 0x83a02c05, 0x00009900, 0x0d001c05,
- 0x0000e806, 0xc6a02c05, 0x00001900, 0x9a80db05, 0x0000f893, 0x00c00001,
- 0x00000080, 0xffffffff, 0x00007f86, 0x7cc132ec, 0x00007902, 0x09400000,
- 0x00008000, 0x7cc124ec, 0x0000f902, 0x08800000, 0x00000000, 0x7cc10eec,
- 0x00007902, 0x08000000, 0x00008000, 0xffffffff, 0x00007f86, 0x85400d1b,
- 0x00007897, 0x00c00001, 0x00008000, 0x86000f1b, 0x00007897, 0x00c00001,
- 0x00008000, 0x86c0151b, 0x0000f897, 0x00c00001, 0x00008000, 0x8780171b,
- 0x00007897, 0x00c00001, 0x00008000, 0x8840251b, 0x0000f897, 0x00c00001,
- 0x00008000, 0x8900271b, 0x00007897, 0x00c00001, 0x00008000, 0x89c0451b,
- 0x0000f897, 0x00c00001, 0x00008000, 0x8a80471b, 0x0000f897, 0x00c00001,
- 0x00008000, 0xc5a0851b, 0x00004497, 0x6220871b, 0x00000794, 0x0441051b,
- 0x00004596, 0x0281071b, 0x0000828b, 0x00001e03, 0x00007400, 0x80172a26,
- 0x00009502, 0x89800a26, 0x00001090, 0x00001e05, 0x00007400, 0x80172a22,
- 0x00001502, 0x88800a22, 0x00001090, 0x00001e07, 0x0000f400, 0xc0172b26,
- 0x00009502, 0xc9800b26, 0x00001090, 0x00001e09, 0x00007400, 0xc0172b22,
- 0x00001502, 0xc8800b22, 0x00001090, 0x00001e0b, 0x0000f400, 0x80172a25,
- 0x00009502, 0x89400a25, 0x00001090, 0x00001e0d, 0x0000f400, 0x80172a21,
- 0x00001502, 0x88400a21, 0x00001090, 0x00001e0f, 0x00007400, 0xc0172b25,
- 0x00009502, 0xc9400b25, 0x00001090, 0x00001e11, 0x00007400, 0xc0172b21,
- 0x00001502, 0xc8400b21, 0x00001090, 0x80172a24, 0x00001502, 0xc140871b,
- 0x00006283, 0x89000a24, 0x00008090, 0x00001e33, 0x0000700b, 0x80172a20,
- 0x00009502, 0x88000a20, 0x00001090, 0x4701051b, 0x00001283, 0x00001e37,
- 0x0000f00b, 0xc0172b24, 0x00001502, 0xc9000b24, 0x00001090, 0xc141071b,
- 0x00009283, 0x00001e3b, 0x0000f00b, 0xc0172b20, 0x00009502, 0xc8000b20,
- 0x00001090, 0xc0172b1a, 0x00009502, 0x7cf932ec, 0x0000d000, 0x00392800,
- 0x00000000, 0x7cf924ec, 0x00005000, 0x00391000, 0x00008000, 0x00000000,
- 0x00007288, 0x7cf90eec, 0x0000d000, 0x00390000, 0x00000000, 0xc960251b,
- 0x00004497, 0x9620271b, 0x00008794, 0xcd00131a, 0x0000c389, 0x0020131a,
- 0x00000098, 0x02a0031a, 0x0000c791, 0x01a0231a, 0x0000818f, 0x9900231a,
- 0x0000f8ab, 0xf8c00000, 0x00008f82, 0x01400000, 0x00006180, 0x0418d00c,
- 0x0000e187, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0010d00c,
- 0x00006186, 0x0020d805, 0x00003086, 0x01800360, 0x00006180, 0x08001a08,
- 0x00006106, 0x02927000, 0x00007900, 0x0028e40e, 0x00000980, 0x02e0f800,
- 0x00007900, 0x003ab282, 0x00008980, 0x82200500, 0x00008022, 0x02409702,
- 0x0000809d, 0x00001e76, 0x0000f400, 0x0360770c, 0x00000018, 0x03002805,
- 0x00009900, 0xc0000b1a, 0x00009582, 0x00000000, 0x0000f093, 0x1e6403ca,
- 0x0000f100, 0xc0003b1a, 0x00009582, 0x00000000, 0x0000f093, 0x00001e66,
- 0x0000f000, 0x1e6300af, 0x00007100, 0x00000000, 0x00007080, 0x1e65358d,
- 0x00007100, 0x1e6624b4, 0x00007100, 0x008006ec, 0x0000df80, 0x00000000,
- 0x00000084, 0x1e6a4915, 0x0000f204, 0x0160dc1b, 0x00009900, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x02890000, 0x0000f900, 0x0025c836,
- 0x00008980, 0x02ded000, 0x0000f900, 0x0016e9b4, 0x00008980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x82200500,
- 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x1e771e83,
- 0x0000f100, 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x780000ec,
+ 0x00007f86, 0x82c05cec, 0x0000f902, 0x02800000, 0x00008604, 0x1b239800,
+ 0x0000f900, 0x00340c98, 0x00008980, 0x1bc02004, 0x00009900, 0xffffffff,
+ 0x00007f86, 0x0200580b, 0x00006100, 0x0020280a, 0x00006086, 0x8228280a,
+ 0x0000e086, 0x0000200b, 0x0000b586, 0x0428280b, 0x00006087, 0x0418280a,
+ 0x00003187, 0x0e3b100d, 0x0000f500, 0x1b404008, 0x00006100, 0x8620280b,
+ 0x0000e087, 0x1af8570b, 0x00008638, 0x0e2b10e0, 0x0000f100, 0x00000e3b,
+ 0x00007200, 0x02400000, 0x00009981, 0x01f82f04, 0x00000018, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x03a2a800, 0x0000f900, 0x00340c98,
+ 0x00008980, 0x03fa9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x02000000,
+ 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500, 0x00008032, 0x0e3b0f22,
+ 0x0000f500, 0x03783f02, 0x00008108, 0x81002800, 0x00006180, 0x02803006,
+ 0x0000c900, 0x02001800, 0x000080e8, 0x0e3f0c87, 0x00007500, 0x8600480a,
+ 0x00006887, 0x0240500a, 0x00009900, 0x04464000, 0x00007900, 0x00001c00,
+ 0x00000980, 0x0cc00000, 0x000000fc, 0x04000800, 0x0000f900, 0x00080000,
+ 0x00000980, 0x04800000, 0x0000f900, 0x00002000, 0x00000980, 0x06000000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x06838000, 0x0000f900, 0x000080c0,
+ 0x00000980, 0x0c009000, 0x0000f900, 0x0000c100, 0x00000980, 0x0c400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x03001000, 0x00007900, 0x00004000,
+ 0x00000980, 0x413f1011, 0x00006002, 0xc0001833, 0x00003006, 0x04c00000,
+ 0x0000e180, 0xc000180f, 0x00006006, 0x05001001, 0x00006180, 0x05400000,
+ 0x0000c980, 0x05800000, 0x000081dc, 0x06400001, 0x00006180, 0x06c00000,
+ 0x00004980, 0x0cb82702, 0x00000310, 0x0d783705, 0x00000318, 0x0dc03807,
+ 0x00006100, 0x03400008, 0x00004980, 0x03801002, 0x00001900, 0x00881eec,
+ 0x00005f80, 0x00d06900, 0x00008584, 0x00000e15, 0x00007200, 0x02400000,
+ 0x00009981, 0x00000e3b, 0x0000f000, 0x02001704, 0x00008098, 0x0e670c87,
+ 0x0000f500, 0x04202806, 0x0000e887, 0x02403006, 0x00009900, 0x044000c8,
+ 0x000083cc, 0x04000800, 0x0000f900, 0x00080000, 0x00000980, 0x04800000,
+ 0x0000f900, 0x00002000, 0x00000980, 0x06000000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x06830000, 0x00007900, 0x000080c0, 0x00000980, 0x0c009000,
+ 0x0000f900, 0x00008240, 0x00000980, 0x0c400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x413f1011, 0x00006002, 0xc0001833, 0x00003006, 0x04c00000,
+ 0x0000e180, 0x05381000, 0x00004980, 0x05400000, 0x000001d8, 0x05c00000,
+ 0x00006180, 0x06780000, 0x00004980, 0x0c800702, 0x000001ac, 0x008826ec,
+ 0x0000df80, 0x00007002, 0x00000084, 0x03000000, 0x00006180, 0x0d002004,
+ 0x00004900, 0x0d783705, 0x00000318, 0x0df84707, 0x00000320, 0x0e785709,
+ 0x00000328, 0x0ef8270b, 0x00000038, 0x03605705, 0x00008030, 0x0e8811a5,
+ 0x00007404, 0x02f84f06, 0x00000010, 0x01404008, 0x00009900, 0x044000c8,
+ 0x000003c8, 0x0cc00000, 0x00006180, 0x413f1011, 0x00006002, 0x04000800,
+ 0x0000f900, 0x00080000, 0x00000980, 0x04800000, 0x0000f900, 0x00002000,
+ 0x00000980, 0x06000000, 0x0000f900, 0x00004000, 0x00000980, 0x06840000,
+ 0x0000f900, 0x000080c0, 0x00000980, 0x08400000, 0x0000f900, 0x00260000,
+ 0x00000980, 0x0c009000, 0x0000f900, 0x000101c0, 0x00008980, 0x0c400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x0f001000, 0x00007900, 0x00004000,
+ 0x00000980, 0x0f400000, 0x00007900, 0x00048010, 0x00000980, 0x04c00000,
+ 0x0000e180, 0xc0001833, 0x00006006, 0x05081001, 0x0000e180, 0x05400000,
+ 0x0000c980, 0x05800000, 0x000081dc, 0x06480001, 0x0000e180, 0x06c00000,
+ 0x00004980, 0x07000080, 0x000001f4, 0x07800000, 0x000081fc, 0x08000000,
+ 0x000082c8, 0x08c00000, 0x000082d0, 0x09400000, 0x000002d8, 0x09c00000,
+ 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000,
+ 0x000002f8, 0x0bc00000, 0x000003f8, 0x0c800502, 0x000083bc, 0x00887eec,
+ 0x00005f80, 0x00d06900, 0x000005c4, 0x03000000, 0x00006180, 0x0d002004,
+ 0x00004900, 0x0d783705, 0x00000318, 0x0df84707, 0x00000320, 0x0e785709,
+ 0x00000328, 0x0ef8270b, 0x00008108, 0x04783705, 0x00008100, 0x0ebb125f,
+ 0x00007500, 0x03f84707, 0x00008038, 0x03384c0a, 0x00008034, 0x044000c8,
+ 0x000003c8, 0x0cc00000, 0x00006180, 0x413f1011, 0x00006002, 0x04000800,
+ 0x0000f900, 0x00080000, 0x00000980, 0x04800000, 0x0000f900, 0x00002000,
+ 0x00000980, 0x06000000, 0x0000f900, 0x00004000, 0x00000980, 0x06840000,
+ 0x0000f900, 0x000080c0, 0x00000980, 0x08400000, 0x0000f900, 0x00260000,
+ 0x00000980, 0x0c009000, 0x0000f900, 0x000102c0, 0x00008980, 0x0c400000,
+ 0x00007900, 0x00010000, 0x00000980, 0x0f001000, 0x00007900, 0x00004000,
+ 0x00000980, 0x0f400000, 0x00007900, 0x00048010, 0x00000980, 0x04c00000,
+ 0x0000e180, 0xc0001833, 0x00006006, 0x05081001, 0x0000e180, 0x05400000,
+ 0x0000c980, 0x05800000, 0x000081dc, 0x06480001, 0x0000e180, 0x06c00000,
+ 0x00004980, 0x07000080, 0x000001f4, 0x07800000, 0x000081fc, 0x08000000,
+ 0x000082c8, 0x08c00000, 0x000082d0, 0x09400000, 0x000002d8, 0x09c00000,
+ 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000,
+ 0x000002f8, 0x0bc00000, 0x000003f8, 0x0c800502, 0x000083bc, 0x00887eec,
+ 0x00005f80, 0x00d06900, 0x000005c4, 0x03064000, 0x000081c4, 0x0c800000,
+ 0x000083cc, 0x04000800, 0x0000f900, 0x00080000, 0x00000980, 0x04800000,
+ 0x0000f900, 0x00002000, 0x00000980, 0x06000000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x06840000, 0x0000f900, 0x000080c0, 0x00000980, 0x08400000,
+ 0x0000f900, 0x00260000, 0x00000980, 0x0c009000, 0x0000f900, 0x00010200,
+ 0x00008980, 0x0c400000, 0x00007900, 0x00010000, 0x00000980, 0x413f1011,
+ 0x00006002, 0xc0001833, 0x00003006, 0x0d382f04, 0x00000314, 0x0db83f06,
+ 0x0000031c, 0x0e384f08, 0x00000324, 0x0eb85f0a, 0x0000032c, 0x0f782f04,
+ 0x00000330, 0x03f83f06, 0x00000038, 0x03400708, 0x0000818c, 0x05081001,
+ 0x0000e180, 0x05400000, 0x0000c980, 0x05800000, 0x000081dc, 0x06480001,
+ 0x0000e180, 0x06c00000, 0x00004980, 0x07000080, 0x000001f4, 0x07800000,
+ 0x000081fc, 0x08000000, 0x000082c8, 0x08c00000, 0x000082d0, 0x09400000,
+ 0x000002d8, 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000,
+ 0x000082f0, 0x0b400000, 0x000002f8, 0x0f0f1106, 0x0000f500, 0x0bc00000,
+ 0x0000e180, 0x8310520a, 0x00004900, 0x02e81709, 0x00000308, 0x0f001000,
+ 0x00007900, 0x00004000, 0x00000980, 0x0f400000, 0x00007900, 0x00048010,
+ 0x00000980, 0x0fc00000, 0x000083f8, 0x00887eec, 0x00005f80, 0x00d06900,
+ 0x000005c4, 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x780000ec,
0x00005680, 0x02090000, 0x00000080, 0x780008ec, 0x0000d680, 0x00000000,
0x00008080, 0x81400cec, 0x00005684, 0x00000000, 0x00008080, 0x81400aec,
0x00005684, 0x00000000, 0x00008080, 0x403840ec, 0x0000d700, 0x00000000,
- 0x00008080, 0x1ff884ec, 0x0000a080, 0xffffffff, 0x00007fa7, 0x81001210,
- 0x00001880, 0x81001204, 0x00009080, 0x1ff83c04, 0x0000d000, 0x00385800,
- 0x00000000, 0x1ff85604, 0x0000d000, 0x00384800, 0x00008000, 0x20384004,
- 0x00005000, 0x00386800, 0x00000000, 0x20383204, 0x00005000, 0x00386000,
- 0x00008000, 0x02103a07, 0x00006100, 0x01000810, 0x0000c080, 0x0001f804,
- 0x00001582, 0x04000000, 0x0000e198, 0x04000810, 0x0000c0b0, 0x1e971e77,
- 0x00007500, 0xffffffff, 0x00007f86, 0x1ff884ec, 0x00002880, 0x1fc554ec,
- 0x0000f902, 0x2a400000, 0x00000000, 0xffffffff, 0x00007fa7, 0xa94012aa,
- 0x00001880, 0xa94012a5, 0x00009080, 0x1ffd24a5, 0x00005000, 0x003f3800,
- 0x00008000, 0x1fff36a5, 0x0000d000, 0x003d7800, 0x00008000, 0x203d70a5,
- 0x0000d000, 0x003d6800, 0x00000000, 0x203d62a5, 0x0000d000, 0x003d5800,
- 0x00000000, 0x294008aa, 0x00009080, 0x0001f8a5, 0x00009582, 0x2a8008aa,
- 0x000060b0, 0x2a800000, 0x00008998, 0x800016a4, 0x00009583, 0x1ffd54ec,
- 0x0000a880, 0x00000001, 0x0000f091, 0x000000a9, 0x00009582, 0x021522a4,
- 0x00009910, 0x00000001, 0x0000f089, 0x1eaf1e77, 0x00007100, 0x00000001,
- 0x0000f080, 0x7f3d42ec, 0x0000b838, 0x7f3d54ec, 0x00003838, 0x1eb51e97,
- 0x0000f500, 0x7f3d66ec, 0x0000b838, 0x7f7d70ec, 0x0000b838, 0x7f3d42ec,
- 0x00003038, 0x7f3d54ec, 0x0000b038, 0x00000001, 0x00007480, 0x7f3d66ec,
- 0x00003038, 0x7f7d70ec, 0x00003038, 0x1ffd46ec, 0x00002080, 0x292557e4,
- 0x00009800, 0xffffffff, 0x00007f97, 0x290540a4, 0x00001202, 0x29000000,
- 0x0000f910, 0x000100c0, 0x00000980, 0xa9001800, 0x0000e190, 0x398538a7,
- 0x0000c910, 0x00000001, 0x00007088, 0x39c530a6, 0x0000e100, 0x08001aae,
- 0x00006106, 0xaba00500, 0x00008a3a, 0x00001eb0, 0x0000f400, 0x2bfd5702,
- 0x00000a34, 0x2afd2fa9, 0x00008a30, 0x00172006, 0x0000e186, 0x00101005,
- 0x00003186, 0x04300006, 0x0000e087, 0x04181005, 0x0000b187, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x0d001f06, 0x00006006, 0x08001a08,
- 0x00003106, 0x029e2000, 0x00007900, 0x00395f38, 0x00000980, 0x02ef4000,
- 0x00007900, 0x003fbfce, 0x00008980, 0x03000000, 0x00006180, 0xc2300600,
- 0x0000c901, 0x82381400, 0x00008024, 0x1edc1e83, 0x0000f500, 0x81c00800,
- 0x0000e180, 0x03403006, 0x00004900, 0x01802805, 0x00009900, 0x7d3912ec,
- 0x0000b838, 0x7d3924ec, 0x0000b838, 0x7d3936ec, 0x0000b838, 0x7d7940ec,
- 0x0000b838, 0x000004e3, 0x00001583, 0x4001fde3, 0x00001583, 0x400005e3,
- 0x00001583, 0x00001efe, 0x0000f008, 0x00001ef4, 0x00007030, 0x00001f08,
- 0x0000f048, 0x820122ec, 0x00007902, 0x08c00000, 0x00000604, 0x494105e3,
- 0x00006283, 0x0880fde3, 0x00008281, 0x08a117e4, 0x00001800, 0x00001efa,
- 0x0000f009, 0x08811822, 0x0000e202, 0x01400000, 0x00000981, 0x01400800,
- 0x00009991, 0x7d3912ec, 0x00003038, 0x7d3924ec, 0x00003038, 0x00000001,
- 0x00007480, 0x7d3936ec, 0x00003038, 0x7d7940ec, 0x00003038, 0x494105e3,
- 0x00006283, 0x0880fde3, 0x00008281, 0x820120ec, 0x0000f902, 0x08c00000,
- 0x00000604, 0x08a117e4, 0x00001800, 0x00001eec, 0x0000f010, 0x01400000,
- 0x00009981, 0x00001eef, 0x0000f400, 0x08812022, 0x00009202, 0x01400800,
- 0x00009991, 0x823916ec, 0x0000a684, 0x08f71fe4, 0x0000e000, 0x01400000,
- 0x0000c981, 0x7d3924ec, 0x00003038, 0x7d3936ec, 0x00003038, 0x08811023,
- 0x00001202, 0x7d7940ec, 0x00003038, 0x00000001, 0x00007480, 0x7d3912ec,
- 0x00003038, 0x01400800, 0x00009991, 0x00001ee8, 0x00007200, 0x820124ec,
- 0x00007902, 0x08c00000, 0x00000604, 0x00001c09, 0x00006583, 0x82371ee3,
- 0x00000900, 0x79f84408, 0x00002018, 0x02401c09, 0x00009281, 0x02401c09,
- 0x00009881, 0xffffffff, 0x00007f86, 0x79f84408, 0x0000a0b0, 0xffffffff,
- 0x00007f86, 0x00000001, 0x00007483, 0x02604808, 0x00001700, 0x02204c09,
- 0x00009901, 0x1d07f800, 0x0000f900, 0x00001088, 0x00000980, 0x1d4a1804,
- 0x00006180, 0x75ff1874, 0x0000e101, 0x760010ec, 0x00005680, 0x00000000,
- 0x00008080, 0x004cf075, 0x0000ed87, 0x763ba8ec, 0x00005600, 0x003ba000,
- 0x00008000, 0x1d400000, 0x00009980, 0x00000001, 0x00007480, 0x0023b875,
- 0x00006886, 0x763ba8ec, 0x00005600, 0x00000000, 0x00008080, 0x0000003b,
- 0x00001582, 0x7d21c0ec, 0x00002090, 0x29000000, 0x0000f910, 0x00010080,
- 0x00008980, 0x00000001, 0x00007088, 0x39c0e000, 0x00007900, 0x00188ac0,
- 0x00000980, 0x80172a38, 0x00006502, 0x08001aae, 0x0000a106, 0x8e000a38,
- 0x0000e090, 0xa900a000, 0x00008980, 0x7d21c0ec, 0x0000a890, 0x39a80740,
- 0x00008a3a, 0xabb81400, 0x00008a3c, 0x00001eb0, 0x0000f400, 0x2b79ef3f,
- 0x00000a30, 0x2aff1fe3, 0x00001900, 0x01400000, 0x00006180, 0x08001a08,
- 0x00006106, 0x03000000, 0x00006180, 0x00300005, 0x0000e086, 0xc2300600,
- 0x0000e101, 0x82280005, 0x0000e086, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x82280500, 0x00006101, 0x0d001e05, 0x0000e006, 0x02a45800,
- 0x00007900, 0x0026484c, 0x00008980, 0x02fa4000, 0x0000f900, 0x003bdaae,
- 0x00000980, 0x1f461e83, 0x00007500, 0x02781702, 0x00008034, 0x01803705,
- 0x0000009d, 0x96371ee3, 0x00009900, 0x6b02d058, 0x00007902, 0x16000000,
- 0x00008000, 0xffffffff, 0x00007fa7, 0x0000045a, 0x00009583, 0x16b2dfe4,
- 0x00009810, 0x00000001, 0x0000f089, 0x1602c05a, 0x00009202, 0x29000000,
- 0x0000f908, 0x000100c0, 0x00000980, 0xa912da5b, 0x00006108, 0x3982e05c,
- 0x0000c908, 0x00000001, 0x00007090, 0x39eb5800, 0x00007900, 0x0003cd08,
- 0x00008980, 0xebb00600, 0x0000e101, 0x08001aae, 0x00006106, 0xabb81400,
- 0x00008a3c, 0x2b4af85f, 0x00008a34, 0x2b5afa5f, 0x00008a34, 0x2b0af05e,
- 0x00008a30, 0x2b1af25e, 0x00008a30, 0x1f5f1eb0, 0x0000f500, 0x2acae85d,
- 0x00008a2c, 0x2ad2eb5d, 0x00008a2c, 0x00000001, 0x0000f080, 0x40002512,
- 0x0000e583, 0x05400800, 0x00008980, 0x05000000, 0x00006180, 0x45771ee3,
- 0x00004901, 0x02006000, 0x0000e189, 0x30ff1015, 0x0000e002, 0x00001f7e,
- 0x00007208, 0x85181302, 0x00001900, 0x40002512, 0x00001583, 0x00001f74,
- 0x0000701b, 0x40001512, 0x00001583, 0x02005000, 0x00009989, 0x00001f7e,
- 0x00007009, 0x40001512, 0x00001583, 0x0200e000, 0x00009999, 0x00001f7e,
- 0x0000f019, 0x40000d12, 0x00001583, 0x02004800, 0x00009989, 0x00001f7e,
- 0x00007009, 0x00001f7d, 0x00007000, 0x40003512, 0x00009583, 0x02008000,
- 0x00001989, 0x00001f7e, 0x00007009, 0x40003512, 0x00009583, 0x02004000,
- 0x000099a9, 0x00001f7e, 0x0000f029, 0x40003d12, 0x00001583, 0x02024000,
- 0x00009989, 0x00001f7e, 0x00007009, 0x02000000, 0x00001981, 0x00000412,
- 0x00006583, 0x86205015, 0x00002087, 0x02800000, 0x00006180, 0x86204014,
- 0x0000e087, 0x02800800, 0x0000e189, 0x82371ee3, 0x0000c900, 0x00000c11,
- 0x0000e583, 0x827f1fe3, 0x00008900, 0x6b005008, 0x0000a880, 0x02000000,
- 0x000080e8, 0x00186008, 0x0000618e, 0x0000200a, 0x0000348e, 0xc000070d,
- 0x0000e583, 0x04106008, 0x0000218f, 0x6c38a809, 0x00005000, 0x0038a000,
- 0x00008000, 0x82771ee3, 0x00001900, 0x7af85409, 0x0000d000, 0x00384000,
- 0x00000000, 0x02788f11, 0x0000e111, 0x02400000, 0x00004989, 0xc000070d,
- 0x0000e583, 0x82371ee3, 0x00000900, 0x79c04c08, 0x00002880, 0x0260740e,
+ 0x00008080, 0x1ff85eec, 0x00002080, 0xffffffff, 0x00007fa7, 0x8140120b,
+ 0x00009880, 0x81401205, 0x00009080, 0x1ff82605, 0x0000d000, 0x00387800,
+ 0x00008000, 0x20387005, 0x0000d000, 0x00386800, 0x00000000, 0x20386205,
+ 0x0000d000, 0x00389000, 0x00008000, 0x20385405, 0x0000d000, 0x00384000,
+ 0x00000000, 0x02102204, 0x00006100, 0x0140080b, 0x00004080, 0x0001f805,
+ 0x00009582, 0x02c00000, 0x0000e198, 0x02c0080b, 0x0000c0b0, 0x0f360f16,
+ 0x00007500, 0xffffffff, 0x00007f86, 0x1ff85eec, 0x0000a880, 0x1fc496ec,
+ 0x0000f902, 0x23c00000, 0x00008000, 0xffffffff, 0x00007fa7, 0xa4c01292,
+ 0x00009880, 0xa4c01293, 0x00009080, 0x1ffc5693, 0x0000d000, 0x003c4800,
+ 0x00000000, 0x203c4093, 0x00005000, 0x003bb800, 0x00008000, 0x203bb293,
+ 0x00005000, 0x003ba800, 0x00000000, 0x203cac93, 0x0000d000, 0x003ca000,
+ 0x00000000, 0x24c00892, 0x00001080, 0x0001f893, 0x00009582, 0x24800892,
+ 0x000060b0, 0x24800000, 0x00000998, 0x8000168a, 0x00009583, 0x1ffc96ec,
+ 0x0000a880, 0x00000001, 0x0000f091, 0x0000008f, 0x00001582, 0x0214528a,
+ 0x00009910, 0x00000001, 0x0000f089, 0x0f4e0f16, 0x0000f100, 0x00000001,
+ 0x0000f080, 0x567d42ec, 0x0000b838, 0x567d54ec, 0x00003838, 0x0f540f36,
+ 0x00007500, 0x567d66ec, 0x0000b838, 0x56bd70ec, 0x00003838, 0x567d42ec,
+ 0x00003038, 0x567d54ec, 0x0000b038, 0x00000001, 0x00007480, 0x567d66ec,
+ 0x00003038, 0x56bd70ec, 0x0000b038, 0x203c48ec, 0x00002080, 0x1da3afe4,
+ 0x00001800, 0xffffffff, 0x00007f97, 0x1d844876, 0x00001202, 0x22800000,
+ 0x0000f910, 0x000140c0, 0x00008980, 0xa2801800, 0x0000e190, 0xddb00600,
+ 0x00004911, 0x00000001, 0x00007088, 0x22460000, 0x00007900, 0x001f2252,
+ 0x00008980, 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x00000f4f,
+ 0x0000f400, 0x1dfbff02, 0x00000914, 0x2503f07e, 0x00001900, 0x00172007,
+ 0x00006186, 0x00101006, 0x00003186, 0x04300007, 0x00006087, 0x04181006,
+ 0x0000b187, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x0d001f07,
+ 0x0000e006, 0x08001a0c, 0x0000b106, 0x039e2000, 0x0000f900, 0x00395f38,
+ 0x00000980, 0x03ef4000, 0x0000f900, 0x003fbfce, 0x00008980, 0x02000000,
+ 0x0000e180, 0xc3300600, 0x00004901, 0x83381400, 0x00008034, 0x0f7b0f22,
+ 0x0000f500, 0x02800f06, 0x00008091, 0x04803807, 0x00009900, 0x544002ec,
+ 0x0000d080, 0x00400000, 0x00008000, 0x544004ec, 0x0000d080, 0x00400000,
+ 0x00008000, 0x544006ec, 0x00005080, 0x00400000, 0x00008000, 0x548000ec,
+ 0x00005080, 0x00400000, 0x00008000, 0x544002ec, 0x00005000, 0x00400000,
+ 0x00000080, 0x544004ec, 0x00005000, 0x00400000, 0x00000080, 0x544006ec,
+ 0x0000d000, 0x00400000, 0x00000080, 0x548000ec, 0x0000d000, 0x00400000,
+ 0x00000080, 0x000004e3, 0x00001583, 0x4001fde3, 0x00001583, 0x400005e3,
+ 0x00001583, 0x00000faa, 0x00007008, 0x00000f9f, 0x0000f030, 0x00000fb4,
+ 0x0000f048, 0x8200faec, 0x0000f902, 0x07800000, 0x00008604, 0x470105e3,
+ 0x00006283, 0x0740fde3, 0x00008281, 0x0760efe4, 0x00001800, 0x00000fa5,
+ 0x0000f009, 0x0700f01d, 0x00001202, 0x07000000, 0x00001981, 0x07000800,
+ 0x00001991, 0x547912ec, 0x00003038, 0x547924ec, 0x00003038, 0x00000001,
+ 0x00007480, 0x547936ec, 0x00003038, 0x54b940ec, 0x0000b038, 0x470105e3,
+ 0x00006283, 0x0740fde3, 0x00008281, 0x8200f8ec, 0x00007902, 0x07800000,
+ 0x00008604, 0x0760efe4, 0x00001800, 0x00000f97, 0x0000f010, 0xffffffff,
+ 0x00007f86, 0x0700f81d, 0x00009202, 0x00000f9a, 0x00007400, 0x07000000,
+ 0x00001981, 0x07000800, 0x00001991, 0x8238e6ec, 0x00002684, 0x07771fe4,
+ 0x00001800, 0x547912ec, 0x00003038, 0x547924ec, 0x00003038, 0x0700e01d,
+ 0x00009202, 0x07000000, 0x00001981, 0x547936ec, 0x00003038, 0x00000001,
+ 0x00007480, 0x54b940ec, 0x0000b038, 0x07000800, 0x00001991, 0x00000f93,
+ 0x00007200, 0x8200fcec, 0x0000f902, 0x07800000, 0x00008604, 0xc000030b,
+ 0x0000e582, 0x01400000, 0x00008980, 0x81400000, 0x00009980, 0x81400800,
+ 0x00009990, 0x02000000, 0x00007900, 0x000014c0, 0x00008980, 0x00000405,
+ 0x00006583, 0x00106808, 0x0000a106, 0x81680500, 0x0000e110, 0xc3202808,
+ 0x00006006, 0xffffffff, 0x00007f86, 0x00000005, 0x0000ed8e, 0xffffffff,
+ 0x00007f86, 0x04285805, 0x00006885, 0x75e80005, 0x00006901, 0x703840ec,
+ 0x00005600, 0x00382800, 0x00008000, 0x01400004, 0x00009980, 0x02000000,
+ 0x00007900, 0x00007fc0, 0x00000980, 0x00106808, 0x0000e186, 0x82205805,
+ 0x0000b080, 0x703830ec, 0x0000d600, 0x00383800, 0x00000000, 0x00000001,
+ 0x00007480, 0x04186805, 0x00006987, 0x703840ec, 0x00005600, 0x00382800,
+ 0x00008000, 0x00001c36, 0x00006583, 0x8d771ee3, 0x00008900, 0x5179ac35,
+ 0x0000a018, 0x0d801c36, 0x00009281, 0x0d801c36, 0x00009881, 0xffffffff,
+ 0x00007f86, 0x5179ac35, 0x000020b0, 0x00000001, 0x00007483, 0xffffffff,
+ 0x00007f86, 0x0da1b035, 0x00009700, 0x0907f800, 0x0000f900, 0x00001088,
+ 0x00000980, 0x09ca9804, 0x00006180, 0x75ff1824, 0x0000e101, 0x760010ec,
+ 0x00005680, 0x00000000, 0x00008080, 0x004cf027, 0x00006d87, 0x763938ec,
+ 0x0000d600, 0x00392000, 0x00008000, 0x09c00000, 0x00001980, 0x00000001,
+ 0x00007480, 0x0021a027, 0x00006886, 0x763938ec, 0x0000d600, 0x00000000,
+ 0x00008080, 0x0000001c, 0x00001582, 0x2720e2ec, 0x00002094, 0x22800000,
+ 0x0000f910, 0x00014080, 0x00000980, 0x00000001, 0x00007088, 0x2240e000,
+ 0x0000f900, 0x00188ac0, 0x00000980, 0x80172a1c, 0x00006502, 0x08001a76,
+ 0x0000a106, 0x87000a1c, 0x0000e090, 0xa2811800, 0x00000980, 0x2720e2ec,
+ 0x0000a894, 0x2228071f, 0x0000071a, 0x9db81400, 0x0000871c, 0x00000f4f,
+ 0x0000f400, 0x1d78ef1e, 0x00008914, 0x253f1fe3, 0x00001900, 0x01800000,
+ 0x00006180, 0x08001a0c, 0x0000e106, 0x02000000, 0x0000e180, 0x00300006,
+ 0x0000e086, 0xc3300600, 0x00006101, 0x82280006, 0x0000e086, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x83280500, 0x0000e101, 0x0d001e06,
+ 0x0000e006, 0x03a45800, 0x0000f900, 0x0026484c, 0x00008980, 0x03fa4000,
+ 0x00007900, 0x003bdaae, 0x00000980, 0x100d0f22, 0x0000f500, 0x03781702,
+ 0x00008108, 0x02803706, 0x00000091, 0x9a371ee3, 0x00009900, 0x42835068,
+ 0x00007902, 0x1a000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x0000046a,
+ 0x00009583, 0x1ab35fe4, 0x00009810, 0x00000001, 0x0000f089, 0x1a03406a,
+ 0x00009202, 0x22800000, 0x0000f908, 0x000140c0, 0x00008980, 0xa2935a6b,
+ 0x00006108, 0x2203606c, 0x00004908, 0x00000001, 0x00007090, 0x226b5800,
+ 0x0000f900, 0x0003cd08, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x1d4b786f, 0x00008714, 0x1d5b7a6f,
+ 0x00008714, 0x254b706e, 0x00008914, 0x255b726e, 0x00008914, 0x10260f4f,
+ 0x00007500, 0x250b686d, 0x00008910, 0x25136b6d, 0x00008910, 0x00000001,
+ 0x0000f080, 0x40002511, 0x0000e583, 0x05000800, 0x00000980, 0x04c00000,
+ 0x0000e180, 0x45371ee3, 0x0000c901, 0x02006000, 0x0000e189, 0x30ff1014,
+ 0x00006002, 0x00001045, 0x0000f208, 0x84d81302, 0x00009900, 0x40002511,
+ 0x00001583, 0x0000103b, 0x0000f01b, 0x40001511, 0x00001583, 0x02005000,
+ 0x00009989, 0x00001045, 0x0000f009, 0x40001511, 0x00001583, 0x0200e000,
+ 0x00009999, 0x00001045, 0x00007019, 0x40000d11, 0x00001583, 0x02004800,
+ 0x00009989, 0x00001045, 0x0000f009, 0x00001044, 0x00007000, 0x40003511,
+ 0x00009583, 0x02008000, 0x00001989, 0x00001045, 0x0000f009, 0x40003511,
+ 0x00009583, 0x02004000, 0x000099a9, 0x00001045, 0x00007029, 0x40003d11,
+ 0x00001583, 0x02024000, 0x00009989, 0x00001045, 0x0000f009, 0x02000000,
+ 0x00001981, 0x00000411, 0x00006583, 0x86205014, 0x0000a087, 0x02800000,
+ 0x00006180, 0x86204013, 0x00006087, 0x827f1fe3, 0x00006100, 0x02800800,
+ 0x0000c989, 0x43b8a009, 0x0000d000, 0x00389800, 0x00000000, 0x00000c0f,
+ 0x0000e583, 0x82371ee3, 0x00000900, 0x02400000, 0x00001980, 0x42805008,
+ 0x0000a880, 0x02800000, 0x00006180, 0x00186009, 0x0000e18e, 0xffffffff,
+ 0x00007f86, 0x04106009, 0x0000618f, 0x0000200a, 0x0000348e, 0xc000070d,
+ 0x0000e583, 0x82371ee3, 0x00000900, 0x52785408, 0x0000d000, 0x00384800,
+ 0x00008000, 0x02387f0f, 0x00006111, 0x02000000, 0x0000c989, 0xc000070d,
+ 0x0000e583, 0x82771ee3, 0x00008900, 0x51404409, 0x0000a880, 0x0260740e,
0x0000e111, 0x02400800, 0x0000c989, 0xc000070d, 0x0000e583, 0x82371ee3,
- 0x00000900, 0x79d84c08, 0x0000a882, 0x0268750e, 0x0000e111, 0x02401000,
- 0x0000c989, 0xc000070d, 0x0000e583, 0x82371ee3, 0x00000900, 0x79f04c08,
- 0x0000a881, 0x0270760e, 0x0000e111, 0x02401800, 0x00004989, 0xc000070d,
- 0x0000e583, 0x82371ee3, 0x00000900, 0x79d84c08, 0x0000a881, 0x0278770e,
- 0x0000e111, 0x02402000, 0x0000c989, 0xc000070d, 0x0000e583, 0x82371ee3,
- 0x00000900, 0x79c04c08, 0x0000a800, 0x02606c0d, 0x0000e111, 0x02402800,
- 0x00004989, 0xc000070d, 0x0000e583, 0x82371ee3, 0x00000900, 0x79d84c08,
- 0x00002802, 0x02686d0d, 0x0000e111, 0x02403000, 0x00004989, 0xc000070d,
- 0x0000e583, 0x82371ee3, 0x00000900, 0x79f04c08, 0x00002801, 0x02706e0d,
- 0x0000e111, 0x02403800, 0x0000c989, 0x02b07e0f, 0x00006101, 0x82371ee3,
- 0x0000c900, 0x00001fbe, 0x0000f400, 0x79d84c08, 0x00002801, 0x02787e0f,
- 0x00001000, 0x02800c0a, 0x00006081, 0x8200840a, 0x00008080, 0x6c0f1808,
+ 0x00000900, 0x51584c08, 0x00002882, 0x0228750e, 0x00006111, 0x02001000,
+ 0x00004989, 0xc000070d, 0x0000e583, 0x82771ee3, 0x00008900, 0x51704409,
+ 0x00002881, 0x0270760e, 0x0000e111, 0x02401800, 0x00004989, 0xc000070d,
+ 0x0000e583, 0x82371ee3, 0x00000900, 0x51584c08, 0x00002881, 0x0238770e,
+ 0x00006111, 0x02002000, 0x00004989, 0xc000070d, 0x0000e583, 0x82771ee3,
+ 0x00008900, 0x51404409, 0x00002800, 0x02606c0d, 0x0000e111, 0x02402800,
+ 0x00004989, 0xc000070d, 0x0000e583, 0x82371ee3, 0x00000900, 0x51584c08,
+ 0x0000a802, 0x02286d0d, 0x00006111, 0x02003000, 0x0000c989, 0xc000070d,
+ 0x0000e583, 0x82771ee3, 0x00008900, 0x51704409, 0x0000a801, 0x02706e0d,
+ 0x0000e111, 0x02403800, 0x0000c989, 0x02b08610, 0x00006101, 0x82371ee3,
+ 0x0000c900, 0x00001087, 0x0000f400, 0x51584c08, 0x0000a801, 0x02788610,
+ 0x00001000, 0x02800c0a, 0x00006081, 0x8200840a, 0x00008080, 0x438f1808,
0x0000a881, 0x0220540a, 0x00001900, 0x00004808, 0x00009502, 0x827f17e2,
- 0x00009940, 0x79005409, 0x0000f942, 0x02000000, 0x00008000, 0x00001fbb,
- 0x00007048, 0x793868ec, 0x00002080, 0x827f17e2, 0x00001900, 0x0000040a,
- 0x00009583, 0x8220880a, 0x0000688e, 0x4000050d, 0x0000e583, 0x0430880a,
- 0x0000a08f, 0x79384409, 0x00002800, 0x02800c0a, 0x00006081, 0x03709e13,
- 0x00008909, 0x00001fd7, 0x00007210, 0x79385409, 0x00002880, 0x2c007ee3,
- 0x00001680, 0x820588b0, 0x00001000, 0x1fd89cec, 0x00002803, 0x1ff896ec,
- 0x0000a882, 0x7c38cc08, 0x0000d000, 0x00271800, 0x00008001, 0x7c38d208,
- 0x0000a800, 0x83688d11, 0x00001901, 0x00000001, 0x00007480, 0x43400d0d,
- 0x00009081, 0x793868ec, 0x0000a880, 0x42000000, 0x00001980, 0xffffffff,
- 0x00007f86, 0x0000240a, 0x0000e583, 0x8300840b, 0x00008080, 0x6c38680c,
- 0x00002080, 0x02806000, 0x00006189, 0x82185b0b, 0x0000c900, 0xffffffff,
- 0x00007f97, 0x0000080d, 0x00006c82, 0x83400000, 0x00009981, 0x00001ffd,
- 0x0000f408, 0x30ff100d, 0x00006802, 0x5168580d, 0x0000e800, 0x0000240a,
- 0x00001583, 0x00001ff3, 0x0000701b, 0x0000140a, 0x00001583, 0x02805000,
- 0x00001989, 0x00001ffd, 0x0000f009, 0x0000140a, 0x00001583, 0x0280e000,
- 0x00001999, 0x00001ffd, 0x00007019, 0x00000c0a, 0x00001583, 0x02804800,
- 0x00001989, 0x00001ffd, 0x0000f009, 0x00001ffc, 0x00007000, 0x0000340a,
- 0x00009583, 0x02808000, 0x00009989, 0x00001ffd, 0x0000f009, 0x0000340a,
- 0x00009583, 0x02804000, 0x000019a9, 0x00001ffd, 0x00007029, 0x00003c0a,
- 0x00001583, 0x02824000, 0x00001989, 0x00001ffd, 0x0000f009, 0x02800000,
- 0x00009981, 0x8620480d, 0x0000e087, 0x86205008, 0x0000b087, 0x6c38680c,
- 0x00005000, 0x00384000, 0x00000000, 0x83371ee3, 0x00001900, 0x6c38400c,
+ 0x0000e140, 0x823f17e2, 0x00004940, 0x50b85409, 0x000020c0, 0x00001084,
+ 0x00007048, 0x50b860ec, 0x0000a080, 0x50b84c09, 0x00002000, 0x0000040a,
+ 0x00009583, 0x8220780a, 0x0000688e, 0x4000050c, 0x00006583, 0x0430780a,
+ 0x0000a08f, 0x50b84c08, 0x00002800, 0x02800c0a, 0x00006081, 0x03309612,
+ 0x00000909, 0x0000109b, 0x0000f210, 0x50b85408, 0x0000a880, 0x1fd896ec,
+ 0x00002803, 0x203888ec, 0x0000a882, 0x83287d0f, 0x00009901, 0x00000001,
+ 0x00007480, 0x43000d0c, 0x00009081, 0x50b860ec, 0x00002880, 0x0000240a,
+ 0x0000e583, 0x8300840b, 0x00008080, 0x43b8680c, 0x00002080, 0x02806000,
+ 0x00006189, 0x42000000, 0x00004980, 0x82185b0b, 0x00009900, 0xffffffff,
+ 0x00007f86, 0x0000080d, 0x00006c82, 0x83400000, 0x00009981, 0x000010c0,
+ 0x00007408, 0x30ff100d, 0x00006802, 0x5168580d, 0x0000e800, 0x0000240a,
+ 0x00001583, 0x000010b6, 0x0000f01b, 0x0000140a, 0x00001583, 0x02805000,
+ 0x00001989, 0x000010c0, 0x00007009, 0x0000140a, 0x00001583, 0x0280e000,
+ 0x00001999, 0x000010c0, 0x0000f019, 0x00000c0a, 0x00001583, 0x02804800,
+ 0x00001989, 0x000010c0, 0x00007009, 0x000010bf, 0x0000f000, 0x0000340a,
+ 0x00009583, 0x02808000, 0x00009989, 0x000010c0, 0x00007009, 0x0000340a,
+ 0x00009583, 0x02804000, 0x000019a9, 0x000010c0, 0x0000f029, 0x00003c0a,
+ 0x00001583, 0x02824000, 0x00001989, 0x000010c0, 0x00007009, 0x02800000,
+ 0x00009981, 0x8620480d, 0x0000e087, 0x86205008, 0x0000b087, 0x43b8680c,
+ 0x00005000, 0x00384000, 0x00000000, 0x83371ee3, 0x00001900, 0x43b8400c,
0x0000a000, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x82000e08,
- 0x00009081, 0x6c38400c, 0x00002800, 0x6c38980a, 0x00002080, 0x80007a0a,
- 0x00009582, 0xffffffff, 0x00007f97, 0x84a89d13, 0x00006118, 0x0f409c0a,
- 0x00006032, 0x6c209012, 0x0000a019, 0xffffffff, 0x00007f86, 0x00000001,
- 0x0000749b, 0x84a89d13, 0x00006118, 0x02000c12, 0x0000c199, 0x6c304012,
- 0x00002819, 0x790090ec, 0x0000a081, 0xffffffff, 0x00007fa7, 0x04800c12,
- 0x00001181, 0x791890ec, 0x00002882, 0x84a0540a, 0x00001900, 0x79009412,
- 0x00002080, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x84a0540a,
- 0x00006100, 0x02000c12, 0x0000c181, 0x79004412, 0x00002880, 0x82000ee3,
- 0x00006283, 0x82000ee3, 0x00000780, 0x7ff84e08, 0x00002088, 0x7ff84e08,
- 0x0000a010, 0xffffffff, 0x00007fa7, 0x02400809, 0x0000e090, 0x02400809,
- 0x00008088, 0x00000001, 0x0000f481, 0x7ff84e08, 0x0000a888, 0x7ff84e08,
- 0x00002810, 0x02400002, 0x0000e180, 0x02882004, 0x0000c980, 0xc2680500,
- 0x0000e100, 0x82002d00, 0x0000c880, 0x760010ec, 0x00005680, 0x00384800,
- 0x00008000, 0xc2980208, 0x00001080, 0x763850ec, 0x0000d600, 0x000ff800,
- 0x00000080, 0x760000ec, 0x0000d680, 0x00000000, 0x00008080, 0x00c002ec,
- 0x0000df80, 0x1201a00b, 0x00009684, 0xb9184308, 0x00001900, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x00007083, 0x820001e4, 0x000000a4, 0x203b2007,
- 0x0000f500, 0x827f1fe3, 0x00001900, 0x02804809, 0x00009900, 0x823f1fe3,
- 0x00009900, 0x6c004008, 0x00002080, 0xffffffff, 0x00007f86, 0x00002027,
- 0x0000f403, 0x823f1fe3, 0x0000e100, 0x0247c408, 0x0000c281, 0x6c004808,
- 0x00002880, 0x80000239, 0x00006582, 0x86400000, 0x00008980, 0x86400800,
- 0x00006190, 0x0d800000, 0x00004980, 0x0d400000, 0x00006180, 0x0020d836,
- 0x0000e084, 0x00000419, 0x0000e583, 0xc320c835, 0x0000a006, 0x86e80500,
- 0x0000e110, 0x86c00000, 0x00004988, 0xc0000739, 0x00006583, 0x0d000000,
- 0x00000980, 0x0410d835, 0x0000e187, 0x0001d834, 0x00003286, 0x86c02d00,
- 0x0000e090, 0x86d9d33a, 0x0000c908, 0x7839b0ec, 0x00005600, 0x0039a800,
- 0x00008000, 0x86d8021b, 0x00006090, 0xc2d722e4, 0x00008900, 0x80000639,
- 0x00009583, 0x0410d81b, 0x00006987, 0x0018101b, 0x0000618e, 0x0011d01b,
- 0x00003196, 0x00000419, 0x00001583, 0x7838d8ec, 0x00005600, 0x0039a000,
- 0x00000000, 0x00000000, 0x00007089, 0x00c002ec, 0x0000df80, 0x1203000b,
- 0x00001684, 0xb9185b0b, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0x82ff29e4, 0x00008014, 0x01bf2fe5, 0x0000801c, 0x02000000,
- 0x00001981, 0x00001c08, 0x00001583, 0x03411823, 0x00009908, 0x0000207d,
- 0x00007009, 0x00001c08, 0x00001583, 0x00002072, 0x0000701b, 0x00000c08,
- 0x00009583, 0x03412825, 0x00009908, 0x0000207d, 0x00007009, 0x00001408,
- 0x00009583, 0x03412024, 0x00009908, 0x0000207d, 0x00007009, 0x0000207b,
- 0x00007000, 0x00002c08, 0x00001583, 0x03404809, 0x00009908, 0x0000207d,
- 0x00007009, 0x00002c08, 0x00001583, 0x03411022, 0x00001928, 0x0000207d,
- 0x0000f029, 0x00003408, 0x00001583, 0x0340e01c, 0x00009908, 0x0000207d,
- 0x00007009, 0x03413026, 0x00001900, 0xffffffff, 0x00007f86, 0x0100680d,
- 0x00009b00, 0x00072804, 0x0000e502, 0x03402004, 0x00008900, 0x02000c08,
- 0x00001089, 0x00002084, 0x00007011, 0x22003c08, 0x0000788a, 0x31000000,
- 0x00009083, 0x82002c08, 0x00009880, 0x83506a08, 0x00009000, 0x80067a0d,
- 0x00001582, 0x00002089, 0x0000f033, 0x837ff801, 0x00001980, 0x83000000,
- 0x000080ee, 0x3dfffa0d, 0x0000f88a, 0x01000003, 0x00000080, 0xffffffff,
- 0x00007f86, 0x6c00200d, 0x00007902, 0x02800000, 0x00000000, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f97, 0x01003c04, 0x00009283, 0x8100fa0d,
- 0x00006288, 0x82002a0d, 0x00008788, 0x011027e4, 0x00009808, 0x000020ac,
- 0x0000f010, 0x00000408, 0x0000e583, 0x010020e5, 0x00000400, 0x09813004,
- 0x00001208, 0x000020c4, 0x0000f009, 0x00000c08, 0x00009583, 0x09412804,
- 0x00001208, 0x000020c4, 0x0000f009, 0x00001408, 0x00009583, 0x09012004,
- 0x00001208, 0x000020c4, 0x0000f009, 0x00001c08, 0x00001583, 0x08c11804,
- 0x00001208, 0x000020c4, 0x0000f009, 0x00002408, 0x00009583, 0x08811004,
- 0x00001208, 0x000020c4, 0x0000f009, 0x00002c08, 0x00001583, 0x08410804,
- 0x00001208, 0x000020c4, 0x0000f009, 0x000020c4, 0x00007400, 0x00003408,
- 0x00001583, 0x0700e004, 0x00001208, 0x00004c0c, 0x00009583, 0x02401c0c,
- 0x000062b1, 0x01000000, 0x000009b0, 0x02401c09, 0x000060b0, 0x38402c04,
- 0x0000c0b1, 0x000020bc, 0x0000f018, 0x0107f800, 0x00009980, 0x01004804,
- 0x00001800, 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86, 0x02000200,
- 0x00007904, 0x0107fa0d, 0x0000e280, 0x02002008, 0x00000200, 0x02404804,
- 0x00009800, 0x02404808, 0x00001300, 0x10004c00, 0x00007904, 0xc100270a,
- 0x0000e283, 0x03000c0c, 0x00000081, 0x0290520a, 0x00001910, 0x20c047ec,
- 0x00007015, 0x6c38400d, 0x0000a080, 0xffffffff, 0x00007fa7, 0x00001808,
- 0x00006c04, 0x6c38400d, 0x00002880, 0x83400a0d, 0x00009080, 0x8006820d,
- 0x00009582, 0x02800000, 0x00006191, 0x81002a0d, 0x00004790, 0x8340fa0d,
- 0x00006290, 0x02602404, 0x00000911, 0x000020f3, 0x0000f008, 0x01106fe4,
- 0x00001800, 0x020022ec, 0x00001100, 0x00205409, 0x00009503, 0x000020f0,
- 0x0000701b, 0x00001c0a, 0x00009583, 0x01011823, 0x00009908, 0x000020e5,
- 0x0000f009, 0x00001c0a, 0x00009583, 0x000020db, 0x0000701b, 0x00000c0a,
- 0x00001583, 0x01012825, 0x00009908, 0x000020e5, 0x0000f009, 0x0000140a,
- 0x00001583, 0x01012024, 0x00009908, 0x000020e5, 0x0000f009, 0x000020e4,
- 0x00007000, 0x00002c0a, 0x00009583, 0x01010821, 0x00009908, 0x000020e5,
- 0x0000f009, 0x00002c0a, 0x00009583, 0x01011022, 0x00001928, 0x000020e5,
- 0x00007029, 0x0000340a, 0x00009583, 0x0100e01c, 0x00009908, 0x000020e5,
- 0x0000f009, 0x01013026, 0x00001900, 0x00205409, 0x00009503, 0x01004004,
- 0x00001208, 0xffffffff, 0x00007f86, 0x03402004, 0x00009b00, 0x0007280d,
- 0x0000e502, 0x0100680d, 0x00008900, 0x82802c0a, 0x00001890, 0x8350220a,
- 0x00009010, 0x000020f0, 0x0000f008, 0x3cc67a0d, 0x0000789a, 0xa1000000,
- 0x00001087, 0x02800c0a, 0x00009081, 0x00003c0a, 0x00001583, 0x000020cd,
- 0x00007013, 0x837ff801, 0x00001980, 0x02c00c0b, 0x00009081, 0x233ffa0d,
- 0x0000f892, 0x01000003, 0x00000080, 0x04206007, 0x0000e087, 0x08001aae,
- 0x00003106, 0x29000000, 0x00007900, 0x000100c0, 0x00000980, 0xebb00600,
- 0x0000e101, 0x86205807, 0x00006087, 0x39b40800, 0x00007900, 0x002f51f0,
- 0x00008980, 0x39f3c800, 0x00007900, 0x00065644, 0x00008980, 0xabb81400,
- 0x00008a3c, 0x21051eb0, 0x00007500, 0x2b783705, 0x00008a30, 0x2ac08f07,
- 0x00000a91, 0xb9185b0b, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0x058004e4, 0x00008188, 0x073f2fe5, 0x00008134, 0x01000000,
- 0x00006181, 0x078728e5, 0x0000c900, 0x00001c04, 0x00001583, 0x02403807,
- 0x00001908, 0x00002123, 0x00007009, 0x00001c04, 0x00001583, 0x00002118,
- 0x0000f01b, 0x00000c04, 0x00009583, 0x02408010, 0x00001908, 0x00002123,
- 0x00007009, 0x00001404, 0x00009583, 0x02403006, 0x00001908, 0x00002123,
- 0x00007009, 0x00002121, 0x0000f000, 0x00002c04, 0x00001583, 0x0240580b,
- 0x00001908, 0x00002123, 0x00007009, 0x00002c04, 0x00001583, 0x02404008,
- 0x00009928, 0x00002123, 0x0000f029, 0x00003404, 0x00001583, 0x0240600c,
- 0x00001908, 0x00002123, 0x00007009, 0x02408811, 0x00009900, 0xffffffff,
- 0x00007f86, 0x01404809, 0x00001b00, 0x00072805, 0x00006502, 0x02402805,
- 0x00000900, 0x01000c04, 0x00001089, 0x0000212a, 0x00007011, 0x4b803c04,
- 0x0000f88a, 0x61000000, 0x00001088, 0x81002c04, 0x00009880, 0x82504a04,
- 0x00009000, 0x80067a09, 0x00009582, 0x0000212f, 0x00007033, 0x827ff801,
- 0x00009980, 0x81400000, 0x000080d2, 0x693ffa09, 0x0000f88a, 0x01000003,
- 0x00000080, 0xffffffff, 0x00007f86, 0x6c003009, 0x00007902, 0x04800000,
- 0x00000000, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x01803c06,
- 0x00001281, 0x00000c06, 0x00001583, 0x00002406, 0x00009593, 0x81c0fa09,
- 0x0000e290, 0x81802a09, 0x00008790, 0x01d03fe4, 0x00009810, 0x00002154,
- 0x0000f008, 0x00000406, 0x00006583, 0x01c038e5, 0x00000400, 0x04408807,
- 0x00001208, 0x00002171, 0x0000f009, 0x00000c06, 0x00001583, 0x04008007,
- 0x00001208, 0x00002171, 0x0000f009, 0x00001406, 0x00001583, 0x03c07807,
- 0x00001208, 0x00002171, 0x0000f009, 0x00001c06, 0x00009583, 0x03807007,
- 0x00001208, 0x00002171, 0x0000f009, 0x00002406, 0x00001583, 0x03406807,
- 0x00001208, 0x00002171, 0x0000f009, 0x00002c06, 0x00009583, 0x02c05807,
- 0x00001208, 0x00002171, 0x0000f009, 0x00002171, 0x00007400, 0x00003406,
- 0x00009583, 0x03006007, 0x00001208, 0x00004c05, 0x00009583, 0x02001c05,
- 0x0000e2b1, 0x01800000, 0x000089b0, 0x02001c08, 0x000060b0, 0x3840e406,
- 0x0000c0b1, 0x00002164, 0x00007018, 0x0187f800, 0x00001980, 0x01804006,
- 0x00009800, 0x018030e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01c00200,
- 0x00007904, 0x0187fa09, 0x0000e280, 0x01c03007, 0x00008200, 0x02004006,
- 0x00001800, 0x02004007, 0x00001300, 0x10004400, 0x0000f904, 0xc1002712,
- 0x0000e283, 0x01400c05, 0x00000081, 0x01909212, 0x00001910, 0x216847c4,
- 0x00007111, 0x01800000, 0x00001980, 0x216c2007, 0x0000f500, 0x00104806,
- 0x00006986, 0x02803006, 0x00009900, 0x6c003009, 0x00007902, 0x04800000,
- 0x00000000, 0xffffffff, 0x00007fa7, 0x00001006, 0x00006c04, 0x6c383009,
- 0x00002880, 0x82400a09, 0x00009080, 0x80068209, 0x00001582, 0x81802a09,
- 0x00001790, 0x8240fa09, 0x00006290, 0x02203406, 0x00008911, 0x000021a0,
- 0x00007008, 0x02400000, 0x0000e181, 0x01904fe4, 0x00004800, 0x01c032ec,
- 0x00009100, 0x00204c08, 0x00001503, 0x0000219d, 0x0000701b, 0x00001c09,
- 0x00009583, 0x0180700e, 0x00001908, 0x00002192, 0x00007009, 0x00001c09,
- 0x00009583, 0x00002188, 0x0000f01b, 0x00000c09, 0x00001583, 0x01808010,
- 0x00001908, 0x00002192, 0x00007009, 0x00001409, 0x00001583, 0x0180780f,
- 0x00001908, 0x00002192, 0x00007009, 0x00002191, 0x00007000, 0x00002c09,
- 0x00009583, 0x0180580b, 0x00001908, 0x00002192, 0x00007009, 0x00002c09,
- 0x00009583, 0x0180680d, 0x00009928, 0x00002192, 0x0000f029, 0x00003409,
- 0x00009583, 0x0180600c, 0x00001908, 0x00002192, 0x00007009, 0x01808811,
- 0x00009900, 0x00204c08, 0x00001503, 0x01803806, 0x00001208, 0xffffffff,
- 0x00007f86, 0x02803006, 0x00001b00, 0x0007280a, 0x00006502, 0x0180500a,
- 0x00000900, 0x82402c09, 0x00001890, 0x82503209, 0x00009010, 0x0000219d,
- 0x0000f008, 0x68067a09, 0x0000789a, 0x09000000, 0x0000908d, 0x02400c09,
- 0x00009081, 0x00003c09, 0x00001583, 0x0000217a, 0x0000f013, 0x827ff801,
- 0x00009980, 0x01000c04, 0x00009081, 0x4cbffa09, 0x0000f892, 0x01000003,
- 0x00000080, 0x0420281e, 0x00006087, 0x08001aae, 0x00003106, 0x29000000,
- 0x00007900, 0x000100c0, 0x00000980, 0xebb00600, 0x0000e101, 0x8620201e,
- 0x0000e087, 0x398c1800, 0x00007900, 0x00198f26, 0x00000980, 0x39c3c800,
- 0x00007900, 0x003ec9b2, 0x00000980, 0xabb81400, 0x00008a3c, 0x21b21eb0,
- 0x00007500, 0x2b78ef1c, 0x00000a30, 0x2ac0871e, 0x00000a91, 0x00000405,
- 0x00009583, 0xb910b216, 0x0000e108, 0x01000000, 0x00004990, 0x81280500,
- 0x00006110, 0x01b00004, 0x00004990, 0x700040ec, 0x0000d690, 0x00382544,
- 0x00008008, 0x700000ec, 0x00005690, 0x00000000, 0x00008080, 0xc1909212,
- 0x00001910, 0x700000ec, 0x00005690, 0x00000000, 0x00008080, 0x00000000,
- 0x0000f088, 0x700040ec, 0x00005680, 0x003837c0, 0x00000078, 0x00c002ec,
- 0x0000df80, 0x120e180b, 0x00009684, 0xb910b216, 0x00001900, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x00007083, 0x02ff2fe5, 0x00008030, 0x01000000,
- 0x00006181, 0x034728e5, 0x00004900, 0x00001c04, 0x00001583, 0x01c08811,
- 0x00009908, 0x000021e0, 0x00007009, 0x00001c04, 0x00001583, 0x000021d5,
- 0x0000701b, 0x00000c04, 0x00009583, 0x01c09813, 0x00009908, 0x000021e0,
- 0x00007009, 0x00001404, 0x00009583, 0x01c03006, 0x00009908, 0x000021e0,
- 0x00007009, 0x000021de, 0x0000f000, 0x00002c04, 0x00001583, 0x01c04809,
- 0x00009908, 0x000021e0, 0x00007009, 0x00002c04, 0x00001583, 0x01c08010,
- 0x00001928, 0x000021e0, 0x0000f029, 0x00003404, 0x00001583, 0x01c0700e,
- 0x00009908, 0x000021e0, 0x00007009, 0x01c0a014, 0x00001900, 0xffffffff,
+ 0x00009081, 0x43b8400c, 0x00002800, 0x43b8900f, 0x0000a080, 0x80007a0f,
+ 0x00009582, 0xffffffff, 0x00007f97, 0x84689512, 0x00006118, 0x0f409410,
+ 0x00006032, 0x43a08811, 0x0000a019, 0xffffffff, 0x00007f86, 0x00000001,
+ 0x0000749b, 0x84689512, 0x00006118, 0x03c00c11, 0x00004199, 0x43b07811,
+ 0x0000a819, 0x508088ec, 0x0000a081, 0xffffffff, 0x00007fa7, 0x04400c11,
+ 0x00001181, 0x509888ec, 0x00002882, 0x84608410, 0x00001900, 0x50808c11,
+ 0x00002080, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x84608410,
+ 0x00006100, 0x03c00c11, 0x00004181, 0x50807c11, 0x0000a880, 0x82000ee3,
+ 0x00006283, 0x82000ee3, 0x00000780, 0x26b84a08, 0x0000a08c, 0x26b84a08,
+ 0x00002014, 0xffffffff, 0x00007fa7, 0x02400809, 0x0000e090, 0x02400809,
+ 0x00008088, 0x00000001, 0x0000f481, 0x26b84a08, 0x0000288c, 0x26b84a08,
+ 0x0000a814, 0x02400002, 0x0000e180, 0xc2104208, 0x00004900, 0x02882804,
+ 0x00006180, 0x82002d00, 0x0000c880, 0xc2980a08, 0x00006080, 0xc2680500,
+ 0x00000900, 0x760010ec, 0x00005680, 0x00384800, 0x00008000, 0x763850ec,
+ 0x0000d600, 0x000ff800, 0x00000080, 0x760000ec, 0x0000d680, 0x00000000,
+ 0x00008080, 0x00c002ec, 0x0000df80, 0x1107c00b, 0x00009684, 0xb9184308,
+ 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x020004e4,
+ 0x000080a4, 0x10ff10ca, 0x0000f500, 0x827f1fe3, 0x00001900, 0x03c04809,
+ 0x00009900, 0x827f1fe3, 0x00001900, 0x43804809, 0x00002080, 0xffffffff,
+ 0x00007f86, 0x000010ea, 0x00007403, 0x827f1fe3, 0x00006100, 0x0287c409,
+ 0x00004281, 0x43805009, 0x0000a880, 0x0fbf2fe5, 0x0000833c, 0x01400000,
+ 0x0000e181, 0x100728e5, 0x00004900, 0x00001c05, 0x00009583, 0x0280700e,
+ 0x00001908, 0x00001120, 0x00007009, 0x00001c05, 0x00009583, 0x00001115,
+ 0x0000701b, 0x00000c05, 0x00001583, 0x0281e03c, 0x00001908, 0x00001120,
+ 0x00007009, 0x00001405, 0x00001583, 0x02803006, 0x00001908, 0x00001120,
+ 0x00007009, 0x0000111e, 0x0000f000, 0x00002c05, 0x00009583, 0x02804809,
+ 0x00001908, 0x00001120, 0x00007009, 0x00002c05, 0x00009583, 0x02804008,
+ 0x00009928, 0x00001120, 0x0000f029, 0x00003405, 0x00009583, 0x0280600c,
+ 0x00001908, 0x00001120, 0x00007009, 0x0281e83d, 0x00009900, 0xffffffff,
+ 0x00007f86, 0x0100500a, 0x00009b00, 0x00072804, 0x0000e502, 0x02802004,
+ 0x00000900, 0x01400c05, 0x00001089, 0x00001127, 0x0000f011, 0x4ac03c05,
+ 0x0000788a, 0x48800000, 0x00000888, 0x81402c05, 0x00009880, 0x82905205,
+ 0x00001000, 0x80067a0a, 0x00009582, 0x0000112c, 0x00007033, 0x82bff801,
+ 0x00009980, 0x82400000, 0x000080e2, 0x65bffa0a, 0x0000788a, 0x00800003,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x43b8280a, 0x0000a080, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x01003c05, 0x00001283, 0x8100fa0a,
+ 0x0000e288, 0x81402a0a, 0x00008788, 0x011027e4, 0x00009808, 0x0000114e,
+ 0x00007010, 0x00000405, 0x00006583, 0x010020e5, 0x00000400, 0x0f41e804,
+ 0x00001208, 0x00001163, 0x0000f009, 0x00000c05, 0x00001583, 0x0f01e004,
+ 0x00001208, 0x00001163, 0x0000f009, 0x00001405, 0x00001583, 0x03c07804,
+ 0x00001208, 0x00001163, 0x0000f009, 0x00001c05, 0x00009583, 0x03807004,
+ 0x00001208, 0x00001163, 0x0000f009, 0x00002405, 0x00001583, 0x03406804,
+ 0x00001208, 0x00001163, 0x0000f009, 0x00002c05, 0x00009583, 0x02c05804,
+ 0x00001208, 0x00001163, 0x0000f009, 0x00001163, 0x00007400, 0x00003405,
+ 0x00009583, 0x03006004, 0x00001208, 0x00004c09, 0x00009583, 0x01801c09,
+ 0x000062b1, 0x01000000, 0x000009b0, 0x01801c06, 0x000060b0, 0x3841f404,
+ 0x000040b1, 0x0000115e, 0x00007018, 0x0107f800, 0x00009980, 0x01003004,
+ 0x00001800, 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01400200,
+ 0x0000f904, 0x0107fa0a, 0x00006280, 0x01402005, 0x00000200, 0x01803004,
+ 0x00009800, 0x01803005, 0x00009300, 0x10003400, 0x00007904, 0x43b8280a,
+ 0x0000a080, 0x02400c09, 0x00009081, 0xffffffff, 0x00007f97, 0x00001805,
+ 0x0000ec04, 0x43b8280a, 0x00002880, 0x82800a0a, 0x00009080, 0x8006820a,
+ 0x00001582, 0x01c00000, 0x0000e191, 0x81002a0a, 0x0000c790, 0x8280fa0a,
+ 0x00006290, 0x01a02404, 0x00000911, 0x00001192, 0x0000f008, 0x011057e4,
+ 0x00009800, 0x014022ec, 0x00009100, 0x00203c06, 0x00001503, 0x0000118f,
+ 0x0000701b, 0x00001c07, 0x00001583, 0x0100700e, 0x00009908, 0x00001184,
+ 0x0000f009, 0x00001c07, 0x00001583, 0x0000117a, 0x0000701b, 0x00000c07,
+ 0x00009583, 0x0101e03c, 0x00009908, 0x00001184, 0x0000f009, 0x00001407,
+ 0x00009583, 0x0100780f, 0x00009908, 0x00001184, 0x0000f009, 0x00001183,
+ 0x00007000, 0x00002c07, 0x00001583, 0x0100580b, 0x00009908, 0x00001184,
+ 0x0000f009, 0x00002c07, 0x00001583, 0x0100680d, 0x00001928, 0x00001184,
+ 0x00007029, 0x00003407, 0x00001583, 0x0100600c, 0x00009908, 0x00001184,
+ 0x0000f009, 0x0101e83d, 0x00001900, 0x00203c06, 0x00001503, 0x01002804,
+ 0x00009208, 0xffffffff, 0x00007f86, 0x02802004, 0x00001b00, 0x0007280a,
+ 0x00006502, 0x0100500a, 0x00008900, 0x81c02c07, 0x00001890, 0x82902207,
+ 0x00009010, 0x0000118f, 0x0000f008, 0x64867a0a, 0x0000f89a, 0x98800000,
+ 0x0000088c, 0x01c00c07, 0x00009081, 0x00003c07, 0x00009583, 0x0000116c,
+ 0x00007013, 0x82bff801, 0x00009980, 0x02000c08, 0x00009081, 0x4bfffa0a,
+ 0x0000f892, 0x00800003, 0x00000080, 0x04204840, 0x0000e087, 0x08001a76,
+ 0x00003106, 0x22800000, 0x00007900, 0x000140c0, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x86204040, 0x00006087, 0x22340800, 0x0000f900, 0x002f51f0,
+ 0x00008980, 0x2273c800, 0x0000f900, 0x00065644, 0x00008980, 0x9db81400,
+ 0x0000871c, 0x11a40f4f, 0x0000f500, 0x1d79ff3e, 0x00000914, 0x25010740,
+ 0x000088a9, 0x00000001, 0x0000f080, 0x818001e4, 0x0000018c, 0x023f2fe5,
+ 0x00008024, 0x01800000, 0x0000e181, 0x028728e5, 0x0000c900, 0x00001c06,
+ 0x00009583, 0x08003807, 0x00009908, 0x000011c0, 0x0000f009, 0x00001c06,
+ 0x00009583, 0x000011b5, 0x0000701b, 0x00000c06, 0x00001583, 0x0800680d,
+ 0x00009908, 0x000011c0, 0x0000f009, 0x00001406, 0x00001583, 0x0800580b,
+ 0x00009908, 0x000011c0, 0x0000f009, 0x000011be, 0x0000f000, 0x00002c06,
+ 0x00009583, 0x08002004, 0x00009908, 0x000011c0, 0x0000f009, 0x00002c06,
+ 0x00009583, 0x08002805, 0x00001928, 0x000011c0, 0x00007029, 0x00003406,
+ 0x00009583, 0x0800600c, 0x00009908, 0x000011c0, 0x0000f009, 0x0800700e,
+ 0x00001900, 0xffffffff, 0x00007f86, 0x03c10020, 0x00001b00, 0x0007280f,
+ 0x00006502, 0x0800780f, 0x00008900, 0x01800c06, 0x00001089, 0x000011c7,
+ 0x00007011, 0x72c03c06, 0x0000f88a, 0x48800000, 0x0000088d, 0x81802c06,
+ 0x00009880, 0x88110206, 0x00001000, 0x80067a20, 0x00001582, 0x000011cc,
+ 0x0000f033, 0x883ff801, 0x00001980, 0x86c00000, 0x000081ea, 0x8f7ffa20,
+ 0x0000788a, 0x00800003, 0x00000080, 0xffffffff, 0x00007f86, 0x43807820,
+ 0x0000f902, 0x04c00000, 0x00008000, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0x01803c0f, 0x00001281, 0x00000c06, 0x00001583, 0x00002406,
+ 0x00009593, 0x83c0fa20, 0x0000e290, 0x81802a20, 0x00000790, 0x03d07fe4,
+ 0x00009810, 0x000011f1, 0x0000f008, 0x00000406, 0x00006583, 0x03c078e5,
+ 0x00000400, 0x0380700f, 0x00009208, 0x0000120b, 0x00007009, 0x00000c06,
+ 0x00001583, 0x0340680f, 0x00009208, 0x0000120b, 0x00007009, 0x00001406,
+ 0x00001583, 0x02c0580f, 0x00009208, 0x0000120b, 0x00007009, 0x00001c06,
+ 0x00009583, 0x01c0380f, 0x00009208, 0x0000120b, 0x00007009, 0x00002406,
+ 0x00001583, 0x0140280f, 0x00009208, 0x0000120b, 0x00007009, 0x00002c06,
+ 0x00009583, 0x0100200f, 0x00009208, 0x0000120b, 0x00007009, 0x0000120b,
+ 0x0000f400, 0x00003406, 0x00009583, 0x0300600f, 0x00009208, 0x00004c1b,
+ 0x00009583, 0x04401c1b, 0x000062b1, 0x03c00000, 0x000089b0, 0x04401c11,
+ 0x000060b0, 0x3840440f, 0x0000c0b1, 0x00001201, 0x00007018, 0x03c7f800,
+ 0x00001980, 0x03c0880f, 0x00001800, 0x03c078e5, 0x00009400, 0xffffffff,
+ 0x00007f86, 0x04000200, 0x00007904, 0x03c7fa20, 0x00006280, 0x04007810,
+ 0x00008200, 0x0440880f, 0x00001800, 0x04408810, 0x00001300, 0x10008c00,
+ 0x00007904, 0xc3c08713, 0x0000e283, 0x06c00c1b, 0x00000081, 0x120438b7,
+ 0x0000f113, 0x120610ca, 0x00007300, 0x83d10220, 0x00001900, 0x43807820,
+ 0x0000f902, 0x04c00000, 0x00008000, 0xffffffff, 0x00007fa7, 0x0000100f,
+ 0x00006c04, 0x43b87820, 0x0000a880, 0x88000a20, 0x00009080, 0x80068220,
+ 0x00009582, 0x04400000, 0x00006191, 0x81802a20, 0x0000c790, 0x8800fa20,
+ 0x00009290, 0x00001239, 0x00007008, 0x03d107e4, 0x00009800, 0x04007aec,
+ 0x00009100, 0x00208c06, 0x00009503, 0x00001236, 0x0000f01b, 0x00001c11,
+ 0x00009583, 0x03c03807, 0x00001908, 0x0000122b, 0x0000f009, 0x00001c11,
+ 0x00009583, 0x00001221, 0x0000f01b, 0x00000c11, 0x00001583, 0x03c0680d,
+ 0x00001908, 0x0000122b, 0x0000f009, 0x00001411, 0x00001583, 0x03c0580b,
+ 0x00001908, 0x0000122b, 0x0000f009, 0x0000122a, 0x00007000, 0x00002c11,
+ 0x00009583, 0x03c02004, 0x00001908, 0x0000122b, 0x0000f009, 0x00002c11,
+ 0x00009583, 0x03c02805, 0x00009928, 0x0000122b, 0x00007029, 0x00003411,
+ 0x00009583, 0x03c0600c, 0x00001908, 0x0000122b, 0x0000f009, 0x03c0700e,
+ 0x00009900, 0x00208c06, 0x00009503, 0x03c0800f, 0x00001208, 0xffffffff,
+ 0x00007f86, 0x0480780f, 0x00001b00, 0x00072812, 0x00006502, 0x03c09012,
+ 0x00000900, 0x84402c11, 0x00001890, 0x88107a11, 0x00001010, 0x00001236,
+ 0x00007008, 0x8e467a20, 0x0000f89a, 0xd0800000, 0x00000981, 0x04400c11,
+ 0x00009081, 0x00003c11, 0x00001583, 0x00001213, 0x0000f013, 0x883ff801,
+ 0x00001980, 0x06800c1a, 0x00009081, 0x73fffa20, 0x0000f892, 0x00800003,
+ 0x00000080, 0x0420d80a, 0x00006087, 0x08001a76, 0x00003106, 0x22800000,
+ 0x00007900, 0x000140c0, 0x00008980, 0xddb00600, 0x0000e101, 0x8620d00a,
+ 0x0000e087, 0x220c1800, 0x0000f900, 0x00198f26, 0x00000980, 0x2243c800,
+ 0x0000f900, 0x003ec9b2, 0x00000980, 0x9db81400, 0x0000871c, 0x124b0f4f,
+ 0x00007500, 0x1d784f08, 0x00000914, 0x2500ff0a, 0x000008a9, 0x0000041b,
+ 0x00009583, 0xb9183306, 0x0000e108, 0x01000000, 0x00004990, 0x81280500,
+ 0x00006110, 0x01f00004, 0x0000c990, 0x700040ec, 0x0000d690, 0x00382544,
+ 0x00008008, 0x700000ec, 0x00005690, 0x00000000, 0x00008080, 0xc1d09a13,
+ 0x00009910, 0x700000ec, 0x00005690, 0x00000000, 0x00008080, 0x00000000,
+ 0x0000f088, 0x700040ec, 0x00005680, 0x00383fc0, 0x00008078, 0x00c002ec,
+ 0x0000df80, 0x1112e00b, 0x00009684, 0xb9183306, 0x00001900, 0xffffffff,
+ 0x00007fa7, 0x00000000, 0x00007083, 0x023f2fe5, 0x00008024, 0x01000000,
+ 0x00006181, 0x028728e5, 0x0000c900, 0x00001c04, 0x00001583, 0x01c0780f,
+ 0x00009908, 0x00001279, 0x00007009, 0x00001c04, 0x00001583, 0x0000126e,
+ 0x0000701b, 0x00000c04, 0x00009583, 0x01c08811, 0x00009908, 0x00001279,
+ 0x00007009, 0x00001404, 0x00009583, 0x01c03006, 0x00009908, 0x00001279,
+ 0x00007009, 0x00001277, 0x0000f000, 0x00002c04, 0x00001583, 0x01c0680d,
+ 0x00009908, 0x00001279, 0x00007009, 0x00002c04, 0x00001583, 0x01c0700e,
+ 0x00001928, 0x00001279, 0x0000f029, 0x00003404, 0x00001583, 0x01c0600c,
+ 0x00009908, 0x00001279, 0x00007009, 0x01c09012, 0x00001900, 0xffffffff,
0x00007f86, 0x01403807, 0x00001b00, 0x00072805, 0x00006502, 0x01c02805,
- 0x00008900, 0x01000c04, 0x00001089, 0x000021e7, 0x0000f011, 0x7ac03c04,
- 0x0000f88a, 0x49000000, 0x0000108e, 0x81002c04, 0x00009880, 0x81d03a04,
- 0x00009000, 0x80067a07, 0x00001582, 0x000021ec, 0x00007033, 0x81fff801,
- 0x00001980, 0x02000000, 0x00001981, 0x94fffa07, 0x0000f88a, 0x01000003,
- 0x00000080, 0xffffffff, 0x00007f86, 0x6c385007, 0x00002080, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f97, 0x01003c0a, 0x00009281, 0x00000c04,
+ 0x00008900, 0x01000c04, 0x00001089, 0x00001280, 0x00007011, 0xa1003c04,
+ 0x0000f88a, 0x10800000, 0x00008983, 0x81002c04, 0x00009880, 0x81d03a04,
+ 0x00009000, 0x80067a07, 0x00001582, 0x00001285, 0x00007033, 0x81fff801,
+ 0x00001980, 0x02c00000, 0x00001981, 0xbb3ffa07, 0x0000788a, 0x00800003,
+ 0x00000080, 0xffffffff, 0x00007f86, 0x43b8a007, 0x00002080, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x01003c14, 0x00009281, 0x00000c04,
0x00009583, 0x8100fa07, 0x00006290, 0x81402a07, 0x00000790, 0x011027e4,
- 0x00009810, 0x0000220f, 0x00007008, 0x00000405, 0x00006583, 0x010020e5,
- 0x00000400, 0x0500a004, 0x00001208, 0x00002222, 0x0000f009, 0x00000c05,
- 0x00001583, 0x04c09804, 0x00001208, 0x00002222, 0x0000f009, 0x00001405,
- 0x00001583, 0x04809004, 0x00001208, 0x00002222, 0x0000f009, 0x00001c05,
- 0x00009583, 0x04408804, 0x00001208, 0x00002222, 0x0000f009, 0x00002405,
- 0x00001583, 0x04008004, 0x00001208, 0x00002222, 0x0000f009, 0x00002c05,
- 0x00009583, 0x03c07804, 0x00001208, 0x00002222, 0x0000f009, 0x00002222,
- 0x00007400, 0x00003405, 0x00009583, 0x03807004, 0x00001208, 0x00004c08,
- 0x00001583, 0x01801c08, 0x0000e2b1, 0x01000000, 0x000009b0, 0x01801c06,
- 0x000060b0, 0x38405c04, 0x000040b1, 0x0000221f, 0x00007018, 0x0107f800,
+ 0x00009810, 0x000012a8, 0x0000f008, 0x00000405, 0x00006583, 0x010020e5,
+ 0x00000400, 0x04809004, 0x00001208, 0x000012bb, 0x0000f009, 0x00000c05,
+ 0x00001583, 0x04408804, 0x00001208, 0x000012bb, 0x0000f009, 0x00001405,
+ 0x00001583, 0x04008004, 0x00001208, 0x000012bb, 0x0000f009, 0x00001c05,
+ 0x00009583, 0x03c07804, 0x00001208, 0x000012bb, 0x0000f009, 0x00002405,
+ 0x00001583, 0x03807004, 0x00001208, 0x000012bb, 0x0000f009, 0x00002c05,
+ 0x00009583, 0x03406804, 0x00001208, 0x000012bb, 0x0000f009, 0x000012bb,
+ 0x00007400, 0x00003405, 0x00009583, 0x03006004, 0x00001208, 0x00004c0b,
+ 0x00001583, 0x01801c0b, 0x0000e2b1, 0x01000000, 0x000009b0, 0x01801c06,
+ 0x000060b0, 0x38404404, 0x000040b1, 0x000012b8, 0x0000f018, 0x0107f800,
0x00009980, 0x01003004, 0x00001800, 0x010020e5, 0x00009400, 0xffffffff,
0x00007f86, 0x01400200, 0x0000f904, 0x0107fa07, 0x0000e280, 0x01402005,
0x00000200, 0x01803004, 0x00009800, 0x01803005, 0x00009300, 0x10003400,
- 0x00007904, 0x02000c08, 0x00006081, 0x0000200a, 0x00002404, 0x6c385007,
+ 0x00007904, 0x02c00c0b, 0x00006081, 0x00002014, 0x00002404, 0x43b8a007,
0x0000a880, 0x81c00a07, 0x00009080, 0x80068207, 0x00009582, 0x01800000,
0x00006191, 0x81002a07, 0x00004790, 0x81c0fa07, 0x00006290, 0x01602404,
- 0x00000911, 0x00002253, 0x00007008, 0x00000405, 0x00006583, 0x01103fe4,
- 0x00008800, 0x010022ec, 0x00001100, 0x00002250, 0x00007019, 0x00001c06,
- 0x00009583, 0x01c08811, 0x00009908, 0x00002243, 0x00007009, 0x00001c06,
- 0x00009583, 0x00002239, 0x0000f01b, 0x00000c06, 0x00001583, 0x01c09813,
- 0x00009908, 0x00002243, 0x00007009, 0x00001406, 0x00001583, 0x01c09012,
- 0x00009908, 0x00002243, 0x00007009, 0x00002242, 0x0000f000, 0x00002c06,
- 0x00009583, 0x01c0780f, 0x00009908, 0x00002243, 0x00007009, 0x00002c06,
- 0x00009583, 0x01c08010, 0x00001928, 0x00002243, 0x0000f029, 0x00003406,
- 0x00009583, 0x01c0700e, 0x00009908, 0x00002243, 0x00007009, 0x01c0a014,
+ 0x00000911, 0x000012ec, 0x0000f008, 0x00000405, 0x00006583, 0x01103fe4,
+ 0x00008800, 0x010022ec, 0x00001100, 0x000012e9, 0x0000f019, 0x00001c06,
+ 0x00009583, 0x01c0780f, 0x00009908, 0x000012dc, 0x00007009, 0x00001c06,
+ 0x00009583, 0x000012d2, 0x0000f01b, 0x00000c06, 0x00001583, 0x01c08811,
+ 0x00009908, 0x000012dc, 0x00007009, 0x00001406, 0x00001583, 0x01c08010,
+ 0x00009908, 0x000012dc, 0x00007009, 0x000012db, 0x0000f000, 0x00002c06,
+ 0x00009583, 0x01c0680d, 0x00009908, 0x000012dc, 0x00007009, 0x00002c06,
+ 0x00009583, 0x01c0700e, 0x00001928, 0x000012dc, 0x0000f029, 0x00003406,
+ 0x00009583, 0x01c0600c, 0x00009908, 0x000012dc, 0x00007009, 0x01c09012,
0x00001900, 0x00203405, 0x00009503, 0x01c02007, 0x00001208, 0xffffffff,
- 0x00007f86, 0x01c03807, 0x00009b00, 0x00072807, 0x0000e502, 0x02403807,
- 0x00000900, 0x81802c06, 0x00001890, 0x81d04a06, 0x00001010, 0x00002250,
- 0x00007008, 0x94c67a07, 0x0000f89a, 0x01000001, 0x00000000, 0x7bfffa07,
- 0x00007892, 0x99000002, 0x00009182, 0x01800c06, 0x00009081, 0x00403c06,
- 0x0000c589, 0x7fe03005, 0x00007d1e, 0x8620400d, 0x00006087, 0x08001aae,
- 0x00003106, 0x29000000, 0x00007900, 0x000100c0, 0x00000980, 0x39933000,
- 0x0000f900, 0x00198f26, 0x00000980, 0x39fb4800, 0x00007900, 0x00007fea,
- 0x00008980, 0xaba00500, 0x00008a3a, 0x2bf85f02, 0x00008a34, 0x22601eb0,
- 0x00007500, 0x2b386f0c, 0x00000a2c, 0xa9009800, 0x00009980, 0x00000001,
+ 0x00007f86, 0x01c03807, 0x00009b00, 0x00072807, 0x0000e502, 0x04c03807,
+ 0x00008900, 0x81802c06, 0x00001890, 0x81d09a06, 0x00009010, 0x000012e9,
+ 0x0000f008, 0xbb067a07, 0x0000789a, 0x00800001, 0x00000000, 0xa23ffa07,
+ 0x0000f892, 0x60800002, 0x00000987, 0x01800c06, 0x00009081, 0x00403c06,
+ 0x0000c589, 0x7fe03005, 0x00007d1e, 0x8620580a, 0x0000e087, 0x08001a76,
+ 0x00003106, 0x22800000, 0x00007900, 0x000140c0, 0x00008980, 0x22133000,
+ 0x00007900, 0x00198f26, 0x00000980, 0x227b4800, 0x0000f900, 0x00007fea,
+ 0x00008980, 0x9da00500, 0x0000871a, 0x1df84702, 0x00008714, 0x12f90f4f,
+ 0x00007500, 0x25785709, 0x00008910, 0xa2811000, 0x00001980, 0x00000001,
0x0000f080, 0x01000000, 0x00009980, 0x01400000, 0x00001980, 0x01800000,
0x00001980, 0x01c00000, 0x00009980, 0x02000000, 0x00009980, 0x02400000,
0x00001980, 0x02800000, 0x00001980, 0x02c00000, 0x00009980, 0x03000000,
@@ -40207,11144 +46551,5624 @@ ARRAY_DECL u32 init_val[] = {
0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0e000ce0,
- 0x00006283, 0x0e800000, 0x00000981, 0x8239deec, 0x0000a694, 0x0f771fe4,
- 0x00001810, 0x00000001, 0x00007088, 0x00000001, 0x0000f481, 0x0ec1d83d,
- 0x00001202, 0x0e800800, 0x00009991, 0x0f400000, 0x00007900, 0x000010c4,
- 0x00008980, 0x8e002d00, 0x0000e080, 0x001a003d, 0x0000e106, 0x8ee80500,
- 0x0000e100, 0xced80238, 0x0000c080, 0x7039e8ec, 0x00005600, 0x0039d800,
- 0x00000000, 0x0ec00004, 0x00006180, 0xce9722e4, 0x0000c900, 0x0f400000,
- 0x00007900, 0x00007fc0, 0x00000980, 0x8222003b, 0x00006080, 0x001a003d,
- 0x00003186, 0x7039f8ec, 0x0000d600, 0x0039f000, 0x00000000, 0x90402d00,
- 0x00006080, 0x0417103b, 0x00006187, 0x7039e8ec, 0x00005600, 0x0039d800,
- 0x00000000, 0x00c002ec, 0x0000df80, 0x1219d80b, 0x00009684, 0x233c230f,
- 0x00007100, 0xb919d33a, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0x1ff9e6ec, 0x0000a080, 0x0e21dfe4, 0x00001800, 0xffffffff,
- 0x00007f97, 0x0e01e038, 0x00009202, 0x29000000, 0x0000f910, 0x000100c0,
- 0x00000980, 0xa9001800, 0x0000e190, 0xebb00600, 0x00004911, 0x00000001,
- 0x00007088, 0x39990000, 0x0000f900, 0x0019b31e, 0x00008980, 0x39d7f800,
- 0x00007900, 0x0019b31e, 0x00008980, 0xaba80500, 0x00006101, 0x08001aae,
- 0x00006106, 0x00001eb0, 0x0000f400, 0x2bf9df02, 0x00008a34, 0x2af9d739,
- 0x00008a30, 0x2a803000, 0x00006180, 0xc69722e4, 0x00004900, 0x29abf800,
- 0x00007900, 0x00030d36, 0x00000980, 0x29c63800, 0x0000f900, 0x0023a288,
- 0x00008980, 0x235a1eba, 0x0000f500, 0xe9781100, 0x00000a26, 0xeab71ee3,
- 0x00009900, 0x7f7902ec, 0x00002080, 0x07a807e4, 0x00009800, 0xffffffff,
- 0x00007f97, 0x00000020, 0x0000e582, 0x07c1001e, 0x00000300, 0x7f78faec,
- 0x0000a880, 0x2a803000, 0x0000e190, 0x2941001e, 0x0000c310, 0x00002373,
- 0x00007008, 0x298d9000, 0x00007900, 0x001ca46e, 0x00000980, 0x23691eba,
- 0x0000f500, 0x29ff0000, 0x00007900, 0x0023a286, 0x00000980, 0xea48f2e3,
- 0x00000a2a, 0x00c002ec, 0x0000df80, 0x121b580b, 0x00009684, 0xea4032e3,
- 0x00008aa8, 0x29945000, 0x0000f900, 0x0022c118, 0x00000980, 0x29ffe800,
- 0x00007900, 0x0023a286, 0x00000980, 0x23731eba, 0x00007500, 0x7f7d2aec,
- 0x0000a080, 0xea90f21e, 0x00009900, 0x2a803000, 0x00006180, 0x2940e81d,
- 0x0000c900, 0x29af9000, 0x00007900, 0x00129cfc, 0x00008980, 0x237c1eba,
- 0x00007500, 0x29d87000, 0x0000f900, 0x00201c32, 0x00000980, 0xeab71ee3,
- 0x0000e100, 0x2a40d81b, 0x0000c900, 0x08000000, 0x0000e180, 0x4a40f2b0,
- 0x00004980, 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x00181020,
- 0x00006186, 0x863f1029, 0x0000b087, 0x783900ec, 0x0000d600, 0x00394800,
- 0x00000000, 0x07c0e81d, 0x00006100, 0x4a40fab0, 0x0000c980, 0x7838f8ec,
- 0x0000d600, 0x00000000, 0x00008080, 0x780408ec, 0x00005680, 0x00000000,
- 0x00008080, 0x783900ec, 0x0000d600, 0x00394800, 0x00000000, 0x7838d8ec,
- 0x00005600, 0x00000000, 0x00008080, 0x780408ec, 0x00005680, 0x00000000,
- 0x00008080, 0x4a4102b0, 0x0000e180, 0x86402d00, 0x0000c880, 0x783900ec,
- 0x0000d600, 0x00394800, 0x00000000, 0x06c00002, 0x0000e180, 0x47c10ab0,
- 0x00004980, 0x780008ec, 0x0000d680, 0x00000000, 0x00008080, 0xc7ff17e2,
- 0x0000e101, 0xc8180219, 0x0000c080, 0x86403800, 0x0000e180, 0xc6e80500,
- 0x0000c900, 0x29a8d800, 0x0000f900, 0x0024d58a, 0x00008980, 0x29c20800,
- 0x00007900, 0x0023a288, 0x00008980, 0x23a31eba, 0x0000f500, 0x2a802006,
- 0x00008ad4, 0x2a50ca19, 0x00009900, 0x09c00002, 0x00009980, 0xc9e80500,
- 0x00009900, 0x710020ec, 0x0000d680, 0x00393800, 0x00008000, 0x00c002ec,
- 0x0000df80, 0x121d480b, 0x00001684, 0x780008ec, 0x0000d680, 0x0038d800,
- 0x00008000, 0x783900ec, 0x0000d600, 0x0038f800, 0x00000000, 0x86400a19,
- 0x00001180, 0x00c002ec, 0x0000df80, 0x121d800b, 0x00009684, 0x80000219,
- 0x0000e582, 0x8a802d00, 0x00000880, 0x3039382a, 0x00002080, 0x8a400000,
- 0x00001980, 0x8a400800, 0x00001990, 0xffffffff, 0x00007f86, 0x00000027,
- 0x00006582, 0x09c00000, 0x00008980, 0x09c00800, 0x00001988, 0xffffffff,
- 0x00007f86, 0x06a14c27, 0x00001203, 0x80000219, 0x00001582, 0xffffffff,
- 0x00007f86, 0x0000239c, 0x0000f010, 0x000023cc, 0x0000f010, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x02841800, 0x00007900, 0x0023a288,
- 0x00008980, 0x02c71000, 0x00007900, 0x0004c912, 0x00000980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x23cc1e83,
- 0x0000f500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002,
- 0x0000c900, 0x7f78eaec, 0x0000a080, 0x0800f0e5, 0x00001400, 0xffffffff,
- 0x00007f97, 0x07c0e820, 0x0000e200, 0x09c0e820, 0x00000200, 0x0740e820,
- 0x00001202, 0xb918d31a, 0x00009908, 0x7f78faec, 0x0000a880, 0x7f40eaec,
- 0x00002010, 0xffffffff, 0x00007f86, 0x00000000, 0x0000f08b, 0x0001041d,
- 0x0000e583, 0x86002c1d, 0x00000780, 0x00000418, 0x00009583, 0xffffffff,
- 0x00007f86, 0x000023fd, 0x00007008, 0x000023fd, 0x00007010, 0x0740fc1d,
- 0x00001281, 0x0760efe4, 0x00001800, 0x0740eaec, 0x00001100, 0x0740f81d,
- 0x00009200, 0xffffffff, 0x00007f86, 0x0740e81d, 0x00001b00, 0x0007281d,
- 0x00009502, 0x8610ea1d, 0x00009910, 0x000023fd, 0x0000f009, 0xff40fa1d,
- 0x0000f89a, 0x61000000, 0x0000118f, 0x8000fa1d, 0x0000e582, 0x8610ea1d,
- 0x00008900, 0x000023ec, 0x0000f033, 0x863ff801, 0x00009980, 0x7f40caec,
- 0x00002000, 0x29403727, 0x00000aa8, 0x299dd800, 0x0000f900, 0x001d2520,
- 0x00008980, 0x29e41800, 0x00007900, 0x0023a288, 0x00008980, 0xea90f21e,
- 0x0000e100, 0x06400c19, 0x0000c081, 0x23f71eba, 0x00007500, 0x7f40caec,
- 0x0000a800, 0x2a60cc19, 0x00009900, 0x0750c7e4, 0x00006000, 0xb918d31a,
- 0x00004900, 0x8038eaec, 0x0000d604, 0x00000000, 0x00008080, 0xffffffff,
- 0x00007f97, 0x00000000, 0x00007083, 0x7f4002ec, 0x00005000, 0x00400000,
- 0x00008082, 0x07413827, 0x00001b00, 0xfa07281d, 0x0000f812, 0x59000000,
- 0x0000918f, 0x0107f806, 0x0000e280, 0x10004809, 0x00008900, 0x24071f24,
- 0x0000f500, 0x0ff83f08, 0x00008334, 0x0ec02004, 0x00001900, 0x00008405,
- 0x0000e583, 0xffc00000, 0x00008980, 0x01400100, 0x0000e180, 0x81002000,
- 0x00004990, 0x81002800, 0x0000e188, 0x453f1005, 0x00006003, 0x01c40000,
- 0x0000f900, 0x001f8000, 0x00008980, 0x04102007, 0x00006101, 0xc3371805,
- 0x0000b006, 0x20383eec, 0x00005600, 0x00382800, 0x00008000, 0x008006ec,
- 0x0000df80, 0x00000000, 0x00000084, 0x17c02004, 0x0000e100, 0x0020280e,
- 0x0000e086, 0x8228280e, 0x0000e886, 0x0418280e, 0x00006987, 0x03c0700e,
- 0x00009900, 0x171a4000, 0x0000f900, 0x00185b02, 0x00008980, 0x1780780f,
- 0x00001900, 0xffffffff, 0x00007ff7, 0x82c06cec, 0x0000f902, 0x03000000,
- 0x00008604, 0xffffffff, 0x00007fa7, 0x0380680d, 0x00006100, 0x0000200c,
- 0x00006586, 0x1740700e, 0x00006100, 0x0428280c, 0x0000e087, 0x24281f46,
- 0x0000f500, 0x8620280c, 0x0000e887, 0x16c0600c, 0x00001900, 0x03400000,
- 0x00007900, 0x000200c0, 0x00000980, 0x03000080, 0x0000e180, 0x557f100d,
- 0x0000e003, 0x03840000, 0x0000f900, 0x00004000, 0x00000980, 0x83000002,
- 0x000080bc, 0x8ae04405, 0x0000c388, 0x00404405, 0x00000098, 0x8ae01c05,
- 0x00004388, 0x00401c05, 0x00008098, 0x01000c05, 0x0000c589, 0x83601405,
- 0x00000788, 0x94802c05, 0x0000c698, 0x64407405, 0x00000999, 0x04005c05,
- 0x000047a1, 0x87a07c05, 0x0000078d, 0x21c08405, 0x0000788b, 0x21000000,
- 0x00009285, 0x243e2325, 0x00007404, 0x0ff83f06, 0x00000338, 0x10009f00,
- 0x00009980, 0x0000043a, 0x00009583, 0x85bf1fe3, 0x00001908, 0x6c00b016,
- 0x0000a088, 0x00002447, 0x00007010, 0xffffffff, 0x00007f97, 0x05803c16,
- 0x00001281, 0x05801416, 0x00001181, 0x00000c16, 0x00009583, 0x0000244b,
- 0x0000f01b, 0x0000247b, 0x00007400, 0x02768000, 0x00007900, 0x0023bb56,
- 0x00000980, 0xc1b8303a, 0x00000020, 0x3040ca41, 0x0000f902, 0x06000000,
- 0x00000000, 0x3078b041, 0x00002000, 0x3038b841, 0x0000a080, 0x05000000,
- 0x000081d4, 0x80000619, 0x0000e583, 0x0430c815, 0x00002087, 0x0018c014,
- 0x00006186, 0x0018b015, 0x0000b196, 0x85a0bc17, 0x00009900, 0xd7f8ae16,
- 0x0000d000, 0x0038a000, 0x00008000, 0x06000800, 0x00001981, 0x00000418,
- 0x00006583, 0x05800000, 0x00000980, 0x06000800, 0x0000e191, 0x06003000,
- 0x00004989, 0x05400000, 0x00007900, 0x00010000, 0x00000980, 0x05c00000,
- 0x00006180, 0xd360c015, 0x0000e004, 0x05009000, 0x0000f900, 0x0000c5c0,
- 0x00008980, 0x06402805, 0x00006100, 0xc0001817, 0x00006006, 0x06b83f06,
- 0x0000012c, 0x07384f08, 0x00000134, 0x07b85f0a, 0x0000013c, 0x06281704,
- 0x00000118, 0x00881eec, 0x00005f80, 0x00d07140, 0x000001c4, 0x06383f06,
- 0x0000811c, 0x246e2325, 0x00007404, 0x0ff83f06, 0x00000338, 0x10009e00,
- 0x00001980, 0x0000043a, 0x00009583, 0x85bf1fe3, 0x00001908, 0x6c00b016,
- 0x0000a088, 0x00002477, 0x00007010, 0xffffffff, 0x00007f97, 0x05803c16,
- 0x00001281, 0x05801416, 0x00001181, 0x00000c16, 0x00009583, 0x0000247c,
- 0x0000701b, 0x02799800, 0x00007900, 0x0023bb56, 0x00000980, 0x0238bf18,
- 0x0000001c, 0x01a1d43a, 0x00009900, 0x247c2402, 0x00007100, 0x3000b441,
- 0x00007902, 0x05400000, 0x00008000, 0x3038b841, 0x0000a080, 0xffffffff,
- 0x00007f97, 0xc0000716, 0x00001583, 0x85a0bc17, 0x00001910, 0xd7f0ae16,
- 0x0000a891, 0x40000515, 0x00001583, 0x00002457, 0x0000f400, 0x85a0bc17,
- 0x00001910, 0xd7c0ae16, 0x0000a892, 0x248a2325, 0x00007404, 0x0ff83f06,
- 0x00000338, 0x10009a00, 0x00009980, 0x0000043a, 0x00009583, 0x85bf1fe3,
- 0x00001908, 0x6c006816, 0x0000a088, 0x00002493, 0x00007010, 0xffffffff,
- 0x00007f97, 0x03403c0d, 0x00001281, 0x0340140d, 0x00001181, 0x00000c0d,
- 0x00009583, 0x00002497, 0x0000701b, 0x0000247b, 0x00007400, 0x02736800,
- 0x00007900, 0x0023bb56, 0x00000980, 0xc1b8303a, 0x00000020, 0x3000a841,
- 0x0000f902, 0x04400000, 0x00000000, 0x3038a241, 0x00002080, 0x04c00000,
- 0x0000e180, 0x8000080c, 0x00006485, 0x04800000, 0x0000f900, 0x00007fc0,
- 0x00000980, 0x000820ec, 0x0000d780, 0x00007000, 0x00000080, 0x00002457,
- 0x0000f400, 0x83000e0c, 0x00006081, 0x0400a815, 0x00008900, 0x04a0a414,
- 0x00008034, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02907000,
- 0x0000f900, 0x0023bb56, 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa,
- 0x00008980, 0x03000000, 0x00006180, 0x08001a08, 0x00006106, 0x82200500,
- 0x00008022, 0x02782702, 0x00008034, 0x24b21e83, 0x00007500, 0x01882805,
- 0x00008018, 0x81c02800, 0x00006180, 0xc1982b05, 0x0000c900, 0x00002458,
- 0x0000f200, 0x06000000, 0x00009981, 0xffc00000, 0x00001980, 0xffffffff,
- 0x00007f86, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x01000000,
- 0x000080d4, 0x01800000, 0x000080dc, 0x02000000, 0x000080e4, 0x02800000,
- 0x000080ec, 0x03000000, 0x000080f4, 0x03800000, 0x000080fc, 0x04000000,
- 0x000081c4, 0x04800000, 0x000081cc, 0x05000000, 0x000081d4, 0x05c00000,
- 0x000081d8, 0xffffffff, 0x0000ffb7, 0x82c0e2ec, 0x0000f902, 0x06000000,
- 0x00008604, 0x7f90c8ec, 0x0000f902, 0x06200200, 0x00008001, 0x7f60dcec,
- 0x0000a080, 0xffffffff, 0x00007f97, 0x80000219, 0x0000e582, 0x06000c18,
- 0x00000081, 0x7f80c0ec, 0x0000a800, 0x000025c0, 0x00007009, 0x8000021b,
- 0x00009582, 0x8010da19, 0x00001502, 0xffffffff, 0x00007f86, 0x0000261a,
- 0x00007008, 0x000025d5, 0x00007008, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x0000c0ec, 0x0000a080, 0x02800800, 0x00007900, 0x00220200,
- 0x00000980, 0x05c00000, 0x00006180, 0x01c00100, 0x00004980, 0x01000000,
- 0x00007900, 0x00200140, 0x00000980, 0x00000418, 0x00006583, 0x00001817,
- 0x00002106, 0x42800800, 0x00006191, 0xc0001817, 0x00006006, 0x00000418,
- 0x00006583, 0x05801002, 0x00008900, 0x01400000, 0x0000f900, 0x0001c040,
- 0x00008980, 0x01818000, 0x0000f900, 0x00004c00, 0x00000980, 0x05009000,
- 0x0000f900, 0x000142c0, 0x00000980, 0x05400000, 0x00007900, 0x00010030,
- 0x00000980, 0x02500000, 0x00007900, 0x00006030, 0x00008980, 0x02000020,
- 0x00006180, 0x02c00000, 0x0000c980, 0x03000000, 0x000080f4, 0x03800000,
- 0x000080fc, 0x04000000, 0x000081c4, 0x0000268f, 0x0000f408, 0x04800000,
- 0x000081cc, 0x8300121b, 0x00006790, 0x81181302, 0x00000900, 0xffffffff,
- 0x00007f86, 0x83000a0c, 0x00009282, 0x0347f800, 0x0000e191, 0x0307f800,
- 0x00004991, 0x03400000, 0x0000e189, 0x03000000, 0x00004989, 0x000024fb,
- 0x0000f010, 0x83400a1b, 0x00006780, 0x43206c0d, 0x00000901, 0x83400a0d,
- 0x00009282, 0x0347f800, 0x0000e191, 0x8307f800, 0x0000c991, 0x03400000,
- 0x0000e189, 0x83000000, 0x0000c989, 0x00002503, 0x0000f010, 0x83400a1b,
- 0x0000e282, 0xc3206c0d, 0x00008901, 0x0387f800, 0x0000e191, 0x0347f800,
- 0x0000c991, 0x03800000, 0x0000e189, 0x03400000, 0x0000c989, 0x0000250a,
- 0x0000f010, 0x4360740e, 0x00006101, 0x8650ca1b, 0x00004300, 0x8380321b,
- 0x0000e780, 0x8360cc19, 0x00008901, 0x83800a0e, 0x00006282, 0x86404219,
- 0x00008780, 0xc360cc19, 0x00009901, 0x0000267f, 0x0000f009, 0x83c7f8ff,
- 0x000080fa, 0x83c02a1b, 0x00006780, 0x43a07c0f, 0x00008901, 0x83c00a0f,
- 0x00009282, 0x03c7f800, 0x00006191, 0x8387f800, 0x00004991, 0x03c00000,
- 0x00006189, 0x83800000, 0x00004989, 0x0000251b, 0x0000f010, 0x83c0221b,
- 0x0000e780, 0xc3a07c0f, 0x00000901, 0x83c00a0f, 0x00009282, 0x0607f800,
- 0x00006191, 0x03c7f800, 0x00004991, 0x06000000, 0x00006189, 0x03c00000,
- 0x00004989, 0x00002523, 0x00007010, 0x86001a1b, 0x00006780, 0x43e0c418,
- 0x00000901, 0x86000a18, 0x00009282, 0x0607f800, 0x00006191, 0x83c7f800,
- 0x0000c991, 0x06000000, 0x00006189, 0x83c00000, 0x0000c989, 0x0000252b,
- 0x0000f010, 0x86003a1b, 0x0000e780, 0xc3e0c418, 0x00008901, 0x86000a18,
- 0x00009282, 0x0607f800, 0x00006191, 0x8447f800, 0x0000c991, 0x06000000,
- 0x00006189, 0x84400000, 0x0000c989, 0x00002533, 0x0000f010, 0xc460c418,
- 0x00001901, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x008808ec, 0x00005780, 0x00007001, 0x00008080, 0x7f80c0ec,
- 0x0000a001, 0x06800800, 0x00009981, 0xffffffff, 0x00007f97, 0x06000c18,
- 0x00009081, 0x7f98c0ec, 0x00002802, 0x0601a01c, 0x00001080, 0x7f78c6ec,
- 0x0000a880, 0x7fa0d8ec, 0x0000a880, 0x7f80c0ec, 0x00002082, 0x7f40dcec,
- 0x0000a082, 0xffffffff, 0x00007f97, 0x80000218, 0x00009582, 0x000025c9,
- 0x0000f00b, 0x8000021b, 0x00009582, 0x8010da18, 0x00009502, 0xffffffff,
- 0x00007f86, 0x0000269d, 0x00007008, 0x000025dc, 0x00007008, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0x0000c8ec, 0x00002080, 0x02800800,
- 0x00007900, 0x00220200, 0x00000980, 0x05c00000, 0x00006180, 0x01c00100,
- 0x00004980, 0x01000000, 0x00007900, 0x00200140, 0x00000980, 0x00000419,
- 0x0000e583, 0x00001817, 0x00002106, 0x42800800, 0x00006191, 0xc0001817,
- 0x00006006, 0x00000419, 0x0000e583, 0x05801002, 0x00008900, 0x01400000,
- 0x0000f900, 0x0001c840, 0x00000980, 0x01818000, 0x0000f900, 0x00004c00,
- 0x00000980, 0x05009000, 0x0000f900, 0x000142c0, 0x00000980, 0x05400000,
- 0x00007900, 0x00010030, 0x00000980, 0x02500000, 0x00007900, 0x00006030,
- 0x00008980, 0x02000020, 0x00006180, 0x02c00000, 0x0000c980, 0x03000000,
- 0x000080f4, 0x03800000, 0x000080fc, 0x04000000, 0x000081c4, 0x00002681,
- 0x00007408, 0x04800000, 0x000081cc, 0x8300121b, 0x00006790, 0x81181302,
- 0x00000900, 0xffffffff, 0x00007f86, 0x83000a0c, 0x00009282, 0x0347f800,
- 0x0000e191, 0x0307f800, 0x00004991, 0x03400000, 0x0000e189, 0x03000000,
- 0x00004989, 0x00002574, 0x0000f010, 0x83400a1b, 0x00006780, 0x43206c0d,
- 0x00000901, 0x83400a0d, 0x00009282, 0x0347f800, 0x0000e191, 0x8307f800,
- 0x0000c991, 0x03400000, 0x0000e189, 0x83000000, 0x0000c989, 0x0000257c,
- 0x00007010, 0x83400a1b, 0x0000e282, 0xc3206c0d, 0x00008901, 0x0387f800,
- 0x0000e191, 0x0347f800, 0x0000c991, 0x03800000, 0x0000e189, 0x03400000,
- 0x0000c989, 0x00002583, 0x00007010, 0x4360740e, 0x00006101, 0x8610c21b,
- 0x00004300, 0x8380321b, 0x0000e780, 0x8360c418, 0x00008901, 0x83800a0e,
- 0x00006282, 0x86004218, 0x00008780, 0xc360c418, 0x00009901, 0x00002618,
- 0x00007009, 0x83c7f8ff, 0x000080fa, 0x83c02a1b, 0x00006780, 0x43a07c0f,
- 0x00008901, 0x83c00a0f, 0x00009282, 0x03c7f800, 0x00006191, 0x8387f800,
- 0x00004991, 0x03c00000, 0x00006189, 0x83800000, 0x00004989, 0x00002594,
- 0x00007010, 0x83c0221b, 0x0000e780, 0xc3a07c0f, 0x00000901, 0x83c00a0f,
- 0x00009282, 0x0607f800, 0x00006191, 0x03c7f800, 0x00004991, 0x06000000,
- 0x00006189, 0x03c00000, 0x00004989, 0x0000259c, 0x0000f010, 0x86001a1b,
- 0x00006780, 0x43e0c418, 0x00000901, 0x86000a18, 0x00009282, 0x0607f800,
- 0x00006191, 0x83c7f800, 0x0000c991, 0x06000000, 0x00006189, 0x83c00000,
- 0x0000c989, 0x000025a4, 0x00007010, 0x86003a1b, 0x0000e780, 0xc3e0c418,
- 0x00008901, 0x86000a18, 0x00009282, 0x0607f800, 0x00006191, 0x8447f800,
- 0x0000c991, 0x06000000, 0x00006189, 0x84400000, 0x0000c989, 0x000025ac,
- 0x0000f010, 0xc460c418, 0x00001901, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780, 0x00007001,
- 0x00008080, 0x7f80c0ec, 0x0000a001, 0xffffffff, 0x00007fa7, 0x06000c18,
- 0x00009081, 0x7f98c0ec, 0x00002802, 0x0601a01c, 0x00001080, 0x7f78c6ec,
- 0x00002800, 0x06000800, 0x00001981, 0x0620d418, 0x00001303, 0x7f88d8ec,
- 0x00002882, 0x000025cf, 0x00007011, 0x100028ec, 0x0000d680, 0x00000000,
- 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x8000021b,
- 0x00009582, 0x06800000, 0x00009989, 0x0000264a, 0x0000f011, 0x7fa0d8ec,
- 0x0000a880, 0x7f80c0ec, 0x00002082, 0x7f40dcec, 0x0000a082, 0xffffffff,
- 0x00007f97, 0x80000218, 0x00009582, 0x00002546, 0x00007013, 0x8000021b,
- 0x00009582, 0x06000000, 0x00001989, 0x000025e3, 0x0000f011, 0x0620d418,
- 0x00001303, 0x7f88d8ec, 0x00002882, 0x000025bc, 0x0000f009, 0x7101a0ec,
- 0x0000d680, 0x52000800, 0x00008080, 0x100028ec, 0x0000d680, 0x00000000,
- 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x7f78c6ec,
- 0x00002080, 0xffffffff, 0x00007fa7, 0x06000818, 0x00001180, 0x0000e018,
- 0x00009502, 0x06800000, 0x000099d9, 0x000024d2, 0x0000f071, 0x000025c3,
- 0x00007000, 0x7f78ceec, 0x00002000, 0xffffffff, 0x00007fa7, 0x06400819,
- 0x00001180, 0x0000e019, 0x00001502, 0x06000000, 0x000019d9, 0x0000254b,
- 0x00007071, 0x000025cc, 0x00007000, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x0000c0ec, 0x0000a080, 0x02800800, 0x00007900, 0x00220200,
- 0x00000980, 0x05c00000, 0x00006180, 0x01c00100, 0x00004980, 0x01000000,
- 0x00007900, 0x00200140, 0x00000980, 0x00000418, 0x00006583, 0x00001817,
- 0x00002106, 0x42800800, 0x00006191, 0xc0001817, 0x00006006, 0x00000418,
- 0x00006583, 0x05801002, 0x00008900, 0x01400000, 0x0000f900, 0x0001c840,
- 0x00000980, 0x01818000, 0x0000f900, 0x00004c00, 0x00000980, 0x05009000,
- 0x0000f900, 0x000142c0, 0x00000980, 0x05400000, 0x00007900, 0x00010030,
- 0x00000980, 0x02500000, 0x00007900, 0x00006030, 0x00008980, 0x02000020,
- 0x00006180, 0x02c00000, 0x0000c980, 0x03000000, 0x000080f4, 0x03800000,
- 0x000080fc, 0x04000000, 0x000081c4, 0x00002681, 0x00007408, 0x04800000,
- 0x000081cc, 0x8300121b, 0x00006790, 0x81181302, 0x00000900, 0xffffffff,
- 0x00007f86, 0x83000a0c, 0x00009282, 0x0307f800, 0x00006191, 0x4307f800,
- 0x0000c991, 0x83400a1b, 0x00001790, 0x000026e3, 0x00007008, 0x83400a0d,
- 0x00009282, 0x8307f800, 0x00009991, 0x000026e9, 0x0000f009, 0x83400a1b,
- 0x0000e282, 0xc307f800, 0x00000981, 0x0347f800, 0x00009991, 0x000026ee,
- 0x00007009, 0x8380421b, 0x00006780, 0x4347f800, 0x00000981, 0x4370db0e,
- 0x00008035, 0x8380321b, 0x00001780, 0x83800a0e, 0x00009282, 0x0000258b,
- 0x0000f013, 0x0000258c, 0x00007200, 0x83c00000, 0x000080fa, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0x0000c0ec, 0x0000a080, 0x02800800,
- 0x00007900, 0x00220200, 0x00000980, 0x05c00000, 0x000080f4, 0x01000000,
- 0x00007900, 0x00200140, 0x00000980, 0x00000418, 0x00006583, 0x00001817,
- 0x00002106, 0x42800800, 0x00006191, 0xc0001817, 0x00006006, 0x00000418,
- 0x00006583, 0x01c00100, 0x00008980, 0x01400000, 0x0000f900, 0x0001c040,
- 0x00008980, 0x01818000, 0x0000f900, 0x00004c00, 0x00000980, 0x05009000,
- 0x0000f900, 0x000142c0, 0x00000980, 0x05400000, 0x00007900, 0x00010030,
- 0x00000980, 0x02500000, 0x00007900, 0x00006030, 0x00008980, 0x05801002,
- 0x00006100, 0x02000020, 0x00004980, 0x02c00000, 0x000080f0, 0x03800000,
- 0x000080fc, 0x04000000, 0x000081c4, 0x00002640, 0x0000f408, 0x04800000,
- 0x000081cc, 0x81181302, 0x0000e100, 0xc3400000, 0x00004988, 0x03400000,
- 0x000080f0, 0x43400619, 0x000080b8, 0x86404219, 0x0000e780, 0x03c00000,
- 0x00008980, 0x43600319, 0x00000185, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780, 0x00007001,
- 0x00008080, 0x7fa0c0ec, 0x00002001, 0x06800000, 0x00001981, 0x00002540,
- 0x00007403, 0x06000c18, 0x00009081, 0x7fb0c0ec, 0x00002801, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0x0000c0ec, 0x0000a080, 0x02800800,
- 0x00007900, 0x00220200, 0x00000980, 0x05c00000, 0x00006180, 0x01c00100,
- 0x00004980, 0x01000000, 0x00007900, 0x00200140, 0x00000980, 0x00000418,
- 0x00006583, 0x00001817, 0x00002106, 0x42800800, 0x00006191, 0xc0001817,
- 0x00006006, 0x00000418, 0x00006583, 0x05801002, 0x00008900, 0x01400000,
- 0x0000f900, 0x0001c040, 0x00008980, 0x01818000, 0x0000f900, 0x00004c00,
- 0x00000980, 0x05009000, 0x0000f900, 0x000142c0, 0x00000980, 0x05400000,
- 0x00007900, 0x00010030, 0x00000980, 0x02500000, 0x00007900, 0x00006030,
- 0x00008980, 0x02000020, 0x00006180, 0x02c00000, 0x0000c980, 0x03000000,
- 0x000080f4, 0x03800000, 0x000080fc, 0x04000000, 0x000081c4, 0x0000268f,
- 0x0000f408, 0x04800000, 0x000081cc, 0x8300121b, 0x00006790, 0x81181302,
- 0x00000900, 0xffffffff, 0x00007f86, 0x83000a0c, 0x00009282, 0x0307f800,
- 0x00006191, 0x4307f800, 0x0000c991, 0x83400a1b, 0x00001790, 0x000026d1,
- 0x0000f008, 0x83400a0d, 0x00009282, 0x8307f800, 0x00009991, 0x000026d7,
- 0x00007009, 0x83400a1b, 0x0000e282, 0xc307f800, 0x00000981, 0x0347f800,
- 0x00009991, 0x000026dc, 0x0000f009, 0x8380421b, 0x00006780, 0x4347f800,
- 0x00000981, 0x4370db0e, 0x00008035, 0x8380321b, 0x00001780, 0x83800a0e,
- 0x00009282, 0x00002512, 0x0000f013, 0x00002513, 0x00007200, 0x83c00000,
- 0x000080fa, 0xc3572ae5, 0x00001900, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x008808ec, 0x00005780, 0x00007001,
- 0x00008080, 0x7f80c0ec, 0x0000a001, 0xffffffff, 0x00007fa7, 0x06000c18,
- 0x00009081, 0x7f98c0ec, 0x00002802, 0x0601a01c, 0x00001080, 0x000025b9,
- 0x00007400, 0x7f78c6ec, 0x00002800, 0x06000800, 0x00001981, 0xc3572ae5,
- 0x00001900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x008808ec, 0x00005780, 0x00007001, 0x00008080, 0x7f80c0ec,
- 0x0000a001, 0x06800800, 0x00009981, 0xffffffff, 0x00007f97, 0x06000c18,
- 0x00009081, 0x7f98c0ec, 0x00002802, 0x00002540, 0x00007400, 0x0601a01c,
- 0x00001080, 0x7f78c6ec, 0x0000a880, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x0000c8ec, 0x00002080, 0x02800800, 0x00007900, 0x00220200,
- 0x00000980, 0x05c00000, 0x000080f4, 0x01000000, 0x00007900, 0x00200140,
- 0x00000980, 0x00000419, 0x0000e583, 0x00001817, 0x00002106, 0x42800800,
- 0x00006191, 0xc0001817, 0x00006006, 0x00000419, 0x0000e583, 0x01c00100,
- 0x00008980, 0x01400000, 0x0000f900, 0x0001c840, 0x00000980, 0x01818000,
- 0x0000f900, 0x00004c00, 0x00000980, 0x05009000, 0x0000f900, 0x000142c0,
- 0x00000980, 0x05400000, 0x00007900, 0x00010030, 0x00000980, 0x02500000,
- 0x00007900, 0x00006030, 0x00008980, 0x05801002, 0x00006100, 0x02000020,
- 0x00004980, 0x02c00000, 0x000080f0, 0x03800000, 0x000080fc, 0x04000000,
- 0x000081c4, 0x000026c3, 0x00007408, 0x04800000, 0x000081cc, 0x81181302,
- 0x0000e100, 0xc3400000, 0x00004988, 0x03400000, 0x000080f0, 0x43400618,
- 0x000000b8, 0x86004218, 0x0000e780, 0x03c00000, 0x00008980, 0x43600318,
- 0x00008185, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x008808ec, 0x00005780, 0x00007001, 0x00008080, 0x7fa0c0ec,
- 0x00002001, 0x7f88d8ec, 0x00002882, 0xffffffff, 0x00007f97, 0x06000c18,
- 0x00009081, 0x7fb0c0ec, 0x00002801, 0x06000000, 0x00009981, 0x0620d418,
- 0x00001303, 0x000025bc, 0x0000700b, 0x000025cf, 0x00007000, 0x43400000,
- 0x000080f1, 0x83400a1b, 0x00006780, 0x43206c0d, 0x00000901, 0x83400a0d,
- 0x00009282, 0x8307f800, 0x00009991, 0x00002675, 0x0000f011, 0x83400a1b,
- 0x0000e282, 0xc3000000, 0x00008980, 0xc3000000, 0x0000e181, 0x0347f800,
- 0x0000c991, 0x00002679, 0x0000f011, 0x43800000, 0x000080f4, 0x8370db0e,
- 0x00008035, 0x8380421b, 0x00009780, 0x8380321b, 0x0000e780, 0xc360740e,
- 0x00000901, 0x44800a0e, 0x0000f897, 0xf9000000, 0x00001383, 0x43400000,
- 0x000080f1, 0x83400a1b, 0x00006780, 0x43206c0d, 0x00000901, 0x83400a0d,
- 0x00009282, 0x8307f800, 0x00009991, 0x0000260e, 0x0000f011, 0x83400a1b,
- 0x0000e282, 0xc3000000, 0x00008980, 0xc3000000, 0x0000e181, 0x0347f800,
- 0x0000c991, 0x00002612, 0x00007011, 0x43800000, 0x000080f4, 0x8370db0e,
- 0x00008035, 0x8380421b, 0x00009780, 0x8380321b, 0x0000e780, 0xc360740e,
- 0x00000901, 0x62c00a0e, 0x0000f897, 0xc1000000, 0x00009380, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0x82c032ec, 0x00007902, 0x01000000,
- 0x00000604, 0x7f9024ec, 0x0000a082, 0xffffffff, 0x00007fa7, 0x01000c04,
- 0x00009081, 0x7f9824ec, 0x0000a881, 0x7f8024ec, 0x0000a080, 0xffffffff,
- 0x00007fa7, 0x00000404, 0x00001583, 0x7fb822ec, 0x0000a090, 0x00002712,
- 0x0000f009, 0xffffffff, 0x00007f86, 0x01003004, 0x00001100, 0x01000804,
- 0x00009182, 0x0000272b, 0x00007073, 0x7f8024ec, 0x00002081, 0xffffffff,
- 0x00007fa7, 0x00000404, 0x00001583, 0x010030e5, 0x00009410, 0x7fb82aec,
- 0x0000a010, 0x0000271b, 0x00007008, 0xffffffff, 0x00007f97, 0x01002804,
- 0x00001002, 0x0000271f, 0x0000f073, 0x100030ec, 0x0000d680, 0x00000000,
- 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x7f8024ec,
- 0x0000a001, 0xffffffff, 0x00007fa7, 0x01000c04, 0x00009081, 0x7f9824ec,
- 0x00002802, 0x7fa004ec, 0x0000d082, 0x00400000, 0x00008000, 0x000800ec,
- 0x0000d680, 0x00000000, 0x00008080, 0x100030ec, 0x0000d680, 0x00000000,
- 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x7f8024ec,
- 0x0000a001, 0xffffffff, 0x00007fa7, 0x01000c04, 0x00009081, 0x7f9824ec,
- 0x00002802, 0x00002712, 0x00007400, 0x7f8004ec, 0x00005082, 0x00400000,
- 0x00008000, 0x000000ec, 0x00005680, 0x00000000, 0x00008080, 0x41020509,
- 0x00001283, 0x8100fe09, 0x00001283, 0xffffffff, 0x00007f86, 0x00002739,
- 0x00007010, 0x0000274f, 0x0000f008, 0x01400000, 0x00006180, 0x0bc04f04,
- 0x0000e000, 0x0c004e04, 0x0000e000, 0x0c804c04, 0x0000b000, 0x0c404d04,
- 0x00006000, 0x0b004e05, 0x0000b000, 0x29000000, 0x00007900, 0x00010080,
- 0x00008980, 0x0b404d05, 0x00006000, 0x0b804c05, 0x0000b000, 0x39854000,
- 0x0000f900, 0x000222ac, 0x00000980, 0x39ffc000, 0x0000f900, 0x0004d85c,
- 0x00000980, 0x2ac00000, 0x0000e180, 0x08001aae, 0x00006106, 0xaba00500,
- 0x00008a3a, 0x274d1eb0, 0x00007500, 0x2bf82702, 0x00008a34, 0x2b00af05,
- 0x00008a91, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xc1010706,
- 0x00001283, 0x02400000, 0x00009988, 0x00002739, 0x0000f011, 0xc000030f,
- 0x0000f900, 0x00000002, 0x00008582, 0xc036eb0f, 0x0000f900, 0x00000020,
- 0x00008582, 0xffffffff, 0x00007f86, 0x00002773, 0x0000f008, 0x0000277e,
- 0x00007008, 0xc0000310, 0x00007900, 0x00000002, 0x00008582, 0x02008418,
- 0x0000e088, 0x08008404, 0x0000600a, 0x02004319, 0x00006308, 0x0168bd17,
- 0x00000909, 0x00002767, 0x0000f008, 0xc036eb10, 0x00007900, 0x00000020,
- 0x00008582, 0x0168e51c, 0x0000e109, 0x0f008404, 0x0000e00a, 0x0200841d,
- 0x00009888, 0x00002786, 0x0000f010, 0x0200431e, 0x00009300, 0x00040c05,
- 0x00006583, 0x0400600c, 0x00008900, 0x02c87f0e, 0x00008026, 0x03286c0d,
- 0x00008030, 0x0000277b, 0x00007008, 0x00001c04, 0x00001583, 0x0000274d,
- 0x00007013, 0x02b86708, 0x00008014, 0x0138570b, 0x00000030, 0x27733a18,
- 0x00007404, 0x02f88709, 0x00000028, 0x02782705, 0x00000020, 0x40040d16,
- 0x0000e583, 0x02008417, 0x00008880, 0x0400600c, 0x00006100, 0x08007c04,
- 0x00006002, 0x02c0700e, 0x00006100, 0x02004318, 0x0000c300, 0x0000276c,
- 0x0000f210, 0x03286c0d, 0x00008030, 0x277c3c4a, 0x00007100, 0x008006ec,
- 0x0000df80, 0x00000000, 0x00000084, 0x0200841c, 0x0000e080, 0x0f007c04,
- 0x0000e002, 0x0438770c, 0x0000802c, 0x0200431d, 0x00006300, 0xc3186b0d,
- 0x00000900, 0x83106a0d, 0x00001900, 0xfee40d1b, 0x00004589, 0x7c801c04,
- 0x00007e95, 0x00107805, 0x0000e186, 0x08001aae, 0x00003106, 0x29000000,
- 0x00007900, 0x00010080, 0x00008980, 0x2b000000, 0x00006180, 0x04108005,
- 0x00006187, 0x3986c800, 0x0000f900, 0x0006782a, 0x00000980, 0x39dfc800,
- 0x0000f900, 0x000f1048, 0x00000980, 0x2ac00000, 0x0000e180, 0xebb00600,
- 0x0000c901, 0x27951eb0, 0x00007500, 0xabb81400, 0x00008a3c, 0x2b40b705,
- 0x00000a91, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x0107fc3a,
- 0x00006280, 0x0fc0f01e, 0x00000900, 0x279d1f24, 0x0000f500, 0x1029b000,
- 0x00007900, 0x002cdb78, 0x00000980, 0x0ef8ff04, 0x00000334, 0x01000100,
- 0x00006180, 0xffc00000, 0x00004980, 0xc0c01000, 0x0000e180, 0x453f1004,
- 0x0000e003, 0xc0000800, 0x00006181, 0xc3371804, 0x00006006, 0x00400000,
- 0x00007900, 0x00040090, 0x00000980, 0x200406ec, 0x00005680, 0x00382100,
- 0x0000bf00, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x0940071d,
- 0x000082a0, 0x0a400000, 0x0000e180, 0x00212806, 0x0000e086, 0x0a800000,
- 0x0000e180, 0x82292806, 0x00006086, 0x0ac00000, 0x00006180, 0x04192806,
- 0x0000e187, 0x01f8e706, 0x00000210, 0x170b4800, 0x00007900, 0x00053cf4,
- 0x00000980, 0x09b8ff1e, 0x0000021c, 0x17b8e707, 0x0000853c, 0xffffffff,
- 0x0000ffd7, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff,
- 0x00007fa7, 0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x17403006,
- 0x00006100, 0x04292804, 0x0000e087, 0x27c01f46, 0x0000f500, 0x86212804,
- 0x0000e887, 0x16c02004, 0x00001900, 0x00403425, 0x00004588, 0x03003c25,
- 0x0000038f, 0x27c52325, 0x0000f404, 0x0ff8ff1e, 0x00000338, 0x10009e00,
- 0x00001980, 0x0000043a, 0x00009583, 0x813f1fe3, 0x00001908, 0x6c002004,
- 0x0000a088, 0x000027ce, 0x0000f010, 0xffffffff, 0x00007f97, 0x01003c04,
- 0x00001281, 0x01001404, 0x00001181, 0x00000c04, 0x00009583, 0x000027cf,
- 0x0000f01b, 0x27cf2797, 0x0000f100, 0x30003241, 0x0000f902, 0x01400000,
- 0x00000000, 0x30004041, 0x0000f902, 0x01c00000, 0x00008000, 0x30404a41,
- 0x00007902, 0x01000000, 0x00008000, 0x05000000, 0x000081d8, 0xc0000706,
- 0x00006583, 0xb2f83016, 0x0000a000, 0x85000208, 0x00008194, 0x06402004,
- 0x00006100, 0x81003014, 0x00006000, 0x810ffa05, 0x0000e290, 0x810ff800,
- 0x00008988, 0xc0000706, 0x00006583, 0x91803014, 0x0000a000, 0x00102016,
- 0x00006100, 0xa2a03814, 0x00003000, 0x01001d06, 0x0000e291, 0x01383706,
- 0x00008909, 0x06800000, 0x000081ec, 0xb2403014, 0x0000e000, 0x92602016,
- 0x00003002, 0x05c00000, 0x00006180, 0x0f403406, 0x00006000, 0x8a000000,
- 0x00006181, 0x06004809, 0x0000c900, 0x85784708, 0x0000e100, 0x01400800,
- 0x00004981, 0x0000280c, 0x00007400, 0x01c00000, 0x00006181, 0x86b71ee3,
- 0x0000c900, 0x86ff17e2, 0x00001900, 0x41001514, 0x0000e283, 0x8a000000,
- 0x00008981, 0x81400000, 0x000000da, 0x05000000, 0x0000e188, 0x05400000,
- 0x00004988, 0x05800000, 0x00006188, 0x05c00000, 0x0000c988, 0x06000000,
- 0x0000e188, 0x06400000, 0x00004988, 0x0000280c, 0x00007400, 0x06800000,
- 0x00006188, 0x06c00000, 0x0000c988, 0x01c00800, 0x00006191, 0x01c00000,
- 0x0000c989, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x028d4800,
- 0x00007900, 0x00053cf4, 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa,
- 0x00008980, 0x03000000, 0x00006180, 0x08001a08, 0x00006106, 0x82200500,
- 0x00008022, 0x0278e702, 0x00008034, 0x280c1e83, 0x00007500, 0x01892825,
- 0x00008018, 0x81c02800, 0x00006180, 0xc1992b25, 0x0000c900, 0x00000406,
- 0x00006583, 0x02000000, 0x00000980, 0x01003000, 0x0000e191, 0x01001800,
- 0x0000c989, 0x00000406, 0x00006583, 0xc3202808, 0x00002002, 0xc0202404,
- 0x00006101, 0x01400c06, 0x00004881, 0x01001800, 0x0000e191, 0x01000000,
- 0x0000c989, 0x00400000, 0x00007900, 0x00048050, 0x00008980, 0x00000406,
- 0x00006583, 0x00202001, 0x00002006, 0x01001000, 0x00006191, 0x01000000,
- 0x0000c989, 0x07838000, 0x00007900, 0x00004000, 0x00000980, 0x00000407,
- 0x0000e583, 0x82202001, 0x0000a080, 0x86203001, 0x00006001, 0x0000001e,
- 0x0000b592, 0x00000406, 0x00006583, 0xc0c01000, 0x00000980, 0x00001204,
- 0x00006496, 0x00002a04, 0x0000b48e, 0x08c00000, 0x0000e180, 0x01a03405,
- 0x00004001, 0x07400000, 0x0000f900, 0x000200c0, 0x00000980, 0x07000080,
- 0x00006180, 0x00001823, 0x00006106, 0x41001406, 0x00006081, 0x557f101d,
- 0x0000a003, 0x08400000, 0x0000f900, 0x00018008, 0x00000980, 0x8a110220,
- 0x00006100, 0xc0001823, 0x0000e006, 0x003020ec, 0x00005702, 0x00006000,
- 0x00008080, 0x08009000, 0x00007900, 0x0000c600, 0x00008980, 0x02400000,
- 0x000000e8, 0x02c00000, 0x000001fc, 0x87381002, 0x00008208, 0x008806ec,
- 0x00005f80, 0x00d061c0, 0x00008284, 0x41800d14, 0x00006283, 0x014016a0,
- 0x00000980, 0x01000000, 0x0000e180, 0x0b006414, 0x0000e002, 0x81202000,
- 0x0000e190, 0xc0001805, 0x00006416, 0x00002845, 0x0000f010, 0x00000414,
- 0x00009583, 0x81280500, 0x00006110, 0xc0000805, 0x0000e416, 0xffffffff,
- 0x00007f86, 0x703828ec, 0x0000d600, 0x00382000, 0x00000000, 0x41000d14,
- 0x00001283, 0x000028a6, 0x00007013, 0x703080ec, 0x00005602, 0x00000000,
- 0x00008080, 0x41000d14, 0x0000e283, 0x01ba0004, 0x00000980, 0x7038c0ec,
- 0x0000d600, 0x0038c800, 0x00000000, 0x04181006, 0x00006987, 0x700010ec,
- 0x00005680, 0x003837c0, 0x00000078, 0x00000414, 0x00009583, 0xffffffff,
- 0x00007f86, 0x0000288d, 0x00007010, 0x000028c0, 0x00007008, 0x00c802ec,
- 0x00005f80, 0x1282c803, 0x000006c4, 0x02060000, 0x0000e180, 0x0e00a405,
- 0x00006000, 0x02400000, 0x000000e8, 0x00400000, 0x000000ec, 0x00000405,
- 0x00006583, 0x00001801, 0x0000a406, 0x01001414, 0x00006080, 0x80001001,
- 0x0000a586, 0x01403800, 0x0000e191, 0x80000801, 0x00006403, 0x01400000,
- 0x00006189, 0x20001008, 0x0000e402, 0xc0000c04, 0x0000e081, 0xc0000801,
- 0x00006401, 0x00000414, 0x00006583, 0x01004800, 0x00008981, 0x80602c04,
- 0x0000e101, 0x02180008, 0x00008380, 0x9660a001, 0x00006001, 0xc0005008,
- 0x00003406, 0x000028a4, 0x0000f008, 0x40c00402, 0x000082ec, 0x09400000,
- 0x00007900, 0x000200c0, 0x00000980, 0x0b603800, 0x00006180, 0x0000182b,
- 0x0000e106, 0x09000080, 0x0000e180, 0x557f1025, 0x0000e003, 0x09838000,
- 0x0000f900, 0x00004000, 0x00000980, 0x0a009000, 0x0000f900, 0x0000c600,
- 0x00008980, 0x0a400000, 0x00007900, 0x00018008, 0x00000980, 0x000048ec,
- 0x0000d780, 0x00007001, 0x00008080, 0x05000000, 0x00006180, 0xc000182b,
- 0x00006006, 0x05400000, 0x000001d8, 0x05c00000, 0x000001e0, 0x06400000,
- 0x000001e8, 0x06c00000, 0x000002f8, 0x0bc00000, 0x0000e180, 0x0c000020,
- 0x0000c980, 0x0c400000, 0x000003c8, 0x0cc00000, 0x00006180, 0x0b001002,
- 0x00004900, 0x09c00000, 0x00006180, 0x0a801002, 0x00004900, 0x89087002,
- 0x00008236, 0x008806ec, 0x00005f80, 0x00c06080, 0x000082c4, 0x00000414,
- 0x00006583, 0x0e00a405, 0x0000a000, 0x020000c0, 0x000080e4, 0x02800000,
- 0x000080ec, 0x0000285d, 0x00007210, 0x00400000, 0x0000e180, 0x20001008,
- 0x0000640a, 0xc0002000, 0x00006181, 0x00001801, 0x00006406, 0x0227f808,
- 0x00007900, 0x003ffffe, 0x00008280, 0x01005000, 0x00006181, 0xc0000008,
- 0x00006406, 0x40401000, 0x00001981, 0x00000405, 0x00006583, 0x00080001,
- 0x0000a503, 0x01403800, 0x0000e191, 0x01400000, 0x00004989, 0x00000414,
- 0x00006583, 0xc0000801, 0x0000a401, 0x80602c04, 0x00001101, 0x9660a001,
- 0x0000e801, 0x0000286e, 0x0000f010, 0x008806ec, 0x00005f80, 0x00c06080,
- 0x000081c4, 0x00000414, 0x00006583, 0x01400000, 0x00000981, 0x01000000,
- 0x00006181, 0x01400800, 0x0000c989, 0x00000414, 0x00006583, 0x07c00000,
- 0x00000980, 0x08000080, 0x00006180, 0x01000800, 0x00004991, 0x07580800,
- 0x00007900, 0x000441c0, 0x00000980, 0x0000181f, 0x00006106, 0xa2a02820,
- 0x0000b002, 0x700010ec, 0x00005680, 0x0038e800, 0x00000100, 0xc000181f,
- 0x0000e006, 0x00202020, 0x00003002, 0x703810ec, 0x00005600, 0x0038f800,
- 0x00000000, 0x08800000, 0x00006180, 0xe7a02820, 0x0000e003, 0x703900ec,
- 0x00005600, 0x00000000, 0x00008080, 0x0000284a, 0x0000f400, 0x04108022,
- 0x0000e987, 0x703910ec, 0x0000d600, 0x00006800, 0x00008003, 0x02064000,
- 0x00006180, 0x0e00a405, 0x00006000, 0x02400000, 0x000000e8, 0x0000289b,
- 0x0000f400, 0x02d01800, 0x000080c4, 0x8120200a, 0x000000c3, 0x00000c1b,
- 0x00001583, 0xd7c09605, 0x0000f90a, 0x04400000, 0x00000000, 0x02000c13,
- 0x0000e188, 0x09001c14, 0x0000a00e, 0x000029aa, 0x0000f010, 0x41002504,
- 0x00006283, 0x0b80da76, 0x00002182, 0x0260a414, 0x0000e100, 0x0b80da05,
- 0x00006182, 0x0000297b, 0x00007011, 0x18c00000, 0x00006180, 0x0d00d807,
- 0x00006006, 0x18009000, 0x0000f900, 0x00014000, 0x00008980, 0x0c00dc76,
- 0x00006000, 0x00001863, 0x0000b106, 0x1a800000, 0x000006f0, 0x02c00807,
- 0x00006282, 0x85000fe2, 0x00008880, 0x19000000, 0x00007900, 0x00040000,
- 0x00000980, 0xe4fb460a, 0x0000b038, 0x18400000, 0x00007900, 0x00018030,
- 0x00008980, 0xc0001863, 0x00006006, 0x8000086c, 0x00003416, 0x79405414,
- 0x0000a080, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000,
- 0x000087cc, 0x18801002, 0x00006100, 0x98008c76, 0x00004081, 0x9ab09e13,
- 0x0000e101, 0x9a98d31a, 0x0000c910, 0x82c02000, 0x00006190, 0x82c00000,
- 0x0000c988, 0x80000612, 0x00009583, 0x0340840a, 0x00001283, 0xffffffff,
- 0x00007f86, 0x0000296c, 0x0000f010, 0x00002943, 0x00007010, 0x00004009,
- 0x00006502, 0x19460000, 0x00008980, 0x82002205, 0x0000e080, 0xe000006c,
- 0x0000a602, 0x81d05a08, 0x00006000, 0x9b505a08, 0x00000000, 0x8200a669,
- 0x0000e080, 0x53009d6c, 0x0000a008, 0x82103a08, 0x00006000, 0x19800000,
- 0x00008980, 0x41007d6c, 0x00006283, 0x04104065, 0x00002185, 0x04006065,
- 0x0000e006, 0x00001064, 0x0000b706, 0x9d802000, 0x0000e180, 0x44006065,
- 0x0000e002, 0x59400569, 0x0000869c, 0x59401769, 0x00006391, 0xd9a02404,
- 0x00008901, 0x80008205, 0x0000e582, 0x00000070, 0x0000a583, 0x1c7c0071,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x00202066, 0x0000e206, 0xe0000864,
- 0x00003403, 0x59f88000, 0x0000f900, 0x00003ffe, 0x00000980, 0x5c800000,
- 0x0000e180, 0x80000071, 0x00006686, 0x00002925, 0x00007430, 0x1ac0df0c,
- 0x00008631, 0xdb505a76, 0x00006100, 0xdb107a0f, 0x00000900, 0x054000a0,
- 0x0000e180, 0x05000000, 0x00004980, 0x05c00080, 0x0000e180, 0x82006015,
- 0x00006007, 0x81000e1b, 0x0000e283, 0x50406015, 0x0000a003, 0x05800080,
- 0x00006180, 0xa0000817, 0x00006411, 0x85181302, 0x00006100, 0x8500341b,
- 0x0000c081, 0x01102800, 0x0000f900, 0x00014600, 0x00008980, 0x00102816,
- 0x0000e182, 0xc0007817, 0x0000b417, 0xc6903206, 0x00006100, 0x8620d814,
- 0x0000e085, 0x06c00000, 0x00006180, 0x85502a05, 0x0000c900, 0x00b826ec,
- 0x00005f00, 0x00107003, 0x00000084, 0x01c01411, 0x00001283, 0x80000205,
- 0x00009582, 0xffffffff, 0x00007f86, 0x00002a20, 0x00007010, 0x00002a20,
- 0x00007008, 0xe638a6ec, 0x00002000, 0x054000a0, 0x0000e180, 0x05c00080,
- 0x0000c980, 0x05800080, 0x00006180, 0x82006015, 0x00006007, 0x50406015,
- 0x00006003, 0xc0000064, 0x00003403, 0x00072814, 0x00006502, 0x00102816,
- 0x00002182, 0x05000814, 0x0000e090, 0xc6903206, 0x00008900, 0xe638a6ec,
- 0x00002810, 0x81000e1b, 0x0000e283, 0x05000000, 0x00008980, 0x85181302,
- 0x00006100, 0xa0000817, 0x00006411, 0x8500341b, 0x00006081, 0xc0007817,
- 0x00002417, 0x01102800, 0x0000f900, 0x00014600, 0x00008980, 0x85502a05,
- 0x0000e100, 0x8620d814, 0x0000e085, 0x06c00000, 0x00001980, 0x00b826ec,
- 0x00005f00, 0x00107003, 0x00000084, 0x4100151b, 0x00001283, 0x000028f0,
- 0x00007013, 0x41007d6c, 0x00006283, 0x19460000, 0x00008980, 0x82c0220b,
- 0x0000e088, 0x0010006c, 0x00002506, 0x00004009, 0x00006502, 0xe000006c,
- 0x0000a602, 0x82002205, 0x0000e080, 0x53009d6c, 0x0000a008, 0x81d05a08,
- 0x00006000, 0x9b505a08, 0x00000000, 0x8200a669, 0x0000e080, 0x19800000,
- 0x00008980, 0x82103a08, 0x00006000, 0x00001064, 0x00002706, 0x9d802000,
- 0x0000e180, 0x04104065, 0x0000e185, 0x19c00000, 0x0000e180, 0x04006065,
- 0x0000e006, 0x41007d6c, 0x00006283, 0x44006065, 0x00002002, 0x1c7c0071,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x59ab4b04, 0x00008615, 0xd340506a,
- 0x0000e004, 0x00000070, 0x00003583, 0xe0000864, 0x00006403, 0x80000071,
- 0x00003686, 0x59f88000, 0x0000f900, 0x00003ffe, 0x00000980, 0x5c800000,
- 0x0000e180, 0x00202066, 0x0000e206, 0x1ac0df0c, 0x00008631, 0xdb107a0f,
- 0x0000e100, 0xdb505a76, 0x0000c100, 0x59401769, 0x00009391, 0x22208205,
- 0x0000449b, 0x40401411, 0x00008a94, 0x88000205, 0x0000788a, 0x51400000,
- 0x00009489, 0x9a909212, 0x00006100, 0x8000086c, 0x0000e406, 0x82c0220b,
- 0x00009080, 0x49a00807, 0x0000428f, 0xe6400c11, 0x00008a92, 0xefe0840a,
- 0x0000458f, 0x77e0151b, 0x0000fd92, 0xe638a6ec, 0x0000a080, 0xc0000064,
- 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072814, 0x00009502, 0x05000814,
- 0x00001090, 0xe638a6ec, 0x0000a890, 0xeee0840a, 0x0000c58f, 0x7760151b,
- 0x00007c96, 0x8102060c, 0x00001283, 0x8500170c, 0x00009890, 0x84c05a14,
- 0x0000f912, 0x03400000, 0x00008000, 0x000028d1, 0x00007008, 0x85003814,
- 0x0000a000, 0xffffffff, 0x00007fa7, 0x00000c07, 0x00009583, 0x02c0680b,
- 0x00009118, 0x000028d1, 0x00007031, 0x0013b00b, 0x00009502, 0x1d806a76,
- 0x00006018, 0x1d805a76, 0x00008130, 0x1838670c, 0x00009930, 0x298c2d84,
- 0x0000f530, 0x84fbb214, 0x0000a818, 0x84fbb214, 0x0000a830, 0x18c00000,
- 0x00006180, 0x0d00d807, 0x00006006, 0x18009000, 0x0000f900, 0x00014000,
- 0x00008980, 0x0c00dc76, 0x00006000, 0x00001863, 0x0000b106, 0x1a800000,
- 0x000006f0, 0x02c00807, 0x00006282, 0x85000fe2, 0x00008880, 0x19000000,
- 0x00007900, 0x00040000, 0x00000980, 0xe4fb460a, 0x0000b038, 0x18400000,
- 0x00007900, 0x00018030, 0x00008980, 0xc0001863, 0x00006006, 0x8000086c,
- 0x00003416, 0x79405414, 0x0000a080, 0x1b800000, 0x000086fc, 0x1c000000,
- 0x000087c4, 0x1c800000, 0x000087cc, 0x18801002, 0x00006100, 0x98008c76,
- 0x00004081, 0x9ab09e13, 0x0000e101, 0x9a98d31a, 0x0000c910, 0x82c00000,
- 0x0000e188, 0x82c02000, 0x00004990, 0x2d800612, 0x0000c493, 0xe040840a,
- 0x00008a89, 0x3c00151b, 0x0000f896, 0x29400000, 0x0000948a, 0xd7c04e05,
- 0x00007902, 0x02000000, 0x00008000, 0x41402504, 0x0000e283, 0x09001c76,
- 0x0000a006, 0x0b80da14, 0x00006182, 0x0b80da07, 0x0000b182, 0x0363b476,
- 0x00006100, 0x02c00c13, 0x0000c180, 0x00002aef, 0x00007010, 0xe4fb460a,
- 0x0000b038, 0x18c00000, 0x00006180, 0x0d00d80a, 0x0000e006, 0x18009000,
- 0x0000f900, 0x00014000, 0x00008980, 0x0c00dc14, 0x0000e000, 0x00001863,
- 0x0000b106, 0x1a800000, 0x000006f0, 0x0140080a, 0x00006282, 0x9d800fe2,
- 0x00000880, 0x19000000, 0x00007900, 0x00040000, 0x00000980, 0x18400000,
- 0x00007900, 0x00018030, 0x00008980, 0xc0001863, 0x00006006, 0x8000086c,
- 0x00003416, 0x1b800000, 0x000086fc, 0x1c000000, 0x000087c4, 0x1c800000,
- 0x000087cc, 0x18801002, 0x00006100, 0x98008c14, 0x0000c081, 0x7940a476,
- 0x00002080, 0x9ab09e13, 0x0000e101, 0x9a98d31a, 0x0000c910, 0x9d802000,
- 0x00006190, 0x9d800000, 0x0000c988, 0x80000609, 0x00009583, 0x01408414,
- 0x00009283, 0xffffffff, 0x00007f86, 0x00002ae0, 0x00007010, 0x00002b61,
- 0x0000f010, 0x1c7c0071, 0x0000f900, 0x003ffffe, 0x00008280, 0x1b28dd1b,
- 0x00006101, 0x80000071, 0x00006686, 0x0000580d, 0x0000e502, 0x2540f871,
- 0x00002000, 0x85002207, 0x0000e080, 0x0540f871, 0x0000a000, 0xd500986c,
- 0x0000e008, 0x1540fc71, 0x00003000, 0x8153b214, 0x00006000, 0x9b53b214,
- 0x00008000, 0x02402471, 0x00006283, 0x85002000, 0x00008980, 0xdb53b214,
- 0x0000e100, 0xe000f86c, 0x0000a000, 0x0c00fa76, 0x0000e180, 0xf000f86c,
- 0x0000b000, 0x00002b59, 0x0000f410, 0x5c800000, 0x0000e180, 0x85000a76,
- 0x0000c880, 0x0410a070, 0x00006983, 0x8500a669, 0x00006080, 0x19460000,
- 0x00008980, 0x9d902a14, 0x00006000, 0x00001064, 0x00002706, 0x41407d6c,
- 0x0000e283, 0x0413b065, 0x00002185, 0x19800000, 0x00006180, 0x04006065,
- 0x0000e006, 0x44006065, 0x0000e002, 0xe0000864, 0x00003403, 0x59400569,
- 0x0000869c, 0x59401769, 0x00006391, 0xd9a02404, 0x00008901, 0x41004504,
- 0x00006283, 0x00202066, 0x00002206, 0xdb107a0f, 0x0000e100, 0x0e80fc14,
- 0x00006012, 0x1ac0600c, 0x00006100, 0x05000c14, 0x00004091, 0x59f88000,
- 0x0000f900, 0x00003ffe, 0x00000980, 0xc720a064, 0x0000e813, 0x00008207,
- 0x000040b2, 0x0001051f, 0x00000090, 0x0100851f, 0x0000c58c, 0x80800c1b,
- 0x0000089b, 0x50e0141b, 0x000044b3, 0x1040851f, 0x00008a8c, 0x00800c1b,
- 0x0000479b, 0x08201408, 0x00009795, 0xdf800207, 0x0000f88a, 0x09400000,
- 0x0000958a, 0x81000e1b, 0x0000e283, 0x05c00080, 0x00000980, 0x054000a0,
- 0x0000e180, 0xa0000817, 0x00006411, 0x1da0dc1b, 0x0000e101, 0xc0007817,
- 0x0000e417, 0x05000000, 0x00006180, 0x82006015, 0x00006007, 0x00000c76,
- 0x00006583, 0x50406015, 0x0000a003, 0x05800080, 0x00006180, 0x85181302,
- 0x00004900, 0x8500341b, 0x00006081, 0x00103816, 0x0000a182, 0x00002aba,
- 0x0000f410, 0xc6903206, 0x00006100, 0x8620d814, 0x0000e085, 0x06c00000,
- 0x00006180, 0x85503a07, 0x0000c900, 0x01002800, 0x00007900, 0x00014600,
- 0x00008980, 0x41000c76, 0x00001081, 0x00b826ec, 0x00005f00, 0x00107003,
- 0x00000084, 0x000004e3, 0x0000e583, 0x03602404, 0x00000901, 0x83482b1b,
- 0x00008036, 0x04087c05, 0x00008102, 0x00002a6e, 0x0000f208, 0x0380c018,
- 0x00006100, 0xebb00600, 0x00004911, 0x29000000, 0x00007900, 0x00010080,
- 0x00008980, 0x398bd800, 0x0000f900, 0x003092e4, 0x00000980, 0x39eb3000,
- 0x0000f900, 0x002552dc, 0x00000980, 0xaba80500, 0x00006101, 0x08001aae,
- 0x00006106, 0x2bf86f02, 0x00008a34, 0x2a331eb0, 0x0000f500, 0x2b38c710,
- 0x00000a2c, 0xa9004800, 0x00001980, 0x2a351f16, 0x00007300, 0x1dc02000,
- 0x00009980, 0xe67bb0ec, 0x0000a080, 0x054000a0, 0x0000e180, 0x05000000,
- 0x00004980, 0x05c00080, 0x0000e180, 0x82006015, 0x00006007, 0x05800080,
- 0x00006180, 0x50406015, 0x00006003, 0x00072876, 0x0000e502, 0x85181302,
- 0x00008900, 0x1d800876, 0x0000e090, 0x8500341b, 0x00000081, 0xe67bb0ec,
- 0x0000a890, 0x81000e1b, 0x0000e283, 0xc0000064, 0x0000a403, 0x00102816,
- 0x0000e182, 0xa0000817, 0x00003411, 0x8620d814, 0x0000e085, 0xc0007817,
- 0x0000b417, 0x01102800, 0x0000f900, 0x00014600, 0x00008980, 0x86a02906,
- 0x00008114, 0x06c00000, 0x00001980, 0x00b826ec, 0x00005f00, 0x00107003,
- 0x00000084, 0x000004e3, 0x0000e583, 0x04000000, 0x00000980, 0x841822e3,
- 0x00008102, 0x8398d31a, 0x0000e100, 0x01c0d810, 0x0000e001, 0xc3909212,
- 0x00006100, 0x1140d810, 0x0000e001, 0x00002a7a, 0x0000f408, 0xebb00600,
- 0x00006111, 0x2280d810, 0x0000e001, 0xaba80500, 0x0000e111, 0x34f09010,
- 0x0000e001, 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x3983e800,
- 0x00007900, 0x003092e2, 0x00000980, 0x39c49800, 0x0000f900, 0x00202286,
- 0x00008980, 0x2bc01002, 0x0000e100, 0x08001aae, 0x00006106, 0x2a641eb0,
- 0x00007500, 0x2b787710, 0x00008a30, 0x69000008, 0x00000aec, 0x2a661f16,
- 0x00007300, 0x1dc02800, 0x00001980, 0xe67bb0ec, 0x0000a080, 0xc0000064,
- 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072876, 0x00001502, 0x1d800876,
- 0x00001090, 0xe67bb0ec, 0x0000a890, 0xd080840a, 0x0000c58e, 0xe840151b,
- 0x00006d94, 0x01c00020, 0x00001980, 0x028bd800, 0x00007900, 0x003092e4,
- 0x00000980, 0x02eb3000, 0x00007900, 0x002552dc, 0x00000980, 0x81c04800,
- 0x00001980, 0xc1c02000, 0x0000e181, 0x08001a08, 0x00006106, 0x82200500,
- 0x00008022, 0x2a7a1e83, 0x00007500, 0x02788702, 0x00000018, 0x0300700e,
- 0x00009900, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0283e800,
- 0x0000f900, 0x003092e2, 0x00000980, 0x02c49800, 0x00007900, 0x00202286,
- 0x00008980, 0x03000000, 0x00006180, 0x08001a08, 0x00006106, 0x82200500,
- 0x00008022, 0x2a871e83, 0x0000f500, 0x02788702, 0x00008034, 0x81c04000,
- 0x0000e180, 0x0180700e, 0x0000c900, 0x000004e3, 0x0000e583, 0x0cc0ff0e,
- 0x00002000, 0x0378cf18, 0x00008100, 0x43a07e1b, 0x00000038, 0x00002ab3,
- 0x00007008, 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x398d0000,
- 0x0000f900, 0x003092e4, 0x00000980, 0x39e2d000, 0x00007900, 0x003fce82,
- 0x00000980, 0xebb00600, 0x0000e101, 0x08001aae, 0x00006106, 0xabb81400,
- 0x00008a3c, 0x2a991eb0, 0x0000f500, 0x2b78cf18, 0x00000a30, 0xa9007800,
- 0x00006180, 0x2ac0700e, 0x00004900, 0x2a9b1f16, 0x0000f300, 0x1dc09000,
- 0x00001980, 0xe67bb0ec, 0x0000a080, 0xc0000064, 0x0000ec03, 0xffffffff,
- 0x00007f97, 0x00072876, 0x00001502, 0x1d800876, 0x00001090, 0xe67bb0ec,
- 0x0000a890, 0x054000a0, 0x0000e180, 0x05000000, 0x00004980, 0x05c00080,
- 0x0000e180, 0x82006015, 0x00006007, 0x81000e1b, 0x0000e283, 0x50406015,
- 0x0000a003, 0x05800080, 0x00006180, 0xa0000817, 0x00006411, 0x85181302,
- 0x00006100, 0x8500341b, 0x0000c081, 0x00103816, 0x00006182, 0xc0007817,
- 0x0000b417, 0x1da0dc1b, 0x0000e101, 0x8620d814, 0x0000e085, 0x86a03906,
- 0x00000114, 0x06c00000, 0x00001980, 0x86c00c76, 0x0000f88a, 0xd1400000,
- 0x00009585, 0x01c00020, 0x00001980, 0x028d0000, 0x00007900, 0x003092e4,
- 0x00000980, 0x00002a74, 0x0000f400, 0x02e2d000, 0x0000f900, 0x003fce82,
- 0x00000980, 0x81c07800, 0x00001980, 0x00001476, 0x00006583, 0xc7903206,
- 0x00000900, 0x07c00000, 0x0000e180, 0xc8903206, 0x00004910, 0x08c00000,
- 0x00006190, 0xc9903206, 0x0000c910, 0x00002a1b, 0x0000f008, 0x00003476,
- 0x0000e583, 0x09c00000, 0x00008980, 0x8a800106, 0x000002ac, 0x8b800106,
- 0x000002bc, 0x00002a1b, 0x00007030, 0x00005476, 0x0000e583, 0xcc903206,
- 0x00008900, 0x0cc00000, 0x00006180, 0xcd903206, 0x0000c900, 0x0dc00000,
- 0x0000e180, 0xce903206, 0x0000c900, 0x00002a1b, 0x0000f430, 0x0ec00000,
- 0x0000e180, 0xcf903206, 0x00004900, 0x0fc00000, 0x00006180, 0xd0903206,
- 0x0000c918, 0x00007476, 0x00006583, 0x10c00000, 0x00000980, 0x91800106,
- 0x0000049c, 0x92800106, 0x000004ac, 0x00002a1b, 0x0000f230, 0x93800106,
- 0x000004bc, 0x01002800, 0x00007900, 0x00014600, 0x00008980, 0x94800106,
- 0x0000058c, 0x95800106, 0x0000059c, 0x96800106, 0x000005ac, 0x97800106,
- 0x000005bc, 0x41000c76, 0x00001081, 0x00b826ec, 0x00005f00, 0x00107003,
- 0x00000084, 0x9a904a09, 0x00006100, 0x8000086c, 0x0000e406, 0x9d802276,
- 0x00009080, 0x6400080a, 0x0000c28f, 0xce400c08, 0x00008a95, 0xdda08414,
- 0x0000458f, 0x6ec0151b, 0x00000797, 0xe6382eec, 0x0000a080, 0xc0000064,
- 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072805, 0x00009502, 0x01400805,
- 0x00001090, 0xe6382eec, 0x0000a890, 0xdca08414, 0x0000c58f, 0x6e40151b,
- 0x00000793, 0x8102060c, 0x00001283, 0x9d80170c, 0x00001890, 0x84c07276,
- 0x00007912, 0x04000000, 0x00008000, 0x000029b3, 0x00007008, 0x85002876,
- 0x0000a000, 0xffffffff, 0x00007f86, 0x0380800e, 0x00009100, 0xffffffff,
- 0x00007f86, 0x00000c05, 0x00001583, 0x000029b3, 0x0000f033, 0x0010a00e,
- 0x00001502, 0x05008214, 0x00006018, 0x05007214, 0x00008130, 0x1838670c,
- 0x00009930, 0x2b012d84, 0x00007530, 0x84f8a276, 0x0000a818, 0x84f8a276,
- 0x0000a830, 0xe4fb460a, 0x0000b038, 0x18c00000, 0x00006180, 0x0d00d80a,
- 0x0000e006, 0x18009000, 0x0000f900, 0x00014000, 0x00008980, 0x0c00dc14,
- 0x0000e000, 0x00001863, 0x0000b106, 0x1a800000, 0x000006f0, 0x0140080a,
- 0x00006282, 0x9d800fe2, 0x00000880, 0x19000000, 0x00007900, 0x00040000,
- 0x00000980, 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0xc0001863,
- 0x00006006, 0x8000086c, 0x00003416, 0x1b800000, 0x000086fc, 0x1c000000,
- 0x000087c4, 0x1c800000, 0x000087cc, 0x18801002, 0x00006100, 0x98008c14,
- 0x0000c081, 0x7940a476, 0x00002080, 0x9ab09e13, 0x0000e101, 0x9a98d31a,
- 0x0000c910, 0x9d800000, 0x0000e188, 0x9d802000, 0x00004990, 0xffffffff,
- 0x00007f86, 0x5c000609, 0x00004493, 0xa4408414, 0x00000a8b, 0x7480151b,
- 0x00007896, 0x19400000, 0x0000958b, 0x000004e3, 0x0000e583, 0x04000000,
- 0x00000980, 0x841822e3, 0x00008102, 0x8398d31a, 0x0000e100, 0x01c0d810,
- 0x0000e001, 0xc3904a09, 0x00006100, 0x1140d810, 0x0000e001, 0x00002a7a,
- 0x0000f408, 0xebb00600, 0x00006111, 0x2280d810, 0x0000e001, 0xaba80500,
- 0x0000e111, 0x34f04810, 0x0000e001, 0x29000000, 0x00007900, 0x00010080,
- 0x00008980, 0x3983e800, 0x00007900, 0x003092e2, 0x00000980, 0x39c49800,
- 0x0000f900, 0x00202286, 0x00008980, 0x2bc01002, 0x0000e100, 0x08001aae,
- 0x00006106, 0x2b371eb0, 0x0000f500, 0x2b787710, 0x00008a30, 0x69000008,
- 0x00000aec, 0x2b391f16, 0x0000f300, 0x1dc02800, 0x00001980, 0xe67828ec,
- 0x00002080, 0xc0000064, 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072805,
- 0x00009502, 0x01400805, 0x00001090, 0xe67828ec, 0x00002890, 0xd2608414,
- 0x0000458f, 0x6920151b, 0x00000292, 0xe638a6ec, 0x00002000, 0x054000a0,
- 0x0000e180, 0x05c00080, 0x0000c980, 0x05800080, 0x00006180, 0x82006015,
- 0x00006007, 0x50406015, 0x00006003, 0xc0000064, 0x00003403, 0x00072814,
- 0x00006502, 0x00103816, 0x0000a182, 0x05000814, 0x0000e090, 0x1da0dc1b,
- 0x00000901, 0xe638a6ec, 0x00002810, 0x81000e1b, 0x0000e283, 0x05000000,
- 0x00008980, 0x85181302, 0x00006100, 0xa0000817, 0x00006411, 0x8500341b,
- 0x00006081, 0xc0007817, 0x00002417, 0xc6903206, 0x00006100, 0x8620d814,
- 0x0000e085, 0x06c00000, 0x00006180, 0x85503a07, 0x0000c900, 0x86c00c76,
- 0x0000f88a, 0xd1400000, 0x00009585, 0xdc400e23, 0x0000e080, 0x0800fc76,
- 0x00006006, 0x5c400c76, 0x00006081, 0x9c800f23, 0x00004881, 0x000029e8,
- 0x0000f400, 0x9c98f31e, 0x00006100, 0x37c0f871, 0x0000e002, 0x5700f871,
- 0x00006802, 0x4140151b, 0x00009283, 0x000029d2, 0x0000f013, 0x41407d6c,
- 0x0000e283, 0xd360a06a, 0x0000a004, 0x9d802276, 0x0000e088, 0x0010006c,
- 0x00002506, 0x85002207, 0x0000e080, 0xe000006c, 0x00002402, 0x1c7c0071,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x0000580d, 0x0000e502, 0x1b28dd1b,
- 0x00008901, 0xd500986c, 0x0000e008, 0x80000071, 0x00003686, 0x8153b214,
- 0x00006000, 0x9b53b214, 0x00008000, 0x85002000, 0x00006180, 0x2540f871,
- 0x0000e000, 0xdb53b214, 0x0000e100, 0xe000f86c, 0x0000a000, 0x0c00fa76,
- 0x0000e180, 0x0540f871, 0x00003000, 0x85000a76, 0x0000e080, 0xf000f86c,
- 0x0000e000, 0x1540fc71, 0x00006000, 0x0410a070, 0x0000b183, 0x5c800000,
- 0x00009980, 0x7a002471, 0x0000f88e, 0xc9400000, 0x0000958a, 0x000004e3,
- 0x0000e583, 0x03602404, 0x00000901, 0x83483b1b, 0x00000036, 0x04087c07,
- 0x00000102, 0x00002a6e, 0x0000f208, 0x0380c018, 0x00006100, 0xebb00600,
- 0x00004911, 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x398bd800,
- 0x0000f900, 0x003092e4, 0x00000980, 0x39eb3000, 0x0000f900, 0x002552dc,
- 0x00000980, 0xaba80500, 0x00006101, 0x08001aae, 0x00006106, 0x2bf86f02,
- 0x00008a34, 0x2b911eb0, 0x0000f500, 0x2b38c710, 0x00000a2c, 0xa9004800,
- 0x00001980, 0x2b931f16, 0x0000f300, 0x1dc02000, 0x00009980, 0xe67bb0ec,
- 0x0000a080, 0xc0000064, 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072876,
- 0x00001502, 0x00002aa1, 0x00007400, 0x1d800876, 0x00001090, 0xe67bb0ec,
- 0x0000a890, 0xd7c04605, 0x0000f902, 0x01c00000, 0x00008000, 0xe4fb460a,
- 0x0000b038, 0x18c00000, 0x00006180, 0x0d00d80a, 0x0000e006, 0x81400fe2,
- 0x00006080, 0x00001863, 0x0000e106, 0x79405c05, 0x00002080, 0x1a800000,
- 0x000006f0, 0x0140080a, 0x00006282, 0x0a009c09, 0x0000a000, 0x19000000,
- 0x00007900, 0x00040000, 0x00000980, 0x18009000, 0x0000f900, 0x000144c0,
- 0x00000980, 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0xc0001863,
- 0x00006006, 0x8000086c, 0x00003416, 0x1c000000, 0x000087c4, 0x1c800000,
- 0x000087cc, 0x18909f02, 0x00008628, 0x9a98d31a, 0x0000e110, 0x85002000,
- 0x0000c990, 0x80000608, 0x0000e583, 0x85000000, 0x00008988, 0x0140840b,
- 0x00001283, 0xffffffff, 0x00007f86, 0x00002c3d, 0x00007010, 0x00002c36,
- 0x0000f010, 0x01400d13, 0x0000e080, 0x00c08871, 0x00006000, 0x01402005,
- 0x00006080, 0x10808871, 0x0000a000, 0x01402a14, 0x0000e000, 0x21008871,
- 0x0000a000, 0x1c289d13, 0x0000e101, 0xdc400c11, 0x0000c880, 0x2c102b0e,
- 0x00001600, 0x814588b0, 0x00009000, 0x81d89205, 0x0000e000, 0x9b589205,
- 0x00008000, 0x01402000, 0x0000e180, 0x56c09071, 0x0000e002, 0x0510a005,
- 0x00006100, 0x1b28dd1b, 0x00008901, 0x00000409, 0x00006583, 0x0f009405,
- 0x00002006, 0x01401405, 0x00006081, 0xd500986c, 0x0000e010, 0x19460000,
- 0x00006180, 0x82202870, 0x00006082, 0x08009405, 0x00006006, 0xe080906c,
- 0x00003000, 0x5c400c05, 0x0000e081, 0x054000a0, 0x0000c980, 0x0c008a05,
- 0x0000e180, 0x7680956c, 0x00003000, 0x2c10a30e, 0x00001600, 0xdb4588b0,
- 0x00009000, 0x81400a05, 0x00006080, 0x82006015, 0x00006007, 0x19800000,
- 0x00006180, 0x04102870, 0x0000e183, 0x0140a669, 0x0000e080, 0x05800000,
- 0x00000980, 0x05000000, 0x00006180, 0x00001064, 0x0000e706, 0x2c102b0e,
- 0x00001600, 0x814588b0, 0x00009000, 0x81502a07, 0x00006000, 0x50406015,
- 0x0000a003, 0x81c00d13, 0x0000e080, 0x04102865, 0x00006185, 0x04006065,
- 0x0000e006, 0x00108016, 0x00003182, 0x19c00000, 0x0000e180, 0x44006065,
- 0x0000e002, 0x41007d6c, 0x00006283, 0xd9a02404, 0x00008901, 0x85181302,
- 0x00006100, 0x85003413, 0x00004081, 0x81589207, 0x0000e000, 0x597b4f69,
- 0x00000901, 0x36c09071, 0x0000e002, 0xe0000864, 0x00003403, 0x59f88000,
- 0x0000f900, 0x00003ffe, 0x00000980, 0x00202066, 0x0000e206, 0x86209814,
- 0x00003085, 0x1ba0770d, 0x0000863c, 0xdbd8730e, 0x0000e100, 0x9c800d11,
- 0x00004881, 0x9cb86010, 0x0000062c, 0x05c002e0, 0x00006180, 0xdb107a0f,
- 0x0000c900, 0x85589207, 0x00006000, 0x85802513, 0x00000081, 0xc5a89d13,
- 0x0000e101, 0x59401769, 0x0000c391, 0x80000205, 0x00009582, 0x817ffa10,
- 0x0000f900, 0x0000000e, 0x00000282, 0xffffffff, 0x00007f86, 0x00002c11,
- 0x0000f008, 0x00002c11, 0x0000f008, 0x81000e1b, 0x0000e283, 0x01609c13,
- 0x00008901, 0xc6903206, 0x00006100, 0xa0000817, 0x00006411, 0x06c00000,
- 0x00006180, 0xc0007817, 0x0000e417, 0x00000c13, 0x00009583, 0x00002c4c,
- 0x00007013, 0x01002800, 0x00007900, 0x00014600, 0x00008980, 0x41000c05,
- 0x00009081, 0x00b826ec, 0x00005f00, 0x00107003, 0x00000084, 0x000004e3,
- 0x0000e583, 0x03602404, 0x00000901, 0x833ffa10, 0x0000f900, 0x0000000e,
- 0x00008280, 0x43609c13, 0x00006101, 0xc3589207, 0x00004000, 0x00002c72,
- 0x00007208, 0xc3107a0f, 0x0000e100, 0xebb00600, 0x00004911, 0x29000000,
- 0x00007900, 0x00010080, 0x00008980, 0x39913800, 0x0000f900, 0x003092e4,
- 0x00000980, 0x39eb3000, 0x0000f900, 0x002552dc, 0x00000980, 0xaba80500,
- 0x00006101, 0x08001aae, 0x00006106, 0x2bf86f02, 0x00008a34, 0x2c261eb0,
- 0x00007500, 0x2b38c70c, 0x00008a2c, 0xa9004800, 0x00001980, 0x2c281f16,
- 0x00007300, 0x1dc02000, 0x00009980, 0xe67828ec, 0x00002080, 0xc6903206,
- 0x00006100, 0xc0000064, 0x00006403, 0xffffffff, 0x00007f97, 0x00072805,
- 0x00009502, 0x01400805, 0x00001090, 0xe67828ec, 0x00002890, 0x81000e1b,
- 0x0000e283, 0x01609c13, 0x00008901, 0x06c00000, 0x00006180, 0xa0000817,
- 0x00006411, 0xc0007817, 0x00006c17, 0x03000c13, 0x0000f88b, 0x61400000,
- 0x00009682, 0x4100151b, 0x00001283, 0x00002bb8, 0x00007013, 0x00002bb8,
- 0x00007400, 0x41007d6c, 0x00006283, 0xd340586a, 0x0000a004, 0x85002214,
- 0x0000e088, 0x8000106c, 0x00002406, 0x9a904208, 0x00006100, 0x8000086c,
- 0x0000e406, 0x85002214, 0x00009080, 0x8fc0080a, 0x0000c28f, 0x88400c07,
- 0x00008b90, 0xeec0840b, 0x0000458e, 0x7760151b, 0x00007f93, 0xe6382eec,
- 0x0000a080, 0xc0000064, 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072805,
- 0x00009502, 0x01400805, 0x00001090, 0xe6382eec, 0x0000a890, 0xedc0840b,
- 0x0000458e, 0x76e0151b, 0x00007e97, 0x00001405, 0x0000e583, 0xc7903206,
- 0x00000900, 0x07c00000, 0x0000e180, 0xc8903206, 0x00004910, 0x08c00000,
- 0x00006190, 0xc9903206, 0x0000c910, 0x00002c0c, 0x0000f008, 0x00003405,
- 0x00006583, 0x09c00000, 0x00008980, 0x8a800106, 0x000002ac, 0x8b800106,
- 0x000002bc, 0x00002c0c, 0x00007030, 0x00005405, 0x00006583, 0xcc903206,
- 0x00008900, 0x0cc00000, 0x00006180, 0xcd903206, 0x0000c900, 0x0dc00000,
- 0x0000e180, 0xce903206, 0x0000c900, 0x00002c0c, 0x0000f430, 0x0ec00000,
- 0x0000e180, 0xcf903206, 0x00004900, 0x0fc00000, 0x00006180, 0xd0903206,
- 0x0000c918, 0x00007405, 0x0000e583, 0x10c00000, 0x00000980, 0x91800106,
- 0x0000049c, 0x92800106, 0x000004ac, 0x00002c0c, 0x0000f230, 0x93800106,
- 0x000004bc, 0x01002800, 0x00007900, 0x00014600, 0x00008980, 0x94800106,
- 0x0000058c, 0x95800106, 0x0000059c, 0x96800106, 0x000005ac, 0x97800106,
- 0x000005bc, 0x41000c05, 0x00009081, 0x00b826ec, 0x00005f00, 0x00107003,
- 0x00000084, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02913800,
- 0x00007900, 0x003092e4, 0x00000980, 0x02eb3000, 0x00007900, 0x002552dc,
- 0x00000980, 0xc2300600, 0x0000e101, 0x08001a08, 0x00006106, 0x82381400,
- 0x00008024, 0x2c7e1e83, 0x0000f500, 0x01804f0c, 0x0000009d, 0x0300c018,
- 0x00009900, 0x000004e3, 0x0000e583, 0x05800000, 0x00000980, 0x859822e3,
- 0x0000811a, 0x8558d31a, 0x0000e100, 0x01c0d816, 0x0000e001, 0xc5504208,
- 0x00006100, 0x1140d816, 0x0000e001, 0x00002c9f, 0x00007408, 0xebb00600,
- 0x00006111, 0x2280d816, 0x0000e001, 0xaba80500, 0x0000e111, 0x34f04016,
- 0x00006001, 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x3983e800,
- 0x00007900, 0x003092e2, 0x00000980, 0x39c49800, 0x0000f900, 0x00202286,
- 0x00008980, 0x2bc01002, 0x0000e100, 0x08001aae, 0x00006106, 0x2c951eb0,
- 0x0000f500, 0x2b78af16, 0x00008a30, 0x69000008, 0x00000aec, 0x2c971f16,
- 0x0000f300, 0x1dc02800, 0x00001980, 0xe67828ec, 0x00002080, 0xc0000064,
- 0x0000ec03, 0xffffffff, 0x00007f97, 0x00072805, 0x00009502, 0x01400805,
- 0x00001090, 0xe67828ec, 0x00002890, 0xe360840b, 0x0000458f, 0xf1a0151b,
- 0x0000f995, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0283e800,
- 0x0000f900, 0x003092e2, 0x00000980, 0x02c49800, 0x00007900, 0x00202286,
- 0x00008980, 0x03000000, 0x00006180, 0x08001a08, 0x00006106, 0x82200500,
- 0x00008022, 0x2cac1e83, 0x0000f500, 0x0278b702, 0x00008034, 0x81c04000,
- 0x0000e180, 0x0180a815, 0x0000c900, 0x85401407, 0x00001880, 0x85004815,
- 0x00007902, 0x02000000, 0x00008000, 0x84f86215, 0x0000a080, 0x84c03415,
- 0x00007902, 0x02c00000, 0x00008000, 0x84f85615, 0x00002080, 0x00000408,
- 0x00001583, 0x82c02aec, 0x00007902, 0x01000000, 0x00000604, 0x00000001,
- 0x0000f089, 0x80000608, 0x00001583, 0x00000c08, 0x00009583, 0xffffffff,
- 0x00007f86, 0x00002d30, 0x00007008, 0x00002cdd, 0x0000f008, 0x8040aeec,
- 0x00007902, 0x04000000, 0x00008000, 0x03803005, 0x00009100, 0x80b878ec,
- 0x00002080, 0x807836ec, 0x00002080, 0x0000a80e, 0x00001502, 0x0380a80e,
- 0x00001120, 0x00002ccf, 0x0000f029, 0x2c108209, 0x00009600, 0x024588b0,
- 0x00001000, 0x0000300e, 0x00006502, 0x82584b09, 0x00008900, 0x00002ccf,
- 0x0000702b, 0x0380300e, 0x00001100, 0x2c108209, 0x00009600, 0x024588b0,
- 0x00001000, 0x0000300e, 0x00006502, 0x82584b09, 0x00008900, 0x00002cc9,
- 0x0000f023, 0x0000780e, 0x00009502, 0x0380780e, 0x00009120, 0x00002cdd,
- 0x0000f029, 0x2c188209, 0x00001600, 0x024588b0, 0x00001000, 0x0000700f,
- 0x00006502, 0x82584b09, 0x00008900, 0x00002cdd, 0x0000701b, 0x0380780e,
- 0x00001100, 0x2c188209, 0x00001600, 0x024588b0, 0x00001000, 0x0000700f,
- 0x00006502, 0x82584b09, 0x00008900, 0x00002cd7, 0x00007033, 0x2c185209,
- 0x00009600, 0x010588b0, 0x00009000, 0x04400000, 0x00006180, 0x85000b04,
- 0x00004780, 0x80000608, 0x0000e583, 0x8458530a, 0x00008900, 0xc290a30a,
- 0x00006100, 0x04802805, 0x00000900, 0x8040a6ec, 0x0000a002, 0x80a0a8ec,
- 0x00002000, 0x02001000, 0x00009981, 0xffffffff, 0x00007f86, 0x2c10a209,
- 0x00001600, 0x010588b0, 0x00009000, 0x0110ab04, 0x00006000, 0x02400000,
- 0x00008980, 0x85412000, 0x0000e190, 0x85401000, 0x00004988, 0x82502204,
- 0x00001900, 0x8080a015, 0x0000a080, 0xffffffff, 0x00007fa7, 0x00000414,
- 0x00009583, 0x00002d40, 0x0000f00b, 0x03c0fc07, 0x00006281, 0x84003407,
- 0x00000780, 0x0381fc07, 0x00006281, 0x05207fe4, 0x00008800, 0x0000fc0e,
- 0x00006583, 0x0180a0e5, 0x00000400, 0x85001508, 0x00001880, 0x85004a14,
- 0x0000f900, 0x00000002, 0x00000080, 0x85108214, 0x00009000, 0x8510aa14,
- 0x00009000, 0x00002814, 0x00007902, 0x01000000, 0x00008000, 0x80804015,
- 0x00005082, 0x00400000, 0x00008000, 0x80884015, 0x0000a080, 0xffffffff,
- 0x00007f86, 0x01002006, 0x0000e218, 0x01402806, 0x00008230, 0x0000fc0e,
- 0x00006583, 0x01800000, 0x00008980, 0x00382814, 0x0000d000, 0x00382000,
- 0x00000000, 0x80802015, 0x0000a081, 0x03800000, 0x0000e180, 0x05207fe4,
- 0x00004800, 0x0018100e, 0x0000e986, 0xffffffff, 0x00007f86, 0x81001404,
- 0x00001880, 0x81004a04, 0x0000f900, 0x00000002, 0x00000080, 0x84108204,
- 0x00009000, 0x8550aa10, 0x00009000, 0x00002815, 0x0000f902, 0x01000000,
- 0x00008000, 0xffffffff, 0x00007fa7, 0x01002014, 0x00006318, 0x01402814,
- 0x00000330, 0x05280407, 0x0000f900, 0x000002f2, 0x00008080, 0x00382815,
- 0x00005000, 0x00382000, 0x00000000, 0x85401407, 0x00006080, 0x0000a006,
- 0x00006286, 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x783870ec,
- 0x0000d600, 0x00383000, 0x00008000, 0x783850ec, 0x0000d602, 0x00000000,
- 0x00008080, 0x84f86215, 0x00002880, 0x84f89415, 0x0000d000, 0x00385800,
- 0x00000000, 0x84f85615, 0x00005000, 0x00388800, 0x00008000, 0x00000001,
- 0x00007480, 0x85384815, 0x0000d000, 0x00384000, 0x00000000, 0x84c00215,
- 0x00005000, 0x00400000, 0x00000080, 0x80000608, 0x0000e583, 0x04400000,
- 0x00008980, 0x85412000, 0x0000e190, 0x85401000, 0x00004988, 0x2c283a09,
- 0x00001600, 0x010588b0, 0x00009000, 0x8080a015, 0x0000a080, 0x2c185204,
- 0x00001600, 0x010588b0, 0x00009000, 0xc2400000, 0x00006180, 0x04802805,
- 0x0000c900, 0x02001000, 0x0000e181, 0x8458530a, 0x00004900, 0x00000414,
- 0x00006583, 0xc298230a, 0x00000100, 0x00002cf4, 0x00007013, 0x80000608,
- 0x0000e583, 0x01000000, 0x00000980, 0x80783615, 0x0000a000, 0x01002000,
- 0x00006191, 0x0140fc07, 0x00004291, 0x00002d78, 0x00007008, 0x83803407,
- 0x00006780, 0xc0041004, 0x0000a502, 0x713830ec, 0x00005600, 0x00382000,
- 0x00000000, 0x100040ec, 0x00005680, 0x00000000, 0x00008080, 0x0181fc07,
- 0x0000e281, 0x05009006, 0x00000000, 0x8078a615, 0x0000a880, 0x80804015,
- 0x00005082, 0x00400000, 0x00008000, 0x80802015, 0x0000a081, 0x80884015,
- 0x0000a080, 0x0000fc06, 0x0000e583, 0x05202fe4, 0x00008800, 0xffffffff,
- 0x00007f86, 0x81001404, 0x00001880, 0x81004a04, 0x0000f900, 0x00000002,
- 0x00000080, 0x83907204, 0x00009000, 0x8550aa0e, 0x00009000, 0x00002815,
- 0x0000f902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01002014,
- 0x00006318, 0x01402814, 0x00000330, 0x05280407, 0x0000f900, 0x000002f2,
- 0x00008080, 0x00382815, 0x00005000, 0x00382000, 0x00000000, 0x01400000,
- 0x000080d0, 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x00181005,
- 0x0000e186, 0x0000a004, 0x0000b286, 0x783828ec, 0x00005600, 0x00382000,
- 0x00000000, 0x783850ec, 0x0000d602, 0x00000000, 0x00008080, 0x85401407,
- 0x00001880, 0x84f86215, 0x00002880, 0x84f89415, 0x0000d000, 0x00385800,
- 0x00000000, 0x84f85615, 0x00005000, 0x00388800, 0x00008000, 0x00000001,
- 0x00007480, 0x85384815, 0x0000d000, 0x00384000, 0x00000000, 0x84c00215,
- 0x00005000, 0x00400000, 0x00000080, 0x05009006, 0x00006000, 0x00001804,
- 0x00002486, 0x0140fc07, 0x00006281, 0xc0039004, 0x0000a502, 0x713830ec,
- 0x00005600, 0x00382000, 0x00000000, 0x100038ec, 0x00005680, 0x00000000,
- 0x00008080, 0x00002d4f, 0x0000f400, 0x8078a615, 0x0000a880, 0x0181fc07,
- 0x0000e281, 0x83803407, 0x00000780, 0x1807f860, 0x00009280, 0x98401060,
- 0x00001880, 0x85051061, 0x0000f902, 0x20c00000, 0x00008000, 0x84c55261,
- 0x00007902, 0x2a400000, 0x00000000, 0x84c54461, 0x0000f902, 0x29c00000,
- 0x00008000, 0x84c53661, 0x0000f902, 0x29400000, 0x00000000, 0x00001483,
- 0x00009583, 0x00001c83, 0x00001583, 0xffffffff, 0x00007f86, 0x00002dba,
- 0x0000f008, 0x00002dde, 0x00007008, 0xc0153ba6, 0x00001502, 0x98400ba5,
- 0x000090a8, 0xe9400ba5, 0x000090a8, 0x00000001, 0x000070a0, 0x2c153261,
- 0x00009600, 0x984588b0, 0x00001000, 0x18530aa5, 0x00009000, 0xc0000361,
- 0x00001582, 0x98572ae5, 0x00001910, 0xffffffff, 0x00007f86, 0xa9530a61,
- 0x00001900, 0x18552ba6, 0x00006000, 0x18c00000, 0x00008980, 0x18400861,
- 0x00006784, 0x18800000, 0x00000980, 0x00153861, 0x00006502, 0x00181063,
- 0x00002186, 0x98553aa7, 0x00009918, 0x780408ec, 0x00005680, 0x00000000,
- 0x00008080, 0x2b130a61, 0x0000e100, 0x041308a6, 0x00006187, 0x18680060,
- 0x00007900, 0x000002f2, 0x00008080, 0x98401060, 0x00006080, 0x00030862,
- 0x00006286, 0x783b18ec, 0x00005600, 0x003b1000, 0x00000000, 0x783d60ec,
- 0x00005600, 0x00000000, 0x00008080, 0x84fd5261, 0x0000d000, 0x003d4800,
- 0x00008000, 0x84fd4461, 0x00005000, 0x003d3800, 0x00000000, 0x00000001,
- 0x00007480, 0x84fd3661, 0x00005000, 0x003d2800, 0x00008000, 0x853d1061,
- 0x00005000, 0x003c1800, 0x00000000, 0xa8800ea2, 0x00006081, 0x18400ea2,
- 0x00008081, 0x00002461, 0x00009583, 0x00002d9e, 0x00007033, 0xc00027a2,
- 0x00009583, 0x20c01800, 0x000019b1, 0x20c02000, 0x00009999, 0x00002d9e,
- 0x00007030, 0x18552ba6, 0x00006000, 0x18c00000, 0x00008980, 0x18400861,
- 0x00006784, 0x18800000, 0x00000980, 0x00153861, 0x00006502, 0x00181063,
- 0x00002186, 0x98553aa7, 0x00009918, 0x780408ec, 0x00005680, 0x00000000,
- 0x00008080, 0x2b130a61, 0x0000e100, 0x041308a6, 0x00006187, 0x18680060,
- 0x00007900, 0x000002f2, 0x00008080, 0x98401060, 0x00006080, 0x00030862,
- 0x00006286, 0x783b18ec, 0x00005600, 0x003b1000, 0x00000000, 0x783d60ec,
- 0x00005600, 0x00000000, 0x00008080, 0x84fd5261, 0x0000d000, 0x003d4800,
- 0x00008000, 0x84fd4461, 0x00005000, 0x003d3800, 0x00000000, 0x00000001,
- 0x00007480, 0x84fd3661, 0x00005000, 0x003d2800, 0x00008000, 0x853d1061,
- 0x00005000, 0x003c1800, 0x00000000, 0x185d3aa5, 0x00001000, 0xc0000361,
- 0x00001582, 0x98572ae5, 0x00001910, 0xffffffff, 0x00007f86, 0xa9530a61,
- 0x00006100, 0x18400ea2, 0x00004081, 0x00002461, 0x00006583, 0xa8800ea2,
- 0x00000081, 0x00002d9e, 0x00007033, 0xc00027a2, 0x00009583, 0x20c02000,
- 0x0000e199, 0xa8802800, 0x0000c9b1, 0x00002d9e, 0x0000f031, 0x00002dc2,
- 0x00007000, 0x0707f817, 0x00001280, 0x8240101c, 0x00001880, 0x85009809,
- 0x00007902, 0x04800000, 0x00000000, 0x84c0ca09, 0x00007902, 0x06000000,
- 0x00000000, 0x84c08409, 0x00007902, 0x05800000, 0x00008000, 0x84c0ae09,
- 0x0000f902, 0x05000000, 0x00000000, 0xffffffff, 0x00007f86, 0xd5000c12,
- 0x0000c4b1, 0xfa400612, 0x00000b93, 0xcd801412, 0x0000c489, 0x0c401c12,
- 0x00008b8d, 0x0990b015, 0x00004529, 0x89800612, 0x0000828d, 0x82c02aec,
- 0x00007902, 0x01000000, 0x00000604, 0x80404eec, 0x0000f902, 0x01c00000,
- 0x00008000, 0x80b830ec, 0x00002080, 0x8078deec, 0x00002080, 0x07408005,
- 0x00009100, 0x0000481d, 0x00001502, 0x807886ec, 0x0000a080, 0x0740d81d,
- 0x00009120, 0x00002e13, 0x00007028, 0x2c103a13, 0x00001600, 0x010588b0,
- 0x00009000, 0x0000801d, 0x00006502, 0x84d82304, 0x00000900, 0x00002e13,
- 0x0000702b, 0x0740801d, 0x00009100, 0x2c103a13, 0x00001600, 0x010588b0,
- 0x00009000, 0x0000801d, 0x00006502, 0x84d82304, 0x00000900, 0x00002e0d,
- 0x0000f023, 0x0000301d, 0x0000e502, 0x04003006, 0x00008900, 0x02403006,
- 0x00006120, 0x81183b07, 0x00004920, 0x0740801d, 0x00001120, 0x00002e24,
- 0x0000f028, 0x2c183a13, 0x00009600, 0x018588b0, 0x00001000, 0x0000e809,
- 0x0000e502, 0x84d83306, 0x00000900, 0x00002e24, 0x0000f01b, 0x0740481d,
- 0x00001100, 0x2c102213, 0x00001600, 0x018588b0, 0x00001000, 0x0000e809,
- 0x0000e502, 0x84d83306, 0x00000900, 0x00002e1e, 0x0000f033, 0x00002df9,
- 0x00007200, 0x0400e805, 0x00009100, 0x80a048ec, 0x0000a000, 0xffffffff,
- 0x00007fa7, 0x80104a13, 0x00001502, 0x04800800, 0x000061a9, 0x0240fc17,
- 0x000042a9, 0x0181fc17, 0x000062a9, 0x02604fe4, 0x00008828, 0x00002e3d,
- 0x0000f020, 0x0000fc06, 0x0000e583, 0x01c048e5, 0x00008400, 0x82401512,
- 0x00009880, 0x81016a09, 0x00007900, 0x00000002, 0x00000080, 0x0e80ba09,
- 0x0000e802, 0x82504a04, 0x00009000, 0x00002809, 0x00007902, 0x01000000,
- 0x00008000, 0xffffffff, 0x00007fa7, 0x01002007, 0x00006218, 0x01402807,
- 0x00000230, 0xffffffff, 0x00007f86, 0x00382809, 0x0000d000, 0x00382000,
- 0x00000000, 0x8240101c, 0x00001880, 0x84f8ca09, 0x0000d000, 0x0038c000,
- 0x00008000, 0x84f88409, 0x0000d000, 0x0038b000, 0x00000000, 0x00000001,
- 0x00007480, 0x84f8ae09, 0x00005000, 0x0038a000, 0x00008000, 0x85389809,
- 0x0000d000, 0x00389000, 0x00008000, 0xc5000b14, 0x00006080, 0x82400b14,
- 0x00008080, 0xffffffff, 0x00007f86, 0x2c10aa09, 0x00009600, 0x824588b0,
- 0x00009000, 0x01104a14, 0x00001000, 0xc0000304, 0x00001582, 0x81172ae5,
- 0x00001910, 0xffffffff, 0x00007f86, 0x85102204, 0x00001900, 0x0250a315,
- 0x00006000, 0x01400000, 0x00008980, 0x02400809, 0x00006784, 0x01000000,
- 0x00000980, 0x0010b009, 0x0000e502, 0x00181005, 0x00002186, 0x8250b216,
- 0x00001918, 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x86c84e09,
- 0x00000116, 0x0268001c, 0x00007900, 0x000002f2, 0x00008080, 0x00004804,
- 0x00006a86, 0x783828ec, 0x00005600, 0x00382000, 0x00000000, 0x7838d8ec,
- 0x00005600, 0x00000000, 0x00008080, 0x8240101c, 0x00001880, 0x84f8ca09,
- 0x0000d000, 0x0038c000, 0x00008000, 0x84f88409, 0x0000d000, 0x0038b000,
- 0x00000000, 0x00000001, 0x00007480, 0x84f8ae09, 0x00005000, 0x0038a000,
- 0x00008000, 0x85389809, 0x0000d000, 0x00389000, 0x00008000, 0xc4c00f13,
- 0x00006081, 0x02400f13, 0x00008081, 0x00002409, 0x00001583, 0x00002e51,
- 0x00007033, 0x80002613, 0x00009583, 0x04801800, 0x000099b1, 0x04802000,
- 0x00001999, 0x00002e51, 0x00007030, 0x0250a315, 0x00006000, 0x01400000,
- 0x00008980, 0x02400809, 0x00006784, 0x01000000, 0x00000980, 0x0010b009,
- 0x0000e502, 0x00181005, 0x00002186, 0x8250b216, 0x00001918, 0x780408ec,
- 0x00005680, 0x00000000, 0x00008080, 0x86c84e09, 0x00000116, 0x0268001c,
- 0x00007900, 0x000002f2, 0x00008080, 0x00004804, 0x00006a86, 0x00002e62,
- 0x0000f400, 0x783828ec, 0x00005600, 0x00382000, 0x00000000, 0x7838d8ec,
- 0x00005600, 0x00000000, 0x00008080, 0x0118b214, 0x0000e000, 0x02400f13,
- 0x00008081, 0xc0000304, 0x0000e582, 0xc4c00f13, 0x00000081, 0x00002409,
- 0x0000e583, 0x81172ae5, 0x00008910, 0xffffffff, 0x00007f86, 0x85102204,
- 0x00001900, 0x00002e51, 0x00007030, 0x80002613, 0x00009583, 0x04802000,
- 0x00006199, 0xc4c02800, 0x000049b1, 0x00002e51, 0x0000f031, 0x00002e74,
- 0x0000f000, 0x0240fc17, 0x0000e281, 0x01c1fc17, 0x00008281, 0x0000fc07,
- 0x00006583, 0x02604fe4, 0x00008800, 0x018048e5, 0x00006400, 0x04800800,
- 0x00008981, 0x82401512, 0x00009880, 0x81005a09, 0x0000f900, 0x00000002,
- 0x00000080, 0x0e80ba09, 0x0000e802, 0x82504a04, 0x00009000, 0x00002809,
- 0x00007902, 0x01000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x01002006,
- 0x0000e218, 0x01402806, 0x00008230, 0x00002e3d, 0x0000f400, 0xffffffff,
- 0x00007f86, 0x00382809, 0x0000d000, 0x00382000, 0x00000000, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x02b27000, 0x0000f900, 0x00366316,
- 0x00000980, 0x02c95000, 0x00007900, 0x000fe014, 0x00000980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x2eb51e83,
- 0x0000f500, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002,
- 0x0000c900, 0x808044ec, 0x00002081, 0x03400000, 0x000080fa, 0x03c00000,
- 0x00009981, 0xffffffff, 0x00007f86, 0x02000c08, 0x00001080, 0x02803808,
- 0x00009280, 0x0200400a, 0x00009880, 0x02040008, 0x00009080, 0x02003008,
- 0x00001784, 0x82c01208, 0x00009080, 0x0302040e, 0x0000e081, 0x82106a0b,
- 0x00000000, 0x80402608, 0x00007902, 0x04400000, 0x00000000, 0xffffffff,
- 0x00007fa7, 0x00000004, 0x0000e582, 0x01802004, 0x00000900, 0x00002ed1,
- 0x0000700b, 0x01403006, 0x00006300, 0x03c00c0f, 0x0000c081, 0x01002fe4,
- 0x00001800, 0x2ece2dec, 0x0000f500, 0x01002c0e, 0x0000e000, 0x06803004,
- 0x00008400, 0x05c02004, 0x00009900, 0x0000001a, 0x0000e582, 0x0180d01a,
- 0x00000900, 0x00002ec7, 0x0000f013, 0x01008811, 0x00006100, 0x0381040e,
- 0x0000c081, 0x0020640e, 0x00001503, 0x0340080d, 0x00001088, 0x00002ec3,
- 0x0000f011, 0x0000200d, 0x00009582, 0x808044ec, 0x00002088, 0x80803aec,
- 0x0000790a, 0x01000000, 0x00008000, 0x00002ebf, 0x0000f010, 0x0000040f,
- 0x00009583, 0x82c032ec, 0x00007902, 0x01400000, 0x00008604, 0x00002ef1,
- 0x00007011, 0x01400c08, 0x00001183, 0x00002eed, 0x0000700b, 0x02003804,
- 0x00001000, 0x01c03008, 0x00001100, 0x00003804, 0x00001502, 0x00003008,
- 0x00009502, 0xffffffff, 0x00007f86, 0x00002ef3, 0x0000f028, 0x00002ef3,
- 0x00007008, 0x713838ec, 0x0000d600, 0x000019c8, 0x00008080, 0x100038ec,
- 0x00005680, 0x00000000, 0x00008080, 0x80b842ec, 0x0000a880, 0x80802cec,
- 0x0000a880, 0x809854ec, 0x00002882, 0x008006ec, 0x0000df80, 0x00000000,
- 0x00000084, 0x00002ee1, 0x00007200, 0x01404000, 0x00001981, 0x713820ec,
- 0x0000d600, 0x000019c8, 0x00008080, 0x100038ec, 0x00005680, 0x00000000,
- 0x00008080, 0x00002eed, 0x00007400, 0x02002006, 0x00009000, 0x80b842ec,
- 0x0000a880, 0x82c030ec, 0x00002081, 0x03400000, 0x000080fa, 0x03c00000,
- 0x00009981, 0xffffffff, 0x00007f86, 0x01800c06, 0x00001080, 0x02803806,
- 0x00001280, 0x0180400a, 0x00001880, 0x01840006, 0x00009080, 0x01803006,
- 0x00001784, 0x82c12206, 0x00009080, 0x0302040e, 0x0000e081, 0x81906a0b,
- 0x00008000, 0x80402606, 0x0000f902, 0x04400000, 0x00000000, 0xffffffff,
- 0x00007fa7, 0x00000004, 0x0000e582, 0x01802004, 0x00000900, 0x00002f16,
- 0x0000700b, 0x01403006, 0x00006300, 0x03c00c0f, 0x0000c081, 0x01002fe4,
- 0x00001800, 0x2f132dec, 0x00007500, 0x01002c0e, 0x0000e000, 0x06803004,
- 0x00008400, 0x05c02004, 0x00009900, 0x0000001a, 0x0000e582, 0x0180d01a,
- 0x00000900, 0x00002f0c, 0x0000f013, 0x01008811, 0x00006100, 0x0381040e,
- 0x0000c081, 0x0020640e, 0x00001503, 0x0340080d, 0x00001088, 0x00002f08,
- 0x0000f011, 0x0000200d, 0x00009582, 0x82c030ec, 0x00002088, 0x828026ec,
- 0x0000790a, 0x02000000, 0x00008000, 0x00002f04, 0x00007010, 0x0000040f,
- 0x00009583, 0x82c03aec, 0x0000f902, 0x01400000, 0x00008604, 0x00002f36,
- 0x00007011, 0x02400c06, 0x00009183, 0x00002f32, 0x0000700b, 0x01802008,
- 0x00009000, 0x01403806, 0x00009100, 0x00002808, 0x00009502, 0x00003806,
- 0x00009502, 0xffffffff, 0x00007f86, 0x00002f38, 0x0000f028, 0x00002f38,
- 0x00007008, 0x713828ec, 0x00005600, 0x00002208, 0x00000080, 0x100040ec,
- 0x00005680, 0x00000000, 0x00008080, 0x82b836ec, 0x00002880, 0x82c048ec,
- 0x00002880, 0x82d850ec, 0x0000a882, 0x008006ec, 0x0000df80, 0x00000000,
- 0x00000084, 0x00002f26, 0x00007200, 0x02404000, 0x00001981, 0x713840ec,
- 0x0000d600, 0x00002208, 0x00000080, 0x100040ec, 0x00005680, 0x00000000,
- 0x00008080, 0x00002f32, 0x00007400, 0x01804007, 0x00009000, 0x82b836ec,
- 0x00002880, 0x7c0020ec, 0x00002081, 0x7c0028ec, 0x00002080, 0x7c0040ec,
- 0x00002082, 0x7c2032ec, 0x0000a000, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xea600404, 0x00004291, 0x98400206,
- 0x00000b8e, 0xeb400c04, 0x0000c489, 0xda401404, 0x00000b8e, 0xddc01c04,
- 0x00007893, 0x91400000, 0x0000178b, 0x81001405, 0x00009880, 0x85202804,
- 0x0000a001, 0x7c0002ec, 0x0000d000, 0x00400000, 0x00008081, 0xffffffff,
- 0x00007f97, 0x00000405, 0x00009583, 0x85203004, 0x0000a890, 0x01000000,
- 0x00009980, 0x7c0020ec, 0x0000a080, 0xffffffff, 0x00007f86, 0x2f792cac,
- 0x00007503, 0x82204004, 0x0000e886, 0x01c02004, 0x00001900, 0x00002f79,
- 0x0000f000, 0x81001405, 0x00009880, 0x85003804, 0x00002000, 0x84f82a04,
- 0x00003038, 0xffffffff, 0x00007f97, 0x00000c07, 0x00009583, 0x01403005,
- 0x00001118, 0x00002f79, 0x00007031, 0x00104005, 0x00001502, 0x02003208,
- 0x00001018, 0x84f84204, 0x00002818, 0x00002f66, 0x00007030, 0x00002f79,
- 0x0000f000, 0x02002a08, 0x00009100, 0x84f84204, 0x00002800, 0x7c0020ec,
- 0x0000a083, 0x2f792d84, 0x0000f503, 0xffffffff, 0x00007f86, 0x18002004,
- 0x00009900, 0x00002f79, 0x0000f000, 0x7c0020ec, 0x0000a083, 0x2f792dec,
- 0x00007503, 0xffffffff, 0x00007f86, 0x05c02004, 0x00009900, 0x00002f79,
- 0x0000f000, 0x01400000, 0x00001980, 0x7c0028ec, 0x0000a082, 0xffffffff,
- 0x00007fa7, 0x103828ec, 0x0000d600, 0x00000000, 0x00008080, 0x7c0000ec,
- 0x00005000, 0x00400000, 0x00000080, 0x7c3820ec, 0x0000a000, 0xffffffff,
- 0x00007fa7, 0x00000804, 0x00009582, 0x7bc00eec, 0x0000d0b0, 0x00400000,
- 0x00008000, 0x01000804, 0x00001198, 0x00000001, 0x0000f0b0, 0x7c382aec,
- 0x00002080, 0x7c3820ec, 0x00002800, 0x00000001, 0x0000f481, 0xffffffff,
- 0x00007f86, 0x713828ec, 0x00005600, 0x00002908, 0x00008080, 0x0ff83f06,
- 0x00000338, 0x825722e4, 0x00006100, 0x10009d00, 0x00004980, 0x2f8a2325,
- 0x00007004, 0x0000043a, 0x00009583, 0x823f1fe3, 0x00001908, 0x6c004008,
- 0x0000a088, 0x00002f93, 0x0000f010, 0xffffffff, 0x00007f97, 0x02003c08,
- 0x00001281, 0x02001408, 0x00001181, 0x00000c08, 0x00009583, 0x00002f98,
- 0x0000f01b, 0x1020e000, 0x00007900, 0x0036631a, 0x00000980, 0x2f981f24,
- 0x00007500, 0x0ff83f06, 0x00000334, 0x0ee1d43a, 0x00001900, 0x3000d841,
- 0x00007902, 0x06800000, 0x00008000, 0x30007e41, 0x00007902, 0x02800000,
- 0x00000000, 0x3000ca41, 0x00007902, 0x06000000, 0x00000000, 0x3000bc41,
- 0x0000f902, 0x02c00000, 0x00008000, 0x0000041b, 0x00009583, 0x0200380a,
- 0x00009090, 0x02001808, 0x00001790, 0x80b842ec, 0x0000a810, 0x4000051b,
- 0x00009583, 0x0200380f, 0x00006090, 0x02800000, 0x00000990, 0x02001808,
- 0x0000e790, 0x8298bb17, 0x00000910, 0x00002fbf, 0x00007008, 0x0000000b,
- 0x0000e582, 0xc318baec, 0x00008100, 0x82b846ec, 0x00002800, 0x02000800,
- 0x0000e188, 0x0200580b, 0x0000c910, 0x00002fb9, 0x00007400, 0x8318630c,
- 0x00006100, 0x0380100f, 0x0000c780, 0x03784708, 0x0000002c, 0x2c10620c,
- 0x00001600, 0x020588b0, 0x00009000, 0x02000008, 0x0000f900, 0x00000020,
- 0x00000080, 0x83184308, 0x00006100, 0x0340080d, 0x00004880, 0x0000700d,
- 0x00001502, 0x80786eec, 0x00005020, 0x00386000, 0x00008000, 0x80b858ec,
- 0x00005020, 0x00385000, 0x00008000, 0x00002fb3, 0x0000f028, 0x8000061b,
- 0x00009583, 0xc000071b, 0x00009583, 0xffffffff, 0x00007f86, 0x00002fc8,
- 0x00007010, 0x00002fc8, 0x00007010, 0x0000041a, 0x00001583, 0xb9104a09,
- 0x00009908, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f08b, 0x4030d51a,
- 0x0000e503, 0x82e8d51a, 0x00000900, 0x86a8d51a, 0x00001919, 0xffffffff,
- 0x00007f86, 0x0e30d51a, 0x0000781a, 0x01800001, 0x00000080, 0x8200120b,
- 0x00001880, 0x84c0b208, 0x0000f902, 0x05400000, 0x00008000, 0x84c0a408,
- 0x00007902, 0x04c00000, 0x00008000, 0x84c09608, 0x0000f902, 0x04400000,
- 0x00000000, 0x85008008, 0x0000f902, 0x03c00000, 0x00000000, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xfd60061b,
- 0x00004289, 0xc440040f, 0x00008b8f, 0xfec0071b, 0x0000c189, 0x0040040f,
- 0x00000090, 0x03000213, 0x0000c789, 0x0240041a, 0x0000048f, 0x0ac00c0f,
- 0x000078b2, 0xa9800000, 0x00001880, 0x01c00020, 0x00006180, 0x03400000,
- 0x0000c980, 0x02be8800, 0x00007900, 0x0036631a, 0x00000980, 0x02e57800,
- 0x0000f900, 0x000dc336, 0x00000980, 0x00002ffe, 0x00007400, 0x01800000,
- 0x000000f0, 0x81c01000, 0x00009980, 0x04800000, 0x000081c0, 0xc000071a,
- 0x0000e583, 0x03c00000, 0x00008980, 0x05400000, 0x000081d0, 0x04400000,
- 0x00006180, 0x0580c819, 0x00004900, 0x04e0c518, 0x0000810c, 0x00002fdc,
- 0x00007400, 0x0490d417, 0x0000003d, 0x84100000, 0x00006188, 0x84172ae5,
- 0x00004910, 0x01c00020, 0x00006180, 0x03400000, 0x0000c980, 0x0280a800,
- 0x00007900, 0x0036631c, 0x00000980, 0x02e98000, 0x00007900, 0x002538be,
- 0x00008980, 0x01800000, 0x000000f0, 0x81c01000, 0x00009980, 0xc1c02000,
- 0x0000e181, 0x08001a08, 0x00006106, 0x30031e83, 0x00007500, 0x82200500,
- 0x00008022, 0x02401002, 0x00009900, 0x0228020b, 0x00007900, 0x000002f2,
- 0x00008080, 0x03000000, 0x000000e8, 0x780408ec, 0x00005680, 0x00000000,
- 0x00008080, 0x0018100c, 0x0000e186, 0x0000400a, 0x0000b286, 0x783860ec,
- 0x00005600, 0x00385000, 0x00008000, 0x783098ec, 0x0000d602, 0x00000000,
- 0x00008080, 0x03c00800, 0x00006181, 0xc4909a13, 0x0000c900, 0x0000041a,
- 0x00001583, 0x00000c0f, 0x00001583, 0xffffffff, 0x00007f86, 0x0000302c,
- 0x0000f008, 0x0000302b, 0x0000f030, 0x8000060f, 0x00006583, 0x0200fc0b,
- 0x00008281, 0x022047e4, 0x00006000, 0x8280320b, 0x00004780, 0x038040e5,
- 0x00006400, 0x83012000, 0x00008990, 0x83001000, 0x0000e188, 0x8200150f,
- 0x00004880, 0x82004a08, 0x0000f900, 0x00000002, 0x00000080, 0x0281fc0b,
- 0x0000e281, 0x82105208, 0x00008000, 0x0000fc0a, 0x0000e583, 0x82106208,
- 0x00008000, 0x00006808, 0x00007902, 0x03000000, 0x00000000, 0xffffffff,
- 0x00007fa7, 0x0300600e, 0x00006218, 0x0340680e, 0x00000230, 0xffffffff,
- 0x00007f86, 0x00386808, 0x0000d000, 0x00386000, 0x00008000, 0x03c00000,
- 0x00009981, 0x82c00a0b, 0x00006080, 0x8200120b, 0x00008880, 0x84f8b208,
- 0x00005000, 0x0038a800, 0x00000000, 0x84f8a408, 0x0000d000, 0x00389800,
- 0x00000000, 0x84f89608, 0x00005000, 0x00388800, 0x00008000, 0x85388008,
- 0x00005000, 0x00387800, 0x00008000, 0xf3b0d20b, 0x00007833, 0x01400001,
- 0x00000080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xb9104a09, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0x17c00044, 0x00006180, 0x12438871, 0x00004900, 0x001088ec,
- 0x00005780, 0x00004801, 0x00000080, 0x0000385f, 0x00006106, 0xc0000871,
- 0x00003400, 0x13fbef77, 0x00008514, 0x17006000, 0x0000f900, 0x00018000,
- 0x00008980, 0x17501800, 0x0000f900, 0x0000c080, 0x00000980, 0x11006000,
- 0x0000f900, 0x00018000, 0x00008980, 0x11501800, 0x0000f900, 0x0000c080,
- 0x00000980, 0xc0000849, 0x0000e400, 0x00000871, 0x00003403, 0x0008b8ec,
- 0x00005780, 0x00c06700, 0x000002c0, 0x17b83706, 0x00000418, 0x12000000,
- 0x000084e8, 0x12c00000, 0x00006180, 0x1303a074, 0x00004900, 0x137bb775,
- 0x00000438, 0x143bcf78, 0x00000504, 0x1483d07a, 0x00006100, 0x08003b78,
- 0x0000e106, 0x14fbe77b, 0x00000510, 0x15bbff7e, 0x0000051c, 0x163c0f80,
- 0x00000524, 0x16bc1f82, 0x0000052c, 0x11c2f85f, 0x0000e100, 0x5dc00d77,
- 0x0000c081, 0x00000001, 0x00007480, 0xdf400f7d, 0x00006081, 0x53f3a674,
- 0x00008901, 0xd573a674, 0x00001901, 0xc11722e4, 0x00006100, 0x08003a12,
- 0x00006106, 0x2df86612, 0x00003004, 0x2dc08612, 0x0000a004, 0xffffffff,
- 0x00007f97, 0x00006006, 0x00001502, 0x003bec0d, 0x00001503, 0xffffffff,
- 0x00007f86, 0x000031a0, 0x0000f010, 0x000030fe, 0x0000f010, 0x2dc07612,
- 0x00002005, 0x002bbc0d, 0x00006503, 0x03000c0d, 0x00008081, 0x2dc06612,
- 0x0000a804, 0xffffffff, 0x00007f86, 0x0023bc0e, 0x00001503, 0xffffffff,
- 0x00007f86, 0x000030d1, 0x00007010, 0x000030d1, 0x00007010, 0x0487047c,
- 0x00009281, 0x00020412, 0x00001583, 0x81c00800, 0x0000e191, 0xb9182304,
- 0x0000c910, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093, 0xc01b637c,
- 0x00009502, 0x81c01000, 0x0000e191, 0xb9182304, 0x0000c910, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x0000f093, 0x03000c6c, 0x00009283, 0x81c01800,
- 0x00006189, 0xb9182304, 0x0000c908, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x0000f08b, 0x43003588, 0x00001283, 0x000030c6, 0x00007013, 0x80000278,
- 0x00009582, 0x81c02800, 0x00006191, 0xb9182304, 0x0000c910, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x0000f093, 0x0cc43c12, 0x0000e000, 0x0c03bc0c,
- 0x0000b000, 0x0020940c, 0x00009503, 0x81c03000, 0x00006191, 0xb9182304,
- 0x0000c910, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093, 0x13410587,
- 0x0000c48e, 0x7e600e77, 0x00008c93, 0x28400788, 0x00004488, 0x96600f88,
- 0x00008c9b, 0x50afc089, 0x0000f8b2, 0x5980fffe, 0x0000188e, 0x08044412,
- 0x0000e080, 0xc000087d, 0x0000b402, 0x0000007d, 0x0000e481, 0x5000287c,
- 0x0000b486, 0x0ec4440c, 0x00006000, 0x0404407d, 0x0000b081, 0xd204407d,
- 0x00006000, 0xe000007c, 0x0000b400, 0x0000040c, 0x00006583, 0x04806412,
- 0x00000080, 0x034097e4, 0x00006000, 0x8744407c, 0x00006000, 0x20000000,
- 0x00006190, 0x0803ea12, 0x0000e106, 0x20042084, 0x0000e108, 0x9744407c,
- 0x0000e000, 0x84800a12, 0x00006080, 0xa084407c, 0x0000a000, 0x84bffa12,
- 0x00007900, 0x00000002, 0x00008280, 0x03000000, 0x0000e190, 0x03042885,
- 0x00004908, 0x1f840089, 0x0000e002, 0xb084407c, 0x00002000, 0x1fc0000c,
- 0x0000e084, 0xc084407c, 0x0000a000, 0x80000a12, 0x0000e582, 0x0010907d,
- 0x0000a106, 0x2084508a, 0x0000e100, 0xe204407c, 0x0000e000, 0x20f8678b,
- 0x00008804, 0x0000312a, 0x0000f208, 0x1fc3ff88, 0x00001000, 0x0480080d,
- 0x00006180, 0x60000871, 0x00002402, 0x30c2303e, 0x0000f500, 0x1ec00000,
- 0x00006180, 0x40002871, 0x00006405, 0x1e842012, 0x00006200, 0xdd643486,
- 0x00000901, 0x81c00000, 0x0000e181, 0xb9182304, 0x00004900, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x00007083, 0x43008588, 0x00009283, 0x81c02000,
- 0x0000e189, 0xb9182304, 0x0000c908, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x0000f08b, 0x80000278, 0x00009582, 0xb9182304, 0x0000e110, 0x81c02800,
- 0x00004991, 0x0000308d, 0x0000f009, 0xffffffff, 0x00007f86, 0x00000000,
- 0x00007083, 0x41f866ec, 0x0000a084, 0x04002000, 0x0000f900, 0x00140000,
- 0x00008980, 0x848ffa12, 0x00001280, 0x04109010, 0x00006901, 0x0300080c,
- 0x00009080, 0x41f866ec, 0x00002884, 0x803882ec, 0x0000d600, 0x00000001,
- 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec,
- 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000,
- 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff,
- 0x00007f86, 0x002bbc0d, 0x00009503, 0x0023bc0e, 0x00001503, 0xffffffff,
- 0x00007f86, 0x000030e8, 0x00007010, 0x00003076, 0x0000f008, 0x03c00002,
- 0x00009980, 0xc3e80500, 0x00009900, 0x770000ec, 0x00005680, 0x00387800,
- 0x00008000, 0x00c002ec, 0x0000df80, 0x1307700b, 0x00009684, 0x04002000,
- 0x0000f900, 0x00140000, 0x00008980, 0x04109010, 0x00006901, 0x803882ec,
- 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000,
- 0x00000600, 0xffffffff, 0x00007f86, 0xfd93bb0d, 0x00004510, 0x77a3b80e,
- 0x00007e0e, 0x41f866ec, 0x00002004, 0x03802000, 0x0000f900, 0x00180000,
- 0x00008980, 0x844ffa12, 0x00001280, 0x0410880e, 0x00006901, 0x0300080c,
- 0x00009080, 0x41f866ec, 0x0000a804, 0x803872ec, 0x0000d600, 0x00000000,
- 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec,
- 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902, 0x20400000,
- 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600, 0xc020877d,
- 0x00001503, 0x0000306d, 0x0000f00b, 0x03400002, 0x00001980, 0xc3680500,
- 0x00001900, 0x770000ec, 0x00005680, 0x00386800, 0x00000000, 0x00c002ec,
- 0x0000df80, 0x1308b80b, 0x00001684, 0x03802000, 0x0000f900, 0x00180000,
- 0x00008980, 0x0410880e, 0x00006901, 0x803872ec, 0x0000d600, 0x00000000,
- 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec,
- 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902, 0x20400000,
- 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600, 0x2dc06e12,
- 0x0000a004, 0xffffffff, 0x00007fa7, 0x003bec0d, 0x00001503, 0x2dc06e12,
- 0x0000200c, 0x00003111, 0x00007011, 0x0000306d, 0x00007000, 0x0c43ec12,
- 0x0000e800, 0x04800c12, 0x00001481, 0x04809412, 0x00006080, 0xf3e0907d,
- 0x0000e000, 0x03803012, 0x00001300, 0x31332351, 0x00007404, 0x06fff800,
- 0x00007900, 0x003fff7e, 0x00008980, 0x0740700e, 0x00009900, 0x423892ec,
- 0x0000a004, 0x1ec00000, 0x00006180, 0x60000871, 0x0000e402, 0xdd643486,
- 0x0000e101, 0x40002871, 0x00006405, 0xffffffff, 0x00007f86, 0x04800812,
- 0x00009080, 0x423892ec, 0x00002804, 0x313e303e, 0x00007500, 0x0480080d,
- 0x00009180, 0x1e842012, 0x00009200, 0x81c00000, 0x0000e181, 0xb9182304,
- 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x0404708e,
- 0x00006100, 0x08003a12, 0x00006106, 0x04c00000, 0x0000e180, 0x60047010,
- 0x00006001, 0x81400e10, 0x0000e283, 0x04400000, 0x00008980, 0x04802212,
- 0x00006090, 0x04801a12, 0x0000c888, 0x780410ec, 0x00005680, 0x00000000,
- 0x00008080, 0x04800012, 0x00007910, 0x00000318, 0x00008080, 0x0014680c,
- 0x0000e186, 0x00181013, 0x00003186, 0x04800012, 0x00007908, 0x00000304,
- 0x00000080, 0x05000000, 0x00006180, 0x041c680c, 0x00006187, 0x44409012,
- 0x00006100, 0xc0004014, 0x00006406, 0x783898ec, 0x0000d600, 0x00388800,
- 0x00008000, 0x783c60ec, 0x0000d600, 0x00386000, 0x00008000, 0x032aa800,
- 0x0000f900, 0x00155554, 0x00008980, 0x04801111, 0x0000e080, 0x80001014,
- 0x0000a407, 0x430aacec, 0x00005084, 0x00386555, 0x00002a50, 0x03400000,
- 0x00007900, 0x00003fc0, 0x00008980, 0x64047610, 0x00006000, 0x00009011,
- 0x00003286, 0x780410ec, 0x00005680, 0x0038a000, 0x00008000, 0x81400e10,
- 0x0000e283, 0x00a1900d, 0x00002586, 0x783898ec, 0x0000d600, 0x00388800,
- 0x00008000, 0x03955000, 0x0000f900, 0x002aaaaa, 0x00000980, 0x783868ec,
- 0x0000d600, 0x00000000, 0x00008080, 0x000031b1, 0x00007408, 0x781550ec,
- 0x0000d680, 0x003872aa, 0x0000d528, 0x01400800, 0x00006181, 0xd0000871,
- 0x00006410, 0x00c43877, 0x00006801, 0x17847077, 0x0000e801, 0x27847077,
- 0x0000e801, 0x37847077, 0x00006801, 0x03000000, 0x0000f900, 0x00010000,
- 0x00000980, 0xe204700c, 0x0000e001, 0x40c47077, 0x00003001, 0x51447077,
- 0x00006801, 0x780000ec, 0x00005680, 0x00386000, 0x00008000, 0x67c47077,
- 0x0000e801, 0x5000287c, 0x0000e486, 0xc000087d, 0x0000b402, 0x0ec4440c,
- 0x00006000, 0xe000007c, 0x0000b400, 0x08044412, 0x0000e080, 0x0000007d,
- 0x0000b481, 0x8744407c, 0x00006000, 0x0404407d, 0x0000b081, 0x0000040c,
- 0x00006583, 0x9744407c, 0x00002000, 0x04806412, 0x00006080, 0xd204407d,
- 0x0000a000, 0x20000000, 0x00006190, 0x20042084, 0x0000c908, 0x034097e4,
- 0x00006000, 0xa084407c, 0x00006000, 0x0803ea12, 0x0000e106, 0xb084407c,
- 0x0000b000, 0x03000000, 0x0000e190, 0x03042885, 0x00004908, 0x1f840089,
- 0x0000e002, 0x84800a12, 0x00000080, 0x1fc0000c, 0x0000e084, 0xc084407c,
- 0x0000a000, 0x84bffa12, 0x00007900, 0x00000002, 0x00008280, 0xe204407c,
- 0x0000e000, 0x0010907d, 0x00003106, 0x20bc5f8a, 0x0000080c, 0x1fc3ff88,
- 0x0000e000, 0x2040600c, 0x00000900, 0x2ec00a12, 0x0000f892, 0x51800000,
- 0x00009889, 0x801bc212, 0x0000e502, 0x03000f7d, 0x00000081, 0x2df83612,
- 0x00005004, 0x00006000, 0x00000000, 0x2ddbbe12, 0x00002806, 0x00003076,
- 0x0000f008, 0x0487047c, 0x00006281, 0x831bc378, 0x00008900, 0x2df8760c,
- 0x0000a084, 0xffffffff, 0x00007fa7, 0x00007006, 0x00009502, 0x00020412,
- 0x0000e583, 0x038728e5, 0x00000908, 0x81c00800, 0x00009991, 0x2df8760c,
- 0x00002884, 0x0000307c, 0x0000f008, 0x00000000, 0x00007080, 0x03402000,
- 0x00006180, 0x00c43877, 0x0000e001, 0x17847077, 0x00006001, 0x6404700d,
- 0x00003000, 0x27847077, 0x00006001, 0x7404700d, 0x0000b000, 0x37847077,
- 0x0000e001, 0xd0000871, 0x0000b400, 0x40c47077, 0x0000e801, 0x51447077,
- 0x00006801, 0x0000317f, 0x00007400, 0x783868ec, 0x0000d600, 0x00000000,
- 0x00008080, 0x67c47077, 0x0000e801, 0x8008026d, 0x00009582, 0x81c03800,
- 0x0000e189, 0xb9182304, 0x0000c908, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x0000f08b, 0xc0000788, 0x00009583, 0xc0000f88, 0x00001583, 0x002fc089,
- 0x0000f900, 0x0000fffe, 0x00008582, 0x00003142, 0x0000f008, 0x000031cb,
- 0x0000f018, 0x00003142, 0x00007030, 0x81c04000, 0x00006181, 0xb9182304,
- 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0xc15722e4,
- 0x0000e100, 0x08003a12, 0x00006106, 0x2dc06612, 0x00007902, 0x03a00000,
- 0x00000005, 0x2dc08e12, 0x00002004, 0xffffffff, 0x00007f97, 0x00006006,
- 0x00001502, 0x003bec0e, 0x00001503, 0xffffffff, 0x00007f86, 0x00003283,
- 0x00007010, 0x00003257, 0x00007010, 0x2dc06e12, 0x00002005, 0x002bbc0e,
- 0x00006503, 0x03000c0e, 0x00008081, 0x2dc06612, 0x0000a804, 0xffffffff,
- 0x00007f86, 0x0023bc0d, 0x00001503, 0xffffffff, 0x00007f86, 0x0000322a,
- 0x00007010, 0x0000322a, 0x00007010, 0x0487047c, 0x00006281, 0x0ec3e40c,
- 0x0000a004, 0x00040412, 0x0000c088, 0x00050412, 0x00008088, 0x3e260412,
- 0x0000c188, 0x00630412, 0x00008090, 0x01e3e56c, 0x0000c709, 0x03c0057c,
- 0x00008bc4, 0x03d0107c, 0x00004708, 0x0b23e56c, 0x00000a15, 0x03000076,
- 0x0000478a, 0x0a40857d, 0x00000a8e, 0x14c3e56c, 0x0000c510, 0x0a200076,
- 0x00008094, 0x00020412, 0x00001583, 0xb9182b05, 0x0000e110, 0x81c07800,
- 0x00004991, 0x000031f8, 0x0000f009, 0xffffffff, 0x00007f86, 0x00000000,
- 0x00007083, 0x5000087c, 0x0000ec04, 0x31f9303e, 0x00007100, 0x0000340c,
- 0x00009583, 0x000031ff, 0x0000f00b, 0x81c00000, 0x0000e181, 0xb9182b05,
- 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0xb93b6005,
- 0x00008320, 0x0e7b7f6d, 0x0000032c, 0x0e80086e, 0x00006180, 0x41400800,
- 0x00000981, 0x81c00000, 0x00009981, 0x00000000, 0x00007083, 0x3207303e,
- 0x00007300, 0x5000107c, 0x0000ec04, 0x7ec0340c, 0x00007892, 0xf9800000,
- 0x0000188f, 0x04808379, 0x0000e080, 0x5000187c, 0x0000e404, 0xdf1b636c,
- 0x00006100, 0x04809279, 0x0000c300, 0x04804012, 0x00009784, 0x03c00000,
- 0x0000f900, 0x0001040c, 0x00008980, 0x03400012, 0x00007900, 0x00000200,
- 0x00000380, 0x84802302, 0x00001780, 0x740000ec, 0x00005680, 0x00387800,
- 0x00000100, 0x4510900d, 0x00006907, 0x04980800, 0x00007900, 0x00004080,
- 0x00008980, 0x743868ec, 0x0000d600, 0x0017f880, 0x00008080, 0x740060ec,
- 0x00005680, 0x00389000, 0x00000100, 0x0500680d, 0x00009900, 0x7438a0ec,
- 0x00005600, 0x00000008, 0x00000080, 0x3224303e, 0x0000f500, 0x740000ec,
- 0x00005680, 0x00180000, 0x00008080, 0x740000ec, 0x00005680, 0x00000800,
- 0x00000080, 0x7ec0340c, 0x00007892, 0xf9800000, 0x0000188f, 0x81c07000,
- 0x00006181, 0xb9182b05, 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0x41f866ec, 0x0000a084, 0x04002000, 0x0000f900, 0x00140000,
- 0x00008980, 0x848ffa12, 0x00001280, 0x04109010, 0x00006901, 0x0300080c,
- 0x00009080, 0x41f866ec, 0x00002884, 0x803882ec, 0x0000d600, 0x00000001,
- 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec,
- 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000,
- 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff,
- 0x00007f86, 0x002bbc0e, 0x00009503, 0x0023bc0d, 0x00001503, 0xffffffff,
- 0x00007f86, 0x00003241, 0x0000f010, 0x000031e3, 0x00007008, 0x03c00002,
- 0x00009980, 0xc3e80500, 0x00009900, 0x770000ec, 0x00005680, 0x00387800,
- 0x00008000, 0x00c002ec, 0x0000df80, 0x1312380b, 0x00001684, 0x04002000,
- 0x0000f900, 0x00140000, 0x00008980, 0x04109010, 0x00006901, 0x803882ec,
- 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000,
- 0x00000600, 0xffffffff, 0x00007f86, 0xfd93bb0e, 0x00004510, 0x78e3b80d,
- 0x0000fe0e, 0x41f866ec, 0x00002004, 0x04002000, 0x0000f900, 0x00180000,
- 0x00008980, 0x834ffa12, 0x00009280, 0x04106810, 0x0000e901, 0x0300080c,
- 0x00009080, 0x41f866ec, 0x0000a804, 0x803882ec, 0x0000d600, 0x00000000,
- 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec,
- 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902, 0x20400000,
- 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600, 0xc0208f7d,
- 0x00009503, 0x000031da, 0x0000700b, 0x03800002, 0x00001980, 0xc3a80500,
- 0x00001900, 0x770000ec, 0x00005680, 0x00387000, 0x00000000, 0x00c002ec,
- 0x0000df80, 0x1313800b, 0x00009684, 0x04402000, 0x00007900, 0x00180000,
- 0x00008980, 0x04106811, 0x00006901, 0x80388aec, 0x00005600, 0x00000000,
- 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec,
- 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902, 0x20400000,
- 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600, 0x2dc07612,
- 0x0000a004, 0xffffffff, 0x00007fa7, 0x003bec0e, 0x00001503, 0x2dc07612,
- 0x0000200c, 0x0000326a, 0x00007011, 0x000031da, 0x0000f000, 0x801bc212,
- 0x0000e502, 0x03000f7d, 0x00000081, 0x2df83612, 0x00005004, 0x00006000,
- 0x00000000, 0x2ddbbe12, 0x00002806, 0x000031e3, 0x00007008, 0x831bc378,
- 0x00001900, 0x2df8760c, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00007006,
- 0x00009502, 0x038728e5, 0x00009908, 0x000031e3, 0x00007400, 0xffffffff,
- 0x00007f86, 0x2df8760c, 0x00002884, 0x81c05800, 0x00006181, 0xb9182b05,
- 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x81c05000,
- 0x0000e181, 0xb9182b05, 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0x81c04800, 0x0000e181, 0xb9182b05, 0x00004900, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x00007083, 0x81c06800, 0x00006181, 0xb9182b05,
- 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x81c06000,
- 0x0000e181, 0xb9182b05, 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0xc11722e4, 0x00006100, 0x08003a14, 0x00006106, 0x2dc06614,
- 0x00007902, 0x04600000, 0x00008005, 0x2dc07e14, 0x00002004, 0xffffffff,
- 0x00007f97, 0x00006006, 0x00001502, 0x003bec11, 0x00009503, 0xffffffff,
- 0x00007f86, 0x0000347c, 0x00007010, 0x00003423, 0x00007010, 0x2dc06614,
- 0x0000a005, 0x002bbc11, 0x00001503, 0x000033e3, 0x00007413, 0x03000c0c,
- 0x00009081, 0x2dd86614, 0x00002806, 0x41000800, 0x00006181, 0x08032a14,
- 0x0000e106, 0x03404000, 0x0000f900, 0x001c0000, 0x00000980, 0x0506047c,
- 0x0000e281, 0x0410a00d, 0x00002101, 0x00040414, 0x00001583, 0x81c08000,
- 0x0000e191, 0xb9182304, 0x0000c910, 0x80386aec, 0x0000d600, 0x00000001,
- 0x00008280, 0xffffffff, 0x00007f97, 0x00000000, 0x0000f093, 0xc01b637c,
- 0x00009502, 0x81c08800, 0x00006191, 0xb9182304, 0x0000c910, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x0000f093, 0x4302057c, 0x00001283, 0x81c09000,
- 0x00006189, 0xb9182304, 0x0000c908, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x0000f08b, 0x43003588, 0x00001283, 0x0cc3ec14, 0x00006008, 0x0804440c,
- 0x0000b008, 0x000033d6, 0x00007011, 0x0020a40c, 0x00009503, 0x81c0a000,
- 0x00006191, 0xb9182304, 0x0000c910, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x0000f093, 0xc0000788, 0x00006583, 0x07442084, 0x00000900, 0x07042f88,
- 0x00001000, 0x000033cd, 0x00007009, 0x03042089, 0x00009002, 0x0500001c,
- 0x0000e084, 0x0740600c, 0x00000900, 0x0700001c, 0x00009084, 0xf2442881,
- 0x0000781a, 0x01800001, 0x00008000, 0x00042881, 0x00007810, 0x00000000,
- 0x00000000, 0xf2442080, 0x00007832, 0x01800001, 0x00008060, 0x78a0a77f,
- 0x00004428, 0xce60a77f, 0x00000c15, 0xf140607e, 0x0000f82a, 0x01800001,
- 0x00000080, 0x06003000, 0x00009981, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x037bd77b, 0x00000030, 0x8003d2ec,
- 0x00007902, 0x1ec00000, 0x00000600, 0x8003e2ec, 0x00007902, 0x1f400000,
- 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x043c0f80,
- 0x00008038, 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x05841082,
- 0x00006100, 0x08032a14, 0x0000e106, 0x05c00783, 0x00008488, 0x800412ec,
- 0x0000f902, 0x20c00000, 0x00008600, 0x2dc09614, 0x00007902, 0x06a00000,
- 0x00000005, 0x10400000, 0x0000f900, 0x00004042, 0x00000980, 0x10000000,
- 0x0000e180, 0x08003a42, 0x00006106, 0x2dc0de14, 0x00002004, 0x10e00001,
- 0x000080d2, 0x00009064, 0x00009502, 0x003bec1a, 0x00001503, 0xffffffff,
- 0x00007f86, 0x00003495, 0x0000f010, 0x00003399, 0x00007010, 0x2dc0ce14,
- 0x00002005, 0x002bbc1a, 0x00006503, 0x04800c1a, 0x00008081, 0x2dc09614,
- 0x0000a804, 0xffffffff, 0x00007f86, 0x0023bc19, 0x00001503, 0xffffffff,
- 0x00007f86, 0x0000336c, 0x00007010, 0x0000336c, 0x00007010, 0x0fc44414,
- 0x0000e000, 0x0c43e412, 0x0000b000, 0x0020a412, 0x00009503, 0x81c0c000,
- 0x00006191, 0xb9182304, 0x0000c910, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x0000f093, 0x0507047c, 0x00009281, 0x6c401488, 0x00004194, 0x00660414,
- 0x00008088, 0x2a830414, 0x0000f893, 0x09800000, 0x00009989, 0x2a830414,
- 0x0000f893, 0xb1800000, 0x0000998a, 0x00001c18, 0x00009583, 0x05001000,
- 0x0000e189, 0x05000000, 0x00004991, 0x80000278, 0x00009582, 0xb9182304,
- 0x0000e110, 0x8220a041, 0x00006002, 0x81c0d000, 0x00009991, 0xffffffff,
- 0x00007f97, 0x00000000, 0x0000f093, 0x5160c07c, 0x0000e004, 0xc000007d,
- 0x00003404, 0xd344407d, 0x00006000, 0x8744407c, 0x00003000, 0x0803ea14,
- 0x0000e106, 0x9744407c, 0x0000b000, 0x85000a14, 0x00006080, 0xc084407c,
- 0x0000a000, 0x853ffa14, 0x00007900, 0x00000002, 0x00008280, 0x80000a14,
- 0x0000e582, 0xa084407c, 0x0000a000, 0x0010a07d, 0x00006106, 0xb084407c,
- 0x0000b000, 0x203c2f84, 0x00000804, 0x00003454, 0x0000f408, 0x1fb8e71d,
- 0x0000073c, 0x20b8bf16, 0x0000080c, 0x05006084, 0x0000e002, 0x0fc00004,
- 0x00000980, 0x03006885, 0x0000e004, 0x0000383f, 0x0000a106, 0x1e808014,
- 0x00006102, 0x1c000000, 0x00000980, 0x1c420000, 0x00007900, 0x00001700,
- 0x00008980, 0x0f006000, 0x0000f900, 0x00008000, 0x00000980, 0x0f580800,
- 0x0000f900, 0x00004100, 0x00008980, 0x001078ec, 0x00005780, 0x00006000,
- 0x00008080, 0x1c800000, 0x000087cc, 0x1e64558a, 0x00008724, 0x334f303e,
- 0x0000f500, 0x5d783386, 0x00008338, 0x1ec0700c, 0x00001104, 0xb9182304,
- 0x00006100, 0x0003285f, 0x0000e106, 0x08032b78, 0x00006106, 0x00032847,
- 0x0000b106, 0x17bb2764, 0x00000418, 0x81c00000, 0x00009981, 0x00000000,
- 0x00007083, 0x80000278, 0x00006582, 0x80001041, 0x0000a402, 0x0e3b6f6c,
- 0x00000324, 0x0ec3786f, 0x00006100, 0x0e80086e, 0x00004080, 0x0000332a,
- 0x00007408, 0x41400800, 0x0000e181, 0xdf101202, 0x00004900, 0xb9182304,
- 0x0000e110, 0x81c0d000, 0x0000c991, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0x00001c18, 0x00006583, 0x05000000, 0x00000981, 0x80000278,
- 0x00006582, 0x05000800, 0x00000989, 0xb9182304, 0x0000e110, 0x81c0d000,
- 0x0000c991, 0x0520a2ec, 0x00001101, 0x0000332a, 0x00007208, 0x8220a041,
- 0x0000e802, 0x00000000, 0x00007083, 0x41f896ec, 0x0000a084, 0x04c02000,
- 0x0000f900, 0x00140000, 0x00008980, 0x850ffa14, 0x00001280, 0x0410a013,
- 0x00006901, 0x04800812, 0x00009080, 0x41f896ec, 0x00002884, 0x80389aec,
- 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000,
- 0x00000600, 0xffffffff, 0x00007f86, 0x002bbc1a, 0x00009503, 0x0023bc19,
- 0x00001503, 0xffffffff, 0x00007f86, 0x00003383, 0x0000f010, 0x00003313,
- 0x0000f008, 0x04800002, 0x00009980, 0xc4a80500, 0x00009900, 0x770000ec,
- 0x00005680, 0x00389000, 0x00008000, 0x00c002ec, 0x0000df80, 0x131c480b,
- 0x00001684, 0x04c02000, 0x0000f900, 0x00140000, 0x00008980, 0x0410a013,
- 0x00006901, 0x80389aec, 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec,
- 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000,
- 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec,
- 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86, 0xfd93bb1a,
- 0x00004510, 0x77c3b819, 0x00007e0e, 0x41f896ec, 0x00002004, 0x04c02000,
- 0x0000f900, 0x00180000, 0x00008980, 0x864ffa14, 0x00009280, 0x0410c813,
- 0x0000e901, 0x04800812, 0x00009080, 0x41f896ec, 0x0000a804, 0x80389aec,
- 0x0000d600, 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000,
- 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec,
- 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000,
- 0x00008600, 0xc020df7d, 0x00009503, 0x0000330a, 0x0000700b, 0x04800002,
- 0x00009980, 0xc4a80500, 0x00009900, 0x770000ec, 0x00005680, 0x00389000,
- 0x00008000, 0x00c002ec, 0x0000df80, 0x131d900b, 0x00009684, 0x04c02000,
- 0x0000f900, 0x00180000, 0x00008980, 0x0410c813, 0x0000e901, 0x80389aec,
- 0x0000d600, 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000,
- 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec,
- 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000,
- 0x00008600, 0x2dc09614, 0x00002004, 0xffffffff, 0x00007fa7, 0x003bec12,
- 0x00009503, 0x2dc0d614, 0x0000200c, 0x000033ac, 0x0000f011, 0x0000330a,
- 0x0000f000, 0x81c0b800, 0x0000e181, 0xb9182304, 0x00004900, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x00007083, 0x81c0b000, 0x00006181, 0xb9182304,
- 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x00000089,
- 0x00001582, 0x000032d9, 0x00007013, 0x03001488, 0x00009283, 0xb9182304,
- 0x0000e110, 0x81c0a800, 0x0000c991, 0x06001800, 0x00001989, 0xffffffff,
- 0x00007f97, 0x00000000, 0x0000f093, 0x000032e8, 0x00007000, 0x4300157c,
- 0x00001283, 0xb9182304, 0x0000e108, 0x81c09800, 0x0000c989, 0x0cc3ec14,
- 0x00006010, 0x0804440c, 0x0000b010, 0xffffffff, 0x00007f97, 0x00000000,
- 0x0000f08b, 0x0020a40c, 0x00009503, 0xb9182304, 0x0000e110, 0x81c0a000,
- 0x00004991, 0x000032d5, 0x0000f009, 0xffffffff, 0x00007f86, 0x00000000,
- 0x00007083, 0x423860ec, 0x0000a084, 0x03402000, 0x0000f900, 0x00140000,
- 0x00008980, 0x850ffa14, 0x00001280, 0x0410a00d, 0x00006901, 0x0300080c,
- 0x00009080, 0x423860ec, 0x00002884, 0x80386aec, 0x0000d600, 0x00000001,
- 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec,
- 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000,
- 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff,
- 0x00007f86, 0x002bbc11, 0x00001503, 0x000032b5, 0x0000700b, 0x03000002,
- 0x00009980, 0xc3280500, 0x00009900, 0x770000ec, 0x00005680, 0x00386000,
- 0x00008000, 0x00c002ec, 0x0000df80, 0x131fe80b, 0x00001684, 0x03402000,
- 0x0000f900, 0x00140000, 0x00008980, 0x0410a00d, 0x00006901, 0x80386aec,
- 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000,
- 0x00000600, 0xffffffff, 0x00007f86, 0x002bbc11, 0x00001503, 0x03000002,
- 0x00001990, 0xc3280500, 0x00001910, 0x000032b5, 0x00007008, 0x770000ec,
- 0x00005680, 0x00386000, 0x00008000, 0x00c002ec, 0x0000df80, 0x1340980b,
- 0x00009684, 0x03402000, 0x0000f900, 0x00140000, 0x00008980, 0x0410a00d,
- 0x00006901, 0x80386aec, 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec,
- 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000,
- 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec,
- 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86, 0xfdebbc11,
- 0x00007812, 0xa9800000, 0x00009985, 0x423860ec, 0x00002004, 0x03402000,
- 0x0000f900, 0x00180000, 0x00008980, 0x838ffa14, 0x00009280, 0x0410700d,
- 0x0000e901, 0x0300080c, 0x00009080, 0x423860ec, 0x0000a804, 0x80386aec,
- 0x0000d600, 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000,
- 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec,
- 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000,
- 0x00008600, 0xc0207f7d, 0x00009503, 0x000032b0, 0x0000700b, 0x03000002,
- 0x00009980, 0xc3280500, 0x00009900, 0x770000ec, 0x00005680, 0x00386000,
- 0x00008000, 0x00c002ec, 0x0000df80, 0x1341e00b, 0x00001684, 0x03402000,
- 0x0000f900, 0x00180000, 0x00008980, 0x0410700d, 0x0000e901, 0x80386aec,
- 0x0000d600, 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000,
- 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec,
- 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000,
- 0x00008600, 0x2dc06e14, 0x0000a004, 0xffffffff, 0x00007fa7, 0x003bec0d,
- 0x00001503, 0x2dc08e14, 0x0000a00c, 0x2dc06614, 0x0000200d, 0x00003436,
- 0x0000f010, 0xffffffff, 0x00007f97, 0x03000c0c, 0x00009081, 0x2dd86614,
- 0x00002806, 0xad6bbc11, 0x0000f80a, 0x19800000, 0x0000198f, 0x0c43ec14,
- 0x0000e800, 0x05000c14, 0x00001481, 0x05009414, 0x00006080, 0xf3e0a07d,
- 0x0000e000, 0x04c32014, 0x00009300, 0x345d2351, 0x0000f404, 0x06fff800,
- 0x00007900, 0x003fff7e, 0x00008980, 0x07409813, 0x00009900, 0x4238a2ec,
- 0x0000a004, 0x0fc00004, 0x0000e180, 0x1c000000, 0x0000c980, 0x1c420000,
- 0x00007900, 0x00001700, 0x00008980, 0x0f006000, 0x0000f900, 0x00008000,
- 0x00000980, 0x05000814, 0x00006080, 0x0000383f, 0x0000a106, 0x4238a2ec,
- 0x00002804, 0x05006084, 0x0000e002, 0x1c800000, 0x00008980, 0x03006885,
- 0x0000e004, 0x1cc00000, 0x00000980, 0x1e808014, 0x00006102, 0xde5c538a,
- 0x00008900, 0x0f580800, 0x0000f900, 0x00004100, 0x00008980, 0x001078ec,
- 0x00005780, 0x00006000, 0x00008080, 0x3475303e, 0x00007500, 0x1e5c348a,
- 0x00000715, 0x1ec0700c, 0x0000e104, 0x0f803006, 0x00008900, 0xb9182304,
- 0x00006100, 0x0003285f, 0x0000e106, 0x08032b78, 0x00006106, 0x00032847,
- 0x0000b106, 0x17bb2764, 0x00000418, 0x81c00000, 0x00009981, 0x00000000,
- 0x00007083, 0x801bc214, 0x0000e502, 0x03000c77, 0x00000081, 0x2df83614,
- 0x00005004, 0x0013e800, 0x00000002, 0x2dd86614, 0x00002806, 0x000032b5,
- 0x00007008, 0x839bc378, 0x0000e100, 0x08032a14, 0x0000e106, 0x2df86e0e,
- 0x00002084, 0x41000800, 0x00001981, 0xffffffff, 0x00007f97, 0x00006806,
- 0x00009502, 0x034728e5, 0x00009908, 0xffffffff, 0x00007f86, 0x2df86e0e,
- 0x0000a884, 0x03404000, 0x0000f900, 0x001c0000, 0x00000980, 0x0506047c,
- 0x0000e281, 0x0410a00d, 0x00002101, 0x00040414, 0x00001583, 0x80386aec,
- 0x0000d600, 0x00000001, 0x00008280, 0x81c08000, 0x00009991, 0x000032c2,
- 0x00007008, 0x00000000, 0x00007080, 0x801bc214, 0x0000e502, 0x04800f7d,
- 0x00000081, 0x2dfb2614, 0x0000d004, 0x00009000, 0x00000000, 0x2ddbbe14,
- 0x00002806, 0x00003313, 0x0000f008, 0x851bc378, 0x00006100, 0x0c43e412,
- 0x0000e000, 0x2df89e14, 0x0000a084, 0xffffffff, 0x00007fa7, 0x00009864,
- 0x00001502, 0x04c728e5, 0x00009908, 0xffffffff, 0x00007f86, 0x2df89e14,
- 0x00002884, 0x0fc44414, 0x00006800, 0x0020a412, 0x00009503, 0xb9182304,
- 0x0000e110, 0x81c0c000, 0x00004991, 0x0000331a, 0x00007009, 0xffffffff,
- 0x00007f86, 0x00000000, 0x00007083, 0x81c0c800, 0x00006181, 0xb9182304,
- 0x00004900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x0107fc3a,
- 0x00006280, 0x0fc0500a, 0x00000900, 0x34b41f24, 0x0000f500, 0x10225000,
- 0x00007900, 0x000342de, 0x00008980, 0x0ef85f04, 0x00000334, 0x01000100,
- 0x00006180, 0xffc00000, 0x00004980, 0x03c00020, 0x0000e180, 0x453f1004,
- 0x0000e003, 0xc3371804, 0x00006006, 0x0000180f, 0x0000b106, 0x03001000,
- 0x00007900, 0x00004000, 0x00000980, 0x03400000, 0x00007900, 0x00040090,
- 0x00000980, 0x200386ec, 0x00005680, 0x003820c0, 0x00003f00, 0x03801002,
- 0x00006100, 0xc000180f, 0x00006006, 0x00881eec, 0x00005f80, 0x00006000,
- 0x00000084, 0x17c04008, 0x0000e100, 0x00204805, 0x00006086, 0x82284805,
- 0x00006886, 0x04184805, 0x0000e987, 0x01c02805, 0x00001900, 0x1731e800,
- 0x00007900, 0x000dacb0, 0x00008980, 0x17803807, 0x00001900, 0xffffffff,
- 0x00007ff7, 0x82c034ec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff,
- 0x00007fa7, 0x01003006, 0x00001900, 0x01802004, 0x0000e100, 0x00002004,
- 0x0000e586, 0x17403006, 0x00006100, 0x04284804, 0x00006087, 0x34d81f46,
- 0x00007500, 0x86204804, 0x00006887, 0x16c02004, 0x00001900, 0x04000000,
- 0x000081c4, 0x04c00000, 0x000081c8, 0x00401409, 0x0000c589, 0x82e02409,
- 0x00000288, 0x34e12325, 0x00007404, 0x84371ee3, 0x0000e100, 0x0fc0500a,
- 0x0000c900, 0x10009b00, 0x00006180, 0x0f80580b, 0x00004900, 0x0000043a,
- 0x00009583, 0x813f1fe3, 0x00001908, 0x6c002004, 0x0000a088, 0x000034ea,
- 0x00007010, 0xffffffff, 0x00007f97, 0x01003c04, 0x00001281, 0x01001404,
- 0x00001181, 0x00000c04, 0x00009583, 0x000034eb, 0x0000701b, 0x34eb34ae,
- 0x0000f100, 0x30003a41, 0x00007902, 0x01800000, 0x00000000, 0x01400000,
- 0x00006180, 0x01000002, 0x00004980, 0xc1280500, 0x00001900, 0x760010ec,
- 0x00005680, 0x00382000, 0x00000000, 0x01100006, 0x00006180, 0x00183805,
- 0x00006100, 0x760838ec, 0x0000d680, 0x00080008, 0x00008080, 0x00203004,
- 0x00006880, 0x763828ec, 0x0000d600, 0x00382000, 0x00000000, 0x00c002ec,
- 0x0000df80, 0x1348480b, 0x00009684, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x01b84f08, 0x00008014, 0x02b3e800, 0x0000f900, 0x000dacb0,
- 0x00008980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x03000000,
- 0x00006180, 0x08001a08, 0x00006106, 0x81c02800, 0x00006180, 0xc2300600,
- 0x0000c901, 0x35091e83, 0x00007500, 0x82381400, 0x00008024, 0x01b83705,
- 0x00008034, 0x03c00020, 0x0000e180, 0x06c00000, 0x00004980, 0x05400000,
- 0x00007900, 0x00020080, 0x00008980, 0x0000180f, 0x0000e106, 0x0000181b,
- 0x0000b106, 0x05000060, 0x00006180, 0x557f1015, 0x0000e003, 0x03001000,
- 0x00007900, 0x00008000, 0x00000980, 0x03400000, 0x00007900, 0x00048050,
- 0x00008980, 0x05838000, 0x0000f900, 0x00004000, 0x00000980, 0x06009000,
- 0x0000f900, 0x00008080, 0x00008980, 0x06400000, 0x00007900, 0x00018008,
- 0x00000980, 0xc000180f, 0x00006006, 0xc000181b, 0x00003006, 0x03800702,
- 0x0000019c, 0x06b84702, 0x00000130, 0x07785709, 0x00000138, 0x85385802,
- 0x0000813c, 0x00901eec, 0x00005f80, 0x00d06140, 0x000081c4, 0x01c00708,
- 0x00008480, 0x10000407, 0x000003bc, 0x23807840, 0x00006001, 0x0c007a05,
- 0x00003182, 0x33807840, 0x0000e001, 0x0000183f, 0x0000b106, 0x53807840,
- 0x0000e001, 0xc000183f, 0x00003006, 0x01804809, 0x0000e100, 0x43807840,
- 0x00006001, 0x0f801002, 0x00006100, 0x62407840, 0x00006001, 0xd058730e,
- 0x0000e100, 0x75007840, 0x0000e001, 0xc106070f, 0x00006283, 0x14007840,
- 0x0000a001, 0x0f009000, 0x0000f900, 0x00008040, 0x00008980, 0x0f400000,
- 0x00007900, 0x00018030, 0x00008980, 0x90400a05, 0x00006080, 0x04007840,
- 0x0000e001, 0x0146070f, 0x00009281, 0x00020405, 0x00001583, 0x00060405,
- 0x00009583, 0x0000354f, 0x0000f008, 0x00003569, 0x00007008, 0x0000358b,
- 0x00007008, 0x01400000, 0x00006180, 0x08001a08, 0x00006106, 0x01800000,
- 0x00006180, 0x003f1805, 0x0000e086, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x03000000, 0x00006180, 0x08807d05, 0x0000e002, 0x029d6000,
- 0x0000f900, 0x000629a8, 0x00008980, 0x02fff800, 0x0000f900, 0x002a54a6,
- 0x00008980, 0x82200500, 0x00008022, 0x354f1e83, 0x0000f500, 0x02407702,
- 0x0000009d, 0x03402805, 0x00001900, 0x01400800, 0x00001981, 0xc0006b07,
- 0x00006582, 0x96602840, 0x00002003, 0xe4fa1604, 0x0000b038, 0x0e007c05,
- 0x00006006, 0x83007840, 0x0000b001, 0x0000357b, 0x0000f030, 0x02400040,
- 0x0000e180, 0x02000000, 0x0000c980, 0x00000c05, 0x0000e583, 0x82583b07,
- 0x00008900, 0x02800080, 0x0000e180, 0x86003009, 0x00006007, 0x82181302,
- 0x0000e100, 0x82001c05, 0x00004081, 0x54403009, 0x00006003, 0x0018380a,
- 0x00003182, 0x0000356b, 0x0000f418, 0x02c00480, 0x0000e180, 0x86202808,
- 0x00006085, 0x03eff800, 0x000000f9, 0x01001000, 0x0000f900, 0x000083c0,
- 0x00000980, 0x41000c05, 0x00009081, 0x00b826ec, 0x00005f00, 0x00107003,
- 0x00000084, 0x00003550, 0x00007200, 0x01401000, 0x00001981, 0x01001000,
- 0x0000f900, 0x000083c0, 0x00000980, 0x448005ff, 0x000001cc, 0x458005ff,
- 0x000001dc, 0x468005ff, 0x000001ec, 0x478005ff, 0x000001fc, 0x488005ff,
- 0x000002cc, 0x498005ff, 0x000002dc, 0x4a8005ff, 0x000002ec, 0x4b8005ff,
- 0x000002fc, 0x4c8005ff, 0x000003cc, 0x4d8005ff, 0x000003dc, 0x4e8005ff,
- 0x000003ec, 0x41000c05, 0x00009081, 0x00b826ec, 0x00005f00, 0x00107003,
- 0x00000084, 0x003f1805, 0x0000e086, 0x08001a08, 0x00003106, 0x01800000,
- 0x00006180, 0x0e007d05, 0x0000e006, 0x03000000, 0x00006180, 0x04183805,
- 0x0000e187, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x02bb9800,
- 0x0000f900, 0x000629a6, 0x00000980, 0x02d67000, 0x00007900, 0x001d2408,
- 0x00000980, 0x82200500, 0x00008022, 0x358b1e83, 0x00007500, 0x02782f02,
- 0x00000034, 0x81c05000, 0x00001980, 0x00003550, 0x00007200, 0x01400000,
- 0x00009981, 0xffc00000, 0x00001980, 0xffffffff, 0x00007f86, 0x008006ec,
- 0x0000df80, 0x00000000, 0x00000084, 0x17c02004, 0x0000e100, 0x0020280a,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x11800ce0,
+ 0x00006283, 0x11c00000, 0x00000981, 0x823a36ec, 0x0000a694, 0x13771fe4,
+ 0x00009810, 0x00000001, 0x00007088, 0x00000001, 0x0000f481, 0x1182304d,
+ 0x00009202, 0x11c00800, 0x00009991, 0x11800000, 0x00007900, 0x000010c4,
+ 0x00008980, 0x91002d00, 0x00006080, 0x001a4046, 0x00006106, 0x91680500,
+ 0x0000e100, 0xd1580a44, 0x0000c080, 0x11000004, 0x0000e180, 0x929722e4,
+ 0x0000c900, 0x703a30ec, 0x00005600, 0x003a2800, 0x00000000, 0x92c02d00,
+ 0x00006080, 0x82224044, 0x00006080, 0x11400000, 0x00007900, 0x00007fc0,
+ 0x00000980, 0x703a38ec, 0x0000d600, 0x003a4800, 0x00000000, 0x001a4045,
+ 0x0000e186, 0x04171044, 0x0000b187, 0x703a28ec, 0x00005600, 0x003a2000,
+ 0x00008000, 0x00c002ec, 0x0000df80, 0x111ea00b, 0x00001684, 0x13d513a8,
+ 0x00007100, 0xb912524a, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x203a10ec, 0x0000a080, 0x0b220fe4, 0x00009800, 0xffffffff,
+ 0x00007f97, 0x0b02102c, 0x00009202, 0x22800000, 0x0000f910, 0x000140c0,
+ 0x00008980, 0xa2801800, 0x0000e190, 0xddb00600, 0x00004911, 0x00000001,
+ 0x00007088, 0x22190000, 0x00007900, 0x0019b31e, 0x00008980, 0x2257f800,
+ 0x0000f900, 0x0019b31e, 0x00008980, 0x9da80500, 0x00006101, 0x08001a76,
+ 0x00006106, 0x00000f4f, 0x0000f400, 0x1dfa0f02, 0x00000714, 0x253a072f,
+ 0x00008914, 0x00400000, 0x00007900, 0x00040050, 0x00000980, 0x0000081d,
+ 0x0000e582, 0xc0c00000, 0x00008980, 0x00000001, 0x00007480, 0x00001000,
+ 0x00006181, 0x90000801, 0x00006419, 0x80c00c1d, 0x00006199, 0xc020ec1d,
+ 0x00008901, 0x0000081e, 0x00001582, 0x07400800, 0x00001990, 0x13f613ea,
+ 0x0000f111, 0x47406518, 0x00001283, 0x0c001002, 0x00006108, 0x0c401031,
+ 0x00004388, 0x00387034, 0x0000600e, 0x80000831, 0x0000b40e, 0x00000001,
+ 0x00007090, 0x20001831, 0x0000e403, 0xc0002033, 0x00003405, 0xc700270d,
+ 0x00006283, 0xb000c031, 0x00002481, 0xb6e0f031, 0x0000e005, 0x04006033,
+ 0x00003117, 0x00000001, 0x00007480, 0x0c7fe831, 0x00007910, 0x003ffffe,
+ 0x00008280, 0x4d80680d, 0x00006100, 0x4dc0700e, 0x0000c900, 0x08000000,
+ 0x000082c4, 0x08800000, 0x000082cc, 0x09000000, 0x000082d4, 0x09800000,
+ 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000,
+ 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4, 0x0c800000,
+ 0x000083cc, 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc, 0x0e000000,
+ 0x000083e4, 0x0e800000, 0x000083ec, 0x0f000000, 0x000083f4, 0x0fc00000,
+ 0x000083f8, 0x9c602411, 0x00004188, 0x00202c11, 0x00000088, 0x43801c11,
+ 0x0000f893, 0xe8800000, 0x00000a80, 0x2f001d18, 0x00007897, 0xe8800000,
+ 0x00000a83, 0x12009800, 0x00007900, 0x00001c00, 0x00000980, 0x142313be,
+ 0x0000f404, 0x08001800, 0x00006181, 0x11c09012, 0x0000c900, 0x12409813,
+ 0x00001900, 0x00000447, 0x00009583, 0x873f1fe3, 0x00001908, 0x4380e01c,
+ 0x0000a088, 0x0000142c, 0x0000f010, 0xffffffff, 0x00007f97, 0x07003c1c,
+ 0x00001281, 0x0700141c, 0x00001181, 0x00000c1c, 0x00009583, 0x00001431,
+ 0x0000701b, 0x07d06800, 0x00007900, 0x002cb8ca, 0x00000980, 0x14310feb,
+ 0x00007500, 0x07b89f12, 0x00008134, 0x07223c47, 0x00001900, 0x3082044b,
+ 0x0000f902, 0x0bc00000, 0x00008000, 0x30b9764b, 0x00002080, 0x30c1684b,
+ 0x00007902, 0x0b000000, 0x00008000, 0x30c15a4b, 0x0000f902, 0x0a800000,
+ 0x00008000, 0x07000ce0, 0x00009283, 0x00001450, 0x0000700b, 0x143b0f7b,
+ 0x0000f100, 0xffffffff, 0x00007f86, 0x0000041c, 0x00001583, 0x1d580800,
+ 0x0000e190, 0x1f800000, 0x0000c990, 0x22399800, 0x0000f910, 0x002cb8ce,
+ 0x00008980, 0x00001450, 0x00007008, 0x14450f59, 0x00007300, 0x1fd01202,
+ 0x00006100, 0xdd771ee3, 0x00004900, 0x144713ea, 0x0000f300, 0x07400800,
+ 0x00009980, 0x87371ee3, 0x00009900, 0x10f8281c, 0x00002180, 0xffffffff,
+ 0x00007fa7, 0x01400805, 0x00009080, 0x10f8281c, 0x0000a980, 0x10c0001c,
+ 0x0000d100, 0x00400800, 0x00008080, 0x008806ec, 0x00005f80, 0x00006800,
+ 0x00008084, 0x145213ea, 0x00007300, 0x07402000, 0x00009980, 0x47006518,
+ 0x00009283, 0x87371ee3, 0x00006108, 0x0130ae15, 0x00004909, 0x5278e41c,
+ 0x00002008, 0x0000147b, 0x00007010, 0x4138af15, 0x00006101, 0x0000000d,
+ 0x00006700, 0x8120b416, 0x00006101, 0xa000000d, 0x00006403, 0x43495e2b,
+ 0x00000034, 0x4371542b, 0x00000039, 0x43a9552a, 0x00006101, 0xa7c1500d,
+ 0x00006001, 0x03b1562a, 0x0000e101, 0xb6e8b00d, 0x00006001, 0xc300270d,
+ 0x0000e283, 0xc2220440, 0x00000901, 0x03c00000, 0x00006189, 0x09016c0f,
+ 0x00006010, 0x03000000, 0x0000f900, 0x00204000, 0x00008980, 0xc380270d,
+ 0x00006283, 0xc320780c, 0x00002000, 0x83c00000, 0x00006188, 0x0c016a0f,
+ 0x0000e116, 0x80000e15, 0x00006583, 0xd401680c, 0x00002004, 0xc000e00b,
+ 0x0000e008, 0x97c1500d, 0x00003001, 0xd000e00b, 0x0000e00c, 0x0010780c,
+ 0x00003106, 0x822a0540, 0x00006101, 0x0000e00b, 0x0000610e, 0x42120140,
+ 0x00000022, 0x42617b2f, 0x00008026, 0x4251792f, 0x00000026, 0x42a1732e,
+ 0x0000802a, 0x4291712e, 0x0000002a, 0x03d8ba17, 0x00008039, 0xc2d8e31c,
+ 0x0000e108, 0x83d9632c, 0x00004900, 0x0000147e, 0x00007200, 0x07800800,
+ 0x00009980, 0x07802002, 0x000002c2, 0x147f13f3, 0x00007100, 0x82c0ecec,
+ 0x00007902, 0x07000000, 0x00000604, 0x08610420, 0x00006101, 0x0020881e,
+ 0x00006086, 0x1bc08010, 0x0000e100, 0x8228881e, 0x0000e086, 0x0418881e,
+ 0x0000e987, 0x07c0f01e, 0x00006100, 0x0000201c, 0x0000e586, 0x0780e81d,
+ 0x0000e100, 0x0428881c, 0x00006087, 0x1b80f81f, 0x00006100, 0x8620881c,
+ 0x0000e087, 0x1490100d, 0x0000f500, 0x1b06d800, 0x0000f900, 0x0032a52e,
+ 0x00000980, 0x1af8f71c, 0x00008634, 0x1492163f, 0x0000f300, 0x07810f10,
+ 0x0000813f, 0x00001c11, 0x00006583, 0x10c00000, 0x00000980, 0x08464000,
+ 0x00007900, 0x00002400, 0x00008980, 0x000800ec, 0x00005780, 0x00006800,
+ 0x00000080, 0x00001843, 0x00006106, 0x413f1021, 0x00003002, 0x08000800,
+ 0x0000f900, 0x00080000, 0x00000980, 0x08800000, 0x0000f900, 0x00002000,
+ 0x00000980, 0x0a000000, 0x0000f900, 0x00004000, 0x00000980, 0x0a848000,
+ 0x00007900, 0x000080c0, 0x00000980, 0x0b001000, 0x0000f900, 0x00005c00,
+ 0x00008980, 0x10009000, 0x00007900, 0x00015900, 0x00000980, 0x10400000,
+ 0x0000f900, 0x00018008, 0x00000980, 0x001808ec, 0x0000d788, 0x00006800,
+ 0x00000080, 0x08c00000, 0x0000e180, 0xc0001843, 0x0000e006, 0x09101001,
+ 0x0000e180, 0x09400000, 0x0000c980, 0x09800000, 0x000082dc, 0x0a500001,
+ 0x0000e180, 0x0ac00000, 0x00004980, 0x0b800000, 0x000082fc, 0x0b601702,
+ 0x00000408, 0x10b88502, 0x00008410, 0x11789711, 0x00000418, 0x11f8a713,
+ 0x00008420, 0x1278b715, 0x00000428, 0x12f8c717, 0x00008430, 0x1378d719,
+ 0x00000438, 0x13c0d81b, 0x00001900, 0x008046ec, 0x00005f80, 0x00007003,
+ 0x00008084, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0x1bc02710,
+ 0x00000098, 0x01000000, 0x00007900, 0x00010000, 0x00000980, 0x82288806,
+ 0x00006886, 0x04188806, 0x00006187, 0x00002004, 0x0000b586, 0x01c03006,
+ 0x00006100, 0x04288804, 0x00006087, 0x01b82705, 0x0000062c, 0x14cb100d,
+ 0x00007500, 0x1b06d800, 0x0000f900, 0x0032a52e, 0x00000980, 0x1b783f06,
+ 0x00008638, 0x14cd163f, 0x0000f300, 0x07803710, 0x000001bc, 0x14cf13ea,
+ 0x0000f300, 0x07400800, 0x00009980, 0x09c00000, 0x00006180, 0x00060021,
+ 0x00006486, 0x083ff020, 0x0000f900, 0x003ffffe, 0x00008280, 0x00000021,
+ 0x0000e585, 0x00001024, 0x00003504, 0x00001827, 0x0000e106, 0x70030820,
+ 0x0000b500, 0x0020c021, 0x0000e006, 0x00000828, 0x00003403, 0x09501000,
+ 0x00007900, 0x00044040, 0x00000980, 0xc0001827, 0x00006006, 0x60000829,
+ 0x00003402, 0x413f1021, 0x00006002, 0xc0000020, 0x00003403, 0x09a81402,
+ 0x00008218, 0xc9180000, 0x00001980, 0x008806ec, 0x00005f80, 0x00d06a00,
+ 0x00000284, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0x1bc02f10,
+ 0x00008098, 0x82288806, 0x00006886, 0x04188806, 0x0000e987, 0x02382f06,
+ 0x0000001c, 0x01400000, 0x0000f900, 0x00014000, 0x00008980, 0x1b403807,
+ 0x00006100, 0x00002005, 0x00006586, 0x1b804008, 0x00006100, 0x04288805,
+ 0x0000e087, 0x14f3100d, 0x0000f500, 0x1b06d800, 0x0000f900, 0x0032a52e,
+ 0x00000980, 0x1ac02805, 0x00001900, 0x14f5163f, 0x00007300, 0x07803f10,
+ 0x000081bc, 0x14f713ea, 0x00007300, 0x07400800, 0x00009980, 0x08000820,
+ 0x00006380, 0x00060021, 0x0000a486, 0x09c33000, 0x0000e181, 0x00000021,
+ 0x0000e585, 0x0a400000, 0x00007900, 0x0000c004, 0x00000980, 0x0020c021,
+ 0x0000e006, 0x70016820, 0x00003500, 0x0b400002, 0x0000e180, 0xc0000027,
+ 0x0000e406, 0x00001829, 0x00006106, 0xc0000826, 0x00003407, 0x413f1021,
+ 0x00006002, 0xc0000020, 0x00003403, 0x0000182d, 0x0000e106, 0x40000027,
+ 0x0000b407, 0x09040024, 0x00006380, 0x0a800000, 0x00000980, 0x0ac00000,
+ 0x00006180, 0x0a001002, 0x0000c900, 0x000014e1, 0x00007400, 0x0b800000,
+ 0x000082fc, 0x0b001002, 0x00001900, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x038b4000, 0x00007900, 0x002cb8ca, 0x00000980, 0x03fa9000,
+ 0x0000f900, 0x0016f7fa, 0x00008980, 0x02000000, 0x0000e180, 0x08001a0c,
+ 0x0000e106, 0x83200500, 0x00008032, 0x151b0f22, 0x00007500, 0x03788702,
+ 0x00008108, 0x81002800, 0x00006180, 0x02808811, 0x0000c900, 0x81c00fe2,
+ 0x0000e080, 0x00000006, 0x0000e586, 0x50e1d407, 0x00002081, 0x50d1cc07,
+ 0x00002082, 0x04460000, 0x00006180, 0x0e020c0f, 0x00006006, 0x04800000,
+ 0x00006180, 0x06020811, 0x00006006, 0x4001d006, 0x0000e000, 0x46020811,
+ 0x00003002, 0x0001d406, 0x00006004, 0x0429f011, 0x00003185, 0x01008406,
+ 0x0000e283, 0x04c00000, 0x00000980, 0x01c00800, 0x0000e190, 0x09806807,
+ 0x00006008, 0x05800000, 0x0000e180, 0x09406c04, 0x00006000, 0x01c03c04,
+ 0x00006000, 0x05c00000, 0x00008980, 0x0e001407, 0x00006081, 0x06000000,
+ 0x00004980, 0x06400000, 0x0000e180, 0x81c016e3, 0x0000c880, 0x0cc02807,
+ 0x0000f902, 0x01000000, 0x00000100, 0x0cc0ae07, 0x00007902, 0x05000000,
+ 0x00008100, 0x04000800, 0x0000f900, 0x00040004, 0x00008980, 0xffffffff,
+ 0x00007f86, 0x01402d3e, 0x00009002, 0x05400815, 0x0000e082, 0x01000004,
+ 0x00000084, 0x0cf82807, 0x0000d100, 0x00382000, 0x00000000, 0xc100270d,
+ 0x00006283, 0x05000014, 0x00000084, 0x0cf8ae07, 0x00005100, 0x0038a000,
+ 0x00008000, 0x05000000, 0x0000f900, 0x0000c002, 0x00000980, 0x0000154b,
+ 0x00007210, 0x05400000, 0x0000e180, 0x01000000, 0x00004990, 0x01008406,
+ 0x00001283, 0x01000000, 0x00009980, 0x01000800, 0x00009988, 0xc100470d,
+ 0x00006283, 0x01c00000, 0x00008981, 0x07002060, 0x00006180, 0x01c00800,
+ 0x00004989, 0x06c02060, 0x0000e180, 0x34e0201c, 0x0000e001, 0x0938670b,
+ 0x00008220, 0x01008406, 0x0000e283, 0x34e0381b, 0x0000a001, 0x0c000000,
+ 0x0000f900, 0x0000c000, 0x00008980, 0x0c800000, 0x00007900, 0x00020000,
+ 0x00000980, 0x11580000, 0x00007900, 0x00200000, 0x00000980, 0xd341d028,
+ 0x00006014, 0xd341c824, 0x00003014, 0x0c400000, 0x000083cc, 0x00000407,
+ 0x0000e583, 0x11800040, 0x00008980, 0x06806060, 0x0000e180, 0x08001a07,
+ 0x00006106, 0x0b000000, 0x00007900, 0x00224180, 0x00000980, 0x11000000,
+ 0x0000f900, 0x00014000, 0x00008980, 0x11c0c000, 0x0000f900, 0x00006080,
+ 0x00000980, 0x13000000, 0x00007900, 0x00108000, 0x00008980, 0x2232b000,
+ 0x0000f900, 0x00385304, 0x00008980, 0x07408060, 0x0000e180, 0x04103845,
+ 0x00006101, 0x0780c060, 0x00006180, 0x07c00000, 0x0000c980, 0x08c00000,
+ 0x000002d4, 0x09800000, 0x000082dc, 0x0a400000, 0x000002e8, 0x0ac00000,
+ 0x00006180, 0x08004008, 0x00004900, 0x08785709, 0x00000208, 0x0b400000,
+ 0x000002f8, 0x0bc0002e, 0x000083d8, 0x0de03000, 0x000001e3, 0x46404000,
+ 0x00006181, 0x8d11e23c, 0x0000c900, 0x0d39ed3c, 0x00008314, 0x12000000,
+ 0x00006180, 0x12402020, 0x0000c980, 0x12802060, 0x00006180, 0x12c00000,
+ 0x00004980, 0x13400000, 0x000004f8, 0x13c00000, 0x0000e180, 0x1d40000a,
+ 0x0000c980, 0xdfc9f00f, 0x0000873b, 0x0c08720e, 0x00000300, 0x0c20740e,
+ 0x00006101, 0x4c800320, 0x0000c980, 0x0c486a0d, 0x00000304, 0x158a0f59,
+ 0x0000f500, 0x0c59f00d, 0x0000030d, 0x9180e438, 0x00009080, 0x15c00000,
+ 0x0000e180, 0x95901202, 0x00004900, 0x001020ec, 0x0000d780, 0x00d07442,
+ 0x000001c0, 0xd5981302, 0x0000e100, 0x00001857, 0x00006106, 0x15001000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x15400000, 0x0000f900, 0x00040080,
+ 0x00008980, 0x0008a8ec, 0x0000d780, 0x00007000, 0x00000080, 0xc0001857,
+ 0x00006806, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x8e000fe2,
+ 0x0000e080, 0x00000006, 0x0000e586, 0x50e1dc38, 0x0000a081, 0x50d1d438,
+ 0x00002082, 0x057ffa46, 0x0000f900, 0x0000001e, 0x00000280, 0x044000c0,
+ 0x000001c8, 0x4001d806, 0x00006000, 0x06024811, 0x0000b006, 0x0001dc06,
+ 0x0000e004, 0x46024811, 0x0000b002, 0x01008406, 0x0000e283, 0x04123011,
+ 0x00002185, 0x0e000800, 0x0000e190, 0x09806838, 0x00006008, 0x04c00000,
+ 0x0000e180, 0x09406c04, 0x00006000, 0x0e01c404, 0x00006000, 0x05800000,
+ 0x00000980, 0x0e401438, 0x0000e081, 0x05c00000, 0x00004980, 0x8e0016e3,
+ 0x0000e080, 0x06000000, 0x00004980, 0x0cc02838, 0x0000f902, 0x01000000,
+ 0x00000100, 0x0cc0a638, 0x0000f902, 0x01c00000, 0x00000100, 0x04000800,
+ 0x0000f900, 0x00040014, 0x00000980, 0x06400000, 0x00009980, 0x01402815,
+ 0x00006002, 0x05400000, 0x00000980, 0x05000814, 0x0000e082, 0x01000004,
+ 0x00000084, 0x0cf82838, 0x0000d100, 0x00382000, 0x00000000, 0xc100270d,
+ 0x00006283, 0x01c00007, 0x00000084, 0x0cf8a638, 0x0000d100, 0x00383800,
+ 0x00000000, 0x05100000, 0x00007900, 0x0000c002, 0x00000980, 0x000015c8,
+ 0x0000f210, 0x01000000, 0x00001990, 0x01008406, 0x00001283, 0x01000000,
+ 0x00009980, 0x01000800, 0x00009988, 0xc100470d, 0x00006283, 0x0e000000,
+ 0x00008981, 0x07002060, 0x00006180, 0x0e000800, 0x00004989, 0x06c02060,
+ 0x0000e180, 0x34e0201c, 0x0000e001, 0x0938670b, 0x00008220, 0x01008406,
+ 0x0000e283, 0x34e1c01b, 0x0000a001, 0xd341d828, 0x0000e014, 0xd341d024,
+ 0x00003014, 0x00000438, 0x0000e583, 0x0d172ae5, 0x00008900, 0x17c00000,
+ 0x00006180, 0x08022038, 0x0000e206, 0x13580000, 0x0000f900, 0x00200000,
+ 0x00000980, 0xc100170d, 0x00006283, 0x18800000, 0x00000980, 0xcd11c238,
+ 0x00006100, 0x0000185f, 0x0000e106, 0x08001a38, 0x00006106, 0x00022062,
+ 0x00003206, 0x0c000000, 0x0000f900, 0x00018000, 0x00008980, 0x0c800000,
+ 0x00007900, 0x00020000, 0x00000980, 0x001020ec, 0x0000d780, 0x00d073c2,
+ 0x00008180, 0x0c400000, 0x0000e180, 0x0411c04d, 0x0000e101, 0x0cc00000,
+ 0x00006180, 0x13800040, 0x0000c980, 0x18c00002, 0x0000e180, 0x1a000000,
+ 0x0000c980, 0x8e002302, 0x00006780, 0xc000185f, 0x0000a006, 0x0b000000,
+ 0x00007900, 0x00224180, 0x00000980, 0x13000000, 0x00007900, 0x00014000,
+ 0x00008980, 0x13c1c000, 0x0000f900, 0x00006080, 0x00000980, 0x15000000,
+ 0x00007900, 0x00108000, 0x00008980, 0x17001000, 0x00007900, 0x00004000,
+ 0x00000980, 0x17400000, 0x00007900, 0x00040080, 0x00008980, 0x18086000,
+ 0x00007900, 0x00010000, 0x00000980, 0x18501800, 0x0000f900, 0x00004100,
+ 0x00008980, 0x19202000, 0x00007900, 0x00010000, 0x00000980, 0x19402000,
+ 0x00007900, 0x00040000, 0x00000980, 0x001898ec, 0x00005780, 0x00d075c0,
+ 0x000082c0, 0x00022863, 0x00006106, 0x4511c062, 0x00003107, 0x06806060,
+ 0x0000e180, 0x07408060, 0x0000c980, 0x0780c060, 0x00006180, 0x07c10060,
+ 0x00004980, 0x08c00000, 0x000002d4, 0x09800000, 0x000082dc, 0x0a400000,
+ 0x000002e8, 0x0ac00000, 0x00006180, 0x08004008, 0x00004900, 0x08785709,
+ 0x00000208, 0x0b400000, 0x000002f8, 0x0bc0002e, 0x000083d8, 0x0de03000,
+ 0x000001e3, 0x46405000, 0x0000e181, 0x0d423847, 0x0000c900, 0x14000000,
+ 0x00006180, 0x14402020, 0x0000c980, 0x14802060, 0x00006180, 0x14c00000,
+ 0x00004980, 0x15400000, 0x000005d8, 0x15c00000, 0x0000e180, 0x97901202,
+ 0x0000c900, 0x17880502, 0x00000698, 0x19c00000, 0x000086e4, 0x1a800000,
+ 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000, 0x000086fc, 0x0c08720e,
+ 0x00000300, 0x0c20740e, 0x00006101, 0x4c800520, 0x0000c980, 0x0c486a0d,
+ 0x00000304, 0x0000162a, 0x0000f410, 0x0c6a280d, 0x0000030e, 0xda101202,
+ 0x00006100, 0x9380e439, 0x0000c080, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x82c030ec, 0x0000f902, 0x01000000, 0x00000604, 0x1c400020,
+ 0x0000e180, 0x0100a238, 0x00004880, 0x08022038, 0x0000e206, 0x00022871,
+ 0x00003106, 0x1c800000, 0x00006180, 0xc0000816, 0x00006407, 0x1c01c004,
+ 0x0000e300, 0x00000865, 0x00002402, 0x0d001c38, 0x0000e006, 0x00000866,
+ 0x0000b402, 0x0008e0ec, 0x0000d780, 0x00007000, 0x00000080, 0x00107872,
+ 0x00006302, 0xc321c071, 0x0000b004, 0x85c01866, 0x000006c7, 0x1ac0320f,
+ 0x00006000, 0x1cc00000, 0x00000980, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x0bfa6eec, 0x00002180, 0x90371ee3, 0x00009900, 0xffffffff,
+ 0x00007f97, 0x80126a40, 0x00001502, 0x801a6a40, 0x00009502, 0xffffffff,
+ 0x00007f86, 0x0000164f, 0x00007008, 0x0000164d, 0x0000f008, 0x80172a4d,
+ 0x00001502, 0x93771ee3, 0x00009908, 0x0000164f, 0x0000f009, 0xc0172b4d,
+ 0x00001502, 0xd3771ee3, 0x00001908, 0x0000164f, 0x0000f011, 0x00001650,
+ 0x0000f200, 0x93800800, 0x00001980, 0x93800000, 0x00009980, 0xffffffff,
+ 0x00007f86, 0x2c00324e, 0x00001680, 0x900588b0, 0x00001000, 0x90000a40,
+ 0x00009080, 0x0bc25e40, 0x00007902, 0x12800000, 0x00000100, 0x0c024840,
+ 0x00007902, 0x12000000, 0x00008100, 0x0c023a40, 0x00007902, 0x11800000,
+ 0x00000100, 0x0c022c40, 0x0000f902, 0x11000000, 0x00008100, 0x0c021e40,
+ 0x00007902, 0x10800000, 0x00008100, 0x0c40e840, 0x00007902, 0x07000000,
+ 0x00000100, 0xd320301f, 0x00004388, 0x0020301f, 0x00008098, 0xd2e0101f,
+ 0x0000c488, 0xf420101f, 0x0000059c, 0x00c0001f, 0x0000c790, 0x02c0501f,
+ 0x00008488, 0xd0a0501f, 0x0000c4b0, 0x5420601f, 0x0000858d, 0xa9c0601f,
+ 0x000078ab, 0x58800000, 0x00008b84, 0x0000081f, 0x00009582, 0xd2c00b4b,
+ 0x00001088, 0x000016ad, 0x0000f009, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x03ae9000, 0x00007900, 0x00328e8c, 0x00008980, 0x03ca7000,
+ 0x00007900, 0x00153394, 0x00008980, 0x04800000, 0x00006180, 0x08001a0c,
+ 0x0000e106, 0x02800000, 0x000080e0, 0x16ad0f22, 0x0000f500, 0x83200500,
+ 0x00008032, 0x81001000, 0x0000e180, 0x03401002, 0x00004900, 0x0000201f,
+ 0x00009582, 0xd210f21e, 0x00006108, 0x92000a48, 0x00004088, 0x000016ad,
+ 0x0000f009, 0x0000201f, 0x00009582, 0x92400a49, 0x000060b0, 0xd250f21e,
+ 0x00008930, 0xd1d0f21e, 0x0000e118, 0x91c00a47, 0x0000c098, 0x000016ad,
+ 0x0000f030, 0x000016ad, 0x0000f000, 0x0000401f, 0x00009582, 0xd0d0f21e,
+ 0x0000e108, 0x90c00a43, 0x00004088, 0x000016ad, 0x0000f009, 0xa700401f,
+ 0x000078b3, 0x08800000, 0x00000b85, 0x0000681f, 0x00009582, 0xc710f21e,
+ 0x0000e108, 0x87000a1c, 0x00004088, 0x000016ad, 0x0000f009, 0x0000166d,
+ 0x0000f000, 0x12c00001, 0x000004e8, 0x12400000, 0x000084e0, 0x11c00000,
+ 0x000084d8, 0x11400000, 0x000084d0, 0x000016ad, 0x00007400, 0x10c00000,
+ 0x000084c8, 0x07000000, 0x000081f4, 0x000016ad, 0x00007200, 0x92800a4a,
+ 0x00009080, 0x000016ad, 0x00007200, 0xd190f21e, 0x00006100, 0x91800a46,
+ 0x0000c080, 0x000016ad, 0x00007400, 0x8000024e, 0x00006582, 0xd2800b4a,
+ 0x00000080, 0x93572ae5, 0x0000e108, 0xd3572ae5, 0x00004910, 0x000016ad,
+ 0x00007200, 0xd150f21e, 0x00006100, 0x91400a45, 0x0000c080, 0x000016ad,
+ 0x00007200, 0xd110f21e, 0x0000e100, 0x91000a44, 0x0000c080, 0x000016ad,
+ 0x00007200, 0xd090f21e, 0x0000e100, 0x90800a42, 0x0000c080, 0x000016ad,
+ 0x00007200, 0xc750f21e, 0x0000e100, 0x87400a1d, 0x0000c080, 0xffffffff,
+ 0x00007f86, 0x0bfa6eec, 0x0000a980, 0x0bfa5e40, 0x00005100, 0x003a5000,
+ 0x00000000, 0x0c3a4840, 0x00005100, 0x003a4000, 0x00008000, 0x0c3a3a40,
+ 0x00005100, 0x003a3000, 0x00000000, 0x0c3a2c40, 0x0000d100, 0x003a2000,
+ 0x00008000, 0x00000001, 0x00007480, 0x0c3a1e40, 0x00005100, 0x003a1000,
+ 0x00008000, 0x0c78e840, 0x00005100, 0x0038e000, 0x00000000, 0x02400000,
+ 0x000000e8, 0x02c00000, 0x0000e180, 0x06002809, 0x00006006, 0x46002809,
+ 0x0000e802, 0x66002809, 0x0000e800, 0x02000000, 0x00007900, 0x00040000,
+ 0x00000980, 0x76002809, 0x00006800, 0x008816ec, 0x0000df80, 0x00007000,
+ 0x00008084, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x0396b800,
+ 0x0000f900, 0x00143aea, 0x00000980, 0x03ec9000, 0x00007900, 0x0028177c,
+ 0x00000980, 0x04800000, 0x00006180, 0x08001a0c, 0x0000e106, 0x02800000,
+ 0x000080e0, 0x16d30f22, 0x0000f500, 0x83200500, 0x00008032, 0x81001000,
+ 0x0000e180, 0x03401002, 0x00004900, 0x8b411e07, 0x0000f902, 0x04800000,
+ 0x00008004, 0x08024405, 0x0000e884, 0xc1a02a20, 0x00009100, 0xffffffff,
+ 0x00007f86, 0xeb404523, 0x00004194, 0x00200635, 0x00008090, 0x16001423,
+ 0x00004391, 0x00211d06, 0x00000018, 0xe6460523, 0x0000c296, 0xcc20150d,
+ 0x00008595, 0x43808535, 0x0000f896, 0xf0c00000, 0x00000b89, 0x32810612,
+ 0x0000f896, 0x20c00000, 0x00008c84, 0xe0400635, 0x0000788b, 0x70800000,
+ 0x00008b8b, 0x41c0150d, 0x00009283, 0x00001732, 0x0000f013, 0x01004418,
+ 0x0000e283, 0x11000000, 0x00008980, 0x0ac0a014, 0x0000e100, 0x7140c044,
+ 0x0000e000, 0x0b08b415, 0x0000830a, 0x000016f2, 0x0000f408, 0x11400000,
+ 0x000004d8, 0x11c00000, 0x00006180, 0x40000844, 0x0000e412, 0x0100141d,
+ 0x0000e283, 0x91972ae5, 0x00000900, 0x00001728, 0x00007013, 0x0801ac04,
+ 0x00006002, 0x09006405, 0x00003002, 0x00000405, 0x00009583, 0x00001404,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x0000187b, 0x00007008, 0x00001716,
+ 0x0000f010, 0x56c05006, 0x00007902, 0x02400000, 0x00000000, 0x56804206,
+ 0x0000f902, 0x01c00000, 0x00008000, 0xffffffff, 0x00007f97, 0x0280080a,
+ 0x00001082, 0x02004219, 0x0000e002, 0x02400009, 0x00000084, 0x01c00007,
+ 0x00009084, 0x56f85006, 0x0000d000, 0x00384800, 0x00008000, 0x56b84206,
+ 0x00005000, 0x00383800, 0x00000000, 0x01c00000, 0x00007900, 0x001f0000,
+ 0x00000980, 0x41810518, 0x00006283, 0x0018c807, 0x0000a186, 0x20383eec,
+ 0x00005600, 0x0038b800, 0x00008000, 0x01800020, 0x00006188, 0x08001a04,
+ 0x0000e10e, 0x0000189d, 0x0000f010, 0x00102006, 0x00006984, 0x733830ec,
+ 0x0000d600, 0x00000000, 0x00008080, 0x000818ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0x00908eec, 0x00005f80, 0x00007000, 0x00008084, 0x00000c04,
+ 0x00009583, 0x0000186b, 0x0000f00b, 0x84401206, 0x00006080, 0x82002a06,
+ 0x00000080, 0x56805208, 0x0000f902, 0x02400000, 0x00000000, 0x56803a11,
+ 0x0000f902, 0x01800000, 0x00000000, 0xffffffff, 0x00007f97, 0x0280080a,
+ 0x00001082, 0x01c03a19, 0x0000e002, 0x02400009, 0x00000084, 0x01800006,
+ 0x00009084, 0x00001706, 0x00007400, 0x56b85208, 0x00005000, 0x00384800,
+ 0x00008000, 0x56b83a11, 0x00005000, 0x00383000, 0x00008000, 0x41c20518,
+ 0x0000e283, 0x0c40c408, 0x00002000, 0x01c01408, 0x00006081, 0x0000e049,
+ 0x0000a183, 0x01c01000, 0x00006191, 0x41203844, 0x0000e002, 0x01c00800,
+ 0x00001989, 0x000016f2, 0x00007400, 0xffffffff, 0x00007f86, 0xe7a03849,
+ 0x0000e803, 0x82371ee3, 0x0000e100, 0x0cc0b411, 0x0000e004, 0x00001c11,
+ 0x00006583, 0x01c01c11, 0x00008281, 0x51784408, 0x0000a018, 0x04001c07,
+ 0x00009881, 0xffffffff, 0x00007f97, 0x51784408, 0x000020b0, 0xffffffff,
+ 0x00007f86, 0x000016e6, 0x00007403, 0x04608008, 0x00009700, 0xd7608814,
+ 0x0000e805, 0x0c811c07, 0x00006802, 0x01401407, 0x00001283, 0x03c056ec,
+ 0x00007912, 0x02400000, 0x00000000, 0x040040ec, 0x00007912, 0x01c00000,
+ 0x00008000, 0x000016e4, 0x0000f008, 0x04119a33, 0x00001900, 0x0011980a,
+ 0x00007808, 0x00000000, 0x00000000, 0x00004810, 0x00007808, 0x00000000,
+ 0x00008020, 0x00004010, 0x0000f808, 0x00000000, 0x00000060, 0x00003810,
+ 0x00007812, 0x00000000, 0x00008010, 0x78c20612, 0x0000f896, 0x90c00000,
+ 0x00000b8a, 0xcc80150d, 0x00007897, 0x30800000, 0x00000b87, 0xceb88eec,
+ 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072811,
+ 0x00009502, 0x04400811, 0x00001090, 0xceb88eec, 0x0000a894, 0xb980150d,
+ 0x0000f88f, 0x90800000, 0x00008b89, 0x80040635, 0x0000e583, 0xc3f1ae35,
+ 0x00008901, 0x0471ae35, 0x0000e111, 0xc3c00000, 0x00004989, 0x000016da,
+ 0x0000f009, 0x01c3e811, 0x00009282, 0x02007d18, 0x00001289, 0x000019ff,
+ 0x00007011, 0x00000c08, 0x00009583, 0x000019da, 0x0000700b, 0x00001408,
+ 0x00009583, 0x0c006a08, 0x0000e18c, 0x00199016, 0x0000310e, 0x82002208,
+ 0x00006188, 0x86402219, 0x00000188, 0xc6402319, 0x0000e088, 0x0410400d,
+ 0x0000218d, 0x000016da, 0x00007400, 0x85999332, 0x00001910, 0x4340150d,
+ 0x00009381, 0x80040635, 0x0000e583, 0xc3f1ae35, 0x00008901, 0x0431ae35,
+ 0x00006111, 0xc3c00000, 0x00004989, 0x00001781, 0x0000f009, 0x01c3e810,
+ 0x00001282, 0x04407d18, 0x00009289, 0x00001969, 0x00007011, 0x00000c11,
+ 0x00001583, 0x00001960, 0x0000f00b, 0x00001411, 0x00001583, 0x0c006a11,
+ 0x0000618c, 0x00199016, 0x0000310e, 0x84402211, 0x00006188, 0x86402219,
+ 0x00000188, 0xc6402319, 0x0000e088, 0x0410880d, 0x0000a18d, 0x85999332,
+ 0x00001910, 0x4340150d, 0x00009381, 0x04c00000, 0x00007900, 0x00040000,
+ 0x00000980, 0xc1c1870c, 0x00006283, 0x0400b013, 0x00002107, 0x0800b211,
+ 0x00006106, 0x0801ad12, 0x00003002, 0x82400000, 0x00006181, 0x84d14a29,
+ 0x0000c900, 0x0000189b, 0x0000f008, 0x41c08523, 0x00006283, 0x06c14028,
+ 0x00000900, 0x82202404, 0x00006110, 0x04009813, 0x00004900, 0xd6405c08,
+ 0x00007912, 0x01c00000, 0x00000004, 0x0000188c, 0x0000f008, 0xffffffff,
+ 0x00007f97, 0x00172b07, 0x00007808, 0x00000000, 0x00000000, 0x00183a11,
+ 0x0000f810, 0x00000000, 0x00008020, 0x00103b29, 0x00007810, 0x00000000,
+ 0x00000060, 0x2300582a, 0x0000f80a, 0x00c00001, 0x00000010, 0xf3800609,
+ 0x00004988, 0x1e29fb05, 0x000006b1, 0x01400000, 0x00009981, 0x40001512,
+ 0x0000e583, 0xc000080c, 0x0000a403, 0x007946ec, 0x0000570c, 0x00389800,
+ 0x00000000, 0x117946ec, 0x0000570c, 0x00389800, 0x00000000, 0x00001a87,
+ 0x0000f010, 0x80000609, 0x00006583, 0xf0000810, 0x0000a401, 0x227946ec,
+ 0x0000d704, 0x00388000, 0x00000000, 0x01c04000, 0x0000f900, 0x0005001a,
+ 0x00000980, 0x200004ec, 0x00005784, 0x00383816, 0x00002a00, 0x02000000,
+ 0x00007900, 0x0015001e, 0x00000980, 0x30e89008, 0x0000e880, 0x203844ec,
+ 0x0000d704, 0x00081815, 0x00000480, 0x0229800c, 0x00009980, 0x00289008,
+ 0x0000e804, 0x203844ec, 0x0000d704, 0x00199819, 0x00000080, 0x0230380c,
+ 0x00001980, 0x000017d6, 0x00007410, 0x04202008, 0x0000e901, 0x003844ec,
+ 0x00005704, 0x00000000, 0x00008080, 0x01c00000, 0x00007900, 0x00040000,
+ 0x00000980, 0x00115007, 0x0000e186, 0x00195008, 0x00003186, 0x00008007,
+ 0x00006107, 0x04194808, 0x00003187, 0x117846ec, 0x00005704, 0x00383800,
+ 0x00000000, 0xf0000807, 0x0000ec01, 0x227846ec, 0x00005704, 0x00383800,
+ 0x00000000, 0x01c00000, 0x00007900, 0x0015001e, 0x00000980, 0x02290008,
+ 0x0000e180, 0x30e89007, 0x00006080, 0x200044ec, 0x0000d784, 0x00383812,
+ 0x00000a00, 0x00289008, 0x0000e804, 0x203844ec, 0x0000d704, 0x00191811,
+ 0x00000080, 0x01f90000, 0x00007900, 0x00010010, 0x00008980, 0x02003800,
+ 0x0000f900, 0x0002001e, 0x00000980, 0x04202008, 0x00006101, 0x00289007,
+ 0x00003004, 0x203844ec, 0x0000d704, 0x00383800, 0x00000000, 0x02301000,
+ 0x0000f900, 0x00020018, 0x00000980, 0x044046e3, 0x00009081, 0x30e08808,
+ 0x00006880, 0x203844ec, 0x0000d704, 0x0010a019, 0x00008680, 0xcef88aec,
+ 0x00002004, 0xffffffff, 0x00007fa7, 0x00072811, 0x00009502, 0x04400811,
+ 0x00001090, 0xcef88aec, 0x00002814, 0x4fe01423, 0x0000c391, 0x00211d06,
+ 0x00000018, 0x56060523, 0x0000428f, 0xd2208535, 0x00008597, 0x0400150d,
+ 0x0000f88e, 0x28c00000, 0x00008c80, 0xc5810612, 0x00007896, 0x30c00000,
+ 0x00008d87, 0x0c811c11, 0x0000e802, 0x01c01411, 0x00001283, 0x03c086ec,
+ 0x0000f912, 0x02c00000, 0x00008000, 0x040040ec, 0x00007912, 0x01c00000,
+ 0x00008000, 0x00001803, 0x00007008, 0x04519a33, 0x00009900, 0x00119810,
+ 0x0000f808, 0x00000000, 0x00000000, 0x00005811, 0x00007808, 0x00000000,
+ 0x00008020, 0x00004011, 0x00007808, 0x00000000, 0x00000060, 0x00003811,
+ 0x0000f812, 0x00000000, 0x00008010, 0xb4820612, 0x00007896, 0xe8c00000,
+ 0x00000b8f, 0x0400150d, 0x0000f88e, 0x28c00000, 0x00008c80, 0xceb88eec,
+ 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072811,
+ 0x00009502, 0x04400811, 0x00001090, 0xceb88eec, 0x0000a894, 0x41c0150d,
+ 0x00009283, 0x00001810, 0x0000f00b, 0x82371ee3, 0x0000e100, 0x0cc0b410,
+ 0x00006004, 0x00001c10, 0x0000e583, 0x01c01c10, 0x00000281, 0x51784408,
+ 0x0000a018, 0x04401c07, 0x00001881, 0xffffffff, 0x00007f97, 0x51784408,
+ 0x000020b0, 0xffffffff, 0x00007fa7, 0x04608808, 0x00001700, 0xd7608814,
+ 0x0000e805, 0x01c04418, 0x0000e283, 0x11000000, 0x00008980, 0x0ac0a014,
+ 0x0000e100, 0x7140c044, 0x0000e000, 0x0b08b415, 0x0000830a, 0x00001825,
+ 0x00007408, 0x11400000, 0x000004d8, 0x11c00000, 0x00006180, 0x40000844,
+ 0x0000e412, 0x01c0141d, 0x0000e283, 0x91972ae5, 0x00000900, 0x0000e049,
+ 0x0000e193, 0x0c40c410, 0x00003010, 0x04401410, 0x00009091, 0x00001825,
+ 0x0000f008, 0x41c20518, 0x0000e283, 0x41208844, 0x0000a002, 0x04400800,
+ 0x0000e189, 0x04401000, 0x0000c991, 0xffffffff, 0x00007f86, 0xe7a08849,
+ 0x00006803, 0x00000405, 0x00009583, 0x01400800, 0x00009989, 0x00001862,
+ 0x00007011, 0x07001512, 0x0000c291, 0x58200609, 0x00000690, 0x73800609,
+ 0x0000f892, 0x10c00000, 0x00008c8e, 0x000038ec, 0x00007902, 0x02c00000,
+ 0x00008704, 0xffffffff, 0x00007fa7, 0x0bc03c11, 0x0000e000, 0x0c003c08,
+ 0x0000b000, 0x01e08c08, 0x00009303, 0x84602404, 0x0000e110, 0x0c019307,
+ 0x00006116, 0x01704e09, 0x0000e109, 0x00194807, 0x0000e196, 0xd6795411,
+ 0x0000d014, 0x00383800, 0x00000000, 0x000058ec, 0x00007902, 0x01c00000,
+ 0x00008704, 0x08000405, 0x0000418b, 0x0021870c, 0x00000090, 0x04c9fb05,
+ 0x0000c59a, 0x0261870c, 0x00008288, 0x8d802612, 0x00007896, 0xd0c00000,
+ 0x00008c8d, 0x0c005c11, 0x00006000, 0x0bc05c08, 0x00003000, 0x01608c08,
+ 0x00001303, 0x01c046e3, 0x00006089, 0xc000100c, 0x00002413, 0x0228380a,
+ 0x00009988, 0x00001857, 0x0000f010, 0x02e81000, 0x0000f900, 0x00020014,
+ 0x00000980, 0x30e0380b, 0x00006080, 0x04202008, 0x00003101, 0x20385cec,
+ 0x0000d704, 0x00384000, 0x00000000, 0x000854ec, 0x00005784, 0x00000015,
+ 0x00000680, 0x000058ec, 0x00007902, 0x01c00000, 0x00008704, 0xffffffff,
+ 0x00007fa7, 0x0c005c11, 0x00006000, 0x0bc05c08, 0x00003000, 0x01608c08,
+ 0x00001303, 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0xc009fb05,
+ 0x00001582, 0xc141870c, 0x00001283, 0xffffffff, 0x00007f86, 0x00001862,
+ 0x00007018, 0x00001862, 0x0000f008, 0x00080012, 0x00006d87, 0x00202012,
+ 0x00006886, 0x09006612, 0x00006802, 0xa579460a, 0x0000d004, 0x00389800,
+ 0x00000000, 0xa5b8900a, 0x00002884, 0xffffffff, 0x00007f86, 0x09006405,
+ 0x00006002, 0x0801ac04, 0x00003002, 0x0f600405, 0x0000c389, 0x00200c05,
+ 0x00008090, 0xd2401404, 0x00004589, 0x6b000c04, 0x00008092, 0x4c001404,
+ 0x0000f892, 0xa8c00000, 0x00008c87, 0x84400a06, 0x00006080, 0x82002206,
+ 0x00008080, 0x56803a08, 0x00007902, 0x01800000, 0x00000000, 0x56805211,
+ 0x00007902, 0x02400000, 0x00000000, 0xffffffff, 0x00007f97, 0x01c00807,
+ 0x00001082, 0x02805219, 0x0000e002, 0x01800006, 0x00000084, 0x02400009,
+ 0x00009084, 0x00001706, 0x00007400, 0x56b83a08, 0x0000d000, 0x00383000,
+ 0x00008000, 0x56b85211, 0x0000d000, 0x00384800, 0x00008000, 0x84403206,
+ 0x00001080, 0x56803a11, 0x0000f902, 0x01800000, 0x00000000, 0xffffffff,
+ 0x00007fa7, 0x01c00807, 0x00001082, 0x00001706, 0x00007400, 0x01800006,
+ 0x00009084, 0x56b83a11, 0x00005000, 0x00383000, 0x00008000, 0xcef838ec,
+ 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072807,
+ 0x00001502, 0x01c00807, 0x00001090, 0xcef838ec, 0x0000a894, 0xb980150d,
+ 0x0000f88f, 0x90800000, 0x00008b89, 0xc009fb05, 0x0000e582, 0x82400800,
+ 0x00000981, 0x0000179c, 0x0000f01b, 0xa5405e0a, 0x00007902, 0x02000000,
+ 0x00000004, 0xa5b8380a, 0x00002084, 0x01400000, 0x00009981, 0xffffffff,
+ 0x00007f86, 0x0001400b, 0x00009502, 0x00009808, 0x00001502, 0x00202407,
+ 0x00009503, 0x0000179d, 0x0000f010, 0x0000179d, 0x0000f010, 0x0000179d,
+ 0x0000f010, 0xc730380c, 0x0000e803, 0x000017e1, 0x00007200, 0x01400800,
+ 0x00001981, 0x41400d05, 0x00009283, 0x15001000, 0x00007910, 0x00008000,
+ 0x00000980, 0x15580800, 0x0000f910, 0x00044040, 0x00000980, 0x000018b8,
+ 0x00007008, 0x15c00000, 0x000085e8, 0x15801002, 0x0000e100, 0x00001857,
+ 0x00006106, 0x16020000, 0x0000f900, 0x00040000, 0x00000980, 0x000818ec,
+ 0x00005780, 0x00d07280, 0x000081c0, 0x16420000, 0x0000e180, 0xc0001857,
+ 0x0000e006, 0x16e12000, 0x000080f2, 0x56a8c416, 0x00008528, 0x00908eec,
+ 0x00005f80, 0x00d07540, 0x00000184, 0xceb880ec, 0x00002084, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072810, 0x00001502, 0x04000810,
+ 0x00001090, 0xceb880ec, 0x00002894, 0xb980150d, 0x0000f88f, 0x90800000,
+ 0x00008b89, 0x01800020, 0x0000e180, 0x08001a10, 0x00006106, 0x15d00002,
+ 0x0000e180, 0x00108006, 0x0000e184, 0x15800000, 0x00006180, 0x00282057,
+ 0x0000e080, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080, 0x8440b057,
+ 0x0000e000, 0x00182056, 0x00003100, 0x000818ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0x15083804, 0x00006180, 0x0000b057, 0x0000e085, 0x1560b800,
+ 0x000000f2, 0xd598c318, 0x00009900, 0x00908eec, 0x00005f80, 0x00d07540,
+ 0x000000c4, 0x000004e3, 0x0000e583, 0x02c00000, 0x00000980, 0x04000000,
+ 0x0000e180, 0x0802460b, 0x00006084, 0x82283023, 0x00000020, 0x000018e9,
+ 0x00007408, 0x82d822e3, 0x0000802e, 0x84110220, 0x0000e100, 0xddb00600,
+ 0x00004911, 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x2222a000,
+ 0x0000f900, 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc,
+ 0x00008980, 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x1df85f02,
+ 0x00008714, 0x18df0f4f, 0x0000f500, 0x25788708, 0x00008910, 0x62809623,
+ 0x000008a9, 0x18e10fdd, 0x0000f300, 0x0d003000, 0x00009980, 0xce7846ec,
+ 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072808,
+ 0x00001502, 0x02000808, 0x00001090, 0xce7846ec, 0x0000a814, 0xb980150d,
+ 0x0000f88f, 0x90800000, 0x00008b89, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x03a2a000, 0x00007900, 0x00151b4e, 0x00000980, 0x03d07800,
+ 0x00007900, 0x0032d3fc, 0x00008980, 0xc3300600, 0x00006101, 0x08001a0c,
+ 0x0000e106, 0x83381400, 0x00008034, 0x18f50f22, 0x0000f500, 0x04b8470b,
+ 0x00000028, 0x02009710, 0x00000091, 0x56c08806, 0x00007902, 0x04000000,
+ 0x00008000, 0x56805a06, 0x0000f902, 0x02800000, 0x00000000, 0xe3804209,
+ 0x00007902, 0x01c00000, 0x00000004, 0xe3409c09, 0x00007902, 0x04800000,
+ 0x00008004, 0x04400811, 0x00001082, 0x02c05a19, 0x0000e002, 0x04000010,
+ 0x00000084, 0x02000808, 0x0000e082, 0x0280000a, 0x00000084, 0x04c09a19,
+ 0x0000e002, 0x01c00007, 0x00000084, 0x04800012, 0x00009084, 0x56f88806,
+ 0x0000d000, 0x00388000, 0x00000000, 0x56b85a06, 0x00005000, 0x00385000,
+ 0x00008000, 0x00001706, 0x00007400, 0xe3b84209, 0x00005004, 0x00383800,
+ 0x00000000, 0xe3789c09, 0x00005004, 0x00389000, 0x00008000, 0x0c811c08,
+ 0x00006802, 0x01400c08, 0x00001283, 0x81420612, 0x00009283, 0xffffffff,
+ 0x00007f86, 0x0000173e, 0x0000f008, 0x00001752, 0x0000f008, 0x000004e3,
+ 0x0000e583, 0x02000000, 0x00000980, 0x82d822e3, 0x0000802e, 0x82e14933,
+ 0x00000020, 0x00001954, 0x00007008, 0x22800000, 0x00007900, 0x00014000,
+ 0x00008980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980, 0x2268a800,
+ 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x1d79470b, 0x00000914, 0x19260f4f,
+ 0x00007500, 0x25009f08, 0x000088a9, 0xa2a11c23, 0x00001901, 0x19280fdd,
+ 0x00007300, 0x0d009800, 0x00001980, 0xce7846ec, 0x0000a004, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072808, 0x00001502, 0x02000808,
+ 0x00001090, 0xce7846ec, 0x0000a814, 0xb980150d, 0x0000f88f, 0x90800000,
+ 0x00008b89, 0x00000c04, 0x00009583, 0x84002206, 0x00006088, 0x84002a06,
+ 0x00008090, 0x81c00a06, 0x00006088, 0x81c01206, 0x00000090, 0x82002209,
+ 0x00006088, 0x84400a09, 0x00008088, 0x82002a09, 0x0000e090, 0x84401209,
+ 0x00008090, 0x56804a10, 0x0000f902, 0x01800000, 0x00000000, 0x56805a07,
+ 0x00007902, 0x02800000, 0x00000000, 0xffffffff, 0x00007f97, 0x02400809,
+ 0x00001082, 0x02c05a19, 0x0000e002, 0x01800006, 0x00000084, 0x0280000a,
+ 0x00009084, 0x56b85a07, 0x0000d000, 0x00385000, 0x00008000, 0xe3785408,
+ 0x00002084, 0x56b84a10, 0x00005000, 0x00383000, 0x00008000, 0xe3403c11,
+ 0x00007902, 0x01800000, 0x00008004, 0xe3784c08, 0x0000a004, 0x0280080a,
+ 0x00001082, 0xe3785408, 0x0000a884, 0xffffffff, 0x00007f86, 0x01c03a19,
+ 0x0000e002, 0x02400009, 0x00000084, 0x01800006, 0x00009084, 0x00001706,
+ 0x00007400, 0xe3784c08, 0x00002804, 0xe3783c11, 0x00005004, 0x00383000,
+ 0x00008000, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03839800,
+ 0x0000f900, 0x00151b50, 0x00000980, 0x03e8a800, 0x00007900, 0x000aff14,
+ 0x00008980, 0xc3300600, 0x00006101, 0x08001a0c, 0x0000e106, 0x83381400,
+ 0x00008034, 0x19600f22, 0x00007500, 0x04b9470b, 0x00008028, 0x81009800,
+ 0x00009980, 0x81c08612, 0x00001283, 0xc000000c, 0x0000ec0b, 0xceb842ec,
+ 0x0000a00c, 0x00001972, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072808,
+ 0x00001502, 0x00001781, 0x00007400, 0x02000808, 0x00001090, 0xceb842ec,
+ 0x00002814, 0x81c04612, 0x00001283, 0xc000000c, 0x0000ec0b, 0xceb886ec,
+ 0x0000200c, 0x0000198d, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072810,
+ 0x00001502, 0x00001781, 0x00007400, 0x04000810, 0x00001090, 0xceb886ec,
+ 0x0000a814, 0x000004e3, 0x0000e583, 0x0e00c710, 0x00002006, 0x843f1fe3,
+ 0x0000e100, 0x84202404, 0x00004901, 0x02e99416, 0x0000802c, 0x000019a1,
+ 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2209c800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x226ee800, 0x00007900, 0x000e1256,
+ 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x19840f4f, 0x0000f500, 0x1d785f10, 0x00008914, 0x62800010,
+ 0x000009d0, 0x0d004000, 0x00001980, 0x19860fdd, 0x00007100, 0xce783eec,
+ 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072807,
+ 0x00001502, 0x00001781, 0x00007400, 0x01c00807, 0x00001090, 0xce783eec,
+ 0x0000a814, 0x000004e3, 0x0000e583, 0x843f1fe3, 0x00000900, 0x4429ae04,
+ 0x00008102, 0x02f95f34, 0x00008020, 0x000019ae, 0x00007008, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50,
+ 0x00000980, 0x2269c000, 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x199f0f4f,
+ 0x0000f500, 0x1d79a710, 0x00008914, 0xa2807800, 0x00006180, 0x2501582b,
+ 0x00004900, 0x00001985, 0x00007200, 0x0d003800, 0x00001980, 0x02000000,
+ 0x0000e180, 0x01000020, 0x00004980, 0x0389c800, 0x0000f900, 0x00151b50,
+ 0x00000980, 0x03eee800, 0x0000f900, 0x000e1256, 0x00000980, 0x81008000,
+ 0x00009980, 0xc1002800, 0x00006181, 0x08001a0c, 0x0000e106, 0x83200500,
+ 0x00008032, 0x19ae0f22, 0x0000f500, 0x03788702, 0x00008108, 0x0280580b,
+ 0x00009900, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x0387a800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x03e9c000, 0x00007900, 0x003be25c,
+ 0x00000980, 0xc3300600, 0x00006101, 0x08001a0c, 0x0000e106, 0x83381400,
+ 0x00008034, 0x19ba0f22, 0x0000f500, 0x04b85f10, 0x00000028, 0x81007800,
+ 0x00001980, 0xceb88cec, 0x00002084, 0xc720280c, 0x0000e803, 0xffffffff,
+ 0x00007f97, 0x00072811, 0x00009502, 0x04400811, 0x00001090, 0xceb88cec,
+ 0x00002894, 0xd449fb05, 0x0000c59a, 0x6a21870c, 0x0000698e, 0x000038ec,
+ 0x00007902, 0x02800000, 0x00000704, 0xffffffff, 0x00007fa7, 0x0bc03c11,
+ 0x0000e000, 0x0c003c08, 0x0000b000, 0x01e08c08, 0x00009303, 0x84602404,
+ 0x0000e110, 0x0c019307, 0x00006116, 0x01704e09, 0x0000e109, 0x00194807,
+ 0x0000e196, 0xd6795411, 0x0000d014, 0x00383800, 0x00000000, 0x000040ec,
+ 0x00007902, 0x01c00000, 0x00008704, 0x0c400405, 0x0000428b, 0xa821870c,
+ 0x0000868b, 0x8a802612, 0x0000f896, 0x40c00000, 0x00008d80, 0x0bc04408,
+ 0x0000e800, 0x0c004411, 0x0000e800, 0x00001862, 0x0000f400, 0x01208c08,
+ 0x00009303, 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0x81408612,
+ 0x00009283, 0xc000000c, 0x0000ec0b, 0xceb83aec, 0x0000a00c, 0x00001a40,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x00072807, 0x00001502, 0x000016da,
+ 0x00007400, 0x01c00807, 0x00001090, 0xceb83aec, 0x00002814, 0x000004e3,
+ 0x0000e583, 0x02000000, 0x00000980, 0x82d822e3, 0x0000802e, 0x82e14933,
+ 0x00000020, 0x00001954, 0x00007008, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980, 0x2268a800,
+ 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x19f50f4f, 0x0000f500, 0x1d79470b,
+ 0x00000914, 0xa2809800, 0x0000e180, 0x25004008, 0x00004900, 0x19f70fdd,
+ 0x0000f300, 0x0d009800, 0x00001980, 0xce7846ec, 0x0000a004, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072808, 0x00001502, 0x02000808,
+ 0x00001090, 0xce7846ec, 0x0000a814, 0xb980150d, 0x0000f88f, 0x90800000,
+ 0x00008b89, 0x81404612, 0x00009283, 0xc000000c, 0x0000ec0b, 0xceb88eec,
+ 0x0000a00c, 0x00001a0f, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072811,
+ 0x00009502, 0x000016da, 0x00007400, 0x04400811, 0x00001090, 0xceb88eec,
+ 0x00002814, 0xceb88cec, 0x0000a004, 0xc720280c, 0x0000e803, 0xffffffff,
+ 0x00007f97, 0x00072811, 0x00009502, 0x00001862, 0x0000f400, 0x04400811,
+ 0x00001090, 0xceb88cec, 0x0000a814, 0x000004e3, 0x0000e583, 0x843f1fe3,
+ 0x00000900, 0x4429ae04, 0x00008102, 0x02f95f34, 0x00008020, 0x000019ae,
+ 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2207a800,
+ 0x0000f900, 0x00151b50, 0x00000980, 0x2269c000, 0x0000f900, 0x003be25c,
+ 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x1a210f4f, 0x0000f500, 0x1d79a710, 0x00008914, 0xa2807800,
+ 0x00006180, 0x2501582b, 0x00004900, 0x0d003800, 0x00001980, 0x1a230fdd,
+ 0x00007100, 0xce7886ec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072810, 0x00001502, 0x000016da, 0x00007400, 0x04000810,
+ 0x00001090, 0xce7886ec, 0x0000a814, 0x000004e3, 0x0000e583, 0x043f1fe3,
+ 0x00000901, 0x84395304, 0x0000002c, 0xc4194b29, 0x00006100, 0x01000020,
+ 0x0000c988, 0x00001a54, 0x00007010, 0x03955800, 0x00007900, 0x003884cc,
+ 0x00000980, 0x41000024, 0x000080e0, 0x000019a8, 0x00007200, 0x03e3e800,
+ 0x00007900, 0x001b7e4e, 0x00008980, 0x000004e3, 0x0000e583, 0x043f1fe3,
+ 0x00000901, 0x84395304, 0x0000002c, 0xc4194b29, 0x00006100, 0x01000020,
+ 0x0000c988, 0x00001a69, 0x0000f010, 0x00001a33, 0x0000f400, 0x038f0800,
+ 0x0000f900, 0x003884ca, 0x00000980, 0x41000024, 0x000080e0, 0x000004e3,
+ 0x0000e583, 0x0e00c710, 0x00002006, 0x843f1fe3, 0x0000e100, 0x84202404,
+ 0x00004901, 0x02e99416, 0x0000802c, 0x000019a1, 0x00007008, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x2209c800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x226ee800, 0x00007900, 0x000e1256, 0x00000980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1a520f4f,
+ 0x00007500, 0x1d785f10, 0x00008914, 0x62800010, 0x000009d0, 0x00001a22,
+ 0x0000f200, 0x0d004000, 0x00001980, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x22155800, 0x0000f900, 0x003884cc, 0x00000980, 0x2263e800,
+ 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x1a600f4f, 0x0000f500, 0x1d795710,
+ 0x00008914, 0x62800024, 0x000089d0, 0x1a620fdd, 0x0000f300, 0x0d00a000,
+ 0x00009980, 0xce788eec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072811, 0x00009502, 0x00001862, 0x0000f400, 0x04400811,
+ 0x00001090, 0xce788eec, 0x00002814, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x220f0800, 0x00007900, 0x003884ca, 0x00000980, 0x2263e800,
+ 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x1a750f4f, 0x00007500, 0x1d795710,
+ 0x00008914, 0x62800024, 0x000089d0, 0x1a770fdd, 0x00007300, 0x0d00a000,
+ 0x00009980, 0xce788eec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072811, 0x00009502, 0x04400811, 0x00001090, 0xce788eec,
+ 0x00002814, 0xbca9fb05, 0x0000459b, 0xde41870c, 0x00005d8f, 0xceb888ec,
+ 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072811,
+ 0x00009502, 0x04400811, 0x00001090, 0xceb888ec, 0x0000a894, 0x0400150d,
+ 0x0000f88e, 0x28c00000, 0x00008c80, 0x007946ec, 0x0000d704, 0x00389800,
+ 0x00000000, 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x01e81000,
+ 0x0000f900, 0x00020014, 0x00000980, 0x80000609, 0x00006583, 0x044046e3,
+ 0x00000081, 0x8219532a, 0x00006108, 0x30e08807, 0x0000e080, 0x20081cec,
+ 0x0000d784, 0x00383815, 0x00000400, 0x00001aa9, 0x0000f010, 0x01c00000,
+ 0x00007900, 0x00040000, 0x00000980, 0x04194808, 0x00006187, 0x00115007,
+ 0x0000b186, 0x00008007, 0x0000e907, 0x117846ec, 0x00005704, 0x00383800,
+ 0x00000000, 0xf0000807, 0x0000ec01, 0x227846ec, 0x00005704, 0x00383800,
+ 0x00000000, 0x01c08000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec,
+ 0x0000d784, 0x00383812, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811,
+ 0x00000080, 0x02003800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202008,
+ 0x0000e901, 0x203844ec, 0x0000d704, 0x00191011, 0x00000280, 0x40000d12,
+ 0x00001583, 0x0228380a, 0x00009990, 0x04202008, 0x00006911, 0x00001aee,
+ 0x0000f008, 0x000017e1, 0x00007200, 0x203844ec, 0x0000d704, 0x00095019,
+ 0x00000680, 0x0c811c07, 0x00006802, 0x01c00c07, 0x00009283, 0x81820612,
+ 0x00009283, 0xffffffff, 0x00007f86, 0x000017e9, 0x0000f008, 0x000017fd,
+ 0x0000f008, 0x000004e3, 0x0000e583, 0x02000000, 0x00000980, 0x82d822e3,
+ 0x0000802e, 0x82e14933, 0x00000020, 0x00001954, 0x00007008, 0x22800000,
+ 0x00007900, 0x00014000, 0x00008980, 0x22039800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1d79470b,
+ 0x00000914, 0x1ac80f4f, 0x00007500, 0x25009f08, 0x000088a9, 0xa2a11c23,
+ 0x00001901, 0x0d009800, 0x00001980, 0x1aca0fdd, 0x0000f100, 0xce788eec,
+ 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072811,
+ 0x00009502, 0x04400811, 0x00001090, 0xce788eec, 0x00002814, 0x0400150d,
+ 0x0000f88e, 0x28c00000, 0x00008c80, 0x000004e3, 0x0000e583, 0x02000000,
+ 0x00000980, 0x82d822e3, 0x0000802e, 0x82e14933, 0x00000020, 0x00001954,
+ 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22039800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x1ae40f4f, 0x0000f500, 0x1d79470b, 0x00000914, 0xa2809800,
+ 0x0000e180, 0x25004008, 0x00004900, 0x00001ac9, 0x0000f200, 0x0d009800,
+ 0x00001980, 0xcef888ec, 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072811, 0x00009502, 0x04400811, 0x00001090, 0xcef888ec,
+ 0x00002894, 0x0400150d, 0x0000f88e, 0x28c00000, 0x00008c80, 0x81c002ec,
+ 0x00005684, 0x00400000, 0x00008000, 0x02000000, 0x0000e180, 0x0010d807,
+ 0x00006186, 0x04108008, 0x0000e187, 0x0418d807, 0x0000b187, 0x81f83cec,
+ 0x0000d604, 0x00384000, 0x00000000, 0xffffffff, 0x00007ff7, 0xffffffff,
+ 0x00007ff7, 0x81f83aec, 0x0000a684, 0xffffffff, 0x00007fa7, 0x01e8380a,
+ 0x00006180, 0x84401407, 0x0000c880, 0x4b411611, 0x0000f902, 0x08400000,
+ 0x00008004, 0x4b80f811, 0x00007902, 0x07800000, 0x00008004, 0x4b80da11,
+ 0x00007902, 0x04000000, 0x00000004, 0x4b805c11, 0x0000f902, 0x02000000,
+ 0x00000004, 0x04202007, 0x0000e901, 0x200384ec, 0x0000d784, 0x0038381a,
+ 0x00008000, 0x003914ec, 0x0000d704, 0x00390800, 0x00008000, 0x0038fcec,
+ 0x00005704, 0x0038f000, 0x00008000, 0x0038dcec, 0x0000d704, 0x00388000,
+ 0x00000000, 0x00385cec, 0x00005704, 0x00384000, 0x00000000, 0x01f0d800,
+ 0x00007900, 0x00020018, 0x00000980, 0x000017e1, 0x00007400, 0x200924ec,
+ 0x0000d784, 0x00383815, 0x00000400, 0x000994ec, 0x0000d784, 0x00000019,
+ 0x00008280, 0x000004e3, 0x0000e583, 0x02c00000, 0x00000980, 0x04000000,
+ 0x0000e180, 0x0802460b, 0x00006084, 0x82283023, 0x00000020, 0x000018e9,
+ 0x00007408, 0x82d822e3, 0x0000802e, 0x84110220, 0x0000e100, 0xddb00600,
+ 0x00004911, 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x2222a000,
+ 0x0000f900, 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc,
+ 0x00008980, 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x1df85f02,
+ 0x00008714, 0x1b2b0f4f, 0x00007500, 0x25788708, 0x00008910, 0x62809623,
+ 0x000008a9, 0x00001ac9, 0x0000f200, 0x0d003000, 0x00009980, 0x0140241d,
+ 0x00009283, 0x8b405e07, 0x0000f902, 0x02000000, 0x00000004, 0x08025427,
+ 0x0000e88c, 0x00001ce2, 0x0000f010, 0xc1a13a20, 0x00009100, 0x7aa0450b,
+ 0x0000c195, 0x00200635, 0x00008090, 0xa860140b, 0x00004391, 0x00205d06,
+ 0x00000018, 0x75e6050b, 0x00004297, 0x8220150d, 0x00008696, 0xc0808535,
+ 0x00007896, 0xc9000000, 0x00008d8d, 0x57410608, 0x0000f897, 0x40c00000,
+ 0x00008e89, 0x64800635, 0x00007893, 0xa8c00000, 0x00000e84, 0x41c0150d,
+ 0x00009283, 0x00001baf, 0x00007013, 0x09406736, 0x0000e281, 0x11c00000,
+ 0x00008980, 0x00002425, 0x00006583, 0x11000000, 0x00008980, 0x0a02604c,
+ 0x00006108, 0x8a526a4d, 0x00004908, 0xca5a6b4d, 0x0000e108, 0x0a82704e,
+ 0x0000c908, 0x00000418, 0x00006583, 0x7140c044, 0x00002000, 0x0ac0a014,
+ 0x0000e100, 0x90000847, 0x0000644b, 0x01004418, 0x0000e283, 0x8b10aa15,
+ 0x00000900, 0xcc90b216, 0x00006100, 0xb540c047, 0x0000e001, 0x11400000,
+ 0x000004d8, 0x00001b57, 0x0000f008, 0x0100141d, 0x0000e283, 0x40000844,
+ 0x0000a402, 0x91972ae5, 0x00009900, 0x00001ba5, 0x0000f011, 0x0801ac04,
+ 0x00006002, 0x09006405, 0x00003002, 0x00000405, 0x00009583, 0x00001404,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x00001c68, 0x00007008, 0x00001b93,
+ 0x00007010, 0x56c05806, 0x0000f902, 0x02800000, 0x00000000, 0x56804206,
+ 0x0000f902, 0x01c00000, 0x00008000, 0xffffffff, 0x00007f97, 0x02c0080b,
+ 0x00001082, 0x02004219, 0x0000e002, 0x0280000a, 0x00000084, 0x01c00007,
+ 0x00009084, 0x56f85806, 0x00005000, 0x00385000, 0x00008000, 0x56b84206,
+ 0x00005000, 0x00383800, 0x00000000, 0x0c825c26, 0x0000e802, 0x00001426,
+ 0x00009583, 0x89803209, 0x0000e088, 0x89004a09, 0x00000088, 0x00001b75,
+ 0x00007009, 0x00001c26, 0x00001583, 0x89005209, 0x00006088, 0x89803a09,
+ 0x00000088, 0x89804209, 0x00006090, 0x89005a09, 0x00008090, 0xffffffff,
+ 0x00007f86, 0xe3404c24, 0x0000f902, 0x02000000, 0x00000004, 0xe3403c26,
+ 0x0000f902, 0x01800000, 0x00008004, 0xffffffff, 0x00007f97, 0x02400809,
+ 0x00001082, 0x01c03a19, 0x0000e002, 0x02000008, 0x00000084, 0x01800006,
+ 0x00009084, 0xe3784c24, 0x0000d004, 0x00384000, 0x00000000, 0xe3783c26,
+ 0x0000d004, 0x00383000, 0x00008000, 0x01c00000, 0x00007900, 0x001f0000,
+ 0x00000980, 0x41810518, 0x00006283, 0x0018c807, 0x0000a186, 0x20383eec,
+ 0x00005600, 0x0038b800, 0x00008000, 0x01400020, 0x00006188, 0x08001a27,
+ 0x0000610e, 0x00001d30, 0x00007010, 0x00113805, 0x0000e984, 0x733828ec,
+ 0x0000d600, 0x00000000, 0x00008080, 0x000818ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0x00908eec, 0x00005f80, 0x00007000, 0x00008084, 0x00000c04,
+ 0x00009583, 0x00001c58, 0x0000700b, 0x89401206, 0x0000e080, 0x89002a06,
+ 0x00008080, 0x56803a24, 0x0000f902, 0x01800000, 0x00000000, 0x56805225,
+ 0x0000f902, 0x02000000, 0x00008000, 0xffffffff, 0x00007f97, 0x01c00807,
+ 0x00001082, 0x02805219, 0x0000e002, 0x01800006, 0x00000084, 0x02000008,
+ 0x00009084, 0x00001b6b, 0x0000f400, 0x56b83a24, 0x00005000, 0x00383000,
+ 0x00008000, 0x56b85225, 0x00005000, 0x00384000, 0x00000000, 0x41c20518,
+ 0x0000e283, 0x0c40c427, 0x0000a000, 0x09801427, 0x0000e081, 0x0000e049,
+ 0x0000a183, 0x09801000, 0x00006191, 0x41213044, 0x0000e002, 0x09800800,
+ 0x00001989, 0x00001b57, 0x0000f400, 0xffffffff, 0x00007f86, 0xe7a13049,
+ 0x0000e803, 0x89371ee3, 0x00006100, 0x0cc0b426, 0x00006004, 0x00001c26,
+ 0x0000e583, 0x09401c26, 0x00000281, 0x51783c24, 0x00002018, 0x51783c24,
+ 0x0000a0b0, 0x09c01c25, 0x00001881, 0x00001b41, 0x00007403, 0x09a13807,
+ 0x00009700, 0xd7613014, 0x00006805, 0x0c805c25, 0x00006802, 0x01401425,
+ 0x00001283, 0x03c086ec, 0x0000f912, 0x02c00000, 0x00008000, 0x040050ec,
+ 0x0000f912, 0x01c00000, 0x00008000, 0x00001b3f, 0x00007008, 0x09d19a33,
+ 0x00009900, 0x00119810, 0x0000f808, 0x00000000, 0x00000000, 0x00005827,
+ 0x00007808, 0x00000000, 0x00008020, 0x00005027, 0x0000f808, 0x00000000,
+ 0x00000060, 0x00003827, 0x0000f812, 0x00000000, 0x00008010, 0xc9020608,
+ 0x00007896, 0x69000000, 0x00008d8e, 0xebc0150d, 0x00007896, 0x08c00000,
+ 0x00008d8a, 0xceb926ec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb926ec,
+ 0x0000a894, 0xd040150d, 0x0000788e, 0x78c00000, 0x00008d8d, 0x80040635,
+ 0x0000e583, 0xc3f1ae35, 0x00008901, 0x0931ae35, 0x0000e111, 0xc3c00000,
+ 0x00004989, 0x00001b35, 0x0000f009, 0x01c3e824, 0x00009282, 0x09807d18,
+ 0x00001289, 0x00002372, 0x00007011, 0x00000c26, 0x00009583, 0x00002360,
+ 0x0000f00b, 0x00001426, 0x00009583, 0x0c006a26, 0x0000e18c, 0x0011b016,
+ 0x0000310e, 0x89802226, 0x00006188, 0x86402219, 0x00000188, 0xc6402319,
+ 0x0000e088, 0x0411300d, 0x0000218d, 0x00001b35, 0x00007400, 0x8591b236,
+ 0x00001910, 0x4340150d, 0x00009381, 0x04800000, 0x0000f900, 0x00040000,
+ 0x00000980, 0xc1c1870c, 0x00006283, 0x0400b012, 0x0000a107, 0x0800b227,
+ 0x00006106, 0x0801ad08, 0x0000b002, 0x02000000, 0x00006181, 0x84914a29,
+ 0x00004900, 0x00001c05, 0x0000f008, 0x41c0850b, 0x00006283, 0x06c14028,
+ 0x00000900, 0x06809012, 0x00001900, 0x00002237, 0x00007011, 0xc009fb05,
+ 0x0000e582, 0x02000800, 0x00000981, 0x00002246, 0x0000701b, 0xa5408e0a,
+ 0x0000f902, 0x04000000, 0x00000004, 0xa5b8380a, 0x00002084, 0x01400000,
+ 0x00009981, 0xffffffff, 0x00007f86, 0x00014011, 0x00001502, 0x00009010,
+ 0x00009502, 0x00202407, 0x00009503, 0x00002247, 0x00007010, 0x00002247,
+ 0x00007010, 0x00002247, 0x00007010, 0xc730380c, 0x0000e803, 0x01400800,
+ 0x00001981, 0xf4e0140b, 0x0000c391, 0x00205d06, 0x00000018, 0x8346050b,
+ 0x00004297, 0x2020150d, 0x00008788, 0xe1408535, 0x0000f897, 0x48c00000,
+ 0x00000f8b, 0x36810608, 0x0000f896, 0x91000000, 0x00001084, 0x41c0150d,
+ 0x00009283, 0x00001c1a, 0x0000700b, 0x89371ee3, 0x00006100, 0x0cc0b427,
+ 0x0000e004, 0x00001c27, 0x00006583, 0x09801c27, 0x00008281, 0x51783c24,
+ 0x00002018, 0x51783c24, 0x0000a0b0, 0x09401c26, 0x00009881, 0xffffffff,
+ 0x00007f97, 0x09e12807, 0x00009700, 0xd7613814, 0x0000e805, 0x00000418,
+ 0x00006583, 0x11c00000, 0x00008980, 0x12840000, 0x00006180, 0x90000847,
+ 0x0000644b, 0x4000051d, 0x00006583, 0xe240e84b, 0x0000a002, 0x0740e835,
+ 0x00006012, 0x0002404a, 0x0000b084, 0x01c04418, 0x0000e283, 0x00040048,
+ 0x00002486, 0x11000000, 0x00006180, 0xb540c047, 0x0000e001, 0x0018e84b,
+ 0x0000e182, 0x0028e848, 0x00003084, 0x0ac0a014, 0x0000e100, 0x7140c044,
+ 0x0000e000, 0x0b08b415, 0x0000830a, 0x00001c3a, 0x00007408, 0x11400000,
+ 0x000004d8, 0x5288f11e, 0x0000042a, 0x01c0141d, 0x0000e283, 0x40000844,
+ 0x0000a402, 0x91972ae5, 0x0000e100, 0x0c40c426, 0x00006010, 0x09401426,
+ 0x00001091, 0x00001c3a, 0x0000f008, 0x41c20518, 0x0000e283, 0x41212844,
+ 0x00002002, 0x09400800, 0x00006189, 0x09401000, 0x00004991, 0xffffffff,
+ 0x00007f86, 0xe7a12849, 0x0000e803, 0x09c03747, 0x00006281, 0x09818444,
+ 0x00008281, 0x00001427, 0x0000e583, 0x0000e049, 0x0000a183, 0x0c40c427,
+ 0x00006808, 0x09c01427, 0x00001089, 0x00008426, 0x00006583, 0x96613847,
+ 0x0000200b, 0x0c40c426, 0x0000e808, 0x09801426, 0x00001089, 0x41c20518,
+ 0x0000e283, 0x41213444, 0x0000200a, 0x09800800, 0x00006189, 0x09801000,
+ 0x00004991, 0x01c40444, 0x00001283, 0xe7a13049, 0x00006003, 0xe0000848,
+ 0x0000b412, 0x00000405, 0x00009583, 0x00002032, 0x0000700b, 0xffffffff,
+ 0x00007f86, 0x09006405, 0x00006002, 0x0801ac04, 0x00003002, 0x8d000405,
+ 0x0000c389, 0x00200c05, 0x00008090, 0xe1801404, 0x00004589, 0x74200c04,
+ 0x00000093, 0x06401404, 0x0000f88a, 0x01000001, 0x00000000, 0x44000c04,
+ 0x0000788a, 0xd1000000, 0x00009084, 0x89400a06, 0x0000e080, 0x89002206,
+ 0x00000080, 0x56803a24, 0x0000f902, 0x01800000, 0x00000000, 0x56805225,
+ 0x0000f902, 0x02000000, 0x00008000, 0xffffffff, 0x00007f97, 0x01c00807,
+ 0x00001082, 0x02805219, 0x0000e002, 0x01800006, 0x00000084, 0x02000008,
+ 0x00009084, 0x00001b6b, 0x0000f400, 0x56b83a24, 0x00005000, 0x00383000,
+ 0x00008000, 0x56b85225, 0x00005000, 0x00384000, 0x00000000, 0x89003206,
+ 0x0000e080, 0x0c825c25, 0x0000a002, 0x56803a24, 0x0000f902, 0x01800000,
+ 0x00000000, 0xffffffff, 0x00007fa7, 0x01c00807, 0x00001082, 0x00001425,
+ 0x00006583, 0x01800006, 0x00000084, 0x56b83a24, 0x00005000, 0x00383000,
+ 0x00008000, 0x00001c25, 0x00001583, 0xffffffff, 0x00007f86, 0x00001d89,
+ 0x0000f008, 0x00001c8c, 0x00007008, 0x89c07209, 0x00009080, 0xe3403c27,
+ 0x00007902, 0x01800000, 0x00008004, 0xffffffff, 0x00007fa7, 0x01c00807,
+ 0x00001082, 0x00001b83, 0x0000f400, 0x01800006, 0x00009084, 0xe3783c27,
+ 0x00005004, 0x00383000, 0x00008000, 0x89403206, 0x00009080, 0x56803a25,
+ 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x01c00807,
+ 0x00001082, 0x00001424, 0x0000e583, 0x01800006, 0x00000084, 0x56b83a25,
+ 0x0000d000, 0x00383000, 0x00008000, 0x00001c24, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x00001d89, 0x0000f008, 0x00001c76, 0x00007010, 0x89c06a09,
+ 0x00009080, 0xe3403c27, 0x00007902, 0x01800000, 0x00008004, 0xffffffff,
+ 0x00007fa7, 0x01c00807, 0x00001082, 0x00001b83, 0x0000f400, 0x01800006,
+ 0x00009084, 0xe3783c27, 0x00005004, 0x00383000, 0x00008000, 0x04c00000,
+ 0x00007900, 0x00040000, 0x00000980, 0xc1c1870c, 0x00006283, 0x0400b013,
+ 0x00002107, 0x0800b225, 0x0000e106, 0x0a01b510, 0x00003002, 0x02000000,
+ 0x00006181, 0x84d26a4d, 0x0000c900, 0x00001cb1, 0x0000f008, 0x41c0850b,
+ 0x00006283, 0x0482604c, 0x00000900, 0x04409813, 0x00009900, 0x00001da6,
+ 0x0000f011, 0xc009fb05, 0x0000e582, 0x02000800, 0x00000981, 0x00001db5,
+ 0x0000701b, 0xa540f60a, 0x0000f902, 0x06c00000, 0x00008004, 0xa5b8380a,
+ 0x00002084, 0x01400000, 0x00009981, 0xffffffff, 0x00007f86, 0x0002601e,
+ 0x00009502, 0x0000981b, 0x00009502, 0x00202407, 0x00009503, 0x00001db6,
+ 0x0000f010, 0x00001db6, 0x0000f010, 0x00001db6, 0x0000f010, 0xc730380c,
+ 0x0000e803, 0x01400800, 0x00001981, 0xdc80140b, 0x0000c391, 0x00205d06,
+ 0x00000018, 0xf866050b, 0x0000c297, 0x7820150d, 0x00008791, 0xb0808535,
+ 0x00007897, 0x30c00000, 0x00008f85, 0xc2010608, 0x00007897, 0x60c00000,
+ 0x00000f87, 0x41c0150d, 0x00009283, 0x00001fc3, 0x0000f013, 0x09c06736,
+ 0x00006281, 0x11c00000, 0x00008980, 0x00002427, 0x0000e583, 0x11000000,
+ 0x00008980, 0x0a02604c, 0x00006108, 0x8a526a4d, 0x00004908, 0xca5a6b4d,
+ 0x0000e108, 0x0a82704e, 0x0000c908, 0x00000418, 0x00006583, 0x7140c044,
+ 0x00002000, 0x0ac0a014, 0x0000e100, 0x90000847, 0x0000644b, 0x01c04418,
+ 0x0000e283, 0x8b10aa15, 0x00000900, 0xcc90b216, 0x00006100, 0xb540c047,
+ 0x0000e001, 0x11400000, 0x000004d8, 0x00001cd2, 0x0000f008, 0x01c0141d,
+ 0x0000e283, 0x40000844, 0x0000a402, 0x91972ae5, 0x00009900, 0x00001fcd,
+ 0x0000f011, 0x00000405, 0x00009583, 0x000021d7, 0x0000700b, 0xffffffff,
+ 0x00007f86, 0x09006405, 0x00006002, 0x0801ac04, 0x00003002, 0x8d000405,
+ 0x0000c389, 0x00200c05, 0x00008090, 0xd0a01404, 0x00004589, 0x77e00c04,
+ 0x0000008b, 0x06401404, 0x0000f88a, 0x01000001, 0x00000000, 0x26800c04,
+ 0x00007892, 0x81000000, 0x00009088, 0x00001b97, 0x0000f200, 0x89401206,
+ 0x0000e080, 0x89002a06, 0x00008080, 0x08024424, 0x0000e884, 0xc1a12220,
+ 0x00009100, 0x2840450b, 0x00004194, 0x00400635, 0x00008090, 0x2740140b,
+ 0x0000c390, 0x00405d06, 0x00000018, 0x2606050b, 0x00004296, 0xe440150d,
+ 0x00008791, 0xd1c08535, 0x00007897, 0x58c00000, 0x00000f89, 0x5fc10608,
+ 0x00007896, 0xb1000000, 0x0000108a, 0xebc00635, 0x00007893, 0x48c00000,
+ 0x00000d8f, 0x41c0150d, 0x00009283, 0x00002130, 0x00007013, 0x00000418,
+ 0x00006583, 0x11c00000, 0x00008980, 0x12840000, 0x00006180, 0x90000847,
+ 0x0000644b, 0x4000051d, 0x00006583, 0xe240e84b, 0x0000a002, 0x0740e835,
+ 0x00006012, 0x0002404a, 0x0000b084, 0x01004418, 0x0000e283, 0x00040048,
+ 0x00002486, 0x11000000, 0x00006180, 0x0ec0ec24, 0x0000e002, 0xb540c047,
+ 0x0000e001, 0x0018e84b, 0x0000b182, 0x0028e848, 0x00006084, 0x7140c044,
+ 0x0000b000, 0x0ae0af14, 0x00000230, 0x8c800116, 0x00000494, 0x00001d0c,
+ 0x0000f408, 0x11800000, 0x0000e180, 0x52b0f61e, 0x00004901, 0xd290f21e,
+ 0x00006100, 0x40000844, 0x0000e412, 0x0100141d, 0x0000e283, 0x91972ae5,
+ 0x00000900, 0x00002369, 0x0000f013, 0x09c03747, 0x00006281, 0x0000e049,
+ 0x0000a183, 0x00001427, 0x0000e583, 0x09818444, 0x00008281, 0x09006405,
+ 0x00006002, 0x0c40c427, 0x0000b008, 0x09c01427, 0x00001089, 0x00008426,
+ 0x00006583, 0x96613847, 0x0000200b, 0x0c40c426, 0x0000e808, 0x09801426,
+ 0x00001089, 0x41c20518, 0x0000e283, 0x41213444, 0x0000200a, 0x09800800,
+ 0x00006189, 0x09801000, 0x00004991, 0x01040444, 0x00001283, 0xe7a13049,
+ 0x00006003, 0xe0000848, 0x0000b412, 0x00000405, 0x00006583, 0x0801ac04,
+ 0x0000a002, 0x00001404, 0x00009583, 0x00000c04, 0x00009583, 0x00001c7f,
+ 0x00007008, 0x00001b5e, 0x0000f008, 0x00001c58, 0x00007008, 0x00001b97,
+ 0x0000f200, 0x89401206, 0x0000e080, 0x89002a06, 0x00008080, 0xcef928ec,
+ 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825,
+ 0x00001502, 0x09400825, 0x00001090, 0xcef928ec, 0x0000a894, 0xd040150d,
+ 0x0000788e, 0x78c00000, 0x00008d8d, 0x41400d05, 0x00009283, 0x15001000,
+ 0x00007910, 0x00008000, 0x00000980, 0x15580800, 0x0000f910, 0x00044040,
+ 0x00000980, 0x00001d4b, 0x00007008, 0x15c00000, 0x000085e8, 0x15801002,
+ 0x0000e100, 0x00001857, 0x00006106, 0x16020000, 0x0000f900, 0x00040000,
+ 0x00000980, 0x000818ec, 0x00005780, 0x00d07280, 0x000081c0, 0x16420000,
+ 0x0000e180, 0xc0001857, 0x0000e006, 0x16e12000, 0x000080f2, 0x56a8c416,
+ 0x00008528, 0x00908eec, 0x00005f80, 0x00d07540, 0x00000184, 0xceb938ec,
+ 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072827,
+ 0x00009502, 0x09c00827, 0x00001090, 0xceb938ec, 0x0000a894, 0xd040150d,
+ 0x0000788e, 0x78c00000, 0x00008d8d, 0x01800020, 0x0000e180, 0x08001a24,
+ 0x0000e106, 0x15d00002, 0x0000e180, 0x00112006, 0x00006184, 0x15800000,
+ 0x00006180, 0x00282057, 0x0000e080, 0x733830ec, 0x0000d600, 0x00000000,
+ 0x00008080, 0x8440b057, 0x0000e000, 0x00182056, 0x00003100, 0x000818ec,
+ 0x00005780, 0x00d07280, 0x000081c0, 0x15083804, 0x00006180, 0x0000b057,
+ 0x0000e085, 0x1560b800, 0x000000f2, 0xd598c318, 0x00009900, 0x00908eec,
+ 0x00005f80, 0x00d07540, 0x000000c4, 0x000004e3, 0x0000e583, 0x06c00000,
+ 0x00008980, 0x07c00000, 0x0000e180, 0x0802461b, 0x0000e084, 0x8468300b,
+ 0x00000104, 0x00001d7c, 0x00007408, 0x86d822e3, 0x0000812e, 0x87d10220,
+ 0x0000e100, 0xddb00600, 0x00004911, 0x22800000, 0x00007900, 0x00014000,
+ 0x00008980, 0x2222a000, 0x0000f900, 0x00151b4e, 0x00000980, 0x22507800,
+ 0x0000f900, 0x0032d3fc, 0x00008980, 0x9da80500, 0x00006101, 0x08001a76,
+ 0x00006106, 0x1df8df02, 0x00000714, 0x1d720f4f, 0x00007500, 0x2578ff11,
+ 0x00000910, 0x6280960b, 0x000008a9, 0x1d740fdd, 0x0000f300, 0x0d003000,
+ 0x00009980, 0xce7936ec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072826, 0x00001502, 0x09800826, 0x00001090, 0xce7936ec,
+ 0x0000a814, 0xd040150d, 0x0000788e, 0x78c00000, 0x00008d8d, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x03a2a000, 0x00007900, 0x00151b4e,
+ 0x00000980, 0x03d07800, 0x00007900, 0x0032d3fc, 0x00008980, 0xc3300600,
+ 0x00006101, 0x08001a0c, 0x0000e106, 0x83381400, 0x00008034, 0x1d890f22,
+ 0x00007500, 0x04b88f1b, 0x00000028, 0x81009000, 0x00006180, 0x0200f81f,
+ 0x00004900, 0x89c06209, 0x00001080, 0xe3403c27, 0x00007902, 0x01800000,
+ 0x00008004, 0xffffffff, 0x00007fa7, 0x01c00807, 0x00001082, 0x00001b83,
+ 0x0000f400, 0x01800006, 0x00009084, 0xe3783c27, 0x00005004, 0x00383000,
+ 0x00008000, 0x80040635, 0x0000e583, 0xc3f1ae35, 0x00008901, 0x0931ae35,
+ 0x0000e111, 0xc3c00000, 0x00004989, 0x00001c95, 0x00007009, 0x01c3e824,
+ 0x00009282, 0x09407d18, 0x00001289, 0x00001e55, 0x0000f011, 0x00000c25,
+ 0x00009583, 0x00001e4c, 0x0000f00b, 0x00001425, 0x00009583, 0x0c006a25,
+ 0x0000e18c, 0x0011b016, 0x0000310e, 0x89402225, 0x00006188, 0x86402219,
+ 0x00000188, 0xc6402319, 0x0000e088, 0x0411280d, 0x0000218d, 0x00001c95,
+ 0x0000f400, 0x8591b236, 0x00001910, 0x4340150d, 0x00009381, 0x89202404,
+ 0x00001900, 0xd640dc24, 0x0000f902, 0x01c00000, 0x00000004, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x00172b07, 0x00007808, 0x00000000,
+ 0x00000000, 0x00183a25, 0x00007810, 0x00000000, 0x00008020, 0x00103b4d,
+ 0x0000f810, 0x00000000, 0x00000060, 0x2880d84e, 0x0000780b, 0x00c00001,
+ 0x00000010, 0xb6a00408, 0x0000c989, 0x4a29fb05, 0x000007b1, 0x01400000,
+ 0x00009981, 0x40001510, 0x00006583, 0xc000080c, 0x0000a403, 0x007a66ec,
+ 0x0000d70c, 0x00389800, 0x00000000, 0x117a66ec, 0x0000d70c, 0x00389800,
+ 0x00000000, 0x00001dfb, 0x0000f010, 0x00000408, 0x0000e583, 0xf0000811,
+ 0x00002401, 0x227a66ec, 0x00005704, 0x00388800, 0x00008000, 0x01c04000,
+ 0x0000f900, 0x0005001a, 0x00000980, 0x200004ec, 0x00005784, 0x00383816,
+ 0x00002a00, 0x04800000, 0x0000f900, 0x0015001e, 0x00000980, 0x30e88012,
+ 0x0000e880, 0x203894ec, 0x00005704, 0x00081815, 0x00000480, 0x04a9800c,
+ 0x00001980, 0x00288012, 0x0000e804, 0x203894ec, 0x00005704, 0x00199819,
+ 0x00000080, 0x04b0380c, 0x00009980, 0x00001def, 0x00007410, 0x04202012,
+ 0x00006901, 0x003894ec, 0x0000d704, 0x00000000, 0x00008080, 0x01c00000,
+ 0x00007900, 0x00040000, 0x00000980, 0x00127007, 0x00006186, 0x001a7012,
+ 0x00003186, 0x041a6812, 0x00006187, 0x00008807, 0x0000b107, 0x117896ec,
+ 0x0000d704, 0x00383800, 0x00000000, 0x04690008, 0x00006180, 0xf0000807,
+ 0x00006401, 0x227896ec, 0x0000d704, 0x00383800, 0x00000000, 0x01c00000,
+ 0x00007900, 0x0015001e, 0x00000980, 0x00288011, 0x00006004, 0x30e88007,
+ 0x0000b080, 0x200044ec, 0x0000d784, 0x00383812, 0x00000a00, 0x20388cec,
+ 0x00005704, 0x00191811, 0x00000080, 0x01f90000, 0x00007900, 0x00010010,
+ 0x00008980, 0x04403800, 0x00007900, 0x0002001e, 0x00000980, 0x04202011,
+ 0x0000e101, 0x00288007, 0x0000b004, 0x20388cec, 0x00005704, 0x00383800,
+ 0x00000000, 0x04701000, 0x00007900, 0x00020018, 0x00000980, 0x094046e3,
+ 0x00001081, 0x30e12811, 0x00006880, 0x20388cec, 0x00005704, 0x0010a019,
+ 0x00008680, 0xcef93aec, 0x00002004, 0xffffffff, 0x00007fa7, 0x00072827,
+ 0x00009502, 0x00001cb2, 0x0000f400, 0x09c00827, 0x00001090, 0xcef93aec,
+ 0x00002814, 0x007a66ec, 0x00005704, 0x00389800, 0x00000000, 0x000004ec,
+ 0x0000d784, 0x00000016, 0x0000aa80, 0x01e81000, 0x0000f900, 0x00020014,
+ 0x00000980, 0x00000408, 0x0000e583, 0x09c046e3, 0x00000081, 0x86da734e,
+ 0x0000e108, 0x30e13807, 0x0000e080, 0x20081cec, 0x0000d784, 0x00383815,
+ 0x00000400, 0x00001e1d, 0x00007010, 0x01c00000, 0x00007900, 0x00040000,
+ 0x00000980, 0x041a681b, 0x00006187, 0x00127007, 0x00003186, 0x00008807,
+ 0x00006907, 0x1178deec, 0x0000d704, 0x00383800, 0x00000000, 0xf0000807,
+ 0x0000ec01, 0x2278deec, 0x0000d704, 0x00383800, 0x00000000, 0x01c08000,
+ 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784, 0x00383812,
+ 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811, 0x00000080, 0x06c03800,
+ 0x00007900, 0x0002001e, 0x00000980, 0x0420201b, 0x00006901, 0x2038dcec,
+ 0x00005704, 0x00191011, 0x00000280, 0x40000d10, 0x00009583, 0x0468380a,
+ 0x00001990, 0x04202011, 0x0000e911, 0x00001e24, 0x00007008, 0x00001cb2,
+ 0x0000f200, 0x20388cec, 0x00005704, 0x00095019, 0x00000680, 0x81c002ec,
+ 0x00005684, 0x00400000, 0x00008000, 0x06c00000, 0x00006180, 0x00109007,
+ 0x00006186, 0x0410881b, 0x0000e187, 0x04189007, 0x0000b187, 0x81f83cec,
+ 0x0000d604, 0x0038d800, 0x00008000, 0xffffffff, 0x00007ff7, 0xffffffff,
+ 0x00007ff7, 0x81f83aec, 0x0000a684, 0xffffffff, 0x00007fa7, 0x01e8380a,
+ 0x00006180, 0x89801407, 0x00004880, 0x4b412626, 0x00007902, 0x08c00000,
+ 0x00000004, 0x4b811026, 0x00007902, 0x08400000, 0x00008004, 0x4b80fa26,
+ 0x00007902, 0x07800000, 0x00008004, 0x4b80dc26, 0x0000f902, 0x04800000,
+ 0x00008004, 0x04202007, 0x0000e901, 0x200384ec, 0x0000d784, 0x0038381a,
+ 0x00008000, 0x003924ec, 0x0000d704, 0x00391800, 0x00000000, 0x003914ec,
+ 0x0000d704, 0x00390800, 0x00008000, 0x0038fcec, 0x00005704, 0x0038f000,
+ 0x00008000, 0x0038dcec, 0x0000d704, 0x00389000, 0x00008000, 0x01f0d800,
+ 0x00007900, 0x00020018, 0x00000980, 0x00001cb2, 0x0000f400, 0x200924ec,
+ 0x0000d784, 0x00383815, 0x00000400, 0x000994ec, 0x0000d784, 0x00000019,
+ 0x00008280, 0x81c08608, 0x00009283, 0xc000000c, 0x0000ec0b, 0xceb93aec,
+ 0x0000200c, 0x00001e5e, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072827,
+ 0x00009502, 0x00001c95, 0x0000f400, 0x09c00827, 0x00001090, 0xceb93aec,
+ 0x0000a814, 0x81c04608, 0x00009283, 0xc000000c, 0x0000ec0b, 0xceb926ec,
+ 0x0000a00c, 0x00001e79, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x00001c95, 0x0000f400, 0x09000824, 0x00001090, 0xceb926ec,
+ 0x00002814, 0x000004e3, 0x0000e583, 0x0e00c71b, 0x0000a006, 0x86ff1fe3,
+ 0x00006100, 0x86e02404, 0x0000c901, 0x0449b416, 0x00000106, 0x00001e8d,
+ 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2209c800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x226ee800, 0x00007900, 0x000e1256,
+ 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x1e700f4f, 0x0000f500, 0x1d788f1b, 0x00008914, 0x62800010,
+ 0x000009d0, 0x0d004000, 0x00001980, 0x1e720fdd, 0x00007100, 0xce7936ec,
+ 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072826,
+ 0x00001502, 0x00001c95, 0x0000f400, 0x09800826, 0x00001090, 0xce7936ec,
+ 0x0000a814, 0x000004e3, 0x0000e583, 0x84bf1fe3, 0x00008900, 0x44a9ae04,
+ 0x0000810a, 0x04795f34, 0x00000100, 0x00001e9a, 0x00007008, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50,
+ 0x00000980, 0x2269c000, 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1e8b0f4f,
+ 0x00007500, 0x1d79a712, 0x00000914, 0xa2807800, 0x00006180, 0x2501582b,
+ 0x00004900, 0x00001e71, 0x00007200, 0x0d003800, 0x00001980, 0x02000000,
+ 0x0000e180, 0x01000020, 0x00004980, 0x0389c800, 0x0000f900, 0x00151b50,
+ 0x00000980, 0x03eee800, 0x0000f900, 0x000e1256, 0x00000980, 0x81008000,
+ 0x00009980, 0xc1002800, 0x00006181, 0x08001a0c, 0x0000e106, 0x83200500,
+ 0x00008032, 0x1e9a0f22, 0x0000f500, 0x0378df02, 0x00000108, 0x02808811,
+ 0x00009900, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x0387a800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x03e9c000, 0x00007900, 0x003be25c,
+ 0x00000980, 0xc3300600, 0x00006101, 0x08001a0c, 0x0000e106, 0x83381400,
+ 0x00008034, 0x1ea60f22, 0x0000f500, 0x02b88711, 0x00000020, 0x81007800,
+ 0x00001980, 0x0c805c25, 0x00006802, 0x01c01425, 0x00009283, 0x03c096ec,
+ 0x00007912, 0x04400000, 0x00000000, 0x040058ec, 0x00007912, 0x01c00000,
+ 0x00008000, 0x00001cba, 0x00007008, 0x09d19a33, 0x00009900, 0x00119812,
+ 0x00007808, 0x00000000, 0x00000000, 0x00008827, 0x0000f808, 0x00000000,
+ 0x00008020, 0x00005827, 0x00007808, 0x00000000, 0x00000060, 0x00003827,
+ 0x0000f812, 0x00000000, 0x00008010, 0xbd020608, 0x0000f897, 0xd0c00000,
+ 0x00000f85, 0xf0c0150d, 0x0000f897, 0xe0c00000, 0x00008e85, 0xceb936ec,
+ 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072826,
+ 0x00001502, 0x09800826, 0x00001090, 0xceb936ec, 0x00002894, 0x2f00150d,
+ 0x0000788f, 0x18c00000, 0x00000f8e, 0x0c805c26, 0x00006802, 0x01c00c26,
+ 0x00009283, 0x81820608, 0x00001283, 0xffffffff, 0x00007f86, 0x00001ea6,
+ 0x00007008, 0x00001eba, 0x0000f008, 0x000004e3, 0x0000e583, 0x04400000,
+ 0x00008980, 0x849822e3, 0x0000810a, 0x84a26933, 0x00008104, 0x00001f1f,
+ 0x00007008, 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x22039800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x1d7a6712, 0x00000914, 0x1eda0f4f, 0x0000f500, 0x25009f11,
+ 0x000008a9, 0xa2a05c0b, 0x00001901, 0x0d009800, 0x00001980, 0x1edc0fdd,
+ 0x0000f100, 0xce792eec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072825, 0x00001502, 0x09400825, 0x00001090, 0xce792eec,
+ 0x0000a814, 0x2f00150d, 0x0000788f, 0x18c00000, 0x00000f8e, 0xceb930ec,
+ 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072826,
+ 0x00001502, 0x09800826, 0x00001090, 0xceb930ec, 0x00002894, 0x2f00150d,
+ 0x0000788f, 0x18c00000, 0x00000f8e, 0xcef938ec, 0x00002084, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072827, 0x00009502, 0x09c00827,
+ 0x00001090, 0xcef938ec, 0x00002894, 0x2f00150d, 0x0000788f, 0x18c00000,
+ 0x00000f8e, 0x000004e3, 0x0000e583, 0x04400000, 0x00008980, 0x849822e3,
+ 0x0000810a, 0x84a26933, 0x00008104, 0x00001f1f, 0x00007008, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x22039800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1f060f4f,
+ 0x0000f500, 0x1d7a6712, 0x00000914, 0xa2809800, 0x0000e180, 0x25008811,
+ 0x00004900, 0x00001edb, 0x00007200, 0x0d009800, 0x00001980, 0x000004e3,
+ 0x0000e583, 0x06c00000, 0x00008980, 0x07c00000, 0x0000e180, 0x0802461b,
+ 0x0000e084, 0x8468300b, 0x00000104, 0x00001d7c, 0x00007408, 0x86d822e3,
+ 0x0000812e, 0x87d10220, 0x0000e100, 0xddb00600, 0x00004911, 0x22800000,
+ 0x00007900, 0x00014000, 0x00008980, 0x2222a000, 0x0000f900, 0x00151b4e,
+ 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc, 0x00008980, 0x9da80500,
+ 0x00006101, 0x08001a76, 0x00006106, 0x1df8df02, 0x00000714, 0x1f1d0f4f,
+ 0x0000f500, 0x2578ff11, 0x00000910, 0x6280960b, 0x000008a9, 0x00001edb,
+ 0x00007200, 0x0d003000, 0x00009980, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x03839800, 0x0000f900, 0x00151b50, 0x00000980, 0x03e8a800,
+ 0x00007900, 0x000aff14, 0x00008980, 0xc3300600, 0x00006101, 0x08001a0c,
+ 0x0000e106, 0x83381400, 0x00008034, 0x1f2b0f22, 0x00007500, 0x02b88f4c,
+ 0x00000020, 0x81009800, 0x00009980, 0x0c805c25, 0x00006802, 0x01401425,
+ 0x00001283, 0x03c086ec, 0x0000f912, 0x02c00000, 0x00008000, 0x040050ec,
+ 0x0000f912, 0x01c00000, 0x00008000, 0x00001cf0, 0x0000f008, 0x09119a33,
+ 0x00009900, 0x00119810, 0x0000f808, 0x00000000, 0x00000000, 0x00005824,
+ 0x00007808, 0x00000000, 0x00008020, 0x00005024, 0x0000f808, 0x00000000,
+ 0x00000060, 0x00003824, 0x0000f812, 0x00000000, 0x00008010, 0x57820608,
+ 0x00007896, 0xf9000000, 0x00008f89, 0x4c00150d, 0x0000f896, 0x91000000,
+ 0x00000e87, 0xceb93eec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072827, 0x00009502, 0x09c00827, 0x00001090, 0xceb93eec,
+ 0x0000a894, 0x3c80150d, 0x0000788f, 0x80c00000, 0x00009089, 0x0c805c26,
+ 0x00006802, 0x01400c26, 0x00001283, 0x81420608, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x00001f2b, 0x0000f008, 0x00001f3f, 0x0000f008, 0x000004e3,
+ 0x0000e583, 0x04000000, 0x00000980, 0x845822e3, 0x00008106, 0x84614933,
+ 0x00008100, 0x00002163, 0x00007008, 0x22800000, 0x00007900, 0x00014000,
+ 0x00008980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980, 0x2268a800,
+ 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x1d794711, 0x00008914, 0x1f5f0f4f,
+ 0x0000f500, 0x25009f10, 0x000088a9, 0xa2a05c0b, 0x00001901, 0x0d009800,
+ 0x00001980, 0x1f610fdd, 0x00007100, 0xce7936ec, 0x0000a004, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072826, 0x00001502, 0x09800826,
+ 0x00001090, 0xce7936ec, 0x0000a814, 0x3c80150d, 0x0000788f, 0x80c00000,
+ 0x00009089, 0x0c805c27, 0x0000e802, 0x01c01427, 0x00001283, 0x03c08eec,
+ 0x00007912, 0x04000000, 0x00008000, 0x040058ec, 0x00007912, 0x01c00000,
+ 0x00008000, 0x00001c0e, 0x00007008, 0x09919a33, 0x00001900, 0x00119811,
+ 0x00007808, 0x00000000, 0x00000000, 0x00008026, 0x0000f808, 0x00000000,
+ 0x00008020, 0x00005826, 0x0000f808, 0x00000000, 0x00000060, 0x00003826,
+ 0x00007812, 0x00000000, 0x00008010, 0x2e420608, 0x0000f896, 0xe9000000,
+ 0x00008f8b, 0x0680150d, 0x0000788f, 0x80c00000, 0x00008e80, 0xceb92eec,
+ 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825,
+ 0x00001502, 0x09400825, 0x00001090, 0xceb92eec, 0x00002894, 0x0680150d,
+ 0x0000788f, 0x80c00000, 0x00008e80, 0x0c805c25, 0x00006802, 0x01c00c25,
+ 0x00009283, 0x81820608, 0x00001283, 0xffffffff, 0x00007f86, 0x00001f69,
+ 0x0000f008, 0x00001f7d, 0x0000f008, 0x000004e3, 0x0000e583, 0x04000000,
+ 0x00000980, 0x845822e3, 0x00008106, 0x84614933, 0x00008100, 0x00002163,
+ 0x00007008, 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x22039800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x1d794711, 0x00008914, 0x1f9d0f4f, 0x00007500, 0x25009f10,
+ 0x000088a9, 0xa2a05c0b, 0x00001901, 0x0d009800, 0x00001980, 0x1f9f0fdd,
+ 0x0000f100, 0xce793eec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072827, 0x00009502, 0x09c00827, 0x00001090, 0xce793eec,
+ 0x00002814, 0x0680150d, 0x0000788f, 0x80c00000, 0x00008e80, 0xceb928ec,
+ 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825,
+ 0x00001502, 0x09400825, 0x00001090, 0xceb928ec, 0x00002894, 0x0680150d,
+ 0x0000788f, 0x80c00000, 0x00008e80, 0x80040635, 0x0000e583, 0xc3f1ae35,
+ 0x00008901, 0x0931ae35, 0x0000e111, 0xc3c00000, 0x00004989, 0x00001be9,
+ 0x00007009, 0x01c3e824, 0x00009282, 0x09c07d18, 0x00009289, 0x00001fe1,
+ 0x00007011, 0x00000c27, 0x00001583, 0x00001fd8, 0x0000f00b, 0x00001427,
+ 0x00001583, 0x0c006a27, 0x0000618c, 0x00199016, 0x0000310e, 0x89c02227,
+ 0x00006188, 0x86402219, 0x00000188, 0xc6402319, 0x0000e088, 0x0411380d,
+ 0x0000a18d, 0x00001be9, 0x0000f400, 0x85999332, 0x00001910, 0x4340150d,
+ 0x00009381, 0x89371ee3, 0x00006100, 0x0cc0b425, 0x00006004, 0x00001c25,
+ 0x0000e583, 0x09c01c25, 0x00008281, 0x51783c24, 0x00002018, 0x51783c24,
+ 0x0000a0b0, 0x09801c27, 0x00001881, 0x00001cbc, 0x00007403, 0x09613007,
+ 0x00001700, 0xd7612814, 0x00006805, 0x41c20518, 0x0000e283, 0x0c40c426,
+ 0x00002000, 0x09401426, 0x00006081, 0x0000e049, 0x0000a183, 0x09401000,
+ 0x00006191, 0x41212844, 0x0000e002, 0x09400800, 0x00001989, 0xffffffff,
+ 0x00007f86, 0xe7a12849, 0x0000e803, 0x35000405, 0x0000f893, 0xb8c00000,
+ 0x0000908e, 0x81c08608, 0x00009283, 0xc000000c, 0x0000ec0b, 0xceb932ec,
+ 0x0000a00c, 0x00001fea, 0x00007010, 0xffffffff, 0x00007f97, 0x00072826,
+ 0x00001502, 0x00001be9, 0x0000f400, 0x09800826, 0x00001090, 0xceb932ec,
+ 0x00002814, 0x81c04608, 0x00009283, 0xc000000c, 0x0000ec0b, 0xceb926ec,
+ 0x0000a00c, 0x00002005, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x00001be9, 0x0000f400, 0x09000824, 0x00001090, 0xceb926ec,
+ 0x00002814, 0x000004e3, 0x0000e583, 0x0e00c71b, 0x0000a006, 0x86ff1fe3,
+ 0x00006100, 0x86e02404, 0x0000c901, 0x04699416, 0x00008104, 0x00001e8d,
+ 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2209c800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x226ee800, 0x00007900, 0x000e1256,
+ 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x1ffc0f4f, 0x0000f500, 0x1d788f1b, 0x00008914, 0x62800010,
+ 0x000009d0, 0x0d004000, 0x00001980, 0x1ffe0fdd, 0x00007100, 0xce792eec,
+ 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825,
+ 0x00001502, 0x00001be9, 0x0000f400, 0x09400825, 0x00001090, 0xce792eec,
+ 0x0000a814, 0x000004e3, 0x0000e583, 0x84bf1fe3, 0x00008900, 0x44a9ae04,
+ 0x0000810a, 0x04795f34, 0x00000100, 0x00001e9a, 0x00007008, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50,
+ 0x00000980, 0x2269c000, 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x20170f4f,
+ 0x0000f500, 0x1d79a712, 0x00000914, 0xa2807800, 0x00006180, 0x2501582b,
+ 0x00004900, 0x00001ffd, 0x00007200, 0x0d003800, 0x00001980, 0x56c05806,
+ 0x0000f902, 0x02800000, 0x00000000, 0x56804206, 0x0000f902, 0x01c00000,
+ 0x00008000, 0xe3808a09, 0x0000f902, 0x04000000, 0x00000004, 0xe3409c09,
+ 0x00007902, 0x04800000, 0x00008004, 0x02c0080b, 0x00001082, 0x02004219,
+ 0x0000e002, 0x0280000a, 0x00000084, 0x04400811, 0x0000e082, 0x01c00007,
+ 0x00000084, 0x04c09a19, 0x0000e002, 0x04000010, 0x00000084, 0x04800012,
+ 0x00009084, 0x56f85806, 0x00005000, 0x00385000, 0x00008000, 0x56b84206,
+ 0x00005000, 0x00383800, 0x00000000, 0x00001b6b, 0x0000f400, 0xe3b88a09,
+ 0x0000d004, 0x00388000, 0x00000000, 0xe3789c09, 0x00005004, 0x00389000,
+ 0x00008000, 0x01400800, 0x00001981, 0x08601508, 0x0000c290, 0x6e400408,
+ 0x00008890, 0x21800408, 0x00007892, 0xd1000000, 0x00001083, 0x000038ec,
+ 0x00007902, 0x02c00000, 0x00008704, 0xffffffff, 0x00007fa7, 0x0bc03c27,
+ 0x0000e000, 0x0c003c24, 0x00003000, 0x01e13c24, 0x00001303, 0x89e02404,
+ 0x0000e110, 0x0c019307, 0x00006116, 0x01604408, 0x0000e109, 0x00194807,
+ 0x0000e196, 0xd6795427, 0x0000d014, 0x00383800, 0x00000000, 0x000058ec,
+ 0x00007902, 0x01c00000, 0x00008704, 0x09a00405, 0x0000418a, 0x0041870c,
+ 0x00000090, 0x1349fb05, 0x0000789b, 0x00c00001, 0x00008000, 0x1341870c,
+ 0x0000788f, 0x48c00000, 0x00001083, 0x33402608, 0x0000f896, 0x81000000,
+ 0x00001083, 0x0c005c26, 0x0000e000, 0x0bc05c24, 0x0000b000, 0x01613424,
+ 0x00001303, 0x090046e3, 0x0000e089, 0xc000100c, 0x00002413, 0x01e8380a,
+ 0x00009988, 0x00002064, 0x00007010, 0x02e81000, 0x0000f900, 0x00020014,
+ 0x00000980, 0x30e1200b, 0x0000e080, 0x04202007, 0x00003101, 0x20385cec,
+ 0x0000d704, 0x00383800, 0x00000000, 0x000854ec, 0x00005784, 0x00000015,
+ 0x00000680, 0x000058ec, 0x00007902, 0x01c00000, 0x00008704, 0xffffffff,
+ 0x00007fa7, 0x0c005c25, 0x0000e000, 0x0bc05c24, 0x0000b000, 0x01612c24,
+ 0x00001303, 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0xc009fb05,
+ 0x00001582, 0xc141870c, 0x00001283, 0xffffffff, 0x00007f86, 0x00001c4d,
+ 0x00007018, 0x00001c4d, 0x0000f008, 0x00080008, 0x0000ed87, 0x00202008,
+ 0x0000e886, 0x09006608, 0x0000e802, 0x00001c4d, 0x0000f400, 0xa579460a,
+ 0x0000d004, 0x00389000, 0x00008000, 0xa5b8400a, 0x0000a884, 0xceb934ec,
+ 0x0000a084, 0xc720280c, 0x0000e803, 0xffffffff, 0x00007f97, 0x00072826,
+ 0x00001502, 0x09800826, 0x00001090, 0xceb934ec, 0x0000a894, 0x1349fb05,
+ 0x0000789b, 0x00c00001, 0x00008000, 0x1341870c, 0x0000788f, 0x48c00000,
+ 0x00001083, 0x000038ec, 0x00007902, 0x02800000, 0x00000704, 0xffffffff,
+ 0x00007fa7, 0x0bc03c25, 0x00006000, 0x0c003c24, 0x00003000, 0x01e12c24,
+ 0x00009303, 0x89602404, 0x00006110, 0x0c019307, 0x00006116, 0x01604408,
+ 0x0000e109, 0x00194807, 0x0000e196, 0xd6795425, 0x00005014, 0x00383800,
+ 0x00000000, 0x000050ec, 0x0000f902, 0x01c00000, 0x00008704, 0x89a00405,
+ 0x0000428b, 0x1821870c, 0x00000889, 0x45402608, 0x00007896, 0x49000000,
+ 0x00001088, 0x0c005427, 0x0000e000, 0x0bc05424, 0x00003000, 0x00001c4d,
+ 0x0000f400, 0x01213c24, 0x00001303, 0xc000080c, 0x0000e40b, 0xc000180c,
+ 0x00003413, 0xcef930ec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072826, 0x00001502, 0x09800826, 0x00001090, 0xcef930ec,
+ 0x0000a894, 0x0680150d, 0x0000788f, 0x80c00000, 0x00008e80, 0x89402a06,
+ 0x00006080, 0x89801206, 0x00008080, 0x89c01209, 0x00006080, 0x89002a09,
+ 0x00008080, 0x56803a25, 0x00007902, 0x01800000, 0x00000000, 0x56805226,
+ 0x0000f902, 0x02000000, 0x00008000, 0xffffffff, 0x00007f97, 0x01c00807,
+ 0x00001082, 0x02805219, 0x0000e002, 0x01800006, 0x00000084, 0x56b85226,
+ 0x0000a880, 0xe3785424, 0x0000a084, 0x02000008, 0x00009084, 0x56b83a25,
+ 0x0000d000, 0x00383000, 0x00008000, 0x56b84226, 0x0000a800, 0xe3403c27,
+ 0x00007902, 0x01800000, 0x00008004, 0xe3784424, 0x0000a004, 0x0280080a,
+ 0x00001082, 0xe3785424, 0x00002884, 0xffffffff, 0x00007f86, 0x01c03a19,
+ 0x0000e002, 0x02000008, 0x00000084, 0x01800006, 0x00009084, 0x00001b6b,
+ 0x0000f400, 0xe3784424, 0x00002804, 0xe3783c27, 0x00005004, 0x00383000,
+ 0x00008000, 0x000004e3, 0x0000e583, 0x04000000, 0x00000980, 0x845822e3,
+ 0x00008106, 0x84614933, 0x00008100, 0x00002163, 0x00007008, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x22039800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x20cb0f4f,
+ 0x00007500, 0x1d794711, 0x00008914, 0xa2809800, 0x0000e180, 0x25008010,
+ 0x00004900, 0x00001f9e, 0x00007200, 0x0d009800, 0x00001980, 0x000004e3,
+ 0x0000e583, 0x06ff1fe3, 0x00008901, 0x86f95304, 0x00000104, 0xc6d94b29,
+ 0x00009900, 0x000020f1, 0x00007010, 0x02000000, 0x0000e180, 0x01000020,
+ 0x00004980, 0x038f0800, 0x0000f900, 0x003884ca, 0x00000980, 0x81012000,
+ 0x00001980, 0x00001e94, 0x0000f200, 0x03e3e800, 0x00007900, 0x001b7e4e,
+ 0x00008980, 0x000004e3, 0x0000e583, 0x06c00000, 0x00008980, 0x07c00000,
+ 0x0000e180, 0x0802461b, 0x0000e084, 0x8468300b, 0x00000104, 0x00001d7c,
+ 0x00007408, 0x86d822e3, 0x0000812e, 0x87d10220, 0x0000e100, 0xddb00600,
+ 0x00004911, 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x2222a000,
+ 0x0000f900, 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc,
+ 0x00008980, 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x1df8df02,
+ 0x00000714, 0x20ef0f4f, 0x00007500, 0x2578ff11, 0x00000910, 0x6280960b,
+ 0x000008a9, 0x00001f9e, 0x00007200, 0x0d003000, 0x00009980, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x220f0800, 0x00007900, 0x003884ca,
+ 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x20fd0f4f,
+ 0x00007500, 0x1d79571b, 0x00000914, 0x62800024, 0x000089d0, 0x20ff0fdd,
+ 0x00007300, 0x0d00a000, 0x00009980, 0xce793eec, 0x00002004, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072827, 0x00009502, 0x09c00827,
+ 0x00001090, 0xce793eec, 0x00002814, 0x1349fb05, 0x0000789b, 0x00c00001,
+ 0x00008000, 0x1341870c, 0x0000788f, 0x48c00000, 0x00001083, 0xceb92cec,
+ 0x00002004, 0xc720280c, 0x0000e803, 0xffffffff, 0x00007f97, 0x00072825,
+ 0x00001502, 0x00001c4d, 0x0000f400, 0x09400825, 0x00001090, 0xceb92cec,
+ 0x00002814, 0x0000209e, 0x00007400, 0x89402206, 0x0000e080, 0x89800a06,
+ 0x00008080, 0x89c00a09, 0x00006080, 0x89002209, 0x00000080, 0x000004e3,
+ 0x0000e583, 0x06ff1fe3, 0x00008901, 0x86f95304, 0x00000104, 0xc6d94b29,
+ 0x0000e100, 0xddb00600, 0x00004911, 0x00002345, 0x00007008, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x22155800, 0x0000f900, 0x003884cc,
+ 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980, 0x9da80500,
+ 0x00006101, 0x08001a76, 0x00006106, 0x1df8df02, 0x00000714, 0x21270f4f,
+ 0x00007500, 0x2540072a, 0x00000990, 0xa2812000, 0x00001980, 0x21290fdd,
+ 0x00007300, 0x0d00a000, 0x00009980, 0xce7936ec, 0x0000a004, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072826, 0x00001502, 0x00001c4d,
+ 0x0000f400, 0x09800826, 0x00001090, 0xce7936ec, 0x0000a814, 0x89b71ee3,
+ 0x0000e100, 0x0cc0b427, 0x0000e004, 0x00001c27, 0x00006583, 0x09401c27,
+ 0x00008281, 0x51783c26, 0x0000a018, 0x51783c26, 0x000020b0, 0x09001c25,
+ 0x00001881, 0x00001cf2, 0x00007403, 0x09e12007, 0x00001700, 0xd7613814,
+ 0x0000e805, 0xceb920ec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb920ec,
+ 0x0000a894, 0x3c80150d, 0x0000788f, 0x80c00000, 0x00009089, 0x80040635,
+ 0x0000e583, 0xc3f1ae35, 0x00008901, 0x09f1ae35, 0x0000e111, 0xc3c00000,
+ 0x00004989, 0x00001ce6, 0x0000f009, 0x01c3e827, 0x00009282, 0x09807d18,
+ 0x00001289, 0x0000219f, 0x0000f011, 0x00000c26, 0x00009583, 0x00002196,
+ 0x0000700b, 0x00001426, 0x00009583, 0x0c006a26, 0x0000e18c, 0x00199016,
+ 0x0000310e, 0x89802226, 0x00006188, 0x86402219, 0x00000188, 0xc6402319,
+ 0x0000e088, 0x0411300d, 0x0000218d, 0x00001ce6, 0x00007400, 0x85999332,
+ 0x00001910, 0x4340150d, 0x00009381, 0xcef928ec, 0x0000a084, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502, 0x09400825,
+ 0x00001090, 0xcef928ec, 0x0000a894, 0x3c80150d, 0x0000788f, 0x80c00000,
+ 0x00009089, 0x000004e3, 0x0000e583, 0x04000000, 0x00000980, 0x845822e3,
+ 0x00008106, 0x04099c29, 0x00008106, 0x00002170, 0x0000f010, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x03839800, 0x0000f900, 0x00151b50,
+ 0x00000980, 0x03e8a800, 0x00007900, 0x000aff14, 0x00008980, 0xc3300600,
+ 0x00006101, 0x08001a0c, 0x0000e106, 0x83381400, 0x00008034, 0x21700f22,
+ 0x00007500, 0x04b94711, 0x00000028, 0x81009800, 0x0000e180, 0x02008010,
+ 0x00004900, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22039800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x217d0f4f, 0x00007500, 0x1d794711, 0x00008914, 0xa2809800,
+ 0x0000e180, 0x25008010, 0x00004900, 0x00001f60, 0x0000f200, 0x0d009800,
+ 0x00001980, 0x000004e3, 0x0000e583, 0x06c00000, 0x00008980, 0x07c00000,
+ 0x0000e180, 0x0802461b, 0x0000e084, 0x8468300b, 0x00000104, 0x00001d7c,
+ 0x00007408, 0x86d822e3, 0x0000812e, 0x87d10220, 0x0000e100, 0xddb00600,
+ 0x00004911, 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x2222a000,
+ 0x0000f900, 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc,
+ 0x00008980, 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x1df8df02,
+ 0x00000714, 0x21940f4f, 0x0000f500, 0x2578ff11, 0x00000910, 0x6280960b,
+ 0x000008a9, 0x00001f60, 0x0000f200, 0x0d003000, 0x00009980, 0x81408608,
+ 0x00001283, 0xc000000c, 0x0000ec0b, 0xceb92aec, 0x0000a00c, 0x000021a8,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502, 0x00001ce6,
+ 0x00007400, 0x09400825, 0x00001090, 0xceb92aec, 0x00002814, 0x81404608,
+ 0x00001283, 0xc000000c, 0x0000ec0b, 0xceb93eec, 0x0000a00c, 0x000021c3,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x00072827, 0x00009502, 0x00001ce6,
+ 0x00007400, 0x09c00827, 0x00001090, 0xceb93eec, 0x00002814, 0x000004e3,
+ 0x0000e583, 0x0e00c71b, 0x0000a006, 0x86ff1fe3, 0x00006100, 0x86e02404,
+ 0x0000c901, 0x04699416, 0x00008104, 0x00001e8d, 0x00007008, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x2209c800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x226ee800, 0x00007900, 0x000e1256, 0x00000980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x21ba0f4f,
+ 0x0000f500, 0x1d788f1b, 0x00008914, 0x62800010, 0x000009d0, 0x0d004000,
+ 0x00001980, 0x21bc0fdd, 0x0000f100, 0xce7926ec, 0x00002004, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x00001ce6,
+ 0x00007400, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x000004e3,
+ 0x0000e583, 0x84bf1fe3, 0x00008900, 0x44a9ae04, 0x0000810a, 0x04795f34,
+ 0x00000100, 0x00001e9a, 0x00007008, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980, 0x2269c000,
+ 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x21d50f4f, 0x0000f500, 0x1d79a712,
+ 0x00000914, 0xa2807800, 0x00006180, 0x2501582b, 0x00004900, 0x000021bb,
+ 0x00007200, 0x0d003800, 0x00001980, 0x01400800, 0x00001981, 0x3d001510,
+ 0x0000c290, 0xb8400408, 0x00000893, 0x8ac00408, 0x00007892, 0xf9000000,
+ 0x00009180, 0x000038ec, 0x00007902, 0x02c00000, 0x00008704, 0xffffffff,
+ 0x00007fa7, 0x0bc03c26, 0x00006000, 0x0c003c24, 0x00003000, 0x01e13424,
+ 0x00009303, 0x89a02404, 0x00006110, 0x0c019307, 0x00006116, 0x01604408,
+ 0x0000e109, 0x001a6807, 0x00006196, 0xd67a7426, 0x0000d014, 0x00383800,
+ 0x00000000, 0x000058ec, 0x00007902, 0x01c00000, 0x00008704, 0x3e400405,
+ 0x0000418a, 0x0041870c, 0x00000090, 0x3509fb05, 0x0000789b, 0x00c00001,
+ 0x00008000, 0x3501870c, 0x0000788f, 0x70c00000, 0x00001180, 0xad402608,
+ 0x00007896, 0xa9000000, 0x00009180, 0x0c005c25, 0x0000e000, 0x0bc05c24,
+ 0x0000b000, 0x01612c24, 0x00001303, 0x090046e3, 0x0000e089, 0xc000100c,
+ 0x00002413, 0x01e8380a, 0x00009988, 0x00002209, 0x00007010, 0x02281000,
+ 0x0000f900, 0x00020014, 0x00000980, 0x30e12008, 0x0000e080, 0x04202007,
+ 0x00003101, 0x203844ec, 0x0000d704, 0x00383800, 0x00000000, 0x000854ec,
+ 0x00005784, 0x00000015, 0x00000680, 0x000058ec, 0x00007902, 0x01c00000,
+ 0x00008704, 0xffffffff, 0x00007fa7, 0x0c005c27, 0x00006000, 0x0bc05c24,
+ 0x0000b000, 0x01613c24, 0x00009303, 0xc000080c, 0x0000e40b, 0xc000180c,
+ 0x00003413, 0xc009fb05, 0x00001582, 0xc141870c, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x00001cd4, 0x00007018, 0x00001cd4, 0x0000f008, 0x00080010,
+ 0x0000ed87, 0x00202010, 0x0000e886, 0x09006610, 0x0000e802, 0x00001cd4,
+ 0x0000f400, 0xa57a660a, 0x00005004, 0x00389800, 0x00000000, 0xa5b8800a,
+ 0x0000a884, 0xceb92cec, 0x0000a084, 0xc720280c, 0x0000e803, 0xffffffff,
+ 0x00007f97, 0x00072825, 0x00001502, 0x09400825, 0x00001090, 0xceb92cec,
+ 0x0000a894, 0x3509fb05, 0x0000789b, 0x00c00001, 0x00008000, 0x3501870c,
+ 0x0000788f, 0x70c00000, 0x00001180, 0x000038ec, 0x00007902, 0x02800000,
+ 0x00000704, 0xffffffff, 0x00007fa7, 0x0bc03c27, 0x0000e000, 0x0c003c24,
+ 0x00003000, 0x01e13c24, 0x00001303, 0x89e02404, 0x0000e110, 0x0c019307,
+ 0x00006116, 0x01604408, 0x0000e109, 0x001a6807, 0x00006196, 0xd67a7427,
+ 0x00005014, 0x00383800, 0x00000000, 0x000050ec, 0x0000f902, 0x01c00000,
+ 0x00008704, 0x9a800405, 0x0000428b, 0x6221870c, 0x0000888c, 0xd0002608,
+ 0x0000f896, 0xd9000000, 0x00009187, 0x0c005426, 0x00006000, 0x0bc05424,
+ 0x00003000, 0x00001cd4, 0x0000f400, 0x01213424, 0x00009303, 0xc000080c,
+ 0x0000e40b, 0xc000180c, 0x00003413, 0x89202404, 0x00001900, 0xd6408424,
+ 0x00007902, 0x01c00000, 0x00000004, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0x00172b07, 0x00007808, 0x00000000, 0x00000000, 0x00183a27,
+ 0x0000f810, 0x00000000, 0x00008020, 0x00103b29, 0x00007810, 0x00000000,
+ 0x00000060, 0xfd80802a, 0x0000780a, 0x00c00001, 0x00000010, 0x48c00408,
+ 0x0000c988, 0xf249fb05, 0x000086b7, 0x01400000, 0x00009981, 0x40001508,
+ 0x00006583, 0xc000080c, 0x0000a403, 0x007946ec, 0x0000570c, 0x00389000,
+ 0x00008000, 0x117946ec, 0x0000570c, 0x00389000, 0x00008000, 0x0000228c,
+ 0x0000f010, 0x00000408, 0x0000e583, 0xf000081a, 0x0000a401, 0x227946ec,
+ 0x0000d704, 0x0038d000, 0x00000000, 0x01c04000, 0x0000f900, 0x0005001a,
+ 0x00000980, 0x200004ec, 0x00005784, 0x00383816, 0x00002a00, 0x04000000,
+ 0x00007900, 0x0015001e, 0x00000980, 0x30e84010, 0x00006880, 0x203884ec,
+ 0x0000d704, 0x00081815, 0x00000480, 0x0429800c, 0x00009980, 0x00284010,
+ 0x00006804, 0x203884ec, 0x0000d704, 0x00199819, 0x00000080, 0x0430380c,
+ 0x00001980, 0x00002280, 0x00007410, 0x04202010, 0x0000e901, 0x003884ec,
+ 0x00005704, 0x00000000, 0x00008080, 0x01c00000, 0x00007900, 0x00040000,
+ 0x00000980, 0x00115007, 0x0000e186, 0x00195010, 0x00003186, 0x0000d007,
+ 0x00006107, 0x04194810, 0x00003187, 0x117886ec, 0x00005704, 0x00383800,
+ 0x00000000, 0xf0000807, 0x0000ec01, 0x227886ec, 0x00005704, 0x00383800,
+ 0x00000000, 0x01c00000, 0x00007900, 0x0015001e, 0x00000980, 0x04290008,
+ 0x0000e180, 0x30e84007, 0x0000e080, 0x200044ec, 0x0000d784, 0x00383812,
+ 0x00000a00, 0x00284010, 0x00006804, 0x203884ec, 0x0000d704, 0x00191811,
+ 0x00000080, 0x01f90000, 0x00007900, 0x00010010, 0x00008980, 0x04003800,
+ 0x0000f900, 0x0002001e, 0x00000980, 0x04202010, 0x00006101, 0x00284007,
+ 0x0000b004, 0x203884ec, 0x0000d704, 0x00383800, 0x00000000, 0x04301000,
+ 0x0000f900, 0x00020018, 0x00000980, 0x09c046e3, 0x00009081, 0x30e13810,
+ 0x00006880, 0x203884ec, 0x0000d704, 0x0010a019, 0x00008680, 0xcef932ec,
+ 0x0000a004, 0xffffffff, 0x00007fa7, 0x00072826, 0x00001502, 0x00001c06,
+ 0x0000f400, 0x09800826, 0x00001090, 0xcef932ec, 0x0000a814, 0x007946ec,
+ 0x0000d704, 0x00389000, 0x00008000, 0x000004ec, 0x0000d784, 0x00000016,
+ 0x0000aa80, 0x01e81000, 0x0000f900, 0x00020014, 0x00000980, 0x00000408,
+ 0x0000e583, 0x098046e3, 0x00008081, 0x8419532a, 0x00006108, 0x30e13007,
+ 0x00006080, 0x20081cec, 0x0000d784, 0x00383815, 0x00000400, 0x000022ae,
+ 0x0000f010, 0x01c00000, 0x00007900, 0x00040000, 0x00000980, 0x04194810,
+ 0x00006187, 0x00115007, 0x0000b186, 0x0000d007, 0x0000e907, 0x117886ec,
+ 0x00005704, 0x00383800, 0x00000000, 0xf0000807, 0x0000ec01, 0x227886ec,
+ 0x00005704, 0x00383800, 0x00000000, 0x01c08000, 0x0000f900, 0x0015001e,
+ 0x00000980, 0x200044ec, 0x0000d784, 0x00383812, 0x00000a00, 0x200914ec,
+ 0x0000d784, 0x04591811, 0x00000080, 0x04003800, 0x0000f900, 0x0002001e,
+ 0x00000980, 0x04202010, 0x0000e901, 0x203884ec, 0x0000d704, 0x00191011,
+ 0x00000280, 0x40000d08, 0x00009583, 0x0428380a, 0x00009990, 0x04202010,
+ 0x00006911, 0x000022d3, 0x0000f008, 0x00001c06, 0x0000f200, 0x203884ec,
+ 0x0000d704, 0x00095019, 0x00000680, 0x000004e3, 0x0000e583, 0x06ff1fe3,
+ 0x00008901, 0x86fa7304, 0x00008104, 0xc6da6b4d, 0x0000e100, 0xddb00600,
+ 0x00004911, 0x000020d2, 0x0000f008, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x220f0800, 0x00007900, 0x003884ca, 0x00000980, 0x2263e800,
+ 0x0000f900, 0x001b7e4e, 0x00008980, 0x9da80500, 0x00006101, 0x08001a76,
+ 0x00006106, 0x1df8df02, 0x00000714, 0x22c70f4f, 0x0000f500, 0x2540074e,
+ 0x00008990, 0xa2812000, 0x00001980, 0x22c90fdd, 0x0000f300, 0x0d00a000,
+ 0x00009980, 0xce7936ec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072826, 0x00001502, 0x09800826, 0x00001090, 0xce7936ec,
+ 0x0000a814, 0x3509fb05, 0x0000789b, 0x00c00001, 0x00008000, 0x3501870c,
+ 0x0000788f, 0x70c00000, 0x00001180, 0x81c002ec, 0x00005684, 0x00400000,
+ 0x00008000, 0x01c00000, 0x0000e180, 0x0010d810, 0x00006186, 0x0410d007,
+ 0x0000e187, 0x0418d810, 0x0000b187, 0x81f884ec, 0x0000d604, 0x00383800,
+ 0x00000000, 0xffffffff, 0x00007ff7, 0xffffffff, 0x00007ff7, 0x81f83aec,
+ 0x0000a684, 0xffffffff, 0x00007fa7, 0x01e8380a, 0x00006180, 0x89401407,
+ 0x00004880, 0x4b412625, 0x00007902, 0x08c00000, 0x00000004, 0x4b811025,
+ 0x00007902, 0x08400000, 0x00008004, 0x4b80fa25, 0x00007902, 0x06c00000,
+ 0x00008004, 0x4b80d425, 0x00007902, 0x04400000, 0x00008004, 0x04202007,
+ 0x0000e901, 0x200384ec, 0x0000d784, 0x0038381a, 0x00008000, 0x003924ec,
+ 0x0000d704, 0x00391800, 0x00000000, 0x003914ec, 0x0000d704, 0x00390800,
+ 0x00008000, 0x0038fcec, 0x00005704, 0x0038d800, 0x00008000, 0x0038d4ec,
+ 0x00005704, 0x00388800, 0x00008000, 0x01f0d800, 0x00007900, 0x00020018,
+ 0x00000980, 0x00001c06, 0x0000f400, 0x200924ec, 0x0000d784, 0x00383815,
+ 0x00000400, 0x000994ec, 0x0000d784, 0x00000019, 0x00008280, 0xceb93cec,
+ 0x0000a004, 0xc720280c, 0x0000e803, 0xffffffff, 0x00007f97, 0x00072827,
+ 0x00009502, 0x00001cd4, 0x0000f400, 0x09c00827, 0x00001090, 0xceb93cec,
+ 0x0000a814, 0x0c805c26, 0x00006802, 0x01400c26, 0x00001283, 0x81420608,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x00001bb9, 0x0000f008, 0x00001bcd,
+ 0x0000f008, 0x000004e3, 0x0000e583, 0x04400000, 0x00008980, 0x849822e3,
+ 0x0000810a, 0x84a26933, 0x00008104, 0x00001f1f, 0x00007008, 0x22800000,
+ 0x00007900, 0x00014000, 0x00008980, 0x22039800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1d7a6712,
+ 0x00000914, 0x231a0f4f, 0x00007500, 0x25009f11, 0x000008a9, 0xa2a05c0b,
+ 0x00001901, 0x231c0fdd, 0x0000f300, 0x0d009800, 0x00001980, 0xce7936ec,
+ 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072826,
+ 0x00001502, 0x09800826, 0x00001090, 0xce7936ec, 0x0000a814, 0xd040150d,
+ 0x0000788e, 0x78c00000, 0x00008d8d, 0x000004e3, 0x0000e583, 0x04400000,
+ 0x00008980, 0x849822e3, 0x0000810a, 0x84a26933, 0x00008104, 0x00001f1f,
+ 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22039800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x23360f4f, 0x0000f500, 0x1d7a6712, 0x00000914, 0xa2809800,
+ 0x0000e180, 0x25008811, 0x00004900, 0x23380fdd, 0x0000f300, 0x0d009800,
+ 0x00001980, 0xce7936ec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072826, 0x00001502, 0x09800826, 0x00001090, 0xce7936ec,
+ 0x0000a814, 0xd040150d, 0x0000788e, 0x78c00000, 0x00008d8d, 0x000004e3,
+ 0x0000e583, 0x06ff1fe3, 0x00008901, 0x86fa7304, 0x00008104, 0xc6da6b4d,
+ 0x00009900, 0x0000234b, 0x0000f010, 0x02000000, 0x0000e180, 0x01000020,
+ 0x00004980, 0x000020d7, 0x0000f400, 0x03955800, 0x00007900, 0x003884cc,
+ 0x00000980, 0x81012000, 0x00001980, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x22155800, 0x0000f900, 0x003884cc, 0x00000980, 0x2263e800,
+ 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x23570f4f, 0x00007500, 0x1d7a771b,
+ 0x00008914, 0x62800024, 0x000089d0, 0x23590fdd, 0x00007300, 0x0d00a000,
+ 0x00009980, 0xce792eec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072825, 0x00001502, 0x00001cd4, 0x0000f400, 0x09400825,
+ 0x00001090, 0xce792eec, 0x0000a814, 0x81408608, 0x00001283, 0xc000000c,
+ 0x0000ec0b, 0xceb92aec, 0x0000a00c, 0x0000237b, 0x0000f010, 0xffffffff,
+ 0x00007f97, 0x00072825, 0x00001502, 0x00001b35, 0x00007400, 0x09400825,
+ 0x00001090, 0xceb92aec, 0x00002814, 0x41c20518, 0x0000e283, 0x0c40c426,
+ 0x00002000, 0x09401426, 0x00009081, 0x09401000, 0x00006191, 0x41212844,
+ 0x0000e002, 0x09400800, 0x00001989, 0x00001d0c, 0x00007400, 0xffffffff,
+ 0x00007f86, 0xe7a12849, 0x0000e803, 0x81404608, 0x00001283, 0xc000000c,
+ 0x0000ec0b, 0xceb926ec, 0x0000a00c, 0x00002396, 0x0000f010, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x00001b35, 0x00007400, 0x09000824,
+ 0x00001090, 0xceb926ec, 0x00002814, 0x000004e3, 0x0000e583, 0x0e00c71b,
+ 0x0000a006, 0x86ff1fe3, 0x00006100, 0x86e02404, 0x0000c901, 0x0449b416,
+ 0x00000106, 0x00001e8d, 0x00007008, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x2209c800, 0x00007900, 0x00151b50, 0x00000980, 0x226ee800,
+ 0x00007900, 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x238d0f4f, 0x0000f500, 0x1d788f1b,
+ 0x00008914, 0x62800010, 0x000009d0, 0x0d004000, 0x00001980, 0x238f0fdd,
+ 0x00007100, 0xce793eec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072827, 0x00009502, 0x00001b35, 0x00007400, 0x09c00827,
+ 0x00001090, 0xce793eec, 0x00002814, 0x000004e3, 0x0000e583, 0x84bf1fe3,
+ 0x00008900, 0x44a9ae04, 0x0000810a, 0x04795f34, 0x00000100, 0x00001e9a,
+ 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2207a800,
+ 0x0000f900, 0x00151b50, 0x00000980, 0x2269c000, 0x0000f900, 0x003be25c,
+ 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x23a80f4f, 0x00007500, 0x1d79a712, 0x00000914, 0xa2807800,
+ 0x00006180, 0x2501582b, 0x00004900, 0x0000238e, 0x0000f200, 0x0d003800,
+ 0x00001980, 0x0e424421, 0x0000e000, 0x0f80ec25, 0x0000b000, 0x00000421,
+ 0x00006583, 0x01610c25, 0x00000301, 0x08025424, 0x0000e894, 0x8b413607,
+ 0x0000f902, 0x08c00000, 0x00000004, 0x000023b6, 0x0000f210, 0xc1a12220,
+ 0x0000e110, 0x08024407, 0x0000a08c, 0xffffffff, 0x00007f86, 0xc1a03a20,
+ 0x00001100, 0x0d41340b, 0x00006800, 0x24800635, 0x0000f893, 0x01000001,
+ 0x00000000, 0x1bc0040b, 0x00007893, 0x01000001, 0x00000000, 0xa7401426,
+ 0x00004390, 0x00413506, 0x00000018, 0x00860526, 0x0000458f, 0x31e08535,
+ 0x00000896, 0x65810623, 0x00007897, 0x29000000, 0x00001289, 0x04c00000,
+ 0x0000e180, 0x6601080d, 0x0000e000, 0x0300080c, 0x00006380, 0x7601080d,
+ 0x0000a000, 0x04000000, 0x000081c4, 0x04800000, 0x00006180, 0x02110220,
+ 0x00004900, 0xc4e0e41c, 0x0000e101, 0x02c00c1c, 0x0000c880, 0x00005808,
+ 0x0000f810, 0x00000000, 0x00000000, 0x10420521, 0x0000788f, 0x01000001,
+ 0x00000060, 0x0bc0150d, 0x00007897, 0x01000001, 0x00008080, 0xffffffff,
+ 0x00007f86, 0x00000421, 0x00009583, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x0000243a, 0x00007010, 0x00000405, 0x00006583, 0x11000000,
+ 0x00008980, 0x0ac0a014, 0x0000e100, 0x7140c044, 0x0000e000, 0x0b08b415,
+ 0x0000830a, 0x0000254f, 0x0000f210, 0x11800000, 0x000084dc, 0x00000425,
+ 0x0000e583, 0x11004044, 0x00000380, 0x1140d01a, 0x00006100, 0x80005844,
+ 0x0000e406, 0xa740c044, 0x0000e800, 0x00002424, 0x0000f210, 0xd110da1b,
+ 0x00009900, 0x0200141d, 0x00006281, 0x40000844, 0x0000a402, 0x02212c08,
+ 0x0000e303, 0x91972ae5, 0x00000900, 0x0c40c424, 0x0000e010, 0x02000049,
+ 0x0000b597, 0x09001424, 0x0000e091, 0x8000e048, 0x00002092, 0x41212044,
+ 0x0000e012, 0x0000e049, 0x0000b193, 0x00001418, 0x0000f894, 0x00000000,
+ 0x00000000, 0xfcc07d18, 0x0000788e, 0x01000001, 0x00000060, 0x01004526,
+ 0x0000c58c, 0x80800609, 0x00000e94, 0x81801635, 0x00009283, 0x8200131b,
+ 0x00009890, 0x86504219, 0x00006110, 0xc658ca08, 0x00008010, 0x42004526,
+ 0x00009283, 0x000024d8, 0x00007013, 0x0d413404, 0x0000e000, 0x0801ac07,
+ 0x00003002, 0x09006408, 0x00006802, 0x42800408, 0x0000f88b, 0x01000001,
+ 0x00000000, 0x00000404, 0x00007888, 0x00000000, 0x00000000, 0x00000c08,
+ 0x0000788a, 0x00000000, 0x00008020, 0x14401407, 0x00004a89, 0x35401407,
+ 0x00009595, 0xffffffff, 0x00007f86, 0x56c05806, 0x0000f902, 0x02800000,
+ 0x00000000, 0x56804206, 0x0000f902, 0x01c00000, 0x00008000, 0xffffffff,
+ 0x00007f97, 0x02c05b1b, 0x00001002, 0x02004219, 0x0000e002, 0x0280000a,
+ 0x00000084, 0x00000405, 0x00006583, 0x01c00007, 0x00000084, 0x56f85806,
+ 0x00005000, 0x00385000, 0x00008000, 0x56b84206, 0x00005000, 0x00383800,
+ 0x00000000, 0x000024be, 0x00007010, 0x01c00000, 0x00007900, 0x001f0000,
+ 0x00000980, 0x41810518, 0x00006283, 0x0018c807, 0x0000a186, 0x20383eec,
+ 0x00005600, 0x0038b800, 0x00008000, 0x01800020, 0x00006188, 0x08001a04,
+ 0x0000e10e, 0x00002571, 0x0000f010, 0x00102006, 0x00006984, 0x733830ec,
+ 0x0000d600, 0x00000000, 0x00008080, 0x001018ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0x00908eec, 0x00005f80, 0x00007000, 0x00008084, 0x02000c1d,
+ 0x00001283, 0x09000800, 0x0000e189, 0x09001000, 0x0000c991, 0xffffffff,
+ 0x00007f86, 0x09003747, 0x00006281, 0xe3a12048, 0x0000a002, 0x00001424,
+ 0x00001583, 0x0c40c424, 0x00006808, 0x000023e3, 0x00007400, 0x09001424,
+ 0x00001089, 0x96612047, 0x0000680b, 0x88f71ee3, 0x0000e100, 0x0cc0b40b,
+ 0x00006004, 0x00001c0b, 0x0000e583, 0x09001c0b, 0x00008281, 0x51784423,
+ 0x0000a018, 0x51784423, 0x000020b0, 0x00000421, 0x00006583, 0x02c01c24,
+ 0x00008881, 0x000023d5, 0x0000f40b, 0x09205808, 0x00009700, 0xd7612014,
+ 0x0000e805, 0x09006736, 0x00009281, 0x00002424, 0x00001583, 0x000023d5,
+ 0x00007400, 0x0a02604c, 0x00006108, 0x8a526a4d, 0x00004908, 0x0a82704e,
+ 0x0000e108, 0xca5a6b4d, 0x0000c908, 0xce7926ec, 0x0000a084, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824,
+ 0x00001090, 0xce7926ec, 0x0000a894, 0xf400150d, 0x0000f88e, 0x79000000,
+ 0x00009281, 0x0c813424, 0x0000e802, 0x02001424, 0x00001283, 0x03c08eec,
+ 0x00007912, 0x04000000, 0x00008000, 0x040058ec, 0x00007912, 0x02000000,
+ 0x00008000, 0x000023c1, 0x00007008, 0x09119a33, 0x00009900, 0x00119811,
+ 0x00007808, 0x00000000, 0x00000000, 0x00008024, 0x00007808, 0x00000000,
+ 0x00008020, 0x00005824, 0x00007808, 0x00000000, 0x00000060, 0xf0404024,
+ 0x00007812, 0x01000001, 0x00008010, 0xc0c20623, 0x0000f897, 0x01000001,
+ 0x00008080, 0x0300080c, 0x00006380, 0x6601080d, 0x00002000, 0xceb926ec,
+ 0x0000a084, 0x04c00000, 0x0000e180, 0x7601080d, 0x00006000, 0x04000000,
+ 0x0000e180, 0xc000000c, 0x0000e403, 0x04400000, 0x000001c8, 0x00072824,
+ 0x00006502, 0x02110220, 0x00008900, 0x09000824, 0x0000e090, 0x02c00c1c,
+ 0x00000880, 0xceb926ec, 0x0000a894, 0xc4e0e41c, 0x00009901, 0x00005808,
+ 0x0000f810, 0x00000000, 0x00000000, 0x10420521, 0x0000788f, 0x01000001,
+ 0x00000060, 0x0bc0150d, 0x00007897, 0x81000000, 0x0000118e, 0x08800000,
+ 0x0000f900, 0x00040000, 0x00000980, 0x00000421, 0x00006583, 0x0400b022,
+ 0x0000a107, 0x0a01b51f, 0x0000e012, 0x0801ad1f, 0x0000300a, 0x88926a4d,
+ 0x0000e110, 0x01c2604c, 0x0000c910, 0x88914a29, 0x0000e108, 0x01c14028,
+ 0x0000c908, 0xc201870c, 0x00006283, 0x0800b208, 0x00002106, 0xc2400000,
+ 0x0000e181, 0x04803807, 0x00004910, 0x04411022, 0x00001910, 0x00002490,
+ 0x00007008, 0x42c08526, 0x00009283, 0xc2400800, 0x00009989, 0x000027cd,
+ 0x00007011, 0xc009fb05, 0x00001582, 0x0000263f, 0x0000701b, 0xa540860a,
+ 0x00007902, 0x02c00000, 0x00000004, 0xa5b8400a, 0x00002084, 0x82400000,
+ 0x00001981, 0xffffffff, 0x00007f86, 0x00003810, 0x00001502, 0x0001100b,
+ 0x00009502, 0x00202408, 0x00009503, 0x00002640, 0x00007010, 0x00002640,
+ 0x00007010, 0x00002640, 0x00007010, 0xc730400c, 0x0000e803, 0x000023bb,
+ 0x0000f200, 0x82400800, 0x00009981, 0x80040635, 0x0000e583, 0xc3f1ae35,
+ 0x00008901, 0x0931ae35, 0x0000e111, 0xc3c00000, 0x00004989, 0x000023b9,
+ 0x0000f009, 0x0203e824, 0x00009282, 0x09007d18, 0x00009289, 0x000025e9,
+ 0x0000f011, 0xf2600c24, 0x0000c288, 0x3c401424, 0x00000989, 0x7cc08623,
+ 0x00007897, 0x09000000, 0x0000928f, 0x00000421, 0x00006583, 0x85999332,
+ 0x00000900, 0x8591b236, 0x00006110, 0x4340150d, 0x0000c381, 0xeec0040b,
+ 0x0000f88a, 0x79000000, 0x00001283, 0x56c05806, 0x0000f902, 0x02800000,
+ 0x00000000, 0x56804206, 0x0000f902, 0x01c00000, 0x00008000, 0xe380aa09,
+ 0x00007902, 0x05000000, 0x00008004, 0xe340e409, 0x00007902, 0x06800000,
+ 0x00000004, 0x02c05b1b, 0x00001002, 0x02004219, 0x0000e002, 0x0280000a,
+ 0x00000084, 0x0540ab1b, 0x0000e002, 0x01c00007, 0x00000084, 0x0700e219,
+ 0x0000e002, 0x05000014, 0x00000084, 0x00000405, 0x00006583, 0x0680001a,
+ 0x00000084, 0x56f85806, 0x00005000, 0x00385000, 0x00008000, 0x56b84206,
+ 0x00005000, 0x00383800, 0x00000000, 0x00002414, 0x0000f408, 0xe3b8aa09,
+ 0x00005004, 0x0038a000, 0x00008000, 0xe378e409, 0x00005004, 0x0038d000,
+ 0x00000000, 0x0c825c08, 0x0000e802, 0x89204408, 0x00001900, 0x80001224,
+ 0x00001582, 0x89003209, 0x00006088, 0x88c04a09, 0x00008088, 0x000024c9,
+ 0x0000f009, 0x80001a24, 0x00009582, 0x88c05209, 0x0000e088, 0x89003a09,
+ 0x00008088, 0x89004209, 0x0000e090, 0x88c05a09, 0x00000090, 0xffffffff,
+ 0x00007f86, 0xe3403c23, 0x0000f902, 0x01800000, 0x00008004, 0xe3404c24,
+ 0x0000f902, 0x02000000, 0x00000004, 0xffffffff, 0x00007f97, 0x01c03b1b,
+ 0x00001002, 0x02404a19, 0x0000e002, 0x01800006, 0x00000084, 0x02000008,
+ 0x00009084, 0x00002414, 0x00007400, 0xe3783c23, 0x0000d004, 0x00383000,
+ 0x00008000, 0xe3784c24, 0x0000d004, 0x00384000, 0x00000000, 0x80000609,
+ 0x00009583, 0x000023f9, 0x0000f013, 0x81800800, 0x00009981, 0xe620151f,
+ 0x00004290, 0xbe400709, 0x00008989, 0xe9000709, 0x0000788b, 0x19000000,
+ 0x0000938a, 0x000058ec, 0x00007902, 0x02000000, 0x00008704, 0x9ce00606,
+ 0x0000418a, 0x0041870c, 0x00000090, 0xe2c9fb05, 0x0000459a, 0x7161870c,
+ 0x00000288, 0xdf002623, 0x00007897, 0x79000000, 0x0000938a, 0x0c005c24,
+ 0x00006000, 0x0bc05c23, 0x00003000, 0x02212423, 0x00009303, 0x08c046e3,
+ 0x00006089, 0xc000100c, 0x00002413, 0x0228380a, 0x00009988, 0x000024fe,
+ 0x0000f010, 0x02e81000, 0x0000f900, 0x00020014, 0x00000980, 0x30e1180b,
+ 0x00006080, 0x04202008, 0x00003101, 0x20385cec, 0x0000d704, 0x00384000,
+ 0x00000000, 0x000854ec, 0x00005784, 0x00000015, 0x00000680, 0x000058ec,
+ 0x00007902, 0x02000000, 0x00008704, 0xffffffff, 0x00007fa7, 0x0c005c24,
+ 0x00006000, 0x0bc05c23, 0x00003000, 0x02212423, 0x00009303, 0xc000080c,
+ 0x0000e40b, 0xc000180c, 0x00003413, 0xc009fb05, 0x00001582, 0xc141870c,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x000023f9, 0x00007018, 0x000023f9,
+ 0x0000f008, 0x0008001f, 0x0000ed87, 0x0020201f, 0x0000e886, 0x0900661f,
+ 0x0000e802, 0x000023f9, 0x0000f400, 0xa5783e0a, 0x00005004, 0x00391000,
+ 0x00008000, 0xa5b8f80a, 0x0000a884, 0x82003206, 0x00009080, 0x56803a08,
+ 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x01c03b1b,
+ 0x00001002, 0x00000405, 0x00006583, 0x01800006, 0x00000084, 0x56b83a08,
+ 0x0000d000, 0x00383000, 0x00008000, 0x0c825c24, 0x0000e812, 0x00002414,
+ 0x00007008, 0x82e12424, 0x00009900, 0x8000120b, 0x00009582, 0x82c06209,
+ 0x00001088, 0x0000251c, 0x0000f009, 0x80001a0b, 0x00001582, 0x82c07209,
+ 0x00006090, 0x82c06a09, 0x00000088, 0xffffffff, 0x00007f86, 0xe3403c0b,
+ 0x0000f902, 0x01800000, 0x00008004, 0xffffffff, 0x00007fa7, 0x01c03b1b,
+ 0x00001002, 0x00002414, 0x00007400, 0x01800006, 0x00009084, 0xe3783c0b,
+ 0x0000d004, 0x00383000, 0x00008000, 0xcef920ec, 0x00002084, 0x0300080c,
+ 0x00006380, 0x6601080d, 0x00002000, 0x04c00000, 0x0000e180, 0x7601080d,
+ 0x00006000, 0x04000000, 0x0000e180, 0xc000000c, 0x0000e403, 0x00072824,
+ 0x00006502, 0x04400000, 0x00008980, 0x09000824, 0x0000e090, 0x04800000,
+ 0x00008980, 0xcef920ec, 0x00002894, 0x02110220, 0x00006100, 0x02c00c1c,
+ 0x0000c880, 0xc4e0e41c, 0x00009901, 0x00005808, 0x0000f810, 0x00000000,
+ 0x00000000, 0x10420521, 0x0000788f, 0x01000001, 0x00000060, 0x0bc0150d,
+ 0x00007897, 0x81000000, 0x0000118e, 0xceb920ec, 0x0000a084, 0x0300080c,
+ 0x00006380, 0x6601080d, 0x00002000, 0x04c00000, 0x0000e180, 0x7601080d,
+ 0x00006000, 0x04000000, 0x0000e180, 0xc000000c, 0x0000e403, 0x00072824,
+ 0x00006502, 0x04400000, 0x00008980, 0x09000824, 0x0000e090, 0x04800000,
+ 0x00008980, 0xceb920ec, 0x0000a894, 0x02110220, 0x00006100, 0x02c00c1c,
+ 0x0000c880, 0xc4e0e41c, 0x00009901, 0x00005808, 0x0000f810, 0x00000000,
+ 0x00000000, 0x10420521, 0x0000788f, 0x01000001, 0x00000060, 0x0bc0150d,
+ 0x00007897, 0x81000000, 0x0000118e, 0x00000418, 0x00009583, 0x00000425,
+ 0x0000e583, 0x90000847, 0x0000a44b, 0x1140d01a, 0x0000e108, 0x11004044,
+ 0x00004388, 0xb0000847, 0x0000e409, 0x80005844, 0x0000340e, 0x000025cf,
+ 0x0000f010, 0xa740c044, 0x00006000, 0xe0001847, 0x00003403, 0xd110da1b,
+ 0x00009900, 0xf8c00425, 0x0000788a, 0x21000000, 0x00001281, 0x00000c07,
+ 0x00009583, 0x88c02206, 0x00006088, 0x88c02a06, 0x00008090, 0x89001206,
+ 0x0000e090, 0x89000a06, 0x00008088, 0x56803a23, 0x00007902, 0x01800000,
+ 0x00000000, 0x56805224, 0x00007902, 0x02000000, 0x00008000, 0xffffffff,
+ 0x00007f97, 0x01c03b1b, 0x00001002, 0x02805219, 0x0000e002, 0x01800006,
+ 0x00000084, 0x00000405, 0x00006583, 0x02000008, 0x00000084, 0x56b83a23,
+ 0x0000d000, 0x00383000, 0x00008000, 0x56b85224, 0x0000d000, 0x00384000,
+ 0x00000000, 0x00002414, 0x00007008, 0x000024be, 0x0000f000, 0x41400d05,
+ 0x00009283, 0x15001000, 0x00007910, 0x00008000, 0x00000980, 0x15580800,
+ 0x0000f910, 0x00044040, 0x00000980, 0x00002584, 0x0000f008, 0x15c00000,
+ 0x000085e8, 0x15801002, 0x0000e100, 0x00001857, 0x00006106, 0x16020000,
+ 0x0000f900, 0x00040000, 0x00000980, 0x001018ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0x16420000, 0x0000e180, 0xc0001857, 0x0000e006, 0x16e12000,
+ 0x000080f2, 0x56a8c416, 0x00008528, 0x00908eec, 0x00005f80, 0x00d07540,
+ 0x00000184, 0x01800020, 0x0000e180, 0x08001a23, 0x00006106, 0x15d00002,
+ 0x0000e180, 0x00111806, 0x0000e184, 0x15800000, 0x00006180, 0x00282057,
+ 0x0000e080, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080, 0x8440b057,
+ 0x0000e000, 0x00182056, 0x00003100, 0x001018ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0x15083804, 0x00006180, 0x0000b057, 0x0000e085, 0x1560b800,
+ 0x000000f2, 0xd598c318, 0x00009900, 0x00908eec, 0x00005f80, 0x00d07540,
+ 0x000000c4, 0x000004e3, 0x0000e583, 0x04400000, 0x00008980, 0x02c00000,
+ 0x0000e180, 0x08024611, 0x0000e084, 0x84283026, 0x00000100, 0x000025ab,
+ 0x0000f410, 0x845822e3, 0x00008106, 0x82d10220, 0x0000e100, 0xc3300600,
+ 0x0000c909, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03a2a000,
+ 0x00007900, 0x00151b4e, 0x00000980, 0x03d07800, 0x00007900, 0x0032d3fc,
+ 0x00008980, 0x83280500, 0x0000e101, 0x08001a0c, 0x0000e106, 0x03788f02,
+ 0x00000108, 0x25ab0f22, 0x0000f500, 0x02b85f10, 0x00008020, 0x81009000,
+ 0x00001980, 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x2222a000,
+ 0x0000f900, 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x1d788711, 0x00000914, 0x25b80f4f, 0x0000f500, 0x2500970b,
+ 0x000008a9, 0xa2a13426, 0x00001901, 0x25ba0fdd, 0x0000f300, 0x0d003000,
+ 0x00009980, 0xce7926ec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xce7926ec,
+ 0x00002814, 0x04c00000, 0x0000e180, 0x6601080d, 0x0000e000, 0x0300080c,
+ 0x00006380, 0x7601080d, 0x0000a000, 0x04000000, 0x000081c4, 0x04800000,
+ 0x00006180, 0x02110220, 0x00004900, 0xc4e0e41c, 0x0000e101, 0x02c00c1c,
+ 0x0000c880, 0x00005808, 0x0000f810, 0x00000000, 0x00000000, 0x10420521,
+ 0x0000788f, 0x01000001, 0x00000060, 0x0bc0150d, 0x00007897, 0x81000000,
+ 0x0000118e, 0x11004044, 0x00006380, 0x12840000, 0x00008980, 0xe240e84b,
+ 0x00006002, 0x80005844, 0x0000b406, 0x0002404a, 0x0000e084, 0xb0000847,
+ 0x00003401, 0xa740c044, 0x00006000, 0x00040048, 0x0000b486, 0x4000051d,
+ 0x00006583, 0x0018e84b, 0x00002182, 0x0028e848, 0x00006084, 0xe0001847,
+ 0x00003403, 0x1140d01a, 0x00006100, 0x0740e835, 0x00006012, 0x5288f11e,
+ 0x0000042a, 0xd110da1b, 0x00009900, 0xf8c00425, 0x0000788a, 0x21000000,
+ 0x00001281, 0xceb922ec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb922ec,
+ 0x0000a814, 0xeec0040b, 0x0000f88a, 0x79000000, 0x00001283, 0x82004623,
+ 0x00009283, 0xc000000c, 0x0000ec0b, 0xceb926ec, 0x0000a00c, 0x00002608,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824,
+ 0x00001090, 0xceb926ec, 0x00002814, 0xeec0040b, 0x0000f88a, 0x79000000,
+ 0x00001283, 0x00000421, 0x00006583, 0x0e00c712, 0x0000a006, 0x8911b236,
+ 0x0000e110, 0x89199332, 0x0000c908, 0x000004e3, 0x0000e583, 0x84bf1fe3,
+ 0x00008900, 0x44a0b604, 0x00000104, 0xc4512224, 0x0000e100, 0xc3300600,
+ 0x0000c909, 0x00002618, 0x0000f010, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x0389c800, 0x0000f900, 0x00151b50, 0x00000980, 0x03eee800,
+ 0x0000f900, 0x000e1256, 0x00000980, 0x83280500, 0x0000e101, 0x08001a0c,
+ 0x0000e106, 0x26080f22, 0x0000f500, 0x03788f02, 0x00000028, 0x41000010,
+ 0x000000e0, 0x000004e3, 0x0000e583, 0x84bf1fe3, 0x00008900, 0x44a9ae04,
+ 0x0000810a, 0x01000000, 0x0000f908, 0x00014040, 0x00000980, 0x0000262e,
+ 0x0000f010, 0x0387a800, 0x00007900, 0x00151b50, 0x00000980, 0x03e9c000,
+ 0x00007900, 0x003be25c, 0x00000980, 0x81007800, 0x00006180, 0x08001a0c,
+ 0x0000e106, 0x83200500, 0x00008032, 0x26180f22, 0x00007500, 0x0379a702,
+ 0x00008028, 0x0201582b, 0x00001900, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x2209c800, 0x00007900, 0x00151b50, 0x00000980, 0x226ee800,
+ 0x00007900, 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x26240f4f, 0x0000f500, 0x1d788f12,
+ 0x00008914, 0x62800010, 0x000009d0, 0x0d004000, 0x00001980, 0x26260fdd,
+ 0x00007100, 0xce7926ec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xce7926ec,
+ 0x00002814, 0xeec0040b, 0x0000f88a, 0x79000000, 0x00001283, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50,
+ 0x00000980, 0x2269c000, 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x263b0f4f,
+ 0x00007500, 0x1d79a712, 0x00000914, 0xa2807800, 0x00006180, 0x2501582b,
+ 0x00004900, 0x00002625, 0x00007200, 0x0d003800, 0x00001980, 0xc0000709,
+ 0x00009583, 0x00002482, 0x00007013, 0x82400000, 0x00001981, 0x4000151f,
+ 0x00006583, 0xc000080c, 0x0000a403, 0x00783eec, 0x0000d70c, 0x00391000,
+ 0x00008000, 0x11783eec, 0x0000d70c, 0x00391000, 0x00008000, 0x00002685,
+ 0x00007010, 0xc0000709, 0x00006583, 0xf0000811, 0x00002401, 0x22783eec,
+ 0x00005704, 0x00388800, 0x00008000, 0x02004000, 0x0000f900, 0x0005001a,
+ 0x00000980, 0x200004ec, 0x00005784, 0x00384016, 0x00002a00, 0x02c00000,
+ 0x00007900, 0x0015001e, 0x00000980, 0x30e8f80b, 0x00006880, 0x20385cec,
+ 0x0000d704, 0x00081815, 0x00000480, 0x02e9800c, 0x00009980, 0x0028f80b,
+ 0x00006804, 0x20385cec, 0x0000d704, 0x00199819, 0x00000080, 0x02f0380c,
+ 0x00001980, 0x00002679, 0x0000f410, 0x0420200b, 0x0000e901, 0x00385cec,
+ 0x00005704, 0x00000000, 0x00008080, 0x02000000, 0x00007900, 0x00040000,
+ 0x00000980, 0x00000421, 0x00009583, 0x00127008, 0x0000e196, 0x001a700b,
+ 0x00003196, 0x89194b29, 0x0000e108, 0x891a6b4d, 0x0000c910, 0x0019500b,
+ 0x0000e18e, 0x00115008, 0x0000318e, 0xffffffff, 0x00007f86, 0x0411200b,
+ 0x00006187, 0x00008808, 0x0000b107, 0x11785eec, 0x00005704, 0x00384000,
+ 0x00000000, 0xf0000808, 0x0000ec01, 0x22785eec, 0x00005704, 0x00384000,
+ 0x00000000, 0x02008000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec,
+ 0x0000d784, 0x00384012, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811,
+ 0x00000080, 0x02c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x0420200b,
+ 0x0000e901, 0x20385cec, 0x0000d704, 0x00191011, 0x00000280, 0x04301000,
+ 0x0000f900, 0x00020018, 0x00000980, 0x02c046e3, 0x00001081, 0x30e05810,
+ 0x0000e880, 0x203884ec, 0x0000d704, 0x0010a019, 0x00008680, 0xcef922ec,
+ 0x00002004, 0xffffffff, 0x00007fa7, 0x00072824, 0x00009502, 0x000023bb,
+ 0x0000f400, 0x09000824, 0x00001090, 0xcef922ec, 0x00002814, 0x00783eec,
+ 0x00005704, 0x00391000, 0x00008000, 0x000004ec, 0x0000d784, 0x00000016,
+ 0x0000aa80, 0x02281000, 0x0000f900, 0x00020014, 0x00000980, 0xc0000709,
+ 0x00006583, 0x090046e3, 0x00000081, 0x30e12008, 0x00006880, 0x20081cec,
+ 0x0000d784, 0x00384015, 0x00000400, 0x000026ad, 0x00007010, 0x02000000,
+ 0x00007900, 0x00040000, 0x00000980, 0x00000421, 0x00009583, 0x00127008,
+ 0x0000e196, 0x001a700b, 0x00003196, 0x89194b29, 0x0000e108, 0x891a6b4d,
+ 0x0000c910, 0x0019500b, 0x0000e18e, 0x00115008, 0x0000318e, 0xffffffff,
+ 0x00007f86, 0x0411200b, 0x00006187, 0x00008808, 0x0000b107, 0x11785eec,
+ 0x00005704, 0x00384000, 0x00000000, 0xf0000808, 0x0000ec01, 0x22785eec,
+ 0x00005704, 0x00384000, 0x00000000, 0x02008000, 0x0000f900, 0x0015001e,
+ 0x00000980, 0x200044ec, 0x0000d784, 0x00384012, 0x00000a00, 0x200914ec,
+ 0x0000d784, 0x04591811, 0x00000080, 0x02c03800, 0x0000f900, 0x0002001e,
+ 0x00000980, 0x0420200b, 0x0000e901, 0x20385cec, 0x0000d704, 0x00191011,
+ 0x00000280, 0x40000d1f, 0x00009583, 0x02e8380a, 0x00009990, 0x0420200b,
+ 0x00006911, 0x000026b4, 0x0000f008, 0x000023bb, 0x0000f200, 0x20385cec,
+ 0x0000d704, 0x00095019, 0x00000680, 0x81c002ec, 0x00005684, 0x00400000,
+ 0x00008000, 0x02000000, 0x0000e180, 0x0010900b, 0x00006186, 0x04108808,
+ 0x00006187, 0x0418900b, 0x0000b187, 0x81f85cec, 0x0000d604, 0x00384000,
+ 0x00000000, 0xffffffff, 0x00007ff7, 0xffffffff, 0x00007ff7, 0x81f842ec,
+ 0x0000a684, 0xffffffff, 0x00007fa7, 0x0228380a, 0x00006180, 0x89001408,
+ 0x0000c880, 0x4b41be24, 0x00007902, 0x0d000000, 0x00000004, 0x4b815824,
+ 0x0000f902, 0x09c00000, 0x00008004, 0x4b809a24, 0x0000f902, 0x04800000,
+ 0x00008004, 0x4b808c24, 0x00007902, 0x04000000, 0x00000004, 0x04202008,
+ 0x0000e901, 0x200384ec, 0x0000d784, 0x0038401a, 0x00008000, 0x0039bcec,
+ 0x00005704, 0x0039a000, 0x00000000, 0x00395cec, 0x0000d704, 0x00393800,
+ 0x00008000, 0x00389cec, 0x00005704, 0x00389000, 0x00008000, 0x00388cec,
+ 0x0000d704, 0x00388000, 0x00000000, 0x0230d800, 0x00007900, 0x00020018,
+ 0x00000980, 0x000023bb, 0x0000f400, 0x200924ec, 0x0000d784, 0x00384015,
+ 0x00000400, 0x000994ec, 0x0000d784, 0x00000019, 0x00008280, 0x0c813424,
+ 0x0000e802, 0x02000c24, 0x00001283, 0x81820623, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x00002449, 0x0000f008, 0x0000245b, 0x0000f008, 0x00000421,
+ 0x00006583, 0x02c00000, 0x00000980, 0x88d26a4d, 0x00006110, 0x0902604c,
+ 0x00004910, 0x88d14a29, 0x00006108, 0x09014028, 0x00004908, 0x000004e3,
+ 0x0000e583, 0x043f1fe3, 0x00000901, 0x84099b04, 0x00000102, 0x82d11a23,
+ 0x0000e100, 0xddb00600, 0x00004911, 0x0000270e, 0x0000f008, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x22039800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0x9da80500,
+ 0x00006101, 0x08001a76, 0x00006106, 0x1df88702, 0x00008714, 0x26fa0f4f,
+ 0x0000f500, 0x25785f24, 0x00000910, 0xa2809800, 0x00009980, 0x26fc0fdd,
+ 0x00007300, 0x0d009800, 0x00001980, 0xce7926ec, 0x00002004, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x000025c0,
+ 0x0000f400, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x00000421,
+ 0x00006583, 0x02c00000, 0x00000980, 0x88d26a4d, 0x00006110, 0x0902604c,
+ 0x00004910, 0x88d14a29, 0x00006108, 0x09014028, 0x00004908, 0x000004e3,
+ 0x0000e583, 0x043f1fe3, 0x00000901, 0x84099b04, 0x00000102, 0x82d11a23,
+ 0x00009900, 0x0000271b, 0x00007010, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x03839800, 0x0000f900, 0x00151b50, 0x00000980, 0x03e8a800,
+ 0x00007900, 0x000aff14, 0x00008980, 0xc3300600, 0x00006101, 0x08001a0c,
+ 0x0000e106, 0x83381400, 0x00008034, 0x271b0f22, 0x0000f500, 0x04b92710,
+ 0x00008028, 0x81009800, 0x0000e180, 0x0200580b, 0x00004900, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x22039800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x27280f4f,
+ 0x00007500, 0x1d792710, 0x00000914, 0xa2809800, 0x0000e180, 0x2500580b,
+ 0x00004900, 0x272a0fdd, 0x00007300, 0x0d009800, 0x00001980, 0xce7926ec,
+ 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x000025c0, 0x0000f400, 0x09000824, 0x00001090, 0xce7926ec,
+ 0x00002814, 0x000040ec, 0x00007902, 0x02c00000, 0x00008704, 0xffffffff,
+ 0x00007fa7, 0x0bc04424, 0x0000e000, 0x0c004423, 0x0000b000, 0x02212423,
+ 0x00009303, 0x81b84f09, 0x00006109, 0x0c019308, 0x00006116, 0x88e02404,
+ 0x00001910, 0x000024df, 0x0000f008, 0x00000421, 0x00009583, 0x001a6808,
+ 0x00006196, 0x00194808, 0x0000b18e, 0x0901502a, 0x00006108, 0x0902704e,
+ 0x00004910, 0x000024df, 0x0000f400, 0xd6784423, 0x0000a804, 0xd6792423,
+ 0x0000a884, 0x000040ec, 0x00007902, 0x01c00000, 0x00008704, 0x7f200606,
+ 0x0000c28a, 0x9241870c, 0x0000898e, 0xed802623, 0x00007897, 0xe9000000,
+ 0x0000938c, 0x0c004424, 0x00006000, 0x0bc04423, 0x00003000, 0x000023f9,
+ 0x0000f400, 0x01212423, 0x00009303, 0xc000080c, 0x0000e40b, 0xc000180c,
+ 0x00003413, 0xceb924ec, 0x00002084, 0xc730300c, 0x00006803, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb924ec,
+ 0x00002894, 0x9489fb05, 0x0000459a, 0x4a41870c, 0x00005a8f, 0x00000c07,
+ 0x00009583, 0x82c02206, 0x00006088, 0x82c02a06, 0x00008090, 0x82000a06,
+ 0x00006088, 0x82001206, 0x00000090, 0x56803a0b, 0x00007902, 0x01800000,
+ 0x00000000, 0x5680a208, 0x0000f902, 0x02800000, 0x00000000, 0x88c02209,
+ 0x00006088, 0x89000a09, 0x00008088, 0x89001209, 0x0000e090, 0x88c02a09,
+ 0x00008090, 0x01c03b1b, 0x00001002, 0x0500a219, 0x0000e002, 0x01800006,
+ 0x00000084, 0x0280000a, 0x00009084, 0x56b8a208, 0x00005000, 0x00385000,
+ 0x00008000, 0xe3405423, 0x00007902, 0x02000000, 0x00000004, 0x56b83a0b,
+ 0x0000d000, 0x00383000, 0x00008000, 0xe3403c24, 0x00007902, 0x01800000,
+ 0x00008004, 0xffffffff, 0x00007f86, 0x0280531b, 0x00001002, 0x02000008,
+ 0x00009084, 0x01c03a19, 0x00001002, 0x00000405, 0x00006583, 0x01800006,
+ 0x00000084, 0xe3785423, 0x00005004, 0x00384000, 0x00000000, 0xe3783c24,
+ 0x00005004, 0x00383000, 0x00008000, 0x00002414, 0x00007008, 0x000024be,
+ 0x0000f000, 0x00000421, 0x00006583, 0x057f1fe3, 0x00000901, 0x02c2704e,
+ 0x0000e110, 0xc55a6b4d, 0x0000c910, 0x02c1502a, 0x0000e108, 0xc5594b29,
+ 0x0000c908, 0x000004e3, 0x0000e583, 0x45602404, 0x00008901, 0x01000000,
+ 0x0000f908, 0x00014040, 0x00000980, 0x81012000, 0x0000e188, 0xc3300600,
+ 0x0000c909, 0x000027e1, 0x00007010, 0x038f0800, 0x0000f900, 0x003884ca,
+ 0x00000980, 0x03e3e800, 0x00007900, 0x001b7e4e, 0x00008980, 0x83280500,
+ 0x0000e101, 0x08001a0c, 0x0000e106, 0x27930f22, 0x0000f500, 0x0378af02,
+ 0x00008108, 0x02000000, 0x0000e180, 0x0280580b, 0x0000c900, 0x8200131b,
+ 0x00006080, 0x0c006a23, 0x00006184, 0x89104223, 0x00006100, 0x00199016,
+ 0x00002106, 0x00000421, 0x00006583, 0x0411200d, 0x00002185, 0x4340150d,
+ 0x00006381, 0x0011b016, 0x0000a116, 0xeec0040b, 0x0000f88a, 0x79000000,
+ 0x00001283, 0xceb924ec, 0x0000a004, 0xc730300c, 0x00006803, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x000023f9, 0x0000f400, 0x09000824,
+ 0x00001090, 0xceb924ec, 0x0000a814, 0x000038ec, 0x00007902, 0x02800000,
+ 0x00000704, 0xffffffff, 0x00007fa7, 0x0bc03c24, 0x0000e000, 0x0c003c23,
+ 0x0000b000, 0x01e12423, 0x00009303, 0x81b84f09, 0x00006109, 0x0c019307,
+ 0x00006116, 0x88e02404, 0x00001910, 0x00002743, 0x0000f008, 0x00000421,
+ 0x00009583, 0x001a6807, 0x00006196, 0x00194807, 0x0000b18e, 0x0901502a,
+ 0x00006108, 0x0902704e, 0x00004910, 0x00002743, 0x0000f400, 0xd6783c23,
+ 0x0000a804, 0xd6792423, 0x0000a884, 0x00000421, 0x00006583, 0x02bf1fe3,
+ 0x00008901, 0x0202704e, 0x0000e110, 0x891a6b4d, 0x0000c910, 0x0201502a,
+ 0x0000e108, 0x89194b29, 0x0000c908, 0x000004e3, 0x0000e583, 0x42a02404,
+ 0x00000901, 0xc2912224, 0x0000e100, 0xc3300600, 0x0000c909, 0x01000000,
+ 0x0000f908, 0x00014040, 0x00000980, 0x000027f9, 0x00007010, 0x03955800,
+ 0x00007900, 0x003884cc, 0x00000980, 0x03e3e800, 0x00007900, 0x001b7e4e,
+ 0x00008980, 0x81012000, 0x00006180, 0x08001a0c, 0x0000e106, 0x83381400,
+ 0x00008034, 0x27cd0f22, 0x00007500, 0x04b8470a, 0x00008028, 0x02000000,
+ 0x00009980, 0x89202404, 0x00001900, 0xd6408424, 0x00007902, 0x02c00000,
+ 0x00000004, 0xffffffff, 0x00007fa7, 0xc0172b0b, 0x00009502, 0x0000263d,
+ 0x0000700b, 0x00000421, 0x00009583, 0x0902704e, 0x00006110, 0x88da6b4d,
+ 0x00004910, 0x0901502a, 0x00006108, 0x88d94b29, 0x00004908, 0xc010430b,
+ 0x00009502, 0x80111a0b, 0x00009502, 0x00012010, 0x00009502, 0x0000263f,
+ 0x0000f010, 0x0000263f, 0x0000f010, 0x0000263f, 0x0000f010, 0xc2400800,
+ 0x00001981, 0x8fc9fb05, 0x0000f89b, 0x21000000, 0x00001284, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x220f0800, 0x00007900, 0x003884ca,
+ 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x27ed0f4f,
+ 0x00007500, 0x1d785f15, 0x00008914, 0x62800024, 0x000089d0, 0x27ef0fdd,
+ 0x00007300, 0x0d00a000, 0x00009980, 0xce7926ec, 0x00002004, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824,
+ 0x00001090, 0xce7926ec, 0x00002814, 0xfe49fb05, 0x0000f89a, 0x01000001,
+ 0x00000000, 0xfe41870c, 0x0000f88e, 0x19000000, 0x00009288, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x22155800, 0x0000f900, 0x003884cc,
+ 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x28050f4f,
+ 0x00007500, 0x1d78470a, 0x00000914, 0x62800024, 0x000089d0, 0x28070fdd,
+ 0x00007300, 0x0d00a000, 0x00009980, 0xce7926ec, 0x00002004, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x000023f9,
+ 0x0000f400, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x0e424408,
+ 0x00006000, 0x0f80ec05, 0x00003000, 0x00000408, 0x00001583, 0x08024406,
+ 0x0000e08c, 0x08025424, 0x00003094, 0x8b411607, 0x00007902, 0x07c00000,
+ 0x00000004, 0x00002818, 0x0000f210, 0xc1212220, 0x00009110, 0xc1203220,
+ 0x00001100, 0x0d411409, 0x00006800, 0x40c00635, 0x00007892, 0x01400001,
+ 0x00008000, 0x38000409, 0x0000f892, 0x01400001, 0x00008000, 0x26e01422,
+ 0x00004391, 0x00411504, 0x00000018, 0x00860522, 0x0000c58f, 0xb0a08535,
+ 0x00000995, 0x5301061f, 0x00007896, 0x11400000, 0x00001489, 0x04c00000,
+ 0x0000e180, 0x6601080d, 0x0000e000, 0x0300080c, 0x00006380, 0x7601080d,
+ 0x0000a000, 0x04000000, 0x000081c4, 0x04800000, 0x00006180, 0x01d10220,
+ 0x00004900, 0xc4e0e41c, 0x0000e101, 0x02400c1c, 0x00004880, 0x00004807,
+ 0x00007810, 0x00000000, 0x00000000, 0x2c820521, 0x0000f88e, 0x01400001,
+ 0x00008060, 0x2980150d, 0x00007896, 0x01400001, 0x00000080, 0xffffffff,
+ 0x00007f86, 0x00000408, 0x00001583, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x0000289f, 0x00007010, 0x01e04405, 0x00006303, 0x11000000,
+ 0x00008980, 0x0ac0a014, 0x0000e100, 0x7140c044, 0x0000e000, 0x0b08b415,
+ 0x0000830a, 0x00002915, 0x0000f210, 0x11800000, 0x000084dc, 0x00000405,
+ 0x00006583, 0x11004044, 0x00000380, 0x1140d01a, 0x00006100, 0x80005844,
+ 0x0000e406, 0xa740c044, 0x0000e800, 0x0000288a, 0x00007210, 0xd110da1b,
+ 0x00009900, 0x01c0141d, 0x00006281, 0x40000844, 0x0000a402, 0x01602c07,
+ 0x0000e303, 0x91972ae5, 0x00000900, 0x0c40c424, 0x0000e010, 0x02000049,
+ 0x0000b597, 0x09001424, 0x0000e091, 0x8000e048, 0x00002092, 0x0000e049,
+ 0x0000e193, 0x41212044, 0x0000b012, 0x41404522, 0x00009283, 0x00002855,
+ 0x00007013, 0x001018ec, 0x00005780, 0x00d07280, 0x000081c0, 0x00908eec,
+ 0x00005f80, 0x00007000, 0x00008084, 0x40000504, 0x00001583, 0x00002851,
+ 0x0000f013, 0x41000800, 0x00001981, 0x46401517, 0x00004291, 0xb8400508,
+ 0x00000a88, 0x9d000508, 0x0000f88a, 0x21400000, 0x00001582, 0x000048ec,
+ 0x0000f902, 0x01c00000, 0x00008704, 0x0c800504, 0x0000418b, 0x0041870c,
+ 0x00000090, 0xfe29fb05, 0x0000c59b, 0x7f01870c, 0x00008288, 0x94c0261f,
+ 0x0000f896, 0x51400000, 0x00009581, 0x0c004c24, 0x0000e000, 0x0bc04c0b,
+ 0x0000b000, 0x0161240b, 0x00001303, 0x02c046e3, 0x00006089, 0xc000100c,
+ 0x00002413, 0x01e8380a, 0x00009988, 0x0000287b, 0x00007010, 0x02281000,
+ 0x0000f900, 0x00020014, 0x00000980, 0x30e05808, 0x00006080, 0x04202007,
+ 0x00003101, 0x203844ec, 0x0000d704, 0x00383800, 0x00000000, 0x000854ec,
+ 0x00005784, 0x00000015, 0x00000680, 0x000048ec, 0x0000f902, 0x01c00000,
+ 0x00008704, 0xffffffff, 0x00007fa7, 0x0c004c24, 0x0000e000, 0x0bc04c0b,
+ 0x0000b000, 0x0161240b, 0x00001303, 0xc000080c, 0x0000e40b, 0xc000180c,
+ 0x00003413, 0xc009fb05, 0x00001582, 0xc101870c, 0x00009283, 0xffffffff,
+ 0x00007f86, 0x00002851, 0x00007018, 0x00002851, 0x0000f008, 0x00080017,
+ 0x00006d87, 0x00202017, 0x00006886, 0x09006617, 0x00006802, 0xa578360a,
+ 0x0000d004, 0x0038c800, 0x00000000, 0x001018ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0xa5b8b80a, 0x00002884, 0x00908eec, 0x00005f80, 0x00007000,
+ 0x00008084, 0x01c00c1d, 0x0000e283, 0x40000844, 0x0000a402, 0x09001000,
+ 0x0000e191, 0x09000800, 0x0000c989, 0x91972ae5, 0x0000e100, 0x01c0141d,
+ 0x0000c281, 0x09003747, 0x00006281, 0xe3a12048, 0x0000a002, 0x00001424,
+ 0x00001583, 0x0c40c424, 0x00006808, 0x09001424, 0x00001089, 0x01602c07,
+ 0x0000e303, 0x96612047, 0x0000200b, 0x0c40c424, 0x0000e010, 0x02000049,
+ 0x0000b597, 0x09001424, 0x0000e091, 0x8000e048, 0x00002092, 0x41212044,
+ 0x0000e012, 0x0000e049, 0x0000b193, 0xf6804522, 0x0000458c, 0x7b400504,
+ 0x00007b95, 0x09006736, 0x00009281, 0x00002424, 0x00001583, 0x00002837,
+ 0x0000f400, 0x0a02604c, 0x00006108, 0x8a526a4d, 0x00004908, 0x0a82704e,
+ 0x0000e108, 0xca5a6b4d, 0x0000c908, 0x82f71ee3, 0x0000e100, 0x0cc0b424,
+ 0x0000e004, 0x00001c24, 0x00006583, 0x09001c24, 0x00000281, 0x51783c0b,
+ 0x0000a018, 0x51783c0b, 0x000020b0, 0x00000408, 0x0000e583, 0x02c01c24,
+ 0x00008881, 0x00002837, 0x0000740b, 0x09205807, 0x00009700, 0xd7612014,
+ 0x0000e805, 0x0000289f, 0x0000f000, 0xce7926ec, 0x0000a084, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824,
+ 0x00001090, 0xce7926ec, 0x0000a894, 0x0c80150d, 0x0000f88e, 0x31400000,
+ 0x00009485, 0x0c811424, 0x00006802, 0x01c01424, 0x00001283, 0x03c086ec,
+ 0x0000f912, 0x02c00000, 0x00008000, 0x040048ec, 0x0000f912, 0x01c00000,
+ 0x00008000, 0x00002823, 0x0000f008, 0x09119a33, 0x00009900, 0x00119810,
+ 0x0000f808, 0x00000000, 0x00000000, 0x00005824, 0x00007808, 0x00000000,
+ 0x00008020, 0x00004824, 0x0000f808, 0x00000000, 0x00000060, 0x08c03824,
+ 0x00007812, 0x01400001, 0x00000010, 0x6842061f, 0x00007896, 0x01400001,
+ 0x00000080, 0x0300080c, 0x00006380, 0x6601080d, 0x00002000, 0xceb926ec,
+ 0x0000a084, 0x04c00000, 0x0000e180, 0x7601080d, 0x00006000, 0x04000000,
+ 0x0000e180, 0xc000000c, 0x0000e403, 0x04400000, 0x000001c8, 0x00072824,
+ 0x00006502, 0x02510220, 0x00000900, 0x09000824, 0x0000e090, 0x01c00c1c,
+ 0x00000880, 0xceb926ec, 0x0000a894, 0xc4e0e41c, 0x00009901, 0x00003809,
+ 0x00007810, 0x00000000, 0x00000000, 0x2c820521, 0x0000f88e, 0x01400001,
+ 0x00008060, 0x2980150d, 0x00007896, 0x91400000, 0x00001481, 0x06400000,
+ 0x00007900, 0x00040000, 0x00000980, 0x00000408, 0x0000e583, 0x0400b019,
+ 0x00002107, 0x0a01b517, 0x00006012, 0x0801ad17, 0x0000b00a, 0x86526a4d,
+ 0x00006110, 0x0182604c, 0x00004910, 0x86514a29, 0x00006108, 0x01814028,
+ 0x00004908, 0xc1c1870c, 0x00006283, 0x0800b210, 0x00002106, 0x42000000,
+ 0x0000e181, 0x02403006, 0x00004910, 0x01c0c819, 0x00009910, 0x00002901,
+ 0x00007008, 0x41008522, 0x00001283, 0x42000800, 0x00009989, 0x00002b69,
+ 0x0000f011, 0xc009fb05, 0x00001582, 0x00002ab5, 0x0000f01b, 0xa5408e0a,
+ 0x0000f902, 0x04000000, 0x00000004, 0xa5b8580a, 0x00002084, 0x41000000,
+ 0x00009981, 0xffffffff, 0x00007f86, 0x00003011, 0x00001502, 0x0000c810,
+ 0x00001502, 0x0020240b, 0x00009503, 0x00002ab6, 0x00007010, 0x00002ab6,
+ 0x00007010, 0x00002ab6, 0x00007010, 0xc730580c, 0x0000e803, 0x0000281d,
+ 0x00007200, 0x41000800, 0x00001981, 0x80040635, 0x0000e583, 0xc3f1ae35,
+ 0x00008901, 0x0931ae35, 0x0000e111, 0xc3c00000, 0x00004989, 0x0000281b,
+ 0x0000f009, 0x01c3e824, 0x00009282, 0x09007d18, 0x00009289, 0x00002997,
+ 0x0000f011, 0x30a00c24, 0x0000c289, 0x1e401424, 0x00000a8a, 0x6e40861f,
+ 0x00007896, 0x79400000, 0x0000948c, 0x00000408, 0x0000e583, 0x85999332,
+ 0x00000900, 0x8591b236, 0x00006110, 0x4340150d, 0x0000c381, 0x07400409,
+ 0x0000788a, 0x01400000, 0x00001487, 0x00000418, 0x00009583, 0x00000405,
+ 0x00006583, 0x90000847, 0x0000a44b, 0x1140d01a, 0x0000e108, 0x11004044,
+ 0x00004388, 0xb0000847, 0x0000e409, 0x80005844, 0x0000340e, 0x00002a1a,
+ 0x00007010, 0xa740c044, 0x00006000, 0xe0001847, 0x00003403, 0xd110da1b,
+ 0x00009900, 0x11400405, 0x0000f88a, 0x51400000, 0x00001484, 0xcef920ec,
+ 0x00002084, 0x0300080c, 0x00006380, 0x6601080d, 0x00002000, 0x04c00000,
+ 0x0000e180, 0x7601080d, 0x00006000, 0x04000000, 0x0000e180, 0xc000000c,
+ 0x0000e403, 0x00072824, 0x00006502, 0x04400000, 0x00008980, 0x09000824,
+ 0x0000e090, 0x04800000, 0x00008980, 0xcef920ec, 0x00002894, 0x02510220,
+ 0x0000e100, 0x01c00c1c, 0x0000c880, 0xc4e0e41c, 0x00009901, 0x00003809,
+ 0x00007810, 0x00000000, 0x00000000, 0x2c820521, 0x0000f88e, 0x01400001,
+ 0x00008060, 0x2980150d, 0x00007896, 0x91400000, 0x00001481, 0xceb920ec,
+ 0x0000a084, 0x0300080c, 0x00006380, 0x6601080d, 0x00002000, 0x04c00000,
+ 0x0000e180, 0x7601080d, 0x00006000, 0x04000000, 0x0000e180, 0xc000000c,
+ 0x0000e403, 0x00072824, 0x00006502, 0x04400000, 0x00008980, 0x09000824,
+ 0x0000e090, 0x04800000, 0x00008980, 0xceb920ec, 0x0000a894, 0x02510220,
+ 0x0000e100, 0x01c00c1c, 0x0000c880, 0xc4e0e41c, 0x00009901, 0x00003809,
+ 0x00007810, 0x00000000, 0x00000000, 0x2c820521, 0x0000f88e, 0x01400001,
+ 0x00008060, 0x2980150d, 0x00007896, 0x91400000, 0x00001481, 0x000004e3,
+ 0x0000e583, 0x04000000, 0x00000980, 0x02400000, 0x00006180, 0x08024610,
+ 0x00006084, 0x82e82022, 0x0000002c, 0x00002961, 0x0000f410, 0x841822e3,
+ 0x00008102, 0x82510220, 0x00006100, 0xc3300600, 0x0000c909, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x03a2a000, 0x00007900, 0x00151b4e,
+ 0x00000980, 0x03d07800, 0x00007900, 0x0032d3fc, 0x00008980, 0x83280500,
+ 0x0000e101, 0x08001a0c, 0x0000e106, 0x03788702, 0x00008108, 0x29610f22,
+ 0x0000f500, 0x02b84f0b, 0x00000020, 0x81009000, 0x00001980, 0x22800000,
+ 0x00007900, 0x00014000, 0x00008980, 0x2222a000, 0x0000f900, 0x00151b4e,
+ 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1d785f10,
+ 0x00008914, 0x296e0f4f, 0x00007500, 0x25009709, 0x000088a9, 0xa2a11422,
+ 0x00001901, 0x29700fdd, 0x0000f300, 0x0d003000, 0x00009980, 0xce7926ec,
+ 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x04c00000,
+ 0x0000e180, 0x6601080d, 0x0000e000, 0x0300080c, 0x00006380, 0x7601080d,
+ 0x0000a000, 0x04000000, 0x000081c4, 0x04800000, 0x00006180, 0x02510220,
+ 0x0000c900, 0xc4e0e41c, 0x0000e101, 0x01c00c1c, 0x0000c880, 0x00003809,
+ 0x00007810, 0x00000000, 0x00000000, 0x2c820521, 0x0000f88e, 0x01400001,
+ 0x00008060, 0x2980150d, 0x00007896, 0x91400000, 0x00001481, 0x8900131b,
+ 0x0000e080, 0x0c006a0b, 0x00006184, 0x8911220b, 0x0000e100, 0x00199016,
+ 0x00002106, 0x00000408, 0x0000e583, 0x0411200d, 0x00002185, 0x4340150d,
+ 0x00006381, 0x0011b016, 0x0000a116, 0x07400409, 0x0000788a, 0x01400000,
+ 0x00001487, 0xceb922ec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb922ec,
+ 0x0000a814, 0x07400409, 0x0000788a, 0x01400000, 0x00001487, 0x81c0461f,
+ 0x00009283, 0xc000000c, 0x0000ec0b, 0xceb926ec, 0x0000a00c, 0x000029cf,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824,
+ 0x00001090, 0xceb926ec, 0x00002814, 0x07400409, 0x0000788a, 0x01400000,
+ 0x00001487, 0x00000408, 0x0000e583, 0x02400000, 0x00008980, 0x81d26a4d,
+ 0x00006110, 0x0902604c, 0x00004910, 0x81d14a29, 0x00006108, 0x09014028,
+ 0x00004908, 0x000004e3, 0x0000e583, 0x02ff1fe3, 0x00000901, 0x82c99b04,
+ 0x0000002e, 0x82503a07, 0x00001900, 0x000029df, 0x00007010, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x03839800, 0x0000f900, 0x00151b50,
+ 0x00000980, 0x03e8a800, 0x00007900, 0x000aff14, 0x00008980, 0xc3300600,
+ 0x00006101, 0x08001a0c, 0x0000e106, 0x83381400, 0x00008034, 0x29b90f22,
+ 0x0000f500, 0x04b9270b, 0x00008028, 0x81009800, 0x0000e180, 0x02004809,
+ 0x00004900, 0x00000408, 0x0000e583, 0x0e00c711, 0x0000a006, 0x8911b236,
+ 0x0000e110, 0x89199332, 0x0000c908, 0x000004e3, 0x0000e583, 0x847f1fe3,
+ 0x00008900, 0x4460b604, 0x00008100, 0xc4112224, 0x00006100, 0xc3300600,
+ 0x0000c909, 0x000029f5, 0x0000f010, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x0389c800, 0x0000f900, 0x00151b50, 0x00000980, 0x03eee800,
+ 0x0000f900, 0x000e1256, 0x00000980, 0x83280500, 0x0000e101, 0x08001a0c,
+ 0x0000e106, 0x03788f02, 0x00000108, 0x29cf0f22, 0x00007500, 0x02800710,
+ 0x000000a0, 0x81008000, 0x00009980, 0x000004e3, 0x0000e583, 0x847f1fe3,
+ 0x00008900, 0x4469ae04, 0x00008106, 0x01000000, 0x0000f908, 0x00014040,
+ 0x00000980, 0x00002a0b, 0x00007010, 0x0387a800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x03e9c000, 0x00007900, 0x003be25c, 0x00000980, 0x81007800,
+ 0x00006180, 0x08001a0c, 0x0000e106, 0x83200500, 0x00008032, 0x29df0f22,
+ 0x0000f500, 0x03788f02, 0x00000108, 0x0239a72b, 0x00000028, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x22039800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x29ec0f4f,
+ 0x00007500, 0x1d79270b, 0x00000914, 0xa2809800, 0x0000e180, 0x25004809,
+ 0x00004900, 0x29ee0fdd, 0x00007300, 0x0d009800, 0x00001980, 0xce7926ec,
+ 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x00002976, 0x00007400, 0x09000824, 0x00001090, 0xce7926ec,
+ 0x00002814, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2209c800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x226ee800, 0x00007900, 0x000e1256,
+ 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x2a010f4f, 0x00007500, 0x1d788711, 0x00000914, 0x62800010,
+ 0x000009d0, 0x0d004000, 0x00001980, 0x2a030fdd, 0x0000f100, 0xce7926ec,
+ 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x07400409,
+ 0x0000788a, 0x01400000, 0x00001487, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980, 0x2269c000,
+ 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x2a180f4f, 0x0000f500, 0x1d79a711,
+ 0x00000914, 0xa2807800, 0x00006180, 0x2501582b, 0x00004900, 0x00002a02,
+ 0x00007200, 0x0d003800, 0x00001980, 0x11004044, 0x00006380, 0x12840000,
+ 0x00008980, 0xe240e84b, 0x00006002, 0x80005844, 0x0000b406, 0x0002404a,
+ 0x0000e084, 0xb0000847, 0x00003401, 0xa740c044, 0x00006000, 0x00040048,
+ 0x0000b486, 0x0018e84b, 0x0000e182, 0xe0001847, 0x00003403, 0x4000051d,
+ 0x00006583, 0x0028e848, 0x0000a084, 0x1148f71a, 0x00000429, 0x9108f11b,
+ 0x0000842a, 0x11400405, 0x0000f88a, 0x51400000, 0x00001484, 0xceb924ec,
+ 0x00002084, 0xc728200c, 0x0000e803, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xceb924ec, 0x00002894, 0xc429fb05,
+ 0x0000c59b, 0x6201870c, 0x00006588, 0x000038ec, 0x00007902, 0x02400000,
+ 0x00000704, 0xffffffff, 0x00007fa7, 0x0bc03c24, 0x0000e000, 0x0c003c0b,
+ 0x0000b000, 0x0161240b, 0x00001303, 0x41284508, 0x0000e109, 0x0c019307,
+ 0x00006116, 0x82e02404, 0x00001910, 0x0000285c, 0x00007008, 0x00000408,
+ 0x00001583, 0x001a6807, 0x00006196, 0x00194807, 0x0000b18e, 0x0901502a,
+ 0x00006108, 0x0902704e, 0x00004910, 0x0000285c, 0x00007400, 0xd6783c0b,
+ 0x0000a804, 0xd679240b, 0x0000a884, 0x000048ec, 0x0000f902, 0x01400000,
+ 0x00000704, 0x0a200504, 0x0000428b, 0x9441870c, 0x00000a8c, 0xa700261f,
+ 0x0000f896, 0x51400000, 0x00001583, 0x0c004c24, 0x0000e000, 0x0bc04c04,
+ 0x0000b000, 0x01212404, 0x00009303, 0x001018ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0x00908eec,
+ 0x00005f80, 0x00007000, 0x00008084, 0x00000408, 0x0000e583, 0x02ff1fe3,
+ 0x00000901, 0x0202704e, 0x0000e110, 0xc2da6b4d, 0x0000c910, 0x0201502a,
+ 0x0000e108, 0xc2d94b29, 0x0000c908, 0x000004e3, 0x0000e583, 0x42e02404,
+ 0x00008901, 0x01000000, 0x0000f908, 0x00014040, 0x00000980, 0x81012000,
+ 0x0000e188, 0xc3300600, 0x0000c909, 0x00002a86, 0x00007010, 0x038f0800,
+ 0x0000f900, 0x003884ca, 0x00000980, 0x03e3e800, 0x00007900, 0x001b7e4e,
+ 0x00008980, 0x83280500, 0x0000e101, 0x08001a0c, 0x0000e106, 0x2a6a0f22,
+ 0x00007500, 0x03785f02, 0x00008108, 0x02000000, 0x0000e180, 0x02804008,
+ 0x0000c900, 0xceb924ec, 0x0000a004, 0xc728200c, 0x0000e803, 0x001018ec,
+ 0x00005780, 0x00d07280, 0x000081c0, 0xffffffff, 0x00007f86, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xceb924ec, 0x0000a814, 0x00908eec,
+ 0x00005f80, 0x00007000, 0x00008084, 0x000028ec, 0x0000f902, 0x02400000,
+ 0x00000704, 0xffffffff, 0x00007fa7, 0x0bc02c24, 0x00006000, 0x0c002c0b,
+ 0x00003000, 0x0161240b, 0x00001303, 0x41284508, 0x0000e109, 0x0c019306,
+ 0x0000e116, 0x82e02404, 0x00001910, 0x00002a44, 0x0000f008, 0x00000408,
+ 0x00001583, 0x001a6806, 0x0000e196, 0x00194806, 0x0000318e, 0x0901502a,
+ 0x00006108, 0x0902704e, 0x00004910, 0x00002a44, 0x0000f400, 0xd678340b,
+ 0x00002804, 0xd679240b, 0x0000a884, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x220f0800, 0x00007900, 0x003884ca, 0x00000980, 0x2263e800,
+ 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x2a920f4f, 0x00007500, 0x1d78470b,
+ 0x00008914, 0x62800024, 0x000089d0, 0x2a940fdd, 0x0000f300, 0x0d00a000,
+ 0x00009980, 0xce785eec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x0007280b, 0x00001502, 0x02c0080b, 0x00001090, 0xce785eec,
+ 0x0000a814, 0xb6e9fb05, 0x0000c59b, 0x5b61870c, 0x0000de8b, 0x00000408,
+ 0x0000e583, 0x027f1fe3, 0x00008901, 0x0182704e, 0x00006110, 0x891a6b4d,
+ 0x0000c910, 0x0181502a, 0x00006108, 0x89194b29, 0x0000c908, 0x000004e3,
+ 0x0000e583, 0x42602404, 0x00000901, 0xc2512224, 0x0000e100, 0xc3300600,
+ 0x0000c909, 0x01000000, 0x0000f908, 0x00014040, 0x00000980, 0x00002b51,
+ 0x0000f010, 0x03955800, 0x00007900, 0x003884cc, 0x00000980, 0x03e3e800,
+ 0x00007900, 0x001b7e4e, 0x00008980, 0x81012000, 0x00006180, 0x08001a0c,
+ 0x0000e106, 0x83381400, 0x00008034, 0x2ab30f22, 0x0000f500, 0x04b83709,
+ 0x00000028, 0x02000000, 0x00009980, 0x40000508, 0x00001583, 0x000028f3,
+ 0x00007013, 0x41000000, 0x00009981, 0x40001517, 0x0000e583, 0xc000080c,
+ 0x0000a403, 0x007836ec, 0x0000570c, 0x0038c800, 0x00000000, 0x117836ec,
+ 0x0000570c, 0x0038c800, 0x00000000, 0x00002afb, 0x00007010, 0x40000508,
+ 0x0000e583, 0xf0000807, 0x0000a401, 0x227836ec, 0x0000d704, 0x00383800,
+ 0x00000000, 0x02404000, 0x00007900, 0x0005001a, 0x00000980, 0x200004ec,
+ 0x00005784, 0x00384816, 0x0000aa00, 0x02c00000, 0x00007900, 0x0015001e,
+ 0x00000980, 0x30e8b80b, 0x0000e880, 0x20385cec, 0x0000d704, 0x00081815,
+ 0x00000480, 0x02e9800c, 0x00009980, 0x0028b80b, 0x0000e804, 0x20385cec,
+ 0x0000d704, 0x00199819, 0x00000080, 0x02f0380c, 0x00001980, 0x00002aef,
+ 0x0000f410, 0x0420200b, 0x0000e901, 0x00385cec, 0x00005704, 0x00000000,
+ 0x00008080, 0x02400000, 0x0000f900, 0x00040000, 0x00000980, 0x00000408,
+ 0x00001583, 0x00127009, 0x00006196, 0x001a700b, 0x00003196, 0x89194b29,
+ 0x0000e108, 0x891a6b4d, 0x0000c910, 0x0019500b, 0x0000e18e, 0x00115009,
+ 0x0000b18e, 0xffffffff, 0x00007f86, 0x0411200b, 0x00006187, 0x00003809,
+ 0x0000b107, 0x11785eec, 0x00005704, 0x00384800, 0x00008000, 0xf0000809,
+ 0x00006c01, 0x22785eec, 0x00005704, 0x00384800, 0x00008000, 0x01c08000,
+ 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784, 0x00383812,
+ 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811, 0x00000080, 0x02403800,
+ 0x00007900, 0x0002001e, 0x00000980, 0x04202009, 0x00006901, 0x20384cec,
+ 0x00005704, 0x00191011, 0x00000280, 0x02701000, 0x00007900, 0x00020018,
+ 0x00000980, 0x02c046e3, 0x00001081, 0x30e05809, 0x00006880, 0x20384cec,
+ 0x00005704, 0x0010a019, 0x00008680, 0xcef922ec, 0x00002004, 0xffffffff,
+ 0x00007fa7, 0x00072824, 0x00009502, 0x0000281d, 0x00007400, 0x09000824,
+ 0x00001090, 0xcef922ec, 0x00002814, 0x007836ec, 0x0000d704, 0x0038c800,
+ 0x00000000, 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x02e81000,
+ 0x0000f900, 0x00020014, 0x00000980, 0x40000508, 0x0000e583, 0x090046e3,
+ 0x00000081, 0x30e1200b, 0x00006880, 0x20081cec, 0x0000d784, 0x00385815,
+ 0x00000400, 0x00002b23, 0x0000f010, 0x02c00000, 0x00007900, 0x00040000,
+ 0x00000980, 0x00000408, 0x00001583, 0x0012700b, 0x0000e196, 0x001a7010,
+ 0x00003196, 0x89194b29, 0x0000e108, 0x891a6b4d, 0x0000c910, 0x00195010,
+ 0x0000e18e, 0x0011500b, 0x0000318e, 0xffffffff, 0x00007f86, 0x04112010,
+ 0x00006187, 0x0000380b, 0x00003107, 0x117886ec, 0x00005704, 0x00385800,
+ 0x00000000, 0xf000080b, 0x0000ec01, 0x227886ec, 0x00005704, 0x00385800,
+ 0x00000000, 0x02c08000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec,
+ 0x0000d784, 0x00385812, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811,
+ 0x00000080, 0x04003800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202010,
+ 0x0000e901, 0x203884ec, 0x0000d704, 0x00191011, 0x00000280, 0x40000d17,
+ 0x00001583, 0x0268380a, 0x00001990, 0x04202009, 0x0000e911, 0x00002b7d,
+ 0x00007008, 0x0000281d, 0x00007200, 0x20384cec, 0x00005704, 0x00095019,
+ 0x00000680, 0x0c811424, 0x00006802, 0x01c00c24, 0x00001283, 0x8102061f,
+ 0x00009283, 0xffffffff, 0x00007f86, 0x000028ba, 0x0000f008, 0x000028cc,
+ 0x00007008, 0x00000408, 0x0000e583, 0x02400000, 0x00008980, 0x81d26a4d,
+ 0x00006110, 0x0902604c, 0x00004910, 0x81d14a29, 0x00006108, 0x09014028,
+ 0x00004908, 0x000004e3, 0x0000e583, 0x02ff1fe3, 0x00000901, 0x82c99b04,
+ 0x0000002e, 0x82503a07, 0x00006100, 0xddb00600, 0x00004911, 0x000029ac,
+ 0x0000f008, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22039800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14,
+ 0x00008980, 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x1df85f02,
+ 0x00008714, 0x2b480f4f, 0x00007500, 0x25784f24, 0x00008910, 0xa2809800,
+ 0x00009980, 0x2b4a0fdd, 0x00007300, 0x0d009800, 0x00001980, 0xce7926ec,
+ 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x00002976, 0x00007400, 0x09000824, 0x00001090, 0xce7926ec,
+ 0x00002814, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22155800,
+ 0x0000f900, 0x003884cc, 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x2b5d0f4f, 0x0000f500, 0x1d783709, 0x00008914, 0x62800024,
+ 0x000089d0, 0x2b5f0fdd, 0x0000f300, 0x0d00a000, 0x00009980, 0xce785eec,
+ 0x0000a004, 0xc000000c, 0x00006c03, 0x001018ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0xffffffff, 0x00007f86, 0x0007280b, 0x00001502, 0x02c0080b,
+ 0x00001090, 0xce785eec, 0x0000a814, 0x00908eec, 0x00005f80, 0x00007000,
+ 0x00008084, 0x89202404, 0x00001900, 0xd6409424, 0x0000f902, 0x04400000,
+ 0x00008004, 0xffffffff, 0x00007fa7, 0xc0172b11, 0x00001502, 0x00002ab3,
+ 0x0000700b, 0x00000408, 0x00001583, 0x0902704e, 0x00006110, 0x82da6b4d,
+ 0x00004910, 0x0901502a, 0x00006108, 0x82d94b29, 0x00004908, 0xc0108311,
+ 0x00001502, 0x80105a11, 0x00001502, 0x00012012, 0x00001502, 0x00002ab5,
+ 0x00007010, 0x00002ab5, 0x00007010, 0x00002ab5, 0x00007010, 0x42000800,
+ 0x00001981, 0xad49fb05, 0x0000f89a, 0xa9400000, 0x00009487, 0x81c002ec,
+ 0x00005684, 0x00400000, 0x00008000, 0x02c00000, 0x00009980, 0x00104807,
+ 0x00006186, 0x0410380b, 0x0000b187, 0x04184807, 0x00006987, 0x81f83cec,
+ 0x0000d604, 0x00385800, 0x00000000, 0xffffffff, 0x00007ff7, 0xffffffff,
+ 0x0000ffe7, 0x81f83aec, 0x0000a684, 0xffffffff, 0x00007fa7, 0x01e8380a,
+ 0x00006180, 0x89001407, 0x0000c880, 0x4b413624, 0x00007902, 0x09400000,
+ 0x00000004, 0x4b811824, 0x00007902, 0x04c00000, 0x00000004, 0x4b809224,
+ 0x00007902, 0x04400000, 0x00008004, 0x4b808424, 0x0000f902, 0x02c00000,
+ 0x00000004, 0x04202007, 0x0000e901, 0x200384ec, 0x0000d784, 0x0038381a,
+ 0x00008000, 0x003934ec, 0x00005704, 0x00392800, 0x00000000, 0x00391cec,
+ 0x00005704, 0x00389800, 0x00000000, 0x003894ec, 0x0000d704, 0x00388800,
+ 0x00008000, 0x003884ec, 0x00005704, 0x00385800, 0x00000000, 0x01f0d800,
+ 0x00007900, 0x00020018, 0x00000980, 0x0000281d, 0x00007400, 0x200924ec,
+ 0x0000d784, 0x00383815, 0x00000400, 0x000994ec, 0x0000d784, 0x00000019,
+ 0x00008280, 0x0379f80d, 0x00007900, 0x003ffffe, 0x00008280, 0x04c00000,
+ 0x0000e180, 0x0000000d, 0x00006585, 0x6601080d, 0x0000e000, 0x0e424405,
+ 0x0000b000, 0x0f80ec08, 0x0000e000, 0x7601080d, 0x00003000, 0x8b40ce07,
+ 0x0000f902, 0x05c00000, 0x00008004, 0x0300080c, 0x00006380, 0x04000000,
+ 0x00000980, 0x04400000, 0x000001c8, 0x8198e620, 0x0000810d, 0x01c00c1c,
+ 0x00009880, 0x00003806, 0x00007810, 0x00000000, 0x00000000, 0x0b420521,
+ 0x0000788f, 0x01400001, 0x00008060, 0x00404519, 0x0000c58c, 0x95a00635,
+ 0x00008796, 0x00001419, 0x00006583, 0x04000810, 0x00000380, 0x00002c26,
+ 0x00007013, 0x01a02c08, 0x0000e303, 0x11000000, 0x00008980, 0x11800000,
+ 0x0000e180, 0x7140c044, 0x0000e000, 0x11c00000, 0x00006180, 0x11004044,
+ 0x00004388, 0x00002c59, 0x0000f010, 0x00000408, 0x0000e583, 0x80005844,
+ 0x00002406, 0x1140d01a, 0x00006100, 0xa740c044, 0x00006000, 0xd110da1b,
+ 0x00009900, 0x00002c11, 0x0000f010, 0x0180141d, 0x0000e281, 0x40000844,
+ 0x0000a402, 0x01a04406, 0x0000e303, 0x91972ae5, 0x00000900, 0x0c40c424,
+ 0x0000e010, 0x02000049, 0x0000b597, 0x09001424, 0x0000e091, 0x8000e048,
+ 0x00002092, 0x0000e049, 0x0000e193, 0x41212044, 0x0000b012, 0x41404519,
+ 0x00001283, 0x00002bdb, 0x00007013, 0xe000000c, 0x00006c01, 0x001018ec,
+ 0x00005780, 0x00007000, 0x00000080, 0x00908eec, 0x00005f80, 0x00007000,
+ 0x00008084, 0x40000504, 0x00001583, 0x00002bd6, 0x0000f013, 0x41000800,
+ 0x00001981, 0xa6401507, 0x00004291, 0xc4400604, 0x00000a8f, 0x6d000604,
+ 0x0000788b, 0xd1400000, 0x0000968a, 0x000048ec, 0x0000f902, 0x01800000,
+ 0x00000704, 0x7d400504, 0x0000418b, 0x0041870c, 0x00000090, 0xfe09fb05,
+ 0x0000c59a, 0x7f01870c, 0x00008288, 0x51002617, 0x0000f897, 0x51400000,
+ 0x00001689, 0x0c004c24, 0x0000e000, 0x0bc04c06, 0x00003000, 0x01612406,
+ 0x00009303, 0x018046e3, 0x0000e089, 0xc000100c, 0x00002413, 0x0228380a,
+ 0x00009988, 0x00002c01, 0x00007010, 0x02681000, 0x00007900, 0x00020014,
+ 0x00000980, 0x30e03009, 0x00006080, 0x04202008, 0x00003101, 0x20384cec,
+ 0x00005704, 0x00384000, 0x00000000, 0x000854ec, 0x00005784, 0x00000015,
+ 0x00000680, 0x000048ec, 0x0000f902, 0x01800000, 0x00000704, 0xffffffff,
+ 0x00007fa7, 0x0c004c24, 0x0000e000, 0x0bc04c06, 0x00003000, 0x01612406,
+ 0x00009303, 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0xc009fb05,
+ 0x00001582, 0xc101870c, 0x00009283, 0xffffffff, 0x00007f86, 0x00002bd6,
+ 0x00007018, 0x00002bd6, 0x0000f008, 0x00080007, 0x0000ed87, 0x00202007,
+ 0x0000e886, 0x09006607, 0x00006002, 0xe000000c, 0x0000b401, 0xa5792e0a,
+ 0x00005004, 0x0038a000, 0x00008000, 0x001018ec, 0x00005780, 0x00007000,
+ 0x00000080, 0xa5b8380a, 0x0000a884, 0x00908eec, 0x00005f80, 0x00007000,
+ 0x00008084, 0x01800c1d, 0x00006283, 0x40000844, 0x0000a402, 0x09001000,
+ 0x0000e191, 0x09000800, 0x0000c989, 0x91972ae5, 0x0000e100, 0x0180141d,
+ 0x00004281, 0x09003747, 0x00006281, 0xe3a12048, 0x0000a002, 0x00001424,
+ 0x00001583, 0x0c40c424, 0x00006808, 0x09001424, 0x00001089, 0x01a04406,
+ 0x0000e303, 0x96612047, 0x0000200b, 0x0c40c424, 0x0000e010, 0x02000049,
+ 0x0000b597, 0x09001424, 0x0000e091, 0x8000e048, 0x00002092, 0x41212044,
+ 0x0000e012, 0x0000e049, 0x0000b193, 0xf6404519, 0x0000c58c, 0xfb200504,
+ 0x00007b94, 0xceb920ec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x00002bbd, 0x00007400, 0x09000824,
+ 0x00001090, 0xceb920ec, 0x0000a894, 0xce7926ec, 0x0000a084, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824,
+ 0x00001090, 0xce7926ec, 0x0000a894, 0x77404519, 0x0000498d, 0x24400635,
+ 0x00008b92, 0x81000000, 0x00009981, 0x00000405, 0x00009583, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x00002d09, 0x00007010, 0x05000000,
+ 0x0000f900, 0x00040000, 0x00000980, 0xc101870c, 0x00006283, 0x0400b014,
+ 0x0000a107, 0x0800b215, 0x0000e106, 0x0801ad07, 0x0000b002, 0x05394429,
+ 0x00000214, 0x00002c55, 0x0000f008, 0x41008519, 0x00006283, 0x02412825,
+ 0x00000900, 0x0180a014, 0x00009900, 0x00002c76, 0x0000f011, 0xc009fb05,
+ 0x0000e582, 0x81000800, 0x00008981, 0x00002c8b, 0x0000701b, 0xa540b60a,
+ 0x00007902, 0x05400000, 0x00000004, 0xa5b8580a, 0x00002084, 0x41000000,
+ 0x00009981, 0xffffffff, 0x00007f86, 0x00012816, 0x00001502, 0x0000a015,
+ 0x00009502, 0x0020240b, 0x00009503, 0x00002c8c, 0x00007010, 0x00002c8c,
+ 0x00007010, 0x00002c8c, 0x00007010, 0xc730580c, 0x0000e803, 0x04000810,
+ 0x00006380, 0x41000800, 0x00008981, 0xef401419, 0x0000788a, 0x31400000,
+ 0x00009681, 0x00000418, 0x00009583, 0x00000408, 0x0000e583, 0x90000847,
+ 0x0000a44b, 0x1140d01a, 0x0000e108, 0x11004044, 0x00004388, 0xb0000847,
+ 0x0000e409, 0x80005844, 0x0000340e, 0x00002c66, 0x0000f010, 0xa740c044,
+ 0x00006000, 0xe0001847, 0x00003403, 0xd110da1b, 0x00009900, 0xf2800408,
+ 0x0000f88a, 0x89400000, 0x00001680, 0x11004044, 0x00006380, 0x12840000,
+ 0x00008980, 0xe240e84b, 0x00006002, 0x80005844, 0x0000b406, 0x0002404a,
+ 0x0000e084, 0xb0000847, 0x00003401, 0xa740c044, 0x00006000, 0x00040048,
+ 0x0000b486, 0x0018e84b, 0x0000e182, 0xe0001847, 0x00003403, 0x4000051d,
+ 0x00006583, 0x0028e848, 0x0000a084, 0x1148f71a, 0x00000429, 0x9108f11b,
+ 0x0000842a, 0xf2800408, 0x0000f88a, 0x89400000, 0x00001680, 0x89202404,
+ 0x00001900, 0xd640fc24, 0x00007902, 0x05800000, 0x00000004, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x8ff72816, 0x0000c411, 0x16400604,
+ 0x00008b89, 0x22c9fb05, 0x0000789b, 0x49400000, 0x00009682, 0x00000405,
+ 0x00009583, 0x0902704e, 0x00006110, 0x82da6b4d, 0x00004910, 0x0901502a,
+ 0x00006108, 0x82d94b29, 0x00004908, 0xc010ab16, 0x00009502, 0x80105a16,
+ 0x00009502, 0x0001201f, 0x00009502, 0x00002c8a, 0x00007010, 0x00002c8a,
+ 0x00007010, 0x00002c46, 0x00007008, 0x81000000, 0x00009981, 0x41000000,
+ 0x00009981, 0x40001507, 0x00006583, 0xc000080c, 0x0000a403, 0x00792eec,
+ 0x0000d70c, 0x0038a000, 0x00008000, 0x11792eec, 0x0000d70c, 0x0038a000,
+ 0x00008000, 0x00002cd3, 0x00007010, 0x80000604, 0x0000e583, 0xf0000806,
+ 0x00002401, 0x22792eec, 0x00005704, 0x00383000, 0x00008000, 0x02404000,
+ 0x00007900, 0x0005001a, 0x00000980, 0x200004ec, 0x00005784, 0x00384816,
+ 0x0000aa00, 0x02c00000, 0x00007900, 0x0015001e, 0x00000980, 0x0269800c,
+ 0x00006180, 0x30e8380b, 0x0000e080, 0x20385cec, 0x0000d704, 0x00081815,
+ 0x00000480, 0x00283809, 0x0000e804, 0x20384cec, 0x00005704, 0x00199819,
+ 0x00000080, 0x0270380c, 0x00009980, 0x00002cc5, 0x00007410, 0x04202009,
+ 0x00006901, 0x00384cec, 0x0000d704, 0x00000000, 0x00008080, 0x02400000,
+ 0x0000f900, 0x00040000, 0x00000980, 0x00000405, 0x00009583, 0x00127009,
+ 0x00006196, 0x001a700b, 0x00003196, 0x89194b29, 0x0000e108, 0x891a6b4d,
+ 0x0000c910, 0x0019500b, 0x0000e18e, 0x00115009, 0x0000b18e, 0xffffffff,
+ 0x00007f86, 0x0411200b, 0x00006187, 0x00003009, 0x00003107, 0x11785eec,
+ 0x00005704, 0x00384800, 0x00008000, 0xf0000809, 0x00006c01, 0x22785eec,
+ 0x00005704, 0x00384800, 0x00008000, 0x02408000, 0x00007900, 0x0015001e,
+ 0x00000980, 0x200044ec, 0x0000d784, 0x00384812, 0x00008a00, 0x200914ec,
+ 0x0000d784, 0x04591811, 0x00000080, 0x01803800, 0x00007900, 0x0002001e,
+ 0x00000980, 0x04202006, 0x00006901, 0x203834ec, 0x00005704, 0x00191011,
+ 0x00000280, 0x02701000, 0x00007900, 0x00020018, 0x00000980, 0x04000810,
+ 0x00006380, 0x018046e3, 0x00000081, 0x30e03009, 0x0000e880, 0x20384cec,
+ 0x00005704, 0x0010a019, 0x00008680, 0xcef922ec, 0x00002004, 0xffffffff,
+ 0x00007fa7, 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xcef922ec,
+ 0x00002814, 0xef401419, 0x0000788a, 0x31400000, 0x00009681, 0x00792eec,
+ 0x00005704, 0x0038a000, 0x00008000, 0x000004ec, 0x0000d784, 0x00000016,
+ 0x0000aa80, 0x05681000, 0x0000f900, 0x00020014, 0x00000980, 0x80000604,
+ 0x0000e583, 0x090046e3, 0x00000081, 0x30e12015, 0x00006880, 0x20081cec,
+ 0x0000d784, 0x0038a815, 0x00000400, 0x00002cfb, 0x00007010, 0x02c00000,
+ 0x00007900, 0x00040000, 0x00000980, 0x00000405, 0x00009583, 0x0012700b,
+ 0x0000e196, 0x001a7015, 0x00003196, 0x89194b29, 0x0000e108, 0x891a6b4d,
+ 0x0000c910, 0x00195015, 0x0000e18e, 0x0011500b, 0x0000318e, 0xffffffff,
+ 0x00007f86, 0x04112015, 0x00006187, 0x0000300b, 0x0000b107, 0x1178aeec,
+ 0x00005704, 0x00385800, 0x00000000, 0xf000080b, 0x0000ec01, 0x2278aeec,
+ 0x00005704, 0x00385800, 0x00000000, 0x05408000, 0x0000f900, 0x0015001e,
+ 0x00000980, 0x200044ec, 0x0000d784, 0x0038a812, 0x00000a00, 0x200914ec,
+ 0x0000d784, 0x04591811, 0x00000080, 0x02c03800, 0x0000f900, 0x0002001e,
+ 0x00000980, 0x0420200b, 0x0000e901, 0x20385cec, 0x0000d704, 0x00191011,
+ 0x00000280, 0x40000d07, 0x00009583, 0x04000810, 0x0000e390, 0x01a8380a,
+ 0x00008990, 0x04202006, 0x0000e911, 0x00002d6a, 0x00007008, 0x203834ec,
+ 0x00005704, 0x00095019, 0x00000680, 0xef401419, 0x0000788a, 0x31400000,
+ 0x00009681, 0x00000405, 0x00006583, 0x00199016, 0x00002106, 0x0011b016,
+ 0x0000e916, 0x00002d21, 0x0000f009, 0x81000000, 0x00009981, 0x05000000,
+ 0x0000f900, 0x00040000, 0x00000980, 0x0400b014, 0x00006107, 0x0800b215,
+ 0x0000b106, 0x0942604c, 0x00006100, 0x0a01b507, 0x00006002, 0x85126a4d,
+ 0x00001900, 0x1541870c, 0x0000788f, 0x11400000, 0x00001682, 0x80040635,
+ 0x00001583, 0x0931ae35, 0x0000e111, 0xc3c00000, 0x00004989, 0x00002c35,
+ 0x00007009, 0x0183e824, 0x00001282, 0x09007d18, 0x00009289, 0x00002de0,
+ 0x00007011, 0xa0800c24, 0x00004289, 0x3a401424, 0x00008b8a, 0x7ac08617,
+ 0x0000f897, 0xb9400000, 0x0000968e, 0x00000405, 0x00006583, 0x85999332,
+ 0x00000900, 0x8591b236, 0x00001910, 0x00002d08, 0x00007011, 0x05000000,
+ 0x0000f900, 0x00040000, 0x00000980, 0x0400b014, 0x00006107, 0x0800b215,
+ 0x0000b106, 0x81000000, 0x0000e181, 0x0801ad07, 0x0000e002, 0x05394429,
+ 0x00000214, 0x1541870c, 0x0000788f, 0x11400000, 0x00001682, 0xceb924ec,
+ 0x00002084, 0xc728200c, 0x0000e803, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xceb924ec, 0x00002894, 0xd4c9fb05,
+ 0x0000459a, 0x6a61870c, 0x00006d8b, 0x000030ec, 0x0000f902, 0x02400000,
+ 0x00000704, 0xffffffff, 0x00007fa7, 0x0c003406, 0x00006800, 0x0bc03424,
+ 0x0000e800, 0x01a12406, 0x00009303, 0x41302604, 0x0000e109, 0x0c019308,
+ 0x00006116, 0x81a02404, 0x00009910, 0x00002be2, 0x00007008, 0x00000405,
+ 0x00009583, 0x001a6808, 0x00006196, 0x00194808, 0x0000b18e, 0x0901502a,
+ 0x00006108, 0x0902704e, 0x00004910, 0x00002be2, 0x00007400, 0xd6784406,
+ 0x00002804, 0xd6792406, 0x00002884, 0x00000405, 0x00006583, 0x02400000,
+ 0x00008980, 0x02c2704e, 0x0000e110, 0xc55a6b4d, 0x0000c910, 0x02c1502a,
+ 0x0000e108, 0xc5594b29, 0x0000c908, 0x000004e3, 0x0000e583, 0x057f1fe3,
+ 0x00000901, 0x45602404, 0x00001901, 0x01000020, 0x00009988, 0x00002d94,
+ 0x0000f010, 0x038f0800, 0x0000f900, 0x003884ca, 0x00000980, 0x03e3e800,
+ 0x00007900, 0x001b7e4e, 0x00008980, 0x81012000, 0x00001980, 0xc1002800,
+ 0x00006181, 0x08001a0c, 0x0000e106, 0x83200500, 0x00008032, 0x2d5a0f22,
+ 0x0000f500, 0x0378af02, 0x00008108, 0x02385f09, 0x00000028, 0x000040ec,
+ 0x00007902, 0x01800000, 0x00000704, 0x7ac00504, 0x0000428b, 0xc041870c,
+ 0x00000b8a, 0x71802617, 0x0000f897, 0x51400000, 0x0000968d, 0x0c004424,
+ 0x00006000, 0x0bc04404, 0x00003000, 0x01212404, 0x00009303, 0xc000080c,
+ 0x0000e40b, 0xc000180c, 0x00003413, 0x001018ec, 0x00005780, 0x00007000,
+ 0x00000080, 0xe000000c, 0x00006c01, 0x00908eec, 0x00005f80, 0x00007000,
+ 0x00008084, 0x81c002ec, 0x00005684, 0x00400000, 0x00008000, 0x04000810,
+ 0x00006380, 0x02c00000, 0x00000980, 0x00104806, 0x0000e186, 0x0410300b,
+ 0x00003187, 0x0268380a, 0x0000e180, 0x04184806, 0x00006187, 0x81f834ec,
+ 0x00005604, 0x00385800, 0x00000000, 0x04202009, 0x00006901, 0xffffffff,
+ 0x00007ff7, 0xffffffff, 0x0000ffd7, 0x81f832ec, 0x00002684, 0xffffffff,
+ 0x00007fa7, 0x89001406, 0x00001880, 0x4b411e24, 0x00007902, 0x08800000,
+ 0x00008004, 0x4b810824, 0x0000f902, 0x08000000, 0x00000004, 0x4b80fa24,
+ 0x0000f902, 0x05800000, 0x00000004, 0x4b80ac24, 0x0000f902, 0x02c00000,
+ 0x00000004, 0x200384ec, 0x0000d784, 0x0038481a, 0x00000000, 0x00391cec,
+ 0x00005704, 0x00391000, 0x00008000, 0x00390cec, 0x0000d704, 0x00390000,
+ 0x00000000, 0x0038fcec, 0x00005704, 0x0038b000, 0x00000000, 0x0038acec,
+ 0x00005704, 0x00385800, 0x00000000, 0x0270d800, 0x0000f900, 0x00020018,
+ 0x00000980, 0x200924ec, 0x0000d784, 0x00384815, 0x00008400, 0x000994ec,
+ 0x0000d784, 0x00000019, 0x00008280, 0xef401419, 0x0000788a, 0x31400000,
+ 0x00009681, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x220f0800,
+ 0x00007900, 0x003884ca, 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x2da00f4f, 0x00007500, 0x1d785f15, 0x00008914, 0x62800024,
+ 0x000089d0, 0x2da20fdd, 0x00007300, 0x0d00a000, 0x00009980, 0xce7836ec,
+ 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072806,
+ 0x00009502, 0x01800806, 0x00001090, 0xce7836ec, 0x00002814, 0xc5c9fb05,
+ 0x0000459a, 0x62e1870c, 0x0000658f, 0xceb924ec, 0x0000a004, 0xc000000c,
+ 0x00006c05, 0x001018ec, 0x00005780, 0x00007000, 0x00000080, 0xc728200c,
+ 0x0000e803, 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb924ec,
+ 0x0000a814, 0x00908eec, 0x00005f80, 0x00007000, 0x00008084, 0x000030ec,
+ 0x0000f902, 0x02400000, 0x00000704, 0xffffffff, 0x00007fa7, 0x0c003406,
+ 0x00006800, 0x0bc03424, 0x0000e800, 0x01a12406, 0x00009303, 0x41302604,
+ 0x0000e109, 0x0c019307, 0x00006116, 0x81a02404, 0x00009910, 0x00002d5a,
+ 0x00007008, 0x00000405, 0x00009583, 0x001a6807, 0x00006196, 0x00194807,
+ 0x0000b18e, 0x0901502a, 0x00006108, 0x0902704e, 0x00004910, 0x00002d5a,
+ 0x00007400, 0xd6783c06, 0x00002804, 0xd6792406, 0x00002884, 0x00000405,
+ 0x00006583, 0x02400000, 0x00008980, 0x02c2704e, 0x0000e110, 0x891a6b4d,
+ 0x0000c910, 0x02c1502a, 0x0000e108, 0x89194b29, 0x0000c908, 0x000004e3,
+ 0x0000e583, 0x057f1fe3, 0x00000901, 0x85582124, 0x00000116, 0x01000020,
+ 0x00009988, 0x00002e2e, 0x00007010, 0x03955800, 0x00007900, 0x003884cc,
+ 0x00000980, 0x00002d54, 0x0000f400, 0x03e3e800, 0x00007900, 0x001b7e4e,
+ 0x00008980, 0x81012000, 0x00001980, 0xceb922ec, 0x0000a004, 0x81000000,
+ 0x0000e181, 0xc000000c, 0x0000e403, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xceb922ec, 0x0000a814, 0x0e800405,
+ 0x0000f88b, 0x49400000, 0x00009688, 0x81004617, 0x00001283, 0x81000000,
+ 0x00006189, 0xc000000c, 0x0000640b, 0xceb926ec, 0x0000a00c, 0x00002dfc,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824,
+ 0x00001090, 0xceb926ec, 0x00002814, 0x0e800405, 0x0000f88b, 0x49400000,
+ 0x00009688, 0x00000405, 0x00006583, 0x0e00c715, 0x00002006, 0x8911b236,
+ 0x0000e110, 0x89199332, 0x0000c908, 0x000004e3, 0x0000e583, 0x02400000,
+ 0x00008980, 0x857f1fe3, 0x0000e100, 0x85602404, 0x00004901, 0x02c92416,
+ 0x0000002e, 0x00002e08, 0x0000f010, 0x01000020, 0x00001980, 0x0389c800,
+ 0x0000f900, 0x00151b50, 0x00000980, 0x00002d54, 0x0000f400, 0x03eee800,
+ 0x0000f900, 0x000e1256, 0x00000980, 0x81008000, 0x00009980, 0x000004e3,
+ 0x0000e583, 0x857f1fe3, 0x00000900, 0x4569ae04, 0x00008116, 0x02f95f34,
+ 0x00000024, 0x00002e1f, 0x0000f010, 0x01000020, 0x00001980, 0x0387a800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x00002d54, 0x0000f400, 0x03e9c000,
+ 0x00007900, 0x003be25c, 0x00000980, 0x81007800, 0x00001980, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x2209c800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x226ee800, 0x00007900, 0x000e1256, 0x00000980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x2e140f4f,
+ 0x00007500, 0x1d785f15, 0x00008914, 0x62800010, 0x000009d0, 0x0d004000,
+ 0x00001980, 0x2e160fdd, 0x0000f100, 0xce7926ec, 0x00002004, 0x81000000,
+ 0x0000e181, 0xc000000c, 0x0000e403, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x0e800405,
+ 0x0000f88b, 0x49400000, 0x00009688, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980, 0x2269c000,
+ 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x2e2c0f4f, 0x0000f500, 0x1d79a715,
+ 0x00008914, 0xa2807800, 0x00006180, 0x2501582b, 0x00004900, 0x00002e15,
+ 0x0000f200, 0x0d003800, 0x00001980, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x22155800, 0x0000f900, 0x003884cc, 0x00000980, 0x2263e800,
+ 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x2e3a0f4f, 0x00007500, 0x1d785f15,
+ 0x00008914, 0x62800024, 0x000089d0, 0x2e3c0fdd, 0x0000f300, 0x0d00a000,
+ 0x00009980, 0xce7836ec, 0x00002004, 0xc000000c, 0x00006c05, 0x001018ec,
+ 0x00005780, 0x00007000, 0x00000080, 0xffffffff, 0x00007f86, 0x00072806,
+ 0x00009502, 0x01800806, 0x00001090, 0xce7836ec, 0x00002814, 0x00908eec,
+ 0x00005f80, 0x00007000, 0x00008084, 0x0379f80d, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x0e42440b, 0x00006000, 0x0000000d, 0x00003585, 0x0f80ec14,
+ 0x00006000, 0x6601080d, 0x0000b000, 0x04c00000, 0x0000e180, 0x7601080d,
+ 0x00006000, 0x8b412e07, 0x0000f902, 0x08c00000, 0x00000004, 0x0300080c,
+ 0x00006380, 0x04000000, 0x00000980, 0x04400000, 0x000001c8, 0x02110220,
+ 0x00006100, 0x07e05c14, 0x00004301, 0x01c00c1c, 0x0000e080, 0xc4e0e41c,
+ 0x0000c901, 0x00003808, 0x0000f810, 0x00000000, 0x00000000, 0xb0420521,
+ 0x0000788f, 0x01400001, 0x00008060, 0x00404525, 0x0000458d, 0x95c00635,
+ 0x00000f96, 0x00001425, 0x00006583, 0x04000810, 0x00000380, 0x00002eba,
+ 0x0000f013, 0x0000041f, 0x0000e583, 0x11000000, 0x00008980, 0x11800000,
+ 0x0000e180, 0x7140c044, 0x0000e000, 0x11c00000, 0x00006180, 0x11004044,
+ 0x00004388, 0x00002f4b, 0x0000f010, 0x00000414, 0x00006583, 0x80005844,
+ 0x00002406, 0x1140d01a, 0x00006100, 0xa740c044, 0x00006000, 0xd110da1b,
+ 0x00009900, 0x00002eaf, 0x00007010, 0x0140141d, 0x0000e281, 0x40000844,
+ 0x0000a402, 0x0160a405, 0x00006303, 0x91972ae5, 0x00000900, 0x0c40c424,
+ 0x0000e010, 0x02000049, 0x0000b597, 0x09001424, 0x0000e091, 0x8000e048,
+ 0x00002092, 0x41212044, 0x0000e012, 0x0000e049, 0x0000b193, 0x00001418,
+ 0x0000f894, 0x00000000, 0x00000000, 0x9f407d18, 0x0000788f, 0x01400001,
+ 0x00008060, 0x01004525, 0x0000c58c, 0x80800706, 0x00008892, 0x81801635,
+ 0x00009283, 0x81c0131b, 0x00009890, 0x86503a19, 0x00006110, 0xc658ca07,
+ 0x00008010, 0x41c04525, 0x00009283, 0x00002efe, 0x0000f013, 0x0d412c07,
+ 0x0000e000, 0x0801ac04, 0x00003002, 0x09006405, 0x0000e802, 0xcc000405,
+ 0x0000f88b, 0x01400001, 0x00008000, 0x00000407, 0x00007888, 0x00000000,
+ 0x00000000, 0x00000c05, 0x0000f88a, 0x00000000, 0x00008020, 0x0ae01404,
+ 0x0000ca88, 0x27801404, 0x00001092, 0xffffffff, 0x00007f86, 0x56c05806,
+ 0x0000f902, 0x02800000, 0x00000000, 0x56804206, 0x0000f902, 0x01c00000,
+ 0x00008000, 0xffffffff, 0x00007f97, 0x02c05b1b, 0x00001002, 0x02004219,
+ 0x0000e002, 0x0280000a, 0x00000084, 0x0000041f, 0x0000e583, 0x01c00007,
+ 0x00000084, 0x56f85806, 0x00005000, 0x00385000, 0x00008000, 0x56b84206,
+ 0x00005000, 0x00383800, 0x00000000, 0x00002ec9, 0x00007010, 0x01c00000,
+ 0x00007900, 0x001f0000, 0x00000980, 0x41810518, 0x00006283, 0x0018c807,
+ 0x0000a186, 0x20383eec, 0x00005600, 0x0038b800, 0x00008000, 0x01800020,
+ 0x00006188, 0x08001a04, 0x0000e10e, 0x00002f7a, 0x00007010, 0x00102006,
+ 0x0000e184, 0xe000000c, 0x0000b401, 0x733830ec, 0x0000d600, 0x00000000,
+ 0x00008080, 0x001018ec, 0x00005780, 0x00007000, 0x00000080, 0x00908eec,
+ 0x00005f80, 0x00007000, 0x00008084, 0x01400c1d, 0x00009283, 0x09000800,
+ 0x0000e189, 0x09001000, 0x0000c991, 0xffffffff, 0x00007f86, 0x09003747,
+ 0x00006281, 0xe3a12048, 0x0000a002, 0x00001424, 0x00001583, 0x0c40c424,
+ 0x00006808, 0x00002e6d, 0x0000f400, 0x09001424, 0x00001089, 0x96612047,
+ 0x0000680b, 0xceb920ec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x00002e60, 0x00007400, 0x09000824,
+ 0x00001090, 0xceb920ec, 0x0000a894, 0xce7926ec, 0x0000a084, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824,
+ 0x00001090, 0xce7926ec, 0x0000a894, 0xf2c04525, 0x0000458d, 0x8f000635,
+ 0x00008990, 0x0c825c24, 0x00006802, 0x88212424, 0x00009900, 0x80001220,
+ 0x00009582, 0x88003209, 0x0000e088, 0x85804a09, 0x00008088, 0x00002ed4,
+ 0x0000f009, 0x80001a20, 0x00001582, 0x85805209, 0x0000e088, 0x88003a09,
+ 0x00000088, 0x88004209, 0x00006090, 0x85805a09, 0x00000090, 0xffffffff,
+ 0x00007f86, 0xe3403c16, 0x0000f902, 0x01800000, 0x00008004, 0xe3404c20,
+ 0x00007902, 0x02000000, 0x00000004, 0xffffffff, 0x00007f97, 0x01c03b1b,
+ 0x00001002, 0x02404a19, 0x0000e002, 0x01800006, 0x00000084, 0x02000008,
+ 0x00009084, 0x00002e9e, 0x0000f400, 0xe3783c16, 0x0000d004, 0x00383000,
+ 0x00008000, 0xe3784c20, 0x00005004, 0x00384000, 0x00000000, 0x56c05806,
+ 0x0000f902, 0x02800000, 0x00000000, 0x56804206, 0x0000f902, 0x01c00000,
+ 0x00008000, 0xe380aa09, 0x00007902, 0x05000000, 0x00008004, 0xe340e409,
+ 0x00007902, 0x06800000, 0x00000004, 0x02c05b1b, 0x00001002, 0x02004219,
+ 0x0000e002, 0x0280000a, 0x00000084, 0x0540ab1b, 0x0000e002, 0x01c00007,
+ 0x00000084, 0x0700e219, 0x0000e002, 0x05000014, 0x00000084, 0x0000041f,
+ 0x0000e583, 0x0680001a, 0x00000084, 0x56f85806, 0x00005000, 0x00385000,
+ 0x00008000, 0x56b84206, 0x00005000, 0x00383800, 0x00000000, 0x00002e9e,
+ 0x00007408, 0xe3b8aa09, 0x00005004, 0x0038a000, 0x00008000, 0xe378e409,
+ 0x00005004, 0x0038d000, 0x00000000, 0x00002ec9, 0x0000f000, 0xc0000706,
+ 0x00009583, 0x00002e83, 0x0000f013, 0x81800800, 0x00009981, 0x27801508,
+ 0x0000c290, 0x0a600608, 0x00000b8e, 0x59800608, 0x0000f88a, 0x41800000,
+ 0x00001889, 0x0000a0ec, 0x0000f902, 0x01c00000, 0x00008704, 0xe1a00606,
+ 0x0000418b, 0x0041870c, 0x00000090, 0xef49fb05, 0x0000459a, 0x77a1870c,
+ 0x00000288, 0x53802623, 0x0000f896, 0xa1800000, 0x00009889, 0x0c00a424,
+ 0x0000e000, 0x0bc0a416, 0x0000b000, 0x01612416, 0x00001303, 0x090046e3,
+ 0x0000e089, 0xc000100c, 0x00002413, 0x02e8380a, 0x00009988, 0x00002f24,
+ 0x0000f010, 0x01e81000, 0x0000f900, 0x00020014, 0x00000980, 0x30e12007,
+ 0x0000e080, 0x0420200b, 0x00003101, 0x20383cec, 0x0000d704, 0x00385800,
+ 0x00000000, 0x000854ec, 0x00005784, 0x00000015, 0x00000680, 0x000058ec,
+ 0x00007902, 0x01c00000, 0x00008704, 0xffffffff, 0x00007fa7, 0x0c005c24,
+ 0x00006000, 0x0bc05c16, 0x00003000, 0x01612416, 0x00001303, 0xc000080c,
+ 0x0000e40b, 0xc000180c, 0x00003413, 0xc009fb05, 0x00001582, 0xc141870c,
+ 0x00001283, 0xffffffff, 0x00007f86, 0x00002e83, 0x00007018, 0x00002e83,
+ 0x0000f008, 0x00080008, 0x0000ed87, 0x00202008, 0x0000e886, 0x09006608,
+ 0x0000e802, 0x00002e83, 0x0000f400, 0xa579760a, 0x0000d004, 0x00391000,
+ 0x00008000, 0xa5b8400a, 0x0000a884, 0x85803206, 0x00009080, 0x56803a16,
+ 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x01c03b1b,
+ 0x00001002, 0x0000041f, 0x0000e583, 0x01800006, 0x00000084, 0x56b83a16,
+ 0x0000d000, 0x00383000, 0x00008000, 0x0c825c20, 0x00006812, 0x00002e9e,
+ 0x0000f008, 0x82210420, 0x00009900, 0x80001208, 0x00009582, 0x82006209,
+ 0x00001088, 0x00002f42, 0x00007009, 0x80001a08, 0x00001582, 0x82007209,
+ 0x00006090, 0x82006a09, 0x00000088, 0xffffffff, 0x00007f86, 0xe3403c08,
+ 0x0000f902, 0x01800000, 0x00008004, 0xffffffff, 0x00007fa7, 0x01c03b1b,
+ 0x00001002, 0x00002e9e, 0x0000f400, 0x01800006, 0x00009084, 0xe3783c08,
+ 0x0000d004, 0x00383000, 0x00008000, 0x00000418, 0x00009583, 0x00000414,
+ 0x00006583, 0x90000847, 0x0000a44b, 0x1140d01a, 0x0000e108, 0x11004044,
+ 0x00004388, 0xb0000847, 0x0000e409, 0x80005844, 0x0000340e, 0x00002fd0,
+ 0x00007010, 0xa740c044, 0x00006000, 0xe0001847, 0x00003403, 0xd110da1b,
+ 0x00009900, 0x9b400414, 0x0000f88b, 0x79400000, 0x00009785, 0x0000040b,
+ 0x0000e583, 0x82000000, 0x00000981, 0x00002fe7, 0x0000f013, 0x08800000,
+ 0x0000f900, 0x00040000, 0x00000980, 0xc181870c, 0x0000e283, 0x0400b022,
+ 0x0000a107, 0x0800b220, 0x0000e106, 0x0801ad08, 0x0000b002, 0x08b94429,
+ 0x00008238, 0x00002f76, 0x00007008, 0x41c08525, 0x00006283, 0x0981702e,
+ 0x00008900, 0x05411022, 0x00001900, 0x00002ff0, 0x00007011, 0xc009fb05,
+ 0x0000e582, 0x82000800, 0x00008981, 0x00003005, 0x0000f01b, 0xa5410e0a,
+ 0x0000f902, 0x08000000, 0x00000004, 0xa5b8380a, 0x00002084, 0xc1800000,
+ 0x00009981, 0xffffffff, 0x00007f86, 0x00017021, 0x00001502, 0x00011020,
+ 0x00009502, 0x00202407, 0x00009503, 0x00003006, 0x00007010, 0x00003006,
+ 0x00007010, 0x00003006, 0x00007010, 0xc730380c, 0x0000e803, 0x04000810,
+ 0x00006380, 0xc1800800, 0x00008981, 0x98001425, 0x0000788b, 0xd1400000,
+ 0x00001785, 0x41400d05, 0x00009283, 0x15001000, 0x00007910, 0x00008000,
+ 0x00000980, 0x15580800, 0x0000f910, 0x00044040, 0x00000980, 0x00002fa5,
+ 0x0000f008, 0x15c00000, 0x0000e180, 0xe000000c, 0x0000e401, 0x16800000,
+ 0x00006180, 0x00001857, 0x00006106, 0x16020000, 0x0000f900, 0x00040000,
+ 0x00000980, 0x001018ec, 0x00005780, 0x00007000, 0x00000080, 0x15801002,
+ 0x0000e100, 0xc0001857, 0x0000e006, 0x16400040, 0x000005ec, 0x43012000,
+ 0x00006181, 0xd698c318, 0x0000c900, 0x16b0b616, 0x00001901, 0x00908eec,
+ 0x00005f80, 0x00d07540, 0x00000184, 0x00000c04, 0x00009583, 0x85802206,
+ 0x00006088, 0x85802a06, 0x00008090, 0x89001206, 0x0000e090, 0x89000a06,
+ 0x00008088, 0x56803a16, 0x00007902, 0x01800000, 0x00000000, 0x56805224,
+ 0x00007902, 0x02000000, 0x00008000, 0xffffffff, 0x00007f97, 0x01c03b1b,
+ 0x00001002, 0x02805219, 0x0000e002, 0x01800006, 0x00000084, 0x0000041f,
+ 0x0000e583, 0x02000008, 0x00000084, 0x56b83a16, 0x0000d000, 0x00383000,
+ 0x00008000, 0x56b85224, 0x0000d000, 0x00384000, 0x00000000, 0x00002e9e,
+ 0x0000f008, 0x00002ec9, 0x0000f000, 0x01400020, 0x0000e180, 0x08001a16,
+ 0x00006106, 0x15d00002, 0x0000e180, 0x0010b005, 0x0000e184, 0x15800000,
+ 0x00006180, 0x00282057, 0x0000e080, 0x8440b057, 0x0000e000, 0xe000000c,
+ 0x0000b401, 0x733828ec, 0x0000d600, 0x00000000, 0x00008080, 0x00182056,
+ 0x00006100, 0x0000b057, 0x0000b085, 0x001018ec, 0x00005780, 0x00007000,
+ 0x00000080, 0x15083804, 0x00006180, 0x15400000, 0x00004980, 0x15a0bd18,
+ 0x000080b2, 0x00908eec, 0x00005f80, 0x00d07540, 0x000000c4, 0x80040635,
+ 0x00001583, 0x0931ae35, 0x0000e111, 0xc3c00000, 0x00004989, 0x00002f58,
+ 0x0000f009, 0x01c3e824, 0x00009282, 0x09007d18, 0x00009289, 0x000030b1,
+ 0x0000f011, 0xfc400c24, 0x00004289, 0x86401424, 0x00000b8f, 0x2f008623,
+ 0x0000f896, 0x41800000, 0x00001885, 0x0000040b, 0x0000e583, 0x85999332,
+ 0x00000900, 0x8591b236, 0x00001910, 0x00002fe6, 0x0000f011, 0x08800000,
+ 0x0000f900, 0x00040000, 0x00000980, 0x0400b022, 0x00006107, 0x0800b220,
+ 0x0000b106, 0x82000000, 0x0000e181, 0x0801ad08, 0x0000e002, 0x08b94429,
+ 0x00008238, 0xdd81870c, 0x0000f88f, 0x19400000, 0x0000178b, 0x11004044,
+ 0x00006380, 0x12840000, 0x00008980, 0xe240e84b, 0x00006002, 0x80005844,
+ 0x0000b406, 0x0002404a, 0x0000e084, 0xb0000847, 0x00003401, 0xa740c044,
+ 0x00006000, 0x00040048, 0x0000b486, 0x4000051d, 0x00006583, 0x0018e84b,
+ 0x00002182, 0x0028e848, 0x00006084, 0xe0001847, 0x00003403, 0x1140d01a,
+ 0x00006100, 0x0740e835, 0x00006012, 0x5288f11e, 0x0000042a, 0xd110da1b,
+ 0x00009900, 0x9b400414, 0x0000f88b, 0x79400000, 0x00009785, 0x0000040b,
+ 0x0000e583, 0x00199016, 0x00002106, 0x0011b016, 0x0000e916, 0x00002fc7,
+ 0x0000f009, 0x82000000, 0x00009981, 0x08800000, 0x0000f900, 0x00040000,
+ 0x00000980, 0x0400b022, 0x00006107, 0x0800b220, 0x0000b106, 0x0b82604c,
+ 0x0000e100, 0x0a01b508, 0x00006002, 0x88926a4d, 0x00001900, 0xdd81870c,
+ 0x0000f88f, 0x19400000, 0x0000178b, 0x89202404, 0x00001900, 0xd6410c24,
+ 0x0000f902, 0x01c00000, 0x00000004, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0xff372807, 0x00004411, 0x0a400608, 0x00000c88, 0x0149fb05,
+ 0x0000f89a, 0x51800000, 0x0000178b, 0x0000040b, 0x00001583, 0x0902704e,
+ 0x00006110, 0x859a6b4d, 0x00004910, 0x0901502a, 0x00006108, 0x85994b29,
+ 0x00004908, 0xc0110307, 0x00009502, 0x8010b207, 0x00009502, 0x00012021,
+ 0x00001502, 0x00003004, 0x0000f010, 0x00003004, 0x0000f010, 0x00002f67,
+ 0x00007008, 0x82000000, 0x00009981, 0xc1800000, 0x00009981, 0x40001508,
+ 0x00006583, 0xc000080c, 0x0000a403, 0x007976ec, 0x0000570c, 0x00391000,
+ 0x00008000, 0x117976ec, 0x0000570c, 0x00391000, 0x00008000, 0x0000304d,
+ 0x00007010, 0x80000608, 0x0000e583, 0xf0000815, 0x0000a401, 0x227976ec,
+ 0x0000d704, 0x0038a800, 0x00000000, 0x08004000, 0x0000f900, 0x0005001a,
+ 0x00000980, 0x200004ec, 0x00005784, 0x00390016, 0x00002a00, 0x01c00000,
+ 0x00007900, 0x0015001e, 0x00000980, 0x30e84007, 0x00006880, 0x20383cec,
+ 0x0000d704, 0x00081815, 0x00000480, 0x01e9800c, 0x00009980, 0x00284007,
+ 0x00006804, 0x20383cec, 0x0000d704, 0x00199819, 0x00000080, 0x01f0380c,
+ 0x00001980, 0x0000303f, 0x0000f410, 0x04202007, 0x0000e901, 0x00383cec,
+ 0x00005704, 0x00000000, 0x00008080, 0x01c00000, 0x00007900, 0x00040000,
+ 0x00000980, 0x0000040b, 0x00001583, 0x00127007, 0x0000e196, 0x001a7020,
+ 0x00003196, 0x89194b29, 0x0000e108, 0x891a6b4d, 0x0000c910, 0x00195020,
+ 0x0000e18e, 0x00115007, 0x0000318e, 0xffffffff, 0x00007f86, 0x04112020,
+ 0x00006187, 0x0000a807, 0x00003107, 0x117906ec, 0x00005704, 0x00383800,
+ 0x00000000, 0xf0000807, 0x0000ec01, 0x227906ec, 0x00005704, 0x00383800,
+ 0x00000000, 0x05408000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec,
+ 0x0000d784, 0x0038a812, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811,
+ 0x00000080, 0x01c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202007,
+ 0x0000e901, 0x20383cec, 0x0000d704, 0x00191011, 0x00000280, 0x01f01000,
+ 0x0000f900, 0x00020018, 0x00000980, 0x04000810, 0x00006380, 0x020046e3,
+ 0x00008081, 0x30e04007, 0x0000e880, 0x20383cec, 0x0000d704, 0x0010a019,
+ 0x00008680, 0xcef922ec, 0x00002004, 0xffffffff, 0x00007fa7, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xcef922ec, 0x00002814, 0x98001425,
+ 0x0000788b, 0xd1400000, 0x00001785, 0x007976ec, 0x0000d704, 0x00391000,
+ 0x00008000, 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x08281000,
+ 0x0000f900, 0x00020014, 0x00000980, 0x80000608, 0x0000e583, 0x090046e3,
+ 0x00000081, 0x30e12020, 0x00006880, 0x20081cec, 0x0000d784, 0x00390015,
+ 0x00000400, 0x00003075, 0x0000f010, 0x01c00000, 0x00007900, 0x00040000,
+ 0x00000980, 0x0000040b, 0x00001583, 0x00127007, 0x0000e196, 0x001a7020,
+ 0x00003196, 0x89194b29, 0x0000e108, 0x891a6b4d, 0x0000c910, 0x00195020,
+ 0x0000e18e, 0x00115007, 0x0000318e, 0xffffffff, 0x00007f86, 0x04112020,
+ 0x00006187, 0x0000a807, 0x00003107, 0x117906ec, 0x00005704, 0x00383800,
+ 0x00000000, 0xf0000807, 0x0000ec01, 0x227906ec, 0x00005704, 0x00383800,
+ 0x00000000, 0x08008000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec,
+ 0x0000d784, 0x00390012, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811,
+ 0x00000080, 0x01c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202007,
+ 0x0000e901, 0x20383cec, 0x0000d704, 0x00191011, 0x00000280, 0x40000d08,
+ 0x00009583, 0x04000810, 0x0000e390, 0x01e8380a, 0x00000990, 0x04202007,
+ 0x00006911, 0x0000307e, 0x00007008, 0x20383cec, 0x0000d704, 0x00095019,
+ 0x00000680, 0x98001425, 0x0000788b, 0xd1400000, 0x00001785, 0x81c002ec,
+ 0x00005684, 0x00400000, 0x00008000, 0x04000810, 0x00006380, 0x01c00000,
+ 0x00000980, 0x00113015, 0x0000e186, 0x0410a807, 0x0000b187, 0x04193015,
+ 0x0000e987, 0x81f8acec, 0x0000d604, 0x00383800, 0x00000000, 0x0568380a,
+ 0x00001980, 0x04202015, 0x0000e901, 0xffffffff, 0x00007ff7, 0xffffffff,
+ 0x00007fc7, 0x81f83aec, 0x0000a684, 0xffffffff, 0x00007fa7, 0x89001407,
+ 0x00009880, 0x4b416e24, 0x0000f902, 0x0b000000, 0x00000004, 0x4b815824,
+ 0x0000f902, 0x0a000000, 0x00008004, 0x4b813a24, 0x00007902, 0x09800000,
+ 0x00000004, 0x4b810c24, 0x00007902, 0x08000000, 0x00000004, 0x200384ec,
+ 0x0000d784, 0x0038a81a, 0x00008000, 0x00396cec, 0x0000d704, 0x00396000,
+ 0x00000000, 0x00395cec, 0x0000d704, 0x00394000, 0x00008000, 0x00393cec,
+ 0x0000d704, 0x00393000, 0x00000000, 0x00390cec, 0x0000d704, 0x00390000,
+ 0x00000000, 0x0570d800, 0x00007900, 0x00020018, 0x00000980, 0x200924ec,
+ 0x0000d784, 0x0038a815, 0x00000400, 0x000994ec, 0x0000d784, 0x00000019,
+ 0x00008280, 0x98001425, 0x0000788b, 0xd1400000, 0x00001785, 0xceb922ec,
+ 0x0000a004, 0x82000000, 0x0000e181, 0xc000000c, 0x0000e403, 0xffffffff,
+ 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb922ec,
+ 0x0000a814, 0xd6c0040b, 0x0000f88b, 0x39400000, 0x0000178f, 0x81804623,
+ 0x00001283, 0x82000000, 0x00006189, 0xc000000c, 0x0000640b, 0xceb926ec,
+ 0x0000a00c, 0x000030d2, 0x00007010, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xceb926ec, 0x00002814, 0xd6c0040b,
+ 0x0000f88b, 0x39400000, 0x0000178f, 0x0000040b, 0x0000e583, 0x0e00c721,
+ 0x0000a006, 0x8911b236, 0x0000e110, 0x89199332, 0x0000c908, 0x000004e3,
+ 0x0000e583, 0x05400000, 0x00000980, 0x887f1fe3, 0x00006100, 0x88602404,
+ 0x0000c901, 0x08092416, 0x00000202, 0x000030de, 0x00007010, 0x01000020,
+ 0x00001980, 0x0389c800, 0x0000f900, 0x00151b50, 0x00000980, 0x03eee800,
+ 0x0000f900, 0x000e1256, 0x00000980, 0x81008000, 0x00009980, 0xc1002800,
+ 0x00006181, 0x08001a0c, 0x0000e106, 0x83200500, 0x00008032, 0x30d20f22,
+ 0x0000f500, 0x03790f02, 0x00000108, 0x02390715, 0x00008028, 0x000004e3,
+ 0x0000e583, 0x887f1fe3, 0x00008900, 0x4869ae04, 0x00008206, 0x08395f34,
+ 0x00008114, 0x000030f5, 0x00007010, 0x01000020, 0x00001980, 0x0387a800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x000030cc, 0x00007400, 0x03e9c000,
+ 0x00007900, 0x003be25c, 0x00000980, 0x81007800, 0x00001980, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x2209c800, 0x00007900, 0x00151b50,
+ 0x00000980, 0x226ee800, 0x00007900, 0x000e1256, 0x00000980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x30ea0f4f,
+ 0x0000f500, 0x1d790721, 0x00000914, 0x62800010, 0x000009d0, 0x0d004000,
+ 0x00001980, 0x30ec0fdd, 0x0000f100, 0xce7926ec, 0x00002004, 0x82000000,
+ 0x0000e181, 0xc000000c, 0x0000e403, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0xd6c0040b,
+ 0x0000f88b, 0x39400000, 0x0000178f, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980, 0x2269c000,
+ 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x31020f4f, 0x00007500, 0x1d79a721,
+ 0x00000914, 0xa2807800, 0x00006180, 0x2501582b, 0x00004900, 0x000030eb,
+ 0x00007200, 0x0d003800, 0x00001980, 0x00000c04, 0x00009583, 0x82002206,
+ 0x00006088, 0x82002a06, 0x00008090, 0x88000a06, 0x00006088, 0x88001206,
+ 0x00000090, 0x56803208, 0x0000f902, 0x02c00000, 0x00008000, 0x56805220,
+ 0x0000f902, 0x01c00000, 0x00008000, 0x85802209, 0x00006088, 0x89000a09,
+ 0x00008088, 0x89001209, 0x0000e090, 0x85802a09, 0x00008090, 0x0180331b,
+ 0x00001002, 0x02805219, 0x0000e002, 0x02c0000b, 0x00000084, 0x56b85220,
+ 0x0000a880, 0xe3785416, 0x00002084, 0x01c00007, 0x00009084, 0x56b83208,
+ 0x00005000, 0x00385800, 0x00000000, 0x56b83a20, 0x0000a800, 0xe3784416,
+ 0x00002004, 0xe3403c24, 0x00007902, 0x01800000, 0x00008004, 0x0280531b,
+ 0x00001002, 0xe3785416, 0x0000a884, 0x02000008, 0x00009084, 0x01c03a19,
+ 0x00001002, 0x0000041f, 0x0000e583, 0x01800006, 0x00000084, 0xe3784416,
+ 0x0000a804, 0xe3783c24, 0x00005004, 0x00383000, 0x00008000, 0x00002e9e,
+ 0x0000f008, 0x00002ec9, 0x0000f000, 0x000040ec, 0x00007902, 0x01c00000,
+ 0x00008704, 0xd0600606, 0x0000c28b, 0x5c41870c, 0x00008c8a, 0x63802623,
+ 0x0000f896, 0xf9800000, 0x0000188a, 0x0c004424, 0x00006000, 0x0bc04416,
+ 0x00003000, 0x00002e83, 0x0000f400, 0x01212416, 0x00009303, 0xc000080c,
+ 0x0000e40b, 0xc000180c, 0x00003413, 0xceb924ec, 0x00002084, 0xc730300c,
+ 0x00006803, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824,
+ 0x00001090, 0xceb924ec, 0x00002894, 0xa929fb05, 0x0000459b, 0xd481870c,
+ 0x00005e8f, 0x000038ec, 0x00007902, 0x05000000, 0x00000704, 0xffffffff,
+ 0x00007fa7, 0x0bc03c24, 0x0000e000, 0x0c003c16, 0x0000b000, 0x01612416,
+ 0x00001303, 0x81b04608, 0x00006109, 0x0c019314, 0x0000e116, 0x85a02404,
+ 0x00001910, 0x00002f05, 0x0000f008, 0x0000040b, 0x00001583, 0x001a6814,
+ 0x0000e196, 0x00194814, 0x0000318e, 0x0901502a, 0x00006108, 0x0902704e,
+ 0x00004910, 0x00002f05, 0x0000f400, 0xd678a416, 0x00002804, 0xd6792416,
+ 0x0000a884, 0x0000040b, 0x0000e583, 0x05400000, 0x00000980, 0x0802704e,
+ 0x0000e110, 0xc85a6b4d, 0x00004910, 0x0801502a, 0x0000e108, 0xc8594b29,
+ 0x00004908, 0x000004e3, 0x0000e583, 0x087f1fe3, 0x00008901, 0x48602404,
+ 0x00009901, 0x01000020, 0x00009988, 0x00003178, 0x0000f010, 0x038f0800,
+ 0x0000f900, 0x003884ca, 0x00000980, 0x000030cc, 0x00007400, 0x03e3e800,
+ 0x00007900, 0x001b7e4e, 0x00008980, 0x81012000, 0x00001980, 0xceb924ec,
+ 0x0000a004, 0xc730300c, 0x00006803, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x00002e83, 0x0000f400, 0x09000824, 0x00001090, 0xceb924ec,
+ 0x0000a814, 0x000038ec, 0x00007902, 0x02800000, 0x00000704, 0xffffffff,
+ 0x00007fa7, 0x0bc03c24, 0x0000e000, 0x0c003c16, 0x0000b000, 0x01612416,
+ 0x00001303, 0x85a02404, 0x00006110, 0x81b04608, 0x00004909, 0x0c019308,
+ 0x0000e916, 0x00003128, 0x0000f008, 0x0000040b, 0x00001583, 0x001a6808,
+ 0x00006196, 0x00194808, 0x0000b18e, 0x0901502a, 0x00006108, 0x0902704e,
+ 0x00004910, 0x00003128, 0x0000f400, 0xd6784416, 0x0000a804, 0xd6792416,
+ 0x0000a884, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x220f0800,
+ 0x00007900, 0x003884ca, 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x31840f4f, 0x0000f500, 0x1d790721, 0x00000914, 0x62800024,
+ 0x000089d0, 0x31860fdd, 0x0000f300, 0x0d00a000, 0x00009980, 0xce7926ec,
+ 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x9ee9fb05,
+ 0x0000c59b, 0xcf61870c, 0x0000d98e, 0x0000040b, 0x0000e583, 0x05400000,
+ 0x00000980, 0x0802704e, 0x0000e110, 0x891a6b4d, 0x0000c910, 0x0801502a,
+ 0x0000e108, 0x89194b29, 0x0000c908, 0x000004e3, 0x0000e583, 0x087f1fe3,
+ 0x00008901, 0x88582124, 0x00000206, 0x01000020, 0x00009988, 0x0000319f,
+ 0x0000f010, 0x03955800, 0x00007900, 0x003884cc, 0x00000980, 0x000030cc,
+ 0x00007400, 0x03e3e800, 0x00007900, 0x001b7e4e, 0x00008980, 0x81012000,
+ 0x00001980, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22155800,
+ 0x0000f900, 0x003884cc, 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x31ab0f4f, 0x00007500, 0x1d790721, 0x00000914, 0x62800024,
+ 0x000089d0, 0x31ad0fdd, 0x0000f300, 0x0d00a000, 0x00009980, 0xce7926ec,
+ 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824,
+ 0x00009502, 0x00002e83, 0x0000f400, 0x09000824, 0x00001090, 0xce7926ec,
+ 0x00002814, 0x84ff1fe3, 0x0000e100, 0x1301a034, 0x00004900, 0x43b89013,
+ 0x00002080, 0x1379b735, 0x00000438, 0x12398f30, 0x00000424, 0x12b99f32,
+ 0x0000042c, 0x0b391f20, 0x0000023c, 0x06b87f0e, 0x0000012c, 0x43f88000,
+ 0x00007900, 0x00003ffe, 0x00000980, 0x03600000, 0x000080d9, 0x0d79772d,
+ 0x00000318, 0x0c394f28, 0x00000304, 0x0cb95f2a, 0x0000030c, 0x08390f18,
+ 0x00008234, 0x0bb8e722, 0x00008220, 0x0a78f71d, 0x00000228, 0x0638a70c,
+ 0x00008130, 0xcd40a608, 0x0000f902, 0x02000000, 0x00000004, 0x0778b715,
+ 0x00000138, 0x8b40b607, 0x0000f902, 0x05400000, 0x00000004, 0xffffffff,
+ 0x00007f86, 0x03000000, 0x00001980, 0x67c00635, 0x0000c392, 0x0060871c,
+ 0x00008090, 0x37610516, 0x00004595, 0x9ae00448, 0x000000cc, 0x2ac10516,
+ 0x0000c58f, 0x32400e15, 0x0000b091, 0x41c10516, 0x00009283, 0x00000448,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x0000338a, 0x0000f010, 0x0000337e,
+ 0x0000f048, 0x82c00000, 0x00001980, 0x84400fe2, 0x00001880, 0x50c0bc11,
+ 0x0000a080, 0xffffffff, 0x00007fa7, 0x01408417, 0x00009283, 0x00003346,
+ 0x0000f013, 0x41c0150d, 0x00006283, 0x08c19417, 0x0000a004, 0x04c01c17,
+ 0x00006291, 0x86771ee3, 0x00008910, 0x04801c13, 0x00009891, 0x000031ea,
+ 0x00007008, 0x00001c17, 0x00009583, 0x51783c19, 0x0000a018, 0x51783c19,
+ 0x000020b0, 0xffffffff, 0x00007fa7, 0x05e09007, 0x00001700, 0xd760b814,
+ 0x0000e805, 0x00001416, 0x00006583, 0x43686f08, 0x00000301, 0x0ae04714,
+ 0x00000230, 0xc000080c, 0x00006c0b, 0x0000338d, 0x00007010, 0x41c04516,
+ 0x00009283, 0x00003305, 0x00007013, 0x01440448, 0x00009283, 0x08025417,
+ 0x00006094, 0x08024417, 0x0000b08c, 0xffffffff, 0x00007f86, 0x8220ba20,
+ 0x00006100, 0x0e424417, 0x00002000, 0x78a01416, 0x00004390, 0x00704016,
+ 0x00008028, 0x7fc60516, 0x0000788e, 0x01800001, 0x00008000, 0x7d808535,
+ 0x0000f897, 0x49800000, 0x00009987, 0xf8810615, 0x00007896, 0x09800000,
+ 0x0000998c, 0x0c00da13, 0x0000e904, 0x80008213, 0x00009582, 0x000032cf,
+ 0x00007053, 0x0c00da17, 0x0000e104, 0x0006000d, 0x0000b486, 0x84c0c608,
+ 0x00006080, 0x0000000d, 0x00002587, 0x03800000, 0x0000e180, 0x0400c00d,
+ 0x00006006, 0x85583217, 0x0000e000, 0x4400c00d, 0x0000a002, 0xc180471c,
+ 0x0000e283, 0x0020200e, 0x0000a206, 0x83381002, 0x00006180, 0x11000000,
+ 0x00004980, 0x84d0aa13, 0x00006000, 0xe000080c, 0x00002403, 0x7340e044,
+ 0x0000e000, 0x0410980d, 0x00003185, 0x83c00535, 0x00008494, 0x000032bd,
+ 0x00007410, 0x11800000, 0x000084dc, 0xc3a02404, 0x00009901, 0xc000071c,
+ 0x00001583, 0x01400c1d, 0x00006283, 0x90000847, 0x0000a44b, 0x000032ad,
+ 0x00007013, 0xcef840ec, 0x00002004, 0x00000448, 0x00006583, 0x85402215,
+ 0x00000080, 0x0a02604c, 0x0000e148, 0x8a526a4d, 0x0000c948, 0x0a82704e,
+ 0x00006148, 0xca5a6b4d, 0x00004948, 0x00072808, 0x00001502, 0x04c00808,
+ 0x00001090, 0xcef898ec, 0x00002814, 0x42004516, 0x00009283, 0x0000327a,
+ 0x00007013, 0x0d40b407, 0x0000e000, 0x0e424413, 0x00003000, 0x09006405,
+ 0x00006002, 0x0801ac04, 0x00003002, 0xe5000405, 0x0000f88a, 0x01800001,
+ 0x00008000, 0x00000407, 0x00007888, 0x00000000, 0x00000000, 0x00000c05,
+ 0x0000f88a, 0x00000000, 0x00008020, 0x06001404, 0x0000ca89, 0x24401404,
+ 0x00001997, 0xffffffff, 0x00007f86, 0x56c05806, 0x0000f902, 0x02800000,
+ 0x00000000, 0x56804206, 0x0000f902, 0x01c00000, 0x00008000, 0xffffffff,
+ 0x00007f97, 0x02c0080b, 0x00001082, 0x02004215, 0x0000e002, 0x0280000a,
+ 0x00000084, 0x00000413, 0x0000e583, 0x01c00007, 0x00000084, 0x56f85806,
+ 0x00005000, 0x00385000, 0x00008000, 0x56b84206, 0x00005000, 0x00383800,
+ 0x00000000, 0x0000334e, 0x00007010, 0x018000e0, 0x0000e180, 0x08001a19,
+ 0x00006106, 0x0c006a11, 0x0000e184, 0x0e002c12, 0x00003000, 0x01c00000,
+ 0x00007900, 0x001f0000, 0x00000980, 0x15800000, 0x00006180, 0x0010c806,
+ 0x0000e184, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080, 0x00000412,
+ 0x00006583, 0x81d08aec, 0x00000100, 0x15d00002, 0x0000e180, 0x00182056,
+ 0x00006100, 0x20383eec, 0x00005600, 0x0038c000, 0x00008000, 0x15083804,
+ 0x00006180, 0x00282057, 0x0000e080, 0x000818ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0x15400000, 0x000085e0, 0x0000325d, 0x0000f408, 0x16400000,
+ 0x000005e8, 0x1580051a, 0x000085ac, 0x43012000, 0x00001981, 0x00908eec,
+ 0x00005f80, 0x00d07540, 0x00000184, 0x4300b800, 0x00001981, 0x00908eec,
+ 0x00005f80, 0x00d07540, 0x000000c4, 0x56c05806, 0x0000f902, 0x02800000,
+ 0x00000000, 0x56804206, 0x0000f902, 0x01c00000, 0x00008000, 0xe3808a09,
+ 0x0000f902, 0x04000000, 0x00000004, 0xe340a409, 0x0000f902, 0x04800000,
+ 0x00008004, 0x02c0080b, 0x00001082, 0x02004215, 0x0000e002, 0x0280000a,
+ 0x00000084, 0x04400811, 0x0000e082, 0x01c00007, 0x00000084, 0x0500a215,
+ 0x0000e002, 0x04000010, 0x00000084, 0x04800012, 0x00009084, 0x56f85806,
+ 0x00005000, 0x00385000, 0x00008000, 0x56b84206, 0x00005000, 0x00383800,
+ 0x00000000, 0xe3b88a09, 0x0000d004, 0x00388000, 0x00000000, 0xe378a409,
+ 0x0000d004, 0x00389000, 0x00008000, 0x90800413, 0x0000788a, 0x71800000,
+ 0x0000998a, 0xc0000709, 0x00009583, 0x00003226, 0x00007013, 0x01400800,
+ 0x00006181, 0x0e424417, 0x0000e000, 0x94001510, 0x0000c290, 0x04600609,
+ 0x00008c8d, 0x8f000609, 0x0000f88b, 0x39800000, 0x00009a86, 0x000058ec,
+ 0x00007902, 0x02000000, 0x00008704, 0x51400405, 0x0000418a, 0x0061870c,
+ 0x00008090, 0xf409fb05, 0x0000c59a, 0x7a01870c, 0x00008288, 0x2c802615,
+ 0x0000f897, 0xc1800000, 0x00009a84, 0x0c005c17, 0x00006000, 0x0bc05c19,
+ 0x00003000, 0x0160bc19, 0x00001303, 0x064046e3, 0x00006089, 0xc000100c,
+ 0x00002413, 0x02e8380a, 0x00009988, 0x000032a1, 0x00007010, 0x02281000,
+ 0x0000f900, 0x00020014, 0x00000980, 0x30e0c808, 0x00006080, 0x0420200b,
+ 0x00003101, 0x203844ec, 0x0000d704, 0x00385800, 0x00000000, 0x000854ec,
+ 0x00005784, 0x00000015, 0x00000680, 0x000058ec, 0x00007902, 0x02000000,
+ 0x00008704, 0xffffffff, 0x00007fa7, 0x0c005c13, 0x0000e000, 0x0bc05c19,
+ 0x00003000, 0x01609c19, 0x00009303, 0xc000080c, 0x0000e40b, 0xc000180c,
+ 0x00003413, 0xc009fb05, 0x00001582, 0xc141870c, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x00003226, 0x0000f018, 0x00003226, 0x00007008, 0x00080010,
+ 0x0000ed87, 0x00202010, 0x0000e886, 0x09006610, 0x0000e802, 0x00003226,
+ 0x00007400, 0xa5783e0a, 0x00005004, 0x0038a000, 0x00008000, 0xa5b8800a,
+ 0x0000a884, 0xcef840ec, 0x00002004, 0xc0002f12, 0x00006583, 0x85402215,
+ 0x00000080, 0xb0000047, 0x0000ec11, 0xe0001847, 0x00006c13, 0x00000448,
+ 0x00006583, 0xb740e047, 0x0000a011, 0x0a02604c, 0x0000e148, 0x8a526a4d,
+ 0x0000c948, 0xca5a6b4d, 0x00006148, 0x0a82704e, 0x00004948, 0x00072808,
+ 0x00001502, 0x04c00808, 0x00001090, 0xcef898ec, 0x00002814, 0xed604516,
+ 0x0000c58d, 0xf6a00709, 0x00007c90, 0x4200851e, 0x0000e283, 0x40000844,
+ 0x0000a402, 0x91972ae5, 0x0000e100, 0x0c00f217, 0x00006190, 0x84c00a17,
+ 0x00001890, 0x00003216, 0x00007008, 0x0c40f417, 0x00006000, 0x04109849,
+ 0x00003183, 0x4202051e, 0x0000e283, 0x04c01417, 0x00008081, 0x04c01000,
+ 0x00006191, 0x41209844, 0x0000e002, 0xc000071c, 0x0000e583, 0x04c00800,
+ 0x00008989, 0x90000847, 0x0000ec4b, 0xe7a09849, 0x0000e803, 0x86800c1d,
+ 0x0000788e, 0x69800000, 0x00009985, 0x82801615, 0x00001283, 0x0000340f,
+ 0x0000f013, 0xceb898ec, 0x0000a004, 0x0c00da17, 0x0000e104, 0x0006000d,
+ 0x0000b486, 0x03800000, 0x0000e180, 0x0000000d, 0x0000e587, 0x85583217,
+ 0x0000e000, 0x0400c00d, 0x0000a006, 0x00072813, 0x0000e502, 0x0020200e,
+ 0x0000a206, 0x04c00813, 0x0000e090, 0x4400c00d, 0x0000a002, 0xceb898ec,
+ 0x0000a814, 0x84c0c608, 0x00006080, 0x83381002, 0x00008980, 0x11000000,
+ 0x00006180, 0x84d0aa13, 0x0000c000, 0x7340e044, 0x0000e000, 0xc000200c,
+ 0x0000b407, 0xc3f1ae35, 0x00006101, 0x0410980d, 0x00006185, 0x11400000,
+ 0x000004d8, 0x43800304, 0x0000049c, 0x8580471c, 0x0000f88e, 0xe9800000,
+ 0x00001985, 0x0c80b419, 0x00006802, 0x01401419, 0x00001283, 0x03c09eec,
+ 0x0000f912, 0x04400000, 0x00000000, 0x040070ec, 0x00007912, 0x02c00000,
+ 0x00008000, 0x000031ff, 0x0000f008, 0x06519a33, 0x00001900, 0x00119813,
+ 0x0000f808, 0x00000000, 0x00000000, 0x00008819, 0x00007808, 0x00000000,
+ 0x00008020, 0x00007019, 0x0000f808, 0x00000000, 0x00000060, 0x7fc05819,
+ 0x0000f812, 0x01800001, 0x00000010, 0x37820615, 0x0000f897, 0x01800001,
+ 0x00000080, 0xc000000c, 0x00006c03, 0xceb89eec, 0x00002084, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x00072813, 0x00001502, 0x04c00813,
+ 0x00001090, 0xceb89eec, 0x00002894, 0x0c00da13, 0x0000e904, 0xdfe08213,
+ 0x0000c5ba, 0x10c01615, 0x0000fc97, 0x82400000, 0x00006181, 0x0e424417,
+ 0x0000e000, 0x00000417, 0x00009583, 0x01c14028, 0x0000e108, 0x0c019211,
+ 0x0000610e, 0x05000000, 0x00007908, 0x00040000, 0x00000980, 0x0000353c,
+ 0x00007010, 0xc201870c, 0x00006283, 0x00019014, 0x00002107, 0x85114a29,
+ 0x00006100, 0x0801ad10, 0x0000e002, 0x00003325, 0x00007009, 0x42008516,
+ 0x00006283, 0x07c03807, 0x00008900, 0x0380a014, 0x00001900, 0x00003545,
+ 0x00007011, 0xc009fb05, 0x0000e582, 0x82400800, 0x00000981, 0x00003559,
+ 0x0000f01b, 0xa5409e0a, 0x00007902, 0x04400000, 0x00008004, 0xa5b8580a,
+ 0x00002084, 0xc2400000, 0x00009981, 0xffffffff, 0x00007f86, 0x00003813,
+ 0x00001502, 0x0000a011, 0x00001502, 0x0020240b, 0x00009503, 0x0000355a,
+ 0x00007010, 0x0000355a, 0x00007010, 0x0000355a, 0x00007010, 0xc730580c,
+ 0x0000e803, 0x000031f1, 0x00007200, 0xc2400800, 0x00001981, 0x81801635,
+ 0x00006283, 0x82d0e21c, 0x00000900, 0x81808615, 0x00001283, 0xffffffff,
+ 0x00007f86, 0x00003333, 0x00007008, 0x00003448, 0x0000f010, 0xceb8caec,
+ 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072819,
+ 0x00001502, 0x06400819, 0x00001090, 0xceb8caec, 0x00002814, 0x01440448,
+ 0x00006283, 0xcc905a0b, 0x00008900, 0xc1802000, 0x0000e180, 0x4340150d,
+ 0x0000c381, 0x8d905a0b, 0x00009910, 0x84400fe2, 0x00001880, 0x50c0bc11,
+ 0x0000a080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xd4408417,
+ 0x0000458e, 0x6a20171c, 0x00000096, 0x81c3fe35, 0x00001283, 0x4371ae35,
+ 0x00009911, 0x64e0871c, 0x0000c18e, 0x00610516, 0x00000088, 0x32200e15,
+ 0x0000478e, 0x1b410516, 0x00008494, 0xdf800448, 0x0000f8ca, 0xc1800000,
+ 0x0000188e, 0xc1c0171c, 0x00009283, 0x000031de, 0x0000f013, 0x41c0150d,
+ 0x00009283, 0xc1802000, 0x00006188, 0x04105832, 0x0000618f, 0x000031de,
+ 0x0000f400, 0x4340150d, 0x00001389, 0xd760b832, 0x00006805, 0x0c825c13,
+ 0x0000e802, 0x00001413, 0x00009583, 0x84c03209, 0x0000e088, 0x86404a09,
+ 0x00008088, 0x00003358, 0x00007009, 0x00001c13, 0x00001583, 0x86405209,
+ 0x0000e088, 0x84c03a09, 0x00000088, 0x84c04209, 0x00006090, 0x86405a09,
+ 0x00000090, 0x15800000, 0x00006180, 0x0c006a11, 0x0000e184, 0xe3403c19,
+ 0x0000f902, 0x01800000, 0x00008004, 0xe3404c13, 0x00007902, 0x02000000,
+ 0x00000004, 0x15d00002, 0x0000e180, 0x00182056, 0x00006100, 0x0e002c12,
+ 0x00006000, 0x00282057, 0x0000b080, 0x01c00807, 0x0000e082, 0x15083804,
+ 0x00008980, 0x01800006, 0x00006084, 0x15400000, 0x00008980, 0x02404a15,
+ 0x0000e002, 0x16000000, 0x00000980, 0xe3783c19, 0x0000d004, 0x00383000,
+ 0x00008000, 0x02000008, 0x00006084, 0x08001a19, 0x0000a106, 0x018000e0,
+ 0x0000e180, 0x16400000, 0x00004980, 0xe3784c13, 0x00005004, 0x00384000,
+ 0x00000000, 0x01c00000, 0x00007900, 0x001f0000, 0x00000980, 0x81d08aec,
+ 0x00006100, 0x0010c806, 0x00002184, 0x733830ec, 0x0000d600, 0x00000000,
+ 0x00008080, 0x20383eec, 0x00005600, 0x0038c000, 0x00008000, 0x000818ec,
+ 0x00005780, 0x00d07280, 0x000081c0, 0x16800000, 0x000085ec, 0xd598d31a,
+ 0x00009900, 0x97400412, 0x0000788a, 0xd1800000, 0x00001982, 0x000031d9,
+ 0x00007200, 0x82c00000, 0x00006180, 0xcc91b236, 0x00004900, 0xcef898ec,
+ 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072813,
+ 0x00001502, 0x04c00813, 0x00001090, 0xcef898ec, 0x0000a894, 0x0c00da13,
+ 0x0000e904, 0xcf408213, 0x0000c5bb, 0x88601615, 0x0000f494, 0x82d0aa15,
+ 0x00009900, 0xf5001635, 0x0000c58f, 0x0bc08615, 0x0000fa91, 0xceb8b8ec,
+ 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072817,
+ 0x00009502, 0x000031f1, 0x00007400, 0x05c00817, 0x00001090, 0xceb8b8ec,
+ 0x0000a894, 0x84403206, 0x00001080, 0x56803a11, 0x0000f902, 0x01800000,
+ 0x00000000, 0xffffffff, 0x00007fa7, 0x01c00807, 0x00001082, 0x00000413,
+ 0x0000e583, 0x01800006, 0x00000084, 0x56b83a11, 0x00005000, 0x00383000,
+ 0x00008000, 0x0c825c12, 0x0000e812, 0x00003242, 0x0000f008, 0x00001412,
+ 0x00001583, 0x84806209, 0x00009088, 0x000033a5, 0x0000f009, 0x00001c12,
+ 0x00009583, 0x84807209, 0x0000e090, 0x84806a09, 0x00008088, 0x08001a19,
+ 0x00006106, 0x0c006a11, 0x0000b184, 0xe3403c12, 0x00007902, 0x01800000,
+ 0x00008004, 0x15800000, 0x00006180, 0x15d00002, 0x0000c980, 0x00182056,
+ 0x00006100, 0x00282057, 0x0000b080, 0x15083804, 0x00006180, 0x15400000,
+ 0x00004980, 0x01c00807, 0x0000e082, 0x16000000, 0x00000980, 0x01800006,
+ 0x00006084, 0x16400000, 0x00008980, 0xe3783c12, 0x00005004, 0x00383000,
+ 0x00008000, 0x018000e0, 0x0000e180, 0x0e002c12, 0x00006000, 0x01c00000,
+ 0x00007900, 0x001f0000, 0x00000980, 0x81d08aec, 0x00006100, 0x0010c806,
+ 0x00002184, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080, 0x20383eec,
+ 0x00005600, 0x0038c000, 0x00008000, 0x000818ec, 0x00005780, 0x00d07280,
+ 0x000081c0, 0x16800000, 0x000085ec, 0xd598d31a, 0x00009900, 0x97400412,
+ 0x0000788a, 0xd1800000, 0x00001982, 0xceb8b8ec, 0x0000a084, 0x0c00da13,
+ 0x00006104, 0xc000000c, 0x0000b403, 0xffffffff, 0x00007f97, 0x00072817,
+ 0x00009502, 0x05c00817, 0x00001090, 0xceb8b8ec, 0x0000a894, 0xc6c08213,
+ 0x000045bb, 0x84201615, 0x0000f092, 0x00000c04, 0x00009583, 0x84802206,
+ 0x0000e088, 0x84802a06, 0x00000090, 0x86401206, 0x00006090, 0x86400a06,
+ 0x00000088, 0x56803212, 0x00007902, 0x02800000, 0x00000000, 0x56804219,
+ 0x00007902, 0x01c00000, 0x00008000, 0xffffffff, 0x00007f97, 0x01800806,
+ 0x00001082, 0x02004215, 0x0000e002, 0x0280000a, 0x00000084, 0x01c00007,
+ 0x00009084, 0x56b83212, 0x0000d000, 0x00385000, 0x00008000, 0x56b84219,
+ 0x0000d000, 0x00383800, 0x00000000, 0x90800413, 0x0000788a, 0x71800000,
+ 0x0000998a, 0x000004e3, 0x0000e583, 0x05c00000, 0x00008980, 0x04400000,
+ 0x00006180, 0x08024617, 0x0000e084, 0x84c84016, 0x0000810e, 0x000033f7,
+ 0x00007410, 0x85d822e3, 0x0000811e, 0x84510220, 0x00006100, 0xc3300600,
+ 0x0000c909, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03a2a000,
+ 0x00007900, 0x00151b4e, 0x00000980, 0x03d07800, 0x00007900, 0x0032d3fc,
+ 0x00008980, 0x83280500, 0x0000e101, 0x08001a0c, 0x0000e106, 0x0378bf02,
+ 0x00000108, 0x33f70f22, 0x00007500, 0x02b88f13, 0x00000020, 0x81009000,
+ 0x00001980, 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x2222a000,
+ 0x0000f900, 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x1d789f17, 0x00000914, 0x34040f4f, 0x00007500, 0x25009711,
+ 0x000088a9, 0xa2a0b416, 0x00001901, 0x34060fdd, 0x00007300, 0x0d003000,
+ 0x00009980, 0xce78beec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072817, 0x00009502, 0x05c00817, 0x00001090, 0xce78beec,
+ 0x00002814, 0x0c00da13, 0x0000e904, 0x40408213, 0x0000c9ba, 0xa2601615,
+ 0x00008c8d, 0x0c00db13, 0x0000e104, 0x0c00da11, 0x0000b104, 0x000004e3,
+ 0x0000e583, 0x04e02404, 0x00000901, 0x44e8d11c, 0x00008104, 0x01000000,
+ 0x0000f908, 0x00014040, 0x00000980, 0x00003422, 0x0000f010, 0x039d5800,
+ 0x0000f900, 0x003884ac, 0x00000980, 0x03eb3000, 0x0000f900, 0x002552dc,
+ 0x00000980, 0x02000000, 0x0000e180, 0x08001a0c, 0x0000e106, 0x8100d800,
+ 0x00006180, 0xc3300600, 0x00004901, 0x34220f22, 0x00007500, 0x83381400,
+ 0x00008034, 0x02b89f11, 0x00008108, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x221d5800, 0x00007900, 0x003884ac, 0x00000980, 0x226b3000,
+ 0x00007900, 0x002552dc, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x342e0f4f, 0x0000f500, 0x1d788f13,
+ 0x00000914, 0x6280001b, 0x000089d0, 0x34300fdd, 0x00007300, 0x0d002000,
+ 0x00001980, 0xce78beec, 0x00002004, 0x84c0c608, 0x00006080, 0x0006000d,
+ 0x00002486, 0x03800000, 0x0000e180, 0x0000000d, 0x0000e587, 0x0400c00d,
+ 0x00006006, 0x0020200e, 0x00003206, 0x00072817, 0x00006502, 0x4400c00d,
+ 0x0000a002, 0x05c00817, 0x0000e090, 0x83381002, 0x00008980, 0xce78beec,
+ 0x00002814, 0x11000000, 0x00006180, 0x0c00da17, 0x0000e104, 0x85583217,
+ 0x0000e000, 0xc000200c, 0x00002407, 0x84d0aa13, 0x00006000, 0x7340e044,
+ 0x00002000, 0xc3f1ae35, 0x00006101, 0x0410980d, 0x00006185, 0x11400000,
+ 0x000004d8, 0x43800304, 0x0000049c, 0x8580471c, 0x0000f88e, 0xe9800000,
+ 0x00001985, 0x000004e3, 0x0000e583, 0x04400000, 0x00008980, 0x0429940b,
+ 0x00008100, 0x847f1fe3, 0x00006100, 0x84602404, 0x0000c901, 0x0000345b,
+ 0x00007010, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x038d4800,
+ 0x0000f900, 0x003884c6, 0x00000980, 0x03eee800, 0x0000f900, 0x000e1256,
+ 0x00000980, 0x02000000, 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500,
+ 0x00008032, 0x345b0f22, 0x0000f500, 0x03788f02, 0x00000108, 0x81008000,
+ 0x0000e180, 0x02808010, 0x0000c900, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x220d4800, 0x00007900, 0x003884c6, 0x00000980, 0x226ee800,
+ 0x00007900, 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x34670f4f, 0x00007500, 0x1d788711,
+ 0x00000914, 0x62800010, 0x000009d0, 0x34690fdd, 0x00007300, 0x0d004000,
+ 0x00001980, 0xce78ceec, 0x0000a004, 0xcc905a0b, 0x00006100, 0xc000000c,
+ 0x0000e403, 0x4340150d, 0x00006381, 0xc1802000, 0x00000980, 0xffffffff,
+ 0x00007f86, 0x00072819, 0x00001502, 0x06400819, 0x00001090, 0xce78ceec,
+ 0x0000a814, 0x00003338, 0x0000f400, 0x01440448, 0x00009283, 0x8d905a0b,
+ 0x00009910, 0x00000c04, 0x00009583, 0x85c02206, 0x0000e088, 0x85c02a06,
+ 0x00000090, 0x84400a06, 0x0000e088, 0x84401206, 0x00008090, 0x56803217,
+ 0x00007902, 0x02800000, 0x00000000, 0x56804211, 0x0000f902, 0x01c00000,
+ 0x00008000, 0x84802209, 0x0000e088, 0x86400a09, 0x00000088, 0x86401209,
+ 0x00006090, 0x84802a09, 0x00000090, 0x01800806, 0x00001082, 0x02004215,
+ 0x0000e002, 0x0280000a, 0x00000084, 0x56b83217, 0x0000d000, 0x00385000,
+ 0x00008000, 0xe3785412, 0x0000a084, 0x01c00007, 0x00009084, 0x56b84211,
+ 0x00005000, 0x00383800, 0x00000000, 0xe3784412, 0x0000a004, 0xe3403c19,
+ 0x0000f902, 0x01800000, 0x00008004, 0x0280080a, 0x00001082, 0xe3785412,
+ 0x00002884, 0x02000008, 0x00009084, 0x01c03a15, 0x00001002, 0x01800006,
+ 0x00009084, 0xe3784412, 0x00002804, 0xe3783c19, 0x0000d004, 0x00383000,
+ 0x00008000, 0x90800413, 0x0000788a, 0x71800000, 0x0000998a, 0xceb89cec,
+ 0x0000a084, 0xc720280c, 0x0000e803, 0xffffffff, 0x00007f97, 0x00072813,
+ 0x00001502, 0x04c00813, 0x00001090, 0xceb89cec, 0x0000a894, 0xb109fb05,
+ 0x0000459a, 0x5881870c, 0x0000608c, 0x000040ec, 0x00007902, 0x02c00000,
+ 0x00008704, 0xffffffff, 0x00007fa7, 0x0bc04419, 0x00006000, 0x0c004412,
+ 0x00003000, 0x0220cc12, 0x00009303, 0x01704e09, 0x0000e109, 0x0c01930b,
+ 0x00006116, 0x84a02404, 0x00009910, 0x00003282, 0x0000f008, 0x00000417,
+ 0x00009583, 0x001a680b, 0x00006196, 0x0019480b, 0x0000b18e, 0x0641502a,
+ 0x0000e108, 0x0642704e, 0x0000c910, 0x00003282, 0x0000f400, 0xd6785c12,
+ 0x00002804, 0xd678cc12, 0x0000a884, 0x00000417, 0x00006583, 0x04bf1fe3,
+ 0x00008901, 0x02c2704e, 0x0000e110, 0xc49a6b4d, 0x00004910, 0x02c1502a,
+ 0x0000e108, 0xc4994b29, 0x00004908, 0x000004e3, 0x0000e583, 0x44a02404,
+ 0x00000901, 0x01000020, 0x00009988, 0x81012000, 0x00009988, 0x0000361d,
+ 0x00007010, 0x038f0800, 0x0000f900, 0x003884ca, 0x00000980, 0x03e3e800,
+ 0x00007900, 0x001b7e4e, 0x00008980, 0xc1002800, 0x00006181, 0x08001a0c,
+ 0x0000e106, 0x83200500, 0x00008032, 0x34c70f22, 0x0000f500, 0x03785f02,
+ 0x00008028, 0x02000000, 0x00009980, 0x000040ec, 0x00007902, 0x01c00000,
+ 0x00008704, 0x44c00405, 0x0000428a, 0x9a61870c, 0x00008d89, 0x93802615,
+ 0x00007897, 0xa9800000, 0x00009b81, 0x0c004413, 0x0000e000, 0x0bc04419,
+ 0x00003000, 0x00003226, 0x00007400, 0x01209c19, 0x00001303, 0xc000080c,
+ 0x0000e40b, 0xc000180c, 0x00003413, 0xceb8caec, 0x0000a084, 0xffffffff,
+ 0x00007fa7, 0x00072819, 0x00001502, 0x06400819, 0x00001090, 0xceb8caec,
+ 0x0000a894, 0x00003327, 0x00007008, 0xc1c0871c, 0x00009283, 0x000031d3,
+ 0x0000700b, 0x82d0e21c, 0x00009900, 0xcae01635, 0x0000c58e, 0xf6c08615,
+ 0x00006590, 0x00000417, 0x00006583, 0x04400000, 0x00008980, 0x86526a4d,
+ 0x00006110, 0x05c2604c, 0x00004910, 0x86514a29, 0x00006108, 0x05c14028,
+ 0x00004908, 0x000004e3, 0x0000e583, 0x04ff1fe3, 0x00000901, 0x84c99b04,
+ 0x0000010e, 0x8450ca19, 0x00001900, 0x0000350e, 0x0000f010, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x03839800, 0x0000f900, 0x00151b50,
+ 0x00000980, 0x03e8a800, 0x00007900, 0x000aff14, 0x00008980, 0xc3300600,
+ 0x00006101, 0x08001a0c, 0x0000e106, 0x83381400, 0x00008034, 0x34f60f22,
+ 0x00007500, 0x04b8bf13, 0x00008028, 0x81009800, 0x0000e180, 0x02008811,
+ 0x00004900, 0x000004e3, 0x0000e583, 0x04000000, 0x00000980, 0x841822e3,
+ 0x00008102, 0x82d0e21c, 0x0000e100, 0x05c0e010, 0x0000e001, 0xc2d0aa15,
+ 0x00006100, 0x1540e010, 0x0000e001, 0x00003524, 0x0000f410, 0x02000000,
+ 0x00006188, 0x2680e010, 0x0000e001, 0xc3300600, 0x0000e109, 0x3180b010,
+ 0x0000e001, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x038a0800,
+ 0x0000f900, 0x003884c6, 0x00000980, 0x03c49800, 0x0000f900, 0x00202286,
+ 0x00008980, 0x83280500, 0x0000e101, 0x08001a0c, 0x0000e106, 0x350e0f22,
+ 0x00007500, 0x03788702, 0x00008108, 0x8100d000, 0x0000e180, 0x0280580b,
+ 0x0000c900, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22039800,
+ 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14,
+ 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400,
+ 0x0000871c, 0x351b0f4f, 0x00007500, 0x1d78bf13, 0x00000914, 0xa2809800,
+ 0x0000e180, 0x25008811, 0x00004900, 0x351d0fdd, 0x0000f300, 0x0d009800,
+ 0x00001980, 0xce78beec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072817, 0x00009502, 0x0000340c, 0x0000f400, 0x05c00817,
+ 0x00001090, 0xce78beec, 0x00002814, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x220a0800, 0x00007900, 0x003884c6, 0x00000980, 0x22449800,
+ 0x00007900, 0x00202286, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x35300f4f, 0x00007500, 0x1d785f10,
+ 0x00008914, 0x6280001a, 0x000009d0, 0x35320fdd, 0x00007300, 0x0d002000,
+ 0x00001980, 0xce78ceec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072819, 0x00001502, 0x06400819, 0x00001090, 0xce78ceec,
+ 0x0000a814, 0x9b60871c, 0x00004496, 0x14610516, 0x00008c97, 0xdf800448,
+ 0x0000f8ca, 0xc1800000, 0x0000188e, 0x05000000, 0x0000f900, 0x00040000,
+ 0x00000980, 0x0401b014, 0x0000e107, 0x0801b211, 0x0000b106, 0x01c2604c,
+ 0x00006100, 0x0a01b510, 0x00006002, 0x85126a4d, 0x00001900, 0xc941870c,
+ 0x0000788e, 0x91800000, 0x00009988, 0x86602404, 0x00009900, 0xd6409c19,
+ 0x0000f902, 0x02c00000, 0x00000004, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f97, 0xa9d7280b, 0x00004410, 0xb2600609, 0x00000d8a, 0x5649fb05,
+ 0x0000f89b, 0xc9800000, 0x00001988, 0x00000417, 0x00009583, 0x0642704e,
+ 0x0000e110, 0x849a6b4d, 0x0000c910, 0x0641502a, 0x0000e108, 0x84994b29,
+ 0x0000c908, 0xc0108b0b, 0x00001502, 0x8010920b, 0x00001502, 0x0000c813,
+ 0x00001502, 0x00003559, 0x00007010, 0x00003559, 0x00007010, 0x00003316,
+ 0x0000f008, 0xc2400000, 0x00009981, 0x40001510, 0x00006583, 0xc000080c,
+ 0x0000a403, 0x00783eec, 0x0000d70c, 0x0038a000, 0x00008000, 0x11783eec,
+ 0x0000d70c, 0x0038a000, 0x00008000, 0x0000359f, 0x00007010, 0x80000609,
+ 0x00006583, 0xf000080e, 0x0000a401, 0x22783eec, 0x00005704, 0x00387000,
+ 0x00000000, 0x04404000, 0x00007900, 0x0005001a, 0x00000980, 0x200004ec,
+ 0x00005784, 0x00388816, 0x0000aa00, 0x02c00000, 0x00007900, 0x0015001e,
+ 0x00000980, 0x30e8800b, 0x00006880, 0x20385cec, 0x0000d704, 0x00081815,
+ 0x00000480, 0x02e9800c, 0x00009980, 0x0028800b, 0x00006804, 0x20385cec,
+ 0x0000d704, 0x00199819, 0x00000080, 0x02f0380c, 0x00001980, 0x00003593,
+ 0x0000f410, 0x0420200b, 0x0000e901, 0x00385cec, 0x00005704, 0x00000000,
+ 0x00008080, 0x04400000, 0x0000f900, 0x00040000, 0x00000980, 0x00000417,
+ 0x00009583, 0x00127011, 0x00006196, 0x001a700b, 0x00003196, 0x85d94b29,
+ 0x0000e108, 0x85da6b4d, 0x0000c910, 0x0019500b, 0x0000e18e, 0x00115011,
+ 0x0000b18e, 0xffffffff, 0x00007f86, 0x0410b80b, 0x00006187, 0x00007011,
+ 0x0000b107, 0x11785eec, 0x00005704, 0x00388800, 0x00008000, 0xf0000811,
+ 0x00006c01, 0x22785eec, 0x00005704, 0x00388800, 0x00008000, 0x03808000,
+ 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784, 0x00387012,
+ 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811, 0x00000080, 0x02c03800,
+ 0x0000f900, 0x0002001e, 0x00000980, 0x0420200b, 0x0000e901, 0x20385cec,
+ 0x0000d704, 0x00191011, 0x00000280, 0x02f01000, 0x0000f900, 0x00020018,
+ 0x00000980, 0x04c046e3, 0x00001081, 0x30e0980b, 0x0000e880, 0x20385cec,
+ 0x0000d704, 0x0010a019, 0x00008680, 0xcef8baec, 0x00002004, 0xffffffff,
+ 0x00007fa7, 0x00072817, 0x00009502, 0x000031f1, 0x00007400, 0x05c00817,
+ 0x00001090, 0xcef8baec, 0x00002814, 0x00783eec, 0x00005704, 0x0038a000,
+ 0x00008000, 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x04681000,
+ 0x00007900, 0x00020014, 0x00000980, 0x80000609, 0x00006583, 0x064046e3,
+ 0x00008081, 0x30e0c811, 0x00006880, 0x20081cec, 0x0000d784, 0x00388815,
+ 0x00008400, 0x000035c7, 0x0000f010, 0x04400000, 0x0000f900, 0x00040000,
+ 0x00000980, 0x00000417, 0x00009583, 0x00127011, 0x00006196, 0x001a700b,
+ 0x00003196, 0x85d94b29, 0x0000e108, 0x85da6b4d, 0x0000c910, 0x0019500b,
+ 0x0000e18e, 0x00115011, 0x0000b18e, 0xffffffff, 0x00007f86, 0x0410b80b,
+ 0x00006187, 0x00007011, 0x0000b107, 0x11785eec, 0x00005704, 0x00388800,
+ 0x00008000, 0xf0000811, 0x00006c01, 0x22785eec, 0x00005704, 0x00388800,
+ 0x00008000, 0x04408000, 0x00007900, 0x0015001e, 0x00000980, 0x200044ec,
+ 0x0000d784, 0x00388812, 0x00008a00, 0x200914ec, 0x0000d784, 0x04591811,
+ 0x00000080, 0x02c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x0420200b,
+ 0x0000e901, 0x20385cec, 0x0000d704, 0x00191011, 0x00000280, 0x40000d10,
+ 0x00009583, 0x02e8380a, 0x00009990, 0x0420200b, 0x00006911, 0x000035ce,
+ 0x0000f008, 0x000031f1, 0x00007200, 0x20385cec, 0x0000d704, 0x00095019,
+ 0x00000680, 0x81c002ec, 0x00005684, 0x00400000, 0x00008000, 0x02c00000,
+ 0x00009980, 0x0010f80e, 0x0000e186, 0x0410700b, 0x0000b187, 0x0418f80e,
+ 0x0000e987, 0x81f874ec, 0x0000d604, 0x00385800, 0x00000000, 0x03a8380a,
+ 0x00001980, 0x0420200e, 0x0000e901, 0xffffffff, 0x00007ff7, 0xffffffff,
+ 0x00007fc7, 0x81f85aec, 0x0000a684, 0xffffffff, 0x00007fa7, 0x85c0140b,
+ 0x00009880, 0x4b412617, 0x0000f902, 0x08c00000, 0x00000004, 0x4b811017,
+ 0x0000f902, 0x08400000, 0x00008004, 0x4b80fa17, 0x0000f902, 0x06400000,
+ 0x00000004, 0x4b809c17, 0x0000f902, 0x04400000, 0x00008004, 0x200384ec,
+ 0x0000d784, 0x0038701a, 0x00008000, 0x003924ec, 0x0000d704, 0x00391800,
+ 0x00000000, 0x003914ec, 0x0000d704, 0x00390800, 0x00008000, 0x0038fcec,
+ 0x00005704, 0x0038c800, 0x00000000, 0x00389cec, 0x00005704, 0x00388800,
+ 0x00008000, 0x03b0d800, 0x00007900, 0x00020018, 0x00000980, 0x000031f1,
+ 0x00007400, 0x200924ec, 0x0000d784, 0x00387015, 0x00000400, 0x000994ec,
+ 0x0000d784, 0x00000019, 0x00008280, 0x0c80b419, 0x00006802, 0x01400c19,
+ 0x00001283, 0x82820615, 0x00001283, 0xffffffff, 0x00007f86, 0x000032e9,
+ 0x00007008, 0x000032fb, 0x00007008, 0x00000417, 0x00006583, 0x04400000,
+ 0x00008980, 0x86526a4d, 0x00006110, 0x05c2604c, 0x00004910, 0x86514a29,
+ 0x00006108, 0x05c14028, 0x00004908, 0x000004e3, 0x0000e583, 0x04ff1fe3,
+ 0x00000901, 0x84c99b04, 0x0000010e, 0x8450ca19, 0x00006100, 0xddb00600,
+ 0x00004911, 0x000034e9, 0x00007008, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980, 0x2268a800,
+ 0x0000f900, 0x000aff14, 0x00008980, 0x9da80500, 0x00006101, 0x08001a76,
+ 0x00006106, 0x1df89f02, 0x00008714, 0x36140f4f, 0x00007500, 0x25788f17,
+ 0x00008910, 0xa2809800, 0x00009980, 0x36160fdd, 0x00007300, 0x0d009800,
+ 0x00001980, 0xce78beec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072817, 0x00009502, 0x0000340c, 0x0000f400, 0x05c00817,
+ 0x00001090, 0xce78beec, 0x00002814, 0x22800000, 0x00007900, 0x00014080,
+ 0x00000980, 0x220f0800, 0x00007900, 0x003884ca, 0x00000980, 0x2263e800,
+ 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76,
+ 0x00006106, 0x9db81400, 0x0000871c, 0x36290f4f, 0x0000f500, 0x1d785f12,
+ 0x00000914, 0x62800024, 0x000089d0, 0x362b0fdd, 0x0000f300, 0x0d00a000,
+ 0x00009980, 0xce78beec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff,
+ 0x00007f97, 0x00072817, 0x00009502, 0x05c00817, 0x00001090, 0xce78beec,
+ 0x00002814, 0x8989fb05, 0x0000f89a, 0x01800001, 0x00008000, 0x8981870c,
+ 0x0000f88e, 0x31800000, 0x00001985, 0xceb89cec, 0x00002004, 0xc720280c,
+ 0x0000e803, 0xffffffff, 0x00007f97, 0x00072813, 0x00001502, 0x00003226,
+ 0x00007400, 0x04c00813, 0x00001090, 0xceb89cec, 0x00002814, 0x000038ec,
+ 0x00007902, 0x02800000, 0x00000704, 0xffffffff, 0x00007fa7, 0x0bc03c19,
+ 0x00006000, 0x0c003c12, 0x00003000, 0x01e0cc12, 0x00009303, 0x01704e09,
+ 0x0000e109, 0x0c019308, 0x00006116, 0x84a02404, 0x00009910, 0x000034c7,
+ 0x00007008, 0x00000417, 0x00009583, 0x001a6808, 0x00006196, 0x00194808,
+ 0x0000b18e, 0x0641502a, 0x0000e108, 0x0642704e, 0x0000c910, 0x000034c7,
+ 0x00007400, 0xd6784412, 0x00002804, 0xd678cc12, 0x0000a884, 0x00000417,
+ 0x00006583, 0x04bf1fe3, 0x00008901, 0x02c2704e, 0x0000e110, 0x85da6b4d,
+ 0x0000c910, 0x02c1502a, 0x0000e108, 0x85d94b29, 0x0000c908, 0x000004e3,
+ 0x0000e583, 0x44a02404, 0x00000901, 0x01000020, 0x0000e188, 0xc490ba17,
+ 0x0000c900, 0x81012000, 0x00009988, 0x0000365d, 0x0000f010, 0x000034bf,
+ 0x00007200, 0x03955800, 0x00007900, 0x003884cc, 0x00000980, 0x22800000,
+ 0x00007900, 0x00014080, 0x00000980, 0x22155800, 0x0000f900, 0x003884cc,
+ 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600,
+ 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x36690f4f,
+ 0x00007500, 0x1d785f12, 0x00000914, 0x62800024, 0x000089d0, 0x366b0fdd,
+ 0x00007300, 0x0d00a000, 0x00009980, 0xce78beec, 0x00002004, 0xc000000c,
+ 0x00006c03, 0xffffffff, 0x00007f97, 0x00072817, 0x00009502, 0x00003226,
+ 0x00007400, 0x05c00817, 0x00001090, 0xce78beec, 0x00002814, 0x0107fc47,
+ 0x00006280, 0x0780500a, 0x00000900, 0x36780feb, 0x0000f500, 0x07e2c800,
+ 0x0000f900, 0x00013f36, 0x00000980, 0x07385f04, 0x00008134, 0xffc00000,
+ 0x00006180, 0x04c00020, 0x00004980, 0x06464000, 0x0000f900, 0x00001c00,
+ 0x00000980, 0x0e800000, 0x00006180, 0x00001813, 0x00006106, 0x0ec00000,
+ 0x0000e180, 0x413f1019, 0x0000e002, 0x04001000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x04400000, 0x0000f900, 0x00040050, 0x00000980, 0x08000000,
+ 0x00007900, 0x00004000, 0x00000980, 0x08838000, 0x00007900, 0x000080c0,
+ 0x00000980, 0x0a400000, 0x00007900, 0x00260000, 0x00000980, 0x0e009000,
+ 0x00007900, 0x0000c0c0, 0x00008980, 0x0e400000, 0x0000f900, 0x00010000,
+ 0x00000980, 0xc0001813, 0x0000e006, 0xc000183b, 0x0000b006, 0x04800f02,
+ 0x000001a0, 0x06800000, 0x000081ec, 0x07001001, 0x0000e180, 0x07400000,
+ 0x00004980, 0x07800000, 0x000081fc, 0x08400001, 0x0000e180, 0x08c00000,
+ 0x0000c980, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000,
+ 0x000082e8, 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000,
+ 0x000083c0, 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000,
+ 0x000003d8, 0x0dc00000, 0x0000e180, 0x0f004008, 0x0000c900, 0x0f785709,
+ 0x00000338, 0x0eb85d02, 0x0000833c, 0x008826ec, 0x0000df80, 0x00d06980,
+ 0x00000584, 0x1bc04008, 0x0000e100, 0x00204806, 0x00006086, 0x82284806,
+ 0x00006886, 0x04184806, 0x0000e987, 0x01c03006, 0x00001900, 0x1b3d7000,
+ 0x0000f900, 0x00174f7c, 0x00008980, 0x1b803807, 0x00001900, 0xffffffff,
+ 0x00007ff7, 0x82c024ec, 0x0000f902, 0x01400000, 0x00008604, 0xffffffff,
+ 0x00007fa7, 0x01402004, 0x0000e100, 0x00002004, 0x0000e586, 0x01802805,
+ 0x0000e100, 0x04284804, 0x00006087, 0x36ba100d, 0x00007500, 0x1b403006,
+ 0x00006100, 0x86204804, 0x0000e087, 0x1ac02004, 0x00001900, 0x05000000,
+ 0x000081d4, 0x05c00000, 0x000081d8, 0x00401409, 0x0000c589, 0x02602409,
+ 0x0000018d, 0x36c113be, 0x0000f404, 0x11f85f0a, 0x00000424, 0x12009b00,
+ 0x00009980, 0x00000447, 0x00009583, 0x813f1fe3, 0x00001908, 0x43802004,
+ 0x0000a088, 0x000036ca, 0x00007010, 0xffffffff, 0x00007f97, 0x01003c04,
+ 0x00001281, 0x01001404, 0x00001181, 0x00000c04, 0x00009583, 0x000036cb,
+ 0x0000701b, 0x36cb3672, 0x0000f100, 0x3000344b, 0x0000f902, 0x01400000,
+ 0x00000000, 0x3038264b, 0x0000a000, 0xffffffff, 0x00007f97, 0x2c003605,
+ 0x00009680, 0x854588b0, 0x00001000, 0x85b02a05, 0x00008115, 0x000036e3,
+ 0x0000f400, 0xc5682d05, 0x0000e101, 0x82202016, 0x0000e000, 0x05283406,
+ 0x00008110, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x01c04008,
+ 0x00006100, 0x08001a0c, 0x0000e106, 0x03bf8800, 0x00007900, 0x00174f7c,
+ 0x00008980, 0x03fa9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x83200500,
+ 0x00008032, 0x03784f02, 0x00000028, 0x36e30f22, 0x00007500, 0x41000005,
+ 0x000080e0, 0x04803807, 0x00009900, 0x04c00020, 0x00006180, 0x0e800000,
+ 0x00004980, 0x06464000, 0x0000f900, 0x00001c00, 0x00000980, 0x0ec00000,
+ 0x0000e180, 0x00001813, 0x00006106, 0x04001000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x04400000, 0x0000f900, 0x00048050, 0x00008980, 0x06000800,
+ 0x00007900, 0x00080000, 0x00000980, 0x06800000, 0x00007900, 0x00002000,
+ 0x00000980, 0x08000000, 0x00007900, 0x00004000, 0x00000980, 0x08838000,
+ 0x00007900, 0x000080c0, 0x00000980, 0x0a400000, 0x00007900, 0x00260000,
+ 0x00000980, 0x0e009000, 0x00007900, 0x0000c0c0, 0x00008980, 0x0e400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x413f1019, 0x0000e002, 0xc0001813,
+ 0x0000b006, 0x04801002, 0x0000e100, 0xc000183b, 0x0000e006, 0x06c00000,
+ 0x00006180, 0x07001001, 0x0000c980, 0x07400000, 0x000001f8, 0x07c00000,
+ 0x0000e180, 0x08400001, 0x0000c980, 0x08c00000, 0x000082d0, 0x09400000,
+ 0x000002d8, 0x09c00000, 0x000002e0, 0x0a800000, 0x000082ec, 0x0b000000,
+ 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4, 0x0c800000,
+ 0x000083cc, 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc, 0x0f384f08,
+ 0x00000334, 0x0fb85f0a, 0x0000033c, 0xce981302, 0x00009900, 0x009026ec,
+ 0x0000df80, 0x00d06980, 0x00000584, 0x01400000, 0x00006180, 0x02803710,
+ 0x00004281, 0x0b000715, 0x00008096, 0x0000240a, 0x0000e583, 0x05412825,
+ 0x00008900, 0x01400800, 0x0000e191, 0x0b40a014, 0x0000c900, 0x81401615,
+ 0x0000e283, 0x11014028, 0x00000900, 0x03f88000, 0x0000f900, 0x00003ffe,
+ 0x00000980, 0x41f88000, 0x0000f900, 0x00003ffe, 0x00000980, 0x11795729,
+ 0x00000418, 0x11c0072b, 0x00008090, 0x000037bc, 0x0000f410, 0x01800000,
+ 0x00006180, 0x41789f13, 0x0000c901, 0xc380c22d, 0x0000e080, 0x85309e13,
+ 0x00000901, 0x0030a80f, 0x0000e886, 0x0243e80f, 0x00001282, 0xc1f0ae15,
+ 0x00001909, 0x000037e2, 0x00007011, 0x81401610, 0x00001283, 0x000037b6,
+ 0x00007013, 0x00000c0e, 0x00006583, 0x81800000, 0x00000980, 0x83c00fe2,
+ 0x00009888, 0x50c0340f, 0x0000a08a, 0x0000373e, 0x00007008, 0x00000c0e,
+ 0x00009583, 0x83c00fe2, 0x000018a8, 0x50e0340f, 0x0000a028, 0x0000373e,
+ 0x0000f028, 0x0000140e, 0x00009583, 0x00003797, 0x0000700b, 0x0000240e,
+ 0x00009583, 0x83c00fe2, 0x00009888, 0x50e0340f, 0x0000a088, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xf1a08406,
+ 0x0000c296, 0x88601505, 0x00000d96, 0xe8801505, 0x00004296, 0x5e600e10,
+ 0x00008d97, 0xe3400e10, 0x0000f897, 0x31800000, 0x00001c83, 0x06c09012,
+ 0x0000e100, 0x0802240e, 0x0000e084, 0x87109a13, 0x0000e100, 0x81a0722d,
+ 0x00004100, 0x80106206, 0x00009502, 0x01001004, 0x000063b0, 0x01460000,
+ 0x000009b1, 0x4100b800, 0x0000e1b1, 0x00000005, 0x0000e5b5, 0x0000381b,
+ 0x00007018, 0x0000240a, 0x0000e583, 0x06016005, 0x00002006, 0x413f1005,
+ 0x00006002, 0xc0002004, 0x0000b405, 0xc0c08004, 0x00006003, 0x04187005,
+ 0x00003185, 0x000037a5, 0x00007208, 0x02000000, 0x00009980, 0x10000000,
+ 0x0000e180, 0x00004006, 0x00006206, 0x82002610, 0x00006283, 0x10400000,
+ 0x00008980, 0x10c00000, 0x000084c8, 0x000037c0, 0x00007011, 0x42000d0e,
+ 0x00006283, 0x12800000, 0x00000980, 0x74008040, 0x00006000, 0x0018604a,
+ 0x00003100, 0x12d00002, 0x00006180, 0x94c08040, 0x0000e000, 0x000037f2,
+ 0x0000f410, 0x12083804, 0x0000e180, 0x0030684b, 0x00006080, 0x92800110,
+ 0x000004a4, 0xc000070d, 0x00001583, 0x00003779, 0x0000700b, 0x8480a30e,
+ 0x00006180, 0x03001c15, 0x00008281, 0x0000140c, 0x00001583, 0x2b408e0d,
+ 0x0000f90a, 0x04000000, 0x00000004, 0x2b807c0d, 0x0000790a, 0x03000000,
+ 0x00008004, 0x000037d2, 0x0000f010, 0xffffffff, 0x00007f86, 0x04408a12,
+ 0x00009002, 0x03c0080f, 0x0000e082, 0x04000010, 0x00000084, 0x0300000c,
+ 0x00009084, 0x2b788e0d, 0x00005004, 0x00388000, 0x00000000, 0x2bb87c0d,
+ 0x0000d004, 0x00386000, 0x00008000, 0x03000020, 0x0000e180, 0x08001a0d,
+ 0x00006106, 0x0010680c, 0x00006984, 0x03400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x733860ec, 0x0000d600, 0x00000000, 0x00008080, 0x8340e22d,
+ 0x0000e080, 0x03000000, 0x00008980, 0x8358720d, 0x00006100, 0x453f100c,
+ 0x0000a003, 0x0201600c, 0x00006807, 0x20386eec, 0x00005600, 0x00386000,
+ 0x00008000, 0x43000d0e, 0x00001283, 0x001830ec, 0x00005788, 0x00007000,
+ 0x00000080, 0x000037ce, 0x0000f011, 0x00880eec, 0x0000df80, 0x00d07400,
+ 0x000081c4, 0x83f71ee3, 0x00006100, 0x08c11408, 0x00006004, 0x00001c08,
+ 0x0000e583, 0x02001c08, 0x00000281, 0x51784c0f, 0x0000a018, 0x51784c0f,
+ 0x000020b0, 0x02001c08, 0x00009881, 0x00003744, 0x0000f403, 0x02204009,
+ 0x00009700, 0xd7604012, 0x00006805, 0xc2000f10, 0x00006283, 0x83c00fe2,
+ 0x00008880, 0x50c0340f, 0x0000200a, 0x50e0360f, 0x00002090, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f97, 0x00008406, 0x0000c08e, 0x00001505,
+ 0x00008090, 0xd1000e10, 0x0000f897, 0x79800000, 0x00001b8d, 0xe3400e10,
+ 0x0000f897, 0x31800000, 0x00001c83, 0xe3401505, 0x00007897, 0x21800000,
+ 0x00001b8a, 0x03c60745, 0x00001281, 0x0002040f, 0x00001583, 0x00188808,
+ 0x00006a16, 0x0000384d, 0x00007009, 0x10000000, 0x0000e180, 0x00004006,
+ 0x00006206, 0x10400000, 0x000004c8, 0x10c00000, 0x00009980, 0xd7002610,
+ 0x0000f88f, 0x01800000, 0x00001b8e, 0x41401505, 0x00006381, 0x0800340f,
+ 0x00002004, 0xc380230e, 0x00006080, 0x85002614, 0x00000081, 0xc8806c0f,
+ 0x00009880, 0xd1001505, 0x0000788f, 0x69800000, 0x00001b8c, 0x00000405,
+ 0x00009583, 0x0000372d, 0x0000f400, 0x41401505, 0x0000e391, 0xc8988b11,
+ 0x00008910, 0x85002613, 0x00006091, 0xc380e22d, 0x00008090, 0x81401610,
+ 0x00001283, 0x00003853, 0x0000f013, 0x00003727, 0x0000f200, 0x41401713,
+ 0x00009381, 0x82004610, 0x00006283, 0x40000840, 0x00002402, 0x90972ae5,
+ 0x00006100, 0x0ac0840f, 0x0000e010, 0x03c0140f, 0x0000e091, 0x04108845,
+ 0x0000a193, 0x0000375c, 0x0000f008, 0x82008610, 0x00006283, 0x41207840,
+ 0x00002002, 0x03c00800, 0x0000e189, 0x03c01000, 0x0000c991, 0x0000375c,
+ 0x0000f400, 0xffffffff, 0x00007f86, 0xe7a07845, 0x00006803, 0x001880ec,
+ 0x00005780, 0x00007000, 0x00000080, 0x00900eec, 0x0000df80, 0x00d07180,
+ 0x000002c4, 0x00000c0c, 0x00001583, 0x2b808a0d, 0x00007912, 0x04000000,
+ 0x00000004, 0x2bc0780d, 0x00007912, 0x03000000, 0x00008004, 0x0000383f,
+ 0x0000f008, 0xffffffff, 0x00007f86, 0x04408a12, 0x00009002, 0x03c0080f,
+ 0x0000e082, 0x04000010, 0x00000084, 0x0300000c, 0x00009084, 0x00003779,
+ 0x00007400, 0x2bb88a0d, 0x0000d004, 0x00388000, 0x00000000, 0x2bf8780d,
+ 0x0000d004, 0x00386000, 0x00008000, 0x01c00000, 0x0000e180, 0x08001a0c,
+ 0x0000e106, 0x81ff1fe3, 0x0000e100, 0x02000000, 0x0000c980, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0xc3300600, 0x00006101, 0x8630a807,
+ 0x0000e087, 0x038c0800, 0x0000f900, 0x003ad180, 0x00000980, 0x03cd0000,
+ 0x00007900, 0x0005d902, 0x00008980, 0x83381400, 0x00008034, 0x37f20f22,
+ 0x0000f500, 0x0280a724, 0x00000091, 0x04803807, 0x00009900, 0x09800040,
+ 0x00006180, 0x83f0a40e, 0x00004000, 0x09c00000, 0x0000f900, 0x00046080,
+ 0x00008980, 0x8980420f, 0x00006180, 0x01000804, 0x00000380, 0x83c04214,
+ 0x00006080, 0x02400000, 0x00008980, 0x02000000, 0x00007900, 0x00008000,
+ 0x00000980, 0x09000000, 0x0000f900, 0x0000c000, 0x00008980, 0x09500000,
+ 0x0000f900, 0x00200000, 0x00000980, 0x8008aa23, 0x00007900, 0x00000022,
+ 0x00000582, 0x02800000, 0x000080ec, 0x0a000000, 0x000082e4, 0x0a800000,
+ 0x000082ec, 0x89e0720f, 0x00001100, 0x80000223, 0x00007900, 0x00000002,
+ 0x00008582, 0x8036ea23, 0x00007900, 0x00000020, 0x00008582, 0x00003839,
+ 0x0000f008, 0x00003833, 0x0000f008, 0x0000382d, 0x0000f008, 0x04111807,
+ 0x0000e187, 0x08001a0c, 0x0000b106, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x81ff1fe3, 0x0000e100, 0x02000000, 0x0000c980, 0x03973800,
+ 0x0000f900, 0x003ad182, 0x00008980, 0x03c64000, 0x00007900, 0x00372644,
+ 0x00008980, 0x83200500, 0x00008032, 0x381b0f22, 0x00007500, 0x03400f02,
+ 0x000080a8, 0x0480bf07, 0x00008091, 0x81a0722d, 0x0000e100, 0x003f1807,
+ 0x0000a086, 0x08022507, 0x00006084, 0x04116806, 0x0000b187, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x02000000, 0x0000e180, 0x04106007,
+ 0x00006187, 0x03c3b800, 0x0000f900, 0x00150850, 0x00008980, 0x03af1800,
+ 0x0000f900, 0x003ad180, 0x00000980, 0xc3300600, 0x00006101, 0x08001a0c,
+ 0x0000e106, 0x83381400, 0x00008034, 0x382d0f22, 0x00007500, 0x0280c706,
+ 0x00000091, 0x04803807, 0x00009900, 0x03c01800, 0x0000e181, 0x00002028,
+ 0x00006586, 0xa6a07827, 0x00006003, 0x00000828, 0x00003403, 0xde40070d,
+ 0x0000f88b, 0x41800000, 0x00009b8b, 0x03c01000, 0x00006181, 0x00002028,
+ 0x00006586, 0xa6a07827, 0x00006003, 0x00000828, 0x00003403, 0xde40070d,
+ 0x0000f88b, 0x41800000, 0x00009b8b, 0x03c00800, 0x00006181, 0x00002028,
+ 0x00006586, 0xa6a07827, 0x00006003, 0x00000828, 0x00003403, 0xde40070d,
+ 0x0000f88b, 0x41800000, 0x00009b8b, 0x2b80880d, 0x00007902, 0x04000000,
+ 0x00000004, 0x2b807e0d, 0x00007902, 0x03000000, 0x00008004, 0xffffffff,
+ 0x00007f97, 0x04408a12, 0x00009002, 0x03c0080f, 0x0000e082, 0x04000010,
+ 0x00000084, 0x0300000c, 0x00009084, 0x00003779, 0x00007400, 0x2bb8880d,
+ 0x00005004, 0x00388000, 0x00000000, 0x2bb87e0d, 0x00005004, 0x00386000,
+ 0x00008000, 0x8000163d, 0x00009583, 0x02068000, 0x00001989, 0x02100008,
+ 0x00001388, 0x00003756, 0x0000f008, 0x000037a9, 0x0000f200, 0x00188808,
+ 0x0000ea06, 0x00000405, 0x00009583, 0x01800000, 0x0000e190, 0x81ff1fe3,
+ 0x00004910, 0xc1d88b11, 0x0000e110, 0x81991322, 0x0000c910, 0x000037be,
+ 0x0000f008, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03b26000,
+ 0x0000f900, 0x003ad17e, 0x00008980, 0x03ca2800, 0x0000f900, 0x00062f58,
+ 0x00008980, 0x02000000, 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500,
+ 0x00008032, 0x38660f22, 0x00007500, 0x03783f02, 0x00008108, 0x8100a800,
+ 0x0000e180, 0x02803006, 0x0000c900, 0xd7403022, 0x00006805, 0xd1001505,
+ 0x0000788f, 0x69800000, 0x00001b8c, 0x1bc02004, 0x0000e100, 0x0020280a,
0x00006086, 0x8228280a, 0x00006886, 0x0418280a, 0x0000e987, 0x02c0500a,
- 0x00001900, 0x17153800, 0x0000f900, 0x0035c230, 0x00000980, 0x1780580b,
- 0x00001900, 0xffffffff, 0x00007ff7, 0x82c04cec, 0x00007902, 0x02000000,
- 0x00000604, 0xffffffff, 0x00007fa7, 0x02804809, 0x0000e100, 0x00002008,
- 0x0000e586, 0x1740500a, 0x00006100, 0x04282808, 0x00006087, 0x35a41f46,
- 0x00007500, 0x86202808, 0x00006887, 0x16c04008, 0x00001900, 0x00000c05,
- 0x00001583, 0x00001c05, 0x00009583, 0xffffffff, 0x00007f86, 0x000035b8,
- 0x00007008, 0x000035b8, 0x00007008, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x01802004, 0x0000e100, 0x08001a08, 0x00006106, 0x02966000,
- 0x00007900, 0x0035c230, 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa,
- 0x00008980, 0x03000000, 0x00006180, 0xc2300600, 0x0000c901, 0x82381400,
- 0x00008024, 0x35b81e83, 0x00007500, 0x81c02800, 0x00006180, 0x03403006,
- 0x00004900, 0x01802805, 0x00009900, 0x02400000, 0x0000f900, 0x00020080,
- 0x00008980, 0x02000060, 0x0000e180, 0x03800000, 0x0000c980, 0x03c00000,
- 0x00006180, 0x557f1009, 0x00006003, 0x02838000, 0x00007900, 0x00004000,
- 0x00000980, 0x03009000, 0x0000f900, 0x000080c0, 0x00000980, 0x03400000,
- 0x00007900, 0x00010030, 0x00000980, 0x02c00000, 0x0000e180, 0xc000180f,
- 0x00006006, 0x04382f04, 0x00000104, 0x04b83f06, 0x0000010c, 0x03801502,
- 0x00008022, 0x009816ec, 0x00005f80, 0x00007000, 0x00008084, 0x423842ec,
- 0x0000a084, 0xffffffff, 0x00007fa7, 0x02000808, 0x00009080, 0x423842ec,
- 0x00002884, 0x08001a08, 0x0000e906, 0x2dc02608, 0x00007902, 0x02a00000,
- 0x00008005, 0x2dc03e08, 0x00002004, 0xffffffff, 0x00007f97, 0x00002002,
- 0x00001502, 0x0038ac0a, 0x00001503, 0xffffffff, 0x00007f86, 0x000036cd,
- 0x0000f010, 0x000036a2, 0x0000f010, 0xffffffff, 0x00007f86, 0x2dc03608,
- 0x00002005, 0x00287c0a, 0x0000e503, 0x01000c0a, 0x00008081, 0x2dc02608,
- 0x0000a804, 0xffffffff, 0x00007f86, 0x00207c06, 0x00009503, 0xffffffff,
- 0x00007f86, 0x00003675, 0x0000f010, 0x00003675, 0x0000f010, 0x08001a04,
- 0x00006106, 0x08001a08, 0x00003106, 0x81000a04, 0x00006282, 0x01880004,
- 0x00008980, 0x01078000, 0x0000e191, 0x01007800, 0x0000c989, 0x41000d1d,
- 0x0000e283, 0x0fd04008, 0x00002104, 0x00001006, 0x0000e416, 0x00000806,
- 0x0000b40e, 0xc1b45208, 0x0000f910, 0x00000008, 0x00000080, 0xc1bac208,
- 0x00007908, 0x00000008, 0x00000080, 0x80000210, 0x0000e582, 0x01400000,
- 0x00008980, 0x760010ec, 0x00005680, 0x00000000, 0x00008080, 0x00202005,
- 0x0000e086, 0x0ec0a407, 0x00003004, 0x0000360b, 0x00007410, 0x763830ec,
- 0x0000d600, 0x00382800, 0x00008000, 0x02070414, 0x0000e289, 0xc7d0e21c,
- 0x00008900, 0xffffffff, 0x00007f86, 0x00040408, 0x00004088, 0x00050408,
- 0x00000088, 0x00060408, 0x0000c088, 0x00030408, 0x00000088, 0x21420408,
- 0x00004890, 0x14a0a51c, 0x00001c14, 0x01000514, 0x000045c0, 0x00901014,
- 0x00008512, 0x00c0a51c, 0x0000c510, 0x8060000e, 0x00000497, 0xc1608515,
- 0x0000448c, 0x1660a51c, 0x00008d14, 0x9440000e, 0x0000f88b, 0x01800001,
- 0x00000080, 0x87c00800, 0x00009980, 0x01400000, 0x00006180, 0x08001a08,
- 0x00006106, 0x81800a08, 0x0000e282, 0x01000000, 0x00000980, 0x0200f51d,
- 0x00006281, 0x0100f81f, 0x00000910, 0x00002408, 0x00006583, 0x0140f81f,
- 0x00008908, 0x0e001000, 0x00007908, 0x00008000, 0x00000980, 0x763828ec,
- 0x0000d600, 0x00382000, 0x00000000, 0x000036db, 0x00007010, 0x8000021f,
- 0x0000e582, 0x0b001208, 0x00002106, 0x0ec00004, 0x00006180, 0x8e98eb1d,
- 0x00004900, 0x0e580800, 0x00007900, 0x00004080, 0x00008980, 0x0f000000,
- 0x00006180, 0x0010f03b, 0x0000e106, 0x00003628, 0x0000f410, 0x0f400000,
- 0x000003f8, 0xce802208, 0x00006080, 0x0fc00000, 0x00004980, 0x00003407,
- 0x00001583, 0x0fc00800, 0x00006188, 0xe000103c, 0x0000640b, 0x01c00040,
- 0x00006180, 0x0ac0780f, 0x0000c900, 0x0c40a815, 0x00006100, 0x00001807,
- 0x00006106, 0x001070ec, 0x0000d780, 0x00004000, 0x00000080, 0x01801002,
- 0x0000e100, 0xc0001807, 0x0000e006, 0x01006000, 0x00007900, 0x00018000,
- 0x00008980, 0x01501800, 0x00007900, 0x0000c080, 0x00000980, 0x08006000,
- 0x00007900, 0x00018000, 0x00008980, 0x08501800, 0x00007900, 0x0000c080,
- 0x00000980, 0x001040ec, 0x0000d780, 0x00004801, 0x00000080, 0x02002000,
- 0x00006180, 0x02400022, 0x00004980, 0x02800000, 0x000080ec, 0x08800702,
- 0x00008290, 0x09400002, 0x00006180, 0x09800000, 0x0000c980, 0x09c00000,
- 0x00006180, 0x0a00600c, 0x0000c900, 0x0a78770d, 0x00000228, 0x0b388f10,
- 0x00000234, 0x0b809012, 0x0000e100, 0x08001b10, 0x0000e106, 0x0bf8a713,
- 0x00000300, 0x0cb8bf16, 0x0000030c, 0x0d38cf18, 0x00000314, 0x0db8df1a,
- 0x0000031c, 0x43c00d0f, 0x00006081, 0x4ae0ec1d, 0x00000901, 0xc5400f15,
- 0x00006081, 0xcc60ec1d, 0x00000901, 0xc3383e1d, 0x0000820c, 0x00900eec,
- 0x0000df80, 0x00006001, 0x00008084, 0x50000814, 0x00006c04, 0x0000360c,
- 0x00007200, 0x87c00000, 0x00001980, 0x0000360c, 0x00007200, 0x87c00000,
- 0x00006180, 0x50001014, 0x0000e404, 0x02008311, 0x0000e080, 0x50001814,
- 0x00006404, 0x02004211, 0x0000e300, 0x87c00000, 0x00008980, 0xc518e31c,
- 0x0000e100, 0x02004008, 0x0000c784, 0x01800000, 0x0000f900, 0x0001040c,
- 0x00008980, 0x02400008, 0x00007900, 0x00000200, 0x00000380, 0x82002302,
- 0x00009780, 0x740000ec, 0x00005680, 0x00383000, 0x00000100, 0x45104009,
- 0x00006907, 0x02d80800, 0x0000f900, 0x00004080, 0x00008980, 0x743848ec,
- 0x00005600, 0x0017f880, 0x00008080, 0x740060ec, 0x00005680, 0x00385800,
- 0x00008100, 0x01004809, 0x00001900, 0x743820ec, 0x0000d600, 0x00000008,
- 0x00000080, 0x0000360c, 0x00007400, 0x740000ec, 0x00005680, 0x00180000,
- 0x00008080, 0x740000ec, 0x00005680, 0x00000800, 0x00000080, 0x0000360c,
- 0x00007200, 0x87c00000, 0x00001980, 0x41f826ec, 0x00002084, 0x01402000,
- 0x00007900, 0x00140000, 0x00008980, 0x820ffa08, 0x00001280, 0x04104005,
- 0x00006901, 0x01000804, 0x00009080, 0x41f826ec, 0x0000a884, 0x80382aec,
- 0x00005600, 0x00000001, 0x00000080, 0x800062ec, 0x0000f902, 0x03400000,
- 0x00008600, 0x800072ec, 0x00007902, 0x03c00000, 0x00000600, 0x800082ec,
- 0x00007902, 0x04400000, 0x00000600, 0x800092ec, 0x0000f902, 0x04c00000,
- 0x00008600, 0xffffffff, 0x00007f86, 0x00287c0a, 0x00001503, 0x00207c06,
- 0x00009503, 0xffffffff, 0x00007f86, 0x0000368c, 0x0000f010, 0x000035e3,
- 0x0000f008, 0x01400002, 0x00009980, 0xc1680500, 0x00009900, 0x770000ec,
- 0x00005680, 0x00382800, 0x00008000, 0x00c002ec, 0x0000df80, 0x1354900b,
- 0x00001684, 0x01c02000, 0x0000f900, 0x00140000, 0x00008980, 0x04104007,
- 0x0000e901, 0x80383aec, 0x0000d600, 0x00000001, 0x00000080, 0x800062ec,
- 0x0000f902, 0x03400000, 0x00008600, 0x800072ec, 0x00007902, 0x03c00000,
- 0x00000600, 0x800082ec, 0x00007902, 0x04400000, 0x00000600, 0x800092ec,
- 0x0000f902, 0x04c00000, 0x00008600, 0xffffffff, 0x00007f86, 0xfd907b0a,
- 0x00004511, 0x74207806, 0x00007e0e, 0x41f826ec, 0x0000a004, 0x01402000,
- 0x00007900, 0x00180000, 0x00008980, 0x818ffa08, 0x00009280, 0x04103005,
- 0x0000e901, 0x01000804, 0x00009080, 0x41f826ec, 0x00002804, 0x80382aec,
- 0x00005600, 0x00000000, 0x00000280, 0x8000a2ec, 0x0000f902, 0x05400000,
- 0x00008600, 0x8000b2ec, 0x00007902, 0x05c00000, 0x00000600, 0x8000c2ec,
- 0x0000f902, 0x06400000, 0x00008600, 0x8000d2ec, 0x00007902, 0x06c00000,
- 0x00000600, 0xc0203f15, 0x00009503, 0x00003702, 0x0000700b, 0x01000002,
- 0x00001980, 0xc1280500, 0x00001900, 0x770000ec, 0x00005680, 0x00382000,
- 0x00000000, 0x00c002ec, 0x0000df80, 0x1355d80b, 0x00009684, 0x01c02000,
- 0x0000f900, 0x00180000, 0x00008980, 0x04103007, 0x00006901, 0x80383aec,
- 0x0000d600, 0x00000000, 0x00000280, 0x8000a2ec, 0x0000f902, 0x05400000,
- 0x00008600, 0x8000b2ec, 0x00007902, 0x05c00000, 0x00000600, 0x8000c2ec,
- 0x0000f902, 0x06400000, 0x00008600, 0x8000d2ec, 0x00007902, 0x06c00000,
- 0x00000600, 0x2dc02608, 0x00002004, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f97, 0xc0a02715, 0x0000780b, 0xa9800000, 0x00001b85, 0x80188208,
- 0x0000e502, 0x01000f15, 0x00000081, 0x2df81608, 0x00005004, 0x00002000,
- 0x00008000, 0x2dd87e08, 0x0000a806, 0x000035e3, 0x0000f008, 0x81988310,
- 0x00001900, 0x2df82e06, 0x00002084, 0xffffffff, 0x00007fa7, 0x00002802,
- 0x00009502, 0x014728e5, 0x00001908, 0x000035e3, 0x0000f400, 0xffffffff,
- 0x00007f86, 0x2df82e06, 0x0000a884, 0x01c00040, 0x00006180, 0x0ac0780f,
- 0x0000c900, 0x0c40a815, 0x00006100, 0x00001807, 0x00006106, 0x01801002,
- 0x0000e100, 0xc0001807, 0x0000e006, 0x01006000, 0x00007900, 0x00018000,
- 0x00008980, 0x01501800, 0x00007900, 0x0000c080, 0x00000980, 0x08006000,
- 0x00007900, 0x00018000, 0x00008980, 0x08501800, 0x00007900, 0x0000c080,
- 0x00000980, 0x001040ec, 0x0000d780, 0x00004801, 0x00000080, 0x02002000,
- 0x00006180, 0x02400022, 0x00004980, 0x02800000, 0x000080ec, 0x08800702,
- 0x00008290, 0x09400002, 0x00006180, 0x09800000, 0x0000c980, 0x09c00000,
- 0x00006180, 0x0a00600c, 0x0000c900, 0x0a78770d, 0x00000228, 0x0b388f10,
- 0x00000234, 0x0b809012, 0x0000e100, 0x08001b10, 0x0000e106, 0x0bf8a713,
- 0x00000300, 0x0cb8bf16, 0x0000030c, 0x0d38cf18, 0x00000314, 0x0db8df1a,
- 0x0000031c, 0x43c00d0f, 0x00006081, 0x4ae0ec1d, 0x00000901, 0xc5400f15,
- 0x00006081, 0xcc60ec1d, 0x00000901, 0xc3383e1d, 0x0000820c, 0x00900eec,
- 0x0000df80, 0x00006001, 0x00008084, 0x000035d9, 0x0000f200, 0x2dc05608,
- 0x0000a004, 0x02000000, 0x00009980, 0x2df82608, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004, 0x00001880, 0x0010c004,
- 0x00001502, 0x2df84e08, 0x00002094, 0x024728e5, 0x00001908, 0xffffffff,
- 0x00007f97, 0x2df84e08, 0x00002884, 0x02400808, 0x00001080, 0x2df82609,
- 0x0000a084, 0xffffffff, 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004,
- 0x00001880, 0x0010c004, 0x00001502, 0x2df82609, 0x00002094, 0x00003757,
- 0x0000f009, 0xffffffff, 0x00007f86, 0x2df82609, 0x00002884, 0x02401008,
- 0x00001080, 0x2df82609, 0x0000a084, 0xffffffff, 0x00007fa7, 0x0100a004,
- 0x00009780, 0x01002004, 0x00001880, 0x0010c004, 0x00001502, 0x2df82609,
- 0x00002094, 0x010728e5, 0x00009908, 0xffffffff, 0x00007f97, 0x2df82609,
- 0x00002884, 0x02401808, 0x00009080, 0x2df82609, 0x0000a084, 0xffffffff,
- 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004, 0x00001880, 0x0010c004,
- 0x00001502, 0x2df82609, 0x00002094, 0x010728e5, 0x00009908, 0xffffffff,
- 0x00007f97, 0x2df82609, 0x00002884, 0x02402008, 0x00001080, 0x2df82609,
- 0x0000a084, 0xffffffff, 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004,
- 0x00001880, 0x0010c004, 0x00001502, 0x2df82609, 0x00002094, 0x010728e5,
- 0x00009908, 0xffffffff, 0x00007f97, 0x2df82609, 0x00002884, 0x02402808,
- 0x00009080, 0x2df82609, 0x0000a084, 0xffffffff, 0x00007fa7, 0x0100a004,
- 0x00009780, 0x01002004, 0x00001880, 0x0010c004, 0x00001502, 0x2df82609,
- 0x00002094, 0x010728e5, 0x00009908, 0xffffffff, 0x00007f97, 0x2df82609,
- 0x00002884, 0x02403008, 0x00009080, 0x2df82609, 0x0000a084, 0xffffffff,
- 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004, 0x00001880, 0x0010c004,
- 0x00001502, 0x2df82609, 0x00002094, 0x010728e5, 0x00009908, 0xffffffff,
- 0x00007f97, 0x2df82609, 0x00002884, 0x02004008, 0x00006080, 0x02403808,
- 0x00008080, 0x2df82609, 0x0000a084, 0xffffffff, 0x00007fa7, 0x0100a004,
- 0x00009780, 0x01002004, 0x00001880, 0x0010c004, 0x00001502, 0x2df82609,
- 0x00002094, 0x000a0008, 0x0000e582, 0x010728e5, 0x00000908, 0x00003705,
- 0x00007213, 0x2df82609, 0x00002884, 0x00000001, 0x0000f080, 0x2dff2e09,
- 0x00002884, 0x02401008, 0x00001080, 0x2df82609, 0x0000a084, 0xffffffff,
- 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004, 0x00001880, 0x0010c004,
- 0x00001502, 0x2df82609, 0x00002094, 0x010728e5, 0x00009908, 0xffffffff,
- 0x00007f97, 0x2df82609, 0x00002884, 0x02401808, 0x00009080, 0x2df82609,
- 0x0000a084, 0xffffffff, 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004,
- 0x00001880, 0x0010c004, 0x00001502, 0x2df82609, 0x00002094, 0x010728e5,
- 0x00009908, 0xffffffff, 0x00007f97, 0x2df82609, 0x00002884, 0x02402008,
- 0x00001080, 0x2df82609, 0x0000a084, 0xffffffff, 0x00007fa7, 0x0100a004,
- 0x00009780, 0x01002004, 0x00001880, 0x0010c004, 0x00001502, 0x2df82609,
- 0x00002094, 0x010728e5, 0x00009908, 0xffffffff, 0x00007f97, 0x2df82609,
- 0x00002884, 0x02402808, 0x00009080, 0x2df82609, 0x0000a084, 0xffffffff,
- 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004, 0x00001880, 0x0010c004,
- 0x00001502, 0x2df82609, 0x00002094, 0x010728e5, 0x00009908, 0xffffffff,
- 0x00007f97, 0x2df82609, 0x00002884, 0x02403008, 0x00009080, 0x2df82609,
- 0x0000a084, 0xffffffff, 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004,
- 0x00001880, 0x0010c004, 0x00001502, 0x2df82609, 0x00002094, 0x010728e5,
- 0x00009908, 0xffffffff, 0x00007f97, 0x2df82609, 0x00002884, 0x02004008,
- 0x00006080, 0x02403808, 0x00008080, 0x2df82609, 0x0000a084, 0xffffffff,
- 0x00007fa7, 0x0100a004, 0x00009780, 0x01002004, 0x00001880, 0x0010c004,
- 0x00001502, 0x2df82609, 0x00002094, 0x010728e5, 0x00009908, 0xffffffff,
- 0x00007f97, 0x2df82609, 0x00002884, 0xc14a0008, 0x0000f893, 0xb1800000,
- 0x00001b8a, 0x000037d5, 0x00007200, 0x01000000, 0x00001981, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0x02000000, 0x000080e4, 0x02800000,
- 0x000080ec, 0x03000000, 0x000080f4, 0x03800000, 0x000080fc, 0x00000c04,
- 0x00009583, 0x00000c04, 0x00009583, 0xffffffff, 0x00007f86, 0x000037af,
- 0x0000f008, 0x000037ac, 0x00007028, 0x00001404, 0x00009583, 0x02833066,
- 0x00006108, 0x0003380b, 0x0000610e, 0x000037b1, 0x00007009, 0x000037b1,
- 0x0000f400, 0x00001c04, 0x00001583, 0x02834068, 0x00006108, 0x0003480b,
- 0x0000e10e, 0x000037b1, 0x0000f200, 0x02803006, 0x0000e100, 0x0000380b,
- 0x0000e106, 0x02832064, 0x0000e100, 0x0003280b, 0x00006106, 0xffffffff,
- 0x00007f86, 0x80182a10, 0x00006502, 0xc000100b, 0x00002406, 0x02006008,
- 0x0000e380, 0x00000809, 0x0000a42e, 0xc2001000, 0x0000e1a9, 0x80001809,
- 0x0000e4a8, 0x000037bd, 0x0000f020, 0x000037c9, 0x0000f400, 0x00081009,
- 0x0000e501, 0xe000180d, 0x00003402, 0xc3800800, 0x00001980, 0x80182a10,
- 0x00006502, 0xc2000800, 0x00000981, 0x82402000, 0x0000e181, 0xc2001000,
- 0x00004989, 0x00000809, 0x0000e40e, 0xa000100d, 0x0000b40a, 0x000037cf,
- 0x0000f010, 0x80001809, 0x0000e480, 0x0000080d, 0x0000b403, 0x08005a0e,
- 0x0000e106, 0x80000809, 0x00003401, 0xc3400800, 0x00009981, 0x814010ec,
- 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec,
- 0x00005780, 0x00006000, 0x00008080, 0x000037d4, 0x00007000, 0x814010ec,
- 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008810ec,
- 0x00005780, 0x00006000, 0x00008080, 0x01000c04, 0x00009081, 0x84202404,
- 0x00009900, 0x80102a10, 0x00001502, 0x00003799, 0x0000702b, 0x00000001,
- 0x0000f080, 0x02c00004, 0x00006180, 0x02400080, 0x0000c980, 0x02006000,
- 0x00007900, 0x00004000, 0x00000980, 0x02803006, 0x0000e100, 0x0000380b,
- 0x0000e106, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x008810ec, 0x00005780, 0x00006000, 0x00008080, 0x00003800,
- 0x0000f200, 0x01800800, 0x00001981, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x008000ec, 0x00005780, 0x00000000,
- 0x00008080, 0xffffffff, 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x00001406, 0x00001583, 0x000037f8, 0x0000700b, 0x00001c06,
- 0x00009583, 0x02834068, 0x00006108, 0x0003480b, 0x0000e10e, 0x000037fa,
- 0x00007009, 0x000037fa, 0x0000f400, 0x00000c06, 0x00001583, 0x02832064,
- 0x00006108, 0x0003280b, 0x0000e10e, 0x02833066, 0x0000e100, 0x0003380b,
- 0x0000e106, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x008810ec, 0x00005780, 0x00006000, 0x00008080, 0x01800c06,
- 0x00009081, 0x01603406, 0x00009900, 0x00002005, 0x00009502, 0x000037e6,
- 0x0000f02b, 0x00000001, 0x0000f080, 0x0000382d, 0x0000f200, 0x01000000,
- 0x00001981, 0x00000404, 0x0000e583, 0x17c00004, 0x00000980, 0x0000385f,
- 0x0000e10e, 0x0003285f, 0x00003116, 0x17803006, 0x0000e108, 0x17832064,
- 0x0000c910, 0x40000508, 0x0000e583, 0x17400080, 0x00008980, 0x1dc00800,
- 0x0000e191, 0xa0001071, 0x00006412, 0x00000408, 0x00001583, 0xdf400d77,
- 0x00006091, 0xc0000871, 0x00002410, 0x41604508, 0x00006303, 0x5dc00d77,
- 0x00008091, 0x17006000, 0x0000f900, 0x00004000, 0x00000980, 0xd7002000,
- 0x0000e191, 0x0000185d, 0x0000e416, 0x00003824, 0x0000f008, 0x00000408,
- 0x0000e583, 0x8000105d, 0x00002480, 0x0018e0ec, 0x00005780, 0x00006000,
- 0x00008080, 0xd7003000, 0x00006191, 0x8000085d, 0x0000e401, 0x0010f8ec,
- 0x00005790, 0x00006000, 0x00008080, 0xd7c01000, 0x00006190, 0x9000085d,
- 0x0000e411, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x0088b8ec, 0x0000d780, 0x00006000, 0x00008080, 0xffffffff,
- 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01000c04,
- 0x00009081, 0x81602404, 0x00001900, 0x80184205, 0x00009502, 0x00003806,
- 0x0000702b, 0x00000001, 0x0000f080, 0x00005005, 0x00006582, 0x02c00004,
- 0x00008980, 0x02006000, 0x00007900, 0x00004000, 0x00000980, 0x02400080,
- 0x0000e180, 0x0000380b, 0x0000e106, 0x00003841, 0x00007210, 0x02803006,
- 0x0000e100, 0x11400080, 0x0000c988, 0x11800764, 0x0000049c, 0x00032847,
- 0x00006906, 0x11006000, 0x0000f900, 0x00004000, 0x00000980, 0x000888ec,
- 0x00005780, 0x00006000, 0x00008080, 0xc0032847, 0x0000e806, 0x00000001,
- 0x00007280, 0x000810ec, 0x0000d780, 0x00006000, 0x00008080, 0x1cc01404,
- 0x00006081, 0x81c00000, 0x0000c981, 0x3843e473, 0x00006181, 0x01400000,
- 0x00008980, 0xd81722e4, 0x0000e100, 0x00003805, 0x00006106, 0x58000000,
- 0x00006181, 0x9c982304, 0x00004900, 0x01000706, 0x0000868a, 0xffffffff,
- 0x00007f97, 0x21020300, 0x0000f904, 0x21820300, 0x00007904, 0x832080e1,
- 0x0000ed86, 0x00000462, 0x00001583, 0x00000087, 0x00009582, 0xffffffff,
- 0x00007f86, 0x000038f1, 0x00007010, 0x0000386b, 0x00007008, 0x18270ce1,
- 0x00006101, 0x08002a73, 0x00006106, 0x2dc3a673, 0x0000f902, 0x18e00000,
- 0x00008005, 0x2dc3ae73, 0x00002004, 0x586708e1, 0x00000705, 0x81400000,
- 0x00001981, 0x0003a004, 0x00009502, 0x003bec63, 0x00009503, 0xffffffff,
- 0x00007f86, 0x0000394e, 0x00007010, 0x0000396e, 0x0000f010, 0x2dc3a673,
- 0x00002005, 0x002bbc63, 0x00001503, 0x000039a1, 0x00007413, 0x1d000c74,
- 0x00009081, 0x2ddba673, 0x0000a806, 0x80000605, 0x00009583, 0x38630460,
- 0x0000e111, 0x78630c61, 0x00004911, 0xb8638c71, 0x00001911, 0x1cf83f07,
- 0x00006100, 0x1e400c62, 0x00004080, 0x0003c873, 0x00001502, 0x00003907,
- 0x0000f03b, 0x1cd39272, 0x00006100, 0x08036460, 0x00006000, 0x00042073,
- 0x00006502, 0x3b800000, 0x00008980, 0x3bc00000, 0x00000ed8, 0x39c00000,
- 0x000087c0, 0x1c400000, 0x00006180, 0x9cd42284, 0x00004920, 0x00000087,
- 0x00006582, 0x9cd39272, 0x00000928, 0x00000460, 0x00009583, 0xffffffff,
- 0x00007f86, 0x0000389a, 0x0000f010, 0x00003929, 0x0000f008, 0x3c042885,
- 0x0000e100, 0x000ff8ee, 0x00006501, 0x3c443086, 0x00006100, 0x001398ee,
- 0x00006186, 0x10478500, 0x00007904, 0x10477500, 0x00007904, 0x81c00e07,
- 0x00006081, 0xb0000870, 0x00002401, 0x10473500, 0x0000f904, 0x10438500,
- 0x0000f904, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000462,
- 0x00001583, 0x0000380b, 0x0000610e, 0x08003a0e, 0x0000310e, 0x02803006,
- 0x00001908, 0x0000391a, 0x0000f010, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780, 0x00006000,
- 0x00008080, 0x18800c62, 0x00009081, 0x00383c62, 0x00009503, 0x00003913,
- 0x0000702b, 0x01000000, 0x00006181, 0xb91b0360, 0x00004900, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x00007083, 0x1d042884, 0x00006002, 0x0ec3e475,
- 0x00002004, 0x1d800086, 0x00006084, 0x0c03bc60, 0x00002000, 0x2ba00460,
- 0x00004491, 0x00601c75, 0x00008eb4, 0x00003475, 0x00007890, 0x00000000,
- 0x00000000, 0x5904057c, 0x0000788e, 0x01c00001, 0x00000060, 0x78dbe36c,
- 0x0000f812, 0x01c00001, 0x00000000, 0x3fcbab87, 0x00004313, 0x0062057d,
- 0x00008090, 0x00043081, 0x0000781a, 0x00000000, 0x00000000, 0x00043081,
- 0x00007810, 0x00000000, 0x00000000, 0x00042880, 0x00007830, 0x00000000,
- 0x00008020, 0x7a81057d, 0x0000f896, 0x01c00001, 0x00000060, 0x51c3b07f,
- 0x0000782a, 0x01c00001, 0x00000000, 0x0003b07f, 0x0000f810, 0x00000000,
- 0x00000000, 0x51c3a07e, 0x0000f822, 0x01c00001, 0x00000060, 0x28c00d7c,
- 0x0000458f, 0x7c62057d, 0x00000093, 0xff01057d, 0x0000c796, 0x13200d7c,
- 0x0000948a, 0x1f42057d, 0x0000f896, 0x01c00001, 0x00008080, 0x0c03ec61,
- 0x0000e080, 0x0003e870, 0x00003106, 0x18406461, 0x00006080, 0x0003e870,
- 0x00002081, 0x1d830fe4, 0x0000e000, 0x000ff8ee, 0x00006501, 0x5841057d,
- 0x0000e283, 0x0403e0e7, 0x0000a081, 0x1c440080, 0x00006108, 0x18c40881,
- 0x00004908, 0x1c400000, 0x0000e190, 0x18c00000, 0x0000c990, 0x1e43d085,
- 0x00006002, 0x82c3e070, 0x00002001, 0x1843d886, 0x0000e004, 0x3c041082,
- 0x00000900, 0x1e438879, 0x00006102, 0x3c441883, 0x00008900, 0x18c31861,
- 0x0000e104, 0x9c402302, 0x00008780, 0x18400876, 0x0000e180, 0x9d539a73,
- 0x00000900, 0x1d03c861, 0x0000e200, 0x18000800, 0x00008981, 0x18404087,
- 0x00009780, 0x18400061, 0x0000f900, 0x00000200, 0x00000380, 0x45138861,
- 0x00006907, 0x1c400061, 0x00007900, 0x00000080, 0x00000380, 0x0c43ec61,
- 0x00006800, 0x18409461, 0x00001880, 0x1843a273, 0x0000e000, 0x1c430871,
- 0x00008300, 0x0003b061, 0x00001502, 0x000039ec, 0x0000701b, 0x0013a8ee,
- 0x00006186, 0x002318e7, 0x00003086, 0x10478500, 0x00007904, 0x10477500,
- 0x00007904, 0x81e30607, 0x0000e001, 0x3983c879, 0x00008900, 0x10473500,
- 0x0000f904, 0x10438500, 0x0000f904, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x00000462, 0x00001583, 0x0000380b, 0x0000610e, 0x08003a0e,
- 0x0000310e, 0x02803006, 0x00001908, 0x0000388e, 0x0000f008, 0x23c01462,
- 0x00004589, 0x91201c62, 0x0000828e, 0x21020300, 0x0000f904, 0x21820300,
- 0x00007904, 0x00000087, 0x00009582, 0x8003a2ec, 0x00007912, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x0000f912, 0x1dc00000, 0x00000600, 0x0000386b,
- 0x00007008, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec,
- 0x00007902, 0x1ec00000, 0x00000600, 0x8003e2ec, 0x00007902, 0x1f400000,
- 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec,
- 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000,
- 0x00008600, 0x1ac00087, 0x0000788a, 0xb1c00000, 0x00009c82, 0x01021300,
- 0x0000f904, 0x18400100, 0x00001980, 0x40002061, 0x00006907, 0x00030804,
- 0x00001502, 0x08002a73, 0x00006916, 0x18c04000, 0x0000f910, 0x001c0000,
- 0x00000980, 0x0000386f, 0x0000f008, 0x0000386f, 0x0000f400, 0x04139863,
- 0x00006901, 0x803b1aec, 0x00005600, 0x00000001, 0x00008280, 0x9c939a72,
- 0x00001100, 0x80000272, 0x00009582, 0xb91b0360, 0x0000e108, 0x01000000,
- 0x0000c989, 0x00003851, 0x0000f011, 0xffffffff, 0x00007f86, 0x00000000,
- 0x00007083, 0x41a01462, 0x0000c989, 0x04601c62, 0x00008e8c, 0xffffffff,
- 0x00007f86, 0x00000c62, 0x00009583, 0x0003280b, 0x0000e10e, 0x08032a0e,
- 0x0000b10e, 0x02832064, 0x00001908, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780, 0x00006000,
- 0x00008080, 0x18800c62, 0x00009081, 0x25b83c62, 0x00007822, 0x99c00000,
- 0x00009c88, 0x1cc00800, 0x00009981, 0x011b1073, 0x00000602, 0x1cf83f07,
- 0x00001900, 0x0003c873, 0x00001502, 0xb91b0360, 0x00001950, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x000070d3, 0x21020300, 0x0000f904, 0x21820300,
- 0x00007904, 0x00000087, 0x00009582, 0xb91b0360, 0x00009908, 0x8003a2ec,
- 0x00007912, 0x1d400000, 0x00008600, 0x8003b2ec, 0x0000f912, 0x1dc00000,
- 0x00000600, 0x8003c2ec, 0x00007912, 0x1e400000, 0x00008600, 0x8003d2ec,
- 0x0000f912, 0x1ec00000, 0x00000600, 0x8003e2ec, 0x0000f912, 0x1f400000,
- 0x00000600, 0x00000000, 0x0000f088, 0xb91b0360, 0x00001900, 0x8003f2ec,
- 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec, 0x00007902, 0x20400000,
- 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000, 0x00008600, 0x00000000,
- 0x00007083, 0xdcc05b07, 0x00000092, 0x0003c873, 0x0000e502, 0x58231462,
- 0x00000901, 0xb91b0360, 0x00001950, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x000070d3, 0x00003930, 0x0000f000, 0x801bc273, 0x00006502, 0x18c00c77,
- 0x00000081, 0x2df82673, 0x00005004, 0x0013e800, 0x00000002, 0x2ddb1e73,
- 0x0000a806, 0x00003867, 0x00007008, 0x9c1bc378, 0x00009900, 0x2dfb9e70,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00039804, 0x00001502, 0x80000605,
- 0x00006583, 0x1cc728e5, 0x00000908, 0x0000386b, 0x00007400, 0xffffffff,
- 0x00007f86, 0x2dfb9e70, 0x0000a884, 0xdcc02b07, 0x00008092, 0x0003c873,
- 0x0000e502, 0x58231462, 0x00000901, 0xb91b0360, 0x00001950, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x000070d3, 0x00003930, 0x0000f000, 0x299be202,
- 0x0000f80a, 0x01c00001, 0x00008080, 0xdcc03b07, 0x00000092, 0x0003c873,
- 0x0000e502, 0x58231462, 0x00000901, 0xffffffff, 0x00007f86, 0xb91b0360,
- 0x00001950, 0xffffffff, 0x00007fa7, 0x00000000, 0x000070d3, 0x00003930,
- 0x0000f000, 0x423ba0ec, 0x00002004, 0x1e402000, 0x0000f900, 0x00180000,
- 0x00008980, 0xffffffff, 0x00007f97, 0x1d000874, 0x00009080, 0x423ba0ec,
- 0x0000a804, 0x9d0ffa73, 0x00009280, 0x0413a079, 0x00006901, 0x803bcaec,
- 0x0000d600, 0x00000000, 0x00000280, 0x8003e2ec, 0x00007902, 0x1f400000,
- 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000, 0x00008600, 0x800402ec,
- 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000,
- 0x00008600, 0xc023af7d, 0x00001503, 0x00003862, 0x0000700b, 0x81400800,
- 0x0000e181, 0x1d800002, 0x00004980, 0xdda80500, 0x00001900, 0x770000ec,
- 0x00005680, 0x003bb000, 0x00000000, 0x00c002ec, 0x0000df80, 0x138c480b,
- 0x00001684, 0x1d802000, 0x0000f900, 0x00180000, 0x00008980, 0x0413a076,
- 0x00006901, 0x803bb2ec, 0x0000d600, 0x00000000, 0x00000280, 0x8003e2ec,
- 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000,
- 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec,
- 0x0000f902, 0x20c00000, 0x00008600, 0x2dc3b673, 0x00002004, 0xffffffff,
- 0x00007fa7, 0x003bec76, 0x00001503, 0x2dc31e73, 0x0000200c, 0x2dc3a673,
- 0x0000a00d, 0x00003982, 0x00007010, 0xffffffff, 0x00007f86, 0x002bbc63,
- 0x00001503, 0x1d000c74, 0x00009081, 0x2ddba673, 0x0000a806, 0x00003867,
- 0x00007008, 0x423ba0ec, 0x0000a084, 0x1d402000, 0x0000f900, 0x00140000,
- 0x00008980, 0x9ccffa73, 0x00001280, 0x04139875, 0x0000e901, 0x1d000874,
- 0x00009080, 0x423ba0ec, 0x00002884, 0x803baaec, 0x0000d600, 0x00000001,
- 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec,
- 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000,
- 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff,
- 0x00007f86, 0x002bbc63, 0x00001503, 0x00003867, 0x0000700b, 0x81400800,
- 0x0000e181, 0x1d000002, 0x0000c980, 0xdd280500, 0x00009900, 0x770000ec,
- 0x00005680, 0x003ba000, 0x00008000, 0x00c002ec, 0x0000df80, 0x138de00b,
- 0x00001684, 0x1d402000, 0x0000f900, 0x00140000, 0x00008980, 0x04139875,
- 0x0000e901, 0x803baaec, 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec,
- 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000,
- 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec,
- 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff, 0x00007f86, 0x002bbc63,
- 0x00001503, 0x1d000002, 0x00006190, 0x81400800, 0x00004991, 0xdd280500,
- 0x00001910, 0x00003867, 0x00007008, 0x770000ec, 0x00005680, 0x003ba000,
- 0x00008000, 0x00c002ec, 0x0000df80, 0x138e980b, 0x00001684, 0x1d402000,
- 0x0000f900, 0x00140000, 0x00008980, 0x04139875, 0x0000e901, 0x803baaec,
- 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000,
- 0x00000600, 0xffffffff, 0x00007f86, 0x6d6bbc63, 0x0000f812, 0x39c00000,
- 0x00001c83, 0xdcc04307, 0x00000092, 0x0003c873, 0x0000e502, 0x58231462,
- 0x00000901, 0xb91b0360, 0x00001950, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x000070d3, 0x00003930, 0x0000f000, 0x0000392a, 0x0000f200, 0x1cc05000,
- 0x00001981, 0x9853a276, 0x00006100, 0x3983c879, 0x00008900, 0x10478500,
- 0x00007904, 0xbb93a276, 0x0000e100, 0x9d530a75, 0x00008100, 0x1e530879,
- 0x0000e002, 0x002318e7, 0x0000a086, 0x10477500, 0x00007904, 0x18c00063,
- 0x00006084, 0x18000c60, 0x00000081, 0x0013a876, 0x00009502, 0x10473500,
- 0x0000f904, 0x10438500, 0x0000f904, 0x000038e0, 0x00007020, 0x000039ec,
- 0x0000f200, 0x1d000000, 0x00001980, 0x0000392a, 0x0000f200, 0x1cc02000,
- 0x00009981, 0x0000392a, 0x0000f200, 0x1cc04800, 0x00001981, 0x0000392a,
- 0x0000f200, 0x1cc03000, 0x00001981, 0x0003480b, 0x00006106, 0x08034a0e,
- 0x00003106, 0x02834068, 0x00009900, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780, 0x00006000,
- 0x00008080, 0x18800c62, 0x00009081, 0x25b83c62, 0x00007822, 0x99c00000,
- 0x00009c88, 0x0003380b, 0x0000e106, 0x08033a0e, 0x0000b106, 0x02833066,
- 0x00009900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x009010ec, 0x00005780, 0x00006000, 0x00008080, 0x18800c62,
- 0x00009081, 0x25b83c62, 0x00007822, 0x99c00000, 0x00009c88, 0x03c0000c,
- 0x0000f900, 0x00003fc0, 0x00000280, 0x0a00340e, 0x00006006, 0x00106004,
- 0x00003186, 0x03c0400f, 0x0000e780, 0x8380240e, 0x00008880, 0x09c00100,
- 0x0000e180, 0xc1107a0e, 0x0000c300, 0x803820ec, 0x0000d700, 0x00000000,
- 0x00000880, 0x800000ec, 0x00005780, 0x00000000, 0x00008080, 0x803f28ec,
- 0x0000d700, 0x00000000, 0x00008080, 0x800080ec, 0x0000f902, 0x01000000,
- 0x00000700, 0x09000000, 0x0000f900, 0x00200100, 0x00008980, 0x09400000,
- 0x00007900, 0x0001c080, 0x00008980, 0x09808000, 0x0000f900, 0x00006000,
- 0x00008980, 0x80000e10, 0x00006583, 0x53403825, 0x00002003, 0x89107a0e,
- 0x00009300, 0x45c09eec, 0x00007912, 0x04800000, 0x00008004, 0x00003b76,
- 0x00007008, 0xffffffff, 0x00007f97, 0x01409813, 0x00006300, 0x03409813,
- 0x00004900, 0x003ff005, 0x0000f900, 0x0000003e, 0x00008582, 0x01009012,
- 0x00009b00, 0x01002fe4, 0x00001830, 0x00003b48, 0x00007018, 0x003ff805,
- 0x00007900, 0x00000002, 0x00008582, 0x0440680d, 0x0000e310, 0x04c09804,
- 0x0000c400, 0x45f89eec, 0x00002884, 0x00003b87, 0x0000f008, 0x01800000,
- 0x00006180, 0x00106007, 0x00006186, 0xc1d07a0e, 0x00006300, 0x04208806,
- 0x0000a087, 0x803838ec, 0x0000d700, 0x00383000, 0x00008000, 0x01800000,
- 0x0000f900, 0x000040c0, 0x00000980, 0x01400002, 0x0000e180, 0x00106007,
- 0x00006186, 0x800000ec, 0x00005780, 0x00000000, 0x00008080, 0x81b51500,
- 0x0000e080, 0xc1680500, 0x00000900, 0x723830ec, 0x00005600, 0x00382800,
- 0x00008000, 0xc1d07a0e, 0x00009300, 0x723838ec, 0x0000d600, 0x00080881,
- 0x00008080, 0x00c002ec, 0x0000df80, 0x0392b80b, 0x00009684, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0x01000ce0, 0x00009283, 0x00003c35,
- 0x00007013, 0x83680500, 0x0000e100, 0x8150620c, 0x00004900, 0x6a20340d,
- 0x0000a080, 0xc1507a0e, 0x00001300, 0xffffffff, 0x00007f97, 0x41004506,
- 0x00001283, 0x41003506, 0x00009283, 0xffffffff, 0x00007f86, 0x00003bda,
- 0x00007010, 0x00003b95, 0x0000f010, 0x0bc00004, 0x00006180, 0x0800320d,
- 0x00006100, 0x0c000000, 0x00006180, 0x0010682f, 0x00006106, 0x0b009000,
- 0x00007900, 0x0000a080, 0x00000980, 0x0b400000, 0x0000f900, 0x00018030,
- 0x00008980, 0x8b90620c, 0x00006100, 0xcb907a0e, 0x00004300, 0x0a000000,
- 0x000082e4, 0x0a800000, 0x000082ec, 0x0c684f0a, 0x00008308, 0x0cb84409,
- 0x0000030c, 0x0c008d0b, 0x00008300, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x008048ec, 0x00005780, 0x00007001,
- 0x00008080, 0x82c02aec, 0x00007902, 0x01000000, 0x00000604, 0x462078ec,
- 0x00002005, 0xffffffff, 0x00007fa7, 0x0000040f, 0x00009583, 0x460000ec,
- 0x0000500c, 0x00400800, 0x00008083, 0x463828ec, 0x0000288c, 0x00003be8,
- 0x0000f010, 0x473874ec, 0x00002004, 0x0181fc11, 0x00006281, 0x8340fa11,
- 0x00000280, 0x0000fc06, 0x0000e583, 0x03506fe4, 0x00008800, 0x460000ec,
- 0x0000d004, 0x00600000, 0x00000082, 0x03c0200e, 0x0000e080, 0x0e80880e,
- 0x00006086, 0x83a3120e, 0x0000f900, 0x00000004, 0x00000080, 0x0000280e,
- 0x0000f902, 0x01000000, 0x00008000, 0x47000cec, 0x0000d084, 0x00400000,
- 0x00008000, 0xffffffff, 0x00007f97, 0x0100200d, 0x0000e318, 0x0140280d,
- 0x00008330, 0xffffffff, 0x00007f86, 0x0038280e, 0x00005000, 0x00382000,
- 0x00000000, 0x83800000, 0x00006180, 0x01404002, 0x00004980, 0xc1680500,
- 0x00009900, 0x713878ec, 0x00005600, 0x00382800, 0x00008000, 0x00c002ec,
- 0x0000df80, 0x0395680b, 0x00009684, 0x85c00000, 0x00009980, 0xffffffff,
- 0x00007ff7, 0xffffffff, 0x00007fc7, 0x82c03aec, 0x0000f902, 0x01000000,
- 0x00000604, 0x463820ec, 0x0000a084, 0xffffffff, 0x00007fa7, 0x01002007,
- 0x00009100, 0x0000200f, 0x00009502, 0x06007804, 0x00006128, 0x06000000,
- 0x000009a0, 0x47387cec, 0x0000a004, 0xffffffff, 0x00007fa7, 0x0000c00f,
- 0x00001502, 0x00003ac0, 0x0000f01b, 0x85c00a17, 0x00006080, 0x06007818,
- 0x00008100, 0x0000c00f, 0x00001502, 0x00003abc, 0x00007033, 0x0360bc0e,
- 0x0000e001, 0x0560740e, 0x00000901, 0x06400000, 0x00006181, 0x05007c0d,
- 0x00004281, 0x4618a0ec, 0x00002806, 0x03a0cc15, 0x00009001, 0x05807c0e,
- 0x00009281, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02c01c16,
- 0x00006080, 0x0b800000, 0x00008980, 0x0b009000, 0x00007900, 0x0000a0c0,
- 0x00008980, 0x0b400000, 0x0000f900, 0x00010030, 0x00000980, 0x45c08e0b,
- 0x00007902, 0x04000000, 0x00000004, 0x0bc00004, 0x00006180, 0x0a000000,
- 0x00004980, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000003c0, 0x0c400000,
- 0x000003c8, 0x0cc00000, 0x000081cc, 0x04800000, 0x00001980, 0x01008011,
- 0x00001302, 0x00003b11, 0x0000f00b, 0x03408811, 0x0000e300, 0x01008811,
- 0x00004900, 0x003ff00d, 0x00007900, 0x0000003e, 0x00008582, 0x03808010,
- 0x0000e300, 0x03c06fe4, 0x00004830, 0x02802004, 0x00006330, 0x0440880f,
- 0x00004430, 0x00003bbe, 0x00007018, 0xffffffff, 0x00007f86, 0x0301fc0a,
- 0x00006281, 0x0e80500f, 0x00002086, 0x0000fc0c, 0x0000e583, 0x8340fa0a,
- 0x00000280, 0x83a30a0f, 0x00007900, 0x00000004, 0x00000080, 0x0000300e,
- 0x0000f902, 0x01000000, 0x00008000, 0x00003ba7, 0x00007218, 0x02506fe4,
- 0x00009800, 0xffffffff, 0x00007f86, 0x01003009, 0x00001202, 0x01000000,
- 0x00001981, 0x01000800, 0x00001991, 0xffffffff, 0x00007f86, 0x00000404,
- 0x00001583, 0x00003bad, 0x0000700b, 0x83e30a0f, 0x0000f900, 0x00000004,
- 0x00000080, 0x0000300f, 0x00007902, 0x01000000, 0x00008000, 0x0000fc0c,
- 0x0000e583, 0x038048e5, 0x00008400, 0xffffffff, 0x00007f97, 0x0100200e,
- 0x00006218, 0x0180300e, 0x00000230, 0xffffffff, 0x00007f86, 0x0038300f,
- 0x0000d000, 0x00382000, 0x00000000, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x0c20540a, 0x00001901, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x008048ec, 0x00005780, 0x00007001,
- 0x00008080, 0x83402a0a, 0x00001780, 0x0000040d, 0x00001583, 0x04c04813,
- 0x00001308, 0x00003ad8, 0x0000f009, 0x00000c0d, 0x00009583, 0x01008011,
- 0x0000e302, 0x04804812, 0x00008308, 0x00003ada, 0x0000f013, 0x01009013,
- 0x00001302, 0x45f89e0b, 0x0000d004, 0x00389000, 0x00008000, 0x03e0b7e4,
- 0x00006008, 0x82239002, 0x0000c988, 0x00003b1c, 0x00007010, 0x00383008,
- 0x00002080, 0x034078e5, 0x00001400, 0xffffffff, 0x00007f97, 0x0180300d,
- 0x00009200, 0x00383008, 0x0000a880, 0x06400c19, 0x00009081, 0x83a0cc19,
- 0x00009900, 0x8010ba0e, 0x00001502, 0x47387cec, 0x0000209c, 0x03400c14,
- 0x00009098, 0x00003ac5, 0x0000f030, 0x0380780d, 0x00009280, 0x034077e4,
- 0x00009800, 0x03806aec, 0x00001100, 0x0340780e, 0x00001200, 0xffffffff,
- 0x00007f86, 0x0100680d, 0x00009b00, 0x00072804, 0x00001502, 0x80007a04,
- 0x00001582, 0xffffffff, 0x00007f86, 0x00003b2d, 0x0000f008, 0x00003bc4,
- 0x0000f030, 0x0100780f, 0x00009b00, 0x00072804, 0x00001502, 0x00003b33,
- 0x0000f00b, 0x80007a04, 0x00001582, 0x83d02204, 0x00001930, 0x00003b34,
- 0x00007031, 0x83fff801, 0x00009980, 0x0228780f, 0x0000003b, 0x8020a20e,
- 0x00001502, 0x00003bca, 0x00007033, 0x473834ec, 0x0000a004, 0x0007fc08,
- 0x0000e583, 0x8120a408, 0x00000100, 0x03572818, 0x00009200, 0x463838ec,
- 0x00002884, 0x2c102206, 0x00009600, 0x03c588b0, 0x00001000, 0x2c102306,
- 0x00001600, 0x010588b0, 0x00009000, 0x01008004, 0x00001880, 0x00003aa9,
- 0x0000f410, 0x01007804, 0x00009000, 0x03c06804, 0x00001100, 0x460000ec,
- 0x0000d004, 0x00400000, 0x00000083, 0x008006ec, 0x0000df80, 0x00000000,
- 0x00000084, 0x0000f804, 0x00009582, 0x034027e4, 0x0000e030, 0x04410004,
- 0x000040b0, 0x0480900d, 0x00006430, 0x01800000, 0x000089b0, 0x00003b87,
- 0x00007018, 0x00106007, 0x00006186, 0x04208806, 0x00003087, 0x45f896ec,
- 0x00002804, 0xc1d07a0e, 0x00006300, 0x00106005, 0x00002186, 0x803838ec,
- 0x0000d700, 0x00383000, 0x00008000, 0x01c00000, 0x00007900, 0x000040c0,
- 0x00000980, 0x01800002, 0x0000e180, 0x81f51500, 0x0000c080, 0x800000ec,
- 0x00005780, 0x00000000, 0x00008080, 0xc1507a0e, 0x0000e300, 0xc1a80500,
- 0x00000900, 0x723838ec, 0x0000d600, 0x00383000, 0x00008000, 0x723828ec,
- 0x00005600, 0x00080881, 0x00008080, 0x00c002ec, 0x0000df80, 0x039b180b,
- 0x00009684, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x9a800ce0,
- 0x0000788e, 0xa9c00000, 0x00001e81, 0x83c03410, 0x0000e780, 0x0380fc10,
- 0x00008281, 0x83e30a0f, 0x0000f900, 0x00000004, 0x00000080, 0x0000280f,
- 0x00007902, 0x01000000, 0x00008000, 0x03a077e4, 0x00006000, 0x0341fc10,
- 0x0000c281, 0x0000fc0d, 0x00009583, 0xffffffff, 0x00007f86, 0x0100200e,
- 0x0000e318, 0x0140280e, 0x00008330, 0xffffffff, 0x00007f86, 0x0038280f,
- 0x0000d000, 0x00382000, 0x00000000, 0x008006ec, 0x0000df80, 0x00000000,
- 0x00000084, 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x39bd8000,
- 0x00007900, 0x00387e9a, 0x00000980, 0x39eb2000, 0x00007900, 0x000e9eea,
- 0x00000980, 0x2b000000, 0x00006180, 0x08001aae, 0x00006106, 0x2ac00000,
- 0x0000e180, 0xebb00600, 0x0000c901, 0x3ba51eb0, 0x0000f500, 0xabb81400,
- 0x00008a3c, 0xa900b800, 0x00006180, 0x2b40600c, 0x00004900, 0x01400000,
- 0x00006180, 0x08001aae, 0x00006106, 0x2b000000, 0x00006180, 0x90003005,
- 0x00006000, 0x29000000, 0x00007900, 0x00010080, 0x00008980, 0x2ac00000,
- 0x0000e180, 0xa0003005, 0x00006000, 0x399f8800, 0x0000f900, 0x00387e9c,
- 0x00000980, 0x39df2000, 0x0000f900, 0x0022fd6a, 0x00000980, 0xaba00500,
- 0x00008a3a, 0x3ba51eb0, 0x0000f500, 0x2bc0c702, 0x00008a91, 0x2b402805,
- 0x00001900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x01002009,
- 0x00009202, 0x01000000, 0x00001981, 0x01000800, 0x00001991, 0xffffffff,
- 0x00007f86, 0x00000404, 0x00001583, 0x00003af5, 0x00007013, 0x01000000,
- 0x00007900, 0x00080000, 0x00000980, 0x0000fc0c, 0x0000e583, 0x04205004,
- 0x00002087, 0x8362fa0f, 0x0000f900, 0x00000004, 0x00000080, 0x800000ec,
- 0x00005780, 0x00382000, 0x00000000, 0x0000300d, 0x0000f902, 0x01000000,
- 0x00008000, 0xffffffff, 0x00007fa7, 0x01002009, 0x00006318, 0x01803009,
- 0x00000330, 0x00003ad8, 0x00007400, 0xffffffff, 0x00007f86, 0x0038300d,
- 0x00005000, 0x00382000, 0x00000000, 0x0000f80e, 0x00009582, 0x00003ae3,
- 0x0000f400, 0x034077e4, 0x0000e030, 0x0281000e, 0x000040b0, 0x0400800d,
- 0x00006430, 0x02bff801, 0x00008998, 0x0007fc04, 0x0000e583, 0x02202404,
- 0x00000901, 0x83a02404, 0x00001910, 0x00003b2d, 0x00007009, 0x8020a20e,
- 0x00001502, 0x00003b37, 0x0000f01b, 0x473834ec, 0x0000a004, 0x0007fc08,
- 0x0000e583, 0x83408000, 0x00000980, 0x03572818, 0x00006200, 0x83e0a20d,
- 0x00008100, 0x81107c08, 0x00001000, 0x463838ec, 0x00002884, 0x2c102206,
- 0x00009600, 0x03c588b0, 0x00001000, 0x2c102306, 0x00001600, 0x010588b0,
- 0x00009000, 0x01008004, 0x00001880, 0x00003aa9, 0x0000f410, 0x01007804,
- 0x00009000, 0x03c06804, 0x00001100, 0x00003b44, 0x00007000, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x01002805, 0x00006100, 0x08001a08,
- 0x00006106, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02e0e000,
- 0x00007900, 0x000e7b9e, 0x00008980, 0x03000000, 0x00006180, 0xc2300600,
- 0x0000c901, 0x82381400, 0x00008024, 0x3be81e83, 0x0000f500, 0x83401606,
- 0x0000009d, 0x01802004, 0x00009900, 0x463870ec, 0x0000a084, 0x473824ec,
- 0x00002004, 0xffffffff, 0x00007f97, 0x03c07005, 0x00009100, 0x0000200f,
- 0x00009502, 0x83400000, 0x000099a0, 0x00003c1a, 0x0000f029, 0x83400a0d,
- 0x00006080, 0x03c0200f, 0x00000100, 0x00007804, 0x00009502, 0x8000020d,
- 0x00001582, 0xffffffff, 0x00007f86, 0x00003bef, 0x0000f030, 0x00003c1a,
- 0x0000f008, 0x460078ec, 0x0000a005, 0xffffffff, 0x00007fa7, 0x03506c0f,
- 0x00009000, 0x0380780d, 0x0000e080, 0x0e80880d, 0x0000a086, 0x8380fa11,
- 0x00006280, 0x81407a0e, 0x00008280, 0x83e31205, 0x0000f900, 0x00000004,
- 0x00000080, 0x83d07a0d, 0x00006000, 0x039077e4, 0x00008800, 0x0000300f,
- 0x00007902, 0x01000000, 0x00008000, 0x0341fc11, 0x00001281, 0x0000fc0d,
- 0x00006583, 0x0341fc05, 0x00008281, 0xffffffff, 0x00007f86, 0x0180300e,
- 0x0000e330, 0x0100200e, 0x00008318, 0x8380fa05, 0x00009280, 0x0038300f,
- 0x0000d000, 0x00382000, 0x00000000, 0x039077e4, 0x00006000, 0x0e802a0f,
- 0x00006086, 0x83e3920f, 0x00007900, 0x00000004, 0x00000080, 0x0000300f,
- 0x00007902, 0x01000000, 0x00008000, 0x0000fc0d, 0x00009583, 0xffffffff,
- 0x00007f97, 0x0100200e, 0x0000e318, 0x0180300e, 0x00008330, 0x00003b85,
- 0x00007400, 0xffffffff, 0x00007f86, 0x0038300f, 0x0000d000, 0x00382000,
- 0x00000000, 0x460070ec, 0x00002005, 0x0e80880d, 0x0000e886, 0xffffffff,
- 0x00007f97, 0x8380fa11, 0x00006280, 0x81407c0e, 0x00008280, 0x83e31205,
- 0x0000f900, 0x00000004, 0x00000080, 0x83d07a0d, 0x00006000, 0x039077e4,
- 0x00008800, 0x0000300f, 0x00007902, 0x01000000, 0x00008000, 0x0341fc11,
- 0x00001281, 0x0000fc0d, 0x00006583, 0x0341fc05, 0x00008281, 0xffffffff,
- 0x00007f86, 0x0180300e, 0x0000e330, 0x0100200e, 0x00008318, 0x8380fa05,
- 0x00009280, 0x0038300f, 0x0000d000, 0x00382000, 0x00000000, 0x039077e4,
- 0x00006000, 0x0e802a0f, 0x00006086, 0x00003c12, 0x00007400, 0x83e3920f,
- 0x00007900, 0x00000004, 0x00000080, 0x0000300f, 0x00007902, 0x01000000,
- 0x00008000, 0x3c361edc, 0x0000f100, 0xffffffff, 0x00007f86, 0x00000405,
- 0x00009583, 0x0340fc10, 0x00006291, 0x81002c10, 0x00008790, 0x03606fe4,
- 0x00009810, 0x00003a6a, 0x00007008, 0x00000404, 0x0000e583, 0x034068e5,
- 0x00000400, 0x04c0980d, 0x00001208, 0x00003c42, 0x0000f009, 0x00000c04,
- 0x00009583, 0x0480900d, 0x00001208, 0x01000000, 0x00007900, 0x00080000,
- 0x00000980, 0x45f89eec, 0x0000d004, 0x00389000, 0x00008000, 0x00003a6a,
- 0x00007400, 0x04208804, 0x00006887, 0x800000ec, 0x00005780, 0x00382000,
- 0x00000000, 0x0138001f, 0x0000e180, 0x01400808, 0x0000c780, 0x00002cac,
- 0x0000f400, 0x0101fc05, 0x00001281, 0x01c02004, 0x00001900, 0x01001418,
- 0x00001283, 0x00003c92, 0x0000f013, 0x0e812c05, 0x00006000, 0x08412c06,
- 0x00003000, 0x00000405, 0x00006583, 0x024000e0, 0x00000980, 0x81000000,
- 0x0000e190, 0x81113a27, 0x00004908, 0x00000406, 0x00006583, 0x02800000,
- 0x00008980, 0x82502204, 0x00006100, 0x02000100, 0x00004980, 0x81000fe2,
- 0x00006090, 0x82011809, 0x0000e00f, 0x79602404, 0x0000a011, 0x03c00004,
- 0x0000e180, 0x50411809, 0x0000e00b, 0x003fd800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x02c00000, 0x00007900, 0x00020040, 0x00008980, 0x0ec02404,
- 0x00006014, 0x0000180f, 0x0000b106, 0x86202009, 0x0000e017, 0x3501280b,
- 0x0000b001, 0x03801002, 0x00006100, 0x557f1009, 0x0000e013, 0x00000405,
- 0x00006583, 0x004000a8, 0x00008980, 0x0010c80a, 0x0000618a, 0x0000000a,
- 0x0000b592, 0x01400000, 0x00006191, 0x01440000, 0x0000c989, 0x80000209,
- 0x00006582, 0x82181302, 0x00000900, 0xc2800800, 0x0000e189, 0xc0c00000,
- 0x00004980, 0x81020623, 0x00006283, 0x82a02c05, 0x00000901, 0x003bf800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x03009000, 0x0000f900, 0x0001e040,
- 0x00000980, 0x03400000, 0x00007900, 0x00018030, 0x00008980, 0x00003c90,
- 0x0000f408, 0x000010ec, 0x00005780, 0x00d071c1, 0x00000280, 0x81401723,
- 0x00006090, 0xc0000800, 0x00004981, 0xffffffff, 0x00007f86, 0x85002005,
- 0x0000a000, 0x84f83205, 0x0000b038, 0xffffffff, 0x00007f97, 0x00000c04,
- 0x00009583, 0x01803806, 0x00009118, 0x00003c90, 0x00007031, 0x00037006,
- 0x00001582, 0x01c37007, 0x00006098, 0x01037000, 0x000089b0, 0x84f83a05,
- 0x0000a818, 0x3c902d84, 0x0000f530, 0x18391f23, 0x0000e130, 0x01003004,
- 0x00004130, 0x84f82205, 0x0000a830, 0x008806ec, 0x00005f80, 0x00006000,
- 0x00000084, 0x01060425, 0x00001283, 0x01003525, 0x00006189, 0x004000c8,
- 0x00000988, 0x01800000, 0x00007908, 0x001f8200, 0x00000980, 0x00003c51,
- 0x0000f010, 0x00000c04, 0x00006583, 0xc0c00000, 0x00008980, 0x81048000,
- 0x00006198, 0x8104e000, 0x000049b0, 0x003fd800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x00102006, 0x0000e986, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x203836ec, 0x0000d600, 0x00391800, 0x00000000, 0xc0000800,
- 0x00001981, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x01001410,
- 0x00009283, 0x00003cf6, 0x00007013, 0x1ec8075f, 0x000000a0, 0x0213d808,
- 0x00006100, 0x1a000000, 0x00000980, 0x01400000, 0x0000f900, 0x001e8000,
- 0x00000980, 0x02002008, 0x00006784, 0x1a400000, 0x00008980, 0x8102065b,
- 0x00006283, 0x04104005, 0x00002101, 0x20382eec, 0x0000d600, 0x003ad800,
- 0x00000000, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4, 0x1b800000,
- 0x000086fc, 0x1c3aaf54, 0x00000704, 0x1cbabf56, 0x0000070c, 0x1d3acf58,
- 0x00000714, 0x1dbadf5a, 0x0000071c, 0x1e3aef5c, 0x00000724, 0x1ebb075e,
- 0x00008730, 0x00003ccf, 0x0000f408, 0x1f7b1761, 0x00000738, 0x8200175b,
- 0x0000e090, 0x1fc31863, 0x00004900, 0xffffffff, 0x00007f86, 0x85002008,
- 0x00002000, 0x84f83208, 0x00003038, 0xffffffff, 0x00007f97, 0x00000c04,
- 0x00009583, 0x8100a25f, 0x00006098, 0x01803806, 0x00000118, 0x00003ccf,
- 0x00007031, 0x2c029261, 0x00001680, 0x814588b0, 0x00009000, 0x81102a04,
- 0x00001000, 0x00102006, 0x00001502, 0x01c03a04, 0x00009018, 0x84f83a08,
- 0x00002818, 0x00003d0b, 0x0000f030, 0x02007a7b, 0x0000e080, 0x81002800,
- 0x00008980, 0x02002008, 0x00006784, 0x034000e0, 0x00008980, 0x000818ec,
- 0x00005780, 0x00007000, 0x00000080, 0x003fd800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x82204204, 0x0000e086, 0x8203b80d, 0x00003007, 0x03000000,
- 0x0000f900, 0x00200000, 0x00000980, 0x03800000, 0x00007900, 0x00006000,
- 0x00008980, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x003020ec,
- 0x00005702, 0x00007000, 0x00000080, 0x19c00004, 0x00006180, 0x5043b80d,
- 0x00006003, 0x03c00000, 0x0000f900, 0x00020000, 0x00000980, 0x19009000,
- 0x00007900, 0x0001e040, 0x00000980, 0x19400000, 0x0000f900, 0x00018030,
- 0x00008980, 0x0013d80e, 0x0000e182, 0x00001867, 0x00003106, 0x0018c8ec,
- 0x00005780, 0x00007001, 0x00008080, 0x19801002, 0x0000e100, 0x004000a8,
- 0x00004980, 0x83181302, 0x00006100, 0x83004408, 0x0000c081, 0xc0000800,
- 0x00001981, 0xc0c00000, 0x00006180, 0x80000001, 0x0000e405, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x0104045d, 0x00009283, 0x004000c8,
- 0x0000e188, 0x0f82ec08, 0x0000600a, 0xc0c00000, 0x0000e188, 0x8112fc08,
- 0x0000c008, 0x00003ca8, 0x0000f010, 0x4000155d, 0x00006583, 0x82042204,
- 0x00008080, 0x8204a204, 0x00009098, 0x01400000, 0x0000f900, 0x001f8600,
- 0x00008980, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00104005,
- 0x0000e986, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x20382eec,
- 0x0000d600, 0x003ad800, 0x00000000, 0xc0000800, 0x00001981, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x3d0f2d84, 0x00007500, 0x183adf5b,
- 0x0000e100, 0x01003204, 0x0000c100, 0x84f82208, 0x00002800, 0x02007a7b,
- 0x0000e080, 0x81002800, 0x00008980, 0x02002008, 0x00006784, 0x034000e0,
- 0x00008980, 0x000818ec, 0x00005780, 0x00007000, 0x00000080, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x82204204, 0x0000e086, 0x8203b80d,
- 0x00003007, 0x03000000, 0x0000f900, 0x00200000, 0x00000980, 0x03800000,
- 0x00007900, 0x00006000, 0x00008980, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x003020ec, 0x00005702, 0x00007000, 0x00000080, 0x19c00004,
- 0x00006180, 0x5043b80d, 0x00006003, 0x03c00000, 0x0000f900, 0x00020000,
- 0x00000980, 0x19009000, 0x00007900, 0x0001e040, 0x00000980, 0x19400000,
- 0x0000f900, 0x00018030, 0x00008980, 0x0013d80e, 0x0000e182, 0x00001867,
- 0x00003106, 0x0018c8ec, 0x00005780, 0x00007001, 0x00008080, 0x19801002,
- 0x0000e100, 0x004000a8, 0x00004980, 0x00003cf2, 0x0000f400, 0x83181302,
- 0x00006100, 0x83004408, 0x0000c081, 0xc0000800, 0x00001981, 0xc0000f04,
- 0x00006583, 0x0f84ec05, 0x0000a002, 0x8200229f, 0x0000e080, 0x01004000,
- 0x00008989, 0x0100a000, 0x0000e191, 0x82104405, 0x00004000, 0x4000159d,
- 0x00006583, 0x81403aa1, 0x00000880, 0x82102a08, 0x00001000, 0x00003d42,
- 0x0000f031, 0x0141049d, 0x00001283, 0x81400000, 0x00006188, 0x81408000,
- 0x0000c990, 0xffffffff, 0x00007f86, 0x82102a08, 0x00001000, 0x02400000,
- 0x0000f900, 0x001f8000, 0x00008980, 0x00104009, 0x00006186, 0x0000109d,
- 0x0000b403, 0x0140e404, 0x0000e280, 0x8000089d, 0x00002407, 0x0100849d,
- 0x00006283, 0x04102809, 0x0000a101, 0x41400000, 0x00000adc, 0x20384eec,
- 0x0000d600, 0x003cd800, 0x00000000, 0x81400800, 0x0000e188, 0x024000e0,
- 0x0000c980, 0x000018a7, 0x00006106, 0x8204d809, 0x00003007, 0x000948ec,
- 0x0000d780, 0x00985a80, 0x000080c8, 0x18c00004, 0x0000e180, 0x27c00000,
- 0x00004980, 0x02000100, 0x00006180, 0xc00018a7, 0x0000e006, 0x29001000,
- 0x0000f900, 0x00008000, 0x00000980, 0x29580800, 0x00007900, 0x000440c0,
- 0x00008980, 0x02800000, 0x0000f900, 0x00004000, 0x00000980, 0x02c00000,
- 0x00007900, 0x00020040, 0x00008980, 0x18009000, 0x0000f900, 0x0001e040,
- 0x00000980, 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x5044d809,
- 0x00006003, 0x00001863, 0x0000b106, 0x000810ec, 0x0000d780, 0x00d07600,
- 0x000081c0, 0x29a81402, 0x00008a18, 0x2a000001, 0x00000ae4, 0x2a800000,
- 0x00008aec, 0x18800702, 0x00008a84, 0x2743809d, 0x00006380, 0xe79cf205,
- 0x00008000, 0x82002002, 0x000089bf, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x008128ec, 0x0000d780, 0x00007001,
- 0x00008080, 0x3d763797, 0x0000f300, 0xc1702604, 0x0000e100, 0x81782704,
- 0x00004900, 0xffc00000, 0x00006180, 0x0002006d, 0x00006587, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x1b00106c, 0x00006380, 0x0428206d,
- 0x0000a083, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0c00800,
- 0x0000e180, 0x8630206d, 0x0000e005, 0x00400000, 0x00007900, 0x00008090,
- 0x00000980, 0xc0001000, 0x00006181, 0xb6f0386d, 0x0000e081, 0x008806ec,
- 0x00005f80, 0x00c066c0, 0x000080c4, 0x0100146c, 0x00001283, 0x00003ebc,
- 0x00007013, 0x81c00000, 0x0000e181, 0x0c03bc04, 0x00006000, 0x00000404,
- 0x0000e583, 0x02800000, 0x00008980, 0x81004a9f, 0x00006790, 0xa914fa9f,
- 0x00008908, 0x81001a04, 0x00006090, 0x02c00004, 0x00004980, 0xa914fa04,
- 0x00006010, 0x03000000, 0x00008980, 0x02006000, 0x00007900, 0x00008000,
- 0x00000980, 0x02580800, 0x00007900, 0x00004080, 0x00008980, 0x03400000,
- 0x00007900, 0x00004062, 0x00008980, 0x03800020, 0x00006180, 0x03c00000,
- 0x00004980, 0x800002a4, 0x00001582, 0xc0000f9f, 0x00001583, 0x0000049e,
- 0x00001583, 0x00003f62, 0x0000f008, 0x00003f53, 0x00007010, 0x00003f53,
- 0x00007010, 0x08036404, 0x0000e000, 0x08451c0a, 0x0000b000, 0x18400787,
- 0x00008188, 0x04c00000, 0x000081d0, 0x05400000, 0x000001d8, 0x00000087,
- 0x00006582, 0x05c00000, 0x00008980, 0x00000404, 0x00001583, 0xffffffff,
- 0x00007f86, 0x00003e07, 0x00007010, 0x00003f99, 0x00007008, 0xb6fcf816,
- 0x00006001, 0x000ff812, 0x00003501, 0x043c3785, 0x00008104, 0x849522a4,
- 0x00001900, 0x81c00800, 0x00001981, 0x0000380b, 0x0000e106, 0x08003a0e,
- 0x0000b106, 0x02803006, 0x00009900, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780, 0x00006000,
- 0x00008080, 0xc0000f9f, 0x00001583, 0x01002000, 0x000061b0, 0x01005000,
- 0x0000c998, 0x18000000, 0x0000f900, 0x001e8000, 0x00000980, 0x8102069b,
- 0x00006283, 0x1c703804, 0x00008100, 0x81000a71, 0x00009880, 0x04102060,
- 0x00006901, 0x00003dd4, 0x00007208, 0x203b06ec, 0x0000d600, 0x003cd800,
- 0x00000000, 0x8100179b, 0x00001880, 0x85030004, 0x0000a000, 0x84c02a04,
- 0x00007902, 0x18400000, 0x00008000, 0xffffffff, 0x00007f97, 0x00000c60,
- 0x00001583, 0x9800a29f, 0x0000e098, 0x01430805, 0x00000118, 0x00003dd4,
- 0x0000f031, 0x2c0292a1, 0x00001680, 0x988588b0, 0x00001000, 0x98131260,
- 0x00009000, 0x00130005, 0x00009502, 0x18430a60, 0x00001018, 0x84fb0a04,
- 0x00002818, 0x00003f8b, 0x0000f030, 0x81000e77, 0x00001283, 0x98136a6d,
- 0x0000e108, 0x8100326d, 0x00004790, 0x98136a04, 0x00009010, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0x02800000, 0x0000f900, 0x00002000,
- 0x00000980, 0x024000e0, 0x0000e180, 0x0013000a, 0x00006182, 0x800002a4,
- 0x0000e582, 0x02000000, 0x00000980, 0x01002607, 0x0000e081, 0x825522a4,
- 0x00008900, 0xc2800800, 0x0000e189, 0x8204d809, 0x00006007, 0x81000e77,
- 0x0000e283, 0x18c00004, 0x00000980, 0x82181302, 0x0000e100, 0x82000c04,
- 0x0000c881, 0x02c00000, 0x00007900, 0x00020040, 0x00008980, 0x18400000,
- 0x00007900, 0x00018030, 0x00008980, 0x08003aa3, 0x00006106, 0x5044d809,
- 0x00003003, 0x18009000, 0x0000f900, 0x0001e040, 0x00000980, 0x00001863,
- 0x0000e106, 0x86303808, 0x00003085, 0x00003f6d, 0x00007410, 0x18b83702,
- 0x00008a08, 0x004000a8, 0x0000e188, 0x01400c04, 0x0000c881, 0x81002000,
- 0x00009980, 0x000810ec, 0x0000d780, 0x00007000, 0x00000080, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x41000e07, 0x00001881, 0x003bf800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x003020ec, 0x00005702, 0x00007000,
- 0x00000080, 0x0018c0ec, 0x0000d780, 0x00d07140, 0x00008288, 0xc0000800,
- 0x00001981, 0xc0c00000, 0x00006180, 0x80000001, 0x0000e405, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x08003a04, 0x00006906, 0x2dc08604,
- 0x00007902, 0x04a00000, 0x00008005, 0x2dc05e04, 0x00002004, 0xffffffff,
- 0x00007f97, 0x00008006, 0x00009502, 0x003bec12, 0x00009503, 0xffffffff,
- 0x00007f86, 0x00003fa4, 0x0000f010, 0x00003edc, 0x00007010, 0x2dc05e04,
- 0x0000a005, 0x002bbc12, 0x00001503, 0x00003f08, 0x00007413, 0x02c00c0b,
- 0x00009081, 0x2dd85e04, 0x00002806, 0x04442884, 0x00006002, 0x0ec3e404,
- 0x00002004, 0x04000086, 0x00006084, 0x0c03bc05, 0x00002000, 0xf400280a,
- 0x0000c411, 0x44601c04, 0x00000fb7, 0x00003404, 0x00007890, 0x00000000,
- 0x00000000, 0xcc84057c, 0x0000788f, 0x01c00001, 0x00000060, 0xd21be36c,
- 0x00007813, 0x01c00001, 0x00000000, 0xf20bab61, 0x0000c413, 0x6862057d,
- 0x00008f94, 0x00043081, 0x0000781a, 0x00000000, 0x00000000, 0x00043081,
- 0x00007810, 0x00000000, 0x00000000, 0x00042880, 0x00007830, 0x00000000,
- 0x00008020, 0xd3c1057d, 0x0000f897, 0x01c00001, 0x00000060, 0xea20877f,
- 0x00004429, 0x6860877f, 0x00000f14, 0x00c08f7e, 0x00004723, 0x9221057d,
- 0x00009288, 0xea20877f, 0x00004429, 0x6860877f, 0x00000f14, 0xd440887e,
- 0x0000f82b, 0x01c00001, 0x00008080, 0xffffffff, 0x00007f86, 0x41000d7c,
- 0x00009283, 0x01002000, 0x00001989, 0x00003f35, 0x0000f009, 0x4102057d,
- 0x00001283, 0x04042885, 0x0000e110, 0x04443086, 0x00004910, 0x000ff812,
- 0x0000e517, 0xb0000816, 0x00003411, 0x00003e43, 0x00007008, 0x00003db0,
- 0x00007400, 0x04ff0013, 0x0000f900, 0x003ffffe, 0x00008280, 0x81c00800,
- 0x00006181, 0x849522a4, 0x00004900, 0x4101057d, 0x0000e283, 0x0c03ec04,
- 0x00002080, 0x1c406404, 0x0000e080, 0x02840881, 0x00008908, 0x02800000,
- 0x0000e190, 0x18838fe4, 0x00004800, 0x1c440080, 0x00006108, 0x1c400000,
- 0x0000c990, 0x0103d085, 0x00006002, 0x1b804087, 0x00000780, 0x0143d886,
- 0x00006004, 0x00000016, 0x00002506, 0x01038804, 0x00006102, 0x0c43ec60,
- 0x0000a000, 0x05c0006e, 0x00007900, 0x00000200, 0x00000380, 0x1b005005,
- 0x00006104, 0x00000016, 0x0000a481, 0x82802302, 0x0000e780, 0x01400862,
- 0x00000180, 0x18009460, 0x00006080, 0x45105017, 0x00006107, 0x18c02005,
- 0x00006200, 0x80000016, 0x00002481, 0x01400017, 0x0000f900, 0x00000080,
- 0x00000380, 0x05c30005, 0x00006300, 0x0003e816, 0x0000a106, 0x01431aa4,
- 0x00006000, 0x000ff812, 0x0000a507, 0x00002862, 0x00006502, 0x0403e015,
- 0x00002081, 0x04041082, 0x00006100, 0x0003e816, 0x0000e081, 0x04ff0013,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x04441883, 0x0000e100, 0x82c3e016,
- 0x0000e001, 0x00003daf, 0x00007420, 0x05002004, 0x0000e100, 0x849522a4,
- 0x0000c920, 0x0563646c, 0x0000e101, 0x83931a62, 0x0000c128, 0x07c0006e,
- 0x0000f900, 0x00000200, 0x00000380, 0x0100220e, 0x0000e002, 0x815072a4,
- 0x00000100, 0x07800000, 0x00006180, 0x4510501f, 0x0000e107, 0x07400000,
- 0x00006180, 0x0003e81e, 0x0000e106, 0x1b00006c, 0x00006084, 0x0003e81e,
- 0x0000a081, 0x00102862, 0x0000e502, 0x0403e01d, 0x0000a081, 0x06800000,
- 0x00007900, 0x00007fc0, 0x00000980, 0x1c40001f, 0x00007900, 0x00000080,
- 0x00000380, 0x84931a62, 0x0000e100, 0x82c3e01e, 0x0000a001, 0x06c00000,
- 0x00006180, 0x06041082, 0x0000c900, 0x06782783, 0x00000130, 0x00003db0,
- 0x0000f420, 0x81c01000, 0x0000e1a1, 0x0763646c, 0x00004901, 0x869072a4,
- 0x00006120, 0x07c30071, 0x00008300, 0x18572862, 0x0000e200, 0x83931205,
- 0x00000100, 0x09c0006e, 0x00007900, 0x00000200, 0x00000380, 0x01030804,
- 0x00006002, 0x09800000, 0x00000980, 0x45105027, 0x00006107, 0x0003e826,
- 0x00003106, 0x09400000, 0x0000e180, 0x1b00006c, 0x0000c084, 0x00107062,
- 0x00006502, 0x0003e826, 0x00002081, 0x08800000, 0x0000f900, 0x00007fc0,
- 0x00000980, 0x1c400027, 0x0000f900, 0x00000080, 0x00000380, 0x0403e025,
- 0x0000e081, 0x82c3e026, 0x0000b001, 0x06800462, 0x0000828c, 0x083c1f82,
- 0x00000204, 0x09002004, 0x0000e100, 0x81c01800, 0x000049a1, 0x00003db0,
- 0x0000f420, 0x88931205, 0x00006120, 0x09c30071, 0x00000300, 0x0963646c,
- 0x0000e101, 0x88931262, 0x00004928, 0x0bc0006e, 0x0000f900, 0x00000200,
- 0x00000380, 0x0b800000, 0x00006180, 0x4510502f, 0x0000e107, 0x01030804,
- 0x00006002, 0x0003e82e, 0x00002106, 0x0b400000, 0x00006180, 0x0003e82e,
- 0x00006081, 0x0a800000, 0x00007900, 0x00007fc0, 0x00000980, 0x0140002f,
- 0x00007900, 0x00000080, 0x00000380, 0x81c02000, 0x00006181, 0x0403e02d,
- 0x00006081, 0x1c40006c, 0x00006084, 0x82c3e02e, 0x0000a001, 0x0ac00000,
- 0x00006180, 0x0000380b, 0x0000e106, 0x0a3c1f82, 0x00000224, 0x02b82706,
- 0x00000230, 0x00003db3, 0x00007400, 0x8a93120e, 0x0000e100, 0x0bc30005,
- 0x00008300, 0x0b638c71, 0x00006101, 0x08003a0e, 0x0000e106, 0x0104049d,
- 0x00009283, 0x81003aa1, 0x0000e088, 0x9c40229f, 0x00004088, 0x9c502271,
- 0x00001008, 0x00003d88, 0x0000f010, 0x4000159d, 0x00009583, 0x00003ec8,
- 0x0000f033, 0x0101049d, 0x00009283, 0x81000000, 0x0000e188, 0x81008000,
- 0x00004990, 0xffffffff, 0x00007f86, 0x9c502271, 0x00009000, 0xc0000f9f,
- 0x00001583, 0x02000000, 0x00007900, 0x001f8000, 0x00008980, 0x81008000,
- 0x00006188, 0x8100e000, 0x00004990, 0x00138808, 0x0000e986, 0x3ed337d9,
- 0x0000f500, 0x013cff9f, 0x00006100, 0x04102008, 0x00006101, 0x203846ec,
- 0x00005600, 0x003cd800, 0x00000000, 0x003fd800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x004000c8,
- 0x00006180, 0xc0c00000, 0x00004980, 0xc0000800, 0x00001981, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x423b88ec, 0x00002004, 0x848ffa04,
- 0x00006280, 0x04402000, 0x00000980, 0x04109011, 0x0000e901, 0xe7bcf811,
- 0x00006801, 0x1c400871, 0x00006080, 0xd77cf811, 0x00002001, 0x423b88ec,
- 0x0000a804, 0x80388aec, 0x00005600, 0x00000000, 0x00000280, 0x8003e2ec,
- 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000,
- 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec,
- 0x0000f902, 0x20c00000, 0x00008600, 0xc0205f7d, 0x00001503, 0x00003f92,
- 0x0000f00b, 0x04400002, 0x00009980, 0xc4680500, 0x00009900, 0x770000ec,
- 0x00005680, 0x00388800, 0x00008000, 0x00c002ec, 0x0000df80, 0x13d7b00b,
- 0x00001684, 0x1c402000, 0x00007900, 0x00180000, 0x00008980, 0x04109071,
- 0x0000e901, 0x803b8aec, 0x00005600, 0x00000000, 0x00000280, 0x8003e2ec,
- 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000,
- 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec,
- 0x0000f902, 0x20c00000, 0x00008600, 0x2dc05e04, 0x00002004, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f97, 0xe4a05f7d, 0x0000f80b, 0x81c00000,
- 0x00009f87, 0x423b88ec, 0x0000a084, 0x04402000, 0x00007900, 0x00140000,
- 0x00008980, 0x810ffa04, 0x00001280, 0x04102011, 0x00006901, 0x1c400871,
- 0x00009080, 0x423b88ec, 0x00002884, 0x80388aec, 0x00005600, 0x00000001,
- 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec,
- 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000,
- 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff,
- 0x00007f86, 0x002bbc12, 0x00001503, 0x00003e16, 0x0000700b, 0x01400002,
- 0x00009980, 0xc1680500, 0x00009900, 0x770000ec, 0x00005680, 0x00382800,
- 0x00008000, 0x00c002ec, 0x0000df80, 0x13d9100b, 0x00009684, 0x04002000,
- 0x0000f900, 0x00140000, 0x00008980, 0x04102010, 0x0000e901, 0x803882ec,
- 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000,
- 0x00000600, 0xffffffff, 0x00007f86, 0x85abbc12, 0x0000780b, 0xe1c00000,
- 0x00009f88, 0x889be202, 0x0000f80b, 0x01c00001, 0x00008080, 0x01003800,
- 0x00009981, 0x9c771ee3, 0x00001900, 0x42002c71, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00020405, 0x00001583, 0x00003f4a, 0x0000701b, 0x0ec3e471,
- 0x00006004, 0x08001a08, 0x00003106, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02c0f800,
- 0x0000f900, 0x0029d5bc, 0x00000980, 0x03000000, 0x00006180, 0x0800300d,
- 0x0000e206, 0x82200500, 0x00008022, 0x3f481e83, 0x00007500, 0x02401702,
- 0x0000009d, 0x01a38c71, 0x00009900, 0x00003f35, 0x00007200, 0x01004000,
- 0x00009981, 0x01007c04, 0x00006281, 0xc13cff9f, 0x00000901, 0x3f4f3d33,
- 0x0000f500, 0xc1202000, 0x000080d2, 0x81c08404, 0x00001081, 0x00003f35,
- 0x00007200, 0x01005000, 0x00001981, 0x00003f35, 0x00007200, 0x01005800,
- 0x00009981, 0x3f563844, 0x00007404, 0x011cf89e, 0x0000801c, 0xc11522a4,
- 0x00001900, 0x00000404, 0x00001583, 0x81371ee3, 0x00001910, 0x42038c04,
- 0x00002094, 0x00003db8, 0x0000f008, 0xffffffff, 0x00007f97, 0x00020471,
- 0x00001583, 0x00003f3a, 0x0000f033, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x3f623d33, 0x0000f500, 0x0123039f, 0x00000012, 0xc1e02002,
- 0x000000d2, 0x0000380b, 0x0000e106, 0xa000000d, 0x0000b402, 0x02803006,
- 0x0000e100, 0xe000000d, 0x0000e406, 0x82402000, 0x00009981, 0x814010ec,
- 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec,
- 0x00005780, 0x00006000, 0x00008080, 0x00003db8, 0x00007000, 0x08c51c71,
- 0x00006000, 0x7000080b, 0x0000b401, 0x03400000, 0x00007900, 0x00010008,
- 0x00008980, 0x08851c04, 0x00006000, 0x0000380d, 0x0000b106, 0x82000c05,
- 0x00006081, 0x03800000, 0x00000980, 0x03c00000, 0x00006180, 0x03003006,
- 0x0000c900, 0x00000c71, 0x00001583, 0x00000404, 0x00001583, 0xffffffff,
- 0x00007f86, 0x00003fb2, 0x00007008, 0x00003fc1, 0x0000f010, 0x001010ec,
- 0x0000d780, 0x00007000, 0x00000080, 0x004000a8, 0x00006180, 0x81002000,
- 0x0000c980, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x41000e07,
- 0x00001881, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x003020ec,
- 0x00005702, 0x00007000, 0x00000080, 0x00003e03, 0x0000f400, 0x0018c0ec,
- 0x0000d780, 0x00d07140, 0x00008288, 0xc0000800, 0x00001981, 0x3dd42d84,
- 0x00007500, 0x183cdf9b, 0x0000e100, 0x1c402a60, 0x0000c100, 0x84fb8a04,
- 0x0000a800, 0x00003dd4, 0x00007000, 0x00003f35, 0x00007200, 0x01004800,
- 0x00001981, 0x2dc05e04, 0x0000a005, 0x2dc09604, 0x0000a004, 0xffffffff,
- 0x00007f97, 0x02c00c0b, 0x00009081, 0x2dd85e04, 0x00002806, 0x85abbc12,
- 0x0000780b, 0x41c00000, 0x00009f88, 0x013cff9f, 0x0000e101, 0x9c771ee3,
- 0x00004900, 0x42002c71, 0x00002084, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f97, 0xce820405, 0x0000f8b3, 0x51c00000, 0x00009f8a, 0x00003f35,
- 0x00007200, 0x01002800, 0x00001981, 0x00003f35, 0x00007200, 0x01003000,
- 0x00001981, 0x801bc204, 0x00006502, 0x1c400c77, 0x00000081, 0x2df83604,
- 0x0000d004, 0x0013e800, 0x00000002, 0x2ddb8e04, 0x0000a806, 0x00003e16,
- 0x00007008, 0x811bc378, 0x00009900, 0x2df88604, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00008006, 0x00009502, 0x040728e5, 0x00009908, 0x00003e16,
- 0x00007400, 0xffffffff, 0x00007f86, 0x2df88604, 0x0000a884, 0x81008677,
- 0x0000e283, 0x9000080d, 0x0000a401, 0x0000800e, 0x0000e482, 0xc000080d,
- 0x00003401, 0x01000000, 0x0000e189, 0x01001800, 0x0000c991, 0xe000000d,
- 0x0000e403, 0xc000000e, 0x00003400, 0xe2c3b80d, 0x00006001, 0x0020200e,
- 0x0000b006, 0x00003f7e, 0x00007400, 0x001010ec, 0x0000d780, 0x00007000,
- 0x00000080, 0xf343b80d, 0x0000e001, 0xc6c3b80e, 0x0000b000, 0x0000049e,
- 0x0000e583, 0x9000080d, 0x0000a401, 0x01042885, 0x00009908, 0x00003fdd,
- 0x0000f011, 0x4141057d, 0x00009283, 0x01400000, 0x0000e190, 0x01440080,
- 0x00004908, 0xffffffff, 0x00007f86, 0x03c02804, 0x00001102, 0x81008677,
- 0x0000e283, 0x0180780f, 0x00000900, 0x81504000, 0x00006188, 0x81404002,
- 0x00004990, 0x1c40780f, 0x0000e304, 0x03c00000, 0x00004980, 0x01102a05,
- 0x00001b04, 0x01002071, 0x00001100, 0x00000004, 0x0000e582, 0x01402205,
- 0x00008800, 0x00003fe5, 0x0000704b, 0x00002806, 0x00001502, 0x1c4027e4,
- 0x0000e020, 0x01802806, 0x0000c120, 0x01000804, 0x0000e180, 0x01400805,
- 0x00008780, 0x03c3880f, 0x00001020, 0xf9400004, 0x0000f8cb, 0xa9c00000,
- 0x00009f8e, 0x00000c9e, 0x00009583, 0x01044889, 0x00009908, 0x00003fc5,
- 0x0000f009, 0x0000149e, 0x00009583, 0x0104688d, 0x00009908, 0x01048891,
- 0x00009910, 0x00003fc5, 0x00007008, 0x00003fc5, 0x0000f000, 0x81008677,
- 0x00001283, 0x00003f7e, 0x00007400, 0x001010ec, 0x0000d780, 0x00007000,
- 0x00000080, 0x03c0600f, 0x00006090, 0x03c0480f, 0x00004888, 0x28c00000,
- 0x00006180, 0xa8901202, 0x0000c900, 0xe8981302, 0x00006100, 0x000018a3,
- 0x0000e106, 0x28001000, 0x00007900, 0x00008000, 0x00000980, 0x28580800,
- 0x0000f900, 0x000440c0, 0x00008980, 0x29000800, 0x00006180, 0xc00018a3,
- 0x00006006, 0x29400000, 0x00000ad8, 0x29c00000, 0x00009980, 0x814010ec,
- 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008940ec,
- 0x0000d780, 0x00985a40, 0x000080c8, 0xffffffff, 0x00007fa7, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0x40005599, 0x00006583, 0x00302005,
- 0x0000a086, 0x01001000, 0x00006189, 0x01000800, 0x00004991, 0x82382005,
- 0x00006886, 0x40073804, 0x0000f500, 0xc1602404, 0x00009900, 0x02002805,
- 0x00001900, 0xffc00000, 0x00006180, 0x0002006d, 0x00006587, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x024000e0, 0x0000e180, 0x26438099,
- 0x0000c380, 0x000810ec, 0x0000d780, 0x00d07600, 0x000081c0, 0x0428206d,
- 0x00006083, 0x8204b809, 0x00003007, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x02000100, 0x00006180, 0x00001099, 0x00006403, 0x18c00004,
- 0x0000e180, 0x26c00000, 0x0000c980, 0x02800000, 0x0000f900, 0x00004000,
- 0x00000980, 0x02c00000, 0x00007900, 0x00020040, 0x00008980, 0x18009000,
- 0x0000f900, 0x0001e040, 0x00000980, 0x18400000, 0x00007900, 0x00018030,
- 0x00008980, 0x00400000, 0x00007900, 0x00008090, 0x00000980, 0x000120ec,
- 0x0000d780, 0x00007001, 0x00008080, 0xb6f0386d, 0x0000e081, 0x5044b809,
- 0x00003003, 0x00001863, 0x0000e106, 0x80000899, 0x00003407, 0x18800702,
- 0x000089b4, 0x1b00106c, 0x00006380, 0xc0001000, 0x00008981, 0x82001802,
- 0x000089af, 0xc0c00800, 0x00009980, 0x008806ec, 0x00005f80, 0x00c066c0,
- 0x000080c4, 0x0100146c, 0x0000e283, 0x1c000000, 0x00000980, 0x1c400000,
- 0x000007c8, 0x81400000, 0x000007cc, 0x000040ce, 0x00007010, 0x81001e99,
- 0x00006283, 0x01000000, 0x00008981, 0x40004d99, 0x00006583, 0x01000800,
- 0x00008991, 0x40004599, 0x00001583, 0xffffffff, 0x00007f86, 0x00004093,
- 0x0000f008, 0x0000406b, 0x00007008, 0x403d32a5, 0x00007204, 0x41400000,
- 0x00001981, 0x09600607, 0x0000c488, 0xba800504, 0x00009091, 0x2b60ae07,
- 0x0000c388, 0x0080ae07, 0x00000098, 0x22409607, 0x0000c388, 0x00809607,
- 0x00008098, 0x1c008607, 0x00004588, 0x80808e07, 0x00008a95, 0x1e609e07,
- 0x0000c588, 0x0060a607, 0x00008b97, 0x3540c607, 0x00004488, 0xd480c607,
- 0x000090aa, 0x3540ce07, 0x00004988, 0xa680d607, 0x0000908a, 0x01800000,
- 0x00009981, 0x40000d05, 0x00001583, 0x01800800, 0x00009989, 0x00000c04,
- 0x00009583, 0x000040b8, 0x0000f00b, 0x00000405, 0x00006583, 0x01003000,
- 0x00008981, 0x200006ec, 0x0000d680, 0x003cba00, 0x00003d00, 0x0000405b,
- 0x0000f009, 0x43003cec, 0x00007902, 0x01400000, 0x00008004, 0xffffffff,
- 0x00007fa7, 0x00155007, 0x0000f900, 0x002aaaaa, 0x00008582, 0x00004055,
- 0x0000f013, 0x00000406, 0x00009583, 0x0000408a, 0x0000700b, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000, 0x00007900, 0x00008010,
- 0x00008980, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0xc0c00800,
- 0x0000e180, 0x80602404, 0x00004901, 0xc0001000, 0x00001981, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0xffffffff, 0x00007f86, 0x008806ec,
- 0x00005f80, 0x00c06380, 0x000000c4, 0x407031cf, 0x00007404, 0x00000404,
- 0x0000e583, 0x41400000, 0x00008981, 0x01000800, 0x0000e190, 0x01000e77,
- 0x00004288, 0x41010587, 0x00001283, 0x27803006, 0x0000e110, 0x08003a9f,
- 0x0000e116, 0x80000607, 0x0000e583, 0xe243b89f, 0x00002011, 0x81771ee3,
- 0x00009910, 0x42002c05, 0x0000a094, 0x0000404b, 0x0000f008, 0xffffffff,
- 0x00007f97, 0x00020405, 0x00001583, 0x01c00020, 0x000061b0, 0x0ec3e405,
- 0x00006034, 0x03a02c05, 0x00006130, 0x03000000, 0x000049b0, 0x00004132,
- 0x00007018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02ff9000,
- 0x00007900, 0x0017e176, 0x00000980, 0x81c01000, 0x00009980, 0x08001a08,
- 0x00006106, 0x0800300d, 0x0000b206, 0x000040b6, 0x00007400, 0xc1c02000,
- 0x0000e181, 0xc2300600, 0x0000c901, 0x02600702, 0x00008022, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x00400008, 0x00006180, 0xc0c00000, 0x00004980, 0x40600e04,
- 0x00000083, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x00000404,
- 0x0000e583, 0x08003a9f, 0x0000a106, 0x40993063, 0x00007404, 0x27803006,
- 0x00006100, 0x01000e77, 0x00004288, 0x01000800, 0x00009990, 0x80000607,
- 0x00001583, 0x01b03e07, 0x00009909, 0x0000404e, 0x00007009, 0x33001e07,
- 0x00004388, 0x00801e07, 0x000080b0, 0x38202e07, 0x0000c488, 0xf0802e07,
- 0x000090aa, 0x00803607, 0x0000c789, 0x91a00e07, 0x0000938a, 0x6ec01607,
- 0x00007892, 0x52000000, 0x0000a08c, 0x81771ee3, 0x00001900, 0x42002c05,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583, 0x0cc43c0d,
- 0x00006030, 0x0800300e, 0x0000b236, 0x03000000, 0x000061b0, 0x01c00020,
- 0x000049b0, 0x00004187, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02d57800, 0x0000f900, 0x0035bc26, 0x00008980, 0x81c01000,
- 0x00009980, 0xc1c02000, 0x0000e181, 0x08001a08, 0x00006106, 0x82200500,
- 0x00008022, 0xc378100d, 0x00000024, 0x40b81e83, 0x0000f300, 0x0180700e,
- 0x00009900, 0x024000e0, 0x0000e180, 0x02000100, 0x00004980, 0x000810ec,
- 0x0000d780, 0x00d07600, 0x000081c0, 0x18c00004, 0x0000e180, 0x8204b809,
- 0x00006007, 0x02800000, 0x0000f900, 0x00004000, 0x00000980, 0x02c00000,
- 0x00007900, 0x00020040, 0x00008980, 0x18009000, 0x0000f900, 0x0001e040,
- 0x00000980, 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x000120ec,
- 0x0000d780, 0x00007001, 0x00008080, 0x5044b809, 0x00006003, 0x00001863,
- 0x0000b106, 0x18802f02, 0x00000092, 0x82181302, 0x00009900, 0xf1200405,
- 0x00004590, 0xfbe00406, 0x00007988, 0x01040499, 0x00001283, 0x200006ec,
- 0x00005688, 0x003cba00, 0x00003d00, 0x003fd800, 0x00007908, 0x003ffffe,
- 0x00008280, 0x00004033, 0x0000f010, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x40db3831, 0x00007500, 0x004000c8, 0x00006180, 0xc0c00000,
- 0x00004980, 0xc0000800, 0x00006181, 0x016ccd99, 0x0000c900, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000,
- 0x00000600, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec,
- 0x0000f902, 0x1fc00000, 0x00008600, 0x0000403f, 0x0000f400, 0x800402ec,
- 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000,
- 0x00008600, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00020405, 0x00001583, 0x039b636c, 0x00006130, 0x01c00020,
- 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03000000, 0x000049b0, 0x00004100,
- 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02c19000,
- 0x0000f900, 0x003f14aa, 0x00008980, 0xc1c02000, 0x0000e181, 0x08001a08,
- 0x00006106, 0x000040b6, 0x00007400, 0x82200500, 0x00008022, 0x8378177c,
- 0x00000024, 0x81000403, 0x000000d3, 0xc1e00808, 0x000080d3, 0x41033feb,
- 0x00007100, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00020405, 0x00001583, 0x0804440d, 0x0000e030, 0x0cc3ec05,
- 0x0000b030, 0x03a02c05, 0x00006130, 0x01c00020, 0x000049b0, 0x00004120,
- 0x00007018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x000040b2,
- 0x0000f400, 0x02c0e800, 0x00007900, 0x002c6296, 0x00008980, 0x41c00002,
- 0x000080f0, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00020405, 0x00001583, 0x03abe57c, 0x00006130, 0x01c00020,
- 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03000000, 0x000049b0, 0x0000414d,
- 0x0000f018, 0x00004084, 0x0000f400, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02cd2000, 0x00007900, 0x0038e1a8, 0x00008980, 0x00004102,
- 0x0000f400, 0x81000403, 0x000000d3, 0xc1e0080b, 0x000080d3, 0x81771ee3,
- 0x00001900, 0x42002c05, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020405,
- 0x00001583, 0x01c00020, 0x000061b0, 0x0ec3e405, 0x00006034, 0x03a02c05,
- 0x00006130, 0x03000000, 0x000049b0, 0x00004135, 0x0000f018, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x00004084, 0x0000f400, 0x02ce0800,
- 0x00007900, 0x001d4b7e, 0x00008980, 0x81c01000, 0x00009980, 0x00004102,
- 0x0000f400, 0x81000c03, 0x000080d3, 0xc1e00006, 0x000080d3, 0x00004102,
- 0x0000f400, 0x81000403, 0x000000d3, 0xc1e00807, 0x000080d3, 0x81771ee3,
- 0x00001900, 0x42002c05, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020405,
- 0x00001583, 0x0dc44406, 0x00006030, 0x0d844405, 0x0000b030, 0x03abe57c,
- 0x00006130, 0x03000000, 0x000049b0, 0x00004150, 0x0000f018, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02d56800, 0x00007900, 0x00365492, 0x00008980, 0xc2300600,
- 0x0000e101, 0x08001a08, 0x00006106, 0x000040b6, 0x00007400, 0x82381400,
- 0x00008024, 0x81c01000, 0x0000e180, 0x03602c06, 0x00004000, 0x00004102,
- 0x0000f400, 0x81000403, 0x000000d3, 0xc1e00809, 0x000000d3, 0x00004102,
- 0x0000f400, 0x81000403, 0x000000d3, 0xc1e0080a, 0x000000d3, 0x01c00020,
- 0x00006180, 0x03928250, 0x00004900, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x00004084, 0x0000f400, 0x02cdd800, 0x0000f900, 0x0030c504,
- 0x00000980, 0x41c00002, 0x000080f0, 0x81771ee3, 0x00001900, 0x42002c05,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583, 0x01c00020,
- 0x000061b0, 0x08032a05, 0x0000e136, 0x03902a05, 0x00006130, 0x03000000,
- 0x000049b0, 0x000041b8, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x00004084, 0x0000f400, 0x02e3d800, 0x0000f900, 0x0020c69a,
- 0x00000980, 0x81c01000, 0x00009980, 0x81771ee3, 0x00001900, 0x42002405,
- 0x0000a084, 0xffffffff, 0x00007fa7, 0x00020404, 0x00009583, 0x01c00020,
- 0x000061b0, 0x0803200e, 0x00006236, 0x81c01000, 0x0000e1b0, 0x03000000,
- 0x000049b0, 0x000041cf, 0x0000f018, 0x00004084, 0x0000f400, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x02c09000, 0x00007900, 0x00225d0e,
- 0x00008980, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00020405, 0x00001583, 0x0dc4440d, 0x0000e030, 0x0800300e,
- 0x0000b236, 0x03000000, 0x000061b0, 0x01c00020, 0x000049b0, 0x000041be,
- 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x000040b2,
- 0x0000f400, 0x02d0f800, 0x00007900, 0x00092e48, 0x00008980, 0x81c01000,
- 0x00009980, 0x00004102, 0x0000f400, 0x81000c03, 0x000080d3, 0xc1e0000e,
- 0x000000d3, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00020405, 0x00001583, 0x039b636c, 0x00006130, 0x01c00020,
- 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03000000, 0x000049b0, 0x000041a7,
- 0x00007018, 0x000040fb, 0x00007400, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02ed8800, 0x00007900, 0x002962b8, 0x00008980, 0x81771ee3,
- 0x00001900, 0x42002c05, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020405,
- 0x00001583, 0x0803640d, 0x0000e030, 0x0800300e, 0x0000b236, 0x03000000,
- 0x000061b0, 0x01c00020, 0x000049b0, 0x000041e4, 0x0000f018, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x000040b2, 0x0000f400, 0x02eea000,
- 0x00007900, 0x0032f190, 0x00008980, 0x81c01000, 0x00009980, 0x00004102,
- 0x0000f400, 0x81000c03, 0x000080d3, 0xc1e00002, 0x000000d3, 0x0c42a405,
- 0x0000e000, 0x08001a08, 0x00003106, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02dd7800,
- 0x00007900, 0x003aef50, 0x00000980, 0x03000000, 0x00006180, 0x0803200d,
- 0x00006206, 0x82200500, 0x00008022, 0x000040b6, 0x00007400, 0x02402f02,
- 0x0000803b, 0x81c01000, 0x00009980, 0x00004102, 0x0000f400, 0x81000403,
- 0x000000d3, 0xc1e0080c, 0x000000d3, 0x01800000, 0x00009981, 0x2e000c04,
- 0x0000788a, 0x82000000, 0x0000a082, 0x00004102, 0x0000f400, 0x81000c03,
- 0x000080d3, 0xc1e00004, 0x000000d3, 0x81771ee3, 0x00001900, 0x42002c05,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020405, 0x00001583, 0x03928250,
- 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03000000,
- 0x000049b0, 0x000041d2, 0x0000f018, 0x00004084, 0x0000f400, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x02f01800, 0x00007900, 0x0021ecfe,
- 0x00008980, 0x00004102, 0x0000f400, 0x81000403, 0x000000d3, 0xc1e0080d,
- 0x000080d3, 0x00004102, 0x0000f400, 0x81000c03, 0x000080d3, 0xc1e00005,
- 0x000080d3, 0x81771ee3, 0x00001900, 0x42002c05, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00020405, 0x00001583, 0x0ec3e40d, 0x0000e034, 0x0800300e,
- 0x0000b236, 0x03000000, 0x000061b0, 0x01c00020, 0x000049b0, 0x000041e7,
- 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x000040b2,
- 0x0000f400, 0x02c14000, 0x00007900, 0x000ac0c0, 0x00008980, 0x81c01000,
- 0x00009980, 0x00004102, 0x0000f400, 0x81000c03, 0x000080d3, 0xc1e00003,
- 0x000080d3, 0x00004102, 0x0000f400, 0x81000c03, 0x000080d3, 0xc1e00001,
- 0x000000d3, 0x1c7a5f45, 0x0000871c, 0x1f428851, 0x0000e100, 0xc0000845,
- 0x0000e400, 0xc0000871, 0x00006400, 0x00000845, 0x0000b403, 0x1c000000,
- 0x000087c8, 0x1cc00000, 0x000087d0, 0x1d400749, 0x00008798, 0x1e00074c,
- 0x000007a4, 0x1e82704e, 0x00006100, 0x08003b4c, 0x00006106, 0x1ec00000,
- 0x00006180, 0x1f028050, 0x00004900, 0x1fba9f52, 0x0000073c, 0x203aaf54,
- 0x00000804, 0x20babf56, 0x0000080c, 0x00000001, 0x00007480, 0x52c00f51,
- 0x00006081, 0x5df04608, 0x00000901, 0xd4400f51, 0x00006081, 0xdf704608,
- 0x00008901, 0xc1d722e4, 0x00001900, 0x08003a13, 0x00006906, 0x2dc02613,
- 0x00007902, 0x02200000, 0x00000005, 0x2dc06e13, 0x00002004, 0xffffffff,
- 0x00007f97, 0x00003004, 0x00009502, 0x003a8c08, 0x00009503, 0xffffffff,
- 0x00007f86, 0x0000426b, 0x0000f010, 0x00004235, 0x00007008, 0x41f826ec,
- 0x0000a004, 0x02402000, 0x00007900, 0x00180000, 0x00008980, 0x830ffa13,
- 0x00009280, 0x04106009, 0x0000e901, 0x01000804, 0x00009080, 0x41f826ec,
- 0x00002804, 0x80384aec, 0x00005600, 0x00000000, 0x00000280, 0x800282ec,
- 0x0000f902, 0x14400000, 0x00008600, 0x800292ec, 0x00007902, 0x14c00000,
- 0x00000600, 0x8002a2ec, 0x00007902, 0x15400000, 0x00000600, 0x8002b2ec,
- 0x0000f902, 0x15c00000, 0x00008600, 0x8d606f51, 0x0000f80a, 0x02000001,
- 0x00008080, 0x01000002, 0x00001980, 0xc1280500, 0x00001900, 0x770000ec,
- 0x00005680, 0x00382000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1411180b,
- 0x00001684, 0x02402000, 0x00007900, 0x00180000, 0x00008980, 0x04106009,
- 0x0000e901, 0x80384aec, 0x00005600, 0x00000000, 0x00000280, 0x800282ec,
- 0x0000f902, 0x14400000, 0x00008600, 0x800292ec, 0x00007902, 0x14c00000,
- 0x00000600, 0x8002a2ec, 0x00007902, 0x15400000, 0x00000600, 0x8002b2ec,
- 0x0000f902, 0x15c00000, 0x00008600, 0x2dc02613, 0x00002004, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f97, 0x87602751, 0x0000f812, 0x02000001,
- 0x00008080, 0xffffffff, 0x00007f86, 0x2dc09613, 0x0000a004, 0x2dc08e13,
- 0x00002005, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00285c12,
- 0x00006503, 0x01000c12, 0x00008081, 0x2dc02613, 0x0000a804, 0x00205c11,
- 0x00001503, 0xffffffff, 0x00007f86, 0x00004241, 0x00007010, 0x00004278,
- 0x00007008, 0x41f826ec, 0x00002084, 0x02002000, 0x0000f900, 0x00140000,
- 0x00008980, 0x84cffa13, 0x00001280, 0x04109808, 0x0000e901, 0x01000804,
- 0x00009080, 0x41f826ec, 0x0000a884, 0x803842ec, 0x0000d600, 0x00000001,
- 0x00000080, 0x800042ec, 0x00007902, 0x02400000, 0x00000600, 0x800052ec,
- 0x0000f902, 0x02c00000, 0x00008600, 0x800062ec, 0x0000f902, 0x03400000,
- 0x00008600, 0x800072ec, 0x00007902, 0x03c00000, 0x00000600, 0xffffffff,
- 0x00007f86, 0x4ab05b12, 0x0000c910, 0xf0805811, 0x0000900c, 0x01000002,
- 0x00001980, 0xc1280500, 0x00001900, 0x770000ec, 0x00005680, 0x00382000,
- 0x00000000, 0x00c002ec, 0x0000df80, 0x1412d80b, 0x00001684, 0x02002000,
- 0x0000f900, 0x00140000, 0x00008980, 0x04109808, 0x0000e901, 0x803842ec,
- 0x0000d600, 0x00000001, 0x00000080, 0x800042ec, 0x00007902, 0x02400000,
- 0x00000600, 0x800052ec, 0x0000f902, 0x02c00000, 0x00008600, 0x800062ec,
- 0x0000f902, 0x03400000, 0x00008600, 0x800072ec, 0x00007902, 0x03c00000,
- 0x00000600, 0xffffffff, 0x00007f86, 0xfd905b12, 0x00004510, 0xfec05811,
- 0x00000017, 0x80186213, 0x00006502, 0x01000f51, 0x00000081, 0x2df83613,
- 0x0000d004, 0x00002000, 0x00008000, 0x2dd85e13, 0x00002806, 0x00004278,
- 0x00007008, 0x8118630c, 0x00009900, 0x2df84e04, 0x0000a084, 0xffffffff,
- 0x00007fa7, 0x00004806, 0x00001502, 0x024728e5, 0x00001908, 0xffffffff,
- 0x00007f86, 0x2df84e04, 0x00002884, 0x01070450, 0x00001283, 0xb9183b07,
- 0x0000e110, 0x19000864, 0x00004390, 0x0ec12c13, 0x0000e80c, 0xffffffff,
- 0x00007f97, 0x00000000, 0x0000f093, 0x00000c13, 0x00009583, 0x00000c13,
- 0x00009583, 0xffffffff, 0x00007f86, 0x000042ca, 0x00007008, 0x00004289,
- 0x0000f038, 0x00000413, 0x00001583, 0xb9183b07, 0x0000e110, 0x50002050,
- 0x0000640c, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f093, 0x0000428e,
- 0x0000f000, 0x00001c13, 0x00001583, 0xb9183b07, 0x0000e138, 0x50001850,
- 0x00006454, 0xffffffff, 0x00007fa7, 0x00000000, 0x0000f0bb, 0x0b812413,
- 0x0000e080, 0x82812050, 0x0000b000, 0x04c06413, 0x00006080, 0x93012050,
- 0x0000a000, 0x04c09fe4, 0x0000e000, 0xa4012050, 0x0000e000, 0x04c00813,
- 0x0000e180, 0xb4012050, 0x0000a000, 0x13815013, 0x0000e200, 0xc4012050,
- 0x00002000, 0x0dc12c13, 0x00006000, 0xd5812050, 0x00003000, 0xd2e09c13,
- 0x0000e100, 0xe3c12050, 0x0000e000, 0x04c70425, 0x0000e281, 0x07812051,
- 0x00002081, 0x00020413, 0x00006583, 0xc4c12051, 0x0000a000, 0x04c00000,
- 0x00006181, 0xd5412051, 0x0000e000, 0x04c00800, 0x00006191, 0xe1812851,
- 0x0000e000, 0x12800000, 0x0000e180, 0x60002845, 0x00006406, 0xf3e09850,
- 0x00006000, 0xd0001845, 0x00003404, 0xd4193326, 0x0000e100, 0x0a012413,
- 0x00006000, 0x00000413, 0x0000e583, 0x40002845, 0x00002405, 0x01000000,
- 0x00006190, 0x0101502a, 0x0000c908, 0x00000413, 0x0000e583, 0x00012850,
- 0x0000a080, 0x15002004, 0x00006100, 0x04c1582b, 0x0000c908, 0x04c00000,
- 0x00006190, 0x08028a04, 0x0000e106, 0x1482a027, 0x0000e002, 0x81000a04,
- 0x00000080, 0x813ffa04, 0x00007900, 0x00000002, 0x00008280, 0x14c09f25,
- 0x0000e000, 0x00102051, 0x0000a106, 0x14c00053, 0x00006084, 0x93000000,
- 0x00008980, 0x80000a04, 0x00006582, 0x13c00000, 0x00000980, 0x92796525,
- 0x00008518, 0x15796f13, 0x0000051c, 0x000042d0, 0x0000f010, 0x0c428c13,
- 0x0000e800, 0x04c00c13, 0x00001481, 0x04c09413, 0x00006080, 0xf3e09851,
- 0x0000e000, 0x01403013, 0x00001300, 0x42cc2351, 0x0000f404, 0x06fff800,
- 0x00007900, 0x003fff7e, 0x00008980, 0x07402805, 0x00009900, 0x0000428e,
- 0x00007200, 0x50001050, 0x00006c04, 0x42389aec, 0x00002004, 0xffffffff,
- 0x00007fa7, 0x04c00813, 0x00009080, 0x42389aec, 0x0000a804, 0x42d141ea,
- 0x0000f100, 0xb9183b07, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0x01501800, 0x00007900, 0x0000c000, 0x00008980, 0x04204005,
- 0x0000e087, 0x00001007, 0x00003587, 0x01006000, 0x00007900, 0x00018000,
- 0x00008980, 0x1b006000, 0x0000f900, 0x00018000, 0x00008980, 0x00000001,
- 0x00007480, 0x1bb83f06, 0x0000063c, 0x1b402805, 0x00001900, 0xc1d722e4,
- 0x00001900, 0x08003a12, 0x0000e906, 0x2df82612, 0x0000b004, 0x2dc04612,
- 0x0000a004, 0xffffffff, 0x00007f97, 0x00003004, 0x00009502, 0x003a8c05,
- 0x00001503, 0xffffffff, 0x00007f86, 0x0000434a, 0x00007010, 0x00004314,
- 0x0000f008, 0x41f826ec, 0x0000a004, 0x01402000, 0x00007900, 0x00180000,
- 0x00008980, 0x828ffa12, 0x00001280, 0x04105005, 0x0000e901, 0x01000804,
- 0x00009080, 0x41f826ec, 0x00002804, 0x80382aec, 0x00005600, 0x00000000,
- 0x00000280, 0x800282ec, 0x0000f902, 0x14400000, 0x00008600, 0x800292ec,
- 0x00007902, 0x14c00000, 0x00000600, 0x8002a2ec, 0x00007902, 0x15400000,
- 0x00000600, 0x8002b2ec, 0x0000f902, 0x15c00000, 0x00008600, 0xc5204751,
- 0x0000780a, 0x02000001, 0x00008080, 0x01000002, 0x00001980, 0xc1280500,
- 0x00001900, 0x770000ec, 0x00005680, 0x00382000, 0x00000000, 0x00c002ec,
- 0x0000df80, 0x1418100b, 0x00009684, 0x01402000, 0x00007900, 0x00180000,
- 0x00008980, 0x04105005, 0x0000e901, 0x80382aec, 0x00005600, 0x00000000,
- 0x00000280, 0x800282ec, 0x0000f902, 0x14400000, 0x00008600, 0x800292ec,
- 0x00007902, 0x14c00000, 0x00000600, 0x8002a2ec, 0x00007902, 0x15400000,
- 0x00000600, 0x8002b2ec, 0x0000f902, 0x15c00000, 0x00008600, 0x2dc02612,
- 0x0000a004, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0xbf202751,
- 0x0000f812, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x2dc0a612,
- 0x00002004, 0x2dc09e12, 0x00002005, 0xffffffff, 0x00007f86, 0xffffffff,
- 0x00007f86, 0x00285c14, 0x00006503, 0x01000c14, 0x00008081, 0x2dc02612,
- 0x00002804, 0x00205c13, 0x00009503, 0xffffffff, 0x00007f86, 0x00004320,
- 0x00007010, 0x00004357, 0x00007008, 0x41f826ec, 0x00002084, 0x01402000,
- 0x00007900, 0x00140000, 0x00008980, 0x848ffa12, 0x00001280, 0x04109005,
- 0x0000e901, 0x01000804, 0x00009080, 0x41f826ec, 0x0000a884, 0x80382aec,
- 0x00005600, 0x00000001, 0x00000080, 0x800042ec, 0x00007902, 0x02400000,
- 0x00000600, 0x800052ec, 0x0000f902, 0x02c00000, 0x00008600, 0x800062ec,
- 0x0000f902, 0x03400000, 0x00008600, 0x800072ec, 0x00007902, 0x03c00000,
- 0x00000600, 0xffffffff, 0x00007f86, 0x66905b14, 0x0000c910, 0xae805813,
- 0x0000100e, 0x01000002, 0x00001980, 0xc1280500, 0x00001900, 0x770000ec,
- 0x00005680, 0x00382000, 0x00000000, 0x00c002ec, 0x0000df80, 0x1419d00b,
- 0x00001684, 0x01402000, 0x00007900, 0x00140000, 0x00008980, 0x04109005,
- 0x0000e901, 0x80382aec, 0x00005600, 0x00000001, 0x00000080, 0x800042ec,
- 0x00007902, 0x02400000, 0x00000600, 0x800052ec, 0x0000f902, 0x02c00000,
- 0x00008600, 0x800062ec, 0x0000f902, 0x03400000, 0x00008600, 0x800072ec,
- 0x00007902, 0x03c00000, 0x00000600, 0xffffffff, 0x00007f86, 0xfd905b14,
- 0x00004510, 0xfec05813, 0x00008017, 0x80186212, 0x0000e502, 0x01000f51,
- 0x00000081, 0x2df83612, 0x00005004, 0x00002000, 0x00008000, 0x2dd85e12,
- 0x0000a806, 0x00004357, 0x00007008, 0x8118630c, 0x00009900, 0x2df84e04,
- 0x0000a084, 0xffffffff, 0x00007fa7, 0x00004806, 0x00001502, 0x024728e5,
- 0x00001908, 0xffffffff, 0x00007f86, 0x2df84e04, 0x00002884, 0x01070450,
- 0x00001283, 0x19000864, 0x0000e388, 0xb9183b07, 0x00000908, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x0000f08b, 0x8000020c, 0x00009582, 0x1438f850,
- 0x00007908, 0x003ffffe, 0x00008280, 0x19002064, 0x00001390, 0x436141ea,
- 0x00007108, 0xb9183b07, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0x841722e4,
- 0x0000e100, 0x00230809, 0x0000e086, 0x11000000, 0x00006180, 0x822b0809,
- 0x00006086, 0x11400000, 0x0000e180, 0x041b0809, 0x0000e187, 0x02804809,
- 0x0000e100, 0x00002004, 0x0000e586, 0x02402805, 0x0000e100, 0x042b0804,
- 0x0000e087, 0x11800000, 0x0000e180, 0x86230804, 0x00006087, 0x1703e000,
- 0x00007900, 0x000f6d7a, 0x00008980, 0x11c00000, 0x000004e0, 0x12400000,
- 0x000004e8, 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8, 0x13c00000,
- 0x0000e180, 0x17c30060, 0x0000c900, 0x437d1f46, 0x00007500, 0x17b84f0a,
- 0x00000534, 0x16c02004, 0x00001900, 0x00401c19, 0x00004588, 0x00402419,
- 0x0000008b, 0x439041ff, 0x0000f004, 0x00004390, 0x00007000, 0x439042df,
- 0x00007004, 0x00004390, 0x00007000, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x029d8800, 0x0000f900, 0x000f6d7a, 0x00008980, 0x02fa9000,
- 0x00007900, 0x0016f7fa, 0x00008980, 0x03000000, 0x00006180, 0x08001a08,
- 0x00006106, 0x82200500, 0x00008022, 0x43901e83, 0x0000f500, 0x0278c702,
- 0x00000034, 0x81c02800, 0x00006180, 0x0180c819, 0x0000c900, 0x01002c64,
- 0x00001283, 0x02001000, 0x00009988, 0x00004397, 0x0000f011, 0x439442d4,
- 0x00007100, 0x0000439e, 0x00007200, 0x0008d8ec, 0x00005780, 0x00884f00,
- 0x000002c0, 0x439942d4, 0x00007300, 0x02002000, 0x00001980, 0x08003b4c,
- 0x00006106, 0xc0000845, 0x0000b400, 0x52c00f51, 0x00006081, 0x00000845,
- 0x00002403, 0xd4400f51, 0x00009081, 0xb9108210, 0x00001900, 0x000808ec,
- 0x0000d780, 0x00c06440, 0x000082c0, 0xffffffff, 0x00007f97, 0x00000000,
- 0x00007083, 0xc0000707, 0x00001583, 0x01400000, 0x0000e190, 0x0e804005,
- 0x00006008, 0xc0000707, 0x00001583, 0x82c08000, 0x00006190, 0x82c04000,
- 0x00004988, 0x80000607, 0x00001583, 0x00000405, 0x00006583, 0x82c0420b,
- 0x00000188, 0x83400000, 0x00009990, 0x000043d0, 0x0000f011, 0x40006508,
- 0x00001583, 0x83446000, 0x00001988, 0x000043ba, 0x0000f009, 0x40006d08,
- 0x00009583, 0x83442000, 0x00009988, 0x000043ba, 0x0000f009, 0x40005d08,
- 0x00009583, 0x83400000, 0x00009990, 0x83584308, 0x00001908, 0x000043ba,
- 0x00007010, 0x03000504, 0x00004588, 0x01800607, 0x00000092, 0x7a000504,
- 0x0000c988, 0xa0800607, 0x00001097, 0x8344220d, 0x00009180, 0x81420609,
- 0x00009283, 0x81401709, 0x00009890, 0x84c05205, 0x00007912, 0x03000000,
- 0x00000000, 0x000043d0, 0x00007008, 0x85004005, 0x0000a000, 0xffffffff,
- 0x00007f86, 0x0280600a, 0x00001100, 0xffffffff, 0x00007f86, 0x00000c08,
- 0x00009583, 0x000043d0, 0x0000f033, 0x0002b00a, 0x00009582, 0x0302b00c,
- 0x0000e098, 0x0202b000, 0x000009b0, 0x84f86205, 0x00002818, 0x43d02d84,
- 0x0000f530, 0x18384f09, 0x0000e130, 0x02005008, 0x00004130, 0x84f84205,
- 0x0000a830, 0x02000000, 0x00007900, 0x001f8000, 0x00008980, 0x00106808,
- 0x00006986, 0x00000001, 0x00007480, 0x04105808, 0x0000e901, 0x203846ec,
- 0x00005600, 0x00384800, 0x00008000, 0x0100146c, 0x00001283, 0x03448090,
- 0x0000e108, 0x04800000, 0x0000c988, 0x04c00000, 0x00006188, 0x05000000,
- 0x0000c988, 0x000045bf, 0x00007010, 0x00000090, 0x00006582, 0x05400000,
- 0x00000980, 0x05800000, 0x000081dc, 0x08003a04, 0x0000e916, 0x00004470,
- 0x0000f008, 0x2df85604, 0x0000b004, 0x2dc02e04, 0x0000a004, 0xffffffff,
- 0x00007f97, 0x00005006, 0x00001502, 0x003bec0b, 0x00001503, 0xffffffff,
- 0x00007f86, 0x00004616, 0x00007010, 0x00004561, 0x00007010, 0x2dc02e04,
- 0x00002005, 0x002bbc0b, 0x00009503, 0x0000458c, 0x0000f413, 0x01400c05,
- 0x00009081, 0x2dd82e04, 0x0000a806, 0x01447291, 0x0000e002, 0x0ec3e404,
- 0x00002004, 0x0280008f, 0x0000e084, 0x0c03bc08, 0x0000a000, 0xc2000408,
- 0x0000c490, 0x24801c04, 0x000091b4, 0x00003404, 0x00007890, 0x00000000,
- 0x00000000, 0x6e84057c, 0x0000f88f, 0x02000001, 0x00000060, 0x6d9be36c,
- 0x00007813, 0x02000001, 0x00000000, 0xc28bab0d, 0x00004312, 0x0082057d,
- 0x00000090, 0x00047881, 0x0000781a, 0x00000000, 0x00000000, 0x00047881,
- 0x00007810, 0x00000000, 0x00000000, 0x00047080, 0x0000f830, 0x00000000,
- 0x00008020, 0x6e01057d, 0x0000f897, 0x02000001, 0x00000060, 0x3e80507f,
- 0x0000f82b, 0x02000001, 0x00000000, 0x0000507f, 0x00007810, 0x00000000,
- 0x00000000, 0x3e80287e, 0x0000f823, 0x02000001, 0x00000060, 0x4320257c,
- 0x0000c58e, 0x07a2057d, 0x0000008b, 0xff01057d, 0x00004797, 0x9aa0257c,
- 0x0000218b, 0x2142057d, 0x0000f88f, 0x02000001, 0x00008080, 0x000ff812,
- 0x00006507, 0xb0000816, 0x0000b401, 0x04ff0013, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x043c7f8e, 0x00000104, 0x84948a91, 0x00001900, 0x1b000800,
- 0x00001981, 0x02c00004, 0x00006180, 0x03800020, 0x00004980, 0x02006000,
- 0x00007900, 0x00008000, 0x00000980, 0x02580800, 0x00007900, 0x00004080,
- 0x00008980, 0x03400000, 0x00007900, 0x00004062, 0x00008980, 0x0000380b,
- 0x0000e106, 0x08003a0e, 0x0000b106, 0x03000000, 0x000000fc, 0x02803006,
- 0x00009900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x009010ec, 0x00005780, 0x00006000, 0x00008080, 0x01002000,
- 0x00001980, 0x01236004, 0x00009100, 0x01400000, 0x0000f900, 0x001e8000,
- 0x00000980, 0x8102068b, 0x0000e283, 0x81000a04, 0x00008880, 0x04102005,
- 0x00006901, 0x2c029691, 0x00009680, 0x810588b0, 0x00001000, 0x20382eec,
- 0x0000d600, 0x003c5800, 0x00008000, 0x00004443, 0x00007408, 0x81404291,
- 0x00001080, 0x81502205, 0x00009000, 0x8100178b, 0x00009880, 0x85030804,
- 0x00002000, 0x84c30204, 0x00007902, 0x18800000, 0x00008000, 0xffffffff,
- 0x00007f97, 0x00000c61, 0x00009583, 0x18031060, 0x00009118, 0x00004443,
- 0x0000f031, 0x00102860, 0x00009502, 0x18831205, 0x00001018, 0x84fb1204,
- 0x00002818, 0x000045d8, 0x00007030, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x02000000, 0x0000e180, 0x0100246c, 0x00004081, 0x024000e0,
- 0x0000e180, 0x01400c04, 0x0000c881, 0x82000c04, 0x0000e081, 0x82548a91,
- 0x00004900, 0x81002000, 0x0000e180, 0x82045809, 0x0000e007, 0x02800000,
- 0x0000f900, 0x00002000, 0x00000980, 0x000810ec, 0x0000d780, 0x00007000,
- 0x00000080, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x41004405,
- 0x0000e181, 0x0013680a, 0x00002182, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x003020ec, 0x00005702, 0x00007000, 0x00000080, 0x80000291,
- 0x0000e582, 0x18c00004, 0x00000980, 0x82181302, 0x0000e100, 0x08003a93,
- 0x00006106, 0x02c00000, 0x00007900, 0x00020040, 0x00008980, 0x18009000,
- 0x0000f900, 0x0001e040, 0x00000980, 0x18400000, 0x00007900, 0x00018030,
- 0x00008980, 0x50445809, 0x0000e003, 0x00001863, 0x0000b106, 0x0018c0ec,
- 0x0000d780, 0x00d07040, 0x00000288, 0x18801002, 0x00006100, 0x86236008,
- 0x00006085, 0x24803006, 0x00006100, 0x004000a8, 0x00004980, 0xc0000800,
- 0x00006181, 0xc2800800, 0x0000c989, 0xc0c00000, 0x00001980, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x04000800, 0x00009981, 0x81371ee3,
- 0x00009900, 0x42002404, 0x00002084, 0xffffffff, 0x00007fa7, 0x00010404,
- 0x00009583, 0x00004500, 0x0000701b, 0x0ec3e404, 0x0000e004, 0x08001a08,
- 0x00003106, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x01602404,
- 0x0000e100, 0x0800300d, 0x0000e206, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02e4a800, 0x0000f900, 0x003dc63c, 0x00000980, 0x03000000,
- 0x00006180, 0xc2300600, 0x0000c901, 0x44851e83, 0x0000f500, 0x82381400,
- 0x00008024, 0x01801705, 0x0000809d, 0x03404090, 0x00006780, 0x0c03ec04,
- 0x00002080, 0x01006404, 0x00006080, 0x83c02302, 0x00008780, 0x038027e4,
- 0x0000e000, 0x00000016, 0x0000e506, 0x4101057d, 0x0000e283, 0x0c43ec0a,
- 0x0000a000, 0x01040080, 0x0000e108, 0x02440881, 0x00004908, 0x01000000,
- 0x00006190, 0x02400000, 0x0000c990, 0x0203d08e, 0x0000e002, 0x00000016,
- 0x0000a481, 0x05c0000d, 0x00007900, 0x00000200, 0x00000380, 0x0143d88f,
- 0x00006004, 0x45107817, 0x0000a107, 0x01002008, 0x0000e102, 0x0280940a,
- 0x00008880, 0x02c04805, 0x0000e104, 0x80000016, 0x00002481, 0x0140080e,
- 0x00006180, 0x0003e816, 0x0000a106, 0x02002005, 0x0000e200, 0x000ff812,
- 0x0000a507, 0x01400017, 0x0000f900, 0x00000080, 0x00000380, 0x05c05005,
- 0x00006300, 0x0403e015, 0x00002081, 0x01404291, 0x0000e000, 0x0003e816,
- 0x00002081, 0x0000280e, 0x00006502, 0x82c3e016, 0x00002001, 0x04ff0013,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x043c1f82, 0x00000104, 0x00004417,
- 0x0000f420, 0x05005f04, 0x00000114, 0x84948a91, 0x0000e120, 0x8150420e,
- 0x0000c128, 0x07c0000d, 0x0000f900, 0x00000200, 0x00000380, 0x01002205,
- 0x00006002, 0x82502a91, 0x00008100, 0x07800000, 0x00006180, 0x4510781f,
- 0x0000e107, 0x07400000, 0x00006180, 0x0003e81e, 0x0000e106, 0x02c0000b,
- 0x00006084, 0x0003e81e, 0x0000a081, 0x0010480e, 0x0000e502, 0x0403e01d,
- 0x0000a081, 0x06800000, 0x00007900, 0x00007fc0, 0x00000980, 0x8490420e,
- 0x00006100, 0x82c3e01e, 0x0000a001, 0x0200001f, 0x0000f900, 0x00000080,
- 0x00000380, 0x06c00000, 0x00006180, 0x06041082, 0x0000c900, 0x06782783,
- 0x00000130, 0x00004418, 0x0000f420, 0x1b001000, 0x0000e1a1, 0x07605c0b,
- 0x00004901, 0x86902a91, 0x0000e120, 0x07c05008, 0x00000300, 0x0317280e,
- 0x00006200, 0x82107209, 0x00000100, 0x09c0000d, 0x00007900, 0x00000200,
- 0x00000380, 0x01006004, 0x0000e002, 0x09800000, 0x00000980, 0x45107827,
- 0x00006107, 0x0003e826, 0x00003106, 0x09400000, 0x0000e180, 0x02c0000b,
- 0x0000c084, 0x0010400e, 0x00006502, 0x0003e826, 0x00002081, 0x08800000,
- 0x0000f900, 0x00007fc0, 0x00000980, 0x01400027, 0x0000f900, 0x00000080,
- 0x00000380, 0x0403e025, 0x0000e081, 0x82c3e026, 0x0000b001, 0x0680040e,
- 0x0000828c, 0x083c1f82, 0x00000204, 0x09002004, 0x0000e100, 0x1b001800,
- 0x000049a1, 0x00004418, 0x0000f420, 0x88907209, 0x00006120, 0x09c05005,
- 0x00000300, 0x09605c0b, 0x0000e101, 0x8890720e, 0x00004928, 0x0bc0000d,
- 0x0000f900, 0x00000200, 0x00000380, 0x0b800000, 0x00006180, 0x4510782f,
- 0x0000e107, 0x01006004, 0x0000e002, 0x0003e82e, 0x00002106, 0x0b400000,
- 0x00006180, 0x0003e82e, 0x00006081, 0x0a800000, 0x00007900, 0x00007fc0,
- 0x00000980, 0x0240002f, 0x00007900, 0x00000080, 0x00000380, 0x0140000b,
- 0x0000e084, 0x0403e02d, 0x0000a081, 0x0ac00000, 0x00006180, 0x82c3e02e,
- 0x00006001, 0x0a3c1f82, 0x00000224, 0x1b002000, 0x00006181, 0x0b002004,
- 0x00004900, 0x00004418, 0x00007400, 0x8a907208, 0x0000e100, 0x0bc05009,
- 0x00008300, 0x0b602c05, 0x00001901, 0x04005800, 0x0000e181, 0x81371ee3,
- 0x0000c900, 0x42002404, 0x00002084, 0xffffffff, 0x00007fa7, 0x00010404,
- 0x00009583, 0x00004476, 0x00007033, 0x82804291, 0x0000e080, 0x0f846c05,
- 0x00002002, 0x82905405, 0x0000e000, 0x0a049c04, 0x0000a000, 0x81403e91,
- 0x00006080, 0x0a049e07, 0x0000e000, 0x04008410, 0x00006081, 0x0244588b,
- 0x00000900, 0x450c43a3, 0x0000f500, 0x02200c8d, 0x0000009f, 0xc2102a0a,
- 0x0000e000, 0x41000c04, 0x00000481, 0x00000404, 0x0000e583, 0x25c00000,
- 0x00000980, 0xa5901202, 0x00006100, 0x00001897, 0x00006106, 0x25001000,
- 0x0000f900, 0x00008000, 0x00000980, 0x25580800, 0x00007900, 0x000440c0,
- 0x00008980, 0x000928ec, 0x0000d780, 0x00985980, 0x000080c8, 0xe5981302,
- 0x0000e100, 0xc0001897, 0x0000e006, 0x00004626, 0x0000f410, 0x26000001,
- 0x000009e4, 0x26800000, 0x000089ec, 0x024000e0, 0x0000e180, 0x00000091,
- 0x00006586, 0x02800000, 0x0000f900, 0x00006000, 0x00008980, 0x02000100,
- 0x00006180, 0x82045809, 0x0000e007, 0x18c00004, 0x0000e180, 0xa4c04000,
- 0x0000c981, 0x02c00000, 0x00007900, 0x00020040, 0x00008980, 0x18009000,
- 0x0000f900, 0x0001e040, 0x00000980, 0x18400000, 0x00007900, 0x00018030,
- 0x00008980, 0x000810ec, 0x0000d780, 0x00007000, 0x00000080, 0x0013680a,
- 0x0000e182, 0x00000891, 0x0000b487, 0x50445809, 0x0000e003, 0x00001863,
- 0x0000b106, 0xa3699001, 0x0000e180, 0x90000893, 0x0000e401, 0x23800000,
- 0x000088fc, 0x24231000, 0x000008d3, 0x82381002, 0x00000608, 0x814010ec,
- 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x0098c0ec,
- 0x00005780, 0x00d07040, 0x00000288, 0xffffffff, 0x00007fa7, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0x02c00004, 0x00006180, 0x03800000,
- 0x0000c980, 0x02006000, 0x00007900, 0x00008000, 0x00000980, 0x02580800,
- 0x00007900, 0x00004100, 0x00008980, 0x03400000, 0x00007900, 0x00004042,
- 0x00000980, 0x0000380b, 0x0000e106, 0x08003a0e, 0x0000b106, 0x03000000,
- 0x000000fc, 0x02803006, 0x00009900, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780, 0x00006000,
- 0x00008080, 0x00000c04, 0x00006583, 0x0002106d, 0x00002587, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x01001800, 0x0000e189, 0x01001000,
- 0x00004991, 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x003bf800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0xc0c00800, 0x0000e180, 0xb6e0806d,
- 0x00006081, 0x1b00106c, 0x00006380, 0x80602404, 0x00008901, 0xc0001000,
- 0x00001981, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0xffffffff,
- 0x00007f86, 0x008806ec, 0x00005f80, 0x00c066c0, 0x000080c4, 0x423850ec,
- 0x00002004, 0x03002000, 0x00007900, 0x00180000, 0x00008980, 0x82cffa04,
- 0x00001280, 0x0410580c, 0x00006901, 0x0280080a, 0x00009080, 0x423850ec,
- 0x0000a804, 0x803862ec, 0x00005600, 0x00000000, 0x00000280, 0x8003e2ec,
- 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000,
- 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec,
- 0x0000f902, 0x20c00000, 0x00008600, 0xc0202f7d, 0x00009503, 0x00004609,
- 0x0000f00b, 0x01400002, 0x00009980, 0xc1680500, 0x00009900, 0x770000ec,
- 0x00005680, 0x00382800, 0x00008000, 0x00c002ec, 0x0000df80, 0x144bd00b,
- 0x00009684, 0x03002000, 0x00007900, 0x00180000, 0x00008980, 0x0410580c,
- 0x00006901, 0x803862ec, 0x00005600, 0x00000000, 0x00000280, 0x8003e2ec,
- 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000,
- 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec,
- 0x0000f902, 0x20c00000, 0x00008600, 0x2dc02e04, 0x0000a004, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f97, 0x82602f7d, 0x0000780b, 0xa2000000,
- 0x0000a28b, 0x423828ec, 0x0000a084, 0x02802000, 0x00007900, 0x00140000,
- 0x00008980, 0x810ffa04, 0x00001280, 0x0410200a, 0x00006901, 0x01400805,
- 0x00009080, 0x423828ec, 0x00002884, 0x803852ec, 0x00005600, 0x00000001,
- 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec,
- 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000,
- 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff,
- 0x00007f86, 0x002bbc0b, 0x00009503, 0x000043ef, 0x0000700b, 0x01400002,
- 0x00009980, 0xc1680500, 0x00009900, 0x770000ec, 0x00005680, 0x00382800,
- 0x00008000, 0x00c002ec, 0x0000df80, 0x144d300b, 0x00001684, 0x02002000,
- 0x0000f900, 0x00140000, 0x00008980, 0x04102008, 0x0000e901, 0x803842ec,
- 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000,
- 0x00000600, 0xffffffff, 0x00007f86, 0xfbebbc0b, 0x0000f80a, 0x02000000,
- 0x0000a28d, 0x00004471, 0x00007200, 0x04004000, 0x00009981, 0x00004471,
- 0x00007200, 0x04005000, 0x00001981, 0xfedbe202, 0x0000780a, 0x02000001,
- 0x00008080, 0x04003800, 0x00009981, 0xffffffff, 0x00007f86, 0x00004471,
- 0x0000f000, 0x81004291, 0x00006080, 0x0f846c05, 0x00002002, 0x81502405,
- 0x00006000, 0x0244588b, 0x00000900, 0x81003e91, 0x0000e080, 0x82146a8d,
- 0x0000c900, 0x45c943a3, 0x0000f500, 0xc1c00c01, 0x000080df, 0x41000000,
- 0x0000e181, 0xc2102205, 0x0000c000, 0x003fd800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x02c00004,
- 0x00006180, 0x004000c8, 0x00004980, 0x02006000, 0x00007900, 0x00004000,
- 0x00000980, 0xc0c00000, 0x00006180, 0x0000380b, 0x0000e106, 0x02400080,
- 0x0000e180, 0x02803006, 0x0000c900, 0xc0000800, 0x00001981, 0x008816ec,
- 0x0000df80, 0x00c06000, 0x000080c4, 0x45dc2d84, 0x0000f500, 0x183c5f8b,
- 0x0000e100, 0x01430205, 0x0000c100, 0x84f82a04, 0x0000a800, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0x02000000, 0x0000e180, 0x0100246c,
- 0x00004081, 0x024000e0, 0x0000e180, 0x01400c04, 0x0000c881, 0x82000c04,
- 0x0000e081, 0x82548a91, 0x00004900, 0x81002000, 0x0000e180, 0x82045809,
- 0x0000e007, 0x02800000, 0x0000f900, 0x00002000, 0x00000980, 0x000810ec,
- 0x0000d780, 0x00007000, 0x00000080, 0x003fd800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x41004405, 0x0000e181, 0x0013680a, 0x00002182, 0x003bf800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x003020ec, 0x00005702, 0x00007000,
- 0x00000080, 0x80000291, 0x0000e582, 0x18c00004, 0x00000980, 0x82181302,
- 0x0000e100, 0x08003a93, 0x00006106, 0x02c00000, 0x00007900, 0x00020040,
- 0x00008980, 0x18009000, 0x0000f900, 0x0001e040, 0x00000980, 0x18400000,
- 0x00007900, 0x00018030, 0x00008980, 0x50445809, 0x0000e003, 0x00001863,
- 0x0000b106, 0x0018c0ec, 0x0000d780, 0x00d07040, 0x00000288, 0x18801002,
- 0x00006100, 0x86236008, 0x00006085, 0x24803006, 0x00006100, 0x004000a8,
- 0x00004980, 0xc0000800, 0x00006181, 0xc2800800, 0x0000c989, 0xc0c00000,
- 0x00001980, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x2dc02e04,
- 0x00002005, 0x2dc05e04, 0x00002004, 0xffffffff, 0x00007f97, 0x01400c05,
- 0x00009081, 0x2dd82e04, 0x0000a806, 0xfbebbc0b, 0x0000f80a, 0x62000000,
- 0x0000228c, 0x00004471, 0x00007200, 0x04002800, 0x00001981, 0x00004471,
- 0x00007200, 0x04003000, 0x00001981, 0x00004471, 0x00007200, 0x04004800,
- 0x00001981, 0x801bc204, 0x00006502, 0x01400c77, 0x00000081, 0x2df83604,
- 0x0000d004, 0x0013e800, 0x00000002, 0x2dd82e04, 0x0000a806, 0x000043ef,
- 0x00007008, 0x821bc378, 0x00009900, 0x2df82e08, 0x0000a084, 0xffffffff,
- 0x00007fa7, 0x00002806, 0x00001502, 0x014728e5, 0x00001908, 0x000043ef,
- 0x00007400, 0xffffffff, 0x00007f86, 0x2df82e08, 0x00002884, 0x00004471,
- 0x00007200, 0x04002000, 0x00009981, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x02c00004, 0x00006180, 0x03800000, 0x0000c980, 0x02006000,
- 0x00007900, 0x00008000, 0x00000980, 0x02580800, 0x00007900, 0x00004100,
- 0x00008980, 0x03400000, 0x00007900, 0x00004042, 0x00000980, 0x0000380b,
- 0x0000e106, 0x08003a0e, 0x0000b106, 0x03000000, 0x000000fc, 0x02803006,
- 0x00009900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x009010ec, 0x00005780, 0x00006000, 0x00008080, 0x00000c04,
- 0x00006583, 0x0002106d, 0x00002587, 0x003fd800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x01001800, 0x0000e189, 0x01001000, 0x00004991, 0x00400000,
- 0x00007900, 0x00008010, 0x00008980, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0xc0c00800, 0x0000e180, 0xb6e0806d, 0x00006081, 0x1b00106c,
- 0x00006380, 0x80602404, 0x00008901, 0xc0001000, 0x00001981, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0xffffffff, 0x00007f86, 0x008806ec,
- 0x00005f80, 0x00c066c0, 0x000080c4, 0x01001418, 0x00001283, 0x02000100,
- 0x0000e188, 0x0e812c07, 0x00006008, 0x024000e0, 0x00006188, 0x82181302,
- 0x00004908, 0x00004683, 0x00007010, 0x02800000, 0x0000f900, 0x00004000,
- 0x00000980, 0x00000407, 0x0000e583, 0x82011809, 0x0000a007, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x0010c80a, 0x0000618a, 0x0000000a,
- 0x0000b592, 0x01c00000, 0x0000e191, 0x01c40000, 0x00004989, 0x81020623,
- 0x00006283, 0x03c00004, 0x00000980, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x02c00000, 0x00007900, 0x00020040, 0x00008980, 0x03009000,
- 0x0000f900, 0x0001e040, 0x00000980, 0x03400000, 0x00007900, 0x00018030,
- 0x00008980, 0x000010ec, 0x00005780, 0x00d071c1, 0x00000280, 0x50411809,
- 0x00006003, 0x0000180f, 0x0000b106, 0x03801002, 0x00006100, 0x004000a8,
- 0x00004980, 0x00004681, 0x00007408, 0x42a00e07, 0x00008083, 0x81c01723,
- 0x0000e090, 0xc0c00000, 0x00004980, 0xffffffff, 0x00007f86, 0x85002807,
- 0x0000a000, 0x84c02207, 0x0000f902, 0x01800000, 0x00000000, 0xffffffff,
- 0x00007f97, 0x00000c05, 0x00001583, 0x01403004, 0x00009118, 0x00004681,
- 0x0000f031, 0x0002f005, 0x00001582, 0x0182f006, 0x00006098, 0x0102f000,
- 0x000089b0, 0x84f83207, 0x0000a818, 0x46812d84, 0x00007530, 0x18391f23,
- 0x0000e130, 0x01002804, 0x00004130, 0x84f82207, 0x00002830, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x02612f23, 0x00008020, 0x468743a3,
- 0x0000f500, 0x42200400, 0x000080df, 0xc1e00001, 0x000080d2, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x004000c8, 0x00006180, 0xc0c00000, 0x00004980, 0xc0000800,
- 0x00001981, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x17c08010,
- 0x0000e100, 0x00208806, 0x00006086, 0x82288806, 0x00006886, 0x04188806,
- 0x0000e987, 0x01c03006, 0x00001900, 0x170db000, 0x0000f900, 0x00280736,
- 0x00000980, 0x17803807, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec,
- 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805,
- 0x0000e100, 0x00002004, 0x0000e586, 0x17403006, 0x00006100, 0x04288804,
- 0x00006087, 0x46a31f46, 0x00007500, 0x86208804, 0x00006887, 0x16c02004,
- 0x00001900, 0xdca06c11, 0x00004388, 0x00806c11, 0x00000098, 0xdb005c11,
- 0x00004188, 0x00806411, 0x00000090, 0x2bc00a02, 0x0000c88e, 0xb4c00a02,
- 0x0000948e, 0x00407411, 0x0000c589, 0x02e08411, 0x0000839e, 0x81000a02,
- 0x00006282, 0x0fc00004, 0x00000980, 0x0580700e, 0x0000e110, 0x00101004,
- 0x0000e186, 0x001078ec, 0x00005780, 0x00005800, 0x00000080, 0x04181004,
- 0x00006187, 0x0000183f, 0x0000b106, 0x803820ec, 0x0000d700, 0x00000000,
- 0x00000880, 0x800000ec, 0x00005780, 0x00000000, 0x00008080, 0x803f28ec,
- 0x0000d700, 0x00000000, 0x00008080, 0x800030ec, 0x00007902, 0x01000000,
- 0x00000700, 0x0f001000, 0x00007900, 0x00008000, 0x00000980, 0x0f580800,
- 0x0000f900, 0x000440c0, 0x00008980, 0x0fa81402, 0x00008338, 0x80000e06,
- 0x0000e583, 0x10002000, 0x00008980, 0x10400000, 0x000004c8, 0x10c00000,
- 0x0000e180, 0x81002c06, 0x0000c788, 0x000046e5, 0x00007010, 0x45c046ec,
- 0x0000f902, 0x01c00000, 0x00000004, 0x00000404, 0x0000e583, 0x0140fc06,
- 0x00008281, 0x01602fe4, 0x00001800, 0x014028e5, 0x00009400, 0x000046d0,
- 0x0000f208, 0x02004005, 0x00009208, 0x00000c04, 0x00009583, 0x01c03805,
- 0x00009208, 0x01000000, 0x00007900, 0x00080000, 0x00000980, 0x45f846ec,
- 0x0000d004, 0x00383800, 0x00000000, 0x000046e5, 0x00007400, 0x04203004,
- 0x00006887, 0x800000ec, 0x00005780, 0x00382000, 0x00000000, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x028fe000, 0x00007900, 0x00280736,
- 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa, 0x00008980, 0x03000000,
- 0x00006180, 0x08001a08, 0x00006106, 0x82200500, 0x00008022, 0x46e51e83,
- 0x00007500, 0x02788702, 0x00008034, 0x81c02800, 0x00006180, 0x01808811,
- 0x0000c900, 0x40c00401, 0x000000ec, 0x01400000, 0x0000f900, 0x00020300,
- 0x00000980, 0x010001a0, 0x00006180, 0x0000180b, 0x00006106, 0x00400000,
- 0x00007900, 0x00008090, 0x00000980, 0x01804800, 0x0000f900, 0x00004000,
- 0x00000980, 0x02009000, 0x00007900, 0x00032240, 0x00000980, 0x02400000,
- 0x0000f900, 0x00018008, 0x00000980, 0x001008ec, 0x0000d780, 0x00d07100,
- 0x000085c0, 0x557f1005, 0x00006003, 0xc000180b, 0x0000b006, 0xc0000402,
- 0x000080dc, 0x81381002, 0x00008028, 0x008806ec, 0x00005f80, 0x00c060c0,
- 0x000080c4, 0x03000000, 0x000080f4, 0x03800000, 0x0000e180, 0x0780e00c,
- 0x0000e000, 0x000046e5, 0x00007400, 0x03c00000, 0x00006180, 0x83511222,
- 0x0000c900, 0xc3191322, 0x00009900, 0x03000000, 0x000080f4, 0x000046e5,
- 0x00007400, 0x03800000, 0x000080fc, 0x83491020, 0x00008032, 0x000046e5,
- 0x00007400, 0x0101041c, 0x00009283, 0x8350fa1f, 0x00001910, 0x000046e5,
- 0x00007400, 0x0100841c, 0x00009283, 0x83510220, 0x00001910, 0x17c0600c,
- 0x0000e100, 0x00206806, 0x0000e086, 0x82286806, 0x0000e886, 0x04186806,
- 0x00006987, 0x01c03006, 0x00001900, 0x1713d800, 0x00007900, 0x00280736,
- 0x00000980, 0x17803807, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec,
- 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805,
- 0x0000e100, 0x00002004, 0x0000e586, 0x17403006, 0x00006100, 0x04286804,
- 0x0000e087, 0x471e1f46, 0x0000f500, 0x86206804, 0x0000e887, 0x16c02004,
- 0x00001900, 0xee80340d, 0x00004388, 0x0080340d, 0x00000098, 0xeb40140d,
- 0x00004488, 0xdc802c0d, 0x0000118e, 0x00c00c0d, 0x0000ca91, 0x8120540d,
- 0x000085b4, 0xffffffff, 0x00007f86, 0x0000740d, 0x00009583, 0x02000800,
- 0x00001989, 0x0000477c, 0x00007009, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x0180600c, 0x0000e100, 0x08001a08, 0x00006106, 0x02971800,
- 0x0000f900, 0x00280736, 0x00000980, 0x02fa9000, 0x00007900, 0x0016f7fa,
- 0x00008980, 0x0168070d, 0x00000022, 0x82381400, 0x00008024, 0x477b1e83,
- 0x00007500, 0x41c00005, 0x000000f0, 0x01b83705, 0x00008034, 0x460020ec,
- 0x0000a004, 0xffffffff, 0x00007fa7, 0x00000404, 0x00001583, 0x05bff016,
- 0x00007910, 0x003ffffe, 0x00008280, 0x10009900, 0x00001988, 0x00004755,
- 0x00007010, 0x0160400e, 0x00007900, 0x00000002, 0x00008082, 0x01802805,
- 0x0000e100, 0x0100000f, 0x00004084, 0x47432325, 0x00007404, 0x0ff82706,
- 0x00008014, 0x0f802805, 0x00001900, 0x3030a841, 0x0000f902, 0x01000500,
- 0x00008000, 0x460000ec, 0x0000d004, 0x00400000, 0x00000083, 0x460002ec,
- 0x0000d084, 0x00400000, 0x00008000, 0x45ff2eec, 0x0000d004, 0x003f2800,
- 0x00000000, 0x05800816, 0x00006380, 0x01002004, 0x00008780, 0x473824ec,
- 0x0000a804, 0x3028a841, 0x00002082, 0x460000ec, 0x0000d004, 0x00600000,
- 0x00000082, 0x460002ec, 0x00005004, 0x00400000, 0x00000080, 0x470004ec,
- 0x00005084, 0x00400000, 0x00008000, 0x460020ec, 0x0000a004, 0xffffffff,
- 0x00007f86, 0x0000477b, 0x00007403, 0x01000c04, 0x00009081, 0x460020ec,
- 0x00002804, 0x460020ec, 0x0000a004, 0xc007ff13, 0x0000e583, 0x01500000,
- 0x00000980, 0xffffffff, 0x00007f97, 0x01000c04, 0x00001181, 0x460020ec,
- 0x00002804, 0x813f1fe3, 0x00006108, 0x81008713, 0x00004090, 0x47651a85,
- 0x00007405, 0x04102005, 0x0000e987, 0x02c02805, 0x00001900, 0x01500800,
- 0x00001980, 0x47691a85, 0x0000f404, 0x04102005, 0x0000e987, 0x02c02805,
- 0x00001900, 0x01000000, 0x00009980, 0x477b3704, 0x0000f500, 0x00186004,
- 0x00006986, 0x06002004, 0x00009900, 0x0000477b, 0x0000f000, 0x06c728e5,
- 0x0000e100, 0x0e408404, 0x0000e000, 0x01009404, 0x00001880, 0x00004779,
- 0x0000f400, 0x01406004, 0x00001300, 0x07402805, 0x00009900, 0x06c728e5,
- 0x0000e100, 0x0e408404, 0x0000e000, 0x01009404, 0x00001880, 0x01406004,
- 0x00001300, 0x07402805, 0x00009900, 0x477b2351, 0x00007004, 0x0000477b,
- 0x0000f000, 0x02000000, 0x00001981, 0x00000408, 0x0000e583, 0x01400080,
- 0x00000980, 0x82000000, 0x0000e190, 0x82039000, 0x0000c988, 0x01800000,
- 0x0000f900, 0x00004000, 0x00000980, 0x010000a0, 0x0000e180, 0x86288005,
- 0x0000e007, 0x02c00004, 0x00006180, 0x00104006, 0x0000e182, 0x02400000,
- 0x0000f900, 0x00010030, 0x00000980, 0x557f1005, 0x00006003, 0x0000180b,
- 0x00003106, 0x02009000, 0x00007900, 0x00012280, 0x00008980, 0x01c00000,
- 0x0000e180, 0x82901202, 0x00004900, 0x81281002, 0x00000028, 0x00880eec,
- 0x0000df80, 0x00007001, 0x00000084, 0x1878c719, 0x00000600, 0x1880d01a,
- 0x00006100, 0x00230809, 0x0000e086, 0x18c0d81b, 0x0000e100, 0x822b0809,
- 0x00006086, 0x1900e01c, 0x00006100, 0x041b0809, 0x0000e187, 0x02b8ef09,
- 0x00000614, 0x17130000, 0x00007900, 0x00280738, 0x00008980, 0x19b8ff1e,
- 0x0000061c, 0x1a791721, 0x00000628, 0x1af88723, 0x00008500, 0x14789711,
- 0x00000508, 0x14f8a713, 0x00000510, 0x1578b715, 0x00000518, 0x15f8c717,
- 0x0000853c, 0x1780500a, 0x00001900, 0x82c02cec, 0x00007902, 0x01000000,
- 0x00000604, 0xffffffff, 0x00007fa7, 0x02402805, 0x0000e100, 0x00002004,
- 0x0000e586, 0x17404809, 0x00006100, 0x042b0804, 0x0000e087, 0x47ad1f46,
- 0x00007500, 0x86230804, 0x0000e887, 0x16c02004, 0x00001900, 0x47ae4364,
- 0x0000f004, 0x16400080, 0x0000e180, 0x08012008, 0x00006202, 0x160000a0,
- 0x0000e180, 0x8628e059, 0x0000e007, 0x17800000, 0x0000e180, 0x59c04008,
- 0x0000c900, 0x0b003208, 0x00006106, 0x08003a69, 0x00003106, 0x16839000,
- 0x0000f900, 0x00004000, 0x00000980, 0x17009000, 0x0000f900, 0x00012280,
- 0x00008980, 0x17400000, 0x00007900, 0x00010030, 0x00000980, 0x1a003006,
- 0x00006100, 0x557f1059, 0x00006003, 0x16c00000, 0x0000e180, 0x17c00004,
- 0x0000c980, 0xd7802208, 0x0000e080, 0x96002208, 0x00004880, 0x0088b6ec,
- 0x0000df80, 0x00007001, 0x00000084, 0x05000000, 0x0000f900, 0x00040000,
- 0x00000980, 0x000047dd, 0x00007400, 0x85000006, 0x00008194, 0xc5503206,
- 0x00001900, 0x45c0ceec, 0x0000f902, 0x06000000, 0x00008004, 0x86802c17,
- 0x0000e780, 0x06c0fc17, 0x00008281, 0x0000041a, 0x0000e583, 0x06e0dfe4,
- 0x00008800, 0x45c03eec, 0x0000f902, 0x01800000, 0x00008004, 0x06c0d8e5,
- 0x00009400, 0x000047d6, 0x00007208, 0x01c0c81b, 0x00009208, 0x00000c1a,
- 0x00009583, 0x0180c01b, 0x00009208, 0x45f83eec, 0x00002884, 0x45f836ec,
- 0x00002804, 0x01800000, 0x0000f900, 0x00080000, 0x00000980, 0x0420b806,
- 0x0000e887, 0x800000ec, 0x00005780, 0x00383000, 0x00008000, 0x8038a8ec,
- 0x0000d700, 0x0038a000, 0x00008000, 0x800000ec, 0x00005780, 0x00000000,
- 0x00008080, 0x800000ec, 0x00005780, 0x00372fc0, 0x00007f7a, 0x8000b8ec,
- 0x00007902, 0x01800000, 0x00008700, 0xffffffff, 0x00007fa7, 0x80000e17,
- 0x00001583, 0x460030ec, 0x0000a014, 0x000047c9, 0x0000f009, 0x00000001,
- 0x0000f481, 0x01800c06, 0x00001181, 0x460030ec, 0x0000a804, 0x828001e4,
- 0x00000090, 0x47f03704, 0x0000f500, 0x00105004, 0x0000e986, 0x06002004,
- 0x00009900, 0x02000000, 0x0000e180, 0x0f005004, 0x00006106, 0x45102008,
- 0x0000e907, 0x47f72351, 0x00007404, 0x06c00000, 0x0000f900, 0x003ffc00,
- 0x00008980, 0x07404008, 0x00009900, 0xb918530a, 0x00001900, 0xffffffff,
- 0x00007fa7, 0x00000000, 0x00007083, 0x84402d00, 0x00006080, 0x08003a04,
- 0x0000e106, 0x01401000, 0x000081ec, 0x03a00204, 0x0000f900, 0x000002da,
- 0x00008080, 0xc1580211, 0x00006080, 0x0e400000, 0x00008980, 0x0ef82f0e,
- 0x00000328, 0xc25722e4, 0x00009900, 0x48042042, 0x00007004, 0x01400000,
- 0x00006180, 0x08003a04, 0x0000e106, 0x01000a04, 0x0000e080, 0xc1580a11,
- 0x00004080, 0x03a00004, 0x00007900, 0x000002d8, 0x00000080, 0x480d2042,
- 0x0000f404, 0x06c00002, 0x000083e4, 0x0ef82f0e, 0x00000328, 0x01400000,
- 0x00006180, 0x08004a04, 0x00006106, 0x03a00204, 0x0000f900, 0x000002da,
- 0x00008080, 0xc1581211, 0x0000e080, 0x06c01000, 0x00000980, 0x48172042,
- 0x00007404, 0x0e400000, 0x00006180, 0x0ec0700e, 0x00004900, 0x0e802805,
- 0x00009900, 0x01400000, 0x00006180, 0x08004a04, 0x00006106, 0x01000a04,
- 0x0000e080, 0xc1581a11, 0x0000c080, 0x03a00004, 0x00007900, 0x000002d8,
- 0x00000080, 0x48202042, 0x0000f404, 0x06c00002, 0x000083e4, 0x0ef82f0e,
- 0x00000328, 0x01400000, 0x00006180, 0x08005a04, 0x0000e106, 0x03a00204,
- 0x0000f900, 0x000002da, 0x00008080, 0xc1582211, 0x0000e080, 0x06c01000,
- 0x00000980, 0x482a2042, 0x0000f404, 0x0e400000, 0x00006180, 0x0ec0700e,
- 0x00004900, 0x0e802805, 0x00009900, 0x01400000, 0x00006180, 0x08005a04,
- 0x0000e106, 0x01000a04, 0x0000e080, 0xc1582a11, 0x0000c080, 0x03a00004,
- 0x00007900, 0x000002d8, 0x00000080, 0x48332042, 0x00007404, 0x06c00002,
- 0x000083e4, 0x0ef82f0e, 0x00000328, 0x01400000, 0x00006180, 0x08006a04,
- 0x0000e106, 0x03a00204, 0x0000f900, 0x000002da, 0x00008080, 0xc1583211,
- 0x00006080, 0x06c01000, 0x00000980, 0x483d2042, 0x0000f404, 0x0e400000,
- 0x00006180, 0x0ec0700e, 0x00004900, 0x0e802805, 0x00009900, 0x01400000,
- 0x00006180, 0x08006a04, 0x0000e106, 0x01000a04, 0x0000e080, 0xc1583a11,
- 0x00004080, 0x03a00004, 0x00007900, 0x000002d8, 0x00000080, 0x48462042,
- 0x0000f404, 0x06c00002, 0x000083e4, 0x0ef82f0e, 0x00000328, 0x01400000,
- 0x00006180, 0x08007a04, 0x00006106, 0x03a00204, 0x0000f900, 0x000002da,
- 0x00008080, 0xc1584211, 0x0000e080, 0x06c01000, 0x00000980, 0x48502042,
- 0x00007404, 0x0e400000, 0x00006180, 0x0ec0700e, 0x00004900, 0x0e802805,
- 0x00009900, 0x01000000, 0x0000e180, 0x08007a05, 0x0000e106, 0x01400a05,
- 0x0000e080, 0xc1184a11, 0x00004080, 0x01600005, 0x00007900, 0x000002d8,
- 0x00000080, 0x48592042, 0x00007404, 0x06c00802, 0x000003e4, 0x0ef82705,
- 0x00000328, 0xb9184b09, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
- 0x00007083, 0x0c006000, 0x0000f900, 0x00004000, 0x00000980, 0x0c400040,
- 0x00006180, 0x0c800000, 0x0000c980, 0xc1d722e4, 0x00006100, 0x0cc00004,
- 0x0000c980, 0x486347fa, 0x00007004, 0x00004910, 0x00007200, 0x81000000,
- 0x000080d6, 0x12400c05, 0x00004489, 0xd6800c05, 0x000092a8, 0x17201405,
- 0x00004489, 0xc0801c05, 0x00009289, 0x43c00c04, 0x0000f892, 0x3a400000,
- 0x0000a488, 0x08003a11, 0x00006106, 0x08003004, 0x0000b206, 0x80000211,
- 0x00006582, 0x0b003210, 0x0000a106, 0x03c04000, 0x0000e191, 0x04400d00,
- 0x00004090, 0x30387011, 0x0000a090, 0x0000488b, 0x00007008, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0x84801a0e, 0x00001280, 0x80001212,
- 0x00001582, 0x8380120e, 0x00009790, 0x00004890, 0x0000f009, 0x03c00c0f,
- 0x00009183, 0x03c00000, 0x00001989, 0x00004875, 0x00007011, 0x2ff87611,
- 0x0000a080, 0xffffffff, 0x00007fa7, 0x0800700e, 0x00006206, 0x0b007212,
- 0x00003106, 0x0000200e, 0x00001502, 0x80108212, 0x00001502, 0x0000040f,
- 0x00009583, 0x0000488b, 0x00007010, 0x0000488b, 0x00007010, 0x0000488b,
- 0x00007010, 0x2ff82611, 0x00002000, 0xffffffff, 0x00007fa7, 0x00000804,
- 0x00009582, 0x01000800, 0x00001989, 0x0000488c, 0x00007009, 0x01000000,
- 0x00001981, 0x0c803006, 0x00006100, 0x00003833, 0x00006106, 0x43c00c04,
- 0x0000f892, 0x3a400000, 0x0000a488, 0x0000487c, 0x0000f200, 0x03c00800,
- 0x00001981, 0x08004a11, 0x0000e106, 0x0800400e, 0x00003206, 0x80000211,
- 0x00006582, 0x0b004210, 0x00002106, 0x03c04000, 0x0000e191, 0x04401d00,
- 0x0000c090, 0x30382011, 0x0000a090, 0x000048b2, 0x00007008, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0x84801a04, 0x00001280, 0x80001212,
- 0x00001582, 0x81001204, 0x00009790, 0x000048b7, 0x0000f009, 0x03c00c0f,
- 0x00009183, 0x03c00000, 0x00001989, 0x0000489c, 0x0000f011, 0x2ff82611,
- 0x0000a080, 0xffffffff, 0x00007fa7, 0x08002004, 0x00006206, 0x0b002212,
- 0x00003106, 0x00007004, 0x00001502, 0x80108212, 0x00001502, 0x0000040f,
- 0x00009583, 0x000048b2, 0x00007010, 0x000048b2, 0x00007010, 0x000048b2,
- 0x00007010, 0x2ff82611, 0x00002000, 0xffffffff, 0x00007fa7, 0x00000804,
- 0x00009582, 0x01000800, 0x00001989, 0x000048b3, 0x00007009, 0x01000000,
- 0x00001981, 0x0c804008, 0x00006100, 0x00004833, 0x0000e106, 0x43c00c04,
- 0x0000f892, 0x3a400000, 0x0000a488, 0x000048a3, 0x00007200, 0x03c00800,
- 0x00001981, 0x08005a12, 0x00006106, 0x0800500e, 0x0000b206, 0x80000212,
- 0x00006582, 0x0b005213, 0x0000a106, 0x03c04000, 0x0000e191, 0x04402d00,
- 0x0000c090, 0x30382011, 0x0000a090, 0x000048d9, 0x0000f008, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0x84801a04, 0x00001280, 0x80001212,
- 0x00001582, 0x81001204, 0x00009790, 0x000048de, 0x0000f009, 0x03c00c0f,
- 0x00009183, 0x04000000, 0x00009989, 0x000048c3, 0x0000f011, 0x2ff82611,
- 0x0000a080, 0xffffffff, 0x00007fa7, 0x08002004, 0x00006206, 0x0b00220f,
- 0x00003106, 0x00007004, 0x00001502, 0x80109a0f, 0x00001502, 0x00000410,
- 0x00001583, 0x000048d9, 0x0000f010, 0x000048d9, 0x0000f010, 0x000048d9,
- 0x0000f010, 0x2ff82611, 0x00002000, 0xffffffff, 0x00007fa7, 0x00000804,
- 0x00009582, 0x01000800, 0x00001989, 0x000048da, 0x00007009, 0x01000000,
- 0x00001981, 0x0c80500a, 0x00006100, 0x00005833, 0x00006106, 0x43c00c04,
- 0x0000f892, 0x3a400000, 0x0000a488, 0x000048ca, 0x00007200, 0x04000800,
- 0x00009981, 0x08006a11, 0x00006106, 0x0800600e, 0x0000b206, 0x80000211,
- 0x00006582, 0x0b00620f, 0x00002106, 0x04004000, 0x00006191, 0x04803d00,
- 0x00004090, 0x30382012, 0x0000a090, 0x00004900, 0x0000f008, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f86, 0x84401a04, 0x00001280, 0x80001211,
- 0x00001582, 0x81001204, 0x00009790, 0x00004905, 0x00007009, 0x04000c10,
- 0x00009183, 0x04400000, 0x00001989, 0x000048ea, 0x00007011, 0x2ff82612,
- 0x0000a080, 0xffffffff, 0x00007fa7, 0x08002004, 0x00006206, 0x0b002210,
- 0x0000b106, 0x00007004, 0x00001502, 0x80107a10, 0x00001502, 0x00000411,
- 0x00009583, 0x00004900, 0x0000f010, 0x00004900, 0x0000f010, 0x00004900,
- 0x0000f010, 0x2ff88e12, 0x0000a000, 0xffffffff, 0x00007fa7, 0x00000811,
- 0x00001582, 0x01000800, 0x00001989, 0x00004901, 0x0000f009, 0x01000000,
- 0x00001981, 0x0c80600c, 0x00006100, 0x00006833, 0x00006106, 0x43c00c04,
- 0x0000f892, 0x3a400000, 0x0000a488, 0x000048f1, 0x0000f200, 0x04400800,
- 0x00001981, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x008860ec, 0x0000d780, 0x00006000, 0x00008080, 0xffffffff,
- 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x01400c05,
- 0x00009081, 0x00395c05, 0x00009503, 0xb9183b07, 0x00009920, 0x00004865,
- 0x00007029, 0xffffffff, 0x00007f86, 0x00000000, 0x00007083, 0x00042005,
- 0x00009582, 0x00042805, 0x00001582, 0x00040805, 0x00009582, 0x00004935,
- 0x0000f008, 0x00004938, 0x00007008, 0x00004929, 0x00007010, 0xc0000f2b,
- 0x0000e583, 0x0f814c04, 0x00002002, 0x8380222b, 0x0000e080, 0x84403a2d,
- 0x00008880, 0x04000000, 0x00007900, 0x001f8000, 0x00008980, 0x81408000,
- 0x0000e188, 0x8140e000, 0x0000c990, 0x83907404, 0x00009000, 0x84108a0e,
- 0x00001000, 0x4929485c, 0x0000f404, 0x04102810, 0x00006901, 0x203886ec,
- 0x00005600, 0x00393800, 0x00008000, 0x0fc00000, 0x00006180, 0x0f4000c8,
- 0x00004980, 0x8f901202, 0x0000e100, 0x0000183f, 0x0000e106, 0x0f001000,
- 0x00007900, 0x00004000, 0x00000980, 0x000878ec, 0x00005780, 0x00006000,
- 0x00008080, 0xcf981302, 0x00006100, 0xc000183f, 0x00006006, 0x008006ec,
- 0x0000df80, 0x00000000, 0x00000084, 0x00004929, 0x00007200, 0x200006ec,
- 0x0000d680, 0x00391a00, 0x00003d00, 0x8100421d, 0x0000e080, 0x0f80cc05,
- 0x0000a002, 0x81102405, 0x0000e000, 0x0240b817, 0x00000900, 0x81403e1d,
- 0x0000e080, 0x8210ca19, 0x0000c900, 0x492943a3, 0x00007500, 0xc1c00c01,
- 0x000080df, 0x41000000, 0x0000e181, 0xc2102a04, 0x0000c000, 0x0f04a409,
- 0x00006000, 0x0d04a408, 0x00003006, 0x29003408, 0x000043b1, 0x00804c08,
- 0x00000098, 0xc3204408, 0x0000c8a8, 0x50405408, 0x0000828a, 0x00001c08,
- 0x00001583, 0x8200c000, 0x000099a0, 0x00004971, 0x00007021, 0x00000c08,
- 0x00009583, 0x8200a000, 0x00009990, 0x00004971, 0x00007011, 0x00004970,
- 0x0000f000, 0x00005c08, 0x00009583, 0x82012000, 0x0000e188, 0x01800000,
- 0x0000c990, 0x01c00000, 0x0000f910, 0x00010040, 0x00008980, 0x00004971,
- 0x0000f008, 0xc1000008, 0x000080b0, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02e38800, 0x0000f900, 0x003816e2, 0x00008980, 0x81c01000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x82200500, 0x00008022, 0x03781704,
- 0x00008024, 0x49701e83, 0x0000f100, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02dee000,
- 0x0000f900, 0x000c684e, 0x00000980, 0x03400000, 0x0000e180, 0x08001a08,
- 0x00006106, 0x01800000, 0x000000f0, 0x0000495e, 0x00007400, 0x82200500,
- 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x00004971,
- 0x0000f200, 0x82010000, 0x00009980, 0x00004971, 0x0000f200, 0x82026000,
- 0x00009980, 0x8201a000, 0x00009980, 0x00000409, 0x00009583, 0x2c24ea08,
- 0x00001600, 0x854588b0, 0x00001000, 0x851ce215, 0x0000e000, 0x82003c9d,
- 0x00008880, 0x8510a79d, 0x0000e010, 0x85504215, 0x00000000, 0x855ce215,
- 0x00009000, 0x02002494, 0x00006283, 0x8550af9d, 0x00008010, 0x0200246c,
- 0x00001283, 0xffffffff, 0x00007f86, 0x00004998, 0x00007010, 0x00004998,
- 0x00007010, 0x02c0000a, 0x0000e180, 0x82901202, 0x00004900, 0x02001000,
- 0x0000f900, 0x00008000, 0x00000980, 0x02580800, 0x00007900, 0x000440c0,
- 0x00008980, 0x04002000, 0x0000f900, 0x00040000, 0x00000980, 0x04400000,
- 0x0000f900, 0x00010000, 0x00000980, 0xc2981302, 0x0000e100, 0x0000180b,
- 0x00006106, 0x04800000, 0x00006180, 0x04d0a096, 0x00004100, 0x1b00206c,
- 0x00009380, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x008810ec, 0x00005780, 0x00985900, 0x000080c0, 0xffffffff,
- 0x00007fa7, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00004999,
- 0x0000f200, 0x02400800, 0x00001981, 0x02400000, 0x00009981, 0x40000d9c,
- 0x00001583, 0x82009800, 0x00006188, 0x8200f800, 0x00004990, 0x00000409,
- 0x00009583, 0x85440215, 0x00006190, 0x82005a08, 0x00008180, 0x02c00000,
- 0x00007900, 0x001f8000, 0x00008980, 0x04001000, 0x00006191, 0x0010a80b,
- 0x0000e186, 0x04002800, 0x0000e189, 0x0410400b, 0x00006101, 0x00000409,
- 0x00009583, 0x20385eec, 0x00005600, 0x003cb800, 0x00000000, 0xa8c08000,
- 0x00006191, 0xa00000a8, 0x0000e413, 0x000049b3, 0x00007008, 0xc1400fa4,
- 0x0000e283, 0x00000098, 0x00002401, 0x2a7f80a9, 0x00007900, 0x003ffffe,
- 0x00008280, 0x000049bb, 0x0000f400, 0x04400800, 0x0000e191, 0x800000a4,
- 0x0000e411, 0x04400000, 0x00001989, 0xc1400fa4, 0x0000e283, 0xa00000a8,
- 0x0000a403, 0x2a7f80a9, 0x00007900, 0x003ffffe, 0x00008280, 0x00000898,
- 0x00006401, 0x800000a4, 0x0000b411, 0x04400000, 0x00006189, 0x04400800,
- 0x0000c991, 0x02400140, 0x00006180, 0x20000e98, 0x00006400, 0x81400e98,
- 0x0000e283, 0x5044b809, 0x0000a003, 0x02000160, 0x00006180, 0x8204b809,
- 0x00006007, 0x26062000, 0x0000e181, 0x82c00000, 0x0000c990, 0x000049ca,
- 0x00007210, 0x82181302, 0x00009900, 0x81402698, 0x00001283, 0x82fffaa4,
- 0x0000f910, 0x0000000e, 0x00008280, 0x82fffba3, 0x0000f908, 0x0000000e,
- 0x00008280, 0x02800000, 0x0000f900, 0x00004000, 0x00000980, 0x81400e98,
- 0x0000e283, 0x0010580a, 0x00002182, 0x003fd800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x18c00000, 0x00006180, 0x02c00000, 0x0000c991, 0x02c20000,
- 0x00006189, 0x00001863, 0x0000e106, 0x00400000, 0x00007900, 0x00008010,
- 0x00008980, 0x003bf800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00000004,
- 0x0000e582, 0xc0001863, 0x0000a006, 0x18009000, 0x0000f900, 0x0002b100,
- 0x00000980, 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x000810ec,
- 0x0000d780, 0x00d07600, 0x000000c0, 0x18801002, 0x00006100, 0x600008a8,
- 0x0000e412, 0x21000000, 0x000088d4, 0x21800000, 0x000088dc, 0x22000000,
- 0x000088e4, 0x22800000, 0x000088ec, 0x82a05c0b, 0x0000e101, 0x80608411,
- 0x0000c001, 0xc0200c02, 0x000080cd, 0x02c00020, 0x00001980, 0x814010ec,
- 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009108ec,
- 0x0000d780, 0x00d07140, 0x000083c8, 0x00000001, 0x0000f080, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0x01002494, 0x00006283, 0x1bc00000,
- 0x00008980, 0x84048800, 0x00006190, 0x1b00106c, 0x0000c380, 0x01000800,
- 0x00001980, 0x1be08410, 0x00001901, 0x49fb4942, 0x00007500, 0x8228806f,
- 0x0000e802, 0xdbd88310, 0x00009900, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x812ce59c, 0x00009900, 0x4a013797, 0x0000f500, 0x04002804,
- 0x00006987, 0x01402004, 0x00009900, 0xffc00000, 0x00001980, 0xffffffff,
- 0x00007f86, 0x008806ec, 0x00005f80, 0x00c066c0, 0x000080c4, 0x4a074942,
- 0x00007300, 0x01000000, 0x00009980, 0x814000ec, 0x00005684, 0x00000002,
- 0x00008480, 0x4a0b37d9, 0x0000f300, 0x012ce59c, 0x00001900, 0xffc00000,
- 0x00001980, 0xffffffff, 0x00007f86, 0x008806ec, 0x00005f80, 0x00c066c0,
- 0x000080c4, 0x0100146c, 0x00001283, 0x4a114a05, 0x0000f113, 0x02006000,
- 0x00007900, 0x00008000, 0x00000980, 0x02580800, 0x00007900, 0x00004080,
- 0x00008980, 0x03400000, 0x00007900, 0x00004062, 0x00008980, 0xc1c00000,
- 0x000080e8, 0x02c00004, 0x00006180, 0x03000000, 0x00004980, 0x03800020,
- 0x00006180, 0x03c00000, 0x00004980, 0xc000039c, 0x00006582, 0x811ce39c,
- 0x00000900, 0x40000d9c, 0x00001583, 0x0000049c, 0x00009583, 0x00004bca,
- 0x00007008, 0x00004ba7, 0x0000f010, 0x00004ba7, 0x0000f010, 0x18042084,
- 0x0000e100, 0x08036463, 0x00006000, 0x1bc00787, 0x00000188, 0x04c00000,
- 0x000081d0, 0x05400000, 0x000001d8, 0x00000087, 0x00006582, 0x05c00000,
- 0x00008980, 0x00000463, 0x00009583, 0xffffffff, 0x00007f86, 0x00004a70,
- 0x00007010, 0x00004beb, 0x00007008, 0xb6ece016, 0x0000e001, 0x000ff812,
- 0x00003501, 0x043c3785, 0x00008104, 0x849ce39c, 0x00001900, 0x81c00800,
- 0x00001981, 0x0000380b, 0x0000e106, 0x08003a0e, 0x0000b106, 0x02803006,
- 0x00009900, 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff,
- 0x00007f86, 0x009010ec, 0x00005780, 0x00006000, 0x00008080, 0x40000d9c,
- 0x00001583, 0x18c02000, 0x0000e1b0, 0x18c05000, 0x00004998, 0x01400000,
- 0x0000f900, 0x001e8000, 0x00000980, 0x18f03863, 0x00009100, 0x98c00a63,
- 0x00001880, 0x04131805, 0x0000e901, 0x20382eec, 0x0000d600, 0x003cb800,
- 0x00000000, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x02400140,
- 0x00006180, 0x81002000, 0x0000c980, 0x02800000, 0x0000f900, 0x00001300,
- 0x00000980, 0x000810ec, 0x0000d780, 0x00007000, 0x00000080, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x02000000, 0x0000e180, 0x18c00e07,
- 0x00004881, 0x825ce39c, 0x00006100, 0x41000e07, 0x00004881, 0x0013680a,
- 0x0000e182, 0x8204b809, 0x00003007, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x003020ec, 0x00005702, 0x00007000, 0x00000080, 0xc000039c,
- 0x00006582, 0x82181302, 0x00000900, 0x82005c63, 0x00006081, 0x08003a9f,
- 0x0000a106, 0x18c0000a, 0x00006180, 0x5044b809, 0x00006003, 0x02c00000,
- 0x00007900, 0x00020040, 0x00008980, 0x18009000, 0x0000f900, 0x0002b140,
- 0x00008980, 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x0018c0ec,
- 0x0000d780, 0x00d07140, 0x000083c8, 0x86303808, 0x00006085, 0x00001863,
- 0x0000b106, 0x18b83702, 0x00008938, 0x004000a8, 0x00006180, 0xc0000800,
- 0x00004981, 0xc0c00000, 0x00006180, 0xc2800800, 0x0000c989, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x08003a63, 0x0000e906, 0x2dc08663,
- 0x0000f902, 0x1c600000, 0x00008005, 0x2dc38663, 0x0000a004, 0xffffffff,
- 0x00007f97, 0x00008006, 0x00009502, 0x003bec71, 0x00009503, 0xffffffff,
- 0x00007f86, 0x00004bed, 0x00007010, 0x00004b48, 0x00007010, 0x2dc08663,
- 0x00002005, 0x002bbc71, 0x00001503, 0x00004b74, 0x0000f413, 0x04000c10,
- 0x00009081, 0x2dd88663, 0x0000a806, 0x04042860, 0x0000e002, 0x0ec3e463,
- 0x0000a004, 0x18000086, 0x0000e084, 0x0c03bc11, 0x00002000, 0x7ca00411,
- 0x0000c491, 0xce801c63, 0x000092b7, 0x00003463, 0x0000f890, 0x00000000,
- 0x00000000, 0xe884057c, 0x0000f88e, 0x02400001, 0x00008060, 0xe79be36c,
- 0x00007812, 0x02400001, 0x00008000, 0x7d2bab6f, 0x00004413, 0x3a82057d,
- 0x00001295, 0x00043081, 0x0000781a, 0x00000000, 0x00000000, 0x00043081,
- 0x00007810, 0x00000000, 0x00000000, 0x00042880, 0x00007830, 0x00000000,
- 0x00008020, 0xe801057d, 0x0000f896, 0x02400001, 0x00008060, 0x64a3077f,
- 0x00004429, 0x3a83077f, 0x00001215, 0x00c0877e, 0x00004722, 0x88e1057d,
- 0x0000108c, 0x64a3077f, 0x00004429, 0x3a83077f, 0x00001215, 0xc940807e,
- 0x0000f82a, 0x02400001, 0x00000080, 0xffffffff, 0x00007f86, 0x41400d7c,
- 0x00001283, 0x18c02000, 0x00009989, 0x00004b26, 0x00007009, 0x4142057d,
- 0x00009283, 0x04042885, 0x0000e110, 0x04443086, 0x00004910, 0x000ff812,
- 0x0000e517, 0xb0000816, 0x00003411, 0x00004aac, 0x0000f008, 0x00004a33,
- 0x0000f400, 0x04ff0013, 0x0000f900, 0x003ffffe, 0x00008280, 0x81c00800,
- 0x00006181, 0x84902204, 0x00004900, 0x4141057d, 0x00006283, 0x0c03ec63,
- 0x0000a080, 0x18c06463, 0x00006080, 0x18404087, 0x00000780, 0x01440881,
- 0x00006108, 0x01400000, 0x0000c990, 0x1b031fe4, 0x0000e000, 0x83802302,
- 0x0000c780, 0x18c40080, 0x00006108, 0x18c00000, 0x0000c990, 0x0403d085,
- 0x00006002, 0x00000016, 0x00002506, 0x05c00061, 0x00007900, 0x00000200,
- 0x00000380, 0x0283d886, 0x00006004, 0x0c43ec6e, 0x00002000, 0x18c31810,
- 0x0000e102, 0x45107017, 0x00002107, 0x1800280a, 0x00006104, 0x00000016,
- 0x0000a481, 0x0140086c, 0x0000e180, 0x1b80946e, 0x00008880, 0x18831805,
- 0x00006200, 0x80000016, 0x00002481, 0x01400017, 0x0000f900, 0x00000080,
- 0x00000380, 0x05c37005, 0x0000e300, 0x0003e816, 0x0000a106, 0x01431204,
- 0x0000e000, 0x000ff812, 0x0000a507, 0x0000286c, 0x0000e502, 0x0403e015,
- 0x00002081, 0x04441883, 0x0000e100, 0x0003e816, 0x0000e081, 0x04ff0013,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x04041082, 0x00006100, 0x82c3e016,
- 0x0000e001, 0x00004a32, 0x0000f420, 0x05031863, 0x0000e100, 0x84902204,
- 0x0000c920, 0x05630460, 0x0000e101, 0x8293126c, 0x00004128, 0x07c00061,
- 0x0000f900, 0x00000200, 0x00000380, 0x18c31a0a, 0x00006002, 0x8493126c,
- 0x00008100, 0x07800000, 0x00006180, 0x98905204, 0x0000c100, 0x4510701f,
- 0x00006107, 0x0003e81e, 0x0000b106, 0x07400000, 0x00006180, 0x18000060,
- 0x0000c084, 0x0013106c, 0x0000e502, 0x0003e81e, 0x0000a081, 0x06800000,
- 0x00007900, 0x00007fc0, 0x00000980, 0x0140001f, 0x00007900, 0x00000080,
- 0x00000380, 0x0403e01d, 0x00006081, 0x82c3e01e, 0x00003001, 0x06c00000,
- 0x00006180, 0x06041082, 0x0000c900, 0x067b1f83, 0x00008130, 0x00004a33,
- 0x00007420, 0x81c01000, 0x0000e1a1, 0x86905204, 0x00004120, 0x07c37005,
- 0x00006300, 0x07630460, 0x00008901, 0x0297286c, 0x0000e200, 0x81536262,
- 0x00008100, 0x09c00061, 0x00007900, 0x00000200, 0x00000380, 0x18c05063,
- 0x0000e002, 0x09800000, 0x00000980, 0x45107027, 0x0000e107, 0x0003e826,
- 0x00003106, 0x09400000, 0x0000e180, 0x18000060, 0x0000c084, 0x0010286c,
- 0x00006502, 0x0003e826, 0x00002081, 0x08800000, 0x0000f900, 0x00007fc0,
- 0x00000980, 0x01000027, 0x00007900, 0x00000080, 0x00000380, 0x0403e025,
- 0x0000e081, 0x82c3e026, 0x0000b001, 0x0680046c, 0x0000028c, 0x083c1f82,
- 0x00000204, 0x09031863, 0x0000e100, 0x81c01800, 0x000049a1, 0x00004a33,
- 0x00007420, 0x88936262, 0x00006120, 0x09c37004, 0x00000300, 0x09630460,
- 0x0000e101, 0x8893626c, 0x00004928, 0x0bc00061, 0x0000f900, 0x00000200,
- 0x00000380, 0x0b800000, 0x00006180, 0x4510702f, 0x00006107, 0x18c05063,
- 0x0000e002, 0x0003e82e, 0x00002106, 0x0b400000, 0x00006180, 0x0003e82e,
- 0x00006081, 0x0a800000, 0x00007900, 0x00007fc0, 0x00000980, 0x0100002f,
- 0x0000f900, 0x00000080, 0x00000380, 0x81c02000, 0x00006181, 0x0403e02d,
- 0x00006081, 0x02800060, 0x00006084, 0x82c3e02e, 0x0000a001, 0x0000380b,
- 0x0000e106, 0x08003a0e, 0x0000b106, 0x0ac00000, 0x00006180, 0x0a041082,
- 0x0000c900, 0x0a7b1f83, 0x00008230, 0x00004a36, 0x0000f400, 0x8a936205,
- 0x0000e100, 0x0bc37004, 0x00008300, 0x02805706, 0x00008234, 0x18c05800,
- 0x00001981, 0x0d04a405, 0x00006806, 0x00000405, 0x00006583, 0x01006c05,
- 0x00008081, 0x01007c04, 0x00009281, 0x00001c04, 0x00009593, 0x00004bd5,
- 0x00007033, 0x00001405, 0x00001583, 0x00005c05, 0x00009593, 0x00004c0b,
- 0x00007013, 0x00004463, 0x00001583, 0x00004bfb, 0x0000701b, 0x00003c63,
- 0x00001583, 0x18c07800, 0x000019a1, 0x00004b37, 0x00007021, 0x00003463,
- 0x00009583, 0x18c09000, 0x00001989, 0x00004bff, 0x0000f011, 0x01058594,
- 0x00006281, 0x01478594, 0x00000281, 0x00018405, 0x00009583, 0x00000404,
- 0x00009593, 0x00004bd7, 0x0000700b, 0x00028405, 0x00009583, 0xc15cab95,
- 0x00006110, 0x18000000, 0x00004991, 0x00004bd7, 0x0000f009, 0x00030405,
- 0x00006583, 0x00231805, 0x0000a086, 0x18000800, 0x00009989, 0xffffffff,
- 0x00007f86, 0x82230005, 0x0000e886, 0x01400000, 0x00006180, 0x04002805,
- 0x00004900, 0x4b4849f0, 0x0000f100, 0x423880ec, 0x0000a004, 0x9c8ffa63,
- 0x0000e280, 0x04402000, 0x00000980, 0x04139011, 0x0000e901, 0xe7ace011,
- 0x0000e801, 0x04000810, 0x00006080, 0xd76ce011, 0x0000a001, 0x423880ec,
- 0x00002804, 0x80388aec, 0x00005600, 0x00000000, 0x00000280, 0x8003e2ec,
- 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000,
- 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec,
- 0x0000f902, 0x20c00000, 0x00008600, 0xc023877d, 0x00001503, 0x00004bde,
- 0x0000700b, 0x04000002, 0x00001980, 0xc4280500, 0x00001900, 0x770000ec,
- 0x00005680, 0x00388000, 0x00000000, 0x00c002ec, 0x0000df80, 0x149b100b,
- 0x00001684, 0x04402000, 0x00007900, 0x00180000, 0x00008980, 0x04139011,
- 0x0000e901, 0x80388aec, 0x00005600, 0x00000000, 0x00000280, 0x8003e2ec,
- 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec, 0x0000f902, 0x1fc00000,
- 0x00008600, 0x800402ec, 0x00007902, 0x20400000, 0x00000600, 0x800412ec,
- 0x0000f902, 0x20c00000, 0x00008600, 0x2dc38663, 0x0000a004, 0xffffffff,
- 0x00007f86, 0xffffffff, 0x00007f97, 0xf7a3877d, 0x0000f80a, 0xe2400000,
- 0x0000a58a, 0x423880ec, 0x00002084, 0x04402000, 0x00007900, 0x00140000,
- 0x00008980, 0x98cffa63, 0x00001280, 0x04131811, 0x0000e901, 0x04000810,
- 0x00009080, 0x423880ec, 0x0000a884, 0x80388aec, 0x00005600, 0x00000001,
- 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000, 0x00008600, 0x8003b2ec,
- 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec, 0x0000f902, 0x1e400000,
- 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000, 0x00000600, 0xffffffff,
- 0x00007f86, 0x002bbc71, 0x00001503, 0x00004a7f, 0x0000700b, 0x04400002,
- 0x00009980, 0xc4680500, 0x00009900, 0x770000ec, 0x00005680, 0x00388800,
- 0x00008000, 0x00c002ec, 0x0000df80, 0x149c700b, 0x00009684, 0x1c002000,
- 0x0000f900, 0x00140000, 0x00008980, 0x04131870, 0x00006901, 0x803b82ec,
- 0x0000d600, 0x00000001, 0x00000080, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000,
- 0x00000600, 0xffffffff, 0x00007f86, 0x9febbc71, 0x0000f80a, 0x42400000,
- 0x0000a58c, 0x00004b26, 0x0000f200, 0x18c04000, 0x00001981, 0x00004b26,
- 0x0000f200, 0x18c05000, 0x00009981, 0xa2dbe202, 0x0000780a, 0x02400001,
- 0x00000080, 0x18c03800, 0x00001981, 0xffffffff, 0x00007f86, 0x00004b26,
- 0x00007000, 0x4baa3844, 0x00007404, 0x013ce09c, 0x0000001d, 0xc11ce39c,
- 0x00001900, 0x00000404, 0x00001583, 0x0d04a463, 0x0000e816, 0x01406c63,
- 0x00001091, 0x00004a3b, 0x00007008, 0x00000463, 0x00006583, 0x01407c05,
- 0x00000281, 0x00001c05, 0x00001593, 0x00004c03, 0x00007033, 0x00001463,
- 0x00001583, 0x00005c63, 0x00009593, 0x00004c1a, 0x00007013, 0x00004404,
- 0x00009583, 0x00004c05, 0x0000701b, 0x00003c04, 0x00009583, 0x18c07800,
- 0x000019a1, 0x00004bbd, 0x0000f021, 0x00003404, 0x00001583, 0x18c09000,
- 0x00001989, 0x00004c09, 0x00007011, 0x01058594, 0x00006281, 0x01478594,
- 0x00000281, 0x00018405, 0x00009583, 0x00000404, 0x00009593, 0x00004c01,
- 0x0000700b, 0x00028405, 0x00009583, 0x00004c01, 0x0000700b, 0x00030405,
- 0x00006583, 0x01400000, 0x00000981, 0x01400800, 0x00009989, 0x4bca49f0,
- 0x00007500, 0x04031d95, 0x00000100, 0xc1582960, 0x00008102, 0x0000380b,
- 0x0000e106, 0xa000000d, 0x0000b402, 0x02803006, 0x0000e100, 0xe000000d,
- 0x0000e406, 0x82402000, 0x00009981, 0x814010ec, 0x0000d684, 0x00000080,
- 0x00000080, 0xffffffff, 0x00007f86, 0x009010ec, 0x00005780, 0x00006000,
- 0x00008080, 0x00004a3b, 0x0000f000, 0x00004b37, 0x0000f200, 0x18c06000,
- 0x00009981, 0x18000800, 0x00006181, 0x00231805, 0x00006086, 0x80000805,
- 0x0000ec86, 0x00004b47, 0x00007400, 0x041ca805, 0x0000e987, 0x01400000,
- 0x00006180, 0x04002805, 0x00004900, 0x2dc08663, 0x00002005, 0x2dc38e63,
- 0x00002004, 0xffffffff, 0x00007f97, 0x04000c10, 0x00009081, 0x2dd88663,
- 0x0000a806, 0x9febbc71, 0x0000f80a, 0xa2400000, 0x0000a58b, 0x00004b26,
- 0x0000f200, 0x18c02800, 0x00009981, 0x00004b26, 0x0000f200, 0x18c03000,
- 0x00009981, 0x00004b26, 0x0000f200, 0x18c04800, 0x00009981, 0x00004b26,
- 0x0000f200, 0x18ece59c, 0x00001901, 0x801bc263, 0x0000e502, 0x04000c77,
- 0x00008081, 0x2df83663, 0x00005004, 0x0013e800, 0x00000002, 0x2dd88663,
- 0x0000a806, 0x00004a7f, 0x00007008, 0x849bc378, 0x00001900, 0x2df88e12,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00008806, 0x00001502, 0x044728e5,
- 0x00001908, 0x00004a7f, 0x00007400, 0xffffffff, 0x00007f86, 0x2df88e12,
- 0x0000a884, 0x18c05463, 0x00009181, 0x00000c63, 0x00001583, 0x18c06800,
- 0x000019b1, 0x00004b37, 0x0000f031, 0x00004b37, 0x0000f200, 0x18c08800,
- 0x00009981, 0x00004bc7, 0x0000f200, 0x01400800, 0x00001981, 0x00004bbd,
- 0x00007200, 0x18c06000, 0x00009981, 0x18c05404, 0x00001181, 0x00000c63,
- 0x00001583, 0x18c06800, 0x000019b1, 0x00004bbd, 0x00007031, 0x00004bbd,
- 0x00007200, 0x18c08800, 0x00009981, 0x01202c05, 0x00001900, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02efa800, 0x00007900, 0x001ec6e4, 0x00008980, 0x01800000,
- 0x00006180, 0x08001a08, 0x00006106, 0x03000000, 0x00006180, 0xc2300600,
- 0x0000c901, 0x4c1a1e83, 0x00007500, 0x82381400, 0x00008024, 0x81c01000,
- 0x0000e180, 0x03402004, 0x00004900, 0x00004c0c, 0x0000f200, 0x01231c63,
- 0x00001900, 0x0f020405, 0x00006000, 0x0d020406, 0x0000b006, 0x84403406,
- 0x0000c3b1, 0x00804c06, 0x00008098, 0x03604406, 0x000048a9, 0x54405406,
- 0x0000828a, 0x00001c06, 0x00009583, 0x8100c000, 0x000099a0, 0x00004c4e,
- 0x00007021, 0x00000c06, 0x00001583, 0x8100a000, 0x00009990, 0x00004c4e,
- 0x00007011, 0x00004c4c, 0x0000f000, 0x00005c06, 0x00001583, 0x81012000,
- 0x0000e188, 0x03000000, 0x0000c990, 0x01203406, 0x0000e110, 0xc2300600,
- 0x00004911, 0x00004c4e, 0x0000f008, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02e38800,
- 0x0000f900, 0x003816e2, 0x00008980, 0x01800000, 0x00006180, 0x08001a08,
- 0x00006106, 0x82381400, 0x00008024, 0x81c01000, 0x0000e180, 0x03402004,
- 0x00004900, 0x4c4c1e83, 0x0000f100, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02dee000,
- 0x0000f900, 0x000c684e, 0x00000980, 0x03400000, 0x0000e180, 0x08001a08,
- 0x00006106, 0x01800000, 0x000000f0, 0x00004c3a, 0x0000f400, 0x82200500,
- 0x00008022, 0x81c01000, 0x0000e180, 0x02401002, 0x0000c900, 0x00004c4e,
- 0x0000f200, 0x81010000, 0x00009980, 0x00004c4e, 0x0000f200, 0x81026000,
- 0x00009980, 0x8101a000, 0x00009980, 0xffffffff, 0x00007f86, 0x2c224a04,
- 0x00001600, 0x810588b0, 0x00001000, 0x00000405, 0x00006583, 0x81803c49,
- 0x00000880, 0x81102749, 0x0000e010, 0x81903204, 0x00000000, 0x01402440,
- 0x0000e283, 0x81903749, 0x00008010, 0x01402410, 0x00001283, 0xffffffff,
- 0x00007f86, 0x00004c6e, 0x00007010, 0x00004c6e, 0x00007010, 0x17c0000a,
- 0x00006180, 0x97901202, 0x0000c900, 0x17001000, 0x00007900, 0x00008000,
- 0x00000980, 0x17580800, 0x0000f900, 0x000440c0, 0x00008980, 0x18002000,
- 0x00007900, 0x00040000, 0x00000980, 0x18400000, 0x00007900, 0x00010000,
- 0x00000980, 0x0010b8ec, 0x00005780, 0x00005800, 0x00000080, 0xd7981302,
- 0x00006100, 0x0000185f, 0x0000e106, 0x18800000, 0x0000e180, 0x18d02036,
- 0x00004100, 0x00004c6f, 0x0000f400, 0x04002010, 0x00006380, 0x81840206,
- 0x00008180, 0x81000802, 0x000080d6, 0x81000005, 0x000080d6, 0x02000000,
- 0x00007900, 0x001f8200, 0x00000980, 0x00000405, 0x00006583, 0x00103008,
- 0x0000a186, 0x203846ec, 0x00005600, 0x0039b800, 0x00000000, 0x93c08000,
- 0x0000e191, 0xa0000054, 0x0000e413, 0x00004c80, 0x00007008, 0xc1000f50,
- 0x0000e283, 0x00000038, 0x00002401, 0x157f8055, 0x00007900, 0x003ffffe,
- 0x00008280, 0x00004c88, 0x0000f400, 0x01800800, 0x0000e191, 0x80000050,
- 0x00006411, 0x01800000, 0x00001989, 0xc1000f50, 0x0000e283, 0xa0000054,
- 0x0000a403, 0x157f8055, 0x00007900, 0x003ffffe, 0x00008280, 0x00000838,
- 0x00006401, 0x80000050, 0x00003411, 0x01800000, 0x00006189, 0x01800800,
- 0x0000c991, 0x02400140, 0x00006180, 0x20000e38, 0x00006400, 0x81000e38,
- 0x00006283, 0x5041b809, 0x0000a003, 0x02000160, 0x00006180, 0x8201b809,
- 0x00006007, 0x82181302, 0x0000e100, 0x81400000, 0x00004990, 0x00004c96,
- 0x0000f010, 0x81002638, 0x00009283, 0x817ffa50, 0x0000f910, 0x0000000e,
- 0x00008280, 0x817ffb4f, 0x0000f908, 0x0000000e, 0x00008280, 0x02800000,
- 0x0000f900, 0x00004000, 0x00000980, 0x81000e38, 0x00006283, 0xffc00000,
- 0x00008980, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x0dc00000,
- 0x0000e180, 0x0010280a, 0x00006182, 0x01400000, 0x00006191, 0x01420000,
- 0x0000c989, 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x000810ec,
- 0x0000d780, 0x00d07340, 0x000080c0, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x02c00020, 0x00006180, 0x00001837, 0x00006106, 0x0d009000,
- 0x00007900, 0x0002b100, 0x00000980, 0x0d400000, 0x0000f900, 0x00018030,
- 0x00008980, 0x001070ec, 0x0000d780, 0x00d07400, 0x000083c0, 0x0d801002,
- 0x0000e100, 0xc0001837, 0x0000e006, 0x0e400000, 0x000003e8, 0x0ec00000,
- 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000, 0x000083e0, 0x82a02c05,
- 0x0000e101, 0x80602406, 0x0000c001, 0x40e01401, 0x000080c3, 0x008806ec,
- 0x00005f80, 0x00c06100, 0x000000c4, 0x01001410, 0x00006283, 0x15024048,
- 0x00008900, 0x157a5749, 0x00000518, 0x15fa674b, 0x00008520, 0x167a774d,
- 0x00000528, 0x16fa274f, 0x00000500, 0x147a3745, 0x00000508, 0x14f9e747,
- 0x00000420, 0x1279f73d, 0x00000428, 0x12fa073f, 0x00000430, 0x137a1741,
- 0x00000438, 0x13f9c743, 0x00008410, 0x1179d739, 0x00000418, 0x11f9a73b,
- 0x00008400, 0x4cca4c1c, 0x0000f510, 0x1079b735, 0x00000408, 0x10c1b837,
- 0x00001900, 0x01007b48, 0x00006080, 0x01807b48, 0x00008080, 0x02000000,
- 0x00007900, 0x00200000, 0x00000980, 0x01002004, 0x00006784, 0x01802006,
- 0x00000784, 0x82005c04, 0x0000e081, 0x02400140, 0x00008980, 0x81004000,
- 0x0000e180, 0x82021809, 0x00006007, 0x01400000, 0x0000f900, 0x001e8000,
- 0x00000980, 0x81103204, 0x00006100, 0x0dc0000a, 0x00000980, 0x04102005,
- 0x0000e101, 0x50421809, 0x00003003, 0x81002800, 0x00006180, 0x00001837,
- 0x00006106, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x20382eec,
- 0x0000d600, 0x003a1800, 0x00000000, 0x0e000000, 0x0000e180, 0x82203204,
- 0x00006086, 0x02800000, 0x0000f900, 0x00005300, 0x00008980, 0x003bf800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x003020ec, 0x00005702, 0x00007000,
- 0x00000080, 0x02c00000, 0x00007900, 0x00020000, 0x00000980, 0x0d009000,
- 0x00007900, 0x0002b140, 0x00008980, 0x0d400000, 0x0000f900, 0x00018030,
- 0x00008980, 0x0e400000, 0x00006180, 0x001a400a, 0x0000e182, 0x000810ec,
- 0x0000d780, 0x00d07340, 0x00000580, 0x0e800000, 0x000083ec, 0x0f000000,
- 0x000083f4, 0x0f800000, 0x000083fc, 0x0d801002, 0x0000e100, 0x004000a8,
- 0x00004980, 0x82200002, 0x0000008d, 0xc0000800, 0x00001981, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x0d042405, 0x0000e806, 0xa0003405,
- 0x000043b1, 0x00804c05, 0x00008098, 0xc3204405, 0x000048a8, 0x50405405,
- 0x0000028a, 0x00001c05, 0x00009583, 0x8180c000, 0x000019a0, 0x00004d29,
- 0x00007021, 0x00000c05, 0x00001583, 0x8180a000, 0x00001990, 0x00004d29,
- 0x00007011, 0x00004d28, 0x0000f000, 0x00005c05, 0x00001583, 0x81812000,
- 0x00006188, 0x01202c05, 0x0000c910, 0x01c00000, 0x0000f910, 0x00010040,
- 0x00008980, 0x00004d29, 0x0000f008, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02e38800, 0x0000f900, 0x003816e2, 0x00008980, 0x01800000,
- 0x00006180, 0x08001a08, 0x00006106, 0x03001000, 0x000080dd, 0x82200500,
- 0x00008022, 0x03781704, 0x00008024, 0x4d281e83, 0x0000f100, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02dee000, 0x0000f900, 0x000c684e, 0x00000980, 0x03400000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x01800000, 0x000000f0, 0x00004d16,
- 0x0000f400, 0x82200500, 0x00008022, 0x81c01000, 0x0000e180, 0x02401002,
- 0x0000c900, 0x00004d29, 0x0000f200, 0x81810000, 0x00001980, 0x00004d29,
- 0x0000f200, 0x81826000, 0x00001980, 0x8181a000, 0x00001980, 0x01002484,
- 0x0000e283, 0x81440206, 0x00000080, 0x0100246c, 0x00001283, 0xffffffff,
- 0x00007f86, 0x00004d49, 0x0000f010, 0x00004d49, 0x0000f010, 0x28c0000a,
- 0x00006180, 0xa8901202, 0x0000c900, 0x28001000, 0x00007900, 0x00008000,
- 0x00000980, 0x28580800, 0x0000f900, 0x000440c0, 0x00008980, 0x29002000,
- 0x0000f900, 0x00040000, 0x00000980, 0x29400000, 0x0000f900, 0x00010000,
- 0x00000980, 0xe8981302, 0x00006100, 0x000018a3, 0x0000e106, 0x29800000,
- 0x00006180, 0x29d03086, 0x0000c100, 0x1b00206c, 0x00009380, 0x814010ec,
- 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x009140ec,
- 0x0000d780, 0x00005800, 0x00000080, 0xffffffff, 0x00007fa7, 0x814000ec,
- 0x00005684, 0x00000002, 0x00008480, 0x00004d4a, 0x0000f400, 0x01400c06,
- 0x000080a2, 0x01001000, 0x00009981, 0x81000005, 0x000000e2, 0x01c00000,
- 0x00007900, 0x001f8100, 0x00000980, 0x00000408, 0x0000e583, 0x00102807,
- 0x0000a186, 0x20383eec, 0x00005600, 0x003c3800, 0x00008000, 0xa4c08000,
- 0x00006191, 0xa0000098, 0x0000e413, 0x00004d5b, 0x0000f008, 0xc1000f94,
- 0x00006283, 0x00000088, 0x0000a401, 0x267f8099, 0x00007900, 0x003ffffe,
- 0x00008280, 0x00004d63, 0x00007400, 0x01800800, 0x0000e191, 0x80000094,
- 0x0000e411, 0x01800000, 0x00001989, 0xc1000f94, 0x00006283, 0xa0000098,
- 0x0000a403, 0x267f8099, 0x00007900, 0x003ffffe, 0x00008280, 0x00000888,
- 0x0000e401, 0x80000094, 0x0000b411, 0x01800000, 0x00006189, 0x01800800,
- 0x0000c991, 0x02400140, 0x00006180, 0x20000e88, 0x0000e400, 0x81000e88,
- 0x0000e283, 0x50443809, 0x00002003, 0x02000160, 0x00006180, 0x82043809,
- 0x0000e007, 0x22062000, 0x00006181, 0x81400000, 0x00004990, 0x00004d72,
- 0x0000f210, 0x82181302, 0x00009900, 0x81002688, 0x00001283, 0x817ffa94,
- 0x00007910, 0x0000000e, 0x00008280, 0x817ffb93, 0x00007908, 0x0000000e,
- 0x00008280, 0x02800000, 0x0000f900, 0x00004000, 0x00000980, 0x81000e88,
- 0x0000e283, 0xffc00000, 0x00008980, 0x003fd800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x18c00000, 0x00006180, 0x0010280a, 0x00006182, 0x01400000,
- 0x00006191, 0x01420000, 0x0000c989, 0x00400000, 0x00007900, 0x00008010,
- 0x00008980, 0x000810ec, 0x0000d780, 0x00d07600, 0x000000c0, 0x003bf800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x02c00020, 0x00006180, 0x00001863,
- 0x0000e106, 0x18009000, 0x0000f900, 0x0002b100, 0x00000980, 0x18400000,
- 0x00007900, 0x00018030, 0x00008980, 0x0010e8ec, 0x00005780, 0x00d07040,
- 0x000003c8, 0x18801002, 0x00006100, 0xc0001863, 0x00006006, 0x1d000000,
- 0x000087d4, 0x1d800000, 0x000087dc, 0x1e000000, 0x000087e4, 0x1e800000,
- 0x000087ec, 0x82a02c05, 0x0000e101, 0x80602406, 0x0000c001, 0x40e01401,
- 0x000080c3, 0x008806ec, 0x00005f80, 0x00c066c0, 0x000080c4, 0x0100146c,
- 0x00001283, 0x4d974cfb, 0x00007113, 0x00002c77, 0x00009583, 0x00003477,
- 0x00009583, 0x00003c77, 0x00001583, 0x00004dfa, 0x00007008, 0x00004e27,
- 0x00007008, 0x00004dc8, 0x0000f008, 0x81806000, 0x0000e180, 0x02400140,
- 0x00004980, 0x01007a06, 0x0000e080, 0x82043809, 0x00002007, 0x02000000,
- 0x00007900, 0x00200000, 0x00000980, 0x01002004, 0x00006784, 0x18c0000a,
- 0x00008980, 0x02800000, 0x0000f900, 0x00005300, 0x00008980, 0x82005c04,
- 0x0000e081, 0x0010300a, 0x0000a182, 0x81002000, 0x0000e180, 0x50443809,
- 0x0000e003, 0x01800000, 0x0000f900, 0x001e8000, 0x00000980, 0x81000a04,
- 0x0000e180, 0x00001863, 0x00002106, 0x000810ec, 0x0000d780, 0x00d07100,
- 0x000080c0, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x04800000,
- 0x00006180, 0x04102006, 0x0000e101, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x203836ec, 0x0000d600, 0x003c3800, 0x00008000, 0x02c00000,
- 0x00007900, 0x00020000, 0x00000980, 0x18009000, 0x0000f900, 0x0002b140,
- 0x00008980, 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x0018c0ec,
- 0x0000d780, 0x00d07040, 0x000003c8, 0x047bcf74, 0x00000100, 0x04f81778,
- 0x00008608, 0x004000a8, 0x00006180, 0x82181302, 0x0000c900, 0xc0200401,
- 0x000000cd, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x000810ec,
- 0x0000d780, 0x00d07100, 0x00008280, 0x04000000, 0x000081c4, 0x05800000,
- 0x000081e0, 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000,
- 0x000001f8, 0x07c00000, 0x0000e180, 0x04c3d07a, 0x00004900, 0x04bbc779,
- 0x00000114, 0x053bf77f, 0x0000811c, 0x8181a000, 0x00001980, 0x01407a06,
- 0x00006080, 0x02400140, 0x00008980, 0x02000000, 0x00007900, 0x00200000,
- 0x00000980, 0x01402005, 0x00006784, 0x82043809, 0x00002007, 0x02800000,
- 0x0000f900, 0x00005300, 0x00008980, 0x82005c05, 0x00006081, 0x0010300a,
- 0x0000a182, 0x81402000, 0x00006180, 0x18c0000a, 0x00004980, 0x01800000,
- 0x0000f900, 0x001e8000, 0x00000980, 0x81002205, 0x00006180, 0x50443809,
- 0x00002003, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x04102006,
- 0x0000e101, 0x00001863, 0x0000b106, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x203836ec, 0x0000d600, 0x003c3800, 0x00008000, 0x02c00000,
- 0x00007900, 0x00020000, 0x00000980, 0x18009000, 0x0000f900, 0x0002b140,
- 0x00008980, 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x0018c0ec,
- 0x0000d780, 0x00d07040, 0x000003c8, 0x18801002, 0x00006100, 0x004000a8,
- 0x00004980, 0x82200002, 0x0000008d, 0xc0000800, 0x00001981, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x8180e000, 0x00006180, 0x02400140,
- 0x00004980, 0x01407a06, 0x00006080, 0x82043809, 0x00002007, 0x02000000,
- 0x00007900, 0x00200000, 0x00000980, 0x01402005, 0x00006784, 0x18c0000a,
- 0x00008980, 0x02800000, 0x0000f900, 0x00005300, 0x00008980, 0x82005c05,
- 0x00006081, 0x0010300a, 0x0000a182, 0x81402000, 0x00006180, 0x50443809,
- 0x0000e003, 0x01800000, 0x0000f900, 0x001e8000, 0x00000980, 0x81001205,
- 0x00006180, 0x00001863, 0x00002106, 0x000810ec, 0x0000d780, 0x00d07100,
- 0x00008180, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x04000000,
- 0x0000e180, 0x04102006, 0x0000e101, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x203836ec, 0x0000d600, 0x003c3800, 0x00008000, 0x02c00000,
- 0x00007900, 0x00020000, 0x00000980, 0x18009000, 0x0000f900, 0x0002b140,
- 0x00008980, 0x18400000, 0x00007900, 0x00018030, 0x00008980, 0x0018c0ec,
- 0x0000d780, 0x00d07040, 0x000003c8, 0x04c00000, 0x000001d8, 0x057bcf7a,
- 0x00008110, 0x05fc4f78, 0x00008108, 0x04781788, 0x00000608, 0x004000a8,
- 0x00006180, 0x82181302, 0x0000c900, 0xc0200401, 0x000000cd, 0x008806ec,
- 0x00005f80, 0x00006000, 0x00000084, 0x000810ec, 0x0000d780, 0x00d07100,
- 0x00008280, 0x04400002, 0x000001f0, 0x07800000, 0x000081fc, 0x043bd788,
- 0x0000810c, 0x04bbc779, 0x00000114, 0x053bf77f, 0x0000811c, 0x05bf2fe5,
- 0x00000124, 0x063be77d, 0x0000812c, 0x00004dd4, 0x00007400, 0x06bf2fe5,
- 0x00008134, 0x8181a000, 0x00001980, 0x17c08010, 0x0000e100, 0x00208806,
- 0x00006086, 0x82288806, 0x00006886, 0x04188806, 0x0000e987, 0x01c03006,
- 0x00001900, 0x17064000, 0x00007900, 0x001320ce, 0x00000980, 0x17803807,
- 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902, 0x01000000,
- 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100, 0x00002004,
- 0x0000e586, 0x17403006, 0x00006100, 0x04288804, 0x00006087, 0x4e461f46,
- 0x00007500, 0x86208804, 0x00006887, 0x16c02004, 0x00001900, 0xcde09411,
- 0x0000c389, 0x00809411, 0x00008098, 0x03207411, 0x0000c598, 0x03406411,
- 0x000000a3, 0xcf80bc11, 0x00004199, 0x0080ac11, 0x000080a0, 0x03209c11,
- 0x0000c890, 0x6060cc11, 0x0000078a, 0x00005c11, 0x00001583, 0x03000000,
- 0x0000e188, 0x03400000, 0x00004988, 0x03c00000, 0x0000e188, 0x03800000,
- 0x00004988, 0x00004e7c, 0x0000f008, 0x01c00000, 0x00007900, 0x00010040,
- 0x00008980, 0x02a28800, 0x0000f900, 0x00373a8e, 0x00000980, 0x02f82800,
- 0x0000f900, 0x00280a2c, 0x00000980, 0x03000000, 0x00006180, 0x08001a08,
- 0x00006106, 0x82200500, 0x00008022, 0x4e7c1e83, 0x0000f500, 0x02788702,
- 0x00008034, 0x81c02800, 0x00006180, 0x01808811, 0x0000c900, 0x00007c11,
- 0x00009583, 0x00004e7c, 0x0000f400, 0x0000c00c, 0x00006808, 0xc318c318,
- 0x00001908, 0x0000a411, 0x00009583, 0x02000800, 0x00001989, 0x00004e7d,
- 0x0000f009, 0x00004e54, 0x00007000, 0x0000cc11, 0x00001583, 0x1380780f,
- 0x0000e128, 0x1000100c, 0x0000642a, 0x00004e7c, 0x0000f029, 0x9500d411,
- 0x00007893, 0x02400001, 0x00000080, 0x14c0000a, 0x00006180, 0x94901202,
- 0x0000c900, 0x14001000, 0x00007900, 0x00008000, 0x00000980, 0x14580800,
- 0x0000f900, 0x00044040, 0x00000980, 0x0010a0ec, 0x00005780, 0x00005800,
- 0x00000080, 0xd4981302, 0x00006100, 0x00001853, 0x0000e106, 0x00004e7c,
- 0x0000f400, 0x15000004, 0x000005d4, 0x15c00000, 0x000085d8, 0x02000000,
- 0x00001981, 0x00000408, 0x0000e583, 0x01400220, 0x00008980, 0x02c00000,
- 0x0000e180, 0x82000000, 0x0000c990, 0x82038000, 0x00006188, 0x8200a005,
- 0x0000e007, 0x01800000, 0x0000f900, 0x00004000, 0x00000980, 0x01000240,
- 0x0000e180, 0x0000180b, 0x00006106, 0x02400000, 0x0000f900, 0x00018008,
- 0x00000980, 0x001008ec, 0x0000d780, 0x00d07100, 0x00008880, 0x00400000,
- 0x00007900, 0x00008110, 0x00000980, 0x557f1005, 0x00006003, 0x00104006,
- 0x0000b182, 0x01c00000, 0x0000e180, 0xc000180b, 0x0000e006, 0x02009000,
- 0x00007900, 0x00047080, 0x00000980, 0x02a81402, 0x00008028, 0xc0001000,
- 0x00006181, 0x81181302, 0x0000c900, 0xc0c00800, 0x00009980, 0x008806ec,
- 0x00005f80, 0x00c060c0, 0x000080c4, 0x17c0600c, 0x0000e100, 0x00206806,
- 0x0000e086, 0x82286806, 0x0000e886, 0x04186806, 0x00006987, 0x01c03006,
- 0x00001900, 0x1726d800, 0x00007900, 0x00373a8e, 0x00000980, 0x17803807,
- 0x00001900, 0xffffffff, 0x00007ff7, 0x82c02cec, 0x00007902, 0x01000000,
- 0x00000604, 0xffffffff, 0x00007fa7, 0x01802805, 0x0000e100, 0x00002004,
- 0x0000e586, 0x17403006, 0x00006100, 0x04286804, 0x0000e087, 0x4eac1f46,
- 0x0000f500, 0x86206804, 0x0000e887, 0x16c02004, 0x00001900, 0xdb60340d,
- 0x00004199, 0x00802c0d, 0x000080a0, 0x08200c0d, 0x00004588, 0x0040140d,
- 0x0000838a, 0xbbc03c0d, 0x0000f88b, 0x12400000, 0x0000a787, 0x4eb52325,
- 0x00007404, 0x0ff87f0e, 0x00000338, 0x10009900, 0x00009980, 0x00000c3a,
- 0x00001583, 0x01c00000, 0x0000f908, 0x00010000, 0x00000980, 0x03400000,
- 0x00006188, 0x01800000, 0x0000c988, 0x00004ec6, 0x00007010, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x02c06000, 0x00007900, 0x002e5876,
- 0x00008980, 0x03000000, 0x00006180, 0x08001a08, 0x00006106, 0x81c01000,
- 0x0000e180, 0x81e1d43a, 0x00004901, 0x00004eee, 0x00007400, 0x82200500,
- 0x00008022, 0x02401002, 0x00009900, 0x30102041, 0x0000a082, 0xffffffff,
- 0x00007fa7, 0x00000c04, 0x00009583, 0x817f1fe3, 0x00009910, 0x30202841,
- 0x0000a089, 0x00004ece, 0x0000f010, 0xffffffff, 0x00007f97, 0x81408405,
- 0x00009080, 0x01280000, 0x00009980, 0x4ed21a85, 0x0000f404, 0x04102804,
- 0x0000e987, 0x02c02004, 0x00001900, 0x01100800, 0x00009980, 0x4ed61a85,
- 0x00007404, 0x04102804, 0x0000e987, 0x02c02004, 0x00001900, 0x01000000,
- 0x00009980, 0x4eef3704, 0x00007500, 0x00186004, 0x00006986, 0x06002004,
- 0x00009900, 0x00004eef, 0x00007000, 0x06c728e5, 0x0000e100, 0x0e408404,
- 0x0000e000, 0x01009404, 0x00001880, 0x4eef2351, 0x00007404, 0x01406004,
- 0x00001300, 0x07402805, 0x00009900, 0x00004eef, 0x00007000, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x0180600c, 0x0000e100, 0x08001a08,
- 0x00006106, 0x02a8f800, 0x00007900, 0x00373a8e, 0x00000980, 0x02fa9000,
- 0x00007900, 0x0016f7fa, 0x00008980, 0x0168070d, 0x00000022, 0x82381400,
- 0x00008024, 0x41c00005, 0x000000f0, 0x01b83705, 0x00008034, 0x4eef1e83,
- 0x00007100, 0x01400000, 0x0000f900, 0x00020100, 0x00008980, 0x010000a0,
- 0x0000e180, 0x02800000, 0x00004980, 0x01839000, 0x0000f900, 0x00004000,
- 0x00000980, 0x02009000, 0x00007900, 0x000130c0, 0x00000980, 0x02400000,
- 0x0000f900, 0x00010030, 0x00000980, 0x01c00000, 0x0000e180, 0x557f1005,
- 0x00006003, 0x02c0000a, 0x0000e180, 0x81181302, 0x0000c900, 0xc2981302,
- 0x00009900, 0x00880eec, 0x0000df80, 0x00007001, 0x00000084, 0x1878c719,
- 0x00000600, 0x1880d01a, 0x00006100, 0x00230809, 0x0000e086, 0x18c0d81b,
- 0x0000e100, 0x822b0809, 0x00006086, 0x1900e01c, 0x00006100, 0x041b0809,
- 0x0000e187, 0x02b8ef09, 0x00000614, 0x17039800, 0x00007900, 0x00373a90,
- 0x00000980, 0x19b8ff1e, 0x0000061c, 0x1a390f20, 0x00000624, 0x1ab91f22,
- 0x0000062c, 0x14388f10, 0x00000504, 0x14b89f12, 0x0000050c, 0x1538af14,
- 0x00000514, 0x15b8bf16, 0x0000051c, 0x17b8c70a, 0x0000853c, 0x82c02cec,
- 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x02402805,
- 0x0000e100, 0x00002004, 0x0000e586, 0x17404809, 0x00006100, 0x042b0804,
- 0x0000e087, 0x4f1c1f46, 0x0000f500, 0x86230804, 0x0000e887, 0x16c02004,
- 0x00001900, 0x4f1d4364, 0x0000f004, 0x16400000, 0x0000f900, 0x00020100,
- 0x00008980, 0x160000a0, 0x0000e180, 0x17800000, 0x0000c980, 0x16839000,
- 0x0000f900, 0x00004000, 0x00000980, 0x17009000, 0x0000f900, 0x000130c0,
- 0x00000980, 0x17400000, 0x00007900, 0x00010030, 0x00000980, 0x16c00000,
- 0x0000e180, 0x557f1059, 0x00006003, 0x17c0000a, 0x00006180, 0x96181302,
- 0x0000c900, 0xd7981302, 0x00001900, 0x0088b6ec, 0x0000df80, 0x00007001,
- 0x00000084, 0xffc00000, 0x00006180, 0x01400040, 0x0000c980, 0x01000060,
- 0x0000e180, 0x8200d805, 0x0000e007, 0x02c0000a, 0x0000e180, 0x5040d805,
- 0x0000e003, 0x01800000, 0x0000f900, 0x00004000, 0x00000980, 0x02009000,
- 0x00007900, 0x0000b180, 0x00000980, 0x02400000, 0x0000f900, 0x00018030,
- 0x00008980, 0x01c00000, 0x0000e180, 0x0000180b, 0x00006106, 0x81381002,
- 0x00008028, 0x00900eec, 0x0000df80, 0x00d07180, 0x000080c4, 0x01007d18,
- 0x00009281, 0x00006404, 0x00001583, 0x4f424f2e, 0x0000f10b, 0x81800e1c,
- 0x0000e283, 0x01400140, 0x00008980, 0x01000160, 0x00006180, 0x5040d805,
- 0x0000e003, 0x81800000, 0x00006190, 0x8200d805, 0x0000e007, 0x00004f53,
- 0x00007210, 0x01c00000, 0x0000e191, 0x81181302, 0x0000c900, 0x8180261c,
- 0x00001283, 0x81fffa28, 0x00007910, 0x0000000e, 0x00008280, 0x81fffb27,
- 0x0000f908, 0x0000000e, 0x00008280, 0x00000006, 0x00006d86, 0x01c20000,
- 0x0000e181, 0x00103806, 0x0000e182, 0x02e80000, 0x000000d9, 0x02400000,
- 0x0000f900, 0x00018000, 0x00008980, 0x0000180b, 0x00006106, 0xd368e009,
- 0x00003004, 0x02009000, 0x00007900, 0x0002b100, 0x00000980, 0x02801002,
- 0x0000e100, 0xc000180b, 0x0000e006, 0x01c00020, 0x00006180, 0x81a03c07,
- 0x0000c901, 0x00900eec, 0x0000df80, 0x00d07100, 0x000084c4, 0x01800000,
- 0x0000f900, 0x00001280, 0x00000980, 0xc0000316, 0x0000e582, 0x84000000,
- 0x00008980, 0x08000000, 0x0000e180, 0x0018b006, 0x00006182, 0x84000800,
- 0x00006190, 0x02000000, 0x0000c980, 0xc0000316, 0x0000e582, 0x02400000,
- 0x00008980, 0x02800000, 0x00006180, 0x8818b316, 0x0000c900, 0xc1800800,
- 0x0000e189, 0xd760c020, 0x00006001, 0x00000410, 0x0000e583, 0x01400140,
- 0x00008980, 0x000810ec, 0x00005790, 0x00007000, 0x00000080, 0x0200d01a,
- 0x0000e110, 0x0240d81b, 0x00004910, 0x8298b316, 0x0000e110, 0xe7a0b820,
- 0x00006001, 0x00000416, 0x0000e583, 0xc0c00800, 0x00000980, 0x07823000,
- 0x0000f910, 0x00195c08, 0x00008980, 0x07823000, 0x0000f908, 0x00195c48,
- 0x00000980, 0x01000000, 0x000001cc, 0x40001517, 0x0000e583, 0x8158b316,
- 0x00008900, 0x000808ec, 0x0000d780, 0x00d07100, 0x00000380, 0x00001813,
- 0x00006106, 0x8200a805, 0x00003007, 0x81181302, 0x0000e100, 0x81005c10,
- 0x00004081, 0x88001000, 0x0000e189, 0xc0001813, 0x0000e006, 0x00400000,
- 0x00007900, 0x00008110, 0x00000980, 0x04400000, 0x0000f900, 0x00018008,
- 0x00000980, 0x07090000, 0x00007900, 0x00135410, 0x00000980, 0x07429000,
- 0x00007900, 0x00125108, 0x00008980, 0x07eb2800, 0x00007900, 0x001c985a,
- 0x00008980, 0x000058ec, 0x00005780, 0x00007001, 0x00008080, 0x5040a805,
- 0x00006003, 0x86208004, 0x0000b085, 0x8358bb17, 0x0000e100, 0xc0000820,
- 0x0000e409, 0x04009000, 0x00007900, 0x0002b1c0, 0x00000980, 0xc0001000,
- 0x00006181, 0x01c00020, 0x00004980, 0x02c00000, 0x0000e180, 0x04801002,
- 0x0000c900, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x08400000,
- 0x000002c8, 0x88000800, 0x0000e191, 0x08c00000, 0x0000c980, 0x008806ec,
- 0x00005f80, 0x00c060c0, 0x000080c4, 0x27c0000a, 0x00006180, 0xa7901202,
- 0x0000c900, 0x27001000, 0x00007900, 0x00008000, 0x00000980, 0x27580800,
- 0x0000f900, 0x000440c0, 0x00008980, 0x28002000, 0x00007900, 0x00040000,
- 0x00000980, 0x28400000, 0x00007900, 0x00010000, 0x00000980, 0x001138ec,
- 0x00005780, 0x00005800, 0x00000080, 0xe7981302, 0x00006100, 0x0000189f,
- 0x0000e106, 0x00000001, 0x00007480, 0x28800000, 0x0000e180, 0x28c49092,
- 0x0000c900, 0x1b00206c, 0x00009380, 0x0140146c, 0x00006283, 0x1c000000,
- 0x00000980, 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180, 0x01000d87,
- 0x00004281, 0x0000501b, 0x00007010, 0x00004c87, 0x00006583, 0x41400000,
- 0x00008981, 0x41000000, 0x00009981, 0x00005019, 0x00007009, 0x00004487,
- 0x00001583, 0x00005017, 0x0000700b, 0x4fc332a5, 0x00007004, 0x03282d05,
- 0x00001901, 0xff000607, 0x00004291, 0xcc800404, 0x00009397, 0x0e800504,
- 0x00007892, 0x02800001, 0x00008000, 0x20607607, 0x00004388, 0x00a07607,
- 0x00008098, 0x22202e07, 0x0000c388, 0x00a02e07, 0x000000b0, 0x2d805e07,
- 0x00004388, 0x00a05e07, 0x00008098, 0x3da04e07, 0x0000c588, 0x9e005607,
- 0x00008796, 0x2d806607, 0x0000c588, 0x9de06e07, 0x00008c92, 0x33801607,
- 0x00004388, 0x00a01607, 0x000080b0, 0x35401e07, 0x0000c588, 0x1da02607,
- 0x00000b91, 0x36e00e07, 0x0000c788, 0x9d80a607, 0x0000178a, 0x25c0a607,
- 0x0000c198, 0x00a08e07, 0x00008088, 0x23e08e07, 0x00004198, 0x00a07e07,
- 0x00008088, 0x12c08607, 0x00004788, 0x1d209607, 0x0000978f, 0x19209e07,
- 0x00004788, 0x9d00be07, 0x0000908b, 0x3940be07, 0x0000c198, 0x00a0ae07,
- 0x00000088, 0x1b40b607, 0x0000c788, 0x1cc0c607, 0x00009f8e, 0x6b80ce07,
- 0x0000f892, 0x9a800000, 0x00002886, 0x0000040c, 0x00006583, 0x01403000,
- 0x00000981, 0x200006ec, 0x0000d680, 0x003c98c0, 0x00003d00, 0x0000500e,
- 0x00007009, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
- 0x00007900, 0x00008010, 0x00008980, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0xc0c00800, 0x0000e180, 0x0e03606c, 0x00004900, 0x0e7b776d,
- 0x00000328, 0x0ef02f6f, 0x00000005, 0xc0001000, 0x00001981, 0x008806ec,
- 0x00005f80, 0x00c06380, 0x000000c4, 0x40000505, 0x00006583, 0x02400040,
- 0x00000980, 0x000810ec, 0x0000d780, 0x00d07600, 0x000000c0, 0x02000060,
- 0x0000e180, 0x82049809, 0x0000e007, 0x18c0000a, 0x00006180, 0x50449809,
- 0x0000e003, 0x02800000, 0x0000f900, 0x00004000, 0x00000980, 0x18009000,
- 0x0000f900, 0x0000b180, 0x00000980, 0x18400000, 0x00007900, 0x00018030,
- 0x00008980, 0x000920ec, 0x00005780, 0x00007000, 0x00000080, 0x01402800,
- 0x0000e181, 0x00001863, 0x0000e106, 0x00004feb, 0x00007410, 0x02c00000,
- 0x0000e180, 0x18801002, 0x00004900, 0x82181302, 0x00009900, 0x003fd800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x00400008, 0x00006180, 0xc0c00000, 0x00004980, 0x40600e05,
- 0x00008083, 0x008806ec, 0x00005f80, 0x00006000, 0x00000084, 0x4fc331cf,
- 0x00007004, 0x00004fc3, 0x00007000, 0x4fc33063, 0x0000f004, 0x00004fc3,
- 0x00007000, 0x0100246c, 0x00001283, 0x200006ec, 0x0000d680, 0x003c98c0,
- 0x00003d00, 0x0e048408, 0x0000e816, 0x0000502c, 0x0000f008, 0x50223831,
- 0x0000f300, 0x01604408, 0x00009900, 0x003fd800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x00400000, 0x00007900, 0x00008010, 0x00008980, 0x003bf800,
- 0x0000f900, 0x003ffffe, 0x00008280, 0x40c03401, 0x000000c7, 0xc0001000,
- 0x00001981, 0x008806ec, 0x00005f80, 0x00c066c0, 0x000080c4, 0x502d4fa4,
- 0x00007100, 0x50303831, 0x0000f500, 0x0e048408, 0x00006806, 0x01604408,
- 0x00009900, 0x003fd800, 0x0000f900, 0x003ffffe, 0x00008280, 0x00400000,
- 0x00007900, 0x00008010, 0x00008980, 0x003bf800, 0x0000f900, 0x003ffffe,
- 0x00008280, 0x40c01c01, 0x000000c7, 0xc0001000, 0x00001981, 0x008806ec,
- 0x00005f80, 0x00c066c0, 0x000080c4, 0x8003a2ec, 0x0000f902, 0x1d400000,
- 0x00008600, 0x8003b2ec, 0x00007902, 0x1dc00000, 0x00000600, 0x8003c2ec,
- 0x0000f902, 0x1e400000, 0x00008600, 0x8003d2ec, 0x00007902, 0x1ec00000,
- 0x00000600, 0x8003e2ec, 0x00007902, 0x1f400000, 0x00000600, 0x8003f2ec,
- 0x0000f902, 0x1fc00000, 0x00008600, 0x00004fc8, 0x00007400, 0x800402ec,
- 0x00007902, 0x20400000, 0x00000600, 0x800412ec, 0x0000f902, 0x20c00000,
- 0x00008600, 0x82371ee3, 0x00009900, 0x42004408, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00020408, 0x00009583, 0x000050fb, 0x00007033, 0x01007d90,
- 0x00006281, 0x01400800, 0x00000980, 0x00005404, 0x0000e583, 0x1bc84800,
- 0x00000980, 0x01001000, 0x00006189, 0x01000800, 0x00004991, 0xdbdc8b91,
- 0x0000e100, 0x1b00106c, 0x0000c380, 0x505b3804, 0x00007500, 0xc1602404,
- 0x00009900, 0x02002805, 0x00001900, 0x505c4fa4, 0x00007100, 0x02400040,
- 0x0000e180, 0x02000060, 0x0000c980, 0x000810ec, 0x0000d780, 0x00d07600,
- 0x000000c0, 0x18c0000a, 0x00006180, 0x82049809, 0x0000e007, 0x50449809,
- 0x0000e003, 0x80016090, 0x0000b482, 0x02800000, 0x0000f900, 0x00004000,
- 0x00000980, 0x18009000, 0x0000f900, 0x0000b180, 0x00000980, 0x18400000,
- 0x00007900, 0x00018030, 0x00008980, 0x000920ec, 0x00005780, 0x00007000,
- 0x00000080, 0x01000800, 0x0000e181, 0x00001863, 0x0000e106, 0x81400002,
- 0x000080ec, 0x82381002, 0x00000608, 0xfac00404, 0x00007893, 0x72400000,
- 0x00002880, 0x82371ee3, 0x00009900, 0x42004408, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00020408, 0x00009583, 0x0ec3e404, 0x0000e034, 0x0800300e,
- 0x0000b236, 0x03000000, 0x000061b0, 0x01c00020, 0x000049b0, 0x00005050,
- 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02ce0800,
- 0x00007900, 0x001d4b7e, 0x00008980, 0x81c01000, 0x00009980, 0xc1c02000,
- 0x0000e181, 0x08001a08, 0x00006106, 0x82200500, 0x00008022, 0xc3781004,
- 0x00000024, 0x0180700e, 0x00009900, 0x50861e83, 0x00007100, 0x82371ee3,
- 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408,
- 0x00009583, 0x0dc44404, 0x0000e030, 0x0800300e, 0x0000b236, 0x03000000,
- 0x000061b0, 0x01c00020, 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x00005080, 0x0000f400, 0x02fa9800,
- 0x0000f900, 0x0032a27c, 0x00000980, 0x81c01000, 0x00009980, 0x82371ee3,
- 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408,
- 0x00009583, 0x03901202, 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000,
- 0x0000e1b0, 0x03000000, 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x02fcc800, 0x0000f900, 0x0008766c,
- 0x00008980, 0xc1c02000, 0x0000e181, 0x08001a08, 0x00006106, 0x00005084,
- 0x00007400, 0x82200500, 0x00008022, 0x8378177c, 0x00000024, 0x82371ee3,
- 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408,
- 0x00009583, 0x0dc44405, 0x00006030, 0x0d844404, 0x00003030, 0x03abe57c,
- 0x00006130, 0x03000000, 0x000049b0, 0x00005050, 0x0000f018, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02d56800, 0x00007900, 0x00365492, 0x00008980, 0xc2300600,
- 0x0000e101, 0x08001a08, 0x00006106, 0x00005084, 0x00007400, 0x82381400,
- 0x00008024, 0x81c01000, 0x0000e180, 0x03602405, 0x0000c000, 0x82371ee3,
- 0x0000e100, 0x01442885, 0x0000c900, 0x42004408, 0x00002084, 0x00040885,
- 0x00006502, 0x01040881, 0x00008900, 0x01040080, 0x0000e108, 0x01442084,
- 0x00004908, 0xffffffff, 0x00007f86, 0x00020408, 0x00009583, 0x03802004,
- 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03000000,
- 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02d2e800, 0x00007900, 0x000aabdc, 0x00008980, 0xc1c02000,
- 0x0000e181, 0x08001a08, 0x00006106, 0x00005084, 0x00007400, 0x82200500,
- 0x00008022, 0x03781705, 0x00000024, 0x82371ee3, 0x00009900, 0x42002408,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020404, 0x00009583, 0x01c00020,
- 0x000061b0, 0x0803200e, 0x00006236, 0x81c01000, 0x0000e1b0, 0x03000000,
- 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02e58000, 0x00007900, 0x0014f466, 0x00000980, 0xc1c02000,
- 0x0000e181, 0x08001a08, 0x00006106, 0x00005084, 0x00007400, 0x82200500,
- 0x00008022, 0x83781678, 0x00000024, 0x02444884, 0x00006002, 0x02042f88,
- 0x00008000, 0x0103f87f, 0x00006100, 0x02000008, 0x0000c084, 0x0000407f,
- 0x0000e502, 0x01404008, 0x00000900, 0x82371ee3, 0x0000e100, 0x01404809,
- 0x00004908, 0x42004408, 0x00002084, 0x0103f07e, 0x00009908, 0xffffffff,
- 0x00007f97, 0x00020408, 0x00009583, 0x03802004, 0x00006130, 0x01c00020,
- 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03000000, 0x000049b0, 0x00005050,
- 0x0000f018, 0x000050ce, 0x0000f400, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02e29000, 0x00007900, 0x002690d4, 0x00000980, 0x01c00020,
- 0x00006180, 0x039b636c, 0x00004900, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x000050a2, 0x0000f400, 0x02eda800, 0x0000f900, 0x003dc9e6,
- 0x00008980, 0x41c00002, 0x000080f0, 0x82371ee3, 0x00009900, 0x42004408,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x039b636c,
- 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000, 0x0000e1b0, 0x03000000,
- 0x000049b0, 0x00005050, 0x0000f018, 0x000050a2, 0x0000f400, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x02dd1000, 0x0000f900, 0x002bef24,
- 0x00000980, 0x82371ee3, 0x00009900, 0x42004408, 0x00002084, 0xffffffff,
- 0x00007fa7, 0x00020408, 0x00009583, 0x01c00020, 0x000061b0, 0x0800300e,
- 0x0000e236, 0x81c01000, 0x0000e1b0, 0x03000000, 0x000049b0, 0x00005050,
- 0x0000f018, 0x000050e0, 0x0000f400, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02f01800, 0x00007900, 0x0021ecfe, 0x00008980, 0x82371ee3,
- 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408,
- 0x00009583, 0x0ec3e404, 0x0000e034, 0x0800300e, 0x0000b236, 0x03000000,
- 0x000061b0, 0x01c00020, 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x00005080, 0x0000f400, 0x02f7c800,
- 0x00007900, 0x00317942, 0x00008980, 0x81c01000, 0x00009980, 0x82371ee3,
- 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408,
- 0x00009583, 0x039b636c, 0x00006130, 0x01c00020, 0x000049b0, 0x81c01000,
- 0x0000e1b0, 0x03000000, 0x000049b0, 0x00005050, 0x0000f018, 0x000050a2,
- 0x0000f400, 0x0292d800, 0x0000f900, 0x0005a686, 0x00000980, 0x02c19000,
- 0x0000f900, 0x003f14aa, 0x00008980, 0x82371ee3, 0x00009900, 0x42004408,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x0ec3e404,
- 0x0000e034, 0x0c43e408, 0x00003030, 0x03a04408, 0x00006130, 0x01c00020,
- 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x00005080, 0x0000f400, 0x02e3d800, 0x0000f900, 0x0035d6b6,
- 0x00008980, 0x41c00002, 0x000080f0, 0x82371ee3, 0x00009900, 0x42004408,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x08044404,
- 0x0000e030, 0x0cc3ec08, 0x00003030, 0x03a04408, 0x00006130, 0x01c00020,
- 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x00005080, 0x0000f400, 0x02c0e800, 0x00007900, 0x002c6296,
- 0x00008980, 0x41c00002, 0x000080f0, 0x82371ee3, 0x00009900, 0x42004408,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x03000000,
- 0x000061b0, 0x0800300e, 0x0000e236, 0x01c00000, 0x00007930, 0x00010040,
- 0x00008980, 0x00005050, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02cd2000, 0x00007900, 0x0038e1a8, 0x00008980, 0x81c01000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x00005084, 0x00007400, 0x82200500,
- 0x00008022, 0xc378117c, 0x00008024, 0x82371ee3, 0x00009900, 0x42004408,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x03000000,
- 0x000061b0, 0x0800300e, 0x0000e236, 0x01c00000, 0x00007930, 0x00010040,
- 0x00008980, 0x00005050, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02fe0800, 0x00007900, 0x000d2ed4, 0x00000980, 0x81c01000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x00005084, 0x00007400, 0x82200500,
- 0x00008022, 0x03781776, 0x00008024, 0x82371ee3, 0x00009900, 0x42004408,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x08036404,
- 0x0000e030, 0x0800300e, 0x0000b236, 0x03000000, 0x000061b0, 0x01c00020,
- 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x00005080, 0x0000f400, 0x02eea000, 0x00007900, 0x0032f190,
- 0x00008980, 0x81c01000, 0x00009980, 0x82371ee3, 0x00009900, 0x42004408,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x0ec3e404,
- 0x0000e034, 0x0800300e, 0x0000b236, 0x03000000, 0x000061b0, 0x01c00020,
- 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x00005080, 0x0000f400, 0x02c14000, 0x00007900, 0x000ac0c0,
- 0x00008980, 0x81c01000, 0x00009980, 0x82371ee3, 0x00009900, 0x42004408,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x039be37c,
- 0x00006130, 0x03000000, 0x000049b0, 0x01c00000, 0x00007930, 0x00010040,
- 0x00008980, 0x00005050, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02d12000, 0x0000f900, 0x002727a6, 0x00008980, 0x81c01000,
- 0x0000e180, 0x08001a08, 0x00006106, 0x00005084, 0x00007400, 0x82200500,
- 0x00008022, 0x8378176c, 0x00008024, 0x01703e07, 0x0000e100, 0x08001a08,
- 0x00006106, 0x01c00000, 0x00007900, 0x00010040, 0x00008980, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x02da2000, 0x00007900, 0x000319ec,
- 0x00008980, 0x01800000, 0x000000f0, 0x82200500, 0x00008022, 0x00005085,
- 0x0000f400, 0x02782f02, 0x00000034, 0x81c01000, 0x00009980, 0x82371ee3,
- 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408,
- 0x00009583, 0x0ec3e404, 0x0000e034, 0x0800300e, 0x0000b236, 0x03000000,
- 0x000061b0, 0x01c00020, 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800,
- 0x0000f900, 0x0005a686, 0x00000980, 0x00005080, 0x0000f400, 0x02ee1000,
- 0x0000f900, 0x00352dea, 0x00000980, 0x81c01000, 0x00009980, 0x82371ee3,
- 0x00009900, 0x42004408, 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408,
- 0x00009583, 0x03000000, 0x000061b0, 0x0fc44408, 0x00006030, 0x03a04408,
- 0x00006130, 0xc2300600, 0x0000c931, 0x00005050, 0x0000f018, 0x01c00000,
- 0x00007900, 0x00010040, 0x00008980, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x02c0e800, 0x00007900, 0x002c6296, 0x00008980, 0x82280500,
- 0x00006101, 0x08001a08, 0x00006106, 0x00005084, 0x00007400, 0x027c4f02,
- 0x00008034, 0x81c01000, 0x00009980, 0x82371ee3, 0x00009900, 0x42004408,
- 0x00002084, 0xffffffff, 0x00007fa7, 0x00020408, 0x00009583, 0x0fc44404,
- 0x00006030, 0x0c43e408, 0x00003030, 0x03a04408, 0x00006130, 0x01c00020,
- 0x000049b0, 0x00005050, 0x0000f018, 0x0292d800, 0x0000f900, 0x0005a686,
- 0x00000980, 0x00005080, 0x0000f400, 0x02cc6800, 0x0000f900, 0x00326c94,
- 0x00008980, 0x41c00002, 0x000080f0, 0xffffffff, 0x00007f86, 0x000e1222,
- 0x51ee1ec9, 0x0000f004, 0x00000160, 0x001e1f35, 0x001e3523, 0x001e34c4,
- 0x001e3591, 0x001e1aa5, 0x001e56a0, 0x001e1dcb, 0x001e1d1e, 0x001e1d8e,
- 0x001e1d00, 0x001e2261, 0x001e24b8, 0x001e2734, 0x001e26f5, 0x001e1d56,
- 0x001e2eb5, 0x001e2efa, 0x0012283b, 0x000028c6, 0x00002b9a, 0x001e2415,
- 0x001227a9, 0x00000020, 0x000257b9, 0x001e5635, 0x00000020, 0x0002544a,
- 0x001e54db, 0x00000030, 0x001e0034, 0x001e01be, 0x00040056, 0x000000c0,
- 0x00060427, 0x0006059a, 0x001e07dd, 0x001e0384, 0x00060953, 0x001e097d,
- 0x001e0424, 0x001e0858, 0x00060235, 0x00060279, 0x000600b0, 0x00060109,
- 0x00000060, 0x00083d86, 0x00123c4f, 0x00123ca6, 0x0008402e, 0x000843d7,
- 0x0012464d, 0x00000030, 0x00124690, 0x0012470b, 0x001e4791, 0x00000050,
- 0x000a52ae, 0x001e53c8, 0x000a53f0, 0x001e5438, 0x001e51f0, 0x000000a0,
- 0x00124e33, 0x00124e99, 0x000c4a0f, 0x000c4d95, 0x00124cb9, 0x000c4fb6,
- 0x00124f3f, 0x001e4f00, 0x00124f60, 0x001235cb, 0x00000040, 0x00008808,
- 0x000088cc, 0x00000000, 0x00000000, 0x00000020, 0x01660000, 0x00000018,
- 0x000000e0, 0xfffc3def, 0x00000fff, 0xd806ff01, 0x00000800, 0xd9e2ff01,
- 0x00000800, 0xffff800f, 0x00000fff, 0x000007f9, 0x00000fff, 0xe0000ff9,
- 0x00000fff, 0xd87eff01, 0x00000800, 0x00010012, 0x001e10be, 0x000a36c0,
- 0xffffffff, 0x00007f86, 0x0001102e, 0x00007004, 0x01004462, 0x00009283,
- 0x000000f5, 0x00007013, 0x01002462, 0x00009283, 0x84800fe2, 0x00009888,
- 0x50c02412, 0x00002008, 0x000000f3, 0x00007010, 0x000a0bc8, 0x0000f300,
- 0x50c82412, 0x00002000, 0x410405ad, 0x00009283, 0x00000066, 0x00007013,
- 0x02002462, 0x00006283, 0x03400000, 0x00008981, 0x01400000, 0x00006180,
- 0x03400800, 0x00004989, 0x01000800, 0x0000f900, 0x00200000, 0x00000980,
- 0x06056805, 0x0000e006, 0x10606804, 0x0000b000, 0x800002ac, 0x00006582,
- 0x46056805, 0x00002002, 0x01040004, 0x0000e388, 0x66056805, 0x00002000,
- 0x400005ad, 0x0000e583, 0x76056805, 0x0000a000, 0x84bffa6c, 0x00007948,
- 0x0000001e, 0x00000280, 0x849b0212, 0x00006048, 0x04136005, 0x0000a185,
- 0x04109005, 0x000061cd, 0xc3206004, 0x00003006, 0x02020460, 0x0000e283,
- 0xc7206804, 0x0000a003, 0x01800000, 0x000080dc, 0x02000000, 0x0000f908,
- 0x0001c000, 0x00000980, 0x000000e7, 0x00007010, 0x02c33000, 0x0000e180,
- 0x00206808, 0x0000e000, 0x03408462, 0x00006283, 0x12780000, 0x00008980,
- 0x83400a6c, 0x00006780, 0x02002008, 0x00008388, 0xc2e06c0d, 0x0000e101,
- 0x08001a12, 0x0000e106, 0x03408462, 0x00006283, 0x71431008, 0x00002000,
- 0x12400849, 0x0000e388, 0x12408049, 0x00008390, 0x02800000, 0x00006180,
- 0x0ec3140d, 0x0000e004, 0x12402049, 0x0000e388, 0x12420049, 0x00008390,
- 0x430205ad, 0x0000e283, 0x12800040, 0x00008980, 0x14000000, 0x00006180,
- 0x04238008, 0x0000e083, 0x001890ec, 0x0000d780, 0x00007001, 0x00008080,
- 0x12000000, 0x0000f900, 0x00028000, 0x00008980, 0xc723980a, 0x00006007,
- 0x04109049, 0x0000b101, 0x02400000, 0x00006180, 0x12c18060, 0x00004980,
- 0x13000000, 0x000084f4, 0x13800000, 0x000084fc, 0x14400000, 0x000005c8,
- 0x000000ae, 0x00007410, 0x14c00000, 0x00006180, 0x9293626c, 0x0000c900,
- 0x94206c0d, 0x00001900, 0xc0000360, 0x00006582, 0x3000084b, 0x00002401,
- 0x7000004b, 0x0000ec03, 0x00000051, 0x00007009, 0x430405ad, 0x0000e283,
- 0x00003051, 0x0000a405, 0x80000851, 0x00006c01, 0x000000d1, 0x0000f011,
- 0x03402462, 0x00009283, 0x001008ec, 0x0000d780, 0x00007000, 0x00000080,
- 0x00000074, 0x0000f009, 0x0000040c, 0x00006583, 0x23000000, 0x00000980,
- 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080, 0x00000473, 0x0000e583,
- 0x23400000, 0x00008980, 0x000910ec, 0x0000d790, 0x00007000, 0x00000080,
- 0x23800000, 0x000088fc, 0x430405ad, 0x00001283, 0x800002ac, 0x00009582,
- 0x03010460, 0x00009283, 0x00000064, 0x0000f008, 0x000000a3, 0x00007010,
- 0x00000094, 0x0000f010, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x04800cad, 0x0000e081, 0x01040000, 0x00008980, 0x01136004, 0x00009100,
- 0x01800000, 0x0000f900, 0x001f0000, 0x00000980, 0x2c102412, 0x00009600,
- 0x814588b0, 0x00009000, 0x0d431404, 0x0000e880, 0x00202412, 0x00001503,
- 0x81440205, 0x00001090, 0x0000000c, 0x0000f401, 0x00102806, 0x00006986,
- 0x203836ec, 0x0000d600, 0x003b0800, 0x00000000, 0x84800ee3, 0x00006080,
- 0x0c002a0f, 0x00006184, 0x03c08e12, 0x00007902, 0x04000000, 0x00000100,
- 0x04007012, 0x00007902, 0x03400000, 0x00000100, 0x0010c8ec, 0x0000d780,
- 0x00007000, 0x00000080, 0x23000000, 0x000088f4, 0x04408a0f, 0x00006002,
- 0x23800000, 0x00008980, 0x04000010, 0x00006084, 0x23c00000, 0x00000980,
- 0x0380080e, 0x00001082, 0x00000470, 0x0000e583, 0x0340000d, 0x00000084,
- 0x000040ec, 0x0000d790, 0x00007002, 0x00008080, 0x0000040c, 0x00009583,
- 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080, 0x00000473, 0x00001583,
- 0x03f88e12, 0x00005100, 0x00388000, 0x00000000, 0x04387012, 0x00005100,
- 0x00386800, 0x00000000, 0x000910ec, 0x0000d790, 0x00007000, 0x00000080,
- 0x0c8405ad, 0x0000448c, 0x460002ac, 0x00008091, 0x19010460, 0x0000f88e,
- 0x00000001, 0x00000080, 0x24c11000, 0x000080ef, 0x24831863, 0x00006100,
- 0x001b1093, 0x00006106, 0x24006000, 0x0000f900, 0x00008000, 0x00000980,
- 0x24580800, 0x0000f900, 0x00004040, 0x00008980, 0x001120ec, 0x00005780,
- 0x00007000, 0x00000080, 0x25000080, 0x00006180, 0xc0001893, 0x00006006,
- 0x25400000, 0x000009d8, 0x25c00000, 0x00009980, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x2300608c, 0x0000e380, 0x001b108f, 0x00002106,
- 0x000918ec, 0x0000d780, 0x00007000, 0x00000080, 0x42c0a000, 0x0000e181,
- 0xc000188f, 0x0000e006, 0xa3400800, 0x0000e181, 0x23831863, 0x0000c900,
- 0xe3000800, 0x00009981, 0x19010460, 0x0000f88e, 0xa0000000, 0x00000084,
- 0x03800c62, 0x00009283, 0x7000184b, 0x00006c13, 0x00000049, 0x00007009,
- 0xc0000755, 0x00009583, 0x92c10000, 0x0000e190, 0x0000804c, 0x00006596,
- 0x0000104c, 0x00006413, 0x0000204d, 0x0000b596, 0x000000c6, 0x00007008,
- 0x83800b5c, 0x0000e180, 0x0000184f, 0x0000a403, 0x839072ec, 0x0000e100,
- 0x8000084f, 0x00002401, 0x83c01755, 0x00006080, 0x0000104e, 0x00006403,
- 0x93c01a0e, 0x00006280, 0x0000184d, 0x00002403, 0x0c002a0e, 0x0000e184,
- 0x8000084e, 0x00003401, 0x83d0720f, 0x00006000, 0x8000084c, 0x00002401,
- 0x04107805, 0x00006185, 0x8000084d, 0x00003401, 0x93800b5c, 0x00009180,
- 0x0000040d, 0x0000e583, 0x0c002a0e, 0x00002184, 0x8381820e, 0x0000e080,
- 0x70000851, 0x00002401, 0x83bffa0e, 0x00007900, 0x0000001e, 0x00000280,
- 0x8490740d, 0x0000e000, 0x00000850, 0x00002413, 0x04109005, 0x0000e985,
- 0x14400360, 0x0000788a, 0x68000000, 0x00008082, 0x03401462, 0x00009283,
- 0x835b02ec, 0x00006110, 0x00001852, 0x00002413, 0x83801a0d, 0x0000e290,
- 0x80000852, 0x0000a411, 0x00000051, 0x0000f008, 0x94801a0d, 0x00006280,
- 0x0e031412, 0x0000a004, 0x00000412, 0x00006583, 0x0c002a0d, 0x00002184,
- 0x83906a0e, 0x00006000, 0x00000853, 0x00002413, 0x83bffa0e, 0x00007900,
- 0x0000001e, 0x00000280, 0x83507412, 0x0000e000, 0x80000060, 0x0000a686,
- 0x001008ec, 0x0000d780, 0x00007000, 0x00000080, 0x94e09412, 0x0000e110,
- 0x04106805, 0x0000e185, 0x15402462, 0x0000f896, 0xa0000000, 0x00008083,
- 0x02000000, 0x000080e8, 0x02c33000, 0x0000e180, 0x00206808, 0x0000e000,
- 0x84800a6c, 0x0000e780, 0x71431008, 0x00002000, 0x001008ec, 0x0000d780,
- 0x00007000, 0x00000080, 0xc723980a, 0x00006007, 0x04238008, 0x0000b083,
- 0x42c00312, 0x000080a4, 0x15402462, 0x0000f896, 0xa0000000, 0x00008083,
- 0x000c0c68, 0x0000f100, 0x0000000c, 0x0000f000, 0x03008462, 0x0000e283,
- 0x12480000, 0x00008980, 0x01400000, 0x00006180, 0x12400849, 0x00004388,
- 0x12402049, 0x0000e388, 0x06056805, 0x00002006, 0x08001a12, 0x0000e106,
- 0x0c856c0d, 0x00003000, 0x12408049, 0x0000e390, 0x0e43040c, 0x00002000,
- 0x12420049, 0x0000e390, 0x46056805, 0x00002002, 0x000918ec, 0x0000d780,
- 0x00007000, 0x00000080, 0x1dc00000, 0x000088fc, 0x12800000, 0x00007900,
- 0x00004380, 0x00008980, 0x66056805, 0x0000e000, 0x04109049, 0x0000b101,
- 0x001008ec, 0x0000d780, 0x00d07480, 0x000000c0, 0x00001877, 0x0000e106,
- 0x001b108f, 0x0000b106, 0x04a0640d, 0x0000e201, 0x76056805, 0x0000a000,
- 0x01000800, 0x0000f900, 0x00200004, 0x00008980, 0x02040000, 0x0000f900,
- 0x00004000, 0x00000980, 0x12000000, 0x0000f900, 0x00004000, 0x00000980,
- 0x1d001000, 0x00007900, 0x00004000, 0x00000980, 0x1d400000, 0x00007900,
- 0x00040040, 0x00008980, 0x23006000, 0x00007900, 0x00004000, 0x00000980,
- 0x0008e8ec, 0x00005780, 0x00007000, 0x00000080, 0xc0001877, 0x00006006,
- 0xc000188f, 0x0000b006, 0x01800000, 0x00006180, 0x75e0904a, 0x00006001,
- 0x01c00000, 0x000080e4, 0x02800000, 0x00006180, 0x02e00002, 0x0000c980,
- 0x12c00000, 0x00006180, 0x9d901202, 0x0000c900, 0xdd981302, 0x00006100,
- 0x23400020, 0x0000c980, 0x23831863, 0x00009900, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x01400000, 0x00006180, 0x0802ac08, 0x00006004,
- 0x00000408, 0x0000e583, 0x06056805, 0x00002006, 0x01800000, 0x00006180,
- 0x46056805, 0x0000e002, 0x01c00000, 0x0000e180, 0x66056805, 0x0000e000,
- 0x0000014d, 0x00007408, 0x01040000, 0x0000f900, 0x00200000, 0x00000980,
- 0x76056805, 0x0000e800, 0x00000c08, 0x00009583, 0x41010800, 0x00006189,
- 0x26c00000, 0x00004988, 0x26006000, 0x0000f908, 0x00008000, 0x00000980,
- 0x00000000, 0x0000f090, 0x02400020, 0x0000e180, 0x08001a0a, 0x0000e106,
- 0x001b109b, 0x0000e106, 0x00105009, 0x00003184, 0x000808ec, 0x0000d780,
- 0x00d07180, 0x00008188, 0x26580800, 0x00007900, 0x00004180, 0x00000980,
- 0x26831863, 0x0000e100, 0xc000189b, 0x0000e006, 0x733848ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x27000082, 0x00006180, 0x27400000, 0x0000c980,
- 0x27c00000, 0x000089f8, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x24c00000, 0x00006180, 0x08001a08, 0x00006106, 0x02800020, 0x0000e180,
- 0x001b1093, 0x00006106, 0x000808ec, 0x0000d780, 0x00d07100, 0x00000188,
- 0x0010400a, 0x0000e184, 0xc0001893, 0x00003006, 0x24006000, 0x0000f900,
- 0x00008000, 0x00000980, 0x24580800, 0x0000f900, 0x00004180, 0x00000980,
- 0x733850ec, 0x0000d600, 0x00000000, 0x00008080, 0x41011000, 0x0000e181,
- 0x24831863, 0x00004900, 0x25000080, 0x00006180, 0x25400100, 0x0000c980,
- 0x25c2a2ec, 0x0000e100, 0x25800000, 0x00008980, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x0340c460, 0x00001281, 0x0000440d, 0x00009583,
- 0x000001ea, 0x0000700b, 0x01002462, 0x00009283, 0x83400fe2, 0x00001888,
- 0x50c0240d, 0x0000a008, 0x00000282, 0x0000f010, 0x016c0bc8, 0x00007300,
- 0x50c8240d, 0x0000a000, 0x410405ad, 0x00009283, 0x01000800, 0x00007908,
- 0x00200000, 0x00000980, 0x01400000, 0x0000e188, 0x01800000, 0x0000c988,
- 0x000001b9, 0x00007010, 0x02002462, 0x00006283, 0x03800000, 0x00008981,
- 0x03800800, 0x00006189, 0x06056805, 0x0000e006, 0x800002ac, 0x00006582,
- 0x46056805, 0x00002002, 0x10607004, 0x0000e000, 0x66056805, 0x0000b000,
- 0x01040004, 0x0000e388, 0x76056805, 0x0000a000, 0x400005ad, 0x0000e583,
- 0x04136005, 0x0000a185, 0x837ffa6c, 0x0000f948, 0x0000001e, 0x00000280,
- 0x835b020d, 0x00006048, 0x02000000, 0x00000980, 0x04106805, 0x0000e1cd,
- 0x00207008, 0x0000b000, 0x03403c60, 0x00006281, 0x02c33000, 0x00000980,
- 0x0000140d, 0x00006583, 0xc3206004, 0x0000a006, 0x83400a6c, 0x00006780,
- 0x02002008, 0x00008388, 0x42c0030d, 0x000000a8, 0x03402462, 0x00006283,
- 0x71431008, 0x00002000, 0x001008ec, 0x0000d780, 0x00007000, 0x00000080,
- 0xc7207004, 0x00006003, 0xc723980a, 0x00003007, 0x0000019d, 0x0000f408,
- 0x01c00000, 0x0000e180, 0x04238008, 0x0000e083, 0x02400000, 0x00001980,
- 0x0000040c, 0x00009583, 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080,
- 0x00000473, 0x00001583, 0x000910ec, 0x0000d790, 0x00007000, 0x00000080,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x83400ee3, 0x0000e080,
- 0x0c002a12, 0x00006184, 0x03c08e0d, 0x0000f902, 0x04000000, 0x00000100,
- 0x0400780d, 0x00007902, 0x03800000, 0x00000100, 0x0010c8ec, 0x0000d780,
- 0x00007000, 0x00000080, 0xffffffff, 0x00007f86, 0x04408a12, 0x00009002,
- 0x03c0080f, 0x0000e082, 0x04000010, 0x00000084, 0x00000470, 0x0000e583,
- 0x0380000e, 0x00000084, 0x000040ec, 0x0000d790, 0x00007002, 0x00008080,
- 0x0000040c, 0x00009583, 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080,
- 0x00000473, 0x00001583, 0x03f88e0d, 0x0000d100, 0x00388000, 0x00000000,
- 0x0438780d, 0x00005100, 0x00387000, 0x00000000, 0x000910ec, 0x0000d790,
- 0x00007000, 0x00000080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x02002462, 0x00006283, 0x03440000, 0x00008980, 0x03800000, 0x00006181,
- 0x0113600d, 0x0000c100, 0x03400cad, 0x0000e080, 0x01400000, 0x00008980,
- 0x03800800, 0x00006189, 0x06056805, 0x0000e006, 0x800002ac, 0x00006582,
- 0x46056805, 0x00002002, 0x02000000, 0x0000e180, 0x66056805, 0x0000e000,
- 0x76056805, 0x00006000, 0x00207008, 0x0000b000, 0x02800000, 0x00006180,
- 0x04136005, 0x00006185, 0x01800000, 0x0000f900, 0x001f0000, 0x00000980,
- 0x2c106a04, 0x00001600, 0x818588b0, 0x00009000, 0x01000800, 0x0000f900,
- 0x00200000, 0x00000980, 0x02c33000, 0x0000e180, 0x10607004, 0x0000e000,
- 0x01040004, 0x0000e388, 0xc723980a, 0x0000a007, 0x400005ad, 0x0000e583,
- 0x01c00000, 0x00000980, 0x837ffa6c, 0x0000f948, 0x0000001e, 0x00000280,
- 0x835b020d, 0x00006048, 0xc3206004, 0x0000a006, 0x04106805, 0x0000e1cd,
- 0xc7207004, 0x00003003, 0x02400000, 0x00006180, 0x03403c60, 0x0000c281,
- 0x0000140d, 0x00006583, 0x83400a6c, 0x00000780, 0xc2e06c0d, 0x0000e101,
- 0x02002008, 0x00004388, 0x203836ec, 0x0000d600, 0x003b0800, 0x00000000,
- 0x01800000, 0x00006180, 0x71431008, 0x0000e000, 0x001008ec, 0x0000d780,
- 0x00007000, 0x00000080, 0x04238008, 0x00006883, 0x65402462, 0x00007896,
- 0xe8000000, 0x0000808c, 0x83400fe2, 0x00009880, 0x01ee0c97, 0x0000f500,
- 0x50c02c0d, 0x0000a000, 0x50c82c0d, 0x00002000, 0x410405ad, 0x00009283,
- 0x01000800, 0x00007908, 0x00200000, 0x00000980, 0x01400000, 0x0000e188,
- 0x01800000, 0x0000c988, 0x00000234, 0x00007010, 0x02002462, 0x00006283,
- 0x03400000, 0x00008981, 0x03400800, 0x00006189, 0x06056805, 0x0000e006,
- 0x800002ac, 0x00006582, 0x46056805, 0x00002002, 0x10606804, 0x0000e000,
- 0x66056805, 0x0000b000, 0x01040004, 0x0000e388, 0x76056805, 0x0000a000,
- 0x400005ad, 0x0000e583, 0x04136005, 0x0000a185, 0x823ffa6c, 0x0000f948,
- 0x0000001e, 0x00000280, 0x821b0208, 0x00006048, 0xc3209004, 0x0000a006,
- 0x04104005, 0x0000e1cd, 0xc7206804, 0x00003003, 0x02033000, 0x000000ec,
- 0x00206808, 0x0000e000, 0x0c002a11, 0x00003184, 0x03403c60, 0x00006281,
- 0x02800000, 0x00008980, 0x0000140d, 0x00006583, 0xc723980a, 0x0000a007,
- 0x83400a6c, 0x00006780, 0x02002008, 0x00008388, 0x42c0030d, 0x0000809c,
- 0x83400ee3, 0x0000e080, 0x71431008, 0x0000e000, 0x03c0860d, 0x00007902,
- 0x03c00000, 0x00008100, 0x0400700d, 0x0000f902, 0x03000000, 0x00008100,
- 0x001008ec, 0x0000d780, 0x00007000, 0x00000080, 0x0010c8ec, 0x0000d780,
- 0x00007000, 0x00000080, 0x04008211, 0x00006002, 0x04238008, 0x00002083,
- 0x03c0000f, 0x00006084, 0x02400000, 0x00008980, 0x0380080e, 0x0000e082,
- 0x11804800, 0x00000980, 0x00000412, 0x00006583, 0x0300000c, 0x00000084,
- 0x0438700d, 0x0000d100, 0x00386000, 0x00008000, 0x83004000, 0x00001980,
- 0x8223820c, 0x0000e886, 0x003060ec, 0x0000d702, 0x00007000, 0x00000080,
- 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080, 0x00000473, 0x00001583,
- 0x11400800, 0x0000f900, 0x00008082, 0x00000980, 0x023202a9, 0x00007500,
- 0x03f8860d, 0x00005100, 0x00387800, 0x00008000, 0x000910ec, 0x0000d790,
- 0x00007000, 0x00000080, 0x008806ec, 0x00005f80, 0x00c868c0, 0x0000048c,
- 0x02002462, 0x00006283, 0x03440000, 0x00008980, 0x0113600d, 0x00006100,
- 0x01400000, 0x00008980, 0x03400cad, 0x0000e080, 0x06056805, 0x00002006,
- 0x02c33000, 0x0000e180, 0x46056805, 0x0000e002, 0x02800000, 0x00006180,
- 0x66056805, 0x0000e000, 0x76056805, 0x00006000, 0xc723980a, 0x00003007,
- 0x01c00000, 0x0000e180, 0x04136005, 0x00006185, 0x01800000, 0x0000f900,
- 0x001f0000, 0x00000980, 0x2c106a04, 0x00001600, 0x818588b0, 0x00009000,
- 0x83400000, 0x000000e4, 0x03400800, 0x00006189, 0x11804800, 0x0000c980,
- 0x01000800, 0x0000f900, 0x00200000, 0x00000980, 0x800002ac, 0x00006582,
- 0x10606804, 0x00002000, 0x400005ad, 0x0000e583, 0x01040004, 0x00008388,
- 0x823ffa6c, 0x0000f948, 0x0000001e, 0x00000280, 0x821b0208, 0x00006048,
- 0xc3209004, 0x0000a006, 0x04104005, 0x0000e1cd, 0xc7206804, 0x00003003,
- 0x02000000, 0x00009980, 0x00206808, 0x0000e000, 0x0c002a11, 0x00003184,
- 0x03403c60, 0x00009281, 0x0000140d, 0x00006583, 0x83400a6c, 0x00000780,
- 0x203836ec, 0x0000d600, 0x003b0800, 0x00000000, 0xc2e06c0d, 0x0000e101,
- 0x02002008, 0x00004388, 0x01800000, 0x00006180, 0x83400ee3, 0x0000c880,
- 0x03c0860d, 0x00007902, 0x03c00000, 0x00008100, 0x0400700d, 0x0000f902,
- 0x03000000, 0x00008100, 0x001008ec, 0x0000d780, 0x00007000, 0x00000080,
- 0x0010c8ec, 0x0000d780, 0x00007000, 0x00000080, 0x04008211, 0x00006002,
- 0x71431008, 0x00002000, 0x03c0000f, 0x00006084, 0x04238008, 0x00002083,
- 0x0380080e, 0x00001082, 0x00000412, 0x00006583, 0x0300000c, 0x00000084,
- 0x0438700d, 0x0000d100, 0x00386000, 0x00008000, 0x83004000, 0x00001980,
- 0x8223820c, 0x0000e886, 0x003060ec, 0x0000d702, 0x00007000, 0x00000080,
- 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080, 0x00000473, 0x00001583,
- 0x11400800, 0x0000f900, 0x00008082, 0x00000980, 0x028002a9, 0x00007500,
- 0x03f8860d, 0x00005100, 0x00387800, 0x00008000, 0x000910ec, 0x0000d790,
- 0x00007000, 0x00000080, 0x008806ec, 0x00005f80, 0x00c868c0, 0x0000048c,
- 0x02830c68, 0x0000f100, 0x02002462, 0x00006283, 0x03800000, 0x00008981,
- 0x01400000, 0x00006180, 0x03800800, 0x00004989, 0x01000800, 0x0000f900,
- 0x00200000, 0x00000980, 0x06056805, 0x0000e006, 0x10607004, 0x0000b000,
- 0x800002ac, 0x00006582, 0x46056805, 0x00002002, 0x01040004, 0x0000e388,
- 0x66056805, 0x00002000, 0x400005ad, 0x0000e583, 0x76056805, 0x0000a000,
- 0x837ffa6c, 0x0000f948, 0x0000001e, 0x00000280, 0x835b020d, 0x00006048,
- 0x04136005, 0x0000a185, 0x02000000, 0x0000e180, 0x04106805, 0x0000e1cd,
- 0x03403c60, 0x00006281, 0x00207008, 0x00002000, 0x0000140d, 0x00006583,
- 0xc3206004, 0x0000a006, 0x02002008, 0x0000e388, 0x02800000, 0x00008980,
- 0x02c33000, 0x0000e180, 0x83400a6c, 0x0000c780, 0x71431008, 0x0000e000,
- 0xc7207004, 0x00003003, 0x001008ec, 0x0000d780, 0x00007000, 0x00000080,
- 0xc723980a, 0x00006007, 0x04238008, 0x0000b083, 0x01800000, 0x000080dc,
- 0x42c0030d, 0x000000a4, 0x65402462, 0x00007896, 0xe8000000, 0x0000808c,
- 0x00400000, 0x0000e180, 0x00001000, 0x00006504, 0xc0c00000, 0x00006180,
- 0xd37a2801, 0x00006004, 0x00000001, 0x00007480, 0x005a3245, 0x00008001,
- 0x80ea2d45, 0x0000e101, 0x96622801, 0x0000e001, 0x12009800, 0x00007900,
- 0x00003c00, 0x00008980, 0x11f83f06, 0x00000424, 0xc31722e4, 0x00009900,
- 0x02b61482, 0x00007004, 0x00000447, 0x00009583, 0x823f1fe3, 0x00001908,
- 0x43804008, 0x0000a088, 0x000002bf, 0x00007010, 0xffffffff, 0x00007f97,
- 0x02003c08, 0x00001281, 0x02001408, 0x00001181, 0x00000c08, 0x00009583,
- 0x000002c4, 0x0000f01b, 0x07e14000, 0x0000f900, 0x002c897e, 0x00008980,
- 0x02c410ad, 0x0000f500, 0x07b83f06, 0x00008134, 0x07223c47, 0x00001900,
- 0x31f84a4b, 0x00002000, 0x02800000, 0x00006180, 0x82371ee3, 0x0000c900,
- 0x11400000, 0x00007900, 0x00008000, 0x00000980, 0x11800800, 0x00001980,
- 0x0010480a, 0x00006986, 0x02cf02a9, 0x0000f500, 0xf6f85608, 0x00002884,
- 0xf6c00608, 0x00005004, 0x00400000, 0x00000080, 0xb918630c, 0x00001900,
- 0x000800ec, 0x00005780, 0x00006800, 0x00000080, 0xffffffff, 0x00007f97,
- 0x00000000, 0x00007083, 0x02d8149c, 0x00007500, 0x10481800, 0x0000e180,
- 0x10101202, 0x00004900, 0x0be02c05, 0x00001900, 0x00400c05, 0x00004588,
- 0x01201405, 0x0000808a, 0x02ea02b1, 0x0000f004, 0x000002ea, 0x0000f000,
- 0x01802004, 0x0000e100, 0x08001a09, 0x0000e106, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03f7e800, 0x00007900, 0x0039978e, 0x00000980,
- 0x04979800, 0x00007900, 0x001cdbc6, 0x00000980, 0x02800000, 0x00006180,
- 0xc2700600, 0x00004901, 0x82781400, 0x00000030, 0x02ea0fe7, 0x0000f500,
- 0x01c02f06, 0x00008091, 0x01802805, 0x00009900, 0x04464000, 0x00007900,
- 0x00001c00, 0x00000980, 0x0c800000, 0x000083cc, 0x04000800, 0x0000f900,
- 0x00080000, 0x00000980, 0x04800000, 0x0000f900, 0x00002000, 0x00000980,
- 0x06000000, 0x0000f900, 0x00004000, 0x00000980, 0x06838000, 0x0000f900,
- 0x000080c0, 0x00000980, 0x0c009000, 0x0000f900, 0x0000d200, 0x00008980,
- 0x0c400000, 0x00007900, 0x00010000, 0x00000980, 0x08400000, 0x0000f900,
- 0x00260000, 0x00000980, 0x413f1011, 0x00006002, 0xc0001833, 0x00003006,
- 0x04c00000, 0x0000e180, 0x05001001, 0x00004980, 0x05400000, 0x000001d8,
- 0x05c00000, 0x00006180, 0x06400001, 0x00004980, 0x06c00000, 0x000081f0,
- 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08800000, 0x000082cc,
- 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4,
- 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc,
- 0x0d382f04, 0x00000314, 0x0db83f06, 0x0000031c, 0xcc981302, 0x00001900,
- 0x009026ec, 0x0000df80, 0x00007002, 0x00000084, 0x1a460000, 0x0000f900,
- 0x00002400, 0x00008980, 0x22c00000, 0x00006180, 0x413f1069, 0x00006002,
- 0x1a000800, 0x0000f900, 0x00080000, 0x00000980, 0x1b800000, 0x0000e180,
- 0x0000188b, 0x0000e106, 0x00001c29, 0x0000e583, 0x1bc00000, 0x00008980,
- 0x1a800000, 0x0000f900, 0x00002000, 0x00000980, 0x1c000000, 0x00007900,
- 0x00004000, 0x00000980, 0x1c848000, 0x0000f900, 0x000080c0, 0x00000980,
- 0x1d001000, 0x00007900, 0x00001c00, 0x00000980, 0x22009000, 0x0000f900,
- 0x00015100, 0x00008980, 0x22401800, 0x00007900, 0x0001c008, 0x00008980,
- 0x00216869, 0x0000e006, 0xc000188b, 0x00003006, 0x1ac00000, 0x0000e180,
- 0xc000086e, 0x0000e40f, 0x1b101001, 0x0000e180, 0x1b400000, 0x0000c980,
- 0x1c500001, 0x00006180, 0x1cc00000, 0x0000c980, 0x1d800000, 0x000087dc,
- 0x1d601702, 0x00000828, 0x22b94502, 0x00000830, 0x23795729, 0x00000838,
- 0x00000001, 0x00007480, 0x23c1582b, 0x00006100, 0x5a00b000, 0x0000c989,
- 0x1bc33000, 0x00001989, 0x033b149c, 0x00007500, 0x10501800, 0x0000e180,
- 0x10101202, 0x00004900, 0x0be14c29, 0x00001900, 0x1c400000, 0x000007c8,
- 0x1cc00000, 0x000087e0, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
- 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8,
- 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8, 0x21c00000, 0x000089e0,
- 0x26400000, 0x000009e8, 0x26c00000, 0x000089f0, 0x27400000, 0x000009f8,
- 0x27c00000, 0x000009c0, 0x24400000, 0x000009c8, 0x24c00000, 0x000089d0,
- 0x25400000, 0x000009d8, 0x25c00000, 0x00009980, 0x83804c29, 0x0000c388,
- 0x00004c29, 0x00008098, 0x83002429, 0x0000c388, 0x00002429, 0x00000098,
- 0x01001c29, 0x00004789, 0x94003429, 0x00009389, 0x26a03c29, 0x0000c789,
- 0x93e05c29, 0x00000d8a, 0x84805c29, 0x0000c4a8, 0xc4006c29, 0x00008188,
- 0x08008429, 0x0000788b, 0x90000000, 0x00008284, 0x80000233, 0x00006582,
- 0x01408332, 0x00000880, 0x02002a32, 0x0000e300, 0x05400000, 0x00000980,
- 0x01408330, 0x00006080, 0x01003000, 0x00004981, 0x02802a30, 0x0000e300,
- 0x80001004, 0x0000a487, 0x01400000, 0x00006180, 0xc2598b31, 0x0000c900,
- 0x81400800, 0x0000e188, 0x82518a31, 0x00004900, 0xc0000733, 0x00006583,
- 0x0b808038, 0x00000780, 0x81800001, 0x0000e188, 0x81b6e810, 0x0000c990,
- 0xc0000733, 0x00006583, 0xf7e02804, 0x0000a001, 0x05400800, 0x00006189,
- 0x0b172838, 0x00004200, 0x03400000, 0x00007900, 0x00204000, 0x00008980,
- 0x00000415, 0x0000e583, 0x08008034, 0x00008780, 0x014c3000, 0x0000f900,
- 0x00028280, 0x00008980, 0x07172834, 0x0000e200, 0xf7e0a805, 0x0000a001,
- 0x00000383, 0x00007208, 0x84619906, 0x00000034, 0x0b81602e, 0x0000e000,
- 0xe0000813, 0x0000a400, 0x0b80302e, 0x0000e080, 0xc4a80008, 0x00000980,
- 0xc5003000, 0x00006180, 0x0b81002e, 0x00004000, 0x0579a738, 0x00000118,
- 0x000003a3, 0x00007400, 0xc4c00000, 0x0000e180, 0x84a9ed3d, 0x0000c901,
- 0x0b80e02e, 0x0000e000, 0xc521ec3d, 0x00008901, 0x0b81602e, 0x0000e000,
- 0x00000012, 0x0000a606, 0x0b80302e, 0x0000e080, 0xc0003012, 0x0000a407,
- 0x0b817339, 0x00006000, 0x84f00000, 0x00008980, 0x0b817239, 0x0000e000,
- 0x0001e012, 0x00002206, 0x0b81733a, 0x00006000, 0x0501c038, 0x00000900,
- 0x0b81723a, 0x0000e000, 0x0541c839, 0x00008900, 0x0b81733b, 0x0000e000,
- 0x0581d03a, 0x00008900, 0x0b81723b, 0x00006000, 0x05c1d83b, 0x00000900,
- 0x0b81002e, 0x0000e000, 0x0601a034, 0x00000900, 0x0b80e02e, 0x0000e000,
- 0x0641a835, 0x00008900, 0x0b817335, 0x00006000, 0x0681b036, 0x00008900,
- 0x0b817235, 0x0000e000, 0x06c1b837, 0x00000900, 0x04e1ec3d, 0x0000e101,
- 0x0b817336, 0x0000c000, 0x0b817236, 0x00001000, 0x000003a3, 0x00007400,
- 0x0b817337, 0x00001000, 0x0b817237, 0x00009000, 0x0b97282e, 0x00001200,
- 0x0b81701c, 0x00001000, 0x0700802e, 0x00009780, 0x0000001c, 0x00001582,
- 0x81b05000, 0x00006188, 0x8719eb3d, 0x00004908, 0xc711f23e, 0x0000e108,
- 0x08000000, 0x00004988, 0x000003a1, 0x0000f010, 0x8b000e33, 0x0000e283,
- 0xc811722e, 0x00008900, 0x0b004000, 0x00006191, 0x0b002800, 0x0000c989,
- 0x00000099, 0x00006584, 0x0000009d, 0x0000b584, 0x03800e33, 0x0000e281,
- 0xc721601f, 0x00002007, 0x4b380000, 0x000009e5, 0x8001702c, 0x00007902,
- 0x0b000000, 0x00000604, 0x8b000e33, 0x0000e283, 0xe7400000, 0x00000980,
- 0x00001899, 0x0000e106, 0x0000189d, 0x00003106, 0x08405000, 0x00007910,
- 0x00004042, 0x00000980, 0x03800c0e, 0x0000e481, 0x0d001c2c, 0x00002006,
- 0x4000054f, 0x0000e583, 0x0b003c2c, 0x00008281, 0xf3e07006, 0x00006000,
- 0xa000009e, 0x0000b483, 0xc3216099, 0x0000e004, 0xc321609d, 0x00003004,
- 0x26000702, 0x000009a8, 0x26c00000, 0x0000e180, 0x27001002, 0x0000c900,
- 0x27c00000, 0x000000f9, 0x0b000000, 0x00006188, 0x0b000800, 0x0000c990,
- 0x00022046, 0x00009502, 0x00000047, 0x00009582, 0x0000042c, 0x00001583,
- 0x000003dc, 0x0000f010, 0x000003dc, 0x0000f008, 0x000003d6, 0x0000f008,
- 0x0b00133f, 0x00009880, 0x0b016250, 0x00001000, 0x0b13002c, 0x00007900,
- 0x0000003a, 0x00008c80, 0x000003e9, 0x0000f400, 0xffffffff, 0x00007f86,
- 0x0b08c02c, 0x00001d80, 0x0007284d, 0x00009502, 0x000003e9, 0x0000f400,
- 0x0b3ff851, 0x0000f908, 0x0000fffe, 0x00008280, 0x0b3ff84d, 0x00007910,
- 0x0000fffe, 0x00008280, 0x0007284e, 0x00009502, 0x0b00133f, 0x00001888,
- 0x0b016250, 0x00009008, 0x0b3a782c, 0x00009808, 0x0b13002c, 0x0000f908,
- 0x0000003a, 0x00008c80, 0x0b3ff84e, 0x00007910, 0x0000fffe, 0x00008280,
- 0xffffffff, 0x00007f86, 0x0b08c02c, 0x00009d88, 0xffffffff, 0x00007f86,
- 0x0b3ff82c, 0x0000f908, 0x0000fffe, 0x00008280, 0x80000233, 0x00009582,
- 0x0001609e, 0x00006b02, 0x0b000000, 0x00001990, 0x000003f1, 0x0000f008,
- 0x03f01095, 0x00007500, 0x0cc19c2c, 0x00006804, 0x0d81602c, 0x00009900,
- 0x83a1b436, 0x00001901, 0x4b000d2d, 0x00001283, 0x24021843, 0x00006110,
- 0x24423847, 0x0000c910, 0x24824849, 0x0000e110, 0x24c2504a, 0x00004910,
- 0x000003fc, 0x00007008, 0xa519f33e, 0x0000e100, 0x04019895, 0x0000e000,
- 0xa522ac55, 0x00006101, 0x14428095, 0x0000e000, 0xe521fc3f, 0x00009901,
- 0x040002a9, 0x0000f500, 0x11480800, 0x00007900, 0x0000be02, 0x00000980,
- 0x11805000, 0x00009980, 0x0cc00000, 0x00006180, 0x80000079, 0x0000e406,
- 0xc0000311, 0x0000f900, 0x00000002, 0x00008582, 0x0c800000, 0x0000e180,
- 0x20001879, 0x0000e403, 0x0c400000, 0x000083c0, 0x0bc00000, 0x000082f8,
- 0x0e400000, 0x00006180, 0xb0000879, 0x00006405, 0x0e000000, 0x000083d8,
- 0x8b29e811, 0x00000230, 0x0df8143e, 0x00008720, 0x0d00b016, 0x0000e108,
- 0x0d40a815, 0x00004908, 0x0d40d81b, 0x00006110, 0x0d00d01a, 0x0000c910,
- 0x0cc0c819, 0x00006110, 0x0c80c018, 0x0000c910, 0x00000443, 0x00007400,
- 0x0c40b817, 0x0000e110, 0x0c00b016, 0x00004910, 0x0b80a014, 0x00006110,
- 0x0bc0a815, 0x0000c910, 0x0000048e, 0x0000f400, 0x11400000, 0x00007900,
- 0x0000bec0, 0x00008980, 0x11800800, 0x00001980, 0x0000048e, 0x0000f400,
- 0x11400000, 0x00007900, 0x0000bec0, 0x00008980, 0x11800800, 0x00001980,
- 0x0000048e, 0x0000f400, 0x11400000, 0x00007900, 0x0000bec0, 0x00008980,
- 0x11800800, 0x00001980, 0x0000048e, 0x0000f400, 0x11400000, 0x00007900,
- 0x0000bec0, 0x00008980, 0x11800800, 0x00001980, 0x042c02a9, 0x00007500,
- 0x11400000, 0x00007900, 0x0000bec0, 0x00008980, 0x11800800, 0x00001980,
- 0x0cc00000, 0x00006180, 0x80000079, 0x0000e406, 0xc0000311, 0x0000f900,
- 0x00000002, 0x00008582, 0x0c800000, 0x0000e180, 0x20001879, 0x0000e403,
- 0x0c400000, 0x000083c0, 0x0bc00000, 0x000082f8, 0x0e400000, 0x00006180,
- 0xb0001079, 0x00006405, 0x0e000000, 0x000083d8, 0x8b08e011, 0x00000232,
- 0x8df8101c, 0x00008720, 0x0d00b016, 0x0000e108, 0x0d40a815, 0x00004908,
- 0x0d40d81b, 0x00006110, 0x0d00d01a, 0x0000c910, 0x0cc0c819, 0x00006110,
- 0x0c80c018, 0x0000c910, 0x0c40b817, 0x0000e110, 0x0c00b016, 0x00004910,
- 0x0b80a014, 0x00006110, 0x0bc0a815, 0x0000c910, 0x1e401079, 0x00006380,
- 0x1ea1cc39, 0x00000901, 0x5ea9cd39, 0x00006101, 0x10000079, 0x00006401,
- 0x9eb1ce39, 0x00006101, 0xe0001879, 0x0000e403, 0xdeb9cf39, 0x0000e101,
- 0x14616079, 0x0000e001, 0x1ec9c038, 0x0000872c, 0x1ed9c238, 0x0000872c,
- 0x1f09b837, 0x00008730, 0x1f19622c, 0x00008730, 0x1f49b036, 0x00008734,
- 0x1f59b236, 0x00008734, 0x1f89a835, 0x00008738, 0x1f99aa35, 0x00008738,
- 0x1fc9a034, 0x0000873c, 0x1fd9a234, 0x0000873c, 0x20099833, 0x00008800,
- 0x20199a33, 0x00008800, 0x20499032, 0x00008804, 0x20599232, 0x00008804,
- 0x20898831, 0x00008808, 0x20998a31, 0x00008808, 0x20c98030, 0x0000880c,
- 0x20d98230, 0x0000880c, 0x2109782f, 0x00008810, 0x21197a2f, 0x00008810,
- 0x0000049f, 0x0000f400, 0x2149702e, 0x00008814, 0x2151732e, 0x00008814,
- 0x046602a9, 0x0000f500, 0x11400000, 0x00007900, 0x0000be40, 0x00000980,
- 0x11800800, 0x00001980, 0x1a460000, 0x00006180, 0x00000071, 0x00006584,
- 0x1dc00000, 0x00006180, 0x00000071, 0x0000e405, 0x0d001c04, 0x0000e006,
- 0x80001071, 0x0000b405, 0x00216869, 0x0000e006, 0x00001877, 0x0000b106,
- 0x00001871, 0x0000e106, 0x413f1069, 0x00003002, 0x1b800000, 0x00007900,
- 0x00080000, 0x00000980, 0x1d001000, 0x00007900, 0x00008000, 0x00000980,
- 0x1d580800, 0x0000f900, 0x00004040, 0x00008980, 0xc0001877, 0x00006006,
- 0xc3202071, 0x0000b004, 0x1a340802, 0x00006180, 0x1a800000, 0x00004980,
- 0x1ac00000, 0x0000e180, 0x1c001002, 0x00004900, 0x1b000080, 0x000006f4,
- 0x1bc00000, 0x00006180, 0x9d901202, 0x0000c900, 0x1d802502, 0x000007a0,
- 0x1e400000, 0x000007e8, 0x1ec00000, 0x00001980, 0x008806ec, 0x00005f80,
- 0x00d06e80, 0x000082c4, 0x0000048e, 0x0000f400, 0x11400000, 0x00007900,
- 0x0000bec0, 0x00008980, 0x11800800, 0x00001980, 0x0200832e, 0x0000e080,
- 0xc2596b2d, 0x0000c900, 0x11480800, 0x00007900, 0x0000bec2, 0x00000980,
- 0x0200422e, 0x0000e300, 0x11805000, 0x00000980, 0x048f02a9, 0x0000f100,
- 0x0000049f, 0x0000f400, 0xb0001879, 0x00006c05, 0xf0000879, 0x0000ec01,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03c93800, 0x00007900,
- 0x002c8980, 0x00000980, 0x04979800, 0x00007900, 0x001cdbc6, 0x00000980,
- 0x02800000, 0x00006180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x049f0fe7, 0x00007500, 0x03394702, 0x0000001c, 0x81002800, 0x00006180,
- 0x01814829, 0x0000c900, 0x04a00311, 0x0000f100, 0x00001c29, 0x00001583,
- 0x000800ec, 0x00005780, 0x00006800, 0x00000080, 0x000808ec, 0x00005788,
- 0x00006802, 0x00008080, 0x000004a8, 0x00007010, 0x0090d6ec, 0x0000df80,
- 0x00007003, 0x00008084, 0x00003c29, 0x00009583, 0x000808ec, 0x00005788,
- 0x00006802, 0x00008080, 0x0080d6ec, 0x00005f80, 0x00007003, 0x00008084,
- 0x81000fe2, 0x0000e080, 0x00000039, 0x0000e586, 0x50e1c404, 0x0000a081,
- 0x50d03c04, 0x0000a082, 0x04460000, 0x00006180, 0x09406c05, 0x0000e000,
- 0x063ffa42, 0x0000f900, 0x0000001e, 0x00000280, 0x4001c039, 0x00006000,
- 0x06022811, 0x0000b006, 0x0001c439, 0x0000e004, 0x46022811, 0x0000b002,
- 0x01008439, 0x0000e283, 0x04121011, 0x0000a185, 0x01000800, 0x0000e190,
- 0x09806804, 0x00006008, 0x04000800, 0x0000f900, 0x00040014, 0x00000980,
- 0x01002405, 0x0000e000, 0x04800000, 0x00008980, 0x01801404, 0x0000e081,
- 0x0e022c05, 0x0000e006, 0x810016e3, 0x0000e080, 0x04c00000, 0x0000c980,
- 0x0cc0b804, 0x0000f902, 0x05800000, 0x00000100, 0x0cc0ac04, 0x0000f902,
- 0x05000000, 0x00008100, 0x06400000, 0x00009980, 0xffffffff, 0x00007f86,
- 0x05c0b818, 0x0000e002, 0x06000000, 0x00008980, 0x05400815, 0x0000e082,
- 0x05800016, 0x00000084, 0xc100270d, 0x00006283, 0x05000014, 0x00000084,
- 0x0cf8b804, 0x0000d100, 0x0038b000, 0x00000000, 0x0cf8ac04, 0x0000d100,
- 0x0038a000, 0x00008000, 0x05800000, 0x00007900, 0x00040000, 0x00000980,
- 0x05080000, 0x00007900, 0x0000c002, 0x00000980, 0x000004e0, 0x0000f410,
- 0x07400000, 0x0000e190, 0x05c33000, 0x00004980, 0x07400000, 0x0000e188,
- 0x05400000, 0x0000c980, 0x01008439, 0x00001283, 0x07400800, 0x00001988,
- 0xc100470d, 0x00006283, 0x01000000, 0x00008981, 0x01000800, 0x00006189,
- 0x06c02060, 0x0000c980, 0x0938670b, 0x00008220, 0x08004008, 0x00006100,
- 0x34e0201b, 0x00006001, 0x02008439, 0x0000e283, 0x07002060, 0x00008980,
- 0x0c000000, 0x0000f900, 0x00014000, 0x00008980, 0x0c800000, 0x00007900,
- 0x00020000, 0x00000980, 0x12580000, 0x00007900, 0x00200000, 0x00000980,
- 0xd341c028, 0x0000e014, 0xd3403824, 0x0000b014, 0x0c400000, 0x000083cc,
- 0x00000404, 0x0000e583, 0x12800040, 0x00008980, 0x08001a04, 0x00006106,
- 0x34e0e81c, 0x00003001, 0x0b000000, 0x00007900, 0x00224180, 0x00000980,
- 0x12000000, 0x0000f900, 0x00014000, 0x00008980, 0x12c12000, 0x0000f900,
- 0x00006080, 0x00000980, 0x14000000, 0x0000f900, 0x00108000, 0x00008980,
- 0x22136000, 0x00007900, 0x001acd18, 0x00008980, 0x1fbffa42, 0x0000f900,
- 0x0000001e, 0x00000280, 0x4c800000, 0x0000f900, 0x00002240, 0x00000980,
- 0x06806060, 0x0000e180, 0x04102049, 0x00006101, 0x0780c060, 0x00006180,
- 0x07c06060, 0x0000c980, 0x08c00000, 0x000002d4, 0x09800000, 0x000082dc,
- 0x0a400000, 0x000002e8, 0x0ac00000, 0x00006180, 0x08404809, 0x0000c900,
- 0x0880070a, 0x000002b4, 0x0b817000, 0x000082fc, 0x0d400000, 0x000003d8,
- 0x0de03000, 0x000001e3, 0x46404800, 0x0000e181, 0x8d121a43, 0x0000c900,
- 0x0d000543, 0x000004b0, 0x13402020, 0x00006180, 0x13802060, 0x0000c980,
- 0x13c00000, 0x000005c4, 0x14800000, 0x000085cc, 0x1d400004, 0x00006180,
- 0x1fe02c05, 0x00004900, 0x0c08720e, 0x00000300, 0x0c10680e, 0x00000304,
- 0x0c40690d, 0x00008304, 0x0521101e, 0x00007500, 0xccfa0740, 0x00006101,
- 0x9280e406, 0x00004080, 0x07408060, 0x00009980, 0x80000640, 0x0000e583,
- 0x16c00000, 0x00000980, 0x17800000, 0x0000e180, 0xc0000010, 0x0000644b,
- 0x41408541, 0x00006283, 0x0000185b, 0x0000a106, 0x17c00002, 0x0000e180,
- 0x0002005e, 0x0000e206, 0x81002302, 0x00006780, 0x19000000, 0x00000980,
- 0x19800000, 0x00006180, 0xc000185b, 0x0000e006, 0x16001000, 0x0000f900,
- 0x00004000, 0x00000980, 0x16400000, 0x0000f900, 0x00040080, 0x00008980,
- 0x17086000, 0x00007900, 0x00010000, 0x00000980, 0x17501800, 0x0000f900,
- 0x00004100, 0x00008980, 0x18402000, 0x0000f900, 0x00100000, 0x00000980,
- 0x001020ec, 0x0000d780, 0x00d073c2, 0x000080c0, 0x0002085f, 0x0000e106,
- 0x4510205e, 0x00003107, 0x16a81402, 0x00008528, 0x18202004, 0x0000e180,
- 0x188c0000, 0x0000c980, 0x18c00000, 0x000006d4, 0x19c00000, 0x000006e0,
- 0x1a400000, 0x00006180, 0x1ac1e03c, 0x00004900, 0x00000558, 0x00007410,
- 0x1a81e03d, 0x0000e000, 0xd9101202, 0x00008900, 0xd99a0b41, 0x0000e100,
- 0x97401800, 0x00004989, 0x82c030ec, 0x0000f902, 0x01400000, 0x00008604,
- 0x1b400020, 0x00006180, 0x0140a204, 0x0000c880, 0x08020004, 0x00006206,
- 0x0002086d, 0x00003106, 0x1b800000, 0x0000e180, 0x00000861, 0x00006402,
- 0x1b002005, 0x0000e300, 0x00000862, 0x0000a402, 0x0d001c04, 0x0000e006,
- 0x0010786e, 0x0000b302, 0x1bc00000, 0x00006180, 0xc320206d, 0x00006004,
- 0x19c0320f, 0x00009000, 0x009896ec, 0x0000df80, 0x00d07580, 0x00008384,
- 0x1c800000, 0x00006180, 0x1cc00002, 0x00004980, 0x00020072, 0x00006206,
- 0xc0001016, 0x00003407, 0x18100000, 0x00007900, 0x00008002, 0x00008980,
- 0x1d420000, 0x0000f900, 0x00020000, 0x00000980, 0x1c086000, 0x0000f900,
- 0x00008000, 0x00000980, 0x1c580800, 0x00007900, 0x00004080, 0x00008980,
- 0x0008b0ec, 0x0000d780, 0x00d07701, 0x00000180, 0x00020873, 0x00006106,
- 0x45102072, 0x0000b107, 0x85d00011, 0x000086c4, 0x18800000, 0x000086cc,
- 0x19000000, 0x000086d8, 0x1a800000, 0x000086ec, 0x1d000082, 0x00006180,
- 0x1d800000, 0x0000c980, 0x1dc00000, 0x00001980, 0x009896ec, 0x0000df80,
- 0x00007000, 0x00008084, 0x81c00fe2, 0x0000e080, 0x00000006, 0x0000e586,
- 0x50e1d407, 0x00002081, 0x50d1cc07, 0x00002082, 0x05bffa46, 0x0000f900,
- 0x0000001e, 0x00000280, 0x04460000, 0x00006180, 0x0e024c0f, 0x0000e006,
- 0x4001d006, 0x0000e000, 0x06024811, 0x0000b006, 0x0001d406, 0x00006004,
- 0x46024811, 0x0000b002, 0x01008406, 0x0000e283, 0x04123011, 0x00002185,
- 0x01c00800, 0x0000e190, 0x09806807, 0x00006008, 0x04800000, 0x00006180,
- 0x09406c04, 0x00006000, 0x01c03c04, 0x00006000, 0x04c00000, 0x00000980,
- 0x0e001407, 0x00006081, 0x05c11000, 0x00004980, 0x81c016e3, 0x0000e080,
- 0x06000000, 0x00004980, 0x0cc0a807, 0x00007902, 0x05000000, 0x00008100,
- 0x0cc02e07, 0x0000f902, 0x01000000, 0x00000100, 0x04000800, 0x0000f900,
- 0x00040004, 0x00008980, 0x06400000, 0x00009980, 0x0540a816, 0x00009002,
- 0x01400805, 0x0000e082, 0x05000014, 0x00000084, 0x01000004, 0x00009084,
- 0x0cf82e07, 0x0000d100, 0x00382000, 0x00000000, 0xc100270d, 0x00009283,
- 0x05800000, 0x00007900, 0x000c0000, 0x00008980, 0x0cf8a807, 0x00005100,
- 0x0038a000, 0x00008000, 0x000005a3, 0x0000f410, 0x05100000, 0x00007900,
- 0x0000c002, 0x00000980, 0x05400000, 0x0000e180, 0x01000000, 0x00004990,
- 0x01008406, 0x00001283, 0x01000000, 0x00009980, 0x01000800, 0x00009988,
- 0xc100470d, 0x00006283, 0x01c00000, 0x00008981, 0x07002060, 0x00006180,
- 0x01c00800, 0x00004989, 0x06c02060, 0x0000e180, 0x34e0201c, 0x0000e001,
- 0x0938670b, 0x00008220, 0x01008406, 0x0000e283, 0x34e0381b, 0x0000a001,
- 0x0c000000, 0x0000f900, 0x0001c000, 0x00000980, 0x0c800000, 0x00007900,
- 0x00020000, 0x00000980, 0x13580000, 0x0000f900, 0x00200000, 0x00000980,
- 0xd341d028, 0x00006014, 0xd341c824, 0x00003014, 0x0c400000, 0x000083cc,
- 0x00000407, 0x0000e583, 0x13800040, 0x00000980, 0x06806060, 0x0000e180,
- 0x08001a07, 0x00006106, 0x0b000000, 0x00007900, 0x00224180, 0x00000980,
- 0x13000000, 0x00007900, 0x00014000, 0x00008980, 0x13c18000, 0x00007900,
- 0x00006080, 0x00000980, 0x15000000, 0x00007900, 0x00108000, 0x00008980,
- 0x221f4800, 0x00007900, 0x0004af3a, 0x00000980, 0x1fbffa46, 0x00007900,
- 0x0000001e, 0x00000280, 0x4c800000, 0x0000f900, 0x00002600, 0x00000980,
- 0x07408060, 0x0000e180, 0x0410384d, 0x0000e101, 0x0780c060, 0x00006180,
- 0x07c0c060, 0x0000c980, 0x08c00000, 0x000002d4, 0x09800000, 0x000082dc,
- 0x0a400000, 0x000002e8, 0x0ac00000, 0x00006180, 0x08004008, 0x00004900,
- 0x08785709, 0x00000208, 0x0b400000, 0x000002f8, 0x0bc0002e, 0x000083d4,
- 0x0d800000, 0x000083dc, 0xc6205406, 0x000001e6, 0x0d2a3c47, 0x00008310,
- 0x14000000, 0x00006180, 0x14402020, 0x0000c980, 0x14802060, 0x00006180,
- 0x14c00000, 0x00004980, 0x15400000, 0x000005d8, 0x15c00000, 0x0000e180,
- 0x1d400004, 0x00004980, 0xdfd0700f, 0x00008300, 0x0c00710e, 0x00008300,
- 0x0c486a0d, 0x00000304, 0x05e3101e, 0x0000f500, 0x0c6a280d, 0x0000030e,
- 0x9380e438, 0x00001080, 0x41008545, 0x00006283, 0x17c00000, 0x00008980,
- 0x97901202, 0x0000e100, 0x0000185f, 0x0000e106, 0x17001000, 0x00007900,
- 0x00004000, 0x00000980, 0x000005f4, 0x00007408, 0x17400000, 0x00007900,
- 0x00040080, 0x00008980, 0xd7981302, 0x00006100, 0xc000185f, 0x00006006,
- 0x05c00000, 0x0000e181, 0xc0000016, 0x0000e407, 0x001020ec, 0x0000d780,
- 0x00d073c2, 0x00008180, 0x00989eec, 0x00005f80, 0x00d075c0, 0x000080c4,
- 0x18800000, 0x0000e180, 0x08022007, 0x0000e206, 0x19006800, 0x00006180,
- 0x00022062, 0x00006206, 0x18c00002, 0x0000e180, 0x81002302, 0x0000c780,
- 0x19400080, 0x0000e180, 0x1d480004, 0x0000c980, 0xd9103a07, 0x00006100,
- 0x00022863, 0x00006106, 0x08022007, 0x0000e206, 0x45102062, 0x00003107,
- 0x1808e000, 0x0000f900, 0x0000d880, 0x00000980, 0x18401000, 0x0000f900,
- 0x00014000, 0x00008980, 0x001020ec, 0x0000d780, 0x00d073c2, 0x00008180,
- 0x223d6000, 0x00007900, 0x0004af3a, 0x00000980, 0x19800000, 0x000086dc,
- 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1fc00000, 0x000087f8,
- 0x060f101e, 0x00007500, 0x19687c47, 0x00000616, 0xdd503a07, 0x00001900,
- 0x00989eec, 0x00005f80, 0x00d075c0, 0x00008284, 0x92800fe2, 0x0000e080,
- 0x00000006, 0x0000e586, 0x50e10c4a, 0x00002081, 0x50d1044a, 0x0000a082,
- 0x05bffa46, 0x0000f900, 0x0000001e, 0x00000280, 0x04460000, 0x00006180,
- 0x0e024c07, 0x00006006, 0x40010806, 0x0000e000, 0x06024811, 0x0000b006,
- 0x00010c06, 0x00006004, 0x46024811, 0x0000b002, 0x01008406, 0x0000e283,
- 0x04123011, 0x00002185, 0x12800800, 0x0000e190, 0x0980684a, 0x00006008,
- 0x04800000, 0x00006180, 0x09406c04, 0x00006000, 0x01025404, 0x00006000,
- 0x04c00000, 0x00000980, 0x928016e3, 0x0000e080, 0x03c01404, 0x0000c881,
- 0x0cc0284a, 0x0000f902, 0x01000000, 0x00000100, 0x0cc0ae4a, 0x00007902,
- 0x05000000, 0x00008100, 0x04000800, 0x0000f900, 0x00040004, 0x00008980,
- 0x05c00022, 0x000001e0, 0x01402816, 0x00006002, 0x06400000, 0x00000980,
- 0x05400815, 0x0000e082, 0x01000004, 0x00000084, 0x0cf8284a, 0x0000d100,
- 0x00382000, 0x00000000, 0xc100270d, 0x00006283, 0x05000014, 0x00000084,
- 0x05800000, 0x00007900, 0x000c0000, 0x00008980, 0x0cf8ae4a, 0x00005100,
- 0x0038a000, 0x00008000, 0x00000642, 0x0000f410, 0x05180000, 0x0000f900,
- 0x00010002, 0x00008980, 0x05400000, 0x0000e180, 0x01000000, 0x00004990,
- 0x01008406, 0x00001283, 0x01000000, 0x00009980, 0x01000800, 0x00009988,
- 0xc100470d, 0x00006283, 0x01400000, 0x00000981, 0x07002060, 0x00006180,
- 0x0a00580b, 0x0000c900, 0x0b00600c, 0x00006100, 0x34e0201c, 0x0000e001,
- 0x01400800, 0x0000e189, 0x09004008, 0x0000c900, 0x01008406, 0x0000e283,
- 0x022242ec, 0x00000101, 0x13600000, 0x00007900, 0x00200000, 0x00000980,
- 0xd341082c, 0x0000e014, 0xd3410028, 0x0000b014, 0x00000405, 0x00006583,
- 0x08001a04, 0x0000a106, 0x06c02060, 0x0000e180, 0x0410204d, 0x0000e101,
- 0x01001c08, 0x0000e283, 0x0d400000, 0x00008980, 0x0d000000, 0x00007900,
- 0x0001c000, 0x00000980, 0x0d800000, 0x0000f900, 0x00020000, 0x00000980,
- 0x13c00000, 0x00007900, 0x00006080, 0x00000980, 0x0dc00000, 0x0000e180,
- 0x13800040, 0x0000c980, 0x08000040, 0x00006180, 0x34e0281b, 0x0000e001,
- 0x0c000000, 0x0000f900, 0x00224180, 0x00000980, 0x13000000, 0x00007900,
- 0x00014000, 0x00008980, 0x16000000, 0x00007900, 0x00108000, 0x00008980,
- 0x4d800000, 0x00007900, 0x00002600, 0x00000980, 0x06806060, 0x0000e180,
- 0x07408060, 0x0000c980, 0x0780c060, 0x00006180, 0x07c0c060, 0x0000c980,
- 0x09c00000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b400000, 0x000002f8,
- 0x0bc00000, 0x0000e180, 0x09404809, 0x00004900, 0x0980070a, 0x00000384,
- 0x0c817000, 0x000083cc, 0x0e400000, 0x000003e8, 0x0ec00000, 0x000082c8,
- 0x08e03800, 0x000081e3, 0x46405800, 0x00006181, 0x8e123a47, 0x0000c900,
- 0xce1a3b47, 0x00006100, 0x14008160, 0x00004980, 0x14402020, 0x0000e180,
- 0x14802060, 0x00004980, 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8,
- 0x15c00000, 0x000085e4, 0x16800000, 0x000085ec, 0x08400000, 0x00006180,
- 0x8d706e0d, 0x0000c901, 0x0d40690d, 0x00008314, 0x0d08720e, 0x00000310,
- 0x0d20740e, 0x0000e101, 0x93c18248, 0x0000c080, 0x000006b5, 0x00007410,
- 0xcdf22e45, 0x0000e101, 0x9380e40f, 0x0000c080, 0x01401c08, 0x0000e281,
- 0x88124248, 0x00000900, 0x2203a800, 0x00007900, 0x0004af3c, 0x00000980,
- 0x0692101e, 0x0000f500, 0x1fbffa46, 0x00007900, 0x0000001e, 0x00000280,
- 0x1fe03c07, 0x00006100, 0x1d400004, 0x00004980, 0x18800000, 0x000085fc,
- 0x81002302, 0x00006780, 0x00022062, 0x0000a206, 0x0802204a, 0x0000e206,
- 0x0000185f, 0x0000b106, 0x18c00002, 0x0000e180, 0x45102062, 0x00006107,
- 0x19006800, 0x00006180, 0x08022004, 0x0000e206, 0x19400080, 0x0000e180,
- 0x1d480004, 0x0000c980, 0x17001000, 0x00007900, 0x00004000, 0x00000980,
- 0x17400000, 0x00007900, 0x00040080, 0x00008980, 0x1808e000, 0x0000f900,
- 0x0000d880, 0x00000980, 0x18401000, 0x0000f900, 0x00014000, 0x00008980,
- 0x001820ec, 0x00005780, 0x00d073c2, 0x00008180, 0x221f5800, 0x0000f900,
- 0x0004af3c, 0x00000980, 0xc000185f, 0x00006006, 0x00022863, 0x00003106,
- 0x17a81402, 0x00008538, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4,
- 0x1a800000, 0x000086ec, 0x1fc00000, 0x000087f8, 0x06b3101e, 0x0000f500,
- 0x9922394a, 0x00008614, 0x9d687904, 0x00008616, 0x00809eec, 0x00005f80,
- 0x00d075c1, 0x00000284, 0x0cf8304a, 0x0000a180, 0x01000405, 0x0000f900,
- 0x00002600, 0x00000380, 0x0cf8284a, 0x00002100, 0x4d802004, 0x00006100,
- 0x30000050, 0x00006401, 0x01001c08, 0x0000e280, 0x80000850, 0x0000a401,
- 0x01803004, 0x00006002, 0x1d400004, 0x00008980, 0x01400005, 0x00006084,
- 0x1fe03c07, 0x00008900, 0x2203a800, 0x00007900, 0x0004af3c, 0x00000980,
- 0x1fbffa46, 0x00007900, 0x0000001e, 0x00000280, 0x06c9101e, 0x00007500,
- 0x0cf8304a, 0x0000d100, 0x00382800, 0x00008000, 0x94001c08, 0x00001280,
- 0x18800000, 0x000085fc, 0x81002302, 0x00006780, 0x00022062, 0x0000a206,
- 0x0802204a, 0x0000e206, 0x0000185f, 0x0000b106, 0x18c00002, 0x0000e180,
- 0x45102062, 0x00006107, 0x19006800, 0x00006180, 0x08022004, 0x0000e206,
- 0x19400080, 0x0000e180, 0x1d480004, 0x0000c980, 0x17001000, 0x00007900,
- 0x00004000, 0x00000980, 0x17400000, 0x00007900, 0x00040080, 0x00008980,
- 0x1808e000, 0x0000f900, 0x0000d880, 0x00000980, 0x18401000, 0x0000f900,
- 0x00014000, 0x00008980, 0x001820ec, 0x00005780, 0x00d073c2, 0x00008180,
- 0x221f5800, 0x0000f900, 0x0004af3c, 0x00000980, 0xc000185f, 0x00006006,
- 0x00022863, 0x00003106, 0x17a81402, 0x00008538, 0x19800000, 0x000086dc,
- 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1fc00000, 0x000087f8,
- 0x06ea101e, 0x0000f500, 0x9922394a, 0x00008614, 0x9d687904, 0x00008616,
- 0x00809eec, 0x00005f80, 0x00d075c1, 0x00000284, 0x8e000fe2, 0x0000e080,
- 0x00000006, 0x0000e586, 0x50e1ec38, 0x0000a081, 0x50d1d438, 0x00002082,
- 0x04400000, 0x00006180, 0x0a41e23b, 0x00006100, 0x06022811, 0x0000e006,
- 0x0e022c39, 0x0000b006, 0x4001e806, 0x00006000, 0x46022811, 0x0000b002,
- 0x0001ec06, 0x0000e004, 0x66022811, 0x0000b000, 0x01008406, 0x0000e283,
- 0x76022811, 0x0000a000, 0x0e000800, 0x0000e190, 0x09806838, 0x00006008,
- 0x41040545, 0x00006283, 0x09406c04, 0x0000a000, 0x0e01c404, 0x00006000,
- 0x04122011, 0x0000218d, 0x0f801438, 0x00006081, 0x18000000, 0x00004980,
- 0x18400000, 0x0000e180, 0x0c01fa38, 0x00006192, 0x8e1a2238, 0x00006110,
- 0x18800000, 0x00000980, 0x18c00000, 0x00006180, 0x0411c011, 0x00006195,
- 0x8e0016e3, 0x0000e080, 0x19000000, 0x0000c980, 0x0cc02838, 0x0000f902,
- 0x01000000, 0x00000100, 0x0cc07e38, 0x0000f902, 0x01c00000, 0x00000100,
- 0x19400000, 0x00006180, 0x0c008a14, 0x00006184, 0x04001800, 0x00007900,
- 0x00040000, 0x00000980, 0x01402a14, 0x00006002, 0x19800000, 0x00008980,
- 0x01000004, 0x00006084, 0x19c00000, 0x00000980, 0x03c0080f, 0x0000e082,
- 0x1a000000, 0x00000980, 0x0cf82838, 0x0000d100, 0x00382000, 0x00000000,
- 0x01c00007, 0x00006084, 0x1a400000, 0x00008980, 0xc100270d, 0x00006283,
- 0x1a800000, 0x00008980, 0x05000000, 0x0000f900, 0x00010002, 0x00008980,
- 0x0cf87e38, 0x0000d100, 0x00383800, 0x00000000, 0x1ac00000, 0x000086f0,
- 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0, 0x1c400000, 0x000007c8,
- 0x1cc00000, 0x000081c8, 0x04c00000, 0x000001d4, 0x05800000, 0x000081dc,
- 0x0000072f, 0x0000f410, 0x06000000, 0x000081e4, 0x01000000, 0x00001990,
- 0x01008406, 0x00001283, 0x01000000, 0x00009980, 0x01000800, 0x00009988,
- 0xc100470d, 0x00006283, 0x0e000000, 0x00008981, 0x07002060, 0x00006180,
- 0x0900580b, 0x0000c900, 0x0a00600c, 0x0000e100, 0x34e0201c, 0x0000e001,
- 0x0e000800, 0x00006189, 0x06c02060, 0x0000c980, 0x01008406, 0x0000e283,
- 0x07c00040, 0x00008980, 0xd341e828, 0x0000e014, 0xd341d024, 0x00003014,
- 0x00000438, 0x0000e583, 0x34e1c01b, 0x0000a001, 0xc102073f, 0x0000e283,
- 0x06806060, 0x00000980, 0x0b000000, 0x00007900, 0x00224180, 0x00000980,
- 0x07408060, 0x0000e180, 0x0780c060, 0x00004980, 0x08c00000, 0x000002d4,
- 0x09800000, 0x000082dc, 0x0a400000, 0x000002e8, 0x0ac00000, 0x00006180,
- 0x08004008, 0x00004900, 0x08785709, 0x00000208, 0x0b400000, 0x000002f8,
- 0x0bc00036, 0x000083d8, 0x0dc00000, 0x0000e180, 0x8c706e0d, 0x00004901,
- 0x0c40690d, 0x00008304, 0x0c08720e, 0x00000300, 0x00000754, 0x0000f408,
- 0x0c20300e, 0x000081a3, 0x07e04444, 0x000081a6, 0x41020545, 0x00009283,
- 0x0bc17000, 0x00009991, 0x0e01c63c, 0x0000e281, 0x12800040, 0x00008980,
- 0x0000c438, 0x0000e583, 0x1d40000e, 0x00008980, 0x0e000000, 0x0000f908,
- 0x00002400, 0x00008980, 0x0e000400, 0x0000e190, 0x08001b75, 0x0000e106,
- 0x12600000, 0x0000f900, 0x00200000, 0x00000980, 0x12c00000, 0x0000f900,
- 0x00006080, 0x00000980, 0x4c81c038, 0x0000e100, 0xccaa0d41, 0x0000c901,
- 0xcc220c41, 0x00006101, 0x08001a38, 0x00006106, 0x12000000, 0x0000f900,
- 0x00014000, 0x00008980, 0x15000000, 0x00007900, 0x00104000, 0x00008980,
- 0x2218e800, 0x0000f900, 0x00254cd4, 0x00008980, 0x8cfa0f41, 0x0000e101,
- 0x0411c049, 0x00006101, 0xcc720e41, 0x0000e101, 0x8cd1fc45, 0x0000c000,
- 0x0ce2133d, 0x00008310, 0x0d3a0542, 0x00008314, 0x13000060, 0x0000e180,
- 0x13402020, 0x00004980, 0x13802060, 0x0000e180, 0x13c00000, 0x0000c980,
- 0x14000000, 0x000085c4, 0x14800000, 0x000085cc, 0x15400000, 0x000005d8,
- 0x15c00000, 0x0000e180, 0x1fd1da3b, 0x00004900, 0x077d101e, 0x0000f500,
- 0x1fa1cc39, 0x0000e100, 0x9280e43e, 0x0000c080, 0x92c0c244, 0x00001080,
- 0x0c822c06, 0x0000e000, 0x0c422c05, 0x0000b000, 0x1d48000e, 0x0000e180,
- 0x0c008a38, 0x0000e184, 0x22191000, 0x0000f900, 0x00254cd4, 0x00008980,
- 0x0786101e, 0x00007500, 0xdff1c005, 0x0000873a, 0xdd603406, 0x00001900,
- 0x1d50000e, 0x0000e180, 0x1f800000, 0x00004980, 0x078c101e, 0x00007500,
- 0x2219f000, 0x00007900, 0x00254cd4, 0x00008980, 0x9d7a2144, 0x0000073e,
- 0xc102073f, 0x0000e283, 0x17000000, 0x00008980, 0x17400000, 0x0000e180,
- 0x8e01843e, 0x00004080, 0x0010b0ec, 0x0000d780, 0x00007000, 0x00000080,
- 0x16000800, 0x00006180, 0x0411c05d, 0x00006183, 0x16400000, 0x000005e8,
- 0x0000079c, 0x00007408, 0x16c00000, 0x000005f8, 0xd701a43e, 0x00006080,
- 0x17c00000, 0x00008980, 0x41020545, 0x00009283, 0x44028000, 0x00006191,
- 0xa0000868, 0x0000e412, 0x41040545, 0x00009283, 0x44028000, 0x00006191,
- 0x0e000000, 0x0000c989, 0x000007c0, 0x00007009, 0xc104073f, 0x00001283,
- 0x4c800520, 0x00006190, 0xa0000868, 0x00006413, 0xd5021000, 0x0000e191,
- 0x0e01c63c, 0x0000c291, 0x000007bf, 0x00007008, 0x0000c438, 0x0000e583,
- 0x01a222ec, 0x00008101, 0x4c800000, 0x00007908, 0x00002600, 0x00000980,
- 0xe0000868, 0x0000e40b, 0xe0000869, 0x0000b40a, 0x01001c06, 0x00006283,
- 0x93008000, 0x00000980, 0x01401c06, 0x00006281, 0x3000084c, 0x0000a401,
- 0x0e099405, 0x0000e310, 0x3000004c, 0x0000a411, 0x000007bf, 0x00007008,
- 0x4c81c038, 0x0000e100, 0x8000084c, 0x0000e401, 0x8e0016e3, 0x0000e080,
- 0x93001c06, 0x00004280, 0x0cc02838, 0x0000f902, 0x01000000, 0x00000100,
- 0x01801c06, 0x00001280, 0xffffffff, 0x00007f97, 0x01402806, 0x00001002,
- 0x01000004, 0x00009084, 0x0cf82838, 0x0000d100, 0x00382000, 0x00000000,
- 0x0e001000, 0x00009981, 0x41078510, 0x00001283, 0x1a002068, 0x0000e390,
- 0xdb101202, 0x00008910, 0x1a88006a, 0x0000e390, 0x1cc00000, 0x00008990,
- 0x000007dd, 0x0000f008, 0x18c00000, 0x00006180, 0x0801e004, 0x00006204,
- 0x19501800, 0x00007900, 0x00004000, 0x00000980, 0x19800000, 0x00006180,
- 0x00001863, 0x0000e106, 0x19c00002, 0x00006180, 0x00002066, 0x00006206,
- 0x9961c438, 0x0000e101, 0xc0001863, 0x00006006, 0x8e002302, 0x00006780,
- 0x0011d867, 0x0000a106, 0x18001000, 0x00007900, 0x00004000, 0x00000980,
- 0x18400000, 0x00007900, 0x00040080, 0x00008980, 0x19086000, 0x0000f900,
- 0x00010000, 0x00000980, 0x0008c0ec, 0x00005780, 0x00007001, 0x00008080,
- 0x98901202, 0x0000e100, 0x4511c066, 0x0000e107, 0xd8981302, 0x00001900,
- 0x009026ec, 0x0000df80, 0x00d07482, 0x00000284, 0xff000c05, 0x00004488,
- 0xc6000c05, 0x000081af, 0xfe801405, 0x0000788b, 0xe0000000, 0x0000038f,
- 0x03001c08, 0x00006283, 0x03400000, 0x00008981, 0x844016e3, 0x00009888,
- 0x0cc00011, 0x0000d188, 0x00400000, 0x00008000, 0x0000080a, 0x0000f010,
- 0x0cc00211, 0x0000d180, 0x00400000, 0x00008000, 0x0cc00411, 0x0000d180,
- 0x00400000, 0x00008000, 0x0cc00611, 0x00005180, 0x00400000, 0x00008000,
- 0x0cc00011, 0x0000d100, 0x00400000, 0x00000080, 0x0cc00211, 0x00005100,
- 0x00400000, 0x00000080, 0x0000080a, 0x0000f400, 0x0cc00411, 0x00005100,
- 0x00400000, 0x00000080, 0x0cc00611, 0x0000d100, 0x00400000, 0x00000080,
- 0x0000080a, 0x0000f200, 0x03400800, 0x00009981, 0x0000080a, 0x0000f200,
- 0x03401000, 0x00009981, 0x01802004, 0x0000e100, 0x08001a09, 0x0000e106,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03ded000, 0x00007900,
- 0x000c231a, 0x00008980, 0x04ba9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x02800000, 0x00006180, 0xc2700600, 0x00004901, 0x82781400, 0x00000030,
- 0x080a0fe7, 0x00007500, 0x01c02f06, 0x00008091, 0x01802805, 0x00009900,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x82c074ec, 0x0000f902,
- 0x03000000, 0x00008604, 0x0478200d, 0x0000863c, 0x0020280d, 0x00006886,
- 0x8228280d, 0x0000e886, 0x0300700e, 0x0000e100, 0x0418280d, 0x0000e187,
- 0x03b86f0c, 0x0000003c, 0x1b40700e, 0x00006100, 0x0000200c, 0x00006586,
- 0x1b80780f, 0x00006100, 0x0428280c, 0x0000e087, 0x8620280c, 0x0000e887,
- 0x082010cf, 0x00007500, 0x1b06d800, 0x0000f900, 0x0032a52e, 0x00000980,
- 0x1ac0600c, 0x00001900, 0x082214ae, 0x0000f300, 0x07808f04, 0x0000813f,
- 0x04464000, 0x00007900, 0x00002000, 0x00000980, 0x0c800000, 0x000083cc,
- 0x04000800, 0x0000f900, 0x00080000, 0x00000980, 0x04800000, 0x0000f900,
- 0x00002000, 0x00000980, 0x06000000, 0x0000f900, 0x00004000, 0x00000980,
- 0x06840000, 0x0000f900, 0x000080c0, 0x00000980, 0x08400000, 0x0000f900,
- 0x00260000, 0x00000980, 0x0c009000, 0x0000f900, 0x00011940, 0x00000980,
- 0x0c400000, 0x00007900, 0x00010000, 0x00000980, 0x413f1011, 0x00006002,
- 0xc0001833, 0x00003006, 0x04c00000, 0x0000e180, 0x05081001, 0x0000c980,
- 0x05400000, 0x000001d8, 0x05c00000, 0x00006180, 0x06480001, 0x0000c980,
- 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0,
- 0x08800000, 0x000082cc, 0x09000000, 0x000082d4, 0x09800000, 0x000082dc,
- 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4,
- 0x0b800000, 0x000082fc, 0x0d382f04, 0x00000314, 0x0db83f06, 0x0000031c,
- 0x0e384f08, 0x00000324, 0x0eb85f0a, 0x0000032c, 0xcc981302, 0x00001900,
- 0x009826ec, 0x00005f80, 0x00007002, 0x00000084, 0x8e800fe2, 0x00006080,
- 0x00000007, 0x00006586, 0x50e0343a, 0x0000a081, 0x50d02c3a, 0x0000a082,
- 0x04400000, 0x000001c8, 0x04c00000, 0x0000e180, 0x06020811, 0x00006006,
- 0x40003007, 0x00006000, 0x46020811, 0x00003002, 0x00003407, 0x0000e004,
- 0x66020811, 0x00003000, 0x01008407, 0x00006283, 0x76020811, 0x00002000,
- 0x0e800800, 0x00006190, 0x0980683a, 0x0000e008, 0x41040541, 0x0000e283,
- 0x09406c04, 0x0000a000, 0x0e41d404, 0x00006000, 0x04120011, 0x0000a18d,
- 0x8e8016e3, 0x00006080, 0x0e001439, 0x0000c881, 0x06000000, 0x00006180,
- 0x0c01fa39, 0x0000e192, 0x0cc0a83a, 0x0000f902, 0x05000000, 0x00008100,
- 0x06400000, 0x0000e180, 0x8e5a0239, 0x00004110, 0x0cc0ba3a, 0x0000f902,
- 0x05800000, 0x00000100, 0x0411c811, 0x00006995, 0x04001800, 0x00007900,
- 0x00040000, 0x00000980, 0x0c008a04, 0x00006984, 0x0540aa04, 0x00001002,
- 0x05c00817, 0x0000e082, 0x05000014, 0x00000084, 0xc100270d, 0x00006283,
- 0x05800016, 0x00000084, 0x0cf8a83a, 0x0000d100, 0x0038a000, 0x00008000,
- 0x0cf8ba3a, 0x0000d100, 0x0038b000, 0x00000000, 0x05000000, 0x0000f900,
- 0x00010002, 0x00008980, 0x0000087e, 0x00007410, 0x01000000, 0x00006190,
- 0x05400000, 0x0000c980, 0x05800000, 0x000081dc, 0x01008407, 0x00009283,
- 0x01000000, 0x00009980, 0x01000800, 0x00009988, 0xc100470d, 0x00006283,
- 0x0e400000, 0x00000981, 0x07002060, 0x00006180, 0x0900580b, 0x0000c900,
- 0x0a00600c, 0x0000e100, 0x34e0201c, 0x0000e001, 0x0e400800, 0x0000e189,
- 0x06c02060, 0x0000c980, 0x01008407, 0x00006283, 0x0c400000, 0x00000980,
- 0xd3403028, 0x00006014, 0xd3402824, 0x00003014, 0x00000439, 0x00006583,
- 0x34e1c81b, 0x00002001, 0xc102073f, 0x0000e283, 0x06806060, 0x00000980,
- 0x0b000000, 0x00007900, 0x00224180, 0x00000980, 0x07408060, 0x0000e180,
- 0x0780c060, 0x00004980, 0x07c000c0, 0x0000e180, 0x08c00000, 0x0000c980,
- 0x09400000, 0x000002d8, 0x09c00000, 0x000082e4, 0x0a800000, 0x000082ec,
- 0x08384f08, 0x00000204, 0x0880070a, 0x000002b4, 0x0b81b000, 0x000082fc,
- 0x0cc00000, 0x000003d8, 0x0dc00000, 0x0000e180, 0x8c30760e, 0x0000c901,
- 0x0c00710e, 0x00008300, 0xc6204406, 0x000081e6, 0x000008a4, 0x0000f408,
- 0x0c486a0d, 0x00000304, 0x0c606c0d, 0x00009901, 0x41020541, 0x00001283,
- 0x0bc17000, 0x00009991, 0x11600000, 0x0000f900, 0x00200000, 0x00000980,
- 0x8102063c, 0x0000e283, 0x08001a04, 0x0000a106, 0x04102045, 0x00006101,
- 0xc0000010, 0x0000b413, 0x11800040, 0x00006180, 0x16000000, 0x0000c980,
- 0x41040541, 0x0000e283, 0x0801e005, 0x00002204, 0x16400000, 0x00006180,
- 0x9180e438, 0x0000c080, 0xd601a438, 0x0000e080, 0xcc000800, 0x00008981,
- 0x8e018438, 0x0000e080, 0x8cd1fc41, 0x00008000, 0x0c804000, 0x0000f900,
- 0x00020000, 0x00000980, 0x11000000, 0x0000f900, 0x00014000, 0x00008980,
- 0x11c00000, 0x0000f900, 0x00006180, 0x00008980, 0x14000000, 0x0000f900,
- 0x00104000, 0x00008980, 0xccf9ef3d, 0x00006101, 0x0411c059, 0x0000e183,
- 0x0d21ec3e, 0x00008317, 0x12008160, 0x00006180, 0x12402020, 0x0000c980,
- 0x12802060, 0x00006180, 0x12c00000, 0x00004980, 0x13000000, 0x000084f4,
- 0x13800000, 0x000084fc, 0x14400000, 0x000005c8, 0x14c00800, 0x000005d0,
- 0x15400000, 0x000005d8, 0x000008ef, 0x0000f408, 0x15c00000, 0x000085e8,
- 0x16c00000, 0x0000e180, 0xcd102a05, 0x00004900, 0x17c00000, 0x000086c8,
- 0xc104073f, 0x0000e283, 0x0000185f, 0x00002106, 0x18c00002, 0x0000e180,
- 0x00002862, 0x00006206, 0x81802302, 0x0000e780, 0x0a41e205, 0x00002100,
- 0xc000185f, 0x00006006, 0xc0001810, 0x00003406, 0x17001000, 0x00007900,
- 0x00004000, 0x00000980, 0x17400000, 0x00007900, 0x00040080, 0x00008980,
- 0x18086000, 0x00007900, 0x00008000, 0x00000980, 0x18580800, 0x0000f900,
- 0x00004080, 0x00008980, 0x00102863, 0x00006106, 0x45103062, 0x0000b107,
- 0x17a81402, 0x00008538, 0x000008ed, 0x00007408, 0x19000000, 0x000086d4,
- 0x19800000, 0x000086dc, 0x0e6202ec, 0x00006101, 0x80000864, 0x0000a403,
- 0x4c804120, 0x0000e180, 0xd4021000, 0x0000c981, 0x01c01c39, 0x00006283,
- 0x01001c39, 0x00008281, 0xc100170d, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00000906, 0x00007010, 0x000008f1, 0x00007010, 0x009026ec, 0x0000df80,
- 0x00d07442, 0x000084c4, 0x009026ec, 0x0000df80, 0x00d07442, 0x00008384,
- 0x82c038ec, 0x00007902, 0x01000000, 0x00000604, 0x1a400020, 0x0000e180,
- 0x0801e03a, 0x0000e204, 0x0e40a206, 0x00006080, 0x00102869, 0x00006106,
- 0x1a800000, 0x00006180, 0x1a01d039, 0x00004300, 0x0d001c39, 0x00006006,
- 0xc0000816, 0x00003407, 0xe0000864, 0x00006403, 0x00000865, 0x00003403,
- 0x0008d0ec, 0x0000d780, 0x00007000, 0x00000080, 0x0010786a, 0x00006302,
- 0xc321c869, 0x00003004, 0x1ac33000, 0x000001de, 0x19c03a0f, 0x0000e000,
- 0x98400e61, 0x00008181, 0x009026ec, 0x0000df80, 0x00d07442, 0x000084c4,
- 0x0cc0403a, 0x0000f902, 0x01c00000, 0x00000100, 0x01004404, 0x0000f900,
- 0x00000240, 0x00008380, 0x4c802004, 0x0000e100, 0x30000048, 0x00006401,
- 0x01001c39, 0x00006280, 0x80000848, 0x0000a401, 0x02004004, 0x00006002,
- 0x92001c39, 0x00000280, 0x01c00007, 0x00009084, 0x0cf8403a, 0x0000d100,
- 0x00383800, 0x00000000, 0x3b40170d, 0x0000f88e, 0x88400000, 0x00000487,
- 0x8ec00fe2, 0x0000e080, 0x00000038, 0x00006586, 0x50e03c3b, 0x0000a081,
- 0x50d0343b, 0x00002082, 0x04400000, 0x00006180, 0x0a41e205, 0x0000e100,
- 0x04800000, 0x00006180, 0x06020811, 0x00006006, 0x40003838, 0x0000e000,
- 0x46020811, 0x00003002, 0x00003c38, 0x00006004, 0x66020811, 0x00003000,
- 0x01008438, 0x00006283, 0x76020811, 0x00002000, 0x0ec00800, 0x0000e190,
- 0x0980683b, 0x00006008, 0x41040541, 0x0000e283, 0x09406c04, 0x0000a000,
- 0x0e81dc04, 0x0000e000, 0x04120011, 0x0000a18d, 0x8ec016e3, 0x0000e080,
- 0x0e40143a, 0x00004881, 0x0c01fa3a, 0x0000e192, 0x0e020c04, 0x0000b006,
- 0x0cc0a83b, 0x00007902, 0x05000000, 0x00008100, 0x8e9a023a, 0x0000e110,
- 0x04c00000, 0x00000980, 0x0cc0ba3b, 0x00007902, 0x05800000, 0x00000100,
- 0x06000000, 0x00006180, 0x0411d011, 0x0000e195, 0x04001800, 0x00007900,
- 0x00040000, 0x00000980, 0x06400000, 0x0000e180, 0x0c008a0f, 0x00006184,
- 0x0540aa0f, 0x00009002, 0x05c00817, 0x0000e082, 0x05000014, 0x00000084,
- 0xc100270d, 0x00006283, 0x05800016, 0x00000084, 0x0cf8a83b, 0x00005100,
- 0x0038a000, 0x00008000, 0x0cf8ba3b, 0x00005100, 0x0038b000, 0x00000000,
- 0x05000000, 0x0000f900, 0x00010002, 0x00008980, 0x0000094b, 0x0000f410,
- 0x07400000, 0x0000e190, 0x05400000, 0x0000c980, 0x05c00000, 0x000081d8,
- 0x03c08438, 0x0000e283, 0x07400000, 0x00008980, 0x07400800, 0x00001988,
- 0xc100470d, 0x00006283, 0x0e800000, 0x00000981, 0x0938670b, 0x00008220,
- 0x08004008, 0x00006100, 0x0e800800, 0x0000c989, 0x02008438, 0x00006283,
- 0x06c02060, 0x00000980, 0xd3403828, 0x0000e014, 0xd3403024, 0x00003014,
- 0x0000043a, 0x00006583, 0x07002060, 0x00008980, 0xc102073f, 0x0000e283,
- 0x0c400000, 0x00000980, 0x0b000000, 0x00007900, 0x00224180, 0x00000980,
- 0x34e1d01b, 0x0000e001, 0x34e0e81c, 0x00003001, 0x06806060, 0x0000e180,
- 0x0780c060, 0x00004980, 0x07c000c0, 0x0000e180, 0x08c00000, 0x0000c980,
- 0x09400000, 0x000002d8, 0x09c00000, 0x000082e4, 0x0a800000, 0x000082ec,
- 0x08785709, 0x00000208, 0x0b400000, 0x000002f8, 0x0bc00036, 0x000083cc,
- 0x0d800000, 0x000083dc, 0x0c08720e, 0x00000300, 0x0c20300e, 0x000081a3,
- 0x46404000, 0x00006181, 0x8c706e0d, 0x00004901, 0x00000970, 0x00007408,
- 0x0c40690d, 0x00008304, 0x07408060, 0x00009980, 0x41020541, 0x00001283,
- 0x0bc17000, 0x00009991, 0x0c800000, 0x00007900, 0x00020000, 0x00000980,
- 0x11600000, 0x0000f900, 0x00200000, 0x00000980, 0x11800040, 0x00006180,
- 0x08001a3a, 0x0000e106, 0x1d400008, 0x00006180, 0x0411d045, 0x0000e101,
- 0x11000000, 0x0000f900, 0x00014000, 0x00008980, 0x11c00000, 0x0000f900,
- 0x00006180, 0x00008980, 0x14000000, 0x0000f900, 0x00104000, 0x00008980,
- 0x22108000, 0x0000f900, 0x0010ce32, 0x00000980, 0x4c804000, 0x00007900,
- 0x00002000, 0x00000980, 0xcc000800, 0x00006181, 0x08001b75, 0x0000e106,
- 0x8cd1fc41, 0x0000e000, 0xccf9ef3d, 0x00008901, 0x0d21ec3e, 0x00008317,
- 0xcd19f33e, 0x00006100, 0x12008160, 0x00004980, 0x12402020, 0x0000e180,
- 0x12802060, 0x00004980, 0x12c00000, 0x000084f0, 0x13400000, 0x000004f8,
- 0x13c00000, 0x000005c4, 0x14800000, 0x000085cc, 0x0992101e, 0x0000f500,
- 0x9fc02605, 0x0000873b, 0x9180e439, 0x00001080, 0x0c820c04, 0x0000e000,
- 0x0c420c06, 0x00003000, 0x1d480008, 0x0000e180, 0x0c008a3b, 0x0000e184,
- 0x22116000, 0x0000f900, 0x0010ce32, 0x00000980, 0x099b101e, 0x0000f500,
- 0xdff1d806, 0x0000873a, 0xdd602404, 0x00001900, 0x1d500008, 0x0000e180,
- 0x1f800000, 0x00004980, 0x09a1101e, 0x0000f500, 0x22118800, 0x0000f900,
- 0x0010ce32, 0x00000980, 0x9d7a0140, 0x0000073e, 0x41040541, 0x0000e283,
- 0x16000000, 0x00000980, 0x16400000, 0x00006180, 0x8e818439, 0x00004080,
- 0x15000800, 0x00006180, 0x0411d059, 0x00006183, 0x15400000, 0x000005d8,
- 0x000009e3, 0x00007408, 0x15c00000, 0x000085e8, 0x16c00000, 0x0000e180,
- 0xd601a439, 0x0000c080, 0xc104073f, 0x0000e283, 0x17c00000, 0x00008980,
- 0x0000185f, 0x0000e106, 0xc0000816, 0x00003407, 0x17001000, 0x00007900,
- 0x00004000, 0x00000980, 0x17400000, 0x00007900, 0x00040080, 0x00008980,
- 0x44008000, 0x00006181, 0xc000185f, 0x00006006, 0x000009fc, 0x0000f408,
- 0x05c11000, 0x0000e181, 0x97901202, 0x0000c900, 0xd7981302, 0x00006100,
- 0xd4021000, 0x00004991, 0x0ee202ec, 0x00001101, 0x4c804000, 0x00007900,
- 0x00002200, 0x00008980, 0x01801c3b, 0x00006283, 0x01001c3b, 0x00000281,
- 0x8102063c, 0x00001283, 0xffffffff, 0x00007f86, 0x00000a08, 0x0000f010,
- 0x000009e5, 0x0000f008, 0x17c00000, 0x00006180, 0x0801e03a, 0x0000e204,
- 0x18800000, 0x0000e180, 0x0000185f, 0x0000e106, 0x18c00002, 0x0000e180,
- 0x0001d062, 0x00006206, 0x81002302, 0x00006780, 0x19006800, 0x00008980,
- 0x19400040, 0x0000e180, 0xc0000016, 0x0000e407, 0x1708b000, 0x0000f900,
- 0x000119c0, 0x00008980, 0x17400000, 0x00007900, 0x00018008, 0x00000980,
- 0x18401000, 0x0000f900, 0x00014000, 0x00008980, 0x1ac00000, 0x00007900,
- 0x00008000, 0x00000980, 0xc000185f, 0x00006006, 0x00102863, 0x00003106,
- 0x44021000, 0x0000e181, 0x45102062, 0x00006107, 0x85c00000, 0x000086c0,
- 0x17a81402, 0x00008538, 0x19800000, 0x000086dc, 0x1a000000, 0x000086e4,
- 0x9a89f03e, 0x0000862a, 0x9921f13a, 0x00008614, 0xd9707e0f, 0x00001901,
- 0x009026ec, 0x0000df80, 0x00d07442, 0x00008584, 0x009026ec, 0x0000df80,
- 0x00d07442, 0x00008384, 0x18800000, 0x0000e180, 0x0801e03b, 0x00006204,
- 0x18c00002, 0x0000e180, 0x0001d862, 0x0000e206, 0x81002302, 0x00006780,
- 0x19006800, 0x00008980, 0x19400040, 0x0000e180, 0xc0001816, 0x0000e407,
- 0x1808e000, 0x0000f900, 0x0000d880, 0x00000980, 0x18401000, 0x0000f900,
- 0x00014000, 0x00008980, 0x0010c8ec, 0x0000d780, 0x00007000, 0x00000080,
- 0x00102863, 0x00006106, 0x45102062, 0x00003107, 0x19800000, 0x000086dc,
- 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x9921f13b, 0x00000614,
- 0xd9707e0f, 0x00001901, 0x009026ec, 0x0000df80, 0x00d07442, 0x00000484,
- 0x18800000, 0x0000e180, 0x0801e03b, 0x00006204, 0x18c00002, 0x0000e180,
- 0x0001d862, 0x0000e206, 0x8e802302, 0x0000e780, 0x00102863, 0x0000a106,
- 0x18006000, 0x0000f900, 0x00004000, 0x00000980, 0x18400040, 0x00006180,
- 0x4511d062, 0x0000e107, 0x009026ec, 0x0000df80, 0x00d07442, 0x00000484,
- 0x0e804404, 0x00007900, 0x00002200, 0x00008380, 0x4c81d03a, 0x0000e100,
- 0x01001c3b, 0x00004280, 0x8e8016e3, 0x00006080, 0x30000048, 0x00006401,
- 0x0cc0383a, 0x0000f902, 0x01800000, 0x00008100, 0x80000848, 0x0000ec01,
- 0x92001c3b, 0x00001280, 0xffffffff, 0x00007f86, 0x01c03804, 0x00009002,
- 0x01800006, 0x00009084, 0x0cf8383a, 0x0000d100, 0x00383000, 0x00008000,
- 0x7942063c, 0x0000f88e, 0x20400000, 0x0000848e, 0x00400000, 0x00007900,
- 0x00040050, 0x00000980, 0x0000081d, 0x0000e582, 0xc0c00000, 0x00008980,
- 0x00000001, 0x00007480, 0x00001000, 0x00006181, 0x90000801, 0x00006419,
- 0x80c00c1d, 0x00006199, 0xc020ec1d, 0x00008901, 0x0000081e, 0x00001582,
- 0x07400800, 0x00001990, 0x0a250a19, 0x00007111, 0x47406518, 0x00001283,
- 0x0c001002, 0x00006108, 0x0c401031, 0x00004388, 0x00387034, 0x0000600e,
- 0x80000831, 0x0000b40e, 0x00000001, 0x00007090, 0x20001831, 0x0000e403,
- 0xc0002033, 0x00003405, 0xc700270d, 0x00006283, 0xb000c031, 0x00002481,
- 0xb6e0f031, 0x0000e005, 0x04006033, 0x00003117, 0x00000001, 0x00007480,
- 0x0c7fe831, 0x00007910, 0x003ffffe, 0x00008280, 0x4d80680d, 0x00006100,
- 0x4dc0700e, 0x0000c900, 0x08000000, 0x000082c4, 0x08800000, 0x000082cc,
- 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4,
- 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc,
- 0x0c000000, 0x000083c4, 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4,
- 0x0d800000, 0x000083dc, 0x0e000000, 0x000083e4, 0x0e800000, 0x000083ec,
- 0x0f000000, 0x000083f4, 0x0fc00000, 0x000083f8, 0x62402411, 0x0000c189,
- 0x00002c11, 0x00008088, 0xcf401c11, 0x0000f892, 0x60400000, 0x00008582,
- 0xbac01d18, 0x0000f896, 0x60400000, 0x00000585, 0x12009800, 0x00007900,
- 0x00001c00, 0x00000980, 0x0a521482, 0x00007404, 0x08001800, 0x00006181,
- 0x11c09012, 0x0000c900, 0x12409813, 0x00001900, 0x00000447, 0x00009583,
- 0x873f1fe3, 0x00001908, 0x4380e01c, 0x0000a088, 0x00000a5b, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x07003c1c, 0x00001281, 0x0700141c, 0x00001181,
- 0x00000c1c, 0x00009583, 0x00000a60, 0x0000f01b, 0x07d06800, 0x00007900,
- 0x002cb8ca, 0x00000980, 0x0a6010ad, 0x0000f500, 0x07b89f12, 0x00008134,
- 0x07223c47, 0x00001900, 0x3082044b, 0x0000f902, 0x0bc00000, 0x00008000,
- 0x30b9764b, 0x00002080, 0x30c1684b, 0x00007902, 0x0b000000, 0x00008000,
- 0x30c15a4b, 0x0000f902, 0x0a800000, 0x00008000, 0x07000ce0, 0x00009283,
- 0x00000a7f, 0x0000f00b, 0x0a6a103d, 0x00007100, 0xffffffff, 0x00007f86,
- 0x0000041c, 0x00001583, 0x1d580800, 0x0000e190, 0x1f800000, 0x0000c990,
- 0x22399800, 0x0000f910, 0x002cb8ce, 0x00008980, 0x00000a7f, 0x0000f008,
- 0x0a74101e, 0x00007300, 0x1fd01202, 0x00006100, 0xdd771ee3, 0x00004900,
- 0x0a760a19, 0x0000f300, 0x07400800, 0x00009980, 0x87371ee3, 0x00009900,
- 0x10f8281c, 0x00002180, 0xffffffff, 0x00007fa7, 0x01400805, 0x00009080,
- 0x10f8281c, 0x0000a980, 0x10c0001c, 0x0000d100, 0x00400800, 0x00008080,
- 0x008806ec, 0x00005f80, 0x00006800, 0x00008084, 0x0a810a19, 0x00007300,
- 0x07402000, 0x00009980, 0x47006518, 0x00009283, 0x87371ee3, 0x00006108,
- 0x0130ae15, 0x00004909, 0x5278e41c, 0x00002008, 0x00000aaa, 0x00007010,
- 0x4138af15, 0x00006101, 0x0000000d, 0x00006700, 0x8120b416, 0x00006101,
- 0xa000000d, 0x00006403, 0x43495e2b, 0x00000034, 0x4371542b, 0x00000039,
- 0x43a9552a, 0x00006101, 0xa7c1500d, 0x00006001, 0x03b1562a, 0x0000e101,
- 0xb6e8b00d, 0x00006001, 0xc300270d, 0x0000e283, 0xc2220440, 0x00000901,
- 0x03c00000, 0x00006189, 0x09016c0f, 0x00006010, 0x03000000, 0x0000f900,
- 0x00204000, 0x00008980, 0xc380270d, 0x00006283, 0xc320780c, 0x00002000,
- 0x83c00000, 0x00006188, 0x0c016a0f, 0x0000e116, 0x80000e15, 0x00006583,
- 0xd401680c, 0x00002004, 0xc000e00b, 0x0000e008, 0x97c1500d, 0x00003001,
- 0xd000e00b, 0x0000e00c, 0x0010780c, 0x00003106, 0x822a0540, 0x00006101,
- 0x0000e00b, 0x0000610e, 0x42120140, 0x00000022, 0x42617b2f, 0x00008026,
- 0x4251792f, 0x00000026, 0x42a1732e, 0x0000802a, 0x4291712e, 0x0000002a,
- 0x03d8ba17, 0x00008039, 0xc2d8e31c, 0x0000e108, 0x83d9632c, 0x00004900,
- 0x00000aad, 0x0000f200, 0x07800800, 0x00009980, 0x07802002, 0x000002c2,
- 0x0aae0a22, 0x0000f100, 0x82c0ecec, 0x00007902, 0x07000000, 0x00000604,
- 0x08610420, 0x00006101, 0x0020881e, 0x00006086, 0x1bc08010, 0x0000e100,
- 0x8228881e, 0x0000e086, 0x0418881e, 0x0000e987, 0x07c0f01e, 0x00006100,
- 0x0000201c, 0x0000e586, 0x0780e81d, 0x0000e100, 0x0428881c, 0x00006087,
- 0x1b80f81f, 0x00006100, 0x8620881c, 0x0000e087, 0x0abf10cf, 0x0000f500,
- 0x1b06d800, 0x0000f900, 0x0032a52e, 0x00000980, 0x1af8f71c, 0x00008634,
- 0x0ac114ae, 0x0000f300, 0x07810f10, 0x0000813f, 0x00001c11, 0x00006583,
- 0x10c00000, 0x00000980, 0x08464000, 0x00007900, 0x00002400, 0x00008980,
- 0x000800ec, 0x00005780, 0x00006800, 0x00000080, 0x00001843, 0x00006106,
- 0x413f1021, 0x00003002, 0x08000800, 0x0000f900, 0x00080000, 0x00000980,
- 0x08800000, 0x0000f900, 0x00002000, 0x00000980, 0x0a000000, 0x0000f900,
- 0x00004000, 0x00000980, 0x0a848000, 0x00007900, 0x000080c0, 0x00000980,
- 0x0b001000, 0x0000f900, 0x00005c00, 0x00008980, 0x10009000, 0x00007900,
- 0x00015900, 0x00000980, 0x10400000, 0x0000f900, 0x00018008, 0x00000980,
- 0x001808ec, 0x0000d788, 0x00006800, 0x00000080, 0x08c00000, 0x0000e180,
- 0xc0001843, 0x0000e006, 0x09101001, 0x0000e180, 0x09400000, 0x0000c980,
- 0x09800000, 0x000082dc, 0x0a500001, 0x0000e180, 0x0ac00000, 0x00004980,
- 0x0b800000, 0x000082fc, 0x0b601702, 0x00000408, 0x10b88502, 0x00008410,
- 0x11789711, 0x00000418, 0x11f8a713, 0x00008420, 0x1278b715, 0x00000428,
- 0x12f8c717, 0x00008430, 0x1378d719, 0x00000438, 0x13c0d81b, 0x00001900,
- 0x008046ec, 0x00005f80, 0x00007003, 0x00008084, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0x1bc02710, 0x00000098, 0x01000000, 0x00007900,
- 0x00010000, 0x00000980, 0x82288806, 0x00006886, 0x04188806, 0x00006187,
- 0x00002004, 0x0000b586, 0x01c03006, 0x00006100, 0x04288804, 0x00006087,
- 0x01b82705, 0x0000062c, 0x0afa10cf, 0x00007500, 0x1b06d800, 0x0000f900,
- 0x0032a52e, 0x00000980, 0x1b783f06, 0x00008638, 0x0afc14ae, 0x00007300,
- 0x07803710, 0x000001bc, 0x0afe0a19, 0x0000f300, 0x07400800, 0x00009980,
- 0x09c00000, 0x00006180, 0x00060021, 0x00006486, 0x083ff020, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x00000021, 0x0000e585, 0x00001024, 0x00003504,
- 0x00001827, 0x0000e106, 0x70030820, 0x0000b500, 0x0020c021, 0x0000e006,
- 0x00000828, 0x00003403, 0x09501000, 0x00007900, 0x00044040, 0x00000980,
- 0xc0001827, 0x00006006, 0x60000829, 0x00003402, 0x413f1021, 0x00006002,
- 0xc0000020, 0x00003403, 0x09a81402, 0x00008218, 0xc9180000, 0x00001980,
- 0x008806ec, 0x00005f80, 0x00d06a00, 0x00000284, 0x82c02cec, 0x00007902,
- 0x01000000, 0x00000604, 0x1bc02f10, 0x00008098, 0x82288806, 0x00006886,
- 0x04188806, 0x0000e987, 0x02382f06, 0x0000001c, 0x01400000, 0x0000f900,
- 0x00014000, 0x00008980, 0x1b403807, 0x00006100, 0x00002005, 0x00006586,
- 0x1b804008, 0x00006100, 0x04288805, 0x0000e087, 0x0b2210cf, 0x0000f500,
- 0x1b06d800, 0x0000f900, 0x0032a52e, 0x00000980, 0x1ac02805, 0x00001900,
- 0x0b2414ae, 0x0000f300, 0x07803f10, 0x000081bc, 0x0b260a19, 0x00007300,
- 0x07400800, 0x00009980, 0x08000820, 0x00006380, 0x00060021, 0x0000a486,
- 0x09c33000, 0x0000e181, 0x00000021, 0x0000e585, 0x0a400000, 0x00007900,
- 0x0000c004, 0x00000980, 0x0020c021, 0x0000e006, 0x70016820, 0x00003500,
- 0x0b400002, 0x0000e180, 0xc0000027, 0x0000e406, 0x00001829, 0x00006106,
- 0xc0000826, 0x00003407, 0x413f1021, 0x00006002, 0xc0000020, 0x00003403,
- 0x0000182d, 0x0000e106, 0x40000027, 0x0000b407, 0x09040024, 0x00006380,
- 0x0a800000, 0x00000980, 0x0ac00000, 0x00006180, 0x0a001002, 0x0000c900,
- 0x00000b10, 0x00007400, 0x0b800000, 0x000082fc, 0x0b001002, 0x00001900,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03cb4000, 0x0000f900,
- 0x002cb8ca, 0x00000980, 0x04ba9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x02800000, 0x00006180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x0b4a0fe7, 0x0000f500, 0x03388702, 0x0000801c, 0x81002800, 0x00006180,
- 0x01808811, 0x0000c900, 0x81c00fe2, 0x0000e080, 0x00000006, 0x0000e586,
- 0x50e1d407, 0x00002081, 0x50d1cc07, 0x00002082, 0x04460000, 0x00006180,
- 0x0e020c0f, 0x00006006, 0x04800000, 0x00006180, 0x06020811, 0x00006006,
- 0x4001d006, 0x0000e000, 0x46020811, 0x00003002, 0x0001d406, 0x00006004,
- 0x0429f011, 0x00003185, 0x01008406, 0x0000e283, 0x04c00000, 0x00000980,
- 0x01c00800, 0x0000e190, 0x09806807, 0x00006008, 0x05800000, 0x0000e180,
- 0x09406c04, 0x00006000, 0x01c03c04, 0x00006000, 0x05c00000, 0x00008980,
- 0x0e001407, 0x00006081, 0x06000000, 0x00004980, 0x06400000, 0x0000e180,
- 0x81c016e3, 0x0000c880, 0x0cc02807, 0x0000f902, 0x01000000, 0x00000100,
- 0x0cc0ae07, 0x00007902, 0x05000000, 0x00008100, 0x04000800, 0x0000f900,
- 0x00040004, 0x00008980, 0xffffffff, 0x00007f86, 0x01402d3e, 0x00009002,
- 0x05400815, 0x0000e082, 0x01000004, 0x00000084, 0x0cf82807, 0x0000d100,
- 0x00382000, 0x00000000, 0xc100270d, 0x00006283, 0x05000014, 0x00000084,
- 0x0cf8ae07, 0x00005100, 0x0038a000, 0x00008000, 0x05000000, 0x0000f900,
- 0x0000c002, 0x00000980, 0x00000b7a, 0x0000f210, 0x05400000, 0x0000e180,
- 0x01000000, 0x00004990, 0x01008406, 0x00001283, 0x01000000, 0x00009980,
- 0x01000800, 0x00009988, 0xc100470d, 0x00006283, 0x01c00000, 0x00008981,
- 0x07002060, 0x00006180, 0x01c00800, 0x00004989, 0x06c02060, 0x0000e180,
- 0x34e0201c, 0x0000e001, 0x0938670b, 0x00008220, 0x01008406, 0x0000e283,
- 0x34e0381b, 0x0000a001, 0x0c000000, 0x0000f900, 0x0000c000, 0x00008980,
- 0x0c800000, 0x00007900, 0x00020000, 0x00000980, 0x11580000, 0x00007900,
- 0x00200000, 0x00000980, 0xd341d028, 0x00006014, 0xd341c824, 0x00003014,
- 0x0c400000, 0x000083cc, 0x00000407, 0x0000e583, 0x11800040, 0x00008980,
- 0x06806060, 0x0000e180, 0x08001a07, 0x00006106, 0x0b000000, 0x00007900,
- 0x00224180, 0x00000980, 0x11000000, 0x0000f900, 0x00014000, 0x00008980,
- 0x11c0c000, 0x0000f900, 0x00006080, 0x00000980, 0x13000000, 0x00007900,
- 0x00108000, 0x00008980, 0x2232b000, 0x0000f900, 0x00385304, 0x00008980,
- 0x07408060, 0x0000e180, 0x04103845, 0x00006101, 0x0780c060, 0x00006180,
- 0x07c00000, 0x0000c980, 0x08c00000, 0x000002d4, 0x09800000, 0x000082dc,
- 0x0a400000, 0x000002e8, 0x0ac00000, 0x00006180, 0x08004008, 0x00004900,
- 0x08785709, 0x00000208, 0x0b400000, 0x000002f8, 0x0bc0002e, 0x000083d8,
- 0x0de03000, 0x000001e3, 0x46404000, 0x00006181, 0x8d11e23c, 0x0000c900,
- 0x0d39ed3c, 0x00008314, 0x12000000, 0x00006180, 0x12402020, 0x0000c980,
- 0x12802060, 0x00006180, 0x12c00000, 0x00004980, 0x13400000, 0x000004f8,
- 0x13c00000, 0x0000e180, 0x1d40000a, 0x0000c980, 0xdfc9f00f, 0x0000873b,
- 0x0c08720e, 0x00000300, 0x0c20740e, 0x00006101, 0x4c800320, 0x0000c980,
- 0x0c486a0d, 0x00000304, 0x0bb9101e, 0x00007500, 0x0c59f00d, 0x0000030d,
- 0x9180e438, 0x00009080, 0x15c00000, 0x0000e180, 0x95901202, 0x00004900,
- 0x001020ec, 0x0000d780, 0x00d07442, 0x000001c0, 0xd5981302, 0x0000e100,
- 0x00001857, 0x00006106, 0x15001000, 0x0000f900, 0x00004000, 0x00000980,
- 0x15400000, 0x0000f900, 0x00040080, 0x00008980, 0x0008a8ec, 0x0000d780,
- 0x00007000, 0x00000080, 0xc0001857, 0x00006806, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x81f71ee3, 0x0000e100, 0x1dc00000, 0x00004980,
- 0xf3c03607, 0x0000f902, 0x01400000, 0x00008004, 0x1c000000, 0x00006181,
- 0x00001877, 0x0000e106, 0x1d001000, 0x00007900, 0x0000c000, 0x00008980,
- 0x1d681000, 0x0000f900, 0x00044040, 0x00000980, 0x0a182f05, 0x00008202,
- 0x01408404, 0x0000e283, 0x88282d05, 0x00008901, 0x09c03006, 0x0000e100,
- 0xc0001877, 0x00006006, 0xd3402029, 0x00006014, 0xf0000020, 0x00003411,
- 0x03000000, 0x0000e181, 0xd1402027, 0x00006014, 0x9cc00000, 0x000086d0,
- 0x19400000, 0x000006d8, 0x19c00000, 0x000006e0, 0x1a800000, 0x000086ec,
- 0x22000000, 0x000088e4, 0x00000be5, 0x0000f410, 0x22800000, 0x000088ec,
- 0x1da01502, 0x00008718, 0xc1040720, 0x00009283, 0xd3715027, 0x0000680c,
- 0x410205ad, 0x00009283, 0x0e43606c, 0x00006110, 0x8ed37a6f, 0x00004910,
- 0x0e83686d, 0x00006110, 0x0433783b, 0x00006093, 0x00000bf6, 0x0000f008,
- 0x41040522, 0x00001283, 0x8000282a, 0x0000f90a, 0x01000000, 0x00000604,
- 0x0fc3706e, 0x00001908, 0x00000bf2, 0x00007010, 0xffffffff, 0x00007f86,
- 0x0f802805, 0x00001900, 0xc000032d, 0x0000f900, 0x00000002, 0x00008582,
- 0x1c004000, 0x00001991, 0x00000c59, 0x0000f009, 0x410405ad, 0x00009283,
- 0xc000032d, 0x0000f900, 0x00000002, 0x00008582, 0xffffffff, 0x00007f86,
- 0x00000bfc, 0x0000f008, 0x00000c4b, 0x00007008, 0xc000032d, 0x0000f900,
- 0x00000002, 0x00008582, 0x42000000, 0x000000d2, 0x82000800, 0x00006188,
- 0x0901dc05, 0x00006006, 0x00000421, 0x00006583, 0x01401405, 0x00008881,
- 0x01000800, 0x000061c1, 0x82202868, 0x00006082, 0x00000408, 0x0000e583,
- 0x10006064, 0x0000a480, 0x86202067, 0x0000e001, 0x7000e064, 0x0000b480,
- 0x01000800, 0x00006191, 0x01001000, 0x00004989, 0x41040520, 0x00006283,
- 0x71e04064, 0x00002000, 0x01807000, 0x0000e191, 0x0e010407, 0x0000e08c,
- 0x01c00c07, 0x0000e089, 0xe3a02068, 0x00006002, 0x01807407, 0x00006089,
- 0x82204064, 0x00002000, 0xc1040720, 0x00006283, 0x99972ae5, 0x00008900,
- 0x01000000, 0x0000e191, 0x0a010407, 0x0000608c, 0x01000c07, 0x00009889,
- 0x1a400000, 0x0000f900, 0x00100000, 0x00000980, 0x01a03404, 0x00006001,
- 0x9a59e33c, 0x00008900, 0x01040421, 0x00001283, 0x01000000, 0x0000e191,
- 0x08010c07, 0x0000608c, 0x00000408, 0x0000e583, 0x01000c07, 0x00000889,
- 0xffffffff, 0x00007f86, 0x01a02406, 0x00006001, 0x8100a000, 0x00000990,
- 0x0183fc06, 0x0000e281, 0x81014000, 0x00000988, 0x00203068, 0x0000e884,
- 0x81102406, 0x00001000, 0x9b102405, 0x00006000, 0x04102069, 0x00002183,
- 0x410405ad, 0x00009283, 0xc1000f70, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00000c2f, 0x0000f008, 0x00000c3d, 0x0000f010, 0xc1001770, 0x00009283,
- 0x00000001, 0x0000708b, 0x410405ad, 0x00006283, 0x03001800, 0x00000981,
- 0x01001479, 0x00006283, 0x9d400000, 0x00008989, 0x00000001, 0x0000708b,
- 0x41040522, 0x00001283, 0x8000282a, 0x0000f912, 0x01000000, 0x00000604,
- 0x00000001, 0x0000f089, 0x00000001, 0x00007480, 0xffffffff, 0x00007f86,
- 0x1f402805, 0x00009900, 0x0d001c05, 0x00006006, 0x00000089, 0x0000b584,
- 0xc1001770, 0x00006283, 0x00000089, 0x0000a405, 0x0003908a, 0x00006302,
- 0x80000089, 0x0000b405, 0x22001002, 0x0000e100, 0x00001889, 0x00006106,
- 0x1cc00800, 0x0000e181, 0xc3202889, 0x0000e004, 0x00000c31, 0x00007410,
- 0x15c39089, 0x0000e803, 0x87039089, 0x00006805, 0x00000001, 0x0000f080,
- 0x81f71ee3, 0x00009900, 0xf4c04607, 0x0000f902, 0x01800000, 0x00008004,
- 0xffffffff, 0x00007fa7, 0x81d842e5, 0x00006400, 0x81400a08, 0x00008080,
- 0x81504308, 0x0000e200, 0x81102cad, 0x00008000, 0x81f71ee3, 0x0000e100,
- 0x81103a04, 0x00004200, 0x00000bfc, 0x0000f400, 0x82102a04, 0x00001300,
- 0xf4f84607, 0x0000d004, 0x00383000, 0x00008000, 0x81f71ee3, 0x0000e100,
- 0x81771ee3, 0x00004900, 0xf4e03e07, 0x0000a084, 0xf4c03605, 0x0000a086,
- 0x1c004000, 0x00009981, 0xffffffff, 0x00007f86, 0x81103cad, 0x00009000,
- 0x81d03a06, 0x00006200, 0x815032e5, 0x00008400, 0x81102a04, 0x00009200,
- 0xcbd03a04, 0x00001300, 0xff0405ad, 0x0000788e, 0x00400001, 0x00000000,
- 0x12c0032d, 0x0000788b, 0xe0400002, 0x0000058f, 0x1dc00000, 0x00006180,
- 0x0d001c04, 0x0000e006, 0x1c000000, 0x00006181, 0x00001877, 0x0000e106,
- 0x1d001000, 0x00007900, 0x0000c000, 0x00008980, 0x1d681000, 0x0000f900,
- 0x00044040, 0x00000980, 0x9b000000, 0x0000e180, 0xc0001877, 0x00006006,
- 0x83000000, 0x000087ce, 0x19000000, 0x000086d4, 0x19800000, 0x000086dc,
- 0x1a000000, 0x000086e4, 0x1a800000, 0x000086ec, 0x22000000, 0x000088e4,
- 0x22800000, 0x000088ec, 0x1da81402, 0x00008718, 0x410405ad, 0x00009283,
- 0xc1000f70, 0x00009283, 0xffffffff, 0x00007f86, 0x00000c7f, 0x0000f008,
- 0x00000c8d, 0x00007010, 0xc1001770, 0x00009283, 0x00000001, 0x0000708b,
- 0x410405ad, 0x00006283, 0x03001800, 0x00000981, 0x01001479, 0x00006283,
- 0x9d400000, 0x00008989, 0x00000001, 0x0000708b, 0x41040522, 0x00001283,
- 0x8000282a, 0x0000f912, 0x01000000, 0x00000604, 0x00000001, 0x0000f089,
- 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x1f402805, 0x00009900,
- 0xc1001770, 0x00006283, 0x00001889, 0x0000a106, 0xc3202089, 0x00006004,
- 0x0003908a, 0x00003302, 0x22001002, 0x0000e100, 0x15c39089, 0x00006003,
- 0x00000c81, 0x0000f210, 0x1cc00800, 0x0000e181, 0x87039089, 0x0000e005,
- 0x00000001, 0x0000f080, 0x81f71ee3, 0x0000e100, 0x1dc00000, 0x00004980,
- 0xf3c03607, 0x0000f902, 0x01000000, 0x00000004, 0x23394720, 0x00008910,
- 0x24c13827, 0x0000e100, 0x00001877, 0x0000e106, 0x1d001000, 0x00007900,
- 0x0000c000, 0x00008980, 0x88382304, 0x00008220, 0x01008405, 0x0000e283,
- 0x88282504, 0x00008901, 0x09c03006, 0x0000e100, 0xc0001877, 0x00006006,
- 0x1d681000, 0x0000f900, 0x00044040, 0x00000980, 0xd1402827, 0x0000e014,
- 0xf0000020, 0x00003411, 0x84800000, 0x000087ce, 0x19000000, 0x000086d4,
- 0x19800000, 0x000086dc, 0x1a000000, 0x000086e8, 0x1ac00000, 0x000088e0,
- 0x22400000, 0x000008e8, 0x22c00000, 0x00006180, 0x9d901202, 0x0000c900,
- 0x1db90d02, 0x00008834, 0x23b91f22, 0x0000083c, 0x24392f24, 0x00000904,
- 0x24b94f26, 0x00008914, 0x2581502a, 0x0000e100, 0xd3402829, 0x0000e014,
- 0x25f9672b, 0x00008920, 0x2679772d, 0x00000928, 0x26f9872f, 0x00000930,
- 0x27799731, 0x00000938, 0x27f9a733, 0x00008a00, 0x2879b735, 0x00000a08,
- 0x28f9c737, 0x00008a10, 0x2979d739, 0x00000a18, 0x29f9e73b, 0x00008a20,
- 0x2a79f73d, 0x00000a28, 0x2ac0073f, 0x00000480, 0x00000cc7, 0x00007410,
- 0x10400000, 0x000004c8, 0x10c00000, 0x00009980, 0xc1040720, 0x00009283,
- 0xd3715027, 0x0000680c, 0x81000e70, 0x00006283, 0x8ed37a6f, 0x00000900,
- 0x0e43606c, 0x0000e100, 0x0423803b, 0x0000e083, 0x0e83686d, 0x0000e100,
- 0x88801000, 0x00004991, 0x00000ce8, 0x00007008, 0x41040522, 0x0000e283,
- 0x0901dc07, 0x00002006, 0x10000000, 0x00007900, 0x00008100, 0x00008980,
- 0x01c00c07, 0x00006081, 0x901b7b6f, 0x00000900, 0x00000cdb, 0x0000f210,
- 0x0fc3706e, 0x00006108, 0xc720383b, 0x0000e007, 0x8000282a, 0x00007902,
- 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x0f802805, 0x00001900,
- 0x81001670, 0x00006283, 0x80001022, 0x0000a485, 0x0901dc07, 0x00006016,
- 0xf0000022, 0x0000b411, 0x10400800, 0x0000f910, 0x0000c0c0, 0x00008980,
- 0x01c00c07, 0x0000e091, 0xf0000822, 0x0000a409, 0x1c004800, 0x00006181,
- 0xc720383b, 0x00006017, 0x506b8570, 0x00001911, 0x43c0032d, 0x0000f893,
- 0x08400002, 0x00008688, 0x41040522, 0x00001283, 0x00000cf1, 0x0000f013,
- 0x81002670, 0x00009283, 0x0901dc07, 0x0000e80e, 0x01c01c07, 0x00001189,
- 0x09053c07, 0x0000600e, 0xc720383b, 0x0000300f, 0x01c01c07, 0x00001189,
- 0xc72038a7, 0x0000e80f, 0x81002670, 0x00009283, 0x01000800, 0x00006189,
- 0x0c411404, 0x00006010, 0xffffffff, 0x00007f86, 0xf3e0208e, 0x00006000,
- 0x71e02522, 0x00003000, 0x41040522, 0x00001283, 0x8000282a, 0x0000f90a,
- 0x01000000, 0x00000604, 0x0fc3706e, 0x00001908, 0x00000cfe, 0x0000f010,
- 0xffffffff, 0x00007f86, 0x0f802805, 0x00001900, 0x1c004000, 0x00009981,
- 0x43c0032d, 0x0000f893, 0x00400003, 0x00000080, 0x81f71ee3, 0x00009900,
- 0xf4c03607, 0x00007902, 0x01400000, 0x00008004, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x81c00a06, 0x00001080, 0x81d832e5, 0x0000e400,
- 0x81103cad, 0x00000000, 0x81d03306, 0x00006200, 0x81103a04, 0x00008200,
- 0x81f71ee3, 0x0000e100, 0x81903a04, 0x00004300, 0xf4f83607, 0x00005004,
- 0x00382800, 0x00008000, 0xc000032d, 0x0000f900, 0x00000002, 0x00008582,
- 0x41c00000, 0x000000d2, 0x81c00800, 0x00006188, 0x0901dc06, 0x00006006,
- 0x00000421, 0x00006583, 0x01801406, 0x00008881, 0x01000800, 0x000061c1,
- 0x82203068, 0x00006082, 0x00000407, 0x0000e583, 0x10006064, 0x0000a480,
- 0x86202067, 0x0000e001, 0x7000e064, 0x0000b480, 0x01000800, 0x00006191,
- 0x01001000, 0x00004989, 0x41040520, 0x00006283, 0x71e03864, 0x00002000,
- 0x01407000, 0x0000e191, 0x0e010405, 0x0000608c, 0xe3a02068, 0x00006002,
- 0x82203864, 0x0000b000, 0x99972ae5, 0x00006100, 0x01400c05, 0x0000c889,
- 0xc1040720, 0x00006283, 0x01407405, 0x00008089, 0x01000000, 0x0000e191,
- 0x0a010404, 0x0000608c, 0x1a400000, 0x0000f900, 0x00100000, 0x00000980,
- 0x9a59e33c, 0x00006100, 0x01000c04, 0x0000c889, 0xffffffff, 0x00007f86,
- 0x01440421, 0x00006283, 0x01202c04, 0x00008001, 0x01400000, 0x00006191,
- 0x08010c05, 0x0000e08c, 0xffffffff, 0x00007f86, 0x00000407, 0x0000e583,
- 0x01400c05, 0x00000889, 0xffffffff, 0x00007f86, 0x01602c04, 0x00006001,
- 0x8100a000, 0x00000990, 0x81014000, 0x0000e188, 0x0143fc05, 0x00004281,
- 0x81008670, 0x00006283, 0x00202868, 0x0000a084, 0x04801800, 0x00006191,
- 0x81102405, 0x00004000, 0x81004670, 0x00006283, 0x04102069, 0x00002183,
- 0x9b102406, 0x00006000, 0x22001002, 0x00008910, 0x0d001c04, 0x00006016,
- 0x00000089, 0x00003594, 0x00000001, 0x00007088, 0x0003888a, 0x00006302,
- 0x00000089, 0x00003405, 0x1cc00800, 0x0000e181, 0x80000089, 0x0000e405,
- 0x00001889, 0x0000e906, 0xc3202089, 0x0000e804, 0x00000001, 0x00007480,
- 0x15c38889, 0x0000e803, 0x87038889, 0x00006805, 0x07000000, 0x000081f4,
- 0x08400000, 0x0000f900, 0x00200000, 0x00000980, 0x80001209, 0x0000e582,
- 0x71f8481c, 0x0000a000, 0xb6e04821, 0x00006005, 0x0030481c, 0x00003008,
- 0x07800000, 0x000081fc, 0x08800000, 0x000082cc, 0x09000000, 0x000082d4,
- 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec,
- 0x0b000000, 0x000082f4, 0x00000001, 0x00007480, 0x0b800000, 0x000082fc,
- 0x07404008, 0x00006108, 0x08004008, 0x00004900, 0xb6a02405, 0x0000c389,
- 0x00002405, 0x00008098, 0xb9201405, 0x0000c489, 0x3e001405, 0x0000039b,
- 0x00800c05, 0x0000c788, 0x18e03405, 0x00009c88, 0x0ca03405, 0x000045a9,
- 0x18803c05, 0x0000988e, 0x0d6d1482, 0x0000f404, 0x12009800, 0x00007900,
- 0x00001000, 0x00000980, 0x12783707, 0x0000041c, 0x00000447, 0x00009583,
- 0x85ff1fe3, 0x00009908, 0x4380b817, 0x0000a088, 0x00000d76, 0x00007010,
- 0xffffffff, 0x00007f97, 0x05c03c17, 0x00001281, 0x05c01417, 0x00001181,
- 0x00000c17, 0x00001583, 0x00000d7b, 0x0000701b, 0x07c8b800, 0x0000f900,
- 0x00340c9a, 0x00000980, 0x0d7b10ad, 0x00007500, 0x07b83f06, 0x00008134,
- 0x07223c47, 0x00001900, 0x3040ec4b, 0x00007902, 0x07000000, 0x00008000,
- 0x3080c84b, 0x00007902, 0x06000000, 0x00000000, 0x03c00000, 0x000081c0,
- 0x85f71ee3, 0x00001900, 0x00000c1c, 0x00006583, 0x0440e81d, 0x00000900,
- 0x0000100f, 0x0000e48c, 0x0004200f, 0x0000b496, 0x0300c819, 0x0000e100,
- 0x0018c810, 0x0000e18e, 0x8000100f, 0x0000e48e, 0xf000080f, 0x0000b410,
- 0x0280c018, 0x0000e100, 0x0410c810, 0x0000618f, 0x00000c1c, 0x00006583,
- 0xf3e0e00f, 0x00002008, 0x30409a4b, 0x0000f902, 0x07800000, 0x00000000,
- 0x3040de4b, 0x0000f902, 0x06800000, 0x00008000, 0xf3f88617, 0x0000d004,
- 0x00387800, 0x00008000, 0x03c00000, 0x000081c0, 0x0418c810, 0x0000e18f,
- 0x0000200f, 0x0000358f, 0x85f71ee3, 0x00006100, 0x8620e00f, 0x0000608f,
- 0xcd788617, 0x00002884, 0xcd787e17, 0x00002804, 0x04b8df1e, 0x00008038,
- 0x0f2510e9, 0x00007500, 0x0378e71a, 0x00000100, 0x03c09813, 0x00009900,
- 0x00000f25, 0x00007000, 0x0da21482, 0x0000f404, 0x11f83f06, 0x00000424,
- 0x12009a00, 0x00001980, 0x00000447, 0x00009583, 0x85ff1fe3, 0x00009908,
- 0x4380b817, 0x0000a088, 0x00000dab, 0x00007010, 0xffffffff, 0x00007f97,
- 0x05c03c17, 0x00001281, 0x05c01417, 0x00001181, 0x00000c17, 0x00001583,
- 0x00000db0, 0x0000f01b, 0x07c9e000, 0x0000f900, 0x00340c9a, 0x00000980,
- 0x0db010ad, 0x0000f500, 0x07b83f06, 0x00008134, 0x07223c47, 0x00001900,
- 0x0f251160, 0x00007500, 0x30005a4b, 0x00007902, 0x02800000, 0x00000000,
- 0x30384c4b, 0x0000a000, 0x00000f25, 0x00007000, 0x0db81482, 0x00007404,
- 0x11f83f06, 0x00000424, 0x12009900, 0x00001980, 0x00000447, 0x00009583,
- 0x85ff1fe3, 0x00009908, 0x4380b817, 0x0000a088, 0x00000dc1, 0x00007010,
- 0xffffffff, 0x00007f97, 0x05c03c17, 0x00001281, 0x05c01417, 0x00001181,
- 0x00000c17, 0x00001583, 0x00000dc6, 0x0000701b, 0x07e6a000, 0x0000f900,
- 0x00340c9a, 0x00000980, 0x0dc610ad, 0x00007500, 0x07b83f06, 0x00008134,
- 0x07223c47, 0x00001900, 0x30384a4b, 0x00002080, 0xffffffff, 0x00007fa7,
- 0xf8c08409, 0x00001081, 0x0dca45a1, 0x0000f100, 0x0f2511bd, 0x0000f004,
- 0x00000f25, 0x00007000, 0x0dd01482, 0x0000f404, 0x12009800, 0x00007900,
- 0x00001000, 0x00000980, 0x12783707, 0x0000041c, 0x00000447, 0x00009583,
- 0x85ff1fe3, 0x00009908, 0x4380b817, 0x0000a088, 0x00000dd9, 0x00007010,
- 0xffffffff, 0x00007f97, 0x05c03c17, 0x00001281, 0x05c01417, 0x00001181,
- 0x00000c17, 0x00001583, 0x00000dde, 0x0000701b, 0x07e8b000, 0x0000f900,
- 0x00340c9a, 0x00000980, 0x0dde10ad, 0x00007500, 0x07b83f06, 0x00008134,
- 0x07223c47, 0x00001900, 0x3000aa4b, 0x00007902, 0x05000000, 0x00000000,
- 0x30405c4b, 0x0000f902, 0x02800000, 0x00000000, 0x3000644b, 0x0000f902,
- 0x04c00000, 0x00008000, 0x3000964b, 0x00007902, 0x04400000, 0x00000000,
- 0xc0000714, 0x00009583, 0x85f71ee3, 0x00009910, 0x52605417, 0x0000a810,
- 0x05c7ed15, 0x00001281, 0x00000c17, 0x00001583, 0x3040804b, 0x00007902,
- 0x03c00000, 0x00000000, 0x3040724b, 0x0000f902, 0x03400000, 0x00008000,
- 0x00000e07, 0x00007010, 0x02000000, 0x00009980, 0x0df41095, 0x00007500,
- 0x00306008, 0x0000e886, 0x0d804008, 0x00009900, 0x82003e0c, 0x0000e280,
- 0x85c00c0c, 0x00008280, 0x85c00fe2, 0x00006080, 0x85802217, 0x0000c880,
- 0x50e04c17, 0x00002080, 0xffffffff, 0x00007fa7, 0x827f4209, 0x00007900,
- 0x0000003e, 0x00008280, 0x82403f0c, 0x0000e280, 0x8590b209, 0x00008300,
- 0x85904216, 0x00006300, 0x82402a09, 0x00000880, 0x8580fa16, 0x00007900,
- 0x0000003e, 0x00008280, 0x85904a16, 0x0000e300, 0x82003c36, 0x00000280,
- 0x82004208, 0x00001880, 0x85904216, 0x00009300, 0x50e0b417, 0x00002880,
- 0x05c01515, 0x00001181, 0x00000c17, 0x00001583, 0x82005c13, 0x000060b0,
- 0x85c00d0c, 0x0000c2b0, 0x83001a17, 0x000098b0, 0x00000e14, 0x00007018,
- 0x85c00fe2, 0x00001880, 0x50e04c17, 0x00002080, 0xffffffff, 0x00007fa7,
- 0x827fba09, 0x00009280, 0x83106209, 0x00001300, 0x8310420c, 0x00009300,
- 0x50e06417, 0x0000a880, 0x05c7ee15, 0x00001281, 0x00000c17, 0x00001583,
- 0x02000000, 0x00001988, 0x02209412, 0x00001909, 0x00000e2e, 0x0000f010,
- 0x0e1b1095, 0x0000f300, 0x0d804008, 0x00009900, 0x82003c12, 0x00006280,
- 0x85c00e13, 0x00008280, 0x85c00fe2, 0x00006080, 0x83002217, 0x00004880,
- 0x50c04c17, 0x00002082, 0xffffffff, 0x00007fa7, 0x827f4209, 0x00007900,
- 0x0000003e, 0x00008280, 0x82403d12, 0x00006280, 0x83106209, 0x00008300,
- 0x8310420c, 0x00006300, 0x82402a09, 0x00000880, 0x8300fa0c, 0x00007900,
- 0x0000003e, 0x00008280, 0x83104a0c, 0x0000e300, 0x82003c36, 0x00000280,
- 0x82004208, 0x00001880, 0x8310420c, 0x00009300, 0x50c86417, 0x00002882,
- 0x05c01615, 0x00001181, 0x00000c17, 0x00001583, 0x82005e12, 0x000060b0,
- 0x85c00f13, 0x0000c2b0, 0x83001a17, 0x000098b0, 0x00000e3b, 0x0000f018,
- 0x85c00fe2, 0x00001880, 0x50c04c17, 0x00002082, 0xffffffff, 0x00007fa7,
- 0x827fba09, 0x00009280, 0x83106209, 0x00001300, 0x8310420c, 0x00009300,
- 0x50c86417, 0x00002882, 0x05c7ef15, 0x00009281, 0x00000c17, 0x00001583,
- 0x02000000, 0x00001988, 0x02308e11, 0x00001909, 0x00000e55, 0x0000f010,
- 0x0e421095, 0x0000f300, 0x0d804008, 0x00009900, 0x82003e11, 0x0000e280,
- 0x85c00c11, 0x00008280, 0x85c00fe2, 0x00006080, 0x83002217, 0x00004880,
- 0x50e04c17, 0x0000a000, 0xffffffff, 0x00007fa7, 0x827f4209, 0x00007900,
- 0x0000003e, 0x00008280, 0x82403f11, 0x0000e280, 0x83106209, 0x00008300,
- 0x8310420c, 0x00006300, 0x82402a09, 0x00000880, 0x8300fa0c, 0x00007900,
- 0x0000003e, 0x00008280, 0x83104a0c, 0x0000e300, 0x82003c36, 0x00000280,
- 0x82004208, 0x00001880, 0x8310420c, 0x00009300, 0x50e06417, 0x00002800,
- 0x05c01715, 0x00009181, 0x00000c17, 0x00001583, 0x82005c10, 0x000060b0,
- 0x85c00d11, 0x0000c2b0, 0x83001a17, 0x000098b0, 0x00000e62, 0x0000f018,
- 0x85c00fe2, 0x00001880, 0x50e04c17, 0x0000a000, 0xffffffff, 0x00007fa7,
- 0x827fba09, 0x00009280, 0x83106209, 0x00001300, 0x8310420c, 0x00009300,
- 0x50e06417, 0x00002800, 0x05c7ec14, 0x00001281, 0x00000c17, 0x00001583,
- 0x02000000, 0x00001988, 0x02207c0f, 0x00001909, 0x00000e7c, 0x00007010,
- 0x0e691095, 0x0000f300, 0x0d804008, 0x00009900, 0x83003c0f, 0x0000e280,
- 0x85c00e10, 0x00008280, 0x85c00fe2, 0x00006080, 0x82402217, 0x00004880,
- 0x50c04417, 0x00002002, 0xffffffff, 0x00007fa7, 0x823f4208, 0x00007900,
- 0x0000003e, 0x00008280, 0x82003d0f, 0x0000e280, 0x82504a08, 0x00000300,
- 0x82506209, 0x0000e300, 0x82002a08, 0x00000880, 0x8240fa09, 0x00007900,
- 0x0000003e, 0x00008280, 0x82504209, 0x00006300, 0x83003c36, 0x00008280,
- 0x8300420c, 0x00001880, 0x82506209, 0x00001300, 0x50c84c17, 0x0000a802,
- 0x05c01414, 0x00001181, 0x00000c17, 0x00001583, 0x83005e0f, 0x0000e0b0,
- 0x85c00f10, 0x0000c2b0, 0x82401a17, 0x000098b0, 0x00000e89, 0x0000f018,
- 0x85c00fe2, 0x00001880, 0x50c04417, 0x00002002, 0xffffffff, 0x00007fa7,
- 0x823fba08, 0x00009280, 0x82504a08, 0x00009300, 0x82506209, 0x00001300,
- 0x50c84c17, 0x0000a802, 0x05c7ed14, 0x00009281, 0x00000c17, 0x00001583,
- 0x02000000, 0x00001988, 0x0230760e, 0x00001909, 0x00000ea3, 0x0000f010,
- 0x0e901095, 0x0000f300, 0x0d804008, 0x00009900, 0x83003e0e, 0x0000e280,
- 0x85c00c0e, 0x00000280, 0x85c00fe2, 0x00006080, 0x82402217, 0x00004880,
- 0x50e04617, 0x00002080, 0xffffffff, 0x00007fa7, 0x823f4208, 0x00007900,
- 0x0000003e, 0x00008280, 0x82003f0e, 0x0000e280, 0x82504a08, 0x00000300,
- 0x82506209, 0x0000e300, 0x82002a08, 0x00000880, 0x8240fa09, 0x00007900,
- 0x0000003e, 0x00008280, 0x82504209, 0x00006300, 0x83003c36, 0x00008280,
- 0x8300420c, 0x00001880, 0x82506209, 0x00001300, 0x50e04e17, 0x00002880,
- 0x05c01514, 0x00009181, 0x00000c17, 0x00001583, 0x83005c0d, 0x0000e0b0,
- 0x85c00d0e, 0x000042b0, 0x82401a17, 0x000098b0, 0x00000eb0, 0x0000f018,
- 0x85c00fe2, 0x00001880, 0x50e04617, 0x00002080, 0xffffffff, 0x00007fa7,
- 0x823fba08, 0x00009280, 0x82504a08, 0x00009300, 0x82506209, 0x00001300,
- 0x50e04e17, 0x00002880, 0x05c7ee14, 0x00009281, 0x00000c17, 0x00001583,
- 0x02000000, 0x00001988, 0x02205c0b, 0x00001909, 0x00000eca, 0x0000f010,
- 0x0eb71095, 0x0000f300, 0x0d804008, 0x00009900, 0x83003c0b, 0x00006280,
- 0x85c00e0d, 0x00008280, 0x85c00fe2, 0x00006080, 0x82402217, 0x00004880,
- 0x50c04617, 0x00002082, 0xffffffff, 0x00007fa7, 0x823f4208, 0x00007900,
- 0x0000003e, 0x00008280, 0x82504a08, 0x00006300, 0x82003d0b, 0x00000280,
- 0x82506209, 0x0000e300, 0x82c03c36, 0x00000280, 0x8240fa09, 0x00007900,
- 0x0000003e, 0x00008280, 0x82c0420b, 0x00006080, 0x82002a08, 0x0000c880,
- 0x82504209, 0x00009300, 0x82505a09, 0x00009300, 0x50c84e17, 0x0000a882,
- 0x05c01614, 0x00009181, 0x00000c17, 0x00001583, 0x82005e0b, 0x0000e0b0,
- 0x85c00f0d, 0x0000c2b0, 0x82c01a17, 0x000018b0, 0x00000ed7, 0x00007018,
- 0x85c00fe2, 0x00001880, 0x50c04e17, 0x0000a082, 0xffffffff, 0x00007fa7,
- 0x827fba09, 0x00009280, 0x82505a09, 0x00009300, 0x82504209, 0x00009300,
- 0x50c84e17, 0x0000a882, 0xc0000714, 0x00006583, 0x02400800, 0x00008981,
- 0x85f71ee3, 0x00009910, 0xcd485617, 0x0000a896, 0xf3e05617, 0x00002894,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x82c05cec, 0x0000f902,
- 0x02000000, 0x00000604, 0x1bc02004, 0x0000e100, 0x0020280a, 0x00006086,
- 0x8228280a, 0x00006886, 0x0418280a, 0x0000e987, 0x0238570b, 0x00008638,
- 0x1b404008, 0x00006100, 0x0000200b, 0x0000e586, 0x0428280b, 0x0000e887,
- 0x8620280b, 0x00006887, 0x0f0010cf, 0x00007500, 0x1b239800, 0x0000f900,
- 0x00340c98, 0x00008980, 0x1ac0580b, 0x00001900, 0x0ef111a3, 0x00007100,
- 0x00000f00, 0x00007200, 0x02400000, 0x00009981, 0x01c02004, 0x00006100,
- 0x08001a09, 0x0000e106, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03e2a800, 0x00007900, 0x00340c98, 0x00008980, 0x04ba9000, 0x0000f900,
- 0x0016f7fa, 0x00008980, 0x01800705, 0x000000a8, 0x0f000fe7, 0x0000f500,
- 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x03001002, 0x0000c900,
- 0x02001800, 0x000080e8, 0x0f040d4f, 0x00007500, 0x8600480a, 0x00006887,
- 0x0240500a, 0x00009900, 0x04464000, 0x00007900, 0x00001c00, 0x00000980,
- 0x0cc00000, 0x000000fc, 0x04000800, 0x0000f900, 0x00080000, 0x00000980,
- 0x04800000, 0x0000f900, 0x00002000, 0x00000980, 0x06000000, 0x0000f900,
- 0x00004000, 0x00000980, 0x06838000, 0x0000f900, 0x000080c0, 0x00000980,
- 0x0c009000, 0x0000f900, 0x0000c100, 0x00000980, 0x0c400000, 0x00007900,
- 0x00010000, 0x00000980, 0x03001000, 0x00007900, 0x00004000, 0x00000980,
- 0x413f1011, 0x00006002, 0xc0001833, 0x00003006, 0x04c00000, 0x0000e180,
- 0xc000180f, 0x00006006, 0x05001001, 0x00006180, 0x05400000, 0x0000c980,
- 0x05800000, 0x000081dc, 0x06400001, 0x00006180, 0x06c00000, 0x00004980,
- 0x0cb82702, 0x00000310, 0x0d783705, 0x00000318, 0x0dc03807, 0x00006100,
- 0x03400008, 0x00004980, 0x03801002, 0x00001900, 0x00881eec, 0x00005f80,
- 0x00d06900, 0x00008584, 0x00000edc, 0x00007200, 0x02400000, 0x00009981,
- 0x00000f00, 0x0000f000, 0x02001704, 0x00008098, 0x0f2c0d4f, 0x00007500,
- 0x04202806, 0x0000e887, 0x02403006, 0x00009900, 0x044000c8, 0x000083cc,
- 0x04000800, 0x0000f900, 0x00080000, 0x00000980, 0x04800000, 0x0000f900,
- 0x00002000, 0x00000980, 0x06000000, 0x0000f900, 0x00004000, 0x00000980,
- 0x06830000, 0x00007900, 0x000080c0, 0x00000980, 0x0c009000, 0x0000f900,
- 0x00008240, 0x00000980, 0x0c400000, 0x00007900, 0x00010000, 0x00000980,
- 0x413f1011, 0x00006002, 0xc0001833, 0x00003006, 0x04c00000, 0x0000e180,
- 0x05381000, 0x00004980, 0x05400000, 0x000001d8, 0x05c00000, 0x00006180,
- 0x06780000, 0x00004980, 0x0c800702, 0x000001ac, 0x008826ec, 0x0000df80,
- 0x00007002, 0x00000084, 0x03000000, 0x00006180, 0x0d002004, 0x00004900,
- 0x0d783705, 0x00000318, 0x0df84707, 0x00000320, 0x0e785709, 0x00000328,
- 0x0ef8270b, 0x0000803c, 0x03b83705, 0x00000034, 0x0f4d1266, 0x0000f404,
- 0x03383c0a, 0x0000002c, 0x01784f08, 0x00000010, 0x044000c8, 0x000003c8,
- 0x0cc00000, 0x00006180, 0x413f1011, 0x00006002, 0x04000800, 0x0000f900,
- 0x00080000, 0x00000980, 0x04800000, 0x0000f900, 0x00002000, 0x00000980,
- 0x06000000, 0x0000f900, 0x00004000, 0x00000980, 0x06840000, 0x0000f900,
- 0x000080c0, 0x00000980, 0x08400000, 0x0000f900, 0x00260000, 0x00000980,
- 0x0c009000, 0x0000f900, 0x000101c0, 0x00008980, 0x0c400000, 0x00007900,
- 0x00010000, 0x00000980, 0x0f001000, 0x00007900, 0x00004000, 0x00000980,
- 0x0f400000, 0x00007900, 0x00048010, 0x00000980, 0x04c00000, 0x0000e180,
- 0xc0001833, 0x00006006, 0x05081001, 0x0000e180, 0x05400000, 0x0000c980,
- 0x05800000, 0x000081dc, 0x06480001, 0x0000e180, 0x06c00000, 0x00004980,
- 0x07000080, 0x000001f4, 0x07800000, 0x000081fc, 0x08000000, 0x000082c8,
- 0x08c00000, 0x000082d0, 0x09400000, 0x000002d8, 0x09c00000, 0x000002e0,
- 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8,
- 0x0bc00000, 0x000003f8, 0x0c800502, 0x000083bc, 0x00887eec, 0x00005f80,
- 0x00d06900, 0x000005c4, 0x03000000, 0x00006180, 0x0d002004, 0x00004900,
- 0x0d783705, 0x00000318, 0x0df84707, 0x00000320, 0x0e785709, 0x00000328,
- 0x0ef8270b, 0x00008110, 0x04f83705, 0x00008108, 0x0f801323, 0x00007500,
- 0x04784707, 0x00008100, 0x02e05709, 0x00008030, 0x044000c8, 0x000003c8,
- 0x0cc00000, 0x00006180, 0x413f1011, 0x00006002, 0x04000800, 0x0000f900,
- 0x00080000, 0x00000980, 0x04800000, 0x0000f900, 0x00002000, 0x00000980,
- 0x06000000, 0x0000f900, 0x00004000, 0x00000980, 0x06840000, 0x0000f900,
- 0x000080c0, 0x00000980, 0x08400000, 0x0000f900, 0x00260000, 0x00000980,
- 0x0c009000, 0x0000f900, 0x000102c0, 0x00008980, 0x0c400000, 0x00007900,
- 0x00010000, 0x00000980, 0x0f001000, 0x00007900, 0x00004000, 0x00000980,
- 0x0f400000, 0x00007900, 0x00048010, 0x00000980, 0x04c00000, 0x0000e180,
- 0xc0001833, 0x00006006, 0x05081001, 0x0000e180, 0x05400000, 0x0000c980,
- 0x05800000, 0x000081dc, 0x06480001, 0x0000e180, 0x06c00000, 0x00004980,
- 0x07000080, 0x000001f4, 0x07800000, 0x000081fc, 0x08000000, 0x000082c8,
- 0x08c00000, 0x000082d0, 0x09400000, 0x000002d8, 0x09c00000, 0x000002e0,
- 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8,
- 0x0bc00000, 0x000003f8, 0x0c800502, 0x000083bc, 0x00887eec, 0x00005f80,
- 0x00d06900, 0x000005c4, 0x03064000, 0x000081c4, 0x0c800000, 0x000083cc,
- 0x04000800, 0x0000f900, 0x00080000, 0x00000980, 0x04800000, 0x0000f900,
- 0x00002000, 0x00000980, 0x06000000, 0x0000f900, 0x00004000, 0x00000980,
- 0x06840000, 0x0000f900, 0x000080c0, 0x00000980, 0x08400000, 0x0000f900,
- 0x00260000, 0x00000980, 0x0c009000, 0x0000f900, 0x00010200, 0x00008980,
- 0x0c400000, 0x00007900, 0x00010000, 0x00000980, 0x413f1011, 0x00006002,
- 0xc0001833, 0x00003006, 0x0d382f04, 0x00000314, 0x0db83f06, 0x0000031c,
- 0x0e384f08, 0x00000324, 0x0eb85f0a, 0x0000032c, 0x0f782f04, 0x00000330,
- 0x03f83f06, 0x00000038, 0x03400708, 0x0000818c, 0x05081001, 0x0000e180,
- 0x05400000, 0x0000c980, 0x05800000, 0x000081dc, 0x06480001, 0x0000e180,
- 0x06c00000, 0x00004980, 0x07000080, 0x000001f4, 0x07800000, 0x000081fc,
- 0x08000000, 0x000082c8, 0x08c00000, 0x000082d0, 0x09400000, 0x000002d8,
- 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0,
- 0x0b400000, 0x000002f8, 0x0fd411c7, 0x00007500, 0x0bc00000, 0x0000e180,
- 0x8310520a, 0x00004900, 0x02e81709, 0x00000308, 0x0f001000, 0x00007900,
- 0x00004000, 0x00000980, 0x0f400000, 0x00007900, 0x00048010, 0x00000980,
- 0x0fc00000, 0x000083f8, 0x00887eec, 0x00005f80, 0x00d06900, 0x000005c4,
- 0x780408ec, 0x00005680, 0x00000000, 0x00008080, 0x780000ec, 0x00005680,
- 0x02090000, 0x00000080, 0x780008ec, 0x0000d680, 0x00000000, 0x00008080,
- 0x81400cec, 0x00005684, 0x00000000, 0x00008080, 0x81400aec, 0x00005684,
- 0x00000000, 0x00008080, 0x403840ec, 0x0000d700, 0x00000000, 0x00008080,
- 0x1ff876ec, 0x00002080, 0x02102204, 0x00001900, 0xffffffff, 0x00007f97,
- 0x8140120e, 0x00009880, 0x81401205, 0x00009080, 0x1ff82605, 0x0000d000,
- 0x00389000, 0x00008000, 0x20387805, 0x00005000, 0x00386000, 0x00008000,
- 0x20384a05, 0x0000d000, 0x00383800, 0x00000000, 0x20383405, 0x0000d000,
- 0x00385000, 0x00008000, 0x0140080e, 0x00001080, 0x0001f805, 0x00009582,
- 0x03800000, 0x0000e198, 0x0380080e, 0x0000c0b0, 0x0ffb0fdb, 0x00007500,
- 0xffffffff, 0x00007f86, 0x1ff876ec, 0x0000a880, 0x1fc49eec, 0x00007902,
- 0x24800000, 0x00008000, 0xffffffff, 0x00007fa7, 0xa2c01293, 0x00001880,
- 0xa2c0128b, 0x00009080, 0x1ffc568b, 0x0000d000, 0x003c4800, 0x00000000,
- 0x203c408b, 0x00005000, 0x003bb800, 0x00008000, 0x203bb28b, 0x00005000,
- 0x003ba800, 0x00000000, 0x203cac8b, 0x0000d000, 0x003ca000, 0x00000000,
- 0x22c00893, 0x00009080, 0x0001f88b, 0x00009582, 0x24c00893, 0x000060b0,
- 0x24c00000, 0x00008998, 0x8000168a, 0x00009583, 0x1ffc9eec, 0x00002880,
- 0x00000001, 0x0000f091, 0x00000092, 0x00001582, 0x0214528a, 0x00009910,
- 0x00000001, 0x0000f089, 0x10130fdb, 0x00007100, 0x00000001, 0x0000f080,
- 0x567d42ec, 0x0000b838, 0x567d54ec, 0x00003838, 0x10190ffb, 0x00007500,
- 0x567d66ec, 0x0000b838, 0x56bd70ec, 0x00003838, 0x567d42ec, 0x00003038,
- 0x567d54ec, 0x0000b038, 0x00000001, 0x00007480, 0x567d66ec, 0x00003038,
- 0x56bd70ec, 0x0000b038, 0x203c48ec, 0x00002080, 0x1da3afe4, 0x00001800,
- 0xffffffff, 0x00007f97, 0x1d844876, 0x00001202, 0x22800000, 0x0000f910,
- 0x000140c0, 0x00008980, 0xa2801800, 0x0000e190, 0xddb00600, 0x00004911,
- 0x00000001, 0x00007088, 0x22460000, 0x00007900, 0x001f2252, 0x00008980,
- 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x00001014, 0x0000f400,
- 0x1dfbff02, 0x00000914, 0x2503f07e, 0x00001900, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x0d001f07, 0x0000e006, 0x08001a09, 0x0000b106,
- 0x03de2000, 0x00007900, 0x00395f38, 0x00000980, 0x04af4000, 0x0000f900,
- 0x003fbfce, 0x00008980, 0x01d004e4, 0x0000001c, 0x01a81402, 0x00008018,
- 0x02800000, 0x00006180, 0xc2700600, 0x00004901, 0x103d0fe7, 0x0000f500,
- 0x82781400, 0x00000030, 0x81000800, 0x00009980, 0x544002ec, 0x0000d080,
- 0x00400000, 0x00008000, 0x544004ec, 0x0000d080, 0x00400000, 0x00008000,
- 0x544006ec, 0x00005080, 0x00400000, 0x00008000, 0x548000ec, 0x00005080,
- 0x00400000, 0x00008000, 0x544002ec, 0x00005000, 0x00400000, 0x00000080,
- 0x544004ec, 0x00005000, 0x00400000, 0x00000080, 0x544006ec, 0x0000d000,
- 0x00400000, 0x00000080, 0x548000ec, 0x0000d000, 0x00400000, 0x00000080,
- 0x000004e3, 0x00001583, 0x4001fde3, 0x00001583, 0x400005e3, 0x00001583,
- 0x0000106c, 0x0000f008, 0x00001061, 0x0000f030, 0x00001076, 0x0000f048,
- 0x8200faec, 0x0000f902, 0x07800000, 0x00008604, 0x470105e3, 0x00006283,
- 0x0740fde3, 0x00008281, 0x0760efe4, 0x00001800, 0x00001067, 0x0000f009,
- 0x0700f01d, 0x00001202, 0x07000000, 0x00001981, 0x07000800, 0x00001991,
- 0x547912ec, 0x00003038, 0x547924ec, 0x00003038, 0x00000001, 0x00007480,
- 0x547936ec, 0x00003038, 0x54b940ec, 0x0000b038, 0x470105e3, 0x00006283,
- 0x0740fde3, 0x00008281, 0x8200f8ec, 0x00007902, 0x07800000, 0x00008604,
- 0x0760efe4, 0x00001800, 0x00001059, 0x0000f010, 0xffffffff, 0x00007f86,
- 0x0700f81d, 0x00009202, 0x0000105c, 0x0000f400, 0x07000000, 0x00001981,
- 0x07000800, 0x00001991, 0x8238e6ec, 0x00002684, 0x07771fe4, 0x00001800,
- 0x547912ec, 0x00003038, 0x547924ec, 0x00003038, 0x0700e01d, 0x00009202,
- 0x07000000, 0x00001981, 0x547936ec, 0x00003038, 0x00000001, 0x00007480,
- 0x54b940ec, 0x0000b038, 0x07000800, 0x00001991, 0x00001055, 0x0000f200,
- 0x8200fcec, 0x0000f902, 0x07800000, 0x00008604, 0xc000030b, 0x0000e582,
- 0x01400000, 0x00008980, 0x81400000, 0x00009980, 0x81400800, 0x00009990,
- 0x02000000, 0x00007900, 0x000014c0, 0x00008980, 0x00000405, 0x00006583,
- 0x00106808, 0x0000a106, 0x81680500, 0x0000e110, 0xc3202808, 0x00006006,
- 0xffffffff, 0x00007f86, 0x00000005, 0x0000ed8e, 0xffffffff, 0x00007f86,
- 0x04285805, 0x00006885, 0x75e80005, 0x00006901, 0x703840ec, 0x00005600,
- 0x00382800, 0x00008000, 0x01400004, 0x00009980, 0x02000000, 0x00007900,
- 0x00007fc0, 0x00000980, 0x00106808, 0x0000e186, 0x82205805, 0x0000b080,
- 0x703830ec, 0x0000d600, 0x00383800, 0x00000000, 0x00000001, 0x00007480,
- 0x04186805, 0x00006987, 0x703840ec, 0x00005600, 0x00382800, 0x00008000,
- 0x00001c36, 0x00006583, 0x8d771ee3, 0x00008900, 0x5179ac35, 0x0000a018,
- 0x0d801c36, 0x00009281, 0x0d801c36, 0x00009881, 0xffffffff, 0x00007f86,
- 0x5179ac35, 0x000020b0, 0x00000001, 0x00007483, 0xffffffff, 0x00007f86,
- 0x0da1b035, 0x00009700, 0x0d07f800, 0x00007900, 0x00001088, 0x00000980,
- 0x0e0a9804, 0x0000e180, 0x75ff1834, 0x00006101, 0x760010ec, 0x00005680,
- 0x00000000, 0x00008080, 0x004cf038, 0x0000ed87, 0x7639c0ec, 0x00005600,
- 0x0039a000, 0x00000000, 0x0e000000, 0x00009980, 0x00000001, 0x00007480,
- 0x0021c838, 0x00006886, 0x7639c0ec, 0x00005600, 0x00000000, 0x00008080,
- 0x0000001c, 0x00001582, 0x2720e2ec, 0x00002094, 0x22800000, 0x0000f910,
- 0x00014080, 0x00000980, 0x00000001, 0x00007088, 0x2240e000, 0x0000f900,
- 0x00188ac0, 0x00000980, 0x80172a1c, 0x00006502, 0x08001a76, 0x0000a106,
- 0x87000a1c, 0x0000e090, 0xa2811800, 0x00000980, 0x2720e2ec, 0x0000a894,
- 0x2228071f, 0x0000071a, 0x9db81400, 0x0000871c, 0x00001014, 0x0000f400,
- 0x1d78ef1e, 0x00008914, 0x253f1fe3, 0x00001900, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x01800000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x03e45800, 0x00007900, 0x0026484c, 0x00008980, 0x04ba4000, 0x00007900,
- 0x003bdaae, 0x00000980, 0x01c01002, 0x00006100, 0x0d001e06, 0x0000e006,
- 0x02800000, 0x00006180, 0xc2700600, 0x00004901, 0x82781400, 0x00000030,
- 0x10cf0fe7, 0x00007500, 0x81003000, 0x00006180, 0x01b00600, 0x00004901,
- 0x41a80500, 0x00009901, 0x9a371ee3, 0x00009900, 0x42835068, 0x00007902,
- 0x1a000000, 0x00008000, 0xffffffff, 0x00007fa7, 0x0000046a, 0x00009583,
- 0x1ab35fe4, 0x00009810, 0x00000001, 0x0000f089, 0x1a03406a, 0x00009202,
- 0x22800000, 0x0000f908, 0x000140c0, 0x00008980, 0xa2935a6b, 0x00006108,
- 0x2203606c, 0x00004908, 0x00000001, 0x00007090, 0x226b5800, 0x0000f900,
- 0x0003cd08, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x1d4b786f, 0x00008714, 0x1d5b7a6f, 0x00008714,
- 0x254b706e, 0x00008914, 0x255b726e, 0x00008914, 0x10e81014, 0x0000f500,
- 0x250b686d, 0x00008910, 0x25136b6d, 0x00008910, 0x00000001, 0x0000f080,
- 0x40002511, 0x0000e583, 0x05000800, 0x00000980, 0x04c00000, 0x0000e180,
- 0x45371ee3, 0x0000c901, 0x02006000, 0x0000e189, 0x30ff1014, 0x00006002,
- 0x00001107, 0x00007208, 0x84d81302, 0x00009900, 0x40002511, 0x00001583,
- 0x000010fd, 0x0000f01b, 0x40001511, 0x00001583, 0x02005000, 0x00009989,
- 0x00001107, 0x00007009, 0x40001511, 0x00001583, 0x0200e000, 0x00009999,
- 0x00001107, 0x0000f019, 0x40000d11, 0x00001583, 0x02004800, 0x00009989,
- 0x00001107, 0x00007009, 0x00001106, 0x0000f000, 0x40003511, 0x00009583,
- 0x02008000, 0x00001989, 0x00001107, 0x00007009, 0x40003511, 0x00009583,
- 0x02004000, 0x000099a9, 0x00001107, 0x0000f029, 0x40003d11, 0x00001583,
- 0x02024000, 0x00009989, 0x00001107, 0x00007009, 0x02000000, 0x00001981,
- 0x00000411, 0x00006583, 0x86205014, 0x0000a087, 0x02800000, 0x00006180,
- 0x86204013, 0x00006087, 0x827f1fe3, 0x00006100, 0x02800800, 0x0000c989,
- 0x43b8a009, 0x0000d000, 0x00389800, 0x00000000, 0x00000c10, 0x00006583,
- 0x82371ee3, 0x00000900, 0x02400000, 0x00001980, 0x42805008, 0x0000a880,
- 0x02800000, 0x00006180, 0x00186009, 0x0000e18e, 0xffffffff, 0x00007f86,
- 0x04106009, 0x0000618f, 0x0000200a, 0x0000348e, 0xc000070d, 0x0000e583,
- 0x82371ee3, 0x00000900, 0x52785408, 0x0000d000, 0x00384800, 0x00008000,
- 0x02388710, 0x00006111, 0x02000000, 0x0000c989, 0xc000070d, 0x0000e583,
- 0x82771ee3, 0x00008900, 0x51404409, 0x0000a880, 0x0260740e, 0x0000e111,
- 0x02400800, 0x0000c989, 0xc000070d, 0x0000e583, 0x82371ee3, 0x00000900,
- 0x51584c08, 0x00002882, 0x0228750e, 0x00006111, 0x02001000, 0x00004989,
- 0xc000070d, 0x0000e583, 0x82771ee3, 0x00008900, 0x51704409, 0x00002881,
- 0x0270760e, 0x0000e111, 0x02401800, 0x00004989, 0xc000070d, 0x0000e583,
- 0x82371ee3, 0x00000900, 0x51584c08, 0x00002881, 0x0238770e, 0x00006111,
- 0x02002000, 0x00004989, 0xc000070d, 0x0000e583, 0x82771ee3, 0x00008900,
- 0x51404409, 0x00002800, 0x02606c0d, 0x0000e111, 0x02402800, 0x00004989,
- 0xc000070d, 0x0000e583, 0x82371ee3, 0x00000900, 0x51584c08, 0x0000a802,
- 0x02286d0d, 0x00006111, 0x02003000, 0x0000c989, 0xc000070d, 0x0000e583,
- 0x82771ee3, 0x00008900, 0x51704409, 0x0000a801, 0x02706e0d, 0x0000e111,
- 0x02403800, 0x0000c989, 0x02b07e0f, 0x00006101, 0x82371ee3, 0x0000c900,
- 0x00001149, 0x0000f400, 0x51584c08, 0x0000a801, 0x02787e0f, 0x00001000,
- 0x02800c0a, 0x00006081, 0x8200840a, 0x00008080, 0x438f1808, 0x0000a881,
- 0x0220540a, 0x00001900, 0x00004808, 0x00009502, 0x827f17e2, 0x0000e140,
- 0x823f17e2, 0x00004940, 0x50b85409, 0x000020c0, 0x00001146, 0x00007048,
- 0x50b860ec, 0x0000a080, 0x50b84c09, 0x00002000, 0x0000040a, 0x00009583,
- 0x8220800a, 0x0000e88e, 0x4000050c, 0x00006583, 0x0430800a, 0x0000208f,
- 0x50b84c08, 0x00002800, 0x02800c0a, 0x00006081, 0x03309612, 0x00000909,
- 0x0000115d, 0x00007210, 0x50b85408, 0x0000a880, 0x1fd896ec, 0x00002803,
- 0x203888ec, 0x0000a882, 0x83288510, 0x00009901, 0x00000001, 0x00007480,
- 0x43000d0c, 0x00009081, 0x50b860ec, 0x00002880, 0x42000000, 0x00001980,
- 0xffffffff, 0x00007f86, 0x0000240a, 0x0000e583, 0x8300840b, 0x00008080,
- 0x43b8680c, 0x00002080, 0x02806000, 0x00006189, 0x82185b0b, 0x0000c900,
- 0xffffffff, 0x00007f97, 0x0000080d, 0x00006c82, 0x83400000, 0x00009981,
- 0x00001183, 0x00007408, 0x30ff100d, 0x00006802, 0x5168580d, 0x0000e800,
- 0x0000240a, 0x00001583, 0x00001179, 0x0000701b, 0x0000140a, 0x00001583,
- 0x02805000, 0x00001989, 0x00001183, 0x00007009, 0x0000140a, 0x00001583,
- 0x0280e000, 0x00001999, 0x00001183, 0x0000f019, 0x00000c0a, 0x00001583,
- 0x02804800, 0x00001989, 0x00001183, 0x00007009, 0x00001182, 0x0000f000,
- 0x0000340a, 0x00009583, 0x02808000, 0x00009989, 0x00001183, 0x00007009,
- 0x0000340a, 0x00009583, 0x02804000, 0x000019a9, 0x00001183, 0x0000f029,
- 0x00003c0a, 0x00001583, 0x02824000, 0x00001989, 0x00001183, 0x00007009,
- 0x02800000, 0x00009981, 0x8620480d, 0x0000e087, 0x86205008, 0x0000b087,
- 0x43b8680c, 0x00005000, 0x00384000, 0x00000000, 0x83371ee3, 0x00001900,
- 0x43b8400c, 0x0000a000, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483,
- 0x82000e08, 0x00009081, 0x43b8400c, 0x00002800, 0x43b88009, 0x00002080,
- 0x80007a09, 0x00009582, 0xffffffff, 0x00007f97, 0x82a88510, 0x00006118,
- 0x0f408409, 0x00006032, 0x43a0500a, 0x0000a019, 0xffffffff, 0x00007f86,
- 0x00000001, 0x0000749b, 0x82a88510, 0x00006118, 0x02000c0a, 0x0000c199,
- 0x43b0400a, 0x00002819, 0x508050ec, 0x0000a081, 0xffffffff, 0x00007fa7,
- 0x02800c0a, 0x00001181, 0x509850ec, 0x00002882, 0x82a04c09, 0x00001900,
- 0x5080540a, 0x00002080, 0xffffffff, 0x00007f86, 0x00000001, 0x00007483,
- 0x82a04c09, 0x00006100, 0x02000c0a, 0x0000c181, 0x5080440a, 0x00002880,
- 0x82000ee3, 0x00006283, 0x82000ee3, 0x00000780, 0x26b84a08, 0x0000a08c,
- 0x26b84a08, 0x00002014, 0xffffffff, 0x00007fa7, 0x02400809, 0x0000e090,
- 0x02400809, 0x00008088, 0x00000001, 0x0000f481, 0x26b84a08, 0x0000288c,
- 0x26b84a08, 0x0000a814, 0x02400002, 0x0000e180, 0x02882804, 0x00004980,
- 0xc2680500, 0x0000e100, 0x82002d00, 0x0000c880, 0x760010ec, 0x00005680,
- 0x00384800, 0x00008000, 0xc2980a08, 0x00009080, 0x763850ec, 0x0000d600,
- 0x000ff800, 0x00000080, 0x760000ec, 0x0000d680, 0x00000000, 0x00008080,
- 0x00c002ec, 0x0000df80, 0x110dd00b, 0x00001684, 0xb9184308, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x11c0118d, 0x0000f300,
- 0x827f1fe3, 0x00006100, 0xc21722e4, 0x00004900, 0x823f1fe3, 0x00009900,
- 0x43804008, 0x00002080, 0xffffffff, 0x00007f86, 0x000011ad, 0x0000f403,
- 0x823f1fe3, 0x0000e100, 0x0247c408, 0x0000c281, 0x43804808, 0x00002880,
- 0x0fbf2fe5, 0x0000833c, 0x01400000, 0x0000e181, 0x100728e5, 0x00004900,
- 0x00001c05, 0x00009583, 0x0280700e, 0x00001908, 0x000011e1, 0x0000f009,
- 0x00001c05, 0x00009583, 0x000011d6, 0x0000701b, 0x00000c05, 0x00001583,
- 0x0281e03c, 0x00001908, 0x000011e1, 0x0000f009, 0x00001405, 0x00001583,
- 0x02803006, 0x00001908, 0x000011e1, 0x0000f009, 0x000011df, 0x00007000,
- 0x00002c05, 0x00009583, 0x02804809, 0x00001908, 0x000011e1, 0x0000f009,
- 0x00002c05, 0x00009583, 0x02804008, 0x00009928, 0x000011e1, 0x00007029,
- 0x00003405, 0x00009583, 0x0280600c, 0x00001908, 0x000011e1, 0x0000f009,
- 0x0281e83d, 0x00009900, 0xffffffff, 0x00007f86, 0x0100500a, 0x00009b00,
- 0x00072804, 0x0000e502, 0x02802004, 0x00000900, 0x01400c05, 0x00001089,
- 0x000011e8, 0x0000f011, 0x7b003c05, 0x0000f88a, 0x50800000, 0x0000088e,
- 0x81402c05, 0x00009880, 0x82905205, 0x00001000, 0x80067a0a, 0x00009582,
- 0x000011ed, 0x0000f033, 0x82bff801, 0x00009980, 0x82400000, 0x000080e2,
- 0x95fffa0a, 0x0000f88a, 0x00800003, 0x00000080, 0xffffffff, 0x00007f86,
- 0x43b8280a, 0x0000a080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x01003c05, 0x00001283, 0x8100fa0a, 0x0000e288, 0x81402a0a, 0x00008788,
- 0x011027e4, 0x00009808, 0x0000120f, 0x00007010, 0x00000405, 0x00006583,
- 0x010020e5, 0x00000400, 0x0f41e804, 0x00001208, 0x00001224, 0x0000f009,
- 0x00000c05, 0x00001583, 0x0f01e004, 0x00001208, 0x00001224, 0x0000f009,
- 0x00001405, 0x00001583, 0x03c07804, 0x00001208, 0x00001224, 0x0000f009,
- 0x00001c05, 0x00009583, 0x03807004, 0x00001208, 0x00001224, 0x0000f009,
- 0x00002405, 0x00001583, 0x03406804, 0x00001208, 0x00001224, 0x0000f009,
- 0x00002c05, 0x00009583, 0x02c05804, 0x00001208, 0x00001224, 0x0000f009,
- 0x00001224, 0x00007400, 0x00003405, 0x00009583, 0x03006004, 0x00001208,
- 0x00004c09, 0x00009583, 0x01801c09, 0x000062b1, 0x01000000, 0x000009b0,
- 0x01801c06, 0x000060b0, 0x3841f404, 0x000040b1, 0x0000121f, 0x00007018,
- 0x0107f800, 0x00009980, 0x01003004, 0x00001800, 0x010020e5, 0x00009400,
- 0xffffffff, 0x00007f86, 0x01400200, 0x0000f904, 0x0107fa0a, 0x00006280,
- 0x01402005, 0x00000200, 0x01803004, 0x00009800, 0x01803005, 0x00009300,
- 0x10003400, 0x00007904, 0x43b8280a, 0x0000a080, 0x02400c09, 0x00009081,
- 0xffffffff, 0x00007f97, 0x00001805, 0x0000ec04, 0x43b8280a, 0x00002880,
- 0x82800a0a, 0x00009080, 0x8006820a, 0x00001582, 0x01c00000, 0x0000e191,
- 0x81002a0a, 0x0000c790, 0x8280fa0a, 0x00006290, 0x01a02404, 0x00000911,
- 0x00001253, 0x00007008, 0x011057e4, 0x00009800, 0x014022ec, 0x00009100,
- 0x00203c06, 0x00001503, 0x00001250, 0x0000f01b, 0x00001c07, 0x00001583,
- 0x0100700e, 0x00009908, 0x00001245, 0x00007009, 0x00001c07, 0x00001583,
- 0x0000123b, 0x0000701b, 0x00000c07, 0x00009583, 0x0101e03c, 0x00009908,
- 0x00001245, 0x00007009, 0x00001407, 0x00009583, 0x0100780f, 0x00009908,
- 0x00001245, 0x00007009, 0x00001244, 0x0000f000, 0x00002c07, 0x00001583,
- 0x0100580b, 0x00009908, 0x00001245, 0x00007009, 0x00002c07, 0x00001583,
- 0x0100680d, 0x00001928, 0x00001245, 0x0000f029, 0x00003407, 0x00001583,
- 0x0100600c, 0x00009908, 0x00001245, 0x00007009, 0x0101e83d, 0x00001900,
- 0x00203c06, 0x00001503, 0x01002804, 0x00009208, 0xffffffff, 0x00007f86,
- 0x02802004, 0x00001b00, 0x0007280a, 0x00006502, 0x0100500a, 0x00008900,
- 0x81c02c07, 0x00001890, 0x82902207, 0x00009010, 0x00001250, 0x00007008,
- 0x94c67a0a, 0x0000789a, 0xa0800000, 0x00008982, 0x01c00c07, 0x00009081,
- 0x00003c07, 0x00009583, 0x0000122d, 0x00007013, 0x82bff801, 0x00009980,
- 0x02000c08, 0x00009081, 0x7c3ffa0a, 0x00007892, 0x00800003, 0x00000080,
- 0x04204840, 0x0000e087, 0x08001a76, 0x00003106, 0x22800000, 0x00007900,
- 0x000140c0, 0x00008980, 0xddb00600, 0x0000e101, 0x86204040, 0x00006087,
- 0x22340800, 0x0000f900, 0x002f51f0, 0x00008980, 0x2273c800, 0x0000f900,
- 0x00065644, 0x00008980, 0x9db81400, 0x0000871c, 0x12651014, 0x00007500,
- 0x1d79ff3e, 0x00000914, 0x25010740, 0x000088a9, 0x00000001, 0x0000f080,
- 0x81c001e4, 0x00008180, 0x06bf2fe5, 0x0000812c, 0x01800000, 0x0000e181,
- 0x070728e5, 0x00004900, 0x00001c06, 0x00009583, 0x0800580b, 0x00009908,
- 0x00001281, 0x0000f009, 0x00001c06, 0x00009583, 0x00001276, 0x0000701b,
- 0x00000c06, 0x00001583, 0x0800700e, 0x00009908, 0x00001281, 0x0000f009,
- 0x00001406, 0x00001583, 0x0800680d, 0x00009908, 0x00001281, 0x0000f009,
- 0x0000127f, 0x00007000, 0x00002c06, 0x00009583, 0x08004809, 0x00009908,
- 0x00001281, 0x0000f009, 0x00002c06, 0x00009583, 0x08002805, 0x00001928,
- 0x00001281, 0x00007029, 0x00003406, 0x00009583, 0x0800600c, 0x00009908,
- 0x00001281, 0x0000f009, 0x0800780f, 0x00001900, 0xffffffff, 0x00007f86,
- 0x02010020, 0x00009b00, 0x00072808, 0x0000e502, 0x08004008, 0x00008900,
- 0x01800c06, 0x00001089, 0x00001288, 0x0000f011, 0xa3003c06, 0x0000f88a,
- 0x50800000, 0x00000983, 0x81802c06, 0x00009880, 0x88110206, 0x00001000,
- 0x80067a20, 0x00001582, 0x0000128d, 0x0000f033, 0x883ff801, 0x00001980,
- 0x84c00000, 0x000081ca, 0xc07ffa20, 0x0000f88a, 0x00800003, 0x00000080,
- 0xffffffff, 0x00007f86, 0x43803020, 0x0000f902, 0x04000000, 0x00008000,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x01803c06, 0x00001281,
- 0x00000c06, 0x00001583, 0x00002406, 0x00009593, 0x8200fa20, 0x00006290,
- 0x81802a20, 0x00000790, 0x021047e4, 0x00009810, 0x000012b2, 0x00007008,
- 0x00000406, 0x00006583, 0x020040e5, 0x00000400, 0x03c07808, 0x00001208,
- 0x000012ce, 0x00007009, 0x00000c06, 0x00001583, 0x03807008, 0x00001208,
- 0x000012ce, 0x00007009, 0x00001406, 0x00001583, 0x03406808, 0x00001208,
- 0x000012ce, 0x00007009, 0x00001c06, 0x00009583, 0x02c05808, 0x00001208,
- 0x000012ce, 0x00007009, 0x00002406, 0x00001583, 0x01402808, 0x00001208,
- 0x000012ce, 0x00007009, 0x00002c06, 0x00009583, 0x01002008, 0x00001208,
- 0x000012ce, 0x00007009, 0x000012ce, 0x0000f400, 0x00003406, 0x00009583,
- 0x03006008, 0x00001208, 0x00004c13, 0x00001583, 0x02401c13, 0x0000e2b1,
- 0x01800000, 0x000089b0, 0x02401c09, 0x000060b0, 0x3840d406, 0x0000c0b1,
- 0x000012c2, 0x00007018, 0x0187f800, 0x00001980, 0x01804806, 0x00001800,
- 0x018030e5, 0x00009400, 0xffffffff, 0x00007f86, 0x02000200, 0x00007904,
- 0x0187fa20, 0x00006280, 0x02003008, 0x00008200, 0x02404806, 0x00001800,
- 0x02404808, 0x00001300, 0x10004c00, 0x00007904, 0xc1808710, 0x0000e283,
- 0x04c00c13, 0x00000081, 0x12c5177a, 0x00007113, 0x01800000, 0x00001980,
- 0x12c9118d, 0x0000f500, 0x00110006, 0x0000e986, 0x02403006, 0x00009900,
- 0x43803020, 0x0000f902, 0x04000000, 0x00008000, 0xffffffff, 0x00007fa7,
- 0x00001006, 0x00006c04, 0x43b83020, 0x0000a880, 0x88000a20, 0x00009080,
- 0x80068220, 0x00009582, 0x02400000, 0x00006191, 0x81802a20, 0x0000c790,
- 0x8800fa20, 0x00006290, 0x01e03406, 0x00008911, 0x000012fd, 0x0000f008,
- 0x019107e4, 0x00009800, 0x020032ec, 0x00009100, 0x00204c07, 0x00001503,
- 0x000012fa, 0x0000f01b, 0x00001c09, 0x00009583, 0x0180580b, 0x00001908,
- 0x000012ef, 0x00007009, 0x00001c09, 0x00009583, 0x000012e5, 0x0000701b,
- 0x00000c09, 0x00001583, 0x0180700e, 0x00001908, 0x000012ef, 0x00007009,
- 0x00001409, 0x00001583, 0x0180680d, 0x00001908, 0x000012ef, 0x00007009,
- 0x000012ee, 0x0000f000, 0x00002c09, 0x00009583, 0x01802004, 0x00001908,
- 0x000012ef, 0x00007009, 0x00002c09, 0x00009583, 0x01802805, 0x00009928,
- 0x000012ef, 0x0000f029, 0x00003409, 0x00009583, 0x0180600c, 0x00001908,
- 0x000012ef, 0x00007009, 0x0180780f, 0x00009900, 0x00204c07, 0x00001503,
- 0x01804006, 0x00001208, 0xffffffff, 0x00007f86, 0x02803006, 0x00001b00,
- 0x0007280a, 0x00006502, 0x0180500a, 0x00000900, 0x82402c09, 0x00001890,
- 0x88103209, 0x00001010, 0x000012fa, 0x00007008, 0xbf467a20, 0x0000789a,
- 0xf0800000, 0x00008987, 0x02400c09, 0x00009081, 0x00003c09, 0x00001583,
- 0x000012d7, 0x00007013, 0x883ff801, 0x00001980, 0x04800c12, 0x00009081,
- 0xa43ffa20, 0x0000f892, 0x00800003, 0x00000080, 0x0420981c, 0x00006087,
- 0x08001a76, 0x00003106, 0x22800000, 0x00007900, 0x000140c0, 0x00008980,
- 0xddb00600, 0x0000e101, 0x8620901c, 0x0000e087, 0x220c1800, 0x0000f900,
- 0x00198f26, 0x00000980, 0x2243c800, 0x0000f900, 0x003ec9b2, 0x00000980,
- 0x9db81400, 0x0000871c, 0x130f1014, 0x0000f500, 0x1d78df1a, 0x00000914,
- 0x2500ff1c, 0x000088a9, 0x00000413, 0x00001583, 0xb9183b07, 0x0000e108,
- 0x01000000, 0x00004990, 0x81280500, 0x00006110, 0x01b00004, 0x00004990,
- 0x700040ec, 0x0000d690, 0x00382544, 0x00008008, 0x700000ec, 0x00005690,
- 0x00000000, 0x00008080, 0xc1908210, 0x00001910, 0x700000ec, 0x00005690,
- 0x00000000, 0x00008080, 0x00000000, 0x0000f088, 0x700040ec, 0x00005680,
- 0x003837c0, 0x00000078, 0x00c002ec, 0x0000df80, 0x1119000b, 0x00009684,
- 0xb9183b07, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083,
- 0x037f2fe5, 0x00000038, 0x01000000, 0x00006181, 0x03c728e5, 0x0000c900,
- 0x00001c04, 0x00001583, 0x01c08811, 0x00009908, 0x0000133d, 0x0000f009,
- 0x00001c04, 0x00001583, 0x00001332, 0x0000f01b, 0x00000c04, 0x00009583,
- 0x01c09813, 0x00009908, 0x0000133d, 0x0000f009, 0x00001404, 0x00009583,
- 0x01c03006, 0x00009908, 0x0000133d, 0x0000f009, 0x0000133b, 0x0000f000,
- 0x00002c04, 0x00001583, 0x01c04809, 0x00009908, 0x0000133d, 0x0000f009,
- 0x00002c04, 0x00001583, 0x01c04008, 0x00001928, 0x0000133d, 0x00007029,
- 0x00003404, 0x00001583, 0x01c0600c, 0x00009908, 0x0000133d, 0x0000f009,
- 0x01c0a014, 0x00001900, 0xffffffff, 0x00007f86, 0x01403807, 0x00001b00,
- 0x00072805, 0x00006502, 0x01c02805, 0x00008900, 0x01000c04, 0x00001089,
- 0x00001344, 0x00007011, 0xd2003c04, 0x0000788a, 0x30800000, 0x00000989,
- 0x81002c04, 0x00009880, 0x81d03a04, 0x00009000, 0x80067a07, 0x00001582,
- 0x00001349, 0x0000f033, 0x81fff801, 0x00001980, 0x02800000, 0x00009981,
- 0xec3ffa07, 0x0000f88a, 0x00800003, 0x00000080, 0xffffffff, 0x00007f86,
- 0x43b84807, 0x00002080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x01003c09, 0x00009281, 0x00000c04, 0x00009583, 0x8100fa07, 0x00006290,
- 0x81402a07, 0x00000790, 0x011027e4, 0x00009810, 0x0000136c, 0x0000f008,
- 0x00000405, 0x00006583, 0x010020e5, 0x00000400, 0x0500a004, 0x00001208,
- 0x0000137f, 0x0000f009, 0x00000c05, 0x00001583, 0x04c09804, 0x00001208,
- 0x0000137f, 0x0000f009, 0x00001405, 0x00001583, 0x04809004, 0x00001208,
- 0x0000137f, 0x0000f009, 0x00001c05, 0x00009583, 0x04408804, 0x00001208,
- 0x0000137f, 0x0000f009, 0x00002405, 0x00001583, 0x04008004, 0x00001208,
- 0x0000137f, 0x0000f009, 0x00002c05, 0x00009583, 0x02c05804, 0x00001208,
- 0x0000137f, 0x0000f009, 0x0000137f, 0x00007400, 0x00003405, 0x00009583,
- 0x03006004, 0x00001208, 0x00004c0a, 0x00009583, 0x01801c0a, 0x000062b1,
- 0x01000000, 0x000009b0, 0x01801c06, 0x000060b0, 0x38406c04, 0x000040b1,
- 0x0000137c, 0x0000f018, 0x0107f800, 0x00009980, 0x01003004, 0x00001800,
- 0x010020e5, 0x00009400, 0xffffffff, 0x00007f86, 0x01400200, 0x0000f904,
- 0x0107fa07, 0x0000e280, 0x01402005, 0x00000200, 0x01803004, 0x00009800,
- 0x01803005, 0x00009300, 0x10003400, 0x00007904, 0x02800c0a, 0x00006081,
- 0x00002009, 0x00002404, 0x43b84807, 0x0000a880, 0x81c00a07, 0x00009080,
- 0x80068207, 0x00009582, 0x01800000, 0x00006191, 0x81002a07, 0x00004790,
- 0x81c0fa07, 0x00006290, 0x01602404, 0x00000911, 0x000013b0, 0x00007008,
- 0x00000405, 0x00006583, 0x01103fe4, 0x00008800, 0x010022ec, 0x00001100,
- 0x000013ad, 0x00007019, 0x00001c06, 0x00009583, 0x01c08811, 0x00009908,
- 0x000013a0, 0x00007009, 0x00001c06, 0x00009583, 0x00001396, 0x0000701b,
- 0x00000c06, 0x00001583, 0x01c09813, 0x00009908, 0x000013a0, 0x00007009,
- 0x00001406, 0x00001583, 0x01c09012, 0x00009908, 0x000013a0, 0x00007009,
- 0x0000139f, 0x00007000, 0x00002c06, 0x00009583, 0x01c0580b, 0x00009908,
- 0x000013a0, 0x00007009, 0x00002c06, 0x00009583, 0x01c08010, 0x00001928,
- 0x000013a0, 0x0000f029, 0x00003406, 0x00009583, 0x01c0600c, 0x00009908,
- 0x000013a0, 0x00007009, 0x01c0a014, 0x00001900, 0x00203405, 0x00009503,
- 0x01c02007, 0x00001208, 0xffffffff, 0x00007f86, 0x01c03807, 0x00009b00,
- 0x00072807, 0x0000e502, 0x02003807, 0x00008900, 0x81802c06, 0x00001890,
- 0x81d04206, 0x00009010, 0x000013ad, 0x00007008, 0xec067a07, 0x0000f89a,
- 0x00800001, 0x00000000, 0xd33ffa07, 0x0000f892, 0x80800002, 0x0000898d,
- 0x01800c06, 0x00009081, 0x00403c06, 0x0000c589, 0x7fe03005, 0x00007d1e,
- 0x8620500f, 0x00006087, 0x08001a76, 0x00003106, 0x22800000, 0x00007900,
- 0x000140c0, 0x00008980, 0x22133000, 0x00007900, 0x00198f26, 0x00000980,
- 0x227b4800, 0x0000f900, 0x00007fea, 0x00008980, 0x9da00500, 0x0000871a,
- 0x1df86f02, 0x00008714, 0x13bd1014, 0x0000f500, 0x25787f0e, 0x00000910,
- 0xa2811000, 0x00001980, 0x00000001, 0x0000f080, 0x01000000, 0x00009980,
- 0x01400000, 0x00001980, 0x01800000, 0x00001980, 0x01c00000, 0x00009980,
- 0x02000000, 0x00009980, 0x02400000, 0x00001980, 0x02800000, 0x00001980,
- 0x02c00000, 0x00009980, 0x03000000, 0x00001980, 0x03400000, 0x00009980,
- 0x03800000, 0x00009980, 0x03c00000, 0x00001980, 0x04000000, 0x00009980,
- 0x04400000, 0x00001980, 0x04800000, 0x00001980, 0x04c00000, 0x00009980,
- 0x05000000, 0x00001980, 0x05400000, 0x00009980, 0x05800000, 0x00009980,
- 0x05c00000, 0x00001980, 0x06000000, 0x00001980, 0x06400000, 0x00009980,
- 0x06800000, 0x00009980, 0x06c00000, 0x00001980, 0x07000000, 0x00009980,
- 0x07400000, 0x00001980, 0x07800000, 0x00001980, 0x07c00000, 0x00009980,
- 0x08000000, 0x00009980, 0x08400000, 0x00001980, 0x08800000, 0x00001980,
- 0x08c00000, 0x00009980, 0x09000000, 0x00001980, 0x09400000, 0x00009980,
- 0x09800000, 0x00009980, 0x09c00000, 0x00001980, 0x0a000000, 0x00001980,
- 0x0a400000, 0x00009980, 0x0a800000, 0x00009980, 0x0ac00000, 0x00001980,
- 0x0b000000, 0x00009980, 0x0b400000, 0x00001980, 0x0b800000, 0x00001980,
- 0x0bc00000, 0x00009980, 0x0c000000, 0x00001980, 0x0c400000, 0x00009980,
- 0x0c800000, 0x00009980, 0x0cc00000, 0x00001980, 0x0d000000, 0x00009980,
- 0x0d400000, 0x00001980, 0x0d800000, 0x00001980, 0x0dc00000, 0x00009980,
- 0x0e000000, 0x00009980, 0x0e400000, 0x00001980, 0x0e800000, 0x00001980,
- 0x0ec00000, 0x00009980, 0x0f000000, 0x00001980, 0x0f400000, 0x00009980,
- 0x0f800000, 0x00009980, 0x0fc00000, 0x00001980, 0x10000000, 0x00009980,
- 0x10400000, 0x00001980, 0x10800000, 0x00001980, 0x10c00000, 0x00009980,
- 0x11000000, 0x00001980, 0x11400000, 0x00009980, 0x11800000, 0x00009980,
- 0x11c00000, 0x00001980, 0x12000000, 0x00001980, 0x12400000, 0x00009980,
- 0x12800000, 0x00009980, 0x12c00000, 0x00001980, 0x13000000, 0x00009980,
- 0x13400000, 0x00001980, 0x13800000, 0x00001980, 0x13c00000, 0x00009980,
- 0x14000000, 0x00001980, 0x14400000, 0x00009980, 0x14800000, 0x00009980,
- 0x14c00000, 0x00001980, 0x15000000, 0x00009980, 0x15400000, 0x00001980,
- 0x15800000, 0x00001980, 0x15c00000, 0x00009980, 0x16000000, 0x00009980,
- 0x16400000, 0x00001980, 0x16800000, 0x00001980, 0x16c00000, 0x00009980,
- 0x17000000, 0x00001980, 0x17400000, 0x00009980, 0x17800000, 0x00009980,
- 0x17c00000, 0x00001980, 0x18000000, 0x00001980, 0x18400000, 0x00009980,
- 0x18800000, 0x00009980, 0x18c00000, 0x00001980, 0x19000000, 0x00009980,
- 0x19400000, 0x00001980, 0x19800000, 0x00001980, 0x19c00000, 0x00009980,
- 0x1a000000, 0x00009980, 0x1a400000, 0x00001980, 0x1a800000, 0x00001980,
- 0x1ac00000, 0x00009980, 0x1b000000, 0x00001980, 0x1b400000, 0x00009980,
- 0x1b800000, 0x00009980, 0x1bc00000, 0x00001980, 0x1c000000, 0x00009980,
- 0x1c400000, 0x00001980, 0x1c800000, 0x00001980, 0x1cc00000, 0x00009980,
- 0x1d000000, 0x00001980, 0x1d400000, 0x00009980, 0x1d800000, 0x00009980,
- 0x1dc00000, 0x00001980, 0x1e000000, 0x00001980, 0x1e400000, 0x00009980,
- 0x1e800000, 0x00009980, 0x1ec00000, 0x00001980, 0x1f000000, 0x00009980,
- 0x1f400000, 0x00001980, 0x1f800000, 0x00001980, 0x1fc00000, 0x00009980,
- 0x20000000, 0x00009980, 0x20400000, 0x00001980, 0x20800000, 0x00001980,
- 0x20c00000, 0x00009980, 0x21000000, 0x00001980, 0x21400000, 0x00009980,
- 0x21800000, 0x00009980, 0x21c00000, 0x00001980, 0x22000000, 0x00001980,
- 0x22400000, 0x00009980, 0x22800000, 0x00009980, 0x22c00000, 0x00001980,
- 0x23000000, 0x00009980, 0x23400000, 0x00001980, 0x23800000, 0x00001980,
- 0x23c00000, 0x00009980, 0x24000000, 0x00001980, 0x24400000, 0x00009980,
- 0x24800000, 0x00009980, 0x24c00000, 0x00001980, 0x25000000, 0x00009980,
- 0x25400000, 0x00001980, 0x25800000, 0x00001980, 0x25c00000, 0x00009980,
- 0x26000000, 0x00009980, 0x26400000, 0x00001980, 0x26800000, 0x00001980,
- 0x26c00000, 0x00009980, 0x27000000, 0x00001980, 0x27400000, 0x00009980,
- 0x27800000, 0x00009980, 0x27c00000, 0x00001980, 0x28000000, 0x00001980,
- 0x28400000, 0x00009980, 0x28800000, 0x00009980, 0x28c00000, 0x00001980,
- 0x29000000, 0x00009980, 0x29400000, 0x00001980, 0x29800000, 0x00001980,
- 0x29c00000, 0x00009980, 0x2a000000, 0x00009980, 0x2a400000, 0x00001980,
- 0x2a800000, 0x00001980, 0x2ac00000, 0x00009980, 0x2b000000, 0x00001980,
- 0x2b400000, 0x00009980, 0x2b800000, 0x00009980, 0x2bc00000, 0x00001980,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x11800ce0, 0x00006283, 0x11c00000, 0x00000981,
- 0x823a36ec, 0x0000a694, 0x13771fe4, 0x00009810, 0x00000001, 0x00007088,
- 0x00000001, 0x0000f481, 0x1182304d, 0x00009202, 0x11c00800, 0x00009991,
- 0x11800000, 0x00007900, 0x000010c4, 0x00008980, 0x91402d00, 0x0000e080,
- 0x001a4046, 0x00006106, 0x91280500, 0x00006100, 0xd1180a45, 0x0000c080,
- 0x703a30ec, 0x00005600, 0x003a2000, 0x00008000, 0x11000004, 0x0000e180,
- 0x929722e4, 0x0000c900, 0x11400000, 0x00007900, 0x00007fc0, 0x00000980,
- 0x82224044, 0x00006080, 0x001a4045, 0x0000b186, 0x703a38ec, 0x0000d600,
- 0x003a4800, 0x00000000, 0x92c02d00, 0x00006080, 0x04171044, 0x0000e187,
- 0x703a28ec, 0x00005600, 0x003a2000, 0x00008000, 0x00c002ec, 0x0000df80,
- 0x1144c00b, 0x00001684, 0x1499146c, 0x00007100, 0xb912524a, 0x00001900,
- 0xffffffff, 0x00007fa7, 0x00000000, 0x00007083, 0x203a10ec, 0x0000a080,
- 0x0b220fe4, 0x00009800, 0xffffffff, 0x00007f97, 0x0b02102c, 0x00009202,
- 0x22800000, 0x0000f910, 0x000140c0, 0x00008980, 0xa2801800, 0x0000e190,
- 0xddb00600, 0x00004911, 0x00000001, 0x00007088, 0x22190000, 0x00007900,
- 0x0019b31e, 0x00008980, 0x2257f800, 0x0000f900, 0x0019b31e, 0x00008980,
- 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x00001014, 0x0000f400,
- 0x1dfa0f02, 0x00000714, 0x253a072f, 0x00008914, 0x0bfa6eec, 0x00002180,
- 0x90371ee3, 0x00009900, 0xffffffff, 0x00007f97, 0x80126a40, 0x00001502,
- 0x801a6a40, 0x00009502, 0xffffffff, 0x00007f86, 0x000014be, 0x00007008,
- 0x000014bc, 0x0000f008, 0x80172a4d, 0x00001502, 0x93771ee3, 0x00009908,
- 0x000014be, 0x0000f009, 0xc0172b4d, 0x00001502, 0xd3771ee3, 0x00001908,
- 0x000014be, 0x0000f011, 0x000014bf, 0x0000f200, 0x93800800, 0x00001980,
- 0x93800000, 0x00009980, 0xffffffff, 0x00007f86, 0x2c00324e, 0x00001680,
- 0x900588b0, 0x00001000, 0x90000a40, 0x00009080, 0x0bc25e40, 0x00007902,
- 0x12800000, 0x00000100, 0x0c024840, 0x00007902, 0x12000000, 0x00008100,
- 0x0c023a40, 0x00007902, 0x11800000, 0x00000100, 0x0c022c40, 0x0000f902,
- 0x11000000, 0x00008100, 0x0c021e40, 0x00007902, 0x10800000, 0x00008100,
- 0x0c40e840, 0x00007902, 0x07000000, 0x00000100, 0xa100301f, 0x0000c388,
- 0x0020301f, 0x00008098, 0xa0c0101f, 0x00004488, 0xd220101f, 0x00008599,
- 0x00c0001f, 0x0000c790, 0x02c0501f, 0x00008488, 0x9e80501f, 0x000044b0,
- 0x3220601f, 0x0000058a, 0x4580601f, 0x000078ab, 0xd0800000, 0x00000a87,
- 0x0000081f, 0x00009582, 0xd2c00b4b, 0x00001088, 0x0000151c, 0x0000f009,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03ee9000, 0x0000f900,
- 0x00328e8c, 0x00008980, 0x048a7000, 0x00007900, 0x00153394, 0x00008980,
- 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000000e8,
- 0x151c0fe7, 0x0000f500, 0x82600500, 0x00008026, 0x81001000, 0x0000e180,
- 0x03001002, 0x0000c900, 0x0000201f, 0x00009582, 0xd210f21e, 0x00006108,
- 0x92000a48, 0x00004088, 0x0000151c, 0x0000f009, 0x0000201f, 0x00009582,
- 0x92400a49, 0x000060b0, 0xd250f21e, 0x00008930, 0xd1d0f21e, 0x0000e118,
- 0x91c00a47, 0x0000c098, 0x0000151c, 0x0000f030, 0x0000151c, 0x0000f000,
- 0x0000401f, 0x00009582, 0xd0d0f21e, 0x0000e108, 0x90c00a43, 0x00004088,
- 0x0000151c, 0x0000f009, 0x42c0401f, 0x0000f8b3, 0x80800000, 0x00000a88,
- 0x0000681f, 0x00009582, 0xc710f21e, 0x0000e108, 0x87000a1c, 0x00004088,
- 0x0000151c, 0x0000f009, 0x000014dc, 0x00007000, 0x12c00001, 0x000004e8,
- 0x12400000, 0x000084e0, 0x11c00000, 0x000084d8, 0x11400000, 0x000084d0,
- 0x0000151c, 0x00007400, 0x10c00000, 0x000084c8, 0x07000000, 0x000081f4,
- 0x0000151c, 0x00007200, 0x92800a4a, 0x00009080, 0x0000151c, 0x00007200,
- 0xd190f21e, 0x00006100, 0x91800a46, 0x0000c080, 0x0000151c, 0x00007400,
- 0x8000024e, 0x00006582, 0xd2800b4a, 0x00000080, 0x93572ae5, 0x0000e108,
- 0xd3572ae5, 0x00004910, 0x0000151c, 0x00007200, 0xd150f21e, 0x00006100,
- 0x91400a45, 0x0000c080, 0x0000151c, 0x00007200, 0xd110f21e, 0x0000e100,
- 0x91000a44, 0x0000c080, 0x0000151c, 0x00007200, 0xd090f21e, 0x0000e100,
- 0x90800a42, 0x0000c080, 0x0000151c, 0x00007200, 0xc750f21e, 0x0000e100,
- 0x87400a1d, 0x0000c080, 0xffffffff, 0x00007f86, 0x0bfa6eec, 0x0000a980,
- 0x0bfa5e40, 0x00005100, 0x003a5000, 0x00000000, 0x0c3a4840, 0x00005100,
- 0x003a4000, 0x00008000, 0x0c3a3a40, 0x00005100, 0x003a3000, 0x00000000,
- 0x0c3a2c40, 0x0000d100, 0x003a2000, 0x00008000, 0x00000001, 0x00007480,
- 0x0c3a1e40, 0x00005100, 0x003a1000, 0x00008000, 0x0c78e840, 0x00005100,
- 0x0038e000, 0x00000000, 0x8e000fe2, 0x0000e080, 0x00000006, 0x0000e586,
- 0x50e1dc38, 0x0000a081, 0x50d1d438, 0x00002082, 0x057ffa46, 0x0000f900,
- 0x0000001e, 0x00000280, 0x044000c0, 0x000001c8, 0x4001d806, 0x00006000,
- 0x06024811, 0x0000b006, 0x0001dc06, 0x0000e004, 0x46024811, 0x0000b002,
- 0x01008406, 0x0000e283, 0x04123011, 0x00002185, 0x0e000800, 0x0000e190,
- 0x09806838, 0x00006008, 0x04c00000, 0x0000e180, 0x09406c04, 0x00006000,
- 0x0e01c404, 0x00006000, 0x05800000, 0x00000980, 0x0e401438, 0x0000e081,
- 0x05c00000, 0x00004980, 0x8e0016e3, 0x0000e080, 0x06000000, 0x00004980,
- 0x0cc02838, 0x0000f902, 0x01000000, 0x00000100, 0x0cc0a638, 0x0000f902,
- 0x01c00000, 0x00000100, 0x04000800, 0x0000f900, 0x00040014, 0x00000980,
- 0x06400000, 0x00009980, 0x01402815, 0x00006002, 0x05400000, 0x00000980,
- 0x05000814, 0x0000e082, 0x01000004, 0x00000084, 0x0cf82838, 0x0000d100,
- 0x00382000, 0x00000000, 0xc100270d, 0x00006283, 0x01c00007, 0x00000084,
- 0x0cf8a638, 0x0000d100, 0x00383800, 0x00000000, 0x05100000, 0x00007900,
- 0x0000c002, 0x00000980, 0x0000155a, 0x00007210, 0x01000000, 0x00001990,
- 0x01008406, 0x00001283, 0x01000000, 0x00009980, 0x01000800, 0x00009988,
- 0xc100470d, 0x00006283, 0x0e000000, 0x00008981, 0x07002060, 0x00006180,
- 0x0e000800, 0x00004989, 0x06c02060, 0x0000e180, 0x34e0201c, 0x0000e001,
- 0x0938670b, 0x00008220, 0x01008406, 0x0000e283, 0x34e1c01b, 0x0000a001,
- 0xd341d828, 0x0000e014, 0xd341d024, 0x00003014, 0x00000438, 0x0000e583,
- 0x0d172ae5, 0x00008900, 0x17c00000, 0x00006180, 0x08022038, 0x0000e206,
- 0x13580000, 0x0000f900, 0x00200000, 0x00000980, 0xc100170d, 0x00006283,
- 0x18800000, 0x00000980, 0xcd11c238, 0x00006100, 0x0000185f, 0x0000e106,
- 0x08001a38, 0x00006106, 0x00022062, 0x00003206, 0x0c000000, 0x0000f900,
- 0x00018000, 0x00008980, 0x0c800000, 0x00007900, 0x00020000, 0x00000980,
- 0x001020ec, 0x0000d780, 0x00d073c2, 0x00008180, 0x0c400000, 0x0000e180,
- 0x0411c04d, 0x0000e101, 0x0cc00000, 0x00006180, 0x13800040, 0x0000c980,
- 0x18c00002, 0x0000e180, 0x1a000000, 0x0000c980, 0x8e002302, 0x00006780,
- 0xc000185f, 0x0000a006, 0x0b000000, 0x00007900, 0x00224180, 0x00000980,
- 0x13000000, 0x00007900, 0x00014000, 0x00008980, 0x13c1c000, 0x0000f900,
- 0x00006080, 0x00000980, 0x15000000, 0x00007900, 0x00108000, 0x00008980,
- 0x17001000, 0x00007900, 0x00004000, 0x00000980, 0x17400000, 0x00007900,
- 0x00040080, 0x00008980, 0x18086000, 0x00007900, 0x00010000, 0x00000980,
- 0x18501800, 0x0000f900, 0x00004100, 0x00008980, 0x19202000, 0x00007900,
- 0x00010000, 0x00000980, 0x19402000, 0x00007900, 0x00040000, 0x00000980,
- 0x001898ec, 0x00005780, 0x00d075c0, 0x000082c0, 0x00022863, 0x00006106,
- 0x4511c062, 0x00003107, 0x06806060, 0x0000e180, 0x07408060, 0x0000c980,
- 0x0780c060, 0x00006180, 0x07c10060, 0x00004980, 0x08c00000, 0x000002d4,
- 0x09800000, 0x000082dc, 0x0a400000, 0x000002e8, 0x0ac00000, 0x00006180,
- 0x08004008, 0x00004900, 0x08785709, 0x00000208, 0x0b400000, 0x000002f8,
- 0x0bc0002e, 0x000083d8, 0x0de03000, 0x000001e3, 0x46405000, 0x0000e181,
- 0x0d423847, 0x0000c900, 0x14000000, 0x00006180, 0x14402020, 0x0000c980,
- 0x14802060, 0x00006180, 0x14c00000, 0x00004980, 0x15400000, 0x000005d8,
- 0x15c00000, 0x0000e180, 0x97901202, 0x0000c900, 0x17880502, 0x00000698,
- 0x19c00000, 0x000086e4, 0x1a800000, 0x000086ec, 0x1b000000, 0x000086f4,
- 0x1b800000, 0x000086fc, 0x0c08720e, 0x00000300, 0x0c20740e, 0x00006101,
- 0x4c800520, 0x0000c980, 0x0c486a0d, 0x00000304, 0x000015bc, 0x0000f410,
- 0x0c6a280d, 0x0000030e, 0xda101202, 0x00006100, 0x9380e439, 0x0000c080,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x82c030ec, 0x0000f902,
- 0x01000000, 0x00000604, 0x1c400020, 0x0000e180, 0x0100a238, 0x00004880,
- 0x08022038, 0x0000e206, 0x00022871, 0x00003106, 0x1c800000, 0x00006180,
- 0xc0000816, 0x00006407, 0x1c01c004, 0x0000e300, 0x00000865, 0x00002402,
- 0x0d001c38, 0x0000e006, 0x00000866, 0x0000b402, 0x0008e0ec, 0x0000d780,
- 0x00007000, 0x00000080, 0x00107872, 0x00006302, 0xc321c071, 0x0000b004,
- 0x85c01866, 0x000006c7, 0x1ac0320f, 0x00006000, 0x1cc00000, 0x00000980,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x22111800, 0x0000f900,
- 0x00184952, 0x00008980, 0x15d7101e, 0x0000f500, 0x1d40000c, 0x0000e180,
- 0x1fd01202, 0x00004900, 0x1fb1ee3d, 0x00009900, 0x80001e3d, 0x00001583,
- 0x01000000, 0x0000f910, 0x00014040, 0x00000980, 0x01c00000, 0x00006190,
- 0x01800000, 0x0000c990, 0x000015e7, 0x0000f008, 0x03d1f000, 0x0000f900,
- 0x00184952, 0x00008980, 0x04b8d800, 0x00007900, 0x00063176, 0x00008980,
- 0x02800000, 0x00006180, 0x08001a09, 0x0000e106, 0x15e70fe7, 0x00007500,
- 0x81001000, 0x0000e180, 0xc2700600, 0x00004901, 0x03200702, 0x00000026,
- 0x15eb14ae, 0x0000f500, 0x07c04800, 0x0000e180, 0x0801e004, 0x0000e206,
- 0x07802004, 0x00009900, 0x81c00fe2, 0x0000e080, 0x00000006, 0x0000e586,
- 0x50e1cc07, 0x00002081, 0x50d1c407, 0x0000a082, 0x044000c0, 0x000001c8,
- 0x04c00000, 0x0000e180, 0x06020811, 0x00006006, 0x4001c806, 0x0000e000,
- 0x46020811, 0x00003002, 0x0001cc06, 0x00006004, 0x0439e011, 0x00003185,
- 0x01008406, 0x0000e283, 0x05800000, 0x00000980, 0x01c00800, 0x0000e190,
- 0x09806807, 0x00006008, 0x05c00000, 0x00006180, 0x09406c04, 0x00006000,
- 0x01403c04, 0x0000e000, 0x06000000, 0x00008980, 0x81c016e3, 0x0000e080,
- 0x03c01405, 0x00004881, 0x0cc02807, 0x0000f902, 0x01000000, 0x00000100,
- 0x0cc0ae07, 0x00007902, 0x05000000, 0x00008100, 0x04000800, 0x0000f900,
- 0x00040014, 0x00000980, 0x06400000, 0x00009980, 0x01402f3c, 0x00009002,
- 0x05400815, 0x0000e082, 0x01000004, 0x00000084, 0x0cf82807, 0x0000d100,
- 0x00382000, 0x00000000, 0xc100270d, 0x00006283, 0x05000014, 0x00000084,
- 0x0cf8ae07, 0x00005100, 0x0038a000, 0x00008000, 0x05000000, 0x0000f900,
- 0x0000c002, 0x00000980, 0x00001618, 0x00007210, 0x05400000, 0x0000e180,
- 0x01000000, 0x00004990, 0x01008406, 0x00001283, 0x01000000, 0x00009980,
- 0x01000800, 0x00009988, 0xc100470d, 0x00006283, 0x01400000, 0x00000981,
- 0x07002060, 0x00006180, 0x0900580b, 0x0000c900, 0x0a00600c, 0x0000e100,
- 0x34e0201c, 0x0000e001, 0x01400800, 0x0000e189, 0x01c7863c, 0x0000c281,
- 0x01008406, 0x0000e283, 0x06c02060, 0x00000980, 0xd341c828, 0x00006014,
- 0xd341c024, 0x0000b014, 0x00000405, 0x00006583, 0x0801e004, 0x00002206,
- 0x00058407, 0x00006583, 0x0c400000, 0x00000980, 0x0c000000, 0x0000f900,
- 0x00204000, 0x00008980, 0x0c800000, 0x000083cc, 0x0d172ae5, 0x00006100,
- 0x34e0281b, 0x0000e001, 0x0b000000, 0x00007900, 0x00224180, 0x00000980,
- 0x06806060, 0x0000e180, 0x07408060, 0x0000c980, 0x0780c060, 0x00006180,
- 0x07c00000, 0x0000c980, 0x08c00000, 0x000002d4, 0x09800000, 0x000082dc,
- 0x0a400000, 0x000002e8, 0x0ac00000, 0x00006180, 0x08004008, 0x00004900,
- 0x08785709, 0x00000208, 0x0b400000, 0x000002f8, 0x0bc0002e, 0x000083d4,
- 0x0d800000, 0x000083dc, 0xc6204406, 0x000081e6, 0x0c486a0d, 0x00000304,
- 0x0c50700d, 0x00000300, 0x0c00710e, 0x00008300, 0x0000164a, 0x0000f410,
- 0x4c800120, 0x00006180, 0xccf9ef3d, 0x00004901, 0xcd102204, 0x00006100,
- 0x80002030, 0x0000e40f, 0x0d200404, 0x0000838f, 0x0801f804, 0x00006a06,
- 0x4c800000, 0x0000f900, 0x00002200, 0x00008980, 0xcd102204, 0x00001900,
- 0x11580000, 0x00007900, 0x00200000, 0x00000980, 0x15c00000, 0x0000e180,
- 0x08001a04, 0x00006106, 0x16800000, 0x000005f0, 0x00058407, 0x00006583,
- 0x04102045, 0x0000a101, 0x001020ec, 0x0000d780, 0x00d07442, 0x000001c0,
- 0x00001857, 0x00006106, 0x0001e05a, 0x0000b206, 0x11800040, 0x00006180,
- 0x16c00002, 0x00004980, 0x17400000, 0x000086c0, 0x18400000, 0x0000e180,
- 0x81002302, 0x0000c780, 0x1700605c, 0x00006388, 0x8000085c, 0x00002412,
- 0x11000000, 0x0000f900, 0x00014000, 0x00008980, 0x11c0c000, 0x0000f900,
- 0x00006080, 0x00000980, 0x13000000, 0x00007900, 0x00108000, 0x00008980,
- 0x15001000, 0x0000f900, 0x00004000, 0x00000980, 0x15400000, 0x0000f900,
- 0x00040080, 0x00008980, 0x16086000, 0x0000f900, 0x00010000, 0x00000980,
- 0x16501800, 0x00007900, 0x00004080, 0x00008980, 0x0008a8ec, 0x0000d780,
- 0x00007001, 0x00008080, 0xc0001857, 0x0000e006, 0x0001e85b, 0x0000b106,
- 0x05001861, 0x0000600e, 0xe000085d, 0x0000340a, 0x4510205a, 0x0000e107,
- 0xe000085c, 0x0000340b, 0x12000000, 0x00006180, 0x12402020, 0x0000c980,
- 0x12802060, 0x00006180, 0x12c00000, 0x00004980, 0x13400000, 0x000004f8,
- 0x13c00000, 0x0000e180, 0x95901202, 0x00004900, 0x15800502, 0x000085b8,
- 0x17c00000, 0x000086c8, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8,
- 0x19c00000, 0x0000e180, 0x9180e40f, 0x00004080, 0xd8101202, 0x00001908,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x00000004, 0x0000e582,
- 0x0d800000, 0x00008980, 0x0dc00002, 0x00006180, 0x00008036, 0x00006206,
- 0x81402302, 0x0000e780, 0xc000101a, 0x0000a407, 0x09100000, 0x00007900,
- 0x00008002, 0x00008980, 0x0d086000, 0x0000f900, 0x00008000, 0x00000980,
- 0x0d580800, 0x00007900, 0x00004080, 0x00008980, 0x00008837, 0x00006106,
- 0x45102836, 0x00003107, 0x86d00011, 0x000082d4, 0x09800000, 0x000082dc,
- 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4,
- 0x0b800000, 0x000082fc, 0x000016ae, 0x0000f408, 0x0e000082, 0x0000e180,
- 0x0e420000, 0x0000c980, 0x0e800000, 0x000083ec, 0x7fc00400, 0x000081fc,
- 0x08800000, 0x00006180, 0x0000181f, 0x00006106, 0x08c00002, 0x00006180,
- 0x00009822, 0x00006206, 0x07001000, 0x0000f900, 0x00004000, 0x00000980,
- 0x07400000, 0x0000f900, 0x00040080, 0x00008980, 0x08086000, 0x0000f900,
- 0x00010000, 0x00000980, 0x08501800, 0x00007900, 0x00004100, 0x00008980,
- 0xc000181f, 0x0000e006, 0x45102822, 0x00003107, 0xce402800, 0x0000e181,
- 0x03009823, 0x0000e106, 0x07a01502, 0x00008138, 0x00982eec, 0x0000df80,
- 0x00d07341, 0x00008184, 0x7fc00400, 0x000081fc, 0x08800000, 0x00006180,
- 0x0000181f, 0x00006106, 0x08c00002, 0x00006180, 0x00008022, 0x00006206,
- 0x07001000, 0x0000f900, 0x00004000, 0x00000980, 0x07400000, 0x0000f900,
- 0x00040080, 0x00008980, 0x08086000, 0x0000f900, 0x00010000, 0x00000980,
- 0x08501800, 0x00007900, 0x00004080, 0x00008980, 0xc000181f, 0x0000e006,
- 0x45102822, 0x00003107, 0xce403000, 0x0000e181, 0x00008823, 0x00006106,
- 0x07a01502, 0x00008138, 0x00982eec, 0x0000df80, 0x00d07341, 0x00008184,
- 0x7fc00400, 0x000081fc, 0x08800000, 0x000083f8, 0x08008004, 0x00006206,
- 0x0000181f, 0x00003106, 0x00008022, 0x00006206, 0x0000803e, 0x0000b206,
- 0x08c00002, 0x00006180, 0x81402302, 0x00004780, 0x0fc00002, 0x0000e180,
- 0x10004800, 0x0000c980, 0x10400040, 0x0000e180, 0xc000181a, 0x0000e407,
- 0x07001000, 0x0000f900, 0x00004000, 0x00000980, 0x07400000, 0x0000f900,
- 0x00040080, 0x00008980, 0x08086000, 0x0000f900, 0x00010000, 0x00000980,
- 0x08501800, 0x00007900, 0x00004000, 0x00000980, 0x0f08e000, 0x0000f900,
- 0x0000d880, 0x00000980, 0x0f401000, 0x0000f900, 0x00014000, 0x00008980,
- 0x001828ec, 0x0000d780, 0x00007001, 0x00008080, 0xc000181f, 0x0000e006,
- 0x00008823, 0x00003106, 0x45102822, 0x00006107, 0x4510283e, 0x0000b107,
- 0x06c11000, 0x0000e181, 0x0000883f, 0x0000e106, 0x07a81402, 0x00008138,
- 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4,
- 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc,
- 0x10800000, 0x000084cc, 0x11000000, 0x000084d4, 0x11800000, 0x000084dc,
- 0x9048250f, 0x00008402, 0x00987eec, 0x0000df80, 0x00007000, 0x00008084,
- 0x22252000, 0x0000f900, 0x00255eac, 0x00008980, 0x16f5101e, 0x0000f500,
- 0x1d40000a, 0x0000e180, 0x1fd01202, 0x00004900, 0x1fb08e11, 0x00009900,
- 0x0107ee11, 0x00001281, 0x01602404, 0x00004589, 0x80a02c04, 0x0000868b,
- 0x01000020, 0x00006180, 0x01c00000, 0x0000c980, 0x03e61800, 0x00007900,
- 0x00255eac, 0x00008980, 0x04aa2000, 0x0000f900, 0x0014edc0, 0x00008980,
- 0x0000173c, 0x00007400, 0x01800000, 0x000000e8, 0x81001000, 0x00009980,
- 0x07c04000, 0x00006180, 0x08008004, 0x00006206, 0x07802004, 0x00009900,
- 0x170514ae, 0x0000f100, 0x80002e11, 0x00006583, 0x05460000, 0x00000980,
- 0x0504080a, 0x00006180, 0x04009015, 0x00006006, 0x05800000, 0x0000e180,
- 0x413f1015, 0x0000e002, 0x05c40000, 0x000081e0, 0x00001713, 0x00007408,
- 0x06400000, 0x000001e8, 0x01000800, 0x0000e188, 0x06c00000, 0x00004980,
- 0x80003611, 0x00009583, 0x01000000, 0x00001988, 0x00001714, 0x0000f011,
- 0x17141682, 0x0000f100, 0x80003e11, 0x00001583, 0x171616c2, 0x0000710b,
- 0x07c00000, 0x000082c8, 0x0000181f, 0x00006106, 0x00008022, 0x00003206,
- 0x08c00002, 0x00006180, 0x81002302, 0x0000c780, 0x07001000, 0x0000f900,
- 0x00004000, 0x00000980, 0x07400000, 0x0000f900, 0x00040080, 0x00008980,
- 0x08086000, 0x0000f900, 0x00010000, 0x00000980, 0x08501800, 0x00007900,
- 0x00004080, 0x00008980, 0x001828ec, 0x0000d780, 0x00007001, 0x00008080,
- 0xc000181f, 0x0000e006, 0x00008823, 0x00003106, 0x87901202, 0x00006100,
- 0x45102022, 0x0000e107, 0x07800502, 0x00000290, 0x09400000, 0x000002d8,
- 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0,
- 0x0b400000, 0x000082fc, 0x80004e11, 0x00009583, 0xc100170d, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00001757, 0x0000f010, 0x00001741, 0x00007010,
- 0x01000020, 0x00006180, 0x01c00000, 0x0000c980, 0x03c5f000, 0x0000f900,
- 0x00255eae, 0x00000980, 0x048a4000, 0x00007900, 0x002d4c88, 0x00000980,
- 0x01800000, 0x000000e8, 0x81001000, 0x00009980, 0xc1002800, 0x00006181,
- 0x08001a09, 0x0000e106, 0x17410fe7, 0x0000f500, 0x82600500, 0x00008026,
- 0x03001002, 0x00009900, 0x82c030ec, 0x0000f902, 0x01400000, 0x00008604,
- 0x0c400020, 0x00006180, 0x0100a204, 0x00004880, 0x00008831, 0x00006106,
- 0x00000825, 0x00003402, 0x0c800000, 0x0000e180, 0xc000081a, 0x00006407,
- 0x08008005, 0x0000e206, 0x00000826, 0x00003402, 0x0c002804, 0x0000e300,
- 0xc0000824, 0x0000a403, 0x0d001c04, 0x0000e006, 0xc0000825, 0x00003402,
- 0x000860ec, 0x00005780, 0x00007000, 0x00000080, 0x00107832, 0x0000e302,
- 0xc3202031, 0x00003004, 0x00001759, 0x00007400, 0x86c00866, 0x000002c7,
- 0x0ac0320f, 0x0000e000, 0x0cc00000, 0x00008980, 0x80000825, 0x0000e402,
- 0x80000824, 0x0000b403, 0x0b809813, 0x0000e100, 0x09840026, 0x0000c380,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x80004e11, 0x00009583,
- 0x07c05800, 0x0000e188, 0x08008004, 0x0000e20e, 0x07802004, 0x00001908,
- 0x00001704, 0x0000f008, 0x000016f8, 0x0000f000, 0x02400000, 0x000000e8,
- 0x02c00000, 0x0000e180, 0x06002809, 0x00006006, 0x46002809, 0x0000e802,
- 0x66002809, 0x0000e800, 0x02000000, 0x00007900, 0x00040000, 0x00000980,
- 0x76002809, 0x00006800, 0x008816ec, 0x0000df80, 0x00007000, 0x00008084,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03d6b800, 0x00007900,
- 0x00143aea, 0x00000980, 0x04ac9000, 0x00007900, 0x0028177c, 0x00000980,
- 0x01c00000, 0x0000e180, 0x08001a09, 0x0000e106, 0x01800000, 0x000000e8,
- 0x177a0fe7, 0x00007500, 0x82600500, 0x00008026, 0x81001000, 0x0000e180,
- 0x03001002, 0x0000c900, 0x50b84aec, 0x00002080, 0x43883820, 0x0000a080,
- 0xffffffff, 0x00007f97, 0x01800809, 0x00009282, 0x04400000, 0x0000e190,
- 0x01c00000, 0x0000c991, 0x02000d07, 0x0000e291, 0x02801d07, 0x00008291,
- 0x00000001, 0x00007088, 0x85000a11, 0x00001880, 0x8b803014, 0x0000f902,
- 0x02400000, 0x00008004, 0xffffffff, 0x00007fa7, 0x80110206, 0x00001502,
- 0x50b8a0ec, 0x0000a008, 0x000017c3, 0x0000f011, 0xffffffff, 0x00007f86,
- 0x00001814, 0x00009582, 0x50b8a2ec, 0x0000a000, 0x05804000, 0x00006191,
- 0x05808000, 0x00004989, 0xffffffff, 0x00007f97, 0x00000014, 0x00009582,
- 0x01c00000, 0x0000e189, 0x05000800, 0x0000c989, 0x00001799, 0x0000f009,
- 0x00000814, 0x00001582, 0x01e04408, 0x00006109, 0x05001000, 0x0000c989,
- 0x05002000, 0x0000e191, 0x01e0540a, 0x00004911, 0x01800000, 0x00001980,
- 0x01804407, 0x00001081, 0x179e3f9d, 0x0000f500, 0x82208806, 0x0000e886,
- 0x18403006, 0x00001900, 0x01e0a407, 0x00001001, 0x0020b407, 0x00009503,
- 0x01801000, 0x000019a0, 0x41a08c11, 0x00001921, 0x00001799, 0x0000f028,
- 0x17a53f9d, 0x00007300, 0x18403006, 0x00001900, 0x01800800, 0x00009980,
- 0x17a93f9d, 0x00007500, 0x82208806, 0x0000e886, 0x18403006, 0x00001900,
- 0x01802000, 0x00009980, 0x17ad3f9d, 0x0000f500, 0x82208806, 0x0000e886,
- 0x18403006, 0x00001900, 0x01801800, 0x00001980, 0x17b13f9d, 0x00007500,
- 0x82208806, 0x0000e886, 0x18403006, 0x00001900, 0x01800000, 0x00001980,
- 0x17b53f9d, 0x0000f500, 0x82208806, 0x0000e886, 0x18403006, 0x00001900,
- 0x01802800, 0x00001980, 0x17b93f9d, 0x0000f500, 0x82208806, 0x0000e886,
- 0x18403006, 0x00001900, 0x01803000, 0x00001980, 0x17bd3f9d, 0x00007500,
- 0x82208806, 0x0000e886, 0x18403006, 0x00001900, 0x80000209, 0x00009582,
- 0x05408811, 0x00009910, 0x17c042e7, 0x00007111, 0x17c245b5, 0x00007300,
- 0x01a08c11, 0x00001901, 0x01c00800, 0x00009981, 0x04400811, 0x00009080,
- 0x00068011, 0x00001582, 0x00001783, 0x0000f013, 0x00000407, 0x00001583,
- 0x00000001, 0x0000708b, 0x000045f8, 0x0000f000, 0x03319800, 0x0000f900,
- 0x001529ac, 0x00008980, 0x17cf4616, 0x0000f500, 0x02f9bf36, 0x00000028,
- 0x02000800, 0x00006180, 0x02623c47, 0x0000c900, 0x0d386f0c, 0x00000314,
- 0x0db87f0e, 0x0000031c, 0x02782705, 0x00000020, 0xfac00610, 0x0000c488,
- 0x10203c35, 0x00000690, 0x06800d09, 0x0000458c, 0x03400610, 0x00008195,
- 0x1bc1a034, 0x0000e100, 0x0021a806, 0x00006086, 0x8229a806, 0x00006886,
- 0x0419a806, 0x0000e987, 0x02803006, 0x00009900, 0x1b3c1800, 0x0000f900,
- 0x003ad2b6, 0x00000980, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604,
- 0x1b80500a, 0x00001900, 0xffffffff, 0x00007f97, 0x01802805, 0x0000e100,
- 0x00002004, 0x0000e586, 0x1b403006, 0x00006100, 0x0429a804, 0x00006087,
- 0x17e810cf, 0x00007500, 0x8621a804, 0x00006887, 0x1ac02004, 0x00001900,
- 0x00003c35, 0x00001583, 0x41000d09, 0x00001283, 0x80000610, 0x00001583,
- 0x00001808, 0x0000f010, 0x00001808, 0x0000f008, 0x00001808, 0x0000f010,
- 0x10c00000, 0x0000e180, 0x01c00040, 0x00004980, 0x0d001c14, 0x00006006,
- 0x00001843, 0x00003106, 0x11800000, 0x0000e180, 0x00001807, 0x00006106,
- 0x10001000, 0x0000f900, 0x00008000, 0x00000980, 0x10580800, 0x00007900,
- 0x00044000, 0x00008980, 0x01001000, 0x0000f900, 0x00004000, 0x00000980,
- 0x01400000, 0x0000f900, 0x00040050, 0x00000980, 0xc0001843, 0x0000e006,
- 0xc320a007, 0x00003006, 0x10801002, 0x0000e100, 0x11080008, 0x00004980,
- 0x11422000, 0x0000e180, 0x11d9ab35, 0x0000c900, 0x01801002, 0x0000e100,
- 0x0f240004, 0x0000c980, 0x0f4000c8, 0x000083f8, 0x91800110, 0x000083bc,
- 0x00880eec, 0x0000df80, 0x00d06bc0, 0x000001c4, 0x0e000000, 0x000083e4,
- 0x0ec00000, 0x000083e8, 0x00403435, 0x00004589, 0x06803c35, 0x0000088b,
- 0x180f1482, 0x0000f404, 0x11f9bf36, 0x00000424, 0x12009e00, 0x00009980,
- 0x00000447, 0x00009583, 0x853f1fe3, 0x00009908, 0x4380a014, 0x0000a088,
- 0x00001818, 0x00007010, 0xffffffff, 0x00007f97, 0x05003c14, 0x00001281,
- 0x05001414, 0x00001181, 0x00000c14, 0x00001583, 0x00001819, 0x0000701b,
- 0x181917c9, 0x0000f100, 0x30009a4b, 0x00007902, 0x04800000, 0x00000000,
- 0x30388c4b, 0x00002080, 0x3078804b, 0x0000a080, 0xffffffff, 0x00007f86,
- 0x85000f13, 0x00009880, 0x8b783e14, 0x00002084, 0x8bb82814, 0x0000a084,
- 0xffffffff, 0x00007f97, 0x00000407, 0x00001583, 0x02000000, 0x00006188,
- 0x01c1a034, 0x0000c908, 0x0181a835, 0x00006108, 0x02389f13, 0x00004909,
- 0x00001834, 0x0000f010, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03f37000, 0x00007900, 0x001529ac, 0x00008980, 0x049dd000, 0x00007900,
- 0x002e1f28, 0x00000980, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106,
- 0x82781400, 0x00000030, 0x81005000, 0x00006180, 0x02804008, 0x0000c900,
- 0x18340fe7, 0x0000f100, 0x02400000, 0x000000f0, 0x42400012, 0x000000a8,
- 0x02c00000, 0x0000e180, 0x81408809, 0x0000e000, 0x03400000, 0x000000f8,
- 0xc1400b05, 0x00006080, 0x830026e3, 0x00008880, 0x8bb82814, 0x00002884,
- 0x03c00000, 0x00006180, 0x02389f13, 0x0000c901, 0x82089913, 0x00000021,
- 0x82802512, 0x0000e080, 0xc2508210, 0x0000c900, 0x82c00f13, 0x00006080,
- 0x83800a10, 0x00004880, 0x83371ee3, 0x00006100, 0x83771a0c, 0x00004100,
- 0x01c00040, 0x00006180, 0x0c800000, 0x0000c980, 0x04464000, 0x00007900,
- 0x00002000, 0x00000980, 0x0cc00000, 0x00006180, 0x00001807, 0x00006106,
- 0x01001000, 0x0000f900, 0x0000c000, 0x00008980, 0x01400000, 0x0000f900,
- 0x00048050, 0x00008980, 0x04000800, 0x0000f900, 0x00080000, 0x00000980,
- 0x04800000, 0x0000f900, 0x00002000, 0x00000980, 0x06000000, 0x0000f900,
- 0x00004000, 0x00000980, 0x06840000, 0x0000f900, 0x000080c0, 0x00000980,
- 0x08400000, 0x0000f900, 0x00260000, 0x00000980, 0x0c009000, 0x0000f900,
- 0x00010500, 0x00000980, 0x0c400000, 0x00007900, 0x00010000, 0x00000980,
- 0x00001838, 0x00006106, 0x413f1011, 0x00003002, 0xc0001807, 0x0000e006,
- 0xc0001833, 0x00003006, 0x01800702, 0x0000018c, 0x05081001, 0x0000e180,
- 0x05400000, 0x0000c980, 0x05800000, 0x000081dc, 0x06480001, 0x0000e180,
- 0x06c00000, 0x00004980, 0x07000000, 0x000081f4, 0x07800000, 0x000081fc,
- 0x08000000, 0x000082c8, 0x08c00000, 0x000082d0, 0x09400000, 0x000002d8,
- 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0,
- 0x0b400000, 0x000002f8, 0x0c800502, 0x000002bc, 0x00980eec, 0x00005f80,
- 0x00d06900, 0x000005c4, 0x8b784e07, 0x00002084, 0x8bb82807, 0x00002084,
- 0xffffffff, 0x00007f97, 0x00000c09, 0x00001583, 0x02800000, 0x0000e190,
- 0x01c1a034, 0x0000c910, 0x0181a835, 0x00006110, 0x02a04408, 0x0000c911,
- 0x00001888, 0x00007008, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03cf6000, 0x0000f900, 0x001529ae, 0x00000980, 0x049dd000, 0x00007900,
- 0x002e1f28, 0x00000980, 0x82a80309, 0x00000026, 0x00001833, 0x00007400,
- 0x82680500, 0x0000e101, 0x08001a09, 0x0000e106, 0x81005000, 0x00006180,
- 0x03001002, 0x0000c900, 0xc1400b05, 0x0000e180, 0x02000000, 0x00000980,
- 0x8bb82807, 0x0000a884, 0x02400000, 0x000000e8, 0x02c00000, 0x000080f0,
- 0x00001845, 0x0000f400, 0x03400000, 0x000000f8, 0x03c00000, 0x00001980,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03cd4000, 0x0000f900,
- 0x001529ac, 0x00008980, 0x04ba9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x02800000, 0x00006180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x00001833, 0x00007400, 0x0339a702, 0x0000801c, 0x81002800, 0x00006180,
- 0x0181a835, 0x0000c900, 0x8b412607, 0x00007902, 0x08c00000, 0x00000004,
- 0x08024405, 0x0000e884, 0xc1a02a20, 0x00009100, 0xffffffff, 0x00007f86,
- 0x24404524, 0x00004195, 0x00200635, 0x00008090, 0x4ee01424, 0x0000c391,
- 0x00212506, 0x00008018, 0x1f860524, 0x0000c297, 0x6020150d, 0x00000691,
- 0xb5808535, 0x0000f896, 0x30c00000, 0x00000c88, 0xa4410623, 0x00007896,
- 0x58c00000, 0x00000d82, 0x52400635, 0x0000f88a, 0xb0c00000, 0x00000c89,
- 0x41c0150d, 0x00009283, 0x000018fc, 0x00007013, 0x01004418, 0x0000e283,
- 0x11000000, 0x00008980, 0x0ac0a014, 0x0000e100, 0x7140c044, 0x0000e000,
- 0x0b08b415, 0x0000830a, 0x000018bc, 0x00007408, 0x11400000, 0x000004d8,
- 0x11c00000, 0x00006180, 0x40000844, 0x0000e412, 0x0100141d, 0x0000e283,
- 0x91972ae5, 0x00000900, 0x000018f2, 0x0000f013, 0x0801ac04, 0x00006002,
- 0x09006405, 0x00003002, 0x00000405, 0x00009583, 0x00001404, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00001a42, 0x0000f008, 0x000018e0, 0x0000f010,
- 0x56c05006, 0x00007902, 0x02400000, 0x00000000, 0x56804206, 0x0000f902,
- 0x01c00000, 0x00008000, 0xffffffff, 0x00007f97, 0x0280080a, 0x00001082,
- 0x02004219, 0x0000e002, 0x02400009, 0x00000084, 0x01c00007, 0x00009084,
- 0x56f85006, 0x0000d000, 0x00384800, 0x00008000, 0x56b84206, 0x00005000,
- 0x00383800, 0x00000000, 0x01c00000, 0x00007900, 0x001f0000, 0x00000980,
- 0x41810518, 0x00006283, 0x0018c807, 0x0000a186, 0x20383eec, 0x00005600,
- 0x0038b800, 0x00008000, 0x01800020, 0x00006188, 0x08001a04, 0x0000e10e,
- 0x00001a64, 0x00007010, 0x00102006, 0x00006984, 0x733830ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x000818ec, 0x00005780, 0x00d07280, 0x000081c0,
- 0x00908eec, 0x00005f80, 0x00007000, 0x00008084, 0x00000c04, 0x00009583,
- 0x00001a32, 0x0000700b, 0x84401206, 0x00006080, 0x82c02a06, 0x00000080,
- 0x56804a0b, 0x0000f902, 0x02000000, 0x00008000, 0x56803a11, 0x0000f902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007f97, 0x02400809, 0x00001082,
- 0x01c03a19, 0x0000e002, 0x02000008, 0x00000084, 0x01800006, 0x00009084,
- 0x000018d0, 0x0000f400, 0x56b84a0b, 0x00005000, 0x00384000, 0x00000000,
- 0x56b83a11, 0x00005000, 0x00383000, 0x00008000, 0x41c20518, 0x0000e283,
- 0x0c40c40b, 0x00002000, 0x0200140b, 0x00006081, 0x0000e049, 0x0000a183,
- 0x02001000, 0x00006191, 0x41204044, 0x0000e002, 0x02000800, 0x00001989,
- 0x000018bc, 0x0000f400, 0xffffffff, 0x00007f86, 0xe7a04049, 0x0000e803,
- 0x82f71ee3, 0x0000e100, 0x0cc0b411, 0x0000e004, 0x00001c11, 0x00006583,
- 0x02001c11, 0x00008281, 0x51783c0b, 0x0000a018, 0x51783c0b, 0x000020b0,
- 0x04001c08, 0x00009881, 0x000018b0, 0x0000f403, 0x04608007, 0x00009700,
- 0xd7608814, 0x0000e805, 0x0c812408, 0x0000e802, 0x01401408, 0x00001283,
- 0x03c056ec, 0x00007912, 0x02400000, 0x00000000, 0x040040ec, 0x00007912,
- 0x01c00000, 0x00008000, 0x000018ae, 0x0000f008, 0x04119a33, 0x00001900,
- 0x0011980a, 0x00007808, 0x00000000, 0x00000000, 0x00004810, 0x00007808,
- 0x00000000, 0x00008020, 0x00004010, 0x0000f808, 0x00000000, 0x00000060,
- 0x00003810, 0x00007812, 0x00000000, 0x00008010, 0xeb420623, 0x0000f896,
- 0xd0c00000, 0x00008c88, 0x3f00150d, 0x00007896, 0x80c00000, 0x00000c85,
- 0xceb88eec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072811, 0x00009502, 0x04400811, 0x00001090, 0xceb88eec, 0x0000a894,
- 0x2c00150d, 0x0000f88e, 0xe0c00000, 0x00008c87, 0x80040635, 0x0000e583,
- 0xc3f1ae35, 0x00008901, 0x0471ae35, 0x0000e111, 0xc3c00000, 0x00004989,
- 0x000018a4, 0x00007009, 0x01c3e811, 0x00009282, 0x02c07d18, 0x00001289,
- 0x00001bc9, 0x0000f011, 0x00000c0b, 0x00009583, 0x00001ba4, 0x0000f00b,
- 0x0000140b, 0x00009583, 0x0c006a0b, 0x0000e18c, 0x00199016, 0x0000310e,
- 0x82c0220b, 0x00006188, 0x86402219, 0x00000188, 0xc6402319, 0x0000e088,
- 0x0410580d, 0x0000218d, 0x000018a4, 0x0000f400, 0x85999332, 0x00001910,
- 0x4340150d, 0x00009381, 0x80040635, 0x0000e583, 0xc3f1ae35, 0x00008901,
- 0x0431ae35, 0x00006111, 0xc3c00000, 0x00004989, 0x00001949, 0x0000f009,
- 0x01c3e810, 0x00001282, 0x04407d18, 0x00009289, 0x00001b32, 0x00007011,
- 0x00000c11, 0x00001583, 0x00001b29, 0x0000f00b, 0x00001411, 0x00001583,
- 0x0c006a11, 0x0000618c, 0x00199016, 0x0000310e, 0x84402211, 0x00006188,
- 0x86402219, 0x00000188, 0xc6402319, 0x0000e088, 0x0410880d, 0x0000a18d,
- 0x85999332, 0x00001910, 0x4340150d, 0x00009381, 0x04800000, 0x0000f900,
- 0x00040000, 0x00000980, 0xc1c1870c, 0x00006283, 0x0400b012, 0x0000a107,
- 0x0800b211, 0x00006106, 0x0801ad10, 0x0000b002, 0x82400000, 0x00006181,
- 0x84914a29, 0x00004900, 0x00001a62, 0x00007008, 0x41c08524, 0x0000e283,
- 0x06c14028, 0x00000900, 0x82e02404, 0x00006110, 0x06809012, 0x00004900,
- 0xd640440b, 0x00007912, 0x01c00000, 0x00000004, 0x00001a53, 0x0000f008,
- 0xffffffff, 0x00007f97, 0x00172b07, 0x00007808, 0x00000000, 0x00000000,
- 0x00183a11, 0x0000f810, 0x00000000, 0x00008020, 0x00103b29, 0x00007810,
- 0x00000000, 0x00000060, 0x94c0402a, 0x0000f80a, 0x00c00001, 0x00000010,
- 0x2c800609, 0x00004989, 0xac29fb05, 0x000006b4, 0x01400000, 0x00009981,
- 0x40001510, 0x00006583, 0xc000080c, 0x0000a403, 0x007946ec, 0x0000570c,
- 0x00389000, 0x00008000, 0x117946ec, 0x0000570c, 0x00389000, 0x00008000,
- 0x00001c51, 0x00007010, 0x80000609, 0x00006583, 0xf000081a, 0x0000a401,
- 0x227946ec, 0x0000d704, 0x0038d000, 0x00000000, 0x01c04000, 0x0000f900,
- 0x0005001a, 0x00000980, 0x200004ec, 0x00005784, 0x00383816, 0x00002a00,
- 0x02000000, 0x00007900, 0x0015001e, 0x00000980, 0x30e88008, 0x00006880,
- 0x203844ec, 0x0000d704, 0x00081815, 0x00000480, 0x0229800c, 0x00009980,
- 0x00288008, 0x00006804, 0x203844ec, 0x0000d704, 0x00199819, 0x00000080,
- 0x0230380c, 0x00001980, 0x0000199e, 0x0000f410, 0x04202008, 0x0000e901,
- 0x003844ec, 0x00005704, 0x00000000, 0x00008080, 0x01c00000, 0x00007900,
- 0x00040000, 0x00000980, 0x00115007, 0x0000e186, 0x00195008, 0x00003186,
- 0x0000d007, 0x00006107, 0x04194808, 0x00003187, 0x117846ec, 0x00005704,
- 0x00383800, 0x00000000, 0xf0000807, 0x0000ec01, 0x227846ec, 0x00005704,
- 0x00383800, 0x00000000, 0x01c00000, 0x00007900, 0x0015001e, 0x00000980,
- 0x02290008, 0x0000e180, 0x30e88007, 0x0000e080, 0x200044ec, 0x0000d784,
- 0x00383812, 0x00000a00, 0x00288008, 0x00006804, 0x203844ec, 0x0000d704,
- 0x00191811, 0x00000080, 0x01f90000, 0x00007900, 0x00010010, 0x00008980,
- 0x02003800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202008, 0x00006101,
- 0x00288007, 0x0000b004, 0x203844ec, 0x0000d704, 0x00383800, 0x00000000,
- 0x02301000, 0x0000f900, 0x00020018, 0x00000980, 0x044046e3, 0x00009081,
- 0x30e08808, 0x00006880, 0x203844ec, 0x0000d704, 0x0010a019, 0x00008680,
- 0xcef88aec, 0x00002004, 0xffffffff, 0x00007fa7, 0x00072811, 0x00009502,
- 0x04400811, 0x00001090, 0xcef88aec, 0x00002814, 0x89201424, 0x00004391,
- 0x00212506, 0x00008018, 0x8f460524, 0x0000c28f, 0x62208535, 0x00008693,
- 0x75c0150d, 0x0000f88e, 0x68c00000, 0x00008c8e, 0x38010623, 0x00007897,
- 0x80c00000, 0x00008e85, 0x0c812411, 0x00006802, 0x01c01411, 0x00001283,
- 0x03c0d6ec, 0x0000f912, 0x02c00000, 0x00008000, 0x040040ec, 0x00007912,
- 0x01c00000, 0x00008000, 0x000019cb, 0x00007008, 0x04519a33, 0x00009900,
- 0x0011981a, 0x0000f808, 0x00000000, 0x00000000, 0x00005811, 0x00007808,
- 0x00000000, 0x00008020, 0x00004011, 0x00007808, 0x00000000, 0x00000060,
- 0x00003811, 0x0000f812, 0x00000000, 0x00008010, 0x27020623, 0x0000f897,
- 0x28c00000, 0x00000c8e, 0x75c0150d, 0x0000f88e, 0x68c00000, 0x00008c8e,
- 0xceb88eec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072811, 0x00009502, 0x04400811, 0x00001090, 0xceb88eec, 0x0000a894,
- 0x41c0150d, 0x00009283, 0x000019d7, 0x0000f00b, 0x82f71ee3, 0x0000e100,
- 0x0cc0b410, 0x00006004, 0x00001c10, 0x0000e583, 0x02001c10, 0x00000281,
- 0x51783c0b, 0x0000a018, 0x51783c0b, 0x000020b0, 0x04401c08, 0x00001881,
- 0xffffffff, 0x00007f97, 0x04608807, 0x00001700, 0xd7608814, 0x0000e805,
- 0x01c04418, 0x0000e283, 0x11000000, 0x00008980, 0x0ac0a014, 0x0000e100,
- 0x7140c044, 0x0000e000, 0x0b08b415, 0x0000830a, 0x000019ec, 0x0000f408,
- 0x11400000, 0x000004d8, 0x11c00000, 0x00006180, 0x40000844, 0x0000e412,
- 0x01c0141d, 0x0000e283, 0x91972ae5, 0x00000900, 0x0000e049, 0x0000e193,
- 0x0c40c410, 0x00003010, 0x04401410, 0x00009091, 0x000019ec, 0x00007008,
- 0x41c20518, 0x0000e283, 0x41208844, 0x0000a002, 0x04400800, 0x0000e189,
- 0x04401000, 0x0000c991, 0xffffffff, 0x00007f86, 0xe7a08849, 0x00006803,
- 0x00000405, 0x00009583, 0x01400800, 0x00009989, 0x00001a29, 0x0000f011,
- 0x3fe01510, 0x00004291, 0xe6200609, 0x00000693, 0xe6000609, 0x00007892,
- 0x60c00000, 0x00000d8c, 0x000038ec, 0x00007902, 0x02c00000, 0x00008704,
- 0xffffffff, 0x00007fa7, 0x0bc03c11, 0x0000e000, 0x0c003c0b, 0x0000b000,
- 0x01e08c0b, 0x00009303, 0x84602404, 0x0000e110, 0x0c019307, 0x00006116,
- 0x01704e09, 0x0000e109, 0x00194807, 0x0000e196, 0xd6795411, 0x0000d014,
- 0x00383800, 0x00000000, 0x000058ec, 0x00007902, 0x01c00000, 0x00008704,
- 0x40e00405, 0x0000c18b, 0x0021870c, 0x00000090, 0x04c9fb05, 0x0000c59a,
- 0x0261870c, 0x00008288, 0x00002623, 0x0000f897, 0x20c00000, 0x00008d8c,
- 0x0bc05c0b, 0x0000e800, 0x0c005c11, 0x0000e800, 0x01608c0b, 0x00001303,
- 0x020046e3, 0x00006089, 0xc000100c, 0x00002413, 0x01e8380a, 0x00009988,
- 0x00001a1e, 0x0000f010, 0x02e81000, 0x0000f900, 0x00020014, 0x00000980,
- 0x30e0400b, 0x00006080, 0x04202007, 0x00003101, 0x20385cec, 0x0000d704,
- 0x00383800, 0x00000000, 0x000854ec, 0x00005784, 0x00000015, 0x00000680,
- 0x000058ec, 0x00007902, 0x01c00000, 0x00008704, 0xffffffff, 0x00007fa7,
- 0x0bc05c0b, 0x0000e800, 0x0c005c11, 0x0000e800, 0x01608c0b, 0x00001303,
- 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0xc009fb05, 0x00001582,
- 0xc141870c, 0x00001283, 0xffffffff, 0x00007f86, 0x00001a29, 0x0000f018,
- 0x00001a29, 0x00007008, 0x00080010, 0x0000ed87, 0x00202010, 0x0000e886,
- 0x09006610, 0x0000e802, 0xa579460a, 0x0000d004, 0x00389000, 0x00008000,
- 0xa5b8800a, 0x0000a884, 0xffffffff, 0x00007f86, 0x09006405, 0x00006002,
- 0x0801ac04, 0x00003002, 0x48400405, 0x00004389, 0x00200c05, 0x00008090,
- 0xd2a01404, 0x00004588, 0x6b400c04, 0x00000092, 0xbe001404, 0x00007892,
- 0xe8c00000, 0x00000d85, 0x84400a06, 0x00006080, 0x82c02206, 0x00008080,
- 0x56804a0b, 0x0000f902, 0x02000000, 0x00008000, 0x56803a11, 0x0000f902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007f97, 0x02400809, 0x00001082,
- 0x01c03a19, 0x0000e002, 0x02000008, 0x00000084, 0x01800006, 0x00009084,
- 0x000018d0, 0x0000f400, 0x56b84a0b, 0x00005000, 0x00384000, 0x00000000,
- 0x56b83a11, 0x00005000, 0x00383000, 0x00008000, 0x84403206, 0x00001080,
- 0x56803a11, 0x0000f902, 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7,
- 0x01c00807, 0x00001082, 0x000018d0, 0x0000f400, 0x01800006, 0x00009084,
- 0x56b83a11, 0x00005000, 0x00383000, 0x00008000, 0xcef840ec, 0x0000a084,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072808, 0x00001502,
- 0x02000808, 0x00001090, 0xcef840ec, 0x0000a894, 0x2c00150d, 0x0000f88e,
- 0xe0c00000, 0x00008c87, 0xc009fb05, 0x0000e582, 0x82400800, 0x00000981,
- 0x00001964, 0x0000f01b, 0xa5405e0a, 0x00007902, 0x02000000, 0x00000004,
- 0xa5b8380a, 0x00002084, 0x01400000, 0x00009981, 0xffffffff, 0x00007f86,
- 0x0001400b, 0x00009502, 0x00009008, 0x00009502, 0x00202407, 0x00009503,
- 0x00001965, 0x0000f010, 0x00001965, 0x0000f010, 0x00001965, 0x0000f010,
- 0xc730380c, 0x0000e803, 0x000019a9, 0x0000f200, 0x01400800, 0x00001981,
- 0x41400d05, 0x00009283, 0x15001000, 0x00007910, 0x00008000, 0x00000980,
- 0x15580800, 0x0000f910, 0x00044040, 0x00000980, 0x00001a7f, 0x00007008,
- 0x15c00000, 0x000085e8, 0x15801002, 0x0000e100, 0x00001857, 0x00006106,
- 0x16020000, 0x0000f900, 0x00040000, 0x00000980, 0x000818ec, 0x00005780,
- 0x00d07280, 0x000081c0, 0x16420000, 0x0000e180, 0xc0001857, 0x0000e006,
- 0x16e12000, 0x000080f2, 0x56a8c416, 0x00008528, 0x00908eec, 0x00005f80,
- 0x00d07540, 0x00000184, 0xceb880ec, 0x00002084, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072810, 0x00001502, 0x04000810, 0x00001090,
- 0xceb880ec, 0x00002894, 0x2c00150d, 0x0000f88e, 0xe0c00000, 0x00008c87,
- 0x01800020, 0x0000e180, 0x08001a10, 0x00006106, 0x15d00002, 0x0000e180,
- 0x00108006, 0x0000e184, 0x15800000, 0x00006180, 0x00282057, 0x0000e080,
- 0x733830ec, 0x0000d600, 0x00000000, 0x00008080, 0x8440b057, 0x0000e000,
- 0x00182056, 0x00003100, 0x000818ec, 0x00005780, 0x00d07280, 0x000081c0,
- 0x15083804, 0x00006180, 0x0000b057, 0x0000e085, 0x1560b800, 0x000000f2,
- 0xd598c318, 0x00009900, 0x00908eec, 0x00005f80, 0x00d07540, 0x000000c4,
- 0x000004e3, 0x0000e583, 0x02c00000, 0x00000980, 0x04400000, 0x00006180,
- 0x0802460b, 0x00006084, 0x82283024, 0x00008020, 0x00001ab0, 0x0000f408,
- 0x82d822e3, 0x0000802e, 0x84510220, 0x00006100, 0xddb00600, 0x00004911,
- 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x2222a000, 0x0000f900,
- 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc, 0x00008980,
- 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x1df85f02, 0x00008714,
- 0x1aa61014, 0x0000f500, 0x25788f08, 0x00000910, 0x62809624, 0x000088a9,
- 0x1aa8109f, 0x00007300, 0x0e403000, 0x00001980, 0xce785eec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x0007280b, 0x00001502,
- 0x02c0080b, 0x00001090, 0xce785eec, 0x0000a814, 0x2c00150d, 0x0000f88e,
- 0xe0c00000, 0x00008c87, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03e2a000, 0x0000f900, 0x00151b4e, 0x00000980, 0x04907800, 0x00007900,
- 0x0032d3fc, 0x00008980, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106,
- 0x82781400, 0x00000030, 0x1abd0fe7, 0x00007500, 0x01f8470b, 0x00008018,
- 0x81009000, 0x00006180, 0x02808811, 0x0000c900, 0x56c08806, 0x00007902,
- 0x04000000, 0x00008000, 0x56805a06, 0x0000f902, 0x02800000, 0x00000000,
- 0xe3804209, 0x00007902, 0x01c00000, 0x00000004, 0xe3409c09, 0x00007902,
- 0x04800000, 0x00008004, 0x04400811, 0x00001082, 0x02c05a19, 0x0000e002,
- 0x04000010, 0x00000084, 0x02000808, 0x0000e082, 0x0280000a, 0x00000084,
- 0x04c09a19, 0x0000e002, 0x01c00007, 0x00000084, 0x04800012, 0x00009084,
- 0x56f88806, 0x0000d000, 0x00388000, 0x00000000, 0x56b85a06, 0x00005000,
- 0x00385000, 0x00008000, 0x000018d0, 0x0000f400, 0xe3b84209, 0x00005004,
- 0x00383800, 0x00000000, 0xe3789c09, 0x00005004, 0x00389000, 0x00008000,
- 0x0c81240b, 0x0000e802, 0x01400c0b, 0x00001283, 0x81420623, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00001906, 0x0000f008, 0x0000191a, 0x00007008,
- 0x000004e3, 0x0000e583, 0x02000000, 0x00000980, 0x82d822e3, 0x0000802e,
- 0x82e14933, 0x00000020, 0x00001b1c, 0x0000f008, 0x22800000, 0x00007900,
- 0x00014000, 0x00008980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980,
- 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1d79470b, 0x00000914,
- 0x1aee1014, 0x0000f500, 0x25009f08, 0x000088a9, 0xa2a12424, 0x00001901,
- 0x1af0109f, 0x0000f300, 0x0e409800, 0x00009980, 0xce785eec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x0007280b, 0x00001502,
- 0x02c0080b, 0x00001090, 0xce785eec, 0x0000a814, 0x2c00150d, 0x0000f88e,
- 0xe0c00000, 0x00008c87, 0x00000c04, 0x00009583, 0x84002206, 0x00006088,
- 0x84002a06, 0x00008090, 0x82000a06, 0x00006088, 0x82001206, 0x00000090,
- 0x56b85210, 0x00002080, 0x56803a08, 0x00007902, 0x01800000, 0x00000000,
- 0x82c02209, 0x00006088, 0x84400a09, 0x00008088, 0x82c02a09, 0x0000e090,
- 0x84401209, 0x00008090, 0x56b84a10, 0x0000a000, 0x0280080a, 0x00001082,
- 0x56b85210, 0x0000a880, 0xffffffff, 0x00007f86, 0x01c03a19, 0x0000e002,
- 0x02400009, 0x00000084, 0x56b84a10, 0x00002800, 0xe3784c0b, 0x00002084,
- 0x01800006, 0x00009084, 0x56b83a08, 0x0000d000, 0x00383000, 0x00008000,
- 0xe3403c11, 0x00007902, 0x01800000, 0x00008004, 0xe378440b, 0x00002004,
- 0x02400809, 0x00001082, 0xe3784c0b, 0x0000a884, 0xffffffff, 0x00007f86,
- 0x01c03a19, 0x0000e002, 0x02000008, 0x00000084, 0x01800006, 0x00009084,
- 0x000018d0, 0x0000f400, 0xe378440b, 0x0000a804, 0xe3783c11, 0x00005004,
- 0x00383000, 0x00008000, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03c39800, 0x00007900, 0x00151b50, 0x00000980, 0x04a8a800, 0x00007900,
- 0x000aff14, 0x00008980, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106,
- 0x82781400, 0x00000030, 0x1b290fe7, 0x00007500, 0x01f9470b, 0x00000018,
- 0x81009800, 0x0000e180, 0x02804008, 0x0000c900, 0x81c08623, 0x00009283,
- 0xc000000c, 0x0000ec0b, 0xceb85aec, 0x0000a00c, 0x00001b3b, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x0007280b, 0x00001502, 0x00001949, 0x00007400,
- 0x02c0080b, 0x00001090, 0xceb85aec, 0x00002814, 0x81c04623, 0x00009283,
- 0xc000000c, 0x0000ec0b, 0xceb886ec, 0x0000200c, 0x00001b56, 0x00007010,
- 0xffffffff, 0x00007f97, 0x00072810, 0x00001502, 0x00001949, 0x00007400,
- 0x04000810, 0x00001090, 0xceb886ec, 0x0000a814, 0x000004e3, 0x0000e583,
- 0x0e00c711, 0x0000a006, 0x847f1fe3, 0x00006100, 0x84602404, 0x0000c901,
- 0x02e99416, 0x0000802c, 0x00001b6a, 0x00007008, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x2209c800, 0x00007900, 0x00151b50, 0x00000980,
- 0x226ee800, 0x00007900, 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1b4d1014, 0x00007500,
- 0x1d785f11, 0x00000914, 0x62800010, 0x000009d0, 0x0e404000, 0x00009980,
- 0x1b4f109f, 0x00007100, 0xce7846ec, 0x0000a004, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072808, 0x00001502, 0x00001949, 0x00007400,
- 0x02000808, 0x00001090, 0xce7846ec, 0x0000a814, 0x000004e3, 0x0000e583,
- 0x843f1fe3, 0x00000900, 0x4429ae04, 0x00008102, 0x02f95f34, 0x00008020,
- 0x00001b77, 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980, 0x2269c000, 0x0000f900,
- 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x1b681014, 0x0000f500, 0x1d79a710, 0x00008914,
- 0xa2807800, 0x00006180, 0x2501582b, 0x00004900, 0x00001b4e, 0x00007200,
- 0x0e403800, 0x00009980, 0x02800000, 0x00006180, 0x01000020, 0x00004980,
- 0x03c9c800, 0x00007900, 0x00151b50, 0x00000980, 0x04aee800, 0x0000f900,
- 0x000e1256, 0x00000980, 0x81008000, 0x00009980, 0xc1002800, 0x00006181,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x1b770fe7, 0x0000f500,
- 0x03388f02, 0x0000001c, 0x0180580b, 0x00009900, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03c7a800, 0x0000f900, 0x00151b50, 0x00000980,
- 0x04a9c000, 0x00007900, 0x003be25c, 0x00000980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x82781400, 0x00000030, 0x1b840fe7, 0x0000f500,
- 0x01f85f10, 0x00008018, 0x81007800, 0x00006180, 0x02804008, 0x0000c900,
- 0xceb88cec, 0x00002084, 0xc720280c, 0x0000e803, 0xffffffff, 0x00007f97,
- 0x00072811, 0x00009502, 0x04400811, 0x00001090, 0xceb88cec, 0x00002894,
- 0xd3e9fb05, 0x0000c59b, 0xe9e1870c, 0x0000698c, 0x000038ec, 0x00007902,
- 0x02800000, 0x00000704, 0xffffffff, 0x00007fa7, 0x0bc03c11, 0x0000e000,
- 0x0c003c0b, 0x0000b000, 0x01e08c0b, 0x00009303, 0x84602404, 0x0000e110,
- 0x0c019307, 0x00006116, 0x01704e09, 0x0000e109, 0x00194807, 0x0000e196,
- 0xd6795411, 0x0000d014, 0x00383800, 0x00000000, 0x000040ec, 0x00007902,
- 0x01c00000, 0x00008704, 0x45200405, 0x0000c28b, 0x3c21870c, 0x0000868f,
- 0xfd002623, 0x0000f896, 0x90c00000, 0x00008d8e, 0x0c004411, 0x00006000,
- 0x0bc0440b, 0x00003000, 0x00001a29, 0x00007400, 0x01208c0b, 0x00009303,
- 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0x81408623, 0x00001283,
- 0xc000000c, 0x0000ec0b, 0xceb842ec, 0x0000a00c, 0x00001c0a, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x00072808, 0x00001502, 0x000018a4, 0x0000f400,
- 0x02000808, 0x00001090, 0xceb842ec, 0x00002814, 0x000004e3, 0x0000e583,
- 0x02000000, 0x00000980, 0x82d822e3, 0x0000802e, 0x82e14933, 0x00000020,
- 0x00001b1c, 0x0000f008, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x22039800, 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900,
- 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x1bbf1014, 0x0000f500, 0x1d79470b, 0x00000914,
- 0xa2809800, 0x0000e180, 0x25004008, 0x00004900, 0x1bc1109f, 0x0000f300,
- 0x0e409800, 0x00009980, 0xce785eec, 0x0000a004, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x0007280b, 0x00001502, 0x02c0080b, 0x00001090,
- 0xce785eec, 0x0000a814, 0x2c00150d, 0x0000f88e, 0xe0c00000, 0x00008c87,
- 0x81404623, 0x00001283, 0xc000000c, 0x0000ec0b, 0xceb88eec, 0x0000a00c,
- 0x00001bd9, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072811, 0x00009502,
- 0x000018a4, 0x0000f400, 0x04400811, 0x00001090, 0xceb88eec, 0x00002814,
- 0xceb88cec, 0x0000a004, 0xc720280c, 0x0000e803, 0xffffffff, 0x00007f97,
- 0x00072811, 0x00009502, 0x00001a29, 0x00007400, 0x04400811, 0x00001090,
- 0xceb88cec, 0x0000a814, 0x000004e3, 0x0000e583, 0x843f1fe3, 0x00000900,
- 0x4429ae04, 0x00008102, 0x02f95f34, 0x00008020, 0x00001b77, 0x00007008,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2207a800, 0x0000f900,
- 0x00151b50, 0x00000980, 0x2269c000, 0x0000f900, 0x003be25c, 0x00000980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x1beb1014, 0x00007500, 0x1d79a710, 0x00008914, 0xa2807800, 0x00006180,
- 0x2501582b, 0x00004900, 0x0e403800, 0x00009980, 0x1bed109f, 0x0000f100,
- 0xce7886ec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072810, 0x00001502, 0x000018a4, 0x0000f400, 0x04000810, 0x00001090,
- 0xce7886ec, 0x0000a814, 0x000004e3, 0x0000e583, 0x047f1fe3, 0x00008901,
- 0x84795304, 0x0000802c, 0xc4594b29, 0x0000e100, 0x01000020, 0x0000c988,
- 0x00001c1e, 0x0000f010, 0x03d55800, 0x0000f900, 0x003884cc, 0x00000980,
- 0x41000024, 0x000000e8, 0x00001b71, 0x00007200, 0x04a3e800, 0x00007900,
- 0x001b7e4e, 0x00008980, 0x000004e3, 0x0000e583, 0x047f1fe3, 0x00008901,
- 0x84795304, 0x0000802c, 0xc4594b29, 0x0000e100, 0x01000020, 0x0000c988,
- 0x00001c33, 0x0000f010, 0x00001bfd, 0x0000f400, 0x03cf0800, 0x00007900,
- 0x003884ca, 0x00000980, 0x41000024, 0x000000e8, 0x000004e3, 0x0000e583,
- 0x0e00c711, 0x0000a006, 0x847f1fe3, 0x00006100, 0x84602404, 0x0000c901,
- 0x02e99416, 0x0000802c, 0x00001b6a, 0x00007008, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x2209c800, 0x00007900, 0x00151b50, 0x00000980,
- 0x226ee800, 0x00007900, 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1c1c1014, 0x00007500,
- 0x1d785f11, 0x00000914, 0x62800010, 0x000009d0, 0x00001bec, 0x0000f200,
- 0x0e404000, 0x00009980, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x22155800, 0x0000f900, 0x003884cc, 0x00000980, 0x2263e800, 0x0000f900,
- 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x1c2a1014, 0x00007500, 0x1d795711, 0x00000914,
- 0x62800024, 0x000089d0, 0x1c2c109f, 0x00007300, 0x0e40a000, 0x00001980,
- 0xce788eec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072811, 0x00009502, 0x00001a29, 0x00007400, 0x04400811, 0x00001090,
- 0xce788eec, 0x00002814, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x220f0800, 0x00007900, 0x003884ca, 0x00000980, 0x2263e800, 0x0000f900,
- 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x1c3f1014, 0x0000f500, 0x1d795711, 0x00000914,
- 0x62800024, 0x000089d0, 0x1c41109f, 0x0000f300, 0x0e40a000, 0x00001980,
- 0xce788eec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072811, 0x00009502, 0x04400811, 0x00001090, 0xce788eec, 0x00002814,
- 0xbc49fb05, 0x0000459a, 0x5e21870c, 0x00005d8e, 0xceb888ec, 0x0000a084,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072811, 0x00009502,
- 0x04400811, 0x00001090, 0xceb888ec, 0x0000a894, 0x75c0150d, 0x0000f88e,
- 0x68c00000, 0x00008c8e, 0x007946ec, 0x0000d704, 0x00389000, 0x00008000,
- 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x02281000, 0x0000f900,
- 0x00020014, 0x00000980, 0x80000609, 0x00006583, 0x044046e3, 0x00000081,
- 0x30e08808, 0x00006880, 0x20081cec, 0x0000d784, 0x00384015, 0x00000400,
- 0x00001c73, 0x00007010, 0x01c00000, 0x00007900, 0x00040000, 0x00000980,
- 0x00115007, 0x0000e186, 0x00195008, 0x00003186, 0x0000d007, 0x00006107,
- 0x04194808, 0x00003187, 0x117846ec, 0x00005704, 0x00383800, 0x00000000,
- 0xf0000807, 0x0000ec01, 0x227846ec, 0x00005704, 0x00383800, 0x00000000,
- 0x02008000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784,
- 0x00384012, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811, 0x00000080,
- 0x01c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202007, 0x0000e901,
- 0x20383cec, 0x0000d704, 0x00191011, 0x00000280, 0x40000d10, 0x00009583,
- 0x01e8380a, 0x00009990, 0x04202007, 0x00006911, 0x00001cb8, 0x0000f008,
- 0x000019a9, 0x0000f200, 0x20383cec, 0x0000d704, 0x00095019, 0x00000680,
- 0x0c812408, 0x0000e802, 0x01c00c08, 0x00009283, 0x81820623, 0x00001283,
- 0xffffffff, 0x00007f86, 0x000019b1, 0x0000f008, 0x000019c5, 0x0000f008,
- 0x000004e3, 0x0000e583, 0x02000000, 0x00000980, 0x82d822e3, 0x0000802e,
- 0x82e14933, 0x00000020, 0x00001b1c, 0x0000f008, 0x22800000, 0x00007900,
- 0x00014000, 0x00008980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980,
- 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1d79470b, 0x00000914,
- 0x1c921014, 0x00007500, 0x25009f08, 0x000088a9, 0xa2a12424, 0x00001901,
- 0x0e409800, 0x00009980, 0x1c94109f, 0x0000f100, 0xce788eec, 0x00002004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072811, 0x00009502,
- 0x04400811, 0x00001090, 0xce788eec, 0x00002814, 0x75c0150d, 0x0000f88e,
- 0x68c00000, 0x00008c8e, 0x000004e3, 0x0000e583, 0x02000000, 0x00000980,
- 0x82d822e3, 0x0000802e, 0x82e14933, 0x00000020, 0x00001b1c, 0x0000f008,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22039800, 0x00007900,
- 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x1cae1014, 0x00007500, 0x1d79470b, 0x00000914, 0xa2809800, 0x0000e180,
- 0x25004008, 0x00004900, 0x00001c93, 0x0000f200, 0x0e409800, 0x00009980,
- 0xcef888ec, 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072811, 0x00009502, 0x04400811, 0x00001090, 0xcef888ec, 0x00002894,
- 0x75c0150d, 0x0000f88e, 0x68c00000, 0x00008c8e, 0x81c002ec, 0x00005684,
- 0x00400000, 0x00008000, 0x02000000, 0x0000e180, 0x0010d807, 0x00006186,
- 0x0410d008, 0x0000e187, 0x0418d807, 0x0000b187, 0x81f83cec, 0x0000d604,
- 0x00384000, 0x00000000, 0xffffffff, 0x00007ff7, 0xffffffff, 0x00007ff7,
- 0x81f83aec, 0x0000a684, 0xffffffff, 0x00007fa7, 0x84401407, 0x00009880,
- 0x4b411611, 0x0000f902, 0x08400000, 0x00008004, 0x4b80f811, 0x00007902,
- 0x07800000, 0x00008004, 0x4b80da11, 0x00007902, 0x06800000, 0x00000004,
- 0x4b805c11, 0x0000f902, 0x02000000, 0x00000004, 0x0468380a, 0x00009980,
- 0x04202011, 0x00006901, 0x200384ec, 0x0000d784, 0x0038881a, 0x00000000,
- 0x003914ec, 0x0000d704, 0x00390800, 0x00008000, 0x0038fcec, 0x00005704,
- 0x0038f000, 0x00008000, 0x0038dcec, 0x0000d704, 0x0038d000, 0x00000000,
- 0x00385cec, 0x00005704, 0x00384000, 0x00000000, 0x0230d800, 0x00007900,
- 0x00020018, 0x00000980, 0x000019a9, 0x0000f400, 0x200924ec, 0x0000d784,
- 0x00384015, 0x00000400, 0x000994ec, 0x0000d784, 0x00000019, 0x00008280,
- 0x000004e3, 0x0000e583, 0x02c00000, 0x00000980, 0x04400000, 0x00006180,
- 0x0802460b, 0x00006084, 0x82283024, 0x00008020, 0x00001ab0, 0x0000f408,
- 0x82d822e3, 0x0000802e, 0x84510220, 0x00006100, 0xddb00600, 0x00004911,
- 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x2222a000, 0x0000f900,
- 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc, 0x00008980,
- 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x1df85f02, 0x00008714,
- 0x1cf51014, 0x0000f500, 0x25788f08, 0x00000910, 0x62809624, 0x000088a9,
- 0x00001c93, 0x0000f200, 0x0e403000, 0x00001980, 0x0140241d, 0x00009283,
- 0x8b405e07, 0x0000f902, 0x02000000, 0x00000004, 0x08025425, 0x0000688c,
- 0x00001eac, 0x00007010, 0xc1a12a20, 0x00001100, 0xb3e0450b, 0x00004195,
- 0x00200635, 0x00008090, 0xe1a0140b, 0x0000c391, 0x00205d06, 0x00000018,
- 0xaf26050b, 0x0000c297, 0x1620150d, 0x00000792, 0x33808535, 0x0000f897,
- 0x19000000, 0x00008e8c, 0xc9c10608, 0x0000f897, 0x90c00000, 0x00000f87,
- 0xd7000635, 0x00007893, 0xf8c00000, 0x00008f82, 0x41c0150d, 0x00009283,
- 0x00001d79, 0x0000f013, 0x09006736, 0x00006281, 0x11c00000, 0x00008980,
- 0x00002424, 0x0000e583, 0x11000000, 0x00008980, 0x0a02604c, 0x00006108,
- 0x8a526a4d, 0x00004908, 0xca5a6b4d, 0x0000e108, 0x0a82704e, 0x0000c908,
- 0x00000418, 0x00006583, 0x7140c044, 0x00002000, 0x0ac0a014, 0x0000e100,
- 0x90000847, 0x0000644b, 0x01004418, 0x0000e283, 0x8b10aa15, 0x00000900,
- 0xcc90b216, 0x00006100, 0xb540c047, 0x0000e001, 0x11400000, 0x000004d8,
- 0x00001d21, 0x00007008, 0x0100141d, 0x0000e283, 0x40000844, 0x0000a402,
- 0x91972ae5, 0x00009900, 0x00001d6f, 0x0000f011, 0x0801ac04, 0x00006002,
- 0x09006405, 0x00003002, 0x00000405, 0x00009583, 0x00001404, 0x00009583,
- 0xffffffff, 0x00007f86, 0x00001e32, 0x0000f008, 0x00001d5d, 0x0000f010,
- 0x56c04006, 0x0000f902, 0x01c00000, 0x00008000, 0x56805a06, 0x0000f902,
- 0x02800000, 0x00000000, 0xffffffff, 0x00007f97, 0x02000808, 0x00001082,
- 0x02c05a19, 0x0000e002, 0x01c00007, 0x00000084, 0x0280000a, 0x00009084,
- 0x56f84006, 0x00005000, 0x00383800, 0x00000000, 0x56b85a06, 0x00005000,
- 0x00385000, 0x00008000, 0x0c825c1f, 0x0000e802, 0x0000141f, 0x00009583,
- 0x87c03209, 0x0000e088, 0x84c04a09, 0x00008088, 0x00001d3f, 0x0000f009,
- 0x00001c1f, 0x00001583, 0x84c05209, 0x0000e088, 0x87c03a09, 0x00000088,
- 0x87c04209, 0x00006090, 0x84c05a09, 0x00000090, 0xffffffff, 0x00007f86,
- 0xe3404c13, 0x00007902, 0x02000000, 0x00000004, 0xe3403c1f, 0x0000f902,
- 0x01800000, 0x00008004, 0xffffffff, 0x00007f97, 0x02400809, 0x00001082,
- 0x01c03a19, 0x0000e002, 0x02000008, 0x00000084, 0x01800006, 0x00009084,
- 0xe3784c13, 0x00005004, 0x00384000, 0x00000000, 0xe3783c1f, 0x0000d004,
- 0x00383000, 0x00008000, 0x01c00000, 0x00007900, 0x001f0000, 0x00000980,
- 0x41810518, 0x00006283, 0x0018c807, 0x0000a186, 0x20383eec, 0x00005600,
- 0x0038b800, 0x00008000, 0x01400020, 0x00006188, 0x08001a25, 0x0000e10e,
- 0x00001efa, 0x00007010, 0x00112805, 0x00006984, 0x733828ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x000818ec, 0x00005780, 0x00d07280, 0x000081c0,
- 0x00908eec, 0x00005f80, 0x00007000, 0x00008084, 0x00000c04, 0x00009583,
- 0x00001e22, 0x0000700b, 0x89001206, 0x00006080, 0x84c02a06, 0x00000080,
- 0x56805213, 0x0000f902, 0x02000000, 0x00008000, 0x56803a24, 0x0000f902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007f97, 0x0280080a, 0x00001082,
- 0x01c03a19, 0x0000e002, 0x02000008, 0x00000084, 0x01800006, 0x00009084,
- 0x00001d35, 0x00007400, 0x56b85213, 0x00005000, 0x00384000, 0x00000000,
- 0x56b83a24, 0x00005000, 0x00383000, 0x00008000, 0x41c20518, 0x0000e283,
- 0x0c40c425, 0x00002000, 0x07c01425, 0x00006081, 0x0000e049, 0x0000a183,
- 0x07c01000, 0x00006191, 0x4120f844, 0x0000e002, 0x07c00800, 0x00001989,
- 0x00001d21, 0x00007400, 0xffffffff, 0x00007f86, 0xe7a0f849, 0x0000e803,
- 0x84f71ee3, 0x0000e100, 0x0cc0b41f, 0x00006004, 0x00001c1f, 0x0000e583,
- 0x09001c1f, 0x00008281, 0x51783c13, 0x0000a018, 0x51783c13, 0x000020b0,
- 0x09401c24, 0x00001881, 0x00001d0b, 0x0000f403, 0x07e12807, 0x00001700,
- 0xd760f814, 0x00006805, 0x0c805c24, 0x0000e802, 0x01401424, 0x00009283,
- 0x03c086ec, 0x0000f912, 0x02c00000, 0x00008000, 0x040050ec, 0x0000f912,
- 0x01c00000, 0x00008000, 0x00001d09, 0x00007008, 0x09519a33, 0x00001900,
- 0x00119810, 0x0000f808, 0x00000000, 0x00000000, 0x00005825, 0x0000f808,
- 0x00000000, 0x00008020, 0x00005025, 0x00007808, 0x00000000, 0x00000060,
- 0x00003825, 0x00007812, 0x00000000, 0x00008010, 0x3c020608, 0x0000f897,
- 0xb9000000, 0x00008e8c, 0x5e40150d, 0x0000f897, 0x58c00000, 0x00000e88,
- 0xceb89eec, 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072813, 0x00001502, 0x04c00813, 0x00001090, 0xceb89eec, 0x00002894,
- 0x42c0150d, 0x0000f88f, 0xc8c00000, 0x00000e8b, 0x80040635, 0x0000e583,
- 0xc3f1ae35, 0x00008901, 0x04f1ae35, 0x00006111, 0xc3c00000, 0x00004989,
- 0x00001cff, 0x00007009, 0x01c3e813, 0x00001282, 0x07c07d18, 0x00001289,
- 0x0000253e, 0x0000f011, 0x00000c1f, 0x00009583, 0x0000252c, 0x0000700b,
- 0x0000141f, 0x00009583, 0x0c006a1f, 0x0000e18c, 0x0011b016, 0x0000310e,
- 0x87c0221f, 0x00006188, 0x86402219, 0x00000188, 0xc6402319, 0x0000e088,
- 0x0410f80d, 0x0000218d, 0x00001cff, 0x0000f400, 0x8591b236, 0x00001910,
- 0x4340150d, 0x00009381, 0x08800000, 0x0000f900, 0x00040000, 0x00000980,
- 0xc1c1870c, 0x00006283, 0x0400b022, 0x0000a107, 0x0800b225, 0x0000e106,
- 0x0801ad08, 0x0000b002, 0x02000000, 0x00006181, 0x88914a29, 0x00004900,
- 0x00001dcf, 0x00007008, 0x41c0850b, 0x00006283, 0x04814028, 0x00000900,
- 0x04411022, 0x00009900, 0x00002403, 0x0000f011, 0xc009fb05, 0x0000e582,
- 0x02000800, 0x00000981, 0x00002412, 0x0000f01b, 0xa5409e0a, 0x00007902,
- 0x04000000, 0x00000004, 0xa5b8380a, 0x00002084, 0x01400000, 0x00009981,
- 0xffffffff, 0x00007f86, 0x00014013, 0x00009502, 0x00011010, 0x00009502,
- 0x00202407, 0x00009503, 0x00002413, 0x0000f010, 0x00002413, 0x0000f010,
- 0x00002413, 0x0000f010, 0xc730380c, 0x0000e803, 0x01400800, 0x00001981,
- 0x2e60140b, 0x00004390, 0x00405d06, 0x00000018, 0xbc86050b, 0x00004297,
- 0xb420150d, 0x0000078b, 0x54408535, 0x0000f896, 0xa9000000, 0x00001089,
- 0xa9810608, 0x0000f896, 0xf1000000, 0x00009182, 0x41c0150d, 0x00009283,
- 0x00001de4, 0x0000700b, 0x84f71ee3, 0x0000e100, 0x0cc0b425, 0x00006004,
- 0x00001c25, 0x0000e583, 0x07c01c25, 0x00000281, 0x51783c13, 0x0000a018,
- 0x51783c13, 0x000020b0, 0x09001c1f, 0x00001881, 0xffffffff, 0x00007f97,
- 0x09612007, 0x00009700, 0xd7612814, 0x00006805, 0x00000418, 0x00006583,
- 0x11c00000, 0x00008980, 0x12840000, 0x00006180, 0x90000847, 0x0000644b,
- 0x4000051d, 0x00006583, 0xe240e84b, 0x0000a002, 0x0740e835, 0x00006012,
- 0x0002404a, 0x0000b084, 0x01c04418, 0x0000e283, 0x00040048, 0x00002486,
- 0x11000000, 0x00006180, 0xb540c047, 0x0000e001, 0x0018e84b, 0x0000e182,
- 0x0028e848, 0x00003084, 0x0ac0a014, 0x0000e100, 0x7140c044, 0x0000e000,
- 0x0b08b415, 0x0000830a, 0x00001e04, 0x00007408, 0x11400000, 0x000004d8,
- 0x5288f11e, 0x0000042a, 0x01c0141d, 0x0000e283, 0x40000844, 0x0000a402,
- 0x91972ae5, 0x0000e100, 0x0c40c41f, 0x00006010, 0x0900141f, 0x00009091,
- 0x00001e04, 0x0000f008, 0x41c20518, 0x0000e283, 0x41212044, 0x0000a002,
- 0x09000800, 0x0000e189, 0x09001000, 0x0000c991, 0xffffffff, 0x00007f86,
- 0xe7a12049, 0x00006803, 0x09403747, 0x0000e281, 0x07c18444, 0x00008281,
- 0x00001425, 0x00006583, 0x0000e049, 0x0000a183, 0x0c40c425, 0x0000e808,
- 0x09401425, 0x00001089, 0x0000841f, 0x00006583, 0x96612847, 0x0000a00b,
- 0x0c40c41f, 0x0000e808, 0x07c0141f, 0x00001089, 0x41c20518, 0x0000e283,
- 0x4120fc44, 0x0000200a, 0x07c00800, 0x00006189, 0x07c01000, 0x00004991,
- 0x01c40444, 0x00001283, 0xe7a0f849, 0x00006003, 0xe0000848, 0x0000b412,
- 0x00000405, 0x00009583, 0x000021fe, 0x0000f00b, 0xffffffff, 0x00007f86,
- 0x09006405, 0x00006002, 0x0801ac04, 0x00003002, 0xc6400405, 0x00004389,
- 0x00200c05, 0x00008090, 0xe1801404, 0x00004589, 0x74200c04, 0x00000093,
- 0x79401404, 0x0000788a, 0x01000001, 0x00000000, 0xb7000c04, 0x0000788a,
- 0x31000000, 0x00001183, 0x89000a06, 0x00006080, 0x84c02206, 0x00008080,
- 0x56805213, 0x0000f902, 0x02000000, 0x00008000, 0x56803a24, 0x0000f902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007f97, 0x0280080a, 0x00001082,
- 0x01c03a19, 0x0000e002, 0x02000008, 0x00000084, 0x01800006, 0x00009084,
- 0x00001d35, 0x00007400, 0x56b85213, 0x00005000, 0x00384000, 0x00000000,
- 0x56b83a24, 0x00005000, 0x00383000, 0x00008000, 0x84c03206, 0x00006080,
- 0x0c825c24, 0x00002002, 0x56803a13, 0x00007902, 0x01800000, 0x00000000,
- 0xffffffff, 0x00007fa7, 0x01c00807, 0x00001082, 0x00001424, 0x0000e583,
- 0x01800006, 0x00000084, 0x56b83a13, 0x0000d000, 0x00383000, 0x00008000,
- 0x00001c24, 0x00009583, 0xffffffff, 0x00007f86, 0x00001f53, 0x0000f008,
- 0x00001e56, 0x00007008, 0x89407209, 0x00001080, 0xe3403c25, 0x0000f902,
- 0x01800000, 0x00008004, 0xffffffff, 0x00007fa7, 0x01c00807, 0x00001082,
- 0x00001d4d, 0x00007400, 0x01800006, 0x00009084, 0xe3783c25, 0x0000d004,
- 0x00383000, 0x00008000, 0x89003206, 0x00001080, 0x56803a24, 0x0000f902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x01c00807, 0x00001082,
- 0x00001413, 0x00006583, 0x01800006, 0x00000084, 0x56b83a24, 0x00005000,
- 0x00383000, 0x00008000, 0x00001c13, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00001f53, 0x0000f008, 0x00001e40, 0x0000f010, 0x89406a09, 0x00001080,
- 0xe3403c25, 0x0000f902, 0x01800000, 0x00008004, 0xffffffff, 0x00007fa7,
- 0x01c00807, 0x00001082, 0x00001d4d, 0x00007400, 0x01800006, 0x00009084,
- 0xe3783c25, 0x0000d004, 0x00383000, 0x00008000, 0x08400000, 0x0000f900,
- 0x00040000, 0x00000980, 0xc1c1870c, 0x00006283, 0x0400b021, 0x0000a107,
- 0x0800b224, 0x00006106, 0x0a01b51c, 0x00003002, 0x02000000, 0x00006181,
- 0x88526a4d, 0x00004900, 0x00001e7b, 0x00007008, 0x41c0850b, 0x00006283,
- 0x0442604c, 0x00000900, 0x04010821, 0x00001900, 0x00001f70, 0x0000f011,
- 0xc009fb05, 0x0000e582, 0x02000800, 0x00000981, 0x00001f7f, 0x0000f01b,
- 0xa5409e0a, 0x00007902, 0x04800000, 0x00008004, 0xa5b8380a, 0x00002084,
- 0x01400000, 0x00009981, 0xffffffff, 0x00007f86, 0x00026013, 0x00001502,
- 0x00010812, 0x00001502, 0x00202407, 0x00009503, 0x00001f80, 0x00007010,
- 0x00001f80, 0x00007010, 0x00001f80, 0x00007010, 0xc730380c, 0x0000e803,
- 0x01400800, 0x00001981, 0x15e0140b, 0x00004390, 0x00405d06, 0x00000018,
- 0x31e6050b, 0x0000c296, 0x0c40150d, 0x00000795, 0x23408535, 0x0000f896,
- 0x89000000, 0x00009083, 0x34c10608, 0x0000f896, 0xb9000000, 0x00009085,
- 0x41c0150d, 0x00009283, 0x0000218f, 0x0000f013, 0x09406736, 0x0000e281,
- 0x11c00000, 0x00008980, 0x00002425, 0x00006583, 0x11000000, 0x00008980,
- 0x0a02604c, 0x00006108, 0x8a526a4d, 0x00004908, 0xca5a6b4d, 0x0000e108,
- 0x0a82704e, 0x0000c908, 0x00000418, 0x00006583, 0x7140c044, 0x00002000,
- 0x0ac0a014, 0x0000e100, 0x90000847, 0x0000644b, 0x01c04418, 0x0000e283,
- 0x8b10aa15, 0x00000900, 0xcc90b216, 0x00006100, 0xb540c047, 0x0000e001,
- 0x11400000, 0x000004d8, 0x00001e9c, 0x00007008, 0x01c0141d, 0x0000e283,
- 0x40000844, 0x0000a402, 0x91972ae5, 0x00009900, 0x00002199, 0x0000f011,
- 0x00000405, 0x00009583, 0x000023a3, 0x0000f00b, 0xffffffff, 0x00007f86,
- 0x09006405, 0x00006002, 0x0801ac04, 0x00003002, 0xc6400405, 0x00004389,
- 0x00200c05, 0x00008090, 0xd0a01404, 0x00004589, 0x77e00c04, 0x0000008b,
- 0x79401404, 0x0000788a, 0x01000001, 0x00000000, 0x99800c04, 0x0000f892,
- 0xe1000000, 0x00009186, 0x00001d61, 0x0000f200, 0x89001206, 0x00006080,
- 0x84c02a06, 0x00000080, 0x08024413, 0x00006884, 0xc1a09a20, 0x00001100,
- 0x61c0450b, 0x00004194, 0x00400635, 0x00008090, 0x60c0140b, 0x00004390,
- 0x00405d06, 0x00000018, 0x5f86050b, 0x00004296, 0x7840150d, 0x00000795,
- 0x44c08535, 0x0000f896, 0xb9000000, 0x00001087, 0xd2c10608, 0x00007896,
- 0x11000000, 0x00009189, 0x5ec00635, 0x00007892, 0x99000000, 0x00008e8d,
- 0x41c0150d, 0x00009283, 0x000022fc, 0x00007013, 0x00000418, 0x00006583,
- 0x11c00000, 0x00008980, 0x12840000, 0x00006180, 0x90000847, 0x0000644b,
- 0x4000051d, 0x00006583, 0xe240e84b, 0x0000a002, 0x0740e835, 0x00006012,
- 0x0002404a, 0x0000b084, 0x01004418, 0x0000e283, 0x00040048, 0x00002486,
- 0x11000000, 0x00006180, 0x0ec0ec13, 0x00006002, 0xb540c047, 0x0000e001,
- 0x0018e84b, 0x0000b182, 0x0028e848, 0x00006084, 0x7140c044, 0x0000b000,
- 0x0ae0af14, 0x00000230, 0x8c800116, 0x00000494, 0x00001ed6, 0x00007408,
- 0x11800000, 0x0000e180, 0x52b0f61e, 0x00004901, 0xd290f21e, 0x00006100,
- 0x40000844, 0x0000e412, 0x0100141d, 0x0000e283, 0x91972ae5, 0x00000900,
- 0x00002535, 0x0000f013, 0x09403747, 0x0000e281, 0x0000e049, 0x0000a183,
- 0x00001425, 0x00006583, 0x07c18444, 0x00008281, 0x09006405, 0x00006002,
- 0x0c40c425, 0x00003008, 0x09401425, 0x00001089, 0x0000841f, 0x00006583,
- 0x96612847, 0x0000a00b, 0x0c40c41f, 0x0000e808, 0x07c0141f, 0x00001089,
- 0x41c20518, 0x0000e283, 0x4120fc44, 0x0000200a, 0x07c00800, 0x00006189,
- 0x07c01000, 0x00004991, 0x01040444, 0x00001283, 0xe7a0f849, 0x00006003,
- 0xe0000848, 0x0000b412, 0x00000405, 0x00006583, 0x0801ac04, 0x0000a002,
- 0x00001404, 0x00009583, 0x00000c04, 0x00009583, 0x00001e49, 0x0000f008,
- 0x00001d28, 0x00007008, 0x00001e22, 0x00007008, 0x00001d61, 0x0000f200,
- 0x89001206, 0x00006080, 0x84c02a06, 0x00000080, 0xcef920ec, 0x00002084,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x09000824, 0x00001090, 0xcef920ec, 0x00002894, 0x42c0150d, 0x0000f88f,
- 0xc8c00000, 0x00000e8b, 0x41400d05, 0x00009283, 0x15001000, 0x00007910,
- 0x00008000, 0x00000980, 0x15580800, 0x0000f910, 0x00044040, 0x00000980,
- 0x00001f15, 0x00007008, 0x15c00000, 0x000085e8, 0x15801002, 0x0000e100,
- 0x00001857, 0x00006106, 0x16020000, 0x0000f900, 0x00040000, 0x00000980,
- 0x000818ec, 0x00005780, 0x00d07280, 0x000081c0, 0x16420000, 0x0000e180,
- 0xc0001857, 0x0000e006, 0x16e12000, 0x000080f2, 0x56a8c416, 0x00008528,
- 0x00908eec, 0x00005f80, 0x00d07540, 0x00000184, 0xceb928ec, 0x00002084,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x09400825, 0x00001090, 0xceb928ec, 0x00002894, 0x42c0150d, 0x0000f88f,
- 0xc8c00000, 0x00000e8b, 0x01800020, 0x0000e180, 0x08001a13, 0x00006106,
- 0x15d00002, 0x0000e180, 0x00109806, 0x0000e184, 0x15800000, 0x00006180,
- 0x00282057, 0x0000e080, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x8440b057, 0x0000e000, 0x00182056, 0x00003100, 0x000818ec, 0x00005780,
- 0x00d07280, 0x000081c0, 0x15083804, 0x00006180, 0x0000b057, 0x0000e085,
- 0x1560b800, 0x000000f2, 0xd598c318, 0x00009900, 0x00908eec, 0x00005f80,
- 0x00d07540, 0x000000c4, 0x000004e3, 0x0000e583, 0x04400000, 0x00008980,
- 0x04c00000, 0x0000e180, 0x08024611, 0x0000e084, 0x8428300b, 0x00000100,
- 0x00001f46, 0x0000f408, 0x845822e3, 0x00008106, 0x84d10220, 0x0000e100,
- 0xddb00600, 0x00004911, 0x22800000, 0x00007900, 0x00014000, 0x00008980,
- 0x2222a000, 0x0000f900, 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900,
- 0x0032d3fc, 0x00008980, 0x9da80500, 0x00006101, 0x08001a76, 0x00006106,
- 0x1df88f02, 0x00000714, 0x1f3c1014, 0x0000f500, 0x25789f10, 0x00008910,
- 0x6280960b, 0x000008a9, 0x1f3e109f, 0x00007300, 0x0e403000, 0x00001980,
- 0xce78feec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x0007281f, 0x00001502, 0x07c0081f, 0x00001090, 0xce78feec, 0x0000a814,
- 0x42c0150d, 0x0000f88f, 0xc8c00000, 0x00000e8b, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03e2a000, 0x0000f900, 0x00151b4e, 0x00000980,
- 0x04907800, 0x00007900, 0x0032d3fc, 0x00008980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x82781400, 0x00000030, 0x1f530fe7, 0x00007500,
- 0x01f88711, 0x00000018, 0x81009000, 0x00006180, 0x02809813, 0x0000c900,
- 0x89406209, 0x00009080, 0xe3403c25, 0x0000f902, 0x01800000, 0x00008004,
- 0xffffffff, 0x00007fa7, 0x01c00807, 0x00001082, 0x00001d4d, 0x00007400,
- 0x01800006, 0x00009084, 0xe3783c25, 0x0000d004, 0x00383000, 0x00008000,
- 0x80040635, 0x0000e583, 0xc3f1ae35, 0x00008901, 0x04f1ae35, 0x00006111,
- 0xc3c00000, 0x00004989, 0x00001e5f, 0x0000f009, 0x01c3e813, 0x00001282,
- 0x09007d18, 0x00009289, 0x0000201f, 0x0000f011, 0x00000c24, 0x00001583,
- 0x00002016, 0x0000700b, 0x00001424, 0x00001583, 0x0c006a24, 0x0000618c,
- 0x0011b016, 0x0000310e, 0x89002224, 0x00006188, 0x86402219, 0x00000188,
- 0xc6402319, 0x0000e088, 0x0411200d, 0x0000a18d, 0x00001e5f, 0x00007400,
- 0x8591b236, 0x00001910, 0x4340150d, 0x00009381, 0x84e02404, 0x00009900,
- 0xd6409413, 0x00007902, 0x01c00000, 0x00000004, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0x00172b07, 0x00007808, 0x00000000, 0x00000000,
- 0x00183a24, 0x0000f810, 0x00000000, 0x00008020, 0x00103b4d, 0x0000f810,
- 0x00000000, 0x00000060, 0x9b00904e, 0x0000780b, 0x00c00001, 0x00000010,
- 0xefe00408, 0x00004989, 0xde29fb05, 0x000087b4, 0x01400000, 0x00009981,
- 0x4000151c, 0x00006583, 0xc000080c, 0x0000a403, 0x007a66ec, 0x0000d70c,
- 0x00390800, 0x00008000, 0x117a66ec, 0x0000d70c, 0x00390800, 0x00008000,
- 0x00001fc5, 0x0000f010, 0x00000408, 0x0000e583, 0xf0000810, 0x0000a401,
- 0x227a66ec, 0x00005704, 0x00388000, 0x00000000, 0x04404000, 0x00007900,
- 0x0005001a, 0x00000980, 0x200004ec, 0x00005784, 0x00388816, 0x0000aa00,
- 0x01c00000, 0x00007900, 0x0015001e, 0x00000980, 0x845a734e, 0x0000e108,
- 0x30e8e007, 0x0000e080, 0x20383cec, 0x0000d704, 0x00081815, 0x00000480,
- 0xc45a6b4d, 0x00006108, 0x01e9800c, 0x0000c980, 0x0028e007, 0x00006804,
- 0x20383cec, 0x0000d704, 0x00199819, 0x00000080, 0x01f0380c, 0x00001980,
- 0x00001fb9, 0x0000f410, 0x04202007, 0x0000e901, 0x00383cec, 0x00005704,
- 0x00000000, 0x00008080, 0x01c00000, 0x00007900, 0x00040000, 0x00000980,
- 0x00127007, 0x0000e986, 0x00008007, 0x0000e907, 0x11788eec, 0x0000d704,
- 0x00383800, 0x00000000, 0x04000000, 0x00007900, 0x0015001e, 0x00000980,
- 0x30e8e010, 0x0000e080, 0xf0000807, 0x00003401, 0x22788eec, 0x0000d704,
- 0x00383800, 0x00000000, 0x200044ec, 0x0000d784, 0x00388012, 0x00000a00,
- 0x01e90008, 0x00009980, 0x0028e007, 0x00006804, 0x20383cec, 0x0000d704,
- 0x00191811, 0x00000080, 0x04390000, 0x00007900, 0x00010010, 0x00008980,
- 0x01c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202007, 0x00006101,
- 0x0028e010, 0x0000b004, 0x20383cec, 0x0000d704, 0x00388000, 0x00000000,
- 0x01f01000, 0x0000f900, 0x00020018, 0x00000980, 0x090046e3, 0x00009081,
- 0x30e12007, 0x00006880, 0x20383cec, 0x0000d704, 0x0010a019, 0x00008680,
- 0xcef92aec, 0x0000a004, 0xffffffff, 0x00007fa7, 0x00072825, 0x00001502,
- 0x00001e7c, 0x0000f400, 0x09400825, 0x00001090, 0xcef92aec, 0x0000a814,
- 0x007a66ec, 0x00005704, 0x00390800, 0x00008000, 0x000004ec, 0x0000d784,
- 0x00000016, 0x0000aa80, 0x04a81000, 0x00007900, 0x00020014, 0x00000980,
- 0x00000408, 0x0000e583, 0x094046e3, 0x00008081, 0x30e12812, 0x00006880,
- 0x20081cec, 0x0000d784, 0x00389015, 0x00008400, 0x00001fe7, 0x0000f010,
- 0x01c00000, 0x00007900, 0x00040000, 0x00000980, 0x00127007, 0x00006186,
- 0x001a7012, 0x00003186, 0x00008007, 0x00006107, 0x041a6812, 0x00003187,
- 0x117896ec, 0x0000d704, 0x00383800, 0x00000000, 0xf0000807, 0x0000ec01,
- 0x227896ec, 0x0000d704, 0x00383800, 0x00000000, 0x04808000, 0x00007900,
- 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784, 0x00389012, 0x00008a00,
- 0x200914ec, 0x0000d784, 0x04591811, 0x00000080, 0x01c03800, 0x0000f900,
- 0x0002001e, 0x00000980, 0x04202007, 0x0000e901, 0x20383cec, 0x0000d704,
- 0x00191011, 0x00000280, 0x40000d1c, 0x00009583, 0x01e8380a, 0x00009990,
- 0x04202007, 0x00006911, 0x00001fee, 0x0000f008, 0x00001e7c, 0x0000f200,
- 0x20383cec, 0x0000d704, 0x00095019, 0x00000680, 0x81c002ec, 0x00005684,
- 0x00400000, 0x00008000, 0x04800000, 0x00006180, 0x00108807, 0x00006186,
- 0x04188807, 0x0000e187, 0x04108012, 0x00003187, 0x81f83cec, 0x0000d604,
- 0x00389000, 0x00008000, 0x08e8380a, 0x00001980, 0x04202023, 0x0000e901,
- 0xffffffff, 0x00007ff7, 0xffffffff, 0x0000ffd7, 0x81f83aec, 0x0000a684,
- 0xffffffff, 0x00007fa7, 0x87c01407, 0x00001880, 0x4b40f61f, 0x00007902,
- 0x06c00000, 0x00008004, 0x4b80d01f, 0x0000f902, 0x04c00000, 0x00000004,
- 0x4b80921f, 0x0000f902, 0x04400000, 0x00008004, 0x4b80841f, 0x00007902,
- 0x01c00000, 0x00000004, 0x200384ec, 0x0000d784, 0x0039181a, 0x00008000,
- 0x0038f4ec, 0x0000d704, 0x0038d800, 0x00008000, 0x0038d4ec, 0x00005704,
- 0x00389800, 0x00000000, 0x003894ec, 0x0000d704, 0x00388800, 0x00008000,
- 0x003884ec, 0x00005704, 0x00383800, 0x00000000, 0x0430d800, 0x00007900,
- 0x00020018, 0x00000980, 0x00001e7c, 0x0000f400, 0x200924ec, 0x0000d784,
- 0x00388015, 0x00000400, 0x000994ec, 0x0000d784, 0x00000019, 0x00008280,
- 0x81c08608, 0x00009283, 0xc000000c, 0x0000ec0b, 0xceb92aec, 0x0000a00c,
- 0x00002028, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x00001e5f, 0x00007400, 0x09400825, 0x00001090, 0xceb92aec, 0x00002814,
- 0x81c04608, 0x00009283, 0xc000000c, 0x0000ec0b, 0xceb89eec, 0x0000200c,
- 0x00002043, 0x00007010, 0xffffffff, 0x00007f97, 0x00072813, 0x00001502,
- 0x00001e5f, 0x00007400, 0x04c00813, 0x00001090, 0xceb89eec, 0x0000a814,
- 0x000004e3, 0x0000e583, 0x0e00c713, 0x00002006, 0x84ff1fe3, 0x0000e100,
- 0x84e02404, 0x00004901, 0x04699416, 0x00008104, 0x00002057, 0x00007008,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2209c800, 0x00007900,
- 0x00151b50, 0x00000980, 0x226ee800, 0x00007900, 0x000e1256, 0x00000980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x203a1014, 0x0000f500, 0x1d788f13, 0x00000914, 0x62800010, 0x000009d0,
- 0x0e404000, 0x00009980, 0x203c109f, 0x00007100, 0xce78feec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x0007281f, 0x00001502,
- 0x00001e5f, 0x00007400, 0x07c0081f, 0x00001090, 0xce78feec, 0x0000a814,
- 0x000004e3, 0x0000e583, 0x84ff1fe3, 0x00000900, 0x44e9ae04, 0x0000810e,
- 0x04795f34, 0x00000100, 0x00002064, 0x00007008, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980,
- 0x2269c000, 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x20551014, 0x0000f500,
- 0x1d79a713, 0x00008914, 0xa2807800, 0x00006180, 0x2501582b, 0x00004900,
- 0x0000203b, 0x00007200, 0x0e403800, 0x00009980, 0x02800000, 0x00006180,
- 0x01000020, 0x00004980, 0x03c9c800, 0x00007900, 0x00151b50, 0x00000980,
- 0x04aee800, 0x0000f900, 0x000e1256, 0x00000980, 0x81008000, 0x00009980,
- 0xc1002800, 0x00006181, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x20640fe7, 0x0000f500, 0x03389f02, 0x0000801c, 0x01808811, 0x00009900,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03c7a800, 0x0000f900,
- 0x00151b50, 0x00000980, 0x04a9c000, 0x00007900, 0x003be25c, 0x00000980,
- 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106, 0x82781400, 0x00000030,
- 0x20710fe7, 0x00007500, 0x01f88f13, 0x00000018, 0x81007800, 0x00006180,
- 0x02808010, 0x0000c900, 0x0c805c24, 0x0000e802, 0x01c01424, 0x00001283,
- 0x03c08eec, 0x00007912, 0x04000000, 0x00008000, 0x040058ec, 0x00007912,
- 0x01c00000, 0x00008000, 0x00001e84, 0x00007008, 0x09519a33, 0x00001900,
- 0x00119811, 0x00007808, 0x00000000, 0x00000000, 0x00008025, 0x0000f808,
- 0x00000000, 0x00008020, 0x00005825, 0x0000f808, 0x00000000, 0x00000060,
- 0x00003825, 0x00007812, 0x00000000, 0x00008010, 0x2fc20608, 0x0000f896,
- 0x29000000, 0x00001084, 0x63c0150d, 0x00007896, 0x31000000, 0x00008f84,
- 0xceb8feec, 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x0007281f, 0x00001502, 0x07c0081f, 0x00001090, 0xceb8feec, 0x00002894,
- 0xa180150d, 0x0000f88f, 0x78c00000, 0x0000108c, 0x0c805c1f, 0x00006802,
- 0x01c00c1f, 0x00009283, 0x81820608, 0x00001283, 0xffffffff, 0x00007f86,
- 0x00002071, 0x0000f008, 0x00002085, 0x00007008, 0x000004e3, 0x0000e583,
- 0x04000000, 0x00000980, 0x845822e3, 0x00008106, 0x84626933, 0x00000100,
- 0x000020ea, 0x00007008, 0x22800000, 0x00007900, 0x00014000, 0x00008980,
- 0x22039800, 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900,
- 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x1d7a6711, 0x00000914, 0x20a51014, 0x0000f500,
- 0x25009f10, 0x000088a9, 0xa2a05c0b, 0x00001901, 0x0e409800, 0x00009980,
- 0x20a7109f, 0x0000f100, 0xce7926ec, 0x00002004, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090,
- 0xce7926ec, 0x00002814, 0xa180150d, 0x0000f88f, 0x78c00000, 0x0000108c,
- 0xceb8f8ec, 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x0007281f, 0x00001502, 0x07c0081f, 0x00001090, 0xceb8f8ec, 0x00002894,
- 0xa180150d, 0x0000f88f, 0x78c00000, 0x0000108c, 0xcef928ec, 0x0000a084,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x09400825, 0x00001090, 0xcef928ec, 0x0000a894, 0xa180150d, 0x0000f88f,
- 0x78c00000, 0x0000108c, 0x000004e3, 0x0000e583, 0x04000000, 0x00000980,
- 0x845822e3, 0x00008106, 0x84626933, 0x00000100, 0x000020ea, 0x00007008,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22039800, 0x00007900,
- 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x20d11014, 0x0000f500, 0x1d7a6711, 0x00000914, 0xa2809800, 0x0000e180,
- 0x25008010, 0x00004900, 0x000020a6, 0x0000f200, 0x0e409800, 0x00009980,
- 0x000004e3, 0x0000e583, 0x04400000, 0x00008980, 0x04c00000, 0x0000e180,
- 0x08024611, 0x0000e084, 0x8428300b, 0x00000100, 0x00001f46, 0x0000f408,
- 0x845822e3, 0x00008106, 0x84d10220, 0x0000e100, 0xddb00600, 0x00004911,
- 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x2222a000, 0x0000f900,
- 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900, 0x0032d3fc, 0x00008980,
- 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x1df88f02, 0x00000714,
- 0x20e81014, 0x0000f500, 0x25789f10, 0x00008910, 0x6280960b, 0x000008a9,
- 0x000020a6, 0x0000f200, 0x0e403000, 0x00001980, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03c39800, 0x00007900, 0x00151b50, 0x00000980,
- 0x04a8a800, 0x00007900, 0x000aff14, 0x00008980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x82781400, 0x00000030, 0x20f70fe7, 0x0000f500,
- 0x01fa6711, 0x00000018, 0x81009800, 0x0000e180, 0x02808010, 0x0000c900,
- 0x0c805c24, 0x0000e802, 0x01401424, 0x00009283, 0x03c086ec, 0x0000f912,
- 0x02c00000, 0x00008000, 0x040050ec, 0x0000f912, 0x01c00000, 0x00008000,
- 0x00001eba, 0x0000f008, 0x04d19a33, 0x00001900, 0x00119810, 0x0000f808,
- 0x00000000, 0x00000000, 0x00005813, 0x0000f808, 0x00000000, 0x00008020,
- 0x00005013, 0x00007808, 0x00000000, 0x00000060, 0x00003813, 0x00007812,
- 0x00000000, 0x00008010, 0xca820608, 0x0000f896, 0x59000000, 0x00009088,
- 0xbf00150d, 0x0000f896, 0xe1000000, 0x00008f85, 0xceb92eec, 0x00002084,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x09400825, 0x00001090, 0xceb92eec, 0x00002894, 0xaf00150d, 0x0000f88f,
- 0xe0c00000, 0x00009187, 0x0c805c1f, 0x00006802, 0x01400c1f, 0x00001283,
- 0x81420608, 0x00001283, 0xffffffff, 0x00007f86, 0x000020f7, 0x00007008,
- 0x0000210b, 0x0000f008, 0x000004e3, 0x0000e583, 0x04000000, 0x00000980,
- 0x845822e3, 0x00008106, 0x84614933, 0x00008100, 0x0000232f, 0x00007008,
- 0x22800000, 0x00007900, 0x00014000, 0x00008980, 0x22039800, 0x00007900,
- 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x1d794711, 0x00008914, 0x212b1014, 0x00007500, 0x25009f10, 0x000088a9,
- 0xa2a05c0b, 0x00001901, 0x0e409800, 0x00009980, 0x212d109f, 0x0000f100,
- 0xce78feec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x0007281f, 0x00001502, 0x07c0081f, 0x00001090, 0xce78feec, 0x0000a814,
- 0xaf00150d, 0x0000f88f, 0xe0c00000, 0x00009187, 0x0c805c25, 0x00006802,
- 0x01c01425, 0x00009283, 0x03c08eec, 0x00007912, 0x04000000, 0x00008000,
- 0x040058ec, 0x00007912, 0x01c00000, 0x00008000, 0x00001dd8, 0x00007008,
- 0x07d19a33, 0x00001900, 0x00119811, 0x00007808, 0x00000000, 0x00000000,
- 0x0000801f, 0x0000f808, 0x00000000, 0x00008020, 0x0000581f, 0x0000f808,
- 0x00000000, 0x00000060, 0x0000381f, 0x00007812, 0x00000000, 0x00008010,
- 0xa1420608, 0x00007896, 0x49000000, 0x0000908a, 0x7900150d, 0x0000788f,
- 0xd0c00000, 0x00000e8e, 0xceb926ec, 0x0000a084, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090,
- 0xceb926ec, 0x0000a894, 0x7900150d, 0x0000788f, 0xd0c00000, 0x00000e8e,
- 0x0c805c24, 0x0000e802, 0x01c00c24, 0x00001283, 0x81820608, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00002135, 0x00007008, 0x00002149, 0x0000f008,
- 0x000004e3, 0x0000e583, 0x04000000, 0x00000980, 0x845822e3, 0x00008106,
- 0x84614933, 0x00008100, 0x0000232f, 0x00007008, 0x22800000, 0x00007900,
- 0x00014000, 0x00008980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980,
- 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1d794711, 0x00008914,
- 0x21691014, 0x00007500, 0x25009f10, 0x000088a9, 0xa2a05c0b, 0x00001901,
- 0x0e409800, 0x00009980, 0x216b109f, 0x00007100, 0xce792eec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x09400825, 0x00001090, 0xce792eec, 0x0000a814, 0x7900150d, 0x0000788f,
- 0xd0c00000, 0x00000e8e, 0xceb920ec, 0x0000a084, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090,
- 0xceb920ec, 0x0000a894, 0x7900150d, 0x0000788f, 0xd0c00000, 0x00000e8e,
- 0x80040635, 0x0000e583, 0xc3f1ae35, 0x00008901, 0x04f1ae35, 0x00006111,
- 0xc3c00000, 0x00004989, 0x00001db3, 0x00007009, 0x01c3e813, 0x00001282,
- 0x09407d18, 0x00001289, 0x000021ad, 0x00007011, 0x00000c25, 0x00009583,
- 0x000021a4, 0x0000f00b, 0x00001425, 0x00009583, 0x0c006a25, 0x0000e18c,
- 0x00199016, 0x0000310e, 0x89402225, 0x00006188, 0x86402219, 0x00000188,
- 0xc6402319, 0x0000e088, 0x0411280d, 0x0000218d, 0x00001db3, 0x0000f400,
- 0x85999332, 0x00001910, 0x4340150d, 0x00009381, 0x84f71ee3, 0x0000e100,
- 0x0cc0b424, 0x0000e004, 0x00001c24, 0x00006583, 0x09401c24, 0x00008281,
- 0x51783c13, 0x0000a018, 0x51783c13, 0x000020b0, 0x07c01c25, 0x00009881,
- 0x00001e86, 0x0000f403, 0x0920f807, 0x00009700, 0xd7612014, 0x0000e805,
- 0x41c20518, 0x0000e283, 0x0c40c41f, 0x00002000, 0x0900141f, 0x0000e081,
- 0x0000e049, 0x0000a183, 0x09001000, 0x0000e191, 0x41212044, 0x00006002,
- 0x09000800, 0x00009989, 0xffffffff, 0x00007f86, 0xe7a12049, 0x00006803,
- 0xa7800405, 0x0000f893, 0x18c00000, 0x0000118d, 0x81c08608, 0x00009283,
- 0xc000000c, 0x0000ec0b, 0xceb8faec, 0x0000a00c, 0x000021b6, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x0007281f, 0x00001502, 0x00001db3, 0x0000f400,
- 0x07c0081f, 0x00001090, 0xceb8faec, 0x00002814, 0x81c04608, 0x00009283,
- 0xc000000c, 0x0000ec0b, 0xceb89eec, 0x0000200c, 0x000021d1, 0x00007010,
- 0xffffffff, 0x00007f97, 0x00072813, 0x00001502, 0x00001db3, 0x0000f400,
- 0x04c00813, 0x00001090, 0xceb89eec, 0x0000a814, 0x000004e3, 0x0000e583,
- 0x0e00c713, 0x00002006, 0x84ff1fe3, 0x0000e100, 0x84e02404, 0x00004901,
- 0x04699416, 0x00008104, 0x00002057, 0x00007008, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x2209c800, 0x00007900, 0x00151b50, 0x00000980,
- 0x226ee800, 0x00007900, 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x21c81014, 0x0000f500,
- 0x1d788f13, 0x00000914, 0x62800010, 0x000009d0, 0x0e404000, 0x00009980,
- 0x21ca109f, 0x0000f100, 0xce7926ec, 0x00002004, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x00001db3, 0x0000f400,
- 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x000004e3, 0x0000e583,
- 0x84ff1fe3, 0x00000900, 0x44e9ae04, 0x0000810e, 0x04795f34, 0x00000100,
- 0x00002064, 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980, 0x2269c000, 0x0000f900,
- 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x21e31014, 0x0000f500, 0x1d79a713, 0x00008914,
- 0xa2807800, 0x00006180, 0x2501582b, 0x00004900, 0x000021c9, 0x00007200,
- 0x0e403800, 0x00009980, 0x56c08806, 0x00007902, 0x04000000, 0x00008000,
- 0x56804206, 0x0000f902, 0x01c00000, 0x00008000, 0xe3809a09, 0x00007902,
- 0x04800000, 0x00008004, 0xe3405c09, 0x00007902, 0x02800000, 0x00008004,
- 0x04400811, 0x00001082, 0x02004219, 0x0000e002, 0x04000010, 0x00000084,
- 0x04c00813, 0x0000e082, 0x01c00007, 0x00000084, 0x02c05a19, 0x0000e002,
- 0x04800012, 0x00000084, 0x0280000a, 0x00009084, 0x56f88806, 0x0000d000,
- 0x00388000, 0x00000000, 0x56b84206, 0x00005000, 0x00383800, 0x00000000,
- 0x00001d35, 0x00007400, 0xe3b89a09, 0x00005004, 0x00389000, 0x00008000,
- 0xe3785c09, 0x00005004, 0x00385000, 0x00008000, 0x01400800, 0x00001981,
- 0x41e01508, 0x0000c290, 0x06400408, 0x00008894, 0x94800408, 0x0000f892,
- 0x31000000, 0x00009182, 0x000038ec, 0x00007902, 0x02c00000, 0x00008704,
- 0xffffffff, 0x00007fa7, 0x0bc03c25, 0x00006000, 0x0c003c13, 0x0000b000,
- 0x01e12c13, 0x00001303, 0x89602404, 0x00006110, 0x0c019307, 0x00006116,
- 0x01604408, 0x0000e109, 0x00194807, 0x0000e196, 0xd6795425, 0x00005014,
- 0x00383800, 0x00000000, 0x000058ec, 0x00007902, 0x01c00000, 0x00008704,
- 0x43200405, 0x0000418a, 0x0041870c, 0x00000090, 0x85c9fb05, 0x0000f89b,
- 0x00c00001, 0x00008000, 0x85c1870c, 0x0000f88f, 0xa8c00000, 0x00009181,
- 0xa6402608, 0x0000f896, 0xe1000000, 0x00001181, 0x0c005c1f, 0x0000e000,
- 0x0bc05c13, 0x00003000, 0x0160fc13, 0x00009303, 0x04c046e3, 0x00006089,
- 0xc000100c, 0x00002413, 0x02e8380a, 0x00009988, 0x00002230, 0x00007010,
- 0x01e81000, 0x0000f900, 0x00020014, 0x00000980, 0x30e09807, 0x00006080,
- 0x0420200b, 0x00003101, 0x20383cec, 0x0000d704, 0x00385800, 0x00000000,
- 0x000854ec, 0x00005784, 0x00000015, 0x00000680, 0x000058ec, 0x00007902,
- 0x01c00000, 0x00008704, 0xffffffff, 0x00007fa7, 0x0c005c24, 0x00006000,
- 0x0bc05c13, 0x00003000, 0x01612413, 0x00001303, 0xc000080c, 0x0000e40b,
- 0xc000180c, 0x00003413, 0xc009fb05, 0x00001582, 0xc141870c, 0x00001283,
- 0xffffffff, 0x00007f86, 0x00001e17, 0x0000f018, 0x00001e17, 0x00007008,
- 0x00080008, 0x0000ed87, 0x00202008, 0x0000e886, 0x09006608, 0x0000e802,
- 0x00001e17, 0x00007400, 0xa579460a, 0x0000d004, 0x00391000, 0x00008000,
- 0xa5b8400a, 0x0000a884, 0xceb8fcec, 0x0000a084, 0xc720280c, 0x0000e803,
- 0xffffffff, 0x00007f97, 0x0007281f, 0x00001502, 0x07c0081f, 0x00001090,
- 0xceb8fcec, 0x0000a894, 0x85c9fb05, 0x0000f89b, 0x00c00001, 0x00008000,
- 0x85c1870c, 0x0000f88f, 0xa8c00000, 0x00009181, 0x000038ec, 0x00007902,
- 0x02800000, 0x00000704, 0xffffffff, 0x00007fa7, 0x0bc03c24, 0x0000e000,
- 0x0c003c13, 0x0000b000, 0x01e12413, 0x00009303, 0x89202404, 0x0000e110,
- 0x0c019307, 0x00006116, 0x01604408, 0x0000e109, 0x00194807, 0x0000e196,
- 0xd6795424, 0x0000d014, 0x00383800, 0x00000000, 0x000050ec, 0x0000f902,
- 0x01c00000, 0x00008704, 0xc2e00405, 0x0000c28b, 0xb021870c, 0x0000888c,
- 0xb8402608, 0x0000f896, 0xa9000000, 0x00009186, 0x0c005425, 0x00006000,
- 0x0bc05413, 0x0000b000, 0x00001e17, 0x00007400, 0x01212c13, 0x00001303,
- 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0xcef8f8ec, 0x0000a084,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x0007281f, 0x00001502,
- 0x07c0081f, 0x00001090, 0xcef8f8ec, 0x0000a894, 0x7900150d, 0x0000788f,
- 0xd0c00000, 0x00000e8e, 0x89002a06, 0x0000e080, 0x87c01206, 0x00008080,
- 0x89401209, 0x0000e080, 0x84c02a09, 0x00000080, 0x56805224, 0x00007902,
- 0x02000000, 0x00008000, 0x56803a1f, 0x00007902, 0x01800000, 0x00000000,
- 0xffffffff, 0x00007f97, 0x0280080a, 0x00001082, 0x01c03a19, 0x0000e002,
- 0x02000008, 0x00000084, 0x56b83a1f, 0x00002880, 0xe3783c13, 0x0000a084,
- 0x01800006, 0x00009084, 0x56b85224, 0x0000d000, 0x00384000, 0x00000000,
- 0x56b8321f, 0x00002800, 0xe3405425, 0x00007902, 0x02000000, 0x00000004,
- 0xe3783413, 0x0000a004, 0x01c00807, 0x00001082, 0xe3783c13, 0x00002884,
- 0xffffffff, 0x00007f86, 0x02805219, 0x0000e002, 0x01800006, 0x00000084,
- 0x02000008, 0x00009084, 0x00001d35, 0x00007400, 0xe3783413, 0x00002804,
- 0xe3785425, 0x00005004, 0x00384000, 0x00000000, 0x000004e3, 0x0000e583,
- 0x04000000, 0x00000980, 0x845822e3, 0x00008106, 0x84614933, 0x00008100,
- 0x0000232f, 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x22039800, 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900,
- 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x22971014, 0x0000f500, 0x1d794711, 0x00008914,
- 0xa2809800, 0x0000e180, 0x25008010, 0x00004900, 0x0000216a, 0x00007200,
- 0x0e409800, 0x00009980, 0x000004e3, 0x0000e583, 0x04ff1fe3, 0x00000901,
- 0x84f95304, 0x00008104, 0xc4d94b29, 0x00001900, 0x000022bd, 0x00007010,
- 0x02800000, 0x00006180, 0x01000020, 0x00004980, 0x03cf0800, 0x00007900,
- 0x003884ca, 0x00000980, 0x81012000, 0x00001980, 0x0000205e, 0x00007200,
- 0x04a3e800, 0x00007900, 0x001b7e4e, 0x00008980, 0x000004e3, 0x0000e583,
- 0x04400000, 0x00008980, 0x04c00000, 0x0000e180, 0x08024611, 0x0000e084,
- 0x8428300b, 0x00000100, 0x00001f46, 0x0000f408, 0x845822e3, 0x00008106,
- 0x84d10220, 0x0000e100, 0xddb00600, 0x00004911, 0x22800000, 0x00007900,
- 0x00014000, 0x00008980, 0x2222a000, 0x0000f900, 0x00151b4e, 0x00000980,
- 0x22507800, 0x0000f900, 0x0032d3fc, 0x00008980, 0x9da80500, 0x00006101,
- 0x08001a76, 0x00006106, 0x1df88f02, 0x00000714, 0x22bb1014, 0x00007500,
- 0x25789f10, 0x00008910, 0x6280960b, 0x000008a9, 0x0000216a, 0x00007200,
- 0x0e403000, 0x00001980, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x220f0800, 0x00007900, 0x003884ca, 0x00000980, 0x2263e800, 0x0000f900,
- 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x22c91014, 0x00007500, 0x1d795713, 0x00008914,
- 0x62800024, 0x000089d0, 0x22cb109f, 0x0000f300, 0x0e40a000, 0x00001980,
- 0xce792eec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072825, 0x00001502, 0x09400825, 0x00001090, 0xce792eec, 0x0000a814,
- 0x85c9fb05, 0x0000f89b, 0x00c00001, 0x00008000, 0x85c1870c, 0x0000f88f,
- 0xa8c00000, 0x00009181, 0xceb924ec, 0x0000a004, 0xc720280c, 0x0000e803,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x00001e17, 0x00007400,
- 0x09000824, 0x00001090, 0xceb924ec, 0x0000a814, 0x0000226a, 0x00007400,
- 0x89002206, 0x00006080, 0x87c00a06, 0x00008080, 0x89400a09, 0x0000e080,
- 0x84c02209, 0x00008080, 0x000004e3, 0x0000e583, 0x04ff1fe3, 0x00000901,
- 0x84f95304, 0x00008104, 0xc4d94b29, 0x00006100, 0xddb00600, 0x00004911,
- 0x00002511, 0x0000f008, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x22155800, 0x0000f900, 0x003884cc, 0x00000980, 0x2263e800, 0x0000f900,
- 0x001b7e4e, 0x00008980, 0x9da80500, 0x00006101, 0x08001a76, 0x00006106,
- 0x1df89f02, 0x00008714, 0x22f31014, 0x00007500, 0x2540072a, 0x00000990,
- 0xa2812000, 0x00001980, 0x22f5109f, 0x00007300, 0x0e40a000, 0x00001980,
- 0xce78feec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x0007281f, 0x00001502, 0x00001e17, 0x00007400, 0x07c0081f, 0x00001090,
- 0xce78feec, 0x0000a814, 0x87f71ee3, 0x0000e100, 0x0cc0b425, 0x00006004,
- 0x00001c25, 0x0000e583, 0x09001c25, 0x00008281, 0x51783c1f, 0x0000a018,
- 0x51783c1f, 0x000020b0, 0x04c01c24, 0x00001881, 0x00001ebc, 0x0000f403,
- 0x09609807, 0x00001700, 0xd7612814, 0x00006805, 0xceb898ec, 0x00002084,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072813, 0x00001502,
- 0x04c00813, 0x00001090, 0xceb898ec, 0x00002894, 0xaf00150d, 0x0000f88f,
- 0xe0c00000, 0x00009187, 0x80040635, 0x0000e583, 0xc3f1ae35, 0x00008901,
- 0x0971ae35, 0x00006111, 0xc3c00000, 0x00004989, 0x00001eb0, 0x00007009,
- 0x01c3e825, 0x00001282, 0x07c07d18, 0x00001289, 0x0000236b, 0x0000f011,
- 0x00000c1f, 0x00009583, 0x00002362, 0x0000700b, 0x0000141f, 0x00009583,
- 0x0c006a1f, 0x0000e18c, 0x00199016, 0x0000310e, 0x87c0221f, 0x00006188,
- 0x86402219, 0x00000188, 0xc6402319, 0x0000e088, 0x0410f80d, 0x0000218d,
- 0x00001eb0, 0x0000f400, 0x85999332, 0x00001910, 0x4340150d, 0x00009381,
- 0xcef920ec, 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xcef920ec, 0x00002894,
- 0xaf00150d, 0x0000f88f, 0xe0c00000, 0x00009187, 0x000004e3, 0x0000e583,
- 0x04000000, 0x00000980, 0x845822e3, 0x00008106, 0x04099c29, 0x00008106,
- 0x0000233c, 0x0000f010, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03c39800, 0x00007900, 0x00151b50, 0x00000980, 0x04a8a800, 0x00007900,
- 0x000aff14, 0x00008980, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106,
- 0x82781400, 0x00000030, 0x233c0fe7, 0x00007500, 0x01f94711, 0x00008018,
- 0x81009800, 0x0000e180, 0x02808010, 0x0000c900, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980,
- 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x23491014, 0x00007500,
- 0x1d794711, 0x00008914, 0xa2809800, 0x0000e180, 0x25008010, 0x00004900,
- 0x0000212c, 0x0000f200, 0x0e409800, 0x00009980, 0x000004e3, 0x0000e583,
- 0x04400000, 0x00008980, 0x04c00000, 0x0000e180, 0x08024611, 0x0000e084,
- 0x8428300b, 0x00000100, 0x00001f46, 0x0000f408, 0x845822e3, 0x00008106,
- 0x84d10220, 0x0000e100, 0xddb00600, 0x00004911, 0x22800000, 0x00007900,
- 0x00014000, 0x00008980, 0x2222a000, 0x0000f900, 0x00151b4e, 0x00000980,
- 0x22507800, 0x0000f900, 0x0032d3fc, 0x00008980, 0x9da80500, 0x00006101,
- 0x08001a76, 0x00006106, 0x1df88f02, 0x00000714, 0x23601014, 0x0000f500,
- 0x25789f10, 0x00008910, 0x6280960b, 0x000008a9, 0x0000212c, 0x0000f200,
- 0x0e403000, 0x00001980, 0x81408608, 0x00001283, 0xc000000c, 0x0000ec0b,
- 0xceb922ec, 0x0000200c, 0x00002374, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x00001eb0, 0x0000f400, 0x09000824, 0x00001090,
- 0xceb922ec, 0x0000a814, 0x81404608, 0x00001283, 0xc000000c, 0x0000ec0b,
- 0xceb92eec, 0x0000200c, 0x0000238f, 0x00007010, 0xffffffff, 0x00007f97,
- 0x00072825, 0x00001502, 0x00001eb0, 0x0000f400, 0x09400825, 0x00001090,
- 0xceb92eec, 0x0000a814, 0x000004e3, 0x0000e583, 0x0e00c713, 0x00002006,
- 0x84ff1fe3, 0x0000e100, 0x84e02404, 0x00004901, 0x04699416, 0x00008104,
- 0x00002057, 0x00007008, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x2209c800, 0x00007900, 0x00151b50, 0x00000980, 0x226ee800, 0x00007900,
- 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x23861014, 0x00007500, 0x1d788f13, 0x00000914,
- 0x62800010, 0x000009d0, 0x0e404000, 0x00009980, 0x2388109f, 0x00007100,
- 0xce789eec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072813, 0x00001502, 0x00001eb0, 0x0000f400, 0x04c00813, 0x00001090,
- 0xce789eec, 0x0000a814, 0x000004e3, 0x0000e583, 0x84ff1fe3, 0x00000900,
- 0x44e9ae04, 0x0000810e, 0x04795f34, 0x00000100, 0x00002064, 0x00007008,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2207a800, 0x0000f900,
- 0x00151b50, 0x00000980, 0x2269c000, 0x0000f900, 0x003be25c, 0x00000980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x23a11014, 0x00007500, 0x1d79a713, 0x00008914, 0xa2807800, 0x00006180,
- 0x2501582b, 0x00004900, 0x00002387, 0x0000f200, 0x0e403800, 0x00009980,
- 0x01400800, 0x00001981, 0x7680151c, 0x00004290, 0x50400408, 0x00008897,
- 0xfdc00408, 0x00007892, 0x59000000, 0x0000918f, 0x000038ec, 0x00007902,
- 0x02c00000, 0x00008704, 0xffffffff, 0x00007fa7, 0x0bc03c1f, 0x00006000,
- 0x0c003c13, 0x0000b000, 0x01e0fc13, 0x00001303, 0x87e02404, 0x00006110,
- 0x0c019307, 0x00006116, 0x01604408, 0x0000e109, 0x001a6807, 0x00006196,
- 0xd67a741f, 0x0000d014, 0x00383800, 0x00000000, 0x000058ec, 0x00007902,
- 0x01c00000, 0x00008704, 0x77c00405, 0x0000418a, 0x0041870c, 0x00000090,
- 0xa789fb05, 0x0000789b, 0x00c00001, 0x00008000, 0xa781870c, 0x0000788f,
- 0xd0c00000, 0x0000918e, 0x20402608, 0x0000f897, 0x09000000, 0x0000918f,
- 0x0c005c24, 0x00006000, 0x0bc05c13, 0x00003000, 0x01612413, 0x00001303,
- 0x04c046e3, 0x00006089, 0xc000100c, 0x00002413, 0x0228380a, 0x00009988,
- 0x000023d5, 0x00007010, 0x01e81000, 0x0000f900, 0x00020014, 0x00000980,
- 0x30e09807, 0x00006080, 0x04202008, 0x00003101, 0x20383cec, 0x0000d704,
- 0x00384000, 0x00000000, 0x000854ec, 0x00005784, 0x00000015, 0x00000680,
- 0x000058ec, 0x00007902, 0x01c00000, 0x00008704, 0xffffffff, 0x00007fa7,
- 0x0c005c25, 0x0000e000, 0x0bc05c13, 0x00003000, 0x01612c13, 0x00009303,
- 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0xc009fb05, 0x00001582,
- 0xc141870c, 0x00001283, 0xffffffff, 0x00007f86, 0x00001e9e, 0x00007018,
- 0x00001e9e, 0x0000f008, 0x0008001c, 0x0000ed87, 0x0020201c, 0x0000e886,
- 0x0900661c, 0x0000e802, 0x00001e9e, 0x0000f400, 0xa57a660a, 0x00005004,
- 0x00390800, 0x00008000, 0xa5b8e00a, 0x0000a884, 0xceb924ec, 0x00002084,
- 0xc720280c, 0x0000e803, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x09000824, 0x00001090, 0xceb924ec, 0x00002894, 0xa789fb05, 0x0000789b,
- 0x00c00001, 0x00008000, 0xa781870c, 0x0000788f, 0xd0c00000, 0x0000918e,
- 0x000038ec, 0x00007902, 0x02800000, 0x00000704, 0xffffffff, 0x00007fa7,
- 0x0bc03c25, 0x00006000, 0x0c003c13, 0x0000b000, 0x01e12c13, 0x00001303,
- 0x89602404, 0x00006110, 0x0c019307, 0x00006116, 0x01604408, 0x0000e109,
- 0x001a6807, 0x00006196, 0xd67a7425, 0x0000d014, 0x00383800, 0x00000000,
- 0x000050ec, 0x0000f902, 0x01c00000, 0x00008704, 0xd3c00405, 0x0000428b,
- 0xfa21870c, 0x0000088f, 0x43002608, 0x00007897, 0x39000000, 0x00009286,
- 0x0c00541f, 0x00006000, 0x0bc05413, 0x0000b000, 0x00001e9e, 0x0000f400,
- 0x0120fc13, 0x00001303, 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413,
- 0x84e02404, 0x00009900, 0xd6408413, 0x0000f902, 0x01c00000, 0x00000004,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x00172b07, 0x00007808,
- 0x00000000, 0x00000000, 0x00183a25, 0x00007810, 0x00000000, 0x00008020,
- 0x00103b29, 0x00007810, 0x00000000, 0x00000060, 0x7000802a, 0x0000780b,
- 0x00c00001, 0x00000010, 0x82400408, 0x00004988, 0x8649fb05, 0x000087b3,
- 0x01400000, 0x00009981, 0x40001508, 0x00006583, 0xc000080c, 0x0000a403,
- 0x007946ec, 0x0000570c, 0x00391000, 0x00008000, 0x117946ec, 0x0000570c,
- 0x00391000, 0x00008000, 0x00002458, 0x0000f010, 0x00000408, 0x0000e583,
- 0xf0000811, 0x00002401, 0x227946ec, 0x0000d704, 0x00388800, 0x00008000,
- 0x04004000, 0x0000f900, 0x0005001a, 0x00000980, 0x200004ec, 0x00005784,
- 0x00388016, 0x00002a00, 0x01c00000, 0x00007900, 0x0015001e, 0x00000980,
- 0x8419532a, 0x00006108, 0x30e84007, 0x0000e080, 0x20383cec, 0x0000d704,
- 0x00081815, 0x00000480, 0xc4194b29, 0x0000e108, 0x01e9800c, 0x0000c980,
- 0x00284007, 0x00006804, 0x20383cec, 0x0000d704, 0x00199819, 0x00000080,
- 0x01f0380c, 0x00001980, 0x0000244c, 0x00007410, 0x04202007, 0x0000e901,
- 0x00383cec, 0x00005704, 0x00000000, 0x00008080, 0x01c00000, 0x00007900,
- 0x00040000, 0x00000980, 0x00115007, 0x00006986, 0x00008807, 0x00006907,
- 0x117886ec, 0x00005704, 0x00383800, 0x00000000, 0xf0000807, 0x0000ec01,
- 0x227886ec, 0x00005704, 0x00383800, 0x00000000, 0x04000000, 0x00007900,
- 0x0015001e, 0x00000980, 0x01e90008, 0x0000e180, 0x30e84010, 0x0000e080,
- 0x200044ec, 0x0000d784, 0x00388012, 0x00000a00, 0x00284007, 0x00006804,
- 0x20383cec, 0x0000d704, 0x00191811, 0x00000080, 0x04390000, 0x00007900,
- 0x00010010, 0x00008980, 0x01c03800, 0x0000f900, 0x0002001e, 0x00000980,
- 0x04202007, 0x00006101, 0x00284010, 0x0000b004, 0x20383cec, 0x0000d704,
- 0x00388000, 0x00000000, 0x01f01000, 0x0000f900, 0x00020018, 0x00000980,
- 0x094046e3, 0x00001081, 0x30e12807, 0x0000e880, 0x20383cec, 0x0000d704,
- 0x0010a019, 0x00008680, 0xcef8faec, 0x0000a004, 0xffffffff, 0x00007fa7,
- 0x0007281f, 0x00001502, 0x00001dd0, 0x0000f400, 0x07c0081f, 0x00001090,
- 0xcef8faec, 0x0000a814, 0x007946ec, 0x0000d704, 0x00391000, 0x00008000,
- 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x04281000, 0x0000f900,
- 0x00020014, 0x00000980, 0x00000408, 0x0000e583, 0x07c046e3, 0x00008081,
- 0x30e0f810, 0x0000e880, 0x20081cec, 0x0000d784, 0x00388015, 0x00000400,
- 0x0000247a, 0x0000f010, 0x01c00000, 0x00007900, 0x00040000, 0x00000980,
- 0x00115007, 0x0000e186, 0x00195010, 0x00003186, 0x00008807, 0x0000e107,
- 0x04194810, 0x00003187, 0x117886ec, 0x00005704, 0x00383800, 0x00000000,
- 0xf0000807, 0x0000ec01, 0x227886ec, 0x00005704, 0x00383800, 0x00000000,
- 0x04008000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784,
- 0x00388012, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811, 0x00000080,
- 0x01c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202007, 0x0000e901,
- 0x20383cec, 0x0000d704, 0x00191011, 0x00000280, 0x40000d08, 0x00009583,
- 0x01e8380a, 0x00009990, 0x04202007, 0x00006911, 0x0000249f, 0x00007008,
- 0x00001dd0, 0x0000f200, 0x20383cec, 0x0000d704, 0x00095019, 0x00000680,
- 0x000004e3, 0x0000e583, 0x04ff1fe3, 0x00000901, 0x84fa7304, 0x00000104,
- 0xc4da6b4d, 0x00006100, 0xddb00600, 0x00004911, 0x0000229e, 0x0000f008,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x220f0800, 0x00007900,
- 0x003884ca, 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980,
- 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x1df89f02, 0x00008714,
- 0x24931014, 0x00007500, 0x2540074e, 0x00008990, 0xa2812000, 0x00001980,
- 0x2495109f, 0x00007300, 0x0e40a000, 0x00001980, 0xce78feec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x0007281f, 0x00001502,
- 0x07c0081f, 0x00001090, 0xce78feec, 0x0000a814, 0xa789fb05, 0x0000789b,
- 0x00c00001, 0x00008000, 0xa781870c, 0x0000788f, 0xd0c00000, 0x0000918e,
- 0x81c002ec, 0x00005684, 0x00400000, 0x00008000, 0x01c00000, 0x0000e180,
- 0x00109010, 0x00006186, 0x04108807, 0x00006187, 0x04189010, 0x0000b187,
- 0x81f884ec, 0x0000d604, 0x00383800, 0x00000000, 0xffffffff, 0x00007ff7,
- 0xffffffff, 0x00007ff7, 0x81f83aec, 0x0000a684, 0xffffffff, 0x00007fa7,
- 0x89001407, 0x00009880, 0x4b40fe24, 0x00007902, 0x06c00000, 0x00008004,
- 0x4b80d024, 0x00007902, 0x04c00000, 0x00000004, 0x4b809224, 0x00007902,
- 0x04400000, 0x00008004, 0x4b808424, 0x0000f902, 0x01c00000, 0x00000004,
- 0x0928380a, 0x00009980, 0x04202024, 0x00006901, 0x200384ec, 0x0000d784,
- 0x0039201a, 0x00000000, 0x0038fcec, 0x00005704, 0x0038d800, 0x00008000,
- 0x0038d4ec, 0x00005704, 0x00389800, 0x00000000, 0x003894ec, 0x0000d704,
- 0x00388800, 0x00008000, 0x003884ec, 0x00005704, 0x00383800, 0x00000000,
- 0x0430d800, 0x00007900, 0x00020018, 0x00000980, 0x00001dd0, 0x0000f400,
- 0x200924ec, 0x0000d784, 0x00388015, 0x00000400, 0x000994ec, 0x0000d784,
- 0x00000019, 0x00008280, 0xceb92cec, 0x00002004, 0xc720280c, 0x0000e803,
- 0xffffffff, 0x00007f97, 0x00072825, 0x00001502, 0x00001e9e, 0x0000f400,
- 0x09400825, 0x00001090, 0xceb92cec, 0x00002814, 0x0c805c1f, 0x00006802,
- 0x01400c1f, 0x00001283, 0x81420608, 0x00001283, 0xffffffff, 0x00007f86,
- 0x00001d83, 0x0000f008, 0x00001d97, 0x0000f008, 0x000004e3, 0x0000e583,
- 0x04000000, 0x00000980, 0x845822e3, 0x00008106, 0x84626933, 0x00000100,
- 0x000020ea, 0x00007008, 0x22800000, 0x00007900, 0x00014000, 0x00008980,
- 0x22039800, 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900,
- 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x1d7a6711, 0x00000914, 0x24e61014, 0x0000f500,
- 0x25009f10, 0x000088a9, 0xa2a05c0b, 0x00001901, 0x24e8109f, 0x00007300,
- 0x0e409800, 0x00009980, 0xce78feec, 0x0000a004, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x0007281f, 0x00001502, 0x07c0081f, 0x00001090,
- 0xce78feec, 0x0000a814, 0x42c0150d, 0x0000f88f, 0xc8c00000, 0x00000e8b,
- 0x000004e3, 0x0000e583, 0x04000000, 0x00000980, 0x845822e3, 0x00008106,
- 0x84626933, 0x00000100, 0x000020ea, 0x00007008, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980,
- 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x25021014, 0x00007500,
- 0x1d7a6711, 0x00000914, 0xa2809800, 0x0000e180, 0x25008010, 0x00004900,
- 0x2504109f, 0x00007300, 0x0e409800, 0x00009980, 0xce78feec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x0007281f, 0x00001502,
- 0x07c0081f, 0x00001090, 0xce78feec, 0x0000a814, 0x42c0150d, 0x0000f88f,
- 0xc8c00000, 0x00000e8b, 0x000004e3, 0x0000e583, 0x04ff1fe3, 0x00000901,
- 0x84fa7304, 0x00000104, 0xc4da6b4d, 0x00001900, 0x00002517, 0x0000f010,
- 0x02800000, 0x00006180, 0x01000020, 0x00004980, 0x000022a3, 0x00007400,
- 0x03d55800, 0x0000f900, 0x003884cc, 0x00000980, 0x81012000, 0x00001980,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22155800, 0x0000f900,
- 0x003884cc, 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x25231014, 0x00007500, 0x1d7a7713, 0x00000914, 0x62800024, 0x000089d0,
- 0x2525109f, 0x00007300, 0x0e40a000, 0x00001980, 0xce7926ec, 0x00002004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x00001e9e, 0x0000f400, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814,
- 0x81408608, 0x00001283, 0xc000000c, 0x0000ec0b, 0xceb922ec, 0x0000200c,
- 0x00002547, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x00001cff, 0x0000f400, 0x09000824, 0x00001090, 0xceb922ec, 0x0000a814,
- 0x41c20518, 0x0000e283, 0x0c40c41f, 0x00002000, 0x0900141f, 0x00001081,
- 0x09001000, 0x0000e191, 0x41212044, 0x00006002, 0x09000800, 0x00009989,
- 0x00001ed6, 0x0000f400, 0xffffffff, 0x00007f86, 0xe7a12049, 0x00006803,
- 0x81404608, 0x00001283, 0xc000000c, 0x0000ec0b, 0xceb89eec, 0x0000200c,
- 0x00002562, 0x00007010, 0xffffffff, 0x00007f97, 0x00072813, 0x00001502,
- 0x00001cff, 0x0000f400, 0x04c00813, 0x00001090, 0xceb89eec, 0x0000a814,
- 0x000004e3, 0x0000e583, 0x0e00c713, 0x00002006, 0x84ff1fe3, 0x0000e100,
- 0x84e02404, 0x00004901, 0x04699416, 0x00008104, 0x00002057, 0x00007008,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2209c800, 0x00007900,
- 0x00151b50, 0x00000980, 0x226ee800, 0x00007900, 0x000e1256, 0x00000980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x25591014, 0x0000f500, 0x1d788f13, 0x00000914, 0x62800010, 0x000009d0,
- 0x0e404000, 0x00009980, 0x255b109f, 0x0000f100, 0xce792eec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x00001cff, 0x0000f400, 0x09400825, 0x00001090, 0xce792eec, 0x0000a814,
- 0x000004e3, 0x0000e583, 0x84ff1fe3, 0x00000900, 0x44e9ae04, 0x0000810e,
- 0x04795f34, 0x00000100, 0x00002064, 0x00007008, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980,
- 0x2269c000, 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x25741014, 0x0000f500,
- 0x1d79a713, 0x00008914, 0xa2807800, 0x00006180, 0x2501582b, 0x00004900,
- 0x0000255a, 0x0000f200, 0x0e403800, 0x00009980, 0x0e424421, 0x0000e000,
- 0x0f80ec26, 0x0000b000, 0x00000421, 0x00006583, 0x01610c26, 0x00000301,
- 0x08025424, 0x0000e894, 0x8b41be07, 0x0000f902, 0x09c00000, 0x00008004,
- 0x00002582, 0x00007210, 0xc1a12220, 0x0000e110, 0x08024407, 0x0000a08c,
- 0xffffffff, 0x00007f86, 0xc1a03a20, 0x00001100, 0x0d41bc0b, 0x00006800,
- 0x97800635, 0x00007893, 0x01000001, 0x00000000, 0x8ec0040b, 0x00007893,
- 0x01000001, 0x00000000, 0xe0c01437, 0x0000c390, 0x0041bd06, 0x00000018,
- 0x00860537, 0x0000458f, 0x31c08535, 0x00008896, 0xd8810627, 0x0000f897,
- 0x89000000, 0x00001387, 0x04c00000, 0x0000e180, 0x6601080d, 0x0000e000,
- 0x0300080c, 0x00006380, 0x7601080d, 0x0000a000, 0x04000000, 0x000081c4,
- 0x04800000, 0x00006180, 0x02110220, 0x00004900, 0xc4e0e41c, 0x0000e101,
- 0x02c00c1c, 0x0000c880, 0x00005808, 0x0000f810, 0x00000000, 0x00000000,
- 0x83420521, 0x0000788f, 0x01000001, 0x00000060, 0x7ec0150d, 0x0000f897,
- 0x01000001, 0x00008080, 0xffffffff, 0x00007f86, 0x00000421, 0x00009583,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x00002606, 0x0000f010,
- 0x00000405, 0x00006583, 0x11000000, 0x00008980, 0x0ac0a014, 0x0000e100,
- 0x7140c044, 0x0000e000, 0x0b08b415, 0x0000830a, 0x0000271b, 0x0000f210,
- 0x11800000, 0x000084dc, 0x00000426, 0x0000e583, 0x11004044, 0x00000380,
- 0x1140d01a, 0x00006100, 0x80005844, 0x0000e406, 0xa740c044, 0x0000e800,
- 0x000025f0, 0x00007210, 0xd110da1b, 0x00009900, 0x0200141d, 0x00006281,
- 0x40000844, 0x0000a402, 0x02213408, 0x0000e303, 0x91972ae5, 0x00000900,
- 0x0c40c424, 0x0000e010, 0x02000049, 0x0000b597, 0x09001424, 0x0000e091,
- 0x8000e048, 0x00002092, 0x41212044, 0x0000e012, 0x0000e049, 0x0000b193,
- 0x00001418, 0x0000f894, 0x00000000, 0x00000000, 0x6fc07d18, 0x0000f88f,
- 0x01000001, 0x00000060, 0x01004537, 0x0000c58c, 0x80800609, 0x00000e94,
- 0x81801635, 0x00009283, 0x8200131b, 0x00009890, 0x86504219, 0x00006110,
- 0xc658ca08, 0x00008010, 0x42004537, 0x00009283, 0x000026a4, 0x00007013,
- 0x0d41bc04, 0x0000e000, 0x0801ac07, 0x00003002, 0x09006408, 0x00006802,
- 0xb5800408, 0x0000788b, 0x01000001, 0x00000000, 0x00000404, 0x00007888,
- 0x00000000, 0x00000000, 0x00000c08, 0x0000788a, 0x00000000, 0x00008020,
- 0x14401407, 0x00004a89, 0x35201407, 0x00009595, 0xffffffff, 0x00007f86,
- 0x56c04006, 0x0000f902, 0x01c00000, 0x00008000, 0x56805a06, 0x0000f902,
- 0x02800000, 0x00000000, 0xffffffff, 0x00007f97, 0x0200431b, 0x00001002,
- 0x02c05a19, 0x0000e002, 0x01c00007, 0x00000084, 0x00000405, 0x00006583,
- 0x0280000a, 0x00000084, 0x56f84006, 0x00005000, 0x00383800, 0x00000000,
- 0x56b85a06, 0x00005000, 0x00385000, 0x00008000, 0x0000268a, 0x00007010,
- 0x01c00000, 0x00007900, 0x001f0000, 0x00000980, 0x41810518, 0x00006283,
- 0x0018c807, 0x0000a186, 0x20383eec, 0x00005600, 0x0038b800, 0x00008000,
- 0x01800020, 0x00006188, 0x08001a04, 0x0000e10e, 0x0000273d, 0x0000f010,
- 0x00102006, 0x00006984, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x001018ec, 0x00005780, 0x00d07280, 0x000081c0, 0x00908eec, 0x00005f80,
- 0x00007000, 0x00008084, 0x02000c1d, 0x00001283, 0x09000800, 0x0000e189,
- 0x09001000, 0x0000c991, 0xffffffff, 0x00007f86, 0x09003747, 0x00006281,
- 0xe3a12048, 0x0000a002, 0x00001424, 0x00001583, 0x0c40c424, 0x00006808,
- 0x000025af, 0x0000f400, 0x09001424, 0x00001089, 0x96612047, 0x0000680b,
- 0x87f71ee3, 0x0000e100, 0x0cc0b40b, 0x00006004, 0x00001c0b, 0x0000e583,
- 0x09001c0b, 0x00008281, 0x5178441f, 0x0000a018, 0x5178441f, 0x000020b0,
- 0x00000421, 0x00006583, 0x02c01c24, 0x00008881, 0x000025a1, 0x0000f40b,
- 0x09205808, 0x00009700, 0xd7612014, 0x0000e805, 0x09006736, 0x00009281,
- 0x00002424, 0x00001583, 0x000025a1, 0x00007400, 0x0a02604c, 0x00006108,
- 0x8a526a4d, 0x00004908, 0x0a82704e, 0x0000e108, 0xca5a6b4d, 0x0000c908,
- 0xce7926ec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xce7926ec, 0x0000a894,
- 0x6700150d, 0x0000788f, 0xd9000000, 0x0000128f, 0x0c81bc24, 0x0000e802,
- 0x02001424, 0x00001283, 0x03c08eec, 0x00007912, 0x04000000, 0x00008000,
- 0x040058ec, 0x00007912, 0x02000000, 0x00008000, 0x0000258d, 0x0000f008,
- 0x09119a33, 0x00009900, 0x00119811, 0x00007808, 0x00000000, 0x00000000,
- 0x00008024, 0x00007808, 0x00000000, 0x00008020, 0x00005824, 0x00007808,
- 0x00000000, 0x00000060, 0x63404024, 0x0000f813, 0x01000001, 0x00008010,
- 0x33420627, 0x00007896, 0x01400001, 0x00000080, 0x0300080c, 0x00006380,
- 0x6601080d, 0x00002000, 0xceb926ec, 0x0000a084, 0x04c00000, 0x0000e180,
- 0x7601080d, 0x00006000, 0x04000000, 0x0000e180, 0xc000000c, 0x0000e403,
- 0x04400000, 0x000001c8, 0x00072824, 0x00006502, 0x02110220, 0x00008900,
- 0x09000824, 0x0000e090, 0x02c00c1c, 0x00000880, 0xceb926ec, 0x0000a894,
- 0xc4e0e41c, 0x00009901, 0x00005808, 0x0000f810, 0x00000000, 0x00000000,
- 0x83420521, 0x0000788f, 0x01000001, 0x00000060, 0x7ec0150d, 0x0000f897,
- 0xe1000000, 0x0000928c, 0x09400000, 0x00007900, 0x00040000, 0x00000980,
- 0x00000421, 0x00006583, 0x0400b025, 0x00002107, 0x0a01b523, 0x0000e012,
- 0x0801ad23, 0x0000300a, 0x89526a4d, 0x00006110, 0x01c2604c, 0x0000c910,
- 0x89514a29, 0x00006108, 0x01c14028, 0x0000c908, 0xc201870c, 0x00006283,
- 0x0800b208, 0x00002106, 0xc2400000, 0x0000e181, 0x04003807, 0x0000c910,
- 0x02c12825, 0x00009910, 0x0000265c, 0x0000f008, 0x44408537, 0x00001283,
- 0xc2400800, 0x00009989, 0x00002997, 0x0000f011, 0xc009fb05, 0x00001582,
- 0x00002809, 0x0000f01b, 0xa540960a, 0x0000f902, 0x04400000, 0x00008004,
- 0xa5b8400a, 0x00002084, 0x82400000, 0x00001981, 0xffffffff, 0x00007f86,
- 0x00003812, 0x00009502, 0x00012811, 0x00009502, 0x00202408, 0x00009503,
- 0x0000280a, 0x00007010, 0x0000280a, 0x00007010, 0x0000280a, 0x00007010,
- 0xc730400c, 0x0000e803, 0x00002587, 0x0000f200, 0x82400800, 0x00009981,
- 0x80040635, 0x0000e583, 0xc3f1ae35, 0x00008901, 0x0931ae35, 0x0000e111,
- 0xc3c00000, 0x00004989, 0x00002585, 0x0000f009, 0x0203e824, 0x00009282,
- 0x09007d18, 0x00009289, 0x000027b5, 0x00007011, 0x2ba00c24, 0x0000c289,
- 0xd4401424, 0x0000098c, 0xefc08627, 0x0000f897, 0x69000000, 0x0000938d,
- 0x00000421, 0x00006583, 0x85999332, 0x00000900, 0x8591b236, 0x00006110,
- 0x4340150d, 0x0000c381, 0x61c0040b, 0x0000f88b, 0xd9000000, 0x00001381,
- 0x56c0a806, 0x0000f902, 0x05000000, 0x00000000, 0x56804206, 0x0000f902,
- 0x01c00000, 0x00008000, 0xe380e209, 0x00007902, 0x06800000, 0x00000004,
- 0xe3405c09, 0x00007902, 0x02800000, 0x00008004, 0x0540ab1b, 0x00001002,
- 0x02004219, 0x0000e002, 0x05000014, 0x00000084, 0x0700e31b, 0x0000e002,
- 0x01c00007, 0x00000084, 0x02c05a19, 0x0000e002, 0x0680001a, 0x00000084,
- 0x00000405, 0x00006583, 0x0280000a, 0x00000084, 0x56f8a806, 0x00005000,
- 0x0038a000, 0x00008000, 0x56b84206, 0x00005000, 0x00383800, 0x00000000,
- 0x000025e0, 0x0000f408, 0xe3b8e209, 0x00005004, 0x0038d000, 0x00000000,
- 0xe3785c09, 0x00005004, 0x00385000, 0x00008000, 0x0c825c08, 0x0000e802,
- 0x89204408, 0x00001900, 0x80001224, 0x00001582, 0x89003209, 0x00006088,
- 0x87c04a09, 0x00008088, 0x00002695, 0x00007009, 0x80001a24, 0x00009582,
- 0x87c05209, 0x0000e088, 0x89003a09, 0x00008088, 0x89004209, 0x0000e090,
- 0x87c05a09, 0x00000090, 0xffffffff, 0x00007f86, 0xe3403c1f, 0x0000f902,
- 0x01800000, 0x00008004, 0xe3404c24, 0x0000f902, 0x02000000, 0x00000004,
- 0xffffffff, 0x00007f97, 0x01c03b1b, 0x00001002, 0x02404a19, 0x0000e002,
- 0x01800006, 0x00000084, 0x02000008, 0x00009084, 0x000025e0, 0x00007400,
- 0xe3783c1f, 0x0000d004, 0x00383000, 0x00008000, 0xe3784c24, 0x0000d004,
- 0x00384000, 0x00000000, 0x80000609, 0x00009583, 0x000025c5, 0x0000f013,
- 0x81800800, 0x00009981, 0x1f601523, 0x00004291, 0x56400709, 0x0000098d,
- 0x5b800709, 0x0000788a, 0x69400000, 0x00009488, 0x000058ec, 0x00007902,
- 0x02000000, 0x00008704, 0xd6600606, 0x0000418a, 0x0041870c, 0x00000090,
- 0xe2c9fb05, 0x0000459a, 0x7161870c, 0x00000288, 0x51802627, 0x0000f896,
- 0xc9400000, 0x00009488, 0x0c005c24, 0x00006000, 0x0bc05c1f, 0x00003000,
- 0x0221241f, 0x00009303, 0x07c046e3, 0x00006089, 0xc000100c, 0x00002413,
- 0x02e8380a, 0x00009988, 0x000026ca, 0x0000f010, 0x02281000, 0x0000f900,
- 0x00020014, 0x00000980, 0x30e0f808, 0x00006080, 0x0420200b, 0x00003101,
- 0x203844ec, 0x0000d704, 0x00385800, 0x00000000, 0x000854ec, 0x00005784,
- 0x00000015, 0x00000680, 0x000058ec, 0x00007902, 0x02000000, 0x00008704,
- 0xffffffff, 0x00007fa7, 0x0c005c24, 0x00006000, 0x0bc05c1f, 0x00003000,
- 0x0221241f, 0x00009303, 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413,
- 0xc009fb05, 0x00001582, 0xc141870c, 0x00001283, 0xffffffff, 0x00007f86,
- 0x000025c5, 0x00007018, 0x000025c5, 0x0000f008, 0x00080023, 0x0000ed87,
- 0x00202023, 0x0000e886, 0x09006623, 0x0000e802, 0x000025c5, 0x0000f400,
- 0xa5783e0a, 0x00005004, 0x00392800, 0x00000000, 0xa5b9180a, 0x0000a884,
- 0x82003206, 0x00009080, 0x56803a08, 0x00007902, 0x01800000, 0x00000000,
- 0xffffffff, 0x00007fa7, 0x01c03b1b, 0x00001002, 0x00000405, 0x00006583,
- 0x01800006, 0x00000084, 0x56b83a08, 0x0000d000, 0x00383000, 0x00008000,
- 0x0c825c24, 0x0000e812, 0x000025e0, 0x00007008, 0x82e12424, 0x00009900,
- 0x8000120b, 0x00009582, 0x82c06209, 0x00001088, 0x000026e8, 0x00007009,
- 0x80001a0b, 0x00001582, 0x82c07209, 0x00006090, 0x82c06a09, 0x00000088,
- 0xffffffff, 0x00007f86, 0xe3403c0b, 0x0000f902, 0x01800000, 0x00008004,
- 0xffffffff, 0x00007fa7, 0x01c03b1b, 0x00001002, 0x000025e0, 0x00007400,
- 0x01800006, 0x00009084, 0xe3783c0b, 0x0000d004, 0x00383000, 0x00008000,
- 0xcef920ec, 0x00002084, 0x0300080c, 0x00006380, 0x6601080d, 0x00002000,
- 0x04c00000, 0x0000e180, 0x7601080d, 0x00006000, 0x04000000, 0x0000e180,
- 0xc000000c, 0x0000e403, 0x00072824, 0x00006502, 0x04400000, 0x00008980,
- 0x09000824, 0x0000e090, 0x04800000, 0x00008980, 0xcef920ec, 0x00002894,
- 0x02110220, 0x00006100, 0x02c00c1c, 0x0000c880, 0xc4e0e41c, 0x00009901,
- 0x00005808, 0x0000f810, 0x00000000, 0x00000000, 0x83420521, 0x0000788f,
- 0x01000001, 0x00000060, 0x7ec0150d, 0x0000f897, 0xe1000000, 0x0000928c,
- 0xceb920ec, 0x0000a084, 0x0300080c, 0x00006380, 0x6601080d, 0x00002000,
- 0x04c00000, 0x0000e180, 0x7601080d, 0x00006000, 0x04000000, 0x0000e180,
- 0xc000000c, 0x0000e403, 0x00072824, 0x00006502, 0x04400000, 0x00008980,
- 0x09000824, 0x0000e090, 0x04800000, 0x00008980, 0xceb920ec, 0x0000a894,
- 0x02110220, 0x00006100, 0x02c00c1c, 0x0000c880, 0xc4e0e41c, 0x00009901,
- 0x00005808, 0x0000f810, 0x00000000, 0x00000000, 0x83420521, 0x0000788f,
- 0x01000001, 0x00000060, 0x7ec0150d, 0x0000f897, 0xe1000000, 0x0000928c,
- 0x00000418, 0x00009583, 0x00000426, 0x0000e583, 0x90000847, 0x0000a44b,
- 0x1140d01a, 0x0000e108, 0x11004044, 0x00004388, 0xb0000847, 0x0000e409,
- 0x80005844, 0x0000340e, 0x0000279b, 0x0000f010, 0xa740c044, 0x00006000,
- 0xe0001847, 0x00003403, 0xd110da1b, 0x00009900, 0x6bc00426, 0x0000f88b,
- 0x81000000, 0x0000928f, 0x00000c07, 0x00009583, 0x87c02206, 0x00006088,
- 0x87c02a06, 0x00008090, 0x89001206, 0x0000e090, 0x89000a06, 0x00008088,
- 0x5680521f, 0x0000f902, 0x02000000, 0x00008000, 0x56803a24, 0x0000f902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007f97, 0x0280531b, 0x00001002,
- 0x01c03a19, 0x0000e002, 0x02000008, 0x00000084, 0x00000405, 0x00006583,
- 0x01800006, 0x00000084, 0x56b8521f, 0x00005000, 0x00384000, 0x00000000,
- 0x56b83a24, 0x00005000, 0x00383000, 0x00008000, 0x000025e0, 0x00007008,
- 0x0000268a, 0x0000f000, 0x41400d05, 0x00009283, 0x15001000, 0x00007910,
- 0x00008000, 0x00000980, 0x15580800, 0x0000f910, 0x00044040, 0x00000980,
- 0x00002750, 0x00007008, 0x15c00000, 0x000085e8, 0x15801002, 0x0000e100,
- 0x00001857, 0x00006106, 0x16020000, 0x0000f900, 0x00040000, 0x00000980,
- 0x001018ec, 0x00005780, 0x00d07280, 0x000081c0, 0x16420000, 0x0000e180,
- 0xc0001857, 0x0000e006, 0x16e12000, 0x000080f2, 0x56a8c416, 0x00008528,
- 0x00908eec, 0x00005f80, 0x00d07540, 0x00000184, 0x01800020, 0x0000e180,
- 0x08001a1f, 0x00006106, 0x15d00002, 0x0000e180, 0x0010f806, 0x0000e184,
- 0x15800000, 0x00006180, 0x00282057, 0x0000e080, 0x733830ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x8440b057, 0x0000e000, 0x00182056, 0x00003100,
- 0x001018ec, 0x00005780, 0x00d07280, 0x000081c0, 0x15083804, 0x00006180,
- 0x0000b057, 0x0000e085, 0x1560b800, 0x000000f2, 0xd598c318, 0x00009900,
- 0x00908eec, 0x00005f80, 0x00d07540, 0x000000c4, 0x000004e3, 0x0000e583,
- 0x04400000, 0x00008980, 0x02c00000, 0x0000e180, 0x08024611, 0x0000e084,
- 0x84283037, 0x00000100, 0x00002777, 0x0000f410, 0x845822e3, 0x00008106,
- 0x82d10220, 0x0000e100, 0xc2700600, 0x0000c909, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03e2a000, 0x0000f900, 0x00151b4e, 0x00000980,
- 0x04907800, 0x00007900, 0x0032d3fc, 0x00008980, 0x82680500, 0x0000e101,
- 0x08001a09, 0x0000e106, 0x03388f02, 0x0000001c, 0x27770fe7, 0x0000f500,
- 0x01b85f10, 0x00000028, 0x81009000, 0x00001980, 0x22800000, 0x00007900,
- 0x00014000, 0x00008980, 0x2222a000, 0x0000f900, 0x00151b4e, 0x00000980,
- 0x22507800, 0x0000f900, 0x0032d3fc, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1d788711, 0x00000914,
- 0x27841014, 0x00007500, 0x2500970b, 0x000008a9, 0xa2a1bc37, 0x00001901,
- 0x2786109f, 0x0000f300, 0x0e403000, 0x00001980, 0xce7926ec, 0x00002004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x04c00000, 0x0000e180,
- 0x6601080d, 0x0000e000, 0x0300080c, 0x00006380, 0x7601080d, 0x0000a000,
- 0x04000000, 0x000081c4, 0x04800000, 0x00006180, 0x02110220, 0x00004900,
- 0xc4e0e41c, 0x0000e101, 0x02c00c1c, 0x0000c880, 0x00005808, 0x0000f810,
- 0x00000000, 0x00000000, 0x83420521, 0x0000788f, 0x01000001, 0x00000060,
- 0x7ec0150d, 0x0000f897, 0xe1000000, 0x0000928c, 0x11004044, 0x00006380,
- 0x12840000, 0x00008980, 0xe240e84b, 0x00006002, 0x80005844, 0x0000b406,
- 0x0002404a, 0x0000e084, 0xb0000847, 0x00003401, 0xa740c044, 0x00006000,
- 0x00040048, 0x0000b486, 0x4000051d, 0x00006583, 0x0018e84b, 0x00002182,
- 0x0028e848, 0x00006084, 0xe0001847, 0x00003403, 0x1140d01a, 0x00006100,
- 0x0740e835, 0x00006012, 0x5288f11e, 0x0000042a, 0xd110da1b, 0x00009900,
- 0x6bc00426, 0x0000f88b, 0x81000000, 0x0000928f, 0xceb922ec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x09000824, 0x00001090, 0xceb922ec, 0x0000a814, 0x61c0040b, 0x0000f88b,
- 0xd9000000, 0x00001381, 0x82004627, 0x00001283, 0xc000000c, 0x0000ec0b,
- 0xceb926ec, 0x0000a00c, 0x000027d2, 0x00007010, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb926ec, 0x00002814,
- 0x61c0040b, 0x0000f88b, 0xd9000000, 0x00001381, 0x000004e3, 0x0000e583,
- 0x0e00c713, 0x00002006, 0x84ff1fe3, 0x0000e100, 0x84e02404, 0x00004901,
- 0x04699416, 0x00008104, 0x000027e2, 0x00007010, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03c9c800, 0x00007900, 0x00151b50, 0x00000980,
- 0x04aee800, 0x0000f900, 0x000e1256, 0x00000980, 0x02800000, 0x00006180,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x27d20fe7, 0x0000f500,
- 0x03389f02, 0x0000801c, 0x81008000, 0x0000e180, 0x01808811, 0x0000c900,
- 0x000004e3, 0x0000e583, 0x84ff1fe3, 0x00000900, 0x44e9ae04, 0x0000810e,
- 0x01000000, 0x0000f908, 0x00014040, 0x00000980, 0x000027f8, 0x0000f010,
- 0x03c7a800, 0x0000f900, 0x00151b50, 0x00000980, 0x04a9c000, 0x00007900,
- 0x003be25c, 0x00000980, 0x81007800, 0x00006180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x27e20fe7, 0x0000f500, 0x03389f02, 0x0000801c,
- 0x02b9a72b, 0x00008018, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x2209c800, 0x00007900, 0x00151b50, 0x00000980, 0x226ee800, 0x00007900,
- 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x27ee1014, 0x00007500, 0x1d788f13, 0x00000914,
- 0x62800010, 0x000009d0, 0x0e404000, 0x00009980, 0x27f0109f, 0x0000f100,
- 0xce7926ec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814,
- 0x61c0040b, 0x0000f88b, 0xd9000000, 0x00001381, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980,
- 0x2269c000, 0x0000f900, 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x28051014, 0x00007500,
- 0x1d79a713, 0x00008914, 0xa2807800, 0x00006180, 0x2501582b, 0x00004900,
- 0x000027ef, 0x0000f200, 0x0e403800, 0x00009980, 0xc0000709, 0x00009583,
- 0x0000264e, 0x0000f013, 0x82400000, 0x00001981, 0x40001523, 0x00006583,
- 0xc000080c, 0x0000a403, 0x00783eec, 0x0000d70c, 0x00392800, 0x00000000,
- 0x11783eec, 0x0000d70c, 0x00392800, 0x00000000, 0x0000284f, 0x0000f010,
- 0xc0000709, 0x00006583, 0xf000080b, 0x0000a401, 0x22783eec, 0x00005704,
- 0x00385800, 0x00000000, 0x04004000, 0x0000f900, 0x0005001a, 0x00000980,
- 0x200004ec, 0x00005784, 0x00388016, 0x00002a00, 0x02000000, 0x00007900,
- 0x0015001e, 0x00000980, 0x30e91808, 0x00006880, 0x203844ec, 0x0000d704,
- 0x00081815, 0x00000480, 0x0229800c, 0x00009980, 0x00291808, 0x00006804,
- 0x203844ec, 0x0000d704, 0x00199819, 0x00000080, 0x0230380c, 0x00001980,
- 0x00002843, 0x00007410, 0x04202008, 0x0000e901, 0x003844ec, 0x00005704,
- 0x00000000, 0x00008080, 0x02000000, 0x00007900, 0x00040000, 0x00000980,
- 0x00000421, 0x00009583, 0x00127008, 0x0000e196, 0x001a7010, 0x00003196,
- 0x89194b29, 0x0000e108, 0x891a6b4d, 0x0000c910, 0x00195010, 0x0000e18e,
- 0x00115008, 0x0000318e, 0xffffffff, 0x00007f86, 0x04112010, 0x00006187,
- 0x00005808, 0x00003107, 0x117886ec, 0x00005704, 0x00384000, 0x00000000,
- 0xf0000808, 0x0000ec01, 0x227886ec, 0x00005704, 0x00384000, 0x00000000,
- 0x02c08000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784,
- 0x00385812, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811, 0x00000080,
- 0x02003800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202008, 0x0000e901,
- 0x203844ec, 0x0000d704, 0x00191011, 0x00000280, 0x02301000, 0x0000f900,
- 0x00020018, 0x00000980, 0x02c046e3, 0x00001081, 0x30e05808, 0x0000e880,
- 0x203844ec, 0x0000d704, 0x0010a019, 0x00008680, 0xcef922ec, 0x00002004,
- 0xffffffff, 0x00007fa7, 0x00072824, 0x00009502, 0x00002587, 0x0000f400,
- 0x09000824, 0x00001090, 0xcef922ec, 0x00002814, 0x00783eec, 0x00005704,
- 0x00392800, 0x00000000, 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80,
- 0x04681000, 0x00007900, 0x00020014, 0x00000980, 0xc0000709, 0x00006583,
- 0x090046e3, 0x00000081, 0x30e12011, 0x0000e880, 0x20081cec, 0x0000d784,
- 0x00388815, 0x00008400, 0x00002877, 0x00007010, 0x02000000, 0x00007900,
- 0x00040000, 0x00000980, 0x00000421, 0x00009583, 0x00127008, 0x0000e196,
- 0x001a7011, 0x0000b196, 0x89194b29, 0x0000e108, 0x891a6b4d, 0x0000c910,
- 0x00195011, 0x0000618e, 0x00115008, 0x0000318e, 0xffffffff, 0x00007f86,
- 0x04112011, 0x0000e187, 0x00005808, 0x00003107, 0x11788eec, 0x0000d704,
- 0x00384000, 0x00000000, 0xf0000808, 0x0000ec01, 0x22788eec, 0x0000d704,
- 0x00384000, 0x00000000, 0x04408000, 0x00007900, 0x0015001e, 0x00000980,
- 0x200044ec, 0x0000d784, 0x00388812, 0x00008a00, 0x200914ec, 0x0000d784,
- 0x04591811, 0x00000080, 0x02003800, 0x0000f900, 0x0002001e, 0x00000980,
- 0x04202008, 0x0000e901, 0x203844ec, 0x0000d704, 0x00191011, 0x00000280,
- 0x40000d23, 0x00009583, 0x0228380a, 0x00009990, 0x04202008, 0x00006911,
- 0x0000287e, 0x00007008, 0x00002587, 0x0000f200, 0x203844ec, 0x0000d704,
- 0x00095019, 0x00000680, 0x81c002ec, 0x00005684, 0x00400000, 0x00008000,
- 0x0ae8380a, 0x0000e180, 0x02000000, 0x0000c980, 0x04105808, 0x0000e187,
- 0x0420202b, 0x0000b101, 0x0010800b, 0x00006986, 0x0418800b, 0x0000e987,
- 0x81f85cec, 0x0000d604, 0x00384000, 0x00000000, 0xffffffff, 0x00007ff7,
- 0xffffffff, 0x0000ffd7, 0x81f842ec, 0x0000a684, 0xffffffff, 0x00007fa7,
- 0x89001408, 0x00009880, 0x4b411624, 0x0000f902, 0x07c00000, 0x00000004,
- 0x4b809824, 0x00007902, 0x04800000, 0x00008004, 0x4b808a24, 0x00007902,
- 0x04000000, 0x00000004, 0x4b805c24, 0x0000f902, 0x02000000, 0x00000004,
- 0x200384ec, 0x0000d784, 0x0039581a, 0x00000000, 0x003914ec, 0x0000d704,
- 0x0038f800, 0x00000000, 0x00389cec, 0x00005704, 0x00389000, 0x00008000,
- 0x00388cec, 0x0000d704, 0x00388000, 0x00000000, 0x00385cec, 0x00005704,
- 0x00384000, 0x00000000, 0x02f0d800, 0x00007900, 0x00020018, 0x00000980,
- 0x00002587, 0x0000f400, 0x200924ec, 0x0000d784, 0x00385815, 0x00000400,
- 0x000994ec, 0x0000d784, 0x00000019, 0x00008280, 0x0c81bc24, 0x0000e802,
- 0x02000c24, 0x00001283, 0x81820627, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00002615, 0x00007008, 0x00002627, 0x0000f008, 0x00000421, 0x00006583,
- 0x02c00000, 0x00000980, 0x87d26a4d, 0x00006110, 0x0902604c, 0x00004910,
- 0x87d14a29, 0x00006108, 0x09014028, 0x00004908, 0x000004e3, 0x0000e583,
- 0x043f1fe3, 0x00000901, 0x84099b04, 0x00000102, 0x82d0fa1f, 0x0000e100,
- 0xddb00600, 0x00004911, 0x000028d8, 0x00007008, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980,
- 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0x9da80500, 0x00006101,
- 0x08001a76, 0x00006106, 0x1df88702, 0x00008714, 0x28c41014, 0x0000f500,
- 0x25785f24, 0x00000910, 0xa2809800, 0x00009980, 0x28c6109f, 0x00007300,
- 0x0e409800, 0x00009980, 0xce7926ec, 0x00002004, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x0000278c, 0x0000f400,
- 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x00000421, 0x00006583,
- 0x02c00000, 0x00000980, 0x87d26a4d, 0x00006110, 0x0902604c, 0x00004910,
- 0x87d14a29, 0x00006108, 0x09014028, 0x00004908, 0x000004e3, 0x0000e583,
- 0x043f1fe3, 0x00000901, 0x84099b04, 0x00000102, 0x82d0fa1f, 0x00009900,
- 0x000028e5, 0x0000f010, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03c39800, 0x00007900, 0x00151b50, 0x00000980, 0x04a8a800, 0x00007900,
- 0x000aff14, 0x00008980, 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106,
- 0x82781400, 0x00000030, 0x28e50fe7, 0x00007500, 0x01f92710, 0x00000018,
- 0x81009800, 0x0000e180, 0x0280580b, 0x0000c900, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980,
- 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x28f21014, 0x0000f500,
- 0x1d792710, 0x00000914, 0xa2809800, 0x0000e180, 0x2500580b, 0x00004900,
- 0x28f4109f, 0x0000f300, 0x0e409800, 0x00009980, 0xce7926ec, 0x00002004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x0000278c, 0x0000f400, 0x09000824, 0x00001090, 0xce7926ec, 0x00002814,
- 0x000040ec, 0x00007902, 0x02c00000, 0x00008704, 0xffffffff, 0x00007fa7,
- 0x0bc04424, 0x0000e000, 0x0c00441f, 0x0000b000, 0x0221241f, 0x00009303,
- 0x81b84f09, 0x00006109, 0x0c019308, 0x00006116, 0x87e02404, 0x00001910,
- 0x000026ab, 0x00007008, 0x00000421, 0x00009583, 0x001a6808, 0x00006196,
- 0x00194808, 0x0000b18e, 0x0901502a, 0x00006108, 0x0902704e, 0x00004910,
- 0x000026ab, 0x00007400, 0xd678441f, 0x0000a804, 0xd679241f, 0x0000a884,
- 0x000040ec, 0x00007902, 0x01c00000, 0x00008704, 0xb8a00606, 0x0000c28a,
- 0x2641870c, 0x00000a8a, 0x60002627, 0x0000f896, 0x39400000, 0x0000948b,
- 0x0c004424, 0x00006000, 0x0bc0441f, 0x00003000, 0x000025c5, 0x0000f400,
- 0x0121241f, 0x00009303, 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413,
- 0xceb924ec, 0x00002084, 0xc730300c, 0x00006803, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb924ec, 0x00002894,
- 0x94c9fb05, 0x0000c59a, 0x4a61870c, 0x0000db88, 0x00000c07, 0x00009583,
- 0x82c02206, 0x00006088, 0x82c02a06, 0x00008090, 0x82000a06, 0x00006088,
- 0x82001206, 0x00000090, 0x5680a20b, 0x0000f902, 0x02800000, 0x00000000,
- 0x56803a08, 0x00007902, 0x01800000, 0x00000000, 0x87c02209, 0x00006088,
- 0x89000a09, 0x00008088, 0x89001209, 0x0000e090, 0x87c02a09, 0x00008090,
- 0x0500a31b, 0x00001002, 0x01c03a19, 0x0000e002, 0x0280000a, 0x00000084,
- 0x56b83a08, 0x00002880, 0xe3783c1f, 0x0000a084, 0x01800006, 0x00009084,
- 0x56b8a20b, 0x00005000, 0x00385000, 0x00008000, 0x56b83208, 0x00002800,
- 0xe3405424, 0x0000f902, 0x02000000, 0x00000004, 0xe378341f, 0x0000a004,
- 0x01c03b1b, 0x00001002, 0xe3783c1f, 0x00002884, 0xffffffff, 0x00007f86,
- 0x02805219, 0x0000e002, 0x01800006, 0x00000084, 0x00000405, 0x00006583,
- 0x02000008, 0x00000084, 0xe378341f, 0x00002804, 0xe3785424, 0x0000d004,
- 0x00384000, 0x00000000, 0x000025e0, 0x00007008, 0x0000268a, 0x0000f000,
- 0x00000421, 0x00006583, 0x057f1fe3, 0x00000901, 0x02c2704e, 0x0000e110,
- 0xc55a6b4d, 0x0000c910, 0x02c1502a, 0x0000e108, 0xc5594b29, 0x0000c908,
- 0x000004e3, 0x0000e583, 0x45602404, 0x00008901, 0x01000000, 0x0000f908,
- 0x00014040, 0x00000980, 0x81012000, 0x0000e188, 0xc2700600, 0x0000c909,
- 0x000029ab, 0x00007010, 0x03cf0800, 0x00007900, 0x003884ca, 0x00000980,
- 0x04a3e800, 0x00007900, 0x001b7e4e, 0x00008980, 0x82680500, 0x0000e101,
- 0x08001a09, 0x0000e106, 0x295d0fe7, 0x0000f500, 0x0338af02, 0x0000801c,
- 0x02800000, 0x00006180, 0x0180580b, 0x0000c900, 0x8200131b, 0x00006080,
- 0x0c006a1f, 0x00006184, 0x8910421f, 0x00006100, 0x00199016, 0x00002106,
- 0x00000421, 0x00006583, 0x0411200d, 0x00002185, 0x4340150d, 0x00006381,
- 0x0011b016, 0x0000a116, 0x61c0040b, 0x0000f88b, 0xd9000000, 0x00001381,
- 0xceb924ec, 0x0000a004, 0xc730300c, 0x00006803, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x000025c5, 0x0000f400, 0x09000824, 0x00001090,
- 0xceb924ec, 0x0000a814, 0x000038ec, 0x00007902, 0x02800000, 0x00000704,
- 0xffffffff, 0x00007fa7, 0x0bc03c24, 0x0000e000, 0x0c003c1f, 0x0000b000,
- 0x01e1241f, 0x00009303, 0x81b84f09, 0x00006109, 0x0c019307, 0x00006116,
- 0x87e02404, 0x00001910, 0x0000290d, 0x00007008, 0x00000421, 0x00009583,
- 0x001a6807, 0x00006196, 0x00194807, 0x0000b18e, 0x0901502a, 0x00006108,
- 0x0902704e, 0x00004910, 0x0000290d, 0x00007400, 0xd6783c1f, 0x0000a804,
- 0xd679241f, 0x0000a884, 0x00000421, 0x00006583, 0x02bf1fe3, 0x00008901,
- 0x0202704e, 0x0000e110, 0x891a6b4d, 0x0000c910, 0x0201502a, 0x0000e108,
- 0x89194b29, 0x0000c908, 0x000004e3, 0x0000e583, 0x42a02404, 0x00000901,
- 0xc2912224, 0x0000e100, 0xc2700600, 0x0000c909, 0x01000000, 0x0000f908,
- 0x00014040, 0x00000980, 0x000029c3, 0x0000f010, 0x03d55800, 0x0000f900,
- 0x003884cc, 0x00000980, 0x04a3e800, 0x00007900, 0x001b7e4e, 0x00008980,
- 0x81012000, 0x00006180, 0x08001a09, 0x0000e106, 0x82781400, 0x00000030,
- 0x29970fe7, 0x0000f500, 0x01f8470a, 0x00000018, 0x02800000, 0x00001980,
- 0x89202404, 0x00001900, 0xd6409424, 0x0000f902, 0x04400000, 0x00008004,
- 0xffffffff, 0x00007fa7, 0xc0172b11, 0x00001502, 0x00002807, 0x0000f00b,
- 0x00000421, 0x00009583, 0x0902704e, 0x00006110, 0x87da6b4d, 0x00004910,
- 0x0901502a, 0x00006108, 0x87d94b29, 0x00004908, 0xc0104311, 0x00001502,
- 0x8010fa11, 0x00001502, 0x00012012, 0x00001502, 0x00002809, 0x00007010,
- 0x00002809, 0x00007010, 0x00002809, 0x00007010, 0xc2400800, 0x00001981,
- 0x0249fb05, 0x0000f89a, 0x81400000, 0x00001382, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x220f0800, 0x00007900, 0x003884ca, 0x00000980,
- 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x29b71014, 0x0000f500,
- 0x1d785f15, 0x00008914, 0x62800024, 0x000089d0, 0x29b9109f, 0x00007300,
- 0x0e40a000, 0x00001980, 0xce7926ec, 0x00002004, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090,
- 0xce7926ec, 0x00002814, 0x7149fb05, 0x0000f89b, 0x01000001, 0x00000000,
- 0x7141870c, 0x0000f88f, 0x79000000, 0x00009386, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x22155800, 0x0000f900, 0x003884cc, 0x00000980,
- 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x29cf1014, 0x0000f500,
- 0x1d78470a, 0x00000914, 0x62800024, 0x000089d0, 0x29d1109f, 0x0000f300,
- 0x0e40a000, 0x00001980, 0xce7926ec, 0x00002004, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x000025c5, 0x0000f400,
- 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x0e424409, 0x0000e000,
- 0x0f80ec05, 0x00003000, 0x00000409, 0x00009583, 0x08024406, 0x0000e08c,
- 0x08025425, 0x0000b094, 0x8b412607, 0x00007902, 0x08c00000, 0x00000004,
- 0x000029e2, 0x00007210, 0xc1212a20, 0x00001110, 0xc1203220, 0x00001100,
- 0x0d412408, 0x0000e800, 0xb3400635, 0x0000f892, 0x01400001, 0x00008000,
- 0xaa800408, 0x00007892, 0x01400001, 0x00008000, 0x60201424, 0x0000c391,
- 0x00412504, 0x00000018, 0x00860524, 0x0000458e, 0xb0808535, 0x00008995,
- 0xc5810623, 0x0000f896, 0x61400000, 0x00009587, 0x04c00000, 0x0000e180,
- 0x6601080d, 0x0000e000, 0x0300080c, 0x00006380, 0x7601080d, 0x0000a000,
- 0x04000000, 0x000081c4, 0x04800000, 0x00006180, 0x01d10220, 0x00004900,
- 0xc4e0e41c, 0x0000e101, 0x02000c1c, 0x0000c880, 0x00004007, 0x0000f810,
- 0x00000000, 0x00000000, 0x9f020521, 0x0000f88e, 0x01400001, 0x00008060,
- 0x9c00150d, 0x00007896, 0x01400001, 0x00000080, 0xffffffff, 0x00007f86,
- 0x00000409, 0x00009583, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x00002a69, 0x0000f010, 0x01e04c05, 0x0000e303, 0x11000000, 0x00008980,
- 0x0ac0a014, 0x0000e100, 0x7140c044, 0x0000e000, 0x0b08b415, 0x0000830a,
- 0x00002adf, 0x0000f210, 0x11800000, 0x000084dc, 0x00000405, 0x00006583,
- 0x11004044, 0x00000380, 0x1140d01a, 0x00006100, 0x80005844, 0x0000e406,
- 0xa740c044, 0x0000e800, 0x00002a54, 0x0000f210, 0xd110da1b, 0x00009900,
- 0x01c0141d, 0x00006281, 0x40000844, 0x0000a402, 0x01602c07, 0x0000e303,
- 0x91972ae5, 0x00000900, 0x0c40c425, 0x00006010, 0x02000049, 0x0000b597,
- 0x09401425, 0x0000e091, 0x8000e048, 0x00002092, 0x0000e049, 0x0000e193,
- 0x41212844, 0x00003012, 0x41404524, 0x00009283, 0x00002a1f, 0x00007013,
- 0x001018ec, 0x00005780, 0x00d07280, 0x000081c0, 0x00908eec, 0x00005f80,
- 0x00007000, 0x00008084, 0x40000504, 0x00001583, 0x00002a1b, 0x0000f013,
- 0x41000800, 0x00001981, 0x7f201519, 0x0000c291, 0x4c400509, 0x00008a8c,
- 0x0ec00509, 0x0000f88b, 0x59400000, 0x00009680, 0x000058ec, 0x00007902,
- 0x01c00000, 0x00008704, 0x45c00504, 0x0000418b, 0x0041870c, 0x00000090,
- 0xfe29fb05, 0x0000c59b, 0x7f01870c, 0x00008288, 0x06802623, 0x00007897,
- 0x89400000, 0x0000158f, 0x0bc05c0b, 0x0000e800, 0x0c005c25, 0x00006800,
- 0x01612c0b, 0x00009303, 0x02c046e3, 0x00006089, 0xc000100c, 0x00002413,
- 0x0228380a, 0x00009988, 0x00002a45, 0x00007010, 0x01e81000, 0x0000f900,
- 0x00020014, 0x00000980, 0x30e05807, 0x00006080, 0x04202008, 0x00003101,
- 0x20383cec, 0x0000d704, 0x00384000, 0x00000000, 0x000854ec, 0x00005784,
- 0x00000015, 0x00000680, 0x000048ec, 0x0000f902, 0x01c00000, 0x00008704,
- 0xffffffff, 0x00007fa7, 0x0c004c25, 0x00006000, 0x0bc04c0b, 0x0000b000,
- 0x01612c0b, 0x00009303, 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413,
- 0xc009fb05, 0x00001582, 0xc101870c, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00002a1b, 0x00007018, 0x00002a1b, 0x0000f008, 0x00080019, 0x0000ed87,
- 0x00202019, 0x0000e886, 0x09006619, 0x0000e802, 0xa578360a, 0x0000d004,
- 0x00391000, 0x00008000, 0x001018ec, 0x00005780, 0x00d07280, 0x000081c0,
- 0xa5b8c80a, 0x0000a884, 0x00908eec, 0x00005f80, 0x00007000, 0x00008084,
- 0x01c00c1d, 0x0000e283, 0x40000844, 0x0000a402, 0x09401000, 0x00006191,
- 0x09400800, 0x00004989, 0x91972ae5, 0x0000e100, 0x01c0141d, 0x0000c281,
- 0x09403747, 0x0000e281, 0xe3a12848, 0x00002002, 0x00001425, 0x00009583,
- 0x0c40c425, 0x0000e808, 0x09401425, 0x00001089, 0x01602c07, 0x0000e303,
- 0x96612847, 0x0000a00b, 0x0c40c425, 0x00006010, 0x02000049, 0x0000b597,
- 0x09401425, 0x0000e091, 0x8000e048, 0x00002092, 0x41212844, 0x00006012,
- 0x0000e049, 0x0000b193, 0xf6804524, 0x0000458c, 0x7b400504, 0x00007b95,
- 0x09406736, 0x00001281, 0x00002425, 0x00009583, 0x00002a01, 0x00007400,
- 0x0a02604c, 0x00006108, 0x8a526a4d, 0x00004908, 0x0a82704e, 0x0000e108,
- 0xca5a6b4d, 0x0000c908, 0x82f71ee3, 0x0000e100, 0x0cc0b425, 0x00006004,
- 0x00001c25, 0x0000e583, 0x09401c25, 0x00000281, 0x51783c0b, 0x0000a018,
- 0x51783c0b, 0x000020b0, 0x00000409, 0x00006583, 0x02c01c25, 0x00000881,
- 0x00002a01, 0x0000f40b, 0x09605807, 0x00001700, 0xd7612814, 0x00006805,
- 0x00002a69, 0x00007000, 0xce792eec, 0x00002084, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072825, 0x00001502, 0x09400825, 0x00001090,
- 0xce792eec, 0x00002894, 0x7f00150d, 0x0000f88e, 0x81400000, 0x00009583,
- 0x0c812425, 0x0000e802, 0x01c01425, 0x00009283, 0x03c086ec, 0x0000f912,
- 0x02c00000, 0x00008000, 0x040040ec, 0x00007912, 0x01c00000, 0x00008000,
- 0x000029ed, 0x0000f008, 0x09519a33, 0x00001900, 0x00119810, 0x0000f808,
- 0x00000000, 0x00000000, 0x00005825, 0x0000f808, 0x00000000, 0x00008020,
- 0x00004025, 0x0000f808, 0x00000000, 0x00000060, 0x7b403825, 0x0000f812,
- 0x01400001, 0x00000010, 0xdac20623, 0x0000f896, 0x01400001, 0x00000080,
- 0x0300080c, 0x00006380, 0x6601080d, 0x00002000, 0xceb92eec, 0x00002084,
- 0x04c00000, 0x0000e180, 0x7601080d, 0x00006000, 0x04000000, 0x0000e180,
- 0xc000000c, 0x0000e403, 0x04400000, 0x000001c8, 0x00072825, 0x0000e502,
- 0x02110220, 0x00008900, 0x09400825, 0x0000e090, 0x01c00c1c, 0x00000880,
- 0xceb92eec, 0x00002894, 0xc4e0e41c, 0x00009901, 0x00003808, 0x0000f810,
- 0x00000000, 0x00000000, 0x9f020521, 0x0000f88e, 0x01400001, 0x00008060,
- 0x9c00150d, 0x00007896, 0xe1400000, 0x0000148f, 0x08800000, 0x0000f900,
- 0x00040000, 0x00000980, 0x00000409, 0x00006583, 0x0400b022, 0x0000a107,
- 0x0a01b519, 0x0000e012, 0x0801ad19, 0x0000300a, 0x88926a4d, 0x0000e110,
- 0x0182604c, 0x00004910, 0x88914a29, 0x0000e108, 0x01814028, 0x00004908,
- 0xc1c1870c, 0x00006283, 0x0800b210, 0x00002106, 0x42400000, 0x00006181,
- 0x02003006, 0x0000c910, 0x01c11022, 0x00009910, 0x00002acb, 0x00007008,
- 0x41008524, 0x00001283, 0x42400800, 0x00001989, 0x00002d30, 0x0000f011,
- 0xc009fb05, 0x00001582, 0x00002c7c, 0x0000f01b, 0xa5408e0a, 0x0000f902,
- 0x04000000, 0x00000004, 0xa5b8580a, 0x00002084, 0x41000000, 0x00009981,
- 0xffffffff, 0x00007f86, 0x00003011, 0x00001502, 0x00011010, 0x00009502,
- 0x0020240b, 0x00009503, 0x00002c7d, 0x0000f010, 0x00002c7d, 0x0000f010,
- 0x00002c7d, 0x0000f010, 0xc730580c, 0x0000e803, 0x000029e7, 0x0000f200,
- 0x41000800, 0x00001981, 0x80040635, 0x0000e583, 0xc3f1ae35, 0x00008901,
- 0x0971ae35, 0x00006111, 0xc3c00000, 0x00004989, 0x000029e5, 0x0000f009,
- 0x01c3e825, 0x00001282, 0x09407d18, 0x00001289, 0x00002b61, 0x00007011,
- 0x69e00c25, 0x0000c289, 0xb2401425, 0x00000a8d, 0xe0c08623, 0x0000f896,
- 0xc9400000, 0x0000958a, 0x00000409, 0x00006583, 0x85999332, 0x00000900,
- 0x8591b236, 0x00006110, 0x4340150d, 0x0000c381, 0x79c00408, 0x0000788a,
- 0x51400000, 0x00001585, 0x00000418, 0x00009583, 0x00000405, 0x00006583,
- 0x90000847, 0x0000a44b, 0x1140d01a, 0x0000e108, 0x11004044, 0x00004388,
- 0xb0000847, 0x0000e409, 0x80005844, 0x0000340e, 0x00002be1, 0x00007010,
- 0xa740c044, 0x00006000, 0xe0001847, 0x00003403, 0xd110da1b, 0x00009900,
- 0x83c00405, 0x0000f88a, 0xa1400000, 0x00009582, 0xcef928ec, 0x0000a084,
- 0x0300080c, 0x00006380, 0x6601080d, 0x00002000, 0x04c00000, 0x0000e180,
- 0x7601080d, 0x00006000, 0x04000000, 0x0000e180, 0xc000000c, 0x0000e403,
- 0x00072825, 0x0000e502, 0x04400000, 0x00008980, 0x09400825, 0x0000e090,
- 0x04800000, 0x00008980, 0xcef928ec, 0x0000a894, 0x02110220, 0x00006100,
- 0x01c00c1c, 0x0000c880, 0xc4e0e41c, 0x00009901, 0x00003808, 0x0000f810,
- 0x00000000, 0x00000000, 0x9f020521, 0x0000f88e, 0x01400001, 0x00008060,
- 0x9c00150d, 0x00007896, 0xe1400000, 0x0000148f, 0xceb928ec, 0x00002084,
- 0x0300080c, 0x00006380, 0x6601080d, 0x00002000, 0x04c00000, 0x0000e180,
- 0x7601080d, 0x00006000, 0x04000000, 0x0000e180, 0xc000000c, 0x0000e403,
- 0x00072825, 0x0000e502, 0x04400000, 0x00008980, 0x09400825, 0x0000e090,
- 0x04800000, 0x00008980, 0xceb928ec, 0x00002894, 0x02110220, 0x00006100,
- 0x01c00c1c, 0x0000c880, 0xc4e0e41c, 0x00009901, 0x00003808, 0x0000f810,
- 0x00000000, 0x00000000, 0x9f020521, 0x0000f88e, 0x01400001, 0x00008060,
- 0x9c00150d, 0x00007896, 0xe1400000, 0x0000148f, 0x000004e3, 0x0000e583,
- 0x04000000, 0x00000980, 0x02000000, 0x0000e180, 0x08024610, 0x00006084,
- 0x82e82024, 0x0000002c, 0x00002b2b, 0x0000f410, 0x841822e3, 0x00008102,
- 0x82110220, 0x0000e100, 0xc2700600, 0x0000c909, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03e2a000, 0x0000f900, 0x00151b4e, 0x00000980,
- 0x04907800, 0x00007900, 0x0032d3fc, 0x00008980, 0x82680500, 0x0000e101,
- 0x08001a09, 0x0000e106, 0x03388702, 0x0000801c, 0x2b2b0fe7, 0x0000f500,
- 0x01b8470b, 0x00000028, 0x81009000, 0x00001980, 0x22800000, 0x00007900,
- 0x00014000, 0x00008980, 0x2222a000, 0x0000f900, 0x00151b4e, 0x00000980,
- 0x22507800, 0x0000f900, 0x0032d3fc, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x1d785f10, 0x00008914,
- 0x2b381014, 0x0000f500, 0x25009708, 0x000008a9, 0xa2a12424, 0x00001901,
- 0x2b3a109f, 0x00007300, 0x0e403000, 0x00001980, 0xce792eec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x09400825, 0x00001090, 0xce792eec, 0x0000a814, 0x04c00000, 0x0000e180,
- 0x6601080d, 0x0000e000, 0x0300080c, 0x00006380, 0x7601080d, 0x0000a000,
- 0x04000000, 0x000081c4, 0x04800000, 0x00006180, 0x02110220, 0x00004900,
- 0xc4e0e41c, 0x0000e101, 0x01c00c1c, 0x0000c880, 0x00003808, 0x0000f810,
- 0x00000000, 0x00000000, 0x9f020521, 0x0000f88e, 0x01400001, 0x00008060,
- 0x9c00150d, 0x00007896, 0xe1400000, 0x0000148f, 0x8940131b, 0x00006080,
- 0x0c006a0b, 0x00006184, 0x89512a0b, 0x0000e100, 0x00199016, 0x00002106,
- 0x00000409, 0x00006583, 0x0411280d, 0x0000a185, 0x4340150d, 0x00006381,
- 0x0011b016, 0x0000a116, 0x79c00408, 0x0000788a, 0x51400000, 0x00001585,
- 0xceb92aec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072825, 0x00001502, 0x09400825, 0x00001090, 0xceb92aec, 0x00002814,
- 0x79c00408, 0x0000788a, 0x51400000, 0x00001585, 0x81c04623, 0x00009283,
- 0xc000000c, 0x0000ec0b, 0xceb92eec, 0x0000200c, 0x00002b96, 0x00007010,
- 0xffffffff, 0x00007f97, 0x00072825, 0x00001502, 0x09400825, 0x00001090,
- 0xceb92eec, 0x0000a814, 0x79c00408, 0x0000788a, 0x51400000, 0x00001585,
- 0x00000409, 0x00006583, 0x02000000, 0x00000980, 0x81d26a4d, 0x00006110,
- 0x0942604c, 0x0000c910, 0x81d14a29, 0x00006108, 0x09414028, 0x0000c908,
- 0x000004e3, 0x0000e583, 0x02ff1fe3, 0x00000901, 0x82c99b04, 0x0000002e,
- 0x82103a07, 0x00009900, 0x00002ba6, 0x00007010, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03c39800, 0x00007900, 0x00151b50, 0x00000980,
- 0x04a8a800, 0x00007900, 0x000aff14, 0x00008980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x82781400, 0x00000030, 0x2b830fe7, 0x00007500,
- 0x01f92f0b, 0x00008018, 0x81009800, 0x0000e180, 0x02804008, 0x0000c900,
- 0x000004e3, 0x0000e583, 0x0e00c711, 0x0000a006, 0x847f1fe3, 0x00006100,
- 0x84602404, 0x0000c901, 0x04299416, 0x00008100, 0x00002bbc, 0x0000f010,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03c9c800, 0x00007900,
- 0x00151b50, 0x00000980, 0x04aee800, 0x0000f900, 0x000e1256, 0x00000980,
- 0x02800000, 0x00006180, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x2b960fe7, 0x0000f500, 0x03388f02, 0x0000001c, 0x81008000, 0x0000e180,
- 0x01808010, 0x0000c900, 0x000004e3, 0x0000e583, 0x847f1fe3, 0x00008900,
- 0x4469ae04, 0x00008106, 0x01000000, 0x0000f908, 0x00014040, 0x00000980,
- 0x00002bd2, 0x00007010, 0x03c7a800, 0x0000f900, 0x00151b50, 0x00000980,
- 0x04a9c000, 0x00007900, 0x003be25c, 0x00000980, 0x81007800, 0x00006180,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x2ba60fe7, 0x0000f500,
- 0x03388f02, 0x0000001c, 0x02b9a72b, 0x00008018, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x22039800, 0x00007900, 0x00151b50, 0x00000980,
- 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x2bb31014, 0x0000f500,
- 0x1d792f0b, 0x00008914, 0xa2809800, 0x0000e180, 0x25004008, 0x00004900,
- 0x2bb5109f, 0x0000f300, 0x0e409800, 0x00009980, 0xce792eec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x00002b40, 0x0000f400, 0x09400825, 0x00001090, 0xce792eec, 0x0000a814,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2209c800, 0x00007900,
- 0x00151b50, 0x00000980, 0x226ee800, 0x00007900, 0x000e1256, 0x00000980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x2bc81014, 0x0000f500, 0x1d788711, 0x00000914, 0x62800010, 0x000009d0,
- 0x0e404000, 0x00009980, 0x2bca109f, 0x0000f100, 0xce792eec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x09400825, 0x00001090, 0xce792eec, 0x0000a814, 0x79c00408, 0x0000788a,
- 0x51400000, 0x00001585, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980, 0x2269c000, 0x0000f900,
- 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x2bdf1014, 0x0000f500, 0x1d79a711, 0x00000914,
- 0xa2807800, 0x00006180, 0x2501582b, 0x00004900, 0x00002bc9, 0x00007200,
- 0x0e403800, 0x00009980, 0x11004044, 0x00006380, 0x12840000, 0x00008980,
- 0xe240e84b, 0x00006002, 0x80005844, 0x0000b406, 0x0002404a, 0x0000e084,
- 0xb0000847, 0x00003401, 0xa740c044, 0x00006000, 0x00040048, 0x0000b486,
- 0x0018e84b, 0x0000e182, 0xe0001847, 0x00003403, 0x4000051d, 0x00006583,
- 0x0028e848, 0x0000a084, 0x1148f71a, 0x00000429, 0x9108f11b, 0x0000842a,
- 0x83c00405, 0x0000f88a, 0xa1400000, 0x00009582, 0xceb92cec, 0x0000a084,
- 0xc728200c, 0x0000e803, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x09400825, 0x00001090, 0xceb92cec, 0x0000a894, 0xc489fb05, 0x0000459a,
- 0xe241870c, 0x0000e589, 0x000038ec, 0x00007902, 0x02c00000, 0x00008704,
- 0xffffffff, 0x00007fa7, 0x0bc03c25, 0x00006000, 0x0c003c0b, 0x0000b000,
- 0x01612c0b, 0x00009303, 0x41284d09, 0x0000e109, 0x0c019307, 0x00006116,
- 0x82e02404, 0x00001910, 0x00002a26, 0x00007008, 0x00000409, 0x00009583,
- 0x001a6807, 0x00006196, 0x00194807, 0x0000b18e, 0x0941502a, 0x0000e108,
- 0x0942704e, 0x0000c910, 0x00002a26, 0x00007400, 0xd6783c0b, 0x0000a804,
- 0xd6792c0b, 0x00002884, 0x000030ec, 0x0000f902, 0x01400000, 0x00000704,
- 0x43600504, 0x0000428b, 0x2241870c, 0x00008b88, 0x18c02623, 0x0000f897,
- 0x89400000, 0x00009681, 0x0c003425, 0x00006000, 0x0bc03404, 0x0000b000,
- 0x01212c04, 0x00001303, 0x001018ec, 0x00005780, 0x00d07280, 0x000081c0,
- 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0x00908eec, 0x00005f80,
- 0x00007000, 0x00008084, 0x00000409, 0x00006583, 0x053f1fe3, 0x00008901,
- 0x02c2704e, 0x0000e110, 0xc51a6b4d, 0x00004910, 0x02c1502a, 0x0000e108,
- 0xc5194b29, 0x00004908, 0x000004e3, 0x0000e583, 0x45202404, 0x00000901,
- 0x01000000, 0x0000f908, 0x00014040, 0x00000980, 0x81012000, 0x0000e188,
- 0xc2700600, 0x0000c909, 0x00002c4d, 0x0000f010, 0x03cf0800, 0x00007900,
- 0x003884ca, 0x00000980, 0x04a3e800, 0x00007900, 0x001b7e4e, 0x00008980,
- 0x82680500, 0x0000e101, 0x08001a09, 0x0000e106, 0x2c310fe7, 0x0000f500,
- 0x0338a702, 0x0000001c, 0x02800000, 0x00006180, 0x0180580b, 0x0000c900,
- 0xceb92cec, 0x00002004, 0xc728200c, 0x0000e803, 0x001018ec, 0x00005780,
- 0x00d07280, 0x000081c0, 0xffffffff, 0x00007f86, 0x00072825, 0x00001502,
- 0x09400825, 0x00001090, 0xceb92cec, 0x00002814, 0x00908eec, 0x00005f80,
- 0x00007000, 0x00008084, 0x000028ec, 0x0000f902, 0x02800000, 0x00000704,
- 0xffffffff, 0x00007fa7, 0x0bc02c25, 0x0000e000, 0x0c002c0b, 0x00003000,
- 0x01612c0b, 0x00009303, 0x41284d09, 0x0000e109, 0x0c019305, 0x0000e116,
- 0x82e02404, 0x00001910, 0x00002c0b, 0x00007008, 0x00000409, 0x00009583,
- 0x001a6805, 0x0000e196, 0x00194805, 0x0000318e, 0x0941502a, 0x0000e108,
- 0x0942704e, 0x0000c910, 0x00002c0b, 0x00007400, 0xd6782c0b, 0x00002804,
- 0xd6792c0b, 0x00002884, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x220f0800, 0x00007900, 0x003884ca, 0x00000980, 0x2263e800, 0x0000f900,
- 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x2c591014, 0x0000f500, 0x1d785f14, 0x00000914,
- 0x62800024, 0x000089d0, 0x2c5b109f, 0x00007300, 0x0e40a000, 0x00001980,
- 0xce785eec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x0007280b, 0x00001502, 0x02c0080b, 0x00001090, 0xce785eec, 0x0000a814,
- 0xb749fb05, 0x0000c59a, 0xdba1870c, 0x0000de8c, 0x00000409, 0x00006583,
- 0x023f1fe3, 0x00000901, 0x0182704e, 0x00006110, 0x895a6b4d, 0x00004910,
- 0x0181502a, 0x00006108, 0x89594b29, 0x00004908, 0x000004e3, 0x0000e583,
- 0x42202404, 0x00008901, 0xc2112a25, 0x00006100, 0xc2700600, 0x0000c909,
- 0x01000000, 0x0000f908, 0x00014040, 0x00000980, 0x00002d18, 0x00007010,
- 0x03d55800, 0x0000f900, 0x003884cc, 0x00000980, 0x04a3e800, 0x00007900,
- 0x001b7e4e, 0x00008980, 0x81012000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x2c7a0fe7, 0x0000f500, 0x82781400, 0x00000030, 0x02800000, 0x00006180,
- 0x01c04008, 0x00004900, 0x40000509, 0x00009583, 0x00002abd, 0x0000f013,
- 0x41000000, 0x00009981, 0x40001519, 0x00006583, 0xc000080c, 0x0000a403,
- 0x007836ec, 0x0000570c, 0x00391000, 0x00008000, 0x117836ec, 0x0000570c,
- 0x00391000, 0x00008000, 0x00002cc2, 0x00007010, 0x40000509, 0x00006583,
- 0xf0000807, 0x0000a401, 0x227836ec, 0x0000d704, 0x00383800, 0x00000000,
- 0x02c04000, 0x0000f900, 0x0005001a, 0x00000980, 0x200004ec, 0x00005784,
- 0x00385816, 0x00002a00, 0x02000000, 0x00007900, 0x0015001e, 0x00000980,
- 0x30e8c808, 0x00006880, 0x203844ec, 0x0000d704, 0x00081815, 0x00000480,
- 0x0229800c, 0x00009980, 0x0028c808, 0x00006804, 0x203844ec, 0x0000d704,
- 0x00199819, 0x00000080, 0x0230380c, 0x00001980, 0x00002cb6, 0x0000f410,
- 0x04202008, 0x0000e901, 0x003844ec, 0x00005704, 0x00000000, 0x00008080,
- 0x02000000, 0x00007900, 0x00040000, 0x00000980, 0x00000409, 0x00009583,
- 0x00127008, 0x0000e196, 0x001a700b, 0x00003196, 0x89594b29, 0x00006108,
- 0x895a6b4d, 0x00004910, 0x0019500b, 0x0000e18e, 0x00115008, 0x0000318e,
- 0xffffffff, 0x00007f86, 0x0411280b, 0x0000e187, 0x00003808, 0x00003107,
- 0x11785eec, 0x00005704, 0x00384000, 0x00000000, 0xf0000808, 0x0000ec01,
- 0x22785eec, 0x00005704, 0x00384000, 0x00000000, 0x02008000, 0x0000f900,
- 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784, 0x00384012, 0x00000a00,
- 0x200914ec, 0x0000d784, 0x04591811, 0x00000080, 0x01c03800, 0x0000f900,
- 0x0002001e, 0x00000980, 0x04202007, 0x0000e901, 0x20383cec, 0x0000d704,
- 0x00191011, 0x00000280, 0x01f01000, 0x0000f900, 0x00020018, 0x00000980,
- 0x02c046e3, 0x00001081, 0x30e05807, 0x0000e880, 0x20383cec, 0x0000d704,
- 0x0010a019, 0x00008680, 0xcef92aec, 0x0000a004, 0xffffffff, 0x00007fa7,
- 0x00072825, 0x00001502, 0x000029e7, 0x0000f400, 0x09400825, 0x00001090,
- 0xcef92aec, 0x0000a814, 0x007836ec, 0x0000d704, 0x00391000, 0x00008000,
- 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x04281000, 0x0000f900,
- 0x00020014, 0x00000980, 0x40000509, 0x00006583, 0x094046e3, 0x00008081,
- 0x30e12810, 0x0000e880, 0x20081cec, 0x0000d784, 0x00388015, 0x00000400,
- 0x00002cea, 0x00007010, 0x02c00000, 0x00007900, 0x00040000, 0x00000980,
- 0x00000409, 0x00009583, 0x0012700b, 0x0000e196, 0x001a7010, 0x00003196,
- 0x89594b29, 0x00006108, 0x895a6b4d, 0x00004910, 0x00195010, 0x0000e18e,
- 0x0011500b, 0x0000318e, 0xffffffff, 0x00007f86, 0x04112810, 0x0000e187,
- 0x0000380b, 0x00003107, 0x117886ec, 0x00005704, 0x00385800, 0x00000000,
- 0xf000080b, 0x0000ec01, 0x227886ec, 0x00005704, 0x00385800, 0x00000000,
- 0x04008000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784,
- 0x00388012, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811, 0x00000080,
- 0x02c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x0420200b, 0x0000e901,
- 0x20385cec, 0x0000d704, 0x00191011, 0x00000280, 0x40000d19, 0x00009583,
- 0x01e8380a, 0x00009990, 0x04202007, 0x00006911, 0x00002d44, 0x00007008,
- 0x000029e7, 0x0000f200, 0x20383cec, 0x0000d704, 0x00095019, 0x00000680,
- 0x0c812425, 0x0000e802, 0x01c00c25, 0x00009283, 0x81020623, 0x00009283,
- 0xffffffff, 0x00007f86, 0x00002a84, 0x0000f008, 0x00002a96, 0x0000f008,
- 0x00000409, 0x00006583, 0x02000000, 0x00000980, 0x81d26a4d, 0x00006110,
- 0x0942604c, 0x0000c910, 0x81d14a29, 0x00006108, 0x09414028, 0x0000c908,
- 0x000004e3, 0x0000e583, 0x02ff1fe3, 0x00000901, 0x82c99b04, 0x0000002e,
- 0x82103a07, 0x0000e100, 0xddb00600, 0x00004911, 0x00002b76, 0x0000f008,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22039800, 0x00007900,
- 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980,
- 0x9da80500, 0x00006101, 0x08001a76, 0x00006106, 0x1df85f02, 0x00008714,
- 0x2d0f1014, 0x00007500, 0x25784725, 0x00008910, 0xa2809800, 0x00009980,
- 0x2d11109f, 0x00007300, 0x0e409800, 0x00009980, 0xce792eec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072825, 0x00001502,
- 0x00002b40, 0x0000f400, 0x09400825, 0x00001090, 0xce792eec, 0x0000a814,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22155800, 0x0000f900,
- 0x003884cc, 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x2d241014, 0x00007500, 0x1d783708, 0x00000914, 0x62800024, 0x000089d0,
- 0x2d26109f, 0x0000f300, 0x0e40a000, 0x00001980, 0xce785eec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0x001018ec, 0x00005780, 0x00d07280, 0x000081c0,
- 0xffffffff, 0x00007f86, 0x0007280b, 0x00001502, 0x02c0080b, 0x00001090,
- 0xce785eec, 0x0000a814, 0x00908eec, 0x00005f80, 0x00007000, 0x00008084,
- 0x89602404, 0x00009900, 0xd6409425, 0x00007902, 0x04400000, 0x00008004,
- 0xffffffff, 0x00007fa7, 0xc0172b11, 0x00001502, 0x00002c7a, 0x0000700b,
- 0x00000409, 0x00009583, 0x0942704e, 0x0000e110, 0x82da6b4d, 0x00004910,
- 0x0941502a, 0x0000e108, 0x82d94b29, 0x00004908, 0xc0108311, 0x00001502,
- 0x80105a11, 0x00001502, 0x00012812, 0x00009502, 0x00002c7c, 0x00007010,
- 0x00002c7c, 0x00007010, 0x00002c7c, 0x00007010, 0x42400800, 0x00009981,
- 0x1f09fb05, 0x0000f89b, 0xf9400000, 0x00009585, 0x81c002ec, 0x00005684,
- 0x00400000, 0x00008000, 0x02c00000, 0x00009980, 0x00104007, 0x0000e186,
- 0x0410380b, 0x0000b187, 0x04184007, 0x0000e987, 0x81f83cec, 0x0000d604,
- 0x00385800, 0x00000000, 0xffffffff, 0x00007ff7, 0xffffffff, 0x0000ffe7,
- 0x81f83aec, 0x0000a684, 0xffffffff, 0x00007fa7, 0x89401407, 0x00001880,
- 0x4b40be25, 0x00007902, 0x04c00000, 0x00000004, 0x4b809025, 0x00007902,
- 0x04400000, 0x00008004, 0x4b808225, 0x00007902, 0x02c00000, 0x00000004,
- 0x4b804425, 0x00007902, 0x01c00000, 0x00000004, 0x0968380a, 0x00001980,
- 0x04202025, 0x0000e901, 0x200384ec, 0x0000d784, 0x0039281a, 0x00008000,
- 0x0038bcec, 0x0000d704, 0x00389800, 0x00000000, 0x003894ec, 0x0000d704,
- 0x00388800, 0x00008000, 0x003884ec, 0x00005704, 0x00385800, 0x00000000,
- 0x003844ec, 0x00005704, 0x00383800, 0x00000000, 0x0230d800, 0x00007900,
- 0x00020018, 0x00000980, 0x000029e7, 0x0000f400, 0x200924ec, 0x0000d784,
- 0x00384015, 0x00000400, 0x000994ec, 0x0000d784, 0x00000019, 0x00008280,
- 0x0379f80d, 0x00007900, 0x003ffffe, 0x00008280, 0x0e424421, 0x0000e000,
- 0x0000000d, 0x00003585, 0x04c00000, 0x0000e180, 0x6601080d, 0x0000e000,
- 0x0f80ec05, 0x00006000, 0x7601080d, 0x00003000, 0x8b411e07, 0x0000f902,
- 0x08800000, 0x00008004, 0x0300080c, 0x00006380, 0x04000000, 0x00000980,
- 0x04400000, 0x000001c8, 0x8198e620, 0x0000810d, 0x01c00c1c, 0x00009880,
- 0x00003806, 0x00007810, 0x00000000, 0x00000000, 0x7d020521, 0x0000788f,
- 0x01400001, 0x00008060, 0x00404523, 0x0000c58c, 0x95a00635, 0x00008796,
- 0x00001423, 0x00006583, 0x04000810, 0x00000380, 0x00002ded, 0x00007013,
- 0x01a10c05, 0x00006303, 0x11000000, 0x00008980, 0x11800000, 0x0000e180,
- 0x7140c044, 0x0000e000, 0x11c00000, 0x00006180, 0x11004044, 0x00004388,
- 0x00002e20, 0x0000f010, 0x00000405, 0x00006583, 0x80005844, 0x00002406,
- 0x1140d01a, 0x00006100, 0xa740c044, 0x00006000, 0xd110da1b, 0x00009900,
- 0x00002dd8, 0x00007010, 0x0180141d, 0x0000e281, 0x40000844, 0x0000a402,
- 0x01602c06, 0x00006303, 0x91972ae5, 0x00000900, 0x0c40c424, 0x0000e010,
- 0x02000049, 0x0000b597, 0x09001424, 0x0000e091, 0x8000e048, 0x00002092,
- 0x0000e049, 0x0000e193, 0x41212044, 0x0000b012, 0x41404523, 0x00001283,
- 0x00002da2, 0x0000f013, 0xe000000c, 0x00006c01, 0x001018ec, 0x00005780,
- 0x00007000, 0x00000080, 0x00908eec, 0x00005f80, 0x00007000, 0x00008084,
- 0x40000504, 0x00001583, 0x00002d9d, 0x0000f013, 0x41000800, 0x00001981,
- 0xdf201519, 0x0000c291, 0x52400604, 0x00000b8b, 0xdec00604, 0x0000f88b,
- 0x09400000, 0x00001789, 0x000048ec, 0x0000f902, 0x01800000, 0x00000704,
- 0xb6200504, 0x0000c18b, 0x0041870c, 0x00000090, 0xfe09fb05, 0x0000c59a,
- 0x7f01870c, 0x00008288, 0xc2c02622, 0x0000f897, 0x89400000, 0x00001787,
- 0x0c004c24, 0x0000e000, 0x0bc04c07, 0x0000b000, 0x01612407, 0x00001303,
- 0x01c046e3, 0x00006089, 0xc000100c, 0x00002413, 0x0228380a, 0x00009988,
- 0x00002dc8, 0x0000f010, 0x01a81000, 0x00007900, 0x00020014, 0x00000980,
- 0x30e03806, 0x0000e080, 0x04202008, 0x00003101, 0x203834ec, 0x00005704,
- 0x00384000, 0x00000000, 0x000854ec, 0x00005784, 0x00000015, 0x00000680,
- 0x000048ec, 0x0000f902, 0x01800000, 0x00000704, 0xffffffff, 0x00007fa7,
- 0x0c004c24, 0x0000e000, 0x0bc04c07, 0x0000b000, 0x01612407, 0x00001303,
- 0xc000080c, 0x0000e40b, 0xc000180c, 0x00003413, 0xc009fb05, 0x00001582,
- 0xc101870c, 0x00009283, 0xffffffff, 0x00007f86, 0x00002d9d, 0x00007018,
- 0x00002d9d, 0x0000f008, 0x00080019, 0x0000ed87, 0x00202019, 0x0000e886,
- 0x09006619, 0x00006002, 0xe000000c, 0x0000b401, 0xa5792e0a, 0x00005004,
- 0x00390000, 0x00000000, 0x001018ec, 0x00005780, 0x00007000, 0x00000080,
- 0xa5b8c80a, 0x0000a884, 0x00908eec, 0x00005f80, 0x00007000, 0x00008084,
- 0x01800c1d, 0x00006283, 0x40000844, 0x0000a402, 0x09001000, 0x0000e191,
- 0x09000800, 0x0000c989, 0x91972ae5, 0x0000e100, 0x0180141d, 0x00004281,
- 0x09003747, 0x00006281, 0xe3a12048, 0x0000a002, 0x00001424, 0x00001583,
- 0x0c40c424, 0x00006808, 0x09001424, 0x00001089, 0x01602c06, 0x00006303,
- 0x96612047, 0x0000200b, 0x0c40c424, 0x0000e010, 0x02000049, 0x0000b597,
- 0x09001424, 0x0000e091, 0x8000e048, 0x00002092, 0x41212044, 0x0000e012,
- 0x0000e049, 0x0000b193, 0xf6404523, 0x0000c58c, 0xfb200504, 0x00007b94,
- 0xceb920ec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x00002d84, 0x00007400, 0x09000824, 0x00001090,
- 0xceb920ec, 0x0000a894, 0xce7926ec, 0x0000a084, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090,
- 0xce7926ec, 0x0000a894, 0xb0204523, 0x0000c98d, 0xb2400635, 0x00000b95,
- 0x81000000, 0x00009981, 0x00000421, 0x00009583, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x00002ed0, 0x0000f010, 0x08000000, 0x00007900,
- 0x00040000, 0x00000980, 0xc101870c, 0x00006283, 0x0400b020, 0x00002107,
- 0x0800b214, 0x00006106, 0x0801ad19, 0x0000b002, 0x08394429, 0x00008214,
- 0x00002e1c, 0x0000f008, 0x41008523, 0x00006283, 0x02412825, 0x00000900,
- 0x02010020, 0x00001900, 0x00002e3d, 0x00007011, 0xc009fb05, 0x0000e582,
- 0x81000800, 0x00008981, 0x00002e52, 0x0000701b, 0xa5405e0a, 0x00007902,
- 0x01c00000, 0x00000004, 0xa5b8300a, 0x0000a084, 0x41000000, 0x00009981,
- 0xffffffff, 0x00007f86, 0x0001280b, 0x00001502, 0x00010007, 0x00001502,
- 0x00202406, 0x00001503, 0x00002e53, 0x00007010, 0x00002e53, 0x00007010,
- 0x00002e53, 0x00007010, 0xc730300c, 0x00006803, 0x04000810, 0x00006380,
- 0x41000800, 0x00008981, 0x61001423, 0x0000788b, 0x69400000, 0x0000968f,
- 0x00000418, 0x00009583, 0x00000405, 0x00006583, 0x90000847, 0x0000a44b,
- 0x1140d01a, 0x0000e108, 0x11004044, 0x00004388, 0xb0000847, 0x0000e409,
- 0x80005844, 0x0000340e, 0x00002e2d, 0x00007010, 0xa740c044, 0x00006000,
- 0xe0001847, 0x00003403, 0xd110da1b, 0x00009900, 0x64400405, 0x0000f88b,
- 0xc1400000, 0x0000968e, 0x11004044, 0x00006380, 0x12840000, 0x00008980,
- 0xe240e84b, 0x00006002, 0x80005844, 0x0000b406, 0x0002404a, 0x0000e084,
- 0xb0000847, 0x00003401, 0xa740c044, 0x00006000, 0x00040048, 0x0000b486,
- 0x0018e84b, 0x0000e182, 0xe0001847, 0x00003403, 0x4000051d, 0x00006583,
- 0x0028e848, 0x0000a084, 0x1148f71a, 0x00000429, 0x9108f11b, 0x0000842a,
- 0x64400405, 0x0000f88b, 0xc1400000, 0x0000968e, 0x89202404, 0x00001900,
- 0xd6405c24, 0x00007902, 0x01c00000, 0x00000004, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f97, 0xc8d72807, 0x00004411, 0xa4400604, 0x00008b8c,
- 0x9489fb05, 0x0000789b, 0x81400000, 0x00001780, 0x00000421, 0x00009583,
- 0x0902704e, 0x00006110, 0x819a6b4d, 0x0000c910, 0x0901502a, 0x00006108,
- 0x81994b29, 0x0000c908, 0xc010a307, 0x00001502, 0x80103207, 0x00001502,
- 0x0001200b, 0x00009502, 0x00002e51, 0x0000f010, 0x00002e51, 0x0000f010,
- 0x00002e0d, 0x0000f008, 0x81000000, 0x00009981, 0x41000000, 0x00009981,
- 0x40001519, 0x00006583, 0xc000080c, 0x0000a403, 0x00792eec, 0x0000d70c,
- 0x00390000, 0x00000000, 0x11792eec, 0x0000d70c, 0x00390000, 0x00000000,
- 0x00002e9a, 0x00007010, 0x80000604, 0x0000e583, 0xf0000808, 0x0000a401,
- 0x22792eec, 0x00005704, 0x00384000, 0x00000000, 0x01c04000, 0x0000f900,
- 0x0005001a, 0x00000980, 0x200004ec, 0x00005784, 0x00383816, 0x00002a00,
- 0x01800000, 0x0000f900, 0x0015001e, 0x00000980, 0x30e8c806, 0x0000e880,
- 0x203834ec, 0x00005704, 0x00081815, 0x00000480, 0x01a9800c, 0x00001980,
- 0x0028c806, 0x0000e804, 0x203834ec, 0x00005704, 0x00199819, 0x00000080,
- 0x01b0380c, 0x00009980, 0x00002e8c, 0x00007410, 0x04202006, 0x00006901,
- 0x003834ec, 0x0000d704, 0x00000000, 0x00008080, 0x01800000, 0x0000f900,
- 0x00040000, 0x00000980, 0x00000421, 0x00009583, 0x00127006, 0x00006196,
- 0x001a7007, 0x00003196, 0x89194b29, 0x0000e108, 0x891a6b4d, 0x0000c910,
- 0x00195007, 0x0000e18e, 0x00115006, 0x0000b18e, 0xffffffff, 0x00007f86,
- 0x04112007, 0x00006187, 0x00004006, 0x0000b107, 0x11783eec, 0x00005704,
- 0x00383000, 0x00008000, 0xf0000806, 0x00006c01, 0x22783eec, 0x00005704,
- 0x00383000, 0x00008000, 0x01c08000, 0x0000f900, 0x0015001e, 0x00000980,
- 0x200044ec, 0x0000d784, 0x00383812, 0x00000a00, 0x200914ec, 0x0000d784,
- 0x04591811, 0x00000080, 0x01803800, 0x00007900, 0x0002001e, 0x00000980,
- 0x04202006, 0x00006901, 0x203834ec, 0x00005704, 0x00191011, 0x00000280,
- 0x01b01000, 0x00007900, 0x00020018, 0x00000980, 0x04000810, 0x00006380,
- 0x01c046e3, 0x00008081, 0x30e03806, 0x00006880, 0x203834ec, 0x00005704,
- 0x0010a019, 0x00008680, 0xcef922ec, 0x00002004, 0xffffffff, 0x00007fa7,
- 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xcef922ec, 0x00002814,
- 0x61001423, 0x0000788b, 0x69400000, 0x0000968f, 0x00792eec, 0x00005704,
- 0x00390000, 0x00000000, 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80,
- 0x01e81000, 0x0000f900, 0x00020014, 0x00000980, 0x80000604, 0x0000e583,
- 0x090046e3, 0x00000081, 0x30e12007, 0x00006880, 0x20081cec, 0x0000d784,
- 0x00383815, 0x00000400, 0x00002ec2, 0x0000f010, 0x01800000, 0x0000f900,
- 0x00040000, 0x00000980, 0x00000421, 0x00009583, 0x00127006, 0x00006196,
- 0x001a7007, 0x00003196, 0x89194b29, 0x0000e108, 0x891a6b4d, 0x0000c910,
- 0x00195007, 0x0000e18e, 0x00115006, 0x0000b18e, 0xffffffff, 0x00007f86,
- 0x04112007, 0x00006187, 0x00004006, 0x0000b107, 0x11783eec, 0x00005704,
- 0x00383000, 0x00008000, 0xf0000806, 0x00006c01, 0x22783eec, 0x00005704,
- 0x00383000, 0x00008000, 0x01c08000, 0x0000f900, 0x0015001e, 0x00000980,
- 0x200044ec, 0x0000d784, 0x00383812, 0x00000a00, 0x200914ec, 0x0000d784,
- 0x04591811, 0x00000080, 0x01803800, 0x00007900, 0x0002001e, 0x00000980,
- 0x04202006, 0x00006901, 0x203834ec, 0x00005704, 0x00191011, 0x00000280,
- 0x40000d19, 0x00009583, 0x04000810, 0x0000e390, 0x01a8380a, 0x00008990,
- 0x04202006, 0x0000e911, 0x00002f31, 0x00007008, 0x203834ec, 0x00005704,
- 0x00095019, 0x00000680, 0x61001423, 0x0000788b, 0x69400000, 0x0000968f,
- 0x00000421, 0x00006583, 0x00199016, 0x00002106, 0x0011b016, 0x0000e916,
- 0x00002ee8, 0x0000f009, 0x81000000, 0x00009981, 0x08000000, 0x00007900,
- 0x00040000, 0x00000980, 0x0400b020, 0x0000e107, 0x0800b214, 0x00003106,
- 0x0942604c, 0x00006100, 0x0a01b519, 0x00006002, 0x88126a4d, 0x00009900,
- 0x8701870c, 0x0000788f, 0x49400000, 0x00009780, 0x80040635, 0x00001583,
- 0x0931ae35, 0x0000e111, 0xc3c00000, 0x00004989, 0x00002dfc, 0x0000f009,
- 0x0183e824, 0x00001282, 0x09007d18, 0x00009289, 0x00002fa5, 0x00007011,
- 0xd9600c24, 0x00004289, 0xc8401424, 0x00008b8d, 0xec008622, 0x0000f897,
- 0xe1400000, 0x0000178c, 0x00000421, 0x00006583, 0x85999332, 0x00000900,
- 0x8591b236, 0x00001910, 0x00002ecf, 0x0000f011, 0x08000000, 0x00007900,
- 0x00040000, 0x00000980, 0x0400b020, 0x0000e107, 0x0800b214, 0x00003106,
- 0x81000000, 0x0000e181, 0x0801ad19, 0x0000e002, 0x08394429, 0x00008214,
- 0x8701870c, 0x0000788f, 0x49400000, 0x00009780, 0xceb924ec, 0x00002084,
- 0xc728200c, 0x0000e803, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x09000824, 0x00001090, 0xceb924ec, 0x00002894, 0xd4c9fb05, 0x0000459a,
- 0x6a61870c, 0x00006d8b, 0x000030ec, 0x0000f902, 0x02400000, 0x00000704,
- 0xffffffff, 0x00007fa7, 0x0bc03424, 0x00006000, 0x0c003407, 0x00003000,
- 0x01612407, 0x00001303, 0x41302604, 0x0000e109, 0x0c019306, 0x0000e116,
- 0x81e02404, 0x00001910, 0x00002da9, 0x00007008, 0x00000421, 0x00009583,
- 0x001a6806, 0x0000e196, 0x00194806, 0x0000318e, 0x0901502a, 0x00006108,
- 0x0902704e, 0x00004910, 0x00002da9, 0x00007400, 0xd6783407, 0x00002804,
- 0xd6792407, 0x0000a884, 0x00000421, 0x00006583, 0x02000000, 0x00000980,
- 0x02c2704e, 0x0000e110, 0xc1da6b4d, 0x0000c910, 0x02c1502a, 0x0000e108,
- 0xc1d94b29, 0x0000c908, 0x000004e3, 0x0000e583, 0x01ff1fe3, 0x00000901,
- 0x41e02404, 0x00001901, 0x01000020, 0x00009988, 0x00002f5b, 0x00007010,
- 0x03cf0800, 0x00007900, 0x003884ca, 0x00000980, 0x81012000, 0x00001980,
- 0x04a3e800, 0x00007900, 0x001b7e4e, 0x00008980, 0xc1002800, 0x00006181,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x2f210fe7, 0x00007500,
- 0x03385f02, 0x00000018, 0x02804008, 0x00009900, 0x000030ec, 0x0000f902,
- 0x01400000, 0x00000704, 0xb3a00504, 0x0000428b, 0x4e41870c, 0x00008b8e,
- 0xe3402622, 0x00007897, 0x89400000, 0x0000178b, 0x0c003424, 0x0000e000,
- 0x0bc03404, 0x0000b000, 0x01212404, 0x00009303, 0xc000080c, 0x0000e40b,
- 0xc000180c, 0x00003413, 0x001018ec, 0x00005780, 0x00007000, 0x00000080,
- 0xe000000c, 0x00006c01, 0x00908eec, 0x00005f80, 0x00007000, 0x00008084,
- 0x81c002ec, 0x00005684, 0x00400000, 0x00008000, 0x01800000, 0x00006180,
- 0x00104807, 0x00006186, 0x04184807, 0x0000e187, 0x04104006, 0x00003187,
- 0x81f83cec, 0x0000d604, 0x00383000, 0x00008000, 0x04000810, 0x00006380,
- 0x07e8380a, 0x00008980, 0x0420201f, 0x0000e901, 0xffffffff, 0x00007ff7,
- 0xffffffff, 0x0000ffd7, 0x81f832ec, 0x00002684, 0xffffffff, 0x00007fa7,
- 0x89001406, 0x00001880, 0x4b40be24, 0x0000f902, 0x05800000, 0x00000004,
- 0x4b80a824, 0x00007902, 0x05000000, 0x00008004, 0x4b804a24, 0x00007902,
- 0x02000000, 0x00000004, 0x4b803c24, 0x0000f902, 0x01800000, 0x00008004,
- 0x200384ec, 0x0000d784, 0x0038f81a, 0x00008000, 0x0038bcec, 0x0000d704,
- 0x0038b000, 0x00000000, 0x0038acec, 0x00005704, 0x0038a000, 0x00008000,
- 0x00384cec, 0x0000d704, 0x00384000, 0x00000000, 0x00383cec, 0x00005704,
- 0x00383000, 0x00008000, 0x01f0d800, 0x00007900, 0x00020018, 0x00000980,
- 0x200924ec, 0x0000d784, 0x00383815, 0x00000400, 0x000994ec, 0x0000d784,
- 0x00000019, 0x00008280, 0x61001423, 0x0000788b, 0x69400000, 0x0000968f,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x220f0800, 0x00007900,
- 0x003884ca, 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x2f671014, 0x00007500, 0x1d785f07, 0x00008914, 0x62800024, 0x000089d0,
- 0x2f69109f, 0x0000f300, 0x0e40a000, 0x00001980, 0xce783eec, 0x0000a004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072807, 0x00001502,
- 0x01c00807, 0x00001090, 0xce783eec, 0x0000a814, 0xc5c9fb05, 0x0000459a,
- 0x62e1870c, 0x0000658f, 0xceb924ec, 0x0000a004, 0xc000000c, 0x00006c05,
- 0x001018ec, 0x00005780, 0x00007000, 0x00000080, 0xc728200c, 0x0000e803,
- 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb924ec, 0x0000a814,
- 0x00908eec, 0x00005f80, 0x00007000, 0x00008084, 0x000028ec, 0x0000f902,
- 0x02400000, 0x00000704, 0xffffffff, 0x00007fa7, 0x0bc02c24, 0x00006000,
- 0x0c002c07, 0x00003000, 0x01612407, 0x00001303, 0x41302604, 0x0000e109,
- 0x0c019305, 0x0000e116, 0x81e02404, 0x00001910, 0x00002f21, 0x0000f008,
- 0x00000421, 0x00009583, 0x001a6805, 0x0000e196, 0x00194805, 0x0000318e,
- 0x0901502a, 0x00006108, 0x0902704e, 0x00004910, 0x00002f21, 0x0000f400,
- 0xd6782c07, 0x00002804, 0xd6792407, 0x0000a884, 0x00000421, 0x00006583,
- 0x02000000, 0x00000980, 0x02c2704e, 0x0000e110, 0x891a6b4d, 0x0000c910,
- 0x02c1502a, 0x0000e108, 0x89194b29, 0x0000c908, 0x000004e3, 0x0000e583,
- 0x01ff1fe3, 0x00000901, 0x81d82124, 0x0000001e, 0x01000020, 0x00009988,
- 0x00002ff5, 0x0000f010, 0x00002f19, 0x00007400, 0x03d55800, 0x0000f900,
- 0x003884cc, 0x00000980, 0x81012000, 0x00001980, 0xceb922ec, 0x0000a004,
- 0x81000000, 0x0000e181, 0xc000000c, 0x0000e403, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb922ec, 0x0000a814,
- 0x80400421, 0x0000f88b, 0x81400000, 0x00001786, 0x81004622, 0x00001283,
- 0x81000000, 0x00006189, 0xc000000c, 0x0000640b, 0xceb926ec, 0x0000a00c,
- 0x00002fc3, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x09000824, 0x00001090, 0xceb926ec, 0x00002814, 0x80400421, 0x0000f88b,
- 0x81400000, 0x00001786, 0x000004e3, 0x0000e583, 0x0e00c70b, 0x00002006,
- 0x82ff1fe3, 0x0000e100, 0x82e02404, 0x00004901, 0x02299416, 0x00008020,
- 0x00002fcf, 0x0000f010, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03c9c800, 0x00007900, 0x00151b50, 0x00000980, 0x04aee800, 0x0000f900,
- 0x000e1256, 0x00000980, 0x02800000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x2fc30fe7, 0x00007500, 0x03385f02, 0x0000801c,
- 0x81008000, 0x0000e180, 0x01804008, 0x0000c900, 0x000004e3, 0x0000e583,
- 0x81ff1fe3, 0x00000900, 0x41e9ae04, 0x0000801e, 0x02f95f34, 0x00008020,
- 0x00002fe6, 0x00007010, 0x01000020, 0x00001980, 0x03c7a800, 0x0000f900,
- 0x00151b50, 0x00000980, 0x00002f1b, 0x0000f400, 0x04a9c000, 0x00007900,
- 0x003be25c, 0x00000980, 0x81007800, 0x00001980, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x2209c800, 0x00007900, 0x00151b50, 0x00000980,
- 0x226ee800, 0x00007900, 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x2fdb1014, 0x0000f500,
- 0x1d78470b, 0x00008914, 0x62800010, 0x000009d0, 0x0e404000, 0x00009980,
- 0x2fdd109f, 0x00007100, 0xce7926ec, 0x00002004, 0x81000000, 0x0000e181,
- 0xc000000c, 0x0000e403, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x80400421, 0x0000f88b,
- 0x81400000, 0x00001786, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x2207a800, 0x0000f900, 0x00151b50, 0x00000980, 0x2269c000, 0x0000f900,
- 0x003be25c, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x2ff31014, 0x0000f500, 0x1d79a707, 0x00008914,
- 0xa2807800, 0x00006180, 0x2501582b, 0x00004900, 0x00002fdc, 0x00007200,
- 0x0e403800, 0x00009980, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x22155800, 0x0000f900, 0x003884cc, 0x00000980, 0x2263e800, 0x0000f900,
- 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x30011014, 0x0000f500, 0x1d785f07, 0x00008914,
- 0x62800024, 0x000089d0, 0x3003109f, 0x00007300, 0x0e40a000, 0x00001980,
- 0xce783eec, 0x0000a004, 0xc000000c, 0x00006c05, 0x001018ec, 0x00005780,
- 0x00007000, 0x00000080, 0xffffffff, 0x00007f86, 0x00072807, 0x00001502,
- 0x01c00807, 0x00001090, 0xce783eec, 0x0000a814, 0x00908eec, 0x00005f80,
- 0x00007000, 0x00008084, 0x0379f80d, 0x00007900, 0x003ffffe, 0x00008280,
- 0x0e424425, 0x00006000, 0x0000000d, 0x00003585, 0x0f80ec27, 0x00006000,
- 0x6601080d, 0x0000b000, 0x04c00000, 0x0000e180, 0x7601080d, 0x00006000,
- 0x8b416e07, 0x00007902, 0x0b000000, 0x00000004, 0x0300080c, 0x00006380,
- 0x04000000, 0x00000980, 0x04400000, 0x000001c8, 0x02110220, 0x00006100,
- 0x09a12c27, 0x00004301, 0x01c00c1c, 0x0000e080, 0xc4e0e41c, 0x0000c901,
- 0x00003808, 0x0000f810, 0x00000000, 0x00000000, 0x22020521, 0x0000f88e,
- 0x01800001, 0x00008060, 0x0040452d, 0x0000c58d, 0x95c00635, 0x00000f96,
- 0x0000142d, 0x0000e583, 0x04000810, 0x00000380, 0x00003081, 0x00007013,
- 0x00000426, 0x0000e583, 0x11000000, 0x00008980, 0x11800000, 0x0000e180,
- 0x7140c044, 0x0000e000, 0x11c00000, 0x00006180, 0x11004044, 0x00004388,
- 0x00003112, 0x0000f010, 0x00000427, 0x00006583, 0x80005844, 0x00002406,
- 0x1140d01a, 0x00006100, 0xa740c044, 0x00006000, 0xd110da1b, 0x00009900,
- 0x00003076, 0x0000f010, 0x0140141d, 0x0000e281, 0x40000844, 0x0000a402,
- 0x01613c05, 0x00006303, 0x91972ae5, 0x00000900, 0x0c40c424, 0x0000e010,
- 0x02000049, 0x0000b597, 0x09001424, 0x0000e091, 0x8000e048, 0x00002092,
- 0x41212044, 0x0000e012, 0x0000e049, 0x0000b193, 0x00001418, 0x0000f894,
- 0x00000000, 0x00000000, 0x11007d18, 0x0000788e, 0x01800001, 0x00008060,
- 0x0100452d, 0x0000458c, 0x80800706, 0x00008892, 0x81801635, 0x00009283,
- 0x81c0131b, 0x00009890, 0x86503a19, 0x00006110, 0xc658ca07, 0x00008010,
- 0x41c0452d, 0x00001283, 0x000030c5, 0x00007013, 0x0d416c07, 0x00006000,
- 0x0801ac04, 0x00003002, 0x09006405, 0x0000e802, 0x3dc00405, 0x0000f88a,
- 0x01800001, 0x00008000, 0x00000407, 0x00007888, 0x00000000, 0x00000000,
- 0x00000c05, 0x0000f88a, 0x00000000, 0x00008020, 0x0ae01404, 0x0000ca88,
- 0x27a01404, 0x00009092, 0xffffffff, 0x00007f86, 0x56c04006, 0x0000f902,
- 0x01c00000, 0x00008000, 0x56805a06, 0x0000f902, 0x02800000, 0x00000000,
- 0xffffffff, 0x00007f97, 0x0200431b, 0x00001002, 0x02c05a19, 0x0000e002,
- 0x01c00007, 0x00000084, 0x00000426, 0x0000e583, 0x0280000a, 0x00000084,
- 0x56f84006, 0x00005000, 0x00383800, 0x00000000, 0x56b85a06, 0x00005000,
- 0x00385000, 0x00008000, 0x00003090, 0x00007010, 0x01c00000, 0x00007900,
- 0x001f0000, 0x00000980, 0x41810518, 0x00006283, 0x0018c807, 0x0000a186,
- 0x20383eec, 0x00005600, 0x0038b800, 0x00008000, 0x01800020, 0x00006188,
- 0x08001a04, 0x0000e10e, 0x00003141, 0x0000f010, 0x00102006, 0x0000e184,
- 0xe000000c, 0x0000b401, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x001018ec, 0x00005780, 0x00007000, 0x00000080, 0x00908eec, 0x00005f80,
- 0x00007000, 0x00008084, 0x01400c1d, 0x00009283, 0x09000800, 0x0000e189,
- 0x09001000, 0x0000c991, 0xffffffff, 0x00007f86, 0x09003747, 0x00006281,
- 0xe3a12048, 0x0000a002, 0x00001424, 0x00001583, 0x0c40c424, 0x00006808,
- 0x00003034, 0x0000f400, 0x09001424, 0x00001089, 0x96612047, 0x0000680b,
- 0xceb920ec, 0x0000a084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x00003027, 0x00007400, 0x09000824, 0x00001090,
- 0xceb920ec, 0x0000a894, 0xce7926ec, 0x0000a084, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090,
- 0xce7926ec, 0x0000a894, 0xf2c0452d, 0x0000c58d, 0x8f000635, 0x00008990,
- 0x0c825c24, 0x00006802, 0x85212424, 0x00001900, 0x80001214, 0x00001582,
- 0x85003209, 0x00006088, 0x85404a09, 0x00008088, 0x0000309b, 0x00007009,
- 0x80001a14, 0x00009582, 0x85405209, 0x0000e088, 0x85003a09, 0x00008088,
- 0x85004209, 0x0000e090, 0x85405a09, 0x00000090, 0xffffffff, 0x00007f86,
- 0xe3403c15, 0x0000f902, 0x01800000, 0x00008004, 0xe3404c14, 0x0000f902,
- 0x02000000, 0x00000004, 0xffffffff, 0x00007f97, 0x01c03b1b, 0x00001002,
- 0x02404a19, 0x0000e002, 0x01800006, 0x00000084, 0x02000008, 0x00009084,
- 0x00003065, 0x00007400, 0xe3783c15, 0x0000d004, 0x00383000, 0x00008000,
- 0xe3784c14, 0x0000d004, 0x00384000, 0x00000000, 0x56c0a806, 0x0000f902,
- 0x05000000, 0x00000000, 0x56804206, 0x0000f902, 0x01c00000, 0x00008000,
- 0xe380e209, 0x00007902, 0x06800000, 0x00000004, 0xe3405c09, 0x00007902,
- 0x02800000, 0x00008004, 0x0540ab1b, 0x00001002, 0x02004219, 0x0000e002,
- 0x05000014, 0x00000084, 0x0700e31b, 0x0000e002, 0x01c00007, 0x00000084,
- 0x02c05a19, 0x0000e002, 0x0680001a, 0x00000084, 0x00000426, 0x0000e583,
- 0x0280000a, 0x00000084, 0x56f8a806, 0x00005000, 0x0038a000, 0x00008000,
- 0x56b84206, 0x00005000, 0x00383800, 0x00000000, 0x00003065, 0x0000f408,
- 0xe3b8e209, 0x00005004, 0x0038d000, 0x00000000, 0xe3785c09, 0x00005004,
- 0x00385000, 0x00008000, 0x00003090, 0x0000f000, 0xc0000706, 0x00009583,
- 0x0000304a, 0x0000f013, 0x81800800, 0x00009981, 0x60c01523, 0x00004290,
- 0x98600609, 0x00000c89, 0xcc000609, 0x0000f88a, 0x91800000, 0x00009987,
- 0x000058ec, 0x00007902, 0x01c00000, 0x00008704, 0x1a800606, 0x0000c18a,
- 0x0061870c, 0x00008090, 0xef49fb05, 0x0000459a, 0x77a1870c, 0x00000288,
- 0xc600262c, 0x00007896, 0xf1800000, 0x00009987, 0x0c005c24, 0x00006000,
- 0x0bc05c15, 0x00003000, 0x01612415, 0x00001303, 0x090046e3, 0x0000e089,
- 0xc000100c, 0x00002413, 0x0228380a, 0x00009988, 0x000030eb, 0x00007010,
- 0x01e81000, 0x0000f900, 0x00020014, 0x00000980, 0x30e12007, 0x0000e080,
- 0x04202008, 0x00003101, 0x20383cec, 0x0000d704, 0x00384000, 0x00000000,
- 0x000854ec, 0x00005784, 0x00000015, 0x00000680, 0x000058ec, 0x00007902,
- 0x01c00000, 0x00008704, 0xffffffff, 0x00007fa7, 0x0c005c24, 0x00006000,
- 0x0bc05c15, 0x00003000, 0x01612415, 0x00001303, 0xc000080c, 0x0000e40b,
- 0xc000180c, 0x00003413, 0xc009fb05, 0x00001582, 0xc141870c, 0x00001283,
- 0xffffffff, 0x00007f86, 0x0000304a, 0x00007018, 0x0000304a, 0x0000f008,
- 0x00080023, 0x0000ed87, 0x00202023, 0x0000e886, 0x09006623, 0x0000e802,
- 0x0000304a, 0x0000f400, 0xa579460a, 0x0000d004, 0x00395800, 0x00008000,
- 0xa5b9180a, 0x0000a884, 0x85403206, 0x00009080, 0x56803a15, 0x00007902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x01c03b1b, 0x00001002,
- 0x00000426, 0x0000e583, 0x01800006, 0x00000084, 0x56b83a15, 0x0000d000,
- 0x00383000, 0x00008000, 0x0c825c14, 0x0000e812, 0x00003065, 0x00007008,
- 0x82e0a414, 0x00009900, 0x8000120b, 0x00009582, 0x82c06209, 0x00001088,
- 0x00003109, 0x00007009, 0x80001a0b, 0x00001582, 0x82c07209, 0x00006090,
- 0x82c06a09, 0x00000088, 0xffffffff, 0x00007f86, 0xe3403c0b, 0x0000f902,
- 0x01800000, 0x00008004, 0xffffffff, 0x00007fa7, 0x01c03b1b, 0x00001002,
- 0x00003065, 0x00007400, 0x01800006, 0x00009084, 0xe3783c0b, 0x0000d004,
- 0x00383000, 0x00008000, 0x00000418, 0x00009583, 0x00000427, 0x00006583,
- 0x90000847, 0x0000a44b, 0x1140d01a, 0x0000e108, 0x11004044, 0x00004388,
- 0xb0000847, 0x0000e409, 0x80005844, 0x0000340e, 0x00003197, 0x00007010,
- 0xa740c044, 0x00006000, 0xe0001847, 0x00003403, 0xd110da1b, 0x00009900,
- 0x0d000427, 0x0000f88a, 0xb1800000, 0x00001883, 0x00000425, 0x0000e583,
- 0x82400000, 0x00008981, 0x000031ae, 0x00007013, 0x0ac00000, 0x0000f900,
- 0x00040000, 0x00000980, 0xc181870c, 0x0000e283, 0x0400b02b, 0x0000a107,
- 0x0800b214, 0x00006106, 0x0801ad23, 0x0000b002, 0x8ad14a29, 0x00001900,
- 0x0000313d, 0x00007008, 0x41c0852d, 0x0000e283, 0x07c14028, 0x00008900,
- 0x02c1582b, 0x00001900, 0x000031b7, 0x00007011, 0xc009fb05, 0x0000e582,
- 0x82400800, 0x00000981, 0x000031cc, 0x0000701b, 0xa540a60a, 0x0000f902,
- 0x02000000, 0x00000004, 0xa5b8380a, 0x00002084, 0xc1800000, 0x00009981,
- 0xffffffff, 0x00007f86, 0x00014014, 0x00001502, 0x00015808, 0x00009502,
- 0x00202407, 0x00009503, 0x000031cd, 0x00007010, 0x000031cd, 0x00007010,
- 0x000031cd, 0x00007010, 0xc730380c, 0x0000e803, 0x04000810, 0x00006380,
- 0xc1800800, 0x00008981, 0x09c0142d, 0x0000f88a, 0x09800000, 0x00009884,
- 0x41400d05, 0x00009283, 0x15001000, 0x00007910, 0x00008000, 0x00000980,
- 0x15580800, 0x0000f910, 0x00044040, 0x00000980, 0x0000316c, 0x0000f008,
- 0x15c00000, 0x0000e180, 0xe000000c, 0x0000e401, 0x16800000, 0x00006180,
- 0x00001857, 0x00006106, 0x16020000, 0x0000f900, 0x00040000, 0x00000980,
- 0x001018ec, 0x00005780, 0x00007000, 0x00000080, 0x15801002, 0x0000e100,
- 0xc0001857, 0x0000e006, 0x16400040, 0x000005ec, 0x43012000, 0x00006181,
- 0xd698c318, 0x0000c900, 0x16b0b616, 0x00001901, 0x00908eec, 0x00005f80,
- 0x00d07540, 0x00000184, 0x00000c04, 0x00009583, 0x85402206, 0x00006088,
- 0x85402a06, 0x00008090, 0x89001206, 0x0000e090, 0x89000a06, 0x00008088,
- 0x56805215, 0x0000f902, 0x02000000, 0x00008000, 0x56803a24, 0x0000f902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007f97, 0x0280531b, 0x00001002,
- 0x01c03a19, 0x0000e002, 0x02000008, 0x00000084, 0x00000426, 0x0000e583,
- 0x01800006, 0x00000084, 0x56b85215, 0x00005000, 0x00384000, 0x00000000,
- 0x56b83a24, 0x00005000, 0x00383000, 0x00008000, 0x00003065, 0x00007008,
- 0x00003090, 0x0000f000, 0x01400020, 0x0000e180, 0x08001a15, 0x00006106,
- 0x15d00002, 0x0000e180, 0x0010a805, 0x0000e184, 0x15800000, 0x00006180,
- 0x00282057, 0x0000e080, 0x8440b057, 0x0000e000, 0xe000000c, 0x0000b401,
- 0x733828ec, 0x0000d600, 0x00000000, 0x00008080, 0x00182056, 0x00006100,
- 0x0000b057, 0x0000b085, 0x001018ec, 0x00005780, 0x00007000, 0x00000080,
- 0x15083804, 0x00006180, 0x15400000, 0x00004980, 0x15a0bd18, 0x000080b2,
- 0x00908eec, 0x00005f80, 0x00d07540, 0x000000c4, 0x80040635, 0x00001583,
- 0x0931ae35, 0x0000e111, 0xc3c00000, 0x00004989, 0x0000311f, 0x0000f009,
- 0x01c3e824, 0x00009282, 0x09007d18, 0x00009289, 0x00003278, 0x00007011,
- 0x35200c24, 0x0000c288, 0x14601424, 0x00000c8b, 0xa0c0862c, 0x00007896,
- 0x79800000, 0x00001983, 0x00000425, 0x0000e583, 0x85999332, 0x00000900,
- 0x8591b236, 0x00001910, 0x000031ad, 0x0000f011, 0x0ac00000, 0x0000f900,
- 0x00040000, 0x00000980, 0x0400b02b, 0x00006107, 0x0800b214, 0x00003106,
- 0x82400000, 0x00006181, 0x0801ad23, 0x0000e002, 0x8ad14a29, 0x00001900,
- 0x4f41870c, 0x0000f88e, 0x51800000, 0x00009889, 0x11004044, 0x00006380,
- 0x12840000, 0x00008980, 0xe240e84b, 0x00006002, 0x80005844, 0x0000b406,
- 0x0002404a, 0x0000e084, 0xb0000847, 0x00003401, 0xa740c044, 0x00006000,
- 0x00040048, 0x0000b486, 0x4000051d, 0x00006583, 0x0018e84b, 0x00002182,
- 0x0028e848, 0x00006084, 0xe0001847, 0x00003403, 0x1140d01a, 0x00006100,
- 0x0740e835, 0x00006012, 0x5288f11e, 0x0000042a, 0xd110da1b, 0x00009900,
- 0x0d000427, 0x0000f88a, 0xb1800000, 0x00001883, 0x00000425, 0x0000e583,
- 0x00199016, 0x00002106, 0x0011b016, 0x0000e916, 0x0000318e, 0x00007009,
- 0x82400000, 0x00001981, 0x0ac00000, 0x0000f900, 0x00040000, 0x00000980,
- 0x0400b02b, 0x00006107, 0x0800b214, 0x00003106, 0x0a02604c, 0x0000e100,
- 0x0a01b523, 0x00006002, 0x8ad26a4d, 0x00001900, 0x4f41870c, 0x0000f88e,
- 0x51800000, 0x00009889, 0x89202404, 0x00001900, 0xd6404424, 0x00007902,
- 0x01c00000, 0x00000004, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x38172807, 0x0000c410, 0x98600609, 0x00008c8b, 0x7309fb05, 0x0000789a,
- 0x89800000, 0x00009889, 0x00000425, 0x00001583, 0x0902704e, 0x00006110,
- 0x855a6b4d, 0x00004910, 0x0901502a, 0x00006108, 0x85594b29, 0x00004908,
- 0xc010a307, 0x00001502, 0x8010aa07, 0x00009502, 0x00012008, 0x00009502,
- 0x000031cb, 0x00007010, 0x000031cb, 0x00007010, 0x0000312e, 0x0000f008,
- 0x82400000, 0x00001981, 0xc1800000, 0x00009981, 0x40001523, 0x00006583,
- 0xc000080c, 0x0000a403, 0x007946ec, 0x0000570c, 0x00395800, 0x00008000,
- 0x117946ec, 0x0000570c, 0x00395800, 0x00008000, 0x00003214, 0x0000f010,
- 0x80000609, 0x00006583, 0xf000080b, 0x0000a401, 0x227946ec, 0x0000d704,
- 0x00385800, 0x00000000, 0x02004000, 0x0000f900, 0x0005001a, 0x00000980,
- 0x200004ec, 0x00005784, 0x00384016, 0x00002a00, 0x01c00000, 0x00007900,
- 0x0015001e, 0x00000980, 0x30e91807, 0x00006880, 0x20383cec, 0x0000d704,
- 0x00081815, 0x00000480, 0x01e9800c, 0x00009980, 0x00291807, 0x00006804,
- 0x20383cec, 0x0000d704, 0x00199819, 0x00000080, 0x01f0380c, 0x00001980,
- 0x00003206, 0x00007410, 0x04202007, 0x0000e901, 0x00383cec, 0x00005704,
- 0x00000000, 0x00008080, 0x01c00000, 0x00007900, 0x00040000, 0x00000980,
- 0x00000425, 0x00001583, 0x00127007, 0x0000e196, 0x001a7008, 0x00003196,
- 0x89194b29, 0x0000e108, 0x891a6b4d, 0x0000c910, 0x00195008, 0x0000e18e,
- 0x00115007, 0x0000318e, 0xffffffff, 0x00007f86, 0x04112008, 0x00006187,
- 0x00005807, 0x00003107, 0x117846ec, 0x00005704, 0x00383800, 0x00000000,
- 0xf0000807, 0x0000ec01, 0x227846ec, 0x00005704, 0x00383800, 0x00000000,
- 0x02008000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784,
- 0x00384012, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811, 0x00000080,
- 0x01c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202007, 0x0000e901,
- 0x20383cec, 0x0000d704, 0x00191011, 0x00000280, 0x01f01000, 0x0000f900,
- 0x00020018, 0x00000980, 0x04000810, 0x00006380, 0x02c046e3, 0x00008081,
- 0x30e05807, 0x0000e880, 0x20383cec, 0x0000d704, 0x0010a019, 0x00008680,
- 0xcef922ec, 0x00002004, 0xffffffff, 0x00007fa7, 0x00072824, 0x00009502,
- 0x09000824, 0x00001090, 0xcef922ec, 0x00002814, 0x09c0142d, 0x0000f88a,
- 0x09800000, 0x00009884, 0x007946ec, 0x0000d704, 0x00395800, 0x00008000,
- 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x02281000, 0x0000f900,
- 0x00020014, 0x00000980, 0x80000609, 0x00006583, 0x090046e3, 0x00000081,
- 0x30e12008, 0x00006880, 0x20081cec, 0x0000d784, 0x00384015, 0x00000400,
- 0x0000323c, 0x0000f010, 0x01c00000, 0x00007900, 0x00040000, 0x00000980,
- 0x00000425, 0x00001583, 0x00127007, 0x0000e196, 0x001a7008, 0x00003196,
- 0x89194b29, 0x0000e108, 0x891a6b4d, 0x0000c910, 0x00195008, 0x0000e18e,
- 0x00115007, 0x0000318e, 0xffffffff, 0x00007f86, 0x04112008, 0x00006187,
- 0x00005807, 0x00003107, 0x117846ec, 0x00005704, 0x00383800, 0x00000000,
- 0xf0000807, 0x0000ec01, 0x227846ec, 0x00005704, 0x00383800, 0x00000000,
- 0x02008000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784,
- 0x00384012, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811, 0x00000080,
- 0x01c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x04202007, 0x0000e901,
- 0x20383cec, 0x0000d704, 0x00191011, 0x00000280, 0x40000d23, 0x00009583,
- 0x04000810, 0x0000e390, 0x01e8380a, 0x00000990, 0x04202007, 0x00006911,
- 0x00003245, 0x00007008, 0x20383cec, 0x0000d704, 0x00095019, 0x00000680,
- 0x09c0142d, 0x0000f88a, 0x09800000, 0x00009884, 0x81c002ec, 0x00005684,
- 0x00400000, 0x00008000, 0x01c00000, 0x0000e180, 0x0010f808, 0x0000e186,
- 0x0418f808, 0x00006187, 0x04105807, 0x0000b187, 0x81f844ec, 0x0000d604,
- 0x00383800, 0x00000000, 0x04000810, 0x00009380, 0xffffffff, 0x00007ff7,
- 0xffffffff, 0x0000ffe7, 0x81f83aec, 0x0000a684, 0xffffffff, 0x00007fa7,
- 0x89001407, 0x00009880, 0x4b411624, 0x0000f902, 0x08400000, 0x00008004,
- 0x4b810024, 0x00007902, 0x07c00000, 0x00000004, 0x4b80a224, 0x00007902,
- 0x02c00000, 0x00000004, 0x4b804424, 0x0000f902, 0x01c00000, 0x00000004,
- 0x0928380a, 0x00009980, 0x04202024, 0x00006901, 0x200384ec, 0x0000d784,
- 0x0039201a, 0x00000000, 0x003914ec, 0x0000d704, 0x00390800, 0x00008000,
- 0x003904ec, 0x00005704, 0x0038f800, 0x00000000, 0x0038a4ec, 0x0000d704,
- 0x00385800, 0x00000000, 0x003844ec, 0x00005704, 0x00383800, 0x00000000,
- 0x0230d800, 0x00007900, 0x00020018, 0x00000980, 0x200924ec, 0x0000d784,
- 0x00384015, 0x00000400, 0x000994ec, 0x0000d784, 0x00000019, 0x00008280,
- 0x09c0142d, 0x0000f88a, 0x09800000, 0x00009884, 0xceb922ec, 0x0000a004,
- 0x82400000, 0x00006181, 0xc000000c, 0x0000e403, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x09000824, 0x00001090, 0xceb922ec, 0x0000a814,
- 0x48800425, 0x0000788a, 0x71800000, 0x0000988d, 0x8180462c, 0x00001283,
- 0x82400000, 0x0000e189, 0xc000000c, 0x0000640b, 0xceb926ec, 0x0000a00c,
- 0x00003296, 0x0000f010, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x09000824, 0x00001090, 0xceb926ec, 0x00002814, 0x48800425, 0x0000788a,
- 0x71800000, 0x0000988d, 0x000004e3, 0x0000e583, 0x0e00c714, 0x0000a006,
- 0x853f1fe3, 0x00006100, 0x85202404, 0x0000c901, 0x02e99416, 0x0000802c,
- 0x000032a7, 0x00007010, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03c9c800, 0x00007900, 0x00151b50, 0x00000980, 0x04aee800, 0x0000f900,
- 0x000e1256, 0x00000980, 0x02800000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x32960fe7, 0x00007500, 0x0338a702, 0x0000001c,
- 0x81008000, 0x0000e180, 0x0180580b, 0x0000c900, 0x000004e3, 0x0000e583,
- 0x853f1fe3, 0x00008900, 0x4529ae04, 0x00008112, 0x02f95f34, 0x00008020,
- 0x000032be, 0x0000f010, 0x01000020, 0x00001980, 0x03c7a800, 0x0000f900,
- 0x00151b50, 0x00000980, 0x04a9c000, 0x00007900, 0x003be25c, 0x00000980,
- 0x81007800, 0x00001980, 0xc1002800, 0x00006181, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x32a70fe7, 0x0000f500, 0x0338a702, 0x0000001c,
- 0x02b85f08, 0x00000018, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x2209c800, 0x00007900, 0x00151b50, 0x00000980, 0x226ee800, 0x00007900,
- 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x32b31014, 0x00007500, 0x1d785f14, 0x00000914,
- 0x62800010, 0x000009d0, 0x0e404000, 0x00009980, 0x32b5109f, 0x0000f100,
- 0xce7926ec, 0x00002004, 0x82400000, 0x00006181, 0xc000000c, 0x0000e403,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090,
- 0xce7926ec, 0x00002814, 0x48800425, 0x0000788a, 0x71800000, 0x0000988d,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x2207a800, 0x0000f900,
- 0x00151b50, 0x00000980, 0x2269c000, 0x0000f900, 0x003be25c, 0x00000980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x32cb1014, 0x00007500, 0x1d79a714, 0x00000914, 0xa2807800, 0x00006180,
- 0x2501582b, 0x00004900, 0x000032b4, 0x0000f200, 0x0e403800, 0x00009980,
- 0x00000c04, 0x00009583, 0x82c02206, 0x00006088, 0x82c02a06, 0x00008090,
- 0x85000a06, 0x0000e088, 0x85001206, 0x00008090, 0x5680520b, 0x0000f902,
- 0x02000000, 0x00008000, 0x56803a14, 0x0000f902, 0x01800000, 0x00000000,
- 0x85402209, 0x00006088, 0x89000a09, 0x00008088, 0x89001209, 0x0000e090,
- 0x85402a09, 0x00008090, 0x0280531b, 0x00001002, 0x01c03a19, 0x0000e002,
- 0x02000008, 0x00000084, 0x56b83a14, 0x0000a880, 0xe3783c15, 0x0000a084,
- 0x01800006, 0x00009084, 0x56b8520b, 0x00005000, 0x00384000, 0x00000000,
- 0x56b83214, 0x0000a800, 0xe3405424, 0x0000f902, 0x02000000, 0x00000004,
- 0xe3783415, 0x0000a004, 0x01c03b1b, 0x00001002, 0xe3783c15, 0x00002884,
- 0xffffffff, 0x00007f86, 0x02805219, 0x0000e002, 0x01800006, 0x00000084,
- 0x00000426, 0x0000e583, 0x02000008, 0x00000084, 0xe3783415, 0x00002804,
- 0xe3785424, 0x0000d004, 0x00384000, 0x00000000, 0x00003065, 0x00007008,
- 0x00003090, 0x0000f000, 0x000040ec, 0x00007902, 0x01c00000, 0x00008704,
- 0x09400606, 0x0000428a, 0xf061870c, 0x00008c8d, 0xd600262c, 0x0000f896,
- 0x49800000, 0x00001989, 0x0c004424, 0x00006000, 0x0bc04415, 0x00003000,
- 0x0000304a, 0x0000f400, 0x01212415, 0x00009303, 0xc000080c, 0x0000e40b,
- 0xc000180c, 0x00003413, 0xceb924ec, 0x00002084, 0xc730300c, 0x00006803,
- 0xffffffff, 0x00007f97, 0x00072824, 0x00009502, 0x09000824, 0x00001090,
- 0xceb924ec, 0x00002894, 0xa8c9fb05, 0x0000c59a, 0x5461870c, 0x0000de8e,
- 0x000038ec, 0x00007902, 0x02c00000, 0x00008704, 0xffffffff, 0x00007fa7,
- 0x0bc03c24, 0x0000e000, 0x0c003c15, 0x0000b000, 0x01612415, 0x00001303,
- 0x81b04e09, 0x00006109, 0x0c019307, 0x00006116, 0x85602404, 0x00001910,
- 0x000030cc, 0x00007008, 0x00000425, 0x00001583, 0x001a6807, 0x00006196,
- 0x00194807, 0x0000b18e, 0x0901502a, 0x00006108, 0x0902704e, 0x00004910,
- 0x000030cc, 0x00007400, 0xd6783c15, 0x0000a804, 0xd6792415, 0x0000a884,
- 0x00000425, 0x0000e583, 0x02000000, 0x00000980, 0x02c2704e, 0x0000e110,
- 0xc51a6b4d, 0x00004910, 0x02c1502a, 0x0000e108, 0xc5194b29, 0x00004908,
- 0x000004e3, 0x0000e583, 0x053f1fe3, 0x00008901, 0x45202404, 0x00009901,
- 0x01000020, 0x00009988, 0x00003342, 0x00007010, 0x03cf0800, 0x00007900,
- 0x003884ca, 0x00000980, 0x81012000, 0x00001980, 0x000032a1, 0x00007200,
- 0x04a3e800, 0x00007900, 0x001b7e4e, 0x00008980, 0xceb924ec, 0x0000a004,
- 0xc730300c, 0x00006803, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x0000304a, 0x0000f400, 0x09000824, 0x00001090, 0xceb924ec, 0x0000a814,
- 0x000038ec, 0x00007902, 0x02800000, 0x00000704, 0xffffffff, 0x00007fa7,
- 0x0bc03c24, 0x0000e000, 0x0c003c15, 0x0000b000, 0x01612415, 0x00001303,
- 0x81b04e09, 0x00006109, 0x0c019307, 0x00006116, 0x85602404, 0x00001910,
- 0x000032f2, 0x00007008, 0x00000425, 0x00001583, 0x001a6807, 0x00006196,
- 0x00194807, 0x0000b18e, 0x0901502a, 0x00006108, 0x0902704e, 0x00004910,
- 0x000032f2, 0x00007400, 0xd6783c15, 0x0000a804, 0xd6792415, 0x0000a884,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x220f0800, 0x00007900,
- 0x003884ca, 0x00000980, 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x334e1014, 0x00007500, 0x1d785f14, 0x00000914, 0x62800024, 0x000089d0,
- 0x3350109f, 0x00007300, 0x0e40a000, 0x00001980, 0xce7926ec, 0x00002004,
- 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97, 0x00072824, 0x00009502,
- 0x09000824, 0x00001090, 0xce7926ec, 0x00002814, 0x9e89fb05, 0x0000459a,
- 0x4f41870c, 0x0000d98d, 0x00000425, 0x0000e583, 0x02000000, 0x00000980,
- 0x02c2704e, 0x0000e110, 0x891a6b4d, 0x0000c910, 0x02c1502a, 0x0000e108,
- 0x89194b29, 0x0000c908, 0x000004e3, 0x0000e583, 0x053f1fe3, 0x00008901,
- 0x85182124, 0x00000112, 0x01000020, 0x00009988, 0x00003367, 0x0000f010,
- 0x00003326, 0x0000f400, 0x03d55800, 0x0000f900, 0x003884cc, 0x00000980,
- 0x81012000, 0x00001980, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x22155800, 0x0000f900, 0x003884cc, 0x00000980, 0x2263e800, 0x0000f900,
- 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x33731014, 0x0000f500, 0x1d785f14, 0x00000914,
- 0x62800024, 0x000089d0, 0x3375109f, 0x0000f300, 0x0e40a000, 0x00001980,
- 0xce7926ec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072824, 0x00009502, 0x0000304a, 0x0000f400, 0x09000824, 0x00001090,
- 0xce7926ec, 0x00002814, 0x1239a730, 0x00000430, 0x0c39af28, 0x00000434,
- 0x0a39b71c, 0x00008438, 0x07398f14, 0x00008424, 0x853f1fe3, 0x00006100,
- 0x12819032, 0x00004900, 0x43b8f814, 0x00002080, 0x12f90733, 0x00000230,
- 0x0bf87723, 0x00000128, 0x8b791e07, 0x0000a084, 0x06c0070f, 0x000080b4,
- 0x43f88000, 0x00007900, 0x00003ffe, 0x00000980, 0xc1800000, 0x00006180,
- 0x0d41682d, 0x0000c900, 0x0db94f2e, 0x00000304, 0x0cb95f2a, 0x0000030c,
- 0x08390f18, 0x00008234, 0x0bb8ef22, 0x00008224, 0x8b791607, 0x0000a004,
- 0x0ab8671e, 0x00008120, 0x0778b715, 0x00000138, 0xcd40ae08, 0x00007902,
- 0x02000000, 0x00000004, 0x03000000, 0x00001980, 0xa0c00635, 0x00004392,
- 0x0060871c, 0x00008090, 0x37610523, 0x00004595, 0x9ae00448, 0x000000cc,
- 0x2ac10523, 0x0000c58f, 0x32600e22, 0x0000b092, 0x41c10523, 0x00009283,
- 0x00000448, 0x00009583, 0xffffffff, 0x00007f86, 0x00003552, 0x0000f010,
- 0x00003546, 0x00007048, 0x82c00000, 0x00001980, 0x84400fe2, 0x00001880,
- 0x50c0cc11, 0x00002080, 0xffffffff, 0x00007fa7, 0x01408419, 0x00001283,
- 0x0000350e, 0x0000f013, 0x41c0150d, 0x00006283, 0x08c19419, 0x00002004,
- 0x05001c19, 0x00006291, 0x84f71ee3, 0x00008910, 0x04801c14, 0x00001891,
- 0x000033b2, 0x00007008, 0x00001c19, 0x00001583, 0x51783c13, 0x0000a018,
- 0x51783c13, 0x000020b0, 0xffffffff, 0x00007fa7, 0x06609007, 0x00009700,
- 0xd760c815, 0x0000e805, 0x00001423, 0x00006583, 0x43686f08, 0x00000301,
- 0x0ae04715, 0x00008230, 0xc000080c, 0x00006c0b, 0x00003555, 0x00007010,
- 0x41c04523, 0x00009283, 0x000034cd, 0x00007013, 0x01440448, 0x00009283,
- 0x08025419, 0x0000e094, 0x08024419, 0x0000308c, 0xffffffff, 0x00007f86,
- 0x8220ca20, 0x0000e100, 0x0e424419, 0x0000a000, 0xb1a01423, 0x00004390,
- 0x00704023, 0x00008028, 0xf1c60523, 0x0000788e, 0x01800001, 0x00008000,
- 0xf0008535, 0x00007897, 0x89800000, 0x00001a85, 0x6a810622, 0x0000f897,
- 0x49800000, 0x00001a8a, 0x0c00da14, 0x00006904, 0x80008214, 0x00001582,
- 0x00003497, 0x0000f053, 0x0c00da19, 0x00006104, 0x0006000d, 0x0000b486,
- 0x8500c608, 0x0000e080, 0x0000000d, 0x00002587, 0x03800000, 0x0000e180,
- 0x0400c00d, 0x00006006, 0x85583219, 0x00006000, 0x4400c00d, 0x0000a002,
- 0xc180471c, 0x0000e283, 0x0020200e, 0x0000a206, 0x83381002, 0x00006180,
- 0x11000000, 0x00004980, 0x8510aa14, 0x00006000, 0xe000080c, 0x00002403,
- 0x7340e044, 0x0000e000, 0x0410a00d, 0x0000b185, 0x83c00535, 0x00008494,
- 0x00003485, 0x0000f410, 0x11800000, 0x000084dc, 0xc3a02404, 0x00009901,
- 0xc000071c, 0x00001583, 0x01400c1d, 0x00006283, 0x90000847, 0x0000a44b,
- 0x00003475, 0x00007013, 0xcef840ec, 0x00002004, 0x00000448, 0x00006583,
- 0x85402215, 0x00000080, 0x0a02604c, 0x0000e148, 0x8a526a4d, 0x0000c948,
- 0x0a82704e, 0x00006148, 0xca5a6b4d, 0x00004948, 0x00072808, 0x00001502,
- 0x05000808, 0x00009090, 0xcef8a0ec, 0x0000a814, 0x42004523, 0x00009283,
- 0x00003442, 0x0000f013, 0x0d411c07, 0x0000e000, 0x0e424414, 0x0000b000,
- 0x09006405, 0x00006002, 0x0801ac04, 0x00003002, 0x57000405, 0x0000788b,
- 0x01800001, 0x00008000, 0x00000407, 0x00007888, 0x00000000, 0x00000000,
- 0x00000c05, 0x0000f88a, 0x00000000, 0x00008020, 0x06001404, 0x0000ca89,
- 0x24401404, 0x00001997, 0xffffffff, 0x00007f86, 0x56c04006, 0x0000f902,
- 0x01c00000, 0x00008000, 0x56805a06, 0x0000f902, 0x02800000, 0x00000000,
- 0xffffffff, 0x00007f97, 0x02000808, 0x00001082, 0x02c05a15, 0x0000e002,
- 0x01c00007, 0x00000084, 0x00000414, 0x00006583, 0x0280000a, 0x00000084,
- 0x56f84006, 0x00005000, 0x00383800, 0x00000000, 0x56b85a06, 0x00005000,
- 0x00385000, 0x00008000, 0x00003516, 0x0000f010, 0x018000e0, 0x0000e180,
- 0x08001a13, 0x00006106, 0x0c006a11, 0x0000e184, 0x0e002c12, 0x00003000,
- 0x01c00000, 0x00007900, 0x001f0000, 0x00000980, 0x15800000, 0x00006180,
- 0x00109806, 0x0000e184, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x00000412, 0x00006583, 0x81d08aec, 0x00000100, 0x15d00002, 0x0000e180,
- 0x00182056, 0x00006100, 0x20383eec, 0x00005600, 0x0038c000, 0x00008000,
- 0x15083804, 0x00006180, 0x00282057, 0x0000e080, 0x000818ec, 0x00005780,
- 0x00d07280, 0x000081c0, 0x15400000, 0x000085e0, 0x00003425, 0x0000f408,
- 0x16400000, 0x000005e8, 0x1580051a, 0x000085ac, 0x43012000, 0x00001981,
- 0x00908eec, 0x00005f80, 0x00d07540, 0x00000184, 0x4300b800, 0x00001981,
- 0x00908eec, 0x00005f80, 0x00d07540, 0x000000c4, 0x56c08806, 0x00007902,
- 0x04000000, 0x00008000, 0x56804206, 0x0000f902, 0x01c00000, 0x00008000,
- 0xe3809a09, 0x00007902, 0x04800000, 0x00008004, 0xe3405c09, 0x00007902,
- 0x02800000, 0x00008004, 0x04400811, 0x00001082, 0x02004215, 0x0000e002,
- 0x04000010, 0x00000084, 0x04c00813, 0x0000e082, 0x01c00007, 0x00000084,
- 0x02c05a15, 0x0000e002, 0x04800012, 0x00000084, 0x0280000a, 0x00009084,
- 0x56f88806, 0x0000d000, 0x00388000, 0x00000000, 0x56b84206, 0x00005000,
- 0x00383800, 0x00000000, 0xe3b89a09, 0x00005004, 0x00389000, 0x00008000,
- 0xe3785c09, 0x00005004, 0x00385000, 0x00008000, 0x02800414, 0x0000f88b,
- 0xb1800000, 0x00001a88, 0xc0000709, 0x00009583, 0x000033ee, 0x00007013,
- 0x01400800, 0x00006181, 0x0e424419, 0x00006000, 0xcd201517, 0x0000c290,
- 0x94600609, 0x00000d88, 0x01800609, 0x0000f88a, 0x89c00000, 0x00009b84,
- 0x000058ec, 0x00007902, 0x02000000, 0x00008704, 0x8a400405, 0x0000418a,
- 0x0061870c, 0x00008090, 0xf409fb05, 0x0000c59a, 0x7a01870c, 0x00008288,
- 0x9ec02622, 0x0000f897, 0x09800000, 0x00001b83, 0x0c005c19, 0x0000e000,
- 0x0bc05c13, 0x00003000, 0x0160cc13, 0x00009303, 0x04c046e3, 0x00006089,
- 0xc000100c, 0x00002413, 0x02e8380a, 0x00009988, 0x00003469, 0x0000f010,
- 0x02281000, 0x0000f900, 0x00020014, 0x00000980, 0x30e09808, 0x00006080,
- 0x0420200b, 0x00003101, 0x203844ec, 0x0000d704, 0x00385800, 0x00000000,
- 0x000854ec, 0x00005784, 0x00000015, 0x00000680, 0x000058ec, 0x00007902,
- 0x02000000, 0x00008704, 0xffffffff, 0x00007fa7, 0x0c005c14, 0x00006000,
- 0x0bc05c13, 0x00003000, 0x0160a413, 0x00001303, 0xc000080c, 0x0000e40b,
- 0xc000180c, 0x00003413, 0xc009fb05, 0x00001582, 0xc141870c, 0x00001283,
- 0xffffffff, 0x00007f86, 0x000033ee, 0x0000f018, 0x000033ee, 0x00007008,
- 0x00080017, 0x00006d87, 0x00202017, 0x00006886, 0x09006617, 0x00006802,
- 0x000033ee, 0x00007400, 0xa5783e0a, 0x00005004, 0x00390800, 0x00008000,
- 0xa5b8b80a, 0x00002884, 0xcef840ec, 0x00002004, 0xc0002f1f, 0x0000e583,
- 0x85402215, 0x00000080, 0xb0000047, 0x0000ec11, 0xe0001847, 0x00006c13,
- 0x00000448, 0x00006583, 0xb740e047, 0x0000a011, 0x0a02604c, 0x0000e148,
- 0x8a526a4d, 0x0000c948, 0xca5a6b4d, 0x00006148, 0x0a82704e, 0x00004948,
- 0x00072808, 0x00001502, 0x05000808, 0x00009090, 0xcef8a0ec, 0x0000a814,
- 0xed604523, 0x0000c58d, 0xf6a00709, 0x00007c90, 0x4200851e, 0x0000e283,
- 0x40000844, 0x0000a402, 0x91972ae5, 0x0000e100, 0x0c00f219, 0x0000e190,
- 0x85000a19, 0x00001890, 0x000033de, 0x00007008, 0x0c40f419, 0x0000e000,
- 0x0410a049, 0x0000b183, 0x4202051e, 0x0000e283, 0x05001419, 0x00008081,
- 0x05001000, 0x0000e191, 0x4120a044, 0x00006002, 0xc000071c, 0x0000e583,
- 0x05000800, 0x00000989, 0x90000847, 0x0000ec4b, 0xe7a0a049, 0x00006803,
- 0xf8800c1d, 0x0000788e, 0xa9800000, 0x00009a83, 0x82801622, 0x00009283,
- 0x000035d7, 0x00007013, 0xceb8a0ec, 0x00002004, 0x0c00da19, 0x00006104,
- 0x0006000d, 0x0000b486, 0x03800000, 0x0000e180, 0x0000000d, 0x0000e587,
- 0x85583219, 0x00006000, 0x0400c00d, 0x0000a006, 0x00072814, 0x00006502,
- 0x0020200e, 0x0000a206, 0x05000814, 0x0000e090, 0x4400c00d, 0x0000a002,
- 0xceb8a0ec, 0x00002814, 0x8500c608, 0x0000e080, 0x83381002, 0x00008980,
- 0x11000000, 0x00006180, 0x8510aa14, 0x0000c000, 0x7340e044, 0x0000e000,
- 0xc000200c, 0x0000b407, 0xc3f1ae35, 0x00006101, 0x0410a00d, 0x0000e185,
- 0x11400000, 0x000004d8, 0x43800304, 0x0000049c, 0xf780471c, 0x0000f88e,
- 0x29800000, 0x00009a84, 0x0c811c13, 0x00006802, 0x01401413, 0x00001283,
- 0x03c08eec, 0x00007912, 0x04000000, 0x00008000, 0x040070ec, 0x00007912,
- 0x02c00000, 0x00008000, 0x000033c7, 0x0000f008, 0x04d19a33, 0x00001900,
- 0x00119811, 0x00007808, 0x00000000, 0x00000000, 0x00008013, 0x0000f808,
- 0x00000000, 0x00008020, 0x00007013, 0x0000f808, 0x00000000, 0x00000060,
- 0xf1c05813, 0x0000f812, 0x01800001, 0x00000010, 0xaa020622, 0x00007897,
- 0x01800001, 0x00000080, 0xc000000c, 0x00006c03, 0xceb8a6ec, 0x0000a084,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97, 0x00072814, 0x00009502,
- 0x05000814, 0x00001090, 0xceb8a6ec, 0x0000a894, 0x0c00da14, 0x00006904,
- 0xdfe08214, 0x000045ba, 0x10c01622, 0x00007c97, 0x82400000, 0x00006181,
- 0x0e424419, 0x00006000, 0x00000419, 0x00001583, 0x01c14028, 0x0000e108,
- 0x0c019211, 0x0000610e, 0x08400000, 0x00007908, 0x00040000, 0x00000980,
- 0x00003706, 0x0000f010, 0xc201870c, 0x00006283, 0x00019021, 0x00002107,
- 0x88514a29, 0x00006100, 0x0801ad17, 0x00006002, 0x000034ed, 0x00007009,
- 0x42008523, 0x00006283, 0x05003807, 0x00000900, 0x04010821, 0x00001900,
- 0x0000370f, 0x00007011, 0xc009fb05, 0x0000e582, 0x82400800, 0x00000981,
- 0x00003723, 0x0000f01b, 0xa5408e0a, 0x0000f902, 0x03800000, 0x00000004,
- 0xa5b8580a, 0x00002084, 0xc2400000, 0x00009981, 0xffffffff, 0x00007f86,
- 0x00003811, 0x00009502, 0x0001080e, 0x00009502, 0x0020240b, 0x00009503,
- 0x00003724, 0x0000f010, 0x00003724, 0x0000f010, 0x00003724, 0x0000f010,
- 0xc730580c, 0x0000e803, 0x000033b9, 0x0000f200, 0xc2400800, 0x00001981,
- 0x81801635, 0x00006283, 0x82d0e21c, 0x00000900, 0x81808622, 0x00009283,
- 0xffffffff, 0x00007f86, 0x000034fb, 0x00007008, 0x00003610, 0x0000f010,
- 0xceb89aec, 0x00002004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072813, 0x00001502, 0x04c00813, 0x00001090, 0xceb89aec, 0x00002814,
- 0x01440448, 0x00006283, 0xcc905a0b, 0x00008900, 0xc1802000, 0x0000e180,
- 0x4340150d, 0x0000c381, 0x8d905a0b, 0x00009910, 0x84400fe2, 0x00001880,
- 0x50c0cc11, 0x00002080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0xd4408419, 0x0000c58e, 0x6a20171c, 0x00000096, 0x81c3fe35, 0x00001283,
- 0x4371ae35, 0x00009911, 0x9de0871c, 0x0000c18e, 0x00610523, 0x00000088,
- 0x32600e22, 0x0000478e, 0x1b610523, 0x00000494, 0x51800448, 0x000078cb,
- 0x01800000, 0x0000998d, 0xc1c0171c, 0x00009283, 0x000033a6, 0x00007013,
- 0x41c0150d, 0x00009283, 0xc1802000, 0x00006188, 0x04105832, 0x0000618f,
- 0x000033a6, 0x00007400, 0x4340150d, 0x00001389, 0xd760c832, 0x0000e805,
- 0x0c825c14, 0x00006802, 0x00001414, 0x00001583, 0x85003209, 0x00006088,
- 0x84c04a09, 0x00008088, 0x00003520, 0x00007009, 0x00001c14, 0x00009583,
- 0x84c05209, 0x0000e088, 0x85003a09, 0x00008088, 0x85004209, 0x0000e090,
- 0x84c05a09, 0x00000090, 0x15800000, 0x00006180, 0x0c006a11, 0x0000e184,
- 0xe3403c13, 0x0000f902, 0x01800000, 0x00008004, 0xe3404c14, 0x0000f902,
- 0x02000000, 0x00000004, 0x15d00002, 0x0000e180, 0x00182056, 0x00006100,
- 0x0e002c12, 0x00006000, 0x00282057, 0x0000b080, 0x01c00807, 0x0000e082,
- 0x15083804, 0x00008980, 0x01800006, 0x00006084, 0x15400000, 0x00008980,
- 0x02404a15, 0x0000e002, 0x16000000, 0x00000980, 0xe3783c13, 0x0000d004,
- 0x00383000, 0x00008000, 0x02000008, 0x00006084, 0x08001a13, 0x0000a106,
- 0x018000e0, 0x0000e180, 0x16400000, 0x00004980, 0xe3784c14, 0x0000d004,
- 0x00384000, 0x00000000, 0x01c00000, 0x00007900, 0x001f0000, 0x00000980,
- 0x81d08aec, 0x00006100, 0x00109806, 0x00002184, 0x733830ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x20383eec, 0x00005600, 0x0038c000, 0x00008000,
- 0x000818ec, 0x00005780, 0x00d07280, 0x000081c0, 0x16800000, 0x000085ec,
- 0xd598d31a, 0x00009900, 0x09400412, 0x0000788b, 0x11800000, 0x00001a81,
- 0x000033a1, 0x0000f200, 0x82c00000, 0x00006180, 0xcc91b236, 0x00004900,
- 0xcef8a0ec, 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072814, 0x00009502, 0x05000814, 0x00001090, 0xcef8a0ec, 0x00002894,
- 0x0c00da14, 0x00006904, 0xcf408214, 0x000045bb, 0x88601622, 0x00007494,
- 0x82d11222, 0x00009900, 0xf5001635, 0x0000c58f, 0x0bc08622, 0x00007a91,
- 0xceb8c8ec, 0x00002084, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072819, 0x00001502, 0x000033b9, 0x0000f400, 0x06400819, 0x00001090,
- 0xceb8c8ec, 0x00002894, 0x84403206, 0x00001080, 0x56803a11, 0x0000f902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007fa7, 0x01c00807, 0x00001082,
- 0x00000414, 0x00006583, 0x01800006, 0x00000084, 0x56b83a11, 0x00005000,
- 0x00383000, 0x00008000, 0x0c825c12, 0x0000e812, 0x0000340a, 0x0000f008,
- 0x00001412, 0x00001583, 0x84806209, 0x00009088, 0x0000356d, 0x00007009,
- 0x00001c12, 0x00009583, 0x84807209, 0x0000e090, 0x84806a09, 0x00008088,
- 0x08001a13, 0x00006106, 0x0c006a11, 0x0000b184, 0xe3403c12, 0x00007902,
- 0x01800000, 0x00008004, 0x15800000, 0x00006180, 0x15d00002, 0x0000c980,
- 0x00182056, 0x00006100, 0x00282057, 0x0000b080, 0x15083804, 0x00006180,
- 0x15400000, 0x00004980, 0x01c00807, 0x0000e082, 0x16000000, 0x00000980,
- 0x01800006, 0x00006084, 0x16400000, 0x00008980, 0xe3783c12, 0x00005004,
- 0x00383000, 0x00008000, 0x018000e0, 0x0000e180, 0x0e002c12, 0x00006000,
- 0x01c00000, 0x00007900, 0x001f0000, 0x00000980, 0x81d08aec, 0x00006100,
- 0x00109806, 0x00002184, 0x733830ec, 0x0000d600, 0x00000000, 0x00008080,
- 0x20383eec, 0x00005600, 0x0038c000, 0x00008000, 0x000818ec, 0x00005780,
- 0x00d07280, 0x000081c0, 0x16800000, 0x000085ec, 0xd598d31a, 0x00009900,
- 0x09400412, 0x0000788b, 0x11800000, 0x00001a81, 0xceb8c8ec, 0x00002084,
- 0x0c00da14, 0x0000e104, 0xc000000c, 0x0000b403, 0xffffffff, 0x00007f97,
- 0x00072819, 0x00001502, 0x06400819, 0x00001090, 0xceb8c8ec, 0x00002894,
- 0xc6c08214, 0x0000c5bb, 0x84201622, 0x00007092, 0x00000c04, 0x00009583,
- 0x84802206, 0x0000e088, 0x84802a06, 0x00000090, 0x84c01206, 0x00006090,
- 0x84c00a06, 0x00000088, 0x56805212, 0x00007902, 0x02000000, 0x00008000,
- 0x56803a13, 0x00007902, 0x01800000, 0x00000000, 0xffffffff, 0x00007f97,
- 0x0280080a, 0x00001082, 0x01c03a15, 0x0000e002, 0x02000008, 0x00000084,
- 0x01800006, 0x00009084, 0x56b85212, 0x0000d000, 0x00384000, 0x00000000,
- 0x56b83a13, 0x0000d000, 0x00383000, 0x00008000, 0x02800414, 0x0000f88b,
- 0xb1800000, 0x00001a88, 0x000004e3, 0x0000e583, 0x04400000, 0x00008980,
- 0x03800000, 0x0000e180, 0x08024611, 0x0000e084, 0x84084023, 0x00008102,
- 0x000035bf, 0x00007410, 0x845822e3, 0x00008106, 0x83910220, 0x0000e100,
- 0xc2700600, 0x0000c909, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03e2a000, 0x0000f900, 0x00151b4e, 0x00000980, 0x04907800, 0x00007900,
- 0x0032d3fc, 0x00008980, 0x82680500, 0x0000e101, 0x08001a09, 0x0000e106,
- 0x03388f02, 0x0000001c, 0x35bf0fe7, 0x00007500, 0x01b87710, 0x00000028,
- 0x81009000, 0x00001980, 0x22800000, 0x00007900, 0x00014000, 0x00008980,
- 0x2222a000, 0x0000f900, 0x00151b4e, 0x00000980, 0x22507800, 0x0000f900,
- 0x0032d3fc, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x1d788711, 0x00000914, 0x35cc1014, 0x00007500,
- 0x2500970e, 0x000008a9, 0xa2a11c23, 0x00001901, 0x35ce109f, 0x0000f300,
- 0x0e403000, 0x00001980, 0xce78ceec, 0x0000a004, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072819, 0x00001502, 0x06400819, 0x00001090,
- 0xce78ceec, 0x0000a814, 0x0c00da14, 0x00006904, 0x79408214, 0x000049ba,
- 0x32601622, 0x00000d89, 0x0c00db11, 0x00006104, 0x0c00da10, 0x00003104,
- 0x000004e3, 0x0000e583, 0x04602404, 0x00008901, 0x4468d11c, 0x00008100,
- 0x01000000, 0x0000f908, 0x00014040, 0x00000980, 0x000035ea, 0x0000f010,
- 0x03dd5800, 0x00007900, 0x003884ac, 0x00000980, 0x04ab3000, 0x0000f900,
- 0x002552dc, 0x00000980, 0x02800000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x8100d800, 0x00006180, 0xc2700600, 0x00004901, 0x35ea0fe7, 0x00007500,
- 0x82781400, 0x00000030, 0x01b88f10, 0x0000001c, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x221d5800, 0x00007900, 0x003884ac, 0x00000980,
- 0x226b3000, 0x00007900, 0x002552dc, 0x00000980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x35f61014, 0x00007500,
- 0x1d788711, 0x00000914, 0x6280001b, 0x000089d0, 0x35f8109f, 0x0000f300,
- 0x0e402000, 0x00009980, 0xce78ceec, 0x0000a004, 0x8500c608, 0x0000e080,
- 0x0006000d, 0x00002486, 0x03800000, 0x0000e180, 0x0000000d, 0x0000e587,
- 0x0400c00d, 0x00006006, 0x0020200e, 0x00003206, 0x00072819, 0x0000e502,
- 0x4400c00d, 0x0000a002, 0x06400819, 0x0000e090, 0x83381002, 0x00008980,
- 0xce78ceec, 0x0000a814, 0x11000000, 0x00006180, 0x0c00da19, 0x00006104,
- 0x85583219, 0x00006000, 0xc000200c, 0x00002407, 0x8510aa14, 0x00006000,
- 0x7340e044, 0x00002000, 0xc3f1ae35, 0x00006101, 0x0410a00d, 0x0000e185,
- 0x11400000, 0x000004d8, 0x43800304, 0x0000049c, 0xf780471c, 0x0000f88e,
- 0x29800000, 0x00009a84, 0x000004e3, 0x0000e583, 0x04400000, 0x00008980,
- 0x0429940b, 0x00008100, 0x847f1fe3, 0x00006100, 0x84602404, 0x0000c901,
- 0x00003623, 0x0000f010, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03cd4800, 0x00007900, 0x003884c6, 0x00000980, 0x04aee800, 0x0000f900,
- 0x000e1256, 0x00000980, 0x02800000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x36230fe7, 0x00007500, 0x03388f02, 0x0000001c,
- 0x81008000, 0x0000e180, 0x01808010, 0x0000c900, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x220d4800, 0x00007900, 0x003884c6, 0x00000980,
- 0x226ee800, 0x00007900, 0x000e1256, 0x00000980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x362f1014, 0x0000f500,
- 0x1d788711, 0x00000914, 0x62800010, 0x000009d0, 0x3631109f, 0x0000f300,
- 0x0e404000, 0x00009980, 0xce789eec, 0x0000a004, 0xcc905a0b, 0x00006100,
- 0xc000000c, 0x0000e403, 0x4340150d, 0x00006381, 0xc1802000, 0x00000980,
- 0xffffffff, 0x00007f86, 0x00072813, 0x00001502, 0x04c00813, 0x00001090,
- 0xce789eec, 0x0000a814, 0x00003500, 0x00007400, 0x01440448, 0x00009283,
- 0x8d905a0b, 0x00009910, 0x00000c04, 0x00009583, 0x86402206, 0x00006088,
- 0x86402a06, 0x00008090, 0x84400a06, 0x0000e088, 0x84401206, 0x00008090,
- 0x56805219, 0x0000f902, 0x02000000, 0x00008000, 0x56803a11, 0x0000f902,
- 0x01800000, 0x00000000, 0x84802209, 0x0000e088, 0x84c00a09, 0x00000088,
- 0x84c01209, 0x00006090, 0x84802a09, 0x00000090, 0x0280080a, 0x00001082,
- 0x01c03a15, 0x0000e002, 0x02000008, 0x00000084, 0x56b83a11, 0x0000a880,
- 0xe3783c12, 0x00002084, 0x01800006, 0x00009084, 0x56b85219, 0x00005000,
- 0x00384000, 0x00000000, 0x56b83211, 0x0000a800, 0xe3405413, 0x00007902,
- 0x02000000, 0x00000004, 0xe3783412, 0x00002004, 0x01c00807, 0x00001082,
- 0xe3783c12, 0x0000a884, 0xffffffff, 0x00007f86, 0x02805215, 0x0000e002,
- 0x01800006, 0x00000084, 0x02000008, 0x00009084, 0xe3783412, 0x0000a804,
- 0xe3785413, 0x00005004, 0x00384000, 0x00000000, 0x02800414, 0x0000f88b,
- 0xb1800000, 0x00001a88, 0xceb8a4ec, 0x00002084, 0xc720280c, 0x0000e803,
- 0xffffffff, 0x00007f97, 0x00072814, 0x00009502, 0x05000814, 0x00001090,
- 0xceb8a4ec, 0x00002894, 0xb0e9fb05, 0x0000c59b, 0xd861870c, 0x0000e08b,
- 0x000040ec, 0x00007902, 0x02c00000, 0x00008704, 0xffffffff, 0x00007fa7,
- 0x0bc04413, 0x00006000, 0x0c004412, 0x00003000, 0x02209c12, 0x00009303,
- 0x01704e09, 0x0000e109, 0x0c019308, 0x00006116, 0x84a02404, 0x00009910,
- 0x0000344a, 0x00007008, 0x00000419, 0x00001583, 0x001a6808, 0x00006196,
- 0x00194808, 0x0000b18e, 0x04c1502a, 0x0000e108, 0x04c2704e, 0x0000c910,
- 0x0000344a, 0x00007400, 0xd6784412, 0x00002804, 0xd6789c12, 0x0000a884,
- 0x00000419, 0x0000e583, 0x047f1fe3, 0x00008901, 0x02c2704e, 0x0000e110,
- 0xc45a6b4d, 0x00004910, 0x02c1502a, 0x0000e108, 0xc4594b29, 0x00004908,
- 0x000004e3, 0x0000e583, 0x44602404, 0x00000901, 0x01000020, 0x00009988,
- 0x81012000, 0x00009988, 0x000037e7, 0x0000f010, 0x03cf0800, 0x00007900,
- 0x003884ca, 0x00000980, 0x04a3e800, 0x00007900, 0x001b7e4e, 0x00008980,
- 0xc1002800, 0x00006181, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x36910fe7, 0x00007500, 0x03388f02, 0x0000001c, 0x02800000, 0x00006180,
- 0x0180580b, 0x0000c900, 0x000040ec, 0x00007902, 0x01c00000, 0x00008704,
- 0x7dc00405, 0x0000428a, 0x2e61870c, 0x00000d8d, 0x06002622, 0x0000f896,
- 0xf9c00000, 0x00009b8f, 0x0c004414, 0x00006000, 0x0bc04413, 0x00003000,
- 0x000033ee, 0x00007400, 0x0120a413, 0x00009303, 0xc000080c, 0x0000e40b,
- 0xc000180c, 0x00003413, 0xceb89aec, 0x0000a084, 0xffffffff, 0x00007fa7,
- 0x00072813, 0x00001502, 0x04c00813, 0x00001090, 0xceb89aec, 0x0000a894,
- 0x000034ef, 0x00007008, 0xc1c0871c, 0x00009283, 0x0000339b, 0x0000f00b,
- 0x82d0e21c, 0x00009900, 0xcaa01635, 0x0000458e, 0xf6a08622, 0x0000e497,
- 0x00000419, 0x0000e583, 0x03800000, 0x00000980, 0x84d26a4d, 0x00006110,
- 0x0642604c, 0x0000c910, 0x84d14a29, 0x00006108, 0x06414028, 0x0000c908,
- 0x000004e3, 0x0000e583, 0x043f1fe3, 0x00000901, 0x84099b04, 0x00000102,
- 0x83909a13, 0x00009900, 0x000036d8, 0x00007010, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03c39800, 0x00007900, 0x00151b50, 0x00000980,
- 0x04a8a800, 0x00007900, 0x000aff14, 0x00008980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x82781400, 0x00000030, 0x36c00fe7, 0x0000f500,
- 0x01f8cf10, 0x00008018, 0x81009800, 0x0000e180, 0x0280700e, 0x0000c900,
- 0x000004e3, 0x0000e583, 0x04000000, 0x00000980, 0x841822e3, 0x00008102,
- 0x82d0e21c, 0x0000e100, 0x05c0e010, 0x0000e001, 0xc2d11222, 0x00006100,
- 0x1540e010, 0x0000e001, 0x000036ee, 0x0000f410, 0x02800000, 0x0000e188,
- 0x2680e010, 0x0000e001, 0xc2700600, 0x0000e109, 0x31811810, 0x0000e001,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03ca0800, 0x00007900,
- 0x003884c6, 0x00000980, 0x04849800, 0x0000f900, 0x00202286, 0x00008980,
- 0x82680500, 0x0000e101, 0x08001a09, 0x0000e106, 0x36d80fe7, 0x0000f500,
- 0x03388702, 0x0000801c, 0x8100d000, 0x0000e180, 0x0180580b, 0x0000c900,
- 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22039800, 0x00007900,
- 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900, 0x000aff14, 0x00008980,
- 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c,
- 0x36e51014, 0x0000f500, 0x1d78cf10, 0x00008914, 0xa2809800, 0x0000e180,
- 0x2500700e, 0x00004900, 0x36e7109f, 0x00007300, 0x0e409800, 0x00009980,
- 0xce78ceec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072819, 0x00001502, 0x000035d4, 0x00007400, 0x06400819, 0x00001090,
- 0xce78ceec, 0x0000a814, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x220a0800, 0x00007900, 0x003884c6, 0x00000980, 0x22449800, 0x00007900,
- 0x00202286, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x36fa1014, 0x00007500, 0x1d785f10, 0x00008914,
- 0x6280001a, 0x000009d0, 0x36fc109f, 0x00007300, 0x0e402000, 0x00009980,
- 0xce789eec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072813, 0x00001502, 0x04c00813, 0x00001090, 0xce789eec, 0x0000a814,
- 0xd4a0871c, 0x0000c496, 0xa4610523, 0x00008d92, 0x51800448, 0x000078cb,
- 0x01800000, 0x0000998d, 0x08400000, 0x0000f900, 0x00040000, 0x00000980,
- 0x0401b021, 0x0000e107, 0x0801b211, 0x0000b106, 0x01c2604c, 0x00006100,
- 0x0a01b517, 0x0000e002, 0x88526a4d, 0x00001900, 0x3b41870c, 0x0000788f,
- 0xd1800000, 0x00009a86, 0x84e02404, 0x00009900, 0xd6407413, 0x0000f902,
- 0x02c00000, 0x00000004, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0xe317280b, 0x0000c410, 0x46600609, 0x00000d8e, 0xc8c9fb05, 0x0000f89b,
- 0x09800000, 0x00001a87, 0x00000419, 0x00001583, 0x04c2704e, 0x0000e110,
- 0x849a6b4d, 0x0000c910, 0x04c1502a, 0x0000e108, 0x84994b29, 0x0000c908,
- 0xc0108b0b, 0x00001502, 0x8010920b, 0x00001502, 0x0000980e, 0x00001502,
- 0x00003723, 0x00007010, 0x00003723, 0x00007010, 0x000034de, 0x0000f008,
- 0xc2400000, 0x00009981, 0x40001517, 0x0000e583, 0xc000080c, 0x0000a403,
- 0x00783eec, 0x0000d70c, 0x00390800, 0x00008000, 0x11783eec, 0x0000d70c,
- 0x00390800, 0x00008000, 0x00003769, 0x0000f010, 0x80000609, 0x00006583,
- 0xf0000810, 0x0000a401, 0x22783eec, 0x00005704, 0x00388000, 0x00000000,
- 0x03804000, 0x0000f900, 0x0005001a, 0x00000980, 0x200004ec, 0x00005784,
- 0x00387016, 0x00002a00, 0x02c00000, 0x00007900, 0x0015001e, 0x00000980,
- 0x30e8b80b, 0x0000e880, 0x20385cec, 0x0000d704, 0x00081815, 0x00000480,
- 0x02e9800c, 0x00009980, 0x0028b80b, 0x0000e804, 0x20385cec, 0x0000d704,
- 0x00199819, 0x00000080, 0x02f0380c, 0x00001980, 0x0000375d, 0x0000f410,
- 0x0420200b, 0x0000e901, 0x00385cec, 0x00005704, 0x00000000, 0x00008080,
- 0x03800000, 0x00007900, 0x00040000, 0x00000980, 0x00000419, 0x00001583,
- 0x0012700e, 0x0000e196, 0x001a700b, 0x00003196, 0x86594b29, 0x00006108,
- 0x865a6b4d, 0x00004910, 0x0019500b, 0x0000e18e, 0x0011500e, 0x0000318e,
- 0xffffffff, 0x00007f86, 0x0410c80b, 0x0000e187, 0x0000800e, 0x00003107,
- 0x11785eec, 0x00005704, 0x00387000, 0x00000000, 0xf000080e, 0x0000ec01,
- 0x22785eec, 0x00005704, 0x00387000, 0x00000000, 0x03808000, 0x0000f900,
- 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784, 0x00387012, 0x00000a00,
- 0x200914ec, 0x0000d784, 0x04591811, 0x00000080, 0x02c03800, 0x0000f900,
- 0x0002001e, 0x00000980, 0x0420200b, 0x0000e901, 0x20385cec, 0x0000d704,
- 0x00191011, 0x00000280, 0x02f01000, 0x0000f900, 0x00020018, 0x00000980,
- 0x050046e3, 0x00009081, 0x30e0a00b, 0x00006880, 0x20385cec, 0x0000d704,
- 0x0010a019, 0x00008680, 0xcef8caec, 0x0000a004, 0xffffffff, 0x00007fa7,
- 0x00072819, 0x00001502, 0x000033b9, 0x0000f400, 0x06400819, 0x00001090,
- 0xcef8caec, 0x0000a814, 0x00783eec, 0x00005704, 0x00390800, 0x00008000,
- 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x03a81000, 0x0000f900,
- 0x00020014, 0x00000980, 0x80000609, 0x00006583, 0x04c046e3, 0x00008081,
- 0x30e0980e, 0x0000e880, 0x20081cec, 0x0000d784, 0x00387015, 0x00000400,
- 0x00003791, 0x00007010, 0x03800000, 0x00007900, 0x00040000, 0x00000980,
- 0x00000419, 0x00001583, 0x0012700e, 0x0000e196, 0x001a700b, 0x00003196,
- 0x86594b29, 0x00006108, 0x865a6b4d, 0x00004910, 0x0019500b, 0x0000e18e,
- 0x0011500e, 0x0000318e, 0xffffffff, 0x00007f86, 0x0410c80b, 0x0000e187,
- 0x0000800e, 0x00003107, 0x11785eec, 0x00005704, 0x00387000, 0x00000000,
- 0xf000080e, 0x0000ec01, 0x22785eec, 0x00005704, 0x00387000, 0x00000000,
- 0x03808000, 0x0000f900, 0x0015001e, 0x00000980, 0x200044ec, 0x0000d784,
- 0x00387012, 0x00000a00, 0x200914ec, 0x0000d784, 0x04591811, 0x00000080,
- 0x02c03800, 0x0000f900, 0x0002001e, 0x00000980, 0x0420200b, 0x0000e901,
- 0x20385cec, 0x0000d704, 0x00191011, 0x00000280, 0x40000d17, 0x00001583,
- 0x02e8380a, 0x00009990, 0x0420200b, 0x00006911, 0x00003798, 0x00007008,
- 0x000033b9, 0x0000f200, 0x20385cec, 0x0000d704, 0x00095019, 0x00000680,
- 0x81c002ec, 0x00005684, 0x00400000, 0x00008000, 0x02c00000, 0x0000e180,
- 0x0010a00e, 0x00006186, 0x0410800b, 0x0000e187, 0x0418a00e, 0x0000b187,
- 0x81f874ec, 0x0000d604, 0x00385800, 0x00000000, 0xffffffff, 0x00007ff7,
- 0xffffffff, 0x00007ff7, 0x81f85aec, 0x0000a684, 0xffffffff, 0x00007fa7,
- 0x8640140b, 0x00001880, 0x4b40b619, 0x0000f902, 0x05400000, 0x00000004,
- 0x4b80a019, 0x00007902, 0x04c00000, 0x00000004, 0x4b808a19, 0x0000f902,
- 0x04000000, 0x00000004, 0x4b807419, 0x00007902, 0x02c00000, 0x00000004,
- 0x0668380a, 0x00001980, 0x04202019, 0x0000e901, 0x200384ec, 0x0000d784,
- 0x0038c81a, 0x00008000, 0x0038b4ec, 0x00005704, 0x0038a800, 0x00000000,
- 0x0038a4ec, 0x0000d704, 0x00389800, 0x00000000, 0x00388cec, 0x0000d704,
- 0x00388000, 0x00000000, 0x003874ec, 0x00005704, 0x00385800, 0x00000000,
- 0x03b0d800, 0x00007900, 0x00020018, 0x00000980, 0x000033b9, 0x0000f400,
- 0x200924ec, 0x0000d784, 0x00387015, 0x00000400, 0x000994ec, 0x0000d784,
- 0x00000019, 0x00008280, 0x0c811c13, 0x00006802, 0x01400c13, 0x00001283,
- 0x82820622, 0x00009283, 0xffffffff, 0x00007f86, 0x000034b1, 0x0000f008,
- 0x000034c3, 0x0000f008, 0x00000419, 0x0000e583, 0x03800000, 0x00000980,
- 0x84d26a4d, 0x00006110, 0x0642604c, 0x0000c910, 0x84d14a29, 0x00006108,
- 0x06414028, 0x0000c908, 0x000004e3, 0x0000e583, 0x043f1fe3, 0x00000901,
- 0x84099b04, 0x00000102, 0x83909a13, 0x0000e100, 0xddb00600, 0x00004911,
- 0x000036b3, 0x0000f008, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x22039800, 0x00007900, 0x00151b50, 0x00000980, 0x2268a800, 0x0000f900,
- 0x000aff14, 0x00008980, 0x9da80500, 0x00006101, 0x08001a76, 0x00006106,
- 0x1df88702, 0x00008714, 0x37de1014, 0x0000f500, 0x25787719, 0x00008910,
- 0xa2809800, 0x00009980, 0x37e0109f, 0x00007300, 0x0e409800, 0x00009980,
- 0xce78ceec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072819, 0x00001502, 0x000035d4, 0x00007400, 0x06400819, 0x00001090,
- 0xce78ceec, 0x0000a814, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x220f0800, 0x00007900, 0x003884ca, 0x00000980, 0x2263e800, 0x0000f900,
- 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101, 0x08001a76, 0x00006106,
- 0x9db81400, 0x0000871c, 0x37f31014, 0x0000f500, 0x1d785f11, 0x00000914,
- 0x62800024, 0x000089d0, 0x37f5109f, 0x0000f300, 0x0e40a000, 0x00001980,
- 0xce78ceec, 0x0000a004, 0xc000000c, 0x00006c03, 0xffffffff, 0x00007f97,
- 0x00072819, 0x00001502, 0x06400819, 0x00001090, 0xce78ceec, 0x0000a814,
- 0xfb89fb05, 0x0000f89a, 0x01800001, 0x00008000, 0xfb81870c, 0x0000f88e,
- 0x71800000, 0x00009a83, 0xceb8a4ec, 0x0000a004, 0xc720280c, 0x0000e803,
- 0xffffffff, 0x00007f97, 0x00072814, 0x00009502, 0x000033ee, 0x00007400,
- 0x05000814, 0x00001090, 0xceb8a4ec, 0x0000a814, 0x000038ec, 0x00007902,
- 0x02800000, 0x00000704, 0xffffffff, 0x00007fa7, 0x0bc03c13, 0x00006000,
- 0x0c003c12, 0x00003000, 0x01e09c12, 0x00009303, 0x01704e09, 0x0000e109,
- 0x0c019307, 0x00006116, 0x84a02404, 0x00009910, 0x00003691, 0x0000f008,
- 0x00000419, 0x00001583, 0x001a6807, 0x00006196, 0x00194807, 0x0000b18e,
- 0x04c1502a, 0x0000e108, 0x04c2704e, 0x0000c910, 0x00003691, 0x0000f400,
- 0xd6783c12, 0x00002804, 0xd6789c12, 0x0000a884, 0x00000419, 0x0000e583,
- 0x047f1fe3, 0x00008901, 0x02c2704e, 0x0000e110, 0x865a6b4d, 0x00004910,
- 0x02c1502a, 0x0000e108, 0x86594b29, 0x00004908, 0x000004e3, 0x0000e583,
- 0x44602404, 0x00000901, 0x01000020, 0x0000e188, 0xc450ca19, 0x0000c900,
- 0x81012000, 0x00009988, 0x00003827, 0x0000f010, 0x00003688, 0x00007200,
- 0x03d55800, 0x0000f900, 0x003884cc, 0x00000980, 0x22800000, 0x00007900,
- 0x00014080, 0x00000980, 0x22155800, 0x0000f900, 0x003884cc, 0x00000980,
- 0x2263e800, 0x0000f900, 0x001b7e4e, 0x00008980, 0xddb00600, 0x0000e101,
- 0x08001a76, 0x00006106, 0x9db81400, 0x0000871c, 0x38331014, 0x0000f500,
- 0x1d785f11, 0x00000914, 0x62800024, 0x000089d0, 0x3835109f, 0x0000f300,
- 0x0e40a000, 0x00001980, 0xce78ceec, 0x0000a004, 0xc000000c, 0x00006c03,
- 0xffffffff, 0x00007f97, 0x00072819, 0x00001502, 0x000033ee, 0x00007400,
- 0x06400819, 0x00001090, 0xce78ceec, 0x0000a814, 0x0107fc47, 0x00006280,
- 0x0780500a, 0x00000900, 0x384210ad, 0x00007500, 0x07e2e800, 0x00007900,
- 0x00013f36, 0x00000980, 0x07385f04, 0x00008134, 0xffc00000, 0x00006180,
- 0x04c00020, 0x00004980, 0x06464000, 0x0000f900, 0x00001c00, 0x00000980,
- 0x0e800000, 0x00006180, 0x00001813, 0x00006106, 0x0ec00000, 0x0000e180,
- 0x413f1019, 0x0000e002, 0x04001000, 0x0000f900, 0x00004000, 0x00000980,
- 0x04400000, 0x0000f900, 0x00040050, 0x00000980, 0x08000000, 0x00007900,
- 0x00004000, 0x00000980, 0x08838000, 0x00007900, 0x000080c0, 0x00000980,
- 0x0a400000, 0x00007900, 0x00260000, 0x00000980, 0x0e009000, 0x00007900,
- 0x0000c0c0, 0x00008980, 0x0e400000, 0x0000f900, 0x00010000, 0x00000980,
- 0xc0001813, 0x0000e006, 0xc000183b, 0x0000b006, 0x04800f02, 0x000001a0,
- 0x06800000, 0x000081ec, 0x07001001, 0x0000e180, 0x07400000, 0x00004980,
- 0x07800000, 0x000081fc, 0x08400001, 0x0000e180, 0x08c00000, 0x0000c980,
- 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e8,
- 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0,
- 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8,
- 0x0dc00000, 0x0000e180, 0x0f004008, 0x0000c900, 0x0f785709, 0x00000338,
- 0x0eb85d02, 0x0000833c, 0x008826ec, 0x0000df80, 0x00d06980, 0x00000584,
- 0x1bc04008, 0x0000e100, 0x00204806, 0x00006086, 0x82284806, 0x00006886,
- 0x04184806, 0x0000e987, 0x01c03006, 0x00001900, 0x1b3d9000, 0x00007900,
- 0x00174f7c, 0x00008980, 0x1b803807, 0x00001900, 0xffffffff, 0x00007ff7,
- 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
- 0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x1b403006, 0x00006100,
- 0x04284804, 0x00006087, 0x388310cf, 0x00007500, 0x86204804, 0x00006887,
- 0x1ac02004, 0x00001900, 0x05000000, 0x000081d4, 0x05c00000, 0x000081d8,
- 0x00401409, 0x00004588, 0x02602409, 0x0000018d, 0x388a1482, 0x0000f404,
- 0x11f85f0a, 0x00000424, 0x12009b00, 0x00009980, 0x00000447, 0x00009583,
- 0x813f1fe3, 0x00001908, 0x43802004, 0x0000a088, 0x00003893, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x01003c04, 0x00001281, 0x01001404, 0x00001181,
- 0x00000c04, 0x00009583, 0x00003894, 0x0000f01b, 0x3894383c, 0x0000f100,
- 0x3000344b, 0x0000f902, 0x01400000, 0x00000000, 0x3038264b, 0x0000a000,
- 0xffffffff, 0x00007f97, 0x2c003605, 0x00009680, 0x854588b0, 0x00001000,
- 0x85b02a05, 0x00008115, 0x000038ab, 0x00007400, 0xc5682d05, 0x0000e101,
- 0x82202016, 0x0000e000, 0x05283406, 0x00008110, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03ffa800, 0x00007900, 0x00174f7c, 0x00008980,
- 0x04ba9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x01f84f08, 0x00000018,
- 0x02800000, 0x00006180, 0x08001a09, 0x0000e106, 0x38ab0fe7, 0x0000f500,
- 0x03002f02, 0x00008091, 0x82680400, 0x00008026, 0x04c00020, 0x00006180,
- 0x0e800000, 0x00004980, 0x06464000, 0x0000f900, 0x00001c00, 0x00000980,
- 0x0ec00000, 0x0000e180, 0x00001813, 0x00006106, 0x04001000, 0x0000f900,
- 0x00008000, 0x00000980, 0x04400000, 0x0000f900, 0x00048050, 0x00008980,
- 0x06000800, 0x00007900, 0x00080000, 0x00000980, 0x06800000, 0x00007900,
- 0x00002000, 0x00000980, 0x08000000, 0x00007900, 0x00004000, 0x00000980,
- 0x08838000, 0x00007900, 0x000080c0, 0x00000980, 0x0a400000, 0x00007900,
- 0x00260000, 0x00000980, 0x0e009000, 0x00007900, 0x0000c0c0, 0x00008980,
- 0x0e400000, 0x0000f900, 0x00010000, 0x00000980, 0x413f1019, 0x0000e002,
- 0xc0001813, 0x0000b006, 0x04801002, 0x0000e100, 0xc000183b, 0x0000e006,
- 0x06c00000, 0x00006180, 0x07001001, 0x0000c980, 0x07400000, 0x000001f8,
- 0x07c00000, 0x0000e180, 0x08400001, 0x0000c980, 0x08c00000, 0x000082d0,
- 0x09400000, 0x000002d8, 0x09c00000, 0x000002e0, 0x0a800000, 0x000082ec,
- 0x0b000000, 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4,
- 0x0c800000, 0x000083cc, 0x0d000000, 0x000083d4, 0x0d800000, 0x000083dc,
- 0x0f384f08, 0x00000334, 0x0fb85f0a, 0x0000033c, 0xce981302, 0x00009900,
- 0x009026ec, 0x0000df80, 0x00d06980, 0x00000584, 0x1bc02004, 0x0000e100,
- 0x0020280a, 0x00006086, 0x8228280a, 0x00006886, 0x0418280a, 0x0000e987,
- 0x02c0500a, 0x00001900, 0x1b181000, 0x00007900, 0x0014035e, 0x00000980,
- 0x1b80580b, 0x00001900, 0xffffffff, 0x00007ff7, 0x82c04cec, 0x00007902,
- 0x02000000, 0x00000604, 0xffffffff, 0x00007fa7, 0x02804809, 0x0000e100,
- 0x00002008, 0x0000e586, 0x1b40500a, 0x00006100, 0x04282808, 0x00006087,
- 0x38ee10cf, 0x0000f500, 0x86202808, 0x00006887, 0x1ac04008, 0x00001900,
- 0x00000c05, 0x00001583, 0x00001c05, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00003900, 0x00007008, 0x00003900, 0x00007008, 0x01c02004, 0x00006100,
- 0x08001a09, 0x0000e106, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03d9f000, 0x00007900, 0x0014035e, 0x00000980, 0x04ba9000, 0x0000f900,
- 0x0016f7fa, 0x00008980, 0x01800705, 0x000000a8, 0x39000fe7, 0x0000f500,
- 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x03001002, 0x0000c900,
- 0x03464000, 0x0000f900, 0x00001c00, 0x00000980, 0x0b800000, 0x000082fc,
- 0x03000800, 0x00007900, 0x00080000, 0x00000980, 0x03800000, 0x00007900,
- 0x00002000, 0x00000980, 0x05000000, 0x0000f900, 0x00004000, 0x00000980,
- 0x05838000, 0x0000f900, 0x000080c0, 0x00000980, 0x0b009000, 0x00007900,
- 0x0000c080, 0x00000980, 0x0b400000, 0x0000f900, 0x00010000, 0x00000980,
- 0x07400000, 0x0000f900, 0x00260000, 0x00000980, 0x413f100d, 0x0000e002,
- 0xc000182f, 0x0000b006, 0x03c00000, 0x00006180, 0x04001001, 0x0000c980,
- 0x04400000, 0x000001c8, 0x04c00000, 0x0000e180, 0x05400001, 0x00004980,
- 0x05c00000, 0x000001e0, 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0,
- 0x07800000, 0x000081fc, 0x08000000, 0x000082c4, 0x08800000, 0x000082cc,
- 0x09000000, 0x000082d4, 0x09800000, 0x000082dc, 0x0a000000, 0x000082e4,
- 0x0a800000, 0x000082ec, 0x0c382f04, 0x00000304, 0x0cb83f06, 0x0000030c,
- 0xcb981302, 0x00009900, 0x00901eec, 0x00005f80, 0x00007002, 0x00000084,
- 0x01400000, 0x00006180, 0x02803710, 0x00004281, 0x0b000715, 0x00008096,
- 0x0000240a, 0x0000e583, 0x05412825, 0x00008900, 0x01400800, 0x0000e191,
- 0x0b40a014, 0x0000c900, 0x81401615, 0x0000e283, 0x11014028, 0x00000900,
- 0x03f88000, 0x0000f900, 0x00003ffe, 0x00000980, 0x41f88000, 0x0000f900,
- 0x00003ffe, 0x00000980, 0x11795729, 0x00000418, 0x11c0072b, 0x00008090,
- 0x000039d0, 0x00007410, 0x01800000, 0x00006180, 0x41789f13, 0x0000c901,
- 0xc380c22d, 0x0000e080, 0x85309e13, 0x00000901, 0x0030a80f, 0x0000e886,
- 0x0243e80f, 0x00001282, 0xc1f0ae15, 0x00001909, 0x000039f6, 0x0000f011,
- 0x81401610, 0x00001283, 0x000039ca, 0x00007013, 0x00000c0e, 0x00006583,
- 0x81800000, 0x00000980, 0x83c00fe2, 0x00009888, 0x50c0340f, 0x0000a08a,
- 0x00003952, 0x0000f008, 0x00000c0e, 0x00009583, 0x83c00fe2, 0x000018a8,
- 0x50e0340f, 0x0000a028, 0x00003952, 0x00007028, 0x0000140e, 0x00009583,
- 0x000039ab, 0x0000f00b, 0x0000240e, 0x00009583, 0x83c00fe2, 0x00009888,
- 0x50e0340f, 0x0000a088, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x34208406, 0x0000c297, 0xb0601505, 0x00000e92,
- 0x2b001505, 0x00004297, 0x86600e10, 0x00000e93, 0x68400e10, 0x00007896,
- 0xb1c00000, 0x00009d83, 0x06c09012, 0x0000e100, 0x0802240e, 0x0000e084,
- 0x87109a13, 0x0000e100, 0x81a0722d, 0x00004100, 0x80106206, 0x00009502,
- 0x01001004, 0x000063b0, 0x01460000, 0x000009b1, 0x4100b800, 0x0000e1b1,
- 0x00000005, 0x0000e5b5, 0x00003a2e, 0x0000f018, 0x0000240a, 0x0000e583,
- 0x06016005, 0x00002006, 0x413f1005, 0x00006002, 0xc0002004, 0x0000b405,
- 0xc0c08004, 0x00006003, 0x04187005, 0x00003185, 0x000039b9, 0x00007208,
- 0x02000000, 0x00009980, 0x10000000, 0x0000e180, 0x00004006, 0x00006206,
- 0x82002610, 0x00006283, 0x10400000, 0x00008980, 0x10c00000, 0x000084c8,
- 0x000039d4, 0x0000f011, 0x42000d0e, 0x00006283, 0x12800000, 0x00000980,
- 0x74008040, 0x00006000, 0x0018604a, 0x00003100, 0x12d00002, 0x00006180,
- 0x94c08040, 0x0000e000, 0x00003a04, 0x00007410, 0x12083804, 0x0000e180,
- 0x0030684b, 0x00006080, 0x92800110, 0x000004a4, 0xc000070d, 0x00001583,
- 0x0000398d, 0x0000700b, 0x8480a30e, 0x00006180, 0x03001c15, 0x00008281,
- 0x0000140c, 0x00001583, 0x2b408e0d, 0x0000f90a, 0x04000000, 0x00000004,
- 0x2b807c0d, 0x0000790a, 0x03000000, 0x00008004, 0x000039e6, 0x0000f010,
- 0xffffffff, 0x00007f86, 0x04408a12, 0x00009002, 0x03c0080f, 0x0000e082,
- 0x04000010, 0x00000084, 0x0300000c, 0x00009084, 0x2b788e0d, 0x00005004,
- 0x00388000, 0x00000000, 0x2bb87c0d, 0x0000d004, 0x00386000, 0x00008000,
- 0x03000020, 0x0000e180, 0x08001a0d, 0x00006106, 0x0010680c, 0x00006984,
- 0x03400000, 0x00007900, 0x00010000, 0x00000980, 0x733860ec, 0x0000d600,
- 0x00000000, 0x00008080, 0x8340e22d, 0x0000e080, 0x03000000, 0x00008980,
- 0x8358720d, 0x00006100, 0x453f100c, 0x0000a003, 0x0201600c, 0x00006807,
- 0x20386eec, 0x00005600, 0x00386000, 0x00008000, 0x43000d0e, 0x00001283,
- 0x001830ec, 0x00005788, 0x00007000, 0x00000080, 0x000039e2, 0x0000f011,
- 0x00880eec, 0x0000df80, 0x00d07400, 0x000081c4, 0x83f71ee3, 0x00006100,
- 0x08c11409, 0x0000e004, 0x00001c09, 0x00006583, 0x02401c09, 0x00000281,
- 0x5178440f, 0x00002018, 0x5178440f, 0x0000a0b0, 0x02401c09, 0x00009881,
- 0x00003958, 0x0000f403, 0x02604808, 0x00001700, 0xd7604812, 0x0000e805,
- 0xc2000f10, 0x00006283, 0x83c00fe2, 0x00008880, 0x50c0340f, 0x0000200a,
- 0x50e0360f, 0x00002090, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f97,
- 0x00008406, 0x0000c08e, 0x00001505, 0x00008090, 0x56000e10, 0x00007896,
- 0x19c00000, 0x00001c8e, 0x68400e10, 0x00007896, 0xb1c00000, 0x00009d83,
- 0x68401505, 0x0000f896, 0xc1c00000, 0x00009c8a, 0x03c60745, 0x00001281,
- 0x0002040f, 0x00001583, 0x00188808, 0x00006a16, 0x00003a5e, 0x00007009,
- 0x10000000, 0x0000e180, 0x00004006, 0x00006206, 0x10400000, 0x000004c8,
- 0x10c00000, 0x00009980, 0x5c002610, 0x0000788e, 0xa1c00000, 0x00001c8e,
- 0x41401505, 0x00006381, 0x0800340f, 0x00002004, 0xc380230e, 0x00006080,
- 0x85002614, 0x00000081, 0xc8806c0f, 0x00009880, 0x56001505, 0x0000f88e,
- 0x09c00000, 0x00009c8d, 0x00000405, 0x00009583, 0x00003941, 0x00007400,
- 0x41401505, 0x0000e391, 0xc8988b11, 0x00008910, 0x85002613, 0x00006091,
- 0xc380e22d, 0x00008090, 0x81401610, 0x00001283, 0x00003a64, 0x0000f013,
- 0x0000393b, 0x0000f200, 0x41401713, 0x00009381, 0x82004610, 0x00006283,
- 0x40000840, 0x00002402, 0x90972ae5, 0x00006100, 0x0ac0840f, 0x0000e010,
- 0x03c0140f, 0x0000e091, 0x04108845, 0x0000a193, 0x00003970, 0x0000f008,
- 0x82008610, 0x00006283, 0x41207840, 0x00002002, 0x03c00800, 0x0000e189,
- 0x03c01000, 0x0000c991, 0x00003970, 0x0000f400, 0xffffffff, 0x00007f86,
- 0xe7a07845, 0x00006803, 0x001880ec, 0x00005780, 0x00007000, 0x00000080,
- 0x00900eec, 0x0000df80, 0x00d07180, 0x000002c4, 0x00000c0c, 0x00001583,
- 0x2b808a0d, 0x00007912, 0x04000000, 0x00000004, 0x2bc0780d, 0x00007912,
- 0x03000000, 0x00008004, 0x00003a50, 0x00007008, 0xffffffff, 0x00007f86,
- 0x04408a12, 0x00009002, 0x03c0080f, 0x0000e082, 0x04000010, 0x00000084,
- 0x0300000c, 0x00009084, 0x0000398d, 0x00007400, 0x2bb88a0d, 0x0000d004,
- 0x00388000, 0x00000000, 0x2bf8780d, 0x0000d004, 0x00386000, 0x00008000,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x01c00000, 0x0000e180,
- 0x08001a09, 0x0000e106, 0x03cc0800, 0x00007900, 0x003ad180, 0x00000980,
- 0x048d0000, 0x00007900, 0x0005d902, 0x00008980, 0x01800724, 0x000000a8,
- 0x82600500, 0x00008026, 0x3a040fe7, 0x00007500, 0x0300a702, 0x00008091,
- 0xc1f0ae15, 0x0000e101, 0x81ff1fe3, 0x0000c900, 0x09800040, 0x00006180,
- 0x83f0a40e, 0x00004000, 0x09c00000, 0x0000f900, 0x00046080, 0x00008980,
- 0x8980420f, 0x00006180, 0x01000804, 0x00000380, 0x83c04214, 0x00006080,
- 0x02400000, 0x00008980, 0x02000000, 0x00007900, 0x00008000, 0x00000980,
- 0x09000000, 0x0000f900, 0x0000c000, 0x00008980, 0x09500000, 0x0000f900,
- 0x00200000, 0x00000980, 0x8008aa23, 0x00007900, 0x00000022, 0x00000582,
- 0x02800000, 0x000080ec, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec,
- 0x89e0720f, 0x00001100, 0x80000223, 0x00007900, 0x00000002, 0x00008582,
- 0x8036ea23, 0x00007900, 0x00000020, 0x00008582, 0x00003a4a, 0x0000f008,
- 0x00003a44, 0x00007008, 0x00003a3e, 0x0000f008, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03d73800, 0x00007900, 0x003ad182, 0x00008980,
- 0x04864000, 0x00007900, 0x00372644, 0x00008980, 0x01800800, 0x0000e180,
- 0x08001a09, 0x0000e106, 0xc1d11a23, 0x00006100, 0x81ff1fe3, 0x0000c900,
- 0x02800000, 0x00006180, 0xc2700600, 0x00004901, 0x3a2e0fe7, 0x0000f500,
- 0x82781400, 0x00000030, 0x8100b800, 0x00001980, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x08022507, 0x00006084, 0x08001a09, 0x0000b106,
- 0x03ef1800, 0x00007900, 0x003ad180, 0x00000980, 0x0483b800, 0x0000f900,
- 0x00150850, 0x00008980, 0x81c862e3, 0x0000801e, 0x81a0722d, 0x0000e100,
- 0xc1916a2d, 0x00000900, 0x02800000, 0x00006180, 0xc2700600, 0x00004901,
- 0x3a3e0fe7, 0x00007500, 0x8240c400, 0x00008091, 0x03001002, 0x00009900,
- 0x03c01800, 0x0000e181, 0x00002028, 0x00006586, 0xa6a07827, 0x00006003,
- 0x00000828, 0x00003403, 0x6340070d, 0x0000788a, 0xe1c00000, 0x00009c8b,
- 0x03c01000, 0x00006181, 0x00002028, 0x00006586, 0xa6a07827, 0x00006003,
- 0x00000828, 0x00003403, 0x6340070d, 0x0000788a, 0xe1c00000, 0x00009c8b,
- 0x03c00800, 0x00006181, 0x00002028, 0x00006586, 0xa6a07827, 0x00006003,
- 0x00000828, 0x00003403, 0x6340070d, 0x0000788a, 0xe1c00000, 0x00009c8b,
- 0x2b80880d, 0x00007902, 0x04000000, 0x00000004, 0x2b807e0d, 0x00007902,
- 0x03000000, 0x00008004, 0xffffffff, 0x00007f97, 0x04408a12, 0x00009002,
- 0x03c0080f, 0x0000e082, 0x04000010, 0x00000084, 0x0300000c, 0x00009084,
- 0x0000398d, 0x00007400, 0x2bb8880d, 0x00005004, 0x00388000, 0x00000000,
- 0x2bb87e0d, 0x00005004, 0x00386000, 0x00008000, 0x8000163d, 0x00009583,
- 0x02068000, 0x00001989, 0x02100008, 0x00001388, 0x0000396a, 0x00007008,
- 0x000039bd, 0x00007200, 0x00188808, 0x0000ea06, 0x00000405, 0x00009583,
- 0x01800000, 0x0000e190, 0x81ff1fe3, 0x00004910, 0xc1d88b11, 0x0000e110,
- 0x81991322, 0x0000c910, 0x000039d2, 0x00007008, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03f26000, 0x00007900, 0x003ad17e, 0x00008980,
- 0x048a2800, 0x0000f900, 0x00062f58, 0x00008980, 0x02800000, 0x00006180,
- 0x08001a09, 0x0000e106, 0x3a760fe7, 0x00007500, 0x82600500, 0x00008026,
- 0x8100a800, 0x0000e180, 0x03001002, 0x0000c900, 0xd7403022, 0x00006805,
- 0x56001505, 0x0000f88e, 0x09c00000, 0x00009c8d, 0x03383f08, 0x0000802c,
- 0x3a7d4616, 0x0000f500, 0x02b82f06, 0x00000024, 0x02000000, 0x00009980,
- 0x83000000, 0x0000e180, 0x0020280f, 0x00006086, 0x1bc02004, 0x0000e100,
- 0x8228280f, 0x0000e086, 0x0418280f, 0x0000e987, 0x0500780f, 0x00009900,
- 0x1b151800, 0x00007900, 0x0001fc84, 0x00000980, 0x1b80a014, 0x00001900,
- 0xffffffff, 0x00007ff7, 0x82c074ec, 0x0000f902, 0x03400000, 0x00000604,
- 0xffffffff, 0x00007fa7, 0x03c0700e, 0x0000e100, 0x0000200d, 0x0000e586,
- 0x1b40780f, 0x00006100, 0x0428280d, 0x00006087, 0x3a9110cf, 0x0000f500,
- 0x8620280d, 0x00006887, 0x1ac0680d, 0x00001900, 0x09400000, 0x00007900,
- 0x00260000, 0x00000980, 0x08000000, 0x000082c4, 0x08800000, 0x000082cc,
- 0x09000000, 0x000082d8, 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8,
- 0x0ac00000, 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0,
- 0x0c400000, 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8,
- 0x0dc00000, 0x000004c0, 0x10400000, 0x000004c8, 0x10c00000, 0x0000e180,
- 0x0e002004, 0x00004900, 0x0e783705, 0x00000328, 0x0ef84707, 0x00008330,
- 0x0f785709, 0x00000338, 0x0fc0580b, 0x00009900, 0xb7204c05, 0x00004389,
- 0x00604c05, 0x00000098, 0x8cc01c05, 0x00004389, 0x00601c05, 0x00000098,
- 0x01800c05, 0x0000c588, 0x07c01405, 0x00003089, 0x61a02c05, 0x0000c5b1,
- 0x2fa04405, 0x0000b088, 0xa7e06c05, 0x00004389, 0x00606c05, 0x00008098,
- 0x40e05c05, 0x0000c588, 0x30c05c05, 0x000022b4, 0xb7807c05, 0x0000c489,
- 0xcc607c05, 0x00008faa, 0x44c08405, 0x0000788b, 0x61c00000, 0x00009e8d,
- 0x3ab91482, 0x00007404, 0x11f83f06, 0x00000424, 0x12009f00, 0x00001980,
- 0x00000447, 0x00009583, 0x82ff1fe3, 0x00001908, 0x4380c80b, 0x0000a088,
- 0x00003ac2, 0x0000f010, 0xffffffff, 0x00007f97, 0x06003c19, 0x00009281,
- 0x02c01418, 0x00009181, 0x00000c0b, 0x00009583, 0x00003ac7, 0x0000701b,
- 0x021a3000, 0x0000f900, 0x0001fc86, 0x00008980, 0x3ac73a79, 0x0000f500,
- 0x01783707, 0x0000001c, 0xc1782847, 0x00008018, 0x30384a4b, 0x00002080,
- 0x30406c4b, 0x0000f902, 0x02c00000, 0x00008000, 0x05000000, 0x000080f8,
- 0x3038444b, 0x00002000, 0x86684d09, 0x0000e100, 0x85284d09, 0x00004900,
- 0x4380b019, 0x00007902, 0x05400000, 0x00008000, 0x30783a4b, 0x0000a000,
- 0x3078564b, 0x00002080, 0x50b832ec, 0x00002080, 0x02c03c16, 0x0000e281,
- 0x0800b40e, 0x00002004, 0x00000c0b, 0x00006583, 0x85204c09, 0x00000901,
- 0x01000000, 0x0000f910, 0x00014040, 0x00000980, 0x02800000, 0x0000e190,
- 0x81004000, 0x00004990, 0x00003ae5, 0x0000f008, 0x03db5800, 0x00007900,
- 0x0001fc86, 0x00008980, 0x04804000, 0x00007900, 0x000d1f66, 0x00008980,
- 0xc2700600, 0x00006101, 0x08001a09, 0x0000e106, 0x00003b66, 0x0000f400,
- 0x82781400, 0x00000030, 0x01b8a70e, 0x0000001c, 0x05c00001, 0x000080fc,
- 0x04184817, 0x00006187, 0x0418580f, 0x0000b187, 0x8000060d, 0x0000e583,
- 0xb2e06817, 0x0000a000, 0xc3286817, 0x0000e000, 0x0018380f, 0x00003196,
- 0x4000050a, 0x00006583, 0xd3706817, 0x00002000, 0x03800000, 0x0000e180,
- 0xe0000817, 0x0000e412, 0x8000060a, 0x00006583, 0x86400c09, 0x00000880,
- 0x45c40517, 0x0000e391, 0x83a84d09, 0x00000900, 0x4000050b, 0x0000e583,
- 0x85800e16, 0x00000081, 0x02c01000, 0x00006191, 0x02c03000, 0x0000c989,
- 0x01400806, 0x00009282, 0x8bb87019, 0x00002884, 0x82e84d09, 0x0000e100,
- 0x82205817, 0x0000e004, 0x8b78be19, 0x00005004, 0x00387800, 0x00008000,
- 0x00003b20, 0x0000f408, 0x8b800019, 0x0000d004, 0x00400000, 0x00000080,
- 0x43b8b00b, 0x0000d000, 0x0038a800, 0x00000000, 0x01401000, 0x00009980,
- 0x82204805, 0x0000e886, 0x3b083f9d, 0x00007500, 0x0c004605, 0x00006800,
- 0x18402805, 0x00001900, 0x01400800, 0x00009980, 0x82204805, 0x0000e886,
- 0x3b0d3f9d, 0x00007500, 0x0bc04605, 0x0000e800, 0x18402805, 0x00001900,
- 0x01402000, 0x00009980, 0x82204805, 0x0000e886, 0x3b123f9d, 0x0000f500,
- 0x0b804605, 0x00006800, 0x18402805, 0x00001900, 0x01401800, 0x00001980,
- 0x82204805, 0x0000e886, 0x3b173f9d, 0x0000f500, 0x0b404605, 0x00006800,
- 0x18402805, 0x00001900, 0x01402800, 0x00001980, 0x82204805, 0x0000e886,
- 0x3b1c3f9d, 0x00007500, 0x0b004605, 0x0000e800, 0x18402805, 0x00001900,
- 0x01400020, 0x00009980, 0x3b2042ec, 0x00007500, 0x81604c09, 0x00001900,
- 0x05402805, 0x00001900, 0x3b2145f8, 0x0000f100, 0x01400000, 0x00001980,
- 0x3da54606, 0x0000f500, 0x00204805, 0x0000e886, 0x01c02805, 0x00001900,
- 0x00003da5, 0x00007000, 0x02d09824, 0x0000e180, 0x02038000, 0x00004980,
- 0x3b2b1079, 0x00007500, 0x04171008, 0x0000e987, 0x03404008, 0x00001900,
- 0x00c002ec, 0x0000df80, 0x1399680b, 0x00001684, 0x3b2e146c, 0x0000f100,
- 0xffffffff, 0x00007f86, 0x00000447, 0x00009583, 0x82ff1fe3, 0x00001908,
- 0x4380c80b, 0x0000a088, 0x00003b38, 0x00007010, 0xffffffff, 0x00007f97,
- 0x06003c19, 0x00009281, 0x02c01418, 0x00009181, 0x00000c0b, 0x00009583,
- 0x00003b3d, 0x0000f01b, 0x023a6800, 0x0000f900, 0x0001fc86, 0x00008980,
- 0x3b3d3a79, 0x00007500, 0x01783707, 0x0000001c, 0xc1782847, 0x00008018,
- 0x867f17e2, 0x0000e100, 0x05400000, 0x0000c980, 0x50b83419, 0x00002080,
- 0x86400c44, 0x0000e080, 0x41222815, 0x0000e000, 0x85a22444, 0x00006101,
- 0x003a2015, 0x00006000, 0x8b40c619, 0x00002085, 0x107a5015, 0x00006800,
- 0x20aa3815, 0x00006800, 0x51723815, 0x00006800, 0x8b402e19, 0x0000a084,
- 0x60e0c015, 0x0000e800, 0x30fa3815, 0x0000e800, 0x71e24015, 0x0000e800,
- 0x50b83aec, 0x0000a080, 0x8ba0b019, 0x0000a084, 0x8b58b619, 0x0000a085,
- 0x8120c015, 0x0000e800, 0x6b400405, 0x00004489, 0xce60074a, 0x00000e96,
- 0x6f400744, 0x0000c289, 0xe0600445, 0x00000e8e, 0xeb400645, 0x0000f892,
- 0x01c00001, 0x00000000, 0x78e00745, 0x00004491, 0xd4600547, 0x00000e97,
- 0x14800747, 0x0000c590, 0x0c600748, 0x00008b8f, 0x02800000, 0x00006180,
- 0x01000020, 0x00004980, 0x03fd7000, 0x0000f900, 0x0001fc86, 0x00008980,
- 0x81005800, 0x00009980, 0x04bf5800, 0x00007900, 0x001ac0fe, 0x00008980,
- 0xc1002800, 0x00006181, 0x08001a09, 0x0000e106, 0x82600500, 0x00008026,
- 0x0338b702, 0x0000801c, 0x0180a815, 0x00009900, 0x3b670fe7, 0x00007100,
- 0x00001405, 0x00001583, 0x8b4a5e19, 0x0000a896, 0x02800000, 0x0000e188,
- 0x01000020, 0x0000c988, 0x00003b52, 0x00007010, 0x00003b5f, 0x0000f400,
- 0x03fe5000, 0x00007900, 0x0001fc86, 0x00008980, 0x81005800, 0x00009980,
- 0x00000c05, 0x00001583, 0x01000020, 0x0000e190, 0x86400c44, 0x00004888,
- 0x8b401619, 0x0000d08e, 0x00400000, 0x00008000, 0x00003b84, 0x0000f008,
- 0x00003c0b, 0x0000f400, 0x03ff6000, 0x0000f900, 0x0001fc86, 0x00008980,
- 0x81005800, 0x00009980, 0x00001405, 0x00001583, 0x01000020, 0x0000e190,
- 0x86400c44, 0x00004888, 0x8b400e19, 0x0000d08e, 0x00400000, 0x00008000,
- 0x00003b84, 0x0000f008, 0x00003c0b, 0x0000f400, 0x03c05800, 0x00007900,
- 0x0001fc88, 0x00000980, 0x81005800, 0x00009980, 0x6a800807, 0x0000c48d,
- 0x48600606, 0x00000e8f, 0xe9001506, 0x0000f892, 0x01c00001, 0x00008080,
- 0x06000000, 0x00009981, 0x50b8c8ec, 0x0000a000, 0x00000445, 0x00001583,
- 0x06000800, 0x00009991, 0xffffffff, 0x00007f86, 0x00001819, 0x00001582,
- 0x50b8caec, 0x00002000, 0x01404000, 0x0000e191, 0x01408000, 0x0000c989,
- 0xffffffff, 0x00007f97, 0x00000019, 0x00001582, 0x02000000, 0x0000e189,
- 0x06400800, 0x00004989, 0x00003b9b, 0x0000f009, 0x00000819, 0x00009582,
- 0x02000ee3, 0x0000e289, 0x06401000, 0x00008989, 0x06402000, 0x00006191,
- 0x02001ee3, 0x0000c291, 0x01800000, 0x00001980, 0x01804408, 0x00001081,
- 0x82222006, 0x0000e886, 0x3ba13f9d, 0x00007500, 0x0420c006, 0x0000e887,
- 0x18403006, 0x00001900, 0x0220cc08, 0x00009001, 0xe6e02c08, 0x0000f82a,
- 0xa1c00000, 0x00001d8a, 0x00000445, 0x0000e583, 0x01400000, 0x00008980,
- 0x014046e3, 0x00009081, 0x82222005, 0x0000e886, 0x00000805, 0x00006c97,
- 0x3b543f9d, 0x00007500, 0xffffffff, 0x00007f86, 0x18402805, 0x00001900,
- 0x00003b54, 0x0000f000, 0x01401000, 0x00009980, 0x82222005, 0x0000e886,
- 0x3bb23f9d, 0x0000f500, 0x08029605, 0x0000e800, 0x18402805, 0x00001900,
- 0x01400800, 0x00009980, 0x82222005, 0x0000e886, 0x3bb73f9d, 0x0000f500,
- 0x0fc29605, 0x00006800, 0x18402805, 0x00001900, 0x01402000, 0x00009980,
- 0x82222005, 0x0000e886, 0x3bbc3f9d, 0x00007500, 0x0f829605, 0x0000e800,
- 0x18402805, 0x00001900, 0x01401800, 0x00001980, 0x82222005, 0x0000e886,
- 0x3bc13f9d, 0x00007500, 0x0f429605, 0x0000e800, 0x18402805, 0x00001900,
- 0x01402800, 0x00001980, 0x82222005, 0x0000e886, 0x3b563f9d, 0x0000f500,
- 0x0f029605, 0x00006800, 0x18402805, 0x00001900, 0x00003b56, 0x00007000,
- 0x46400000, 0x000080f8, 0x8140fa19, 0x0000e282, 0x81a5b802, 0x00000980,
- 0x3842c000, 0x00001981, 0x00003bce, 0x0000f011, 0xffffffff, 0x00007fa7,
- 0x03820200, 0x0000f904, 0x86003444, 0x00006780, 0x0240fc44, 0x00008281,
- 0x8610c206, 0x0000e000, 0x0141fc44, 0x00000281, 0x00006818, 0x0000f902,
- 0x02800000, 0x00000000, 0x02000c0e, 0x00006283, 0x02604fe4, 0x00008800,
- 0x020728e5, 0x0000e110, 0x020048e5, 0x0000c408, 0x02400000, 0x0000e188,
- 0x86400a19, 0x0000c080, 0x0000fc05, 0x0000e583, 0x81802206, 0x00000080,
- 0x02406809, 0x0000e330, 0x02405009, 0x00000318, 0x0380080e, 0x00001780,
- 0x02804009, 0x00006218, 0x03404009, 0x00008230, 0xffffffff, 0x00007f86,
- 0x00386818, 0x00005000, 0x00385000, 0x00008000, 0x7d480219, 0x0000c191,
- 0x00600547, 0x00000090, 0x02c00747, 0x0000c590, 0x03800748, 0x00000388,
- 0xf380fa19, 0x00007896, 0x61c00000, 0x00009d8e, 0x86400c44, 0x00009880,
- 0x8b40c619, 0x00002085, 0xffffffff, 0x00007fa7, 0x0f60c005, 0x0000e800,
- 0x00323805, 0x00001502, 0x01400e47, 0x0000e291, 0x0607bc18, 0x00000291,
- 0x01000020, 0x0000e188, 0x01401c05, 0x00004891, 0x00003bfa, 0x00007410,
- 0x81005800, 0x00006188, 0x06202c18, 0x0000c311, 0x8b58c619, 0x00002896,
- 0x00003c0b, 0x0000f200, 0x03de4800, 0x0000f900, 0x0001fc88, 0x00000980,
- 0xc0000747, 0x00009583, 0x00003c14, 0x0000700b, 0x86400c44, 0x00009880,
- 0x8b40c619, 0x00002085, 0xffffffff, 0x00007fa7, 0x0f20c005, 0x00006800,
- 0x00224005, 0x00009502, 0x01400c48, 0x00006291, 0x06077c18, 0x00000291,
- 0x01000020, 0x0000e188, 0x01402405, 0x0000c891, 0x00003c14, 0x0000f410,
- 0x81005800, 0x00006188, 0x06202c18, 0x0000c311, 0x8b58c619, 0x00002896,
- 0x03de8800, 0x0000f900, 0x0001fc88, 0x00000980, 0x04bf5800, 0x00007900,
- 0x001ac0fe, 0x00008980, 0xc1002800, 0x00006181, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x00003b66, 0x0000f400, 0x0338b702, 0x0000801c,
- 0x02800000, 0x00006180, 0x0180a815, 0x0000c900, 0xc0000748, 0x00009583,
- 0x00003c1e, 0x0000700b, 0x06400c49, 0x00001281, 0x86400c44, 0x0000e080,
- 0x01402c19, 0x00004881, 0x8b40c619, 0x00002085, 0xffffffff, 0x00007fa7,
- 0x0606fc18, 0x00001281, 0x06202c18, 0x00001301, 0x8b58c619, 0x0000a886,
- 0x40000549, 0x00001583, 0x86400c44, 0x00001890, 0x8b424e19, 0x00002816,
- 0x0000044a, 0x00007888, 0x00000000, 0x00000000, 0x09c00807, 0x0000f88f,
- 0x01c00001, 0x00000060, 0x1880064b, 0x0000f88b, 0xa1c00000, 0x00009e82,
- 0x4000054a, 0x0000e583, 0x86400c44, 0x00000880, 0x8b40c619, 0x00002085,
- 0x8b80c819, 0x00002006, 0x01400020, 0x00001990, 0x00003c3a, 0x0000f408,
- 0x41622444, 0x00001911, 0x18402805, 0x0000e110, 0x0820c406, 0x00006004,
- 0x3c313f9d, 0x00007100, 0x00001406, 0x00001583, 0x01802000, 0x00009989,
- 0x00003c4c, 0x00007009, 0x00000c06, 0x00001583, 0x01801800, 0x00001989,
- 0x00003c4c, 0x00007009, 0x06002c06, 0x00009181, 0x13000c18, 0x0000789b,
- 0x49c00000, 0x00009e82, 0x80000219, 0x00001582, 0x01400000, 0x0000e190,
- 0x01802800, 0x00004989, 0x41622444, 0x00001911, 0x00003c4c, 0x0000f008,
- 0x3c413f9d, 0x00007300, 0x18402805, 0x00001900, 0x00002406, 0x00001583,
- 0x01801000, 0x00009989, 0x00003c4c, 0x00007009, 0x00001c06, 0x00009583,
- 0x01800800, 0x00009989, 0x00003c4c, 0x00007009, 0x13003c06, 0x0000f893,
- 0x59c00000, 0x00001e82, 0x00003c4c, 0x0000f200, 0x01803800, 0x00001981,
- 0x01803000, 0x00009981, 0x8000064b, 0x00006583, 0x86400c44, 0x00000880,
- 0x8b40c619, 0x00002085, 0xffffffff, 0x00007fa7, 0x0607c418, 0x00001281,
- 0x00003c62, 0x00007408, 0x06203418, 0x00001301, 0x8b58c619, 0x0000a886,
- 0xc000074b, 0x00006583, 0x86400c44, 0x00000880, 0x8b40c619, 0x00002085,
- 0xffffffff, 0x00007fa7, 0x0601fc18, 0x00009281, 0x8b58c619, 0x0000a886,
- 0x06020418, 0x00001391, 0x8b58c619, 0x00002896, 0x0000044c, 0x00001583,
- 0x82c00c44, 0x00001890, 0x8b40ce0b, 0x00002095, 0xffffffff, 0x00007fa7,
- 0x06440419, 0x00001391, 0x8b58ce0b, 0x0000a896, 0x3c6345f8, 0x00007100,
- 0x00003dbf, 0x00007400, 0x81c00800, 0x000000d6, 0x82000001, 0x000000da,
- 0x3c691482, 0x0000f404, 0x11f83f06, 0x00000424, 0x12009900, 0x00001980,
- 0x00000447, 0x00009583, 0x867f1fe3, 0x00001908, 0x43805819, 0x0000a088,
- 0x00003c72, 0x00007010, 0xffffffff, 0x00007f97, 0x06003c0b, 0x00009281,
- 0x06401418, 0x00009181, 0x00000c19, 0x00009583, 0x00003c77, 0x0000f01b,
- 0x023d4800, 0x0000f900, 0x0001fc88, 0x00000980, 0x3c773a79, 0x00007500,
- 0x01783707, 0x0000001c, 0xc1782847, 0x00008018, 0x3038d24b, 0x0000a080,
- 0x02000000, 0x00009980, 0xffffffff, 0x00007f97, 0x82a0d41a, 0x0000e101,
- 0x82c00c1a, 0x00004880, 0x8b80680b, 0x0000f902, 0x01c00000, 0x00000004,
- 0x8b787e0b, 0x00002084, 0xffffffff, 0x00007f97, 0x80000207, 0x0000e582,
- 0x82906a0d, 0x00008900, 0x02187d0d, 0x00008029, 0x00000c0f, 0x0000e583,
- 0x42000800, 0x00000989, 0xc000030d, 0x00001582, 0xffffffff, 0x00007f86,
- 0x00003c89, 0x0000f010, 0x00003c8e, 0x00007008, 0x01000020, 0x00001980,
- 0x00003c9f, 0x00007400, 0x03fe8000, 0x0000f900, 0x0001fc88, 0x00000980,
- 0x81004800, 0x00001980, 0x80000207, 0x00001582, 0x0560d41a, 0x00009910,
- 0x00003ca8, 0x00007009, 0x3c9242e7, 0x0000f100, 0x8b80680b, 0x0000f902,
- 0x01c00000, 0x00000004, 0x42000000, 0x00009981, 0x8b787e0b, 0x00002084,
- 0xffffffff, 0x00007f86, 0x80000207, 0x00001582, 0x80000207, 0x0000e582,
- 0x42000800, 0x00000989, 0x01000020, 0x00009990, 0x81004800, 0x00009990,
- 0x00003ca8, 0x0000f008, 0x03c05800, 0x00007900, 0x0001fc8a, 0x00008980,
- 0x04985800, 0x00007900, 0x00026410, 0x00000980, 0xc1002800, 0x00006181,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x00003b66, 0x0000f400,
- 0x03385702, 0x0000001c, 0x02800000, 0x00006180, 0x01804008, 0x0000c900,
- 0x01400000, 0x00001980, 0x3cac45b5, 0x0000f500, 0x0020d005, 0x00006886,
- 0x01802805, 0x00009900, 0x3cad45f8, 0x0000f100, 0x43b8300d, 0x00002080,
- 0x0000000f, 0x0000ec86, 0xb000000f, 0x0000ec00, 0x0000000f, 0x0000ed87,
- 0x81800e06, 0x00001181, 0x43b8300d, 0x0000a880, 0x0000000d, 0x0000ed86,
- 0x00003c63, 0x00007400, 0x8b787e0b, 0x0000a884, 0x8bb8680b, 0x00002884,
- 0x3cba1482, 0x00007404, 0x11f83f06, 0x00000424, 0x12009d00, 0x00009980,
- 0x00000447, 0x00009583, 0x867f1fe3, 0x00001908, 0x43805819, 0x0000a088,
- 0x00003cc3, 0x00007010, 0xffffffff, 0x00007f97, 0x06003c0b, 0x00009281,
- 0x06401418, 0x00009181, 0x00000c19, 0x00009583, 0x00003cc8, 0x0000701b,
- 0x021f5800, 0x00007900, 0x0001fc8a, 0x00008980, 0x3cc83a79, 0x0000f500,
- 0x01783707, 0x0000001c, 0xc1782847, 0x00008018, 0x3000a24b, 0x0000f902,
- 0x03c00000, 0x00000000, 0xc9181302, 0x0000e100, 0x80002025, 0x00006406,
- 0x10003825, 0x0000ec05, 0x3000744b, 0x00007902, 0x03400000, 0x00008000,
- 0x3000564b, 0x00007902, 0x02400000, 0x00000000, 0x3040404b, 0x00007902,
- 0x01c00000, 0x00008000, 0x00003cf8, 0x0000f400, 0x3040324b, 0x00007902,
- 0x01400000, 0x00000000, 0x8910a214, 0x00006100, 0xb0000825, 0x00006405,
- 0x3cdb1482, 0x0000f404, 0x11f83f06, 0x00000424, 0x12009d00, 0x00009980,
- 0x00000447, 0x00009583, 0x863f1fe3, 0x00009908, 0x4380c818, 0x00002088,
- 0x00003ce4, 0x00007010, 0xffffffff, 0x00007f97, 0x02c03c19, 0x00001281,
- 0x0600140b, 0x00009181, 0x00000c18, 0x00001583, 0x00003ce9, 0x0000701b,
- 0x021f5800, 0x00007900, 0x0001fc8a, 0x00008980, 0x3ce93a79, 0x0000f500,
- 0x01023f07, 0x00008017, 0x01b83704, 0x0000001c, 0x3000a24b, 0x0000f902,
- 0x03c00000, 0x00000000, 0xc9181302, 0x0000e100, 0x80002025, 0x00006406,
- 0x10003825, 0x0000ec05, 0x3000744b, 0x00007902, 0x03400000, 0x00008000,
- 0x3000564b, 0x00007902, 0x02400000, 0x00000000, 0x3040404b, 0x00007902,
- 0x01c00000, 0x00008000, 0x3040324b, 0x00007902, 0x01400000, 0x00000000,
- 0x8910a214, 0x00006100, 0xb0001025, 0x00006405, 0x50b858ec, 0x0000a000,
- 0x097fe825, 0x0000f900, 0x003ffffe, 0x00008280, 0x06000000, 0x0000e181,
- 0xe0001825, 0x0000e403, 0x8ad0720e, 0x00006100, 0x02800027, 0x00006587,
- 0x0000080b, 0x00006582, 0x8b586b0d, 0x00008900, 0x09404025, 0x00006398,
- 0xc0000829, 0x0000a431, 0xc0000708, 0x0000e583, 0x04104827, 0x0000a107,
- 0x06000800, 0x0000e191, 0x0428402b, 0x00006003, 0x0640830e, 0x00006080,
- 0x0420402d, 0x00006083, 0x02c0820a, 0x00006080, 0x8630a02b, 0x0000e005,
- 0x0980780f, 0x00006100, 0xf7e0c027, 0x0000e001, 0x0a282c05, 0x00008220,
- 0x0bb83707, 0x0000023c, 0x00003da5, 0x0000f400, 0x8c284009, 0x00008236,
- 0x0b005b0a, 0x00006300, 0x0a80ca0d, 0x00000300, 0x3d161482, 0x0000f404,
- 0x11f83f06, 0x00000424, 0x12009a00, 0x00001980, 0x00000447, 0x00009583,
- 0x863f1fe3, 0x00009908, 0x4380c818, 0x00002088, 0x00003d1f, 0x00007010,
- 0xffffffff, 0x00007f97, 0x02c03c19, 0x00001281, 0x0600140b, 0x00009181,
- 0x00000c18, 0x00001583, 0x00003d24, 0x0000701b, 0x02058000, 0x0000f900,
- 0x0001fc8c, 0x00008980, 0x3d243a79, 0x0000f500, 0x01023f07, 0x00008017,
- 0x01b83704, 0x0000001c, 0x3010cc4b, 0x0000f902, 0x02f00300, 0x00000001,
- 0x3010644b, 0x00007902, 0x06280200, 0x00000001, 0x10ffe043, 0x00007900,
- 0x003ffffe, 0x00008280, 0x10c04043, 0x00006380, 0xe0001822, 0x0000a403,
- 0x0000040b, 0x0000e583, 0x80602043, 0x00002506, 0x02c00800, 0x00006189,
- 0x02c01000, 0x00004991, 0x00000c18, 0x0000e583, 0xb000c043, 0x00002481,
- 0x01800000, 0x00007908, 0x003fc000, 0x00008980, 0x8210c806, 0x00006108,
- 0xb6e05843, 0x00003005, 0x01c00800, 0x0000e181, 0x45371806, 0x0000600f,
- 0x3000344b, 0x0000a008, 0x3002144b, 0x0000a092, 0xd0981302, 0x00001910,
- 0xffffffff, 0x00007f86, 0x10803006, 0x00001908, 0x00003dba, 0x00007200,
- 0x01400800, 0x00001981, 0x3d421482, 0x00007404, 0x11f83f06, 0x00000424,
- 0x12009e00, 0x00009980, 0x00000447, 0x00009583, 0x82ff1fe3, 0x00001908,
- 0x4380c80b, 0x0000a088, 0x00003d4b, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x06003c19, 0x00009281, 0x02c01418, 0x00009181, 0x00000c0b, 0x00009583,
- 0x00003d50, 0x0000701b, 0x02249800, 0x0000f900, 0x0001fc8a, 0x00008980,
- 0x3d503a79, 0x0000f500, 0x01023f07, 0x00008017, 0x01b83704, 0x0000001c,
- 0x30005a4b, 0x00007902, 0x03c00000, 0x00000000, 0x06400000, 0x00006181,
- 0x80002025, 0x00006406, 0xc9181302, 0x0000e100, 0x10003025, 0x0000e405,
- 0xb0000825, 0x0000ec05, 0x0000040f, 0x00006583, 0x89105a0b, 0x00008900,
- 0x06400800, 0x00001991, 0x3000744b, 0x00007902, 0x03400000, 0x00008000,
- 0x3000564b, 0x00007902, 0x02400000, 0x00000000, 0x3040404b, 0x00007902,
- 0x01c00000, 0x00008000, 0x3040324b, 0x00007902, 0x01400000, 0x00000000,
- 0x00003d8c, 0x00007400, 0x3040ac4b, 0x0000f902, 0x05000000, 0x00000000,
- 0x1460c825, 0x00006801, 0x3d691482, 0x00007404, 0x11f83f06, 0x00000424,
- 0x12009e00, 0x00009980, 0x00000447, 0x00009583, 0x867f1fe3, 0x00001908,
- 0x4380c019, 0x00002088, 0x00003d72, 0x0000f010, 0xffffffff, 0x00007f97,
- 0x02c03c18, 0x00009281, 0x0640140b, 0x00001181, 0x00000c19, 0x00009583,
- 0x00003d77, 0x0000701b, 0x02249800, 0x0000f900, 0x0001fc8a, 0x00008980,
- 0x3d773a79, 0x0000f500, 0x01023f07, 0x00008017, 0x01b83704, 0x0000001c,
- 0x30005a4b, 0x00007902, 0x03c00000, 0x00000000, 0x06000000, 0x0000e181,
- 0x80002025, 0x00006406, 0xc9181302, 0x0000e100, 0x10003025, 0x0000e405,
- 0xb0001025, 0x0000ec05, 0x0000040f, 0x00006583, 0x89105a0b, 0x00008900,
- 0x06000800, 0x00009991, 0x3000744b, 0x00007902, 0x03400000, 0x00008000,
- 0x3000564b, 0x00007902, 0x02400000, 0x00000000, 0x3040404b, 0x00007902,
- 0x01c00000, 0x00008000, 0x3040324b, 0x00007902, 0x01400000, 0x00000000,
- 0x3040ac4b, 0x0000f902, 0x05000000, 0x00000000, 0x1460c025, 0x0000e801,
- 0x50b8c0ec, 0x00002000, 0x097fe825, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x02c00000, 0x00006181, 0xe0001825, 0x0000e403, 0x0980a014, 0x00006100,
- 0x00800027, 0x0000e587, 0x00000818, 0x0000e582, 0x04185827, 0x0000a107,
- 0x09404025, 0x00006398, 0xc0000829, 0x0000a431, 0x4000050f, 0x00006583,
- 0xca18ab15, 0x00000900, 0x02c00800, 0x00006191, 0x8a10aa15, 0x00004900,
- 0x0000040f, 0x00009583, 0x0ac04008, 0x00006108, 0xf7e05827, 0x00006001,
- 0x0a80700e, 0x0000e108, 0x0ac03807, 0x00004910, 0x00003da5, 0x0000f008,
- 0x0ab83708, 0x00008230, 0x0b787705, 0x00008238, 0x0bf8570d, 0x00000300,
- 0x0c404809, 0x00001900, 0x00003d3d, 0x00007200, 0x01c00000, 0x00001981,
- 0x3da84356, 0x0000f004, 0x3daa45f8, 0x00007300, 0x8f204408, 0x00009901,
- 0x3c634606, 0x00007300, 0x01c80000, 0x00001980, 0x01c02004, 0x00006100,
- 0x08001a09, 0x0000e106, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03f51000, 0x00007900, 0x0001fc84, 0x00000980, 0x04ba9000, 0x0000f900,
- 0x0016f7fa, 0x00008980, 0x01800705, 0x000000a8, 0x00003b66, 0x0000f400,
- 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x03001002, 0x0000c900,
- 0x81400000, 0x000080de, 0x00003dbe, 0x0000f200, 0x01800000, 0x00009981,
- 0x81c00000, 0x000080d6, 0x01800800, 0x00001981, 0x02000000, 0x00001981,
- 0x00000407, 0x0000e583, 0x07c00000, 0x00000980, 0x07000000, 0x00007900,
- 0x00004000, 0x00000980, 0x07840000, 0x00007900, 0x000080c0, 0x00000980,
- 0x06081001, 0x0000e180, 0x0000101f, 0x00006413, 0x07480001, 0x00006180,
- 0x00000035, 0x0000e580, 0xc7001000, 0x00006191, 0x80003018, 0x0000e492,
- 0x87828000, 0x00006190, 0x87d0620c, 0x00004910, 0x47403000, 0x0000e191,
- 0x00009034, 0x00006484, 0x00000406, 0x00006583, 0x00000035, 0x00002501,
- 0x05464000, 0x0000f900, 0x00002000, 0x00000980, 0x05000800, 0x00007900,
- 0x00080000, 0x00000980, 0x05800000, 0x00007900, 0x00002000, 0x00000980,
- 0x413f1015, 0x0000e002, 0xa0000835, 0x0000b483, 0x05c00000, 0x000081e4,
- 0x00003de4, 0x00007408, 0x06800000, 0x000081ec, 0xcd002000, 0x0000e181,
- 0x00001020, 0x0000e412, 0x08402004, 0x0000e100, 0xd0000835, 0x00006404,
- 0x00003de9, 0x00007400, 0x00201020, 0x00006507, 0x90000835, 0x0000b401,
- 0x0d80af04, 0x00008393, 0x0d800000, 0x00006180, 0xd0000035, 0x0000e404,
- 0x8d00a000, 0x0000e181, 0x90000035, 0x00006401, 0xcd981302, 0x00009900,
- 0x00000405, 0x00006583, 0x0dc00000, 0x00000980, 0x71e04020, 0x0000e000,
- 0xc0001837, 0x0000b006, 0x04001000, 0x00007910, 0x00004000, 0x00000980,
- 0x00003df6, 0x0000f008, 0x04c00000, 0x0000e180, 0x04400008, 0x0000c980,
- 0x000820ec, 0x0000d780, 0x00006800, 0x00000080, 0x04801002, 0x0000e100,
- 0xc0001813, 0x0000e006, 0x00000407, 0x00001583, 0x00003dfa, 0x0000f00b,
- 0x00802eec, 0x0000df80, 0x00d07341, 0x00008284, 0x00982eec, 0x0000df80,
- 0x00007002, 0x00000084, 0x80001648, 0x0000e583, 0x07c00000, 0x00000980,
- 0x11001800, 0x0000f900, 0x00090000, 0x00008980, 0x07800000, 0x00006180,
- 0x04124044, 0x00006101, 0x00003e0e, 0x00007010, 0xc604074a, 0x0000e283,
- 0x1201874a, 0x00008281, 0x82324044, 0x00006816, 0x00003e0a, 0x00007011,
- 0xc601874a, 0x00009283, 0x80000844, 0x0000ec0e, 0x00003e16, 0x0000f009,
- 0x00003e16, 0x00007400, 0x00018448, 0x00009583, 0x078728e5, 0x00006108,
- 0x07c24849, 0x0000c908, 0x80002648, 0x00001583, 0x00000844, 0x0000ec0c,
- 0x80004044, 0x0000ec0e, 0x00003e15, 0x00007008, 0x80002e48, 0x00009583,
- 0x80004044, 0x0000ec0e, 0x00003e16, 0x0000f011, 0xc0000044, 0x00006c03,
- 0x300006ec, 0x00005784, 0x003a2000, 0x00008000, 0x3038feec, 0x0000d704,
- 0x0038f000, 0x00008000, 0x00000001, 0x00007480, 0x3038eeec, 0x00005704,
- 0x003a5000, 0x00000000, 0x0000f0ec, 0x0000f902, 0x07400000, 0x00000704,
- 0x05800000, 0x00009980, 0xc504074a, 0x0000e283, 0x04124016, 0x00002101,
- 0x00c004ec, 0x0000d784, 0x0038b000, 0x00000000, 0x000228ec, 0x00007902,
- 0x11000000, 0x00000704, 0x0000f8ec, 0x00007902, 0x07800000, 0x00000704,
- 0x0000e8ec, 0x0000f902, 0x06400000, 0x00008704, 0x0000c0ec, 0x0000f902,
- 0x05800000, 0x00008704, 0x80000648, 0x00009583, 0xffffffff, 0x00007f86,
- 0x00003e41, 0x0000f008, 0x00003e34, 0x00007010, 0x07fa574b, 0x00000138,
- 0x0581874a, 0x00009281, 0x97818416, 0x00007893, 0xc9c00000, 0x00009f82,
- 0x80001a48, 0x00006582, 0x11000000, 0x00008980, 0x04124044, 0x0000e901,
- 0x00c006ec, 0x00005784, 0x003a2000, 0x00008000, 0x00c006ec, 0x00005784,
- 0x00000000, 0x00008080, 0x00000001, 0x00007498, 0x00c006ec, 0x00005784,
- 0x00000000, 0x00008080, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
- 0x00003e6f, 0x00007000, 0xc501874a, 0x00006283, 0x0581874a, 0x00000281,
- 0x00003e51, 0x00007013, 0x80000648, 0x00009583, 0x07c2584b, 0x0000e108,
- 0x8792524a, 0x0000c908, 0x07c00000, 0x00006190, 0x87800000, 0x00004990,
- 0xe000001e, 0x0000ec11, 0xffffffff, 0x00007f86, 0xe002501e, 0x0000e809,
- 0xffffffff, 0x00007f86, 0xd020001f, 0x00004491, 0x0260021e, 0x00000f95,
- 0xa041871e, 0x0000f897, 0x19c00000, 0x00009f83, 0x80000648, 0x00009583,
- 0x0000001e, 0x0000ed93, 0x00003e5e, 0x0000f011, 0x00018416, 0x00001583,
- 0xc002501e, 0x0000e813, 0x0002501e, 0x0000e917, 0x00003e5e, 0x00007010,
- 0x0180001e, 0x00006d83, 0x117f2f49, 0x00008134, 0xd020001f, 0x00004491,
- 0x0260021e, 0x00000f95, 0xa041871e, 0x0000f897, 0x19c00000, 0x00009f83,
- 0x11400000, 0x000081f4, 0xd020001f, 0x00004491, 0x0260021e, 0x00000f95,
- 0xa041871e, 0x0000f897, 0x01c00001, 0x00008080, 0x11000000, 0x00001980,
- 0x80001a48, 0x00006582, 0x04124044, 0x0000a101, 0x00c006ec, 0x00005784,
- 0x003a2000, 0x00008000, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
- 0x00000001, 0x00007498, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
- 0x00c006ec, 0x00005784, 0x00000000, 0x00008080, 0x85801248, 0x00009880,
- 0xcf000416, 0x00005084, 0x00400000, 0x00008000, 0xcf000616, 0x0000d084,
- 0x00400000, 0x00008000, 0xcf400016, 0x00005084, 0x00400000, 0x00008000,
- 0xcf400216, 0x0000d084, 0x00400000, 0x00008000, 0xcf000416, 0x0000d004,
- 0x00400000, 0x00000080, 0xcf000616, 0x00005004, 0x00400000, 0x00000080,
- 0x00000001, 0x00007480, 0xcf400016, 0x0000d004, 0x00400000, 0x00000080,
- 0xcf400216, 0x00005004, 0x00400000, 0x00000080, 0x80001a48, 0x00006582,
- 0x04124044, 0x0000a101, 0x00ba2eec, 0x00005704, 0x003a2000, 0x00008000,
- 0x00b8feec, 0x00005704, 0x0038f000, 0x00008000, 0x00000001, 0x00007498,
- 0x00b8eeec, 0x0000d704, 0x0038c800, 0x00000000, 0x00bf2eec, 0x00005704,
- 0x003f2800, 0x00000000, 0x85801248, 0x00009880, 0xcf3a2c16, 0x0000d004,
- 0x003a2000, 0x00008000, 0xcf38fe16, 0x00005004, 0x0038f000, 0x00008000,
- 0x00000001, 0x00007480, 0xcf78e816, 0x00005004, 0x0038c800, 0x00000000,
- 0xcf7f2a16, 0x00005004, 0x003f2800, 0x00000000, 0x8580224b, 0x00006780,
- 0x14407c4b, 0x00008281, 0x92c7fa16, 0x0000e280, 0x00000052, 0x0000a586,
- 0x00004451, 0x00006583, 0x92d4024b, 0x00008080, 0x92dffa4b, 0x00009280,
- 0x20925a52, 0x00006902, 0x00000052, 0x00005784, 0x00000000, 0x00008080,
- 0x00025052, 0x00007902, 0x12400000, 0x00008704, 0x00024052, 0x0000f902,
- 0x11400000, 0x00008704, 0x123a5f4b, 0x00009909, 0x00003ecf, 0x00007408,
- 0x00022052, 0x0000f902, 0x07c00000, 0x00008704, 0x0000f052, 0x0000f902,
- 0x07400000, 0x00000704, 0x00004451, 0x00009583, 0x00003ec3, 0x0000701b,
- 0x00002451, 0x00009583, 0x127a5f4b, 0x00001909, 0x00003ecf, 0x00007009,
- 0x00002451, 0x00009583, 0x00003ebb, 0x0000701b, 0x00001451, 0x00009583,
- 0x92ba5f4b, 0x00009909, 0x00003ecf, 0x00007009, 0x00001451, 0x00009583,
- 0xd2ba5f4b, 0x00009919, 0x00003ecf, 0x0000f019, 0x00000c51, 0x00009583,
- 0x52ba5f4b, 0x00009909, 0x00003ecf, 0x00007009, 0x00003ef4, 0x0000f000,
- 0x00003451, 0x00001583, 0x927a5f4b, 0x00009909, 0x00003ecf, 0x00007009,
- 0x00003451, 0x00001583, 0xd27a5f4b, 0x0000e119, 0x527a5f4b, 0x00004931,
- 0x00003ecf, 0x0000f031, 0x00003ecf, 0x00007000, 0x00006451, 0x00001583,
- 0x117a5f4b, 0x00001909, 0x00003ecf, 0x00007009, 0x00006451, 0x00001583,
- 0x00003eeb, 0x0000701b, 0x00005451, 0x00001583, 0x923a5f4b, 0x00001909,
- 0x00003ecf, 0x00007009, 0x00005451, 0x00001583, 0xd23a5f4b, 0x00006119,
- 0x523a5f4b, 0x0000c931, 0x00003ecf, 0x0000f031, 0x8000064b, 0x00006583,
- 0x00000852, 0x00002586, 0x14628fe4, 0x00006000, 0x20925a52, 0x0000e102,
- 0x003a5052, 0x0000d704, 0x003a4800, 0x00000000, 0x003a4052, 0x00005704,
- 0x003a2800, 0x00000000, 0x91128a44, 0x0000e310, 0x94528ae5, 0x00000408,
- 0xffffffff, 0x00007f86, 0x00000416, 0x0000e583, 0x91122251, 0x00000208,
- 0xffffffff, 0x00007f86, 0x003a2052, 0x00005704, 0x0038f800, 0x00000000,
- 0x00000001, 0x0000f290, 0x0038f052, 0x00005704, 0x0038e800, 0x00008000,
- 0xd23a54ec, 0x0000d004, 0x003a4800, 0x00000000, 0xd23a46ec, 0x0000d004,
- 0x003a2800, 0x00000000, 0x00000001, 0x00007480, 0xd27a20ec, 0x00005004,
- 0x0038f800, 0x00000000, 0xd278f2ec, 0x0000d004, 0x0038e800, 0x00008000,
- 0x00007451, 0x00009583, 0x917a5f4b, 0x00009909, 0x00003ecf, 0x00007009,
- 0x00007451, 0x00009583, 0x517a5f4b, 0x00001929, 0x00003ecf, 0x0000f029,
- 0x00007c51, 0x00001583, 0xd17a5f4b, 0x00001909, 0x00003ecf, 0x00007009,
- 0x00003ecf, 0x0000f200, 0x12ba5f4b, 0x00009901, 0x86400a16, 0x00001880,
- 0x8b40ce19, 0x00002084, 0xffffffff, 0x00007fa7, 0x00000419, 0x00001583,
- 0x01800000, 0x0000e188, 0x01c01002, 0x0000c908, 0x8190b216, 0x0000e108,
- 0x02800000, 0x0000c988, 0x00000001, 0x00007090, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03c17000, 0x0000f900, 0x0013ed32, 0x00008980,
- 0x04bca000, 0x0000f900, 0x0019343e, 0x00000980, 0xc2700600, 0x00006101,
- 0x08001a09, 0x0000e106, 0x3f0a0fe7, 0x0000f500, 0x82781400, 0x00000030,
- 0x8100e800, 0x00001980, 0xffffffff, 0x00007f86, 0xc0000314, 0x00006582,
- 0x85800a14, 0x00000880, 0x8ba0a016, 0x0000a004, 0xffffffff, 0x00007fa7,
- 0x85000a14, 0x00009080, 0x8ba0a016, 0x00002804, 0x8b80a016, 0x00002016,
- 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x85000a14, 0x00001090,
- 0x8b88a016, 0x00002816, 0xffffffff, 0x00007f86, 0xc0000314, 0x00006582,
- 0x85800a14, 0x00000880, 0x8ba0a016, 0x0000a004, 0xffffffff, 0x00007fa7,
- 0x85000a14, 0x00001180, 0x8ba0a016, 0x00002804, 0x8b80a016, 0x00002016,
- 0xffffffff, 0x00007f86, 0x00000001, 0x00007483, 0x85000a14, 0x00009190,
- 0x8b88a016, 0x00002816, 0x03c00000, 0x00006180, 0x934ffa47, 0x00004280,
- 0x12800000, 0x0000e180, 0x0412680f, 0x00006101, 0x00c004ec, 0x0000d784,
- 0x00387800, 0x00008000, 0x12400000, 0x000084e0, 0x92000047, 0x000004ac,
- 0x0000b0ec, 0x00007902, 0x03c00000, 0x00000704, 0x000078ec, 0x0000f902,
- 0x05400000, 0x00008704, 0x0000a0ec, 0x0000f902, 0x03c00000, 0x00000704,
- 0x0000a0ec, 0x0000f902, 0x03c00000, 0x00000704, 0xffffffff, 0x00007f86,
- 0xc000a84a, 0x0000e803, 0xffffffff, 0x00007f86, 0x0900ac14, 0x00006802,
- 0x00001c14, 0x00009583, 0x03c0b016, 0x00006108, 0x0c00aa0f, 0x00006116,
- 0xffffffff, 0x00007f86, 0x00001c14, 0x00006583, 0x03d07a0f, 0x00008910,
- 0x3f403e1f, 0x00007500, 0xffffffff, 0x00007f86, 0x1240780f, 0x0000e108,
- 0x0410784a, 0x00006117, 0x911ffa47, 0x00006280, 0x00000045, 0x0000a586,
- 0xc0001b47, 0x00006582, 0x20922245, 0x00002102, 0x00000045, 0x00005784,
- 0x00000000, 0x00008080, 0x0000f045, 0x0000f902, 0x07c00000, 0x00008704,
- 0x0000c845, 0x00007902, 0x07400000, 0x00000704, 0x0000b045, 0x00007902,
- 0x06000000, 0x00000704, 0x0000a045, 0x0000f902, 0x05400000, 0x00008704,
- 0x03c02347, 0x000060b0, 0x00000845, 0x00002586, 0x83c0120f, 0x000060b0,
- 0x209a3a45, 0x00006102, 0x0038f045, 0x00005704, 0x0038f800, 0x00000000,
- 0x0038c845, 0x0000d704, 0x0038e800, 0x00008000, 0x00003f61, 0x0000f418,
- 0x0038b045, 0x0000d704, 0x0038c000, 0x00008000, 0x0038a045, 0x00005704,
- 0x0038a800, 0x00000000, 0xcf38f40f, 0x0000b83c, 0xcf38ce0f, 0x0000d004,
- 0x0038e800, 0x00008000, 0xcf78b00f, 0x00005004, 0x0038c000, 0x00008000,
- 0xcf78a20f, 0x0000383c, 0x80001a47, 0x00006582, 0x07400000, 0x00008980,
- 0x83c01247, 0x000060b0, 0x0412681d, 0x00006101, 0x00c006ec, 0x00005784,
- 0x0038e800, 0x00008000, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
- 0x00003f7e, 0x00007418, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
- 0x00c006ec, 0x00005784, 0x00000000, 0x00008080, 0xcf00040f, 0x0000d084,
- 0x00400000, 0x00008000, 0xcf00060f, 0x00005084, 0x00400000, 0x00008000,
- 0xcf40000f, 0x0000d084, 0x00400000, 0x00008000, 0xcf40020f, 0x00005084,
- 0x00400000, 0x00008000, 0xcf00040f, 0x00005004, 0x00400000, 0x00000080,
- 0xcf00060f, 0x0000d004, 0x00400000, 0x00000080, 0xcf40000f, 0x00005004,
- 0x00400000, 0x00000080, 0xcf40020f, 0x0000d004, 0x00400000, 0x00000080,
- 0x80001a47, 0x00006582, 0x00000845, 0x00002586, 0x03c02247, 0x0000e0b0,
- 0x20922245, 0x00002102, 0x00000045, 0x00005784, 0x00000000, 0x00008080,
- 0x00000045, 0x00005784, 0x00000000, 0x00008080, 0x00000001, 0x00007498,
- 0x00000045, 0x00005784, 0x00000000, 0x00008080, 0x00000045, 0x00005784,
- 0x00000000, 0x00008080, 0x83c0120f, 0x00001880, 0xcf00040f, 0x0000d084,
- 0x00400000, 0x00008000, 0xcf00060f, 0x00005084, 0x00400000, 0x00008000,
- 0xcf40000f, 0x0000d084, 0x00400000, 0x00008000, 0xcf40020f, 0x00005084,
- 0x00400000, 0x00008000, 0xcf00040f, 0x00005004, 0x00400000, 0x00000080,
- 0xcf00060f, 0x0000d004, 0x00400000, 0x00000080, 0x00000001, 0x00007480,
- 0xcf40000f, 0x00005004, 0x00400000, 0x00000080, 0xcf40020f, 0x0000d004,
- 0x00400000, 0x00000080, 0x80000661, 0x0000e583, 0x07c00000, 0x00008981,
- 0x07a8380a, 0x0000e180, 0x07c00800, 0x00004991, 0x07400000, 0x0000f900,
- 0x00020016, 0x00008980, 0x042b081e, 0x00006101, 0x30e3081d, 0x0000b080,
- 0x00007c61, 0x0000e583, 0xb6e0f81e, 0x0000a001, 0x2038ecec, 0x00005704,
- 0x0038f000, 0x00008000, 0x00480cec, 0x00005784, 0x00000101, 0x00008080,
- 0x87d50461, 0x00006080, 0x0000081d, 0x0000a586, 0x2090fa1d, 0x00006902,
- 0x000304ec, 0x00007902, 0x15c00000, 0x00008704, 0x0002b4ec, 0x00007902,
- 0x15400000, 0x00000704, 0x0002a4ec, 0x0000f902, 0x14c00000, 0x00000704,
- 0x00028cec, 0x0000f902, 0x07800000, 0x00000704, 0x003b001d, 0x0000d704,
- 0x003ab800, 0x00000000, 0x003ab01d, 0x0000d704, 0x003aa800, 0x00008000,
- 0x00000001, 0x00007498, 0x003aa01d, 0x00005704, 0x003a9800, 0x00008000,
- 0x003a881d, 0x00005704, 0x0038f000, 0x00008000, 0x07c06c61, 0x00001080,
- 0x87c0121f, 0x00001880, 0xcf3b041f, 0x00005004, 0x003ab800, 0x00000000,
- 0xcf3ab61f, 0x0000d004, 0x003aa800, 0x00008000, 0x00000001, 0x00007480,
- 0xcf7aa01f, 0x0000d004, 0x003a9800, 0x00008000, 0xcf7a8a1f, 0x00005004,
- 0x0038f000, 0x00008000, 0x40000548, 0x00006583, 0x07c00000, 0x00008981,
- 0x87400000, 0x0000e180, 0x07c00800, 0x00004991, 0xc0000348, 0x00009582,
- 0x87400800, 0x00009990, 0xffffffff, 0x00007f86, 0x0760ec1f, 0x00009203,
- 0x07400000, 0x00001980, 0x8741500b, 0x00001990, 0x00003fd6, 0x0000f008,
- 0x00003fe0, 0x00007000, 0x0740381d, 0x00009380, 0x8000401d, 0x00006c06,
- 0x0000001d, 0x00006d01, 0xb000081d, 0x0000ec01, 0x0410b01d, 0x00006901,
- 0x0038ecec, 0x0000d704, 0x00000000, 0x00008080, 0x07400000, 0x0000f900,
- 0x00050016, 0x00000980, 0xe7a2401d, 0x00006801, 0x0038ecec, 0x0000d704,
- 0x00000000, 0x00008080, 0x07414000, 0x0000f900, 0x0001001a, 0x00008980,
- 0x0438b01d, 0x00006901, 0x0038ecec, 0x0000d704, 0x00000000, 0x00008080,
- 0x0000f0ec, 0x0000f902, 0x07400000, 0x00000704, 0xffffffff, 0x00007fa7,
- 0x86001e1e, 0x00001283, 0x0800f21d, 0x0000e910, 0x00003ff3, 0x0000f009,
- 0x8038b21d, 0x00001502, 0x00003ff3, 0x00007013, 0x0000041f, 0x00001583,
- 0x05800000, 0x00009991, 0x00000001, 0x0000f091, 0x00003ff6, 0x0000f000,
- 0x40000548, 0x00009583, 0x05801000, 0x00001989, 0x00000001, 0x0000f089,
- 0x000144ec, 0x0000d784, 0x0000001a, 0x00008280, 0x0000f0ec, 0x0000f902,
- 0x07400000, 0x00000704, 0x0768380a, 0x00009980, 0xffffffff, 0x00007f97,
- 0x0c00f444, 0x0000e000, 0x0438b01d, 0x0000b101, 0xb6e0f81d, 0x0000e801,
- 0x0038ecec, 0x0000d704, 0x00000000, 0x00008080, 0x000144ec, 0x0000d784,
- 0x0000001a, 0x00008280, 0x000290ec, 0x00007902, 0x07400000, 0x00000704,
- 0x00480cec, 0x00005784, 0x00000101, 0x00008080, 0x0002d4ec, 0x00007902,
- 0x16400000, 0x00000704, 0x0002c4ec, 0x0000f902, 0x15c00000, 0x00008704,
- 0x0002b4ec, 0x00007902, 0x15400000, 0x00000704, 0x0002a4ec, 0x0000f902,
- 0x14c00000, 0x00000704, 0x02a00c48, 0x0000c38a, 0x00801652, 0x00008088,
- 0x02200444, 0x0000c793, 0x84800e52, 0x0000888f, 0x26800548, 0x0000f892,
- 0xba000000, 0x0000a083, 0x07c02216, 0x0000e080, 0x0000081d, 0x0000a586,
- 0x2090b21d, 0x00006902, 0x003ad01d, 0x0000d704, 0x003ac800, 0x00008000,
- 0x003ac01d, 0x00005704, 0x003ab800, 0x00000000, 0x003ab01d, 0x0000d704,
- 0x003aa800, 0x00008000, 0x003aa01d, 0x00005704, 0x003a9800, 0x00008000,
- 0x1a001a16, 0x0000f8b2, 0x8a000000, 0x0000a083, 0x0789d000, 0x00007900,
- 0x0002001a, 0x00008980, 0x2009e4ec, 0x0000d784, 0x0038f03e, 0x00000600,
- 0x0000f0ec, 0x0000f902, 0x07400000, 0x00000704, 0xffffffff, 0x00007fa7,
- 0x85801e1e, 0x00006283, 0x0800f21f, 0x0000a100, 0x0000041f, 0x00001583,
- 0xffffffff, 0x00007f86, 0x00004053, 0x0000f008, 0x00004053, 0x00007048,
- 0x07703800, 0x00007900, 0x00020018, 0x00000980, 0x0007fc1f, 0x0000e583,
- 0x9107fa1f, 0x00008280, 0x85a0fc1f, 0x00006101, 0x0412201d, 0x00006101,
- 0x0038ecec, 0x0000d704, 0x00000000, 0x00008080, 0x00500cec, 0x00005784,
- 0x00000101, 0x00008080, 0x8754e801, 0x00001980, 0x00028cec, 0x0000f902,
- 0x12c00000, 0x00000704, 0x000254ec, 0x0000f902, 0x12400000, 0x00008704,
- 0x000244ec, 0x00007902, 0x11400000, 0x00008704, 0x000224ec, 0x00007902,
- 0x07800000, 0x00000704, 0x003a881d, 0x00005704, 0x003a5800, 0x00008000,
- 0x003a501d, 0x00005704, 0x003a4800, 0x00000000, 0x003a401d, 0x0000d704,
- 0x003a2800, 0x00000000, 0x003a201d, 0x0000d704, 0x0038f000, 0x00008000,
- 0xd43a8cec, 0x0000d004, 0x003a5800, 0x00008000, 0xd43a56ec, 0x00005004,
- 0x003a4800, 0x00000000, 0x00004055, 0x00007410, 0xd47a40ec, 0x00005004,
- 0x003a2800, 0x00000000, 0xd47a22ec, 0x0000d004, 0x0038f000, 0x00008000,
- 0x00000001, 0x00007280, 0x05800800, 0x00009981, 0x07400000, 0x00001980,
- 0x0010b01d, 0x0000e986, 0x405a3e96, 0x0000f500, 0x8620f81d, 0x00006887,
- 0x12c0e81d, 0x00009900, 0x87d00616, 0x0000e080, 0x0000081d, 0x0000a586,
- 0x80001e16, 0x0000e583, 0x2090fa1d, 0x00002102, 0x003ad01d, 0x0000d704,
- 0x003ac800, 0x00008000, 0x003ac01d, 0x00005704, 0x003ab800, 0x00000000,
- 0x00004071, 0x0000f418, 0x003ab01d, 0x0000d704, 0x003aa800, 0x00008000,
- 0x003aa01d, 0x00005704, 0x003a9800, 0x00008000, 0x07c04616, 0x00009080,
- 0x87c0121f, 0x00001880, 0xcf3ad41f, 0x00005004, 0x003ac800, 0x00008000,
- 0xcf3ac61f, 0x00005004, 0x003ab800, 0x00000000, 0xcf7ab01f, 0x00005004,
- 0x003aa800, 0x00008000, 0xcf7aa21f, 0x00005004, 0x003a9800, 0x00008000,
- 0x85801e52, 0x00001283, 0x07c02000, 0x00006191, 0x07c01800, 0x0000c989,
- 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x05a0fc1f, 0x00009901,
- 0x87d00616, 0x0000e080, 0x0000081d, 0x0000a586, 0x80001e16, 0x0000e583,
- 0x2090fa1d, 0x00002102, 0x0000001d, 0x0000d784, 0x00000000, 0x00008080,
- 0x0000001d, 0x0000d784, 0x00000000, 0x00008080, 0x00004096, 0x0000f418,
- 0x0000001d, 0x0000d784, 0x00000000, 0x00008080, 0x0000001d, 0x0000d784,
- 0x00000000, 0x00008080, 0x07c04616, 0x00009080, 0x87c0121f, 0x00001880,
- 0xcf00041f, 0x00005084, 0x00400000, 0x00008000, 0xcf00061f, 0x0000d084,
- 0x00400000, 0x00008000, 0xcf40001f, 0x00005084, 0x00400000, 0x00008000,
- 0xcf40021f, 0x0000d084, 0x00400000, 0x00008000, 0xcf00041f, 0x0000d004,
- 0x00400000, 0x00000080, 0xcf00061f, 0x00005004, 0x00400000, 0x00000080,
- 0xcf40001f, 0x0000d004, 0x00400000, 0x00000080, 0xcf40021f, 0x00005004,
- 0x00400000, 0x00000080, 0x07403800, 0x00009980, 0x409a3f9d, 0x0000f500,
- 0x8230b01d, 0x0000e886, 0x1840e81d, 0x00001900, 0x07400020, 0x0000e180,
- 0x0802921f, 0x0000e100, 0x0010b01d, 0x0000e986, 0x000040a4, 0x00007400,
- 0x8620f81d, 0x00006887, 0x12c0e81d, 0x00009900, 0x07400000, 0x0000f900,
- 0x00340040, 0x00008980, 0x0010b01d, 0x0000e986, 0x12c0e81d, 0x00009900,
- 0x40713e96, 0x00007100, 0x05407c0f, 0x00008112, 0x03c00000, 0x00006180,
- 0x06a0b416, 0x0000c901, 0xc3c0b516, 0x00008121, 0x40ac3ef6, 0x0000f500,
- 0x85c00016, 0x0000809e, 0x0580780f, 0x00001900, 0x83d0a215, 0x00009300,
- 0x83d0ba0f, 0x00009302, 0x01c04000, 0x00006189, 0x12800000, 0x00004990,
- 0x12400000, 0x00006190, 0x12000040, 0x00004990, 0x00000001, 0x00007088,
- 0x00000418, 0x00006583, 0x03c00000, 0x00000981, 0x03c00800, 0x0000e191,
- 0x9290ba17, 0x0000c900, 0x40ba3dfc, 0x00007500, 0x0748a415, 0x00000136,
- 0xe7a0784a, 0x0000e801, 0xffffffff, 0x00007fa7, 0x06f8f71d, 0x00008130,
- 0x81800e1c, 0x00001283, 0x07400000, 0x0000e188, 0x12800000, 0x00004988,
- 0x12000040, 0x00006188, 0x12400000, 0x00004988, 0x000040da, 0x00007010,
- 0x40c33dfc, 0x00007100, 0xffffffff, 0x00007fa7, 0x06f8f71d, 0x00008130,
- 0x81801e1c, 0x00009283, 0x07400000, 0x0000e188, 0x12800000, 0x00004988,
- 0x12000080, 0x00006188, 0x12400000, 0x00004988, 0x000040d1, 0x0000f010,
- 0x40cc3dfc, 0x00007100, 0xffffffff, 0x00007fa7, 0x06f8f71d, 0x00008130,
- 0x81801e1c, 0x00009283, 0x01c00800, 0x00001989, 0x00000001, 0x0000f089,
- 0x12800000, 0x000084e0, 0x9290ba17, 0x0000e100, 0x0800e248, 0x00006100,
- 0x40d83e1f, 0x00007500, 0x12400000, 0x0000e180, 0xe7a0c04a, 0x00006001,
- 0x12c8a415, 0x0000042e, 0x000040db, 0x0000f200, 0x05400800, 0x00009981,
- 0x05400000, 0x00001981, 0x05080000, 0x0000e180, 0x0800e20f, 0x00006100,
- 0xc520ac15, 0x0000e100, 0x0430d80f, 0x0000e087, 0x40e33fca, 0x0000f500,
- 0x1200a014, 0x0000e100, 0x8620d00f, 0x0000e087, 0x0580780f, 0x00001900,
- 0x00002416, 0x00009583, 0x000040e9, 0x0000700b, 0x00000001, 0x00007480,
- 0x00000416, 0x00001583, 0x01c01000, 0x00006191, 0x01c01800, 0x0000c989,
- 0x03c00000, 0x00001980, 0x00003f0a, 0x00007400, 0x83e0d41a, 0x00001900,
- 0x0500780f, 0x00009900, 0xc0000716, 0x0000e583, 0xc750b216, 0x00000900,
- 0x85800000, 0x000084e8, 0x05800800, 0x00006191, 0x9290c218, 0x0000c900,
- 0x45000416, 0x0000009e, 0x40f83dfc, 0x00007500, 0x12400000, 0x0000e180,
- 0xe7a0b04a, 0x0000e001, 0x8758c318, 0x00006100, 0x12000040, 0x0000c980,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x0638f71d, 0x00008124, 0x85000e19, 0x00001283, 0x01c02800, 0x0000e189,
- 0x0800ca18, 0x0000e110, 0x85b0c618, 0x0000e111, 0x0800ca16, 0x00006110,
- 0x00000001, 0x00007088, 0x41053fca, 0x0000f300, 0x12000000, 0x00006180,
- 0xc5a0a414, 0x0000c901, 0x00001c16, 0x00001583, 0x12c00000, 0x0000e188,
- 0x12800000, 0x00004988, 0x12000020, 0x00006188, 0x12400000, 0x00004988,
- 0x0000410e, 0x0000f010, 0x41113e1f, 0x0000f300, 0x9210c218, 0x00001900,
- 0x00004111, 0x0000f000, 0x00002416, 0x00009583, 0x01c03000, 0x00009991,
- 0x00000001, 0x0000f091, 0x05800000, 0x00009980, 0x00003f16, 0x0000f400,
- 0x85a0a414, 0x00009900, 0x0500b016, 0x00009900, 0x06400000, 0x0000e180,
- 0x0500b817, 0x0000c900, 0x8647fa16, 0x00006280, 0x8190b216, 0x00008900,
- 0x411c3ef6, 0x0000f500, 0x46000416, 0x0000009e, 0x0590b719, 0x0000011e,
- 0x00000417, 0x00006583, 0x12800000, 0x00000980, 0x12400000, 0x0000e180,
- 0xc000184a, 0x0000e413, 0x07400000, 0x00006180, 0x12000040, 0x0000c980,
- 0x0000412a, 0x00007210, 0x1240a014, 0x00009910, 0x00000418, 0x00009583,
- 0x05800800, 0x00006189, 0x05801000, 0x00004991, 0xffffffff, 0x00007f86,
- 0xc720b04a, 0x0000e803, 0x0410a04a, 0x00006907, 0x412b3dfc, 0x0000f100,
- 0xffffffff, 0x00007fa7, 0x06b8f71d, 0x0000812c, 0x82800e1b, 0x00009283,
- 0x07400000, 0x0000e188, 0x12800000, 0x00004988, 0x12000060, 0x0000e188,
- 0x12400000, 0x00004988, 0x00004156, 0x00007010, 0x41343dfc, 0x00007100,
- 0xffffffff, 0x00007fa7, 0x06b8f71d, 0x0000812c, 0x82801e1b, 0x00001283,
- 0x07400000, 0x0000e188, 0x12800000, 0x00004988, 0x12000080, 0x00006188,
- 0x12400000, 0x00004988, 0x00004145, 0x0000f010, 0x413d3dfc, 0x00007100,
- 0xffffffff, 0x00007fa7, 0x06b8f71d, 0x0000812c, 0x82801e1b, 0x00001283,
- 0x00004145, 0x0000f013, 0x00004164, 0x0000f400, 0x00000417, 0x00009583,
- 0x01804800, 0x00006189, 0x01809800, 0x0000c991, 0x00000417, 0x00009583,
- 0x05801800, 0x00009991, 0x0000414b, 0x0000f011, 0x00000418, 0x00009583,
- 0x05800800, 0x00006189, 0x05801000, 0x00004991, 0x12800000, 0x000004e4,
- 0x12000000, 0x00006180, 0xc720b04a, 0x00006003, 0x00001c16, 0x0000e583,
- 0x0800da48, 0x00002100, 0x41543e1f, 0x00007500, 0x12c00000, 0x00006180,
- 0x0410a04a, 0x00006117, 0x1240a014, 0x00009908, 0x00004157, 0x0000f200,
- 0x05800800, 0x00009981, 0x05800000, 0x00001981, 0x06080800, 0x00006180,
- 0x0800da14, 0x0000e100, 0xc620b416, 0x0000e100, 0x0430d014, 0x00006087,
- 0x415f3fca, 0x0000f500, 0x1200c018, 0x0000e100, 0x86203014, 0x00006087,
- 0x0580a014, 0x00001900, 0x00002416, 0x00009583, 0x00004167, 0x0000f00b,
- 0x00000417, 0x00009583, 0x01805000, 0x00006189, 0x0180a000, 0x00004991,
- 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x01e03406, 0x00009901,
- 0x00003f0a, 0x00007400, 0x00000417, 0x00006583, 0x05000000, 0x00008980,
- 0xc5000800, 0x00006188, 0x85103206, 0x00004900, 0xc0000714, 0x00006583,
- 0x12800000, 0x00000980, 0x12400000, 0x0000e180, 0xc000184a, 0x0000e413,
- 0x11d0a414, 0x0000041a, 0x0000417b, 0x0000f410, 0x81c00000, 0x000001f4,
- 0x1240b016, 0x0000e110, 0x12000040, 0x0000c980, 0x80000614, 0x00009583,
- 0x05000800, 0x0000e189, 0x05001000, 0x0000c991, 0xffffffff, 0x00007f86,
- 0xc720a04a, 0x00006803, 0x0410b04a, 0x0000e907, 0x417c3dfc, 0x00007100,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x0538f71d, 0x00000120, 0x82400e18, 0x00009283, 0x01c05800, 0x00006189,
- 0x0800c214, 0x00006110, 0x85b0a614, 0x0000e111, 0x0800c216, 0x0000e110,
- 0x00000001, 0x00007088, 0x41893fca, 0x00007300, 0x12000800, 0x0000e180,
- 0xc5a23c47, 0x0000c901, 0x00001c16, 0x00001583, 0x12c00000, 0x0000e188,
- 0x12400000, 0x00004988, 0x12800000, 0x0000f908, 0x00040000, 0x00000980,
- 0x00004193, 0x00007010, 0x41963e1f, 0x0000f500, 0x12000020, 0x00009980,
- 0x9210a214, 0x00001900, 0x00004196, 0x0000f000, 0x00002416, 0x00009583,
- 0x01c06000, 0x00009991, 0x00000001, 0x0000f091, 0x00003f16, 0x0000f400,
- 0x00000446, 0x0000e583, 0x05000000, 0x00008980, 0xc5000800, 0x00006188,
- 0x85123a47, 0x00004900, 0x06f8b00f, 0x00008418, 0x03c00000, 0x00006180,
- 0x8dd0aa15, 0x0000c900, 0x83f0a614, 0x00006100, 0x8d98ab15, 0x00004900,
- 0x0720a414, 0x00008129, 0x41a43ef6, 0x0000f500, 0x85c00214, 0x0000809e,
- 0x0580780f, 0x00001900, 0x83d0a315, 0x00001300, 0x83d0aa0f, 0x00001302,
- 0x01c09000, 0x0000e189, 0x0d400000, 0x00004991, 0x12800000, 0x0000f910,
- 0x00200000, 0x00000980, 0x00000001, 0x00007088, 0xc0000714, 0x00006583,
- 0x9290aa15, 0x00000900, 0x0d400800, 0x0000e191, 0x12400000, 0x0000c980,
- 0x0000041b, 0x00006583, 0x12000040, 0x00000980, 0xc750a214, 0x0000e100,
- 0xe7a1a84a, 0x00006001, 0x8758ab15, 0x00006100, 0xc000184a, 0x0000e413,
- 0x000041bd, 0x0000f210, 0x12423046, 0x00009910, 0x00000435, 0x00009583,
- 0x03c01000, 0x0000e191, 0x03c00800, 0x0000c989, 0xffffffff, 0x00007f86,
- 0xc720784a, 0x00006803, 0x0412304a, 0x0000e907, 0x41be3dfc, 0x0000f100,
- 0xffffffff, 0x00007fa7, 0x1338f71d, 0x0000803c, 0x82400e0f, 0x00009283,
- 0x05400000, 0x0000e191, 0x08007a4c, 0x0000e110, 0x07400000, 0x0000e188,
- 0x12800000, 0x00004988, 0x000041fb, 0x0000f010, 0x41c93dfc, 0x00007300,
- 0x12000080, 0x0000e180, 0x12400000, 0x0000c980, 0xffffffff, 0x00007fa7,
- 0x1338f71d, 0x0000803c, 0x82401e0f, 0x00001283, 0x07400000, 0x0000e188,
- 0x08007a4c, 0x0000e110, 0x12800000, 0x00006188, 0x12400000, 0x00004988,
- 0x000041e7, 0x00007010, 0x41d33dfc, 0x0000f300, 0x12000040, 0x00009980,
- 0xffffffff, 0x00007fa7, 0x0500f01e, 0x00009900, 0x82401e14, 0x00001283,
- 0x01c07800, 0x0000e189, 0x0800a20f, 0x00006110, 0x07400000, 0x0000e190,
- 0x12800000, 0x00004990, 0x00000001, 0x00007088, 0x41de3dfc, 0x00007300,
- 0x12000060, 0x00006180, 0x12400000, 0x0000c980, 0xffffffff, 0x00007fa7,
- 0x1338f71d, 0x00008110, 0x82401e14, 0x00001283, 0x01c07000, 0x00006189,
- 0x93107a0f, 0x00004910, 0x0800a30f, 0x00006910, 0x00000001, 0x00007088,
- 0x41e73f22, 0x0000f300, 0x11c0780f, 0x00009900, 0x12800000, 0x00007900,
- 0x00200000, 0x00000980, 0x0000041b, 0x00006583, 0x9291ba37, 0x00000900,
- 0x12400000, 0x0000e180, 0xe7a0b84a, 0x00006001, 0x12000000, 0x00006180,
- 0xc000184a, 0x0000e413, 0x000041f9, 0x0000f410, 0x92e1b11c, 0x0000042c,
- 0x9212624c, 0x00006100, 0x12423046, 0x0000c910, 0x00000435, 0x00009583,
- 0x03c00800, 0x0000e189, 0x03c01000, 0x0000c991, 0xffffffff, 0x00007f86,
- 0xc720784a, 0x00006803, 0x0412304a, 0x0000e907, 0x41fa3e1f, 0x00007100,
- 0x05400800, 0x00009981, 0x03c80800, 0x00006180, 0x00126014, 0x00006186,
- 0xc3e0ac15, 0x0000e100, 0x04326014, 0x00006087, 0x42033fca, 0x0000f500,
- 0x1200780f, 0x0000e100, 0x8620d014, 0x0000e087, 0x0580a014, 0x00001900,
- 0x00002416, 0x00009583, 0x03c00000, 0x0000e188, 0x01c06800, 0x00004991,
- 0x83e0d41a, 0x00009908, 0x00000001, 0x00007090, 0x0000041b, 0x00009583,
- 0x0000080f, 0x0000ed8f, 0x00003f0a, 0x00007400, 0xffffffff, 0x00007f86,
- 0x0500780f, 0x00009900, 0xc000071d, 0x00006583, 0x05000000, 0x00000981,
- 0x12800000, 0x00007900, 0x00200000, 0x00000980, 0x05000800, 0x0000e191,
- 0x9290f21e, 0x0000c900, 0x00000416, 0x0000e583, 0x12400000, 0x00000980,
- 0x0670ee1d, 0x0000e101, 0xe7a0a04a, 0x00006001, 0x0620b416, 0x00006101,
- 0xc000184a, 0x0000e413, 0x01c00000, 0x00006181, 0x12000040, 0x0000c980,
- 0x00004225, 0x00007410, 0x1240f81f, 0x0000e110, 0xc750ea1d, 0x0000c900,
- 0x8758f31e, 0x00001900, 0x00000414, 0x00009583, 0x05000800, 0x0000e189,
- 0x05001000, 0x0000c991, 0xffffffff, 0x00007f86, 0xc720a04a, 0x00006803,
- 0x0410f84a, 0x0000e907, 0x42263dfc, 0x00007100, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x1180f01e, 0x00001900,
- 0x85000e46, 0x00001283, 0x01c08000, 0x00006189, 0x08023214, 0x0000e110,
- 0x85b0ee1d, 0x0000e111, 0x08023216, 0x00006110, 0x00000001, 0x00007088,
- 0x42333fca, 0x0000f300, 0x12000800, 0x0000e180, 0xc5a0cc19, 0x0000c901,
- 0x00001c16, 0x00001583, 0x11c00000, 0x00009988, 0x0410a047, 0x00006909,
- 0x00004254, 0x0000f010, 0x00c006ec, 0x00005784, 0x003a3800, 0x00008000,
- 0x00c006ec, 0x00005784, 0x00000000, 0x00008080, 0x00c006ec, 0x00005784,
- 0x00000000, 0x00008080, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080,
- 0x08023214, 0x0000e900, 0x80001a14, 0x00009582, 0x85001214, 0x000018d0,
- 0xcf000414, 0x0000d0d4, 0x00400000, 0x00008000, 0x00004257, 0x0000f038,
- 0xcf000614, 0x00005084, 0x00400000, 0x00008000, 0xcf400014, 0x0000d084,
- 0x00400000, 0x00008000, 0xcf400214, 0x00005084, 0x00400000, 0x00008000,
- 0xcf000414, 0x00005004, 0x00400000, 0x00000080, 0xcf000614, 0x0000d004,
- 0x00400000, 0x00000080, 0x00004257, 0x0000f400, 0xcf400014, 0x00005004,
- 0x00400000, 0x00000080, 0xcf400214, 0x0000d004, 0x00400000, 0x00000080,
- 0x00002416, 0x00009583, 0x01c08800, 0x00009991, 0x00000001, 0x0000f091,
- 0x00003f16, 0x0000f400, 0x00000418, 0x00006583, 0x05000000, 0x00008980,
- 0xc5000800, 0x00006188, 0x8520cc19, 0x00004900, 0x42603dfc, 0x00007500,
- 0x07400000, 0x000084e8, 0x120000a0, 0x00006180, 0x12400000, 0x0000c980,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0x81c00000, 0x00006180, 0x05c0f01e, 0x0000c900, 0x5b401e17, 0x0000498c,
- 0xb4900207, 0x0000908d, 0x05000000, 0x00001980, 0x0400b814, 0x00006901,
- 0x00c004ec, 0x0000d784, 0x0038a000, 0x00008000, 0x0000f0ec, 0x0000f902,
- 0x05000000, 0x00000704, 0x0000e8ec, 0x0000f902, 0x06400000, 0x00008704,
- 0x0000c0ec, 0x0000f902, 0x05000000, 0x00000704, 0x0000b0ec, 0x00007902,
- 0x05000000, 0x00000704, 0xffffffff, 0x00007fa7, 0x13c0c814, 0x0000e200,
- 0x1380e816, 0x00000200, 0xc244074f, 0x0000e283, 0x1400e816, 0x00000200,
- 0x01c1874f, 0x00009281, 0x0000429f, 0x0000f009, 0x00018407, 0x00001583,
- 0x0000428d, 0x0000700b, 0xc242074f, 0x00001283, 0x05004000, 0x00006188,
- 0x05020000, 0x00004990, 0xffffffff, 0x00007f86, 0x05003014, 0x00009202,
- 0x86127a4f, 0x0000e110, 0x0c027a07, 0x0000e116, 0xc6128250, 0x00006110,
- 0x859a8350, 0x00004910, 0x000042cd, 0x0000f008, 0x07d03a07, 0x00006100,
- 0x04226016, 0x00006087, 0x0000429d, 0x0000f400, 0x0780c018, 0x0000e100,
- 0x08827f16, 0x0000e000, 0x05800000, 0x0000e180, 0x0740b016, 0x0000c900,
- 0xc242074f, 0x00001283, 0x05080000, 0x00006188, 0x05040000, 0x00004990,
- 0xffffffff, 0x00007f86, 0x05003014, 0x00009202, 0x0640f018, 0x0000e210,
- 0x859a8350, 0x00008910, 0x86127a4f, 0x0000e110, 0xc6128250, 0x00004910,
- 0x000042cd, 0x0000f008, 0x07c0c819, 0x00006100, 0x04226016, 0x00006087,
- 0x0780c018, 0x0000e100, 0x08827f16, 0x0000e000, 0x05800800, 0x00006180,
- 0x0740b016, 0x0000c900, 0x42cd420d, 0x00007100, 0x000042cd, 0x00007000,
- 0x0001874f, 0x0000408c, 0x00018407, 0x00000090, 0x55b00006, 0x00004494,
- 0x7e80024f, 0x00001095, 0x57e0004e, 0x0000c690, 0x9a808407, 0x00009095,
- 0x56402006, 0x0000c494, 0x7e80024f, 0x00001095, 0x0300004e, 0x0000c792,
- 0x82610006, 0x00000097, 0x02c0024f, 0x00004590, 0x0240004e, 0x0000818b,
- 0x0280024f, 0x0000c590, 0x0220004e, 0x0000018a, 0x000042b9, 0x0000f400,
- 0x05000000, 0x0000f900, 0x00004000, 0x00000980, 0x8522644c, 0x00006100,
- 0x0580f018, 0x0000c200, 0x000042b9, 0x0000f400, 0x05000000, 0x00006180,
- 0x0c027a07, 0x00006106, 0xc5303d4c, 0x0000011a, 0x05000020, 0x0000e180,
- 0x0c027a07, 0x00006106, 0xc5303d4c, 0x0000011a, 0x42ba416c, 0x0000f100,
- 0x8000024f, 0x00001582, 0x0000004e, 0x00009582, 0xffffffff, 0x00007f86,
- 0x000042bf, 0x0000f010, 0x000042cd, 0x0000f008, 0x01c2074f, 0x00009283,
- 0x05001000, 0x00006188, 0x05008000, 0x00004990, 0xffffffff, 0x00007f86,
- 0x05003014, 0x00009202, 0x85927a4f, 0x00006110, 0xc5928250, 0x0000c910,
- 0x851a8350, 0x0000e110, 0x8522644c, 0x00004911, 0x000042cd, 0x0000f008,
- 0x42cd40ed, 0x0000f500, 0x0600b016, 0x0000e100, 0x08827f14, 0x00006000,
- 0x0580a014, 0x00001900, 0x120000a0, 0x00006180, 0x0800ba07, 0x00006100,
- 0x07400000, 0x000084e8, 0x42d43dfc, 0x00007500, 0x12400000, 0x0000e180,
- 0x86000a07, 0x00004080, 0x92000a07, 0x00001080, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x05c0f01e, 0x00009900,
- 0x5b401e17, 0x0000498c, 0xce900218, 0x00001094, 0x85400c4c, 0x00001880,
- 0x01802006, 0x00009282, 0x8b78c615, 0x00002084, 0x000042e5, 0x00007009,
- 0xffffffff, 0x00007f86, 0x01803d18, 0x00009281, 0x00000c06, 0x00001583,
- 0x80001018, 0x00006c0c, 0x000042e5, 0x00007009, 0x00001c06, 0x00009583,
- 0x80002018, 0x00006c0c, 0x00000001, 0x00007280, 0x8b78c615, 0x0000a884,
- 0x018003ff, 0x000001d0, 0x42eb425c, 0x0000f500, 0x0020a814, 0x00006886,
- 0x1300a014, 0x00001900, 0x00000001, 0x0000f080, 0xc0000315, 0x0000e582,
- 0x83c00a15, 0x00000880, 0x8b80a00f, 0x00002006, 0x8b407e0f, 0x0000a085,
- 0xffffffff, 0x00007fa7, 0x08207c06, 0x0000e804, 0x80000214, 0x00009582,
- 0xffffffff, 0x00007f86, 0x00004320, 0x00007008, 0x00004340, 0x00007010,
- 0x00001406, 0x0000e583, 0x03c00000, 0x00000981, 0x00002406, 0x0000e583,
- 0x03c00800, 0x00000989, 0x00001406, 0x00009593, 0x05c00000, 0x0000e188,
- 0x05000000, 0x0000c988, 0x8507fa15, 0x00009288, 0x00004318, 0x0000f010,
- 0x43014115, 0x00007300, 0x0580a014, 0x00001900, 0x00000407, 0x00001583,
- 0x02080000, 0x0000e190, 0x01800000, 0x0000c990, 0x0220ac15, 0x00006111,
- 0x82203c07, 0x0000c911, 0x00004313, 0x00007008, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03c7c800, 0x0000f900, 0x0013ed32, 0x00008980,
- 0x049be000, 0x00007900, 0x001b52d6, 0x00008980, 0x02800000, 0x00006180,
- 0x08001a09, 0x0000e106, 0x82600500, 0x00008026, 0x0000433b, 0x00007400,
- 0x03384702, 0x0000801c, 0x8100f000, 0x00001980, 0x0000040f, 0x00009583,
- 0x01801800, 0x00001989, 0x01800800, 0x00009991, 0x00004340, 0x00007008,
- 0x00004340, 0x0000f000, 0x00003406, 0x00009583, 0x03c00020, 0x00001988,
- 0x43e0ac15, 0x00001909, 0x00004340, 0x00007010, 0x431e3f9d, 0x0000f300,
- 0x1840780f, 0x00001900, 0x00004340, 0x00007200, 0x01802800, 0x00009981,
- 0x03c02c06, 0x00009281, 0x00000c0f, 0x00001583, 0x80000a14, 0x00001582,
- 0xffffffff, 0x00007f86, 0x00004347, 0x0000f010, 0x00004347, 0x00007030,
- 0x05800000, 0x000080fc, 0x432a416c, 0x0000f500, 0x83c7fa15, 0x00001280,
- 0x0500780f, 0x00009900, 0x00000407, 0x00001583, 0x02000000, 0x00006190,
- 0x01800000, 0x0000c990, 0x0220ac15, 0x00006111, 0x82203c07, 0x0000c911,
- 0x0000433c, 0x0000f008, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03f5a800, 0x00007900, 0x00119258, 0x00008980, 0x049be000, 0x00007900,
- 0x001b52d6, 0x00008980, 0x02800000, 0x00006180, 0x08001a09, 0x0000e106,
- 0x82600500, 0x00008026, 0x03384702, 0x0000801c, 0x8100f000, 0x00001980,
- 0x433c0fe7, 0x0000f100, 0x00000c06, 0x00001583, 0x01801000, 0x00009989,
- 0x01802000, 0x00009991, 0x00004340, 0x00007008, 0x83c00a15, 0x00009880,
- 0x8b403e0f, 0x00002085, 0xffffffff, 0x00007fa7, 0x01c7c407, 0x00001281,
- 0x00000001, 0x00007480, 0x01a03407, 0x00009301, 0x8b58360f, 0x00002886,
- 0x00002c06, 0x00006583, 0x01c00000, 0x00008981, 0x83c00000, 0x0000e180,
- 0x01c00800, 0x00004989, 0x80000214, 0x00009582, 0x83c00800, 0x00009990,
- 0xffffffff, 0x00007f86, 0x01e07c07, 0x00001203, 0x03c00000, 0x00009990,
- 0x43e0ac15, 0x00001911, 0x00004340, 0x00007008, 0x43543f9d, 0x00007300,
- 0x1840780f, 0x00001900, 0x00004340, 0x00007200, 0x01803000, 0x00009981,
- 0x01400707, 0x000080a2, 0x01cf2706, 0x00008022, 0x11f82f07, 0x00008018,
- 0x435d1482, 0x0000f404, 0x12009800, 0x00007900, 0x00002a00, 0x00000980,
- 0x12403006, 0x00001900, 0x30383a4b, 0x0000a080, 0xffffffff, 0x00007fa7,
- 0x40000507, 0x00001583, 0x01400000, 0x0000e190, 0x82800a4b, 0x00004090,
- 0x00004445, 0x00007011, 0x00004447, 0x0000f000, 0x3038720a, 0x00003038,
- 0x30006c0a, 0x00007902, 0x02c00000, 0x00008000, 0xffffffff, 0x00007f97,
- 0x80001e0e, 0x00001583, 0x03c00000, 0x0000e188, 0x01a077e4, 0x00004808,
- 0x03e8750e, 0x00009909, 0x00004377, 0x0000f010, 0x436f425c, 0x00007300,
- 0x1300780f, 0x00001900, 0x01800020, 0x00009980, 0x437342ec, 0x00007500,
- 0x81a8750e, 0x00001900, 0x05403006, 0x00001900, 0x023f0008, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x10c0fc08, 0x0000f88f, 0xe2000000, 0x0000a280,
- 0x02400e0e, 0x00001181, 0x00000c09, 0x00001583, 0x01800000, 0x000099b1,
- 0x00004419, 0x0000f019, 0x8000160e, 0x00009583, 0x01800800, 0x00009989,
- 0x74c02c0e, 0x0000c388, 0x00802c0e, 0x00000098, 0x74c0140e, 0x00004388,
- 0x0080140e, 0x00008098, 0x01000c0e, 0x00004788, 0x09801c0e, 0x00008688,
- 0x7120240e, 0x0000c688, 0x3280440e, 0x00001198, 0xf8403c0e, 0x0000f8aa,
- 0x12000000, 0x0000a280, 0xf5804c0e, 0x0000788a, 0xca000000, 0x0000a280,
- 0x00000406, 0x00009583, 0x02400000, 0x0000e190, 0x81986b0d, 0x0000c910,
- 0x0268750e, 0x0000e111, 0xc2506a0d, 0x00004910, 0x0000439a, 0x0000f008,
- 0x0000240e, 0x00006583, 0x04105806, 0x0000a187, 0x03c03006, 0x0000e100,
- 0x80000809, 0x0000e48e, 0x439640a5, 0x0000f500, 0xffffffff, 0x00007f86,
- 0x05804809, 0x00001900, 0xffffffff, 0x00007f86, 0x00203808, 0x0000e880,
- 0x10c0fc08, 0x0000f88f, 0xe2000000, 0x0000a280, 0x0000240e, 0x00006583,
- 0x01800000, 0x00008980, 0x00106809, 0x00006186, 0x00105806, 0x00003186,
- 0x04186809, 0x0000e187, 0x04287006, 0x00003087, 0x06004809, 0x0000e100,
- 0x80000806, 0x0000648f, 0x439640ed, 0x0000f500, 0xffffffff, 0x00007f86,
- 0x05803006, 0x00001900, 0x00004396, 0x00007000, 0x00000406, 0x00009583,
- 0x05400000, 0x0000e191, 0x82400d0e, 0x0000c890, 0x8b403609, 0x00002095,
- 0x000043c7, 0x00007008, 0x00002c0e, 0x0000e583, 0x05000000, 0x00000981,
- 0x81c00000, 0x00006180, 0x05400800, 0x00004989, 0x05000800, 0x0000e191,
- 0x08003416, 0x00006004, 0xc000030b, 0x00001582, 0x81c00800, 0x00001988,
- 0xffffffff, 0x00007f86, 0x01e03c14, 0x00001203, 0x0000444a, 0x0000f00b,
- 0x00001c16, 0x00001583, 0x0187c406, 0x00009289, 0x01802406, 0x00001389,
- 0x000043be, 0x0000f008, 0x00000c16, 0x00009583, 0x0187c406, 0x00009289,
- 0x01801406, 0x00001389, 0x0000444a, 0x0000f010, 0x8b583609, 0x00002886,
- 0x02400000, 0x00009981, 0x00204808, 0x00006880, 0x10c0fc08, 0x0000f88f,
- 0xe2000000, 0x0000a280, 0x01800000, 0x00001980, 0x00004401, 0x0000f400,
- 0x81a8750e, 0x00001900, 0x05403006, 0x00001900, 0x00002c0e, 0x0000e583,
- 0x02400000, 0x00008980, 0x05985b0b, 0x00006100, 0x8268750e, 0x00004900,
- 0x00000809, 0x00006c8f, 0x43cf416c, 0x00007500, 0xffffffff, 0x00007f86,
- 0x05004809, 0x00009900, 0x00000407, 0x0000e583, 0x02603c07, 0x00008901,
- 0x03c00020, 0x00001988, 0x83e8750e, 0x00009908, 0x00004401, 0x00007208,
- 0x0540780f, 0x00009908, 0x000043c0, 0x00007000, 0x00000406, 0x00009583,
- 0x01800000, 0x0000f900, 0x00004000, 0x00000980, 0x05c0780f, 0x00006110,
- 0x81a8750e, 0x00004900, 0x000043df, 0x00007008, 0x43964115, 0x0000f300,
- 0x05803006, 0x00001900, 0x00004396, 0x00007000, 0x4396416c, 0x00007300,
- 0x05387f06, 0x00008118, 0x00000406, 0x00006583, 0x85506a0d, 0x00000900,
- 0x05605d0d, 0x00000110, 0x8528750e, 0x0000e101, 0xc5000000, 0x00004991,
- 0x000043f3, 0x0000f008, 0x43ec419b, 0x00007500, 0x0000340e, 0x0000e583,
- 0x03c00000, 0x00008980, 0xc5000800, 0x0000e189, 0x05985b0b, 0x00004900,
- 0x00000407, 0x0000e583, 0x02603c07, 0x00008901, 0x03c00000, 0x00009988,
- 0x83e8750e, 0x00009908, 0x00004401, 0x00007208, 0x0540780f, 0x00009908,
- 0x000043c0, 0x00007000, 0x0000340e, 0x0000e583, 0x80000014, 0x0000a487,
- 0x07d85b0b, 0x00006100, 0x80000814, 0x0000648f, 0x43fb420d, 0x00007500,
- 0x05800000, 0x0000e180, 0x0780a815, 0x0000c900, 0x0740a014, 0x00009900,
- 0x00000407, 0x0000e583, 0x02603c07, 0x00008901, 0x03c00020, 0x00001988,
- 0x83e8750e, 0x00009908, 0x000043c0, 0x0000f010, 0x0540780f, 0x00001900,
- 0x43c042ec, 0x00007100, 0x00000406, 0x00006583, 0x85106a0d, 0x00008900,
- 0x05387d0d, 0x00000018, 0x03e0740b, 0x0000803e, 0x00004410, 0x0000f008,
- 0x00003c0e, 0x00006583, 0x8000000f, 0x0000a487, 0x05803006, 0x00006100,
- 0x8000080f, 0x0000648f, 0x4396419b, 0x0000f500, 0x0540a014, 0x00001900,
- 0x03c00800, 0x0000e180, 0x0500780f, 0x0000c900, 0x00004396, 0x00007000,
- 0x00003c0e, 0x00006583, 0x8000000f, 0x0000a487, 0x07c03006, 0x00006100,
- 0x8000080f, 0x0000648f, 0x4396420d, 0x0000f500, 0x05800800, 0x00006180,
- 0x0780a014, 0x0000c900, 0x0740780f, 0x00009900, 0x00004396, 0x00007000,
- 0x0000b008, 0x0000ec80, 0x10c0fc08, 0x0000f88f, 0x02000001, 0x00008080,
- 0xffffffff, 0x00007f86, 0xc0000707, 0x0000e583, 0x08004409, 0x0000a080,
- 0x0000ac09, 0x00001583, 0xffffffff, 0x00007f86, 0x00004423, 0x0000f010,
- 0x00004432, 0x00007050, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03c60800, 0x00007900, 0x00119262, 0x00008980, 0x04a41800, 0x0000f900,
- 0x000c2fa6, 0x00000980, 0x08001a09, 0x0000e106, 0x08004707, 0x0000b080,
- 0x82600500, 0x00008026, 0x03007702, 0x0000801d, 0x41f0710e, 0x0000801d,
- 0x8188680b, 0x0000801a, 0x44320fe7, 0x00007500, 0x8288580d, 0x0000802a,
- 0x8100e000, 0x00009980, 0x22800000, 0x00007900, 0x00014080, 0x00000980,
- 0x22062800, 0x0000f900, 0x00119262, 0x00008980, 0x22641800, 0x00007900,
- 0x000c2fa6, 0x00000980, 0x08001a76, 0x00006106, 0x08004775, 0x0000b080,
- 0x9da00500, 0x0000871a, 0x1dc07702, 0x00008715, 0x5d70710e, 0x00008715,
- 0xa548680b, 0x00008916, 0x44411014, 0x00007500, 0xa508580d, 0x00008912,
- 0xa280e000, 0x00009980, 0x00004447, 0x00007200, 0x02040008, 0x00009380,
- 0x01400805, 0x00006080, 0x8280120a, 0x00000080, 0x00303805, 0x00009502,
- 0x00004364, 0x0000f04b, 0xb9184308, 0x00001900, 0xffffffff, 0x00007fa7,
- 0x00000000, 0x00007083, 0x85c0070b, 0x000000a4, 0x8268750e, 0x00001900,
- 0x444f4115, 0x0000f500, 0x0420a809, 0x00006887, 0x05804809, 0x00001900,
- 0x02603c07, 0x00001901, 0xf0000407, 0x0000f892, 0x1a000000, 0x0000a18e,
- 0x534006ec, 0x0000d080, 0x00400000, 0x00008000, 0x9e000eec, 0x00005086,
- 0x00400000, 0x00008000, 0x534006ec, 0x00005000, 0x00400800, 0x00008080,
- 0x02c00001, 0x000080f4, 0x42400000, 0x000080e1, 0x83000000, 0x00009980,
- 0x8140120d, 0x0000e282, 0x82906ae5, 0x00000400, 0x01c00000, 0x00007900,
- 0x00002580, 0x00008980, 0x81400a0d, 0x00006280, 0xc280220d, 0x00008880,
- 0x00004472, 0x0000f208, 0x01d82c0d, 0x0000801d, 0x4467419b, 0x0000f500,
- 0x05b8570d, 0x00008114, 0x03c00800, 0x0000e180, 0x05003807, 0x0000c900,
- 0x00000407, 0x00001583, 0x02800000, 0x00001991, 0x0000446e, 0x00007011,
- 0x8180120d, 0x0000e282, 0x82400a09, 0x00000080, 0x02800800, 0x00001981,
- 0x0000447d, 0x0000f009, 0x447b4115, 0x00007500, 0x0584b000, 0x00007900,
- 0x00004000, 0x00000980, 0x05c0580b, 0x00009900, 0x4476419b, 0x0000f500,
- 0x05b8570d, 0x00008114, 0x03c00000, 0x00006180, 0x05003807, 0x0000c900,
- 0x00000407, 0x00001583, 0x0544b000, 0x00006188, 0x02800000, 0x00004991,
- 0x0000447d, 0x0000f011, 0x446a42ec, 0x0000f100, 0x21400407, 0x0000f88b,
- 0x3a000000, 0x00002284, 0x05c4b70b, 0x00008098, 0x44814115, 0x00007500,
- 0x04202806, 0x0000e887, 0x05803006, 0x00001900, 0x00000407, 0x00001583,
- 0x0544b000, 0x00001988, 0x00004487, 0x0000f011, 0x448542ec, 0x00007100,
- 0x02800800, 0x00006181, 0x82000a08, 0x0000c080, 0xc1400a0d, 0x00006080,
- 0x0184b000, 0x00008980, 0x8140420d, 0x0000e080, 0x82202806, 0x00006086,
- 0x8140320d, 0x00006080, 0xc1906a05, 0x00004000, 0x449140a5, 0x0000f500,
- 0x05803006, 0x00006100, 0x81506a05, 0x0000c000, 0x03c02805, 0x00009900,
- 0xffffffff, 0x00007f86, 0x00000407, 0x00001583, 0x83000a0c, 0x00001088,
- 0x00004497, 0x00007009, 0x0000040a, 0x00009583, 0x0000449b, 0x0000f00b,
- 0x02c0100b, 0x00006080, 0x0340080d, 0x00000080, 0x0010000d, 0x00009582,
- 0x0000445b, 0x0000f013, 0x01800001, 0x000080ed, 0x81504ae5, 0x00001400,
- 0x0284b000, 0x00006180, 0x81c00a0b, 0x00004780, 0x44a3416c, 0x0000f500,
- 0x82800c0b, 0x0000e281, 0xc2800c07, 0x00000281, 0x0538370a, 0x00008118,
- 0x82800a0c, 0x00001180, 0x81c0420a, 0x00009880, 0x81c0320a, 0x00006080,
- 0x83505207, 0x00004000, 0xc3505207, 0x00009000, 0x01c00000, 0x00007900,
- 0x00002580, 0x00008980, 0x0600680d, 0x0000e100, 0x00106007, 0x00006186,
- 0x44af40ed, 0x00007500, 0xc1c00c0a, 0x00009281, 0x05803807, 0x00001900,
- 0x03400000, 0x00007900, 0x00002580, 0x00008980, 0x84000a09, 0x00006780,
- 0x0010480d, 0x0000a186, 0x01c00000, 0x0000e180, 0x83905a05, 0x0000c100,
- 0xc3802209, 0x00006080, 0xc3400c09, 0x0000c281, 0x01c00c10, 0x0000e281,
- 0x05904a09, 0x00008900, 0x44bc419b, 0x0000f500, 0x05786f0e, 0x00008110,
- 0x03c03807, 0x00009900, 0x00000407, 0x00001583, 0x82400a09, 0x0000e088,
- 0x82c00a0b, 0x00008088, 0x01801006, 0x00001088, 0x000044c5, 0x00007010,
- 0x8000520b, 0x00001582, 0x83000a0c, 0x00009190, 0x000044ca, 0x0000f009,
- 0x0000449d, 0x00007000, 0x44c742e7, 0x00007300, 0x0544b000, 0x00009980,
- 0x00004594, 0x00007200, 0x534006ec, 0x00005000, 0x00407800, 0x00000080,
- 0x53b828ec, 0x00002000, 0x534006ec, 0x00005000, 0x00401000, 0x00008080,
- 0xffffffff, 0x00007f97, 0x01402a0a, 0x00001000, 0x53b828ec, 0x0000a800,
- 0x53b82aec, 0x0000a000, 0xffffffff, 0x00007fa7, 0x01402a09, 0x00001000,
- 0x53b82aec, 0x00002800, 0x53b82aec, 0x00002080, 0xffffffff, 0x00007fa7,
- 0x01405005, 0x00009180, 0x01402a08, 0x00009000, 0x53b82aec, 0x0000a880,
- 0x81400000, 0x00009980, 0x43505205, 0x0000f80b, 0x02000001, 0x00008080,
- 0x81803205, 0x0000e080, 0x12800000, 0x0000c980, 0x87502a06, 0x0000e000,
- 0x12400000, 0x00000980, 0x81804205, 0x00006080, 0x12000040, 0x0000c980,
- 0x44e63dfc, 0x0000f500, 0xc7400a05, 0x0000e080, 0x92902a06, 0x00000000,
- 0xe7a0284a, 0x0000e801, 0xffffffff, 0x00007fa7, 0x0338f71d, 0x00000018,
- 0x81400e06, 0x00009283, 0xc1400f0c, 0x00009283, 0xffffffff, 0x00007f86,
- 0x00004505, 0x0000f008, 0x000044fe, 0x0000f010, 0x01803800, 0x00007900,
- 0x00020002, 0x00008980, 0x04306006, 0x00006901, 0x003834ec, 0x0000d704,
- 0x00000000, 0x00008080, 0x000004ec, 0x0000d784, 0x00000016, 0x00000a80,
- 0x000144ec, 0x0000d784, 0x0000059a, 0x000082a0, 0x000038ec, 0x00007902,
- 0x01800000, 0x00000704, 0xffffffff, 0x00007fa7, 0x81401e07, 0x00009283,
- 0x08003a06, 0x00006910, 0x0000458a, 0x0000f009, 0x6284b206, 0x0000f893,
- 0x52000000, 0x0000a288, 0x8004b60c, 0x00009583, 0x0544b000, 0x00001990,
- 0x0000450a, 0x00007009, 0x450242e7, 0x00007100, 0x0000458e, 0x0000f200,
- 0x534006ec, 0x00005000, 0x00404000, 0x00008080, 0x450742e7, 0x0000f300,
- 0x0544b000, 0x00009980, 0x0000458e, 0x0000f200, 0x534006ec, 0x00005000,
- 0x00403000, 0x00000080, 0x81400a05, 0x00009080, 0x37105205, 0x00007813,
- 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x534006ec, 0x00005000, 0x00401800, 0x00000080,
- 0x0180a800, 0x00009980, 0x4f90420b, 0x0000f823, 0x02000001, 0x00008080,
- 0x12800000, 0x000004e4, 0x8140120b, 0x0000e282, 0x07400000, 0x00008980,
- 0x12000040, 0x0000e180, 0xc000184a, 0x0000e413, 0x12403006, 0x00009910,
- 0x00004522, 0x0000f010, 0x81400a0b, 0x00001282, 0x01400800, 0x0000e189,
- 0x01401000, 0x0000c991, 0xffffffff, 0x00007f86, 0xc720284a, 0x00006803,
- 0x0410304a, 0x00006907, 0x45233dfc, 0x0000f100, 0xffffffff, 0x00007fa7,
- 0x01c0f01e, 0x00001900, 0x81400e07, 0x00001283, 0x01403800, 0x0000f910,
- 0x00020002, 0x00008980, 0x04003805, 0x00006911, 0x00004539, 0x0000f008,
- 0x00382cec, 0x0000d704, 0x00000000, 0x00008080, 0x000004ec, 0x0000d784,
- 0x00000016, 0x0000aa80, 0x000144ec, 0x0000d784, 0x0000059a, 0x000082a0,
- 0x000038ec, 0x00007902, 0x01400000, 0x00000704, 0xffffffff, 0x00007fa7,
- 0x81401e07, 0x00009283, 0x01801006, 0x0000e090, 0x08003a05, 0x00002110,
- 0x00004590, 0x00007009, 0x6404b205, 0x00007893, 0xb2000000, 0x0000a28c,
- 0x453b42e7, 0x0000f300, 0x0544b000, 0x00009980, 0x00004594, 0x00007200,
- 0x534006ec, 0x00005000, 0x00404800, 0x00000080, 0x534006ec, 0x00005000,
- 0x00402000, 0x00008080, 0x02000000, 0x00009980, 0x5d104a08, 0x0000f823,
- 0x02000001, 0x00008080, 0x12800000, 0x00007900, 0x00200000, 0x00000980,
- 0x81c01208, 0x00006282, 0x81800a08, 0x00000280, 0x929042e5, 0x0000e400,
- 0x12400000, 0x00000980, 0x01404008, 0x0000e100, 0xe7a0304a, 0x00006001,
- 0x12000040, 0x0000e180, 0xc000184a, 0x0000e413, 0x00004557, 0x0000f410,
- 0xc7504208, 0x0000e100, 0x87402208, 0x0000c880, 0x12404008, 0x00009910,
- 0x01800c06, 0x00009283, 0x01800800, 0x0000e189, 0x01801000, 0x0000c991,
- 0xffffffff, 0x00007f86, 0xc720304a, 0x00006803, 0x0410404a, 0x0000e907,
- 0x45583dfc, 0x0000f100, 0xffffffff, 0x00007fa7, 0x01c0f01e, 0x00001900,
- 0x81800e07, 0x00001283, 0x01803800, 0x0000f910, 0x00020002, 0x00008980,
- 0x04003806, 0x00006911, 0x0000456e, 0x00007008, 0x003834ec, 0x0000d704,
- 0x00000000, 0x00008080, 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80,
- 0x000144ec, 0x0000d784, 0x0000059a, 0x000082a0, 0x000038ec, 0x00007902,
- 0x01800000, 0x00000704, 0xffffffff, 0x00007fa7, 0x81801e07, 0x00009283,
- 0x02000808, 0x0000e090, 0x08003a06, 0x00002110, 0x00004599, 0x00007009,
- 0x05a4b206, 0x0000c591, 0x7d604c08, 0x0000802c, 0x457042e7, 0x0000f300,
- 0x0544b000, 0x00009980, 0x0000459e, 0x00007400, 0x534006ec, 0x00005000,
- 0x00405800, 0x00008080, 0x53b840ec, 0x0000a880, 0x457842e7, 0x00007500,
- 0x534006ec, 0x00005000, 0x00402800, 0x00000080, 0x0544b000, 0x00009980,
- 0x9e4028ec, 0x00002006, 0x9e0006ec, 0x0000d086, 0x00400000, 0x00008000,
- 0xffffffff, 0x00007f97, 0x80000205, 0x00009582, 0x534006ec, 0x0000d010,
- 0x00406800, 0x00008080, 0x9e6028ec, 0x0000a00c, 0x00004587, 0x0000f010,
- 0xffffffff, 0x00007f97, 0x80000205, 0x00009582, 0x534006ec, 0x0000d010,
- 0x00407000, 0x00008080, 0x534006ec, 0x0000d008, 0x00400000, 0x00000080,
- 0x0000459e, 0x00007200, 0x538000ec, 0x0000d080, 0x00400000, 0x00008000,
- 0x458c42e7, 0x0000f300, 0x0544b000, 0x00009980, 0x534006ec, 0x00005000,
- 0x00403800, 0x00008080, 0x0000459e, 0x00007200, 0x53b028ec, 0x00002882,
- 0x459242e7, 0x0000f300, 0x0544b000, 0x00009980, 0x534006ec, 0x00005000,
- 0x00405000, 0x00000080, 0x0000459e, 0x00007200, 0x53b058ec, 0x0000a882,
- 0x82c00a0b, 0x00009080, 0x4550420b, 0x0000782b, 0xf2000000, 0x00002289,
- 0x459b42e7, 0x0000f300, 0x0544b000, 0x00009980, 0x534006ec, 0x00005000,
- 0x00406000, 0x00000080, 0x53b828ec, 0x00002880, 0x00000001, 0x00007280,
- 0x53400eec, 0x00005080, 0x00400000, 0x00008000, 0x823f1fe3, 0x00009900,
- 0x43b85008, 0x00002080, 0xffffffff, 0x00007fa7, 0x8000060a, 0x00009583,
- 0x01800000, 0x0000e190, 0xc2700600, 0x0000c911, 0x01b0560a, 0x0000e111,
- 0x82680500, 0x00004911, 0x00000001, 0x00007088, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03dba800, 0x00007900, 0x000aeb1c, 0x00000980,
- 0x04856000, 0x0000f900, 0x001c6486, 0x00000980, 0x02800000, 0x00006180,
- 0x08001a09, 0x0000e106, 0x45b50fe7, 0x0000f500, 0x031f1f02, 0x0000001f,
- 0x81006000, 0x00001980, 0x87c00000, 0x00006180, 0x0ec0321e, 0x0000e004,
- 0x0780fc06, 0x0000e281, 0x1120f41e, 0x00008901, 0x11a0f7e4, 0x00009800,
- 0x114230e5, 0x00009400, 0x8780121f, 0x00009880, 0x4b40ee1e, 0x0000f902,
- 0x06400000, 0x00000004, 0x4b80c01e, 0x0000f902, 0x05c00000, 0x00008004,
- 0x4b80b21e, 0x0000f902, 0x05400000, 0x00000004, 0x4b80a41e, 0x00007902,
- 0x02400000, 0x00008004, 0xb9800444, 0x0000c488, 0xa0800c44, 0x0000918b,
- 0xba801444, 0x00004488, 0xb0801c44, 0x0000918b, 0xbb802444, 0x0000c488,
- 0xc0802c44, 0x0000118b, 0x7a003444, 0x00007893, 0x22000000, 0x0000a28f,
- 0x0180e846, 0x00001202, 0x0740e845, 0x00001210, 0x000045eb, 0x00007011,
- 0x000045f4, 0x0000f000, 0x0180c846, 0x00009202, 0x0640c845, 0x00001210,
- 0x000045eb, 0x00007011, 0x000045f4, 0x0000f000, 0x0180c046, 0x00001202,
- 0x0600c045, 0x00001210, 0x000045eb, 0x00007011, 0x000045f4, 0x0000f000,
- 0x0180b846, 0x00001202, 0x05c0b845, 0x00001210, 0x000045eb, 0x00007011,
- 0x000045f4, 0x0000f000, 0x0180b046, 0x00009202, 0x0580b045, 0x00001210,
- 0x000045eb, 0x00007011, 0x000045f4, 0x0000f000, 0x0180a846, 0x00009202,
- 0x0540a845, 0x00001210, 0x000045eb, 0x00007011, 0x000045f4, 0x0000f000,
- 0x0180a046, 0x00001202, 0x0500a045, 0x00001210, 0x000045eb, 0x00007011,
- 0x000045f4, 0x0000f000, 0x01804846, 0x00001202, 0x02404845, 0x00001210,
- 0x000045f4, 0x0000f009, 0x8780121f, 0x00009880, 0x4b78ee1e, 0x0000d004,
- 0x0038c800, 0x00000000, 0x4bb8c01e, 0x0000d004, 0x0038b800, 0x00008000,
- 0x4bb8b21e, 0x0000d004, 0x0038a800, 0x00000000, 0x4bb8a41e, 0x00005004,
- 0x00384800, 0x00008000, 0x87c00a1f, 0x00009080, 0x8008021f, 0x00009582,
- 0x000045bb, 0x0000f013, 0x00000001, 0x0000f080, 0x000045fb, 0x00007200,
- 0x81800000, 0x00009980, 0x81800a06, 0x00009080, 0x82000a06, 0x00009880,
- 0xa5400608, 0x00005084, 0x00400000, 0x00008000, 0xa5a00008, 0x0000d087,
- 0x00400000, 0x00008000, 0xa5400608, 0x0000d004, 0x00400000, 0x00008081,
- 0x82000a06, 0x00001080, 0x8009fa08, 0x00009582, 0x000045fa, 0x00007033,
- 0x00000001, 0x0000f080, 0x40000507, 0x00001583, 0x81a03c07, 0x00009908,
- 0xd6400406, 0x0000508c, 0x00400000, 0x00008000, 0x00000001, 0x0000f288,
- 0xd6400406, 0x0000d00c, 0x004007c0, 0x00007ff8, 0x01c00000, 0x00009980,
- 0xd6400407, 0x00005084, 0x00400000, 0x00008000, 0xd6400407, 0x0000d004,
- 0x004007c0, 0x00007ff8, 0x01c00807, 0x00009080, 0x00068007, 0x00009582,
- 0x0000460e, 0x00007013, 0x00000001, 0x0000f080, 0x0107f809, 0x0000e280,
- 0x07c0600c, 0x00008900, 0x461b10ad, 0x00007500, 0x07b8570b, 0x00008134,
- 0x07002004, 0x00001900, 0xffc00000, 0x00006180, 0x01400008, 0x0000c980,
- 0x04464000, 0x00007900, 0x00002000, 0x00000980, 0x01c00000, 0x0000e180,
- 0x413f1011, 0x00006002, 0x01001000, 0x0000f900, 0x00004000, 0x00000980,
- 0x06000000, 0x0000f900, 0x00004000, 0x00000980, 0x06840000, 0x0000f900,
- 0x000080c0, 0x00000980, 0x01801002, 0x0000e100, 0x00001807, 0x00006106,
- 0x04000001, 0x000001c8, 0x04c00000, 0x0000e180, 0x05081001, 0x0000c980,
- 0x05400000, 0x000001d8, 0x05c00000, 0x00006180, 0x06480001, 0x0000c980,
- 0x06c40000, 0x000001f0, 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0,
- 0x08400000, 0x000002c8, 0x08c00000, 0x000082d0, 0x09400000, 0x000002d8,
- 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000, 0x000082f0,
- 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0, 0x0c400000, 0x000003c8,
- 0x0cc00000, 0x000083e0, 0x0e400000, 0x000003e8, 0x41400608, 0x000003ac,
- 0x00880eec, 0x0000df80, 0x00d06900, 0x000005c4, 0x1eb93f26, 0x0000072c,
- 0x1f394f28, 0x00000734, 0x1e012024, 0x0000e100, 0x00212828, 0x0000e086,
- 0x1e412825, 0x00006100, 0x82292828, 0x00006086, 0x1f81502a, 0x0000e100,
- 0x04192828, 0x0000e187, 0x0a795f28, 0x0000073c, 0x1b131800, 0x00007900,
- 0x0004ab82, 0x00008980, 0x20396f2c, 0x00000804, 0x20b97f2e, 0x0000080c,
- 0x1bb92729, 0x0000063c, 0xffffffff, 0x0000ffb7, 0x82c13cec, 0x00007902,
- 0x09800000, 0x00000604, 0xffffffff, 0x00007fa7, 0x09813827, 0x00001900,
- 0x0a013026, 0x0000e100, 0x00002026, 0x0000e586, 0x1b414028, 0x00006100,
- 0x04292826, 0x0000e087, 0x465a10cf, 0x0000f500, 0x86212826, 0x0000e887,
- 0x1ac13026, 0x00001900, 0xfba06c25, 0x0000c388, 0x00806c25, 0x00008098,
- 0xcc805c25, 0x00004488, 0xa0806425, 0x00001197, 0xf3a00a02, 0x0000c28e,
- 0x94808430, 0x00009197, 0x22010430, 0x00004795, 0x13a07425, 0x0000168f,
- 0xf4008425, 0x0000f89b, 0xea000000, 0x0000238e, 0x81000a02, 0x00006282,
- 0x09001c30, 0x00000281, 0x89771ee3, 0x00006110, 0x01c44000, 0x00004990,
- 0x52413c25, 0x0000a090, 0x0000480c, 0x00007008, 0x89800000, 0x000002d5,
- 0x01103000, 0x0000f900, 0x0000a040, 0x00000980, 0x00000427, 0x00006583,
- 0x02c00000, 0x00000980, 0x09800800, 0x00006189, 0x4501800b, 0x00006003,
- 0x8000023f, 0x00006582, 0x03c00000, 0x00008980, 0x89400800, 0x00006188,
- 0xf3e13004, 0x0000e000, 0x00000c24, 0x0000e583, 0x09800000, 0x00008981,
- 0x09800800, 0x00006189, 0xf7e12804, 0x0000e001, 0x02001c30, 0x00006283,
- 0x09400000, 0x00008981, 0x014c5000, 0x0000f900, 0x00028280, 0x00008980,
- 0x09400800, 0x00006189, 0xf7e13005, 0x00006001, 0x01b02000, 0x00007900,
- 0x00222080, 0x00008980, 0x03400000, 0x00007900, 0x00204000, 0x00008980,
- 0x04400000, 0x000081cc, 0x89b71ee3, 0x0000e100, 0x71e12806, 0x00006000,
- 0x08c00000, 0x00007900, 0x00004000, 0x00000980, 0x52605c26, 0x0000a000,
- 0x52487c26, 0x0000a002, 0x03000000, 0x000080f8, 0x04000000, 0x000081c8,
- 0x05000000, 0x000081d4, 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0,
- 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8,
- 0x0269ed3e, 0x00008020, 0x02a9e43d, 0x00000028, 0x0261f43c, 0x00000020,
- 0x0349fc3f, 0x00000106, 0x04f98730, 0x00009901, 0xbe401c30, 0x0000f897,
- 0x32000000, 0x00002388, 0x89400fe2, 0x00009880, 0x50e14625, 0x00002080,
- 0x50c0b625, 0x00002080, 0x50c0ae25, 0x0000a081, 0xffffffff, 0x00007f97,
- 0x0800b426, 0x0000e004, 0x0000b428, 0x0000b004, 0x05804428, 0x0000e283,
- 0x0800ac25, 0x00002004, 0x0f40ac15, 0x0000e890, 0xa6a0a830, 0x00006893,
- 0xae000c24, 0x0000f893, 0x7a000000, 0x0000a385, 0x89400fe2, 0x00009880,
- 0x50c14425, 0x00002002, 0x50e13425, 0x00002001, 0x50d12c25, 0x00002002,
- 0xffffffff, 0x00007f97, 0x08213426, 0x0000e804, 0x08212c25, 0x0000e804,
- 0xae000c24, 0x0000f893, 0x02000001, 0x00008080, 0xc5280008, 0x0000e180,
- 0x05800220, 0x0000c980, 0xc4c00001, 0x00006180, 0x05400008, 0x00004980,
- 0x05fa3f43, 0x00008120, 0x000046d5, 0x00007400, 0x00023843, 0x00006502,
- 0x85398730, 0x00000901, 0xc5a18c31, 0x00009901, 0x00001424, 0x0000e583,
- 0x05402730, 0x00000781, 0x8536e810, 0x0000e188, 0x8508a811, 0x00004990,
- 0x00001424, 0x0000e583, 0x05c20841, 0x00000900, 0xc4d0a214, 0x00006100,
- 0x05808800, 0x0000c989, 0x05000000, 0x0000f900, 0x00180000, 0x00008980,
- 0x85119232, 0x00006100, 0x0580d800, 0x0000c991, 0x06021042, 0x0000e100,
- 0x04319014, 0x0000e007, 0x06421843, 0x00006100, 0x45398014, 0x0000e007,
- 0x06822044, 0x00006100, 0x8620a814, 0x00006007, 0x06fa3745, 0x00008130,
- 0x00022040, 0x00006502, 0x07423847, 0x00000900, 0x85418b16, 0x00008114,
- 0x05820040, 0x00001900, 0x0000d817, 0x00001502, 0x0000e018, 0x00009502,
- 0x000046d6, 0x00007010, 0x000046d6, 0x00007010, 0x000046d6, 0x00007010,
- 0x00023843, 0x00009502, 0x80001023, 0x00006c0d, 0x07801c30, 0x0000e283,
- 0x090f2833, 0x00008200, 0xc799fb3f, 0x00006110, 0x47c12024, 0x0000c900,
- 0x8000023f, 0x00006582, 0x48412024, 0x00008900, 0x09000000, 0x00006189,
- 0x09002000, 0x0000c991, 0x08c13427, 0x0000e081, 0x00213028, 0x00002004,
- 0x88e12423, 0x00006001, 0x48000000, 0x00008980, 0x08c08428, 0x0000e283,
- 0xf0000022, 0x0000a401, 0xd361300b, 0x0000e014, 0xd361280d, 0x0000b014,
- 0x00000427, 0x00006583, 0x87998b31, 0x00008900, 0x88000031, 0x0000829e,
- 0x8000023f, 0x00006582, 0x09c00800, 0x00000991, 0xffffffff, 0x00007f86,
- 0x0421380b, 0x00006001, 0x0f014027, 0x0000b008, 0x8000023f, 0x00006582,
- 0x09c00800, 0x00008990, 0x09000000, 0x00009990, 0x08c08c24, 0x00006014,
- 0x1461380b, 0x00003001, 0x000046f7, 0x00007008, 0x46f61095, 0x0000f300,
- 0x0d812024, 0x00009900, 0xd761b00f, 0x0000e805, 0x00004757, 0x0000f200,
- 0x89802434, 0x00001880, 0x89400fe2, 0x00009880, 0x50e14625, 0x00002080,
- 0x50c0ae25, 0x00002080, 0x50c12e25, 0x0000a081, 0xffffffff, 0x00007f97,
- 0x0800ac23, 0x0000e004, 0x0000ac28, 0x0000b004, 0x05404428, 0x0000e283,
- 0x08212c26, 0x0000a004, 0x0f612c25, 0x00006890, 0xa6a12830, 0x00006893,
- 0xc6000c24, 0x00007893, 0x7a000000, 0x00002388, 0x89800fe2, 0x00009880,
- 0x50c14426, 0x00002002, 0x50e12c26, 0x00002001, 0x50d13426, 0x00002002,
- 0xffffffff, 0x00007f97, 0x08212c23, 0x0000e804, 0x08213426, 0x0000e804,
- 0xc6000c24, 0x00007893, 0x02000001, 0x00008080, 0xc5280008, 0x0000e180,
- 0x05800220, 0x0000c980, 0xc4c00001, 0x00006180, 0x05400008, 0x00004980,
- 0x05fa3f43, 0x00008120, 0x00004734, 0x0000f400, 0x00023843, 0x00006502,
- 0x85398730, 0x00000901, 0xc5a18c31, 0x00009901, 0x05000000, 0x0000f900,
- 0x00180000, 0x00008980, 0x00001424, 0x0000e583, 0x85119232, 0x00008900,
- 0x8976e810, 0x00006188, 0x8948a811, 0x0000c990, 0x00001424, 0x0000e583,
- 0x04319014, 0x00002007, 0xc4d12a25, 0x00006100, 0x45398014, 0x0000e007,
- 0x09402730, 0x00006781, 0x05618c31, 0x00000901, 0x05820040, 0x00006100,
- 0x86212814, 0x00006007, 0x09408800, 0x0000e189, 0x0940d800, 0x0000c991,
- 0x05fa1741, 0x00000120, 0x067a2743, 0x00008128, 0x06fa3745, 0x00008130,
- 0x00022040, 0x00006502, 0x07423847, 0x00000900, 0x45612c25, 0x00001901,
- 0x0000d817, 0x00001502, 0x0000e018, 0x00009502, 0x00004735, 0x00007010,
- 0x00004735, 0x00007010, 0x00004735, 0x00007010, 0x00023843, 0x00009502,
- 0x80001023, 0x00006c0d, 0x07801c30, 0x0000e283, 0x094f2833, 0x00000200,
- 0xc799fb3f, 0x00006110, 0x47c12825, 0x0000c900, 0x8000023f, 0x00006582,
- 0x48412825, 0x00008900, 0x09400000, 0x0000e189, 0x09402000, 0x00004991,
- 0x09013427, 0x00006081, 0x00211828, 0x00002004, 0x88e12c24, 0x00006001,
- 0x48000000, 0x00008980, 0x09008428, 0x00006283, 0xf0000022, 0x0000a401,
- 0xd361180b, 0x0000e014, 0xd361300d, 0x0000b014, 0x00000427, 0x00006583,
- 0x87998b31, 0x00008900, 0x88000031, 0x0000829e, 0x8000023f, 0x00006582,
- 0x09c00800, 0x00000991, 0xffffffff, 0x00007f86, 0x0421380b, 0x00006001,
- 0x0f014027, 0x0000b008, 0x8000023f, 0x00006582, 0x09c00800, 0x00008990,
- 0x09000000, 0x00009990, 0x08c08c24, 0x00006014, 0x1461380b, 0x00003001,
- 0x00004756, 0x00007008, 0x47551095, 0x00007300, 0x0d812024, 0x00009900,
- 0xd761b00f, 0x0000e805, 0x8980244c, 0x00001880, 0xc0000823, 0x0000ec01,
- 0x88c03a26, 0x00009080, 0x50b930ec, 0x0000a000, 0xffffffff, 0x00007fa7,
- 0x00000826, 0x00009582, 0xb0000823, 0x00006c19, 0x000047dd, 0x00007019,
- 0x8901860b, 0x00006283, 0xb0000023, 0x0000a401, 0x01c00000, 0x00006190,
- 0x0b005c25, 0x00006012, 0x01000000, 0x0000f910, 0x00014040, 0x00000980,
- 0x000047dd, 0x00007008, 0x03d2d800, 0x0000f900, 0x0005a686, 0x00000980,
- 0x04aa5800, 0x0000f900, 0x0036a294, 0x00008980, 0x02800000, 0x00006180,
- 0x08001a09, 0x0000e106, 0x81001000, 0x0000e180, 0xc2700600, 0x00004901,
- 0x000047dc, 0x0000f400, 0x82781400, 0x00000030, 0x01a12c25, 0x00009900,
- 0x89800fe2, 0x0000e080, 0x80000823, 0x00006405, 0x50f8b626, 0x0000a080,
- 0x50c12e26, 0x0000a081, 0x04e18c31, 0x00009901, 0xffffffff, 0x00007f86,
- 0x05404416, 0x00009283, 0x0000477b, 0x0000700b, 0x8501860b, 0x00009283,
- 0x0f612c25, 0x00006890, 0x20a12831, 0x0000e892, 0x09c1860b, 0x00009281,
- 0x00008427, 0x00001583, 0xc5280008, 0x00006188, 0x05400008, 0x0000c988,
- 0x85218c31, 0x00006109, 0x05800220, 0x00004988, 0x00004786, 0x0000f010,
- 0x0000479a, 0x00007400, 0x45b9bf31, 0x0000011c, 0x0001d837, 0x0000e502,
- 0x0601d83b, 0x00000900, 0x05000000, 0x0000f900, 0x00180000, 0x00008980,
- 0x85119232, 0x00006100, 0x09802431, 0x00004781, 0x85580003, 0x00006180,
- 0x04319014, 0x0000e007, 0x0581a034, 0x00006100, 0x45218814, 0x00006007,
- 0x05c1a835, 0x0000e100, 0x86213014, 0x00006007, 0x0639bf36, 0x00000124,
- 0x06b9cf38, 0x0000012c, 0x0739df3a, 0x00000134, 0x05698d31, 0x00009901,
- 0xf361c734, 0x00004410, 0x3681cf35, 0x00001117, 0xe6c1d036, 0x00007813,
- 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x0001d837, 0x00001502,
- 0x80001023, 0x00006c0d, 0x000047cb, 0x0000f200, 0x09008430, 0x00009283,
- 0x89c00fe2, 0x00006080, 0x80000823, 0x00006405, 0x50c13627, 0x0000a080,
- 0x04e18c31, 0x00009901, 0xffffffff, 0x00007f97, 0x05404426, 0x00009283,
- 0x000047a9, 0x0000700b, 0x8501860b, 0x00009283, 0x50d13c27, 0x0000a012,
- 0xffffffff, 0x00007fa7, 0x0f613c27, 0x00006890, 0x20a13831, 0x00006892,
- 0x0941860b, 0x00001281, 0x00008425, 0x00009583, 0xc5280008, 0x00006188,
- 0x05400008, 0x0000c988, 0x85218c31, 0x00006109, 0x05800220, 0x00004988,
- 0x000047b4, 0x00007010, 0x000047c9, 0x00007400, 0x45b9df31, 0x0000011c,
- 0x0001f83b, 0x00006502, 0x0601f83f, 0x00000900, 0x05000000, 0x0000f900,
- 0x00180000, 0x00008980, 0x85119232, 0x00006100, 0x09c02431, 0x0000c781,
- 0x85580003, 0x00006180, 0x04319014, 0x0000e007, 0x0581c038, 0x00006100,
- 0x45218814, 0x00006007, 0x05c1c839, 0x0000e100, 0x86213814, 0x0000e007,
- 0x0639df3a, 0x00000124, 0x06b9ef3c, 0x0000012c, 0x0739ff3e, 0x00000134,
- 0x0001e038, 0x00006502, 0x05698d31, 0x00000901, 0x0000d817, 0x00001502,
- 0x0000e018, 0x00009502, 0x000047ca, 0x00007010, 0x000047ca, 0x00007010,
- 0x000047ca, 0x00007010, 0x0001f83b, 0x00009502, 0x80001023, 0x00006c0d,
- 0x09004430, 0x00009283, 0x000047dd, 0x00007200, 0x88198b31, 0x00006110,
- 0x87998b31, 0x0000c910, 0x000047dd, 0x00007200, 0xc0000023, 0x00006c01,
- 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03d55000, 0x00007900,
- 0x0004ab82, 0x00008980, 0x04ba9000, 0x0000f900, 0x0016f7fa, 0x00008980,
- 0x01c12024, 0x00006100, 0x08001a09, 0x0000e106, 0x01800725, 0x000080a8,
- 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x03001002, 0x0000c900,
- 0x47dd0fe7, 0x00007100, 0x40c00408, 0x000087dc, 0x15464000, 0x00007900,
- 0x00002400, 0x00008980, 0x00001877, 0x0000e106, 0x413f1055, 0x00003002,
- 0x00400000, 0x00007900, 0x00008790, 0x00008980, 0x15000800, 0x0000f900,
- 0x00080000, 0x00000980, 0x15800000, 0x0000f900, 0x00002000, 0x00000980,
- 0x17000000, 0x0000f900, 0x00004000, 0x00000980, 0x17848000, 0x00007900,
- 0x000080c0, 0x00000980, 0x18001000, 0x00007900, 0x00009e00, 0x00000980,
- 0x19400000, 0x0000f900, 0x00260000, 0x00000980, 0x1d009000, 0x0000f900,
- 0x00016240, 0x00000980, 0x1d402000, 0x0000f900, 0x0001c008, 0x00008980,
- 0x0000a8ec, 0x00005780, 0x00007003, 0x00000080, 0xc0004800, 0x0000e181,
- 0xc0001877, 0x00006006, 0x15c00000, 0x0000e180, 0x16101001, 0x00004980,
- 0x16400000, 0x000005e8, 0x16c00000, 0x0000e180, 0x17500001, 0x0000c980,
- 0x17c00000, 0x000086c8, 0x18c00000, 0x00006180, 0x18401002, 0x00004900,
- 0x19000000, 0x000086d8, 0x19c00000, 0x000006e0, 0x1a400000, 0x000006e8,
- 0x1ac00000, 0x000086f0, 0x1b400000, 0x000006f8, 0x1bc00000, 0x000087c0,
- 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180, 0x9d901202, 0x0000c900,
- 0xdd981302, 0x00001900, 0x008806ec, 0x00005f80, 0x00c86840, 0x00000484,
- 0x89771ee3, 0x0000e100, 0x09800000, 0x00004981, 0x52413c25, 0x00002080,
- 0x49400000, 0x000080ec, 0x01103000, 0x0000f900, 0x0000a040, 0x00000980,
- 0x014c5000, 0x0000f900, 0x00028280, 0x00008980, 0x00000427, 0x00006583,
- 0x4501800b, 0x0000a003, 0x09800800, 0x00006189, 0x03c00000, 0x00004980,
- 0x8000023f, 0x00006582, 0x04400000, 0x00008980, 0x89400800, 0x00006188,
- 0xf3e13004, 0x0000e000, 0x00000c24, 0x0000e583, 0x09800000, 0x00008981,
- 0x09800800, 0x00006189, 0xf7e12804, 0x0000e001, 0x02001c30, 0x00006283,
- 0x09400000, 0x00008981, 0x09400800, 0x00006189, 0xf7e13005, 0x00006001,
- 0x01b02000, 0x00007900, 0x00222080, 0x00008980, 0x03400000, 0x00007900,
- 0x00204000, 0x00008980, 0x04c00000, 0x0000e180, 0x89b71ee3, 0x0000c900,
- 0x08c00000, 0x00007900, 0x00004000, 0x00000980, 0x01c44000, 0x0000e180,
- 0x71e12806, 0x00006000, 0x52605c26, 0x0000a000, 0x52487c26, 0x0000a002,
- 0x03000000, 0x000080f8, 0x04000000, 0x000081c8, 0x05000000, 0x000081d4,
- 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8,
- 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8, 0x0269ed3e, 0x00008020,
- 0x02a9e43d, 0x00000028, 0x0249fc3c, 0x00008106, 0x0221fc3e, 0x00008034,
- 0x04f98730, 0x00009901, 0xa6401c30, 0x0000f897, 0x32000000, 0x0000a385,
- 0x1000600c, 0x00006100, 0x00206806, 0x0000e086, 0x1040680d, 0x0000e100,
- 0x82286806, 0x00006086, 0x1080700e, 0x0000e100, 0x04186806, 0x0000e187,
- 0x01f87f06, 0x0000040c, 0x1b0d9000, 0x00007900, 0x001a1bd0, 0x00008980,
- 0x11388f10, 0x00000414, 0x11b89f12, 0x0000041c, 0x1238af14, 0x00000424,
- 0x12b8bf16, 0x0000042c, 0x1bb86707, 0x0000063c, 0xffffffff, 0x0000ffb7,
- 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff, 0x00007fa7,
- 0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x1b403006, 0x00006100,
- 0x04286804, 0x0000e087, 0x485810cf, 0x0000f500, 0x86206804, 0x0000e887,
- 0x1ac02004, 0x00001900, 0x10a0540d, 0x0000c199, 0x0080140d, 0x000000a0,
- 0x03e00c0d, 0x00004a91, 0x82c0740d, 0x00008197, 0x13400000, 0x000085dc,
- 0x0600c84d, 0x0000e006, 0x00001857, 0x00003106, 0x4600c84d, 0x0000e002,
- 0xc0001857, 0x0000b006, 0x1304080a, 0x0000e180, 0x6600c84d, 0x0000e000,
- 0x15001000, 0x0000f900, 0x00014000, 0x00008980, 0x15682000, 0x00007900,
- 0x00004040, 0x00008980, 0x001098ec, 0x0000d780, 0x00d07540, 0x000002c0,
- 0x13800000, 0x00006180, 0x7600c84d, 0x00006000, 0x13c40000, 0x000005c0,
- 0x14400000, 0x000005c8, 0x14c00000, 0x00006180, 0x15801002, 0x0000c900,
- 0x16000100, 0x000005e4, 0x16800000, 0x000085ec, 0x17000000, 0x000085f4,
- 0x17800000, 0x000085fc, 0x18000000, 0x000086c4, 0x18800000, 0x000086cc,
- 0x19000000, 0x000086d4, 0x0000488b, 0x00007400, 0x19800000, 0x000086dc,
- 0x01000000, 0x00001981, 0x01000000, 0x00007900, 0x00014040, 0x00000980,
- 0x03d0c800, 0x0000f900, 0x001a1bd0, 0x00008980, 0x04ba9000, 0x0000f900,
- 0x0016f7fa, 0x00008980, 0x01c0600c, 0x00006100, 0x08001a09, 0x0000e106,
- 0x0180070d, 0x000080a8, 0x48850fe7, 0x00007500, 0x82600500, 0x00008026,
- 0x03002f02, 0x00008091, 0x0000488b, 0x00007200, 0x01000800, 0x00009981,
- 0x01000c16, 0x00009283, 0x5fe0aeec, 0x0000a991, 0x5fe8aeec, 0x00002991,
- 0x01206c0d, 0x00009901, 0x00000404, 0x0000e583, 0x0f800000, 0x00000980,
- 0x07464000, 0x00007900, 0x00002400, 0x00008980, 0x0fc00000, 0x00006180,
- 0x413f101d, 0x00006002, 0x07000800, 0x0000f900, 0x00080000, 0x00000980,
- 0x07800000, 0x0000f900, 0x00002000, 0x00000980, 0x09000000, 0x0000f900,
- 0x00004000, 0x00000980, 0x09848000, 0x00007900, 0x000080c0, 0x00000980,
- 0x0b400000, 0x0000f900, 0x00260000, 0x00000980, 0x0f009000, 0x0000f900,
- 0x00016280, 0x00000980, 0x0f400000, 0x00007900, 0x00010000, 0x00000980,
- 0x07c00000, 0x0000e180, 0xc000183f, 0x00006006, 0x08101001, 0x00006180,
- 0x08400000, 0x00004980, 0x08800000, 0x000082cc, 0x09500001, 0x0000e180,
- 0x09c00000, 0x00004980, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec,
- 0x0b000000, 0x000082f8, 0x0bc00000, 0x000083c0, 0x0c400000, 0x000003c8,
- 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8, 0x0dc00000, 0x000003e0,
- 0x000048b3, 0x00007408, 0x0e400000, 0x000003e8, 0x0f800502, 0x000003ac,
- 0x00803eec, 0x00005f80, 0x00007003, 0x00008084, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x80000298, 0x0000e582, 0xa1c00000, 0x00000980,
- 0xa1c00800, 0x0000e188, 0x01000800, 0x00004980, 0x02020491, 0x00006283,
- 0x01400000, 0x00008980, 0x01800000, 0x00006180, 0x71e43804, 0x00006000,
- 0x01c00000, 0x0000e180, 0x9314c298, 0x0000c900, 0x00004974, 0x0000f010,
- 0x8a800a02, 0x00006282, 0x0604c805, 0x0000a006, 0x4604c805, 0x00006002,
- 0x0a015c86, 0x0000b004, 0x6604c805, 0x00006000, 0xc7243004, 0x00003003,
- 0x02000000, 0x00007900, 0x00018280, 0x00008980, 0x00004a31, 0x0000f410,
- 0x02400000, 0x00006180, 0x7604c805, 0x0000e000, 0x02c00044, 0x000080e8,
- 0x4d040599, 0x0000e283, 0x26004090, 0x00000780, 0x21c4c499, 0x00006000,
- 0x0b000000, 0x00000980, 0x4a843887, 0x0000e100, 0x0b400000, 0x00004980,
- 0x21c00000, 0x00006189, 0x08048c87, 0x00006010, 0x0b800000, 0x000082fc,
- 0x0c000000, 0x00006180, 0xf7e4382a, 0x00006001, 0x0c400000, 0x000003c8,
- 0x0ce00000, 0x000001cf, 0x21818491, 0x00009281, 0x3b018486, 0x0000788a,
- 0x02400001, 0x00008000, 0x00010491, 0x00007894, 0x00000000, 0x00000000,
- 0x00020599, 0x0000f896, 0x00000000, 0x00008010, 0x00008491, 0x0000788c,
- 0x00000000, 0x00000000, 0x00040599, 0x0000f88e, 0x00000000, 0x00008020,
- 0x56610491, 0x0000448f, 0x66820599, 0x0000128d, 0x02c02591, 0x0000789b,
- 0x22400000, 0x0000a586, 0xd1402591, 0x0000f89a, 0x62400000, 0x00002586,
- 0x02c02591, 0x0000789b, 0x22400000, 0x0000a586, 0x21c60599, 0x00001281,
- 0x37060487, 0x0000f892, 0x02400001, 0x00000080, 0x21800000, 0x00006181,
- 0x75848828, 0x00006001, 0x40000591, 0x0000e583, 0x44848828, 0x0000a003,
- 0x40001d91, 0x0000e583, 0x21800800, 0x00008989, 0x40000591, 0x00009593,
- 0x00004b37, 0x0000f013, 0x00000486, 0x00001583, 0xca002000, 0x0000e191,
- 0x0b044889, 0x0000c908, 0x0b44508a, 0x00006108, 0x0b84588b, 0x00004908,
- 0x0bc4608c, 0x0000e108, 0xc3804000, 0x00004989, 0xca005000, 0x00006189,
- 0xc4c08000, 0x00004989, 0x81418613, 0x00006283, 0x21c18613, 0x00000281,
- 0xa1800fe2, 0x00001888, 0x50c1a486, 0x0000200a, 0x00004b00, 0x00007010,
- 0x50e1ac86, 0x0000a001, 0x50d43c86, 0x0000a002, 0xffffffff, 0x00007f97,
- 0x0001a834, 0x0000e804, 0x0001ac34, 0x00006804, 0x0d008434, 0x00009283,
- 0x8558cb19, 0x00006108, 0x84d8bb17, 0x00004908, 0x00004913, 0x0000f009,
- 0xc744070c, 0x00006283, 0xd3643813, 0x00002004, 0xd341a815, 0x00006004,
- 0xf000000c, 0x0000b411, 0x8ac0262b, 0x00001091, 0x62014000, 0x00006181,
- 0x0b014486, 0x00006002, 0x22000000, 0x0000e181, 0xa1e43713, 0x00004000,
- 0x8d008287, 0x00001080, 0xa1926234, 0x00006000, 0xc7526234, 0x00000000,
- 0x0d00862b, 0x00001080, 0x0d01a286, 0x00009000, 0x0d402034, 0x0000e080,
- 0x14402034, 0x00000080, 0x1400f835, 0x00006784, 0x8d01462b, 0x00008080,
- 0xa1d43234, 0x00001000, 0x04143805, 0x0000e985, 0x0d000000, 0x0000e180,
- 0x08001a87, 0x0000e106, 0xcd00472b, 0x0000e283, 0x0d700000, 0x00008980,
- 0x0d800000, 0x00006180, 0x04143835, 0x00006101, 0x0dc00000, 0x000003e0,
- 0x0e400000, 0x000003e8, 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8,
- 0x0fc00000, 0x000084c0, 0x10400000, 0x000004c8, 0x10c00000, 0x000084d0,
- 0x11400000, 0x000004d8, 0x11c00000, 0x000004e0, 0x00004ad1, 0x00007410,
- 0x12400000, 0x000004e8, 0x12c00000, 0x00006180, 0xcd004000, 0x00004989,
- 0x00008036, 0x00006586, 0x00004039, 0x00003586, 0x00012038, 0x00006586,
- 0x0000103b, 0x0000b403, 0x0000183c, 0x0000e403, 0x00001836, 0x0000b403,
- 0x10800000, 0x0000f900, 0x0003fc00, 0x00008980, 0x21fff9ff, 0x00006180,
- 0x00001839, 0x0000e403, 0x5149512a, 0x0000e100, 0x00001037, 0x0000e403,
- 0x0b014486, 0x00006002, 0x0000403a, 0x00003586, 0x0000203d, 0x0000e586,
- 0x00001038, 0x0000b403, 0x11000000, 0x0000f900, 0x003fc000, 0x00008980,
- 0x8000083b, 0x0000e401, 0x8000083c, 0x00003401, 0x30000836, 0x0000e401,
- 0x30000839, 0x0000b401, 0x00043842, 0x0000e206, 0xf0015045, 0x0000b001,
- 0x10c7f800, 0x0000e180, 0xf0000835, 0x0000e401, 0x0000103a, 0x00006403,
- 0x0000083d, 0x0000b403, 0x80000838, 0x0000e401, 0x70001836, 0x00003403,
- 0xc000e042, 0x00006007, 0x80000839, 0x00003401, 0x100728e5, 0x00006100,
- 0x80015045, 0x00006085, 0x104728e5, 0x0000e100, 0x8dc0862b, 0x00004180,
- 0x51094929, 0x00006100, 0x8ed26713, 0x0000c000, 0xcf08ed86, 0x0000840c,
- 0xd0d8eb1d, 0x00001900, 0x56827c2b, 0x0000f902, 0x13800000, 0x00000000,
- 0x56826a2b, 0x00007902, 0x13000000, 0x00008000, 0xa1f71ee3, 0x00001900,
- 0x52689c87, 0x0000a000, 0x13c0084f, 0x00001082, 0x1342884d, 0x00006002,
- 0x1380004e, 0x00000084, 0x1302804c, 0x00001004, 0x56ba7c2b, 0x00005000,
- 0x003a7000, 0x00008000, 0x56ba6a2b, 0x0000d000, 0x003a6000, 0x00000000,
- 0x93000a02, 0x00009282, 0x53040599, 0x00001283, 0xffffffff, 0x00007f86,
- 0x000049d3, 0x00007010, 0x00004a3c, 0x0000f010, 0x001008ec, 0x0000d780,
- 0x00007004, 0x00008080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0x0604c805, 0x00006006, 0xc0002804, 0x00003406, 0x4604c805, 0x00006002,
- 0xc0000004, 0x00003403, 0x02040000, 0x00006180, 0x6604c805, 0x00006000,
- 0x02400000, 0x00006180, 0x7604c805, 0x0000e000, 0x02822000, 0x000080ec,
- 0x83000a02, 0x00001282, 0xc0000791, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00004a92, 0x00007008, 0x00004bdb, 0x0000f048, 0x14000000, 0x0000f900,
- 0x00300000, 0x00008980, 0x14500800, 0x0000e180, 0x0a048c86, 0x00006002,
- 0xc3020791, 0x0000e283, 0xe5048850, 0x00002002, 0x13c00000, 0x0000e180,
- 0x82243051, 0x0000e000, 0x21800800, 0x00006191, 0x21801000, 0x00004989,
- 0x43040599, 0x00006283, 0x02048850, 0x00002002, 0x13682000, 0x00007900,
- 0x00004000, 0x00000980, 0x17c00000, 0x00006180, 0x0000184f, 0x00006106,
- 0x13001000, 0x0000f900, 0x00014000, 0x00008980, 0x41243050, 0x0000e002,
- 0x0c44ce4d, 0x0000b000, 0x13801002, 0x0000e100, 0xc000184f, 0x0000e006,
- 0x14800000, 0x000085d4, 0x15800000, 0x000085dc, 0x16000000, 0x000085e4,
- 0x16800000, 0x000085ec, 0x17000000, 0x000085f4, 0x17800000, 0x0000e180,
- 0x1504a094, 0x00004900, 0x000049ae, 0x0000f408, 0x14fc9790, 0x00008505,
- 0x97f49e93, 0x0000e101, 0x07848850, 0x00006013, 0x83000e91, 0x0000e283,
- 0x21c04095, 0x00008880, 0x14c48087, 0x00006000, 0x27848850, 0x0000a003,
- 0x47848850, 0x00006003, 0xe0000851, 0x00003412, 0x00004bd0, 0x00007208,
- 0x979c9392, 0x00006110, 0xc4048850, 0x0000e002, 0x14848087, 0x0000e000,
- 0xc0000850, 0x0000a403, 0xc3008797, 0x00001283, 0x000049cf, 0x0000f00b,
- 0x40004591, 0x00006583, 0x21c00000, 0x00000981, 0x21c00800, 0x0000e189,
- 0x21803797, 0x0000c781, 0x40004d91, 0x0000e583, 0x27c00004, 0x00000980,
- 0x0844bc0e, 0x0000e000, 0x0014b89f, 0x0000b106, 0x27006000, 0x0000f900,
- 0x00008000, 0x00000980, 0x27580800, 0x0000f900, 0x00004040, 0x00008980,
- 0x27800796, 0x00008a80, 0x000049ca, 0x00007410, 0x28400000, 0x00000ac8,
- 0x28c00000, 0x00006180, 0x03400c86, 0x00004281, 0x03000c86, 0x0000e283,
- 0xe00008a1, 0x00002402, 0x28d01202, 0x0000e100, 0x200008a0, 0x00006413,
- 0x00000c0e, 0x00009583, 0xc00008a0, 0x0000640a, 0xc00010a0, 0x00003412,
- 0x28949a93, 0x00009908, 0x281000a0, 0x00009380, 0x03243c0d, 0x00006203,
- 0x42c11000, 0x00000981, 0x001138ec, 0x00005780, 0x00007000, 0x00000080,
- 0xe00008a0, 0x00006c12, 0x001008ec, 0x0000d780, 0x00d074c0, 0x000002c0,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x14000000, 0x0000f900,
- 0x00300000, 0x00008980, 0x14c20491, 0x0000e283, 0x13c00000, 0x00000980,
- 0x13682000, 0x00007900, 0x00004000, 0x00000980, 0x0a048c86, 0x00006002,
- 0xe5048850, 0x0000b002, 0x14400800, 0x00006180, 0x0000184f, 0x00006106,
- 0x17c00000, 0x00006180, 0x0c44ce4d, 0x0000e000, 0x13001000, 0x0000f900,
- 0x00014000, 0x00008980, 0x02048850, 0x0000e002, 0xc000184f, 0x0000b006,
- 0x41028000, 0x0000e181, 0x82243051, 0x0000e000, 0x13800702, 0x00000588,
- 0x15400000, 0x000005d8, 0x15c00000, 0x000005e0, 0x16400000, 0x000005e8,
- 0x16c00000, 0x000085f0, 0x17400000, 0x000005f8, 0x000049f1, 0x0000f410,
- 0x15149f94, 0x0000053c, 0x21c00c99, 0x00006088, 0x21800000, 0x00008990,
- 0xffffffff, 0x00007f86, 0x21804087, 0x00009880, 0xe1420791, 0x00006283,
- 0x14500051, 0x00000380, 0x14c48086, 0x0000e000, 0xd46c9592, 0x00000901,
- 0x21800800, 0x00006191, 0x21801000, 0x00004989, 0x61840599, 0x00001283,
- 0xa2780802, 0x00006188, 0x41243050, 0x0000e002, 0x21804095, 0x00006090,
- 0x07848850, 0x00006013, 0x00004a2d, 0x0000f008, 0xa1400e91, 0x00006283,
- 0x27848850, 0x0000a003, 0x14c48086, 0x0000e000, 0x47848850, 0x0000a003,
- 0xc4048850, 0x0000e002, 0xe0000851, 0x00003412, 0x00004ba0, 0x00007008,
- 0x21c40000, 0x0000e180, 0x14848086, 0x0000c000, 0x40000591, 0x0000e583,
- 0x21ac4087, 0x00000100, 0x40001d91, 0x00006593, 0x21e44086, 0x00008100,
- 0x21808087, 0x00006180, 0xc0000850, 0x0000a403, 0x21f15886, 0x00006100,
- 0x979c9392, 0x00000900, 0xa2780802, 0x0000e180, 0x21800c99, 0x0000c080,
- 0x00004aaf, 0x0000f411, 0x2c143287, 0x00009600, 0xa18588b0, 0x00001000,
- 0xa1802286, 0x00009080, 0x22000000, 0x0000f900, 0x001f8000, 0x00008980,
- 0x80000293, 0x00006582, 0x00143088, 0x0000a186, 0x203c46ec, 0x0000d600,
- 0x003c7800, 0x00000000, 0xc0000f93, 0x00001583, 0xffffffff, 0x00007f86,
- 0x00004a2d, 0x0000f008, 0x00004b5b, 0x0000f010, 0x18000000, 0x0000f900,
- 0x00008000, 0x00000980, 0x18580040, 0x00006180, 0x20bc9860, 0x0000e000,
- 0x18c00004, 0x0000e180, 0x003c9861, 0x00006006, 0x30fc9860, 0x0000e000,
- 0xc000100a, 0x0000b407, 0x863c9861, 0x00006001, 0x0014b863, 0x0000b106,
- 0x19000000, 0x0000e180, 0x19400018, 0x00004980, 0x19800000, 0x000086dc,
- 0x62401589, 0x00006081, 0x1884b096, 0x00008900, 0x003448ec, 0x00005702,
- 0x00007000, 0x00000080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084,
- 0xc4c40797, 0x00009283, 0x4a840599, 0x00001283, 0xffffffff, 0x00007f86,
- 0x000048cc, 0x00007008, 0x00004a39, 0x0000f008, 0x0a808491, 0x00009283,
- 0xa194c298, 0x00001910, 0x00004bd5, 0x00007011, 0x000048cc, 0x00007200,
- 0x93300298, 0x0000f900, 0x0000003e, 0x00008280, 0x13c00000, 0x0000e180,
- 0x09c4bc86, 0x0000e000, 0x14000000, 0x0000f900, 0x00010000, 0x00000980,
- 0x14400080, 0x00006180, 0x0000184f, 0x00006106, 0x17c00000, 0x00006180,
- 0x21c4c499, 0x0000c000, 0x13001000, 0x0000f900, 0x00014000, 0x00008980,
- 0x13682000, 0x00007900, 0x00004040, 0x00008980, 0x000898ec, 0x0000d780,
- 0x00007001, 0x00008080, 0x61a43050, 0x0000e002, 0xc000184f, 0x0000b006,
- 0x41028000, 0x0000e181, 0x83c4b851, 0x0000e000, 0x13800702, 0x00000588,
- 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8, 0x15c00000, 0x000005e0,
- 0x16800000, 0x000085ec, 0x17000000, 0x000085f4, 0x17800000, 0x0000e180,
- 0xd67caf95, 0x00004901, 0x40005d91, 0x00006583, 0x97dc8b91, 0x00008900,
- 0x56443887, 0x00006100, 0x97f4be97, 0x0000c901, 0x40005d91, 0x00009583,
- 0x40006d91, 0x00009583, 0x00004a7a, 0x00007008, 0x00004a90, 0x00007028,
- 0x00004a90, 0x00007018, 0xa1838000, 0x00009980, 0xa1f15a86, 0x00009100,
- 0xa1a44287, 0x00001100, 0xa1ec4286, 0x00009100, 0x1a400000, 0x0000f900,
- 0x001f0000, 0x00000980, 0x80000295, 0x00006582, 0x00143869, 0x00002186,
- 0x203b4eec, 0x0000d600, 0x003c7800, 0x00000000, 0x18006000, 0x00007910,
- 0x00008000, 0x00000980, 0x00004970, 0x00007008, 0x0010c0ec, 0x00005780,
- 0x00007000, 0x00000080, 0x18c00004, 0x0000e180, 0xc000100a, 0x0000e407,
- 0x18580800, 0x0000f900, 0x00004080, 0x00008980, 0x001008ec, 0x0000d780,
- 0x00007004, 0x00008080, 0x19000000, 0x0000e180, 0x0014b863, 0x0000e106,
- 0x00004972, 0x0000f400, 0x19400018, 0x00006180, 0x19800000, 0x00004980,
- 0x18800796, 0x0000069c, 0x21840000, 0x00006180, 0x0ec48c69, 0x0000e000,
- 0x21ec4086, 0x00009100, 0x21a44087, 0x00001100, 0x21800c99, 0x00006080,
- 0x21c08086, 0x00000180, 0x1a315887, 0x00009100, 0xffffffff, 0x00007f86,
- 0x2c143268, 0x00001600, 0xa1c588b0, 0x00009000, 0x0f048c68, 0x00006800,
- 0x1a234c68, 0x00009003, 0x9a004000, 0x00001988, 0x00004a8e, 0x00007009,
- 0x00000c68, 0x00009583, 0x00004a8d, 0x0000f00b, 0x00000499, 0x00009583,
- 0x9a000000, 0x00009990, 0x00004a8e, 0x00007011, 0x9a002000, 0x00009980,
- 0x00004a63, 0x0000f200, 0xa1d43a68, 0x00009000, 0x00004a63, 0x0000f200,
- 0xa1c00000, 0x00009980, 0x14000000, 0x0000f900, 0x00010000, 0x00000980,
- 0x13c00000, 0x0000e180, 0x09c4bc87, 0x00006000, 0x21804090, 0x00006780,
- 0x61a43850, 0x0000a002, 0x14400080, 0x00006180, 0x0000184f, 0x00006106,
- 0x17c00000, 0x00006180, 0x21c43499, 0x0000c000, 0x13001000, 0x0000f900,
- 0x00014000, 0x00008980, 0x13682000, 0x00007900, 0x00004040, 0x00008980,
- 0x001008ec, 0x0000d780, 0x00d074c0, 0x000002c0, 0xc000184f, 0x0000e006,
- 0x83c4b851, 0x0000b000, 0x13800702, 0x00000588, 0x14c00000, 0x000085d0,
- 0x15400000, 0x000005d8, 0x15c00000, 0x000005e0, 0x16800000, 0x000085ec,
- 0x17000000, 0x000085f4, 0x17800000, 0x0000e180, 0xd67caf95, 0x00004901,
- 0x000049d1, 0x0000f400, 0x97d4b891, 0x0000053c, 0x56443887, 0x00001900,
- 0x21c08491, 0x00001283, 0x00004a14, 0x0000f013, 0x00004a14, 0x0000f200,
- 0xa1802286, 0x00009080, 0x40001591, 0x00006583, 0x75848828, 0x0000a001,
- 0x44848828, 0x0000e803, 0x40001591, 0x00009583, 0x40002591, 0x00009583,
- 0x00004bca, 0x00007008, 0x00004b96, 0x0000f030, 0x00004c07, 0x00007008,
- 0x40002591, 0x00009583, 0xca004000, 0x000019a9, 0x00004900, 0x0000f029,
- 0x40005d91, 0x00009583, 0xca007800, 0x00001989, 0x00004900, 0x00007011,
- 0x00004900, 0x0000f400, 0x0b1c4688, 0x00000230, 0xc4e01404, 0x000000fb,
- 0x40001d91, 0x00001583, 0xca000000, 0x000099a9, 0xca003000, 0x000019a1,
- 0x00004900, 0x00007028, 0x0b3c5789, 0x00008234, 0x00004900, 0x0000f400,
- 0x0bbc678b, 0x0000023c, 0xc4e04410, 0x000000fb, 0x40001d91, 0x00001583,
- 0xca000800, 0x000019a9, 0xca003800, 0x000099a1, 0x00004900, 0x00007028,
- 0x00004900, 0x00007000, 0xa1a44588, 0x0000e000, 0x00001037, 0x00002403,
- 0xa1c0a286, 0x00006080, 0x00001036, 0x0000a403, 0xa1943f13, 0x0000e000,
- 0x70001837, 0x00002403, 0x21c18613, 0x00006281, 0xf0000835, 0x00002401,
- 0x84c18613, 0x0000e283, 0xcd001800, 0x00008981, 0x8d81062b, 0x00006180,
- 0x8dd26286, 0x00000000, 0x00002038, 0x00006596, 0xa0003837, 0x00003415,
- 0x00004b48, 0x00007008, 0x00008487, 0x0000e583, 0x00000838, 0x00002403,
- 0x4d402000, 0x00006189, 0x80002008, 0x0000648b, 0x01001004, 0x0000e388,
- 0xa0001037, 0x0000a40b, 0x0000495d, 0x00007010, 0x56827c2b, 0x0000f902,
- 0x13800000, 0x00000000, 0x56826a2b, 0x00007902, 0x13000000, 0x00008000,
- 0x123c0048, 0x0000f900, 0x003ffffe, 0x00008280, 0x2180c62b, 0x00006181,
- 0xe0000848, 0x0000a402, 0x13c0084f, 0x0000e082, 0x21c3fc86, 0x00000281,
- 0x1380004e, 0x00006084, 0x00243848, 0x00002084, 0x1342884d, 0x00006002,
- 0xa180a487, 0x00000080, 0xa1f71ee3, 0x00006100, 0x1302804c, 0x00004004,
- 0x56ba7c2b, 0x00005000, 0x003a7000, 0x00008000, 0x56ba6a2b, 0x0000d000,
- 0x003a6000, 0x00000000, 0x11040044, 0x00006380, 0x04143049, 0x0000a183,
- 0x52689c87, 0x0000a000, 0xdaa00a02, 0x0000c596, 0x73e40599, 0x0000e791,
- 0xa1800fe2, 0x00009880, 0x50e1ae86, 0x00002080, 0x50c1a686, 0x00002080,
- 0x50c13e86, 0x00002081, 0xffffffff, 0x00007f97, 0x0001a235, 0x00006804,
- 0x0f413c86, 0x00006080, 0x82013835, 0x0000b004, 0xb2013a35, 0x0000e880,
- 0x0011a826, 0x0000e986, 0x0001a426, 0x0000e804, 0x09808426, 0x00009283,
- 0x8558cb19, 0x00006108, 0x84d8bb17, 0x00004908, 0x00004b15, 0x00007009,
- 0xd3413813, 0x00006004, 0xd341a015, 0x0000b004, 0xc9c4070c, 0x00006283,
- 0x21c18613, 0x00000281, 0x8ac0262b, 0x0000e091, 0xf000000c, 0x00002411,
- 0x00008487, 0x0000e583, 0x0001a035, 0x0000a004, 0x09c00000, 0x0000e190,
- 0x62014000, 0x0000c991, 0x22004000, 0x00009991, 0x00004b81, 0x00007008,
- 0x09804435, 0x00001283, 0x0a00e487, 0x0000e016, 0x0b00e426, 0x0000b016,
- 0x09a0dc1b, 0x00006109, 0x21c02487, 0x00004890, 0xffffffff, 0x00007f86,
- 0x09a43c26, 0x00006311, 0x0b014487, 0x00002002, 0x20a43426, 0x00006892,
- 0xffffffff, 0x00007f86, 0x21802426, 0x0000e781, 0x4521301c, 0x00002007,
- 0x8995b802, 0x00006180, 0x8624301c, 0x0000e007, 0xa1a43f13, 0x00001000,
- 0xa1c0c286, 0x00009080, 0xa1926287, 0x0000e000, 0xc7526287, 0x00008000,
- 0x21c0862b, 0x00006080, 0xc9d26287, 0x00008000, 0x21c43a86, 0x00009000,
- 0x0d002087, 0x0000e080, 0x14402087, 0x00008080, 0x1400f834, 0x0000e784,
- 0xa1c1462b, 0x00000080, 0x00004922, 0x0000f400, 0xa1943287, 0x00001000,
- 0x04143005, 0x00006985, 0x40002d91, 0x0000e583, 0x21c00000, 0x00000981,
- 0x40005d91, 0x00006583, 0x21c00800, 0x00000989, 0x40002d91, 0x00009593,
- 0x00004c0f, 0x0000f013, 0x00000487, 0x00009583, 0xca006000, 0x00006191,
- 0xca008000, 0x0000c989, 0x4b0c4188, 0x00006108, 0xcb3c4788, 0x00004909,
- 0x00004ac8, 0x00007010, 0x00004900, 0x0000f200, 0xc4e01404, 0x000000fb,
- 0x00004900, 0x0000f400, 0x40005d91, 0x00009583, 0xca007000, 0x00009989,
- 0x56827c2b, 0x0000f902, 0x13800000, 0x00000000, 0x56826a2b, 0x00007902,
- 0x13000000, 0x00008000, 0xa1f71ee3, 0x00006100, 0x00002038, 0x0000e586,
- 0xa0002837, 0x00006405, 0x00000838, 0x0000b403, 0x13c0084f, 0x00001082,
- 0x1342884d, 0x00006002, 0x1380004e, 0x00000084, 0x1302804c, 0x00001004,
- 0x52689c87, 0x0000a000, 0x56ba7c2b, 0x00005000, 0x003a7000, 0x00008000,
- 0x56ba6a2b, 0x0000d000, 0x003a6000, 0x00000000, 0xcf400a02, 0x00004597,
- 0xee240599, 0x0000e193, 0x21c00f93, 0x00006081, 0xc000000a, 0x00006407,
- 0xc0001f93, 0x00006583, 0x626c4c87, 0x00008001, 0xc0002793, 0x00001583,
- 0xc0001793, 0x00001583, 0x00004bbc, 0x0000f008, 0x00004bb1, 0x00007008,
- 0x00004a2d, 0x0000f010, 0x1ac00004, 0x00006180, 0x09005486, 0x00006006,
- 0x21c01486, 0x0000e081, 0x18c00004, 0x00000980, 0x21807c87, 0x0000e281,
- 0x0004086b, 0x0000a106, 0x21c01486, 0x0000e081, 0x0014b863, 0x00002106,
- 0x1a006000, 0x00007900, 0x00008000, 0x00000980, 0x1a580800, 0x00007900,
- 0x00004080, 0x00008980, 0x18006000, 0x0000f900, 0x00008000, 0x00000980,
- 0x18580800, 0x0000f900, 0x00004080, 0x00008980, 0x003448ec, 0x00005702,
- 0x00007000, 0x00000080, 0x1b000000, 0x00006180, 0xc724380a, 0x0000e007,
- 0x1b400018, 0x0000e180, 0x1b800000, 0x0000c980, 0x1bc00000, 0x00006180,
- 0x1a840080, 0x0000c900, 0x19000000, 0x0000e180, 0x19400018, 0x00004980,
- 0x00004a2f, 0x00007400, 0x19800000, 0x000086dc, 0x1884b096, 0x00001900,
- 0x07004435, 0x0000e283, 0x0b014487, 0x00002002, 0x09c00000, 0x00006180,
- 0x24a4301c, 0x00006093, 0xa1b89c87, 0x0000e000, 0x8995b802, 0x00008980,
- 0xa1d26286, 0x0000e000, 0x6200a000, 0x00008981, 0xa1816287, 0x0000e080,
- 0x87016287, 0x00008080, 0xc9c0c287, 0x00006080, 0x22004000, 0x00008981,
- 0x8720dc1b, 0x0000e109, 0x21c0c62b, 0x0000c180, 0xa194362b, 0x00006000,
- 0x21c43a86, 0x00000000, 0x00004922, 0x0000f400, 0x0d002087, 0x0000e080,
- 0x04143005, 0x00002185, 0x1400f834, 0x0000e784, 0x14402087, 0x00008080,
- 0x40000591, 0x00001583, 0xca001000, 0x00009989, 0x00004900, 0x00007009,
- 0x40000d91, 0x00009583, 0xca001800, 0x00006189, 0x0b044088, 0x0000c908,
- 0xc4c02000, 0x00006189, 0xc3801000, 0x00004989, 0x00004900, 0x0000f010,
- 0x00004900, 0x00007000, 0xa1401691, 0x00006283, 0x21c40000, 0x00000980,
- 0x21ac4087, 0x00006100, 0xe0000851, 0x0000a412, 0x21e44086, 0x0000e100,
- 0x979c9392, 0x00008910, 0x40000591, 0x0000e583, 0x21808087, 0x00000180,
- 0x40001d91, 0x00006593, 0x21f15886, 0x00000100, 0xa2780802, 0x0000e180,
- 0x21800c99, 0x0000c080, 0x00004a13, 0x00007409, 0x2c143287, 0x00009600,
- 0xa18588b0, 0x00001000, 0x85008491, 0x00007896, 0x8a400000, 0x00002585,
- 0x1ec00004, 0x0000e180, 0xc000100a, 0x0000e407, 0x1e006000, 0x0000f900,
- 0x00008000, 0x00000980, 0x1e580800, 0x0000f900, 0x00004080, 0x00008980,
- 0x1f000000, 0x0000e180, 0x0004287b, 0x00006106, 0x1f400018, 0x00006180,
- 0x1f800000, 0x00004980, 0x1e800784, 0x000007bc, 0x1cc00004, 0x00006180,
- 0x09005486, 0x00006006, 0x21c01486, 0x0000e081, 0x00041873, 0x00002106,
- 0x1c006000, 0x00007900, 0x00008000, 0x00000980, 0x1c580800, 0x00007900,
- 0x00004080, 0x00008980, 0x1d000000, 0x00006180, 0xc724380a, 0x0000e007,
- 0x00004b64, 0x0000f400, 0x1d400018, 0x0000e180, 0x1d800000, 0x0000c980,
- 0x1c800782, 0x0000079c, 0xca00b000, 0x00006181, 0x8000000e, 0x0000e487,
- 0x00004900, 0x0000f400, 0x0b044088, 0x00006100, 0x862c880e, 0x00006085,
- 0xc4c02000, 0x00009981, 0x83001691, 0x00001283, 0x979c9392, 0x00006110,
- 0xe0000851, 0x00006412, 0x73c08797, 0x0000788e, 0x82400000, 0x0000a48d,
- 0x80100298, 0x00009582, 0x000048cc, 0x0000f033, 0xa1904286, 0x00006180,
- 0x9300424c, 0x00008180, 0x33100286, 0x0000f8b2, 0xba400000, 0x0000a58e,
- 0x56807c2b, 0x00007902, 0x03800000, 0x00008000, 0x13c00000, 0x0000e180,
- 0x0c04ba86, 0x00006106, 0x56806a2b, 0x0000f902, 0x03000000, 0x00000000,
- 0x21f15a86, 0x00006000, 0x0000184f, 0x0000a106, 0x21810087, 0x0000e080,
- 0xc000184f, 0x00002006, 0x21c0f886, 0x0000e784, 0x13801002, 0x00000900,
- 0x03c0080f, 0x0000e082, 0x14400000, 0x00000980, 0x0380000e, 0x00006084,
- 0x14800000, 0x00000980, 0x03406886, 0x00006002, 0x15000000, 0x00000980,
- 0x03006087, 0x0000e004, 0x15400000, 0x00008980, 0x56b86a2b, 0x00005000,
- 0x00386000, 0x00008000, 0x83000e91, 0x0000e283, 0x15800000, 0x00008980,
- 0x13001000, 0x0000f900, 0x00014000, 0x00008980, 0x13682000, 0x00007900,
- 0x00004040, 0x00008980, 0x14000000, 0x0000f900, 0x00300000, 0x00008980,
- 0x56b87c2b, 0x0000d000, 0x00387000, 0x00000000, 0x15c00000, 0x000005e0,
- 0x16400000, 0x000005e8, 0x16c00000, 0x000085f0, 0x000049ae, 0x0000f408,
- 0x17400000, 0x000005f8, 0x17c00000, 0x00006180, 0x14c48090, 0x0000c900,
- 0xe0000851, 0x0000e402, 0xc0000850, 0x00003403, 0x14849790, 0x0000853a,
- 0x73c08797, 0x0000788e, 0x82400000, 0x0000a48d, 0x00004900, 0x0000f400,
- 0xca004800, 0x0000e181, 0x0b044088, 0x00004900, 0xc4e01404, 0x000000fb,
- 0x40005d91, 0x00009583, 0xca006800, 0x00009989, 0x00004ac1, 0x0000f009,
- 0x00004900, 0x00007000, 0x83603591, 0x00004389, 0x00803591, 0x00008098,
- 0x85401591, 0x0000c489, 0x46802591, 0x00009388, 0x9da00d91, 0x0000c790,
- 0x80406591, 0x0000818f, 0x04806d91, 0x00004589, 0xcea03d91, 0x00000195,
- 0x00004900, 0x0000f400, 0xca002800, 0x0000e181, 0x0b044088, 0x00004900,
- 0xc4e01404, 0x000000fb, 0xca009800, 0x00001981, 0x0b044088, 0x00006100,
- 0x0000100f, 0x00006484, 0x0b7c5789, 0x00000238, 0x0bfc678b, 0x00000300,
- 0x00004900, 0x0000f400, 0x0c7c778d, 0x00000308, 0xc4e0741c, 0x000000fb,
- 0xca005800, 0x00006181, 0x0b044889, 0x00004900, 0x0b7c5f8a, 0x00008238,
- 0x0be0478c, 0x000080bb, 0x00004900, 0x0000f400, 0x0c001788, 0x000000be,
- 0xc4c0a000, 0x00001981, 0xca00b800, 0x0000e181, 0x8000000e, 0x0000e487,
- 0x00004900, 0x0000f400, 0x0b044088, 0x00006100, 0x862c880e, 0x00006085,
- 0xc4c02000, 0x00009981, 0x00004c1c, 0x00007200, 0xca00a000, 0x00009981,
- 0xca009000, 0x0000e181, 0x4b0c4188, 0x0000c900, 0x0b201388, 0x000080bb,
- 0x00004900, 0x0000f400, 0x0b7c5789, 0x00000238, 0xc4c06000, 0x00006181,
- 0x83d02011, 0x0000c980, 0x00004ac1, 0x00007200, 0xca008800, 0x00009981,
- 0x010000a0, 0x0000e180, 0x08001a45, 0x00006106, 0x00122804, 0x0000e984,
- 0x733820ec, 0x00005600, 0x00000000, 0x00008080, 0xc100872b, 0x00001283,
- 0x01280800, 0x0000e190, 0x01400000, 0x0000c990, 0x01800000, 0x0000e190,
- 0x01c00000, 0x00004990, 0x00004c7a, 0x00007008, 0x91400fe2, 0x0000e080,
- 0x0a015c44, 0x00006004, 0xc7222004, 0x0000e003, 0x06042805, 0x0000b006,
- 0x50e22445, 0x0000a001, 0x02400000, 0x00006180, 0x46042805, 0x0000e002,
- 0x02800000, 0x00006180, 0x66042805, 0x0000e000, 0x02000000, 0x00007900,
- 0x00018200, 0x00000980, 0x09808444, 0x0000e283, 0x76042805, 0x0000a000,
- 0x02c2a800, 0x0000e180, 0x84d8bb17, 0x00004908, 0x8558cb19, 0x00006108,
- 0x60102028, 0x0000e50b, 0x00004c8b, 0x0000f010, 0x5fc22eec, 0x0000a180,
- 0x4a800000, 0x00001980, 0xffffffff, 0x00007f97, 0x09803c45, 0x00001281,
- 0xd3613013, 0x00006004, 0xd3613015, 0x00003004, 0x11418613, 0x00001281,
- 0x00008445, 0x00009583, 0x5fc136ec, 0x00002181, 0x00004c98, 0x0000f009,
- 0x8b40c284, 0x0000e080, 0x0b00862b, 0x00008080, 0x0b41622d, 0x00006000,
- 0x00000827, 0x00002486, 0x0b00202d, 0x0000e080, 0x20a13427, 0x00002082,
- 0x0b80f82c, 0x0000e784, 0x4521381c, 0x0000a007, 0x00000081, 0x00006582,
- 0x0b000000, 0x00000980, 0x09802427, 0x00006781, 0x0b000800, 0x00000990,
- 0x09c00000, 0x00006180, 0x8621301c, 0x0000e007, 0xc740c284, 0x00006080,
- 0x91414000, 0x00000981, 0x51404000, 0x00006181, 0x0bc0202d, 0x00004080,
- 0xc9c0c284, 0x00006080, 0x8995b802, 0x00008980, 0x8f408c2c, 0x00004411,
- 0xf4800312, 0x00009390, 0x00509082, 0x0000c512, 0x83a4070c, 0x00000392,
- 0x91002480, 0x0000e080, 0x01400000, 0x00004980, 0x20d02444, 0x0000a102,
- 0x01800000, 0x00006180, 0x06042805, 0x0000e006, 0x01c00000, 0x0000e180,
- 0x46042805, 0x0000e002, 0x02000000, 0x0000e180, 0x66042805, 0x0000e000,
- 0x01077c04, 0x0000e281, 0x76042805, 0x0000a000, 0x20d82444, 0x0000a901,
- 0x02400000, 0x000000e8, 0x01280800, 0x00006180, 0x02c2a800, 0x0000c980,
- 0x00900eec, 0x0000df80, 0x00007000, 0x00008084, 0x5fc22eec, 0x0000a180,
- 0xc9c4070c, 0x00006283, 0x60102028, 0x0000a503, 0x8ac0262b, 0x0000e091,
- 0xf000000c, 0x00002411, 0x4a800000, 0x00001980, 0x09803c45, 0x00001281,
- 0xd3613013, 0x00006004, 0xd3613015, 0x00003004, 0x11418613, 0x00001281,
- 0x00008445, 0x00009583, 0x5fc136ec, 0x00002181, 0x00004c62, 0x0000f011,
- 0x8b016284, 0x0000e080, 0x1100c62b, 0x00000180, 0x1102222c, 0x00006000,
- 0x0000081c, 0x00002487, 0x0b002044, 0x0000e080, 0x24a1301c, 0x00002083,
- 0x0b80f82c, 0x0000e784, 0x09c00000, 0x00008980, 0x00000081, 0x00006582,
- 0x0b000000, 0x00000980, 0x0b000800, 0x0000e190, 0x9140a000, 0x0000c981,
- 0x51404000, 0x00006181, 0x0bc02044, 0x00004080, 0x8995b802, 0x00006180,
- 0x87016284, 0x00004080, 0xc9c0c284, 0x00009080, 0x8f408c2c, 0x00004411,
- 0xf4800312, 0x00009390, 0x8f509082, 0x0000c913, 0x6484070c, 0x00001391,
- 0x9110ab80, 0x00001400, 0x8b003a44, 0x00001282, 0xffffffff, 0x00007f86,
- 0xffffffff, 0x00007f86, 0x00004c7a, 0x00007010, 0x56818c2b, 0x0000f902,
- 0x0c000000, 0x00000000, 0x56816a2b, 0x00007902, 0x0b000000, 0x00008000,
- 0x91002480, 0x0000e080, 0x0c800000, 0x0000c980, 0x1ff86644, 0x0000b938,
- 0x0c400831, 0x0000e082, 0x0cc00000, 0x00008980, 0x0c000030, 0x00006084,
- 0x0d000000, 0x00000980, 0x0b41782d, 0x00006002, 0x0d400000, 0x00008980,
- 0x20387044, 0x00003938, 0x20388244, 0x0000b938, 0x20389444, 0x00003938,
- 0x2038a644, 0x0000b938, 0x2078b044, 0x0000b938, 0x2078c244, 0x0000b938,
- 0x2078d444, 0x00003938, 0x2078e644, 0x0000b938, 0x20b8f044, 0x00003938,
- 0x20b90244, 0x00003938, 0x20b91444, 0x0000b938, 0x20b92644, 0x00003938,
- 0x20f93044, 0x00003938, 0x20f94244, 0x00003938, 0x20f95444, 0x0000b938,
- 0x0b01702c, 0x0000e004, 0x9100a284, 0x00008080, 0x00008445, 0x00006583,
- 0x0b800040, 0x00000980, 0x0bc00000, 0x00007900, 0x00076080, 0x00008980,
- 0x91122645, 0x0000e000, 0x0d800000, 0x00008980, 0x56b98c2b, 0x00005000,
- 0x00398000, 0x00008000, 0x56b96a2b, 0x0000d000, 0x00396000, 0x00000000,
- 0x0b700000, 0x0000f900, 0x00200000, 0x00000980, 0x0b000000, 0x00007900,
- 0x0000c000, 0x00008980, 0x0dc00000, 0x000003e0, 0x0e400000, 0x000003e8,
- 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000, 0x000084c0,
- 0x10400000, 0x000004c8, 0x10c00000, 0x0000e180, 0x8b81062b, 0x0000c180,
- 0x00004cec, 0x0000f408, 0x8bd22545, 0x00006000, 0x0c400000, 0x00000980,
- 0x0c002020, 0x00001980, 0x00800eec, 0x00005f80, 0x00007004, 0x00000084,
- 0x1140c62b, 0x00006181, 0x80002008, 0x00002483, 0x103c0040, 0x0000f900,
- 0x003ffffe, 0x00008280, 0x1103fc45, 0x00006281, 0xe0000840, 0x00002402,
- 0x9140a444, 0x00006080, 0xa000102f, 0x00002403, 0x00222040, 0x00006084,
- 0x04122841, 0x0000b183, 0x4b402000, 0x0000e181, 0x01001004, 0x0000c380,
- 0x0f04003c, 0x00009380, 0x00800eec, 0x00005f80, 0x00007004, 0x00000084,
- 0x82802404, 0x0000e080, 0x03280800, 0x0000c980, 0x20f9940a, 0x00003138,
- 0x1ff8a60a, 0x00003138, 0x2038b00a, 0x0000b138, 0x2038c20a, 0x0000b138,
- 0xc1008733, 0x0000e283, 0x03400000, 0x00000980, 0x2038d40a, 0x00003138,
- 0x2038e60a, 0x0000b138, 0x2078f00a, 0x0000b138, 0x2079020a, 0x0000b138,
- 0x2079140a, 0x00003138, 0x2079260a, 0x0000b138, 0x20b9300a, 0x00003138,
- 0x20b9420a, 0x00003138, 0x20b9540a, 0x0000b138, 0x20b9660a, 0x00003138,
- 0x20f9700a, 0x00003138, 0x00004d6a, 0x0000f408, 0x20f9820a, 0x0000b138,
- 0x03800000, 0x000080fc, 0x0a019c0a, 0x00006004, 0x0600480d, 0x0000b006,
- 0xc720500c, 0x00006003, 0x4600480d, 0x0000b002, 0x0281861b, 0x0000e281,
- 0x81c0a208, 0x00008080, 0x0000840a, 0x0000e583, 0x6600480d, 0x00002000,
- 0x0140c633, 0x0000e188, 0x01408633, 0x00008090, 0x0180a000, 0x00006189,
- 0x01814000, 0x00004991, 0x01402a24, 0x00006008, 0x01402b25, 0x00000010,
- 0x41804000, 0x00006189, 0x41804000, 0x00004991, 0x01002005, 0x0000e080,
- 0x0d800040, 0x00000980, 0x0100f804, 0x00006784, 0x81d03c06, 0x00008000,
- 0x0000840a, 0x0000e583, 0x7600480d, 0x0000a000, 0x0dc00000, 0x00007900,
- 0x00076080, 0x00008980, 0x04000000, 0x00007900, 0x00018200, 0x00000980,
- 0x0d000000, 0x00007900, 0x0000c000, 0x00008980, 0x0d700000, 0x0000f900,
- 0x00200000, 0x00000980, 0x04400000, 0x000001c8, 0x04c2a800, 0x0000e180,
- 0x0e002020, 0x0000c980, 0x0e400000, 0x000003e8, 0x0ec00000, 0x000083f0,
- 0x0f400000, 0x000003f8, 0x0fc00000, 0x000084c0, 0x10400000, 0x000004c8,
- 0x10c00000, 0x000084d0, 0x11400000, 0x000004d8, 0x11c00000, 0x000004e0,
- 0x12400000, 0x000004e8, 0x00004d4f, 0x00007408, 0x12c00000, 0x00006180,
- 0x01402005, 0x0000c080, 0x8d810633, 0x00006180, 0x8dd03d06, 0x00000000,
- 0x56804c33, 0x00007902, 0x02000000, 0x00008000, 0x56803a33, 0x0000f902,
- 0x01800000, 0x00000000, 0xffffffff, 0x00007f97, 0x02400809, 0x00001082,
- 0x01c02807, 0x0000e002, 0x02000008, 0x00000084, 0x01802006, 0x00009004,
- 0x56b84c33, 0x0000d000, 0x00384000, 0x00000000, 0x56b83a33, 0x00005000,
- 0x00383000, 0x00008000, 0x00801eec, 0x0000df80, 0x00007004, 0x00000084,
- 0x56804c33, 0x00007902, 0x02000000, 0x00008000, 0x56803a33, 0x0000f902,
- 0x01800000, 0x00000000, 0x123c0048, 0x0000f900, 0x003ffffe, 0x00008280,
- 0x0280c633, 0x0000e181, 0xe0000848, 0x0000a402, 0x02400809, 0x0000e082,
- 0x0283fc0a, 0x00008281, 0x02000008, 0x00006084, 0x00205048, 0x00002084,
- 0x01c02807, 0x0000e002, 0x8280a40a, 0x00008080, 0x01802006, 0x00006004,
- 0x80002010, 0x00002483, 0x04105049, 0x0000e183, 0xa0001037, 0x0000b403,
- 0x56b84c33, 0x0000d000, 0x00384000, 0x00000000, 0x56b83a33, 0x00005000,
- 0x00383000, 0x00008000, 0x4d402000, 0x0000e181, 0x0300100c, 0x0000c380,
- 0x11040044, 0x00009380, 0x00801eec, 0x0000df80, 0x00007004, 0x00000084,
- 0x04000000, 0x0000e180, 0x0600480d, 0x0000e006, 0x04400000, 0x00006180,
- 0x4600480d, 0x0000e002, 0x04800000, 0x00006180, 0x6600480d, 0x0000e000,
- 0x04c2a800, 0x0000e180, 0x7600480d, 0x00006000, 0x00901eec, 0x00005f80,
- 0x00007000, 0x00008084, 0x90800fe2, 0x00006080, 0x20000000, 0x0000c980,
- 0x50e02642, 0x0000a081, 0x50e82642, 0x00002081, 0x20400000, 0x000008c8,
- 0x20c00000, 0x000088d0, 0x4d7d0bc8, 0x0000f500, 0x21400000, 0x000008d8,
- 0x21c00000, 0x00001980, 0x410405ad, 0x00009283, 0x00004e0b, 0x0000f013,
- 0x01010450, 0x00001283, 0x10808000, 0x0000e191, 0x1080a000, 0x00004989,
- 0x410405ad, 0x00009283, 0x90221442, 0x00001901, 0x00004e2c, 0x00007011,
- 0x90000400, 0x000084c2, 0x909362ac, 0x0000e000, 0x02e33000, 0x00008980,
- 0x56803c44, 0x0000f902, 0x01800000, 0x00000000, 0x90802242, 0x00006080,
- 0x03680000, 0x00000980, 0x56b82a44, 0x0000a080, 0x81121640, 0x00006000,
- 0x03000000, 0x00000981, 0x90902540, 0x00006000, 0x82502540, 0x00000000,
- 0x56b82244, 0x0000a000, 0x01c00807, 0x0000e082, 0x02002242, 0x00000080,
- 0x10806450, 0x00006281, 0x01800006, 0x00000084, 0x01402808, 0x00006002,
- 0x050a0000, 0x00008980, 0x01000004, 0x00006084, 0x02800000, 0x00008980,
- 0x00006442, 0x00006583, 0x03800060, 0x00000980, 0x90800a6c, 0x0000e780,
- 0x03000800, 0x00000991, 0x56b82a44, 0x0000d000, 0x00382000, 0x00000000,
- 0x42c00342, 0x00008094, 0x08001a42, 0x0000e106, 0x04029805, 0x0000b006,
- 0x0412100d, 0x0000e101, 0x46056805, 0x0000b002, 0x908012ac, 0x0000e180,
- 0x66056805, 0x00002000, 0x05410450, 0x0000e283, 0xc5121640, 0x00000000,
- 0x02280800, 0x0000f900, 0x00008000, 0x00000980, 0xf2828014, 0x00006000,
- 0x76056805, 0x00003000, 0x20a06008, 0x00006000, 0xe3a20014, 0x00003000,
- 0x03c00040, 0x0000e180, 0x04000060, 0x0000c980, 0x0100180a, 0x0000e180,
- 0xc723980a, 0x00006007, 0x56b83c44, 0x00005000, 0x00383000, 0x00008000,
- 0x04104805, 0x00006185, 0x04238008, 0x0000b083, 0x03000000, 0x0000f900,
- 0x00014000, 0x00008980, 0x05028014, 0x00006006, 0xc7022804, 0x0000b003,
- 0x04400000, 0x000001c8, 0x04c00000, 0x000081e0, 0x06400000, 0x000001e8,
- 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8, 0x07c00000, 0x0000e180,
- 0x83b20640, 0x0000c900, 0x05656755, 0x0000803c, 0x00004e04, 0x00007408,
- 0x84002540, 0x0000e080, 0x01c00000, 0x00000980, 0x02400000, 0x000000d8,
- 0x2c256b44, 0x00001600, 0x058588b0, 0x00009000, 0x05c2b016, 0x00006002,
- 0x1080f816, 0x00008784, 0x0582b842, 0x00001004, 0x17500000, 0x00006180,
- 0x08001a42, 0x0000e106, 0x17c00000, 0x0000f900, 0x00006080, 0x00000980,
- 0x17800040, 0x00006180, 0x0412105d, 0x0000e101, 0x90aa0640, 0x0000e000,
- 0x18002020, 0x00008980, 0x17000000, 0x0000f900, 0x00018000, 0x00008980,
- 0x18402140, 0x00006180, 0x18800000, 0x0000c980, 0x18c00000, 0x00006180,
- 0x9793626c, 0x0000c900, 0x500405ad, 0x00006283, 0x97d56242, 0x00008000,
- 0x10420450, 0x00009283, 0xffffffff, 0x00007f86, 0x00004df7, 0x0000f008,
- 0x00004df7, 0x0000f008, 0xbc800d58, 0x0000c489, 0x88801d58, 0x0000138c,
- 0x0b002558, 0x00004588, 0x86c01558, 0x00008588, 0x23000000, 0x00007900,
- 0x00008000, 0x00000980, 0x23580040, 0x0000e180, 0x10801000, 0x00004981,
- 0x90411800, 0x00006180, 0x20aac08c, 0x00006000, 0x23c00004, 0x00006180,
- 0x002ac08d, 0x0000e006, 0x50407c42, 0x0000e281, 0xc322100b, 0x0000a006,
- 0x30eac08c, 0x00006000, 0x862ac08d, 0x0000b001, 0x24000000, 0x00006180,
- 0x0012d88f, 0x00006106, 0x003208ec, 0x0000d702, 0x00007000, 0x00000080,
- 0x24400018, 0x0000e180, 0x24800000, 0x0000c980, 0x2380075a, 0x0000098c,
- 0x00000440, 0x0000e583, 0x00002075, 0x00002406, 0xdd002800, 0x00009981,
- 0x00004e1a, 0x00007011, 0x0008e8ec, 0x00005780, 0x00007001, 0x00008080,
- 0x00000473, 0x00001583, 0x000910ec, 0x0000d790, 0x00007000, 0x00000080,
- 0x00000470, 0x00001583, 0x00004e09, 0x0000700b, 0x00980eec, 0x00005f80,
- 0x00d075c3, 0x00008284, 0x2c256b44, 0x00001600, 0x108588b0, 0x00001000,
- 0x00004dcc, 0x00007400, 0xc5baa25b, 0x0000811c, 0x0602b042, 0x00009000,
- 0x00980eec, 0x00005f80, 0x00d075c1, 0x00000284, 0x01010450, 0x0000e283,
- 0x10840000, 0x00000980, 0x10800cad, 0x00006080, 0x01936042, 0x00000100,
- 0x01400000, 0x0000f900, 0x00010000, 0x00000980, 0x2c121206, 0x00001600,
- 0x814588b0, 0x00009000, 0x1080a000, 0x00006189, 0x10808000, 0x0000c991,
- 0x20382eec, 0x0000d600, 0x003a9800, 0x00008000, 0x90221442, 0x00001901,
- 0x614405ad, 0x0000f88f, 0x62400000, 0x00002781, 0x10002450, 0x00001283,
- 0x1e580079, 0x00006388, 0xa03a8750, 0x00000909, 0xe0228c51, 0x00006109,
- 0xc0001879, 0x0000640a, 0x00004dfb, 0x0000f010, 0x10004450, 0x0000e283,
- 0xa1f28650, 0x00000901, 0x10800800, 0x0000e191, 0x10801000, 0x0000c989,
- 0x10001450, 0x00001283, 0x41221078, 0x00006002, 0xe0000879, 0x00003412,
- 0x00004dfb, 0x0000f400, 0xa19a8b51, 0x00006110, 0x40000879, 0x0000e413,
- 0xde6a8d51, 0x0000e101, 0x21029052, 0x00004910, 0x01008450, 0x00001283,
- 0x503acf59, 0x0000e111, 0x10000800, 0x00004991, 0x50000000, 0x00006189,
- 0x10000000, 0x0000c989, 0x00004d86, 0x0000f010, 0x00004d86, 0x00007000,
- 0x10800d58, 0x00001881, 0x90411800, 0x00006180, 0xc322100b, 0x00006006,
- 0x00004df7, 0x0000f400, 0x50407c42, 0x00001281, 0x003208ec, 0x0000d702,
- 0x00007000, 0x00000080, 0x29c00004, 0x00006180, 0x2a000000, 0x0000c980,
- 0x29006000, 0x00007900, 0x00008000, 0x00000980, 0x29580800, 0x00007900,
- 0x00004080, 0x00008980, 0x2a400018, 0x00006180, 0x000268a7, 0x00006106,
- 0x2a800000, 0x00008aec, 0x2982604c, 0x00009900, 0x27c00004, 0x0000e180,
- 0x28000000, 0x00004980, 0x27006000, 0x0000f900, 0x00008000, 0x00000980,
- 0x27580800, 0x0000f900, 0x00004080, 0x00008980, 0x28400018, 0x0000e180,
- 0x0002589f, 0x0000e106, 0x28800000, 0x00008acc, 0x2782504a, 0x00001900,
- 0x25c00004, 0x00006180, 0x23c00004, 0x00004980, 0x25006000, 0x00007900,
- 0x00008000, 0x00000980, 0x25580800, 0x00007900, 0x00004080, 0x00008980,
- 0x23006000, 0x00007900, 0x00008000, 0x00000980, 0x23580800, 0x00007900,
- 0x00004080, 0x00008980, 0x00024897, 0x0000e106, 0x0012d88f, 0x00003106,
- 0x26000000, 0x0000e180, 0x26400018, 0x00004980, 0x26800000, 0x000089ec,
- 0x25800748, 0x00000980, 0x24400018, 0x0000e180, 0x24800000, 0x0000c980,
- 0x00004e34, 0x0000f400, 0x24c00000, 0x00006180, 0x2382d05a, 0x0000c900,
- 0x10800d58, 0x00001881, 0x00000001, 0x00007480, 0x8b00244c, 0x00001880,
- 0x8b003a2c, 0x00009080, 0x0d001c34, 0x0000e006, 0x000000a5, 0x00003584,
- 0xe9580000, 0x00006180, 0x29001002, 0x00004900, 0x29800000, 0x00006180,
- 0x000018a5, 0x0000e106, 0x00000001, 0x00007480, 0x000948ec, 0x0000d780,
- 0x00007000, 0x00000080, 0x29c00000, 0x0000e180, 0xc321a0a5, 0x0000e004,
- 0x00000001, 0x00007480, 0x00400000, 0x00007900, 0x00048040, 0x00000980,
- 0xc0004800, 0x0000e181, 0xc0042803, 0x0000e606, 0x21401085, 0x00006380,
- 0x0f400000, 0x00000980, 0x0f000000, 0x00006180, 0x80002885, 0x0000e406,
- 0xc0000319, 0x00007900, 0x00000002, 0x00008582, 0x0ec00000, 0x0000e180,
- 0x10003085, 0x0000e405, 0x0e800000, 0x000003d8, 0x0d400000, 0x00006180,
- 0xb000c085, 0x0000e481, 0x0f80f01e, 0x0000e108, 0x0fc0e81d, 0x00004908,
- 0x0fc11823, 0x00006110, 0x0f811022, 0x0000c910, 0x0f410821, 0x0000e110,
- 0x0f010020, 0x00004910, 0x0ec0f81f, 0x0000e110, 0x0e80f01e, 0x00004910,
- 0x0d80e81d, 0x00006110, 0x0d40e01c, 0x00004910, 0x10c00000, 0x0000e180,
- 0xb6e1c885, 0x0000e005, 0x10800000, 0x000084c0, 0x8d092019, 0x0000031e,
- 0x90592324, 0x00006100, 0x1461a085, 0x0000e001, 0x2101ff02, 0x00008828,
- 0x2291f93f, 0x00000828, 0x2281f33f, 0x0000082c, 0x22d1f13e, 0x0000082c,
- 0x22c1eb3e, 0x00008830, 0x2311e93d, 0x00000830, 0x2301e33d, 0x00000834,
- 0x2351e13c, 0x00000834, 0x2341db3c, 0x00008838, 0x2391d93b, 0x00000838,
- 0x2381d33b, 0x0000083c, 0x23d1d13a, 0x0000083c, 0x23c1b33a, 0x00008900,
- 0x2411b136, 0x00000900, 0x2401ab36, 0x00008904, 0x2451a935, 0x00000904,
- 0x24421b35, 0x00008818, 0x21921943, 0x00000818, 0x21821343, 0x0000081c,
- 0x21d21142, 0x0000081c, 0x21c20342, 0x00000824, 0x22520140, 0x00000824,
- 0x2251bb40, 0x00000820, 0x00000001, 0x00007480, 0x22020b37, 0x00008820,
- 0x622a0d41, 0x00009901, 0x4eb14e72, 0x0000f500, 0x8e101202, 0x0000e100,
- 0x08001a37, 0x00006106, 0x80919232, 0x0000e100, 0x00119803, 0x00006106,
- 0x814010ec, 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86,
- 0x008800ec, 0x0000d780, 0x00c868c0, 0x00000480, 0x4eb84e77, 0x0000f300,
- 0x0e400800, 0x00009980, 0x814000ec, 0x00005684, 0x00000002, 0x00008480,
- 0x00000001, 0x00007280, 0x8091c238, 0x0000e100, 0x0011b803, 0x0000e106,
- 0x00000001, 0x00007480, 0x00400000, 0x00007900, 0x0000b9d0, 0x00008980,
- 0x40e05409, 0x000080c3, 0x0eb83f06, 0x0000032c, 0x0f384f08, 0x00000334,
- 0x0e002004, 0x00006100, 0x00202808, 0x0000e086, 0x0e402805, 0x0000e100,
- 0x82282808, 0x00006086, 0x0f80500a, 0x00006100, 0x04182808, 0x0000e187,
- 0x02785f08, 0x0000033c, 0x1b3e6800, 0x0000f900, 0x002be268, 0x00000980,
- 0x10386f0c, 0x00000404, 0x10b87f0e, 0x0000040c, 0x1bb82709, 0x0000063c,
- 0xffffffff, 0x0000ffb7, 0x82c03cec, 0x0000f902, 0x01800000, 0x00008604,
- 0xffffffff, 0x00007fa7, 0x01803807, 0x00009900, 0x02003006, 0x00006100,
- 0x00002006, 0x00006586, 0x1b404008, 0x00006100, 0x04282806, 0x0000e087,
- 0x4edb10cf, 0x00007500, 0x86202806, 0x0000e887, 0x1ac03006, 0x00001900,
- 0x01800c05, 0x00001181, 0x00003406, 0x00009583, 0x01c02004, 0x00006118,
- 0x01802805, 0x0000c918, 0x01000000, 0x00007918, 0x00014040, 0x00000980,
- 0x00004eec, 0x00007030, 0x03c06800, 0x00007900, 0x002be26a, 0x00008980,
- 0x04ba9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x02800000, 0x00006180,
- 0x08001a09, 0x0000e106, 0x4eec0fe7, 0x00007500, 0x81002800, 0x00006180,
- 0xc2700600, 0x00004901, 0x03200702, 0x00000026, 0x05464000, 0x0000f900,
- 0x00002400, 0x00008980, 0x0d800000, 0x000083dc, 0x05000800, 0x00007900,
- 0x00080000, 0x00000980, 0x05800000, 0x00007900, 0x00002000, 0x00000980,
- 0x07000000, 0x00007900, 0x00004000, 0x00000980, 0x07848000, 0x0000f900,
- 0x000080c0, 0x00000980, 0x09400000, 0x00007900, 0x00260000, 0x00000980,
- 0x0d009000, 0x00007900, 0x00017100, 0x00000980, 0x0d400000, 0x0000f900,
- 0x00010000, 0x00000980, 0x413f1015, 0x0000e002, 0xc0001837, 0x0000b006,
- 0x05c00000, 0x00006180, 0x06101001, 0x0000c980, 0x06400000, 0x000001e8,
- 0x06c00000, 0x00006180, 0x07500001, 0x00004980, 0x07c00000, 0x000002c0,
- 0x08400000, 0x000002c8, 0x08c00000, 0x000082d0, 0x09800000, 0x000082dc,
- 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000, 0x000082f4,
- 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4, 0x0c800000, 0x000083cc,
- 0xcd981302, 0x00009900, 0x00802eec, 0x0000df80, 0x00007003, 0x00008084,
- 0x01460000, 0x00006180, 0x0104080a, 0x0000c980, 0x01800000, 0x00006180,
- 0x06038805, 0x00006006, 0x02800000, 0x0000f900, 0x00040000, 0x00000980,
- 0x01c00000, 0x0000e180, 0x413f1005, 0x00006002, 0x00000001, 0x00007480,
- 0x02000080, 0x000000e4, 0x02eb3000, 0x00009980, 0x29400000, 0x0000f900,
- 0x00008000, 0x00000980, 0x1dc00000, 0x00006180, 0x0d001c04, 0x0000e006,
- 0x000018a5, 0x0000e106, 0x00001877, 0x0000b106, 0x1d001000, 0x00007900,
- 0x00014000, 0x00008980, 0x1d682000, 0x0000f900, 0x00004280, 0x00000980,
- 0xc32020a5, 0x0000e004, 0xc0001877, 0x00003006, 0x1d801002, 0x00006100,
- 0x1e000080, 0x0000c980, 0x1e400000, 0x000007e8, 0x1ec00000, 0x000087f0,
- 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000, 0x000008c8,
- 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8, 0x00000001, 0x00007480,
- 0x21c00000, 0x00000ad8, 0x29000702, 0x00008a9c, 0x21000000, 0x000088d4,
- 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000, 0x000088ec,
- 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000, 0x000089c4,
- 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000, 0x000089dc,
- 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x27000000, 0x000089f4,
- 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000, 0x00008acc,
- 0x29000000, 0x00008ad4, 0x29800000, 0x00008adc, 0x2a000000, 0x00008ae4,
- 0x2a800000, 0x00008aec, 0x01000000, 0x000080d4, 0x01800000, 0x000080dc,
- 0x02000000, 0x000080e4, 0x02c00000, 0x000080e8, 0x03609c31, 0x00004388,
- 0x00a09c31, 0x00000098, 0x0a007431, 0x00004388, 0x00a07431, 0x00000098,
- 0x0a006431, 0x00004488, 0x2ea06431, 0x00009498, 0xd8c05c31, 0x0000f88b,
- 0x52400000, 0x00002881, 0x18a07c31, 0x00004788, 0x0fc0bc31, 0x00000f8e,
- 0x0480bc31, 0x0000c198, 0x00a0ac31, 0x00008088, 0x18a0ac31, 0x0000cab0,
- 0x0d00cc31, 0x00008c8f, 0xffffffff, 0x00007f86, 0x0000cc31, 0x00009583,
- 0x2703606c, 0x0000e128, 0x2743686d, 0x00004928, 0x27c3786f, 0x0000e128,
- 0x2783706e, 0x00004928, 0x00005050, 0x0000f028, 0x0a80d431, 0x0000f892,
- 0x82800000, 0x0000a882, 0x80000247, 0x00006582, 0x03408346, 0x00008880,
- 0x04006a46, 0x00006300, 0x07400000, 0x00008980, 0x03408344, 0x0000e080,
- 0x03003000, 0x0000c981, 0x04806a44, 0x00006300, 0x8000100c, 0x00002487,
- 0x03400000, 0x0000e180, 0xc45a2b45, 0x0000c900, 0x83400800, 0x00006188,
- 0x84522a45, 0x00004900, 0xc0000747, 0x00006583, 0x0d40804c, 0x00000780,
- 0x83800001, 0x00006188, 0x83b6e810, 0x00004990, 0xc0000747, 0x00006583,
- 0xf7e0680c, 0x0000a001, 0x07400800, 0x0000e189, 0x0d97284c, 0x0000c200,
- 0x05400000, 0x00007900, 0x00204000, 0x00008980, 0x0000041d, 0x00006583,
- 0x0a008048, 0x00008780, 0x034c3000, 0x00007900, 0x00028280, 0x00008980,
- 0x09172848, 0x0000e200, 0xf7e0e80d, 0x0000a001, 0x00004f8d, 0x00007208,
- 0x8662390e, 0x00000114, 0x0d41b035, 0x00006000, 0xe000081b, 0x00002400,
- 0x0d403035, 0x0000e080, 0xc6a80008, 0x00008980, 0xc7003000, 0x0000e180,
- 0x0d414035, 0x0000c000, 0x077a474c, 0x00008138, 0x00004fad, 0x00007400,
- 0xc6c00000, 0x00006180, 0x86aa8d51, 0x00004901, 0x0d412035, 0x00006000,
- 0xc7228c51, 0x00000901, 0x0d41b035, 0x00006000, 0x0000001a, 0x00002606,
- 0x0d403035, 0x0000e080, 0xc000301a, 0x00002407, 0x0d41ab4d, 0x00006000,
- 0x86f00000, 0x00000980, 0x0d41aa4d, 0x0000e000, 0x0002801a, 0x0000a206,
- 0x0d41ab4e, 0x00006000, 0x0702604c, 0x00008900, 0x0d41aa4e, 0x0000e000,
- 0x0742684d, 0x00000900, 0x0d41ab4f, 0x0000e000, 0x0782704e, 0x00000900,
- 0x0d41aa4f, 0x00006000, 0x07c2784f, 0x00008900, 0x0d414035, 0x00006000,
- 0x08024048, 0x00008900, 0x0d412035, 0x00006000, 0x08424849, 0x00000900,
- 0x0d41ab49, 0x0000e000, 0x0882504a, 0x00000900, 0x0d41aa49, 0x00006000,
- 0x08c2584b, 0x00008900, 0x06e28c51, 0x00006101, 0x0d41ab4a, 0x00004000,
- 0x0d41aa4a, 0x00009000, 0x00004fad, 0x00007400, 0x0d41ab4b, 0x00009000,
- 0x0d41aa4b, 0x00001000, 0x0d572835, 0x00001200, 0x0d41a824, 0x00009000,
- 0x09008035, 0x00001780, 0x00000024, 0x00009582, 0x83b05000, 0x0000e188,
- 0x891a8b51, 0x0000c908, 0xc9129252, 0x00006108, 0x0a000000, 0x0000c988,
- 0x00004fab, 0x00007010, 0x8d400e47, 0x00006283, 0x000000a5, 0x0000a584,
- 0x0b004000, 0x00006191, 0x0b002800, 0x0000c989, 0xca11aa35, 0x0000e100,
- 0x000000a9, 0x00006584, 0x05800e47, 0x0000e281, 0xc7216027, 0x0000a007,
- 0x4b380000, 0x00000ad5, 0x8001b02c, 0x00007902, 0x0d400000, 0x00008604,
- 0xea400000, 0x00006180, 0x0d001c2c, 0x0000e006, 0x8d400e47, 0x00006283,
- 0x000018a5, 0x00002106, 0x05800c16, 0x0000e481, 0x000018a9, 0x00002106,
- 0x0a405000, 0x0000f910, 0x00004042, 0x00000980, 0x40000563, 0x00006583,
- 0x0b003c2c, 0x00008281, 0xf3e0b00e, 0x0000e000, 0xa00000aa, 0x00003483,
- 0xc32160a5, 0x0000e004, 0xc32160a9, 0x0000b004, 0x29000702, 0x00000a98,
- 0x29c00000, 0x0000e180, 0x2a001002, 0x00004900, 0x2ac00000, 0x0000e180,
- 0x0d400000, 0x0000c988, 0x0d400800, 0x00006190, 0x85800000, 0x00004980,
- 0x0002c05a, 0x00009502, 0x0000005b, 0x00001582, 0x00000435, 0x00009583,
- 0x00004fe7, 0x0000f010, 0x00004fe7, 0x0000f008, 0x00004fe1, 0x0000f008,
- 0x0d401353, 0x00001880, 0x0d41aa64, 0x00009000, 0x0d530035, 0x00007900,
- 0x0000003a, 0x00008c80, 0x00004ff4, 0x00007400, 0xffffffff, 0x00007f86,
- 0x0d48c035, 0x00001d80, 0x00072861, 0x00001502, 0x00004ff4, 0x00007400,
- 0x0d7ff865, 0x0000f908, 0x0000fffe, 0x00008280, 0x0d7ff861, 0x00007910,
- 0x0000fffe, 0x00008280, 0x00072862, 0x00001502, 0x0d401353, 0x00009888,
- 0x0d41aa64, 0x00001008, 0x0d7b1835, 0x00001808, 0x0d530035, 0x0000f908,
- 0x0000003a, 0x00008c80, 0x0d7ff862, 0x00007910, 0x0000fffe, 0x00008280,
- 0xffffffff, 0x00007f86, 0x0d48c035, 0x00009d88, 0xffffffff, 0x00007f86,
- 0x0d7ff835, 0x0000f908, 0x0000fffe, 0x00008280, 0x80000247, 0x00009582,
- 0x0001a8aa, 0x00006b02, 0x0d400000, 0x00009990, 0x00004ffc, 0x0000f008,
- 0x4ffb1095, 0x00007500, 0x0cc23c35, 0x0000e804, 0x0d81a835, 0x00009900,
- 0x85a1b436, 0x00001901, 0xc0000319, 0x00007900, 0x00000002, 0x00008582,
- 0x8b002441, 0x0000e080, 0x040238a1, 0x00006000, 0x2702b857, 0x0000e100,
- 0x144320a1, 0x0000e000, 0x277aef5b, 0x00000938, 0x27c2975e, 0x00000a02,
- 0x00005009, 0x0000f410, 0x681a9e69, 0x00000a01, 0x8b003a2c, 0x00009080,
- 0x0400e81e, 0x0000f812, 0x6a800000, 0x00002880, 0x02011f1f, 0x0000c410,
- 0x20a1171e, 0x00009410, 0x02010f1d, 0x00004910, 0x20a1071c, 0x00009410,
- 0x0d001000, 0x00009981, 0xffffffff, 0x00007f86, 0x00005011, 0x0000f000,
- 0x0d000800, 0x00009981, 0x50144e77, 0x0000f300, 0x0e400800, 0x0000e180,
- 0x0021a02d, 0x0000e002, 0x00005050, 0x00007200, 0x001148ec, 0x0000d780,
- 0x00007000, 0x00000080, 0x50504e64, 0x0000f100, 0x00005050, 0x0000f000,
- 0x50504e67, 0x0000f100, 0x00005050, 0x0000f000, 0x00005025, 0x0000f200,
- 0x0e401000, 0x00009980, 0x501e4f1c, 0x00007100, 0x501f4f11, 0x00007100,
- 0x0000504d, 0x00007400, 0x001008ec, 0x0000d780, 0x00d07740, 0x000082c0,
- 0x000948ec, 0x0000d780, 0x00007000, 0x00000080, 0x0e401000, 0x00009980,
- 0x50264e77, 0x0000f100, 0x00005050, 0x00007200, 0x2703606c, 0x00009900,
- 0x50504eac, 0x00007100, 0x00005050, 0x0000f000, 0x01000000, 0x00007900,
- 0x00014040, 0x00000980, 0x03d86800, 0x00007900, 0x002be266, 0x00008980,
- 0x04b82800, 0x00007900, 0x00280a2c, 0x00000980, 0x01c18030, 0x00006100,
- 0x08001a09, 0x0000e106, 0x01800731, 0x000080a8, 0x50370fe7, 0x00007500,
- 0x82600500, 0x00008026, 0x81002800, 0x00006180, 0x03001002, 0x0000c900,
- 0x0000503d, 0x0000f400, 0x5d00b000, 0x0000e181, 0xc000087a, 0x00006407,
- 0x1ec33000, 0x00009981, 0x00007c31, 0x00001583, 0x5d00b000, 0x00001989,
- 0x25c00000, 0x000088c8, 0x20c00000, 0x0000e180, 0x00001897, 0x00006106,
- 0x20001000, 0x0000f900, 0x00015e00, 0x00008980, 0x25009000, 0x00007900,
- 0x000170c0, 0x00008980, 0x25402000, 0x00007900, 0x0001c008, 0x00008980,
- 0x0000e8ec, 0x0000d780, 0x00007003, 0x00000080, 0x20401002, 0x0000e100,
- 0xc0001897, 0x0000e006, 0x25a81402, 0x00008918, 0x26398f30, 0x00000924,
- 0x26f99733, 0x00000928, 0x504e4ebd, 0x00007100, 0x008806ec, 0x00005f80,
- 0x00c868c0, 0x000004c4, 0x1d460000, 0x00007900, 0x00002400, 0x00008980,
- 0x1dc00000, 0x00006180, 0x0401a075, 0x0000e006, 0x1d000800, 0x00007900,
- 0x00080000, 0x00000980, 0x1d800000, 0x00007900, 0x00002000, 0x00000980,
- 0x1f000000, 0x00007900, 0x00004000, 0x00000980, 0x1f848000, 0x0000f900,
- 0x000080c0, 0x00000980, 0x1e101001, 0x0000e180, 0x413f1075, 0x0000e002,
- 0x1e400000, 0x000007e8, 0x1ec00000, 0x00006180, 0x1f500001, 0x00004980,
- 0x1fc00000, 0x00009980, 0x0ec05c31, 0x0000f892, 0xba800000, 0x00002881,
- 0x01400000, 0x00006180, 0x02007d30, 0x0000c281, 0x0ec00000, 0x0000e180,
- 0x04019805, 0x0000e006, 0x00006408, 0x0000e583, 0x4601a805, 0x0000a002,
- 0x0000183b, 0x00006106, 0x6601a805, 0x00003000, 0x0e001000, 0x0000f900,
- 0x00014000, 0x00008980, 0x0e682000, 0x00007900, 0x00004040, 0x00008980,
- 0xc000183b, 0x0000e006, 0x7601a805, 0x0000b000, 0x0104000a, 0x00006180,
- 0x01800000, 0x00004980, 0x01c00000, 0x0000e180, 0x0e801002, 0x0000c900,
- 0x0f000000, 0x000083f4, 0x0f800000, 0x000083fc, 0x10000000, 0x000084c4,
- 0x10800000, 0x000084cc, 0x11000000, 0x000084d4, 0x11800000, 0x000084dc,
- 0x00005090, 0x0000f408, 0x12000000, 0x000084e4, 0x12800000, 0x000084ec,
- 0x02004430, 0x0000e283, 0x0f58003d, 0x00008380, 0x02000800, 0x00006191,
- 0x02001000, 0x00004989, 0x91398730, 0x0000e101, 0xc000183d, 0x0000e402,
- 0xd1218c31, 0x00006101, 0x4120403c, 0x0000e002, 0x02001430, 0x0000e283,
- 0x92f18630, 0x00000901, 0x92998b31, 0x00006110, 0xe000083d, 0x00006412,
- 0x12019032, 0x00006110, 0x4000083d, 0x0000e413, 0xcf698d31, 0x00009901,
- 0x00880eec, 0x0000df80, 0x00d07380, 0x000082c4, 0x42008530, 0x00001283,
- 0x92998330, 0x00006110, 0xe000083d, 0x00006412, 0x42010530, 0x00001283,
- 0x6000083c, 0x0000ec12, 0x00880eec, 0x0000df80, 0x00d07380, 0x000082c4,
- 0x03800e54, 0x00006281, 0x02000000, 0x00000980, 0x02400000, 0x000000e8,
- 0x83000e54, 0x0000e283, 0x02c00000, 0x00000980, 0x0000000d, 0x00001582,
- 0xffffffff, 0x00007f86, 0x000050a5, 0x00007010, 0x000050a3, 0x00007008,
- 0x02c06479, 0x00009281, 0x0000640b, 0x00001583, 0x02002008, 0x00001388,
- 0xffffffff, 0x00007f86, 0x02000808, 0x00009380, 0x83400a6c, 0x00006780,
- 0x71e07008, 0x00002000, 0x00000001, 0x00007480, 0xc723980a, 0x00006007,
- 0x04238008, 0x0000b083, 0x42c3330d, 0x000000ae, 0x82000fe2, 0x00009880,
- 0x50af0c97, 0x00007500, 0x50e02e08, 0x0000a081, 0x50e82e08, 0x00002081,
- 0x01400000, 0x0000f900, 0x001f0000, 0x00000980, 0x82040000, 0x0000e180,
- 0x0c02a409, 0x00006000, 0x800002ac, 0x00006582, 0x81536208, 0x00008100,
- 0x01000800, 0x0000f900, 0x00200000, 0x00000980, 0x20382eec, 0x0000d600,
- 0x003a9800, 0x00008000, 0x02000c09, 0x00006481, 0x01400000, 0x00008980,
- 0x10604004, 0x0000e000, 0x06056805, 0x0000b006, 0x01040004, 0x0000e388,
- 0x46056805, 0x00002002, 0x00000409, 0x00006583, 0x66056805, 0x00002000,
- 0x02000000, 0x0000e191, 0x08022c08, 0x0000600a, 0xc3209004, 0x00006006,
- 0x76056805, 0x00003000, 0xc7204004, 0x00006003, 0x04136005, 0x00003185,
- 0x50ca5097, 0x00007500, 0x01800000, 0x000080dc, 0x03400000, 0x00009980,
- 0x56806c44, 0x0000f902, 0x03000000, 0x00000000, 0x001008ec, 0x0000d780,
- 0x00007000, 0x00000080, 0x56807a44, 0x00007902, 0x03800000, 0x00008000,
- 0x0010c8ec, 0x0000d780, 0x00007000, 0x00000080, 0x00000412, 0x00006583,
- 0x0400226c, 0x00000080, 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080,
- 0x00000473, 0x0000e583, 0x84404000, 0x00008980, 0x000910ec, 0x0000d790,
- 0x00007000, 0x00000080, 0x0340080d, 0x0000e082, 0x82238211, 0x0000a086,
- 0x03c07810, 0x00006002, 0x0300000c, 0x00000084, 0x56b86c44, 0x00005000,
- 0x00386000, 0x00008000, 0x83001654, 0x0000e283, 0x0380000e, 0x00000084,
- 0x003088ec, 0x0000d702, 0x00007000, 0x00000080, 0x56b87a44, 0x0000d000,
- 0x00387000, 0x00000000, 0x000050ef, 0x0000f008, 0x7fc01400, 0x000000c2,
- 0xc0c04000, 0x0000e180, 0xa0000000, 0x0000e400, 0x00400000, 0x00007900,
- 0x00008190, 0x00008980, 0xc0004800, 0x00009981, 0x008806ec, 0x00005f80,
- 0x00c868c0, 0x0000048c, 0x7fc01400, 0x000000c2, 0x004000c0, 0x0000e180,
- 0xa0000000, 0x0000e400, 0xc0200401, 0x000000cd, 0x008806ec, 0x00005f80,
- 0x00006800, 0x00008084, 0x81000e54, 0x00009283, 0x84400fe2, 0x00009888,
- 0x50e02611, 0x00002089, 0x00005123, 0x00007010, 0x50fb0bc8, 0x00007300,
- 0x50e82611, 0x00002081, 0x01400000, 0x0000f900, 0x001f0000, 0x00000980,
- 0x84440000, 0x00006180, 0x0c02a409, 0x00006000, 0x81536211, 0x00006100,
- 0x02000c09, 0x00000481, 0x01000800, 0x0000f900, 0x00200000, 0x00000980,
- 0x20382eec, 0x0000d600, 0x003a9800, 0x00008000, 0x01400000, 0x00006180,
- 0x10604004, 0x0000e000, 0x800002ac, 0x00006582, 0x06056805, 0x00002006,
- 0x01040004, 0x0000e388, 0x46056805, 0x00002002, 0x00000409, 0x00006583,
- 0x66056805, 0x00002000, 0x02000000, 0x0000e191, 0x08022c08, 0x0000600a,
- 0xc3206004, 0x00006006, 0x76056805, 0x00003000, 0xc7204004, 0x00006003,
- 0x04136005, 0x00003185, 0x51165097, 0x00007500, 0x01800000, 0x000080dc,
- 0x03400800, 0x00001980, 0x83000e54, 0x00001283, 0x001008ec, 0x0000d780,
- 0x00007000, 0x00000080, 0x0000513d, 0x0000f009, 0x0000040c, 0x00006583,
- 0xffc00000, 0x00008980, 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080,
- 0x00000473, 0x00001583, 0x000910ec, 0x0000d790, 0x00007000, 0x00000080,
- 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x51240c68, 0x00007100,
- 0x01400000, 0x00006180, 0x0c02a409, 0x00006000, 0x01000800, 0x0000f900,
- 0x00200000, 0x00000980, 0x02000c09, 0x00006481, 0x06056805, 0x00002006,
- 0x800002ac, 0x00006582, 0x10604004, 0x00002000, 0x01040004, 0x0000e388,
- 0x46056805, 0x00002002, 0x00000409, 0x00006583, 0x66056805, 0x00002000,
- 0x02000000, 0x0000e191, 0x08022c08, 0x0000600a, 0xc3206004, 0x00006006,
- 0x76056805, 0x00003000, 0xc7204004, 0x00006003, 0x04136005, 0x00003185,
- 0x51395097, 0x0000f500, 0x01800000, 0x000080dc, 0x03400800, 0x00001980,
- 0x83000e54, 0x00001283, 0x001008ec, 0x0000d780, 0x00007000, 0x00000080,
- 0x0000511a, 0x0000f011, 0x56807444, 0x0000f902, 0x03400000, 0x00008000,
- 0x56808244, 0x0000f902, 0x03c00000, 0x00000000, 0xffc00000, 0x00006180,
- 0x0440226c, 0x00004080, 0x0010c8ec, 0x0000d780, 0x00007000, 0x00000080,
- 0x0380080e, 0x00001082, 0x04008011, 0x0000e002, 0x0340000d, 0x00000084,
- 0x00000470, 0x0000e583, 0x03c0000f, 0x00000084, 0x000040ec, 0x0000d790,
- 0x00007002, 0x00008080, 0x0000040c, 0x00009583, 0x0018e8ec, 0x00005790,
- 0x00007000, 0x00000080, 0x00000473, 0x00001583, 0x56b87444, 0x00005000,
- 0x00386800, 0x00000000, 0x56b88244, 0x00005000, 0x00387800, 0x00008000,
- 0x000910ec, 0x0000d790, 0x00007000, 0x00000080, 0x008006ec, 0x0000df80,
- 0x00000000, 0x00000084, 0x81002654, 0x00009283, 0x515a50f5, 0x00007113,
- 0x515b50ab, 0x0000f100, 0x800002ac, 0x00006582, 0x03c00000, 0x00008980,
- 0x08001a10, 0x00006106, 0x0000100f, 0x0000b413, 0x03580000, 0x0000e180,
- 0x0380a060, 0x0000c980, 0x00000001, 0x00007480, 0x03000000, 0x0000f900,
- 0x00008000, 0x00000980, 0x83d562ac, 0x0000e110, 0x0410800d, 0x00006101,
- 0xc000032d, 0x0000f900, 0x00000002, 0x00008582, 0xd11a5b4b, 0x0000e100,
- 0x86000fe2, 0x00004880, 0x50e02618, 0x0000a081, 0x0000516f, 0x00007210,
- 0x50e82618, 0x00002081, 0x5d818832, 0x00007812, 0x9a800000, 0x0000a88b,
- 0x2ec1bf33, 0x0000c410, 0xeca1b732, 0x00009412, 0x2ec1af31, 0x00004910,
- 0xeca1a730, 0x00009412, 0x01401000, 0x00001981, 0xffffffff, 0x00007f86,
- 0x00005177, 0x00007000, 0x01400800, 0x00001981, 0xc0001000, 0x00006181,
- 0x00202845, 0x0000e002, 0x517d0bc8, 0x00007500, 0x00400000, 0x00007900,
- 0x00008190, 0x00008980, 0xc0c00801, 0x00001980, 0x01460000, 0x00006180,
- 0x0715626c, 0x00004000, 0x01001800, 0x0000e180, 0x04024805, 0x00006006,
- 0x0000040c, 0x00006583, 0x46056805, 0x00002002, 0x0600a01c, 0x00006080,
- 0xc3206004, 0x0000a006, 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080,
- 0x02182800, 0x0000e180, 0x0410c005, 0x00006185, 0x02800000, 0x00006180,
- 0x02eb3000, 0x0000c980, 0x00000473, 0x0000e583, 0x86000a6c, 0x00008780,
- 0xc7022804, 0x0000e003, 0x04238008, 0x0000b083, 0x01800000, 0x00006180,
- 0xc723980a, 0x00006007, 0x000910ec, 0x0000d790, 0x00007000, 0x00000080,
- 0x5196515b, 0x00007500, 0x01c00000, 0x000080e4, 0xc2e0c418, 0x00009901,
- 0x06400000, 0x00007900, 0x001f0000, 0x00000980, 0x86040000, 0x00006180,
- 0x0700c01c, 0x00004080, 0x86536218, 0x0000e100, 0x04028050, 0x00008900,
- 0x2038ceec, 0x00005600, 0x003a4800, 0x00000000, 0x5680cc44, 0x0000f902,
- 0x06000000, 0x00000000, 0x5680da44, 0x00007902, 0x06800000, 0x00008000,
- 0x047a9751, 0x00000108, 0x04faa753, 0x00000110, 0x06400819, 0x0000e082,
- 0x0542a855, 0x00008900, 0x06000018, 0x00006084, 0x0582b056, 0x00008900,
- 0x06c0d81c, 0x00006002, 0x05c2b857, 0x00000900, 0x00000470, 0x0000e583,
- 0x0680001a, 0x00000084, 0x000040ec, 0x0000d790, 0x00007002, 0x00008080,
- 0x56b8cc44, 0x00005000, 0x0038c000, 0x00008000, 0x56b8da44, 0x0000d000,
- 0x0038d000, 0x00000000, 0x000808ec, 0x0000d780, 0x00d07641, 0x00000180,
- 0x008806ec, 0x00005f80, 0x00c86c40, 0x000080c4, 0x000e4a22, 0x51b6102e,
- 0x0000f004, 0x000000d0, 0x001e10be, 0x00123927, 0x001e3870, 0x001e38db,
- 0x001e0d61, 0x001e55f9, 0x001e176d, 0x001e0f43, 0x001e0fa9, 0x001e0f28,
- 0x001e13be, 0x001e1763, 0x001e0f76, 0x00000090, 0x0000189d, 0x00001cf7,
- 0x00002576, 0x000029d8, 0x00002d6c, 0x0000300d, 0x001e3a7d, 0x001e17cf,
- 0x0000337c, 0x00000020, 0x0002550b, 0x001e5555, 0x00000020, 0x00040002,
- 0x001e02d4, 0x00000020, 0x00040163, 0x0004012a, 0x00000020, 0x00060915,
- 0x0006084b, 0x000000a0, 0x001e0a36, 0x001e07df, 0x0006152b, 0x001e16ef,
- 0x000615d1, 0x00060b4a, 0x000606ec, 0x00060571, 0x00060611, 0x000604ad,
- 0x00000030, 0x000848b5, 0x00084c3b, 0x001e4cfb, 0x00000020, 0x001e4640,
- 0x0012483f, 0x00000020, 0x000a51b8, 0x001e5359, 0x00000060, 0x00124f34,
- 0x001e4ec1, 0x000c5158, 0x000c4d74, 0x00125064, 0x000c5166, 0x00000020,
- 0x80008000, 0x00000000, 0x00000020, 0x00000000, 0x00000082, 0x00000020,
- 0x00000000, 0x00000080, 0x00000020, 0x000012b5, 0x000017c1, 0x00000090,
- 0xffffb569, 0xffffffff, 0x2504ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffffe5, 0xffffffff,
- 0x0018ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffffffff, 0xffffffff, 0x0000ffff, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xffffffe4, 0xffffffff, 0x0010ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffdc0, 0xffffffff,
- 0x0088ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xfffffd82, 0xffffffff, 0x0084ffff, 0x00000000,
+ 0x00001900, 0x1b181000, 0x00007900, 0x0014035e, 0x00000980, 0x1b80580b,
+ 0x00001900, 0xffffffff, 0x00007ff7, 0x82c044ec, 0x0000f902, 0x02400000,
+ 0x00008604, 0xffffffff, 0x00007fa7, 0x02404008, 0x0000e100, 0x00002008,
+ 0x0000e586, 0x02804809, 0x0000e100, 0x04282808, 0x00006087, 0x387d100d,
+ 0x00007500, 0x1b40500a, 0x00006100, 0x86202808, 0x0000e087, 0x1ac04008,
+ 0x00001900, 0x00000c05, 0x00001583, 0x00001c05, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x00003890, 0x0000f008, 0x00003890, 0x0000f008, 0x01f82f04,
+ 0x00000018, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x0399f000,
+ 0x0000f900, 0x0014035e, 0x00000980, 0x03fa9000, 0x0000f900, 0x0016f7fa,
+ 0x00008980, 0x02000000, 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500,
+ 0x00008032, 0x38900f22, 0x00007500, 0x03783f02, 0x00008108, 0x81002800,
+ 0x00006180, 0x02803006, 0x0000c900, 0x03464000, 0x0000f900, 0x00001c00,
+ 0x00000980, 0x0b800000, 0x000082fc, 0x03000800, 0x00007900, 0x00080000,
+ 0x00000980, 0x03800000, 0x00007900, 0x00002000, 0x00000980, 0x05000000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x05838000, 0x0000f900, 0x000080c0,
+ 0x00000980, 0x0b009000, 0x00007900, 0x0000c080, 0x00000980, 0x0b400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x07400000, 0x0000f900, 0x00260000,
+ 0x00000980, 0x413f100d, 0x0000e002, 0xc000182f, 0x0000b006, 0x03c00000,
+ 0x00006180, 0x04001001, 0x0000c980, 0x04400000, 0x000001c8, 0x04c00000,
+ 0x0000e180, 0x05400001, 0x00004980, 0x05c00000, 0x000001e0, 0x06400000,
+ 0x000001e8, 0x06c00000, 0x000081f0, 0x07800000, 0x000081fc, 0x08000000,
+ 0x000082c4, 0x08800000, 0x000082cc, 0x09000000, 0x000082d4, 0x09800000,
+ 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0c382f04,
+ 0x00000304, 0x0cb83f06, 0x0000030c, 0xcb981302, 0x00009900, 0x00901eec,
+ 0x00005f80, 0x00007002, 0x00000084, 0x50b88aec, 0x00002080, 0x43883020,
+ 0x00002080, 0xffffffff, 0x00007f97, 0x03c00811, 0x00009282, 0x04c00000,
+ 0x00006190, 0x01800000, 0x00004991, 0x04000d06, 0x00006291, 0x04401d06,
+ 0x00000291, 0x00000001, 0x00007088, 0x85400a13, 0x00001880, 0x8b807815,
+ 0x00007902, 0x05000000, 0x00008004, 0xffffffff, 0x00007fa7, 0x8011020f,
+ 0x00001502, 0x50b8aaec, 0x0000a008, 0x00003900, 0x0000f011, 0xffffffff,
+ 0x00007f86, 0x00000015, 0x00001582, 0x05800000, 0x0000e189, 0x05400800,
+ 0x00004989, 0x000038d1, 0x00007009, 0x00000815, 0x00009582, 0x05a08410,
+ 0x00006109, 0x05401000, 0x00004989, 0x05402000, 0x00006191, 0x05a08c11,
+ 0x00004911, 0x50b878ec, 0x00002000, 0xffffffff, 0x00007fa7, 0x0000180f,
+ 0x00009582, 0x01804000, 0x0000e191, 0x01808000, 0x0000c989, 0x03c00000,
+ 0x00001980, 0x03c04416, 0x00001081, 0x38db3ef9, 0x0000f500, 0x8220980f,
+ 0x00006886, 0x1880780f, 0x00001900, 0x05a0ac16, 0x00009001, 0x00203416,
+ 0x00001503, 0x03c01000, 0x000019a0, 0x43e09c13, 0x00001921, 0x000038d6,
+ 0x0000f028, 0x38e23ef9, 0x0000f300, 0x1880780f, 0x00001900, 0x03c00800,
+ 0x00009980, 0x38e63ef9, 0x00007500, 0x8220980f, 0x00006886, 0x1880780f,
+ 0x00001900, 0x03c02000, 0x00009980, 0x38ea3ef9, 0x00007500, 0x8220980f,
+ 0x00006886, 0x1880780f, 0x00001900, 0x03c01800, 0x00001980, 0x38ee3ef9,
+ 0x0000f500, 0x8220980f, 0x00006886, 0x1880780f, 0x00001900, 0x03c00000,
+ 0x00001980, 0x38f23ef9, 0x00007500, 0x8220980f, 0x00006886, 0x1880780f,
+ 0x00001900, 0x03c02800, 0x00001980, 0x38f63ef9, 0x0000f500, 0x8220980f,
+ 0x00006886, 0x1880780f, 0x00001900, 0x03c03000, 0x00001980, 0x38fa3ef9,
+ 0x0000f500, 0x8220980f, 0x00006886, 0x1880780f, 0x00001900, 0x80000214,
+ 0x00009582, 0x05409813, 0x00009910, 0x38fd4240, 0x0000f111, 0x38ff4511,
+ 0x0000f300, 0x03e09c13, 0x00001901, 0x01800800, 0x00001981, 0x04c00813,
+ 0x00009080, 0x00068013, 0x00009582, 0x000038c0, 0x0000f013, 0x00000406,
+ 0x00009583, 0x00000001, 0x0000708b, 0x00004554, 0x0000f000, 0x03319800,
+ 0x0000f900, 0x001529ac, 0x00008980, 0x390c4572, 0x00007500, 0x02f9bf36,
+ 0x00000028, 0x02000800, 0x00006180, 0x02623c47, 0x0000c900, 0x0d386f0c,
+ 0x00000314, 0x0db87f0e, 0x0000031c, 0x02782705, 0x00000020, 0x22600610,
+ 0x00004489, 0x8a603c35, 0x00008e92, 0x06800d09, 0x0000458c, 0x03400610,
+ 0x00008195, 0x1bc1a034, 0x0000e100, 0x0021a806, 0x00006086, 0x8229a806,
+ 0x00006886, 0x0419a806, 0x0000e987, 0x02803006, 0x00009900, 0x1b3c1800,
+ 0x0000f900, 0x003ad2b6, 0x00000980, 0x82c02cec, 0x00007902, 0x01000000,
+ 0x00000604, 0x1b80500a, 0x00001900, 0xffffffff, 0x00007f97, 0x01802805,
+ 0x0000e100, 0x00002004, 0x0000e586, 0x1b403006, 0x00006100, 0x0429a804,
+ 0x00006087, 0x3925100d, 0x00007500, 0x8621a804, 0x00006887, 0x1ac02004,
+ 0x00001900, 0x00003c35, 0x00001583, 0x41000d09, 0x00001283, 0x80000610,
+ 0x00001583, 0x00003945, 0x0000f010, 0x00003945, 0x0000f008, 0x00003945,
+ 0x0000f010, 0x10c00000, 0x0000e180, 0x01c00040, 0x00004980, 0x0d001c14,
+ 0x00006006, 0x00001843, 0x00003106, 0x11800000, 0x0000e180, 0x00001807,
+ 0x00006106, 0x10001000, 0x0000f900, 0x00008000, 0x00000980, 0x10580800,
+ 0x00007900, 0x00044000, 0x00008980, 0x01001000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x01400000, 0x0000f900, 0x00040050, 0x00000980, 0xc0001843,
+ 0x0000e006, 0xc320a007, 0x00003006, 0x10801002, 0x0000e100, 0x11080008,
+ 0x00004980, 0x11422000, 0x0000e180, 0x11d9ab35, 0x0000c900, 0x01801002,
+ 0x0000e100, 0x0f240004, 0x0000c980, 0x0f4000c8, 0x000083f8, 0x91800110,
+ 0x000083bc, 0x00880eec, 0x0000df80, 0x00d06bc0, 0x000001c4, 0x0e000000,
+ 0x000083e4, 0x0ec00000, 0x000083e8, 0x00403435, 0x00004589, 0x06803c35,
+ 0x0000088b, 0x394c13be, 0x0000f404, 0x11f9bf36, 0x00000424, 0x12009e00,
+ 0x00009980, 0x00000447, 0x00009583, 0x853f1fe3, 0x00009908, 0x4380a014,
+ 0x0000a088, 0x00003955, 0x00007010, 0xffffffff, 0x00007f97, 0x05003c14,
+ 0x00001281, 0x05001414, 0x00001181, 0x00000c14, 0x00001583, 0x00003956,
+ 0x0000f01b, 0x39563906, 0x00007100, 0x30009a4b, 0x00007902, 0x04800000,
+ 0x00000000, 0x30388c4b, 0x00002080, 0x3078804b, 0x0000a080, 0xffffffff,
+ 0x00007f86, 0x85000f13, 0x00009880, 0x8b783e14, 0x00002084, 0x8bb82814,
+ 0x0000a084, 0xffffffff, 0x00007f97, 0x00000407, 0x00001583, 0x01800000,
+ 0x0000e188, 0xc3300600, 0x0000c909, 0x01b89f13, 0x0000e109, 0x83280500,
+ 0x00004909, 0x00003971, 0x00007010, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x03b37000, 0x0000f900, 0x001529ac, 0x00008980, 0x03ddd000,
+ 0x00007900, 0x002e1f28, 0x00000980, 0x03401002, 0x00006100, 0x08001a0c,
+ 0x0000e106, 0x04b9af34, 0x00008028, 0x81005000, 0x00006180, 0x02003006,
+ 0x00004900, 0x39710f22, 0x00007100, 0x02400000, 0x000000f0, 0x42400012,
+ 0x000000a8, 0x02c00000, 0x0000e180, 0x81408809, 0x0000e000, 0x03400000,
+ 0x000000f8, 0xc1400b05, 0x00006080, 0x830026e3, 0x00008880, 0x8bb82814,
+ 0x00002884, 0x03c00000, 0x00006180, 0x02389f13, 0x0000c901, 0x82089913,
+ 0x00000021, 0x82802512, 0x0000e080, 0xc2508210, 0x0000c900, 0x82c00f13,
+ 0x00006080, 0x83800a10, 0x00004880, 0x83371ee3, 0x00006100, 0x83771a0c,
+ 0x00004100, 0x01c00040, 0x00006180, 0x0c800000, 0x0000c980, 0x04464000,
+ 0x00007900, 0x00002000, 0x00000980, 0x0cc00000, 0x00006180, 0x00001807,
+ 0x00006106, 0x01001000, 0x0000f900, 0x0000c000, 0x00008980, 0x01400000,
+ 0x0000f900, 0x00048050, 0x00008980, 0x04000800, 0x0000f900, 0x00080000,
+ 0x00000980, 0x04800000, 0x0000f900, 0x00002000, 0x00000980, 0x06000000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x06840000, 0x0000f900, 0x000080c0,
+ 0x00000980, 0x08400000, 0x0000f900, 0x00260000, 0x00000980, 0x0c009000,
+ 0x0000f900, 0x00010500, 0x00000980, 0x0c400000, 0x00007900, 0x00010000,
+ 0x00000980, 0x00001838, 0x00006106, 0x413f1011, 0x00003002, 0xc0001807,
+ 0x0000e006, 0xc0001833, 0x00003006, 0x01800702, 0x0000018c, 0x05081001,
+ 0x0000e180, 0x05400000, 0x0000c980, 0x05800000, 0x000081dc, 0x06480001,
+ 0x0000e180, 0x06c00000, 0x00004980, 0x07000000, 0x000081f4, 0x07800000,
+ 0x000081fc, 0x08000000, 0x000082c8, 0x08c00000, 0x000082d0, 0x09400000,
+ 0x000002d8, 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000,
+ 0x000082f0, 0x0b400000, 0x000002f8, 0x0c800502, 0x000002bc, 0x00980eec,
+ 0x00005f80, 0x00d06900, 0x000005c4, 0x8b784e07, 0x00002084, 0x8bb82807,
+ 0x00002084, 0xffffffff, 0x00007f97, 0x00000c09, 0x00001583, 0x01800000,
+ 0x0000e190, 0xc3300600, 0x0000c911, 0x01a04408, 0x0000e111, 0x41a04c09,
+ 0x00004911, 0x000039c5, 0x00007008, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x038f6000, 0x00007900, 0x001529ae, 0x00000980, 0x03ddd000,
+ 0x00007900, 0x002e1f28, 0x00000980, 0x83280500, 0x0000e101, 0x08001a0c,
+ 0x0000e106, 0x0379a702, 0x00008108, 0x00003970, 0x0000f400, 0x02b83735,
+ 0x00008020, 0x81005000, 0x00001980, 0xc1400b05, 0x0000e180, 0x02000000,
+ 0x00000980, 0x8bb82807, 0x0000a884, 0x02400000, 0x000000e8, 0x02c00000,
+ 0x000080f0, 0x00003982, 0x00007400, 0x03400000, 0x000000f8, 0x03c00000,
+ 0x00001980, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x038d4000,
+ 0x00007900, 0x001529ac, 0x00008980, 0x03fa9000, 0x0000f900, 0x0016f7fa,
+ 0x00008980, 0x02000000, 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500,
+ 0x00008032, 0x00003970, 0x0000f400, 0x0379a702, 0x00008108, 0x81002800,
+ 0x00006180, 0x0281a835, 0x0000c900, 0x03383f08, 0x0000802c, 0x39de4572,
+ 0x00007500, 0x02b82f06, 0x00000024, 0x02000000, 0x00009980, 0x83000000,
+ 0x0000e180, 0x0020280f, 0x00006086, 0x1bc02004, 0x0000e100, 0x8228280f,
+ 0x0000e086, 0x0418280f, 0x0000e987, 0x0500780f, 0x00009900, 0x1b151800,
+ 0x00007900, 0x0001fc84, 0x00000980, 0x1b80a014, 0x00001900, 0xffffffff,
+ 0x00007ff7, 0x82c074ec, 0x0000f902, 0x03400000, 0x00000604, 0xffffffff,
+ 0x00007fa7, 0x03c0700e, 0x0000e100, 0x0000200d, 0x0000e586, 0x1b40780f,
+ 0x00006100, 0x0428280d, 0x00006087, 0x39f2100d, 0x00007500, 0x8620280d,
+ 0x00006887, 0x1ac0680d, 0x00001900, 0x09400000, 0x00007900, 0x00260000,
+ 0x00000980, 0x08000000, 0x000082c4, 0x08800000, 0x000082cc, 0x09000000,
+ 0x000082d8, 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000,
+ 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0, 0x0c400000,
+ 0x000003c8, 0x0cc00000, 0x000083d0, 0x0d400000, 0x000003d8, 0x0dc00000,
+ 0x000004c0, 0x10400000, 0x000004c8, 0x10c00000, 0x0000e180, 0x0e002004,
+ 0x00004900, 0x0e783705, 0x00000328, 0x0ef84707, 0x00008330, 0x0f785709,
+ 0x00000338, 0x0fc0580b, 0x00009900, 0xa2604c05, 0x00004389, 0x00604c05,
+ 0x00000098, 0x78e01c05, 0x00004389, 0x00601c05, 0x00000098, 0x01800c05,
+ 0x0000c588, 0x07c01405, 0x00002f8d, 0x60c02c05, 0x000045b1, 0x2f204405,
+ 0x00002f8c, 0x93a06c05, 0x00004389, 0x00606c05, 0x00008098, 0x40e05c05,
+ 0x00004589, 0x30405c05, 0x0000a2b4, 0xa2c07c05, 0x0000c489, 0x88607c05,
+ 0x00008fa9, 0x1c408405, 0x0000788b, 0x29c00000, 0x00009e88, 0x3a1a13be,
+ 0x0000f404, 0x11f83f06, 0x00000424, 0x12009f00, 0x00001980, 0x00000447,
+ 0x00009583, 0x827f1fe3, 0x00009908, 0x4380c809, 0x00002088, 0x00003a23,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x06003c19, 0x00009281, 0x02401418,
+ 0x00001181, 0x00000c09, 0x00001583, 0x00003a28, 0x0000f01b, 0x021a3000,
+ 0x0000f900, 0x0001fc86, 0x00008980, 0x3a2839da, 0x00007500, 0x01783707,
+ 0x0000001c, 0xc1782847, 0x00008018, 0x3038524b, 0x00002080, 0x30784e4b,
+ 0x00002080, 0x05400000, 0x000081d0, 0x3038444b, 0x00002000, 0x8668550a,
+ 0x0000e100, 0x8568550a, 0x0000c900, 0x4380b819, 0x0000f902, 0x05800000,
+ 0x00008000, 0x30783a4b, 0x0000a000, 0x30406c4b, 0x0000f902, 0x02c00000,
+ 0x00008000, 0x50b832ec, 0x00002080, 0x02403c17, 0x0000e281, 0x0800bc14,
+ 0x00002004, 0x00000c09, 0x0000e583, 0x8560540a, 0x00008901, 0x01000000,
+ 0x0000f910, 0x00014040, 0x00000980, 0x02000000, 0x00006190, 0x81004000,
+ 0x00004990, 0x00003a46, 0x0000f008, 0x039b5800, 0x0000f900, 0x0001fc86,
+ 0x00008980, 0x03c04000, 0x00007900, 0x000d1f66, 0x00008980, 0xc3300600,
+ 0x00006101, 0x08001a0c, 0x0000e106, 0x00003ac7, 0x0000f400, 0x83381400,
+ 0x00008034, 0x02b8af14, 0x00008108, 0x05000001, 0x000080fc, 0x04185014,
+ 0x00006187, 0x0418580f, 0x0000b187, 0x8000060d, 0x0000e583, 0xb2e06814,
+ 0x0000a000, 0xc3286814, 0x0000e000, 0x0018380f, 0x00003196, 0x40000509,
+ 0x00006583, 0xd3706814, 0x00002000, 0x03800000, 0x0000e180, 0xe0000814,
+ 0x0000e412, 0x80000609, 0x00006583, 0x86400c0a, 0x00000880, 0x45040514,
+ 0x0000e391, 0x83a8550a, 0x00000900, 0x4000050b, 0x0000e583, 0x85c00e17,
+ 0x00000081, 0x02401000, 0x0000e191, 0x02403000, 0x00004989, 0x01400806,
+ 0x00009282, 0x8bb87019, 0x00002884, 0x8268550a, 0x00006100, 0x82204814,
+ 0x00006004, 0x8b78a619, 0x00005004, 0x00387800, 0x00008000, 0x00003a81,
+ 0x0000f408, 0x8b800019, 0x0000d004, 0x00400000, 0x00000080, 0x43b8b809,
+ 0x0000d000, 0x0038b000, 0x00000000, 0x01401000, 0x00009980, 0x82205005,
+ 0x0000e886, 0x3a693ef9, 0x00007500, 0x0c004605, 0x00006800, 0x18802805,
+ 0x00001900, 0x01400800, 0x00009980, 0x82205005, 0x0000e886, 0x3a6e3ef9,
+ 0x0000f500, 0x0bc04605, 0x0000e800, 0x18802805, 0x00001900, 0x01402000,
+ 0x00009980, 0x82205005, 0x0000e886, 0x3a733ef9, 0x0000f500, 0x0b804605,
+ 0x00006800, 0x18802805, 0x00001900, 0x01401800, 0x00001980, 0x82205005,
+ 0x0000e886, 0x3a783ef9, 0x00007500, 0x0b404605, 0x00006800, 0x18802805,
+ 0x00001900, 0x01402800, 0x00001980, 0x82205005, 0x0000e886, 0x3a7d3ef9,
+ 0x00007500, 0x0b004605, 0x0000e800, 0x18802805, 0x00001900, 0x01400020,
+ 0x00009980, 0x3a814245, 0x00007500, 0x8160540a, 0x00001900, 0x05002805,
+ 0x00009900, 0x3a824554, 0x00007100, 0x01400000, 0x00001980, 0x3cfe4562,
+ 0x00007500, 0x00205005, 0x0000e886, 0x01c02805, 0x00001900, 0x00003cfe,
+ 0x00007000, 0x02d09824, 0x0000e180, 0x02038000, 0x00004980, 0x3a8c0fb7,
+ 0x00007500, 0x04171008, 0x0000e987, 0x03404008, 0x00001900, 0x00c002ec,
+ 0x0000df80, 0x1394700b, 0x00009684, 0x3a8f13a8, 0x0000f100, 0xffffffff,
+ 0x00007f86, 0x00000447, 0x00009583, 0x827f1fe3, 0x00009908, 0x4380c809,
+ 0x00002088, 0x00003a99, 0x00007010, 0xffffffff, 0x00007f97, 0x06003c19,
+ 0x00009281, 0x02401418, 0x00001181, 0x00000c09, 0x00001583, 0x00003a9e,
+ 0x0000701b, 0x023a6800, 0x0000f900, 0x0001fc86, 0x00008980, 0x3a9e39da,
+ 0x0000f500, 0x01783707, 0x0000001c, 0xc1782847, 0x00008018, 0x867f17e2,
+ 0x0000e100, 0x05400000, 0x0000c980, 0x50b83419, 0x00002080, 0x86400c44,
+ 0x0000e080, 0x41222815, 0x0000e000, 0x85a22444, 0x00006101, 0x003a2015,
+ 0x00006000, 0x8b40c619, 0x00002085, 0x107a5015, 0x00006800, 0x20aa3815,
+ 0x00006800, 0x51723815, 0x00006800, 0x8b402e19, 0x0000a084, 0x60e0c015,
+ 0x0000e800, 0x30fa3815, 0x0000e800, 0x71e24015, 0x0000e800, 0x50b83aec,
+ 0x0000a080, 0x8ba0b019, 0x0000a084, 0x8b58b619, 0x0000a085, 0x8120c015,
+ 0x0000e800, 0x57600405, 0x0000c489, 0x9060074a, 0x00008e95, 0x5b600744,
+ 0x0000c289, 0xa2600445, 0x00000e8d, 0xc3800645, 0x0000f892, 0x01c00001,
+ 0x00000000, 0x65000745, 0x0000c491, 0x96600547, 0x00008e96, 0x14800747,
+ 0x0000c590, 0x0c600748, 0x00008b8f, 0x02000000, 0x0000e180, 0x01000020,
+ 0x00004980, 0x03bd7000, 0x00007900, 0x0001fc86, 0x00008980, 0x81005800,
+ 0x00009980, 0x03ff5800, 0x00007900, 0x001ac0fe, 0x00008980, 0xc1002800,
+ 0x00006181, 0x08001a0c, 0x0000e106, 0x83200500, 0x00008032, 0x0378b702,
+ 0x00008108, 0x0280a815, 0x00009900, 0x3ac80f22, 0x0000f100, 0x00001405,
+ 0x00001583, 0x8b4a5e19, 0x0000a896, 0x02000000, 0x00006188, 0x01000020,
+ 0x0000c988, 0x00003ab3, 0x0000f010, 0x00003ac0, 0x00007400, 0x03be5000,
+ 0x0000f900, 0x0001fc86, 0x00008980, 0x81005800, 0x00009980, 0x00000c05,
+ 0x00001583, 0x01000020, 0x0000e190, 0x86400c44, 0x00004888, 0x8b401619,
+ 0x0000d08e, 0x00400000, 0x00008000, 0x00003ae5, 0x0000f008, 0x00003b6c,
+ 0x0000f400, 0x03bf6000, 0x00007900, 0x0001fc86, 0x00008980, 0x81005800,
+ 0x00009980, 0x00001405, 0x00001583, 0x01000020, 0x0000e190, 0x86400c44,
+ 0x00004888, 0x8b400e19, 0x0000d08e, 0x00400000, 0x00008000, 0x00003ae5,
+ 0x0000f008, 0x00003b6c, 0x0000f400, 0x03805800, 0x0000f900, 0x0001fc88,
+ 0x00000980, 0x81005800, 0x00009980, 0x56a00807, 0x0000448d, 0x0a600606,
+ 0x00008e8e, 0xc1401506, 0x00007892, 0x01c00001, 0x00008080, 0x01400000,
+ 0x00009981, 0x50b8caec, 0x00002000, 0x00000445, 0x00001583, 0x01400800,
+ 0x00009991, 0xffffffff, 0x00007f86, 0x00000019, 0x00001582, 0x02000000,
+ 0x0000e189, 0x06400800, 0x00004989, 0x00003af7, 0x00007009, 0x00000819,
+ 0x00009582, 0x02000ee3, 0x0000e289, 0x06683506, 0x00008909, 0x06402000,
+ 0x00006191, 0x02001ee3, 0x0000c291, 0x50b8c0ec, 0x00002000, 0xffffffff,
+ 0x00007fa7, 0x00001818, 0x00009582, 0x06004000, 0x0000e191, 0x06008000,
+ 0x0000c989, 0x01800000, 0x00001980, 0x01804408, 0x00001081, 0x82222006,
+ 0x0000e886, 0x3b023ef9, 0x00007500, 0x04202806, 0x0000e887, 0x18803006,
+ 0x00001900, 0x0220cc08, 0x00009001, 0xbf20c408, 0x0000f82a, 0xa9c00000,
+ 0x00009d85, 0x00000445, 0x0000e583, 0x01400000, 0x00008980, 0x014046e3,
+ 0x00009081, 0x82222005, 0x0000e886, 0x00000805, 0x00006c97, 0x3ab53ef9,
+ 0x0000f500, 0xffffffff, 0x00007f86, 0x18802805, 0x00001900, 0x00003ab5,
+ 0x00007000, 0x01401000, 0x00009980, 0x82222005, 0x0000e886, 0x3b133ef9,
+ 0x00007500, 0x08029605, 0x0000e800, 0x18802805, 0x00001900, 0x01400800,
+ 0x00009980, 0x82222005, 0x0000e886, 0x3b183ef9, 0x0000f500, 0x0fc29605,
+ 0x00006800, 0x18802805, 0x00001900, 0x01402000, 0x00009980, 0x82222005,
+ 0x0000e886, 0x3b1d3ef9, 0x0000f500, 0x0f829605, 0x0000e800, 0x18802805,
+ 0x00001900, 0x01401800, 0x00001980, 0x82222005, 0x0000e886, 0x3b223ef9,
+ 0x0000f500, 0x0f429605, 0x0000e800, 0x18802805, 0x00001900, 0x01402800,
+ 0x00001980, 0x82222005, 0x0000e886, 0x3ab73ef9, 0x00007500, 0x0f029605,
+ 0x00006800, 0x18802805, 0x00001900, 0x00003ab7, 0x0000f000, 0x46400000,
+ 0x000080f8, 0x8140fa19, 0x0000e282, 0x81a5b802, 0x00000980, 0x3842c000,
+ 0x00001981, 0x00003b2f, 0x0000f011, 0xffffffff, 0x00007fa7, 0x03820200,
+ 0x0000f904, 0x86003444, 0x00006780, 0x0280fc44, 0x00008281, 0x8610c206,
+ 0x0000e000, 0x0141fc44, 0x00000281, 0x00006818, 0x0000f902, 0x02c00000,
+ 0x00008000, 0x02000c0e, 0x00006283, 0x02a057e4, 0x00008800, 0x020728e5,
+ 0x0000e110, 0x020050e5, 0x0000c408, 0x02800000, 0x0000e188, 0x86400a19,
+ 0x0000c080, 0x0000fc05, 0x0000e583, 0x81802206, 0x00000080, 0x0280680a,
+ 0x0000e330, 0x0280580a, 0x00008318, 0x0380080e, 0x00001780, 0x02c0400a,
+ 0x0000e218, 0x0340400a, 0x00008230, 0xffffffff, 0x00007f86, 0x00386818,
+ 0x00005000, 0x00385800, 0x00000000, 0x69680219, 0x00004191, 0x00600547,
+ 0x00000090, 0x02c00747, 0x0000c590, 0x03800748, 0x00000388, 0xcbc0fa19,
+ 0x00007896, 0x69c00000, 0x00009d89, 0x86400c44, 0x00009880, 0x8b40c619,
+ 0x00002085, 0xffffffff, 0x00007fa7, 0x0f60c005, 0x0000e800, 0x00323805,
+ 0x00001502, 0x01400e47, 0x0000e291, 0x0607bc18, 0x00000291, 0x01000020,
+ 0x0000e188, 0x01401c05, 0x00004891, 0x00003b5b, 0x0000f410, 0x81005800,
+ 0x00006188, 0x06202c18, 0x0000c311, 0x8b58c619, 0x00002896, 0x00003b6c,
+ 0x0000f200, 0x039e4800, 0x00007900, 0x0001fc88, 0x00000980, 0xc0000747,
+ 0x00009583, 0x00003b75, 0x0000700b, 0x86400c44, 0x00009880, 0x8b40c619,
+ 0x00002085, 0xffffffff, 0x00007fa7, 0x0f20c005, 0x00006800, 0x00224005,
+ 0x00009502, 0x01400c48, 0x00006291, 0x06077c18, 0x00000291, 0x01000020,
+ 0x0000e188, 0x01402405, 0x0000c891, 0x00003b75, 0x0000f410, 0x81005800,
+ 0x00006188, 0x06202c18, 0x0000c311, 0x8b58c619, 0x00002896, 0x039e8800,
+ 0x00007900, 0x0001fc88, 0x00000980, 0x03ff5800, 0x00007900, 0x001ac0fe,
+ 0x00008980, 0xc1002800, 0x00006181, 0x08001a0c, 0x0000e106, 0x83200500,
+ 0x00008032, 0x00003ac7, 0x0000f400, 0x0378b702, 0x00008108, 0x02000000,
+ 0x0000e180, 0x0280a815, 0x0000c900, 0xc0000748, 0x00009583, 0x00003b7f,
+ 0x0000700b, 0x06400c49, 0x00001281, 0x86400c44, 0x0000e080, 0x01402c19,
+ 0x00004881, 0x8b40c619, 0x00002085, 0xffffffff, 0x00007fa7, 0x0606fc18,
+ 0x00001281, 0x06202c18, 0x00001301, 0x8b58c619, 0x0000a886, 0x40000549,
+ 0x00001583, 0x86400c44, 0x00001890, 0x8b424e19, 0x00002816, 0x0000044a,
+ 0x00007888, 0x00000000, 0x00000000, 0xe2000807, 0x0000788e, 0x01c00001,
+ 0x00000060, 0xf0c0064b, 0x0000f88a, 0xa9c00000, 0x00001d8d, 0x4000054a,
+ 0x0000e583, 0x86400c44, 0x00000880, 0x8b40c619, 0x00002085, 0x8b80c819,
+ 0x00002006, 0x01400020, 0x00001990, 0x00003b9b, 0x0000f408, 0x41622444,
+ 0x00001911, 0x18802805, 0x0000e110, 0x0820c406, 0x00006004, 0x3b923ef9,
+ 0x0000f100, 0x00001406, 0x00001583, 0x01802000, 0x00009989, 0x00003bad,
+ 0x0000f009, 0x00000c06, 0x00001583, 0x01801800, 0x00001989, 0x00003bad,
+ 0x0000f009, 0x06002c06, 0x00009181, 0xeb400c18, 0x0000f89a, 0x51c00000,
+ 0x00009d8d, 0x80000219, 0x00001582, 0x01400000, 0x0000e190, 0x01802800,
+ 0x00004989, 0x41622444, 0x00001911, 0x00003bad, 0x00007008, 0x3ba23ef9,
+ 0x00007300, 0x18802805, 0x00001900, 0x00002406, 0x00001583, 0x01801000,
+ 0x00009989, 0x00003bad, 0x0000f009, 0x00001c06, 0x00009583, 0x01800800,
+ 0x00009989, 0x00003bad, 0x0000f009, 0xeb403c06, 0x00007892, 0x61c00000,
+ 0x00009d8d, 0x00003bad, 0x00007200, 0x01803800, 0x00001981, 0x01803000,
+ 0x00009981, 0x8000064b, 0x00006583, 0x86400c44, 0x00000880, 0x8b40c619,
+ 0x00002085, 0xffffffff, 0x00007fa7, 0x0607c418, 0x00001281, 0x00003bc3,
+ 0x00007408, 0x06203418, 0x00001301, 0x8b58c619, 0x0000a886, 0xc000074b,
+ 0x00006583, 0x86400c44, 0x00000880, 0x8b40c619, 0x00002085, 0xffffffff,
+ 0x00007fa7, 0x0601fc18, 0x00009281, 0x8b58c619, 0x0000a886, 0x06020418,
+ 0x00001391, 0x8b58c619, 0x00002896, 0x0000044c, 0x00001583, 0x82400c44,
+ 0x00009890, 0x8b40ce09, 0x0000a095, 0xffffffff, 0x00007fa7, 0x06440419,
+ 0x00001391, 0x8b58ce09, 0x00002896, 0x3bc44554, 0x00007100, 0x00003d19,
+ 0x00007400, 0x81c00800, 0x000000d6, 0x82000001, 0x000000da, 0x3bca13be,
+ 0x0000f404, 0x11f83f06, 0x00000424, 0x12009900, 0x00001980, 0x00000447,
+ 0x00009583, 0x867f1fe3, 0x00001908, 0x43804819, 0x00002088, 0x00003bd3,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x06003c09, 0x00001281, 0x06401418,
+ 0x00009181, 0x00000c19, 0x00009583, 0x00003bd8, 0x0000701b, 0x023d4800,
+ 0x0000f900, 0x0001fc88, 0x00000980, 0x3bd839da, 0x0000f500, 0x01783707,
+ 0x0000001c, 0xc1782847, 0x00008018, 0x3038d24b, 0x0000a080, 0x01c00000,
+ 0x00009980, 0xffffffff, 0x00007f97, 0x8220d41a, 0x00006101, 0x82400c1a,
+ 0x0000c880, 0x8b805809, 0x00007902, 0x02800000, 0x00008004, 0x8b787609,
+ 0x00002084, 0xffffffff, 0x00007f97, 0x8000020a, 0x00006582, 0x82105a0b,
+ 0x00000900, 0x01d8750b, 0x00008021, 0x00000c0e, 0x00006583, 0x41c00800,
+ 0x00000989, 0xc000030b, 0x00001582, 0xffffffff, 0x00007f86, 0x00003bea,
+ 0x00007010, 0x00003bef, 0x00007008, 0x01000020, 0x00001980, 0x00003c00,
+ 0x00007400, 0x03be8000, 0x00007900, 0x0001fc88, 0x00000980, 0x81004800,
+ 0x00001980, 0x8000020a, 0x00009582, 0x0560d41a, 0x00009910, 0x00003c09,
+ 0x0000f009, 0x3bf34240, 0x00007100, 0x8b805809, 0x00007902, 0x02800000,
+ 0x00008004, 0x41c00000, 0x00009981, 0x8b787609, 0x00002084, 0xffffffff,
+ 0x00007f86, 0x8000020a, 0x00009582, 0x8000020a, 0x00006582, 0x41c00800,
+ 0x00000989, 0x01000020, 0x00009990, 0x81004800, 0x00009990, 0x00003c09,
+ 0x00007008, 0x03805800, 0x0000f900, 0x0001fc8a, 0x00008980, 0x03d85800,
+ 0x00007900, 0x00026410, 0x00000980, 0xc1002800, 0x00006181, 0x08001a0c,
+ 0x0000e106, 0x83200500, 0x00008032, 0x00003ac7, 0x0000f400, 0x03784702,
+ 0x00008108, 0x02000000, 0x0000e180, 0x02803807, 0x0000c900, 0x01400000,
+ 0x00001980, 0x3c0d4511, 0x0000f500, 0x0020d005, 0x00006886, 0x03c02805,
+ 0x00009900, 0x3c0e4554, 0x0000f100, 0x43b8300b, 0x00002080, 0x0000000e,
+ 0x00006c86, 0xb000000e, 0x00006c00, 0x0000000e, 0x00006d87, 0x81800e06,
+ 0x00001181, 0x43b8300b, 0x0000a880, 0x0000000b, 0x0000ed86, 0x00003bc4,
+ 0x00007400, 0x8b787609, 0x0000a884, 0x8bb85809, 0x0000a884, 0x3c1b13be,
+ 0x00007404, 0x11f83f06, 0x00000424, 0x12009d00, 0x00009980, 0x00000447,
+ 0x00009583, 0x867f1fe3, 0x00001908, 0x43804819, 0x00002088, 0x00003c24,
+ 0x00007010, 0xffffffff, 0x00007f97, 0x06003c09, 0x00001281, 0x06401418,
+ 0x00009181, 0x00000c19, 0x00009583, 0x00003c29, 0x0000701b, 0x021f3800,
+ 0x00007900, 0x0001fc8a, 0x00008980, 0x3c2939da, 0x0000f500, 0x01783707,
+ 0x0000001c, 0xc1782847, 0x00008018, 0x30007a4b, 0x0000f902, 0x03800000,
+ 0x00008000, 0xc9181302, 0x0000e100, 0x80002025, 0x00006406, 0x10003825,
+ 0x0000ec05, 0x30006c4b, 0x00007902, 0x02c00000, 0x00008000, 0x3000564b,
+ 0x00007902, 0x02400000, 0x00000000, 0x3040404b, 0x00007902, 0x01c00000,
+ 0x00008000, 0x00003c59, 0x00007400, 0x3040324b, 0x00007902, 0x01400000,
+ 0x00000000, 0x89107a0f, 0x00006100, 0xb0000825, 0x00006405, 0x3c3c13be,
+ 0x00007404, 0x11f83f06, 0x00000424, 0x12009d00, 0x00009980, 0x00000447,
+ 0x00009583, 0x863f1fe3, 0x00009908, 0x4380c818, 0x00002088, 0x00003c45,
+ 0x0000f010, 0xffffffff, 0x00007f97, 0x02403c19, 0x00009281, 0x06001409,
+ 0x00001181, 0x00000c18, 0x00001583, 0x00003c4a, 0x0000701b, 0x021f3800,
+ 0x00007900, 0x0001fc8a, 0x00008980, 0x3c4a39da, 0x0000f500, 0x01023f07,
+ 0x00008017, 0x01b83704, 0x0000001c, 0x30007a4b, 0x0000f902, 0x03800000,
+ 0x00008000, 0xc9181302, 0x0000e100, 0x80002025, 0x00006406, 0x10003825,
+ 0x0000ec05, 0x30006c4b, 0x00007902, 0x02c00000, 0x00008000, 0x3000564b,
+ 0x00007902, 0x02400000, 0x00000000, 0x3040404b, 0x00007902, 0x01c00000,
+ 0x00008000, 0x3040324b, 0x00007902, 0x01400000, 0x00000000, 0x89107a0f,
+ 0x00006100, 0xb0001025, 0x00006405, 0x8ad06a0d, 0x00006100, 0x02800027,
+ 0x00006587, 0xc0000708, 0x0000e583, 0x04104827, 0x0000a107, 0x02400000,
+ 0x0000e181, 0x8b585b0b, 0x00004900, 0x097fe825, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x02400800, 0x0000e191, 0x0428402b, 0x00006003, 0x0600830d,
+ 0x0000e080, 0x0420402d, 0x00006083, 0x0640820a, 0x00006080, 0x09404025,
+ 0x0000c380, 0x8630782b, 0x0000e005, 0xf7e04827, 0x0000b001, 0x0980700e,
+ 0x00006100, 0xe0001825, 0x0000e403, 0x0a282c05, 0x00008220, 0x0bb83707,
+ 0x0000023c, 0x00003cfe, 0x0000f400, 0x8c284009, 0x00008236, 0x0b00cb0a,
+ 0x00006300, 0x0a80c20b, 0x00008300, 0x3c7413be, 0x00007404, 0x11f83f06,
+ 0x00000424, 0x12009a00, 0x00001980, 0x00000447, 0x00009583, 0x827f1fe3,
+ 0x00009908, 0x4380c009, 0x0000a088, 0x00003c7d, 0x00007010, 0xffffffff,
+ 0x00007f97, 0x06403c18, 0x00009281, 0x02401419, 0x00009181, 0x00000c09,
+ 0x00001583, 0x00003c82, 0x0000f01b, 0x02038800, 0x00007900, 0x0001fc8c,
+ 0x00008980, 0x3c8239da, 0x00007500, 0x01023f07, 0x00008017, 0x01b83704,
+ 0x0000001c, 0x3010cc4b, 0x0000f902, 0x02700300, 0x00008001, 0x3010644b,
+ 0x00007902, 0x06280200, 0x00000001, 0x10ffe043, 0x00007900, 0x003ffffe,
+ 0x00008280, 0x10c04043, 0x00006380, 0xe0001822, 0x0000a403, 0x00000409,
+ 0x00006583, 0x80602043, 0x00002506, 0x02400800, 0x0000e189, 0x02401000,
+ 0x0000c991, 0x00000c18, 0x0000e583, 0xb000c043, 0x00002481, 0x01800000,
+ 0x00007908, 0x003fc000, 0x00008980, 0x8210c806, 0x00006108, 0xb6e04843,
+ 0x0000b005, 0x01c00800, 0x0000e181, 0x45371806, 0x0000600f, 0x3000344b,
+ 0x0000a008, 0x3002144b, 0x0000a092, 0xd0981302, 0x00001910, 0xffffffff,
+ 0x00007f86, 0x10803006, 0x00001908, 0x00003d14, 0x0000f200, 0x01400800,
+ 0x00001981, 0x3ca013be, 0x00007404, 0x11f83f06, 0x00000424, 0x12009e00,
+ 0x00009980, 0x00000447, 0x00009583, 0x827f1fe3, 0x00009908, 0x4380c809,
+ 0x00002088, 0x00003ca9, 0x00007010, 0xffffffff, 0x00007f97, 0x06003c19,
+ 0x00009281, 0x02401418, 0x00001181, 0x00000c09, 0x00001583, 0x00003cae,
+ 0x0000701b, 0x02238800, 0x0000f900, 0x0001fc8a, 0x00008980, 0x3cae39da,
+ 0x0000f500, 0x01023f07, 0x00008017, 0x01b83704, 0x0000001c, 0x30007a4b,
+ 0x0000f902, 0x03800000, 0x00008000, 0x06400000, 0x00006181, 0x80002025,
+ 0x00006406, 0xc9181302, 0x0000e100, 0x10003025, 0x0000e405, 0xb0000825,
+ 0x0000ec05, 0x0000040e, 0x0000e583, 0x89107a0f, 0x00008900, 0x06400800,
+ 0x00001991, 0x30006c4b, 0x00007902, 0x02c00000, 0x00008000, 0x3000564b,
+ 0x00007902, 0x02400000, 0x00000000, 0x3040404b, 0x00007902, 0x01c00000,
+ 0x00008000, 0x3040324b, 0x00007902, 0x01400000, 0x00000000, 0x00003cea,
+ 0x0000f400, 0x3040ac4b, 0x0000f902, 0x05000000, 0x00000000, 0x1460c825,
+ 0x00006801, 0x3cc713be, 0x0000f404, 0x11f83f06, 0x00000424, 0x12009e00,
+ 0x00009980, 0x00000447, 0x00009583, 0x867f1fe3, 0x00001908, 0x4380c019,
+ 0x00002088, 0x00003cd0, 0x0000f010, 0xffffffff, 0x00007f97, 0x02403c18,
+ 0x00001281, 0x06401409, 0x00009181, 0x00000c19, 0x00009583, 0x00003cd5,
+ 0x0000701b, 0x02238800, 0x0000f900, 0x0001fc8a, 0x00008980, 0x3cd539da,
+ 0x0000f500, 0x01023f07, 0x00008017, 0x01b83704, 0x0000001c, 0x30007a4b,
+ 0x0000f902, 0x03800000, 0x00008000, 0x06000000, 0x0000e181, 0x80002025,
+ 0x00006406, 0xc9181302, 0x0000e100, 0x10003025, 0x0000e405, 0xb0001025,
+ 0x0000ec05, 0x0000040e, 0x0000e583, 0x89107a0f, 0x00008900, 0x06000800,
+ 0x00009991, 0x30006c4b, 0x00007902, 0x02c00000, 0x00008000, 0x3000564b,
+ 0x00007902, 0x02400000, 0x00000000, 0x3040404b, 0x00007902, 0x01c00000,
+ 0x00008000, 0x3040324b, 0x00007902, 0x01400000, 0x00000000, 0x3040ac4b,
+ 0x0000f902, 0x05000000, 0x00000000, 0x1460c025, 0x0000e801, 0x4000050e,
+ 0x0000e583, 0x06000000, 0x00000981, 0x097fe825, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x06000800, 0x0000e191, 0x00800027, 0x0000e587, 0x0000040e,
+ 0x0000e583, 0x04187827, 0x00002107, 0x09404025, 0x00006380, 0xf7e0c027,
+ 0x00002001, 0x0980a014, 0x00006100, 0xe0001825, 0x0000e403, 0x00003cfe,
+ 0x00007408, 0x0a20ad15, 0x00008220, 0x0ac04008, 0x00006108, 0x0a80680d,
+ 0x0000c908, 0x0ab83f08, 0x0000822c, 0x0b382f06, 0x00008234, 0x0bb85f0d,
+ 0x0000823c, 0x0c785709, 0x00008300, 0x00003c9b, 0x0000f200, 0x01c00000,
+ 0x00001981, 0x3d0142ae, 0x0000f004, 0x3d034554, 0x00007300, 0x8f204408,
+ 0x00009901, 0x3bc44562, 0x0000f300, 0x01c80000, 0x00001980, 0x01f82f04,
+ 0x00000018, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03b51000,
+ 0x0000f900, 0x0001fc84, 0x00000980, 0x03fa9000, 0x0000f900, 0x0016f7fa,
+ 0x00008980, 0x02000000, 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500,
+ 0x00008032, 0x00003ac7, 0x0000f400, 0x03783f02, 0x00008108, 0x81002800,
+ 0x00006180, 0x02803006, 0x0000c900, 0x81400000, 0x000080de, 0x00003d18,
+ 0x0000f200, 0x01800000, 0x00009981, 0x81c00000, 0x000080d6, 0x01800800,
+ 0x00001981, 0x02000000, 0x00001981, 0x00000407, 0x0000e583, 0x07c00000,
+ 0x00000980, 0x07000000, 0x00007900, 0x00004000, 0x00000980, 0x07840000,
+ 0x00007900, 0x000080c0, 0x00000980, 0x06081001, 0x0000e180, 0x0000101f,
+ 0x00006413, 0x07480001, 0x00006180, 0x00000035, 0x0000e580, 0xc7001000,
+ 0x00006191, 0x80003018, 0x0000e492, 0x87828000, 0x00006190, 0x87d0620c,
+ 0x00004910, 0x47403000, 0x0000e191, 0x00009034, 0x00006484, 0x00000406,
+ 0x00006583, 0x00000035, 0x00002501, 0x05464000, 0x0000f900, 0x00002000,
+ 0x00000980, 0x05000800, 0x00007900, 0x00080000, 0x00000980, 0x05800000,
+ 0x00007900, 0x00002000, 0x00000980, 0x413f1015, 0x0000e002, 0xa0000835,
+ 0x0000b483, 0x05c00000, 0x000081e4, 0x00003d3e, 0x0000f408, 0x06800000,
+ 0x000081ec, 0xcd002000, 0x0000e181, 0x00001020, 0x0000e412, 0x08402004,
+ 0x0000e100, 0xd0000835, 0x00006404, 0x00003d43, 0x00007400, 0x00201020,
+ 0x00006507, 0x90000835, 0x0000b401, 0x0d80af04, 0x00008393, 0x0d800000,
+ 0x00006180, 0xd0000035, 0x0000e404, 0x8d00a000, 0x0000e181, 0x90000035,
+ 0x00006401, 0xcd981302, 0x00009900, 0x00000405, 0x00006583, 0x0dc00000,
+ 0x00000980, 0x71e04020, 0x0000e000, 0xc0001837, 0x0000b006, 0x04001000,
+ 0x00007910, 0x00004000, 0x00000980, 0x00003d50, 0x0000f008, 0x04c00000,
+ 0x0000e180, 0x04400008, 0x0000c980, 0x000820ec, 0x0000d780, 0x00006800,
+ 0x00000080, 0x04801002, 0x0000e100, 0xc0001813, 0x0000e006, 0x00000407,
+ 0x00001583, 0x00003d54, 0x0000700b, 0x00802eec, 0x0000df80, 0x00d07341,
+ 0x00008284, 0x00982eec, 0x0000df80, 0x00007002, 0x00000084, 0x80001647,
+ 0x0000e583, 0x07800000, 0x00008980, 0x07c01800, 0x00007900, 0x00090000,
+ 0x00008980, 0x07400000, 0x00006180, 0x0412381f, 0x0000e101, 0x00003d68,
+ 0x00007010, 0xc5040749, 0x0000e283, 0x11c18749, 0x00008281, 0x8232381f,
+ 0x0000e816, 0x00003d64, 0x0000f011, 0xc5018749, 0x00009283, 0x8000081f,
+ 0x00006c0e, 0x00003d70, 0x0000f009, 0x00003d70, 0x00007400, 0x00018447,
+ 0x00009583, 0x074728e5, 0x00006108, 0x07824048, 0x00004908, 0x80002647,
+ 0x00001583, 0x0000081f, 0x00006c0c, 0x8000401f, 0x00006c0e, 0x00003d6f,
+ 0x0000f008, 0x80002e47, 0x00009583, 0x8000401f, 0x00006c0e, 0x00003d70,
+ 0x0000f011, 0xc000001f, 0x0000ec03, 0x300006ec, 0x00005784, 0x0038f800,
+ 0x00000000, 0x3038f6ec, 0x00005704, 0x0038e800, 0x00008000, 0x00000001,
+ 0x00007480, 0x3038e6ec, 0x0000d704, 0x003a4800, 0x00000000, 0x0000e8ec,
+ 0x0000f902, 0x07000000, 0x00008704, 0x05400000, 0x00009980, 0xc5040749,
+ 0x0000e283, 0x04123815, 0x00002101, 0x00c004ec, 0x0000d784, 0x0038a800,
+ 0x00000000, 0x000220ec, 0x0000f902, 0x07c00000, 0x00008704, 0x0000f0ec,
+ 0x0000f902, 0x07400000, 0x00000704, 0x0000e0ec, 0x00007902, 0x06400000,
+ 0x00008704, 0x0000c0ec, 0x0000f902, 0x05400000, 0x00008704, 0x80000647,
+ 0x00009583, 0xffffffff, 0x00007f86, 0x00003d9b, 0x00007008, 0x00003d8e,
+ 0x0000f010, 0x07ba4f4a, 0x00000134, 0x05418749, 0x00009281, 0x6e018415,
+ 0x0000f893, 0x99c00000, 0x00001e8d, 0x80001a47, 0x00006582, 0x07c00000,
+ 0x00000980, 0x0412381f, 0x00006901, 0x00c006ec, 0x00005784, 0x0038f800,
+ 0x00000000, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080, 0x00000001,
+ 0x00007498, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080, 0x00c006ec,
+ 0x00005784, 0x00000000, 0x00008080, 0x00003dc9, 0x00007000, 0xc5018749,
+ 0x00006283, 0x05418749, 0x00000281, 0x00003dab, 0x00007013, 0x80000647,
+ 0x00009583, 0x0782504a, 0x00006108, 0x87524a49, 0x0000c908, 0x07800000,
+ 0x0000e190, 0x87400000, 0x00004990, 0xe000001d, 0x0000ec11, 0xffffffff,
+ 0x00007f86, 0xe002481d, 0x0000e809, 0xffffffff, 0x00007f86, 0xbb60001e,
+ 0x0000c491, 0xb660021d, 0x00000f93, 0x76c1871d, 0x0000f897, 0xe9c00000,
+ 0x00009e8d, 0x80000647, 0x00009583, 0x0000001d, 0x0000ed93, 0x00003db8,
+ 0x00007011, 0x00018415, 0x00001583, 0xc002481d, 0x0000e813, 0x0002481d,
+ 0x0000e917, 0x00003db8, 0x0000f010, 0x0180001d, 0x00006d83, 0x113f2f48,
+ 0x00000130, 0xbb60001e, 0x0000c491, 0xb660021d, 0x00000f93, 0x76c1871d,
+ 0x0000f897, 0xe9c00000, 0x00009e8d, 0x11000000, 0x000081f0, 0xbb60001e,
+ 0x0000c491, 0xb660021d, 0x00000f93, 0x76c1871d, 0x0000f897, 0x01c00001,
+ 0x00008080, 0x07c00000, 0x00009980, 0x80001a47, 0x00006582, 0x0412381f,
+ 0x00002101, 0x00c006ec, 0x00005784, 0x0038f800, 0x00000000, 0x00c006ec,
+ 0x00005784, 0x00000000, 0x00008080, 0x00000001, 0x00007498, 0x00c006ec,
+ 0x00005784, 0x00000000, 0x00008080, 0x00c006ec, 0x00005784, 0x00000000,
+ 0x00008080, 0x85401247, 0x00009880, 0xcf000415, 0x00005084, 0x00400000,
+ 0x00008000, 0xcf000615, 0x0000d084, 0x00400000, 0x00008000, 0xcf400015,
+ 0x00005084, 0x00400000, 0x00008000, 0xcf400215, 0x0000d084, 0x00400000,
+ 0x00008000, 0xcf000415, 0x0000d004, 0x00400000, 0x00000080, 0xcf000615,
+ 0x00005004, 0x00400000, 0x00000080, 0x00000001, 0x00007480, 0xcf400015,
+ 0x0000d004, 0x00400000, 0x00000080, 0xcf400215, 0x00005004, 0x00400000,
+ 0x00000080, 0x80001a47, 0x00006582, 0x0412381f, 0x00002101, 0x00ba26ec,
+ 0x0000d704, 0x0038f800, 0x00000000, 0x00b8f6ec, 0x0000d704, 0x0038e800,
+ 0x00008000, 0x00000001, 0x00007498, 0x00b8e6ec, 0x00005704, 0x0038c800,
+ 0x00000000, 0x00bf2eec, 0x00005704, 0x003f2800, 0x00000000, 0x85401247,
+ 0x00009880, 0xcf3a2415, 0x00005004, 0x0038f800, 0x00000000, 0xcf38f615,
+ 0x0000d004, 0x0038e800, 0x00008000, 0x00000001, 0x00007480, 0xcf78e015,
+ 0x0000d004, 0x0038c800, 0x00000000, 0xcf7f2a15, 0x00005004, 0x003f2800,
+ 0x00000000, 0x8540224b, 0x00006780, 0x0000004c, 0x0000a586, 0x12c07c4b,
+ 0x00006281, 0x8747fa15, 0x00008280, 0x0000444b, 0x0000e583, 0x8754021d,
+ 0x00008080, 0x875ffa1d, 0x00009280, 0x2090ea4c, 0x00006902, 0x0000004c,
+ 0x00005784, 0x00000000, 0x00008080, 0x0002504c, 0x00007902, 0x12400000,
+ 0x00008704, 0x0002404c, 0x0000f902, 0x11c00000, 0x00000704, 0x123a5f4b,
+ 0x00009909, 0x00003e29, 0x0000f408, 0x0002204c, 0x0000f902, 0x07c00000,
+ 0x00008704, 0x0000f04c, 0x0000f902, 0x07000000, 0x00008704, 0x0000444b,
+ 0x00001583, 0x00003e1d, 0x0000701b, 0x0000244b, 0x00001583, 0x127a5f4b,
+ 0x00001909, 0x00003e29, 0x0000f009, 0x0000244b, 0x00001583, 0x00003e15,
+ 0x0000f01b, 0x0000144b, 0x00001583, 0x92ba5f4b, 0x00009909, 0x00003e29,
+ 0x0000f009, 0x0000144b, 0x00001583, 0xd2ba5f4b, 0x00009919, 0x00003e29,
+ 0x00007019, 0x00000c4b, 0x00001583, 0x52ba5f4b, 0x00009909, 0x00003e29,
+ 0x0000f009, 0x00003e4e, 0x00007000, 0x0000344b, 0x00009583, 0x927a5f4b,
+ 0x00009909, 0x00003e29, 0x0000f009, 0x0000344b, 0x00009583, 0xd27a5f4b,
+ 0x0000e119, 0x527a5f4b, 0x00004931, 0x00003e29, 0x00007031, 0x00003e29,
+ 0x0000f000, 0x0000644b, 0x00009583, 0x11fa5f4b, 0x00009909, 0x00003e29,
+ 0x0000f009, 0x0000644b, 0x00009583, 0x00003e45, 0x0000f01b, 0x0000544b,
+ 0x00009583, 0x923a5f4b, 0x00001909, 0x00003e29, 0x0000f009, 0x0000544b,
+ 0x00009583, 0xd23a5f4b, 0x00006119, 0x523a5f4b, 0x0000c931, 0x00003e29,
+ 0x00007031, 0x8000064b, 0x00006583, 0x0000084c, 0x00002586, 0x12e25fe4,
+ 0x00006000, 0x2090ea4c, 0x0000e102, 0x003a504c, 0x0000d704, 0x003a4800,
+ 0x00000000, 0x003a404c, 0x00005704, 0x003a3800, 0x00008000, 0x91125a44,
+ 0x00006310, 0x92d25ae5, 0x00000408, 0xffffffff, 0x00007f86, 0x00000415,
+ 0x0000e583, 0x9112224b, 0x00008208, 0xffffffff, 0x00007f86, 0x003a204c,
+ 0x00005704, 0x0038f800, 0x00000000, 0x00000001, 0x0000f290, 0x0038f04c,
+ 0x00005704, 0x0038e000, 0x00000000, 0xd23a54ec, 0x0000d004, 0x003a4800,
+ 0x00000000, 0xd23a46ec, 0x0000d004, 0x003a3800, 0x00008000, 0x00000001,
+ 0x00007480, 0xd27a20ec, 0x00005004, 0x0038f800, 0x00000000, 0xd278f2ec,
+ 0x0000d004, 0x0038e000, 0x00000000, 0x0000744b, 0x00001583, 0x91fa5f4b,
+ 0x00001909, 0x00003e29, 0x0000f009, 0x0000744b, 0x00001583, 0x51fa5f4b,
+ 0x00009929, 0x00003e29, 0x00007029, 0x00007c4b, 0x00009583, 0xd1fa5f4b,
+ 0x00009909, 0x00003e29, 0x0000f009, 0x00003e29, 0x00007200, 0x12ba5f4b,
+ 0x00009901, 0x86000a15, 0x00009880, 0x8b40c618, 0x00002084, 0xffffffff,
+ 0x00007fa7, 0x00000418, 0x00009583, 0x01800000, 0x0000e188, 0x02000000,
+ 0x00004988, 0x8190aa15, 0x0000e108, 0xc3300600, 0x0000c909, 0x00000001,
+ 0x00007090, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03817000,
+ 0x00007900, 0x0013ed32, 0x00008980, 0x03fca000, 0x0000f900, 0x0019343e,
+ 0x00000980, 0x83280500, 0x0000e101, 0x08001a0c, 0x0000e106, 0x3e650f22,
+ 0x00007500, 0x03781702, 0x00008108, 0x8100e800, 0x00006180, 0x02803006,
+ 0x0000c900, 0xc000030e, 0x0000e582, 0x85400a0e, 0x00008880, 0x8ba07015,
+ 0x00002004, 0xffffffff, 0x00007fa7, 0x83800a0e, 0x00009080, 0x8ba07015,
+ 0x0000a804, 0x8b807015, 0x0000a016, 0xffffffff, 0x00007f86, 0x00000001,
+ 0x00007483, 0x83800a0e, 0x00001090, 0x8b887015, 0x0000a816, 0xffffffff,
+ 0x00007f86, 0xc0000315, 0x0000e582, 0x86000a15, 0x00000880, 0x8ba07818,
+ 0x00002004, 0xffffffff, 0x00007fa7, 0x83c00a0f, 0x00001180, 0x8ba07818,
+ 0x0000a804, 0x8b807818, 0x0000a016, 0xffffffff, 0x00007f86, 0x00000001,
+ 0x00007483, 0x83c00a0f, 0x00009190, 0x8b887818, 0x0000a816, 0x03800000,
+ 0x0000e180, 0x934ffa46, 0x0000c280, 0x12400000, 0x0000e180, 0x0412680e,
+ 0x0000e101, 0x00c004ec, 0x0000d784, 0x00387000, 0x00000000, 0x12000000,
+ 0x000004dc, 0x91c00046, 0x000004a8, 0x0000a8ec, 0x00007902, 0x03800000,
+ 0x00008704, 0x000070ec, 0x00007902, 0x05000000, 0x00000704, 0x000078ec,
+ 0x0000f902, 0x03800000, 0x00008704, 0x000078ec, 0x0000f902, 0x03800000,
+ 0x00008704, 0xffffffff, 0x00007f86, 0xc000a049, 0x00006803, 0xffffffff,
+ 0x00007f86, 0x0900a40f, 0x0000e802, 0x00001c0f, 0x00009583, 0x0380a815,
+ 0x0000e108, 0x0c00a20e, 0x00006116, 0xffffffff, 0x00007f86, 0x00001c0f,
+ 0x00006583, 0x0390720e, 0x00000910, 0x3e9a3d79, 0x00007500, 0xffffffff,
+ 0x00007f86, 0x1200700e, 0x00006108, 0x04107049, 0x0000e117, 0x87dffa46,
+ 0x00006280, 0x00000044, 0x00002586, 0xc0001b46, 0x0000e582, 0x2090fa44,
+ 0x00002102, 0x00000044, 0x0000d784, 0x00000000, 0x00008080, 0x0000e844,
+ 0x00007902, 0x07800000, 0x00000704, 0x0000c844, 0x0000f902, 0x07000000,
+ 0x00008704, 0x0000a844, 0x0000f902, 0x06000000, 0x00000704, 0x00007844,
+ 0x00007902, 0x05000000, 0x00000704, 0x03802346, 0x000060b0, 0x00000844,
+ 0x0000a586, 0x8380120e, 0x000060b0, 0x209a3244, 0x00006102, 0x0038e844,
+ 0x0000d704, 0x0038f000, 0x00008000, 0x0038c844, 0x00005704, 0x0038e000,
+ 0x00000000, 0x00003ebd, 0x0000f418, 0x0038a844, 0x00005704, 0x0038c000,
+ 0x00008000, 0x00387844, 0x0000d704, 0x0038a000, 0x00008000, 0xcf38ec0e,
+ 0x00005004, 0x0038f000, 0x00008000, 0xcf38ce0e, 0x00005004, 0x0038e000,
+ 0x00000000, 0xcf78a80e, 0x0000d004, 0x0038c000, 0x00008000, 0xcf787a0e,
+ 0x0000d004, 0x0038a000, 0x00008000, 0x80001a46, 0x0000e582, 0x07000000,
+ 0x00000980, 0x83801246, 0x000060b0, 0x0412681c, 0x0000e101, 0x00c006ec,
+ 0x00005784, 0x0038e000, 0x00000000, 0x00c006ec, 0x00005784, 0x00000000,
+ 0x00008080, 0x00003eda, 0x00007418, 0x00c006ec, 0x00005784, 0x00000000,
+ 0x00008080, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080, 0xcf00040e,
+ 0x00005084, 0x00400000, 0x00008000, 0xcf00060e, 0x0000d084, 0x00400000,
+ 0x00008000, 0xcf40000e, 0x00005084, 0x00400000, 0x00008000, 0xcf40020e,
+ 0x0000d084, 0x00400000, 0x00008000, 0xcf00040e, 0x0000d004, 0x00400000,
+ 0x00000080, 0xcf00060e, 0x00005004, 0x00400000, 0x00000080, 0xcf40000e,
+ 0x0000d004, 0x00400000, 0x00000080, 0xcf40020e, 0x00005004, 0x00400000,
+ 0x00000080, 0x80001a46, 0x0000e582, 0x00000844, 0x0000a586, 0x03802246,
+ 0x0000e0b0, 0x2090fa44, 0x00002102, 0x00000044, 0x0000d784, 0x00000000,
+ 0x00008080, 0x00000044, 0x0000d784, 0x00000000, 0x00008080, 0x00000001,
+ 0x00007498, 0x00000044, 0x0000d784, 0x00000000, 0x00008080, 0x00000044,
+ 0x0000d784, 0x00000000, 0x00008080, 0x8380120e, 0x00001880, 0xcf00040e,
+ 0x00005084, 0x00400000, 0x00008000, 0xcf00060e, 0x0000d084, 0x00400000,
+ 0x00008000, 0xcf40000e, 0x00005084, 0x00400000, 0x00008000, 0xcf40020e,
+ 0x0000d084, 0x00400000, 0x00008000, 0xcf00040e, 0x0000d004, 0x00400000,
+ 0x00000080, 0xcf00060e, 0x00005004, 0x00400000, 0x00000080, 0x00000001,
+ 0x00007480, 0xcf40000e, 0x0000d004, 0x00400000, 0x00000080, 0xcf40020e,
+ 0x00005004, 0x00400000, 0x00000080, 0x80000662, 0x0000e583, 0x07000000,
+ 0x00008981, 0x07e8380a, 0x00006180, 0x07000800, 0x00004991, 0x07800000,
+ 0x0000f900, 0x00020016, 0x00008980, 0x042b101f, 0x0000e101, 0x30e3101e,
+ 0x0000b080, 0x00007c62, 0x0000e583, 0xb6e0e01f, 0x00002001, 0x2038f4ec,
+ 0x00005704, 0x0038f800, 0x00000000, 0x00480cec, 0x00005784, 0x00000101,
+ 0x00008080, 0x87150462, 0x00006080, 0x0000081e, 0x0000a586, 0x2090e21e,
+ 0x00006902, 0x00030cec, 0x0000f902, 0x18000000, 0x00000704, 0x0002bcec,
+ 0x0000f902, 0x15800000, 0x00000704, 0x0002acec, 0x00007902, 0x15000000,
+ 0x00008704, 0x00029cec, 0x00007902, 0x07c00000, 0x00008704, 0x003b081e,
+ 0x00005704, 0x003b0000, 0x00008000, 0x003ab81e, 0x00005704, 0x003ab000,
+ 0x00008000, 0x00000001, 0x00007498, 0x003aa81e, 0x0000d704, 0x003aa000,
+ 0x00000000, 0x003a981e, 0x0000d704, 0x0038f800, 0x00000000, 0x07006c62,
+ 0x00001080, 0x8700121c, 0x00001880, 0xcf3b0c1c, 0x0000d004, 0x003b0000,
+ 0x00008000, 0xcf3abe1c, 0x00005004, 0x003ab000, 0x00008000, 0x00000001,
+ 0x00007480, 0xcf7aa81c, 0x00005004, 0x003aa000, 0x00000000, 0xcf7a9a1c,
+ 0x0000d004, 0x0038f800, 0x00000000, 0x40000544, 0x00006583, 0x12800000,
+ 0x00008981, 0x87000000, 0x00006180, 0x12800800, 0x00004991, 0xc0000344,
+ 0x00009582, 0x87000800, 0x00001990, 0xffffffff, 0x00007f86, 0x0720e44a,
+ 0x00009203, 0x07000000, 0x00009980, 0x8701500b, 0x00009990, 0x00003f32,
+ 0x0000f008, 0x00003f3c, 0x0000f000, 0x0700381c, 0x00009380, 0x8000401c,
+ 0x0000ec06, 0x0000001c, 0x0000ed01, 0xb000081c, 0x00006c01, 0x0410a81c,
+ 0x0000e901, 0x0038e4ec, 0x00005704, 0x00000000, 0x00008080, 0x07000000,
+ 0x00007900, 0x00050016, 0x00000980, 0xe7a2201c, 0x0000e801, 0x0038e4ec,
+ 0x00005704, 0x00000000, 0x00008080, 0x07014000, 0x00007900, 0x0001001a,
+ 0x00008980, 0x0438a81c, 0x0000e901, 0x0038e4ec, 0x00005704, 0x00000000,
+ 0x00008080, 0x0000e8ec, 0x0000f902, 0x07000000, 0x00008704, 0xffffffff,
+ 0x00007fa7, 0x86001e1d, 0x00001283, 0x0800ea1c, 0x00006910, 0x00003f4f,
+ 0x00007009, 0x8038aa1c, 0x00009502, 0x00003f4f, 0x0000f013, 0x0000044a,
+ 0x00001583, 0x05400000, 0x00009991, 0x00000001, 0x0000f091, 0x00003f52,
+ 0x00007000, 0x40000544, 0x00009583, 0x05401000, 0x00001989, 0x00000001,
+ 0x0000f089, 0x000144ec, 0x0000d784, 0x0000001a, 0x00008280, 0x0000e8ec,
+ 0x0000f902, 0x07000000, 0x00008704, 0x0728380a, 0x00001980, 0xffffffff,
+ 0x00007f97, 0x0c00ec1e, 0x0000e000, 0x0438a81c, 0x00003101, 0xb6e2501c,
+ 0x00006801, 0x0038e4ec, 0x00005704, 0x00000000, 0x00008080, 0x000144ec,
+ 0x0000d784, 0x0000001a, 0x00008280, 0x0000e8ec, 0x0000f902, 0x07000000,
+ 0x00008704, 0x00480cec, 0x00005784, 0x00000101, 0x00008080, 0x0002d4ec,
+ 0x00007902, 0x16400000, 0x00000704, 0x0002c4ec, 0x0000f902, 0x15c00000,
+ 0x00008704, 0x0002b4ec, 0x00007902, 0x15400000, 0x00000704, 0x0002a4ec,
+ 0x0000f902, 0x14c00000, 0x00000704, 0xee200c44, 0x0000438b, 0x0060161d,
+ 0x00008088, 0x0220041e, 0x0000c793, 0x84800e1d, 0x0000088f, 0xfd800544,
+ 0x00007893, 0x99c00000, 0x00009f8e, 0x12802215, 0x0000e080, 0x0000084c,
+ 0x00002586, 0x2090aa4c, 0x0000e902, 0x003ad04c, 0x00005704, 0x003ac800,
+ 0x00008000, 0x003ac04c, 0x0000d704, 0x003ab800, 0x00000000, 0x003ab04c,
+ 0x00005704, 0x003aa800, 0x00008000, 0x003aa04c, 0x0000d704, 0x003a9800,
+ 0x00008000, 0xf1001a15, 0x000078b3, 0x69c00000, 0x00009f8e, 0x0789d000,
+ 0x00007900, 0x0002001a, 0x00008980, 0x2009e4ec, 0x0000d784, 0x0038f03e,
+ 0x00000600, 0x0000f0ec, 0x0000f902, 0x07000000, 0x00008704, 0xffffffff,
+ 0x00007fa7, 0x85401e1e, 0x00006283, 0x0800f24a, 0x0000a100, 0x0000044a,
+ 0x00001583, 0xffffffff, 0x00007f86, 0x00003faf, 0x00007008, 0x00003faf,
+ 0x0000f048, 0x07303800, 0x0000f900, 0x00020018, 0x00000980, 0x8747fa4a,
+ 0x0000e280, 0x9314e801, 0x00000980, 0x0007fc4a, 0x0000e583, 0x0410e81c,
+ 0x00002101, 0x0038e4ec, 0x00005704, 0x00000000, 0x00008080, 0x00500cec,
+ 0x00005784, 0x00000101, 0x00008080, 0x8562544a, 0x00001901, 0x00025cec,
+ 0x00007902, 0x12400000, 0x00008704, 0x000244ec, 0x00007902, 0x11c00000,
+ 0x00000704, 0x000224ec, 0x00007902, 0x07c00000, 0x00008704, 0x0000f4ec,
+ 0x00007902, 0x07000000, 0x00008704, 0x003a584c, 0x00005704, 0x003a4800,
+ 0x00000000, 0x003a404c, 0x00005704, 0x003a3800, 0x00008000, 0x003a204c,
+ 0x00005704, 0x0038f800, 0x00000000, 0x0038f04c, 0x00005704, 0x0038e000,
+ 0x00000000, 0xd43a5cec, 0x00005004, 0x003a4800, 0x00000000, 0xd43a46ec,
+ 0x0000d004, 0x003a3800, 0x00008000, 0x00003fb1, 0x0000f410, 0xd47a20ec,
+ 0x00005004, 0x0038f800, 0x00000000, 0xd478f2ec, 0x0000d004, 0x0038e000,
+ 0x00000000, 0x00000001, 0x00007280, 0x05400800, 0x00009981, 0x07000000,
+ 0x00009980, 0x0010a81c, 0x00006986, 0x3fb63df0, 0x0000f500, 0x8622501c,
+ 0x0000e887, 0x12c0e01c, 0x00009900, 0x92900615, 0x0000e080, 0x0000084c,
+ 0x00002586, 0x80001e15, 0x0000e583, 0x2092524c, 0x0000a102, 0x003ad04c,
+ 0x00005704, 0x003ac800, 0x00008000, 0x003ac04c, 0x0000d704, 0x003ab800,
+ 0x00000000, 0x00003fcd, 0x0000f418, 0x003ab04c, 0x00005704, 0x003aa800,
+ 0x00008000, 0x003aa04c, 0x0000d704, 0x003a9800, 0x00008000, 0x12804615,
+ 0x00009080, 0x9280124a, 0x00001880, 0xcf3ad44a, 0x00005004, 0x003ac800,
+ 0x00008000, 0xcf3ac64a, 0x00005004, 0x003ab800, 0x00000000, 0xcf7ab04a,
+ 0x00005004, 0x003aa800, 0x00008000, 0xcf7aa24a, 0x00005004, 0x003a9800,
+ 0x00008000, 0x85401e1d, 0x00009283, 0x12802000, 0x00006191, 0x12801800,
+ 0x0000c989, 0x00000001, 0x00007480, 0xffffffff, 0x00007f86, 0x0562544a,
+ 0x00009901, 0x92900615, 0x0000e080, 0x0000084c, 0x00002586, 0x80001e15,
+ 0x0000e583, 0x2092524c, 0x0000a102, 0x0000004c, 0x00005784, 0x00000000,
+ 0x00008080, 0x0000004c, 0x00005784, 0x00000000, 0x00008080, 0x00003ff2,
+ 0x0000f418, 0x0000004c, 0x00005784, 0x00000000, 0x00008080, 0x0000004c,
+ 0x00005784, 0x00000000, 0x00008080, 0x12804615, 0x00009080, 0x9280124a,
+ 0x00001880, 0xcf00044a, 0x00005084, 0x00400000, 0x00008000, 0xcf00064a,
+ 0x0000d084, 0x00400000, 0x00008000, 0xcf40004a, 0x00005084, 0x00400000,
+ 0x00008000, 0xcf40024a, 0x0000d084, 0x00400000, 0x00008000, 0xcf00044a,
+ 0x0000d004, 0x00400000, 0x00000080, 0xcf00064a, 0x00005004, 0x00400000,
+ 0x00000080, 0xcf40004a, 0x0000d004, 0x00400000, 0x00000080, 0xcf40024a,
+ 0x00005004, 0x00400000, 0x00000080, 0x07003800, 0x00001980, 0x3ff63ef9,
+ 0x00007500, 0x8230a81c, 0x00006886, 0x1880e01c, 0x00001900, 0x07000020,
+ 0x00006180, 0x0800ea4a, 0x00006100, 0x0010a81c, 0x00006986, 0x00004000,
+ 0x0000f400, 0x8622501c, 0x0000e887, 0x12c0e01c, 0x00009900, 0x07000000,
+ 0x00007900, 0x00340040, 0x00008980, 0x0010a81c, 0x00006986, 0x12c0e01c,
+ 0x00009900, 0x3fcd3df0, 0x00007100, 0x0500740e, 0x0000003e, 0x03800000,
+ 0x0000e180, 0x06a0ac15, 0x0000c901, 0xc380ad15, 0x0000011d, 0x40083e50,
+ 0x00007500, 0x85800015, 0x0000809a, 0x0540700e, 0x00001900, 0x83907a14,
+ 0x00009300, 0x8390b20e, 0x00001302, 0x01804000, 0x0000e189, 0x12400000,
+ 0x00004990, 0x12000000, 0x0000e190, 0x11c00040, 0x00004990, 0x00000001,
+ 0x00007088, 0x00000417, 0x00006583, 0x03800000, 0x00008981, 0x03800800,
+ 0x00006191, 0x9250b216, 0x0000c900, 0x40163d56, 0x00007500, 0x07087c14,
+ 0x00008132, 0xe7a07049, 0x00006801, 0xffffffff, 0x00007fa7, 0x06f8ef1c,
+ 0x00008318, 0x82c00e36, 0x00001283, 0x07000000, 0x00006188, 0x12400000,
+ 0x00004988, 0x11c00040, 0x00006188, 0x12000000, 0x0000c988, 0x00004036,
+ 0x0000f010, 0x401f3d56, 0x0000f100, 0xffffffff, 0x00007fa7, 0x06f8ef1c,
+ 0x00008318, 0x82c01e36, 0x00009283, 0x07000000, 0x00006188, 0x12400000,
+ 0x00004988, 0x11c00080, 0x00006188, 0x12000000, 0x0000c988, 0x0000402d,
+ 0x0000f010, 0x40283d56, 0x00007100, 0xffffffff, 0x00007fa7, 0x06f8ef1c,
+ 0x00008318, 0x82c01e36, 0x00009283, 0x01800800, 0x00009989, 0x00000001,
+ 0x0000f089, 0x12400000, 0x000084dc, 0x9250b216, 0x0000e100, 0x0801b247,
+ 0x0000e100, 0x40343d79, 0x0000f500, 0x12000000, 0x00006180, 0xe7a0b849,
+ 0x00006001, 0x12887c14, 0x0000842a, 0x00004037, 0x00007200, 0x05000800,
+ 0x00001981, 0x05000000, 0x00009981, 0x03c80000, 0x0000e180, 0x0801b20e,
+ 0x00006100, 0xc3e0a414, 0x0000e100, 0x0430d80e, 0x00006087, 0x403f3f26,
+ 0x0000f500, 0x1100780f, 0x0000e100, 0x8620d00e, 0x00006087, 0x0540700e,
+ 0x00001900, 0x00002415, 0x00009583, 0x00004045, 0x0000700b, 0x00000001,
+ 0x00007480, 0x00000415, 0x00001583, 0x01801000, 0x0000e191, 0x01801800,
+ 0x00004989, 0x00003e65, 0x0000f400, 0x03800000, 0x00009980, 0x83a0d41a,
+ 0x00009900, 0xc0000715, 0x0000e583, 0xc710aa15, 0x00008900, 0x85400000,
+ 0x000084e4, 0x05400800, 0x00006191, 0x9250c218, 0x0000c900, 0x43c00415,
+ 0x0000809a, 0x40533d56, 0x0000f500, 0x12000000, 0x00006180, 0xe7a0a849,
+ 0x0000e001, 0x8718c318, 0x0000e100, 0x11c00040, 0x0000c980, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0638ef1c,
+ 0x00000124, 0x85000e19, 0x00001283, 0x01802800, 0x00006189, 0x0800ca18,
+ 0x0000e110, 0x8570c618, 0x0000e111, 0x0800ca15, 0x00006110, 0x00000001,
+ 0x00007088, 0x40603f26, 0x0000f300, 0x11000000, 0x00006180, 0xc5607c0f,
+ 0x0000c901, 0x00001c15, 0x00001583, 0x12800000, 0x00006188, 0x12400000,
+ 0x00004988, 0x11c00020, 0x00006188, 0x12000000, 0x0000c988, 0x00004069,
+ 0x0000f010, 0x406c3d79, 0x00007300, 0x91d0c218, 0x00001900, 0x0000406c,
+ 0x00007000, 0x00002415, 0x00009583, 0x01803000, 0x00001991, 0x00000001,
+ 0x0000f091, 0x00003e70, 0x00007400, 0x05400000, 0x00009980, 0x85607c0f,
+ 0x00009900, 0x06000000, 0x00006180, 0x8390aa15, 0x0000c900, 0x8607fa15,
+ 0x0000e280, 0x0670ae15, 0x00000901, 0x40763e50, 0x00007500, 0x85c00215,
+ 0x0000809a, 0x0540c018, 0x00001900, 0x00000417, 0x00006583, 0x12400000,
+ 0x00000980, 0x12000000, 0x00006180, 0xc0001849, 0x0000e413, 0x07000000,
+ 0x0000e180, 0x11c00040, 0x0000c980, 0x00004084, 0x00007210, 0x1200b016,
+ 0x00001910, 0x00000419, 0x00001583, 0x05400800, 0x00006189, 0x05401000,
+ 0x00004991, 0xffffffff, 0x00007f86, 0xc720a849, 0x0000e803, 0x0410b049,
+ 0x0000e907, 0x40853d56, 0x0000f100, 0xffffffff, 0x00007fa7, 0x06b8ef1c,
+ 0x0000012c, 0x83400e1b, 0x00001283, 0x07000000, 0x00006188, 0x12400000,
+ 0x00004988, 0x11c00060, 0x0000e188, 0x12000000, 0x0000c988, 0x000040b0,
+ 0x00007010, 0x408e3d56, 0x00007100, 0xffffffff, 0x00007fa7, 0x06b8ef1c,
+ 0x0000012c, 0x83401e1b, 0x00009283, 0x07000000, 0x00006188, 0x12400000,
+ 0x00004988, 0x11c00080, 0x00006188, 0x12000000, 0x0000c988, 0x0000409f,
+ 0x0000f010, 0x40973d56, 0x0000f100, 0xffffffff, 0x00007fa7, 0x06b8ef1c,
+ 0x0000012c, 0x83401e1b, 0x00009283, 0x0000409f, 0x0000f013, 0x000040bb,
+ 0x0000f400, 0x00000417, 0x00009583, 0x01804800, 0x00006189, 0x01809800,
+ 0x0000c991, 0x00000417, 0x00009583, 0x05401800, 0x00009991, 0x000040a5,
+ 0x00007011, 0x00000419, 0x00001583, 0x05400800, 0x00006189, 0x05401000,
+ 0x00004991, 0x12400000, 0x000084e0, 0x11c00000, 0x00006180, 0xc720a849,
+ 0x00006003, 0x00001c15, 0x0000e583, 0x0800da47, 0x00002100, 0x40ae3d79,
+ 0x0000f500, 0x12800000, 0x0000e180, 0x0410b049, 0x0000e117, 0x1200b016,
+ 0x00001908, 0x000040b1, 0x0000f200, 0x05800800, 0x00009981, 0x05800000,
+ 0x00001981, 0x06080800, 0x00006180, 0x0800da15, 0x00006100, 0x40b63f26,
+ 0x00007500, 0xc610d616, 0x00000114, 0x11187718, 0x00000115, 0x00002415,
+ 0x00009583, 0x000040bc, 0x0000700b, 0x00000417, 0x00009583, 0x01805000,
+ 0x00006189, 0x0180a000, 0x00004991, 0x00000001, 0x0000f080, 0x00000417,
+ 0x00006583, 0x05400000, 0x00000980, 0x00007015, 0x0000e986, 0x00000815,
+ 0x00006d8f, 0x00003e65, 0x0000f400, 0xffffffff, 0x00007f86, 0x0380a815,
+ 0x00001900, 0xc000070f, 0x00006583, 0x12400000, 0x00000980, 0x12000000,
+ 0x00006180, 0xc0001849, 0x0000e413, 0x11907c0f, 0x00008416, 0x000040d2,
+ 0x00007410, 0x81800000, 0x000001f0, 0x1200a815, 0x00006110, 0x11c00040,
+ 0x0000c980, 0x8000060f, 0x00009583, 0x03c00800, 0x0000e189, 0x03c01000,
+ 0x0000c991, 0xffffffff, 0x00007f86, 0xc7207849, 0x00006803, 0x0410a849,
+ 0x0000e907, 0x40d33d56, 0x0000f100, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x0638ef1c, 0x00000124, 0x83c00e19,
+ 0x00001283, 0x01805800, 0x0000e189, 0x0800ca0f, 0x0000e110, 0x8570c618,
+ 0x0000e111, 0x0800ca15, 0x00006110, 0x00000001, 0x00007088, 0x40e03f26,
+ 0x00007300, 0x11000800, 0x0000e180, 0xc5623446, 0x0000c901, 0x00001c15,
+ 0x00001583, 0x12800000, 0x00006188, 0x12000000, 0x0000c988, 0x12400000,
+ 0x0000f908, 0x00040000, 0x00000980, 0x000040ea, 0x00007010, 0x40ed3d79,
+ 0x00007500, 0x11c00020, 0x00009980, 0x91d07a0f, 0x00001900, 0x000040ed,
+ 0x00007000, 0x00002415, 0x00009583, 0x01806000, 0x00001991, 0x00000001,
+ 0x0000f091, 0x00000445, 0x0000e583, 0x03c00000, 0x00008980, 0x0012300f,
+ 0x0000e986, 0x0000080f, 0x0000ed8f, 0x00003e70, 0x00007400, 0xffffffff,
+ 0x00007f86, 0x0540780f, 0x00001900, 0x06b8a00b, 0x00000414, 0x02c00000,
+ 0x0000e180, 0x8dd07a0f, 0x0000c900, 0x82f0760e, 0x0000e100, 0x8d987b0f,
+ 0x00004900, 0x06e0740e, 0x0000811d, 0x40fd3e50, 0x00007500, 0x8580020e,
+ 0x0000009a, 0x0540580b, 0x00001900, 0x82d0730f, 0x00009300, 0x82d07a0b,
+ 0x00009302, 0x01809000, 0x00006189, 0x13000000, 0x0000c991, 0x12400000,
+ 0x0000f910, 0x00200000, 0x00000980, 0x00000001, 0x00007088, 0xc000070e,
+ 0x0000e583, 0x92507a0f, 0x00000900, 0x13000800, 0x00006191, 0x12000000,
+ 0x00004980, 0x0000041a, 0x0000e583, 0x11c00040, 0x00000980, 0xc710720e,
+ 0x00006100, 0xe7a26049, 0x0000e001, 0x87187b0f, 0x0000e100, 0xc0001849,
+ 0x0000e413, 0x00004116, 0x00007210, 0x1200a014, 0x00001910, 0x0000044c,
+ 0x00001583, 0x02c01000, 0x00006191, 0x02c00800, 0x00004989, 0xffffffff,
+ 0x00007f86, 0xc7205849, 0x0000e803, 0x04122849, 0x0000e907, 0x41173d56,
+ 0x0000f100, 0xffffffff, 0x00007fa7, 0x12f8ef1c, 0x0000002c, 0x82c00e0b,
+ 0x00009283, 0x03c00000, 0x00006191, 0x08005a4b, 0x0000e110, 0x07000000,
+ 0x00006188, 0x12400000, 0x00004988, 0x00004154, 0x0000f010, 0x41223d56,
+ 0x00007300, 0x11c00080, 0x0000e180, 0x12000000, 0x00004980, 0xffffffff,
+ 0x00007fa7, 0x12f8ef1c, 0x0000002c, 0x82c01e0b, 0x00001283, 0x07000000,
+ 0x00006188, 0x08005a4b, 0x0000e110, 0x12400000, 0x00006188, 0x12000000,
+ 0x0000c988, 0x00004140, 0x0000f010, 0x412c3d56, 0x0000f300, 0x11c00040,
+ 0x00009980, 0xffffffff, 0x00007fa7, 0x0380e81d, 0x00001900, 0x82c01e0e,
+ 0x00001283, 0x01807800, 0x00006189, 0x0800720b, 0x00006110, 0x07000000,
+ 0x00006190, 0x12400000, 0x00004990, 0x00000001, 0x00007088, 0x41373d56,
+ 0x0000f300, 0x11c00060, 0x00006180, 0x12000000, 0x00004980, 0xffffffff,
+ 0x00007fa7, 0x12f8ef1c, 0x0000803c, 0x82c01e0f, 0x00009283, 0x01807000,
+ 0x0000e189, 0x92d05a0b, 0x0000c910, 0x08007b0b, 0x0000e910, 0x00000001,
+ 0x00007088, 0x41403e7c, 0x00007300, 0x1180580b, 0x00001900, 0x12400000,
+ 0x00007900, 0x00200000, 0x00000980, 0x0000041a, 0x0000e583, 0x9251ba37,
+ 0x00000900, 0x12000000, 0x00006180, 0xe7a0b049, 0x0000e001, 0x11c00000,
+ 0x00006180, 0xc0001849, 0x0000e413, 0x00004152, 0x00007410, 0x92a1b11b,
+ 0x00008428, 0x91d25a4b, 0x00006100, 0x12022845, 0x00004910, 0x0000044c,
+ 0x00001583, 0x02c00800, 0x00006189, 0x02c01000, 0x00004991, 0xffffffff,
+ 0x00007f86, 0xc7205849, 0x0000e803, 0x04122849, 0x0000e907, 0x41533d79,
+ 0x00007100, 0x03c00800, 0x00001981, 0x02c80800, 0x0000e180, 0x0012580e,
+ 0x00006186, 0xc2e07c0f, 0x00006100, 0x0432580e, 0x00006087, 0x415c3f26,
+ 0x00007500, 0x1100580b, 0x0000e100, 0x8620b80e, 0x0000e087, 0x0540700e,
+ 0x00001900, 0x00002415, 0x00009583, 0x02c00000, 0x00006188, 0x01806800,
+ 0x0000c991, 0x82e0bc17, 0x00001908, 0x00000001, 0x00007090, 0x0000041a,
+ 0x00001583, 0x0000080b, 0x00006d8f, 0x00003e65, 0x0000f400, 0xffffffff,
+ 0x00007f86, 0x0380580b, 0x00001900, 0xc000071c, 0x0000e583, 0x03c00000,
+ 0x00000981, 0x12400000, 0x00007900, 0x00200000, 0x00000980, 0x03c00800,
+ 0x0000e191, 0x9250ea1d, 0x0000c900, 0x00000415, 0x0000e583, 0x12000000,
+ 0x00008980, 0x0670e61c, 0x0000e101, 0xe7a07849, 0x00006001, 0x0620ac15,
+ 0x00006101, 0xc0001849, 0x0000e413, 0x01800000, 0x0000e181, 0x11c00040,
+ 0x0000c980, 0x0000417e, 0x0000f410, 0x1200f01e, 0x00006110, 0xc710e21c,
+ 0x00004900, 0x8718eb1d, 0x00009900, 0x0000040f, 0x00009583, 0x03c00800,
+ 0x0000e189, 0x03c01000, 0x0000c991, 0xffffffff, 0x00007f86, 0xc7207849,
+ 0x00006803, 0x0410f049, 0x00006907, 0x417f3d56, 0x00007100, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x1140e81d,
+ 0x00001900, 0x85000e45, 0x00001283, 0x01808000, 0x0000e189, 0x08022a0f,
+ 0x0000e110, 0x8570e61c, 0x0000e111, 0x08022a15, 0x00006110, 0x00000001,
+ 0x00007088, 0x418c3f26, 0x0000f300, 0x11000800, 0x0000e180, 0xc560cc19,
+ 0x0000c901, 0x00001c15, 0x00001583, 0x11800000, 0x00001988, 0x04107846,
+ 0x0000e909, 0x000041ad, 0x0000f010, 0x00c006ec, 0x00005784, 0x003a3000,
+ 0x00000000, 0x00c006ec, 0x00005784, 0x00000000, 0x00008080, 0x00c006ec,
+ 0x00005784, 0x00000000, 0x00008080, 0x00c006ec, 0x00005784, 0x00000000,
+ 0x00008080, 0x08022a0f, 0x0000e900, 0x80001a0f, 0x00009582, 0x83c0120f,
+ 0x000018d0, 0xcf00040f, 0x0000d0d4, 0x00400000, 0x00008000, 0x000041b0,
+ 0x0000f038, 0xcf00060f, 0x00005084, 0x00400000, 0x00008000, 0xcf40000f,
+ 0x0000d084, 0x00400000, 0x00008000, 0xcf40020f, 0x00005084, 0x00400000,
+ 0x00008000, 0xcf00040f, 0x00005004, 0x00400000, 0x00000080, 0xcf00060f,
+ 0x0000d004, 0x00400000, 0x00000080, 0x000041b0, 0x0000f400, 0xcf40000f,
+ 0x00005004, 0x00400000, 0x00000080, 0xcf40020f, 0x0000d004, 0x00400000,
+ 0x00000080, 0x00002415, 0x00009583, 0x01808800, 0x00001991, 0x00000001,
+ 0x0000f091, 0x00003e70, 0x00007400, 0x00000418, 0x00006583, 0x05400000,
+ 0x00000980, 0xc5400800, 0x0000e188, 0x8560cc19, 0x0000c900, 0x41b93d56,
+ 0x0000f500, 0x07000000, 0x000004e4, 0x11c000a0, 0x00006180, 0x12000000,
+ 0x00004980, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x81800000, 0x0000e180, 0x0580e81d, 0x00004900, 0x46601e16,
+ 0x0000498c, 0x66900206, 0x0000908c, 0x03c00000, 0x00001980, 0x0400b00f,
+ 0x0000e901, 0x00c004ec, 0x0000d784, 0x00387800, 0x00008000, 0x0000e8ec,
+ 0x0000f902, 0x03c00000, 0x00000704, 0x0000e0ec, 0x00007902, 0x06400000,
+ 0x00008704, 0x0000c0ec, 0x0000f902, 0x03c00000, 0x00000704, 0x0000a8ec,
+ 0x00007902, 0x03c00000, 0x00000704, 0xffffffff, 0x00007fa7, 0x1440c80f,
+ 0x0000e200, 0x1400e015, 0x00008200, 0xc3c40751, 0x0000e283, 0x1480e015,
+ 0x00000200, 0x01818751, 0x00001281, 0x000041f8, 0x00007009, 0x00018406,
+ 0x00009583, 0x000041e6, 0x0000f00b, 0xc3c20751, 0x00001283, 0x03c04000,
+ 0x00006188, 0x03c20000, 0x00004990, 0xffffffff, 0x00007f86, 0x03c2700f,
+ 0x00009202, 0x86128a51, 0x0000e110, 0x0c028a06, 0x00006116, 0xc6129252,
+ 0x00006110, 0x855a9352, 0x00004910, 0x00004226, 0x0000f008, 0x07903206,
+ 0x0000e100, 0x04226815, 0x0000e087, 0x000041f6, 0x00007400, 0x0740c018,
+ 0x0000e100, 0x08828f15, 0x0000e000, 0x05400000, 0x0000e180, 0x0700a815,
+ 0x00004900, 0xc3c20751, 0x00001283, 0x03c80000, 0x00006188, 0x03c40000,
+ 0x00004990, 0xffffffff, 0x00007f86, 0x03c2700f, 0x00009202, 0x0640e818,
+ 0x0000e210, 0x855a9352, 0x00008910, 0x86128a51, 0x0000e110, 0xc6129252,
+ 0x00004910, 0x00004226, 0x0000f008, 0x0780c819, 0x0000e100, 0x04226815,
+ 0x0000e087, 0x0740c018, 0x0000e100, 0x08828f15, 0x0000e000, 0x05400800,
+ 0x00006180, 0x0700a815, 0x00004900, 0x42264166, 0x0000f100, 0x00004226,
+ 0x00007000, 0x00018751, 0x0000408c, 0x00018406, 0x00008090, 0x40d0004e,
+ 0x0000c494, 0x30800251, 0x00009094, 0x43000050, 0x00004690, 0x4c808406,
+ 0x00001094, 0x4160204e, 0x00004494, 0x30800251, 0x00009094, 0x03000050,
+ 0x0000c792, 0x8261004e, 0x00000097, 0x02c00251, 0x00004590, 0x02400050,
+ 0x0000818b, 0x02800251, 0x0000c590, 0x02200050, 0x0000018a, 0x00004212,
+ 0x00007400, 0x03c00000, 0x0000f900, 0x00004000, 0x00000980, 0x83e26c4d,
+ 0x00006100, 0x0540e818, 0x0000c200, 0x00004212, 0x00007400, 0x03c00000,
+ 0x00006180, 0x0c028a06, 0x0000e106, 0xc3f0354d, 0x00000116, 0x03c00020,
+ 0x0000e180, 0x0c028a06, 0x0000e106, 0xc3f0354d, 0x00000116, 0x421340c3,
+ 0x00007100, 0x80000251, 0x00001582, 0x00000050, 0x00009582, 0xffffffff,
+ 0x00007f86, 0x00004218, 0x00007010, 0x00004226, 0x0000f008, 0x01820751,
+ 0x00001283, 0x03c01000, 0x00006188, 0x03c08000, 0x00004990, 0xffffffff,
+ 0x00007f86, 0x03c2700f, 0x00009202, 0x85528a51, 0x00006110, 0xc5529252,
+ 0x0000c910, 0x83da9352, 0x0000e110, 0x83e26c4d, 0x00004911, 0x00004226,
+ 0x0000f008, 0x42264048, 0x0000f500, 0x0600a815, 0x0000e100, 0x08828f0f,
+ 0x00006000, 0x0540780f, 0x00001900, 0x11c000a0, 0x00006180, 0x0800b206,
+ 0x00006100, 0x07000000, 0x000004e4, 0x422d3d56, 0x00007500, 0x12000000,
+ 0x00006180, 0x86000a06, 0x0000c080, 0x91c00a06, 0x00009080, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0x0580e81d,
+ 0x00001900, 0x46601e16, 0x0000498c, 0x80900218, 0x00009093, 0x85000c4d,
+ 0x00001880, 0x0640204e, 0x00001282, 0x8b78c614, 0x0000a084, 0x0000423e,
+ 0x00007009, 0xffffffff, 0x00007f86, 0x01803d18, 0x00009281, 0x00000c06,
+ 0x00001583, 0x80001018, 0x00006c0c, 0x0000423e, 0x00007009, 0x00001c06,
+ 0x00009583, 0x80002018, 0x00006c0c, 0x00000001, 0x00007280, 0x8b78c614,
+ 0x00002884, 0x138003ff, 0x000000fc, 0x424441b5, 0x00007500, 0x0020a80f,
+ 0x00006886, 0x1340780f, 0x00009900, 0x00000001, 0x0000f080, 0xc0000314,
+ 0x00006582, 0x83c00a14, 0x00008880, 0x8b80a80f, 0x0000a006, 0x8b407e0f,
+ 0x0000a085, 0xffffffff, 0x00007fa7, 0x08207c0e, 0x00006804, 0x80000215,
+ 0x00001582, 0xffffffff, 0x00007f86, 0x00004279, 0x0000f008, 0x00004298,
+ 0x0000f010, 0x0000140e, 0x00006583, 0x03c00000, 0x00000981, 0x0000240e,
+ 0x00006583, 0x03c00800, 0x00000989, 0x0000140e, 0x00001593, 0x05800000,
+ 0x00006188, 0x03800000, 0x00004988, 0x8387fa14, 0x00009288, 0x00004271,
+ 0x00007010, 0x425a406f, 0x00007300, 0x0540700e, 0x00001900, 0x00000406,
+ 0x00009583, 0x01c80000, 0x0000e190, 0x02800000, 0x0000c990, 0x01e0a414,
+ 0x00006111, 0x81e03406, 0x0000c911, 0x0000426c, 0x00007008, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x0387c800, 0x00007900, 0x0013ed32,
+ 0x00008980, 0x03dbe000, 0x00007900, 0x001b52d6, 0x00008980, 0x02000000,
+ 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500, 0x00008032, 0x00004293,
+ 0x00007400, 0x03783f02, 0x00008108, 0x8100f000, 0x00001980, 0x0000040f,
+ 0x00009583, 0x03801800, 0x00009989, 0x03800800, 0x00001991, 0x00004298,
+ 0x0000f008, 0x00004298, 0x00007000, 0x0000340e, 0x00001583, 0x03800020,
+ 0x00009988, 0x43a0a414, 0x00009909, 0x00004298, 0x0000f010, 0x42773ef9,
+ 0x00007300, 0x1880700e, 0x00001900, 0x00004298, 0x0000f200, 0x03802800,
+ 0x00001981, 0x03c02c0e, 0x00001281, 0x00000c0f, 0x00001583, 0x80000a15,
+ 0x00009582, 0xffffffff, 0x00007f86, 0x0000429f, 0x00007010, 0x0000429f,
+ 0x0000f030, 0x428240c3, 0x00007500, 0x05400000, 0x000080fc, 0x83c7fa14,
+ 0x00009280, 0x00000406, 0x00009583, 0x01c00000, 0x00006190, 0x02800000,
+ 0x0000c990, 0x01e0a414, 0x00006111, 0x81e03406, 0x0000c911, 0x00004294,
+ 0x0000f008, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03b5a800,
+ 0x0000f900, 0x00119258, 0x00008980, 0x03dbe000, 0x00007900, 0x001b52d6,
+ 0x00008980, 0x02000000, 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500,
+ 0x00008032, 0x03783f02, 0x00008108, 0x8100f000, 0x00001980, 0x42940f22,
+ 0x0000f100, 0x00000c0e, 0x00009583, 0x03801000, 0x00001989, 0x03802000,
+ 0x00001991, 0x00004298, 0x0000f008, 0x83c00a14, 0x00001880, 0x8b40360f,
+ 0x0000a085, 0xffffffff, 0x00007fa7, 0x0187c406, 0x00001281, 0x00000001,
+ 0x00007480, 0x03a07406, 0x00001301, 0x8b58760f, 0x0000a886, 0x00002c0e,
+ 0x0000e583, 0x01800000, 0x00000981, 0x83c00000, 0x0000e180, 0x01800800,
+ 0x0000c989, 0x80000215, 0x00001582, 0x83c00800, 0x00009990, 0xffffffff,
+ 0x00007f86, 0x01a07c06, 0x00001203, 0x03800000, 0x00001990, 0x43a0a414,
+ 0x00009911, 0x00004298, 0x0000f008, 0x42ac3ef9, 0x00007300, 0x1880700e,
+ 0x00001900, 0x00004298, 0x0000f200, 0x03803000, 0x00001981, 0x01400707,
+ 0x000080a2, 0x01cf2706, 0x00008022, 0x11f82f07, 0x00008018, 0x42b513be,
+ 0x0000f404, 0x12009800, 0x00007900, 0x00002a00, 0x00000980, 0x12403006,
+ 0x00001900, 0x3038324b, 0x00002080, 0xffffffff, 0x00007fa7, 0x40000506,
+ 0x00009583, 0x01400000, 0x0000e190, 0x83400a4b, 0x0000c090, 0x000043a0,
+ 0x00007011, 0x000043a2, 0x0000f000, 0x3000520d, 0x00007902, 0x03800000,
+ 0x00008000, 0x30004c0d, 0x00007902, 0x01c00000, 0x00008000, 0xffffffff,
+ 0x00007f97, 0x80001e0a, 0x00009583, 0x03800000, 0x00006188, 0x03e057e4,
+ 0x0000c808, 0x1380780f, 0x00006108, 0x03a8550a, 0x00004909, 0x000042d1,
+ 0x00007010, 0x42c941b5, 0x00007300, 0x1340700e, 0x00009900, 0x03800020,
+ 0x00001980, 0x42cd4245, 0x0000f500, 0x83a8550a, 0x00009900, 0x0500700e,
+ 0x00009900, 0x023f0008, 0x0000f900, 0x003ffffe, 0x00008280, 0xe780fc08,
+ 0x0000788e, 0xb2000000, 0x0000218b, 0x02c00e0a, 0x00001181, 0x00000c0b,
+ 0x00009583, 0x01800000, 0x000099b1, 0x00004373, 0x00007019, 0x8000160a,
+ 0x00001583, 0x01800800, 0x00009989, 0x5fe02c0a, 0x0000c388, 0x00802c0a,
+ 0x00008098, 0x5fe0140a, 0x00004388, 0x0080140a, 0x00000098, 0x01000c0a,
+ 0x0000c788, 0x89801c0a, 0x0000058f, 0x5c60240a, 0x0000c688, 0xe680440a,
+ 0x0000109e, 0xce803c0a, 0x000078aa, 0xea000000, 0x0000218a, 0xcbc04c0a,
+ 0x0000f88a, 0x9a000000, 0x0000218b, 0x00000406, 0x00009583, 0x03800000,
+ 0x00006190, 0x82d84b09, 0x00004910, 0x03a8550a, 0x00006111, 0xc3904a09,
+ 0x0000c910, 0x000042f3, 0x00007008, 0x0000240a, 0x0000e583, 0x0410380b,
+ 0x00002187, 0x8000080e, 0x0000ec8e, 0x42ef4001, 0x00007500, 0xffffffff,
+ 0x00007f86, 0x03b8770b, 0x00000114, 0xffffffff, 0x00007f86, 0x00203008,
+ 0x00006880, 0xe780fc08, 0x0000788e, 0xb2000000, 0x0000218b, 0x0000240a,
+ 0x0000e583, 0x02c00000, 0x00000980, 0x0010480e, 0x00006186, 0x0010380b,
+ 0x0000b186, 0x0418480e, 0x0000e187, 0x0428500b, 0x00003087, 0x0600700e,
+ 0x0000e100, 0x8000080b, 0x0000e48f, 0x42ef4048, 0x0000f500, 0xffffffff,
+ 0x00007f86, 0x0540580b, 0x00001900, 0x000042ef, 0x00007000, 0x00000406,
+ 0x00009583, 0x05400000, 0x0000e191, 0x82c00d0a, 0x0000c890, 0x8b40360b,
+ 0x0000a095, 0x00004320, 0x00007008, 0x00002c0a, 0x00006583, 0x05000000,
+ 0x00000981, 0x83800000, 0x00006180, 0x05400800, 0x00004989, 0x05000800,
+ 0x0000e191, 0x08003416, 0x00006004, 0xc0000307, 0x00001582, 0x83800800,
+ 0x00001988, 0xffffffff, 0x00007f86, 0x03a07414, 0x00001203, 0x000043a5,
+ 0x0000f00b, 0x00001c16, 0x00001583, 0x0187c406, 0x00009289, 0x01802406,
+ 0x00001389, 0x00004317, 0x0000f008, 0x00000c16, 0x00009583, 0x0187c406,
+ 0x00009289, 0x01801406, 0x00001389, 0x000043a5, 0x0000f010, 0x8b58360b,
+ 0x0000a886, 0x02c00000, 0x00001981, 0x00205808, 0x0000e880, 0xe780fc08,
+ 0x0000788e, 0xb2000000, 0x0000218b, 0x03800000, 0x00009980, 0x0000435c,
+ 0x0000f400, 0x83a8550a, 0x00009900, 0x0500700e, 0x00009900, 0x00002c0a,
+ 0x00006583, 0x02c00000, 0x00000980, 0x05583b07, 0x00006100, 0x82e8550a,
+ 0x0000c900, 0x0000080b, 0x0000ec8f, 0x432840c3, 0x0000f500, 0xffffffff,
+ 0x00007f86, 0x03c0580b, 0x00009900, 0x00000406, 0x00006583, 0x02e03406,
+ 0x00000901, 0x03c00020, 0x00001988, 0x83e8550a, 0x00009908, 0x0000435c,
+ 0x00007208, 0x0500780f, 0x00001908, 0x00004319, 0x0000f000, 0x00000406,
+ 0x00009583, 0x02c00000, 0x00007900, 0x00004000, 0x00000980, 0x0580700e,
+ 0x0000e110, 0x82e8550a, 0x0000c900, 0x00004338, 0x00007008, 0x42ef406f,
+ 0x0000f300, 0x0540580b, 0x00001900, 0x000042ef, 0x00007000, 0x42ef40c3,
+ 0x0000f300, 0x03f8770b, 0x00008114, 0x00000406, 0x00006583, 0x83d04a09,
+ 0x00008900, 0x03e03d09, 0x00008118, 0x85a8550a, 0x00006101, 0xc5800000,
+ 0x0000c991, 0x0000434e, 0x0000f008, 0x0000340a, 0x00006583, 0x05183b07,
+ 0x00000900, 0x02c00000, 0x0000e180, 0x80000816, 0x0000e48f, 0x434740f4,
+ 0x00007500, 0xffffffff, 0x00007f86, 0x0380b016, 0x00001900, 0x00000406,
+ 0x00006583, 0x02e03406, 0x00000901, 0x03800000, 0x00001988, 0x83a8550a,
+ 0x00001908, 0x0000435c, 0x00007208, 0x0500700e, 0x00001908, 0x00004319,
+ 0x0000f000, 0x0000340a, 0x00006583, 0x80000016, 0x00002487, 0x07983b07,
+ 0x0000e100, 0x80000816, 0x0000e48f, 0x43564166, 0x00007500, 0x05400000,
+ 0x0000e180, 0x0740780f, 0x0000c900, 0x0700b016, 0x00001900, 0x00000406,
+ 0x00006583, 0x02e03406, 0x00000901, 0x03800020, 0x00009988, 0x83a8550a,
+ 0x00001908, 0x00004319, 0x00007010, 0x0500700e, 0x00009900, 0x43194245,
+ 0x0000f100, 0x00000406, 0x00006583, 0x02c0700e, 0x00008900, 0x03e84c09,
+ 0x0000803c, 0x05a05407, 0x0000011a, 0x0000436a, 0x0000f008, 0x00003c0a,
+ 0x0000e583, 0x80000016, 0x00002487, 0x0500700e, 0x0000e100, 0x80000816,
+ 0x0000e48f, 0x42ef40f4, 0x00007500, 0x02c00800, 0x00001980, 0x0380b016,
+ 0x00001900, 0x000042ef, 0x00007000, 0x00003c0a, 0x0000e583, 0x80000016,
+ 0x00002487, 0x0780580b, 0x0000e100, 0x80000816, 0x0000e48f, 0x42ef4166,
+ 0x00007500, 0x05400800, 0x00006180, 0x0740780f, 0x0000c900, 0x0700b016,
+ 0x00001900, 0x000042ef, 0x00007000, 0x0000b008, 0x0000ec80, 0xe780fc08,
+ 0x0000788e, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0xc0000706,
+ 0x00006583, 0x0800440b, 0x00002080, 0x0000ac0b, 0x00009583, 0xffffffff,
+ 0x00007f86, 0x0000437d, 0x0000f010, 0x0000438d, 0x00007050, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x03860800, 0x0000f900, 0x00119262,
+ 0x00008980, 0x03e41800, 0x0000f900, 0x000c2fa6, 0x00000980, 0x08001a0c,
+ 0x0000e106, 0x08004712, 0x00003080, 0x83200500, 0x00008032, 0x03405702,
+ 0x00000109, 0x44b0510a, 0x00008109, 0x8100e000, 0x0000e180, 0x82184b09,
+ 0x0000c900, 0x438d0f22, 0x00007500, 0x82084907, 0x0000002a, 0x82983b07,
+ 0x00001900, 0x22800000, 0x00007900, 0x00014080, 0x00000980, 0x22062800,
+ 0x0000f900, 0x00119262, 0x00008980, 0x22641800, 0x00007900, 0x000c2fa6,
+ 0x00000980, 0x08001a76, 0x00006106, 0x08004775, 0x0000b080, 0x9da00500,
+ 0x0000871a, 0x1dc05702, 0x00000715, 0x5d70510a, 0x00008715, 0xa5484807,
+ 0x00000916, 0x439c0f4f, 0x0000f500, 0xa5083809, 0x00000912, 0xa280e000,
+ 0x00009980, 0x000043a2, 0x00007200, 0x02040008, 0x00009380, 0x01400805,
+ 0x00006080, 0x8340120d, 0x00000080, 0x00303005, 0x00001502, 0x000042bc,
+ 0x0000704b, 0xb9184308, 0x00001900, 0xffffffff, 0x00007fa7, 0x00000000,
+ 0x00007083, 0x85800707, 0x000000b8, 0x83a8550a, 0x00009900, 0x43aa406f,
+ 0x0000f500, 0x0400a80e, 0x00006887, 0x0540700e, 0x00001900, 0x02e03406,
+ 0x00009901, 0xc6400406, 0x0000f892, 0xe2000000, 0x00002188, 0x534006ec,
+ 0x0000d080, 0x00400000, 0x00008000, 0x9e000eec, 0x00005086, 0x00400000,
+ 0x00008000, 0x534006ec, 0x00005000, 0x00400800, 0x00008080, 0x02400001,
+ 0x000001c0, 0x42000000, 0x000000dd, 0x83400000, 0x00001980, 0x81401210,
+ 0x0000e282, 0x82d082e5, 0x00008400, 0x02800000, 0x0000f900, 0x00002580,
+ 0x00008980, 0x81400a10, 0x00006280, 0xc2c02210, 0x00000880, 0x000043cd,
+ 0x0000f208, 0x02982c10, 0x00008029, 0x43c240f4, 0x0000f500, 0x05385f10,
+ 0x0000003c, 0x02c00800, 0x00006180, 0x0380500a, 0x00004900, 0x00000406,
+ 0x00009583, 0x02800000, 0x00001991, 0x000043c9, 0x00007011, 0x81801210,
+ 0x0000e282, 0x82000a08, 0x00000080, 0x02800800, 0x00001981, 0x000043d8,
+ 0x00007009, 0x43d6406f, 0x00007500, 0x0544b000, 0x00007900, 0x00004000,
+ 0x00000980, 0x05804809, 0x00001900, 0x43d140f4, 0x00007500, 0x05385f10,
+ 0x0000003c, 0x02c00000, 0x0000e180, 0x0380500a, 0x00004900, 0x00000406,
+ 0x00009583, 0x0504b000, 0x0000e188, 0x02800000, 0x00004991, 0x000043d8,
+ 0x00007011, 0x43c54245, 0x00007100, 0xf8000406, 0x0000f88a, 0x12000000,
+ 0x0000a18f, 0x0584b709, 0x00008098, 0x43dc406f, 0x00007500, 0x04202806,
+ 0x0000e887, 0x05403006, 0x00001900, 0x00000406, 0x00009583, 0x0504b000,
+ 0x00009988, 0x000043e2, 0x00007011, 0x43e04245, 0x0000f100, 0x02800800,
+ 0x00006181, 0x81c00a07, 0x0000c080, 0xc1400a10, 0x00006080, 0x0184b000,
+ 0x00008980, 0x81404210, 0x0000e080, 0x82202806, 0x00006086, 0x81403210,
+ 0x00006080, 0xc1908205, 0x00004000, 0x43ec4001, 0x0000f500, 0x05403006,
+ 0x00006100, 0x81508205, 0x0000c000, 0x03802805, 0x00001900, 0xffffffff,
+ 0x00007f86, 0x00000406, 0x00009583, 0x83400a0d, 0x00001088, 0x000043f2,
+ 0x0000f009, 0x0000040a, 0x00009583, 0x000043f6, 0x0000f00b, 0x02401009,
+ 0x00006080, 0x04000810, 0x00000080, 0x00100010, 0x00009582, 0x000043b6,
+ 0x00007013, 0x02400001, 0x000000f1, 0x815042e5, 0x00009400, 0x0284b000,
+ 0x00006180, 0x81800a0c, 0x00004780, 0x43fe40c3, 0x00007500, 0x82800c0c,
+ 0x00006281, 0xc2800c06, 0x00008281, 0x03f84f0a, 0x00008114, 0x82800a0d,
+ 0x00009180, 0x8180420a, 0x00001880, 0x8180320a, 0x0000e080, 0x82d05206,
+ 0x0000c000, 0xc2d05206, 0x00001000, 0x01800000, 0x0000f900, 0x00002580,
+ 0x00008980, 0x0600580b, 0x0000e100, 0x00106806, 0x00006186, 0x440a4048,
+ 0x00007500, 0xc1800c0a, 0x00001281, 0x05403006, 0x00001900, 0x02c00000,
+ 0x00007900, 0x00002580, 0x00008980, 0x84000a08, 0x0000e780, 0x0010400b,
+ 0x00002186, 0x01800000, 0x00006180, 0x83906205, 0x00004100, 0xc3802208,
+ 0x0000e080, 0xc2c00c08, 0x00004281, 0x01800c10, 0x00006281, 0x05104208,
+ 0x00000900, 0x441740f4, 0x0000f500, 0x03f85f0e, 0x00008038, 0x02c03006,
+ 0x00001900, 0x00000406, 0x00009583, 0x82000a08, 0x0000e088, 0x83000a0c,
+ 0x00008088, 0x02401009, 0x00001088, 0x00004420, 0x0000f010, 0x8000520c,
+ 0x00009582, 0x83400a0d, 0x00009190, 0x00004425, 0x00007009, 0x000043f8,
+ 0x0000f000, 0x44224240, 0x00007300, 0x0544b000, 0x00009980, 0x000044ef,
+ 0x0000f200, 0x534006ec, 0x00005000, 0x00407800, 0x00000080, 0x53b828ec,
+ 0x00002000, 0x534006ec, 0x00005000, 0x00401000, 0x00008080, 0xffffffff,
+ 0x00007f97, 0x01402a0a, 0x00001000, 0x53b828ec, 0x0000a800, 0x53b82aec,
+ 0x0000a000, 0xffffffff, 0x00007fa7, 0x01402a08, 0x00009000, 0x53b82aec,
+ 0x00002800, 0x53b82aec, 0x00002080, 0xffffffff, 0x00007fa7, 0x01405005,
+ 0x00009180, 0x01402a07, 0x00009000, 0x53b82aec, 0x0000a880, 0x81400000,
+ 0x00009980, 0x1a105205, 0x0000780b, 0x02000001, 0x00008080, 0x81803205,
+ 0x0000e080, 0x12400000, 0x0000c980, 0x87102a06, 0x00006000, 0x12000000,
+ 0x00008980, 0x81804205, 0x00006080, 0x11c00040, 0x0000c980, 0x44413d56,
+ 0x00007500, 0xc7000a05, 0x00006080, 0x92502a06, 0x00000000, 0xe7a02849,
+ 0x0000e801, 0xffffffff, 0x00007fa7, 0x02f8ef1c, 0x00000018, 0x81400e06,
+ 0x00009283, 0xc1400f0b, 0x00001283, 0xffffffff, 0x00007f86, 0x00004460,
+ 0x00007008, 0x00004459, 0x00007010, 0x01803800, 0x00007900, 0x00020002,
+ 0x00008980, 0x04305806, 0x0000e901, 0x003834ec, 0x0000d704, 0x00000000,
+ 0x00008080, 0x000004ec, 0x0000d784, 0x00000016, 0x00000a80, 0x000144ec,
+ 0x0000d784, 0x0000059a, 0x000082a0, 0x000048ec, 0x0000f902, 0x01800000,
+ 0x00000704, 0xffffffff, 0x00007fa7, 0x81401e09, 0x00001283, 0x08004a06,
+ 0x0000e910, 0x000044e5, 0x00007009, 0x3944b206, 0x00007893, 0x2a000000,
+ 0x00002283, 0x8004b60b, 0x00001583, 0x0544b000, 0x00001990, 0x00004465,
+ 0x0000f009, 0x445d4240, 0x00007100, 0x000044e9, 0x0000f200, 0x534006ec,
+ 0x00005000, 0x00404000, 0x00008080, 0x44624240, 0x0000f300, 0x0544b000,
+ 0x00009980, 0x000044e9, 0x0000f200, 0x534006ec, 0x00005000, 0x00403000,
+ 0x00000080, 0x81400a05, 0x00009080, 0x0dd05205, 0x00007813, 0x02000001,
+ 0x00008080, 0xffffffff, 0x00007f86, 0xffffffff, 0x00007f86, 0xffffffff,
+ 0x00007f86, 0x534006ec, 0x00005000, 0x00401800, 0x00000080, 0x0180a800,
+ 0x00009980, 0x26503a0c, 0x00007823, 0x02000001, 0x00008080, 0x12400000,
+ 0x000084e0, 0x8140120c, 0x00006282, 0x07000000, 0x00000980, 0x11c00040,
+ 0x0000e180, 0xc0001849, 0x0000e413, 0x12003006, 0x00001910, 0x0000447d,
+ 0x00007010, 0x81400a0c, 0x00009282, 0x01400800, 0x0000e189, 0x01401000,
+ 0x0000c991, 0xffffffff, 0x00007f86, 0xc7202849, 0x00006803, 0x04103049,
+ 0x00006907, 0x447e3d56, 0x0000f100, 0xffffffff, 0x00007fa7, 0x0280e81d,
+ 0x00009900, 0x81400e0a, 0x00009283, 0x01403800, 0x0000f910, 0x00020002,
+ 0x00008980, 0x04005005, 0x0000e911, 0x00004494, 0x0000f008, 0x00382cec,
+ 0x0000d704, 0x00000000, 0x00008080, 0x000004ec, 0x0000d784, 0x00000016,
+ 0x0000aa80, 0x000144ec, 0x0000d784, 0x0000059a, 0x000082a0, 0x000048ec,
+ 0x0000f902, 0x01400000, 0x00000704, 0xffffffff, 0x00007fa7, 0x81401e09,
+ 0x00001283, 0x01801006, 0x0000e090, 0x08004a05, 0x0000a110, 0x000044eb,
+ 0x0000f009, 0x3ac4b205, 0x0000f893, 0x8a000000, 0x0000a287, 0x44964240,
+ 0x00007300, 0x0544b000, 0x00009980, 0x000044ef, 0x0000f200, 0x534006ec,
+ 0x00005000, 0x00404800, 0x00000080, 0x534006ec, 0x00005000, 0x00402000,
+ 0x00008080, 0x01c00000, 0x00009980, 0x33d04207, 0x0000f823, 0x02000001,
+ 0x00008080, 0x12400000, 0x00007900, 0x00200000, 0x00000980, 0x82401207,
+ 0x0000e282, 0x81800a07, 0x00000280, 0x92503ae5, 0x0000e400, 0x12000000,
+ 0x00008980, 0x01403807, 0x0000e100, 0xe7a03049, 0x00006001, 0x11c00040,
+ 0x0000e180, 0xc0001849, 0x0000e413, 0x000044b2, 0x0000f410, 0xc7103a07,
+ 0x00006100, 0x87002207, 0x00004880, 0x12003807, 0x00001910, 0x01800c06,
+ 0x00009283, 0x01800800, 0x0000e189, 0x01801000, 0x0000c991, 0xffffffff,
+ 0x00007f86, 0xc7203049, 0x00006803, 0x04103849, 0x0000e907, 0x44b33d56,
+ 0x00007100, 0xffffffff, 0x00007fa7, 0x0280e81d, 0x00009900, 0x81800e0a,
+ 0x00009283, 0x01803800, 0x0000f910, 0x00020002, 0x00008980, 0x04005006,
+ 0x0000e911, 0x000044c9, 0x00007008, 0x003834ec, 0x0000d704, 0x00000000,
+ 0x00008080, 0x000004ec, 0x0000d784, 0x00000016, 0x0000aa80, 0x000144ec,
+ 0x0000d784, 0x0000059a, 0x000082a0, 0x000048ec, 0x0000f902, 0x01800000,
+ 0x00000704, 0xffffffff, 0x00007fa7, 0x81801e09, 0x00001283, 0x01c00807,
+ 0x0000e090, 0x08004a06, 0x0000a110, 0x000044f4, 0x00007009, 0x05a4b206,
+ 0x0000c591, 0x7d604407, 0x0000002c, 0x44cb4240, 0x0000f300, 0x0544b000,
+ 0x00009980, 0x000044f9, 0x00007400, 0x534006ec, 0x00005000, 0x00405800,
+ 0x00008080, 0x53b838ec, 0x0000a880, 0x44d34240, 0x0000f500, 0x534006ec,
+ 0x00005000, 0x00402800, 0x00000080, 0x0544b000, 0x00009980, 0x9e4028ec,
+ 0x00002006, 0x9e0006ec, 0x0000d086, 0x00400000, 0x00008000, 0xffffffff,
+ 0x00007f97, 0x80000205, 0x00009582, 0x534006ec, 0x0000d010, 0x00406800,
+ 0x00008080, 0x9e6028ec, 0x0000a00c, 0x000044e2, 0x00007010, 0xffffffff,
+ 0x00007f97, 0x80000205, 0x00009582, 0x534006ec, 0x0000d010, 0x00407000,
+ 0x00008080, 0x534006ec, 0x0000d008, 0x00400000, 0x00000080, 0x000044f9,
+ 0x00007200, 0x538000ec, 0x0000d080, 0x00400000, 0x00008000, 0x44e74240,
+ 0x00007300, 0x0544b000, 0x00009980, 0x534006ec, 0x00005000, 0x00403800,
+ 0x00008080, 0x000044f9, 0x00007200, 0x53b028ec, 0x00002882, 0x44ed4240,
+ 0x00007300, 0x0544b000, 0x00009980, 0x534006ec, 0x00005000, 0x00405000,
+ 0x00000080, 0x000044f9, 0x00007200, 0x53b060ec, 0x00002882, 0x83000a0c,
+ 0x00009080, 0x1c103a0c, 0x0000782b, 0xca000000, 0x00002284, 0x44f64240,
+ 0x00007300, 0x0544b000, 0x00009980, 0x534006ec, 0x00005000, 0x00406000,
+ 0x00000080, 0x53b828ec, 0x00002880, 0x00000001, 0x00007280, 0x53400eec,
+ 0x00005080, 0x00400000, 0x00008000, 0x823f1fe3, 0x00009900, 0x43b85008,
+ 0x00002080, 0xffffffff, 0x00007fa7, 0x8000060a, 0x00009583, 0x01800000,
+ 0x0000e190, 0x02000000, 0x00004990, 0x01b0560a, 0x0000e111, 0xc3300600,
+ 0x0000c911, 0x00000001, 0x00007088, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x039ba800, 0x0000f900, 0x000aeb1c, 0x00000980, 0x03c56000,
+ 0x0000f900, 0x001c6486, 0x00000980, 0x83280500, 0x0000e101, 0x08001a0c,
+ 0x0000e106, 0x45110f22, 0x00007500, 0x035f1f02, 0x0000010b, 0x81006000,
+ 0x00006180, 0x02803006, 0x0000c900, 0x81800000, 0x0000e180, 0x0ec07a1e,
+ 0x0000e004, 0x0780fc0f, 0x0000e281, 0x07e0f41e, 0x00000901, 0x1160f7e4,
+ 0x00009800, 0x110228e5, 0x00001400, 0x87801206, 0x00001880, 0x4b40ee1e,
+ 0x0000f902, 0x07000000, 0x00000004, 0x4b80c81e, 0x00007902, 0x06000000,
+ 0x00008004, 0x4b80ba1e, 0x00007902, 0x05800000, 0x00000004, 0x4b80ac1e,
+ 0x0000f902, 0x05000000, 0x00008004, 0xa500041f, 0x00004488, 0x58800c1f,
+ 0x0000118a, 0xa600141f, 0x0000c488, 0x68801c1f, 0x0000918a, 0xa700241f,
+ 0x00004488, 0x78802c1f, 0x0000118a, 0x5100341f, 0x0000f893, 0x02000000,
+ 0x0000228a, 0x03c0e845, 0x00001202, 0x0740e844, 0x00009210, 0x00004547,
+ 0x00007011, 0x00004550, 0x00007000, 0x03c0e045, 0x00009202, 0x0700e044,
+ 0x00009210, 0x00004547, 0x00007011, 0x00004550, 0x00007000, 0x03c0c845,
+ 0x00009202, 0x0640c844, 0x00009210, 0x00004547, 0x00007011, 0x00004550,
+ 0x00007000, 0x03c0c045, 0x00001202, 0x0600c044, 0x00009210, 0x00004547,
+ 0x00007011, 0x00004550, 0x00007000, 0x03c0b845, 0x00001202, 0x05c0b844,
+ 0x00009210, 0x00004547, 0x00007011, 0x00004550, 0x00007000, 0x03c0b045,
+ 0x00009202, 0x0580b044, 0x00009210, 0x00004547, 0x00007011, 0x00004550,
+ 0x00007000, 0x03c0a845, 0x00009202, 0x0540a844, 0x00009210, 0x00004547,
+ 0x00007011, 0x00004550, 0x00007000, 0x03c0a045, 0x00001202, 0x0500a044,
+ 0x00009210, 0x00004550, 0x00007009, 0x87801206, 0x00001880, 0x4b78ee1e,
+ 0x0000d004, 0x0038e000, 0x00000000, 0x4bb8c81e, 0x00005004, 0x0038c000,
+ 0x00008000, 0x4bb8ba1e, 0x00005004, 0x0038b000, 0x00000000, 0x4bb8ac1e,
+ 0x0000d004, 0x0038a000, 0x00008000, 0x81800a06, 0x00009080, 0x80080206,
+ 0x00001582, 0x00004517, 0x0000f013, 0x00000001, 0x0000f080, 0x00004557,
+ 0x00007200, 0x81800000, 0x00009980, 0x81800a06, 0x00009080, 0x83c00a06,
+ 0x00001880, 0xa540060f, 0x0000d084, 0x00400000, 0x00008000, 0xa5a0000f,
+ 0x00005087, 0x00400000, 0x00008000, 0xa540060f, 0x00005004, 0x00400000,
+ 0x00008081, 0x83c00a06, 0x00009080, 0x8009fa0f, 0x00001582, 0x00004556,
+ 0x00007033, 0x00000001, 0x0000f080, 0x40000507, 0x00001583, 0x81a03c07,
+ 0x00009908, 0xd6400406, 0x0000508c, 0x00400000, 0x00008000, 0x00000001,
+ 0x0000f288, 0xd6400406, 0x0000d00c, 0x004007c0, 0x00007ff8, 0x01c00000,
+ 0x00009980, 0xd6400407, 0x00005084, 0x00400000, 0x00008000, 0xd6400407,
+ 0x0000d004, 0x004007c0, 0x00007ff8, 0x01c00807, 0x00009080, 0x00068007,
+ 0x00009582, 0x0000456a, 0x0000f013, 0x00000001, 0x0000f080, 0x0107f809,
+ 0x0000e280, 0x07c0600c, 0x00008900, 0x45770feb, 0x00007500, 0x07b8570b,
+ 0x00008134, 0x07002004, 0x00001900, 0xffc00000, 0x00006180, 0x01400008,
+ 0x0000c980, 0x04464000, 0x00007900, 0x00002000, 0x00000980, 0x01c00000,
+ 0x0000e180, 0x413f1011, 0x00006002, 0x01001000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x06000000, 0x0000f900, 0x00004000, 0x00000980, 0x06840000,
+ 0x0000f900, 0x000080c0, 0x00000980, 0x01801002, 0x0000e100, 0x00001807,
+ 0x00006106, 0x04000001, 0x000001c8, 0x04c00000, 0x0000e180, 0x05081001,
+ 0x0000c980, 0x05400000, 0x000001d8, 0x05c00000, 0x00006180, 0x06480001,
+ 0x0000c980, 0x06c40000, 0x000001f0, 0x07400000, 0x000001f8, 0x07c00000,
+ 0x000002c0, 0x08400000, 0x000002c8, 0x08c00000, 0x000082d0, 0x09400000,
+ 0x000002d8, 0x09c00000, 0x000002e0, 0x0a400000, 0x000002e8, 0x0ac00000,
+ 0x000082f0, 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0, 0x0c400000,
+ 0x000003c8, 0x0cc00000, 0x000083e0, 0x0e400000, 0x000003e8, 0x41400608,
+ 0x000003ac, 0x00880eec, 0x0000df80, 0x00d06900, 0x000005c4, 0x1eb93f26,
+ 0x0000072c, 0x1f394f28, 0x00000734, 0x1e012024, 0x0000e100, 0x00212828,
+ 0x0000e086, 0x1e412825, 0x00006100, 0x82292828, 0x00006086, 0x1f81502a,
+ 0x0000e100, 0x04192828, 0x0000e187, 0x0a795f28, 0x0000073c, 0x1b131800,
+ 0x00007900, 0x0004ab82, 0x00008980, 0x20396f2c, 0x00000804, 0x20b97f2e,
+ 0x0000080c, 0x1bb92729, 0x0000063c, 0xffffffff, 0x0000ffb7, 0x82c13cec,
+ 0x00007902, 0x09800000, 0x00000604, 0xffffffff, 0x00007fa7, 0x09813827,
+ 0x00001900, 0x0a013026, 0x0000e100, 0x00002026, 0x0000e586, 0x1b414028,
+ 0x00006100, 0x04292826, 0x0000e087, 0x45b6100d, 0x0000f500, 0x86212826,
+ 0x0000e887, 0x1ac13026, 0x00001900, 0xe7206c25, 0x0000c388, 0x00806c25,
+ 0x00008098, 0xb8005c25, 0x0000c488, 0x58806425, 0x00001196, 0xdf200a02,
+ 0x0000c28e, 0x4c808430, 0x00001196, 0x22010430, 0x00004795, 0x13a07425,
+ 0x0000168f, 0xcb008425, 0x0000f89b, 0xca000000, 0x00002389, 0x81000a02,
+ 0x00006282, 0x09001c30, 0x00000281, 0x89771ee3, 0x00006110, 0x01c44000,
+ 0x00004990, 0x52413c25, 0x0000a090, 0x00004768, 0x0000f008, 0x89800000,
+ 0x000002d5, 0x01103000, 0x0000f900, 0x0000a040, 0x00000980, 0x00000427,
+ 0x00006583, 0x02c00000, 0x00000980, 0x09800800, 0x00006189, 0x4501800b,
+ 0x00006003, 0x8000023f, 0x00006582, 0x03c00000, 0x00008980, 0x89400800,
+ 0x00006188, 0xf3e13004, 0x0000e000, 0x00000c24, 0x0000e583, 0x09800000,
+ 0x00008981, 0x09800800, 0x00006189, 0xf7e12804, 0x0000e001, 0x02001c30,
+ 0x00006283, 0x09400000, 0x00008981, 0x014c5000, 0x0000f900, 0x00028280,
+ 0x00008980, 0x09400800, 0x00006189, 0xf7e13005, 0x00006001, 0x01b02000,
+ 0x00007900, 0x00222080, 0x00008980, 0x03400000, 0x00007900, 0x00204000,
+ 0x00008980, 0x04400000, 0x000081cc, 0x89b71ee3, 0x0000e100, 0x71e12806,
+ 0x00006000, 0x08c00000, 0x00007900, 0x00004000, 0x00000980, 0x52605c26,
+ 0x0000a000, 0x52487c26, 0x0000a002, 0x03000000, 0x000080f8, 0x04000000,
+ 0x000081c8, 0x05000000, 0x000081d4, 0x06400000, 0x000001e8, 0x06c00000,
+ 0x000081f0, 0x07400000, 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000,
+ 0x000002c8, 0x0269ed3e, 0x00008020, 0x02a9e43d, 0x00000028, 0x0261f43c,
+ 0x00000020, 0x0349fc3f, 0x00000106, 0x04f98730, 0x00009901, 0x95401c30,
+ 0x0000f897, 0x12000000, 0x00002383, 0x89400fe2, 0x00009880, 0x50e14625,
+ 0x00002080, 0x50c0b625, 0x00002080, 0x50c0ae25, 0x0000a081, 0xffffffff,
+ 0x00007f97, 0x0800b426, 0x0000e004, 0x0000b428, 0x0000b004, 0x05804428,
+ 0x0000e283, 0x0800ac25, 0x00002004, 0x0f40ac15, 0x0000e890, 0xa6a0a830,
+ 0x00006893, 0x85000c24, 0x0000f893, 0x5a000000, 0x00002380, 0x89400fe2,
+ 0x00009880, 0x50c14425, 0x00002002, 0x50e13425, 0x00002001, 0x50d12c25,
+ 0x00002002, 0xffffffff, 0x00007f97, 0x08213426, 0x0000e804, 0x08212c25,
+ 0x0000e804, 0x85000c24, 0x0000f893, 0x02000001, 0x00008080, 0xc5280008,
+ 0x0000e180, 0x05800220, 0x0000c980, 0xc4c00001, 0x00006180, 0x05400008,
+ 0x00004980, 0x05fa3f43, 0x00008120, 0x00004631, 0x00007400, 0x00023843,
+ 0x00006502, 0x85398730, 0x00000901, 0xc5a18c31, 0x00009901, 0x00001424,
+ 0x0000e583, 0x05402730, 0x00000781, 0x8536e810, 0x0000e188, 0x8508a811,
+ 0x00004990, 0x00001424, 0x0000e583, 0x05c20841, 0x00000900, 0xc4d0a214,
+ 0x00006100, 0x05808800, 0x0000c989, 0x05000000, 0x0000f900, 0x00180000,
+ 0x00008980, 0x85119232, 0x00006100, 0x0580d800, 0x0000c991, 0x06021042,
+ 0x0000e100, 0x04319014, 0x0000e007, 0x06421843, 0x00006100, 0x45398014,
+ 0x0000e007, 0x06822044, 0x00006100, 0x8620a814, 0x00006007, 0x06fa3745,
+ 0x00008130, 0x00022040, 0x00006502, 0x07423847, 0x00000900, 0x85418b16,
+ 0x00008114, 0x05820040, 0x00001900, 0x0000d817, 0x00001502, 0x0000e018,
+ 0x00009502, 0x00004632, 0x00007010, 0x00004632, 0x00007010, 0x00004632,
+ 0x00007010, 0x00023843, 0x00009502, 0x80001023, 0x00006c0d, 0x07801c30,
+ 0x0000e283, 0x090f2833, 0x00008200, 0xc799fb3f, 0x00006110, 0x47c12024,
+ 0x0000c900, 0x8000023f, 0x00006582, 0x48412024, 0x00008900, 0x09000000,
+ 0x00006189, 0x09002000, 0x0000c991, 0x08c13427, 0x0000e081, 0x00213028,
+ 0x00002004, 0x88e12423, 0x00006001, 0x48000000, 0x00008980, 0x08c08428,
+ 0x0000e283, 0xf0000022, 0x0000a401, 0xd361300b, 0x0000e014, 0xd361280d,
+ 0x0000b014, 0x00000427, 0x00006583, 0x87998b31, 0x00008900, 0x88000031,
+ 0x0000829e, 0x8000023f, 0x00006582, 0x09c00800, 0x00000991, 0xffffffff,
+ 0x00007f86, 0x0421380b, 0x00006001, 0x0f014027, 0x0000b008, 0x8000023f,
+ 0x00006582, 0x09c00800, 0x00008990, 0x09000000, 0x00009990, 0x08c08c24,
+ 0x00006014, 0x1461380b, 0x00003001, 0x00004653, 0x0000f008, 0x46520fd3,
+ 0x00007300, 0x0d812024, 0x00009900, 0xd761b00f, 0x0000e805, 0x000046b3,
+ 0x00007200, 0x89802434, 0x00001880, 0x89400fe2, 0x00009880, 0x50e14625,
+ 0x00002080, 0x50c0ae25, 0x00002080, 0x50c12e25, 0x0000a081, 0xffffffff,
+ 0x00007f97, 0x0800ac23, 0x0000e004, 0x0000ac28, 0x0000b004, 0x05404428,
+ 0x0000e283, 0x08212c26, 0x0000a004, 0x0f612c25, 0x00006890, 0xa6a12830,
+ 0x00006893, 0x9d000c24, 0x0000f893, 0x5a000000, 0x00002383, 0x89800fe2,
+ 0x00009880, 0x50c14426, 0x00002002, 0x50e12c26, 0x00002001, 0x50d13426,
+ 0x00002002, 0xffffffff, 0x00007f97, 0x08212c23, 0x0000e804, 0x08213426,
+ 0x0000e804, 0x9d000c24, 0x0000f893, 0x02000001, 0x00008080, 0xc5280008,
+ 0x0000e180, 0x05800220, 0x0000c980, 0xc4c00001, 0x00006180, 0x05400008,
+ 0x00004980, 0x05fa3f43, 0x00008120, 0x00004690, 0x0000f400, 0x00023843,
+ 0x00006502, 0x85398730, 0x00000901, 0xc5a18c31, 0x00009901, 0x05000000,
+ 0x0000f900, 0x00180000, 0x00008980, 0x00001424, 0x0000e583, 0x85119232,
+ 0x00008900, 0x8976e810, 0x00006188, 0x8948a811, 0x0000c990, 0x00001424,
+ 0x0000e583, 0x04319014, 0x00002007, 0xc4d12a25, 0x00006100, 0x45398014,
+ 0x0000e007, 0x09402730, 0x00006781, 0x05618c31, 0x00000901, 0x05820040,
+ 0x00006100, 0x86212814, 0x00006007, 0x09408800, 0x0000e189, 0x0940d800,
+ 0x0000c991, 0x05fa1741, 0x00000120, 0x067a2743, 0x00008128, 0x06fa3745,
+ 0x00008130, 0x00022040, 0x00006502, 0x07423847, 0x00000900, 0x45612c25,
+ 0x00001901, 0x0000d817, 0x00001502, 0x0000e018, 0x00009502, 0x00004691,
+ 0x00007010, 0x00004691, 0x00007010, 0x00004691, 0x00007010, 0x00023843,
+ 0x00009502, 0x80001023, 0x00006c0d, 0x07801c30, 0x0000e283, 0x094f2833,
+ 0x00000200, 0xc799fb3f, 0x00006110, 0x47c12825, 0x0000c900, 0x8000023f,
+ 0x00006582, 0x48412825, 0x00008900, 0x09400000, 0x0000e189, 0x09402000,
+ 0x00004991, 0x09013427, 0x00006081, 0x00211828, 0x00002004, 0x88e12c24,
+ 0x00006001, 0x48000000, 0x00008980, 0x09008428, 0x00006283, 0xf0000022,
+ 0x0000a401, 0xd361180b, 0x0000e014, 0xd361300d, 0x0000b014, 0x00000427,
+ 0x00006583, 0x87998b31, 0x00008900, 0x88000031, 0x0000829e, 0x8000023f,
+ 0x00006582, 0x09c00800, 0x00000991, 0xffffffff, 0x00007f86, 0x0421380b,
+ 0x00006001, 0x0f014027, 0x0000b008, 0x8000023f, 0x00006582, 0x09c00800,
+ 0x00008990, 0x09000000, 0x00009990, 0x08c08c24, 0x00006014, 0x1461380b,
+ 0x00003001, 0x000046b2, 0x0000f008, 0x46b10fd3, 0x0000f300, 0x0d812024,
+ 0x00009900, 0xd761b00f, 0x0000e805, 0x8980244c, 0x00001880, 0xc0000823,
+ 0x0000ec01, 0x88c03a26, 0x00009080, 0x50b930ec, 0x0000a000, 0xffffffff,
+ 0x00007fa7, 0x00000826, 0x00009582, 0xb0000823, 0x00006c19, 0x00004739,
+ 0x00007019, 0x8901860b, 0x00006283, 0xb0000023, 0x0000a401, 0x04800000,
+ 0x0000e190, 0x0b005c25, 0x00006012, 0x01000000, 0x0000f910, 0x00014040,
+ 0x00000980, 0x00004739, 0x00007008, 0x0392d800, 0x00007900, 0x0005a686,
+ 0x00000980, 0x03ea5800, 0x0000f900, 0x0036a294, 0x00008980, 0x02000000,
+ 0x0000e180, 0x08001a0c, 0x0000e106, 0x81001000, 0x0000e180, 0xc3300600,
+ 0x00004901, 0x00004738, 0x0000f400, 0x83381400, 0x00008034, 0x02a12c25,
+ 0x00009900, 0x89800fe2, 0x0000e080, 0x80000823, 0x00006405, 0x50f8b626,
+ 0x0000a080, 0x50c12e26, 0x0000a081, 0x04e18c31, 0x00009901, 0xffffffff,
+ 0x00007f86, 0x05404416, 0x00009283, 0x000046d7, 0x0000f00b, 0x8501860b,
+ 0x00009283, 0x0f612c25, 0x00006890, 0x20a12831, 0x0000e892, 0x09c1860b,
+ 0x00009281, 0x00008427, 0x00001583, 0xc5280008, 0x00006188, 0x05400008,
+ 0x0000c988, 0x85218c31, 0x00006109, 0x05800220, 0x00004988, 0x000046e2,
+ 0x0000f010, 0x000046f6, 0x0000f400, 0x45b9bf31, 0x0000011c, 0x0001d837,
+ 0x0000e502, 0x0601d83b, 0x00000900, 0x05000000, 0x0000f900, 0x00180000,
+ 0x00008980, 0x85119232, 0x00006100, 0x09802431, 0x00004781, 0x85580003,
+ 0x00006180, 0x04319014, 0x0000e007, 0x0581a034, 0x00006100, 0x45218814,
+ 0x00006007, 0x05c1a835, 0x0000e100, 0x86213014, 0x00006007, 0x0639bf36,
+ 0x00000124, 0x06b9cf38, 0x0000012c, 0x0739df3a, 0x00000134, 0x05698d31,
+ 0x00009901, 0xdee1c734, 0x0000c410, 0xee81cf35, 0x00009115, 0xbdc1d036,
+ 0x0000f813, 0x02000001, 0x00008080, 0xffffffff, 0x00007f86, 0x0001d837,
+ 0x00001502, 0x80001023, 0x00006c0d, 0x00004727, 0x00007200, 0x09008430,
+ 0x00009283, 0x89c00fe2, 0x00006080, 0x80000823, 0x00006405, 0x50c13627,
+ 0x0000a080, 0x04e18c31, 0x00009901, 0xffffffff, 0x00007f97, 0x05404426,
+ 0x00009283, 0x00004705, 0x0000700b, 0x8501860b, 0x00009283, 0x50d13c27,
+ 0x0000a012, 0xffffffff, 0x00007fa7, 0x0f613c27, 0x00006890, 0x20a13831,
+ 0x00006892, 0x0941860b, 0x00001281, 0x00008425, 0x00009583, 0xc5280008,
+ 0x00006188, 0x05400008, 0x0000c988, 0x85218c31, 0x00006109, 0x05800220,
+ 0x00004988, 0x00004710, 0x0000f010, 0x00004725, 0x0000f400, 0x45b9df31,
+ 0x0000011c, 0x0001f83b, 0x00006502, 0x0601f83f, 0x00000900, 0x05000000,
+ 0x0000f900, 0x00180000, 0x00008980, 0x85119232, 0x00006100, 0x09c02431,
+ 0x0000c781, 0x85580003, 0x00006180, 0x04319014, 0x0000e007, 0x0581c038,
+ 0x00006100, 0x45218814, 0x00006007, 0x05c1c839, 0x0000e100, 0x86213814,
+ 0x0000e007, 0x0639df3a, 0x00000124, 0x06b9ef3c, 0x0000012c, 0x0739ff3e,
+ 0x00000134, 0x0001e038, 0x00006502, 0x05698d31, 0x00000901, 0x0000d817,
+ 0x00001502, 0x0000e018, 0x00009502, 0x00004726, 0x0000f010, 0x00004726,
+ 0x0000f010, 0x00004726, 0x0000f010, 0x0001f83b, 0x00009502, 0x80001023,
+ 0x00006c0d, 0x09004430, 0x00009283, 0x00004739, 0x00007200, 0x88198b31,
+ 0x00006110, 0x87998b31, 0x0000c910, 0x00004739, 0x00007200, 0xc0000023,
+ 0x00006c01, 0x01000000, 0x00007900, 0x00014040, 0x00000980, 0x03955000,
+ 0x0000f900, 0x0004ab82, 0x00008980, 0x03fa9000, 0x0000f900, 0x0016f7fa,
+ 0x00008980, 0x02000000, 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500,
+ 0x00008032, 0x03792702, 0x00000108, 0x81002800, 0x00006180, 0x02812825,
+ 0x0000c900, 0x47390f22, 0x00007100, 0x40c00408, 0x000087dc, 0x15464000,
+ 0x00007900, 0x00002400, 0x00008980, 0x00001877, 0x0000e106, 0x413f1055,
+ 0x00003002, 0x00400000, 0x00007900, 0x00008790, 0x00008980, 0x15000800,
+ 0x0000f900, 0x00080000, 0x00000980, 0x15800000, 0x0000f900, 0x00002000,
+ 0x00000980, 0x17000000, 0x0000f900, 0x00004000, 0x00000980, 0x17848000,
+ 0x00007900, 0x000080c0, 0x00000980, 0x18001000, 0x00007900, 0x00009e00,
+ 0x00000980, 0x19400000, 0x0000f900, 0x00260000, 0x00000980, 0x1d009000,
+ 0x0000f900, 0x00016240, 0x00000980, 0x1d402000, 0x0000f900, 0x0001c008,
+ 0x00008980, 0x0000a8ec, 0x00005780, 0x00007003, 0x00000080, 0xc0004800,
+ 0x0000e181, 0xc0001877, 0x00006006, 0x15c00000, 0x0000e180, 0x16101001,
+ 0x00004980, 0x16400000, 0x000005e8, 0x16c00000, 0x0000e180, 0x17500001,
+ 0x0000c980, 0x17c00000, 0x000086c8, 0x18c00000, 0x00006180, 0x18401002,
+ 0x00004900, 0x19000000, 0x000086d8, 0x19c00000, 0x000006e0, 0x1a400000,
+ 0x000006e8, 0x1ac00000, 0x000086f0, 0x1b400000, 0x000006f8, 0x1bc00000,
+ 0x000087c0, 0x1c400000, 0x000007c8, 0x1cc00000, 0x0000e180, 0x9d901202,
+ 0x0000c900, 0xdd981302, 0x00001900, 0x008806ec, 0x00005f80, 0x00c86840,
+ 0x00000484, 0x89771ee3, 0x0000e100, 0x09800000, 0x00004981, 0x52413c25,
+ 0x00002080, 0x49400000, 0x000080ec, 0x01103000, 0x0000f900, 0x0000a040,
+ 0x00000980, 0x014c5000, 0x0000f900, 0x00028280, 0x00008980, 0x00000427,
+ 0x00006583, 0x4501800b, 0x0000a003, 0x09800800, 0x00006189, 0x03c00000,
+ 0x00004980, 0x8000023f, 0x00006582, 0x04400000, 0x00008980, 0x89400800,
+ 0x00006188, 0xf3e13004, 0x0000e000, 0x00000c24, 0x0000e583, 0x09800000,
+ 0x00008981, 0x09800800, 0x00006189, 0xf7e12804, 0x0000e001, 0x02001c30,
+ 0x00006283, 0x09400000, 0x00008981, 0x09400800, 0x00006189, 0xf7e13005,
+ 0x00006001, 0x01b02000, 0x00007900, 0x00222080, 0x00008980, 0x03400000,
+ 0x00007900, 0x00204000, 0x00008980, 0x04c00000, 0x0000e180, 0x89b71ee3,
+ 0x0000c900, 0x08c00000, 0x00007900, 0x00004000, 0x00000980, 0x01c44000,
+ 0x0000e180, 0x71e12806, 0x00006000, 0x52605c26, 0x0000a000, 0x52487c26,
+ 0x0000a002, 0x03000000, 0x000080f8, 0x04000000, 0x000081c8, 0x05000000,
+ 0x000081d4, 0x06400000, 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000,
+ 0x000001f8, 0x07c00000, 0x000002c0, 0x08400000, 0x000002c8, 0x0269ed3e,
+ 0x00008020, 0x02a9e43d, 0x00000028, 0x0249fc3c, 0x00008106, 0x0221fc3e,
+ 0x00008034, 0x04f98730, 0x00009901, 0x7d401c30, 0x0000f897, 0x12000000,
+ 0x00002380, 0x1000600c, 0x00006100, 0x00206806, 0x0000e086, 0x1040680d,
+ 0x0000e100, 0x82286806, 0x00006086, 0x1080700e, 0x0000e100, 0x04186806,
+ 0x0000e187, 0x01f87f06, 0x0000040c, 0x1b0d9000, 0x00007900, 0x001a1bd0,
+ 0x00008980, 0x11388f10, 0x00000414, 0x11b89f12, 0x0000041c, 0x1238af14,
+ 0x00000424, 0x12b8bf16, 0x0000042c, 0x1bb86707, 0x0000063c, 0xffffffff,
+ 0x0000ffb7, 0x82c02cec, 0x00007902, 0x01000000, 0x00000604, 0xffffffff,
+ 0x00007fa7, 0x01802805, 0x0000e100, 0x00002004, 0x0000e586, 0x1b403006,
+ 0x00006100, 0x04286804, 0x0000e087, 0x47b4100d, 0x0000f500, 0x86206804,
+ 0x0000e887, 0x1ac02004, 0x00001900, 0xfc60540d, 0x0000c198, 0x0080140d,
+ 0x000000a0, 0x03e00c0d, 0x00004a91, 0x82e0740d, 0x00000197, 0x13400000,
+ 0x000085dc, 0x0600c84d, 0x0000e006, 0x00001857, 0x00003106, 0x4600c84d,
+ 0x0000e002, 0xc0001857, 0x0000b006, 0x1304080a, 0x0000e180, 0x6600c84d,
+ 0x0000e000, 0x15001000, 0x0000f900, 0x00014000, 0x00008980, 0x15682000,
+ 0x00007900, 0x00004040, 0x00008980, 0x001098ec, 0x0000d780, 0x00d07540,
+ 0x000002c0, 0x13800000, 0x00006180, 0x7600c84d, 0x00006000, 0x13c40000,
+ 0x000005c0, 0x14400000, 0x000005c8, 0x14c00000, 0x00006180, 0x15801002,
+ 0x0000c900, 0x16000100, 0x000005e4, 0x16800000, 0x000085ec, 0x17000000,
+ 0x000085f4, 0x17800000, 0x000085fc, 0x18000000, 0x000086c4, 0x18800000,
+ 0x000086cc, 0x19000000, 0x000086d4, 0x000047e9, 0x0000f400, 0x19800000,
+ 0x000086dc, 0x01000000, 0x00001981, 0x01000000, 0x00007900, 0x00014040,
+ 0x00000980, 0x01f86f0c, 0x00000018, 0x0390c800, 0x00007900, 0x001a1bd0,
+ 0x00008980, 0x03fa9000, 0x0000f900, 0x0016f7fa, 0x00008980, 0x02000000,
+ 0x0000e180, 0x08001a0c, 0x0000e106, 0x81002800, 0x00006180, 0xc3300600,
+ 0x00004901, 0x47e30f22, 0x00007500, 0x83381400, 0x00008034, 0x02b83f06,
+ 0x00008108, 0x000047e9, 0x0000f200, 0x01000800, 0x00009981, 0x01000c16,
+ 0x00009283, 0x5fe0aeec, 0x0000a991, 0x5fe8aeec, 0x00002991, 0x01206c0d,
+ 0x00009901, 0x00000404, 0x0000e583, 0x0f800000, 0x00000980, 0x07464000,
+ 0x00007900, 0x00002400, 0x00008980, 0x0fc00000, 0x00006180, 0x413f101d,
+ 0x00006002, 0x07000800, 0x0000f900, 0x00080000, 0x00000980, 0x07800000,
+ 0x0000f900, 0x00002000, 0x00000980, 0x09000000, 0x0000f900, 0x00004000,
+ 0x00000980, 0x09848000, 0x00007900, 0x000080c0, 0x00000980, 0x0b400000,
+ 0x0000f900, 0x00260000, 0x00000980, 0x0f009000, 0x0000f900, 0x00016280,
+ 0x00000980, 0x0f400000, 0x00007900, 0x00010000, 0x00000980, 0x07c00000,
+ 0x0000e180, 0xc000183f, 0x00006006, 0x08101001, 0x00006180, 0x08400000,
+ 0x00004980, 0x08800000, 0x000082cc, 0x09500001, 0x0000e180, 0x09c00000,
+ 0x00004980, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000,
+ 0x000082f8, 0x0bc00000, 0x000083c0, 0x0c400000, 0x000003c8, 0x0cc00000,
+ 0x000083d0, 0x0d400000, 0x000003d8, 0x0dc00000, 0x000003e0, 0x00004811,
+ 0x0000f408, 0x0e400000, 0x000003e8, 0x0f800502, 0x000003ac, 0x00803eec,
+ 0x00005f80, 0x00007003, 0x00008084, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x80000298, 0x0000e582, 0xa1c00000, 0x00000980, 0xa1c00800,
+ 0x0000e188, 0x01000800, 0x00004980, 0x02020491, 0x00006283, 0x01400000,
+ 0x00008980, 0x01800000, 0x00006180, 0x71e43804, 0x00006000, 0x01c00000,
+ 0x0000e180, 0x9314c298, 0x0000c900, 0x00004927, 0x0000f010, 0xc0000797,
+ 0x0000e583, 0x0604c805, 0x0000a006, 0x4604c805, 0x00006002, 0x0a015c87,
+ 0x00003004, 0x6604c805, 0x00006000, 0xc7243804, 0x0000b003, 0x02000000,
+ 0x00007900, 0x00018280, 0x00008980, 0x00004962, 0x00007448, 0x02400000,
+ 0x00006180, 0x7604c805, 0x0000e000, 0x02c00044, 0x000080e8, 0x4d040599,
+ 0x0000e283, 0x21804090, 0x00000780, 0x21c43499, 0x00006000, 0x0b000000,
+ 0x00000980, 0x4a843887, 0x0000e100, 0x0b400000, 0x00004980, 0x21c00000,
+ 0x00006189, 0x08048c87, 0x00006010, 0x0b800000, 0x000082fc, 0x0c000000,
+ 0x00006180, 0xf7e4382a, 0x00006001, 0x0c400000, 0x000003c8, 0x0ce00000,
+ 0x000080d2, 0x21818491, 0x00009281, 0x12818486, 0x0000788a, 0x02400001,
+ 0x00008000, 0x00010491, 0x00007894, 0x00000000, 0x00000000, 0x00020599,
+ 0x0000f896, 0x00000000, 0x00008010, 0x00008491, 0x0000788c, 0x00000000,
+ 0x00000000, 0x00040599, 0x0000f88e, 0x00000000, 0x00008020, 0x34010491,
+ 0x0000c48f, 0x40820599, 0x0000928b, 0xd2002591, 0x0000789a, 0x8a400000,
+ 0x0000248d, 0xb1002591, 0x0000789a, 0xf2400000, 0x0000a48f, 0xd2002591,
+ 0x0000789a, 0x8a400000, 0x0000248d, 0x21c60599, 0x00001281, 0x0e860487,
+ 0x00007892, 0x02400001, 0x00000080, 0x21800000, 0x00006181, 0x75848828,
+ 0x00006001, 0x40000591, 0x0000e583, 0x44848828, 0x0000a003, 0x40001d91,
+ 0x0000e583, 0x21800800, 0x00008989, 0x40000591, 0x00009593, 0x000049f0,
+ 0x0000f013, 0x00000486, 0x00001583, 0xca002000, 0x0000e191, 0x0b044889,
+ 0x0000c908, 0x0b44508a, 0x00006108, 0x0b84588b, 0x00004908, 0x0bc4608c,
+ 0x0000e108, 0xc3804000, 0x00004989, 0xca005000, 0x00006189, 0x41008000,
+ 0x0000c989, 0x81418613, 0x00006283, 0x21c18613, 0x00000281, 0xa1800fe2,
+ 0x00001888, 0x50c1ac86, 0x0000a00a, 0x000049b9, 0x00007010, 0x50e1a486,
+ 0x00002001, 0x50d43c86, 0x0000a002, 0xffffffff, 0x00007f97, 0x0001a035,
+ 0x0000e804, 0x0001a435, 0x00006804, 0x0d408435, 0x00009283, 0x8558cb19,
+ 0x00006108, 0x84d8bb17, 0x00004908, 0x00004871, 0x0000f009, 0xd341a015,
+ 0x0000e004, 0xd3643813, 0x0000b004, 0xc4c4070c, 0x00001283, 0x8ac0262b,
+ 0x0000e091, 0xf000000c, 0x00002411, 0xe1414000, 0x00006181, 0x0b014486,
+ 0x00006002, 0xa1400000, 0x0000e181, 0xa1e43504, 0x0000c000, 0x8d008287,
+ 0x00001080, 0xa1926234, 0x00006000, 0xc7526234, 0x00000000, 0x0d00862b,
+ 0x00001080, 0x0d01a286, 0x00009000, 0x0d402034, 0x0000e080, 0x14402034,
+ 0x00000080, 0x1400f835, 0x00006784, 0x8d01462b, 0x00008080, 0xa1d43234,
+ 0x00001000, 0x04143805, 0x0000e985, 0xc4c0472b, 0x0000e283, 0x08001a87,
+ 0x00002106, 0x0d700000, 0x00006180, 0x0d000000, 0x0000c980, 0x0d800000,
+ 0x00006180, 0x04143835, 0x00006101, 0x0dc00000, 0x000003e0, 0x0e400000,
+ 0x000003e8, 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000,
+ 0x000084c0, 0x10400000, 0x000004c8, 0x10c00000, 0x000084d0, 0x11400000,
+ 0x000004d8, 0x11c00000, 0x000004e0, 0x00004a03, 0x00007410, 0x12400000,
+ 0x000004e8, 0x12c00000, 0x00006180, 0xcd004000, 0x00004989, 0x00008036,
+ 0x00006586, 0x00004039, 0x00003586, 0x00012038, 0x00006586, 0x0000103b,
+ 0x0000b403, 0x0000183c, 0x0000e403, 0x00001836, 0x0000b403, 0x10800000,
+ 0x0000f900, 0x0003fc00, 0x00008980, 0x21fff9ff, 0x00006180, 0x00001839,
+ 0x0000e403, 0x5149512a, 0x0000e100, 0x00001037, 0x0000e403, 0x0b014486,
+ 0x00006002, 0x0000403a, 0x00003586, 0x0000203d, 0x0000e586, 0x00001038,
+ 0x0000b403, 0x11000000, 0x0000f900, 0x003fc000, 0x00008980, 0x8000083b,
+ 0x0000e401, 0x8000083c, 0x00003401, 0x30000836, 0x0000e401, 0x30000839,
+ 0x0000b401, 0x00043842, 0x0000e206, 0xf0015045, 0x0000b001, 0x10c7f800,
+ 0x0000e180, 0xf0000835, 0x0000e401, 0x0000103a, 0x00006403, 0x0000083d,
+ 0x0000b403, 0x80000838, 0x0000e401, 0x70001836, 0x00003403, 0xc000e042,
+ 0x00006007, 0x80000839, 0x00003401, 0x100728e5, 0x00006100, 0x80015045,
+ 0x00006085, 0x104728e5, 0x0000e100, 0x8dc0862b, 0x00004180, 0x51094929,
+ 0x00006100, 0x8ed26504, 0x00004000, 0xcf08ed86, 0x0000840c, 0xd0d8eb1d,
+ 0x00001900, 0x56827c2b, 0x0000f902, 0x13800000, 0x00000000, 0x56826a2b,
+ 0x00007902, 0x13000000, 0x00008000, 0xa1f71ee3, 0x00006100, 0x0a048c86,
+ 0x00006002, 0x17e28000, 0x000080d2, 0x13c0084f, 0x0000e082, 0x14800000,
+ 0x00000980, 0x1380004e, 0x00006084, 0x15400000, 0x00008980, 0x1342884d,
+ 0x00006002, 0x15800000, 0x00008980, 0x14500800, 0x0000e180, 0x1302804c,
+ 0x00004004, 0x14c20491, 0x0000e283, 0x82243051, 0x00002000, 0x21800c99,
+ 0x0000e088, 0x21800000, 0x00008990, 0x14000000, 0x0000f900, 0x00300000,
+ 0x00008980, 0x21804086, 0x0000e088, 0xe5048850, 0x0000e002, 0x56ba7c2b,
+ 0x00005000, 0x003a7000, 0x00008000, 0x14c48086, 0x0000e000, 0x13c00000,
+ 0x00000980, 0xe1820791, 0x00006283, 0x02048850, 0x00002002, 0x21800800,
+ 0x00006191, 0x21801000, 0x00004989, 0x61840599, 0x0000e283, 0x0000184f,
+ 0x0000a106, 0x56ba6a2b, 0x0000d000, 0x003a6000, 0x00000000, 0x13682000,
+ 0x00007900, 0x00004000, 0x00000980, 0x52689c87, 0x0000a000, 0x41243050,
+ 0x0000e002, 0xc000184f, 0x0000b006, 0x13001000, 0x0000f900, 0x00014000,
+ 0x00008980, 0x15c00000, 0x0000e180, 0x0c44ce4d, 0x0000e000, 0x16000000,
+ 0x000085e4, 0x16800000, 0x000085ec, 0x17000000, 0x000085f4, 0x17800000,
+ 0x0000e180, 0x1504a094, 0x00004900, 0x00004922, 0x00007408, 0x17fc9293,
+ 0x00008505, 0xa2780802, 0x00006188, 0x13801002, 0x0000c900, 0xa1800e91,
+ 0x00006283, 0x07848850, 0x00002003, 0x21c04095, 0x00006080, 0x27848850,
+ 0x00006003, 0x14c48087, 0x00006000, 0x47848850, 0x0000a003, 0x00004a56,
+ 0x00007208, 0xc4048850, 0x0000e002, 0xe0000851, 0x00003412, 0x21840000,
+ 0x00006180, 0x14848087, 0x00004000, 0x40000591, 0x0000e583, 0x21fc2886,
+ 0x00000100, 0x40001d91, 0x00006593, 0x21b42887, 0x00008100, 0x21c08086,
+ 0x00006180, 0xc0000850, 0x0000a403, 0x21b15887, 0x00006100, 0x979c9392,
+ 0x00000900, 0xa2780802, 0x0000e180, 0x21c00c99, 0x00004080, 0x0000496d,
+ 0x00007411, 0x2c143a86, 0x00009600, 0xa1c588b0, 0x00009000, 0xa1c02287,
+ 0x00009080, 0x22000000, 0x0000f900, 0x001f8000, 0x00008980, 0x80000293,
+ 0x00006582, 0x00143888, 0x00002186, 0x203c46ec, 0x0000d600, 0x003c7800,
+ 0x00000000, 0xc0000f93, 0x00001583, 0xffffffff, 0x00007f86, 0x00004922,
+ 0x0000f008, 0x00004a9e, 0x00007010, 0x18000000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x18580040, 0x00006180, 0x20bc9860, 0x0000e000, 0x18c00004,
+ 0x0000e180, 0x003c9861, 0x00006006, 0x30fc9860, 0x0000e000, 0xc000100a,
+ 0x0000b407, 0x863c9861, 0x00006001, 0x0014b863, 0x0000b106, 0x19000000,
+ 0x0000e180, 0x19400018, 0x00004980, 0x19800000, 0x000086dc, 0x62401589,
+ 0x00006081, 0x1884b096, 0x00008900, 0xffffffff, 0x00007f86, 0x003448ec,
+ 0x00005702, 0x00007000, 0x00000080, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0xc0000791, 0x0000e583, 0x0604c805, 0x0000a006, 0x4604c805,
+ 0x00006002, 0xc0002804, 0x00003406, 0x6604c805, 0x00006000, 0xc0000004,
+ 0x00003403, 0x02040000, 0x00006180, 0x7604c805, 0x0000e000, 0x00004971,
+ 0x0000f448, 0x02400000, 0x000000e8, 0x02c22000, 0x0000e180, 0x13c00000,
+ 0x000049c0, 0x14000000, 0x0000f900, 0x00300000, 0x00008980, 0x14500800,
+ 0x0000e180, 0x0a048c86, 0x00006002, 0xc3020791, 0x0000e283, 0xe5048850,
+ 0x00002002, 0x82243051, 0x0000e000, 0x0000184f, 0x00003106, 0x21800800,
+ 0x00006191, 0x21801000, 0x00004989, 0x43040599, 0x00006283, 0x02048850,
+ 0x00002002, 0x13682000, 0x00007900, 0x00004000, 0x00000980, 0x17c00000,
+ 0x00006180, 0xc000184f, 0x0000e006, 0x13001000, 0x0000f900, 0x00014000,
+ 0x00008980, 0x41243050, 0x0000e002, 0x0c44ce4d, 0x0000b000, 0x13800702,
+ 0x00000588, 0x15400000, 0x000005d8, 0x15c00000, 0x000005e0, 0x16400000,
+ 0x000005e8, 0x16c00000, 0x000085f0, 0x17400000, 0x000005f8, 0x0000495c,
+ 0x00007408, 0x153c8794, 0x0000050c, 0x54549f92, 0x0000853c, 0x83000e91,
+ 0x0000e283, 0x07848850, 0x00002003, 0x21c04095, 0x00006080, 0x27848850,
+ 0x00006003, 0x14c48087, 0x00006000, 0x47848850, 0x0000a003, 0x00004b4c,
+ 0x00007208, 0xc4048850, 0x0000e002, 0xe0000851, 0x00003412, 0x979c9392,
+ 0x0000e100, 0xc0000850, 0x00006403, 0x14848087, 0x00001000, 0xc3008797,
+ 0x00001283, 0x00004b57, 0x0000f013, 0x001008ec, 0x0000d780, 0x00d074c0,
+ 0x000002c0, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x41040599,
+ 0x00001283, 0x0000499d, 0x0000700b, 0x0a808491, 0x00009283, 0xa1d4c298,
+ 0x00009910, 0x0000499d, 0x0000f009, 0x80100298, 0x00009582, 0x0000482a,
+ 0x00007033, 0xa1d04287, 0x00006180, 0x9300424c, 0x00008180, 0x0a900287,
+ 0x0000f8b2, 0x4a400000, 0x0000248b, 0x21808491, 0x00009283, 0x00004909,
+ 0x0000f013, 0x00004909, 0x0000f200, 0xa1c02287, 0x00009080, 0x56807c2b,
+ 0x00007902, 0x03800000, 0x00008000, 0x13c00000, 0x0000e180, 0x0c04ba86,
+ 0x00006106, 0x56806a2b, 0x0000f902, 0x03000000, 0x00000000, 0x21f15a86,
+ 0x00006000, 0x0000184f, 0x0000a106, 0x21810087, 0x0000e080, 0xc000184f,
+ 0x00002006, 0x21c0f886, 0x0000e784, 0x13801002, 0x00000900, 0x03c0080f,
+ 0x0000e082, 0x14400000, 0x00000980, 0x0380000e, 0x00006084, 0x14800000,
+ 0x00000980, 0x03406886, 0x00006002, 0x15000000, 0x00000980, 0x03006087,
+ 0x0000e004, 0x15400000, 0x00008980, 0x56b86a2b, 0x00005000, 0x00386000,
+ 0x00008000, 0x83000e91, 0x0000e283, 0x15800000, 0x00008980, 0x13001000,
+ 0x0000f900, 0x00014000, 0x00008980, 0x13682000, 0x00007900, 0x00004040,
+ 0x00008980, 0x14000000, 0x0000f900, 0x00300000, 0x00008980, 0x56b87c2b,
+ 0x0000d000, 0x00387000, 0x00000000, 0x15c00000, 0x000005e0, 0x16400000,
+ 0x000005e8, 0x16c00000, 0x000085f0, 0x0000495c, 0x00007408, 0x17400000,
+ 0x000005f8, 0x17c00000, 0x00006180, 0x14c48090, 0x0000c900, 0xe0000851,
+ 0x0000e402, 0xc0000850, 0x00003403, 0x14849790, 0x0000853a, 0x57808797,
+ 0x0000f88e, 0xba400000, 0x0000258a, 0x0000482a, 0x0000f200, 0x93300298,
+ 0x0000f900, 0x0000003e, 0x00008280, 0x40001591, 0x00006583, 0x75848828,
+ 0x0000a001, 0x44848828, 0x0000e803, 0x40001591, 0x00009583, 0x40002591,
+ 0x00009583, 0x00004b51, 0x0000f008, 0x00004ac7, 0x0000f030, 0x00004b18,
+ 0x00007008, 0x40002591, 0x00009583, 0xca004000, 0x000019a9, 0x0000485e,
+ 0x0000f029, 0x40005d91, 0x00009583, 0xca007800, 0x00001989, 0x0000485e,
+ 0x00007011, 0x0000485e, 0x0000f400, 0x0b1c4688, 0x00000230, 0x81201404,
+ 0x000080fb, 0x40001d91, 0x00001583, 0xca000000, 0x000099a9, 0xca003000,
+ 0x000019a1, 0x0000485e, 0x00007028, 0x0b3c5789, 0x00008234, 0x0000485e,
+ 0x0000f400, 0x0bbc678b, 0x0000023c, 0x81204410, 0x000080fb, 0xa1800fe2,
+ 0x00009880, 0x50e1a686, 0x0000a080, 0x50c13e86, 0x0000a080, 0x50c13686,
+ 0x0000a081, 0xffffffff, 0x00007f97, 0x00013a34, 0x00006804, 0x0f413486,
+ 0x0000e080, 0x82013034, 0x0000b004, 0xb2013234, 0x0000e880, 0x0011a035,
+ 0x0000e986, 0x00013c35, 0x0000e804, 0x0d408435, 0x00009283, 0x8558cb19,
+ 0x00006108, 0x84d8bb17, 0x00004908, 0x000049ce, 0x0000f009, 0xd3413815,
+ 0x00006004, 0xd3413013, 0x0000b004, 0xc4c4070c, 0x0000e283, 0x21c18613,
+ 0x00000281, 0x8ac0262b, 0x0000e091, 0xf000000c, 0x00002411, 0x00008487,
+ 0x0000e583, 0x00013834, 0x0000a004, 0x09c00000, 0x0000e190, 0xe1414000,
+ 0x0000c991, 0xa1404000, 0x00009991, 0x00004ad1, 0x0000f008, 0x09804434,
+ 0x00009283, 0x0a00e487, 0x0000e016, 0x0b00e426, 0x0000b016, 0x09a0dc1b,
+ 0x00006109, 0x21c02487, 0x00004890, 0xffffffff, 0x00007f86, 0x09a43c26,
+ 0x00006311, 0x0b014487, 0x00002002, 0x20a43426, 0x00006892, 0xffffffff,
+ 0x00007f86, 0x21802426, 0x0000e781, 0x4521301c, 0x00002007, 0x8995b802,
+ 0x00006180, 0x8624301c, 0x0000e007, 0xa1a43d04, 0x00009000, 0xa1c0c286,
+ 0x00009080, 0xa1926287, 0x0000e000, 0xc7526287, 0x00008000, 0x21c0862b,
+ 0x00006080, 0xc9d26287, 0x00008000, 0x21c43a86, 0x00009000, 0x0d002087,
+ 0x0000e080, 0x14402087, 0x00008080, 0x1400f834, 0x0000e784, 0xa1c1462b,
+ 0x00000080, 0x00004880, 0x0000f400, 0xa1943287, 0x00001000, 0x04143005,
+ 0x00006985, 0x40002d91, 0x0000e583, 0x21c00000, 0x00000981, 0x40005d91,
+ 0x00006583, 0x21c00800, 0x00000989, 0x40002d91, 0x00009593, 0x00004b1c,
+ 0x0000f013, 0x00000487, 0x00009583, 0xca006000, 0x00006191, 0xca008000,
+ 0x0000c989, 0x4b0c4188, 0x00006108, 0xcb3c4788, 0x00004909, 0x000049b5,
+ 0x00007010, 0x0000485e, 0x0000f200, 0x81201404, 0x000080fb, 0x40001d91,
+ 0x00001583, 0xca000800, 0x000019a9, 0xca003800, 0x000099a1, 0x0000485e,
+ 0x00007028, 0x0000485e, 0x00007000, 0xa1b42f85, 0x0000e000, 0x00001037,
+ 0x00002403, 0xa1c0a286, 0x00006080, 0x00001036, 0x0000a403, 0xa1943d04,
+ 0x00006000, 0x70001837, 0x00002403, 0x21c18613, 0x00006281, 0xf0000835,
+ 0x00002401, 0x84c18613, 0x0000e283, 0xcd001800, 0x00008981, 0x8d81062b,
+ 0x00006180, 0x8dd26286, 0x00000000, 0x00002038, 0x00006596, 0xa0003837,
+ 0x00003415, 0x00004a67, 0x00007008, 0x00008487, 0x0000e583, 0x00000838,
+ 0x00002403, 0x4d402000, 0x00006189, 0x80002008, 0x0000648b, 0x01001004,
+ 0x0000e388, 0xa0001037, 0x0000a40b, 0x000048bb, 0x00007010, 0x56827c2b,
+ 0x0000f902, 0x13800000, 0x00000000, 0x56826a2b, 0x00007902, 0x13000000,
+ 0x00008000, 0x2180c62b, 0x00006181, 0x17c00000, 0x00008980, 0x21c3fc86,
+ 0x00006281, 0x41028000, 0x00000981, 0x13c0084f, 0x0000e082, 0xa180a487,
+ 0x00000080, 0x1380004e, 0x00006084, 0x04143049, 0x0000a183, 0x1342884d,
+ 0x00006002, 0x0a048c86, 0x0000a002, 0x14500800, 0x0000e180, 0x1302804c,
+ 0x00004004, 0x14c20491, 0x0000e283, 0x82243051, 0x00002000, 0x21800c99,
+ 0x0000e088, 0x21800000, 0x00008990, 0x123c0048, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x21804086, 0x0000e088, 0xe0000848, 0x00006402, 0x14000000,
+ 0x0000f900, 0x00300000, 0x00008980, 0x14c48086, 0x0000e000, 0xe5048850,
+ 0x00002002, 0xe1820791, 0x00006283, 0x00243848, 0x00002084, 0x56ba7c2b,
+ 0x00005000, 0x003a7000, 0x00008000, 0x21800800, 0x00006191, 0x21801000,
+ 0x00004989, 0x61840599, 0x0000e283, 0x13c00000, 0x00000980, 0x56ba6a2b,
+ 0x0000d000, 0x003a6000, 0x00000000, 0x02048850, 0x0000e002, 0x0000184f,
+ 0x00003106, 0x13682000, 0x00007900, 0x00004000, 0x00000980, 0xa1f71ee3,
+ 0x00006100, 0x41243050, 0x0000e002, 0x13001000, 0x0000f900, 0x00014000,
+ 0x00008980, 0xc000184f, 0x0000e006, 0x0c44ce4d, 0x0000b000, 0x52689c87,
+ 0x0000a000, 0x11040044, 0x00006380, 0x14800000, 0x00000980, 0x15400000,
+ 0x000005d8, 0x15c00000, 0x000005e0, 0x16400000, 0x000005e8, 0x16c00000,
+ 0x000085f0, 0x17400000, 0x000005f8, 0x15149f94, 0x0000053c, 0x00004922,
+ 0x00007408, 0x54781792, 0x00000438, 0xa2780802, 0x00001988, 0x000048f0,
+ 0x0000f000, 0xa1801691, 0x00006283, 0xa2780802, 0x00000980, 0x21840000,
+ 0x00006180, 0xe0000851, 0x00006412, 0x21fc2886, 0x00006100, 0x979c9392,
+ 0x00008910, 0x40000591, 0x0000e583, 0x21b42887, 0x00008100, 0x40001d91,
+ 0x00006593, 0x21c08086, 0x00000180, 0x21c00c99, 0x0000e080, 0x21b15887,
+ 0x00000100, 0x00004908, 0x00007409, 0x2c143a86, 0x00009600, 0xa1c588b0,
+ 0x00009000, 0x42408491, 0x00007896, 0x7a400000, 0x0000248b, 0x56827c2b,
+ 0x0000f902, 0x13800000, 0x00000000, 0x56826a2b, 0x00007902, 0x13000000,
+ 0x00008000, 0x0a048c86, 0x00006002, 0x00002038, 0x0000b586, 0xa1f71ee3,
+ 0x00006100, 0x17c00000, 0x00004980, 0x13c0084f, 0x0000e082, 0xa0002837,
+ 0x0000a405, 0x1380004e, 0x00006084, 0x00000838, 0x00002403, 0x1342884d,
+ 0x00006002, 0x41028000, 0x00000981, 0x14500800, 0x0000e180, 0x1302804c,
+ 0x00004004, 0x14c20491, 0x0000e283, 0x82243051, 0x00002000, 0x21800c99,
+ 0x0000e088, 0x21800000, 0x00008990, 0x14000000, 0x0000f900, 0x00300000,
+ 0x00008980, 0x21804086, 0x0000e088, 0xe5048850, 0x0000e002, 0x56ba7c2b,
+ 0x00005000, 0x003a7000, 0x00008000, 0x14c48086, 0x0000e000, 0x13c00000,
+ 0x00000980, 0xe1820791, 0x00006283, 0x02048850, 0x00002002, 0x21800800,
+ 0x00006191, 0x21801000, 0x00004989, 0x61840599, 0x0000e283, 0x0000184f,
+ 0x0000a106, 0x56ba6a2b, 0x0000d000, 0x003a6000, 0x00000000, 0x13682000,
+ 0x00007900, 0x00004000, 0x00000980, 0x52689c87, 0x0000a000, 0x41243050,
+ 0x0000e002, 0xc000184f, 0x0000b006, 0x13001000, 0x0000f900, 0x00014000,
+ 0x00008980, 0x14800000, 0x0000e180, 0x0c44ce4d, 0x0000e000, 0x15400000,
+ 0x000005d8, 0x15c00000, 0x000005e0, 0x16400000, 0x000005e8, 0x16c00000,
+ 0x000085f0, 0x17400000, 0x000005f8, 0x15149f94, 0x0000053c, 0x00004922,
+ 0x00007408, 0x54781792, 0x00000438, 0xa2780802, 0x00001988, 0x000048f0,
+ 0x0000f000, 0x21800f93, 0x0000e081, 0xc000000a, 0x00006407, 0xc0001f93,
+ 0x00006583, 0x626c4c86, 0x00000001, 0xc0002793, 0x00001583, 0xc0001793,
+ 0x00001583, 0x00004af1, 0x00007008, 0x00004ae6, 0x00007008, 0x00004922,
+ 0x0000f010, 0x1ac00004, 0x00006180, 0x09005487, 0x0000e006, 0x21801487,
+ 0x0000e081, 0x18c00004, 0x00000980, 0x21c07c86, 0x0000e281, 0x0004086b,
+ 0x0000a106, 0x21801487, 0x0000e081, 0x0014b863, 0x00002106, 0x1a006000,
+ 0x00007900, 0x00008000, 0x00000980, 0x1a580800, 0x00007900, 0x00004080,
+ 0x00008980, 0x18006000, 0x0000f900, 0x00008000, 0x00000980, 0x18580800,
+ 0x0000f900, 0x00004080, 0x00008980, 0x1b000000, 0x00006180, 0xc724300a,
+ 0x00006007, 0x1b400018, 0x0000e180, 0x1b800000, 0x0000c980, 0x1bc00000,
+ 0x00006180, 0x1a840080, 0x0000c900, 0x19000000, 0x0000e180, 0x19400018,
+ 0x00004980, 0x19800000, 0x000086dc, 0x1884b096, 0x00001900, 0x00004925,
+ 0x00007200, 0x003448ec, 0x00005702, 0x00007000, 0x00000080, 0x0000485e,
+ 0x0000f400, 0x40005d91, 0x00009583, 0xca007000, 0x00009989, 0x40000591,
+ 0x00001583, 0xca001000, 0x00009989, 0x0000485e, 0x00007009, 0x40000d91,
+ 0x00009583, 0xca001800, 0x00006189, 0x0b044088, 0x0000c908, 0x41002000,
+ 0x0000e189, 0xc3801000, 0x00004989, 0x0000485e, 0x0000f010, 0x0000485e,
+ 0x00007000, 0x07004434, 0x00006283, 0x0b014487, 0x00002002, 0x09c00000,
+ 0x00006180, 0x24a4301c, 0x00006093, 0xa1a82487, 0x00006000, 0x8995b802,
+ 0x00008980, 0xa1d26286, 0x0000e000, 0xe140a000, 0x00008981, 0xa1816287,
+ 0x0000e080, 0x87016287, 0x00008080, 0xc9c0c287, 0x00006080, 0xa1404000,
+ 0x00008981, 0x8720dc1b, 0x0000e109, 0x21c0c62b, 0x0000c180, 0xa194362b,
+ 0x00006000, 0x21c43a86, 0x00000000, 0x00004880, 0x0000f400, 0x0d002087,
+ 0x0000e080, 0x04143005, 0x00002185, 0x1400f834, 0x0000e784, 0x14402087,
+ 0x00008080, 0x1ec00004, 0x0000e180, 0xc000100a, 0x0000e407, 0x1e006000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x1e580800, 0x0000f900, 0x00004080,
+ 0x00008980, 0x1f000000, 0x0000e180, 0x0004287b, 0x00006106, 0x1f400018,
+ 0x00006180, 0x1f800000, 0x00004980, 0x1e800784, 0x000007bc, 0x1cc00004,
+ 0x00006180, 0x09005487, 0x0000e006, 0x21801487, 0x0000e081, 0x1ac00004,
+ 0x00008980, 0x18c00004, 0x0000e180, 0xc724300a, 0x00006007, 0x09005487,
+ 0x0000e006, 0x00041873, 0x0000b106, 0x21801487, 0x0000e081, 0x0004086b,
+ 0x0000a106, 0x21c07c86, 0x0000e281, 0x0014b863, 0x00002106, 0x21801487,
+ 0x0000e081, 0x1d000000, 0x00008980, 0x1c006000, 0x00007900, 0x00008000,
+ 0x00000980, 0x1c580800, 0x00007900, 0x00004080, 0x00008980, 0x1a006000,
+ 0x00007900, 0x00008000, 0x00000980, 0x1a580800, 0x00007900, 0x00004080,
+ 0x00008980, 0x18006000, 0x0000f900, 0x00008000, 0x00000980, 0x18580800,
+ 0x0000f900, 0x00004080, 0x00008980, 0x1d400018, 0x0000e180, 0xc724300a,
+ 0x00006007, 0x1d800000, 0x000087dc, 0x1c800782, 0x000006b0, 0x1b400018,
+ 0x0000e180, 0x1b800000, 0x0000c980, 0x1bc00000, 0x00006180, 0x1a840080,
+ 0x0000c900, 0x19000000, 0x0000e180, 0x19400018, 0x00004980, 0x00004ac1,
+ 0x00007400, 0x19800000, 0x000086dc, 0x1884b096, 0x00001900, 0x0000485e,
+ 0x0000f400, 0xca004800, 0x0000e181, 0x0b044088, 0x00004900, 0x81201404,
+ 0x000080fb, 0x67a03591, 0x00004389, 0x00803591, 0x00008098, 0x65e01591,
+ 0x00004489, 0x50802591, 0x0000928e, 0xa7c00d91, 0x0000c790, 0x80406591,
+ 0x00000288, 0x03a06d91, 0x0000c588, 0xd3c03d91, 0x00008191, 0x0000485e,
+ 0x0000f400, 0xca002800, 0x0000e181, 0x0b044088, 0x00004900, 0x81201404,
+ 0x000080fb, 0xca005800, 0x00006181, 0x0b044889, 0x00004900, 0x0b7c5f8a,
+ 0x00008238, 0x0be0478c, 0x000080bb, 0x0000485e, 0x0000f400, 0x0c001788,
+ 0x000000be, 0x4100a000, 0x00009981, 0xca00b800, 0x0000e181, 0x8000000e,
+ 0x0000e487, 0x0000485e, 0x0000f400, 0x0b044088, 0x00006100, 0x862c880e,
+ 0x00006085, 0x41002000, 0x00001981, 0xca00a000, 0x00009981, 0x0b044088,
+ 0x00006100, 0x0000100f, 0x00006484, 0x0b7c5789, 0x00000238, 0x0bfc678b,
+ 0x00000300, 0x0000485e, 0x0000f400, 0x0c7c778d, 0x00000308, 0x8120741c,
+ 0x000080fb, 0x00004b36, 0x00007200, 0xca009800, 0x00001981, 0x000049ae,
+ 0x00007200, 0xca008800, 0x00009981, 0xca009000, 0x0000e181, 0x4b0c4188,
+ 0x0000c900, 0x0b201388, 0x000080bb, 0x0000485e, 0x0000f400, 0x0b7c5789,
+ 0x00000238, 0x41006000, 0x0000e181, 0x83d02011, 0x0000c980, 0x40005d91,
+ 0x00009583, 0xca006800, 0x00009989, 0x000049ae, 0x0000f009, 0x0000485e,
+ 0x00007000, 0x83001691, 0x00001283, 0x979c9392, 0x00006110, 0xe0000851,
+ 0x00006412, 0x57808797, 0x0000f88e, 0xba400000, 0x0000258a, 0xca00b000,
+ 0x00006181, 0x8000000e, 0x0000e487, 0x0000485e, 0x0000f400, 0x0b044088,
+ 0x00006100, 0x862c880e, 0x00006085, 0x41002000, 0x00001981, 0x40004591,
+ 0x00006583, 0x21c00000, 0x00000981, 0x21c00800, 0x0000e189, 0x21803797,
+ 0x0000c781, 0x40004d91, 0x0000e583, 0x27c00004, 0x00000980, 0x0844bc0d,
+ 0x0000e000, 0x0014b89f, 0x0000b106, 0x27006000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x27580800, 0x0000f900, 0x00004040, 0x00008980, 0x27800796,
+ 0x00008a80, 0x00004b71, 0x0000f410, 0x28400000, 0x00000ac8, 0x28c00000,
+ 0x00006180, 0x03000c86, 0x0000c281, 0x03800c86, 0x00006283, 0xe00008a1,
+ 0x00002402, 0x28d01202, 0x0000e100, 0x200008a0, 0x00006413, 0x00000c0d,
+ 0x00009583, 0xc00008a0, 0x0000640a, 0xc00010a0, 0x00003412, 0x28949a93,
+ 0x00009908, 0x281000a0, 0x00009380, 0x001138ec, 0x00005780, 0x00007000,
+ 0x00000080, 0x03243c0c, 0x0000e203, 0x42c11000, 0x00000981, 0x00004960,
+ 0x0000f400, 0x001008ec, 0x0000d780, 0x00d074c0, 0x000002c0, 0xe00008a0,
+ 0x00006c12, 0x80000298, 0x0000e582, 0x9a800000, 0x00000980, 0x9a800800,
+ 0x0000e188, 0x01000800, 0x00004980, 0x02020491, 0x00006283, 0x01400000,
+ 0x00008980, 0x01800000, 0x00006180, 0x71e35004, 0x00006000, 0x01c00000,
+ 0x0000e180, 0x0a015c6a, 0x0000e00c, 0x00004c30, 0x0000f010, 0x1ac04090,
+ 0x00006780, 0x0604c805, 0x0000a006, 0x4d040599, 0x0000e283, 0x1a435c99,
+ 0x00000000, 0x4a834869, 0x0000e100, 0x4604c805, 0x00006002, 0x1a400000,
+ 0x00006189, 0x08048c69, 0x00006010, 0x6604c805, 0x00006000, 0xc7235004,
+ 0x0000b003, 0x02000000, 0x00007900, 0x00018280, 0x00008980, 0xf7e3482a,
+ 0x00006001, 0x7604c805, 0x0000b000, 0x02400000, 0x000000e8, 0x02c00044,
+ 0x000002f0, 0x0b400000, 0x000002f8, 0x0bc00000, 0x000083c0, 0x0c400000,
+ 0x000003c8, 0x0ce00000, 0x000001cf, 0x1a818491, 0x00001281, 0xeac1846a,
+ 0x0000f88a, 0x02400001, 0x00008000, 0x00010491, 0x00007894, 0x00000000,
+ 0x00000000, 0x00020599, 0x0000f896, 0x00000000, 0x00008010, 0x00008491,
+ 0x0000788c, 0x00000000, 0x00000000, 0x00040599, 0x0000f88e, 0x00000000,
+ 0x00008020, 0x95810491, 0x0000c48f, 0x58820599, 0x00009389, 0x56c02591,
+ 0x0000f89b, 0xea400000, 0x00002685, 0x4cc02591, 0x0000789b, 0x52400000,
+ 0x00002689, 0x56c02591, 0x0000f89b, 0xea400000, 0x00002685, 0x1a460599,
+ 0x00001281, 0xe6c60469, 0x0000f892, 0x02400001, 0x00000080, 0x1a800000,
+ 0x0000e181, 0x75848828, 0x00006001, 0x40000591, 0x0000e583, 0x44848828,
+ 0x0000a003, 0x40001d91, 0x0000e583, 0x1a800800, 0x00000989, 0x40000591,
+ 0x00009593, 0x00004cc5, 0x0000f013, 0x0000046a, 0x00009583, 0xca002000,
+ 0x0000e191, 0x0b044889, 0x0000c908, 0x0b44508a, 0x00006108, 0x0b84588b,
+ 0x00004908, 0x0bc4608c, 0x0000e108, 0xc3804000, 0x00004989, 0xca005000,
+ 0x00006189, 0xc4c08000, 0x00004989, 0x81418613, 0x00006283, 0x1a818613,
+ 0x00000281, 0x9a800fe2, 0x00009888, 0x50c1a46a, 0x0000a00a, 0x00004cf3,
+ 0x0000f010, 0x50e1ac6a, 0x00002001, 0x50d34c6a, 0x00002002, 0xffffffff,
+ 0x00007f97, 0x0001a834, 0x0000e804, 0x0001ac34, 0x00006804, 0x0d008434,
+ 0x00009283, 0x8558cb19, 0x00006108, 0x84d8bb17, 0x00004908, 0x00004bd2,
+ 0x0000f009, 0xc744070c, 0x00006283, 0xd3634813, 0x00002004, 0xd341a815,
+ 0x00006004, 0xf000000c, 0x0000b411, 0x8ac0262b, 0x00001091, 0x9a808298,
+ 0x0000e080, 0x0b014434, 0x0000a002, 0x8d535713, 0x00006000, 0x5a014000,
+ 0x00000981, 0x9a51ac34, 0x00006000, 0xc751ac34, 0x00008000, 0x1a000000,
+ 0x00006181, 0x0d40862b, 0x0000c080, 0x0d41aa69, 0x00001000, 0x13c02035,
+ 0x0000e080, 0x0d002035, 0x00008080, 0x8d01462b, 0x0000e080, 0x1380f834,
+ 0x00008784, 0x9a934a34, 0x00009000, 0x04135005, 0x0000e985, 0x0d000000,
+ 0x0000e180, 0x08001a6a, 0x0000e106, 0xcd00472b, 0x0000e283, 0x0d700000,
+ 0x00008980, 0x0d800000, 0x00006180, 0x04135035, 0x00006101, 0x0dc00000,
+ 0x000003e0, 0x0e400000, 0x000003e8, 0x0ec00000, 0x000083f0, 0x0f400000,
+ 0x000003f8, 0x0fc00000, 0x000084c0, 0x10400000, 0x000004c8, 0x10c00000,
+ 0x000084d0, 0x11400000, 0x000004d8, 0x11c00000, 0x000004e0, 0x00004cd3,
+ 0x0000f410, 0x12400000, 0x000004e8, 0x12c00000, 0x00006180, 0xcd004000,
+ 0x00004989, 0x00008036, 0x00006586, 0x00004039, 0x00003586, 0x00012038,
+ 0x00006586, 0x0000103b, 0x0000b403, 0x0000183c, 0x0000e403, 0x00001836,
+ 0x0000b403, 0x10800000, 0x0000f900, 0x0003fc00, 0x00008980, 0x1abff9ff,
+ 0x00006180, 0x00001839, 0x0000e403, 0x5149512a, 0x0000e100, 0x00001037,
+ 0x0000e403, 0x0b014469, 0x0000e002, 0x0000403a, 0x00003586, 0x0000203d,
+ 0x0000e586, 0x00001038, 0x0000b403, 0x11000000, 0x0000f900, 0x003fc000,
+ 0x00008980, 0x8000083b, 0x0000e401, 0x8000083c, 0x00003401, 0x30000836,
+ 0x0000e401, 0x30000839, 0x0000b401, 0x00035042, 0x0000e206, 0xf0015045,
+ 0x0000b001, 0x10c7f800, 0x0000e180, 0xf0000835, 0x0000e401, 0x0000103a,
+ 0x00006403, 0x0000083d, 0x0000b403, 0x80000838, 0x0000e401, 0x70001836,
+ 0x00003403, 0xc000e042, 0x00006007, 0x80000839, 0x00003401, 0x100728e5,
+ 0x00006100, 0x80015045, 0x00006085, 0x104728e5, 0x0000e100, 0x8dc0862b,
+ 0x00004180, 0x51094929, 0x00006100, 0x8ed4c713, 0x0000c000, 0xcf08ed69,
+ 0x0000040c, 0xd0d8eb1d, 0x00001900, 0x56828c2b, 0x0000f902, 0x14000000,
+ 0x00000000, 0x56826a2b, 0x00007902, 0x13000000, 0x00008000, 0x9ab71ee3,
+ 0x00001900, 0x52689c6a, 0x0000a000, 0x14400851, 0x00001082, 0x1342784d,
+ 0x00006002, 0x14000050, 0x00000084, 0x1302704c, 0x00001004, 0x56ba6a2b,
+ 0x0000d000, 0x003a6000, 0x00000000, 0x53040599, 0x00001283, 0x56ba8c2b,
+ 0x00005000, 0x003a8000, 0x00008000, 0x00004c56, 0x00007011, 0x001008ec,
+ 0x0000d780, 0x00007004, 0x00008080, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x0604c805, 0x00006006, 0x09c4bc69, 0x00003000, 0x14000000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x13c00000, 0x0000e180, 0x4604c805,
+ 0x00006002, 0x1a804090, 0x0000e780, 0xc0002804, 0x0000a406, 0x61a34850,
+ 0x00006002, 0x6604c805, 0x00003000, 0x14400080, 0x00006180, 0x0000184f,
+ 0x00006106, 0x17c00000, 0x00006180, 0x1a435499, 0x00004000, 0x13001000,
+ 0x0000f900, 0x00014000, 0x00008980, 0x13682000, 0x00007900, 0x00004040,
+ 0x00008980, 0x001008ec, 0x0000d780, 0x00d074c0, 0x000002c0, 0x7604c805,
+ 0x0000e000, 0xc0000004, 0x00003403, 0xc000184f, 0x0000e006, 0x83c4b851,
+ 0x0000b000, 0x02000080, 0x000000e4, 0x02822000, 0x000080ec, 0x13800702,
+ 0x00000588, 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8, 0x15c00000,
+ 0x000005e0, 0x16800000, 0x000085ec, 0x17000000, 0x000085f4, 0x17800000,
+ 0x0000e180, 0xd67caf95, 0x00004901, 0x97d4b891, 0x0000053c, 0x56434869,
+ 0x00001900, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x13c00000,
+ 0x0000e180, 0x09c4bc69, 0x00006000, 0x14000000, 0x0000f900, 0x00010000,
+ 0x00000980, 0x14400080, 0x00006180, 0x0000184f, 0x00006106, 0x17c00000,
+ 0x00006180, 0x1a835c99, 0x0000c000, 0x13001000, 0x0000f900, 0x00014000,
+ 0x00008980, 0x13682000, 0x00007900, 0x00004040, 0x00008980, 0x000898ec,
+ 0x0000d780, 0x00007001, 0x00008080, 0x61a34850, 0x00006002, 0xc000184f,
+ 0x0000b006, 0x41028000, 0x0000e181, 0x83c4b851, 0x0000e000, 0x13800702,
+ 0x00000588, 0x14c00000, 0x000085d0, 0x15400000, 0x000005d8, 0x15c00000,
+ 0x000005e0, 0x16800000, 0x000085ec, 0x17000000, 0x000085f4, 0x17800000,
+ 0x0000e180, 0xd67caf95, 0x00004901, 0x40005d91, 0x00006583, 0x97dc8b91,
+ 0x00008900, 0x5643506a, 0x00006100, 0x97f4be97, 0x0000c901, 0x40005d91,
+ 0x00009583, 0x40006d91, 0x00009583, 0x00004c94, 0x00007008, 0x00004caa,
+ 0x00007028, 0x00004caa, 0x00007018, 0x9aab4468, 0x00006000, 0x9a438000,
+ 0x00008980, 0x9a715a69, 0x00001100, 0x9a535269, 0x00009100, 0x1a800000,
+ 0x0000f900, 0x001f0000, 0x00000980, 0x80000295, 0x00006582, 0x0013486a,
+ 0x00002186, 0x203b56ec, 0x0000d600, 0x003c7800, 0x00000000, 0x18006000,
+ 0x00007910, 0x00008000, 0x00000980, 0x00004c2c, 0x00007008, 0x0010c0ec,
+ 0x00005780, 0x00007000, 0x00000080, 0x18c00004, 0x0000e180, 0xc000100a,
+ 0x0000e407, 0x18580800, 0x0000f900, 0x00004080, 0x00008980, 0x001008ec,
+ 0x0000d780, 0x00007004, 0x00008080, 0x19000000, 0x0000e180, 0x0014b863,
+ 0x0000e106, 0x00004c2e, 0x0000f400, 0x19400018, 0x00006180, 0x19800000,
+ 0x00004980, 0x18800796, 0x0000069c, 0x1a840000, 0x00009980, 0x1a6b406a,
+ 0x00009100, 0x1aa34069, 0x00001100, 0x1a800c99, 0x0000e080, 0x1a40806a,
+ 0x00008180, 0x1a315869, 0x00009100, 0xffffffff, 0x00007f86, 0x2c135268,
+ 0x00009600, 0x9a4588b0, 0x00009000, 0x0ec48c68, 0x00006000, 0x0f048c6a,
+ 0x00003000, 0x1aa3446a, 0x00001003, 0x9a004000, 0x00001988, 0x00004ca8,
+ 0x0000f009, 0x00000c6a, 0x00001583, 0x00004ca7, 0x0000700b, 0x00000499,
+ 0x00009583, 0x9a000000, 0x00009990, 0x00004ca8, 0x0000f011, 0x9a002000,
+ 0x00009980, 0x00004c7d, 0x0000f200, 0x9a534a68, 0x00009000, 0x00004c7d,
+ 0x0000f200, 0x9a400000, 0x00009980, 0x40001591, 0x00006583, 0x75848828,
+ 0x0000a001, 0x44848828, 0x0000e803, 0x40001591, 0x00009583, 0x40002591,
+ 0x00009583, 0x00004d55, 0x00007008, 0x00004d36, 0x0000f030, 0x00004d6b,
+ 0x0000f008, 0x40002591, 0x00009583, 0xca004000, 0x000019a9, 0x00004bbf,
+ 0x0000f029, 0x40005d91, 0x00009583, 0xca007800, 0x00001989, 0x00004bbf,
+ 0x00007011, 0x00004bbf, 0x0000f400, 0x0b1c4688, 0x00000230, 0xc4e01404,
+ 0x000000fb, 0x40001d91, 0x00001583, 0xca000000, 0x000099a9, 0xca003000,
+ 0x000019a1, 0x00004bbf, 0x00007028, 0x0b3c5789, 0x00008234, 0x00004bbf,
+ 0x0000f400, 0x0bbc678b, 0x0000023c, 0xc4e04410, 0x000000fb, 0x40002d91,
+ 0x0000e583, 0x1a400000, 0x00000981, 0x40005d91, 0x00006583, 0x1a400800,
+ 0x00000989, 0x40002d91, 0x00009593, 0x00004d5f, 0x00007013, 0x00000469,
+ 0x00009583, 0xca006000, 0x00006191, 0xca008000, 0x0000c989, 0x4b0c4188,
+ 0x00006108, 0xcb3c4788, 0x00004909, 0x00004cc1, 0x00007010, 0x00004bbf,
+ 0x0000f200, 0xc4e01404, 0x000000fb, 0x9a40a298, 0x00006080, 0x00001037,
+ 0x00002403, 0x9a934d68, 0x0000e000, 0x00001036, 0x0000a403, 0x9a535468,
+ 0x00006000, 0x70001837, 0x00002403, 0x1a818613, 0x00006281, 0xf0000835,
+ 0x00002401, 0x84c18613, 0x0000e283, 0xcd001800, 0x00008981, 0x8d81062b,
+ 0x00006180, 0x8dd34f13, 0x00008000, 0x00002038, 0x00006596, 0xa0003837,
+ 0x00003415, 0x00004d2f, 0x0000f008, 0x0000846a, 0x0000e583, 0x00000838,
+ 0x00002403, 0x4d402000, 0x00006189, 0x80002008, 0x0000648b, 0x01001004,
+ 0x0000e388, 0xa0001037, 0x0000a40b, 0x00004c1c, 0x00007010, 0x11040044,
+ 0x00006380, 0x1a40c62b, 0x00008181, 0x123c0048, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x1a83fc69, 0x0000e281, 0xe0000848, 0x0000a402, 0x00004c1c,
+ 0x00007400, 0x9a40a46a, 0x0000e080, 0x00235048, 0x00002084, 0x04134849,
+ 0x00006983, 0x9a400fe2, 0x00001880, 0x50e1ae69, 0x0000a080, 0x50c1a669,
+ 0x0000a080, 0x50c13e69, 0x0000a081, 0xffffffff, 0x00007f97, 0x0001a235,
+ 0x00006804, 0x0f413c69, 0x0000e080, 0x82013835, 0x0000b004, 0xb2013a35,
+ 0x0000e880, 0x0011a826, 0x0000e986, 0x0001a426, 0x0000e804, 0x09808426,
+ 0x00009283, 0x8558cb19, 0x00006108, 0x84d8bb17, 0x00004908, 0x00004d08,
+ 0x00007009, 0xd3413813, 0x00006004, 0xd341a015, 0x0000b004, 0xc9c4070c,
+ 0x00006283, 0x1a818613, 0x00000281, 0x8ac0262b, 0x0000e091, 0xf000000c,
+ 0x00002411, 0x0000846a, 0x0000e583, 0x0001a035, 0x0000a004, 0x09c00000,
+ 0x0000e190, 0x5a014000, 0x00004991, 0x1a004000, 0x00001991, 0x00004d40,
+ 0x0000f008, 0x09804435, 0x00001283, 0x0a00e46a, 0x0000e016, 0x0b00e426,
+ 0x0000b016, 0x09a0dc1b, 0x00006109, 0x1a80246a, 0x00004890, 0xffffffff,
+ 0x00007f86, 0x9a80c298, 0x00006080, 0x09a35426, 0x00000311, 0x9a935713,
+ 0x00006000, 0x20a34c26, 0x0000a092, 0xffffffff, 0x00007f86, 0x1a402426,
+ 0x00006781, 0x4521301c, 0x00002007, 0x8623481c, 0x00006007, 0x0b014426,
+ 0x00003002, 0xc7535426, 0x0000e000, 0xc9d35426, 0x00008000, 0x9a535426,
+ 0x00006000, 0x8995b802, 0x00008980, 0x1a80862b, 0x00009080, 0x1a835269,
+ 0x00001000, 0x0d00206a, 0x0000e080, 0x13c0206a, 0x00008080, 0x1380f834,
+ 0x0000e784, 0x9a81462b, 0x00000080, 0x00004be1, 0x00007400, 0x9a534a6a,
+ 0x00001000, 0x04134805, 0x0000e985, 0x40001d91, 0x00001583, 0xca000800,
+ 0x000019a9, 0xca003800, 0x000099a1, 0x00004bbf, 0x00007028, 0x00004bbf,
+ 0x00007000, 0x00004c1c, 0x00007400, 0xa0002837, 0x00006405, 0x00002038,
+ 0x0000b586, 0x00000838, 0x00006c03, 0x00004bbf, 0x0000f400, 0x40005d91,
+ 0x00009583, 0xca007000, 0x00009989, 0x40000591, 0x00001583, 0xca001000,
+ 0x00009989, 0x00004bbf, 0x00007009, 0x40000d91, 0x00009583, 0xca001800,
+ 0x00006189, 0x0b044088, 0x0000c908, 0xc4c02000, 0x00006189, 0xc3801000,
+ 0x00004989, 0x00004bbf, 0x0000f010, 0x00004bbf, 0x00007000, 0x07004435,
+ 0x0000e283, 0x0b01446a, 0x00002002, 0x09c00000, 0x00006180, 0x24a3481c,
+ 0x0000e093, 0x9a635713, 0x00006000, 0x8995b802, 0x00008980, 0x9a94c269,
+ 0x00006000, 0x5a00a000, 0x00000981, 0x9a41626a, 0x00006080, 0x8701626a,
+ 0x00008080, 0xc9c0c26a, 0x00006080, 0x1a004000, 0x00000981, 0x8720dc1b,
+ 0x0000e109, 0x1a80c62b, 0x0000c180, 0x9a534e2b, 0x00006000, 0x1a835269,
+ 0x00008000, 0x00004be1, 0x00007400, 0x0d00206a, 0x0000e080, 0x04134805,
+ 0x0000a185, 0x1380f834, 0x0000e784, 0x13c0206a, 0x00008080, 0xca00b000,
+ 0x00006181, 0x8000000e, 0x0000e487, 0x00004bbf, 0x0000f400, 0x0b044088,
+ 0x00006100, 0x862c880e, 0x00006085, 0xc4c02000, 0x00009981, 0x40005d91,
+ 0x00009583, 0xca006800, 0x00009989, 0x00004cba, 0x0000f009, 0x00004bbf,
+ 0x00007000, 0xb0803591, 0x0000c389, 0x00803591, 0x00008098, 0xaec01591,
+ 0x00004489, 0xde802591, 0x0000938a, 0xcb800d91, 0x00004790, 0x80406591,
+ 0x0000828a, 0x04206d91, 0x0000c588, 0xe5a03d91, 0x00000193, 0x00004bbf,
+ 0x0000f400, 0xca002800, 0x0000e181, 0x0b044088, 0x00004900, 0xc4e01404,
+ 0x000000fb, 0x00004bbf, 0x0000f400, 0xca004800, 0x0000e181, 0x0b044088,
+ 0x00004900, 0xc4e01404, 0x000000fb, 0xca005800, 0x00006181, 0x0b044889,
+ 0x00004900, 0x0b7c5f8a, 0x00008238, 0x0be0478c, 0x000080bb, 0x00004bbf,
+ 0x0000f400, 0x0c001788, 0x000000be, 0xc4c0a000, 0x00001981, 0xca00b800,
+ 0x0000e181, 0x8000000e, 0x0000e487, 0x00004bbf, 0x0000f400, 0x0b044088,
+ 0x00006100, 0x862c880e, 0x00006085, 0xc4c02000, 0x00009981, 0xca00a000,
+ 0x00009981, 0x0b044088, 0x00006100, 0x0000100f, 0x00006484, 0x0b7c5789,
+ 0x00000238, 0x0bfc678b, 0x00000300, 0x00004bbf, 0x0000f400, 0x0c7c778d,
+ 0x00000308, 0xc4e0741c, 0x000000fb, 0x00004d7d, 0x00007200, 0xca009800,
+ 0x00001981, 0x00004cba, 0x00007200, 0xca008800, 0x00009981, 0xca009000,
+ 0x0000e181, 0x4b0c4188, 0x0000c900, 0x0b201388, 0x000080bb, 0x00004bbf,
+ 0x0000f400, 0x0b7c5789, 0x00000238, 0xc4c06000, 0x00006181, 0x83d02011,
+ 0x0000c980, 0x010000a0, 0x0000e180, 0x08001a45, 0x00006106, 0x00122804,
+ 0x0000e984, 0x733820ec, 0x00005600, 0x00000000, 0x00008080, 0xc100872b,
+ 0x00001283, 0x01280800, 0x0000e190, 0x01400000, 0x0000c990, 0x01800000,
+ 0x0000e190, 0x01c00000, 0x00004990, 0x00004dce, 0x0000f008, 0x91400fe2,
+ 0x0000e080, 0x0a015c44, 0x00006004, 0xc7222004, 0x0000e003, 0x06042805,
+ 0x0000b006, 0x50e22445, 0x0000a001, 0x02400000, 0x00006180, 0x46042805,
+ 0x0000e002, 0x02800000, 0x00006180, 0x66042805, 0x0000e000, 0x02000000,
+ 0x00007900, 0x00018200, 0x00000980, 0x09808444, 0x0000e283, 0x76042805,
+ 0x0000a000, 0x02c2a800, 0x0000e180, 0x84d8bb17, 0x00004908, 0x8558cb19,
+ 0x00006108, 0x60102028, 0x0000e50b, 0x00004ddf, 0x0000f010, 0x5fc22eec,
+ 0x0000a180, 0x4a800000, 0x00001980, 0xffffffff, 0x00007f97, 0x09803c45,
+ 0x00001281, 0xd3613013, 0x00006004, 0xd3613015, 0x00003004, 0x11418613,
+ 0x00001281, 0x00008445, 0x00009583, 0x5fc136ec, 0x00002181, 0x00004dec,
+ 0x00007009, 0x8b40c284, 0x0000e080, 0x0b00862b, 0x00008080, 0x0b41622d,
+ 0x00006000, 0x00000827, 0x00002486, 0x0b00202d, 0x0000e080, 0x20a13427,
+ 0x00002082, 0x0b80f82c, 0x0000e784, 0x4521381c, 0x0000a007, 0x00000081,
+ 0x00006582, 0x0b000000, 0x00000980, 0x09802427, 0x00006781, 0x0b000800,
+ 0x00000990, 0x09c00000, 0x00006180, 0x8621301c, 0x0000e007, 0xc740c284,
+ 0x00006080, 0x91414000, 0x00000981, 0x51404000, 0x00006181, 0x0bc0202d,
+ 0x00004080, 0xc9c0c284, 0x00006080, 0x8995b802, 0x00008980, 0xb9c08c2c,
+ 0x0000c411, 0x9c800312, 0x00001393, 0x00509082, 0x0000c512, 0x83a4070c,
+ 0x00000392, 0x91002480, 0x0000e080, 0x01400000, 0x00004980, 0x20d02444,
+ 0x0000a102, 0x01800000, 0x00006180, 0x06042805, 0x0000e006, 0x01c00000,
+ 0x0000e180, 0x46042805, 0x0000e002, 0x02000000, 0x0000e180, 0x66042805,
+ 0x0000e000, 0x01077c04, 0x0000e281, 0x76042805, 0x0000a000, 0x20d82444,
+ 0x0000a901, 0x02400000, 0x000000e8, 0x01280800, 0x00006180, 0x02c2a800,
+ 0x0000c980, 0x00900eec, 0x0000df80, 0x00007000, 0x00008084, 0x5fc22eec,
+ 0x0000a180, 0xc9c4070c, 0x00006283, 0x60102028, 0x0000a503, 0x8ac0262b,
+ 0x0000e091, 0xf000000c, 0x00002411, 0x4a800000, 0x00001980, 0x09803c45,
+ 0x00001281, 0xd3613013, 0x00006004, 0xd3613015, 0x00003004, 0x11418613,
+ 0x00001281, 0x00008445, 0x00009583, 0x5fc136ec, 0x00002181, 0x00004db6,
+ 0x00007011, 0x8b016284, 0x0000e080, 0x1100c62b, 0x00000180, 0x1102222c,
+ 0x00006000, 0x0000081c, 0x00002487, 0x0b002044, 0x0000e080, 0x24a1301c,
+ 0x00002083, 0x0b80f82c, 0x0000e784, 0x09c00000, 0x00008980, 0x00000081,
+ 0x00006582, 0x0b000000, 0x00000980, 0x0b000800, 0x0000e190, 0x9140a000,
+ 0x0000c981, 0x51404000, 0x00006181, 0x0bc02044, 0x00004080, 0x8995b802,
+ 0x00006180, 0x87016284, 0x00004080, 0xc9c0c284, 0x00009080, 0xb9c08c2c,
+ 0x0000c411, 0x9c800312, 0x00001393, 0xb9d09082, 0x00004913, 0x0c84070c,
+ 0x00009394, 0x9110ab80, 0x00001400, 0x8b003a44, 0x00001282, 0xffffffff,
+ 0x00007f86, 0xffffffff, 0x00007f86, 0x00004dce, 0x0000f010, 0x56818c2b,
+ 0x0000f902, 0x0c000000, 0x00000000, 0x56816a2b, 0x00007902, 0x0b000000,
+ 0x00008000, 0x91002480, 0x0000e080, 0x0c800000, 0x0000c980, 0x1ff86644,
+ 0x0000b938, 0x0c400831, 0x0000e082, 0x0cc00000, 0x00008980, 0x0c000030,
+ 0x00006084, 0x0d000000, 0x00000980, 0x0b41782d, 0x00006002, 0x0d400000,
+ 0x00008980, 0x20387044, 0x00003938, 0x20388244, 0x0000b938, 0x20389444,
+ 0x00003938, 0x2038a644, 0x0000b938, 0x2078b044, 0x0000b938, 0x2078c244,
+ 0x0000b938, 0x2078d444, 0x00003938, 0x2078e644, 0x0000b938, 0x20b8f044,
+ 0x00003938, 0x20b90244, 0x00003938, 0x20b91444, 0x0000b938, 0x20b92644,
+ 0x00003938, 0x20f93044, 0x00003938, 0x20f94244, 0x00003938, 0x20f95444,
+ 0x0000b938, 0x0b01702c, 0x0000e004, 0x9100a284, 0x00008080, 0x00008445,
+ 0x00006583, 0x0b800040, 0x00000980, 0x0bc00000, 0x00007900, 0x00076080,
+ 0x00008980, 0x91122645, 0x0000e000, 0x0d800000, 0x00008980, 0x56b98c2b,
+ 0x00005000, 0x00398000, 0x00008000, 0x56b96a2b, 0x0000d000, 0x00396000,
+ 0x00000000, 0x0b700000, 0x0000f900, 0x00200000, 0x00000980, 0x0b000000,
+ 0x00007900, 0x0000c000, 0x00008980, 0x0dc00000, 0x000003e0, 0x0e400000,
+ 0x000003e8, 0x0ec00000, 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000,
+ 0x000084c0, 0x10400000, 0x000004c8, 0x10c00000, 0x0000e180, 0x8b81062b,
+ 0x0000c180, 0x00004e40, 0x00007408, 0x8bd22545, 0x00006000, 0x0c400000,
+ 0x00000980, 0x0c002020, 0x00001980, 0x00800eec, 0x00005f80, 0x00007004,
+ 0x00000084, 0x1140c62b, 0x00006181, 0x80002008, 0x00002483, 0x103c0040,
+ 0x0000f900, 0x003ffffe, 0x00008280, 0x1103fc45, 0x00006281, 0xe0000840,
+ 0x00002402, 0x9140a444, 0x00006080, 0xa000102f, 0x00002403, 0x00222040,
+ 0x00006084, 0x04122841, 0x0000b183, 0x4b402000, 0x0000e181, 0x01001004,
+ 0x0000c380, 0x0f04003c, 0x00009380, 0x00800eec, 0x00005f80, 0x00007004,
+ 0x00000084, 0x82802404, 0x0000e080, 0x03280800, 0x0000c980, 0x20f9940a,
+ 0x00003138, 0x1ff8a60a, 0x00003138, 0x2038b00a, 0x0000b138, 0x2038c20a,
+ 0x0000b138, 0xc1008733, 0x0000e283, 0x03400000, 0x00000980, 0x2038d40a,
+ 0x00003138, 0x2038e60a, 0x0000b138, 0x2078f00a, 0x0000b138, 0x2079020a,
+ 0x0000b138, 0x2079140a, 0x00003138, 0x2079260a, 0x0000b138, 0x20b9300a,
+ 0x00003138, 0x20b9420a, 0x00003138, 0x20b9540a, 0x0000b138, 0x20b9660a,
+ 0x00003138, 0x20f9700a, 0x00003138, 0x00004ebe, 0x0000f408, 0x20f9820a,
+ 0x0000b138, 0x03800000, 0x000080fc, 0x0a019c0a, 0x00006004, 0x0600480d,
+ 0x0000b006, 0xc720500c, 0x00006003, 0x4600480d, 0x0000b002, 0x0281861b,
+ 0x0000e281, 0x81c0a208, 0x00008080, 0x0000840a, 0x0000e583, 0x6600480d,
+ 0x00002000, 0x0140c633, 0x0000e188, 0x01408633, 0x00008090, 0x0180a000,
+ 0x00006189, 0x01814000, 0x00004991, 0x01402a24, 0x00006008, 0x01402b25,
+ 0x00000010, 0x41804000, 0x00006189, 0x41804000, 0x00004991, 0x01002005,
+ 0x0000e080, 0x0d800040, 0x00000980, 0x0100f804, 0x00006784, 0x81d03c06,
+ 0x00008000, 0x0000840a, 0x0000e583, 0x7600480d, 0x0000a000, 0x0dc00000,
+ 0x00007900, 0x00076080, 0x00008980, 0x04000000, 0x00007900, 0x00018200,
+ 0x00000980, 0x0d000000, 0x00007900, 0x0000c000, 0x00008980, 0x0d700000,
+ 0x0000f900, 0x00200000, 0x00000980, 0x04400000, 0x000001c8, 0x04c2a800,
+ 0x0000e180, 0x0e002020, 0x0000c980, 0x0e400000, 0x000003e8, 0x0ec00000,
+ 0x000083f0, 0x0f400000, 0x000003f8, 0x0fc00000, 0x000084c0, 0x10400000,
+ 0x000004c8, 0x10c00000, 0x000084d0, 0x11400000, 0x000004d8, 0x11c00000,
+ 0x000004e0, 0x12400000, 0x000004e8, 0x00004ea3, 0x0000f408, 0x12c00000,
+ 0x00006180, 0x01402005, 0x0000c080, 0x8d810633, 0x00006180, 0x8dd03d06,
+ 0x00000000, 0x56804c33, 0x00007902, 0x02000000, 0x00008000, 0x56803a33,
+ 0x0000f902, 0x01800000, 0x00000000, 0xffffffff, 0x00007f97, 0x02400809,
+ 0x00001082, 0x01c02807, 0x0000e002, 0x02000008, 0x00000084, 0x01802006,
+ 0x00009004, 0x56b84c33, 0x0000d000, 0x00384000, 0x00000000, 0x56b83a33,
+ 0x00005000, 0x00383000, 0x00008000, 0x00801eec, 0x0000df80, 0x00007004,
+ 0x00000084, 0x56804c33, 0x00007902, 0x02000000, 0x00008000, 0x56803a33,
+ 0x0000f902, 0x01800000, 0x00000000, 0x123c0048, 0x0000f900, 0x003ffffe,
+ 0x00008280, 0x0280c633, 0x0000e181, 0xe0000848, 0x0000a402, 0x02400809,
+ 0x0000e082, 0x0283fc0a, 0x00008281, 0x02000008, 0x00006084, 0x00205048,
+ 0x00002084, 0x01c02807, 0x0000e002, 0x8280a40a, 0x00008080, 0x01802006,
+ 0x00006004, 0x80002010, 0x00002483, 0x04105049, 0x0000e183, 0xa0001037,
+ 0x0000b403, 0x56b84c33, 0x0000d000, 0x00384000, 0x00000000, 0x56b83a33,
+ 0x00005000, 0x00383000, 0x00008000, 0x4d402000, 0x0000e181, 0x0300100c,
+ 0x0000c380, 0x11040044, 0x00009380, 0x00801eec, 0x0000df80, 0x00007004,
+ 0x00000084, 0x04000000, 0x0000e180, 0x0600480d, 0x0000e006, 0x04400000,
+ 0x00006180, 0x4600480d, 0x0000e002, 0x04800000, 0x00006180, 0x6600480d,
+ 0x0000e000, 0x04c2a800, 0x0000e180, 0x7600480d, 0x00006000, 0x00901eec,
+ 0x00005f80, 0x00007000, 0x00008084, 0x22111800, 0x0000f900, 0x00184952,
+ 0x00008980, 0x4ece0f59, 0x00007500, 0x1d40000c, 0x0000e180, 0x1fd01202,
+ 0x00004900, 0x1fb1ee3d, 0x00009900, 0x80001e3d, 0x00001583, 0x01000000,
+ 0x0000f910, 0x00014040, 0x00000980, 0x04800000, 0x0000e190, 0x02800000,
+ 0x0000c990, 0x00004ede, 0x00007008, 0x0391f000, 0x00007900, 0x00184952,
+ 0x00008980, 0x03f8d800, 0x00007900, 0x00063176, 0x00008980, 0x02000000,
+ 0x0000e180, 0x08001a0c, 0x0000e106, 0x4ede0f22, 0x0000f500, 0x81001000,
+ 0x0000e180, 0xc3300600, 0x00004901, 0x03600702, 0x00008032, 0x4ee2163f,
+ 0x00007500, 0x07c04800, 0x0000e180, 0x0801e004, 0x0000e206, 0x07802004,
+ 0x00009900, 0x81c00fe2, 0x0000e080, 0x00000006, 0x0000e586, 0x50e1cc07,
+ 0x00002081, 0x50d1c407, 0x0000a082, 0x044000c0, 0x000001c8, 0x04c00000,
+ 0x0000e180, 0x06020811, 0x00006006, 0x4001c806, 0x0000e000, 0x46020811,
+ 0x00003002, 0x0001cc06, 0x00006004, 0x0439e011, 0x00003185, 0x01008406,
+ 0x0000e283, 0x05800000, 0x00000980, 0x01c00800, 0x0000e190, 0x09806807,
+ 0x00006008, 0x05c00000, 0x00006180, 0x09406c04, 0x00006000, 0x01403c04,
+ 0x0000e000, 0x06000000, 0x00008980, 0x81c016e3, 0x0000e080, 0x03c01405,
+ 0x00004881, 0x0cc02807, 0x0000f902, 0x01000000, 0x00000100, 0x0cc0ae07,
+ 0x00007902, 0x05000000, 0x00008100, 0x04000800, 0x0000f900, 0x00040014,
+ 0x00000980, 0x06400000, 0x00009980, 0x01402f3c, 0x00009002, 0x05400815,
+ 0x0000e082, 0x01000004, 0x00000084, 0x0cf82807, 0x0000d100, 0x00382000,
+ 0x00000000, 0xc100270d, 0x00006283, 0x05000014, 0x00000084, 0x0cf8ae07,
+ 0x00005100, 0x0038a000, 0x00008000, 0x05000000, 0x0000f900, 0x0000c002,
+ 0x00000980, 0x00004f0f, 0x00007210, 0x05400000, 0x0000e180, 0x01000000,
+ 0x00004990, 0x01008406, 0x00001283, 0x01000000, 0x00009980, 0x01000800,
+ 0x00009988, 0xc100470d, 0x00006283, 0x01400000, 0x00000981, 0x07002060,
+ 0x00006180, 0x0900580b, 0x0000c900, 0x0a00600c, 0x0000e100, 0x34e0201c,
+ 0x0000e001, 0x01400800, 0x0000e189, 0x01c7863c, 0x0000c281, 0x01008406,
+ 0x0000e283, 0x06c02060, 0x00000980, 0xd341c828, 0x00006014, 0xd341c024,
+ 0x0000b014, 0x00000405, 0x00006583, 0x0801e004, 0x00002206, 0x00058407,
+ 0x00006583, 0x0c400000, 0x00000980, 0x0c000000, 0x0000f900, 0x00204000,
+ 0x00008980, 0x0c800000, 0x000083cc, 0x0d172ae5, 0x00006100, 0x34e0281b,
+ 0x0000e001, 0x0b000000, 0x00007900, 0x00224180, 0x00000980, 0x06806060,
+ 0x0000e180, 0x07408060, 0x0000c980, 0x0780c060, 0x00006180, 0x07c00000,
+ 0x0000c980, 0x08c00000, 0x000002d4, 0x09800000, 0x000082dc, 0x0a400000,
+ 0x000002e8, 0x0ac00000, 0x00006180, 0x08004008, 0x00004900, 0x08785709,
+ 0x00000208, 0x0b400000, 0x000002f8, 0x0bc0002e, 0x000083d4, 0x0d800000,
+ 0x000083dc, 0xc6204406, 0x000081e6, 0x0c486a0d, 0x00000304, 0x0c50700d,
+ 0x00000300, 0x0c00710e, 0x00008300, 0x00004f41, 0x00007410, 0x4c800120,
+ 0x00006180, 0xccf9ef3d, 0x00004901, 0xcd102204, 0x00006100, 0x80002030,
+ 0x0000e40f, 0x0d200404, 0x0000838f, 0x0801f804, 0x00006a06, 0x4c800000,
+ 0x0000f900, 0x00002200, 0x00008980, 0xcd102204, 0x00001900, 0x11580000,
+ 0x00007900, 0x00200000, 0x00000980, 0x15c00000, 0x0000e180, 0x08001a04,
+ 0x00006106, 0x16800000, 0x000005f0, 0x00058407, 0x00006583, 0x04102045,
+ 0x0000a101, 0x001020ec, 0x0000d780, 0x00d07442, 0x000001c0, 0x00001857,
+ 0x00006106, 0x0001e05a, 0x0000b206, 0x11800040, 0x00006180, 0x16c00002,
+ 0x00004980, 0x17400000, 0x000086c0, 0x18400000, 0x0000e180, 0x81002302,
+ 0x0000c780, 0x1700605c, 0x00006388, 0x8000085c, 0x00002412, 0x11000000,
+ 0x0000f900, 0x00014000, 0x00008980, 0x11c0c000, 0x0000f900, 0x00006080,
+ 0x00000980, 0x13000000, 0x00007900, 0x00108000, 0x00008980, 0x15001000,
+ 0x0000f900, 0x00004000, 0x00000980, 0x15400000, 0x0000f900, 0x00040080,
+ 0x00008980, 0x16086000, 0x0000f900, 0x00010000, 0x00000980, 0x16501800,
+ 0x00007900, 0x00004080, 0x00008980, 0x0008a8ec, 0x0000d780, 0x00007001,
+ 0x00008080, 0xc0001857, 0x0000e006, 0x0001e85b, 0x0000b106, 0x05001861,
+ 0x0000600e, 0xe000085d, 0x0000340a, 0x4510205a, 0x0000e107, 0xe000085c,
+ 0x0000340b, 0x12000000, 0x00006180, 0x12402020, 0x0000c980, 0x12802060,
+ 0x00006180, 0x12c00000, 0x00004980, 0x13400000, 0x000004f8, 0x13c00000,
+ 0x0000e180, 0x95901202, 0x00004900, 0x15800502, 0x000085b8, 0x17c00000,
+ 0x000086c8, 0x18c00000, 0x000086d0, 0x19400000, 0x000006d8, 0x19c00000,
+ 0x0000e180, 0x9180e40f, 0x00004080, 0xd8101202, 0x00001908, 0x008006ec,
+ 0x0000df80, 0x00000000, 0x00000084, 0x90800fe2, 0x00006080, 0x20000000,
+ 0x0000c980, 0x50e02642, 0x0000a081, 0x50e82642, 0x00002081, 0x20400000,
+ 0x000008c8, 0x20c00000, 0x000088d0, 0x4f820b00, 0x0000f500, 0x21400000,
+ 0x000008d8, 0x21c00000, 0x00001980, 0x410405ad, 0x00009283, 0x00005010,
+ 0x0000f013, 0x01010450, 0x00001283, 0x10808000, 0x0000e191, 0x1080a000,
+ 0x00004989, 0x410405ad, 0x00009283, 0x90221442, 0x00001901, 0x00005031,
+ 0x00007011, 0x90000400, 0x000084c2, 0x909362ac, 0x0000e000, 0x02e33000,
+ 0x00008980, 0x56803c44, 0x0000f902, 0x01800000, 0x00000000, 0x90802242,
+ 0x00006080, 0x03680000, 0x00000980, 0x56b82a44, 0x0000a080, 0x81121640,
+ 0x00006000, 0x03000000, 0x00000981, 0x90902540, 0x00006000, 0x82502540,
+ 0x00000000, 0x56b82244, 0x0000a000, 0x01c00807, 0x0000e082, 0x02002242,
+ 0x00000080, 0x10806450, 0x00006281, 0x01800006, 0x00000084, 0x01402808,
+ 0x00006002, 0x050a0000, 0x00008980, 0x01000004, 0x00006084, 0x02800000,
+ 0x00008980, 0x00006442, 0x00006583, 0x03800060, 0x00000980, 0x90800a6c,
+ 0x0000e780, 0x03000800, 0x00000991, 0x56b82a44, 0x0000d000, 0x00382000,
+ 0x00000000, 0x42c00342, 0x00008094, 0x08001a42, 0x0000e106, 0x04029805,
+ 0x0000b006, 0x0412100d, 0x0000e101, 0x46056805, 0x0000b002, 0x908012ac,
+ 0x0000e180, 0x66056805, 0x00002000, 0x05410450, 0x0000e283, 0xc5121640,
+ 0x00000000, 0x02280800, 0x0000f900, 0x00008000, 0x00000980, 0xf2828014,
+ 0x00006000, 0x76056805, 0x00003000, 0x20a06008, 0x00006000, 0xe3a20014,
+ 0x00003000, 0x03c00040, 0x0000e180, 0x04000060, 0x0000c980, 0x0100180a,
+ 0x0000e180, 0xc723980a, 0x00006007, 0x56b83c44, 0x00005000, 0x00383000,
+ 0x00008000, 0x04104805, 0x00006185, 0x04238008, 0x0000b083, 0x03000000,
+ 0x0000f900, 0x00014000, 0x00008980, 0x05028014, 0x00006006, 0xc7022804,
+ 0x0000b003, 0x04400000, 0x000001c8, 0x04c00000, 0x000081e0, 0x06400000,
+ 0x000001e8, 0x06c00000, 0x000081f0, 0x07400000, 0x000001f8, 0x07c00000,
+ 0x0000e180, 0x83b20640, 0x0000c900, 0x05656755, 0x0000803c, 0x00005009,
+ 0x0000f408, 0x84002540, 0x0000e080, 0x01c00000, 0x00000980, 0x02400000,
+ 0x000000d8, 0x2c256b44, 0x00001600, 0x058588b0, 0x00009000, 0x05c2b016,
+ 0x00006002, 0x1080f816, 0x00008784, 0x0582b842, 0x00001004, 0x17500000,
+ 0x00006180, 0x08001a42, 0x0000e106, 0x17c00000, 0x0000f900, 0x00006080,
+ 0x00000980, 0x17800040, 0x00006180, 0x0412105d, 0x0000e101, 0x90aa0640,
+ 0x0000e000, 0x18002020, 0x00008980, 0x17000000, 0x0000f900, 0x00018000,
+ 0x00008980, 0x18402140, 0x00006180, 0x18800000, 0x0000c980, 0x18c00000,
+ 0x00006180, 0x9793626c, 0x0000c900, 0x500405ad, 0x00006283, 0x97d56242,
+ 0x00008000, 0x10420450, 0x00009283, 0xffffffff, 0x00007f86, 0x00004ffc,
+ 0x0000f008, 0x00004ffc, 0x0000f008, 0xfd200d58, 0x0000c489, 0x92801d58,
+ 0x00009488, 0x0b002558, 0x00004588, 0x86c01558, 0x00008588, 0x23000000,
+ 0x00007900, 0x00008000, 0x00000980, 0x23580040, 0x0000e180, 0x10801000,
+ 0x00004981, 0x90411800, 0x00006180, 0x20aac08c, 0x00006000, 0x23c00004,
+ 0x00006180, 0x002ac08d, 0x0000e006, 0x50407c42, 0x0000e281, 0xc322100b,
+ 0x0000a006, 0x30eac08c, 0x00006000, 0x862ac08d, 0x0000b001, 0x24000000,
+ 0x00006180, 0x0012d88f, 0x00006106, 0x003208ec, 0x0000d702, 0x00007000,
+ 0x00000080, 0x24400018, 0x0000e180, 0x24800000, 0x0000c980, 0x2380075a,
+ 0x0000098c, 0x00000440, 0x0000e583, 0x00002075, 0x00002406, 0xdd002800,
+ 0x00009981, 0x0000501f, 0x00007011, 0x0008e8ec, 0x00005780, 0x00007001,
+ 0x00008080, 0x00000473, 0x00001583, 0x000910ec, 0x0000d790, 0x00007000,
+ 0x00000080, 0x00000470, 0x00001583, 0x0000500e, 0x0000f00b, 0x00980eec,
+ 0x00005f80, 0x00d075c3, 0x00008284, 0x2c256b44, 0x00001600, 0x108588b0,
+ 0x00001000, 0x00004fd1, 0x0000f400, 0xc5baa25b, 0x0000811c, 0x0602b042,
+ 0x00009000, 0x00980eec, 0x00005f80, 0x00d075c1, 0x00000284, 0x01010450,
+ 0x0000e283, 0x10840000, 0x00000980, 0x10800cad, 0x00006080, 0x01936042,
+ 0x00000100, 0x01400000, 0x0000f900, 0x00010000, 0x00000980, 0x2c121206,
+ 0x00001600, 0x814588b0, 0x00009000, 0x1080a000, 0x00006189, 0x10808000,
+ 0x0000c991, 0x20382eec, 0x0000d600, 0x003a9800, 0x00008000, 0x90221442,
+ 0x00001901, 0xe28405ad, 0x0000788f, 0x8a400000, 0x00002881, 0x10002450,
+ 0x00001283, 0x1e580079, 0x00006388, 0xa03a8750, 0x00000909, 0xe0228c51,
+ 0x00006109, 0xc0001879, 0x0000640a, 0x00005000, 0x00007010, 0x10004450,
+ 0x0000e283, 0xa1f28650, 0x00000901, 0x10800800, 0x0000e191, 0x10801000,
+ 0x0000c989, 0x10001450, 0x00001283, 0x41221078, 0x00006002, 0xe0000879,
+ 0x00003412, 0x00005000, 0x00007400, 0xa19a8b51, 0x00006110, 0x40000879,
+ 0x0000e413, 0xde6a8d51, 0x0000e101, 0x21029052, 0x00004910, 0x01008450,
+ 0x00001283, 0x503acf59, 0x0000e111, 0x10000800, 0x00004991, 0x50000000,
+ 0x00006189, 0x10000000, 0x0000c989, 0x00004f8b, 0x0000f010, 0x00004f8b,
+ 0x00007000, 0x10800d58, 0x00001881, 0x90411800, 0x00006180, 0xc322100b,
+ 0x00006006, 0x00004ffc, 0x0000f400, 0x50407c42, 0x00001281, 0x003208ec,
+ 0x0000d702, 0x00007000, 0x00000080, 0x29c00004, 0x00006180, 0x2a000000,
+ 0x0000c980, 0x29006000, 0x00007900, 0x00008000, 0x00000980, 0x29580800,
+ 0x00007900, 0x00004080, 0x00008980, 0x2a400018, 0x00006180, 0x000268a7,
+ 0x00006106, 0x2a800000, 0x00008aec, 0x2982604c, 0x00009900, 0x27c00004,
+ 0x0000e180, 0x28000000, 0x00004980, 0x27006000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x27580800, 0x0000f900, 0x00004080, 0x00008980, 0x28400018,
+ 0x0000e180, 0x0002589f, 0x0000e106, 0x28800000, 0x00008acc, 0x2782504a,
+ 0x00001900, 0x25c00004, 0x00006180, 0x23c00004, 0x00004980, 0x25006000,
+ 0x00007900, 0x00008000, 0x00000980, 0x25580800, 0x00007900, 0x00004080,
+ 0x00008980, 0x23006000, 0x00007900, 0x00008000, 0x00000980, 0x23580800,
+ 0x00007900, 0x00004080, 0x00008980, 0x00024897, 0x0000e106, 0x0012d88f,
+ 0x00003106, 0x26000000, 0x0000e180, 0x26400018, 0x00004980, 0x26800000,
+ 0x000089ec, 0x25800748, 0x00000980, 0x24400018, 0x0000e180, 0x24800000,
+ 0x0000c980, 0x00005039, 0x00007400, 0x24c00000, 0x00006180, 0x2382d05a,
+ 0x0000c900, 0x10800d58, 0x00001881, 0x00000001, 0x00007480, 0x8b00244c,
+ 0x00001880, 0x8b003a2c, 0x00009080, 0x0d001c34, 0x0000e006, 0x000000a5,
+ 0x00003584, 0xe9580000, 0x00006180, 0x29001002, 0x00004900, 0x29800000,
+ 0x00006180, 0x000018a5, 0x0000e106, 0x00000001, 0x00007480, 0x000948ec,
+ 0x0000d780, 0x00007000, 0x00000080, 0x29c00000, 0x0000e180, 0xc321a0a5,
+ 0x0000e004, 0x00000001, 0x00007480, 0x00400000, 0x00007900, 0x00048040,
+ 0x00000980, 0xc0004800, 0x0000e181, 0xc0042803, 0x0000e606, 0x21401085,
+ 0x00006380, 0x0f400000, 0x00000980, 0x0f000000, 0x00006180, 0x80002885,
+ 0x0000e406, 0xc0000319, 0x00007900, 0x00000002, 0x00008582, 0x0ec00000,
+ 0x0000e180, 0x10003085, 0x0000e405, 0x0e800000, 0x000003d8, 0x0d400000,
+ 0x00006180, 0xb000c085, 0x0000e481, 0x10800000, 0x00006180, 0x0f80f01e,
+ 0x0000c908, 0x0fc0e81d, 0x00006108, 0x0fc11823, 0x00004910, 0x0f811022,
+ 0x0000e110, 0x0f410821, 0x0000c910, 0x0f010020, 0x00006110, 0x0ec0f81f,
+ 0x0000c910, 0x0e80f01e, 0x00006110, 0x0d80e81d, 0x00004910, 0x0d40e01c,
+ 0x00006110, 0xb6e1c885, 0x0000e005, 0x10c00000, 0x0000e180, 0x0410a842,
+ 0x0000e107, 0x10000000, 0x0000e180, 0x8d18cb19, 0x0000c900, 0x8dc12124,
+ 0x00000406, 0x21001002, 0x0000e100, 0x1461a085, 0x0000e001, 0x2289f83f,
+ 0x00008828, 0x2299fa3f, 0x00008828, 0x22c9f03e, 0x0000882c, 0x22d9f23e,
+ 0x0000882c, 0x2309e83d, 0x00008830, 0x2319ea3d, 0x00008830, 0x2349e03c,
+ 0x00008834, 0x2359e23c, 0x00008834, 0x2389d83b, 0x00008838, 0x2399da3b,
+ 0x00008838, 0x23c9d03a, 0x0000883c, 0x23d9d23a, 0x0000883c, 0x2409b036,
+ 0x00008900, 0x2419b236, 0x00008900, 0x2449a835, 0x00008904, 0x2459aa35,
+ 0x00008904, 0x21ca1042, 0x0000881c, 0x21da1242, 0x0000881c, 0x218a1843,
+ 0x00008818, 0x219a1a43, 0x00008818, 0x224a0040, 0x00008824, 0x225a0240,
+ 0x00008824, 0x00000001, 0x00007480, 0x2219ba37, 0x00008820, 0x22020941,
+ 0x00008820, 0x50b85077, 0x0000f500, 0x8e101202, 0x0000e100, 0x08001a37,
+ 0x00006106, 0x80919232, 0x0000e100, 0x00119803, 0x00006106, 0x814010ec,
+ 0x0000d684, 0x00000080, 0x00000080, 0xffffffff, 0x00007f86, 0x008800ec,
+ 0x0000d780, 0x00c868c0, 0x00000480, 0x50bf507c, 0x0000f300, 0x0e400800,
+ 0x00009980, 0x814000ec, 0x00005684, 0x00000002, 0x00008480, 0x00000001,
+ 0x00007280, 0x8091c238, 0x0000e100, 0x0011b803, 0x0000e106, 0x00000001,
+ 0x00007480, 0x00400000, 0x00007900, 0x0000b9d0, 0x00008980, 0x40e05409,
+ 0x000080c3, 0x0eb83f06, 0x0000032c, 0x0f384f08, 0x00000334, 0x0e002004,
+ 0x00006100, 0x00202808, 0x0000e086, 0x0e402805, 0x0000e100, 0x82282808,
+ 0x00006086, 0x0f80500a, 0x00006100, 0x04182808, 0x0000e187, 0x02785f08,
+ 0x0000033c, 0x1b3e6800, 0x0000f900, 0x002be268, 0x00000980, 0x10386f0c,
+ 0x00000404, 0x10b87f0e, 0x0000040c, 0x1bb82709, 0x0000063c, 0xffffffff,
+ 0x0000ffb7, 0x82c03cec, 0x0000f902, 0x01800000, 0x00008604, 0xffffffff,
+ 0x00007fa7, 0x01803807, 0x00009900, 0x02003006, 0x00006100, 0x00002006,
+ 0x00006586, 0x1b404008, 0x00006100, 0x04282806, 0x0000e087, 0x50e2100d,
+ 0x0000f500, 0x86202806, 0x0000e887, 0x1ac03006, 0x00001900, 0x01800c05,
+ 0x00001181, 0x00003406, 0x00009583, 0x01c02004, 0x00006118, 0x01802805,
+ 0x0000c918, 0x01000000, 0x00007918, 0x00014040, 0x00000980, 0x000050f4,
+ 0x00007030, 0x03806800, 0x0000f900, 0x002be26a, 0x00008980, 0x03fa9000,
+ 0x0000f900, 0x0016f7fa, 0x00008980, 0x02000000, 0x0000e180, 0x08001a0c,
+ 0x0000e106, 0x81002800, 0x00006180, 0xc3300600, 0x00004901, 0x50f40f22,
+ 0x00007500, 0x83381400, 0x00008034, 0x02b83f06, 0x00008108, 0x05464000,
+ 0x0000f900, 0x00002400, 0x00008980, 0x0d800000, 0x000083dc, 0x05000800,
+ 0x00007900, 0x00080000, 0x00000980, 0x05800000, 0x00007900, 0x00002000,
+ 0x00000980, 0x07000000, 0x00007900, 0x00004000, 0x00000980, 0x07848000,
+ 0x0000f900, 0x000080c0, 0x00000980, 0x09400000, 0x00007900, 0x00260000,
+ 0x00000980, 0x0d009000, 0x00007900, 0x00017100, 0x00000980, 0x0d400000,
+ 0x0000f900, 0x00010000, 0x00000980, 0x413f1015, 0x0000e002, 0xc0001837,
+ 0x0000b006, 0x05c00000, 0x00006180, 0x06101001, 0x0000c980, 0x06400000,
+ 0x000001e8, 0x06c00000, 0x00006180, 0x07500001, 0x00004980, 0x07c00000,
+ 0x000002c0, 0x08400000, 0x000002c8, 0x08c00000, 0x000082d0, 0x09800000,
+ 0x000082dc, 0x0a000000, 0x000082e4, 0x0a800000, 0x000082ec, 0x0b000000,
+ 0x000082f4, 0x0b800000, 0x000082fc, 0x0c000000, 0x000083c4, 0x0c800000,
+ 0x000083cc, 0xcd981302, 0x00009900, 0x00802eec, 0x0000df80, 0x00007003,
+ 0x00008084, 0x01460000, 0x00006180, 0x0104080a, 0x0000c980, 0x01800000,
+ 0x00006180, 0x06038805, 0x00006006, 0x02800000, 0x0000f900, 0x00040000,
+ 0x00000980, 0x01c00000, 0x0000e180, 0x413f1005, 0x00006002, 0x00000001,
+ 0x00007480, 0x02000080, 0x000000e4, 0x02eb3000, 0x00009980, 0x29400000,
+ 0x0000f900, 0x00008000, 0x00000980, 0x1dc00000, 0x00006180, 0x0d001c04,
+ 0x0000e006, 0x000018a5, 0x0000e106, 0x00001877, 0x0000b106, 0x1d001000,
+ 0x00007900, 0x00014000, 0x00008980, 0x1d682000, 0x0000f900, 0x00004280,
+ 0x00000980, 0xc32020a5, 0x0000e004, 0xc0001877, 0x00003006, 0x1d801002,
+ 0x00006100, 0x1e000080, 0x0000c980, 0x1e400000, 0x000007e8, 0x1ec00000,
+ 0x000087f0, 0x1f400000, 0x000007f8, 0x1fc00000, 0x000008c0, 0x20400000,
+ 0x000008c8, 0x20c00000, 0x000088d0, 0x21400000, 0x000008d8, 0x00000001,
+ 0x00007480, 0x21c00000, 0x00000ad8, 0x29000702, 0x00008a9c, 0x21000000,
+ 0x000088d4, 0x21800000, 0x000088dc, 0x22000000, 0x000088e4, 0x22800000,
+ 0x000088ec, 0x23000000, 0x000088f4, 0x23800000, 0x000088fc, 0x24000000,
+ 0x000089c4, 0x24800000, 0x000089cc, 0x25000000, 0x000089d4, 0x25800000,
+ 0x000089dc, 0x26000000, 0x000089e4, 0x26800000, 0x000089ec, 0x27000000,
+ 0x000089f4, 0x27800000, 0x000089fc, 0x28000000, 0x00008ac4, 0x28800000,
+ 0x00008acc, 0x29000000, 0x00008ad4, 0x29800000, 0x00008adc, 0x2a000000,
+ 0x00008ae4, 0x2a800000, 0x00008aec, 0x01000000, 0x000080d4, 0x01800000,
+ 0x000080dc, 0x02000000, 0x000080e4, 0x02c00000, 0x000080e8, 0x44609c31,
+ 0x00004388, 0x00a09c31, 0x00000098, 0x4b007431, 0x00004388, 0x00a07431,
+ 0x00000098, 0x4b006431, 0x00004488, 0x3ea06431, 0x0000949c, 0x5ac05c31,
+ 0x0000788a, 0x92800000, 0x0000a981, 0x18a07c31, 0x00004788, 0x0fc0bc31,
+ 0x00000f8e, 0x4580bc31, 0x0000c198, 0x00a0ac31, 0x00008088, 0x18a0ac31,
+ 0x0000cab0, 0x0d00cc31, 0x00008c8f, 0xffffffff, 0x00007f86, 0x0000cc31,
+ 0x00009583, 0x2703606c, 0x0000e128, 0x2743686d, 0x00004928, 0x27c3786f,
+ 0x0000e128, 0x2783706e, 0x00004928, 0x00005258, 0x0000f028, 0x8c80d431,
+ 0x00007892, 0xc2800000, 0x0000a982, 0x80000247, 0x00006582, 0x03408346,
+ 0x00008880, 0x04006a46, 0x00006300, 0x07400000, 0x00008980, 0x03408344,
+ 0x0000e080, 0x03003000, 0x0000c981, 0x04806a44, 0x00006300, 0x8000100c,
+ 0x00002487, 0x03400000, 0x0000e180, 0xc45a2b45, 0x0000c900, 0x83400800,
+ 0x00006188, 0x84522a45, 0x00004900, 0xc0000747, 0x00006583, 0x0d40804c,
+ 0x00000780, 0x83800001, 0x00006188, 0x83b6e810, 0x00004990, 0xc0000747,
+ 0x00006583, 0xf7e0680c, 0x0000a001, 0x07400800, 0x0000e189, 0x0d97284c,
+ 0x0000c200, 0x05400000, 0x00007900, 0x00204000, 0x00008980, 0x0000041d,
+ 0x00006583, 0x0a008048, 0x00008780, 0x034c3000, 0x00007900, 0x00028280,
+ 0x00008980, 0x09172848, 0x0000e200, 0xf7e0e80d, 0x0000a001, 0x00005195,
+ 0x00007208, 0x8662390e, 0x00000114, 0x0d41b035, 0x00006000, 0xe000081b,
+ 0x00002400, 0x0d403035, 0x0000e080, 0xc6a80008, 0x00008980, 0xc7003000,
+ 0x0000e180, 0x0d414035, 0x0000c000, 0x077a474c, 0x00008138, 0x000051b5,
+ 0x00007400, 0xc6c00000, 0x00006180, 0x86aa8d51, 0x00004901, 0x0d412035,
+ 0x00006000, 0xc7228c51, 0x00000901, 0x0d41b035, 0x00006000, 0x0000001a,
+ 0x00002606, 0x0d403035, 0x0000e080, 0xc000301a, 0x00002407, 0x0d41ab4d,
+ 0x00006000, 0x86f00000, 0x00000980, 0x0d41aa4d, 0x0000e000, 0x0002801a,
+ 0x0000a206, 0x0d41ab4e, 0x00006000, 0x0702604c, 0x00008900, 0x0d41aa4e,
+ 0x0000e000, 0x0742684d, 0x00000900, 0x0d41ab4f, 0x0000e000, 0x0782704e,
+ 0x00000900, 0x0d41aa4f, 0x00006000, 0x07c2784f, 0x00008900, 0x0d414035,
+ 0x00006000, 0x08024048, 0x00008900, 0x0d412035, 0x00006000, 0x08424849,
+ 0x00000900, 0x0d41ab49, 0x0000e000, 0x0882504a, 0x00000900, 0x0d41aa49,
+ 0x00006000, 0x08c2584b, 0x00008900, 0x06e28c51, 0x00006101, 0x0d41ab4a,
+ 0x00004000, 0x0d41aa4a, 0x00009000, 0x000051b5, 0x00007400, 0x0d41ab4b,
+ 0x00009000, 0x0d41aa4b, 0x00001000, 0x0d572835, 0x00001200, 0x0d41a824,
+ 0x00009000, 0x09008035, 0x00001780, 0x00000024, 0x00009582, 0x83b05000,
+ 0x0000e188, 0x891a8b51, 0x0000c908, 0xc9129252, 0x00006108, 0x0a000000,
+ 0x0000c988, 0x000051b3, 0x00007010, 0x8d400e47, 0x00006283, 0x000000a5,
+ 0x0000a584, 0x0b004000, 0x00006191, 0x0b002800, 0x0000c989, 0xca11aa35,
+ 0x0000e100, 0x000000a9, 0x00006584, 0x05800e47, 0x0000e281, 0xc7216027,
+ 0x0000a007, 0x4b380000, 0x00000ad5, 0x8001b02c, 0x00007902, 0x0d400000,
+ 0x00008604, 0xea400000, 0x00006180, 0x0d001c2c, 0x0000e006, 0x8d400e47,
+ 0x00006283, 0x000018a5, 0x00002106, 0x05800c16, 0x0000e481, 0x000018a9,
+ 0x00002106, 0x0a405000, 0x0000f910, 0x00004042, 0x00000980, 0x40000563,
+ 0x00006583, 0x0b003c2c, 0x00008281, 0xf3e0b00e, 0x0000e000, 0xa00000aa,
+ 0x00003483, 0xc32160a5, 0x0000e004, 0xc32160a9, 0x0000b004, 0x29000702,
+ 0x00000a98, 0x29c00000, 0x0000e180, 0x2a001002, 0x00004900, 0x2ac00000,
+ 0x0000e180, 0x0d400000, 0x0000c988, 0x0d400800, 0x00006190, 0x85800000,
+ 0x00004980, 0x0002c05a, 0x00009502, 0x0000005b, 0x00001582, 0x00000435,
+ 0x00009583, 0x000051ef, 0x00007010, 0x000051ef, 0x00007008, 0x000051e9,
+ 0x00007008, 0x0d401353, 0x00001880, 0x0d41aa64, 0x00009000, 0x0d530035,
+ 0x00007900, 0x0000003a, 0x00008c80, 0x000051fc, 0x0000f400, 0xffffffff,
+ 0x00007f86, 0x0d48c035, 0x00001d80, 0x00072861, 0x00001502, 0x000051fc,
+ 0x0000f400, 0x0d7ff865, 0x0000f908, 0x0000fffe, 0x00008280, 0x0d7ff861,
+ 0x00007910, 0x0000fffe, 0x00008280, 0x00072862, 0x00001502, 0x0d401353,
+ 0x00009888, 0x0d41aa64, 0x00001008, 0x0d7b1835, 0x00001808, 0x0d530035,
+ 0x0000f908, 0x0000003a, 0x00008c80, 0x0d7ff862, 0x00007910, 0x0000fffe,
+ 0x00008280, 0xffffffff, 0x00007f86, 0x0d48c035, 0x00009d88, 0xffffffff,
+ 0x00007f86, 0x0d7ff835, 0x0000f908, 0x0000fffe, 0x00008280, 0x80000247,
+ 0x00009582, 0x0001a8aa, 0x00006b02, 0x0d400000, 0x00009990, 0x00005204,
+ 0x00007008, 0x52030fd3, 0x0000f500, 0x0cc23c35, 0x0000e804, 0x0d81a835,
+ 0x00009900, 0x85a1b436, 0x00001901, 0xc0000319, 0x00007900, 0x00000002,
+ 0x00008582, 0x8b002441, 0x0000e080, 0x040238a1, 0x00006000, 0x2702b857,
+ 0x0000e100, 0x144320a1, 0x0000e000, 0x277aef5b, 0x00000938, 0x27c2975e,
+ 0x00000a02, 0x00005211, 0x00007410, 0x681a9e69, 0x00000a01, 0x8b003a2c,
+ 0x00009080, 0x8600e81e, 0x0000f812, 0xaa800000, 0x0000a980, 0x43011f1f,
+ 0x0000c410, 0x30a1171e, 0x00009414, 0x43010f1d, 0x00004910, 0x30a1071c,
+ 0x00009414, 0x0d001000, 0x00009981, 0xffffffff, 0x00007f86, 0x00005219,
+ 0x0000f000, 0x0d000800, 0x00009981, 0x521c507c, 0x00007300, 0x0e400800,
+ 0x0000e180, 0x0021a02d, 0x0000e002, 0x00005258, 0x00007200, 0x001148ec,
+ 0x0000d780, 0x00007000, 0x00000080, 0x52585069, 0x00007100, 0x00005258,
+ 0x0000f000, 0x5258506c, 0x00007100, 0x00005258, 0x0000f000, 0x0000522d,
+ 0x0000f200, 0x0e401000, 0x00009980, 0x52265124, 0x0000f100, 0x52275119,
+ 0x0000f100, 0x00005255, 0x0000f400, 0x001008ec, 0x0000d780, 0x00d07740,
+ 0x000082c0, 0x000948ec, 0x0000d780, 0x00007000, 0x00000080, 0x0e401000,
+ 0x00009980, 0x522e507c, 0x00007100, 0x00005258, 0x00007200, 0x2703606c,
+ 0x00009900, 0x525850b3, 0x0000f100, 0x00005258, 0x0000f000, 0x01000000,
+ 0x00007900, 0x00014040, 0x00000980, 0x03986800, 0x0000f900, 0x002be266,
+ 0x00008980, 0x03f82800, 0x00007900, 0x00280a2c, 0x00000980, 0x02000000,
+ 0x0000e180, 0x08001a0c, 0x0000e106, 0x83200500, 0x00008032, 0x523f0f22,
+ 0x00007500, 0x03798702, 0x00000108, 0x81002800, 0x00006180, 0x02818831,
+ 0x0000c900, 0x00005245, 0x00007400, 0x5d00b000, 0x0000e181, 0xc000087a,
+ 0x00006407, 0x1ec33000, 0x00009981, 0x00007c31, 0x00001583, 0x5d00b000,
+ 0x00001989, 0x25c00000, 0x000088c8, 0x20c00000, 0x0000e180, 0x00001897,
+ 0x00006106, 0x20001000, 0x0000f900, 0x00015e00, 0x00008980, 0x25009000,
+ 0x00007900, 0x000170c0, 0x00008980, 0x25402000, 0x00007900, 0x0001c008,
+ 0x00008980, 0x0000e8ec, 0x0000d780, 0x00007003, 0x00000080, 0x20401002,
+ 0x0000e100, 0xc0001897, 0x0000e006, 0x25a81402, 0x00008918, 0x26398f30,
+ 0x00000924, 0x26f99733, 0x00000928, 0x525650c4, 0x00007100, 0x008806ec,
+ 0x00005f80, 0x00c868c0, 0x000004c4, 0x1d460000, 0x00007900, 0x00002400,
+ 0x00008980, 0x1dc00000, 0x00006180, 0x0401a075, 0x0000e006, 0x1d000800,
+ 0x00007900, 0x00080000, 0x00000980, 0x1d800000, 0x00007900, 0x00002000,
+ 0x00000980, 0x1f000000, 0x00007900, 0x00004000, 0x00000980, 0x1f848000,
+ 0x0000f900, 0x000080c0, 0x00000980, 0x1e101001, 0x0000e180, 0x413f1075,
+ 0x0000e002, 0x1e400000, 0x000007e8, 0x1ec00000, 0x00006180, 0x1f500001,
+ 0x00004980, 0x1fc00000, 0x00009980, 0x90c05c31, 0x00007892, 0xfa800000,
+ 0x00002981, 0x800002ac, 0x00006582, 0x03c00000, 0x00008980, 0x08001a10,
+ 0x00006106, 0x0000100f, 0x0000b413, 0x03580000, 0x0000e180, 0x0380a060,
+ 0x0000c980, 0x00000001, 0x00007480, 0x03000000, 0x0000f900, 0x00008000,
+ 0x00000980, 0x83d562ac, 0x0000e110, 0x0410800d, 0x00006101, 0xc000032d,
+ 0x0000f900, 0x00000002, 0x00008582, 0xd11a5b4b, 0x0000e100, 0x86000fe2,
+ 0x00004880, 0x50e02618, 0x0000a081, 0x00005280, 0x0000f210, 0x50e82618,
+ 0x00002081, 0xa1c18832, 0x0000f812, 0x22800000, 0x00002984, 0x50e1bf33,
+ 0x00004410, 0x0ea1b732, 0x00001415, 0x50e1af31, 0x0000c910, 0x0ea1a730,
+ 0x00001415, 0x01401000, 0x00001981, 0xffffffff, 0x00007f86, 0x00005288,
+ 0x00007000, 0x01400800, 0x00001981, 0xc0001000, 0x00006181, 0x00202845,
+ 0x0000e002, 0x528e0b00, 0x0000f500, 0x00400000, 0x00007900, 0x00008190,
+ 0x00008980, 0xc0c00801, 0x00001980, 0x01460000, 0x00006180, 0x0715626c,
+ 0x00004000, 0x01001800, 0x0000e180, 0x04024805, 0x00006006, 0x0000040c,
+ 0x00006583, 0x46056805, 0x00002002, 0x0600a01c, 0x00006080, 0xc3206004,
+ 0x0000a006, 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080, 0x02182800,
+ 0x0000e180, 0x0410c005, 0x00006185, 0x02800000, 0x00006180, 0x02eb3000,
+ 0x0000c980, 0x00000473, 0x0000e583, 0x86000a6c, 0x00008780, 0xc7022804,
+ 0x0000e003, 0x04238008, 0x0000b083, 0x01800000, 0x00006180, 0xc723980a,
+ 0x00006007, 0x000910ec, 0x0000d790, 0x00007000, 0x00000080, 0x52a7526c,
+ 0x00007500, 0x01c00000, 0x000080e4, 0xc2e0c418, 0x00009901, 0x06400000,
+ 0x00007900, 0x001f0000, 0x00000980, 0x86040000, 0x00006180, 0x0700c01c,
+ 0x00004080, 0x86536218, 0x0000e100, 0x04028050, 0x00008900, 0x2038ceec,
+ 0x00005600, 0x003a4800, 0x00000000, 0x5680cc44, 0x0000f902, 0x06000000,
+ 0x00000000, 0x5680da44, 0x00007902, 0x06800000, 0x00008000, 0x047a9751,
+ 0x00000108, 0x04faa753, 0x00000110, 0x06400819, 0x0000e082, 0x0542a855,
+ 0x00008900, 0x06000018, 0x00006084, 0x0582b056, 0x00008900, 0x06c0d81c,
+ 0x00006002, 0x05c2b857, 0x00000900, 0x00000470, 0x0000e583, 0x0680001a,
+ 0x00000084, 0x000040ec, 0x0000d790, 0x00007002, 0x00008080, 0x56b8cc44,
+ 0x00005000, 0x0038c000, 0x00008000, 0x56b8da44, 0x0000d000, 0x0038d000,
+ 0x00000000, 0x000808ec, 0x0000d780, 0x00d07641, 0x00000180, 0x008806ec,
+ 0x00005f80, 0x00c86c40, 0x000080c4, 0x01400000, 0x00006180, 0x02007d30,
+ 0x0000c281, 0x0ec00000, 0x0000e180, 0x04019805, 0x0000e006, 0x00006408,
+ 0x0000e583, 0x4601a805, 0x0000a002, 0x0000183b, 0x00006106, 0x6601a805,
+ 0x00003000, 0x0e001000, 0x0000f900, 0x00014000, 0x00008980, 0x0e682000,
+ 0x00007900, 0x00004040, 0x00008980, 0xc000183b, 0x0000e006, 0x7601a805,
+ 0x0000b000, 0x0104000a, 0x00006180, 0x01800000, 0x00004980, 0x01c00000,
+ 0x0000e180, 0x0e801002, 0x0000c900, 0x0f000000, 0x000083f4, 0x0f800000,
+ 0x000083fc, 0x10000000, 0x000084c4, 0x10800000, 0x000084cc, 0x11000000,
+ 0x000084d4, 0x11800000, 0x000084dc, 0x000052f3, 0x00007408, 0x12000000,
+ 0x000084e4, 0x12800000, 0x000084ec, 0x02004430, 0x0000e283, 0x0f58003d,
+ 0x00008380, 0x02000800, 0x00006191, 0x02001000, 0x00004989, 0x91398730,
+ 0x0000e101, 0xc000183d, 0x0000e402, 0xd1218c31, 0x00006101, 0x4120403c,
+ 0x0000e002, 0x02001430, 0x0000e283, 0x92f18630, 0x00000901, 0x92998b31,
+ 0x00006110, 0xe000083d, 0x00006412, 0x12019032, 0x00006110, 0x4000083d,
+ 0x0000e413, 0xcf698d31, 0x00009901, 0x00880eec, 0x0000df80, 0x00d07380,
+ 0x000082c4, 0x42008530, 0x00001283, 0x92998330, 0x00006110, 0xe000083d,
+ 0x00006412, 0x42010530, 0x00001283, 0x6000083c, 0x0000ec12, 0x00880eec,
+ 0x0000df80, 0x00d07380, 0x000082c4, 0x03800e54, 0x00006281, 0x02000000,
+ 0x00000980, 0x02400000, 0x000000e8, 0x83000e54, 0x0000e283, 0x02c00000,
+ 0x00000980, 0x0000000d, 0x00001582, 0xffffffff, 0x00007f86, 0x00005308,
+ 0x0000f010, 0x00005306, 0x00007008, 0x02c06479, 0x00009281, 0x0000640b,
+ 0x00001583, 0x02002008, 0x00001388, 0xffffffff, 0x00007f86, 0x02000808,
+ 0x00009380, 0x83400a6c, 0x00006780, 0x71e07008, 0x00002000, 0x00000001,
+ 0x00007480, 0xc723980a, 0x00006007, 0x04238008, 0x0000b083, 0x42c3330d,
+ 0x000000ae, 0x82000fe2, 0x00009880, 0x53120bcf, 0x00007500, 0x50e03608,
+ 0x0000a081, 0x50e83608, 0x00002081, 0x01400000, 0x0000f900, 0x001f0000,
+ 0x00000980, 0x82040000, 0x0000e180, 0x0c02a409, 0x00006000, 0x800002ac,
+ 0x00006582, 0x81536208, 0x00008100, 0x01000800, 0x0000f900, 0x00200000,
+ 0x00000980, 0x20382eec, 0x0000d600, 0x003a9800, 0x00008000, 0x02000c09,
+ 0x00006481, 0x01400000, 0x00008980, 0x10604004, 0x0000e000, 0x06056805,
+ 0x0000b006, 0x01040004, 0x0000e388, 0x46056805, 0x00002002, 0x00000409,
+ 0x00006583, 0x66056805, 0x00002000, 0x02000000, 0x0000e191, 0x08022c08,
+ 0x0000600a, 0xc3209004, 0x00006006, 0x76056805, 0x00003000, 0xc7204004,
+ 0x00006003, 0x04136005, 0x00003185, 0x532d52fa, 0x00007500, 0x01800000,
+ 0x000080dc, 0x03400000, 0x00009980, 0x56806c44, 0x0000f902, 0x03000000,
+ 0x00000000, 0x001008ec, 0x0000d780, 0x00007000, 0x00000080, 0x56807a44,
+ 0x00007902, 0x03800000, 0x00008000, 0x0010c8ec, 0x0000d780, 0x00007000,
+ 0x00000080, 0x00000412, 0x00006583, 0x0400226c, 0x00000080, 0x0018e8ec,
+ 0x00005790, 0x00007000, 0x00000080, 0x00000473, 0x0000e583, 0x84404000,
+ 0x00008980, 0x000910ec, 0x0000d790, 0x00007000, 0x00000080, 0x0340080d,
+ 0x0000e082, 0x82238211, 0x0000a086, 0x03c07810, 0x00006002, 0x0300000c,
+ 0x00000084, 0x56b86c44, 0x00005000, 0x00386000, 0x00008000, 0x83001654,
+ 0x0000e283, 0x0380000e, 0x00000084, 0x003088ec, 0x0000d702, 0x00007000,
+ 0x00000080, 0x56b87a44, 0x0000d000, 0x00387000, 0x00000000, 0x00005352,
+ 0x0000f008, 0x7fc01400, 0x000000c2, 0xc0c04000, 0x0000e180, 0xa0000000,
+ 0x0000e400, 0x00400000, 0x00007900, 0x00008190, 0x00008980, 0xc0004800,
+ 0x00009981, 0x008806ec, 0x00005f80, 0x00c868c0, 0x0000048c, 0x7fc01400,
+ 0x000000c2, 0x004000c0, 0x0000e180, 0xa0000000, 0x0000e400, 0xc0200401,
+ 0x000000cd, 0x008806ec, 0x00005f80, 0x00006800, 0x00008084, 0x81000e54,
+ 0x00009283, 0x83c00fe2, 0x00009888, 0x50e0260f, 0x00002089, 0x00005386,
+ 0x0000f010, 0x535e0b00, 0x0000f300, 0x50e8260f, 0x00002081, 0x01400000,
+ 0x0000f900, 0x001f0000, 0x00000980, 0x83c40000, 0x00006180, 0x0c02a409,
+ 0x00006000, 0x8153620f, 0x00006100, 0x02000c09, 0x00000481, 0x01000800,
+ 0x0000f900, 0x00200000, 0x00000980, 0x20382eec, 0x0000d600, 0x003a9800,
+ 0x00008000, 0x01400000, 0x00006180, 0x10604004, 0x0000e000, 0x800002ac,
+ 0x00006582, 0x06056805, 0x00002006, 0x01040004, 0x0000e388, 0x46056805,
+ 0x00002002, 0x00000409, 0x00006583, 0x66056805, 0x00002000, 0x02000000,
+ 0x0000e191, 0x08022c08, 0x0000600a, 0xc3206004, 0x00006006, 0x76056805,
+ 0x00003000, 0xc7204004, 0x00006003, 0x04136005, 0x00003185, 0x537952fa,
+ 0x0000f500, 0x01800000, 0x000080dc, 0x03400800, 0x00001980, 0x83000e54,
+ 0x00001283, 0x001008ec, 0x0000d780, 0x00007000, 0x00000080, 0x000053a0,
+ 0x0000f009, 0x0000040c, 0x00006583, 0xffc00000, 0x00008980, 0x0018e8ec,
+ 0x00005790, 0x00007000, 0x00000080, 0x00000473, 0x00001583, 0x000910ec,
+ 0x0000d790, 0x00007000, 0x00000080, 0x008006ec, 0x0000df80, 0x00000000,
+ 0x00000084, 0x53870ba0, 0x0000f100, 0x01400000, 0x00006180, 0x0c02a409,
+ 0x00006000, 0x01000800, 0x0000f900, 0x00200000, 0x00000980, 0x02000c09,
+ 0x00006481, 0x06056805, 0x00002006, 0x800002ac, 0x00006582, 0x10604004,
+ 0x00002000, 0x01040004, 0x0000e388, 0x46056805, 0x00002002, 0x00000409,
+ 0x00006583, 0x66056805, 0x00002000, 0x02000000, 0x0000e191, 0x08022c08,
+ 0x0000600a, 0xc3206004, 0x00006006, 0x76056805, 0x00003000, 0xc7204004,
+ 0x00006003, 0x04136005, 0x00003185, 0x539c52fa, 0x00007500, 0x01800000,
+ 0x000080dc, 0x03400800, 0x00001980, 0x83000e54, 0x00001283, 0x001008ec,
+ 0x0000d780, 0x00007000, 0x00000080, 0x0000537d, 0x0000f011, 0x56807444,
+ 0x0000f902, 0x03400000, 0x00008000, 0x56808a44, 0x00007902, 0x04000000,
+ 0x00008000, 0xffc00000, 0x00006180, 0x03c0226c, 0x00004080, 0x0010c8ec,
+ 0x0000d780, 0x00007000, 0x00000080, 0x0380080e, 0x00001082, 0x0440880f,
+ 0x0000e002, 0x0340000d, 0x00000084, 0x00000470, 0x0000e583, 0x04000010,
+ 0x00000084, 0x000040ec, 0x0000d790, 0x00007002, 0x00008080, 0x0000040c,
+ 0x00009583, 0x0018e8ec, 0x00005790, 0x00007000, 0x00000080, 0x00000473,
+ 0x00001583, 0x56b87444, 0x00005000, 0x00386800, 0x00000000, 0x56b88a44,
+ 0x0000d000, 0x00388000, 0x00000000, 0x000910ec, 0x0000d790, 0x00007000,
+ 0x00000080, 0x008006ec, 0x0000df80, 0x00000000, 0x00000084, 0x81002654,
+ 0x00009283, 0x53bd5358, 0x00007113, 0x53be530e, 0x0000f100, 0x000c4222,
+ 0x53be0f69, 0x00007004, 0x000000d0, 0x001e0ffc, 0x00123713, 0x001e36a6,
+ 0x001e3869, 0x001e0c99, 0x001e5808, 0x001e16c6, 0x001e0e7e, 0x001e0ee4,
+ 0x001e0e63, 0x001e12fa, 0x001e16bc, 0x001e0eb1, 0x00000090, 0x000016d3,
+ 0x00001b2d, 0x000023aa, 0x0000280e, 0x00002ba5, 0x00002e46, 0x001e39de,
+ 0x001e390c, 0x000031b4, 0x00000020, 0x00025717, 0x001e5761, 0x00000020,
+ 0x0004046c, 0x001e024c, 0x00000020, 0x000400e3, 0x0004042b, 0x00000020,
+ 0x000609fc, 0x00060932, 0x000000a0, 0x001e1407, 0x001e08c6, 0x00061599,
+ 0x001e006f, 0x00064ec8, 0x0006151b, 0x000607d3, 0x00060658, 0x000606f8,
+ 0x00060594, 0x00000040, 0x00084813, 0x00084b79, 0x00084d8f, 0x001e4e4f,
+ 0x00000020, 0x001e459c, 0x0012479b, 0x00000020, 0x000a53c0, 0x001e5563,
+ 0x00000060, 0x0012513c, 0x001e50c8, 0x000c53bb, 0x000c4f79, 0x001252c7,
+ 0x000c5277, 0x00000020, 0x80008000, 0x00000000, 0x00000020, 0x00000000,
+ 0x00000082, 0x00000020, 0x00000000, 0x00000080, 0x00000020, 0x000012b5,
+ 0x000017c1, 0x00000090, 0xffffb569, 0xffffffff, 0x2504ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xfff19cc1, 0xffffffff, 0x0094ffff, 0x00000069, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffd69, 0xffffffff,
- 0x0204ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffffffe5, 0xffffffff, 0x001effff, 0x00000000,
+ 0xffffffe5, 0xffffffff, 0x0018ffff, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffffff, 0xffffffff,
+ 0x0000ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xffffffe4, 0xffffffff, 0x0010ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xfffffc64, 0xffffffff, 0x0110ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffdc0, 0xffffffff,
+ 0xfffffdc0, 0xffffffff, 0x0088ffff, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffd82, 0xffffffff,
0x0084ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffffffe2, 0xffffffff, 0x0004ffff, 0x00000000,
+ 0x00000000, 0x00000090, 0xfff19cc1, 0xffffffff, 0x0094ffff, 0x00000069,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
+ 0xfffffd69, 0xffffffff, 0x0204ffff, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffffe5, 0xffffffff,
+ 0x001effff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xfffffc64, 0xffffffff, 0x0110ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xffff9cc1, 0xffffffff, 0x8084ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffd69, 0xffffffff,
- 0x0404ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffffffe4, 0xffffffff, 0x0008ffff, 0x00000000,
+ 0xfffffdc0, 0xffffffff, 0x0084ffff, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffffe2, 0xffffffff,
+ 0x0004ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xffff9cc1, 0xffffffff, 0x8084ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xffff8ce1, 0xffffffff, 0xc220ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffd69, 0xffffffff,
- 0x0104ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffffffe4, 0xffffffff, 0x0012ffff, 0x00000000,
+ 0xfffffd69, 0xffffffff, 0x0404ffff, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffffe4, 0xffffffff,
+ 0x0008ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xffff8ce1, 0xffffffff, 0xc220ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xffffffe0, 0xffffffff, 0x0008ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffc67, 0xffffffff,
- 0x010cffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffffffe1, 0xffffffff, 0x0004ffff, 0x00000000,
+ 0xfffffd69, 0xffffffff, 0x0104ffff, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffffe4, 0xffffffff,
+ 0x0012ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xffffffe0, 0xffffffff, 0x0008ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xfffffcab, 0xffffffff, 0x0784ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffa120, 0xffffffff,
- 0x4108ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffffffe3, 0xffffffff, 0x0014ffff, 0x00000000,
+ 0xfffffc67, 0xffffffff, 0x010cffff, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffffe1, 0xffffffff,
+ 0x0004ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xfffffcab, 0xffffffff, 0x0784ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xffffffe7, 0xffffffff, 0x0004ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffd69, 0xffffffff,
- 0x0504ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffff8ce1, 0xffffffff, 0xc420ffff, 0x00000000,
+ 0xffffa120, 0xffffffff, 0x4108ffff, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffffe3, 0xffffffff,
+ 0x0014ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xffffffe7, 0xffffffff, 0x0004ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xffffffe8, 0xffffffff, 0x0004ffff, 0x00000000, 0x00000000, 0x00000000,
+ 0xfffffd69, 0xffffffff, 0x0504ffff, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffff8ce1, 0xffffffff,
- 0xa308ffff, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffffffe5, 0xffffffff, 0x0014ffff, 0x00000000,
+ 0xc420ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xffffffe8, 0xffffffff, 0x0004ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xffff8ce1, 0xffffffff, 0x4110ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffde9, 0xffffffff,
- 0x0198ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffffb808, 0xffffffff, 0x2104ffff, 0x00000000,
+ 0xffff8ce1, 0xffffffff, 0xa308ffff, 0x00000001, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffffe5, 0xffffffff,
+ 0x0014ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xffff8ce1, 0xffffffff, 0x4110ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xffff9cc1, 0xffffffff, 0xe108ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffe02, 0xffffffff,
- 0x0104ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xffffbd09, 0xffffffff, 0x6104ffff, 0x00000000,
+ 0xfffffde9, 0xffffffff, 0x0198ffff, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffb808, 0xffffffff,
+ 0x2104ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xffff9cc1, 0xffffffff, 0xe108ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xffffffe6, 0xffffffff, 0x0004ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfff10e07, 0xffffffff,
- 0x4104ffff, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000090, 0xfffffd09, 0xffffffff, 0x0108ffff, 0x00000000,
+ 0xfffffe02, 0xffffffff, 0x0104ffff, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xffffbd09, 0xffffffff,
+ 0x6104ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xffffffe6, 0xffffffff, 0x0004ffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xffffffe7, 0xffffffff, 0x0008ffff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0x000d0000, 0x000c00d0,
- 0x00000190, 0x00080190, 0x00050210, 0x00030260, 0x00200290, 0x00000490,
- 0x00060000, 0x000f0060, 0x00000150, 0x000a0150, 0x000301f0, 0x00020220,
- 0x00070240, 0x000002b0, 0x000a0000, 0x000c00a0, 0x00000160, 0x00040160,
- 0x000501a0, 0x000201f0, 0x001a0210, 0x000003b0, 0x00040000, 0x000f0040,
- 0x00000130, 0x00090130, 0x000401c0, 0x00020200, 0x00080220, 0x000002a0,
- 0x00000000, 0x00020000, 0x00110020, 0x00090130, 0x000801c0, 0x00020240,
- 0x000a0260, 0x00020300, 0x000c0000, 0x000c00c0, 0x00000180, 0x00080180,
- 0x00050200, 0x00020250, 0x001e0270, 0x00000450, 0x000c0000, 0x000c00c0,
- 0x00020180, 0x000801a0, 0x00050220, 0x00020270, 0x00170290, 0x00000400,
- 0x000c0000, 0x000a00c0, 0x00000160, 0x00080160, 0x000501e0, 0x00020230,
- 0x000c0250, 0x00000310, 0x00000100, 0x000f0000, 0x000500f0, 0x000d0140,
- 0x00040210, 0x00000250, 0x00000250, 0x00000250, 0x00000250, 0x00070000,
- 0x00020070, 0x00080090, 0x00000110, 0x00000110, 0x00000110, 0x00000110,
- 0x00000110, 0x00000080, 0x00060000, 0x00020060, 0x00040080, 0x000000c0,
- 0x000000c0, 0x000000c0, 0x000000c0, 0x000000c0, 0x00000090, 0xffffbd09,
- 0xffffffff, 0x6114ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000090, 0xfffffc46, 0xffffffff, 0x0184ffff,
+ 0xfff10e07, 0xffffffff, 0x4104ffff, 0x00000010, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffd09, 0xffffffff,
+ 0x0108ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xffffffe7, 0xffffffff, 0x0008ffff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400,
+ 0x000d0000, 0x000c00d0, 0x00000190, 0x00080190, 0x00050210, 0x00030260,
+ 0x00200290, 0x00000490, 0x00060000, 0x000f0060, 0x00000150, 0x000a0150,
+ 0x000301f0, 0x00020220, 0x00070240, 0x000002b0, 0x000a0000, 0x000c00a0,
+ 0x00000160, 0x00040160, 0x000501a0, 0x000201f0, 0x001a0210, 0x000003b0,
+ 0x00040000, 0x000f0040, 0x00000130, 0x00090130, 0x000401c0, 0x00020200,
+ 0x00080220, 0x000002a0, 0x00000000, 0x00020000, 0x00110020, 0x00090130,
+ 0x000801c0, 0x00020240, 0x000a0260, 0x00020300, 0x000c0000, 0x000c00c0,
+ 0x00000180, 0x00080180, 0x00050200, 0x00020250, 0x001e0270, 0x00000450,
+ 0x000c0000, 0x000c00c0, 0x00020180, 0x000801a0, 0x00050220, 0x00020270,
+ 0x00170290, 0x00000400, 0x000c0000, 0x000a00c0, 0x00000160, 0x00080160,
+ 0x000501e0, 0x00020230, 0x000c0250, 0x00000310, 0x00000100, 0x000f0000,
+ 0x000500f0, 0x000d0140, 0x00040210, 0x00000250, 0x00000250, 0x00000250,
+ 0x00000250, 0x00070000, 0x00020070, 0x00080090, 0x00000110, 0x00000110,
+ 0x00000110, 0x00000110, 0x00000110, 0x00000080, 0x00060000, 0x00020060,
+ 0x00040080, 0x000000c0, 0x000000c0, 0x000000c0, 0x000000c0, 0x000000c0,
+ 0x00000090, 0xffffbd09, 0xffffffff, 0x6114ffff, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090, 0xfffffc46,
+ 0xffffffff, 0x0184ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000090, 0xffffc067, 0xffffffff, 0x418effff,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000090, 0xffffc067, 0xffffffff, 0x418effff, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x000f0000,
- 0x000500f0, 0x000c0140, 0x00000200, 0x00000200, 0x00000200, 0x00000200,
- 0x00000200, 0x00000090, 0xfffff909, 0xffffffff, 0x6114ffff, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000090,
- 0xfffff867, 0xffffffff, 0x418effff, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000020, 0x00008200, 0x0001ffff,
- 0x000000e0, 0x00000138, 0x00000128, 0x00000132, 0x00000136, 0x0000012a,
- 0x00000126, 0x00000138, 0x00000130, 0x0000012c, 0x00000134, 0x00000138,
- 0x00000124, 0x0000012e, 0x00000138, 0x000000e0, 0x00000137, 0x00000127,
- 0x00000131, 0x00000135, 0x00000129, 0x00000125, 0x00000137, 0x0000012f,
- 0x0000012b, 0x00000133, 0x00000137, 0x00000123, 0x0000012d, 0x00000137,
- 0x00000050, 0x00000000, 0x0000a5d1, 0x00008000, 0x00008000, 0x00008023,
- 0x00000060, 0x00008000, 0x00000000, 0x0000a032, 0x00008011, 0x00008011,
- 0x00008023, 0x00000060, 0x00008000, 0x00000000, 0x0000e032, 0x00008011,
- 0x000085d1, 0x000085e3, 0x00000050, 0x000085d1, 0x00000000, 0x00008003,
- 0x00008003, 0x00008003, 0x00000060, 0x00008023, 0x00000000, 0x000085c4,
- 0x00008004, 0x00008004, 0x00008003, 0x00000020, 0x00000000, 0x000012b5,
- 0x00000020, 0x00000001, 0x00000007, 0x00000080, 0x00000000, 0x00000001,
- 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007,
- 0x00000080, 0x00000000, 0x00000002, 0x00000004, 0x00000006, 0x00000008,
- 0x0000000a, 0x0000000c, 0x0000000e, 0x00000040, 0x00000000, 0x00000004,
- 0x00000008, 0x0000000c, 0x00000080, 0x00000001, 0x00000003, 0x00000005,
- 0x00000007, 0x00000009, 0x0000000b, 0x0000000d, 0x0000000f, 0x00000040,
- 0x00000001, 0x00000005, 0x00000009, 0x0000000d, 0x00000040, 0x00000002,
- 0x00000006, 0x0000000a, 0x0000000e, 0x00000040, 0x00000003, 0x00000007,
- 0x0000000b, 0x0000000f,
+ 0x00000080, 0x000f0000, 0x000500f0, 0x000c0140, 0x00000200, 0x00000200,
+ 0x00000200, 0x00000200, 0x00000200, 0x00000090, 0xfffff909, 0xffffffff,
+ 0x6114ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000090, 0xfffff867, 0xffffffff, 0x418effff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000020,
+ 0x00008200, 0x0001ffff, 0x000000e0, 0x00000138, 0x00000128, 0x00000132,
+ 0x00000136, 0x0000012a, 0x00000126, 0x00000138, 0x00000130, 0x0000012c,
+ 0x00000134, 0x00000138, 0x00000124, 0x0000012e, 0x00000138, 0x000000e0,
+ 0x00000137, 0x00000127, 0x00000131, 0x00000135, 0x00000129, 0x00000125,
+ 0x00000137, 0x0000012f, 0x0000012b, 0x00000133, 0x00000137, 0x00000123,
+ 0x0000012d, 0x00000137, 0x00000050, 0x00000000, 0x0000a5d1, 0x00008000,
+ 0x00008000, 0x00008023, 0x00000060, 0x00008000, 0x00000000, 0x0000a032,
+ 0x00008011, 0x00008011, 0x00008023, 0x00000060, 0x00008000, 0x00000000,
+ 0x0000e032, 0x00008011, 0x000085d1, 0x000085e3, 0x00000050, 0x000085d1,
+ 0x00000000, 0x00008003, 0x00008003, 0x00008003, 0x00000060, 0x00008023,
+ 0x00000000, 0x000085c4, 0x00008004, 0x00008004, 0x00008003, 0x00000020,
+ 0x00000000, 0x000012b5, 0x00000020, 0x00000001, 0x00000007, 0x00000080,
+ 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005,
+ 0x00000006, 0x00000007, 0x00000080, 0x00000000, 0x00000002, 0x00000004,
+ 0x00000006, 0x00000008, 0x0000000a, 0x0000000c, 0x0000000e, 0x00000040,
+ 0x00000000, 0x00000004, 0x00000008, 0x0000000c, 0x00000080, 0x00000001,
+ 0x00000003, 0x00000005, 0x00000007, 0x00000009, 0x0000000b, 0x0000000d,
+ 0x0000000f, 0x00000040, 0x00000001, 0x00000005, 0x00000009, 0x0000000d,
+ 0x00000040, 0x00000002, 0x00000006, 0x0000000a, 0x0000000e, 0x00000040,
+ 0x00000003, 0x00000007, 0x0000000b, 0x0000000f,
};
-/* Data size: 1144712 bytes */
+/* Data size: 1163872 bytes */
/* modes tree buffer */
ARRAY_DECL u8 modes_tree_buf[] = {
0x02, 0x01, 0x04, 0x05, 0x02, 0x01, 0x07, 0x08, 0x04, 0x02, 0x01, 0x04,
0x05, 0x02, 0x01, 0x07, 0x08, 0x05, 0x02, 0x01, 0x04, 0x05, 0x01, 0x06,
0x01, 0x0a, 0x08, 0x02, 0x01, 0x04, 0x05, 0x00, 0x01, 0x07, 0x09, 0x02,
- 0x00, 0x12, 0x00, 0x01, 0x07, 0x09, 0x02, 0x02, 0x00, 0x04, 0x0c, 0x00,
- 0x09, 0x02, 0x01, 0x04, 0x05, 0x01, 0x06, 0x0a, 0x02, 0x05, 0x02, 0x00,
- 0x0b, 0x0e, 0x02, 0x05, 0x02, 0x00, 0x0b, 0x10, 0x02, 0x00, 0x06, 0x01,
- 0x04, 0x05, 0x02, 0x04, 0x02, 0x00, 0x11, 0x0f, 0x02, 0x05, 0x02, 0x00,
- 0x0b, 0x0f, 0x02, 0x04, 0x02, 0x00, 0x11, 0x0e, 0x02, 0x01, 0x04, 0x05,
- 0x00, 0x0a, 0x02, 0x01, 0x04, 0x05, 0x00, 0x09, 0x02, 0x09, 0x01, 0x04,
- 0x05, 0x02, 0x0f, 0x01, 0x04, 0x05, 0x02, 0x0e, 0x01, 0x04, 0x05, 0x02,
- 0x05, 0x02, 0x0b, 0x10, 0x02, 0x05, 0x02, 0x0b, 0x0f, 0x02, 0x05, 0x02,
- 0x0b, 0x0e, 0x02, 0x04, 0x01, 0x04, 0x05, 0x02, 0x05, 0x01, 0x04, 0x05,
- 0x02, 0x00, 0x06, 0x00, 0x04, 0x01, 0x06, 0x01, 0x08, 0x0a, 0x02, 0x00,
- 0x04, 0x00, 0x09, 0x02, 0x10, 0x01, 0x04, 0x05, 0x00, 0x01, 0x04, 0x05,
- 0x00, 0x01, 0x05, 0x12, 0x02, 0x00, 0x06, 0x04, 0x02, 0x00, 0x06, 0x12,
- 0x02, 0x00, 0x06, 0x05, 0x02, 0x00, 0x05, 0x0f, 0x02, 0x04, 0x00, 0x11,
- 0x02, 0x05, 0x00, 0x09, 0x02, 0x05, 0x00, 0x10, 0x00, 0x01, 0x04, 0x12,
- 0x02, 0x04, 0x11, 0x02, 0x05, 0x0f, 0x01, 0x0b, 0x0d, 0x02, 0x05, 0x10,
- 0x00, 0x0d, 0x03,
+ 0x02, 0x00, 0x04, 0x0c, 0x00, 0x09, 0x02, 0x00, 0x04, 0x02, 0x00, 0x0b,
+ 0x0e, 0x02, 0x00, 0x04, 0x02, 0x00, 0x0b, 0x0f, 0x02, 0x00, 0x04, 0x02,
+ 0x00, 0x0b, 0x10, 0x02, 0x01, 0x04, 0x05, 0x01, 0x06, 0x0a, 0x02, 0x00,
+ 0x04, 0x02, 0x0b, 0x0e, 0x02, 0x00, 0x04, 0x02, 0x0b, 0x0f, 0x02, 0x00,
+ 0x04, 0x02, 0x0b, 0x10, 0x02, 0x04, 0x02, 0x00, 0x11, 0x0f, 0x02, 0x04,
+ 0x02, 0x00, 0x11, 0x0e, 0x02, 0x00, 0x06, 0x01, 0x04, 0x05, 0x02, 0x01,
+ 0x04, 0x05, 0x00, 0x0a, 0x02, 0x01, 0x04, 0x05, 0x00, 0x09, 0x02, 0x0e,
+ 0x01, 0x04, 0x05, 0x02, 0x05, 0x01, 0x04, 0x05, 0x02, 0x09, 0x01, 0x04,
+ 0x05, 0x02, 0x04, 0x01, 0x04, 0x05, 0x01, 0x06, 0x01, 0x08, 0x0a, 0x02,
+ 0x00, 0x06, 0x00, 0x04, 0x02, 0x00, 0x04, 0x00, 0x09, 0x02, 0x0f, 0x01,
+ 0x04, 0x05, 0x02, 0x10, 0x01, 0x04, 0x05, 0x00, 0x01, 0x05, 0x12, 0x02,
+ 0x00, 0x06, 0x04, 0x02, 0x00, 0x06, 0x12, 0x02, 0x00, 0x06, 0x05, 0x02,
+ 0x00, 0x06, 0x0e, 0x02, 0x00, 0x06, 0x10, 0x02, 0x00, 0x04, 0x0f, 0x02,
+ 0x00, 0x04, 0x10, 0x02, 0x00, 0x06, 0x0f, 0x02, 0x04, 0x00, 0x11, 0x02,
+ 0x05, 0x00, 0x10, 0x00, 0x01, 0x04, 0x12, 0x00, 0x01, 0x04, 0x05, 0x02,
+ 0x12, 0x10, 0x02, 0x05, 0x10, 0x02, 0x04, 0x11, 0x02, 0x04, 0x0f, 0x01,
+ 0x0b, 0x0d, 0x00, 0x0d, 0x00, 0x12, 0x00, 0x05, 0x03,
};
-/* Data size: 219 bytes */
+/* Data size: 237 bytes */
-/* Total of 293207 regs in 87 blocks */
+/* Total of 298054 regs in 87 blocks */
#endif /* __INIT_VALUES_H__ */
diff --git a/sys/dev/qlnx/qlnxe/ecore_int.c b/sys/dev/qlnx/qlnxe/ecore_int.c
index 25d0ddf..fcd154b 100644
--- a/sys/dev/qlnx/qlnxe/ecore_int.c
+++ b/sys/dev/qlnx/qlnxe/ecore_int.c
@@ -30,7 +30,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-
#include "bcm_osal.h"
#include "ecore.h"
#include "ecore_spq.h"
@@ -64,10 +63,14 @@ enum dbg_status dbg_read_attn(struct ecore_hwfn *dev,
enum dbg_status dbg_parse_attn(struct ecore_hwfn *dev,
struct dbg_attn_block_result *results);
+const char* dbg_get_status_str(enum dbg_status status);
+
#define ecore_dbg_read_attn(hwfn, ptt, id, type, clear, results) \
dbg_read_attn(hwfn, ptt, id, type, clear, results)
#define ecore_dbg_parse_attn(hwfn, results) \
dbg_parse_attn(hwfn, results)
+#define ecore_dbg_get_status_str(status) \
+ dbg_get_status_str(status)
#endif
struct ecore_pi_info {
@@ -78,7 +81,7 @@ struct ecore_pi_info {
struct ecore_sb_sp_info {
struct ecore_sb_info sb_info;
/* per protocol index data */
- struct ecore_pi_info pi_info_arr[PIS_PER_SB];
+ struct ecore_pi_info pi_info_arr[PIS_PER_SB_E4];
};
enum ecore_attention_type {
@@ -250,7 +253,7 @@ static const char* grc_timeout_attn_master_to_str(u8 master)
case 9: return "DBU";
case 10: return "DMAE";
default:
- return "Unknown";
+ return "Unkown";
}
}
@@ -272,19 +275,20 @@ static enum _ecore_status_t ecore_grc_attn_cb(struct ecore_hwfn *p_hwfn)
tmp2 = ecore_rd(p_hwfn, p_hwfn->p_dpc_ptt,
GRC_REG_TIMEOUT_ATTN_ACCESS_DATA_1);
- DP_INFO(p_hwfn->p_dev,
- "GRC timeout [%08x:%08x] - %s Address [%08x] [Master %s] [PF: %02x %s %02x]\n",
- tmp2, tmp,
- (tmp & ECORE_GRC_ATTENTION_RDWR_BIT) ? "Write to" : "Read from",
- (tmp & ECORE_GRC_ATTENTION_ADDRESS_MASK) << 2,
- grc_timeout_attn_master_to_str((tmp & ECORE_GRC_ATTENTION_MASTER_MASK) >>
- ECORE_GRC_ATTENTION_MASTER_SHIFT),
- (tmp2 & ECORE_GRC_ATTENTION_PF_MASK),
- (((tmp2 & ECORE_GRC_ATTENTION_PRIV_MASK) >>
+ DP_NOTICE(p_hwfn->p_dev, false,
+ "GRC timeout [%08x:%08x] - %s Address [%08x] [Master %s] [PF: %02x %s %02x]\n",
+ tmp2, tmp,
+ (tmp & ECORE_GRC_ATTENTION_RDWR_BIT) ? "Write to"
+ : "Read from",
+ (tmp & ECORE_GRC_ATTENTION_ADDRESS_MASK) << 2,
+ grc_timeout_attn_master_to_str((tmp & ECORE_GRC_ATTENTION_MASTER_MASK) >>
+ ECORE_GRC_ATTENTION_MASTER_SHIFT),
+ (tmp2 & ECORE_GRC_ATTENTION_PF_MASK),
+ (((tmp2 & ECORE_GRC_ATTENTION_PRIV_MASK) >>
ECORE_GRC_ATTENTION_PRIV_SHIFT) ==
- ECORE_GRC_ATTENTION_PRIV_VF) ? "VF" : "(Irrelevant:)",
- (tmp2 & ECORE_GRC_ATTENTION_VF_MASK) >>
- ECORE_GRC_ATTENTION_VF_SHIFT);
+ ECORE_GRC_ATTENTION_PRIV_VF) ? "VF" : "(Irrelevant:)",
+ (tmp2 & ECORE_GRC_ATTENTION_VF_MASK) >>
+ ECORE_GRC_ATTENTION_VF_SHIFT);
out:
/* Regardles of anything else, clean the validity bit */
@@ -415,30 +419,124 @@ ecore_general_attention_35(struct ecore_hwfn *p_hwfn)
return ECORE_SUCCESS;
}
-#define ECORE_DORQ_ATTENTION_REASON_MASK (0xfffff)
-#define ECORE_DORQ_ATTENTION_OPAQUE_MASK (0xffff)
-#define ECORE_DORQ_ATTENTION_SIZE_MASK (0x7f0000)
-#define ECORE_DORQ_ATTENTION_SIZE_SHIFT (16)
+#define ECORE_DORQ_ATTENTION_REASON_MASK (0xfffff)
+#define ECORE_DORQ_ATTENTION_OPAQUE_MASK (0xffff)
+#define ECORE_DORQ_ATTENTION_OPAQUE_SHIFT (0x0)
+#define ECORE_DORQ_ATTENTION_SIZE_MASK (0x7f)
+#define ECORE_DORQ_ATTENTION_SIZE_SHIFT (16)
+
+#define ECORE_DB_REC_COUNT 10
+#define ECORE_DB_REC_INTERVAL 100
+
+/* assumes sticky overflow indication was set for this PF */
+static enum _ecore_status_t ecore_db_rec_attn(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt)
+{
+ u8 count = ECORE_DB_REC_COUNT;
+ u32 usage = 1;
+
+ /* wait for usage to zero or count to run out. This is necessary since
+ * EDPM doorbell transactions can take multiple 64b cycles, and as such
+ * can "split" over the pci. Possibly, the doorbell drop can happen with
+ * half an EDPM in the queue and other half dropped. Another EDPM
+ * doorbell to the same address (from doorbell recovery mechanism or
+ * from the doorbelling entity) could have first half dropped and second
+ * half interperted as continuation of the first. To prevent such
+ * malformed doorbells from reaching the device, flush the queue before
+ * releaseing the overflow sticky indication.
+ */
+ while (count-- && usage) {
+ usage = ecore_rd(p_hwfn, p_ptt, DORQ_REG_PF_USAGE_CNT);
+ OSAL_UDELAY(ECORE_DB_REC_INTERVAL);
+ }
+
+ /* should have been depleted by now */
+ if (usage) {
+ DP_NOTICE(p_hwfn->p_dev, false,
+ "DB recovery: doorbell usage failed to zero after %d usec. usage was %x\n",
+ ECORE_DB_REC_INTERVAL * ECORE_DB_REC_COUNT, usage);
+ return ECORE_TIMEOUT;
+ }
+
+ /* flush any pedning (e)dpm as they may never arrive */
+ ecore_wr(p_hwfn, p_ptt, DORQ_REG_DPM_FORCE_ABORT, 0x1);
+
+ /* release overflow sticky indication (stop silently dropping everything) */
+ ecore_wr(p_hwfn, p_ptt, DORQ_REG_PF_OVFL_STICKY, 0x0);
+
+ /* repeat all last doorbells (doorbell drop recovery) */
+ ecore_db_recovery_execute(p_hwfn, DB_REC_REAL_DEAL);
+
+ return ECORE_SUCCESS;
+}
static enum _ecore_status_t ecore_dorq_attn_cb(struct ecore_hwfn *p_hwfn)
{
- u32 reason;
+ u32 int_sts, first_drop_reason, details, address, overflow,
+ all_drops_reason;
+ struct ecore_ptt *p_ptt = p_hwfn->p_dpc_ptt;
+ enum _ecore_status_t rc;
+
+ int_sts = ecore_rd(p_hwfn, p_ptt, DORQ_REG_INT_STS);
+ DP_NOTICE(p_hwfn->p_dev, false, "DORQ attention. int_sts was %x\n",
+ int_sts);
+
+ /* check if db_drop or overflow happened */
+ if (int_sts & (DORQ_REG_INT_STS_DB_DROP |
+ DORQ_REG_INT_STS_DORQ_FIFO_OVFL_ERR)) {
+
+ /* obtain data about db drop/overflow */
+ first_drop_reason = ecore_rd(p_hwfn, p_ptt,
+ DORQ_REG_DB_DROP_REASON) &
+ ECORE_DORQ_ATTENTION_REASON_MASK;
+ details = ecore_rd(p_hwfn, p_ptt,
+ DORQ_REG_DB_DROP_DETAILS);
+ address = ecore_rd(p_hwfn, p_ptt,
+ DORQ_REG_DB_DROP_DETAILS_ADDRESS);
+ overflow = ecore_rd(p_hwfn, p_ptt,
+ DORQ_REG_PF_OVFL_STICKY);
+ all_drops_reason = ecore_rd(p_hwfn, p_ptt,
+ DORQ_REG_DB_DROP_DETAILS_REASON);
+
+ /* log info */
+ DP_NOTICE(p_hwfn->p_dev, false,
+ "Doorbell drop occurred\n"
+ "Address\t\t0x%08x\t(second BAR address)\n"
+ "FID\t\t0x%04x\t\t(Opaque FID)\n"
+ "Size\t\t0x%04x\t\t(in bytes)\n"
+ "1st drop reason\t0x%08x\t(details on first drop since last handling)\n"
+ "Sticky reasons\t0x%08x\t(all drop reasons since last handling)\n"
+ "Overflow\t0x%x\t\t(a per PF indication)\n",
+ address, GET_FIELD(details, ECORE_DORQ_ATTENTION_OPAQUE),
+ GET_FIELD(details, ECORE_DORQ_ATTENTION_SIZE) * 4,
+ first_drop_reason, all_drops_reason, overflow);
+
+ /* if this PF caused overflow, initiate recovery */
+ if (overflow) {
+ rc = ecore_db_rec_attn(p_hwfn, p_ptt);
+ if (rc != ECORE_SUCCESS)
+ return rc;
+ }
+
+ /* clear the doorbell drop details and prepare for next drop */
+ ecore_wr(p_hwfn, p_ptt, DORQ_REG_DB_DROP_DETAILS_REL, 0);
- reason = ecore_rd(p_hwfn, p_hwfn->p_dpc_ptt, DORQ_REG_DB_DROP_REASON) &
- ECORE_DORQ_ATTENTION_REASON_MASK;
- if (reason) {
- u32 details = ecore_rd(p_hwfn, p_hwfn->p_dpc_ptt,
- DORQ_REG_DB_DROP_DETAILS);
+ /* mark interrupt as handeld (note: even if drop was due to a diffrent
+ * reason than overflow we mark as handled)
+ */
+ ecore_wr(p_hwfn, p_ptt, DORQ_REG_INT_STS_WR,
+ DORQ_REG_INT_STS_DB_DROP | DORQ_REG_INT_STS_DORQ_FIFO_OVFL_ERR);
- DP_INFO(p_hwfn->p_dev,
- "DORQ db_drop: address 0x%08x Opaque FID 0x%04x Size [bytes] 0x%08x Reason: 0x%08x\n",
- ecore_rd(p_hwfn, p_hwfn->p_dpc_ptt,
- DORQ_REG_DB_DROP_DETAILS_ADDRESS),
- (u16)(details & ECORE_DORQ_ATTENTION_OPAQUE_MASK),
- ((details & ECORE_DORQ_ATTENTION_SIZE_MASK) >>
- ECORE_DORQ_ATTENTION_SIZE_SHIFT) * 4, reason);
+ /* if there are no indications otherthan drop indications, success */
+ if ((int_sts & ~(DORQ_REG_INT_STS_DB_DROP |
+ DORQ_REG_INT_STS_DORQ_FIFO_OVFL_ERR |
+ DORQ_REG_INT_STS_DORQ_FIFO_AFULL)) == 0)
+ return ECORE_SUCCESS;
}
+ /* some other indication was present - non recoverable */
+ DP_INFO(p_hwfn, "DORQ fatal attention\n");
+
return ECORE_INVAL;
}
@@ -767,14 +865,19 @@ static void ecore_int_attn_print(struct ecore_hwfn *p_hwfn,
status = ecore_dbg_read_attn(p_hwfn, p_hwfn->p_dpc_ptt, id, type,
b_clear, &attn_results);
+#ifdef ATTN_DESC
if (status != DBG_STATUS_OK)
DP_NOTICE(p_hwfn, true,
- "Failed to parse attention information [status %d]\n",
- status);
+ "Failed to parse attention information [status: %s]\n",
+ ecore_dbg_get_status_str(status));
else
-#ifdef ATTN_DESC
ecore_dbg_parse_attn(p_hwfn, &attn_results);
#else
+ if (status != DBG_STATUS_OK)
+ DP_NOTICE(p_hwfn, true,
+ "Failed to parse attention information [status: %d]\n",
+ status);
+ else
ecore_dbg_print_attn(p_hwfn, &attn_results);
#endif
}
@@ -1384,7 +1487,7 @@ static void _ecore_int_cau_conf_pi(struct ecore_hwfn *p_hwfn,
if (IS_VF(p_hwfn->p_dev))
return;/* @@@TBD MichalK- VF CAU... */
- sb_offset = igu_sb_id * PIS_PER_SB;
+ sb_offset = igu_sb_id * PIS_PER_SB_E4;
OSAL_MEMSET(&pi_entry, 0, sizeof(struct cau_pi_entry));
SET_FIELD(pi_entry.prod, CAU_PI_ENTRY_PI_TIMESET, timeset);
@@ -2576,10 +2679,10 @@ enum _ecore_status_t ecore_int_get_sb_dbg(struct ecore_hwfn *p_hwfn,
p_info->igu_cons = ecore_rd(p_hwfn, p_ptt,
IGU_REG_CONSUMER_MEM + sbid * 4);
- for (i = 0; i < PIS_PER_SB; i++)
+ for (i = 0; i < PIS_PER_SB_E4; i++)
p_info->pi[i] = (u16)ecore_rd(p_hwfn, p_ptt,
CAU_REG_PI_MEMORY +
- sbid * 4 * PIS_PER_SB + i * 4);
+ sbid * 4 * PIS_PER_SB_E4 + i * 4);
return ECORE_SUCCESS;
}
diff --git a/sys/dev/qlnx/qlnxe/ecore_int.h b/sys/dev/qlnx/qlnxe/ecore_int.h
index a1dfaee..27e6e46 100644
--- a/sys/dev/qlnx/qlnxe/ecore_int.h
+++ b/sys/dev/qlnx/qlnxe/ecore_int.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_INT_H__
#define __ECORE_INT_H__
@@ -42,7 +41,7 @@
#define ECORE_SB_EVENT_MASK 0x0003
#define SB_ALIGNED_SIZE(p_hwfn) \
- ALIGNED_TYPE_SIZE(struct status_block, p_hwfn)
+ ALIGNED_TYPE_SIZE(struct status_block_e4, p_hwfn)
#define ECORE_SB_INVALID_IDX 0xffff
diff --git a/sys/dev/qlnx/qlnxe/ecore_int_api.h b/sys/dev/qlnx/qlnxe/ecore_int_api.h
index d2efa18..b1ef336 100644
--- a/sys/dev/qlnx/qlnxe/ecore_int_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_int_api.h
@@ -28,10 +28,12 @@
*
*/
-
#ifndef __ECORE_INT_API_H__
#define __ECORE_INT_API_H__
+#include "common_hsi.h"
+
+#ifndef __EXTRACT__LINUX__
#define ECORE_SB_IDX 0x0002
#define RX_PI 0
@@ -48,7 +50,7 @@ enum ecore_int_mode {
#endif
struct ecore_sb_info {
- struct status_block *sb_virt;
+ struct status_block_e4 *sb_virt;
dma_addr_t sb_phys;
u32 sb_ack; /* Last given ack */
u16 igu_sb_id;
@@ -66,7 +68,7 @@ struct ecore_sb_info {
struct ecore_sb_info_dbg {
u32 igu_prod;
u32 igu_cons;
- u16 pi[PIS_PER_SB];
+ u16 pi[PIS_PER_SB_E4];
};
struct ecore_sb_cnt_info {
@@ -89,7 +91,7 @@ static OSAL_INLINE u16 ecore_sb_update_sb_idx(struct ecore_sb_info *sb_info)
// barrier(); /* status block is written to by the chip */
// FIXME: need some sort of barrier.
prod = OSAL_LE32_TO_CPU(sb_info->sb_virt->prod_index) &
- STATUS_BLOCK_PROD_INDEX_MASK;
+ STATUS_BLOCK_E4_PROD_INDEX_MASK;
if (sb_info->sb_ack != prod) {
sb_info->sb_ack = prod;
rc |= ECORE_SB_IDX;
@@ -168,6 +170,7 @@ static OSAL_INLINE void internal_ram_wr(void OSAL_IOMEM *addr,
__internal_ram_wr(OSAL_NULL, addr, size, data);
}
#endif
+#endif
struct ecore_hwfn;
struct ecore_ptt;
diff --git a/sys/dev/qlnx/qlnxe/ecore_iov_api.h b/sys/dev/qlnx/qlnxe/ecore_iov_api.h
index b0d9713..62dc7e5 100644
--- a/sys/dev/qlnx/qlnxe/ecore_iov_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_iov_api.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_SRIOV_API_H__
#define __ECORE_SRIOV_API_H__
@@ -179,6 +178,7 @@ struct ecore_hw_sriov_info {
};
#ifdef CONFIG_ECORE_SRIOV
+#ifndef LINUX_REMOVE
/**
* @brief mark/clear all VFs before/after an incoming PCIe sriov
* disable.
@@ -709,6 +709,7 @@ int ecore_iov_get_vf_min_rate(struct ecore_hwfn *p_hwfn, int vfid);
enum _ecore_status_t ecore_iov_configure_min_tx_rate(struct ecore_dev *p_dev,
int vfid, u32 rate);
+#endif
/**
* @brief ecore_pf_configure_vf_queue_coalesce - PF configure coalesce parameters
@@ -736,66 +737,68 @@ ecore_iov_pf_configure_vf_queue_coalesce(struct ecore_hwfn *p_hwfn,
* @param p_hwfn
* @param rel_vf_id
*
- * @return E4_MAX_NUM_VFS in case no further active VFs, otherwise index.
+ * @return MAX_NUM_VFS_E4 in case no further active VFs, otherwise index.
*/
u16 ecore_iov_get_next_active_vf(struct ecore_hwfn *p_hwfn, u16 rel_vf_id);
void ecore_iov_bulletin_set_udp_ports(struct ecore_hwfn *p_hwfn, int vfid,
u16 vxlan_port, u16 geneve_port);
#else
-static OSAL_INLINE void ecore_iov_set_vfs_to_disable(struct ecore_dev *p_dev, u8 to_disable) {}
-static OSAL_INLINE void ecore_iov_set_vf_to_disable(struct ecore_dev *p_dev, u16 rel_vf_id, u8 to_disable) {}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_init_hw_for_vf(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, struct ecore_iov_vf_init_params *p_params) {return ECORE_INVAL;}
-static OSAL_INLINE void ecore_iov_process_mbx_req(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, int vfid) {}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_release_hw_for_vf(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, u16 rel_vf_id) {return ECORE_SUCCESS;}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_set_vf_ctx(struct ecore_hwfn *p_hwfn, u16 vf_id, void *ctx) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_vf_flr_cleanup(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_single_vf_flr_cleanup(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, u16 rel_vf_id) {return ECORE_INVAL;}
-static OSAL_INLINE void ecore_iov_set_link(struct ecore_hwfn *p_hwfn, u16 vfid, struct ecore_mcp_link_params *params, struct ecore_mcp_link_state *link, struct ecore_mcp_link_capabilities *p_caps) {}
-static OSAL_INLINE void ecore_iov_get_link(struct ecore_hwfn *p_hwfn, u16 vfid, struct ecore_mcp_link_params *params, struct ecore_mcp_link_state *link, struct ecore_mcp_link_capabilities *p_caps) {}
-static OSAL_INLINE bool ecore_iov_is_vf_pending_flr(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) {return false;}
-static OSAL_INLINE bool ecore_iov_is_valid_vfid(struct ecore_hwfn *p_hwfn, int rel_vf_id, bool b_enabled_only) {return false;}
-static OSAL_INLINE struct ecore_public_vf_info* ecore_iov_get_public_vf_info(struct ecore_hwfn *p_hwfn, u16 vfid, bool b_enabled_only) {return OSAL_NULL;}
-static OSAL_INLINE void ecore_iov_pf_add_pending_events(struct ecore_hwfn *p_hwfn, u8 vfid) {}
-static OSAL_INLINE void ecore_iov_pf_get_and_clear_pending_events(struct ecore_hwfn *p_hwfn, u64 *events) {}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_copy_vf_msg(struct ecore_hwfn *p_hwfn, struct ecore_ptt *ptt, int vfid) {return ECORE_INVAL;}
-static OSAL_INLINE void ecore_iov_bulletin_set_forced_mac(struct ecore_hwfn *p_hwfn, u8 *mac, int vfid) {}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_bulletin_set_mac(struct ecore_hwfn *p_hwfn, u8 *mac, int vfid) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_bulletin_set_forced_untagged_default(struct ecore_hwfn *p_hwfn, bool b_untagged_only, int vfid) {return ECORE_INVAL;}
-static OSAL_INLINE void ecore_iov_get_vfs_opaque_fid(struct ecore_hwfn *p_hwfn, int vfid, u16 *opaque_fid) {}
-static OSAL_INLINE void ecore_iov_bulletin_set_forced_vlan(struct ecore_hwfn p_hwfn, u16 pvid, int vfid) {}
-
-static OSAL_INLINE bool ecore_iov_vf_has_vport_instance(struct ecore_hwfn *p_hwfn, int vfid) {return false;}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_post_vf_bulletin(struct ecore_hwfn *p_hwfn, int vfid, struct ecore_ptt *p_ptt) {return ECORE_INVAL;}
-static OSAL_INLINE bool ecore_iov_is_vf_stopped(struct ecore_hwfn *p_hwfn, int vfid) {return false;}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_spoofchk_set(struct ecore_hwfn *p_hwfn, int vfid, bool val) {return ECORE_INVAL;}
-static OSAL_INLINE bool ecore_iov_spoofchk_get(struct ecore_hwfn *p_hwfn, int vfid) {return false;}
-static OSAL_INLINE bool ecore_iov_pf_sanity_check(struct ecore_hwfn *p_hwfn, int vfid) {return false;}
-static OSAL_INLINE u8 ecore_iov_vf_chains_per_pf(struct ecore_hwfn *p_hwfn) {return 0;}
-static OSAL_INLINE void ecore_iov_get_vf_req_virt_mbx_params(struct ecore_hwfn *p_hwfn, u16 rel_vf_id, void **pp_req_virt_addr, u16 *p_req_virt_size) {}
-static OSAL_INLINE void ecore_iov_get_vf_reply_virt_mbx_params(struct ecore_hwfn *p_hwfn, u16 rel_vf_id, void **pp_reply_virt_addr, u16 *p_reply_virt_size) {}
-static OSAL_INLINE bool ecore_iov_is_valid_vfpf_msg_length(u32 length) {return false;}
+#ifndef LINUX_REMOVE
+static OSAL_INLINE void ecore_iov_set_vfs_to_disable(struct ecore_dev OSAL_UNUSED *p_dev, u8 OSAL_UNUSED to_disable) {}
+static OSAL_INLINE void ecore_iov_set_vf_to_disable(struct ecore_dev OSAL_UNUSED *p_dev, u16 OSAL_UNUSED rel_vf_id, u8 OSAL_UNUSED to_disable) {}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_init_hw_for_vf(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_ptt OSAL_UNUSED *p_ptt, struct ecore_iov_vf_init_params OSAL_UNUSED *p_params) {return ECORE_INVAL;}
+static OSAL_INLINE void ecore_iov_process_mbx_req(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_ptt OSAL_UNUSED *p_ptt, int OSAL_UNUSED vfid) {}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_release_hw_for_vf(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_ptt OSAL_UNUSED *p_ptt, u16 OSAL_UNUSED rel_vf_id) {return ECORE_SUCCESS;}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_set_vf_ctx(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED vf_id, OSAL_UNUSED void *ctx) {return ECORE_INVAL;}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_vf_flr_cleanup(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_ptt OSAL_UNUSED *p_ptt) {return ECORE_INVAL;}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_single_vf_flr_cleanup(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_ptt OSAL_UNUSED *p_ptt, u16 OSAL_UNUSED rel_vf_id) {return ECORE_INVAL;}
+static OSAL_INLINE void ecore_iov_set_link(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED vfid, struct ecore_mcp_link_params OSAL_UNUSED *params, struct ecore_mcp_link_state OSAL_UNUSED *link, struct ecore_mcp_link_capabilities OSAL_UNUSED *p_caps) {}
+static OSAL_INLINE void ecore_iov_get_link(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED vfid, struct ecore_mcp_link_params OSAL_UNUSED *params, struct ecore_mcp_link_state OSAL_UNUSED *link, struct ecore_mcp_link_capabilities OSAL_UNUSED *p_caps) {}
+static OSAL_INLINE bool ecore_iov_is_vf_pending_flr(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) {return false;}
+static OSAL_INLINE bool ecore_iov_is_valid_vfid(struct ecore_hwfn OSAL_UNUSED *p_hwfn, int OSAL_UNUSED rel_vf_id, bool OSAL_UNUSED b_enabled_only) {return false;}
+static OSAL_INLINE struct ecore_public_vf_info* ecore_iov_get_public_vf_info(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED vfid, bool OSAL_UNUSED b_enabled_only) {return OSAL_NULL;}
+static OSAL_INLINE void ecore_iov_pf_add_pending_events(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED vfid) {}
+static OSAL_INLINE void ecore_iov_pf_get_and_clear_pending_events(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u64 OSAL_UNUSED *events) {}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_copy_vf_msg(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_ptt OSAL_UNUSED *ptt, int OSAL_UNUSED vfid) {return ECORE_INVAL;}
+static OSAL_INLINE void ecore_iov_bulletin_set_forced_mac(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED *mac, int OSAL_UNUSED vfid) {}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_bulletin_set_mac(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED *mac, OSAL_UNUSED int vfid) {return ECORE_INVAL;}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_bulletin_set_forced_untagged_default(struct ecore_hwfn OSAL_UNUSED *p_hwfn, bool OSAL_UNUSED b_untagged_only, int OSAL_UNUSED vfid) {return ECORE_INVAL;}
+static OSAL_INLINE void ecore_iov_get_vfs_opaque_fid(struct ecore_hwfn OSAL_UNUSED *p_hwfn, int OSAL_UNUSED vfid, u16 OSAL_UNUSED *opaque_fid) {}
+static OSAL_INLINE void ecore_iov_bulletin_set_forced_vlan(struct ecore_hwfn OSAL_UNUSED p_hwfn, u16 OSAL_UNUSED pvid, int OSAL_UNUSED vfid) {}
+
+static OSAL_INLINE bool ecore_iov_vf_has_vport_instance(struct ecore_hwfn OSAL_UNUSED *p_hwfn, int OSAL_UNUSED vfid) {return false;}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_post_vf_bulletin(struct ecore_hwfn OSAL_UNUSED *p_hwfn, int OSAL_UNUSED vfid, struct ecore_ptt OSAL_UNUSED *p_ptt) {return ECORE_INVAL;}
+static OSAL_INLINE bool ecore_iov_is_vf_stopped(struct ecore_hwfn OSAL_UNUSED *p_hwfn, int OSAL_UNUSED vfid) {return false;}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_spoofchk_set(struct ecore_hwfn OSAL_UNUSED *p_hwfn, int OSAL_UNUSED vfid, bool OSAL_UNUSED val) {return ECORE_INVAL;}
+static OSAL_INLINE bool ecore_iov_spoofchk_get(struct ecore_hwfn OSAL_UNUSED *p_hwfn, int OSAL_UNUSED vfid) {return false;}
+static OSAL_INLINE bool ecore_iov_pf_sanity_check(struct ecore_hwfn OSAL_UNUSED *p_hwfn, int OSAL_UNUSED vfid) {return false;}
+static OSAL_INLINE u8 ecore_iov_vf_chains_per_pf(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {return 0;}
+static OSAL_INLINE void ecore_iov_get_vf_req_virt_mbx_params(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id, void OSAL_UNUSED **pp_req_virt_addr, u16 OSAL_UNUSED *p_req_virt_size) {}
+static OSAL_INLINE void ecore_iov_get_vf_reply_virt_mbx_params(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id, void OSAL_UNUSED **pp_reply_virt_addr, u16 OSAL_UNUSED *p_reply_virt_size) {}
+static OSAL_INLINE bool ecore_iov_is_valid_vfpf_msg_length(u32 OSAL_UNUSED length) {return false;}
static OSAL_INLINE u32 ecore_iov_pfvf_msg_length(void) {return 0;}
-static OSAL_INLINE u8 *ecore_iov_bulletin_get_forced_mac(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) {return OSAL_NULL;}
-static OSAL_INLINE u16 ecore_iov_bulletin_get_forced_vlan(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) {return 0;}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_configure_tx_rate(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, int vfid, int val) { return ECORE_INVAL; }
-static OSAL_INLINE enum _ecore_status_t ecore_iov_get_vf_stats(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, int vfid, struct ecore_eth_stats *p_stats) { return ECORE_INVAL; }
-
-static OSAL_INLINE u8 ecore_iov_get_vf_num_rxqs(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) {return 0;}
-static OSAL_INLINE u8 ecore_iov_get_vf_num_active_rxqs(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) {return 0;}
-static OSAL_INLINE void *ecore_iov_get_vf_ctx(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) {return OSAL_NULL;}
-static OSAL_INLINE u8 ecore_iov_get_vf_num_sbs(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) {return 0;}
-static OSAL_INLINE bool ecore_iov_is_vf_wait_for_acquire(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) {return false;}
-static OSAL_INLINE bool ecore_iov_is_vf_acquired_not_initialized(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) {return false;}
-static OSAL_INLINE bool ecore_iov_is_vf_initialized(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) {return false;}
-static OSAL_INLINE int ecore_iov_get_vf_min_rate(struct ecore_hwfn *p_hwfn, int vfid) { return 0; }
-static OSAL_INLINE enum _ecore_status_t ecore_iov_configure_min_tx_rate(struct ecore_dev *p_dev, int vfid, u32 rate) { return ECORE_INVAL; }
+static OSAL_INLINE u8 *ecore_iov_bulletin_get_forced_mac(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) {return OSAL_NULL;}
+static OSAL_INLINE u16 ecore_iov_bulletin_get_forced_vlan(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) {return 0;}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_configure_tx_rate(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_ptt OSAL_UNUSED *p_ptt, int OSAL_UNUSED vfid, int OSAL_UNUSED val) { return ECORE_INVAL; }
+static OSAL_INLINE enum _ecore_status_t ecore_iov_get_vf_stats(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_ptt OSAL_UNUSED *p_ptt, int OSAL_UNUSED vfid, struct ecore_eth_stats OSAL_UNUSED *p_stats) { return ECORE_INVAL; }
+
+static OSAL_INLINE u8 ecore_iov_get_vf_num_rxqs(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) {return 0;}
+static OSAL_INLINE u8 ecore_iov_get_vf_num_active_rxqs(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) {return 0;}
+static OSAL_INLINE void *ecore_iov_get_vf_ctx(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) {return OSAL_NULL;}
+static OSAL_INLINE u8 ecore_iov_get_vf_num_sbs(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) {return 0;}
+static OSAL_INLINE bool ecore_iov_is_vf_wait_for_acquire(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) {return false;}
+static OSAL_INLINE bool ecore_iov_is_vf_acquired_not_initialized(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) {return false;}
+static OSAL_INLINE bool ecore_iov_is_vf_initialized(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) {return false;}
+static OSAL_INLINE int ecore_iov_get_vf_min_rate(struct ecore_hwfn OSAL_UNUSED *p_hwfn, int OSAL_UNUSED vfid) { return 0; }
+static OSAL_INLINE enum _ecore_status_t ecore_iov_configure_min_tx_rate(struct ecore_dev OSAL_UNUSED *p_dev, int OSAL_UNUSED vfid, OSAL_UNUSED u32 rate) { return ECORE_INVAL; }
+#endif
+static OSAL_INLINE void ecore_iov_bulletin_set_udp_ports(struct ecore_hwfn OSAL_UNUSED *p_hwfn, int OSAL_UNUSED vfid, u16 OSAL_UNUSED vxlan_port, u16 OSAL_UNUSED geneve_port) { return; }
+static OSAL_INLINE u16 ecore_iov_get_next_active_vf(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED rel_vf_id) { return MAX_NUM_VFS_E4; }
#endif
-static OSAL_INLINE void ecore_iov_bulletin_set_udp_ports(struct ecore_hwfn *p_hwfn, int vfid, u16 vxlan_port, u16 geneve_port) { return; }
-static OSAL_INLINE u16 ecore_iov_get_next_active_vf(struct ecore_hwfn *p_hwfn, u16 rel_vf_id) { return E4_MAX_NUM_VFS; }
#define ecore_for_each_vf(_p_hwfn, _i) \
for (_i = ecore_iov_get_next_active_vf(_p_hwfn, 0); \
- _i < E4_MAX_NUM_VFS; \
+ _i < MAX_NUM_VFS_E4; \
_i = ecore_iov_get_next_active_vf(_p_hwfn, _i + 1))
#endif
diff --git a/sys/dev/qlnx/qlnxe/ecore_iro.h b/sys/dev/qlnx/qlnxe/ecore_iro.h
index ffc79c7..354583b 100644
--- a/sys/dev/qlnx/qlnxe/ecore_iro.h
+++ b/sys/dev/qlnx/qlnxe/ecore_iro.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __IRO_H__
#define __IRO_H__
diff --git a/sys/dev/qlnx/qlnxe/ecore_iro_values.h b/sys/dev/qlnx/qlnxe/ecore_iro_values.h
index f1e81a9..039150c 100644
--- a/sys/dev/qlnx/qlnxe/ecore_iro_values.h
+++ b/sys/dev/qlnx/qlnxe/ecore_iro_values.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __IRO_VALUES_H__
#define __IRO_VALUES_H__
@@ -68,8 +67,8 @@ ARRAY_DECL struct iro iro_arr[49] = {
{ 0x2578, 0x8, 0x0, 0x0, 0x8}, /* USTORM_TOE_CQ_PROD_OFFSET(rss_id) */
{ 0x24f8, 0x8, 0x0, 0x0, 0x8}, /* USTORM_TOE_GRQ_PROD_OFFSET(pf_id) */
{ 0x0, 0x8, 0x0, 0x0, 0x8}, /* TSTORM_SCSI_CMDQ_CONS_OFFSET(cmdq_queue_id) */
- { 0x200, 0x10, 0x8, 0x0, 0x8}, /* TSTORM_SCSI_BDQ_EXT_PROD_OFFSET(func_id,bdq_id) */
- { 0xb78, 0x10, 0x8, 0x0, 0x2}, /* MSTORM_SCSI_BDQ_EXT_PROD_OFFSET(func_id,bdq_id) */
+ { 0x200, 0x18, 0x8, 0x0, 0x8}, /* TSTORM_SCSI_BDQ_EXT_PROD_OFFSET(func_id,bdq_id) */
+ { 0xb78, 0x18, 0x8, 0x0, 0x2}, /* MSTORM_SCSI_BDQ_EXT_PROD_OFFSET(func_id,bdq_id) */
{ 0xd9a8, 0x38, 0x0, 0x0, 0x24}, /* TSTORM_ISCSI_RX_STATS_OFFSET(pf_id) */
{ 0x12988, 0x10, 0x0, 0x0, 0x8}, /* MSTORM_ISCSI_RX_STATS_OFFSET(pf_id) */
{ 0x11aa0, 0x38, 0x0, 0x0, 0x18}, /* USTORM_ISCSI_RX_STATS_OFFSET(pf_id) */
diff --git a/sys/dev/qlnx/qlnxe/ecore_iscsi.h b/sys/dev/qlnx/qlnxe/ecore_iscsi.h
index c76ce9e..d292862 100644
--- a/sys/dev/qlnx/qlnxe/ecore_iscsi.h
+++ b/sys/dev/qlnx/qlnxe/ecore_iscsi.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_ISCSI_H__
#define __ECORE_ISCSI_H__
diff --git a/sys/dev/qlnx/qlnxe/ecore_iscsi_api.h b/sys/dev/qlnx/qlnxe/ecore_iscsi_api.h
index b28d2d0..e34c39a 100644
--- a/sys/dev/qlnx/qlnxe/ecore_iscsi_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_iscsi_api.h
@@ -119,6 +119,34 @@ struct ecore_iscsi_conn {
u16 physical_q0;
u16 physical_q1;
u8 abortive_dsconnect;
+ u8 dif_on_immediate;
+#define ECORE_ISCSI_CONN_DIF_ON_IMM_DIS 0
+#define ECORE_ISCSI_CONN_DIF_ON_IMM_DEFAULT 1
+#define ECORE_ISCSI_CONN_DIF_ON_IMM_LUN_MAPPER 2
+
+ dma_addr_t lun_mapper_phys_addr;
+ u32 initial_ref_tag;
+ u16 application_tag;
+ u16 application_tag_mask;
+ u8 validate_guard;
+ u8 validate_app_tag;
+ u8 validate_ref_tag;
+ u8 forward_guard;
+ u8 forward_app_tag;
+ u8 forward_ref_tag;
+ u8 interval_size; /* 0=512B, 1=4KB */
+ u8 network_interface; /* 0=None, 1=DIF */
+ u8 host_interface; /* 0=None, 1=DIF, 2=DIX */
+ u8 ref_tag_mask; /* mask for refernce tag handling */
+ u8 forward_app_tag_with_mask;
+ u8 forward_ref_tag_with_mask;
+
+ u8 ignore_app_tag;
+ u8 initial_ref_tag_is_valid;
+ u8 host_guard_type; /* 0 = IP checksum, 1 = CRC */
+ u8 protection_type; /* 1/2/3 - Protection Type */
+ u8 crc_seed; /* 0=0x0000, 1=0xffff */
+ u8 keep_ref_tag_const;
};
struct ecore_iscsi_stats
diff --git a/sys/dev/qlnx/qlnxe/ecore_l2.c b/sys/dev/qlnx/qlnxe/ecore_l2.c
index 0979de6..fd25187 100644
--- a/sys/dev/qlnx/qlnxe/ecore_l2.c
+++ b/sys/dev/qlnx/qlnxe/ecore_l2.c
@@ -457,8 +457,7 @@ enum _ecore_status_t ecore_sp_eth_vport_start(struct ecore_hwfn *p_hwfn,
p_ramrod->ctl_frame_ethtype_check_en = !!p_params->check_ethtype;
/* Software Function ID in hwfn (PFs are 0 - 15, VFs are 16 - 135) */
- p_ramrod->sw_fid = ecore_concrete_to_sw_fid(p_hwfn->p_dev,
- p_params->concrete_fid);
+ p_ramrod->sw_fid = ecore_concrete_to_sw_fid(p_params->concrete_fid);
return ecore_spq_post(p_hwfn, p_ent, OSAL_NULL);
}
@@ -660,8 +659,7 @@ ecore_sp_update_accept_mode(struct ecore_hwfn *p_hwfn,
}
static void
-ecore_sp_vport_update_sge_tpa(struct ecore_hwfn *p_hwfn,
- struct vport_update_ramrod_data *p_ramrod,
+ecore_sp_vport_update_sge_tpa(struct vport_update_ramrod_data *p_ramrod,
struct ecore_sge_tpa_params *p_params)
{
struct eth_vport_tpa_param *p_tpa;
@@ -692,8 +690,7 @@ ecore_sp_vport_update_sge_tpa(struct ecore_hwfn *p_hwfn,
}
static void
-ecore_sp_update_mcast_bin(struct ecore_hwfn *p_hwfn,
- struct vport_update_ramrod_data *p_ramrod,
+ecore_sp_update_mcast_bin(struct vport_update_ramrod_data *p_ramrod,
struct ecore_sp_vport_update_params *p_params)
{
int i;
@@ -799,11 +796,10 @@ enum _ecore_status_t ecore_sp_vport_update(struct ecore_hwfn *p_hwfn,
}
/* Update mcast bins for VFs, PF doesn't use this functionality */
- ecore_sp_update_mcast_bin(p_hwfn, p_ramrod, p_params);
+ ecore_sp_update_mcast_bin(p_ramrod, p_params);
ecore_sp_update_accept_mode(p_hwfn, p_ramrod, p_params->accept_flags);
- ecore_sp_vport_update_sge_tpa(p_hwfn, p_ramrod,
- p_params->sge_tpa_params);
+ ecore_sp_vport_update_sge_tpa(p_ramrod, p_params->sge_tpa_params);
return ecore_spq_post(p_hwfn, p_ent, OSAL_NULL);
}
@@ -1508,10 +1504,7 @@ enum _ecore_status_t ecore_sp_eth_filter_ucast(struct ecore_hwfn *p_hwfn,
* Note: crc32_length MUST be aligned to 8
* Return:
******************************************************************************/
-static u32 ecore_calc_crc32c(u8 *crc32_packet,
- u32 crc32_length,
- u32 crc32_seed,
- u8 complement)
+static u32 ecore_calc_crc32c(u8 *crc32_packet, u32 crc32_length, u32 crc32_seed)
{
u32 byte = 0, bit = 0, crc32_result = crc32_seed;
u8 msb = 0, current_byte = 0;
@@ -1537,25 +1530,23 @@ static u32 ecore_calc_crc32c(u8 *crc32_packet,
return crc32_result;
}
-static u32 ecore_crc32c_le(u32 seed, u8 *mac, u32 len)
+static u32 ecore_crc32c_le(u32 seed, u8 *mac)
{
u32 packet_buf[2] = {0};
OSAL_MEMCPY((u8 *)(&packet_buf[0]), &mac[0], 6);
- return ecore_calc_crc32c((u8 *)packet_buf, 8, seed, 0);
+ return ecore_calc_crc32c((u8 *)packet_buf, 8, seed);
}
u8 ecore_mcast_bin_from_mac(u8 *mac)
{
- u32 crc = ecore_crc32c_le(ETH_MULTICAST_BIN_FROM_MAC_SEED,
- mac, ETH_ALEN);
+ u32 crc = ecore_crc32c_le(ETH_MULTICAST_BIN_FROM_MAC_SEED, mac);
return crc & 0xff;
}
static enum _ecore_status_t
ecore_sp_eth_filter_mcast(struct ecore_hwfn *p_hwfn,
- u16 opaque_fid,
struct ecore_filter_mcast *p_filter_cmd,
enum spq_mode comp_mode,
struct ecore_spq_comp_cb *p_comp_data)
@@ -1647,16 +1638,13 @@ enum _ecore_status_t ecore_filter_mcast_cmd(struct ecore_dev *p_dev,
for_each_hwfn(p_dev, i) {
struct ecore_hwfn *p_hwfn = &p_dev->hwfns[i];
- u16 opaque_fid;
if (IS_VF(p_dev)) {
ecore_vf_pf_filter_mcast(p_hwfn, p_filter_cmd);
continue;
}
- opaque_fid = p_hwfn->hw_info.opaque_fid;
rc = ecore_sp_eth_filter_mcast(p_hwfn,
- opaque_fid,
p_filter_cmd,
comp_mode,
p_comp_data);
@@ -1748,8 +1736,7 @@ static void __ecore_get_vport_pstats(struct ecore_hwfn *p_hwfn,
static void __ecore_get_vport_tstats(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
- struct ecore_eth_stats *p_stats,
- u16 statistics_bin)
+ struct ecore_eth_stats *p_stats)
{
struct tstorm_per_port_stat tstats;
u32 tstats_addr, tstats_len;
@@ -1964,7 +1951,7 @@ void __ecore_get_vport_stats(struct ecore_hwfn *p_hwfn,
{
__ecore_get_vport_mstats(p_hwfn, p_ptt, stats, statistics_bin);
__ecore_get_vport_ustats(p_hwfn, p_ptt, stats, statistics_bin);
- __ecore_get_vport_tstats(p_hwfn, p_ptt, stats, statistics_bin);
+ __ecore_get_vport_tstats(p_hwfn, p_ptt, stats);
__ecore_get_vport_pstats(p_hwfn, p_ptt, stats, statistics_bin);
#ifndef ASIC_ONLY
@@ -2101,7 +2088,6 @@ void ecore_arfs_mode_configure(struct ecore_hwfn *p_hwfn,
enum _ecore_status_t
ecore_configure_rfs_ntuple_filter(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
struct ecore_spq_comp_cb *p_cb,
dma_addr_t p_addr, u16 length,
u16 qid, u8 vport_id,
diff --git a/sys/dev/qlnx/qlnxe/ecore_l2.h b/sys/dev/qlnx/qlnxe/ecore_l2.h
index 0aaa5e6..b111024 100644
--- a/sys/dev/qlnx/qlnxe/ecore_l2.h
+++ b/sys/dev/qlnx/qlnxe/ecore_l2.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_L2_H__
#define __ECORE_L2_H__
@@ -163,32 +162,4 @@ ecore_eth_txq_start_ramrod(struct ecore_hwfn *p_hwfn,
u16 pq_id);
u8 ecore_mcast_bin_from_mac(u8 *mac);
-
-/**
- * @brief - ecore_configure_rfs_ntuple_filter
- *
- * This ramrod should be used to add or remove arfs hw filter
- *
- * @params p_hwfn
- * @params p_ptt
- * @params p_cb Used for ECORE_SPQ_MODE_CB,where client would initialize
- it with cookie and callback function address, if not
- using this mode then client must pass NULL.
- * @params p_addr p_addr is an actual packet header that needs to be
- * filter. It has to mapped with IO to read prior to
- * calling this, [contains 4 tuples- src ip, dest ip,
- * src port, dest port].
- * @params length length of p_addr header up to past the transport header.
- * @params qid receive packet will be directed to this queue.
- * @params vport_id
- * @params b_is_add flag to add or remove filter.
- *
- */
-enum _ecore_status_t
-ecore_configure_rfs_ntuple_filter(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- struct ecore_spq_comp_cb *p_cb,
- dma_addr_t p_addr, u16 length,
- u16 qid, u8 vport_id,
- bool b_is_add);
#endif
diff --git a/sys/dev/qlnx/qlnxe/ecore_l2_api.h b/sys/dev/qlnx/qlnxe/ecore_l2_api.h
index 82d6393..2e050ba 100644
--- a/sys/dev/qlnx/qlnxe/ecore_l2_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_l2_api.h
@@ -51,10 +51,21 @@ enum ecore_rss_caps {
#define ECORE_MAX_PHC_DRIFT_PPB 291666666
enum ecore_ptp_filter_type {
- ECORE_PTP_FILTER_L2,
- ECORE_PTP_FILTER_IPV4,
- ECORE_PTP_FILTER_IPV4_IPV6,
- ECORE_PTP_FILTER_L2_IPV4_IPV6
+ ECORE_PTP_FILTER_NONE,
+ ECORE_PTP_FILTER_ALL,
+ ECORE_PTP_FILTER_V1_L4_EVENT,
+ ECORE_PTP_FILTER_V1_L4_GEN,
+ ECORE_PTP_FILTER_V2_L4_EVENT,
+ ECORE_PTP_FILTER_V2_L4_GEN,
+ ECORE_PTP_FILTER_V2_L2_EVENT,
+ ECORE_PTP_FILTER_V2_L2_GEN,
+ ECORE_PTP_FILTER_V2_EVENT,
+ ECORE_PTP_FILTER_V2_GEN
+};
+
+enum ecore_ptp_hwtstamp_tx_type {
+ ECORE_PTP_HWTSTAMP_TX_OFF,
+ ECORE_PTP_HWTSTAMP_TX_ON,
};
struct ecore_queue_start_common_params {
@@ -246,7 +257,7 @@ ecore_eth_rx_queue_start(struct ecore_hwfn *p_hwfn,
* different from the RXQ opaque
* otherwise on CQe.
* @param cqe_completion If True completion will be
- * receive on CQe.
+ * recieve on CQe.
* @return enum _ecore_status_t
*/
enum _ecore_status_t
@@ -460,4 +471,30 @@ void ecore_reset_vport_stats(struct ecore_dev *p_dev);
void ecore_arfs_mode_configure(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
struct ecore_arfs_config_params *p_cfg_params);
+
+/**
+ * @brief - ecore_configure_rfs_ntuple_filter
+ *
+ * This ramrod should be used to add or remove arfs hw filter
+ *
+ * @params p_hwfn
+ * @params p_cb Used for ECORE_SPQ_MODE_CB,where client would initialize
+ * it with cookie and callback function address, if not
+ * using this mode then client must pass NULL.
+ * @params p_addr p_addr is an actual packet header that needs to be
+ * filter. It has to mapped with IO to read prior to
+ * calling this, [contains 4 tuples- src ip, dest ip,
+ * src port, dest port].
+ * @params length length of p_addr header up to past the transport header.
+ * @params qid receive packet will be directed to this queue.
+ * @params vport_id
+ * @params b_is_add flag to add or remove filter.
+ *
+ */
+enum _ecore_status_t
+ecore_configure_rfs_ntuple_filter(struct ecore_hwfn *p_hwfn,
+ struct ecore_spq_comp_cb *p_cb,
+ dma_addr_t p_addr, u16 length,
+ u16 qid, u8 vport_id,
+ bool b_is_add);
#endif
diff --git a/sys/dev/qlnx/qlnxe/ecore_ll2.h b/sys/dev/qlnx/qlnxe/ecore_ll2.h
index 0b5622a..4b92c81 100644
--- a/sys/dev/qlnx/qlnxe/ecore_ll2.h
+++ b/sys/dev/qlnx/qlnxe/ecore_ll2.h
@@ -111,21 +111,14 @@ struct ecore_ll2_tx_queue {
struct ecore_ll2_info {
osal_mutex_t mutex;
- enum ecore_ll2_conn_type conn_type;
+
+ struct ecore_ll2_acquire_data_inputs input;
u32 cid;
u8 my_id;
u8 queue_id;
u8 tx_stats_id;
bool b_active;
- u16 mtu;
- u8 rx_drop_ttl0_flg;
- u8 rx_vlan_removal_en;
- u8 tx_tc;
- u8 tx_max_bds_per_packet;
enum core_tx_dest tx_dest;
- enum core_error_handle ai_err_packet_too_big;
- enum core_error_handle ai_err_no_buf;
- u8 gsi_enable;
u8 tx_stats_en;
u8 main_func_queue;
struct ecore_ll2_rx_queue rx_queue;
diff --git a/sys/dev/qlnx/qlnxe/ecore_ll2_api.h b/sys/dev/qlnx/qlnxe/ecore_ll2_api.h
index 6cadd02..2ec6bdd 100644
--- a/sys/dev/qlnx/qlnxe/ecore_ll2_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_ll2_api.h
@@ -143,15 +143,22 @@ void (*ecore_ll2_release_tx_packet_cb)(void *cxt,
bool b_last_fragment,
bool b_last_packet);
+typedef
+void (*ecore_ll2_slowpath_cb)(void *cxt,
+ u8 connection_handle,
+ u32 opaque_data_0,
+ u32 opaque_data_1);
+
struct ecore_ll2_cbs {
ecore_ll2_complete_rx_packet_cb rx_comp_cb;
ecore_ll2_release_rx_packet_cb rx_release_cb;
ecore_ll2_complete_tx_packet_cb tx_comp_cb;
ecore_ll2_release_tx_packet_cb tx_release_cb;
+ ecore_ll2_slowpath_cb slowpath_cb;
void *cookie;
};
-struct ecore_ll2_acquire_data {
+struct ecore_ll2_acquire_data_inputs {
enum ecore_ll2_conn_type conn_type;
u16 mtu; /* Maximum bytes that can be placed on a BD*/
u16 rx_num_desc;
@@ -170,10 +177,14 @@ struct ecore_ll2_acquire_data {
enum ecore_ll2_error_handle ai_err_no_buf;
u8 secondary_queue;
u8 gsi_enable;
+};
+
+struct ecore_ll2_acquire_data {
+ struct ecore_ll2_acquire_data_inputs input;
+ const struct ecore_ll2_cbs *cbs;
/* Output container for LL2 connection's handle */
u8 *p_connection_handle;
- const struct ecore_ll2_cbs *cbs;
};
/**
diff --git a/sys/dev/qlnx/qlnxe/ecore_mcp.c b/sys/dev/qlnx/qlnxe/ecore_mcp.c
index 521a876..28bdad6 100644
--- a/sys/dev/qlnx/qlnxe/ecore_mcp.c
+++ b/sys/dev/qlnx/qlnxe/ecore_mcp.c
@@ -30,7 +30,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-
#include "bcm_osal.h"
#include "ecore.h"
#include "ecore_status.h"
@@ -47,6 +46,7 @@ __FBSDID("$FreeBSD$");
#include "ecore_gtt_reg_addr.h"
#include "ecore_iro.h"
#include "ecore_dcbx.h"
+#include "ecore_sp_commands.h"
#define CHIP_MCP_RESP_ITER_US 10
#define EMUL_MCP_RESP_ITER_US 1000 * 1000
@@ -70,9 +70,9 @@ __FBSDID("$FreeBSD$");
OFFSETOF(struct public_drv_mb, _field))
#define PDA_COMP (((FW_MAJOR_VERSION) + (FW_MINOR_VERSION << 8)) << \
- DRV_ID_PDA_COMP_VER_SHIFT)
+ DRV_ID_PDA_COMP_VER_OFFSET)
-#define MCP_BYTES_PER_MBIT_SHIFT 17
+#define MCP_BYTES_PER_MBIT_OFFSET 17
#ifndef ASIC_ONLY
static int loaded;
@@ -125,16 +125,81 @@ void ecore_mcp_read_mb(struct ecore_hwfn *p_hwfn,
}
}
+struct ecore_mcp_cmd_elem {
+ osal_list_entry_t list;
+ struct ecore_mcp_mb_params *p_mb_params;
+ u16 expected_seq_num;
+ bool b_is_completed;
+};
+
+/* Must be called while cmd_lock is acquired */
+static struct ecore_mcp_cmd_elem *
+ecore_mcp_cmd_add_elem(struct ecore_hwfn *p_hwfn,
+ struct ecore_mcp_mb_params *p_mb_params,
+ u16 expected_seq_num)
+{
+ struct ecore_mcp_cmd_elem *p_cmd_elem = OSAL_NULL;
+
+ p_cmd_elem = OSAL_ZALLOC(p_hwfn->p_dev, GFP_ATOMIC,
+ sizeof(*p_cmd_elem));
+ if (!p_cmd_elem) {
+ DP_NOTICE(p_hwfn, false,
+ "Failed to allocate `struct ecore_mcp_cmd_elem'\n");
+ goto out;
+ }
+
+ p_cmd_elem->p_mb_params = p_mb_params;
+ p_cmd_elem->expected_seq_num = expected_seq_num;
+ OSAL_LIST_PUSH_HEAD(&p_cmd_elem->list, &p_hwfn->mcp_info->cmd_list);
+out:
+ return p_cmd_elem;
+}
+
+/* Must be called while cmd_lock is acquired */
+static void ecore_mcp_cmd_del_elem(struct ecore_hwfn *p_hwfn,
+ struct ecore_mcp_cmd_elem *p_cmd_elem)
+{
+ OSAL_LIST_REMOVE_ENTRY(&p_cmd_elem->list, &p_hwfn->mcp_info->cmd_list);
+ OSAL_FREE(p_hwfn->p_dev, p_cmd_elem);
+}
+
+/* Must be called while cmd_lock is acquired */
+static struct ecore_mcp_cmd_elem *
+ecore_mcp_cmd_get_elem(struct ecore_hwfn *p_hwfn, u16 seq_num)
+{
+ struct ecore_mcp_cmd_elem *p_cmd_elem = OSAL_NULL;
+
+ OSAL_LIST_FOR_EACH_ENTRY(p_cmd_elem, &p_hwfn->mcp_info->cmd_list, list,
+ struct ecore_mcp_cmd_elem) {
+ if (p_cmd_elem->expected_seq_num == seq_num)
+ return p_cmd_elem;
+ }
+
+ return OSAL_NULL;
+}
+
enum _ecore_status_t ecore_mcp_free(struct ecore_hwfn *p_hwfn)
{
if (p_hwfn->mcp_info) {
+ struct ecore_mcp_cmd_elem *p_cmd_elem = OSAL_NULL, *p_tmp;
+
OSAL_FREE(p_hwfn->p_dev, p_hwfn->mcp_info->mfw_mb_cur);
OSAL_FREE(p_hwfn->p_dev, p_hwfn->mcp_info->mfw_mb_shadow);
+
+ OSAL_SPIN_LOCK(&p_hwfn->mcp_info->cmd_lock);
+ OSAL_LIST_FOR_EACH_ENTRY_SAFE(p_cmd_elem, p_tmp,
+ &p_hwfn->mcp_info->cmd_list, list,
+ struct ecore_mcp_cmd_elem) {
+ ecore_mcp_cmd_del_elem(p_hwfn, p_cmd_elem);
+ }
+ OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->cmd_lock);
+
#ifdef CONFIG_ECORE_LOCK_ALLOC
- OSAL_SPIN_LOCK_DEALLOC(&p_hwfn->mcp_info->lock);
+ OSAL_SPIN_LOCK_DEALLOC(&p_hwfn->mcp_info->cmd_lock);
OSAL_SPIN_LOCK_DEALLOC(&p_hwfn->mcp_info->link_lock);
#endif
}
+
OSAL_FREE(p_hwfn->p_dev, p_hwfn->mcp_info);
p_hwfn->mcp_info = OSAL_NULL;
@@ -158,7 +223,7 @@ enum _ecore_status_t ecore_load_mcp_offsets(struct ecore_hwfn *p_hwfn,
p_info->public_base = ecore_rd(p_hwfn, p_ptt, MISC_REG_SHARED_MEM_ADDR);
if (!p_info->public_base)
- return ECORE_INVAL;
+ return ECORE_INVAL;
p_info->public_base |= GRCBASE_MCP;
@@ -189,8 +254,7 @@ enum _ecore_status_t ecore_load_mcp_offsets(struct ecore_hwfn *p_hwfn,
p_info->drv_pulse_seq = DRV_MB_RD(p_hwfn, p_ptt, drv_pulse_mb) &
DRV_PULSE_SEQ_MASK;
- p_info->mcp_hist = (u16)ecore_rd(p_hwfn, p_ptt,
- MISCS_REG_GENERIC_POR_0);
+ p_info->mcp_hist = ecore_rd(p_hwfn, p_ptt, MISCS_REG_GENERIC_POR_0);
return ECORE_SUCCESS;
}
@@ -208,6 +272,16 @@ enum _ecore_status_t ecore_mcp_cmd_init(struct ecore_hwfn *p_hwfn,
goto err;
p_info = p_hwfn->mcp_info;
+ /* Initialize the MFW spinlocks */
+#ifdef CONFIG_ECORE_LOCK_ALLOC
+ OSAL_SPIN_LOCK_ALLOC(p_hwfn, &p_info->cmd_lock);
+ OSAL_SPIN_LOCK_ALLOC(p_hwfn, &p_info->link_lock);
+#endif
+ OSAL_SPIN_LOCK_INIT(&p_info->cmd_lock);
+ OSAL_SPIN_LOCK_INIT(&p_info->link_lock);
+
+ OSAL_LIST_INIT(&p_info->cmd_list);
+
if (ecore_load_mcp_offsets(p_hwfn, p_ptt) != ECORE_SUCCESS) {
DP_NOTICE(p_hwfn, false, "MCP is not initialized\n");
/* Do not free mcp_info here, since public_base indicate that
@@ -222,78 +296,36 @@ enum _ecore_status_t ecore_mcp_cmd_init(struct ecore_hwfn *p_hwfn,
if (!p_info->mfw_mb_shadow || !p_info->mfw_mb_addr)
goto err;
- /* Initialize the MFW spinlock */
-#ifdef CONFIG_ECORE_LOCK_ALLOC
- OSAL_SPIN_LOCK_ALLOC(p_hwfn, &p_info->lock);
- OSAL_SPIN_LOCK_ALLOC(p_hwfn, &p_info->link_lock);
-#endif
- OSAL_SPIN_LOCK_INIT(&p_info->lock);
- OSAL_SPIN_LOCK_INIT(&p_info->link_lock);
-
return ECORE_SUCCESS;
err:
DP_NOTICE(p_hwfn, true, "Failed to allocate mcp memory\n");
ecore_mcp_free(p_hwfn);
return ECORE_NOMEM;
-
}
-/* Locks the MFW mailbox of a PF to ensure a single access.
- * The lock is achieved in most cases by holding a spinlock, causing other
- * threads to wait till a previous access is done.
- * In some cases (currently when a [UN]LOAD_REQ commands are sent), the single
- * access is achieved by setting a blocking flag, which will fail other
- * competing contexts to send their mailboxes.
- */
-static enum _ecore_status_t ecore_mcp_mb_lock(struct ecore_hwfn *p_hwfn,
- u32 cmd)
-{
- OSAL_SPIN_LOCK(&p_hwfn->mcp_info->lock);
-
- /* The spinlock shouldn't be acquired when the mailbox command is
- * [UN]LOAD_REQ, since the engine is locked by the MFW, and a parallel
- * pending [UN]LOAD_REQ command of another PF together with a spinlock
- * (i.e. interrupts are disabled) - can lead to a deadlock.
- * It is assumed that for a single PF, no other mailbox commands can be
- * sent from another context while sending LOAD_REQ, and that any
- * parallel commands to UNLOAD_REQ can be cancelled.
- */
- if (cmd == DRV_MSG_CODE_LOAD_DONE || cmd == DRV_MSG_CODE_UNLOAD_DONE)
- p_hwfn->mcp_info->block_mb_sending = false;
+static void ecore_mcp_reread_offsets(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt)
+{
+ u32 generic_por_0 = ecore_rd(p_hwfn, p_ptt, MISCS_REG_GENERIC_POR_0);
- /* There's at least a single command that is sent by ecore during the
- * load sequence [expectation of MFW].
+ /* Use MCP history register to check if MCP reset occurred between init
+ * time and now.
*/
- if ((p_hwfn->mcp_info->block_mb_sending) &&
- (cmd != DRV_MSG_CODE_FEATURE_SUPPORT)) {
- DP_NOTICE(p_hwfn, false,
- "Trying to send a MFW mailbox command [0x%x] in parallel to [UN]LOAD_REQ. Aborting.\n",
- cmd);
- OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->lock);
- return ECORE_BUSY;
- }
+ if (p_hwfn->mcp_info->mcp_hist != generic_por_0) {
+ DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
+ "Rereading MCP offsets [mcp_hist 0x%08x, generic_por_0 0x%08x]\n",
+ p_hwfn->mcp_info->mcp_hist, generic_por_0);
- if (cmd == DRV_MSG_CODE_LOAD_REQ || cmd == DRV_MSG_CODE_UNLOAD_REQ) {
- p_hwfn->mcp_info->block_mb_sending = true;
- OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->lock);
+ ecore_load_mcp_offsets(p_hwfn, p_ptt);
+ ecore_mcp_cmd_port_init(p_hwfn, p_ptt);
}
-
- return ECORE_SUCCESS;
-}
-
-static void ecore_mcp_mb_unlock(struct ecore_hwfn *p_hwfn, u32 cmd)
-{
- if (cmd != DRV_MSG_CODE_LOAD_REQ && cmd != DRV_MSG_CODE_UNLOAD_REQ)
- OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->lock);
}
enum _ecore_status_t ecore_mcp_reset(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt)
{
- u32 seq = ++p_hwfn->mcp_info->drv_mb_seq;
- u32 delay = CHIP_MCP_RESP_ITER_US;
- u32 org_mcp_reset_seq, cnt = 0;
+ u32 org_mcp_reset_seq, seq, delay = CHIP_MCP_RESP_ITER_US, cnt = 0;
enum _ecore_status_t rc = ECORE_SUCCESS;
#ifndef ASIC_ONLY
@@ -301,15 +333,20 @@ enum _ecore_status_t ecore_mcp_reset(struct ecore_hwfn *p_hwfn,
delay = EMUL_MCP_RESP_ITER_US;
#endif
- /* Ensure that only a single thread is accessing the mailbox at a
- * certain time.
- */
- rc = ecore_mcp_mb_lock(p_hwfn, DRV_MSG_CODE_MCP_RESET);
- if (rc != ECORE_SUCCESS)
- return rc;
+ if (p_hwfn->mcp_info->b_block_cmd) {
+ DP_NOTICE(p_hwfn, false,
+ "The MFW is not responsive. Avoid sending MCP_RESET mailbox command.\n");
+ return ECORE_ABORTED;
+ }
+
+ /* Ensure that only a single thread is accessing the mailbox */
+ OSAL_SPIN_LOCK(&p_hwfn->mcp_info->cmd_lock);
- /* Set drv command along with the updated sequence */
org_mcp_reset_seq = ecore_rd(p_hwfn, p_ptt, MISCS_REG_GENERIC_POR_0);
+
+ /* Set drv command along with the updated sequence */
+ ecore_mcp_reread_offsets(p_hwfn, p_ptt);
+ seq = ++p_hwfn->mcp_info->drv_mb_seq;
DRV_MB_WR(p_hwfn, p_ptt, drv_mb_header, (DRV_MSG_CODE_MCP_RESET | seq));
do {
@@ -329,80 +366,234 @@ enum _ecore_status_t ecore_mcp_reset(struct ecore_hwfn *p_hwfn,
rc = ECORE_AGAIN;
}
- ecore_mcp_mb_unlock(p_hwfn, DRV_MSG_CODE_MCP_RESET);
+ OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->cmd_lock);
return rc;
}
-static enum _ecore_status_t ecore_do_mcp_cmd(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u32 cmd, u32 param,
- u32 *o_mcp_resp, u32 *o_mcp_param)
+/* Must be called while cmd_lock is acquired */
+static bool ecore_mcp_has_pending_cmd(struct ecore_hwfn *p_hwfn)
{
- u32 delay = CHIP_MCP_RESP_ITER_US;
- u32 max_retries = ECORE_DRV_MB_MAX_RETRIES;
- u32 seq, cnt = 1, actual_mb_seq;
- enum _ecore_status_t rc = ECORE_SUCCESS;
+ struct ecore_mcp_cmd_elem *p_cmd_elem = OSAL_NULL;
-#ifndef ASIC_ONLY
- if (CHIP_REV_IS_EMUL(p_hwfn->p_dev))
- delay = EMUL_MCP_RESP_ITER_US;
- /* There is a built-in delay of 100usec in each MFW response read */
- if (CHIP_REV_IS_FPGA(p_hwfn->p_dev))
- max_retries /= 10;
-#endif
+ /* There is at most one pending command at a certain time, and if it
+ * exists - it is placed at the HEAD of the list.
+ */
+ if (!OSAL_LIST_IS_EMPTY(&p_hwfn->mcp_info->cmd_list)) {
+ p_cmd_elem = OSAL_LIST_FIRST_ENTRY(&p_hwfn->mcp_info->cmd_list,
+ struct ecore_mcp_cmd_elem,
+ list);
+ return !p_cmd_elem->b_is_completed;
+ }
- /* Get actual driver mailbox sequence */
- actual_mb_seq = DRV_MB_RD(p_hwfn, p_ptt, drv_mb_header) &
- DRV_MSG_SEQ_NUMBER_MASK;
+ return false;
+}
- /* Use MCP history register to check if MCP reset occurred between
- * init time and now.
- */
- if (p_hwfn->mcp_info->mcp_hist !=
- ecore_rd(p_hwfn, p_ptt, MISCS_REG_GENERIC_POR_0)) {
- DP_VERBOSE(p_hwfn, ECORE_MSG_SP, "Rereading MCP offsets\n");
- ecore_load_mcp_offsets(p_hwfn, p_ptt);
- ecore_mcp_cmd_port_init(p_hwfn, p_ptt);
+/* Must be called while cmd_lock is acquired */
+static enum _ecore_status_t
+ecore_mcp_update_pending_cmd(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt)
+{
+ struct ecore_mcp_mb_params *p_mb_params;
+ struct ecore_mcp_cmd_elem *p_cmd_elem;
+ u32 mcp_resp;
+ u16 seq_num;
+
+ mcp_resp = DRV_MB_RD(p_hwfn, p_ptt, fw_mb_header);
+ seq_num = (u16)(mcp_resp & FW_MSG_SEQ_NUMBER_MASK);
+
+ /* Return if no new non-handled response has been received */
+ if (seq_num != p_hwfn->mcp_info->drv_mb_seq)
+ return ECORE_AGAIN;
+
+ p_cmd_elem = ecore_mcp_cmd_get_elem(p_hwfn, seq_num);
+ if (!p_cmd_elem) {
+ DP_ERR(p_hwfn,
+ "Failed to find a pending mailbox cmd that expects sequence number %d\n",
+ seq_num);
+ return ECORE_UNKNOWN_ERROR;
}
- seq = ++p_hwfn->mcp_info->drv_mb_seq;
- /* Set drv param */
- DRV_MB_WR(p_hwfn, p_ptt, drv_mb_param, param);
+ p_mb_params = p_cmd_elem->p_mb_params;
- /* Set drv command along with the updated sequence */
- DRV_MB_WR(p_hwfn, p_ptt, drv_mb_header, (cmd | seq));
+ /* Get the MFW response along with the sequence number */
+ p_mb_params->mcp_resp = mcp_resp;
+
+ /* Get the MFW param */
+ p_mb_params->mcp_param = DRV_MB_RD(p_hwfn, p_ptt, fw_mb_param);
+
+ /* Get the union data */
+ if (p_mb_params->p_data_dst != OSAL_NULL &&
+ p_mb_params->data_dst_size) {
+ u32 union_data_addr = p_hwfn->mcp_info->drv_mb_addr +
+ OFFSETOF(struct public_drv_mb,
+ union_data);
+ ecore_memcpy_from(p_hwfn, p_ptt, p_mb_params->p_data_dst,
+ union_data_addr, p_mb_params->data_dst_size);
+ }
+
+ p_cmd_elem->b_is_completed = true;
+
+ return ECORE_SUCCESS;
+}
+
+/* Must be called while cmd_lock is acquired */
+static void __ecore_mcp_cmd_and_union(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
+ struct ecore_mcp_mb_params *p_mb_params,
+ u16 seq_num)
+{
+ union drv_union_data union_data;
+ u32 union_data_addr;
+
+ /* Set the union data */
+ union_data_addr = p_hwfn->mcp_info->drv_mb_addr +
+ OFFSETOF(struct public_drv_mb, union_data);
+ OSAL_MEM_ZERO(&union_data, sizeof(union_data));
+ if (p_mb_params->p_data_src != OSAL_NULL && p_mb_params->data_src_size)
+ OSAL_MEMCPY(&union_data, p_mb_params->p_data_src,
+ p_mb_params->data_src_size);
+ ecore_memcpy_to(p_hwfn, p_ptt, union_data_addr, &union_data,
+ sizeof(union_data));
+
+ /* Set the drv param */
+ DRV_MB_WR(p_hwfn, p_ptt, drv_mb_param, p_mb_params->param);
+
+ /* Set the drv command along with the sequence number */
+ DRV_MB_WR(p_hwfn, p_ptt, drv_mb_header, (p_mb_params->cmd | seq_num));
DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
- "wrote command (%x) to MFW MB param 0x%08x\n",
- (cmd | seq), param);
+ "MFW mailbox: command 0x%08x param 0x%08x\n",
+ (p_mb_params->cmd | seq_num), p_mb_params->param);
+}
+
+static void ecore_mcp_cmd_set_blocking(struct ecore_hwfn *p_hwfn,
+ bool block_cmd)
+{
+ p_hwfn->mcp_info->b_block_cmd = block_cmd;
+
+ DP_INFO(p_hwfn, "%s sending of mailbox commands to the MFW\n",
+ block_cmd ? "Block" : "Unblock");
+}
+
+static void ecore_mcp_print_cpu_info(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt)
+{
+ u32 cpu_mode, cpu_state, cpu_pc_0, cpu_pc_1, cpu_pc_2;
+
+ cpu_mode = ecore_rd(p_hwfn, p_ptt, MCP_REG_CPU_MODE);
+ cpu_state = ecore_rd(p_hwfn, p_ptt, MCP_REG_CPU_STATE);
+ cpu_pc_0 = ecore_rd(p_hwfn, p_ptt, MCP_REG_CPU_PROGRAM_COUNTER);
+ OSAL_UDELAY(CHIP_MCP_RESP_ITER_US);
+ cpu_pc_1 = ecore_rd(p_hwfn, p_ptt, MCP_REG_CPU_PROGRAM_COUNTER);
+ OSAL_UDELAY(CHIP_MCP_RESP_ITER_US);
+ cpu_pc_2 = ecore_rd(p_hwfn, p_ptt, MCP_REG_CPU_PROGRAM_COUNTER);
+ DP_NOTICE(p_hwfn, false,
+ "MCP CPU info: mode 0x%08x, state 0x%08x, pc {0x%08x, 0x%08x, 0x%08x}\n",
+ cpu_mode, cpu_state, cpu_pc_0, cpu_pc_1, cpu_pc_2);
+}
+
+static enum _ecore_status_t
+_ecore_mcp_cmd_and_union(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
+ struct ecore_mcp_mb_params *p_mb_params,
+ u32 max_retries, u32 delay)
+{
+ struct ecore_mcp_cmd_elem *p_cmd_elem;
+ u32 cnt = 0;
+ u16 seq_num;
+ enum _ecore_status_t rc = ECORE_SUCCESS;
+
+ /* Wait until the mailbox is non-occupied */
do {
- /* Wait for MFW response */
+ /* Exit the loop if there is no pending command, or if the
+ * pending command is completed during this iteration.
+ * The spinlock stays locked until the command is sent.
+ */
+
+ OSAL_SPIN_LOCK(&p_hwfn->mcp_info->cmd_lock);
+
+ if (!ecore_mcp_has_pending_cmd(p_hwfn))
+ break;
+
+ rc = ecore_mcp_update_pending_cmd(p_hwfn, p_ptt);
+ if (rc == ECORE_SUCCESS)
+ break;
+ else if (rc != ECORE_AGAIN)
+ goto err;
+
+ OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->cmd_lock);
OSAL_UDELAY(delay);
- *o_mcp_resp = DRV_MB_RD(p_hwfn, p_ptt, fw_mb_header);
+ } while (++cnt < max_retries);
- /* Give the FW up to 5 second (500*10ms) */
- } while ((seq != (*o_mcp_resp & FW_MSG_SEQ_NUMBER_MASK)) &&
- (cnt++ < max_retries));
+ if (cnt >= max_retries) {
+ DP_NOTICE(p_hwfn, false,
+ "The MFW mailbox is occupied by an uncompleted command. Failed to send command 0x%08x [param 0x%08x].\n",
+ p_mb_params->cmd, p_mb_params->param);
+ return ECORE_AGAIN;
+ }
- DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
- "[after %d ms] read (%x) seq is (%x) from FW MB\n",
- cnt * delay, *o_mcp_resp, seq);
-
- /* Is this a reply to our command? */
- if (seq == (*o_mcp_resp & FW_MSG_SEQ_NUMBER_MASK)) {
- *o_mcp_resp &= FW_MSG_CODE_MASK;
- /* Get the MCP param */
- *o_mcp_param = DRV_MB_RD(p_hwfn, p_ptt, fw_mb_param);
- } else {
- /* FW BUG! */
- DP_ERR(p_hwfn, "MFW failed to respond [cmd 0x%x param 0x%x]\n",
- cmd, param);
- *o_mcp_resp = 0;
- rc = ECORE_AGAIN;
+ /* Send the mailbox command */
+ ecore_mcp_reread_offsets(p_hwfn, p_ptt);
+ seq_num = ++p_hwfn->mcp_info->drv_mb_seq;
+ p_cmd_elem = ecore_mcp_cmd_add_elem(p_hwfn, p_mb_params, seq_num);
+ if (!p_cmd_elem)
+ goto err;
+
+ __ecore_mcp_cmd_and_union(p_hwfn, p_ptt, p_mb_params, seq_num);
+ OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->cmd_lock);
+
+ /* Wait for the MFW response */
+ do {
+ /* Exit the loop if the command is already completed, or if the
+ * command is completed during this iteration.
+ * The spinlock stays locked until the list element is removed.
+ */
+
+ OSAL_UDELAY(delay);
+ OSAL_SPIN_LOCK(&p_hwfn->mcp_info->cmd_lock);
+
+ if (p_cmd_elem->b_is_completed)
+ break;
+
+ rc = ecore_mcp_update_pending_cmd(p_hwfn, p_ptt);
+ if (rc == ECORE_SUCCESS)
+ break;
+ else if (rc != ECORE_AGAIN)
+ goto err;
+
+ OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->cmd_lock);
+ } while (++cnt < max_retries);
+
+ if (cnt >= max_retries) {
+ DP_NOTICE(p_hwfn, false,
+ "The MFW failed to respond to command 0x%08x [param 0x%08x].\n",
+ p_mb_params->cmd, p_mb_params->param);
+ ecore_mcp_print_cpu_info(p_hwfn, p_ptt);
+
+ OSAL_SPIN_LOCK(&p_hwfn->mcp_info->cmd_lock);
+ ecore_mcp_cmd_del_elem(p_hwfn, p_cmd_elem);
+ OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->cmd_lock);
+
+ ecore_mcp_cmd_set_blocking(p_hwfn, true);
ecore_hw_err_notify(p_hwfn, ECORE_HW_ERR_MFW_RESP_FAIL);
+ return ECORE_AGAIN;
}
+
+ ecore_mcp_cmd_del_elem(p_hwfn, p_cmd_elem);
+ OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->cmd_lock);
+
+ DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
+ "MFW mailbox: response 0x%08x param 0x%08x [after %d.%03d ms]\n",
+ p_mb_params->mcp_resp, p_mb_params->mcp_param,
+ (cnt * delay) / 1000, (cnt * delay) % 1000);
+
+ /* Clear the sequence number from the MFW response */
+ p_mb_params->mcp_resp &= FW_MSG_CODE_MASK;
+
+ return ECORE_SUCCESS;
+
+err:
+ OSAL_SPIN_UNLOCK(&p_hwfn->mcp_info->cmd_lock);
return rc;
}
@@ -410,9 +601,17 @@ static enum _ecore_status_t ecore_mcp_cmd_and_union(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
struct ecore_mcp_mb_params *p_mb_params)
{
- union drv_union_data union_data;
- u32 union_data_addr;
- enum _ecore_status_t rc;
+ osal_size_t union_data_size = sizeof(union drv_union_data);
+ u32 max_retries = ECORE_DRV_MB_MAX_RETRIES;
+ u32 delay = CHIP_MCP_RESP_ITER_US;
+
+#ifndef ASIC_ONLY
+ if (CHIP_REV_IS_EMUL(p_hwfn->p_dev))
+ delay = EMUL_MCP_RESP_ITER_US;
+ /* There is a built-in delay of 100usec in each MFW response read */
+ if (CHIP_REV_IS_FPGA(p_hwfn->p_dev))
+ max_retries /= 10;
+#endif
/* MCP not initialized */
if (!ecore_mcp_is_init(p_hwfn)) {
@@ -420,44 +619,24 @@ static enum _ecore_status_t ecore_mcp_cmd_and_union(struct ecore_hwfn *p_hwfn,
return ECORE_BUSY;
}
- if (p_mb_params->data_src_size > sizeof(union_data) ||
- p_mb_params->data_dst_size > sizeof(union_data)) {
+ if (p_mb_params->data_src_size > union_data_size ||
+ p_mb_params->data_dst_size > union_data_size) {
DP_ERR(p_hwfn,
"The provided size is larger than the union data size [src_size %u, dst_size %u, union_data_size %zu]\n",
p_mb_params->data_src_size, p_mb_params->data_dst_size,
- sizeof(union_data));
+ union_data_size);
return ECORE_INVAL;
}
- union_data_addr = p_hwfn->mcp_info->drv_mb_addr +
- OFFSETOF(struct public_drv_mb, union_data);
-
- /* Ensure that only a single thread is accessing the mailbox at a
- * certain time.
- */
- rc = ecore_mcp_mb_lock(p_hwfn, p_mb_params->cmd);
- if (rc != ECORE_SUCCESS)
- return rc;
-
- OSAL_MEM_ZERO(&union_data, sizeof(union_data));
- if (p_mb_params->p_data_src != OSAL_NULL && p_mb_params->data_src_size)
- OSAL_MEMCPY(&union_data, p_mb_params->p_data_src,
- p_mb_params->data_src_size);
- ecore_memcpy_to(p_hwfn, p_ptt, union_data_addr, &union_data,
- sizeof(union_data));
-
- rc = ecore_do_mcp_cmd(p_hwfn, p_ptt, p_mb_params->cmd,
- p_mb_params->param, &p_mb_params->mcp_resp,
- &p_mb_params->mcp_param);
-
- if (p_mb_params->p_data_dst != OSAL_NULL &&
- p_mb_params->data_dst_size)
- ecore_memcpy_from(p_hwfn, p_ptt, p_mb_params->p_data_dst,
- union_data_addr, p_mb_params->data_dst_size);
-
- ecore_mcp_mb_unlock(p_hwfn, p_mb_params->cmd);
+ if (p_hwfn->mcp_info->b_block_cmd) {
+ DP_NOTICE(p_hwfn, false,
+ "The MFW is not responsive. Avoid sending mailbox command 0x%08x [param 0x%08x].\n",
+ p_mb_params->cmd, p_mb_params->param);
+ return ECORE_ABORTED;
+ }
- return rc;
+ return _ecore_mcp_cmd_and_union(p_hwfn, p_ptt, p_mb_params, max_retries,
+ delay);
}
enum _ecore_status_t ecore_mcp_cmd(struct ecore_hwfn *p_hwfn,
@@ -696,18 +875,16 @@ __ecore_mcp_load_req(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
load_req.drv_ver_0 = p_in_params->drv_ver_0;
load_req.drv_ver_1 = p_in_params->drv_ver_1;
load_req.fw_ver = p_in_params->fw_ver;
- ECORE_MFW_SET_FIELD(load_req.misc0, LOAD_REQ_ROLE,
- p_in_params->drv_role);
- ECORE_MFW_SET_FIELD(load_req.misc0, LOAD_REQ_LOCK_TO,
- p_in_params->timeout_val);
- ECORE_MFW_SET_FIELD(load_req.misc0, (u64)LOAD_REQ_FORCE,
- p_in_params->force_cmd);
- ECORE_MFW_SET_FIELD(load_req.misc0, (u64)LOAD_REQ_FLAGS0,
- p_in_params->avoid_eng_reset);
+ SET_MFW_FIELD(load_req.misc0, LOAD_REQ_ROLE, p_in_params->drv_role);
+ SET_MFW_FIELD(load_req.misc0, LOAD_REQ_LOCK_TO,
+ p_in_params->timeout_val);
+ SET_MFW_FIELD(load_req.misc0, (u64)LOAD_REQ_FORCE, p_in_params->force_cmd);
+ SET_MFW_FIELD(load_req.misc0, (u64)LOAD_REQ_FLAGS0,
+ p_in_params->avoid_eng_reset);
hsi_ver = (p_in_params->hsi_ver == ECORE_LOAD_REQ_HSI_VER_DEFAULT) ?
DRV_ID_MCP_HSI_VER_CURRENT :
- (p_in_params->hsi_ver << DRV_ID_MCP_HSI_VER_SHIFT);
+ (p_in_params->hsi_ver << DRV_ID_MCP_HSI_VER_OFFSET);
OSAL_MEM_ZERO(&mb_params, sizeof(mb_params));
mb_params.cmd = DRV_MSG_CODE_LOAD_REQ;
@@ -720,22 +897,20 @@ __ecore_mcp_load_req(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
"Load Request: param 0x%08x [init_hw %d, drv_type %d, hsi_ver %d, pda 0x%04x]\n",
mb_params.param,
- ECORE_MFW_GET_FIELD(mb_params.param, DRV_ID_DRV_INIT_HW),
- ECORE_MFW_GET_FIELD(mb_params.param, DRV_ID_DRV_TYPE),
- ECORE_MFW_GET_FIELD(mb_params.param, DRV_ID_MCP_HSI_VER),
- ECORE_MFW_GET_FIELD(mb_params.param, DRV_ID_PDA_COMP_VER));
+ GET_MFW_FIELD(mb_params.param, DRV_ID_DRV_INIT_HW),
+ GET_MFW_FIELD(mb_params.param, DRV_ID_DRV_TYPE),
+ GET_MFW_FIELD(mb_params.param, DRV_ID_MCP_HSI_VER),
+ GET_MFW_FIELD(mb_params.param, DRV_ID_PDA_COMP_VER));
if (p_in_params->hsi_ver != ECORE_LOAD_REQ_HSI_VER_1)
DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
"Load Request: drv_ver 0x%08x_0x%08x, fw_ver 0x%08x, misc0 0x%08x [role %d, timeout %d, force %d, flags0 0x%x]\n",
load_req.drv_ver_0, load_req.drv_ver_1,
load_req.fw_ver, load_req.misc0,
- ECORE_MFW_GET_FIELD(load_req.misc0, LOAD_REQ_ROLE),
- ECORE_MFW_GET_FIELD(load_req.misc0,
- LOAD_REQ_LOCK_TO),
- ECORE_MFW_GET_FIELD(load_req.misc0, LOAD_REQ_FORCE),
- ECORE_MFW_GET_FIELD(load_req.misc0,
- LOAD_REQ_FLAGS0));
+ GET_MFW_FIELD(load_req.misc0, LOAD_REQ_ROLE),
+ GET_MFW_FIELD(load_req.misc0, LOAD_REQ_LOCK_TO),
+ GET_MFW_FIELD(load_req.misc0, LOAD_REQ_FORCE),
+ GET_MFW_FIELD(load_req.misc0, LOAD_REQ_FLAGS0));
rc = ecore_mcp_cmd_and_union(p_hwfn, p_ptt, &mb_params);
if (rc != ECORE_SUCCESS) {
@@ -754,44 +929,36 @@ __ecore_mcp_load_req(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
"Load Response: exist_drv_ver 0x%08x_0x%08x, exist_fw_ver 0x%08x, misc0 0x%08x [exist_role %d, mfw_hsi %d, flags0 0x%x]\n",
load_rsp.drv_ver_0, load_rsp.drv_ver_1,
load_rsp.fw_ver, load_rsp.misc0,
- ECORE_MFW_GET_FIELD(load_rsp.misc0, LOAD_RSP_ROLE),
- ECORE_MFW_GET_FIELD(load_rsp.misc0, LOAD_RSP_HSI),
- ECORE_MFW_GET_FIELD(load_rsp.misc0,
- LOAD_RSP_FLAGS0));
+ GET_MFW_FIELD(load_rsp.misc0, LOAD_RSP_ROLE),
+ GET_MFW_FIELD(load_rsp.misc0, LOAD_RSP_HSI),
+ GET_MFW_FIELD(load_rsp.misc0, LOAD_RSP_FLAGS0));
p_out_params->exist_drv_ver_0 = load_rsp.drv_ver_0;
p_out_params->exist_drv_ver_1 = load_rsp.drv_ver_1;
p_out_params->exist_fw_ver = load_rsp.fw_ver;
p_out_params->exist_drv_role =
- ECORE_MFW_GET_FIELD(load_rsp.misc0, LOAD_RSP_ROLE);
+ GET_MFW_FIELD(load_rsp.misc0, LOAD_RSP_ROLE);
p_out_params->mfw_hsi_ver =
- ECORE_MFW_GET_FIELD(load_rsp.misc0, LOAD_RSP_HSI);
+ GET_MFW_FIELD(load_rsp.misc0, LOAD_RSP_HSI);
p_out_params->drv_exists =
- ECORE_MFW_GET_FIELD(load_rsp.misc0, LOAD_RSP_FLAGS0) &
+ GET_MFW_FIELD(load_rsp.misc0, LOAD_RSP_FLAGS0) &
LOAD_RSP_FLAGS0_DRV_EXISTS;
}
return ECORE_SUCCESS;
}
-static enum _ecore_status_t eocre_get_mfw_drv_role(struct ecore_hwfn *p_hwfn,
- enum ecore_drv_role drv_role,
- u8 *p_mfw_drv_role)
+static void ecore_get_mfw_drv_role(enum ecore_drv_role drv_role,
+ u8 *p_mfw_drv_role)
{
- switch (drv_role)
- {
+ switch (drv_role) {
case ECORE_DRV_ROLE_OS:
*p_mfw_drv_role = DRV_ROLE_OS;
break;
case ECORE_DRV_ROLE_KDUMP:
*p_mfw_drv_role = DRV_ROLE_KDUMP;
break;
- default:
- DP_ERR(p_hwfn, "Unexpected driver role %d\n", drv_role);
- return ECORE_INVAL;
}
-
- return ECORE_SUCCESS;
}
enum ecore_load_req_force {
@@ -800,10 +967,8 @@ enum ecore_load_req_force {
ECORE_LOAD_REQ_FORCE_ALL,
};
-static enum _ecore_status_t
-ecore_get_mfw_force_cmd(struct ecore_hwfn *p_hwfn,
- enum ecore_load_req_force force_cmd,
- u8 *p_mfw_force_cmd)
+static void ecore_get_mfw_force_cmd(enum ecore_load_req_force force_cmd,
+ u8 *p_mfw_force_cmd)
{
switch (force_cmd) {
case ECORE_LOAD_REQ_FORCE_NONE:
@@ -815,12 +980,7 @@ ecore_get_mfw_force_cmd(struct ecore_hwfn *p_hwfn,
case ECORE_LOAD_REQ_FORCE_ALL:
*p_mfw_force_cmd = LOAD_REQ_FORCE_ALL;
break;
- default:
- DP_ERR(p_hwfn, "Unexpected force value %d\n", force_cmd);
- return ECORE_INVAL;
}
-
- return ECORE_SUCCESS;
}
enum _ecore_status_t ecore_mcp_load_req(struct ecore_hwfn *p_hwfn,
@@ -829,7 +989,7 @@ enum _ecore_status_t ecore_mcp_load_req(struct ecore_hwfn *p_hwfn,
{
struct ecore_load_req_out_params out_params;
struct ecore_load_req_in_params in_params;
- u8 mfw_drv_role, mfw_force_cmd;
+ u8 mfw_drv_role = 0, mfw_force_cmd;
enum _ecore_status_t rc;
#ifndef ASIC_ONLY
@@ -844,17 +1004,10 @@ enum _ecore_status_t ecore_mcp_load_req(struct ecore_hwfn *p_hwfn,
in_params.drv_ver_0 = ECORE_VERSION;
in_params.drv_ver_1 = ecore_get_config_bitmap();
in_params.fw_ver = STORM_FW_VERSION;
- rc = eocre_get_mfw_drv_role(p_hwfn, p_params->drv_role, &mfw_drv_role);
- if (rc != ECORE_SUCCESS)
- return rc;
-
+ ecore_get_mfw_drv_role(p_params->drv_role, &mfw_drv_role);
in_params.drv_role = mfw_drv_role;
in_params.timeout_val = p_params->timeout_val;
- rc = ecore_get_mfw_force_cmd(p_hwfn, ECORE_LOAD_REQ_FORCE_NONE,
- &mfw_force_cmd);
- if (rc != ECORE_SUCCESS)
- return rc;
-
+ ecore_get_mfw_force_cmd(ECORE_LOAD_REQ_FORCE_NONE, &mfw_force_cmd);
in_params.force_cmd = mfw_force_cmd;
in_params.avoid_eng_reset = p_params->avoid_eng_reset;
@@ -871,9 +1024,6 @@ enum _ecore_status_t ecore_mcp_load_req(struct ecore_hwfn *p_hwfn,
DP_INFO(p_hwfn,
"MFW refused a load request due to HSI > 1. Resending with HSI = 1.\n");
- /* The previous load request set the mailbox blocking */
- p_hwfn->mcp_info->block_mb_sending = false;
-
in_params.hsi_ver = ECORE_LOAD_REQ_HSI_VER_1;
OSAL_MEM_ZERO(&out_params, sizeof(out_params));
rc = __ecore_mcp_load_req(p_hwfn, p_ptt, &in_params,
@@ -882,27 +1032,20 @@ enum _ecore_status_t ecore_mcp_load_req(struct ecore_hwfn *p_hwfn,
return rc;
} else if (out_params.load_code ==
FW_MSG_CODE_DRV_LOAD_REFUSED_REQUIRES_FORCE) {
- /* The previous load request set the mailbox blocking */
- p_hwfn->mcp_info->block_mb_sending = false;
-
if (ecore_mcp_can_force_load(in_params.drv_role,
out_params.exist_drv_role,
p_params->override_force_load)) {
DP_INFO(p_hwfn,
- "A force load is required [{role, fw_ver, drv_ver}: loading={%d, 0x%08x, x%08x_0x%08x}, existing={%d, 0x%08x, 0x%08x_0x%08x}]\n",
+ "A force load is required [{role, fw_ver, drv_ver}: loading={%d, 0x%08x, 0x%08x_%08x}, existing={%d, 0x%08x, 0x%08x_%08x}]\n",
in_params.drv_role, in_params.fw_ver,
- in_params.drv_ver_0, in_params.drv_ver_1,
+ in_params.drv_ver_1, in_params.drv_ver_0,
out_params.exist_drv_role,
out_params.exist_fw_ver,
- out_params.exist_drv_ver_0,
- out_params.exist_drv_ver_1);
- DP_INFO(p_hwfn, "Sending a force load request\n");
+ out_params.exist_drv_ver_1,
+ out_params.exist_drv_ver_0);
- rc = ecore_get_mfw_force_cmd(p_hwfn,
- ECORE_LOAD_REQ_FORCE_ALL,
- &mfw_force_cmd);
- if (rc != ECORE_SUCCESS)
- return rc;
+ ecore_get_mfw_force_cmd(ECORE_LOAD_REQ_FORCE_ALL,
+ &mfw_force_cmd);
in_params.force_cmd = mfw_force_cmd;
OSAL_MEM_ZERO(&out_params, sizeof(out_params));
@@ -912,15 +1055,13 @@ enum _ecore_status_t ecore_mcp_load_req(struct ecore_hwfn *p_hwfn,
return rc;
} else {
DP_NOTICE(p_hwfn, false,
- "A force load is required [{role, fw_ver, drv_ver}: loading={%d, 0x%08x, x%08x_0x%08x}, existing={%d, 0x%08x, 0x%08x_0x%08x}]\n",
+ "A force load is required [{role, fw_ver, drv_ver}: loading={%d, 0x%08x, x%08x_0x%08x}, existing={%d, 0x%08x, 0x%08x_0x%08x}] - Avoid\n",
in_params.drv_role, in_params.fw_ver,
in_params.drv_ver_0, in_params.drv_ver_1,
out_params.exist_drv_role,
out_params.exist_fw_ver,
out_params.exist_drv_ver_0,
out_params.exist_drv_ver_1);
- DP_NOTICE(p_hwfn, false,
- "Avoid sending a force load request to prevent disruption of active PFs\n");
ecore_mcp_cancel_load_req(p_hwfn, p_ptt);
return ECORE_BUSY;
@@ -947,19 +1088,11 @@ enum _ecore_status_t ecore_mcp_load_req(struct ecore_hwfn *p_hwfn,
return ECORE_INVAL;
}
break;
- case FW_MSG_CODE_DRV_LOAD_REFUSED_PDA:
- case FW_MSG_CODE_DRV_LOAD_REFUSED_DIAG:
- case FW_MSG_CODE_DRV_LOAD_REFUSED_HSI:
- case FW_MSG_CODE_DRV_LOAD_REFUSED_REJECT:
- DP_NOTICE(p_hwfn, false,
- "MFW refused a load request [resp 0x%08x]. Aborting.\n",
- out_params.load_code);
- return ECORE_BUSY;
default:
DP_NOTICE(p_hwfn, false,
- "Unexpected response to load request [resp 0x%08x]. Aborting.\n",
+ "Unexpected refusal to load request [resp 0x%08x]. Aborting.\n",
out_params.load_code);
- break;
+ return ECORE_BUSY;
}
p_params->load_code = out_params.load_code;
@@ -1107,7 +1240,8 @@ static void ecore_mcp_handle_transceiver_change(struct ecore_hwfn *p_hwfn,
OFFSETOF(struct public_port,
transceiver_data)));
- transceiver_state = GET_FIELD(transceiver_state, ETH_TRANSCEIVER_STATE);
+ transceiver_state = GET_MFW_FIELD(transceiver_state,
+ ETH_TRANSCEIVER_STATE);
if (transceiver_state == ETH_TRANSCEIVER_STATE_PRESENT)
DP_NOTICE(p_hwfn, false, "Transceiver is present.\n");
@@ -1126,12 +1260,12 @@ static void ecore_mcp_read_eee_config(struct ecore_hwfn *p_hwfn,
eee_status = ecore_rd(p_hwfn, p_ptt, p_hwfn->mcp_info->port_addr +
OFFSETOF(struct public_port, eee_status));
p_link->eee_active = !!(eee_status & EEE_ACTIVE_BIT);
- val = (eee_status & EEE_LD_ADV_STATUS_MASK) >> EEE_LD_ADV_STATUS_SHIFT;
+ val = (eee_status & EEE_LD_ADV_STATUS_MASK) >> EEE_LD_ADV_STATUS_OFFSET;
if (val & EEE_1G_ADV)
p_link->eee_adv_caps |= ECORE_EEE_1G_ADV;
if (val & EEE_10G_ADV)
p_link->eee_adv_caps |= ECORE_EEE_10G_ADV;
- val = (eee_status & EEE_LP_ADV_STATUS_MASK) >> EEE_LP_ADV_STATUS_SHIFT;
+ val = (eee_status & EEE_LP_ADV_STATUS_MASK) >> EEE_LP_ADV_STATUS_OFFSET;
if (val & EEE_1G_ADV)
p_link->eee_lp_adv_caps |= ECORE_EEE_1G_ADV;
if (val & EEE_10G_ADV)
@@ -1214,7 +1348,7 @@ static void ecore_mcp_handle_link_change(struct ecore_hwfn *p_hwfn,
/* Max bandwidth configuration */
__ecore_configure_pf_max_bandwidth(p_hwfn, p_ptt, p_link, max_bw);
- /* Mintz bandwidth configuration */
+ /* Min bandwidth configuration */
__ecore_configure_pf_min_bandwidth(p_hwfn, p_ptt, p_link, min_bw);
ecore_configure_vp_wfq_on_link_change(p_hwfn->p_dev, p_ptt,
p_link->min_pf_rate);
@@ -1315,7 +1449,7 @@ enum _ecore_status_t ecore_mcp_set_link(struct ecore_hwfn *p_hwfn,
if (params->eee.adv_caps & ECORE_EEE_10G_ADV)
phy_cfg.eee_cfg |= EEE_CFG_ADV_SPEED_10G;
phy_cfg.eee_cfg |= (params->eee.tx_lpi_timer <<
- EEE_TX_TIMER_USEC_SHIFT) &
+ EEE_TX_TIMER_USEC_OFFSET) &
EEE_TX_TIMER_USEC_MASK;
}
@@ -1466,7 +1600,7 @@ static void ecore_read_pf_bandwidth(struct ecore_hwfn *p_hwfn,
*/
p_info->bandwidth_min = (p_shmem_info->config &
FUNC_MF_CFG_MIN_BW_MASK) >>
- FUNC_MF_CFG_MIN_BW_SHIFT;
+ FUNC_MF_CFG_MIN_BW_OFFSET;
if (p_info->bandwidth_min < 1 || p_info->bandwidth_min > 100) {
DP_INFO(p_hwfn,
"bandwidth minimum out of bounds [%02x]. Set to 1\n",
@@ -1476,7 +1610,7 @@ static void ecore_read_pf_bandwidth(struct ecore_hwfn *p_hwfn,
p_info->bandwidth_max = (p_shmem_info->config &
FUNC_MF_CFG_MAX_BW_MASK) >>
- FUNC_MF_CFG_MAX_BW_SHIFT;
+ FUNC_MF_CFG_MAX_BW_OFFSET;
if (p_info->bandwidth_max < 1 || p_info->bandwidth_max > 100) {
DP_INFO(p_hwfn,
"bandwidth maximum out of bounds [%02x]. Set to 100\n",
@@ -1517,7 +1651,7 @@ enum _ecore_status_t ecore_hw_init_first_eth(struct ecore_hwfn *p_hwfn,
/* Find first Ethernet interface in port */
for (i = 0; i < NUM_OF_ENG_PFS(p_hwfn->p_dev);
- i += p_hwfn->p_dev->num_ports_in_engines) {
+ i += p_hwfn->p_dev->num_ports_in_engine) {
ecore_mcp_get_shmem_func(p_hwfn, p_ptt, &shmem_info,
MCP_PF_ID_BY_REL(p_hwfn, i));
@@ -1576,10 +1710,12 @@ static void ecore_mcp_update_stag(struct ecore_hwfn *p_hwfn,
FUNC_MF_CFG_OV_STAG_MASK;
p_hwfn->hw_info.ovlan = p_hwfn->mcp_info->func_info.ovlan;
if ((p_hwfn->hw_info.hw_mode & (1 << MODE_MF_SD)) &&
- (p_hwfn->hw_info.ovlan != ECORE_MCP_VLAN_UNSET))
+ (p_hwfn->hw_info.ovlan != ECORE_MCP_VLAN_UNSET)) {
ecore_wr(p_hwfn, p_ptt,
NIG_REG_LLH_FUNC_TAG_VALUE,
p_hwfn->hw_info.ovlan);
+ ecore_sp_pf_update_stag(p_hwfn);
+ }
OSAL_HW_INFO_CHANGE(p_hwfn, ECORE_HW_INFO_CHANGE_OVLAN);
@@ -1588,8 +1724,7 @@ static void ecore_mcp_update_stag(struct ecore_hwfn *p_hwfn,
&resp, &param);
}
-static void ecore_mcp_handle_fan_failure(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt)
+static void ecore_mcp_handle_fan_failure(struct ecore_hwfn *p_hwfn)
{
/* A single notification should be sent to upper driver in CMT mode */
if (p_hwfn != ECORE_LEADING_HWFN(p_hwfn->p_dev))
@@ -1900,7 +2035,7 @@ enum _ecore_status_t ecore_mcp_handle_events(struct ecore_hwfn *p_hwfn,
ecore_mcp_update_stag(p_hwfn, p_ptt);
break;
case MFW_DRV_MSG_FAILURE_DETECTED:
- ecore_mcp_handle_fan_failure(p_hwfn, p_ptt);
+ ecore_mcp_handle_fan_failure(p_hwfn);
break;
case MFW_DRV_MSG_CRITICAL_ERROR_OCCURRED:
ecore_mcp_handle_critical_error(p_hwfn, p_ptt);
@@ -2134,8 +2269,7 @@ ecore_mcp_get_shmem_proto(struct ecore_hwfn *p_hwfn,
break;
case FUNC_MF_CFG_PROTOCOL_ROCE:
DP_NOTICE(p_hwfn, true, "RoCE personality is not a valid value!\n");
- rc = ECORE_INVAL;
- break;
+ /* Fallthrough */
default:
rc = ECORE_INVAL;
}
@@ -2182,16 +2316,17 @@ enum _ecore_status_t ecore_mcp_fill_shmem_func_info(struct ecore_hwfn *p_hwfn,
}
/* TODO - are these calculations true for BE machine? */
- info->wwn_port = (u64)shmem_info.fcoe_wwn_port_name_upper |
- (((u64)shmem_info.fcoe_wwn_port_name_lower) << 32);
- info->wwn_node = (u64)shmem_info.fcoe_wwn_node_name_upper |
- (((u64)shmem_info.fcoe_wwn_node_name_lower) << 32);
+ info->wwn_port = (u64)shmem_info.fcoe_wwn_port_name_lower |
+ (((u64)shmem_info.fcoe_wwn_port_name_upper) << 32);
+ info->wwn_node = (u64)shmem_info.fcoe_wwn_node_name_lower |
+ (((u64)shmem_info.fcoe_wwn_node_name_upper) << 32);
info->ovlan = (u16)(shmem_info.ovlan_stag & FUNC_MF_CFG_OV_STAG_MASK);
info->mtu = (u16)shmem_info.mtu_size;
p_hwfn->hw_info.b_wol_support = ECORE_WOL_SUPPORT_NONE;
+ p_hwfn->p_dev->wol_config = (u8)ECORE_OV_WOL_DEFAULT;
if (ecore_mcp_is_init(p_hwfn)) {
u32 resp = 0, param = 0;
enum _ecore_status_t rc;
@@ -2203,7 +2338,6 @@ enum _ecore_status_t ecore_mcp_fill_shmem_func_info(struct ecore_hwfn *p_hwfn,
if (resp == FW_MSG_CODE_OS_WOL_SUPPORTED)
p_hwfn->hw_info.b_wol_support = ECORE_WOL_SUPPORT_PME;
}
- p_hwfn->p_dev->wol_config = (u8)ECORE_OV_WOL_DEFAULT;
DP_VERBOSE(p_hwfn, (ECORE_MSG_SP | ECORE_MSG_IFUP),
"Read configuration from shmem: pause_on_host %02x protocol %02x BW [%02x - %02x] MAC %02x:%02x:%02x:%02x:%02x:%02x wwn port %llx node %llx ovlan %04x wol %02x\n",
@@ -2273,45 +2407,7 @@ const struct ecore_mcp_function_info
return OSAL_NULL;
return &p_hwfn->mcp_info->func_info;
}
-#endif
-enum _ecore_status_t ecore_mcp_nvm_command(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- struct ecore_mcp_nvm_params *params)
-{
- enum _ecore_status_t rc;
-
- switch (params->type) {
- case ECORE_MCP_NVM_RD:
- rc = ecore_mcp_nvm_rd_cmd(p_hwfn, p_ptt, params->nvm_common.cmd,
- params->nvm_common.offset,
- &params->nvm_common.resp,
- &params->nvm_common.param,
- params->nvm_rd.buf_size,
- params->nvm_rd.buf);
- break;
- case ECORE_MCP_CMD:
- rc = ecore_mcp_cmd(p_hwfn, p_ptt, params->nvm_common.cmd,
- params->nvm_common.offset,
- &params->nvm_common.resp,
- &params->nvm_common.param);
- break;
- case ECORE_MCP_NVM_WR:
- rc = ecore_mcp_nvm_wr_cmd(p_hwfn, p_ptt, params->nvm_common.cmd,
- params->nvm_common.offset,
- &params->nvm_common.resp,
- &params->nvm_common.param,
- params->nvm_wr.buf_size,
- params->nvm_wr.buf);
- break;
- default:
- rc = ECORE_NOTIMPL;
- break;
- }
- return rc;
-}
-
-#ifndef LINUX_REMOVE
int ecore_mcp_get_personality_cnt(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
u32 personalities)
@@ -2359,8 +2455,8 @@ enum _ecore_status_t ecore_mcp_get_flash_size(struct ecore_hwfn *p_hwfn,
flash_size = ecore_rd(p_hwfn, p_ptt, MCP_REG_NVM_CFG4);
flash_size = (flash_size & MCP_REG_NVM_CFG4_FLASH_SIZE) >>
- MCP_REG_NVM_CFG4_FLASH_SIZE_SHIFT;
- flash_size = (1 << (flash_size + MCP_BYTES_PER_MBIT_SHIFT));
+ MCP_REG_NVM_CFG4_FLASH_SIZE_SHIFT;
+ flash_size = (1 << (flash_size + MCP_BYTES_PER_MBIT_OFFSET));
*p_flash_size = flash_size;
@@ -2384,9 +2480,10 @@ enum _ecore_status_t ecore_start_recovery_process(struct ecore_hwfn *p_hwfn,
return ECORE_SUCCESS;
}
-enum _ecore_status_t ecore_mcp_config_vf_msix(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u8 vf_id, u8 num)
+static enum _ecore_status_t
+ecore_mcp_config_vf_msix_bb(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
+ u8 vf_id, u8 num)
{
u32 resp = 0, param = 0, rc_param = 0;
enum _ecore_status_t rc;
@@ -2396,9 +2493,9 @@ enum _ecore_status_t ecore_mcp_config_vf_msix(struct ecore_hwfn *p_hwfn,
return ECORE_SUCCESS;
num *= p_hwfn->p_dev->num_hwfns;
- param |= (vf_id << DRV_MB_PARAM_CFG_VF_MSIX_VF_ID_SHIFT) &
+ param |= (vf_id << DRV_MB_PARAM_CFG_VF_MSIX_VF_ID_OFFSET) &
DRV_MB_PARAM_CFG_VF_MSIX_VF_ID_MASK;
- param |= (num << DRV_MB_PARAM_CFG_VF_MSIX_SB_NUM_SHIFT) &
+ param |= (num << DRV_MB_PARAM_CFG_VF_MSIX_SB_NUM_OFFSET) &
DRV_MB_PARAM_CFG_VF_MSIX_SB_NUM_MASK;
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_CFG_VF_MSIX, param,
@@ -2417,6 +2514,39 @@ enum _ecore_status_t ecore_mcp_config_vf_msix(struct ecore_hwfn *p_hwfn,
return rc;
}
+static enum _ecore_status_t
+ecore_mcp_config_vf_msix_ah(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
+ u8 num)
+{
+ u32 resp = 0, param = num, rc_param = 0;
+ enum _ecore_status_t rc;
+
+ rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_CFG_PF_VFS_MSIX,
+ param, &resp, &rc_param);
+
+ if (resp != FW_MSG_CODE_DRV_CFG_PF_VFS_MSIX_DONE) {
+ DP_NOTICE(p_hwfn, true, "MFW failed to set MSI-X for VFs\n");
+ rc = ECORE_INVAL;
+ } else {
+ DP_VERBOSE(p_hwfn, ECORE_MSG_IOV,
+ "Requested 0x%02x MSI-x interrupts for VFs\n",
+ num);
+ }
+
+ return rc;
+}
+
+enum _ecore_status_t ecore_mcp_config_vf_msix(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
+ u8 vf_id, u8 num)
+{
+ if (ECORE_IS_BB(p_hwfn->p_dev))
+ return ecore_mcp_config_vf_msix_bb(p_hwfn, p_ptt, vf_id, num);
+ else
+ return ecore_mcp_config_vf_msix_ah(p_hwfn, p_ptt, num);
+}
+
enum _ecore_status_t
ecore_mcp_send_drv_version(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
struct ecore_mcp_drv_version *p_ver)
@@ -2454,18 +2584,40 @@ ecore_mcp_send_drv_version(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
return rc;
}
+/* A maximal 100 msec waiting time for the MCP to halt */
+#define ECORE_MCP_HALT_SLEEP_MS 10
+#define ECORE_MCP_HALT_MAX_RETRIES 10
+
enum _ecore_status_t ecore_mcp_halt(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt)
{
+ u32 resp = 0, param = 0, cpu_mode, cnt = 0;
enum _ecore_status_t rc;
- u32 resp = 0, param = 0;
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_MCP_HALT, 0, &resp,
&param);
- if (rc != ECORE_SUCCESS)
+ if (rc != ECORE_SUCCESS) {
DP_ERR(p_hwfn, "MCP response failure, aborting\n");
+ return rc;
+ }
- return rc;
+ do {
+ OSAL_MSLEEP(ECORE_MCP_HALT_SLEEP_MS);
+ cpu_mode = ecore_rd(p_hwfn, p_ptt, MCP_REG_CPU_MODE);
+ if (cpu_mode & MCP_REG_CPU_MODE_SOFT_HALT)
+ break;
+ } while (++cnt < ECORE_MCP_HALT_MAX_RETRIES);
+
+ if (cnt == ECORE_MCP_HALT_MAX_RETRIES) {
+ DP_NOTICE(p_hwfn, false,
+ "Failed to halt the MCP [CPU_MODE = 0x%08x after %d msec]\n",
+ cpu_mode, cnt * ECORE_MCP_HALT_SLEEP_MS);
+ return ECORE_BUSY;
+ }
+
+ ecore_mcp_cmd_set_blocking(p_hwfn, true);
+
+ return ECORE_SUCCESS;
}
enum _ecore_status_t ecore_mcp_resume(struct ecore_hwfn *p_hwfn,
@@ -2480,7 +2632,16 @@ enum _ecore_status_t ecore_mcp_resume(struct ecore_hwfn *p_hwfn,
ecore_wr(p_hwfn, p_ptt, MCP_REG_CPU_MODE, value);
cpu_mode = ecore_rd(p_hwfn, p_ptt, MCP_REG_CPU_MODE);
- return (cpu_mode & MCP_REG_CPU_MODE_SOFT_HALT) ? -1 : 0;
+ if (cpu_mode & MCP_REG_CPU_MODE_SOFT_HALT) {
+ DP_NOTICE(p_hwfn, false,
+ "Failed to resume the MCP [CPU_MODE = 0x%08x]\n",
+ cpu_mode);
+ return ECORE_BUSY;
+ }
+
+ ecore_mcp_cmd_set_blocking(p_hwfn, false);
+
+ return ECORE_SUCCESS;
}
enum _ecore_status_t
@@ -2488,9 +2649,9 @@ ecore_mcp_ov_update_current_config(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
enum ecore_ov_client client)
{
- enum _ecore_status_t rc;
u32 resp = 0, param = 0;
u32 drv_mb_param;
+ enum _ecore_status_t rc;
switch (client) {
case ECORE_OV_CLIENT_DRV:
@@ -2521,9 +2682,9 @@ ecore_mcp_ov_update_driver_state(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
enum ecore_ov_driver_state drv_state)
{
- enum _ecore_status_t rc;
u32 resp = 0, param = 0;
u32 drv_mb_param;
+ enum _ecore_status_t rc;
switch (drv_state) {
case ECORE_OV_DRIVER_STATE_NOT_LOADED:
@@ -2553,10 +2714,10 @@ enum _ecore_status_t
ecore_mcp_ov_get_fc_npiv(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
struct ecore_fc_npiv_tbl *p_table)
{
- enum _ecore_status_t rc = ECORE_SUCCESS;
struct dci_fc_npiv_tbl *p_npiv_table;
u8 *p_buf = OSAL_NULL;
u32 addr, size, i;
+ enum _ecore_status_t rc = ECORE_SUCCESS;
p_table->num_wwpn = 0;
p_table->num_wwnn = 0;
@@ -2605,11 +2766,11 @@ enum _ecore_status_t
ecore_mcp_ov_update_mtu(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
u16 mtu)
{
- enum _ecore_status_t rc;
u32 resp = 0, param = 0;
u32 drv_mb_param;
+ enum _ecore_status_t rc;
- drv_mb_param = (u32)mtu << DRV_MB_PARAM_OV_MTU_SIZE_SHIFT;
+ drv_mb_param = (u32)mtu << DRV_MB_PARAM_OV_MTU_SIZE_OFFSET;
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_OV_UPDATE_MTU,
drv_mb_param, &resp, &param);
if (rc != ECORE_SUCCESS)
@@ -2623,13 +2784,13 @@ ecore_mcp_ov_update_mac(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
u8 *mac)
{
struct ecore_mcp_mb_params mb_params;
- enum _ecore_status_t rc;
u32 mfw_mac[2];
+ enum _ecore_status_t rc;
OSAL_MEM_ZERO(&mb_params, sizeof(mb_params));
mb_params.cmd = DRV_MSG_CODE_SET_VMAC;
mb_params.param = DRV_MSG_CODE_VMAC_TYPE_MAC <<
- DRV_MSG_CODE_VMAC_TYPE_SHIFT;
+ DRV_MSG_CODE_VMAC_TYPE_OFFSET;
mb_params.param |= MCP_PF_ID(p_hwfn);
/* MCP is BE, and on LE platforms PCI would swap access to SHMEM
@@ -2656,9 +2817,9 @@ enum _ecore_status_t
ecore_mcp_ov_update_wol(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
enum ecore_ov_wol wol)
{
- enum _ecore_status_t rc;
u32 resp = 0, param = 0;
u32 drv_mb_param;
+ enum _ecore_status_t rc;
if (p_hwfn->hw_info.b_wol_support == ECORE_WOL_SUPPORT_NONE) {
DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
@@ -2696,9 +2857,9 @@ enum _ecore_status_t
ecore_mcp_ov_update_eswitch(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
enum ecore_ov_eswitch eswitch)
{
- enum _ecore_status_t rc;
u32 resp = 0, param = 0;
u32 drv_mb_param;
+ enum _ecore_status_t rc;
switch (eswitch) {
case ECORE_OV_ESWITCH_NONE:
@@ -2757,8 +2918,8 @@ enum _ecore_status_t ecore_mcp_mask_parities(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
u32 mask_parities)
{
- enum _ecore_status_t rc;
u32 resp = 0, param = 0;
+ enum _ecore_status_t rc;
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_MASK_PARITIES,
mask_parities, &resp, &param);
@@ -2778,7 +2939,7 @@ enum _ecore_status_t ecore_mcp_nvm_read(struct ecore_dev *p_dev, u32 addr,
{
struct ecore_hwfn *p_hwfn = ECORE_LEADING_HWFN(p_dev);
u32 bytes_left, offset, bytes_to_copy, buf_size;
- struct ecore_mcp_nvm_params params;
+ u32 nvm_offset, resp, param;
struct ecore_ptt *p_ptt;
enum _ecore_status_t rc = ECORE_SUCCESS;
@@ -2786,24 +2947,19 @@ enum _ecore_status_t ecore_mcp_nvm_read(struct ecore_dev *p_dev, u32 addr,
if (!p_ptt)
return ECORE_BUSY;
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
bytes_left = len;
offset = 0;
- params.type = ECORE_MCP_NVM_RD;
- params.nvm_rd.buf_size = &buf_size;
- params.nvm_common.cmd = DRV_MSG_CODE_NVM_READ_NVRAM;
while (bytes_left > 0) {
bytes_to_copy = OSAL_MIN_T(u32, bytes_left,
MCP_DRV_NVM_BUF_LEN);
- params.nvm_common.offset = (addr + offset) |
- (bytes_to_copy <<
- DRV_MB_PARAM_NVM_LEN_SHIFT);
- params.nvm_rd.buf = (u32 *)(p_buf + offset);
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
- if (rc != ECORE_SUCCESS || (params.nvm_common.resp !=
- FW_MSG_CODE_NVM_OK)) {
- DP_NOTICE(p_dev, false, "MCP command rc = %d\n",
- rc);
+ nvm_offset = (addr + offset) | (bytes_to_copy <<
+ DRV_MB_PARAM_NVM_LEN_OFFSET);
+ rc = ecore_mcp_nvm_rd_cmd(p_hwfn, p_ptt,
+ DRV_MSG_CODE_NVM_READ_NVRAM,
+ nvm_offset, &resp, &param, &buf_size,
+ (u32 *)(p_buf + offset));
+ if (rc != ECORE_SUCCESS || (resp != FW_MSG_CODE_NVM_OK)) {
+ DP_NOTICE(p_dev, false, "MCP command rc = %d\n", rc);
break;
}
@@ -2811,14 +2967,14 @@ enum _ecore_status_t ecore_mcp_nvm_read(struct ecore_dev *p_dev, u32 addr,
* isn't preemptable. Sleep a bit to prevent CPU hogging.
*/
if (bytes_left % 0x1000 <
- (bytes_left - *params.nvm_rd.buf_size) % 0x1000)
+ (bytes_left - buf_size) % 0x1000)
OSAL_MSLEEP(1);
- offset += *params.nvm_rd.buf_size;
- bytes_left -= *params.nvm_rd.buf_size;
+ offset += buf_size;
+ bytes_left -= buf_size;
}
- p_dev->mcp_nvm_resp = params.nvm_common.resp;
+ p_dev->mcp_nvm_resp = resp;
ecore_ptt_release(p_hwfn, p_ptt);
return rc;
@@ -2828,27 +2984,23 @@ enum _ecore_status_t ecore_mcp_phy_read(struct ecore_dev *p_dev, u32 cmd,
u32 addr, u8 *p_buf, u32 len)
{
struct ecore_hwfn *p_hwfn = ECORE_LEADING_HWFN(p_dev);
- struct ecore_mcp_nvm_params params;
struct ecore_ptt *p_ptt;
+ u32 resp, param;
enum _ecore_status_t rc;
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt)
return ECORE_BUSY;
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
- params.type = ECORE_MCP_NVM_RD;
- params.nvm_rd.buf_size = &len;
- params.nvm_common.cmd = (cmd == ECORE_PHY_CORE_READ) ?
- DRV_MSG_CODE_PHY_CORE_READ :
- DRV_MSG_CODE_PHY_RAW_READ;
- params.nvm_common.offset = addr;
- params.nvm_rd.buf = (u32 *)p_buf;
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
+ rc = ecore_mcp_nvm_rd_cmd(p_hwfn, p_ptt,
+ (cmd == ECORE_PHY_CORE_READ) ?
+ DRV_MSG_CODE_PHY_CORE_READ :
+ DRV_MSG_CODE_PHY_RAW_READ,
+ addr, &resp, &param, &len, (u32 *)p_buf);
if (rc != ECORE_SUCCESS)
DP_NOTICE(p_dev, false, "MCP command rc = %d\n", rc);
- p_dev->mcp_nvm_resp = params.nvm_common.resp;
+ p_dev->mcp_nvm_resp = resp;
ecore_ptt_release(p_hwfn, p_ptt);
return rc;
@@ -2857,14 +3009,12 @@ enum _ecore_status_t ecore_mcp_phy_read(struct ecore_dev *p_dev, u32 cmd,
enum _ecore_status_t ecore_mcp_nvm_resp(struct ecore_dev *p_dev, u8 *p_buf)
{
struct ecore_hwfn *p_hwfn = ECORE_LEADING_HWFN(p_dev);
- struct ecore_mcp_nvm_params params;
struct ecore_ptt *p_ptt;
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt)
return ECORE_BUSY;
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
OSAL_MEMCPY(p_buf, &p_dev->mcp_nvm_resp, sizeof(p_dev->mcp_nvm_resp));
ecore_ptt_release(p_hwfn, p_ptt);
@@ -2875,19 +3025,16 @@ enum _ecore_status_t ecore_mcp_nvm_del_file(struct ecore_dev *p_dev,
u32 addr)
{
struct ecore_hwfn *p_hwfn = ECORE_LEADING_HWFN(p_dev);
- struct ecore_mcp_nvm_params params;
struct ecore_ptt *p_ptt;
+ u32 resp, param;
enum _ecore_status_t rc;
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt)
return ECORE_BUSY;
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
- params.type = ECORE_MCP_CMD;
- params.nvm_common.cmd = DRV_MSG_CODE_NVM_DEL_FILE;
- params.nvm_common.offset = addr;
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
- p_dev->mcp_nvm_resp = params.nvm_common.resp;
+ rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_NVM_DEL_FILE, addr,
+ &resp, &param);
+ p_dev->mcp_nvm_resp = resp;
ecore_ptt_release(p_hwfn, p_ptt);
return rc;
@@ -2897,51 +3044,45 @@ enum _ecore_status_t ecore_mcp_nvm_put_file_begin(struct ecore_dev *p_dev,
u32 addr)
{
struct ecore_hwfn *p_hwfn = ECORE_LEADING_HWFN(p_dev);
- struct ecore_mcp_nvm_params params;
struct ecore_ptt *p_ptt;
+ u32 resp, param;
enum _ecore_status_t rc;
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt)
return ECORE_BUSY;
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
- params.type = ECORE_MCP_CMD;
- params.nvm_common.cmd = DRV_MSG_CODE_NVM_PUT_FILE_BEGIN;
- params.nvm_common.offset = addr;
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
- p_dev->mcp_nvm_resp = params.nvm_common.resp;
+ rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_NVM_PUT_FILE_BEGIN, addr,
+ &resp, &param);
+ p_dev->mcp_nvm_resp = resp;
ecore_ptt_release(p_hwfn, p_ptt);
return rc;
}
-/* rc receives ECORE_INVAL as default parameter because
+/* rc recieves ECORE_INVAL as default parameter because
* it might not enter the while loop if the len is 0
*/
enum _ecore_status_t ecore_mcp_nvm_write(struct ecore_dev *p_dev, u32 cmd,
u32 addr, u8 *p_buf, u32 len)
{
+ u32 buf_idx, buf_size, nvm_cmd, nvm_offset, resp, param;
struct ecore_hwfn *p_hwfn = ECORE_LEADING_HWFN(p_dev);
enum _ecore_status_t rc = ECORE_INVAL;
- struct ecore_mcp_nvm_params params;
struct ecore_ptt *p_ptt;
- u32 buf_idx, buf_size;
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt)
return ECORE_BUSY;
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
- params.type = ECORE_MCP_NVM_WR;
switch (cmd) {
case ECORE_PUT_FILE_DATA:
- params.nvm_common.cmd = DRV_MSG_CODE_NVM_PUT_FILE_DATA;
+ nvm_cmd = DRV_MSG_CODE_NVM_PUT_FILE_DATA;
break;
case ECORE_NVM_WRITE_NVRAM:
- params.nvm_common.cmd = DRV_MSG_CODE_NVM_WRITE_NVRAM;
+ nvm_cmd = DRV_MSG_CODE_NVM_WRITE_NVRAM;
break;
case ECORE_EXT_PHY_FW_UPGRADE:
- params.nvm_common.cmd = DRV_MSG_CODE_EXT_PHY_FW_UPGRADE;
+ nvm_cmd = DRV_MSG_CODE_EXT_PHY_FW_UPGRADE;
break;
default:
DP_NOTICE(p_hwfn, true, "Invalid nvm write command 0x%x\n",
@@ -2953,16 +3094,15 @@ enum _ecore_status_t ecore_mcp_nvm_write(struct ecore_dev *p_dev, u32 cmd,
while (buf_idx < len) {
buf_size = OSAL_MIN_T(u32, (len - buf_idx),
MCP_DRV_NVM_BUF_LEN);
- params.nvm_common.offset = ((buf_size <<
- DRV_MB_PARAM_NVM_LEN_SHIFT)
- | addr) + buf_idx;
- params.nvm_wr.buf_size = buf_size;
- params.nvm_wr.buf = (u32 *)&p_buf[buf_idx];
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
+ nvm_offset = ((buf_size << DRV_MB_PARAM_NVM_LEN_OFFSET) |
+ addr) +
+ buf_idx;
+ rc = ecore_mcp_nvm_wr_cmd(p_hwfn, p_ptt, nvm_cmd, nvm_offset,
+ &resp, &param, buf_size,
+ (u32 *)&p_buf[buf_idx]);
if (rc != ECORE_SUCCESS ||
- ((params.nvm_common.resp != FW_MSG_CODE_NVM_OK) &&
- (params.nvm_common.resp !=
- FW_MSG_CODE_NVM_PUT_FILE_FINISH_OK)))
+ ((resp != FW_MSG_CODE_NVM_OK) &&
+ (resp != FW_MSG_CODE_NVM_PUT_FILE_FINISH_OK)))
DP_NOTICE(p_dev, false, "MCP command rc = %d\n", rc);
/* This can be a lengthy process, and it's possible scheduler
@@ -2975,7 +3115,7 @@ enum _ecore_status_t ecore_mcp_nvm_write(struct ecore_dev *p_dev, u32 cmd,
buf_idx += buf_size;
}
- p_dev->mcp_nvm_resp = params.nvm_common.resp;
+ p_dev->mcp_nvm_resp = resp;
ecore_ptt_release(p_hwfn, p_ptt);
return rc;
@@ -2985,26 +3125,21 @@ enum _ecore_status_t ecore_mcp_phy_write(struct ecore_dev *p_dev, u32 cmd,
u32 addr, u8 *p_buf, u32 len)
{
struct ecore_hwfn *p_hwfn = ECORE_LEADING_HWFN(p_dev);
- struct ecore_mcp_nvm_params params;
struct ecore_ptt *p_ptt;
+ u32 resp, param, nvm_cmd;
enum _ecore_status_t rc;
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt)
return ECORE_BUSY;
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
- params.type = ECORE_MCP_NVM_WR;
- params.nvm_wr.buf_size = len;
- params.nvm_common.cmd = (cmd == ECORE_PHY_CORE_WRITE) ?
- DRV_MSG_CODE_PHY_CORE_WRITE :
- DRV_MSG_CODE_PHY_RAW_WRITE;
- params.nvm_common.offset = addr;
- params.nvm_wr.buf = (u32 *)p_buf;
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
+ nvm_cmd = (cmd == ECORE_PHY_CORE_WRITE) ? DRV_MSG_CODE_PHY_CORE_WRITE :
+ DRV_MSG_CODE_PHY_RAW_WRITE;
+ rc = ecore_mcp_nvm_wr_cmd(p_hwfn, p_ptt, nvm_cmd, addr,
+ &resp, &param, len, (u32 *)p_buf);
if (rc != ECORE_SUCCESS)
DP_NOTICE(p_dev, false, "MCP command rc = %d\n", rc);
- p_dev->mcp_nvm_resp = params.nvm_common.resp;
+ p_dev->mcp_nvm_resp = resp;
ecore_ptt_release(p_hwfn, p_ptt);
return rc;
@@ -3014,20 +3149,17 @@ enum _ecore_status_t ecore_mcp_nvm_set_secure_mode(struct ecore_dev *p_dev,
u32 addr)
{
struct ecore_hwfn *p_hwfn = ECORE_LEADING_HWFN(p_dev);
- struct ecore_mcp_nvm_params params;
struct ecore_ptt *p_ptt;
+ u32 resp, param;
enum _ecore_status_t rc;
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt)
return ECORE_BUSY;
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
- params.type = ECORE_MCP_CMD;
- params.nvm_common.cmd = DRV_MSG_CODE_SET_SECURE_MODE;
- params.nvm_common.offset = addr;
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
- p_dev->mcp_nvm_resp = params.nvm_common.resp;
+ rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_SET_SECURE_MODE, addr,
+ &resp, &param);
+ p_dev->mcp_nvm_resp = resp;
ecore_ptt_release(p_hwfn, p_ptt);
return rc;
@@ -3038,42 +3170,42 @@ enum _ecore_status_t ecore_mcp_phy_sfp_read(struct ecore_hwfn *p_hwfn,
u32 port, u32 addr, u32 offset,
u32 len, u8 *p_buf)
{
- struct ecore_mcp_nvm_params params;
+ u32 bytes_left, bytes_to_copy, buf_size, nvm_offset;
+ u32 resp, param;
enum _ecore_status_t rc;
- u32 bytes_left, bytes_to_copy, buf_size;
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
- params.nvm_common.offset =
- (port << DRV_MB_PARAM_TRANSCEIVER_PORT_SHIFT) |
- (addr << DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_SHIFT);
+ nvm_offset = (port << DRV_MB_PARAM_TRANSCEIVER_PORT_OFFSET) |
+ (addr << DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_OFFSET);
addr = offset;
offset = 0;
bytes_left = len;
- params.type = ECORE_MCP_NVM_RD;
- params.nvm_rd.buf_size = &buf_size;
- params.nvm_common.cmd = DRV_MSG_CODE_TRANSCEIVER_READ;
while (bytes_left > 0) {
bytes_to_copy = OSAL_MIN_T(u32, bytes_left,
MAX_I2C_TRANSACTION_SIZE);
- params.nvm_rd.buf = (u32 *)(p_buf + offset);
- params.nvm_common.offset &=
- (DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_MASK |
- DRV_MB_PARAM_TRANSCEIVER_PORT_MASK);
- params.nvm_common.offset |=
- ((addr + offset) <<
- DRV_MB_PARAM_TRANSCEIVER_OFFSET_SHIFT);
- params.nvm_common.offset |=
- (bytes_to_copy << DRV_MB_PARAM_TRANSCEIVER_SIZE_SHIFT);
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
- if ((params.nvm_common.resp & FW_MSG_CODE_MASK) ==
- FW_MSG_CODE_TRANSCEIVER_NOT_PRESENT) {
+ nvm_offset &= (DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_MASK |
+ DRV_MB_PARAM_TRANSCEIVER_PORT_MASK);
+ nvm_offset |= ((addr + offset) <<
+ DRV_MB_PARAM_TRANSCEIVER_OFFSET_OFFSET);
+ nvm_offset |= (bytes_to_copy <<
+ DRV_MB_PARAM_TRANSCEIVER_SIZE_OFFSET);
+ rc = ecore_mcp_nvm_rd_cmd(p_hwfn, p_ptt,
+ DRV_MSG_CODE_TRANSCEIVER_READ,
+ nvm_offset, &resp, &param, &buf_size,
+ (u32 *)(p_buf + offset));
+ if (rc != ECORE_SUCCESS) {
+ DP_NOTICE(p_hwfn, false,
+ "Failed to send a transceiver read command to the MFW. rc = %d.\n",
+ rc);
+ return rc;
+ }
+
+ if (resp == FW_MSG_CODE_TRANSCEIVER_NOT_PRESENT)
return ECORE_NODEV;
- } else if ((params.nvm_common.resp & FW_MSG_CODE_MASK) !=
- FW_MSG_CODE_TRANSCEIVER_DIAG_OK)
+ else if (resp != FW_MSG_CODE_TRANSCEIVER_DIAG_OK)
return ECORE_UNKNOWN_ERROR;
- offset += *params.nvm_rd.buf_size;
- bytes_left -= *params.nvm_rd.buf_size;
+ offset += buf_size;
+ bytes_left -= buf_size;
}
return ECORE_SUCCESS;
@@ -3084,36 +3216,35 @@ enum _ecore_status_t ecore_mcp_phy_sfp_write(struct ecore_hwfn *p_hwfn,
u32 port, u32 addr, u32 offset,
u32 len, u8 *p_buf)
{
- struct ecore_mcp_nvm_params params;
+ u32 buf_idx, buf_size, nvm_offset, resp, param;
enum _ecore_status_t rc;
- u32 buf_idx, buf_size;
-
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
- params.nvm_common.offset =
- (port << DRV_MB_PARAM_TRANSCEIVER_PORT_SHIFT) |
- (addr << DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_SHIFT);
- params.type = ECORE_MCP_NVM_WR;
- params.nvm_common.cmd = DRV_MSG_CODE_TRANSCEIVER_WRITE;
+
+ nvm_offset = (port << DRV_MB_PARAM_TRANSCEIVER_PORT_OFFSET) |
+ (addr << DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_OFFSET);
buf_idx = 0;
while (buf_idx < len) {
buf_size = OSAL_MIN_T(u32, (len - buf_idx),
MAX_I2C_TRANSACTION_SIZE);
- params.nvm_common.offset &=
- (DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_MASK |
- DRV_MB_PARAM_TRANSCEIVER_PORT_MASK);
- params.nvm_common.offset |=
- ((offset + buf_idx) <<
- DRV_MB_PARAM_TRANSCEIVER_OFFSET_SHIFT);
- params.nvm_common.offset |=
- (buf_size << DRV_MB_PARAM_TRANSCEIVER_SIZE_SHIFT);
- params.nvm_wr.buf_size = buf_size;
- params.nvm_wr.buf = (u32 *)&p_buf[buf_idx];
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
- if ((params.nvm_common.resp & FW_MSG_CODE_MASK) ==
- FW_MSG_CODE_TRANSCEIVER_NOT_PRESENT) {
+ nvm_offset &= (DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_MASK |
+ DRV_MB_PARAM_TRANSCEIVER_PORT_MASK);
+ nvm_offset |= ((offset + buf_idx) <<
+ DRV_MB_PARAM_TRANSCEIVER_OFFSET_OFFSET);
+ nvm_offset |= (buf_size <<
+ DRV_MB_PARAM_TRANSCEIVER_SIZE_OFFSET);
+ rc = ecore_mcp_nvm_wr_cmd(p_hwfn, p_ptt,
+ DRV_MSG_CODE_TRANSCEIVER_WRITE,
+ nvm_offset, &resp, &param, buf_size,
+ (u32 *)&p_buf[buf_idx]);
+ if (rc != ECORE_SUCCESS) {
+ DP_NOTICE(p_hwfn, false,
+ "Failed to send a transceiver write command to the MFW. rc = %d.\n",
+ rc);
+ return rc;
+ }
+
+ if (resp == FW_MSG_CODE_TRANSCEIVER_NOT_PRESENT)
return ECORE_NODEV;
- } else if ((params.nvm_common.resp & FW_MSG_CODE_MASK) !=
- FW_MSG_CODE_TRANSCEIVER_DIAG_OK)
+ else if (resp != FW_MSG_CODE_TRANSCEIVER_DIAG_OK)
return ECORE_UNKNOWN_ERROR;
buf_idx += buf_size;
@@ -3129,7 +3260,7 @@ enum _ecore_status_t ecore_mcp_gpio_read(struct ecore_hwfn *p_hwfn,
enum _ecore_status_t rc = ECORE_SUCCESS;
u32 drv_mb_param = 0, rsp;
- drv_mb_param = (gpio << DRV_MB_PARAM_GPIO_NUMBER_SHIFT);
+ drv_mb_param = (gpio << DRV_MB_PARAM_GPIO_NUMBER_OFFSET);
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_GPIO_READ,
drv_mb_param, &rsp, gpio_val);
@@ -3150,8 +3281,8 @@ enum _ecore_status_t ecore_mcp_gpio_write(struct ecore_hwfn *p_hwfn,
enum _ecore_status_t rc = ECORE_SUCCESS;
u32 drv_mb_param = 0, param, rsp;
- drv_mb_param = (gpio << DRV_MB_PARAM_GPIO_NUMBER_SHIFT) |
- (gpio_val << DRV_MB_PARAM_GPIO_VALUE_SHIFT);
+ drv_mb_param = (gpio << DRV_MB_PARAM_GPIO_NUMBER_OFFSET) |
+ (gpio_val << DRV_MB_PARAM_GPIO_VALUE_OFFSET);
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_GPIO_WRITE,
drv_mb_param, &rsp, &param);
@@ -3173,7 +3304,7 @@ enum _ecore_status_t ecore_mcp_gpio_info(struct ecore_hwfn *p_hwfn,
u32 drv_mb_param = 0, rsp, val = 0;
enum _ecore_status_t rc = ECORE_SUCCESS;
- drv_mb_param = gpio << DRV_MB_PARAM_GPIO_NUMBER_SHIFT;
+ drv_mb_param = gpio << DRV_MB_PARAM_GPIO_NUMBER_OFFSET;
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_GPIO_INFO,
drv_mb_param, &rsp, &val);
@@ -3181,9 +3312,9 @@ enum _ecore_status_t ecore_mcp_gpio_info(struct ecore_hwfn *p_hwfn,
return rc;
*gpio_direction = (val & DRV_MB_PARAM_GPIO_DIRECTION_MASK) >>
- DRV_MB_PARAM_GPIO_DIRECTION_SHIFT;
+ DRV_MB_PARAM_GPIO_DIRECTION_OFFSET;
*gpio_ctrl = (val & DRV_MB_PARAM_GPIO_CTRL_MASK) >>
- DRV_MB_PARAM_GPIO_CTRL_SHIFT;
+ DRV_MB_PARAM_GPIO_CTRL_OFFSET;
if ((rsp & FW_MSG_CODE_MASK) != FW_MSG_CODE_GPIO_OK)
return ECORE_UNKNOWN_ERROR;
@@ -3198,7 +3329,7 @@ enum _ecore_status_t ecore_mcp_bist_register_test(struct ecore_hwfn *p_hwfn,
enum _ecore_status_t rc = ECORE_SUCCESS;
drv_mb_param = (DRV_MB_PARAM_BIST_REGISTER_TEST <<
- DRV_MB_PARAM_BIST_TEST_INDEX_SHIFT);
+ DRV_MB_PARAM_BIST_TEST_INDEX_OFFSET);
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_BIST_TEST,
drv_mb_param, &rsp, &param);
@@ -3220,7 +3351,7 @@ enum _ecore_status_t ecore_mcp_bist_clock_test(struct ecore_hwfn *p_hwfn,
enum _ecore_status_t rc = ECORE_SUCCESS;
drv_mb_param = (DRV_MB_PARAM_BIST_CLOCK_TEST <<
- DRV_MB_PARAM_BIST_TEST_INDEX_SHIFT);
+ DRV_MB_PARAM_BIST_TEST_INDEX_OFFSET);
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_BIST_TEST,
drv_mb_param, &rsp, &param);
@@ -3242,7 +3373,7 @@ enum _ecore_status_t ecore_mcp_bist_nvm_test_get_num_images(
enum _ecore_status_t rc = ECORE_SUCCESS;
drv_mb_param = (DRV_MB_PARAM_BIST_NVM_TEST_NUM_IMAGES <<
- DRV_MB_PARAM_BIST_TEST_INDEX_SHIFT);
+ DRV_MB_PARAM_BIST_TEST_INDEX_OFFSET);
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_BIST_TEST,
drv_mb_param, &rsp, num_images);
@@ -3260,26 +3391,20 @@ enum _ecore_status_t ecore_mcp_bist_nvm_test_get_image_att(
struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
struct bist_nvm_image_att *p_image_att, u32 image_index)
{
- struct ecore_mcp_nvm_params params;
+ u32 buf_size, nvm_offset, resp, param;
enum _ecore_status_t rc;
- u32 buf_size;
-
- OSAL_MEMSET(&params, 0, sizeof(struct ecore_mcp_nvm_params));
- params.nvm_common.offset = (DRV_MB_PARAM_BIST_NVM_TEST_IMAGE_BY_INDEX <<
- DRV_MB_PARAM_BIST_TEST_INDEX_SHIFT);
- params.nvm_common.offset |= (image_index <<
- DRV_MB_PARAM_BIST_TEST_IMAGE_INDEX_SHIFT);
- params.type = ECORE_MCP_NVM_RD;
- params.nvm_rd.buf_size = &buf_size;
- params.nvm_common.cmd = DRV_MSG_CODE_BIST_TEST;
- params.nvm_rd.buf = (u32 *)p_image_att;
-
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
+ nvm_offset = (DRV_MB_PARAM_BIST_NVM_TEST_IMAGE_BY_INDEX <<
+ DRV_MB_PARAM_BIST_TEST_INDEX_OFFSET);
+ nvm_offset |= (image_index <<
+ DRV_MB_PARAM_BIST_TEST_IMAGE_INDEX_OFFSET);
+ rc = ecore_mcp_nvm_rd_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_BIST_TEST,
+ nvm_offset, &resp, &param, &buf_size,
+ (u32 *)p_image_att);
if (rc != ECORE_SUCCESS)
return rc;
- if (((params.nvm_common.resp & FW_MSG_CODE_MASK) != FW_MSG_CODE_OK) ||
+ if (((resp & FW_MSG_CODE_MASK) != FW_MSG_CODE_OK) ||
(p_image_att->return_code != 1))
rc = ECORE_UNKNOWN_ERROR;
@@ -3403,13 +3528,13 @@ ecore_mcp_get_temperature_info(struct ecore_hwfn *p_hwfn,
val = mfw_temp_info.sensor[i];
p_temp_sensor = &p_temp_info->sensors[i];
p_temp_sensor->sensor_location = (val & SENSOR_LOCATION_MASK) >>
- SENSOR_LOCATION_SHIFT;
+ SENSOR_LOCATION_OFFSET;
p_temp_sensor->threshold_high = (val & THRESHOLD_HIGH_MASK) >>
- THRESHOLD_HIGH_SHIFT;
+ THRESHOLD_HIGH_OFFSET;
p_temp_sensor->critical = (val & CRITICAL_TEMPERATURE_MASK) >>
- CRITICAL_TEMPERATURE_SHIFT;
+ CRITICAL_TEMPERATURE_OFFSET;
p_temp_sensor->current_temp = (val & CURRENT_TEMP_MASK) >>
- CURRENT_TEMP_SHIFT;
+ CURRENT_TEMP_OFFSET;
}
return ECORE_SUCCESS;
@@ -3420,23 +3545,17 @@ enum _ecore_status_t ecore_mcp_get_mba_versions(
struct ecore_ptt *p_ptt,
struct ecore_mba_vers *p_mba_vers)
{
- struct ecore_mcp_nvm_params params;
+ u32 buf_size, resp, param;
enum _ecore_status_t rc;
- u32 buf_size;
- OSAL_MEM_ZERO(&params, sizeof(params));
- params.type = ECORE_MCP_NVM_RD;
- params.nvm_common.cmd = DRV_MSG_CODE_GET_MBA_VERSION;
- params.nvm_common.offset = 0;
- params.nvm_rd.buf = &(p_mba_vers->mba_vers[0]);
- params.nvm_rd.buf_size = &buf_size;
- rc = ecore_mcp_nvm_command(p_hwfn, p_ptt, &params);
+ rc = ecore_mcp_nvm_rd_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_GET_MBA_VERSION,
+ 0, &resp, &param, &buf_size,
+ &(p_mba_vers->mba_vers[0]));
if (rc != ECORE_SUCCESS)
return rc;
- if ((params.nvm_common.resp & FW_MSG_CODE_MASK) !=
- FW_MSG_CODE_NVM_OK)
+ if ((resp & FW_MSG_CODE_MASK) != FW_MSG_CODE_NVM_OK)
rc = ECORE_UNKNOWN_ERROR;
if (buf_size != MCP_DRV_NVM_BUF_LEN)
@@ -3512,9 +3631,9 @@ ecore_mcp_get_mfw_res_id(enum ecore_resources res_id)
#define ECORE_RESC_ALLOC_VERSION_MINOR 0
#define ECORE_RESC_ALLOC_VERSION \
((ECORE_RESC_ALLOC_VERSION_MAJOR << \
- DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR_SHIFT) | \
+ DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR_OFFSET) | \
(ECORE_RESC_ALLOC_VERSION_MINOR << \
- DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR_SHIFT))
+ DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR_OFFSET))
struct ecore_resc_alloc_in_params {
u32 cmd;
@@ -3577,10 +3696,10 @@ ecore_mcp_resc_allocation_msg(struct ecore_hwfn *p_hwfn,
"Resource message request: cmd 0x%08x, res_id %d [%s], hsi_version %d.%d, val 0x%x\n",
p_in_params->cmd, p_in_params->res_id,
ecore_hw_get_resc_name(p_in_params->res_id),
- ECORE_MFW_GET_FIELD(mb_params.param,
- DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR),
- ECORE_MFW_GET_FIELD(mb_params.param,
- DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR),
+ GET_MFW_FIELD(mb_params.param,
+ DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR),
+ GET_MFW_FIELD(mb_params.param,
+ DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR),
p_in_params->resc_max_val);
rc = ecore_mcp_cmd_and_union(p_hwfn, p_ptt, &mb_params);
@@ -3597,10 +3716,10 @@ ecore_mcp_resc_allocation_msg(struct ecore_hwfn *p_hwfn,
DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
"Resource message response: mfw_hsi_version %d.%d, num 0x%x, start 0x%x, vf_num 0x%x, vf_start 0x%x, flags 0x%08x\n",
- ECORE_MFW_GET_FIELD(p_out_params->mcp_param,
- FW_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR),
- ECORE_MFW_GET_FIELD(p_out_params->mcp_param,
- FW_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR),
+ GET_MFW_FIELD(p_out_params->mcp_param,
+ FW_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR),
+ GET_MFW_FIELD(p_out_params->mcp_param,
+ FW_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR),
p_out_params->resc_num, p_out_params->resc_start,
p_out_params->vf_resc_num, p_out_params->vf_resc_start,
p_out_params->flags);
@@ -3757,7 +3876,7 @@ static enum _ecore_status_t ecore_mcp_resource_cmd(struct ecore_hwfn *p_hwfn,
}
if (*p_mcp_param == RESOURCE_OPCODE_UNKNOWN_CMD) {
- u8 opcode = ECORE_MFW_GET_FIELD(param, RESOURCE_CMD_REQ_OPCODE);
+ u8 opcode = GET_MFW_FIELD(param, RESOURCE_CMD_REQ_OPCODE);
DP_NOTICE(p_hwfn, false,
"The resource command is unknown to the MFW [param 0x%08x, opcode %d]\n",
@@ -3790,9 +3909,9 @@ __ecore_mcp_resc_lock(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
break;
}
- ECORE_MFW_SET_FIELD(param, RESOURCE_CMD_REQ_RESC, p_params->resource);
- ECORE_MFW_SET_FIELD(param, RESOURCE_CMD_REQ_OPCODE, opcode);
- ECORE_MFW_SET_FIELD(param, RESOURCE_CMD_REQ_AGE, p_params->timeout);
+ SET_MFW_FIELD(param, RESOURCE_CMD_REQ_RESC, p_params->resource);
+ SET_MFW_FIELD(param, RESOURCE_CMD_REQ_OPCODE, opcode);
+ SET_MFW_FIELD(param, RESOURCE_CMD_REQ_AGE, p_params->timeout);
DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
"Resource lock request: param 0x%08x [age %d, opcode %d, resource %d]\n",
@@ -3805,9 +3924,8 @@ __ecore_mcp_resc_lock(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
return rc;
/* Analyze the response */
- p_params->owner = ECORE_MFW_GET_FIELD(mcp_param,
- RESOURCE_CMD_RSP_OWNER);
- opcode = ECORE_MFW_GET_FIELD(mcp_param, RESOURCE_CMD_RSP_OPCODE);
+ p_params->owner = GET_MFW_FIELD(mcp_param, RESOURCE_CMD_RSP_OWNER);
+ opcode = GET_MFW_FIELD(mcp_param, RESOURCE_CMD_RSP_OPCODE);
DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
"Resource lock response: mcp_param 0x%08x [opcode %d, owner %d]\n",
@@ -3872,8 +3990,8 @@ ecore_mcp_resc_unlock(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
opcode = p_params->b_force ? RESOURCE_OPCODE_FORCE_RELEASE
: RESOURCE_OPCODE_RELEASE;
- ECORE_MFW_SET_FIELD(param, RESOURCE_CMD_REQ_RESC, p_params->resource);
- ECORE_MFW_SET_FIELD(param, RESOURCE_CMD_REQ_OPCODE, opcode);
+ SET_MFW_FIELD(param, RESOURCE_CMD_REQ_RESC, p_params->resource);
+ SET_MFW_FIELD(param, RESOURCE_CMD_REQ_OPCODE, opcode);
DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
"Resource unlock request: param 0x%08x [opcode %d, resource %d]\n",
@@ -3886,7 +4004,7 @@ ecore_mcp_resc_unlock(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
return rc;
/* Analyze the response */
- opcode = ECORE_MFW_GET_FIELD(mcp_param, RESOURCE_CMD_RSP_OPCODE);
+ opcode = GET_MFW_FIELD(mcp_param, RESOURCE_CMD_RSP_OPCODE);
DP_VERBOSE(p_hwfn, ECORE_MSG_SP,
"Resource unlock response: mcp_param 0x%08x [opcode %d]\n",
@@ -3914,6 +4032,36 @@ ecore_mcp_resc_unlock(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
return ECORE_SUCCESS;
}
+void ecore_mcp_resc_lock_default_init(struct ecore_resc_lock_params *p_lock,
+ struct ecore_resc_unlock_params *p_unlock,
+ enum ecore_resc_lock resource,
+ bool b_is_permanent)
+{
+ if (p_lock != OSAL_NULL) {
+ OSAL_MEM_ZERO(p_lock, sizeof(*p_lock));
+
+ /* Permanent resources don't require aging, and there's no
+ * point in trying to acquire them more than once since it's
+ * unexpected another entity would release them.
+ */
+ if (b_is_permanent) {
+ p_lock->timeout = ECORE_MCP_RESC_LOCK_TO_NONE;
+ } else {
+ p_lock->retry_num = ECORE_MCP_RESC_LOCK_RETRY_CNT_DFLT;
+ p_lock->retry_interval =
+ ECORE_MCP_RESC_LOCK_RETRY_VAL_DFLT;
+ p_lock->sleep_b4_retry = true;
+ }
+
+ p_lock->resource = resource;
+ }
+
+ if (p_unlock != OSAL_NULL) {
+ OSAL_MEM_ZERO(p_unlock, sizeof(*p_unlock));
+ p_unlock->resource = resource;
+ }
+}
+
enum _ecore_status_t
ecore_mcp_update_fcoe_cvid(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
u16 vlan)
@@ -3922,7 +4070,7 @@ ecore_mcp_update_fcoe_cvid(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
enum _ecore_status_t rc;
rc = ecore_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_OEM_UPDATE_FCOE_CVID,
- (u32)vlan << DRV_MB_PARAM_FCOE_CVID_SHIFT,
+ (u32)vlan << DRV_MB_PARAM_FCOE_CVID_OFFSET,
&resp, &param);
if (rc != ECORE_SUCCESS)
DP_ERR(p_hwfn, "Failed to update fcoe vlan, rc = %d\n", rc);
diff --git a/sys/dev/qlnx/qlnxe/ecore_mcp.h b/sys/dev/qlnx/qlnxe/ecore_mcp.h
index 1449a0f..5c40331 100644
--- a/sys/dev/qlnx/qlnxe/ecore_mcp.h
+++ b/sys/dev/qlnx/qlnxe/ecore_mcp.h
@@ -51,21 +51,26 @@
#define MCP_PF_ID(p_hwfn) MCP_PF_ID_BY_REL(p_hwfn, (p_hwfn)->rel_pf_id)
#define MFW_PORT(_p_hwfn) ((_p_hwfn)->abs_pf_id % \
- ((_p_hwfn)->p_dev->num_ports_in_engines * \
+ ((_p_hwfn)->p_dev->num_ports_in_engine * \
ecore_device_num_engines((_p_hwfn)->p_dev)))
struct ecore_mcp_info {
- /* Spinlock used for protecting the access to the MFW mailbox */
- osal_spinlock_t lock;
+ /* List for mailbox commands which were sent and wait for a response */
+ osal_list_t cmd_list;
- /* Spinglock used for syncing SW link-changes and link-changes
+ /* Spinlock used for protecting the access to the mailbox commands list
+ * and the sending of the commands.
+ */
+ osal_spinlock_t cmd_lock;
+
+ /* Flag to indicate whether sending a MFW mailbox command is blocked */
+ bool b_block_cmd;
+
+ /* Spinlock used for syncing SW link-changes and link-changes
* originating from attention context.
*/
osal_spinlock_t link_lock;
- /* Flag to indicate whether sending a MFW mailbox is forbidden */
- bool block_mb_sending;
-
/* Address of the MCP public area */
u32 public_base;
/* Address of the driver mailbox */
@@ -89,7 +94,7 @@ struct ecore_mcp_info {
u8 *mfw_mb_cur;
u8 *mfw_mb_shadow;
u16 mfw_mb_length;
- u16 mcp_hist;
+ u32 mcp_hist;
/* Capabilties negotiated with the MFW */
u32 capabilities;
@@ -136,7 +141,7 @@ enum _ecore_status_t ecore_mcp_cmd_init(struct ecore_hwfn *p_hwfn,
*
* @param p_hwfn
* @param p_ptt
- * Can only be called after `num_ports_in_engines' is set
+ * Can only be called after `num_ports_in_engine' is set
*/
void ecore_mcp_cmd_port_init(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt);
@@ -279,56 +284,6 @@ enum _ecore_status_t ecore_mcp_reset(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt);
/**
- * @brief - Sends an NVM write command request to the MFW with
- * payload.
- *
- * @param p_hwfn
- * @param p_ptt
- * @param cmd - Command: Either DRV_MSG_CODE_NVM_WRITE_NVRAM or
- * DRV_MSG_CODE_NVM_PUT_FILE_DATA
- * @param param - [0:23] - Offset [24:31] - Size
- * @param o_mcp_resp - MCP response
- * @param o_mcp_param - MCP response param
- * @param i_txn_size - Buffer size
- * @param i_buf - Pointer to the buffer
- *
- * @param return ECORE_SUCCESS upon success.
- */
-enum _ecore_status_t ecore_mcp_nvm_wr_cmd(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u32 cmd,
- u32 param,
- u32 *o_mcp_resp,
- u32 *o_mcp_param,
- u32 i_txn_size,
- u32 *i_buf);
-
-/**
- * @brief - Sends an NVM read command request to the MFW to get
- * a buffer.
- *
- * @param p_hwfn
- * @param p_ptt
- * @param cmd - Command: DRV_MSG_CODE_NVM_GET_FILE_DATA or
- * DRV_MSG_CODE_NVM_READ_NVRAM commands
- * @param param - [0:23] - Offset [24:31] - Size
- * @param o_mcp_resp - MCP response
- * @param o_mcp_param - MCP response param
- * @param o_txn_size - Buffer size output
- * @param o_buf - Pointer to the buffer returned by the MFW.
- *
- * @param return ECORE_SUCCESS upon success.
- */
-enum _ecore_status_t ecore_mcp_nvm_rd_cmd(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- u32 cmd,
- u32 param,
- u32 *o_mcp_resp,
- u32 *o_mcp_param,
- u32 *o_txn_size,
- u32 *o_buf);
-
-/**
* @brief indicates whether the MFW objects [under mcp_info] are accessible
*
* @param p_hwfn
@@ -434,17 +389,6 @@ ecore_mcp_mdump_get_retain(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
struct ecore_mdump_retain_data *p_mdump_retain);
/**
- * @brief - Clear the mdump retained data.
- *
- * @param p_hwfn
- * @param p_ptt
- *
- * @param return ECORE_SUCCESS upon success.
- */
-enum _ecore_status_t ecore_mcp_mdump_clr_retain(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt);
-
-/**
* @brief - Sets the MFW's max value for the given resource
*
* @param p_hwfn
@@ -513,7 +457,12 @@ enum ecore_resc_lock {
ECORE_RESC_LOCK_PTP_PORT1,
ECORE_RESC_LOCK_PTP_PORT2,
ECORE_RESC_LOCK_PTP_PORT3,
- ECORE_RESC_LOCK_RESC_ALLOC = ECORE_MCP_RESC_LOCK_MAX_VAL
+ ECORE_RESC_LOCK_RESC_ALLOC = ECORE_MCP_RESC_LOCK_MAX_VAL,
+
+ /* A dummy value to be used for auxillary functions in need of
+ * returning an 'error' value.
+ */
+ ECORE_RESC_LOCK_RESC_INVALID,
};
struct ecore_resc_lock_params {
@@ -527,9 +476,11 @@ struct ecore_resc_lock_params {
/* Number of times to retry locking */
u8 retry_num;
+#define ECORE_MCP_RESC_LOCK_RETRY_CNT_DFLT 10
/* The interval in usec between retries */
u16 retry_interval;
+#define ECORE_MCP_RESC_LOCK_RETRY_VAL_DFLT 10000
/* Use sleep or delay between retries */
bool sleep_b4_retry;
@@ -580,6 +531,19 @@ enum _ecore_status_t
ecore_mcp_resc_unlock(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
struct ecore_resc_unlock_params *p_params);
+/**
+ * @brief - default initialization for lock/unlock resource structs
+ *
+ * @param p_lock - lock params struct to be initialized; Can be OSAL_NULL
+ * @param p_unlock - unlock params struct to be initialized; Can be OSAL_NULL
+ * @param resource - the requested resource
+ * @paral b_is_permanent - disable retries & aging when set
+ */
+void ecore_mcp_resc_lock_default_init(struct ecore_resc_lock_params *p_lock,
+ struct ecore_resc_unlock_params *p_unlock,
+ enum ecore_resc_lock resource,
+ bool b_is_permanent);
+
void ecore_mcp_wol_wr(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
u32 offset, u32 val);
diff --git a/sys/dev/qlnx/qlnxe/ecore_mcp_api.h b/sys/dev/qlnx/qlnxe/ecore_mcp_api.h
index 896d004..a60e512 100644
--- a/sys/dev/qlnx/qlnxe/ecore_mcp_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_mcp_api.h
@@ -51,6 +51,7 @@ enum ecore_mcp_eee_mode {
ECORE_MCP_EEE_UNSUPPORTED
};
+#ifndef __EXTRACT__LINUX__
struct ecore_link_eee_params {
u32 tx_lpi_timer;
#define ECORE_EEE_1G_ADV (1 << 0)
@@ -61,6 +62,7 @@ struct ecore_link_eee_params {
bool enable;
bool tx_lpi_enable;
};
+#endif
struct ecore_mcp_link_params {
struct ecore_mcp_link_speed_params speed;
@@ -134,42 +136,13 @@ struct ecore_mcp_function_info {
u16 mtu;
};
-struct ecore_mcp_nvm_common {
- u32 offset;
- u32 param;
- u32 resp;
- u32 cmd;
-};
-
-struct ecore_mcp_nvm_rd {
- u32 *buf_size;
- u32 *buf;
-};
-
-struct ecore_mcp_nvm_wr {
- u32 buf_size;
- u32 *buf;
-};
-
-struct ecore_mcp_nvm_params {
-#define ECORE_MCP_CMD (1 << 0)
-#define ECORE_MCP_NVM_RD (1 << 1)
-#define ECORE_MCP_NVM_WR (1 << 2)
- u8 type;
-
- struct ecore_mcp_nvm_common nvm_common;
-
- union {
- struct ecore_mcp_nvm_rd nvm_rd;
- struct ecore_mcp_nvm_wr nvm_wr;
- };
-};
-
+#ifndef __EXTRACT__LINUX__
enum ecore_nvm_images {
ECORE_NVM_IMAGE_ISCSI_CFG,
ECORE_NVM_IMAGE_FCOE_CFG,
ECORE_NVM_IMAGE_MDUMP,
};
+#endif
struct ecore_mcp_drv_version {
u32 version;
@@ -238,6 +211,7 @@ enum ecore_ov_wol {
ECORE_OV_WOL_ENABLED
};
+#ifndef __EXTRACT__LINUX__
#define ECORE_MAX_NPIV_ENTRIES 128
#define ECORE_WWN_SIZE 8
struct ecore_fc_npiv_tbl {
@@ -252,6 +226,7 @@ enum ecore_led_mode {
ECORE_LED_MODE_ON,
ECORE_LED_MODE_RESTORE
};
+#endif
struct ecore_temperature_sensor {
u8 sensor_location;
@@ -312,6 +287,7 @@ struct ecore_mfw_tlv_generic {
bool tx_bytes_set;
};
+#ifndef __EXTRACT__LINUX__
struct ecore_mfw_tlv_eth {
u16 lso_maxoff_size;
bool lso_maxoff_size_set;
@@ -576,6 +552,7 @@ struct ecore_mfw_tlv_iscsi {
u64 tx_bytes;
bool tx_bytes_set;
};
+#endif
union ecore_mfw_tlv_data {
struct ecore_mfw_tlv_generic generic;
@@ -698,6 +675,7 @@ enum _ecore_status_t ecore_mcp_cmd(struct ecore_hwfn *p_hwfn,
enum _ecore_status_t ecore_mcp_drain(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt);
+#ifndef LINUX_REMOVE
/**
* @brief - return the mcp function info of the hw function
*
@@ -707,45 +685,9 @@ enum _ecore_status_t ecore_mcp_drain(struct ecore_hwfn *p_hwfn,
*/
const struct ecore_mcp_function_info
*ecore_mcp_get_function_info(struct ecore_hwfn *p_hwfn);
+#endif
-/**
- * @brief - Function for reading/manipulating the nvram. Following are supported
- * functionalities.
- * 1. Read: Read the specified nvram offset.
- * input values:
- * type - ECORE_MCP_NVM_RD
- * cmd - command code (e.g. DRV_MSG_CODE_NVM_READ_NVRAM)
- * offset - nvm offset
- *
- * output values:
- * buf - buffer
- * buf_size - buffer size
- *
- * 2. Write: Write the data at the specified nvram offset
- * input values:
- * type - ECORE_MCP_NVM_WR
- * cmd - command code (e.g. DRV_MSG_CODE_NVM_WRITE_NVRAM)
- * offset - nvm offset
- * buf - buffer
- * buf_size - buffer size
- *
- * 3. Command: Send the NVM command to MCP.
- * input values:
- * type - ECORE_MCP_CMD
- * cmd - command code (e.g. DRV_MSG_CODE_NVM_DEL_FILE)
- * offset - nvm offset
- *
- *
- * @param p_hwfn
- * @param p_ptt
- * @param params
- *
- * @return ECORE_SUCCESS - operation was successful.
- */
-enum _ecore_status_t ecore_mcp_nvm_command(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt,
- struct ecore_mcp_nvm_params *params);
-
+#ifndef LINUX_REMOVE
/**
* @brief - count number of function with a matching personality on engine.
*
@@ -759,6 +701,7 @@ enum _ecore_status_t ecore_mcp_nvm_command(struct ecore_hwfn *p_hwfn,
int ecore_mcp_get_personality_cnt(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt,
u32 personalities);
+#endif
/**
* @brief Get the flash size value
@@ -1038,6 +981,56 @@ enum _ecore_status_t ecore_mcp_get_nvm_image(struct ecore_hwfn *p_hwfn,
u8 *p_buffer, u32 buffer_len);
/**
+ * @brief - Sends an NVM write command request to the MFW with
+ * payload.
+ *
+ * @param p_hwfn
+ * @param p_ptt
+ * @param cmd - Command: Either DRV_MSG_CODE_NVM_WRITE_NVRAM or
+ * DRV_MSG_CODE_NVM_PUT_FILE_DATA
+ * @param param - [0:23] - Offset [24:31] - Size
+ * @param o_mcp_resp - MCP response
+ * @param o_mcp_param - MCP response param
+ * @param i_txn_size - Buffer size
+ * @param i_buf - Pointer to the buffer
+ *
+ * @param return ECORE_SUCCESS upon success.
+ */
+enum _ecore_status_t ecore_mcp_nvm_wr_cmd(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
+ u32 cmd,
+ u32 param,
+ u32 *o_mcp_resp,
+ u32 *o_mcp_param,
+ u32 i_txn_size,
+ u32 *i_buf);
+
+/**
+ * @brief - Sends an NVM read command request to the MFW to get
+ * a buffer.
+ *
+ * @param p_hwfn
+ * @param p_ptt
+ * @param cmd - Command: DRV_MSG_CODE_NVM_GET_FILE_DATA or
+ * DRV_MSG_CODE_NVM_READ_NVRAM commands
+ * @param param - [0:23] - Offset [24:31] - Size
+ * @param o_mcp_resp - MCP response
+ * @param o_mcp_param - MCP response param
+ * @param o_txn_size - Buffer size output
+ * @param o_buf - Pointer to the buffer returned by the MFW.
+ *
+ * @param return ECORE_SUCCESS upon success.
+ */
+enum _ecore_status_t ecore_mcp_nvm_rd_cmd(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
+ u32 cmd,
+ u32 param,
+ u32 *o_mcp_resp,
+ u32 *o_mcp_param,
+ u32 *o_txn_size,
+ u32 *o_buf);
+
+/**
* @brief Read from sfp
*
* @param p_hwfn - hw function
@@ -1246,6 +1239,17 @@ enum _ecore_status_t ecore_mcp_mdump_clear_logs(struct ecore_hwfn *p_hwfn,
struct ecore_ptt *p_ptt);
/**
+ * @brief - Clear the mdump retained data.
+ *
+ * @param p_hwfn
+ * @param p_ptt
+ *
+ * @param return ECORE_SUCCESS upon success.
+ */
+enum _ecore_status_t ecore_mcp_mdump_clr_retain(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt);
+
+/**
* @brief - Gets the LLDP MAC address.
*
* @param p_hwfn
diff --git a/sys/dev/qlnx/qlnxe/ecore_ooo.h b/sys/dev/qlnx/qlnxe/ecore_ooo.h
index 6d658c3..d8473da 100644
--- a/sys/dev/qlnx/qlnxe/ecore_ooo.h
+++ b/sys/dev/qlnx/qlnxe/ecore_ooo.h
@@ -85,33 +85,25 @@ void ecore_ooo_setup(struct ecore_hwfn *p_hwfn);
void ecore_ooo_free(struct ecore_hwfn *p_hwfn);
-void ecore_ooo_save_history_entry(struct ecore_hwfn *p_hwfn,
- struct ecore_ooo_info *p_ooo_info,
- struct ooo_opaque *p_cqe);
+void ecore_ooo_save_history_entry(struct ecore_ooo_info *p_ooo_info,
+ struct ooo_opaque *p_cqe);
-void ecore_ooo_release_connection_isles(struct ecore_hwfn *p_hwfn,
- struct ecore_ooo_info *p_ooo_info,
- u32 cid);
+void ecore_ooo_release_connection_isles(struct ecore_ooo_info *p_ooo_info,
+ u32 cid);
-void ecore_ooo_release_all_isles(struct ecore_hwfn *p_hwfn,
- struct ecore_ooo_info *p_ooo_info);
+void ecore_ooo_release_all_isles(struct ecore_ooo_info *p_ooo_info);
-void ecore_ooo_put_free_buffer(struct ecore_hwfn *p_hwfn,
- struct ecore_ooo_info *p_ooo_info,
- struct ecore_ooo_buffer *p_buffer);
+void ecore_ooo_put_free_buffer(struct ecore_ooo_info *p_ooo_info,
+ struct ecore_ooo_buffer *p_buffer);
struct ecore_ooo_buffer *
- ecore_ooo_get_free_buffer(struct ecore_hwfn *p_hwfn,
- struct ecore_ooo_info *p_ooo_info);
+ecore_ooo_get_free_buffer(struct ecore_ooo_info *p_ooo_info);
-void ecore_ooo_put_ready_buffer(struct ecore_hwfn *p_hwfn,
- struct ecore_ooo_info *p_ooo_info,
- struct ecore_ooo_buffer *p_buffer,
- u8 on_tail);
+void ecore_ooo_put_ready_buffer(struct ecore_ooo_info *p_ooo_info,
+ struct ecore_ooo_buffer *p_buffer, u8 on_tail);
struct ecore_ooo_buffer *
- ecore_ooo_get_ready_buffer(struct ecore_hwfn *p_hwfn,
- struct ecore_ooo_info *p_ooo_info);
+ecore_ooo_get_ready_buffer(struct ecore_ooo_info *p_ooo_info);
void ecore_ooo_delete_isles(struct ecore_hwfn *p_hwfn,
struct ecore_ooo_info *p_ooo_info,
diff --git a/sys/dev/qlnx/qlnxe/ecore_proto_if.h b/sys/dev/qlnx/qlnxe/ecore_proto_if.h
index 8fb2ac6..0b3858c 100644
--- a/sys/dev/qlnx/qlnxe/ecore_proto_if.h
+++ b/sys/dev/qlnx/qlnxe/ecore_proto_if.h
@@ -92,7 +92,7 @@ struct ecore_fcoe_pf_params {
struct ecore_iscsi_pf_params {
u64 glbl_q_params_addr;
- u64 bdq_pbl_base_addr[2];
+ u64 bdq_pbl_base_addr[3];
u16 cq_num_entries;
u16 cmdq_num_entries;
u32 two_msl_timer;
@@ -106,8 +106,8 @@ struct ecore_iscsi_pf_params {
/* The following parameters are used during protocol-init */
u16 half_way_close_timeout;
- u16 bdq_xoff_threshold[2];
- u16 bdq_xon_threshold[2];
+ u16 bdq_xoff_threshold[3];
+ u16 bdq_xon_threshold[3];
u16 cmdq_xoff_threshold;
u16 cmdq_xon_threshold;
u16 rq_buffer_size;
@@ -126,7 +126,8 @@ struct ecore_iscsi_pf_params {
u8 ooo_enable;
u8 is_target;
- u8 bdq_pbl_num_entries[2];
+ u8 is_tmwo_en;
+ u8 bdq_pbl_num_entries[3];
};
enum ecore_rdma_protocol {
diff --git a/sys/dev/qlnx/qlnxe/ecore_roce.h b/sys/dev/qlnx/qlnxe/ecore_roce.h
index 0b127d9..8031711 100644
--- a/sys/dev/qlnx/qlnxe/ecore_roce.h
+++ b/sys/dev/qlnx/qlnxe/ecore_roce.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_RDMA_H__
#define __ECORE_RDMA_H__
@@ -100,11 +99,14 @@ void ecore_rdma_dpm_bar(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt);
#ifdef CONFIG_ECORE_IWARP
+#define ECORE_IWARP_PREALLOC_CNT (256)
+
#define ECORE_IWARP_LL2_SYN_TX_SIZE (128)
#define ECORE_IWARP_LL2_SYN_RX_SIZE (256)
#define ECORE_IWARP_LL2_OOO_DEF_TX_SIZE (256)
#define ECORE_IWARP_LL2_OOO_DEF_RX_SIZE (4096)
+#define ECORE_IWARP_LL2_OOO_MAX_RX_SIZE (16384)
#define ECORE_IWARP_MAX_SYN_PKT_SIZE (128)
#define ECORE_IWARP_HANDLE_INVAL (0xff)
@@ -309,6 +311,13 @@ union async_output {
struct iwarp_eqe_data_tcp_async_completion mpa_request;
};
+#define ECORE_MAX_PRIV_DATA_LEN (512)
+struct ecore_iwarp_ep_memory {
+ u8 in_pdata[ECORE_MAX_PRIV_DATA_LEN];
+ u8 out_pdata[ECORE_MAX_PRIV_DATA_LEN];
+ union async_output async_output;
+};
+
/* Endpoint structure represents a TCP connection. This connection can be
* associated with a QP or not (in which case QP==NULL)
*/
@@ -322,16 +331,9 @@ struct ecore_iwarp_ep {
* only one actually allocated and freed. The rest are pointers into
* this buffer
*/
- void *ep_buffer_virt;
+ struct ecore_iwarp_ep_memory *ep_buffer_virt;
dma_addr_t ep_buffer_phys;
- /* Asynce EQE events contain only the ep pointer on the completion. The
- * rest of the data is written to an output buffer pre-allocated by
- * the driver. This buffer points to a location in the ep_buffer.
- */
- union async_output *async_output_virt;
- dma_addr_t async_output_phys;
-
struct ecore_iwarp_cm_info cm_info;
enum tcp_connect_mode connect_mode;
enum mpa_rtr_type rtr_type;
diff --git a/sys/dev/qlnx/qlnxe/ecore_roce_api.h b/sys/dev/qlnx/qlnxe/ecore_roce_api.h
index d54a739..f54249f 100644
--- a/sys/dev/qlnx/qlnxe/ecore_roce_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_roce_api.h
@@ -31,8 +31,11 @@
#ifndef __ECORE_RDMA_API_H__
#define __ECORE_RDMA_API_H__
+#ifndef LINUX_REMOVE
#define ETH_ALEN 6
+#endif
+#ifndef __EXTRACT__LINUX__
enum ecore_roce_ll2_tx_dest
{
@@ -324,6 +327,7 @@ struct ecore_rdma_create_cq_in_params {
u16 int_timeout;
};
+#endif
struct ecore_rdma_resize_cq_in_params {
/* input variables (given by miniport) */
@@ -338,6 +342,7 @@ struct ecore_rdma_resize_cq_in_params {
*/
};
+#ifndef __EXTRACT__LINUX__
enum roce_mode
{
@@ -546,6 +551,7 @@ struct ecore_rdma_modify_srq_in_params {
u32 wqe_limit;
u16 srq_id;
};
+#endif
struct ecore_rdma_resize_cq_out_params {
/* output variables, provided to the upper layer */
@@ -562,6 +568,7 @@ struct ecore_rdma_resize_cnq_in_params {
u64 pbl_ptr;
};
+#ifndef __EXTRACT__LINUX__
struct ecore_rdma_stats_out_params {
u64 sent_bytes;
u64 sent_pkts;
@@ -592,6 +599,7 @@ struct ecore_rdma_counters_out_params {
u64 tid_count;
u64 max_tid;
};
+#endif
enum _ecore_status_t
ecore_rdma_add_user(void *rdma_cxt,
@@ -699,16 +707,30 @@ ecore_rdma_query_counters(void *rdma_cxt,
u32 ecore_rdma_get_sb_id(void *p_hwfn, u32 rel_sb_id);
-u32 ecore_rdma_query_cau_timer_res(void *p_hwfn);
+u32 ecore_rdma_query_cau_timer_res(void);
void ecore_rdma_cnq_prod_update(void *rdma_cxt, u8 cnq_index, u16 prod);
void ecore_rdma_resc_free(struct ecore_hwfn *p_hwfn);
+enum _ecore_status_t
+ecore_rdma_create_srq(void *rdma_cxt,
+ struct ecore_rdma_create_srq_in_params *in_params,
+ struct ecore_rdma_create_srq_out_params *out_params);
+
+enum _ecore_status_t
+ecore_rdma_destroy_srq(void *rdma_cxt,
+ struct ecore_rdma_destroy_srq_in_params *in_params);
+
+enum _ecore_status_t
+ecore_rdma_modify_srq(void *rdma_cxt,
+ struct ecore_rdma_modify_srq_in_params *in_params);
+
#ifdef CONFIG_ECORE_IWARP
/* iWARP API */
+#ifndef __EXTRACT__LINUX__
enum ecore_iwarp_event_type {
ECORE_IWARP_EVENT_MPA_REQUEST, /* Passive side request received */
@@ -832,6 +854,7 @@ struct ecore_iwarp_tcp_abort_in {
void *ep_context;
};
+#endif
enum _ecore_status_t
ecore_iwarp_connect(void *rdma_cxt,
diff --git a/sys/dev/qlnx/qlnxe/ecore_rt_defs.h b/sys/dev/qlnx/qlnxe/ecore_rt_defs.h
index 9dd3dbe..7ccaf25 100644
--- a/sys/dev/qlnx/qlnxe/ecore_rt_defs.h
+++ b/sys/dev/qlnx/qlnxe/ecore_rt_defs.h
@@ -28,6 +28,7 @@
*
*/
+
#ifndef __RT_DEFS_H__
#define __RT_DEFS_H__
@@ -57,417 +58,417 @@
#define IGU_REG_LEADING_EDGE_LATCH_RT_OFFSET 22
#define IGU_REG_TRAILING_EDGE_LATCH_RT_OFFSET 23
#define CAU_REG_CQE_AGG_UNIT_SIZE_RT_OFFSET 24
-#define CAU_REG_SB_VAR_MEMORY_RT_OFFSET 761
-#define CAU_REG_SB_VAR_MEMORY_RT_SIZE 736
-#define CAU_REG_SB_VAR_MEMORY_RT_OFFSET 761
-#define CAU_REG_SB_VAR_MEMORY_RT_SIZE 736
-#define CAU_REG_SB_ADDR_MEMORY_RT_OFFSET 1497
-#define CAU_REG_SB_ADDR_MEMORY_RT_SIZE 736
-#define CAU_REG_PI_MEMORY_RT_OFFSET 2233
+#define CAU_REG_SB_VAR_MEMORY_RT_OFFSET 1049
+#define CAU_REG_SB_VAR_MEMORY_RT_SIZE 1024
+#define CAU_REG_SB_VAR_MEMORY_RT_OFFSET 1049
+#define CAU_REG_SB_VAR_MEMORY_RT_SIZE 1024
+#define CAU_REG_SB_ADDR_MEMORY_RT_OFFSET 2073
+#define CAU_REG_SB_ADDR_MEMORY_RT_SIZE 1024
+#define CAU_REG_PI_MEMORY_RT_OFFSET 3097
#define CAU_REG_PI_MEMORY_RT_SIZE 4416
-#define PRS_REG_SEARCH_RESP_INITIATOR_TYPE_RT_OFFSET 6649
-#define PRS_REG_TASK_ID_MAX_INITIATOR_PF_RT_OFFSET 6650
-#define PRS_REG_TASK_ID_MAX_INITIATOR_VF_RT_OFFSET 6651
-#define PRS_REG_TASK_ID_MAX_TARGET_PF_RT_OFFSET 6652
-#define PRS_REG_TASK_ID_MAX_TARGET_VF_RT_OFFSET 6653
-#define PRS_REG_SEARCH_TCP_RT_OFFSET 6654
-#define PRS_REG_SEARCH_FCOE_RT_OFFSET 6655
-#define PRS_REG_SEARCH_ROCE_RT_OFFSET 6656
-#define PRS_REG_ROCE_DEST_QP_MAX_VF_RT_OFFSET 6657
-#define PRS_REG_ROCE_DEST_QP_MAX_PF_RT_OFFSET 6658
-#define PRS_REG_SEARCH_OPENFLOW_RT_OFFSET 6659
-#define PRS_REG_SEARCH_NON_IP_AS_OPENFLOW_RT_OFFSET 6660
-#define PRS_REG_OPENFLOW_SUPPORT_ONLY_KNOWN_OVER_IP_RT_OFFSET 6661
-#define PRS_REG_OPENFLOW_SEARCH_KEY_MASK_RT_OFFSET 6662
-#define PRS_REG_TAG_ETHERTYPE_0_RT_OFFSET 6663
-#define PRS_REG_LIGHT_L2_ETHERTYPE_EN_RT_OFFSET 6664
-#define SRC_REG_FIRSTFREE_RT_OFFSET 6665
+#define PRS_REG_SEARCH_RESP_INITIATOR_TYPE_RT_OFFSET 7513
+#define PRS_REG_TASK_ID_MAX_INITIATOR_PF_RT_OFFSET 7514
+#define PRS_REG_TASK_ID_MAX_INITIATOR_VF_RT_OFFSET 7515
+#define PRS_REG_TASK_ID_MAX_TARGET_PF_RT_OFFSET 7516
+#define PRS_REG_TASK_ID_MAX_TARGET_VF_RT_OFFSET 7517
+#define PRS_REG_SEARCH_TCP_RT_OFFSET 7518
+#define PRS_REG_SEARCH_FCOE_RT_OFFSET 7519
+#define PRS_REG_SEARCH_ROCE_RT_OFFSET 7520
+#define PRS_REG_ROCE_DEST_QP_MAX_VF_RT_OFFSET 7521
+#define PRS_REG_ROCE_DEST_QP_MAX_PF_RT_OFFSET 7522
+#define PRS_REG_SEARCH_OPENFLOW_RT_OFFSET 7523
+#define PRS_REG_SEARCH_NON_IP_AS_OPENFLOW_RT_OFFSET 7524
+#define PRS_REG_OPENFLOW_SUPPORT_ONLY_KNOWN_OVER_IP_RT_OFFSET 7525
+#define PRS_REG_OPENFLOW_SEARCH_KEY_MASK_RT_OFFSET 7526
+#define PRS_REG_TAG_ETHERTYPE_0_RT_OFFSET 7527
+#define PRS_REG_LIGHT_L2_ETHERTYPE_EN_RT_OFFSET 7528
+#define SRC_REG_FIRSTFREE_RT_OFFSET 7529
#define SRC_REG_FIRSTFREE_RT_SIZE 2
-#define SRC_REG_LASTFREE_RT_OFFSET 6667
+#define SRC_REG_LASTFREE_RT_OFFSET 7531
#define SRC_REG_LASTFREE_RT_SIZE 2
-#define SRC_REG_COUNTFREE_RT_OFFSET 6669
-#define SRC_REG_NUMBER_HASH_BITS_RT_OFFSET 6670
-#define PSWRQ2_REG_CDUT_P_SIZE_RT_OFFSET 6671
-#define PSWRQ2_REG_CDUC_P_SIZE_RT_OFFSET 6672
-#define PSWRQ2_REG_TM_P_SIZE_RT_OFFSET 6673
-#define PSWRQ2_REG_QM_P_SIZE_RT_OFFSET 6674
-#define PSWRQ2_REG_SRC_P_SIZE_RT_OFFSET 6675
-#define PSWRQ2_REG_TSDM_P_SIZE_RT_OFFSET 6676
-#define PSWRQ2_REG_TM_FIRST_ILT_RT_OFFSET 6677
-#define PSWRQ2_REG_TM_LAST_ILT_RT_OFFSET 6678
-#define PSWRQ2_REG_QM_FIRST_ILT_RT_OFFSET 6679
-#define PSWRQ2_REG_QM_LAST_ILT_RT_OFFSET 6680
-#define PSWRQ2_REG_SRC_FIRST_ILT_RT_OFFSET 6681
-#define PSWRQ2_REG_SRC_LAST_ILT_RT_OFFSET 6682
-#define PSWRQ2_REG_CDUC_FIRST_ILT_RT_OFFSET 6683
-#define PSWRQ2_REG_CDUC_LAST_ILT_RT_OFFSET 6684
-#define PSWRQ2_REG_CDUT_FIRST_ILT_RT_OFFSET 6685
-#define PSWRQ2_REG_CDUT_LAST_ILT_RT_OFFSET 6686
-#define PSWRQ2_REG_TSDM_FIRST_ILT_RT_OFFSET 6687
-#define PSWRQ2_REG_TSDM_LAST_ILT_RT_OFFSET 6688
-#define PSWRQ2_REG_TM_NUMBER_OF_PF_BLOCKS_RT_OFFSET 6689
-#define PSWRQ2_REG_CDUT_NUMBER_OF_PF_BLOCKS_RT_OFFSET 6690
-#define PSWRQ2_REG_CDUC_NUMBER_OF_PF_BLOCKS_RT_OFFSET 6691
-#define PSWRQ2_REG_TM_VF_BLOCKS_RT_OFFSET 6692
-#define PSWRQ2_REG_CDUT_VF_BLOCKS_RT_OFFSET 6693
-#define PSWRQ2_REG_CDUC_VF_BLOCKS_RT_OFFSET 6694
-#define PSWRQ2_REG_TM_BLOCKS_FACTOR_RT_OFFSET 6695
-#define PSWRQ2_REG_CDUT_BLOCKS_FACTOR_RT_OFFSET 6696
-#define PSWRQ2_REG_CDUC_BLOCKS_FACTOR_RT_OFFSET 6697
-#define PSWRQ2_REG_VF_BASE_RT_OFFSET 6698
-#define PSWRQ2_REG_VF_LAST_ILT_RT_OFFSET 6699
-#define PSWRQ2_REG_DRAM_ALIGN_WR_RT_OFFSET 6700
-#define PSWRQ2_REG_DRAM_ALIGN_RD_RT_OFFSET 6701
-#define PSWRQ2_REG_ILT_MEMORY_RT_OFFSET 6702
+#define SRC_REG_COUNTFREE_RT_OFFSET 7533
+#define SRC_REG_NUMBER_HASH_BITS_RT_OFFSET 7534
+#define PSWRQ2_REG_CDUT_P_SIZE_RT_OFFSET 7535
+#define PSWRQ2_REG_CDUC_P_SIZE_RT_OFFSET 7536
+#define PSWRQ2_REG_TM_P_SIZE_RT_OFFSET 7537
+#define PSWRQ2_REG_QM_P_SIZE_RT_OFFSET 7538
+#define PSWRQ2_REG_SRC_P_SIZE_RT_OFFSET 7539
+#define PSWRQ2_REG_TSDM_P_SIZE_RT_OFFSET 7540
+#define PSWRQ2_REG_TM_FIRST_ILT_RT_OFFSET 7541
+#define PSWRQ2_REG_TM_LAST_ILT_RT_OFFSET 7542
+#define PSWRQ2_REG_QM_FIRST_ILT_RT_OFFSET 7543
+#define PSWRQ2_REG_QM_LAST_ILT_RT_OFFSET 7544
+#define PSWRQ2_REG_SRC_FIRST_ILT_RT_OFFSET 7545
+#define PSWRQ2_REG_SRC_LAST_ILT_RT_OFFSET 7546
+#define PSWRQ2_REG_CDUC_FIRST_ILT_RT_OFFSET 7547
+#define PSWRQ2_REG_CDUC_LAST_ILT_RT_OFFSET 7548
+#define PSWRQ2_REG_CDUT_FIRST_ILT_RT_OFFSET 7549
+#define PSWRQ2_REG_CDUT_LAST_ILT_RT_OFFSET 7550
+#define PSWRQ2_REG_TSDM_FIRST_ILT_RT_OFFSET 7551
+#define PSWRQ2_REG_TSDM_LAST_ILT_RT_OFFSET 7552
+#define PSWRQ2_REG_TM_NUMBER_OF_PF_BLOCKS_RT_OFFSET 7553
+#define PSWRQ2_REG_CDUT_NUMBER_OF_PF_BLOCKS_RT_OFFSET 7554
+#define PSWRQ2_REG_CDUC_NUMBER_OF_PF_BLOCKS_RT_OFFSET 7555
+#define PSWRQ2_REG_TM_VF_BLOCKS_RT_OFFSET 7556
+#define PSWRQ2_REG_CDUT_VF_BLOCKS_RT_OFFSET 7557
+#define PSWRQ2_REG_CDUC_VF_BLOCKS_RT_OFFSET 7558
+#define PSWRQ2_REG_TM_BLOCKS_FACTOR_RT_OFFSET 7559
+#define PSWRQ2_REG_CDUT_BLOCKS_FACTOR_RT_OFFSET 7560
+#define PSWRQ2_REG_CDUC_BLOCKS_FACTOR_RT_OFFSET 7561
+#define PSWRQ2_REG_VF_BASE_RT_OFFSET 7562
+#define PSWRQ2_REG_VF_LAST_ILT_RT_OFFSET 7563
+#define PSWRQ2_REG_DRAM_ALIGN_WR_RT_OFFSET 7564
+#define PSWRQ2_REG_DRAM_ALIGN_RD_RT_OFFSET 7565
+#define PSWRQ2_REG_ILT_MEMORY_RT_OFFSET 7566
#define PSWRQ2_REG_ILT_MEMORY_RT_SIZE 22000
-#define PGLUE_REG_B_VF_BASE_RT_OFFSET 28702
-#define PGLUE_REG_B_MSDM_OFFSET_MASK_B_RT_OFFSET 28703
-#define PGLUE_REG_B_MSDM_VF_SHIFT_B_RT_OFFSET 28704
-#define PGLUE_REG_B_CACHE_LINE_SIZE_RT_OFFSET 28705
-#define PGLUE_REG_B_PF_BAR0_SIZE_RT_OFFSET 28706
-#define PGLUE_REG_B_PF_BAR1_SIZE_RT_OFFSET 28707
-#define PGLUE_REG_B_VF_BAR1_SIZE_RT_OFFSET 28708
-#define TM_REG_VF_ENABLE_CONN_RT_OFFSET 28709
-#define TM_REG_PF_ENABLE_CONN_RT_OFFSET 28710
-#define TM_REG_PF_ENABLE_TASK_RT_OFFSET 28711
-#define TM_REG_GROUP_SIZE_RESOLUTION_CONN_RT_OFFSET 28712
-#define TM_REG_GROUP_SIZE_RESOLUTION_TASK_RT_OFFSET 28713
-#define TM_REG_CONFIG_CONN_MEM_RT_OFFSET 28714
+#define PGLUE_REG_B_VF_BASE_RT_OFFSET 29566
+#define PGLUE_REG_B_MSDM_OFFSET_MASK_B_RT_OFFSET 29567
+#define PGLUE_REG_B_MSDM_VF_SHIFT_B_RT_OFFSET 29568
+#define PGLUE_REG_B_CACHE_LINE_SIZE_RT_OFFSET 29569
+#define PGLUE_REG_B_PF_BAR0_SIZE_RT_OFFSET 29570
+#define PGLUE_REG_B_PF_BAR1_SIZE_RT_OFFSET 29571
+#define PGLUE_REG_B_VF_BAR1_SIZE_RT_OFFSET 29572
+#define TM_REG_VF_ENABLE_CONN_RT_OFFSET 29573
+#define TM_REG_PF_ENABLE_CONN_RT_OFFSET 29574
+#define TM_REG_PF_ENABLE_TASK_RT_OFFSET 29575
+#define TM_REG_GROUP_SIZE_RESOLUTION_CONN_RT_OFFSET 29576
+#define TM_REG_GROUP_SIZE_RESOLUTION_TASK_RT_OFFSET 29577
+#define TM_REG_CONFIG_CONN_MEM_RT_OFFSET 29578
#define TM_REG_CONFIG_CONN_MEM_RT_SIZE 416
-#define TM_REG_CONFIG_TASK_MEM_RT_OFFSET 29130
+#define TM_REG_CONFIG_TASK_MEM_RT_OFFSET 29994
#define TM_REG_CONFIG_TASK_MEM_RT_SIZE 608
-#define QM_REG_MAXPQSIZE_0_RT_OFFSET 29738
-#define QM_REG_MAXPQSIZE_1_RT_OFFSET 29739
-#define QM_REG_MAXPQSIZE_2_RT_OFFSET 29740
-#define QM_REG_MAXPQSIZETXSEL_0_RT_OFFSET 29741
-#define QM_REG_MAXPQSIZETXSEL_1_RT_OFFSET 29742
-#define QM_REG_MAXPQSIZETXSEL_2_RT_OFFSET 29743
-#define QM_REG_MAXPQSIZETXSEL_3_RT_OFFSET 29744
-#define QM_REG_MAXPQSIZETXSEL_4_RT_OFFSET 29745
-#define QM_REG_MAXPQSIZETXSEL_5_RT_OFFSET 29746
-#define QM_REG_MAXPQSIZETXSEL_6_RT_OFFSET 29747
-#define QM_REG_MAXPQSIZETXSEL_7_RT_OFFSET 29748
-#define QM_REG_MAXPQSIZETXSEL_8_RT_OFFSET 29749
-#define QM_REG_MAXPQSIZETXSEL_9_RT_OFFSET 29750
-#define QM_REG_MAXPQSIZETXSEL_10_RT_OFFSET 29751
-#define QM_REG_MAXPQSIZETXSEL_11_RT_OFFSET 29752
-#define QM_REG_MAXPQSIZETXSEL_12_RT_OFFSET 29753
-#define QM_REG_MAXPQSIZETXSEL_13_RT_OFFSET 29754
-#define QM_REG_MAXPQSIZETXSEL_14_RT_OFFSET 29755
-#define QM_REG_MAXPQSIZETXSEL_15_RT_OFFSET 29756
-#define QM_REG_MAXPQSIZETXSEL_16_RT_OFFSET 29757
-#define QM_REG_MAXPQSIZETXSEL_17_RT_OFFSET 29758
-#define QM_REG_MAXPQSIZETXSEL_18_RT_OFFSET 29759
-#define QM_REG_MAXPQSIZETXSEL_19_RT_OFFSET 29760
-#define QM_REG_MAXPQSIZETXSEL_20_RT_OFFSET 29761
-#define QM_REG_MAXPQSIZETXSEL_21_RT_OFFSET 29762
-#define QM_REG_MAXPQSIZETXSEL_22_RT_OFFSET 29763
-#define QM_REG_MAXPQSIZETXSEL_23_RT_OFFSET 29764
-#define QM_REG_MAXPQSIZETXSEL_24_RT_OFFSET 29765
-#define QM_REG_MAXPQSIZETXSEL_25_RT_OFFSET 29766
-#define QM_REG_MAXPQSIZETXSEL_26_RT_OFFSET 29767
-#define QM_REG_MAXPQSIZETXSEL_27_RT_OFFSET 29768
-#define QM_REG_MAXPQSIZETXSEL_28_RT_OFFSET 29769
-#define QM_REG_MAXPQSIZETXSEL_29_RT_OFFSET 29770
-#define QM_REG_MAXPQSIZETXSEL_30_RT_OFFSET 29771
-#define QM_REG_MAXPQSIZETXSEL_31_RT_OFFSET 29772
-#define QM_REG_MAXPQSIZETXSEL_32_RT_OFFSET 29773
-#define QM_REG_MAXPQSIZETXSEL_33_RT_OFFSET 29774
-#define QM_REG_MAXPQSIZETXSEL_34_RT_OFFSET 29775
-#define QM_REG_MAXPQSIZETXSEL_35_RT_OFFSET 29776
-#define QM_REG_MAXPQSIZETXSEL_36_RT_OFFSET 29777
-#define QM_REG_MAXPQSIZETXSEL_37_RT_OFFSET 29778
-#define QM_REG_MAXPQSIZETXSEL_38_RT_OFFSET 29779
-#define QM_REG_MAXPQSIZETXSEL_39_RT_OFFSET 29780
-#define QM_REG_MAXPQSIZETXSEL_40_RT_OFFSET 29781
-#define QM_REG_MAXPQSIZETXSEL_41_RT_OFFSET 29782
-#define QM_REG_MAXPQSIZETXSEL_42_RT_OFFSET 29783
-#define QM_REG_MAXPQSIZETXSEL_43_RT_OFFSET 29784
-#define QM_REG_MAXPQSIZETXSEL_44_RT_OFFSET 29785
-#define QM_REG_MAXPQSIZETXSEL_45_RT_OFFSET 29786
-#define QM_REG_MAXPQSIZETXSEL_46_RT_OFFSET 29787
-#define QM_REG_MAXPQSIZETXSEL_47_RT_OFFSET 29788
-#define QM_REG_MAXPQSIZETXSEL_48_RT_OFFSET 29789
-#define QM_REG_MAXPQSIZETXSEL_49_RT_OFFSET 29790
-#define QM_REG_MAXPQSIZETXSEL_50_RT_OFFSET 29791
-#define QM_REG_MAXPQSIZETXSEL_51_RT_OFFSET 29792
-#define QM_REG_MAXPQSIZETXSEL_52_RT_OFFSET 29793
-#define QM_REG_MAXPQSIZETXSEL_53_RT_OFFSET 29794
-#define QM_REG_MAXPQSIZETXSEL_54_RT_OFFSET 29795
-#define QM_REG_MAXPQSIZETXSEL_55_RT_OFFSET 29796
-#define QM_REG_MAXPQSIZETXSEL_56_RT_OFFSET 29797
-#define QM_REG_MAXPQSIZETXSEL_57_RT_OFFSET 29798
-#define QM_REG_MAXPQSIZETXSEL_58_RT_OFFSET 29799
-#define QM_REG_MAXPQSIZETXSEL_59_RT_OFFSET 29800
-#define QM_REG_MAXPQSIZETXSEL_60_RT_OFFSET 29801
-#define QM_REG_MAXPQSIZETXSEL_61_RT_OFFSET 29802
-#define QM_REG_MAXPQSIZETXSEL_62_RT_OFFSET 29803
-#define QM_REG_MAXPQSIZETXSEL_63_RT_OFFSET 29804
-#define QM_REG_BASEADDROTHERPQ_RT_OFFSET 29805
+#define QM_REG_MAXPQSIZE_0_RT_OFFSET 30602
+#define QM_REG_MAXPQSIZE_1_RT_OFFSET 30603
+#define QM_REG_MAXPQSIZE_2_RT_OFFSET 30604
+#define QM_REG_MAXPQSIZETXSEL_0_RT_OFFSET 30605
+#define QM_REG_MAXPQSIZETXSEL_1_RT_OFFSET 30606
+#define QM_REG_MAXPQSIZETXSEL_2_RT_OFFSET 30607
+#define QM_REG_MAXPQSIZETXSEL_3_RT_OFFSET 30608
+#define QM_REG_MAXPQSIZETXSEL_4_RT_OFFSET 30609
+#define QM_REG_MAXPQSIZETXSEL_5_RT_OFFSET 30610
+#define QM_REG_MAXPQSIZETXSEL_6_RT_OFFSET 30611
+#define QM_REG_MAXPQSIZETXSEL_7_RT_OFFSET 30612
+#define QM_REG_MAXPQSIZETXSEL_8_RT_OFFSET 30613
+#define QM_REG_MAXPQSIZETXSEL_9_RT_OFFSET 30614
+#define QM_REG_MAXPQSIZETXSEL_10_RT_OFFSET 30615
+#define QM_REG_MAXPQSIZETXSEL_11_RT_OFFSET 30616
+#define QM_REG_MAXPQSIZETXSEL_12_RT_OFFSET 30617
+#define QM_REG_MAXPQSIZETXSEL_13_RT_OFFSET 30618
+#define QM_REG_MAXPQSIZETXSEL_14_RT_OFFSET 30619
+#define QM_REG_MAXPQSIZETXSEL_15_RT_OFFSET 30620
+#define QM_REG_MAXPQSIZETXSEL_16_RT_OFFSET 30621
+#define QM_REG_MAXPQSIZETXSEL_17_RT_OFFSET 30622
+#define QM_REG_MAXPQSIZETXSEL_18_RT_OFFSET 30623
+#define QM_REG_MAXPQSIZETXSEL_19_RT_OFFSET 30624
+#define QM_REG_MAXPQSIZETXSEL_20_RT_OFFSET 30625
+#define QM_REG_MAXPQSIZETXSEL_21_RT_OFFSET 30626
+#define QM_REG_MAXPQSIZETXSEL_22_RT_OFFSET 30627
+#define QM_REG_MAXPQSIZETXSEL_23_RT_OFFSET 30628
+#define QM_REG_MAXPQSIZETXSEL_24_RT_OFFSET 30629
+#define QM_REG_MAXPQSIZETXSEL_25_RT_OFFSET 30630
+#define QM_REG_MAXPQSIZETXSEL_26_RT_OFFSET 30631
+#define QM_REG_MAXPQSIZETXSEL_27_RT_OFFSET 30632
+#define QM_REG_MAXPQSIZETXSEL_28_RT_OFFSET 30633
+#define QM_REG_MAXPQSIZETXSEL_29_RT_OFFSET 30634
+#define QM_REG_MAXPQSIZETXSEL_30_RT_OFFSET 30635
+#define QM_REG_MAXPQSIZETXSEL_31_RT_OFFSET 30636
+#define QM_REG_MAXPQSIZETXSEL_32_RT_OFFSET 30637
+#define QM_REG_MAXPQSIZETXSEL_33_RT_OFFSET 30638
+#define QM_REG_MAXPQSIZETXSEL_34_RT_OFFSET 30639
+#define QM_REG_MAXPQSIZETXSEL_35_RT_OFFSET 30640
+#define QM_REG_MAXPQSIZETXSEL_36_RT_OFFSET 30641
+#define QM_REG_MAXPQSIZETXSEL_37_RT_OFFSET 30642
+#define QM_REG_MAXPQSIZETXSEL_38_RT_OFFSET 30643
+#define QM_REG_MAXPQSIZETXSEL_39_RT_OFFSET 30644
+#define QM_REG_MAXPQSIZETXSEL_40_RT_OFFSET 30645
+#define QM_REG_MAXPQSIZETXSEL_41_RT_OFFSET 30646
+#define QM_REG_MAXPQSIZETXSEL_42_RT_OFFSET 30647
+#define QM_REG_MAXPQSIZETXSEL_43_RT_OFFSET 30648
+#define QM_REG_MAXPQSIZETXSEL_44_RT_OFFSET 30649
+#define QM_REG_MAXPQSIZETXSEL_45_RT_OFFSET 30650
+#define QM_REG_MAXPQSIZETXSEL_46_RT_OFFSET 30651
+#define QM_REG_MAXPQSIZETXSEL_47_RT_OFFSET 30652
+#define QM_REG_MAXPQSIZETXSEL_48_RT_OFFSET 30653
+#define QM_REG_MAXPQSIZETXSEL_49_RT_OFFSET 30654
+#define QM_REG_MAXPQSIZETXSEL_50_RT_OFFSET 30655
+#define QM_REG_MAXPQSIZETXSEL_51_RT_OFFSET 30656
+#define QM_REG_MAXPQSIZETXSEL_52_RT_OFFSET 30657
+#define QM_REG_MAXPQSIZETXSEL_53_RT_OFFSET 30658
+#define QM_REG_MAXPQSIZETXSEL_54_RT_OFFSET 30659
+#define QM_REG_MAXPQSIZETXSEL_55_RT_OFFSET 30660
+#define QM_REG_MAXPQSIZETXSEL_56_RT_OFFSET 30661
+#define QM_REG_MAXPQSIZETXSEL_57_RT_OFFSET 30662
+#define QM_REG_MAXPQSIZETXSEL_58_RT_OFFSET 30663
+#define QM_REG_MAXPQSIZETXSEL_59_RT_OFFSET 30664
+#define QM_REG_MAXPQSIZETXSEL_60_RT_OFFSET 30665
+#define QM_REG_MAXPQSIZETXSEL_61_RT_OFFSET 30666
+#define QM_REG_MAXPQSIZETXSEL_62_RT_OFFSET 30667
+#define QM_REG_MAXPQSIZETXSEL_63_RT_OFFSET 30668
+#define QM_REG_BASEADDROTHERPQ_RT_OFFSET 30669
#define QM_REG_BASEADDROTHERPQ_RT_SIZE 128
-#define QM_REG_AFULLQMBYPTHRPFWFQ_RT_OFFSET 29933
-#define QM_REG_AFULLQMBYPTHRVPWFQ_RT_OFFSET 29934
-#define QM_REG_AFULLQMBYPTHRPFRL_RT_OFFSET 29935
-#define QM_REG_AFULLQMBYPTHRGLBLRL_RT_OFFSET 29936
-#define QM_REG_AFULLOPRTNSTCCRDMASK_RT_OFFSET 29937
-#define QM_REG_WRROTHERPQGRP_0_RT_OFFSET 29938
-#define QM_REG_WRROTHERPQGRP_1_RT_OFFSET 29939
-#define QM_REG_WRROTHERPQGRP_2_RT_OFFSET 29940
-#define QM_REG_WRROTHERPQGRP_3_RT_OFFSET 29941
-#define QM_REG_WRROTHERPQGRP_4_RT_OFFSET 29942
-#define QM_REG_WRROTHERPQGRP_5_RT_OFFSET 29943
-#define QM_REG_WRROTHERPQGRP_6_RT_OFFSET 29944
-#define QM_REG_WRROTHERPQGRP_7_RT_OFFSET 29945
-#define QM_REG_WRROTHERPQGRP_8_RT_OFFSET 29946
-#define QM_REG_WRROTHERPQGRP_9_RT_OFFSET 29947
-#define QM_REG_WRROTHERPQGRP_10_RT_OFFSET 29948
-#define QM_REG_WRROTHERPQGRP_11_RT_OFFSET 29949
-#define QM_REG_WRROTHERPQGRP_12_RT_OFFSET 29950
-#define QM_REG_WRROTHERPQGRP_13_RT_OFFSET 29951
-#define QM_REG_WRROTHERPQGRP_14_RT_OFFSET 29952
-#define QM_REG_WRROTHERPQGRP_15_RT_OFFSET 29953
-#define QM_REG_WRROTHERGRPWEIGHT_0_RT_OFFSET 29954
-#define QM_REG_WRROTHERGRPWEIGHT_1_RT_OFFSET 29955
-#define QM_REG_WRROTHERGRPWEIGHT_2_RT_OFFSET 29956
-#define QM_REG_WRROTHERGRPWEIGHT_3_RT_OFFSET 29957
-#define QM_REG_WRRTXGRPWEIGHT_0_RT_OFFSET 29958
-#define QM_REG_WRRTXGRPWEIGHT_1_RT_OFFSET 29959
-#define QM_REG_PQTX2PF_0_RT_OFFSET 29960
-#define QM_REG_PQTX2PF_1_RT_OFFSET 29961
-#define QM_REG_PQTX2PF_2_RT_OFFSET 29962
-#define QM_REG_PQTX2PF_3_RT_OFFSET 29963
-#define QM_REG_PQTX2PF_4_RT_OFFSET 29964
-#define QM_REG_PQTX2PF_5_RT_OFFSET 29965
-#define QM_REG_PQTX2PF_6_RT_OFFSET 29966
-#define QM_REG_PQTX2PF_7_RT_OFFSET 29967
-#define QM_REG_PQTX2PF_8_RT_OFFSET 29968
-#define QM_REG_PQTX2PF_9_RT_OFFSET 29969
-#define QM_REG_PQTX2PF_10_RT_OFFSET 29970
-#define QM_REG_PQTX2PF_11_RT_OFFSET 29971
-#define QM_REG_PQTX2PF_12_RT_OFFSET 29972
-#define QM_REG_PQTX2PF_13_RT_OFFSET 29973
-#define QM_REG_PQTX2PF_14_RT_OFFSET 29974
-#define QM_REG_PQTX2PF_15_RT_OFFSET 29975
-#define QM_REG_PQTX2PF_16_RT_OFFSET 29976
-#define QM_REG_PQTX2PF_17_RT_OFFSET 29977
-#define QM_REG_PQTX2PF_18_RT_OFFSET 29978
-#define QM_REG_PQTX2PF_19_RT_OFFSET 29979
-#define QM_REG_PQTX2PF_20_RT_OFFSET 29980
-#define QM_REG_PQTX2PF_21_RT_OFFSET 29981
-#define QM_REG_PQTX2PF_22_RT_OFFSET 29982
-#define QM_REG_PQTX2PF_23_RT_OFFSET 29983
-#define QM_REG_PQTX2PF_24_RT_OFFSET 29984
-#define QM_REG_PQTX2PF_25_RT_OFFSET 29985
-#define QM_REG_PQTX2PF_26_RT_OFFSET 29986
-#define QM_REG_PQTX2PF_27_RT_OFFSET 29987
-#define QM_REG_PQTX2PF_28_RT_OFFSET 29988
-#define QM_REG_PQTX2PF_29_RT_OFFSET 29989
-#define QM_REG_PQTX2PF_30_RT_OFFSET 29990
-#define QM_REG_PQTX2PF_31_RT_OFFSET 29991
-#define QM_REG_PQTX2PF_32_RT_OFFSET 29992
-#define QM_REG_PQTX2PF_33_RT_OFFSET 29993
-#define QM_REG_PQTX2PF_34_RT_OFFSET 29994
-#define QM_REG_PQTX2PF_35_RT_OFFSET 29995
-#define QM_REG_PQTX2PF_36_RT_OFFSET 29996
-#define QM_REG_PQTX2PF_37_RT_OFFSET 29997
-#define QM_REG_PQTX2PF_38_RT_OFFSET 29998
-#define QM_REG_PQTX2PF_39_RT_OFFSET 29999
-#define QM_REG_PQTX2PF_40_RT_OFFSET 30000
-#define QM_REG_PQTX2PF_41_RT_OFFSET 30001
-#define QM_REG_PQTX2PF_42_RT_OFFSET 30002
-#define QM_REG_PQTX2PF_43_RT_OFFSET 30003
-#define QM_REG_PQTX2PF_44_RT_OFFSET 30004
-#define QM_REG_PQTX2PF_45_RT_OFFSET 30005
-#define QM_REG_PQTX2PF_46_RT_OFFSET 30006
-#define QM_REG_PQTX2PF_47_RT_OFFSET 30007
-#define QM_REG_PQTX2PF_48_RT_OFFSET 30008
-#define QM_REG_PQTX2PF_49_RT_OFFSET 30009
-#define QM_REG_PQTX2PF_50_RT_OFFSET 30010
-#define QM_REG_PQTX2PF_51_RT_OFFSET 30011
-#define QM_REG_PQTX2PF_52_RT_OFFSET 30012
-#define QM_REG_PQTX2PF_53_RT_OFFSET 30013
-#define QM_REG_PQTX2PF_54_RT_OFFSET 30014
-#define QM_REG_PQTX2PF_55_RT_OFFSET 30015
-#define QM_REG_PQTX2PF_56_RT_OFFSET 30016
-#define QM_REG_PQTX2PF_57_RT_OFFSET 30017
-#define QM_REG_PQTX2PF_58_RT_OFFSET 30018
-#define QM_REG_PQTX2PF_59_RT_OFFSET 30019
-#define QM_REG_PQTX2PF_60_RT_OFFSET 30020
-#define QM_REG_PQTX2PF_61_RT_OFFSET 30021
-#define QM_REG_PQTX2PF_62_RT_OFFSET 30022
-#define QM_REG_PQTX2PF_63_RT_OFFSET 30023
-#define QM_REG_PQOTHER2PF_0_RT_OFFSET 30024
-#define QM_REG_PQOTHER2PF_1_RT_OFFSET 30025
-#define QM_REG_PQOTHER2PF_2_RT_OFFSET 30026
-#define QM_REG_PQOTHER2PF_3_RT_OFFSET 30027
-#define QM_REG_PQOTHER2PF_4_RT_OFFSET 30028
-#define QM_REG_PQOTHER2PF_5_RT_OFFSET 30029
-#define QM_REG_PQOTHER2PF_6_RT_OFFSET 30030
-#define QM_REG_PQOTHER2PF_7_RT_OFFSET 30031
-#define QM_REG_PQOTHER2PF_8_RT_OFFSET 30032
-#define QM_REG_PQOTHER2PF_9_RT_OFFSET 30033
-#define QM_REG_PQOTHER2PF_10_RT_OFFSET 30034
-#define QM_REG_PQOTHER2PF_11_RT_OFFSET 30035
-#define QM_REG_PQOTHER2PF_12_RT_OFFSET 30036
-#define QM_REG_PQOTHER2PF_13_RT_OFFSET 30037
-#define QM_REG_PQOTHER2PF_14_RT_OFFSET 30038
-#define QM_REG_PQOTHER2PF_15_RT_OFFSET 30039
-#define QM_REG_RLGLBLPERIOD_0_RT_OFFSET 30040
-#define QM_REG_RLGLBLPERIOD_1_RT_OFFSET 30041
-#define QM_REG_RLGLBLPERIODTIMER_0_RT_OFFSET 30042
-#define QM_REG_RLGLBLPERIODTIMER_1_RT_OFFSET 30043
-#define QM_REG_RLGLBLPERIODSEL_0_RT_OFFSET 30044
-#define QM_REG_RLGLBLPERIODSEL_1_RT_OFFSET 30045
-#define QM_REG_RLGLBLPERIODSEL_2_RT_OFFSET 30046
-#define QM_REG_RLGLBLPERIODSEL_3_RT_OFFSET 30047
-#define QM_REG_RLGLBLPERIODSEL_4_RT_OFFSET 30048
-#define QM_REG_RLGLBLPERIODSEL_5_RT_OFFSET 30049
-#define QM_REG_RLGLBLPERIODSEL_6_RT_OFFSET 30050
-#define QM_REG_RLGLBLPERIODSEL_7_RT_OFFSET 30051
-#define QM_REG_RLGLBLINCVAL_RT_OFFSET 30052
+#define QM_REG_AFULLQMBYPTHRPFWFQ_RT_OFFSET 30797
+#define QM_REG_AFULLQMBYPTHRVPWFQ_RT_OFFSET 30798
+#define QM_REG_AFULLQMBYPTHRPFRL_RT_OFFSET 30799
+#define QM_REG_AFULLQMBYPTHRGLBLRL_RT_OFFSET 30800
+#define QM_REG_AFULLOPRTNSTCCRDMASK_RT_OFFSET 30801
+#define QM_REG_WRROTHERPQGRP_0_RT_OFFSET 30802
+#define QM_REG_WRROTHERPQGRP_1_RT_OFFSET 30803
+#define QM_REG_WRROTHERPQGRP_2_RT_OFFSET 30804
+#define QM_REG_WRROTHERPQGRP_3_RT_OFFSET 30805
+#define QM_REG_WRROTHERPQGRP_4_RT_OFFSET 30806
+#define QM_REG_WRROTHERPQGRP_5_RT_OFFSET 30807
+#define QM_REG_WRROTHERPQGRP_6_RT_OFFSET 30808
+#define QM_REG_WRROTHERPQGRP_7_RT_OFFSET 30809
+#define QM_REG_WRROTHERPQGRP_8_RT_OFFSET 30810
+#define QM_REG_WRROTHERPQGRP_9_RT_OFFSET 30811
+#define QM_REG_WRROTHERPQGRP_10_RT_OFFSET 30812
+#define QM_REG_WRROTHERPQGRP_11_RT_OFFSET 30813
+#define QM_REG_WRROTHERPQGRP_12_RT_OFFSET 30814
+#define QM_REG_WRROTHERPQGRP_13_RT_OFFSET 30815
+#define QM_REG_WRROTHERPQGRP_14_RT_OFFSET 30816
+#define QM_REG_WRROTHERPQGRP_15_RT_OFFSET 30817
+#define QM_REG_WRROTHERGRPWEIGHT_0_RT_OFFSET 30818
+#define QM_REG_WRROTHERGRPWEIGHT_1_RT_OFFSET 30819
+#define QM_REG_WRROTHERGRPWEIGHT_2_RT_OFFSET 30820
+#define QM_REG_WRROTHERGRPWEIGHT_3_RT_OFFSET 30821
+#define QM_REG_WRRTXGRPWEIGHT_0_RT_OFFSET 30822
+#define QM_REG_WRRTXGRPWEIGHT_1_RT_OFFSET 30823
+#define QM_REG_PQTX2PF_0_RT_OFFSET 30824
+#define QM_REG_PQTX2PF_1_RT_OFFSET 30825
+#define QM_REG_PQTX2PF_2_RT_OFFSET 30826
+#define QM_REG_PQTX2PF_3_RT_OFFSET 30827
+#define QM_REG_PQTX2PF_4_RT_OFFSET 30828
+#define QM_REG_PQTX2PF_5_RT_OFFSET 30829
+#define QM_REG_PQTX2PF_6_RT_OFFSET 30830
+#define QM_REG_PQTX2PF_7_RT_OFFSET 30831
+#define QM_REG_PQTX2PF_8_RT_OFFSET 30832
+#define QM_REG_PQTX2PF_9_RT_OFFSET 30833
+#define QM_REG_PQTX2PF_10_RT_OFFSET 30834
+#define QM_REG_PQTX2PF_11_RT_OFFSET 30835
+#define QM_REG_PQTX2PF_12_RT_OFFSET 30836
+#define QM_REG_PQTX2PF_13_RT_OFFSET 30837
+#define QM_REG_PQTX2PF_14_RT_OFFSET 30838
+#define QM_REG_PQTX2PF_15_RT_OFFSET 30839
+#define QM_REG_PQTX2PF_16_RT_OFFSET 30840
+#define QM_REG_PQTX2PF_17_RT_OFFSET 30841
+#define QM_REG_PQTX2PF_18_RT_OFFSET 30842
+#define QM_REG_PQTX2PF_19_RT_OFFSET 30843
+#define QM_REG_PQTX2PF_20_RT_OFFSET 30844
+#define QM_REG_PQTX2PF_21_RT_OFFSET 30845
+#define QM_REG_PQTX2PF_22_RT_OFFSET 30846
+#define QM_REG_PQTX2PF_23_RT_OFFSET 30847
+#define QM_REG_PQTX2PF_24_RT_OFFSET 30848
+#define QM_REG_PQTX2PF_25_RT_OFFSET 30849
+#define QM_REG_PQTX2PF_26_RT_OFFSET 30850
+#define QM_REG_PQTX2PF_27_RT_OFFSET 30851
+#define QM_REG_PQTX2PF_28_RT_OFFSET 30852
+#define QM_REG_PQTX2PF_29_RT_OFFSET 30853
+#define QM_REG_PQTX2PF_30_RT_OFFSET 30854
+#define QM_REG_PQTX2PF_31_RT_OFFSET 30855
+#define QM_REG_PQTX2PF_32_RT_OFFSET 30856
+#define QM_REG_PQTX2PF_33_RT_OFFSET 30857
+#define QM_REG_PQTX2PF_34_RT_OFFSET 30858
+#define QM_REG_PQTX2PF_35_RT_OFFSET 30859
+#define QM_REG_PQTX2PF_36_RT_OFFSET 30860
+#define QM_REG_PQTX2PF_37_RT_OFFSET 30861
+#define QM_REG_PQTX2PF_38_RT_OFFSET 30862
+#define QM_REG_PQTX2PF_39_RT_OFFSET 30863
+#define QM_REG_PQTX2PF_40_RT_OFFSET 30864
+#define QM_REG_PQTX2PF_41_RT_OFFSET 30865
+#define QM_REG_PQTX2PF_42_RT_OFFSET 30866
+#define QM_REG_PQTX2PF_43_RT_OFFSET 30867
+#define QM_REG_PQTX2PF_44_RT_OFFSET 30868
+#define QM_REG_PQTX2PF_45_RT_OFFSET 30869
+#define QM_REG_PQTX2PF_46_RT_OFFSET 30870
+#define QM_REG_PQTX2PF_47_RT_OFFSET 30871
+#define QM_REG_PQTX2PF_48_RT_OFFSET 30872
+#define QM_REG_PQTX2PF_49_RT_OFFSET 30873
+#define QM_REG_PQTX2PF_50_RT_OFFSET 30874
+#define QM_REG_PQTX2PF_51_RT_OFFSET 30875
+#define QM_REG_PQTX2PF_52_RT_OFFSET 30876
+#define QM_REG_PQTX2PF_53_RT_OFFSET 30877
+#define QM_REG_PQTX2PF_54_RT_OFFSET 30878
+#define QM_REG_PQTX2PF_55_RT_OFFSET 30879
+#define QM_REG_PQTX2PF_56_RT_OFFSET 30880
+#define QM_REG_PQTX2PF_57_RT_OFFSET 30881
+#define QM_REG_PQTX2PF_58_RT_OFFSET 30882
+#define QM_REG_PQTX2PF_59_RT_OFFSET 30883
+#define QM_REG_PQTX2PF_60_RT_OFFSET 30884
+#define QM_REG_PQTX2PF_61_RT_OFFSET 30885
+#define QM_REG_PQTX2PF_62_RT_OFFSET 30886
+#define QM_REG_PQTX2PF_63_RT_OFFSET 30887
+#define QM_REG_PQOTHER2PF_0_RT_OFFSET 30888
+#define QM_REG_PQOTHER2PF_1_RT_OFFSET 30889
+#define QM_REG_PQOTHER2PF_2_RT_OFFSET 30890
+#define QM_REG_PQOTHER2PF_3_RT_OFFSET 30891
+#define QM_REG_PQOTHER2PF_4_RT_OFFSET 30892
+#define QM_REG_PQOTHER2PF_5_RT_OFFSET 30893
+#define QM_REG_PQOTHER2PF_6_RT_OFFSET 30894
+#define QM_REG_PQOTHER2PF_7_RT_OFFSET 30895
+#define QM_REG_PQOTHER2PF_8_RT_OFFSET 30896
+#define QM_REG_PQOTHER2PF_9_RT_OFFSET 30897
+#define QM_REG_PQOTHER2PF_10_RT_OFFSET 30898
+#define QM_REG_PQOTHER2PF_11_RT_OFFSET 30899
+#define QM_REG_PQOTHER2PF_12_RT_OFFSET 30900
+#define QM_REG_PQOTHER2PF_13_RT_OFFSET 30901
+#define QM_REG_PQOTHER2PF_14_RT_OFFSET 30902
+#define QM_REG_PQOTHER2PF_15_RT_OFFSET 30903
+#define QM_REG_RLGLBLPERIOD_0_RT_OFFSET 30904
+#define QM_REG_RLGLBLPERIOD_1_RT_OFFSET 30905
+#define QM_REG_RLGLBLPERIODTIMER_0_RT_OFFSET 30906
+#define QM_REG_RLGLBLPERIODTIMER_1_RT_OFFSET 30907
+#define QM_REG_RLGLBLPERIODSEL_0_RT_OFFSET 30908
+#define QM_REG_RLGLBLPERIODSEL_1_RT_OFFSET 30909
+#define QM_REG_RLGLBLPERIODSEL_2_RT_OFFSET 30910
+#define QM_REG_RLGLBLPERIODSEL_3_RT_OFFSET 30911
+#define QM_REG_RLGLBLPERIODSEL_4_RT_OFFSET 30912
+#define QM_REG_RLGLBLPERIODSEL_5_RT_OFFSET 30913
+#define QM_REG_RLGLBLPERIODSEL_6_RT_OFFSET 30914
+#define QM_REG_RLGLBLPERIODSEL_7_RT_OFFSET 30915
+#define QM_REG_RLGLBLINCVAL_RT_OFFSET 30916
#define QM_REG_RLGLBLINCVAL_RT_SIZE 256
-#define QM_REG_RLGLBLUPPERBOUND_RT_OFFSET 30308
+#define QM_REG_RLGLBLUPPERBOUND_RT_OFFSET 31172
#define QM_REG_RLGLBLUPPERBOUND_RT_SIZE 256
-#define QM_REG_RLGLBLCRD_RT_OFFSET 30564
+#define QM_REG_RLGLBLCRD_RT_OFFSET 31428
#define QM_REG_RLGLBLCRD_RT_SIZE 256
-#define QM_REG_RLGLBLENABLE_RT_OFFSET 30820
-#define QM_REG_RLPFPERIOD_RT_OFFSET 30821
-#define QM_REG_RLPFPERIODTIMER_RT_OFFSET 30822
-#define QM_REG_RLPFINCVAL_RT_OFFSET 30823
+#define QM_REG_RLGLBLENABLE_RT_OFFSET 31684
+#define QM_REG_RLPFPERIOD_RT_OFFSET 31685
+#define QM_REG_RLPFPERIODTIMER_RT_OFFSET 31686
+#define QM_REG_RLPFINCVAL_RT_OFFSET 31687
#define QM_REG_RLPFINCVAL_RT_SIZE 16
-#define QM_REG_RLPFUPPERBOUND_RT_OFFSET 30839
+#define QM_REG_RLPFUPPERBOUND_RT_OFFSET 31703
#define QM_REG_RLPFUPPERBOUND_RT_SIZE 16
-#define QM_REG_RLPFCRD_RT_OFFSET 30855
+#define QM_REG_RLPFCRD_RT_OFFSET 31719
#define QM_REG_RLPFCRD_RT_SIZE 16
-#define QM_REG_RLPFENABLE_RT_OFFSET 30871
-#define QM_REG_RLPFVOQENABLE_RT_OFFSET 30872
-#define QM_REG_WFQPFWEIGHT_RT_OFFSET 30873
+#define QM_REG_RLPFENABLE_RT_OFFSET 31735
+#define QM_REG_RLPFVOQENABLE_RT_OFFSET 31736
+#define QM_REG_WFQPFWEIGHT_RT_OFFSET 31737
#define QM_REG_WFQPFWEIGHT_RT_SIZE 16
-#define QM_REG_WFQPFUPPERBOUND_RT_OFFSET 30889
+#define QM_REG_WFQPFUPPERBOUND_RT_OFFSET 31753
#define QM_REG_WFQPFUPPERBOUND_RT_SIZE 16
-#define QM_REG_WFQPFCRD_RT_OFFSET 30905
+#define QM_REG_WFQPFCRD_RT_OFFSET 31769
#define QM_REG_WFQPFCRD_RT_SIZE 256
-#define QM_REG_WFQPFENABLE_RT_OFFSET 31161
-#define QM_REG_WFQVPENABLE_RT_OFFSET 31162
-#define QM_REG_BASEADDRTXPQ_RT_OFFSET 31163
+#define QM_REG_WFQPFENABLE_RT_OFFSET 32025
+#define QM_REG_WFQVPENABLE_RT_OFFSET 32026
+#define QM_REG_BASEADDRTXPQ_RT_OFFSET 32027
#define QM_REG_BASEADDRTXPQ_RT_SIZE 512
-#define QM_REG_TXPQMAP_RT_OFFSET 31675
+#define QM_REG_TXPQMAP_RT_OFFSET 32539
#define QM_REG_TXPQMAP_RT_SIZE 512
-#define QM_REG_WFQVPWEIGHT_RT_OFFSET 32187
+#define QM_REG_WFQVPWEIGHT_RT_OFFSET 33051
#define QM_REG_WFQVPWEIGHT_RT_SIZE 512
-#define QM_REG_WFQVPCRD_RT_OFFSET 32699
+#define QM_REG_WFQVPCRD_RT_OFFSET 33563
#define QM_REG_WFQVPCRD_RT_SIZE 512
-#define QM_REG_WFQVPMAP_RT_OFFSET 33211
+#define QM_REG_WFQVPMAP_RT_OFFSET 34075
#define QM_REG_WFQVPMAP_RT_SIZE 512
-#define QM_REG_WFQPFCRD_MSB_RT_OFFSET 33723
+#define QM_REG_WFQPFCRD_MSB_RT_OFFSET 34587
#define QM_REG_WFQPFCRD_MSB_RT_SIZE 320
-#define QM_REG_VOQCRDLINE_RT_OFFSET 34043
+#define QM_REG_VOQCRDLINE_RT_OFFSET 34907
#define QM_REG_VOQCRDLINE_RT_SIZE 36
-#define QM_REG_VOQINITCRDLINE_RT_OFFSET 34079
+#define QM_REG_VOQINITCRDLINE_RT_OFFSET 34943
#define QM_REG_VOQINITCRDLINE_RT_SIZE 36
-#define NIG_REG_TAG_ETHERTYPE_0_RT_OFFSET 34115
-#define NIG_REG_OUTER_TAG_VALUE_LIST0_RT_OFFSET 34116
-#define NIG_REG_OUTER_TAG_VALUE_LIST1_RT_OFFSET 34117
-#define NIG_REG_OUTER_TAG_VALUE_LIST2_RT_OFFSET 34118
-#define NIG_REG_OUTER_TAG_VALUE_LIST3_RT_OFFSET 34119
-#define NIG_REG_OUTER_TAG_VALUE_MASK_RT_OFFSET 34120
-#define NIG_REG_LLH_FUNC_TAGMAC_CLS_TYPE_RT_OFFSET 34121
-#define NIG_REG_LLH_FUNC_TAG_EN_RT_OFFSET 34122
+#define NIG_REG_TAG_ETHERTYPE_0_RT_OFFSET 34979
+#define NIG_REG_OUTER_TAG_VALUE_LIST0_RT_OFFSET 34980
+#define NIG_REG_OUTER_TAG_VALUE_LIST1_RT_OFFSET 34981
+#define NIG_REG_OUTER_TAG_VALUE_LIST2_RT_OFFSET 34982
+#define NIG_REG_OUTER_TAG_VALUE_LIST3_RT_OFFSET 34983
+#define NIG_REG_OUTER_TAG_VALUE_MASK_RT_OFFSET 34984
+#define NIG_REG_LLH_FUNC_TAGMAC_CLS_TYPE_RT_OFFSET 34985
+#define NIG_REG_LLH_FUNC_TAG_EN_RT_OFFSET 34986
#define NIG_REG_LLH_FUNC_TAG_EN_RT_SIZE 4
-#define NIG_REG_LLH_FUNC_TAG_HDR_SEL_RT_OFFSET 34126
+#define NIG_REG_LLH_FUNC_TAG_HDR_SEL_RT_OFFSET 34990
#define NIG_REG_LLH_FUNC_TAG_HDR_SEL_RT_SIZE 4
-#define NIG_REG_LLH_FUNC_TAG_VALUE_RT_OFFSET 34130
+#define NIG_REG_LLH_FUNC_TAG_VALUE_RT_OFFSET 34994
#define NIG_REG_LLH_FUNC_TAG_VALUE_RT_SIZE 4
-#define NIG_REG_LLH_FUNC_NO_TAG_RT_OFFSET 34134
-#define NIG_REG_LLH_FUNC_FILTER_VALUE_RT_OFFSET 34135
+#define NIG_REG_LLH_FUNC_NO_TAG_RT_OFFSET 34998
+#define NIG_REG_LLH_FUNC_FILTER_VALUE_RT_OFFSET 34999
#define NIG_REG_LLH_FUNC_FILTER_VALUE_RT_SIZE 32
-#define NIG_REG_LLH_FUNC_FILTER_EN_RT_OFFSET 34167
+#define NIG_REG_LLH_FUNC_FILTER_EN_RT_OFFSET 35031
#define NIG_REG_LLH_FUNC_FILTER_EN_RT_SIZE 16
-#define NIG_REG_LLH_FUNC_FILTER_MODE_RT_OFFSET 34183
+#define NIG_REG_LLH_FUNC_FILTER_MODE_RT_OFFSET 35047
#define NIG_REG_LLH_FUNC_FILTER_MODE_RT_SIZE 16
-#define NIG_REG_LLH_FUNC_FILTER_PROTOCOL_TYPE_RT_OFFSET 34199
+#define NIG_REG_LLH_FUNC_FILTER_PROTOCOL_TYPE_RT_OFFSET 35063
#define NIG_REG_LLH_FUNC_FILTER_PROTOCOL_TYPE_RT_SIZE 16
-#define NIG_REG_LLH_FUNC_FILTER_HDR_SEL_RT_OFFSET 34215
+#define NIG_REG_LLH_FUNC_FILTER_HDR_SEL_RT_OFFSET 35079
#define NIG_REG_LLH_FUNC_FILTER_HDR_SEL_RT_SIZE 16
-#define NIG_REG_TX_EDPM_CTRL_RT_OFFSET 34231
-#define NIG_REG_ROCE_DUPLICATE_TO_HOST_RT_OFFSET 34232
-#define CDU_REG_CID_ADDR_PARAMS_RT_OFFSET 34233
-#define CDU_REG_SEGMENT0_PARAMS_RT_OFFSET 34234
-#define CDU_REG_SEGMENT1_PARAMS_RT_OFFSET 34235
-#define CDU_REG_PF_SEG0_TYPE_OFFSET_RT_OFFSET 34236
-#define CDU_REG_PF_SEG1_TYPE_OFFSET_RT_OFFSET 34237
-#define CDU_REG_PF_SEG2_TYPE_OFFSET_RT_OFFSET 34238
-#define CDU_REG_PF_SEG3_TYPE_OFFSET_RT_OFFSET 34239
-#define CDU_REG_PF_FL_SEG0_TYPE_OFFSET_RT_OFFSET 34240
-#define CDU_REG_PF_FL_SEG1_TYPE_OFFSET_RT_OFFSET 34241
-#define CDU_REG_PF_FL_SEG2_TYPE_OFFSET_RT_OFFSET 34242
-#define CDU_REG_PF_FL_SEG3_TYPE_OFFSET_RT_OFFSET 34243
-#define CDU_REG_VF_SEG_TYPE_OFFSET_RT_OFFSET 34244
-#define CDU_REG_VF_FL_SEG_TYPE_OFFSET_RT_OFFSET 34245
-#define PBF_REG_TAG_ETHERTYPE_0_RT_OFFSET 34246
-#define PBF_REG_BTB_SHARED_AREA_SIZE_RT_OFFSET 34247
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ0_RT_OFFSET 34248
-#define PBF_REG_BTB_GUARANTEED_VOQ0_RT_OFFSET 34249
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ0_RT_OFFSET 34250
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ1_RT_OFFSET 34251
-#define PBF_REG_BTB_GUARANTEED_VOQ1_RT_OFFSET 34252
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ1_RT_OFFSET 34253
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ2_RT_OFFSET 34254
-#define PBF_REG_BTB_GUARANTEED_VOQ2_RT_OFFSET 34255
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ2_RT_OFFSET 34256
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ3_RT_OFFSET 34257
-#define PBF_REG_BTB_GUARANTEED_VOQ3_RT_OFFSET 34258
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ3_RT_OFFSET 34259
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ4_RT_OFFSET 34260
-#define PBF_REG_BTB_GUARANTEED_VOQ4_RT_OFFSET 34261
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ4_RT_OFFSET 34262
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ5_RT_OFFSET 34263
-#define PBF_REG_BTB_GUARANTEED_VOQ5_RT_OFFSET 34264
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ5_RT_OFFSET 34265
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ6_RT_OFFSET 34266
-#define PBF_REG_BTB_GUARANTEED_VOQ6_RT_OFFSET 34267
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ6_RT_OFFSET 34268
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ7_RT_OFFSET 34269
-#define PBF_REG_BTB_GUARANTEED_VOQ7_RT_OFFSET 34270
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ7_RT_OFFSET 34271
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ8_RT_OFFSET 34272
-#define PBF_REG_BTB_GUARANTEED_VOQ8_RT_OFFSET 34273
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ8_RT_OFFSET 34274
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ9_RT_OFFSET 34275
-#define PBF_REG_BTB_GUARANTEED_VOQ9_RT_OFFSET 34276
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ9_RT_OFFSET 34277
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ10_RT_OFFSET 34278
-#define PBF_REG_BTB_GUARANTEED_VOQ10_RT_OFFSET 34279
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ10_RT_OFFSET 34280
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ11_RT_OFFSET 34281
-#define PBF_REG_BTB_GUARANTEED_VOQ11_RT_OFFSET 34282
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ11_RT_OFFSET 34283
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ12_RT_OFFSET 34284
-#define PBF_REG_BTB_GUARANTEED_VOQ12_RT_OFFSET 34285
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ12_RT_OFFSET 34286
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ13_RT_OFFSET 34287
-#define PBF_REG_BTB_GUARANTEED_VOQ13_RT_OFFSET 34288
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ13_RT_OFFSET 34289
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ14_RT_OFFSET 34290
-#define PBF_REG_BTB_GUARANTEED_VOQ14_RT_OFFSET 34291
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ14_RT_OFFSET 34292
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ15_RT_OFFSET 34293
-#define PBF_REG_BTB_GUARANTEED_VOQ15_RT_OFFSET 34294
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ15_RT_OFFSET 34295
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ16_RT_OFFSET 34296
-#define PBF_REG_BTB_GUARANTEED_VOQ16_RT_OFFSET 34297
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ16_RT_OFFSET 34298
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ17_RT_OFFSET 34299
-#define PBF_REG_BTB_GUARANTEED_VOQ17_RT_OFFSET 34300
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ17_RT_OFFSET 34301
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ18_RT_OFFSET 34302
-#define PBF_REG_BTB_GUARANTEED_VOQ18_RT_OFFSET 34303
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ18_RT_OFFSET 34304
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ19_RT_OFFSET 34305
-#define PBF_REG_BTB_GUARANTEED_VOQ19_RT_OFFSET 34306
-#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ19_RT_OFFSET 34307
-#define XCM_REG_CON_PHY_Q3_RT_OFFSET 34308
+#define NIG_REG_TX_EDPM_CTRL_RT_OFFSET 35095
+#define NIG_REG_ROCE_DUPLICATE_TO_HOST_RT_OFFSET 35096
+#define CDU_REG_CID_ADDR_PARAMS_RT_OFFSET 35097
+#define CDU_REG_SEGMENT0_PARAMS_RT_OFFSET 35098
+#define CDU_REG_SEGMENT1_PARAMS_RT_OFFSET 35099
+#define CDU_REG_PF_SEG0_TYPE_OFFSET_RT_OFFSET 35100
+#define CDU_REG_PF_SEG1_TYPE_OFFSET_RT_OFFSET 35101
+#define CDU_REG_PF_SEG2_TYPE_OFFSET_RT_OFFSET 35102
+#define CDU_REG_PF_SEG3_TYPE_OFFSET_RT_OFFSET 35103
+#define CDU_REG_PF_FL_SEG0_TYPE_OFFSET_RT_OFFSET 35104
+#define CDU_REG_PF_FL_SEG1_TYPE_OFFSET_RT_OFFSET 35105
+#define CDU_REG_PF_FL_SEG2_TYPE_OFFSET_RT_OFFSET 35106
+#define CDU_REG_PF_FL_SEG3_TYPE_OFFSET_RT_OFFSET 35107
+#define CDU_REG_VF_SEG_TYPE_OFFSET_RT_OFFSET 35108
+#define CDU_REG_VF_FL_SEG_TYPE_OFFSET_RT_OFFSET 35109
+#define PBF_REG_TAG_ETHERTYPE_0_RT_OFFSET 35110
+#define PBF_REG_BTB_SHARED_AREA_SIZE_RT_OFFSET 35111
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ0_RT_OFFSET 35112
+#define PBF_REG_BTB_GUARANTEED_VOQ0_RT_OFFSET 35113
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ0_RT_OFFSET 35114
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ1_RT_OFFSET 35115
+#define PBF_REG_BTB_GUARANTEED_VOQ1_RT_OFFSET 35116
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ1_RT_OFFSET 35117
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ2_RT_OFFSET 35118
+#define PBF_REG_BTB_GUARANTEED_VOQ2_RT_OFFSET 35119
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ2_RT_OFFSET 35120
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ3_RT_OFFSET 35121
+#define PBF_REG_BTB_GUARANTEED_VOQ3_RT_OFFSET 35122
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ3_RT_OFFSET 35123
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ4_RT_OFFSET 35124
+#define PBF_REG_BTB_GUARANTEED_VOQ4_RT_OFFSET 35125
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ4_RT_OFFSET 35126
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ5_RT_OFFSET 35127
+#define PBF_REG_BTB_GUARANTEED_VOQ5_RT_OFFSET 35128
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ5_RT_OFFSET 35129
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ6_RT_OFFSET 35130
+#define PBF_REG_BTB_GUARANTEED_VOQ6_RT_OFFSET 35131
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ6_RT_OFFSET 35132
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ7_RT_OFFSET 35133
+#define PBF_REG_BTB_GUARANTEED_VOQ7_RT_OFFSET 35134
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ7_RT_OFFSET 35135
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ8_RT_OFFSET 35136
+#define PBF_REG_BTB_GUARANTEED_VOQ8_RT_OFFSET 35137
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ8_RT_OFFSET 35138
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ9_RT_OFFSET 35139
+#define PBF_REG_BTB_GUARANTEED_VOQ9_RT_OFFSET 35140
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ9_RT_OFFSET 35141
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ10_RT_OFFSET 35142
+#define PBF_REG_BTB_GUARANTEED_VOQ10_RT_OFFSET 35143
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ10_RT_OFFSET 35144
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ11_RT_OFFSET 35145
+#define PBF_REG_BTB_GUARANTEED_VOQ11_RT_OFFSET 35146
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ11_RT_OFFSET 35147
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ12_RT_OFFSET 35148
+#define PBF_REG_BTB_GUARANTEED_VOQ12_RT_OFFSET 35149
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ12_RT_OFFSET 35150
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ13_RT_OFFSET 35151
+#define PBF_REG_BTB_GUARANTEED_VOQ13_RT_OFFSET 35152
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ13_RT_OFFSET 35153
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ14_RT_OFFSET 35154
+#define PBF_REG_BTB_GUARANTEED_VOQ14_RT_OFFSET 35155
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ14_RT_OFFSET 35156
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ15_RT_OFFSET 35157
+#define PBF_REG_BTB_GUARANTEED_VOQ15_RT_OFFSET 35158
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ15_RT_OFFSET 35159
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ16_RT_OFFSET 35160
+#define PBF_REG_BTB_GUARANTEED_VOQ16_RT_OFFSET 35161
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ16_RT_OFFSET 35162
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ17_RT_OFFSET 35163
+#define PBF_REG_BTB_GUARANTEED_VOQ17_RT_OFFSET 35164
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ17_RT_OFFSET 35165
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ18_RT_OFFSET 35166
+#define PBF_REG_BTB_GUARANTEED_VOQ18_RT_OFFSET 35167
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ18_RT_OFFSET 35168
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ19_RT_OFFSET 35169
+#define PBF_REG_BTB_GUARANTEED_VOQ19_RT_OFFSET 35170
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ19_RT_OFFSET 35171
+#define XCM_REG_CON_PHY_Q3_RT_OFFSET 35172
-#define RUNTIME_ARRAY_SIZE 34309
+#define RUNTIME_ARRAY_SIZE 35173
#endif /* __RT_DEFS_H__ */
diff --git a/sys/dev/qlnx/qlnxe/ecore_sp_api.h b/sys/dev/qlnx/qlnxe/ecore_sp_api.h
index fac29d5..04bcfa9 100644
--- a/sys/dev/qlnx/qlnxe/ecore_sp_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_sp_api.h
@@ -71,6 +71,7 @@ enum _ecore_status_t ecore_eth_cqe_completion(struct ecore_hwfn *p_hwfn,
* for a physical function (PF).
*
* @param p_hwfn
+ * @param p_ptt
* @param p_tunn - pf update tunneling parameters
* @param comp_mode - completion mode
* @param p_comp_data - callback function
@@ -80,6 +81,7 @@ enum _ecore_status_t ecore_eth_cqe_completion(struct ecore_hwfn *p_hwfn,
enum _ecore_status_t
ecore_sp_pf_update_tunn_cfg(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
struct ecore_tunnel_info *p_tunn,
enum spq_mode comp_mode,
struct ecore_spq_comp_cb *p_comp_data);
diff --git a/sys/dev/qlnx/qlnxe/ecore_sp_commands.c b/sys/dev/qlnx/qlnxe/ecore_sp_commands.c
index bf74e56..62c4f17 100644
--- a/sys/dev/qlnx/qlnxe/ecore_sp_commands.c
+++ b/sys/dev/qlnx/qlnxe/ecore_sp_commands.c
@@ -31,7 +31,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-
#include "bcm_osal.h"
#include "ecore.h"
@@ -257,6 +256,7 @@ static void ecore_set_hw_tunn_mode(struct ecore_hwfn *p_hwfn,
}
static void ecore_set_hw_tunn_mode_port(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
struct ecore_tunnel_info *p_tunn)
{
if (ECORE_IS_BB_A0(p_hwfn->p_dev)) {
@@ -266,14 +266,14 @@ static void ecore_set_hw_tunn_mode_port(struct ecore_hwfn *p_hwfn,
}
if (p_tunn->vxlan_port.b_update_port)
- ecore_set_vxlan_dest_port(p_hwfn, p_hwfn->p_main_ptt,
+ ecore_set_vxlan_dest_port(p_hwfn, p_ptt,
p_tunn->vxlan_port.port);
if (p_tunn->geneve_port.b_update_port)
- ecore_set_geneve_dest_port(p_hwfn, p_hwfn->p_main_ptt,
+ ecore_set_geneve_dest_port(p_hwfn, p_ptt,
p_tunn->geneve_port.port);
- ecore_set_hw_tunn_mode(p_hwfn, p_hwfn->p_main_ptt, p_tunn);
+ ecore_set_hw_tunn_mode(p_hwfn, p_ptt, p_tunn);
}
static void
@@ -319,6 +319,7 @@ ecore_tunn_set_pf_start_params(struct ecore_hwfn *p_hwfn,
}
enum _ecore_status_t ecore_sp_pf_start(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
struct ecore_tunnel_info *p_tunn,
enum ecore_mf_mode mode,
bool allow_npar_tx_switch)
@@ -426,12 +427,13 @@ enum _ecore_status_t ecore_sp_pf_start(struct ecore_hwfn *p_hwfn,
rc = ecore_spq_post(p_hwfn, p_ent, OSAL_NULL);
if (p_tunn)
- ecore_set_hw_tunn_mode_port(p_hwfn, &p_hwfn->p_dev->tunnel);
+ ecore_set_hw_tunn_mode_port(p_hwfn, p_ptt,
+ &p_hwfn->p_dev->tunnel);
return rc;
}
-enum _ecore_status_t ecore_sp_pf_update(struct ecore_hwfn *p_hwfn)
+enum _ecore_status_t ecore_sp_pf_update_dcbx(struct ecore_hwfn *p_hwfn)
{
struct ecore_spq_entry *p_ent = OSAL_NULL;
struct ecore_sp_init_data init_data;
@@ -501,6 +503,7 @@ enum _ecore_status_t ecore_sp_rl_update(struct ecore_hwfn *p_hwfn,
/* Set pf update ramrod command params */
enum _ecore_status_t
ecore_sp_pf_update_tunn_cfg(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
struct ecore_tunnel_info *p_tunn,
enum spq_mode comp_mode,
struct ecore_spq_comp_cb *p_comp_data)
@@ -541,7 +544,7 @@ ecore_sp_pf_update_tunn_cfg(struct ecore_hwfn *p_hwfn,
if (rc != ECORE_SUCCESS)
return rc;
- ecore_set_hw_tunn_mode_port(p_hwfn, &p_hwfn->p_dev->tunnel);
+ ecore_set_hw_tunn_mode_port(p_hwfn, p_ptt, &p_hwfn->p_dev->tunnel);
return rc;
}
@@ -587,3 +590,27 @@ enum _ecore_status_t ecore_sp_heartbeat_ramrod(struct ecore_hwfn *p_hwfn)
return ecore_spq_post(p_hwfn, p_ent, OSAL_NULL);
}
+
+enum _ecore_status_t ecore_sp_pf_update_stag(struct ecore_hwfn *p_hwfn)
+{
+ struct ecore_spq_entry *p_ent = OSAL_NULL;
+ struct ecore_sp_init_data init_data;
+ enum _ecore_status_t rc = ECORE_NOTIMPL;
+
+ /* Get SPQ entry */
+ OSAL_MEMSET(&init_data, 0, sizeof(init_data));
+ init_data.cid = ecore_spq_get_cid(p_hwfn);
+ init_data.opaque_fid = p_hwfn->hw_info.opaque_fid;
+ init_data.comp_mode = ECORE_SPQ_MODE_CB;
+
+ rc = ecore_sp_init_request(p_hwfn, &p_ent,
+ COMMON_RAMROD_PF_UPDATE, PROTOCOLID_COMMON,
+ &init_data);
+ if (rc != ECORE_SUCCESS)
+ return rc;
+
+ p_ent->ramrod.pf_update.update_mf_vlan_flag = true;
+ p_ent->ramrod.pf_update.mf_vlan = OSAL_CPU_TO_LE16(p_hwfn->hw_info.ovlan);
+
+ return ecore_spq_post(p_hwfn, p_ent, OSAL_NULL);
+}
diff --git a/sys/dev/qlnx/qlnxe/ecore_sp_commands.h b/sys/dev/qlnx/qlnxe/ecore_sp_commands.h
index 8e512e6..d70fae3 100644
--- a/sys/dev/qlnx/qlnxe/ecore_sp_commands.h
+++ b/sys/dev/qlnx/qlnxe/ecore_sp_commands.h
@@ -28,6 +28,7 @@
*
*/
+
#ifndef __ECORE_SP_COMMANDS_H__
#define __ECORE_SP_COMMANDS_H__
@@ -81,6 +82,7 @@ enum _ecore_status_t ecore_sp_init_request(struct ecore_hwfn *p_hwfn,
* to the internal RAM of the UStorm by the Function Start Ramrod.
*
* @param p_hwfn
+ * @param p_ptt
* @param p_tunn - pf start tunneling configuration
* @param mode
* @param allow_npar_tx_switch - npar tx switching to be used
@@ -90,6 +92,7 @@ enum _ecore_status_t ecore_sp_init_request(struct ecore_hwfn *p_hwfn,
*/
enum _ecore_status_t ecore_sp_pf_start(struct ecore_hwfn *p_hwfn,
+ struct ecore_ptt *p_ptt,
struct ecore_tunnel_info *p_tunn,
enum ecore_mf_mode mode,
bool allow_npar_tx_switch);
@@ -107,7 +110,7 @@ enum _ecore_status_t ecore_sp_pf_start(struct ecore_hwfn *p_hwfn,
* @return enum _ecore_status_t
*/
-enum _ecore_status_t ecore_sp_pf_update(struct ecore_hwfn *p_hwfn);
+enum _ecore_status_t ecore_sp_pf_update_dcbx(struct ecore_hwfn *p_hwfn);
/**
* @brief ecore_sp_pf_stop - PF Function Stop Ramrod
@@ -165,4 +168,14 @@ struct ecore_rl_update_params {
enum _ecore_status_t ecore_sp_rl_update(struct ecore_hwfn *p_hwfn,
struct ecore_rl_update_params *params);
+/**
+ * @brief ecore_sp_pf_update_stag - PF STAG value update Ramrod
+ *
+ * @param p_hwfn
+ *
+ * @return enum _ecore_status_t
+ */
+
+enum _ecore_status_t ecore_sp_pf_update_stag(struct ecore_hwfn *p_hwfn);
+
#endif /*__ECORE_SP_COMMANDS_H__*/
diff --git a/sys/dev/qlnx/qlnxe/ecore_spq.c b/sys/dev/qlnx/qlnxe/ecore_spq.c
index c45efbc..824e622 100644
--- a/sys/dev/qlnx/qlnxe/ecore_spq.c
+++ b/sys/dev/qlnx/qlnxe/ecore_spq.c
@@ -116,10 +116,9 @@ static void ecore_iscsi_eq_dump(struct ecore_hwfn *p_hwfn,
/***************************************************************************
* Blocking Imp. (BLOCK/EBLOCK mode)
***************************************************************************/
-static void ecore_spq_blocking_cb(struct ecore_hwfn *p_hwfn,
- void *cookie,
- union event_ring_data *data,
- u8 fw_return_code)
+static void ecore_spq_blocking_cb(struct ecore_hwfn *p_hwfn, void *cookie,
+ union event_ring_data OSAL_UNUSED *data,
+ u8 fw_return_code)
{
struct ecore_spq_comp_done *comp_done;
@@ -168,6 +167,7 @@ static enum _ecore_status_t ecore_spq_block(struct ecore_hwfn *p_hwfn,
u8 *p_fw_ret, bool skip_quick_poll)
{
struct ecore_spq_comp_done *comp_done;
+ struct ecore_ptt *p_ptt;
enum _ecore_status_t rc;
/* A relatively short polling period w/o sleeping, to allow the FW to
@@ -184,8 +184,14 @@ static enum _ecore_status_t ecore_spq_block(struct ecore_hwfn *p_hwfn,
if (rc == ECORE_SUCCESS)
return ECORE_SUCCESS;
+ p_ptt = ecore_ptt_acquire(p_hwfn);
+ if (!p_ptt) {
+ DP_NOTICE(p_hwfn, true, "ptt, failed to acquire\n");
+ return ECORE_AGAIN;
+ }
+
DP_INFO(p_hwfn, "Ramrod is stuck, requesting MCP drain\n");
- rc = ecore_mcp_drain(p_hwfn, p_hwfn->p_main_ptt);
+ rc = ecore_mcp_drain(p_hwfn, p_ptt);
if (rc != ECORE_SUCCESS) {
DP_NOTICE(p_hwfn, true, "MCP drain failed\n");
goto err;
@@ -194,15 +200,20 @@ static enum _ecore_status_t ecore_spq_block(struct ecore_hwfn *p_hwfn,
/* Retry after drain */
rc = __ecore_spq_block(p_hwfn, p_ent, p_fw_ret, true);
if (rc == ECORE_SUCCESS)
- return ECORE_SUCCESS;
+ goto out;
comp_done = (struct ecore_spq_comp_done *)p_ent->comp_cb.cookie;
if (comp_done->done == 1) {
if (p_fw_ret)
*p_fw_ret = comp_done->fw_return_code;
- return ECORE_SUCCESS;
}
+out:
+ ecore_ptt_release(p_hwfn, p_ptt);
+
+ return ECORE_SUCCESS;
+
err:
+ ecore_ptt_release(p_hwfn, p_ptt);
DP_NOTICE(p_hwfn, true,
"Ramrod is stuck [CID %08x cmd %02x protocol %02x echo %04x]\n",
OSAL_LE32_TO_CPU(p_ent->elem.hdr.cid),
@@ -253,10 +264,10 @@ static enum _ecore_status_t ecore_spq_fill_entry(struct ecore_hwfn *p_hwfn,
static void ecore_spq_hw_initialize(struct ecore_hwfn *p_hwfn,
struct ecore_spq *p_spq)
{
+ struct e4_core_conn_context *p_cxt;
struct ecore_cxt_info cxt_info;
- struct core_conn_context *p_cxt;
- enum _ecore_status_t rc;
u16 physical_q;
+ enum _ecore_status_t rc;
cxt_info.iid = p_spq->cid;
@@ -530,7 +541,7 @@ void ecore_eq_free(struct ecore_hwfn *p_hwfn)
}
/***************************************************************************
-* CQE API - manipulate EQ functionality
+* CQE API - manipulate EQ functionallity
***************************************************************************/
static enum _ecore_status_t ecore_cqe_completion(struct ecore_hwfn *p_hwfn,
struct eth_slow_path_rx_cqe *cqe,
@@ -648,7 +659,9 @@ enum _ecore_status_t ecore_spq_alloc(struct ecore_hwfn *p_hwfn)
p_spq->p_virt = p_virt;
p_spq->p_phys = p_phys;
+#ifdef CONFIG_ECORE_LOCK_ALLOC
OSAL_SPIN_LOCK_ALLOC(p_hwfn, &p_spq->lock);
+#endif
p_hwfn->p_spq = p_spq;
return ECORE_SUCCESS;
@@ -677,7 +690,9 @@ void ecore_spq_free(struct ecore_hwfn *p_hwfn)
}
ecore_chain_free(p_hwfn->p_dev, &p_spq->chain);
+#ifdef CONFIG_ECORE_LOCK_ALLOC
OSAL_SPIN_LOCK_DEALLOC(&p_spq->lock);
+#endif
OSAL_FREE(p_hwfn->p_dev, p_spq);
p_hwfn->p_spq = OSAL_NULL;
@@ -736,7 +751,7 @@ void ecore_spq_return_entry(struct ecore_hwfn *p_hwfn,
* list. Should be used while lock is being held.
*
* Addes an entry to the pending list is there is room (en empty
- * element is available in the free_pool), or else places the
+ * element is avaliable in the free_pool), or else places the
* entry in the unlimited_pending pool.
*
* @param p_hwfn
@@ -937,7 +952,7 @@ enum _ecore_status_t ecore_spq_post(struct ecore_hwfn *p_hwfn,
/* For entries in ECORE BLOCK mode, the completion code cannot
* perform the necessary cleanup - if it did, we couldn't
* access p_ent here to see whether it's successful or not.
- * Thus, after gaining the answer - perform the cleanup here.
+ * Thus, after gaining the answer perform the cleanup here.
*/
rc = ecore_spq_block(p_hwfn, p_ent, fw_return_code,
p_ent->queue == &p_spq->unlimited_pending);
@@ -1120,4 +1135,3 @@ void ecore_consq_free(struct ecore_hwfn *p_hwfn)
OSAL_FREE(p_hwfn->p_dev, p_hwfn->p_consq);
p_hwfn->p_consq = OSAL_NULL;
}
-
diff --git a/sys/dev/qlnx/qlnxe/ecore_sriov.h b/sys/dev/qlnx/qlnxe/ecore_sriov.h
index 00c95da..3bdcc39 100644
--- a/sys/dev/qlnx/qlnxe/ecore_sriov.h
+++ b/sys/dev/qlnx/qlnxe/ecore_sriov.h
@@ -38,7 +38,7 @@
#include "ecore_l2.h"
#define ECORE_ETH_MAX_VF_NUM_VLAN_FILTERS \
- (E4_MAX_NUM_VFS * ECORE_ETH_VF_NUM_VLAN_FILTERS)
+ (MAX_NUM_VFS_E4 * ECORE_ETH_VF_NUM_VLAN_FILTERS)
/* Represents a full message. Both the request filled by VF
* and the response filled by the PF. The VF needs one copy
@@ -108,7 +108,7 @@ struct ecore_vf_queue {
enum vf_state {
VF_FREE = 0, /* VF ready to be acquired holds no resc */
- VF_ACQUIRED = 1, /* VF, acquired, but not initalized */
+ VF_ACQUIRED = 1, /* VF, aquired, but not initalized */
VF_ENABLED = 2, /* VF, Enabled */
VF_RESET = 3, /* VF, FLR'd, pending cleanup */
VF_STOPPED = 4 /* VF, Stopped */
@@ -192,7 +192,7 @@ struct ecore_vf_info {
* capability enabled.
*/
struct ecore_pf_iov {
- struct ecore_vf_info vfs_array[E4_MAX_NUM_VFS];
+ struct ecore_vf_info vfs_array[MAX_NUM_VFS_E4];
u64 pending_flr[ECORE_VF_ARRAY_LENGTH];
#ifndef REMOVE_DBG
@@ -228,17 +228,13 @@ enum _ecore_status_t ecore_iov_hw_info(struct ecore_hwfn *p_hwfn);
/**
* @brief ecore_add_tlv - place a given tlv on the tlv buffer at next offset
*
- * @param p_hwfn
- * @param p_iov
+ * @param offset
* @param type
* @param length
*
* @return pointer to the newly placed tlv
*/
-void *ecore_add_tlv(struct ecore_hwfn *p_hwfn,
- u8 **offset,
- u16 type,
- u16 length);
+void *ecore_add_tlv(u8 **offset, u16 type, u16 length);
/**
* @brief list the types and lengths of the tlvs on the buffer
@@ -262,10 +258,8 @@ enum _ecore_status_t ecore_iov_alloc(struct ecore_hwfn *p_hwfn);
* @brief ecore_iov_setup - setup sriov related resources
*
* @param p_hwfn
- * @param p_ptt
*/
-void ecore_iov_setup(struct ecore_hwfn *p_hwfn,
- struct ecore_ptt *p_ptt);
+void ecore_iov_setup(struct ecore_hwfn *p_hwfn);
/**
* @brief ecore_iov_free - free sriov related resources
@@ -300,7 +294,7 @@ enum _ecore_status_t ecore_sriov_eqe_event(struct ecore_hwfn *p_hwfn,
* @param p_hwfn
* @param disabled_vfs - bitmask of all VFs on path that were FLRed
*
- * @return 1 iff one of the PF's vfs got FLRed. 0 otherwise.
+ * @return true iff one of the PF's vfs got FLRed. false otherwise.
*/
bool ecore_iov_mark_vf_flr(struct ecore_hwfn *p_hwfn,
u32 *disabled_vfs);
@@ -332,18 +326,18 @@ struct ecore_vf_info *ecore_iov_get_vf_info(struct ecore_hwfn *p_hwfn,
u16 relative_vf_id,
bool b_enabled_only);
#else
-static OSAL_INLINE enum _ecore_status_t ecore_iov_hw_info(struct ecore_hwfn *p_hwfn) {return ECORE_SUCCESS;}
-static OSAL_INLINE void *ecore_add_tlv(struct ecore_hwfn *p_hwfn, u8 **offset, u16 type, u16 length) {return OSAL_NULL;}
-static OSAL_INLINE void ecore_dp_tlv_list(struct ecore_hwfn *p_hwfn, void *tlvs_list) {}
-static OSAL_INLINE enum _ecore_status_t ecore_iov_alloc(struct ecore_hwfn *p_hwfn) {return ECORE_SUCCESS;}
-static OSAL_INLINE void ecore_iov_setup(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt) {}
-static OSAL_INLINE void ecore_iov_free(struct ecore_hwfn *p_hwfn) {}
-static OSAL_INLINE void ecore_iov_free_hw_info(struct ecore_dev *p_dev) {}
-static OSAL_INLINE enum _ecore_status_t ecore_sriov_eqe_event(struct ecore_hwfn *p_hwfn, u8 opcode, __le16 echo, union event_ring_data *data) {return ECORE_INVAL;}
-static OSAL_INLINE u32 ecore_crc32(u32 crc, u8 *ptr, u32 length) {return 0;}
-static OSAL_INLINE bool ecore_iov_mark_vf_flr(struct ecore_hwfn *p_hwfn, u32 *disabled_vfs) {return 0;}
-static OSAL_INLINE void *ecore_iov_search_list_tlvs(struct ecore_hwfn *p_hwfn, void *p_tlvs_list, u16 req_type) {return OSAL_NULL;}
-static OSAL_INLINE struct ecore_vf_info *ecore_iov_get_vf_info(struct ecore_hwfn *p_hwfn, u16 relative_vf_id, bool b_enabled_only) {return OSAL_NULL;}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_hw_info(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {return ECORE_SUCCESS;}
+static OSAL_INLINE void *ecore_add_tlv(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED **offset, OSAL_UNUSED u16 type, OSAL_UNUSED u16 length) {return OSAL_NULL;}
+static OSAL_INLINE void ecore_dp_tlv_list(struct ecore_hwfn OSAL_UNUSED *p_hwfn, void OSAL_UNUSED *tlvs_list) {}
+static OSAL_INLINE enum _ecore_status_t ecore_iov_alloc(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {return ECORE_SUCCESS;}
+static OSAL_INLINE void ecore_iov_setup(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {}
+static OSAL_INLINE void ecore_iov_free(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {}
+static OSAL_INLINE void ecore_iov_free_hw_info(struct ecore_dev OSAL_UNUSED *p_dev) {}
+static OSAL_INLINE enum _ecore_status_t ecore_sriov_eqe_event(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED opcode, __le16 OSAL_UNUSED echo, union event_ring_data OSAL_UNUSED *data) {return ECORE_INVAL;}
+static OSAL_INLINE u32 ecore_crc32(u32 OSAL_UNUSED crc, u8 OSAL_UNUSED *ptr, u32 OSAL_UNUSED length) {return 0;}
+static OSAL_INLINE bool ecore_iov_mark_vf_flr(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u32 OSAL_UNUSED *disabled_vfs) {return false;}
+static OSAL_INLINE void *ecore_iov_search_list_tlvs(struct ecore_hwfn OSAL_UNUSED *p_hwfn, void OSAL_UNUSED *p_tlvs_list, u16 OSAL_UNUSED req_type) {return OSAL_NULL;}
+static OSAL_INLINE struct ecore_vf_info *ecore_iov_get_vf_info(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED relative_vf_id, bool OSAL_UNUSED b_enabled_only) {return OSAL_NULL;}
#endif
#endif /* __ECORE_SRIOV_H__ */
diff --git a/sys/dev/qlnx/qlnxe/ecore_vf.h b/sys/dev/qlnx/qlnxe/ecore_vf.h
index 91bf7cb..1847958 100644
--- a/sys/dev/qlnx/qlnxe/ecore_vf.h
+++ b/sys/dev/qlnx/qlnxe/ecore_vf.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __ECORE_VF_H__
#define __ECORE_VF_H__
@@ -69,7 +68,7 @@ struct ecore_vf_iov {
* start, and as they lack an IGU mapping they need to store the
* addresses of previously registered SBs.
* Even if we were to change configuration flow, due to backward
- * compatibility [with older PFs] we'd still need to store these.
+ * compatability [with older PFs] we'd still need to store these.
*/
struct ecore_sb_info *sbs_info[PFVF_MAX_SBS_PER_VF];
};
@@ -174,6 +173,7 @@ enum _ecore_status_t ecore_vf_pf_txq_stop(struct ecore_hwfn *p_hwfn,
/* TODO - fix all the !SRIOV prototypes */
+#ifndef LINUX_REMOVE
/**
* @brief VF - update the RX queue by sending a message to the
* PF
@@ -191,6 +191,7 @@ enum _ecore_status_t ecore_vf_pf_rxqs_update(struct ecore_hwfn *p_hwfn,
u8 num_rxqs,
u8 comp_cqe_flg,
u8 comp_event_flg);
+#endif
/**
* @brief VF - send a vport update command
@@ -293,63 +294,59 @@ enum _ecore_status_t ecore_vf_pf_int_cleanup(struct ecore_hwfn *p_hwfn);
/**
* @brief - return the link params in a given bulletin board
*
- * @param p_hwfn
* @param p_params - pointer to a struct to fill with link params
* @param p_bulletin
*/
-void __ecore_vf_get_link_params(struct ecore_hwfn *p_hwfn,
- struct ecore_mcp_link_params *p_params,
+void __ecore_vf_get_link_params(struct ecore_mcp_link_params *p_params,
struct ecore_bulletin_content *p_bulletin);
/**
* @brief - return the link state in a given bulletin board
*
- * @param p_hwfn
* @param p_link - pointer to a struct to fill with link state
* @param p_bulletin
*/
-void __ecore_vf_get_link_state(struct ecore_hwfn *p_hwfn,
- struct ecore_mcp_link_state *p_link,
+void __ecore_vf_get_link_state(struct ecore_mcp_link_state *p_link,
struct ecore_bulletin_content *p_bulletin);
/**
* @brief - return the link capabilities in a given bulletin board
*
- * @param p_hwfn
* @param p_link - pointer to a struct to fill with link capabilities
* @param p_bulletin
*/
-void __ecore_vf_get_link_caps(struct ecore_hwfn *p_hwfn,
- struct ecore_mcp_link_capabilities *p_link_caps,
+void __ecore_vf_get_link_caps(struct ecore_mcp_link_capabilities *p_link_caps,
struct ecore_bulletin_content *p_bulletin);
enum _ecore_status_t
ecore_vf_pf_tunnel_param_update(struct ecore_hwfn *p_hwfn,
struct ecore_tunnel_info *p_tunn);
void ecore_vf_set_vf_start_tunn_update_param(struct ecore_tunnel_info *p_tun);
#else
-static OSAL_INLINE enum _ecore_status_t ecore_vf_hw_prepare(struct ecore_hwfn *p_hwfn) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_rxq_start(struct ecore_hwfn *p_hwfn, struct ecore_queue_cid *p_cid, u16 bd_max_bytes, dma_addr_t bd_chain_phys_addr, dma_addr_t cqe_pbl_addr, u16 cqe_pbl_size, void OSAL_IOMEM **pp_prod) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_txq_start(struct ecore_hwfn *p_hwfn, struct ecore_queue_cid *p_cid, dma_addr_t pbl_addr, u16 pbl_size, void OSAL_IOMEM **pp_doorbell) {return ECORE_INVAL;}
-
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_rxq_stop(struct ecore_hwfn *p_hwfn, struct ecore_queue_cid *p_cid, bool cqe_completion) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_txq_stop(struct ecore_hwfn *p_hwfn, struct ecore_queue_cid *p_cid) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_rxqs_update(struct ecore_hwfn *p_hwfn, struct ecore_queue_cid **pp_cid, u8 num_rxqs, u8 comp_cqe_flg, u8 comp_event_flg) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_vport_update(struct ecore_hwfn *p_hwfn, struct ecore_sp_vport_update_params *p_params) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_reset(struct ecore_hwfn *p_hwfn) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_release(struct ecore_hwfn *p_hwfn) {return ECORE_INVAL;}
-static OSAL_INLINE u16 ecore_vf_get_igu_sb_id(struct ecore_hwfn *p_hwfn, u16 sb_id) {return 0;}
-static OSAL_INLINE void ecore_vf_set_sb_info(struct ecore_hwfn *p_hwfn, u16 sb_id, struct ecore_sb_info *p_sb) {}
-
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_vport_start(struct ecore_hwfn *p_hwfn, u8 vport_id, u16 mtu, u8 inner_vlan_removal, enum ecore_tpa_mode tpa_mode, u8 max_buffers_per_cqe, u8 only_untagged) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_vport_stop(struct ecore_hwfn *p_hwfn) {return ECORE_INVAL;}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_filter_ucast(struct ecore_hwfn *p_hwfn, struct ecore_filter_ucast *p_param) {return ECORE_INVAL;}
-static OSAL_INLINE void ecore_vf_pf_filter_mcast(struct ecore_hwfn *p_hwfn, struct ecore_filter_mcast *p_filter_cmd) {}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_int_cleanup(struct ecore_hwfn *p_hwfn) {return ECORE_INVAL;}
-static OSAL_INLINE void __ecore_vf_get_link_params(struct ecore_hwfn *p_hwfn, struct ecore_mcp_link_params *p_params, struct ecore_bulletin_content *p_bulletin) {}
-static OSAL_INLINE void __ecore_vf_get_link_state(struct ecore_hwfn *p_hwfn, struct ecore_mcp_link_state *p_link, struct ecore_bulletin_content *p_bulletin) {}
-static OSAL_INLINE void __ecore_vf_get_link_caps(struct ecore_hwfn *p_hwfn, struct ecore_mcp_link_capabilities *p_link_caps, struct ecore_bulletin_content *p_bulletin) {}
-static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_tunnel_param_update(struct ecore_hwfn *p_hwfn, struct ecore_tunnel_info *p_tunn) { return ECORE_INVAL; }
-static OSAL_INLINE void ecore_vf_set_vf_start_tunn_update_param(struct ecore_tunnel_info *p_tun) { return; }
+static OSAL_INLINE enum _ecore_status_t ecore_vf_hw_prepare(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {return ECORE_INVAL;}
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_rxq_start(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_queue_cid OSAL_UNUSED *p_cid, u16 OSAL_UNUSED bd_max_bytes, dma_addr_t OSAL_UNUSED bd_chain_phys_addr, dma_addr_t OSAL_UNUSED cqe_pbl_addr, u16 OSAL_UNUSED cqe_pbl_size, void OSAL_IOMEM OSAL_UNUSED **pp_prod) {return ECORE_INVAL;}
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_txq_start(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_queue_cid OSAL_UNUSED *p_cid, dma_addr_t OSAL_UNUSED pbl_addr, u16 OSAL_UNUSED pbl_size, void OSAL_IOMEM OSAL_UNUSED **pp_doorbell) {return ECORE_INVAL;}
+
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_rxq_stop(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_queue_cid OSAL_UNUSED *p_cid, bool OSAL_UNUSED cqe_completion) {return ECORE_INVAL;}
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_txq_stop(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_queue_cid OSAL_UNUSED *p_cid) {return ECORE_INVAL;}
+#ifndef LINUX_REMOVE
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_rxqs_update(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_queue_cid OSAL_UNUSED **pp_cid, u8 OSAL_UNUSED num_rxqs, u8 OSAL_UNUSED comp_cqe_flg, u8 OSAL_UNUSED comp_event_flg) {return ECORE_INVAL;}
+#endif
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_vport_update(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_sp_vport_update_params OSAL_UNUSED *p_params) {return ECORE_INVAL;}
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_reset(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {return ECORE_INVAL;}
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_release(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {return ECORE_INVAL;}
+static OSAL_INLINE u16 ecore_vf_get_igu_sb_id(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED sb_id) {return 0;}
+static OSAL_INLINE void ecore_vf_set_sb_info(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED sb_id, struct ecore_sb_info OSAL_UNUSED *p_sb) {}
+
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_vport_start(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED vport_id, u16 OSAL_UNUSED mtu, u8 OSAL_UNUSED inner_vlan_removal, enum ecore_tpa_mode OSAL_UNUSED tpa_mode, u8 OSAL_UNUSED max_buffers_per_cqe, u8 OSAL_UNUSED only_untagged) {return ECORE_INVAL;}
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_vport_stop(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {return ECORE_INVAL;}
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_filter_ucast(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_filter_ucast OSAL_UNUSED *p_param) {return ECORE_INVAL;}
+static OSAL_INLINE void ecore_vf_pf_filter_mcast(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_filter_mcast OSAL_UNUSED *p_filter_cmd) {}
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_int_cleanup(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {return ECORE_INVAL;}
+static OSAL_INLINE void __ecore_vf_get_link_params(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_mcp_link_params OSAL_UNUSED *p_params, struct ecore_bulletin_content OSAL_UNUSED *p_bulletin) {}
+static OSAL_INLINE void __ecore_vf_get_link_state(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_mcp_link_state OSAL_UNUSED *p_link, struct ecore_bulletin_content OSAL_UNUSED *p_bulletin) {}
+static OSAL_INLINE void __ecore_vf_get_link_caps(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_mcp_link_capabilities OSAL_UNUSED *p_link_caps, struct ecore_bulletin_content OSAL_UNUSED *p_bulletin) {}
+static OSAL_INLINE enum _ecore_status_t ecore_vf_pf_tunnel_param_update(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_tunnel_info OSAL_UNUSED *p_tunn) { return ECORE_INVAL; }
+static OSAL_INLINE void ecore_vf_set_vf_start_tunn_update_param(struct ecore_tunnel_info OSAL_UNUSED *p_tun) { return; }
#endif
#endif /* __ECORE_VF_H__ */
diff --git a/sys/dev/qlnx/qlnxe/ecore_vf_api.h b/sys/dev/qlnx/qlnxe/ecore_vf_api.h
index 08f84b3..f7b8f7f 100644
--- a/sys/dev/qlnx/qlnxe/ecore_vf_api.h
+++ b/sys/dev/qlnx/qlnxe/ecore_vf_api.h
@@ -47,7 +47,7 @@ enum _ecore_status_t ecore_vf_read_bulletin(struct ecore_hwfn *p_hwfn,
u8 *p_change);
/**
- * @brief Get link parameters for VF from ecore
+ * @brief Get link paramters for VF from ecore
*
* @param p_hwfn
* @param params - the link params structure to be filled for the VF
@@ -128,6 +128,7 @@ void ecore_vf_get_num_mac_filters(struct ecore_hwfn *p_hwfn,
*/
bool ecore_vf_check_mac(struct ecore_hwfn *p_hwfn, u8 *mac);
+#ifndef LINUX_REMOVE
/**
* @brief Copy forced MAC address from bulletin board
*
@@ -162,6 +163,7 @@ bool ecore_vf_bulletin_get_forced_vlan(struct ecore_hwfn *hwfn, u16 *dst_pvid);
*/
bool ecore_vf_get_pre_fp_hsi(struct ecore_hwfn *p_hwfn);
+#endif
/**
* @brief Set firmware version information in dev_info from VFs acquire response tlv
@@ -180,19 +182,21 @@ void ecore_vf_get_fw_version(struct ecore_hwfn *p_hwfn,
void ecore_vf_bulletin_get_udp_ports(struct ecore_hwfn *p_hwfn,
u16 *p_vxlan_port, u16 *p_geneve_port);
#else
-static OSAL_INLINE enum _ecore_status_t ecore_vf_read_bulletin(struct ecore_hwfn *p_hwfn, u8 *p_change) {return ECORE_INVAL;}
-static OSAL_INLINE void ecore_vf_get_link_params(struct ecore_hwfn *p_hwfn, struct ecore_mcp_link_params *params) {}
-static OSAL_INLINE void ecore_vf_get_link_state(struct ecore_hwfn *p_hwfn, struct ecore_mcp_link_state *link) {}
-static OSAL_INLINE void ecore_vf_get_link_caps(struct ecore_hwfn *p_hwfn, struct ecore_mcp_link_capabilities *p_link_caps) {}
-static OSAL_INLINE void ecore_vf_get_num_rxqs(struct ecore_hwfn *p_hwfn, u8 *num_rxqs) {}
-static OSAL_INLINE void ecore_vf_get_num_txqs(struct ecore_hwfn *p_hwfn, u8 *num_txqs) {}
-static OSAL_INLINE void ecore_vf_get_port_mac(struct ecore_hwfn *p_hwfn, u8 *port_mac) {}
-static OSAL_INLINE void ecore_vf_get_num_vlan_filters(struct ecore_hwfn *p_hwfn, u8 *num_vlan_filters) {}
-static OSAL_INLINE void ecore_vf_get_num_mac_filters(struct ecore_hwfn *p_hwfn, u8 *num_mac_filters) {}
-static OSAL_INLINE bool ecore_vf_check_mac(struct ecore_hwfn *p_hwfn, u8 *mac) {return false;}
-static OSAL_INLINE bool ecore_vf_bulletin_get_forced_mac(struct ecore_hwfn *hwfn, u8 *dst_mac, u8 *p_is_forced) {return false;}
-static OSAL_INLINE bool ecore_vf_get_pre_fp_hsi(struct ecore_hwfn *p_hwfn) {return false; }
-static OSAL_INLINE void ecore_vf_get_fw_version(struct ecore_hwfn *p_hwfn, u16 *fw_major, u16 *fw_minor, u16 *fw_rev, u16 *fw_eng) {}
-static OSAL_INLINE void ecore_vf_bulletin_get_udp_ports(struct ecore_hwfn *p_hwfn, u16 *p_vxlan_port, u16 *p_geneve_port) { return; }
+static OSAL_INLINE enum _ecore_status_t ecore_vf_read_bulletin(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED *p_change) {return ECORE_INVAL;}
+static OSAL_INLINE void ecore_vf_get_link_params(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_mcp_link_params OSAL_UNUSED *params) {}
+static OSAL_INLINE void ecore_vf_get_link_state(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_mcp_link_state OSAL_UNUSED *link) {}
+static OSAL_INLINE void ecore_vf_get_link_caps(struct ecore_hwfn OSAL_UNUSED *p_hwfn, struct ecore_mcp_link_capabilities OSAL_UNUSED *p_link_caps) {}
+static OSAL_INLINE void ecore_vf_get_num_rxqs(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED *num_rxqs) {}
+static OSAL_INLINE void ecore_vf_get_num_txqs(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED *num_txqs) {}
+static OSAL_INLINE void ecore_vf_get_port_mac(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED *port_mac) {}
+static OSAL_INLINE void ecore_vf_get_num_vlan_filters(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED *num_vlan_filters) {}
+static OSAL_INLINE void ecore_vf_get_num_mac_filters(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED *num_mac_filters) {}
+static OSAL_INLINE bool ecore_vf_check_mac(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u8 OSAL_UNUSED *mac) {return false;}
+#ifndef LINUX_REMOVE
+static OSAL_INLINE bool ecore_vf_bulletin_get_forced_mac(struct ecore_hwfn OSAL_UNUSED *hwfn, u8 OSAL_UNUSED *dst_mac, u8 OSAL_UNUSED *p_is_forced) {return false;}
+static OSAL_INLINE bool ecore_vf_get_pre_fp_hsi(struct ecore_hwfn OSAL_UNUSED *p_hwfn) {return false; }
+#endif
+static OSAL_INLINE void ecore_vf_get_fw_version(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED *fw_major, u16 OSAL_UNUSED *fw_minor, u16 OSAL_UNUSED *fw_rev, u16 OSAL_UNUSED *fw_eng) {}
+static OSAL_INLINE void ecore_vf_bulletin_get_udp_ports(struct ecore_hwfn OSAL_UNUSED *p_hwfn, u16 OSAL_UNUSED *p_vxlan_port, u16 OSAL_UNUSED *p_geneve_port) { return; }
#endif
#endif
diff --git a/sys/dev/qlnx/qlnxe/ecore_vfpf_if.h b/sys/dev/qlnx/qlnxe/ecore_vfpf_if.h
index 29e43c2..28b3343 100644
--- a/sys/dev/qlnx/qlnxe/ecore_vfpf_if.h
+++ b/sys/dev/qlnx/qlnxe/ecore_vfpf_if.h
@@ -28,12 +28,15 @@
*
*/
+
#ifndef __ECORE_VF_PF_IF_H__
#define __ECORE_VF_PF_IF_H__
#define T_ETH_INDIRECTION_TABLE_SIZE 128 /* @@@ TBD MichalK this should be HSI? */
#define T_ETH_RSS_KEY_SIZE 10 /* @@@ TBD this should be HSI? */
+#ifndef LINUX_REMOVE
#define ETH_ALEN 6 /* @@@ TBD MichalK - should this be defined here?*/
+#endif
/***********************************************
*
@@ -105,11 +108,13 @@ struct vfpf_acquire_tlv {
struct vfpf_first_tlv first_tlv;
struct vf_pf_vfdev_info {
+#ifndef LINUX_REMOVE
/* First bit was used on 8.7.x and 8.8.x versions, which had different
* FWs used but with the same faspath HSI. As this was prior to the
* fastpath versioning, wanted to have ability to override fw matching
* and allow them to interact.
*/
+#endif
#define VFPF_ACQUIRE_CAP_PRE_FP_HSI (1 << 0) /* VF pre-FP hsi version */
#define VFPF_ACQUIRE_CAP_100G (1 << 1) /* VF can support 100g */
@@ -191,6 +196,11 @@ struct pfvf_acquire_resp_tlv {
* To overcome this, PFs now indicate that they're past that point and the new
* VFs would fail probe on the older PFs that fail to do so.
*/
+#ifndef LINUX_REMOVE
+/* Said bug was in quest/serpens; Can't be certain no official release included
+ * the bug since the fix arrived very late in the programs.
+ */
+#endif
#define PFVF_ACQUIRE_CAP_POST_FW_OVERRIDE (1 << 2)
/* PF expects queues to be received with additional qids */
diff --git a/sys/dev/qlnx/qlnxe/eth_common.h b/sys/dev/qlnx/qlnxe/eth_common.h
index be69494..83daadf 100644
--- a/sys/dev/qlnx/qlnxe/eth_common.h
+++ b/sys/dev/qlnx/qlnxe/eth_common.h
@@ -28,6 +28,7 @@
*
*/
+
#ifndef __ETH_COMMON__
#define __ETH_COMMON__
/********************/
diff --git a/sys/dev/qlnx/qlnxe/fcoe_common.h b/sys/dev/qlnx/qlnxe/fcoe_common.h
index d1ce702..ecb0231 100644
--- a/sys/dev/qlnx/qlnxe/fcoe_common.h
+++ b/sys/dev/qlnx/qlnxe/fcoe_common.h
@@ -28,6 +28,7 @@
*
*/
+
#ifndef __FCOE_COMMON__
#define __FCOE_COMMON__
/*********************/
@@ -41,249 +42,6 @@
/*
- * fields coppied from ABTSrsp pckt
- */
-struct fcoe_abts_pkt
-{
- __le32 abts_rsp_fc_payload_lo /* Abts flow: last 32 bits of fcPayload, out of 96 */;
- __le16 abts_rsp_rx_id /* Abts flow: rxId parameter of the abts packet */;
- u8 abts_rsp_rctl /* Abts flow: rctl parameter of the abts packet */;
- u8 reserved2;
-};
-
-
-/*
- * FCoE additional WQE (Sq/ XferQ) information
- */
-union fcoe_additional_info_union
-{
- __le32 previous_tid /* Previous tid. Used for Send XFER WQEs in Multiple continuation mode - Target only. */;
- __le32 parent_tid /* Parent tid. Used for write tasks in a continuation mode - Target only */;
- __le32 burst_length /* The desired burst length. */;
- __le32 seq_rec_updated_offset /* The updated offset in SGL - Used in sequence recovery */;
-};
-
-
-/*
- * Cached data sges
- */
-struct fcoe_exp_ro
-{
- __le32 data_offset /* data-offset */;
- __le32 reserved /* High data-offset */;
-};
-
-/*
- * Union of Cleanup address \ expected relative offsets
- */
-union fcoe_cleanup_addr_exp_ro_union
-{
- struct regpair abts_rsp_fc_payload_hi /* Abts flow: first 64 bits of fcPayload, out of 96 */;
- struct fcoe_exp_ro exp_ro /* Expected relative offsets */;
-};
-
-
-/*
- * FCoE Ramrod Command IDs
- */
-enum fcoe_completion_status
-{
- FCOE_COMPLETION_STATUS_SUCCESS /* FCoE ramrod completed successfully */,
- FCOE_COMPLETION_STATUS_FCOE_VER_ERR /* Wrong FCoE version */,
- FCOE_COMPLETION_STATUS_SRC_MAC_ADD_ARR_ERR /* src_mac_arr for the current physical port is full- allocation failed */,
- MAX_FCOE_COMPLETION_STATUS
-};
-
-
-/*
- * FC address (SID/DID) network presentation
- */
-struct fc_addr_nw
-{
- u8 addr_lo /* First byte of the SID/DID address that comes/goes from/to the NW (for example if SID is 11:22:33 - this is 0x11) */;
- u8 addr_mid;
- u8 addr_hi;
-};
-
-/*
- * FCoE connection offload
- */
-struct fcoe_conn_offload_ramrod_data
-{
- struct regpair sq_pbl_addr /* SQ Pbl base address */;
- struct regpair sq_curr_page_addr /* SQ current page address */;
- struct regpair sq_next_page_addr /* SQ next page address */;
- struct regpair xferq_pbl_addr /* XFERQ Pbl base address */;
- struct regpair xferq_curr_page_addr /* XFERQ current page address */;
- struct regpair xferq_next_page_addr /* XFERQ next page address */;
- struct regpair respq_pbl_addr /* RESPQ Pbl base address */;
- struct regpair respq_curr_page_addr /* RESPQ current page address */;
- struct regpair respq_next_page_addr /* RESPQ next page address */;
- __le16 dst_mac_addr_lo /* First word of the MAC address that comes/goes from/to the NW (for example if MAC is 11:22:33:44:55:66 - this is 0x2211) */;
- __le16 dst_mac_addr_mid;
- __le16 dst_mac_addr_hi;
- __le16 src_mac_addr_lo /* Source MAC address in NW order - First word of the MAC address that comes/goes from/to the NW (for example if MAC is 11:22:33:44:55:66 - this is 0x2211) */;
- __le16 src_mac_addr_mid;
- __le16 src_mac_addr_hi;
- __le16 tx_max_fc_pay_len /* The maximum acceptable FC payload size (Buffer-to-buffer Receive Data_Field size) supported by target, received during both FLOGI and PLOGI, minimum value should be taken */;
- __le16 e_d_tov_timer_val /* E_D_TOV timeout value in resolution of 1 msec */;
- __le16 rx_max_fc_pay_len /* Maximum acceptable FC payload size supported by us */;
- __le16 vlan_tag;
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_VLAN_ID_MASK 0xFFF /* Vlan id */
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_VLAN_ID_SHIFT 0
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_CFI_MASK 0x1 /* Canonical format indicator */
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_CFI_SHIFT 12
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_PRIORITY_MASK 0x7 /* Vlan priority */
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_PRIORITY_SHIFT 13
- __le16 physical_q0 /* Physical QM queue to be linked to logical queue 0 (fastPath queue) */;
- __le16 rec_rr_tov_timer_val /* REC_TOV timeout value in resolution of 1 msec */;
- struct fc_addr_nw s_id /* Source ID in NW order, received during FLOGI */;
- u8 max_conc_seqs_c3 /* Maximum concurrent Sequences for Class 3 supported by target, received during PLOGI */;
- struct fc_addr_nw d_id /* Destination ID in NW order, received after inquiry of the fabric network */;
- u8 flags;
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_CONT_INCR_SEQ_CNT_MASK 0x1 /* Continuously increasing SEQ_CNT indication, received during PLOGI */
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_CONT_INCR_SEQ_CNT_SHIFT 0
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_CONF_REQ_MASK 0x1 /* Confirmation request supported */
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_CONF_REQ_SHIFT 1
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_REC_VALID_MASK 0x1 /* REC allowed */
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_REC_VALID_SHIFT 2
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_VLAN_FLAG_MASK 0x1 /* Does inner vlan exist */
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_VLAN_FLAG_SHIFT 3
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_MODE_MASK 0x3 /* indication for conn mode: 0=Initiator, 1=Target, 2=Both Initiator and Traget */
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_MODE_SHIFT 4
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_RESERVED0_MASK 0x3
-#define FCOE_CONN_OFFLOAD_RAMROD_DATA_RESERVED0_SHIFT 6
- __le16 conn_id /* Drivers connection ID. Should be sent in EQs to speed-up drivers access to connection data. */;
- u8 def_q_idx /* Default queue number to be used for unsolicited traffic */;
- u8 reserved[5];
-};
-
-
-/*
- * FCoE terminate connection request
- */
-struct fcoe_conn_terminate_ramrod_data
-{
- struct regpair terminate_params_addr /* Terminate params ptr */;
-};
-
-
-/*
- * Data sgl
- */
-struct fcoe_slow_sgl_ctx
-{
- struct regpair base_sgl_addr /* Address of first SGE in SGL */;
- __le16 curr_sge_off /* Offset in current BD (in bytes) */;
- __le16 remainder_num_sges /* Number of BDs */;
- __le16 curr_sgl_index /* Index of current SGE */;
- __le16 reserved;
-};
-
-/*
- * Union of DIX SGL \ cached DIX sges
- */
-union fcoe_dix_desc_ctx
-{
- struct fcoe_slow_sgl_ctx dix_sgl /* DIX slow-SGL data base */;
- struct scsi_sge cached_dix_sge /* Cached DIX sge */;
-};
-
-
-
-/*
- * Data sgl
- */
-struct fcoe_fast_sgl_ctx
-{
- struct regpair sgl_start_addr /* Current sge address */;
- __le32 sgl_byte_offset /* Byte offset from the beginning of the first page in the SGL. In case SGL starts in the middle of page then driver should init this value with the start offset */;
- __le16 task_reuse_cnt /* The reuse count for that task. Wrap ion 4K value. */;
- __le16 init_offset_in_first_sge /* offset from the beginning of the first page in the SGL, never changed by FW */;
-};
-
-
-/*
- * FCP CMD payload
- */
-struct fcoe_fcp_cmd_payload
-{
- __le32 opaque[8] /* The FCP_CMD payload */;
-};
-
-
-/*
- * FCP RSP payload
- */
-struct fcoe_fcp_rsp_payload
-{
- __le32 opaque[6] /* The FCP_RSP payload */;
-};
-
-
-/*
- * FCP RSP payload
- */
-struct fcoe_fcp_xfer_payload
-{
- __le32 opaque[3] /* The FCP_XFER payload */;
-};
-
-
-/*
- * FCoE firmware function init
- */
-struct fcoe_init_func_ramrod_data
-{
- struct scsi_init_func_params func_params /* Common SCSI init params passed by driver to FW in function init ramrod */;
- struct scsi_init_func_queues q_params /* SCSI RQ/CQ/CMDQ firmware function init parameters */;
- __le16 mtu /* Max transmission unit */;
- __le16 sq_num_pages_in_pbl /* Number of pages at Send Queue */;
- __le32 reserved;
-};
-
-
-/*
- * FCoE: Mode of the connection: Target or Initiator or both
- */
-enum fcoe_mode_type
-{
- FCOE_INITIATOR_MODE=0x0,
- FCOE_TARGET_MODE=0x1,
- FCOE_BOTH_OR_NOT_CHOSEN=0x3,
- MAX_FCOE_MODE_TYPE
-};
-
-
-/*
- * Per PF FCoE receive path statistics - tStorm RAM structure
- */
-struct fcoe_rx_stat
-{
- struct regpair fcoe_rx_byte_cnt /* Number of FCoE bytes that were received */;
- struct regpair fcoe_rx_data_pkt_cnt /* Number of FCoE FCP DATA packets that were received */;
- struct regpair fcoe_rx_xfer_pkt_cnt /* Number of FCoE FCP XFER RDY packets that were received */;
- struct regpair fcoe_rx_other_pkt_cnt /* Number of FCoE packets which are not DATA/XFER_RDY that were received */;
- __le32 fcoe_silent_drop_pkt_cmdq_full_cnt /* Number of packets that were silently dropped since CMDQ was full */;
- __le32 fcoe_silent_drop_pkt_rq_full_cnt /* Number of packets that were silently dropped since RQ (BDQ) was full */;
- __le32 fcoe_silent_drop_pkt_crc_error_cnt /* Number of packets that were silently dropped due to FC CRC error */;
- __le32 fcoe_silent_drop_pkt_task_invalid_cnt /* Number of packets that were silently dropped since task was not valid */;
- __le32 fcoe_silent_drop_total_pkt_cnt /* Number of FCoE packets that were silently dropped */;
- __le32 rsrv;
-};
-
-
-
-/*
- * FCoe statistics request
- */
-struct fcoe_stat_ramrod_data
-{
- struct regpair stat_params_addr /* Statistics host address */;
-};
-
-
-/*
* The fcoe storm task context protection-information of Ystorm
*/
struct protection_info_ctx
@@ -315,6 +73,22 @@ union protection_info_union_ctx
};
/*
+ * FCP CMD payload
+ */
+struct fcoe_fcp_cmd_payload
+{
+ __le32 opaque[8] /* The FCP_CMD payload */;
+};
+
+/*
+ * FCP RSP payload
+ */
+struct fcoe_fcp_rsp_payload
+{
+ __le32 opaque[6] /* The FCP_RSP payload */;
+};
+
+/*
* FCP RSP payload
*/
struct fcp_rsp_payload_padded
@@ -326,6 +100,14 @@ struct fcp_rsp_payload_padded
/*
* FCP RSP payload
*/
+struct fcoe_fcp_xfer_payload
+{
+ __le32 opaque[3] /* The FCP_XFER payload */;
+};
+
+/*
+ * FCP RSP payload
+ */
struct fcp_xfer_payload_padded
{
struct fcoe_fcp_xfer_payload xfer_payload /* The FCP_XFER payload */;
@@ -391,6 +173,27 @@ union fcoe_tx_info_union_ctx
};
/*
+ * Data sgl
+ */
+struct fcoe_slow_sgl_ctx
+{
+ struct regpair base_sgl_addr /* Address of first SGE in SGL */;
+ __le16 curr_sge_off /* Offset in current BD (in bytes) */;
+ __le16 remainder_num_sges /* Number of BDs */;
+ __le16 curr_sgl_index /* Index of current SGE */;
+ __le16 reserved;
+};
+
+/*
+ * Union of DIX SGL \ cached DIX sges
+ */
+union fcoe_dix_desc_ctx
+{
+ struct fcoe_slow_sgl_ctx dix_sgl /* DIX slow-SGL data base */;
+ struct scsi_sge cached_dix_sge /* Cached DIX sge */;
+};
+
+/*
* The fcoe storm task context of Ystorm
*/
struct ystorm_fcoe_task_st_ctx
@@ -555,6 +358,35 @@ struct e4_tstorm_fcoe_task_ag_ctx
};
/*
+ * Cached data sges
+ */
+struct fcoe_exp_ro
+{
+ __le32 data_offset /* data-offset */;
+ __le32 reserved /* High data-offset */;
+};
+
+/*
+ * Union of Cleanup address \ expected relative offsets
+ */
+union fcoe_cleanup_addr_exp_ro_union
+{
+ struct regpair abts_rsp_fc_payload_hi /* Abts flow: first 64 bits of fcPayload, out of 96 */;
+ struct fcoe_exp_ro exp_ro /* Expected relative offsets */;
+};
+
+/*
+ * fields coppied from ABTSrsp pckt
+ */
+struct fcoe_abts_pkt
+{
+ __le32 abts_rsp_fc_payload_lo /* Abts flow: last 32 bits of fcPayload, out of 96 */;
+ __le16 abts_rsp_rx_id /* Abts flow: rxId parameter of the abts packet */;
+ u8 abts_rsp_rctl /* Abts flow: rctl parameter of the abts packet */;
+ u8 reserved2;
+};
+
+/*
* FW read- write (modifyable) part The fcoe task storm context of Tstorm
*/
struct fcoe_tstorm_fcoe_task_st_ctx_read_write
@@ -764,7 +596,7 @@ struct e4_ustorm_fcoe_task_ag_ctx
/*
* fcoe task context
*/
-struct fcoe_task_context
+struct e4_fcoe_task_context
{
struct ystorm_fcoe_task_st_ctx ystorm_st_context /* ystorm storm context */;
struct regpair ystorm_st_padding[2] /* padding */;
@@ -781,150 +613,77 @@ struct fcoe_task_context
};
-
-
-
-
-
-
-/*
- * Per PF FCoE transmit path statistics - pStorm RAM structure
- */
-struct fcoe_tx_stat
-{
- struct regpair fcoe_tx_byte_cnt /* Transmitted FCoE bytes count */;
- struct regpair fcoe_tx_data_pkt_cnt /* Transmitted FCoE FCP DATA packets count */;
- struct regpair fcoe_tx_xfer_pkt_cnt /* Transmitted FCoE XFER_RDY packets count */;
- struct regpair fcoe_tx_other_pkt_cnt /* Transmitted FCoE packets which are not DATA/XFER_RDY count */;
-};
-
-
-/*
- * FCoE SQ/XferQ element
- */
-struct fcoe_wqe
-{
- __le16 task_id /* Initiator - The task identifier (OX_ID). Target - Continuation tid or RX_ID in non-continuation mode */;
- __le16 flags;
-#define FCOE_WQE_REQ_TYPE_MASK 0xF /* Type of the wqe request. use enum fcoe_sqe_request_type (use enum fcoe_sqe_request_type) */
-#define FCOE_WQE_REQ_TYPE_SHIFT 0
-#define FCOE_WQE_SGL_MODE_MASK 0x1 /* The driver will give a hint about sizes of SGEs for better credits evaluation at Xstorm. use enum scsi_sgl_mode (use enum scsi_sgl_mode) */
-#define FCOE_WQE_SGL_MODE_SHIFT 4
-#define FCOE_WQE_CONTINUATION_MASK 0x1 /* Indication if this wqe is a continuation to an existing task (Target only) */
-#define FCOE_WQE_CONTINUATION_SHIFT 5
-#define FCOE_WQE_SEND_AUTO_RSP_MASK 0x1 /* Indication to FW to send FCP_RSP after all data was sent - Target only */
-#define FCOE_WQE_SEND_AUTO_RSP_SHIFT 6
-#define FCOE_WQE_RESERVED_MASK 0x1
-#define FCOE_WQE_RESERVED_SHIFT 7
-#define FCOE_WQE_NUM_SGES_MASK 0xF /* Number of SGEs. 8 = at least 8 sges */
-#define FCOE_WQE_NUM_SGES_SHIFT 8
-#define FCOE_WQE_RESERVED1_MASK 0xF
-#define FCOE_WQE_RESERVED1_SHIFT 12
- union fcoe_additional_info_union additional_info_union /* Additional wqe information (if needed) */;
-};
-
-
-
-
-
-
-
-
-
-/*
- * FCoE XFRQ element
- */
-struct xfrqe_prot_flags
-{
- u8 flags;
-#define XFRQE_PROT_FLAGS_PROT_INTERVAL_SIZE_LOG_MASK 0xF /* Protection log interval (9=512 10=1024 11=2048 12=4096 13=8192) */
-#define XFRQE_PROT_FLAGS_PROT_INTERVAL_SIZE_LOG_SHIFT 0
-#define XFRQE_PROT_FLAGS_DIF_TO_PEER_MASK 0x1 /* If DIF protection is configured against target (0=no, 1=yes) */
-#define XFRQE_PROT_FLAGS_DIF_TO_PEER_SHIFT 4
-#define XFRQE_PROT_FLAGS_HOST_INTERFACE_MASK 0x3 /* If DIF/DIX protection is configured against the host (0=none, 1=DIF, 2=DIX) */
-#define XFRQE_PROT_FLAGS_HOST_INTERFACE_SHIFT 5
-#define XFRQE_PROT_FLAGS_RESERVED_MASK 0x1 /* Must set to 0 */
-#define XFRQE_PROT_FLAGS_RESERVED_SHIFT 7
-};
-
-
-
-
-
-
-
-struct e5_mstorm_fcoe_task_ag_ctx
+struct e5_ystorm_fcoe_task_ag_ctx
{
u8 byte0 /* cdu_validation */;
u8 byte1 /* state_and_core_id */;
- __le16 icid /* icid */;
+ __le16 word0 /* icid */;
u8 flags0;
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E5_MSTORM_FCOE_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CQE_PLACED_MASK 0x1 /* exist_in_qm1 */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CQE_PLACED_SHIFT 5
-#define E5_MSTORM_FCOE_TASK_AG_CTX_BIT2_MASK 0x1 /* bit2 */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_BIT2_SHIFT 6
-#define E5_MSTORM_FCOE_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_BIT3_SHIFT 7
+#define E5_YSTORM_FCOE_TASK_AG_CTX_NIBBLE0_MASK 0xF /* connection_type */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_NIBBLE0_SHIFT 0
+#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT0_SHIFT 4
+#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT1_SHIFT 5
+#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT2_MASK 0x1 /* bit2 */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT2_SHIFT 6
+#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT3_SHIFT 7
u8 flags1;
-#define E5_MSTORM_FCOE_TASK_AG_CTX_EX_CLEANUP_CF_MASK 0x3 /* cf0 */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_EX_CLEANUP_CF_SHIFT 0
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CF1_SHIFT 2
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CF2_MASK 0x3 /* cf2 */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CF2_SHIFT 4
-#define E5_MSTORM_FCOE_TASK_AG_CTX_EX_CLEANUP_CF_EN_MASK 0x1 /* cf0en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_EX_CLEANUP_CF_EN_SHIFT 6
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CF1EN_SHIFT 7
+#define E5_YSTORM_FCOE_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_CF0_SHIFT 0
+#define E5_YSTORM_FCOE_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_CF1_SHIFT 2
+#define E5_YSTORM_FCOE_TASK_AG_CTX_CF2SPECIAL_MASK 0x3 /* cf2special */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
+#define E5_YSTORM_FCOE_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_CF0EN_SHIFT 6
+#define E5_YSTORM_FCOE_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_CF1EN_SHIFT 7
u8 flags2;
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_CF2EN_SHIFT 0
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE0EN_SHIFT 1
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE1EN_SHIFT 2
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE2EN_SHIFT 3
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE3EN_SHIFT 4
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE4EN_SHIFT 5
-#define E5_MSTORM_FCOE_TASK_AG_CTX_XFER_PLACEMENT_EN_MASK 0x1 /* rule5en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_XFER_PLACEMENT_EN_SHIFT 6
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE6EN_SHIFT 7
+#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT4_SHIFT 0
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE0EN_SHIFT 1
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE1EN_SHIFT 2
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE2EN_SHIFT 3
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE3EN_SHIFT 4
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE4EN_SHIFT 5
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE5EN_SHIFT 6
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE6EN_SHIFT 7
u8 flags3;
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit4 */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
-#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
- __le32 received_bytes /* reg0 */;
- u8 cleanup_state /* byte2 */;
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit5 */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
+#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
+ __le32 reg0 /* reg0 */;
+ u8 byte2 /* byte2 */;
u8 byte3 /* byte3 */;
- u8 glbl_q_num /* byte4 */;
+ u8 byte4 /* byte4 */;
u8 e4_reserved7 /* byte5 */;
- __le16 word1 /* regpair0 */;
- __le16 tid_to_xfer /* word2 */;
+ __le16 rx_id /* word1 */;
+ __le16 word2 /* word2 */;
__le16 word3 /* word3 */;
__le16 word4 /* word4 */;
- __le16 word5 /* regpair1 */;
+ __le16 word5 /* word5 */;
__le16 e4_reserved8 /* word6 */;
- __le32 expected_bytes /* reg1 */;
+ __le32 reg1 /* reg1 */;
};
-
struct e5_tstorm_fcoe_task_ag_ctx
{
u8 reserved /* cdu_validation */;
@@ -1005,6 +764,76 @@ struct e5_tstorm_fcoe_task_ag_ctx
__le32 data_offset_next /* reg2 */;
};
+struct e5_mstorm_fcoe_task_ag_ctx
+{
+ u8 byte0 /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ __le16 icid /* icid */;
+ u8 flags0;
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E5_MSTORM_FCOE_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CQE_PLACED_MASK 0x1 /* exist_in_qm1 */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CQE_PLACED_SHIFT 5
+#define E5_MSTORM_FCOE_TASK_AG_CTX_BIT2_MASK 0x1 /* bit2 */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_BIT2_SHIFT 6
+#define E5_MSTORM_FCOE_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_BIT3_SHIFT 7
+ u8 flags1;
+#define E5_MSTORM_FCOE_TASK_AG_CTX_EX_CLEANUP_CF_MASK 0x3 /* cf0 */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_EX_CLEANUP_CF_SHIFT 0
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CF1_SHIFT 2
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CF2_MASK 0x3 /* cf2 */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CF2_SHIFT 4
+#define E5_MSTORM_FCOE_TASK_AG_CTX_EX_CLEANUP_CF_EN_MASK 0x1 /* cf0en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_EX_CLEANUP_CF_EN_SHIFT 6
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CF1EN_SHIFT 7
+ u8 flags2;
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_CF2EN_SHIFT 0
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE0EN_SHIFT 1
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE1EN_SHIFT 2
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE2EN_SHIFT 3
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE3EN_SHIFT 4
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE4EN_SHIFT 5
+#define E5_MSTORM_FCOE_TASK_AG_CTX_XFER_PLACEMENT_EN_MASK 0x1 /* rule5en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_XFER_PLACEMENT_EN_SHIFT 6
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_RULE6EN_SHIFT 7
+ u8 flags3;
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit4 */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
+#define E5_MSTORM_FCOE_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
+ __le32 received_bytes /* reg0 */;
+ u8 cleanup_state /* byte2 */;
+ u8 byte3 /* byte3 */;
+ u8 glbl_q_num /* byte4 */;
+ u8 e4_reserved7 /* byte5 */;
+ __le16 word1 /* regpair0 */;
+ __le16 tid_to_xfer /* word2 */;
+ __le16 word3 /* word3 */;
+ __le16 word4 /* word4 */;
+ __le16 word5 /* regpair1 */;
+ __le16 e4_reserved8 /* word6 */;
+ __le32 expected_bytes /* reg1 */;
+};
struct e5_ustorm_fcoe_task_ag_ctx
{
@@ -1082,79 +911,271 @@ struct e5_ustorm_fcoe_task_ag_ctx
__le32 reg4 /* reg4 */;
};
+/*
+ * fcoe task context
+ */
+struct e5_fcoe_task_context
+{
+ struct ystorm_fcoe_task_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct regpair ystorm_st_padding[2] /* padding */;
+ struct tdif_task_context tdif_context /* tdif context */;
+ struct e5_ystorm_fcoe_task_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
+ struct e5_tstorm_fcoe_task_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
+ struct timers_context timer_context /* timer context */;
+ struct tstorm_fcoe_task_st_ctx tstorm_st_context /* tstorm storm context */;
+ struct regpair tstorm_st_padding[2] /* padding */;
+ struct e5_mstorm_fcoe_task_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
+ struct mstorm_fcoe_task_st_ctx mstorm_st_context /* mstorm storm context */;
+ struct e5_ustorm_fcoe_task_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+ struct rdif_task_context rdif_context /* rdif context */;
+};
-struct e5_ystorm_fcoe_task_ag_ctx
+
+
+/*
+ * FCoE additional WQE (Sq/ XferQ) information
+ */
+union fcoe_additional_info_union
{
- u8 byte0 /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- __le16 word0 /* icid */;
- u8 flags0;
-#define E5_YSTORM_FCOE_TASK_AG_CTX_NIBBLE0_MASK 0xF /* connection_type */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_NIBBLE0_SHIFT 0
-#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT0_SHIFT 4
-#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT1_SHIFT 5
-#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT2_MASK 0x1 /* bit2 */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT2_SHIFT 6
-#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT3_SHIFT 7
- u8 flags1;
-#define E5_YSTORM_FCOE_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_CF0_SHIFT 0
-#define E5_YSTORM_FCOE_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_CF1_SHIFT 2
-#define E5_YSTORM_FCOE_TASK_AG_CTX_CF2SPECIAL_MASK 0x3 /* cf2special */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
-#define E5_YSTORM_FCOE_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_CF0EN_SHIFT 6
-#define E5_YSTORM_FCOE_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_CF1EN_SHIFT 7
- u8 flags2;
-#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_BIT4_SHIFT 0
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE0EN_SHIFT 1
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE1EN_SHIFT 2
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE2EN_SHIFT 3
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE3EN_SHIFT 4
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE4EN_SHIFT 5
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE5EN_SHIFT 6
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_RULE6EN_SHIFT 7
- u8 flags3;
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit5 */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
-#define E5_YSTORM_FCOE_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
- __le32 reg0 /* reg0 */;
- u8 byte2 /* byte2 */;
- u8 byte3 /* byte3 */;
- u8 byte4 /* byte4 */;
- u8 e4_reserved7 /* byte5 */;
- __le16 rx_id /* word1 */;
- __le16 word2 /* word2 */;
- __le16 word3 /* word3 */;
- __le16 word4 /* word4 */;
- __le16 word5 /* word5 */;
- __le16 e4_reserved8 /* word6 */;
- __le32 reg1 /* reg1 */;
+ __le32 previous_tid /* Previous tid. Used for Send XFER WQEs in Multiple continuation mode - Target only. */;
+ __le32 parent_tid /* Parent tid. Used for write tasks in a continuation mode - Target only */;
+ __le32 burst_length /* The desired burst length. */;
+ __le32 seq_rec_updated_offset /* The updated offset in SGL - Used in sequence recovery */;
+};
+
+
+
+/*
+ * FCoE Ramrod Command IDs
+ */
+enum fcoe_completion_status
+{
+ FCOE_COMPLETION_STATUS_SUCCESS /* FCoE ramrod completed successfully */,
+ FCOE_COMPLETION_STATUS_FCOE_VER_ERR /* Wrong FCoE version */,
+ FCOE_COMPLETION_STATUS_SRC_MAC_ADD_ARR_ERR /* src_mac_arr for the current physical port is full- allocation failed */,
+ MAX_FCOE_COMPLETION_STATUS
+};
+
+
+/*
+ * FC address (SID/DID) network presentation
+ */
+struct fc_addr_nw
+{
+ u8 addr_lo /* First byte of the SID/DID address that comes/goes from/to the NW (for example if SID is 11:22:33 - this is 0x11) */;
+ u8 addr_mid;
+ u8 addr_hi;
+};
+
+/*
+ * FCoE connection offload
+ */
+struct fcoe_conn_offload_ramrod_data
+{
+ struct regpair sq_pbl_addr /* SQ Pbl base address */;
+ struct regpair sq_curr_page_addr /* SQ current page address */;
+ struct regpair sq_next_page_addr /* SQ next page address */;
+ struct regpair xferq_pbl_addr /* XFERQ Pbl base address */;
+ struct regpair xferq_curr_page_addr /* XFERQ current page address */;
+ struct regpair xferq_next_page_addr /* XFERQ next page address */;
+ struct regpair respq_pbl_addr /* RESPQ Pbl base address */;
+ struct regpair respq_curr_page_addr /* RESPQ current page address */;
+ struct regpair respq_next_page_addr /* RESPQ next page address */;
+ __le16 dst_mac_addr_lo /* First word of the MAC address that comes/goes from/to the NW (for example if MAC is 11:22:33:44:55:66 - this is 0x2211) */;
+ __le16 dst_mac_addr_mid;
+ __le16 dst_mac_addr_hi;
+ __le16 src_mac_addr_lo /* Source MAC address in NW order - First word of the MAC address that comes/goes from/to the NW (for example if MAC is 11:22:33:44:55:66 - this is 0x2211) */;
+ __le16 src_mac_addr_mid;
+ __le16 src_mac_addr_hi;
+ __le16 tx_max_fc_pay_len /* The maximum acceptable FC payload size (Buffer-to-buffer Receive Data_Field size) supported by target, received during both FLOGI and PLOGI, minimum value should be taken */;
+ __le16 e_d_tov_timer_val /* E_D_TOV timeout value in resolution of 1 msec */;
+ __le16 rx_max_fc_pay_len /* Maximum acceptable FC payload size supported by us */;
+ __le16 vlan_tag;
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_VLAN_ID_MASK 0xFFF /* Vlan id */
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_VLAN_ID_SHIFT 0
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_CFI_MASK 0x1 /* Canonical format indicator */
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_CFI_SHIFT 12
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_PRIORITY_MASK 0x7 /* Vlan priority */
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_PRIORITY_SHIFT 13
+ __le16 physical_q0 /* Physical QM queue to be linked to logical queue 0 (fastPath queue) */;
+ __le16 rec_rr_tov_timer_val /* REC_TOV timeout value in resolution of 1 msec */;
+ struct fc_addr_nw s_id /* Source ID in NW order, received during FLOGI */;
+ u8 max_conc_seqs_c3 /* Maximum concurrent Sequences for Class 3 supported by target, received during PLOGI */;
+ struct fc_addr_nw d_id /* Destination ID in NW order, received after inquiry of the fabric network */;
+ u8 flags;
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_CONT_INCR_SEQ_CNT_MASK 0x1 /* Continuously increasing SEQ_CNT indication, received during PLOGI */
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_CONT_INCR_SEQ_CNT_SHIFT 0
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_CONF_REQ_MASK 0x1 /* Confirmation request supported */
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_CONF_REQ_SHIFT 1
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_REC_VALID_MASK 0x1 /* REC allowed */
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_REC_VALID_SHIFT 2
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_VLAN_FLAG_MASK 0x1 /* Does inner vlan exist */
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_B_VLAN_FLAG_SHIFT 3
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_MODE_MASK 0x3 /* indication for conn mode: 0=Initiator, 1=Target, 2=Both Initiator and Traget */
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_MODE_SHIFT 4
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_RESERVED0_MASK 0x3
+#define FCOE_CONN_OFFLOAD_RAMROD_DATA_RESERVED0_SHIFT 6
+ __le16 conn_id /* Drivers connection ID. Should be sent in EQs to speed-up drivers access to connection data. */;
+ u8 def_q_idx /* Default queue number to be used for unsolicited traffic */;
+ u8 reserved[5];
+};
+
+
+/*
+ * FCoE terminate connection request
+ */
+struct fcoe_conn_terminate_ramrod_data
+{
+ struct regpair terminate_params_addr /* Terminate params ptr */;
+};
+
+
+
+
+/*
+ * Data sgl
+ */
+struct fcoe_fast_sgl_ctx
+{
+ struct regpair sgl_start_addr /* Current sge address */;
+ __le32 sgl_byte_offset /* Byte offset from the beginning of the first page in the SGL. In case SGL starts in the middle of page then driver should init this value with the start offset */;
+ __le16 task_reuse_cnt /* The reuse count for that task. Wrap ion 4K value. */;
+ __le16 init_offset_in_first_sge /* offset from the beginning of the first page in the SGL, never changed by FW */;
+};
+
+
+
+
+
+/*
+ * FCoE firmware function init
+ */
+struct fcoe_init_func_ramrod_data
+{
+ struct scsi_init_func_params func_params /* Common SCSI init params passed by driver to FW in function init ramrod */;
+ struct scsi_init_func_queues q_params /* SCSI RQ/CQ/CMDQ firmware function init parameters */;
+ __le16 mtu /* Max transmission unit */;
+ __le16 sq_num_pages_in_pbl /* Number of pages at Send Queue */;
+ __le32 reserved[3];
+};
+
+
+/*
+ * FCoE: Mode of the connection: Target or Initiator or both
+ */
+enum fcoe_mode_type
+{
+ FCOE_INITIATOR_MODE=0x0,
+ FCOE_TARGET_MODE=0x1,
+ FCOE_BOTH_OR_NOT_CHOSEN=0x3,
+ MAX_FCOE_MODE_TYPE
+};
+
+
+/*
+ * Per PF FCoE receive path statistics - tStorm RAM structure
+ */
+struct fcoe_rx_stat
+{
+ struct regpair fcoe_rx_byte_cnt /* Number of FCoE bytes that were received */;
+ struct regpair fcoe_rx_data_pkt_cnt /* Number of FCoE FCP DATA packets that were received */;
+ struct regpair fcoe_rx_xfer_pkt_cnt /* Number of FCoE FCP XFER RDY packets that were received */;
+ struct regpair fcoe_rx_other_pkt_cnt /* Number of FCoE packets which are not DATA/XFER_RDY that were received */;
+ __le32 fcoe_silent_drop_pkt_cmdq_full_cnt /* Number of packets that were silently dropped since CMDQ was full */;
+ __le32 fcoe_silent_drop_pkt_rq_full_cnt /* Number of packets that were silently dropped since RQ (BDQ) was full */;
+ __le32 fcoe_silent_drop_pkt_crc_error_cnt /* Number of packets that were silently dropped due to FC CRC error */;
+ __le32 fcoe_silent_drop_pkt_task_invalid_cnt /* Number of packets that were silently dropped since task was not valid */;
+ __le32 fcoe_silent_drop_total_pkt_cnt /* Number of FCoE packets that were silently dropped */;
+ __le32 rsrv;
+};
+
+
+
+/*
+ * FCoe statistics request
+ */
+struct fcoe_stat_ramrod_data
+{
+ struct regpair stat_params_addr /* Statistics host address */;
+};
+
+
+
+
+
+
+
+
+/*
+ * Per PF FCoE transmit path statistics - pStorm RAM structure
+ */
+struct fcoe_tx_stat
+{
+ struct regpair fcoe_tx_byte_cnt /* Transmitted FCoE bytes count */;
+ struct regpair fcoe_tx_data_pkt_cnt /* Transmitted FCoE FCP DATA packets count */;
+ struct regpair fcoe_tx_xfer_pkt_cnt /* Transmitted FCoE XFER_RDY packets count */;
+ struct regpair fcoe_tx_other_pkt_cnt /* Transmitted FCoE packets which are not DATA/XFER_RDY count */;
+};
+
+
+/*
+ * FCoE SQ/XferQ element
+ */
+struct fcoe_wqe
+{
+ __le16 task_id /* Initiator - The task identifier (OX_ID). Target - Continuation tid or RX_ID in non-continuation mode */;
+ __le16 flags;
+#define FCOE_WQE_REQ_TYPE_MASK 0xF /* Type of the wqe request. use enum fcoe_sqe_request_type (use enum fcoe_sqe_request_type) */
+#define FCOE_WQE_REQ_TYPE_SHIFT 0
+#define FCOE_WQE_SGL_MODE_MASK 0x1 /* The driver will give a hint about sizes of SGEs for better credits evaluation at Xstorm. use enum scsi_sgl_mode (use enum scsi_sgl_mode) */
+#define FCOE_WQE_SGL_MODE_SHIFT 4
+#define FCOE_WQE_CONTINUATION_MASK 0x1 /* Indication if this wqe is a continuation to an existing task (Target only) */
+#define FCOE_WQE_CONTINUATION_SHIFT 5
+#define FCOE_WQE_SEND_AUTO_RSP_MASK 0x1 /* Indication to FW to send FCP_RSP after all data was sent - Target only */
+#define FCOE_WQE_SEND_AUTO_RSP_SHIFT 6
+#define FCOE_WQE_RESERVED_MASK 0x1
+#define FCOE_WQE_RESERVED_SHIFT 7
+#define FCOE_WQE_NUM_SGES_MASK 0xF /* Number of SGEs. 8 = at least 8 sges */
+#define FCOE_WQE_NUM_SGES_SHIFT 8
+#define FCOE_WQE_RESERVED1_MASK 0xF
+#define FCOE_WQE_RESERVED1_SHIFT 12
+ union fcoe_additional_info_union additional_info_union /* Additional wqe information (if needed) */;
+};
+
+
+
+
+
+
+
+
+
+/*
+ * FCoE XFRQ element
+ */
+struct xfrqe_prot_flags
+{
+ u8 flags;
+#define XFRQE_PROT_FLAGS_PROT_INTERVAL_SIZE_LOG_MASK 0xF /* Protection log interval (9=512 10=1024 11=2048 12=4096 13=8192) */
+#define XFRQE_PROT_FLAGS_PROT_INTERVAL_SIZE_LOG_SHIFT 0
+#define XFRQE_PROT_FLAGS_DIF_TO_PEER_MASK 0x1 /* If DIF protection is configured against target (0=no, 1=yes) */
+#define XFRQE_PROT_FLAGS_DIF_TO_PEER_SHIFT 4
+#define XFRQE_PROT_FLAGS_HOST_INTERFACE_MASK 0x3 /* If DIF/DIX protection is configured against the host (0=none, 1=DIF, 2=DIX) */
+#define XFRQE_PROT_FLAGS_HOST_INTERFACE_SHIFT 5
+#define XFRQE_PROT_FLAGS_RESERVED_MASK 0x1 /* Must set to 0 */
+#define XFRQE_PROT_FLAGS_RESERVED_SHIFT 7
};
+
+
+
+
+
+
+
+
+
/*
* FCoE doorbell data
*/
diff --git a/sys/dev/qlnx/qlnxe/iscsi_common.h b/sys/dev/qlnx/qlnxe/iscsi_common.h
index 10d4d11..e94fb52 100644
--- a/sys/dev/qlnx/qlnxe/iscsi_common.h
+++ b/sys/dev/qlnx/qlnxe/iscsi_common.h
@@ -107,6 +107,16 @@
/*
+ * Union of data bd_opaque/ tq_tid
+ */
+union bd_opaque_tq_union
+{
+ __le16 bd_opaque /* BDs opaque data */;
+ __le16 tq_tid /* Immediate Data with DIF TQe TID */;
+};
+
+
+/*
* ISCSI SGL entry
*/
struct cqe_error_bitmap
@@ -143,75 +153,129 @@ struct data_hdr
};
+struct lun_mapper_addr_reserved
+{
+ struct regpair lun_mapper_addr /* Lun mapper address */;
+ u8 reserved0[8];
+};
+
/*
- * iSCSI Asynchronous Message PDU header
+ * rdif conetxt for dif on immediate
*/
-struct iscsi_async_msg_hdr
+struct dif_on_immediate_params
+{
+ __le32 initial_ref_tag;
+ __le16 application_tag;
+ __le16 application_tag_mask;
+ __le16 flags1;
+#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_GUARD_MASK 0x1
+#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_GUARD_SHIFT 0
+#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_APP_TAG_MASK 0x1
+#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_APP_TAG_SHIFT 1
+#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_REF_TAG_MASK 0x1
+#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_REF_TAG_SHIFT 2
+#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_GUARD_MASK 0x1
+#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_GUARD_SHIFT 3
+#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_APP_TAG_MASK 0x1
+#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_APP_TAG_SHIFT 4
+#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_REF_TAG_MASK 0x1
+#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_REF_TAG_SHIFT 5
+#define DIF_ON_IMMEDIATE_PARAMS_INTERVAL_SIZE_MASK 0x1 /* 0=512B, 1=4KB */
+#define DIF_ON_IMMEDIATE_PARAMS_INTERVAL_SIZE_SHIFT 6
+#define DIF_ON_IMMEDIATE_PARAMS_NETWORK_INTERFACE_MASK 0x1 /* 0=None, 1=DIF */
+#define DIF_ON_IMMEDIATE_PARAMS_NETWORK_INTERFACE_SHIFT 7
+#define DIF_ON_IMMEDIATE_PARAMS_HOST_INTERFACE_MASK 0x3 /* 0=None, 1=DIF, 2=DIX */
+#define DIF_ON_IMMEDIATE_PARAMS_HOST_INTERFACE_SHIFT 8
+#define DIF_ON_IMMEDIATE_PARAMS_REF_TAG_MASK_MASK 0xF /* mask for refernce tag handling */
+#define DIF_ON_IMMEDIATE_PARAMS_REF_TAG_MASK_SHIFT 10
+#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_APP_TAG_WITH_MASK_MASK 0x1 /* Forward application tag with mask */
+#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_APP_TAG_WITH_MASK_SHIFT 14
+#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_REF_TAG_WITH_MASK_MASK 0x1 /* Forward reference tag with mask */
+#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_REF_TAG_WITH_MASK_SHIFT 15
+ u8 flags0;
+#define DIF_ON_IMMEDIATE_PARAMS_RESERVED_MASK 0x1
+#define DIF_ON_IMMEDIATE_PARAMS_RESERVED_SHIFT 0
+#define DIF_ON_IMMEDIATE_PARAMS_IGNORE_APP_TAG_MASK 0x1
+#define DIF_ON_IMMEDIATE_PARAMS_IGNORE_APP_TAG_SHIFT 1
+#define DIF_ON_IMMEDIATE_PARAMS_INITIAL_REF_TAG_IS_VALID_MASK 0x1
+#define DIF_ON_IMMEDIATE_PARAMS_INITIAL_REF_TAG_IS_VALID_SHIFT 2
+#define DIF_ON_IMMEDIATE_PARAMS_HOST_GUARD_TYPE_MASK 0x1 /* 0 = IP checksum, 1 = CRC */
+#define DIF_ON_IMMEDIATE_PARAMS_HOST_GUARD_TYPE_SHIFT 3
+#define DIF_ON_IMMEDIATE_PARAMS_PROTECTION_TYPE_MASK 0x3 /* 1/2/3 - Protection Type */
+#define DIF_ON_IMMEDIATE_PARAMS_PROTECTION_TYPE_SHIFT 4
+#define DIF_ON_IMMEDIATE_PARAMS_CRC_SEED_MASK 0x1 /* 0=0x0000, 1=0xffff */
+#define DIF_ON_IMMEDIATE_PARAMS_CRC_SEED_SHIFT 6
+#define DIF_ON_IMMEDIATE_PARAMS_KEEP_REF_TAG_CONST_MASK 0x1 /* Keep reference tag constant */
+#define DIF_ON_IMMEDIATE_PARAMS_KEEP_REF_TAG_CONST_SHIFT 7
+ u8 reserved_zero[5];
+};
+
+/*
+ * iSCSI dif on immediate mode attributes union
+ */
+union dif_configuration_params
{
- __le16 reserved0 /* reserved */;
- u8 flags_attr;
-#define ISCSI_ASYNC_MSG_HDR_RSRV_MASK 0x7F /* reserved */
-#define ISCSI_ASYNC_MSG_HDR_RSRV_SHIFT 0
-#define ISCSI_ASYNC_MSG_HDR_CONST1_MASK 0x1 /* const1 */
-#define ISCSI_ASYNC_MSG_HDR_CONST1_SHIFT 7
- u8 opcode /* opcode */;
- __le32 hdr_second_dword;
-#define ISCSI_ASYNC_MSG_HDR_DATA_SEG_LEN_MASK 0xFFFFFF /* DataSegmentLength */
-#define ISCSI_ASYNC_MSG_HDR_DATA_SEG_LEN_SHIFT 0
-#define ISCSI_ASYNC_MSG_HDR_TOTAL_AHS_LEN_MASK 0xFF /* TotalAHSLength */
-#define ISCSI_ASYNC_MSG_HDR_TOTAL_AHS_LEN_SHIFT 24
- struct regpair lun /* Logical Unit Number */;
- __le32 all_ones /* should be 0xffffffff */;
- __le32 reserved1 /* reserved */;
- __le32 stat_sn /* stat_sn */;
- __le32 exp_cmd_sn /* exp_cmd_sn */;
- __le32 max_cmd_sn /* max_cmd_sn */;
- __le16 param1_rsrv /* Parameter1 or Reserved */;
- u8 async_vcode /* AsuncVCode */;
- u8 async_event /* AsyncEvent */;
- __le16 param3_rsrv /* Parameter3 or Reserved */;
- __le16 param2_rsrv /* Parameter2 or Reserved */;
- __le32 reserved7 /* reserved */;
+ struct lun_mapper_addr_reserved lun_mapper_address /* lun mapper address */;
+ struct dif_on_immediate_params def_dif_conf /* default dif on immediate rdif configuration */;
};
+
/*
- * iSCSI Command PDU header
+ * Union of data/r2t sequence number
*/
-struct iscsi_cmd_hdr
+union iscsi_seq_num
{
- __le16 reserved1 /* reserved */;
- u8 flags_attr;
-#define ISCSI_CMD_HDR_ATTR_MASK 0x7 /* attributes */
-#define ISCSI_CMD_HDR_ATTR_SHIFT 0
-#define ISCSI_CMD_HDR_RSRV_MASK 0x3 /* reserved */
-#define ISCSI_CMD_HDR_RSRV_SHIFT 3
-#define ISCSI_CMD_HDR_WRITE_MASK 0x1 /* write */
-#define ISCSI_CMD_HDR_WRITE_SHIFT 5
-#define ISCSI_CMD_HDR_READ_MASK 0x1 /* read */
-#define ISCSI_CMD_HDR_READ_SHIFT 6
-#define ISCSI_CMD_HDR_FINAL_MASK 0x1 /* final */
-#define ISCSI_CMD_HDR_FINAL_SHIFT 7
- u8 hdr_first_byte;
-#define ISCSI_CMD_HDR_OPCODE_MASK 0x3F /* Opcode */
-#define ISCSI_CMD_HDR_OPCODE_SHIFT 0
-#define ISCSI_CMD_HDR_IMM_MASK 0x1 /* Immediate delivery */
-#define ISCSI_CMD_HDR_IMM_SHIFT 6
-#define ISCSI_CMD_HDR_RSRV1_MASK 0x1 /* first bit of iSCSI PDU header */
-#define ISCSI_CMD_HDR_RSRV1_SHIFT 7
- __le32 hdr_second_dword;
-#define ISCSI_CMD_HDR_DATA_SEG_LEN_MASK 0xFFFFFF /* DataSegmentLength */
-#define ISCSI_CMD_HDR_DATA_SEG_LEN_SHIFT 0
-#define ISCSI_CMD_HDR_TOTAL_AHS_LEN_MASK 0xFF /* TotalAHSLength */
-#define ISCSI_CMD_HDR_TOTAL_AHS_LEN_SHIFT 24
- struct regpair lun /* Logical Unit Number. [constant, initialized] */;
- __le32 itt /* Initiator Task Tag (only 2 bytes are significant). [constant, initialized] */;
- __le32 expected_transfer_length /* Expected Data Transfer Length (only 3 bytes are significant) */;
- __le32 cmd_sn /* CmdSn. [constant, initialized] */;
- __le32 exp_stat_sn /* various fields for middle-path PDU. [constant, initialized] */;
- __le32 cdb[4] /* CDB. [constant, initialized] */;
+ __le16 data_sn /* data-in sequence number */;
+ __le16 r2t_sn /* r2t pdu sequence number */;
+};
+
+/*
+ * iSCSI DIF flags
+ */
+struct iscsi_dif_flags
+{
+ u8 flags;
+#define ISCSI_DIF_FLAGS_PROT_INTERVAL_SIZE_LOG_MASK 0xF /* Protection log interval (9=512 10=1024 11=2048 12=4096 13=8192) */
+#define ISCSI_DIF_FLAGS_PROT_INTERVAL_SIZE_LOG_SHIFT 0
+#define ISCSI_DIF_FLAGS_DIF_TO_PEER_MASK 0x1 /* If DIF protection is configured against target (0=no, 1=yes) */
+#define ISCSI_DIF_FLAGS_DIF_TO_PEER_SHIFT 4
+#define ISCSI_DIF_FLAGS_HOST_INTERFACE_MASK 0x7 /* If DIF/DIX protection is configured against the host (0=none, 1=DIF, 2=DIX 2 bytes, 3=DIX 4 bytes, 4=DIX 8 bytes) */
+#define ISCSI_DIF_FLAGS_HOST_INTERFACE_SHIFT 5
};
+/*
+ * The iscsi storm task context of Ystorm
+ */
+struct ystorm_iscsi_task_state
+{
+ struct scsi_cached_sges data_desc;
+ struct scsi_sgl_params sgl_params;
+ __le32 exp_r2t_sn /* Initiator mode - Expected R2T PDU index in sequence. [variable, initialized 0] */;
+ __le32 buffer_offset /* Payload data offset */;
+ union iscsi_seq_num seq_num /* PDU index in sequence */;
+ struct iscsi_dif_flags dif_flags /* Dif flags */;
+ u8 flags;
+#define YSTORM_ISCSI_TASK_STATE_LOCAL_COMP_MASK 0x1 /* local_completion */
+#define YSTORM_ISCSI_TASK_STATE_LOCAL_COMP_SHIFT 0
+#define YSTORM_ISCSI_TASK_STATE_SLOW_IO_MASK 0x1 /* Equals 1 if SGL is predicted and 0 otherwise. */
+#define YSTORM_ISCSI_TASK_STATE_SLOW_IO_SHIFT 1
+#define YSTORM_ISCSI_TASK_STATE_RESERVED0_MASK 0x3F
+#define YSTORM_ISCSI_TASK_STATE_RESERVED0_SHIFT 2
+};
+
+/*
+ * The iscsi storm task context of Ystorm
+ */
+struct ystorm_iscsi_task_rxmit_opt
+{
+ __le32 fast_rxmit_sge_offset /* SGE offset from which to continue dummy-read or start fast retransmit */;
+ __le32 scan_start_buffer_offset /* Starting buffer offset of next retransmit SGL scan */;
+ __le32 fast_rxmit_buffer_offset /* Buffer offset from which to continue dummy-read or start fast retransmit */;
+ u8 scan_start_sgl_index /* Starting SGL index of next retransmit SGL scan */;
+ u8 fast_rxmit_sgl_index /* SGL index from which to continue dummy-read or start fast retransmit */;
+ __le16 reserved /* reserved */;
+};
/*
* iSCSI Common PDU header
@@ -242,82 +306,43 @@ struct iscsi_common_hdr
__le32 data[3] /* bytes 36 to 47 */;
};
-
/*
- * ISCSI connection offload params passed by driver to FW in ISCSI offload ramrod
- */
-struct iscsi_conn_offload_params
-{
- struct regpair sq_pbl_addr /* PBL SQ pointer */;
- struct regpair r2tq_pbl_addr /* PBL R2TQ pointer */;
- struct regpair xhq_pbl_addr /* PBL XHQ pointer */;
- struct regpair uhq_pbl_addr /* PBL UHQ pointer */;
- __le32 initial_ack /* Initial ack, received from TCP */;
- __le16 physical_q0 /* Physical QM queue to be tied to logical Q0 */;
- __le16 physical_q1 /* Physical QM queue to be tied to logical Q1 */;
- u8 flags;
-#define ISCSI_CONN_OFFLOAD_PARAMS_TCP_ON_CHIP_1B_MASK 0x1 /* TCP connect/terminate option. 0 - TCP on host (option-1); 1 - TCP on chip (option-2). */
-#define ISCSI_CONN_OFFLOAD_PARAMS_TCP_ON_CHIP_1B_SHIFT 0
-#define ISCSI_CONN_OFFLOAD_PARAMS_TARGET_MODE_MASK 0x1 /* iSCSI connect mode: 0-iSCSI Initiator, 1-iSCSI Target */
-#define ISCSI_CONN_OFFLOAD_PARAMS_TARGET_MODE_SHIFT 1
-#define ISCSI_CONN_OFFLOAD_PARAMS_RESTRICTED_MODE_MASK 0x1 /* Restricted mode: 0 - un-restricted (deviating from the RFC), 1 - restricted (according to the RFC) */
-#define ISCSI_CONN_OFFLOAD_PARAMS_RESTRICTED_MODE_SHIFT 2
-#define ISCSI_CONN_OFFLOAD_PARAMS_RESERVED1_MASK 0x1F /* reserved */
-#define ISCSI_CONN_OFFLOAD_PARAMS_RESERVED1_SHIFT 3
- u8 pbl_page_size_log /* Page size with PBEs log; Page Size = 2^(page_size_log+12) */;
- u8 pbe_page_size_log /* PBE page size with log; Page Size = 2^(page_size_log+12) */;
- u8 default_cq /* Default CQ used to write unsolicited data */;
- __le32 stat_sn /* StatSn for Target Mode only: the first Login Response StatSn value for Target mode */;
-};
-
-
-/*
- * spe message header
- */
-struct iscsi_slow_path_hdr
-{
- u8 op_code /* iscsi bus-drv message opcode */;
- u8 flags;
-#define ISCSI_SLOW_PATH_HDR_RESERVED0_MASK 0xF
-#define ISCSI_SLOW_PATH_HDR_RESERVED0_SHIFT 0
-#define ISCSI_SLOW_PATH_HDR_LAYER_CODE_MASK 0x7 /* protocol layer (L2,L3,L4,L5) */
-#define ISCSI_SLOW_PATH_HDR_LAYER_CODE_SHIFT 4
-#define ISCSI_SLOW_PATH_HDR_RESERVED1_MASK 0x1
-#define ISCSI_SLOW_PATH_HDR_RESERVED1_SHIFT 7
-};
-
-/*
- * ISCSI connection update params passed by driver to FW in ISCSI update ramrod
+ * iSCSI Command PDU header
*/
-struct iscsi_conn_update_ramrod_params
+struct iscsi_cmd_hdr
{
- struct iscsi_slow_path_hdr hdr /* spe message header. */;
- __le16 conn_id /* ISCSI Connection ID. (MOTI_COHEN : draft for DrvSim sake) */;
- __le32 fw_cid /* Context ID (cid) of the connection. (MOTI_COHEN : draft for DrvSim sake) */;
- u8 flags;
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_HD_EN_MASK 0x1 /* Is header digest enabled */
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_HD_EN_SHIFT 0
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DD_EN_MASK 0x1 /* Is data digest enabled */
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DD_EN_SHIFT 1
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_INITIAL_R2T_MASK 0x1 /* Initial R2T */
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_INITIAL_R2T_SHIFT 2
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_IMMEDIATE_DATA_MASK 0x1 /* Immediate data */
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_IMMEDIATE_DATA_SHIFT 3
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_BLOCK_SIZE_MASK 0x1 /* 0 - 512B, 1 - 4K */
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_BLOCK_SIZE_SHIFT 4
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_ON_HOST_EN_MASK 0x1 /* 0 - no DIF, 1 - could be enabled per task */
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_ON_HOST_EN_SHIFT 5
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_RESERVED1_MASK 0x3
-#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_RESERVED1_SHIFT 6
- u8 reserved0[3];
- __le32 max_seq_size /* Maximum sequence size. Valid for TX and RX */;
- __le32 max_send_pdu_length /* Maximum PDU size. Valid for the TX */;
- __le32 max_recv_pdu_length /* Maximum PDU size. Valid for the RX */;
- __le32 first_seq_length /* Initial sequence length */;
- __le32 exp_stat_sn /* ExpStatSn - Option1 Only */;
+ __le16 reserved1 /* reserved */;
+ u8 flags_attr;
+#define ISCSI_CMD_HDR_ATTR_MASK 0x7 /* attributes */
+#define ISCSI_CMD_HDR_ATTR_SHIFT 0
+#define ISCSI_CMD_HDR_RSRV_MASK 0x3 /* reserved */
+#define ISCSI_CMD_HDR_RSRV_SHIFT 3
+#define ISCSI_CMD_HDR_WRITE_MASK 0x1 /* write */
+#define ISCSI_CMD_HDR_WRITE_SHIFT 5
+#define ISCSI_CMD_HDR_READ_MASK 0x1 /* read */
+#define ISCSI_CMD_HDR_READ_SHIFT 6
+#define ISCSI_CMD_HDR_FINAL_MASK 0x1 /* final */
+#define ISCSI_CMD_HDR_FINAL_SHIFT 7
+ u8 hdr_first_byte;
+#define ISCSI_CMD_HDR_OPCODE_MASK 0x3F /* Opcode */
+#define ISCSI_CMD_HDR_OPCODE_SHIFT 0
+#define ISCSI_CMD_HDR_IMM_MASK 0x1 /* Immediate delivery */
+#define ISCSI_CMD_HDR_IMM_SHIFT 6
+#define ISCSI_CMD_HDR_RSRV1_MASK 0x1 /* first bit of iSCSI PDU header */
+#define ISCSI_CMD_HDR_RSRV1_SHIFT 7
+ __le32 hdr_second_dword;
+#define ISCSI_CMD_HDR_DATA_SEG_LEN_MASK 0xFFFFFF /* DataSegmentLength */
+#define ISCSI_CMD_HDR_DATA_SEG_LEN_SHIFT 0
+#define ISCSI_CMD_HDR_TOTAL_AHS_LEN_MASK 0xFF /* TotalAHSLength */
+#define ISCSI_CMD_HDR_TOTAL_AHS_LEN_SHIFT 24
+ struct regpair lun /* Logical Unit Number. [constant, initialized] */;
+ __le32 itt /* Initiator Task Tag (only 2 bytes are significant). [constant, initialized] */;
+ __le32 expected_transfer_length /* Expected Data Transfer Length (only 3 bytes are significant) */;
+ __le32 cmd_sn /* CmdSn. [constant, initialized] */;
+ __le32 exp_stat_sn /* various fields for middle-path PDU. [constant, initialized] */;
+ __le32 cdb[4] /* CDB. [constant, initialized] */;
};
-
/*
* iSCSI Command PDU header with Extended CDB (Initiator Mode)
*/
@@ -742,6 +767,37 @@ struct iscsi_reject_hdr
};
/*
+ * iSCSI Asynchronous Message PDU header
+ */
+struct iscsi_async_msg_hdr
+{
+ __le16 reserved0 /* reserved */;
+ u8 flags_attr;
+#define ISCSI_ASYNC_MSG_HDR_RSRV_MASK 0x7F /* reserved */
+#define ISCSI_ASYNC_MSG_HDR_RSRV_SHIFT 0
+#define ISCSI_ASYNC_MSG_HDR_CONST1_MASK 0x1 /* const1 */
+#define ISCSI_ASYNC_MSG_HDR_CONST1_SHIFT 7
+ u8 opcode /* opcode */;
+ __le32 hdr_second_dword;
+#define ISCSI_ASYNC_MSG_HDR_DATA_SEG_LEN_MASK 0xFFFFFF /* DataSegmentLength */
+#define ISCSI_ASYNC_MSG_HDR_DATA_SEG_LEN_SHIFT 0
+#define ISCSI_ASYNC_MSG_HDR_TOTAL_AHS_LEN_MASK 0xFF /* TotalAHSLength */
+#define ISCSI_ASYNC_MSG_HDR_TOTAL_AHS_LEN_SHIFT 24
+ struct regpair lun /* Logical Unit Number */;
+ __le32 all_ones /* should be 0xffffffff */;
+ __le32 reserved1 /* reserved */;
+ __le32 stat_sn /* stat_sn */;
+ __le32 exp_cmd_sn /* exp_cmd_sn */;
+ __le32 max_cmd_sn /* max_cmd_sn */;
+ __le16 param1_rsrv /* Parameter1 or Reserved */;
+ u8 async_vcode /* AsuncVCode */;
+ u8 async_event /* AsyncEvent */;
+ __le16 param3_rsrv /* Parameter3 or Reserved */;
+ __le16 param2_rsrv /* Parameter2 or Reserved */;
+ __le32 reserved7 /* reserved */;
+};
+
+/*
* PDU header part of Ystorm task context
*/
union iscsi_task_hdr
@@ -769,6 +825,590 @@ union iscsi_task_hdr
};
/*
+ * The iscsi storm task context of Ystorm
+ */
+struct ystorm_iscsi_task_st_ctx
+{
+ struct ystorm_iscsi_task_state state /* iSCSI task parameters and state */;
+ struct ystorm_iscsi_task_rxmit_opt rxmit_opt /* iSCSI retransmit optimizations parameters */;
+ union iscsi_task_hdr pdu_hdr /* PDU header - [constant initialized] */;
+};
+
+struct e4_ystorm_iscsi_task_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 byte1 /* state */;
+ __le16 word0 /* icid */;
+ u8 flags0;
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_NIBBLE0_MASK 0xF /* connection_type */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_NIBBLE0_SHIFT 0
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT0_SHIFT 4
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_VALID_SHIFT 6
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT3_SHIFT 7
+ u8 flags1;
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF0_SHIFT 0
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF1_SHIFT 2
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF2SPECIAL_MASK 0x3 /* cf2special */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF0EN_SHIFT 6
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF1EN_SHIFT 7
+ u8 flags2;
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT4_SHIFT 0
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE0EN_SHIFT 1
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 2
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE2EN_SHIFT 3
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 4
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 5
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 6
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 7
+ u8 byte2 /* byte2 */;
+ __le32 TTT /* reg0 */;
+ u8 byte3 /* byte3 */;
+ u8 byte4 /* byte4 */;
+ __le16 word1 /* word1 */;
+};
+
+struct e4_mstorm_iscsi_task_ag_ctx
+{
+ u8 cdu_validation /* cdu_validation */;
+ u8 byte1 /* state */;
+ __le16 task_cid /* icid */;
+ u8 flags0;
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_VALID_SHIFT 6
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_FLAG_MASK 0x1 /* bit3 */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_FLAG_SHIFT 7
+ u8 flags1;
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_MASK 0x3 /* cf0 */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_SHIFT 0
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF1_SHIFT 2
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF2_MASK 0x3 /* cf2 */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF2_SHIFT 4
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_EN_MASK 0x1 /* cf0en */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_EN_SHIFT 6
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF1EN_SHIFT 7
+ u8 flags2;
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF2EN_SHIFT 0
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE0EN_SHIFT 1
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 2
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE2EN_SHIFT 3
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 4
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 5
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 6
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 7
+ u8 byte2 /* byte2 */;
+ __le32 reg0 /* reg0 */;
+ u8 byte3 /* byte3 */;
+ u8 byte4 /* byte4 */;
+ __le16 word1 /* word1 */;
+};
+
+struct e4_ustorm_iscsi_task_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 state /* state */;
+ __le16 icid /* icid */;
+ u8 flags0;
+#define E4_USTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E4_USTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E4_USTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
+#define E4_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_MASK 0x3 /* timer0cf */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_SHIFT 6
+ u8 flags1;
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RESERVED1_MASK 0x3 /* timer1cf */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RESERVED1_SHIFT 0
+#define E4_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_MASK 0x3 /* timer2cf */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_SHIFT 2
+#define E4_USTORM_ISCSI_TASK_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_CF3_SHIFT 4
+#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_MASK 0x3 /* cf4 */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_SHIFT 6
+ u8 flags2;
+#define E4_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_EN_MASK 0x1 /* cf0en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_EN_SHIFT 0
+#define E4_USTORM_ISCSI_TASK_AG_CTX_DISABLE_DATA_ACKED_MASK 0x1 /* cf1en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_DISABLE_DATA_ACKED_SHIFT 1
+#define E4_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_EN_MASK 0x1 /* cf2en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_EN_SHIFT 2
+#define E4_USTORM_ISCSI_TASK_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_CF3EN_SHIFT 3
+#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_EN_MASK 0x1 /* cf4en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_EN_SHIFT 4
+#define E4_USTORM_ISCSI_TASK_AG_CTX_CMP_DATA_TOTAL_EXP_EN_MASK 0x1 /* rule0en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_CMP_DATA_TOTAL_EXP_EN_SHIFT 5
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 6
+#define E4_USTORM_ISCSI_TASK_AG_CTX_CMP_CONT_RCV_EXP_EN_MASK 0x1 /* rule2en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_CMP_CONT_RCV_EXP_EN_SHIFT 7
+ u8 flags3;
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 0
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 1
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 2
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 3
+#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_TYPE_MASK 0xF /* nibble1 */
+#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_TYPE_SHIFT 4
+ __le32 dif_err_intervals /* reg0 */;
+ __le32 dif_error_1st_interval /* reg1 */;
+ __le32 rcv_cont_len /* reg2 */;
+ __le32 exp_cont_len /* reg3 */;
+ __le32 total_data_acked /* reg4 */;
+ __le32 exp_data_acked /* reg5 */;
+ u8 next_tid_valid /* byte2 */;
+ u8 byte3 /* byte3 */;
+ __le16 word1 /* word1 */;
+ __le16 next_tid /* word2 */;
+ __le16 word3 /* word3 */;
+ __le32 hdr_residual_count /* reg6 */;
+ __le32 exp_r2t_sn /* reg7 */;
+};
+
+/*
+ * The iscsi storm task context of Mstorm
+ */
+struct mstorm_iscsi_task_st_ctx
+{
+ struct scsi_cached_sges data_desc /* Union of Data SGL / cached sge */;
+ struct scsi_sgl_params sgl_params;
+ __le32 rem_task_size /* Remaining task size, used for placement verification */;
+ __le32 data_buffer_offset /* Buffer offset */;
+ u8 task_type /* Task type, (use: iscsi_task_type enum) */;
+ struct iscsi_dif_flags dif_flags /* sizes of host/peer protection intervals + protection log interval */;
+ __le16 dif_task_icid /* save tasks CID for validation - dif on immediate flow */;
+ struct regpair sense_db /* Pointer to sense data buffer */;
+ __le32 expected_itt /* ITT - for target mode validations */;
+ __le32 reserved1 /* reserved1 */;
+};
+
+struct iscsi_reg1
+{
+ __le32 reg1_map;
+#define ISCSI_REG1_NUM_SGES_MASK 0xF /* Written to R2tQE */
+#define ISCSI_REG1_NUM_SGES_SHIFT 0
+#define ISCSI_REG1_RESERVED1_MASK 0xFFFFFFF /* reserved */
+#define ISCSI_REG1_RESERVED1_SHIFT 4
+};
+
+struct tqe_opaque
+{
+ __le16 opaque[2] /* TQe opaque */;
+};
+
+/*
+ * The iscsi storm task context of Ustorm
+ */
+struct ustorm_iscsi_task_st_ctx
+{
+ __le32 rem_rcv_len /* Remaining data to be received in bytes. Used in validations */;
+ __le32 exp_data_transfer_len /* iSCSI Initiator - The size of the transmitted task, iSCSI Target - the size of the Rx continuation */;
+ __le32 exp_data_sn /* Expected data SN */;
+ struct regpair lun /* LUN */;
+ struct iscsi_reg1 reg1;
+ u8 flags2;
+#define USTORM_ISCSI_TASK_ST_CTX_AHS_EXIST_MASK 0x1 /* Initiator Mode - Mark AHS exist */
+#define USTORM_ISCSI_TASK_ST_CTX_AHS_EXIST_SHIFT 0
+#define USTORM_ISCSI_TASK_ST_CTX_RESERVED1_MASK 0x7F
+#define USTORM_ISCSI_TASK_ST_CTX_RESERVED1_SHIFT 1
+ struct iscsi_dif_flags dif_flags /* Dif flags (written to R2T WQE) */;
+ __le16 reserved3;
+ struct tqe_opaque tqe_opaque_list;
+ __le32 reserved5;
+ __le32 reserved6;
+ __le32 reserved7;
+ u8 task_type /* Task Type */;
+ u8 error_flags;
+#define USTORM_ISCSI_TASK_ST_CTX_DATA_DIGEST_ERROR_MASK 0x1 /* Mark task with data digest error (1 bit) */
+#define USTORM_ISCSI_TASK_ST_CTX_DATA_DIGEST_ERROR_SHIFT 0
+#define USTORM_ISCSI_TASK_ST_CTX_DATA_TRUNCATED_ERROR_MASK 0x1 /* Target Mode - Mark middle task error, data truncated */
+#define USTORM_ISCSI_TASK_ST_CTX_DATA_TRUNCATED_ERROR_SHIFT 1
+#define USTORM_ISCSI_TASK_ST_CTX_UNDER_RUN_ERROR_MASK 0x1
+#define USTORM_ISCSI_TASK_ST_CTX_UNDER_RUN_ERROR_SHIFT 2
+#define USTORM_ISCSI_TASK_ST_CTX_RESERVED8_MASK 0x1F
+#define USTORM_ISCSI_TASK_ST_CTX_RESERVED8_SHIFT 3
+ u8 flags;
+#define USTORM_ISCSI_TASK_ST_CTX_CQE_WRITE_MASK 0x3 /* mark task cqe write (for cleanup flow) */
+#define USTORM_ISCSI_TASK_ST_CTX_CQE_WRITE_SHIFT 0
+#define USTORM_ISCSI_TASK_ST_CTX_LOCAL_COMP_MASK 0x1 /* local completion bit */
+#define USTORM_ISCSI_TASK_ST_CTX_LOCAL_COMP_SHIFT 2
+#define USTORM_ISCSI_TASK_ST_CTX_Q0_R2TQE_WRITE_MASK 0x1 /* write R2TQE from Q0 flow */
+#define USTORM_ISCSI_TASK_ST_CTX_Q0_R2TQE_WRITE_SHIFT 3
+#define USTORM_ISCSI_TASK_ST_CTX_TOTAL_DATA_ACKED_DONE_MASK 0x1 /* Mark total data acked or disabled */
+#define USTORM_ISCSI_TASK_ST_CTX_TOTAL_DATA_ACKED_DONE_SHIFT 4
+#define USTORM_ISCSI_TASK_ST_CTX_HQ_SCANNED_DONE_MASK 0x1 /* Mark HQ scanned or disabled */
+#define USTORM_ISCSI_TASK_ST_CTX_HQ_SCANNED_DONE_SHIFT 5
+#define USTORM_ISCSI_TASK_ST_CTX_R2T2RECV_DONE_MASK 0x1 /* Mark HQ scanned or disabled */
+#define USTORM_ISCSI_TASK_ST_CTX_R2T2RECV_DONE_SHIFT 6
+#define USTORM_ISCSI_TASK_ST_CTX_RESERVED0_MASK 0x1
+#define USTORM_ISCSI_TASK_ST_CTX_RESERVED0_SHIFT 7
+ u8 cq_rss_number /* Task CQ_RSS number 0.63 */;
+};
+
+/*
+ * iscsi task context
+ */
+struct e4_iscsi_task_context
+{
+ struct ystorm_iscsi_task_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct e4_ystorm_iscsi_task_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
+ struct regpair ystorm_ag_padding[2] /* padding */;
+ struct tdif_task_context tdif_context /* tdif context */;
+ struct e4_mstorm_iscsi_task_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
+ struct regpair mstorm_ag_padding[2] /* padding */;
+ struct e4_ustorm_iscsi_task_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+ struct mstorm_iscsi_task_st_ctx mstorm_st_context /* mstorm storm context */;
+ struct ustorm_iscsi_task_st_ctx ustorm_st_context /* ustorm storm context */;
+ struct rdif_task_context rdif_context /* rdif context */;
+};
+
+
+struct e5_ystorm_iscsi_task_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ __le16 word0 /* icid */;
+ u8 flags0;
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_NIBBLE0_MASK 0xF /* connection_type */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_NIBBLE0_SHIFT 0
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT0_SHIFT 4
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_VALID_SHIFT 6
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT3_SHIFT 7
+ u8 flags1;
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF0_SHIFT 0
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF1_SHIFT 2
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF2SPECIAL_MASK 0x3 /* cf2special */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF0EN_SHIFT 6
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF1EN_SHIFT 7
+ u8 flags2;
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT4_MASK 0x1 /* bit4 */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT4_SHIFT 0
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE0EN_SHIFT 1
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 2
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE2EN_SHIFT 3
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 4
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 5
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 6
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 7
+ u8 flags3;
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit5 */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
+#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
+ __le32 TTT /* reg0 */;
+ u8 byte2 /* byte2 */;
+ u8 byte3 /* byte3 */;
+ u8 byte4 /* byte4 */;
+ u8 e4_reserved7 /* byte5 */;
+};
+
+struct e5_mstorm_iscsi_task_ag_ctx
+{
+ u8 cdu_validation /* cdu_validation */;
+ u8 byte1 /* state_and_core_id */;
+ __le16 task_cid /* icid */;
+ u8 flags0;
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_VALID_SHIFT 6
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_FLAG_MASK 0x1 /* bit3 */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_FLAG_SHIFT 7
+ u8 flags1;
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_MASK 0x3 /* cf0 */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_SHIFT 0
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF1_SHIFT 2
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF2_MASK 0x3 /* cf2 */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF2_SHIFT 4
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_EN_MASK 0x1 /* cf0en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_EN_SHIFT 6
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF1EN_SHIFT 7
+ u8 flags2;
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF2EN_SHIFT 0
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE0EN_SHIFT 1
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 2
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE2EN_SHIFT 3
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 4
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 5
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 6
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 7
+ u8 flags3;
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit4 */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
+#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
+ __le32 reg0 /* reg0 */;
+ u8 byte2 /* byte2 */;
+ u8 byte3 /* byte3 */;
+ u8 byte4 /* byte4 */;
+ u8 e4_reserved7 /* byte5 */;
+};
+
+struct e5_ustorm_iscsi_task_ag_ctx
+{
+ u8 reserved /* cdu_validation */;
+ u8 state_and_core_id /* state_and_core_id */;
+ __le16 icid /* icid */;
+ u8 flags0;
+#define E5_USTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
+#define E5_USTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
+#define E5_USTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
+#define E5_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_MASK 0x3 /* timer0cf */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_SHIFT 6
+ u8 flags1;
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RESERVED1_MASK 0x3 /* timer1cf */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RESERVED1_SHIFT 0
+#define E5_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_MASK 0x3 /* timer2cf */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_SHIFT 2
+#define E5_USTORM_ISCSI_TASK_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_CF3_SHIFT 4
+#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_MASK 0x3 /* dif_error_cf */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_SHIFT 6
+ u8 flags2;
+#define E5_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_EN_MASK 0x1 /* cf0en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_EN_SHIFT 0
+#define E5_USTORM_ISCSI_TASK_AG_CTX_DISABLE_DATA_ACKED_MASK 0x1 /* cf1en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_DISABLE_DATA_ACKED_SHIFT 1
+#define E5_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_EN_MASK 0x1 /* cf2en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_EN_SHIFT 2
+#define E5_USTORM_ISCSI_TASK_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_CF3EN_SHIFT 3
+#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_EN_MASK 0x1 /* cf4en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_EN_SHIFT 4
+#define E5_USTORM_ISCSI_TASK_AG_CTX_CMP_DATA_TOTAL_EXP_EN_MASK 0x1 /* rule0en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_CMP_DATA_TOTAL_EXP_EN_SHIFT 5
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 6
+#define E5_USTORM_ISCSI_TASK_AG_CTX_CMP_CONT_RCV_EXP_EN_MASK 0x1 /* rule2en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_CMP_CONT_RCV_EXP_EN_SHIFT 7
+ u8 flags3;
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 0
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 1
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 2
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 3
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_SHIFT 4
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_SHIFT 5
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit4 */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_SHIFT 6
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* rule7en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_SHIFT 7
+ u8 flags4;
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_MASK 0x3 /* cf5 */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_SHIFT 0
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf5en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_SHIFT 2
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule8en */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED7_SHIFT 3
+#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_TYPE_MASK 0xF /* dif_error_type */
+#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_TYPE_SHIFT 4
+ u8 next_tid_valid /* byte2 */;
+ u8 byte3 /* byte3 */;
+ u8 e4_reserved8 /* byte4 */;
+ __le32 dif_err_intervals /* dif_err_intervals */;
+ __le32 dif_error_1st_interval /* dif_error_1st_interval */;
+ __le32 rcv_cont_len /* reg2 */;
+ __le32 exp_cont_len /* reg3 */;
+ __le32 total_data_acked /* reg4 */;
+ __le32 exp_data_acked /* reg5 */;
+ __le16 word1 /* word1 */;
+ __le16 next_tid /* word2 */;
+ __le32 hdr_residual_count /* reg6 */;
+ __le32 exp_r2t_sn /* reg7 */;
+};
+
+/*
+ * iscsi task context
+ */
+struct e5_iscsi_task_context
+{
+ struct ystorm_iscsi_task_st_ctx ystorm_st_context /* ystorm storm context */;
+ struct e5_ystorm_iscsi_task_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
+ struct regpair ystorm_ag_padding[2] /* padding */;
+ struct tdif_task_context tdif_context /* tdif context */;
+ struct e5_mstorm_iscsi_task_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
+ struct regpair mstorm_ag_padding[2] /* padding */;
+ struct e5_ustorm_iscsi_task_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
+ struct mstorm_iscsi_task_st_ctx mstorm_st_context /* mstorm storm context */;
+ struct ustorm_iscsi_task_st_ctx ustorm_st_context /* ustorm storm context */;
+ struct rdif_task_context rdif_context /* rdif context */;
+};
+
+
+
+
+
+/*
+ * ISCSI connection offload params passed by driver to FW in ISCSI offload ramrod
+ */
+struct iscsi_conn_offload_params
+{
+ struct regpair sq_pbl_addr /* PBL SQ pointer */;
+ struct regpair r2tq_pbl_addr /* PBL R2TQ pointer */;
+ struct regpair xhq_pbl_addr /* PBL XHQ pointer */;
+ struct regpair uhq_pbl_addr /* PBL UHQ pointer */;
+ __le32 initial_ack /* Initial ack, received from TCP */;
+ __le16 physical_q0 /* Physical QM queue to be tied to logical Q0 */;
+ __le16 physical_q1 /* Physical QM queue to be tied to logical Q1 */;
+ u8 flags;
+#define ISCSI_CONN_OFFLOAD_PARAMS_TCP_ON_CHIP_1B_MASK 0x1 /* TCP connect/terminate option. 0 - TCP on host (option-1); 1 - TCP on chip (option-2). */
+#define ISCSI_CONN_OFFLOAD_PARAMS_TCP_ON_CHIP_1B_SHIFT 0
+#define ISCSI_CONN_OFFLOAD_PARAMS_TARGET_MODE_MASK 0x1 /* iSCSI connect mode: 0-iSCSI Initiator, 1-iSCSI Target */
+#define ISCSI_CONN_OFFLOAD_PARAMS_TARGET_MODE_SHIFT 1
+#define ISCSI_CONN_OFFLOAD_PARAMS_RESTRICTED_MODE_MASK 0x1 /* Restricted mode: 0 - un-restricted (deviating from the RFC), 1 - restricted (according to the RFC) */
+#define ISCSI_CONN_OFFLOAD_PARAMS_RESTRICTED_MODE_SHIFT 2
+#define ISCSI_CONN_OFFLOAD_PARAMS_RESERVED1_MASK 0x1F /* reserved */
+#define ISCSI_CONN_OFFLOAD_PARAMS_RESERVED1_SHIFT 3
+ u8 pbl_page_size_log /* Page size with PBEs log; Page Size = 2^(page_size_log+12) */;
+ u8 pbe_page_size_log /* PBE page size with log; Page Size = 2^(page_size_log+12) */;
+ u8 default_cq /* Default CQ used to write unsolicited data */;
+ __le32 stat_sn /* StatSn for Target Mode only: the first Login Response StatSn value for Target mode */;
+};
+
+
+/*
+ * spe message header
+ */
+struct iscsi_slow_path_hdr
+{
+ u8 op_code /* iscsi bus-drv message opcode */;
+ u8 flags;
+#define ISCSI_SLOW_PATH_HDR_RESERVED0_MASK 0xF
+#define ISCSI_SLOW_PATH_HDR_RESERVED0_SHIFT 0
+#define ISCSI_SLOW_PATH_HDR_LAYER_CODE_MASK 0x7 /* protocol layer (L2,L3,L4,L5) */
+#define ISCSI_SLOW_PATH_HDR_LAYER_CODE_SHIFT 4
+#define ISCSI_SLOW_PATH_HDR_RESERVED1_MASK 0x1
+#define ISCSI_SLOW_PATH_HDR_RESERVED1_SHIFT 7
+};
+
+/*
+ * ISCSI connection update params passed by driver to FW in ISCSI update ramrod
+ */
+struct iscsi_conn_update_ramrod_params
+{
+ struct iscsi_slow_path_hdr hdr /* spe message header. */;
+ __le16 conn_id /* ISCSI Connection ID. (MOTI_COHEN : draft for DrvSim sake) */;
+ __le32 fw_cid /* Context ID (cid) of the connection. (MOTI_COHEN : draft for DrvSim sake) */;
+ u8 flags;
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_HD_EN_MASK 0x1 /* Is header digest enabled */
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_HD_EN_SHIFT 0
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DD_EN_MASK 0x1 /* Is data digest enabled */
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DD_EN_SHIFT 1
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_INITIAL_R2T_MASK 0x1 /* Initial R2T */
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_INITIAL_R2T_SHIFT 2
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_IMMEDIATE_DATA_MASK 0x1 /* Immediate data */
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_IMMEDIATE_DATA_SHIFT 3
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_BLOCK_SIZE_MASK 0x1 /* 0 - 512B, 1 - 4K */
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_BLOCK_SIZE_SHIFT 4
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_ON_HOST_EN_MASK 0x1 /* 0 - no DIF, 1 - could be enabled per task */
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_ON_HOST_EN_SHIFT 5
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_ON_IMM_EN_MASK 0x1 /* Support DIF on immediate, 1-Yes, 0-No */
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_ON_IMM_EN_SHIFT 6
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_LUN_MAPPER_EN_MASK 0x1 /* valid only if dif_on_imm_en=1 Does this connection has dif configuration per Lun or Default dif configuration */
+#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_LUN_MAPPER_EN_SHIFT 7
+ u8 reserved0[3];
+ __le32 max_seq_size /* Maximum sequence size. Valid for TX and RX */;
+ __le32 max_send_pdu_length /* Maximum PDU size. Valid for the TX */;
+ __le32 max_recv_pdu_length /* Maximum PDU size. Valid for the RX */;
+ __le32 first_seq_length /* Initial sequence length */;
+ __le32 exp_stat_sn /* ExpStatSn - Option1 Only */;
+ union dif_configuration_params dif_on_imme_params /* dif on immmediate params - Target mode Only */;
+};
+
+
+/*
* iSCSI CQ element
*/
struct iscsi_cqe_common
@@ -808,7 +1448,8 @@ struct iscsi_cqe_unsolicited
__le16 reserved0 /* Reserved */;
u8 reserved1 /* Reserved */;
u8 unsol_cqe_type /* Represent this unsolicited CQE position in a sequence of packets belonging to the same unsolicited PDU */;
- struct regpair rqe_opaque /* Relevant for Unsolicited CQE only: The opaque data of RQ BDQ */;
+ __le16 rqe_opaque /* Relevant for Unsolicited CQE only: The opaque data of RQ BDQ */;
+ __le16 reserved2[3] /* Reserved */;
union iscsi_task_hdr iscsi_hdr /* iscsi header union */;
};
@@ -881,20 +1522,6 @@ struct iscsi_debug_modes
};
-/*
- * iSCSI DIF flags
- */
-struct iscsi_dif_flags
-{
- u8 flags;
-#define ISCSI_DIF_FLAGS_PROT_INTERVAL_SIZE_LOG_MASK 0xF /* Protection log interval (9=512 10=1024 11=2048 12=4096 13=8192) */
-#define ISCSI_DIF_FLAGS_PROT_INTERVAL_SIZE_LOG_SHIFT 0
-#define ISCSI_DIF_FLAGS_DIF_TO_PEER_MASK 0x1 /* If DIF protection is configured against target (0=no, 1=yes) */
-#define ISCSI_DIF_FLAGS_DIF_TO_PEER_SHIFT 4
-#define ISCSI_DIF_FLAGS_HOST_INTERFACE_MASK 0x7 /* If DIF/DIX protection is configured against the host (0=none, 1=DIF, 2=DIX 2 bytes, 3=DIX 4 bytes, 4=DIX 8 bytes) */
-#define ISCSI_DIF_FLAGS_HOST_INTERFACE_SHIFT 5
-};
-
/*
* iSCSI kernel completion queue IDs
@@ -912,7 +1539,7 @@ enum iscsi_eqe_opcode
ISCSI_EVENT_TYPE_ASYN_TERMINATE_DONE /* iSCSI response after option 2 termination completed (A-syn EQE) */,
RESERVED9 /* reserved9 */,
ISCSI_EVENT_TYPE_START_OF_ERROR_TYPES=10 /* Never returned in EQE, used to separate Regular event types from Error event types */,
- ISCSI_EVENT_TYPE_ASYN_ABORT_RCVD /* iSCSI abort response after TCP RST packet receive (A-syn EQE) */,
+ ISCSI_EVENT_TYPE_ASYN_ABORT_RCVD /* iSCSI abort response after TCP RST packet recieve (A-syn EQE) */,
ISCSI_EVENT_TYPE_ASYN_CLOSE_RCVD /* iSCSI response after close receive (A-syn EQE) */,
ISCSI_EVENT_TYPE_ASYN_SYN_RCVD /* iSCSI response after TCP SYN+ACK packet receive (A-syn EQE) */,
ISCSI_EVENT_TYPE_ASYN_MAX_RT_TIME /* iSCSI error - tcp max retransmit time (A-syn EQE) */,
@@ -1006,27 +1633,9 @@ enum iscsi_ramrod_cmd_id
};
-struct iscsi_reg1
-{
- __le32 reg1_map;
-#define ISCSI_REG1_NUM_SGES_MASK 0xF /* Written to R2tQE */
-#define ISCSI_REG1_NUM_SGES_SHIFT 0
-#define ISCSI_REG1_RESERVED1_MASK 0xFFFFFFF /* reserved */
-#define ISCSI_REG1_RESERVED1_SHIFT 4
-};
-
-/*
- * Union of data/r2t sequence number
- */
-union iscsi_seq_num
-{
- __le16 data_sn /* data-in sequence number */;
- __le16 r2t_sn /* r2t pdu sequence number */;
-};
-
/*
@@ -1111,308 +1720,11 @@ struct iscsi_spe_func_init
struct iscsi_debug_modes debug_mode /* Use iscsi_debug_mode flags */;
__le16 reserved1;
__le32 reserved2;
- __le32 reserved3;
- __le32 reserved4;
struct scsi_init_func_params func_params /* Common SCSI init params passed by driver to FW in function init ramrod */;
struct scsi_init_func_queues q_params /* SCSI RQ/CQ firmware function init parameters */;
};
-/*
- * The iscsi storm task context of Ystorm
- */
-struct ystorm_iscsi_task_state
-{
- struct scsi_cached_sges data_desc;
- struct scsi_sgl_params sgl_params;
- __le32 exp_r2t_sn /* Initiator mode - Expected R2T PDU index in sequence. [variable, initialized 0] */;
- __le32 buffer_offset /* Payload data offset */;
- union iscsi_seq_num seq_num /* PDU index in sequence */;
- struct iscsi_dif_flags dif_flags /* Dif flags */;
- u8 flags;
-#define YSTORM_ISCSI_TASK_STATE_LOCAL_COMP_MASK 0x1 /* local_completion */
-#define YSTORM_ISCSI_TASK_STATE_LOCAL_COMP_SHIFT 0
-#define YSTORM_ISCSI_TASK_STATE_SLOW_IO_MASK 0x1 /* Equals 1 if SGL is predicted and 0 otherwise. */
-#define YSTORM_ISCSI_TASK_STATE_SLOW_IO_SHIFT 1
-#define YSTORM_ISCSI_TASK_STATE_RESERVED0_MASK 0x3F
-#define YSTORM_ISCSI_TASK_STATE_RESERVED0_SHIFT 2
-};
-
-/*
- * The iscsi storm task context of Ystorm
- */
-struct ystorm_iscsi_task_rxmit_opt
-{
- __le32 fast_rxmit_sge_offset /* SGE offset from which to continue dummy-read or start fast retransmit */;
- __le32 scan_start_buffer_offset /* Starting buffer offset of next retransmit SGL scan */;
- __le32 fast_rxmit_buffer_offset /* Buffer offset from which to continue dummy-read or start fast retransmit */;
- u8 scan_start_sgl_index /* Starting SGL index of next retransmit SGL scan */;
- u8 fast_rxmit_sgl_index /* SGL index from which to continue dummy-read or start fast retransmit */;
- __le16 reserved /* reserved */;
-};
-
-/*
- * The iscsi storm task context of Ystorm
- */
-struct ystorm_iscsi_task_st_ctx
-{
- struct ystorm_iscsi_task_state state /* iSCSI task parameters and state */;
- struct ystorm_iscsi_task_rxmit_opt rxmit_opt /* iSCSI retransmit optimizations parameters */;
- union iscsi_task_hdr pdu_hdr /* PDU header - [constant initialized] */;
-};
-
-struct e4_ystorm_iscsi_task_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 byte1 /* state */;
- __le16 word0 /* icid */;
- u8 flags0;
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_NIBBLE0_MASK 0xF /* connection_type */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_NIBBLE0_SHIFT 0
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT0_SHIFT 4
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_VALID_SHIFT 6
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT3_SHIFT 7
- u8 flags1;
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF0_SHIFT 0
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF1_SHIFT 2
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF2SPECIAL_MASK 0x3 /* cf2special */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF0EN_SHIFT 6
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_CF1EN_SHIFT 7
- u8 flags2;
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_BIT4_SHIFT 0
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE0EN_SHIFT 1
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 2
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE2EN_SHIFT 3
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 4
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 5
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 6
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E4_YSTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 7
- u8 byte2 /* byte2 */;
- __le32 TTT /* reg0 */;
- u8 byte3 /* byte3 */;
- u8 byte4 /* byte4 */;
- __le16 word1 /* word1 */;
-};
-
-struct e4_mstorm_iscsi_task_ag_ctx
-{
- u8 cdu_validation /* cdu_validation */;
- u8 byte1 /* state */;
- __le16 task_cid /* icid */;
- u8 flags0;
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_VALID_SHIFT 6
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_FLAG_MASK 0x1 /* bit3 */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_FLAG_SHIFT 7
- u8 flags1;
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_MASK 0x3 /* cf0 */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_SHIFT 0
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF1_SHIFT 2
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF2_MASK 0x3 /* cf2 */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF2_SHIFT 4
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_EN_MASK 0x1 /* cf0en */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_EN_SHIFT 6
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF1EN_SHIFT 7
- u8 flags2;
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_CF2EN_SHIFT 0
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE0EN_SHIFT 1
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 2
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE2EN_SHIFT 3
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 4
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 5
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 6
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E4_MSTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 7
- u8 byte2 /* byte2 */;
- __le32 reg0 /* reg0 */;
- u8 byte3 /* byte3 */;
- u8 byte4 /* byte4 */;
- __le16 word1 /* word1 */;
-};
-
-struct e4_ustorm_iscsi_task_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 state /* state */;
- __le16 icid /* icid */;
- u8 flags0;
-#define E4_USTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E4_USTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E4_USTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
-#define E4_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_MASK 0x3 /* timer0cf */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_SHIFT 6
- u8 flags1;
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RESERVED1_MASK 0x3 /* timer1cf */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RESERVED1_SHIFT 0
-#define E4_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_MASK 0x3 /* timer2cf */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_SHIFT 2
-#define E4_USTORM_ISCSI_TASK_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_CF3_SHIFT 4
-#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_MASK 0x3 /* cf4 */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_SHIFT 6
- u8 flags2;
-#define E4_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_EN_MASK 0x1 /* cf0en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_EN_SHIFT 0
-#define E4_USTORM_ISCSI_TASK_AG_CTX_DISABLE_DATA_ACKED_MASK 0x1 /* cf1en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_DISABLE_DATA_ACKED_SHIFT 1
-#define E4_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_EN_MASK 0x1 /* cf2en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_EN_SHIFT 2
-#define E4_USTORM_ISCSI_TASK_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_CF3EN_SHIFT 3
-#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_EN_MASK 0x1 /* cf4en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_EN_SHIFT 4
-#define E4_USTORM_ISCSI_TASK_AG_CTX_CMP_DATA_TOTAL_EXP_EN_MASK 0x1 /* rule0en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_CMP_DATA_TOTAL_EXP_EN_SHIFT 5
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 6
-#define E4_USTORM_ISCSI_TASK_AG_CTX_CMP_CONT_RCV_EXP_EN_MASK 0x1 /* rule2en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_CMP_CONT_RCV_EXP_EN_SHIFT 7
- u8 flags3;
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 0
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 1
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 2
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 3
-#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_TYPE_MASK 0xF /* nibble1 */
-#define E4_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_TYPE_SHIFT 4
- __le32 dif_err_intervals /* reg0 */;
- __le32 dif_error_1st_interval /* reg1 */;
- __le32 rcv_cont_len /* reg2 */;
- __le32 exp_cont_len /* reg3 */;
- __le32 total_data_acked /* reg4 */;
- __le32 exp_data_acked /* reg5 */;
- u8 next_tid_valid /* byte2 */;
- u8 byte3 /* byte3 */;
- __le16 word1 /* word1 */;
- __le16 next_tid /* word2 */;
- __le16 word3 /* word3 */;
- __le32 hdr_residual_count /* reg6 */;
- __le32 exp_r2t_sn /* reg7 */;
-};
-
-/*
- * The iscsi storm task context of Mstorm
- */
-struct mstorm_iscsi_task_st_ctx
-{
- struct scsi_cached_sges data_desc /* Union of Data SGL / cached sge */;
- struct scsi_sgl_params sgl_params;
- __le32 rem_task_size /* Remaining task size, used for placement verification */;
- __le32 data_buffer_offset /* Buffer offset */;
- u8 task_type /* Task type, (use: iscsi_task_type enum) */;
- struct iscsi_dif_flags dif_flags /* sizes of host/peer protection intervals + protection log interval */;
- u8 reserved0[2] /* reserved0 */;
- struct regpair sense_db /* Pointer to sense data buffer */;
- __le32 expected_itt /* ITT - for target mode validations */;
- __le32 reserved1 /* reserved1 */;
-};
-
-/*
- * The iscsi storm task context of Ustorm
- */
-struct ustorm_iscsi_task_st_ctx
-{
- __le32 rem_rcv_len /* Remaining data to be received in bytes. Used in validations */;
- __le32 exp_data_transfer_len /* iSCSI Initiator - The size of the transmitted task, iSCSI Target - the size of the Rx continuation */;
- __le32 exp_data_sn /* Expected data SN */;
- struct regpair lun /* LUN */;
- struct iscsi_reg1 reg1;
- u8 flags2;
-#define USTORM_ISCSI_TASK_ST_CTX_AHS_EXIST_MASK 0x1 /* Initiator Mode - Mark AHS exist */
-#define USTORM_ISCSI_TASK_ST_CTX_AHS_EXIST_SHIFT 0
-#define USTORM_ISCSI_TASK_ST_CTX_RESERVED1_MASK 0x7F
-#define USTORM_ISCSI_TASK_ST_CTX_RESERVED1_SHIFT 1
- struct iscsi_dif_flags dif_flags /* Dif flags (written to R2T WQE) */;
- __le16 reserved3;
- __le32 reserved4;
- __le32 reserved5;
- __le32 reserved6;
- __le32 reserved7;
- u8 task_type /* Task Type */;
- u8 error_flags;
-#define USTORM_ISCSI_TASK_ST_CTX_DATA_DIGEST_ERROR_MASK 0x1 /* Mark task with data digest error (1 bit) */
-#define USTORM_ISCSI_TASK_ST_CTX_DATA_DIGEST_ERROR_SHIFT 0
-#define USTORM_ISCSI_TASK_ST_CTX_DATA_TRUNCATED_ERROR_MASK 0x1 /* Target Mode - Mark middle task error, data truncated */
-#define USTORM_ISCSI_TASK_ST_CTX_DATA_TRUNCATED_ERROR_SHIFT 1
-#define USTORM_ISCSI_TASK_ST_CTX_UNDER_RUN_ERROR_MASK 0x1
-#define USTORM_ISCSI_TASK_ST_CTX_UNDER_RUN_ERROR_SHIFT 2
-#define USTORM_ISCSI_TASK_ST_CTX_RESERVED8_MASK 0x1F
-#define USTORM_ISCSI_TASK_ST_CTX_RESERVED8_SHIFT 3
- u8 flags;
-#define USTORM_ISCSI_TASK_ST_CTX_CQE_WRITE_MASK 0x3 /* mark task cqe write (for cleanup flow) */
-#define USTORM_ISCSI_TASK_ST_CTX_CQE_WRITE_SHIFT 0
-#define USTORM_ISCSI_TASK_ST_CTX_LOCAL_COMP_MASK 0x1 /* local completion bit */
-#define USTORM_ISCSI_TASK_ST_CTX_LOCAL_COMP_SHIFT 2
-#define USTORM_ISCSI_TASK_ST_CTX_Q0_R2TQE_WRITE_MASK 0x1 /* write R2TQE from Q0 flow */
-#define USTORM_ISCSI_TASK_ST_CTX_Q0_R2TQE_WRITE_SHIFT 3
-#define USTORM_ISCSI_TASK_ST_CTX_TOTAL_DATA_ACKED_DONE_MASK 0x1 /* Mark total data acked or disabled */
-#define USTORM_ISCSI_TASK_ST_CTX_TOTAL_DATA_ACKED_DONE_SHIFT 4
-#define USTORM_ISCSI_TASK_ST_CTX_HQ_SCANNED_DONE_MASK 0x1 /* Mark HQ scanned or disabled */
-#define USTORM_ISCSI_TASK_ST_CTX_HQ_SCANNED_DONE_SHIFT 5
-#define USTORM_ISCSI_TASK_ST_CTX_R2T2RECV_DONE_MASK 0x1 /* Mark HQ scanned or disabled */
-#define USTORM_ISCSI_TASK_ST_CTX_R2T2RECV_DONE_SHIFT 6
-#define USTORM_ISCSI_TASK_ST_CTX_RESERVED0_MASK 0x1
-#define USTORM_ISCSI_TASK_ST_CTX_RESERVED0_SHIFT 7
- u8 cq_rss_number /* Task CQ_RSS number 0.63 */;
-};
-
-/*
- * iscsi task context
- */
-struct iscsi_task_context
-{
- struct ystorm_iscsi_task_st_ctx ystorm_st_context /* ystorm storm context */;
- struct e4_ystorm_iscsi_task_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
- struct regpair ystorm_ag_padding[2] /* padding */;
- struct tdif_task_context tdif_context /* tdif context */;
- struct e4_mstorm_iscsi_task_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
- struct regpair mstorm_ag_padding[2] /* padding */;
- struct e4_ustorm_iscsi_task_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
- struct mstorm_iscsi_task_st_ctx mstorm_st_context /* mstorm storm context */;
- struct ustorm_iscsi_task_st_ctx ustorm_st_context /* ustorm storm context */;
- struct rdif_task_context rdif_context /* rdif context */;
-};
-
-
/*
* iSCSI task type
@@ -1429,6 +1741,7 @@ enum iscsi_task_type
ISCSI_TASK_TYPE_TARGET_READ,
ISCSI_TASK_TYPE_TARGET_RESPONSE,
ISCSI_TASK_TYPE_LOGIN_RESPONSE,
+ ISCSI_TASK_TYPE_TARGET_IMM_W_DIF,
MAX_ISCSI_TASK_TYPE
};
@@ -1535,6 +1848,7 @@ struct iscsi_xhqe
};
+
/*
* Per PF iSCSI receive path statistics - mStorm RAM structure
*/
@@ -1555,6 +1869,7 @@ struct pstorm_iscsi_stats_drv
};
+
/*
* Per PF iSCSI receive path statistics - tStorm RAM structure
*/
@@ -1689,70 +2004,6 @@ struct e4_tstorm_iscsi_task_ag_ctx
-struct e5_mstorm_iscsi_task_ag_ctx
-{
- u8 cdu_validation /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- __le16 task_cid /* icid */;
- u8 flags0;
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_VALID_SHIFT 6
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_FLAG_MASK 0x1 /* bit3 */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_FLAG_SHIFT 7
- u8 flags1;
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_MASK 0x3 /* cf0 */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_SHIFT 0
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF1_SHIFT 2
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF2_MASK 0x3 /* cf2 */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF2_SHIFT 4
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_EN_MASK 0x1 /* cf0en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_TASK_CLEANUP_CF_EN_SHIFT 6
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF1EN_SHIFT 7
- u8 flags2;
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF2EN_MASK 0x1 /* cf2en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_CF2EN_SHIFT 0
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE0EN_SHIFT 1
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 2
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE2EN_SHIFT 3
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 4
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 5
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 6
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 7
- u8 flags3;
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit4 */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
-#define E5_MSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
- __le32 reg0 /* reg0 */;
- u8 byte2 /* byte2 */;
- u8 byte3 /* byte3 */;
- u8 byte4 /* byte4 */;
- u8 e4_reserved7 /* byte5 */;
-};
-
struct e5_tstorm_iscsi_task_ag_ctx
{
@@ -1835,151 +2086,6 @@ struct e5_tstorm_iscsi_task_ag_ctx
};
-struct e5_ustorm_iscsi_task_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 state_and_core_id /* state_and_core_id */;
- __le16 icid /* icid */;
- u8 flags0;
-#define E5_USTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF /* connection_type */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
-#define E5_USTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
-#define E5_USTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
-#define E5_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_MASK 0x3 /* timer0cf */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_SHIFT 6
- u8 flags1;
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RESERVED1_MASK 0x3 /* timer1cf */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RESERVED1_SHIFT 0
-#define E5_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_MASK 0x3 /* timer2cf */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_SHIFT 2
-#define E5_USTORM_ISCSI_TASK_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_CF3_SHIFT 4
-#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_MASK 0x3 /* dif_error_cf */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_SHIFT 6
- u8 flags2;
-#define E5_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_EN_MASK 0x1 /* cf0en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_HQ_SCANNED_CF_EN_SHIFT 0
-#define E5_USTORM_ISCSI_TASK_AG_CTX_DISABLE_DATA_ACKED_MASK 0x1 /* cf1en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_DISABLE_DATA_ACKED_SHIFT 1
-#define E5_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_EN_MASK 0x1 /* cf2en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_R2T2RECV_EN_SHIFT 2
-#define E5_USTORM_ISCSI_TASK_AG_CTX_CF3EN_MASK 0x1 /* cf3en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_CF3EN_SHIFT 3
-#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_EN_MASK 0x1 /* cf4en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_CF_EN_SHIFT 4
-#define E5_USTORM_ISCSI_TASK_AG_CTX_CMP_DATA_TOTAL_EXP_EN_MASK 0x1 /* rule0en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_CMP_DATA_TOTAL_EXP_EN_SHIFT 5
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 6
-#define E5_USTORM_ISCSI_TASK_AG_CTX_CMP_CONT_RCV_EXP_EN_MASK 0x1 /* rule2en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_CMP_CONT_RCV_EXP_EN_SHIFT 7
- u8 flags3;
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 0
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 1
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 2
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 3
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_SHIFT 4
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_SHIFT 5
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit4 */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_SHIFT 6
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* rule7en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_SHIFT 7
- u8 flags4;
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_MASK 0x3 /* cf5 */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_SHIFT 0
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf5en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_SHIFT 2
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule8en */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_E4_RESERVED7_SHIFT 3
-#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_TYPE_MASK 0xF /* dif_error_type */
-#define E5_USTORM_ISCSI_TASK_AG_CTX_DIF_ERROR_TYPE_SHIFT 4
- u8 next_tid_valid /* byte2 */;
- u8 byte3 /* byte3 */;
- u8 e4_reserved8 /* byte4 */;
- __le32 dif_err_intervals /* dif_err_intervals */;
- __le32 dif_error_1st_interval /* dif_error_1st_interval */;
- __le32 rcv_cont_len /* reg2 */;
- __le32 exp_cont_len /* reg3 */;
- __le32 total_data_acked /* reg4 */;
- __le32 exp_data_acked /* reg5 */;
- __le16 word1 /* word1 */;
- __le16 next_tid /* word2 */;
- __le32 hdr_residual_count /* reg6 */;
- __le32 exp_r2t_sn /* reg7 */;
-};
-
-
-struct e5_ystorm_iscsi_task_ag_ctx
-{
- u8 reserved /* cdu_validation */;
- u8 byte1 /* state_and_core_id */;
- __le16 word0 /* icid */;
- u8 flags0;
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_NIBBLE0_MASK 0xF /* connection_type */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_NIBBLE0_SHIFT 0
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT0_SHIFT 4
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT1_SHIFT 5
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_VALID_MASK 0x1 /* bit2 */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_VALID_SHIFT 6
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT3_MASK 0x1 /* bit3 */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT3_SHIFT 7
- u8 flags1;
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF0_MASK 0x3 /* cf0 */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF0_SHIFT 0
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF1_MASK 0x3 /* cf1 */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF1_SHIFT 2
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF2SPECIAL_MASK 0x3 /* cf2special */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF0EN_MASK 0x1 /* cf0en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF0EN_SHIFT 6
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF1EN_MASK 0x1 /* cf1en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_CF1EN_SHIFT 7
- u8 flags2;
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT4_MASK 0x1 /* bit4 */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_BIT4_SHIFT 0
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE0EN_SHIFT 1
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE1EN_SHIFT 2
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE2EN_SHIFT 3
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE3EN_SHIFT 4
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE4EN_SHIFT 5
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE5EN_SHIFT 6
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_RULE6EN_SHIFT 7
- u8 flags3;
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit5 */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED1_SHIFT 0
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_MASK 0x3 /* cf3 */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED2_SHIFT 1
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf4 */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED3_SHIFT 3
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_MASK 0x1 /* cf3en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED4_SHIFT 5
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf4en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED5_SHIFT 6
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule7en */
-#define E5_YSTORM_ISCSI_TASK_AG_CTX_E4_RESERVED6_SHIFT 7
- __le32 TTT /* reg0 */;
- u8 byte2 /* byte2 */;
- u8 byte3 /* byte3 */;
- u8 byte4 /* byte4 */;
- u8 e4_reserved7 /* byte5 */;
-};
/*
diff --git a/sys/dev/qlnx/qlnxe/mcp_private.h b/sys/dev/qlnx/qlnxe/mcp_private.h
index 11443a4..0a09333 100644
--- a/sys/dev/qlnx/qlnxe/mcp_private.h
+++ b/sys/dev/qlnx/qlnxe/mcp_private.h
@@ -145,9 +145,9 @@ struct private_path {
u32 drv_load_vars; /* When the seconds_since_mcp_reset gets here */
#define DRV_LOAD_TIMEOUT_MASK 0x0000ffff
-#define DRV_LOAD_TIMEOUT_SHIFT 0
+#define DRV_LOAD_TIMEOUT_OFFSET 0
#define DRV_LOAD_NEED_FORCE_MASK 0xffff0000
-#define DRV_LOAD_NEED_FORCE_SHIFT 16
+#define DRV_LOAD_NEED_FORCE_OFFSET 16
struct load_rsp_stc drv_load_params;
};
@@ -164,13 +164,13 @@ struct drv_port_info_t {
/* There are maximum 8 PFs per port */
#define DRV_STATE_LOADED_MASK 0x0000ff00
-#define DRV_STATE_LOADED_SHIFT 8
+#define DRV_STATE_LOADED_OFFSET 8
#define DRV_STATE_PF_TRANSITION_MASK 0x00ff0000
-#define DRV_STATE_PF_TRANSITION_SHIFT 16
+#define DRV_STATE_PF_TRANSITION_OFFSET 16
#define DRV_STATE_PF_PHY_INIT_MASK 0xff000000
-#define DRV_STATE_PF_PHY_INIT_SHIFT 24
+#define DRV_STATE_PF_PHY_INIT_OFFSET 24
};
typedef enum _lldp_subscriber_e {
@@ -186,9 +186,9 @@ typedef struct {
u16 valid;
u16 type_len;
#define LLDP_LEN_MASK (0x01ff)
-#define LLDP_LEN_SHIFT (0)
+#define LLDP_LEN_OFFSET (0)
#define LLDP_TYPE_MASK (0xfe00)
-#define LLDP_TYPE_SHIFT (9)
+#define LLDP_TYPE_OFFSET (9)
u8 *value_p;
} tlv_s;
@@ -211,7 +211,7 @@ typedef struct {
} subscriber_callback_receive_s;
#define MAX_ETH_HEADER 14 /* TODO: to be extended per requirements */
-#define MAX_PACKET_SIZE (1516) /* So it can be divided by 4 */
+#define MAX_PACKET_SIZE (1516) /* So it can be devided by 4 */
#define LLDP_CHASSIS_ID_TLV_LEN 7
#define LLDP_PORT_ID_TLV_LEN 7
#define MAX_TLV_BUFFER 128 /* In dwords. 512 in bytes*/
@@ -244,19 +244,19 @@ typedef struct {
typedef struct {
u32 config; /* Uses same defines as local config plus some more below*/
#define DCBX_MODE_MASK 0x00000010
-#define DCBX_MODE_SHIFT 4
+#define DCBX_MODE_OFFSET 4
#define DCBX_MODE_DRIVER 0
#define DCBX_MODE_DEFAULT 1
#define DCBX_CHANGED_MASK 0x00000f00
-#define DCBX_CHANGED_SHIFT 8
+#define DCBX_CHANGED_OFFSET 8
#define DCBX_CONTROL_CHANGED_MASK 0x00000100
-#define DCBX_CONTROL_CHANGED_SHIFT 8
+#define DCBX_CONTROL_CHANGED_OFFSET 8
#define DCBX_PFC_CHANGED_MASK 0x00000200
-#define DCBX_PFC_CHANGED_SHIFT 9
+#define DCBX_PFC_CHANGED_OFFSET 9
#define DCBX_ETS_CHANGED_MASK 0x00000400
-#define DCBX_ETS_CHANGED_SHIFT 10
+#define DCBX_ETS_CHANGED_OFFSET 10
#define DCBX_APP_CHANGED_MASK 0x00000800
-#define DCBX_APP_CHANGED_SHIFT 11
+#define DCBX_APP_CHANGED_OFFSET 11
u32 seq_no;
u32 ack_no;
@@ -268,14 +268,14 @@ typedef struct {
#ifdef CONFIG_HP_DCI_SUPPORT
struct dci_info_port {
u32 config;
-#define DCI_PORT_CFG_ENABLE_SHIFT (0)
-#define DCI_PORT_CFG_ENABLE_MASK (1 << DCI_PORT_CFG_ENABLE_SHIFT)
-#define DCI_PORT_CFG_ENABLE_DIAG_SHIFT (1)
-#define DCI_PORT_CFG_ENABLE_DIAG_MASK (1 << DCI_PORT_CFG_ENABLE_DIAG_SHIFT)
-#define DCI_PORT_CFG_DIAG_L_LOOP_SHIFT (2)
-#define DCI_PORT_CFG_DIAG_L_LOOP_MASK (1 << DCI_PORT_CFG_DIAG_L_LOOP_SHIFT)
-#define DCI_PORT_CFG_DIAG_R_LOOP_SHIFT (3)
-#define DCI_PORT_CFG_DIAG_R_LOOP_MASK (1 << DCI_PORT_CFG_DIAG_R_LOOP_SHIFT)
+#define DCI_PORT_CFG_ENABLE_OFFSET (0)
+#define DCI_PORT_CFG_ENABLE_MASK (1 << DCI_PORT_CFG_ENABLE_OFFSET)
+#define DCI_PORT_CFG_ENABLE_DIAG_OFFSET (1)
+#define DCI_PORT_CFG_ENABLE_DIAG_MASK (1 << DCI_PORT_CFG_ENABLE_DIAG_OFFSET)
+#define DCI_PORT_CFG_DIAG_L_LOOP_OFFSET (2)
+#define DCI_PORT_CFG_DIAG_L_LOOP_MASK (1 << DCI_PORT_CFG_DIAG_L_LOOP_OFFSET)
+#define DCI_PORT_CFG_DIAG_R_LOOP_OFFSET (3)
+#define DCI_PORT_CFG_DIAG_R_LOOP_MASK (1 << DCI_PORT_CFG_DIAG_R_LOOP_OFFSET)
};
#endif
@@ -343,12 +343,12 @@ struct drv_func_info_t {
struct dci_info_func {
u8 config;
-#define DCI_FUNC_CFG_FNIC_ENABLE_SHIFT (0)
-#define DCI_FUNC_CFG_FNIC_ENABLE_MASK (1 << DCI_FUNC_CFG_FNIC_ENABLE_SHIFT)
-#define DCI_FUNC_CFG_OS_MTU_OVERRIDE_SHIFT (1)
-#define DCI_FUNC_CFG_OS_MTU_OVERRIDE_MASK (1 << DCI_FUNC_CFG_OS_MTU_OVERRIDE_SHIFT)
-#define DCI_FUNC_CFG_DIAG_WOL_ENABLE_SHIFT (2)
-#define DCI_FUNC_CFG_DIAG_WOL_ENABLE_MASK (1 << DCI_FUNC_CFG_DIAG_WOL_ENABLE_SHIFT)
+#define DCI_FUNC_CFG_FNIC_ENABLE_OFFSET (0)
+#define DCI_FUNC_CFG_FNIC_ENABLE_MASK (1 << DCI_FUNC_CFG_FNIC_ENABLE_OFFSET)
+#define DCI_FUNC_CFG_OS_MTU_OVERRIDE_OFFSET (1)
+#define DCI_FUNC_CFG_OS_MTU_OVERRIDE_MASK (1 << DCI_FUNC_CFG_OS_MTU_OVERRIDE_OFFSET)
+#define DCI_FUNC_CFG_DIAG_WOL_ENABLE_OFFSET (2)
+#define DCI_FUNC_CFG_DIAG_WOL_ENABLE_MASK (1 << DCI_FUNC_CFG_DIAG_WOL_ENABLE_OFFSET)
u8 drv_state;
u16 fcoe_cvid;
diff --git a/sys/dev/qlnx/qlnxe/mcp_public.h b/sys/dev/qlnx/qlnxe/mcp_public.h
index fca8722..1b5fdf4 100644
--- a/sys/dev/qlnx/qlnxe/mcp_public.h
+++ b/sys/dev/qlnx/qlnxe/mcp_public.h
@@ -28,7 +28,6 @@
*
*/
-
/****************************************************************************
*
* Name: mcp_public.h
@@ -51,17 +50,17 @@
typedef u32 offsize_t; /* In DWORDS !!! */
/* Offset from the beginning of the MCP scratchpad */
-#define OFFSIZE_OFFSET_SHIFT 0
+#define OFFSIZE_OFFSET_OFFSET 0
#define OFFSIZE_OFFSET_MASK 0x0000ffff
/* Size of specific element (not the whole array if any) */
-#define OFFSIZE_SIZE_SHIFT 16
+#define OFFSIZE_SIZE_OFFSET 16
#define OFFSIZE_SIZE_MASK 0xffff0000
/* SECTION_OFFSET is calculating the offset in bytes out of offsize */
-#define SECTION_OFFSET(_offsize) ((((_offsize & OFFSIZE_OFFSET_MASK) >> OFFSIZE_OFFSET_SHIFT) << 2))
+#define SECTION_OFFSET(_offsize) ((((_offsize & OFFSIZE_OFFSET_MASK) >> OFFSIZE_OFFSET_OFFSET) << 2))
/* SECTION_SIZE is calculating the size in bytes out of offsize */
-#define SECTION_SIZE(_offsize) (((_offsize & OFFSIZE_SIZE_MASK) >> OFFSIZE_SIZE_SHIFT) << 2)
+#define SECTION_SIZE(_offsize) (((_offsize & OFFSIZE_SIZE_MASK) >> OFFSIZE_SIZE_OFFSET) << 2)
/* SECTION_ADDR returns the GRC addr of a section, given offsize and index within section */
#define SECTION_ADDR(_offsize, idx) (MCP_REG_SCRATCH + SECTION_OFFSET(_offsize) + (SECTION_SIZE(_offsize) * idx))
@@ -99,20 +98,20 @@ struct eth_phy_cfg {
#define EEE_CFG_ADV_SPEED_1G (1<<2)
#define EEE_CFG_ADV_SPEED_10G (1<<3)
#define EEE_TX_TIMER_USEC_MASK (0xfffffff0)
-#define EEE_TX_TIMER_USEC_SHIFT 4
+#define EEE_TX_TIMER_USEC_OFFSET 4
#define EEE_TX_TIMER_USEC_BALANCED_TIME (0xa00)
#define EEE_TX_TIMER_USEC_AGGRESSIVE_TIME (0x100)
#define EEE_TX_TIMER_USEC_LATENCY_TIME (0x6000)
u32 link_modes; /* Additional link modes */
-#define LINK_MODE_SMARTLINQ_ENABLE 0x1 /* XXX deprecated */
+#define LINK_MODE_SMARTLINQ_ENABLE 0x1 /* XXX Deprecate */
};
struct port_mf_cfg {
u32 dynamic_cfg; /* device control channel */
#define PORT_MF_CFG_OV_TAG_MASK 0x0000ffff
-#define PORT_MF_CFG_OV_TAG_SHIFT 0
+#define PORT_MF_CFG_OV_TAG_OFFSET 0
#define PORT_MF_CFG_OV_TAG_DEFAULT PORT_MF_CFG_OV_TAG_MASK
u32 reserved[1];
@@ -266,15 +265,15 @@ typedef enum _lldp_agent_e {
struct lldp_config_params_s {
u32 config;
#define LLDP_CONFIG_TX_INTERVAL_MASK 0x000000ff
-#define LLDP_CONFIG_TX_INTERVAL_SHIFT 0
+#define LLDP_CONFIG_TX_INTERVAL_OFFSET 0
#define LLDP_CONFIG_HOLD_MASK 0x00000f00
-#define LLDP_CONFIG_HOLD_SHIFT 8
+#define LLDP_CONFIG_HOLD_OFFSET 8
#define LLDP_CONFIG_MAX_CREDIT_MASK 0x0000f000
-#define LLDP_CONFIG_MAX_CREDIT_SHIFT 12
+#define LLDP_CONFIG_MAX_CREDIT_OFFSET 12
#define LLDP_CONFIG_ENABLE_RX_MASK 0x40000000
-#define LLDP_CONFIG_ENABLE_RX_SHIFT 30
+#define LLDP_CONFIG_ENABLE_RX_OFFSET 30
#define LLDP_CONFIG_ENABLE_TX_MASK 0x80000000
-#define LLDP_CONFIG_ENABLE_TX_SHIFT 31
+#define LLDP_CONFIG_ENABLE_TX_OFFSET 31
/* Holds local Chassis ID TLV header, subtype and 9B of payload.
If firtst byte is 0, then we will use default chassis ID */
u32 local_chassis_id[LLDP_CHASSIS_ID_STAT_LEN];
@@ -296,17 +295,17 @@ struct lldp_status_params_s {
struct dcbx_ets_feature {
u32 flags;
#define DCBX_ETS_ENABLED_MASK 0x00000001
-#define DCBX_ETS_ENABLED_SHIFT 0
+#define DCBX_ETS_ENABLED_OFFSET 0
#define DCBX_ETS_WILLING_MASK 0x00000002
-#define DCBX_ETS_WILLING_SHIFT 1
+#define DCBX_ETS_WILLING_OFFSET 1
#define DCBX_ETS_ERROR_MASK 0x00000004
-#define DCBX_ETS_ERROR_SHIFT 2
+#define DCBX_ETS_ERROR_OFFSET 2
#define DCBX_ETS_CBS_MASK 0x00000008
-#define DCBX_ETS_CBS_SHIFT 3
+#define DCBX_ETS_CBS_OFFSET 3
#define DCBX_ETS_MAX_TCS_MASK 0x000000f0
-#define DCBX_ETS_MAX_TCS_SHIFT 4
+#define DCBX_ETS_MAX_TCS_OFFSET 4
#define DCBX_OOO_TC_MASK 0x00000f00
-#define DCBX_OOO_TC_SHIFT 8
+#define DCBX_OOO_TC_OFFSET 8
/* Entries in tc table are orginized that the left most is pri 0, right most is prio 7 */
u32 pri_tc_tbl[1];
/* Fixed TCP OOO TC usage is deprecated and used only for driver backward compatibility */
@@ -327,7 +326,7 @@ struct dcbx_ets_feature {
struct dcbx_app_priority_entry {
u32 entry;
#define DCBX_APP_PRI_MAP_MASK 0x000000ff
-#define DCBX_APP_PRI_MAP_SHIFT 0
+#define DCBX_APP_PRI_MAP_OFFSET 0
#define DCBX_APP_PRI_0 0x01
#define DCBX_APP_PRI_1 0x02
#define DCBX_APP_PRI_2 0x04
@@ -337,11 +336,11 @@ struct dcbx_app_priority_entry {
#define DCBX_APP_PRI_6 0x40
#define DCBX_APP_PRI_7 0x80
#define DCBX_APP_SF_MASK 0x00000300
-#define DCBX_APP_SF_SHIFT 8
+#define DCBX_APP_SF_OFFSET 8
#define DCBX_APP_SF_ETHTYPE 0
#define DCBX_APP_SF_PORT 1
#define DCBX_APP_SF_IEEE_MASK 0x0000f000
-#define DCBX_APP_SF_IEEE_SHIFT 12
+#define DCBX_APP_SF_IEEE_OFFSET 12
#define DCBX_APP_SF_IEEE_RESERVED 0
#define DCBX_APP_SF_IEEE_ETHTYPE 1
#define DCBX_APP_SF_IEEE_TCP_PORT 2
@@ -349,7 +348,7 @@ struct dcbx_app_priority_entry {
#define DCBX_APP_SF_IEEE_TCP_UDP_PORT 4
#define DCBX_APP_PROTOCOL_ID_MASK 0xffff0000
-#define DCBX_APP_PROTOCOL_ID_SHIFT 16
+#define DCBX_APP_PROTOCOL_ID_OFFSET 16
};
@@ -357,19 +356,19 @@ struct dcbx_app_priority_entry {
struct dcbx_app_priority_feature {
u32 flags;
#define DCBX_APP_ENABLED_MASK 0x00000001
-#define DCBX_APP_ENABLED_SHIFT 0
+#define DCBX_APP_ENABLED_OFFSET 0
#define DCBX_APP_WILLING_MASK 0x00000002
-#define DCBX_APP_WILLING_SHIFT 1
+#define DCBX_APP_WILLING_OFFSET 1
#define DCBX_APP_ERROR_MASK 0x00000004
-#define DCBX_APP_ERROR_SHIFT 2
+#define DCBX_APP_ERROR_OFFSET 2
/* Not in use
#define DCBX_APP_DEFAULT_PRI_MASK 0x00000f00
- #define DCBX_APP_DEFAULT_PRI_SHIFT 8
+ #define DCBX_APP_DEFAULT_PRI_OFFSET 8
*/
#define DCBX_APP_MAX_TCS_MASK 0x0000f000
-#define DCBX_APP_MAX_TCS_SHIFT 12
+#define DCBX_APP_MAX_TCS_OFFSET 12
#define DCBX_APP_NUM_ENTRIES_MASK 0x00ff0000
-#define DCBX_APP_NUM_ENTRIES_SHIFT 16
+#define DCBX_APP_NUM_ENTRIES_OFFSET 16
struct dcbx_app_priority_entry app_pri_tbl[DCBX_MAX_APP_PROTOCOL];
};
@@ -380,7 +379,7 @@ struct dcbx_features {
/* PFC feature */
u32 pfc;
#define DCBX_PFC_PRI_EN_BITMAP_MASK 0x000000ff
-#define DCBX_PFC_PRI_EN_BITMAP_SHIFT 0
+#define DCBX_PFC_PRI_EN_BITMAP_OFFSET 0
#define DCBX_PFC_PRI_EN_BITMAP_PRI_0 0x01
#define DCBX_PFC_PRI_EN_BITMAP_PRI_1 0x02
#define DCBX_PFC_PRI_EN_BITMAP_PRI_2 0x04
@@ -391,17 +390,17 @@ struct dcbx_features {
#define DCBX_PFC_PRI_EN_BITMAP_PRI_7 0x80
#define DCBX_PFC_FLAGS_MASK 0x0000ff00
-#define DCBX_PFC_FLAGS_SHIFT 8
+#define DCBX_PFC_FLAGS_OFFSET 8
#define DCBX_PFC_CAPS_MASK 0x00000f00
-#define DCBX_PFC_CAPS_SHIFT 8
+#define DCBX_PFC_CAPS_OFFSET 8
#define DCBX_PFC_MBC_MASK 0x00004000
-#define DCBX_PFC_MBC_SHIFT 14
+#define DCBX_PFC_MBC_OFFSET 14
#define DCBX_PFC_WILLING_MASK 0x00008000
-#define DCBX_PFC_WILLING_SHIFT 15
+#define DCBX_PFC_WILLING_OFFSET 15
#define DCBX_PFC_ENABLED_MASK 0x00010000
-#define DCBX_PFC_ENABLED_SHIFT 16
+#define DCBX_PFC_ENABLED_OFFSET 16
#define DCBX_PFC_ERROR_MASK 0x00020000
-#define DCBX_PFC_ERROR_SHIFT 17
+#define DCBX_PFC_ERROR_OFFSET 17
/* APP feature */
struct dcbx_app_priority_feature app;
@@ -410,7 +409,7 @@ struct dcbx_features {
struct dcbx_local_params {
u32 config;
#define DCBX_CONFIG_VERSION_MASK 0x00000007
-#define DCBX_CONFIG_VERSION_SHIFT 0
+#define DCBX_CONFIG_VERSION_OFFSET 0
#define DCBX_CONFIG_VERSION_DISABLED 0
#define DCBX_CONFIG_VERSION_IEEE 1
#define DCBX_CONFIG_VERSION_CEE 2
@@ -425,7 +424,7 @@ struct dcbx_mib {
u32 flags;
/*
#define DCBX_CONFIG_VERSION_MASK 0x00000007
- #define DCBX_CONFIG_VERSION_SHIFT 0
+ #define DCBX_CONFIG_VERSION_OFFSET 0
#define DCBX_CONFIG_VERSION_DISABLED 0
#define DCBX_CONFIG_VERSION_IEEE 1
#define DCBX_CONFIG_VERSION_CEE 2
@@ -444,7 +443,7 @@ struct lldp_system_tlvs_buffer_s {
struct dcb_dscp_map {
u32 flags;
#define DCB_DSCP_ENABLE_MASK 0x1
-#define DCB_DSCP_ENABLE_SHIFT 0
+#define DCB_DSCP_ENABLE_OFFSET 0
#define DCB_DSCP_ENABLE 1
u32 dscp_pri_map[8];
/* the map structure is the following:
@@ -481,12 +480,12 @@ struct public_global {
#define MDUMP_REASON_DUMP_AGED (1 << 2)
u32 ext_phy_upgrade_fw;
#define EXT_PHY_FW_UPGRADE_STATUS_MASK (0x0000ffff)
-#define EXT_PHY_FW_UPGRADE_STATUS_SHIFT (0)
+#define EXT_PHY_FW_UPGRADE_STATUS_OFFSET (0)
#define EXT_PHY_FW_UPGRADE_STATUS_IN_PROGRESS (1)
#define EXT_PHY_FW_UPGRADE_STATUS_FAILED (2)
#define EXT_PHY_FW_UPGRADE_STATUS_SUCCESS (3)
#define EXT_PHY_FW_UPGRADE_TYPE_MASK (0xffff0000)
-#define EXT_PHY_FW_UPGRADE_TYPE_SHIFT (16)
+#define EXT_PHY_FW_UPGRADE_TYPE_OFFSET (16)
u8 runtime_port_swap_map[MODE_4P];
u32 data_ptr;
@@ -539,9 +538,9 @@ struct public_path {
u32 process_kill; /* Reset on mcp reset, and incremented for eveny process kill event. */
#define PROCESS_KILL_COUNTER_MASK 0x0000ffff
-#define PROCESS_KILL_COUNTER_SHIFT 0
+#define PROCESS_KILL_COUNTER_OFFSET 0
#define PROCESS_KILL_GLOB_AEU_BIT_MASK 0xffff0000
-#define PROCESS_KILL_GLOB_AEU_BIT_SHIFT 16
+#define PROCESS_KILL_GLOB_AEU_BIT_OFFSET 16
#define GLOBAL_AEU_BIT(aeu_reg_id, aeu_bit) (aeu_reg_id*32 + aeu_bit)
};
@@ -693,13 +692,13 @@ struct public_port {
u32 fc_npiv_nvram_tbl_size;
u32 transceiver_data;
#define ETH_TRANSCEIVER_STATE_MASK 0x000000FF
-#define ETH_TRANSCEIVER_STATE_SHIFT 0x0
+#define ETH_TRANSCEIVER_STATE_OFFSET 0x0
#define ETH_TRANSCEIVER_STATE_UNPLUGGED 0x00
#define ETH_TRANSCEIVER_STATE_PRESENT 0x01
#define ETH_TRANSCEIVER_STATE_VALID 0x03
#define ETH_TRANSCEIVER_STATE_UPDATING 0x08
#define ETH_TRANSCEIVER_TYPE_MASK 0x0000FF00
-#define ETH_TRANSCEIVER_TYPE_SHIFT 0x8
+#define ETH_TRANSCEIVER_TYPE_OFFSET 0x8
#define ETH_TRANSCEIVER_TYPE_NONE 0x00
#define ETH_TRANSCEIVER_TYPE_UNKNOWN 0xFF
#define ETH_TRANSCEIVER_TYPE_1G_PCC 0x01 /* 1G Passive copper cable */
@@ -750,17 +749,17 @@ struct public_port {
#define EEE_ACTIVE_BIT (1<<0) /* Set when EEE negotiation is complete. */
#define EEE_LD_ADV_STATUS_MASK 0x000000f0 /* Shows the Local Device EEE capabilities */
-#define EEE_LD_ADV_STATUS_SHIFT 4
+#define EEE_LD_ADV_STATUS_OFFSET 4
#define EEE_1G_ADV (1<<1)
#define EEE_10G_ADV (1<<2)
#define EEE_LP_ADV_STATUS_MASK 0x00000f00 /* Same values as in EEE_LD_ADV, but for Link Parter */
-#define EEE_LP_ADV_STATUS_SHIFT 8
+#define EEE_LP_ADV_STATUS_OFFSET 8
u32 eee_remote; /* Used for EEE in LLDP */
#define EEE_REMOTE_TW_TX_MASK 0x0000ffff
-#define EEE_REMOTE_TW_TX_SHIFT 0
+#define EEE_REMOTE_TW_TX_OFFSET 0
#define EEE_REMOTE_TW_RX_MASK 0xffff0000
-#define EEE_REMOTE_TW_RX_SHIFT 16
+#define EEE_REMOTE_TW_RX_OFFSET 16
u32 module_info;
#define ETH_TRANSCEIVER_MONITORING_TYPE_MASK 0x000000FF
@@ -810,11 +809,11 @@ struct public_func {
/* function 0 of each port cannot be hidden */
#define FUNC_MF_CFG_FUNC_HIDE 0x00000001
#define FUNC_MF_CFG_PAUSE_ON_HOST_RING 0x00000002
-#define FUNC_MF_CFG_PAUSE_ON_HOST_RING_SHIFT 0x00000001
+#define FUNC_MF_CFG_PAUSE_ON_HOST_RING_OFFSET 0x00000001
#define FUNC_MF_CFG_PROTOCOL_MASK 0x000000f0
-#define FUNC_MF_CFG_PROTOCOL_SHIFT 4
+#define FUNC_MF_CFG_PROTOCOL_OFFSET 4
#define FUNC_MF_CFG_PROTOCOL_ETHERNET 0x00000000
#define FUNC_MF_CFG_PROTOCOL_ISCSI 0x00000010
#define FUNC_MF_CFG_PROTOCOL_FCOE 0x00000020
@@ -824,15 +823,15 @@ struct public_func {
/* MINBW, MAXBW */
/* value range - 0..100, increments in 1 % */
#define FUNC_MF_CFG_MIN_BW_MASK 0x0000ff00
-#define FUNC_MF_CFG_MIN_BW_SHIFT 8
+#define FUNC_MF_CFG_MIN_BW_OFFSET 8
#define FUNC_MF_CFG_MIN_BW_DEFAULT 0x00000000
#define FUNC_MF_CFG_MAX_BW_MASK 0x00ff0000
-#define FUNC_MF_CFG_MAX_BW_SHIFT 16
+#define FUNC_MF_CFG_MAX_BW_OFFSET 16
#define FUNC_MF_CFG_MAX_BW_DEFAULT 0x00640000
/*RDMA PROTOCL*/
#define FUNC_MF_CFG_RDMA_PROTOCOL_MASK 0x03000000
-#define FUNC_MF_CFG_RDMA_PROTOCOL_SHIFT 24
+#define FUNC_MF_CFG_RDMA_PROTOCOL_OFFSET 24
#define FUNC_MF_CFG_RDMA_PROTOCOL_NONE 0x00000000
#define FUNC_MF_CFG_RDMA_PROTOCOL_ROCE 0x01000000
#define FUNC_MF_CFG_RDMA_PROTOCOL_IWARP 0x02000000
@@ -840,7 +839,7 @@ struct public_func {
#define FUNC_MF_CFG_RDMA_PROTOCOL_BOTH 0x03000000
#define FUNC_MF_CFG_BOOT_MODE_MASK 0x0C000000
-#define FUNC_MF_CFG_BOOT_MODE_SHIFT 26
+#define FUNC_MF_CFG_BOOT_MODE_OFFSET 26
#define FUNC_MF_CFG_BOOT_MODE_BIOS_CTRL 0x00000000
#define FUNC_MF_CFG_BOOT_MODE_DISABLED 0x04000000
#define FUNC_MF_CFG_BOOT_MODE_ENABLED 0x08000000
@@ -850,7 +849,7 @@ struct public_func {
u32 mac_upper; /* MAC */
#define FUNC_MF_CFG_UPPERMAC_MASK 0x0000ffff
-#define FUNC_MF_CFG_UPPERMAC_SHIFT 0
+#define FUNC_MF_CFG_UPPERMAC_OFFSET 0
#define FUNC_MF_CFG_UPPERMAC_DEFAULT FUNC_MF_CFG_UPPERMAC_MASK
u32 mac_lower;
#define FUNC_MF_CFG_LOWERMAC_DEFAULT 0xffffffff
@@ -863,7 +862,7 @@ struct public_func {
u32 ovlan_stag; /* tags */
#define FUNC_MF_CFG_OV_STAG_MASK 0x0000ffff
-#define FUNC_MF_CFG_OV_STAG_SHIFT 0
+#define FUNC_MF_CFG_OV_STAG_OFFSET 0
#define FUNC_MF_CFG_OV_STAG_DEFAULT FUNC_MF_CFG_OV_STAG_MASK
u32 pf_allocation; /* vf per pf */
@@ -880,32 +879,32 @@ struct public_func {
u32 drv_id;
#define DRV_ID_PDA_COMP_VER_MASK 0x0000ffff
-#define DRV_ID_PDA_COMP_VER_SHIFT 0
+#define DRV_ID_PDA_COMP_VER_OFFSET 0
#define LOAD_REQ_HSI_VERSION 2
#define DRV_ID_MCP_HSI_VER_MASK 0x00ff0000
-#define DRV_ID_MCP_HSI_VER_SHIFT 16
-#define DRV_ID_MCP_HSI_VER_CURRENT (LOAD_REQ_HSI_VERSION << DRV_ID_MCP_HSI_VER_SHIFT)
+#define DRV_ID_MCP_HSI_VER_OFFSET 16
+#define DRV_ID_MCP_HSI_VER_CURRENT (LOAD_REQ_HSI_VERSION << DRV_ID_MCP_HSI_VER_OFFSET)
#define DRV_ID_DRV_TYPE_MASK 0x7f000000
-#define DRV_ID_DRV_TYPE_SHIFT 24
-#define DRV_ID_DRV_TYPE_UNKNOWN (0 << DRV_ID_DRV_TYPE_SHIFT)
-#define DRV_ID_DRV_TYPE_LINUX (1 << DRV_ID_DRV_TYPE_SHIFT)
-#define DRV_ID_DRV_TYPE_WINDOWS (2 << DRV_ID_DRV_TYPE_SHIFT)
-#define DRV_ID_DRV_TYPE_DIAG (3 << DRV_ID_DRV_TYPE_SHIFT)
-#define DRV_ID_DRV_TYPE_PREBOOT (4 << DRV_ID_DRV_TYPE_SHIFT)
-#define DRV_ID_DRV_TYPE_SOLARIS (5 << DRV_ID_DRV_TYPE_SHIFT)
-#define DRV_ID_DRV_TYPE_VMWARE (6 << DRV_ID_DRV_TYPE_SHIFT)
-#define DRV_ID_DRV_TYPE_FREEBSD (7 << DRV_ID_DRV_TYPE_SHIFT)
-#define DRV_ID_DRV_TYPE_AIX (8 << DRV_ID_DRV_TYPE_SHIFT)
+#define DRV_ID_DRV_TYPE_OFFSET 24
+#define DRV_ID_DRV_TYPE_UNKNOWN (0 << DRV_ID_DRV_TYPE_OFFSET)
+#define DRV_ID_DRV_TYPE_LINUX (1 << DRV_ID_DRV_TYPE_OFFSET)
+#define DRV_ID_DRV_TYPE_WINDOWS (2 << DRV_ID_DRV_TYPE_OFFSET)
+#define DRV_ID_DRV_TYPE_DIAG (3 << DRV_ID_DRV_TYPE_OFFSET)
+#define DRV_ID_DRV_TYPE_PREBOOT (4 << DRV_ID_DRV_TYPE_OFFSET)
+#define DRV_ID_DRV_TYPE_SOLARIS (5 << DRV_ID_DRV_TYPE_OFFSET)
+#define DRV_ID_DRV_TYPE_VMWARE (6 << DRV_ID_DRV_TYPE_OFFSET)
+#define DRV_ID_DRV_TYPE_FREEBSD (7 << DRV_ID_DRV_TYPE_OFFSET)
+#define DRV_ID_DRV_TYPE_AIX (8 << DRV_ID_DRV_TYPE_OFFSET)
#define DRV_ID_DRV_TYPE_OS (DRV_ID_DRV_TYPE_LINUX | DRV_ID_DRV_TYPE_WINDOWS | \
DRV_ID_DRV_TYPE_SOLARIS | DRV_ID_DRV_TYPE_VMWARE | \
DRV_ID_DRV_TYPE_FREEBSD | DRV_ID_DRV_TYPE_AIX)
#define DRV_ID_DRV_INIT_HW_MASK 0x80000000
-#define DRV_ID_DRV_INIT_HW_SHIFT 31
-#define DRV_ID_DRV_INIT_HW_FLAG (1 << DRV_ID_DRV_INIT_HW_SHIFT)
+#define DRV_ID_DRV_INIT_HW_OFFSET 31
+#define DRV_ID_DRV_INIT_HW_FLAG (1 << DRV_ID_DRV_INIT_HW_OFFSET)
};
/**************************************/
@@ -990,13 +989,13 @@ struct ocbb_data_stc {
#define MFW_SENSOR_LOCATION_EXTERNAL 2
#define MFW_SENSOR_LOCATION_SFP 3
-#define SENSOR_LOCATION_SHIFT 0
+#define SENSOR_LOCATION_OFFSET 0
#define SENSOR_LOCATION_MASK 0x000000ff
-#define THRESHOLD_HIGH_SHIFT 8
+#define THRESHOLD_HIGH_OFFSET 8
#define THRESHOLD_HIGH_MASK 0x0000ff00
-#define CRITICAL_TEMPERATURE_SHIFT 16
+#define CRITICAL_TEMPERATURE_OFFSET 16
#define CRITICAL_TEMPERATURE_MASK 0x00ff0000
-#define CURRENT_TEMP_SHIFT 24
+#define CURRENT_TEMP_OFFSET 24
#define CURRENT_TEMP_MASK 0xff000000
struct temperature_status_stc {
u32 num_of_sensors;
@@ -1064,18 +1063,18 @@ struct load_req_stc {
u32 fw_ver;
u32 misc0;
#define LOAD_REQ_ROLE_MASK 0x000000FF
-#define LOAD_REQ_ROLE_SHIFT 0
+#define LOAD_REQ_ROLE_OFFSET 0
#define LOAD_REQ_LOCK_TO_MASK 0x0000FF00
-#define LOAD_REQ_LOCK_TO_SHIFT 8
+#define LOAD_REQ_LOCK_TO_OFFSET 8
#define LOAD_REQ_LOCK_TO_DEFAULT 0
#define LOAD_REQ_LOCK_TO_NONE 255
#define LOAD_REQ_FORCE_MASK 0x000F0000
-#define LOAD_REQ_FORCE_SHIFT 16
+#define LOAD_REQ_FORCE_OFFSET 16
#define LOAD_REQ_FORCE_NONE 0
#define LOAD_REQ_FORCE_PF 1
#define LOAD_REQ_FORCE_ALL 2
#define LOAD_REQ_FLAGS0_MASK 0x00F00000
-#define LOAD_REQ_FLAGS0_SHIFT 20
+#define LOAD_REQ_FLAGS0_OFFSET 20
#define LOAD_REQ_FLAGS0_AVOID_RESET (0x1 << 0)
};
@@ -1085,11 +1084,11 @@ struct load_rsp_stc {
u32 fw_ver;
u32 misc0;
#define LOAD_RSP_ROLE_MASK 0x000000FF
-#define LOAD_RSP_ROLE_SHIFT 0
+#define LOAD_RSP_ROLE_OFFSET 0
#define LOAD_RSP_HSI_MASK 0x0000FF00
-#define LOAD_RSP_HSI_SHIFT 8
+#define LOAD_RSP_HSI_OFFSET 8
#define LOAD_RSP_FLAGS0_MASK 0x000F0000
-#define LOAD_RSP_FLAGS0_SHIFT 16
+#define LOAD_RSP_FLAGS0_OFFSET 16
#define LOAD_RSP_FLAGS0_DRV_EXISTS (0x1 << 0)
};
@@ -1177,6 +1176,7 @@ struct public_drv_mb {
#define DRV_MSG_CODE_INITIATE_PF_FLR 0x02010000
#define DRV_MSG_CODE_VF_DISABLED_DONE 0xc0000000
#define DRV_MSG_CODE_CFG_VF_MSIX 0xc0010000
+#define DRV_MSG_CODE_CFG_PF_VFS_MSIX 0xc0020000
#define DRV_MSG_CODE_NVM_PUT_FILE_BEGIN 0x00010000 /* Param is either DRV_MB_PARAM_NVM_PUT_FILE_BEGIN_MFW/IMAGE */
#define DRV_MSG_CODE_NVM_PUT_FILE_DATA 0x00020000 /* Param should be set to the transaction size (up to 64 bytes) */
#define DRV_MSG_CODE_NVM_GET_FILE_ATT 0x00030000 /* MFW will place the file offset and len in file_att struct */
@@ -1193,7 +1193,7 @@ struct public_drv_mb {
#define DRV_MSG_CODE_MCP_HALT 0x00100000 /* Halts the MCP. To resume MCP, user will need to use MCP_REG_CPU_STATE/MCP_REG_CPU_MODE registers. */
#define DRV_MSG_CODE_SET_VMAC 0x00110000 /* Set virtual mac address, params [31:6] - reserved, [5:4] - type, [3:0] - func, drv_data[7:0] - MAC/WWNN/WWPN */
#define DRV_MSG_CODE_GET_VMAC 0x00120000 /* Set virtual mac address, params [31:6] - reserved, [5:4] - type, [3:0] - func, drv_data[7:0] - MAC/WWNN/WWPN */
-#define DRV_MSG_CODE_VMAC_TYPE_SHIFT 4
+#define DRV_MSG_CODE_VMAC_TYPE_OFFSET 4
#define DRV_MSG_CODE_VMAC_TYPE_MASK 0x30
#define DRV_MSG_CODE_VMAC_TYPE_MAC 1
#define DRV_MSG_CODE_VMAC_TYPE_WWNN 2
@@ -1211,9 +1211,9 @@ struct public_drv_mb {
#define DRV_MSG_CODE_OCBB_DATA 0x00180000 /* indicate OCBB related information */
#define DRV_MSG_CODE_SET_BW 0x00190000 /* Set function BW, params[15:8] - min, params[7:0] - max */
#define BW_MAX_MASK 0x000000ff
-#define BW_MAX_SHIFT 0
+#define BW_MAX_OFFSET 0
#define BW_MIN_MASK 0x0000ff00
-#define BW_MIN_SHIFT 8
+#define BW_MIN_OFFSET 8
#define DRV_MSG_CODE_MASK_PARITIES 0x001a0000 /* When param is set to 1, all parities will be masked(disabled). When params are set to 0, parities will be unmasked again. */
#define DRV_MSG_CODE_INDUCE_FAILURE 0x001b0000 /* param[0] - Simulate fan failure, param[1] - simulate over temp. */
@@ -1230,21 +1230,21 @@ struct public_drv_mb {
#define DRV_MSG_CODE_RESOURCE_CMD 0x00230000 /* Param[0:4] - resource number (0-31), Param[5:7] - opcode, param[15:8] - age */
#define RESOURCE_CMD_REQ_RESC_MASK 0x0000001F
-#define RESOURCE_CMD_REQ_RESC_SHIFT 0
+#define RESOURCE_CMD_REQ_RESC_OFFSET 0
#define RESOURCE_CMD_REQ_OPCODE_MASK 0x000000E0
-#define RESOURCE_CMD_REQ_OPCODE_SHIFT 5
+#define RESOURCE_CMD_REQ_OPCODE_OFFSET 5
#define RESOURCE_OPCODE_REQ 1 /* request resource ownership with default aging */
#define RESOURCE_OPCODE_REQ_WO_AGING 2 /* request resource ownership without aging */
#define RESOURCE_OPCODE_REQ_W_AGING 3 /* request resource ownership with specific aging timer (in seconds) */
#define RESOURCE_OPCODE_RELEASE 4 /* release resource */
#define RESOURCE_OPCODE_FORCE_RELEASE 5 /* force resource release */
#define RESOURCE_CMD_REQ_AGE_MASK 0x0000FF00
-#define RESOURCE_CMD_REQ_AGE_SHIFT 8
+#define RESOURCE_CMD_REQ_AGE_OFFSET 8
#define RESOURCE_CMD_RSP_OWNER_MASK 0x000000FF
-#define RESOURCE_CMD_RSP_OWNER_SHIFT 0
+#define RESOURCE_CMD_RSP_OWNER_OFFSET 0
#define RESOURCE_CMD_RSP_OPCODE_MASK 0x00000700
-#define RESOURCE_CMD_RSP_OPCODE_SHIFT 8
+#define RESOURCE_CMD_RSP_OPCODE_OFFSET 8
#define RESOURCE_OPCODE_GNT 1 /* resource is free and granted to requester */
#define RESOURCE_OPCODE_BUSY 2 /* resource is busy, param[7:0] indicates owner as follow 0-15 = PF0-15, 16 = MFW, 17 = diag over serial */
#define RESOURCE_OPCODE_RELEASED 3 /* indicate release request was acknowledged */
@@ -1269,11 +1269,11 @@ struct public_drv_mb {
#define DRV_MSG_CODE_GPIO_INFO 0x00270000 /* Param: [0:15] - gpio number */
#define DRV_MSG_CODE_EXT_PHY_READ 0x00280000 /* Value will be placed in union */
#define DRV_MSG_CODE_EXT_PHY_WRITE 0x00290000 /* Value shoud be placed in union */
-#define DRV_MB_PARAM_ADDR_SHIFT 0
+#define DRV_MB_PARAM_ADDR_OFFSET 0
#define DRV_MB_PARAM_ADDR_MASK 0x0000FFFF
-#define DRV_MB_PARAM_DEVAD_SHIFT 16
+#define DRV_MB_PARAM_DEVAD_OFFSET 16
#define DRV_MB_PARAM_DEVAD_MASK 0x001F0000
-#define DRV_MB_PARAM_PORT_SHIFT 21
+#define DRV_MB_PARAM_PORT_OFFSET 21
#define DRV_MB_PARAM_PORT_MASK 0x00600000
#define DRV_MSG_CODE_EXT_PHY_FW_UPGRADE 0x002a0000
#define DRV_MSG_CODE_GET_PF_RDMA_PROTOCOL 0x002b0000
@@ -1307,44 +1307,47 @@ struct public_drv_mb {
/* LLDP / DCBX params*/
#define DRV_MB_PARAM_LLDP_SEND_MASK 0x00000001
-#define DRV_MB_PARAM_LLDP_SEND_SHIFT 0
+#define DRV_MB_PARAM_LLDP_SEND_OFFSET 0
#define DRV_MB_PARAM_LLDP_AGENT_MASK 0x00000006
-#define DRV_MB_PARAM_LLDP_AGENT_SHIFT 1
+#define DRV_MB_PARAM_LLDP_AGENT_OFFSET 1
#define DRV_MB_PARAM_DCBX_NOTIFY_MASK 0x00000008
-#define DRV_MB_PARAM_DCBX_NOTIFY_SHIFT 3
+#define DRV_MB_PARAM_DCBX_NOTIFY_OFFSET 3
#define DRV_MB_PARAM_NIG_DRAIN_PERIOD_MS_MASK 0x000000FF
-#define DRV_MB_PARAM_NIG_DRAIN_PERIOD_MS_SHIFT 0
+#define DRV_MB_PARAM_NIG_DRAIN_PERIOD_MS_OFFSET 0
#define DRV_MB_PARAM_NVM_PUT_FILE_BEGIN_MFW 0x1
#define DRV_MB_PARAM_NVM_PUT_FILE_BEGIN_IMAGE 0x2
-#define DRV_MB_PARAM_NVM_OFFSET_SHIFT 0
+#define DRV_MB_PARAM_NVM_OFFSET_OFFSET 0
#define DRV_MB_PARAM_NVM_OFFSET_MASK 0x00FFFFFF
-#define DRV_MB_PARAM_NVM_LEN_SHIFT 24
+#define DRV_MB_PARAM_NVM_LEN_OFFSET 24
#define DRV_MB_PARAM_NVM_LEN_MASK 0xFF000000
-#define DRV_MB_PARAM_PHY_ADDR_SHIFT 0
+#define DRV_MB_PARAM_PHY_ADDR_OFFSET 0
#define DRV_MB_PARAM_PHY_ADDR_MASK 0x1FF0FFFF
-#define DRV_MB_PARAM_PHY_LANE_SHIFT 16
+#define DRV_MB_PARAM_PHY_LANE_OFFSET 16
#define DRV_MB_PARAM_PHY_LANE_MASK 0x000F0000
-#define DRV_MB_PARAM_PHY_SELECT_PORT_SHIFT 29
+#define DRV_MB_PARAM_PHY_SELECT_PORT_OFFSET 29
#define DRV_MB_PARAM_PHY_SELECT_PORT_MASK 0x20000000
-#define DRV_MB_PARAM_PHY_PORT_SHIFT 30
+#define DRV_MB_PARAM_PHY_PORT_OFFSET 30
#define DRV_MB_PARAM_PHY_PORT_MASK 0xc0000000
-#define DRV_MB_PARAM_PHYMOD_LANE_SHIFT 0
+#define DRV_MB_PARAM_PHYMOD_LANE_OFFSET 0
#define DRV_MB_PARAM_PHYMOD_LANE_MASK 0x000000FF
-#define DRV_MB_PARAM_PHYMOD_SIZE_SHIFT 8
+#define DRV_MB_PARAM_PHYMOD_SIZE_OFFSET 8
#define DRV_MB_PARAM_PHYMOD_SIZE_MASK 0x000FFF00
- /* configure vf MSIX params*/
-#define DRV_MB_PARAM_CFG_VF_MSIX_VF_ID_SHIFT 0
-#define DRV_MB_PARAM_CFG_VF_MSIX_VF_ID_MASK 0x000000FF
-#define DRV_MB_PARAM_CFG_VF_MSIX_SB_NUM_SHIFT 8
+ /* configure vf MSIX params BB */
+#define DRV_MB_PARAM_CFG_VF_MSIX_VF_ID_OFFSET 0
+#define DRV_MB_PARAM_CFG_VF_MSIX_VF_ID_MASK 0x000000FF
+#define DRV_MB_PARAM_CFG_VF_MSIX_SB_NUM_OFFSET 8
#define DRV_MB_PARAM_CFG_VF_MSIX_SB_NUM_MASK 0x0000FF00
+ /* configure vf MSIX for PF params AH*/
+#define DRV_MB_PARAM_CFG_PF_VFS_MSIX_SB_NUM_OFFSET 0
+#define DRV_MB_PARAM_CFG_PF_VFS_MSIX_SB_NUM_MASK 0x000000FF
/* OneView configuration parametres */
-#define DRV_MB_PARAM_OV_CURR_CFG_SHIFT 0
+#define DRV_MB_PARAM_OV_CURR_CFG_OFFSET 0
#define DRV_MB_PARAM_OV_CURR_CFG_MASK 0x0000000F
#define DRV_MB_PARAM_OV_CURR_CFG_NONE 0
#define DRV_MB_PARAM_OV_CURR_CFG_OS 1
@@ -1355,7 +1358,7 @@ struct public_drv_mb {
#define DRV_MB_PARAM_OV_CURR_CFG_DCI 6
#define DRV_MB_PARAM_OV_CURR_CFG_HII 7
-#define DRV_MB_PARAM_OV_UPDATE_BOOT_PROG_SHIFT 0
+#define DRV_MB_PARAM_OV_UPDATE_BOOT_PROG_OFFSET 0
#define DRV_MB_PARAM_OV_UPDATE_BOOT_PROG_MASK 0x000000FF
#define DRV_MB_PARAM_OV_UPDATE_BOOT_PROG_NONE (1 << 0)
#define DRV_MB_PARAM_OV_UPDATE_BOOT_PROG_ISCSI_IP_ACQUIRED (1 << 1)
@@ -1368,17 +1371,17 @@ struct public_drv_mb {
#define DRV_MB_PARAM_OV_UPDATE_BOOT_PROG_OS_HANDOFF (1 << 6)
#define DRV_MB_PARAM_OV_UPDATE_BOOT_COMPLETED 0
-#define DRV_MB_PARAM_OV_PCI_BUS_NUM_SHIFT 0
+#define DRV_MB_PARAM_OV_PCI_BUS_NUM_OFFSET 0
#define DRV_MB_PARAM_OV_PCI_BUS_NUM_MASK 0x000000FF
-#define DRV_MB_PARAM_OV_STORM_FW_VER_SHIFT 0
+#define DRV_MB_PARAM_OV_STORM_FW_VER_OFFSET 0
#define DRV_MB_PARAM_OV_STORM_FW_VER_MASK 0xFFFFFFFF
#define DRV_MB_PARAM_OV_STORM_FW_VER_MAJOR_MASK 0xFF000000
#define DRV_MB_PARAM_OV_STORM_FW_VER_MINOR_MASK 0x00FF0000
#define DRV_MB_PARAM_OV_STORM_FW_VER_BUILD_MASK 0x0000FF00
#define DRV_MB_PARAM_OV_STORM_FW_VER_DROP_MASK 0x000000FF
-#define DRV_MSG_CODE_OV_UPDATE_DRIVER_STATE_SHIFT 0
+#define DRV_MSG_CODE_OV_UPDATE_DRIVER_STATE_OFFSET 0
#define DRV_MSG_CODE_OV_UPDATE_DRIVER_STATE_MASK 0xF
#define DRV_MSG_CODE_OV_UPDATE_DRIVER_STATE_UNKNOWN 0x1
#define DRV_MSG_CODE_OV_UPDATE_DRIVER_STATE_NOT_LOADED 0x2 /* Not Installed*/
@@ -1386,7 +1389,7 @@ struct public_drv_mb {
#define DRV_MSG_CODE_OV_UPDATE_DRIVER_STATE_DISABLED 0x4 /* installed but disabled by user/admin/OS */
#define DRV_MSG_CODE_OV_UPDATE_DRIVER_STATE_ACTIVE 0x5 /* installed and active */
-#define DRV_MB_PARAM_OV_MTU_SIZE_SHIFT 0
+#define DRV_MB_PARAM_OV_MTU_SIZE_OFFSET 0
#define DRV_MB_PARAM_OV_MTU_SIZE_MASK 0xFFFFFFFF
#define DRV_MB_PARAM_WOL_MASK (DRV_MB_PARAM_WOL_DEFAULT | \
@@ -1404,35 +1407,35 @@ struct public_drv_mb {
#define DRV_MB_PARAM_ESWITCH_MODE_VEPA 0x2
#define DRV_MB_PARAM_FCOE_CVID_MASK 0xFFF
-#define DRV_MB_PARAM_FCOE_CVID_SHIFT 0
+#define DRV_MB_PARAM_FCOE_CVID_OFFSET 0
#define DRV_MB_PARAM_SET_LED_MODE_OPER 0x0
#define DRV_MB_PARAM_SET_LED_MODE_ON 0x1
#define DRV_MB_PARAM_SET_LED_MODE_OFF 0x2
-#define DRV_MB_PARAM_TRANSCEIVER_PORT_SHIFT 0
+#define DRV_MB_PARAM_TRANSCEIVER_PORT_OFFSET 0
#define DRV_MB_PARAM_TRANSCEIVER_PORT_MASK 0x00000003
-#define DRV_MB_PARAM_TRANSCEIVER_SIZE_SHIFT 2
+#define DRV_MB_PARAM_TRANSCEIVER_SIZE_OFFSET 2
#define DRV_MB_PARAM_TRANSCEIVER_SIZE_MASK 0x000000FC
-#define DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_SHIFT 8
+#define DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_OFFSET 8
#define DRV_MB_PARAM_TRANSCEIVER_I2C_ADDRESS_MASK 0x0000FF00
-#define DRV_MB_PARAM_TRANSCEIVER_OFFSET_SHIFT 16
+#define DRV_MB_PARAM_TRANSCEIVER_OFFSET_OFFSET 16
#define DRV_MB_PARAM_TRANSCEIVER_OFFSET_MASK 0xFFFF0000
-#define DRV_MB_PARAM_GPIO_NUMBER_SHIFT 0
+#define DRV_MB_PARAM_GPIO_NUMBER_OFFSET 0
#define DRV_MB_PARAM_GPIO_NUMBER_MASK 0x0000FFFF
-#define DRV_MB_PARAM_GPIO_VALUE_SHIFT 16
+#define DRV_MB_PARAM_GPIO_VALUE_OFFSET 16
#define DRV_MB_PARAM_GPIO_VALUE_MASK 0xFFFF0000
-#define DRV_MB_PARAM_GPIO_DIRECTION_SHIFT 16
+#define DRV_MB_PARAM_GPIO_DIRECTION_OFFSET 16
#define DRV_MB_PARAM_GPIO_DIRECTION_MASK 0x00FF0000
-#define DRV_MB_PARAM_GPIO_CTRL_SHIFT 24
+#define DRV_MB_PARAM_GPIO_CTRL_OFFSET 24
#define DRV_MB_PARAM_GPIO_CTRL_MASK 0xFF000000
/* Resource Allocation params - Driver version support*/
#define DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR_MASK 0xFFFF0000
-#define DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR_SHIFT 16
+#define DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR_OFFSET 16
#define DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR_MASK 0x0000FFFF
-#define DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR_SHIFT 0
+#define DRV_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR_OFFSET 0
#define DRV_MB_PARAM_BIST_UNKNOWN_TEST 0
#define DRV_MB_PARAM_BIST_REGISTER_TEST 1
@@ -1445,17 +1448,17 @@ struct public_drv_mb {
#define DRV_MB_PARAM_BIST_RC_FAILED 2
#define DRV_MB_PARAM_BIST_RC_INVALID_PARAMETER 3
-#define DRV_MB_PARAM_BIST_TEST_INDEX_SHIFT 0
+#define DRV_MB_PARAM_BIST_TEST_INDEX_OFFSET 0
#define DRV_MB_PARAM_BIST_TEST_INDEX_MASK 0x000000FF
-#define DRV_MB_PARAM_BIST_TEST_IMAGE_INDEX_SHIFT 8
+#define DRV_MB_PARAM_BIST_TEST_IMAGE_INDEX_OFFSET 8
#define DRV_MB_PARAM_BIST_TEST_IMAGE_INDEX_MASK 0x0000FF00
#define DRV_MB_PARAM_FEATURE_SUPPORT_PORT_MASK 0x0000FFFF
-#define DRV_MB_PARAM_FEATURE_SUPPORT_PORT_SHIFT 0
+#define DRV_MB_PARAM_FEATURE_SUPPORT_PORT_OFFSET 0
#define DRV_MB_PARAM_FEATURE_SUPPORT_PORT_SMARTLINQ 0x00000001 /* driver supports SmartLinQ parameter */
#define DRV_MB_PARAM_FEATURE_SUPPORT_PORT_EEE 0x00000002 /* driver supports EEE parameter */
#define DRV_MB_PARAM_FEATURE_SUPPORT_FUNC_MASK 0xFFFF0000
-#define DRV_MB_PARAM_FEATURE_SUPPORT_FUNC_SHIFT 16
+#define DRV_MB_PARAM_FEATURE_SUPPORT_FUNC_OFFSET 16
u32 fw_mb_header;
#define FW_MSG_CODE_MASK 0xffff0000
@@ -1582,15 +1585,19 @@ struct public_drv_mb {
#define FW_MSG_CODE_WOL_READ_BUFFER_OK 0x00850000
#define FW_MSG_CODE_WOL_READ_BUFFER_INVALID_VAL 0x00860000
+
+#define FW_MSG_CODE_DRV_CFG_PF_VFS_MSIX_DONE 0x00870000
+#define FW_MSG_CODE_DRV_CFG_PF_VFS_MSIX_BAD_ASIC 0x00880000
+
#define FW_MSG_SEQ_NUMBER_MASK 0x0000ffff
u32 fw_mb_param;
/* Resource Allocation params - MFW version support */
#define FW_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR_MASK 0xFFFF0000
-#define FW_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR_SHIFT 16
+#define FW_MB_PARAM_RESOURCE_ALLOC_VERSION_MAJOR_OFFSET 16
#define FW_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR_MASK 0x0000FFFF
-#define FW_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR_SHIFT 0
+#define FW_MB_PARAM_RESOURCE_ALLOC_VERSION_MINOR_OFFSET 0
/* get pf rdma protocol command response */
#define FW_MB_PARAM_GET_PF_RDMA_NONE 0x0
diff --git a/sys/dev/qlnx/qlnxe/mfw_hsi.h b/sys/dev/qlnx/qlnxe/mfw_hsi.h
index 591e7f7..fbb89fd 100644
--- a/sys/dev/qlnx/qlnxe/mfw_hsi.h
+++ b/sys/dev/qlnx/qlnxe/mfw_hsi.h
@@ -28,7 +28,6 @@
*
*/
-
/****************************************************************************
*
* Name: mfw_hsi.h
diff --git a/sys/dev/qlnx/qlnxe/nvm_cfg.h b/sys/dev/qlnx/qlnxe/nvm_cfg.h
index ae1d864..05d631b 100644
--- a/sys/dev/qlnx/qlnxe/nvm_cfg.h
+++ b/sys/dev/qlnx/qlnxe/nvm_cfg.h
@@ -36,20 +36,20 @@
* Description: NVM config file - Generated file from nvm cfg excel.
* DO NOT MODIFY !!!
*
- * Created: 2/4/2017
+ * Created: 3/15/2017
*
****************************************************************************/
#ifndef NVM_CFG_H
#define NVM_CFG_H
-#define NVM_CFG_version 0x81812
+#define NVM_CFG_version 0x83000
-#define NVM_CFG_new_option_seq 20
+#define NVM_CFG_new_option_seq 22
#define NVM_CFG_removed_option_seq 1
-#define NVM_CFG_updated_value_seq 3
+#define NVM_CFG_updated_value_seq 4
struct nvm_cfg_mac_address
{
@@ -535,6 +535,10 @@ struct nvm_cfg1_glob
#define NVM_CFG1_GLOB_PF_MAPPING_OFFSET 26
#define NVM_CFG1_GLOB_PF_MAPPING_CONTINUOUS 0x0
#define NVM_CFG1_GLOB_PF_MAPPING_FIXED 0x1
+ #define NVM_CFG1_GLOB_VOLTAGE_REGULATOR_TYPE_MASK 0x30000000
+ #define NVM_CFG1_GLOB_VOLTAGE_REGULATOR_TYPE_OFFSET 28
+ #define NVM_CFG1_GLOB_VOLTAGE_REGULATOR_TYPE_DISABLED 0x0
+ #define NVM_CFG1_GLOB_VOLTAGE_REGULATOR_TYPE_TI 0x1
u32 led_global_settings; /* 0x74 */
#define NVM_CFG1_GLOB_LED_SWAP_0_MASK 0x0000000F
#define NVM_CFG1_GLOB_LED_SWAP_0_OFFSET 0
@@ -1323,6 +1327,8 @@ struct nvm_cfg1_port
#define NVM_CFG1_PORT_RESERVED65_OFFSET 0
#define NVM_CFG1_PORT_RESERVED66_MASK 0x00010000
#define NVM_CFG1_PORT_RESERVED66_OFFSET 16
+ #define NVM_CFG1_PORT_PREBOOT_LINK_UP_DELAY_MASK 0x01FE0000
+ #define NVM_CFG1_PORT_PREBOOT_LINK_UP_DELAY_OFFSET 17
u32 vf_cfg; /* 0x30 */
#define NVM_CFG1_PORT_RESERVED8_MASK 0x0000FFFF
#define NVM_CFG1_PORT_RESERVED8_OFFSET 0
@@ -1945,3 +1951,4 @@ struct nvm_cfg
};
#endif /* NVM_CFG_H */
+
diff --git a/sys/dev/qlnx/qlnxe/nvm_map.h b/sys/dev/qlnx/qlnxe/nvm_map.h
index 5a99f26..61d9e48 100644
--- a/sys/dev/qlnx/qlnxe/nvm_map.h
+++ b/sys/dev/qlnx/qlnxe/nvm_map.h
@@ -28,6 +28,7 @@
*
*/
+
/****************************************************************************
* Name: nvm_map.h
*
diff --git a/sys/dev/qlnx/qlnxe/pcics_reg_driver.h b/sys/dev/qlnx/qlnxe/pcics_reg_driver.h
index 739b56a..4f4b24a 100644
--- a/sys/dev/qlnx/qlnxe/pcics_reg_driver.h
+++ b/sys/dev/qlnx/qlnxe/pcics_reg_driver.h
@@ -33,7 +33,9 @@
#define _PCICS_REG_DRIVER_H
/* offset of configuration space in the pci core register */
+#ifndef __EXTRACT__LINUX__
#define PCICFG_OFFSET 0x2000
+#endif
#define PCICFG_VENDOR_ID_OFFSET 0x00
#define PCICFG_DEVICE_ID_OFFSET 0x02
#define PCICFG_COMMAND_OFFSET 0x04
@@ -243,6 +245,7 @@
* define in version.v
*/
#define GRC_CR_VF_MSIX_CTRL_VF_MSIX_TBL_SIZE_MASK 0x3F
+#ifndef __EXTRACT__LINUX__
#define GRC_CONFIG_REG_PF_INIT_VF 0x624
/* First VF_NUM for PF is encoded in this register.
@@ -253,6 +256,7 @@
* have the same location for the same 4 bits
*/
#define GRC_CR_PF_INIT_VF_PF_FIRST_VF_NUM_MASK 0xff
+#endif
#define PXPCS_TL_CONTROL_5 0x814
#define PXPCS_TL_CONTROL_5_UNKNOWNTYPE_ERR_ATTN (1 << 29) /*WC*/
#define PXPCS_TL_CONTROL_5_BOUNDARY4K_ERR_ATTN (1 << 28) /*WC*/
diff --git a/sys/dev/qlnx/qlnxe/qlnx_def.h b/sys/dev/qlnx/qlnxe/qlnx_def.h
index f62931a..2e111ff 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_def.h
+++ b/sys/dev/qlnx/qlnxe/qlnx_def.h
@@ -191,6 +191,7 @@ struct qlnx_fastpath {
struct mtx tx_mtx;
char tx_mtx_name[32];
struct buf_ring *tx_br;
+ uint32_t tx_ring_full;
struct task fp_task;
struct taskqueue *fp_taskqueue;
@@ -364,6 +365,8 @@ struct qlnx_host {
/* debug */
uint32_t dbg_level;
+ uint32_t dbg_trace_lro_cnt;
+ uint32_t dbg_trace_tso_pkt_len;
uint32_t dp_level;
uint32_t dp_module;
@@ -386,7 +389,6 @@ struct qlnx_host {
/* tx related */
struct callout tx_callout;
- struct mtx tx_lock;
uint32_t txr_idx;
/* rx related */
@@ -481,35 +483,141 @@ typedef struct qlnx_host qlnx_host_t;
#ifdef QLNX_DEBUG
-#define QL_DPRINT1(ha, x) if (ha->dbg_level & 0x0001) device_printf x
-#define QL_DPRINT2(ha, x) if (ha->dbg_level & 0x0002) device_printf x
-#define QL_DPRINT3(ha, x) if (ha->dbg_level & 0x0004) device_printf x
-#define QL_DPRINT4(ha, x) if (ha->dbg_level & 0x0008) device_printf x
-#define QL_DPRINT5(ha, x) if (ha->dbg_level & 0x0010) device_printf x
-#define QL_DPRINT6(ha, x) if (ha->dbg_level & 0x0020) device_printf x
-#define QL_DPRINT7(ha, x) if (ha->dbg_level & 0x0040) device_printf x
-#define QL_DPRINT8(ha, x) if (ha->dbg_level & 0x0080) device_printf x
-#define QL_DPRINT9(ha, x) if (ha->dbg_level & 0x0100) device_printf x
-#define QL_DPRINT11(ha, x) if (ha->dbg_level & 0x0400) device_printf x
-#define QL_DPRINT12(ha, x) if (ha->dbg_level & 0x0800) device_printf x
-#define QL_DPRINT13(ha, x) if (ha->dbg_level & 0x1000) device_printf x
-#define QL_DPRINT14(ha, x) if (ha->dbg_level & 0x2000) device_printf x
+#define QL_DPRINT1(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0001) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT2(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0002) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT3(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0004) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT4(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0008) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT5(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0010) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT6(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0020) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT7(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0040) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT8(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0080) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT9(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0100) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT11(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0400) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT12(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x0800) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define QL_DPRINT13(ha, x, ...) \
+ do { \
+ if ((ha)->dbg_level & 0x1000) { \
+ device_printf ((ha)->pci_dev, \
+ "[%s:%d]" x, \
+ __func__, __LINE__, \
+ ## __VA_ARGS__); \
+ } \
+ } while (0)
+
#else
-#define QL_DPRINT1(ha, x)
-#define QL_DPRINT2(ha, x)
-#define QL_DPRINT3(ha, x)
-#define QL_DPRINT4(ha, x)
-#define QL_DPRINT5(ha, x)
-#define QL_DPRINT6(ha, x)
-#define QL_DPRINT7(ha, x)
-#define QL_DPRINT8(ha, x)
-#define QL_DPRINT9(ha, x)
-#define QL_DPRINT11(ha, x)
-#define QL_DPRINT12(ha, x)
-#define QL_DPRINT13(ha, x)
-#define QL_DPRINT14(ha, x)
+#define QL_DPRINT1(ha, x, ...)
+#define QL_DPRINT2(ha, x, ...)
+#define QL_DPRINT3(ha, x, ...)
+#define QL_DPRINT4(ha, x, ...)
+#define QL_DPRINT5(ha, x, ...)
+#define QL_DPRINT6(ha, x, ...)
+#define QL_DPRINT7(ha, x, ...)
+#define QL_DPRINT8(ha, x, ...)
+#define QL_DPRINT9(ha, x, ...)
+#define QL_DPRINT11(ha, x, ...)
+#define QL_DPRINT12(ha, x, ...)
+#define QL_DPRINT13(ha, x, ...)
#endif /* #ifdef QLNX_DEBUG */
@@ -580,8 +688,8 @@ extern void qlnx_fill_link(struct ecore_hwfn *hwfn,
#endif /* #if __FreeBSD_version < 1100000 */
#define CQE_L3_PACKET(flags) \
- ((((flags) & PARSING_AND_ERR_FLAGS_L3TYPE_MASK) == e_l3Type_ipv4) || \
- (((flags) & PARSING_AND_ERR_FLAGS_L3TYPE_MASK) == e_l3Type_ipv6))
+ ((((flags) & PARSING_AND_ERR_FLAGS_L3TYPE_MASK) == e_l3_type_ipv4) || \
+ (((flags) & PARSING_AND_ERR_FLAGS_L3TYPE_MASK) == e_l3_type_ipv6))
#define CQE_IP_HDR_ERR(flags) \
((flags) & (PARSING_AND_ERR_FLAGS_IPHDRERROR_MASK \
diff --git a/sys/dev/qlnx/qlnxe/qlnx_ioctl.c b/sys/dev/qlnx/qlnxe/qlnx_ioctl.c
index f7a1262..41a8f8d 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_ioctl.c
+++ b/sys/dev/qlnx/qlnxe/qlnx_ioctl.c
@@ -121,8 +121,7 @@ qlnx_grc_dump(qlnx_host_t *ha, uint32_t *num_dumped_dwords, int hwfn_index)
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s : ecore_ptt_acquire failed\n",
- __func__));
+ QL_DPRINT1(ha,"ecore_ptt_acquire failed\n");
return (rval);
}
@@ -133,9 +132,8 @@ qlnx_grc_dump(qlnx_host_t *ha, uint32_t *num_dumped_dwords, int hwfn_index)
rval = 0;
ha->grcdump_taken = 1;
} else
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s : ecore_dbg_grc_dump failed [%d, 0x%x]\n",
- __func__, hwfn_index, rval));
+ QL_DPRINT1(ha,"ecore_dbg_grc_dump failed [%d, 0x%x]\n",
+ hwfn_index, rval);
ecore_ptt_release(p_hwfn, p_ptt);
@@ -177,8 +175,7 @@ qlnx_get_grc_dump(qlnx_host_t *ha, qlnx_grcdump_t *grcdump)
grcdump->grcdump_dwords[i] = dwords;
- QL_DPRINT1(ha, (ha->pci_dev, "%s: grcdump_dwords[%d] = 0x%x\n",
- __func__, i, dwords));
+ QL_DPRINT1(ha,"grcdump_dwords[%d] = 0x%x\n", i, dwords);
rval = copyout(ha->grcdump[i], grcdump->grcdump[i],
ha->grcdump_size[i]);
@@ -213,8 +210,7 @@ qlnx_idle_chk(qlnx_host_t *ha, uint32_t *num_dumped_dwords, int hwfn_index)
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s : ecore_ptt_acquire failed\n", __func__));
+ QL_DPRINT1(ha,"ecore_ptt_acquire failed\n");
return (rval);
}
@@ -225,9 +221,8 @@ qlnx_idle_chk(qlnx_host_t *ha, uint32_t *num_dumped_dwords, int hwfn_index)
rval = 0;
ha->idle_chk_taken = 1;
} else
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s : ecore_dbg_idle_chk_dump failed [%d, 0x%x]\n",
- __func__, hwfn_index, rval));
+ QL_DPRINT1(ha,"ecore_dbg_idle_chk_dump failed [%d, 0x%x]\n",
+ hwfn_index, rval);
ecore_ptt_release(p_hwfn, p_ptt);
@@ -271,8 +266,7 @@ qlnx_get_idle_chk(qlnx_host_t *ha, qlnx_idle_chk_t *idle_chk)
idle_chk->idle_chk_dwords[i] = dwords;
- QL_DPRINT1(ha, (ha->pci_dev, "%s: idle_chk_dwords[%d] = 0x%x\n",
- __func__, i, dwords));
+ QL_DPRINT1(ha,"idle_chk_dwords[%d] = 0x%x\n", i, dwords);
rval = copyout(ha->idle_chk[i], idle_chk->idle_chk[i],
ha->idle_chk_size[i]);
@@ -299,9 +293,8 @@ qlnx_get_trace_cmd_size(qlnx_host_t *ha, int hwfn_index, uint16_t cmd)
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: ecore_ptt_acquire [%d, 0x%x]failed\n",
- __func__, hwfn_index, cmd));
+ QL_DPRINT1(ha, "ecore_ptt_acquire [%d, 0x%x]failed\n",
+ hwfn_index, cmd);
return (0);
}
@@ -334,8 +327,7 @@ qlnx_get_trace_cmd_size(qlnx_host_t *ha, int hwfn_index, uint16_t cmd)
}
if (rval != DBG_STATUS_OK) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s : cmd = 0x%x failed [0x%x]\n",
- __func__, cmd, rval));
+ QL_DPRINT1(ha,"cmd = 0x%x failed [0x%x]\n", cmd, rval);
num_dwords = 0;
}
@@ -369,9 +361,8 @@ qlnx_get_trace(qlnx_host_t *ha, int hwfn_index, qlnx_trace_t *trace)
buffer = qlnx_zalloc(trace->size[hwfn_index]);
if (buffer == NULL) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: qlnx_zalloc [%d, 0x%x]failed\n",
- __func__, hwfn_index, trace->cmd));
+ QL_DPRINT1(ha,"qlnx_zalloc [%d, 0x%x]failed\n",
+ hwfn_index, trace->cmd);
return (ENXIO);
}
ecore_dbg_set_app_ver(ecore_dbg_get_fw_func_ver());
@@ -380,9 +371,8 @@ qlnx_get_trace(qlnx_host_t *ha, int hwfn_index, qlnx_trace_t *trace)
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: ecore_ptt_acquire [%d, 0x%x]failed\n",
- __func__, hwfn_index, trace->cmd));
+ QL_DPRINT1(ha, "ecore_ptt_acquire [%d, 0x%x]failed\n",
+ hwfn_index, trace->cmd);
return (ENXIO);
}
@@ -420,8 +410,7 @@ qlnx_get_trace(qlnx_host_t *ha, int hwfn_index, qlnx_trace_t *trace)
}
if (rval != DBG_STATUS_OK) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s : cmd = 0x%x failed [0x%x]\n",
- __func__, trace->cmd, rval));
+ QL_DPRINT1(ha,"cmd = 0x%x failed [0x%x]\n", trace->cmd, rval);
num_dwords = 0;
}
@@ -609,21 +598,18 @@ qlnx_write_nvram(qlnx_host_t *ha, qlnx_nvram_t *nvram, uint32_t cmd)
ret = copyin(nvram->data, buf, nvram->data_len);
- QL_DPRINT9(ha,
- (ha->pci_dev, "%s: issue cmd = 0x%x data = %p "
- " data_len = 0x%x ret = 0x%x exit\n", __func__,
- cmd, nvram->data, nvram->data_len, ret));
+ QL_DPRINT9(ha, "issue cmd = 0x%x data = %p \
+ data_len = 0x%x ret = 0x%x exit\n",
+ cmd, nvram->data, nvram->data_len, ret);
if (ret == 0) {
ret = ecore_mcp_nvm_write(&ha->cdev, cmd,
nvram->offset, buf, nvram->data_len);
}
- QL_DPRINT9(ha,
- (ha->pci_dev, "%s: cmd = 0x%x data = %p "
- " data_len = 0x%x resp = 0x%x ret = 0x%x exit\n",
- __func__, cmd, nvram->data, nvram->data_len,
- ha->cdev.mcp_nvm_resp, ret));
+ QL_DPRINT9(ha, "cmd = 0x%x data = %p \
+ data_len = 0x%x resp = 0x%x ret = 0x%x exit\n",
+ cmd, nvram->data, nvram->data_len, ha->cdev.mcp_nvm_resp, ret);
free(buf, M_QLNXBUF);
@@ -644,10 +630,9 @@ qlnx_read_nvram(qlnx_host_t *ha, qlnx_nvram_t *nvram)
ret = ecore_mcp_nvm_read(&ha->cdev, nvram->offset, buf,
nvram->data_len);
- QL_DPRINT9(ha, (ha->pci_dev, "%s: data = %p data_len = 0x%x "
- " resp = 0x%x ret = 0x%x exit\n", __func__,
- nvram->data, nvram->data_len,
- ha->cdev.mcp_nvm_resp, ret));
+ QL_DPRINT9(ha, " data = %p data_len = 0x%x \
+ resp = 0x%x ret = 0x%x exit\n",
+ nvram->data, nvram->data_len, ha->cdev.mcp_nvm_resp, ret);
if (ret == 0) {
ret = copyout(buf, nvram->data, nvram->data_len);
@@ -672,10 +657,9 @@ qlnx_get_nvram_resp(qlnx_host_t *ha, qlnx_nvram_t *nvram)
ret = ecore_mcp_nvm_resp(&ha->cdev, buf);
- QL_DPRINT9(ha, (ha->pci_dev, "%s: data = %p data_len = 0x%x "
- " resp = 0x%x ret = 0x%x exit\n", __func__,
- nvram->data, nvram->data_len,
- ha->cdev.mcp_nvm_resp, ret));
+ QL_DPRINT9(ha, "data = %p data_len = 0x%x \
+ resp = 0x%x ret = 0x%x exit\n",
+ nvram->data, nvram->data_len, ha->cdev.mcp_nvm_resp, ret);
if (ret == 0) {
ret = copyout(buf, nvram->data, nvram->data_len);
@@ -708,28 +692,25 @@ qlnx_nvram(qlnx_host_t *ha, qlnx_nvram_t *nvram)
case QLNX_NVRAM_CMD_SET_SECURE_MODE:
ret = ecore_mcp_nvm_set_secure_mode(&ha->cdev, nvram->offset);
- QL_DPRINT9(ha, (ha->pci_dev,
- "%s: QLNX_NVRAM_CMD_SET_SECURE_MODE "
- " resp = 0x%x ret = 0x%x exit\n", __func__,
- ha->cdev.mcp_nvm_resp, ret));
+ QL_DPRINT9(ha, "QLNX_NVRAM_CMD_SET_SECURE_MODE \
+ resp = 0x%x ret = 0x%x exit\n",
+ ha->cdev.mcp_nvm_resp, ret);
break;
case QLNX_NVRAM_CMD_DEL_FILE:
ret = ecore_mcp_nvm_del_file(&ha->cdev, nvram->offset);
- QL_DPRINT9(ha, (ha->pci_dev,
- "%s: QLNX_NVRAM_CMD_DEL_FILE "
- " resp = 0x%x ret = 0x%x exit\n", __func__,
- ha->cdev.mcp_nvm_resp, ret));
+ QL_DPRINT9(ha, "QLNX_NVRAM_CMD_DEL_FILE \
+ resp = 0x%x ret = 0x%x exit\n",
+ ha->cdev.mcp_nvm_resp, ret);
break;
case QLNX_NVRAM_CMD_PUT_FILE_BEGIN:
ret = ecore_mcp_nvm_put_file_begin(&ha->cdev, nvram->offset);
- QL_DPRINT9(ha, (ha->pci_dev,
- "%s: QLNX_NVRAM_CMD_PUT_FILE_BEGIN "
- " resp = 0x%x ret = 0x%x exit\n", __func__,
- ha->cdev.mcp_nvm_resp, ret));
+ QL_DPRINT9(ha, "QLNX_NVRAM_CMD_PUT_FILE_BEGIN \
+ resp = 0x%x ret = 0x%x exit\n",
+ ha->cdev.mcp_nvm_resp, ret);
break;
case QLNX_NVRAM_CMD_GET_NVRAM_RESP:
diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.c b/sys/dev/qlnx/qlnxe/qlnx_os.c
index 4560a90..2e9ecf2 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_os.c
+++ b/sys/dev/qlnx/qlnxe/qlnx_os.c
@@ -210,6 +210,11 @@ char qlnx_name_str[NAME_SIZE];
#define QLOGIC_PCI_DEVICE_ID_1654 0x1654
#endif
+/* 10G/25G/40G Adapter QLE41xxx*/
+#ifndef QLOGIC_PCI_DEVICE_ID_8070
+#define QLOGIC_PCI_DEVICE_ID_8070 0x8070
+#endif
+
static int
qlnx_valid_device(device_t dev)
{
@@ -220,7 +225,8 @@ qlnx_valid_device(device_t dev)
if ((device_id == QLOGIC_PCI_DEVICE_ID_1634) ||
(device_id == QLOGIC_PCI_DEVICE_ID_1644) ||
(device_id == QLOGIC_PCI_DEVICE_ID_1656) ||
- (device_id == QLOGIC_PCI_DEVICE_ID_1654))
+ (device_id == QLOGIC_PCI_DEVICE_ID_1654) ||
+ (device_id == QLOGIC_PCI_DEVICE_ID_8070))
return 0;
return -1;
@@ -279,6 +285,16 @@ qlnx_pci_probe(device_t dev)
break;
+ case QLOGIC_PCI_DEVICE_ID_8070:
+ snprintf(qlnx_dev_str, sizeof(qlnx_dev_str), "%s v%d.%d.%d",
+ "Qlogic 10GbE/25GbE/40GbE PCI CNA (AH) "
+ "Adapter-Ethernet Function",
+ QLNX_VERSION_MAJOR, QLNX_VERSION_MINOR,
+ QLNX_VERSION_BUILD);
+ device_set_desc_copy(dev, qlnx_dev_str);
+
+ break;
+
default:
return (ENXIO);
}
@@ -303,7 +319,7 @@ qlnx_sp_intr(void *arg)
ha = (qlnx_host_t *)p_hwfn->p_dev;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
for (i = 0; i < ha->cdev.num_hwfns; i++) {
if (&ha->cdev.hwfns[i] == p_hwfn) {
@@ -311,7 +327,7 @@ qlnx_sp_intr(void *arg)
break;
}
}
- QL_DPRINT2(ha, (ha->pci_dev, "%s: exit\n", __func__));
+ QL_DPRINT2(ha, "exit\n");
return;
}
@@ -353,8 +369,7 @@ qlnx_create_sp_taskqueues(qlnx_host_t *ha)
taskqueue_start_threads(&ha->sp_taskqueue[i], 1, PI_NET, "%s",
tq_name);
- QL_DPRINT1(ha, (ha->pci_dev, "%s: %p\n", __func__,
- ha->sp_taskqueue[i]));
+ QL_DPRINT1(ha, "%p\n", ha->sp_taskqueue[i]);
}
return (0);
@@ -382,16 +397,77 @@ qlnx_fp_taskqueue(void *context, int pending)
struct ifnet *ifp;
struct mbuf *mp;
int ret;
+ int lro_enable;
+ int rx_int = 0, total_rx_count = 0;
+ struct thread *cthread;
fp = context;
if (fp == NULL)
return;
+ cthread = curthread;
+
+ thread_lock(cthread);
+
+ if (!sched_is_bound(cthread))
+ sched_bind(cthread, fp->rss_id);
+
+ thread_unlock(cthread);
+
ha = (qlnx_host_t *)fp->edev;
ifp = ha->ifp;
+ lro_enable = ha->ifp->if_capenable & IFCAP_LRO;
+
+ rx_int = qlnx_rx_int(ha, fp, ha->rx_pkt_threshold, lro_enable);
+
+ if (rx_int) {
+ fp->rx_pkts += rx_int;
+ total_rx_count += rx_int;
+ }
+
+#ifdef QLNX_SOFT_LRO
+ {
+ struct lro_ctrl *lro;
+
+ lro = &fp->rxq->lro;
+
+ if (lro_enable && total_rx_count) {
+
+#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO)
+
+ if (ha->dbg_trace_lro_cnt) {
+ if (lro->lro_mbuf_count & ~1023)
+ fp->lro_cnt_1024++;
+ else if (lro->lro_mbuf_count & ~511)
+ fp->lro_cnt_512++;
+ else if (lro->lro_mbuf_count & ~255)
+ fp->lro_cnt_256++;
+ else if (lro->lro_mbuf_count & ~127)
+ fp->lro_cnt_128++;
+ else if (lro->lro_mbuf_count & ~63)
+ fp->lro_cnt_64++;
+ }
+ tcp_lro_flush_all(lro);
+
+#else
+ struct lro_entry *queued;
+
+ while ((!SLIST_EMPTY(&lro->lro_active))) {
+ queued = SLIST_FIRST(&lro->lro_active);
+ SLIST_REMOVE_HEAD(&lro->lro_active, next);
+ tcp_lro_flush(lro, queued);
+ }
+#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */
+ }
+ }
+#endif /* #ifdef QLNX_SOFT_LRO */
+
+ ecore_sb_update_sb_idx(fp->sb_info);
+ rmb();
+
mtx_lock(&fp->tx_mtx);
if (((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
@@ -401,13 +477,19 @@ qlnx_fp_taskqueue(void *context, int pending)
goto qlnx_fp_taskqueue_exit;
}
- (void)qlnx_tx_int(ha, fp, fp->txq[0]);
+// for (tc = 0; tc < ha->num_tc; tc++) {
+// (void)qlnx_tx_int(ha, fp, fp->txq[tc]);
+// }
mp = drbr_peek(ifp, fp->tx_br);
while (mp != NULL) {
- ret = qlnx_send(ha, fp, &mp);
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
+ ret = qlnx_send(ha, fp, &mp);
+ } else {
+ ret = -1;
+ }
if (ret) {
@@ -428,16 +510,30 @@ qlnx_fp_taskqueue(void *context, int pending)
fp->tx_pkts_processed++;
}
+ if (fp->tx_ring_full)
+ break;
+
mp = drbr_peek(ifp, fp->tx_br);
}
- (void)qlnx_tx_int(ha, fp, fp->txq[0]);
+// for (tc = 0; tc < ha->num_tc; tc++) {
+// (void)qlnx_tx_int(ha, fp, fp->txq[tc]);
+// }
mtx_unlock(&fp->tx_mtx);
qlnx_fp_taskqueue_exit:
+ if (rx_int) {
+ if (fp->fp_taskqueue != NULL)
+ taskqueue_enqueue(fp->fp_taskqueue, &fp->fp_task);
+ } else {
+ if (fp->tx_ring_full) {
+ qlnx_mdelay(__func__, 100);
+ }
+ ecore_sb_ack(fp->sb_info, IGU_INT_ENABLE, 1);
+ }
- QL_DPRINT2(ha, (ha->pci_dev, "%s: exit ret = %d\n", __func__, ret));
+ QL_DPRINT2(ha, "exit ret = %d\n", ret);
return;
}
@@ -467,8 +563,7 @@ qlnx_create_fp_taskqueues(qlnx_host_t *ha)
taskqueue_start_threads(&fp->fp_taskqueue, 1, PI_NET, "%s",
tq_name);
- QL_DPRINT1(ha, (ha->pci_dev, "%s: %p\n", __func__,
- fp->fp_taskqueue));
+ QL_DPRINT1(ha, "%p\n",fp->fp_taskqueue);
}
return (0);
@@ -504,7 +599,9 @@ qlnx_drain_fp_taskqueues(qlnx_host_t *ha)
fp = &ha->fp_array[i];
if (fp->fp_taskqueue != NULL) {
+ QLNX_UNLOCK(ha);
taskqueue_drain(fp->fp_taskqueue, &fp->fp_task);
+ QLNX_LOCK(ha);
}
}
return;
@@ -540,7 +637,6 @@ qlnx_pci_attach(device_t dev)
ha->pci_dev = dev;
mtx_init(&ha->hw_lock, "qlnx_hw_lock", MTX_NETWORK_LOCK, MTX_DEF);
- mtx_init(&ha->tx_lock, "qlnx_tx_lock", MTX_NETWORK_LOCK, MTX_DEF);
ha->flags.lock_init = 1;
@@ -629,15 +725,14 @@ qlnx_pci_attach(device_t dev)
else
ha->num_rss = ha->msix_count - ha->cdev.num_hwfns;
- QL_DPRINT1(ha, (dev, "%s:\n\t\t\tpci_reg [%p, 0x%08x 0x%08x]"
+ QL_DPRINT1(ha, "\n\t\t\tpci_reg [%p, 0x%08x 0x%08x]"
"\n\t\t\tdbells [%p, 0x%08x 0x%08x]"
"\n\t\t\tmsix [%p, 0x%08x 0x%08x 0x%x 0x%x]"
"\n\t\t\t[ncpus = %d][num_rss = 0x%x] [num_tc = 0x%x]\n",
- __func__, ha->pci_reg, rsrc_len_reg,
+ ha->pci_reg, rsrc_len_reg,
ha->reg_rid, ha->pci_dbells, rsrc_len_dbells, ha->dbells_rid,
ha->msix_bar, rsrc_len_msix, ha->msix_rid, pci_msix_count(dev),
- ha->msix_count, mp_ncpus, ha->num_rss, ha->num_tc));
-
+ ha->msix_count, mp_ncpus, ha->num_rss, ha->num_tc);
if (pci_alloc_msix(dev, &ha->msix_count)) {
device_printf(dev, "%s: pci_alloc_msix[%d] failed\n", __func__,
ha->msix_count);
@@ -673,9 +768,9 @@ qlnx_pci_attach(device_t dev)
goto qlnx_pci_attach_err;
}
- QL_DPRINT1(ha, (dev, "%s: p_hwfn [%p] sp_irq_rid %d"
- " sp_irq %p sp_handle %p\n", __func__, p_hwfn,
- ha->sp_irq_rid[i], ha->sp_irq[i], ha->sp_handle[i]));
+ QL_DPRINT1(ha, "p_hwfn [%p] sp_irq_rid %d"
+ " sp_irq %p sp_handle %p\n", p_hwfn,
+ ha->sp_irq_rid[i], ha->sp_irq[i], ha->sp_handle[i]);
}
@@ -718,8 +813,8 @@ qlnx_pci_attach(device_t dev)
goto qlnx_pci_attach_err;
ha->grcdump_size[i] = ha->grcdump_size[i] << 2;
- QL_DPRINT1(ha, (dev, "grcdump_size[%d] = 0x%08x\n",
- i, ha->grcdump_size[i]));
+ QL_DPRINT1(ha, "grcdump_size[%d] = 0x%08x\n",
+ i, ha->grcdump_size[i]);
ha->grcdump[i] = qlnx_zalloc(ha->grcdump_size[i]);
if (ha->grcdump[i] == NULL) {
@@ -733,8 +828,8 @@ qlnx_pci_attach(device_t dev)
goto qlnx_pci_attach_err;
ha->idle_chk_size[i] = ha->idle_chk_size[i] << 2;
- QL_DPRINT1(ha, (dev, "idle_chk_size[%d] = 0x%08x\n",
- i, ha->idle_chk_size[i]));
+ QL_DPRINT1(ha, "idle_chk_size[%d] = 0x%08x\n",
+ i, ha->idle_chk_size[i]);
ha->idle_chk[i] = qlnx_zalloc(ha->idle_chk_size[i]);
@@ -773,8 +868,8 @@ qlnx_pci_attach(device_t dev)
FW_MAJOR_VERSION, FW_MINOR_VERSION, FW_REVISION_VERSION,
FW_ENGINEERING_VERSION);
- QL_DPRINT1(ha, (dev, "%s: STORM_FW version %s MFW version %s\n",
- __func__, ha->stormfw_ver, ha->mfw_ver));
+ QL_DPRINT1(ha, "STORM_FW version %s MFW version %s\n",
+ ha->stormfw_ver, ha->mfw_ver);
qlnx_init_ifnet(dev, ha);
@@ -792,7 +887,7 @@ qlnx_pci_attach_err0:
goto qlnx_pci_attach_err;
}
- QL_DPRINT2(ha, (dev, "%s: success\n", __func__));
+ QL_DPRINT2(ha, "success\n");
return (0);
@@ -876,7 +971,7 @@ qlnx_release(qlnx_host_t *ha)
dev = ha->pci_dev;
- QL_DPRINT2(ha, (dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
for (i = 0; i < QLNX_MAX_HW_FUNCS; i++) {
if (ha->idle_chk[i] != NULL) {
@@ -944,7 +1039,6 @@ qlnx_release(qlnx_host_t *ha)
pci_release_msi(dev);
if (ha->flags.lock_init) {
- mtx_destroy(&ha->tx_lock);
mtx_destroy(&ha->hw_lock);
}
@@ -960,7 +1054,7 @@ qlnx_release(qlnx_host_t *ha)
(void) bus_release_resource(dev, SYS_RES_MEMORY, ha->msix_rid,
ha->msix_bar);
- QL_DPRINT2(ha, (dev, "%s: exit\n", __func__));
+ QL_DPRINT2(ha, "exit\n");
return;
}
@@ -972,14 +1066,14 @@ qlnx_trigger_dump(qlnx_host_t *ha)
if (ha->ifp != NULL)
ha->ifp->if_drv_flags &= ~(IFF_DRV_OACTIVE | IFF_DRV_RUNNING);
- QL_DPRINT2(ha, (ha->pci_dev, "%s: start\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
for (i = 0; i < ha->cdev.num_hwfns; i++) {
qlnx_grc_dump(ha, &ha->grcdump_dwords[i], i);
qlnx_idle_chk(ha, &ha->idle_chk_dwords[i], i);
}
- QL_DPRINT2(ha, (ha->pci_dev, "%s: end\n", __func__));
+ QL_DPRINT2(ha, "exit\n");
return;
}
@@ -1226,7 +1320,6 @@ qlnx_add_fp_stats_sysctls(qlnx_host_t *ha)
CTLFLAG_RD, &ha->fp_array[i].err_tx_cons_idx_conflict,
"err_tx_cons_idx_conflict");
-#ifdef QLNX_TRACE_LRO_CNT
SYSCTL_ADD_QUAD(ctx, node_children,
OID_AUTO, "lro_cnt_64",
CTLFLAG_RD, &ha->fp_array[i].lro_cnt_64,
@@ -1251,7 +1344,6 @@ qlnx_add_fp_stats_sysctls(qlnx_host_t *ha)
OID_AUTO, "lro_cnt_1024",
CTLFLAG_RD, &ha->fp_array[i].lro_cnt_1024,
"lro_cnt_1024");
-#endif /* #ifdef QLNX_TRACE_LRO_CNT */
/* Rx Related */
@@ -1700,16 +1792,27 @@ qlnx_add_sysctls(qlnx_host_t *ha)
"\tpersonality = 6 => Default in Shared Memory\n");
ha->dbg_level = 0;
-
SYSCTL_ADD_UINT(ctx, children,
OID_AUTO, "debug", CTLFLAG_RW,
&ha->dbg_level, ha->dbg_level, "Debug Level");
- ha->dp_level = 0;
+ ha->dp_level = 0x01;
SYSCTL_ADD_UINT(ctx, children,
OID_AUTO, "dp_level", CTLFLAG_RW,
&ha->dp_level, ha->dp_level, "DP Level");
+ ha->dbg_trace_lro_cnt = 0;
+ SYSCTL_ADD_UINT(ctx, children,
+ OID_AUTO, "dbg_trace_lro_cnt", CTLFLAG_RW,
+ &ha->dbg_trace_lro_cnt, ha->dbg_trace_lro_cnt,
+ "Trace LRO Counts");
+
+ ha->dbg_trace_tso_pkt_len = 0;
+ SYSCTL_ADD_UINT(ctx, children,
+ OID_AUTO, "dbg_trace_tso_pkt_len", CTLFLAG_RW,
+ &ha->dbg_trace_tso_pkt_len, ha->dbg_trace_tso_pkt_len,
+ "Trace TSO packet lengths");
+
ha->dp_module = 0;
SYSCTL_ADD_UINT(ctx, children,
OID_AUTO, "dp_module", CTLFLAG_RW,
@@ -1755,7 +1858,7 @@ qlnx_add_sysctls(qlnx_host_t *ha)
&ha->tx_coalesce_usecs, ha->tx_coalesce_usecs,
"tx_coalesce_usecs");
- ha->rx_pkt_threshold = 32;
+ ha->rx_pkt_threshold = 128;
SYSCTL_ADD_UINT(ctx, children,
OID_AUTO, "rx_pkt_threshold", CTLFLAG_RW,
&ha->rx_pkt_threshold, ha->rx_pkt_threshold,
@@ -1824,7 +1927,8 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha)
if (device_id == QLOGIC_PCI_DEVICE_ID_1634)
ifp->if_baudrate = IF_Gbps(40);
- else if (device_id == QLOGIC_PCI_DEVICE_ID_1656)
+ else if ((device_id == QLOGIC_PCI_DEVICE_ID_1656) ||
+ (device_id == QLOGIC_PCI_DEVICE_ID_8070))
ifp->if_baudrate = IF_Gbps(25);
else if (device_id == QLOGIC_PCI_DEVICE_ID_1654)
ifp->if_baudrate = IF_Gbps(50);
@@ -1887,7 +1991,8 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha)
ifmedia_add(&ha->media, (IFM_ETHER | IFM_40G_LR4), 0, NULL);
ifmedia_add(&ha->media, (IFM_ETHER | IFM_40G_SR4), 0, NULL);
ifmedia_add(&ha->media, (IFM_ETHER | IFM_40G_CR4), 0, NULL);
- } else if (device_id == QLOGIC_PCI_DEVICE_ID_1656) {
+ } else if ((device_id == QLOGIC_PCI_DEVICE_ID_1656) ||
+ (device_id == QLOGIC_PCI_DEVICE_ID_8070)) {
ifmedia_add(&ha->media, (IFM_ETHER | QLNX_IFM_25G_SR), 0, NULL);
ifmedia_add(&ha->media, (IFM_ETHER | QLNX_IFM_25G_CR), 0, NULL);
} else if (device_id == QLOGIC_PCI_DEVICE_ID_1654) {
@@ -1908,7 +2013,7 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha)
ifmedia_set(&ha->media, (IFM_ETHER | IFM_AUTO));
- QL_DPRINT2(ha, (dev, "%s: exit\n", __func__));
+ QL_DPRINT2(ha, "exit\n");
return;
}
@@ -1918,6 +2023,8 @@ qlnx_init_locked(qlnx_host_t *ha)
{
struct ifnet *ifp = ha->ifp;
+ QL_DPRINT1(ha, "Driver Initialization start \n");
+
qlnx_stop(ha);
if (qlnx_load(ha) == 0) {
@@ -1935,13 +2042,13 @@ qlnx_init(void *arg)
ha = (qlnx_host_t *)arg;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
QLNX_LOCK(ha);
qlnx_init_locked(ha);
QLNX_UNLOCK(ha);
- QL_DPRINT2(ha, (ha->pci_dev, "%s: exit\n", __func__));
+ QL_DPRINT2(ha, "exit\n");
return;
}
@@ -2130,8 +2237,7 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
switch (cmd) {
case SIOCSIFADDR:
- QL_DPRINT4(ha, (ha->pci_dev, "%s: SIOCSIFADDR (0x%lx)\n",
- __func__, cmd));
+ QL_DPRINT4(ha, "SIOCSIFADDR (0x%lx)\n", cmd);
if (ifa->ifa_addr->sa_family == AF_INET) {
ifp->if_flags |= IFF_UP;
@@ -2140,10 +2246,8 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
qlnx_init_locked(ha);
QLNX_UNLOCK(ha);
}
- QL_DPRINT4(ha, (ha->pci_dev,
- "%s: SIOCSIFADDR (0x%lx) ipv4 [0x%08x]\n",
- __func__, cmd,
- ntohl(IA_SIN(ifa)->sin_addr.s_addr)));
+ QL_DPRINT4(ha, "SIOCSIFADDR (0x%lx) ipv4 [0x%08x]\n",
+ cmd, ntohl(IA_SIN(ifa)->sin_addr.s_addr));
arp_ifinit(ifp, ifa);
} else {
@@ -2152,8 +2256,7 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
case SIOCSIFMTU:
- QL_DPRINT4(ha, (ha->pci_dev, "%s: SIOCSIFMTU (0x%lx)\n",
- __func__, cmd));
+ QL_DPRINT4(ha, "SIOCSIFMTU (0x%lx)\n", cmd);
if (ifr->ifr_mtu > QLNX_MAX_MTU) {
ret = EINVAL;
@@ -2162,7 +2265,7 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
ifp->if_mtu = ifr->ifr_mtu;
ha->max_frame_size =
ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
- if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) {
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
qlnx_init_locked(ha);
}
@@ -2172,13 +2275,12 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
case SIOCSIFFLAGS:
- QL_DPRINT4(ha, (ha->pci_dev, "%s: SIOCSIFFLAGS (0x%lx)\n",
- __func__, cmd));
+ QL_DPRINT4(ha, "SIOCSIFFLAGS (0x%lx)\n", cmd);
QLNX_LOCK(ha);
if (ifp->if_flags & IFF_UP) {
- if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) {
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
if ((ifp->if_flags ^ ha->if_flags) &
IFF_PROMISC) {
ret = qlnx_set_promisc(ha);
@@ -2201,8 +2303,7 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
case SIOCADDMULTI:
- QL_DPRINT4(ha, (ha->pci_dev,
- "%s: %s (0x%lx)\n", __func__, "SIOCADDMULTI", cmd));
+ QL_DPRINT4(ha, "%s (0x%lx)\n", "SIOCADDMULTI", cmd);
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
if (qlnx_set_multi(ha, 1))
@@ -2211,8 +2312,7 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
case SIOCDELMULTI:
- QL_DPRINT4(ha, (ha->pci_dev,
- "%s: %s (0x%lx)\n", __func__, "SIOCDELMULTI", cmd));
+ QL_DPRINT4(ha, "%s (0x%lx)\n", "SIOCDELMULTI", cmd);
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
if (qlnx_set_multi(ha, 0))
@@ -2222,9 +2322,8 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
case SIOCSIFMEDIA:
case SIOCGIFMEDIA:
- QL_DPRINT4(ha, (ha->pci_dev,
- "%s: SIOCSIFMEDIA/SIOCGIFMEDIA (0x%lx)\n",
- __func__, cmd));
+ QL_DPRINT4(ha, "SIOCSIFMEDIA/SIOCGIFMEDIA (0x%lx)\n", cmd);
+
ret = ifmedia_ioctl(ifp, ifr, &ha->media, cmd);
break;
@@ -2232,8 +2331,7 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
mask = ifr->ifr_reqcap ^ ifp->if_capenable;
- QL_DPRINT4(ha, (ha->pci_dev, "%s: SIOCSIFCAP (0x%lx)\n",
- __func__, cmd));
+ QL_DPRINT4(ha, "SIOCSIFCAP (0x%lx)\n", cmd);
if (mask & IFCAP_HWCSUM)
ifp->if_capenable ^= IFCAP_HWCSUM;
@@ -2276,8 +2374,7 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s :"
- " ecore_ptt_acquire failed\n", __func__));
+ QL_DPRINT1(ha, "ecore_ptt_acquire failed\n");
ret = -1;
break;
}
@@ -2295,20 +2392,19 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
ret = copyout(&i2c, ifr->ifr_data, sizeof(i2c));
- QL_DPRINT8(ha, (ha->pci_dev, "SIOCGI2C copyout ret = %d"
- " len = %d addr = 0x%02x offset = 0x%04x"
- " data[0..7]=0x%02x 0x%02x 0x%02x 0x%02x 0x%02x"
- " 0x%02x 0x%02x 0x%02x\n",
+ QL_DPRINT8(ha, "SIOCGI2C copyout ret = %d \
+ len = %d addr = 0x%02x offset = 0x%04x \
+ data[0..7]=0x%02x 0x%02x 0x%02x 0x%02x 0x%02x \
+ 0x%02x 0x%02x 0x%02x\n",
ret, i2c.len, i2c.dev_addr, i2c.offset,
i2c.data[0], i2c.data[1], i2c.data[2], i2c.data[3],
- i2c.data[4], i2c.data[5], i2c.data[6], i2c.data[7]));
+ i2c.data[4], i2c.data[5], i2c.data[6], i2c.data[7]);
break;
}
#endif /* #if (__FreeBSD_version >= 1100101) */
default:
- QL_DPRINT4(ha, (ha->pci_dev, "%s: default (0x%lx)\n",
- __func__, cmd));
+ QL_DPRINT4(ha, "default (0x%lx)\n", cmd);
ret = ether_ioctl(ifp, cmd, data);
break;
}
@@ -2325,14 +2421,14 @@ qlnx_media_change(struct ifnet *ifp)
ha = (qlnx_host_t *)ifp->if_softc;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
ifm = &ha->media;
if (IFM_TYPE(ifm->ifm_media) != IFM_ETHER)
ret = EINVAL;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: exit\n", __func__));
+ QL_DPRINT2(ha, "exit\n");
return (ret);
}
@@ -2344,7 +2440,7 @@ qlnx_media_status(struct ifnet *ifp, struct ifmediareq *ifmr)
ha = (qlnx_host_t *)ifp->if_softc;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
ifmr->ifm_status = IFM_AVALID;
ifmr->ifm_active = IFM_ETHER;
@@ -2360,8 +2456,7 @@ qlnx_media_status(struct ifnet *ifp, struct ifmediareq *ifmr)
(IFM_ETH_RXPAUSE | IFM_ETH_TXPAUSE);
}
- QL_DPRINT2(ha, (ha->pci_dev, "%s: exit (%s)\n", __func__,
- (ha->link_up ? "link_up" : "link_down")));
+ QL_DPRINT2(ha, "exit (%s)\n", (ha->link_up ? "link_up" : "link_down"));
return;
}
@@ -2387,20 +2482,19 @@ qlnx_free_tx_pkt(qlnx_host_t *ha, struct qlnx_fastpath *fp,
QL_RESET_ERR_INJECT(ha, QL_ERR_INJCT_TX_INT_MBUF_NULL);
- QL_DPRINT1(ha, (ha->pci_dev, "%s: (mp == NULL) "
+ QL_DPRINT1(ha, "(mp == NULL) "
" tx_idx = 0x%x"
" ecore_prod_idx = 0x%x"
" ecore_cons_idx = 0x%x"
" hw_bd_cons = 0x%x"
" txq_db_last = 0x%x"
" elem_left = 0x%x\n",
- __func__,
fp->rss_id,
ecore_chain_get_prod_idx(&txq->tx_pbl),
ecore_chain_get_cons_idx(&txq->tx_pbl),
le16toh(*txq->hw_cons_ptr),
txq->tx_db.raw,
- ecore_chain_get_elem_left(&txq->tx_pbl)));
+ ecore_chain_get_elem_left(&txq->tx_pbl));
fp->err_tx_free_pkt_null++;
@@ -2461,20 +2555,20 @@ qlnx_tx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp,
QL_RESET_ERR_INJECT(ha, QL_ERR_INJCT_TX_INT_DIFF);
- QL_DPRINT1(ha, (ha->pci_dev, "%s: (diff = 0x%x) "
+ QL_DPRINT1(ha, "(diff = 0x%x) "
" tx_idx = 0x%x"
" ecore_prod_idx = 0x%x"
" ecore_cons_idx = 0x%x"
" hw_bd_cons = 0x%x"
" txq_db_last = 0x%x"
" elem_left = 0x%x\n",
- __func__, diff,
+ diff,
fp->rss_id,
ecore_chain_get_prod_idx(&txq->tx_pbl),
ecore_chain_get_cons_idx(&txq->tx_pbl),
le16toh(*txq->hw_cons_ptr),
txq->tx_db.raw,
- ecore_chain_get_elem_left(&txq->tx_pbl)));
+ ecore_chain_get_elem_left(&txq->tx_pbl));
fp->err_tx_cons_idx_conflict++;
@@ -2496,7 +2590,7 @@ qlnx_transmit(struct ifnet *ifp, struct mbuf *mp)
struct qlnx_fastpath *fp;
int rss_id = 0, ret = 0;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
#if __FreeBSD_version >= 1100000
if (M_HASHTYPE_GET(mp) != M_HASHTYPE_NONE)
@@ -2524,7 +2618,7 @@ qlnx_transmit(struct ifnet *ifp, struct mbuf *mp)
qlnx_transmit_exit:
- QL_DPRINT2(ha, (ha->pci_dev, "%s: exit ret = %d\n", __func__, ret));
+ QL_DPRINT2(ha, "exit ret = %d\n", ret);
return ret;
}
@@ -2538,7 +2632,7 @@ qlnx_qflush(struct ifnet *ifp)
ha = (qlnx_host_t *)ifp->if_softc;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
for (rss_id = 0; rss_id < ha->num_rss; rss_id++) {
@@ -2557,7 +2651,7 @@ qlnx_qflush(struct ifnet *ifp)
mtx_unlock(&fp->tx_mtx);
}
}
- QL_DPRINT2(ha, (ha->pci_dev, "%s: exit\n", __func__));
+ QL_DPRINT2(ha, "exit\n");
return;
}
@@ -2701,7 +2795,7 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
uint32_t nbds_in_hdr = 0;
uint32_t offset = 0;
- QL_DPRINT8(ha, (ha->pci_dev, "%s: enter\n", __func__));
+ QL_DPRINT8(ha, "enter\n");
if (!ha->link_up)
return (-1);
@@ -2712,6 +2806,16 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
tx_data_bd = NULL;
txq = fp->txq[0];
+
+ if (fp->tx_ring_full) {
+ elem_left = ecore_chain_get_elem_left(&txq->tx_pbl);
+
+ if (elem_left < (TX_RING_SIZE >> 4))
+ return (-1);
+ else
+ fp->tx_ring_full = 0;
+ }
+
idx = txq->sw_tx_prod;
map = txq->sw_tx_ring[idx].map;
@@ -2720,20 +2824,18 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
ret = bus_dmamap_load_mbuf_sg(ha->tx_tag, map, m_head, segs, &nsegs,
BUS_DMA_NOWAIT);
-#ifdef QLNX_TRACE_TSO_PKT_LEN
-
- if (!fp->tx_tso_min_pkt_len) {
- fp->tx_tso_min_pkt_len = m_head->m_pkthdr.len;
- fp->tx_tso_min_pkt_len = m_head->m_pkthdr.len;
- } else {
- if (fp->tx_tso_min_pkt_len > m_head->m_pkthdr.len)
+ if (ha->dbg_trace_tso_pkt_len) {
+ if (!fp->tx_tso_min_pkt_len) {
+ fp->tx_tso_min_pkt_len = m_head->m_pkthdr.len;
fp->tx_tso_min_pkt_len = m_head->m_pkthdr.len;
- if (fp->tx_tso_max_pkt_len < m_head->m_pkthdr.len)
- fp->tx_tso_max_pkt_len = m_head->m_pkthdr.len;
+ } else {
+ if (fp->tx_tso_min_pkt_len > m_head->m_pkthdr.len)
+ fp->tx_tso_min_pkt_len = m_head->m_pkthdr.len;
+ if (fp->tx_tso_max_pkt_len < m_head->m_pkthdr.len)
+ fp->tx_tso_max_pkt_len = m_head->m_pkthdr.len;
+ }
}
-#endif /* #ifdef QLNX_TRACE_TSO_PKT_LEN */
-
if (m_head->m_pkthdr.csum_flags & CSUM_TSO)
offset = qlnx_tcp_offset(ha, m_head);
@@ -2745,8 +2847,7 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
struct mbuf *m;
- QL_DPRINT8(ha, (ha->pci_dev, "%s: EFBIG [%d]\n", __func__,
- m_head->m_pkthdr.len));
+ QL_DPRINT8(ha, "EFBIG [%d]\n", m_head->m_pkthdr.len);
fp->tx_defrag++;
@@ -2756,9 +2857,7 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
fp->tx_pkts_freed++;
m_freem(m_head);
*m_headp = NULL;
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: m_defrag() = NULL [%d]\n",
- __func__, ret));
+ QL_DPRINT1(ha, "m_defrag() = NULL [%d]\n", ret);
return (ENOBUFS);
}
@@ -2770,9 +2869,9 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
fp->err_tx_defrag_dmamap_load++;
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: bus_dmamap_load_mbuf_sg failed0[%d, %d]\n",
- __func__, ret, m_head->m_pkthdr.len));
+ QL_DPRINT1(ha,
+ "bus_dmamap_load_mbuf_sg failed0 [%d, %d]\n",
+ ret, m_head->m_pkthdr.len);
fp->tx_pkts_freed++;
m_freem(m_head);
@@ -2786,9 +2885,9 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
fp->err_tx_non_tso_max_seg++;
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: (%d) nsegs too many for non-TSO[%d, %d]\n",
- __func__, ret, nsegs, m_head->m_pkthdr.len));
+ QL_DPRINT1(ha,
+ "(%d) nsegs too many for non-TSO [%d, %d]\n",
+ ret, nsegs, m_head->m_pkthdr.len);
fp->tx_pkts_freed++;
m_freem(m_head);
@@ -2803,10 +2902,8 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
fp->err_tx_dmamap_load++;
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: bus_dmamap_load_mbuf_sg failed1[%d, %d]\n",
- __func__, ret, m_head->m_pkthdr.len));
-
+ QL_DPRINT1(ha, "bus_dmamap_load_mbuf_sg failed1 [%d, %d]\n",
+ ret, m_head->m_pkthdr.len);
fp->tx_pkts_freed++;
m_freem(m_head);
*m_headp = NULL;
@@ -2815,21 +2912,19 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
QL_ASSERT(ha, (nsegs != 0), ("qlnx_send: empty packet"));
-#ifdef QLNX_TRACE_TSO_PKT_LEN
-
- if (nsegs < QLNX_FP_MAX_SEGS)
- fp->tx_pkts[(nsegs - 1)]++;
- else
- fp->tx_pkts[(QLNX_FP_MAX_SEGS - 1)]++;
-
-#endif /* #ifdef QLNX_TRACE_TSO_PKT_LEN */
+ if (ha->dbg_trace_tso_pkt_len) {
+ if (nsegs < QLNX_FP_MAX_SEGS)
+ fp->tx_pkts[(nsegs - 1)]++;
+ else
+ fp->tx_pkts[(QLNX_FP_MAX_SEGS - 1)]++;
+ }
if ((nsegs + QLNX_TX_ELEM_RESERVE) >
(int)(elem_left = ecore_chain_get_elem_left(&txq->tx_pbl))) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s: (%d, 0x%x) insuffient BDs"
- "in chain[%d] trying to free packets\n",
- __func__, nsegs, elem_left, fp->rss_id));
+ QL_DPRINT1(ha, "(%d, 0x%x) insuffient BDs"
+ " in chain[%d] trying to free packets\n",
+ nsegs, elem_left, fp->rss_id);
fp->tx_nsegs_gt_elem_left++;
@@ -2838,11 +2933,12 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
if ((nsegs + QLNX_TX_ELEM_RESERVE) > (int)(elem_left =
ecore_chain_get_elem_left(&txq->tx_pbl))) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: (%d, 0x%x) insuffient BDs in chain[%d]\n",
- __func__, nsegs, elem_left, fp->rss_id));
+ QL_DPRINT1(ha,
+ "(%d, 0x%x) insuffient BDs in chain[%d]\n",
+ nsegs, elem_left, fp->rss_id);
fp->err_tx_nsegs_gt_elem_left++;
+ fp->tx_ring_full = 1;
ha->storm_stats_enable = 1;
return (ENOBUFS);
}
@@ -2868,7 +2964,8 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
(1 << ETH_TX_1ST_BD_FLAGS_IP_CSUM_SHIFT);
}
- if (m_head->m_pkthdr.csum_flags & (CSUM_UDP | CSUM_TCP)) {
+ if (m_head->m_pkthdr.csum_flags &
+ (CSUM_UDP | CSUM_TCP | CSUM_TCP_IPV6 | CSUM_UDP_IPV6)) {
first_bd->data.bd_flags.bitfields |=
(1 << ETH_TX_1ST_BD_FLAGS_L4_CSUM_SHIFT);
}
@@ -3051,15 +3148,13 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
first_bd->data.nbds = nbd;
-#ifdef QLNX_TRACE_TSO_PKT_LEN
-
- if (fp->tx_tso_max_nsegs < nsegs)
- fp->tx_tso_max_nsegs = nsegs;
-
- if ((nsegs < fp->tx_tso_min_nsegs) || (!fp->tx_tso_min_nsegs))
- fp->tx_tso_min_nsegs = nsegs;
+ if (ha->dbg_trace_tso_pkt_len) {
+ if (fp->tx_tso_max_nsegs < nsegs)
+ fp->tx_tso_max_nsegs = nsegs;
-#endif /* #ifdef QLNX_TRACE_TSO_PKT_LEN */
+ if ((nsegs < fp->tx_tso_min_nsegs) || (!fp->tx_tso_min_nsegs))
+ fp->tx_tso_min_nsegs = nsegs;
+ }
txq->sw_tx_ring[idx].nsegs = nsegs;
txq->sw_tx_prod = (txq->sw_tx_prod + 1) & (TX_RING_SIZE - 1);
@@ -3069,7 +3164,7 @@ qlnx_send(qlnx_host_t *ha, struct qlnx_fastpath *fp, struct mbuf **m_headp)
qlnx_txq_doorbell_wr32(ha, txq->doorbell_addr, txq->tx_db.raw);
- QL_DPRINT8(ha, (ha->pci_dev, "%s: exit\n", __func__));
+ QL_DPRINT8(ha, "exit\n");
return (0);
}
@@ -3089,6 +3184,8 @@ qlnx_stop(qlnx_host_t *ha)
* propagate the if_drv_flags
* state to each tx thread
*/
+ QL_DPRINT1(ha, "QLNX STATE = %d\n",ha->state);
+
if (ha->state == QLNX_STATE_OPEN) {
for (i = 0; i < ha->num_rss; i++) {
struct qlnx_fastpath *fp = &ha->fp_array[i];
@@ -3137,6 +3234,11 @@ qlnx_get_optics(qlnx_host_t *ha, struct qlnx_link_output *if_link)
ifm_type = IFM_40G_SR4;
else if (if_link->speed == (25 * 1000))
ifm_type = QLNX_IFM_25G_SR;
+ else if (if_link->speed == (10 * 1000))
+ ifm_type = (IFM_10G_LR | IFM_10G_SR);
+ else if (if_link->speed == (1 * 1000))
+ ifm_type = (IFM_1000_SX | IFM_1000_LX);
+
break;
case MEDIA_DA_TWINAX:
@@ -3146,6 +3248,9 @@ qlnx_get_optics(qlnx_host_t *ha, struct qlnx_link_output *if_link)
ifm_type = IFM_40G_CR4;
else if (if_link->speed == (25 * 1000))
ifm_type = QLNX_IFM_25G_CR;
+ else if (if_link->speed == (10 * 1000))
+ ifm_type = IFM_10G_TWINAX;
+
break;
default :
@@ -3181,8 +3286,7 @@ qlnx_rx_jumbo_chain(qlnx_host_t *ha, struct qlnx_fastpath *fp,
mp = sw_rx_data->data;
if (mp == NULL) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s: mp = NULL\n",
- __func__));
+ QL_DPRINT1(ha, "mp = NULL\n");
fp->err_rx_mp_null++;
rxq->sw_rx_cons =
(rxq->sw_rx_cons + 1) & (RX_RING_SIZE - 1);
@@ -3197,10 +3301,8 @@ qlnx_rx_jumbo_chain(qlnx_host_t *ha, struct qlnx_fastpath *fp,
if (qlnx_alloc_rx_buffer(ha, rxq) != 0) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: New buffer allocation failed, dropping"
- " incoming packet and reusing its buffer\n",
- __func__));
+ QL_DPRINT1(ha, "New buffer allocation failed, dropping"
+ " incoming packet and reusing its buffer\n");
qlnx_reuse_rx_data(rxq);
fp->err_rx_alloc_errors++;
@@ -3260,29 +3362,29 @@ qlnx_tpa_start(qlnx_host_t *ha,
dev = ha->pci_dev;
agg_index = cqe->tpa_agg_index;
- QL_DPRINT7(ha, (dev, "%s[%d]: enter\n "
- "\t type = 0x%x\n"
- "\t bitfields = 0x%x\n"
- "\t seg_len = 0x%x\n"
- "\t pars_flags = 0x%x\n"
- "\t vlan_tag = 0x%x\n"
- "\t rss_hash = 0x%x\n"
- "\t len_on_first_bd = 0x%x\n"
- "\t placement_offset = 0x%x\n"
- "\t tpa_agg_index = 0x%x\n"
- "\t header_len = 0x%x\n"
- "\t ext_bd_len_list[0] = 0x%x\n"
- "\t ext_bd_len_list[1] = 0x%x\n"
- "\t ext_bd_len_list[2] = 0x%x\n"
- "\t ext_bd_len_list[3] = 0x%x\n"
- "\t ext_bd_len_list[4] = 0x%x\n",
- __func__, fp->rss_id, cqe->type, cqe->bitfields, cqe->seg_len,
+ QL_DPRINT7(ha, "[rss_id = %d]: enter\n \
+ \t type = 0x%x\n \
+ \t bitfields = 0x%x\n \
+ \t seg_len = 0x%x\n \
+ \t pars_flags = 0x%x\n \
+ \t vlan_tag = 0x%x\n \
+ \t rss_hash = 0x%x\n \
+ \t len_on_first_bd = 0x%x\n \
+ \t placement_offset = 0x%x\n \
+ \t tpa_agg_index = 0x%x\n \
+ \t header_len = 0x%x\n \
+ \t ext_bd_len_list[0] = 0x%x\n \
+ \t ext_bd_len_list[1] = 0x%x\n \
+ \t ext_bd_len_list[2] = 0x%x\n \
+ \t ext_bd_len_list[3] = 0x%x\n \
+ \t ext_bd_len_list[4] = 0x%x\n",
+ fp->rss_id, cqe->type, cqe->bitfields, cqe->seg_len,
cqe->pars_flags.flags, cqe->vlan_tag,
cqe->rss_hash, cqe->len_on_first_bd, cqe->placement_offset,
cqe->tpa_agg_index, cqe->header_len,
cqe->ext_bd_len_list[0], cqe->ext_bd_len_list[1],
cqe->ext_bd_len_list[2], cqe->ext_bd_len_list[3],
- cqe->ext_bd_len_list[4]));
+ cqe->ext_bd_len_list[4]);
if (agg_index >= ETH_TPA_MAX_AGGS_NUM) {
fp->err_rx_tpa_invalid_agg_num++;
@@ -3293,11 +3395,10 @@ qlnx_tpa_start(qlnx_host_t *ha,
bus_dmamap_sync(ha->rx_tag, sw_rx_data->map, BUS_DMASYNC_POSTREAD);
mp = sw_rx_data->data;
- QL_DPRINT7(ha, (dev, "%s[%d]: mp = %p \n ", __func__, fp->rss_id, mp));
+ QL_DPRINT7(ha, "[rss_id = %d]: mp = %p \n ", fp->rss_id, mp);
if (mp == NULL) {
- QL_DPRINT7(ha, (dev, "%s[%d]: mp = NULL\n", __func__,
- fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: mp = NULL\n", fp->rss_id);
fp->err_rx_mp_null++;
rxq->sw_rx_cons = (rxq->sw_rx_cons + 1) & (RX_RING_SIZE - 1);
@@ -3306,10 +3407,9 @@ qlnx_tpa_start(qlnx_host_t *ha,
if ((le16toh(cqe->pars_flags.flags)) & CQE_FLAGS_ERR) {
- QL_DPRINT7(ha, (dev, "%s[%d]: CQE in CONS = %u has error,"
- " flags = %x, dropping incoming packet\n", __func__,
- fp->rss_id, rxq->sw_rx_cons,
- le16toh(cqe->pars_flags.flags)));
+ QL_DPRINT7(ha, "[%d]: CQE in CONS = %u has error,"
+ " flags = %x, dropping incoming packet\n", fp->rss_id,
+ rxq->sw_rx_cons, le16toh(cqe->pars_flags.flags));
fp->err_rx_hw_errors++;
@@ -3322,9 +3422,9 @@ qlnx_tpa_start(qlnx_host_t *ha,
if (qlnx_alloc_rx_buffer(ha, rxq) != 0) {
- QL_DPRINT7(ha, (dev, "%s[%d]: New buffer allocation failed,"
+ QL_DPRINT7(ha, "[%d]: New buffer allocation failed,"
" dropping incoming packet and reusing its buffer\n",
- __func__, fp->rss_id));
+ fp->rss_id);
fp->err_rx_alloc_errors++;
QLNX_INC_IQDROPS(ifp);
@@ -3376,9 +3476,9 @@ qlnx_tpa_start(qlnx_host_t *ha,
if (rxq->tpa_info[agg_index].agg_state != QLNX_AGG_STATE_NONE) {
- QL_DPRINT7(ha, (dev, "%s[%d]: invalid aggregation state,"
+ QL_DPRINT7(ha, "[%d]: invalid aggregation state,"
" dropping incoming packet and reusing its buffer\n",
- __func__, fp->rss_id));
+ fp->rss_id);
QLNX_INC_IQDROPS(ifp);
@@ -3415,7 +3515,7 @@ qlnx_tpa_start(qlnx_host_t *ha,
for (i = 0; i < ETH_TPA_CQE_START_LEN_LIST_SIZE; i++) {
- QL_DPRINT7(ha, (dev, "%s[%d]: 4\n ", __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: 4\n ", fp->rss_id);
if (cqe->ext_bd_len_list[i] == 0)
break;
@@ -3427,8 +3527,7 @@ qlnx_tpa_start(qlnx_host_t *ha,
mpc = sw_rx_data->data;
if (mpc == NULL) {
- QL_DPRINT7(ha, (ha->pci_dev, "%s[%d]: mpc = NULL\n",
- __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: mpc = NULL\n", fp->rss_id);
fp->err_rx_mp_null++;
if (mpf != NULL)
m_freem(mpf);
@@ -3442,10 +3541,9 @@ qlnx_tpa_start(qlnx_host_t *ha,
}
if (qlnx_alloc_rx_buffer(ha, rxq) != 0) {
- QL_DPRINT7(ha, (dev,
- "%s[%d]: New buffer allocation failed, dropping"
- " incoming packet and reusing its buffer\n",
- __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: New buffer allocation failed,"
+ " dropping incoming packet and reusing its"
+ " buffer\n", fp->rss_id);
qlnx_reuse_rx_data(rxq);
@@ -3483,9 +3581,9 @@ qlnx_tpa_start(qlnx_host_t *ha,
if (rxq->tpa_info[agg_index].agg_state != QLNX_AGG_STATE_NONE) {
- QL_DPRINT7(ha, (dev, "%s[%d]: invalid aggregation state,"
- " dropping incoming packet and reusing its buffer\n",
- __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: invalid aggregation state, dropping"
+ " incoming packet and reusing its buffer\n",
+ fp->rss_id);
QLNX_INC_IQDROPS(ifp);
@@ -3565,10 +3663,9 @@ qlnx_tpa_start(qlnx_host_t *ha,
rxq->tpa_info[agg_index].agg_state = QLNX_AGG_STATE_START;
- QL_DPRINT7(ha, (dev, "%s[%d]: 5\n" "\tagg_state = %d\n"
- "\t mpf = %p mpl = %p\n", __func__, fp->rss_id,
- rxq->tpa_info[agg_index].agg_state,
- rxq->tpa_info[agg_index].mpf, rxq->tpa_info[agg_index].mpl));
+ QL_DPRINT7(ha, "[%d]: 5\n\tagg_state = %d\n\t mpf = %p mpl = %p\n",
+ fp->rss_id, rxq->tpa_info[agg_index].agg_state,
+ rxq->tpa_info[agg_index].mpf, rxq->tpa_info[agg_index].mpl);
return;
}
@@ -3587,23 +3684,23 @@ qlnx_tpa_cont(qlnx_host_t *ha, struct qlnx_fastpath *fp,
dev = ha->pci_dev;
- QL_DPRINT7(ha, (dev, "%s[%d]: enter\n "
- "\t type = 0x%x\n"
- "\t tpa_agg_index = 0x%x\n"
- "\t len_list[0] = 0x%x\n"
- "\t len_list[1] = 0x%x\n"
- "\t len_list[2] = 0x%x\n"
- "\t len_list[3] = 0x%x\n"
- "\t len_list[4] = 0x%x\n"
- "\t len_list[5] = 0x%x\n",
- __func__, fp->rss_id, cqe->type, cqe->tpa_agg_index,
+ QL_DPRINT7(ha, "[%d]: enter\n \
+ \t type = 0x%x\n \
+ \t tpa_agg_index = 0x%x\n \
+ \t len_list[0] = 0x%x\n \
+ \t len_list[1] = 0x%x\n \
+ \t len_list[2] = 0x%x\n \
+ \t len_list[3] = 0x%x\n \
+ \t len_list[4] = 0x%x\n \
+ \t len_list[5] = 0x%x\n",
+ fp->rss_id, cqe->type, cqe->tpa_agg_index,
cqe->len_list[0], cqe->len_list[1], cqe->len_list[2],
- cqe->len_list[3], cqe->len_list[4], cqe->len_list[5]));
+ cqe->len_list[3], cqe->len_list[4], cqe->len_list[5]);
agg_index = cqe->tpa_agg_index;
if (agg_index >= ETH_TPA_MAX_AGGS_NUM) {
- QL_DPRINT7(ha, (dev, "%s[%d]: 0\n ", __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: 0\n ", fp->rss_id);
fp->err_rx_tpa_invalid_agg_num++;
return;
}
@@ -3611,7 +3708,7 @@ qlnx_tpa_cont(qlnx_host_t *ha, struct qlnx_fastpath *fp,
for (i = 0; i < ETH_TPA_CQE_CONT_LEN_LIST_SIZE; i++) {
- QL_DPRINT7(ha, (dev, "%s[%d]: 1\n ", __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: 1\n ", fp->rss_id);
if (cqe->len_list[i] == 0)
break;
@@ -3630,8 +3727,7 @@ qlnx_tpa_cont(qlnx_host_t *ha, struct qlnx_fastpath *fp,
if (mpc == NULL) {
- QL_DPRINT7(ha, (dev, "%s[%d]: mpc = NULL\n",
- __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: mpc = NULL\n", fp->rss_id);
fp->err_rx_mp_null++;
if (mpf != NULL)
@@ -3647,10 +3743,9 @@ qlnx_tpa_cont(qlnx_host_t *ha, struct qlnx_fastpath *fp,
if (qlnx_alloc_rx_buffer(ha, rxq) != 0) {
- QL_DPRINT7(ha, (dev,
- "%s[%d]: New buffer allocation failed, dropping"
- " incoming packet and reusing its buffer\n",
- __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: New buffer allocation failed,"
+ " dropping incoming packet and reusing its"
+ " buffer\n", fp->rss_id);
qlnx_reuse_rx_data(rxq);
@@ -3686,8 +3781,8 @@ qlnx_tpa_cont(qlnx_host_t *ha, struct qlnx_fastpath *fp,
(rxq->sw_rx_cons + 1) & (RX_RING_SIZE - 1);
}
- QL_DPRINT7(ha, (dev, "%s[%d]: 2\n" "\tmpf = %p mpl = %p\n",
- __func__, fp->rss_id, mpf, mpl));
+ QL_DPRINT7(ha, "[%d]: 2\n" "\tmpf = %p mpl = %p\n",
+ fp->rss_id, mpf, mpl);
if (mpf != NULL) {
mp = rxq->tpa_info[agg_index].mpl;
@@ -3715,29 +3810,29 @@ qlnx_tpa_end(qlnx_host_t *ha, struct qlnx_fastpath *fp,
dev = ha->pci_dev;
- QL_DPRINT7(ha, (dev, "%s[%d]: enter\n "
- "\t type = 0x%x\n"
- "\t tpa_agg_index = 0x%x\n"
- "\t total_packet_len = 0x%x\n"
- "\t num_of_bds = 0x%x\n"
- "\t end_reason = 0x%x\n"
- "\t num_of_coalesced_segs = 0x%x\n"
- "\t ts_delta = 0x%x\n"
- "\t len_list[0] = 0x%x\n"
- "\t len_list[1] = 0x%x\n"
- "\t len_list[2] = 0x%x\n"
- "\t len_list[3] = 0x%x\n",
- __func__, fp->rss_id, cqe->type, cqe->tpa_agg_index,
+ QL_DPRINT7(ha, "[%d]: enter\n \
+ \t type = 0x%x\n \
+ \t tpa_agg_index = 0x%x\n \
+ \t total_packet_len = 0x%x\n \
+ \t num_of_bds = 0x%x\n \
+ \t end_reason = 0x%x\n \
+ \t num_of_coalesced_segs = 0x%x\n \
+ \t ts_delta = 0x%x\n \
+ \t len_list[0] = 0x%x\n \
+ \t len_list[1] = 0x%x\n \
+ \t len_list[2] = 0x%x\n \
+ \t len_list[3] = 0x%x\n",
+ fp->rss_id, cqe->type, cqe->tpa_agg_index,
cqe->total_packet_len, cqe->num_of_bds,
cqe->end_reason, cqe->num_of_coalesced_segs, cqe->ts_delta,
cqe->len_list[0], cqe->len_list[1], cqe->len_list[2],
- cqe->len_list[3]));
+ cqe->len_list[3]);
agg_index = cqe->tpa_agg_index;
if (agg_index >= ETH_TPA_MAX_AGGS_NUM) {
- QL_DPRINT7(ha, (dev, "%s[%d]: 0\n ", __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: 0\n ", fp->rss_id);
fp->err_rx_tpa_invalid_agg_num++;
return (0);
@@ -3746,7 +3841,7 @@ qlnx_tpa_end(qlnx_host_t *ha, struct qlnx_fastpath *fp,
for (i = 0; i < ETH_TPA_CQE_END_LEN_LIST_SIZE; i++) {
- QL_DPRINT7(ha, (dev, "%s[%d]: 1\n ", __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: 1\n ", fp->rss_id);
if (cqe->len_list[i] == 0)
break;
@@ -3754,8 +3849,7 @@ qlnx_tpa_end(qlnx_host_t *ha, struct qlnx_fastpath *fp,
if (rxq->tpa_info[agg_index].agg_state !=
QLNX_AGG_STATE_START) {
- QL_DPRINT7(ha, (dev, "%s[%d]: 2\n ", __func__,
- fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: 2\n ", fp->rss_id);
qlnx_reuse_rx_data(rxq);
continue;
@@ -3769,8 +3863,7 @@ qlnx_tpa_end(qlnx_host_t *ha, struct qlnx_fastpath *fp,
if (mpc == NULL) {
- QL_DPRINT7(ha, (dev, "%s[%d]: mpc = NULL\n",
- __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: mpc = NULL\n", fp->rss_id);
fp->err_rx_mp_null++;
if (mpf != NULL)
@@ -3785,10 +3878,9 @@ qlnx_tpa_end(qlnx_host_t *ha, struct qlnx_fastpath *fp,
}
if (qlnx_alloc_rx_buffer(ha, rxq) != 0) {
- QL_DPRINT7(ha, (dev,
- "%s[%d]: New buffer allocation failed, dropping"
- " incoming packet and reusing its buffer\n",
- __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: New buffer allocation failed,"
+ " dropping incoming packet and reusing its"
+ " buffer\n", fp->rss_id);
qlnx_reuse_rx_data(rxq);
@@ -3824,11 +3916,11 @@ qlnx_tpa_end(qlnx_host_t *ha, struct qlnx_fastpath *fp,
(rxq->sw_rx_cons + 1) & (RX_RING_SIZE - 1);
}
- QL_DPRINT7(ha, (dev, "%s[%d]: 5\n ", __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: 5\n ", fp->rss_id);
if (mpf != NULL) {
- QL_DPRINT7(ha, (dev, "%s[%d]: 6\n ", __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: 6\n ", fp->rss_id);
mp = rxq->tpa_info[agg_index].mpl;
mp->m_len = ha->rx_buf_size;
@@ -3837,7 +3929,7 @@ qlnx_tpa_end(qlnx_host_t *ha, struct qlnx_fastpath *fp,
if (rxq->tpa_info[agg_index].agg_state != QLNX_AGG_STATE_START) {
- QL_DPRINT7(ha, (dev, "%s[%d]: 7\n ", __func__, fp->rss_id));
+ QL_DPRINT7(ha, "[%d]: 7\n ", fp->rss_id);
if (rxq->tpa_info[agg_index].mpf != NULL)
m_freem(rxq->tpa_info[agg_index].mpf);
@@ -3870,10 +3962,10 @@ qlnx_tpa_end(qlnx_host_t *ha, struct qlnx_fastpath *fp,
QLNX_INC_IPACKETS(ifp);
QLNX_INC_IBYTES(ifp, (cqe->total_packet_len));
- QL_DPRINT7(ha, (dev, "%s[%d]: 8 csum_data = 0x%x csum_flags = 0x%lx\n "
- "m_len = 0x%x m_pkthdr_len = 0x%x\n",
- __func__, fp->rss_id, mp->m_pkthdr.csum_data,
- mp->m_pkthdr.csum_flags, mp->m_len, mp->m_pkthdr.len));
+ QL_DPRINT7(ha, "[%d]: 8 csum_data = 0x%x csum_flags = 0x%lx\n \
+ m_len = 0x%x m_pkthdr_len = 0x%x\n",
+ fp->rss_id, mp->m_pkthdr.csum_data,
+ mp->m_pkthdr.csum_flags, mp->m_len, mp->m_pkthdr.len);
(*ifp->if_input)(ifp, mp);
@@ -3931,7 +4023,7 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget,
cqe_type = cqe->fast_path_regular.type;
if (cqe_type == ETH_RX_CQE_TYPE_SLOW_PATH) {
- QL_DPRINT3(ha, (ha->pci_dev, "Got a slowath CQE\n"));
+ QL_DPRINT3(ha, "Got a slowath CQE\n");
ecore_eth_cqe_completion(p_hwfn,
(struct eth_slow_path_rx_cqe *)cqe);
@@ -3972,8 +4064,7 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget,
mp = sw_rx_data->data;
if (mp == NULL) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s: mp = NULL\n",
- __func__));
+ QL_DPRINT1(ha, "mp = NULL\n");
fp->err_rx_mp_null++;
rxq->sw_rx_cons =
(rxq->sw_rx_cons + 1) & (RX_RING_SIZE - 1);
@@ -3987,12 +4078,11 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget,
len = le16toh(fp_cqe->pkt_len);
pad = fp_cqe->placement_offset;
- QL_DPRINT3(ha,
- (ha->pci_dev, "CQE type = %x, flags = %x, vlan = %x,"
+ QL_DPRINT3(ha, "CQE type = %x, flags = %x, vlan = %x,"
" len %u, parsing flags = %d pad = %d\n",
cqe_type, fp_cqe->bitfields,
le16toh(fp_cqe->vlan_tag),
- len, le16toh(fp_cqe->pars_flags.flags), pad));
+ len, le16toh(fp_cqe->pars_flags.flags), pad);
data = mtod(mp, uint8_t *);
data = data + pad;
@@ -4010,11 +4100,9 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget,
if ((le16toh(cqe->fast_path_regular.pars_flags.flags)) &
CQE_FLAGS_ERR) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "CQE in CONS = %u has error, flags = %x,"
+ QL_DPRINT1(ha, "CQE in CONS = %u has error, flags = %x,"
" dropping incoming packet\n", sw_comp_cons,
- le16toh(cqe->fast_path_regular.pars_flags.flags)));
-
+ le16toh(cqe->fast_path_regular.pars_flags.flags));
fp->err_rx_hw_errors++;
qlnx_reuse_rx_data(rxq);
@@ -4026,10 +4114,8 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget,
if (qlnx_alloc_rx_buffer(ha, rxq) != 0) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "New buffer allocation failed, dropping"
- " incoming packet and reusing its buffer\n"));
-
+ QL_DPRINT1(ha, "New buffer allocation failed, dropping"
+ " incoming packet and reusing its buffer\n");
qlnx_reuse_rx_data(rxq);
fp->err_rx_alloc_errors++;
@@ -4045,10 +4131,8 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget,
m_adj(mp, pad);
mp->m_pkthdr.len = len;
- QL_DPRINT1(ha,
- (ha->pci_dev, "%s: len = %d len_on_first_bd = %d\n",
- __func__, len, len_on_first_bd));
-
+ QL_DPRINT1(ha, "len = %d len_on_first_bd = %d\n",
+ len, len_on_first_bd);
if ((len > 60 ) && (len > len_on_first_bd)) {
mp->m_len = len_on_first_bd;
@@ -4188,11 +4272,9 @@ qlnx_fp_isr(void *arg)
qlnx_ivec_t *ivec = arg;
qlnx_host_t *ha;
struct qlnx_fastpath *fp = NULL;
- int idx, lro_enable, tc;
- int rx_int = 0, total_rx_count = 0;
+ int idx;
ha = ivec->ha;
- lro_enable = ha->ifp->if_capenable & IFCAP_LRO;
if (ha->state != QLNX_STATE_OPEN) {
return;
@@ -4201,86 +4283,18 @@ qlnx_fp_isr(void *arg)
idx = ivec->rss_idx;
if ((idx = ivec->rss_idx) >= ha->num_rss) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s: illegal interrupt[%d]\n",
- __func__, idx));
+ QL_DPRINT1(ha, "illegal interrupt[%d]\n", idx);
ha->err_illegal_intr++;
return;
}
fp = &ha->fp_array[idx];
if (fp == NULL) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s: fp_array[%d] NULL\n",
- __func__, idx));
ha->err_fp_null++;
} else {
ecore_sb_ack(fp->sb_info, IGU_INT_DISABLE, 0);
-
- do {
- for (tc = 0; tc < ha->num_tc; tc++) {
- if (mtx_trylock(&fp->tx_mtx)) {
- qlnx_tx_int(ha, fp, fp->txq[tc]);
- mtx_unlock(&fp->tx_mtx);
- }
- }
-
- rx_int = qlnx_rx_int(ha, fp, ha->rx_pkt_threshold,
- lro_enable);
-
- if (rx_int) {
- fp->rx_pkts += rx_int;
- total_rx_count += rx_int;
- }
-
- } while (rx_int);
-
-
-#ifdef QLNX_SOFT_LRO
- {
- struct lro_ctrl *lro;
-
- lro = &fp->rxq->lro;
-
- if (lro_enable && total_rx_count) {
-
-#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO)
-
-#ifdef QLNX_TRACE_LRO_CNT
- if (lro->lro_mbuf_count & ~1023)
- fp->lro_cnt_1024++;
- else if (lro->lro_mbuf_count & ~511)
- fp->lro_cnt_512++;
- else if (lro->lro_mbuf_count & ~255)
- fp->lro_cnt_256++;
- else if (lro->lro_mbuf_count & ~127)
- fp->lro_cnt_128++;
- else if (lro->lro_mbuf_count & ~63)
- fp->lro_cnt_64++;
-#endif /* #ifdef QLNX_TRACE_LRO_CNT */
-
- tcp_lro_flush_all(lro);
-
-#else
- struct lro_entry *queued;
-
- while ((!SLIST_EMPTY(&lro->lro_active))) {
- queued = SLIST_FIRST(&lro->lro_active);
- SLIST_REMOVE_HEAD(&lro->lro_active, \
- next);
- tcp_lro_flush(lro, queued);
- }
-#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */
- }
- }
-#endif /* #ifdef QLNX_SOFT_LRO */
-
- if (fp->fp_taskqueue != NULL)
- taskqueue_enqueue(fp->fp_taskqueue, &fp->fp_task);
-
- ecore_sb_update_sb_idx(fp->sb_info);
- rmb();
- ecore_sb_ack(fp->sb_info, IGU_INT_ENABLE, 1);
-
- return;
+ if (fp->fp_taskqueue != NULL)
+ taskqueue_enqueue(fp->fp_taskqueue, &fp->fp_task);
}
return;
@@ -4303,11 +4317,11 @@ qlnx_sp_isr(void *arg)
ha->sp_interrupts++;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
ecore_int_sp_dpc(p_hwfn);
- QL_DPRINT2(ha, (ha->pci_dev, "%s: exit\n", __func__));
+ QL_DPRINT2(ha, "exit\n");
return;
}
@@ -4355,8 +4369,7 @@ qlnx_alloc_dmabuf(qlnx_host_t *ha, qlnx_dma_t *dma_buf)
&dma_buf->dma_tag);
if (ret) {
- QL_DPRINT1(ha,
- (dev, "%s: could not create dma tag\n", __func__));
+ QL_DPRINT1(ha, "could not create dma tag\n");
goto qlnx_alloc_dmabuf_exit;
}
ret = bus_dmamem_alloc(dma_buf->dma_tag,
@@ -4365,8 +4378,7 @@ qlnx_alloc_dmabuf(qlnx_host_t *ha, qlnx_dma_t *dma_buf)
&dma_buf->dma_map);
if (ret) {
bus_dma_tag_destroy(dma_buf->dma_tag);
- QL_DPRINT1(ha,
- (dev, "%s: bus_dmamem_alloc failed\n", __func__));
+ QL_DPRINT1(ha, "bus_dmamem_alloc failed\n");
goto qlnx_alloc_dmabuf_exit;
}
@@ -4428,11 +4440,11 @@ qlnx_dma_alloc_coherent(void *ecore_dev, bus_addr_t *phys, uint32_t size)
dma_p = (qlnx_dma_t *)((uint8_t *)dma_buf.dma_b + size);
memcpy(dma_p, &dma_buf, sizeof(qlnx_dma_t));
-
- QL_DPRINT5(ha, (dev, "%s: [%p %p %p %p 0x%08x ]\n", __func__,
+/*
+ QL_DPRINT5(ha, "[%p %p %p %p 0x%08x ]\n",
(void *)dma_buf.dma_map, (void *)dma_buf.dma_tag,
- dma_buf.dma_b, (void *)dma_buf.dma_addr, size));
-
+ dma_buf.dma_b, (void *)dma_buf.dma_addr, size);
+*/
return (dma_buf.dma_b);
}
@@ -4453,11 +4465,11 @@ qlnx_dma_free_coherent(void *ecore_dev, void *v_addr, bus_addr_t phys,
size = (size + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
dma_p = (qlnx_dma_t *)((uint8_t *)v_addr + size);
-
- QL_DPRINT5(ha, (dev, "%s: [%p %p %p %p 0x%08x ]\n", __func__,
+/*
+ QL_DPRINT5(ha, "[%p %p %p %p 0x%08x ]\n",
(void *)dma_p->dma_map, (void *)dma_p->dma_tag,
- dma_p->dma_b, (void *)dma_p->dma_addr, size));
-
+ dma_p->dma_b, (void *)dma_p->dma_addr, size);
+*/
dma_buf = *dma_p;
qlnx_free_dmabuf((qlnx_host_t *)ecore_dev, &dma_buf);
@@ -4489,8 +4501,7 @@ qlnx_alloc_parent_dma_tag(qlnx_host_t *ha)
&ha->parent_tag);
if (ret) {
- QL_DPRINT1(ha, (dev, "%s: could not create parent dma tag\n",
- __func__));
+ QL_DPRINT1(ha, "could not create parent dma tag\n");
return (-1);
}
@@ -4525,8 +4536,7 @@ qlnx_alloc_tx_dma_tag(qlnx_host_t *ha)
NULL, /* lockfuncarg */
&ha->tx_tag)) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s: tx_tag alloc failed\n",
- __func__));
+ QL_DPRINT1(ha, "tx_tag alloc failed\n");
return (-1);
}
@@ -4559,8 +4569,7 @@ qlnx_alloc_rx_dma_tag(qlnx_host_t *ha)
NULL, /* lockfuncarg */
&ha->rx_tag)) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s: rx_tag alloc failed\n",
- __func__));
+ QL_DPRINT1(ha, " rx_tag alloc failed\n");
return (-1);
}
@@ -4650,15 +4659,15 @@ qlnx_pci_write_config_dword(void *ecore_dev, uint32_t pci_reg,
int
qlnx_pci_find_capability(void *ecore_dev, int cap)
{
- int reg;
+ int reg;
+ qlnx_host_t *ha;
- if (pci_find_cap(((qlnx_host_t *)ecore_dev)->pci_dev, PCIY_EXPRESS,
- &reg) == 0)
+ ha = ecore_dev;
+
+ if (pci_find_cap(ha->pci_dev, PCIY_EXPRESS, &reg) == 0)
return reg;
else {
- QL_DPRINT1(((qlnx_host_t *)ecore_dev),
- (((qlnx_host_t *)ecore_dev)->pci_dev,
- "%s: failed\n", __func__));
+ QL_DPRINT1(ha, "failed\n");
return 0;
}
}
@@ -4765,6 +4774,19 @@ qlnx_direct_reg_wr32(void *p_hwfn, void *reg_addr, uint32_t value)
return;
}
+void
+qlnx_direct_reg_wr64(void *p_hwfn, void *reg_addr, uint64_t value)
+{
+ uint32_t offset;
+ struct ecore_dev *cdev;
+
+ cdev = ((struct ecore_hwfn *)p_hwfn)->p_dev;
+ offset = (uint32_t)((uint8_t *)reg_addr - (uint8_t *)(cdev->regview));
+
+ bus_write_8(((qlnx_host_t *)cdev)->pci_reg, offset, value);
+ return;
+}
+
void *
qlnx_zalloc(uint32_t size)
{
@@ -5045,13 +5067,14 @@ qlnx_get_protocol_stats(void *cdev, int proto_type, void *proto_stats)
enum ecore_mcp_protocol_type type;
union ecore_mcp_protocol_stats *stats;
struct ecore_eth_stats eth_stats;
- device_t dev;
+ qlnx_host_t *ha;
- dev = ((qlnx_host_t *)cdev)->pci_dev;
+ ha = cdev;
stats = proto_stats;
type = proto_type;
switch (type) {
+
case ECORE_MCP_LAN_STATS:
ecore_get_vport_stats((struct ecore_dev *)cdev, &eth_stats);
stats->lan_stats.ucast_rx_pkts = eth_stats.common.rx_ucast_pkts;
@@ -5060,11 +5083,9 @@ qlnx_get_protocol_stats(void *cdev, int proto_type, void *proto_stats)
break;
default:
- ((qlnx_host_t *)cdev)->err_get_proto_invalid_type++;
+ ha->err_get_proto_invalid_type++;
- QL_DPRINT1(((qlnx_host_t *)cdev),
- (dev, "%s: invalid protocol type 0x%x\n", __func__,
- type));
+ QL_DPRINT1(ha, "invalid protocol type 0x%x\n", type);
break;
}
return;
@@ -5080,8 +5101,7 @@ qlnx_get_mfw_version(qlnx_host_t *ha, uint32_t *mfw_ver)
p_ptt = ecore_ptt_acquire(p_hwfn);
if (p_ptt == NULL) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s : ecore_ptt_acquire failed\n", __func__));
+ QL_DPRINT1(ha, "ecore_ptt_acquire failed\n");
return (-1);
}
ecore_mcp_get_mfw_ver(p_hwfn, p_ptt, mfw_ver, NULL);
@@ -5101,8 +5121,7 @@ qlnx_get_flash_size(qlnx_host_t *ha, uint32_t *flash_size)
p_ptt = ecore_ptt_acquire(p_hwfn);
if (p_ptt == NULL) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s : ecore_ptt_acquire failed\n", __func__));
+ QL_DPRINT1(ha,"ecore_ptt_acquire failed\n");
return (-1);
}
ecore_mcp_get_flash_size(p_hwfn, p_ptt, flash_size);
@@ -5150,6 +5169,8 @@ qlnx_init_fp(qlnx_host_t *ha)
snprintf(fp->name, sizeof(fp->name), "%s-fp-%d", qlnx_name_str,
rss_id);
+ fp->tx_ring_full = 0;
+
/* reset all the statistics counters */
fp->tx_pkts_processed = 0;
@@ -5203,11 +5224,11 @@ qlnx_sb_init(struct ecore_dev *cdev, struct ecore_sb_info *sb_info,
p_hwfn = &cdev->hwfns[hwfn_index];
rel_sb_id = sb_id / cdev->num_hwfns;
- QL_DPRINT2(((qlnx_host_t *)cdev), (((qlnx_host_t *)cdev)->pci_dev,
- "%s: hwfn_index = %d p_hwfn = %p sb_id = 0x%x rel_sb_id = 0x%x "
- "sb_info = %p sb_virt_addr = %p sb_phy_addr = %p\n",
- __func__, hwfn_index, p_hwfn, sb_id, rel_sb_id, sb_info,
- sb_virt_addr, (void *)sb_phy_addr));
+ QL_DPRINT2(((qlnx_host_t *)cdev),
+ "hwfn_index = %d p_hwfn = %p sb_id = 0x%x rel_sb_id = 0x%x \
+ sb_info = %p sb_virt_addr = %p sb_phy_addr = %p\n",
+ hwfn_index, p_hwfn, sb_id, rel_sb_id, sb_info,
+ sb_virt_addr, (void *)sb_phy_addr);
rc = ecore_int_sb_init(p_hwfn, p_hwfn->p_main_ptt, sb_info,
sb_virt_addr, sb_phy_addr, rel_sb_id);
@@ -5219,7 +5240,7 @@ qlnx_sb_init(struct ecore_dev *cdev, struct ecore_sb_info *sb_info,
static int
qlnx_alloc_mem_sb(qlnx_host_t *ha, struct ecore_sb_info *sb_info, u16 sb_id)
{
- struct status_block *sb_virt;
+ struct status_block_e4 *sb_virt;
bus_addr_t sb_phys;
int rc;
uint32_t size;
@@ -5231,14 +5252,12 @@ qlnx_alloc_mem_sb(qlnx_host_t *ha, struct ecore_sb_info *sb_info, u16 sb_id)
sb_virt = OSAL_DMA_ALLOC_COHERENT(cdev, (&sb_phys), size);
if (!sb_virt) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Status block allocation failed\n", __func__));
+ QL_DPRINT1(ha, "Status block allocation failed\n");
return -ENOMEM;
}
rc = qlnx_sb_init(cdev, sb_info, sb_virt, sb_phys, sb_id);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s: failed\n", __func__));
OSAL_DMA_FREE_COHERENT(cdev, sb_virt, sb_phys, size);
}
@@ -5334,8 +5353,7 @@ qlnx_alloc_rx_buffer(qlnx_host_t *ha, struct qlnx_rx_queue *rxq)
mp = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR, rx_buf_size);
if (mp == NULL) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s : Failed to allocate Rx data\n", __func__));
+ QL_DPRINT1(ha, "Failed to allocate Rx data\n");
return -ENOMEM;
}
@@ -5349,10 +5367,8 @@ qlnx_alloc_rx_buffer(qlnx_host_t *ha, struct qlnx_rx_queue *rxq)
if (ret || !dma_addr || (nsegs != 1)) {
m_freem(mp);
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: bus_dmamap_load failed[%d, 0x%016llx, %d]\n",
- __func__, ret, (long long unsigned int)dma_addr,
- nsegs));
+ QL_DPRINT1(ha, "bus_dmamap_load failed[%d, 0x%016llx, %d]\n",
+ ret, (long long unsigned int)dma_addr, nsegs);
return -ENOMEM;
}
@@ -5387,8 +5403,7 @@ qlnx_alloc_tpa_mbuf(qlnx_host_t *ha, uint16_t rx_buf_size,
mp = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR, rx_buf_size);
if (mp == NULL) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s : Failed to allocate Rx data\n", __func__));
+ QL_DPRINT1(ha, "Failed to allocate Rx data\n");
return -ENOMEM;
}
@@ -5402,10 +5417,8 @@ qlnx_alloc_tpa_mbuf(qlnx_host_t *ha, uint16_t rx_buf_size,
if (ret || !dma_addr || (nsegs != 1)) {
m_freem(mp);
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: bus_dmamap_load failed[%d, 0x%016llx, %d]\n",
- __func__, ret, (long long unsigned int)dma_addr,
- nsegs));
+ QL_DPRINT1(ha, "bus_dmamap_load failed[%d, 0x%016llx, %d]\n",
+ ret, (long long unsigned int)dma_addr, nsegs);
return -ENOMEM;
}
@@ -5502,13 +5515,11 @@ qlnx_alloc_mem_rxq(qlnx_host_t *ha, struct qlnx_rx_queue *rxq)
}
num_allocated = i;
if (!num_allocated) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Rx buffers allocation failed\n", __func__));
+ QL_DPRINT1(ha, "Rx buffers allocation failed\n");
goto err;
} else if (num_allocated < rxq->num_rx_buffers) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Allocated less buffers than"
- " desired (%d allocated)\n", __func__, num_allocated));
+ QL_DPRINT1(ha, "Allocated less buffers than"
+ " desired (%d allocated)\n", num_allocated);
}
#ifdef QLNX_SOFT_LRO
@@ -5520,16 +5531,14 @@ qlnx_alloc_mem_rxq(qlnx_host_t *ha, struct qlnx_rx_queue *rxq)
#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO)
if (tcp_lro_init_args(lro, ifp, 0, rxq->num_rx_buffers)) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: tcp_lro_init[%d] failed\n",
- __func__, rxq->rxq_id));
+ QL_DPRINT1(ha, "tcp_lro_init[%d] failed\n",
+ rxq->rxq_id);
goto err;
}
#else
if (tcp_lro_init(lro)) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: tcp_lro_init[%d] failed\n",
- __func__, rxq->rxq_id));
+ QL_DPRINT1(ha, "tcp_lro_init[%d] failed\n",
+ rxq->rxq_id);
goto err;
}
#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */
@@ -5653,9 +5662,9 @@ qlnx_alloc_tx_br(qlnx_host_t *ha, struct qlnx_fastpath *fp)
fp->tx_br = buf_ring_alloc(TX_RING_SIZE, M_DEVBUF,
M_NOWAIT, &fp->tx_mtx);
if (fp->tx_br == NULL) {
- QL_DPRINT1(ha, (ha->pci_dev, "buf_ring_alloc failed for "
- " fp[%d, %d]\n", ha->dev_unit, fp->rss_id));
- return -ENOMEM;
+ QL_DPRINT1(ha, "buf_ring_alloc failed for fp[%d, %d]\n",
+ ha->dev_unit, fp->rss_id);
+ return -ENOMEM;
}
return 0;
}
@@ -5762,7 +5771,7 @@ qlnx_start_vport(struct ecore_dev *cdev,
vport_start_params.mtu = mtu;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: setting mtu to %d\n", __func__, mtu));
+ QL_DPRINT2(ha, "Setting mtu to %d and VPORT ID = %d\n", mtu, vport_id);
for_each_hwfn(cdev, i) {
struct ecore_hwfn *p_hwfn = &cdev->hwfns[i];
@@ -5773,17 +5782,15 @@ qlnx_start_vport(struct ecore_dev *cdev,
rc = ecore_sp_vport_start(p_hwfn, &vport_start_params);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Failed to start VPORT V-PORT %d "
- "with MTU %d\n", __func__, vport_id, mtu));
+ QL_DPRINT1(ha, "Failed to start VPORT V-PORT %d"
+ " with MTU %d\n" , vport_id, mtu);
return -ENOMEM;
}
ecore_hw_start_fastpath(p_hwfn);
- QL_DPRINT2(ha, (ha->pci_dev,
- "%s: Started V-PORT %d with MTU %d\n",
- __func__, vport_id, mtu));
+ QL_DPRINT2(ha, "Started V-PORT %d with MTU %d\n",
+ vport_id, mtu);
}
return 0;
}
@@ -5821,8 +5828,10 @@ qlnx_update_vport(struct ecore_dev *cdev,
/* RSS - is a bit tricky, since upper-layer isn't familiar with hwfns.
* We need to re-fix the rss values per engine for CMT.
*/
-
+ if (params->rss_params->update_rss_config)
sp_params.rss_params = params->rss_params;
+ else
+ sp_params.rss_params = NULL;
for_each_hwfn(cdev, i) {
@@ -5844,8 +5853,7 @@ qlnx_update_vport(struct ecore_dev *cdev,
}
for (j = 0; j < ECORE_RSS_IND_TABLE_SIZE;) {
- QL_DPRINT3(ha, (ha->pci_dev,
- "%p %p %p %p %p %p %p %p \n",
+ QL_DPRINT3(ha, "%p %p %p %p %p %p %p %p \n",
rss->rss_ind_table[j],
rss->rss_ind_table[j+1],
rss->rss_ind_table[j+2],
@@ -5853,28 +5861,28 @@ qlnx_update_vport(struct ecore_dev *cdev,
rss->rss_ind_table[j+4],
rss->rss_ind_table[j+5],
rss->rss_ind_table[j+6],
- rss->rss_ind_table[j+7]));
+ rss->rss_ind_table[j+7]);
j += 8;
}
}
sp_params.opaque_fid = p_hwfn->hw_info.opaque_fid;
+
+ QL_DPRINT1(ha, "Update sp vport ID=%d\n", params->vport_id);
+
rc = ecore_sp_vport_update(p_hwfn, &sp_params,
ECORE_SPQ_MODE_EBLOCK, NULL);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s:Failed to update VPORT\n", __func__));
+ QL_DPRINT1(ha, "Failed to update VPORT\n");
return rc;
}
- QL_DPRINT2(ha, (ha->pci_dev,
- "%s: Updated V-PORT %d: tx_active_flag %d,"
- "rx_active_flag %d [tx_update %d], [rx_update %d]\n",
- __func__,
+ QL_DPRINT2(ha, "Updated V-PORT %d: tx_active_flag %d, \
+ rx_active_flag %d [tx_update %d], [rx_update %d]\n",
params->vport_id, params->vport_active_tx_flg,
params->vport_active_rx_flg,
params->update_vport_active_tx_flg,
- params->update_vport_active_rx_flg));
+ params->update_vport_active_rx_flg);
}
return 0;
@@ -5968,10 +5976,11 @@ qlnx_start_queues(qlnx_host_t *ha)
ifp = ha->ifp;
+ QL_DPRINT1(ha, "Num RSS = %d\n", ha->num_rss);
+
if (!ha->num_rss) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Cannot update V-VPORT as active as there"
- " are no Rx queues\n", __func__));
+ QL_DPRINT1(ha, "Cannot update V-VPORT as active as there"
+ " are no Rx queues\n");
return -EINVAL;
}
@@ -5983,15 +5992,13 @@ qlnx_start_queues(qlnx_host_t *ha)
vlan_removal_en, tx_switching, hw_lro_enable);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Start V-PORT failed %d\n", __func__, rc));
+ QL_DPRINT1(ha, "Start V-PORT failed %d\n", rc);
return rc;
}
- QL_DPRINT2(ha, (ha->pci_dev,
- "%s: Start vport ramrod passed,"
- " vport_id = %d, MTU = %d, vlan_removal_en = %d\n", __func__,
- vport_id, (int)(ifp->if_mtu + 0xe), vlan_removal_en));
+ QL_DPRINT2(ha, "Start vport ramrod passed, "
+ "vport_id = %d, MTU = %d, vlan_removal_en = %d\n",
+ vport_id, (int)(ifp->if_mtu + 0xe), vlan_removal_en);
for_each_rss(i) {
struct ecore_rxq_start_ret_params rx_ret_params;
@@ -6024,9 +6031,7 @@ qlnx_start_queues(qlnx_host_t *ha)
&rx_ret_params);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Start RXQ #%d failed %d\n", __func__,
- i, rc));
+ QL_DPRINT1(ha, "Start RXQ #%d failed %d\n", i, rc);
return rc;
}
@@ -6060,9 +6065,8 @@ qlnx_start_queues(qlnx_host_t *ha)
&tx_ret_params);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Start TXQ #%d failed %d\n",
- __func__, txq->index, rc));
+ QL_DPRINT1(ha, "Start TXQ #%d failed %d\n",
+ txq->index, rc);
return rc;
}
@@ -6142,8 +6146,7 @@ qlnx_start_queues(qlnx_host_t *ha)
rc = qlnx_update_vport(cdev, &vport_update_params);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Update V-PORT failed %d\n", __func__, rc));
+ QL_DPRINT1(ha, "Update V-PORT failed %d\n", rc);
return rc;
}
@@ -6157,7 +6160,7 @@ qlnx_drain_txq(qlnx_host_t *ha, struct qlnx_fastpath *fp,
uint16_t hw_bd_cons;
uint16_t ecore_cons_idx;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
hw_bd_cons = le16toh(*txq->hw_cons_ptr);
@@ -6175,8 +6178,7 @@ qlnx_drain_txq(qlnx_host_t *ha, struct qlnx_fastpath *fp,
hw_bd_cons = le16toh(*txq->hw_cons_ptr);
}
- QL_DPRINT2(ha, (ha->pci_dev, "%s[%d, %d]: done\n", __func__,
- fp->rss_id, txq->index));
+ QL_DPRINT2(ha, "[%d, %d]: done\n", fp->rss_id, txq->index);
return 0;
}
@@ -6206,10 +6208,11 @@ qlnx_stop_queues(qlnx_host_t *ha)
vport_update_params.update_inner_vlan_removal_flg = 0;
vport_update_params.inner_vlan_removal_flg = 0;
+ QL_DPRINT1(ha, "Update vport ID= %d\n", vport_update_params.vport_id);
+
rc = qlnx_update_vport(cdev, &vport_update_params);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s:Failed to update vport\n",
- __func__));
+ QL_DPRINT1(ha, "Failed to update vport\n");
return rc;
}
@@ -6242,9 +6245,8 @@ qlnx_stop_queues(qlnx_host_t *ha)
fp->txq[tc]->handle);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Failed to stop TXQ #%d\n",
- __func__, tx_queue_id));
+ QL_DPRINT1(ha, "Failed to stop TXQ #%d\n",
+ tx_queue_id);
return rc;
}
}
@@ -6253,8 +6255,7 @@ qlnx_stop_queues(qlnx_host_t *ha)
rc = ecore_eth_rx_queue_stop(p_hwfn, fp->rxq->handle, false,
false);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Failed to stop RXQ #%d\n", __func__, i));
+ QL_DPRINT1(ha, "Failed to stop RXQ #%d\n", i);
return rc;
}
}
@@ -6267,8 +6268,7 @@ qlnx_stop_queues(qlnx_host_t *ha)
rc = ecore_sp_vport_stop(p_hwfn, p_hwfn->hw_info.opaque_fid, 0);
if (rc) {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s: Failed to stop VPORT\n", __func__));
+ QL_DPRINT1(ha, "Failed to stop VPORT\n");
return rc;
}
}
@@ -6547,7 +6547,7 @@ qlnx_load(qlnx_host_t *ha)
cdev = &ha->cdev;
dev = ha->pci_dev;
- QL_DPRINT2(ha, (dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
rc = qlnx_alloc_mem_arrays(ha);
if (rc)
@@ -6559,8 +6559,8 @@ qlnx_load(qlnx_host_t *ha)
if (rc)
goto qlnx_load_exit1;
- QL_DPRINT2(ha, (dev, "%s: Allocated %d RSS queues on %d TC/s\n",
- __func__, ha->num_rss, ha->num_tc));
+ QL_DPRINT2(ha, "Allocated %d RSS queues on %d TC/s\n",
+ ha->num_rss, ha->num_tc);
for (i = 0; i < ha->num_rss; i++) {
@@ -6569,15 +6569,14 @@ qlnx_load(qlnx_host_t *ha)
NULL, qlnx_fp_isr, &ha->irq_vec[i],
&ha->irq_vec[i].handle))) {
- QL_DPRINT1(ha, (dev, "could not setup interrupt\n"));
-
+ QL_DPRINT1(ha, "could not setup interrupt\n");
goto qlnx_load_exit2;
}
- QL_DPRINT2(ha, (dev, "%s: rss_id = %d irq_rid %d"
- " irq %p handle %p\n", __func__, i,
+ QL_DPRINT2(ha, "rss_id = %d irq_rid %d \
+ irq %p handle %p\n", i,
ha->irq_vec[i].irq_rid,
- ha->irq_vec[i].irq, ha->irq_vec[i].handle));
+ ha->irq_vec[i].irq, ha->irq_vec[i].handle);
bus_bind_intr(dev, ha->irq_vec[i].irq, (i % mp_ncpus));
}
@@ -6586,8 +6585,7 @@ qlnx_load(qlnx_host_t *ha)
if (rc)
goto qlnx_load_exit2;
- QL_DPRINT2(ha, (dev, "%s: Start VPORT, RXQ and TXQ succeeded\n",
- __func__));
+ QL_DPRINT2(ha, "Start VPORT, RXQ and TXQ succeeded\n");
/* Add primary mac and set Rx filters */
rc = qlnx_set_rx_mode(ha);
@@ -6613,7 +6611,7 @@ qlnx_load_exit1:
ha->num_rss = 0;
qlnx_load_exit0:
- QL_DPRINT2(ha, (ha->pci_dev, "%s: exit [%d]\n", __func__, rc));
+ QL_DPRINT2(ha, "exit [%d]\n", rc);
return rc;
}
@@ -6670,7 +6668,8 @@ qlnx_unload(qlnx_host_t *ha)
cdev = &ha->cdev;
dev = ha->pci_dev;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__));
+ QL_DPRINT2(ha, "enter\n");
+ QL_DPRINT1(ha, " QLNX STATE = %d\n",ha->state);
if (ha->state == QLNX_STATE_OPEN) {
@@ -6700,7 +6699,7 @@ qlnx_unload(qlnx_host_t *ha)
ha->state = QLNX_STATE_CLOSED;
- QL_DPRINT2(ha, (ha->pci_dev, "%s: exit\n", __func__));
+ QL_DPRINT2(ha, "exit\n");
return;
}
@@ -6717,8 +6716,7 @@ qlnx_grc_dumpsize(qlnx_host_t *ha, uint32_t *num_dwords, int hwfn_index)
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s: ecore_ptt_acquire failed\n",
- __func__));
+ QL_DPRINT1(ha, "ecore_ptt_acquire failed\n");
return (rval);
}
@@ -6727,9 +6725,8 @@ qlnx_grc_dumpsize(qlnx_host_t *ha, uint32_t *num_dwords, int hwfn_index)
if (rval == DBG_STATUS_OK)
rval = 0;
else {
- QL_DPRINT1(ha, (ha->pci_dev,
- "%s : ecore_dbg_grc_get_dump_buf_size failed [0x%x]\n",
- __func__, rval));
+ QL_DPRINT1(ha, "ecore_dbg_grc_get_dump_buf_size failed"
+ "[0x%x]\n", rval);
}
ecore_ptt_release(p_hwfn, p_ptt);
@@ -6750,8 +6747,7 @@ qlnx_idle_chk_size(qlnx_host_t *ha, uint32_t *num_dwords, int hwfn_index)
p_ptt = ecore_ptt_acquire(p_hwfn);
if (!p_ptt) {
- QL_DPRINT1(ha, (ha->pci_dev, "%s: ecore_ptt_acquire failed\n",
- __func__));
+ QL_DPRINT1(ha, "ecore_ptt_acquire failed\n");
return (rval);
}
@@ -6760,9 +6756,8 @@ qlnx_idle_chk_size(qlnx_host_t *ha, uint32_t *num_dwords, int hwfn_index)
if (rval == DBG_STATUS_OK)
rval = 0;
else {
- QL_DPRINT1(ha, (ha->pci_dev, "%s : "
- "ecore_dbg_idle_chk_get_dump_buf_size failed [0x%x]\n",
- __func__, rval));
+ QL_DPRINT1(ha, "ecore_dbg_idle_chk_get_dump_buf_size failed"
+ " [0x%x]\n", rval);
}
ecore_ptt_release(p_hwfn, p_ptt);
diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.h b/sys/dev/qlnx/qlnxe/qlnx_os.h
index 55321f27..5c0f5b7 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_os.h
+++ b/sys/dev/qlnx/qlnxe/qlnx_os.h
@@ -92,6 +92,7 @@
#include <sys/kthread.h>
#include <sys/libkern.h>
#include <sys/smp.h>
+#include <sys/sched.h>
static __inline int qlnx_ms_to_hz(int ms)
{
@@ -138,10 +139,6 @@ MALLOC_DECLARE(M_QLNXBUF);
#define QLNX_LOCK(ha) mtx_lock(&ha->hw_lock)
#define QLNX_UNLOCK(ha) mtx_unlock(&ha->hw_lock)
-
-#define QLNX_TX_LOCK(ha) mtx_lock(&ha->tx_lock);
-#define QLNX_TX_UNLOCK(ha) mtx_unlock(&ha->tx_lock);
-
/*
* structure encapsulating a DMA buffer
*/
diff --git a/sys/dev/qlnx/qlnxe/qlnx_ver.h b/sys/dev/qlnx/qlnxe/qlnx_ver.h
index b95868e..0dff764 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_ver.h
+++ b/sys/dev/qlnx/qlnxe/qlnx_ver.h
@@ -38,6 +38,6 @@
*/
#define QLNX_VERSION_MAJOR 1
-#define QLNX_VERSION_MINOR 3
-#define QLNX_VERSION_BUILD 0
+#define QLNX_VERSION_MINOR 4
+#define QLNX_VERSION_BUILD 5
diff --git a/sys/dev/qlnx/qlnxe/rdma_common.h b/sys/dev/qlnx/qlnxe/rdma_common.h
index e60317d..8bc4191 100644
--- a/sys/dev/qlnx/qlnxe/rdma_common.h
+++ b/sys/dev/qlnx/qlnxe/rdma_common.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __RDMA_COMMON__
#define __RDMA_COMMON__
/************************/
diff --git a/sys/dev/qlnx/qlnxe/reg_addr.h b/sys/dev/qlnx/qlnxe/reg_addr.h
index 45877f6..f915a60 100644
--- a/sys/dev/qlnx/qlnxe/reg_addr.h
+++ b/sys/dev/qlnx/qlnxe/reg_addr.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef REG_ADDR_H
#define REG_ADDR_H
@@ -7337,7 +7336,7 @@
#define PCIEIP_SHADOW_REG_SRIOV_BAR5_MASK_REG_PCI_SRIOV_BAR5_ENABLED_K2_E5_SHIFT 0
#define PCIEIP_SHADOW_REG_SRIOV_BAR5_MASK_REG_PCI_SRIOV_BAR5_MASK_K2_E5 (0x7fffffff<<1) // BAR5 Mask. Note: The access attributes of this field are as follows: - Dbi: No access - Dbi2: W (sticky) Note: This register field is sticky.
#define PCIEIP_SHADOW_REG_SRIOV_BAR5_MASK_REG_PCI_SRIOV_BAR5_MASK_K2_E5_SHIFT 1
-#define SEM_FAST_REG_RAM_EXT_DISABLE 0x000004UL //Access:RW DataWidth:0x1 // Disable for SDM write to int_ram.
+#define SEM_FAST_REG_RAM_EXT_DISABLE_BB_K2 0x000004UL //Access:RW DataWidth:0x1 // Disable for SDM write to int_ram.
#define SEM_FAST_REG_INT_STS 0x000040UL //Access:R DataWidth:0x1 // Multi Field Register.
#define SEM_FAST_REG_INT_STS_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define SEM_FAST_REG_INT_STS_ADDRESS_ERROR_SHIFT 0
@@ -7352,22 +7351,34 @@
#define SEM_FAST_REG_INT_STS_CLR_ADDRESS_ERROR_SHIFT 0
#define SEM_FAST_REG_ERROR_RST 0x000050UL //Access:W DataWidth:0x1 // Reset to error interrupt.
#define SEM_FAST_REG_PARITY_RST 0x000054UL //Access:W DataWidth:0x1 // Reset to parity interrupt.
-#define SEM_FAST_REG_PRTY_MASK_H_0_K2 0x000204UL //Access:RW DataWidth:0x7 // Multi Field Register.
- #define SEM_FAST_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
- #define SEM_FAST_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_SHIFT 0
- #define SEM_FAST_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define SEM_FAST_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_SHIFT 1
- #define SEM_FAST_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
- #define SEM_FAST_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2_SHIFT 2
+#define SEM_FAST_REG_PRTY_MASK_H_0_K2_E5 0x000204UL //Access:RW DataWidth:0x8 // Multi Field Register.
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_E5 (0x1<<0) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_E5_SHIFT 0
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_E5 (0x1<<1) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_E5_SHIFT 1
#define SEM_FAST_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
#define SEM_FAST_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_SHIFT 3
- #define SEM_FAST_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
- #define SEM_FAST_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_SHIFT 4
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5_SHIFT 2
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2_SHIFT 2
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5_SHIFT 3
#define SEM_FAST_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
#define SEM_FAST_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_SHIFT 5
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5_SHIFT 4
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_SHIFT 4
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5_SHIFT 5
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5_SHIFT 6
#define SEM_FAST_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
#define SEM_FAST_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2_SHIFT 6
-#define SEM_FAST_REG_MEM_ECC_EVENTS_K2 0x000210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: SEM_FAST_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define SEM_FAST_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5_SHIFT 7
+#define SEM_FAST_REG_MEM_ECC_EVENTS_K2_E5 0x000210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define SEM_FAST_REG_RESERVED_21C_K2 0x00021cUL //Access:R DataWidth:0x20 // Reserved
#define SEM_FAST_REG_RESERVED_228_K2 0x000228UL //Access:R DataWidth:0x20 // Reserved
#define SEM_FAST_REG_RESERVED_234_K2 0x000234UL //Access:R DataWidth:0x20 // Reserved
@@ -7577,23 +7588,23 @@
#define VFC_REG_INTERRUPT_IND_INP_BUF_INTERRUPT_SHIFT 3
#define VFC_REG_INTERRUPT_IND_OUT_BUF_INTERRUPT (0x1<<4) // This is error interrupt. It may be asserted when it was output buffer overflow.
#define VFC_REG_INTERRUPT_IND_OUT_BUF_INTERRUPT_SHIFT 4
+ #define VFC_REG_INTERRUPT_IND_RSS_INFO_INTERRUPT (0x1<<5) // This is error interrupt. It may be asserted when it was address overflow of INFO part of RSS RAM. It will be de-asserted aftre write 1 to it.
+ #define VFC_REG_INTERRUPT_IND_RSS_INFO_INTERRUPT_SHIFT 5
+ #define VFC_REG_INTERRUPT_IND_RSS_KEY_LSB_INTERRUPT (0x1<<6) // This is error interrupt. It may be asserted when it was address overflow of KEY LSB part of RSS RAM. It will be de-asserted aftre write 1 to it.
+ #define VFC_REG_INTERRUPT_IND_RSS_KEY_LSB_INTERRUPT_SHIFT 6
+ #define VFC_REG_INTERRUPT_IND_RSS_KEY_MSB_INTERRUPT (0x1<<7) // This is error interrupt. It may be asserted when it was address overflow of KEY MSB part of RSS RAM. It will be de-asserted aftre write 1 to it.
+ #define VFC_REG_INTERRUPT_IND_RSS_KEY_MSB_INTERRUPT_SHIFT 7
#define VFC_REG_INTERRUPT_IND_RBC_WRITE_INTERRUPT (0x1<<8) // This is error interrupt. It may be asserted when it was RBC command with address not equal to 12 bit or data cycle not equal 64 bit or number of data cycles bigger than 6. It will be de-asserted aftre write 1 to it.
#define VFC_REG_INTERRUPT_IND_RBC_WRITE_INTERRUPT_SHIFT 8
#define VFC_REG_INTERRUPT_IND_DEADLOCK_INTERRUPT (0x1<<9) // This is error interrupt. It may be asserted when waitp is asserted and output FIFO is also full. It will be de-asserted aftre write 1 to it.
#define VFC_REG_INTERRUPT_IND_DEADLOCK_INTERRUPT_SHIFT 9
- #define VFC_REG_INTERRUPT_IND_RSS_INFO_INTERRUPT_BB_K2 (0x1<<5) // This is error interrupt. It may be asserted when it was address overflow of INFO part of RSS RAM. It will be de-asserted aftre write 1 to it.
- #define VFC_REG_INTERRUPT_IND_RSS_INFO_INTERRUPT_BB_K2_SHIFT 5
- #define VFC_REG_INTERRUPT_IND_RSS_KEY_LSB_INTERRUPT_BB_K2 (0x1<<6) // This is error interrupt. It may be asserted when it was address overflow of KEY LSB part of RSS RAM. It will be de-asserted aftre write 1 to it.
- #define VFC_REG_INTERRUPT_IND_RSS_KEY_LSB_INTERRUPT_BB_K2_SHIFT 6
- #define VFC_REG_INTERRUPT_IND_RSS_KEY_MSB_INTERRUPT_BB_K2 (0x1<<7) // This is error interrupt. It may be asserted when it was address overflow of KEY MSB part of RSS RAM. It will be de-asserted aftre write 1 to it.
- #define VFC_REG_INTERRUPT_IND_RSS_KEY_MSB_INTERRUPT_BB_K2_SHIFT 7
#define VFC_REG_PARITY_IND 0x00002cUL //Access:RW DataWidth:0x3 // Multi Field Register.
+ #define VFC_REG_PARITY_IND_RSS_RAM_PARITY (0x1<<0) // This is parity interrupt. It may be asserted when it was RSS RAM parity error. It will be de-asserted aftre write 1 to it.
+ #define VFC_REG_PARITY_IND_RSS_RAM_PARITY_SHIFT 0
#define VFC_REG_PARITY_IND_CAM_PARITY (0x1<<1) // This is parity interrupt. It may be asserted when it was CAM parity error. It will be de-asserted aftre write 1 to it.
#define VFC_REG_PARITY_IND_CAM_PARITY_SHIFT 1
#define VFC_REG_PARITY_IND_TT_RAM_PARITY (0x1<<2) // This is parity interrupt. It may be asserted when it was parity error inside TT RAM. It will be de-asserted aftre write 1 to it.
#define VFC_REG_PARITY_IND_TT_RAM_PARITY_SHIFT 2
- #define VFC_REG_PARITY_IND_RSS_RAM_PARITY_BB_K2 (0x1<<0) // This is parity interrupt. It may be asserted when it was RSS RAM parity error. It will be de-asserted aftre write 1 to it.
- #define VFC_REG_PARITY_IND_RSS_RAM_PARITY_BB_K2_SHIFT 0
#define VFC_REG_INDICATIONS1 0x000030UL //Access:R DataWidth:0x12 // Multi Field Register.
#define VFC_REG_INDICATIONS1_INP_FIFO_EMPTY (0x1<<0) // Empty indication from input FIFO.
#define VFC_REG_INDICATIONS1_INP_FIFO_EMPTY_SHIFT 0
@@ -7642,22 +7653,22 @@
#define VFC_REG_MEMORIES_RST 0x00003cUL //Access:RW DataWidth:0x3 // Multi Field Register.
#define VFC_REG_MEMORIES_RST_CAM_RST (0x1<<0) // Write 1 to this bit will cause reset of all CAM rows including valid bit and all bits in a row. Write 0 to it will have no effect. Read 1 from this bit means that CAM reset was finished. Read 0 from this bit means that CAM reset was never done or not finished.
#define VFC_REG_MEMORIES_RST_CAM_RST_SHIFT 0
+ #define VFC_REG_MEMORIES_RST_RAM_RST (0x1<<1) // Write 1 to this bit will cause reset of all RSS RAM rows. Write 0 to it will have no effect. Read 1 from this bit means that RAM reset is in progress. Read 0 from this bit means that RAM reset was finished.
+ #define VFC_REG_MEMORIES_RST_RAM_RST_SHIFT 1
#define VFC_REG_MEMORIES_RST_TT_RST (0x1<<2) // Write 1 to this bit will cause reset of all Target tables rows. Write 0 to it will have no effect. Read 1 from this bit means that RAM reset was finished. Read 1 from this bit means that TT RAM reset is in progress. Read 0 from this bit means that TT RAM reset was finished.
#define VFC_REG_MEMORIES_RST_TT_RST_SHIFT 2
- #define VFC_REG_MEMORIES_RST_RAM_RST_BB_K2 (0x1<<1) // Write 1 to this bit will cause reset of all RSS RAM rows. Write 0 to it will have no effect. Read 1 from this bit means that RAM reset is in progress. Read 0 from this bit means that RAM reset was finished.
- #define VFC_REG_MEMORIES_RST_RAM_RST_BB_K2_SHIFT 1
#define VFC_REG_CAM_PARITY_EN 0x000040UL //Access:RW DataWidth:0x1 // REQUIRED -If this bit is set then background mechanism for parity check will be enabled; 0 - disabled. This bit must be disabled in palladium and FPGA. Init value of 1 must be done in a chip mode
#define VFC_REG_CAM_CLK_DIVIDER 0x000044UL //Access:RW DataWidth:0x4 // Cam clock divider : may be equal to 2 only.
#define VFC_REG_PARITY_MASK 0x000048UL //Access:RW DataWidth:0x3 // REQUIRED - 0 - parity is enabled;1 parity check is disabled.
#define VFC_REG_INTERRUPT_MASK 0x00004cUL //Access:RW DataWidth:0xa // REQUIRED - 0 - interrupt is enabled;1- interrupt check is disabled.
-#define VFC_REG_RSS_RAM_TM_0_BB_K2 0x000050UL //Access:RW DataWidth:0x5 // TM indication for RSS RAM instance 0.
-#define VFC_REG_RSS_RAM_TM_1_BB_K2 0x000054UL //Access:RW DataWidth:0x5 // TM indication for RSS RAM instance 1.
+#define VFC_REG_RSS_RAM_TM_0 0x000050UL //Access:RW DataWidth:0x5 // TM indication for RSS RAM instance 0.
+#define VFC_REG_RSS_RAM_TM_1 0x000054UL //Access:RW DataWidth:0x5 // TM indication for RSS RAM instance 1.
#define VFC_REG_INP_FIFO_TM 0x000058UL //Access:RW DataWidth:0x2 // TM indication for Input fifo.
#define VFC_REG_CAM_TM 0x00005cUL //Access:RW DataWidth:0x14 // TM indication for CAM.
#define VFC_REG_VFC_CAM_BIST_EN 0x000060UL //Access:RW DataWidth:0x1 // Bist enable bit for Cam.
#define VFC_REG_VFC_CAM_BIST_DBG_SEL 0x000064UL //Access:RW DataWidth:0x8 // This select the type of data present on bist_status bus (slixe or status select).
#define VFC_REG_VFC_CAM_BIST_STATUS 0x000068UL //Access:R DataWidth:0x20 // This returns the bist_status which can be done/go/sX_status.
-#define VFC_REG_KEY_RSS_EXT5_BB_K2 0x00006cUL //Access:RW DataWidth:0x8 // Key extension for 5th tuple.
+#define VFC_REG_KEY_RSS_EXT5 0x00006cUL //Access:RW DataWidth:0x8 // Key extension for 5th tuple.
#define VFC_REG_INP_FIFO_ALM_FULL 0x000070UL //Access:RW DataWidth:0x5 // Almost full for input FIFO. When number of entries inside input FIFO is bigger or equal to this number then waitp to STORM will be asserted.
#define VFC_REG_STORM_CMD_DISABLE 0x000074UL //Access:RW DataWidth:0x1 // When set then it disables selecting of commands from STORM. It will allow for RBC to configurate block. STORM command may be executed when this bit will be deasserted.
#define VFC_REG_WAITP_STAT 0x000078UL //Access:RC DataWidth:0x20 // Statistics for number of cycles when waitp was raised to STORM as a result of full input FIFO. This vector will be reset after reading from it. It is also possible to write to it.
@@ -7712,37 +7723,37 @@
#define VFC_REG_INP_FIFO_DBG_RD_EN 0x00011cUL //Access:RW DataWidth:0x1 // Input FIFO debug enable.
#define VFC_REG_INP_FIFO_DBG_RD_ADD 0x000120UL //Access:RW DataWidth:0x4 // Input FIFO debug address.
#define VFC_REG_CAM_BIST_SKIP_ERROR_CNT 0x000124UL //Access:RW DataWidth:0x8 // Provides a threshold for the number of CAM BIST errors that are acceptable before reporting CAM BIST failure status.
-#define VFC_REG_PRTY_MASK_H_0_BB_K2 0x000204UL //Access:RW DataWidth:0x6 // Multi Field Register.
- #define VFC_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
- #define VFC_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define VFC_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
- #define VFC_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2_SHIFT 1
- #define VFC_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
- #define VFC_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_SHIFT 2
- #define VFC_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define VFC_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 3
- #define VFC_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define VFC_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 4
- #define VFC_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define VFC_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 5
+#define VFC_REG_PRTY_MASK_H_0 0x000204UL //Access:RW DataWidth:0x6 // Multi Field Register.
+ #define VFC_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
+ #define VFC_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_SHIFT 0
+ #define VFC_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
+ #define VFC_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_SHIFT 1
+ #define VFC_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_E5 (0x1<<2) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define VFC_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_E5_SHIFT 2
+ #define VFC_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<3) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define VFC_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 3
+ #define VFC_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY (0x1<<4) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define VFC_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_SHIFT 4
+ #define VFC_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<5) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define VFC_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 5
#define VFC_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: VFC_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define VFC_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_SHIFT 2
-#define VFC_REG_MEM_ECC_ENABLE_0_BB_K2 0x000210UL //Access:RW DataWidth:0x2 // Multi Field Register.
- #define VFC_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_tt1_ram.i_ecc in module vfc_mem_tt1_4port
- #define VFC_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2_SHIFT 0
- #define VFC_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_mtt2_ram.i_ecc in module vfc_mem_mtt2_4port
- #define VFC_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2_SHIFT 1
-#define VFC_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x000214UL //Access:RW DataWidth:0x2 // Multi Field Register.
- #define VFC_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_tt1_ram.i_ecc in module vfc_mem_tt1_4port
- #define VFC_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2_SHIFT 0
- #define VFC_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_mtt2_ram.i_ecc in module vfc_mem_mtt2_4port
- #define VFC_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2_SHIFT 1
-#define VFC_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x000218UL //Access:RC DataWidth:0x2 // Multi Field Register.
- #define VFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_tt1_ram.i_ecc in module vfc_mem_tt1_4port
- #define VFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2_SHIFT 0
- #define VFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_mtt2_ram.i_ecc in module vfc_mem_mtt2_4port
- #define VFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2_SHIFT 1
-#define VFC_REG_MEM_ECC_EVENTS_BB_K2 0x00021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define VFC_REG_MEM_ECC_ENABLE_0 0x000210UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define VFC_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN (0x1<<0) // Enable ECC for memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_tt1_ram.i_ecc in module vfc_mem_tt1_4port
+ #define VFC_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_SHIFT 0
+ #define VFC_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN (0x1<<1) // Enable ECC for memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_mtt2_ram.i_ecc in module vfc_mem_mtt2_4port
+ #define VFC_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_SHIFT 1
+#define VFC_REG_MEM_ECC_PARITY_ONLY_0 0x000214UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define VFC_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY (0x1<<0) // Set parity only for memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_tt1_ram.i_ecc in module vfc_mem_tt1_4port
+ #define VFC_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_SHIFT 0
+ #define VFC_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY (0x1<<1) // Set parity only for memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_mtt2_ram.i_ecc in module vfc_mem_mtt2_4port
+ #define VFC_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_SHIFT 1
+#define VFC_REG_MEM_ECC_ERROR_CORRECTED_0 0x000218UL //Access:RC DataWidth:0x2 // Multi Field Register.
+ #define VFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT (0x1<<0) // Record if a correctable error occurred on memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_tt1_ram.i_ecc in module vfc_mem_tt1_4port
+ #define VFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_SHIFT 0
+ #define VFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance vfc.VFC_TT_RAMS_K2_GEN_IF.i_mtt2_ram.i_ecc in module vfc_mem_mtt2_4port
+ #define VFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_SHIFT 1
+#define VFC_REG_MEM_ECC_EVENTS 0x00021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define PB_REG_INT_STS 0x000040UL //Access:R DataWidth:0x9 // Multi Field Register.
#define PB_REG_INT_STS_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PB_REG_INT_STS_ADDRESS_ERROR_SHIFT 0
@@ -33442,13 +33453,13 @@
#define MISC_REG_RESET_CONFIG 0x008040UL //Access:RW DataWidth:0x20 // Reset configuration register. inside order of the bits is: [0] rst_pswrq_auto_mode (0- no auto deassertion; 1 - auto deassertion); [1] rst_pswrd_auto_mode (0- no auto deassertion; 1 - auto deassertion); [2] rst_pswwr_auto_mode (0- no auto deassertion; 1 - auto deassertion); [3] rst_pswhst_auto_mode (0- no auto deassertion; 1 - auto deassertion); [4] reserved; [5] rst_rbcp_auto_mode (0- no auto deassertion; 1 - auto deassertion); [6] rst_dmae_assert_on_core_rst(0 - no; 1 - yes); [7-12] reserved; [13] rst_dbg_auto_mode (0- no auto deassertion; 1 - auto deassertion); [14] rst_misc_core_auto_mode (0- no auto deassertion; 1 - auto deassertion); [15] reserved; [16] grc_reset_assert_on_core_rst (0 - no; 1 - yes); [17] reserved; [18] rst_rbcz_assert_on_core_rst(0 - no; 1 - yes); [19] rst_rbc{n|h}_assert_on_core_rst(0 - no; 1 - yes); [20] rst_dbg_assert_on_core_rst (0 - no; 1 - yes); [21] rst_misc_core_assert_on_core_rst (0 - no; 1 - yes); [22] rst_wol_assert_on_core_rst; [23]wrappers_iddq_and_rst_signals_assert_on_core_rst (0 - no; 1 - yes); [24] rst_atc_auto_mode (0- no auto deassertion;1 - auto deassertion); [25] rst_clk_pb_auto_mode (0- no auto deassertion;1 - auto deassertion); [26-31] reserved; Reset on hard reset.
#define MISC_REG_RESET_PL_UA 0x008050UL //Access:RW DataWidth:0x20 // Reset_reg: Non-shared blocks which are reset only by the MCP (PL=UA); Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_misc_core; [1] rst_grc; [2] rst_rbcn; [3] rst_rbcz; [4] reserved;
#define MISC_REG_RESET_PL_UA_SIZE 3
-#define MISC_REG_RESET_PL_HV 0x008060UL //Access:RW DataWidth:0x20 // Reset_reg: Non-shared blocks which can be reset also by driver in HV (PL=HV); Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_pswhst; [1] rst_pswrq; [2] rst_pswrd; [3] rst_pswwr; [4] rst_atc; [5] rst_clk_pb;
+#define MISC_REG_RESET_PL_HV 0x008060UL //Access:RW DataWidth:0x20 // Reset_reg: Non-shared blocks which can be reset also by driver in HV (PL=HV); Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_pswhst; [1] rst_pswrq; [2] rst_pswrd; [3] rst_pswwr; [4] rst_atc;
#define MISC_REG_RESET_PL_HV_SIZE 3
-#define MISC_REG_RESET_PL_PDA_VMAIN_1 0x008070UL //Access:RW DataWidth:0x20 // Reset_reg: Unprotected non-shared blocks: Will include the reset of the blocks which can be reset by all types of PF drivers (PL=PDA) Vmain domain; Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_brb; [1] rst_prs; [2] rst_src; [3] rst_tsdm; [4] rst_tsem; [5] rst_tcm; [6] rst_rbcr;[7] rst_usdm; [8]rst_ucm; [9] rst_usem; [10] rst_btb; [11] rst_pbf_pb1; [12] rst_pbf_pb2; [13] rst_rpb; [14] rst_rbcu; [15] rst_pbf; [16] rst_qm; [17] rst_tm; [18] rst_dorq; [19] rst_xcm; [20] rst_xsdm; [21] rst_xsem; [22] rst_rbct; [23] rst_cdu; [24] rst_ccfc;[25] rst_tcfc;[26] rst_rbcp; [27] rst_igu; [28] rst_dmae; [29] rst_semi_rtc;.
+#define MISC_REG_RESET_PL_PDA_VMAIN_1 0x008070UL //Access:RW DataWidth:0x20 // Reset_reg: Unprotected non-shared blocks: Will include the reset of the blocks which can be reset by all types of PF drivers (PL=PDA) Vmain domain; Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_brb; [1] rst_prs; [2] rst_src; [3] rst_tsdm; [4] rst_tsem; [5] rst_tcm; [6] rst_rbcr;[7] rst_usdm; [8]rst_ucm; [9] rst_usem; [10] rst_btb; [11] rst_pbf_pb1; [12] rst_pbf_pb2; [13] rst_rpb; [14] rst_rbcu; [15] rst_pbf; [16] rst_qm; [17] rst_tm; [18] rst_dorq; [19] rst_xcm; [20] rst_xsdm; [21] rst_xsem; [22] rst_rbct; [23] rst_cdu; [24] rst_ccfc;[25] rst_tcfc;[26] reserved; [27] rst_igu; [28] rst_dmae; [29]rst_semi_rtc; [30] rst_rgsrc; [31] rst_tgsrc;
#define MISC_REG_RESET_PL_PDA_VMAIN_1_SIZE 3
-#define MISC_REG_RESET_PL_PDA_VMAIN_2 0x008080UL //Access:RW DataWidth:0x20 // Reset_reg: Unprotected non-shared blocks: Will include the reset of the blocks which can be reset by all types of PF drivers (PL=PDA) Vmain domain; Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_rbcf; [1] rst_rbcx; [2] rst_rbcs; [3] rst_mcm; [4] rst_pcm; [5] rst_ycm; [6] rst_msdm; [7] rst_psdm; [8] rst_ysdm; [9] rst_msem; [10] rst_psem; [11] rst_ysem; [12] rst_xyld; [13] rst_tmld; [14] rst_muld; [15] Reserved; [16] rst_rdif; [17] rst_tdif; [18] rst_rss; [19] rst_cau; [20] rst_ptu; [21] rst_prm; [22] rst_rbcy; [23] rst_rbcq; [24] rst_rbcm; [25] rst_rbcb; [26] rst_rbcv; [26] rst_ypld; [27] rst_ptld; [28] rst_rgfs; [26] rst_tgfs; [31] Reserved.
+#define MISC_REG_RESET_PL_PDA_VMAIN_2 0x008080UL //Access:RW DataWidth:0x20 // Reset_reg: Unprotected non-shared blocks: Will include the reset of the blocks which can be reset by all types of PF drivers (PL=PDA) Vmain domain; Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_rbcf; [1] rst_rbcx; [2] rst_rbcs; [3] rst_mcm; [4] rst_pcm; [5] rst_ycm; [6] rst_msdm; [7] rst_psdm; [8] rst_ysdm; [9] rst_msem; [10] rst_psem; [11] rst_ysem; [12] rst_xyld; [13] rst_tmld; [14] rst_muld; [15] rst_rbcp; [16] rst_rdif; [17] rst_tdif; [18] rst_rss; [19] rst_cau; [20] rst_ptu; [21] rst_prm; [22] rst_rbcy; [23] rst_rbcq; [24] rst_rbcm; [25] Reserved; [26] rst_rbcv; [27] rst_ypld; [28] rst_ptld; [29] rst_rgfs; [30] rst_tgfs; [31] rst_clk_pb;.
#define MISC_REG_RESET_PL_PDA_VMAIN_2_SIZE 3
-#define MISC_REG_RESET_PL_PDA_VAUX 0x008090UL //Access:RW DataWidth:0x20 // Reset_reg: Unprotected non-shared blocks: Will include the reset of the blocks which can be reset by all types of PF drivers (PL=PDA) Vaux domain; Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_nig; [1] rst_rbch; [2] rst_nig_hard; [3] rst_dbg; [6:4] reserved; [7] rst_wol; [8] rst_wol_hard; [9] rst_bmbn;
+#define MISC_REG_RESET_PL_PDA_VAUX 0x008090UL //Access:RW DataWidth:0x20 // Reset_reg: Unprotected non-shared blocks: Will include the reset of the blocks which can be reset by all types of PF drivers (PL=PDA) Vaux domain; Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_nig; [1] rst_rbch; [2] rst_nig_hard; [3] rst_dbg; [6:4] reserved; [7] rst_wol; [8] rst_wol_hard; [9] rst_bmbn.
#define MISC_REG_RESET_PL_PDA_VAUX_SIZE 3
#define MISC_REG_RESET_PL_UA_VMAIN_BB 0x0080a0UL //Access:RW DataWidth:0x4 // Reset_reg: Non-shared blocks which are reset only by the MCP (PL=UA); Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_vmain_pd_ars;
#define MISC_REG_RESET_PL_UA_VMAIN_SIZE 3
@@ -33511,7 +33522,7 @@
#define MISC_REG_AEU_ENABLE6_IGU_OUT_0 0x0084b0UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output0. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_IGU_OUT_0 0x0084b4UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output0. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_IGU_OUT_0 0x0084b8UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output0. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_IGU_OUT_0 0x0084bcUL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output0. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_IGU_OUT_0 0x0084bcUL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output0. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_IGU_OUT_1 0x0084c0UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output1. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_IGU_OUT_1 0x0084c4UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output1. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_IGU_OUT_1 0x0084c8UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output1. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33520,7 +33531,7 @@
#define MISC_REG_AEU_ENABLE6_IGU_OUT_1 0x0084d4UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output1. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_IGU_OUT_1 0x0084d8UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output1. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_IGU_OUT_1 0x0084dcUL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output1. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_IGU_OUT_1 0x0084e0UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output1. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_IGU_OUT_1 0x0084e0UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output1. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_IGU_OUT_2 0x0084e4UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output2. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_IGU_OUT_2 0x0084e8UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output2. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_IGU_OUT_2 0x0084ecUL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output2. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33529,7 +33540,7 @@
#define MISC_REG_AEU_ENABLE6_IGU_OUT_2 0x0084f8UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output2. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_IGU_OUT_2 0x0084fcUL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output2. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_IGU_OUT_2 0x008500UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output2. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_IGU_OUT_2 0x008504UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output2. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_IGU_OUT_2 0x008504UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output2. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_IGU_OUT_3 0x008508UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output3. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_IGU_OUT_3 0x00850cUL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output3. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_IGU_OUT_3 0x008510UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output3. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33538,7 +33549,7 @@
#define MISC_REG_AEU_ENABLE6_IGU_OUT_3 0x00851cUL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output3. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_IGU_OUT_3 0x008520UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output3. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_IGU_OUT_3 0x008524UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output3. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_IGU_OUT_3 0x008528UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output3. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_IGU_OUT_3 0x008528UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output3. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_IGU_OUT_4 0x00852cUL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output4. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_IGU_OUT_4 0x008530UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output4. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_IGU_OUT_4 0x008534UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output4. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33547,7 +33558,7 @@
#define MISC_REG_AEU_ENABLE6_IGU_OUT_4 0x008540UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output4. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_IGU_OUT_4 0x008544UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output4. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_IGU_OUT_4 0x008548UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output4. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_IGU_OUT_4 0x00854cUL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output4. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_IGU_OUT_4 0x00854cUL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output4. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_IGU_OUT_5 0x008550UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output5. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_IGU_OUT_5 0x008554UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output5. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_IGU_OUT_5 0x008558UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output5. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33556,7 +33567,7 @@
#define MISC_REG_AEU_ENABLE6_IGU_OUT_5 0x008564UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output5. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_IGU_OUT_5 0x008568UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output5. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_IGU_OUT_5 0x00856cUL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output5. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_IGU_OUT_5 0x008570UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output5. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_IGU_OUT_5 0x008570UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output5. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_IGU_OUT_6 0x008574UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output6. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_IGU_OUT_6 0x008578UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output6. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_IGU_OUT_6 0x00857cUL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output6. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33565,7 +33576,7 @@
#define MISC_REG_AEU_ENABLE6_IGU_OUT_6 0x008588UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output6. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_IGU_OUT_6 0x00858cUL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output6. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_IGU_OUT_6 0x008590UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output6. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_IGU_OUT_6 0x008594UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output6. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_IGU_OUT_6 0x008594UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output6. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_IGU_OUT_7 0x008598UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output7. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_IGU_OUT_7 0x00859cUL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output7. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_IGU_OUT_7 0x0085a0UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output7. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33574,7 +33585,7 @@
#define MISC_REG_AEU_ENABLE6_IGU_OUT_7 0x0085acUL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output7. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_IGU_OUT_7 0x0085b0UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output7. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_IGU_OUT_7 0x0085b4UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output7. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_IGU_OUT_7 0x0085b8UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output7. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_IGU_OUT_7 0x0085b8UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output7. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_NIG 0x0085bcUL //Access:RW DataWidth:0x20 // First 32b for enabling the output for close the gate nig. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_NIG 0x0085c0UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for close the gate nig. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_NIG 0x0085c4UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for close the gate nig. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33583,7 +33594,7 @@
#define MISC_REG_AEU_ENABLE6_NIG 0x0085d0UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for close the gate nig. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_NIG 0x0085d4UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for close the gate nig. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_NIG 0x0085d8UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for close the gate nig. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_NIG 0x0085dcUL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for close the gate nig. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_NIG 0x0085dcUL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for close the gate nig. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_PXP 0x0085e0UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for close the gate pxp. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_PXP 0x0085e4UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for close the gate pxp. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_PXP 0x0085e8UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for close the gate pxp. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33592,7 +33603,7 @@
#define MISC_REG_AEU_ENABLE6_PXP 0x0085f4UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for close the gate pxp. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_PXP 0x0085f8UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for close the gate pxp. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_PXP 0x0085fcUL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for close the gate pxp. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_PXP 0x008600UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for close the gate pxp. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_PXP 0x008600UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for close the gate pxp. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_SYS_KILL 0x008604UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for system kill. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_SYS_KILL 0x008608UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for system kill. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_SYS_KILL 0x00860cUL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for system kill. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33601,7 +33612,7 @@
#define MISC_REG_AEU_ENABLE6_SYS_KILL 0x008618UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for system kill. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_SYS_KILL 0x00861cUL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for system kill. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_SYS_KILL 0x008620UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for system kill. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_SYS_KILL 0x008624UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for system kill. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_SYS_KILL 0x008624UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for system kill. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_MCP_OUT_0 0x008628UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output0. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_MCP_OUT_0 0x00862cUL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output0. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_MCP_OUT_0 0x008630UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output0. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33610,7 +33621,7 @@
#define MISC_REG_AEU_ENABLE6_MCP_OUT_0 0x00863cUL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output0. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_MCP_OUT_0 0x008640UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output0. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_MCP_OUT_0 0x008644UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output0. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_MCP_OUT_0 0x008648UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output0. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_MCP_OUT_0 0x008648UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output0. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_MCP_OUT_1 0x00864cUL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output1. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_MCP_OUT_1 0x008650UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output1. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_MCP_OUT_1 0x008654UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output1. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33619,7 +33630,7 @@
#define MISC_REG_AEU_ENABLE6_MCP_OUT_1 0x008660UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output1. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_MCP_OUT_1 0x008664UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output1. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_MCP_OUT_1 0x008668UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output1. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_MCP_OUT_1 0x00866cUL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output1. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_MCP_OUT_1 0x00866cUL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output1. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_MCP_OUT_2 0x008670UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output2. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_MCP_OUT_2 0x008674UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output2. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_MCP_OUT_2 0x008678UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output2. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33628,7 +33639,7 @@
#define MISC_REG_AEU_ENABLE6_MCP_OUT_2 0x008684UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output2. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_MCP_OUT_2 0x008688UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output2. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_MCP_OUT_2 0x00868cUL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output2. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_MCP_OUT_2 0x008690UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output2. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_MCP_OUT_2 0x008690UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output2. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_MCP_OUT_3 0x008694UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output3. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_MCP_OUT_3 0x008698UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output3. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_MCP_OUT_3 0x00869cUL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output3. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33637,7 +33648,7 @@
#define MISC_REG_AEU_ENABLE6_MCP_OUT_3 0x0086a8UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output3. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_MCP_OUT_3 0x0086acUL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output3. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_MCP_OUT_3 0x0086b0UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output3. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_MCP_OUT_3 0x0086b4UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output3. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_MCP_OUT_3 0x0086b4UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output3. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_MCP_OUT_4 0x0086b8UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output4. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_MCP_OUT_4 0x0086bcUL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output4. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_MCP_OUT_4 0x0086c0UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output4. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33646,7 +33657,7 @@
#define MISC_REG_AEU_ENABLE6_MCP_OUT_4 0x0086ccUL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output4. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_MCP_OUT_4 0x0086d0UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output4. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_MCP_OUT_4 0x0086d4UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output4. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_MCP_OUT_4 0x0086d8UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output4. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_MCP_OUT_4 0x0086d8UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output4. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_MCP_OUT_5 0x0086dcUL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output5. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_MCP_OUT_5 0x0086e0UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output5. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_MCP_OUT_5 0x0086e4UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output5. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33655,7 +33666,7 @@
#define MISC_REG_AEU_ENABLE6_MCP_OUT_5 0x0086f0UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output5. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_MCP_OUT_5 0x0086f4UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output5. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_MCP_OUT_5 0x0086f8UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output5. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_MCP_OUT_5 0x0086fcUL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output5. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_MCP_OUT_5 0x0086fcUL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output5. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_MCP_OUT_6 0x008700UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output6. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_MCP_OUT_6 0x008704UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output6. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_MCP_OUT_6 0x008708UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output6. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33664,7 +33675,7 @@
#define MISC_REG_AEU_ENABLE6_MCP_OUT_6 0x008714UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output6. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_MCP_OUT_6 0x008718UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output6. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_MCP_OUT_6 0x00871cUL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output6. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_MCP_OUT_6 0x008720UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output6. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_MCP_OUT_6 0x008720UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output6. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_MCP_OUT_7 0x008724UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for output7. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_MCP_OUT_7 0x008728UL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for output7. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_MCP_OUT_7 0x00872cUL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for output7. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33673,7 +33684,7 @@
#define MISC_REG_AEU_ENABLE6_MCP_OUT_7 0x008738UL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for output7. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_MCP_OUT_7 0x00873cUL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for output7. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_MCP_OUT_7 0x008740UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for output7. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_MCP_OUT_7 0x008744UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output7. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_MCP_OUT_7 0x008744UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for output7. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_ENABLE1_GLB_UNC_ERR 0x008748UL //Access:RW DataWidth:0x20 // First 32b for enabling the output for global uncorrectable eror. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_ENABLE2_GLB_UNC_ERR 0x00874cUL //Access:RW DataWidth:0x20 // Second 32b for enabling the output for global uncorrectable eror. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_ENABLE3_GLB_UNC_ERR 0x008750UL //Access:RW DataWidth:0x20 // Third 32b for enabling the output for global uncorrectable eror. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33682,7 +33693,7 @@
#define MISC_REG_AEU_ENABLE6_GLB_UNC_ERR 0x00875cUL //Access:RW DataWidth:0x20 // Sixth 32b for enabling the output for global uncorrectable eror. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_ENABLE7_GLB_UNC_ERR 0x008760UL //Access:RW DataWidth:0x20 // Seventh 32b for enabling the output for global uncorrectable eror. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_ENABLE8_GLB_UNC_ERR 0x008764UL //Access:RW DataWidth:0x20 // Eighth 32b for enabling the output for global uncorrectable eror. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_ENABLE9_GLB_UNC_ERR 0x008768UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for global uncorrectable eror. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_ENABLE9_GLB_UNC_ERR 0x008768UL //Access:RW DataWidth:0x20 // Nineth 32b for enabling the output for global uncorrectable eror. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_INVERTER_1_IGU 0x00876cUL //Access:RW DataWidth:0x20 // First 32b for inverting the input. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_INVERTER_2_IGU 0x008770UL //Access:RW DataWidth:0x20 // Second 32b for inverting the input. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_INVERTER_3_IGU 0x008774UL //Access:RW DataWidth:0x20 // Third 32b for inverting the input. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33691,7 +33702,7 @@
#define MISC_REG_AEU_INVERTER_6_IGU 0x008780UL //Access:RW DataWidth:0x20 // Sixth 32b for inverting the input. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_INVERTER_7_IGU 0x008784UL //Access:RW DataWidth:0x20 // Seventh 32b for inverting the input. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_INVERTER_8_IGU 0x008788UL //Access:RW DataWidth:0x20 // Eighth 32b for inverting the input. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_INVERTER_9_IGU 0x00878cUL //Access:RW DataWidth:0x20 // Nineth 32b for inverting the input. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_INVERTER_9_IGU 0x00878cUL //Access:RW DataWidth:0x20 // Nineth 32b for inverting the input. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_INVERTER_1_MCP 0x008790UL //Access:RW DataWidth:0x20 // First 32b for inverting the input. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_INVERTER_2_MCP 0x008794UL //Access:RW DataWidth:0x20 // Second 32b for inverting the input. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_INVERTER_3_MCP 0x008798UL //Access:RW DataWidth:0x20 // Third 32b for inverting the input. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33700,7 +33711,7 @@
#define MISC_REG_AEU_INVERTER_6_MCP 0x0087a4UL //Access:RW DataWidth:0x20 // Sixth 32b for inverting the input. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_INVERTER_7_MCP 0x0087a8UL //Access:RW DataWidth:0x20 // Seventh 32b for inverting the input. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_INVERTER_8_MCP 0x0087acUL //Access:RW DataWidth:0x20 // Eighth 32b for inverting the input. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_INVERTER_9_MCP 0x0087b0UL //Access:RW DataWidth:0x20 // Nineth 32b for inverting the input. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_INVERTER_9_MCP 0x0087b0UL //Access:RW DataWidth:0x20 // Nineth 32b for inverting the input. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_AFTER_INVERT_1_IGU 0x0087b4UL //Access:R DataWidth:0x20 // First 32b read after invert of input. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_AFTER_INVERT_2_IGU 0x0087b8UL //Access:R DataWidth:0x20 // Second 32b read after invert of input. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_AFTER_INVERT_3_IGU 0x0087bcUL //Access:R DataWidth:0x20 // Third 32b read after invert of input. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33709,7 +33720,7 @@
#define MISC_REG_AEU_AFTER_INVERT_6_IGU 0x0087c8UL //Access:R DataWidth:0x20 // Sixth 32b read after invert of input. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_AFTER_INVERT_7_IGU 0x0087ccUL //Access:R DataWidth:0x20 // Seventh 32b read after invert of input. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_AFTER_INVERT_8_IGU 0x0087d0UL //Access:R DataWidth:0x20 // Eighth 32b read after invert of input. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_AFTER_INVERT_9_IGU 0x0087d4UL //Access:R DataWidth:0x20 // Nineth 32b read after invert of input. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_AFTER_INVERT_9_IGU 0x0087d4UL //Access:R DataWidth:0x20 // Nineth 32b read after invert of input. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_AFTER_INVERT_1_MCP 0x0087d8UL //Access:R DataWidth:0x20 // First 32b read after invert of input. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
#define MISC_REG_AEU_AFTER_INVERT_2_MCP 0x0087dcUL //Access:R DataWidth:0x20 // Second 32b read after invert of input. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
#define MISC_REG_AEU_AFTER_INVERT_3_MCP 0x0087e0UL //Access:R DataWidth:0x20 // Third 32b read after invert of input. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
@@ -33718,18 +33729,18 @@
#define MISC_REG_AEU_AFTER_INVERT_6_MCP 0x0087ecUL //Access:R DataWidth:0x20 // Sixth 32b read after invert of input. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
#define MISC_REG_AEU_AFTER_INVERT_7_MCP 0x0087f0UL //Access:R DataWidth:0x20 // Seventh 32b read after invert of input. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
#define MISC_REG_AEU_AFTER_INVERT_8_MCP 0x0087f4UL //Access:R DataWidth:0x20 // Eighth 32b read after invert of input. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_AFTER_INVERT_9_MCP 0x0087f8UL //Access:R DataWidth:0x20 // Nineth 32b read after invert of input. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_AFTER_INVERT_9_MCP 0x0087f8UL //Access:R DataWidth:0x20 // Nineth 32b read after invert of input. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved;
#define MISC_REG_AEU_SYS_KILL_OCCURRED 0x0087fcUL //Access:RW DataWidth:0x1 // If set a system kill occurred. Reset on POR reset.
#define MISC_REG_AEU_SYS_KILL_BEHAVIOR 0x008800UL //Access:RW DataWidth:0x1 // The System Kill enable: 0 - none; 1 - hard reset. Reset on POR reset.
-#define MISC_REG_AEU_SYS_KILL_STATUS_0 0x008804UL //Access:RW DataWidth:0x20 // First 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31;
-#define MISC_REG_AEU_SYS_KILL_STATUS_1 0x008808UL //Access:RW DataWidth:0x20 // Second 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15;
-#define MISC_REG_AEU_SYS_KILL_STATUS_2 0x00880cUL //Access:RW DataWidth:0x20 // Third 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31;
-#define MISC_REG_AEU_SYS_KILL_STATUS_3 0x008810UL //Access:RW DataWidth:0x20 // Fourth 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] General attn32; [1] General attn33; [2] General attn34; [3] General attn35; [4] NWS Parity error; [5] NWS HW interrupt; [6] NWM Parity error; [7] NWM HW interrupt; [8] MCP CPU Event; [9] MCP Watchdog timer; [10] MCP M2P attn; [11] AVS Stop status ready; [12] MSTAT Parity error; [13] MSTAT HW interrupt; [14] MSTAT per-path Parity error; [15] MSTAT per-path HW interrupt; [16] OPTE Parity error; [17] MCP Parity error; [18] MS HW interrupt; [19] UMAC HW interrupt; [20] LED HW interrupt; [21] BMBN HW interrupt; [22] NIG Parity error; [23] NIG HW interrupt; [24] BMB Parity error; [25] BMB HW interrupt; [26] BTB Parity error; [27] BTB HW interrupt; [28] BRB Parity error; [29] BRB HW interrupt; [30] PRS Parity error; [31] PRS HW interrupt;
-#define MISC_REG_AEU_SYS_KILL_STATUS_4 0x008814UL //Access:RW DataWidth:0x20 // Fifth 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] SRC Parity error; [1] SRC HW interrupt; [2] PB Client1 Parity error; [3] PB Client1 Hw interrupt; [4] PB Client2 Parity error; [5] PB Client2 Hw interrupt; [6] RPB Parity error; [7] RPB Hw interrupt; [8] PBF Parity error; [9] PBF Hw interrupt; [10] QM Parity error; [11] QM Hw interrupt; [12] TM Parity error; [13] TM Hw interrupt; [14] MCM Parity error; [15] MCM Hw interrupt; [16] MSDM Parity error; [17] MSDM Hw interrupt; [18] MSEM Parity error; [19] MSEM Hw interrupt; [20] PCM Parity error; [21] PCM Hw interrupt; [22] PSDM Parity error; [23] PSDM Hw interrupt; [24] PSEM Parity error; [25] PSEM Hw interrupt; [26] TCM Parity error; [27] TCM Hw interrupt; [28] TSDM Parity error; [29] TSDM Hw interrupt; [30] TSEM Parity error; [31] TSEM Hw interrupt;
-#define MISC_REG_AEU_SYS_KILL_STATUS_5 0x008818UL //Access:RW DataWidth:0x20 // Sixth 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt;
-#define MISC_REG_AEU_SYS_KILL_STATUS_6 0x00881cUL //Access:RW DataWidth:0x20 // Seventh 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt;
-#define MISC_REG_AEU_SYS_KILL_STATUS_7 0x008820UL //Access:RW DataWidth:0x20 // Eighth 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt;
-#define MISC_REG_AEU_SYS_KILL_STATUS_8 0x008824UL //Access:RW DataWidth:0x20 // Nineth 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [31:15] reserved;
+#define MISC_REG_AEU_SYS_KILL_STATUS_0 0x008804UL //Access:RW DataWidth:0x20 // First 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] GPIO0; [1] GPIO1; [2] GPIO2; [3] GPIO3; [4] GPIO4; [5] GPIO5; [6] GPIO6; [7] GPIO; [8] GPIO8; [9] GPIO9; [10] GPIO10; [11] GPIO11; [12] GPIO12; [13] GPIO13; [14] GPIO14; [15] GPIO15; [16] GPIO16; [17] GPIO17; [18] GPIO18; [19] GPIO19; [20] GPIO20; [21] GPIO21; [22] GPIO22; [23] GPIO23; [24] GPIO24; [25] GPIO25; [26] GPIO26; [27] GPIO27; [28] GPIO28; [29] GPIO29; [30] GPIO30; [31] GPIO31; System kill signal (that which causes hard reset) is blocked by aeu_sys_kill_behavior register while this register isn't conditoned by it. This means that status is set with no respect to whether system kill signal really happened as allowed by aeu_sys_kill_behavior.
+#define MISC_REG_AEU_SYS_KILL_STATUS_1 0x008808UL //Access:RW DataWidth:0x20 // Second 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC Parity error;[3] PGLUE B RBC HW interrupt; [4] pglue_misc_mctp_attn; [5] Flash event; [6] SMB event; [7] Main power interrupt; [8] SW timers #1; [9] SW timers #2; [10] SW timers #3; [11] SW timers #4; [12] SW timers #5; [13] SW timers #6; [14] SW timers #7; [15] SW timers #8; [16] PCIE glue/PXP VPD event #0; [17] PCIE glue/PXP VPD event #1; [18] PCIE glue/PXP VPD event #2; [19] PCIE glue/PXP VPD event #3; [20] PCIE glue/PXP VPD event #4; [21] PCIE glue/PXP VPD event #5; [22] PCIE glue/PXP VPD event #6; [23] PCIE glue/PXP VPD event #7; [24] PCIE glue/PXP VPD event #8; [25] PCIE glue/PXP VPD event #9; [26] PCIE glue/PXP VPD event #10; [27] PCIE glue/PXP VPD event #11; [28] PCIE glue/PXP VPD event #12; [29] PCIE glue/PXP VPD event #13; [30] PCIE glue/PXP VPD event #14; [31] PCIE glue/PXP VPD event #15; System kill signal (that which causes hard reset) is blocked by aeu_sys_kill_behavior register while this register isn't conditoned by it. This means that status is set with no respect to whether system kill signal really happened as allowed by aeu_sys_kill_behavior.
+#define MISC_REG_AEU_SYS_KILL_STATUS_2 0x00880cUL //Access:RW DataWidth:0x20 // Third 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] General attn0; [1] General attn1; [2] General attn2; [3] General attn3; [4] General attn4; [5] General attn5; [6] General attn6; [7] General attn7; [8] General attn8; [9] General attn9; [10] General attn10; [11] General attn11; [12] General attn12; [13] General attn13; [14] General attn14; [15] General attn15; [16] General attn16; [17] General attn17; [18] General attn18; [19] General attn19; [20] General attn20; [21] General attn21; [22] General attn22; [23] General attn23; [24] General attn24; [25] General attn25; [26] General attn26; [27] General attn27; [28] General attn28; [29] General attn29; [30] General attn30; [31] General attn31; System kill signal (that which causes hard reset) is blocked by aeu_sys_kill_behavior register while this register isn't conditoned by it. This means that status is set with no respect to whether system kill signal really happened as allowed by aeu_sys_kill_behavior.
+#define MISC_REG_AEU_SYS_KILL_STATUS_3 0x008810UL //Access:RW DataWidth:0x20 // Fourth 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] General attn32; [1] General attn33; [2] General attn34; [3] General attn35; [4] NWS Parity error; [5] NWS HW interrupt; [6] NWM Parity error; [7] NWM HW interrupt; [8] MCP CPU Event; [9] MCP Watchdog timer; [10] MCP M2P attn; [11] AVS Stop status ready; [12] MSTAT Parity error; [13] MSTAT HW interrupt; [14] MSTAT per-path Parity error; [15] MSTAT per-path HW interrupt; [16] OPTE Parity error; [17] MCP Parity error; [18] MS HW interrupt; [19] UMAC HW interrupt; [20] LED HW interrupt; [21] BMBN HW interrupt; [22] NIG Parity error; [23] NIG HW interrupt; [24] BMB Parity error; [25] BMB HW interrupt; [26] BTB Parity error; [27] BTB HW interrupt; [28] BRB Parity error; [29] BRB HW interrupt; [30] PRS Parity error; [31] PRS HW interrupt; System kill signal (that which causes hard reset) is blocked by aeu_sys_kill_behavior register while this register isn't conditoned by it. This means that status is set with no respect to whether system kill signal really happened as allowed by aeu_sys_kill_behavior.
+#define MISC_REG_AEU_SYS_KILL_STATUS_4 0x008814UL //Access:RW DataWidth:0x20 // Fifth 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] SRC Parity error; [1] SRC HW interrupt; [2] PB Client1 Parity error; [3] PB Client1 Hw interrupt; [4] PB Client2 Parity error; [5] PB Client2 Hw interrupt; [6] RPB Parity error; [7] RPB Hw interrupt; [8] PBF Parity error; [9] PBF Hw interrupt; [10] QM Parity error; [11] QM Hw interrupt; [12] TM Parity error; [13] TM Hw interrupt; [14] MCM Parity error; [15] MCM Hw interrupt; [16] MSDM Parity error; [17] MSDM Hw interrupt; [18] MSEM Parity error; [19] MSEM Hw interrupt; [20] PCM Parity error; [21] PCM Hw interrupt; [22] PSDM Parity error; [23] PSDM Hw interrupt; [24] PSEM Parity error; [25] PSEM Hw interrupt; [26] TCM Parity error; [27] TCM Hw interrupt; [28] TSDM Parity error; [29] TSDM Hw interrupt; [30] TSEM Parity error; [31] TSEM Hw interrupt; System kill signal (that which causes hard reset) is blocked by aeu_sys_kill_behavior register while this register isn't conditoned by it. This means that status is set with no respect to whether system kill signal really happened as allowed by aeu_sys_kill_behavior.
+#define MISC_REG_AEU_SYS_KILL_STATUS_5 0x008818UL //Access:RW DataWidth:0x20 // Sixth 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] UCM Parity error; [1] UCM Hw interrupt; [2] USDM Parity error; [3] USDM Hw interrupt; [4] USEM Parity error; [5] USEM Hw interrupt; [6] XCM Parity error; [7] XCM Hw interrupt; [8] XSDM Parity error; [9] XSDM Hw interrupt; [10] XSEM Parity error; [11] XSEM Hw interrupt; [12] YCM Parity error; [13] YCM Hw interrupt; [14] YSDM Parity error; [15] YSDM Hw interrupt; [16] YSEM Parity error; [17] YSEM Hw interrupt; [18] XYLD Parity error; [19] XYLD Hw interrupt; [20] TMLD Parity error; [21] TMLD Hw interrupt; [22] MYLD Parity error; [23] MYLD Hw interrupt; [25-24] Rsvd; [26] DORQ Parity error; [27] DORQ Hw interrupt; [28] DBG Parity error; [29] DBG Hw interrupt; [30] IPC Parity error; [31] IPC Hw interrupt; System kill signal (that which causes hard reset) is blocked by aeu_sys_kill_behavior register while this register isn't conditoned by it. This means that status is set with no respect to whether system kill signal really happened as allowed by aeu_sys_kill_behavior.
+#define MISC_REG_AEU_SYS_KILL_STATUS_6 0x00881cUL //Access:RW DataWidth:0x20 // Seventh 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] CCFC Parity error; [1] CCFC Hw interrupt; [2] CDU Parity error; [3]CDU Hw interrupt; [4] DMAE Parity error; [5] DMAE Hw interrupt; [6] IGU Parity error; [7] IGU Hw interrupt; [8] ATC Parity error; [9] ATC Hw interrupt; [10] CAU Parity error; [11] CAU Hw interrupt; [12] PTU Parity error; [13] PTU Hw interrupt; [14] PRM Parity error; [15] PRM Hw interrupt; [16] TCFC Parity error; [17] TCFC Hw interrupt; [18] RDIF Parity error; [19] RDIF Hw interrupt; [20] TDIF Parity error; [21] TDIF Hw interrupt; [22] RSS Parity error; [23] RSS Hw interrupt; [24] MISC Parity error; [25] MISC Hw interrupt; [26] MISCS Parity error; [27] MISCS Hw interrupt; [28] Vaux PCI core or PGLUE config space Parity error; [29] Vaux PCI core Hw interrupt; [30] PSWRQ Parity error; [31] PSWRQ Hw interrupt; System kill signal (that which causes hard reset) is blocked by aeu_sys_kill_behavior register while this register isn't conditoned by it. This means that status is set with no respect to whether system kill signal really happened as allowed by aeu_sys_kill_behavior.
+#define MISC_REG_AEU_SYS_KILL_STATUS_7 0x008820UL //Access:RW DataWidth:0x20 // Eighth 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] PSWRQ (pci_clk) Parity error; [1] PSWRQ (pci_clk) Hw interrupt; [2] PSWWR Parity error; [3] PSWWR Hw interrupt; [4] PSWWR (pci_clk) Parity error; [5] PSWWR (pci_clk) Hw interrupt; [6] PSWRD Parity error; [7] PSWRD Hw interrupt; [8] PSWRD (pci_clk) Parity error; [9] PSWRD (pci_clk) Hw interrupt; [10] PSWHST Parity error; [11] PSWHST Hw interrupt; [12] PSWHST (pci_clk) Parity error; [13] PSWHST (pci_clk) Hw interrupt; [14] GRC Parity error; [15] GRC Hw interrupt; [16] CPMU Parity error; [17] CPMU Hw interrupt; [18] NCSI Parity error; [19] NCSI Hw interrupt; [20] YSEM PRAM Parity error; [21] XSEM PRAM Parity error; [22] USEM PRAM Parity error; [23] TSEM PRAM Parity error; [24] PSEM PRAM Parity error; [25] MSEM PRAM Parity error; [26] pxp_misc_mps_attn; [27] PCIE glue/PXP Expansion ROM event; [28] PERST_B assertion; [29] PERST_B de-assertion; [30] WOL Parity error; [31] WOL Hw interrupt; System kill signal (that which causes hard reset) is blocked by aeu_sys_kill_behavior register while this register isn't conditoned by it. This means that status is set with no respect to whether system kill signal really happened as allowed by aeu_sys_kill_behavior.
+#define MISC_REG_AEU_SYS_KILL_STATUS_8 0x008824UL //Access:RW DataWidth:0x20 // Nineth 32b of the status of the input vector to the AEU when a system kill occurred. Mapped as follows: [0] MCP Latched memory parity; [1] MCP Latched scratchpad cache; [2] AVS Parity error; [3] AVS Hw interrupt; [4] PCIe core Hw interrupt; [5] PCIe link up; [6] PCIe hot reset; [7] YPLD Parity error; [8] YPLD Hw interrupt; [9] PTLD Parity error; [10] PTLD Hw interrupt; [11] RGFS Parity error; [12] RGFS Hw interrupt; [13] TGFS Parity error; [14] TGFS Hw interrupt; [15] RGSRC Parity error; [16] RGSRC Hw interrupt; [17] TGSRC Parity error; [18] TGSRC Hw interrupt; [31:19] reserved; System kill signal (that which causes hard reset) is blocked by aeu_sys_kill_behavior register while this register isn't conditoned by it. This means that status is set with no respect to whether system kill signal really happened as allowed by aeu_sys_kill_behavior.
#define MISC_REG_AEU_GENERAL_MASK 0x008828UL //Access:RW DataWidth:0x4 // Multi Field Register.
#define MISC_REG_AEU_GENERAL_MASK_AEU_PXP_CLOSE_MASK (0x1<<0) // Pxp close the gate mask bit; 0 = masked; 1 = unmasked.
#define MISC_REG_AEU_GENERAL_MASK_AEU_PXP_CLOSE_MASK_SHIFT 0
@@ -33787,11 +33798,11 @@
#define MISC_REG_ECO_RESERVED 0x008ca0UL //Access:RW DataWidth:0x20 // Eco reserved. Global register.
#define MISC_REG_SW_TIMER_VAL 0x008d00UL //Access:RW DataWidth:0x20 // The value of the counter for sw timers1-8. there are 8 addresses in this register. address 0 - timer 1; address 1 - timer 2; etc ; address 7 - timer 8.
#define MISC_REG_SW_TIMER_VAL_SIZE 8
-#define MISCS_REG_RESET_CONFIG 0x009040UL //Access:RW DataWidth:0x20 // Reset configuration register. inside order of the bits is: [0] rst_ncsi_on_core_rst (0- no auto deassertion; 1 - auto deassertion); [1] rst_umac_on_core_rst (0- no auto deassertion; 1 - auto deassertion); [2] rst_mstat_on_core_rst (0- no auto deassertion; 1 - auto deassertion); [3] rst_cpmu_auto_mode (0- no auto deassertion; 1 - auto deassertion); [4] rst_pxpv_auto_mode (0- no auto deassertion; 1 - auto deassertion); [5] rst_nwm_mac_core_assert_on_core_rst (0 - no; 1 - yes); [6] reserved; [7] rst_mcp_n_reset_reg_hard_core_auto_mode (0- no auto deassertion; 1 - auto deassertion); [8] rst_mcp_n_hard_core_rst_b_auto_mode (0- no auto deassertion; 1 - auto deassertion); [9] rst_mcp_n_reset_cmn_cpu_auto_mode (0- no auto deassertion; 1 - auto deassertion); [10] rst_mcp_n_reset_cmn_core_auto_mode (0- no auto deassertion; 1 - auto deassertion); [11-13] reserved; [14] rst_misc_core_auto_mode (0- no auto deassertion; 1 - auto deassertion); [15] rst_dbue_auto_mode (0- no auto deassertion; 1 - auto deassertion); [16] grc_reset_assert_on_core_rst (0 - no; 1 - yes); [17] rst_mcp_n_reset_cmn_cpu_assert_on_core_rst (0 - no; 1 - yes); [18] rst_mcp_n_reset_cmn_core_assert_on_core_rst (0 - no; 1 - yes); [19] rst_rbc{n|h}_assert_on_core_rst (0 - no; 1 - yes); [20] rst_nwm_core_assert_on_core_rst (0 - no; 1 - yes); [21] rst_misc_core_assert_on_core_rst (0 - no; 1 - yes); [22] rst_dbue_assert_on_core_rst (0 - no; 1 - yes); [23] wrappers_iddq_and_rst_signals_assert_on_core_rst (0 - no; 1 - yes); [24] rst_rbcw_core_assert_on_core_rst (0 - no; 1 - yes); [25] rst_pglc_auto_mode (0- no auto deassertion; 1 - auto deassertion); [26] rst_bmb_on_core_rst (0- no reset on core reset; 1 - reset on core reset); [27] rst_opte_on_core_rst (0- no reset on core reset; 1 - reset on core reset); [28] rst_opcs_core_assert_on_core_rst (0 - no; 1 - yes); [29] rst_nws_core_assert_on_core_rst (0 - no; 1 - yes); [30] rst_ms_core_assert_on_core_rst (0 - no; 1 - yes); [31] rst_led_core_assert_on_core_rst (0 - no; 1 - yes) Reset on hard reset.
+#define MISCS_REG_RESET_CONFIG 0x009040UL //Access:RW DataWidth:0x20 // Reset configuration register. inside order of the bits is: [0] rst_ncsi_on_core_rst (0- no auto deassertion; 1 - auto deassertion); [1] rst_umac_on_core_rst (0- no auto deassertion; 1 - auto deassertion); [2] rst_mstat_on_core_rst (0- no auto deassertion; 1 - auto deassertion); [3] rst_cpmu_auto_mode (0- no auto deassertion; 1 - auto deassertion); [4] rst_pxpv_auto_mode (0- no auto deassertion; 1 - auto deassertion); [5] rst_nwm_mac_core_assert_on_core_rst (0 - no; 1 - yes); [6] rst_rbcb_auto_mode (0- no auto deassertion; 1 - auto deassertion); [7] rst_mcp_n_reset_reg_hard_core_auto_mode (0- no auto deassertion; 1 - auto deassertion); [8] rst_mcp_n_hard_core_rst_b_auto_mode (0- no autodeassertion; 1 - auto deassertion); [9] rst_mcp_n_reset_cmn_cpu_auto_mode (0- no auto deassertion;1 - auto deassertion); [10] rst_mcp_n_reset_cmn_core_auto_mode (0- no auto deassertion; 1 - auto deassertion); [11-13] reserved; [14] rst_misc_core_auto_mode (0- no auto deassertion; 1 - auto deassertion); [15] rst_dbue_auto_mode (0- no auto deassertion; 1 - auto deassertion); [16] grc_reset_assert_on_core_rst (0 - no; 1 - yes); [17] rst_mcp_n_reset_cmn_cpu_assert_on_core_rst (0 - no; 1 -yes); [18] rst_mcp_n_reset_cmn_core_assert_on_core_rst (0 - no; 1 - yes); [19] rst_rbc{n|h}_assert_on_core_rst (0 - no; 1 - yes); [20] rst_nwm_core_assert_on_core_rst (0 - no; 1 - yes); [21] rst_misc_core_assert_on_core_rst (0 - no; 1 - yes); [22] rst_dbue_assert_on_core_rst (0 - no; 1 - yes); [23] wrappers_iddq_and_rst_signals_assert_on_core_rst (0 - no; 1 - yes); [24] rst_rbcw_core_assert_on_core_rst (0 - no; 1 - yes); [25] rst_pglc_auto_mode (0- no auto deassertion; 1 - auto deassertion); [26] rst_bmb_on_core_rst (0- no reset on core reset; 1 - reset on core reset); [27] rst_opte_on_core_rst (0- no reset on core reset; 1 - reset on core reset); [28] rst_opcs_core_assert_on_core_rst (0 - no; 1 - yes); [29] rst_nws_core_assert_on_core_rst (0 - no; 1 - yes); [30] rst_ms_core_assert_on_core_rst (0 - no; 1 - yes); [31] rst_led_core_assert_on_core_rst (0 - no; 1 - yes) Reset on hard reset.
#define MISCS_REG_RESET_CONFIG_POR 0x009044UL //Access:RW DataWidth:0x4 // Reset configuration register. inside order of the bits is: [0] rst_n_reg_hard_misc_rbc_pcie (0 - is not reset on hard reset; 1 - is reset on hard reset); [1] rst_n_hard_misc_rbc_pcie (0 - is not reset on hard reset; 1 - is reset on hard reset); [2] rst_n_hard_misc_erstclk_pcie (0 - is not reset on hard reset; 1 - is reset on hard reset); [3] reserved; Reset on POR reset.
#define MISCS_REG_RESET_PL_UA 0x009050UL //Access:RW DataWidth:0x20 // Reset_reg: Shared blocks which are reset only by the MCP (PL=UA); Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_cgrc; [1] rst_mcp_n_reset_reg_hard_core; [2] rst_mcp_n_hard_core_rst_b; [3] rst_mcp_n_reset_cmn_cpu; [4] rst_mcp_n_reset_cmn_core; [5] rst_misc_core; [6] rst_dbue (UART); [7] rst_bmb; [8] rst_ipc; [9]rst_crbcn; [10] reserved; [11] rst_avs; [31-10] reserved; Global register.
#define MISCS_REG_RESET_PL_UA_SIZE 3
-#define MISCS_REG_RESET_PL_HV 0x009060UL //Access:RW DataWidth:0x20 // Reset_reg: Shared blocks which are reset only by the MCP (PL=UA); Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_cnig; [1] rst_pglc; [2] rst_pxpv; [3] rst_crbch; [4] rst_opte; [5] rst_ncsi; [6] rst_umac; [7] rst_mstat; [8] rst_cpmu; [9] reserved; [10] rst_rbcw; [11] rst_opcs; [12] rst_nws; [13] rst_ms; [14] rst_led; [31:15] reserved; Global register.
+#define MISCS_REG_RESET_PL_HV 0x009060UL //Access:RW DataWidth:0x20 // Reset_reg: Shared blocks with protection level (PL=HV); Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_cnig; [1] rst_pglc; [2] rst_pxpv; [3] rst_crbch; [4] rst_opte; [5] rst_ncsi; [6] rst_umac; [7] rst_mstat; [8] rst_cpmu; [9] rst_rbcb; [10] rst_rbcw; [11] rst_opcs; [12] rst_nws; [13] rst_ms; [14] rst_led; [31:15] reserved; Global register.
#define MISCS_REG_RESET_PL_HV_SIZE 3
#define MISCS_REG_CLK_100G_MODE 0x009070UL //Access:RW DataWidth:0x1 // This register indicates if clk_nw frequency is faster than main clock frequency (when programmed to 1) or is the same as main clock frequency (when programmed to 0). In E4 (BigBear) it should be set to 1 in 100G mode. In AH it control SYNC FIFOs in the BMB.
#define MISCS_REG_BLOCK_256B_EN 0x009074UL //Access:RW DataWidth:0x1 // This register indicates if BMB block size is 256 byte (when programmed to 1) or 128 byte (when programmed to 0). In E4 (BigBear) it should be set to 1 in 100G and 50G modes. Reset on Hard reset.
@@ -33846,7 +33857,7 @@
#define MISCS_REG_DRIVER_K2_CONTROL_6_SIZE 2
#define MISCS_REG_DRIVER_K2_CONTROL_7_K2_E5 0x009140UL //Access:RW DataWidth:0x20 // These registers represent 16 clients and 32 resources for single path chip. In single path chip 16 clients are handled by MISC_REGISTERS_DRIVER_CONTROL.DRIVER_CONTROL and another 16 clients are handled by this register. Each resource can be controlled by one client only. One in each bit represent that this client controls the appropriate resource (Ex: bit 5 set means this client controls resource number 5). Write: addr1 = set "request"; addr0 = clear both "grant" and "request"; Read: addr1 = read "request" status; addr0 = read "grant" status; Write to address 1 will set a "request" to control all the resources which appropriate bit (in the write command) is set. If the resource is free (no "request" and no "grant"), one will be written to that client "request" register to corresponding resource bit. If the requested resource is already set in the given client "request" register or "grant" register the MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will be asserted. All the requests for given resource participate in round-robin arbitration. Write to address 0 will write zero to this client "grant" and "request" register to all the resources which appropriate bit (in the write command) is set. If the appropriate bit is clear (no "request" and no "grant") the MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will be asserted.
#define MISCS_REG_DRIVER_K2_CONTROL_7_SIZE 2
-#define MISCS_REG_RESET_PL_HV_2_K2_E5 0x009150UL //Access:RW DataWidth:0x20 // Reset_reg: Shared blocks which are reset only by the MCP (PL=UA); Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_nwm; [1] rst_nwm_mac0; [2] rst_nwm_mac1; [3] rst_nwm_mac2; [4] rst_nwm_mac3; [5] rst_nwm_gpcs0; [6] rst_nwm_gpcs1; [7] rst_nwm_gpcs2; [8] rst_nwm_gpcs3; [9] rst_nwm_xpcs0; [10] rst_nwm_xpcs1; [11] rst_nwm_xpcs2; [12] rst_nwm_xpcs3; [13] rst_nwm_xpcs4; [14] rst_nwm_xpcs5; [15] rst_nwm_xpcs6; [16] rst_nwm_xpcs7; [17] rst_nwm_tx_lane0; [18] rst_nwm_tx_lane1; [19] rst_nwm_tx_lane2; [20] rst_nwm_tx_lane3; [21] rst_nwm_rx_lane0; [22] rst_nwm_rx_lane1; [23] rst_nwm_rx_lane2; [24] rst_nwm_rx_lane3; [25] rst_nwm_sdgb; [31:26] reserved; Global register.
+#define MISCS_REG_RESET_PL_HV_2_K2_E5 0x009150UL //Access:RW DataWidth:0x20 // Reset_reg: Shared blocks with protection level (PL=HV); Read: read one = the specific block is out of reset; read zero = the specific block is in reset; Write: addr0 ("wr"): writing "0" resets the corresponding block, writing "1" takes a block out of reset. addr1 ("set"): writing "0" doesn't change the reset state of the corresponding block, writing "1" takes a block out of reset. addr2 ("clear"): writing "0" doesn't change the reset state of the corresponding block, writing "1" resets the block. addr 3-ignore; The order of the bits is: [0] rst_nwm; [1] rst_nwm_mac0; [2] rst_nwm_mac1; [3] rst_nwm_mac2; [4] rst_nwm_mac3; [5] rst_nwm_gpcs0; [6] rst_nwm_gpcs1; [7] rst_nwm_gpcs2; [8] rst_nwm_gpcs3; [9] rst_nwm_xpcs0; [10] rst_nwm_xpcs1; [11] rst_nwm_xpcs2; [12] rst_nwm_xpcs3; [13] rst_nwm_xpcs4; [14] rst_nwm_xpcs5; [15] rst_nwm_xpcs6; [16] rst_nwm_xpcs7; [17] rst_nwm_tx_lane0; [18] rst_nwm_tx_lane1; [19] rst_nwm_tx_lane2; [20] rst_nwm_tx_lane3; [21] rst_nwm_rx_lane0; [22] rst_nwm_rx_lane1; [23] rst_nwm_rx_lane2; [24] rst_nwm_rx_lane3; [25] rst_nwm_sdgb; [31:26] reserved; Global register.
#define MISCS_REG_RESET_PL_HV_2_SIZE 3
#define MISCS_REG_MEMCTRL_WR_RD_N_BB 0x009160UL //Access:RW DataWidth:0x1 // wr/rd indication to CPU BIST
#define MISCS_REG_MEMCTRL_CMD_BB 0x009164UL //Access:RW DataWidth:0x8 // command to CPU BIST
@@ -34154,15 +34165,15 @@
#define MISCS_REG_PCIE_HOT_RESET 0x0096fcUL //Access:RC DataWidth:0x1 // If set indicate that the pcie_rst_b was asserted without perst assertion.
#define MISCS_REG_FUNC_HIDE_PIN 0x009700UL //Access:R DataWidth:0x1 // Synchronised value of ifmux_misc_func_hide.
#define MISCS_REG_NIG_DBG_VECTOR_BB 0x009704UL //Access:RW DataWidth:0x1 // NIG debug mux vector control. 0 - NIG0 debug vector is output to IFMUX; 1 - NIG1 debug vector is output to IFMUX.
-#define MISCS_REG_FOUR_PORT_SHARED_MDIO_EN 0x009708UL //Access:RW DataWidth:0x1 // When set this will allow any of the four emacs MDIO masters to initiate MDIO transactions to access XGXS0 or the four external GPHYs. Drives misc_cnig_mux_4port_shared_mdio_en output. Applicable both in 2-port and 4-port mode. TBD: unconnected in NM. Reserved.
-#define MISCS_REG_SEL_DBG_IFMUX_TEST 0x00970cUL //Access:RW DataWidth:0x1 // NIG EMAC debug source selector. If 0 - path0 gmii/mii emac debug outputs are selected by NIG; If 1 - path1 gmii/mii emac debug outputs are selected by NIG. Drives output misc_cnig_sel_dbg_ifmux_test. TBD: unconnected in NM. Reserved.
+#define MISCS_REG_FOUR_PORT_SHARED_MDIO_EN_BB_K2 0x009708UL //Access:RW DataWidth:0x1 // When set this will allow any of the four emacs MDIO masters to initiate MDIO transactions to access XGXS0 or the four external GPHYs. Drives misc_cnig_mux_4port_shared_mdio_en output. Applicable both in 2-port and 4-port mode. TBD: unconnected in NM. Reserved.
+#define MISCS_REG_SEL_DBG_IFMUX_TEST_BB_K2 0x00970cUL //Access:RW DataWidth:0x1 // NIG EMAC debug source selector. If 0 - path0 gmii/mii emac debug outputs are selected by NIG; If 1 - path1 gmii/mii emac debug outputs are selected by NIG. Drives output misc_cnig_sel_dbg_ifmux_test. TBD: unconnected in NM. Reserved.
#define MISCS_REG_SEL_VAUX 0x009710UL //Access:R DataWidth:0x2 // SEL_VAUX_B - Control to power switching logic. [0] - output value driven by MISC; [1] - RESERVED.
#define MISCS_REG_PCIE_DIS 0x009714UL //Access:RW DataWidth:0x1 // PCIE disable register bit. PCIE DIS. Has same functionality as the external IO PCIE_DIS: Internal PCIE DIS = external IO PCIE DIS or MISCS_REG_PCIE_DIS.
#define MISCS_REG_CLK_NW_MAC_FAST_MODE 0x009718UL //Access:RW DataWidth:0x1 // When set to 1, HiGig is supported on 40G and the nw mac clock frequency is higher than the main clock frequency. When set to 0, HiGig is not supported on 40G and the nw mac clock frequency is identical to the main clock frequency. Applicable only for K2.
#define MISCS_REG_CMT_ENABLED_FOR_PAIR 0x00971cUL //Access:RW DataWidth:0x8 // For Coupled Mode Teaming. Each bit corresponds to a PF pair i.e. bit 0 for global PFs 0 and 1; bit 1 for global PFs 2 and 3. If the bit is clear then the PFs for that pair are not coupled and the even PF is mapped to path 0 and the odd PF is mapped to path 1. This is the same mapping E2 and E3 have. If the bit is set then those PFs are coupled. In this case the even PF is mapped to both paths and the odd PF is disabled.
#define MISCS_REG_ISOLATE_PATH 0x009720UL //Access:RW DataWidth:0x1 // This bit will be set by the MCP when the device works in PDA mode. The value of this register also drives the isolate_path output of the MISC block.
-#define MISCS_REG_MDIO_OVERRIDE 0x009724UL //Access:RW DataWidth:0x1 // MDIO Override. Enables the values on MISC_REGISTERS_MDIO_SUBSCRIPTION.MDIO_SUBSCRIPTION to override the hardware mode defined defaults. Global register. Reset on Hard reset. TBD: unconnected in NM. Reserved.
-#define MISCS_REG_MDIO_SUBSCRIPTION 0x009728UL //Access:RW DataWidth:0x20 // MDIO Subscription. Is used to configure the subscriptions of on-chip PHY devices and MAC ports to the four MDIO domains. It is only used when MISC_REGISTERS_MDIO_OVERRIDE.MDIO_OVERRIDE is set. [3:0] - ch0_rr; [7:4] - ch1_rr; [11:8] - ch2_rr; [15:12] - ch3_rr; [19:16] - ch0_phy; [23:20] - ch1_phy; [27:24] - ch2_phy; [31:28] - ch3_phy. Global register. Reset on Hard reset. TBD: unconnected in NM. Reserved.
+#define MISCS_REG_MDIO_OVERRIDE_BB_K2 0x009724UL //Access:RW DataWidth:0x1 // MDIO Override. Enables the values on MISC_REGISTERS_MDIO_SUBSCRIPTION.MDIO_SUBSCRIPTION to override the hardware mode defined defaults. Global register. Reset on Hard reset. TBD: unconnected in NM. Reserved.
+#define MISCS_REG_MDIO_SUBSCRIPTION_BB_K2 0x009728UL //Access:RW DataWidth:0x20 // MDIO Subscription. Is used to configure the subscriptions of on-chip PHY devices and MAC ports to the four MDIO domains. It is only used when MISC_REGISTERS_MDIO_OVERRIDE.MDIO_OVERRIDE is set. [3:0] - ch0_rr; [7:4] - ch1_rr; [11:8] - ch2_rr; [15:12] - ch3_rr; [19:16] - ch0_phy; [23:20] - ch1_phy; [27:24] - ch2_phy; [31:28] - ch3_phy. Global register. Reset on Hard reset. TBD: unconnected in NM. Reserved.
#define MISCS_REG_HOT_RESET_UNPREPARED 0x00972cUL //Access:RW DataWidth:0x1 // Set to 1 when pcie_hot_reset is asserted (Hot Reset / SBR / Link Down / Link Disable) and the chip is in un-prepared state. Reset to 0 by the FW. Reset on por reset.
#define MISCS_REG_OTP_MISC_DO 0x009730UL //Access:R DataWidth:0x5 // OTP IO 5 msb.
#define MISCS_REG_PARITY_MODE 0x009734UL //Access:RW DataWidth:0x1 // Debug only : parity mode to MCP. Setting this bit changes the parity checking on the memories from even to odd parity. Global register.
@@ -34183,7 +34194,7 @@
#define MISCS_REG_CHIP_REV 0x009770UL //Access:R DataWidth:0x4 // These bits indicate the base revision of the chip. This value starts at 0x0 for the A0 tape-out and increments by one for each all-layer tape-out.
#define MISCS_REG_CHIP_METAL 0x009774UL //Access:R DataWidth:0x8 // These bits indicate the metal revision of the chip. This value starts at 0x00 for each all-layer tape-out and increments by one for each tape-out.
#define MISCS_REG_CHIP_TEST_REG 0x009778UL //Access:R DataWidth:0x8 // These bits indicate the silent revision of the chip.
-#define MISCS_REG_LINK_IN_L23 0x00977cUL //Access:R DataWidth:0x1 // When this bit is 1 it indicates that the link is down and PCIE is prepared for operation off of VAUX. TBD: set to 0 in NM. Reserved.
+#define MISCS_REG_LINK_IN_L23_BB_K2 0x00977cUL //Access:R DataWidth:0x1 // When this bit is 1 it indicates that the link is down and PCIE is prepared for operation off of VAUX. TBD: set to 0 in NM. Reserved.
#define MISCS_REG_PCIE_DIS_IO 0x009780UL //Access:R DataWidth:0x1 // This bit reports the current state of the PCIE_DIS pin. If this bit is 1 it means that the LOM design has been strapped to support management only. The PCI power will always read as '0' in this state; as if the chip is in Out-Of-Box WOL mode.
#define MISCS_REG_INTERNAL_PERST_N 0x009784UL //Access:R DataWidth:0x1 // The status of the internal perst_n control (active low) that goes to the PCIE CORE.
#define MISCS_REG_HRST_ASSERT_CNT 0x009788UL //Access:RW DataWidth:0x10 // Accounts for Hard reset assertion. Is reset on POR reset.
@@ -34286,6 +34297,7 @@
#define DMAE_REG_GO_C29 0x00c0bcUL //Access:RW DataWidth:0x1 // Command 29 go.
#define DMAE_REG_GO_C30 0x00c0c0UL //Access:RW DataWidth:0x1 // Command 30 go.
#define DMAE_REG_GO_C31 0x00c0c4UL //Access:RW DataWidth:0x1 // Command 31 go.
+#define DMAE_REG_GO_STICKY_E5 0x00c0c8UL //Access:R DataWidth:0x5 // The number of lastly performed command.
#define DMAE_REG_INT_STS 0x00c180UL //Access:R DataWidth:0x2 // Multi Field Register.
#define DMAE_REG_INT_STS_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define DMAE_REG_INT_STS_ADDRESS_ERROR_SHIFT 0
@@ -34306,14 +34318,14 @@
#define DMAE_REG_INT_STS_CLR_ADDRESS_ERROR_SHIFT 0
#define DMAE_REG_INT_STS_CLR_PCI_RD_BUF_ERR (0x1<<1) // PCI read buffer error.
#define DMAE_REG_INT_STS_CLR_PCI_RD_BUF_ERR_SHIFT 1
-#define DMAE_REG_PRTY_MASK_H_0_BB_K2 0x00c204UL //Access:RW DataWidth:0x3 // Multi Field Register.
- #define DMAE_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: DMAE_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define DMAE_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 0
- #define DMAE_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: DMAE_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define DMAE_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 1
- #define DMAE_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: DMAE_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define DMAE_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 2
-#define DMAE_REG_MEM_ECC_EVENTS_BB_K2 0x00c210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define DMAE_REG_PRTY_MASK_H_0 0x00c204UL //Access:RW DataWidth:0x3 // Multi Field Register.
+ #define DMAE_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<0) // This bit masks, when set, the Parity bit: DMAE_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define DMAE_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 0
+ #define DMAE_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<1) // This bit masks, when set, the Parity bit: DMAE_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define DMAE_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 1
+ #define DMAE_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<2) // This bit masks, when set, the Parity bit: DMAE_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define DMAE_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 2
+#define DMAE_REG_MEM_ECC_EVENTS 0x00c210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define DMAE_REG_PXP_REQ_INIT_CRD 0x00c400UL //Access:RW DataWidth:0x4 // DMAE- PCI Request Interface initial credit. Write writes the initial value to the credit counter; related to the address. Read returns the current value of the counter.
#define DMAE_REG_RLXD_ORDR 0x00c404UL //Access:RW DataWidth:0x1 // Relaxed ordering. 0-strict PCI ordering is used;1-PCI-X relaxed ordering is enabled.
#define DMAE_REG_NO_SNOOP 0x00c408UL //Access:RW DataWidth:0x1 // 0-PCI type cache snoop protection is required;1-system isn't required to cause processor cache snoop for coherency.
@@ -34397,10 +34409,10 @@
#define DBG_REG_INT_STS_CLR 0x01018cUL //Access:RC DataWidth:0x1 // Multi Field Register.
#define DBG_REG_INT_STS_CLR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define DBG_REG_INT_STS_CLR_ADDRESS_ERROR_SHIFT 0
-#define DBG_REG_PRTY_MASK_H_0_BB_K2 0x010204UL //Access:RW DataWidth:0x1 // Multi Field Register.
- #define DBG_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: DBG_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define DBG_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 0
-#define DBG_REG_MEM_ECC_EVENTS_BB_K2 0x010210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define DBG_REG_PRTY_MASK_H_0 0x010204UL //Access:RW DataWidth:0x1 // Multi Field Register.
+ #define DBG_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<0) // This bit masks, when set, the Parity bit: DBG_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define DBG_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 0
+#define DBG_REG_MEM_ECC_EVENTS 0x010210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define DBG_REG_INTR_BUFFER_RD_PTR 0x010400UL //Access:R DataWidth:0x8 // Debug only: These bits indicate the value of the read pointer for the internal buffer; The read pointer describes the next address to be read from the internal buffer.
#define DBG_REG_INTR_BUFFER_WR_PTR 0x010404UL //Access:R DataWidth:0x8 // Debug only: These bits indicate the value of the write pointer for the internal buffer; The write pointer describes the last address that was written to the internal buffer. An exception exists after reset when DBG_REGISTERS_INTR_BUFFER_WR_PTR is 0 until first data is written.
#define DBG_REG_EXT_BUFFER_RD_PTR 0x010408UL //Access:WB_R DataWidth:0x40 // Debug only: These bits indicate the value of the read pointer for the external pci buffer; relevant only when DBG_REGISTERS_DEBUG_TARGET =2 (PCI); The read pointer describes the next address to be read from the external buffer; WB Read Only (write request will not be acknowledged); (in bytes).
@@ -34427,11 +34439,11 @@
#define DBG_REG_FULL_BUFFER_THR 0x01045cUL //Access:RW DataWidth:0x9 // Debug only: These bits indicate the value of the internal buffer almost full threshold used for deciding when dbg_sem_buffer_full output should go high/low; holds the number of 512 bit free lines in the internal buffer under which the full would go high; not applicable when DBG_REGISTERS_DEBUG_TARGET =0 (internal buffer) and DBG_REGISTERS_FULL_MODE =1 (wrap). NOTE: When filter_enable > 0 then this register should be >= 12.
#define DBG_REG_PCI_LOGIC_ADDR 0x010460UL //Access:RW DataWidth:0x1 // Debug only: This bit indicates logical/physical address in PCI request as follows: (a) 1 - logical address; (b) 0 - physical address;.
#define DBG_REG_IFMUX_SELECT_K2_E5 0x010464UL //Access:RW DataWidth:0x3 // Debug only: Selects 32b of data, valid and frame from the input stream to internal buffer to be output to IFMUX interface. 0 - bits[31:0] 1 - bits[63:32] 2:6 - etc. 7 - bits[255:224]
-#define DBG_REG_CALENDAR_OUT_DATA 0x010480UL //Access:WB_R DataWidth:0x115 // Debug only: These bits indicate the value of the sop; data; frame and valid output of the calendar; The concatenation is done as follows: bits 255:0 - data; bits 259:256 - frame; bits 263:260 - valid; bits 275:264 - ID; bits 276 - SOP.
+#define DBG_REG_CALENDAR_OUT_DATA 0x010480UL //Access:WB_R DataWidth:0x132 // Debug only: These bits indicate the value of the sop; data; frame and valid output of the calendar; The concatenation is done as follows: bits 255:0 - data; bits 263:256 - frame; bits 271:264 - valid; bits 303:272 - ID; bits 305:304 - SOP.
#define DBG_REG_CALENDAR_OUT_DATA_SIZE 16
-#define DBG_REG_EXPECTED_PATTERN 0x0104c0UL //Access:WB DataWidth:0x131 // Debug only: For pattern recognition usage: These bits represent the pattern to be compared with the vector {sop; id[31:0]; valid[7:0];frame[7:0]; data[255:0]}; This vector represent the debug data it's slot number and it's frame signals that are going to stored in the internal buffer; to allow recognize sop the following should be applied: trigger_enable=1 and filter_enable>0.NOTE: In order to take into consideration the SOP value set trigger_enable=1 and filter_enable>0
+#define DBG_REG_EXPECTED_PATTERN 0x0104c0UL //Access:WB DataWidth:0x132 // Debug only: For pattern recognition usage: These bits represent the pattern to be compared with the vector {sop[1:0]; id[31:0]; valid[7:0];frame[7:0]; data[255:0]}; This vector represent the debug data it's slot number and it's frame signals that are going to stored in the internal buffer; to allow recognize sop the following should be applied: trigger_enable=1 and filter_enable>0.NOTE: In order to take into consideration the SOP value set trigger_enable=1 and filter_enable>0
#define DBG_REG_EXPECTED_PATTERN_SIZE 16
-#define DBG_REG_EXPECTED_PATTERN_BIT_MASK 0x010500UL //Access:WB DataWidth:0x131 // Debug only: For pattern recognition usage: These bits represent a mask bit vector that refers to the DBG_REGISTERS_EXPECTED_PATTERN vector as follows: (a) 1 - bit is masked. This bit won't be compared with the DBG_REGISTERS_EXPECTED_PATTERN referred bit; (b) 0 - bit is enabled. This bit will be compared with the DBG_REGISTERS_EXPECTED_PATTERN reffered bit.
+#define DBG_REG_EXPECTED_PATTERN_BIT_MASK 0x010500UL //Access:WB DataWidth:0x132 // Debug only: For pattern recognition usage: These bits represent a mask bit vector that refers to the DBG_REGISTERS_EXPECTED_PATTERN vector as follows: (a) 1 - bit is masked. This bit won't be compared with the DBG_REGISTERS_EXPECTED_PATTERN referred bit; (b) 0 - bit is enabled. This bit will be compared with the DBG_REGISTERS_EXPECTED_PATTERN reffered bit.
#define DBG_REG_EXPECTED_PATTERN_BIT_MASK_SIZE 16
#define DBG_REG_PATTERN_RECOGNITION_DISABLE 0x010540UL //Access:RW DataWidth:0x1 // Debug only: For pattern recognition usage: This bit indicates whether the pattern recognition feature is disabled/enabled as follows: (a) 1 - disabled; (b) 0 - enabled;.
#define DBG_REG_PATTERN_RECOGNITION_STORAGE_MODE 0x010544UL //Access:RW DataWidth:0x1 // Debug only: For pattern recognition usage: This bit indicates the trigger behavior of the pattern recognition feature as follows: (a) 1 - stop debug data storgae when the expected pattern is initially recognized; (b) 0 - start debug data storage when the expected pattern is initially recognized. When pattern_recognition_filter=0 then this register must be 0
@@ -34946,6 +34958,7 @@
#define DBG_REG_MEMCTRL_STATUS 0x010ba0UL //Access:R DataWidth:0x20 // status from CPU BIST
#define DBG_REG_NUM_OF_EMPTY_LINES_IN_INT_BUFFER 0x010ba4UL //Access:R DataWidth:0x8 // Number of empty lines in internal buffer.
#define DBG_REG_FILTER_MODE_E5 0x010ba8UL //Access:RW DataWidth:0x1 // When set to 0 - only client which HW ID is defined in DBG_REGISTERS_FILTER_ID_NUM.FILTER_ID_NUM is logged. When set to 1 - the client which HW ID is defined in DBG_REGISTERS_FILTER_ID_NUM.FILTER_ID_NUM is filtered, while other clients are passed as as is without filtering.
+#define DBG_REG_TRIGGER_SEMI_CORE_E5 0x010bacUL //Access:RW DataWidth:0x1 // When 0 - SEMI core A is selected for all trigger/filter related activities; when 1 - SEMI core B.
#define DBG_REG_INTR_BUFFER 0x014000UL //Access:WB DataWidth:0x200 // Debug only: Internal buffer of 12KByte buffer.
#define DBG_REG_INTR_BUFFER_SIZE 3072
#define IPC_REG_PLL_MAIN_DIVR_K2_E5 0x020200UL //Access:RW DataWidth:0x6 // PLLLOUT = REF / DIVR_Value * DIVF_Value * 2 / DIVQ_Value Reference divider value
@@ -36201,10 +36214,14 @@
#define CPMU_REG_SDM_SQ_COUNTER_E1_P1 0x0303fcUL //Access:R DataWidth:0x20 // SDM SQ counter value for Engine 1, port 1.
#define CPMU_REG_SDM_SQ_COUNTER_E0_P2_K2_E5 0x030400UL //Access:R DataWidth:0x20 // SDM SQ counter value for Engine 0, port 2.
#define CPMU_REG_SDM_SQ_COUNTER_E0_P3_K2_E5 0x030404UL //Access:R DataWidth:0x20 // SDM SQ counter value for Engine 0, port 3.
-#define NCSI_REG_PRTY_MASK_H_0_BB_K2 0x040004UL //Access:RW DataWidth:0x1 // Multi Field Register.
- #define NCSI_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: NCSI_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define NCSI_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 0
-#define NCSI_REG_MEM_ECC_EVENTS_BB_K2 0x040010UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define NCSI_REG_PRTY_MASK_H_0 0x040004UL //Access:RW DataWidth:0x3 // Multi Field Register.
+ #define NCSI_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<0) // This bit masks, when set, the Parity bit: NCSI_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define NCSI_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 0
+ #define NCSI_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: NCSI_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define NCSI_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 1
+ #define NCSI_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: NCSI_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define NCSI_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 2
+#define NCSI_REG_MEM_ECC_EVENTS 0x040010UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define NCSI_REG_CONFIG 0x040200UL //Access:RW DataWidth:0xe // Multi Field Register.
#define NCSI_REG_CONFIG_PROMISCOUS (0x1<<0) // Setting this bit to a '1' will result in all packets received from BMC to be routed to MCP.
#define NCSI_REG_CONFIG_PROMISCOUS_SHIFT 0
@@ -36488,8 +36505,8 @@
#define GRC_REG_DBG_FORCE_FRAME 0x0500b4UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
#define GRC_REG_DBG_OUT_DATA 0x0500c0UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define GRC_REG_DBG_OUT_DATA_SIZE 8
-#define GRC_REG_DBG_OUT_VALID 0x0500e0UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define GRC_REG_DBG_OUT_FRAME 0x0500e4UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define GRC_REG_DBG_OUT_VALID 0x0500e0UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define GRC_REG_DBG_OUT_FRAME 0x0500e4UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define GRC_REG_DBGSYN_STATUS 0x0500e8UL //Access:R DataWidth:0x5 // Fill level of dbgmux fifo.
#define GRC_REG_DBGSYN_ALMOST_FULL_THR 0x0500ecUL //Access:RW DataWidth:0x4 // Debug only: If more than this Number of entries are occupied in the dbgsyn clock synchronization FIFO, it does not enable writing to the fifo. This value is based on implementation and should not be changed.
#define GRC_REG_INT_STS_0 0x050180UL //Access:R DataWidth:0x5 // Multi Field Register.
@@ -36796,75 +36813,75 @@
#define MCP2_REG_PRTY_MASK_ROM_PARITY (0x1<<0) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS.ROM_PARITY .
#define MCP2_REG_PRTY_MASK_ROM_PARITY_SHIFT 0
#define MCP2_REG_ECO_RESERVED 0x052200UL //Access:RW DataWidth:0x8 // Debug only: Reserved bits for ECO.
-#define MCP2_REG_PRTY_MASK_H_0_BB_K2 0x052208UL //Access:RW DataWidth:0xc // Multi Field Register.
- #define MCP2_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
- #define MCP2_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM006_I_ECC_0_RF_INT .
- #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_BB_K2_SHIFT 1
- #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_1_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM006_I_ECC_1_RF_INT .
- #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_1_RF_INT_BB_K2_SHIFT 2
- #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_2_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM006_I_ECC_2_RF_INT .
- #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_2_RF_INT_BB_K2_SHIFT 3
- #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_3_RF_INT_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM006_I_ECC_3_RF_INT .
- #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_3_RF_INT_BB_K2_SHIFT 4
- #define MCP2_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM007_I_ECC_RF_INT .
- #define MCP2_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_BB_K2_SHIFT 5
- #define MCP2_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define MCP2_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 6
- #define MCP2_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define MCP2_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 7
- #define MCP2_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define MCP2_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 8
- #define MCP2_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define MCP2_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 9
- #define MCP2_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define MCP2_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 10
- #define MCP2_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
- #define MCP2_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 11
-#define MCP2_REG_MEM006_RF_ECC_ERROR_CONNECT_0_BB_K2 0x052214UL //Access:W DataWidth:0xa // Register to generate up to two ECC errors on the next write to memory: mcp.i_mcp_scratchpad_mem_0.rf_ecc_error_connect_0 Includes 2 words of 5 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 8. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define MCP2_REG_MEM006_RF_ECC_ERROR_CONNECT_1_BB_K2 0x052218UL //Access:W DataWidth:0xa // Register to generate up to two ECC errors on the next write to memory: mcp.i_mcp_scratchpad_mem_0.rf_ecc_error_connect_1 Includes 2 words of 5 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 8. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define MCP2_REG_MEM006_RF_ECC_ERROR_CONNECT_2_BB_K2 0x05221cUL //Access:W DataWidth:0xa // Register to generate up to two ECC errors on the next write to memory: mcp.i_mcp_scratchpad_mem_0.rf_ecc_error_connect_2 Includes 2 words of 5 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 8. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define MCP2_REG_MEM006_RF_ECC_ERROR_CONNECT_3_BB_K2 0x052220UL //Access:W DataWidth:0xa // Register to generate up to two ECC errors on the next write to memory: mcp.i_mcp_scratchpad_mem_0.rf_ecc_error_connect_3 Includes 2 words of 5 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 8. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define MCP2_REG_MEM_ECC_ENABLE_0_BB_K2 0x052224UL //Access:RW DataWidth:0x6 // Multi Field Register.
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance mcp.i_flsh.i_flsh_buffer.i_ecc in module flsh_buffer
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2_SHIFT 0
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_0_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_0 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_0_EN_BB_K2_SHIFT 1
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_1_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_1 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_1_EN_BB_K2_SHIFT 2
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_2_EN_BB_K2 (0x1<<3) // Enable ECC for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_2 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_2_EN_BB_K2_SHIFT 3
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_3_EN_BB_K2 (0x1<<4) // Enable ECC for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_3 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_3_EN_BB_K2_SHIFT 4
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_BB_K2 (0x1<<5) // Enable ECC for memory ecc instance mcp.i_mcp_scratchpad_mem_1.i_ecc in module mcp_scratchpad_nobe_mem
- #define MCP2_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_BB_K2_SHIFT 5
-#define MCP2_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x052228UL //Access:RW DataWidth:0x6 // Multi Field Register.
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance mcp.i_flsh.i_flsh_buffer.i_ecc in module flsh_buffer
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2_SHIFT 0
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_0_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_0 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_0_PRTY_BB_K2_SHIFT 1
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_1_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_1 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_1_PRTY_BB_K2_SHIFT 2
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_2_PRTY_BB_K2 (0x1<<3) // Set parity only for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_2 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_2_PRTY_BB_K2_SHIFT 3
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_3_PRTY_BB_K2 (0x1<<4) // Set parity only for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_3 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_3_PRTY_BB_K2_SHIFT 4
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_BB_K2 (0x1<<5) // Set parity only for memory ecc instance mcp.i_mcp_scratchpad_mem_1.i_ecc in module mcp_scratchpad_nobe_mem
- #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_BB_K2_SHIFT 5
-#define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x05222cUL //Access:RC DataWidth:0x6 // Multi Field Register.
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance mcp.i_flsh.i_flsh_buffer.i_ecc in module flsh_buffer
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2_SHIFT 0
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_0_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_0 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_0_CORRECT_BB_K2_SHIFT 1
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_1_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_1 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_1_CORRECT_BB_K2_SHIFT 2
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_2_CORRECT_BB_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_2 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_2_CORRECT_BB_K2_SHIFT 3
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_3_CORRECT_BB_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_3 in module mcp_scratchpad_mem
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_3_CORRECT_BB_K2_SHIFT 4
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_BB_K2 (0x1<<5) // Record if a correctable error occurred on memory ecc instance mcp.i_mcp_scratchpad_mem_1.i_ecc in module mcp_scratchpad_nobe_mem
- #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_BB_K2_SHIFT 5
-#define MCP2_REG_MEM_ECC_EVENTS_BB_K2 0x052230UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define MCP2_REG_PRTY_MASK_H_0 0x052208UL //Access:RW DataWidth:0xc // Multi Field Register.
+ #define MCP2_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_SHIFT 0
+ #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM006_I_ECC_0_RF_INT .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_SHIFT 1
+ #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_1_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM006_I_ECC_1_RF_INT .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_1_RF_INT_SHIFT 2
+ #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_2_RF_INT (0x1<<3) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM006_I_ECC_2_RF_INT .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_2_RF_INT_SHIFT 3
+ #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_3_RF_INT (0x1<<4) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM006_I_ECC_3_RF_INT .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM006_I_ECC_3_RF_INT_SHIFT 4
+ #define MCP2_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT (0x1<<5) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM007_I_ECC_RF_INT .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_SHIFT 5
+ #define MCP2_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY (0x1<<6) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_SHIFT 6
+ #define MCP2_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<7) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 7
+ #define MCP2_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<8) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 8
+ #define MCP2_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY (0x1<<9) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_SHIFT 9
+ #define MCP2_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY (0x1<<10) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_SHIFT 10
+ #define MCP2_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY (0x1<<11) // This bit masks, when set, the Parity bit: MCP2_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define MCP2_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_SHIFT 11
+#define MCP2_REG_MEM006_RF_ECC_ERROR_CONNECT_0 0x052214UL //Access:W DataWidth:0xa // Register to generate up to two ECC errors on the next write to memory: mcp.i_mcp_scratchpad_mem_0.rf_ecc_error_connect_0 Includes 2 words of 5 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 8. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define MCP2_REG_MEM006_RF_ECC_ERROR_CONNECT_1 0x052218UL //Access:W DataWidth:0xa // Register to generate up to two ECC errors on the next write to memory: mcp.i_mcp_scratchpad_mem_0.rf_ecc_error_connect_1 Includes 2 words of 5 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 8. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define MCP2_REG_MEM006_RF_ECC_ERROR_CONNECT_2 0x05221cUL //Access:W DataWidth:0xa // Register to generate up to two ECC errors on the next write to memory: mcp.i_mcp_scratchpad_mem_0.rf_ecc_error_connect_2 Includes 2 words of 5 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 8. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define MCP2_REG_MEM006_RF_ECC_ERROR_CONNECT_3 0x052220UL //Access:W DataWidth:0xa // Register to generate up to two ECC errors on the next write to memory: mcp.i_mcp_scratchpad_mem_0.rf_ecc_error_connect_3 Includes 2 words of 5 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 8. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define MCP2_REG_MEM_ECC_ENABLE_0 0x052224UL //Access:RW DataWidth:0x6 // Multi Field Register.
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN (0x1<<0) // Enable ECC for memory ecc instance mcp.i_flsh.i_flsh_buffer.i_ecc in module flsh_buffer
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_SHIFT 0
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_0_EN (0x1<<1) // Enable ECC for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_0 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_0_EN_SHIFT 1
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_1_EN (0x1<<2) // Enable ECC for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_1 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_1_EN_SHIFT 2
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_2_EN (0x1<<3) // Enable ECC for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_2 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_2_EN_SHIFT 3
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_3_EN (0x1<<4) // Enable ECC for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_3 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_3_EN_SHIFT 4
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN (0x1<<5) // Enable ECC for memory ecc instance mcp.i_mcp_scratchpad_mem_1.i_ecc in module mcp_scratchpad_nobe_mem
+ #define MCP2_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_SHIFT 5
+#define MCP2_REG_MEM_ECC_PARITY_ONLY_0 0x052228UL //Access:RW DataWidth:0x6 // Multi Field Register.
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY (0x1<<0) // Set parity only for memory ecc instance mcp.i_flsh.i_flsh_buffer.i_ecc in module flsh_buffer
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_SHIFT 0
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_0_PRTY (0x1<<1) // Set parity only for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_0 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_0_PRTY_SHIFT 1
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_1_PRTY (0x1<<2) // Set parity only for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_1 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_1_PRTY_SHIFT 2
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_2_PRTY (0x1<<3) // Set parity only for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_2 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_2_PRTY_SHIFT 3
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_3_PRTY (0x1<<4) // Set parity only for memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_3 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_3_PRTY_SHIFT 4
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY (0x1<<5) // Set parity only for memory ecc instance mcp.i_mcp_scratchpad_mem_1.i_ecc in module mcp_scratchpad_nobe_mem
+ #define MCP2_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_SHIFT 5
+#define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0 0x05222cUL //Access:RC DataWidth:0x6 // Multi Field Register.
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT (0x1<<0) // Record if a correctable error occurred on memory ecc instance mcp.i_flsh.i_flsh_buffer.i_ecc in module flsh_buffer
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_SHIFT 0
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_0_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_0 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_0_CORRECT_SHIFT 1
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_1_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_1 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_1_CORRECT_SHIFT 2
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_2_CORRECT (0x1<<3) // Record if a correctable error occurred on memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_2 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_2_CORRECT_SHIFT 3
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_3_CORRECT (0x1<<4) // Record if a correctable error occurred on memory ecc instance mcp.i_mcp_scratchpad_mem_0.i_ecc_3 in module mcp_scratchpad_mem
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_3_CORRECT_SHIFT 4
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT (0x1<<5) // Record if a correctable error occurred on memory ecc instance mcp.i_mcp_scratchpad_mem_1.i_ecc in module mcp_scratchpad_nobe_mem
+ #define MCP2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_SHIFT 5
+#define MCP2_REG_MEM_ECC_EVENTS 0x052230UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define MCP2_REG_DBG_SELECT 0x052400UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define MCP2_REG_DBG_DWORD_ENABLE 0x052404UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define MCP2_REG_DBG_SHIFT 0x052408UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -36872,8 +36889,8 @@
#define MCP2_REG_DBG_OUT_DATA_SIZE 8
#define MCP2_REG_DBG_FORCE_VALID 0x052440UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for forcing the valid signal per dword (128bit line) / qword (256bit line) (before shift).
#define MCP2_REG_DBG_FORCE_FRAME 0x052444UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
-#define MCP2_REG_DBG_OUT_VALID 0x052448UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define MCP2_REG_DBG_OUT_FRAME 0x05244cUL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define MCP2_REG_DBG_OUT_VALID 0x052448UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define MCP2_REG_DBG_OUT_FRAME 0x05244cUL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define OPTE_REG_PRTY_MASK_H_0_BB_K2 0x053004UL //Access:RW DataWidth:0xb // Multi Field Register.
#define OPTE_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: OPTE_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
#define OPTE_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 0
@@ -37443,8 +37460,8 @@
#define PCIE_REG_PRTY_MASK_APP_PARITY_ERRS_2_K2_E5_SHIFT 2
#define PCIE_REG_DBG_OUT_DATA_K2_E5 0x0547c0UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define PCIE_REG_DBG_OUT_DATA_SIZE 8
-#define PCIE_REG_DBG_OUT_VALID_K2_E5 0x0547e0UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define PCIE_REG_DBG_OUT_FRAME_K2_E5 0x0547e4UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define PCIE_REG_DBG_OUT_VALID_K2_E5 0x0547e0UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define PCIE_REG_DBG_OUT_FRAME_K2_E5 0x0547e4UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define PCIE_REG_DBG_SELECT_K2_E5 0x0547e8UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define PCIE_REG_DBG_DWORD_ENABLE_K2_E5 0x0547ecUL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define PCIE_REG_DBG_SHIFT_K2_E5 0x0547f0UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -37605,23 +37622,45 @@
#define DORQ_REG_PRTY_MASK 0x100194UL //Access:RW DataWidth:0x1 // Multi Field Register.
#define DORQ_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<0) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS.DATAPATH_REGISTERS .
#define DORQ_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 0
-#define DORQ_REG_PRTY_MASK_H_0_BB_K2 0x100204UL //Access:RW DataWidth:0x6 // Multi Field Register.
- #define DORQ_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
- #define DORQ_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2_SHIFT 0
+#define DORQ_REG_PRTY_MASK_H_0 0x100204UL //Access:RW DataWidth:0xc // Multi Field Register.
+ #define DORQ_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_SHIFT 0
+ #define DORQ_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 1
+ #define DORQ_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 2
#define DORQ_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define DORQ_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define DORQ_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 3
+ #define DORQ_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 4
+ #define DORQ_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 5
+ #define DORQ_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 6
+ #define DORQ_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 7
#define DORQ_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define DORQ_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 2
+ #define DORQ_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 8
#define DORQ_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define DORQ_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define DORQ_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 9
#define DORQ_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define DORQ_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 4
+ #define DORQ_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 10
#define DORQ_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define DORQ_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 5
-#define DORQ_REG_MEM_ECC_ENABLE_0_BB_K2 0x100210UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance dorq.i_dorq_fifo_mem.i_ecc in module dorq_fifo_mem
-#define DORQ_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x100214UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance dorq.i_dorq_fifo_mem.i_ecc in module dorq_fifo_mem
-#define DORQ_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x100218UL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance dorq.i_dorq_fifo_mem.i_ecc in module dorq_fifo_mem
-#define DORQ_REG_MEM_ECC_EVENTS_BB_K2 0x10021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+ #define DORQ_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: DORQ_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define DORQ_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 11
+#define DORQ_REG_MEM_ECC_ENABLE_0 0x100210UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance dorq.i_dorq_fifo_mem.i_ecc in module dorq_fifo_mem
+#define DORQ_REG_MEM_ECC_PARITY_ONLY_0 0x100214UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance dorq.i_dorq_fifo_mem.i_ecc in module dorq_fifo_mem
+#define DORQ_REG_MEM_ECC_ERROR_CORRECTED_0 0x100218UL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance dorq.i_dorq_fifo_mem.i_ecc in module dorq_fifo_mem
+#define DORQ_REG_MEM_ECC_EVENTS 0x10021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define DORQ_REG_PF_MIN_ADDR_REG1 0x100400UL //Access:RW DataWidth:0x14 // The offset in units of 4KB from the start of the doorbell space to the start of region 1 (PWM region). This is a per PF configuration.
#define DORQ_REG_VF_MIN_ADDR_REG1 0x100404UL //Access:RW DataWidth:0x14 // The offset in units of 4KB from the start of the doorbell space to the start of region 1 (PWM region). This is a per PF configuration.
#define DORQ_REG_PF_MAX_ICID_0_BB_K2 0x100408UL //Access:RW DataWidth:0xc // The value in the register, when multiplied by 16, is equal to the maximum ICID plus 1 of connection type 0. This is per PF configuration.
@@ -38145,9 +38184,9 @@
#define DORQ_REG_IEDPM_ABORT_DETAILS_CID_E5 0x102bc4UL //Access:R DataWidth:0x20 // Stores the details of the first aborted IEDPM doorbell after this register was cleared. It is reset on write to db_abort_details_rel. The following details of the transaction will be recorded: CID.
#define DORQ_REG_IEDPM_ABORT_DETAILS_DPM_SIZE_E5 0x102bc8UL //Access:R DataWidth:0x6 // Stores the details of the first aborted IEDPM doorbell after this register was cleared. It is reset on write to db_abort_details_rel. The following details of the transaction will be recorded: Doorbell DPM size.
#define DORQ_REG_IEDPM_ABORT_DETAILS_SRC_CLN_ID_E5 0x102bccUL //Access:R DataWidth:0x4 // Stores the details of the first aborted IEDPM doorbell after this register was cleared. It is reset on write to db_abort_details_rel. The following details of the transaction will be recorded: Source client ID.
-#define DORQ_REG_IEDPM_ABORT_DETAILS_REASON_E5 0x102bd0UL //Access:R DataWidth:0x4 // Stores the details of the first aborted doorbell after this register was cleared. It is reset on write to db_abort_details_rel. The following details of the transaction will be recorded: 0 - First DPM doorbell does not match DPM global start conditions at CFC load response for Internal EDPM doorbell; 1 - First DPM doorbell does not match DPM global start conditions at WAIT_CFC state for Internal EDPM doorbell; 2 - IEDPM context check fail; 3 - IEDPM DbTimer expiration;
+#define DORQ_REG_IEDPM_ABORT_DETAILS_REASON_E5 0x102bd0UL //Access:R DataWidth:0x5 // Stores the details of the first aborted doorbell after this register was cleared. It is reset on write to db_abort_details_rel. The following details of the transaction will be recorded: 0 - First DPM doorbell does not match DPM global start conditions at CFC load response for Internal EDPM doorbell; 1 - First DPM doorbell does not match DPM global start conditions at WAIT_CFC state for Internal EDPM doorbell; 2 - IEDPM context check fail; 3 - IEDPM DbTimer expiration; 4 - CFC load response with error;
#define DORQ_REG_IEDPM_ABORT_DETAILS_REL_E5 0x102bd4UL //Access:W DataWidth:0x1 // Clears iedpm_abort_details and makes it ready for the next details capture. Write only.
-#define DORQ_REG_IEDPM_ABORT_REASON_E5 0x102bd8UL //Access:R DataWidth:0x4 // Sticky status of abort reason (a bit per reason). It is reset on write to db_abort_details_rel. 0 - First DPM doorbell does not match DPM global start conditions at CFC load response for Internal EDPM doorbell; 1 - First DPM doorbell does not match DPM global start conditions at WAIT_CFC state for Internal EDPM doorbell; 2 - IEDPM context check fail; 3 - IEDPM DbTimer expiration;
+#define DORQ_REG_IEDPM_ABORT_REASON_E5 0x102bd8UL //Access:R DataWidth:0x5 // Sticky status of abort reason (a bit per reason). It is reset on write to db_abort_details_rel. 0 - First DPM doorbell does not match DPM global start conditions at CFC load response for Internal EDPM doorbell; 1 - First DPM doorbell does not match DPM global start conditions at WAIT_CFC state for Internal EDPM doorbell; 2 - IEDPM context check fail; 3 - IEDPM DbTimer expiration; 4 - CFC load response with error;
#define DORQ_REG_IEDPM_DROP_DETAILS_REASON_E5 0x102bdcUL //Access:R DataWidth:0x5 // Stores the details of the first dropped IEDPM doorbell after logging was re-armed by iedpm_drop_details_rel. The following details of the transaction will be recorded: IEDPM doorbell drop reason: 4 - First QWord (offset 0) arives on IEDPM buffer which is not free; 3 - Non-first QWord (offset other than 0) arives on IEDPM buffer which is not free and non-contigious offset; 2 - Non-first QWord (offset other than 0) arives on IEDPM buffer which is free; 1 - Drop prior to being exposed to IEDPM buffer due to first drop doesn't include 2 QWords 0 - Drop prior to being exposed to IEDPM buffer due to ICID is greater or equal to PrvMaxIcid[DbPfid][DbFtype][5];
#define DORQ_REG_IEDPM_DROP_DETAILS_SRC_CLN_E5 0x102be0UL //Access:R DataWidth:0x4 // Stores the details of the first dropped IEDPM doorbell after logging was re-armed by iedpm_drop_details_rel. The following details of the transaction will be recorded: Source client ID.
#define DORQ_REG_IEDPM_DROP_DETAILS_DB_ADDR_E5 0x102be4UL //Access:R DataWidth:0x8 // Stores the details of the first dropped IEDPM doorbell after logging was re-armed by iedpm_drop_details_rel. The following details of the transaction will be recorded: Address.
@@ -38332,33 +38371,115 @@
#define IGU_REG_PRTY_MASK 0x180194UL //Access:RW DataWidth:0x1 // Multi Field Register.
#define IGU_REG_PRTY_MASK_CAM_PARITY (0x1<<0) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS.CAM_PARITY .
#define IGU_REG_PRTY_MASK_CAM_PARITY_SHIFT 0
-#define IGU_REG_PRTY_MASK_H_0_BB_K2 0x180204UL //Access:RW DataWidth:0x1c // Multi Field Register.
- #define IGU_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
- #define IGU_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define IGU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define IGU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_SHIFT 1
- #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_SHIFT 1
- #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_SHIFT 2
+#define IGU_REG_PRTY_MASK_H_0 0x180204UL //Access:RW DataWidth:0x1c // Multi Field Register.
+ #define IGU_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
+ #define IGU_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_E5_SHIFT 0
+ #define IGU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 6
+ #define IGU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 1
+ #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_K2 (0x1<<7) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_0 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_K2_SHIFT 7
+ #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_E5 (0x1<<2) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_0 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_E5_SHIFT 2
+ #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_K2 (0x1<<8) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_1 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_K2_SHIFT 8
+ #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_E5 (0x1<<3) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_1 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_E5_SHIFT 3
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_BB (0x1<<9) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_0 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_BB_SHIFT 9
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_E5 (0x1<<4) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_0 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_E5_SHIFT 4
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_BB (0x1<<10) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_1 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_BB_SHIFT 10
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_E5 (0x1<<5) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_1 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_E5_SHIFT 5
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_2_BB (0x1<<11) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_2 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_2_BB_SHIFT 11
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_2_E5 (0x1<<6) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_2 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_2_E5_SHIFT 6
+ #define IGU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 7
+ #define IGU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 13
+ #define IGU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 8
+ #define IGU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB (0x1<<19) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 19
+ #define IGU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 9
+ #define IGU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_SHIFT 19
+ #define IGU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 10
+ #define IGU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 11
+ #define IGU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 12
+ #define IGU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 13
+ #define IGU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_0_E5 (0x1<<14) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY_0 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_0_E5_SHIFT 14
+ #define IGU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_1_E5 (0x1<<15) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY_1 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_1_E5_SHIFT 15
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_0_BB (0x1<<26) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_0 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_0_BB_SHIFT 26
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_0_K2 (0x1<<22) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_0 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_0_K2_SHIFT 22
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_0_E5 (0x1<<16) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_0 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_0_E5_SHIFT 16
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_1_BB (0x1<<27) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_1 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_1_BB_SHIFT 27
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_1_K2 (0x1<<23) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_1 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_1_K2_SHIFT 23
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_1_E5 (0x1<<17) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_1 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_1_E5_SHIFT 17
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_2_BB (0x1<<28) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_2 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_2_BB_SHIFT 28
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_2_K2 (0x1<<24) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_2 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_2_K2_SHIFT 24
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_2_E5 (0x1<<18) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_2 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_2_E5_SHIFT 18
+ #define IGU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2 (0x1<<26) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_SHIFT 26
+ #define IGU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 19
+ #define IGU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_0_E5 (0x1<<20) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY_0 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_0_E5_SHIFT 20
+ #define IGU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_1_E5 (0x1<<21) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY_1 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_1_E5_SHIFT 21
+ #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_0_E5 (0x1<<22) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY_0 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_0_E5_SHIFT 22
+ #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_1_E5 (0x1<<23) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY_1 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_1_E5_SHIFT 23
+ #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_2_E5 (0x1<<24) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY_2 .
+ #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_2_E5_SHIFT 24
#define IGU_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_SHIFT 2
#define IGU_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_SHIFT 3
+ #define IGU_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5_SHIFT 25
#define IGU_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_SHIFT 3
#define IGU_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2_SHIFT 4
+ #define IGU_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5_SHIFT 26
#define IGU_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_SHIFT 4
#define IGU_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_SHIFT 5
- #define IGU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define IGU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 6
- #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_K2 (0x1<<7) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_0 .
- #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_K2_SHIFT 7
- #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_K2 (0x1<<8) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_1 .
- #define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_K2_SHIFT 8
+ #define IGU_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5_SHIFT 27
+ #define IGU_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
+ #define IGU_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2_SHIFT 0
+ #define IGU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_SHIFT 1
+ #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_SHIFT 1
+ #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define IGU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_SHIFT 2
#define IGU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_0_BB (0x1<<7) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY_0 .
#define IGU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_0_BB_SHIFT 7
#define IGU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_0_K2 (0x1<<9) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY_0 .
@@ -38371,8 +38492,6 @@
#define IGU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_2_K2_SHIFT 11
#define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2_SHIFT 12
- #define IGU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
- #define IGU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 13
#define IGU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_0_K2 (0x1<<14) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY_0 .
#define IGU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_0_K2_SHIFT 14
#define IGU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_1_K2 (0x1<<15) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY_1 .
@@ -38387,42 +38506,20 @@
#define IGU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_1_K2_SHIFT 17
#define IGU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_2_K2 (0x1<<18) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY_2 .
#define IGU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_2_K2_SHIFT 18
- #define IGU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
- #define IGU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_SHIFT 19
#define IGU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_0_BB_K2 (0x1<<20) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY_0 .
#define IGU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_0_BB_K2_SHIFT 20
#define IGU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_1_BB_K2 (0x1<<21) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY_1 .
#define IGU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_1_BB_K2_SHIFT 21
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_0_BB (0x1<<26) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_0 .
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_0_BB_SHIFT 26
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_0_K2 (0x1<<22) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_0 .
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_0_K2_SHIFT 22
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_1_BB (0x1<<27) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_1 .
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_1_BB_SHIFT 27
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_1_K2 (0x1<<23) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_1 .
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_1_K2_SHIFT 23
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_2_BB (0x1<<28) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_2 .
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_2_BB_SHIFT 28
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_2_K2 (0x1<<24) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY_2 .
- #define IGU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_2_K2_SHIFT 24
#define IGU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB (0x1<<29) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_SHIFT 29
#define IGU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2 (0x1<<25) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_SHIFT 25
- #define IGU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2 (0x1<<26) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
- #define IGU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_SHIFT 26
#define IGU_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB (0x1<<30) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_SHIFT 30
#define IGU_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2 (0x1<<27) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_SHIFT 27
#define IGU_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_SHIFT 5
- #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_BB (0x1<<9) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_0 .
- #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_BB_SHIFT 9
- #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_BB (0x1<<10) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_1 .
- #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_BB_SHIFT 10
- #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_2_BB (0x1<<11) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_2 .
- #define IGU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_2_BB_SHIFT 11
#define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_SHIFT 12
#define IGU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB (0x1<<16) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_0 .
@@ -38431,8 +38528,6 @@
#define IGU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_1_BB_SHIFT 17
#define IGU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_2_BB (0x1<<18) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_2 .
#define IGU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_2_BB_SHIFT 18
- #define IGU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB (0x1<<19) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
- #define IGU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 19
#define IGU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_2_BB (0x1<<22) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY_2 .
#define IGU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_2_BB_SHIFT 22
#define IGU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_3_BB (0x1<<23) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY_3 .
@@ -38442,16 +38537,16 @@
#define IGU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_1_BB (0x1<<25) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY_1 .
#define IGU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_1_BB_SHIFT 25
#define IGU_REG_MEM_ECC_ENABLE_0_BB 0x180220UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance igu.IGU_MSIX_288_SB_IF.i_igu_msix_mem.i_ecc in module igu_msix_288_sb_mem
-#define IGU_REG_MEM_ECC_ENABLE_0_K2 0x180210UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance igu.IGU_MSIX_368_SB_IF.i_igu_msix_mem.i_ecc in module igu_msix_368_sb_mem
+#define IGU_REG_MEM_ECC_ENABLE_0_K2_E5 0x180210UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance igu.i_igu_msix_mem.i_ecc in module igu_msix_512_sb_mem
#define IGU_REG_MEM_ECC_PARITY_ONLY_0_BB 0x180224UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance igu.IGU_MSIX_288_SB_IF.i_igu_msix_mem.i_ecc in module igu_msix_288_sb_mem
-#define IGU_REG_MEM_ECC_PARITY_ONLY_0_K2 0x180214UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance igu.IGU_MSIX_368_SB_IF.i_igu_msix_mem.i_ecc in module igu_msix_368_sb_mem
+#define IGU_REG_MEM_ECC_PARITY_ONLY_0_K2_E5 0x180214UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance igu.i_igu_msix_mem.i_ecc in module igu_msix_512_sb_mem
#define IGU_REG_PRTY_MASK_H_1_BB 0x180214UL //Access:RW DataWidth:0x1 // Multi Field Register.
#define IGU_REG_PRTY_MASK_H_1_MEM015_I_MEM_PRTY_BB (0x1<<0) // This bit masks, when set, the Parity bit: IGU_REG_PRTY_STS_H_1.MEM015_I_MEM_PRTY .
#define IGU_REG_PRTY_MASK_H_1_MEM015_I_MEM_PRTY_BB_SHIFT 0
#define IGU_REG_MEM_ECC_ERROR_CORRECTED_0_BB 0x180228UL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance igu.IGU_MSIX_288_SB_IF.i_igu_msix_mem.i_ecc in module igu_msix_288_sb_mem
-#define IGU_REG_MEM_ECC_ERROR_CORRECTED_0_K2 0x180218UL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance igu.IGU_MSIX_368_SB_IF.i_igu_msix_mem.i_ecc in module igu_msix_368_sb_mem
+#define IGU_REG_MEM_ECC_ERROR_CORRECTED_0_K2_E5 0x180218UL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance igu.i_igu_msix_mem.i_ecc in module igu_msix_512_sb_mem
#define IGU_REG_MEM_ECC_EVENTS_BB 0x18022cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
-#define IGU_REG_MEM_ECC_EVENTS_K2 0x18021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define IGU_REG_MEM_ECC_EVENTS_K2_E5 0x18021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define IGU_REG_STATISTIC_NUM_PF_MSG_SENT 0x180400UL //Access:RW DataWidth:0x14 // Debug: Number of MSI/MSIX/ATTN messages sent for the PF: address 0 - number of MSI/MSIX messages; address 1 - number of ATTN messages.
#define IGU_REG_STATISTIC_NUM_PF_MSG_SENT_SIZE 2
#define IGU_REG_STATISTIC_NUM_VF_MSG_SENT 0x180408UL //Access:RW DataWidth:0x14 // Debug: Number of MSI/MSIX messages sent for VF.
@@ -38715,14 +38810,14 @@
#define CAU_REG_INT_STS_CLEANUP_REG_SB_IDX_ERROR_SHIFT 5
#define CAU_REG_INT_STS_FSM_INVALID_LINE (0x1<<6) // The FSM arrived to an invalid line.
#define CAU_REG_INT_STS_FSM_INVALID_LINE_SHIFT 6
- #define CAU_REG_INT_STS_CQE_FIFO_ERR (0x1<<7) // Write to full FIFO or read from empty FIFO.
- #define CAU_REG_INT_STS_CQE_FIFO_ERR_SHIFT 7
#define CAU_REG_INT_STS_IGU_WDATA_FIFO_ERR (0x1<<8) // Write to full FIFO or read from empty FIFO.
#define CAU_REG_INT_STS_IGU_WDATA_FIFO_ERR_SHIFT 8
#define CAU_REG_INT_STS_IGU_REQ_FIFO_ERR (0x1<<9) // Write to full FIFO or read from empty FIFO.
#define CAU_REG_INT_STS_IGU_REQ_FIFO_ERR_SHIFT 9
#define CAU_REG_INT_STS_IGU_CMD_FIFO_ERR (0x1<<10) // Write to full FIFO or read from empty FIFO.
#define CAU_REG_INT_STS_IGU_CMD_FIFO_ERR_SHIFT 10
+ #define CAU_REG_INT_STS_CQE_FIFO_ERR_BB_K2 (0x1<<7) // Write to full FIFO or read from empty FIFO.
+ #define CAU_REG_INT_STS_CQE_FIFO_ERR_BB_K2_SHIFT 7
#define CAU_REG_INT_STS_CLR 0x1c00d8UL //Access:RC DataWidth:0xb // Multi Field Register.
#define CAU_REG_INT_STS_CLR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define CAU_REG_INT_STS_CLR_ADDRESS_ERROR_SHIFT 0
@@ -38738,14 +38833,14 @@
#define CAU_REG_INT_STS_CLR_CLEANUP_REG_SB_IDX_ERROR_SHIFT 5
#define CAU_REG_INT_STS_CLR_FSM_INVALID_LINE (0x1<<6) // The FSM arrived to an invalid line.
#define CAU_REG_INT_STS_CLR_FSM_INVALID_LINE_SHIFT 6
- #define CAU_REG_INT_STS_CLR_CQE_FIFO_ERR (0x1<<7) // Write to full FIFO or read from empty FIFO.
- #define CAU_REG_INT_STS_CLR_CQE_FIFO_ERR_SHIFT 7
#define CAU_REG_INT_STS_CLR_IGU_WDATA_FIFO_ERR (0x1<<8) // Write to full FIFO or read from empty FIFO.
#define CAU_REG_INT_STS_CLR_IGU_WDATA_FIFO_ERR_SHIFT 8
#define CAU_REG_INT_STS_CLR_IGU_REQ_FIFO_ERR (0x1<<9) // Write to full FIFO or read from empty FIFO.
#define CAU_REG_INT_STS_CLR_IGU_REQ_FIFO_ERR_SHIFT 9
#define CAU_REG_INT_STS_CLR_IGU_CMD_FIFO_ERR (0x1<<10) // Write to full FIFO or read from empty FIFO.
#define CAU_REG_INT_STS_CLR_IGU_CMD_FIFO_ERR_SHIFT 10
+ #define CAU_REG_INT_STS_CLR_CQE_FIFO_ERR_BB_K2 (0x1<<7) // Write to full FIFO or read from empty FIFO.
+ #define CAU_REG_INT_STS_CLR_CQE_FIFO_ERR_BB_K2_SHIFT 7
#define CAU_REG_INT_STS_WR 0x1c00dcUL //Access:WR DataWidth:0xb // Multi Field Register.
#define CAU_REG_INT_STS_WR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define CAU_REG_INT_STS_WR_ADDRESS_ERROR_SHIFT 0
@@ -38761,14 +38856,14 @@
#define CAU_REG_INT_STS_WR_CLEANUP_REG_SB_IDX_ERROR_SHIFT 5
#define CAU_REG_INT_STS_WR_FSM_INVALID_LINE (0x1<<6) // The FSM arrived to an invalid line.
#define CAU_REG_INT_STS_WR_FSM_INVALID_LINE_SHIFT 6
- #define CAU_REG_INT_STS_WR_CQE_FIFO_ERR (0x1<<7) // Write to full FIFO or read from empty FIFO.
- #define CAU_REG_INT_STS_WR_CQE_FIFO_ERR_SHIFT 7
#define CAU_REG_INT_STS_WR_IGU_WDATA_FIFO_ERR (0x1<<8) // Write to full FIFO or read from empty FIFO.
#define CAU_REG_INT_STS_WR_IGU_WDATA_FIFO_ERR_SHIFT 8
#define CAU_REG_INT_STS_WR_IGU_REQ_FIFO_ERR (0x1<<9) // Write to full FIFO or read from empty FIFO.
#define CAU_REG_INT_STS_WR_IGU_REQ_FIFO_ERR_SHIFT 9
#define CAU_REG_INT_STS_WR_IGU_CMD_FIFO_ERR (0x1<<10) // Write to full FIFO or read from empty FIFO.
#define CAU_REG_INT_STS_WR_IGU_CMD_FIFO_ERR_SHIFT 10
+ #define CAU_REG_INT_STS_WR_CQE_FIFO_ERR_BB_K2 (0x1<<7) // Write to full FIFO or read from empty FIFO.
+ #define CAU_REG_INT_STS_WR_CQE_FIFO_ERR_BB_K2_SHIFT 7
#define CAU_REG_INT_MASK 0x1c00e0UL //Access:RW DataWidth:0xb // Multi Field Register.
#define CAU_REG_INT_MASK_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: CAU_REG_INT_STS.ADDRESS_ERROR .
#define CAU_REG_INT_MASK_ADDRESS_ERROR_SHIFT 0
@@ -38784,29 +38879,39 @@
#define CAU_REG_INT_MASK_CLEANUP_REG_SB_IDX_ERROR_SHIFT 5
#define CAU_REG_INT_MASK_FSM_INVALID_LINE (0x1<<6) // This bit masks, when set, the Interrupt bit: CAU_REG_INT_STS.FSM_INVALID_LINE .
#define CAU_REG_INT_MASK_FSM_INVALID_LINE_SHIFT 6
- #define CAU_REG_INT_MASK_CQE_FIFO_ERR (0x1<<7) // This bit masks, when set, the Interrupt bit: CAU_REG_INT_STS.CQE_FIFO_ERR .
- #define CAU_REG_INT_MASK_CQE_FIFO_ERR_SHIFT 7
#define CAU_REG_INT_MASK_IGU_WDATA_FIFO_ERR (0x1<<8) // This bit masks, when set, the Interrupt bit: CAU_REG_INT_STS.IGU_WDATA_FIFO_ERR .
#define CAU_REG_INT_MASK_IGU_WDATA_FIFO_ERR_SHIFT 8
#define CAU_REG_INT_MASK_IGU_REQ_FIFO_ERR (0x1<<9) // This bit masks, when set, the Interrupt bit: CAU_REG_INT_STS.IGU_REQ_FIFO_ERR .
#define CAU_REG_INT_MASK_IGU_REQ_FIFO_ERR_SHIFT 9
#define CAU_REG_INT_MASK_IGU_CMD_FIFO_ERR (0x1<<10) // This bit masks, when set, the Interrupt bit: CAU_REG_INT_STS.IGU_CMD_FIFO_ERR .
#define CAU_REG_INT_MASK_IGU_CMD_FIFO_ERR_SHIFT 10
-#define CAU_REG_PRTY_MASK_H_0 0x1c0204UL //Access:RW DataWidth:0xd // Multi Field Register.
- #define CAU_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
- #define CAU_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_SHIFT 0
- #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_0_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM001_I_ECC_0_RF_INT .
- #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_0_RF_INT_SHIFT 1
- #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_1_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM001_I_ECC_1_RF_INT .
- #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_1_RF_INT_SHIFT 2
- #define CAU_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_K2_E5 (0x1<<3) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
- #define CAU_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_K2_E5_SHIFT 3
- #define CAU_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_K2_E5 (0x1<<4) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
- #define CAU_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_K2_E5_SHIFT 4
+ #define CAU_REG_INT_MASK_CQE_FIFO_ERR_BB_K2 (0x1<<7) // This bit masks, when set, the Interrupt bit: CAU_REG_INT_STS.CQE_FIFO_ERR .
+ #define CAU_REG_INT_MASK_CQE_FIFO_ERR_BB_K2_SHIFT 7
+#define CAU_REG_PRTY_MASK_H_0 0x1c0204UL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_0_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM001_I_ECC_0_RF_INT .
+ #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_0_RF_INT_BB_K2_SHIFT 1
+ #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_0_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM001_I_ECC_0_RF_INT .
+ #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_0_RF_INT_E5_SHIFT 0
+ #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_1_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM001_I_ECC_1_RF_INT .
+ #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_1_RF_INT_BB_K2_SHIFT 2
+ #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_1_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM001_I_ECC_1_RF_INT .
+ #define CAU_REG_PRTY_MASK_H_0_MEM001_I_ECC_1_RF_INT_E5_SHIFT 1
+ #define CAU_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_K2 (0x1<<3) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
+ #define CAU_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_K2_SHIFT 3
+ #define CAU_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_E5 (0x1<<2) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
+ #define CAU_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_E5_SHIFT 2
+ #define CAU_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_K2 (0x1<<4) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define CAU_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_K2_SHIFT 4
+ #define CAU_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define CAU_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_E5_SHIFT 3
#define CAU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define CAU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_SHIFT 3
- #define CAU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_E5 (0x1<<5) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
- #define CAU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_E5_SHIFT 5
+ #define CAU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define CAU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_SHIFT 5
+ #define CAU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define CAU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 4
+ #define CAU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define CAU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 5
#define CAU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define CAU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_SHIFT 4
#define CAU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_E5 (0x1<<6) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
@@ -38815,70 +38920,98 @@
#define CAU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_SHIFT 5
#define CAU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_E5 (0x1<<7) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
#define CAU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_E5_SHIFT 7
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_BB (0x1<<10) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_0 .
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_BB_SHIFT 10
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_K2 (0x1<<11) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_0 .
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_K2_SHIFT 11
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_E5 (0x1<<8) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_0 .
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_E5_SHIFT 8
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_BB (0x1<<11) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_1 .
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_BB_SHIFT 11
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_K2 (0x1<<12) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_1 .
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_K2_SHIFT 12
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_E5 (0x1<<9) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_1 .
+ #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_E5_SHIFT 9
+ #define CAU_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
+ #define CAU_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2_SHIFT 0
#define CAU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
#define CAU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_SHIFT 6
- #define CAU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_E5 (0x1<<8) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define CAU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_E5_SHIFT 8
+ #define CAU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define CAU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_SHIFT 8
#define CAU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
#define CAU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_SHIFT 7
- #define CAU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_E5 (0x1<<9) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define CAU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_E5_SHIFT 9
+ #define CAU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define CAU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_SHIFT 9
#define CAU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB (0x1<<8) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
#define CAU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_SHIFT 8
- #define CAU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_E5 (0x1<<10) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define CAU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_E5_SHIFT 10
- #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_BB (0x1<<10) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_0 .
- #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_BB_SHIFT 10
- #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_K2_E5 (0x1<<11) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_0 .
- #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_0_K2_E5_SHIFT 11
- #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_BB (0x1<<11) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_1 .
- #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_BB_SHIFT 11
- #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_K2_E5 (0x1<<12) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY_1 .
- #define CAU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_1_K2_E5_SHIFT 12
+ #define CAU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define CAU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_SHIFT 10
#define CAU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define CAU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_SHIFT 9
#define CAU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: CAU_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define CAU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_SHIFT 12
-#define CAU_REG_MEM_ECC_ENABLE_0 0x1c0210UL //Access:RW DataWidth:0x5 // Multi Field Register.
- #define CAU_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN (0x1<<0) // Enable ECC for memory ecc instance cau.i_cau_agg_unit_mem.i_ecc in module cau_agg_unit_mem_128data
- #define CAU_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_SHIFT 0
- #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_0_EN (0x1<<1) // Enable ECC for memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_0 in module cau_pi_mem_368sb
- #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_0_EN_SHIFT 1
- #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_1_EN (0x1<<2) // Enable ECC for memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_1 in module cau_pi_mem_368sb
- #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_1_EN_SHIFT 2
- #define CAU_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_K2_E5 (0x1<<3) // Enable ECC for memory ecc instance cau.cau_sb_addr_mem_368sb_IF.i_cau_sb_addr_mem.i_ecc in module cau_sb_addr_mem_368sb
- #define CAU_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_K2_E5_SHIFT 3
- #define CAU_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_K2_E5 (0x1<<4) // Enable ECC for memory ecc instance cau.cau_sb_var_mem_368sb_IF.i_cau_sb_var_mem.i_ecc in module cau_sb_var_mem_368sb
- #define CAU_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_K2_E5_SHIFT 4
-#define CAU_REG_MEM_ECC_PARITY_ONLY_0 0x1c0214UL //Access:RW DataWidth:0x5 // Multi Field Register.
- #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY (0x1<<0) // Set parity only for memory ecc instance cau.i_cau_agg_unit_mem.i_ecc in module cau_agg_unit_mem_128data
- #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_SHIFT 0
- #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_0_PRTY (0x1<<1) // Set parity only for memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_0 in module cau_pi_mem_368sb
- #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_0_PRTY_SHIFT 1
- #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_1_PRTY (0x1<<2) // Set parity only for memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_1 in module cau_pi_mem_368sb
- #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_1_PRTY_SHIFT 2
- #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_K2_E5 (0x1<<3) // Set parity only for memory ecc instance cau.cau_sb_addr_mem_368sb_IF.i_cau_sb_addr_mem.i_ecc in module cau_sb_addr_mem_368sb
- #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_K2_E5_SHIFT 3
- #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_K2_E5 (0x1<<4) // Set parity only for memory ecc instance cau.cau_sb_var_mem_368sb_IF.i_cau_sb_var_mem.i_ecc in module cau_sb_var_mem_368sb
- #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_K2_E5_SHIFT 4
-#define CAU_REG_MEM_ECC_ERROR_CORRECTED_0 0x1c0218UL //Access:RC DataWidth:0x5 // Multi Field Register.
- #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT (0x1<<0) // Record if a correctable error occurred on memory ecc instance cau.i_cau_agg_unit_mem.i_ecc in module cau_agg_unit_mem_128data
- #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_SHIFT 0
- #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_0_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_0 in module cau_pi_mem_368sb
- #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_0_CORRECT_SHIFT 1
- #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_1_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_1 in module cau_pi_mem_368sb
- #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_1_CORRECT_SHIFT 2
- #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_K2_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance cau.cau_sb_addr_mem_368sb_IF.i_cau_sb_addr_mem.i_ecc in module cau_sb_addr_mem_368sb
- #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_K2_E5_SHIFT 3
- #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_K2_E5 (0x1<<4) // Record if a correctable error occurred on memory ecc instance cau.cau_sb_var_mem_368sb_IF.i_cau_sb_var_mem.i_ecc in module cau_sb_var_mem_368sb
- #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_K2_E5_SHIFT 4
+#define CAU_REG_MEM_ECC_ENABLE_0 0x1c0210UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_0_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_0 in module cau_pi_mem_368sb
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_0_EN_BB_K2_SHIFT 1
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_0_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance cau.cau_pi_mem_512sb_IF.i_cau_pi_mem.i_ecc_0 in module cau_pi_mem_512sb
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_0_EN_E5_SHIFT 0
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_1_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_1 in module cau_pi_mem_368sb
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_1_EN_BB_K2_SHIFT 2
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_1_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance cau.cau_pi_mem_512sb_IF.i_cau_pi_mem.i_ecc_1 in module cau_pi_mem_512sb
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_1_EN_E5_SHIFT 1
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_K2 (0x1<<3) // Enable ECC for memory ecc instance cau.cau_sb_addr_mem_368sb_IF.i_cau_sb_addr_mem.i_ecc in module cau_sb_addr_mem_368sb
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_K2_SHIFT 3
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_E5 (0x1<<2) // Enable ECC for memory ecc instance cau.cau_sb_addr_mem_512sb_IF.i_cau_sb_addr_mem.i_ecc in module cau_sb_addr_mem_512sb
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_E5_SHIFT 2
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_K2 (0x1<<4) // Enable ECC for memory ecc instance cau.cau_sb_var_mem_368sb_IF.i_cau_sb_var_mem.i_ecc in module cau_sb_var_mem_368sb
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_K2_SHIFT 4
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance cau.cau_sb_var_mem_512sb_IF.i_cau_sb_var_mem.i_ecc in module cau_sb_var_mem_512sb
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_E5_SHIFT 3
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance cau.i_cau_agg_unit_mem.i_ecc in module cau_agg_unit_mem_128data
+ #define CAU_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2_SHIFT 0
+#define CAU_REG_MEM_ECC_PARITY_ONLY_0 0x1c0214UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_0_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_0 in module cau_pi_mem_368sb
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_0_PRTY_BB_K2_SHIFT 1
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_0_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance cau.cau_pi_mem_512sb_IF.i_cau_pi_mem.i_ecc_0 in module cau_pi_mem_512sb
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_0_PRTY_E5_SHIFT 0
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_1_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_1 in module cau_pi_mem_368sb
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_1_PRTY_BB_K2_SHIFT 2
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_1_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance cau.cau_pi_mem_512sb_IF.i_cau_pi_mem.i_ecc_1 in module cau_pi_mem_512sb
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_1_PRTY_E5_SHIFT 1
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_K2 (0x1<<3) // Set parity only for memory ecc instance cau.cau_sb_addr_mem_368sb_IF.i_cau_sb_addr_mem.i_ecc in module cau_sb_addr_mem_368sb
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_K2_SHIFT 3
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_E5 (0x1<<2) // Set parity only for memory ecc instance cau.cau_sb_addr_mem_512sb_IF.i_cau_sb_addr_mem.i_ecc in module cau_sb_addr_mem_512sb
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_E5_SHIFT 2
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_K2 (0x1<<4) // Set parity only for memory ecc instance cau.cau_sb_var_mem_368sb_IF.i_cau_sb_var_mem.i_ecc in module cau_sb_var_mem_368sb
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_K2_SHIFT 4
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance cau.cau_sb_var_mem_512sb_IF.i_cau_sb_var_mem.i_ecc in module cau_sb_var_mem_512sb
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_E5_SHIFT 3
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance cau.i_cau_agg_unit_mem.i_ecc in module cau_agg_unit_mem_128data
+ #define CAU_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2_SHIFT 0
+#define CAU_REG_MEM_ECC_ERROR_CORRECTED_0 0x1c0218UL //Access:RC DataWidth:0x4 // Multi Field Register.
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_0_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_0 in module cau_pi_mem_368sb
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_0_CORRECT_BB_K2_SHIFT 1
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_0_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance cau.cau_pi_mem_512sb_IF.i_cau_pi_mem.i_ecc_0 in module cau_pi_mem_512sb
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_0_CORRECT_E5_SHIFT 0
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_1_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance cau.cau_pi_mem_368sb_IF.i_cau_pi_mem.i_ecc_1 in module cau_pi_mem_368sb
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_1_CORRECT_BB_K2_SHIFT 2
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_1_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance cau.cau_pi_mem_512sb_IF.i_cau_pi_mem.i_ecc_1 in module cau_pi_mem_512sb
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_1_CORRECT_E5_SHIFT 1
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance cau.cau_sb_addr_mem_368sb_IF.i_cau_sb_addr_mem.i_ecc in module cau_sb_addr_mem_368sb
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_K2_SHIFT 3
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance cau.cau_sb_addr_mem_512sb_IF.i_cau_sb_addr_mem.i_ecc in module cau_sb_addr_mem_512sb
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_E5_SHIFT 2
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance cau.cau_sb_var_mem_368sb_IF.i_cau_sb_var_mem.i_ecc in module cau_sb_var_mem_368sb
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_K2_SHIFT 4
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance cau.cau_sb_var_mem_512sb_IF.i_cau_sb_var_mem.i_ecc in module cau_sb_var_mem_512sb
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_E5_SHIFT 3
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance cau.i_cau_agg_unit_mem.i_ecc in module cau_agg_unit_mem_128data
+ #define CAU_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2_SHIFT 0
#define CAU_REG_MEM_ECC_EVENTS 0x1c021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define CAU_REG_NUM_PI_PER_SB 0x1c0400UL //Access:RW DataWidth:0x6 // The number of Protocol Index per Status Block. Value can be even numbers only from 2 to 32. numbers above 12 will reduce the number of SB that are supported (3456/num_pi_per_sb).
#define CAU_REG_PXP_REQ_MSG_FIELDS 0x1c0404UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_SB_TPH_HINT (0x3<<0) // The value of the TPH Hint field in the PXP request for SB DMA.
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_SB_TPH_HINT_SHIFT 0
- #define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_CQE_TPH_HINT (0x3<<2) // The value of the TPH Hint field in the PXP request for CQE messages.
- #define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_CQE_TPH_HINT_SHIFT 2
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_ENDIANITY (0x3<<4) // The endianity mode in the PXP request.
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_ENDIANITY_SHIFT 4
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_RO (0x1<<6) // The value of the Relax Ordering field in the PXP request.
@@ -38889,25 +39022,27 @@
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_VQID_SHIFT 8
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_SB_PAD2CACHE (0x1<<13) // The value of the Pad to Cache Line field in the SB DMA PXP request.
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_SB_PAD2CACHE_SHIFT 13
- #define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_CQE_PAD2CACHE (0x1<<14) // The value of the Pad to Cache Line field in the CQE PXP request.
- #define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_CQE_PAD2CACHE_SHIFT 14
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_ATC (0x7<<15) // The value of the ATC flags in the PXP request.
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_ATC_SHIFT 15
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_DONE_TYPE (0x1<<18) // The value of the done type in the PXP request.
#define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_DONE_TYPE_SHIFT 18
+ #define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_CQE_TPH_HINT_BB_K2 (0x3<<2) // The value of the TPH Hint field in the PXP request for CQE messages.
+ #define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_CQE_TPH_HINT_BB_K2_SHIFT 2
+ #define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_CQE_PAD2CACHE_BB_K2 (0x1<<14) // The value of the Pad to Cache Line field in the CQE PXP request.
+ #define CAU_REG_PXP_REQ_MSG_FIELDS_PXP_REQ_CQE_PAD2CACHE_BB_K2_SHIFT 14
#define CAU_REG_PI_BYP_GRAY2_EN 0x1c0408UL //Access:RW DataWidth:0x1 // Enabling pi value of command N+2/N+1 as part of sb_dma message of command N (Cont00065605 related) When set, bypass can be implemented (i.e. bug not fixed) When reset, bypass cannot be implemented (i.e. bug fixed)
#define CAU_REG_OUTSTANDING_WRITE 0x1c040cUL //Access:RW DataWidth:0x8 // The max number of outstanding write requests without receiving write done. Values 1-128. Zero is not a valid value.
-#define CAU_REG_RESET_MEMORIES 0x1c0410UL //Access:RW DataWidth:0x6 // Write one to each bit will reset the whole memory. When the memory reset finished the appropriate bit will be clear. [0] - PI memory; [1] - SB var memory; [2]- SB address memory; [3] -Timers memory; [4] - fsm memory,[5] - aggregation memory.
+#define CAU_REG_RESET_MEMORIES 0x1c0410UL //Access:RW DataWidth:0x5 // Write one to each bit will reset the whole memory. When the memory reset finished the appropriate bit will be clear. [0] - PI memory; [1] - SB var memory; [2]- SB address memory; [3] -Timers memory; [4] - fsm memory.
#define CAU_REG_CLEANUP_COMMAND 0x1c0414UL //Access:W DataWidth:0xd // Write to this register will perform cleanup on the written SB number. [8:0] - SB absolute index; [9] - Cleanup set/clr (0-clr; 1 - set); [12:10] Cleanup type (0-4).
#define CAU_REG_CLEANUP_COMMAND_DONE 0x1c0418UL //Access:R DataWidth:0x1 // When reading one from this register mean the cleanup was done. Reading it will clear its value.
#define CAU_REG_IN_ARB_PRIORITY 0x1c0500UL //Access:RW DataWidth:0x6 // Input arbiter (sp with anti starvation) priority for the input clients: bits 1:0 PXP input commands. bits 3:2 RBC cleanup. bits 5:4 Timer expiration priority. Priority values are from 0 (highest priority) to 2 (lowest).
#define CAU_REG_IN_ARB_TIMEOUT 0x1c0504UL //Access:RW DataWidth:0x8 // Input arbiter (sp with anti starvation) anti starvation timeout. value of 0 means the arbitration is constant rr.
-#define CAU_REG_CQE_SIZE 0x1c0600UL //Access:RW DataWidth:0x1 // Indicate the size of the CQE. 0 - 32B; 1 - 64B.
-#define CAU_REG_CQE_AGG_UNIT_SIZE 0x1c0604UL //Access:RW DataWidth:0x2 // Indicate the size of the AGG unit. 0 - 64B; 1 - 128B; 2 - 256B; 3 - illegal.
-#define CAU_REG_CQE_FLUSH_ALL 0x1c0608UL //Access:RW DataWidth:0x1 // Flush all command - will flush all the CQE AGG unit that are in dirty state and free all AGG units.
-#define CAU_REG_CQE_FLUSH_ALL_DONE 0x1c060cUL //Access:R DataWidth:0x1 // Read clear register. 1 means the the cqe_flush_all command was finished.
-#define CAU_REG_AGG_RELEASE_TIMER 0x1c0610UL //Access:RW DataWidth:0x10 // The value of ReleaseTmr in system clock cycles (25MHz). Each expiration will generate an event that affect the FSM of each AGG unit that is in CLEAN state (will move to TIME WAIT state) and TIME WAIT state (will move to CLEAN). In case this configuration should be changed, the change flow is done in several phases of writes while each write is as close as possible to the required configuration and it should keep one of the bits that are set in the previous write (or in the reset value) as set. Each write should be followed by a read. For example to change the value of (binary) 11001 to (binary) 1100100: write (binary) 1101100, read, write (binary) 1100100.
-#define CAU_REG_TICK_SIZE 0x1c0700UL //Access:RW DataWidth:0x10 // The number of cycles in each tick of the timer. Clock 25 MHz. Value must be bigger than 2. In case this configuration should be changed, the change flow is done in several phases of writes while each write is as close as possible to the required configuration and it should keep one of the bits that are set in the previous write (or in the reset value) as set. Each write should be followed by a read. For example to change the reset value of (binary) 11001 (1usec) to (binary) 1100100 (4usec): write (binary) 1101100, read, write (binary) 1100100.
+#define CAU_REG_CQE_SIZE_BB_K2 0x1c0600UL //Access:RW DataWidth:0x1 // Indicate the size of the CQE. 0 - 32B; 1 - 64B.
+#define CAU_REG_CQE_AGG_UNIT_SIZE_BB_K2 0x1c0604UL //Access:RW DataWidth:0x2 // Indicate the size of the AGG unit. 0 - 64B; 1 - 128B; 2 - 256B; 3 - illegal.
+#define CAU_REG_CQE_FLUSH_ALL_BB_K2 0x1c0608UL //Access:RW DataWidth:0x1 // Flush all command - will flush all the CQE AGG unit that are in dirty state and free all AGG units.
+#define CAU_REG_CQE_FLUSH_ALL_DONE_BB_K2 0x1c060cUL //Access:R DataWidth:0x1 // Read clear register. 1 means the the cqe_flush_all command was finished.
+#define CAU_REG_AGG_RELEASE_TIMER_BB_K2 0x1c0610UL //Access:RW DataWidth:0x10 // The value of ReleaseTmr in system clock cycles (25MHz). Each expiration will generate an event that affect the FSM of each AGG unit that is in CLEAN state (will move to TIME WAIT state) and TIME WAIT state (will move to CLEAN). In case this configuration should be changed, the change flow is done in several phases of writes while each write is as close as possible to the required configuration and it should keep one of the bits that are set in the previous write (or in the reset value) as set. Each write should be followed by a read. For example to change the value of (binary) 11001 to (binary) 1100100: write (binary) 1101100, read, write (binary) 1100100.
+#define CAU_REG_TICK_SIZE 0x1c0700UL //Access:RW DataWidth:0x10 // The number of cycles in each tick of the timer. Clock 25 MHz. value must be bigger than 2. In case this configuration should be changed, the change flow is done in several phases of writes while each write is as close as possible to the required configuration and it should keep one of the bits that are set in the previous write (or in the reset value) as set. Each write should be followed by a read. For example to change the reset value of (binary) 11001 (1usec) to (binary) 1100100 (4usec): write (binary) 1101100, read, write (binary) 1100100.
#define CAU_REG_SCAN_TICK 0x1c0704UL //Access:RW DataWidth:0xc // The number of tick that will cause scan. Zero is not a valid number.
#define CAU_REG_LONG_TIMEOUT_THRESHOLD 0x1c0708UL //Access:RW DataWidth:0xa // Threshold in ticks for indicating far timeout to the MISC block.
#define CAU_REG_STOP_SCAN 0x1c070cUL //Access:RW DataWidth:0x1 // Setting this bit will disable the timer expiration mechanism. Should be used in close the gate only.
@@ -38916,7 +39051,7 @@
#define CAU_REG_TX_TIMER_STATUS 0x1c0800UL //Access:R DataWidth:0x20 // Tx timers status. 0 - inactive 1 - active.
#define CAU_REG_TX_TIMER_STATUS_SIZE 9
#define CAU_REG_WDATA_FIFO_AFULL_THR 0x1c0880UL //Access:RW DataWidth:0x6 // almost full threshold for wdata fifo
-#define CAU_REG_CQE_FIFO_AFULL_THR 0x1c0884UL //Access:RW DataWidth:0x5 // almost full threshold for cqe fifo (within the input cmd arbiter)
+#define CAU_REG_CQE_FIFO_AFULL_THR_BB_K2 0x1c0884UL //Access:RW DataWidth:0x5 // almost full threshold for cqe fifo (within the input cmd arbiter)
#define CAU_REG_IGU_REQ_CREDIT_STATUS 0x1c0980UL //Access:R DataWidth:0x1 // Debug: IGU-CAU request interface credit. In idle should be 1.
#define CAU_REG_IGU_CMD_CREDIT_STATUS 0x1c0984UL //Access:R DataWidth:0x1 // Debug: IGU-CAU command interface credit. In idle should be 1.
#define CAU_REG_STAT_CTRL_SB_SELECT 0x1c0a80UL //Access:RW DataWidth:0xa // Multi Field Register.
@@ -38955,24 +39090,24 @@
#define CAU_REG_STAT_COUNTER_CLIENT_INCOME_CMD 0x1c0b9cUL //Access:RW DataWidth:0x20 // The number of incoming commands from the selected client (according to stat_ctrl_client_idx).
#define CAU_REG_STAT_COUNTER_FSM0_LINE 0x1c0ba0UL //Access:RW DataWidth:0x20 // The number of times the FSM reached a specific line (stat_ctrl_fsm0_line_select) for the selected protocol (stat_ctrl_protocol_idx) within the selected SB (stat_ctrl_sb_select_idx).
#define CAU_REG_STAT_COUNTER_FSM1_LINE 0x1c0ba4UL //Access:RW DataWidth:0x20 // The number of times the FSM reached a specific line (stat_ctrl_fsm1_line_select) for the selected protocol (stat_ctrl_protocol_idx) within the selected SB (stat_ctrl_sb_select_idx).
-#define CAU_REG_STAT_COUNTER_CQE_MSG_SENT 0x1c0ba8UL //Access:RW DataWidth:0x20 // The number of CQE messages that where sent to the PXP.
-#define CAU_REG_STAT_COUNTER_CQE_DMA_QWORD 0x1c0bacUL //Access:RW DataWidth:0x20 // The amount of CQE data that was sent in QWORD.
-#define CAU_REG_STAT_COUNTER_CQE_CACHE_HIT 0x1c0bb0UL //Access:RW DataWidth:0x20 // The number of CQE command that there was a match in the aggregation memory.
-#define CAU_REG_STAT_COUNTER_CQE_CACHE_MISS_NEW_AGG 0x1c0bb4UL //Access:RW DataWidth:0x20 // The number of CQE command that there was no match in the aggregation memory but there was a free unit found.
-#define CAU_REG_STAT_COUNTER_CQE_CACHE_MISS_NO_FREE 0x1c0bb8UL //Access:RW DataWidth:0x20 // The number of CQE command that there was no match in the aggregation memory and no free unit was found.
-#define CAU_REG_STAT_COUNTER_CQE_FULL_CACHE 0x1c0bbcUL //Access:RW DataWidth:0x20 // The nuber of CQE dmae with full cache (DMA size = cqe_agg_unit_size).
-#define CAU_REG_STAT_COUNTER_CQE_PARTIAL_CACHE 0x1c0bc0UL //Access:RW DataWidth:0x20 // The nuber of CQE dmae with partial cache (DMA size < cqe_agg_unit_size).
-#define CAU_REG_DEBUG_FIFO_STATUS 0x1c0c80UL //Access:R DataWidth:0x6 // Debug: all the FIFO status. 0 - FIFO empty; 1 - FIFO not empty. [0] - PXP command FIFO; [1] - CQE FIFO; [2] - timers expiration FIFO; [3] - IGU req FIFO; [4] - IGU wdata FIFO; [5] - IGU command FIFO.
-#define CAU_REG_ERROR_PXP_REQ 0x1c0c84UL //Access:R DataWidth:0x15 // Debug; debug information if an error command arrived to the CAU from the PXP: [20:18] - error typ (1- read request; 2 - CqeType disabled and length >1 or CQE enable and length not match cqe_siz; 3 - sb_index >= CAU_NUM_SB or SB index > CAU_NUM_PI/num_pi_per_sb; 4 - pi_relative_number > num_pi_per_sb); [17:14] - source (0=TSTORM; 1=MSTORM; 2=USTORM; 3=XSTORM; 4=YSTORM; 5=PSTORM; 6=PCIe; 7=other (PBF/NIG/QM)); [13:5] - SB abs index; [4:0] - pi_relative_number. If error type = 1 ignore bits [13:0].
+#define CAU_REG_STAT_COUNTER_CQE_MSG_SENT_BB_K2 0x1c0ba8UL //Access:RW DataWidth:0x20 // The number of CQE messages that where sent to the PXP.
+#define CAU_REG_STAT_COUNTER_CQE_DMA_QWORD_BB_K2 0x1c0bacUL //Access:RW DataWidth:0x20 // The amount of CQE data that was sent in QWORD.
+#define CAU_REG_STAT_COUNTER_CQE_CACHE_HIT_BB_K2 0x1c0bb0UL //Access:RW DataWidth:0x20 // The number of CQE command that there was a match in the aggregation memory.
+#define CAU_REG_STAT_COUNTER_CQE_CACHE_MISS_NEW_AGG_BB_K2 0x1c0bb4UL //Access:RW DataWidth:0x20 // The number of CQE command that there was no match in the aggregation memory but there was a free unit found.
+#define CAU_REG_STAT_COUNTER_CQE_CACHE_MISS_NO_FREE_BB_K2 0x1c0bb8UL //Access:RW DataWidth:0x20 // The number of CQE command that there was no match in the aggregation memory and no free unit was found.
+#define CAU_REG_STAT_COUNTER_CQE_FULL_CACHE_BB_K2 0x1c0bbcUL //Access:RW DataWidth:0x20 // The nuber of CQE dmae with full cache (DMA size = cqe_agg_unit_size).
+#define CAU_REG_STAT_COUNTER_CQE_PARTIAL_CACHE_BB_K2 0x1c0bc0UL //Access:RW DataWidth:0x20 // The nuber of CQE dmae with partial cache (DMA size < cqe_agg_unit_size).
+#define CAU_REG_DEBUG_FIFO_STATUS 0x1c0c80UL //Access:R DataWidth:0x6 // Debug: all the FIFO status. 0 - FIFO empty; 1 - FIFO not empty. [0] - PXP command FIFO; [1] - reserved; [2] - timers expiration FIFO; [3] - IGU req FIFO; [4] - IGU wdata FIFO; [5] - IGU command FIFO.
+#define CAU_REG_ERROR_PXP_REQ 0x1c0c84UL //Access:R DataWidth:0x15 // Debug; debug information if an error command arrived to the CAU from the PXP: [20:18] - error typ (1- read request; 2 - reserved; 3 - sb_index >= CAU_NUM_SB or SB index > CAU_NUM_PI/num_pi_per_sb; 4 - pi_relative_number > num_pi_per_sb); [17:14] - source (0=TSTORM; 1=MSTORM; 2=USTORM; 3=XSTORM; 4=YSTORM; 5=PSTORM; 6=PCIe; 7=other (PBF/NIG/QM)); [13:5] - SB abs index; [4:0] - pi_relative_number. If error type = 1 ignore bits [13:0].
#define CAU_REG_ERROR_FSM_LINE 0x1c0c88UL //Access:R DataWidth:0x1d // Debug; debug information if the FSM arived to an invalid line: [3:0] - source (0=TSTORM; 1=MSTORM; 2=USTORM; 3=XSTORM; 4=YSTORM; 5=PSTORM; 6=PCIe; 7=other (PBF/NIG/QM); 8=GRC cleanup; 9=timer expiration); [12:4] - SB abs index; [13] - reserved; [14] otherFSM (if set the commad was due to other FSM); [15] - FSM_sel; [20:16] - PI relative number; [24:21] - event ID; [28:25] - state;.
#define CAU_REG_ERROR_FSM_LINE_PRE 0x1c0c8cUL //Access:R DataWidth:0xa // Debug; [9] if set data valid; [8] previous FSM_sel; [7:4] - previous state; [3:0] - previous event ID;.
#define CAU_REG_PARITY_LATCH_STATUS 0x1c0c90UL //Access:R DataWidth:0x1 // Debug: If set a parity occurd and the CAU assert discard flag to the IGU from now on (until hard reset).
#define CAU_REG_ERROR_CLEANUP_CMD_REG 0x1c0c94UL //Access:R DataWidth:0x19 // comment="Debug: [15:0] The PF that caused the error- one bit per PF; [24:16] - SB index.
-#define CAU_REG_AGG_UNITS_STATE_READ_EN 0x1c0c98UL //Access:W DataWidth:0x1 // Debug: write only. Writing to this register will copy the aggregation unit status to the agg_unit_state registers.
-#define CAU_REG_AGG_UNITS_0TO15_STATE 0x1c0c9cUL //Access:R DataWidth:0x20 // Debug: Each 2 bits reflect the aggregation unit state of unit [i] when there was writing to agg_units_state_read_en register. (i =0-15). 0 - free; 1 - dirty; 2 - clean; 3 - time wait.
-#define CAU_REG_AGG_UNITS_16TO31_STATE 0x1c0ca0UL //Access:R DataWidth:0x20 // Debug: Each 2 bits reflect the aggregation unit state of unit [i] when there was writing to agg_units_state_read_en register. (i = 16-31). 0 - free; 1 - dirty; 2 - clean; 3 - time wait.
-#define CAU_REG_AGG_UNITS_32TO47_STATE 0x1c0ca4UL //Access:R DataWidth:0x20 // Debug: Each 2 bits reflect the aggregation unit state of unit [i] when there was writing to agg_units_state_read_en register. (i = 32-47). 0 - free; 1 - dirty; 2 - clean; 3 - time wait.
-#define CAU_REG_AGG_UNITS_48TO63_STATE 0x1c0ca8UL //Access:R DataWidth:0x20 // Debug: Each 2 bits reflect the aggregation unit state of unit [i] when there was writing to agg_units_state_read_en register. (i = 48-63). 0 - free; 1 - dirty; 2 - clean; 3 - time wait.
+#define CAU_REG_AGG_UNITS_STATE_READ_EN_BB_K2 0x1c0c98UL //Access:W DataWidth:0x1 // Debug: write only. Writing to this register will copy the aggregation unit status to the agg_unit_state registers.
+#define CAU_REG_AGG_UNITS_0TO15_STATE_BB_K2 0x1c0c9cUL //Access:R DataWidth:0x20 // Debug: Each 2 bits reflect the aggregation unit state of unit [i] when there was writing to agg_units_state_read_en register. (i =0-15). 0 - free; 1 - dirty; 2 - clean; 3 - time wait.
+#define CAU_REG_AGG_UNITS_16TO31_STATE_BB_K2 0x1c0ca0UL //Access:R DataWidth:0x20 // Debug: Each 2 bits reflect the aggregation unit state of unit [i] when there was writing to agg_units_state_read_en register. (i = 16-31). 0 - free; 1 - dirty; 2 - clean; 3 - time wait.
+#define CAU_REG_AGG_UNITS_32TO47_STATE_BB_K2 0x1c0ca4UL //Access:R DataWidth:0x20 // Debug: Each 2 bits reflect the aggregation unit state of unit [i] when there was writing to agg_units_state_read_en register. (i = 32-47). 0 - free; 1 - dirty; 2 - clean; 3 - time wait.
+#define CAU_REG_AGG_UNITS_48TO63_STATE_BB_K2 0x1c0ca8UL //Access:R DataWidth:0x20 // Debug: Each 2 bits reflect the aggregation unit state of unit [i] when there was writing to agg_units_state_read_en register. (i = 48-63). 0 - free; 1 - dirty; 2 - clean; 3 - time wait.
#define CAU_REG_ECO_RESERVED 0x1c0cacUL //Access:RW DataWidth:0x8 // Reserved for ECO if needed.
#define CAU_REG_DEBUG_RECORD_MASK_MIN_SB 0x1c0d80UL //Access:RW DataWidth:0xa // Multi Field Register.
#define CAU_REG_DEBUG_RECORD_MASK_MIN_SB_IDX (0x1ff<<0) // Debug: minimun SB index for the debug.
@@ -39006,8 +39141,8 @@
#define CAU_REG_WDONE_COUNTER 0x1c0e08UL //Access:R DataWidth:0x8 // Debug: the number of write done that were received from the IGU.
#define CAU_REG_DBG_OUT_DATA 0x1c0e80UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define CAU_REG_DBG_OUT_DATA_SIZE 8
-#define CAU_REG_DBG_OUT_VALID 0x1c0ea0UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define CAU_REG_DBG_OUT_FRAME 0x1c0ea4UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define CAU_REG_DBG_OUT_VALID 0x1c0ea0UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define CAU_REG_DBG_OUT_FRAME 0x1c0ea4UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define CAU_REG_DBG_SELECT 0x1c0ea8UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define CAU_REG_DBG_DWORD_ENABLE 0x1c0eacUL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define CAU_REG_DBG_SHIFT 0x1c0eb0UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -39016,9 +39151,9 @@
#define CAU_REG_MAIN_FSM_STATUS 0x1c0f00UL //Access:R DataWidth:0x4 // Debug: FSM state for debug.
#define CAU_REG_VAR_READ_FSM_STATUS 0x1c0f04UL //Access:R DataWidth:0x2 // Debug: FSM state for debug.
#define CAU_REG_IGU_DMA_FSM_STATUS 0x1c0f08UL //Access:R DataWidth:0x3 // Debug: FSM state for debug.
-#define CAU_REG_IGU_CQE_CMD_FSM_STATUS 0x1c0f0cUL //Access:R DataWidth:0x5 // Debug: FSM state for debug.Idle state value are 0-2
-#define CAU_REG_IGU_CQE_AGG_FSM_STATUS 0x1c0f10UL //Access:R DataWidth:0x4 // Debug: FSM state for debug.
-#define CAU_REG_CQE_FIFO 0x1c2000UL //Access:WB_R DataWidth:0x80 // Debug: Provides read-only access of the CQE input command FIFO. Intended for test/debug purposes.
+#define CAU_REG_IGU_CQE_CMD_FSM_STATUS_BB_K2 0x1c0f0cUL //Access:R DataWidth:0x5 // Debug: FSM state for debug.Idle state value are 0-2
+#define CAU_REG_IGU_CQE_AGG_FSM_STATUS_BB_K2 0x1c0f10UL //Access:R DataWidth:0x4 // Debug: FSM state for debug.
+#define CAU_REG_CQE_FIFO_BB_K2 0x1c2000UL //Access:WB_R DataWidth:0x80 // Debug: Provides read-only access of the CQE input command FIFO. Intended for test/debug purposes.
#define CAU_REG_CQE_FIFO_SIZE 120
#define CAU_REG_IGU_CMD_FIFO 0x1c2200UL //Access:WB_R DataWidth:0x35 // Debug: Provides read-only access of the IGU command FIFO. Intended for test/debug purposes.
#define CAU_REG_IGU_CMD_FIFO_SIZE 16
@@ -39026,27 +39161,31 @@
#define CAU_REG_PXP_REQ_FIFO_SIZE 32
#define CAU_REG_PXP_WDATA_FIFO 0x1c2400UL //Access:WB_R DataWidth:0x84 // Debug: Provides read-only access of the PXP write-data FIFO. Intended for test/debug purposes.
#define CAU_REG_PXP_WDATA_FIFO_SIZE 256
-#define CAU_REG_AGG_UNIT_CAM 0x1c4000UL //Access:R DataWidth:0xf // Debug: The SB index and PI relative number of each aggregation unit. [0] - valid; [9:1] - absolute SB index; [14:10] - relative PI number.
+#define CAU_REG_AGG_UNIT_CAM_BB_K2 0x1c4000UL //Access:R DataWidth:0xf // Debug: The SB index and PI relative number of each aggregation unit. [0] - valid; [9:1] - absolute SB index; [14:10] - relative PI number.
#define CAU_REG_AGG_UNIT_CAM_SIZE 64
#define CAU_REG_FSM_TABLE 0x1c4400UL //Access:RW DataWidth:0x10 // The FSM table is a truth table. The inputs to the truth table are the address of the RAM and the outputs is the data in the RAM. The bits [7:4] of the address are the current_state and bits [3:0] are the event_id. The data is :[3:0] - next state; [5:4] - timer cmd (0 - None; 1 - Rewind; 2 - Clear; 3 - Rewind to shorter); [6] - SB producer increment (If set the SB segment index (PROD) is incremented by 1); [7] - SB write cmd (If set the entire SB segment is written over the PXP to host memory); [8] IGU cmd (If set then generate an IGU PROD update command); [12:9] - event ID to other FSM (The event ID value to generate to the other FSM); [14:13] - update timer cmd (0 - NONE; 1 - Set to new; 2 - Set to max (new/old); 3 - Set to min (new/old)); [15] - valid line (If set then this line is a valid line).
#define CAU_REG_FSM_TABLE_SIZE 256
#define CAU_REG_SB_VAR_MEMORY 0x1c6000UL //Access:WB DataWidth:0x40 // Status Block variable: [23:0] producer index; [27:24] state0 (RX); [31:28] state1 (TX); [38:32] SbTimeSet0 (Indicates the RX TimeSet that this SB is associated with); [45:39] SbTimeSet1 (Indicates the TX TimeSet that this SB is associated with); [47:46] TimerRes0 (This value will determine the RX FSM timer resolution in ticks. Valid values are 0-2 only); [49:48] TimerRes1 (This value will determine the TX FSM timer resolution in ticks. Valid values are 0-2 only); [62:50] FID ([12:9] - PF number (in case of VF the parent PF); [8] - VF valid (1 - VF; 0 - PF); [7:0] - VF number (if VF valid = 0 -must be zero)); [63] TPH valid (If set then indicates that the TPH STAG is equal to the SB number. Otherwise the STAG will be equal to all ones); the memory will receive the following reset values after writing to the appropriate bit in the reset memory register: All fields will be zero; excluding the FID; each PF will receive 17 SB; 0-16 PF0; 17-33 PF1 .. 119-135 PF7. All the SB above 136 reset value is zero therefore thy are allocated to PF 0 also.
#define CAU_REG_SB_VAR_MEMORY_SIZE_BB 576
-#define CAU_REG_SB_VAR_MEMORY_SIZE_K2_E5 736
+#define CAU_REG_SB_VAR_MEMORY_SIZE_K2 736
+#define CAU_REG_SB_VAR_MEMORY_SIZE_E5 1024
#define CAU_REG_SB_ADDR_MEMORY 0x1c8000UL //Access:WB DataWidth:0x40 // Address of the Status Block DMA message.
#define CAU_REG_SB_ADDR_MEMORY_SIZE_BB 576
-#define CAU_REG_SB_ADDR_MEMORY_SIZE_K2_E5 736
+#define CAU_REG_SB_ADDR_MEMORY_SIZE_K2 736
+#define CAU_REG_SB_ADDR_MEMORY_SIZE_E5 1024
#define CAU_REG_PI_MEMORY 0x1d0000UL //Access:RW DataWidth:0x18 // Protocol Index memory.[15:0] - protocol producer; [22:16] - PiTimeSet (This value determines the TimeSet that the PI is associated with); [23] - FsmSel (0-RX; 1 - TX).
#define CAU_REG_PI_MEMORY_SIZE_BB 3456
-#define CAU_REG_PI_MEMORY_SIZE_K2_E5 4416
-#define CAU_REG_AGG_UNIT_DATA_MEMORY 0x1d8000UL //Access:WB DataWidth:0x80 // Debug: the CQE aggregated data. Each aggergation unit size occupies N addresses. N: If (cqe_agg_unit_size = 0), then N = 4 addresses If (cqe_agg_unit_size = 1), then N = 8 addresses If (cqe_agg_unit_size = 2), then N = 16 addresses Address calculation: If (AggUnitSizeLog = 2 and CqeSizeLog = 0), then Address = {slot number[2:0], line_couner[0], agg_unit_index[4:0]}; Else If (AggUnitSizeLog = 2 and CqeSizeLog = 1), then Address = {slot number[1:0], line_couner [1:0], agg_unit_index[4:0]}; Else If (AggUnitSizeLog = 1 and CqeSizeLog = 1), then Address = {slot number[0], line_couner [1:0], agg_unit_index[5:0]}; Else Address = {slot number[1:0], line_couner [0], agg_unit_index[5:0]}; Note that line_couner is running index in the slot;
+#define CAU_REG_PI_MEMORY_SIZE_K2 4416
+#define CAU_REG_PI_MEMORY_SIZE_E5 4096
+#define CAU_REG_AGG_UNIT_DATA_MEMORY_BB_K2 0x1d8000UL //Access:WB DataWidth:0x80 // Debug: the CQE aggregated data. Each aggergation unit size occupies N addresses. N: If (cqe_agg_unit_size = 0), then N = 4 addresses If (cqe_agg_unit_size = 1), then N = 8 addresses If (cqe_agg_unit_size = 2), then N = 16 addresses Address calculation: If (AggUnitSizeLog = 2 and CqeSizeLog = 0), then Address = {slot number[2:0], line_couner[0], agg_unit_index[4:0]}; Else If (AggUnitSizeLog = 2 and CqeSizeLog = 1), then Address = {slot number[1:0], line_couner [1:0], agg_unit_index[4:0]}; Else If (AggUnitSizeLog = 1 and CqeSizeLog = 1), then Address = {slot number[0], line_couner [1:0], agg_unit_index[5:0]}; Else Address = {slot number[1:0], line_couner [0], agg_unit_index[5:0]}; Note that line_couner is running index in the slot;
#define CAU_REG_AGG_UNIT_DATA_MEMORY_SIZE_BB 1792
-#define CAU_REG_AGG_UNIT_DATA_MEMORY_SIZE_K2_E5 3584
-#define CAU_REG_AGG_UNIT_DESCRIPTOR 0x1dc000UL //Access:WB_R DataWidth:0x56 // Debug: the aggregation data of each unit. [63:0] - address; [71:64] - valid slots; [84:72] - FID ([13:9] - PF number (in case of VF the parent PF); [8] - VF valid (1 - VF; 0 - PF); [7:0] - VF number (if VF valid = 0 -must be zero)). [85] - TPH valid bit.
+#define CAU_REG_AGG_UNIT_DATA_MEMORY_SIZE_K2 3584
+#define CAU_REG_AGG_UNIT_DESCRIPTOR_BB_K2 0x1dc000UL //Access:WB_R DataWidth:0x56 // Debug: the aggregation data of each unit. [63:0] - address; [71:64] - valid slots; [84:72] - FID ([13:9] - PF number (in case of VF the parent PF); [8] - VF valid (1 - VF; 0 - PF); [7:0] - VF number (if VF valid = 0 -must be zero)). [85] - TPH valid bit.
#define CAU_REG_AGG_UNIT_DESCRIPTOR_SIZE 256
#define CAU_REG_SB_TIMERS_MEMORY 0x1dd000UL //Access:R DataWidth:0x18 // The SB timers. For each SB there are two timers: [11:0] - RX timer; [23:12] - TX timer.
#define CAU_REG_SB_TIMERS_MEMORY_SIZE_BB 288
-#define CAU_REG_SB_TIMERS_MEMORY_SIZE_K2_E5 368
+#define CAU_REG_SB_TIMERS_MEMORY_SIZE_K2 368
+#define CAU_REG_SB_TIMERS_MEMORY_SIZE_E5 512
#define PRS_REG_SOFT_RST 0x1f0000UL //Access:RW DataWidth:0x1 // Soft reset - reset all FSM.
#define PRS_REG_MAC_VLAN_CACHE_INIT 0x1f0004UL //Access:W DataWidth:0x1 // Any write to this register triggers MAC-VLAN Cache initialization.
#define PRS_REG_MAC_VLAN_CACHE_INIT_DONE 0x1f0008UL //Access:R DataWidth:0x1 // Set when the cache initialization is complete.
@@ -39096,7 +39235,85 @@
#define PRS_REG_TARGET_INITIATOR_SELECT 0x1f01a0UL //Access:RW DataWidth:0x1 // 0-search response initiator type,1-Exchange Context
#define PRS_REG_FCOE_SEARCH_WITH_EXCHANGE_CONTEXT 0x1f01a4UL //Access:RW DataWidth:0x1 // 0-Exchange Context field in the fcoe search req is zero. 1-Exchange context field in the FCoE search request is taken from the F_CTL field of the FC header.
#define PRS_REG_ECO_RESERVED 0x1f0200UL //Access:RW DataWidth:0x20 // Debug only: Reserved bits for ECO.
-#define PRS_REG_PRTY_MASK_H_0_BB_K2 0x1f0208UL //Access:RW DataWidth:0x1f // Multi Field Register.
+#define PRS_REG_PRTY_MASK_H_0 0x1f0208UL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define PRS_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM021_I_ECC_RF_INT .
+ #define PRS_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_K2_SHIFT 4
+ #define PRS_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM021_I_ECC_RF_INT .
+ #define PRS_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_E5_SHIFT 0
+ #define PRS_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM022_I_ECC_RF_INT .
+ #define PRS_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_K2_SHIFT 5
+ #define PRS_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM022_I_ECC_RF_INT .
+ #define PRS_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_E5_SHIFT 1
+ #define PRS_REG_PRTY_MASK_H_0_MEM019_I_ECC_RF_INT_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM019_I_ECC_RF_INT .
+ #define PRS_REG_PRTY_MASK_H_0_MEM019_I_ECC_RF_INT_E5_SHIFT 2
+ #define PRS_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM020_I_ECC_RF_INT .
+ #define PRS_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_E5_SHIFT 3
+ #define PRS_REG_PRTY_MASK_H_0_MEM018_I_ECC_RF_INT_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM018_I_ECC_RF_INT .
+ #define PRS_REG_PRTY_MASK_H_0_MEM018_I_ECC_RF_INT_E5_SHIFT 4
+ #define PRS_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB (0x1<<14) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_SHIFT 14
+ #define PRS_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5_SHIFT 5
+ #define PRS_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_SHIFT 13
+ #define PRS_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5_SHIFT 6
+ #define PRS_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_SHIFT 10
+ #define PRS_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5_SHIFT 7
+ #define PRS_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_SHIFT 23
+ #define PRS_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 8
+ #define PRS_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 9
+ #define PRS_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB (0x1<<19) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_SHIFT 19
+ #define PRS_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 10
+ #define PRS_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB (0x1<<18) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_SHIFT 18
+ #define PRS_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_SHIFT 20
+ #define PRS_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 11
+ #define PRS_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 22
+ #define PRS_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 12
+ #define PRS_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2 (0x1<<30) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_SHIFT 30
+ #define PRS_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 13
+ #define PRS_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5_SHIFT 14
+ #define PRS_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 15
+ #define PRS_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_SHIFT 21
+ #define PRS_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 16
+ #define PRS_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 17
+ #define PRS_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB (0x1<<26) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_SHIFT 26
+ #define PRS_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 18
+ #define PRS_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB (0x1<<27) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_SHIFT 27
+ #define PRS_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 19
+ #define PRS_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_SHIFT 12
+ #define PRS_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 20
+ #define PRS_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5_SHIFT 21
+ #define PRS_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_SHIFT 20
+ #define PRS_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define PRS_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 22
#define PRS_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
#define PRS_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_K2_SHIFT 0
#define PRS_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
@@ -39105,10 +39322,6 @@
#define PRS_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_K2_SHIFT 2
#define PRS_REG_PRTY_MASK_H_0_MEM017_I_ECC_RF_INT_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM017_I_ECC_RF_INT .
#define PRS_REG_PRTY_MASK_H_0_MEM017_I_ECC_RF_INT_K2_SHIFT 3
- #define PRS_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM021_I_ECC_RF_INT .
- #define PRS_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_K2_SHIFT 4
- #define PRS_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM022_I_ECC_RF_INT .
- #define PRS_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_K2_SHIFT 5
#define PRS_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM026_I_ECC_RF_INT .
#define PRS_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_K2_SHIFT 6
#define PRS_REG_PRTY_MASK_H_0_MEM027_I_ECC_RF_INT_K2 (0x1<<7) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM027_I_ECC_RF_INT .
@@ -39151,10 +39364,6 @@
#define PRS_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_BB_SHIFT 24
#define PRS_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
#define PRS_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_K2_SHIFT 19
- #define PRS_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB (0x1<<18) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_SHIFT 18
- #define PRS_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_SHIFT 20
#define PRS_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB (0x1<<28) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
#define PRS_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB_SHIFT 28
#define PRS_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
@@ -39175,8 +39384,6 @@
#define PRS_REG_PRTY_MASK_H_0_MEM060_I_MEM_PRTY_K2_SHIFT 28
#define PRS_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_K2 (0x1<<29) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM061_I_MEM_PRTY .
#define PRS_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_K2_SHIFT 29
- #define PRS_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2 (0x1<<30) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_SHIFT 30
#define PRS_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB (0x1<<0) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
#define PRS_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_SHIFT 0
#define PRS_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_BB (0x1<<1) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
@@ -39195,32 +39402,82 @@
#define PRS_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_SHIFT 8
#define PRS_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
#define PRS_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_SHIFT 9
- #define PRS_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_SHIFT 10
#define PRS_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
#define PRS_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_SHIFT 11
- #define PRS_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_SHIFT 12
- #define PRS_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_SHIFT 13
- #define PRS_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB (0x1<<14) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_SHIFT 14
#define PRS_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB (0x1<<15) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
#define PRS_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB_SHIFT 15
- #define PRS_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB (0x1<<19) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_SHIFT 19
- #define PRS_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_SHIFT 20
- #define PRS_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_SHIFT 21
- #define PRS_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 22
- #define PRS_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_SHIFT 23
- #define PRS_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB (0x1<<26) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_SHIFT 26
- #define PRS_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB (0x1<<27) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define PRS_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_SHIFT 27
+#define PRS_REG_MEM_ECC_ENABLE_0_BB_K2 0x1f0224UL //Access:RW DataWidth:0x8 // Multi Field Register.
+#define PRS_REG_MEM_ECC_ENABLE_0_E5 0x1f0214UL //Access:RW DataWidth:0x5 // Multi Field Register.
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_K2 (0x1<<4) // Enable ECC for memory ecc instance prs.i_msgb_if2_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_K2_SHIFT 4
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_single_line_fifo_mem_h.i_ecc in module prs_single_line_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_E5_SHIFT 0
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_K2 (0x1<<5) // Enable ECC for memory ecc instance prs.i_msgb_if2_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_K2_SHIFT 5
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_single_line_fifo_mem_l.i_ecc in module prs_single_line_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_E5_SHIFT 1
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC_EN_E5 (0x1<<2) // Enable ECC for memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_double_line_fifo_mem_h.i_ecc in module prs_double_line_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC_EN_E5_SHIFT 2
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_double_line_fifo_mem_l.i_ecc in module prs_double_line_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC_EN_E5_SHIFT 3
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC_EN_E5 (0x1<<4) // Enable ECC for memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_fifo_mem.i_ecc in module prs_local_hdr_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC_EN_E5_SHIFT 4
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_K2 (0x1<<0) // Enable ECC for memory ecc instance prs.i_msgb_if0_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_K2_SHIFT 0
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_K2 (0x1<<1) // Enable ECC for memory ecc instance prs.i_msgb_if0_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_K2_SHIFT 1
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_K2 (0x1<<2) // Enable ECC for memory ecc instance prs.i_msgb_if1_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_K2_SHIFT 2
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC_EN_K2 (0x1<<3) // Enable ECC for memory ecc instance prs.i_msgb_if1_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC_EN_K2_SHIFT 3
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_EN_K2 (0x1<<6) // Enable ECC for memory ecc instance prs.i_msgb_if3_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_EN_K2_SHIFT 6
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM027_I_ECC_EN_K2 (0x1<<7) // Enable ECC for memory ecc instance prs.i_msgb_if3_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM027_I_ECC_EN_K2_SHIFT 7
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB (0x1<<0) // Enable ECC for memory ecc instance prs.i_msgb_if0_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB_SHIFT 0
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB (0x1<<1) // Enable ECC for memory ecc instance prs.i_msgb_if0_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB_SHIFT 1
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB (0x1<<2) // Enable ECC for memory ecc instance prs.i_msgb_if1_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB_SHIFT 2
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB (0x1<<3) // Enable ECC for memory ecc instance prs.i_msgb_if1_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_SHIFT 3
+#define PRS_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x1f0228UL //Access:RW DataWidth:0x8 // Multi Field Register.
+#define PRS_REG_MEM_ECC_PARITY_ONLY_0_E5 0x1f0218UL //Access:RW DataWidth:0x5 // Multi Field Register.
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_K2 (0x1<<4) // Set parity only for memory ecc instance prs.i_msgb_if2_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_K2_SHIFT 4
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_single_line_fifo_mem_h.i_ecc in module prs_single_line_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_E5_SHIFT 0
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_K2 (0x1<<5) // Set parity only for memory ecc instance prs.i_msgb_if2_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_K2_SHIFT 5
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_single_line_fifo_mem_l.i_ecc in module prs_single_line_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_E5_SHIFT 1
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC_PRTY_E5 (0x1<<2) // Set parity only for memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_double_line_fifo_mem_h.i_ecc in module prs_double_line_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC_PRTY_E5_SHIFT 2
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_double_line_fifo_mem_l.i_ecc in module prs_double_line_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC_PRTY_E5_SHIFT 3
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC_PRTY_E5 (0x1<<4) // Set parity only for memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_fifo_mem.i_ecc in module prs_local_hdr_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC_PRTY_E5_SHIFT 4
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_K2 (0x1<<0) // Set parity only for memory ecc instance prs.i_msgb_if0_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_K2_SHIFT 0
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_K2 (0x1<<1) // Set parity only for memory ecc instance prs.i_msgb_if0_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_K2_SHIFT 1
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_K2 (0x1<<2) // Set parity only for memory ecc instance prs.i_msgb_if1_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_K2_SHIFT 2
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC_PRTY_K2 (0x1<<3) // Set parity only for memory ecc instance prs.i_msgb_if1_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC_PRTY_K2_SHIFT 3
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_PRTY_K2 (0x1<<6) // Set parity only for memory ecc instance prs.i_msgb_if3_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_PRTY_K2_SHIFT 6
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM027_I_ECC_PRTY_K2 (0x1<<7) // Set parity only for memory ecc instance prs.i_msgb_if3_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM027_I_ECC_PRTY_K2_SHIFT 7
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB (0x1<<0) // Set parity only for memory ecc instance prs.i_msgb_if0_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB_SHIFT 0
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB (0x1<<1) // Set parity only for memory ecc instance prs.i_msgb_if0_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB_SHIFT 1
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB (0x1<<2) // Set parity only for memory ecc instance prs.i_msgb_if1_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB_SHIFT 2
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB (0x1<<3) // Set parity only for memory ecc instance prs.i_msgb_if1_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_SHIFT 3
#define PRS_REG_PRTY_MASK_H_1_BB_K2 0x1f0218UL //Access:RW DataWidth:0x1f // Multi Field Register.
#define PRS_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY .
#define PRS_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_K2_SHIFT 0
@@ -39294,57 +39551,22 @@
#define PRS_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_BB_SHIFT 1
#define PRS_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: PRS_REG_PRTY_STS_H_1.MEM027_I_MEM_PRTY .
#define PRS_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_BB_SHIFT 2
-#define PRS_REG_MEM_ECC_ENABLE_0_BB_K2 0x1f0224UL //Access:RW DataWidth:0x8 // Multi Field Register.
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_K2 (0x1<<0) // Enable ECC for memory ecc instance prs.i_msgb_if0_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_K2_SHIFT 0
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_K2 (0x1<<1) // Enable ECC for memory ecc instance prs.i_msgb_if0_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_K2_SHIFT 1
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_K2 (0x1<<2) // Enable ECC for memory ecc instance prs.i_msgb_if1_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_K2_SHIFT 2
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC_EN_K2 (0x1<<3) // Enable ECC for memory ecc instance prs.i_msgb_if1_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC_EN_K2_SHIFT 3
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_K2 (0x1<<4) // Enable ECC for memory ecc instance prs.i_msgb_if2_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_K2_SHIFT 4
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_K2 (0x1<<5) // Enable ECC for memory ecc instance prs.i_msgb_if2_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_K2_SHIFT 5
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_EN_K2 (0x1<<6) // Enable ECC for memory ecc instance prs.i_msgb_if3_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_EN_K2_SHIFT 6
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM027_I_ECC_EN_K2 (0x1<<7) // Enable ECC for memory ecc instance prs.i_msgb_if3_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM027_I_ECC_EN_K2_SHIFT 7
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB (0x1<<0) // Enable ECC for memory ecc instance prs.i_msgb_if0_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB_SHIFT 0
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB (0x1<<1) // Enable ECC for memory ecc instance prs.i_msgb_if0_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB_SHIFT 1
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB (0x1<<2) // Enable ECC for memory ecc instance prs.i_msgb_if1_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB_SHIFT 2
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB (0x1<<3) // Enable ECC for memory ecc instance prs.i_msgb_if1_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_SHIFT 3
-#define PRS_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x1f0228UL //Access:RW DataWidth:0x8 // Multi Field Register.
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_K2 (0x1<<0) // Set parity only for memory ecc instance prs.i_msgb_if0_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_K2_SHIFT 0
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_K2 (0x1<<1) // Set parity only for memory ecc instance prs.i_msgb_if0_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_K2_SHIFT 1
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_K2 (0x1<<2) // Set parity only for memory ecc instance prs.i_msgb_if1_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_K2_SHIFT 2
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC_PRTY_K2 (0x1<<3) // Set parity only for memory ecc instance prs.i_msgb_if1_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC_PRTY_K2_SHIFT 3
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_K2 (0x1<<4) // Set parity only for memory ecc instance prs.i_msgb_if2_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_K2_SHIFT 4
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_K2 (0x1<<5) // Set parity only for memory ecc instance prs.i_msgb_if2_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_K2_SHIFT 5
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_PRTY_K2 (0x1<<6) // Set parity only for memory ecc instance prs.i_msgb_if3_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_PRTY_K2_SHIFT 6
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM027_I_ECC_PRTY_K2 (0x1<<7) // Set parity only for memory ecc instance prs.i_msgb_if3_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM027_I_ECC_PRTY_K2_SHIFT 7
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB (0x1<<0) // Set parity only for memory ecc instance prs.i_msgb_if0_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB_SHIFT 0
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB (0x1<<1) // Set parity only for memory ecc instance prs.i_msgb_if0_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB_SHIFT 1
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB (0x1<<2) // Set parity only for memory ecc instance prs.i_msgb_if1_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB_SHIFT 2
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB (0x1<<3) // Set parity only for memory ecc instance prs.i_msgb_if1_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_SHIFT 3
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x1f022cUL //Access:RC DataWidth:0x8 // Multi Field Register.
+#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0x1f021cUL //Access:RC DataWidth:0x5 // Multi Field Register.
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance prs.i_msgb_if2_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_K2_SHIFT 4
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_single_line_fifo_mem_h.i_ecc in module prs_single_line_fifo_mem
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_E5_SHIFT 0
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_K2 (0x1<<5) // Record if a correctable error occurred on memory ecc instance prs.i_msgb_if2_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_K2_SHIFT 5
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_single_line_fifo_mem_l.i_ecc in module prs_single_line_fifo_mem
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_E5_SHIFT 1
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC_CORRECT_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_double_line_fifo_mem_h.i_ecc in module prs_double_line_fifo_mem
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC_CORRECT_E5_SHIFT 2
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_prs_double_line_fifo_mem_l.i_ecc in module prs_double_line_fifo_mem
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC_CORRECT_E5_SHIFT 3
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC_CORRECT_E5 (0x1<<4) // Record if a correctable error occurred on memory ecc instance prs.i_prs_prsu.i_prs_prmsg.i_fifo_mem.i_ecc in module prs_local_hdr_fifo_mem
+ #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC_CORRECT_E5_SHIFT 4
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance prs.i_msgb_if0_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_K2_SHIFT 0
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance prs.i_msgb_if0_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
@@ -39353,10 +39575,6 @@
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_K2_SHIFT 2
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM017_I_ECC_CORRECT_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance prs.i_msgb_if1_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM017_I_ECC_CORRECT_K2_SHIFT 3
- #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance prs.i_msgb_if2_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_K2_SHIFT 4
- #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_K2 (0x1<<5) // Record if a correctable error occurred on memory ecc instance prs.i_msgb_if2_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
- #define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_K2_SHIFT 5
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_CORRECT_K2 (0x1<<6) // Record if a correctable error occurred on memory ecc instance prs.i_msgb_if3_main_fifoa.i_fifo_mem.i_ecc in module prs_main_fifo_mem
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_CORRECT_K2_SHIFT 6
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM027_I_ECC_CORRECT_K2 (0x1<<7) // Record if a correctable error occurred on memory ecc instance prs.i_msgb_if3_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
@@ -39370,6 +39588,7 @@
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB (0x1<<3) // Record if a correctable error occurred on memory ecc instance prs.i_msgb_if1_main_fifob.i_fifo_mem.i_ecc in module prs_main_fifo_mem
#define PRS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB_SHIFT 3
#define PRS_REG_MEM_ECC_EVENTS_BB_K2 0x1f0230UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define PRS_REG_MEM_ECC_EVENTS_E5 0x1f0220UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define PRS_REG_SEARCH_TCP 0x1f0400UL //Access:RW DataWidth:0x1 // Per-PF: Flag enabling searches for tcp protocol.
#define PRS_REG_SEARCH_UDP 0x1f0404UL //Access:RW DataWidth:0x1 // Per-PF: Flag enabling searches for udp protocol.
#define PRS_REG_SEARCH_FCOE 0x1f0408UL //Access:RW DataWidth:0x1 // Per-PF: Flag enabling searches for fcoe protocol.
@@ -39409,8 +39628,8 @@
#define PRS_REG_SEARCH_FCOE_W_VFT 0x1f0420UL //Access:RW DataWidth:0x1 // Per-PF: Enables VF_ID (if it exists) to be sent in search requests for FCoE packets.
#define PRS_REG_ROCE_BUILD_CID_WO_SEARCH 0x1f0424UL //Access:RW DataWidth:0x1 // Per-PF: Enables load request for RoCE pkts to be sent even though a search request was not sent
#define PRS_REG_ROCE_SPCL_QP_VAL 0x1f0428UL //Access:RW DataWidth:0x18 // Search is enabled if destination QP equals this value.
-#define PRS_REG_ROCE_DEST_QP_MAX_VF 0x1f042cUL //Access:RW DataWidth:0x10 // Per-PF: Max value for temp_qpid used in RoCE CID equation for VF pkts.
-#define PRS_REG_ROCE_DEST_QP_MAX_PF 0x1f0430UL //Access:RW DataWidth:0x10 // Per-PF: Max value for temp_qpid used in RoCE CID equation for PF pkts.
+#define PRS_REG_ROCE_DEST_QP_MAX_VF 0x1f042cUL //Access:RW DataWidth:0x11 // Per-PF: Max value for temp_qpid used in RoCE CID equation for VF pkts.
+#define PRS_REG_ROCE_DEST_QP_MAX_PF 0x1f0430UL //Access:RW DataWidth:0x11 // Per-PF: Max value for temp_qpid used in RoCE CID equation for PF pkts.
#define PRS_REG_SEARCH_OPENFLOW 0x1f0434UL //Access:RW DataWidth:0x1 // Per-PF: Enables openflow search for all packet types.
#define PRS_REG_SEARCH_NON_IP_AS_OPENFLOW 0x1f0438UL //Access:RW DataWidth:0x1 // Per-PF: Enables openflow search for non-IP packets. Only valid if search_openflow is also set.
#define PRS_REG_OPENFLOW_SUPPORT_ONLY_KNOWN_OVER_IP 0x1f043cUL //Access:RW DataWidth:0x1 // Per-PF: If this field is 1, Over-IPv4-protocol field of Openflow search is only valid for SCTP, TCP, and UDP headers.
@@ -39741,8 +39960,8 @@
#define PRS_REG_SRC_MAC_SELECT 0x1f0974UL //Access:RW DataWidth:0x3 // Selects whether to use the source MAC address of the first (0) or encapsulated (1) header in the output message for each encapsulation type. 0 - L2 GRE, 1 - VXLAN 2 - NGE
#define PRS_REG_VLAN_TAG_SELECT 0x1f0978UL //Access:RW DataWidth:0x3 // Selects whether to use the 8021q tag of the first (0) or encapsulated (1) header in the output message for each encapsulation type. 0 - L2 GRE, 1 - VXLAN, 2 - NGE
#define PRS_REG_MAC_VLAN_CACHE_USE_TENANT_ID 0x1f09bcUL //Access:RW DataWidth:0x6 // Per-PF: Indicates whether to include Tenant ID (if it exists) in the MAC VLAN Cache entry for each encapsulation type. 0 - L2 GRE, 1 - IP GRE, 2 - VXLAN, 3 - T-Tag, 4 - L2 NGE, 5 - IP NGE
-#define PRS_REG_MAC_VLAN_FLEX_UPPER 0x1f09c0UL //Access:RW DataWidth:0xe // Building block information used to build the MAC-VLAN Cache Flexible Field. If two blocks are used, this block is used for the upper bytes. 13:11 - number of bytes, 10:8 - Reserved, 7:4 - byte offset, 3:0 - block id.
-#define PRS_REG_MAC_VLAN_FLEX_LOWER 0x1f09c4UL //Access:RW DataWidth:0x8 // Building block information used to build the MAC-VLAN Cache Flexible Field. This block is only used if the number of bytes in mac_vlan_flex_upper is less than 8. 7:4 - byte offset 3:0 - block id.
+#define PRS_REG_MAC_VLAN_FLEX_UPPER 0x1f09c0UL //Access:RW DataWidth:0xe // Building block information used to build the MAC-VLAN Cache Flexible Field. If two blocks are used, this block is used for the upper bytes. 13:11 - number of bytes, 10:4 - byte offset, 3:0 - block id.
+#define PRS_REG_MAC_VLAN_FLEX_LOWER 0x1f09c4UL //Access:RW DataWidth:0xb // Building block information used to build the MAC-VLAN Cache Flexible Field. This block is only used if the number of bytes in mac_vlan_flex_upper is less than 8. 10:4 - byte offset 3:0 - block id.
#define PRS_REG_MAC_VLAN_FLEX_BITMASK_0 0x1f09c8UL //Access:RW DataWidth:0x20 // Used to bitmask the flexible field formed from the building block information in mac_vlan_flex_upper and/or mac_vlan_flex_lower. A zero in this register will mask the corresponding bit in the flexible field to 0.
#define PRS_REG_MAC_VLAN_FLEX_BITMASK_1 0x1f09ccUL //Access:RW DataWidth:0x20 // Used to bitmask the flexible field formed from the building block information in mac_vlan_flex_upper and/or mac_vlan_flex_lower. A zero in this register will mask the corresponding bit in the flexible field to 0.
#define PRS_REG_SORT_SACK 0x1f09d0UL //Access:RW DataWidth:0x1 // Per-PF: If set, the SACK blocks will be sorted and various compares performed.
@@ -39866,6 +40085,7 @@
#define PRS_REG_SOP_DSCR_FIFO_ALMOST_FULL_TH_E5 0x1f0f44UL //Access:RW DataWidth:0x3 //
#define PRS_REG_FCE_MAX_PARKING_LOT_OCCUPANCY_E5 0x1f0f48UL //Access:R DataWidth:0x4 //
#define PRS_REG_FCE_MAX_PARKING_LOT_VALID_ENTRIES_E5 0x1f0f4cUL //Access:R DataWidth:0x4 //
+#define PRS_REG_FCE_USE_SINGLE_FC_CHICKEN_BIT_E5 0x1f0f50UL //Access:RW DataWidth:0x1 //
#define PRS_REG_CAM_BIST_EN_BB 0x1f0f80UL //Access:RW DataWidth:0x1 // Used to enable/disable BIST mode. When set, BIST testing will be performed and the results will be posted upon completion. When cleared CAM access will be enabled through the CAM BIST mechanism instead.
#define PRS_REG_CAM_BIST_SKIP_ERROR_CNT_BB 0x1f0f84UL //Access:RW DataWidth:0x8 // Provides a threshold for the number of CAM BIST errors that are acceptable before reporting CAM BIST failure status.
#define PRS_REG_CAM_BIST_STATUS_SEL_BB 0x1f0f88UL //Access:RW DataWidth:0x8 // Used to select the BIST status word to read following the completion of a BIST test. Also used to select the data slice when writing data directly to the CAM using the CAM BIST mechanism.
@@ -40881,9 +41101,9 @@
#define CNIG_REG_CNIG_DBG_PMEG_TXFIFO_THRESH_BB 0x218294UL //Access:RW DataWidth:0x6 // This register sets the Threshold level for Tx Credits from the 4x10 PM. Data will not be sent to the PM unless the current number of credits is greater than the number in this register. This allows extra levels of registers between the PM and CNIG blocks without overflow.
#define CNIG_REG_CNIG_DBG_PMFC_TXFIFO_THRESH_BB 0x218298UL //Access:RW DataWidth:0x6 // This register sets the Threshold level for Tx Credits from the 1x40 PM. Data will not be sent to the PM unless the current number of credits is greater than the number in this register. This allows extra levels of registers between the PM and CNIG blocks without overflow.
#define CNIG_REG_CNIG_DBG_FIFO_ERROR_BB 0x21829cUL //Access:R DataWidth:0x5 // This register latches the FIFO Error bits from the PMFC Rx FIFO (bit [4]) and the NIG Tx FIFOs (bits [3:0]). To clear these bits, the NIG block must be reset.
-#define CNIG_REG_DBG_OUT_VALID_K2_E5 0x2182a0UL //Access:R DataWidth:0x4 // Dbgmux output valid
+#define CNIG_REG_DBG_OUT_VALID_K2_E5 0x2182a0UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
#define CNIG_REG_CNIG_DBG_PMEG_CNIG_PORT_MODE_BB 0x2182a0UL //Access:R DataWidth:0x3 //
-#define CNIG_REG_DBG_OUT_FRAME_K2_E5 0x2182a4UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define CNIG_REG_DBG_OUT_FRAME_K2_E5 0x2182a4UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define CNIG_REG_CNIG_DBG_PMFC_CNIG_PORT_MODE_BB 0x2182a4UL //Access:R DataWidth:0x4 //
#define CNIG_REG_CNIG_DBG_PMEG_CNIG_TSFIFO_NOT_EMPTY_BB 0x2182a8UL //Access:R DataWidth:0x4 //
#define CNIG_REG_CNIG_DBG_PMFC_CNIG_TSFIFO_NOT_EMPTY_BB 0x2182acUL //Access:R DataWidth:0x4 //
@@ -40965,14 +41185,14 @@
#define PRM_REG_INT_STS_PBINP_PEND_ERROR_SHIFT 5
#define PRM_REG_INT_STS_TAG_PEND_ERROR (0x1<<6) // Overrun/underrun error for tag pending FIFO.
#define PRM_REG_INT_STS_TAG_PEND_ERROR_SHIFT 6
- #define PRM_REG_INT_STS_MSTORM_EOP_ERR (0x1<<7) // End of packet error on M-Storm command interface.
- #define PRM_REG_INT_STS_MSTORM_EOP_ERR_SHIFT 7
- #define PRM_REG_INT_STS_USTORM_EOP_ERR (0x1<<8) // End of packet error on U-Storm command interface.
- #define PRM_REG_INT_STS_USTORM_EOP_ERR_SHIFT 8
#define PRM_REG_INT_STS_MSTORM_QUE_ERR (0x1<<9) // FIFO overflow/underflow error on M-Storm command interface.
#define PRM_REG_INT_STS_MSTORM_QUE_ERR_SHIFT 9
#define PRM_REG_INT_STS_USTORM_QUE_ERR (0x1<<10) // FIFO overflow/underflow error on U-Storm command interface.
#define PRM_REG_INT_STS_USTORM_QUE_ERR_SHIFT 10
+ #define PRM_REG_INT_STS_MSTORM_EOP_ERR_BB_K2 (0x1<<7) // End of packet error on M-Storm command interface.
+ #define PRM_REG_INT_STS_MSTORM_EOP_ERR_BB_K2_SHIFT 7
+ #define PRM_REG_INT_STS_USTORM_EOP_ERR_BB_K2 (0x1<<8) // End of packet error on U-Storm command interface.
+ #define PRM_REG_INT_STS_USTORM_EOP_ERR_BB_K2_SHIFT 8
#define PRM_REG_INT_MASK 0x230044UL //Access:RW DataWidth:0xb // Multi Field Register.
#define PRM_REG_INT_MASK_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: PRM_REG_INT_STS.ADDRESS_ERROR .
#define PRM_REG_INT_MASK_ADDRESS_ERROR_SHIFT 0
@@ -40988,14 +41208,14 @@
#define PRM_REG_INT_MASK_PBINP_PEND_ERROR_SHIFT 5
#define PRM_REG_INT_MASK_TAG_PEND_ERROR (0x1<<6) // This bit masks, when set, the Interrupt bit: PRM_REG_INT_STS.TAG_PEND_ERROR .
#define PRM_REG_INT_MASK_TAG_PEND_ERROR_SHIFT 6
- #define PRM_REG_INT_MASK_MSTORM_EOP_ERR (0x1<<7) // This bit masks, when set, the Interrupt bit: PRM_REG_INT_STS.MSTORM_EOP_ERR .
- #define PRM_REG_INT_MASK_MSTORM_EOP_ERR_SHIFT 7
- #define PRM_REG_INT_MASK_USTORM_EOP_ERR (0x1<<8) // This bit masks, when set, the Interrupt bit: PRM_REG_INT_STS.USTORM_EOP_ERR .
- #define PRM_REG_INT_MASK_USTORM_EOP_ERR_SHIFT 8
#define PRM_REG_INT_MASK_MSTORM_QUE_ERR (0x1<<9) // This bit masks, when set, the Interrupt bit: PRM_REG_INT_STS.MSTORM_QUE_ERR .
#define PRM_REG_INT_MASK_MSTORM_QUE_ERR_SHIFT 9
#define PRM_REG_INT_MASK_USTORM_QUE_ERR (0x1<<10) // This bit masks, when set, the Interrupt bit: PRM_REG_INT_STS.USTORM_QUE_ERR .
#define PRM_REG_INT_MASK_USTORM_QUE_ERR_SHIFT 10
+ #define PRM_REG_INT_MASK_MSTORM_EOP_ERR_BB_K2 (0x1<<7) // This bit masks, when set, the Interrupt bit: PRM_REG_INT_STS.MSTORM_EOP_ERR .
+ #define PRM_REG_INT_MASK_MSTORM_EOP_ERR_BB_K2_SHIFT 7
+ #define PRM_REG_INT_MASK_USTORM_EOP_ERR_BB_K2 (0x1<<8) // This bit masks, when set, the Interrupt bit: PRM_REG_INT_STS.USTORM_EOP_ERR .
+ #define PRM_REG_INT_MASK_USTORM_EOP_ERR_BB_K2_SHIFT 8
#define PRM_REG_INT_STS_WR 0x230048UL //Access:WR DataWidth:0xb // Multi Field Register.
#define PRM_REG_INT_STS_WR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PRM_REG_INT_STS_WR_ADDRESS_ERROR_SHIFT 0
@@ -41011,14 +41231,14 @@
#define PRM_REG_INT_STS_WR_PBINP_PEND_ERROR_SHIFT 5
#define PRM_REG_INT_STS_WR_TAG_PEND_ERROR (0x1<<6) // Overrun/underrun error for tag pending FIFO.
#define PRM_REG_INT_STS_WR_TAG_PEND_ERROR_SHIFT 6
- #define PRM_REG_INT_STS_WR_MSTORM_EOP_ERR (0x1<<7) // End of packet error on M-Storm command interface.
- #define PRM_REG_INT_STS_WR_MSTORM_EOP_ERR_SHIFT 7
- #define PRM_REG_INT_STS_WR_USTORM_EOP_ERR (0x1<<8) // End of packet error on U-Storm command interface.
- #define PRM_REG_INT_STS_WR_USTORM_EOP_ERR_SHIFT 8
#define PRM_REG_INT_STS_WR_MSTORM_QUE_ERR (0x1<<9) // FIFO overflow/underflow error on M-Storm command interface.
#define PRM_REG_INT_STS_WR_MSTORM_QUE_ERR_SHIFT 9
#define PRM_REG_INT_STS_WR_USTORM_QUE_ERR (0x1<<10) // FIFO overflow/underflow error on U-Storm command interface.
#define PRM_REG_INT_STS_WR_USTORM_QUE_ERR_SHIFT 10
+ #define PRM_REG_INT_STS_WR_MSTORM_EOP_ERR_BB_K2 (0x1<<7) // End of packet error on M-Storm command interface.
+ #define PRM_REG_INT_STS_WR_MSTORM_EOP_ERR_BB_K2_SHIFT 7
+ #define PRM_REG_INT_STS_WR_USTORM_EOP_ERR_BB_K2 (0x1<<8) // End of packet error on U-Storm command interface.
+ #define PRM_REG_INT_STS_WR_USTORM_EOP_ERR_BB_K2_SHIFT 8
#define PRM_REG_INT_STS_CLR 0x23004cUL //Access:RC DataWidth:0xb // Multi Field Register.
#define PRM_REG_INT_STS_CLR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PRM_REG_INT_STS_CLR_ADDRESS_ERROR_SHIFT 0
@@ -41034,182 +41254,237 @@
#define PRM_REG_INT_STS_CLR_PBINP_PEND_ERROR_SHIFT 5
#define PRM_REG_INT_STS_CLR_TAG_PEND_ERROR (0x1<<6) // Overrun/underrun error for tag pending FIFO.
#define PRM_REG_INT_STS_CLR_TAG_PEND_ERROR_SHIFT 6
- #define PRM_REG_INT_STS_CLR_MSTORM_EOP_ERR (0x1<<7) // End of packet error on M-Storm command interface.
- #define PRM_REG_INT_STS_CLR_MSTORM_EOP_ERR_SHIFT 7
- #define PRM_REG_INT_STS_CLR_USTORM_EOP_ERR (0x1<<8) // End of packet error on U-Storm command interface.
- #define PRM_REG_INT_STS_CLR_USTORM_EOP_ERR_SHIFT 8
#define PRM_REG_INT_STS_CLR_MSTORM_QUE_ERR (0x1<<9) // FIFO overflow/underflow error on M-Storm command interface.
#define PRM_REG_INT_STS_CLR_MSTORM_QUE_ERR_SHIFT 9
#define PRM_REG_INT_STS_CLR_USTORM_QUE_ERR (0x1<<10) // FIFO overflow/underflow error on U-Storm command interface.
#define PRM_REG_INT_STS_CLR_USTORM_QUE_ERR_SHIFT 10
+ #define PRM_REG_INT_STS_CLR_MSTORM_EOP_ERR_BB_K2 (0x1<<7) // End of packet error on M-Storm command interface.
+ #define PRM_REG_INT_STS_CLR_MSTORM_EOP_ERR_BB_K2_SHIFT 7
+ #define PRM_REG_INT_STS_CLR_USTORM_EOP_ERR_BB_K2 (0x1<<8) // End of packet error on U-Storm command interface.
+ #define PRM_REG_INT_STS_CLR_USTORM_EOP_ERR_BB_K2_SHIFT 8
#define PRM_REG_PRTY_MASK 0x230054UL //Access:RW DataWidth:0x1 // Multi Field Register.
#define PRM_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<0) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS.DATAPATH_REGISTERS .
#define PRM_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 0
-#define PRM_REG_PRTY_MASK_H_0_BB_K2 0x230204UL //Access:RW DataWidth:0x17 // Multi Field Register.
- #define PRM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
- #define PRM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_K2_SHIFT 0
+#define PRM_REG_PRTY_MASK_H_0 0x230204UL //Access:RW DataWidth:0x18 // Multi Field Register.
+ #define PRM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_K2_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
+ #define PRM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_K2_E5_SHIFT 0
#define PRM_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_BB (0x1<<0) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM013_I_ECC_RF_INT .
#define PRM_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_BB_SHIFT 0
- #define PRM_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM013_I_ECC_RF_INT .
- #define PRM_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_K2_SHIFT 1
+ #define PRM_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_K2_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM013_I_ECC_RF_INT .
+ #define PRM_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_K2_E5_SHIFT 1
#define PRM_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_BB (0x1<<1) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
#define PRM_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_BB_SHIFT 1
- #define PRM_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
- #define PRM_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_K2_SHIFT 2
- #define PRM_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM020_I_ECC_RF_INT .
- #define PRM_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_K2_SHIFT 3
+ #define PRM_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_K2_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
+ #define PRM_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_K2_E5_SHIFT 2
+ #define PRM_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_BB (0x1<<3) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM021_I_ECC_RF_INT .
+ #define PRM_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_BB_SHIFT 3
+ #define PRM_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM021_I_ECC_RF_INT .
+ #define PRM_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_E5_SHIFT 3
#define PRM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_SHIFT 13
- #define PRM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_SHIFT 4
- #define PRM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB (0x1<<16) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB_SHIFT 16
- #define PRM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_SHIFT 5
- #define PRM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_SHIFT 11
- #define PRM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_SHIFT 6
+ #define PRM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_E5_SHIFT 4
+ #define PRM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_BB_SHIFT 5
+ #define PRM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5_SHIFT 5
+ #define PRM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_SHIFT 7
+ #define PRM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5_SHIFT 6
#define PRM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_SHIFT 6
- #define PRM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_SHIFT 7
+ #define PRM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_E5_SHIFT 7
#define PRM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB (0x1<<18) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_SHIFT 18
- #define PRM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_SHIFT 8
+ #define PRM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_E5_SHIFT 8
#define PRM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB (0x1<<8) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_SHIFT 8
- #define PRM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_SHIFT 9
+ #define PRM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_E5_SHIFT 9
#define PRM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_SHIFT 9
- #define PRM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_SHIFT 10
- #define PRM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_SHIFT 11
+ #define PRM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_E5_SHIFT 10
+ #define PRM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_E5_SHIFT 11
+ #define PRM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_SHIFT 11
+ #define PRM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_SHIFT 6
+ #define PRM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5_SHIFT 12
#define PRM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_SHIFT 10
#define PRM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_SHIFT 12
+ #define PRM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 13
#define PRM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB (0x1<<14) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_SHIFT 14
#define PRM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2_SHIFT 13
+ #define PRM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 14
#define PRM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_SHIFT 20
#define PRM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_K2_SHIFT 14
+ #define PRM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 15
#define PRM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_SHIFT 4
#define PRM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2 (0x1<<15) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_SHIFT 15
- #define PRM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_SHIFT 21
- #define PRM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_SHIFT 16
+ #define PRM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 16
+ #define PRM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB (0x1<<16) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB_SHIFT 16
+ #define PRM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_SHIFT 5
+ #define PRM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5_SHIFT 17
#define PRM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB (0x1<<15) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 15
#define PRM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_SHIFT 17
+ #define PRM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 18
#define PRM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB (0x1<<17) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_SHIFT 17
#define PRM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_SHIFT 18
+ #define PRM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 19
#define PRM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<19) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 19
+ #define PRM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 20
+ #define PRM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_SHIFT 21
+ #define PRM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_SHIFT 16
+ #define PRM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5_SHIFT 21
#define PRM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_SHIFT 22
#define PRM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2_SHIFT 20
+ #define PRM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5_SHIFT 22
+ #define PRM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_SHIFT 23
+ #define PRM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define PRM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5_SHIFT 23
+ #define PRM_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM020_I_ECC_RF_INT .
+ #define PRM_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_K2_SHIFT 3
#define PRM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_SHIFT 21
#define PRM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_SHIFT 22
#define PRM_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_BB (0x1<<2) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM015_I_ECC_RF_INT .
#define PRM_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_BB_SHIFT 2
- #define PRM_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_BB (0x1<<3) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM021_I_ECC_RF_INT .
- #define PRM_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_BB_SHIFT 3
- #define PRM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_BB_SHIFT 5
- #define PRM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_SHIFT 7
#define PRM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
#define PRM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_SHIFT 12
- #define PRM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: PRM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
- #define PRM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_SHIFT 23
-#define PRM_REG_MEM012_RF_ECC_ERROR_CONNECT_K2 0x230210UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PRM_REG_MEM012_RF_ECC_ERROR_CONNECT_K2_E5 0x230210UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define PRM_REG_MEM013_RF_ECC_ERROR_CONNECT_BB 0x230210UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PRM_REG_MEM013_RF_ECC_ERROR_CONNECT_K2 0x230214UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PRM_REG_MEM013_RF_ECC_ERROR_CONNECT_K2_E5 0x230214UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define PRM_REG_MEM014_RF_ECC_ERROR_CONNECT_BB 0x230214UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PRM_REG_MEM014_RF_ECC_ERROR_CONNECT_K2 0x230218UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PRM_REG_MEM014_RF_ECC_ERROR_CONNECT_K2_E5 0x230218UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define PRM_REG_MEM015_RF_ECC_ERROR_CONNECT_BB 0x230218UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PRM_REG_MEM_ECC_ENABLE_0_BB_K2 0x23021cUL //Access:RW DataWidth:0x4 // Multi Field Register.
- #define PRM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_K2 (0x1<<0) // Enable ECC for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.i_ecc in module rdif_l1_sector0_mem
- #define PRM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_K2_SHIFT 0
+#define PRM_REG_MEM_ECC_ENABLE_0 0x23021cUL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define PRM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_K2_E5 (0x1<<0) // Enable ECC for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.i_ecc in module rdif_l1_sector0_mem
+ #define PRM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_K2_E5_SHIFT 0
#define PRM_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_BB (0x1<<0) // Enable ECC for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.i_ecc in module rdif_l1_sector0_mem
#define PRM_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_BB_SHIFT 0
- #define PRM_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_K2 (0x1<<1) // Enable ECC for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.i_ecc in module rdif_l1_sector1_mem
- #define PRM_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_K2_SHIFT 1
+ #define PRM_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_K2_E5 (0x1<<1) // Enable ECC for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.i_ecc in module rdif_l1_sector1_mem
+ #define PRM_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_K2_E5_SHIFT 1
#define PRM_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB (0x1<<1) // Enable ECC for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.i_ecc in module rdif_l1_sector1_mem
#define PRM_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB_SHIFT 1
- #define PRM_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_K2 (0x1<<2) // Enable ECC for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.i_ecc in module rdif_l1_sector2_mem
- #define PRM_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_K2_SHIFT 2
+ #define PRM_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_K2_E5 (0x1<<2) // Enable ECC for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.i_ecc in module rdif_l1_sector2_mem
+ #define PRM_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_K2_E5_SHIFT 2
+ #define PRM_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_BB (0x1<<3) // Enable ECC for memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
+ #define PRM_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_BB_SHIFT 3
+ #define PRM_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
+ #define PRM_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_E5_SHIFT 3
#define PRM_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC_EN_K2 (0x1<<3) // Enable ECC for memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
#define PRM_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC_EN_K2_SHIFT 3
#define PRM_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB (0x1<<2) // Enable ECC for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.i_ecc in module rdif_l1_sector2_mem
#define PRM_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_SHIFT 2
- #define PRM_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_BB (0x1<<3) // Enable ECC for memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
- #define PRM_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_BB_SHIFT 3
-#define PRM_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x230220UL //Access:RW DataWidth:0x4 // Multi Field Register.
- #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_K2 (0x1<<0) // Set parity only for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.i_ecc in module rdif_l1_sector0_mem
- #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_K2_SHIFT 0
+#define PRM_REG_MEM_ECC_PARITY_ONLY_0 0x230220UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_K2_E5 (0x1<<0) // Set parity only for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.i_ecc in module rdif_l1_sector0_mem
+ #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_K2_E5_SHIFT 0
#define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_BB (0x1<<0) // Set parity only for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.i_ecc in module rdif_l1_sector0_mem
#define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_BB_SHIFT 0
- #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_K2 (0x1<<1) // Set parity only for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.i_ecc in module rdif_l1_sector1_mem
- #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_K2_SHIFT 1
+ #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_K2_E5 (0x1<<1) // Set parity only for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.i_ecc in module rdif_l1_sector1_mem
+ #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_K2_E5_SHIFT 1
#define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB (0x1<<1) // Set parity only for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.i_ecc in module rdif_l1_sector1_mem
#define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB_SHIFT 1
- #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_K2 (0x1<<2) // Set parity only for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.i_ecc in module rdif_l1_sector2_mem
- #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_K2_SHIFT 2
+ #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_K2_E5 (0x1<<2) // Set parity only for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.i_ecc in module rdif_l1_sector2_mem
+ #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_K2_E5_SHIFT 2
+ #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_BB (0x1<<3) // Set parity only for memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
+ #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_BB_SHIFT 3
+ #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
+ #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_E5_SHIFT 3
#define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC_PRTY_K2 (0x1<<3) // Set parity only for memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
#define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC_PRTY_K2_SHIFT 3
#define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB (0x1<<2) // Set parity only for memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.i_ecc in module rdif_l1_sector2_mem
#define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_SHIFT 2
- #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_BB (0x1<<3) // Set parity only for memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
- #define PRM_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_BB_SHIFT 3
-#define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x230224UL //Access:RC DataWidth:0x4 // Multi Field Register.
- #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.i_ecc in module rdif_l1_sector0_mem
- #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_K2_SHIFT 0
+#define PRM_REG_MEM_ECC_ERROR_CORRECTED_0 0x230224UL //Access:RC DataWidth:0x4 // Multi Field Register.
+ #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_K2_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.i_ecc in module rdif_l1_sector0_mem
+ #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_K2_E5_SHIFT 0
#define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_BB (0x1<<0) // Record if a correctable error occurred on memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector0_mem.i_ecc in module rdif_l1_sector0_mem
#define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_BB_SHIFT 0
- #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.i_ecc in module rdif_l1_sector1_mem
- #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_K2_SHIFT 1
+ #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_K2_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.i_ecc in module rdif_l1_sector1_mem
+ #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_K2_E5_SHIFT 1
#define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_BB (0x1<<1) // Record if a correctable error occurred on memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector1_mem.i_ecc in module rdif_l1_sector1_mem
#define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_BB_SHIFT 1
- #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.i_ecc in module rdif_l1_sector2_mem
- #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_K2_SHIFT 2
+ #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_K2_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.i_ecc in module rdif_l1_sector2_mem
+ #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_K2_E5_SHIFT 2
+ #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_BB (0x1<<3) // Record if a correctable error occurred on memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
+ #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_BB_SHIFT 3
+ #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
+ #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_E5_SHIFT 3
#define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC_CORRECT_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
#define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC_CORRECT_K2_SHIFT 3
#define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB (0x1<<2) // Record if a correctable error occurred on memory ecc instance prm.i_prm_dp.i_rdif.i_rdif_l1_sector2_mem.i_ecc in module rdif_l1_sector2_mem
#define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB_SHIFT 2
- #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_BB (0x1<<3) // Record if a correctable error occurred on memory ecc instance prm.i_prm_rpb_l1_ram.i_ecc in module prm_rpb_l1_ram
- #define PRM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_BB_SHIFT 3
-#define PRM_REG_MEM_ECC_EVENTS_BB_K2 0x230228UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define PRM_REG_MEM_ECC_EVENTS 0x230228UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define PRM_REG_TAG_SZ 0x230400UL //Access:RW DataWidth:0x4 // Array of registers provides a size (in units of two bytes) for each of the possible seven configurable L2 tags to remove, where the direct register index corresponds with the tag ID. The actual value to remove in bytes will be defined by the following: size (bytes) = (tag_sz+1)*2. Note: there is no tag_sz register for tag ID = 0x7 because this is the LLC/Snap tag ID and is not configurable.
#define PRM_REG_TAG_SZ_SIZE 7
#define PRM_REG_PAD_DATA 0x230420UL //Access:RW DataWidth:0x10 // Provides the value of the 16-bit pad that will be inserted into the PXP data stream when pad insertion is enabled.
#define PRM_REG_PAD_FROM_DBG 0x230424UL //Access:RW DataWidth:0x1 // When set, this bit enables the pad insertion logic to use BRB debug field from the PRM command to define the value of the inserted pad; otherwise the pad_data configuration is used.
#define PRM_REG_INIT_CREDIT_PXP 0x230428UL //Access:RW DataWidth:0x3 // Initial credit to be used on the PXP request interface. This value defines the maximum number of outstanding requests allowed.
-#define PRM_REG_INIT_CREDIT_RDIF_CMD 0x23042cUL //Access:RW DataWidth:0x4 // Initial credit to be used on the RDIF command interface for regular (non-pass-through) requests. This value defines the maximum number of outstanding regular commands allowed.
-#define PRM_REG_INIT_CREDIT_RDIF_PTH 0x230430UL //Access:RW DataWidth:0x6 // Initial credit to be used on the RDIF command interface for pass-through requests. This value defines the maximum number of outstanding pass-through commands allowed.
+#define PRM_REG_INIT_CREDIT_RDIF_CMD 0x23042cUL //Access:RW DataWidth:0x7 // Initial credit to be used on the RDIF command interface for regular (non-pass-through) requests. This value defines the maximum number of outstanding regular commands allowed.
+#define PRM_REG_INIT_CREDIT_RDIF_PTH 0x230430UL //Access:RW DataWidth:0x8 // Initial credit to be used on the RDIF command interface for pass-through requests. This value defines the maximum number of outstanding pass-through commands allowed.
#define PRM_REG_RPB_DB_FULL_THR 0x230500UL //Access:RW DataWidth:0x6 // Defines the number of occupied entries required in the RPB data buffer before the full signal will be asserted.
-#define PRM_REG_RPB_TQ_FULL_THR 0x230504UL //Access:RW DataWidth:0x7 // Defines the number of occupied entries required in the RPB task queue before the full signal will be asserted.
+#define PRM_REG_RPB_TQ_FULL_THR 0x230504UL //Access:RW DataWidth:0x8 // Defines the number of occupied entries required in the RPB task queue before the full signal will be asserted.
#define PRM_REG_IFIFO_FULL_THR 0x230508UL //Access:RW DataWidth:0x5 // Defines the number of occupied entries required in the BRB input FIFO before the full signal will be asserted.
#define PRM_REG_ECO_RESERVED 0x23050cUL //Access:RW DataWidth:0x20 // This register is reserved for future ECO fixes. It may be used for chicken-bits, etc.
-#define PRM_REG_PXP_RESP_FULL_THR 0x230510UL //Access:RW DataWidth:0x6 // Defines the number of occupied entries required in the PXP read-response FIFO before the full signal will be asserted.
-#define PRM_REG_NUM_OF_MSTORM_CMD 0x230600UL //Access:RC DataWidth:0x18 // Statistics counter provides a count of the number of M-Storm comands that have been received by the PRM.
-#define PRM_REG_NUM_OF_USTORM_CMD 0x230604UL //Access:RC DataWidth:0x18 // Statistics counter provides a count of the number of U-Storm comands that have been received by the PRM.
+#define PRM_REG_PXP_RESP_FULL_THR 0x230510UL //Access:RW DataWidth:0x9 // Defines the number of occupied entries required in the PXP read-response FIFO before the full signal will be asserted.
+#define PRM_REG_NUM_OF_MSTORM_CMD 0x230600UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of M-Storm comands that have been received by the PRM.
+#define PRM_REG_NUM_OF_USTORM_CMD 0x230604UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of U-Storm comands that have been received by the PRM.
+#define PRM_REG_NUM_OF_WDONE_E5 0x230608UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of wdone
+#define PRM_REG_NUM_OF_MULD_DONE0_E5 0x23060cUL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of wdone
+#define PRM_REG_NUM_OF_MULD_DONE1_E5 0x230610UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_MULD_ENQUEUE_E5 0x230614UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_MSDM_CMPL_E5 0x230618UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_USDM_CMPL_E5 0x23061cUL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_PXP_DST_E5 0x230620UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_PXP2_DST_E5 0x230624UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_NONE_DST_E5 0x230628UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_NONE_SRC_E5 0x23062cUL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_PXP_SRC_E5 0x230630UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_IMMED_SRC_E5 0x230634UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_BRB_SRC_E5 0x230638UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_TAG_REMOVAL_E5 0x23063cUL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_PB_E5 0x230640UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_DIF_E5 0x230644UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_UCM_DONE_E5 0x230648UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_YCM_DONE_E5 0x23064cUL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
+#define PRM_REG_NUM_OF_XCM_DONE_E5 0x230650UL //Access:RC DataWidth:0x20 // Statistics counter provides a count of the number of
#define PRM_REG_DBG_OUT_DATA 0x230680UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define PRM_REG_DBG_OUT_DATA_SIZE 8
#define PRM_REG_DBG_OUT_VALID 0x2306a0UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
@@ -41339,8 +41614,12 @@
#define RSS_REG_INT_STS 0x238980UL //Access:R DataWidth:0x16 // Multi Field Register.
#define RSS_REG_INT_STS_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define RSS_REG_INT_STS_ADDRESS_ERROR_SHIFT 0
+ #define RSS_REG_INT_STS_INP_FIFO_ERROR (0x1<<7) // Input FIFO overflow or underflow.
+ #define RSS_REG_INT_STS_INP_FIFO_ERROR_SHIFT 7
#define RSS_REG_INT_STS_CMD_FIFO_ERROR (0x1<<8) // RSS command FIFO overflow or underflow.
#define RSS_REG_INT_STS_CMD_FIFO_ERROR_SHIFT 8
+ #define RSS_REG_INT_STS_MSG_FIFO_ERROR (0x1<<9) // Message FIFO overflow or underflow.
+ #define RSS_REG_INT_STS_MSG_FIFO_ERROR_SHIFT 9
#define RSS_REG_INT_STS_RSP_FIFO_ERROR (0x1<<10) // Response FIFO overflow or underflow.
#define RSS_REG_INT_STS_RSP_FIFO_ERROR_SHIFT 10
#define RSS_REG_INT_STS_HDR_FIFO_ERROR (0x1<<11) // Header FIFO overflow or underflow.
@@ -41377,15 +41656,15 @@
#define RSS_REG_INT_STS_MAIN_STATE_ERROR_BB_K2_SHIFT 5
#define RSS_REG_INT_STS_CALC_STATE_ERROR_BB_K2 (0x1<<6) // CALC state machine in RSS calculation block reached error state.
#define RSS_REG_INT_STS_CALC_STATE_ERROR_BB_K2_SHIFT 6
- #define RSS_REG_INT_STS_INP_FIFO_ERROR_BB_K2 (0x1<<7) // Input FIFO overflow or underflow.
- #define RSS_REG_INT_STS_INP_FIFO_ERROR_BB_K2_SHIFT 7
- #define RSS_REG_INT_STS_MSG_FIFO_ERROR_BB_K2 (0x1<<9) // Message FIFO overflow or underflow.
- #define RSS_REG_INT_STS_MSG_FIFO_ERROR_BB_K2_SHIFT 9
#define RSS_REG_INT_MASK 0x238984UL //Access:RW DataWidth:0x16 // Multi Field Register.
#define RSS_REG_INT_MASK_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: RSS_REG_INT_STS.ADDRESS_ERROR .
#define RSS_REG_INT_MASK_ADDRESS_ERROR_SHIFT 0
+ #define RSS_REG_INT_MASK_INP_FIFO_ERROR (0x1<<7) // This bit masks, when set, the Interrupt bit: RSS_REG_INT_STS.INP_FIFO_ERROR .
+ #define RSS_REG_INT_MASK_INP_FIFO_ERROR_SHIFT 7
#define RSS_REG_INT_MASK_CMD_FIFO_ERROR (0x1<<8) // This bit masks, when set, the Interrupt bit: RSS_REG_INT_STS.CMD_FIFO_ERROR .
#define RSS_REG_INT_MASK_CMD_FIFO_ERROR_SHIFT 8
+ #define RSS_REG_INT_MASK_MSG_FIFO_ERROR (0x1<<9) // This bit masks, when set, the Interrupt bit: RSS_REG_INT_STS.MSG_FIFO_ERROR .
+ #define RSS_REG_INT_MASK_MSG_FIFO_ERROR_SHIFT 9
#define RSS_REG_INT_MASK_RSP_FIFO_ERROR (0x1<<10) // This bit masks, when set, the Interrupt bit: RSS_REG_INT_STS.RSP_FIFO_ERROR .
#define RSS_REG_INT_MASK_RSP_FIFO_ERROR_SHIFT 10
#define RSS_REG_INT_MASK_HDR_FIFO_ERROR (0x1<<11) // This bit masks, when set, the Interrupt bit: RSS_REG_INT_STS.HDR_FIFO_ERROR .
@@ -41422,15 +41701,15 @@
#define RSS_REG_INT_MASK_MAIN_STATE_ERROR_BB_K2_SHIFT 5
#define RSS_REG_INT_MASK_CALC_STATE_ERROR_BB_K2 (0x1<<6) // This bit masks, when set, the Interrupt bit: RSS_REG_INT_STS.CALC_STATE_ERROR .
#define RSS_REG_INT_MASK_CALC_STATE_ERROR_BB_K2_SHIFT 6
- #define RSS_REG_INT_MASK_INP_FIFO_ERROR_BB_K2 (0x1<<7) // This bit masks, when set, the Interrupt bit: RSS_REG_INT_STS.INP_FIFO_ERROR .
- #define RSS_REG_INT_MASK_INP_FIFO_ERROR_BB_K2_SHIFT 7
- #define RSS_REG_INT_MASK_MSG_FIFO_ERROR_BB_K2 (0x1<<9) // This bit masks, when set, the Interrupt bit: RSS_REG_INT_STS.MSG_FIFO_ERROR .
- #define RSS_REG_INT_MASK_MSG_FIFO_ERROR_BB_K2_SHIFT 9
#define RSS_REG_INT_STS_WR 0x238988UL //Access:WR DataWidth:0x16 // Multi Field Register.
#define RSS_REG_INT_STS_WR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define RSS_REG_INT_STS_WR_ADDRESS_ERROR_SHIFT 0
+ #define RSS_REG_INT_STS_WR_INP_FIFO_ERROR (0x1<<7) // Input FIFO overflow or underflow.
+ #define RSS_REG_INT_STS_WR_INP_FIFO_ERROR_SHIFT 7
#define RSS_REG_INT_STS_WR_CMD_FIFO_ERROR (0x1<<8) // RSS command FIFO overflow or underflow.
#define RSS_REG_INT_STS_WR_CMD_FIFO_ERROR_SHIFT 8
+ #define RSS_REG_INT_STS_WR_MSG_FIFO_ERROR (0x1<<9) // Message FIFO overflow or underflow.
+ #define RSS_REG_INT_STS_WR_MSG_FIFO_ERROR_SHIFT 9
#define RSS_REG_INT_STS_WR_RSP_FIFO_ERROR (0x1<<10) // Response FIFO overflow or underflow.
#define RSS_REG_INT_STS_WR_RSP_FIFO_ERROR_SHIFT 10
#define RSS_REG_INT_STS_WR_HDR_FIFO_ERROR (0x1<<11) // Header FIFO overflow or underflow.
@@ -41467,15 +41746,15 @@
#define RSS_REG_INT_STS_WR_MAIN_STATE_ERROR_BB_K2_SHIFT 5
#define RSS_REG_INT_STS_WR_CALC_STATE_ERROR_BB_K2 (0x1<<6) // CALC state machine in RSS calculation block reached error state.
#define RSS_REG_INT_STS_WR_CALC_STATE_ERROR_BB_K2_SHIFT 6
- #define RSS_REG_INT_STS_WR_INP_FIFO_ERROR_BB_K2 (0x1<<7) // Input FIFO overflow or underflow.
- #define RSS_REG_INT_STS_WR_INP_FIFO_ERROR_BB_K2_SHIFT 7
- #define RSS_REG_INT_STS_WR_MSG_FIFO_ERROR_BB_K2 (0x1<<9) // Message FIFO overflow or underflow.
- #define RSS_REG_INT_STS_WR_MSG_FIFO_ERROR_BB_K2_SHIFT 9
#define RSS_REG_INT_STS_CLR 0x23898cUL //Access:RC DataWidth:0x16 // Multi Field Register.
#define RSS_REG_INT_STS_CLR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define RSS_REG_INT_STS_CLR_ADDRESS_ERROR_SHIFT 0
+ #define RSS_REG_INT_STS_CLR_INP_FIFO_ERROR (0x1<<7) // Input FIFO overflow or underflow.
+ #define RSS_REG_INT_STS_CLR_INP_FIFO_ERROR_SHIFT 7
#define RSS_REG_INT_STS_CLR_CMD_FIFO_ERROR (0x1<<8) // RSS command FIFO overflow or underflow.
#define RSS_REG_INT_STS_CLR_CMD_FIFO_ERROR_SHIFT 8
+ #define RSS_REG_INT_STS_CLR_MSG_FIFO_ERROR (0x1<<9) // Message FIFO overflow or underflow.
+ #define RSS_REG_INT_STS_CLR_MSG_FIFO_ERROR_SHIFT 9
#define RSS_REG_INT_STS_CLR_RSP_FIFO_ERROR (0x1<<10) // Response FIFO overflow or underflow.
#define RSS_REG_INT_STS_CLR_RSP_FIFO_ERROR_SHIFT 10
#define RSS_REG_INT_STS_CLR_HDR_FIFO_ERROR (0x1<<11) // Header FIFO overflow or underflow.
@@ -41512,11 +41791,19 @@
#define RSS_REG_INT_STS_CLR_MAIN_STATE_ERROR_BB_K2_SHIFT 5
#define RSS_REG_INT_STS_CLR_CALC_STATE_ERROR_BB_K2 (0x1<<6) // CALC state machine in RSS calculation block reached error state.
#define RSS_REG_INT_STS_CLR_CALC_STATE_ERROR_BB_K2_SHIFT 6
- #define RSS_REG_INT_STS_CLR_INP_FIFO_ERROR_BB_K2 (0x1<<7) // Input FIFO overflow or underflow.
- #define RSS_REG_INT_STS_CLR_INP_FIFO_ERROR_BB_K2_SHIFT 7
- #define RSS_REG_INT_STS_CLR_MSG_FIFO_ERROR_BB_K2 (0x1<<9) // Message FIFO overflow or underflow.
- #define RSS_REG_INT_STS_CLR_MSG_FIFO_ERROR_BB_K2_SHIFT 9
-#define RSS_REG_PRTY_MASK_H_0_BB_K2 0x238a04UL //Access:RW DataWidth:0x4 // Multi Field Register.
+#define RSS_REG_PRTY_MASK_H_0 0x238a04UL //Access:RW DataWidth:0x6 // Multi Field Register.
+ #define RSS_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: RSS_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
+ #define RSS_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_E5_SHIFT 0
+ #define RSS_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: RSS_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
+ #define RSS_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_E5_SHIFT 1
+ #define RSS_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_E5 (0x1<<2) // This bit masks, when set, the Parity bit: RSS_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
+ #define RSS_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_E5_SHIFT 2
+ #define RSS_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: RSS_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define RSS_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_E5_SHIFT 3
+ #define RSS_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: RSS_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define RSS_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 4
+ #define RSS_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: RSS_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define RSS_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 5
#define RSS_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: RSS_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
#define RSS_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2_SHIFT 0
#define RSS_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: RSS_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
@@ -41525,30 +41812,54 @@
#define RSS_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 2
#define RSS_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: RSS_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define RSS_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 3
-#define RSS_REG_MEM_ECC_ENABLE_0_BB_K2 0x238a10UL //Access:RW DataWidth:0x2 // Multi Field Register.
+#define RSS_REG_MEM_ECC_ENABLE_0 0x238a10UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define RSS_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance rss.i_rss_info_ram.i_ecc in module rss_info_ram
+ #define RSS_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_E5_SHIFT 0
+ #define RSS_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance rss.i_rss_key_ram.i_ecc in module rss_key_ram
+ #define RSS_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_E5_SHIFT 1
+ #define RSS_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_E5 (0x1<<2) // Enable ECC for memory ecc instance rss.i_rss_cid_ram.i_ecc in module rss_cid_ram
+ #define RSS_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_E5_SHIFT 2
+ #define RSS_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance rss.i_rss_ind_ram.i_ecc in module rss_ind_ram
+ #define RSS_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_E5_SHIFT 3
#define RSS_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance rss.RSS_MEM_K2_GEN_IF.i_rss_mem_ram.i_ecc in module rss_mem_4port_ram
#define RSS_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2_SHIFT 0
#define RSS_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance rss.RSS_IND_K2_GEN_IF.i_rss_ind_ram.i_ecc in module rss_ind_4port_ram
#define RSS_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2_SHIFT 1
-#define RSS_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x238a14UL //Access:RW DataWidth:0x2 // Multi Field Register.
+#define RSS_REG_MEM_ECC_PARITY_ONLY_0 0x238a14UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance rss.i_rss_info_ram.i_ecc in module rss_info_ram
+ #define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_E5_SHIFT 0
+ #define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance rss.i_rss_key_ram.i_ecc in module rss_key_ram
+ #define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_E5_SHIFT 1
+ #define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_E5 (0x1<<2) // Set parity only for memory ecc instance rss.i_rss_cid_ram.i_ecc in module rss_cid_ram
+ #define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_E5_SHIFT 2
+ #define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance rss.i_rss_ind_ram.i_ecc in module rss_ind_ram
+ #define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_E5_SHIFT 3
#define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance rss.RSS_MEM_K2_GEN_IF.i_rss_mem_ram.i_ecc in module rss_mem_4port_ram
#define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2_SHIFT 0
#define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance rss.RSS_IND_K2_GEN_IF.i_rss_ind_ram.i_ecc in module rss_ind_4port_ram
#define RSS_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2_SHIFT 1
-#define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x238a18UL //Access:RC DataWidth:0x2 // Multi Field Register.
+#define RSS_REG_MEM_ECC_ERROR_CORRECTED_0 0x238a18UL //Access:RC DataWidth:0x4 // Multi Field Register.
+ #define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance rss.i_rss_info_ram.i_ecc in module rss_info_ram
+ #define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_E5_SHIFT 0
+ #define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance rss.i_rss_key_ram.i_ecc in module rss_key_ram
+ #define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_E5_SHIFT 1
+ #define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance rss.i_rss_cid_ram.i_ecc in module rss_cid_ram
+ #define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_E5_SHIFT 2
+ #define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance rss.i_rss_ind_ram.i_ecc in module rss_ind_ram
+ #define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_E5_SHIFT 3
#define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance rss.RSS_MEM_K2_GEN_IF.i_rss_mem_ram.i_ecc in module rss_mem_4port_ram
#define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2_SHIFT 0
#define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance rss.RSS_IND_K2_GEN_IF.i_rss_ind_ram.i_ecc in module rss_ind_4port_ram
#define RSS_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2_SHIFT 1
-#define RSS_REG_MEM_ECC_EVENTS_BB_K2 0x238a1cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define RSS_REG_MEM_ECC_EVENTS 0x238a1cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define RSS_REG_KEY_RSS_EXT5 0x238c00UL //Access:RW DataWidth:0x8 // Key extension for 5th tuple.
#define RSS_REG_TMLD_CREDIT 0x238c04UL //Access:RW DataWidth:0x6 // Number of credits on RSS interface to TMLD. Maximal supported value is 32.
#define RSS_REG_RSS_RAM_MASK 0x238c10UL //Access:WB DataWidth:0x80 // RSS RAM bit enable. It will be used for write operation from RBC. If it equals to 1 then rss_ram_data for appropriate location will be written. Other way data will stay in this place without change.
#define RSS_REG_RSS_RAM_MASK_SIZE 4
#define RSS_REG_RSS_RAM_DATA 0x238c20UL //Access:WB DataWidth:0x80 // RSS RAM data. Read or write to this register will generate read or write transaction to RSS memory. Write data in this register will stay till next read command. After read was done to this register then vaue of this register will be changed to read data from RSS memory.
#define RSS_REG_RSS_RAM_DATA_SIZE 4
-#define RSS_REG_RSS_RAM_ADDR 0x238c30UL //Access:RW DataWidth:0xd // RSS RAM address. If bit 12 is 1 then bits 11:0 is done to RSS indirection memory If bits 12:10 is 0 then bits 6:0 is address to RSS CID table; If bits 12:10 is 1 then bits 9:0 is address to RSS KEY MSB table; If bits 12:10 is 2 then bits 9:0 is address to RSS KEY LSB table; If bits 12:10 is 3 then bits 7:0 is address to RSS INFO table.
-#define RSS_REG_RBC_STATUS 0x238c34UL //Access:R DataWidth:0x2 // B0 is asserted when RSS has a request from RBC that is still not done; B1 is asserted when RSS executed read or write request from RBC and next request still wasn't received.
+#define RSS_REG_RSS_RAM_ADDR 0x238c30UL //Access:RW DataWidth:0xd // RSS RAM address. If bit 12 is 1 then bits 11:0 is addr to RSS indirection memory. If bits 12:10 are 0 then bits 6:0 is addr to RSS CID table. If bits 12:10 are 1 then bits 9:0 is addr to RSS KEY MSB table. If bits 12:10 are 2 then bits 9:0 is addr to RSS KEY LSB table. If bits 12:10 are 3 then bits 7:0 is addr to RSS INFO table.
+#define RSS_REG_RBC_STATUS_BB_K2 0x238c34UL //Access:R DataWidth:0x2 // B0 is asserted when RSS got request from RBC that is still not done; B1 is asserted when RSS executed read or write request from RBC and next request still wasn't received.
#define RSS_REG_EMPTY_STATUS_BB_K2 0x238c38UL //Access:R DataWidth:0x5 // Debug register. FIFO empty status: {b0 - MSG FIFO; b1- RSS CMD FIFO; b2- INPUT FIFO; b3 - RSP FIFO; b4- RSS header FIFO}.
#define RSS_REG_FULL_STATUS_BB_K2 0x238c3cUL //Access:R DataWidth:0x5 // Debug register. FIFO empty status: {b0 - MSG FIFO; b1- RSS CMD FIFO; b2- INPUT FIFO; b3 - RSP FIFO; b4- RSS header FIFO}.
#define RSS_REG_COUNTERS_STATUS_BB_K2 0x238c40UL //Access:R DataWidth:0x20 // Debug register. FIFO empty status: {b15:8 - inp_fifo_counter; b7:6- cmd_fifo_couter; b5:0 - msg_fifo_counter}.
@@ -41568,7 +41879,7 @@
#define RSS_REG_MEMCTRL_ADDRESS_BB 0x238c90UL //Access:RW DataWidth:0x8 // address to CPU BIST
#define RSS_REG_MEMCTRL_STATUS_BB 0x238c94UL //Access:R DataWidth:0x20 // status from CPU BIST
#define RSS_REG_FIFO_FULL_STATUS1_E5 0x238c98UL //Access:R DataWidth:0xd // Multi Field Register.
- #define RSS_REG_FIFO_FULL_STATUS1_RSP_FIFO_FULL_E5 (0x1<<0) // The rsp fifio is empty.
+ #define RSS_REG_FIFO_FULL_STATUS1_RSP_FIFO_FULL_E5 (0x1<<0) // The rsp fifo is full.
#define RSS_REG_FIFO_FULL_STATUS1_RSP_FIFO_FULL_E5_SHIFT 0
#define RSS_REG_FIFO_FULL_STATUS1_IND_HASH_FIFO_FULL_E5 (0x1<<1) // The ind_hash fifo is full.
#define RSS_REG_FIFO_FULL_STATUS1_IND_HASH_FIFO_FULL_E5_SHIFT 1
@@ -41595,7 +41906,7 @@
#define RSS_REG_FIFO_FULL_STATUS1_INP_FIFO_FULL_E5 (0x1<<12) // The inp fifo is full.
#define RSS_REG_FIFO_FULL_STATUS1_INP_FIFO_FULL_E5_SHIFT 12
#define RSS_REG_FIFO_EMPTY_STATUS1_E5 0x238c9cUL //Access:R DataWidth:0xd // Multi Field Register.
- #define RSS_REG_FIFO_EMPTY_STATUS1_RSP_FIFO_EMPTY_E5 (0x1<<0) // The rsp fifio is empty.
+ #define RSS_REG_FIFO_EMPTY_STATUS1_RSP_FIFO_EMPTY_E5 (0x1<<0) // The rsp fifo is empty.
#define RSS_REG_FIFO_EMPTY_STATUS1_RSP_FIFO_EMPTY_E5_SHIFT 0
#define RSS_REG_FIFO_EMPTY_STATUS1_IND_HASH_FIFO_EMPTY_E5 (0x1<<1) // The ind_hash fifo is empty.
#define RSS_REG_FIFO_EMPTY_STATUS1_IND_HASH_FIFO_EMPTY_E5_SHIFT 1
@@ -42850,10 +43161,10 @@
#define PSWRQ_REG_INT_STS_MULD_FIFO_OVERFLOW_SHIFT 19
#define PSWRQ_REG_INT_STS_XYLD_FIFO_OVERFLOW (0x1<<20) // Overflow in muld request input fifo.
#define PSWRQ_REG_INT_STS_XYLD_FIFO_OVERFLOW_SHIFT 20
- #define PSWRQ_REG_INT_STS_TGFS_FIFO_OVERFLOW_E5 (0x1<<21) // Overflow in tgfs request input fifo.
- #define PSWRQ_REG_INT_STS_TGFS_FIFO_OVERFLOW_E5_SHIFT 21
- #define PSWRQ_REG_INT_STS_RGFS_FIFO_OVERFLOW_E5 (0x1<<22) // Overflow in rgfs request input fifo.
- #define PSWRQ_REG_INT_STS_RGFS_FIFO_OVERFLOW_E5_SHIFT 22
+ #define PSWRQ_REG_INT_STS_TGSRC_FIFO_OVERFLOW_E5 (0x1<<21) // Overflow in tgsrc request input fifo.
+ #define PSWRQ_REG_INT_STS_TGSRC_FIFO_OVERFLOW_E5_SHIFT 21
+ #define PSWRQ_REG_INT_STS_RGSRC_FIFO_OVERFLOW_E5 (0x1<<22) // Overflow in rgsrc request input fifo.
+ #define PSWRQ_REG_INT_STS_RGSRC_FIFO_OVERFLOW_E5_SHIFT 22
#define PSWRQ_REG_INT_MASK 0x280184UL //Access:RW DataWidth:0x17 // Multi Field Register.
#define PSWRQ_REG_INT_MASK_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: PSWRQ_REG_INT_STS.ADDRESS_ERROR .
#define PSWRQ_REG_INT_MASK_ADDRESS_ERROR_SHIFT 0
@@ -42897,10 +43208,10 @@
#define PSWRQ_REG_INT_MASK_MULD_FIFO_OVERFLOW_SHIFT 19
#define PSWRQ_REG_INT_MASK_XYLD_FIFO_OVERFLOW (0x1<<20) // This bit masks, when set, the Interrupt bit: PSWRQ_REG_INT_STS.XYLD_FIFO_OVERFLOW .
#define PSWRQ_REG_INT_MASK_XYLD_FIFO_OVERFLOW_SHIFT 20
- #define PSWRQ_REG_INT_MASK_TGFS_FIFO_OVERFLOW_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: PSWRQ_REG_INT_STS.TGFS_FIFO_OVERFLOW .
- #define PSWRQ_REG_INT_MASK_TGFS_FIFO_OVERFLOW_E5_SHIFT 21
- #define PSWRQ_REG_INT_MASK_RGFS_FIFO_OVERFLOW_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: PSWRQ_REG_INT_STS.RGFS_FIFO_OVERFLOW .
- #define PSWRQ_REG_INT_MASK_RGFS_FIFO_OVERFLOW_E5_SHIFT 22
+ #define PSWRQ_REG_INT_MASK_TGSRC_FIFO_OVERFLOW_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: PSWRQ_REG_INT_STS.TGSRC_FIFO_OVERFLOW .
+ #define PSWRQ_REG_INT_MASK_TGSRC_FIFO_OVERFLOW_E5_SHIFT 21
+ #define PSWRQ_REG_INT_MASK_RGSRC_FIFO_OVERFLOW_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: PSWRQ_REG_INT_STS.RGSRC_FIFO_OVERFLOW .
+ #define PSWRQ_REG_INT_MASK_RGSRC_FIFO_OVERFLOW_E5_SHIFT 22
#define PSWRQ_REG_INT_STS_WR 0x280188UL //Access:WR DataWidth:0x17 // Multi Field Register.
#define PSWRQ_REG_INT_STS_WR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSWRQ_REG_INT_STS_WR_ADDRESS_ERROR_SHIFT 0
@@ -42944,10 +43255,10 @@
#define PSWRQ_REG_INT_STS_WR_MULD_FIFO_OVERFLOW_SHIFT 19
#define PSWRQ_REG_INT_STS_WR_XYLD_FIFO_OVERFLOW (0x1<<20) // Overflow in muld request input fifo.
#define PSWRQ_REG_INT_STS_WR_XYLD_FIFO_OVERFLOW_SHIFT 20
- #define PSWRQ_REG_INT_STS_WR_TGFS_FIFO_OVERFLOW_E5 (0x1<<21) // Overflow in tgfs request input fifo.
- #define PSWRQ_REG_INT_STS_WR_TGFS_FIFO_OVERFLOW_E5_SHIFT 21
- #define PSWRQ_REG_INT_STS_WR_RGFS_FIFO_OVERFLOW_E5 (0x1<<22) // Overflow in rgfs request input fifo.
- #define PSWRQ_REG_INT_STS_WR_RGFS_FIFO_OVERFLOW_E5_SHIFT 22
+ #define PSWRQ_REG_INT_STS_WR_TGSRC_FIFO_OVERFLOW_E5 (0x1<<21) // Overflow in tgsrc request input fifo.
+ #define PSWRQ_REG_INT_STS_WR_TGSRC_FIFO_OVERFLOW_E5_SHIFT 21
+ #define PSWRQ_REG_INT_STS_WR_RGSRC_FIFO_OVERFLOW_E5 (0x1<<22) // Overflow in rgsrc request input fifo.
+ #define PSWRQ_REG_INT_STS_WR_RGSRC_FIFO_OVERFLOW_E5_SHIFT 22
#define PSWRQ_REG_INT_STS_CLR 0x28018cUL //Access:RC DataWidth:0x17 // Multi Field Register.
#define PSWRQ_REG_INT_STS_CLR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSWRQ_REG_INT_STS_CLR_ADDRESS_ERROR_SHIFT 0
@@ -42991,10 +43302,10 @@
#define PSWRQ_REG_INT_STS_CLR_MULD_FIFO_OVERFLOW_SHIFT 19
#define PSWRQ_REG_INT_STS_CLR_XYLD_FIFO_OVERFLOW (0x1<<20) // Overflow in muld request input fifo.
#define PSWRQ_REG_INT_STS_CLR_XYLD_FIFO_OVERFLOW_SHIFT 20
- #define PSWRQ_REG_INT_STS_CLR_TGFS_FIFO_OVERFLOW_E5 (0x1<<21) // Overflow in tgfs request input fifo.
- #define PSWRQ_REG_INT_STS_CLR_TGFS_FIFO_OVERFLOW_E5_SHIFT 21
- #define PSWRQ_REG_INT_STS_CLR_RGFS_FIFO_OVERFLOW_E5 (0x1<<22) // Overflow in rgfs request input fifo.
- #define PSWRQ_REG_INT_STS_CLR_RGFS_FIFO_OVERFLOW_E5_SHIFT 22
+ #define PSWRQ_REG_INT_STS_CLR_TGSRC_FIFO_OVERFLOW_E5 (0x1<<21) // Overflow in tgsrc request input fifo.
+ #define PSWRQ_REG_INT_STS_CLR_TGSRC_FIFO_OVERFLOW_E5_SHIFT 21
+ #define PSWRQ_REG_INT_STS_CLR_RGSRC_FIFO_OVERFLOW_E5 (0x1<<22) // Overflow in rgsrc request input fifo.
+ #define PSWRQ_REG_INT_STS_CLR_RGSRC_FIFO_OVERFLOW_E5_SHIFT 22
#define PSWRQ_REG_PRTY_MASK 0x280194UL //Access:RW DataWidth:0x1 // Multi Field Register.
#define PSWRQ_REG_PRTY_MASK_PXP_BUSIP_PARITY (0x1<<0) // This bit masks, when set, the Parity bit: PSWRQ_REG_PRTY_STS.PXP_BUSIP_PARITY .
#define PSWRQ_REG_PRTY_MASK_PXP_BUSIP_PARITY_SHIFT 0
@@ -43013,8 +43324,8 @@
#define PSWWR_REG_DMAE_FULL_TH 0x29a070UL //Access:RW DataWidth:0x4 // If number of entries in the dmae input fifo is bigger than this number than full will be asserted.
#define PSWWR_REG_CDU_FULL_TH 0x29a074UL //Access:RW DataWidth:0x4 // If number of entries in the cdu input fifo is bigger than this number than full will be asserted.
#define PSWWR_REG_USDMDP_FULL_TH 0x29a078UL //Access:RW DataWidth:0x4 // If number of entries in the usdmdp input fifo is bigger than this number than full will be asserted.
-#define PSWWR_REG_FIFO_FULL_STATUS 0x29a07cUL //Access:R DataWidth:0x12 // Each bit indicates if full is asserted towards the client. The clients order is according to the incrementing client IDs of write clients: 0 - TSDM; 1 - MSDM; 2 - USDM; 3 - XSDM; 4 - YSDM; 5 - PSDM; 6 - QM; 7 - TM; 8 - SRC; 9 - DMAE; 10 - PRM (RDIF); 11 - HC; 12 - CDU; 13 - DBG; 14- M2P; 15 - PRM Secondary; 16 - RGFS; 17 - TGFS;
-#define PSWWR_REG_FIFO_FULL_STICKY 0x29a080UL //Access:R DataWidth:0x12 // Each bit indicates if full was asserted since reset towards the client. The clients order is according to the incrementing client IDs of write clients: 0 - TSDM; 1 - MSDM; 2 - USDM; 3 - XSDM; 4 - YSDM; 5 - PSDM; 6 - QM; 7 - TM; 8 - SRC; 9 - DMAE; 10 - PRM (RDIF); 11 - HC; 12 - CDU; 13 - DBG; 14 - M2P; 15- PRM Secondary; 16 - RGFS; 17 - TGFS;
+#define PSWWR_REG_FIFO_FULL_STATUS 0x29a07cUL //Access:R DataWidth:0x12 // Each bit indicates if full is asserted towards the client. The clients order is according to the incrementing client IDs of write clients: 0 - TSDM; 1 - MSDM; 2 - USDM; 3 - XSDM; 4 - YSDM; 5 - PSDM; 6 - QM; 7 - TM; 8 - SRC; 9 - DMAE; 10 - PRM (RDIF); 11 - HC; 12 - CDU; 13 - DBG; 14- M2P; 15 - PRM Secondary; 16 - RGSRC; 17 - TGSRC;
+#define PSWWR_REG_FIFO_FULL_STICKY 0x29a080UL //Access:R DataWidth:0x12 // Each bit indicates if full was asserted since reset towards the client. The clients order is according to the incrementing client IDs of write clients: 0 - TSDM; 1 - MSDM; 2 - USDM; 3 - XSDM; 4 - YSDM; 5 - PSDM; 6 - QM; 7 - TM; 8 - SRC; 9 - DMAE; 10 - PRM (RDIF); 11 - HC; 12 - CDU; 13 - DBG; 14 - M2P; 15- PRM Secondary; 16 - RGSRC; 17 - TGSRC;
#define PSWWR_REG_DBG_SELECT 0x29a084UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define PSWWR_REG_DBG_DWORD_ENABLE 0x29a088UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define PSWWR_REG_DBG_SHIFT 0x29a08cUL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -43025,9 +43336,9 @@
#define PSWWR_REG_DBG_OUT_VALID 0x29a0c0UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
#define PSWWR_REG_DBG_OUT_FRAME 0x29a0c4UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define PSWWR_REG_ECO_RESERVED 0x29a0c8UL //Access:RW DataWidth:0x6 // Debug only: Reserved bits for ECO.
-#define PSWWR_REG_PRM_SEC_FULL_TH_E5 0x29a0ccUL //Access:RW DataWidth:0x5 // If number of entries in the PRM Secondary input fifo is bigger than this number than full will be asserted.
-#define PSWWR_REG_RGFS_FULL_TH_E5 0x29a0d0UL //Access:RW DataWidth:0x4 // If number of entries in the RGFS input fifo is bigger than this number than full will be asserted.
-#define PSWWR_REG_TGFS_FULL_TH_E5 0x29a0d4UL //Access:RW DataWidth:0x4 // If number of entries in the TGFS input fifo is bigger than this number than full will be asserted.
+#define PSWWR_REG_PRMS_FULL_TH_E5 0x29a0ccUL //Access:RW DataWidth:0x4 // If number of entries in the PRM Secondary input fifo is bigger than this number than full will be asserted.
+#define PSWWR_REG_RGSRC_FULL_TH_E5 0x29a0d0UL //Access:RW DataWidth:0x4 // If number of entries in the RGSRC input fifo is bigger than this number than full will be asserted.
+#define PSWWR_REG_TGSRC_FULL_TH_E5 0x29a0d4UL //Access:RW DataWidth:0x4 // If number of entries in the TGSRC input fifo is bigger than this number than full will be asserted.
#define PSWWR_REG_INT_STS 0x29a180UL //Access:R DataWidth:0x13 // Multi Field Register.
#define PSWWR_REG_INT_STS_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSWWR_REG_INT_STS_ADDRESS_ERROR_SHIFT 0
@@ -43061,12 +43372,12 @@
#define PSWWR_REG_INT_STS_PSDM_FIFO_OVERFLOW_SHIFT 14
#define PSWWR_REG_INT_STS_M2P_FIFO_OVERFLOW (0x1<<15) // Overflow in M2P input fifo.
#define PSWWR_REG_INT_STS_M2P_FIFO_OVERFLOW_SHIFT 15
- #define PSWWR_REG_INT_STS_PRM_SEC_FIFO_OVERFLOW_E5 (0x1<<16) // Overflow in PRM Secondary input fifo.
- #define PSWWR_REG_INT_STS_PRM_SEC_FIFO_OVERFLOW_E5_SHIFT 16
- #define PSWWR_REG_INT_STS_RGFS_FIFO_OVERFLOW_E5 (0x1<<17) // Overflow in RGFS input fifo.
- #define PSWWR_REG_INT_STS_RGFS_FIFO_OVERFLOW_E5_SHIFT 17
- #define PSWWR_REG_INT_STS_TGFS_FIFO_OVERFLOW_E5 (0x1<<18) // Overflow in TGFS input fifo.
- #define PSWWR_REG_INT_STS_TGFS_FIFO_OVERFLOW_E5_SHIFT 18
+ #define PSWWR_REG_INT_STS_PRMS_FIFO_OVERFLOW_E5 (0x1<<16) // Overflow in PRM Secondary input fifo.
+ #define PSWWR_REG_INT_STS_PRMS_FIFO_OVERFLOW_E5_SHIFT 16
+ #define PSWWR_REG_INT_STS_RGSRC_FIFO_OVERFLOW_E5 (0x1<<17) // Overflow in RGSRC input fifo.
+ #define PSWWR_REG_INT_STS_RGSRC_FIFO_OVERFLOW_E5_SHIFT 17
+ #define PSWWR_REG_INT_STS_TGSRC_FIFO_OVERFLOW_E5 (0x1<<18) // Overflow in TGSRC input fifo.
+ #define PSWWR_REG_INT_STS_TGSRC_FIFO_OVERFLOW_E5_SHIFT 18
#define PSWWR_REG_INT_MASK 0x29a184UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define PSWWR_REG_INT_MASK_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: PSWWR_REG_INT_STS.ADDRESS_ERROR .
#define PSWWR_REG_INT_MASK_ADDRESS_ERROR_SHIFT 0
@@ -43100,12 +43411,12 @@
#define PSWWR_REG_INT_MASK_PSDM_FIFO_OVERFLOW_SHIFT 14
#define PSWWR_REG_INT_MASK_M2P_FIFO_OVERFLOW (0x1<<15) // This bit masks, when set, the Interrupt bit: PSWWR_REG_INT_STS.M2P_FIFO_OVERFLOW .
#define PSWWR_REG_INT_MASK_M2P_FIFO_OVERFLOW_SHIFT 15
- #define PSWWR_REG_INT_MASK_PRM_SEC_FIFO_OVERFLOW_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: PSWWR_REG_INT_STS.PRM_SEC_FIFO_OVERFLOW .
- #define PSWWR_REG_INT_MASK_PRM_SEC_FIFO_OVERFLOW_E5_SHIFT 16
- #define PSWWR_REG_INT_MASK_RGFS_FIFO_OVERFLOW_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: PSWWR_REG_INT_STS.RGFS_FIFO_OVERFLOW .
- #define PSWWR_REG_INT_MASK_RGFS_FIFO_OVERFLOW_E5_SHIFT 17
- #define PSWWR_REG_INT_MASK_TGFS_FIFO_OVERFLOW_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: PSWWR_REG_INT_STS.TGFS_FIFO_OVERFLOW .
- #define PSWWR_REG_INT_MASK_TGFS_FIFO_OVERFLOW_E5_SHIFT 18
+ #define PSWWR_REG_INT_MASK_PRMS_FIFO_OVERFLOW_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: PSWWR_REG_INT_STS.PRMS_FIFO_OVERFLOW .
+ #define PSWWR_REG_INT_MASK_PRMS_FIFO_OVERFLOW_E5_SHIFT 16
+ #define PSWWR_REG_INT_MASK_RGSRC_FIFO_OVERFLOW_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: PSWWR_REG_INT_STS.RGSRC_FIFO_OVERFLOW .
+ #define PSWWR_REG_INT_MASK_RGSRC_FIFO_OVERFLOW_E5_SHIFT 17
+ #define PSWWR_REG_INT_MASK_TGSRC_FIFO_OVERFLOW_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: PSWWR_REG_INT_STS.TGSRC_FIFO_OVERFLOW .
+ #define PSWWR_REG_INT_MASK_TGSRC_FIFO_OVERFLOW_E5_SHIFT 18
#define PSWWR_REG_INT_STS_WR 0x29a188UL //Access:WR DataWidth:0x13 // Multi Field Register.
#define PSWWR_REG_INT_STS_WR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSWWR_REG_INT_STS_WR_ADDRESS_ERROR_SHIFT 0
@@ -43139,12 +43450,12 @@
#define PSWWR_REG_INT_STS_WR_PSDM_FIFO_OVERFLOW_SHIFT 14
#define PSWWR_REG_INT_STS_WR_M2P_FIFO_OVERFLOW (0x1<<15) // Overflow in M2P input fifo.
#define PSWWR_REG_INT_STS_WR_M2P_FIFO_OVERFLOW_SHIFT 15
- #define PSWWR_REG_INT_STS_WR_PRM_SEC_FIFO_OVERFLOW_E5 (0x1<<16) // Overflow in PRM Secondary input fifo.
- #define PSWWR_REG_INT_STS_WR_PRM_SEC_FIFO_OVERFLOW_E5_SHIFT 16
- #define PSWWR_REG_INT_STS_WR_RGFS_FIFO_OVERFLOW_E5 (0x1<<17) // Overflow in RGFS input fifo.
- #define PSWWR_REG_INT_STS_WR_RGFS_FIFO_OVERFLOW_E5_SHIFT 17
- #define PSWWR_REG_INT_STS_WR_TGFS_FIFO_OVERFLOW_E5 (0x1<<18) // Overflow in TGFS input fifo.
- #define PSWWR_REG_INT_STS_WR_TGFS_FIFO_OVERFLOW_E5_SHIFT 18
+ #define PSWWR_REG_INT_STS_WR_PRMS_FIFO_OVERFLOW_E5 (0x1<<16) // Overflow in PRM Secondary input fifo.
+ #define PSWWR_REG_INT_STS_WR_PRMS_FIFO_OVERFLOW_E5_SHIFT 16
+ #define PSWWR_REG_INT_STS_WR_RGSRC_FIFO_OVERFLOW_E5 (0x1<<17) // Overflow in RGSRC input fifo.
+ #define PSWWR_REG_INT_STS_WR_RGSRC_FIFO_OVERFLOW_E5_SHIFT 17
+ #define PSWWR_REG_INT_STS_WR_TGSRC_FIFO_OVERFLOW_E5 (0x1<<18) // Overflow in TGSRC input fifo.
+ #define PSWWR_REG_INT_STS_WR_TGSRC_FIFO_OVERFLOW_E5_SHIFT 18
#define PSWWR_REG_INT_STS_CLR 0x29a18cUL //Access:RC DataWidth:0x13 // Multi Field Register.
#define PSWWR_REG_INT_STS_CLR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSWWR_REG_INT_STS_CLR_ADDRESS_ERROR_SHIFT 0
@@ -43178,12 +43489,12 @@
#define PSWWR_REG_INT_STS_CLR_PSDM_FIFO_OVERFLOW_SHIFT 14
#define PSWWR_REG_INT_STS_CLR_M2P_FIFO_OVERFLOW (0x1<<15) // Overflow in M2P input fifo.
#define PSWWR_REG_INT_STS_CLR_M2P_FIFO_OVERFLOW_SHIFT 15
- #define PSWWR_REG_INT_STS_CLR_PRM_SEC_FIFO_OVERFLOW_E5 (0x1<<16) // Overflow in PRM Secondary input fifo.
- #define PSWWR_REG_INT_STS_CLR_PRM_SEC_FIFO_OVERFLOW_E5_SHIFT 16
- #define PSWWR_REG_INT_STS_CLR_RGFS_FIFO_OVERFLOW_E5 (0x1<<17) // Overflow in RGFS input fifo.
- #define PSWWR_REG_INT_STS_CLR_RGFS_FIFO_OVERFLOW_E5_SHIFT 17
- #define PSWWR_REG_INT_STS_CLR_TGFS_FIFO_OVERFLOW_E5 (0x1<<18) // Overflow in TGFS input fifo.
- #define PSWWR_REG_INT_STS_CLR_TGFS_FIFO_OVERFLOW_E5_SHIFT 18
+ #define PSWWR_REG_INT_STS_CLR_PRMS_FIFO_OVERFLOW_E5 (0x1<<16) // Overflow in PRM Secondary input fifo.
+ #define PSWWR_REG_INT_STS_CLR_PRMS_FIFO_OVERFLOW_E5_SHIFT 16
+ #define PSWWR_REG_INT_STS_CLR_RGSRC_FIFO_OVERFLOW_E5 (0x1<<17) // Overflow in RGSRC input fifo.
+ #define PSWWR_REG_INT_STS_CLR_RGSRC_FIFO_OVERFLOW_E5_SHIFT 17
+ #define PSWWR_REG_INT_STS_CLR_TGSRC_FIFO_OVERFLOW_E5 (0x1<<18) // Overflow in TGSRC input fifo.
+ #define PSWWR_REG_INT_STS_CLR_TGSRC_FIFO_OVERFLOW_E5_SHIFT 18
#define PSWWR_REG_PRTY_MASK 0x29a194UL //Access:RW DataWidth:0x1 // Multi Field Register.
#define PSWWR_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR_REG_PRTY_STS.DATAPATH_REGISTERS .
#define PSWWR_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 0
@@ -43197,6 +43508,9 @@
#define PSWWR2_REG_CDU_MAX_FILL_LEVEL 0x29b05cUL //Access:R DataWidth:0x6 // Maximum internal CDU fill level since reset in 64B lines.
#define PSWWR2_REG_PRM_ERR_FIFO_FULL_TH 0x29b060UL //Access:RW DataWidth:0x7 // If Number of entries in the PRM error fifo is bigger than this number than full will be asserted. PRM error FIFO contains 64 entries.
#define PSWWR2_REG_ECO_RESERVED 0x29b064UL //Access:RW DataWidth:0x6 // Debug only: Reserved bits for ECO.
+#define PSWWR2_REG_PRMS_FULL_TH2_E5 0x29b068UL //Access:RW DataWidth:0x7 // If Number of entries in the PRM-secondary internal fifo is bigger than this number than full will be asserted.
+#define PSWWR2_REG_PRMS_CURR_FILL_LEVEL_E5 0x29b06cUL //Access:R DataWidth:0x7 // Current internal PRM-secondary fill level in 64B lines.
+#define PSWWR2_REG_PRMS_MAX_FILL_LEVEL_E5 0x29b070UL //Access:R DataWidth:0x7 // Maximum internal PRM-secondary fill level since reset in 64B lines.
#define PSWWR2_REG_INT_STS 0x29b180UL //Access:R DataWidth:0x16 // Multi Field Register.
#define PSWWR2_REG_INT_STS_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSWWR2_REG_INT_STS_ADDRESS_ERROR_SHIFT 0
@@ -43236,12 +43550,12 @@
#define PSWWR2_REG_INT_STS_M2P_UNDERFLOW_SHIFT 17
#define PSWWR2_REG_INT_STS_PGLUE_EOP_ERROR_IN_LINE (0x1<<18) // Indicates that there was 'eop' in the last read request from the glue block; but the number of valid 128-bit or 64-bit words in the memory line did not match the PGLUE indication of the request length.
#define PSWWR2_REG_INT_STS_PGLUE_EOP_ERROR_IN_LINE_SHIFT 18
- #define PSWWR2_REG_INT_STS_PRM_SEC_UNDERFLOW_E5 (0x1<<19) // Underflow in the PRM Secondary fifo.
- #define PSWWR2_REG_INT_STS_PRM_SEC_UNDERFLOW_E5_SHIFT 19
- #define PSWWR2_REG_INT_STS_RGFS_UNDERFLOW_E5 (0x1<<20) // Underflow in the RGFS fifo.
- #define PSWWR2_REG_INT_STS_RGFS_UNDERFLOW_E5_SHIFT 20
- #define PSWWR2_REG_INT_STS_TGFS_UNDERFLOW_E5 (0x1<<21) // Underflow in the TGFS fifo.
- #define PSWWR2_REG_INT_STS_TGFS_UNDERFLOW_E5_SHIFT 21
+ #define PSWWR2_REG_INT_STS_PRMS_UNDERFLOW_E5 (0x1<<19) // Underflow in the PRM Secondary fifo.
+ #define PSWWR2_REG_INT_STS_PRMS_UNDERFLOW_E5_SHIFT 19
+ #define PSWWR2_REG_INT_STS_RGSRC_UNDERFLOW_E5 (0x1<<20) // Underflow in the RGSRC fifo.
+ #define PSWWR2_REG_INT_STS_RGSRC_UNDERFLOW_E5_SHIFT 20
+ #define PSWWR2_REG_INT_STS_TGSRC_UNDERFLOW_E5 (0x1<<21) // Underflow in the TGSRC fifo.
+ #define PSWWR2_REG_INT_STS_TGSRC_UNDERFLOW_E5_SHIFT 21
#define PSWWR2_REG_INT_MASK 0x29b184UL //Access:RW DataWidth:0x16 // Multi Field Register.
#define PSWWR2_REG_INT_MASK_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: PSWWR2_REG_INT_STS.ADDRESS_ERROR .
#define PSWWR2_REG_INT_MASK_ADDRESS_ERROR_SHIFT 0
@@ -43281,12 +43595,12 @@
#define PSWWR2_REG_INT_MASK_M2P_UNDERFLOW_SHIFT 17
#define PSWWR2_REG_INT_MASK_PGLUE_EOP_ERROR_IN_LINE (0x1<<18) // This bit masks, when set, the Interrupt bit: PSWWR2_REG_INT_STS.PGLUE_EOP_ERROR_IN_LINE .
#define PSWWR2_REG_INT_MASK_PGLUE_EOP_ERROR_IN_LINE_SHIFT 18
- #define PSWWR2_REG_INT_MASK_PRM_SEC_UNDERFLOW_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: PSWWR2_REG_INT_STS.PRM_SEC_UNDERFLOW .
- #define PSWWR2_REG_INT_MASK_PRM_SEC_UNDERFLOW_E5_SHIFT 19
- #define PSWWR2_REG_INT_MASK_RGFS_UNDERFLOW_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: PSWWR2_REG_INT_STS.RGFS_UNDERFLOW .
- #define PSWWR2_REG_INT_MASK_RGFS_UNDERFLOW_E5_SHIFT 20
- #define PSWWR2_REG_INT_MASK_TGFS_UNDERFLOW_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: PSWWR2_REG_INT_STS.TGFS_UNDERFLOW .
- #define PSWWR2_REG_INT_MASK_TGFS_UNDERFLOW_E5_SHIFT 21
+ #define PSWWR2_REG_INT_MASK_PRMS_UNDERFLOW_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: PSWWR2_REG_INT_STS.PRMS_UNDERFLOW .
+ #define PSWWR2_REG_INT_MASK_PRMS_UNDERFLOW_E5_SHIFT 19
+ #define PSWWR2_REG_INT_MASK_RGSRC_UNDERFLOW_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: PSWWR2_REG_INT_STS.RGSRC_UNDERFLOW .
+ #define PSWWR2_REG_INT_MASK_RGSRC_UNDERFLOW_E5_SHIFT 20
+ #define PSWWR2_REG_INT_MASK_TGSRC_UNDERFLOW_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: PSWWR2_REG_INT_STS.TGSRC_UNDERFLOW .
+ #define PSWWR2_REG_INT_MASK_TGSRC_UNDERFLOW_E5_SHIFT 21
#define PSWWR2_REG_INT_STS_WR 0x29b188UL //Access:WR DataWidth:0x16 // Multi Field Register.
#define PSWWR2_REG_INT_STS_WR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSWWR2_REG_INT_STS_WR_ADDRESS_ERROR_SHIFT 0
@@ -43326,12 +43640,12 @@
#define PSWWR2_REG_INT_STS_WR_M2P_UNDERFLOW_SHIFT 17
#define PSWWR2_REG_INT_STS_WR_PGLUE_EOP_ERROR_IN_LINE (0x1<<18) // Indicates that there was 'eop' in the last read request from the glue block; but the number of valid 128-bit or 64-bit words in the memory line did not match the PGLUE indication of the request length.
#define PSWWR2_REG_INT_STS_WR_PGLUE_EOP_ERROR_IN_LINE_SHIFT 18
- #define PSWWR2_REG_INT_STS_WR_PRM_SEC_UNDERFLOW_E5 (0x1<<19) // Underflow in the PRM Secondary fifo.
- #define PSWWR2_REG_INT_STS_WR_PRM_SEC_UNDERFLOW_E5_SHIFT 19
- #define PSWWR2_REG_INT_STS_WR_RGFS_UNDERFLOW_E5 (0x1<<20) // Underflow in the RGFS fifo.
- #define PSWWR2_REG_INT_STS_WR_RGFS_UNDERFLOW_E5_SHIFT 20
- #define PSWWR2_REG_INT_STS_WR_TGFS_UNDERFLOW_E5 (0x1<<21) // Underflow in the TGFS fifo.
- #define PSWWR2_REG_INT_STS_WR_TGFS_UNDERFLOW_E5_SHIFT 21
+ #define PSWWR2_REG_INT_STS_WR_PRMS_UNDERFLOW_E5 (0x1<<19) // Underflow in the PRM Secondary fifo.
+ #define PSWWR2_REG_INT_STS_WR_PRMS_UNDERFLOW_E5_SHIFT 19
+ #define PSWWR2_REG_INT_STS_WR_RGSRC_UNDERFLOW_E5 (0x1<<20) // Underflow in the RGSRC fifo.
+ #define PSWWR2_REG_INT_STS_WR_RGSRC_UNDERFLOW_E5_SHIFT 20
+ #define PSWWR2_REG_INT_STS_WR_TGSRC_UNDERFLOW_E5 (0x1<<21) // Underflow in the TGSRC fifo.
+ #define PSWWR2_REG_INT_STS_WR_TGSRC_UNDERFLOW_E5_SHIFT 21
#define PSWWR2_REG_INT_STS_CLR 0x29b18cUL //Access:RC DataWidth:0x16 // Multi Field Register.
#define PSWWR2_REG_INT_STS_CLR_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSWWR2_REG_INT_STS_CLR_ADDRESS_ERROR_SHIFT 0
@@ -43371,20 +43685,98 @@
#define PSWWR2_REG_INT_STS_CLR_M2P_UNDERFLOW_SHIFT 17
#define PSWWR2_REG_INT_STS_CLR_PGLUE_EOP_ERROR_IN_LINE (0x1<<18) // Indicates that there was 'eop' in the last read request from the glue block; but the number of valid 128-bit or 64-bit words in the memory line did not match the PGLUE indication of the request length.
#define PSWWR2_REG_INT_STS_CLR_PGLUE_EOP_ERROR_IN_LINE_SHIFT 18
- #define PSWWR2_REG_INT_STS_CLR_PRM_SEC_UNDERFLOW_E5 (0x1<<19) // Underflow in the PRM Secondary fifo.
- #define PSWWR2_REG_INT_STS_CLR_PRM_SEC_UNDERFLOW_E5_SHIFT 19
- #define PSWWR2_REG_INT_STS_CLR_RGFS_UNDERFLOW_E5 (0x1<<20) // Underflow in the RGFS fifo.
- #define PSWWR2_REG_INT_STS_CLR_RGFS_UNDERFLOW_E5_SHIFT 20
- #define PSWWR2_REG_INT_STS_CLR_TGFS_UNDERFLOW_E5 (0x1<<21) // Underflow in the TGFS fifo.
- #define PSWWR2_REG_INT_STS_CLR_TGFS_UNDERFLOW_E5_SHIFT 21
+ #define PSWWR2_REG_INT_STS_CLR_PRMS_UNDERFLOW_E5 (0x1<<19) // Underflow in the PRM Secondary fifo.
+ #define PSWWR2_REG_INT_STS_CLR_PRMS_UNDERFLOW_E5_SHIFT 19
+ #define PSWWR2_REG_INT_STS_CLR_RGSRC_UNDERFLOW_E5 (0x1<<20) // Underflow in the RGSRC fifo.
+ #define PSWWR2_REG_INT_STS_CLR_RGSRC_UNDERFLOW_E5_SHIFT 20
+ #define PSWWR2_REG_INT_STS_CLR_TGSRC_UNDERFLOW_E5 (0x1<<21) // Underflow in the TGSRC fifo.
+ #define PSWWR2_REG_INT_STS_CLR_TGSRC_UNDERFLOW_E5_SHIFT 21
#define PSWWR2_REG_PRTY_MASK 0x29b194UL //Access:RW DataWidth:0x1 // Multi Field Register.
#define PSWWR2_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS.DATAPATH_REGISTERS .
#define PSWWR2_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 0
-#define PSWWR2_REG_PRTY_MASK_H_0_BB_K2 0x29b204UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_BB_K2_SHIFT 0
+#define PSWWR2_REG_PRTY_MASK_H_0 0x29b204UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_SHIFT 0
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_E5_SHIFT 1
#define PSWWR2_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define PSWWR2_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 2
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_0_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_0_E5_SHIFT 3
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_1_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_1_E5_SHIFT 4
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_2_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_2_E5_SHIFT 5
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_3_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_3_E5_SHIFT 6
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_4_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_4_E5_SHIFT 7
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_5_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_5_E5_SHIFT 8
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_6_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_6_E5_SHIFT 9
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_7_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_7_E5_SHIFT 10
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_8_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_8_E5_SHIFT 11
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_0_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_0_E5_SHIFT 12
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_1_E5 (0x1<<13) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_1_E5_SHIFT 13
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_2_E5 (0x1<<14) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_2_E5_SHIFT 14
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_3_E5 (0x1<<15) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_3_E5_SHIFT 15
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_4_E5 (0x1<<16) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_4_E5_SHIFT 16
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_5_E5 (0x1<<17) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_5_E5_SHIFT 17
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_6_E5 (0x1<<18) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_6_E5_SHIFT 18
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_7_E5 (0x1<<19) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_7_E5_SHIFT 19
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_8_E5 (0x1<<20) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_8_E5_SHIFT 20
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB_K2 (0x1<<20) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB_K2_SHIFT 20
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_E5 (0x1<<21) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_E5_SHIFT 21
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_1_BB_K2 (0x1<<21) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_1_BB_K2_SHIFT 21
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_1_E5 (0x1<<22) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_1_E5_SHIFT 22
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_2_BB_K2 (0x1<<22) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_2_BB_K2_SHIFT 22
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_2_E5 (0x1<<23) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_2_E5_SHIFT 23
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_3_BB_K2 (0x1<<23) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_3_BB_K2_SHIFT 23
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_3_E5 (0x1<<24) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_3_E5_SHIFT 24
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_4_BB_K2 (0x1<<24) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_4_BB_K2_SHIFT 24
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_4_E5 (0x1<<25) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_4_E5_SHIFT 25
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_5_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_5_BB_K2_SHIFT 25
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_5_E5 (0x1<<26) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_5_E5_SHIFT 26
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_6_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_6_BB_K2_SHIFT 26
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_6_E5 (0x1<<27) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_6_E5_SHIFT 27
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_7_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_7_BB_K2_SHIFT 27
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_7_E5 (0x1<<28) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_7_E5_SHIFT 28
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_8_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_8_BB_K2_SHIFT 28
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_8_E5 (0x1<<29) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_8_E5_SHIFT 29
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_0_E5 (0x1<<30) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_0_E5_SHIFT 30
#define PSWWR2_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_0_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY_0 .
#define PSWWR2_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_0_BB_K2_SHIFT 2
#define PSWWR2_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_1_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY_1 .
@@ -43421,43 +43813,97 @@
#define PSWWR2_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_7_BB_K2_SHIFT 18
#define PSWWR2_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_8_BB_K2 (0x1<<19) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY_8 .
#define PSWWR2_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_8_BB_K2_SHIFT 19
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB_K2 (0x1<<20) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_0 .
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB_K2_SHIFT 20
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_1_BB_K2 (0x1<<21) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_1 .
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_1_BB_K2_SHIFT 21
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_2_BB_K2 (0x1<<22) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_2 .
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_2_BB_K2_SHIFT 22
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_3_BB_K2 (0x1<<23) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_3 .
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_3_BB_K2_SHIFT 23
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_4_BB_K2 (0x1<<24) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_4 .
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_4_BB_K2_SHIFT 24
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_5_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_5 .
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_5_BB_K2_SHIFT 25
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_6_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_6 .
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_6_BB_K2_SHIFT 26
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_7_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_7 .
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_7_BB_K2_SHIFT 27
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_8_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_8 .
- #define PSWWR2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_8_BB_K2_SHIFT 28
#define PSWWR2_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_0_BB_K2 (0x1<<29) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY_0 .
#define PSWWR2_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_0_BB_K2_SHIFT 29
#define PSWWR2_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_1_BB_K2 (0x1<<30) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY_1 .
#define PSWWR2_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_1_BB_K2_SHIFT 30
-#define PSWWR2_REG_PRTY_MASK_H_1_BB_K2 0x29b214UL //Access:RW DataWidth:0x1f // Multi Field Register.
+#define PSWWR2_REG_PRTY_MASK_H_1 0x29b214UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_1_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_1_E5_SHIFT 0
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_2_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_2_E5_SHIFT 1
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_3_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_3_E5_SHIFT 2
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_4_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_4_E5_SHIFT 3
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_5_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_5_E5_SHIFT 4
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_6_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_6_E5_SHIFT 5
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_7_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_7_E5_SHIFT 6
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_8_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_8_E5_SHIFT 7
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_0_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_0_E5_SHIFT 8
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_1_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_1_E5_SHIFT 9
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_2_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_2_E5_SHIFT 10
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_3_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_3_E5_SHIFT 11
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_4_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_4_E5_SHIFT 12
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_5_E5 (0x1<<13) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_5_E5_SHIFT 13
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_6_E5 (0x1<<14) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_6_E5_SHIFT 14
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_7_E5 (0x1<<15) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_7_E5_SHIFT 15
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_8_E5 (0x1<<16) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_8_E5_SHIFT 16
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_0_E5 (0x1<<17) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_0_E5_SHIFT 17
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_1_E5 (0x1<<18) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_1_E5_SHIFT 18
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_2_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_2 .
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_2_BB_K2_SHIFT 0
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_2_E5 (0x1<<19) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_2_E5_SHIFT 19
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_3_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_3 .
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_3_BB_K2_SHIFT 1
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_3_E5 (0x1<<20) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_3_E5_SHIFT 20
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_4_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_4 .
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_4_BB_K2_SHIFT 2
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_4_E5 (0x1<<21) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_4_E5_SHIFT 21
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_5_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_5 .
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_5_BB_K2_SHIFT 3
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_5_E5 (0x1<<22) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_5_E5_SHIFT 22
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_6_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_6 .
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_6_BB_K2_SHIFT 4
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_6_E5 (0x1<<23) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_6_E5_SHIFT 23
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_7_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_7 .
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_7_BB_K2_SHIFT 5
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_7_E5 (0x1<<24) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_7_E5_SHIFT 24
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_8_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_8 .
#define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_8_BB_K2_SHIFT 6
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_8_E5 (0x1<<25) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_8_E5_SHIFT 25
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_0_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_0_BB_K2_SHIFT 25
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_0_E5 (0x1<<26) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_0_E5_SHIFT 26
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_1_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_1_BB_K2_SHIFT 26
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_1_E5 (0x1<<27) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_1_E5_SHIFT 27
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_2_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_2_BB_K2_SHIFT 27
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_2_E5 (0x1<<28) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_2_E5_SHIFT 28
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_3_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_3_BB_K2_SHIFT 28
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_3_E5 (0x1<<29) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_3_E5_SHIFT 29
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_4_BB_K2 (0x1<<29) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_4_BB_K2_SHIFT 29
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_4_E5 (0x1<<30) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_4_E5_SHIFT 30
#define PSWWR2_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_0_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY_0 .
#define PSWWR2_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_0_BB_K2_SHIFT 7
#define PSWWR2_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_1_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY_1 .
@@ -43494,25 +43940,93 @@
#define PSWWR2_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_7_BB_K2_SHIFT 23
#define PSWWR2_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_8_BB_K2 (0x1<<24) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM013_I_MEM_PRTY_8 .
#define PSWWR2_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_8_BB_K2_SHIFT 24
- #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_0_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_0 .
- #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_0_BB_K2_SHIFT 25
- #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_1_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_1 .
- #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_1_BB_K2_SHIFT 26
- #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_2_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_2 .
- #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_2_BB_K2_SHIFT 27
- #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_3_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_3 .
- #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_3_BB_K2_SHIFT 28
- #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_4_BB_K2 (0x1<<29) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_4 .
- #define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_4_BB_K2_SHIFT 29
#define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_5_BB_K2 (0x1<<30) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY_5 .
#define PSWWR2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_5_BB_K2_SHIFT 30
-#define PSWWR2_REG_PRTY_MASK_H_2_BB_K2 0x29b224UL //Access:RW DataWidth:0x1f // Multi Field Register.
+#define PSWWR2_REG_PRTY_MASK_H_2 0x29b224UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_5_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM006_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_5_E5_SHIFT 0
#define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_6_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM006_I_MEM_PRTY_6 .
#define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_6_BB_K2_SHIFT 0
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_6_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM006_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_6_E5_SHIFT 1
#define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_7_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM006_I_MEM_PRTY_7 .
#define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_7_BB_K2_SHIFT 1
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_7_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM006_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_7_E5_SHIFT 2
#define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_8_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM006_I_MEM_PRTY_8 .
#define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_8_BB_K2_SHIFT 2
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_8_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM006_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_8_E5_SHIFT 3
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_0_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM012_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_0_E5_SHIFT 4
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_1_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM012_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_1_E5_SHIFT 5
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_2_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM012_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_2_E5_SHIFT 6
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_3_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM012_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_3_E5_SHIFT 7
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_4_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM012_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_4_E5_SHIFT 8
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_5_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM012_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_5_E5_SHIFT 9
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_6_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM012_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_6_E5_SHIFT 10
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_7_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM012_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_7_E5_SHIFT 11
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_8_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM012_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_8_E5_SHIFT 12
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM016_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM016_I_MEM_PRTY .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM016_I_MEM_PRTY_E5_SHIFT 13
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_0_E5 (0x1<<14) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM014_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_0_E5_SHIFT 14
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_1_E5 (0x1<<15) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM014_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_1_E5_SHIFT 15
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_2_E5 (0x1<<16) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM014_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_2_E5_SHIFT 16
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_3_E5 (0x1<<17) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM014_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_3_E5_SHIFT 17
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_4_E5 (0x1<<18) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM014_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_4_E5_SHIFT 18
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_5_E5 (0x1<<19) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM014_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_5_E5_SHIFT 19
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_6_E5 (0x1<<20) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM014_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_6_E5_SHIFT 20
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_7_E5 (0x1<<21) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM014_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_7_E5_SHIFT 21
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_8_E5 (0x1<<22) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM014_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_8_E5_SHIFT 22
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_0_BB_K2 (0x1<<22) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_0_BB_K2_SHIFT 22
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_0_E5 (0x1<<23) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_0_E5_SHIFT 23
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_1_BB_K2 (0x1<<23) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_1_BB_K2_SHIFT 23
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_1_E5 (0x1<<24) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_1_E5_SHIFT 24
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_2_BB_K2 (0x1<<24) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_2_BB_K2_SHIFT 24
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_2_E5 (0x1<<25) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_2_E5_SHIFT 25
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_3_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_3_BB_K2_SHIFT 25
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_3_E5 (0x1<<26) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_3_E5_SHIFT 26
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_4_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_4_BB_K2_SHIFT 26
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_4_E5 (0x1<<27) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_4_E5_SHIFT 27
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_5_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_5_BB_K2_SHIFT 27
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_5_E5 (0x1<<28) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_5_E5_SHIFT 28
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_6_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_6_BB_K2_SHIFT 28
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_6_E5 (0x1<<29) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_6_E5_SHIFT 29
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_7_BB_K2 (0x1<<29) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_7_BB_K2_SHIFT 29
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_7_E5 (0x1<<30) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_7_E5_SHIFT 30
#define PSWWR2_REG_PRTY_MASK_H_2_MEM010_I_MEM_PRTY_0_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM010_I_MEM_PRTY_0 .
#define PSWWR2_REG_PRTY_MASK_H_2_MEM010_I_MEM_PRTY_0_BB_K2_SHIFT 3
#define PSWWR2_REG_PRTY_MASK_H_2_MEM010_I_MEM_PRTY_1_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM010_I_MEM_PRTY_1 .
@@ -43551,70 +44065,167 @@
#define PSWWR2_REG_PRTY_MASK_H_2_MEM011_I_MEM_PRTY_7_BB_K2_SHIFT 20
#define PSWWR2_REG_PRTY_MASK_H_2_MEM011_I_MEM_PRTY_8_BB_K2 (0x1<<21) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM011_I_MEM_PRTY_8 .
#define PSWWR2_REG_PRTY_MASK_H_2_MEM011_I_MEM_PRTY_8_BB_K2_SHIFT 21
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_0_BB_K2 (0x1<<22) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_0 .
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_0_BB_K2_SHIFT 22
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_1_BB_K2 (0x1<<23) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_1 .
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_1_BB_K2_SHIFT 23
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_2_BB_K2 (0x1<<24) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_2 .
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_2_BB_K2_SHIFT 24
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_3_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_3 .
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_3_BB_K2_SHIFT 25
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_4_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_4 .
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_4_BB_K2_SHIFT 26
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_5_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_5 .
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_5_BB_K2_SHIFT 27
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_6_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_6 .
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_6_BB_K2_SHIFT 28
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_7_BB_K2 (0x1<<29) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_7 .
- #define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_7_BB_K2_SHIFT 29
#define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_8_BB_K2 (0x1<<30) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_2.MEM004_I_MEM_PRTY_8 .
#define PSWWR2_REG_PRTY_MASK_H_2_MEM004_I_MEM_PRTY_8_BB_K2_SHIFT 30
-#define PSWWR2_REG_PRTY_MASK_H_3_BB_K2 0x29b234UL //Access:RW DataWidth:0x14 // Multi Field Register.
- #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_0_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM015_I_MEM_PRTY_0 .
- #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_0_BB_K2_SHIFT 0
- #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_1_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM015_I_MEM_PRTY_1 .
- #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_1_BB_K2_SHIFT 1
- #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_2_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM015_I_MEM_PRTY_2 .
- #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_2_BB_K2_SHIFT 2
+#define PSWWR2_REG_PRTY_MASK_H_3 0x29b234UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM004_I_MEM_PRTY_8_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM004_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM004_I_MEM_PRTY_8_E5_SHIFT 0
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM019_I_MEM_PRTY_0_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM019_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM019_I_MEM_PRTY_0_E5_SHIFT 1
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM019_I_MEM_PRTY_1_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM019_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM019_I_MEM_PRTY_1_E5_SHIFT 2
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM019_I_MEM_PRTY_2_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM019_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM019_I_MEM_PRTY_2_E5_SHIFT 3
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_0_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_0 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_0_BB_K2_SHIFT 3
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_0_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_0_E5_SHIFT 4
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_1_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_1 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_1_BB_K2_SHIFT 4
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_1_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_1_E5_SHIFT 5
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_2_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_2 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_2_BB_K2_SHIFT 5
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_2_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_2_E5_SHIFT 6
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_3_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_3 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_3_BB_K2_SHIFT 6
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_3_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_3_E5_SHIFT 7
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_4_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_4 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_4_BB_K2_SHIFT 7
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_4_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_4_E5_SHIFT 8
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_5_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_5 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_5_BB_K2_SHIFT 8
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_5_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_5_E5_SHIFT 9
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_6_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_6 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_6_BB_K2_SHIFT 9
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_6_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_6_E5_SHIFT 10
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_7_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_7 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_7_BB_K2_SHIFT 10
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_7_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_7_E5_SHIFT 11
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_8_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_8 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_8_BB_K2_SHIFT 11
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_8_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_8_E5_SHIFT 12
#define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_0_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY_0 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_0_BB_K2_SHIFT 12
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_0_E5 (0x1<<13) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_0_E5_SHIFT 13
#define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_1_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY_1 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_1_BB_K2_SHIFT 13
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_1_E5 (0x1<<14) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_1_E5_SHIFT 14
#define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_2_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY_2 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_2_BB_K2_SHIFT 14
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_2_E5 (0x1<<15) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_2_E5_SHIFT 15
#define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_3_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY_3 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_3_BB_K2_SHIFT 15
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_3_E5 (0x1<<16) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_3_E5_SHIFT 16
#define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_4_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY_4 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_4_BB_K2_SHIFT 16
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_4_E5 (0x1<<17) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_4_E5_SHIFT 17
#define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_0_BB_K2 (0x1<<17) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM003_I_MEM_PRTY_0 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_0_BB_K2_SHIFT 17
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_0_E5 (0x1<<18) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM003_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_0_E5_SHIFT 18
#define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_1_BB_K2 (0x1<<18) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM003_I_MEM_PRTY_1 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_1_BB_K2_SHIFT 18
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_1_E5 (0x1<<19) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM003_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_1_E5_SHIFT 19
#define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_2_BB_K2 (0x1<<19) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM003_I_MEM_PRTY_2 .
#define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_2_BB_K2_SHIFT 19
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_2_E5 (0x1<<20) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM003_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_2_E5_SHIFT 20
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_0_E5 (0x1<<21) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM010_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_0_E5_SHIFT 21
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_1_E5 (0x1<<22) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM010_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_1_E5_SHIFT 22
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_2_E5 (0x1<<23) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM010_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_2_E5_SHIFT 23
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_3_E5 (0x1<<24) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM010_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_3_E5_SHIFT 24
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_4_E5 (0x1<<25) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM010_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_4_E5_SHIFT 25
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_0_E5 (0x1<<26) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM013_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_0_E5_SHIFT 26
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_1_E5 (0x1<<27) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM013_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_1_E5_SHIFT 27
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_2_E5 (0x1<<28) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM013_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_2_E5_SHIFT 28
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_3_E5 (0x1<<29) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM013_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_3_E5_SHIFT 29
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_4_E5 (0x1<<30) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM013_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_4_E5_SHIFT 30
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_0_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM015_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_0_BB_K2_SHIFT 0
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_1_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM015_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_1_BB_K2_SHIFT 1
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_2_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_3.MEM015_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_3_MEM015_I_MEM_PRTY_2_BB_K2_SHIFT 2
+#define PSWWR2_REG_PRTY_MASK_H_4_E5 0x29b244UL //Access:RW DataWidth:0xd // Multi Field Register.
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM013_I_MEM_PRTY_5_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM013_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM013_I_MEM_PRTY_5_E5_SHIFT 0
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM013_I_MEM_PRTY_6_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM013_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM013_I_MEM_PRTY_6_E5_SHIFT 1
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM013_I_MEM_PRTY_7_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM013_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM013_I_MEM_PRTY_7_E5_SHIFT 2
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM013_I_MEM_PRTY_8_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM013_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM013_I_MEM_PRTY_8_E5_SHIFT 3
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_0_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM015_I_MEM_PRTY_0 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_0_E5_SHIFT 4
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_1_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM015_I_MEM_PRTY_1 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_1_E5_SHIFT 5
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_2_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM015_I_MEM_PRTY_2 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_2_E5_SHIFT 6
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_3_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM015_I_MEM_PRTY_3 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_3_E5_SHIFT 7
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_4_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM015_I_MEM_PRTY_4 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_4_E5_SHIFT 8
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_5_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM015_I_MEM_PRTY_5 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_5_E5_SHIFT 9
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_6_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM015_I_MEM_PRTY_6 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_6_E5_SHIFT 10
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_7_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM015_I_MEM_PRTY_7 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_7_E5_SHIFT 11
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_8_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PSWWR2_REG_PRTY_STS_H_4.MEM015_I_MEM_PRTY_8 .
+ #define PSWWR2_REG_PRTY_MASK_H_4_MEM015_I_MEM_PRTY_8_E5_SHIFT 12
#define PSWWR2_REG_MEM008_RF_ECC_ERROR_CONNECT_BB_K2 0x29b240UL //Access:W DataWidth:0x16 // Register to generate up to two ECC errors on the next write to memory: pswwr.i_prm_fifo.rf_ecc_error_connect Includes 2 words of 11 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 514. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PSWWR2_REG_MEM_ECC_ENABLE_0_BB_K2 0x29b244UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance pswwr.i_prm_fifo.i_ecc in module pswwr_mem_prm_ififo
-#define PSWWR2_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x29b248UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance pswwr.i_prm_fifo.i_ecc in module pswwr_mem_prm_ififo
-#define PSWWR2_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x29b24cUL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance pswwr.i_prm_fifo.i_ecc in module pswwr_mem_prm_ififo
+#define PSWWR2_REG_MEM008_RF_ECC_ERROR_CONNECT_E5 0x29b250UL //Access:W DataWidth:0x16 // Register to generate up to two ECC errors on the next write to memory: pswwr.i_prm_fifo.rf_ecc_error_connect Includes 2 words of 11 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 514. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWWR2_REG_MEM009_RF_ECC_ERROR_CONNECT_E5 0x29b254UL //Access:W DataWidth:0x16 // Register to generate up to two ECC errors on the next write to memory: pswwr.i_prms_fifo.rf_ecc_error_connect Includes 2 words of 11 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 515. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWWR2_REG_MEM_ECC_ENABLE_0_BB_K2 0x29b244UL //Access:RW DataWidth:0x1 // Multi Field Register.
+#define PSWWR2_REG_MEM_ECC_ENABLE_0_E5 0x29b258UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define PSWWR2_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance pswwr.i_prm_fifo.i_ecc in module pswwr_mem_prm_ififo
+ #define PSWWR2_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_E5_SHIFT 0
+ #define PSWWR2_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance pswwr.i_prms_fifo.i_ecc in module pswwr_mem_prms_ififo
+ #define PSWWR2_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_E5_SHIFT 1
+ #define PSWWR2_REG_MEM_ECC_ENABLE_0_MEM_ECC_ENABLE_0_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance pswwr.i_prm_fifo.i_ecc in module pswwr_mem_prm_ififo
+ #define PSWWR2_REG_MEM_ECC_ENABLE_0_MEM_ECC_ENABLE_0_BB_K2_SHIFT 0
+#define PSWWR2_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x29b248UL //Access:RW DataWidth:0x1 // Multi Field Register.
+#define PSWWR2_REG_MEM_ECC_PARITY_ONLY_0_E5 0x29b25cUL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define PSWWR2_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance pswwr.i_prm_fifo.i_ecc in module pswwr_mem_prm_ififo
+ #define PSWWR2_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_E5_SHIFT 0
+ #define PSWWR2_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance pswwr.i_prms_fifo.i_ecc in module pswwr_mem_prms_ififo
+ #define PSWWR2_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_E5_SHIFT 1
+ #define PSWWR2_REG_MEM_ECC_PARITY_ONLY_0_MEM_ECC_PARITY_ONLY_0_BB_K2 (0x1<<0) // Set parity only for memory ecc instance pswwr.i_prm_fifo.i_ecc in module pswwr_mem_prm_ififo
+ #define PSWWR2_REG_MEM_ECC_PARITY_ONLY_0_MEM_ECC_PARITY_ONLY_0_BB_K2_SHIFT 0
+#define PSWWR2_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x29b24cUL //Access:RC DataWidth:0x1 // Multi Field Register.
+#define PSWWR2_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0x29b260UL //Access:RC DataWidth:0x2 // Multi Field Register.
+ #define PSWWR2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance pswwr.i_prm_fifo.i_ecc in module pswwr_mem_prm_ififo
+ #define PSWWR2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_E5_SHIFT 0
+ #define PSWWR2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance pswwr.i_prms_fifo.i_ecc in module pswwr_mem_prms_ififo
+ #define PSWWR2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_E5_SHIFT 1
+ #define PSWWR2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM_ECC_ERROR_CORRECTED_0_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance pswwr.i_prm_fifo.i_ecc in module pswwr_mem_prm_ififo
+ #define PSWWR2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM_ECC_ERROR_CORRECTED_0_BB_K2_SHIFT 0
#define PSWWR2_REG_MEM_ECC_EVENTS_BB_K2 0x29b250UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define PSWWR2_REG_MEM_ECC_EVENTS_E5 0x29b264UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define PSWRD_REG_DBG_SELECT 0x29c040UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define PSWRD_REG_DBG_DWORD_ENABLE 0x29c044UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define PSWRD_REG_DBG_SHIFT 0x29c048UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -43622,8 +44233,8 @@
#define PSWRD_REG_DBG_FORCE_FRAME 0x29c050UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
#define PSWRD_REG_DBG_OUT_DATA 0x29c060UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define PSWRD_REG_DBG_OUT_DATA_SIZE 8
-#define PSWRD_REG_DBG_OUT_VALID 0x29c080UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define PSWRD_REG_DBG_OUT_FRAME 0x29c084UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define PSWRD_REG_DBG_OUT_VALID 0x29c080UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define PSWRD_REG_DBG_OUT_FRAME 0x29c084UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define PSWRD_REG_ECO_RESERVED 0x29c0a0UL //Access:RW DataWidth:0xa // Debug only: Reserved bits for ECO.
#define PSWRD_REG_FIFO_FULL_STATUS 0x29c0a4UL //Access:R DataWidth:0x10 // Each bit indicates if full is asserted by the client. The clients order is according to the incrementing client IDs of read clients.
#define PSWRD_REG_FIFO_FULL_STICKY 0x29c0a8UL //Access:R DataWidth:0x10 // Each bit indicates if full was asserted since reset by the client. The clients order is according to the incrementing client IDs of read clients:.
@@ -43762,145 +44373,286 @@
#define PSWRD2_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<0) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS.DATAPATH_REGISTERS .
#define PSWRD2_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 0
#define PSWRD2_REG_PRTY_MASK_H_0 0x29d204UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM017_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM017_I_ECC_RF_INT .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM017_I_ECC_RF_INT_SHIFT 0
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM018_I_ECC_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM018_I_ECC_RF_INT .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM018_I_ECC_RF_INT_SHIFT 1
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM019_I_ECC_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM019_I_ECC_RF_INT .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM019_I_ECC_RF_INT_SHIFT 2
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT (0x1<<3) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM020_I_ECC_RF_INT .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_SHIFT 3
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT (0x1<<4) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM021_I_ECC_RF_INT .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_SHIFT 4
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT (0x1<<5) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM022_I_ECC_RF_INT .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_SHIFT 5
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM023_I_ECC_RF_INT (0x1<<6) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM023_I_ECC_RF_INT .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM023_I_ECC_RF_INT_SHIFT 6
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM024_I_ECC_RF_INT (0x1<<7) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM024_I_ECC_RF_INT .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM024_I_ECC_RF_INT_SHIFT 7
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM025_I_ECC_RF_INT (0x1<<8) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM025_I_ECC_RF_INT .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM025_I_ECC_RF_INT_SHIFT 8
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT (0x1<<9) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM015_I_ECC_RF_INT .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_SHIFT 9
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY (0x1<<10) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM034_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_SHIFT 10
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY (0x1<<11) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_SHIFT 11
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY (0x1<<12) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_SHIFT 12
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY (0x1<<13) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM033_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_SHIFT 13
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY (0x1<<14) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_SHIFT 14
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY (0x1<<15) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_SHIFT 15
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY (0x1<<16) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_SHIFT 16
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY (0x1<<17) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_SHIFT 17
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY (0x1<<18) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_SHIFT 18
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<19) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 19
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY (0x1<<20) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_SHIFT 20
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY (0x1<<21) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_SHIFT 21
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY (0x1<<22) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_SHIFT 22
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY (0x1<<23) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_SHIFT 23
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY (0x1<<24) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_SHIFT 24
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY (0x1<<25) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_SHIFT 25
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY (0x1<<26) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_SHIFT 26
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY (0x1<<27) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_SHIFT 27
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<28) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 28
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<29) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 29
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY (0x1<<30) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_SHIFT 30
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM018_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM018_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM018_I_ECC_RF_INT_BB_K2_SHIFT 1
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM018_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM018_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM018_I_ECC_RF_INT_E5_SHIFT 0
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM019_I_ECC_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM019_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM019_I_ECC_RF_INT_BB_K2_SHIFT 2
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM019_I_ECC_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM019_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM019_I_ECC_RF_INT_E5_SHIFT 1
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM020_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_BB_K2_SHIFT 3
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM020_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM020_I_ECC_RF_INT_E5_SHIFT 2
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM021_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_BB_K2_SHIFT 4
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM021_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM021_I_ECC_RF_INT_E5_SHIFT 3
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM022_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_BB_K2_SHIFT 5
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM022_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM022_I_ECC_RF_INT_E5_SHIFT 4
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM023_I_ECC_RF_INT_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM023_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM023_I_ECC_RF_INT_BB_K2_SHIFT 6
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM023_I_ECC_RF_INT_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM023_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM023_I_ECC_RF_INT_E5_SHIFT 5
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM024_I_ECC_RF_INT_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM024_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM024_I_ECC_RF_INT_BB_K2_SHIFT 7
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM024_I_ECC_RF_INT_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM024_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM024_I_ECC_RF_INT_E5_SHIFT 6
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM025_I_ECC_RF_INT_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM025_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM025_I_ECC_RF_INT_BB_K2_SHIFT 8
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM025_I_ECC_RF_INT_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM025_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM025_I_ECC_RF_INT_E5_SHIFT 7
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM026_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_E5_SHIFT 8
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM016_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_E5_SHIFT 9
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_E5_SHIFT 10
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM034_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_BB_K2_SHIFT 10
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM034_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_E5_SHIFT 11
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_BB_K2_SHIFT 11
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_E5_SHIFT 12
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB_K2_SHIFT 12
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_E5_SHIFT 13
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM033_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_BB_K2_SHIFT 13
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM033_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_E5_SHIFT 14
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_BB_K2_SHIFT 14
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_E5_SHIFT 15
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB_K2_SHIFT 15
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_E5_SHIFT 16
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_BB_K2_SHIFT 16
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_E5_SHIFT 17
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_K2 (0x1<<17) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_K2_SHIFT 17
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5_SHIFT 18
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 28
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 19
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<21) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 21
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 20
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<22) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 22
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 21
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<23) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 23
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 22
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2 (0x1<<24) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2_SHIFT 24
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 23
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_K2_SHIFT 25
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 24
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2_SHIFT 26
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 25
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2_SHIFT 27
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5_SHIFT 26
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5_SHIFT 27
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<29) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 29
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 28
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<30) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 30
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 29
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 30
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM017_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM017_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM017_I_ECC_RF_INT_BB_K2_SHIFT 0
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM015_I_ECC_RF_INT .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_BB_K2_SHIFT 9
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_BB_K2 (0x1<<18) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_BB_K2_SHIFT 18
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<19) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 19
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<20) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 20
#define PSWRD2_REG_PRTY_MASK_H_1 0x29d214UL //Access:RW DataWidth:0x3 // Multi Field Register.
- #define PSWRD2_REG_PRTY_MASK_H_1_MEM005_I_MEM_PRTY (0x1<<0) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_1.MEM005_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_1_MEM005_I_MEM_PRTY_SHIFT 0
- #define PSWRD2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY (0x1<<1) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_SHIFT 1
- #define PSWRD2_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY (0x1<<2) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_1.MEM016_I_MEM_PRTY .
- #define PSWRD2_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_SHIFT 2
-#define PSWRD2_REG_MEM019_RF_ECC_ERROR_CONNECT 0x29d220UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PSWRD2_REG_MEM020_RF_ECC_ERROR_CONNECT 0x29d224UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PSWRD2_REG_MEM021_RF_ECC_ERROR_CONNECT 0x29d228UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PSWRD2_REG_MEM022_RF_ECC_ERROR_CONNECT 0x29d22cUL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PSWRD2_REG_MEM023_RF_ECC_ERROR_CONNECT 0x29d230UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PSWRD2_REG_MEM024_RF_ECC_ERROR_CONNECT 0x29d234UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PSWRD2_REG_MEM025_RF_ECC_ERROR_CONNECT 0x29d238UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PSWRD2_REG_MEM_ECC_ENABLE_0 0x29d23cUL //Access:RW DataWidth:0xa // Multi Field Register.
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC_EN (0x1<<0) // Enable ECC for memory ecc instance pswrd.TETRIS_32_GEN_FOR[0].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC_EN_SHIFT 0
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC_EN (0x1<<1) // Enable ECC for memory ecc instance pswrd.TETRIS_32_GEN_FOR[1].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC_EN_SHIFT 1
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC_EN (0x1<<2) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC_EN_SHIFT 2
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC_EN (0x1<<3) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC_EN_SHIFT 3
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN (0x1<<4) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_SHIFT 4
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN (0x1<<5) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_SHIFT 5
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_EN (0x1<<6) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_EN_SHIFT 6
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_EN (0x1<<7) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_EN_SHIFT 7
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_EN (0x1<<8) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_EN_SHIFT 8
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN (0x1<<9) // Enable ECC for memory ecc instance pswrd.SYNC_FIFO_GEN_PBF_FOR[6].SYNC_FIFO_GEN_PBF_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_pbf_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_SHIFT 9
-#define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0 0x29d240UL //Access:RW DataWidth:0xa // Multi Field Register.
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC_PRTY (0x1<<0) // Set parity only for memory ecc instance pswrd.TETRIS_32_GEN_FOR[0].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC_PRTY_SHIFT 0
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC_PRTY (0x1<<1) // Set parity only for memory ecc instance pswrd.TETRIS_32_GEN_FOR[1].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC_PRTY_SHIFT 1
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC_PRTY (0x1<<2) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC_PRTY_SHIFT 2
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC_PRTY (0x1<<3) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC_PRTY_SHIFT 3
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY (0x1<<4) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_SHIFT 4
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY (0x1<<5) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_SHIFT 5
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_PRTY (0x1<<6) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_PRTY_SHIFT 6
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_PRTY (0x1<<7) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_PRTY_SHIFT 7
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_PRTY (0x1<<8) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_PRTY_SHIFT 8
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY (0x1<<9) // Set parity only for memory ecc instance pswrd.SYNC_FIFO_GEN_PBF_FOR[6].SYNC_FIFO_GEN_PBF_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_pbf_mem_wrap
- #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_SHIFT 9
-#define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0 0x29d244UL //Access:RC DataWidth:0xa // Multi Field Register.
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM017_I_ECC_CORRECT (0x1<<0) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_32_GEN_FOR[0].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM017_I_ECC_CORRECT_SHIFT 0
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_32_GEN_FOR[1].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC_CORRECT_SHIFT 1
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC_CORRECT_SHIFT 2
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC_CORRECT (0x1<<3) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC_CORRECT_SHIFT 3
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT (0x1<<4) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_SHIFT 4
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT (0x1<<5) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_SHIFT 5
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_CORRECT (0x1<<6) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_CORRECT_SHIFT 6
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_CORRECT (0x1<<7) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_CORRECT_SHIFT 7
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_CORRECT (0x1<<8) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_CORRECT_SHIFT 8
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT (0x1<<9) // Record if a correctable error occurred on memory ecc instance pswrd.SYNC_FIFO_GEN_PBF_FOR[6].SYNC_FIFO_GEN_PBF_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_pbf_mem_wrap
- #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_SHIFT 9
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_1.MEM006_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM006_I_MEM_PRTY_E5_SHIFT 0
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_1.MEM007_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_E5_SHIFT 1
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_E5_SHIFT 2
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM005_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_1.MEM005_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM005_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PSWRD2_REG_PRTY_STS_H_1.MEM016_I_MEM_PRTY .
+ #define PSWRD2_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_BB_K2_SHIFT 2
+#define PSWRD2_REG_MEM020_RF_ECC_ERROR_CONNECT_BB_K2 0x29d224UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM020_RF_ECC_ERROR_CONNECT_E5 0x29d220UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM019_RF_ECC_ERROR_CONNECT_BB_K2 0x29d220UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM021_RF_ECC_ERROR_CONNECT_BB_K2 0x29d228UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM021_RF_ECC_ERROR_CONNECT_E5 0x29d224UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM022_RF_ECC_ERROR_CONNECT_BB_K2 0x29d22cUL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM022_RF_ECC_ERROR_CONNECT_E5 0x29d228UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM023_RF_ECC_ERROR_CONNECT_BB_K2 0x29d230UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM023_RF_ECC_ERROR_CONNECT_E5 0x29d22cUL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM024_RF_ECC_ERROR_CONNECT_BB_K2 0x29d234UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM024_RF_ECC_ERROR_CONNECT_E5 0x29d230UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM025_RF_ECC_ERROR_CONNECT_BB_K2 0x29d238UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM025_RF_ECC_ERROR_CONNECT_E5 0x29d234UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM026_RF_ECC_ERROR_CONNECT_E5 0x29d238UL //Access:W DataWidth:0x10 // Register to generate up to two ECC errors on the next write to memory: pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.rf_ecc_error_connect Includes 2 words of 8 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 64. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PSWRD2_REG_MEM_ECC_ENABLE_0 0x29d23cUL //Access:RW DataWidth:0xb // Multi Field Register.
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance pswrd.TETRIS_32_GEN_FOR[1].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC_EN_BB_K2_SHIFT 1
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance pswrd.TETRIS_32_GEN_FOR[0].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC_EN_E5_SHIFT 0
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC_EN_BB_K2_SHIFT 2
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance pswrd.TETRIS_32_GEN_FOR[1].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC_EN_E5_SHIFT 1
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC_EN_BB_K2 (0x1<<3) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC_EN_BB_K2_SHIFT 3
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC_EN_E5 (0x1<<2) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC_EN_E5_SHIFT 2
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_BB_K2 (0x1<<4) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_BB_K2_SHIFT 4
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC_EN_E5_SHIFT 3
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_BB_K2 (0x1<<5) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_BB_K2_SHIFT 5
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_E5 (0x1<<4) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_EN_E5_SHIFT 4
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_EN_BB_K2 (0x1<<6) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_EN_BB_K2_SHIFT 6
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_EN_E5 (0x1<<5) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_EN_E5_SHIFT 5
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_EN_BB_K2 (0x1<<7) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_EN_BB_K2_SHIFT 7
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_EN_E5 (0x1<<6) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_EN_E5_SHIFT 6
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_EN_BB_K2 (0x1<<8) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_EN_BB_K2_SHIFT 8
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_EN_E5 (0x1<<7) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_EN_E5_SHIFT 7
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_EN_E5 (0x1<<8) // Enable ECC for memory ecc instance pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_EN_E5_SHIFT 8
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_E5 (0x1<<9) // Enable ECC for memory ecc instance pswrd.SYNC_FIFO_GEN_PBF_FOR[6].SYNC_FIFO_GEN_PBF_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_pbf_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_E5_SHIFT 9
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_E5 (0x1<<10) // Enable ECC for memory ecc instance pswrd.SYNC_FIFO_GEN_CDU_FOR[6].SYNC_FIFO_GEN_CDU_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_cdu_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_E5_SHIFT 10
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance pswrd.TETRIS_32_GEN_FOR[0].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC_EN_BB_K2_SHIFT 0
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_K2 (0x1<<9) // Enable ECC for memory ecc instance pswrd.SYNC_FIFO_GEN_PBF_FOR[6].SYNC_FIFO_GEN_PBF_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_pbf_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_K2_SHIFT 9
+#define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0 0x29d240UL //Access:RW DataWidth:0xb // Multi Field Register.
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance pswrd.TETRIS_32_GEN_FOR[1].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC_PRTY_BB_K2_SHIFT 1
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance pswrd.TETRIS_32_GEN_FOR[0].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC_PRTY_E5_SHIFT 0
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC_PRTY_BB_K2_SHIFT 2
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance pswrd.TETRIS_32_GEN_FOR[1].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC_PRTY_E5_SHIFT 1
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC_PRTY_BB_K2 (0x1<<3) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC_PRTY_BB_K2_SHIFT 3
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC_PRTY_E5 (0x1<<2) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC_PRTY_E5_SHIFT 2
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_BB_K2 (0x1<<4) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_BB_K2_SHIFT 4
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC_PRTY_E5_SHIFT 3
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_BB_K2 (0x1<<5) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_BB_K2_SHIFT 5
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_E5 (0x1<<4) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_PRTY_E5_SHIFT 4
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_PRTY_BB_K2 (0x1<<6) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_PRTY_BB_K2_SHIFT 6
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_PRTY_E5 (0x1<<5) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_PRTY_E5_SHIFT 5
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_PRTY_BB_K2 (0x1<<7) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_PRTY_BB_K2_SHIFT 7
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_PRTY_E5 (0x1<<6) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_PRTY_E5_SHIFT 6
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_PRTY_BB_K2 (0x1<<8) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_PRTY_BB_K2_SHIFT 8
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_PRTY_E5 (0x1<<7) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_PRTY_E5_SHIFT 7
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_PRTY_E5 (0x1<<8) // Set parity only for memory ecc instance pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_PRTY_E5_SHIFT 8
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_E5 (0x1<<9) // Set parity only for memory ecc instance pswrd.SYNC_FIFO_GEN_PBF_FOR[6].SYNC_FIFO_GEN_PBF_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_pbf_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_E5_SHIFT 9
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_E5 (0x1<<10) // Set parity only for memory ecc instance pswrd.SYNC_FIFO_GEN_CDU_FOR[6].SYNC_FIFO_GEN_CDU_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_cdu_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_E5_SHIFT 10
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance pswrd.TETRIS_32_GEN_FOR[0].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC_PRTY_BB_K2_SHIFT 0
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_K2 (0x1<<9) // Set parity only for memory ecc instance pswrd.SYNC_FIFO_GEN_PBF_FOR[6].SYNC_FIFO_GEN_PBF_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_pbf_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_K2_SHIFT 9
+#define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0 0x29d244UL //Access:RC DataWidth:0xb // Multi Field Register.
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_32_GEN_FOR[1].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC_CORRECT_BB_K2_SHIFT 1
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_32_GEN_FOR[0].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC_CORRECT_E5_SHIFT 0
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC_CORRECT_BB_K2_SHIFT 2
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_32_GEN_FOR[1].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC_CORRECT_E5_SHIFT 1
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC_CORRECT_BB_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC_CORRECT_BB_K2_SHIFT 3
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC_CORRECT_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[0].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC_CORRECT_E5_SHIFT 2
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_BB_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_BB_K2_SHIFT 4
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[1].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC_CORRECT_E5_SHIFT 3
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_BB_K2 (0x1<<5) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_BB_K2_SHIFT 5
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_E5 (0x1<<4) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[2].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_CORRECT_E5_SHIFT 4
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_CORRECT_BB_K2 (0x1<<6) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_CORRECT_BB_K2_SHIFT 6
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_CORRECT_E5 (0x1<<5) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[3].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_CORRECT_E5_SHIFT 5
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_CORRECT_BB_K2 (0x1<<7) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_CORRECT_BB_K2_SHIFT 7
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_CORRECT_E5 (0x1<<6) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[4].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_CORRECT_E5_SHIFT 6
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_CORRECT_BB_K2 (0x1<<8) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_CORRECT_BB_K2_SHIFT 8
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_CORRECT_E5 (0x1<<7) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[5].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_CORRECT_E5_SHIFT 7
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_CORRECT_E5 (0x1<<8) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_64_GEN_FOR[6].i_tetris_64b.i_ecc in module pswrd_tetris_buffer_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_CORRECT_E5_SHIFT 8
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_E5 (0x1<<9) // Record if a correctable error occurred on memory ecc instance pswrd.SYNC_FIFO_GEN_PBF_FOR[6].SYNC_FIFO_GEN_PBF_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_pbf_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_E5_SHIFT 9
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_E5 (0x1<<10) // Record if a correctable error occurred on memory ecc instance pswrd.SYNC_FIFO_GEN_CDU_FOR[6].SYNC_FIFO_GEN_CDU_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_cdu_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_E5_SHIFT 10
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM017_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance pswrd.TETRIS_32_GEN_FOR[0].i_tetris_32b.i_ecc in module pswrd_tetris_buffer_first_qw
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM017_I_ECC_CORRECT_BB_K2_SHIFT 0
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB_K2 (0x1<<9) // Record if a correctable error occurred on memory ecc instance pswrd.SYNC_FIFO_GEN_PBF_FOR[6].SYNC_FIFO_GEN_PBF_IF.i_m_1w1r_2clks_ram.i_ecc in module pswrd_sync_fifo_pbf_mem_wrap
+ #define PSWRD2_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB_K2_SHIFT 9
#define PSWRD2_REG_MEM_ECC_EVENTS 0x29d248UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define PSWRD2_REG_DBG_SELECT 0x29d400UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define PSWRD2_REG_DBG_DWORD_ENABLE 0x29d404UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
@@ -43909,8 +44661,8 @@
#define PSWRD2_REG_DBG_FORCE_FRAME 0x29d410UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
#define PSWRD2_REG_DBG_OUT_DATA 0x29d420UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define PSWRD2_REG_DBG_OUT_DATA_SIZE 8
-#define PSWRD2_REG_DBG_OUT_VALID 0x29d440UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define PSWRD2_REG_DBG_OUT_FRAME 0x29d444UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define PSWRD2_REG_DBG_OUT_VALID 0x29d440UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define PSWRD2_REG_DBG_OUT_FRAME 0x29d444UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define PSWRD2_REG_DISABLE_INPUTS 0x29d460UL //Access:RW DataWidth:0x1 // When '1'; inputs to the PSWRD block are ignored.
#define PSWRD2_REG_SR_NUM_CFG 0x29d464UL //Access:RW DataWidth:0x7 // Debug only: Total number of available PCI read sub-requests. Must be bigger than 1. Normally should not be changed. Should have identical value to rq_sr_num_cfg.
#define PSWRD2_REG_BLK_NUM_CFG 0x29d468UL //Access:RW DataWidth:0x9 // Debug only: Total number of available blocks in Tetris Buffer. Must be bigger than 6. Normally should not be changed. Should have identical value to rq_blk_num_cfg.
@@ -44204,48 +44956,47 @@
#define PSWHST_REG_PRTY_MASK 0x2a0194UL //Access:RW DataWidth:0x1 // Multi Field Register.
#define PSWHST_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<0) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS.DATAPATH_REGISTERS .
#define PSWHST_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 0
-#define PSWHST_REG_PRTY_MASK_H_0_BB_K2 0x2a0204UL //Access:RW DataWidth:0x11 // Multi Field Register.
- #define PSWHST_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 0
- #define PSWHST_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 1
- #define PSWHST_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 2
- #define PSWHST_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 3
- #define PSWHST_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 4
- #define PSWHST_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 5
- #define PSWHST_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 6
- #define PSWHST_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 7
- #define PSWHST_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 8
- #define PSWHST_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 9
- #define PSWHST_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2_SHIFT 10
- #define PSWHST_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_K2_SHIFT 11
- #define PSWHST_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2_SHIFT 12
- #define PSWHST_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2_SHIFT 13
- #define PSWHST_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2_SHIFT 14
- #define PSWHST_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define PSWHST_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2_SHIFT 15
+#define PSWHST_REG_PRTY_MASK_H_0 0x2a0204UL //Access:RW DataWidth:0x10 // Multi Field Register.
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY (0x1<<0) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_SHIFT 0
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY (0x1<<1) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_SHIFT 1
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY (0x1<<2) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_SHIFT 2
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<3) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 3
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<4) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 4
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<5) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 5
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY (0x1<<6) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_SHIFT 6
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY (0x1<<7) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_SHIFT 7
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY (0x1<<8) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_SHIFT 8
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY (0x1<<9) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_SHIFT 9
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY (0x1<<10) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_SHIFT 10
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY (0x1<<11) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_SHIFT 11
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY (0x1<<12) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_SHIFT 12
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY (0x1<<13) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_SHIFT 13
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY (0x1<<14) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_SHIFT 14
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY (0x1<<15) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define PSWHST_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_SHIFT 15
#define PSWHST_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: PSWHST_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
#define PSWHST_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_K2_SHIFT 16
-#define PSWHST_REG_MEM_ECC_EVENTS_BB_K2 0x2a0210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define PSWHST_REG_MEM_ECC_EVENTS 0x2a0210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define PSWHST_REG_INBOUND_INT 0x2a0400UL //Access:RW DataWidth:0x20 // Used for initialization of the inbound interrupts memory. E4 entry structure: [15:0] - CompParams. [23:16] - EventID. [24] - T. [28:25] - Trig.
#define PSWHST_REG_INBOUND_INT_SIZE 72
#define PSWHST_REG_ZONE_PERMISSION_TABLE 0x2a0800UL //Access:RW DataWidth:0x9 // Indirect access to the permission table. The fields are : {Valid; VFID[7:0]}.
#define PSWHST_REG_ZONE_PERMISSION_TABLE_SIZE_BB 256
-#define PSWHST_REG_ZONE_PERMISSION_TABLE_SIZE_K2 320
-#define PSWHST_REG_ZONE_PERMISSION_TABLE_SIZE_E5 256
+#define PSWHST_REG_ZONE_PERMISSION_TABLE_SIZE_K2_E5 320
#define PGLUE_B_REG_START_INIT_INB_INT_MEM 0x2a8000UL //Access:W DataWidth:0x1 // Writing 1 to this register signals the PGLUE block to start initializing inbound interrupt memories for PF zone B. Memories are initialized such that all interrupts are disabled: start_address = 1; end_address = 0.
#define PGLUE_B_REG_INIT_DONE_INB_INT_MEM 0x2a8004UL //Access:R DataWidth:0x2 // Initializing inbound interrupt memories for PF zone B is done. Driver should make sure the corresponding bit is 1 some time after writing to start_init_inb_int_mem. Bit 0 is for path 0 and bit 1 is for path 1.
#define PGLUE_B_REG_START_INIT_PTT_GTT 0x2a8008UL //Access:W DataWidth:0x1 // Writing 1 to this register signals the PGLUE block to start initializing PTT and GTT. Offsets should map to reserved space, pretend should map to the same PF. This register should be initialized by MCP.
@@ -44451,118 +45202,118 @@
#define PGLUE_B_REG_PRTY_MASK 0x2a8194UL //Access:RW DataWidth:0x1 // Multi Field Register.
#define PGLUE_B_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<0) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS.DATAPATH_REGISTERS .
#define PGLUE_B_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 0
-#define PGLUE_B_REG_PRTY_MASK_H_0_BB_K2 0x2a8204UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2_SHIFT 0
+#define PGLUE_B_REG_PRTY_MASK_H_0 0x2a8204UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2_E5_SHIFT 0
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_SHIFT 4
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_SHIFT 1
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 2
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_E5_SHIFT 1
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY (0x1<<2) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_SHIFT 2
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY (0x1<<3) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_SHIFT 3
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_SHIFT 5
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_SHIFT 4
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2_SHIFT 5
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_SHIFT 6
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_SHIFT 7
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_K2_SHIFT 8
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_E5_SHIFT 4
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2_E5_SHIFT 5
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_E5_SHIFT 6
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_E5_SHIFT 7
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_K2_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_K2_E5_SHIFT 8
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_SHIFT 10
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_SHIFT 9
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_E5_SHIFT 9
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_SHIFT 11
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_SHIFT 10
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_E5_SHIFT 10
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_SHIFT 6
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_SHIFT 11
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_SHIFT 12
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_SHIFT 13
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_E5_SHIFT 11
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_E5_SHIFT 12
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_E5 (0x1<<13) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_E5_SHIFT 13
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_SHIFT 7
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2_SHIFT 14
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2_E5 (0x1<<14) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2_E5_SHIFT 14
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB (0x1<<8) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_SHIFT 8
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2 (0x1<<15) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_SHIFT 15
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_E5 (0x1<<15) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_E5_SHIFT 15
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_SHIFT 9
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_SHIFT 16
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_E5 (0x1<<16) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_E5_SHIFT 16
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB (0x1<<0) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_SHIFT 0
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_SHIFT 17
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2_SHIFT 18
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_SHIFT 19
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_SHIFT 20
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_SHIFT 21
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_K2_SHIFT 22
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_E5 (0x1<<17) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_E5_SHIFT 17
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2_E5 (0x1<<18) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2_E5_SHIFT 18
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_E5 (0x1<<19) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_E5_SHIFT 19
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_E5 (0x1<<20) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_E5_SHIFT 20
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_E5 (0x1<<21) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_E5_SHIFT 21
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_K2_E5 (0x1<<22) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_K2_E5_SHIFT 22
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 1
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2 (0x1<<23) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_SHIFT 23
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_E5 (0x1<<23) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_E5_SHIFT 23
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_SHIFT 12
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2 (0x1<<24) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2_SHIFT 24
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2_E5 (0x1<<24) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2_E5_SHIFT 24
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_BB (0x1<<13) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_0 .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_BB_SHIFT 13
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_K2 (0x1<<25) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_0 .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_K2_SHIFT 25
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_K2_E5 (0x1<<25) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_0 .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_0_K2_E5_SHIFT 25
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_BB (0x1<<14) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_1 .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_BB_SHIFT 14
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_K2 (0x1<<26) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_1 .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_K2_SHIFT 26
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_K2_E5 (0x1<<26) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_1 .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_1_K2_E5_SHIFT 26
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_2_BB (0x1<<15) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_2 .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_2_BB_SHIFT 15
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_2_K2 (0x1<<27) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_2 .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_2_K2_SHIFT 27
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_2_K2_E5 (0x1<<27) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_2 .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_2_K2_E5_SHIFT 27
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_3_BB (0x1<<16) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_3 .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_3_BB_SHIFT 16
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_3_K2 (0x1<<28) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_3 .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_3_K2_SHIFT 28
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_3_K2_E5 (0x1<<28) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_3 .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_3_K2_E5_SHIFT 28
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_4_BB (0x1<<17) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_4 .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_4_BB_SHIFT 17
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_4_K2 (0x1<<29) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_4 .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_4_K2_SHIFT 29
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_4_K2_E5 (0x1<<29) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_4 .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_4_K2_E5_SHIFT 29
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_5_BB (0x1<<18) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_5 .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_5_BB_SHIFT 18
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_5_K2 (0x1<<30) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_5 .
- #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_5_K2_SHIFT 30
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_5_K2_E5 (0x1<<30) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_5 .
+ #define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_5_K2_E5_SHIFT 30
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_6_BB (0x1<<19) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_6 .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_6_BB_SHIFT 19
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_7_BB (0x1<<20) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY_7 .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_7_BB_SHIFT 20
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define PGLUE_B_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_SHIFT 21
-#define PGLUE_B_REG_PRTY_MASK_H_1_K2 0x2a8214UL //Access:RW DataWidth:0x3 // Multi Field Register.
- #define PGLUE_B_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_6_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY_6 .
- #define PGLUE_B_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_6_K2_SHIFT 0
- #define PGLUE_B_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_7_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY_7 .
- #define PGLUE_B_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_7_K2_SHIFT 1
- #define PGLUE_B_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
- #define PGLUE_B_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_K2_SHIFT 2
+#define PGLUE_B_REG_PRTY_MASK_H_1_K2_E5 0x2a8214UL //Access:RW DataWidth:0x3 // Multi Field Register.
+ #define PGLUE_B_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_6_K2_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY_6 .
+ #define PGLUE_B_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_6_K2_E5_SHIFT 0
+ #define PGLUE_B_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_7_K2_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY_7 .
+ #define PGLUE_B_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_7_K2_E5_SHIFT 1
+ #define PGLUE_B_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_K2_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PGLUE_B_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
+ #define PGLUE_B_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_K2_E5_SHIFT 2
#define PGLUE_B_REG_MEM_ECC_EVENTS_BB 0x2a8210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
-#define PGLUE_B_REG_MEM_ECC_EVENTS_K2 0x2a8220UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define PGLUE_B_REG_MEM_ECC_EVENTS_K2_E5 0x2a8220UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define PGLUE_B_REG_DBG_SELECT 0x2a8400UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define PGLUE_B_REG_DBG_DWORD_ENABLE 0x2a8404UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define PGLUE_B_REG_DBG_SHIFT 0x2a8408UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -45438,63 +46189,97 @@
#define TM_REG_INT_STS_CLR_1_CLOAD_RES_LOADCANCEL_TASK_SHIFT 9
#define TM_REG_INT_STS_CLR_1_CLOAD_RES_VALIDERR_TASK (0x1<<10) // Tasks Load response with Validation Error.
#define TM_REG_INT_STS_CLR_1_CLOAD_RES_VALIDERR_TASK_SHIFT 10
-#define TM_REG_PRTY_MASK_H_0_BB_K2 0x2c0204UL //Access:RW DataWidth:0x11 // Multi Field Register.
- #define TM_REG_PRTY_MASK_H_0_MEM012_I_ECC_0_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM012_I_ECC_0_RF_INT .
- #define TM_REG_PRTY_MASK_H_0_MEM012_I_ECC_0_RF_INT_BB_K2_SHIFT 0
- #define TM_REG_PRTY_MASK_H_0_MEM012_I_ECC_1_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM012_I_ECC_1_RF_INT .
- #define TM_REG_PRTY_MASK_H_0_MEM012_I_ECC_1_RF_INT_BB_K2_SHIFT 1
- #define TM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
- #define TM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2_SHIFT 2
- #define TM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define TM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2_SHIFT 3
- #define TM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
- #define TM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 4
- #define TM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define TM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 5
- #define TM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define TM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 6
- #define TM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define TM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 7
- #define TM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
- #define TM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2_SHIFT 8
+#define TM_REG_PRTY_MASK_H_0 0x2c0204UL //Access:RW DataWidth:0xf // Multi Field Register.
+ #define TM_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
+ #define TM_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_E5_SHIFT 0
#define TM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
#define TM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2_SHIFT 9
- #define TM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
- #define TM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2_SHIFT 10
+ #define TM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5_SHIFT 1
#define TM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define TM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 11
+ #define TM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 2
+ #define TM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 4
+ #define TM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 3
#define TM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define TM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 12
+ #define TM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 4
#define TM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define TM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 13
- #define TM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define TM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2_SHIFT 14
+ #define TM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 5
+ #define TM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 6
+ #define TM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY (0x1<<7) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_SHIFT 7
+ #define TM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define TM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 8
+ #define TM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2_SHIFT 10
+ #define TM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5_SHIFT 9
+ #define TM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2_SHIFT 8
+ #define TM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 10
#define TM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define TM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 15
+ #define TM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 11
#define TM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define TM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 16
-#define TM_REG_MEM_ECC_ENABLE_0_BB_K2 0x2c0210UL //Access:RW DataWidth:0x3 // Multi Field Register.
+ #define TM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 12
+ #define TM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 13
+ #define TM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 6
+ #define TM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 14
+ #define TM_REG_PRTY_MASK_H_0_MEM012_I_ECC_0_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM012_I_ECC_0_RF_INT .
+ #define TM_REG_PRTY_MASK_H_0_MEM012_I_ECC_0_RF_INT_BB_K2_SHIFT 0
+ #define TM_REG_PRTY_MASK_H_0_MEM012_I_ECC_1_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM012_I_ECC_1_RF_INT .
+ #define TM_REG_PRTY_MASK_H_0_MEM012_I_ECC_1_RF_INT_BB_K2_SHIFT 1
+ #define TM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
+ #define TM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2_SHIFT 2
+ #define TM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define TM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: TM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define TM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2_SHIFT 14
+#define TM_REG_MEM_ECC_ENABLE_0 0x2c0210UL //Access:RW DataWidth:0x1 // Multi Field Register.
+ #define TM_REG_MEM_ECC_ENABLE_0_MEM_ECC_ENABLE_0_E5 (0x1<<0) // Enable ECC for memory ecc instance tm.i_tm_context_mem.i_ecc in module tm_context_mem
+ #define TM_REG_MEM_ECC_ENABLE_0_MEM_ECC_ENABLE_0_E5_SHIFT 0
#define TM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_0_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance tm.i_tm_context_mem.i_ecc_0 in module tm_context_mem
#define TM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_0_EN_BB_K2_SHIFT 0
#define TM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_1_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance tm.i_tm_context_mem.i_ecc_1 in module tm_context_mem
#define TM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_1_EN_BB_K2_SHIFT 1
#define TM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance tm.TM_PRE_SCAN_2048_ROWS_IF.i_tm_pre_scan_mem.i_ecc in module tm_pre_scan_2048_mem
#define TM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_BB_K2_SHIFT 2
-#define TM_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x2c0214UL //Access:RW DataWidth:0x3 // Multi Field Register.
+#define TM_REG_MEM_ECC_PARITY_ONLY_0 0x2c0214UL //Access:RW DataWidth:0x1 // Multi Field Register.
+ #define TM_REG_MEM_ECC_PARITY_ONLY_0_MEM_ECC_PARITY_ONLY_0_E5 (0x1<<0) // Set parity only for memory ecc instance tm.i_tm_context_mem.i_ecc in module tm_context_mem
+ #define TM_REG_MEM_ECC_PARITY_ONLY_0_MEM_ECC_PARITY_ONLY_0_E5_SHIFT 0
#define TM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_0_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance tm.i_tm_context_mem.i_ecc_0 in module tm_context_mem
#define TM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_0_PRTY_BB_K2_SHIFT 0
#define TM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_1_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance tm.i_tm_context_mem.i_ecc_1 in module tm_context_mem
#define TM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_1_PRTY_BB_K2_SHIFT 1
#define TM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance tm.TM_PRE_SCAN_2048_ROWS_IF.i_tm_pre_scan_mem.i_ecc in module tm_pre_scan_2048_mem
#define TM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_BB_K2_SHIFT 2
-#define TM_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x2c0218UL //Access:RC DataWidth:0x3 // Multi Field Register.
+#define TM_REG_MEM_ECC_ERROR_CORRECTED_0 0x2c0218UL //Access:RC DataWidth:0x1 // Multi Field Register.
+ #define TM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM_ECC_ERROR_CORRECTED_0_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance tm.i_tm_context_mem.i_ecc in module tm_context_mem
+ #define TM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM_ECC_ERROR_CORRECTED_0_E5_SHIFT 0
#define TM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_0_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance tm.i_tm_context_mem.i_ecc_0 in module tm_context_mem
#define TM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_0_CORRECT_BB_K2_SHIFT 0
#define TM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_1_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance tm.i_tm_context_mem.i_ecc_1 in module tm_context_mem
#define TM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_1_CORRECT_BB_K2_SHIFT 1
#define TM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance tm.TM_PRE_SCAN_2048_ROWS_IF.i_tm_pre_scan_mem.i_ecc in module tm_pre_scan_2048_mem
#define TM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_BB_K2_SHIFT 2
-#define TM_REG_MEM_ECC_EVENTS_BB_K2 0x2c021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define TM_REG_MEM_ECC_EVENTS 0x2c021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define TM_REG_PXP_READ_DATA_FIFO_A_F_THR 0x2c0400UL //Access:RW DataWidth:0x6 // Almost full threshold for the PXP READ DATA FIFO, which its size is 48 rows.
#define TM_REG_PXP_READ_CTRL_FIFO_A_F_THR 0x2c0404UL //Access:RW DataWidth:0x4 // Almost full threshold for the PXP READ CTRL FIFO, which its size is 8 rows.
#define TM_REG_CFC_LOAD_COMMAND_FIFO_A_F_THR 0x2c0408UL //Access:RW DataWidth:0x5 // Almost full threshold for the CFC LOAD COMMAND FIFO, which its size is 16 rows. For Debug only.
@@ -45543,9 +46328,9 @@
#define TM_REG_LOGICAL_2_CLIENT_EXP_TASK 0x2c04c0UL //Access:RW DataWidth:0x10 // For logical client 2, per each task type (8 types), configuration of the applicable client out interface that the expiration command is sent to. The client out decoding is : 00 - XCM, 01 - TCM, 10 - UCM, 11 - reserved. Bits [1:0] - client out for type 0, Bits [3:2] - client out for type 1, Bits [5:4] - client out for type 2, Bits [7:6] - client out for type 3, Bits [9:8] - client out for type 4, Bits [11:10] - client out for type 5, Bits [13:12] - client out for type 6, Bits [15:14] - client out for type 7.
#define TM_REG_CLIENT_STOP_ALL_EXP_CONN 0x2c04c4UL //Access:RW DataWidth:0x20 // For stop all expiration, per each connection type (16 types), configuration of the applicable client out interface that the stop all expiration command is sent to. The client out decoding is : 00 - XCM, 01 - TCM, 10 - UCM, 11 - reserved. Bits [1:0] - client out for type 0, Bits [3:2] - client out for type 1, Bits [5:4] - client out for type 2, Bits [7:6] - client out for type 3, Bits [9:8] - client out for type 4, Bits [11:10] - client out for type 5, Bits [13:12] - client out for type 6, Bits [15:14] - client out for type 7, Bits [17:16] - client out for type 8, Bits [19:18] - client out for type 9, Bits [21:20] - client out for type 10. Bits [23:22] - client out for type 11, Bits [25:24] - client out for type 12, Bits [27:26] - client out for type 13. Bits [29:28] - client out for type 14, Bits [31:30] - client out for type 15.
#define TM_REG_CLIENT_STOP_ALL_EXP_TASK 0x2c04c8UL //Access:RW DataWidth:0x10 // For stop all expiration, per each task type (8 types), configuration of the applicable client out interface that the stop all expiration command is sent to. The client out decoding is : 00 - XCM, 01 - TCM, 10 - UCM, 11 - reserved. Bits [1:0] - client out for type 0, Bits [3:2] - client out for type 1, Bits [5:4] - client out for type 2, Bits [7:6] - client out for type 3, Bits [9:8] - client out for type 4, Bits [11:10] - client out for type 5, Bits [13:12] - client out for type 6, Bits [15:14] - client out for type 7.
-#define TM_REG_LOGICAL_0_CONN_THRESH_SEL 0x2c04ccUL //Access:RW DataWidth:0x20 // For logical client 0, per each connection type (8 types), configuration of the threshold on the nearest expiration for sending write command to host. The threshold decoding is : 00 - No threshold; Command to the host is set without checking threshold, 01 - Threshold according to global configuration conn_timer_threshold_0, 10 - Threshold according to global configuration conn_timer_threshold_1, 11 - Threshold according to global configuration conn_timer_threshold_2. Bits [1:0] - threshold selection for type 0, Bits [3:2] - threshold selection for type 1, Bits [5:4] - threshold selection for type 2, Bits [7:6] - threshold selection for type 3, Bits [9:8] - threshold selection for type 4, Bits [11:10] - threshold selection for type 5, Bits [13:12] - threshold selection for type 6, Bits [15:14] - threshold selection for type 7, Bits [17:16] - threshold selection for type 8, Bits [19:18] - threshold selection for type 9, Bits [21:20] - threshold selection for type 10, Bits [23:22] - threshold selection for type 11, Bits [25:24] - threshold selection for type 12, Bits [27:26] - threshold selection for type 13, Bits [29:28] - threshold selection for type 14, Bits [31:30] - threshold selection for type 15.
-#define TM_REG_LOGICAL_1_CONN_THRESH_SEL 0x2c04d0UL //Access:RW DataWidth:0x20 // For logical client 1, per each connection type (8 types), configuration of the threshold on the nearest expiration for sending write command to host. The threshold decoding is : 00 - No threshold; Command to the host is set without checking threshold, 01 - Threshold according to global configuration conn_timer_threshold_0, 10 - Threshold according to global configuration conn_timer_threshold_1, 11 - Threshold according to global configuration conn_timer_threshold_2. Bits [1:0] - threshold selection for type 0, Bits [3:2] - threshold selection for type 1, Bits [5:4] - threshold selection for type 2, Bits [7:6] - threshold selection for type 3, Bits [9:8] - threshold selection for type 4, Bits [11:10] - threshold selection for type 5, Bits [13:12] - threshold selection for type 6, Bits [15:14] - threshold selection for type 7, Bits [17:16] - threshold selection for type 8, Bits [19:18] - threshold selection for type 9, Bits [21:20] - threshold selection for type 10, Bits [23:22] - threshold selection for type 11, Bits [25:24] - threshold selection for type 12, Bits [27:26] - threshold selection for type 13, Bits [29:28] - threshold selection for type 14, Bits [31:30] - threshold selection for type 15.
-#define TM_REG_LOGICAL_2_CONN_THRESH_SEL 0x2c04d4UL //Access:RW DataWidth:0x20 // For logical client 2, per each connection type (8 types), configuration of the threshold on the nearest expiration for sending write command to host. The threshold decoding is : 00 - No threshold; Command to the host is set without checking threshold, 01 - Threshold according to global configuration conn_timer_threshold_0, 10 - Threshold according to global configuration conn_timer_threshold_1, 11 - Threshold according to global configuration conn_timer_threshold_2. Bits [1:0] - threshold selection for type 0, Bits [3:2] - threshold selection for type 1, Bits [5:4] - threshold selection for type 2, Bits [7:6] - threshold selection for type 3, Bits [9:8] - threshold selection for type 4, Bits [11:10] - threshold selection for type 5, Bits [13:12] - threshold selection for type 6, Bits [15:14] - threshold selection for type 7, Bits [17:16] - threshold selection for type 8, Bits [19:18] - threshold selection for type 9, Bits [21:20] - threshold selection for type 10, Bits [23:22] - threshold selection for type 11, Bits [25:24] - threshold selection for type 12, Bits [27:26] - threshold selection for type 13, Bits [29:28] - threshold selection for type 14, Bits [31:30] - threshold selection for type 15.
+#define TM_REG_LOGICAL_0_CONN_THRESH_SEL 0x2c04ccUL //Access:RW DataWidth:0x20 // For logical client 0, per each connection type (16 types), configuration of the threshold on the nearest expiration for sending write command to host. The threshold decoding is : 00 - No threshold; Command to the host is set without checking threshold, 01 - Threshold according to global configuration conn_timer_threshold_0, 10 - Threshold according to global configuration conn_timer_threshold_1, 11 - Threshold according to global configuration conn_timer_threshold_2. Bits [1:0] - threshold selection for type 0, Bits [3:2] - threshold selection for type 1, Bits [5:4] - threshold selection for type 2, Bits [7:6] - threshold selection for type 3, Bits [9:8] - threshold selection for type 4, Bits [11:10] - threshold selection for type 5, Bits [13:12] - threshold selection for type 6, Bits [15:14] - threshold selection for type 7, Bits [17:16] - threshold selection for type 8, Bits [19:18] - threshold selection for type 9, Bits [21:20] - threshold selection for type 10, Bits [23:22] - threshold selection for type 11, Bits [25:24] - threshold selection for type 12, Bits [27:26] - threshold selection for type 13, Bits [29:28] - threshold selection for type 14, Bits [31:30] - threshold selection for type 15.
+#define TM_REG_LOGICAL_1_CONN_THRESH_SEL 0x2c04d0UL //Access:RW DataWidth:0x20 // For logical client 1, per each connection type (16 types), configuration of the threshold on the nearest expiration for sending write command to host. The threshold decoding is : 00 - No threshold; Command to the host is set without checking threshold, 01 - Threshold according to global configuration conn_timer_threshold_0, 10 - Threshold according to global configuration conn_timer_threshold_1, 11 - Threshold according to global configuration conn_timer_threshold_2. Bits [1:0] - threshold selection for type 0, Bits [3:2] - threshold selection for type 1, Bits [5:4] - threshold selection for type 2, Bits [7:6] - threshold selection for type 3, Bits [9:8] - threshold selection for type 4, Bits [11:10] - threshold selection for type 5, Bits [13:12] - threshold selection for type 6, Bits [15:14] - threshold selection for type 7, Bits [17:16] - threshold selection for type 8, Bits [19:18] - threshold selection for type 9, Bits [21:20] - threshold selection for type 10, Bits [23:22] - threshold selection for type 11, Bits [25:24] - threshold selection for type 12, Bits [27:26] - threshold selection for type 13, Bits [29:28] - threshold selection for type 14, Bits [31:30] - threshold selection for type 15.
+#define TM_REG_LOGICAL_2_CONN_THRESH_SEL 0x2c04d4UL //Access:RW DataWidth:0x20 // For logical client 2, per each connection type (16 types), configuration of the threshold on the nearest expiration for sending write command to host. The threshold decoding is : 00 - No threshold; Command to the host is set without checking threshold, 01 - Threshold according to global configuration conn_timer_threshold_0, 10 - Threshold according to global configuration conn_timer_threshold_1, 11 - Threshold according to global configuration conn_timer_threshold_2. Bits [1:0] - threshold selection for type 0, Bits [3:2] - threshold selection for type 1, Bits [5:4] - threshold selection for type 2, Bits [7:6] - threshold selection for type 3, Bits [9:8] - threshold selection for type 4, Bits [11:10] - threshold selection for type 5, Bits [13:12] - threshold selection for type 6, Bits [15:14] - threshold selection for type 7, Bits [17:16] - threshold selection for type 8, Bits [19:18] - threshold selection for type 9, Bits [21:20] - threshold selection for type 10, Bits [23:22] - threshold selection for type 11, Bits [25:24] - threshold selection for type 12, Bits [27:26] - threshold selection for type 13, Bits [29:28] - threshold selection for type 14, Bits [31:30] - threshold selection for type 15.
#define TM_REG_LOGICAL_0_TASK_THRESH_SEL 0x2c04d8UL //Access:RW DataWidth:0x10 // For logical client 0, per each task type (8 types), configuration of the threshold on the nearest expiration for sending write command to host. The threshold decoding is : 00 - No threshold; Command to the host is set without checking threshold, 01 - Threshold according to global configuration conn_timer_threshold_0, 10 - Threshold according to global configuration conn_timer_threshold_1, 11 - Threshold according to global configuration conn_timer_threshold_2. Bits [1:0] - threshold selection for type 0, Bits [3:2] - threshold selection for type 1, Bits [5:4] - threshold selection for type 2, Bits [7:6] - threshold selection for type 3, Bits [9:8] - threshold selection for type 4, Bits [11:10] - threshold selection for type 5, Bits [13:12] - threshold selection for type 6, Bits [15:14] - threshold selection for type 7.
#define TM_REG_LOGICAL_1_TASK_THRESH_SEL 0x2c04dcUL //Access:RW DataWidth:0x10 // For logical client 1, per each task type (8 types), configuration of the threshold on the nearest expiration for sending write command to host. The threshold decoding is : 00 - No threshold; Command to the host is set without checking threshold, 01 - Threshold according to global configuration conn_timer_threshold_0, 10 - Threshold according to global configuration conn_timer_threshold_1, 11 - Threshold according to global configuration conn_timer_threshold_2. Bits [1:0] - threshold selection for type 0, Bits [3:2] - threshold selection for type 1, Bits [5:4] - threshold selection for type 2, Bits [7:6] - threshold selection for type 3, Bits [9:8] - threshold selection for type 4, Bits [11:10] - threshold selection for type 5, Bits [13:12] - threshold selection for type 6, Bits [15:14] - threshold selection for type 7.
#define TM_REG_LOGICAL_2_TASK_THRESH_SEL 0x2c04e0UL //Access:RW DataWidth:0x10 // For logical client 2, per each task type (8 types), configuration of the threshold on the nearest expiration for sending write command to host. The threshold decoding is : 00 - No threshold; Command to the host is set without checking threshold, 01 - Threshold according to global configuration conn_timer_threshold_0, 10 - Threshold according to global configuration conn_timer_threshold_1, 11 - Threshold according to global configuration conn_timer_threshold_2. Bits [1:0] - threshold selection for type 0, Bits [3:2] - threshold selection for type 1, Bits [5:4] - threshold selection for type 2, Bits [7:6] - threshold selection for type 3, Bits [9:8] - threshold selection for type 4, Bits [11:10] - threshold selection for type 5, Bits [13:12] - threshold selection for type 6, Bits [15:14] - threshold selection for type 7.
@@ -45692,12 +46477,36 @@
#define TCFC_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define TCFC_REG_INT_STS_CLR_0_EXE_ERROR (0x1<<1) // Interrupt indicating that an execution error has occurred.
#define TCFC_REG_INT_STS_CLR_0_EXE_ERROR_SHIFT 1
-#define TCFC_REG_PRTY_MASK_H_0_BB_K2 0x2d0204UL //Access:RW DataWidth:0x2 // Multi Field Register.
+#define TCFC_REG_PRTY_MASK_H_0 0x2d0204UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define TCFC_REG_PRTY_MASK_H_0_MEM003_I_ECC1_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: TCFC_REG_PRTY_STS_H_0.MEM003_I_ECC1_RF_INT .
+ #define TCFC_REG_PRTY_MASK_H_0_MEM003_I_ECC1_RF_INT_E5_SHIFT 0
+ #define TCFC_REG_PRTY_MASK_H_0_MEM003_I_ECC2_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: TCFC_REG_PRTY_STS_H_0.MEM003_I_ECC2_RF_INT .
+ #define TCFC_REG_PRTY_MASK_H_0_MEM003_I_ECC2_RF_INT_E5_SHIFT 1
#define TCFC_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TCFC_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define TCFC_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define TCFC_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: TCFC_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define TCFC_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 2
#define TCFC_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: TCFC_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define TCFC_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define TCFC_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: TCFC_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define TCFC_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 3
+#define TCFC_REG_MEM_ECC_ENABLE_0_E5 0x2d0210UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define TCFC_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC1_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance tcfc.i_cfc_core.i_lc_que_ram.i_ecc1 in module cfc_lc_que_ram
+ #define TCFC_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC1_EN_E5_SHIFT 0
+ #define TCFC_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC2_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance tcfc.i_cfc_core.i_lc_que_ram.i_ecc2 in module cfc_lc_que_ram
+ #define TCFC_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC2_EN_E5_SHIFT 1
+#define TCFC_REG_MEM_ECC_PARITY_ONLY_0_E5 0x2d0214UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define TCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC1_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance tcfc.i_cfc_core.i_lc_que_ram.i_ecc1 in module cfc_lc_que_ram
+ #define TCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC1_PRTY_E5_SHIFT 0
+ #define TCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC2_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance tcfc.i_cfc_core.i_lc_que_ram.i_ecc2 in module cfc_lc_que_ram
+ #define TCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC2_PRTY_E5_SHIFT 1
+#define TCFC_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0x2d0218UL //Access:RC DataWidth:0x2 // Multi Field Register.
+ #define TCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC1_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance tcfc.i_cfc_core.i_lc_que_ram.i_ecc1 in module cfc_lc_que_ram
+ #define TCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC1_CORRECT_E5_SHIFT 0
+ #define TCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC2_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance tcfc.i_cfc_core.i_lc_que_ram.i_ecc2 in module cfc_lc_que_ram
+ #define TCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC2_CORRECT_E5_SHIFT 1
#define TCFC_REG_MEM_ECC_EVENTS_BB_K2 0x2d0210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define TCFC_REG_MEM_ECC_EVENTS_E5 0x2d021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define TCFC_REG_LC_BLOCKED 0x2d0400UL //Access:RC DataWidth:0x20 // Statistics register that counts cycles in which load context requests were blocked.
#define TCFC_REG_TID_LOCK_INC_STAT 0x2d0404UL //Access:RC DataWidth:0x20 // This statistic counts the number of cycles in which a Primary Lock condition exists when it was caused by an Increment command on a previously locked LTID. Note that this counts the number of cycles in which this condition exists, not the number of times it occurred.
#define TCFC_REG_TID_LOCK_LOCK_STAT 0x2d0408UL //Access:RC DataWidth:0x20 // This statistic counts the number of cycles in which a Primary Lock condition exists when it was caused by an Lock command on a previously locked LTID. Note that this counts the number of cycles in which this condition exists, not the number of times it occurred.
@@ -45741,7 +46550,8 @@
#define TCFC_REG_ARBITERS_REG_SP_AC_INC (0x1<<5) // When set activity counter increment arbiter will work in strict priority.
#define TCFC_REG_ARBITERS_REG_SP_AC_INC_SHIFT 5
#define TCFC_REG_LCREQ_WEIGHTS 0x2d0580UL //Access:RW DataWidth:0x3 // This field allows changing the priorities of the weighted-round-robin arbiter which selects which CFC load client should be served next.
-#define TCFC_REG_LCREQ_WEIGHTS_SIZE 14
+#define TCFC_REG_LCREQ_WEIGHTS_SIZE_BB_K2 14
+#define TCFC_REG_LCREQ_WEIGHTS_SIZE_E5 13
#define TCFC_REG_DEBUG0 0x2d05c0UL //Access:RW DataWidth:0x17 // Multi Field Register.
#define TCFC_REG_DEBUG0_DISABLE_INPUTS (0x1<<0) // This bit disables the inputs on the CFC.
#define TCFC_REG_DEBUG0_DISABLE_INPUTS_SHIFT 0
@@ -45836,11 +46646,12 @@
#define TCFC_REG_CONTROL0_CCAM_SCRUB_MISS_EN (0x1<<15) // When set to 1 the cid cam miss parity scrubbing feature is enabled.
#define TCFC_REG_CONTROL0_CCAM_SCRUB_MISS_EN_SHIFT 15
#define TCFC_REG_LCREQ_CREDIT 0x2d0740UL //Access:RW DataWidth:0x6 // Set the initial credit for each of the load clients if less than the max is desired.
-#define TCFC_REG_LCREQ_CREDIT_SIZE 14
+#define TCFC_REG_LCREQ_CREDIT_SIZE_BB_K2 14
+#define TCFC_REG_LCREQ_CREDIT_SIZE_E5 13
#define TCFC_REG_PRSRESP_CREDIT 0x2d0780UL //Access:RW DataWidth:0x5 // Set the initial credit for the parser response interface if less than the max is desired.
#define TCFC_REG_SEARCH_CREDIT 0x2d0784UL //Access:RW DataWidth:0x5 // Set the initial credit for the searcher interface if less than the max is desired.
-#define TCFC_REG_CDULD_CREDIT 0x2d0788UL //Access:RW DataWidth:0x6 // Set the initial credit for the CDU load interface if less than the max is desired.
-#define TCFC_REG_CDUWB_CREDIT 0x2d078cUL //Access:RW DataWidth:0x6 // Set the initial credit for the CDU write-back interface if less than the max is desired.
+#define TCFC_REG_CDULD_CREDIT 0x2d0788UL //Access:RW DataWidth:0x7 // Set the initial credit for the CDU load interface if less than the max is desired.
+#define TCFC_REG_CDUWB_CREDIT 0x2d078cUL //Access:RW DataWidth:0x7 // Set the initial credit for the CDU write-back interface if less than the max is desired.
#define TCFC_REG_FLOAD_RGN_MSK 0x2d07a0UL //Access:RW DataWidth:0x8 // Array of indirect registers defines the forced load regions per type. Applicable only in the TCFC.
#define TCFC_REG_FLOAD_RGN_MSK_SIZE 8
#define TCFC_REG_LL_POLICY_CFG 0x2d0800UL //Access:RW DataWidth:0x4 // Multi Field Register.
@@ -45982,15 +46793,47 @@
#define CCFC_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define CCFC_REG_INT_STS_CLR_0_EXE_ERROR (0x1<<1) // Interrupt indicating that an execution error has occurred.
#define CCFC_REG_INT_STS_CLR_0_EXE_ERROR_SHIFT 1
-#define CCFC_REG_PRTY_MASK_H_0_BB_K2 0x2e0204UL //Access:RW DataWidth:0x2 // Multi Field Register.
+#define CCFC_REG_PRTY_MASK_H_0 0x2e0204UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define CCFC_REG_PRTY_MASK_H_0_MEM003_I_ECC1_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: CCFC_REG_PRTY_STS_H_0.MEM003_I_ECC1_RF_INT .
+ #define CCFC_REG_PRTY_MASK_H_0_MEM003_I_ECC1_RF_INT_E5_SHIFT 0
+ #define CCFC_REG_PRTY_MASK_H_0_MEM003_I_ECC2_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: CCFC_REG_PRTY_STS_H_0.MEM003_I_ECC2_RF_INT .
+ #define CCFC_REG_PRTY_MASK_H_0_MEM003_I_ECC2_RF_INT_E5_SHIFT 1
#define CCFC_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: CCFC_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
#define CCFC_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2_SHIFT 0
+ #define CCFC_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_E5 (0x1<<2) // This bit masks, when set, the Parity bit: CCFC_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
+ #define CCFC_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_E5_SHIFT 2
+ #define CCFC_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: CCFC_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define CCFC_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 3
#define CCFC_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: CCFC_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define CCFC_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 1
-#define CCFC_REG_MEM_ECC_ENABLE_0_BB_K2 0x2e0210UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance ccfc.i_cfc_core.CCFC_STR_CAM_GEN_IF.i_cfc_sinfo_ram.i_ecc in module cfc_sinfo_ram
-#define CCFC_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x2e0214UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance ccfc.i_cfc_core.CCFC_STR_CAM_GEN_IF.i_cfc_sinfo_ram.i_ecc in module cfc_sinfo_ram
-#define CCFC_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x2e0218UL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance ccfc.i_cfc_core.CCFC_STR_CAM_GEN_IF.i_cfc_sinfo_ram.i_ecc in module cfc_sinfo_ram
-#define CCFC_REG_MEM_ECC_EVENTS_BB_K2 0x2e021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define CCFC_REG_MEM_ECC_ENABLE_0 0x2e0210UL //Access:RW DataWidth:0x3 // Multi Field Register.
+ #define CCFC_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC1_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance ccfc.i_cfc_core.i_lc_que_ram.i_ecc1 in module cfc_lc_que_ram
+ #define CCFC_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC1_EN_E5_SHIFT 0
+ #define CCFC_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC2_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance ccfc.i_cfc_core.i_lc_que_ram.i_ecc2 in module cfc_lc_que_ram
+ #define CCFC_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC2_EN_E5_SHIFT 1
+ #define CCFC_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_E5 (0x1<<2) // Enable ECC for memory ecc instance ccfc.i_cfc_core.CCFC_STR_CAM_GEN_IF.i_cfc_sinfo_ram.i_ecc in module cfc_sinfo_ram
+ #define CCFC_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_E5_SHIFT 2
+ #define CCFC_REG_MEM_ECC_ENABLE_0_MEM_ECC_ENABLE_0_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance ccfc.i_cfc_core.CCFC_STR_CAM_GEN_IF.i_cfc_sinfo_ram.i_ecc in module cfc_sinfo_ram
+ #define CCFC_REG_MEM_ECC_ENABLE_0_MEM_ECC_ENABLE_0_BB_K2_SHIFT 0
+#define CCFC_REG_MEM_ECC_PARITY_ONLY_0 0x2e0214UL //Access:RW DataWidth:0x3 // Multi Field Register.
+ #define CCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC1_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance ccfc.i_cfc_core.i_lc_que_ram.i_ecc1 in module cfc_lc_que_ram
+ #define CCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC1_PRTY_E5_SHIFT 0
+ #define CCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC2_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance ccfc.i_cfc_core.i_lc_que_ram.i_ecc2 in module cfc_lc_que_ram
+ #define CCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC2_PRTY_E5_SHIFT 1
+ #define CCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_E5 (0x1<<2) // Set parity only for memory ecc instance ccfc.i_cfc_core.CCFC_STR_CAM_GEN_IF.i_cfc_sinfo_ram.i_ecc in module cfc_sinfo_ram
+ #define CCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_E5_SHIFT 2
+ #define CCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM_ECC_PARITY_ONLY_0_BB_K2 (0x1<<0) // Set parity only for memory ecc instance ccfc.i_cfc_core.CCFC_STR_CAM_GEN_IF.i_cfc_sinfo_ram.i_ecc in module cfc_sinfo_ram
+ #define CCFC_REG_MEM_ECC_PARITY_ONLY_0_MEM_ECC_PARITY_ONLY_0_BB_K2_SHIFT 0
+#define CCFC_REG_MEM_ECC_ERROR_CORRECTED_0 0x2e0218UL //Access:RC DataWidth:0x3 // Multi Field Register.
+ #define CCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC1_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance ccfc.i_cfc_core.i_lc_que_ram.i_ecc1 in module cfc_lc_que_ram
+ #define CCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC1_CORRECT_E5_SHIFT 0
+ #define CCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC2_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance ccfc.i_cfc_core.i_lc_que_ram.i_ecc2 in module cfc_lc_que_ram
+ #define CCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC2_CORRECT_E5_SHIFT 1
+ #define CCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance ccfc.i_cfc_core.CCFC_STR_CAM_GEN_IF.i_cfc_sinfo_ram.i_ecc in module cfc_sinfo_ram
+ #define CCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_E5_SHIFT 2
+ #define CCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM_ECC_ERROR_CORRECTED_0_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance ccfc.i_cfc_core.CCFC_STR_CAM_GEN_IF.i_cfc_sinfo_ram.i_ecc in module cfc_sinfo_ram
+ #define CCFC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM_ECC_ERROR_CORRECTED_0_BB_K2_SHIFT 0
+#define CCFC_REG_MEM_ECC_EVENTS 0x2e021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define CCFC_REG_LC_BLOCKED 0x2e0400UL //Access:RC DataWidth:0x20 // Statistics register that counts cycles in which load context requests were blocked.
#define CCFC_REG_TID_LOCK_INC_STAT 0x2e0404UL //Access:RC DataWidth:0x20 // This statistic counts the number of cycles in which a Primary Lock condition exists when it was caused by an Increment command on a previously locked LTID. Note that this counts the number of cycles in which this condition exists, not the number of times it occurred.
#define CCFC_REG_TID_LOCK_LOCK_STAT 0x2e0408UL //Access:RC DataWidth:0x20 // This statistic counts the number of cycles in which a Primary Lock condition exists when it was caused by an Lock command on a previously locked LTID. Note that this counts the number of cycles in which this condition exists, not the number of times it occurred.
@@ -46034,7 +46877,8 @@
#define CCFC_REG_ARBITERS_REG_SP_AC_INC (0x1<<5) // When set activity counter increment arbiter will work in strict priority.
#define CCFC_REG_ARBITERS_REG_SP_AC_INC_SHIFT 5
#define CCFC_REG_LCREQ_WEIGHTS 0x2e0580UL //Access:RW DataWidth:0x3 // This field allows changing the priorities of the weighted-round-robin arbiter which selects which CFC load client should be served next.
-#define CCFC_REG_LCREQ_WEIGHTS_SIZE 14
+#define CCFC_REG_LCREQ_WEIGHTS_SIZE_BB_K2 14
+#define CCFC_REG_LCREQ_WEIGHTS_SIZE_E5 13
#define CCFC_REG_DEBUG0 0x2e05c0UL //Access:RW DataWidth:0x17 // Multi Field Register.
#define CCFC_REG_DEBUG0_DISABLE_INPUTS (0x1<<0) // This bit disables the inputs on the CFC.
#define CCFC_REG_DEBUG0_DISABLE_INPUTS_SHIFT 0
@@ -46129,11 +46973,12 @@
#define CCFC_REG_CONTROL0_CCAM_SCRUB_MISS_EN (0x1<<15) // When set to 1 the cid cam miss parity scrubbing feature is enabled.
#define CCFC_REG_CONTROL0_CCAM_SCRUB_MISS_EN_SHIFT 15
#define CCFC_REG_LCREQ_CREDIT 0x2e0740UL //Access:RW DataWidth:0x6 // Set the initial credit for each of the load clients if less than the max is desired.
-#define CCFC_REG_LCREQ_CREDIT_SIZE 14
+#define CCFC_REG_LCREQ_CREDIT_SIZE_BB_K2 14
+#define CCFC_REG_LCREQ_CREDIT_SIZE_E5 13
#define CCFC_REG_PRSRESP_CREDIT 0x2e0780UL //Access:RW DataWidth:0x5 // Set the initial credit for the parser response interface if less than the max is desired.
#define CCFC_REG_SEARCH_CREDIT 0x2e0784UL //Access:RW DataWidth:0x5 // Set the initial credit for the searcher interface if less than the max is desired.
-#define CCFC_REG_CDULD_CREDIT 0x2e0788UL //Access:RW DataWidth:0x6 // Set the initial credit for the CDU load interface if less than the max is desired.
-#define CCFC_REG_CDUWB_CREDIT 0x2e078cUL //Access:RW DataWidth:0x6 // Set the initial credit for the CDU write-back interface if less than the max is desired.
+#define CCFC_REG_CDULD_CREDIT 0x2e0788UL //Access:RW DataWidth:0x7 // Set the initial credit for the CDU load interface if less than the max is desired.
+#define CCFC_REG_CDUWB_CREDIT 0x2e078cUL //Access:RW DataWidth:0x7 // Set the initial credit for the CDU write-back interface if less than the max is desired.
#define CCFC_REG_FLOAD_RGN_MSK 0x2e07a0UL //Access:RW DataWidth:0x8 // Array of indirect registers defines the forced load regions per type. Applicable only in the TCFC.
#define CCFC_REG_FLOAD_RGN_MSK_SIZE 8
#define CCFC_REG_LL_POLICY_CFG 0x2e0800UL //Access:RW DataWidth:0x4 // Multi Field Register.
@@ -46444,49 +47289,111 @@
#define QM_REG_PRTY_MASK_BIGRAMLOW_EXT_A_SHIFT 9
#define QM_REG_PRTY_MASK_BASE_ADDRESS_EXT_A (0x1<<10) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS.BASE_ADDRESS_EXT_A .
#define QM_REG_PRTY_MASK_BASE_ADDRESS_EXT_A_SHIFT 10
-#define QM_REG_PRTY_MASK_H_0_BB_K2 0x2f0204UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define QM_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM006_I_ECC_0_RF_INT .
- #define QM_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_BB_K2_SHIFT 0
- #define QM_REG_PRTY_MASK_H_0_MEM006_I_ECC_1_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM006_I_ECC_1_RF_INT .
- #define QM_REG_PRTY_MASK_H_0_MEM006_I_ECC_1_RF_INT_BB_K2_SHIFT 1
- #define QM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
- #define QM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 2
- #define QM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
- #define QM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2_SHIFT 3
- #define QM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
- #define QM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_BB_K2_SHIFT 4
- #define QM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM037_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_BB_K2_SHIFT 5
- #define QM_REG_PRTY_MASK_H_0_MEM036_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM036_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_0_MEM036_I_MEM_PRTY_BB_K2_SHIFT 6
+#define QM_REG_PRTY_MASK_H_0 0x2f0204UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define QM_REG_PRTY_MASK_H_0_MEM004_I_ECC_0_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM004_I_ECC_0_RF_INT .
+ #define QM_REG_PRTY_MASK_H_0_MEM004_I_ECC_0_RF_INT_E5_SHIFT 0
+ #define QM_REG_PRTY_MASK_H_0_MEM004_I_ECC_1_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM004_I_ECC_1_RF_INT .
+ #define QM_REG_PRTY_MASK_H_0_MEM004_I_ECC_1_RF_INT_E5_SHIFT 1
+ #define QM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_E5 (0x1<<2) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM003_I_ECC_0_RF_INT .
+ #define QM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_E5_SHIFT 2
+ #define QM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM003_I_ECC_1_RF_INT .
+ #define QM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_E5_SHIFT 3
+ #define QM_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_E5 (0x1<<4) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
+ #define QM_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_E5_SHIFT 4
+ #define QM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5_SHIFT 5
+ #define QM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5_SHIFT 6
+ #define QM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5_SHIFT 7
+ #define QM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5_SHIFT 8
+ #define QM_REG_PRTY_MASK_H_0_MEM040_I_MEM_PRTY (0x1<<9) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM040_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM040_I_MEM_PRTY_SHIFT 9
#define QM_REG_PRTY_MASK_H_0_MEM039_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM039_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM039_I_MEM_PRTY_BB_K2_SHIFT 7
- #define QM_REG_PRTY_MASK_H_0_MEM038_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM038_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_0_MEM038_I_MEM_PRTY_BB_K2_SHIFT 8
- #define QM_REG_PRTY_MASK_H_0_MEM040_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM040_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_0_MEM040_I_MEM_PRTY_BB_K2_SHIFT 9
+ #define QM_REG_PRTY_MASK_H_0_MEM039_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM039_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM039_I_MEM_PRTY_E5_SHIFT 10
+ #define QM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5_SHIFT 11
+ #define QM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_E5_SHIFT 12
+ #define QM_REG_PRTY_MASK_H_0_MEM044_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM044_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM044_I_MEM_PRTY_E5_SHIFT 13
#define QM_REG_PRTY_MASK_H_0_MEM042_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM042_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM042_I_MEM_PRTY_BB_K2_SHIFT 10
+ #define QM_REG_PRTY_MASK_H_0_MEM042_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM042_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM042_I_MEM_PRTY_E5_SHIFT 14
#define QM_REG_PRTY_MASK_H_0_MEM041_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM041_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM041_I_MEM_PRTY_BB_K2_SHIFT 11
+ #define QM_REG_PRTY_MASK_H_0_MEM041_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM041_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM041_I_MEM_PRTY_E5_SHIFT 15
+ #define QM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5_SHIFT 16
+ #define QM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_BB_K2_SHIFT 26
+ #define QM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_E5_SHIFT 17
+ #define QM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_E5_SHIFT 18
+ #define QM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_E5_SHIFT 19
+ #define QM_REG_PRTY_MASK_H_0_MEM046_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM046_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM046_I_MEM_PRTY_E5_SHIFT 20
+ #define QM_REG_PRTY_MASK_H_0_MEM045_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM045_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM045_I_MEM_PRTY_E5_SHIFT 21
#define QM_REG_PRTY_MASK_H_0_MEM056_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM056_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM056_I_MEM_PRTY_BB_K2_SHIFT 12
+ #define QM_REG_PRTY_MASK_H_0_MEM056_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM056_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM056_I_MEM_PRTY_E5_SHIFT 22
#define QM_REG_PRTY_MASK_H_0_MEM055_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM055_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM055_I_MEM_PRTY_BB_K2_SHIFT 13
+ #define QM_REG_PRTY_MASK_H_0_MEM055_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM055_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM055_I_MEM_PRTY_E5_SHIFT 23
#define QM_REG_PRTY_MASK_H_0_MEM053_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM053_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM053_I_MEM_PRTY_BB_K2_SHIFT 14
+ #define QM_REG_PRTY_MASK_H_0_MEM053_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM053_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM053_I_MEM_PRTY_E5_SHIFT 24
#define QM_REG_PRTY_MASK_H_0_MEM054_I_MEM_PRTY_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM054_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM054_I_MEM_PRTY_BB_K2_SHIFT 15
+ #define QM_REG_PRTY_MASK_H_0_MEM054_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM054_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM054_I_MEM_PRTY_E5_SHIFT 25
#define QM_REG_PRTY_MASK_H_0_MEM057_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM057_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM057_I_MEM_PRTY_BB_K2_SHIFT 16
+ #define QM_REG_PRTY_MASK_H_0_MEM057_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM057_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM057_I_MEM_PRTY_E5_SHIFT 26
#define QM_REG_PRTY_MASK_H_0_MEM058_I_MEM_PRTY_BB_K2 (0x1<<17) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM058_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM058_I_MEM_PRTY_BB_K2_SHIFT 17
+ #define QM_REG_PRTY_MASK_H_0_MEM058_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM058_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM058_I_MEM_PRTY_E5_SHIFT 27
#define QM_REG_PRTY_MASK_H_0_MEM062_I_MEM_PRTY_BB_K2 (0x1<<18) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM062_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM062_I_MEM_PRTY_BB_K2_SHIFT 18
+ #define QM_REG_PRTY_MASK_H_0_MEM062_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM062_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM062_I_MEM_PRTY_E5_SHIFT 28
#define QM_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_BB_K2 (0x1<<19) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM061_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_BB_K2_SHIFT 19
+ #define QM_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM061_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_E5_SHIFT 29
#define QM_REG_PRTY_MASK_H_0_MEM059_I_MEM_PRTY_BB_K2 (0x1<<20) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM059_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM059_I_MEM_PRTY_BB_K2_SHIFT 20
+ #define QM_REG_PRTY_MASK_H_0_MEM059_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM059_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM059_I_MEM_PRTY_E5_SHIFT 30
+ #define QM_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM006_I_ECC_0_RF_INT .
+ #define QM_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_BB_K2_SHIFT 0
+ #define QM_REG_PRTY_MASK_H_0_MEM006_I_ECC_1_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM006_I_ECC_1_RF_INT .
+ #define QM_REG_PRTY_MASK_H_0_MEM006_I_ECC_1_RF_INT_BB_K2_SHIFT 1
+ #define QM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
+ #define QM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 2
+ #define QM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
+ #define QM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2_SHIFT 3
+ #define QM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
+ #define QM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_BB_K2_SHIFT 4
+ #define QM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM037_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define QM_REG_PRTY_MASK_H_0_MEM036_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM036_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM036_I_MEM_PRTY_BB_K2_SHIFT 6
+ #define QM_REG_PRTY_MASK_H_0_MEM038_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM038_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_0_MEM038_I_MEM_PRTY_BB_K2_SHIFT 8
#define QM_REG_PRTY_MASK_H_0_MEM060_I_MEM_PRTY_BB_K2 (0x1<<21) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM060_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM060_I_MEM_PRTY_BB_K2_SHIFT 21
#define QM_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_BB_K2 (0x1<<22) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM063_I_MEM_PRTY .
@@ -46497,8 +47404,6 @@
#define QM_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_BB_K2_SHIFT 24
#define QM_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_BB_K2_SHIFT 25
- #define QM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_BB_K2_SHIFT 26
#define QM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_BB_K2_SHIFT 27
#define QM_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM034_I_MEM_PRTY .
@@ -46507,23 +47412,103 @@
#define QM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_BB_K2_SHIFT 29
#define QM_REG_PRTY_MASK_H_0_MEM051_I_MEM_PRTY_BB_K2 (0x1<<30) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_0.MEM051_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_0_MEM051_I_MEM_PRTY_BB_K2_SHIFT 30
-#define QM_REG_PRTY_MASK_H_1_BB_K2 0x2f0214UL //Access:RW DataWidth:0x1f // Multi Field Register.
+#define QM_REG_PRTY_MASK_H_1 0x2f0214UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define QM_REG_PRTY_MASK_H_1_MEM060_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM060_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM060_I_MEM_PRTY_E5_SHIFT 0
+ #define QM_REG_PRTY_MASK_H_1_MEM063_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM063_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM063_I_MEM_PRTY_E5_SHIFT 1
+ #define QM_REG_PRTY_MASK_H_1_MEM064_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM064_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM064_I_MEM_PRTY_E5_SHIFT 2
+ #define QM_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_BB_K2 (0x1<<19) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM018_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_BB_K2_SHIFT 19
+ #define QM_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM018_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_E5_SHIFT 3
+ #define QM_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_BB_K2_SHIFT 13
+ #define QM_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_E5_SHIFT 4
+ #define QM_REG_PRTY_MASK_H_1_MEM015_I_MEM_PRTY_BB_K2 (0x1<<20) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM015_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM015_I_MEM_PRTY_BB_K2_SHIFT 20
+ #define QM_REG_PRTY_MASK_H_1_MEM015_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM015_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM015_I_MEM_PRTY_E5_SHIFT 5
+ #define QM_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM016_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_BB_K2_SHIFT 14
+ #define QM_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM016_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_E5_SHIFT 6
+ #define QM_REG_PRTY_MASK_H_1_MEM019_I_MEM_PRTY_BB_K2 (0x1<<18) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM019_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM019_I_MEM_PRTY_BB_K2_SHIFT 18
+ #define QM_REG_PRTY_MASK_H_1_MEM019_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM019_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM019_I_MEM_PRTY_E5_SHIFT 7
+ #define QM_REG_PRTY_MASK_H_1_MEM020_I_MEM_PRTY_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM020_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM020_I_MEM_PRTY_BB_K2_SHIFT 26
+ #define QM_REG_PRTY_MASK_H_1_MEM020_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM020_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM020_I_MEM_PRTY_E5_SHIFT 8
+ #define QM_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM043_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_BB_K2_SHIFT 7
+ #define QM_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM043_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_E5_SHIFT 9
+ #define QM_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM051_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_E5_SHIFT 10
#define QM_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM047_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define QM_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM047_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_E5_SHIFT 11
#define QM_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM049_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define QM_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM049_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_E5_SHIFT 12
#define QM_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM048_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_BB_K2_SHIFT 2
+ #define QM_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM048_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_E5_SHIFT 13
#define QM_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM052_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define QM_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM052_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_E5_SHIFT 14
#define QM_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM050_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_BB_K2_SHIFT 4
+ #define QM_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM050_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_E5_SHIFT 15
+ #define QM_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM033_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_E5_SHIFT 16
+ #define QM_REG_PRTY_MASK_H_1_MEM034_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM034_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM034_I_MEM_PRTY_E5_SHIFT 17
+ #define QM_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM031_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_E5_SHIFT 18
+ #define QM_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM032_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_E5_SHIFT 19
+ #define QM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_BB_K2 (0x1<<21) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM014_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_BB_K2_SHIFT 21
+ #define QM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM014_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_E5_SHIFT 20
+ #define QM_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM036_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_E5_SHIFT 21
+ #define QM_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM035_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_E5_SHIFT 22
+ #define QM_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM038_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_E5_SHIFT 23
+ #define QM_REG_PRTY_MASK_H_1_MEM037_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM037_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM037_I_MEM_PRTY_E5_SHIFT 24
+ #define QM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_E5_SHIFT 25
+ #define QM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_E5_SHIFT 26
+ #define QM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_E5_SHIFT 27
+ #define QM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_BB_K2_SHIFT 12
+ #define QM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_E5_SHIFT 28
+ #define QM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM013_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_BB_K2_SHIFT 15
+ #define QM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM013_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_E5_SHIFT 29
+ #define QM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM012_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_E5_SHIFT 30
#define QM_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM045_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_BB_K2_SHIFT 5
#define QM_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM046_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_BB_K2_SHIFT 6
- #define QM_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM043_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_BB_K2_SHIFT 7
#define QM_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM044_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_BB_K2_SHIFT 8
#define QM_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM029_I_MEM_PRTY .
@@ -46532,26 +47517,10 @@
#define QM_REG_PRTY_MASK_H_1_MEM004_I_MEM_PRTY_BB_K2_SHIFT 10
#define QM_REG_PRTY_MASK_H_1_MEM003_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM003_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM003_I_MEM_PRTY_BB_K2_SHIFT 11
- #define QM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_BB_K2_SHIFT 12
- #define QM_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_BB_K2_SHIFT 13
- #define QM_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM016_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_BB_K2_SHIFT 14
- #define QM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM013_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_BB_K2_SHIFT 15
#define QM_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_BB_K2_SHIFT 16
#define QM_REG_PRTY_MASK_H_1_MEM024_I_MEM_PRTY_BB_K2 (0x1<<17) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM024_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM024_I_MEM_PRTY_BB_K2_SHIFT 17
- #define QM_REG_PRTY_MASK_H_1_MEM019_I_MEM_PRTY_BB_K2 (0x1<<18) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM019_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_1_MEM019_I_MEM_PRTY_BB_K2_SHIFT 18
- #define QM_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_BB_K2 (0x1<<19) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM018_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_BB_K2_SHIFT 19
- #define QM_REG_PRTY_MASK_H_1_MEM015_I_MEM_PRTY_BB_K2 (0x1<<20) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM015_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_1_MEM015_I_MEM_PRTY_BB_K2_SHIFT 20
- #define QM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_BB_K2 (0x1<<21) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM014_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_BB_K2_SHIFT 21
#define QM_REG_PRTY_MASK_H_1_MEM023_I_MEM_PRTY_BB_K2 (0x1<<22) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM023_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM023_I_MEM_PRTY_BB_K2_SHIFT 22
#define QM_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_BB_K2 (0x1<<23) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM026_I_MEM_PRTY .
@@ -46560,8 +47529,6 @@
#define QM_REG_PRTY_MASK_H_1_MEM022_I_MEM_PRTY_BB_K2_SHIFT 24
#define QM_REG_PRTY_MASK_H_1_MEM025_I_MEM_PRTY_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM025_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM025_I_MEM_PRTY_BB_K2_SHIFT 25
- #define QM_REG_PRTY_MASK_H_1_MEM020_I_MEM_PRTY_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM020_I_MEM_PRTY .
- #define QM_REG_PRTY_MASK_H_1_MEM020_I_MEM_PRTY_BB_K2_SHIFT 26
#define QM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM008_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_BB_K2_SHIFT 27
#define QM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_0_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM007_I_MEM_PRTY_0 .
@@ -46570,7 +47537,45 @@
#define QM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_1_BB_K2_SHIFT 29
#define QM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_2_BB_K2 (0x1<<30) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_1.MEM007_I_MEM_PRTY_2 .
#define QM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_2_BB_K2_SHIFT 30
-#define QM_REG_PRTY_MASK_H_2_BB_K2 0x2f0224UL //Access:RW DataWidth:0x13 // Multi Field Register.
+#define QM_REG_PRTY_MASK_H_2 0x2f0224UL //Access:RW DataWidth:0x13 // Multi Field Register.
+ #define QM_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM006_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_2_MEM006_I_MEM_PRTY_E5_SHIFT 0
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_0_E5 (0x1<<1) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_0 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_0_E5_SHIFT 1
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_1_E5 (0x1<<2) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_1 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_1_E5_SHIFT 2
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_2_E5 (0x1<<3) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_2 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_2_E5_SHIFT 3
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_3_E5 (0x1<<4) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_3 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_3_E5_SHIFT 4
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_4_E5 (0x1<<5) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_4 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_4_E5_SHIFT 5
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_5_E5 (0x1<<6) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_5 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_5_E5_SHIFT 6
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_6_E5 (0x1<<7) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_6 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_6_E5_SHIFT 7
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_7_E5 (0x1<<8) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_7 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_7_E5_SHIFT 8
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_8_E5 (0x1<<9) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_8 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_8_E5_SHIFT 9
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_9_E5 (0x1<<10) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_9 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_9_E5_SHIFT 10
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_10_E5 (0x1<<11) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_10 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_10_E5_SHIFT 11
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_11_E5 (0x1<<12) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_11 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_11_E5_SHIFT 12
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_12_E5 (0x1<<13) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_12 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_12_E5_SHIFT 13
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_13_E5 (0x1<<14) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_13 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_13_E5_SHIFT 14
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_14_E5 (0x1<<15) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_14 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_14_E5_SHIFT 15
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_15_E5 (0x1<<16) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM005_I_MEM_PRTY_15 .
+ #define QM_REG_PRTY_MASK_H_2_MEM005_I_MEM_PRTY_15_E5_SHIFT 16
+ #define QM_REG_PRTY_MASK_H_2_MEM008_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM008_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_2_MEM008_I_MEM_PRTY_E5_SHIFT 17
+ #define QM_REG_PRTY_MASK_H_2_MEM007_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM007_I_MEM_PRTY .
+ #define QM_REG_PRTY_MASK_H_2_MEM007_I_MEM_PRTY_E5_SHIFT 18
#define QM_REG_PRTY_MASK_H_2_MEM007_I_MEM_PRTY_3_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM007_I_MEM_PRTY_3 .
#define QM_REG_PRTY_MASK_H_2_MEM007_I_MEM_PRTY_3_BB_K2_SHIFT 0
#define QM_REG_PRTY_MASK_H_2_MEM007_I_MEM_PRTY_4_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM007_I_MEM_PRTY_4 .
@@ -46621,7 +47626,17 @@
#define QM_REG_PRTY_MASK_H_2_MEM009_I_MEM_PRTY_BB_SHIFT 10
#define QM_REG_PRTY_MASK_H_2_MEM009_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: QM_REG_PRTY_STS_H_2.MEM009_I_MEM_PRTY .
#define QM_REG_PRTY_MASK_H_2_MEM009_I_MEM_PRTY_K2_SHIFT 18
-#define QM_REG_MEM_ECC_ENABLE_0_BB_K2 0x2f0230UL //Access:RW DataWidth:0x5 // Multi Field Register.
+#define QM_REG_MEM_ECC_ENABLE_0 0x2f0230UL //Access:RW DataWidth:0x5 // Multi Field Register.
+ #define QM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_0_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_0 in module qm_mem_bigram_tx_512pqtx
+ #define QM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_0_EN_E5_SHIFT 0
+ #define QM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_1_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_1 in module qm_mem_bigram_tx_512pqtx
+ #define QM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_1_EN_E5_SHIFT 1
+ #define QM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_E5 (0x1<<2) // Enable ECC for memory ecc instance qm.QM_MEM_BIGRAM_OTHER_128PQOTHER_IF.i_qm_mem_bigram_other.i_ecc_0 in module qm_mem_bigram_other_128pqother
+ #define QM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_E5_SHIFT 2
+ #define QM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance qm.QM_MEM_BIGRAM_OTHER_128PQOTHER_IF.i_qm_mem_bigram_other.i_ecc_1 in module qm_mem_bigram_other_128pqother
+ #define QM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_E5_SHIFT 3
+ #define QM_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_E5 (0x1<<4) // Enable ECC for memory ecc instance qm.QM_MEM_PTR_TBL_TX_PQ_512PQTX_IF.i_qm_mem_ptr_tbl_tx_pq.i_ecc in module qm_mem_ptr_tbl_tx_pq_512pqtx
+ #define QM_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_E5_SHIFT 4
#define QM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_0_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_0 in module qm_mem_bigram_tx_512pqtx
#define QM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_0_EN_BB_K2_SHIFT 0
#define QM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_1_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_1 in module qm_mem_bigram_tx_512pqtx
@@ -46632,7 +47647,17 @@
#define QM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2_SHIFT 3
#define QM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_BB_K2 (0x1<<4) // Enable ECC for memory ecc instance qm.QM_MEM_PTR_TBL_TX_PQ_512PQTX_IF.i_qm_mem_ptr_tbl_tx_pq.i_ecc in module qm_mem_ptr_tbl_tx_pq_512pqtx
#define QM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_BB_K2_SHIFT 4
-#define QM_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x2f0234UL //Access:RW DataWidth:0x5 // Multi Field Register.
+#define QM_REG_MEM_ECC_PARITY_ONLY_0 0x2f0234UL //Access:RW DataWidth:0x5 // Multi Field Register.
+ #define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_0_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_0 in module qm_mem_bigram_tx_512pqtx
+ #define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_0_PRTY_E5_SHIFT 0
+ #define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_1_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_1 in module qm_mem_bigram_tx_512pqtx
+ #define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_1_PRTY_E5_SHIFT 1
+ #define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_E5 (0x1<<2) // Set parity only for memory ecc instance qm.QM_MEM_BIGRAM_OTHER_128PQOTHER_IF.i_qm_mem_bigram_other.i_ecc_0 in module qm_mem_bigram_other_128pqother
+ #define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_E5_SHIFT 2
+ #define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance qm.QM_MEM_BIGRAM_OTHER_128PQOTHER_IF.i_qm_mem_bigram_other.i_ecc_1 in module qm_mem_bigram_other_128pqother
+ #define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_E5_SHIFT 3
+ #define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_E5 (0x1<<4) // Set parity only for memory ecc instance qm.QM_MEM_PTR_TBL_TX_PQ_512PQTX_IF.i_qm_mem_ptr_tbl_tx_pq.i_ecc in module qm_mem_ptr_tbl_tx_pq_512pqtx
+ #define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_E5_SHIFT 4
#define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_0_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_0 in module qm_mem_bigram_tx_512pqtx
#define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_0_PRTY_BB_K2_SHIFT 0
#define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_1_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_1 in module qm_mem_bigram_tx_512pqtx
@@ -46643,7 +47668,17 @@
#define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2_SHIFT 3
#define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_BB_K2 (0x1<<4) // Set parity only for memory ecc instance qm.QM_MEM_PTR_TBL_TX_PQ_512PQTX_IF.i_qm_mem_ptr_tbl_tx_pq.i_ecc in module qm_mem_ptr_tbl_tx_pq_512pqtx
#define QM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_BB_K2_SHIFT 4
-#define QM_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x2f0238UL //Access:RC DataWidth:0x5 // Multi Field Register.
+#define QM_REG_MEM_ECC_ERROR_CORRECTED_0 0x2f0238UL //Access:RC DataWidth:0x5 // Multi Field Register.
+ #define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_0_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_0 in module qm_mem_bigram_tx_512pqtx
+ #define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_0_CORRECT_E5_SHIFT 0
+ #define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_1_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_1 in module qm_mem_bigram_tx_512pqtx
+ #define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_1_CORRECT_E5_SHIFT 1
+ #define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance qm.QM_MEM_BIGRAM_OTHER_128PQOTHER_IF.i_qm_mem_bigram_other.i_ecc_0 in module qm_mem_bigram_other_128pqother
+ #define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_E5_SHIFT 2
+ #define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance qm.QM_MEM_BIGRAM_OTHER_128PQOTHER_IF.i_qm_mem_bigram_other.i_ecc_1 in module qm_mem_bigram_other_128pqother
+ #define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_E5_SHIFT 3
+ #define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_E5 (0x1<<4) // Record if a correctable error occurred on memory ecc instance qm.QM_MEM_PTR_TBL_TX_PQ_512PQTX_IF.i_qm_mem_ptr_tbl_tx_pq.i_ecc in module qm_mem_ptr_tbl_tx_pq_512pqtx
+ #define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_E5_SHIFT 4
#define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_0_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_0 in module qm_mem_bigram_tx_512pqtx
#define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_0_CORRECT_BB_K2_SHIFT 0
#define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_1_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance qm.QM_MEM_BIGRAM_TX_512PQTX_IF.i_qm_mem_bigram_tx.i_ecc_1 in module qm_mem_bigram_tx_512pqtx
@@ -46654,7 +47689,7 @@
#define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2_SHIFT 3
#define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_BB_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance qm.QM_MEM_PTR_TBL_TX_PQ_512PQTX_IF.i_qm_mem_ptr_tbl_tx_pq.i_ecc in module qm_mem_ptr_tbl_tx_pq_512pqtx
#define QM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_BB_K2_SHIFT 4
-#define QM_REG_MEM_ECC_EVENTS_BB_K2 0x2f023cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define QM_REG_MEM_ECC_EVENTS 0x2f023cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define QM_REG_WRC_DROP_CNT_0 0x2f0400UL //Access:R DataWidth:0x8 // drop counter per write client fifo i: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X (other); 5 = X (tx).
#define QM_REG_WRC_DROP_CNT_1 0x2f0404UL //Access:R DataWidth:0x8 // drop counter per write client fifo i: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X (other); 5 = X (tx).
#define QM_REG_WRC_DROP_CNT_2 0x2f0408UL //Access:R DataWidth:0x8 // drop counter per write client fifo i: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X (other); 5 = X (tx).
@@ -46773,46 +47808,6 @@
#define QM_REG_QSTATUSOTHER_1 0x2f10c4UL //Access:R DataWidth:0x20 // Current Other queues in pipeline: Queues 0-31 in n=0; Queues 32-63 in n=1;Queues 64-95 in n=2;Queues 96-127 in n=3.
#define QM_REG_QSTATUSOTHER_2_K2_E5 0x2f10c8UL //Access:R DataWidth:0x20 // Current Other queues in pipeline: Queues 0-31 in n=0; Queues 32-63 in n=1;Queues 64-95 in n=2;Queues 96-127 in n=3.
#define QM_REG_QSTATUSOTHER_3_K2_E5 0x2f10ccUL //Access:R DataWidth:0x20 // Current Other queues in pipeline: Queues 0-31 in n=0; Queues 32-63 in n=1;Queues 64-95 in n=2;Queues 96-127 in n=3.
-#define QM_REG_CTXREGCCFC_0 0x2f1120UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_1 0x2f1124UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_2 0x2f1128UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_3 0x2f112cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_4 0x2f1130UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_5 0x2f1134UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_6 0x2f1138UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_7 0x2f113cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_8 0x2f1140UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_9 0x2f1144UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_10 0x2f1148UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_11 0x2f114cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_12 0x2f1150UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_13 0x2f1154UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_14 0x2f1158UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_15 0x2f115cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_16 0x2f1160UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_17 0x2f1164UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_18 0x2f1168UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_19 0x2f116cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_20 0x2f1170UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_21 0x2f1174UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_22 0x2f1178UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_23 0x2f117cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_24 0x2f1180UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_25 0x2f1184UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_26 0x2f1188UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_27 0x2f118cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_28 0x2f1190UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_29 0x2f1194UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_30 0x2f1198UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_31 0x2f119cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_32 0x2f11a0UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_33 0x2f11a4UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_34 0x2f11a8UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_35 0x2f11acUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_36 0x2f11b0UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_37 0x2f11b4UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_38 0x2f11b8UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_CTXREGCCFC_39 0x2f11bcUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
#define QM_REG_CTXREGTCFC_0 0x2f1220UL //Access:RW DataWidth:0x8 // The context regions sent in the TCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, TaskType} (i: bits 2:0 = TaskType, bits 5:3 = CM_ID)
#define QM_REG_CTXREGTCFC_1 0x2f1224UL //Access:RW DataWidth:0x8 // The context regions sent in the TCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, TaskType} (i: bits 2:0 = TaskType, bits 5:3 = CM_ID)
#define QM_REG_CTXREGTCFC_2 0x2f1228UL //Access:RW DataWidth:0x8 // The context regions sent in the TCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, TaskType} (i: bits 2:0 = TaskType, bits 5:3 = CM_ID)
@@ -46853,46 +47848,6 @@
#define QM_REG_CTXREGTCFC_37 0x2f12b4UL //Access:RW DataWidth:0x8 // The context regions sent in the TCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, TaskType} (i: bits 2:0 = TaskType, bits 5:3 = CM_ID)
#define QM_REG_CTXREGTCFC_38 0x2f12b8UL //Access:RW DataWidth:0x8 // The context regions sent in the TCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, TaskType} (i: bits 2:0 = TaskType, bits 5:3 = CM_ID)
#define QM_REG_CTXREGTCFC_39 0x2f12bcUL //Access:RW DataWidth:0x8 // The context regions sent in the TCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, TaskType} (i: bits 2:0 = TaskType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_0 0x2f1320UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_1 0x2f1324UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_2 0x2f1328UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_3 0x2f132cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_4 0x2f1330UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_5 0x2f1334UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_6 0x2f1338UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_7 0x2f133cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_8 0x2f1340UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_9 0x2f1344UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_10 0x2f1348UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_11 0x2f134cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_12 0x2f1350UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_13 0x2f1354UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_14 0x2f1358UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_15 0x2f135cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_16 0x2f1360UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_17 0x2f1364UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_18 0x2f1368UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_19 0x2f136cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_20 0x2f1370UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_21 0x2f1374UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_22 0x2f1378UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_23 0x2f137cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_24 0x2f1380UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_25 0x2f1384UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_26 0x2f1388UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_27 0x2f138cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_28 0x2f1390UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_29 0x2f1394UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_30 0x2f1398UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_31 0x2f139cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_32 0x2f13a0UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_33 0x2f13a4UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_34 0x2f13a8UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_35 0x2f13acUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_36 0x2f13b0UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_37 0x2f13b4UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_38 0x2f13b8UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
-#define QM_REG_ACTCTRINITVALCCFC_39 0x2f13bcUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
#define QM_REG_ACTCTRINITVALTCFC_0 0x2f1420UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, TaskType} (i: bits 2:0 = TaskType, bits 5:3 = CM_ID)
#define QM_REG_ACTCTRINITVALTCFC_1 0x2f1424UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, TaskType} (i: bits 2:0 = TaskType, bits 5:3 = CM_ID)
#define QM_REG_ACTCTRINITVALTCFC_2 0x2f1428UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, TaskType} (i: bits 2:0 = TaskType, bits 5:3 = CM_ID)
@@ -47261,6 +48216,246 @@
#define QM_REG_BASEADDRTXPQ 0x2f6000UL //Access:RW DataWidth:0x14 // The base logical address (in 4096 bytes) of each physical queue. The index I represents the physical queue number.
#define QM_REG_BASEADDRTXPQ_SIZE_BB 448
#define QM_REG_BASEADDRTXPQ_SIZE_K2_E5 512
+#define QM_REG_CTXREGCCFC_0_BB_K2 0x2f1120UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_0_E5 0x2f6800UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_1_BB_K2 0x2f1124UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_1_E5 0x2f6804UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_2_BB_K2 0x2f1128UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_2_E5 0x2f6808UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_3_BB_K2 0x2f112cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_3_E5 0x2f680cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_4_BB_K2 0x2f1130UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_4_E5 0x2f6810UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_5_BB_K2 0x2f1134UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_5_E5 0x2f6814UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_6_BB_K2 0x2f1138UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_6_E5 0x2f6818UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_7_BB_K2 0x2f113cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_7_E5 0x2f681cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_8_BB_K2 0x2f1140UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_8_E5 0x2f6820UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_9_BB_K2 0x2f1144UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_9_E5 0x2f6824UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_10_BB_K2 0x2f1148UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_10_E5 0x2f6828UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_11_BB_K2 0x2f114cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_11_E5 0x2f682cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_12_BB_K2 0x2f1150UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_12_E5 0x2f6830UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_13_BB_K2 0x2f1154UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_13_E5 0x2f6834UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_14_BB_K2 0x2f1158UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_14_E5 0x2f6838UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_15_BB_K2 0x2f115cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_15_E5 0x2f683cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_16_BB_K2 0x2f1160UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_16_E5 0x2f6840UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_17_BB_K2 0x2f1164UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_17_E5 0x2f6844UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_18_BB_K2 0x2f1168UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_18_E5 0x2f6848UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_19_BB_K2 0x2f116cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_19_E5 0x2f684cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_20_BB_K2 0x2f1170UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_20_E5 0x2f6850UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_21_BB_K2 0x2f1174UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_21_E5 0x2f6854UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_22_BB_K2 0x2f1178UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_22_E5 0x2f6858UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_23_BB_K2 0x2f117cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_23_E5 0x2f685cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_24_BB_K2 0x2f1180UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_24_E5 0x2f6860UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_25_BB_K2 0x2f1184UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_25_E5 0x2f6864UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_26_BB_K2 0x2f1188UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_26_E5 0x2f6868UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_27_BB_K2 0x2f118cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_27_E5 0x2f686cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_28_BB_K2 0x2f1190UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_28_E5 0x2f6870UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_29_BB_K2 0x2f1194UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_29_E5 0x2f6874UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_30_BB_K2 0x2f1198UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_30_E5 0x2f6878UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_31_BB_K2 0x2f119cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_31_E5 0x2f687cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_32_BB_K2 0x2f11a0UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_32_E5 0x2f6880UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_33_BB_K2 0x2f11a4UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_33_E5 0x2f6884UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_34_BB_K2 0x2f11a8UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_34_E5 0x2f6888UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_35_BB_K2 0x2f11acUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_35_E5 0x2f688cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_36_BB_K2 0x2f11b0UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_36_E5 0x2f6890UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_37_BB_K2 0x2f11b4UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_37_E5 0x2f6894UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_38_BB_K2 0x2f11b8UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_38_E5 0x2f6898UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_39_BB_K2 0x2f11bcUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_CTXREGCCFC_39_E5 0x2f689cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_40_E5 0x2f68a0UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_41_E5 0x2f68a4UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_42_E5 0x2f68a8UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_43_E5 0x2f68acUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_44_E5 0x2f68b0UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_45_E5 0x2f68b4UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_46_E5 0x2f68b8UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_47_E5 0x2f68bcUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_48_E5 0x2f68c0UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_49_E5 0x2f68c4UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_50_E5 0x2f68c8UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_51_E5 0x2f68ccUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_52_E5 0x2f68d0UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_53_E5 0x2f68d4UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_54_E5 0x2f68d8UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_55_E5 0x2f68dcUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_56_E5 0x2f68e0UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_57_E5 0x2f68e4UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_58_E5 0x2f68e8UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_59_E5 0x2f68ecUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_60_E5 0x2f68f0UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_61_E5 0x2f68f4UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_62_E5 0x2f68f8UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_63_E5 0x2f68fcUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_64_E5 0x2f6900UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_65_E5 0x2f6904UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_66_E5 0x2f6908UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_67_E5 0x2f690cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_68_E5 0x2f6910UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_69_E5 0x2f6914UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_70_E5 0x2f6918UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_71_E5 0x2f691cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_72_E5 0x2f6920UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_73_E5 0x2f6924UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_74_E5 0x2f6928UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_75_E5 0x2f692cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_76_E5 0x2f6930UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_77_E5 0x2f6934UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_78_E5 0x2f6938UL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_CTXREGCCFC_79_E5 0x2f693cUL //Access:RW DataWidth:0x8 // The context regions sent in the CCFC load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_0_BB_K2 0x2f1320UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_0_E5 0x2f6940UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_1_BB_K2 0x2f1324UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_1_E5 0x2f6944UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_2_BB_K2 0x2f1328UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_2_E5 0x2f6948UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_3_BB_K2 0x2f132cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_3_E5 0x2f694cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_4_BB_K2 0x2f1330UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_4_E5 0x2f6950UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_5_BB_K2 0x2f1334UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_5_E5 0x2f6954UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_6_BB_K2 0x2f1338UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_6_E5 0x2f6958UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_7_BB_K2 0x2f133cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_7_E5 0x2f695cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_8_BB_K2 0x2f1340UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_8_E5 0x2f6960UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_9_BB_K2 0x2f1344UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_9_E5 0x2f6964UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_10_BB_K2 0x2f1348UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_10_E5 0x2f6968UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_11_BB_K2 0x2f134cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_11_E5 0x2f696cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_12_BB_K2 0x2f1350UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_12_E5 0x2f6970UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_13_BB_K2 0x2f1354UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_13_E5 0x2f6974UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_14_BB_K2 0x2f1358UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_14_E5 0x2f6978UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_15_BB_K2 0x2f135cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_15_E5 0x2f697cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_16_BB_K2 0x2f1360UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_16_E5 0x2f6980UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_17_BB_K2 0x2f1364UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_17_E5 0x2f6984UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_18_BB_K2 0x2f1368UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_18_E5 0x2f6988UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_19_BB_K2 0x2f136cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_19_E5 0x2f698cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_20_BB_K2 0x2f1370UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_20_E5 0x2f6990UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_21_BB_K2 0x2f1374UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_21_E5 0x2f6994UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_22_BB_K2 0x2f1378UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_22_E5 0x2f6998UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_23_BB_K2 0x2f137cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_23_E5 0x2f699cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_24_BB_K2 0x2f1380UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_24_E5 0x2f69a0UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_25_BB_K2 0x2f1384UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_25_E5 0x2f69a4UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_26_BB_K2 0x2f1388UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_26_E5 0x2f69a8UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_27_BB_K2 0x2f138cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_27_E5 0x2f69acUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_28_BB_K2 0x2f1390UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_28_E5 0x2f69b0UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_29_BB_K2 0x2f1394UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_29_E5 0x2f69b4UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_30_BB_K2 0x2f1398UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_30_E5 0x2f69b8UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_31_BB_K2 0x2f139cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_31_E5 0x2f69bcUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_32_BB_K2 0x2f13a0UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_32_E5 0x2f69c0UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_33_BB_K2 0x2f13a4UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_33_E5 0x2f69c4UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_34_BB_K2 0x2f13a8UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_34_E5 0x2f69c8UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_35_BB_K2 0x2f13acUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_35_E5 0x2f69ccUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_36_BB_K2 0x2f13b0UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_36_E5 0x2f69d0UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_37_BB_K2 0x2f13b4UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_37_E5 0x2f69d4UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_38_BB_K2 0x2f13b8UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_38_E5 0x2f69d8UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_39_BB_K2 0x2f13bcUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 2:0 = ConnType, bits 5:3 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_39_E5 0x2f69dcUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_40_E5 0x2f69e0UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_41_E5 0x2f69e4UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_42_E5 0x2f69e8UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_43_E5 0x2f69ecUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_44_E5 0x2f69f0UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_45_E5 0x2f69f4UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_46_E5 0x2f69f8UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_47_E5 0x2f69fcUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_48_E5 0x2f6a00UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_49_E5 0x2f6a04UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_50_E5 0x2f6a08UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_51_E5 0x2f6a0cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_52_E5 0x2f6a10UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_53_E5 0x2f6a14UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_54_E5 0x2f6a18UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_55_E5 0x2f6a1cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_56_E5 0x2f6a20UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_57_E5 0x2f6a24UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_58_E5 0x2f6a28UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_59_E5 0x2f6a2cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_60_E5 0x2f6a30UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_61_E5 0x2f6a34UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_62_E5 0x2f6a38UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_63_E5 0x2f6a3cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_64_E5 0x2f6a40UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_65_E5 0x2f6a44UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_66_E5 0x2f6a48UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_67_E5 0x2f6a4cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_68_E5 0x2f6a50UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_69_E5 0x2f6a54UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_70_E5 0x2f6a58UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_71_E5 0x2f6a5cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_72_E5 0x2f6a60UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_73_E5 0x2f6a64UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_74_E5 0x2f6a68UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_75_E5 0x2f6a6cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_76_E5 0x2f6a70UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_77_E5 0x2f6a74UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_78_E5 0x2f6a78UL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
+#define QM_REG_ACTCTRINITVALCCFC_79_E5 0x2f6a7cUL //Access:RW DataWidth:0x8 // The activity counter initial increment value sent in the load request; CM_ID: 0 = M; 1 = U; 2 = T; 3 = Y; 4 = X. i = {CM_ID, ConnType} (i: bits 3:0 = ConnType, bits 6:4 = CM_ID)
#define QM_REG_PQFILLLVLTX 0x2f7000UL //Access:RW DataWidth:0x18 // The number of tasks queued for each TX queue. Should be read only access.
#define QM_REG_PQFILLLVLTX_SIZE_BB 448
#define QM_REG_PQFILLLVLTX_SIZE_K2_E5 512
@@ -47337,8 +48532,8 @@
#define RDIF_REG_DEBUG_BUFFER_0_DATA_4 0x300090UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Calculated offset in IO.
#define RDIF_REG_DEBUG_BUFFER_0_DATA_5 0x300094UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Partial DIF/DIX data - referance tag.
#define RDIF_REG_DEBUG_BUFFER_0_DATA_6 0x300098UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Partial DIF/DIX data - [15:0] application tag; [31:0] CRC/checksum.
-#define RDIF_REG_DEBUG_BUFFER_0_DATA_7 0x30009cUL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [31] partial_chksum_overflow ; [30:27] dif_bytes_tx ; [26:23] dif_bytes_rx ; [22:19] last_dif_size; [18] eob_flag ; [17] data_is_dix ; [16] set_id ; [15:13] protocol_id; [12:9] type; [8:0] ltid.
-#define RDIF_REG_DEBUG_BUFFER_0_DATA_8 0x3000a0UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [20:19] dix_size; [18] ni ; [17:16] hi ; [15:13] interval_size ; [12] fwrd_ref ; [11] fwrd_app ; [10] fwrd_guard ; [9] validate_ref ; [8] validate_app ; [7] validate_guard ; [6] crc_seed ; [5:4] protection_type ; [3] set_err_with_eop ; [2] host_guard_is_crc ; [1] initial_ref_tag_valid; [0] err_in_io.
+#define RDIF_REG_DEBUG_BUFFER_0_DATA_7 0x30009cUL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [31:28] dif_bytes_tx ; [27:24] dif_bytes_rx ; [23:20] last_dif_size; [19] eob_flag ; [18] data_is_dix ; [17] set_id ; [16:13] protocol_id; [12:9] type; [8:0] ltid.
+#define RDIF_REG_DEBUG_BUFFER_0_DATA_8 0x3000a0UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. ,[21:20] dix_size; [19] ni ; [18:17] hi ; [16:14] interval_size ; [13] fwrd_ref ; [12] fwrd_app ; [11] fwrd_guard ; [10] validate_ref ; [9] validate_app ; [8] validate_guard ; [7] reserved (formerly crc_seed) ; [6:5] protection_type ; [4] set_err_with_eop ; [3] host_guard_is_crc ; [2] initial_ref_tag_valid; [1] err_in_io,[0] partial_chksum_overflow
#define RDIF_REG_DEBUG_BUFFER_1_DATA_0 0x3000a4UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. TID.
#define RDIF_REG_DEBUG_BUFFER_1_DATA_1 0x3000a8UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Initial referance tag.
#define RDIF_REG_DEBUG_BUFFER_1_DATA_2 0x3000acUL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [15:0] - application tag; [31:16] - application mask.
@@ -47346,14 +48541,15 @@
#define RDIF_REG_DEBUG_BUFFER_1_DATA_4 0x3000b4UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Calculated offset in IO.
#define RDIF_REG_DEBUG_BUFFER_1_DATA_5 0x3000b8UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Partial DIF/DIX data - referance tag.
#define RDIF_REG_DEBUG_BUFFER_1_DATA_6 0x3000bcUL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Partial DIF/DIX data - [15:0] application tag; [31:0] CRC/checksum.
-#define RDIF_REG_DEBUG_BUFFER_1_DATA_7 0x3000c0UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [31] partial_chksum_overflow ; [30:27] dif_bytes_tx ; [26:23] dif_bytes_rx ; [22:19] last_dif_size; [18] eob_flag ; [17] data_is_dix ; [16] set_id ; [15:13] protocol_id; [12:9] type; [8:0] ltid.
-#define RDIF_REG_DEBUG_BUFFER_1_DATA_8 0x3000c4UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [20:19] dix_size; [18] ni ; [17:16] hi ; [15:13] interval_size ; [12] fwrd_ref ; [11] fwrd_app ; [10] fwrd_guard ; [9] validate_ref ; [8] validate_app ; [7] validate_guard ; [6] crc_seed ; [5:4] protection_type ; [3] set_err_with_eop ; [2] host_guard_is_crc ; [1] initial_ref_tag_valid; [0] err_in_io.
+#define RDIF_REG_DEBUG_BUFFER_1_DATA_7 0x3000c0UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [31:28] dif_bytes_tx ; [27:24] dif_bytes_rx ; [23:20] last_dif_size; [19] eob_flag ; [18] data_is_dix ; [17] set_id ; [16:13] protocol_id; [12:9] type; [8:0] ltid.
+#define RDIF_REG_DEBUG_BUFFER_1_DATA_8 0x3000c4UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. ,[21:20] dix_size; [19] ni ; [18:17] hi ; [16:14] interval_size ; [13] fwrd_ref ; [12] fwrd_app ; [11] fwrd_guard ; [10] validate_ref ; [9] validate_app ; [8] validate_guard ; [7] reserved (formerly crc_seed) ; [6:5] protection_type ; [4] set_err_with_eop ; [3] host_guard_is_crc ; [2] initial_ref_tag_valid; [1] err_in_io,[0] partial_chksum_overflow
#define RDIF_REG_DEBUG_DIX_FIFO_EMPTY 0x3000c8UL //Access:R DataWidth:0x1 // Debug: one bit for each protocol ID. 1 = fifo is empty.
#define RDIF_REG_DEBUG_UCM_CREDIT 0x3000ccUL //Access:R DataWidth:0x1 // DEBUG: 0 - no credit; 1 - there is credit.
#define RDIF_REG_DEBUG_UCM_MSG_PENDING 0x3000d0UL //Access:R DataWidth:0x1 // DEBUG: 0 - no message pending; 1 - message is pending (no credit) or waiting for done.
-#define RDIF_REG_DEBUG_FATAL_CONFIG_ERR_INFO 0x3000d4UL //Access:R DataWidth:0x15 // DEBUG: configuration fatal error. [1:0] host interface; [2] network interface; [3] FWRD ref; [4] FWR app; [5] FWRD guard; [6] vlidate ref; [7] validate app; [8] validate guard; [10:9] protocol ID; [19:11] LTID; [20] buffer select.
+#define RDIF_REG_DEBUG_FATAL_CONFIG_ERR_INFO 0x3000d4UL //Access:R DataWidth:0x17 // DEBUG: configuration fatal error. [1:0] host interface; [2] network interface; [3] FWRD ref; [4] FWR app; [5] FWRD guard; [6] vlidate ref; [7] validate app; [8] validate guard; [12:9] protocol ID; [21:13] LTID; [22] buffer select.
#define RDIF_REG_DEBUG_PIPELINE_IDLE 0x3000d8UL //Access:R DataWidth:0x1 // DEBUG: if set there is no valid data in the pipeline.
#define RDIF_REG_STAT_NUM_ERR_INTERVAL_0 0x3000dcUL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 0.
+#define RDIF_REG_E4_BACKWARD_COMPATIBLE_MODE_E5 0x3000e0UL //Access:RW DataWidth:0x1 // When set the REF_MASK and CRC_SEED L1 parameters will betaken from their E4 place and used accordingly. When reset E5 functionality is in effect
#define RDIF_REG_INT_STS 0x300180UL //Access:R DataWidth:0x9 // Multi Field Register.
#define RDIF_REG_INT_STS_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define RDIF_REG_INT_STS_ADDRESS_ERROR_SHIFT 0
@@ -47433,7 +48629,7 @@
#define RDIF_REG_PRTY_MASK 0x300194UL //Access:RW DataWidth:0x2 // Multi Field Register.
#define RDIF_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<1) // This bit masks, when set, the Parity bit: RDIF_REG_PRTY_STS.DATAPATH_REGISTERS .
#define RDIF_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 1
-#define RDIF_REG_DEBUG_ERROR_INFO 0x300400UL //Access:R DataWidth:0x20 // Information on the first 8 DIF errors found. In bits [5:3] of the address represent the error number (0-7). Do not read from address[3:5]=i if debug_error_data_valid[i] isn't set. Bits [2:0] in the address will contain the following data: address[2:0] = 0 - [31:0] calculated reference tag; address[2:0] = 1 - [15:0] calculated application tag; [31:0]; calculated CRC/checksum; address[2:0] = 2 - [31:0] expected reference tag; address[2:0] = 3 - [15:0] expected application tag; [31:0] expected CRC/checksum; address[2:0] = 4 - [31:0] the interval number the error occurred; address[2:0] = 5 - [31:0] TID address[2:0] = 6 - [3:0] - type; [12:4] - LTID; [15:13] protocol ID; [16] set ID; [18:17] host interface; [19] network interface; [22:20] error type ([0] - CRC/checksum; [1] application tag; [2] reference tag); [31:23] reserved; address[2:0] = 7 - reserved.
+#define RDIF_REG_DEBUG_ERROR_INFO 0x300400UL //Access:R DataWidth:0x20 // Information on the first 8 DIF errors found. Only the first errors in the IO will be logged. In bits [5:3] of the address represent the error number (0-7). Do not read from address[3:5]=i if debug_error_data_valid[i] isn't set. Bits [2:0] in the address will contain the following data: address[2:0] = 0 - [31:0] calculated reference tag; address[2:0] = 1 - [15:0] calculated application tag; [31:0]; calculated CRC/checksum; address[2:0] = 2 - [31:0] expected reference tag; address[2:0] = 3 - [15:0] expected application tag; [31:0] expected CRC/checksum; address[2:0] = 4 - [31:0] the interval number the error occurred; address[2:0] = 5 - [31:0] TID address[2:0] = 6 - [3:0] - type; [12:4] - LTID; [16:13] protocol ID; [17] set ID; [19:18] host interface; [20] network interface; [23:21] error type ([0] - CRC/checksum; [1] application tag; [2] reference tag); [31:24] reserved; address[2:0] = 7 - reserved.
#define RDIF_REG_DEBUG_ERROR_INFO_SIZE 64
#define RDIF_REG_DBG_SELECT 0x300500UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define RDIF_REG_DBG_DWORD_ENABLE 0x300504UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
@@ -47444,8 +48640,10 @@
#define RDIF_REG_DBG_OUT_DATA_SIZE 8
#define RDIF_REG_DBG_OUT_VALID 0x300540UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
#define RDIF_REG_DBG_OUT_FRAME 0x300544UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
-#define RDIF_REG_L1_TASK_CONTEXT 0x304000UL //Access:WB DataWidth:0x40 // Task context memory. for TDIF Only 320b are valid. Data order:Field name-Initial reference tag Address offset-0 bits [31:0]; Field name-Application tag value Address offset-0 bits [47:32]; Field name-Application tag mask Address offset-0 bits [63:48]; Field name-Partial CRC value B Address offset-1 bits [15:0]; Field name-Partial checksum value B Address offset-1 bits [31:16]; Field name-Received DIF bytes left B Address offset-1 bits [35:32]; Field name-Transmitted DIF bytes B Address offset-1 bits [39:36]; Field name-Error in IO B Address offset-1 bits [40:40]; Field name-Checksum overflow B Address offset-1 bits [41]; Field name-Reserved Address offset-1 [55:42]; Field name-Ignore application tag for guard Address offset-1 bits [56]; Field name-Initial reference tag valid Address offset-1 bits [57]; Field name-Host Guard type Address offset-1 bits [58]; Field name-Set error with EOP Address offset-1 bits [59]; Field name-Protection type Address offset-1 bits [60]; Field name-CRC seed Address offset-1 bits [62]; Field name-Reserved Address offset-1 bits [63]; Field name-Validate guard Address offset-2 bits [0]; Field name-Validate application tag Address offset-2 bits [1]; Field name-Validate reference tag Address offset-2 bits [2]; Field name-Forward guard Address offset-2 bits [3]; Field name-Forward application tag Address offset-2 bits [4]; Field name-Forward reference tag Address offset-2 bits [5]; Field name-Interval size Address offset-2 bits [8:6]; Field name-Host interface Address offset-2 bits [10:9]; Field name-DIX block size Address offset-2 bits [12:11]; Field name-Network Interface Address offset-2 bits [13]; Field name-Received DIF bytes left A Address offset-2 bits [17:14]; Field name-Transmitted DIF bytes A Address offset-2 bits [21:18]; Field name-Error in IO A Address offset-2 bits [22:22]; Field name-Checksum overflow A Address offset-2 bits [23]; Field name-Reserved Address offset-2 bits [31:24]; Field name-Offset in IO B Address offset-2 bits [63:32]; Field name-Partial CRC value A Address offset-3 bits [15:0]; Field name-Partial checksum value A Address offset-3 bits [31:16]; Field name-Offset in IO A Address offset-3 bits [63:32]; Field name-Partial DIF data A Address offset-4 bits [63:0]; Field name-Partial DIF data B Address offset-5 bits [63:0]. Address offset-6 and 7 - reserved. all reserved fields are un reachable for write and return zero on read. Address offset is in QWORD resolution.
-#define RDIF_REG_L1_TASK_CONTEXT_SIZE 2560
+#define RDIF_REG_L1_TASK_CONTEXT_BB_K2 0x304000UL //Access:WB DataWidth:0x40 // Task context memory. for TDIF Only 320b are valid. Data order:Field name-Initial reference tag Address offset-0 bits [31:0]; Field name-Application tag value Address offset-0 bits [47:32]; Field name-Application tag mask Address offset-0 bits [63:48]; Field name-Partial CRC value B Address offset-1 bits [15:0]; Field name-Partial checksum value B Address offset-1 bits [31:16]; Field name-Received DIF bytes left B Address offset-1 bits [35:32]; Field name-Transmitted DIF bytes B Address offset-1 bits [39:36]; Field name-Error in IO B Address offset-1 bits [40:40]; Field name-Checksum overflow B Address offset-1 bits [41]; Field name-Reserved Address offset-1 [55:42]; Field name-Ignore application tag for guard Address offset-1 bits [56]; Field name-Initial reference tag valid Address offset-1 bits [57]; Field name-Host Guard type Address offset-1 bits [58]; Field name-Set error with EOP Address offset-1 bits [59]; Field name-Protection type Address offset-1 bits [60]; Field name-CRC seed Address offset-1 bits [62]; Field name-Reserved Address offset-1 bits [63]; Field name-Validate guard Address offset-2 bits [0]; Field name-Validate application tag Address offset-2 bits [1]; Field name-Validate reference tag Address offset-2 bits [2]; Field name-Forward guard Address offset-2 bits [3]; Field name-Forward application tag Address offset-2 bits [4]; Field name-Forward reference tag Address offset-2 bits [5]; Field name-Interval size Address offset-2 bits [8:6]; Field name-Host interface Address offset-2 bits [10:9]; Field name-DIX block size Address offset-2 bits [12:11]; Field name-Network Interface Address offset-2 bits [13]; Field name-Received DIF bytes left A Address offset-2 bits [17:14]; Field name-Transmitted DIF bytes A Address offset-2 bits [21:18]; Field name-Error in IO A Address offset-2 bits [22:22]; Field name-Checksum overflow A Address offset-2 bits [23]; Field name-Reserved Address offset-2 bits [31:24]; Field name-Offset in IO B Address offset-2 bits [63:32]; Field name-Partial CRC value A Address offset-3 bits [15:0]; Field name-Partial checksum value A Address offset-3 bits [31:16]; Field name-Offset in IO A Address offset-3 bits [63:32]; Field name-Partial DIF data A Address offset-4 bits [63:0]; Field name-Partial DIF data B Address offset-5 bits [63:0]. Address offset-6 and 7 - reserved. all reserved fields are un reachable for write and return zero on read. Address offset is in QWORD resolution.
+#define RDIF_REG_L1_TASK_CONTEXT_E5 0x308000UL //Access:WB DataWidth:0x40 // Task context memory. There are 384 tasks entries each one partitioned into QWORDS (64 bit). The partition per task context is as follows: In TDIF - Has 8 QWORDs per task allocated (All are valid). In RDIF - Has 8 QWORDs per task allocated (QWORDs [0..4] are valid. QWORDS [5..7] are reserved). For elaboration regarding the internal structure of the sectors please refer to the following sections of the EAS: - TDIF "11.11.2 Low Level" - RDIF "12.3.3 Low Level" NOTE : RD/WR to reserved QWORDS will not return an ack causing an RBC timeout!!!
+#define RDIF_REG_L1_TASK_CONTEXT_SIZE_BB_K2 2560
+#define RDIF_REG_L1_TASK_CONTEXT_SIZE_E5 6144
#define TDIF_REG_RESET_MEMORIES 0x310000UL //Access:W DataWidth:0x1 // Write one to this register will write zero to all L1 entries. When the command is complete zero will be indicated in this register.
#define TDIF_REG_STOP_ON_ERROR 0x310040UL //Access:RW DataWidth:0x1 // If set and DIF block found error; the DIF block will be stuck - hard reset is needed.
#define TDIF_REG_EOB_AND_PARTIAL_DIF_ERR_MASK 0x310044UL //Access:RW DataWidth:0x1 // mask bit for the following case: host interface = DIF end of burst arrived with end of interval and only partial DIF data arrived. If clear and this event occuer a fatal error will cause the DIF block to stop.
@@ -47468,8 +48666,8 @@
#define TDIF_REG_DEBUG_BUFFER_0_DATA_4 0x310090UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Calculated offset in IO.
#define TDIF_REG_DEBUG_BUFFER_0_DATA_5 0x310094UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Partial DIF/DIX data - referance tag.
#define TDIF_REG_DEBUG_BUFFER_0_DATA_6 0x310098UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Partial DIF/DIX data - [15:0] application tag; [31:0] CRC/checksum.
-#define TDIF_REG_DEBUG_BUFFER_0_DATA_7 0x31009cUL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [31] partial_chksum_overflow ; [30:27] dif_bytes_tx ; [26:23] dif_bytes_rx ; [22:19] last_dif_size; [18] eob_flag ; [17] data_is_dix ; [16] set_id ; [15:13] protocol_id; [12:9] type; [8:0] ltid.
-#define TDIF_REG_DEBUG_BUFFER_0_DATA_8 0x3100a0UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [20:19] dix_size; [18] ni ; [17:16] hi ; [15:13] interval_size ; [12] fwrd_ref ; [11] fwrd_app ; [10] fwrd_guard ; [9] validate_ref ; [8] validate_app ; [7] validate_guard ; [6] crc_seed ; [5:4] protection_type ; [3] set_err_with_eop ; [2] host_guard_is_crc ; [1] initial_ref_tag_valid; [0] err_in_io.
+#define TDIF_REG_DEBUG_BUFFER_0_DATA_7 0x31009cUL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [31:28] dif_bytes_tx ; [27:24] dif_bytes_rx ; [23:20] last_dif_size; [19] eob_flag ; [18] data_is_dix ; [17] set_id ; [16:13] protocol_id; [12:9] type; [8:0] ltid.
+#define TDIF_REG_DEBUG_BUFFER_0_DATA_8 0x3100a0UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. ,[21:20] dix_size; [19] ni ; [18:17] hi ; [16:14] interval_size ; [13] fwrd_ref ; [12] fwrd_app ; [11] fwrd_guard ; [10] validate_ref ; [9] validate_app ; [8] validate_guard ; [7] reserved (formerly crc_seed) ; [6:5] protection_type ; [4] set_err_with_eop ; [3] host_guard_is_crc ; [2] initial_ref_tag_valid; [1] err_in_io,[0] partial_chksum_overflow
#define TDIF_REG_DEBUG_BUFFER_1_DATA_0 0x3100a4UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. TID.
#define TDIF_REG_DEBUG_BUFFER_1_DATA_1 0x3100a8UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Initial referance tag.
#define TDIF_REG_DEBUG_BUFFER_1_DATA_2 0x3100acUL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [15:0] - application tag; [31:16] - application mask.
@@ -47477,13 +48675,13 @@
#define TDIF_REG_DEBUG_BUFFER_1_DATA_4 0x3100b4UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Calculated offset in IO.
#define TDIF_REG_DEBUG_BUFFER_1_DATA_5 0x3100b8UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Partial DIF/DIX data - referance tag.
#define TDIF_REG_DEBUG_BUFFER_1_DATA_6 0x3100bcUL //Access:R DataWidth:0x20 // DEBUG: Buffer information. Partial DIF/DIX data - [15:0] application tag; [31:0] CRC/checksum.
-#define TDIF_REG_DEBUG_BUFFER_1_DATA_7 0x3100c0UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [31] partial_chksum_overflow ; [30:27] dif_bytes_tx ; [26:23] dif_bytes_rx ; [22:19] last_dif_size; [18] eob_flag ; [17] data_is_dix ; [16] set_id ; [15:13] protocol_id; [12:9] type; [8:0] ltid.
-#define TDIF_REG_DEBUG_BUFFER_1_DATA_8 0x3100c4UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [20:19] dix_size; [18] ni ; [17:16] hi ; [15:13] interval_size ; [12] fwrd_ref ; [11] fwrd_app ; [10] fwrd_guard ; [9] validate_ref ; [8] validate_app ; [7] validate_guard ; [6] crc_seed ; [5:4] protection_type ; [3] set_err_with_eop ; [2] host_guard_is_crc ; [1] initial_ref_tag_valid; [0] err_in_io.
-#define TDIF_REG_DEBUG_DIX_FIFO_EMPTY 0x3100c8UL //Access:R DataWidth:0x4 // Debug: one bit for each protocol ID. 1 = fifo is empty.
+#define TDIF_REG_DEBUG_BUFFER_1_DATA_7 0x3100c0UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. [31:28] dif_bytes_tx ; [27:24] dif_bytes_rx ; [23:20] last_dif_size; [19] eob_flag ; [18] data_is_dix ; [17] set_id ; [16:13] protocol_id; [12:9] type; [8:0] ltid.
+#define TDIF_REG_DEBUG_BUFFER_1_DATA_8 0x3100c4UL //Access:R DataWidth:0x20 // DEBUG: Buffer information. ,[21:20] dix_size; [19] ni ; [18:17] hi ; [16:14] interval_size ; [13] fwrd_ref ; [12] fwrd_app ; [11] fwrd_guard ; [10] validate_ref ; [9] validate_app ; [8] validate_guard ; [7] reserved (formerly crc_seed) ; [6:5] protection_type ; [4] set_err_with_eop ; [3] host_guard_is_crc ; [2] initial_ref_tag_valid; [1] err_in_io,[0] partial_chksum_overflow
+#define TDIF_REG_DEBUG_DIX_FIFO_EMPTY 0x3100c8UL //Access:R DataWidth:0x10 // Debug: one bit for each protocol ID. 1 = fifo is empty.
#define TDIF_REG_DEBUG_UCM_CREDIT 0x3100ccUL //Access:R DataWidth:0x1 // DEBUG: 0 - no credit; 1 - there is credit.
#define TDIF_REG_DEBUG_UCM_MSG_PENDING 0x3100d0UL //Access:R DataWidth:0x1 // DEBUG: 0 - no message pending; 1 - message is pending (no credit) or waiting for done.
-#define TDIF_REG_DEBUG_FATAL_CONFIG_ERR_INFO 0x3100d4UL //Access:R DataWidth:0x16 // DEBUG: configuration fatal error. [1:0] host interface; [2] network interface; [3] FWRD ref; [4] FWR app; [5] FWRD guard; [6] vlidate ref; [7] validate app; [8] validate guard; [11:9] protocol ID; [20:12] LTID; [21] buffer select.
-#define TDIF_REG_DEBUG_DIX_FATAL_ERR_INFO 0x3100d8UL //Access:R DataWidth:0x1a // [3:0] - error type ([0] Write overflow. [1] Read overflow. [2] Read from DIX when DIX write pointer =< DIX read pointer. [3] EOB arrived and DIX write pointer != DIX read pointer.); [5:4] protocol ID; [6] reserved; [7] buffer inuse; [16:8] write pointer; [25:17] read pointer.
+#define TDIF_REG_DEBUG_FATAL_CONFIG_ERR_INFO 0x3100d4UL //Access:R DataWidth:0x17 // DEBUG: configuration fatal error. [1:0] host interface; [2] network interface; [3] FWRD ref; [4] FWR app; [5] FWRD guard; [6] vlidate ref; [7] validate app; [8] validate guard; [12:9] protocol ID; [21:13] LTID; [22] buffer select.
+#define TDIF_REG_DEBUG_DIX_FATAL_ERR_INFO 0x3100d8UL //Access:R DataWidth:0x1b // [3:0] - error type ([0] Write overflow. [1] Read overflow. [2] Read from DIX when DIX write pointer =< DIX read pointer. [3] EOB arrived and DIX write pointer != DIX read pointer.); [7:4] protocol ID; [8] buffer inuse; [17:9] write pointer; [26:18] read pointer.
#define TDIF_REG_DEBUG_PIPELINE_IDLE 0x3100dcUL //Access:R DataWidth:0x1 // DEBUG: if set there is no valid data in the pipeline.
#define TDIF_REG_STAT_NUM_ERR_INTERVAL_0 0x3100e0UL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 0.
#define TDIF_REG_STAT_NUM_ERR_INTERVAL_1 0x3100e4UL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 1.
@@ -47493,6 +48691,15 @@
#define TDIF_REG_STAT_NUM_ERR_INTERVAL_5_K2_E5 0x3100f4UL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 5.
#define TDIF_REG_STAT_NUM_ERR_INTERVAL_6_K2_E5 0x3100f8UL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 6.
#define TDIF_REG_STAT_NUM_ERR_INTERVAL_7_K2_E5 0x3100fcUL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 7.
+#define TDIF_REG_STAT_NUM_ERR_INTERVAL_8_E5 0x310100UL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 8.
+#define TDIF_REG_STAT_NUM_ERR_INTERVAL_9_E5 0x310104UL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 9.
+#define TDIF_REG_STAT_NUM_ERR_INTERVAL_10_E5 0x310108UL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 10.
+#define TDIF_REG_STAT_NUM_ERR_INTERVAL_11_E5 0x31010cUL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 11.
+#define TDIF_REG_STAT_NUM_ERR_INTERVAL_12_E5 0x310110UL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 12.
+#define TDIF_REG_STAT_NUM_ERR_INTERVAL_13_E5 0x310114UL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 13.
+#define TDIF_REG_STAT_NUM_ERR_INTERVAL_14_E5 0x310118UL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 14.
+#define TDIF_REG_STAT_NUM_ERR_INTERVAL_15_E5 0x31011cUL //Access:RW DataWidth:0x20 // Number of interval with error arrived to the DIF for protocol ID 15.
+#define TDIF_REG_E4_BACKWARD_COMPATIBLE_MODE_E5 0x310120UL //Access:RW DataWidth:0x1 // When set the REF_MASK and CRC_SEED L1 parameters will betaken from their E4 place and used accordingly. When reset E5 functionality is in effect
#define TDIF_REG_INT_STS 0x310180UL //Access:R DataWidth:0x9 // Multi Field Register.
#define TDIF_REG_INT_STS_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define TDIF_REG_INT_STS_ADDRESS_ERROR_SHIFT 0
@@ -47572,58 +48779,62 @@
#define TDIF_REG_PRTY_MASK 0x310194UL //Access:RW DataWidth:0x2 // Multi Field Register.
#define TDIF_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<1) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS.DATAPATH_REGISTERS .
#define TDIF_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 1
-#define TDIF_REG_PRTY_MASK_H_0_BB_K2 0x310204UL //Access:RW DataWidth:0xb // Multi Field Register.
- #define TDIF_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
- #define TDIF_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define TDIF_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
- #define TDIF_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2_SHIFT 1
- #define TDIF_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
- #define TDIF_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_BB_K2_SHIFT 2
- #define TDIF_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
- #define TDIF_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_BB_K2_SHIFT 3
- #define TDIF_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define TDIF_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 4
- #define TDIF_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define TDIF_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 5
- #define TDIF_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define TDIF_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 6
- #define TDIF_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
- #define TDIF_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 7
- #define TDIF_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
- #define TDIF_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 8
- #define TDIF_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define TDIF_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 9
+#define TDIF_REG_PRTY_MASK_H_0 0x310204UL //Access:RW DataWidth:0xc // Multi Field Register.
+ #define TDIF_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_SHIFT 0
+ #define TDIF_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_SHIFT 1
+ #define TDIF_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_SHIFT 2
+ #define TDIF_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT (0x1<<3) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_SHIFT 3
+ #define TDIF_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<4) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 4
+ #define TDIF_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<5) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 5
+ #define TDIF_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<6) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 6
+ #define TDIF_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY (0x1<<7) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_SHIFT 7
+ #define TDIF_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY (0x1<<8) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_SHIFT 8
+ #define TDIF_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY (0x1<<9) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_SHIFT 9
+ #define TDIF_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 10
#define TDIF_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define TDIF_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 10
-#define TDIF_REG_MEM_ECC_ENABLE_0_BB_K2 0x310210UL //Access:RW DataWidth:0x4 // Multi Field Register.
- #define TDIF_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance tdif.i_tdif_l1_sector0_mem.i_ecc in module tdif_l1_sector0_mem
- #define TDIF_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2_SHIFT 0
- #define TDIF_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance tdif.i_tdif_l1_sector4_mem.i_ecc in module tdif_l1_sector4_mem
- #define TDIF_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB_K2_SHIFT 1
- #define TDIF_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance tdif.i_tdif_l1_sector5_mem.i_ecc in module tdif_l1_sector5_mem
- #define TDIF_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB_K2_SHIFT 2
- #define TDIF_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_BB_K2 (0x1<<3) // Enable ECC for memory ecc instance tdif.i_tdif_l1_sector6_mem.i_ecc in module tdif_l1_sector6_mem
- #define TDIF_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_BB_K2_SHIFT 3
-#define TDIF_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x310214UL //Access:RW DataWidth:0x4 // Multi Field Register.
- #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance tdif.i_tdif_l1_sector0_mem.i_ecc in module tdif_l1_sector0_mem
- #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2_SHIFT 0
- #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance tdif.i_tdif_l1_sector4_mem.i_ecc in module tdif_l1_sector4_mem
- #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB_K2_SHIFT 1
- #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance tdif.i_tdif_l1_sector5_mem.i_ecc in module tdif_l1_sector5_mem
- #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB_K2_SHIFT 2
- #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_BB_K2 (0x1<<3) // Set parity only for memory ecc instance tdif.i_tdif_l1_sector6_mem.i_ecc in module tdif_l1_sector6_mem
- #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_BB_K2_SHIFT 3
-#define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x310218UL //Access:RC DataWidth:0x4 // Multi Field Register.
- #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance tdif.i_tdif_l1_sector0_mem.i_ecc in module tdif_l1_sector0_mem
- #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2_SHIFT 0
- #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance tdif.i_tdif_l1_sector4_mem.i_ecc in module tdif_l1_sector4_mem
- #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_BB_K2_SHIFT 1
- #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance tdif.i_tdif_l1_sector5_mem.i_ecc in module tdif_l1_sector5_mem
- #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_BB_K2_SHIFT 2
- #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_BB_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance tdif.i_tdif_l1_sector6_mem.i_ecc in module tdif_l1_sector6_mem
- #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_BB_K2_SHIFT 3
-#define TDIF_REG_MEM_ECC_EVENTS_BB_K2 0x31021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
-#define TDIF_REG_DEBUG_ERROR_INFO 0x310400UL //Access:R DataWidth:0x20 // Information on the first 8 DIF errors found. In bits [5:3] of the address represent the error number (0-7). Do not read from address[3:5]=i if debug_error_data_valid[i] isn't set. Bits [2:0] in the address will contain the following data: address[2:0] = 0 - [31:0] calculated reference tag; address[2:0] = 1 - [15:0] calculated application tag; [31:0]; calculated CRC/checksum; address[2:0] = 2 - [31:0] expected reference tag; address[2:0] = 3 - [15:0] expected application tag; [31:0] expected CRC/checksum; address[2:0] = 4 - [31:0] the interval number the error occurred; address[2:0] = 5 - [31:0] TID address[2:0] = 6 - [3:0] - type; [12:4] - LTID; [15:13] protocol ID; [16] set ID; [18:17] host interface; [19] network interface; [22:20] error type ([0] - CRC/checksum; [1] application tag; [2] reference tag); [31:23] reserved; address[2:0] = 7 - reserved.
+ #define TDIF_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: TDIF_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define TDIF_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 11
+#define TDIF_REG_MEM_ECC_ENABLE_0 0x310210UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define TDIF_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN (0x1<<0) // Enable ECC for memory ecc instance tdif.i_tdif_l1_sector0_mem.i_ecc in module tdif_l1_sector0_mem
+ #define TDIF_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_SHIFT 0
+ #define TDIF_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN (0x1<<1) // Enable ECC for memory ecc instance tdif.i_tdif_l1_sector4_mem.i_ecc in module tdif_l1_sector4_mem
+ #define TDIF_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_SHIFT 1
+ #define TDIF_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN (0x1<<2) // Enable ECC for memory ecc instance tdif.i_tdif_l1_sector5_mem.i_ecc in module tdif_l1_sector5_mem
+ #define TDIF_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_SHIFT 2
+ #define TDIF_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN (0x1<<3) // Enable ECC for memory ecc instance tdif.i_tdif_l1_sector6_mem.i_ecc in module tdif_l1_sector6_mem
+ #define TDIF_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_SHIFT 3
+#define TDIF_REG_MEM_ECC_PARITY_ONLY_0 0x310214UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY (0x1<<0) // Set parity only for memory ecc instance tdif.i_tdif_l1_sector0_mem.i_ecc in module tdif_l1_sector0_mem
+ #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_SHIFT 0
+ #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY (0x1<<1) // Set parity only for memory ecc instance tdif.i_tdif_l1_sector4_mem.i_ecc in module tdif_l1_sector4_mem
+ #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_SHIFT 1
+ #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY (0x1<<2) // Set parity only for memory ecc instance tdif.i_tdif_l1_sector5_mem.i_ecc in module tdif_l1_sector5_mem
+ #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_SHIFT 2
+ #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY (0x1<<3) // Set parity only for memory ecc instance tdif.i_tdif_l1_sector6_mem.i_ecc in module tdif_l1_sector6_mem
+ #define TDIF_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_SHIFT 3
+#define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0 0x310218UL //Access:RC DataWidth:0x4 // Multi Field Register.
+ #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT (0x1<<0) // Record if a correctable error occurred on memory ecc instance tdif.i_tdif_l1_sector0_mem.i_ecc in module tdif_l1_sector0_mem
+ #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_SHIFT 0
+ #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance tdif.i_tdif_l1_sector4_mem.i_ecc in module tdif_l1_sector4_mem
+ #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_SHIFT 1
+ #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance tdif.i_tdif_l1_sector5_mem.i_ecc in module tdif_l1_sector5_mem
+ #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_SHIFT 2
+ #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT (0x1<<3) // Record if a correctable error occurred on memory ecc instance tdif.i_tdif_l1_sector6_mem.i_ecc in module tdif_l1_sector6_mem
+ #define TDIF_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_SHIFT 3
+#define TDIF_REG_MEM_ECC_EVENTS 0x31021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define TDIF_REG_DEBUG_ERROR_INFO 0x310400UL //Access:R DataWidth:0x20 // Information on the first 8 DIF errors found. Only the first errors in the IO will be logged. In bits [5:3] of the address represent the error number (0-7). Do not read from address[3:5]=i if debug_error_data_valid[i] isn't set. Bits [2:0] in the address will contain the following data: address[2:0] = 0 - [31:0] calculated reference tag; address[2:0] = 1 - [15:0] calculated application tag; [31:0]; calculated CRC/checksum; address[2:0] = 2 - [31:0] expected reference tag; address[2:0] = 3 - [15:0] expected application tag; [31:0] expected CRC/checksum; address[2:0] = 4 - [31:0] the interval number the error occurred; address[2:0] = 5 - [31:0] TID address[2:0] = 6 - [3:0] - type; [12:4] - LTID; [16:13] protocol ID; [17] set ID; [19:18] host interface; [20] network interface; [23:21] error type ([0] - CRC/checksum; [1] application tag; [2] reference tag); [31:24] reserved; address[2:0] = 7 - reserved.
#define TDIF_REG_DEBUG_ERROR_INFO_SIZE 64
#define TDIF_REG_DBG_SELECT 0x310500UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define TDIF_REG_DBG_DWORD_ENABLE 0x310504UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
@@ -47634,8 +48845,9 @@
#define TDIF_REG_DBG_OUT_DATA_SIZE 8
#define TDIF_REG_DBG_OUT_VALID 0x310540UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
#define TDIF_REG_DBG_OUT_FRAME 0x310544UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
-#define TDIF_REG_L1_TASK_CONTEXT 0x318000UL //Access:WB DataWidth:0x40 // Task context memory. for TDIF Only 320b are valid. Data order:Field name-Initial reference tag Address offset-0 bits [31:0]; Field name-Application tag value Address offset-0 bits [47:32]; Field name-Application tag mask Address offset-0 bits [63:48]; Field name-Partial CRC value B Address offset-1 bits [15:0]; Field name-Partial checksum value B Address offset-1 bits [31:16]; Field name-Received DIF bytes left B Address offset-1 bits [35:32]; Field name-Transmitted DIF bytes B Address offset-1 bits [39:36]; Field name-Error in IO B Address offset-1 bits [40:40]; Field name-Checksum overflow B Address offset-1 bits [41]; Field name-Reserved Address offset-1 [55:42]; Field name-Ignore application tag for guard Address offset-1 bits [56]; Field name-Initial reference tag valid Address offset-1 bits [57]; Field name-Host Guard type Address offset-1 bits [58]; Field name-Set error with EOP Address offset-1 bits [59]; Field name-Protection type Address offset-1 bits [60]; Field name-CRC seed Address offset-1 bits [62]; Field name-Reserved Address offset-1 bits [63]; Field name-Validate guard Address offset-2 bits [0]; Field name-Validate application tag Address offset-2 bits [1]; Field name-Validate reference tag Address offset-2 bits [2]; Field name-Forward guard Address offset-2 bits [3]; Field name-Forward application tag Address offset-2 bits [4]; Field name-Forward reference tag Address offset-2 bits [5]; Field name-Interval size Address offset-2 bits [8:6]; Field name-Host interface Address offset-2 bits [10:9]; Field name-DIX block size Address offset-2 bits [12:11]; Field name-Network Interface Address offset-2 bits [13]; Field name-Received DIF bytes left A Address offset-2 bits [17:14]; Field name-Transmitted DIF bytes A Address offset-2 bits [21:18]; Field name-Error in IO A Address offset-2 bits [22:22]; Field name-Checksum overflow A Address offset-2 bits [23]; Field name-Reserved Address offset-2 bits [31:24]; Field name-Offset in IO B Address offset-2 bits [63:32]; Field name-Partial CRC value A Address offset-3 bits [15:0]; Field name-Partial checksum value A Address offset-3 bits [31:16]; Field name-Offset in IO A Address offset-3 bits [63:32]; Field name-Partial DIF data A Address offset-4 bits [63:0]; Field name-Partial DIF data B Address offset-5 bits [63:0]. Address offset-6 and 7 - reserved. all reserved fields are un reachable for write and return zero on read. Address offset is in QWORD resolution.
-#define TDIF_REG_L1_TASK_CONTEXT_SIZE 5120
+#define TDIF_REG_L1_TASK_CONTEXT 0x318000UL //Access:WB DataWidth:0x40 // Task context memory. There are 384 tasks entries each one partitioned into QWORDS (64 bit). The partition per task context is as follows: In TDIF - Has 8 QWORDs per task allocated (All are valid). In RDIF - Has 8 QWORDs per task allocated (QWORDs [0..4] are valid. QWORDS [5..7] are reserved). For elaboration regarding the internal structure of the sectors please refer to the following sections of the EAS: - TDIF "11.11.2 Low Level" - RDIF "12.3.3 Low Level" NOTE : RD/WR to reserved QWORDS will not return an ack causing an RBC timeout!!!
+#define TDIF_REG_L1_TASK_CONTEXT_SIZE_BB_K2 5120
+#define TDIF_REG_L1_TASK_CONTEXT_SIZE_E5 6144
#define RGSRC_REG_DBG_SELECT_E5 0x320040UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define RGSRC_REG_DBG_DWORD_ENABLE_E5 0x320044UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define RGSRC_REG_DBG_SHIFT_E5 0x320048UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -47658,14 +48870,35 @@
#define RGSRC_REG_INT_STS_CLR_ADDRESS_ERROR_E5 (0x1<<0) // Signals an unknown address to the rf module.
#define RGSRC_REG_INT_STS_CLR_ADDRESS_ERROR_E5_SHIFT 0
#define RGSRC_REG_ECO_RESERVED_E5 0x320200UL //Access:RW DataWidth:0x8 // Chicken bits.
+#define RGSRC_REG_PRTY_MASK_H_0_E5 0x320208UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define RGSRC_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: RGSRC_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
+ #define RGSRC_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_E5_SHIFT 0
+ #define RGSRC_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: RGSRC_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
+ #define RGSRC_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_E5_SHIFT 1
+#define RGSRC_REG_MEM_ECC_ENABLE_0_E5 0x320214UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define RGSRC_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance rgsrc.i_rgsrc_reqfifo_mem.i_ecc in module rgsrc_reqfifo_mem
+ #define RGSRC_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_E5_SHIFT 0
+ #define RGSRC_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance rgsrc.i_rgsrc_pswrdfifo_mem.i_ecc in module rgsrc_pswrdfifo_mem
+ #define RGSRC_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_E5_SHIFT 1
+#define RGSRC_REG_MEM_ECC_PARITY_ONLY_0_E5 0x320218UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define RGSRC_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance rgsrc.i_rgsrc_reqfifo_mem.i_ecc in module rgsrc_reqfifo_mem
+ #define RGSRC_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_E5_SHIFT 0
+ #define RGSRC_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance rgsrc.i_rgsrc_pswrdfifo_mem.i_ecc in module rgsrc_pswrdfifo_mem
+ #define RGSRC_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_E5_SHIFT 1
+#define RGSRC_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0x32021cUL //Access:RC DataWidth:0x2 // Multi Field Register.
+ #define RGSRC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance rgsrc.i_rgsrc_reqfifo_mem.i_ecc in module rgsrc_reqfifo_mem
+ #define RGSRC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_E5_SHIFT 0
+ #define RGSRC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance rgsrc.i_rgsrc_pswrdfifo_mem.i_ecc in module rgsrc_pswrdfifo_mem
+ #define RGSRC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_E5_SHIFT 1
+#define RGSRC_REG_MEM_ECC_EVENTS_E5 0x320220UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define RGSRC_REG_CACHE_EN_E5 0x320400UL //Access:RW DataWidth:0x1 // Enable cache functionality.
#define RGSRC_REG_WAIT4WDONE_E5 0x320404UL //Access:RW DataWidth:0x1 // Wait for write done before sending removing the fencing of a new DEL/ADD/CHG command
#define RGSRC_REG_MAX_HOPS_EN_E5 0x320408UL //Access:RW DataWidth:0x1 // Stop searching when MAX HOPs is reached
#define RGSRC_REG_MAX_HOPS_E5 0x32040cUL //Access:RW DataWidth:0x8 // Number of HOPs, when reached, stop the searching
#define RGSRC_REG_HASH_BIN_BIT_W_E5 0x320410UL //Access:RW DataWidth:0x5 // Number of MSB hash bits to be used for bin
-#define RGSRC_REG_TABLE_T1_ENTRY_SIZE_E5 0x320418UL //Access:RW DataWidth:0x20 // Size of T1 table entry in 16-Bytes granularity (QREG). if HASH aligned to 64, set RF_GSRC_TABLE_T1_ENTRY_SIZE = round_up_qreg_granularity(16 + N*HASH/8 + N*16*RF_GSRC_CTX_SIZE) if HASH is not aligned to 64, set RF_GSRC_TABLE_T1_ENTRY_SIZE = round_up_qreg_granularity(16 + N*8*round_up(HASH/64)); (N - integer number) (HASH is written in bits)
-#define RGSRC_REG_TABLE_T2_ENTRY_SIZE_E5 0x32041cUL //Access:RW DataWidth:0x20 // Size of T2 table entry in 16-Bytes granularity (QREG). if HASH aligned to 64, set RF_GSRC_TABLE_T2_ENTRY_SIZE = round_up_qreg_granularity(16 + N*HASH/8 + N*16*RF_GSRC_CTX_SIZE) if HASH is not aligned to 64, set RF_GSRC_TABLE_T2_ENTRY_SIZE = round_up_qreg_granularity(16 + N*8*round_up(HASH/64)); (N - integer number) (HASH is written in bits)
-#define RGSRC_REG_PXP_CTRL_E5 0x320420UL //Access:RW DataWidth:0x15 // Multi Field Register.
+#define RGSRC_REG_TABLE_T1_ENTRY_SIZE_E5 0x320448UL //Access:RW DataWidth:0x20 // Size of T1 table entry in 16-Bytes granularity (QREG). if HASH aligned to 64, set RF_GSRC_TABLE_T1_ENTRY_SIZE = round_up_qreg_granularity(16 + N*HASH/8 + N*16*RF_GSRC_CTX_SIZE) if HASH is not aligned to 64, set RF_GSRC_TABLE_T1_ENTRY_SIZE = round_up_qreg_granularity(16 + N*8*round_up(HASH/64)); (N - integer number) (HASH is written in bits)
+#define RGSRC_REG_TABLE_T2_ENTRY_SIZE_E5 0x32044cUL //Access:RW DataWidth:0x20 // Size of T2 table entry in 16-Bytes granularity (QREG). if HASH aligned to 64, set RF_GSRC_TABLE_T2_ENTRY_SIZE = round_up_qreg_granularity(16 + N*HASH/8 + N*16*RF_GSRC_CTX_SIZE) if HASH is not aligned to 64, set RF_GSRC_TABLE_T2_ENTRY_SIZE = round_up_qreg_granularity(16 + N*8*round_up(HASH/64)); (N - integer number) (HASH is written in bits)
+#define RGSRC_REG_PXP_CTRL_E5 0x320450UL //Access:RW DataWidth:0x12 // Multi Field Register.
#define RGSRC_REG_PXP_CTRL_VQID_E5 (0x1f<<0) // Controls PXP Request VQID Field
#define RGSRC_REG_PXP_CTRL_VQID_E5_SHIFT 0
#define RGSRC_REG_PXP_CTRL_TPH_VALID_E5 (0x1<<5) // Controls PXP Request TPH valid Field
@@ -47674,25 +48907,21 @@
#define RGSRC_REG_PXP_CTRL_TPH_HINT_E5_SHIFT 6
#define RGSRC_REG_PXP_CTRL_TPH_INDEX_E5 (0x1ff<<8) // Controls PXP Request TPH index Field
#define RGSRC_REG_PXP_CTRL_TPH_INDEX_E5_SHIFT 8
- #define RGSRC_REG_PXP_CTRL_ENDIANITY_E5 (0x3<<17) // Controls PXP Request endianity Field
- #define RGSRC_REG_PXP_CTRL_ENDIANITY_E5_SHIFT 17
- #define RGSRC_REG_PXP_CTRL_WAIT4EOP_E5 (0x1<<19) // Controls PXP Request wait4eop Field
- #define RGSRC_REG_PXP_CTRL_WAIT4EOP_E5_SHIFT 19
- #define RGSRC_REG_PXP_CTRL_DONE_TYPE_E5 (0x1<<20) // Controls PXP Request done type Field
- #define RGSRC_REG_PXP_CTRL_DONE_TYPE_E5_SHIFT 20
-#define RGSRC_REG_PXP_REQ_CREDIT_E5 0x320424UL //Access:RW DataWidth:0x2 // PXP request intial credits.
-#define RGSRC_REG_CFC_REQ_CREDIT_E5 0x320428UL //Access:RW DataWidth:0x4 // CFC request intial credits.
-#define RGSRC_REG_NUM_INHOUSE_CMD_E5 0x32042cUL //Access:R DataWidth:0x7 // Number of commands which are currently occupy GSRC FIFO
-#define RGSRC_REG_WAS_ERROR_E5 0x320430UL //Access:RW DataWidth:0x8 // Command was found with error. [0] - SRC cmd result in no match; [1] - DEL cmd result in no match; [2] - CHG cmd result in no match; [3] - ADD cmd result in no match; [4] - ADD cmd already exist; [5] - MAX hops reached; [6] - Magic number error; [7] - PCIe error
-#define RGSRC_REG_NUM_SRC_CMD_E5 0x320434UL //Access:RC DataWidth:0x20 // Number of src commands which were recieved by GSRC
-#define RGSRC_REG_NUM_NON_SRC_CMD_E5 0x320438UL //Access:RC DataWidth:0x20 // Number of ADD/DEL/CHG commands which were recieved by GSRC
-#define RGSRC_REG_NUM_PXP_RD_REQ_E5 0x32043cUL //Access:RC DataWidth:0x20 // Number of PXP read requests which were sent
-#define RGSRC_REG_NUM_PXP_RD_DONE_E5 0x320440UL //Access:RC DataWidth:0x20 // Number of PXP read done which were recieved
-#define RGSRC_REG_NUM_PXP_WR_REQ_E5 0x320444UL //Access:RC DataWidth:0x20 // Number of PXP write requests which were sent
-#define RGSRC_REG_NUM_PXP_WR_DONE_E5 0x320448UL //Access:RC DataWidth:0x20 // Number of PXP write done which were recieved
-#define RGSRC_REG_NUM_SRC_CMD_HIT_HOP_1_E5 0x32044cUL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=1
-#define RGSRC_REG_NUM_SRC_CMD_HIT_HOP_2_E5 0x320450UL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=2
-#define RGSRC_REG_NUM_SRC_CMD_HIT_HOP_3_OR_MORE_E5 0x320454UL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=3 or more
+ #define RGSRC_REG_PXP_CTRL_DONE_TYPE_E5 (0x1<<17) // Controls PXP Request done type Field
+ #define RGSRC_REG_PXP_CTRL_DONE_TYPE_E5_SHIFT 17
+#define RGSRC_REG_PXP_REQ_CREDIT_E5 0x320454UL //Access:RW DataWidth:0x2 // PXP request intial credits.
+#define RGSRC_REG_CFC_REQ_CREDIT_E5 0x320458UL //Access:RW DataWidth:0x4 // CFC request intial credits.
+#define RGSRC_REG_NUM_INHOUSE_CMD_E5 0x32045cUL //Access:R DataWidth:0x7 // Number of commands which are currently occupy GSRC FIFO
+#define RGSRC_REG_WAS_ERROR_E5 0x320460UL //Access:RW DataWidth:0x8 // Command was found with error. [0] - SRC cmd result in no match; [1] - DEL cmd result in no match; [2] - CHG cmd result in no match; [3] - ADD cmd result in no match; [4] - ADD cmd already exist; [5] - MAX hops reached; [6] - Magic number error; [7] - PCIe error
+#define RGSRC_REG_NUM_SRC_CMD_E5 0x320464UL //Access:RC DataWidth:0x20 // Number of src commands which were recieved by GSRC
+#define RGSRC_REG_NUM_NON_SRC_CMD_E5 0x320468UL //Access:RC DataWidth:0x20 // Number of ADD/DEL/CHG commands which were recieved by GSRC
+#define RGSRC_REG_NUM_PXP_RD_REQ_E5 0x32046cUL //Access:RC DataWidth:0x20 // Number of PXP read requests which were sent
+#define RGSRC_REG_NUM_PXP_RD_DONE_E5 0x320470UL //Access:RC DataWidth:0x20 // Number of PXP read done which were recieved
+#define RGSRC_REG_NUM_PXP_WR_REQ_E5 0x320474UL //Access:RC DataWidth:0x20 // Number of PXP write requests which were sent
+#define RGSRC_REG_NUM_PXP_WR_DONE_E5 0x320478UL //Access:RC DataWidth:0x20 // Number of PXP write done which were recieved
+#define RGSRC_REG_NUM_SRC_CMD_HIT_HOP_1_E5 0x32047cUL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=1
+#define RGSRC_REG_NUM_SRC_CMD_HIT_HOP_2_E5 0x320480UL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=2
+#define RGSRC_REG_NUM_SRC_CMD_HIT_HOP_3_OR_MORE_E5 0x320484UL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=3 or more
#define TGSRC_REG_DBG_SELECT_E5 0x322040UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define TGSRC_REG_DBG_DWORD_ENABLE_E5 0x322044UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define TGSRC_REG_DBG_SHIFT_E5 0x322048UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -47715,14 +48944,35 @@
#define TGSRC_REG_INT_STS_CLR_ADDRESS_ERROR_E5 (0x1<<0) // Signals an unknown address to the rf module.
#define TGSRC_REG_INT_STS_CLR_ADDRESS_ERROR_E5_SHIFT 0
#define TGSRC_REG_ECO_RESERVED_E5 0x322200UL //Access:RW DataWidth:0x8 // Chicken bits.
+#define TGSRC_REG_PRTY_MASK_H_0_E5 0x322208UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define TGSRC_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: TGSRC_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
+ #define TGSRC_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_E5_SHIFT 0
+ #define TGSRC_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: TGSRC_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
+ #define TGSRC_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_E5_SHIFT 1
+#define TGSRC_REG_MEM_ECC_ENABLE_0_E5 0x322214UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define TGSRC_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance tgsrc.i_tgsrc_reqfifo_mem.i_ecc in module tgsrc_reqfifo_mem
+ #define TGSRC_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_E5_SHIFT 0
+ #define TGSRC_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance tgsrc.i_tgsrc_pswrdfifo_mem.i_ecc in module tgsrc_pswrdfifo_mem
+ #define TGSRC_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_E5_SHIFT 1
+#define TGSRC_REG_MEM_ECC_PARITY_ONLY_0_E5 0x322218UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define TGSRC_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance tgsrc.i_tgsrc_reqfifo_mem.i_ecc in module tgsrc_reqfifo_mem
+ #define TGSRC_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_E5_SHIFT 0
+ #define TGSRC_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance tgsrc.i_tgsrc_pswrdfifo_mem.i_ecc in module tgsrc_pswrdfifo_mem
+ #define TGSRC_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_E5_SHIFT 1
+#define TGSRC_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0x32221cUL //Access:RC DataWidth:0x2 // Multi Field Register.
+ #define TGSRC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance tgsrc.i_tgsrc_reqfifo_mem.i_ecc in module tgsrc_reqfifo_mem
+ #define TGSRC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_E5_SHIFT 0
+ #define TGSRC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance tgsrc.i_tgsrc_pswrdfifo_mem.i_ecc in module tgsrc_pswrdfifo_mem
+ #define TGSRC_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_E5_SHIFT 1
+#define TGSRC_REG_MEM_ECC_EVENTS_E5 0x322220UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define TGSRC_REG_CACHE_EN_E5 0x322400UL //Access:RW DataWidth:0x1 // Enable cache functionality.
#define TGSRC_REG_WAIT4WDONE_E5 0x322404UL //Access:RW DataWidth:0x1 // Wait for write done before sending removing the fencing of a new DEL/ADD/CHG command
#define TGSRC_REG_MAX_HOPS_EN_E5 0x322408UL //Access:RW DataWidth:0x1 // Stop searching when MAX HOPs is reached
#define TGSRC_REG_MAX_HOPS_E5 0x32240cUL //Access:RW DataWidth:0x8 // Number of HOPs, when reached, stop the searching
#define TGSRC_REG_HASH_BIN_BIT_W_E5 0x322410UL //Access:RW DataWidth:0x5 // Number of MSB hash bits to be used for bin
-#define TGSRC_REG_TABLE_T1_ENTRY_SIZE_E5 0x322418UL //Access:RW DataWidth:0x20 // Size of T1 table entry in 16-Bytes granularity (QREG). if HASH aligned to 64, set RF_GSRC_TABLE_T1_ENTRY_SIZE = round_up_qreg_granularity(16 + N*HASH/8 + N*16*RF_GSRC_CTX_SIZE) if HASH is not aligned to 64, set RF_GSRC_TABLE_T1_ENTRY_SIZE = round_up_qreg_granularity(16 + N*8*round_up(HASH/64)); (N - integer number) (HASH is written in bits)
-#define TGSRC_REG_TABLE_T2_ENTRY_SIZE_E5 0x32241cUL //Access:RW DataWidth:0x20 // Size of T2 table entry in 16-Bytes granularity (QREG). if HASH aligned to 64, set RF_GSRC_TABLE_T2_ENTRY_SIZE = round_up_qreg_granularity(16 + N*HASH/8 + N*16*RF_GSRC_CTX_SIZE) if HASH is not aligned to 64, set RF_GSRC_TABLE_T2_ENTRY_SIZE = round_up_qreg_granularity(16 + N*8*round_up(HASH/64)); (N - integer number) (HASH is written in bits)
-#define TGSRC_REG_PXP_CTRL_E5 0x322420UL //Access:RW DataWidth:0x15 // Multi Field Register.
+#define TGSRC_REG_TABLE_T1_ENTRY_SIZE_E5 0x322448UL //Access:RW DataWidth:0x20 // Size of T1 table entry in 16-Bytes granularity (QREG). if HASH aligned to 64, set RF_GSRC_TABLE_T1_ENTRY_SIZE = round_up_qreg_granularity(16 + N*HASH/8 + N*16*RF_GSRC_CTX_SIZE) if HASH is not aligned to 64, set RF_GSRC_TABLE_T1_ENTRY_SIZE = round_up_qreg_granularity(16 + N*8*round_up(HASH/64)); (N - integer number) (HASH is written in bits)
+#define TGSRC_REG_TABLE_T2_ENTRY_SIZE_E5 0x32244cUL //Access:RW DataWidth:0x20 // Size of T2 table entry in 16-Bytes granularity (QREG). if HASH aligned to 64, set RF_GSRC_TABLE_T2_ENTRY_SIZE = round_up_qreg_granularity(16 + N*HASH/8 + N*16*RF_GSRC_CTX_SIZE) if HASH is not aligned to 64, set RF_GSRC_TABLE_T2_ENTRY_SIZE = round_up_qreg_granularity(16 + N*8*round_up(HASH/64)); (N - integer number) (HASH is written in bits)
+#define TGSRC_REG_PXP_CTRL_E5 0x322450UL //Access:RW DataWidth:0x12 // Multi Field Register.
#define TGSRC_REG_PXP_CTRL_VQID_E5 (0x1f<<0) // Controls PXP Request VQID Field
#define TGSRC_REG_PXP_CTRL_VQID_E5_SHIFT 0
#define TGSRC_REG_PXP_CTRL_TPH_VALID_E5 (0x1<<5) // Controls PXP Request TPH valid Field
@@ -47731,25 +48981,21 @@
#define TGSRC_REG_PXP_CTRL_TPH_HINT_E5_SHIFT 6
#define TGSRC_REG_PXP_CTRL_TPH_INDEX_E5 (0x1ff<<8) // Controls PXP Request TPH index Field
#define TGSRC_REG_PXP_CTRL_TPH_INDEX_E5_SHIFT 8
- #define TGSRC_REG_PXP_CTRL_ENDIANITY_E5 (0x3<<17) // Controls PXP Request endianity Field
- #define TGSRC_REG_PXP_CTRL_ENDIANITY_E5_SHIFT 17
- #define TGSRC_REG_PXP_CTRL_WAIT4EOP_E5 (0x1<<19) // Controls PXP Request wait4eop Field
- #define TGSRC_REG_PXP_CTRL_WAIT4EOP_E5_SHIFT 19
- #define TGSRC_REG_PXP_CTRL_DONE_TYPE_E5 (0x1<<20) // Controls PXP Request done type Field
- #define TGSRC_REG_PXP_CTRL_DONE_TYPE_E5_SHIFT 20
-#define TGSRC_REG_PXP_REQ_CREDIT_E5 0x322424UL //Access:RW DataWidth:0x2 // PXP request intial credits.
-#define TGSRC_REG_CFC_REQ_CREDIT_E5 0x322428UL //Access:RW DataWidth:0x4 // CFC request intial credits.
-#define TGSRC_REG_NUM_INHOUSE_CMD_E5 0x32242cUL //Access:R DataWidth:0x7 // Number of commands which are currently occupy GSRC FIFO
-#define TGSRC_REG_WAS_ERROR_E5 0x322430UL //Access:RW DataWidth:0x8 // Command was found with error. [0] - SRC cmd result in no match; [1] - DEL cmd result in no match; [2] - CHG cmd result in no match; [3] - ADD cmd result in no match; [4] - ADD cmd already exist; [5] - MAX hops reached; [6] - Magic number error; [7] - PCIe error
-#define TGSRC_REG_NUM_SRC_CMD_E5 0x322434UL //Access:RC DataWidth:0x20 // Number of src commands which were recieved by GSRC
-#define TGSRC_REG_NUM_NON_SRC_CMD_E5 0x322438UL //Access:RC DataWidth:0x20 // Number of ADD/DEL/CHG commands which were recieved by GSRC
-#define TGSRC_REG_NUM_PXP_RD_REQ_E5 0x32243cUL //Access:RC DataWidth:0x20 // Number of PXP read requests which were sent
-#define TGSRC_REG_NUM_PXP_RD_DONE_E5 0x322440UL //Access:RC DataWidth:0x20 // Number of PXP read done which were recieved
-#define TGSRC_REG_NUM_PXP_WR_REQ_E5 0x322444UL //Access:RC DataWidth:0x20 // Number of PXP write requests which were sent
-#define TGSRC_REG_NUM_PXP_WR_DONE_E5 0x322448UL //Access:RC DataWidth:0x20 // Number of PXP write done which were recieved
-#define TGSRC_REG_NUM_SRC_CMD_HIT_HOP_1_E5 0x32244cUL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=1
-#define TGSRC_REG_NUM_SRC_CMD_HIT_HOP_2_E5 0x322450UL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=2
-#define TGSRC_REG_NUM_SRC_CMD_HIT_HOP_3_OR_MORE_E5 0x322454UL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=3 or more
+ #define TGSRC_REG_PXP_CTRL_DONE_TYPE_E5 (0x1<<17) // Controls PXP Request done type Field
+ #define TGSRC_REG_PXP_CTRL_DONE_TYPE_E5_SHIFT 17
+#define TGSRC_REG_PXP_REQ_CREDIT_E5 0x322454UL //Access:RW DataWidth:0x2 // PXP request intial credits.
+#define TGSRC_REG_CFC_REQ_CREDIT_E5 0x322458UL //Access:RW DataWidth:0x4 // CFC request intial credits.
+#define TGSRC_REG_NUM_INHOUSE_CMD_E5 0x32245cUL //Access:R DataWidth:0x7 // Number of commands which are currently occupy GSRC FIFO
+#define TGSRC_REG_WAS_ERROR_E5 0x322460UL //Access:RW DataWidth:0x8 // Command was found with error. [0] - SRC cmd result in no match; [1] - DEL cmd result in no match; [2] - CHG cmd result in no match; [3] - ADD cmd result in no match; [4] - ADD cmd already exist; [5] - MAX hops reached; [6] - Magic number error; [7] - PCIe error
+#define TGSRC_REG_NUM_SRC_CMD_E5 0x322464UL //Access:RC DataWidth:0x20 // Number of src commands which were recieved by GSRC
+#define TGSRC_REG_NUM_NON_SRC_CMD_E5 0x322468UL //Access:RC DataWidth:0x20 // Number of ADD/DEL/CHG commands which were recieved by GSRC
+#define TGSRC_REG_NUM_PXP_RD_REQ_E5 0x32246cUL //Access:RC DataWidth:0x20 // Number of PXP read requests which were sent
+#define TGSRC_REG_NUM_PXP_RD_DONE_E5 0x322470UL //Access:RC DataWidth:0x20 // Number of PXP read done which were recieved
+#define TGSRC_REG_NUM_PXP_WR_REQ_E5 0x322474UL //Access:RC DataWidth:0x20 // Number of PXP write requests which were sent
+#define TGSRC_REG_NUM_PXP_WR_DONE_E5 0x322478UL //Access:RC DataWidth:0x20 // Number of PXP write done which were recieved
+#define TGSRC_REG_NUM_SRC_CMD_HIT_HOP_1_E5 0x32247cUL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=1
+#define TGSRC_REG_NUM_SRC_CMD_HIT_HOP_2_E5 0x322480UL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=2
+#define TGSRC_REG_NUM_SRC_CMD_HIT_HOP_3_OR_MORE_E5 0x322484UL //Access:RC DataWidth:0x20 // Number of SRC commands which hit with HOP=3 or more
#define BRB_REG_HW_INIT_EN 0x340004UL //Access:RW DataWidth:0x2 // Bit 0 - if this bit is set then initialization of link list; all head; tail and start_en registers will be done by HW. Bit 1 - if this bit is set then initialization of BIG RAM will be done by HW. Both bits will be reset by HW when initialization is finished.
#define BRB_REG_INIT_DONE 0x340008UL //Access:R DataWidth:0x2 // Bit 0 - if this bit is set then initialization of link list; all head; tail and start_en registers are finished by HW. Bit 1 - if this bit is set then initialization of BIG RAM is finished by HW.
#define BRB_REG_START_EN 0x34000cUL //Access:RW DataWidth:0x1 // This bit should be set when initialization of all BRTB registers and memories is finished. BRTB will fill all prefetch FIFO with free pointers. BRTB will not be able to get packets from write clients when this bit is reset. If link list was configured by HW then this bit will be set by HW.
@@ -49676,39 +50922,83 @@
#define BRB_REG_PRTY_MASK_LL_BANK3_MEM_PRTY_SHIFT 3
#define BRB_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<4) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS.DATAPATH_REGISTERS .
#define BRB_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 4
-#define BRB_REG_PRTY_MASK_H_0_BB_K2 0x340404UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define BRB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define BRB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_BB_K2_SHIFT 1
- #define BRB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2_SHIFT 2
- #define BRB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_BB_K2_SHIFT 3
- #define BRB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_BB_K2_SHIFT 4
- #define BRB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_BB_K2_SHIFT 5
- #define BRB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM013_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_BB_K2_SHIFT 6
- #define BRB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_BB_K2_SHIFT 7
- #define BRB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM015_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_BB_K2_SHIFT 8
- #define BRB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM016_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_BB_K2_SHIFT 9
- #define BRB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2_SHIFT 10
- #define BRB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2_SHIFT 11
- #define BRB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2_SHIFT 12
- #define BRB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2_SHIFT 13
- #define BRB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2_SHIFT 14
- #define BRB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM007_I_ECC_RF_INT .
- #define BRB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_BB_K2_SHIFT 15
+#define BRB_REG_PRTY_MASK_H_0 0x340404UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define BRB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_SHIFT 0
+ #define BRB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_SHIFT 1
+ #define BRB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_SHIFT 2
+ #define BRB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT (0x1<<3) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_SHIFT 3
+ #define BRB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT (0x1<<4) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_SHIFT 4
+ #define BRB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT (0x1<<5) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_SHIFT 5
+ #define BRB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT (0x1<<6) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM013_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_SHIFT 6
+ #define BRB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT (0x1<<7) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_SHIFT 7
+ #define BRB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT (0x1<<8) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM015_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_SHIFT 8
+ #define BRB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT (0x1<<9) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM016_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_SHIFT 9
+ #define BRB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT (0x1<<10) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_SHIFT 10
+ #define BRB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT (0x1<<11) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_SHIFT 11
+ #define BRB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT (0x1<<12) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_SHIFT 12
+ #define BRB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT (0x1<<13) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_SHIFT 13
+ #define BRB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT (0x1<<14) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_SHIFT 14
+ #define BRB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT (0x1<<15) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM007_I_ECC_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_SHIFT 15
+ #define BRB_REG_PRTY_MASK_H_0_MEM019_I_ECC1_RF_INT_E5 (0x1<<16) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM019_I_ECC1_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM019_I_ECC1_RF_INT_E5_SHIFT 16
+ #define BRB_REG_PRTY_MASK_H_0_MEM019_I_ECC2_RF_INT_E5 (0x1<<17) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM019_I_ECC2_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM019_I_ECC2_RF_INT_E5_SHIFT 17
+ #define BRB_REG_PRTY_MASK_H_0_MEM020_I_ECC1_RF_INT_E5 (0x1<<18) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM020_I_ECC1_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM020_I_ECC1_RF_INT_E5_SHIFT 18
+ #define BRB_REG_PRTY_MASK_H_0_MEM020_I_ECC2_RF_INT_E5 (0x1<<19) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM020_I_ECC2_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM020_I_ECC2_RF_INT_E5_SHIFT 19
+ #define BRB_REG_PRTY_MASK_H_0_MEM021_I_ECC1_RF_INT_E5 (0x1<<20) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM021_I_ECC1_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM021_I_ECC1_RF_INT_E5_SHIFT 20
+ #define BRB_REG_PRTY_MASK_H_0_MEM021_I_ECC2_RF_INT_E5 (0x1<<21) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM021_I_ECC2_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM021_I_ECC2_RF_INT_E5_SHIFT 21
+ #define BRB_REG_PRTY_MASK_H_0_MEM022_I_ECC1_RF_INT_E5 (0x1<<22) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM022_I_ECC1_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM022_I_ECC1_RF_INT_E5_SHIFT 22
+ #define BRB_REG_PRTY_MASK_H_0_MEM022_I_ECC2_RF_INT_E5 (0x1<<23) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM022_I_ECC2_RF_INT .
+ #define BRB_REG_PRTY_MASK_H_0_MEM022_I_ECC2_RF_INT_E5_SHIFT 23
+ #define BRB_REG_PRTY_MASK_H_0_MEM064_I_MEM_PRTY_K2 (0x1<<29) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM064_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM064_I_MEM_PRTY_K2_SHIFT 29
+ #define BRB_REG_PRTY_MASK_H_0_MEM064_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM064_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM064_I_MEM_PRTY_E5_SHIFT 24
+ #define BRB_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_K2 (0x1<<28) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM063_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_K2_SHIFT 28
+ #define BRB_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM063_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_E5_SHIFT 25
+ #define BRB_REG_PRTY_MASK_H_0_MEM047_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM047_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM047_I_MEM_PRTY_BB_SHIFT 20
+ #define BRB_REG_PRTY_MASK_H_0_MEM047_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM047_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM047_I_MEM_PRTY_E5_SHIFT 26
+ #define BRB_REG_PRTY_MASK_H_0_MEM048_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM048_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM048_I_MEM_PRTY_BB_SHIFT 21
+ #define BRB_REG_PRTY_MASK_H_0_MEM048_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM048_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM048_I_MEM_PRTY_E5_SHIFT 27
+ #define BRB_REG_PRTY_MASK_H_0_MEM049_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM049_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM049_I_MEM_PRTY_BB_SHIFT 22
+ #define BRB_REG_PRTY_MASK_H_0_MEM049_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM049_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM049_I_MEM_PRTY_E5_SHIFT 28
+ #define BRB_REG_PRTY_MASK_H_0_MEM050_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM050_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM050_I_MEM_PRTY_BB_SHIFT 23
+ #define BRB_REG_PRTY_MASK_H_0_MEM050_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM050_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM050_I_MEM_PRTY_E5_SHIFT 29
+ #define BRB_REG_PRTY_MASK_H_0_MEM051_I_MEM_PRTY_BB (0x1<<24) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM051_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM051_I_MEM_PRTY_BB_SHIFT 24
+ #define BRB_REG_PRTY_MASK_H_0_MEM051_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM051_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_0_MEM051_I_MEM_PRTY_E5_SHIFT 30
#define BRB_REG_PRTY_MASK_H_0_MEM070_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM070_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_0_MEM070_I_MEM_PRTY_K2_SHIFT 16
#define BRB_REG_PRTY_MASK_H_0_MEM069_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM069_I_MEM_PRTY .
@@ -49737,26 +51027,12 @@
#define BRB_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_K2_SHIFT 26
#define BRB_REG_PRTY_MASK_H_0_MEM062_I_MEM_PRTY_K2 (0x1<<27) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM062_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_0_MEM062_I_MEM_PRTY_K2_SHIFT 27
- #define BRB_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_K2 (0x1<<28) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM063_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_K2_SHIFT 28
- #define BRB_REG_PRTY_MASK_H_0_MEM064_I_MEM_PRTY_K2 (0x1<<29) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM064_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_0_MEM064_I_MEM_PRTY_K2_SHIFT 29
#define BRB_REG_PRTY_MASK_H_0_MEM065_I_MEM_PRTY_K2 (0x1<<30) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM065_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_0_MEM065_I_MEM_PRTY_K2_SHIFT 30
#define BRB_REG_PRTY_MASK_H_0_MEM045_I_MEM_PRTY_BB (0x1<<18) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM045_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_0_MEM045_I_MEM_PRTY_BB_SHIFT 18
#define BRB_REG_PRTY_MASK_H_0_MEM046_I_MEM_PRTY_BB (0x1<<19) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM046_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_0_MEM046_I_MEM_PRTY_BB_SHIFT 19
- #define BRB_REG_PRTY_MASK_H_0_MEM047_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM047_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_0_MEM047_I_MEM_PRTY_BB_SHIFT 20
- #define BRB_REG_PRTY_MASK_H_0_MEM048_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM048_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_0_MEM048_I_MEM_PRTY_BB_SHIFT 21
- #define BRB_REG_PRTY_MASK_H_0_MEM049_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM049_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_0_MEM049_I_MEM_PRTY_BB_SHIFT 22
- #define BRB_REG_PRTY_MASK_H_0_MEM050_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM050_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_0_MEM050_I_MEM_PRTY_BB_SHIFT 23
- #define BRB_REG_PRTY_MASK_H_0_MEM051_I_MEM_PRTY_BB (0x1<<24) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM051_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_0_MEM051_I_MEM_PRTY_BB_SHIFT 24
#define BRB_REG_PRTY_MASK_H_0_MEM052_I_MEM_PRTY_BB (0x1<<25) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM052_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_0_MEM052_I_MEM_PRTY_BB_SHIFT 25
#define BRB_REG_PRTY_MASK_H_0_MEM041_I_MEM_PRTY_BB (0x1<<26) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM041_I_MEM_PRTY .
@@ -49769,17 +51045,119 @@
#define BRB_REG_PRTY_MASK_H_0_MEM044_I_MEM_PRTY_BB_SHIFT 29
#define BRB_REG_PRTY_MASK_H_0_MEM040_I_MEM_PRTY_BB (0x1<<30) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_0.MEM040_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_0_MEM040_I_MEM_PRTY_BB_SHIFT 30
-#define BRB_REG_PRTY_MASK_H_1_BB_K2 0x340414UL //Access:RW DataWidth:0x1e // Multi Field Register.
+#define BRB_REG_PRTY_MASK_H_1 0x340414UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define BRB_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM052_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_K2_SHIFT 10
+ #define BRB_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM052_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_E5_SHIFT 0
+ #define BRB_REG_PRTY_MASK_H_1_MEM053_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM053_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM053_I_MEM_PRTY_E5_SHIFT 1
+ #define BRB_REG_PRTY_MASK_H_1_MEM054_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM054_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM054_I_MEM_PRTY_E5_SHIFT 2
+ #define BRB_REG_PRTY_MASK_H_1_MEM055_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM055_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM055_I_MEM_PRTY_E5_SHIFT 3
+ #define BRB_REG_PRTY_MASK_H_1_MEM056_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM056_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM056_I_MEM_PRTY_E5_SHIFT 4
+ #define BRB_REG_PRTY_MASK_H_1_MEM057_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM057_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM057_I_MEM_PRTY_E5_SHIFT 5
+ #define BRB_REG_PRTY_MASK_H_1_MEM058_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM058_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM058_I_MEM_PRTY_E5_SHIFT 6
+ #define BRB_REG_PRTY_MASK_H_1_MEM059_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM059_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM059_I_MEM_PRTY_E5_SHIFT 7
+ #define BRB_REG_PRTY_MASK_H_1_MEM060_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM060_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM060_I_MEM_PRTY_E5_SHIFT 8
+ #define BRB_REG_PRTY_MASK_H_1_MEM061_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM061_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM061_I_MEM_PRTY_E5_SHIFT 9
+ #define BRB_REG_PRTY_MASK_H_1_MEM062_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM062_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM062_I_MEM_PRTY_E5_SHIFT 10
+ #define BRB_REG_PRTY_MASK_H_1_MEM039_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM039_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM039_I_MEM_PRTY_E5_SHIFT 11
+ #define BRB_REG_PRTY_MASK_H_1_MEM040_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM040_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM040_I_MEM_PRTY_E5_SHIFT 12
+ #define BRB_REG_PRTY_MASK_H_1_MEM041_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM041_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM041_I_MEM_PRTY_E5_SHIFT 13
+ #define BRB_REG_PRTY_MASK_H_1_MEM042_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM042_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM042_I_MEM_PRTY_E5_SHIFT 14
+ #define BRB_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM043_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_E5_SHIFT 15
+ #define BRB_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM044_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_K2_SHIFT 11
+ #define BRB_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM044_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_E5_SHIFT 16
+ #define BRB_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM045_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_K2_SHIFT 3
+ #define BRB_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM045_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_E5_SHIFT 17
+ #define BRB_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM046_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_K2_SHIFT 4
+ #define BRB_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM046_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_E5_SHIFT 18
+ #define BRB_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM038_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_K2_SHIFT 17
+ #define BRB_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM038_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_E5_SHIFT 19
+ #define BRB_REG_PRTY_MASK_H_1_MEM024_I_MEM_PRTY_K2 (0x1<<28) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM024_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM024_I_MEM_PRTY_K2_SHIFT 28
+ #define BRB_REG_PRTY_MASK_H_1_MEM024_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM024_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM024_I_MEM_PRTY_E5_SHIFT 20
+ #define BRB_REG_PRTY_MASK_H_1_MEM025_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM025_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM025_I_MEM_PRTY_BB_SHIFT 13
+ #define BRB_REG_PRTY_MASK_H_1_MEM025_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM025_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM025_I_MEM_PRTY_E5_SHIFT 21
+ #define BRB_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_BB (0x1<<0) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM026_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_BB_SHIFT 0
+ #define BRB_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM026_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_E5_SHIFT 22
+ #define BRB_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM027_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_BB_SHIFT 1
+ #define BRB_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM027_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_E5_SHIFT 23
+ #define BRB_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_BB (0x1<<8) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM032_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_BB_SHIFT 8
+ #define BRB_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM032_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_K2_SHIFT 14
+ #define BRB_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM032_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_E5_SHIFT 24
+ #define BRB_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM031_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_BB_SHIFT 7
+ #define BRB_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM031_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_K2_SHIFT 13
+ #define BRB_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM031_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_E5_SHIFT 25
+ #define BRB_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM028_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_BB_SHIFT 2
+ #define BRB_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM028_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_E5_SHIFT 26
+ #define BRB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM029_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_BB_SHIFT 3
+ #define BRB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_K2 (0x1<<29) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM029_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_K2_SHIFT 29
+ #define BRB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM029_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_E5_SHIFT 27
+ #define BRB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM030_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_BB_SHIFT 6
+ #define BRB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM030_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_K2_SHIFT 12
+ #define BRB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM030_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_E5_SHIFT 28
+ #define BRB_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_BB_SHIFT 9
+ #define BRB_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_K2_SHIFT 21
+ #define BRB_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_E5_SHIFT 29
+ #define BRB_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM018_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_BB_SHIFT 10
+ #define BRB_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM018_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_K2_SHIFT 22
+ #define BRB_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM018_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_E5_SHIFT 30
#define BRB_REG_PRTY_MASK_H_1_MEM066_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM066_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM066_I_MEM_PRTY_K2_SHIFT 0
#define BRB_REG_PRTY_MASK_H_1_MEM067_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM067_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM067_I_MEM_PRTY_K2_SHIFT 1
#define BRB_REG_PRTY_MASK_H_1_MEM068_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM068_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM068_I_MEM_PRTY_K2_SHIFT 2
- #define BRB_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM045_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_K2_SHIFT 3
- #define BRB_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM046_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_K2_SHIFT 4
#define BRB_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM047_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_K2_SHIFT 5
#define BRB_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM048_I_MEM_PRTY .
@@ -49790,30 +51168,12 @@
#define BRB_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_K2_SHIFT 8
#define BRB_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM051_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_K2_SHIFT 9
- #define BRB_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM052_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_K2_SHIFT 10
- #define BRB_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM044_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_K2_SHIFT 11
- #define BRB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM030_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_BB_SHIFT 6
- #define BRB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM030_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_K2_SHIFT 12
- #define BRB_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM031_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_BB_SHIFT 7
- #define BRB_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM031_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_K2_SHIFT 13
- #define BRB_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_BB (0x1<<8) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM032_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_BB_SHIFT 8
- #define BRB_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM032_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_K2_SHIFT 14
#define BRB_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM033_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_BB_SHIFT 4
#define BRB_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_K2 (0x1<<15) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM033_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_K2_SHIFT 15
#define BRB_REG_PRTY_MASK_H_1_MEM037_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM037_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM037_I_MEM_PRTY_K2_SHIFT 16
- #define BRB_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM038_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_K2_SHIFT 17
#define BRB_REG_PRTY_MASK_H_1_MEM034_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM034_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM034_I_MEM_PRTY_BB_SHIFT 5
#define BRB_REG_PRTY_MASK_H_1_MEM034_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM034_I_MEM_PRTY .
@@ -49822,14 +51182,6 @@
#define BRB_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_K2_SHIFT 19
#define BRB_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM036_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_K2_SHIFT 20
- #define BRB_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_BB_SHIFT 9
- #define BRB_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM017_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM017_I_MEM_PRTY_K2_SHIFT 21
- #define BRB_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM018_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_BB_SHIFT 10
- #define BRB_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM018_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM018_I_MEM_PRTY_K2_SHIFT 22
#define BRB_REG_PRTY_MASK_H_1_MEM019_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM019_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM019_I_MEM_PRTY_BB_SHIFT 11
#define BRB_REG_PRTY_MASK_H_1_MEM019_I_MEM_PRTY_K2 (0x1<<23) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM019_I_MEM_PRTY .
@@ -49844,131 +51196,172 @@
#define BRB_REG_PRTY_MASK_H_1_MEM022_I_MEM_PRTY_K2_SHIFT 26
#define BRB_REG_PRTY_MASK_H_1_MEM023_I_MEM_PRTY_K2 (0x1<<27) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM023_I_MEM_PRTY .
#define BRB_REG_PRTY_MASK_H_1_MEM023_I_MEM_PRTY_K2_SHIFT 27
- #define BRB_REG_PRTY_MASK_H_1_MEM024_I_MEM_PRTY_K2 (0x1<<28) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM024_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM024_I_MEM_PRTY_K2_SHIFT 28
- #define BRB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM029_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_BB_SHIFT 3
- #define BRB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_K2 (0x1<<29) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM029_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_K2_SHIFT 29
- #define BRB_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_BB (0x1<<0) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM026_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_BB_SHIFT 0
- #define BRB_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM027_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_BB_SHIFT 1
- #define BRB_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM028_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_BB_SHIFT 2
- #define BRB_REG_PRTY_MASK_H_1_MEM025_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_1.MEM025_I_MEM_PRTY .
- #define BRB_REG_PRTY_MASK_H_1_MEM025_I_MEM_PRTY_BB_SHIFT 13
+#define BRB_REG_MEM001_RF_ECC_ERROR_CONNECT_BB 0x340420UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[0].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BRB_REG_PRTY_MASK_H_2_E5 0x340424UL //Access:RW DataWidth:0x1 // Multi Field Register.
+ #define BRB_REG_PRTY_MASK_H_2_MEM023_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: BRB_REG_PRTY_STS_H_2.MEM023_I_MEM_PRTY .
+ #define BRB_REG_PRTY_MASK_H_2_MEM023_I_MEM_PRTY_E5_SHIFT 0
+#define BRB_REG_MEM008_RF_ECC_ERROR_CONNECT_BB 0x340424UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[1].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BRB_REG_MEM009_RF_ECC_ERROR_CONNECT_BB 0x340428UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[2].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BRB_REG_MEM010_RF_ECC_ERROR_CONNECT_BB 0x34042cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[3].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BRB_REG_MEM_ECC_ENABLE_0_BB 0x340460UL //Access:RW DataWidth:0x10 // Multi Field Register.
#define BRB_REG_MEM_ECC_ENABLE_0_K2 0x340420UL //Access:RW DataWidth:0x10 // Multi Field Register.
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2_SHIFT 0
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_BB_K2_SHIFT 1
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB_K2_SHIFT 2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB_K2 (0x1<<3) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB_K2_SHIFT 3
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_BB_K2 (0x1<<4) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_BB_K2_SHIFT 4
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_BB_K2 (0x1<<5) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_BB_K2_SHIFT 5
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_BB_K2 (0x1<<6) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_BB_K2_SHIFT 6
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB_K2 (0x1<<7) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB_K2_SHIFT 7
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_K2 (0x1<<8) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_K2_SHIFT 8
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_BB_K2 (0x1<<9) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_BB_K2_SHIFT 9
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2 (0x1<<10) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2_SHIFT 10
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_BB_K2 (0x1<<11) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_BB_K2_SHIFT 11
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_BB_K2 (0x1<<12) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_BB_K2_SHIFT 12
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2 (0x1<<13) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2_SHIFT 13
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2 (0x1<<14) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2_SHIFT 14
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_BB_K2 (0x1<<15) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_BB_K2_SHIFT 15
-#define BRB_REG_MEM001_RF_ECC_ERROR_CONNECT_BB 0x340420UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[0].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BRB_REG_MEM_ECC_ENABLE_0_E5 0x340430UL //Access:RW DataWidth:0x18 // Multi Field Register.
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN (0x1<<0) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_SHIFT 0
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN (0x1<<1) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_SHIFT 1
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN (0x1<<2) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_SHIFT 2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN (0x1<<3) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_SHIFT 3
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN (0x1<<4) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_SHIFT 4
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN (0x1<<5) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_SHIFT 5
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN (0x1<<6) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_SHIFT 6
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN (0x1<<7) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_SHIFT 7
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN (0x1<<8) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_SHIFT 8
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN (0x1<<9) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_SHIFT 9
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN (0x1<<10) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_SHIFT 10
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN (0x1<<11) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_SHIFT 11
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN (0x1<<12) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_SHIFT 12
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN (0x1<<13) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_SHIFT 13
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN (0x1<<14) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_SHIFT 14
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN (0x1<<15) // Enable ECC for memory ecc instance brb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_SHIFT 15
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC1_EN_E5 (0x1<<16) // Enable ECC for memory ecc instance brb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC1_EN_E5_SHIFT 16
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC2_EN_E5 (0x1<<17) // Enable ECC for memory ecc instance brb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC2_EN_E5_SHIFT 17
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC1_EN_E5 (0x1<<18) // Enable ECC for memory ecc instance brb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC1_EN_E5_SHIFT 18
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC2_EN_E5 (0x1<<19) // Enable ECC for memory ecc instance brb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC2_EN_E5_SHIFT 19
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC1_EN_E5 (0x1<<20) // Enable ECC for memory ecc instance brb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC1_EN_E5_SHIFT 20
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC2_EN_E5 (0x1<<21) // Enable ECC for memory ecc instance brb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM021_I_ECC2_EN_E5_SHIFT 21
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC1_EN_E5 (0x1<<22) // Enable ECC for memory ecc instance brb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC1_EN_E5_SHIFT 22
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC2_EN_E5 (0x1<<23) // Enable ECC for memory ecc instance brb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC2_EN_E5_SHIFT 23
+#define BRB_REG_MEM011_RF_ECC_ERROR_CONNECT_BB 0x340430UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[4].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BRB_REG_MEM_ECC_PARITY_ONLY_0_BB 0x340464UL //Access:RW DataWidth:0x10 // Multi Field Register.
#define BRB_REG_MEM_ECC_PARITY_ONLY_0_K2 0x340424UL //Access:RW DataWidth:0x10 // Multi Field Register.
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2_SHIFT 0
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_BB_K2_SHIFT 1
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB_K2_SHIFT 2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB_K2 (0x1<<3) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB_K2_SHIFT 3
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_BB_K2 (0x1<<4) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_BB_K2_SHIFT 4
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_BB_K2 (0x1<<5) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_BB_K2_SHIFT 5
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_BB_K2 (0x1<<6) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_BB_K2_SHIFT 6
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB_K2 (0x1<<7) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB_K2_SHIFT 7
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_K2 (0x1<<8) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_K2_SHIFT 8
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_BB_K2 (0x1<<9) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_BB_K2_SHIFT 9
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2 (0x1<<10) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2_SHIFT 10
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_BB_K2 (0x1<<11) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_BB_K2_SHIFT 11
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_BB_K2 (0x1<<12) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_BB_K2_SHIFT 12
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2 (0x1<<13) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2_SHIFT 13
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2 (0x1<<14) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2_SHIFT 14
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_BB_K2 (0x1<<15) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_BB_K2_SHIFT 15
-#define BRB_REG_MEM008_RF_ECC_ERROR_CONNECT_BB 0x340424UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[1].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BRB_REG_MEM_ECC_PARITY_ONLY_0_E5 0x340434UL //Access:RW DataWidth:0x18 // Multi Field Register.
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY (0x1<<0) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_SHIFT 0
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY (0x1<<1) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_SHIFT 1
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY (0x1<<2) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_SHIFT 2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY (0x1<<3) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_SHIFT 3
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY (0x1<<4) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_SHIFT 4
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY (0x1<<5) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_SHIFT 5
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY (0x1<<6) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_SHIFT 6
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY (0x1<<7) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_SHIFT 7
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY (0x1<<8) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_SHIFT 8
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY (0x1<<9) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_SHIFT 9
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY (0x1<<10) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_SHIFT 10
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY (0x1<<11) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_SHIFT 11
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY (0x1<<12) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_SHIFT 12
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY (0x1<<13) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_SHIFT 13
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY (0x1<<14) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_SHIFT 14
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY (0x1<<15) // Set parity only for memory ecc instance brb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_SHIFT 15
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC1_PRTY_E5 (0x1<<16) // Set parity only for memory ecc instance brb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC1_PRTY_E5_SHIFT 16
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC2_PRTY_E5 (0x1<<17) // Set parity only for memory ecc instance brb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC2_PRTY_E5_SHIFT 17
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC1_PRTY_E5 (0x1<<18) // Set parity only for memory ecc instance brb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC1_PRTY_E5_SHIFT 18
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC2_PRTY_E5 (0x1<<19) // Set parity only for memory ecc instance brb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC2_PRTY_E5_SHIFT 19
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC1_PRTY_E5 (0x1<<20) // Set parity only for memory ecc instance brb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC1_PRTY_E5_SHIFT 20
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC2_PRTY_E5 (0x1<<21) // Set parity only for memory ecc instance brb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM021_I_ECC2_PRTY_E5_SHIFT 21
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC1_PRTY_E5 (0x1<<22) // Set parity only for memory ecc instance brb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC1_PRTY_E5_SHIFT 22
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC2_PRTY_E5 (0x1<<23) // Set parity only for memory ecc instance brb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC2_PRTY_E5_SHIFT 23
+#define BRB_REG_MEM012_RF_ECC_ERROR_CONNECT_BB 0x340434UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[5].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_BB 0x340468UL //Access:RC DataWidth:0x10 // Multi Field Register.
#define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_K2 0x340428UL //Access:RC DataWidth:0x10 // Multi Field Register.
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2_SHIFT 0
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_BB_K2_SHIFT 1
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_BB_K2_SHIFT 2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_BB_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_BB_K2_SHIFT 3
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_BB_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_BB_K2_SHIFT 4
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_BB_K2 (0x1<<5) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_BB_K2_SHIFT 5
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_BB_K2 (0x1<<6) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_BB_K2_SHIFT 6
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_BB_K2 (0x1<<7) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_BB_K2_SHIFT 7
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB_K2 (0x1<<8) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB_K2_SHIFT 8
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_BB_K2 (0x1<<9) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_BB_K2_SHIFT 9
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2 (0x1<<10) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2_SHIFT 10
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_BB_K2 (0x1<<11) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_BB_K2_SHIFT 11
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_BB_K2 (0x1<<12) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_BB_K2_SHIFT 12
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2 (0x1<<13) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2_SHIFT 13
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2 (0x1<<14) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2_SHIFT 14
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_BB_K2 (0x1<<15) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
- #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_BB_K2_SHIFT 15
-#define BRB_REG_MEM009_RF_ECC_ERROR_CONNECT_BB 0x340428UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[2].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0x340438UL //Access:RC DataWidth:0x18 // Multi Field Register.
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT (0x1<<0) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_SHIFT 0
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_SHIFT 1
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_SHIFT 2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT (0x1<<3) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_SHIFT 3
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT (0x1<<4) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_SHIFT 4
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT (0x1<<5) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_SHIFT 5
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT (0x1<<6) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_SHIFT 6
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT (0x1<<7) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_SHIFT 7
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT (0x1<<8) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_SHIFT 8
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT (0x1<<9) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_SHIFT 9
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT (0x1<<10) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_SHIFT 10
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT (0x1<<11) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_SHIFT 11
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT (0x1<<12) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_SHIFT 12
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT (0x1<<13) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_SHIFT 13
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT (0x1<<14) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_SHIFT 14
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT (0x1<<15) // Record if a correctable error occurred on memory ecc instance brb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module brb_bb_bank_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_SHIFT 15
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC1_CORRECT_E5 (0x1<<16) // Record if a correctable error occurred on memory ecc instance brb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC1_CORRECT_E5_SHIFT 16
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC2_CORRECT_E5 (0x1<<17) // Record if a correctable error occurred on memory ecc instance brb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC2_CORRECT_E5_SHIFT 17
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC1_CORRECT_E5 (0x1<<18) // Record if a correctable error occurred on memory ecc instance brb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC1_CORRECT_E5_SHIFT 18
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC2_CORRECT_E5 (0x1<<19) // Record if a correctable error occurred on memory ecc instance brb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC2_CORRECT_E5_SHIFT 19
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC1_CORRECT_E5 (0x1<<20) // Record if a correctable error occurred on memory ecc instance brb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC1_CORRECT_E5_SHIFT 20
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC2_CORRECT_E5 (0x1<<21) // Record if a correctable error occurred on memory ecc instance brb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM021_I_ECC2_CORRECT_E5_SHIFT 21
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC1_CORRECT_E5 (0x1<<22) // Record if a correctable error occurred on memory ecc instance brb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC1_CORRECT_E5_SHIFT 22
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC2_CORRECT_E5 (0x1<<23) // Record if a correctable error occurred on memory ecc instance brb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module brb_link_list_k2
+ #define BRB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC2_CORRECT_E5_SHIFT 23
+#define BRB_REG_MEM013_RF_ECC_ERROR_CONNECT_BB 0x340438UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[6].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BRB_REG_MEM_ECC_EVENTS_BB 0x34046cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define BRB_REG_MEM_ECC_EVENTS_K2 0x34042cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
-#define BRB_REG_MEM010_RF_ECC_ERROR_CONNECT_BB 0x34042cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[3].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BRB_REG_MEM011_RF_ECC_ERROR_CONNECT_BB 0x340430UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[4].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BRB_REG_MEM012_RF_ECC_ERROR_CONNECT_BB 0x340434UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[5].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BRB_REG_MEM013_RF_ECC_ERROR_CONNECT_BB 0x340438UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[6].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BRB_REG_MEM_ECC_EVENTS_E5 0x34043cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define BRB_REG_MEM014_RF_ECC_ERROR_CONNECT_BB 0x34043cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[7].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BRB_REG_MEM015_RF_ECC_ERROR_CONNECT_BB 0x340440UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[8].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BRB_REG_MEM016_RF_ECC_ERROR_CONNECT_BB 0x340444UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: brb.BB_BANK_BB_GEN_FOR[9].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
@@ -50214,8 +51607,6 @@
#define BRB_REG_RC_PKT_PRIORITY_TMLD_RC_PRI_SHIFT 8
#define BRB_REG_WC_NO_DEAD_CYCLES_EN_K2_E5 0x340dd0UL //Access:RW DataWidth:0x8 // There is bit for each PACKET write client. Bit 0 suits to client 0 and so on. If bit is set then packet will be written without intra packet dead cycles .B0-PRM; B1 -MSDM ; B2 -TSDM; B3 -parser ::s/NO_DEAD_CYCLE_RST/1/g in Reset
#define BRB_REG_WC_HIGHEST_PRI_EN_K2_E5 0x340dd4UL //Access:RW DataWidth:0x8 // There is bit for each PACKET write client. Bit 0 suits to client 0 and so on. If bit is set then highest priority mechanism is enabled for the corresponding client. B0-PRM; B1 -MSDM ; B2 -TSDM; B3 -parser ::s/NO_DEAD_CYCLE_RST/1/g in Reset
-#define BRB_REG_WC_LL_HIGH_PRI_E5 0x340dd8UL //Access:RW DataWidth:0x8 // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
-#define BRB_REG_BR_FIX_HIGH_PRI_COLLISION_E5 0x340ddcUL //Access:RW DataWidth:0x1 // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
#define BRB_REG_RC_SOP_PRIORITY 0x340e08UL //Access:RW DataWidth:0x2 // This is priority for SOP read client to Big RAM arbiter. Possible values are 1-3. Priority 3 is highest::s/RC_SOP_PRI_RST/5/g in Reset Value.
#define BRB_REG_RC_EOP_PRIORITY 0x340e0cUL //Access:RW DataWidth:0x2 // This is priority for EOP read client to BIG RAM arbiters. Possible values are 0-7. Priority 7 is highest::s/RC_EOP_PRI_RST/4/g in Reset Value::/EOP_RC_EN/d in Existance.
#define BRB_REG_WC_PRIORITY 0x340e10UL //Access:RW DataWidth:0x2 // This is priority for packet request of write client group to Big RAM arbiter. Possible values are 1-3. Priority 3 is highest::s/RC_WC_PRI_RST/7/g in Reset Value.
@@ -50431,7 +51822,8 @@
#define BRB_REG_STOPPED_RLS_REQ 0x341900UL //Access:WB_R DataWidth:0x4c // If there is release error then request from read client will be copied to this register for each read packet client interface: 0-PRM; 1-MSDM ; 2-TSDM; 3-TMLD; 4-PRS. Message spelling (MSB->LSB): opaque[9:0]; rls_to_do[15:0]; queue_number[3:0]; packet_length[13:0]; rls_left[9:0]; start_block[12:0]
#define BRB_REG_STOPPED_RLS_REQ_SIZE 20
#define BRB_REG_PER_TC_COUNTERS 0x341a00UL //Access:R DataWidth:0x18 // Per-port per-TC counters. In BigBear, entries 0-7 are port 0 (main 0) TCs 0-7. Entries 8-16 are port 1 (lb 0) TCs 0-8. Similarly for entries 17-24 for port 2 and 25-33 for port 3. In K2, entries 0-3 are port 0 TCs 0-3. Entries 4-8 are port 1 TCs 0-3, 8. Similarly for the other 6 ports.
-#define BRB_REG_PER_TC_COUNTERS_SIZE 34
+#define BRB_REG_PER_TC_COUNTERS_SIZE_BB_K2 34
+#define BRB_REG_PER_TC_COUNTERS_SIZE_E5 36
#define BRB_REG_WC_STATUS_0 0x341b00UL //Access:WB_R DataWidth:0x5b // Debug register. FIFO counters status of write clients. B7:0 - NIG main port0; B15:8 - NIG LB port0; B23:16 - NIG main port1; B31:24 - NIG LB port1. 8 bits spelling of each client: {cos_cnt[90:88]; notify_fifo[87:80]; pkt_avail_fifo[79:72]; len_fifo[71:64]; sop_fifo[63:56]; eop_fifo[55:48]; queue_fifo[47:40]; next_point_fifo[39:32]; strt_fifo[31:24]; second_dscr_fifo[23:16]; inp_fifo[15:8]; ll_req_fifo[7:4]; free_point_fifo[3:0]}
#define BRB_REG_WC_STATUS_0_SIZE 4
#define BRB_REG_WC_STATUS_1 0x341b10UL //Access:WB_R DataWidth:0x5b // Debug register. FIFO counters status of write clients. B7:0 - NIG main port0; B15:8 - NIG LB port0; B23:16 - NIG main port1; B31:24 - NIG LB port1. 8 bits spelling of each client: {cos_cnt[90:88]; notify_fifo[87:80]; pkt_avail_fifo[79:72]; len_fifo[71:64]; sop_fifo[63:56]; eop_fifo[55:48]; queue_fifo[47:40]; next_point_fifo[39:32]; strt_fifo[31:24]; second_dscr_fifo[23:16]; inp_fifo[15:8]; ll_req_fifo[7:4]; free_point_fifo[3:0]}
@@ -50452,14 +51844,21 @@
#define BRB_REG_MEMCTRL_CMD_BB 0x341c04UL //Access:RW DataWidth:0x8 // command to CPU BIST
#define BRB_REG_MEMCTRL_ADDRESS_BB 0x341c08UL //Access:RW DataWidth:0x8 // address to CPU BIST
#define BRB_REG_MEMCTRL_STATUS_BB 0x341c0cUL //Access:R DataWidth:0x20 // status from CPU BIST
+#define BRB_REG_WC_LL_HIGH_PRI_E5 0x344000UL //Access:RW DataWidth:0x8 // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
+#define BRB_REG_BR_FIX_HIGH_PRI_COLLISION_E5 0x344004UL //Access:RW DataWidth:0x1 // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
+#define BRB_REG_UNIFIED_SHARED_AREA_E5 0x344008UL //Access:RW DataWidth:0x1 // When this bit is set, then the shared area is common for all ports. When this bit is clear, then each MAC has its own shared area.
+#define BRB_REG_PORT_SHARED_THRESHOLD_OFF_E5 0x34400cUL //Access:RW DataWidth:0xe // When the total port's used shared area crosses this number, over subscription is set for this port.
+#define BRB_REG_PORT_SHARED_THRESHOLD_ON_E5 0x344010UL //Access:RW DataWidth:0xe // When the total port's used shared area crosses (down) this number, over subscription is reset for this port.
+#define BRB_REG_LIMIT_OVERSUBSCRITION_FULL_MAIN_E5 0x344014UL //Access:RW DataWidth:0x10 // Bit enable per each main TC. When the bit is set, and the port's oversubscription status is changed, full signal will be changed accordingly.
+#define BRB_REG_LIMIT_OVERSUBSCRITION_FULL_LB_E5 0x344018UL //Access:RW DataWidth:0x14 // Bit enable per each LB TC. When the bit is set, and the port's oversubscription status is changed, full signal will be changed accordingly.
+#define BRB_REG_LIMIT_OVERSUBSCRITION_PAUSE_MAIN_E5 0x34401cUL //Access:RW DataWidth:0x10 // Bit enable per each main TC. When the bit is set, and the port's oversubscription status is changed, pause signal will be changed accordingly.
+#define BRB_REG_LIMIT_OVERSUBSCRITION_PAUSE_LB_E5 0x344020UL //Access:RW DataWidth:0x14 // Bit enable per each LB TC. When the bit is set, and the port's oversubscription status is changed, pause signal will be changed accordingly.
#define BRB_REG_LINK_LIST_BB_K2 0x348000UL //Access:RW DataWidth:0xe // Link list dual port memory that contains per-block descriptor::s/BLK_NUM/4800/g in memory size::s/BLK_WDTH_PLUS_SOP_EN/14/g in Data Width::s/BLK_WDTH/13/g in Address Width.
-#define BRB_REG_LINK_LIST_E5 0x350000UL //Access:RW DataWidth:0xf // Link list dual port memory that contains per-block descriptor::s/BLK_NUM/4800/g in memory size::s/BLK_WDTH_PLUS_SOP_EN/14/g in Data Width::s/BLK_WDTH/13/g in Address Width.
+#define BRB_REG_LINK_LIST_E5 0x350000UL //Access:RW DataWidth:0xf // Link list dual port memory that contains per-block descriptor::s/BLK_NUM/4800/g in memory size::s/BLK_WDTH_PLUS_SOP_EN/14/g in Data Width::s/BLK_WDTH/13/g in Address Width. When reading link list during high high traffic, there might be a timeout for the read request.
#define BRB_REG_LINK_LIST_SIZE_BB 4800
#define BRB_REG_LINK_LIST_SIZE_K2 7680
#define BRB_REG_LINK_LIST_SIZE_E5 8832
#define XYLD_REG_SCBD_STRICT_PRIO 0x4c0000UL //Access:RW DataWidth:0x4 // Each bit indicates if the current queue ahs a strict prioirty; 1: The current queue has strict prority; 0: The current queue is part of the WRR scheme.
-#define XYLD_REG_SCBD_WRR_WEIGHT_Q0 0x4c0004UL //Access:RW DataWidth:0x2 // The weight of queue 0 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
-#define XYLD_REG_SCBD_WRR_WEIGHT_Q1 0x4c0008UL //Access:RW DataWidth:0x2 // The weight of queue 1 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
#define XYLD_REG_FOCI_FOC_CREDITS 0x4c000cUL //Access:RW DataWidth:0x6 // Initial credit of the FOC itnerface.
#define XYLD_REG_PCII_PXP_RD_REQ_CREDITS 0x4c0010UL //Access:RW DataWidth:0x2 // Initial credit for the PCI interface::/TMLD_DISCARD/d in TMLD::/YULD_DISCARD/d in YULD.
#define XYLD_REG_PCII_RD_RESP_NUM_SLOTS 0x4c0014UL //Access:RW DataWidth:0x3 // Number of slots at the PCI read response buffer: 3=4/8 slots of 512 bytes;4=8/16 slots of 256 bytes;5=16/32 slots of 128 bytes;6=32/64 slots of 64 bytes; 7=64/128 slots of 32 bytes::/TMLD_DISCARD/d in TMLD::/YULD_DISCARD/d in YULD.
@@ -50572,56 +51971,96 @@
#define XYLD_REG_INT_STS_CLR_LD_CID_MINI_CACHE_ERR_SHIFT 4
#define XYLD_REG_INT_STS_CLR_LD_LONG_MESSAGE (0x1<<5) // This interrupt is raised when a FOC message is larger than the max credit value on the FOC itnerface.
#define XYLD_REG_INT_STS_CLR_LD_LONG_MESSAGE_SHIFT 5
-#define XYLD_REG_PRTY_MASK_H_0_BB_K2 0x4c0204UL //Access:RW DataWidth:0x9 // Multi Field Register.
- #define XYLD_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
- #define XYLD_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define XYLD_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
- #define XYLD_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2_SHIFT 1
- #define XYLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define XYLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 2
- #define XYLD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define XYLD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 3
- #define XYLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define XYLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 4
- #define XYLD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define XYLD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 5
- #define XYLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define XYLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 6
+#define XYLD_REG_PRTY_MASK_H_0 0x4c0204UL //Access:RW DataWidth:0xf // Multi Field Register.
+ #define XYLD_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_E5_SHIFT 0
+ #define XYLD_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_E5_SHIFT 1
+ #define XYLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<2) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 2
+ #define XYLD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<3) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 3
+ #define XYLD_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5_SHIFT 4
+ #define XYLD_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5_SHIFT 5
#define XYLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define XYLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 7
+ #define XYLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 6
+ #define XYLD_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 7
+ #define XYLD_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 8
+ #define XYLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 6
+ #define XYLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 9
+ #define XYLD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 10
+ #define XYLD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define XYLD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 11
+ #define XYLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 4
+ #define XYLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 12
#define XYLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define XYLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 8
-#define XYLD_REG_MEM_ECC_ENABLE_0_BB_K2 0x4c0210UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define XYLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 13
+ #define XYLD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 14
+ #define XYLD_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2_SHIFT 0
+ #define XYLD_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: XYLD_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
+ #define XYLD_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2_SHIFT 1
+#define XYLD_REG_MEM_ECC_ENABLE_0 0x4c0210UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define XYLD_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance xyld.i_msgq_ram.i_ecc in module xyld_i_msgq_ram_1
+ #define XYLD_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_E5_SHIFT 0
+ #define XYLD_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance xyld.i_pci_rsep_buf_ram.i_ecc in module xyld_i_pci_rsep_buf_ram
+ #define XYLD_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_E5_SHIFT 1
#define XYLD_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance xyld.i_msgq_ram.i_ecc in module xyld_i_msgq_ram_1
#define XYLD_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_BB_K2_SHIFT 0
#define XYLD_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance xyld.i_pci_rsep_buf_ram.i_ecc in module xyld_i_pci_rsep_buf_ram
#define XYLD_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2_SHIFT 1
-#define XYLD_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x4c0214UL //Access:RW DataWidth:0x2 // Multi Field Register.
+#define XYLD_REG_MEM_ECC_PARITY_ONLY_0 0x4c0214UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define XYLD_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance xyld.i_msgq_ram.i_ecc in module xyld_i_msgq_ram_1
+ #define XYLD_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_E5_SHIFT 0
+ #define XYLD_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance xyld.i_pci_rsep_buf_ram.i_ecc in module xyld_i_pci_rsep_buf_ram
+ #define XYLD_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_E5_SHIFT 1
#define XYLD_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance xyld.i_msgq_ram.i_ecc in module xyld_i_msgq_ram_1
#define XYLD_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_BB_K2_SHIFT 0
#define XYLD_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance xyld.i_pci_rsep_buf_ram.i_ecc in module xyld_i_pci_rsep_buf_ram
#define XYLD_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2_SHIFT 1
-#define XYLD_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x4c0218UL //Access:RC DataWidth:0x2 // Multi Field Register.
+#define XYLD_REG_MEM_ECC_ERROR_CORRECTED_0 0x4c0218UL //Access:RC DataWidth:0x2 // Multi Field Register.
+ #define XYLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance xyld.i_msgq_ram.i_ecc in module xyld_i_msgq_ram_1
+ #define XYLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_E5_SHIFT 0
+ #define XYLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance xyld.i_pci_rsep_buf_ram.i_ecc in module xyld_i_pci_rsep_buf_ram
+ #define XYLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_E5_SHIFT 1
#define XYLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance xyld.i_msgq_ram.i_ecc in module xyld_i_msgq_ram_1
#define XYLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_BB_K2_SHIFT 0
#define XYLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance xyld.i_pci_rsep_buf_ram.i_ecc in module xyld_i_pci_rsep_buf_ram
#define XYLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2_SHIFT 1
-#define XYLD_REG_MEM_ECC_EVENTS_BB_K2 0x4c021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define XYLD_REG_MEM_ECC_EVENTS 0x4c021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define XYLD_REG_DESC_QUEUE_Q0 0x4c0400UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue0 - Debug access.
#define XYLD_REG_DESC_QUEUE_Q0_SIZE 48
#define XYLD_REG_DESC_QUEUE_Q1 0x4c0800UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue1 - Debug access.
#define XYLD_REG_DESC_QUEUE_Q1_SIZE 48
-#define XYLD_REG_L2MA_AGGR_CONFIG1_E5 0x4c0900UL //Access:RW DataWidth:0x13 // Multi Field Register.
+#define XYLD_REG_L2MA_AGGR_CONFIG1_E5 0x4c0900UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define XYLD_REG_L2MA_AGGR_CONFIG1_L2MA_EN_E5 (0x1<<0) // Enables L2 message aggregation
#define XYLD_REG_L2MA_AGGR_CONFIG1_L2MA_EN_E5_SHIFT 0
#define XYLD_REG_L2MA_AGGR_CONFIG1_IGNORE_CM_AGG_MSG_E5 (0x1<<1) // indicates not to perform the aggregation logic if there is no L2MA command in the message (there is no L2MA command if DstStormFlg is reset OR ErrFlg is set). If this configuration is reset, messages without L2MA command are treated like messages with L2MA command where EnL2MA flag in the command is reset (i.e. they break existing aggregation).
#define XYLD_REG_L2MA_AGGR_CONFIG1_IGNORE_CM_AGG_MSG_E5_SHIFT 1
#define XYLD_REG_L2MA_AGGR_CONFIG1_BACK_2_BACK_E5 (0x1<<2) // defines that only back-to-back aggregation is allowed
#define XYLD_REG_L2MA_AGGR_CONFIG1_BACK_2_BACK_E5_SHIFT 2
- #define XYLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5 (0xff<<3) // the minimal queue occupancy below which new aggregations are not created
- #define XYLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5_SHIFT 3
- #define XYLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5 (0xff<<11) // the maximal difference between the serial number of the parent message and the serial number of its child message
- #define XYLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5_SHIFT 11
+ #define XYLD_REG_L2MA_AGGR_CONFIG1_GLOBAL_INC_SN_E5 (0x1<<3) // When this flag is set, all input messages are treated as if their IncSn is set
+ #define XYLD_REG_L2MA_AGGR_CONFIG1_GLOBAL_INC_SN_E5_SHIFT 3
+ #define XYLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5 (0xff<<4) // the minimal queue occupancy below which new aggregations are not created
+ #define XYLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5_SHIFT 4
+ #define XYLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5 (0xff<<12) // the maximal difference between the serial number of the parent message and the serial number of its child message
+ #define XYLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5_SHIFT 12
#define XYLD_REG_L2MA_AGGR_CONFIG2_E5 0x4c0904UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define XYLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_0_E5 (0x3f<<0) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
#define XYLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_0_E5_SHIFT 0
@@ -50631,7 +52070,8 @@
#define XYLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_2_E5_SHIFT 12
#define XYLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_3_E5 (0x3f<<18) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
#define XYLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_3_E5_SHIFT 18
-#define XYLD_REG_L2MA_SAME_OFFSET_SET_0_E5 0x4c0908UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_MAX_NUMBER_IN_QUEUE_E5 0x4c0908UL //Access:RW DataWidth:0x10 // Limit the number of ‘packets’ in the Loader according to the number of parents + childs messages.
+#define XYLD_REG_L2MA_SAME_OFFSET_SET_0_E5 0x4c090cUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_00_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 0.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_00_E5_SHIFT 0
#define XYLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_01_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 0.
@@ -50640,7 +52080,7 @@
#define XYLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_02_E5_SHIFT 16
#define XYLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_03_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 0.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_03_E5_SHIFT 24
-#define XYLD_REG_L2MA_SAME_OFFSET_SET_1_E5 0x4c090cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_SAME_OFFSET_SET_1_E5 0x4c0910UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_10_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 1.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_10_E5_SHIFT 0
#define XYLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_11_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 1.
@@ -50649,7 +52089,7 @@
#define XYLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_12_E5_SHIFT 16
#define XYLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_13_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 1.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_13_E5_SHIFT 24
-#define XYLD_REG_L2MA_SAME_OFFSET_SET_2_E5 0x4c0910UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_SAME_OFFSET_SET_2_E5 0x4c0914UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_20_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 2.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_20_E5_SHIFT 0
#define XYLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_21_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 2.
@@ -50658,7 +52098,7 @@
#define XYLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_22_E5_SHIFT 16
#define XYLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_23_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 2.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_23_E5_SHIFT 24
-#define XYLD_REG_L2MA_SAME_OFFSET_SET_3_E5 0x4c0914UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_SAME_OFFSET_SET_3_E5 0x4c0918UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_30_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 3.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_30_E5_SHIFT 0
#define XYLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_31_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 3.
@@ -50667,7 +52107,7 @@
#define XYLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_32_E5_SHIFT 16
#define XYLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_33_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 3.
#define XYLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_33_E5_SHIFT 24
-#define XYLD_REG_L2MA_SAME_LEN_SET_0_1_E5 0x4c0918UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_SAME_LEN_SET_0_1_E5 0x4c091cUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_00_E5 (0xf<<0) // length in 32b units from the same 00 .
#define XYLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_00_E5_SHIFT 0
#define XYLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_01_E5 (0xf<<4) // length in 32b units from the same 01 .
@@ -50684,7 +52124,7 @@
#define XYLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_12_E5_SHIFT 24
#define XYLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_13_E5 (0xf<<28) // length in 32b units from the same 13 .
#define XYLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_13_E5_SHIFT 28
-#define XYLD_REG_L2MA_SAME_LEN_SET_2_3_E5 0x4c091cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_SAME_LEN_SET_2_3_E5 0x4c0920UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_20_E5 (0xf<<0) // length in 32b units from the same 20 .
#define XYLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_20_E5_SHIFT 0
#define XYLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_21_E5 (0xf<<4) // length in 32b units from the same 21 .
@@ -50701,11 +52141,39 @@
#define XYLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_32_E5_SHIFT 24
#define XYLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_33_E5 (0xf<<28) // length in 32b units from the same 33 .
#define XYLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_33_E5_SHIFT 28
-#define XYLD_REG_L2MA_SAME_MASK_SET_0_E5 0x4c0920UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
-#define XYLD_REG_L2MA_SAME_MASK_SET_1_E5 0x4c0924UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
-#define XYLD_REG_L2MA_SAME_MASK_SET_2_E5 0x4c0928UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
-#define XYLD_REG_L2MA_SAME_MASK_SET_3_E5 0x4c092cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
-#define XYLD_REG_L2MA_DUP_OFFSET_SET_0_E5 0x4c0930UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_0_E5 0x4c0924UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_0_E5 0x4c0928UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_0_E5 0x4c092cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_0_E5 0x4c0930UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_0_E5 0x4c0934UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_0_E5 0x4c0938UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_0_E5 0x4c093cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_0_E5 0x4c0940UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_1_E5 0x4c0944UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_1_E5 0x4c0948UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_1_E5 0x4c094cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_1_E5 0x4c0950UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_1_E5 0x4c0954UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_1_E5 0x4c0958UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_1_E5 0x4c095cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_1_E5 0x4c0960UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_2_E5 0x4c0964UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_2_E5 0x4c0968UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_2_E5 0x4c096cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_2_E5 0x4c0970UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_2_E5 0x4c0974UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_2_E5 0x4c0978UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_2_E5 0x4c097cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_2_E5 0x4c0980UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_3_E5 0x4c0984UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_3_E5 0x4c0988UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_3_E5 0x4c098cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_3_E5 0x4c0990UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_3_E5 0x4c0994UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_3_E5 0x4c0998UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_3_E5 0x4c099cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define XYLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_3_E5 0x4c09a0UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define XYLD_REG_L2MA_DUP_OFFSET_SET_0_E5 0x4c09a4UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_00_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 0.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_00_E5_SHIFT 0
#define XYLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_01_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 0.
@@ -50714,7 +52182,7 @@
#define XYLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_02_E5_SHIFT 16
#define XYLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_03_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 0.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_03_E5_SHIFT 24
-#define XYLD_REG_L2MA_DUP_OFFSET_SET_1_E5 0x4c0934UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_DUP_OFFSET_SET_1_E5 0x4c09a8UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_10_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 1.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_10_E5_SHIFT 0
#define XYLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_11_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 1.
@@ -50723,7 +52191,7 @@
#define XYLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_12_E5_SHIFT 16
#define XYLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_13_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 1.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_13_E5_SHIFT 24
-#define XYLD_REG_L2MA_DUP_OFFSET_SET_2_E5 0x4c0938UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_DUP_OFFSET_SET_2_E5 0x4c09acUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_20_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 2.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_20_E5_SHIFT 0
#define XYLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_21_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 2.
@@ -50732,7 +52200,7 @@
#define XYLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_22_E5_SHIFT 16
#define XYLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_23_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 2.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_23_E5_SHIFT 24
-#define XYLD_REG_L2MA_DUP_OFFSET_SET_3_E5 0x4c093cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_DUP_OFFSET_SET_3_E5 0x4c09b0UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_30_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 3.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_30_E5_SHIFT 0
#define XYLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_31_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 3.
@@ -50741,7 +52209,7 @@
#define XYLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_32_E5_SHIFT 16
#define XYLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_33_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 3.
#define XYLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_33_E5_SHIFT 24
-#define XYLD_REG_L2MA_DUP_LEN_SET_0_E5 0x4c0940UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define XYLD_REG_L2MA_DUP_LEN_SET_0_E5 0x4c09b4UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define XYLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_00_E5 (0x3f<<0) // length in 32b units from the dup 00 .
#define XYLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_00_E5_SHIFT 0
#define XYLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_01_E5 (0x3f<<6) // length in 32b units from the dup 01 .
@@ -50750,7 +52218,7 @@
#define XYLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_02_E5_SHIFT 12
#define XYLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_03_E5 (0x3f<<18) // length in 32b units from the dup 03 .
#define XYLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_03_E5_SHIFT 18
-#define XYLD_REG_L2MA_DUP_LEN_SET_1_E5 0x4c0944UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define XYLD_REG_L2MA_DUP_LEN_SET_1_E5 0x4c09b8UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define XYLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_10_E5 (0x3f<<0) // length in 32b units from the dup 10 .
#define XYLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_10_E5_SHIFT 0
#define XYLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_11_E5 (0x3f<<6) // length in 32b units from the dup 11 .
@@ -50759,7 +52227,7 @@
#define XYLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_12_E5_SHIFT 12
#define XYLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_13_E5 (0x3f<<18) // length in 32b units from the dup 13 .
#define XYLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_13_E5_SHIFT 18
-#define XYLD_REG_L2MA_DUP_LEN_SET_2_E5 0x4c0948UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define XYLD_REG_L2MA_DUP_LEN_SET_2_E5 0x4c09bcUL //Access:RW DataWidth:0x18 // Multi Field Register.
#define XYLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_20_E5 (0x3f<<0) // length in 32b units from the dup 20 .
#define XYLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_20_E5_SHIFT 0
#define XYLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_21_E5 (0x3f<<6) // length in 32b units from the dup 21 .
@@ -50768,7 +52236,7 @@
#define XYLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_22_E5_SHIFT 12
#define XYLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_23_E5 (0x3f<<18) // length in 32b units from the dup 23 .
#define XYLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_23_E5_SHIFT 18
-#define XYLD_REG_L2MA_DUP_LEN_SET_3_E5 0x4c094cUL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define XYLD_REG_L2MA_DUP_LEN_SET_3_E5 0x4c09c0UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define XYLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_30_E5 (0x3f<<0) // length in 32b units from the dup 30 .
#define XYLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_30_E5_SHIFT 0
#define XYLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_31_E5 (0x3f<<6) // length in 32b units from the dup 31 .
@@ -50777,7 +52245,7 @@
#define XYLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_32_E5_SHIFT 12
#define XYLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_33_E5 (0x3f<<18) // length in 32b units from the dup 33 .
#define XYLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_33_E5_SHIFT 18
-#define XYLD_REG_L2MA_FLOW_ID_E5 0x4c0950UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define XYLD_REG_L2MA_FLOW_ID_E5 0x4c09c4UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define XYLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_0_E5 (0x1<<0) // indication if to include the flow-ID in the stream-ID for set 0.
#define XYLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_0_E5_SHIFT 0
#define XYLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_1_E5 (0x1<<1) // indication if to include the flow-ID in the stream-ID for set 1.
@@ -50794,7 +52262,7 @@
#define XYLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_2_E5_SHIFT 14
#define XYLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_3_E5 (0x1f<<19) // offset of the flow-ID, in 32b units, from the beginning of the message. Should be at most in the 3rd 256b cycle of the incoming message (i.e. max value is 23). This parameter is NA if FlowIdInclude is reset. For set 3 .
#define XYLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_3_E5_SHIFT 19
-#define XYLD_REG_L2MA_SN_OFFSET_E5 0x4c0954UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_SN_OFFSET_E5 0x4c09c8UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_SN_OFFSET_SN_OFFSET_0_E5 (0xff<<0) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 0.
#define XYLD_REG_L2MA_SN_OFFSET_SN_OFFSET_0_E5_SHIFT 0
#define XYLD_REG_L2MA_SN_OFFSET_SN_OFFSET_1_E5 (0xff<<8) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 1.
@@ -50803,7 +52271,7 @@
#define XYLD_REG_L2MA_SN_OFFSET_SN_OFFSET_2_E5_SHIFT 16
#define XYLD_REG_L2MA_SN_OFFSET_SN_OFFSET_3_E5 (0xff<<24) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 3.
#define XYLD_REG_L2MA_SN_OFFSET_SN_OFFSET_3_E5_SHIFT 24
-#define XYLD_REG_L2MA_MAX_L2MA_CHILD_E5 0x4c0958UL //Access:RW DataWidth:0x10 // Multi Field Register.
+#define XYLD_REG_L2MA_MAX_L2MA_CHILD_E5 0x4c09ccUL //Access:RW DataWidth:0x10 // Multi Field Register.
#define XYLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_0_E5 (0xf<<0) // the maximal number of children in a specific aggregation. for set 0.
#define XYLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_0_E5_SHIFT 0
#define XYLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_1_E5 (0xf<<4) // the maximal number of children in a specific aggregation. for set 1.
@@ -50812,7 +52280,7 @@
#define XYLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_2_E5_SHIFT 8
#define XYLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_3_E5 (0xf<<12) // the maximal number of children in a specific aggregation. for set 3.
#define XYLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_3_E5_SHIFT 12
-#define XYLD_REG_L2MA_INC_L2MA_EVENT_ID_E5 0x4c095cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XYLD_REG_L2MA_INC_L2MA_EVENT_ID_E5 0x4c09d0UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define XYLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_0_E5 (0xff<<0) // The value by which to increment the event-ID in case of successful aggregation. for set 0.
#define XYLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_0_E5_SHIFT 0
#define XYLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_1_E5 (0xff<<8) // The value by which to increment the event-ID in case of successful aggregation. for set 1.
@@ -50821,7 +52289,13 @@
#define XYLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_2_E5_SHIFT 16
#define XYLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_3_E5 (0xff<<24) // The value by which to increment the event-ID in case of successful aggregation. for set 3.
#define XYLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_3_E5_SHIFT 24
-#define XYLD_REG_LD_MAX_MSG_SIZE_E5 0x4c0960UL //Access:RW DataWidth:0x4 // maximum loader size in 256 bit words
+#define XYLD_REG_LD_MAX_MSG_SIZE_E5 0x4c09d4UL //Access:RW DataWidth:0xc // maximum loader size in 256 bit words
+#define XYLD_REG_SCBD_WRR_WEIGHT_Q0_BB_K2 0x4c0004UL //Access:RW DataWidth:0x2 // The weight of queue 0 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
+#define XYLD_REG_SCBD_WRR_WEIGHT_Q0_E5 0x4c09d8UL //Access:RW DataWidth:0x2 // The weight of queue 0 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
+#define XYLD_REG_SCBD_WRR_WEIGHT_Q1_BB_K2 0x4c0008UL //Access:RW DataWidth:0x2 // The weight of queue 1 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
+#define XYLD_REG_SCBD_WRR_WEIGHT_Q1_E5 0x4c09dcUL //Access:RW DataWidth:0x2 // The weight of queue 1 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
+#define XYLD_REG_SCBD_WRR_WEIGHT_Q2_E5 0x4c09e0UL //Access:RW DataWidth:0x2 // The weight of queue 2 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg::/TMLD_DISCARD/d in TMLD::/XYLD_DISCARD/d in XYLD::/YULD_DISCARD/d in YULD.
+#define XYLD_REG_SCBD_WRR_WEIGHT_Q3_E5 0x4c09e4UL //Access:RW DataWidth:0x2 // The weight of queue 3 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg::/TMLD_DISCARD/d in TMLD::/XYLD_DISCARD/d in XYLD::/YULD_DISCARD/d in YULD.
#define XYLD_REG_DBG_SELECT 0x4c1600UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define XYLD_REG_DBG_DWORD_ENABLE 0x4c1604UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define XYLD_REG_DBG_SHIFT 0x4c1608UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -50829,8 +52303,8 @@
#define XYLD_REG_DBG_FORCE_FRAME 0x4c1610UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
#define XYLD_REG_DBG_OUT_DATA 0x4c1620UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define XYLD_REG_DBG_OUT_DATA_SIZE 8
-#define XYLD_REG_DBG_OUT_VALID 0x4c1640UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define XYLD_REG_DBG_OUT_FRAME 0x4c1644UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define XYLD_REG_DBG_OUT_VALID 0x4c1640UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define XYLD_REG_DBG_OUT_FRAME 0x4c1644UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define XYLD_REG_FIC_INPUT_FIFO 0x4c2000UL //Access:WB DataWidth:0x80 // Access to input FIC FIFO
#define XYLD_REG_FIC_INPUT_FIFO_SIZE 176
#define XYLD_REG_QUEUE_MSG_MEM 0x4c4000UL //Access:WB DataWidth:0x80 // Debug access to The message queue memory.
@@ -50969,8 +52443,6 @@
#define YULD_REG_QUEUE_MSG_MEM_BB_K2 0x4cc000UL //Access:WB DataWidth:0x80 // Debug access to The message queue memory.
#define YULD_REG_QUEUE_MSG_MEM_SIZE 256
#define TMLD_REG_SCBD_STRICT_PRIO 0x4d0000UL //Access:RW DataWidth:0x4 // Each bit indicates if the current queue ahs a strict prioirty; 1: The current queue has strict prority; 0: The current queue is part of the WRR scheme.
-#define TMLD_REG_SCBD_WRR_WEIGHT_Q0 0x4d0004UL //Access:RW DataWidth:0x2 // The weight of queue 0 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
-#define TMLD_REG_SCBD_WRR_WEIGHT_Q1 0x4d0008UL //Access:RW DataWidth:0x2 // The weight of queue 1 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
#define TMLD_REG_FOCI_FOC_CREDITS 0x4d000cUL //Access:RW DataWidth:0x6 // Initial credit of the FOC itnerface.
#define TMLD_REG_BYPASS_QID 0x4d0010UL //Access:RW DataWidth:0x2 // Selects the queue to which bypass messages will be steered.
#define TMLD_REG_TCFC_LOAD_MINI_CACHE_EN 0x4d0014UL //Access:RW DataWidth:0x1 // Allowes the TID/CID mini cache feature.
@@ -51075,54 +52547,82 @@
#define TMLD_REG_INT_STS_CLR_LD_CID_MINI_CACHE_ERR_SHIFT 4
#define TMLD_REG_INT_STS_CLR_LD_LONG_MESSAGE (0x1<<5) // This interrupt is raised when a FOC message is larger than the max credit value on the FOC itnerface.
#define TMLD_REG_INT_STS_CLR_LD_LONG_MESSAGE_SHIFT 5
-#define TMLD_REG_PRTY_MASK_H_0_BB_K2 0x4d0204UL //Access:RW DataWidth:0x8 // Multi Field Register.
- #define TMLD_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
- #define TMLD_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define TMLD_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
- #define TMLD_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2_SHIFT 1
- #define TMLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define TMLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 2
- #define TMLD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define TMLD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 3
+#define TMLD_REG_PRTY_MASK_H_0 0x4d0204UL //Access:RW DataWidth:0xe // Multi Field Register.
+ #define TMLD_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_E5_SHIFT 0
+ #define TMLD_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_SHIFT 1
+ #define TMLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<2) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 2
+ #define TMLD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY (0x1<<3) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_SHIFT 3
+ #define TMLD_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 4
+ #define TMLD_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5_SHIFT 5
#define TMLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define TMLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 4
- #define TMLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define TMLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define TMLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 6
+ #define TMLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<7) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 7
#define TMLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define TMLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 6
- #define TMLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define TMLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 7
-#define TMLD_REG_MEM_ECC_ENABLE_0_BB_K2 0x4d0210UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define TMLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 8
+ #define TMLD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 9
+ #define TMLD_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 10
+ #define TMLD_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 11
+ #define TMLD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 12
+ #define TMLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define TMLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 13
+ #define TMLD_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TMLD_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
+ #define TMLD_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2_SHIFT 0
+#define TMLD_REG_MEM_ECC_ENABLE_0 0x4d0210UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define TMLD_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance tmld.i_msgq_ram.i_ecc in module tmld_i_msgq_ram_1
+ #define TMLD_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_E5_SHIFT 0
+ #define TMLD_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN (0x1<<1) // Enable ECC for memory ecc instance tmld.i_brb_resp_buf_ram.i_ecc in module tmld_i_brb_resp_buf_ram
+ #define TMLD_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_SHIFT 1
#define TMLD_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance tmld.i_msgq_ram.i_ecc in module tmld_i_msgq_ram_1
#define TMLD_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2_SHIFT 0
- #define TMLD_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance tmld.i_brb_resp_buf_ram.i_ecc in module tmld_i_brb_resp_buf_ram
- #define TMLD_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2_SHIFT 1
-#define TMLD_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x4d0214UL //Access:RW DataWidth:0x2 // Multi Field Register.
+#define TMLD_REG_MEM_ECC_PARITY_ONLY_0 0x4d0214UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define TMLD_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance tmld.i_msgq_ram.i_ecc in module tmld_i_msgq_ram_1
+ #define TMLD_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_E5_SHIFT 0
+ #define TMLD_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY (0x1<<1) // Set parity only for memory ecc instance tmld.i_brb_resp_buf_ram.i_ecc in module tmld_i_brb_resp_buf_ram
+ #define TMLD_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_SHIFT 1
#define TMLD_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance tmld.i_msgq_ram.i_ecc in module tmld_i_msgq_ram_1
#define TMLD_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2_SHIFT 0
- #define TMLD_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance tmld.i_brb_resp_buf_ram.i_ecc in module tmld_i_brb_resp_buf_ram
- #define TMLD_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2_SHIFT 1
-#define TMLD_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x4d0218UL //Access:RC DataWidth:0x2 // Multi Field Register.
+#define TMLD_REG_MEM_ECC_ERROR_CORRECTED_0 0x4d0218UL //Access:RC DataWidth:0x2 // Multi Field Register.
+ #define TMLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance tmld.i_msgq_ram.i_ecc in module tmld_i_msgq_ram_1
+ #define TMLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_E5_SHIFT 0
+ #define TMLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance tmld.i_brb_resp_buf_ram.i_ecc in module tmld_i_brb_resp_buf_ram
+ #define TMLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_SHIFT 1
#define TMLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance tmld.i_msgq_ram.i_ecc in module tmld_i_msgq_ram_1
#define TMLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2_SHIFT 0
- #define TMLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance tmld.i_brb_resp_buf_ram.i_ecc in module tmld_i_brb_resp_buf_ram
- #define TMLD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2_SHIFT 1
-#define TMLD_REG_MEM_ECC_EVENTS_BB_K2 0x4d021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define TMLD_REG_MEM_ECC_EVENTS 0x4d021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define TMLD_REG_DESC_QUEUE_Q0 0x4d0400UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue0 - Debug access.
#define TMLD_REG_DESC_QUEUE_Q0_SIZE 64
#define TMLD_REG_DESC_QUEUE_Q1 0x4d0800UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue1 - Debug access.
#define TMLD_REG_DESC_QUEUE_Q1_SIZE 64
-#define TMLD_REG_L2MA_AGGR_CONFIG1_E5 0x4d0900UL //Access:RW DataWidth:0x13 // Multi Field Register.
+#define TMLD_REG_L2MA_AGGR_CONFIG1_E5 0x4d0900UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define TMLD_REG_L2MA_AGGR_CONFIG1_L2MA_EN_E5 (0x1<<0) // Enables L2 message aggregation
#define TMLD_REG_L2MA_AGGR_CONFIG1_L2MA_EN_E5_SHIFT 0
#define TMLD_REG_L2MA_AGGR_CONFIG1_IGNORE_CM_AGG_MSG_E5 (0x1<<1) // indicates not to perform the aggregation logic if there is no L2MA command in the message (there is no L2MA command if DstStormFlg is reset OR ErrFlg is set). If this configuration is reset, messages without L2MA command are treated like messages with L2MA command where EnL2MA flag in the command is reset (i.e. they break existing aggregation).
#define TMLD_REG_L2MA_AGGR_CONFIG1_IGNORE_CM_AGG_MSG_E5_SHIFT 1
#define TMLD_REG_L2MA_AGGR_CONFIG1_BACK_2_BACK_E5 (0x1<<2) // defines that only back-to-back aggregation is allowed
#define TMLD_REG_L2MA_AGGR_CONFIG1_BACK_2_BACK_E5_SHIFT 2
- #define TMLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5 (0xff<<3) // the minimal queue occupancy below which new aggregations are not created
- #define TMLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5_SHIFT 3
- #define TMLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5 (0xff<<11) // the maximal difference between the serial number of the parent message and the serial number of its child message
- #define TMLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5_SHIFT 11
+ #define TMLD_REG_L2MA_AGGR_CONFIG1_GLOBAL_INC_SN_E5 (0x1<<3) // When this flag is set, all input messages are treated as if their IncSn is set
+ #define TMLD_REG_L2MA_AGGR_CONFIG1_GLOBAL_INC_SN_E5_SHIFT 3
+ #define TMLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5 (0xff<<4) // the minimal queue occupancy below which new aggregations are not created
+ #define TMLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5_SHIFT 4
+ #define TMLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5 (0xff<<12) // the maximal difference between the serial number of the parent message and the serial number of its child message
+ #define TMLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5_SHIFT 12
#define TMLD_REG_L2MA_AGGR_CONFIG2_E5 0x4d0904UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define TMLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_0_E5 (0x3f<<0) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
#define TMLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_0_E5_SHIFT 0
@@ -51132,7 +52632,8 @@
#define TMLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_2_E5_SHIFT 12
#define TMLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_3_E5 (0x3f<<18) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
#define TMLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_3_E5_SHIFT 18
-#define TMLD_REG_L2MA_SAME_OFFSET_SET_0_E5 0x4d0908UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_MAX_NUMBER_IN_QUEUE_E5 0x4d0908UL //Access:RW DataWidth:0x10 // Limit the number of ‘packets’ in the Loader according to the number of parents + childs messages.
+#define TMLD_REG_L2MA_SAME_OFFSET_SET_0_E5 0x4d090cUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_00_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 0.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_00_E5_SHIFT 0
#define TMLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_01_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 0.
@@ -51141,7 +52642,7 @@
#define TMLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_02_E5_SHIFT 16
#define TMLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_03_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 0.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_03_E5_SHIFT 24
-#define TMLD_REG_L2MA_SAME_OFFSET_SET_1_E5 0x4d090cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_SAME_OFFSET_SET_1_E5 0x4d0910UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_10_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 1.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_10_E5_SHIFT 0
#define TMLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_11_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 1.
@@ -51150,7 +52651,7 @@
#define TMLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_12_E5_SHIFT 16
#define TMLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_13_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 1.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_13_E5_SHIFT 24
-#define TMLD_REG_L2MA_SAME_OFFSET_SET_2_E5 0x4d0910UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_SAME_OFFSET_SET_2_E5 0x4d0914UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_20_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 2.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_20_E5_SHIFT 0
#define TMLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_21_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 2.
@@ -51159,7 +52660,7 @@
#define TMLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_22_E5_SHIFT 16
#define TMLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_23_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 2.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_23_E5_SHIFT 24
-#define TMLD_REG_L2MA_SAME_OFFSET_SET_3_E5 0x4d0914UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_SAME_OFFSET_SET_3_E5 0x4d0918UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_30_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 3.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_30_E5_SHIFT 0
#define TMLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_31_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 3.
@@ -51168,7 +52669,7 @@
#define TMLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_32_E5_SHIFT 16
#define TMLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_33_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 3.
#define TMLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_33_E5_SHIFT 24
-#define TMLD_REG_L2MA_SAME_LEN_SET_0_1_E5 0x4d0918UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_SAME_LEN_SET_0_1_E5 0x4d091cUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_00_E5 (0xf<<0) // length in 32b units from the same 00 .
#define TMLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_00_E5_SHIFT 0
#define TMLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_01_E5 (0xf<<4) // length in 32b units from the same 01 .
@@ -51185,7 +52686,7 @@
#define TMLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_12_E5_SHIFT 24
#define TMLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_13_E5 (0xf<<28) // length in 32b units from the same 13 .
#define TMLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_13_E5_SHIFT 28
-#define TMLD_REG_L2MA_SAME_LEN_SET_2_3_E5 0x4d091cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_SAME_LEN_SET_2_3_E5 0x4d0920UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_20_E5 (0xf<<0) // length in 32b units from the same 20 .
#define TMLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_20_E5_SHIFT 0
#define TMLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_21_E5 (0xf<<4) // length in 32b units from the same 21 .
@@ -51202,11 +52703,39 @@
#define TMLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_32_E5_SHIFT 24
#define TMLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_33_E5 (0xf<<28) // length in 32b units from the same 33 .
#define TMLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_33_E5_SHIFT 28
-#define TMLD_REG_L2MA_SAME_MASK_SET_0_E5 0x4d0920UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
-#define TMLD_REG_L2MA_SAME_MASK_SET_1_E5 0x4d0924UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
-#define TMLD_REG_L2MA_SAME_MASK_SET_2_E5 0x4d0928UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
-#define TMLD_REG_L2MA_SAME_MASK_SET_3_E5 0x4d092cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
-#define TMLD_REG_L2MA_DUP_OFFSET_SET_0_E5 0x4d0930UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_0_E5 0x4d0924UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_0_E5 0x4d0928UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_0_E5 0x4d092cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_0_E5 0x4d0930UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_0_E5 0x4d0934UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_0_E5 0x4d0938UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_0_E5 0x4d093cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_0_E5 0x4d0940UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_1_E5 0x4d0944UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_1_E5 0x4d0948UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_1_E5 0x4d094cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_1_E5 0x4d0950UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_1_E5 0x4d0954UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_1_E5 0x4d0958UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_1_E5 0x4d095cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_1_E5 0x4d0960UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_2_E5 0x4d0964UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_2_E5 0x4d0968UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_2_E5 0x4d096cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_2_E5 0x4d0970UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_2_E5 0x4d0974UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_2_E5 0x4d0978UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_2_E5 0x4d097cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_2_E5 0x4d0980UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_3_E5 0x4d0984UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_3_E5 0x4d0988UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_3_E5 0x4d098cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_3_E5 0x4d0990UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_3_E5 0x4d0994UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_3_E5 0x4d0998UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_3_E5 0x4d099cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define TMLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_3_E5 0x4d09a0UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define TMLD_REG_L2MA_DUP_OFFSET_SET_0_E5 0x4d09a4UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_00_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 0.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_00_E5_SHIFT 0
#define TMLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_01_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 0.
@@ -51215,7 +52744,7 @@
#define TMLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_02_E5_SHIFT 16
#define TMLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_03_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 0.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_03_E5_SHIFT 24
-#define TMLD_REG_L2MA_DUP_OFFSET_SET_1_E5 0x4d0934UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_DUP_OFFSET_SET_1_E5 0x4d09a8UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_10_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 1.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_10_E5_SHIFT 0
#define TMLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_11_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 1.
@@ -51224,7 +52753,7 @@
#define TMLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_12_E5_SHIFT 16
#define TMLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_13_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 1.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_13_E5_SHIFT 24
-#define TMLD_REG_L2MA_DUP_OFFSET_SET_2_E5 0x4d0938UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_DUP_OFFSET_SET_2_E5 0x4d09acUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_20_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 2.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_20_E5_SHIFT 0
#define TMLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_21_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 2.
@@ -51233,7 +52762,7 @@
#define TMLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_22_E5_SHIFT 16
#define TMLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_23_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 2.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_23_E5_SHIFT 24
-#define TMLD_REG_L2MA_DUP_OFFSET_SET_3_E5 0x4d093cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_DUP_OFFSET_SET_3_E5 0x4d09b0UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_30_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 3.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_30_E5_SHIFT 0
#define TMLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_31_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 3.
@@ -51242,7 +52771,7 @@
#define TMLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_32_E5_SHIFT 16
#define TMLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_33_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 3.
#define TMLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_33_E5_SHIFT 24
-#define TMLD_REG_L2MA_DUP_LEN_SET_0_E5 0x4d0940UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define TMLD_REG_L2MA_DUP_LEN_SET_0_E5 0x4d09b4UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define TMLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_00_E5 (0x3f<<0) // length in 32b units from the dup 00 .
#define TMLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_00_E5_SHIFT 0
#define TMLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_01_E5 (0x3f<<6) // length in 32b units from the dup 01 .
@@ -51251,7 +52780,7 @@
#define TMLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_02_E5_SHIFT 12
#define TMLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_03_E5 (0x3f<<18) // length in 32b units from the dup 03 .
#define TMLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_03_E5_SHIFT 18
-#define TMLD_REG_L2MA_DUP_LEN_SET_1_E5 0x4d0944UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define TMLD_REG_L2MA_DUP_LEN_SET_1_E5 0x4d09b8UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define TMLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_10_E5 (0x3f<<0) // length in 32b units from the dup 10 .
#define TMLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_10_E5_SHIFT 0
#define TMLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_11_E5 (0x3f<<6) // length in 32b units from the dup 11 .
@@ -51260,7 +52789,7 @@
#define TMLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_12_E5_SHIFT 12
#define TMLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_13_E5 (0x3f<<18) // length in 32b units from the dup 13 .
#define TMLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_13_E5_SHIFT 18
-#define TMLD_REG_L2MA_DUP_LEN_SET_2_E5 0x4d0948UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define TMLD_REG_L2MA_DUP_LEN_SET_2_E5 0x4d09bcUL //Access:RW DataWidth:0x18 // Multi Field Register.
#define TMLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_20_E5 (0x3f<<0) // length in 32b units from the dup 20 .
#define TMLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_20_E5_SHIFT 0
#define TMLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_21_E5 (0x3f<<6) // length in 32b units from the dup 21 .
@@ -51269,7 +52798,7 @@
#define TMLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_22_E5_SHIFT 12
#define TMLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_23_E5 (0x3f<<18) // length in 32b units from the dup 23 .
#define TMLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_23_E5_SHIFT 18
-#define TMLD_REG_L2MA_DUP_LEN_SET_3_E5 0x4d094cUL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define TMLD_REG_L2MA_DUP_LEN_SET_3_E5 0x4d09c0UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define TMLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_30_E5 (0x3f<<0) // length in 32b units from the dup 30 .
#define TMLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_30_E5_SHIFT 0
#define TMLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_31_E5 (0x3f<<6) // length in 32b units from the dup 31 .
@@ -51278,7 +52807,7 @@
#define TMLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_32_E5_SHIFT 12
#define TMLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_33_E5 (0x3f<<18) // length in 32b units from the dup 33 .
#define TMLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_33_E5_SHIFT 18
-#define TMLD_REG_L2MA_FLOW_ID_E5 0x4d0950UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define TMLD_REG_L2MA_FLOW_ID_E5 0x4d09c4UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define TMLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_0_E5 (0x1<<0) // indication if to include the flow-ID in the stream-ID for set 0.
#define TMLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_0_E5_SHIFT 0
#define TMLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_1_E5 (0x1<<1) // indication if to include the flow-ID in the stream-ID for set 1.
@@ -51295,7 +52824,7 @@
#define TMLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_2_E5_SHIFT 14
#define TMLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_3_E5 (0x1f<<19) // offset of the flow-ID, in 32b units, from the beginning of the message. Should be at most in the 3rd 256b cycle of the incoming message (i.e. max value is 23). This parameter is NA if FlowIdInclude is reset. For set 3 .
#define TMLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_3_E5_SHIFT 19
-#define TMLD_REG_L2MA_SN_OFFSET_E5 0x4d0954UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_SN_OFFSET_E5 0x4d09c8UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_SN_OFFSET_SN_OFFSET_0_E5 (0xff<<0) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 0.
#define TMLD_REG_L2MA_SN_OFFSET_SN_OFFSET_0_E5_SHIFT 0
#define TMLD_REG_L2MA_SN_OFFSET_SN_OFFSET_1_E5 (0xff<<8) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 1.
@@ -51304,7 +52833,7 @@
#define TMLD_REG_L2MA_SN_OFFSET_SN_OFFSET_2_E5_SHIFT 16
#define TMLD_REG_L2MA_SN_OFFSET_SN_OFFSET_3_E5 (0xff<<24) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 3.
#define TMLD_REG_L2MA_SN_OFFSET_SN_OFFSET_3_E5_SHIFT 24
-#define TMLD_REG_L2MA_MAX_L2MA_CHILD_E5 0x4d0958UL //Access:RW DataWidth:0x10 // Multi Field Register.
+#define TMLD_REG_L2MA_MAX_L2MA_CHILD_E5 0x4d09ccUL //Access:RW DataWidth:0x10 // Multi Field Register.
#define TMLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_0_E5 (0xf<<0) // the maximal number of children in a specific aggregation. for set 0.
#define TMLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_0_E5_SHIFT 0
#define TMLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_1_E5 (0xf<<4) // the maximal number of children in a specific aggregation. for set 1.
@@ -51313,7 +52842,7 @@
#define TMLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_2_E5_SHIFT 8
#define TMLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_3_E5 (0xf<<12) // the maximal number of children in a specific aggregation. for set 3.
#define TMLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_3_E5_SHIFT 12
-#define TMLD_REG_L2MA_INC_L2MA_EVENT_ID_E5 0x4d095cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TMLD_REG_L2MA_INC_L2MA_EVENT_ID_E5 0x4d09d0UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define TMLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_0_E5 (0xff<<0) // The value by which to increment the event-ID in case of successful aggregation. for set 0.
#define TMLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_0_E5_SHIFT 0
#define TMLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_1_E5 (0xff<<8) // The value by which to increment the event-ID in case of successful aggregation. for set 1.
@@ -51322,7 +52851,13 @@
#define TMLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_2_E5_SHIFT 16
#define TMLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_3_E5 (0xff<<24) // The value by which to increment the event-ID in case of successful aggregation. for set 3.
#define TMLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_3_E5_SHIFT 24
-#define TMLD_REG_LD_MAX_MSG_SIZE_E5 0x4d0960UL //Access:RW DataWidth:0x4 // maximum loader size in 256 bit words
+#define TMLD_REG_LD_MAX_MSG_SIZE_E5 0x4d09d4UL //Access:RW DataWidth:0xc // maximum loader size in 256 bit words
+#define TMLD_REG_SCBD_WRR_WEIGHT_Q0_BB_K2 0x4d0004UL //Access:RW DataWidth:0x2 // The weight of queue 0 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
+#define TMLD_REG_SCBD_WRR_WEIGHT_Q0_E5 0x4d09d8UL //Access:RW DataWidth:0x2 // The weight of queue 0 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
+#define TMLD_REG_SCBD_WRR_WEIGHT_Q1_BB_K2 0x4d0008UL //Access:RW DataWidth:0x2 // The weight of queue 1 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
+#define TMLD_REG_SCBD_WRR_WEIGHT_Q1_E5 0x4d09dcUL //Access:RW DataWidth:0x2 // The weight of queue 1 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg.
+#define TMLD_REG_SCBD_WRR_WEIGHT_Q2_E5 0x4d09e0UL //Access:RW DataWidth:0x2 // The weight of queue 2 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg::/TMLD_DISCARD/d in TMLD::/XYLD_DISCARD/d in XYLD::/YULD_DISCARD/d in YULD.
+#define TMLD_REG_SCBD_WRR_WEIGHT_Q3_E5 0x4d09e4UL //Access:RW DataWidth:0x2 // The weight of queue 3 at the WRR arbiteration, in case its bit is reset at scbd_strict_prio reg::/TMLD_DISCARD/d in TMLD::/XYLD_DISCARD/d in XYLD::/YULD_DISCARD/d in YULD.
#define TMLD_REG_DBG_SELECT 0x4d1600UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define TMLD_REG_DBG_DWORD_ENABLE 0x4d1604UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define TMLD_REG_DBG_SHIFT 0x4d1608UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -51330,8 +52865,8 @@
#define TMLD_REG_DBG_FORCE_FRAME 0x4d1610UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
#define TMLD_REG_DBG_OUT_DATA 0x4d1620UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define TMLD_REG_DBG_OUT_DATA_SIZE 8
-#define TMLD_REG_DBG_OUT_VALID 0x4d1640UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define TMLD_REG_DBG_OUT_FRAME 0x4d1644UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define TMLD_REG_DBG_OUT_VALID 0x4d1640UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define TMLD_REG_DBG_OUT_FRAME 0x4d1644UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define TMLD_REG_FIC_INPUT_FIFO 0x4d2000UL //Access:WB DataWidth:0x80 // Access to input FIC FIFO
#define TMLD_REG_FIC_INPUT_FIFO_SIZE 176
#define TMLD_REG_QUEUE_MSG_MEM 0x4d4000UL //Access:WB DataWidth:0x80 // Debug access to The message queue memory.
@@ -51452,55 +52987,99 @@
#define MULD_REG_INT_STS_CLR_LD_CID_MINI_CACHE_ERR_SHIFT 4
#define MULD_REG_INT_STS_CLR_LD_LONG_MESSAGE (0x1<<5) // This interrupt is raised when a FOC message is larger than the max credit value on the FOC itnerface.
#define MULD_REG_INT_STS_CLR_LD_LONG_MESSAGE_SHIFT 5
-#define MULD_REG_PRTY_MASK_H_0_BB_K2 0x4e0204UL //Access:RW DataWidth:0xa // Multi Field Register.
+#define MULD_REG_PRTY_MASK_H_0 0x4e0204UL //Access:RW DataWidth:0x10 // Multi Field Register.
+ #define MULD_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
+ #define MULD_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_E5_SHIFT 0
+ #define MULD_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
+ #define MULD_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_SHIFT 1
+ #define MULD_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_E5 (0x1<<2) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
+ #define MULD_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_E5_SHIFT 2
+ #define MULD_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM013_I_ECC_RF_INT .
+ #define MULD_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_E5_SHIFT 3
+ #define MULD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<4) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 4
+ #define MULD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<5) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 5
+ #define MULD_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5_SHIFT 6
+ #define MULD_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5_SHIFT 7
+ #define MULD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 9
+ #define MULD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 8
+ #define MULD_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 9
+ #define MULD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 8
+ #define MULD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 10
+ #define MULD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 11
+ #define MULD_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 7
+ #define MULD_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 12
+ #define MULD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 6
+ #define MULD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 13
+ #define MULD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 14
+ #define MULD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define MULD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 15
#define MULD_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
#define MULD_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define MULD_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
- #define MULD_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2_SHIFT 1
#define MULD_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
#define MULD_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_BB_K2_SHIFT 2
#define MULD_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM007_I_ECC_RF_INT .
#define MULD_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_BB_K2_SHIFT 3
- #define MULD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define MULD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 4
- #define MULD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define MULD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 5
- #define MULD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define MULD_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 6
- #define MULD_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define MULD_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 7
- #define MULD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define MULD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 8
- #define MULD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: MULD_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
- #define MULD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 9
-#define MULD_REG_MEM_ECC_ENABLE_0_BB_K2 0x4e0210UL //Access:RW DataWidth:0x4 // Multi Field Register.
+#define MULD_REG_MEM_ECC_ENABLE_0 0x4e0210UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define MULD_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance muld.i_msgq_ram.i_ecc in module muld_i_msgq_ram_1
+ #define MULD_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_E5_SHIFT 0
+ #define MULD_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN (0x1<<1) // Enable ECC for memory ecc instance muld.i_bd_db_ram.i_ecc in module muld_i_bd_db_ram_1
+ #define MULD_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_SHIFT 1
+ #define MULD_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_E5 (0x1<<2) // Enable ECC for memory ecc instance muld.i_sge_db_ram.i_ecc in module muld_i_sge_db_ram_1
+ #define MULD_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_E5_SHIFT 2
+ #define MULD_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance muld.i_pci_rsep_buf_ram.i_ecc in module muld_i_pci_rsep_buf_ram_1
+ #define MULD_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_E5_SHIFT 3
#define MULD_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance muld.i_msgq_ram.i_ecc in module muld_i_msgq_ram_1
#define MULD_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2_SHIFT 0
- #define MULD_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance muld.i_bd_db_ram.i_ecc in module muld_i_bd_db_ram_1_k2
- #define MULD_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2_SHIFT 1
#define MULD_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance muld.i_sge_db_ram.i_ecc in module muld_i_sge_db_ram_1_k2
#define MULD_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_BB_K2_SHIFT 2
#define MULD_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_BB_K2 (0x1<<3) // Enable ECC for memory ecc instance muld.i_pci_rsep_buf_ram.i_ecc in module muld_i_pci_rsep_buf_ram_1
#define MULD_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_BB_K2_SHIFT 3
-#define MULD_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x4e0214UL //Access:RW DataWidth:0x4 // Multi Field Register.
+#define MULD_REG_MEM_ECC_PARITY_ONLY_0 0x4e0214UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance muld.i_msgq_ram.i_ecc in module muld_i_msgq_ram_1
+ #define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_E5_SHIFT 0
+ #define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY (0x1<<1) // Set parity only for memory ecc instance muld.i_bd_db_ram.i_ecc in module muld_i_bd_db_ram_1
+ #define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_SHIFT 1
+ #define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_E5 (0x1<<2) // Set parity only for memory ecc instance muld.i_sge_db_ram.i_ecc in module muld_i_sge_db_ram_1
+ #define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_E5_SHIFT 2
+ #define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance muld.i_pci_rsep_buf_ram.i_ecc in module muld_i_pci_rsep_buf_ram_1
+ #define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_E5_SHIFT 3
#define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance muld.i_msgq_ram.i_ecc in module muld_i_msgq_ram_1
#define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2_SHIFT 0
- #define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance muld.i_bd_db_ram.i_ecc in module muld_i_bd_db_ram_1_k2
- #define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2_SHIFT 1
#define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance muld.i_sge_db_ram.i_ecc in module muld_i_sge_db_ram_1_k2
#define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_BB_K2_SHIFT 2
#define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_BB_K2 (0x1<<3) // Set parity only for memory ecc instance muld.i_pci_rsep_buf_ram.i_ecc in module muld_i_pci_rsep_buf_ram_1
#define MULD_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_BB_K2_SHIFT 3
-#define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x4e0218UL //Access:RC DataWidth:0x4 // Multi Field Register.
+#define MULD_REG_MEM_ECC_ERROR_CORRECTED_0 0x4e0218UL //Access:RC DataWidth:0x4 // Multi Field Register.
+ #define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance muld.i_msgq_ram.i_ecc in module muld_i_msgq_ram_1
+ #define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_E5_SHIFT 0
+ #define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance muld.i_bd_db_ram.i_ecc in module muld_i_bd_db_ram_1
+ #define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_SHIFT 1
+ #define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance muld.i_sge_db_ram.i_ecc in module muld_i_sge_db_ram_1
+ #define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_E5_SHIFT 2
+ #define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance muld.i_pci_rsep_buf_ram.i_ecc in module muld_i_pci_rsep_buf_ram_1
+ #define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_E5_SHIFT 3
#define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance muld.i_msgq_ram.i_ecc in module muld_i_msgq_ram_1
#define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2_SHIFT 0
- #define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance muld.i_bd_db_ram.i_ecc in module muld_i_bd_db_ram_1_k2
- #define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2_SHIFT 1
#define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance muld.i_sge_db_ram.i_ecc in module muld_i_sge_db_ram_1_k2
#define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_BB_K2_SHIFT 2
#define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_BB_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance muld.i_pci_rsep_buf_ram.i_ecc in module muld_i_pci_rsep_buf_ram_1
#define MULD_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_BB_K2_SHIFT 3
-#define MULD_REG_MEM_ECC_EVENTS_BB_K2 0x4e021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define MULD_REG_MEM_ECC_EVENTS 0x4e021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define MULD_REG_DESC_QUEUE_Q0 0x4e0400UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue0 - Debug access.
#define MULD_REG_DESC_QUEUE_Q0_SIZE 150
#define MULD_REG_DESC_QUEUE_Q1 0x4e0800UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue1 - Debug access.
@@ -51509,17 +53088,19 @@
#define MULD_REG_DESC_QUEUE_Q2_SIZE 150
#define MULD_REG_DESC_QUEUE_Q3 0x4e1000UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue3 - Debug access::/TMLD_DISCARD/d in TMLD::/XYLD_DISCARD/d in XYLD::/YULD_DISCARD/d in YULD.
#define MULD_REG_DESC_QUEUE_Q3_SIZE 150
-#define MULD_REG_L2MA_AGGR_CONFIG1_E5 0x4e1400UL //Access:RW DataWidth:0x13 // Multi Field Register.
+#define MULD_REG_L2MA_AGGR_CONFIG1_E5 0x4e1400UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define MULD_REG_L2MA_AGGR_CONFIG1_L2MA_EN_E5 (0x1<<0) // Enables L2 message aggregation
#define MULD_REG_L2MA_AGGR_CONFIG1_L2MA_EN_E5_SHIFT 0
#define MULD_REG_L2MA_AGGR_CONFIG1_IGNORE_CM_AGG_MSG_E5 (0x1<<1) // indicates not to perform the aggregation logic if there is no L2MA command in the message (there is no L2MA command if DstStormFlg is reset OR ErrFlg is set). If this configuration is reset, messages without L2MA command are treated like messages with L2MA command where EnL2MA flag in the command is reset (i.e. they break existing aggregation).
#define MULD_REG_L2MA_AGGR_CONFIG1_IGNORE_CM_AGG_MSG_E5_SHIFT 1
#define MULD_REG_L2MA_AGGR_CONFIG1_BACK_2_BACK_E5 (0x1<<2) // defines that only back-to-back aggregation is allowed
#define MULD_REG_L2MA_AGGR_CONFIG1_BACK_2_BACK_E5_SHIFT 2
- #define MULD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5 (0xff<<3) // the minimal queue occupancy below which new aggregations are not created
- #define MULD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5_SHIFT 3
- #define MULD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5 (0xff<<11) // the maximal difference between the serial number of the parent message and the serial number of its child message
- #define MULD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5_SHIFT 11
+ #define MULD_REG_L2MA_AGGR_CONFIG1_GLOBAL_INC_SN_E5 (0x1<<3) // When this flag is set, all input messages are treated as if their IncSn is set
+ #define MULD_REG_L2MA_AGGR_CONFIG1_GLOBAL_INC_SN_E5_SHIFT 3
+ #define MULD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5 (0xff<<4) // the minimal queue occupancy below which new aggregations are not created
+ #define MULD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5_SHIFT 4
+ #define MULD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5 (0xff<<12) // the maximal difference between the serial number of the parent message and the serial number of its child message
+ #define MULD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5_SHIFT 12
#define MULD_REG_L2MA_AGGR_CONFIG2_E5 0x4e1404UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define MULD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_0_E5 (0x3f<<0) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
#define MULD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_0_E5_SHIFT 0
@@ -51529,7 +53110,8 @@
#define MULD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_2_E5_SHIFT 12
#define MULD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_3_E5 (0x3f<<18) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
#define MULD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_3_E5_SHIFT 18
-#define MULD_REG_L2MA_SAME_OFFSET_SET_0_E5 0x4e1408UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_MAX_NUMBER_IN_QUEUE_E5 0x4e1408UL //Access:RW DataWidth:0x10 // Limit the number of ‘packets’ in the Loader according to the number of parents + childs messages.
+#define MULD_REG_L2MA_SAME_OFFSET_SET_0_E5 0x4e140cUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_00_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 0.
#define MULD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_00_E5_SHIFT 0
#define MULD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_01_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 0.
@@ -51538,7 +53120,7 @@
#define MULD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_02_E5_SHIFT 16
#define MULD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_03_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 0.
#define MULD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_03_E5_SHIFT 24
-#define MULD_REG_L2MA_SAME_OFFSET_SET_1_E5 0x4e140cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_SAME_OFFSET_SET_1_E5 0x4e1410UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_10_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 1.
#define MULD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_10_E5_SHIFT 0
#define MULD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_11_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 1.
@@ -51547,7 +53129,7 @@
#define MULD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_12_E5_SHIFT 16
#define MULD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_13_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 1.
#define MULD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_13_E5_SHIFT 24
-#define MULD_REG_L2MA_SAME_OFFSET_SET_2_E5 0x4e1410UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_SAME_OFFSET_SET_2_E5 0x4e1414UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_20_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 2.
#define MULD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_20_E5_SHIFT 0
#define MULD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_21_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 2.
@@ -51556,7 +53138,7 @@
#define MULD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_22_E5_SHIFT 16
#define MULD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_23_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 2.
#define MULD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_23_E5_SHIFT 24
-#define MULD_REG_L2MA_SAME_OFFSET_SET_3_E5 0x4e1414UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_SAME_OFFSET_SET_3_E5 0x4e1418UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_30_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 3.
#define MULD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_30_E5_SHIFT 0
#define MULD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_31_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 3.
@@ -51565,7 +53147,7 @@
#define MULD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_32_E5_SHIFT 16
#define MULD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_33_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 3.
#define MULD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_33_E5_SHIFT 24
-#define MULD_REG_L2MA_SAME_LEN_SET_0_1_E5 0x4e1418UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_SAME_LEN_SET_0_1_E5 0x4e141cUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_SAME_LEN_SET_0_1_LEN_00_E5 (0xf<<0) // length in 32b units from the same 00 .
#define MULD_REG_L2MA_SAME_LEN_SET_0_1_LEN_00_E5_SHIFT 0
#define MULD_REG_L2MA_SAME_LEN_SET_0_1_LEN_01_E5 (0xf<<4) // length in 32b units from the same 01 .
@@ -51582,7 +53164,7 @@
#define MULD_REG_L2MA_SAME_LEN_SET_0_1_LEN_12_E5_SHIFT 24
#define MULD_REG_L2MA_SAME_LEN_SET_0_1_LEN_13_E5 (0xf<<28) // length in 32b units from the same 13 .
#define MULD_REG_L2MA_SAME_LEN_SET_0_1_LEN_13_E5_SHIFT 28
-#define MULD_REG_L2MA_SAME_LEN_SET_2_3_E5 0x4e141cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_SAME_LEN_SET_2_3_E5 0x4e1420UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_SAME_LEN_SET_2_3_LEN_20_E5 (0xf<<0) // length in 32b units from the same 20 .
#define MULD_REG_L2MA_SAME_LEN_SET_2_3_LEN_20_E5_SHIFT 0
#define MULD_REG_L2MA_SAME_LEN_SET_2_3_LEN_21_E5 (0xf<<4) // length in 32b units from the same 21 .
@@ -51599,11 +53181,39 @@
#define MULD_REG_L2MA_SAME_LEN_SET_2_3_LEN_32_E5_SHIFT 24
#define MULD_REG_L2MA_SAME_LEN_SET_2_3_LEN_33_E5 (0xf<<28) // length in 32b units from the same 33 .
#define MULD_REG_L2MA_SAME_LEN_SET_2_3_LEN_33_E5_SHIFT 28
-#define MULD_REG_L2MA_SAME_MASK_SET_0_E5 0x4e1420UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
-#define MULD_REG_L2MA_SAME_MASK_SET_1_E5 0x4e1424UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
-#define MULD_REG_L2MA_SAME_MASK_SET_2_E5 0x4e1428UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
-#define MULD_REG_L2MA_SAME_MASK_SET_3_E5 0x4e142cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
-#define MULD_REG_L2MA_DUP_OFFSET_SET_0_E5 0x4e1430UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_SAME_MASK_BITS_31_0_SET_0_E5 0x4e1424UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_63_32_SET_0_E5 0x4e1428UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_95_64_SET_0_E5 0x4e142cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_127_96_SET_0_E5 0x4e1430UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_159_128_SET_0_E5 0x4e1434UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_191_160_SET_0_E5 0x4e1438UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_223_192_SET_0_E5 0x4e143cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_255_224_SET_0_E5 0x4e1440UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_31_0_SET_1_E5 0x4e1444UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_63_32_SET_1_E5 0x4e1448UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_95_64_SET_1_E5 0x4e144cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_127_96_SET_1_E5 0x4e1450UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_159_128_SET_1_E5 0x4e1454UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_191_160_SET_1_E5 0x4e1458UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_223_192_SET_1_E5 0x4e145cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_255_224_SET_1_E5 0x4e1460UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_31_0_SET_2_E5 0x4e1464UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_63_32_SET_2_E5 0x4e1468UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_95_64_SET_2_E5 0x4e146cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_127_96_SET_2_E5 0x4e1470UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_159_128_SET_2_E5 0x4e1474UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_191_160_SET_2_E5 0x4e1478UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_223_192_SET_2_E5 0x4e147cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_255_224_SET_2_E5 0x4e1480UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_31_0_SET_3_E5 0x4e1484UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_63_32_SET_3_E5 0x4e1488UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_95_64_SET_3_E5 0x4e148cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_127_96_SET_3_E5 0x4e1490UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_159_128_SET_3_E5 0x4e1494UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_191_160_SET_3_E5 0x4e1498UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_223_192_SET_3_E5 0x4e149cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define MULD_REG_L2MA_SAME_MASK_BITS_255_224_SET_3_E5 0x4e14a0UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define MULD_REG_L2MA_DUP_OFFSET_SET_0_E5 0x4e14a4UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_00_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 0.
#define MULD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_00_E5_SHIFT 0
#define MULD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_01_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 0.
@@ -51612,7 +53222,7 @@
#define MULD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_02_E5_SHIFT 16
#define MULD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_03_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 0.
#define MULD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_03_E5_SHIFT 24
-#define MULD_REG_L2MA_DUP_OFFSET_SET_1_E5 0x4e1434UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_DUP_OFFSET_SET_1_E5 0x4e14a8UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_10_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 1.
#define MULD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_10_E5_SHIFT 0
#define MULD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_11_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 1.
@@ -51621,7 +53231,7 @@
#define MULD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_12_E5_SHIFT 16
#define MULD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_13_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 1.
#define MULD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_13_E5_SHIFT 24
-#define MULD_REG_L2MA_DUP_OFFSET_SET_2_E5 0x4e1438UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_DUP_OFFSET_SET_2_E5 0x4e14acUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_20_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 2.
#define MULD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_20_E5_SHIFT 0
#define MULD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_21_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 2.
@@ -51630,7 +53240,7 @@
#define MULD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_22_E5_SHIFT 16
#define MULD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_23_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 2.
#define MULD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_23_E5_SHIFT 24
-#define MULD_REG_L2MA_DUP_OFFSET_SET_3_E5 0x4e143cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_DUP_OFFSET_SET_3_E5 0x4e14b0UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_30_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 3.
#define MULD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_30_E5_SHIFT 0
#define MULD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_31_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 3.
@@ -51639,7 +53249,7 @@
#define MULD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_32_E5_SHIFT 16
#define MULD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_33_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 3.
#define MULD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_33_E5_SHIFT 24
-#define MULD_REG_L2MA_DUP_LEN_SET_0_E5 0x4e1440UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define MULD_REG_L2MA_DUP_LEN_SET_0_E5 0x4e14b4UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define MULD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_00_E5 (0x3f<<0) // length in 32b units from the dup 00 .
#define MULD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_00_E5_SHIFT 0
#define MULD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_01_E5 (0x3f<<6) // length in 32b units from the dup 01 .
@@ -51648,7 +53258,7 @@
#define MULD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_02_E5_SHIFT 12
#define MULD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_03_E5 (0x3f<<18) // length in 32b units from the dup 03 .
#define MULD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_03_E5_SHIFT 18
-#define MULD_REG_L2MA_DUP_LEN_SET_1_E5 0x4e1444UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define MULD_REG_L2MA_DUP_LEN_SET_1_E5 0x4e14b8UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define MULD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_10_E5 (0x3f<<0) // length in 32b units from the dup 10 .
#define MULD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_10_E5_SHIFT 0
#define MULD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_11_E5 (0x3f<<6) // length in 32b units from the dup 11 .
@@ -51657,7 +53267,7 @@
#define MULD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_12_E5_SHIFT 12
#define MULD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_13_E5 (0x3f<<18) // length in 32b units from the dup 13 .
#define MULD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_13_E5_SHIFT 18
-#define MULD_REG_L2MA_DUP_LEN_SET_2_E5 0x4e1448UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define MULD_REG_L2MA_DUP_LEN_SET_2_E5 0x4e14bcUL //Access:RW DataWidth:0x18 // Multi Field Register.
#define MULD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_20_E5 (0x3f<<0) // length in 32b units from the dup 20 .
#define MULD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_20_E5_SHIFT 0
#define MULD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_21_E5 (0x3f<<6) // length in 32b units from the dup 21 .
@@ -51666,7 +53276,7 @@
#define MULD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_22_E5_SHIFT 12
#define MULD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_23_E5 (0x3f<<18) // length in 32b units from the dup 23 .
#define MULD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_23_E5_SHIFT 18
-#define MULD_REG_L2MA_DUP_LEN_SET_3_E5 0x4e144cUL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define MULD_REG_L2MA_DUP_LEN_SET_3_E5 0x4e14c0UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define MULD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_30_E5 (0x3f<<0) // length in 32b units from the dup 30 .
#define MULD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_30_E5_SHIFT 0
#define MULD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_31_E5 (0x3f<<6) // length in 32b units from the dup 31 .
@@ -51675,7 +53285,7 @@
#define MULD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_32_E5_SHIFT 12
#define MULD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_33_E5 (0x3f<<18) // length in 32b units from the dup 33 .
#define MULD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_33_E5_SHIFT 18
-#define MULD_REG_L2MA_FLOW_ID_E5 0x4e1450UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define MULD_REG_L2MA_FLOW_ID_E5 0x4e14c4UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define MULD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_0_E5 (0x1<<0) // indication if to include the flow-ID in the stream-ID for set 0.
#define MULD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_0_E5_SHIFT 0
#define MULD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_1_E5 (0x1<<1) // indication if to include the flow-ID in the stream-ID for set 1.
@@ -51692,7 +53302,7 @@
#define MULD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_2_E5_SHIFT 14
#define MULD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_3_E5 (0x1f<<19) // offset of the flow-ID, in 32b units, from the beginning of the message. Should be at most in the 3rd 256b cycle of the incoming message (i.e. max value is 23). This parameter is NA if FlowIdInclude is reset. For set 3 .
#define MULD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_3_E5_SHIFT 19
-#define MULD_REG_L2MA_SN_OFFSET_E5 0x4e1454UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_SN_OFFSET_E5 0x4e14c8UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_SN_OFFSET_SN_OFFSET_0_E5 (0xff<<0) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 0.
#define MULD_REG_L2MA_SN_OFFSET_SN_OFFSET_0_E5_SHIFT 0
#define MULD_REG_L2MA_SN_OFFSET_SN_OFFSET_1_E5 (0xff<<8) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 1.
@@ -51701,7 +53311,7 @@
#define MULD_REG_L2MA_SN_OFFSET_SN_OFFSET_2_E5_SHIFT 16
#define MULD_REG_L2MA_SN_OFFSET_SN_OFFSET_3_E5 (0xff<<24) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 3.
#define MULD_REG_L2MA_SN_OFFSET_SN_OFFSET_3_E5_SHIFT 24
-#define MULD_REG_L2MA_MAX_L2MA_CHILD_E5 0x4e1458UL //Access:RW DataWidth:0x10 // Multi Field Register.
+#define MULD_REG_L2MA_MAX_L2MA_CHILD_E5 0x4e14ccUL //Access:RW DataWidth:0x10 // Multi Field Register.
#define MULD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_0_E5 (0xf<<0) // the maximal number of children in a specific aggregation. for set 0.
#define MULD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_0_E5_SHIFT 0
#define MULD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_1_E5 (0xf<<4) // the maximal number of children in a specific aggregation. for set 1.
@@ -51710,7 +53320,7 @@
#define MULD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_2_E5_SHIFT 8
#define MULD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_3_E5 (0xf<<12) // the maximal number of children in a specific aggregation. for set 3.
#define MULD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_3_E5_SHIFT 12
-#define MULD_REG_L2MA_INC_L2MA_EVENT_ID_E5 0x4e145cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MULD_REG_L2MA_INC_L2MA_EVENT_ID_E5 0x4e14d0UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define MULD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_0_E5 (0xff<<0) // The value by which to increment the event-ID in case of successful aggregation. for set 0.
#define MULD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_0_E5_SHIFT 0
#define MULD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_1_E5 (0xff<<8) // The value by which to increment the event-ID in case of successful aggregation. for set 1.
@@ -51719,8 +53329,8 @@
#define MULD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_2_E5_SHIFT 16
#define MULD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_3_E5 (0xff<<24) // The value by which to increment the event-ID in case of successful aggregation. for set 3.
#define MULD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_3_E5_SHIFT 24
-#define MULD_REG_LD_MAX_MSG_SIZE_E5 0x4e1460UL //Access:RW DataWidth:0x4 // maximum loader size in 256 bit words
-#define MULD_REG_PAGE_SIZE_E5 0x4e1464UL //Access:RW DataWidth:0x20 // page size in bytes
+#define MULD_REG_LD_MAX_MSG_SIZE_E5 0x4e14d4UL //Access:RW DataWidth:0xc // maximum loader size in 256 bit words
+#define MULD_REG_PAGE_SIZE_E5 0x4e14d8UL //Access:RW DataWidth:0x20 // page size in bytes
#define MULD_REG_DBG_SELECT 0x4e1600UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define MULD_REG_DBG_DWORD_ENABLE 0x4e1604UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define MULD_REG_DBG_SHIFT 0x4e1608UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -51728,8 +53338,8 @@
#define MULD_REG_DBG_FORCE_FRAME 0x4e1610UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
#define MULD_REG_DBG_OUT_DATA 0x4e1620UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define MULD_REG_DBG_OUT_DATA_SIZE 8
-#define MULD_REG_DBG_OUT_VALID 0x4e1640UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define MULD_REG_DBG_OUT_FRAME 0x4e1644UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define MULD_REG_DBG_OUT_VALID 0x4e1640UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define MULD_REG_DBG_OUT_FRAME 0x4e1644UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define MULD_REG_FIC_INPUT_FIFO 0x4e2000UL //Access:WB DataWidth:0x80 // Access to input FIC FIFO
#define MULD_REG_FIC_INPUT_FIFO_SIZE 176
#define MULD_REG_BD_DB_ARR_DW 0x4e4000UL //Access:WB DataWidth:0xb5 // Access the BD DB - Fields order[Link page]: [180] Next address valid; [179:178] Endianity bits; [177] No snoop flag; [176] Releaxed ordering flag;[175:173] ATC flags; [172:161] TPH flags; [160] Ring type; [159:143] Next BD offset; [144:128] FID; [127:64] Next base address; [63:0] Base address::/TMLD_DISCARD/d in TMLD::/XYLD_DISCARD/d in XYLD::/YULD_DISCARD/d in YULD. Access the BD DB - Fields order[PBL]: [180] Next address valid; [179:178] Endianity bits; [177] No snoop flag; [176] Releaxed ordering flag;[175:173] ATC flags; [172:161] TPH flags; [160] Ring type; [159:143] Next BD offset; [144:128] FID; [127:64] ;PBL size(in number of entries) [63:0] PBL Base address::/TMLD_DISCARD/d in TMLD::/XYLD_DISCARD/d in XYLD::/YULD_DISCARD/d in YULD.
@@ -53566,59 +55176,137 @@
#define NIG_REG_INT_STS_CLR_10_LB_SOPQ22_ERROR_E5_SHIFT 14
#define NIG_REG_INT_STS_CLR_10_LB_SOPQ23_ERROR_E5 (0x1<<15) // Error in the LB SOPQ.
#define NIG_REG_INT_STS_CLR_10_LB_SOPQ23_ERROR_E5_SHIFT 15
-#define NIG_REG_PRTY_MASK_H_0_BB_K2 0x500204UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define NIG_REG_PRTY_MASK_H_0_MEM107_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM107_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM107_I_MEM_PRTY_K2_SHIFT 0
- #define NIG_REG_PRTY_MASK_H_0_MEM103_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM103_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM103_I_MEM_PRTY_K2_SHIFT 1
- #define NIG_REG_PRTY_MASK_H_0_MEM104_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM104_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM104_I_MEM_PRTY_K2_SHIFT 2
- #define NIG_REG_PRTY_MASK_H_0_MEM105_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM105_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM105_I_MEM_PRTY_BB_SHIFT 2
- #define NIG_REG_PRTY_MASK_H_0_MEM105_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM105_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM105_I_MEM_PRTY_K2_SHIFT 3
- #define NIG_REG_PRTY_MASK_H_0_MEM106_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM106_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM106_I_MEM_PRTY_BB_SHIFT 3
- #define NIG_REG_PRTY_MASK_H_0_MEM106_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM106_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM106_I_MEM_PRTY_K2_SHIFT 4
+#define NIG_REG_PRTY_MASK_H_0 0x500204UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define NIG_REG_PRTY_MASK_H_0_MEM118_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM118_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM118_I_MEM_PRTY_E5_SHIFT 0
+ #define NIG_REG_PRTY_MASK_H_0_MEM117_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM117_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM117_I_MEM_PRTY_E5_SHIFT 1
+ #define NIG_REG_PRTY_MASK_H_0_MEM086_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM086_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM086_I_MEM_PRTY_E5_SHIFT 2
+ #define NIG_REG_PRTY_MASK_H_0_MEM085_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM085_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM085_I_MEM_PRTY_E5_SHIFT 3
+ #define NIG_REG_PRTY_MASK_H_0_MEM088_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM088_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM088_I_MEM_PRTY_E5_SHIFT 4
+ #define NIG_REG_PRTY_MASK_H_0_MEM087_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM087_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM087_I_MEM_PRTY_E5_SHIFT 5
+ #define NIG_REG_PRTY_MASK_H_0_MEM090_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM090_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM090_I_MEM_PRTY_BB_SHIFT 4
+ #define NIG_REG_PRTY_MASK_H_0_MEM090_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM090_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM090_I_MEM_PRTY_E5_SHIFT 6
+ #define NIG_REG_PRTY_MASK_H_0_MEM089_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM089_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM089_I_MEM_PRTY_BB_SHIFT 5
+ #define NIG_REG_PRTY_MASK_H_0_MEM089_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM089_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM089_I_MEM_PRTY_E5_SHIFT 7
+ #define NIG_REG_PRTY_MASK_H_0_MEM092_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM092_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM092_I_MEM_PRTY_BB_SHIFT 6
+ #define NIG_REG_PRTY_MASK_H_0_MEM092_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM092_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM092_I_MEM_PRTY_E5_SHIFT 8
+ #define NIG_REG_PRTY_MASK_H_0_MEM091_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM091_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM091_I_MEM_PRTY_BB_SHIFT 7
+ #define NIG_REG_PRTY_MASK_H_0_MEM091_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM091_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM091_I_MEM_PRTY_E5_SHIFT 9
+ #define NIG_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_K2 (0x1<<28) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM061_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_K2_SHIFT 28
+ #define NIG_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM061_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_E5_SHIFT 10
#define NIG_REG_PRTY_MASK_H_0_MEM072_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM072_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM072_I_MEM_PRTY_K2_SHIFT 5
- #define NIG_REG_PRTY_MASK_H_0_MEM071_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM071_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM071_I_MEM_PRTY_K2_SHIFT 6
- #define NIG_REG_PRTY_MASK_H_0_MEM074_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM074_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM074_I_MEM_PRTY_K2_SHIFT 7
- #define NIG_REG_PRTY_MASK_H_0_MEM073_I_MEM_PRTY_BB (0x1<<26) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM073_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM073_I_MEM_PRTY_BB_SHIFT 26
- #define NIG_REG_PRTY_MASK_H_0_MEM073_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM073_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM073_I_MEM_PRTY_K2_SHIFT 8
- #define NIG_REG_PRTY_MASK_H_0_MEM076_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM076_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM076_I_MEM_PRTY_K2_SHIFT 9
- #define NIG_REG_PRTY_MASK_H_0_MEM075_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM075_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM075_I_MEM_PRTY_K2_SHIFT 10
+ #define NIG_REG_PRTY_MASK_H_0_MEM072_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM072_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM072_I_MEM_PRTY_E5_SHIFT 11
+ #define NIG_REG_PRTY_MASK_H_0_MEM077_I_MEM_PRTY_K2_E5 (0x1<<12) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM077_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM077_I_MEM_PRTY_K2_E5_SHIFT 12
#define NIG_REG_PRTY_MASK_H_0_MEM078_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM078_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM078_I_MEM_PRTY_K2_SHIFT 11
- #define NIG_REG_PRTY_MASK_H_0_MEM077_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM077_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM077_I_MEM_PRTY_K2_SHIFT 12
- #define NIG_REG_PRTY_MASK_H_0_MEM055_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM055_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM055_I_MEM_PRTY_K2_SHIFT 13
+ #define NIG_REG_PRTY_MASK_H_0_MEM078_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM078_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM078_I_MEM_PRTY_E5_SHIFT 13
+ #define NIG_REG_PRTY_MASK_H_0_MEM079_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM079_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM079_I_MEM_PRTY_E5_SHIFT 14
+ #define NIG_REG_PRTY_MASK_H_0_MEM080_I_MEM_PRTY_BB (0x1<<27) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM080_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM080_I_MEM_PRTY_BB_SHIFT 27
+ #define NIG_REG_PRTY_MASK_H_0_MEM080_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM080_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM080_I_MEM_PRTY_E5_SHIFT 15
+ #define NIG_REG_PRTY_MASK_H_0_MEM081_I_MEM_PRTY_BB (0x1<<28) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM081_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM081_I_MEM_PRTY_BB_SHIFT 28
+ #define NIG_REG_PRTY_MASK_H_0_MEM081_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM081_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM081_I_MEM_PRTY_E5_SHIFT 16
+ #define NIG_REG_PRTY_MASK_H_0_MEM082_I_MEM_PRTY_BB (0x1<<29) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM082_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM082_I_MEM_PRTY_BB_SHIFT 29
+ #define NIG_REG_PRTY_MASK_H_0_MEM082_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM082_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM082_I_MEM_PRTY_E5_SHIFT 17
+ #define NIG_REG_PRTY_MASK_H_0_MEM083_I_MEM_PRTY_BB (0x1<<30) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM083_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM083_I_MEM_PRTY_BB_SHIFT 30
+ #define NIG_REG_PRTY_MASK_H_0_MEM083_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM083_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM083_I_MEM_PRTY_E5_SHIFT 18
+ #define NIG_REG_PRTY_MASK_H_0_MEM084_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM084_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM084_I_MEM_PRTY_E5_SHIFT 19
#define NIG_REG_PRTY_MASK_H_0_MEM062_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM062_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM062_I_MEM_PRTY_K2_SHIFT 14
+ #define NIG_REG_PRTY_MASK_H_0_MEM062_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM062_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM062_I_MEM_PRTY_E5_SHIFT 20
#define NIG_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_K2 (0x1<<15) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM063_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_K2_SHIFT 15
+ #define NIG_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM063_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM063_I_MEM_PRTY_E5_SHIFT 21
#define NIG_REG_PRTY_MASK_H_0_MEM064_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM064_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM064_I_MEM_PRTY_K2_SHIFT 16
+ #define NIG_REG_PRTY_MASK_H_0_MEM064_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM064_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM064_I_MEM_PRTY_E5_SHIFT 22
#define NIG_REG_PRTY_MASK_H_0_MEM065_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM065_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM065_I_MEM_PRTY_K2_SHIFT 17
+ #define NIG_REG_PRTY_MASK_H_0_MEM065_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM065_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM065_I_MEM_PRTY_E5_SHIFT 23
#define NIG_REG_PRTY_MASK_H_0_MEM066_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM066_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM066_I_MEM_PRTY_K2_SHIFT 18
+ #define NIG_REG_PRTY_MASK_H_0_MEM066_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM066_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM066_I_MEM_PRTY_E5_SHIFT 24
#define NIG_REG_PRTY_MASK_H_0_MEM067_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM067_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM067_I_MEM_PRTY_K2_SHIFT 19
+ #define NIG_REG_PRTY_MASK_H_0_MEM067_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM067_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM067_I_MEM_PRTY_E5_SHIFT 25
#define NIG_REG_PRTY_MASK_H_0_MEM068_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM068_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM068_I_MEM_PRTY_K2_SHIFT 20
+ #define NIG_REG_PRTY_MASK_H_0_MEM068_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM068_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM068_I_MEM_PRTY_E5_SHIFT 26
#define NIG_REG_PRTY_MASK_H_0_MEM069_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM069_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM069_I_MEM_PRTY_K2_SHIFT 21
+ #define NIG_REG_PRTY_MASK_H_0_MEM069_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM069_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM069_I_MEM_PRTY_E5_SHIFT 27
#define NIG_REG_PRTY_MASK_H_0_MEM070_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM070_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM070_I_MEM_PRTY_K2_SHIFT 22
+ #define NIG_REG_PRTY_MASK_H_0_MEM070_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM070_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM070_I_MEM_PRTY_E5_SHIFT 28
+ #define NIG_REG_PRTY_MASK_H_0_MEM071_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM071_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM071_I_MEM_PRTY_K2_SHIFT 6
+ #define NIG_REG_PRTY_MASK_H_0_MEM071_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM071_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM071_I_MEM_PRTY_E5_SHIFT 29
+ #define NIG_REG_PRTY_MASK_H_0_MEM073_I_MEM_PRTY_BB (0x1<<26) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM073_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM073_I_MEM_PRTY_BB_SHIFT 26
+ #define NIG_REG_PRTY_MASK_H_0_MEM073_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM073_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM073_I_MEM_PRTY_K2_SHIFT 8
+ #define NIG_REG_PRTY_MASK_H_0_MEM073_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM073_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM073_I_MEM_PRTY_E5_SHIFT 30
+ #define NIG_REG_PRTY_MASK_H_0_MEM107_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM107_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM107_I_MEM_PRTY_K2_SHIFT 0
+ #define NIG_REG_PRTY_MASK_H_0_MEM103_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM103_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM103_I_MEM_PRTY_K2_SHIFT 1
+ #define NIG_REG_PRTY_MASK_H_0_MEM104_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM104_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM104_I_MEM_PRTY_K2_SHIFT 2
+ #define NIG_REG_PRTY_MASK_H_0_MEM105_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM105_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM105_I_MEM_PRTY_BB_SHIFT 2
+ #define NIG_REG_PRTY_MASK_H_0_MEM105_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM105_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM105_I_MEM_PRTY_K2_SHIFT 3
+ #define NIG_REG_PRTY_MASK_H_0_MEM106_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM106_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM106_I_MEM_PRTY_BB_SHIFT 3
+ #define NIG_REG_PRTY_MASK_H_0_MEM106_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM106_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM106_I_MEM_PRTY_K2_SHIFT 4
+ #define NIG_REG_PRTY_MASK_H_0_MEM074_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM074_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM074_I_MEM_PRTY_K2_SHIFT 7
+ #define NIG_REG_PRTY_MASK_H_0_MEM076_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM076_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM076_I_MEM_PRTY_K2_SHIFT 9
+ #define NIG_REG_PRTY_MASK_H_0_MEM075_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM075_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM075_I_MEM_PRTY_K2_SHIFT 10
+ #define NIG_REG_PRTY_MASK_H_0_MEM055_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM055_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_0_MEM055_I_MEM_PRTY_K2_SHIFT 13
#define NIG_REG_PRTY_MASK_H_0_MEM056_I_MEM_PRTY_K2 (0x1<<23) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM056_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM056_I_MEM_PRTY_K2_SHIFT 23
#define NIG_REG_PRTY_MASK_H_0_MEM057_I_MEM_PRTY_K2 (0x1<<24) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM057_I_MEM_PRTY .
@@ -53629,8 +55317,6 @@
#define NIG_REG_PRTY_MASK_H_0_MEM059_I_MEM_PRTY_K2_SHIFT 26
#define NIG_REG_PRTY_MASK_H_0_MEM060_I_MEM_PRTY_K2 (0x1<<27) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM060_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM060_I_MEM_PRTY_K2_SHIFT 27
- #define NIG_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_K2 (0x1<<28) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM061_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM061_I_MEM_PRTY_K2_SHIFT 28
#define NIG_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_K2 (0x1<<29) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM035_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_K2_SHIFT 29
#define NIG_REG_PRTY_MASK_H_0_MEM046_I_MEM_PRTY_K2 (0x1<<30) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM046_I_MEM_PRTY .
@@ -53639,14 +55325,6 @@
#define NIG_REG_PRTY_MASK_H_0_MEM051_I_MEM_PRTY_BB_SHIFT 0
#define NIG_REG_PRTY_MASK_H_0_MEM052_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM052_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM052_I_MEM_PRTY_BB_SHIFT 1
- #define NIG_REG_PRTY_MASK_H_0_MEM090_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM090_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM090_I_MEM_PRTY_BB_SHIFT 4
- #define NIG_REG_PRTY_MASK_H_0_MEM089_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM089_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM089_I_MEM_PRTY_BB_SHIFT 5
- #define NIG_REG_PRTY_MASK_H_0_MEM092_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM092_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM092_I_MEM_PRTY_BB_SHIFT 6
- #define NIG_REG_PRTY_MASK_H_0_MEM091_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM091_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM091_I_MEM_PRTY_BB_SHIFT 7
#define NIG_REG_PRTY_MASK_H_0_MEM109_I_MEM_PRTY_BB (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM109_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM109_I_MEM_PRTY_BB_SHIFT 8
#define NIG_REG_PRTY_MASK_H_0_MEM110_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM110_I_MEM_PRTY .
@@ -53683,51 +55361,123 @@
#define NIG_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 24
#define NIG_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB (0x1<<25) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_SHIFT 25
- #define NIG_REG_PRTY_MASK_H_0_MEM080_I_MEM_PRTY_BB (0x1<<27) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM080_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM080_I_MEM_PRTY_BB_SHIFT 27
- #define NIG_REG_PRTY_MASK_H_0_MEM081_I_MEM_PRTY_BB (0x1<<28) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM081_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM081_I_MEM_PRTY_BB_SHIFT 28
- #define NIG_REG_PRTY_MASK_H_0_MEM082_I_MEM_PRTY_BB (0x1<<29) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM082_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM082_I_MEM_PRTY_BB_SHIFT 29
- #define NIG_REG_PRTY_MASK_H_0_MEM083_I_MEM_PRTY_BB (0x1<<30) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_0.MEM083_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_0_MEM083_I_MEM_PRTY_BB_SHIFT 30
-#define NIG_REG_PRTY_MASK_H_1_BB_K2 0x500214UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define NIG_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM047_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_K2_SHIFT 0
- #define NIG_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM048_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_K2_SHIFT 1
- #define NIG_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM049_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_K2_SHIFT 2
- #define NIG_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM050_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_K2_SHIFT 3
- #define NIG_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM051_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_K2_SHIFT 4
- #define NIG_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM052_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_K2_SHIFT 5
+#define NIG_REG_PRTY_MASK_H_1 0x500214UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define NIG_REG_PRTY_MASK_H_1_MEM074_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM074_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM074_I_MEM_PRTY_BB_SHIFT 5
+ #define NIG_REG_PRTY_MASK_H_1_MEM074_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM074_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM074_I_MEM_PRTY_E5_SHIFT 0
+ #define NIG_REG_PRTY_MASK_H_1_MEM075_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM075_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM075_I_MEM_PRTY_BB_SHIFT 6
+ #define NIG_REG_PRTY_MASK_H_1_MEM075_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM075_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM075_I_MEM_PRTY_E5_SHIFT 1
+ #define NIG_REG_PRTY_MASK_H_1_MEM076_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM076_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM076_I_MEM_PRTY_BB_SHIFT 7
+ #define NIG_REG_PRTY_MASK_H_1_MEM076_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM076_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM076_I_MEM_PRTY_E5_SHIFT 2
+ #define NIG_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM033_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_E5_SHIFT 3
+ #define NIG_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM044_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_K2_SHIFT 16
+ #define NIG_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM044_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_E5_SHIFT 4
#define NIG_REG_PRTY_MASK_H_1_MEM053_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM053_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM053_I_MEM_PRTY_K2_SHIFT 6
+ #define NIG_REG_PRTY_MASK_H_1_MEM053_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM053_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM053_I_MEM_PRTY_E5_SHIFT 5
#define NIG_REG_PRTY_MASK_H_1_MEM054_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM054_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM054_I_MEM_PRTY_K2_SHIFT 7
+ #define NIG_REG_PRTY_MASK_H_1_MEM054_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM054_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM054_I_MEM_PRTY_E5_SHIFT 6
+ #define NIG_REG_PRTY_MASK_H_1_MEM055_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM055_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM055_I_MEM_PRTY_BB_SHIFT 11
+ #define NIG_REG_PRTY_MASK_H_1_MEM055_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM055_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM055_I_MEM_PRTY_E5_SHIFT 7
+ #define NIG_REG_PRTY_MASK_H_1_MEM056_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM056_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM056_I_MEM_PRTY_BB_SHIFT 21
+ #define NIG_REG_PRTY_MASK_H_1_MEM056_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM056_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM056_I_MEM_PRTY_E5_SHIFT 8
+ #define NIG_REG_PRTY_MASK_H_1_MEM057_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM057_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM057_I_MEM_PRTY_BB_SHIFT 22
+ #define NIG_REG_PRTY_MASK_H_1_MEM057_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM057_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM057_I_MEM_PRTY_E5_SHIFT 9
+ #define NIG_REG_PRTY_MASK_H_1_MEM058_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM058_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM058_I_MEM_PRTY_BB_SHIFT 23
+ #define NIG_REG_PRTY_MASK_H_1_MEM058_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM058_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM058_I_MEM_PRTY_E5_SHIFT 10
+ #define NIG_REG_PRTY_MASK_H_1_MEM059_I_MEM_PRTY_BB (0x1<<24) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM059_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM059_I_MEM_PRTY_BB_SHIFT 24
+ #define NIG_REG_PRTY_MASK_H_1_MEM059_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM059_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM059_I_MEM_PRTY_E5_SHIFT 11
+ #define NIG_REG_PRTY_MASK_H_1_MEM060_I_MEM_PRTY_BB (0x1<<25) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM060_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM060_I_MEM_PRTY_BB_SHIFT 25
+ #define NIG_REG_PRTY_MASK_H_1_MEM060_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM060_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM060_I_MEM_PRTY_E5_SHIFT 12
+ #define NIG_REG_PRTY_MASK_H_1_MEM034_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM034_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM034_I_MEM_PRTY_E5_SHIFT 13
+ #define NIG_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM035_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_E5_SHIFT 14
#define NIG_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM036_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_K2_SHIFT 8
+ #define NIG_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM036_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_E5_SHIFT 15
#define NIG_REG_PRTY_MASK_H_1_MEM037_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM037_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM037_I_MEM_PRTY_K2_SHIFT 9
+ #define NIG_REG_PRTY_MASK_H_1_MEM037_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM037_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM037_I_MEM_PRTY_E5_SHIFT 16
#define NIG_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM038_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_K2_SHIFT 10
+ #define NIG_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM038_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_E5_SHIFT 17
#define NIG_REG_PRTY_MASK_H_1_MEM039_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM039_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM039_I_MEM_PRTY_K2_SHIFT 11
+ #define NIG_REG_PRTY_MASK_H_1_MEM039_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM039_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM039_I_MEM_PRTY_E5_SHIFT 18
#define NIG_REG_PRTY_MASK_H_1_MEM040_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM040_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM040_I_MEM_PRTY_K2_SHIFT 12
+ #define NIG_REG_PRTY_MASK_H_1_MEM040_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM040_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM040_I_MEM_PRTY_E5_SHIFT 19
#define NIG_REG_PRTY_MASK_H_1_MEM041_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM041_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM041_I_MEM_PRTY_K2_SHIFT 13
+ #define NIG_REG_PRTY_MASK_H_1_MEM041_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM041_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM041_I_MEM_PRTY_E5_SHIFT 20
#define NIG_REG_PRTY_MASK_H_1_MEM042_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM042_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM042_I_MEM_PRTY_K2_SHIFT 14
+ #define NIG_REG_PRTY_MASK_H_1_MEM042_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM042_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM042_I_MEM_PRTY_E5_SHIFT 21
#define NIG_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_K2 (0x1<<15) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM043_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_K2_SHIFT 15
- #define NIG_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM044_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_K2_SHIFT 16
+ #define NIG_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM043_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_E5_SHIFT 22
#define NIG_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM045_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_K2_SHIFT 17
+ #define NIG_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM045_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_E5_SHIFT 23
+ #define NIG_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM046_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_E5_SHIFT 24
+ #define NIG_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM047_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_K2_SHIFT 0
+ #define NIG_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM047_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_E5_SHIFT 25
+ #define NIG_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM048_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_K2_SHIFT 1
+ #define NIG_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM048_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_E5_SHIFT 26
+ #define NIG_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM049_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_K2_SHIFT 2
+ #define NIG_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM049_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_E5_SHIFT 27
+ #define NIG_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM050_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_K2_SHIFT 3
+ #define NIG_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM050_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_E5_SHIFT 28
+ #define NIG_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM051_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_K2_SHIFT 4
+ #define NIG_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM051_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_E5_SHIFT 29
+ #define NIG_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM052_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_K2_SHIFT 5
+ #define NIG_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM052_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_E5_SHIFT 30
#define NIG_REG_PRTY_MASK_H_1_MEM091_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM091_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM091_I_MEM_PRTY_K2_SHIFT 18
#define NIG_REG_PRTY_MASK_H_1_MEM092_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM092_I_MEM_PRTY .
@@ -53764,20 +55514,12 @@
#define NIG_REG_PRTY_MASK_H_1_MEM087_I_MEM_PRTY_BB_SHIFT 3
#define NIG_REG_PRTY_MASK_H_1_MEM088_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM088_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM088_I_MEM_PRTY_BB_SHIFT 4
- #define NIG_REG_PRTY_MASK_H_1_MEM074_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM074_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM074_I_MEM_PRTY_BB_SHIFT 5
- #define NIG_REG_PRTY_MASK_H_1_MEM075_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM075_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM075_I_MEM_PRTY_BB_SHIFT 6
- #define NIG_REG_PRTY_MASK_H_1_MEM076_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM076_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM076_I_MEM_PRTY_BB_SHIFT 7
#define NIG_REG_PRTY_MASK_H_1_MEM077_I_MEM_PRTY_BB (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM077_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM077_I_MEM_PRTY_BB_SHIFT 8
#define NIG_REG_PRTY_MASK_H_1_MEM078_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM078_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM078_I_MEM_PRTY_BB_SHIFT 9
#define NIG_REG_PRTY_MASK_H_1_MEM079_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM079_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM079_I_MEM_PRTY_BB_SHIFT 10
- #define NIG_REG_PRTY_MASK_H_1_MEM055_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM055_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM055_I_MEM_PRTY_BB_SHIFT 11
#define NIG_REG_PRTY_MASK_H_1_MEM064_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM064_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM064_I_MEM_PRTY_BB_SHIFT 12
#define NIG_REG_PRTY_MASK_H_1_MEM065_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM065_I_MEM_PRTY .
@@ -53796,16 +55538,6 @@
#define NIG_REG_PRTY_MASK_H_1_MEM071_I_MEM_PRTY_BB_SHIFT 19
#define NIG_REG_PRTY_MASK_H_1_MEM072_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM072_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM072_I_MEM_PRTY_BB_SHIFT 20
- #define NIG_REG_PRTY_MASK_H_1_MEM056_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM056_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM056_I_MEM_PRTY_BB_SHIFT 21
- #define NIG_REG_PRTY_MASK_H_1_MEM057_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM057_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM057_I_MEM_PRTY_BB_SHIFT 22
- #define NIG_REG_PRTY_MASK_H_1_MEM058_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM058_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM058_I_MEM_PRTY_BB_SHIFT 23
- #define NIG_REG_PRTY_MASK_H_1_MEM059_I_MEM_PRTY_BB (0x1<<24) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM059_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM059_I_MEM_PRTY_BB_SHIFT 24
- #define NIG_REG_PRTY_MASK_H_1_MEM060_I_MEM_PRTY_BB (0x1<<25) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM060_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_1_MEM060_I_MEM_PRTY_BB_SHIFT 25
#define NIG_REG_PRTY_MASK_H_1_MEM061_I_MEM_PRTY_BB (0x1<<26) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM061_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM061_I_MEM_PRTY_BB_SHIFT 26
#define NIG_REG_PRTY_MASK_H_1_MEM062_I_MEM_PRTY_BB (0x1<<27) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM062_I_MEM_PRTY .
@@ -53816,7 +55548,103 @@
#define NIG_REG_PRTY_MASK_H_1_MEM099_I_MEM_PRTY_BB_SHIFT 29
#define NIG_REG_PRTY_MASK_H_1_MEM100_I_MEM_PRTY_BB (0x1<<30) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_1.MEM100_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_1_MEM100_I_MEM_PRTY_BB_SHIFT 30
-#define NIG_REG_PRTY_MASK_H_2_BB_K2 0x500224UL //Access:RW DataWidth:0x1f // Multi Field Register.
+#define NIG_REG_PRTY_MASK_H_2 0x500224UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define NIG_REG_PRTY_MASK_H_2_MEM105_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM105_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM105_I_MEM_PRTY_E5_SHIFT 0
+ #define NIG_REG_PRTY_MASK_H_2_MEM106_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM106_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM106_I_MEM_PRTY_E5_SHIFT 1
+ #define NIG_REG_PRTY_MASK_H_2_MEM107_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM107_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM107_I_MEM_PRTY_BB_SHIFT 6
+ #define NIG_REG_PRTY_MASK_H_2_MEM107_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM107_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM107_I_MEM_PRTY_E5_SHIFT 2
+ #define NIG_REG_PRTY_MASK_H_2_MEM108_I_MEM_PRTY_BB (0x1<<15) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM108_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM108_I_MEM_PRTY_BB_SHIFT 15
+ #define NIG_REG_PRTY_MASK_H_2_MEM108_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM108_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM108_I_MEM_PRTY_E5_SHIFT 3
+ #define NIG_REG_PRTY_MASK_H_2_MEM025_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM025_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM025_I_MEM_PRTY_BB_SHIFT 2
+ #define NIG_REG_PRTY_MASK_H_2_MEM025_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM025_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM025_I_MEM_PRTY_K2_SHIFT 17
+ #define NIG_REG_PRTY_MASK_H_2_MEM025_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM025_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM025_I_MEM_PRTY_E5_SHIFT 4
+ #define NIG_REG_PRTY_MASK_H_2_MEM026_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM026_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM026_I_MEM_PRTY_BB_SHIFT 3
+ #define NIG_REG_PRTY_MASK_H_2_MEM026_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM026_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM026_I_MEM_PRTY_K2_SHIFT 18
+ #define NIG_REG_PRTY_MASK_H_2_MEM026_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM026_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM026_I_MEM_PRTY_E5_SHIFT 5
+ #define NIG_REG_PRTY_MASK_H_2_MEM027_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM027_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM027_I_MEM_PRTY_BB_SHIFT 10
+ #define NIG_REG_PRTY_MASK_H_2_MEM027_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM027_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM027_I_MEM_PRTY_E5_SHIFT 6
+ #define NIG_REG_PRTY_MASK_H_2_MEM028_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM028_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM028_I_MEM_PRTY_BB_SHIFT 11
+ #define NIG_REG_PRTY_MASK_H_2_MEM028_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM028_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM028_I_MEM_PRTY_E5_SHIFT 7
+ #define NIG_REG_PRTY_MASK_H_2_MEM011_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM011_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM011_I_MEM_PRTY_E5_SHIFT 8
+ #define NIG_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM012_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM012_I_MEM_PRTY_E5_SHIFT 9
+ #define NIG_REG_PRTY_MASK_H_2_MEM013_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM013_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM013_I_MEM_PRTY_E5_SHIFT 10
+ #define NIG_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM014_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM014_I_MEM_PRTY_E5_SHIFT 11
+ #define NIG_REG_PRTY_MASK_H_2_MEM109_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM109_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM109_I_MEM_PRTY_E5_SHIFT 12
+ #define NIG_REG_PRTY_MASK_H_2_MEM110_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM110_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM110_I_MEM_PRTY_E5_SHIFT 13
+ #define NIG_REG_PRTY_MASK_H_2_MEM111_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM111_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM111_I_MEM_PRTY_E5_SHIFT 14
+ #define NIG_REG_PRTY_MASK_H_2_MEM112_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM112_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM112_I_MEM_PRTY_E5_SHIFT 15
+ #define NIG_REG_PRTY_MASK_H_2_MEM029_I_MEM_PRTY_BB (0x1<<19) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM029_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM029_I_MEM_PRTY_BB_SHIFT 19
+ #define NIG_REG_PRTY_MASK_H_2_MEM029_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM029_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM029_I_MEM_PRTY_E5_SHIFT 16
+ #define NIG_REG_PRTY_MASK_H_2_MEM030_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM030_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM030_I_MEM_PRTY_BB_SHIFT 20
+ #define NIG_REG_PRTY_MASK_H_2_MEM030_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM030_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM030_I_MEM_PRTY_E5_SHIFT 17
+ #define NIG_REG_PRTY_MASK_H_2_MEM031_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM031_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM031_I_MEM_PRTY_BB_SHIFT 21
+ #define NIG_REG_PRTY_MASK_H_2_MEM031_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM031_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM031_I_MEM_PRTY_K2_SHIFT 3
+ #define NIG_REG_PRTY_MASK_H_2_MEM031_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM031_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM031_I_MEM_PRTY_E5_SHIFT 18
+ #define NIG_REG_PRTY_MASK_H_2_MEM032_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM032_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM032_I_MEM_PRTY_K2_SHIFT 4
+ #define NIG_REG_PRTY_MASK_H_2_MEM032_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM032_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM032_I_MEM_PRTY_E5_SHIFT 19
+ #define NIG_REG_PRTY_MASK_H_2_MEM015_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM015_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM015_I_MEM_PRTY_E5_SHIFT 20
+ #define NIG_REG_PRTY_MASK_H_2_MEM016_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM016_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM016_I_MEM_PRTY_E5_SHIFT 21
+ #define NIG_REG_PRTY_MASK_H_2_MEM017_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM017_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM017_I_MEM_PRTY_E5_SHIFT 22
+ #define NIG_REG_PRTY_MASK_H_2_MEM018_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM018_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM018_I_MEM_PRTY_E5_SHIFT 23
+ #define NIG_REG_PRTY_MASK_H_2_MEM113_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM113_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM113_I_MEM_PRTY_E5_SHIFT 24
+ #define NIG_REG_PRTY_MASK_H_2_MEM114_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM114_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM114_I_MEM_PRTY_E5_SHIFT 25
+ #define NIG_REG_PRTY_MASK_H_2_MEM115_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM115_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM115_I_MEM_PRTY_E5_SHIFT 26
+ #define NIG_REG_PRTY_MASK_H_2_MEM116_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM116_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM116_I_MEM_PRTY_E5_SHIFT 27
+ #define NIG_REG_PRTY_MASK_H_2_MEM019_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM019_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM019_I_MEM_PRTY_K2_SHIFT 7
+ #define NIG_REG_PRTY_MASK_H_2_MEM019_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM019_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM019_I_MEM_PRTY_E5_SHIFT 28
+ #define NIG_REG_PRTY_MASK_H_2_MEM020_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM020_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM020_I_MEM_PRTY_K2_SHIFT 8
+ #define NIG_REG_PRTY_MASK_H_2_MEM020_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM020_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM020_I_MEM_PRTY_E5_SHIFT 29
+ #define NIG_REG_PRTY_MASK_H_2_MEM021_I_MEM_PRTY_BB (0x1<<27) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM021_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM021_I_MEM_PRTY_BB_SHIFT 27
+ #define NIG_REG_PRTY_MASK_H_2_MEM021_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM021_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM021_I_MEM_PRTY_K2_SHIFT 9
+ #define NIG_REG_PRTY_MASK_H_2_MEM021_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM021_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_2_MEM021_I_MEM_PRTY_E5_SHIFT 30
#define NIG_REG_PRTY_MASK_H_2_MEM096_I_MEM_PRTY_BB (0x1<<26) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM096_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM096_I_MEM_PRTY_BB_SHIFT 26
#define NIG_REG_PRTY_MASK_H_2_MEM096_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM096_I_MEM_PRTY .
@@ -53829,12 +55657,6 @@
#define NIG_REG_PRTY_MASK_H_2_MEM098_I_MEM_PRTY_BB_SHIFT 30
#define NIG_REG_PRTY_MASK_H_2_MEM098_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM098_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM098_I_MEM_PRTY_K2_SHIFT 2
- #define NIG_REG_PRTY_MASK_H_2_MEM031_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM031_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM031_I_MEM_PRTY_BB_SHIFT 21
- #define NIG_REG_PRTY_MASK_H_2_MEM031_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM031_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM031_I_MEM_PRTY_K2_SHIFT 3
- #define NIG_REG_PRTY_MASK_H_2_MEM032_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM032_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM032_I_MEM_PRTY_K2_SHIFT 4
#define NIG_REG_PRTY_MASK_H_2_MEM033_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM033_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM033_I_MEM_PRTY_BB_SHIFT 12
#define NIG_REG_PRTY_MASK_H_2_MEM033_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM033_I_MEM_PRTY .
@@ -53843,14 +55665,6 @@
#define NIG_REG_PRTY_MASK_H_2_MEM034_I_MEM_PRTY_BB_SHIFT 23
#define NIG_REG_PRTY_MASK_H_2_MEM034_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM034_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM034_I_MEM_PRTY_K2_SHIFT 6
- #define NIG_REG_PRTY_MASK_H_2_MEM019_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM019_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM019_I_MEM_PRTY_K2_SHIFT 7
- #define NIG_REG_PRTY_MASK_H_2_MEM020_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM020_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM020_I_MEM_PRTY_K2_SHIFT 8
- #define NIG_REG_PRTY_MASK_H_2_MEM021_I_MEM_PRTY_BB (0x1<<27) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM021_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM021_I_MEM_PRTY_BB_SHIFT 27
- #define NIG_REG_PRTY_MASK_H_2_MEM021_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM021_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM021_I_MEM_PRTY_K2_SHIFT 9
#define NIG_REG_PRTY_MASK_H_2_MEM022_I_MEM_PRTY_BB (0x1<<28) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM022_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM022_I_MEM_PRTY_BB_SHIFT 28
#define NIG_REG_PRTY_MASK_H_2_MEM022_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM022_I_MEM_PRTY .
@@ -53871,14 +55685,6 @@
#define NIG_REG_PRTY_MASK_H_2_MEM023_I_MEM_PRTY_K2_SHIFT 15
#define NIG_REG_PRTY_MASK_H_2_MEM024_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM024_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM024_I_MEM_PRTY_K2_SHIFT 16
- #define NIG_REG_PRTY_MASK_H_2_MEM025_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM025_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM025_I_MEM_PRTY_BB_SHIFT 2
- #define NIG_REG_PRTY_MASK_H_2_MEM025_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM025_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM025_I_MEM_PRTY_K2_SHIFT 17
- #define NIG_REG_PRTY_MASK_H_2_MEM026_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM026_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM026_I_MEM_PRTY_BB_SHIFT 3
- #define NIG_REG_PRTY_MASK_H_2_MEM026_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM026_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM026_I_MEM_PRTY_K2_SHIFT 18
#define NIG_REG_PRTY_MASK_H_2_MEM083_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM083_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM083_I_MEM_PRTY_K2_SHIFT 19
#define NIG_REG_PRTY_MASK_H_2_MEM084_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM084_I_MEM_PRTY .
@@ -53907,41 +55713,99 @@
#define NIG_REG_PRTY_MASK_H_2_MEM045_I_MEM_PRTY_BB_SHIFT 0
#define NIG_REG_PRTY_MASK_H_2_MEM046_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM046_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM046_I_MEM_PRTY_BB_SHIFT 1
- #define NIG_REG_PRTY_MASK_H_2_MEM107_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM107_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM107_I_MEM_PRTY_BB_SHIFT 6
#define NIG_REG_PRTY_MASK_H_2_MEM047_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM047_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM047_I_MEM_PRTY_BB_SHIFT 7
#define NIG_REG_PRTY_MASK_H_2_MEM048_I_MEM_PRTY_BB (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM048_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM048_I_MEM_PRTY_BB_SHIFT 8
#define NIG_REG_PRTY_MASK_H_2_MEM053_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM053_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM053_I_MEM_PRTY_BB_SHIFT 9
- #define NIG_REG_PRTY_MASK_H_2_MEM027_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM027_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM027_I_MEM_PRTY_BB_SHIFT 10
- #define NIG_REG_PRTY_MASK_H_2_MEM028_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM028_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM028_I_MEM_PRTY_BB_SHIFT 11
#define NIG_REG_PRTY_MASK_H_2_MEM103_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM103_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM103_I_MEM_PRTY_BB_SHIFT 13
#define NIG_REG_PRTY_MASK_H_2_MEM104_I_MEM_PRTY_BB (0x1<<14) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM104_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM104_I_MEM_PRTY_BB_SHIFT 14
- #define NIG_REG_PRTY_MASK_H_2_MEM108_I_MEM_PRTY_BB (0x1<<15) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM108_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM108_I_MEM_PRTY_BB_SHIFT 15
#define NIG_REG_PRTY_MASK_H_2_MEM049_I_MEM_PRTY_BB (0x1<<16) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM049_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM049_I_MEM_PRTY_BB_SHIFT 16
#define NIG_REG_PRTY_MASK_H_2_MEM050_I_MEM_PRTY_BB (0x1<<17) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM050_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM050_I_MEM_PRTY_BB_SHIFT 17
#define NIG_REG_PRTY_MASK_H_2_MEM054_I_MEM_PRTY_BB (0x1<<18) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM054_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM054_I_MEM_PRTY_BB_SHIFT 18
- #define NIG_REG_PRTY_MASK_H_2_MEM029_I_MEM_PRTY_BB (0x1<<19) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM029_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM029_I_MEM_PRTY_BB_SHIFT 19
- #define NIG_REG_PRTY_MASK_H_2_MEM030_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM030_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_2_MEM030_I_MEM_PRTY_BB_SHIFT 20
#define NIG_REG_PRTY_MASK_H_2_MEM031_EXT_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM031_EXT_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM031_EXT_I_MEM_PRTY_BB_SHIFT 22
#define NIG_REG_PRTY_MASK_H_2_MEM034_EXT_I_MEM_PRTY_BB (0x1<<24) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM034_EXT_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM034_EXT_I_MEM_PRTY_BB_SHIFT 24
#define NIG_REG_PRTY_MASK_H_2_MEM095_I_MEM_PRTY_BB (0x1<<25) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_2.MEM095_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_2_MEM095_I_MEM_PRTY_BB_SHIFT 25
-#define NIG_REG_PRTY_MASK_H_3_BB_K2 0x500234UL //Access:RW DataWidth:0xe // Multi Field Register.
+#define NIG_REG_PRTY_MASK_H_3 0x500234UL //Access:RW DataWidth:0x19 // Multi Field Register.
+ #define NIG_REG_PRTY_MASK_H_3_MEM022_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM022_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM022_I_MEM_PRTY_E5_SHIFT 0
+ #define NIG_REG_PRTY_MASK_H_3_MEM097_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM097_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM097_I_MEM_PRTY_E5_SHIFT 1
+ #define NIG_REG_PRTY_MASK_H_3_MEM098_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM098_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM098_I_MEM_PRTY_E5_SHIFT 2
+ #define NIG_REG_PRTY_MASK_H_3_MEM099_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM099_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM099_I_MEM_PRTY_E5_SHIFT 3
+ #define NIG_REG_PRTY_MASK_H_3_MEM100_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM100_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM100_I_MEM_PRTY_E5_SHIFT 4
+ #define NIG_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM003_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_K2_SHIFT 10
+ #define NIG_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM003_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_E5_SHIFT 5
+ #define NIG_REG_PRTY_MASK_H_3_MEM004_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM004_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM004_I_MEM_PRTY_K2_SHIFT 11
+ #define NIG_REG_PRTY_MASK_H_3_MEM004_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM004_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM004_I_MEM_PRTY_E5_SHIFT 6
+ #define NIG_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_K2_SHIFT 12
+ #define NIG_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_E5_SHIFT 7
+ #define NIG_REG_PRTY_MASK_H_3_MEM006_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM006_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM006_I_MEM_PRTY_K2_SHIFT 13
+ #define NIG_REG_PRTY_MASK_H_3_MEM006_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM006_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM006_I_MEM_PRTY_E5_SHIFT 8
+ #define NIG_REG_PRTY_MASK_H_3_MEM101_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM101_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM101_I_MEM_PRTY_E5_SHIFT 9
+ #define NIG_REG_PRTY_MASK_H_3_MEM102_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM102_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM102_I_MEM_PRTY_E5_SHIFT 10
+ #define NIG_REG_PRTY_MASK_H_3_MEM103_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM103_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM103_I_MEM_PRTY_E5_SHIFT 11
+ #define NIG_REG_PRTY_MASK_H_3_MEM104_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM104_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM104_I_MEM_PRTY_E5_SHIFT 12
+ #define NIG_REG_PRTY_MASK_H_3_MEM007_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM007_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM007_I_MEM_PRTY_E5_SHIFT 13
+ #define NIG_REG_PRTY_MASK_H_3_MEM008_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM008_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM008_I_MEM_PRTY_E5_SHIFT 14
+ #define NIG_REG_PRTY_MASK_H_3_MEM009_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM009_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM009_I_MEM_PRTY_E5_SHIFT 15
+ #define NIG_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM010_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM010_I_MEM_PRTY_E5_SHIFT 16
+ #define NIG_REG_PRTY_MASK_H_3_MEM001_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM001_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM001_I_MEM_PRTY_K2_SHIFT 4
+ #define NIG_REG_PRTY_MASK_H_3_MEM001_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM001_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM001_I_MEM_PRTY_E5_SHIFT 17
+ #define NIG_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_K2_SHIFT 5
+ #define NIG_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_E5_SHIFT 18
+ #define NIG_REG_PRTY_MASK_H_3_MEM093_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM093_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM093_I_MEM_PRTY_BB_SHIFT 4
+ #define NIG_REG_PRTY_MASK_H_3_MEM093_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM093_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM093_I_MEM_PRTY_E5_SHIFT 19
+ #define NIG_REG_PRTY_MASK_H_3_MEM094_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM094_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM094_I_MEM_PRTY_BB_SHIFT 5
+ #define NIG_REG_PRTY_MASK_H_3_MEM094_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM094_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM094_I_MEM_PRTY_E5_SHIFT 20
+ #define NIG_REG_PRTY_MASK_H_3_MEM095_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM095_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM095_I_MEM_PRTY_E5_SHIFT 21
+ #define NIG_REG_PRTY_MASK_H_3_MEM096_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM096_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM096_I_MEM_PRTY_E5_SHIFT 22
+ #define NIG_REG_PRTY_MASK_H_3_MEM024_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM024_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM024_I_MEM_PRTY_BB_SHIFT 1
+ #define NIG_REG_PRTY_MASK_H_3_MEM024_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM024_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM024_I_MEM_PRTY_E5_SHIFT 23
+ #define NIG_REG_PRTY_MASK_H_3_MEM023_I_MEM_PRTY_BB (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM023_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM023_I_MEM_PRTY_BB_SHIFT 0
+ #define NIG_REG_PRTY_MASK_H_3_MEM023_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM023_I_MEM_PRTY .
+ #define NIG_REG_PRTY_MASK_H_3_MEM023_I_MEM_PRTY_E5_SHIFT 24
#define NIG_REG_PRTY_MASK_H_3_MEM011_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM011_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_3_MEM011_I_MEM_PRTY_K2_SHIFT 0
#define NIG_REG_PRTY_MASK_H_3_MEM012_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM012_I_MEM_PRTY .
@@ -53950,10 +55814,6 @@
#define NIG_REG_PRTY_MASK_H_3_MEM013_I_MEM_PRTY_K2_SHIFT 2
#define NIG_REG_PRTY_MASK_H_3_MEM014_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM014_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_3_MEM014_I_MEM_PRTY_K2_SHIFT 3
- #define NIG_REG_PRTY_MASK_H_3_MEM001_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM001_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_3_MEM001_I_MEM_PRTY_K2_SHIFT 4
- #define NIG_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM002_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_3_MEM002_I_MEM_PRTY_K2_SHIFT 5
#define NIG_REG_PRTY_MASK_H_3_MEM079_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM079_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_3_MEM079_I_MEM_PRTY_K2_SHIFT 6
#define NIG_REG_PRTY_MASK_H_3_MEM080_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM080_I_MEM_PRTY .
@@ -53962,26 +55822,10 @@
#define NIG_REG_PRTY_MASK_H_3_MEM081_I_MEM_PRTY_K2_SHIFT 8
#define NIG_REG_PRTY_MASK_H_3_MEM082_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM082_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_3_MEM082_I_MEM_PRTY_K2_SHIFT 9
- #define NIG_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM003_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_3_MEM003_I_MEM_PRTY_K2_SHIFT 10
- #define NIG_REG_PRTY_MASK_H_3_MEM004_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM004_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_3_MEM004_I_MEM_PRTY_K2_SHIFT 11
- #define NIG_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM005_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_3_MEM005_I_MEM_PRTY_K2_SHIFT 12
- #define NIG_REG_PRTY_MASK_H_3_MEM006_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM006_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_3_MEM006_I_MEM_PRTY_K2_SHIFT 13
- #define NIG_REG_PRTY_MASK_H_3_MEM023_I_MEM_PRTY_BB (0x1<<0) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM023_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_3_MEM023_I_MEM_PRTY_BB_SHIFT 0
- #define NIG_REG_PRTY_MASK_H_3_MEM024_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM024_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_3_MEM024_I_MEM_PRTY_BB_SHIFT 1
#define NIG_REG_PRTY_MASK_H_3_MEM017_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM017_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_3_MEM017_I_MEM_PRTY_BB_SHIFT 2
#define NIG_REG_PRTY_MASK_H_3_MEM018_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM018_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_3_MEM018_I_MEM_PRTY_BB_SHIFT 3
- #define NIG_REG_PRTY_MASK_H_3_MEM093_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM093_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_3_MEM093_I_MEM_PRTY_BB_SHIFT 4
- #define NIG_REG_PRTY_MASK_H_3_MEM094_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM094_I_MEM_PRTY .
- #define NIG_REG_PRTY_MASK_H_3_MEM094_I_MEM_PRTY_BB_SHIFT 5
#define NIG_REG_PRTY_MASK_H_3_MEM019_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM019_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_3_MEM019_I_MEM_PRTY_BB_SHIFT 6
#define NIG_REG_PRTY_MASK_H_3_MEM020_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM020_I_MEM_PRTY .
@@ -54004,7 +55848,7 @@
#define NIG_REG_PRTY_MASK_H_3_MEM038_I_MEM_PRTY_BB_SHIFT 15
#define NIG_REG_PRTY_MASK_H_3_MEM037_I_MEM_PRTY_BB (0x1<<16) // This bit masks, when set, the Parity bit: NIG_REG_PRTY_STS_H_3.MEM037_I_MEM_PRTY .
#define NIG_REG_PRTY_MASK_H_3_MEM037_I_MEM_PRTY_BB_SHIFT 16
-#define NIG_REG_MEM_ECC_EVENTS_BB_K2 0x500240UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define NIG_REG_MEM_ECC_EVENTS 0x500240UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define NIG_REG_CLOSE_GATE_DISABLE 0x500800UL //Access:RW DataWidth:0x1 // Close-gate function disable bit: 0 - egress drain mode is enabled when close-gate input from MISC to NIG is active; 1 - close-gate input is ignored. (The egress drain mode is for dropping all packets in the TX pipe without forwarding the packets to the TX MAC.).
#define NIG_REG_TAG_ETHERTYPE_0 0x500804UL //Access:RW DataWidth:0x10 // The Ethernet type value for L2 tag 0.
#define NIG_REG_TAG_ETHERTYPE_1 0x500808UL //Access:RW DataWidth:0x10 // The Ethernet type value for L2 tag 1. The reset value is 9x8100 for inner VLAN.
@@ -55886,8 +57730,8 @@
#define NIG_REG_LLH_PF_CLS_FUNC_FILTER_HDR_SEL_SIZE 512
#define NIG_REG_LLH_PF_CLS_FILTERS_MAP_E5 0x50d000UL //Access:RW DataWidth:0x5 // This fields maps between sets of 16 filters to the PPF that uses them There are 32 groups of 16 filters which are used for MAC/protocol based Classification. This filed allows using dynamic number of filters for every PPF. bits [4:3] are the port ID, bits 2:0 are the PPF ID The set of rlevent configurations is: llh_pf_cls_func_filter_value, llh_pf_cls_func_filter_en, llh_pf_cls_func_filter_mode, llh_pf_cls_func_filter_protocol_type and llh_pf_cls_func_filter_hdr_sel. Reset value is the identity mapping.
#define NIG_REG_LLH_PF_CLS_FILTERS_MAP_SIZE 32
-#define NIG_REG_MNG_TO_MCP_NCSI_FILTER_0_E5 0x50d080UL //Access:RW DataWidth:0x20 // This field is a per NCSI filter rule setting. When configured to 1, it means that the packet will be sent to MCP and not BMC. Bits 31:0 are taken from NCSI table. Bits 33:32 correspond to DA6 and DA7 (rules 9 and 10) Bit 34 corresponds to DHCPv6 client rule (rule 21b).
-#define NIG_REG_MNG_TO_MCP_NCSI_FILTER_1_E5 0x50d084UL //Access:RW DataWidth:0x3 // This field is a per NCSI filter rule setting. When configured to 1, it means that the packet will be sent to MCP and not BMC. Bits 31:0 are taken from NCSI table. Bits 33:32 correspond to DA6 and DA7 (rules 9 and 10) Bit 34 corresponds to DHCPv6 client rule (rule 21b).
+#define NIG_REG_MNG_TO_MCP_NCSI_FILTER_E5 0x50d080UL //Access:RW DataWidth:0x20 // This field is a per NCSI filter rule setting. When configured to 1, it means that the packet will be sent to MCP and not BMC. The bits in this register correspond to the bits in [t/r]x_llh_ncsi_mcp_mask.
+#define NIG_REG_MNG_TO_MCP_NCSI_FILTER_2_E5 0x50d084UL //Access:RW DataWidth:0x8 // This field is a per NCSI filter rule setting. When configured to 1, it means that the packet will be sent to MCP and not BMC. The bits in this register correspond to the bits in [t/r]x_llh_ncsi_mcp_mask_2.
#define NIG_REG_TX_LB_VPORT_DROP_E5 0x50d400UL //Access:RW DataWidth:0x1 // Per-VPORT drop configuration to be used for main and LB traffic of all ports. Set the bit to 1 to enable the dropping of packets.
#define NIG_REG_TX_LB_VPORT_DROP_SIZE 256
#define NIG_REG_TX_BMB_FIFO_ALM_FULL_THR_E5 0x50d800UL //Access:RW DataWidth:0x6 // Almost-full threshold for BMB FIFO.
@@ -58380,39 +60224,69 @@
#define BMB_REG_PRTY_MASK_LL_BANK3_MEM_PRTY_SHIFT 3
#define BMB_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<4) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS.DATAPATH_REGISTERS .
#define BMB_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 4
-#define BMB_REG_PRTY_MASK_H_0_BB_K2 0x540404UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define BMB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define BMB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_BB_K2_SHIFT 1
- #define BMB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2_SHIFT 2
- #define BMB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_BB_K2_SHIFT 3
- #define BMB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_BB_K2_SHIFT 4
- #define BMB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_BB_K2_SHIFT 5
- #define BMB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM013_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_BB_K2_SHIFT 6
- #define BMB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_BB_K2_SHIFT 7
- #define BMB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM015_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_BB_K2_SHIFT 8
- #define BMB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM016_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_BB_K2_SHIFT 9
- #define BMB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2_SHIFT 10
- #define BMB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2_SHIFT 11
- #define BMB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2_SHIFT 12
- #define BMB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2_SHIFT 13
- #define BMB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2_SHIFT 14
- #define BMB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM007_I_ECC_RF_INT .
- #define BMB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_BB_K2_SHIFT 15
+#define BMB_REG_PRTY_MASK_H_0 0x540404UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define BMB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_SHIFT 0
+ #define BMB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_SHIFT 1
+ #define BMB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_SHIFT 2
+ #define BMB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT (0x1<<3) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_SHIFT 3
+ #define BMB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT (0x1<<4) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_SHIFT 4
+ #define BMB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT (0x1<<5) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_SHIFT 5
+ #define BMB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT (0x1<<6) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM013_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_SHIFT 6
+ #define BMB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT (0x1<<7) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_SHIFT 7
+ #define BMB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT (0x1<<8) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM015_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_SHIFT 8
+ #define BMB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT (0x1<<9) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM016_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_SHIFT 9
+ #define BMB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT (0x1<<10) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_SHIFT 10
+ #define BMB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT (0x1<<11) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_SHIFT 11
+ #define BMB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT (0x1<<12) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_SHIFT 12
+ #define BMB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT (0x1<<13) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_SHIFT 13
+ #define BMB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT (0x1<<14) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_SHIFT 14
+ #define BMB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT (0x1<<15) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM007_I_ECC_RF_INT .
+ #define BMB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_SHIFT 15
+ #define BMB_REG_PRTY_MASK_H_0_MEM052_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM052_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_0_MEM052_I_MEM_PRTY_E5_SHIFT 16
+ #define BMB_REG_PRTY_MASK_H_0_MEM053_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM053_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_0_MEM053_I_MEM_PRTY_E5_SHIFT 17
+ #define BMB_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY1_E5 (0x1<<18) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY1 .
+ #define BMB_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY1_E5_SHIFT 18
+ #define BMB_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY2_E5 (0x1<<19) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY2 .
+ #define BMB_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY2_E5_SHIFT 19
+ #define BMB_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY1_E5 (0x1<<20) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY1 .
+ #define BMB_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY1_E5_SHIFT 20
+ #define BMB_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY2_E5 (0x1<<21) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY2 .
+ #define BMB_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY2_E5_SHIFT 21
+ #define BMB_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY1_E5 (0x1<<22) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY1 .
+ #define BMB_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY1_E5_SHIFT 22
+ #define BMB_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY2_E5 (0x1<<23) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY2 .
+ #define BMB_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY2_E5_SHIFT 23
+ #define BMB_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY1_E5 (0x1<<24) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY1 .
+ #define BMB_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY1_E5_SHIFT 24
+ #define BMB_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY2_E5 (0x1<<25) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY2 .
+ #define BMB_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY2_E5_SHIFT 25
+ #define BMB_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_E5_SHIFT 26
+ #define BMB_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_E5_SHIFT 27
+ #define BMB_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_E5_SHIFT 28
+ #define BMB_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM033_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_E5_SHIFT 29
+ #define BMB_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM034_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_E5_SHIFT 30
#define BMB_REG_PRTY_MASK_H_0_MEM059_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM059_I_MEM_PRTY .
#define BMB_REG_PRTY_MASK_H_0_MEM059_I_MEM_PRTY_BB_K2_SHIFT 16
#define BMB_REG_PRTY_MASK_H_0_MEM060_I_MEM_PRTY_BB_K2 (0x1<<17) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM060_I_MEM_PRTY .
@@ -58443,11 +60317,65 @@
#define BMB_REG_PRTY_MASK_H_0_MEM048_I_MEM_PRTY_BB_K2_SHIFT 29
#define BMB_REG_PRTY_MASK_H_0_MEM049_I_MEM_PRTY_BB_K2 (0x1<<30) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_0.MEM049_I_MEM_PRTY .
#define BMB_REG_PRTY_MASK_H_0_MEM049_I_MEM_PRTY_BB_K2_SHIFT 30
-#define BMB_REG_PRTY_MASK_H_1_BB_K2 0x540414UL //Access:RW DataWidth:0xf // Multi Field Register.
+#define BMB_REG_PRTY_MASK_H_1 0x540414UL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define BMB_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM035_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_BB_K2_SHIFT 11
+ #define BMB_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM035_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_E5_SHIFT 0
+ #define BMB_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM036_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_BB_K2_SHIFT 12
+ #define BMB_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM036_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_E5_SHIFT 1
+ #define BMB_REG_PRTY_MASK_H_1_MEM037_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM037_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM037_I_MEM_PRTY_E5_SHIFT 2
+ #define BMB_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM038_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM038_I_MEM_PRTY_E5_SHIFT 3
+ #define BMB_REG_PRTY_MASK_H_1_MEM039_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM039_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM039_I_MEM_PRTY_E5_SHIFT 4
+ #define BMB_REG_PRTY_MASK_H_1_MEM040_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM040_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM040_I_MEM_PRTY_E5_SHIFT 5
+ #define BMB_REG_PRTY_MASK_H_1_MEM041_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM041_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM041_I_MEM_PRTY_E5_SHIFT 6
+ #define BMB_REG_PRTY_MASK_H_1_MEM042_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM042_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM042_I_MEM_PRTY_E5_SHIFT 7
+ #define BMB_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM043_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM043_I_MEM_PRTY_E5_SHIFT 8
+ #define BMB_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM044_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM044_I_MEM_PRTY_E5_SHIFT 9
+ #define BMB_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM045_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM045_I_MEM_PRTY_E5_SHIFT 10
+ #define BMB_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM046_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM046_I_MEM_PRTY_E5_SHIFT 11
+ #define BMB_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM047_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM047_I_MEM_PRTY_E5_SHIFT 12
+ #define BMB_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM048_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM048_I_MEM_PRTY_E5_SHIFT 13
+ #define BMB_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM049_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM049_I_MEM_PRTY_E5_SHIFT 14
#define BMB_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM050_I_MEM_PRTY .
#define BMB_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define BMB_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM050_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM050_I_MEM_PRTY_E5_SHIFT 15
#define BMB_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM051_I_MEM_PRTY .
#define BMB_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define BMB_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM051_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM051_I_MEM_PRTY_E5_SHIFT 16
+ #define BMB_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM026_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_E5_SHIFT 17
+ #define BMB_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM027_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_E5_SHIFT 18
+ #define BMB_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM028_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_E5_SHIFT 19
+ #define BMB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM029_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_E5_SHIFT 20
+ #define BMB_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_BB_K2_SHIFT 13
+ #define BMB_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_E5_SHIFT 21
+ #define BMB_REG_PRTY_MASK_H_1_MEM022_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM022_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM022_I_MEM_PRTY_BB_K2_SHIFT 14
+ #define BMB_REG_PRTY_MASK_H_1_MEM022_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM022_I_MEM_PRTY .
+ #define BMB_REG_PRTY_MASK_H_1_MEM022_I_MEM_PRTY_E5_SHIFT 22
#define BMB_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM052_I_MEM_PRTY .
#define BMB_REG_PRTY_MASK_H_1_MEM052_I_MEM_PRTY_BB_K2_SHIFT 2
#define BMB_REG_PRTY_MASK_H_1_MEM053_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM053_I_MEM_PRTY .
@@ -58466,130 +60394,122 @@
#define BMB_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_BB_K2_SHIFT 9
#define BMB_REG_PRTY_MASK_H_1_MEM034_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM034_I_MEM_PRTY .
#define BMB_REG_PRTY_MASK_H_1_MEM034_I_MEM_PRTY_BB_K2_SHIFT 10
- #define BMB_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM035_I_MEM_PRTY .
- #define BMB_REG_PRTY_MASK_H_1_MEM035_I_MEM_PRTY_BB_K2_SHIFT 11
- #define BMB_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM036_I_MEM_PRTY .
- #define BMB_REG_PRTY_MASK_H_1_MEM036_I_MEM_PRTY_BB_K2_SHIFT 12
- #define BMB_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM021_I_MEM_PRTY .
- #define BMB_REG_PRTY_MASK_H_1_MEM021_I_MEM_PRTY_BB_K2_SHIFT 13
- #define BMB_REG_PRTY_MASK_H_1_MEM022_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: BMB_REG_PRTY_STS_H_1.MEM022_I_MEM_PRTY .
- #define BMB_REG_PRTY_MASK_H_1_MEM022_I_MEM_PRTY_BB_K2_SHIFT 14
-#define BMB_REG_MEM001_RF_ECC_ERROR_CONNECT_BB_K2 0x540420UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[0].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM008_RF_ECC_ERROR_CONNECT_BB_K2 0x540424UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[1].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM009_RF_ECC_ERROR_CONNECT_BB_K2 0x540428UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[2].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM010_RF_ECC_ERROR_CONNECT_BB_K2 0x54042cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[3].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM011_RF_ECC_ERROR_CONNECT_BB_K2 0x540430UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[4].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM012_RF_ECC_ERROR_CONNECT_BB_K2 0x540434UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[5].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM013_RF_ECC_ERROR_CONNECT_BB_K2 0x540438UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[6].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM014_RF_ECC_ERROR_CONNECT_BB_K2 0x54043cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[7].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM015_RF_ECC_ERROR_CONNECT_BB_K2 0x540440UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[8].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM016_RF_ECC_ERROR_CONNECT_BB_K2 0x540444UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[9].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM002_RF_ECC_ERROR_CONNECT_BB_K2 0x540448UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[10].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM003_RF_ECC_ERROR_CONNECT_BB_K2 0x54044cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[11].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM004_RF_ECC_ERROR_CONNECT_BB_K2 0x540450UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[12].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM005_RF_ECC_ERROR_CONNECT_BB_K2 0x540454UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[13].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM006_RF_ECC_ERROR_CONNECT_BB_K2 0x540458UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[14].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM007_RF_ECC_ERROR_CONNECT_BB_K2 0x54045cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[15].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BMB_REG_MEM_ECC_ENABLE_0_BB_K2 0x540460UL //Access:RW DataWidth:0x10 // Multi Field Register.
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[0].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2_SHIFT 0
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[1].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_BB_K2_SHIFT 1
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[2].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB_K2_SHIFT 2
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB_K2 (0x1<<3) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[3].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB_K2_SHIFT 3
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_BB_K2 (0x1<<4) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[4].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_BB_K2_SHIFT 4
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_BB_K2 (0x1<<5) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[5].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_BB_K2_SHIFT 5
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_BB_K2 (0x1<<6) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[6].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_BB_K2_SHIFT 6
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB_K2 (0x1<<7) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[7].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB_K2_SHIFT 7
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_K2 (0x1<<8) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[8].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_K2_SHIFT 8
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_BB_K2 (0x1<<9) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[9].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_BB_K2_SHIFT 9
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2 (0x1<<10) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[10].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2_SHIFT 10
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_BB_K2 (0x1<<11) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[11].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_BB_K2_SHIFT 11
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_BB_K2 (0x1<<12) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[12].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_BB_K2_SHIFT 12
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2 (0x1<<13) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[13].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2_SHIFT 13
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2 (0x1<<14) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[14].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2_SHIFT 14
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_BB_K2 (0x1<<15) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[15].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_BB_K2_SHIFT 15
-#define BMB_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x540464UL //Access:RW DataWidth:0x10 // Multi Field Register.
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[0].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2_SHIFT 0
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[1].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_BB_K2_SHIFT 1
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[2].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB_K2_SHIFT 2
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB_K2 (0x1<<3) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[3].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB_K2_SHIFT 3
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_BB_K2 (0x1<<4) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[4].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_BB_K2_SHIFT 4
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_BB_K2 (0x1<<5) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[5].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_BB_K2_SHIFT 5
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_BB_K2 (0x1<<6) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[6].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_BB_K2_SHIFT 6
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB_K2 (0x1<<7) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[7].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB_K2_SHIFT 7
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_K2 (0x1<<8) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[8].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_K2_SHIFT 8
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_BB_K2 (0x1<<9) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[9].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_BB_K2_SHIFT 9
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2 (0x1<<10) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[10].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2_SHIFT 10
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_BB_K2 (0x1<<11) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[11].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_BB_K2_SHIFT 11
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_BB_K2 (0x1<<12) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[12].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_BB_K2_SHIFT 12
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2 (0x1<<13) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[13].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2_SHIFT 13
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2 (0x1<<14) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[14].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2_SHIFT 14
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_BB_K2 (0x1<<15) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[15].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_BB_K2_SHIFT 15
-#define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x540468UL //Access:RC DataWidth:0x10 // Multi Field Register.
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[0].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2_SHIFT 0
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[1].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_BB_K2_SHIFT 1
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[2].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_BB_K2_SHIFT 2
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_BB_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[3].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_BB_K2_SHIFT 3
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_BB_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[4].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_BB_K2_SHIFT 4
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_BB_K2 (0x1<<5) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[5].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_BB_K2_SHIFT 5
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_BB_K2 (0x1<<6) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[6].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_BB_K2_SHIFT 6
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_BB_K2 (0x1<<7) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[7].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_BB_K2_SHIFT 7
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB_K2 (0x1<<8) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[8].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB_K2_SHIFT 8
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_BB_K2 (0x1<<9) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[9].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_BB_K2_SHIFT 9
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2 (0x1<<10) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[10].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2_SHIFT 10
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_BB_K2 (0x1<<11) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[11].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_BB_K2_SHIFT 11
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_BB_K2 (0x1<<12) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[12].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_BB_K2_SHIFT 12
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2 (0x1<<13) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[13].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2_SHIFT 13
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2 (0x1<<14) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[14].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2_SHIFT 14
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_BB_K2 (0x1<<15) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[15].i_bb_bank.i_ecc in module bmb_bb_bank
- #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_BB_K2_SHIFT 15
-#define BMB_REG_MEM_ECC_EVENTS_BB_K2 0x54046cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define BMB_REG_MEM001_RF_ECC_ERROR_CONNECT 0x540420UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[0].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM008_RF_ECC_ERROR_CONNECT 0x540424UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[1].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM009_RF_ECC_ERROR_CONNECT 0x540428UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[2].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM010_RF_ECC_ERROR_CONNECT 0x54042cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[3].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM011_RF_ECC_ERROR_CONNECT 0x540430UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[4].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM012_RF_ECC_ERROR_CONNECT 0x540434UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[5].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM013_RF_ECC_ERROR_CONNECT 0x540438UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[6].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM014_RF_ECC_ERROR_CONNECT 0x54043cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[7].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM015_RF_ECC_ERROR_CONNECT 0x540440UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[8].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM016_RF_ECC_ERROR_CONNECT 0x540444UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[9].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM002_RF_ECC_ERROR_CONNECT 0x540448UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[10].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM003_RF_ECC_ERROR_CONNECT 0x54044cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[11].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM004_RF_ECC_ERROR_CONNECT 0x540450UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[12].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM005_RF_ECC_ERROR_CONNECT 0x540454UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[13].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM006_RF_ECC_ERROR_CONNECT 0x540458UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[14].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM007_RF_ECC_ERROR_CONNECT 0x54045cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: bmb.BB_BANK_GEN_FOR[15].i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BMB_REG_MEM_ECC_ENABLE_0 0x540460UL //Access:RW DataWidth:0x10 // Multi Field Register.
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN (0x1<<0) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[0].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_SHIFT 0
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN (0x1<<1) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[1].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_SHIFT 1
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN (0x1<<2) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[2].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_SHIFT 2
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN (0x1<<3) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[3].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_SHIFT 3
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN (0x1<<4) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[4].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_SHIFT 4
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN (0x1<<5) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[5].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_SHIFT 5
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN (0x1<<6) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[6].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_SHIFT 6
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN (0x1<<7) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[7].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_SHIFT 7
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN (0x1<<8) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[8].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_SHIFT 8
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN (0x1<<9) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[9].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_SHIFT 9
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN (0x1<<10) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[10].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_SHIFT 10
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN (0x1<<11) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[11].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_SHIFT 11
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN (0x1<<12) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[12].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_SHIFT 12
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN (0x1<<13) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[13].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_SHIFT 13
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN (0x1<<14) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[14].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_SHIFT 14
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN (0x1<<15) // Enable ECC for memory ecc instance bmb.BB_BANK_GEN_FOR[15].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_SHIFT 15
+#define BMB_REG_MEM_ECC_PARITY_ONLY_0 0x540464UL //Access:RW DataWidth:0x10 // Multi Field Register.
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY (0x1<<0) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[0].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_SHIFT 0
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY (0x1<<1) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[1].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_SHIFT 1
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY (0x1<<2) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[2].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_SHIFT 2
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY (0x1<<3) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[3].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_SHIFT 3
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY (0x1<<4) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[4].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_SHIFT 4
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY (0x1<<5) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[5].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_SHIFT 5
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY (0x1<<6) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[6].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_SHIFT 6
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY (0x1<<7) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[7].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_SHIFT 7
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY (0x1<<8) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[8].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_SHIFT 8
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY (0x1<<9) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[9].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_SHIFT 9
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY (0x1<<10) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[10].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_SHIFT 10
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY (0x1<<11) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[11].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_SHIFT 11
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY (0x1<<12) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[12].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_SHIFT 12
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY (0x1<<13) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[13].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_SHIFT 13
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY (0x1<<14) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[14].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_SHIFT 14
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY (0x1<<15) // Set parity only for memory ecc instance bmb.BB_BANK_GEN_FOR[15].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_SHIFT 15
+#define BMB_REG_MEM_ECC_ERROR_CORRECTED_0 0x540468UL //Access:RC DataWidth:0x10 // Multi Field Register.
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT (0x1<<0) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[0].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_SHIFT 0
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[1].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_SHIFT 1
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[2].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_SHIFT 2
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT (0x1<<3) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[3].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_SHIFT 3
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT (0x1<<4) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[4].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_SHIFT 4
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT (0x1<<5) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[5].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_SHIFT 5
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT (0x1<<6) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[6].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_SHIFT 6
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT (0x1<<7) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[7].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_SHIFT 7
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT (0x1<<8) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[8].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_SHIFT 8
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT (0x1<<9) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[9].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_SHIFT 9
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT (0x1<<10) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[10].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_SHIFT 10
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT (0x1<<11) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[11].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_SHIFT 11
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT (0x1<<12) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[12].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_SHIFT 12
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT (0x1<<13) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[13].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_SHIFT 13
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT (0x1<<14) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[14].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_SHIFT 14
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT (0x1<<15) // Record if a correctable error occurred on memory ecc instance bmb.BB_BANK_GEN_FOR[15].i_bb_bank.i_ecc in module bmb_bb_bank
+ #define BMB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_SHIFT 15
+#define BMB_REG_MEM_ECC_EVENTS 0x54046cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define BMB_REG_BIG_RAM_ADDRESS 0x540800UL //Access:RW DataWidth:0xa // Debug register. It contains address to Big RAM for RBC operations. Value of this register will be incremented by one it was done write access to 32 MSB bits of big_ram_data register or read from 32 LSB bits of big_ram-data register::s/BLK_WDTH/13/g in Data Width.
#define BMB_REG_HEADER_SIZE 0x540804UL //Access:RW DataWidth:0xa // Number of valid bytes in header in 16-bytes resolution. After this number of bytes will input to BRTB will be sent packet available indication. (reset value of 17 suits to 282 bytes of header)::s/HDR_SIZE_RST/17/g in Reset Value.
#define BMB_REG_FREE_LIST_HEAD 0x540810UL //Access:RW DataWidth:0xb // Head pointer to each one of 4 free lists::s/BLK_WDTH/13/g in Data Width.
@@ -58656,14 +60576,12 @@
#define BMB_REG_RC_PKT_PRIORITY_RC6_PRI_SHIFT 12
#define BMB_REG_RC_PKT_PRIORITY_RC7_PRI (0x3<<14) // This is priority for parser read client that is used in link list and big ram arbiters. If all read clients have identical priority then selection between them is done with RR. Possible values are 1-3. Priority 3 is highest.::s/RC_PKT_PRI_0/prm_rc_pri/g in Field::s/RC_PKT_DSCR0/PRM/g in Comments::s/RC_PKT_PRI_RST_0/6/g in Reset Value.
#define BMB_REG_RC_PKT_PRIORITY_RC7_PRI_SHIFT 14
- #define BMB_REG_RC_PKT_PRIORITY_RC8_PRI (0x3<<16) // This is priority for read client 8 that is used in link list and big ram arbiters. If all read clients have identical priority then selection between them is done with RR. Possible values are 1-3. Priority 3 is highest
- #define BMB_REG_RC_PKT_PRIORITY_RC8_PRI_SHIFT 16
- #define BMB_REG_RC_PKT_PRIORITY_RC9_PRI (0x3<<18) // This is priority for read client 9 that is used in link list and big ram arbiters. If all read clients have identical priority then selection between them is done with RR. Possible values are 1-3. Priority 3 is highest
- #define BMB_REG_RC_PKT_PRIORITY_RC9_PRI_SHIFT 18
+ #define BMB_REG_RC_PKT_PRIORITY_RC8_PRI_BB_K2 (0x3<<16) // This is priority for read client 8 that is used in link list and big ram arbiters. If all read clients have identical priority then selection between them is done with RR. Possible values are 1-3. Priority 3 is highest
+ #define BMB_REG_RC_PKT_PRIORITY_RC8_PRI_BB_K2_SHIFT 16
+ #define BMB_REG_RC_PKT_PRIORITY_RC9_PRI_BB_K2 (0x3<<18) // This is priority for read client 9 that is used in link list and big ram arbiters. If all read clients have identical priority then selection between them is done with RR. Possible values are 1-3. Priority 3 is highest
+ #define BMB_REG_RC_PKT_PRIORITY_RC9_PRI_BB_K2_SHIFT 18
#define BMB_REG_WC_NO_DEAD_CYCLES_EN_K2_E5 0x540948UL //Access:RW DataWidth:0xa // There is bit for each PACKET write client. Bit 0 suits to client 0 and so on. If bit is set then packet will be written without intra packet dead cycles .TBD ::s/NO_DEAD_CYCLE_RST/1/g in Reset
#define BMB_REG_WC_HIGHEST_PRI_EN_K2_E5 0x54094cUL //Access:RW DataWidth:0xa // There is bit for each PACKET write client. Bit 0 suits to client 0 and so on. If bit is set then highest priority mechanism is enabled for the corresponding client. TBD ::s/NO_DEAD_CYCLE_RST/1/g in Reset
-#define BMB_REG_WC_LL_HIGH_PRI_E5 0x540950UL //Access:RW DataWidth:0xa // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
-#define BMB_REG_BR_FIX_HIGH_PRI_COLLISION_E5 0x540954UL //Access:RW DataWidth:0x1 // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
#define BMB_REG_RC_SOP_PRIORITY 0x540980UL //Access:RW DataWidth:0x2 // This is priority for SOP read client to Big RAM arbiter. Possible values are 1-3. Priority 3 is highest::s/RC_SOP_PRI_RST/5/g in Reset Value.
#define BMB_REG_WC_PRIORITY 0x540984UL //Access:RW DataWidth:0x2 // This is priority for packet request of write client group to Big RAM arbiter. Possible values are 1-3. Priority 3 is highest::s/RC_WC_PRI_RST/7/g in Reset Value.
#define BMB_REG_PRI_OF_MULT_CLIENTS 0x540988UL //Access:RW DataWidth:0x2 // This is priority of multiple clients with identical priority for link list arbiter. Selection from them will be done with round robin. Only one group with multiple clients of identical priority is supported. Possible values are 1-3. Priority 3 is highest::s/RC_MULT_PRI_RST/6/g in Reset Value.
@@ -58887,8 +60805,10 @@
#define BMB_REG_WC_STATUS_8_SIZE 4
#define BMB_REG_WC_STATUS_9 0x541490UL //Access:WB_R DataWidth:0x5b // Debug register. FIFO counters status of write clients. TBD: {cos_cnt[90:88]; notify_fifo[87:80]; pkt_avail_fifo[79:72]; len_fifo[71:64]; sop_fifo[63:56]; eop_fifo[55:48]; queue_fifo[47:40]; next_point_fifo[39:32]; strt_fifo[31:24]; second_dscr_fifo[23:16]; inp_fifo[15:8]; ll_req_fifo[7:4]; free_point_fifo[3:0]}
#define BMB_REG_WC_STATUS_9_SIZE 4
-#define BMB_REG_LINK_LIST 0x542000UL //Access:RW DataWidth:0xc // Link list dual port memory that contains per-block descriptor::s/BLK_NUM/4800/g in memory size::s/BLK_WDTH_PLUS_SOP_EN/14/g in Data Width::s/BLK_WDTH/13/g in Address Width.
+#define BMB_REG_LINK_LIST 0x542000UL //Access:RW DataWidth:0xc // Link list dual port memory that contains per-block descriptor::s/BLK_NUM/4800/g in memory size::s/BLK_WDTH_PLUS_SOP_EN/14/g in Data Width::s/BLK_WDTH/13/g in Address Width. When reading link list during high high traffic, there might be a timeout for the read request.
#define BMB_REG_LINK_LIST_SIZE 1152
+#define BMB_REG_WC_LL_HIGH_PRI_E5 0x544000UL //Access:RW DataWidth:0xa // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
+#define BMB_REG_BR_FIX_HIGH_PRI_COLLISION_E5 0x544004UL //Access:RW DataWidth:0x1 // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
#define PTU_REG_ATC_INIT_ARRAY 0x560000UL //Access:RW DataWidth:0x1 // Initiate the ATC array - reset all the valid bits.
#define PTU_REG_ATC_INIT_DONE 0x560004UL //Access:R DataWidth:0x1 // ATC initalization done.
#define PTU_REG_LOG_TRANSPEND_REUSE_MISS_TID 0x560040UL //Access:RC DataWidth:0x20 // Logging register for reuse miss on transpend entry [31:0] - TID of the problematic request
@@ -58926,9 +60846,9 @@
#define PTU_REG_INDEX3_MASK 0x5600c0UL //Access:RW DataWidth:0x20 // CRC Index3 mask
#define PTU_REG_ATC_REP_MODE 0x5600c4UL //Access:RW DataWidth:0x1 // Replacement mode for the ATC. If de-asserted then low priority request will replace a high priority entry only if there are no low priority entries at all. If set then a high priority with PLRU=0 will be replaced in higher priority than low priority entries with PLRU=1.
#define PTU_REG_PBF_FILL_LEVEL 0x5600c8UL //Access:R DataWidth:0x8 // Current number of pending pbf messages
-#define PTU_REG_PRM_FILL_LEVEL 0x5600ccUL //Access:R DataWidth:0x8 // Current number of pending prm messages
+#define PTU_REG_PRM_FILL_LEVEL 0x5600ccUL //Access:R DataWidth:0x9 // Current number of pending prm messages
#define PTU_REG_PBF_FILL_LEVEL_MH 0x5600d0UL //Access:RC DataWidth:0x8 // Maximal number of pending pbf messages
-#define PTU_REG_PRM_FILL_LEVEL_MH 0x5600d4UL //Access:RC DataWidth:0x8 // Maximal number of pending prm messages
+#define PTU_REG_PRM_FILL_LEVEL_MH 0x5600d4UL //Access:RC DataWidth:0x9 // Maximal number of pending prm messages
#define PTU_REG_PTU_B0_DISABLE 0x5600d8UL //Access:RW DataWidth:0x1 // Disable B0 feature
#define PTU_REG_ATC_OTB_OVERRUN_FIX_CHICKEN_BIT_K2_E5 0x5600dcUL //Access:RW DataWidth:0x1 // Chicken bit for the atc otb overrun fix.
#define PTU_REG_DBG_SELECT 0x560100UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
@@ -59008,47 +60928,79 @@
#define PTU_REG_INT_STS_CLR_ATC_REUSE_TRANSPEND_SHIFT 6
#define PTU_REG_INT_STS_CLR_ATC_IREQ_LESS_THAN_STU (0x1<<7) // Indicates Ireq with invalidation range shorter than STU of the relevant func.
#define PTU_REG_INT_STS_CLR_ATC_IREQ_LESS_THAN_STU_SHIFT 7
-#define PTU_REG_PRTY_MASK_H_0_BB_K2 0x560204UL //Access:RW DataWidth:0x12 // Multi Field Register.
- #define PTU_REG_PRTY_MASK_H_0_MEM017_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM017_I_ECC_RF_INT .
- #define PTU_REG_PRTY_MASK_H_0_MEM017_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define PTU_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
- #define PTU_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2_SHIFT 1
- #define PTU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
- #define PTU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 2
+#define PTU_REG_PRTY_MASK_H_0 0x560204UL //Access:RW DataWidth:0x11 // Multi Field Register.
+ #define PTU_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM016_I_ECC_RF_INT .
+ #define PTU_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_E5_SHIFT 0
+ #define PTU_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5_SHIFT 1
#define PTU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define PTU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define PTU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 2
#define PTU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define PTU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 4
+ #define PTU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 3
#define PTU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define PTU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define PTU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 4
#define PTU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define PTU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 6
+ #define PTU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 5
#define PTU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define PTU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 7
- #define PTU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define PTU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 8
- #define PTU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define PTU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 9
- #define PTU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define PTU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2_SHIFT 10
- #define PTU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
- #define PTU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 11
+ #define PTU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 6
+ #define PTU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<17) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 17
+ #define PTU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 7
+ #define PTU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY (0x1<<8) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_SHIFT 8
#define PTU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
#define PTU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2_SHIFT 12
- #define PTU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
- #define PTU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2_SHIFT 13
- #define PTU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
- #define PTU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_K2_SHIFT 14
+ #define PTU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5_SHIFT 9
+ #define PTU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 2
+ #define PTU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 10
#define PTU_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
#define PTU_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2_SHIFT 15
+ #define PTU_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5_SHIFT 11
+ #define PTU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_K2_SHIFT 14
+ #define PTU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 12
#define PTU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
#define PTU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2_SHIFT 16
- #define PTU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<17) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define PTU_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 17
-#define PTU_REG_MEM_ECC_ENABLE_0_BB_K2 0x560210UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance ptu.i_ram_spa.i_ecc in module ptu_spa_ram
-#define PTU_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x560214UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance ptu.i_ram_spa.i_ecc in module ptu_spa_ram
-#define PTU_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x560218UL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance ptu.i_ram_spa.i_ecc in module ptu_spa_ram
-#define PTU_REG_MEM_ECC_EVENTS_BB_K2 0x56021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+ #define PTU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 13
+ #define PTU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2_SHIFT 13
+ #define PTU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 14
+ #define PTU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 9
+ #define PTU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 15
+ #define PTU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 11
+ #define PTU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 16
+ #define PTU_REG_PRTY_MASK_H_0_MEM017_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM017_I_ECC_RF_INT .
+ #define PTU_REG_PRTY_MASK_H_0_MEM017_I_ECC_RF_INT_BB_K2_SHIFT 0
+ #define PTU_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define PTU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: PTU_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define PTU_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2_SHIFT 10
+#define PTU_REG_MEM_ECC_ENABLE_0 0x560210UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance ptu.i_ram_spa.i_ecc in module ptu_spa_ram
+#define PTU_REG_MEM_ECC_PARITY_ONLY_0 0x560214UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance ptu.i_ram_spa.i_ecc in module ptu_spa_ram
+#define PTU_REG_MEM_ECC_ERROR_CORRECTED_0 0x560218UL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance ptu.i_ram_spa.i_ecc in module ptu_spa_ram
+#define PTU_REG_MEM_ECC_EVENTS 0x56021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define PTU_REG_ATC_NUM_SETS 0x560400UL //Access:RW DataWidth:0x2 // Defines the number of sets - 3 - 512 ;2- 256; 1- 128; 0- 64.
#define PTU_REG_ATC_1_WAY 0x560404UL //Access:RW DataWidth:0x1 // If set the ATC will use only one way per set.
#define PTU_REG_ATC_FULL_REG 0x560408UL //Access:R DataWidth:0x8 // SPA Done FIFO full bit; RCPL FIFO full bit; TCPL FIFO full bit; IREQ full bit; PLKP FIFO full bit; MLKP FIFO full bit; OTB full bit; OIB full bit.
@@ -59310,18 +61262,22 @@
#define CDU_REG_INT_MASK_TCFC_CVLD_ERROR_SHIFT 6
#define CDU_REG_INT_MASK_BVALID_ERROR (0x1<<7) // This bit masks, when set, the Interrupt bit: CDU_REG_INT_STS.BVALID_ERROR .
#define CDU_REG_INT_MASK_BVALID_ERROR_SHIFT 7
-#define CDU_REG_PRTY_MASK_H_0_BB_K2 0x580204UL //Access:RW DataWidth:0x5 // Multi Field Register.
- #define CDU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: CDU_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define CDU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 0
+#define CDU_REG_PRTY_MASK_H_0 0x580204UL //Access:RW DataWidth:0x4 // Multi Field Register.
+ #define CDU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<0) // This bit masks, when set, the Parity bit: CDU_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define CDU_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 0
+ #define CDU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: CDU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define CDU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 4
+ #define CDU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: CDU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define CDU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 1
+ #define CDU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<2) // This bit masks, when set, the Parity bit: CDU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define CDU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 2
#define CDU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: CDU_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define CDU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 1
- #define CDU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: CDU_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define CDU_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 2
+ #define CDU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: CDU_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define CDU_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 3
#define CDU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: CDU_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define CDU_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 3
- #define CDU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: CDU_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define CDU_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 4
-#define CDU_REG_MEM_ECC_EVENTS_BB_K2 0x580210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define CDU_REG_MEM_ECC_EVENTS 0x580210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define CDU_REG_CCFC_CTX_VALID0 0x580400UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define CDU_REG_CCFC_CTX_VALID0_CHECK_EN0_CCFC (0xff<<0) // CCFC Conxtext Validation for Region0 Fields:[7:6] - Reserved; [5] - Active; [4] - CID; [3] - Region; [2] - Type; [1] - Check_Type_B (0=A;1=B); [0] - Check Enable.
#define CDU_REG_CCFC_CTX_VALID0_CHECK_EN0_CCFC_SHIFT 0
@@ -59486,29 +61442,29 @@
#define CDU_REG_CCFC_MATT_E5 0x586000UL //Access:WB DataWidth:0x18 // MATT Access; Each entry has the following format: {RegionLength[11:0]; RegionOffset[11:0]}.
#define CDU_REG_CCFC_MATT_SIZE_BB_K2 64
#define CDU_REG_CCFC_MATT_SIZE_E5 128
-#define PTLD_REG_FOCI_FOC_CREDITS_E5 0x590000UL //Access:RW DataWidth:0x6 // Initial credit of the FOC itnerface.
-#define PTLD_REG_ECO_RESERVED_E5 0x590004UL //Access:RW DataWidth:0x8 // Allowes future ECO's
-#define PTLD_REG_FOC_REMAIN_CREDITS_E5 0x590008UL //Access:R DataWidth:0x6 // Remaining credits on the FOC interface
-#define PTLD_REG_LD_HDR_LOG_E5 0x59000cUL //Access:R DataWidth:0x4 // Logging of the problem which caused the ld_hdr_err interrupt. Bit 0: ilegal flags combination.
-#define PTLD_REG_LD_HDR_1ST_CYC_31_0_E5 0x590010UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_LD_HDR_1ST_CYC_63_32_E5 0x590014UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_LD_HDR_1ST_CYC_95_64_E5 0x590018UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_LD_HDR_1ST_CYC_127_96_E5 0x59001cUL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_LD_HDR_2ND_CYC_31_0_E5 0x590020UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_LD_HDR_2ND_CYC_63_32_E5 0x590024UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_LD_HDR_2ND_CYC_95_64_E5 0x590028UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_LD_HDR_2ND_CYC_127_96_E5 0x59002cUL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_CM_HDR_31_0_E5 0x590030UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_CM_HDR_63_32_E5 0x590034UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_CM_HDR_95_64_E5 0x590038UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_CM_HDR_127_96_E5 0x59003cUL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
-#define PTLD_REG_LD_HDR_CLR_E5 0x590040UL //Access:W DataWidth:0x1 // Writing to this register clears hdr registers and enables logging new error details.
-#define PTLD_REG_STAT_FIC_MSG_E5 0x590044UL //Access:RC DataWidth:0x20 // Number of FIC messages sent to the loader
-#define PTLD_REG_LEN_ERR_LOG_1_E5 0x590048UL //Access:R DataWidth:0x10 // Logging register for long message error: bit 0-Segment message; bit 1-Message with PCI read; bit 2- Message with BD fetch; bit 3-Message with SGE fetch; bit 4- Message with BRB fetch; bits 5:6- QID; bits 7-RSV; bits 8-15 message CM length.
-#define PTLD_REG_LEN_ERR_LOG_2_E5 0x59004cUL //Access:R DataWidth:0x20 // Logging register for long message error: bit 0:3 Segment message header length; 4:7 RSV;8:15 current length out of the segment message length array; 16:23 PCI response len (including BD and SGE fetches); 24:31 BRB
-#define PTLD_REG_LEN_ERR_LOG_CLR_E5 0x590050UL //Access:W DataWidth:0x1 // Writing to this register clears len err logging registers and enables logging new error details.
-#define PTLD_REG_LEN_ERR_LOG_V_E5 0x590054UL //Access:R DataWidth:0x1 // Indicates that the data at the len_err logging registers is valid.
-#define PTLD_REG_INT_STS_E5 0x590180UL //Access:R DataWidth:0x6 // Multi Field Register.
+#define PTLD_REG_FOCI_FOC_CREDITS_E5 0x5a0000UL //Access:RW DataWidth:0x6 // Initial credit of the FOC itnerface.
+#define PTLD_REG_ECO_RESERVED_E5 0x5a0004UL //Access:RW DataWidth:0x8 // Allowes future ECO's
+#define PTLD_REG_FOC_REMAIN_CREDITS_E5 0x5a0008UL //Access:R DataWidth:0x6 // Remaining credits on the FOC interface
+#define PTLD_REG_LD_HDR_LOG_E5 0x5a000cUL //Access:R DataWidth:0x4 // Logging of the problem which caused the ld_hdr_err interrupt. Bit 0: ilegal flags combination.
+#define PTLD_REG_LD_HDR_1ST_CYC_31_0_E5 0x5a0010UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_LD_HDR_1ST_CYC_63_32_E5 0x5a0014UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_LD_HDR_1ST_CYC_95_64_E5 0x5a0018UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_LD_HDR_1ST_CYC_127_96_E5 0x5a001cUL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_LD_HDR_2ND_CYC_31_0_E5 0x5a0020UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_LD_HDR_2ND_CYC_63_32_E5 0x5a0024UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_LD_HDR_2ND_CYC_95_64_E5 0x5a0028UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_LD_HDR_2ND_CYC_127_96_E5 0x5a002cUL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_CM_HDR_31_0_E5 0x5a0030UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_CM_HDR_63_32_E5 0x5a0034UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_CM_HDR_95_64_E5 0x5a0038UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_CM_HDR_127_96_E5 0x5a003cUL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
+#define PTLD_REG_LD_HDR_CLR_E5 0x5a0040UL //Access:W DataWidth:0x1 // Writing to this register clears hdr registers and enables logging new error details.
+#define PTLD_REG_STAT_FIC_MSG_E5 0x5a0044UL //Access:RC DataWidth:0x20 // Number of FIC messages sent to the loader
+#define PTLD_REG_LEN_ERR_LOG_1_E5 0x5a0048UL //Access:R DataWidth:0x10 // Logging register for long message error: bit 0-Segment message; bit 1-Message with PCI read; bit 2- Message with BD fetch; bit 3-Message with SGE fetch; bit 4- Message with BRB fetch; bits 5:6- QID; bits 7-RSV; bits 8-15 message CM length.
+#define PTLD_REG_LEN_ERR_LOG_2_E5 0x5a004cUL //Access:R DataWidth:0x20 // Logging register for long message error: bit 0:3 Segment message header length; 4:7 RSV;8:15 current length out of the segment message length array; 16:23 PCI response len (including BD and SGE fetches); 24:31 BRB
+#define PTLD_REG_LEN_ERR_LOG_CLR_E5 0x5a0050UL //Access:W DataWidth:0x1 // Writing to this register clears len err logging registers and enables logging new error details.
+#define PTLD_REG_LEN_ERR_LOG_V_E5 0x5a0054UL //Access:R DataWidth:0x1 // Indicates that the data at the len_err logging registers is valid.
+#define PTLD_REG_INT_STS_E5 0x5a0180UL //Access:R DataWidth:0x6 // Multi Field Register.
#define PTLD_REG_INT_STS_ADDRESS_ERROR_E5 (0x1<<0) // Signals an unknown address to the rf module.
#define PTLD_REG_INT_STS_ADDRESS_ERROR_E5_SHIFT 0
#define PTLD_REG_INT_STS_LD_HDR_ERR_E5 (0x1<<1) // There is a problem with the Loader header. The ld_hdr_log should be checked to see what is the scenario.
@@ -59521,7 +61477,7 @@
#define PTLD_REG_INT_STS_LD_CID_MINI_CACHE_ERR_E5_SHIFT 4
#define PTLD_REG_INT_STS_LD_LONG_MESSAGE_E5 (0x1<<5) // This interrupt is raised when a FOC message is larger than the max credit value on the FOC itnerface.
#define PTLD_REG_INT_STS_LD_LONG_MESSAGE_E5_SHIFT 5
-#define PTLD_REG_INT_MASK_E5 0x590184UL //Access:RW DataWidth:0x6 // Multi Field Register.
+#define PTLD_REG_INT_MASK_E5 0x5a0184UL //Access:RW DataWidth:0x6 // Multi Field Register.
#define PTLD_REG_INT_MASK_ADDRESS_ERROR_E5 (0x1<<0) // This bit masks, when set, the Interrupt bit: PTLD_REG_INT_STS.ADDRESS_ERROR .
#define PTLD_REG_INT_MASK_ADDRESS_ERROR_E5_SHIFT 0
#define PTLD_REG_INT_MASK_LD_HDR_ERR_E5 (0x1<<1) // This bit masks, when set, the Interrupt bit: PTLD_REG_INT_STS.LD_HDR_ERR .
@@ -59534,7 +61490,7 @@
#define PTLD_REG_INT_MASK_LD_CID_MINI_CACHE_ERR_E5_SHIFT 4
#define PTLD_REG_INT_MASK_LD_LONG_MESSAGE_E5 (0x1<<5) // This bit masks, when set, the Interrupt bit: PTLD_REG_INT_STS.LD_LONG_MESSAGE .
#define PTLD_REG_INT_MASK_LD_LONG_MESSAGE_E5_SHIFT 5
-#define PTLD_REG_INT_STS_WR_E5 0x590188UL //Access:WR DataWidth:0x6 // Multi Field Register.
+#define PTLD_REG_INT_STS_WR_E5 0x5a0188UL //Access:WR DataWidth:0x6 // Multi Field Register.
#define PTLD_REG_INT_STS_WR_ADDRESS_ERROR_E5 (0x1<<0) // Signals an unknown address to the rf module.
#define PTLD_REG_INT_STS_WR_ADDRESS_ERROR_E5_SHIFT 0
#define PTLD_REG_INT_STS_WR_LD_HDR_ERR_E5 (0x1<<1) // There is a problem with the Loader header. The ld_hdr_log should be checked to see what is the scenario.
@@ -59547,7 +61503,7 @@
#define PTLD_REG_INT_STS_WR_LD_CID_MINI_CACHE_ERR_E5_SHIFT 4
#define PTLD_REG_INT_STS_WR_LD_LONG_MESSAGE_E5 (0x1<<5) // This interrupt is raised when a FOC message is larger than the max credit value on the FOC itnerface.
#define PTLD_REG_INT_STS_WR_LD_LONG_MESSAGE_E5_SHIFT 5
-#define PTLD_REG_INT_STS_CLR_E5 0x59018cUL //Access:RC DataWidth:0x6 // Multi Field Register.
+#define PTLD_REG_INT_STS_CLR_E5 0x5a018cUL //Access:RC DataWidth:0x6 // Multi Field Register.
#define PTLD_REG_INT_STS_CLR_ADDRESS_ERROR_E5 (0x1<<0) // Signals an unknown address to the rf module.
#define PTLD_REG_INT_STS_CLR_ADDRESS_ERROR_E5_SHIFT 0
#define PTLD_REG_INT_STS_CLR_LD_HDR_ERR_E5 (0x1<<1) // There is a problem with the Loader header. The ld_hdr_log should be checked to see what is the scenario.
@@ -59560,22 +61516,45 @@
#define PTLD_REG_INT_STS_CLR_LD_CID_MINI_CACHE_ERR_E5_SHIFT 4
#define PTLD_REG_INT_STS_CLR_LD_LONG_MESSAGE_E5 (0x1<<5) // This interrupt is raised when a FOC message is larger than the max credit value on the FOC itnerface.
#define PTLD_REG_INT_STS_CLR_LD_LONG_MESSAGE_E5_SHIFT 5
-#define PTLD_REG_DESC_QUEUE_Q0_E5 0x590400UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue0 - Debug access.
+#define PTLD_REG_PRTY_MASK_H_0_E5 0x5a0204UL //Access:RW DataWidth:0x8 // Multi Field Register.
+ #define PTLD_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PTLD_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
+ #define PTLD_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_E5_SHIFT 0
+ #define PTLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PTLD_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define PTLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 1
+ #define PTLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PTLD_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define PTLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 2
+ #define PTLD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PTLD_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define PTLD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 3
+ #define PTLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PTLD_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PTLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 4
+ #define PTLD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PTLD_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define PTLD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 5
+ #define PTLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PTLD_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PTLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 6
+ #define PTLD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PTLD_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define PTLD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 7
+#define PTLD_REG_MEM_ECC_ENABLE_0_E5 0x5a0210UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance ptld.i_msgq_ram.i_ecc in module ptld_i_msgq_ram_1
+#define PTLD_REG_MEM_ECC_PARITY_ONLY_0_E5 0x5a0214UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance ptld.i_msgq_ram.i_ecc in module ptld_i_msgq_ram_1
+#define PTLD_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0x5a0218UL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance ptld.i_msgq_ram.i_ecc in module ptld_i_msgq_ram_1
+#define PTLD_REG_MEM_ECC_EVENTS_E5 0x5a021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define PTLD_REG_DESC_QUEUE_Q0_E5 0x5a0400UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue0 - Debug access.
#define PTLD_REG_DESC_QUEUE_Q0_SIZE 150
-#define PTLD_REG_DESC_QUEUE_Q1_E5 0x590800UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue1 - Debug access.
+#define PTLD_REG_DESC_QUEUE_Q1_E5 0x5a0800UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue1 - Debug access.
#define PTLD_REG_DESC_QUEUE_Q1_SIZE 150
-#define PTLD_REG_L2MA_AGGR_CONFIG1_E5 0x590c00UL //Access:RW DataWidth:0x13 // Multi Field Register.
+#define PTLD_REG_L2MA_AGGR_CONFIG1_E5 0x5a0c00UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define PTLD_REG_L2MA_AGGR_CONFIG1_L2MA_EN_E5 (0x1<<0) // Enables L2 message aggregation
#define PTLD_REG_L2MA_AGGR_CONFIG1_L2MA_EN_E5_SHIFT 0
#define PTLD_REG_L2MA_AGGR_CONFIG1_IGNORE_CM_AGG_MSG_E5 (0x1<<1) // indicates not to perform the aggregation logic if there is no L2MA command in the message (there is no L2MA command if DstStormFlg is reset OR ErrFlg is set). If this configuration is reset, messages without L2MA command are treated like messages with L2MA command where EnL2MA flag in the command is reset (i.e. they break existing aggregation).
#define PTLD_REG_L2MA_AGGR_CONFIG1_IGNORE_CM_AGG_MSG_E5_SHIFT 1
#define PTLD_REG_L2MA_AGGR_CONFIG1_BACK_2_BACK_E5 (0x1<<2) // defines that only back-to-back aggregation is allowed
#define PTLD_REG_L2MA_AGGR_CONFIG1_BACK_2_BACK_E5_SHIFT 2
- #define PTLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5 (0xff<<3) // the minimal queue occupancy below which new aggregations are not created
- #define PTLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5_SHIFT 3
- #define PTLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5 (0xff<<11) // the maximal difference between the serial number of the parent message and the serial number of its child message
- #define PTLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5_SHIFT 11
-#define PTLD_REG_L2MA_AGGR_CONFIG2_E5 0x590c04UL //Access:RW DataWidth:0x18 // Multi Field Register.
+ #define PTLD_REG_L2MA_AGGR_CONFIG1_GLOBAL_INC_SN_E5 (0x1<<3) // When this flag is set, all input messages are treated as if their IncSn is set
+ #define PTLD_REG_L2MA_AGGR_CONFIG1_GLOBAL_INC_SN_E5_SHIFT 3
+ #define PTLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5 (0xff<<4) // the minimal queue occupancy below which new aggregations are not created
+ #define PTLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5_SHIFT 4
+ #define PTLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5 (0xff<<12) // the maximal difference between the serial number of the parent message and the serial number of its child message
+ #define PTLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5_SHIFT 12
+#define PTLD_REG_L2MA_AGGR_CONFIG2_E5 0x5a0c04UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define PTLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_0_E5 (0x3f<<0) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
#define PTLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_0_E5_SHIFT 0
#define PTLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_1_E5 (0x3f<<6) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
@@ -59584,7 +61563,8 @@
#define PTLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_2_E5_SHIFT 12
#define PTLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_3_E5 (0x3f<<18) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
#define PTLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_3_E5_SHIFT 18
-#define PTLD_REG_L2MA_SAME_OFFSET_SET_0_E5 0x590c08UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_MAX_NUMBER_IN_QUEUE_E5 0x5a0c08UL //Access:RW DataWidth:0x10 // Limit the number of ‘packets’ in the Loader according to the number of parents + childs messages.
+#define PTLD_REG_L2MA_SAME_OFFSET_SET_0_E5 0x5a0c0cUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_00_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 0.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_00_E5_SHIFT 0
#define PTLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_01_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 0.
@@ -59593,7 +61573,7 @@
#define PTLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_02_E5_SHIFT 16
#define PTLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_03_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 0.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_03_E5_SHIFT 24
-#define PTLD_REG_L2MA_SAME_OFFSET_SET_1_E5 0x590c0cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_SAME_OFFSET_SET_1_E5 0x5a0c10UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_10_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 1.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_10_E5_SHIFT 0
#define PTLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_11_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 1.
@@ -59602,7 +61582,7 @@
#define PTLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_12_E5_SHIFT 16
#define PTLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_13_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 1.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_13_E5_SHIFT 24
-#define PTLD_REG_L2MA_SAME_OFFSET_SET_2_E5 0x590c10UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_SAME_OFFSET_SET_2_E5 0x5a0c14UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_20_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 2.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_20_E5_SHIFT 0
#define PTLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_21_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 2.
@@ -59611,7 +61591,7 @@
#define PTLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_22_E5_SHIFT 16
#define PTLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_23_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 2.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_23_E5_SHIFT 24
-#define PTLD_REG_L2MA_SAME_OFFSET_SET_3_E5 0x590c14UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_SAME_OFFSET_SET_3_E5 0x5a0c18UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_30_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 3.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_30_E5_SHIFT 0
#define PTLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_31_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 3.
@@ -59620,7 +61600,7 @@
#define PTLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_32_E5_SHIFT 16
#define PTLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_33_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 3.
#define PTLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_33_E5_SHIFT 24
-#define PTLD_REG_L2MA_SAME_LEN_SET_0_1_E5 0x590c18UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_SAME_LEN_SET_0_1_E5 0x5a0c1cUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_00_E5 (0xf<<0) // length in 32b units from the same 00 .
#define PTLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_00_E5_SHIFT 0
#define PTLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_01_E5 (0xf<<4) // length in 32b units from the same 01 .
@@ -59637,7 +61617,7 @@
#define PTLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_12_E5_SHIFT 24
#define PTLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_13_E5 (0xf<<28) // length in 32b units from the same 13 .
#define PTLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_13_E5_SHIFT 28
-#define PTLD_REG_L2MA_SAME_LEN_SET_2_3_E5 0x590c1cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_SAME_LEN_SET_2_3_E5 0x5a0c20UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_20_E5 (0xf<<0) // length in 32b units from the same 20 .
#define PTLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_20_E5_SHIFT 0
#define PTLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_21_E5 (0xf<<4) // length in 32b units from the same 21 .
@@ -59654,11 +61634,39 @@
#define PTLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_32_E5_SHIFT 24
#define PTLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_33_E5 (0xf<<28) // length in 32b units from the same 33 .
#define PTLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_33_E5_SHIFT 28
-#define PTLD_REG_L2MA_SAME_MASK_SET_0_E5 0x590c20UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
-#define PTLD_REG_L2MA_SAME_MASK_SET_1_E5 0x590c24UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
-#define PTLD_REG_L2MA_SAME_MASK_SET_2_E5 0x590c28UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
-#define PTLD_REG_L2MA_SAME_MASK_SET_3_E5 0x590c2cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
-#define PTLD_REG_L2MA_DUP_OFFSET_SET_0_E5 0x590c30UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_0_E5 0x5a0c24UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_0_E5 0x5a0c28UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_0_E5 0x5a0c2cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_0_E5 0x5a0c30UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_0_E5 0x5a0c34UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_0_E5 0x5a0c38UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_0_E5 0x5a0c3cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_0_E5 0x5a0c40UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_1_E5 0x5a0c44UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_1_E5 0x5a0c48UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_1_E5 0x5a0c4cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_1_E5 0x5a0c50UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_1_E5 0x5a0c54UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_1_E5 0x5a0c58UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_1_E5 0x5a0c5cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_1_E5 0x5a0c60UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_2_E5 0x5a0c64UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_2_E5 0x5a0c68UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_2_E5 0x5a0c6cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_2_E5 0x5a0c70UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_2_E5 0x5a0c74UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_2_E5 0x5a0c78UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_2_E5 0x5a0c7cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_2_E5 0x5a0c80UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_3_E5 0x5a0c84UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_3_E5 0x5a0c88UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_3_E5 0x5a0c8cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_3_E5 0x5a0c90UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_3_E5 0x5a0c94UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_3_E5 0x5a0c98UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_3_E5 0x5a0c9cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define PTLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_3_E5 0x5a0ca0UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define PTLD_REG_L2MA_DUP_OFFSET_SET_0_E5 0x5a0ca4UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_00_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 0.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_00_E5_SHIFT 0
#define PTLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_01_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 0.
@@ -59667,7 +61675,7 @@
#define PTLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_02_E5_SHIFT 16
#define PTLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_03_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 0.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_03_E5_SHIFT 24
-#define PTLD_REG_L2MA_DUP_OFFSET_SET_1_E5 0x590c34UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_DUP_OFFSET_SET_1_E5 0x5a0ca8UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_10_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 1.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_10_E5_SHIFT 0
#define PTLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_11_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 1.
@@ -59676,7 +61684,7 @@
#define PTLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_12_E5_SHIFT 16
#define PTLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_13_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 1.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_13_E5_SHIFT 24
-#define PTLD_REG_L2MA_DUP_OFFSET_SET_2_E5 0x590c38UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_DUP_OFFSET_SET_2_E5 0x5a0cacUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_20_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 2.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_20_E5_SHIFT 0
#define PTLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_21_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 2.
@@ -59685,7 +61693,7 @@
#define PTLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_22_E5_SHIFT 16
#define PTLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_23_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 2.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_23_E5_SHIFT 24
-#define PTLD_REG_L2MA_DUP_OFFSET_SET_3_E5 0x590c3cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_DUP_OFFSET_SET_3_E5 0x5a0cb0UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_30_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 3.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_30_E5_SHIFT 0
#define PTLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_31_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 3.
@@ -59694,7 +61702,7 @@
#define PTLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_32_E5_SHIFT 16
#define PTLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_33_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 3.
#define PTLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_33_E5_SHIFT 24
-#define PTLD_REG_L2MA_DUP_LEN_SET_0_E5 0x590c40UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define PTLD_REG_L2MA_DUP_LEN_SET_0_E5 0x5a0cb4UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define PTLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_00_E5 (0x3f<<0) // length in 32b units from the dup 00 .
#define PTLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_00_E5_SHIFT 0
#define PTLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_01_E5 (0x3f<<6) // length in 32b units from the dup 01 .
@@ -59703,7 +61711,7 @@
#define PTLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_02_E5_SHIFT 12
#define PTLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_03_E5 (0x3f<<18) // length in 32b units from the dup 03 .
#define PTLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_03_E5_SHIFT 18
-#define PTLD_REG_L2MA_DUP_LEN_SET_1_E5 0x590c44UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define PTLD_REG_L2MA_DUP_LEN_SET_1_E5 0x5a0cb8UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define PTLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_10_E5 (0x3f<<0) // length in 32b units from the dup 10 .
#define PTLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_10_E5_SHIFT 0
#define PTLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_11_E5 (0x3f<<6) // length in 32b units from the dup 11 .
@@ -59712,7 +61720,7 @@
#define PTLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_12_E5_SHIFT 12
#define PTLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_13_E5 (0x3f<<18) // length in 32b units from the dup 13 .
#define PTLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_13_E5_SHIFT 18
-#define PTLD_REG_L2MA_DUP_LEN_SET_2_E5 0x590c48UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define PTLD_REG_L2MA_DUP_LEN_SET_2_E5 0x5a0cbcUL //Access:RW DataWidth:0x18 // Multi Field Register.
#define PTLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_20_E5 (0x3f<<0) // length in 32b units from the dup 20 .
#define PTLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_20_E5_SHIFT 0
#define PTLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_21_E5 (0x3f<<6) // length in 32b units from the dup 21 .
@@ -59721,7 +61729,7 @@
#define PTLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_22_E5_SHIFT 12
#define PTLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_23_E5 (0x3f<<18) // length in 32b units from the dup 23 .
#define PTLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_23_E5_SHIFT 18
-#define PTLD_REG_L2MA_DUP_LEN_SET_3_E5 0x590c4cUL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define PTLD_REG_L2MA_DUP_LEN_SET_3_E5 0x5a0cc0UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define PTLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_30_E5 (0x3f<<0) // length in 32b units from the dup 30 .
#define PTLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_30_E5_SHIFT 0
#define PTLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_31_E5 (0x3f<<6) // length in 32b units from the dup 31 .
@@ -59730,7 +61738,7 @@
#define PTLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_32_E5_SHIFT 12
#define PTLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_33_E5 (0x3f<<18) // length in 32b units from the dup 33 .
#define PTLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_33_E5_SHIFT 18
-#define PTLD_REG_L2MA_FLOW_ID_E5 0x590c50UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define PTLD_REG_L2MA_FLOW_ID_E5 0x5a0cc4UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define PTLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_0_E5 (0x1<<0) // indication if to include the flow-ID in the stream-ID for set 0.
#define PTLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_0_E5_SHIFT 0
#define PTLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_1_E5 (0x1<<1) // indication if to include the flow-ID in the stream-ID for set 1.
@@ -59747,7 +61755,7 @@
#define PTLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_2_E5_SHIFT 14
#define PTLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_3_E5 (0x1f<<19) // offset of the flow-ID, in 32b units, from the beginning of the message. Should be at most in the 3rd 256b cycle of the incoming message (i.e. max value is 23). This parameter is NA if FlowIdInclude is reset. For set 3 .
#define PTLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_3_E5_SHIFT 19
-#define PTLD_REG_L2MA_SN_OFFSET_E5 0x590c54UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_SN_OFFSET_E5 0x5a0cc8UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_SN_OFFSET_SN_OFFSET_0_E5 (0xff<<0) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 0.
#define PTLD_REG_L2MA_SN_OFFSET_SN_OFFSET_0_E5_SHIFT 0
#define PTLD_REG_L2MA_SN_OFFSET_SN_OFFSET_1_E5 (0xff<<8) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 1.
@@ -59756,7 +61764,7 @@
#define PTLD_REG_L2MA_SN_OFFSET_SN_OFFSET_2_E5_SHIFT 16
#define PTLD_REG_L2MA_SN_OFFSET_SN_OFFSET_3_E5 (0xff<<24) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 3.
#define PTLD_REG_L2MA_SN_OFFSET_SN_OFFSET_3_E5_SHIFT 24
-#define PTLD_REG_L2MA_MAX_L2MA_CHILD_E5 0x590c58UL //Access:RW DataWidth:0x10 // Multi Field Register.
+#define PTLD_REG_L2MA_MAX_L2MA_CHILD_E5 0x5a0cccUL //Access:RW DataWidth:0x10 // Multi Field Register.
#define PTLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_0_E5 (0xf<<0) // the maximal number of children in a specific aggregation. for set 0.
#define PTLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_0_E5_SHIFT 0
#define PTLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_1_E5 (0xf<<4) // the maximal number of children in a specific aggregation. for set 1.
@@ -59765,7 +61773,7 @@
#define PTLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_2_E5_SHIFT 8
#define PTLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_3_E5 (0xf<<12) // the maximal number of children in a specific aggregation. for set 3.
#define PTLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_3_E5_SHIFT 12
-#define PTLD_REG_L2MA_INC_L2MA_EVENT_ID_E5 0x590c5cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PTLD_REG_L2MA_INC_L2MA_EVENT_ID_E5 0x5a0cd0UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define PTLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_0_E5 (0xff<<0) // The value by which to increment the event-ID in case of successful aggregation. for set 0.
#define PTLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_0_E5_SHIFT 0
#define PTLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_1_E5 (0xff<<8) // The value by which to increment the event-ID in case of successful aggregation. for set 1.
@@ -59774,43 +61782,43 @@
#define PTLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_2_E5_SHIFT 16
#define PTLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_3_E5 (0xff<<24) // The value by which to increment the event-ID in case of successful aggregation. for set 3.
#define PTLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_3_E5_SHIFT 24
-#define PTLD_REG_LD_MAX_MSG_SIZE_E5 0x590c60UL //Access:RW DataWidth:0x4 // maximum loader size in 256 bit words
-#define PTLD_REG_DBG_SELECT_E5 0x591600UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
-#define PTLD_REG_DBG_DWORD_ENABLE_E5 0x591604UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
-#define PTLD_REG_DBG_SHIFT_E5 0x591608UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
-#define PTLD_REG_DBG_FORCE_VALID_E5 0x59160cUL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for forcing the valid signal per dword (128bit line) / qword (256bit line) (before shift).
-#define PTLD_REG_DBG_FORCE_FRAME_E5 0x591610UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
-#define PTLD_REG_DBG_OUT_DATA_E5 0x591620UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
+#define PTLD_REG_LD_MAX_MSG_SIZE_E5 0x5a0cd4UL //Access:RW DataWidth:0xc // maximum loader size in 256 bit words
+#define PTLD_REG_DBG_SELECT_E5 0x5a1600UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
+#define PTLD_REG_DBG_DWORD_ENABLE_E5 0x5a1604UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
+#define PTLD_REG_DBG_SHIFT_E5 0x5a1608UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
+#define PTLD_REG_DBG_FORCE_VALID_E5 0x5a160cUL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for forcing the valid signal per dword (128bit line) / qword (256bit line) (before shift).
+#define PTLD_REG_DBG_FORCE_FRAME_E5 0x5a1610UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
+#define PTLD_REG_DBG_OUT_DATA_E5 0x5a1620UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define PTLD_REG_DBG_OUT_DATA_SIZE 8
-#define PTLD_REG_DBG_OUT_VALID_E5 0x591640UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define PTLD_REG_DBG_OUT_FRAME_E5 0x591644UL //Access:R DataWidth:0x4 // Dbgmux output frame
-#define PTLD_REG_FIC_INPUT_FIFO_E5 0x592000UL //Access:WB DataWidth:0x80 // Access to input FIC FIFO
+#define PTLD_REG_DBG_OUT_VALID_E5 0x5a1640UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define PTLD_REG_DBG_OUT_FRAME_E5 0x5a1644UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
+#define PTLD_REG_FIC_INPUT_FIFO_E5 0x5a2000UL //Access:WB DataWidth:0x80 // Access to input FIC FIFO
#define PTLD_REG_FIC_INPUT_FIFO_SIZE 176
-#define PTLD_REG_QUEUE_MSG_MEM_E5 0x5a0000UL //Access:WB DataWidth:0x80 // Debug access to The message queue memory.
+#define PTLD_REG_QUEUE_MSG_MEM_E5 0x5b0000UL //Access:WB DataWidth:0x80 // Debug access to The message queue memory.
#define PTLD_REG_QUEUE_MSG_MEM_SIZE 7500
-#define YPLD_REG_FOCI_FOC_CREDITS_E5 0x5b0000UL //Access:RW DataWidth:0x6 // Initial credit of the FOC itnerface.
-#define YPLD_REG_ECO_RESERVED_E5 0x5b0004UL //Access:RW DataWidth:0x8 // Allowes future ECO's
-#define YPLD_REG_FOC_REMAIN_CREDITS_E5 0x5b0008UL //Access:R DataWidth:0x6 // Remaining credits on the FOC interface
-#define YPLD_REG_LD_HDR_LOG_E5 0x5b000cUL //Access:R DataWidth:0x4 // Logging of the problem which caused the ld_hdr_err interrupt. Bit 0: ilegal flags combination.
-#define YPLD_REG_LD_HDR_1ST_CYC_31_0_E5 0x5b0010UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_LD_HDR_1ST_CYC_63_32_E5 0x5b0014UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_LD_HDR_1ST_CYC_95_64_E5 0x5b0018UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_LD_HDR_1ST_CYC_127_96_E5 0x5b001cUL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_LD_HDR_2ND_CYC_31_0_E5 0x5b0020UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_LD_HDR_2ND_CYC_63_32_E5 0x5b0024UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_LD_HDR_2ND_CYC_95_64_E5 0x5b0028UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_LD_HDR_2ND_CYC_127_96_E5 0x5b002cUL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_CM_HDR_31_0_E5 0x5b0030UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_CM_HDR_63_32_E5 0x5b0034UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_CM_HDR_95_64_E5 0x5b0038UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_CM_HDR_127_96_E5 0x5b003cUL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
-#define YPLD_REG_LD_HDR_CLR_E5 0x5b0040UL //Access:W DataWidth:0x1 // Writing to this register clears hdr registers and enables logging new error details.
-#define YPLD_REG_STAT_FIC_MSG_E5 0x5b0044UL //Access:RC DataWidth:0x20 // Number of FIC messages sent to the loader
-#define YPLD_REG_LEN_ERR_LOG_1_E5 0x5b0048UL //Access:R DataWidth:0x10 // Logging register for long message error: bit 0-Segment message; bit 1-Message with PCI read; bit 2- Message with BD fetch; bit 3-Message with SGE fetch; bit 4- Message with BRB fetch; bits 5:6- QID; bits 7-RSV; bits 8-15 message CM length.
-#define YPLD_REG_LEN_ERR_LOG_2_E5 0x5b004cUL //Access:R DataWidth:0x20 // Logging register for long message error: bit 0:3 Segment message header length; 4:7 RSV;8:15 current length out of the segment message length array; 16:23 PCI response len (including BD and SGE fetches); 24:31 BRB
-#define YPLD_REG_LEN_ERR_LOG_CLR_E5 0x5b0050UL //Access:W DataWidth:0x1 // Writing to this register clears len err logging registers and enables logging new error details.
-#define YPLD_REG_LEN_ERR_LOG_V_E5 0x5b0054UL //Access:R DataWidth:0x1 // Indicates that the data at the len_err logging registers is valid.
-#define YPLD_REG_INT_STS_E5 0x5b0180UL //Access:R DataWidth:0x6 // Multi Field Register.
+#define YPLD_REG_FOCI_FOC_CREDITS_E5 0x5c0000UL //Access:RW DataWidth:0x6 // Initial credit of the FOC itnerface.
+#define YPLD_REG_ECO_RESERVED_E5 0x5c0004UL //Access:RW DataWidth:0x8 // Allowes future ECO's
+#define YPLD_REG_FOC_REMAIN_CREDITS_E5 0x5c0008UL //Access:R DataWidth:0x6 // Remaining credits on the FOC interface
+#define YPLD_REG_LD_HDR_LOG_E5 0x5c000cUL //Access:R DataWidth:0x4 // Logging of the problem which caused the ld_hdr_err interrupt. Bit 0: ilegal flags combination.
+#define YPLD_REG_LD_HDR_1ST_CYC_31_0_E5 0x5c0010UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_LD_HDR_1ST_CYC_63_32_E5 0x5c0014UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_LD_HDR_1ST_CYC_95_64_E5 0x5c0018UL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_LD_HDR_1ST_CYC_127_96_E5 0x5c001cUL //Access:R DataWidth:0x20 // Logging of the first loader header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_LD_HDR_2ND_CYC_31_0_E5 0x5c0020UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_LD_HDR_2ND_CYC_63_32_E5 0x5c0024UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_LD_HDR_2ND_CYC_95_64_E5 0x5c0028UL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_LD_HDR_2ND_CYC_127_96_E5 0x5c002cUL //Access:R DataWidth:0x20 // Logging of the second loader header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_CM_HDR_31_0_E5 0x5c0030UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_CM_HDR_63_32_E5 0x5c0034UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_CM_HDR_95_64_E5 0x5c0038UL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_CM_HDR_127_96_E5 0x5c003cUL //Access:R DataWidth:0x20 // Logging of the cm header cycle - for the case ld_hdr_err is raised.
+#define YPLD_REG_LD_HDR_CLR_E5 0x5c0040UL //Access:W DataWidth:0x1 // Writing to this register clears hdr registers and enables logging new error details.
+#define YPLD_REG_STAT_FIC_MSG_E5 0x5c0044UL //Access:RC DataWidth:0x20 // Number of FIC messages sent to the loader
+#define YPLD_REG_LEN_ERR_LOG_1_E5 0x5c0048UL //Access:R DataWidth:0x10 // Logging register for long message error: bit 0-Segment message; bit 1-Message with PCI read; bit 2- Message with BD fetch; bit 3-Message with SGE fetch; bit 4- Message with BRB fetch; bits 5:6- QID; bits 7-RSV; bits 8-15 message CM length.
+#define YPLD_REG_LEN_ERR_LOG_2_E5 0x5c004cUL //Access:R DataWidth:0x20 // Logging register for long message error: bit 0:3 Segment message header length; 4:7 RSV;8:15 current length out of the segment message length array; 16:23 PCI response len (including BD and SGE fetches); 24:31 BRB
+#define YPLD_REG_LEN_ERR_LOG_CLR_E5 0x5c0050UL //Access:W DataWidth:0x1 // Writing to this register clears len err logging registers and enables logging new error details.
+#define YPLD_REG_LEN_ERR_LOG_V_E5 0x5c0054UL //Access:R DataWidth:0x1 // Indicates that the data at the len_err logging registers is valid.
+#define YPLD_REG_INT_STS_E5 0x5c0180UL //Access:R DataWidth:0x6 // Multi Field Register.
#define YPLD_REG_INT_STS_ADDRESS_ERROR_E5 (0x1<<0) // Signals an unknown address to the rf module.
#define YPLD_REG_INT_STS_ADDRESS_ERROR_E5_SHIFT 0
#define YPLD_REG_INT_STS_LD_HDR_ERR_E5 (0x1<<1) // There is a problem with the Loader header. The ld_hdr_log should be checked to see what is the scenario.
@@ -59823,7 +61831,7 @@
#define YPLD_REG_INT_STS_LD_CID_MINI_CACHE_ERR_E5_SHIFT 4
#define YPLD_REG_INT_STS_LD_LONG_MESSAGE_E5 (0x1<<5) // This interrupt is raised when a FOC message is larger than the max credit value on the FOC itnerface.
#define YPLD_REG_INT_STS_LD_LONG_MESSAGE_E5_SHIFT 5
-#define YPLD_REG_INT_MASK_E5 0x5b0184UL //Access:RW DataWidth:0x6 // Multi Field Register.
+#define YPLD_REG_INT_MASK_E5 0x5c0184UL //Access:RW DataWidth:0x6 // Multi Field Register.
#define YPLD_REG_INT_MASK_ADDRESS_ERROR_E5 (0x1<<0) // This bit masks, when set, the Interrupt bit: YPLD_REG_INT_STS.ADDRESS_ERROR .
#define YPLD_REG_INT_MASK_ADDRESS_ERROR_E5_SHIFT 0
#define YPLD_REG_INT_MASK_LD_HDR_ERR_E5 (0x1<<1) // This bit masks, when set, the Interrupt bit: YPLD_REG_INT_STS.LD_HDR_ERR .
@@ -59836,7 +61844,7 @@
#define YPLD_REG_INT_MASK_LD_CID_MINI_CACHE_ERR_E5_SHIFT 4
#define YPLD_REG_INT_MASK_LD_LONG_MESSAGE_E5 (0x1<<5) // This bit masks, when set, the Interrupt bit: YPLD_REG_INT_STS.LD_LONG_MESSAGE .
#define YPLD_REG_INT_MASK_LD_LONG_MESSAGE_E5_SHIFT 5
-#define YPLD_REG_INT_STS_WR_E5 0x5b0188UL //Access:WR DataWidth:0x6 // Multi Field Register.
+#define YPLD_REG_INT_STS_WR_E5 0x5c0188UL //Access:WR DataWidth:0x6 // Multi Field Register.
#define YPLD_REG_INT_STS_WR_ADDRESS_ERROR_E5 (0x1<<0) // Signals an unknown address to the rf module.
#define YPLD_REG_INT_STS_WR_ADDRESS_ERROR_E5_SHIFT 0
#define YPLD_REG_INT_STS_WR_LD_HDR_ERR_E5 (0x1<<1) // There is a problem with the Loader header. The ld_hdr_log should be checked to see what is the scenario.
@@ -59849,7 +61857,7 @@
#define YPLD_REG_INT_STS_WR_LD_CID_MINI_CACHE_ERR_E5_SHIFT 4
#define YPLD_REG_INT_STS_WR_LD_LONG_MESSAGE_E5 (0x1<<5) // This interrupt is raised when a FOC message is larger than the max credit value on the FOC itnerface.
#define YPLD_REG_INT_STS_WR_LD_LONG_MESSAGE_E5_SHIFT 5
-#define YPLD_REG_INT_STS_CLR_E5 0x5b018cUL //Access:RC DataWidth:0x6 // Multi Field Register.
+#define YPLD_REG_INT_STS_CLR_E5 0x5c018cUL //Access:RC DataWidth:0x6 // Multi Field Register.
#define YPLD_REG_INT_STS_CLR_ADDRESS_ERROR_E5 (0x1<<0) // Signals an unknown address to the rf module.
#define YPLD_REG_INT_STS_CLR_ADDRESS_ERROR_E5_SHIFT 0
#define YPLD_REG_INT_STS_CLR_LD_HDR_ERR_E5 (0x1<<1) // There is a problem with the Loader header. The ld_hdr_log should be checked to see what is the scenario.
@@ -59862,22 +61870,45 @@
#define YPLD_REG_INT_STS_CLR_LD_CID_MINI_CACHE_ERR_E5_SHIFT 4
#define YPLD_REG_INT_STS_CLR_LD_LONG_MESSAGE_E5 (0x1<<5) // This interrupt is raised when a FOC message is larger than the max credit value on the FOC itnerface.
#define YPLD_REG_INT_STS_CLR_LD_LONG_MESSAGE_E5_SHIFT 5
-#define YPLD_REG_DESC_QUEUE_Q0_E5 0x5b0400UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue0 - Debug access.
+#define YPLD_REG_PRTY_MASK_H_0_E5 0x5c0204UL //Access:RW DataWidth:0x8 // Multi Field Register.
+ #define YPLD_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: YPLD_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
+ #define YPLD_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_E5_SHIFT 0
+ #define YPLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: YPLD_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define YPLD_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 1
+ #define YPLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: YPLD_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define YPLD_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 2
+ #define YPLD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: YPLD_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define YPLD_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 3
+ #define YPLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: YPLD_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define YPLD_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 4
+ #define YPLD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: YPLD_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define YPLD_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 5
+ #define YPLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: YPLD_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define YPLD_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 6
+ #define YPLD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: YPLD_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define YPLD_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 7
+#define YPLD_REG_MEM_ECC_ENABLE_0_E5 0x5c0210UL //Access:RW DataWidth:0x1 // Enable ECC for memory ecc instance ypld.i_msgq_ram.i_ecc in module ypld_i_msgq_ram_1
+#define YPLD_REG_MEM_ECC_PARITY_ONLY_0_E5 0x5c0214UL //Access:RW DataWidth:0x1 // Set parity only for memory ecc instance ypld.i_msgq_ram.i_ecc in module ypld_i_msgq_ram_1
+#define YPLD_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0x5c0218UL //Access:RC DataWidth:0x1 // Record if a correctable error occurred on memory ecc instance ypld.i_msgq_ram.i_ecc in module ypld_i_msgq_ram_1
+#define YPLD_REG_MEM_ECC_EVENTS_E5 0x5c021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define YPLD_REG_DESC_QUEUE_Q0_E5 0x5c0400UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue0 - Debug access.
#define YPLD_REG_DESC_QUEUE_Q0_SIZE 150
-#define YPLD_REG_DESC_QUEUE_Q1_E5 0x5b0800UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue1 - Debug access.
+#define YPLD_REG_DESC_QUEUE_Q1_E5 0x5c0800UL //Access:WB DataWidth:0x23 // Descriptor FIFO queue1 - Debug access.
#define YPLD_REG_DESC_QUEUE_Q1_SIZE 150
-#define YPLD_REG_L2MA_AGGR_CONFIG1_E5 0x5b0c00UL //Access:RW DataWidth:0x13 // Multi Field Register.
+#define YPLD_REG_L2MA_AGGR_CONFIG1_E5 0x5c0c00UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define YPLD_REG_L2MA_AGGR_CONFIG1_L2MA_EN_E5 (0x1<<0) // Enables L2 message aggregation
#define YPLD_REG_L2MA_AGGR_CONFIG1_L2MA_EN_E5_SHIFT 0
#define YPLD_REG_L2MA_AGGR_CONFIG1_IGNORE_CM_AGG_MSG_E5 (0x1<<1) // indicates not to perform the aggregation logic if there is no L2MA command in the message (there is no L2MA command if DstStormFlg is reset OR ErrFlg is set). If this configuration is reset, messages without L2MA command are treated like messages with L2MA command where EnL2MA flag in the command is reset (i.e. they break existing aggregation).
#define YPLD_REG_L2MA_AGGR_CONFIG1_IGNORE_CM_AGG_MSG_E5_SHIFT 1
#define YPLD_REG_L2MA_AGGR_CONFIG1_BACK_2_BACK_E5 (0x1<<2) // defines that only back-to-back aggregation is allowed
#define YPLD_REG_L2MA_AGGR_CONFIG1_BACK_2_BACK_E5_SHIFT 2
- #define YPLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5 (0xff<<3) // the minimal queue occupancy below which new aggregations are not created
- #define YPLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5_SHIFT 3
- #define YPLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5 (0xff<<11) // the maximal difference between the serial number of the parent message and the serial number of its child message
- #define YPLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5_SHIFT 11
-#define YPLD_REG_L2MA_AGGR_CONFIG2_E5 0x5b0c04UL //Access:RW DataWidth:0x18 // Multi Field Register.
+ #define YPLD_REG_L2MA_AGGR_CONFIG1_GLOBAL_INC_SN_E5 (0x1<<3) // When this flag is set, all input messages are treated as if their IncSn is set
+ #define YPLD_REG_L2MA_AGGR_CONFIG1_GLOBAL_INC_SN_E5_SHIFT 3
+ #define YPLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5 (0xff<<4) // the minimal queue occupancy below which new aggregations are not created
+ #define YPLD_REG_L2MA_AGGR_CONFIG1_MIN_QUEUE_OCC_E5_SHIFT 4
+ #define YPLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5 (0xff<<12) // the maximal difference between the serial number of the parent message and the serial number of its child message
+ #define YPLD_REG_L2MA_AGGR_CONFIG1_MAX_L2MA_DIFF_E5_SHIFT 12
+#define YPLD_REG_L2MA_AGGR_CONFIG2_E5 0x5c0c04UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define YPLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_0_E5 (0x3f<<0) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
#define YPLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_0_E5_SHIFT 0
#define YPLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_1_E5 (0x3f<<6) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
@@ -59886,7 +61917,8 @@
#define YPLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_2_E5_SHIFT 12
#define YPLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_3_E5 (0x3f<<18) // the size of the message associated with each child in number of 128b units for set 0(should be in accordance to DupParams)
#define YPLD_REG_L2MA_AGGR_CONFIG2_CHILD_MSG_SIZE_3_E5_SHIFT 18
-#define YPLD_REG_L2MA_SAME_OFFSET_SET_0_E5 0x5b0c08UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_MAX_NUMBER_IN_QUEUE_E5 0x5c0c08UL //Access:RW DataWidth:0x10 // Limit the number of ‘packets’ in the Loader according to the number of parents + childs messages.
+#define YPLD_REG_L2MA_SAME_OFFSET_SET_0_E5 0x5c0c0cUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_00_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 0.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_00_E5_SHIFT 0
#define YPLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_01_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 0.
@@ -59895,7 +61927,7 @@
#define YPLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_02_E5_SHIFT 16
#define YPLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_03_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 0.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_0_OFFSET_03_E5_SHIFT 24
-#define YPLD_REG_L2MA_SAME_OFFSET_SET_1_E5 0x5b0c0cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_SAME_OFFSET_SET_1_E5 0x5c0c10UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_10_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 1.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_10_E5_SHIFT 0
#define YPLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_11_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 1.
@@ -59904,7 +61936,7 @@
#define YPLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_12_E5_SHIFT 16
#define YPLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_13_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 1.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_1_OFFSET_13_E5_SHIFT 24
-#define YPLD_REG_L2MA_SAME_OFFSET_SET_2_E5 0x5b0c10UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_SAME_OFFSET_SET_2_E5 0x5c0c14UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_20_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 2.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_20_E5_SHIFT 0
#define YPLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_21_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 2.
@@ -59913,7 +61945,7 @@
#define YPLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_22_E5_SHIFT 16
#define YPLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_23_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 2.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_2_OFFSET_23_E5_SHIFT 24
-#define YPLD_REG_L2MA_SAME_OFFSET_SET_3_E5 0x5b0c14UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_SAME_OFFSET_SET_3_E5 0x5c0c18UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_30_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to same parameter 0 of configuration-set 3.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_30_E5_SHIFT 0
#define YPLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_31_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to same parameter 1 of configuration-set 3.
@@ -59922,7 +61954,7 @@
#define YPLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_32_E5_SHIFT 16
#define YPLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_33_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to same parameter 3 of configuration-set 3.
#define YPLD_REG_L2MA_SAME_OFFSET_SET_3_OFFSET_33_E5_SHIFT 24
-#define YPLD_REG_L2MA_SAME_LEN_SET_0_1_E5 0x5b0c18UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_SAME_LEN_SET_0_1_E5 0x5c0c1cUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_00_E5 (0xf<<0) // length in 32b units from the same 00 .
#define YPLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_00_E5_SHIFT 0
#define YPLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_01_E5 (0xf<<4) // length in 32b units from the same 01 .
@@ -59939,7 +61971,7 @@
#define YPLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_12_E5_SHIFT 24
#define YPLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_13_E5 (0xf<<28) // length in 32b units from the same 13 .
#define YPLD_REG_L2MA_SAME_LEN_SET_0_1_LEN_13_E5_SHIFT 28
-#define YPLD_REG_L2MA_SAME_LEN_SET_2_3_E5 0x5b0c1cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_SAME_LEN_SET_2_3_E5 0x5c0c20UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_20_E5 (0xf<<0) // length in 32b units from the same 20 .
#define YPLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_20_E5_SHIFT 0
#define YPLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_21_E5 (0xf<<4) // length in 32b units from the same 21 .
@@ -59956,11 +61988,39 @@
#define YPLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_32_E5_SHIFT 24
#define YPLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_33_E5 (0xf<<28) // length in 32b units from the same 33 .
#define YPLD_REG_L2MA_SAME_LEN_SET_2_3_LEN_33_E5_SHIFT 28
-#define YPLD_REG_L2MA_SAME_MASK_SET_0_E5 0x5b0c20UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
-#define YPLD_REG_L2MA_SAME_MASK_SET_1_E5 0x5b0c24UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
-#define YPLD_REG_L2MA_SAME_MASK_SET_2_E5 0x5b0c28UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
-#define YPLD_REG_L2MA_SAME_MASK_SET_3_E5 0x5b0c2cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
-#define YPLD_REG_L2MA_DUP_OFFSET_SET_0_E5 0x5b0c30UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_0_E5 0x5c0c24UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_0_E5 0x5c0c28UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_0_E5 0x5c0c2cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_0_E5 0x5c0c30UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_0_E5 0x5c0c34UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_0_E5 0x5c0c38UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_0_E5 0x5c0c3cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_0_E5 0x5c0c40UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 0 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_1_E5 0x5c0c44UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_1_E5 0x5c0c48UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_1_E5 0x5c0c4cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_1_E5 0x5c0c50UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_1_E5 0x5c0c54UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_1_E5 0x5c0c58UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_1_E5 0x5c0c5cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_1_E5 0x5c0c60UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 1 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_2_E5 0x5c0c64UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_2_E5 0x5c0c68UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_2_E5 0x5c0c6cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_2_E5 0x5c0c70UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_2_E5 0x5c0c74UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_2_E5 0x5c0c78UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_2_E5 0x5c0c7cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_2_E5 0x5c0c80UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 2 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_31_0_SET_3_E5 0x5c0c84UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_63_32_SET_3_E5 0x5c0c88UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_95_64_SET_3_E5 0x5c0c8cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_127_96_SET_3_E5 0x5c0c90UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_159_128_SET_3_E5 0x5c0c94UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_191_160_SET_3_E5 0x5c0c98UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_223_192_SET_3_E5 0x5c0c9cUL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define YPLD_REG_L2MA_SAME_MASK_BITS_255_224_SET_3_E5 0x5c0ca0UL //Access:RW DataWidth:0x20 // bit-mask on the selected 32B same 3 parameters .
+#define YPLD_REG_L2MA_DUP_OFFSET_SET_0_E5 0x5c0ca4UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_00_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 0.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_00_E5_SHIFT 0
#define YPLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_01_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 0.
@@ -59969,7 +62029,7 @@
#define YPLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_02_E5_SHIFT 16
#define YPLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_03_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 0.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_0_DUP_OFFSET_03_E5_SHIFT 24
-#define YPLD_REG_L2MA_DUP_OFFSET_SET_1_E5 0x5b0c34UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_DUP_OFFSET_SET_1_E5 0x5c0ca8UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_10_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 1.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_10_E5_SHIFT 0
#define YPLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_11_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 1.
@@ -59978,7 +62038,7 @@
#define YPLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_12_E5_SHIFT 16
#define YPLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_13_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 1.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_1_DUP_OFFSET_13_E5_SHIFT 24
-#define YPLD_REG_L2MA_DUP_OFFSET_SET_2_E5 0x5b0c38UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_DUP_OFFSET_SET_2_E5 0x5c0cacUL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_20_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 2.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_20_E5_SHIFT 0
#define YPLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_21_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 2.
@@ -59987,7 +62047,7 @@
#define YPLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_22_E5_SHIFT 16
#define YPLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_23_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 2.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_2_DUP_OFFSET_23_E5_SHIFT 24
-#define YPLD_REG_L2MA_DUP_OFFSET_SET_3_E5 0x5b0c3cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_DUP_OFFSET_SET_3_E5 0x5c0cb0UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_30_E5 (0xff<<0) // Offset in 32b units from the beginning of the message to dup parameter 0 of configuration-set 3.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_30_E5_SHIFT 0
#define YPLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_31_E5 (0xff<<8) // Offset in 32b units from the beginning of the message to dup parameter 1 of configuration-set 3.
@@ -59996,7 +62056,7 @@
#define YPLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_32_E5_SHIFT 16
#define YPLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_33_E5 (0xff<<24) // Offset in 32b units from the beginning of the message to dup parameter 3 of configuration-set 3.
#define YPLD_REG_L2MA_DUP_OFFSET_SET_3_DUP_OFFSET_33_E5_SHIFT 24
-#define YPLD_REG_L2MA_DUP_LEN_SET_0_E5 0x5b0c40UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define YPLD_REG_L2MA_DUP_LEN_SET_0_E5 0x5c0cb4UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define YPLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_00_E5 (0x3f<<0) // length in 32b units from the dup 00 .
#define YPLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_00_E5_SHIFT 0
#define YPLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_01_E5 (0x3f<<6) // length in 32b units from the dup 01 .
@@ -60005,7 +62065,7 @@
#define YPLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_02_E5_SHIFT 12
#define YPLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_03_E5 (0x3f<<18) // length in 32b units from the dup 03 .
#define YPLD_REG_L2MA_DUP_LEN_SET_0_DUP_LEN_03_E5_SHIFT 18
-#define YPLD_REG_L2MA_DUP_LEN_SET_1_E5 0x5b0c44UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define YPLD_REG_L2MA_DUP_LEN_SET_1_E5 0x5c0cb8UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define YPLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_10_E5 (0x3f<<0) // length in 32b units from the dup 10 .
#define YPLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_10_E5_SHIFT 0
#define YPLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_11_E5 (0x3f<<6) // length in 32b units from the dup 11 .
@@ -60014,7 +62074,7 @@
#define YPLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_12_E5_SHIFT 12
#define YPLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_13_E5 (0x3f<<18) // length in 32b units from the dup 13 .
#define YPLD_REG_L2MA_DUP_LEN_SET_1_DUP_LEN_13_E5_SHIFT 18
-#define YPLD_REG_L2MA_DUP_LEN_SET_2_E5 0x5b0c48UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define YPLD_REG_L2MA_DUP_LEN_SET_2_E5 0x5c0cbcUL //Access:RW DataWidth:0x18 // Multi Field Register.
#define YPLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_20_E5 (0x3f<<0) // length in 32b units from the dup 20 .
#define YPLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_20_E5_SHIFT 0
#define YPLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_21_E5 (0x3f<<6) // length in 32b units from the dup 21 .
@@ -60023,7 +62083,7 @@
#define YPLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_22_E5_SHIFT 12
#define YPLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_23_E5 (0x3f<<18) // length in 32b units from the dup 23 .
#define YPLD_REG_L2MA_DUP_LEN_SET_2_DUP_LEN_23_E5_SHIFT 18
-#define YPLD_REG_L2MA_DUP_LEN_SET_3_E5 0x5b0c4cUL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define YPLD_REG_L2MA_DUP_LEN_SET_3_E5 0x5c0cc0UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define YPLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_30_E5 (0x3f<<0) // length in 32b units from the dup 30 .
#define YPLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_30_E5_SHIFT 0
#define YPLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_31_E5 (0x3f<<6) // length in 32b units from the dup 31 .
@@ -60032,7 +62092,7 @@
#define YPLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_32_E5_SHIFT 12
#define YPLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_33_E5 (0x3f<<18) // length in 32b units from the dup 33 .
#define YPLD_REG_L2MA_DUP_LEN_SET_3_DUP_LEN_33_E5_SHIFT 18
-#define YPLD_REG_L2MA_FLOW_ID_E5 0x5b0c50UL //Access:RW DataWidth:0x18 // Multi Field Register.
+#define YPLD_REG_L2MA_FLOW_ID_E5 0x5c0cc4UL //Access:RW DataWidth:0x18 // Multi Field Register.
#define YPLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_0_E5 (0x1<<0) // indication if to include the flow-ID in the stream-ID for set 0.
#define YPLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_0_E5_SHIFT 0
#define YPLD_REG_L2MA_FLOW_ID_FLOW_ID_INCLUDE_1_E5 (0x1<<1) // indication if to include the flow-ID in the stream-ID for set 1.
@@ -60049,7 +62109,7 @@
#define YPLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_2_E5_SHIFT 14
#define YPLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_3_E5 (0x1f<<19) // offset of the flow-ID, in 32b units, from the beginning of the message. Should be at most in the 3rd 256b cycle of the incoming message (i.e. max value is 23). This parameter is NA if FlowIdInclude is reset. For set 3 .
#define YPLD_REG_L2MA_FLOW_ID_FLOW_ID_OFFSET_3_E5_SHIFT 19
-#define YPLD_REG_L2MA_SN_OFFSET_E5 0x5b0c54UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_SN_OFFSET_E5 0x5c0cc8UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_SN_OFFSET_SN_OFFSET_0_E5 (0xff<<0) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 0.
#define YPLD_REG_L2MA_SN_OFFSET_SN_OFFSET_0_E5_SHIFT 0
#define YPLD_REG_L2MA_SN_OFFSET_SN_OFFSET_1_E5 (0xff<<8) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 1.
@@ -60058,7 +62118,7 @@
#define YPLD_REG_L2MA_SN_OFFSET_SN_OFFSET_2_E5_SHIFT 16
#define YPLD_REG_L2MA_SN_OFFSET_SN_OFFSET_3_E5 (0xff<<24) // offset in 32b units from the beginning of the message in which to put (overwrite) the serial number. Sn Offset should point to an offset which is part of a duplicate parameter.for set 3.
#define YPLD_REG_L2MA_SN_OFFSET_SN_OFFSET_3_E5_SHIFT 24
-#define YPLD_REG_L2MA_MAX_L2MA_CHILD_E5 0x5b0c58UL //Access:RW DataWidth:0x10 // Multi Field Register.
+#define YPLD_REG_L2MA_MAX_L2MA_CHILD_E5 0x5c0cccUL //Access:RW DataWidth:0x10 // Multi Field Register.
#define YPLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_0_E5 (0xf<<0) // the maximal number of children in a specific aggregation. for set 0.
#define YPLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_0_E5_SHIFT 0
#define YPLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_1_E5 (0xf<<4) // the maximal number of children in a specific aggregation. for set 1.
@@ -60067,7 +62127,7 @@
#define YPLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_2_E5_SHIFT 8
#define YPLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_3_E5 (0xf<<12) // the maximal number of children in a specific aggregation. for set 3.
#define YPLD_REG_L2MA_MAX_L2MA_CHILD_MAX_L2MA_3_E5_SHIFT 12
-#define YPLD_REG_L2MA_INC_L2MA_EVENT_ID_E5 0x5b0c5cUL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YPLD_REG_L2MA_INC_L2MA_EVENT_ID_E5 0x5c0cd0UL //Access:RW DataWidth:0x20 // Multi Field Register.
#define YPLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_0_E5 (0xff<<0) // The value by which to increment the event-ID in case of successful aggregation. for set 0.
#define YPLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_0_E5_SHIFT 0
#define YPLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_1_E5 (0xff<<8) // The value by which to increment the event-ID in case of successful aggregation. for set 1.
@@ -60076,19 +62136,19 @@
#define YPLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_2_E5_SHIFT 16
#define YPLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_3_E5 (0xff<<24) // The value by which to increment the event-ID in case of successful aggregation. for set 3.
#define YPLD_REG_L2MA_INC_L2MA_EVENT_ID_INC_EVENT_ID_3_E5_SHIFT 24
-#define YPLD_REG_LD_MAX_MSG_SIZE_E5 0x5b0c60UL //Access:RW DataWidth:0x4 // maximum loader size in 256 bit words
-#define YPLD_REG_DBG_SELECT_E5 0x5b1600UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
-#define YPLD_REG_DBG_DWORD_ENABLE_E5 0x5b1604UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
-#define YPLD_REG_DBG_SHIFT_E5 0x5b1608UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
-#define YPLD_REG_DBG_FORCE_VALID_E5 0x5b160cUL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for forcing the valid signal per dword (128bit line) / qword (256bit line) (before shift).
-#define YPLD_REG_DBG_FORCE_FRAME_E5 0x5b1610UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
-#define YPLD_REG_DBG_OUT_DATA_E5 0x5b1620UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
+#define YPLD_REG_LD_MAX_MSG_SIZE_E5 0x5c0cd4UL //Access:RW DataWidth:0xc // maximum loader size in 256 bit words
+#define YPLD_REG_DBG_SELECT_E5 0x5c1600UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
+#define YPLD_REG_DBG_DWORD_ENABLE_E5 0x5c1604UL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
+#define YPLD_REG_DBG_SHIFT_E5 0x5c1608UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
+#define YPLD_REG_DBG_FORCE_VALID_E5 0x5c160cUL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for forcing the valid signal per dword (128bit line) / qword (256bit line) (before shift).
+#define YPLD_REG_DBG_FORCE_FRAME_E5 0x5c1610UL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
+#define YPLD_REG_DBG_OUT_DATA_E5 0x5c1620UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define YPLD_REG_DBG_OUT_DATA_SIZE 8
-#define YPLD_REG_DBG_OUT_VALID_E5 0x5b1640UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define YPLD_REG_DBG_OUT_FRAME_E5 0x5b1644UL //Access:R DataWidth:0x4 // Dbgmux output frame
-#define YPLD_REG_FIC_INPUT_FIFO_E5 0x5b2000UL //Access:WB DataWidth:0x80 // Access to input FIC FIFO
+#define YPLD_REG_DBG_OUT_VALID_E5 0x5c1640UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define YPLD_REG_DBG_OUT_FRAME_E5 0x5c1644UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
+#define YPLD_REG_FIC_INPUT_FIFO_E5 0x5c2000UL //Access:WB DataWidth:0x80 // Access to input FIC FIFO
#define YPLD_REG_FIC_INPUT_FIFO_SIZE 176
-#define YPLD_REG_QUEUE_MSG_MEM_E5 0x5c0000UL //Access:WB DataWidth:0x80 // Debug access to The message queue memory.
+#define YPLD_REG_QUEUE_MSG_MEM_E5 0x5d0000UL //Access:WB DataWidth:0x80 // Debug access to The message queue memory.
#define YPLD_REG_QUEUE_MSG_MEM_SIZE 7500
#define WOL_REG_INT_STS_0_K2_E5 0x600040UL //Access:R DataWidth:0x1 // Multi Field Register.
#define WOL_REG_INT_STS_0_ADDRESS_ERROR_K2_E5 (0x1<<0) // Signals an unknown address to the RF module.
@@ -60111,56 +62171,56 @@
#define WOL_REG_DBG_OUT_DATA_SIZE 8
#define WOL_REG_DBG_OUT_VALID_K2_E5 0x600180UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
#define WOL_REG_DBG_OUT_FRAME_K2_E5 0x600184UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
-#define WOL_REG_PRTY_MASK_H_0_K2 0x600204UL //Access:RW DataWidth:0x18 // Multi Field Register.
- #define WOL_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_SHIFT 0
- #define WOL_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2_SHIFT 1
- #define WOL_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_SHIFT 2
- #define WOL_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_SHIFT 3
- #define WOL_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_SHIFT 4
- #define WOL_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2_SHIFT 5
- #define WOL_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_SHIFT 6
- #define WOL_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_SHIFT 7
- #define WOL_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_K2_SHIFT 8
- #define WOL_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_SHIFT 9
- #define WOL_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_SHIFT 10
- #define WOL_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_SHIFT 11
- #define WOL_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_SHIFT 12
- #define WOL_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2_SHIFT 13
- #define WOL_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_SHIFT 14
- #define WOL_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2 (0x1<<15) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_SHIFT 15
- #define WOL_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_SHIFT 16
- #define WOL_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_SHIFT 17
- #define WOL_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_K2_SHIFT 18
- #define WOL_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2_SHIFT 19
- #define WOL_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_SHIFT 20
- #define WOL_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_SHIFT 21
- #define WOL_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_SHIFT 22
- #define WOL_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2 (0x1<<23) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
- #define WOL_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_SHIFT 23
-#define WOL_REG_MEM_ECC_EVENTS_K2 0x600210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define WOL_REG_PRTY_MASK_H_0_K2_E5 0x600204UL //Access:RW DataWidth:0x18 // Multi Field Register.
+ #define WOL_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_E5 (0x1<<0) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_E5_SHIFT 0
+ #define WOL_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2_E5 (0x1<<1) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2_E5_SHIFT 1
+ #define WOL_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_E5 (0x1<<2) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_E5_SHIFT 2
+ #define WOL_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_E5 (0x1<<3) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_E5_SHIFT 3
+ #define WOL_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_E5 (0x1<<4) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_E5_SHIFT 4
+ #define WOL_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2_E5 (0x1<<5) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2_E5_SHIFT 5
+ #define WOL_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_E5 (0x1<<6) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_E5_SHIFT 6
+ #define WOL_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_E5 (0x1<<7) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_E5_SHIFT 7
+ #define WOL_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_K2_E5 (0x1<<8) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_K2_E5_SHIFT 8
+ #define WOL_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_E5 (0x1<<9) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_E5_SHIFT 9
+ #define WOL_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_E5 (0x1<<10) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_E5_SHIFT 10
+ #define WOL_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_E5 (0x1<<11) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_E5_SHIFT 11
+ #define WOL_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_E5 (0x1<<12) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_E5_SHIFT 12
+ #define WOL_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2_E5 (0x1<<13) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2_E5_SHIFT 13
+ #define WOL_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_E5 (0x1<<14) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_E5_SHIFT 14
+ #define WOL_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_E5 (0x1<<15) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_E5_SHIFT 15
+ #define WOL_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_E5 (0x1<<16) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_E5_SHIFT 16
+ #define WOL_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_E5 (0x1<<17) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_E5_SHIFT 17
+ #define WOL_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_K2_E5 (0x1<<18) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_K2_E5_SHIFT 18
+ #define WOL_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2_E5 (0x1<<19) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2_E5_SHIFT 19
+ #define WOL_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_E5 (0x1<<20) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_E5_SHIFT 20
+ #define WOL_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_E5 (0x1<<21) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_E5_SHIFT 21
+ #define WOL_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_E5 (0x1<<22) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_E5_SHIFT 22
+ #define WOL_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_E5 (0x1<<23) // This bit masks, when set, the Parity bit: WOL_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define WOL_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_E5_SHIFT 23
+#define WOL_REG_MEM_ECC_EVENTS_K2_E5 0x600210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define WOL_REG_ACPI_TAG_RM_K2_E5 0x608000UL //Access:RW DataWidth:0x8 // This is a per-port per-PF register. L2 tag removal configuration for ACPI. Bit mapped as follow: bit 0: 5 - L2 tags 0 to 5. Bit 6 is reserved and should be set to 0. Bit 7 is for LLC/SNAP. Set these bits to 1's to enable the removal of the corresponding tag when it is present in the packet. Clear the bit to keep the tag in the packet.
#define WOL_REG_UPON_MGMT_K2_E5 0x608004UL //Access:RW DataWidth:0x1 // Set this bit to enable ACPI and TCP SYN matching even when the packet is forwarded to MCP. Clear this bit to disable ACPI and TCP SYN matching when the packet is forwarded to MCP.
#define WOL_REG_ACPI_BE_MEM_K2_E5 0x608080UL //Access:WB DataWidth:0x100 // This is a per-port per-PF register. Byte enable memory for 8 ACPI patterns.
@@ -60342,8 +62402,8 @@
#define PHY_PCIE_REG_DBG_STATUS_K2_E5 0x62802cUL //Access:R DataWidth:0x5 //
#define PHY_PCIE_REG_DBG_OUT_DATA_K2_E5 0x629fc0UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define PHY_PCIE_REG_DBG_OUT_DATA_SIZE 8
-#define PHY_PCIE_REG_DBG_OUT_VALID_K2_E5 0x629fe0UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define PHY_PCIE_REG_DBG_OUT_FRAME_K2_E5 0x629fe4UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define PHY_PCIE_REG_DBG_OUT_VALID_K2_E5 0x629fe0UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define PHY_PCIE_REG_DBG_OUT_FRAME_K2_E5 0x629fe4UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define PHY_PCIE_REG_DBG_SELECT_K2_E5 0x629fe8UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define PHY_PCIE_REG_DBG_DWORD_ENABLE_K2_E5 0x629fecUL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define PHY_PCIE_REG_DBG_SHIFT_K2_E5 0x629ff0UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -60423,8 +62483,8 @@
#define MS_REG_INT_STS_CLR_ADDRESS_ERROR_K2_E5_SHIFT 0
#define MS_REG_DBG_OUT_DATA_K2_E5 0x6a0200UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define MS_REG_DBG_OUT_DATA_SIZE 8
-#define MS_REG_DBG_OUT_VALID_K2_E5 0x6a0220UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define MS_REG_DBG_OUT_FRAME_K2_E5 0x6a0224UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define MS_REG_DBG_OUT_VALID_K2_E5 0x6a0220UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define MS_REG_DBG_OUT_FRAME_K2_E5 0x6a0224UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define MS_REG_DBG_SELECT_K2_E5 0x6a0228UL //Access:RW DataWidth:0x8 // DBMUX register for selecting a line to output
#define MS_REG_DBG_DWORD_ENABLE_K2_E5 0x6a022cUL //Access:RW DataWidth:0x4 // DBMUX register. Bit mask for enabling dword (128bit line) / qword (256bit line) in the selected line (before shift).for selecting a line to output
#define MS_REG_DBG_SHIFT_K2_E5 0x6a0230UL //Access:RW DataWidth:0x2 // DBMUX register. Circular dword (128bit line) / qword (256bit line) right shifting of the selected line (after the masking).
@@ -61673,8 +63733,8 @@
#define NWM_REG_DBG_FORCE_FRAME_K2_E5 0x8000fcUL //Access:RW DataWidth:0x4 // DBMUX register. bit mask for forcing the frame signal per dword (128bit line) / qword (256bit line) (before shift).
#define NWM_REG_DBG_OUT_DATA_K2_E5 0x800100UL //Access:WB_R DataWidth:0x100 // Dbgmux output data
#define NWM_REG_DBG_OUT_DATA_SIZE 8
-#define NWM_REG_DBG_OUT_VALID_K2_E5 0x800120UL //Access:R DataWidth:0x4 // Dbgmux output valid
-#define NWM_REG_DBG_OUT_FRAME_K2_E5 0x800124UL //Access:R DataWidth:0x4 // Dbgmux output frame
+#define NWM_REG_DBG_OUT_VALID_K2_E5 0x800120UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
+#define NWM_REG_DBG_OUT_FRAME_K2_E5 0x800124UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
#define NWM_REG_PRTY_MASK_H_0_K2_E5 0x800204UL //Access:RW DataWidth:0x1f // Multi Field Register.
#define NWM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_E5 (0x1<<0) // This bit masks, when set, the Parity bit: NWM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
#define NWM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_E5_SHIFT 0
@@ -61856,6 +63916,10 @@
#define NWM_REG_PCS_HS3_K2_E5 0x900000UL //Access:RW DataWidth:0x10 // Register space for 10/25G PCS port 3. Registers defined in pcs1025.1.0.xml
#define NWM_REG_PCS_HS3_SIZE 65536
#define PBF_REG_INIT 0xd80000UL //Access:RW DataWidth:0x1 // Init bit. When set the initial credits are copied to the credit registers (except the port credits). Should be set and then reset after the configuration of the block has ended.
+#define PBF_REG_SAL_CACHE_INIT_E5 0xd80004UL //Access:W DataWidth:0x1 // Any write to this register triggers SAL Cache initialization.
+#define PBF_REG_SAL_CACHE_INIT_DONE_E5 0xd80008UL //Access:R DataWidth:0x1 // Set when the cache initialization is complete.
+#define PBF_REG_SAL_CAM_SCRUB_HIT_EN_E5 0xd8000cUL //Access:RW DataWidth:0x1 // When set to 1 the cam hit parity scrubbing feature is enabled in the SAL cache CAM.
+#define PBF_REG_SAL_CAM_SCRUB_MISS_EN_E5 0xd80010UL //Access:RW DataWidth:0x1 // When set to 1 the cam miss parity scrubbing feature is enabled in the SAL cache CAM.
#define PBF_REG_IF_ENABLE_REG 0xd80040UL //Access:RW DataWidth:0x16 // Multi Field Register.
#define PBF_REG_IF_ENABLE_REG_DORQ_IF_ENABLE (0x1<<0) // Enables the dorq interface.
#define PBF_REG_IF_ENABLE_REG_DORQ_IF_ENABLE_SHIFT 0
@@ -62226,22 +64290,22 @@
#define PBF_REG_TAG_ETHERTYPE_1 0xd80484UL //Access:RW DataWidth:0x10 // The Ethernet type value for L2 tag 1.
#define PBF_REG_TAG_ETHERTYPE_2 0xd80488UL //Access:RW DataWidth:0x10 // The Ethernet type value for L2 tag 2.
#define PBF_REG_TAG_ETHERTYPE_3 0xd8048cUL //Access:RW DataWidth:0x10 // The Ethernet type value for L2 tag 3.
-#define PBF_REG_TAG_ETHERTYPE_4 0xd80490UL //Access:RW DataWidth:0x10 // The Ethernet type value for L2 tag 4.
-#define PBF_REG_TAG_ETHERTYPE_5 0xd80494UL //Access:RW DataWidth:0x10 // The Ethernet type value for L2 tag 5.
+#define PBF_REG_TAG_ETHERTYPE_4_BB_K2 0xd80490UL //Access:RW DataWidth:0x10 // The Ethernet type value for L2 tag 4.
+#define PBF_REG_TAG_ETHERTYPE_5_BB_K2 0xd80494UL //Access:RW DataWidth:0x10 // The Ethernet type value for L2 tag 5.
#define PBF_REG_TAG_LEN_0 0xd80498UL //Access:RW DataWidth:0x3 // The length of the info field for L2 tag 0. The length is between 2B and 14B; in 2B granularity.
#define PBF_REG_TAG_LEN_1 0xd8049cUL //Access:RW DataWidth:0x3 // The length of the info field for L2 tag 1. The length is between 2B and 14B; in 2B granularity.
#define PBF_REG_TAG_LEN_2 0xd804a0UL //Access:RW DataWidth:0x3 // The length of the info field for L2 tag 2. The length is between 2B and 14B; in 2B granularity.
#define PBF_REG_TAG_LEN_3 0xd804a4UL //Access:RW DataWidth:0x3 // The length of the info field for L2 tag 3. The length is between 2B and 14B; in 2B granularity.
-#define PBF_REG_TAG_LEN_4 0xd804a8UL //Access:RW DataWidth:0x3 // The length of the info field for L2 tag 4. The length is between 2B and 14B; in 2B granularity.
-#define PBF_REG_TAG_LEN_5 0xd804acUL //Access:RW DataWidth:0x3 // The length of the info field for L2 tag 5. The length is between 2B and 14B; in 2B granularity.
+#define PBF_REG_TAG_LEN_4_BB_K2 0xd804a8UL //Access:RW DataWidth:0x3 // The length of the info field for L2 tag 4. The length is between 2B and 14B; in 2B granularity.
+#define PBF_REG_TAG_LEN_5_BB_K2 0xd804acUL //Access:RW DataWidth:0x3 // The length of the info field for L2 tag 5. The length is between 2B and 14B; in 2B granularity.
#define PBF_REG_FIRST_HDR_HDRS_AFTER_BASIC 0xd804b0UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after the basic Ethernet header on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
#define PBF_REG_FIRST_HDR_HDRS_AFTER_LLC 0xd804b4UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after the LLC header on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
#define PBF_REG_FIRST_HDR_HDRS_AFTER_TAG_0 0xd804b8UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _0 on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
#define PBF_REG_FIRST_HDR_HDRS_AFTER_TAG_1 0xd804bcUL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _1 on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
#define PBF_REG_FIRST_HDR_HDRS_AFTER_TAG_2 0xd804c0UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _2 on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
#define PBF_REG_FIRST_HDR_HDRS_AFTER_TAG_3 0xd804c4UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _3 on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
-#define PBF_REG_FIRST_HDR_HDRS_AFTER_TAG_4 0xd804c8UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _4 on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
-#define PBF_REG_FIRST_HDR_HDRS_AFTER_TAG_5 0xd804ccUL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _5 on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
+#define PBF_REG_FIRST_HDR_HDRS_AFTER_TAG_4_BB_K2 0xd804c8UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _4 on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
+#define PBF_REG_FIRST_HDR_HDRS_AFTER_TAG_5_BB_K2 0xd804ccUL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _5 on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
#define PBF_REG_FIRST_HDR_MUST_HAVE_HDRS 0xd804d0UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which headers must appear in the packet on this port. This applies to the tunnel header in encapsulated packets or to the regular header of non-encapsulated packets.
#define PBF_REG_INNER_HDR_HDRS_AFTER_BASIC 0xd804d4UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after the basic Ethernet header on this port. Applicable only on encapsulated packets and refers to the inner (encapsulated) header.
#define PBF_REG_INNER_HDR_HDRS_AFTER_LLC 0xd804d8UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after the LLC header on this port. Applicable only on encapsulated packets and refers to the inner (encapsulated) header.
@@ -62249,8 +64313,8 @@
#define PBF_REG_INNER_HDR_HDRS_AFTER_TAG_1 0xd804e0UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _1 on this port. Applicable only on encapsulated packets and refers to the inner (encapsulated) header.
#define PBF_REG_INNER_HDR_HDRS_AFTER_TAG_2 0xd804e4UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _2 on this port. Applicable only on encapsulated packets and refers to the inner (encapsulated) header.
#define PBF_REG_INNER_HDR_HDRS_AFTER_TAG_3 0xd804e8UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _3 on this port. Applicable only on encapsulated packets and refers to the inner (encapsulated) header.
-#define PBF_REG_INNER_HDR_HDRS_AFTER_TAG_4 0xd804ecUL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _4 on this port. Applicable only on encapsulated packets and refers to the inner (encapsulated) header.
-#define PBF_REG_INNER_HDR_HDRS_AFTER_TAG_5 0xd804f0UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _5 on this port. Applicable only on encapsulated packets and refers to the inner (encapsulated) header.
+#define PBF_REG_INNER_HDR_HDRS_AFTER_TAG_4_BB_K2 0xd804ecUL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _4 on this port. Applicable only on encapsulated packets and refers to the inner (encapsulated) header.
+#define PBF_REG_INNER_HDR_HDRS_AFTER_TAG_5_BB_K2 0xd804f0UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which L2 hdrs may appear after L2 tag _5 on this port. Applicable only on encapsulated packets and refers to the inner (encapsulated) header.
#define PBF_REG_INNER_HDR_MUST_HAVE_HDRS 0xd804f4UL //Access:RW DataWidth:0x8 // Per-port: Bit-map indicating which headers must appear in the packet on this port. Applicable only on encapsulated packets and refers to the inner (encapsulated) header.
#define PBF_REG_LLC_TYPE_THRESHOLD 0xd804f8UL //Access:RW DataWidth:0x10 // Upper value of LLC Ethertype range.
#define PBF_REG_LLC_JUMBO_TYPE 0xd804fcUL //Access:RW DataWidth:0x10 // Jumbo value of LLC Ethertype.
@@ -62265,50 +64329,50 @@
#define PBF_REG_NGE_ETH_TYPE 0xd80520UL //Access:RW DataWidth:0x10 // Ethertype for encapsulated ethernet used in NGE header parsing.
#define PBF_REG_NGE_COMP_VER 0xd80524UL //Access:RW DataWidth:0x1 // Per-port: Flag to compare the value of nge version to 2'b00.
#define PBF_REG_SAME_AS_LAST_CONFIG_E5 0xd80528UL //Access:RW DataWidth:0x13 // Multi Field Register.
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_EN_E5 (0x1<<0) // When High, it enables the Same as Last operation.
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_EN_E5_SHIFT 0
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_RESET_TCAM_ENTRIES_E5 (0x1<<1) // When high, it resets all tcam entries to invalid state
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_RESET_TCAM_ENTRIES_E5_SHIFT 1
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_RESET_PLRU_E5 (0x1<<2) // When high, it resets the PLRU bits
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_RESET_PLRU_E5_SHIFT 2
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_FIRSTVLAN_EN_E5 (0x1<<3) // Enables inclusion of the First VLAN ID in lookup tuple. If disabled, zero assigned to this VLAN ID field
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_FIRSTVLAN_EN_E5_SHIFT 3
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_FIRSTMAC_EN_E5 (0x1<<4) // Enables inclusion of the First Destination MAC in lookup tuple. If disabled, zero assigned to this MAC field
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_FIRSTMAC_EN_E5_SHIFT 4
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_INNER_VLAN_EN_E5 (0x1<<5) // Enables inclusion of the inner VLAN ID in lookup tuple. If disabled, zero assigned to this VLAN ID field
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_INNER_VLAN_EN_E5_SHIFT 5
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_INNER_SRCMAC_EN_E5 (0x3<<6) // Enables inclusion of the Inner Mac in lookup tuple, and has following options: 0: None, the corresponding field in tuple is 0 1: Source MAC address, the corresponding field in the tuple will include the source MAC address of the first MAC header in the packet 2: Inner destination MAC address. The corresponding field in the tuple will include the inner MAC header destination MAC address
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_INNER_SRCMAC_EN_E5_SHIFT 6
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TUNNEL_TYPE_EN_E5 (0x1<<8) // Enables inclusion of Tunnel Type in lookup tuple. If disabled, zero assigned for this field
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TUNNEL_TYPE_EN_E5_SHIFT 8
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TUNNEL_ID_EN_E5 (0x1<<9) // Enables inclusion of Tunnel ID in lookup tuple. If disabled, zero assigned for this field
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TUNNEL_ID_EN_E5_SHIFT 9
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TUNNEL_ID_EXIST_EN_E5 (0x1<<10) // Enables inclusion of Tunnel ID Exist bit in lookup tuple. If disabled, zero assigned for this field
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TUNNEL_ID_EXIST_EN_E5_SHIFT 10
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_ID_BYTE_OFFSET_E5 (0x1f<<11) // Byte offset for vport id to be obtained from Y2P message
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_ID_BYTE_OFFSET_E5_SHIFT 11
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_ID_CYCLE_OFFSET_E5 (0x7<<16) // Cycle offset for vport id to be obtained from Y2P message
- #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_ID_CYCLE_OFFSET_E5_SHIFT 16
-#define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_E5 0xd8052cUL //Access:RW DataWidth:0x1a // Multi Field Register.
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_1_LENGTH_E5 (0x7<<0) // Length in bytes to be extracted from PBF2TGFS message for Flexible Field 1 in the tuple
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_1_LENGTH_E5_SHIFT 0
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_1_CYCLE_OFFSET_E5 (0x1f<<3) // Cycle offset for the field extracted from PBF2TGFS message for Flexible Field 1 in the tuple
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_1_CYCLE_OFFSET_E5_SHIFT 3
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_1_BYTE_OFFSET_E5 (0x1f<<8) // Byte offset for the field extracted from PBF2TGFS message for Flexible Field 1 in the tuple
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_1_BYTE_OFFSET_E5_SHIFT 8
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_2_LENGTH_E5 (0x7<<13) // Length in bytes to be extracted from PBF2TGFS message for Flexible Field 2 in the tuple
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_2_LENGTH_E5_SHIFT 13
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_2_CYCLE_OFFSET_E5 (0x1f<<16) // Cycle offset for the field extracted from PBF2TGFS message for Flexible Field 2 in the tuple
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_2_CYCLE_OFFSET_E5_SHIFT 16
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_2_BYTE_OFFSET_E5 (0x1f<<21) // Byte offset for the field extracted from PBF2TGFS message for Flexible Field 2 in the tuple
- #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_FLEX_FIELD_2_BYTE_OFFSET_E5_SHIFT 21
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_RESET_CACHE_AND_PLRU_E5 (0x1<<0) // When high, it resets plru bits and invalidates all entries in the cache
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_RESET_CACHE_AND_PLRU_E5_SHIFT 0
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_EN_E5 (0x1<<1) // Enables inclusion of the VPORT ID in lookup tuple. If disabled, zero assigned to this VPORT ID field.
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_EN_E5_SHIFT 1
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_FIRSTVLAN_EN_E5 (0x1<<2) // Enables inclusion of the First VLAN ID in lookup tuple. If disabled, zero assigned to this VLAN ID field
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_FIRSTVLAN_EN_E5_SHIFT 2
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_FIRSTMAC_EN_E5 (0x1<<3) // Enables inclusion of the First Destination MAC in lookup tuple. If disabled, zero assigned to this MAC field
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_FIRSTMAC_EN_E5_SHIFT 3
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_INNER_VLAN_EN_E5 (0x1<<4) // Enables inclusion of the inner VLAN ID in lookup tuple. If disabled, zero assigned to this VLAN ID field
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_INNER_VLAN_EN_E5_SHIFT 4
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_INNER_SRCMAC_EN_E5 (0x3<<5) // Enables inclusion of the Inner Mac in lookup tuple, and has following options: 0: None, the corresponding field in tuple is 0 1: Source MAC address, the corresponding field in the tuple will include the source MAC address of the first MAC header in the packet 2: Inner destination MAC address. The corresponding field in the tuple will include the inner MAC header destination MAC address
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_INNER_SRCMAC_EN_E5_SHIFT 5
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TUNNEL_EXT_TYPE_EN_E5 (0x1<<7) // Enables inclusion of Tunnel Extended Type in lookup tuple. If disabled, zero assigned for this field
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TUNNEL_EXT_TYPE_EN_E5_SHIFT 7
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TENANT_ID_EN_E5 (0x1<<8) // Enables inclusion of Tenant ID in lookup tuple. If disabled, zero assigned for this field
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TENANT_ID_EN_E5_SHIFT 8
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TENANT_ID_EXIST_EN_E5 (0x1<<9) // Enables inclusion of Tenant ID Exist bit in lookup tuple. If disabled, zero assigned for this field
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_TENANT_ID_EXIST_EN_E5_SHIFT 9
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_ID_BYTE_OFFSET_E5 (0xf<<10) // Byte offset for vport id to be obtained from Y2P message
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_ID_BYTE_OFFSET_E5_SHIFT 10
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_ID_REGQ_OFFSET_E5 (0x1f<<14) // REGQ offset for vport id to be obtained from Y2P message
+ #define PBF_REG_SAME_AS_LAST_CONFIG_SAL_VPORT_ID_REGQ_OFFSET_E5_SHIFT 14
+#define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_E5 0xd8052cUL //Access:RW DataWidth:0x1b // Multi Field Register.
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_UPPER_BYTES_E5 (0x7<<0) // Byte count for the upper flex field extracted from PBF2TGFS message. A value of 0 indicates a length of 8 bytes
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_UPPER_BYTES_E5_SHIFT 0
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_UPPER_BYTE_OFFSET_E5 (0xf<<3) // Byte offset (within the selected REGQ and Block) for the upper flex field extracted from PBF2TGFS message
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_UPPER_BYTE_OFFSET_E5_SHIFT 3
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_UPPER_REGQ_OFFSET_E5 (0x1f<<7) // RegQ offset (within the selected Block) for the upper flex field extracted from PBF2TGFS message. A value of 0 selects the 1st REGQ of the selected block.
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_UPPER_REGQ_OFFSET_E5_SHIFT 7
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_UPPER_BLOCK_ID_E5 (0x7<<12) // Block ID for the upper flex field extracted from PBF2TGFS message. 0: Basic Parsing Info; 1: Raw L3/L4; 2: Extended Tunnel Info; 3: Extracted Header 4: Y2P message (including header); 5: GFS Header 6: Segmentation info
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_UPPER_BLOCK_ID_E5_SHIFT 12
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_LOWER_BYTE_OFFSET_E5 (0xf<<15) // Byte offset (within the selected REGQ and Block) for the lower flex field extracted from PBF2TGFS message. NOTE: The lower flex field is used only if sal_flex_upper_bytes is not 0, and number of bytes selected = 8 - sal_flex_upper_bytes
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_LOWER_BYTE_OFFSET_E5_SHIFT 15
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_LOWER_REGQ_OFFSET_E5 (0x1f<<19) // RegQ offset (within the selected Block) for the lower flex field extracted from PBF2TGFS message. A value of 0 selects the first REGQ
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_LOWER_REGQ_OFFSET_E5_SHIFT 19
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_LOWER_BLOCK_ID_E5 (0x7<<24) // Block ID for the lower flex field extracted from PBF2TGFS message. 0: Basic Parsing Info; 1: Raw L3/L4; 2: Extended Tunnel Info; 3: Extracted Header 4: Y2P message (including header); 5: GFS Header 6: Segmentation info
+ #define PBF_REG_SAME_AS_LAST_FLEX_FIELD_CONFIG_SAL_FLEX_LOWER_BLOCK_ID_E5_SHIFT 24
#define PBF_REG_SAL_FLEX_MASK_0_E5 0xd80530UL //Access:RW DataWidth:0x20 // Masks 64 bit Flexible field used for Same-as-last lookup. A 0 in each bit masks the corresponding key bit to 0
#define PBF_REG_SAL_FLEX_MASK_1_E5 0xd80534UL //Access:RW DataWidth:0x20 // Masks 64 bit Flexible field used for Same-as-last lookup. A 0 in each bit masks the corresponding key bit to 0
#define PBF_REG_NUM_HITS_IN_SAL_E5 0xd80538UL //Access:ST DataWidth:0x38 // Number of hits in Same as Last Lookup
#define PBF_REG_NUM_HITS_IN_SAL_SIZE 2
#define PBF_REG_NUM_LOOKUPS_IN_SAL_E5 0xd80540UL //Access:ST DataWidth:0x38 // Number of lookup requests for Same as Last Lookup
#define PBF_REG_NUM_LOOKUPS_IN_SAL_SIZE 2
-#define PBF_REG_PROP_HDR_SIZE 0xd80580UL //Access:RW DataWidth:0x3 // PORT SPLIT. Size of the Propriatery/HiGig header. (in 4B increments). If HiGig is disabled this value should be 0.
+#define PBF_REG_PROP_HDR_SIZE_BB_K2 0xd80580UL //Access:RW DataWidth:0x3 // PORT SPLIT. Size of the Propriatery/HiGig header. (in 4B increments). If HiGig is disabled this value should be 0.
#define PBF_REG_REGULAR_INBAND_TAG_ORDER 0xd80584UL //Access:RW DataWidth:0x1c // The regular inband TAG order. Reset value is in the order from left to right: tag0; tag1; tag2; tag3; tag4; tag5; llc-snap.
#define PBF_REG_T_TAG_TAGNUM 0xd80588UL //Access:RW DataWidth:0x4 // Per-Port: Specifies the flexible L2 tag to be used for T-tag. The MSB enables T-tag recognition.
#define PBF_REG_DST_MAC_GLOBAL_0 0xd8058cUL //Access:RW DataWidth:0x20 // Global destination address match value.
@@ -62318,6 +64382,18 @@
#define PBF_REG_UDP_DST_PORT_CFG_0 0xd8059cUL //Access:RW DataWidth:0x10 // UDP destination port configuration 0 for match check.
#define PBF_REG_UDP_DST_PORT_CFG_1 0xd805a0UL //Access:RW DataWidth:0x10 // UDP destination port configuration 1 for match check.
#define PBF_REG_UDP_DST_PORT_CFG_2 0xd805a4UL //Access:RW DataWidth:0x10 // UDP destination port configuration 2 for match check.
+#define PBF_REG_EVENT_ID_MASK_CONFIG_E5 0xd805a8UL //Access:RW DataWidth:0x16 // Multi Field Register.
+ #define PBF_REG_EVENT_ID_MASK_CONFIG_EVENTID_ERR_FLG_MASK_E5 (0xffff<<0) // Mask for Error flags in Event ID modification logic. Setting to 1 selects or unmasks the condition. Bit 0 of this mask corresponds to Parsing Error Bit 0.
+ #define PBF_REG_EVENT_ID_MASK_CONFIG_EVENTID_ERR_FLG_MASK_E5_SHIFT 0
+ #define PBF_REG_EVENT_ID_MASK_CONFIG_EVENTID_FIRST_GLB_DST_MAC_MATCH_MASK_E5 (0x1<<16) // Mask for First Global Destination Mac Address Match in Event ID modification logic. Setting to 1 selects or unmasks the condition.
+ #define PBF_REG_EVENT_ID_MASK_CONFIG_EVENTID_FIRST_GLB_DST_MAC_MATCH_MASK_E5_SHIFT 16
+ #define PBF_REG_EVENT_ID_MASK_CONFIG_EVENTID_PRS_RES_MASK_E5 (0x1f<<17) // Mask for Parsing Result in Event ID modification logic. Setting to 1 selects or unmasks the condition. Bit 0 of this mask corresponds to Parsing Result Code 0.
+ #define PBF_REG_EVENT_ID_MASK_CONFIG_EVENTID_PRS_RES_MASK_E5_SHIFT 17
+#define PBF_REG_EVENT_ID_L2_TAGS_EXIST_MASK_CONFIG_E5 0xd805acUL //Access:RW DataWidth:0x10 // Multi Field Register.
+ #define PBF_REG_EVENT_ID_L2_TAGS_EXIST_MASK_CONFIG_EVENTID_FIRST_L2_TAGS_EXIST_MASK_E5 (0xff<<0) // Mask for First L2 Tags Exist field in Event ID modification logic. Setting to 1 selects or unmasks the condition. Bit 0 of this mask corresponds to First L2 Tag Exist Bit 0.
+ #define PBF_REG_EVENT_ID_L2_TAGS_EXIST_MASK_CONFIG_EVENTID_FIRST_L2_TAGS_EXIST_MASK_E5_SHIFT 0
+ #define PBF_REG_EVENT_ID_L2_TAGS_EXIST_MASK_CONFIG_EVENTID_INNER_L2_TAGS_EXIST_MASK_E5 (0xff<<8) // Mask for Inner L2 Tags Exist field in Event ID modification logic. Setting to 1 selects or unmasks the condition. Bit 0 of this mask corresponds to Inner L2 Tag Exist Bit 0.
+ #define PBF_REG_EVENT_ID_L2_TAGS_EXIST_MASK_CONFIG_EVENTID_INNER_L2_TAGS_EXIST_MASK_E5_SHIFT 8
#define PBF_REG_BTB_SHARED_AREA_SIZE 0xd805c0UL //Access:RW DataWidth:0xb // Number of shared BTB 256 byte blocks which can be used by all TC-s in the port.
#define PBF_REG_BTB_ALLOCATED_BLOCKS_SHARED 0xd805c4UL //Access:R DataWidth:0xc // Number of blocks that are currently allocated in the shared area of the port.
#define PBF_REG_JUMBO_PKT_THRSH 0xd805c8UL //Access:RW DataWidth:0x6 // Jumbo packet threshold in 256 byte blocks to determine if a TC can use the BTB shared area.
@@ -62341,14 +64417,15 @@
#define PBF_REG_TCM_SND_NXT_REG_OFFSET 0xd80634UL //Access:RW DataWidth:0x4 // Update mode for the URG flag
#define PBF_REG_PCI_VQ_ID 0xd80640UL //Access:RW DataWidth:0x5 // PCI VOQ ID used in read request to PCI.
#define PBF_REG_DROP_PKT_UPON_ERR 0xd80644UL //Access:RW DataWidth:0x1 // if set, packets with a PCIE/DIF error will be sent to BTB with a drop indication, otherwise will be sent with an error indication.
-#define PBF_REG_PER_VOQ_STAT_MASK 0xd80658UL //Access:RW DataWidth:0x14 // per VOQ indication if it should be accounted for in bytes/packet statistics
+#define PBF_REG_PER_VOQ_STAT_MASK 0xd80658UL //Access:RW DataWidth:0x20 // per VOQ indication if it should be accounted for in bytes/packet statistics Note: This does not include LB queues
#define PBF_REG_NUM_PKTS_SENT_TO_BTB 0xd8065cUL //Access:RC DataWidth:0x20 // Number of packets sent to BTB
#define PBF_REG_NUM_BYTES_SENT_TO_BTB 0xd80660UL //Access:ST DataWidth:0x30 // Number of bytes sent to BTB
#define PBF_REG_NUM_BYTES_SENT_TO_BTB_SIZE 2
#define PBF_REG_NUM_PKTS_RECEIVED_WITH_ERROR 0xd80668UL //Access:RC DataWidth:0x8 // Number of packets received with error indication from PXP/TDIF
#define PBF_REG_NUM_PKTS_SENT_WITH_ERROR_TO_BTB 0xd8066cUL //Access:RC DataWidth:0x8 // Number of packets sent to BTB with error indication
#define PBF_REG_NUM_PKTS_SENT_WITH_DROP_TO_BTB 0xd80670UL //Access:RC DataWidth:0x8 // Number of packets sent to BTB with drop indication
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ0 0xd806a0UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 0.
+#define PBF_REG_PER_VOQ_STAT_MASK_LOOPBACK_E5 0xd80674UL //Access:RW DataWidth:0x4 // per VOQ indication if it should be accounted for in bytes/packet statistics Note: This is exclusively for LB queues
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ0 0xd806a0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 0.
#define PBF_REG_YCMD_QS_THRSH_VOQ0 0xd806a4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 0 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ0 0xd806a8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 0 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ0 0xd806acUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 0 from YSTORM.
@@ -62366,7 +64443,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ0 0xd806c4UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 0 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ0 0xd806c8UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 0. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ0 0xd806ccUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 0. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ1 0xd806e0UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 1.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ1 0xd806e0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 1.
#define PBF_REG_YCMD_QS_THRSH_VOQ1 0xd806e4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 1 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ1 0xd806e8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 1 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ1 0xd806ecUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 1 from YSTORM.
@@ -62384,7 +64461,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ1 0xd80704UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 1 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ1 0xd80708UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 1. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ1 0xd8070cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 1. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ2 0xd80720UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 2.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ2 0xd80720UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 2.
#define PBF_REG_YCMD_QS_THRSH_VOQ2 0xd80724UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 2 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ2 0xd80728UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 2 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ2 0xd8072cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 2 from YSTORM.
@@ -62402,7 +64479,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ2 0xd80744UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 2 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ2 0xd80748UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 2. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ2 0xd8074cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 2. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ3 0xd80760UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 3.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ3 0xd80760UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 3.
#define PBF_REG_YCMD_QS_THRSH_VOQ3 0xd80764UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 3 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ3 0xd80768UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 3 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ3 0xd8076cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 3 from YSTORM.
@@ -62420,7 +64497,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ3 0xd80784UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 3 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ3 0xd80788UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 3. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ3 0xd8078cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 3. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ4 0xd807a0UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 4.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ4 0xd807a0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 4.
#define PBF_REG_YCMD_QS_THRSH_VOQ4 0xd807a4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 4 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ4 0xd807a8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 4 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ4 0xd807acUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 4 from YSTORM.
@@ -62438,7 +64515,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ4 0xd807c4UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 4 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ4 0xd807c8UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 4. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ4 0xd807ccUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 4. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ5 0xd807e0UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 5.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ5 0xd807e0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 5.
#define PBF_REG_YCMD_QS_THRSH_VOQ5 0xd807e4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 5 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ5 0xd807e8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 5 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ5 0xd807ecUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 5 from YSTORM.
@@ -62456,7 +64533,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ5 0xd80804UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 5 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ5 0xd80808UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 5. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ5 0xd8080cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 5. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ6 0xd80820UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 6.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ6 0xd80820UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 6.
#define PBF_REG_YCMD_QS_THRSH_VOQ6 0xd80824UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 6 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ6 0xd80828UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 6 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ6 0xd8082cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 6 from YSTORM.
@@ -62474,7 +64551,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ6 0xd80844UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 6 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ6 0xd80848UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 6. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ6 0xd8084cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 6. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ7 0xd80860UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 7.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ7 0xd80860UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 7.
#define PBF_REG_YCMD_QS_THRSH_VOQ7 0xd80864UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 7 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ7 0xd80868UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 7 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ7 0xd8086cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 7 from YSTORM.
@@ -62492,7 +64569,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ7 0xd80884UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 7 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ7 0xd80888UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 7. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ7 0xd8088cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 7. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ8 0xd808a0UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 8.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ8 0xd808a0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 8.
#define PBF_REG_YCMD_QS_THRSH_VOQ8 0xd808a4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 8 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ8 0xd808a8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 8 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ8 0xd808acUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 8 from YSTORM.
@@ -62510,7 +64587,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ8 0xd808c4UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 8 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ8 0xd808c8UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 8. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ8 0xd808ccUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 8. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ9 0xd808e0UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 9.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ9 0xd808e0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 9.
#define PBF_REG_YCMD_QS_THRSH_VOQ9 0xd808e4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 9 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ9 0xd808e8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 9 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ9 0xd808ecUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 9 from YSTORM.
@@ -62528,7 +64605,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ9 0xd80904UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 9 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ9 0xd80908UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 9. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ9 0xd8090cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 9. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ10 0xd80920UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 10.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ10 0xd80920UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 10.
#define PBF_REG_YCMD_QS_THRSH_VOQ10 0xd80924UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 10 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ10 0xd80928UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 10 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ10 0xd8092cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 10 from YSTORM.
@@ -62546,7 +64623,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ10 0xd80944UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 10 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ10 0xd80948UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 10. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ10 0xd8094cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 10. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ11 0xd80960UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 11.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ11 0xd80960UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 11.
#define PBF_REG_YCMD_QS_THRSH_VOQ11 0xd80964UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 11 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ11 0xd80968UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 11 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ11 0xd8096cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 11 from YSTORM.
@@ -62564,7 +64641,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ11 0xd80984UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 11 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ11 0xd80988UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 11. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ11 0xd8098cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 11. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ12 0xd809a0UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 12.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ12 0xd809a0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 12.
#define PBF_REG_YCMD_QS_THRSH_VOQ12 0xd809a4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 12 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ12 0xd809a8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 12 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ12 0xd809acUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 12 from YSTORM.
@@ -62582,7 +64659,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ12 0xd809c4UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 12 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ12 0xd809c8UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 12. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ12 0xd809ccUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 12. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ13 0xd809e0UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 13.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ13 0xd809e0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 13.
#define PBF_REG_YCMD_QS_THRSH_VOQ13 0xd809e4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 13 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ13 0xd809e8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 13 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ13 0xd809ecUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 13 from YSTORM.
@@ -62600,7 +64677,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ13 0xd80a04UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 13 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ13 0xd80a08UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 13. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ13 0xd80a0cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 13. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ14 0xd80a20UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 14.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ14 0xd80a20UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 14.
#define PBF_REG_YCMD_QS_THRSH_VOQ14 0xd80a24UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 14 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ14 0xd80a28UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 14 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ14 0xd80a2cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 14 from YSTORM.
@@ -62618,7 +64695,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ14 0xd80a44UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 14 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ14 0xd80a48UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 14. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ14 0xd80a4cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 14. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ15 0xd80a60UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 15.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ15 0xd80a60UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 15.
#define PBF_REG_YCMD_QS_THRSH_VOQ15 0xd80a64UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 15 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ15 0xd80a68UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 15 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ15 0xd80a6cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 15 from YSTORM.
@@ -62636,7 +64713,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ15 0xd80a84UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 15 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ15 0xd80a88UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 15. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ15 0xd80a8cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 15. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ16 0xd80aa0UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 16.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ16 0xd80aa0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 16.
#define PBF_REG_YCMD_QS_THRSH_VOQ16 0xd80aa4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 16 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ16 0xd80aa8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 16 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ16 0xd80aacUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 16 from YSTORM.
@@ -62654,7 +64731,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ16 0xd80ac4UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 16 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ16 0xd80ac8UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 16. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ16 0xd80accUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 16. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ17 0xd80ae0UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 17.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ17 0xd80ae0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 17.
#define PBF_REG_YCMD_QS_THRSH_VOQ17 0xd80ae4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 17 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ17 0xd80ae8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 17 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ17 0xd80aecUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 17 from YSTORM.
@@ -62672,7 +64749,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ17 0xd80b04UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 17 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ17 0xd80b08UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 17. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ17 0xd80b0cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 17. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ18 0xd80b20UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 18.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ18 0xd80b20UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 18.
#define PBF_REG_YCMD_QS_THRSH_VOQ18 0xd80b24UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 18 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ18 0xd80b28UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 18 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ18 0xd80b2cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 18 from YSTORM.
@@ -62690,7 +64767,7 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ18 0xd80b44UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 18 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ18 0xd80b48UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 18. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ18 0xd80b4cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 18. Reset upon init.
-#define PBF_REG_YCMD_QS_NUM_LINES_VOQ19 0xd80b60UL //Access:RW DataWidth:0xc // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 19.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ19 0xd80b60UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 19.
#define PBF_REG_YCMD_QS_THRSH_VOQ19 0xd80b64UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 19 in the YSTORM command Q in 32 byte lines.
#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ19 0xd80b68UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 19 (after ending the current command in process).
#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ19 0xd80b6cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 19 from YSTORM.
@@ -62708,7 +64785,296 @@
#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ19 0xd80b84UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 19 in both guaranteed and shared areas.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ19 0xd80b88UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 19. Reset upon init.
#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ19 0xd80b8cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 19. Reset upon init.
-#define PBF_REG_ECO_RESERVED 0xd80ea0UL //Access:RW DataWidth:0x20 // reserved for ECOs
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ20_E5 0xd80ba0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 20.
+#define PBF_REG_YCMD_QS_THRSH_VOQ20_E5 0xd80ba4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 20 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ20_E5 0xd80ba8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 20 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ20_E5 0xd80bacUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 20 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ20_E5 0xd80bb0UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 20.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ20_E5 0xd80bb4UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 20. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ20_E5 0xd80bb8UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 20.
+#define PBF_REG_BTB_GUARANTEED_VOQ20_E5 0xd80bbcUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 20
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ20_E5 0xd80bc0UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ20_BTB_MAX_SHARED_ALLOC_VOQ20_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 20
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ20_BTB_MAX_SHARED_ALLOC_VOQ20_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ20_BTB_CAN_USE_SHARED_VOQ20_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ20_BTB_CAN_USE_SHARED_VOQ20_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ20_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ20_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ20_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ20_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ20_E5 0xd80bc4UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 20 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ20_E5 0xd80bc8UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 20. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ20_E5 0xd80bccUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 20. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ21_E5 0xd80be0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 21.
+#define PBF_REG_YCMD_QS_THRSH_VOQ21_E5 0xd80be4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 21 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ21_E5 0xd80be8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 21 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ21_E5 0xd80becUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 21 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ21_E5 0xd80bf0UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 21.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ21_E5 0xd80bf4UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 21. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ21_E5 0xd80bf8UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 21.
+#define PBF_REG_BTB_GUARANTEED_VOQ21_E5 0xd80bfcUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 21
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ21_E5 0xd80c00UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ21_BTB_MAX_SHARED_ALLOC_VOQ21_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 21
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ21_BTB_MAX_SHARED_ALLOC_VOQ21_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ21_BTB_CAN_USE_SHARED_VOQ21_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ21_BTB_CAN_USE_SHARED_VOQ21_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ21_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ21_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ21_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ21_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ21_E5 0xd80c04UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 21 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ21_E5 0xd80c08UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 21. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ21_E5 0xd80c0cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 21. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ22_E5 0xd80c20UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 22.
+#define PBF_REG_YCMD_QS_THRSH_VOQ22_E5 0xd80c24UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 22 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ22_E5 0xd80c28UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 22 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ22_E5 0xd80c2cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 22 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ22_E5 0xd80c30UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 22.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ22_E5 0xd80c34UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 22. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ22_E5 0xd80c38UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 22.
+#define PBF_REG_BTB_GUARANTEED_VOQ22_E5 0xd80c3cUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 22
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ22_E5 0xd80c40UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ22_BTB_MAX_SHARED_ALLOC_VOQ22_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 22
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ22_BTB_MAX_SHARED_ALLOC_VOQ22_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ22_BTB_CAN_USE_SHARED_VOQ22_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ22_BTB_CAN_USE_SHARED_VOQ22_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ22_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ22_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ22_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ22_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ22_E5 0xd80c44UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 22 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ22_E5 0xd80c48UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 22. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ22_E5 0xd80c4cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 22. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ23_E5 0xd80c60UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 23.
+#define PBF_REG_YCMD_QS_THRSH_VOQ23_E5 0xd80c64UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 23 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ23_E5 0xd80c68UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 23 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ23_E5 0xd80c6cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 23 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ23_E5 0xd80c70UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 23.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ23_E5 0xd80c74UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 23. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ23_E5 0xd80c78UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 23.
+#define PBF_REG_BTB_GUARANTEED_VOQ23_E5 0xd80c7cUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 23
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ23_E5 0xd80c80UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ23_BTB_MAX_SHARED_ALLOC_VOQ23_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 23
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ23_BTB_MAX_SHARED_ALLOC_VOQ23_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ23_BTB_CAN_USE_SHARED_VOQ23_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ23_BTB_CAN_USE_SHARED_VOQ23_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ23_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ23_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ23_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ23_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ23_E5 0xd80c84UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 23 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ23_E5 0xd80c88UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 23. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ23_E5 0xd80c8cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 23. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ24_E5 0xd80ca0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 24.
+#define PBF_REG_YCMD_QS_THRSH_VOQ24_E5 0xd80ca4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 24 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ24_E5 0xd80ca8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 24 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ24_E5 0xd80cacUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 24 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ24_E5 0xd80cb0UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 24.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ24_E5 0xd80cb4UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 24. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ24_E5 0xd80cb8UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 24.
+#define PBF_REG_BTB_GUARANTEED_VOQ24_E5 0xd80cbcUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 24
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ24_E5 0xd80cc0UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ24_BTB_MAX_SHARED_ALLOC_VOQ24_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 24
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ24_BTB_MAX_SHARED_ALLOC_VOQ24_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ24_BTB_CAN_USE_SHARED_VOQ24_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ24_BTB_CAN_USE_SHARED_VOQ24_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ24_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ24_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ24_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ24_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ24_E5 0xd80cc4UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 24 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ24_E5 0xd80cc8UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 24. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ24_E5 0xd80cccUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 24. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ25_E5 0xd80ce0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 25.
+#define PBF_REG_YCMD_QS_THRSH_VOQ25_E5 0xd80ce4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 25 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ25_E5 0xd80ce8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 25 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ25_E5 0xd80cecUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 25 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ25_E5 0xd80cf0UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 25.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ25_E5 0xd80cf4UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 25. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ25_E5 0xd80cf8UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 25.
+#define PBF_REG_BTB_GUARANTEED_VOQ25_E5 0xd80cfcUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 25
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ25_E5 0xd80d00UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ25_BTB_MAX_SHARED_ALLOC_VOQ25_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 25
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ25_BTB_MAX_SHARED_ALLOC_VOQ25_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ25_BTB_CAN_USE_SHARED_VOQ25_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ25_BTB_CAN_USE_SHARED_VOQ25_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ25_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ25_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ25_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ25_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ25_E5 0xd80d04UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 25 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ25_E5 0xd80d08UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 25. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ25_E5 0xd80d0cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 25. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ26_E5 0xd80d20UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 26.
+#define PBF_REG_YCMD_QS_THRSH_VOQ26_E5 0xd80d24UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 26 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ26_E5 0xd80d28UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 26 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ26_E5 0xd80d2cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 26 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ26_E5 0xd80d30UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 26.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ26_E5 0xd80d34UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 26. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ26_E5 0xd80d38UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 26.
+#define PBF_REG_BTB_GUARANTEED_VOQ26_E5 0xd80d3cUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 26
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ26_E5 0xd80d40UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ26_BTB_MAX_SHARED_ALLOC_VOQ26_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 26
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ26_BTB_MAX_SHARED_ALLOC_VOQ26_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ26_BTB_CAN_USE_SHARED_VOQ26_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ26_BTB_CAN_USE_SHARED_VOQ26_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ26_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ26_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ26_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ26_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ26_E5 0xd80d44UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 26 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ26_E5 0xd80d48UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 26. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ26_E5 0xd80d4cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 26. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ27_E5 0xd80d60UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 27.
+#define PBF_REG_YCMD_QS_THRSH_VOQ27_E5 0xd80d64UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 27 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ27_E5 0xd80d68UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 27 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ27_E5 0xd80d6cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 27 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ27_E5 0xd80d70UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 27.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ27_E5 0xd80d74UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 27. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ27_E5 0xd80d78UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 27.
+#define PBF_REG_BTB_GUARANTEED_VOQ27_E5 0xd80d7cUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 27
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ27_E5 0xd80d80UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ27_BTB_MAX_SHARED_ALLOC_VOQ27_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 27
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ27_BTB_MAX_SHARED_ALLOC_VOQ27_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ27_BTB_CAN_USE_SHARED_VOQ27_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ27_BTB_CAN_USE_SHARED_VOQ27_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ27_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ27_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ27_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ27_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ27_E5 0xd80d84UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 27 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ27_E5 0xd80d88UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 27. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ27_E5 0xd80d8cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 27. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ28_E5 0xd80da0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 28.
+#define PBF_REG_YCMD_QS_THRSH_VOQ28_E5 0xd80da4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 28 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ28_E5 0xd80da8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 28 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ28_E5 0xd80dacUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 28 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ28_E5 0xd80db0UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 28.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ28_E5 0xd80db4UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 28. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ28_E5 0xd80db8UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 28.
+#define PBF_REG_BTB_GUARANTEED_VOQ28_E5 0xd80dbcUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 28
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ28_E5 0xd80dc0UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ28_BTB_MAX_SHARED_ALLOC_VOQ28_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 28
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ28_BTB_MAX_SHARED_ALLOC_VOQ28_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ28_BTB_CAN_USE_SHARED_VOQ28_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ28_BTB_CAN_USE_SHARED_VOQ28_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ28_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ28_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ28_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ28_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ28_E5 0xd80dc4UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 28 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ28_E5 0xd80dc8UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 28. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ28_E5 0xd80dccUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 28. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ29_E5 0xd80de0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 29.
+#define PBF_REG_YCMD_QS_THRSH_VOQ29_E5 0xd80de4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 29 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ29_E5 0xd80de8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 29 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ29_E5 0xd80decUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 29 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ29_E5 0xd80df0UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 29.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ29_E5 0xd80df4UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 29. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ29_E5 0xd80df8UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 29.
+#define PBF_REG_BTB_GUARANTEED_VOQ29_E5 0xd80dfcUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 29
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ29_E5 0xd80e00UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ29_BTB_MAX_SHARED_ALLOC_VOQ29_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 29
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ29_BTB_MAX_SHARED_ALLOC_VOQ29_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ29_BTB_CAN_USE_SHARED_VOQ29_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ29_BTB_CAN_USE_SHARED_VOQ29_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ29_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ29_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ29_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ29_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ29_E5 0xd80e04UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 29 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ29_E5 0xd80e08UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 29. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ29_E5 0xd80e0cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 29. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ30_E5 0xd80e20UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 30.
+#define PBF_REG_YCMD_QS_THRSH_VOQ30_E5 0xd80e24UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 30 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ30_E5 0xd80e28UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 30 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ30_E5 0xd80e2cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 30 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ30_E5 0xd80e30UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 30.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ30_E5 0xd80e34UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 30. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ30_E5 0xd80e38UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 30.
+#define PBF_REG_BTB_GUARANTEED_VOQ30_E5 0xd80e3cUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 30
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ30_E5 0xd80e40UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ30_BTB_MAX_SHARED_ALLOC_VOQ30_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 30
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ30_BTB_MAX_SHARED_ALLOC_VOQ30_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ30_BTB_CAN_USE_SHARED_VOQ30_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ30_BTB_CAN_USE_SHARED_VOQ30_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ30_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ30_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ30_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ30_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ30_E5 0xd80e44UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 30 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ30_E5 0xd80e48UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 30. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ30_E5 0xd80e4cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 30. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ31_E5 0xd80e60UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 31.
+#define PBF_REG_YCMD_QS_THRSH_VOQ31_E5 0xd80e64UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 31 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ31_E5 0xd80e68UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 31 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ31_E5 0xd80e6cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 31 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ31_E5 0xd80e70UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 31.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ31_E5 0xd80e74UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 31. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ31_E5 0xd80e78UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 31.
+#define PBF_REG_BTB_GUARANTEED_VOQ31_E5 0xd80e7cUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 31
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ31_E5 0xd80e80UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ31_BTB_MAX_SHARED_ALLOC_VOQ31_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 31
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ31_BTB_MAX_SHARED_ALLOC_VOQ31_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ31_BTB_CAN_USE_SHARED_VOQ31_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ31_BTB_CAN_USE_SHARED_VOQ31_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ31_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ31_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ31_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ31_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ31_E5 0xd80e84UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 31 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ31_E5 0xd80e88UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 31. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ31_E5 0xd80e8cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 31. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ32_E5 0xd80ea0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 32.
+#define PBF_REG_YCMD_QS_THRSH_VOQ32_E5 0xd80ea4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 32 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ32_E5 0xd80ea8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 32 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ32_E5 0xd80eacUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 32 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ32_E5 0xd80eb0UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 32.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ32_E5 0xd80eb4UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 32. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ32_E5 0xd80eb8UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 32.
+#define PBF_REG_BTB_GUARANTEED_VOQ32_E5 0xd80ebcUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 32
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ32_E5 0xd80ec0UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ32_BTB_MAX_SHARED_ALLOC_VOQ32_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 32
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ32_BTB_MAX_SHARED_ALLOC_VOQ32_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ32_BTB_CAN_USE_SHARED_VOQ32_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ32_BTB_CAN_USE_SHARED_VOQ32_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ32_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ32_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ32_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ32_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ32_E5 0xd80ec4UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 32 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ32_E5 0xd80ec8UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 32. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ32_E5 0xd80eccUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 32. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ33_E5 0xd80ee0UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 33.
+#define PBF_REG_YCMD_QS_THRSH_VOQ33_E5 0xd80ee4UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 33 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ33_E5 0xd80ee8UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 33 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ33_E5 0xd80eecUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 33 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ33_E5 0xd80ef0UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 33.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ33_E5 0xd80ef4UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 33. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ33_E5 0xd80ef8UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 33.
+#define PBF_REG_BTB_GUARANTEED_VOQ33_E5 0xd80efcUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 33
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ33_E5 0xd80f00UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ33_BTB_MAX_SHARED_ALLOC_VOQ33_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 33
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ33_BTB_MAX_SHARED_ALLOC_VOQ33_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ33_BTB_CAN_USE_SHARED_VOQ33_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ33_BTB_CAN_USE_SHARED_VOQ33_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ33_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ33_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ33_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ33_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ33_E5 0xd80f04UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 33 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ33_E5 0xd80f08UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 33. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ33_E5 0xd80f0cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 33. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ34_E5 0xd80f20UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 34.
+#define PBF_REG_YCMD_QS_THRSH_VOQ34_E5 0xd80f24UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 34 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ34_E5 0xd80f28UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 34 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ34_E5 0xd80f2cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 34 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ34_E5 0xd80f30UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 34.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ34_E5 0xd80f34UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 34. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ34_E5 0xd80f38UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 34.
+#define PBF_REG_BTB_GUARANTEED_VOQ34_E5 0xd80f3cUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 34
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ34_E5 0xd80f40UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ34_BTB_MAX_SHARED_ALLOC_VOQ34_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 34
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ34_BTB_MAX_SHARED_ALLOC_VOQ34_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ34_BTB_CAN_USE_SHARED_VOQ34_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ34_BTB_CAN_USE_SHARED_VOQ34_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ34_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ34_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ34_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ34_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ34_E5 0xd80f44UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 34 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ34_E5 0xd80f48UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 34. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ34_E5 0xd80f4cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 34. Reset upon init.
+#define PBF_REG_YCMD_QS_NUM_LINES_VOQ35_E5 0xd80f60UL //Access:RW DataWidth:0xd // Number of 32 byte lines in the YSTORM command Q reserved for VOQ 35.
+#define PBF_REG_YCMD_QS_THRSH_VOQ35_E5 0xd80f64UL //Access:RW DataWidth:0x5 // Almost full threshold for VOQ 35 in the YSTORM command Q in 32 byte lines.
+#define PBF_REG_YCMD_QS_DISABLE_NEW_CMD_PROC_VOQ35_E5 0xd80f68UL //Access:RW DataWidth:0x1 // Disable processing further Y commands from VOQ 35 (after ending the current command in process).
+#define PBF_REG_YCMD_QS_CMDS_RCVD_ON_VOQ35_E5 0xd80f6cUL //Access:RC DataWidth:0x20 // Number of commands received on VOQ 35 from YSTORM.
+#define PBF_REG_YCMD_QS_CMD_CNT_VOQ35_E5 0xd80f70UL //Access:R DataWidth:0xa // Number of commands in the Y command queue of VOQ 35.
+#define PBF_REG_YCMD_QS_LINES_FREED_CNT_VOQ35_E5 0xd80f74UL //Access:R DataWidth:0x20 // Cyclic counter for number of 16 byte lines freed from the Y command queue of VOQ 35. Reset upon init.
+#define PBF_REG_YCMD_QS_OCCUPANCY_VOQ35_E5 0xd80f78UL //Access:R DataWidth:0xd // Number of 16 bytes lines occupied in the Y command queue of VOQ 35.
+#define PBF_REG_BTB_GUARANTEED_VOQ35_E5 0xd80f7cUL //Access:RW DataWidth:0xb // The number of BTB 256 byte blocks guaranteed for VOQ 35
+#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ35_E5 0xd80f80UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ35_BTB_MAX_SHARED_ALLOC_VOQ35_E5 (0x7ff<<0) // The maximum number of BTB 256 byte blocks that a TC can allocate in the shared area for VOQ 35
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ35_BTB_MAX_SHARED_ALLOC_VOQ35_E5_SHIFT 0
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ35_BTB_CAN_USE_SHARED_VOQ35_E5 (0x1<<16) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ35_BTB_CAN_USE_SHARED_VOQ35_E5_SHIFT 16
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ35_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ35_E5 (0x1<<17) // if set, enables using the shared area for a TC when the guaranteed space is exhausted, regardless of the packet size.
+ #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ35_BTB_CAN_USE_SHARED_FOR_JUMBO_VOQ35_E5_SHIFT 17
+#define PBF_REG_BTB_ALLOCATED_BLOCKS_VOQ35_E5 0xd80f84UL //Access:R DataWidth:0xc // Number of blocks allocated in the BTB for VOQ 35 in both guaranteed and shared areas.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_PROD_VOQ35_E5 0xd80f88UL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks allocated (producer) for VOQ 35. Reset upon init.
+#define PBF_REG_NUM_BLOCKS_ALLOCATED_CONS_VOQ35_E5 0xd80f8cUL //Access:R DataWidth:0x20 // Cyclic counter for number of blocks released (consumer) for VOQ 35. Reset upon init.
+#define PBF_REG_ECO_RESERVED_BB_K2 0xd80ea0UL //Access:RW DataWidth:0x20 // reserved for ECOs
+#define PBF_REG_ECO_RESERVED_E5 0xd80fa0UL //Access:RW DataWidth:0x20 // reserved for ECOs
#define PBF_PB1_REG_INT_STS 0xda0040UL //Access:R DataWidth:0x9 // Multi Field Register.
#define PBF_PB1_REG_INT_STS_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PBF_PB1_REG_INT_STS_ADDRESS_ERROR_SHIFT 0
@@ -64079,55 +66445,85 @@
#define BTB_REG_PRTY_MASK_LL_BANK3_MEM_PRTY_SHIFT 3
#define BTB_REG_PRTY_MASK_DATAPATH_REGISTERS (0x1<<4) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS.DATAPATH_REGISTERS .
#define BTB_REG_PRTY_MASK_DATAPATH_REGISTERS_SHIFT 4
-#define BTB_REG_PRTY_MASK_H_0_BB_K2 0xdb0404UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define BTB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define BTB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_BB_K2_SHIFT 1
- #define BTB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_BB_K2_SHIFT 2
- #define BTB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_BB_K2_SHIFT 3
- #define BTB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_BB_K2_SHIFT 4
- #define BTB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_BB_K2_SHIFT 5
- #define BTB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM013_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_BB_K2_SHIFT 6
- #define BTB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_BB_K2_SHIFT 7
- #define BTB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM015_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_BB_K2_SHIFT 8
- #define BTB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM016_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_BB_K2_SHIFT 9
- #define BTB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_BB_K2_SHIFT 10
- #define BTB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2_SHIFT 11
- #define BTB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2_SHIFT 12
- #define BTB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_BB_K2_SHIFT 13
- #define BTB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_BB_K2_SHIFT 14
- #define BTB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM007_I_ECC_RF_INT .
- #define BTB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_BB_K2_SHIFT 15
+#define BTB_REG_PRTY_MASK_H_0 0xdb0404UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define BTB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM001_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM001_I_ECC_RF_INT_SHIFT 0
+ #define BTB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM008_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM008_I_ECC_RF_INT_SHIFT 1
+ #define BTB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM009_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM009_I_ECC_RF_INT_SHIFT 2
+ #define BTB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT (0x1<<3) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM010_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM010_I_ECC_RF_INT_SHIFT 3
+ #define BTB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT (0x1<<4) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_SHIFT 4
+ #define BTB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT (0x1<<5) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_SHIFT 5
+ #define BTB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT (0x1<<6) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM013_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM013_I_ECC_RF_INT_SHIFT 6
+ #define BTB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT (0x1<<7) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_SHIFT 7
+ #define BTB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT (0x1<<8) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM015_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM015_I_ECC_RF_INT_SHIFT 8
+ #define BTB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT (0x1<<9) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM016_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM016_I_ECC_RF_INT_SHIFT 9
+ #define BTB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT (0x1<<10) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM002_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM002_I_ECC_RF_INT_SHIFT 10
+ #define BTB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT (0x1<<11) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_SHIFT 11
+ #define BTB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT (0x1<<12) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_SHIFT 12
+ #define BTB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT (0x1<<13) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM005_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM005_I_ECC_RF_INT_SHIFT 13
+ #define BTB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT (0x1<<14) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_SHIFT 14
+ #define BTB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT (0x1<<15) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM007_I_ECC_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM007_I_ECC_RF_INT_SHIFT 15
+ #define BTB_REG_PRTY_MASK_H_0_MEM017_I_ECC1_RF_INT_E5 (0x1<<16) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM017_I_ECC1_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM017_I_ECC1_RF_INT_E5_SHIFT 16
+ #define BTB_REG_PRTY_MASK_H_0_MEM017_I_ECC2_RF_INT_E5 (0x1<<17) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM017_I_ECC2_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM017_I_ECC2_RF_INT_E5_SHIFT 17
+ #define BTB_REG_PRTY_MASK_H_0_MEM018_I_ECC1_RF_INT_E5 (0x1<<18) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM018_I_ECC1_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM018_I_ECC1_RF_INT_E5_SHIFT 18
+ #define BTB_REG_PRTY_MASK_H_0_MEM018_I_ECC2_RF_INT_E5 (0x1<<19) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM018_I_ECC2_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM018_I_ECC2_RF_INT_E5_SHIFT 19
+ #define BTB_REG_PRTY_MASK_H_0_MEM019_I_ECC1_RF_INT_E5 (0x1<<20) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM019_I_ECC1_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM019_I_ECC1_RF_INT_E5_SHIFT 20
+ #define BTB_REG_PRTY_MASK_H_0_MEM019_I_ECC2_RF_INT_E5 (0x1<<21) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM019_I_ECC2_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM019_I_ECC2_RF_INT_E5_SHIFT 21
+ #define BTB_REG_PRTY_MASK_H_0_MEM020_I_ECC1_RF_INT_E5 (0x1<<22) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM020_I_ECC1_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM020_I_ECC1_RF_INT_E5_SHIFT 22
+ #define BTB_REG_PRTY_MASK_H_0_MEM020_I_ECC2_RF_INT_E5 (0x1<<23) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM020_I_ECC2_RF_INT .
+ #define BTB_REG_PRTY_MASK_H_0_MEM020_I_ECC2_RF_INT_E5_SHIFT 23
#define BTB_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM033_I_MEM_PRTY .
#define BTB_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_K2_SHIFT 16
+ #define BTB_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM033_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_E5_SHIFT 24
#define BTB_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM035_I_MEM_PRTY .
#define BTB_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_K2_SHIFT 17
+ #define BTB_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM035_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_E5_SHIFT 25
#define BTB_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM034_I_MEM_PRTY .
#define BTB_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_K2_SHIFT 18
+ #define BTB_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM034_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_E5_SHIFT 26
#define BTB_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
#define BTB_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_K2_SHIFT 19
+ #define BTB_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_E5_SHIFT 27
#define BTB_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_BB (0x1<<17) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
#define BTB_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_BB_SHIFT 17
#define BTB_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
#define BTB_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_K2_SHIFT 20
+ #define BTB_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_E5_SHIFT 28
#define BTB_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
#define BTB_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_SHIFT 21
+ #define BTB_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5_SHIFT 29
#define BTB_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
#define BTB_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_K2_SHIFT 22
+ #define BTB_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5_SHIFT 30
#define BTB_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2 (0x1<<23) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
#define BTB_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_SHIFT 23
#define BTB_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2 (0x1<<24) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
@@ -64156,117 +66552,186 @@
#define BTB_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB_SHIFT 16
#define BTB_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_K2 (0x1<<30) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
#define BTB_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_K2_SHIFT 30
+#define BTB_REG_MEM001_RF_ECC_ERROR_CONNECT_BB 0xdb0410UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[0].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BTB_REG_PRTY_MASK_H_1_E5 0xdb0414UL //Access:RW DataWidth:0x8 // Multi Field Register.
+ #define BTB_REG_PRTY_MASK_H_1_MEM023_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_1.MEM023_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_1_MEM023_I_MEM_PRTY_E5_SHIFT 0
+ #define BTB_REG_PRTY_MASK_H_1_MEM024_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_1.MEM024_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_1_MEM024_I_MEM_PRTY_E5_SHIFT 1
+ #define BTB_REG_PRTY_MASK_H_1_MEM025_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_1.MEM025_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_1_MEM025_I_MEM_PRTY_E5_SHIFT 2
+ #define BTB_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_1.MEM026_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_1_MEM026_I_MEM_PRTY_E5_SHIFT 3
+ #define BTB_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_1.MEM027_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_E5_SHIFT 4
+ #define BTB_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_1.MEM028_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_E5_SHIFT 5
+ #define BTB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_1.MEM030_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_E5_SHIFT 6
+ #define BTB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: BTB_REG_PRTY_STS_H_1.MEM029_I_MEM_PRTY .
+ #define BTB_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_E5_SHIFT 7
+#define BTB_REG_MEM008_RF_ECC_ERROR_CONNECT_BB 0xdb0414UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[1].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BTB_REG_MEM009_RF_ECC_ERROR_CONNECT_BB 0xdb0418UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[2].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BTB_REG_MEM010_RF_ECC_ERROR_CONNECT_BB 0xdb041cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[3].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BTB_REG_MEM_ECC_ENABLE_0_BB 0xdb0450UL //Access:RW DataWidth:0x10 // Multi Field Register.
#define BTB_REG_MEM_ECC_ENABLE_0_K2 0xdb0410UL //Access:RW DataWidth:0x10 // Multi Field Register.
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_BB_K2_SHIFT 0
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_BB_K2_SHIFT 1
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_BB_K2_SHIFT 2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB_K2 (0x1<<3) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_BB_K2_SHIFT 3
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_BB_K2 (0x1<<4) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_BB_K2_SHIFT 4
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_BB_K2 (0x1<<5) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_BB_K2_SHIFT 5
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_BB_K2 (0x1<<6) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_BB_K2_SHIFT 6
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB_K2 (0x1<<7) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_BB_K2_SHIFT 7
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_K2 (0x1<<8) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_BB_K2_SHIFT 8
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_BB_K2 (0x1<<9) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_BB_K2_SHIFT 9
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2 (0x1<<10) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_BB_K2_SHIFT 10
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_BB_K2 (0x1<<11) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_BB_K2_SHIFT 11
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_BB_K2 (0x1<<12) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_BB_K2_SHIFT 12
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2 (0x1<<13) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_BB_K2_SHIFT 13
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2 (0x1<<14) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_BB_K2_SHIFT 14
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_BB_K2 (0x1<<15) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_BB_K2_SHIFT 15
-#define BTB_REG_MEM001_RF_ECC_ERROR_CONNECT_BB 0xdb0410UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[0].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BTB_REG_MEM_ECC_ENABLE_0_E5 0xdb0420UL //Access:RW DataWidth:0x18 // Multi Field Register.
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN (0x1<<0) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM001_I_ECC_EN_SHIFT 0
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN (0x1<<1) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_EN_SHIFT 1
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN (0x1<<2) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_EN_SHIFT 2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN (0x1<<3) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_EN_SHIFT 3
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN (0x1<<4) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM011_I_ECC_EN_SHIFT 4
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN (0x1<<5) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_SHIFT 5
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN (0x1<<6) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM013_I_ECC_EN_SHIFT 6
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN (0x1<<7) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_SHIFT 7
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN (0x1<<8) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM015_I_ECC_EN_SHIFT 8
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN (0x1<<9) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM016_I_ECC_EN_SHIFT 9
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN (0x1<<10) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM002_I_ECC_EN_SHIFT 10
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN (0x1<<11) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_SHIFT 11
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN (0x1<<12) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_SHIFT 12
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN (0x1<<13) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_EN_SHIFT 13
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN (0x1<<14) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_SHIFT 14
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN (0x1<<15) // Enable ECC for memory ecc instance btb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM007_I_ECC_EN_SHIFT 15
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC1_EN_E5 (0x1<<16) // Enable ECC for memory ecc instance btb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC1_EN_E5_SHIFT 16
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC2_EN_E5 (0x1<<17) // Enable ECC for memory ecc instance btb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM017_I_ECC2_EN_E5_SHIFT 17
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC1_EN_E5 (0x1<<18) // Enable ECC for memory ecc instance btb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC1_EN_E5_SHIFT 18
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC2_EN_E5 (0x1<<19) // Enable ECC for memory ecc instance btb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM018_I_ECC2_EN_E5_SHIFT 19
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC1_EN_E5 (0x1<<20) // Enable ECC for memory ecc instance btb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC1_EN_E5_SHIFT 20
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC2_EN_E5 (0x1<<21) // Enable ECC for memory ecc instance btb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM019_I_ECC2_EN_E5_SHIFT 21
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC1_EN_E5 (0x1<<22) // Enable ECC for memory ecc instance btb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC1_EN_E5_SHIFT 22
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC2_EN_E5 (0x1<<23) // Enable ECC for memory ecc instance btb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ENABLE_0_MEM020_I_ECC2_EN_E5_SHIFT 23
+#define BTB_REG_MEM011_RF_ECC_ERROR_CONNECT_BB 0xdb0420UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[4].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BTB_REG_MEM_ECC_PARITY_ONLY_0_BB 0xdb0454UL //Access:RW DataWidth:0x10 // Multi Field Register.
#define BTB_REG_MEM_ECC_PARITY_ONLY_0_K2 0xdb0414UL //Access:RW DataWidth:0x10 // Multi Field Register.
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_BB_K2_SHIFT 0
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_BB_K2_SHIFT 1
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_BB_K2_SHIFT 2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB_K2 (0x1<<3) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_BB_K2_SHIFT 3
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_BB_K2 (0x1<<4) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_BB_K2_SHIFT 4
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_BB_K2 (0x1<<5) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_BB_K2_SHIFT 5
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_BB_K2 (0x1<<6) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_BB_K2_SHIFT 6
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB_K2 (0x1<<7) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_BB_K2_SHIFT 7
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_K2 (0x1<<8) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_BB_K2_SHIFT 8
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_BB_K2 (0x1<<9) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_BB_K2_SHIFT 9
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2 (0x1<<10) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_BB_K2_SHIFT 10
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_BB_K2 (0x1<<11) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_BB_K2_SHIFT 11
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_BB_K2 (0x1<<12) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_BB_K2_SHIFT 12
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2 (0x1<<13) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_BB_K2_SHIFT 13
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2 (0x1<<14) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_BB_K2_SHIFT 14
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_BB_K2 (0x1<<15) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_BB_K2_SHIFT 15
-#define BTB_REG_MEM008_RF_ECC_ERROR_CONNECT_BB 0xdb0414UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[1].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BTB_REG_MEM_ECC_PARITY_ONLY_0_E5 0xdb0424UL //Access:RW DataWidth:0x18 // Multi Field Register.
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY (0x1<<0) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM001_I_ECC_PRTY_SHIFT 0
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY (0x1<<1) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_PRTY_SHIFT 1
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY (0x1<<2) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_PRTY_SHIFT 2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY (0x1<<3) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_PRTY_SHIFT 3
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY (0x1<<4) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM011_I_ECC_PRTY_SHIFT 4
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY (0x1<<5) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_SHIFT 5
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY (0x1<<6) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM013_I_ECC_PRTY_SHIFT 6
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY (0x1<<7) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_SHIFT 7
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY (0x1<<8) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM015_I_ECC_PRTY_SHIFT 8
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY (0x1<<9) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM016_I_ECC_PRTY_SHIFT 9
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY (0x1<<10) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM002_I_ECC_PRTY_SHIFT 10
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY (0x1<<11) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_SHIFT 11
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY (0x1<<12) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_SHIFT 12
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY (0x1<<13) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_PRTY_SHIFT 13
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY (0x1<<14) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_SHIFT 14
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY (0x1<<15) // Set parity only for memory ecc instance btb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM007_I_ECC_PRTY_SHIFT 15
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC1_PRTY_E5 (0x1<<16) // Set parity only for memory ecc instance btb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC1_PRTY_E5_SHIFT 16
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC2_PRTY_E5 (0x1<<17) // Set parity only for memory ecc instance btb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM017_I_ECC2_PRTY_E5_SHIFT 17
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC1_PRTY_E5 (0x1<<18) // Set parity only for memory ecc instance btb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC1_PRTY_E5_SHIFT 18
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC2_PRTY_E5 (0x1<<19) // Set parity only for memory ecc instance btb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM018_I_ECC2_PRTY_E5_SHIFT 19
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC1_PRTY_E5 (0x1<<20) // Set parity only for memory ecc instance btb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC1_PRTY_E5_SHIFT 20
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC2_PRTY_E5 (0x1<<21) // Set parity only for memory ecc instance btb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM019_I_ECC2_PRTY_E5_SHIFT 21
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC1_PRTY_E5 (0x1<<22) // Set parity only for memory ecc instance btb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC1_PRTY_E5_SHIFT 22
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC2_PRTY_E5 (0x1<<23) // Set parity only for memory ecc instance btb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_PARITY_ONLY_0_MEM020_I_ECC2_PRTY_E5_SHIFT 23
+#define BTB_REG_MEM012_RF_ECC_ERROR_CONNECT_BB 0xdb0424UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[5].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_BB 0xdb0458UL //Access:RC DataWidth:0x10 // Multi Field Register.
#define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_K2 0xdb0418UL //Access:RC DataWidth:0x10 // Multi Field Register.
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_BB_K2_SHIFT 0
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_BB_K2_SHIFT 1
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_BB_K2_SHIFT 2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_BB_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_BB_K2_SHIFT 3
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_BB_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_BB_K2_SHIFT 4
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_BB_K2 (0x1<<5) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_BB_K2_SHIFT 5
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_BB_K2 (0x1<<6) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_BB_K2_SHIFT 6
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_BB_K2 (0x1<<7) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_BB_K2_SHIFT 7
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB_K2 (0x1<<8) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_BB_K2_SHIFT 8
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_BB_K2 (0x1<<9) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_BB_K2_SHIFT 9
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2 (0x1<<10) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_BB_K2_SHIFT 10
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_BB_K2 (0x1<<11) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_BB_K2_SHIFT 11
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_BB_K2 (0x1<<12) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_BB_K2_SHIFT 12
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2 (0x1<<13) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_BB_K2_SHIFT 13
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2 (0x1<<14) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_BB_K2_SHIFT 14
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_BB_K2 (0x1<<15) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
- #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_BB_K2_SHIFT 15
-#define BTB_REG_MEM009_RF_ECC_ERROR_CONNECT_BB 0xdb0418UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[2].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0xdb0428UL //Access:RC DataWidth:0x18 // Multi Field Register.
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT (0x1<<0) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[0].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM001_I_ECC_CORRECT_SHIFT 0
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[1].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_CORRECT_SHIFT 1
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[2].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_CORRECT_SHIFT 2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT (0x1<<3) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[3].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_CORRECT_SHIFT 3
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT (0x1<<4) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[4].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM011_I_ECC_CORRECT_SHIFT 4
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT (0x1<<5) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[5].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_SHIFT 5
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT (0x1<<6) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[6].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM013_I_ECC_CORRECT_SHIFT 6
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT (0x1<<7) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[7].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_SHIFT 7
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT (0x1<<8) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[8].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM015_I_ECC_CORRECT_SHIFT 8
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT (0x1<<9) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[9].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM016_I_ECC_CORRECT_SHIFT 9
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT (0x1<<10) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[10].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM002_I_ECC_CORRECT_SHIFT 10
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT (0x1<<11) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[11].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_SHIFT 11
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT (0x1<<12) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[12].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_SHIFT 12
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT (0x1<<13) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[13].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_CORRECT_SHIFT 13
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT (0x1<<14) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[14].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_SHIFT 14
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT (0x1<<15) // Record if a correctable error occurred on memory ecc instance btb.BB_BANK_K2_GEN_FOR[15].BB_BANK_K2_GEN_IF.i_bb_bank.i_ecc in module btb_bb_bank_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM007_I_ECC_CORRECT_SHIFT 15
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM017_I_ECC1_CORRECT_E5 (0x1<<16) // Record if a correctable error occurred on memory ecc instance btb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM017_I_ECC1_CORRECT_E5_SHIFT 16
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM017_I_ECC2_CORRECT_E5 (0x1<<17) // Record if a correctable error occurred on memory ecc instance btb.LL_BANK_K2_GEN_FOR[0].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM017_I_ECC2_CORRECT_E5_SHIFT 17
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC1_CORRECT_E5 (0x1<<18) // Record if a correctable error occurred on memory ecc instance btb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC1_CORRECT_E5_SHIFT 18
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC2_CORRECT_E5 (0x1<<19) // Record if a correctable error occurred on memory ecc instance btb.LL_BANK_K2_GEN_FOR[1].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM018_I_ECC2_CORRECT_E5_SHIFT 19
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC1_CORRECT_E5 (0x1<<20) // Record if a correctable error occurred on memory ecc instance btb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC1_CORRECT_E5_SHIFT 20
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC2_CORRECT_E5 (0x1<<21) // Record if a correctable error occurred on memory ecc instance btb.LL_BANK_K2_GEN_FOR[2].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM019_I_ECC2_CORRECT_E5_SHIFT 21
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC1_CORRECT_E5 (0x1<<22) // Record if a correctable error occurred on memory ecc instance btb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc1 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC1_CORRECT_E5_SHIFT 22
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC2_CORRECT_E5 (0x1<<23) // Record if a correctable error occurred on memory ecc instance btb.LL_BANK_K2_GEN_FOR[3].LL_BANK_K2_GEN_IF.i_link_list.i_ecc2 in module btb_link_list_k2
+ #define BTB_REG_MEM_ECC_ERROR_CORRECTED_0_MEM020_I_ECC2_CORRECT_E5_SHIFT 23
+#define BTB_REG_MEM013_RF_ECC_ERROR_CONNECT_BB 0xdb0428UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[6].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BTB_REG_MEM_ECC_EVENTS_BB 0xdb045cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define BTB_REG_MEM_ECC_EVENTS_K2 0xdb041cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
-#define BTB_REG_MEM010_RF_ECC_ERROR_CONNECT_BB 0xdb041cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[3].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BTB_REG_MEM011_RF_ECC_ERROR_CONNECT_BB 0xdb0420UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[4].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BTB_REG_MEM012_RF_ECC_ERROR_CONNECT_BB 0xdb0424UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[5].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define BTB_REG_MEM013_RF_ECC_ERROR_CONNECT_BB 0xdb0428UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[6].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define BTB_REG_MEM_ECC_EVENTS_E5 0xdb042cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define BTB_REG_MEM014_RF_ECC_ERROR_CONNECT_BB 0xdb042cUL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[7].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BTB_REG_MEM015_RF_ECC_ERROR_CONNECT_BB 0xdb0430UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[8].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define BTB_REG_MEM016_RF_ECC_ERROR_CONNECT_BB 0xdb0434UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: btb.BB_BANK_BB_GEN_FOR[9].BB_BANK_BB_GEN_IF.i_bb_bank.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 129. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
@@ -64307,8 +66772,6 @@
#define BTB_REG_RC_PKT_PRIORITY_NIG_LB3_RC_PRI_SHIFT 14
#define BTB_REG_WC_NO_DEAD_CYCLES_EN_K2_E5 0xdb0854UL //Access:RW DataWidth:0x1 // There is bit for each PACKET write client. Bit 0 suits to client 0 and so on. If bit is set then packet will be written without intra packet dead cycles .B0-NIG main port0; B1-NIG LB port0; B2-NIG main port1; B2-NIG LB port1 ::s/NO_DEAD_CYCLE_RST/1/g in Reset
#define BTB_REG_WC_HIGHEST_PRI_EN_K2_E5 0xdb0858UL //Access:RW DataWidth:0x1 // There is bit for each PACKET write client. Bit 0 suits to client 0 and so on. If bit is set then highest priority mechanism is enabled for the corresponding client. B0-NIG main port0; B1-NIG LB port0; B2-NIG main port1; B2-NIG LB port1 ::s/NO_DEAD_CYCLE_RST/1/g in Reset
-#define BTB_REG_WC_LL_HIGH_PRI_E5 0xdb085cUL //Access:RW DataWidth:0x1 // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
-#define BTB_REG_BR_FIX_HIGH_PRI_COLLISION_E5 0xdb0860UL //Access:RW DataWidth:0x1 // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
#define BTB_REG_RC_SOP_PRIORITY 0xdb088cUL //Access:RW DataWidth:0x2 // This is priority for SOP read client to Big RAM arbiter. Possible values are 1-3. Priority 3 is highest::s/RC_SOP_PRI_RST/5/g in Reset Value.
#define BTB_REG_WC_PRIORITY 0xdb0890UL //Access:RW DataWidth:0x2 // This is priority for packet request of write client group to Big RAM arbiter. Possible values are 1-3. Priority 3 is highest::s/RC_WC_PRI_RST/7/g in Reset Value.
#define BTB_REG_PRI_OF_MULT_CLIENTS 0xdb0894UL //Access:RW DataWidth:0x2 // This is priority of multiple clients with identical priority for link list arbiter. Selection from them will be done with round robin. Only one group with multiple clients of identical priority is supported. Possible values are 1-3. Priority 3 is highest::s/RC_MULT_PRI_RST/6/g in Reset Value.
@@ -64410,11 +66873,13 @@
#define BTB_REG_STOPPED_RLS_REQ_SIZE_K2_E5 16
#define BTB_REG_WC_STATUS_0 0xdb1200UL //Access:WB_R DataWidth:0x5b // Debug register. FIFO counters status of write clients. 8 bits spelling of write client status: {cos_cnt[90:88]; notify_fifo[87:80]; pkt_avail_fifo[79:72]; len_fifo[71:64]; sop_fifo[63:56]; eop_fifo[55:48]; queue_fifo[47:40]; next_point_fifo[39:32]; strt_fifo[31:24]; second_dscr_fifo[23:16]; inp_fifo[15:8]; ll_req_fifo[7:4]; free_point_fifo[3:0]}
#define BTB_REG_WC_STATUS_0_SIZE 4
+#define BTB_REG_WC_LL_HIGH_PRI_E5 0xdb4000UL //Access:RW DataWidth:0x1 // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
+#define BTB_REG_BR_FIX_HIGH_PRI_COLLISION_E5 0xdb4004UL //Access:RW DataWidth:0x1 // This is a bitmap per WC which is 1 for WC with high priority and 0 o/w.
#define BTB_REG_LINK_LIST_BB_K2 0xdb4000UL //Access:RW DataWidth:0xc // Link list dual port memory that contains per-block descriptor::s/BLK_NUM/4800/g in memory size::s/BLK_WDTH_PLUS_SOP_EN/14/g in Data Width::s/BLK_WDTH/13/g in Address Width.
-#define BTB_REG_LINK_LIST_E5 0xdb8000UL //Access:RW DataWidth:0xd // Link list dual port memory that contains per-block descriptor::s/BLK_NUM/4800/g in memory size::s/BLK_WDTH_PLUS_SOP_EN/14/g in Data Width::s/BLK_WDTH/13/g in Address Width.
+#define BTB_REG_LINK_LIST_E5 0xdb8000UL //Access:RW DataWidth:0xd // Link list dual port memory that contains per-block descriptor::s/BLK_NUM/4800/g in memory size::s/BLK_WDTH_PLUS_SOP_EN/14/g in Data Width::s/BLK_WDTH/13/g in Address Width. When reading link list during high high traffic, there might be a timeout for the read request.
#define BTB_REG_LINK_LIST_SIZE_BB 2880
#define BTB_REG_LINK_LIST_SIZE_K2 3680
-#define BTB_REG_LINK_LIST_SIZE_E5 6400
+#define BTB_REG_LINK_LIST_SIZE_E5 5280
#define MCP_REG_MCP_CONTROL 0xe00080UL //Access:RW DataWidth:0x20 // These are basic configurations for the MCP block.
#define MCP_REG_MCP_CONTROL_UNUSED0 (0x7fffffff<<0) //
#define MCP_REG_MCP_CONTROL_UNUSED0_SHIFT 0
@@ -65994,7 +68459,7 @@
#define XSDM_REG_ENABLE_OUT1_PXP_INT_OUT_EN_SHIFT 0
#define XSDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN (0x1<<1) // Enable for output thread ready to the SEMI.
#define XSDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN_SHIFT 1
- #define XSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // Enable the output thread release to the SEMI.
+ #define XSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // No longer implemented.
#define XSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN_SHIFT 2
#define XSDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN (0x1<<3) // Enable for output load request to CCFC.
#define XSDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN_SHIFT 3
@@ -66288,28 +68753,42 @@
#define XSDM_REG_INT_STS_CLR_XCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 26
#define XSDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5 (0x1<<27) // small FIFO error indication. FIFO is instantiated only in the MSDM => XCM and MSDM =>YCM interface
#define XSDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 27
-#define XSDM_REG_PRTY_MASK_H_0_BB_K2 0xf80204UL //Access:RW DataWidth:0xa // Multi Field Register.
+#define XSDM_REG_PRTY_MASK_H_0 0xf80204UL //Access:RW DataWidth:0xb // Multi Field Register.
+ #define XSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define XSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 0
#define XSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
#define XSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define XSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 1
#define XSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
#define XSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define XSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 2
#define XSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define XSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 2
+ #define XSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 3
+ #define XSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<4) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 4
+ #define XSDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 5
+ #define XSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<6) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 6
+ #define XSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY (0x1<<7) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_SHIFT 7
+ #define XSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY (0x1<<8) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_SHIFT 8
#define XSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define XSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 3
- #define XSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define XSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 4
- #define XSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define XSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 5
- #define XSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define XSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 6
- #define XSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define XSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 7
- #define XSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
- #define XSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 8
+ #define XSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 9
#define XSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define XSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 9
-#define XSDM_REG_MEM_ECC_EVENTS_BB_K2 0xf80210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+ #define XSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: XSDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define XSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 10
+#define XSDM_REG_MEM_ECC_EVENTS 0xf80210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define XSDM_REG_TIMER_TICK 0xf80400UL //Access:RW DataWidth:0x20 // Defines the number of system clock cycles that are used to define a timers clock tick cycle. Note: The minimal legal value for this register is 25, lower values can cause timers functionality issues.
#define XSDM_REG_TIMERS_TICK_ENABLE 0xf80404UL //Access:RW DataWidth:0x1 // Enable for tick counter.
#define XSDM_REG_OPERATION_GEN 0xf80408UL //Access:W DataWidth:0x14 // This register is used to assert a completion operation of choice; It includes the following completion fields: bits 19:16 are Trig; bits 15:0 are CompParams. Note that trigger types 3,5 or 8 are not supported by this interface as they require a completion message. If there is an attempt to assert an OperationGen with Trig = 3,5 or 8, the operation will be voided.
@@ -66343,7 +68822,7 @@
#define XSDM_REG_BRB_ALMOST_FULL 0xf80700UL //Access:RW DataWidth:0x5 // Almost full signal for read data from BRB in DMA_RSP block.
#define XSDM_REG_PXP_ALMOST_FULL 0xf80704UL //Access:RW DataWidth:0x4 // Almost full signal for read data from pxp in DMA_RSP block.
#define XSDM_REG_DORQ_ALMOST_FULL 0xf80708UL //Access:RW DataWidth:0x6 // Almost full signal for read data from DORQ in SDM_DORQ block.
-#define XSDM_REG_AGG_INT_CTRL 0xf80800UL //Access:RW DataWidth:0xa // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [20:16] Affinity [15:12] NumL2m. [11] Exclusive. [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [8] T-flag which determines if a thread is allocated for this handler in the Storm. [7:0] EventID which selects the event ID of the associated handler.
+#define XSDM_REG_AGG_INT_CTRL 0xf80800UL //Access:RW DataWidth:0x12 // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [17:16] Affinity [15:12] NumL2m: Field is passed transparently to FIC message in case of direct messge. [11] Exclusive: . [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [7:0] EventID which selects the event ID of the associated handler.
#define XSDM_REG_AGG_INT_CTRL_SIZE 32
#define XSDM_REG_AGG_INT_STATE 0xf80a00UL //Access:R DataWidth:0x2 // This array of registers provides access to each of the 32 aggregated interrupt request state machines; The values read from this register mean the following; 00 = IDLE; 01 = PEND; 10 = MASK; 11 = PANDM.
#define XSDM_REG_AGG_INT_STATE_SIZE 32
@@ -66434,12 +68913,14 @@
#define XSDM_REG_EXT_OVERFLOW_SIZE 36
#define XSDM_REG_PRM_FIFO 0xf83c00UL //Access:WB_R DataWidth:0x41 // Provides read-only access of the PRM completion input FIFO. Intended for debug purposes.
#define XSDM_REG_PRM_FIFO_SIZE 84
-#define XSDM_REG_TIMERS 0xf84000UL //Access:WB DataWidth:0x39 // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
-#define XSDM_REG_TIMERS_SIZE 48
+#define XSDM_REG_TIMERS 0xf84000UL //Access:WB DataWidth:0x3d // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
+#define XSDM_REG_TIMERS_SIZE_BB_K2 48
+#define XSDM_REG_TIMERS_SIZE_E5 160
#define XSDM_REG_INP_QUEUE 0xf85000UL //Access:WB DataWidth:0x40 // Input queue memory. Access only for debugging.
#define XSDM_REG_INP_QUEUE_SIZE 416
#define XSDM_REG_CMSG_QUE 0xf88000UL //Access:WB DataWidth:0x40 // CM queue memory. Access only for debugging.
-#define XSDM_REG_CMSG_QUE_SIZE 128
+#define XSDM_REG_CMSG_QUE_SIZE_BB_K2 128
+#define XSDM_REG_CMSG_QUE_SIZE_E5 320
#define YSDM_REG_ENABLE_IN1 0xf90004UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define YSDM_REG_ENABLE_IN1_EXT_STORE_IN_EN (0x1<<0) // Enable for input command from STORM.
#define YSDM_REG_ENABLE_IN1_EXT_STORE_IN_EN_SHIFT 0
@@ -66493,7 +68974,7 @@
#define YSDM_REG_ENABLE_OUT1_PXP_INT_OUT_EN_SHIFT 0
#define YSDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN (0x1<<1) // Enable for output thread ready to the SEMI.
#define YSDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN_SHIFT 1
- #define YSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // Enable the output thread release to the SEMI.
+ #define YSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // No longer implemented.
#define YSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN_SHIFT 2
#define YSDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN (0x1<<3) // Enable for output load request to CCFC.
#define YSDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN_SHIFT 3
@@ -66787,26 +69268,38 @@
#define YSDM_REG_INT_STS_CLR_XCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 26
#define YSDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5 (0x1<<27) // small FIFO error indication. FIFO is instantiated only in the MSDM => XCM and MSDM =>YCM interface
#define YSDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 27
-#define YSDM_REG_PRTY_MASK_H_0_BB_K2 0xf90204UL //Access:RW DataWidth:0x9 // Multi Field Register.
+#define YSDM_REG_PRTY_MASK_H_0 0xf90204UL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define YSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define YSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 0
#define YSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
#define YSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define YSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 1
#define YSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define YSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define YSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 2
#define YSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define YSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 2
+ #define YSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 3
+ #define YSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<4) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 4
+ #define YSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 5
+ #define YSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<6) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 6
+ #define YSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<7) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 7
+ #define YSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY (0x1<<8) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_SHIFT 8
#define YSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define YSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 3
- #define YSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define YSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 4
- #define YSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define YSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 5
- #define YSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define YSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 6
- #define YSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define YSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 7
- #define YSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define YSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 8
-#define YSDM_REG_MEM_ECC_EVENTS_BB_K2 0xf90210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+ #define YSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: YSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define YSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 9
+#define YSDM_REG_MEM_ECC_EVENTS 0xf90210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define YSDM_REG_TIMER_TICK 0xf90400UL //Access:RW DataWidth:0x20 // Defines the number of system clock cycles that are used to define a timers clock tick cycle. Note: The minimal legal value for this register is 25, lower values can cause timers functionality issues.
#define YSDM_REG_TIMERS_TICK_ENABLE 0xf90404UL //Access:RW DataWidth:0x1 // Enable for tick counter.
#define YSDM_REG_OPERATION_GEN 0xf90408UL //Access:W DataWidth:0x14 // This register is used to assert a completion operation of choice; It includes the following completion fields: bits 19:16 are Trig; bits 15:0 are CompParams. Note that trigger types 3,5 or 8 are not supported by this interface as they require a completion message. If there is an attempt to assert an OperationGen with Trig = 3,5 or 8, the operation will be voided.
@@ -66841,7 +69334,7 @@
#define YSDM_REG_BRB_ALMOST_FULL 0xf90700UL //Access:RW DataWidth:0x5 // Almost full signal for read data from BRB in DMA_RSP block.
#define YSDM_REG_PXP_ALMOST_FULL 0xf90704UL //Access:RW DataWidth:0x4 // Almost full signal for read data from pxp in DMA_RSP block.
#define YSDM_REG_DORQ_ALMOST_FULL 0xf90708UL //Access:RW DataWidth:0x6 // Almost full signal for read data from DORQ in SDM_DORQ block.
-#define YSDM_REG_AGG_INT_CTRL 0xf90800UL //Access:RW DataWidth:0xa // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [20:16] Affinity [15:12] NumL2m. [11] Exclusive. [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [8] T-flag which determines if a thread is allocated for this handler in the Storm. [7:0] EventID which selects the event ID of the associated handler.
+#define YSDM_REG_AGG_INT_CTRL 0xf90800UL //Access:RW DataWidth:0x12 // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [17:16] Affinity [15:12] NumL2m: Field is passed transparently to FIC message in case of direct messge. [11] Exclusive: . [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [7:0] EventID which selects the event ID of the associated handler.
#define YSDM_REG_AGG_INT_CTRL_SIZE 32
#define YSDM_REG_AGG_INT_STATE 0xf90a00UL //Access:R DataWidth:0x2 // This array of registers provides access to each of the 32 aggregated interrupt request state machines; The values read from this register mean the following; 00 = IDLE; 01 = PEND; 10 = MASK; 11 = PANDM.
#define YSDM_REG_AGG_INT_STATE_SIZE 32
@@ -66932,12 +69425,14 @@
#define YSDM_REG_EXT_OVERFLOW_SIZE 36
#define YSDM_REG_PRM_FIFO 0xf93c00UL //Access:WB_R DataWidth:0x41 // Provides read-only access of the PRM completion input FIFO. Intended for debug purposes.
#define YSDM_REG_PRM_FIFO_SIZE 84
-#define YSDM_REG_TIMERS 0xf94000UL //Access:WB DataWidth:0x3a // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
-#define YSDM_REG_TIMERS_SIZE 28
+#define YSDM_REG_TIMERS 0xf94000UL //Access:WB DataWidth:0x3d // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
+#define YSDM_REG_TIMERS_SIZE_BB_K2 28
+#define YSDM_REG_TIMERS_SIZE_E5 288
#define YSDM_REG_INP_QUEUE 0xf95000UL //Access:WB DataWidth:0x40 // Input queue memory. Access only for debugging.
#define YSDM_REG_INP_QUEUE_SIZE 344
#define YSDM_REG_CMSG_QUE 0xf98000UL //Access:WB DataWidth:0x40 // CM queue memory. Access only for debugging.
-#define YSDM_REG_CMSG_QUE_SIZE 192
+#define YSDM_REG_CMSG_QUE_SIZE_BB_K2 192
+#define YSDM_REG_CMSG_QUE_SIZE_E5 320
#define PSDM_REG_ENABLE_IN1 0xfa0004UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define PSDM_REG_ENABLE_IN1_EXT_STORE_IN_EN (0x1<<0) // Enable for input command from STORM.
#define PSDM_REG_ENABLE_IN1_EXT_STORE_IN_EN_SHIFT 0
@@ -66991,7 +69486,7 @@
#define PSDM_REG_ENABLE_OUT1_PXP_INT_OUT_EN_SHIFT 0
#define PSDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN (0x1<<1) // Enable for output thread ready to the SEMI.
#define PSDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN_SHIFT 1
- #define PSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // Enable the output thread release to the SEMI.
+ #define PSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // No longer implemented.
#define PSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN_SHIFT 2
#define PSDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN (0x1<<3) // Enable for output load request to CCFC.
#define PSDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN_SHIFT 3
@@ -67285,26 +69780,62 @@
#define PSDM_REG_INT_STS_CLR_XCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 26
#define PSDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5 (0x1<<27) // small FIFO error indication. FIFO is instantiated only in the MSDM => XCM and MSDM =>YCM interface
#define PSDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 27
-#define PSDM_REG_PRTY_MASK_H_0_BB_K2 0xfa0204UL //Access:RW DataWidth:0x9 // Multi Field Register.
+#define PSDM_REG_PRTY_MASK_H_0 0xfa0204UL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define PSDM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_E5_SHIFT 0
+ #define PSDM_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_E5_SHIFT 1
+ #define PSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define PSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 2
#define PSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
#define PSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define PSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 3
#define PSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define PSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define PSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 4
#define PSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define PSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 2
- #define PSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
- #define PSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define PSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 5
#define PSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define PSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 4
- #define PSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define PSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define PSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 6
+ #define PSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 7
#define PSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define PSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 6
+ #define PSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 8
+ #define PSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define PSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 9
#define PSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define PSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 7
#define PSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: PSDM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define PSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 8
+#define PSDM_REG_MEM_ECC_ENABLE_0_E5 0xfa0210UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define PSDM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance psdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.PSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_even.i_ecc in module sdm_comp_msg_que_ram_psdm_even
+ #define PSDM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_E5_SHIFT 0
+ #define PSDM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance psdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.PSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_odd.i_ecc in module sdm_comp_msg_que_ram_psdm_odd
+ #define PSDM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_E5_SHIFT 1
+#define PSDM_REG_MEM_ECC_PARITY_ONLY_0_E5 0xfa0214UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define PSDM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance psdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.PSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_even.i_ecc in module sdm_comp_msg_que_ram_psdm_even
+ #define PSDM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_E5_SHIFT 0
+ #define PSDM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance psdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.PSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_odd.i_ecc in module sdm_comp_msg_que_ram_psdm_odd
+ #define PSDM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_E5_SHIFT 1
+#define PSDM_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0xfa0218UL //Access:RC DataWidth:0x2 // Multi Field Register.
+ #define PSDM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance psdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.PSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_even.i_ecc in module sdm_comp_msg_que_ram_psdm_even
+ #define PSDM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_E5_SHIFT 0
+ #define PSDM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance psdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.PSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_odd.i_ecc in module sdm_comp_msg_que_ram_psdm_odd
+ #define PSDM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_E5_SHIFT 1
#define PSDM_REG_MEM_ECC_EVENTS_BB_K2 0xfa0210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define PSDM_REG_MEM_ECC_EVENTS_E5 0xfa021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define PSDM_REG_TIMER_TICK 0xfa0400UL //Access:RW DataWidth:0x20 // Defines the number of system clock cycles that are used to define a timers clock tick cycle. Note: The minimal legal value for this register is 25, lower values can cause timers functionality issues.
#define PSDM_REG_TIMERS_TICK_ENABLE 0xfa0404UL //Access:RW DataWidth:0x1 // Enable for tick counter.
#define PSDM_REG_OPERATION_GEN 0xfa0408UL //Access:W DataWidth:0x14 // This register is used to assert a completion operation of choice; It includes the following completion fields: bits 19:16 are Trig; bits 15:0 are CompParams. Note that trigger types 3,5 or 8 are not supported by this interface as they require a completion message. If there is an attempt to assert an OperationGen with Trig = 3,5 or 8, the operation will be voided.
@@ -67339,7 +69870,7 @@
#define PSDM_REG_BRB_ALMOST_FULL 0xfa0700UL //Access:RW DataWidth:0x5 // Almost full signal for read data from BRB in DMA_RSP block.
#define PSDM_REG_PXP_ALMOST_FULL 0xfa0704UL //Access:RW DataWidth:0x4 // Almost full signal for read data from pxp in DMA_RSP block.
#define PSDM_REG_DORQ_ALMOST_FULL 0xfa0708UL //Access:RW DataWidth:0x6 // Almost full signal for read data from DORQ in SDM_DORQ block.
-#define PSDM_REG_AGG_INT_CTRL 0xfa0800UL //Access:RW DataWidth:0xa // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [20:16] Affinity [15:12] NumL2m. [11] Exclusive. [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [8] T-flag which determines if a thread is allocated for this handler in the Storm. [7:0] EventID which selects the event ID of the associated handler.
+#define PSDM_REG_AGG_INT_CTRL 0xfa0800UL //Access:RW DataWidth:0x12 // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [17:16] Affinity [15:12] NumL2m: Field is passed transparently to FIC message in case of direct messge. [11] Exclusive: . [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [7:0] EventID which selects the event ID of the associated handler.
#define PSDM_REG_AGG_INT_CTRL_SIZE 32
#define PSDM_REG_AGG_INT_STATE 0xfa0a00UL //Access:R DataWidth:0x2 // This array of registers provides access to each of the 32 aggregated interrupt request state machines; The values read from this register mean the following; 00 = IDLE; 01 = PEND; 10 = MASK; 11 = PANDM.
#define PSDM_REG_AGG_INT_STATE_SIZE 32
@@ -67430,12 +69961,14 @@
#define PSDM_REG_EXT_OVERFLOW_SIZE 36
#define PSDM_REG_PRM_FIFO 0xfa3c00UL //Access:WB_R DataWidth:0x41 // Provides read-only access of the PRM completion input FIFO. Intended for debug purposes.
#define PSDM_REG_PRM_FIFO_SIZE 84
-#define PSDM_REG_TIMERS 0xfa4000UL //Access:WB DataWidth:0x39 // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
-#define PSDM_REG_TIMERS_SIZE 8
+#define PSDM_REG_TIMERS 0xfa4000UL //Access:WB DataWidth:0x3d // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
+#define PSDM_REG_TIMERS_SIZE_BB_K2 8
+#define PSDM_REG_TIMERS_SIZE_E5 160
#define PSDM_REG_INP_QUEUE 0xfa5000UL //Access:WB DataWidth:0x40 // Input queue memory. Access only for debugging.
#define PSDM_REG_INP_QUEUE_SIZE 272
#define PSDM_REG_CMSG_QUE 0xfa8000UL //Access:WB DataWidth:0x40 // CM queue memory. Access only for debugging.
-#define PSDM_REG_CMSG_QUE_SIZE 128
+#define PSDM_REG_CMSG_QUE_SIZE_BB_K2 128
+#define PSDM_REG_CMSG_QUE_SIZE_E5 800
#define TSDM_REG_ENABLE_IN1 0xfb0004UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define TSDM_REG_ENABLE_IN1_EXT_STORE_IN_EN (0x1<<0) // Enable for input command from STORM.
#define TSDM_REG_ENABLE_IN1_EXT_STORE_IN_EN_SHIFT 0
@@ -67489,7 +70022,7 @@
#define TSDM_REG_ENABLE_OUT1_PXP_INT_OUT_EN_SHIFT 0
#define TSDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN (0x1<<1) // Enable for output thread ready to the SEMI.
#define TSDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN_SHIFT 1
- #define TSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // Enable the output thread release to the SEMI.
+ #define TSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // No longer implemented.
#define TSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN_SHIFT 2
#define TSDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN (0x1<<3) // Enable for output load request to CCFC.
#define TSDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN_SHIFT 3
@@ -67783,28 +70316,42 @@
#define TSDM_REG_INT_STS_CLR_XCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 26
#define TSDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5 (0x1<<27) // small FIFO error indication. FIFO is instantiated only in the MSDM => XCM and MSDM =>YCM interface
#define TSDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 27
-#define TSDM_REG_PRTY_MASK_H_0_BB_K2 0xfb0204UL //Access:RW DataWidth:0xa // Multi Field Register.
+#define TSDM_REG_PRTY_MASK_H_0 0xfb0204UL //Access:RW DataWidth:0xb // Multi Field Register.
+ #define TSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 6
+ #define TSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 0
#define TSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
#define TSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define TSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 1
#define TSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
#define TSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define TSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 2
#define TSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define TSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 2
+ #define TSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 3
#define TSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define TSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define TSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 4
+ #define TSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<5) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 5
+ #define TSDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 6
+ #define TSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<7) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 7
+ #define TSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<8) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 8
+ #define TSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY (0x1<<9) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_SHIFT 9
#define TSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define TSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 4
- #define TSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define TSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 5
- #define TSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define TSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 6
- #define TSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define TSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 7
- #define TSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define TSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 8
- #define TSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define TSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 9
-#define TSDM_REG_MEM_ECC_EVENTS_BB_K2 0xfb0210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+ #define TSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: TSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define TSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 10
+#define TSDM_REG_MEM_ECC_EVENTS 0xfb0210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define TSDM_REG_TIMER_TICK 0xfb0400UL //Access:RW DataWidth:0x20 // Defines the number of system clock cycles that are used to define a timers clock tick cycle. Note: The minimal legal value for this register is 25, lower values can cause timers functionality issues.
#define TSDM_REG_TIMERS_TICK_ENABLE 0xfb0404UL //Access:RW DataWidth:0x1 // Enable for tick counter.
#define TSDM_REG_OPERATION_GEN 0xfb0408UL //Access:W DataWidth:0x14 // This register is used to assert a completion operation of choice; It includes the following completion fields: bits 19:16 are Trig; bits 15:0 are CompParams. Note that trigger types 3,5 or 8 are not supported by this interface as they require a completion message. If there is an attempt to assert an OperationGen with Trig = 3,5 or 8, the operation will be voided.
@@ -67838,7 +70385,7 @@
#define TSDM_REG_BRB_ALMOST_FULL 0xfb0700UL //Access:RW DataWidth:0x5 // Almost full signal for read data from BRB in DMA_RSP block.
#define TSDM_REG_PXP_ALMOST_FULL 0xfb0704UL //Access:RW DataWidth:0x4 // Almost full signal for read data from pxp in DMA_RSP block.
#define TSDM_REG_DORQ_ALMOST_FULL 0xfb0708UL //Access:RW DataWidth:0x6 // Almost full signal for read data from DORQ in SDM_DORQ block.
-#define TSDM_REG_AGG_INT_CTRL 0xfb0800UL //Access:RW DataWidth:0xa // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [20:16] Affinity [15:12] NumL2m. [11] Exclusive. [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [8] T-flag which determines if a thread is allocated for this handler in the Storm. [7:0] EventID which selects the event ID of the associated handler.
+#define TSDM_REG_AGG_INT_CTRL 0xfb0800UL //Access:RW DataWidth:0x12 // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [17:16] Affinity [15:12] NumL2m: Field is passed transparently to FIC message in case of direct messge. [11] Exclusive: . [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [7:0] EventID which selects the event ID of the associated handler.
#define TSDM_REG_AGG_INT_CTRL_SIZE 32
#define TSDM_REG_AGG_INT_STATE 0xfb0a00UL //Access:R DataWidth:0x2 // This array of registers provides access to each of the 32 aggregated interrupt request state machines; The values read from this register mean the following; 00 = IDLE; 01 = PEND; 10 = MASK; 11 = PANDM.
#define TSDM_REG_AGG_INT_STATE_SIZE 32
@@ -67929,12 +70476,14 @@
#define TSDM_REG_EXT_OVERFLOW_SIZE 36
#define TSDM_REG_PRM_FIFO 0xfb3c00UL //Access:WB_R DataWidth:0x41 // Provides read-only access of the PRM completion input FIFO. Intended for debug purposes.
#define TSDM_REG_PRM_FIFO_SIZE 84
-#define TSDM_REG_TIMERS 0xfb4000UL //Access:WB DataWidth:0x3a // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
-#define TSDM_REG_TIMERS_SIZE 48
+#define TSDM_REG_TIMERS 0xfb4000UL //Access:WB DataWidth:0x3d // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
+#define TSDM_REG_TIMERS_SIZE_BB_K2 48
+#define TSDM_REG_TIMERS_SIZE_E5 160
#define TSDM_REG_INP_QUEUE 0xfb5000UL //Access:WB DataWidth:0x40 // Input queue memory. Access only for debugging.
#define TSDM_REG_INP_QUEUE_SIZE 416
#define TSDM_REG_CMSG_QUE 0xfb8000UL //Access:WB DataWidth:0x40 // CM queue memory. Access only for debugging.
-#define TSDM_REG_CMSG_QUE_SIZE 192
+#define TSDM_REG_CMSG_QUE_SIZE_BB_K2 192
+#define TSDM_REG_CMSG_QUE_SIZE_E5 320
#define MSDM_REG_ENABLE_IN1 0xfc0004UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define MSDM_REG_ENABLE_IN1_EXT_STORE_IN_EN (0x1<<0) // Enable for input command from STORM.
#define MSDM_REG_ENABLE_IN1_EXT_STORE_IN_EN_SHIFT 0
@@ -67988,7 +70537,7 @@
#define MSDM_REG_ENABLE_OUT1_PXP_INT_OUT_EN_SHIFT 0
#define MSDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN (0x1<<1) // Enable for output thread ready to the SEMI.
#define MSDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN_SHIFT 1
- #define MSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // Enable the output thread release to the SEMI.
+ #define MSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // No longer implemented.
#define MSDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN_SHIFT 2
#define MSDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN (0x1<<3) // Enable for output load request to CCFC.
#define MSDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN_SHIFT 3
@@ -68282,30 +70831,70 @@
#define MSDM_REG_INT_STS_CLR_XCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 26
#define MSDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5 (0x1<<27) // small FIFO error indication. FIFO is instantiated only in the MSDM => XCM and MSDM =>YCM interface
#define MSDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 27
-#define MSDM_REG_PRTY_MASK_H_0_BB_K2 0xfc0204UL //Access:RW DataWidth:0xb // Multi Field Register.
+#define MSDM_REG_PRTY_MASK_H_0 0xfc0204UL //Access:RW DataWidth:0xc // Multi Field Register.
+ #define MSDM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_E5_SHIFT 0
+ #define MSDM_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_E5_SHIFT 1
+ #define MSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 10
+ #define MSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 2
#define MSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
#define MSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define MSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 3
#define MSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
#define MSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define MSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 4
#define MSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define MSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 2
+ #define MSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 5
#define MSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define MSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 3
- #define MSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
- #define MSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 4
+ #define MSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 6
#define MSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define MSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 5
- #define MSDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define MSDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2_SHIFT 6
+ #define MSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 7
+ #define MSDM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 8
#define MSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define MSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 7
+ #define MSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 9
+ #define MSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 4
+ #define MSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 10
+ #define MSDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2_SHIFT 6
+ #define MSDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define MSDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 11
#define MSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define MSDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 8
#define MSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define MSDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 9
- #define MSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: MSDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define MSDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 10
+#define MSDM_REG_MEM_ECC_ENABLE_0_E5 0xfc0210UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define MSDM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance msdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.MSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_even.i_ecc in module sdm_comp_msg_que_ram_msdm_even
+ #define MSDM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_E5_SHIFT 0
+ #define MSDM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance msdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.MSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_odd.i_ecc in module sdm_comp_msg_que_ram_msdm_odd
+ #define MSDM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_E5_SHIFT 1
+#define MSDM_REG_MEM_ECC_PARITY_ONLY_0_E5 0xfc0214UL //Access:RW DataWidth:0x2 // Multi Field Register.
+ #define MSDM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance msdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.MSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_even.i_ecc in module sdm_comp_msg_que_ram_msdm_even
+ #define MSDM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_E5_SHIFT 0
+ #define MSDM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance msdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.MSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_odd.i_ecc in module sdm_comp_msg_que_ram_msdm_odd
+ #define MSDM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_E5_SHIFT 1
+#define MSDM_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0xfc0218UL //Access:RC DataWidth:0x2 // Multi Field Register.
+ #define MSDM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance msdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.MSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_even.i_ecc in module sdm_comp_msg_que_ram_msdm_even
+ #define MSDM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_E5_SHIFT 0
+ #define MSDM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance msdm.i_sdm_core.i_sdm_cmp_msg_que_ram_wrap.MSDM_COMP_MSG_QUE_RAM_GEN_IF.i_sdm_comp_msg_que_ram_odd.i_ecc in module sdm_comp_msg_que_ram_msdm_odd
+ #define MSDM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_E5_SHIFT 1
#define MSDM_REG_MEM_ECC_EVENTS_BB_K2 0xfc0210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define MSDM_REG_MEM_ECC_EVENTS_E5 0xfc021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define MSDM_REG_TIMER_TICK 0xfc0400UL //Access:RW DataWidth:0x20 // Defines the number of system clock cycles that are used to define a timers clock tick cycle. Note: The minimal legal value for this register is 25, lower values can cause timers functionality issues.
#define MSDM_REG_TIMERS_TICK_ENABLE 0xfc0404UL //Access:RW DataWidth:0x1 // Enable for tick counter.
#define MSDM_REG_OPERATION_GEN 0xfc0408UL //Access:W DataWidth:0x14 // This register is used to assert a completion operation of choice; It includes the following completion fields: bits 19:16 are Trig; bits 15:0 are CompParams. Note that trigger types 3,5 or 8 are not supported by this interface as they require a completion message. If there is an attempt to assert an OperationGen with Trig = 3,5 or 8, the operation will be voided.
@@ -68341,7 +70930,7 @@
#define MSDM_REG_BRB_ALMOST_FULL 0xfc0700UL //Access:RW DataWidth:0x5 // Almost full signal for read data from BRB in DMA_RSP block.
#define MSDM_REG_PXP_ALMOST_FULL 0xfc0704UL //Access:RW DataWidth:0x4 // Almost full signal for read data from pxp in DMA_RSP block.
#define MSDM_REG_DORQ_ALMOST_FULL 0xfc0708UL //Access:RW DataWidth:0x6 // Almost full signal for read data from DORQ in SDM_DORQ block.
-#define MSDM_REG_AGG_INT_CTRL 0xfc0800UL //Access:RW DataWidth:0xa // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [20:16] Affinity [15:12] NumL2m. [11] Exclusive. [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [8] T-flag which determines if a thread is allocated for this handler in the Storm. [7:0] EventID which selects the event ID of the associated handler.
+#define MSDM_REG_AGG_INT_CTRL 0xfc0800UL //Access:RW DataWidth:0x12 // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [17:16] Affinity [15:12] NumL2m: Field is passed transparently to FIC message in case of direct messge. [11] Exclusive: . [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [7:0] EventID which selects the event ID of the associated handler.
#define MSDM_REG_AGG_INT_CTRL_SIZE 32
#define MSDM_REG_AGG_INT_STATE 0xfc0a00UL //Access:R DataWidth:0x2 // This array of registers provides access to each of the 32 aggregated interrupt request state machines; The values read from this register mean the following; 00 = IDLE; 01 = PEND; 10 = MASK; 11 = PANDM.
#define MSDM_REG_AGG_INT_STATE_SIZE 32
@@ -68432,12 +71021,14 @@
#define MSDM_REG_EXT_OVERFLOW_SIZE 36
#define MSDM_REG_PRM_FIFO 0xfc3c00UL //Access:WB_R DataWidth:0x41 // Provides read-only access of the PRM completion input FIFO. Intended for debug purposes.
#define MSDM_REG_PRM_FIFO_SIZE 84
-#define MSDM_REG_TIMERS 0xfc4000UL //Access:WB DataWidth:0x3a // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
-#define MSDM_REG_TIMERS_SIZE 48
+#define MSDM_REG_TIMERS 0xfc4000UL //Access:WB DataWidth:0x3d // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
+#define MSDM_REG_TIMERS_SIZE_BB_K2 48
+#define MSDM_REG_TIMERS_SIZE_E5 288
#define MSDM_REG_INP_QUEUE 0xfc5000UL //Access:WB DataWidth:0x40 // Input queue memory. Access only for debugging.
#define MSDM_REG_INP_QUEUE_SIZE 416
#define MSDM_REG_CMSG_QUE 0xfc8000UL //Access:WB DataWidth:0x40 // CM queue memory. Access only for debugging.
-#define MSDM_REG_CMSG_QUE_SIZE 576
+#define MSDM_REG_CMSG_QUE_SIZE_BB_K2 576
+#define MSDM_REG_CMSG_QUE_SIZE_E5 1200
#define USDM_REG_ENABLE_IN1 0xfd0004UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define USDM_REG_ENABLE_IN1_EXT_STORE_IN_EN (0x1<<0) // Enable for input command from STORM.
#define USDM_REG_ENABLE_IN1_EXT_STORE_IN_EN_SHIFT 0
@@ -68491,7 +71082,7 @@
#define USDM_REG_ENABLE_OUT1_PXP_INT_OUT_EN_SHIFT 0
#define USDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN (0x1<<1) // Enable for output thread ready to the SEMI.
#define USDM_REG_ENABLE_OUT1_THREAD_RDY_OUT_EN_SHIFT 1
- #define USDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // Enable the output thread release to the SEMI.
+ #define USDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN (0x1<<2) // No longer implemented.
#define USDM_REG_ENABLE_OUT1_THREAD_RLS_OUT_EN_SHIFT 2
#define USDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN (0x1<<3) // Enable for output load request to CCFC.
#define USDM_REG_ENABLE_OUT1_CCFC_LOAD_OUT_EN_SHIFT 3
@@ -68785,28 +71376,42 @@
#define USDM_REG_INT_STS_CLR_XCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 26
#define USDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5 (0x1<<27) // small FIFO error indication. FIFO is instantiated only in the MSDM => XCM and MSDM =>YCM interface
#define USDM_REG_INT_STS_CLR_YCM_RMT_BUFFER_ERROR_K2_E5_SHIFT 27
-#define USDM_REG_PRTY_MASK_H_0_BB_K2 0xfd0204UL //Access:RW DataWidth:0xa // Multi Field Register.
+#define USDM_REG_PRTY_MASK_H_0 0xfd0204UL //Access:RW DataWidth:0xb // Multi Field Register.
+ #define USDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 9
+ #define USDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 0
#define USDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
#define USDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define USDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 1
#define USDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define USDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define USDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 2
#define USDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define USDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 2
+ #define USDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 3
+ #define USDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY (0x1<<4) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_SHIFT 4
+ #define USDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 5
+ #define USDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY (0x1<<6) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_SHIFT 6
+ #define USDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY (0x1<<7) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_SHIFT 7
+ #define USDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY (0x1<<8) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_SHIFT 8
#define USDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define USDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_K2_SHIFT 3
- #define USDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define USDM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 4
+ #define USDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 9
#define USDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
#define USDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_K2_SHIFT 5
- #define USDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define USDM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 6
- #define USDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
- #define USDM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 7
- #define USDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define USDM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 8
- #define USDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define USDM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 9
-#define USDM_REG_MEM_ECC_EVENTS_BB_K2 0xfd0210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+ #define USDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: USDM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define USDM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 10
+#define USDM_REG_MEM_ECC_EVENTS 0xfd0210UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define USDM_REG_TIMER_TICK 0xfd0400UL //Access:RW DataWidth:0x20 // Defines the number of system clock cycles that are used to define a timers clock tick cycle. Note: The minimal legal value for this register is 25, lower values can cause timers functionality issues.
#define USDM_REG_TIMERS_TICK_ENABLE 0xfd0404UL //Access:RW DataWidth:0x1 // Enable for tick counter.
#define USDM_REG_OPERATION_GEN 0xfd0408UL //Access:W DataWidth:0x14 // This register is used to assert a completion operation of choice; It includes the following completion fields: bits 19:16 are Trig; bits 15:0 are CompParams. Note that trigger types 3,5 or 8 are not supported by this interface as they require a completion message. If there is an attempt to assert an OperationGen with Trig = 3,5 or 8, the operation will be voided.
@@ -68841,7 +71446,7 @@
#define USDM_REG_BRB_ALMOST_FULL 0xfd0700UL //Access:RW DataWidth:0x5 // Almost full signal for read data from BRB in DMA_RSP block.
#define USDM_REG_PXP_ALMOST_FULL 0xfd0704UL //Access:RW DataWidth:0x4 // Almost full signal for read data from pxp in DMA_RSP block.
#define USDM_REG_DORQ_ALMOST_FULL 0xfd0708UL //Access:RW DataWidth:0x6 // Almost full signal for read data from DORQ in SDM_DORQ block.
-#define USDM_REG_AGG_INT_CTRL 0xfd0800UL //Access:RW DataWidth:0xa // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [20:16] Affinity [15:12] NumL2m. [11] Exclusive. [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [8] T-flag which determines if a thread is allocated for this handler in the Storm. [7:0] EventID which selects the event ID of the associated handler.
+#define USDM_REG_AGG_INT_CTRL 0xfd0800UL //Access:RW DataWidth:0x12 // This array of registers provides controls for each of the aggregated interrupts; The fields are defined as follows: [17:16] Affinity [15:12] NumL2m: Field is passed transparently to FIC message in case of direct messge. [11] Exclusive: . [10] Core-selection where 0=Core_A and 1=Core_B. [9] Mode bit where 0=normal and 1=auto-mask-mode. [7:0] EventID which selects the event ID of the associated handler.
#define USDM_REG_AGG_INT_CTRL_SIZE 32
#define USDM_REG_AGG_INT_STATE 0xfd0a00UL //Access:R DataWidth:0x2 // This array of registers provides access to each of the 32 aggregated interrupt request state machines; The values read from this register mean the following; 00 = IDLE; 01 = PEND; 10 = MASK; 11 = PANDM.
#define USDM_REG_AGG_INT_STATE_SIZE 32
@@ -68932,12 +71537,14 @@
#define USDM_REG_EXT_OVERFLOW_SIZE 36
#define USDM_REG_PRM_FIFO 0xfd3c00UL //Access:WB_R DataWidth:0x41 // Provides read-only access of the PRM completion input FIFO. Intended for debug purposes.
#define USDM_REG_PRM_FIFO_SIZE 116
-#define USDM_REG_TIMERS 0xfd4000UL //Access:WB DataWidth:0x39 // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
-#define USDM_REG_TIMERS_SIZE 32
+#define USDM_REG_TIMERS 0xfd4000UL //Access:WB DataWidth:0x3d // Provides memory-mapped read/write access to the timers' memory. Intended for debug purposes.
+#define USDM_REG_TIMERS_SIZE_BB_K2 32
+#define USDM_REG_TIMERS_SIZE_E5 160
#define USDM_REG_INP_QUEUE 0xfd5000UL //Access:WB DataWidth:0x40 // Input queue memory. Access only for debugging.
#define USDM_REG_INP_QUEUE_SIZE 376
#define USDM_REG_CMSG_QUE 0xfd8000UL //Access:WB DataWidth:0x40 // CM queue memory. Access only for debugging.
-#define USDM_REG_CMSG_QUE_SIZE 384
+#define USDM_REG_CMSG_QUE_SIZE_BB_K2 384
+#define USDM_REG_CMSG_QUE_SIZE_E5 480
#define XCM_REG_INIT 0x1000000UL //Access:RW DataWidth:0x1 // Debug only. Initialises specific states and statuses. To initialise the state - write 1 into register; to enable working after that - write 0.
#define XCM_REG_QM_ACT_ST_CNT_INIT 0x1000004UL //Access:W DataWidth:0x1 // QM Active State counter initialization trigger.
#define XCM_REG_QM_ACT_ST_CNT_INIT_DONE 0x1000008UL //Access:RC DataWidth:0x1 // QM Active State counter initialization done.
@@ -69031,7 +71638,7 @@
#define XCM_REG_AGG_CON_CF23_Q_BB_K2 0x1000964UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
#define XCM_REG_AGG_CON_CF23_Q_E5 0x1000164UL //Access:RW DataWidth:0x3 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
#define XCM_REG_AGG_CON_CF24_Q_E5 0x1000168UL //Access:RW DataWidth:0x3 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define XCM_REG_INT_STS_0 0x1000180UL //Access:R DataWidth:0x14 // Multi Field Register.
+#define XCM_REG_INT_STS_0 0x1000180UL //Access:R DataWidth:0x12 // Multi Field Register.
#define XCM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define XCM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define XCM_REG_INT_STS_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -69068,11 +71675,7 @@
#define XCM_REG_INT_STS_0_EXT_LD_UNDER_ERR_E5_SHIFT 16
#define XCM_REG_INT_STS_0_EXT_LD_OVFL_ERR_E5 (0x1<<17) // Write to fully External read buffer.
#define XCM_REG_INT_STS_0_EXT_LD_OVFL_ERR_E5_SHIFT 17
- #define XCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<18) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define XCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 18
- #define XCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<19) // Affinity type = 3 (task based) but task doesn't exist.
- #define XCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 19
-#define XCM_REG_INT_MASK_0 0x1000184UL //Access:RW DataWidth:0x14 // Multi Field Register.
+#define XCM_REG_INT_MASK_0 0x1000184UL //Access:RW DataWidth:0x12 // Multi Field Register.
#define XCM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: XCM_REG_INT_STS_0.ADDRESS_ERROR .
#define XCM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define XCM_REG_INT_MASK_0_IS_STORM_OVFL_ERR (0x1<<1) // This bit masks, when set, the Interrupt bit: XCM_REG_INT_STS_0.IS_STORM_OVFL_ERR .
@@ -69109,11 +71712,7 @@
#define XCM_REG_INT_MASK_0_EXT_LD_UNDER_ERR_E5_SHIFT 16
#define XCM_REG_INT_MASK_0_EXT_LD_OVFL_ERR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: XCM_REG_INT_STS_0.EXT_LD_OVFL_ERR .
#define XCM_REG_INT_MASK_0_EXT_LD_OVFL_ERR_E5_SHIFT 17
- #define XCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: XCM_REG_INT_STS_0.AFFINITY_TYPE_NO_CON .
- #define XCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 18
- #define XCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: XCM_REG_INT_STS_0.AFFINITY_TYPE_NO_TASK .
- #define XCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 19
-#define XCM_REG_INT_STS_WR_0 0x1000188UL //Access:WR DataWidth:0x14 // Multi Field Register.
+#define XCM_REG_INT_STS_WR_0 0x1000188UL //Access:WR DataWidth:0x12 // Multi Field Register.
#define XCM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define XCM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define XCM_REG_INT_STS_WR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -69150,11 +71749,7 @@
#define XCM_REG_INT_STS_WR_0_EXT_LD_UNDER_ERR_E5_SHIFT 16
#define XCM_REG_INT_STS_WR_0_EXT_LD_OVFL_ERR_E5 (0x1<<17) // Write to fully External read buffer.
#define XCM_REG_INT_STS_WR_0_EXT_LD_OVFL_ERR_E5_SHIFT 17
- #define XCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<18) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define XCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 18
- #define XCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<19) // Affinity type = 3 (task based) but task doesn't exist.
- #define XCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 19
-#define XCM_REG_INT_STS_CLR_0 0x100018cUL //Access:RC DataWidth:0x14 // Multi Field Register.
+#define XCM_REG_INT_STS_CLR_0 0x100018cUL //Access:RC DataWidth:0x12 // Multi Field Register.
#define XCM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define XCM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define XCM_REG_INT_STS_CLR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -69191,10 +71786,6 @@
#define XCM_REG_INT_STS_CLR_0_EXT_LD_UNDER_ERR_E5_SHIFT 16
#define XCM_REG_INT_STS_CLR_0_EXT_LD_OVFL_ERR_E5 (0x1<<17) // Write to fully External read buffer.
#define XCM_REG_INT_STS_CLR_0_EXT_LD_OVFL_ERR_E5_SHIFT 17
- #define XCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<18) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define XCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 18
- #define XCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<19) // Affinity type = 3 (task based) but task doesn't exist.
- #define XCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 19
#define XCM_REG_INT_STS_1 0x1000190UL //Access:R DataWidth:0x19 // Multi Field Register.
#define XCM_REG_INT_STS_1_IS_YSEM_UNDER_ERR (0x1<<0) // Read from empty Ysem input buffer.
#define XCM_REG_INT_STS_1_IS_YSEM_UNDER_ERR_SHIFT 0
@@ -69467,97 +72058,147 @@
#define XCM_REG_INT_STS_CLR_2_QM_ACT_ST_CNT_DROP_UNDER_SHIFT 6
#define XCM_REG_INT_STS_CLR_2_QM_ACT_ST_CNT_ILLEG_PQNUM (0x1<<7) // Access to illegal PQ number in QM Active State Counter (more than 447).
#define XCM_REG_INT_STS_CLR_2_QM_ACT_ST_CNT_ILLEG_PQNUM_SHIFT 7
-#define XCM_REG_PRTY_MASK_H_0_BB_K2 0x1000204UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define XCM_REG_PRTY_MASK_H_0_MEM036_I_ECC_RF_INT_K2 (0x1<<0) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM036_I_ECC_RF_INT .
- #define XCM_REG_PRTY_MASK_H_0_MEM036_I_ECC_RF_INT_K2_SHIFT 0
- #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM003_I_ECC_0_RF_INT .
- #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_BB_K2_SHIFT 1
- #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM003_I_ECC_1_RF_INT .
- #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_BB_K2_SHIFT 2
- #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_2_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM003_I_ECC_2_RF_INT .
- #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_2_RF_INT_BB_K2_SHIFT 3
- #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_3_RF_INT_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM003_I_ECC_3_RF_INT .
- #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_3_RF_INT_BB_K2_SHIFT 4
- #define XCM_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
- #define XCM_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2_SHIFT 5
- #define XCM_REG_PRTY_MASK_H_0_MEM033_I_ECC_0_RF_INT_K2 (0x1<<6) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM033_I_ECC_0_RF_INT .
- #define XCM_REG_PRTY_MASK_H_0_MEM033_I_ECC_0_RF_INT_K2_SHIFT 6
- #define XCM_REG_PRTY_MASK_H_0_MEM033_I_ECC_1_RF_INT_K2 (0x1<<7) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM033_I_ECC_1_RF_INT .
- #define XCM_REG_PRTY_MASK_H_0_MEM033_I_ECC_1_RF_INT_K2_SHIFT 7
- #define XCM_REG_PRTY_MASK_H_0_MEM034_I_ECC_RF_INT_K2 (0x1<<8) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM034_I_ECC_RF_INT .
- #define XCM_REG_PRTY_MASK_H_0_MEM034_I_ECC_RF_INT_K2_SHIFT 8
- #define XCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_BB_K2_SHIFT 9
+#define XCM_REG_PRTY_MASK_H_0 0x1000204UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define XCM_REG_PRTY_MASK_H_0_MEM036_I_ECC_RF_INT_K2_E5 (0x1<<0) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM036_I_ECC_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM036_I_ECC_RF_INT_K2_E5_SHIFT 0
+ #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM003_I_ECC_0_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_SHIFT 1
+ #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM003_I_ECC_1_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_SHIFT 2
+ #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_2_RF_INT (0x1<<3) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM003_I_ECC_2_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_2_RF_INT_SHIFT 3
+ #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_3_RF_INT (0x1<<4) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM003_I_ECC_3_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_3_RF_INT_SHIFT 4
+ #define XCM_REG_PRTY_MASK_H_0_MEM004_I_ECC_0_RF_INT_E5 (0x1<<5) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM004_I_ECC_0_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM004_I_ECC_0_RF_INT_E5_SHIFT 5
+ #define XCM_REG_PRTY_MASK_H_0_MEM004_I_ECC_1_RF_INT_E5 (0x1<<6) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM004_I_ECC_1_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM004_I_ECC_1_RF_INT_E5_SHIFT 6
+ #define XCM_REG_PRTY_MASK_H_0_MEM034_I_ECC_0_RF_INT_E5 (0x1<<7) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM034_I_ECC_0_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM034_I_ECC_0_RF_INT_E5_SHIFT 7
+ #define XCM_REG_PRTY_MASK_H_0_MEM034_I_ECC_1_RF_INT_E5 (0x1<<8) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM034_I_ECC_1_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM034_I_ECC_1_RF_INT_E5_SHIFT 8
+ #define XCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY (0x1<<9) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_SHIFT 9
+ #define XCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB (0x1<<17) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_SHIFT 17
+ #define XCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2_SHIFT 18
+ #define XCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5_SHIFT 10
#define XCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_BB_K2_SHIFT 10
+ #define XCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5_SHIFT 11
#define XCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_K2_SHIFT 11
- #define XCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB (0x1<<14) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB_SHIFT 14
- #define XCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_K2_SHIFT 12
- #define XCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_SHIFT 12
- #define XCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_SHIFT 13
- #define XCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB_SHIFT 13
- #define XCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_K2_SHIFT 14
+ #define XCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5_SHIFT 12
#define XCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_BB (0x1<<27) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_BB_SHIFT 27
#define XCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_K2 (0x1<<15) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_K2_SHIFT 15
+ #define XCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_E5_SHIFT 13
+ #define XCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_SHIFT 12
+ #define XCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_SHIFT 13
+ #define XCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5_SHIFT 14
+ #define XCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB (0x1<<14) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB_SHIFT 14
+ #define XCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_K2_SHIFT 12
+ #define XCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_E5_SHIFT 15
+ #define XCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_K2 (0x1<<28) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_K2_SHIFT 28
+ #define XCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_E5_SHIFT 16
#define XCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB (0x1<<15) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_SHIFT 15
#define XCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_SHIFT 16
+ #define XCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5_SHIFT 17
#define XCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB (0x1<<16) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB_SHIFT 16
#define XCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_SHIFT 17
- #define XCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB (0x1<<17) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_SHIFT 17
- #define XCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2_SHIFT 18
+ #define XCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5_SHIFT 18
+ #define XCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB_SHIFT 13
+ #define XCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_K2_SHIFT 14
+ #define XCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_E5_SHIFT 19
#define XCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB (0x1<<18) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_SHIFT 18
#define XCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_K2_SHIFT 19
+ #define XCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5_SHIFT 20
#define XCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB (0x1<<19) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_SHIFT 19
#define XCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_SHIFT 20
+ #define XCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5_SHIFT 21
#define XCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_SHIFT 20
#define XCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_SHIFT 21
+ #define XCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5_SHIFT 22
#define XCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_BB_SHIFT 21
#define XCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_SHIFT 22
+ #define XCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5_SHIFT 23
#define XCM_REG_PRTY_MASK_H_0_MEM039_I_MEM_PRTY_K2 (0x1<<23) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM039_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM039_I_MEM_PRTY_K2_SHIFT 23
+ #define XCM_REG_PRTY_MASK_H_0_MEM039_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM039_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM039_I_MEM_PRTY_E5_SHIFT 24
#define XCM_REG_PRTY_MASK_H_0_MEM038_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM038_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM038_I_MEM_PRTY_BB_SHIFT 22
#define XCM_REG_PRTY_MASK_H_0_MEM038_I_MEM_PRTY_K2 (0x1<<24) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM038_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM038_I_MEM_PRTY_K2_SHIFT 24
+ #define XCM_REG_PRTY_MASK_H_0_MEM038_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM038_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM038_I_MEM_PRTY_E5_SHIFT 25
#define XCM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM037_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_BB_SHIFT 23
#define XCM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_K2 (0x1<<25) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM037_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_K2_SHIFT 25
+ #define XCM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM037_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_E5_SHIFT 26
#define XCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB (0x1<<25) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_SHIFT 25
#define XCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2 (0x1<<26) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_SHIFT 26
+ #define XCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 27
#define XCM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_K2 (0x1<<27) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM035_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_K2_SHIFT 27
- #define XCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_K2 (0x1<<28) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_K2_SHIFT 28
+ #define XCM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM035_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_E5_SHIFT 28
+ #define XCM_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_E5_SHIFT 29
#define XCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB (0x1<<28) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 28
#define XCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2 (0x1<<29) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_SHIFT 29
+ #define XCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 30
+ #define XCM_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_BB_K2_SHIFT 5
+ #define XCM_REG_PRTY_MASK_H_0_MEM033_I_ECC_0_RF_INT_K2 (0x1<<6) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM033_I_ECC_0_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM033_I_ECC_0_RF_INT_K2_SHIFT 6
+ #define XCM_REG_PRTY_MASK_H_0_MEM033_I_ECC_1_RF_INT_K2 (0x1<<7) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM033_I_ECC_1_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM033_I_ECC_1_RF_INT_K2_SHIFT 7
+ #define XCM_REG_PRTY_MASK_H_0_MEM034_I_ECC_RF_INT_K2 (0x1<<8) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM034_I_ECC_RF_INT .
+ #define XCM_REG_PRTY_MASK_H_0_MEM034_I_ECC_RF_INT_K2_SHIFT 8
#define XCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB (0x1<<29) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_SHIFT 29
#define XCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2 (0x1<<30) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
@@ -69576,64 +72217,98 @@
#define XCM_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_BB_SHIFT 26
#define XCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB (0x1<<30) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_SHIFT 30
-#define XCM_REG_PRTY_MASK_H_1_BB_K2 0x1000214UL //Access:RW DataWidth:0xc // Multi Field Register.
+#define XCM_REG_PRTY_MASK_H_1 0x1000214UL //Access:RW DataWidth:0xd // Multi Field Register.
+ #define XCM_REG_PRTY_MASK_H_1_MEM015_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM015_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM015_I_MEM_PRTY_E5_SHIFT 0
#define XCM_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM016_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_K2_SHIFT 0
- #define XCM_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM032_I_MEM_PRTY .
- #define XCM_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_K2_SHIFT 1
+ #define XCM_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM016_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM016_I_MEM_PRTY_E5_SHIFT 1
+ #define XCM_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM033_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_E5_SHIFT 2
#define XCM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM007_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_BB_SHIFT 1
#define XCM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM007_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_K2_SHIFT 2
+ #define XCM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM007_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_E5_SHIFT 3
#define XCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM008_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_BB_SHIFT 2
#define XCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM008_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_K2_SHIFT 3
+ #define XCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM008_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_E5_SHIFT 4
#define XCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_BB_SHIFT 3
#define XCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_K2_SHIFT 4
+ #define XCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_E5_SHIFT 5
#define XCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_BB_SHIFT 4
#define XCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_K2_SHIFT 5
+ #define XCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_E5_SHIFT 6
#define XCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_BB_SHIFT 5
#define XCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_K2_SHIFT 6
+ #define XCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_E5_SHIFT 7
#define XCM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM012_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_BB_SHIFT 6
#define XCM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM012_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_K2_SHIFT 7
+ #define XCM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM012_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_E5_SHIFT 8
#define XCM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM013_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_BB_SHIFT 7
#define XCM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM013_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_K2_SHIFT 8
+ #define XCM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM013_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM013_I_MEM_PRTY_E5_SHIFT 9
#define XCM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_BB (0x1<<8) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM014_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_BB_SHIFT 8
#define XCM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM014_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_K2_SHIFT 9
+ #define XCM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM014_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM014_I_MEM_PRTY_E5_SHIFT 10
#define XCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_BB_SHIFT 9
#define XCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_K2_SHIFT 10
+ #define XCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_E5_SHIFT 11
#define XCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_BB_SHIFT 10
#define XCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_K2_SHIFT 11
+ #define XCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_E5_SHIFT 12
+ #define XCM_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM032_I_MEM_PRTY .
+ #define XCM_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_K2_SHIFT 1
#define XCM_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_BB (0x1<<0) // This bit masks, when set, the Parity bit: XCM_REG_PRTY_STS_H_1.MEM031_I_MEM_PRTY .
#define XCM_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_BB_SHIFT 0
-#define XCM_REG_MEM_ECC_ENABLE_0_BB_K2 0x1000220UL //Access:RW DataWidth:0x9 // Multi Field Register.
- #define XCM_REG_MEM_ECC_ENABLE_0_MEM036_I_ECC_EN_K2 (0x1<<0) // Enable ECC for memory ecc instance xcm.i_xx_msg_ram.i_ecc in module xcm_mem_xx_msg_ram
- #define XCM_REG_MEM_ECC_ENABLE_0_MEM036_I_ECC_EN_K2_SHIFT 0
- #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_0 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_BB_K2_SHIFT 1
- #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_1 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_BB_K2_SHIFT 2
- #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_2_EN_BB_K2 (0x1<<3) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_2 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_2_EN_BB_K2_SHIFT 3
- #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_3_EN_BB_K2 (0x1<<4) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_3 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_3_EN_BB_K2_SHIFT 4
+#define XCM_REG_MEM_ECC_ENABLE_0 0x1000220UL //Access:RW DataWidth:0x9 // Multi Field Register.
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM036_I_ECC_EN_K2_E5 (0x1<<0) // Enable ECC for memory ecc instance xcm.i_xx_msg_ram.i_ecc in module xcm_mem_xx_msg_ram
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM036_I_ECC_EN_K2_E5_SHIFT 0
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN (0x1<<1) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_0 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_SHIFT 1
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN (0x1<<2) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_1 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_SHIFT 2
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_2_EN (0x1<<3) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_2 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_2_EN_SHIFT 3
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_3_EN (0x1<<4) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_3 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_3_EN_SHIFT 4
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_0_EN_E5 (0x1<<5) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_8_9.i_ecc_0 in module xcm_mem_agg_con_ctx_8_9
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_0_EN_E5_SHIFT 5
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_1_EN_E5 (0x1<<6) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_8_9.i_ecc_1 in module xcm_mem_agg_con_ctx_8_9
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_1_EN_E5_SHIFT 6
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM034_I_ECC_0_EN_E5 (0x1<<7) // Enable ECC for memory ecc instance xcm.i_sm_con_ctx.i_ecc_0 in module xcm_mem_sm_con_ctx
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM034_I_ECC_0_EN_E5_SHIFT 7
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM034_I_ECC_1_EN_E5 (0x1<<8) // Enable ECC for memory ecc instance xcm.i_sm_con_ctx.i_ecc_1 in module xcm_mem_sm_con_ctx
+ #define XCM_REG_MEM_ECC_ENABLE_0_MEM034_I_ECC_1_EN_E5_SHIFT 8
#define XCM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_BB_K2 (0x1<<5) // Enable ECC for memory ecc instance xcm.i_agg_con_ctx_8.i_ecc in module xcm_mem_agg_con_ctx_8
#define XCM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_BB_K2_SHIFT 5
#define XCM_REG_MEM_ECC_ENABLE_0_MEM033_I_ECC_0_EN_K2 (0x1<<6) // Enable ECC for memory ecc instance xcm.i_sm_con_ctx_0_13.i_ecc_0 in module xcm_mem_sm_con_ctx_0_13
@@ -69650,17 +72325,25 @@
#define XCM_REG_MEM_ECC_ENABLE_0_MEM032_I_ECC_1_EN_BB_SHIFT 7
#define XCM_REG_MEM_ECC_ENABLE_0_MEM033_I_ECC_EN_BB (0x1<<8) // Enable ECC for memory ecc instance xcm.i_sm_con_ctx_14.i_ecc in module xcm_mem_sm_con_ctx_14
#define XCM_REG_MEM_ECC_ENABLE_0_MEM033_I_ECC_EN_BB_SHIFT 8
-#define XCM_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x1000224UL //Access:RW DataWidth:0x9 // Multi Field Register.
- #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM036_I_ECC_PRTY_K2 (0x1<<0) // Set parity only for memory ecc instance xcm.i_xx_msg_ram.i_ecc in module xcm_mem_xx_msg_ram
- #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM036_I_ECC_PRTY_K2_SHIFT 0
- #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_0 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_BB_K2_SHIFT 1
- #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_1 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_BB_K2_SHIFT 2
- #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_2_PRTY_BB_K2 (0x1<<3) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_2 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_2_PRTY_BB_K2_SHIFT 3
- #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_3_PRTY_BB_K2 (0x1<<4) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_3 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_3_PRTY_BB_K2_SHIFT 4
+#define XCM_REG_MEM_ECC_PARITY_ONLY_0 0x1000224UL //Access:RW DataWidth:0x9 // Multi Field Register.
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM036_I_ECC_PRTY_K2_E5 (0x1<<0) // Set parity only for memory ecc instance xcm.i_xx_msg_ram.i_ecc in module xcm_mem_xx_msg_ram
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM036_I_ECC_PRTY_K2_E5_SHIFT 0
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY (0x1<<1) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_0 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_SHIFT 1
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY (0x1<<2) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_1 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_SHIFT 2
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_2_PRTY (0x1<<3) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_2 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_2_PRTY_SHIFT 3
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_3_PRTY (0x1<<4) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_3 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_3_PRTY_SHIFT 4
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_0_PRTY_E5 (0x1<<5) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_8_9.i_ecc_0 in module xcm_mem_agg_con_ctx_8_9
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_0_PRTY_E5_SHIFT 5
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_1_PRTY_E5 (0x1<<6) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_8_9.i_ecc_1 in module xcm_mem_agg_con_ctx_8_9
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_1_PRTY_E5_SHIFT 6
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM034_I_ECC_0_PRTY_E5 (0x1<<7) // Set parity only for memory ecc instance xcm.i_sm_con_ctx.i_ecc_0 in module xcm_mem_sm_con_ctx
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM034_I_ECC_0_PRTY_E5_SHIFT 7
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM034_I_ECC_1_PRTY_E5 (0x1<<8) // Set parity only for memory ecc instance xcm.i_sm_con_ctx.i_ecc_1 in module xcm_mem_sm_con_ctx
+ #define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM034_I_ECC_1_PRTY_E5_SHIFT 8
#define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_BB_K2 (0x1<<5) // Set parity only for memory ecc instance xcm.i_agg_con_ctx_8.i_ecc in module xcm_mem_agg_con_ctx_8
#define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_BB_K2_SHIFT 5
#define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM033_I_ECC_0_PRTY_K2 (0x1<<6) // Set parity only for memory ecc instance xcm.i_sm_con_ctx_0_13.i_ecc_0 in module xcm_mem_sm_con_ctx_0_13
@@ -69677,17 +72360,25 @@
#define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM032_I_ECC_1_PRTY_BB_SHIFT 7
#define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM033_I_ECC_PRTY_BB (0x1<<8) // Set parity only for memory ecc instance xcm.i_sm_con_ctx_14.i_ecc in module xcm_mem_sm_con_ctx_14
#define XCM_REG_MEM_ECC_PARITY_ONLY_0_MEM033_I_ECC_PRTY_BB_SHIFT 8
-#define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x1000228UL //Access:RC DataWidth:0x9 // Multi Field Register.
- #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM036_I_ECC_CORRECT_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance xcm.i_xx_msg_ram.i_ecc in module xcm_mem_xx_msg_ram
- #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM036_I_ECC_CORRECT_K2_SHIFT 0
- #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_0 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_BB_K2_SHIFT 1
- #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_1 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_BB_K2_SHIFT 2
- #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_2_CORRECT_BB_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_2 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_2_CORRECT_BB_K2_SHIFT 3
- #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_3_CORRECT_BB_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_3 in module xcm_mem_agg_con_ctx_0_7
- #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_3_CORRECT_BB_K2_SHIFT 4
+#define XCM_REG_MEM_ECC_ERROR_CORRECTED_0 0x1000228UL //Access:RC DataWidth:0x9 // Multi Field Register.
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM036_I_ECC_CORRECT_K2_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance xcm.i_xx_msg_ram.i_ecc in module xcm_mem_xx_msg_ram
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM036_I_ECC_CORRECT_K2_E5_SHIFT 0
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_0 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_SHIFT 1
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_1 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_SHIFT 2
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_2_CORRECT (0x1<<3) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_2 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_2_CORRECT_SHIFT 3
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_3_CORRECT (0x1<<4) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_0_7.i_ecc_3 in module xcm_mem_agg_con_ctx_0_7
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_3_CORRECT_SHIFT 4
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_0_CORRECT_E5 (0x1<<5) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_8_9.i_ecc_0 in module xcm_mem_agg_con_ctx_8_9
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_0_CORRECT_E5_SHIFT 5
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_1_CORRECT_E5 (0x1<<6) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_8_9.i_ecc_1 in module xcm_mem_agg_con_ctx_8_9
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_1_CORRECT_E5_SHIFT 6
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM034_I_ECC_0_CORRECT_E5 (0x1<<7) // Record if a correctable error occurred on memory ecc instance xcm.i_sm_con_ctx.i_ecc_0 in module xcm_mem_sm_con_ctx
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM034_I_ECC_0_CORRECT_E5_SHIFT 7
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM034_I_ECC_1_CORRECT_E5 (0x1<<8) // Record if a correctable error occurred on memory ecc instance xcm.i_sm_con_ctx.i_ecc_1 in module xcm_mem_sm_con_ctx
+ #define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM034_I_ECC_1_CORRECT_E5_SHIFT 8
#define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_BB_K2 (0x1<<5) // Record if a correctable error occurred on memory ecc instance xcm.i_agg_con_ctx_8.i_ecc in module xcm_mem_agg_con_ctx_8
#define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_BB_K2_SHIFT 5
#define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM033_I_ECC_0_CORRECT_K2 (0x1<<6) // Record if a correctable error occurred on memory ecc instance xcm.i_sm_con_ctx_0_13.i_ecc_0 in module xcm_mem_sm_con_ctx_0_13
@@ -69704,7 +72395,7 @@
#define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM032_I_ECC_1_CORRECT_BB_SHIFT 7
#define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM033_I_ECC_CORRECT_BB (0x1<<8) // Record if a correctable error occurred on memory ecc instance xcm.i_sm_con_ctx_14.i_ecc in module xcm_mem_sm_con_ctx_14
#define XCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM033_I_ECC_CORRECT_BB_SHIFT 8
-#define XCM_REG_MEM_ECC_EVENTS_BB_K2 0x100022cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define XCM_REG_MEM_ECC_EVENTS 0x100022cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define XCM_REG_IFEN 0x1000400UL //Access:RW DataWidth:0x1 // Interface enable. If 0 - the acknowledge input is disregarded; valid is deasserted; all other signals are treated as usual; if 1 - normal activity.
#define XCM_REG_ERR_EVNT_ID 0x10004c4UL //Access:RW DataWidth:0x8 // The Event ID in case one of errors is set in QM input message.
#define XCM_REG_AGG_CON_RULE0_Q_BB_K2 0x1000968UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
@@ -69780,17 +72471,19 @@
#define XCM_REG_IA_GROUP_PR4 0x100064cUL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 4. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define XCM_REG_IA_GROUP_PR5 0x1000650UL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 5. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define XCM_REG_IA_ARB_SP_TIMEOUT 0x1000654UL //Access:RW DataWidth:0x8 // Input Arbiter timeout value to perform non-usual arbitration operation relative to usual once in a while. Two values have special meaning: 8'h0 - constant RR; 8'h80 - constant strict priority. In all other cases the following is true: Bit [7]: if 0 - usual operation is strict priority arbitration; if 1 - usual operation is RR. Bits [6:0] - period of non-usual operation performance.
-#define XCM_REG_STORM_FRWRD_MODE 0x1000658UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define XCM_REG_XSDM_FRWRD_MODE 0x1000660UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define XCM_REG_YSDM_FRWRD_MODE 0x1000664UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define XCM_REG_USDM_FRWRD_MODE 0x1000668UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define XCM_REG_MSEM_FRWRD_MODE 0x100066cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define XCM_REG_USEM_FRWRD_MODE 0x1000670UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define XCM_REG_DORQ_FRWRD_MODE 0x1000678UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define XCM_REG_PBF_FRWRD_MODE 0x100067cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define XCM_REG_STORM_FRWRD_MODE_BB_K2 0x1000658UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define XCM_REG_MSDM_FRWRD_MODE_BB_K2 0x100065cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define XCM_REG_XSDM_FRWRD_MODE_BB_K2 0x1000660UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define XCM_REG_YSDM_FRWRD_MODE_BB_K2 0x1000664UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define XCM_REG_USDM_FRWRD_MODE_BB_K2 0x1000668UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define XCM_REG_MSEM_FRWRD_MODE_BB_K2 0x100066cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define XCM_REG_USEM_FRWRD_MODE_BB_K2 0x1000670UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define XCM_REG_YSEM_FRWRD_MODE_BB_K2 0x1000674UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define XCM_REG_DORQ_FRWRD_MODE_BB_K2 0x1000678UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define XCM_REG_PBF_FRWRD_MODE_BB_K2 0x100067cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define XCM_REG_SDM_ERR_HANDLE_EN 0x1000680UL //Access:RW DataWidth:0x1 // 0 - disable error handling in SDM message; 1 - enable error handling in SDM message.
#define XCM_REG_DIR_BYP_EN 0x1000684UL //Access:RW DataWidth:0x1 // Direct bypass enable.
-#define XCM_REG_FI_DESC_INPUT_VIOLATE 0x1000688UL //Access:R DataWidth:0xf // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block;
+#define XCM_REG_FI_DESC_INPUT_VIOLATE 0x1000688UL //Access:R DataWidth:0x13 // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block; [15] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [16] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [17]- Violation: Connection domain AggCtxLdStFlg==0 then AffinityType != 2; [18]- Violation: single Task domain AggCtxLdStFlg==0 then AffinityType != 3;
#define XCM_REG_IA_AGG_CON_PART_FILL_LVL 0x100068cUL //Access:R DataWidth:0x3 // Input Arbiter Aggregation Connection part FIFO fill level (in messages).
#define XCM_REG_IA_SM_CON_PART_FILL_LVL 0x1000690UL //Access:R DataWidth:0x3 // Input Arbiter Storm Connection part FIFO fill level (in messages).
#define XCM_REG_IA_TRANS_PART_FILL_LVL 0x1000694UL //Access:R DataWidth:0x3 // Input Arbiter Transparent part FIFO fill level (in messages).
@@ -70169,46 +72862,42 @@
#define XCM_REG_QM_SM_CON_CTX_LDST_FLG_13_E5 0x1001df4UL //Access:RW DataWidth:0x1 // QM storm connection context load_store per connection type.
#define XCM_REG_QM_SM_CON_CTX_LDST_FLG_14_E5 0x1001df8UL //Access:RW DataWidth:0x1 // QM storm connection context load_store per connection type.
#define XCM_REG_QM_SM_CON_CTX_LDST_FLG_15_E5 0x1001dfcUL //Access:RW DataWidth:0x1 // QM storm connection context load_store per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_0_E5 0x1001e00UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_1_E5 0x1001e04UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_2_E5 0x1001e08UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_3_E5 0x1001e0cUL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_4_E5 0x1001e10UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_5_E5 0x1001e14UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_6_E5 0x1001e18UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_7_E5 0x1001e1cUL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_8_E5 0x1001e20UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_9_E5 0x1001e24UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_10_E5 0x1001e28UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_11_E5 0x1001e2cUL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_12_E5 0x1001e30UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_13_E5 0x1001e34UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_14_E5 0x1001e38UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
-#define XCM_REG_EN_QINDEX_20_MERGE_15_E5 0x1001e3cUL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type.
+#define XCM_REG_EN_QINDEX_20_MERGE_0_E5 0x1001e00UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_1_E5 0x1001e04UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_2_E5 0x1001e08UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_3_E5 0x1001e0cUL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_4_E5 0x1001e10UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_5_E5 0x1001e14UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_6_E5 0x1001e18UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_7_E5 0x1001e1cUL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_8_E5 0x1001e20UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_9_E5 0x1001e24UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_10_E5 0x1001e28UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_11_E5 0x1001e2cUL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_12_E5 0x1001e30UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_13_E5 0x1001e34UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_14_E5 0x1001e38UL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
+#define XCM_REG_EN_QINDEX_20_MERGE_15_E5 0x1001e3cUL //Access:RW DataWidth:0x1 // Enables QIndex 2 and 0 merge in XCM per connection type. If 0 - use queue index 0, if 1 - use queue index 2 and enable merge feature.
#define XCM_REG_MSDM_WEIGHT_BB_K2 0x1000620UL //Access:RW DataWidth:0x3 // The weight of the MSDM input in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define XCM_REG_MSDM_WEIGHT_E5 0x1001e40UL //Access:RW DataWidth:0x3 // The weight of the input MSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define XCM_REG_MSDM_FRWRD_MODE_BB_K2 0x100065cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define XCM_REG_MSDM_FRWRD_MODE_E5 0x1001e44UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define XCM_REG_MSDM_LENGTH_MIS_BB_K2 0x1000aa8UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
-#define XCM_REG_MSDM_LENGTH_MIS_E5 0x1001e48UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
+#define XCM_REG_MSDM_LENGTH_MIS_E5 0x1001e44UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
#define XCM_REG_MSDM_MSG_CNTR_BB_K2 0x1000accUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
-#define XCM_REG_MSDM_MSG_CNTR_E5 0x1001e4cUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
+#define XCM_REG_MSDM_MSG_CNTR_E5 0x1001e48UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
#define XCM_REG_IS_MSDM_FILL_LVL_BB_K2 0x1000b10UL //Access:R DataWidth:0x4 // Number of QREGs (128b) of data in MSDM Input Stage.
-#define XCM_REG_IS_MSDM_FILL_LVL_E5 0x1001e50UL //Access:R DataWidth:0x4 // Number of QREGs (128b) of data in MSDM Input Stage.
+#define XCM_REG_IS_MSDM_FILL_LVL_E5 0x1001e4cUL //Access:R DataWidth:0x4 // Number of QREGs (128b) of data in MSDM Input Stage.
#define XCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_BB_K2 0x1000ba0UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
-#define XCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_E5 0x1001e54UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
+#define XCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_E5 0x1001e50UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
#define XCM_REG_IS_FOC_MSDM_E5 0x1001e80UL //Access:R DataWidth:0x20 // Debug read from MSDM Input stage buffer with 32-bits granularity. Read only.
#define XCM_REG_IS_FOC_MSDM_SIZE 32
#define XCM_REG_YSEM_WEIGHT_BB_K2 0x1000610UL //Access:RW DataWidth:0x3 // The weight of the input Ysem in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define XCM_REG_YSEM_WEIGHT_E5 0x1001f00UL //Access:RW DataWidth:0x3 // The weight of the input Ysem in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define XCM_REG_YSEM_FRWRD_MODE_BB_K2 0x1000674UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define XCM_REG_YSEM_FRWRD_MODE_E5 0x1001f04UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define XCM_REG_YSEM_MSG_CNTR_BB_K2 0x1000ae4UL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
-#define XCM_REG_YSEM_MSG_CNTR_E5 0x1001f08UL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
+#define XCM_REG_YSEM_MSG_CNTR_E5 0x1001f04UL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
#define XCM_REG_IS_YSEM_FILL_LVL_BB_K2 0x1000b28UL //Access:R DataWidth:0x4 // Number of QREGs (128b) of data in YSEM Input Stage.
-#define XCM_REG_IS_YSEM_FILL_LVL_E5 0x1001f0cUL //Access:R DataWidth:0x4 // Number of QREGs (128b) for TCM, XCM or 2 QREGs (256b) for MCM of data in YSEM Input Stage.
+#define XCM_REG_IS_YSEM_FILL_LVL_E5 0x1001f08UL //Access:R DataWidth:0x4 // Number of QREGs (128b) for TCM, XCM or 2 QREGs (256b) for MCM of data in YSEM Input Stage.
#define XCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_BB_K2 0x1000b94UL //Access:R DataWidth:0x6 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
-#define XCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_E5 0x1001f10UL //Access:R DataWidth:0x6 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
+#define XCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_E5 0x1001f0cUL //Access:R DataWidth:0x6 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
#define XCM_REG_IS_FOC_YSEM_BB_K2 0x1001400UL //Access:R DataWidth:0x20 // Debug read from YSEM Input stage buffer with 32-bits granularity. Read only.
#define XCM_REG_IS_FOC_YSEM_E5 0x1001f80UL //Access:R DataWidth:0x20 // Debug read from YSEM Input stage buffer with 32-bits granularity. Read only.
#define XCM_REG_IS_FOC_YSEM_SIZE 32
@@ -70265,7 +72954,7 @@
#define YCM_REG_AGG_CON_CF1_Q_E5 0x108010cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
#define YCM_REG_AGG_CON_CF2_Q_BB_K2 0x108091cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
#define YCM_REG_AGG_CON_CF2_Q_E5 0x1080110UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define YCM_REG_INT_STS_0 0x1080180UL //Access:R DataWidth:0x11 // Multi Field Register.
+#define YCM_REG_INT_STS_0 0x1080180UL //Access:R DataWidth:0xf // Multi Field Register.
#define YCM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define YCM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define YCM_REG_INT_STS_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -70296,11 +72985,7 @@
#define YCM_REG_INT_STS_0_EXT_LD_UNDER_ERR_E5_SHIFT 13
#define YCM_REG_INT_STS_0_EXT_LD_OVFL_ERR_E5 (0x1<<14) // Write to fully External read buffer.
#define YCM_REG_INT_STS_0_EXT_LD_OVFL_ERR_E5_SHIFT 14
- #define YCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<15) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define YCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 15
- #define YCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<16) // Affinity type = 3 (task based) but task doesn't exist.
- #define YCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 16
-#define YCM_REG_INT_MASK_0 0x1080184UL //Access:RW DataWidth:0x11 // Multi Field Register.
+#define YCM_REG_INT_MASK_0 0x1080184UL //Access:RW DataWidth:0xf // Multi Field Register.
#define YCM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: YCM_REG_INT_STS_0.ADDRESS_ERROR .
#define YCM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define YCM_REG_INT_MASK_0_IS_STORM_OVFL_ERR (0x1<<1) // This bit masks, when set, the Interrupt bit: YCM_REG_INT_STS_0.IS_STORM_OVFL_ERR .
@@ -70331,11 +73016,7 @@
#define YCM_REG_INT_MASK_0_EXT_LD_UNDER_ERR_E5_SHIFT 13
#define YCM_REG_INT_MASK_0_EXT_LD_OVFL_ERR_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: YCM_REG_INT_STS_0.EXT_LD_OVFL_ERR .
#define YCM_REG_INT_MASK_0_EXT_LD_OVFL_ERR_E5_SHIFT 14
- #define YCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: YCM_REG_INT_STS_0.AFFINITY_TYPE_NO_CON .
- #define YCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 15
- #define YCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: YCM_REG_INT_STS_0.AFFINITY_TYPE_NO_TASK .
- #define YCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 16
-#define YCM_REG_INT_STS_WR_0 0x1080188UL //Access:WR DataWidth:0x11 // Multi Field Register.
+#define YCM_REG_INT_STS_WR_0 0x1080188UL //Access:WR DataWidth:0xf // Multi Field Register.
#define YCM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define YCM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define YCM_REG_INT_STS_WR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -70366,11 +73047,7 @@
#define YCM_REG_INT_STS_WR_0_EXT_LD_UNDER_ERR_E5_SHIFT 13
#define YCM_REG_INT_STS_WR_0_EXT_LD_OVFL_ERR_E5 (0x1<<14) // Write to fully External read buffer.
#define YCM_REG_INT_STS_WR_0_EXT_LD_OVFL_ERR_E5_SHIFT 14
- #define YCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<15) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define YCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 15
- #define YCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<16) // Affinity type = 3 (task based) but task doesn't exist.
- #define YCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 16
-#define YCM_REG_INT_STS_CLR_0 0x108018cUL //Access:RC DataWidth:0x11 // Multi Field Register.
+#define YCM_REG_INT_STS_CLR_0 0x108018cUL //Access:RC DataWidth:0xf // Multi Field Register.
#define YCM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define YCM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define YCM_REG_INT_STS_CLR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -70401,10 +73078,6 @@
#define YCM_REG_INT_STS_CLR_0_EXT_LD_UNDER_ERR_E5_SHIFT 13
#define YCM_REG_INT_STS_CLR_0_EXT_LD_OVFL_ERR_E5 (0x1<<14) // Write to fully External read buffer.
#define YCM_REG_INT_STS_CLR_0_EXT_LD_OVFL_ERR_E5_SHIFT 14
- #define YCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<15) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define YCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 15
- #define YCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<16) // Affinity type = 3 (task based) but task doesn't exist.
- #define YCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 16
#define YCM_REG_INT_STS_1 0x1080190UL //Access:R DataWidth:0x17 // Multi Field Register.
#define YCM_REG_INT_STS_1_IS_PBF_OVFL_ERR (0x1<<0) // Write to full Pbf input buffer.
#define YCM_REG_INT_STS_1_IS_PBF_OVFL_ERR_SHIFT 0
@@ -70605,89 +73278,151 @@
#define YCM_REG_INT_STS_CLR_2 0x10801acUL //Access:RC DataWidth:0x1 // Multi Field Register.
#define YCM_REG_INT_STS_CLR_2_QMREG_MORE4 (0x1<<0) // More than 4 QM registrations.
#define YCM_REG_INT_STS_CLR_2_QMREG_MORE4_SHIFT 0
-#define YCM_REG_PRTY_MASK_H_0_BB_K2 0x1080204UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define YCM_REG_PRTY_MASK_H_0_MEM027_I_ECC_RF_INT_K2 (0x1<<0) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM027_I_ECC_RF_INT .
- #define YCM_REG_PRTY_MASK_H_0_MEM027_I_ECC_RF_INT_K2_SHIFT 0
- #define YCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM003_I_ECC_0_RF_INT .
- #define YCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_BB_K2_SHIFT 1
- #define YCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM003_I_ECC_1_RF_INT .
- #define YCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_BB_K2_SHIFT 2
- #define YCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_0_RF_INT_K2 (0x1<<3) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM022_I_ECC_0_RF_INT .
- #define YCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_0_RF_INT_K2_SHIFT 3
- #define YCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_1_RF_INT_K2 (0x1<<4) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM022_I_ECC_1_RF_INT .
- #define YCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_1_RF_INT_K2_SHIFT 4
- #define YCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_RF_INT_K2 (0x1<<5) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM023_I_ECC_RF_INT .
- #define YCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_RF_INT_K2_SHIFT 5
+#define YCM_REG_PRTY_MASK_H_0 0x1080204UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define YCM_REG_PRTY_MASK_H_0_MEM032_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM032_I_ECC_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM032_I_ECC_RF_INT_E5_SHIFT 0
+ #define YCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM003_I_ECC_0_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_SHIFT 1
+ #define YCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM003_I_ECC_1_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_SHIFT 2
+ #define YCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_0_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM028_I_ECC_0_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_0_RF_INT_E5_SHIFT 3
+ #define YCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_1_RF_INT_E5 (0x1<<4) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM028_I_ECC_1_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_1_RF_INT_E5_SHIFT 4
#define YCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
#define YCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 6
+ #define YCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_E5 (0x1<<5) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_E5_SHIFT 5
#define YCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
#define YCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2_SHIFT 7
- #define YCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_0_RF_INT_K2 (0x1<<8) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM025_I_ECC_0_RF_INT .
- #define YCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_0_RF_INT_K2_SHIFT 8
- #define YCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_1_RF_INT_K2 (0x1<<9) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM025_I_ECC_1_RF_INT .
- #define YCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_1_RF_INT_K2_SHIFT 9
- #define YCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2_SHIFT 10
+ #define YCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_E5 (0x1<<6) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_E5_SHIFT 6
+ #define YCM_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_E5 (0x1<<7) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_E5_SHIFT 7
+ #define YCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_0_RF_INT_E5 (0x1<<8) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM030_I_ECC_0_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_0_RF_INT_E5_SHIFT 8
+ #define YCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_1_RF_INT_E5 (0x1<<9) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM030_I_ECC_1_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_1_RF_INT_E5_SHIFT 9
+ #define YCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2 (0x1<<27) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_SHIFT 27
+ #define YCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5_SHIFT 10
+ #define YCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5_SHIFT 11
+ #define YCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_SHIFT 13
+ #define YCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_SHIFT 14
+ #define YCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5_SHIFT 12
#define YCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB (0x1<<26) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_SHIFT 26
#define YCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_SHIFT 11
+ #define YCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5_SHIFT 13
+ #define YCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_K2 (0x1<<26) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_K2_SHIFT 26
+ #define YCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_E5_SHIFT 14
+ #define YCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2_SHIFT 10
+ #define YCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5_SHIFT 15
#define YCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_SHIFT 11
#define YCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_SHIFT 12
+ #define YCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5_SHIFT 16
+ #define YCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_SHIFT 23
+ #define YCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5_SHIFT 17
+ #define YCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2 (0x1<<24) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_SHIFT 24
+ #define YCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5_SHIFT 18
+ #define YCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_BB (0x1<<25) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_BB_SHIFT 25
+ #define YCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5_SHIFT 19
#define YCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_SHIFT 12
#define YCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_SHIFT 13
- #define YCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_SHIFT 13
- #define YCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_SHIFT 14
- #define YCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB (0x1<<14) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_SHIFT 14
- #define YCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2 (0x1<<15) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_SHIFT 15
- #define YCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB (0x1<<15) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_SHIFT 15
- #define YCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_SHIFT 16
+ #define YCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5_SHIFT 20
#define YCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB (0x1<<16) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_SHIFT 16
#define YCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2_SHIFT 17
+ #define YCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 21
#define YCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB (0x1<<17) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_SHIFT 17
#define YCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_SHIFT 18
+ #define YCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 22
#define YCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB (0x1<<18) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_SHIFT 18
#define YCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_SHIFT 19
- #define YCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_K2_SHIFT 20
+ #define YCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5_SHIFT 23
+ #define YCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB (0x1<<14) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_SHIFT 14
+ #define YCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2 (0x1<<15) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_SHIFT 15
+ #define YCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5_SHIFT 24
+ #define YCM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM035_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_E5_SHIFT 25
+ #define YCM_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM034_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_E5_SHIFT 26
+ #define YCM_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM033_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_E5_SHIFT 27
+ #define YCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_SHIFT 22
+ #define YCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2 (0x1<<23) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_SHIFT 23
+ #define YCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 28
#define YCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB (0x1<<19) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB_SHIFT 19
#define YCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_K2_SHIFT 21
+ #define YCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_E5_SHIFT 29
+ #define YCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 30
+ #define YCM_REG_PRTY_MASK_H_0_MEM027_I_ECC_RF_INT_K2 (0x1<<0) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM027_I_ECC_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM027_I_ECC_RF_INT_K2_SHIFT 0
+ #define YCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_0_RF_INT_K2 (0x1<<3) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM022_I_ECC_0_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_0_RF_INT_K2_SHIFT 3
+ #define YCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_1_RF_INT_K2 (0x1<<4) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM022_I_ECC_1_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_1_RF_INT_K2_SHIFT 4
+ #define YCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_RF_INT_K2 (0x1<<5) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM023_I_ECC_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_RF_INT_K2_SHIFT 5
+ #define YCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_0_RF_INT_K2 (0x1<<8) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM025_I_ECC_0_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_0_RF_INT_K2_SHIFT 8
+ #define YCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_1_RF_INT_K2 (0x1<<9) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM025_I_ECC_1_RF_INT .
+ #define YCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_1_RF_INT_K2_SHIFT 9
+ #define YCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB (0x1<<15) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_SHIFT 15
+ #define YCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_SHIFT 16
+ #define YCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_K2_SHIFT 20
#define YCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB_SHIFT 20
#define YCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_K2_SHIFT 22
- #define YCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_SHIFT 22
- #define YCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2 (0x1<<23) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_SHIFT 23
- #define YCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2 (0x1<<24) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_K2_SHIFT 24
#define YCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB (0x1<<24) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 24
#define YCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2 (0x1<<25) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_SHIFT 25
- #define YCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_K2 (0x1<<26) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_K2_SHIFT 26
- #define YCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2 (0x1<<27) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_SHIFT 27
#define YCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB (0x1<<27) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_0 .
#define YCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB_SHIFT 27
#define YCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_K2 (0x1<<28) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_0 .
@@ -70714,46 +73449,78 @@
#define YCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_1_RF_INT_BB_SHIFT 9
#define YCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_SHIFT 21
- #define YCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_SHIFT 23
- #define YCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_BB (0x1<<25) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
- #define YCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_BB_SHIFT 25
#define YCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB (0x1<<30) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_SHIFT 30
-#define YCM_REG_PRTY_MASK_H_1_BB_K2 0x1080214UL //Access:RW DataWidth:0x4 // Multi Field Register.
+#define YCM_REG_PRTY_MASK_H_1 0x1080214UL //Access:RW DataWidth:0x9 // Multi Field Register.
+ #define YCM_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM031_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_1_MEM031_I_MEM_PRTY_E5_SHIFT 0
+ #define YCM_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM027_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_1_MEM027_I_MEM_PRTY_E5_SHIFT 1
+ #define YCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_0_E5 (0x1<<2) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM008_I_MEM_PRTY_0 .
+ #define YCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_0_E5_SHIFT 2
+ #define YCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_1_E5 (0x1<<3) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM008_I_MEM_PRTY_1 .
+ #define YCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_1_E5_SHIFT 3
#define YCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_K2_SHIFT 0
+ #define YCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_E5_SHIFT 4
#define YCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_BB (0x1<<0) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_BB_SHIFT 0
#define YCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_K2_SHIFT 1
+ #define YCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_E5_SHIFT 5
+ #define YCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_E5_SHIFT 6
#define YCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_BB_SHIFT 1
#define YCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_K2_SHIFT 2
+ #define YCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_E5_SHIFT 7
#define YCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_BB (0x1<<2) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_BB_SHIFT 2
#define YCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
#define YCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_K2_SHIFT 3
-#define YCM_REG_MEM005_RF_ECC_ERROR_CONNECT_0_BB_K2 0x1080220UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: ycm.i_agg_task_ctx.rf_ecc_error_connect_0 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define YCM_REG_MEM005_RF_ECC_ERROR_CONNECT_1_BB_K2 0x1080224UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: ycm.i_agg_task_ctx.rf_ecc_error_connect_1 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+ #define YCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: YCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
+ #define YCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_E5_SHIFT 8
+#define YCM_REG_MEM005_RF_ECC_ERROR_CONNECT_0 0x1080220UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: ycm.i_agg_task_ctx_0_1.rf_ecc_error_connect_0 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define YCM_REG_MEM005_RF_ECC_ERROR_CONNECT_1 0x1080224UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: ycm.i_agg_task_ctx_0_1.rf_ecc_error_connect_1 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define YCM_REG_MEM006_RF_ECC_ERROR_CONNECT_E5 0x1080228UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: ycm.i_agg_task_ctx_2.rf_ecc_error_connect Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define YCM_REG_MEM_ECC_ENABLE_0_BB_K2 0x1080228UL //Access:RW DataWidth:0xa // Multi Field Register.
+#define YCM_REG_MEM_ECC_ENABLE_0_E5 0x108022cUL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM032_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance ycm.i_xx_msg_ram.i_ecc in module ycm_mem_xx_msg_ram
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM032_I_ECC_EN_E5_SHIFT 0
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN (0x1<<1) // Enable ECC for memory ecc instance ycm.i_agg_con_ctx.i_ecc_0 in module ycm_mem_agg_con_ctx
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_SHIFT 1
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN (0x1<<2) // Enable ECC for memory ecc instance ycm.i_agg_con_ctx.i_ecc_1 in module ycm_mem_agg_con_ctx
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_SHIFT 2
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_0_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance ycm.i_sm_con_ctx.i_ecc_0 in module ycm_mem_sm_con_ctx
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_0_EN_E5_SHIFT 3
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_1_EN_E5 (0x1<<4) // Enable ECC for memory ecc instance ycm.i_sm_con_ctx.i_ecc_1 in module ycm_mem_sm_con_ctx
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_1_EN_E5_SHIFT 4
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_BB_K2 (0x1<<6) // Enable ECC for memory ecc instance ycm.i_agg_task_ctx.i_ecc_0 in module ycm_mem_agg_task_ctx
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_BB_K2_SHIFT 6
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_E5 (0x1<<5) // Enable ECC for memory ecc instance ycm.i_agg_task_ctx_0_1.i_ecc_0 in module ycm_mem_agg_task_ctx_0_1
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_E5_SHIFT 5
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2 (0x1<<7) // Enable ECC for memory ecc instance ycm.i_agg_task_ctx.i_ecc_1 in module ycm_mem_agg_task_ctx
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2_SHIFT 7
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_E5 (0x1<<6) // Enable ECC for memory ecc instance ycm.i_agg_task_ctx_0_1.i_ecc_1 in module ycm_mem_agg_task_ctx_0_1
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_E5_SHIFT 6
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_E5 (0x1<<7) // Enable ECC for memory ecc instance ycm.i_agg_task_ctx_2.i_ecc in module ycm_mem_agg_task_ctx_2
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_E5_SHIFT 7
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_0_EN_E5 (0x1<<8) // Enable ECC for memory ecc instance ycm.i_sm_task_ctx.i_ecc_0 in module ycm_mem_sm_task_ctx
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_0_EN_E5_SHIFT 8
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_1_EN_E5 (0x1<<9) // Enable ECC for memory ecc instance ycm.i_sm_task_ctx.i_ecc_1 in module ycm_mem_sm_task_ctx
+ #define YCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_1_EN_E5_SHIFT 9
#define YCM_REG_MEM_ECC_ENABLE_0_MEM027_I_ECC_EN_K2 (0x1<<0) // Enable ECC for memory ecc instance ycm.i_xx_msg_ram.i_ecc in module ycm_mem_xx_msg_ram
#define YCM_REG_MEM_ECC_ENABLE_0_MEM027_I_ECC_EN_K2_SHIFT 0
- #define YCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance ycm.i_agg_con_ctx.i_ecc_0 in module ycm_mem_agg_con_ctx
- #define YCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_BB_K2_SHIFT 1
- #define YCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance ycm.i_agg_con_ctx.i_ecc_1 in module ycm_mem_agg_con_ctx
- #define YCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_BB_K2_SHIFT 2
#define YCM_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_0_EN_K2 (0x1<<3) // Enable ECC for memory ecc instance ycm.i_sm_con_ctx_0_1.i_ecc_0 in module ycm_mem_sm_con_ctx_0_1
#define YCM_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_0_EN_K2_SHIFT 3
#define YCM_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_1_EN_K2 (0x1<<4) // Enable ECC for memory ecc instance ycm.i_sm_con_ctx_0_1.i_ecc_1 in module ycm_mem_sm_con_ctx_0_1
#define YCM_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_1_EN_K2_SHIFT 4
#define YCM_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_EN_K2 (0x1<<5) // Enable ECC for memory ecc instance ycm.i_sm_con_ctx_2.i_ecc in module ycm_mem_sm_con_ctx_2
#define YCM_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_EN_K2_SHIFT 5
- #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_BB_K2 (0x1<<6) // Enable ECC for memory ecc instance ycm.i_agg_task_ctx.i_ecc_0 in module ycm_mem_agg_task_ctx
- #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_BB_K2_SHIFT 6
- #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2 (0x1<<7) // Enable ECC for memory ecc instance ycm.i_agg_task_ctx.i_ecc_1 in module ycm_mem_agg_task_ctx
- #define YCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2_SHIFT 7
#define YCM_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_0_EN_K2 (0x1<<8) // Enable ECC for memory ecc instance ycm.i_sm_task_ctx.i_ecc_0 in module ycm_mem_sm_task_ctx
#define YCM_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_0_EN_K2_SHIFT 8
#define YCM_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_1_EN_K2 (0x1<<9) // Enable ECC for memory ecc instance ycm.i_sm_task_ctx.i_ecc_1 in module ycm_mem_sm_task_ctx
@@ -70771,22 +73538,39 @@
#define YCM_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_1_EN_BB (0x1<<9) // Enable ECC for memory ecc instance ycm.i_sm_task_ctx.i_ecc_1 in module ycm_mem_sm_task_ctx
#define YCM_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_1_EN_BB_SHIFT 9
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x108022cUL //Access:RW DataWidth:0xa // Multi Field Register.
+#define YCM_REG_MEM_ECC_PARITY_ONLY_0_E5 0x1080230UL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM032_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance ycm.i_xx_msg_ram.i_ecc in module ycm_mem_xx_msg_ram
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM032_I_ECC_PRTY_E5_SHIFT 0
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY (0x1<<1) // Set parity only for memory ecc instance ycm.i_agg_con_ctx.i_ecc_0 in module ycm_mem_agg_con_ctx
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_SHIFT 1
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY (0x1<<2) // Set parity only for memory ecc instance ycm.i_agg_con_ctx.i_ecc_1 in module ycm_mem_agg_con_ctx
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_SHIFT 2
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_0_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance ycm.i_sm_con_ctx.i_ecc_0 in module ycm_mem_sm_con_ctx
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_0_PRTY_E5_SHIFT 3
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_1_PRTY_E5 (0x1<<4) // Set parity only for memory ecc instance ycm.i_sm_con_ctx.i_ecc_1 in module ycm_mem_sm_con_ctx
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_1_PRTY_E5_SHIFT 4
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_BB_K2 (0x1<<6) // Set parity only for memory ecc instance ycm.i_agg_task_ctx.i_ecc_0 in module ycm_mem_agg_task_ctx
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_BB_K2_SHIFT 6
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_E5 (0x1<<5) // Set parity only for memory ecc instance ycm.i_agg_task_ctx_0_1.i_ecc_0 in module ycm_mem_agg_task_ctx_0_1
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_E5_SHIFT 5
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2 (0x1<<7) // Set parity only for memory ecc instance ycm.i_agg_task_ctx.i_ecc_1 in module ycm_mem_agg_task_ctx
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2_SHIFT 7
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_E5 (0x1<<6) // Set parity only for memory ecc instance ycm.i_agg_task_ctx_0_1.i_ecc_1 in module ycm_mem_agg_task_ctx_0_1
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_E5_SHIFT 6
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_E5 (0x1<<7) // Set parity only for memory ecc instance ycm.i_agg_task_ctx_2.i_ecc in module ycm_mem_agg_task_ctx_2
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_E5_SHIFT 7
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_0_PRTY_E5 (0x1<<8) // Set parity only for memory ecc instance ycm.i_sm_task_ctx.i_ecc_0 in module ycm_mem_sm_task_ctx
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_0_PRTY_E5_SHIFT 8
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_1_PRTY_E5 (0x1<<9) // Set parity only for memory ecc instance ycm.i_sm_task_ctx.i_ecc_1 in module ycm_mem_sm_task_ctx
+ #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_1_PRTY_E5_SHIFT 9
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM027_I_ECC_PRTY_K2 (0x1<<0) // Set parity only for memory ecc instance ycm.i_xx_msg_ram.i_ecc in module ycm_mem_xx_msg_ram
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM027_I_ECC_PRTY_K2_SHIFT 0
- #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance ycm.i_agg_con_ctx.i_ecc_0 in module ycm_mem_agg_con_ctx
- #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_BB_K2_SHIFT 1
- #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance ycm.i_agg_con_ctx.i_ecc_1 in module ycm_mem_agg_con_ctx
- #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_BB_K2_SHIFT 2
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_0_PRTY_K2 (0x1<<3) // Set parity only for memory ecc instance ycm.i_sm_con_ctx_0_1.i_ecc_0 in module ycm_mem_sm_con_ctx_0_1
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_0_PRTY_K2_SHIFT 3
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_1_PRTY_K2 (0x1<<4) // Set parity only for memory ecc instance ycm.i_sm_con_ctx_0_1.i_ecc_1 in module ycm_mem_sm_con_ctx_0_1
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_1_PRTY_K2_SHIFT 4
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_PRTY_K2 (0x1<<5) // Set parity only for memory ecc instance ycm.i_sm_con_ctx_2.i_ecc in module ycm_mem_sm_con_ctx_2
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_PRTY_K2_SHIFT 5
- #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_BB_K2 (0x1<<6) // Set parity only for memory ecc instance ycm.i_agg_task_ctx.i_ecc_0 in module ycm_mem_agg_task_ctx
- #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_BB_K2_SHIFT 6
- #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2 (0x1<<7) // Set parity only for memory ecc instance ycm.i_agg_task_ctx.i_ecc_1 in module ycm_mem_agg_task_ctx
- #define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2_SHIFT 7
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_0_PRTY_K2 (0x1<<8) // Set parity only for memory ecc instance ycm.i_sm_task_ctx.i_ecc_0 in module ycm_mem_sm_task_ctx
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_0_PRTY_K2_SHIFT 8
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_1_PRTY_K2 (0x1<<9) // Set parity only for memory ecc instance ycm.i_sm_task_ctx.i_ecc_1 in module ycm_mem_sm_task_ctx
@@ -70804,22 +73588,39 @@
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_1_PRTY_BB (0x1<<9) // Set parity only for memory ecc instance ycm.i_sm_task_ctx.i_ecc_1 in module ycm_mem_sm_task_ctx
#define YCM_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_1_PRTY_BB_SHIFT 9
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x1080230UL //Access:RC DataWidth:0xa // Multi Field Register.
+#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_E5 0x1080234UL //Access:RC DataWidth:0xa // Multi Field Register.
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM032_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance ycm.i_xx_msg_ram.i_ecc in module ycm_mem_xx_msg_ram
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM032_I_ECC_CORRECT_E5_SHIFT 0
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_con_ctx.i_ecc_0 in module ycm_mem_agg_con_ctx
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_SHIFT 1
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_con_ctx.i_ecc_1 in module ycm_mem_agg_con_ctx
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_SHIFT 2
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_0_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance ycm.i_sm_con_ctx.i_ecc_0 in module ycm_mem_sm_con_ctx
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_0_CORRECT_E5_SHIFT 3
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_1_CORRECT_E5 (0x1<<4) // Record if a correctable error occurred on memory ecc instance ycm.i_sm_con_ctx.i_ecc_1 in module ycm_mem_sm_con_ctx
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_1_CORRECT_E5_SHIFT 4
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_BB_K2 (0x1<<6) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_task_ctx.i_ecc_0 in module ycm_mem_agg_task_ctx
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_BB_K2_SHIFT 6
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_E5 (0x1<<5) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_task_ctx_0_1.i_ecc_0 in module ycm_mem_agg_task_ctx_0_1
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_E5_SHIFT 5
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2 (0x1<<7) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_task_ctx.i_ecc_1 in module ycm_mem_agg_task_ctx
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2_SHIFT 7
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_E5 (0x1<<6) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_task_ctx_0_1.i_ecc_1 in module ycm_mem_agg_task_ctx_0_1
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_E5_SHIFT 6
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_E5 (0x1<<7) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_task_ctx_2.i_ecc in module ycm_mem_agg_task_ctx_2
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_E5_SHIFT 7
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_0_CORRECT_E5 (0x1<<8) // Record if a correctable error occurred on memory ecc instance ycm.i_sm_task_ctx.i_ecc_0 in module ycm_mem_sm_task_ctx
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_0_CORRECT_E5_SHIFT 8
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_1_CORRECT_E5 (0x1<<9) // Record if a correctable error occurred on memory ecc instance ycm.i_sm_task_ctx.i_ecc_1 in module ycm_mem_sm_task_ctx
+ #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_1_CORRECT_E5_SHIFT 9
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM027_I_ECC_CORRECT_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance ycm.i_xx_msg_ram.i_ecc in module ycm_mem_xx_msg_ram
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM027_I_ECC_CORRECT_K2_SHIFT 0
- #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_con_ctx.i_ecc_0 in module ycm_mem_agg_con_ctx
- #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_BB_K2_SHIFT 1
- #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_con_ctx.i_ecc_1 in module ycm_mem_agg_con_ctx
- #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_BB_K2_SHIFT 2
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_0_CORRECT_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance ycm.i_sm_con_ctx_0_1.i_ecc_0 in module ycm_mem_sm_con_ctx_0_1
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_0_CORRECT_K2_SHIFT 3
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_1_CORRECT_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance ycm.i_sm_con_ctx_0_1.i_ecc_1 in module ycm_mem_sm_con_ctx_0_1
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_1_CORRECT_K2_SHIFT 4
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_CORRECT_K2 (0x1<<5) // Record if a correctable error occurred on memory ecc instance ycm.i_sm_con_ctx_2.i_ecc in module ycm_mem_sm_con_ctx_2
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_CORRECT_K2_SHIFT 5
- #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_BB_K2 (0x1<<6) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_task_ctx.i_ecc_0 in module ycm_mem_agg_task_ctx
- #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_BB_K2_SHIFT 6
- #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2 (0x1<<7) // Record if a correctable error occurred on memory ecc instance ycm.i_agg_task_ctx.i_ecc_1 in module ycm_mem_agg_task_ctx
- #define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2_SHIFT 7
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_0_CORRECT_K2 (0x1<<8) // Record if a correctable error occurred on memory ecc instance ycm.i_sm_task_ctx.i_ecc_0 in module ycm_mem_sm_task_ctx
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_0_CORRECT_K2_SHIFT 8
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_1_CORRECT_K2 (0x1<<9) // Record if a correctable error occurred on memory ecc instance ycm.i_sm_task_ctx.i_ecc_1 in module ycm_mem_sm_task_ctx
@@ -70837,6 +73638,7 @@
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_1_CORRECT_BB (0x1<<9) // Record if a correctable error occurred on memory ecc instance ycm.i_sm_task_ctx.i_ecc_1 in module ycm_mem_sm_task_ctx
#define YCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_1_CORRECT_BB_SHIFT 9
#define YCM_REG_MEM_ECC_EVENTS_BB_K2 0x1080234UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define YCM_REG_MEM_ECC_EVENTS_E5 0x1080238UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define YCM_REG_IFEN 0x1080400UL //Access:RW DataWidth:0x1 // Interface enable. If 0 - the acknowledge input is disregarded; valid is deasserted; all other signals are treated as usual; if 1 - normal activity.
#define YCM_REG_QM_TASK_BASE_EVNT_ID_0 0x1080424UL //Access:RW DataWidth:0x8 // QM task base Event ID per connection type.
#define YCM_REG_QM_TASK_BASE_EVNT_ID_1 0x1080428UL //Access:RW DataWidth:0x8 // QM task base Event ID per connection type.
@@ -70887,6 +73689,16 @@
#define YCM_REG_QM_TASK_USE_ST_FLG_6 0x108055cUL //Access:RW DataWidth:0x1 // QM Task use state flag per connection type. Should be all 0 for PCM and XCM. in XCM.
#define YCM_REG_QM_TASK_USE_ST_FLG_7 0x1080560UL //Access:RW DataWidth:0x1 // QM Task use state flag per connection type. Should be all 0 for PCM and XCM.
#define YCM_REG_ERR_EVNT_ID 0x1080564UL //Access:RW DataWidth:0x8 // The Event ID in case one of errors is set in QM input message.
+#define YCM_REG_AGG_CON_RULE0_Q_BB_K2 0x1080920UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define YCM_REG_AGG_CON_RULE0_Q_E5 0x1080568UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define YCM_REG_AGG_CON_RULE1_Q_BB_K2 0x1080924UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define YCM_REG_AGG_CON_RULE1_Q_E5 0x108056cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define YCM_REG_AGG_CON_RULE2_Q_BB_K2 0x1080928UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define YCM_REG_AGG_CON_RULE2_Q_E5 0x1080570UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define YCM_REG_AGG_CON_RULE3_Q_BB_K2 0x108092cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define YCM_REG_AGG_CON_RULE3_Q_E5 0x1080574UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define YCM_REG_AGG_CON_RULE4_Q_BB_K2 0x1080930UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define YCM_REG_AGG_CON_RULE4_Q_E5 0x1080578UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
#define YCM_REG_STORM_WEIGHT 0x1080604UL //Access:RW DataWidth:0x3 // The weight of the local Storm input in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define YCM_REG_MSEM_WEIGHT 0x1080608UL //Access:RW DataWidth:0x3 // The weight of the input Msem in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define YCM_REG_USEM_WEIGHT 0x108060cUL //Access:RW DataWidth:0x3 // The weight of the input Usem in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
@@ -70903,16 +73715,17 @@
#define YCM_REG_IA_GROUP_PR4 0x108063cUL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 4. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define YCM_REG_IA_GROUP_PR5 0x1080640UL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 5. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define YCM_REG_IA_ARB_SP_TIMEOUT 0x1080644UL //Access:RW DataWidth:0x8 // Input Arbiter timeout value to perform non-usual arbitration operation relative to usual once in a while. Two values have special meaning: 8'h0 - constant RR; 8'h80 - constant strict priority. In all other cases the following is true: Bit [7]: if 0 - usual operation is strict priority arbitration; if 1 - usual operation is RR. Bits [6:0] - period of non-usual operation performance.
-#define YCM_REG_STORM_FRWRD_MODE 0x1080648UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define YCM_REG_YSDM_FRWRD_MODE 0x1080650UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define YCM_REG_XYLD_FRWRD_MODE 0x1080654UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define YCM_REG_MSEM_FRWRD_MODE 0x1080658UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define YCM_REG_USEM_FRWRD_MODE 0x108065cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define YCM_REG_PBF_FRWRD_MODE 0x1080660UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define YCM_REG_STORM_FRWRD_MODE_BB_K2 0x1080648UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define YCM_REG_MSDM_FRWRD_MODE_BB_K2 0x108064cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define YCM_REG_YSDM_FRWRD_MODE_BB_K2 0x1080650UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define YCM_REG_XYLD_FRWRD_MODE_BB_K2 0x1080654UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define YCM_REG_MSEM_FRWRD_MODE_BB_K2 0x1080658UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define YCM_REG_USEM_FRWRD_MODE_BB_K2 0x108065cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define YCM_REG_PBF_FRWRD_MODE_BB_K2 0x1080660UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define YCM_REG_SDM_ERR_HANDLE_EN 0x1080664UL //Access:RW DataWidth:0x1 // 0 - disable error handling in SDM message; 1 - enable error handling in SDM message.
#define YCM_REG_DIR_BYP_EN 0x1080668UL //Access:RW DataWidth:0x1 // Direct bypass enable.
-#define YCM_REG_FI_DESC_INPUT_VIOLATE 0x108066cUL //Access:R DataWidth:0xf // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block;
-#define YCM_REG_SE_DESC_INPUT_VIOLATE 0x1080670UL //Access:R DataWidth:0xc // Input message second descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0; Read only register.
+#define YCM_REG_FI_DESC_INPUT_VIOLATE 0x108066cUL //Access:R DataWidth:0x13 // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block; [15] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [16] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [17]- Violation: Connection domain AggCtxLdStFlg==0 then AffinityType != 2; [18]- Violation: single Task domain AggCtxLdStFlg==0 then AffinityType != 3;
+#define YCM_REG_SE_DESC_INPUT_VIOLATE 0x1080670UL //Access:R DataWidth:0xd // Input message second descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0; [12]- Violation: dual Task domain AggCtxLdStFlg==0 then AffinityType != 3;Read only register.
#define YCM_REG_IA_AGG_CON_PART_FILL_LVL 0x1080674UL //Access:R DataWidth:0x3 // Input Arbiter Aggregation Connection part FIFO fill level (in messages).
#define YCM_REG_IA_SM_CON_PART_FILL_LVL 0x1080678UL //Access:R DataWidth:0x3 // Input Arbiter Storm Connection part FIFO fill level (in messages).
#define YCM_REG_IA_AGG_TASK_PART_FILL_LVL 0x108067cUL //Access:R DataWidth:0x3 // Input Arbiter Aggregation Task part FIFO fill level (in messages).
@@ -71023,11 +73836,6 @@
#define YCM_REG_CON_PHY_Q1 0x1080908UL //Access:RW DataWidth:0x9 // Physical queue connection number (queue number 1).
#define YCM_REG_TASK_PHY_Q0 0x108090cUL //Access:RW DataWidth:0x7 // Physical queue task number (queue number 0).
#define YCM_REG_TASK_PHY_Q1 0x1080910UL //Access:RW DataWidth:0x7 // Physical queue task number (queue number 1).
-#define YCM_REG_AGG_CON_RULE0_Q 0x1080920UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define YCM_REG_AGG_CON_RULE1_Q 0x1080924UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define YCM_REG_AGG_CON_RULE2_Q 0x1080928UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define YCM_REG_AGG_CON_RULE3_Q 0x108092cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define YCM_REG_AGG_CON_RULE4_Q 0x1080930UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
#define YCM_REG_AGG_TASK_RULE0_Q_BB_K2 0x108093cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
#define YCM_REG_AGG_TASK_RULE0_Q_E5 0x1080944UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
#define YCM_REG_AGG_TASK_RULE1_Q_BB_K2 0x1080940UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
@@ -71317,16 +74125,14 @@
#define YCM_REG_QM_SM_CON_CTX_LDST_FLG_15_E5 0x1081ebcUL //Access:RW DataWidth:0x1 // QM storm connection context load_store per connection type.
#define YCM_REG_MSDM_WEIGHT_BB_K2 0x1080618UL //Access:RW DataWidth:0x3 // The weight of the MSDM input in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define YCM_REG_MSDM_WEIGHT_E5 0x1081ec0UL //Access:RW DataWidth:0x3 // The weight of the input MSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define YCM_REG_MSDM_FRWRD_MODE_BB_K2 0x108064cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define YCM_REG_MSDM_FRWRD_MODE_E5 0x1081ec4UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define YCM_REG_MSDM_LENGTH_MIS_BB_K2 0x1080aa8UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
-#define YCM_REG_MSDM_LENGTH_MIS_E5 0x1081ec8UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
+#define YCM_REG_MSDM_LENGTH_MIS_E5 0x1081ec4UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
#define YCM_REG_MSDM_MSG_CNTR_BB_K2 0x1080ac4UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
-#define YCM_REG_MSDM_MSG_CNTR_E5 0x1081eccUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
+#define YCM_REG_MSDM_MSG_CNTR_E5 0x1081ec8UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
#define YCM_REG_IS_MSDM_FILL_LVL_BB_K2 0x1080af4UL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in MSDM Input Stage.
-#define YCM_REG_IS_MSDM_FILL_LVL_E5 0x1081ed0UL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in MSDM Input Stage.
+#define YCM_REG_IS_MSDM_FILL_LVL_E5 0x1081eccUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in MSDM Input Stage.
#define YCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_BB_K2 0x1080b98UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
-#define YCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_E5 0x1081ed4UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
+#define YCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_E5 0x1081ed0UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
#define YCM_REG_IS_FOC_MSDM_BB_K2 0x1081480UL //Access:R DataWidth:0x20 // Debug read from MSDM Input stage buffer with 32-bits granularity. Read only.
#define YCM_REG_IS_FOC_MSDM_E5 0x1081f00UL //Access:R DataWidth:0x20 // Debug read from MSDM Input stage buffer with 32-bits granularity. Read only.
#define YCM_REG_IS_FOC_MSDM_SIZE 20
@@ -71358,7 +74164,7 @@
#define PCM_REG_DBG_OUT_DATA_SIZE 8
#define PCM_REG_DBG_OUT_VALID 0x1100080UL //Access:R DataWidth:0x8 // Dbgmux output valid per Dword
#define PCM_REG_DBG_OUT_FRAME 0x1100084UL //Access:R DataWidth:0x8 // Dbgmux output frame per Dword
-#define PCM_REG_INT_STS_0 0x1100180UL //Access:R DataWidth:0xb // Multi Field Register.
+#define PCM_REG_INT_STS_0 0x1100180UL //Access:R DataWidth:0x9 // Multi Field Register.
#define PCM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PCM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define PCM_REG_INT_STS_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -71377,11 +74183,7 @@
#define PCM_REG_INT_STS_0_IS_YPLD_OVFL_ERR_E5_SHIFT 7
#define PCM_REG_INT_STS_0_IS_YPLD_UNDER_ERR_E5 (0x1<<8) // Read from empty YPLD input buffer.
#define PCM_REG_INT_STS_0_IS_YPLD_UNDER_ERR_E5_SHIFT 8
- #define PCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<9) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define PCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 9
- #define PCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<10) // Affinity type = 3 (task based) but task doesn't exist.
- #define PCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 10
-#define PCM_REG_INT_MASK_0 0x1100184UL //Access:RW DataWidth:0xb // Multi Field Register.
+#define PCM_REG_INT_MASK_0 0x1100184UL //Access:RW DataWidth:0x9 // Multi Field Register.
#define PCM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: PCM_REG_INT_STS_0.ADDRESS_ERROR .
#define PCM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define PCM_REG_INT_MASK_0_IS_STORM_OVFL_ERR (0x1<<1) // This bit masks, when set, the Interrupt bit: PCM_REG_INT_STS_0.IS_STORM_OVFL_ERR .
@@ -71400,11 +74202,7 @@
#define PCM_REG_INT_MASK_0_IS_YPLD_OVFL_ERR_E5_SHIFT 7
#define PCM_REG_INT_MASK_0_IS_YPLD_UNDER_ERR_E5 (0x1<<8) // This bit masks, when set, the Interrupt bit: PCM_REG_INT_STS_0.IS_YPLD_UNDER_ERR .
#define PCM_REG_INT_MASK_0_IS_YPLD_UNDER_ERR_E5_SHIFT 8
- #define PCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<9) // This bit masks, when set, the Interrupt bit: PCM_REG_INT_STS_0.AFFINITY_TYPE_NO_CON .
- #define PCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 9
- #define PCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: PCM_REG_INT_STS_0.AFFINITY_TYPE_NO_TASK .
- #define PCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 10
-#define PCM_REG_INT_STS_WR_0 0x1100188UL //Access:WR DataWidth:0xb // Multi Field Register.
+#define PCM_REG_INT_STS_WR_0 0x1100188UL //Access:WR DataWidth:0x9 // Multi Field Register.
#define PCM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PCM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define PCM_REG_INT_STS_WR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -71423,11 +74221,7 @@
#define PCM_REG_INT_STS_WR_0_IS_YPLD_OVFL_ERR_E5_SHIFT 7
#define PCM_REG_INT_STS_WR_0_IS_YPLD_UNDER_ERR_E5 (0x1<<8) // Read from empty YPLD input buffer.
#define PCM_REG_INT_STS_WR_0_IS_YPLD_UNDER_ERR_E5_SHIFT 8
- #define PCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<9) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define PCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 9
- #define PCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<10) // Affinity type = 3 (task based) but task doesn't exist.
- #define PCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 10
-#define PCM_REG_INT_STS_CLR_0 0x110018cUL //Access:RC DataWidth:0xb // Multi Field Register.
+#define PCM_REG_INT_STS_CLR_0 0x110018cUL //Access:RC DataWidth:0x9 // Multi Field Register.
#define PCM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PCM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define PCM_REG_INT_STS_CLR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -71446,10 +74240,6 @@
#define PCM_REG_INT_STS_CLR_0_IS_YPLD_OVFL_ERR_E5_SHIFT 7
#define PCM_REG_INT_STS_CLR_0_IS_YPLD_UNDER_ERR_E5 (0x1<<8) // Read from empty YPLD input buffer.
#define PCM_REG_INT_STS_CLR_0_IS_YPLD_UNDER_ERR_E5_SHIFT 8
- #define PCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<9) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define PCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 9
- #define PCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<10) // Affinity type = 3 (task based) but task doesn't exist.
- #define PCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 10
#define PCM_REG_INT_STS_1 0x1100190UL //Access:R DataWidth:0xc // Multi Field Register.
#define PCM_REG_INT_STS_1_IS_GRC_OVFL_ERR0_BB_K2 (0x1<<2) // Write to full GRC input buffer bits [31:0].
#define PCM_REG_INT_STS_1_IS_GRC_OVFL_ERR0_BB_K2_SHIFT 2
@@ -71674,64 +74464,104 @@
#define PCM_REG_INT_STS_CLR_2 0x11001acUL //Access:RC DataWidth:0x1 // Multi Field Register.
#define PCM_REG_INT_STS_CLR_2_QMREG_MORE4 (0x1<<0) // More than 4 QM registrations.
#define PCM_REG_INT_STS_CLR_2_QMREG_MORE4_SHIFT 0
-#define PCM_REG_PRTY_MASK_H_0_BB_K2 0x1100204UL //Access:RW DataWidth:0xf // Multi Field Register.
- #define PCM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
- #define PCM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_K2_SHIFT 0
- #define PCM_REG_PRTY_MASK_H_0_MEM010_I_ECC_0_RF_INT_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM010_I_ECC_0_RF_INT .
- #define PCM_REG_PRTY_MASK_H_0_MEM010_I_ECC_0_RF_INT_K2_SHIFT 1
- #define PCM_REG_PRTY_MASK_H_0_MEM010_I_ECC_1_RF_INT_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM010_I_ECC_1_RF_INT .
- #define PCM_REG_PRTY_MASK_H_0_MEM010_I_ECC_1_RF_INT_K2_SHIFT 2
- #define PCM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
- #define PCM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_SHIFT 3
+#define PCM_REG_PRTY_MASK_H_0 0x1100204UL //Access:RW DataWidth:0x11 // Multi Field Register.
+ #define PCM_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM014_I_ECC_RF_INT .
+ #define PCM_REG_PRTY_MASK_H_0_MEM014_I_ECC_RF_INT_E5_SHIFT 0
+ #define PCM_REG_PRTY_MASK_H_0_MEM012_I_ECC_0_RF_INT_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM012_I_ECC_0_RF_INT .
+ #define PCM_REG_PRTY_MASK_H_0_MEM012_I_ECC_0_RF_INT_E5_SHIFT 1
+ #define PCM_REG_PRTY_MASK_H_0_MEM012_I_ECC_1_RF_INT_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM012_I_ECC_1_RF_INT .
+ #define PCM_REG_PRTY_MASK_H_0_MEM012_I_ECC_1_RF_INT_E5_SHIFT 2
#define PCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB (0x1<<3) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_BB_SHIFT 3
#define PCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2 (0x1<<4) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_K2_SHIFT 4
+ #define PCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 3
+ #define PCM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2 (0x1<<3) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_K2_SHIFT 3
+ #define PCM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 4
#define PCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB (0x1<<4) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 4
- #define PCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2 (0x1<<5) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
- #define PCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_SHIFT 5
+ #define PCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_E5 (0x1<<5) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_E5_SHIFT 5
+ #define PCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_SHIFT 13
+ #define PCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 6
+ #define PCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_SHIFT 9
+ #define PCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_E5_SHIFT 7
#define PCM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB (0x1<<5) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_SHIFT 5
#define PCM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_K2 (0x1<<6) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_K2_SHIFT 6
+ #define PCM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 8
#define PCM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB (0x1<<6) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_SHIFT 6
#define PCM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2 (0x1<<7) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_K2_SHIFT 7
+ #define PCM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 9
#define PCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB (0x1<<7) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_SHIFT 7
#define PCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2 (0x1<<8) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_SHIFT 8
+ #define PCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 10
#define PCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB (0x1<<8) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_BB_SHIFT 8
#define PCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2 (0x1<<9) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_K2_SHIFT 9
- #define PCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
- #define PCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_SHIFT 10
+ #define PCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 11
+ #define PCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5_SHIFT 12
+ #define PCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5_SHIFT 13
#define PCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_SHIFT 11
+ #define PCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 14
#define PCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_SHIFT 12
- #define PCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define PCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_K2_SHIFT 13
+ #define PCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 15
#define PCM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_SHIFT 10
#define PCM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
#define PCM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_K2_SHIFT 14
+ #define PCM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 16
+ #define PCM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM012_I_ECC_RF_INT .
+ #define PCM_REG_PRTY_MASK_H_0_MEM012_I_ECC_RF_INT_K2_SHIFT 0
+ #define PCM_REG_PRTY_MASK_H_0_MEM010_I_ECC_0_RF_INT_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM010_I_ECC_0_RF_INT .
+ #define PCM_REG_PRTY_MASK_H_0_MEM010_I_ECC_0_RF_INT_K2_SHIFT 1
+ #define PCM_REG_PRTY_MASK_H_0_MEM010_I_ECC_1_RF_INT_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM010_I_ECC_1_RF_INT .
+ #define PCM_REG_PRTY_MASK_H_0_MEM010_I_ECC_1_RF_INT_K2_SHIFT 2
+ #define PCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define PCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_SHIFT 10
#define PCM_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_BB (0x1<<0) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM011_I_ECC_RF_INT .
#define PCM_REG_PRTY_MASK_H_0_MEM011_I_ECC_RF_INT_BB_SHIFT 0
#define PCM_REG_PRTY_MASK_H_0_MEM009_I_ECC_0_RF_INT_BB (0x1<<1) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM009_I_ECC_0_RF_INT .
#define PCM_REG_PRTY_MASK_H_0_MEM009_I_ECC_0_RF_INT_BB_SHIFT 1
#define PCM_REG_PRTY_MASK_H_0_MEM009_I_ECC_1_RF_INT_BB (0x1<<2) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM009_I_ECC_1_RF_INT .
#define PCM_REG_PRTY_MASK_H_0_MEM009_I_ECC_1_RF_INT_BB_SHIFT 2
- #define PCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB (0x1<<9) // This bit masks, when set, the Parity bit: PCM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define PCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_SHIFT 9
+#define PCM_REG_MEM012_RF_ECC_ERROR_CONNECT_0_E5 0x1100210UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: pcm.i_sm_con_ctx.rf_ecc_error_connect_0 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define PCM_REG_MEM010_RF_ECC_ERROR_CONNECT_0_K2 0x1100210UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: pcm.i_sm_con_ctx.rf_ecc_error_connect_0 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define PCM_REG_MEM009_RF_ECC_ERROR_CONNECT_0_BB 0x1100210UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: pcm.i_sm_con_ctx.rf_ecc_error_connect_0 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define PCM_REG_MEM012_RF_ECC_ERROR_CONNECT_1_E5 0x1100214UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: pcm.i_sm_con_ctx.rf_ecc_error_connect_1 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define PCM_REG_MEM010_RF_ECC_ERROR_CONNECT_1_K2 0x1100214UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: pcm.i_sm_con_ctx.rf_ecc_error_connect_1 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define PCM_REG_MEM009_RF_ECC_ERROR_CONNECT_1_BB 0x1100214UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: pcm.i_sm_con_ctx.rf_ecc_error_connect_1 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define PCM_REG_MEM_ECC_ENABLE_0_BB_K2 0x1100218UL //Access:RW DataWidth:0x3 // Multi Field Register.
+#define PCM_REG_MEM_ECC_ENABLE_0 0x1100218UL //Access:RW DataWidth:0x3 // Multi Field Register.
+ #define PCM_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance pcm.i_xx_msg_ram.i_ecc in module pcm_mem_xx_msg_ram
+ #define PCM_REG_MEM_ECC_ENABLE_0_MEM014_I_ECC_EN_E5_SHIFT 0
+ #define PCM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_0_EN_E5 (0x1<<1) // Enable ECC for memory ecc instance pcm.i_sm_con_ctx.i_ecc_0 in module pcm_mem_sm_con_ctx
+ #define PCM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_0_EN_E5_SHIFT 1
+ #define PCM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_1_EN_E5 (0x1<<2) // Enable ECC for memory ecc instance pcm.i_sm_con_ctx.i_ecc_1 in module pcm_mem_sm_con_ctx
+ #define PCM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_1_EN_E5_SHIFT 2
#define PCM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_K2 (0x1<<0) // Enable ECC for memory ecc instance pcm.i_xx_msg_ram.i_ecc in module pcm_mem_xx_msg_ram
#define PCM_REG_MEM_ECC_ENABLE_0_MEM012_I_ECC_EN_K2_SHIFT 0
#define PCM_REG_MEM_ECC_ENABLE_0_MEM010_I_ECC_0_EN_K2 (0x1<<1) // Enable ECC for memory ecc instance pcm.i_sm_con_ctx.i_ecc_0 in module pcm_mem_sm_con_ctx
@@ -71744,7 +74574,13 @@
#define PCM_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_0_EN_BB_SHIFT 1
#define PCM_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_1_EN_BB (0x1<<2) // Enable ECC for memory ecc instance pcm.i_sm_con_ctx.i_ecc_1 in module pcm_mem_sm_con_ctx
#define PCM_REG_MEM_ECC_ENABLE_0_MEM009_I_ECC_1_EN_BB_SHIFT 2
-#define PCM_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x110021cUL //Access:RW DataWidth:0x3 // Multi Field Register.
+#define PCM_REG_MEM_ECC_PARITY_ONLY_0 0x110021cUL //Access:RW DataWidth:0x3 // Multi Field Register.
+ #define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance pcm.i_xx_msg_ram.i_ecc in module pcm_mem_xx_msg_ram
+ #define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM014_I_ECC_PRTY_E5_SHIFT 0
+ #define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_0_PRTY_E5 (0x1<<1) // Set parity only for memory ecc instance pcm.i_sm_con_ctx.i_ecc_0 in module pcm_mem_sm_con_ctx
+ #define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_0_PRTY_E5_SHIFT 1
+ #define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_1_PRTY_E5 (0x1<<2) // Set parity only for memory ecc instance pcm.i_sm_con_ctx.i_ecc_1 in module pcm_mem_sm_con_ctx
+ #define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_1_PRTY_E5_SHIFT 2
#define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_K2 (0x1<<0) // Set parity only for memory ecc instance pcm.i_xx_msg_ram.i_ecc in module pcm_mem_xx_msg_ram
#define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM012_I_ECC_PRTY_K2_SHIFT 0
#define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM010_I_ECC_0_PRTY_K2 (0x1<<1) // Set parity only for memory ecc instance pcm.i_sm_con_ctx.i_ecc_0 in module pcm_mem_sm_con_ctx
@@ -71757,7 +74593,13 @@
#define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_0_PRTY_BB_SHIFT 1
#define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_1_PRTY_BB (0x1<<2) // Set parity only for memory ecc instance pcm.i_sm_con_ctx.i_ecc_1 in module pcm_mem_sm_con_ctx
#define PCM_REG_MEM_ECC_PARITY_ONLY_0_MEM009_I_ECC_1_PRTY_BB_SHIFT 2
-#define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x1100220UL //Access:RC DataWidth:0x3 // Multi Field Register.
+#define PCM_REG_MEM_ECC_ERROR_CORRECTED_0 0x1100220UL //Access:RC DataWidth:0x3 // Multi Field Register.
+ #define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance pcm.i_xx_msg_ram.i_ecc in module pcm_mem_xx_msg_ram
+ #define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM014_I_ECC_CORRECT_E5_SHIFT 0
+ #define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_0_CORRECT_E5 (0x1<<1) // Record if a correctable error occurred on memory ecc instance pcm.i_sm_con_ctx.i_ecc_0 in module pcm_mem_sm_con_ctx
+ #define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_0_CORRECT_E5_SHIFT 1
+ #define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_1_CORRECT_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance pcm.i_sm_con_ctx.i_ecc_1 in module pcm_mem_sm_con_ctx
+ #define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_1_CORRECT_E5_SHIFT 2
#define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance pcm.i_xx_msg_ram.i_ecc in module pcm_mem_xx_msg_ram
#define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM012_I_ECC_CORRECT_K2_SHIFT 0
#define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM010_I_ECC_0_CORRECT_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance pcm.i_sm_con_ctx.i_ecc_0 in module pcm_mem_sm_con_ctx
@@ -71770,7 +74612,7 @@
#define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_0_CORRECT_BB_SHIFT 1
#define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_1_CORRECT_BB (0x1<<2) // Record if a correctable error occurred on memory ecc instance pcm.i_sm_con_ctx.i_ecc_1 in module pcm_mem_sm_con_ctx
#define PCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM009_I_ECC_1_CORRECT_BB_SHIFT 2
-#define PCM_REG_MEM_ECC_EVENTS_BB_K2 0x1100224UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define PCM_REG_MEM_ECC_EVENTS 0x1100224UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define PCM_REG_IFEN 0x1100400UL //Access:RW DataWidth:0x1 // Interface enable. If 0 - the acknowledge input is disregarded; valid is deasserted; all other signals are treated as usual; if 1 - normal activity.
#define PCM_REG_ERR_EVNT_ID 0x1100404UL //Access:RW DataWidth:0x8 // The Event ID in case one of errors is set in QM input message.
#define PCM_REG_STORM_WEIGHT 0x1100604UL //Access:RW DataWidth:0x3 // The weight of the local Storm input in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
@@ -71783,11 +74625,12 @@
#define PCM_REG_IA_GROUP_PR4 0x1100624UL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 4. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define PCM_REG_IA_GROUP_PR5 0x1100628UL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 5. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define PCM_REG_IA_ARB_SP_TIMEOUT 0x110062cUL //Access:RW DataWidth:0x8 // Input Arbiter timeout value to perform non-usual arbitration operation relative to usual once in a while. Two values have special meaning: 8'h0 - constant RR; 8'h80 - constant strict priority. In all other cases the following is true: Bit [7]: if 0 - usual operation is strict priority arbitration; if 1 - usual operation is RR. Bits [6:0] - period of non-usual operation performance.
-#define PCM_REG_STORM_FRWRD_MODE 0x1100630UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define PCM_REG_STORM_FRWRD_MODE_BB_K2 0x1100630UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define PCM_REG_PSDM_FRWRD_MODE_BB_K2 0x1100634UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define PCM_REG_PBF_FRWRD_MODE_BB_K2 0x1100638UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define PCM_REG_SDM_ERR_HANDLE_EN 0x110063cUL //Access:RW DataWidth:0x1 // 0 - disable error handling in SDM message; 1 - enable error handling in SDM message.
#define PCM_REG_DIR_BYP_EN 0x1100640UL //Access:RW DataWidth:0x1 // Direct bypass enable.
-#define PCM_REG_FI_DESC_INPUT_VIOLATE 0x1100644UL //Access:R DataWidth:0xf // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block;
+#define PCM_REG_FI_DESC_INPUT_VIOLATE 0x1100644UL //Access:R DataWidth:0x13 // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block; [15] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [16] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [17]- Violation: Connection domain AggCtxLdStFlg==0 then AffinityType != 2; [18]- Violation: single Task domain AggCtxLdStFlg==0 then AffinityType != 3;
#define PCM_REG_IA_SM_CON_PART_FILL_LVL 0x1100648UL //Access:R DataWidth:0x3 // Input Arbiter Storm Connection part FIFO fill level (in messages).
#define PCM_REG_IA_TRANS_PART_FILL_LVL 0x110064cUL //Access:R DataWidth:0x3 // Input Arbiter Transparent part FIFO fill level (in messages).
#define PCM_REG_EXT_RD_FILL_LVL_E5 0x1100650UL //Access:R DataWidth:0x2 // External read buffer FIFO fill level (in FIFO entries).
@@ -71887,16 +74730,14 @@
#define PCM_REG_N_SM_CON_CTX_LD_15_E5 0x110174cUL //Access:RW DataWidth:0x5 // The number of REGQ; loaded from the STORM context and sent to STORM; for a specific connection type. The offset of these data in the STORM context is always 0. Index _i stands for the connection type (one of 16).
#define PCM_REG_PSDM_WEIGHT_BB_K2 0x1100610UL //Access:RW DataWidth:0x3 // The weight of the input PSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define PCM_REG_PSDM_WEIGHT_E5 0x1101750UL //Access:RW DataWidth:0x3 // The weight of the input PSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define PCM_REG_PSDM_FRWRD_MODE_BB_K2 0x1100634UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define PCM_REG_PSDM_FRWRD_MODE_E5 0x1101754UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define PCM_REG_PSDM_LENGTH_MIS_BB_K2 0x1100aa8UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at PSDM interface.
-#define PCM_REG_PSDM_LENGTH_MIS_E5 0x1101758UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at PSDM interface.
+#define PCM_REG_PSDM_LENGTH_MIS_E5 0x1101754UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at PSDM interface.
#define PCM_REG_PSDM_MSG_CNTR_BB_K2 0x1100abcUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input PSDM.
-#define PCM_REG_PSDM_MSG_CNTR_E5 0x110175cUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input PSDM.
+#define PCM_REG_PSDM_MSG_CNTR_E5 0x1101758UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input PSDM.
#define PCM_REG_IS_PSDM_FILL_LVL_BB_K2 0x1100accUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in PSDM Input Stage.
-#define PCM_REG_IS_PSDM_FILL_LVL_E5 0x1101760UL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in PSDM Input Stage.
+#define PCM_REG_IS_PSDM_FILL_LVL_E5 0x110175cUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in PSDM Input Stage.
#define PCM_REG_IS_FOC_PSDM_NXT_INF_UNIT_BB_K2 0x1100b90UL //Access:R DataWidth:0x6 // Debug read from PSDM Input stage buffer: number of reads to next information unit.
-#define PCM_REG_IS_FOC_PSDM_NXT_INF_UNIT_E5 0x1101764UL //Access:R DataWidth:0x6 // Debug read from PSDM Input stage buffer: number of reads to next information unit.
+#define PCM_REG_IS_FOC_PSDM_NXT_INF_UNIT_E5 0x1101760UL //Access:R DataWidth:0x6 // Debug read from PSDM Input stage buffer: number of reads to next information unit.
#define PCM_REG_IS_FOC_PSDM_BB_K2 0x1101400UL //Access:R DataWidth:0x20 // Debug read from PSDM Input stage buffer with 32-bits granularity. Read only.
#define PCM_REG_IS_FOC_PSDM_E5 0x1101780UL //Access:R DataWidth:0x20 // Debug read from PSDM Input stage buffer with 32-bits granularity. Read only.
#define PCM_REG_IS_FOC_PSDM_SIZE 16
@@ -71906,7 +74747,7 @@
#define PCM_REG_IS_YPLD_FILL_LVL_E5 0x11017ccUL //Access:R DataWidth:0x5 // Number of QREGs (128b) of data in YPLD Input Stage.
#define PCM_REG_IS_FOC_YPLD_NXT_INF_UNIT_E5 0x11017d0UL //Access:R DataWidth:0x5 // Debug read from YPLD Input stage buffer: number of reads to next information unit.
#define PCM_REG_IS_FOC_YPLD_E5 0x1101800UL //Access:R DataWidth:0x20 // Debug read from YPLD Input stage buffer with 32-bits granularity. Read only.
-#define PCM_REG_IS_FOC_YPLD_SIZE 44
+#define PCM_REG_IS_FOC_YPLD_SIZE 176
#define PCM_REG_XX_MSG_RAM 0x1102000UL //Access:R DataWidth:0x20 // Indirect access to the Xx messages RAM of the XX protection mechanism. Read-only.
#define PCM_REG_XX_MSG_RAM_SIZE 704
#define TCM_REG_INIT 0x1180000UL //Access:RW DataWidth:0x1 // Debug only. Initialises specific states and statuses. To initialise the state - write 1 into register; to enable working after that - write 0.
@@ -71974,7 +74815,7 @@
#define TCM_REG_AGG_CON_CF10_Q_BB_K2 0x118093cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
#define TCM_REG_AGG_CON_CF10_Q_E5 0x1180130UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
#define TCM_REG_AGG_CON_CF11_Q_E5 0x1180134UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define TCM_REG_INT_STS_0 0x1180180UL //Access:R DataWidth:0x10 // Multi Field Register.
+#define TCM_REG_INT_STS_0 0x1180180UL //Access:R DataWidth:0xe // Multi Field Register.
#define TCM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define TCM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define TCM_REG_INT_STS_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -72013,11 +74854,7 @@
#define TCM_REG_INT_STS_0_EXT_LD_UNDER_ERR_E5_SHIFT 12
#define TCM_REG_INT_STS_0_EXT_LD_OVFL_ERR_E5 (0x1<<13) // Write to fully External read buffer.
#define TCM_REG_INT_STS_0_EXT_LD_OVFL_ERR_E5_SHIFT 13
- #define TCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<14) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define TCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 14
- #define TCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<15) // Affinity type = 3 (task based) but task doesn't exist.
- #define TCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 15
-#define TCM_REG_INT_MASK_0 0x1180184UL //Access:RW DataWidth:0x10 // Multi Field Register.
+#define TCM_REG_INT_MASK_0 0x1180184UL //Access:RW DataWidth:0xe // Multi Field Register.
#define TCM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: TCM_REG_INT_STS_0.ADDRESS_ERROR .
#define TCM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define TCM_REG_INT_MASK_0_IS_STORM_OVFL_ERR (0x1<<1) // This bit masks, when set, the Interrupt bit: TCM_REG_INT_STS_0.IS_STORM_OVFL_ERR .
@@ -72056,11 +74893,7 @@
#define TCM_REG_INT_MASK_0_EXT_LD_UNDER_ERR_E5_SHIFT 12
#define TCM_REG_INT_MASK_0_EXT_LD_OVFL_ERR_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: TCM_REG_INT_STS_0.EXT_LD_OVFL_ERR .
#define TCM_REG_INT_MASK_0_EXT_LD_OVFL_ERR_E5_SHIFT 13
- #define TCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: TCM_REG_INT_STS_0.AFFINITY_TYPE_NO_CON .
- #define TCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 14
- #define TCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: TCM_REG_INT_STS_0.AFFINITY_TYPE_NO_TASK .
- #define TCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 15
-#define TCM_REG_INT_STS_WR_0 0x1180188UL //Access:WR DataWidth:0x10 // Multi Field Register.
+#define TCM_REG_INT_STS_WR_0 0x1180188UL //Access:WR DataWidth:0xe // Multi Field Register.
#define TCM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define TCM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define TCM_REG_INT_STS_WR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -72099,11 +74932,7 @@
#define TCM_REG_INT_STS_WR_0_EXT_LD_UNDER_ERR_E5_SHIFT 12
#define TCM_REG_INT_STS_WR_0_EXT_LD_OVFL_ERR_E5 (0x1<<13) // Write to fully External read buffer.
#define TCM_REG_INT_STS_WR_0_EXT_LD_OVFL_ERR_E5_SHIFT 13
- #define TCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<14) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define TCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 14
- #define TCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<15) // Affinity type = 3 (task based) but task doesn't exist.
- #define TCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 15
-#define TCM_REG_INT_STS_CLR_0 0x118018cUL //Access:RC DataWidth:0x10 // Multi Field Register.
+#define TCM_REG_INT_STS_CLR_0 0x118018cUL //Access:RC DataWidth:0xe // Multi Field Register.
#define TCM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define TCM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define TCM_REG_INT_STS_CLR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -72142,10 +74971,6 @@
#define TCM_REG_INT_STS_CLR_0_EXT_LD_UNDER_ERR_E5_SHIFT 12
#define TCM_REG_INT_STS_CLR_0_EXT_LD_OVFL_ERR_E5 (0x1<<13) // Write to fully External read buffer.
#define TCM_REG_INT_STS_CLR_0_EXT_LD_OVFL_ERR_E5_SHIFT 13
- #define TCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<14) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define TCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 14
- #define TCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<15) // Affinity type = 3 (task based) but task doesn't exist.
- #define TCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 15
#define TCM_REG_INT_STS_1 0x1180190UL //Access:R DataWidth:0x20 // Multi Field Register.
#define TCM_REG_INT_STS_1_IS_YSEM_UNDER_ERR (0x1<<0) // Read from empty Ysem input buffer.
#define TCM_REG_INT_STS_1_IS_YSEM_UNDER_ERR_SHIFT 0
@@ -72434,91 +75259,155 @@
#define TCM_REG_INT_STS_CLR_2 0x11801acUL //Access:RC DataWidth:0x1 // Multi Field Register.
#define TCM_REG_INT_STS_CLR_2_QMREG_MORE4 (0x1<<0) // More than 4 QM registrations.
#define TCM_REG_INT_STS_CLR_2_QMREG_MORE4_SHIFT 0
-#define TCM_REG_PRTY_MASK_H_0_BB_K2 0x1180204UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define TCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM026_I_ECC_RF_INT .
- #define TCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_K2_SHIFT 0
- #define TCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM003_I_ECC_0_RF_INT .
- #define TCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_BB_K2_SHIFT 1
- #define TCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM003_I_ECC_1_RF_INT .
- #define TCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_BB_K2_SHIFT 2
- #define TCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_0_RF_INT_K2 (0x1<<3) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM022_I_ECC_0_RF_INT .
- #define TCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_0_RF_INT_K2_SHIFT 3
- #define TCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_1_RF_INT_K2 (0x1<<4) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM022_I_ECC_1_RF_INT .
- #define TCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_1_RF_INT_K2_SHIFT 4
- #define TCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
- #define TCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 5
- #define TCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
- #define TCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2_SHIFT 6
- #define TCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_0_RF_INT_K2 (0x1<<7) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM024_I_ECC_0_RF_INT .
- #define TCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_0_RF_INT_K2_SHIFT 7
- #define TCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_1_RF_INT_K2 (0x1<<8) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM024_I_ECC_1_RF_INT .
- #define TCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_1_RF_INT_K2_SHIFT 8
- #define TCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2_SHIFT 9
- #define TCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB (0x1<<14) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_SHIFT 14
- #define TCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_SHIFT 10
- #define TCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_SHIFT 10
- #define TCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_SHIFT 11
- #define TCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_SHIFT 11
- #define TCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_SHIFT 12
+#define TCM_REG_PRTY_MASK_H_0 0x1180204UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define TCM_REG_PRTY_MASK_H_0_MEM033_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM033_I_ECC_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM033_I_ECC_RF_INT_E5_SHIFT 0
+ #define TCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM003_I_ECC_0_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_0_RF_INT_SHIFT 1
+ #define TCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM003_I_ECC_1_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_1_RF_INT_SHIFT 2
+ #define TCM_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM004_I_ECC_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM004_I_ECC_RF_INT_E5_SHIFT 3
+ #define TCM_REG_PRTY_MASK_H_0_MEM029_I_ECC_0_RF_INT_E5 (0x1<<4) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM029_I_ECC_0_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM029_I_ECC_0_RF_INT_E5_SHIFT 4
+ #define TCM_REG_PRTY_MASK_H_0_MEM029_I_ECC_1_RF_INT_E5 (0x1<<5) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM029_I_ECC_1_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM029_I_ECC_1_RF_INT_E5_SHIFT 5
+ #define TCM_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_E5 (0x1<<6) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM006_I_ECC_0_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_E5_SHIFT 6
+ #define TCM_REG_PRTY_MASK_H_0_MEM006_I_ECC_1_RF_INT_E5 (0x1<<7) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM006_I_ECC_1_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM006_I_ECC_1_RF_INT_E5_SHIFT 7
+ #define TCM_REG_PRTY_MASK_H_0_MEM031_I_ECC_0_RF_INT_E5 (0x1<<8) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM031_I_ECC_0_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM031_I_ECC_0_RF_INT_E5_SHIFT 8
+ #define TCM_REG_PRTY_MASK_H_0_MEM031_I_ECC_1_RF_INT_E5 (0x1<<9) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM031_I_ECC_1_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM031_I_ECC_1_RF_INT_E5_SHIFT 9
+ #define TCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB (0x1<<25) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB_SHIFT 25
+ #define TCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5_SHIFT 10
+ #define TCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_K2 (0x1<<26) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_K2_SHIFT 26
+ #define TCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5_SHIFT 11
+ #define TCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_SHIFT 23
+ #define TCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5_SHIFT 12
+ #define TCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2 (0x1<<24) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_SHIFT 24
+ #define TCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5_SHIFT 13
+ #define TCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_BB_SHIFT 21
+ #define TCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_E5_SHIFT 14
#define TCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB (0x1<<12) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_SHIFT 12
#define TCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2 (0x1<<13) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_K2_SHIFT 13
- #define TCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_SHIFT 13
- #define TCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_SHIFT 14
+ #define TCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5_SHIFT 15
+ #define TCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2_SHIFT 9
+ #define TCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5_SHIFT 16
#define TCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB (0x1<<26) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_SHIFT 26
#define TCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2 (0x1<<15) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_K2_SHIFT 15
+ #define TCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5_SHIFT 17
+ #define TCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2 (0x1<<27) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_SHIFT 27
+ #define TCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5_SHIFT 18
#define TCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB (0x1<<15) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_SHIFT 15
#define TCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2 (0x1<<16) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_K2_SHIFT 16
+ #define TCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_E5_SHIFT 19
+ #define TCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_SHIFT 20
+ #define TCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2_SHIFT 22
+ #define TCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5_SHIFT 20
+ #define TCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB (0x1<<11) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_SHIFT 11
+ #define TCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2 (0x1<<12) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_K2_SHIFT 12
+ #define TCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5_SHIFT 21
+ #define TCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB (0x1<<14) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_SHIFT 14
+ #define TCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2 (0x1<<10) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_K2_SHIFT 10
+ #define TCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5_SHIFT 22
#define TCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB (0x1<<16) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_SHIFT 16
#define TCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2 (0x1<<17) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_K2_SHIFT 17
+ #define TCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 23
#define TCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB (0x1<<17) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_SHIFT 17
#define TCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2 (0x1<<18) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_K2_SHIFT 18
+ #define TCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 24
#define TCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB (0x1<<18) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_SHIFT 18
#define TCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2 (0x1<<19) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_K2_SHIFT 19
+ #define TCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5_SHIFT 25
+ #define TCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB (0x1<<10) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_SHIFT 10
+ #define TCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2 (0x1<<11) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_K2_SHIFT 11
+ #define TCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5_SHIFT 26
+ #define TCM_REG_PRTY_MASK_H_0_MEM036_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM036_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM036_I_MEM_PRTY_E5_SHIFT 27
+ #define TCM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM035_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_E5_SHIFT 28
+ #define TCM_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM034_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM034_I_MEM_PRTY_E5_SHIFT 29
+ #define TCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM005_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM005_I_MEM_PRTY_E5_SHIFT 30
+ #define TCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM026_I_ECC_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_K2_SHIFT 0
+ #define TCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_0_RF_INT_K2 (0x1<<3) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM022_I_ECC_0_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_0_RF_INT_K2_SHIFT 3
+ #define TCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_1_RF_INT_K2 (0x1<<4) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM022_I_ECC_1_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM022_I_ECC_1_RF_INT_K2_SHIFT 4
+ #define TCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 5
+ #define TCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2_SHIFT 6
+ #define TCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_0_RF_INT_K2 (0x1<<7) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM024_I_ECC_0_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_0_RF_INT_K2_SHIFT 7
+ #define TCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_1_RF_INT_K2 (0x1<<8) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM024_I_ECC_1_RF_INT .
+ #define TCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_1_RF_INT_K2_SHIFT 8
+ #define TCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB (0x1<<13) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_BB_SHIFT 13
+ #define TCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2 (0x1<<14) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_K2_SHIFT 14
#define TCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_K2 (0x1<<20) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_K2_SHIFT 20
#define TCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB (0x1<<19) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_BB_SHIFT 19
#define TCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_K2 (0x1<<21) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_K2_SHIFT 21
- #define TCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB (0x1<<20) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_SHIFT 20
- #define TCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2 (0x1<<22) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_K2_SHIFT 22
#define TCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB (0x1<<22) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_SHIFT 22
#define TCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2 (0x1<<23) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_K2_SHIFT 23
- #define TCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2 (0x1<<24) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_K2_SHIFT 24
#define TCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB (0x1<<24) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_SHIFT 24
#define TCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2 (0x1<<25) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_K2_SHIFT 25
- #define TCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_K2 (0x1<<26) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_K2_SHIFT 26
- #define TCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2 (0x1<<27) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_K2_SHIFT 27
#define TCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB (0x1<<27) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_0 .
#define TCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB_SHIFT 27
#define TCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_K2 (0x1<<28) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_0 .
@@ -72541,32 +75430,62 @@
#define TCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_0_RF_INT_BB_SHIFT 7
#define TCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_1_RF_INT_BB (0x1<<8) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM023_I_ECC_1_RF_INT .
#define TCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_1_RF_INT_BB_SHIFT 8
- #define TCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_BB (0x1<<21) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_BB_SHIFT 21
- #define TCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB (0x1<<23) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_SHIFT 23
- #define TCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB (0x1<<25) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
- #define TCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB_SHIFT 25
#define TCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB (0x1<<30) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_SHIFT 30
-#define TCM_REG_PRTY_MASK_H_1_BB_K2 0x1180214UL //Access:RW DataWidth:0x3 // Multi Field Register.
+#define TCM_REG_PRTY_MASK_H_1 0x1180214UL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define TCM_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM030_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_1_MEM030_I_MEM_PRTY_E5_SHIFT 0
+ #define TCM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM007_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_E5_SHIFT 1
+ #define TCM_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM032_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_1_MEM032_I_MEM_PRTY_E5_SHIFT 2
+ #define TCM_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_E5 (0x1<<3) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM028_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_1_MEM028_I_MEM_PRTY_E5_SHIFT 3
+ #define TCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_0_E5 (0x1<<4) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM008_I_MEM_PRTY_0 .
+ #define TCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_0_E5_SHIFT 4
+ #define TCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_1_E5 (0x1<<5) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM008_I_MEM_PRTY_1 .
+ #define TCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_1_E5_SHIFT 5
#define TCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_K2_SHIFT 0
+ #define TCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_E5_SHIFT 6
+ #define TCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_E5_SHIFT 7
#define TCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_BB (0x1<<0) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_BB_SHIFT 0
#define TCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_K2 (0x1<<1) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_K2_SHIFT 1
+ #define TCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_E5_SHIFT 8
#define TCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_BB (0x1<<1) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_BB_SHIFT 1
#define TCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_K2 (0x1<<2) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
#define TCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_K2_SHIFT 2
-#define TCM_REG_MEM_ECC_ENABLE_0_BB_K2 0x1180220UL //Access:RW DataWidth:0x9 // Multi Field Register.
+ #define TCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: TCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
+ #define TCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_E5_SHIFT 9
+#define TCM_REG_MEM_ECC_ENABLE_0 0x1180220UL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM033_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance tcm.i_xx_msg_ram.i_ecc in module tcm_mem_xx_msg_ram
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM033_I_ECC_EN_E5_SHIFT 0
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN (0x1<<1) // Enable ECC for memory ecc instance tcm.i_agg_con_ctx_0_3.i_ecc_0 in module tcm_mem_agg_con_ctx_0_3
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_SHIFT 1
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN (0x1<<2) // Enable ECC for memory ecc instance tcm.i_agg_con_ctx_0_3.i_ecc_1 in module tcm_mem_agg_con_ctx_0_3
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_SHIFT 2
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance tcm.i_agg_con_ctx_4.i_ecc in module tcm_mem_agg_con_ctx_4
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM004_I_ECC_EN_E5_SHIFT 3
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM029_I_ECC_0_EN_E5 (0x1<<4) // Enable ECC for memory ecc instance tcm.i_sm_con_ctx.i_ecc_0 in module tcm_mem_sm_con_ctx
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM029_I_ECC_0_EN_E5_SHIFT 4
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM029_I_ECC_1_EN_E5 (0x1<<5) // Enable ECC for memory ecc instance tcm.i_sm_con_ctx.i_ecc_1 in module tcm_mem_sm_con_ctx
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM029_I_ECC_1_EN_E5_SHIFT 5
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_0_EN_E5 (0x1<<6) // Enable ECC for memory ecc instance tcm.i_agg_task_ctx.i_ecc_0 in module tcm_mem_agg_task_ctx
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_0_EN_E5_SHIFT 6
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_1_EN_E5 (0x1<<7) // Enable ECC for memory ecc instance tcm.i_agg_task_ctx.i_ecc_1 in module tcm_mem_agg_task_ctx
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_1_EN_E5_SHIFT 7
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM031_I_ECC_0_EN_E5 (0x1<<8) // Enable ECC for memory ecc instance tcm.i_sm_task_ctx.i_ecc_0 in module tcm_mem_sm_task_ctx
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM031_I_ECC_0_EN_E5_SHIFT 8
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM031_I_ECC_1_EN_E5 (0x1<<9) // Enable ECC for memory ecc instance tcm.i_sm_task_ctx.i_ecc_1 in module tcm_mem_sm_task_ctx
+ #define TCM_REG_MEM_ECC_ENABLE_0_MEM031_I_ECC_1_EN_E5_SHIFT 9
#define TCM_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_EN_K2 (0x1<<0) // Enable ECC for memory ecc instance tcm.i_xx_msg_ram.i_ecc in module tcm_mem_xx_msg_ram
#define TCM_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_EN_K2_SHIFT 0
- #define TCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance tcm.i_agg_con_ctx.i_ecc_0 in module tcm_mem_agg_con_ctx
- #define TCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_0_EN_BB_K2_SHIFT 1
- #define TCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance tcm.i_agg_con_ctx.i_ecc_1 in module tcm_mem_agg_con_ctx
- #define TCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_1_EN_BB_K2_SHIFT 2
#define TCM_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_0_EN_K2 (0x1<<3) // Enable ECC for memory ecc instance tcm.i_sm_con_ctx.i_ecc_0 in module tcm_mem_sm_con_ctx
#define TCM_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_0_EN_K2_SHIFT 3
#define TCM_REG_MEM_ECC_ENABLE_0_MEM022_I_ECC_1_EN_K2 (0x1<<4) // Enable ECC for memory ecc instance tcm.i_sm_con_ctx.i_ecc_1 in module tcm_mem_sm_con_ctx
@@ -72589,13 +75508,29 @@
#define TCM_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_0_EN_BB_SHIFT 7
#define TCM_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_1_EN_BB (0x1<<8) // Enable ECC for memory ecc instance tcm.i_sm_task_ctx.i_ecc_1 in module tcm_mem_sm_task_ctx
#define TCM_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_1_EN_BB_SHIFT 8
-#define TCM_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x1180224UL //Access:RW DataWidth:0x9 // Multi Field Register.
+#define TCM_REG_MEM_ECC_PARITY_ONLY_0 0x1180224UL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM033_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance tcm.i_xx_msg_ram.i_ecc in module tcm_mem_xx_msg_ram
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM033_I_ECC_PRTY_E5_SHIFT 0
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY (0x1<<1) // Set parity only for memory ecc instance tcm.i_agg_con_ctx_0_3.i_ecc_0 in module tcm_mem_agg_con_ctx_0_3
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_SHIFT 1
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY (0x1<<2) // Set parity only for memory ecc instance tcm.i_agg_con_ctx_0_3.i_ecc_1 in module tcm_mem_agg_con_ctx_0_3
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_SHIFT 2
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance tcm.i_agg_con_ctx_4.i_ecc in module tcm_mem_agg_con_ctx_4
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM004_I_ECC_PRTY_E5_SHIFT 3
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM029_I_ECC_0_PRTY_E5 (0x1<<4) // Set parity only for memory ecc instance tcm.i_sm_con_ctx.i_ecc_0 in module tcm_mem_sm_con_ctx
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM029_I_ECC_0_PRTY_E5_SHIFT 4
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM029_I_ECC_1_PRTY_E5 (0x1<<5) // Set parity only for memory ecc instance tcm.i_sm_con_ctx.i_ecc_1 in module tcm_mem_sm_con_ctx
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM029_I_ECC_1_PRTY_E5_SHIFT 5
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_0_PRTY_E5 (0x1<<6) // Set parity only for memory ecc instance tcm.i_agg_task_ctx.i_ecc_0 in module tcm_mem_agg_task_ctx
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_0_PRTY_E5_SHIFT 6
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_1_PRTY_E5 (0x1<<7) // Set parity only for memory ecc instance tcm.i_agg_task_ctx.i_ecc_1 in module tcm_mem_agg_task_ctx
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_1_PRTY_E5_SHIFT 7
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM031_I_ECC_0_PRTY_E5 (0x1<<8) // Set parity only for memory ecc instance tcm.i_sm_task_ctx.i_ecc_0 in module tcm_mem_sm_task_ctx
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM031_I_ECC_0_PRTY_E5_SHIFT 8
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM031_I_ECC_1_PRTY_E5 (0x1<<9) // Set parity only for memory ecc instance tcm.i_sm_task_ctx.i_ecc_1 in module tcm_mem_sm_task_ctx
+ #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM031_I_ECC_1_PRTY_E5_SHIFT 9
#define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_PRTY_K2 (0x1<<0) // Set parity only for memory ecc instance tcm.i_xx_msg_ram.i_ecc in module tcm_mem_xx_msg_ram
#define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_PRTY_K2_SHIFT 0
- #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance tcm.i_agg_con_ctx.i_ecc_0 in module tcm_mem_agg_con_ctx
- #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_0_PRTY_BB_K2_SHIFT 1
- #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance tcm.i_agg_con_ctx.i_ecc_1 in module tcm_mem_agg_con_ctx
- #define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_1_PRTY_BB_K2_SHIFT 2
#define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_0_PRTY_K2 (0x1<<3) // Set parity only for memory ecc instance tcm.i_sm_con_ctx.i_ecc_0 in module tcm_mem_sm_con_ctx
#define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_0_PRTY_K2_SHIFT 3
#define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM022_I_ECC_1_PRTY_K2 (0x1<<4) // Set parity only for memory ecc instance tcm.i_sm_con_ctx.i_ecc_1 in module tcm_mem_sm_con_ctx
@@ -72618,13 +75553,29 @@
#define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_0_PRTY_BB_SHIFT 7
#define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_1_PRTY_BB (0x1<<8) // Set parity only for memory ecc instance tcm.i_sm_task_ctx.i_ecc_1 in module tcm_mem_sm_task_ctx
#define TCM_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_1_PRTY_BB_SHIFT 8
-#define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x1180228UL //Access:RC DataWidth:0x9 // Multi Field Register.
+#define TCM_REG_MEM_ECC_ERROR_CORRECTED_0 0x1180228UL //Access:RC DataWidth:0xa // Multi Field Register.
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM033_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance tcm.i_xx_msg_ram.i_ecc in module tcm_mem_xx_msg_ram
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM033_I_ECC_CORRECT_E5_SHIFT 0
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance tcm.i_agg_con_ctx_0_3.i_ecc_0 in module tcm_mem_agg_con_ctx_0_3
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_SHIFT 1
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance tcm.i_agg_con_ctx_0_3.i_ecc_1 in module tcm_mem_agg_con_ctx_0_3
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_SHIFT 2
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance tcm.i_agg_con_ctx_4.i_ecc in module tcm_mem_agg_con_ctx_4
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM004_I_ECC_CORRECT_E5_SHIFT 3
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM029_I_ECC_0_CORRECT_E5 (0x1<<4) // Record if a correctable error occurred on memory ecc instance tcm.i_sm_con_ctx.i_ecc_0 in module tcm_mem_sm_con_ctx
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM029_I_ECC_0_CORRECT_E5_SHIFT 4
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM029_I_ECC_1_CORRECT_E5 (0x1<<5) // Record if a correctable error occurred on memory ecc instance tcm.i_sm_con_ctx.i_ecc_1 in module tcm_mem_sm_con_ctx
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM029_I_ECC_1_CORRECT_E5_SHIFT 5
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_0_CORRECT_E5 (0x1<<6) // Record if a correctable error occurred on memory ecc instance tcm.i_agg_task_ctx.i_ecc_0 in module tcm_mem_agg_task_ctx
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_0_CORRECT_E5_SHIFT 6
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_1_CORRECT_E5 (0x1<<7) // Record if a correctable error occurred on memory ecc instance tcm.i_agg_task_ctx.i_ecc_1 in module tcm_mem_agg_task_ctx
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_1_CORRECT_E5_SHIFT 7
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM031_I_ECC_0_CORRECT_E5 (0x1<<8) // Record if a correctable error occurred on memory ecc instance tcm.i_sm_task_ctx.i_ecc_0 in module tcm_mem_sm_task_ctx
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM031_I_ECC_0_CORRECT_E5_SHIFT 8
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM031_I_ECC_1_CORRECT_E5 (0x1<<9) // Record if a correctable error occurred on memory ecc instance tcm.i_sm_task_ctx.i_ecc_1 in module tcm_mem_sm_task_ctx
+ #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM031_I_ECC_1_CORRECT_E5_SHIFT 9
#define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_CORRECT_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance tcm.i_xx_msg_ram.i_ecc in module tcm_mem_xx_msg_ram
#define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_CORRECT_K2_SHIFT 0
- #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance tcm.i_agg_con_ctx.i_ecc_0 in module tcm_mem_agg_con_ctx
- #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_0_CORRECT_BB_K2_SHIFT 1
- #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance tcm.i_agg_con_ctx.i_ecc_1 in module tcm_mem_agg_con_ctx
- #define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_1_CORRECT_BB_K2_SHIFT 2
#define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_0_CORRECT_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance tcm.i_sm_con_ctx.i_ecc_0 in module tcm_mem_sm_con_ctx
#define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_0_CORRECT_K2_SHIFT 3
#define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM022_I_ECC_1_CORRECT_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance tcm.i_sm_con_ctx.i_ecc_1 in module tcm_mem_sm_con_ctx
@@ -72647,7 +75598,7 @@
#define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_0_CORRECT_BB_SHIFT 7
#define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_1_CORRECT_BB (0x1<<8) // Record if a correctable error occurred on memory ecc instance tcm.i_sm_task_ctx.i_ecc_1 in module tcm_mem_sm_task_ctx
#define TCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_1_CORRECT_BB_SHIFT 8
-#define TCM_REG_MEM_ECC_EVENTS_BB_K2 0x118022cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define TCM_REG_MEM_ECC_EVENTS 0x118022cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define TCM_REG_IFEN 0x1180400UL //Access:RW DataWidth:0x1 // Interface enable. If 0 - the acknowledge input is disregarded; valid is deasserted; all other signals are treated as usual; if 1 - normal activity.
#define TCM_REG_QM_TASK_BASE_EVNT_ID_0 0x1180424UL //Access:RW DataWidth:0x8 // QM task base Event ID per connection type.
#define TCM_REG_QM_TASK_BASE_EVNT_ID_1 0x1180428UL //Access:RW DataWidth:0x8 // QM task base Event ID per connection type.
@@ -72726,14 +75677,16 @@
#define TCM_REG_IA_GROUP_PR4 0x1180640UL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 4. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define TCM_REG_IA_GROUP_PR5 0x1180644UL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 5. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define TCM_REG_IA_ARB_SP_TIMEOUT 0x1180648UL //Access:RW DataWidth:0x8 // Input Arbiter timeout value to perform non-usual arbitration operation relative to usual once in a while. Two values have special meaning: 8'h0 - constant RR; 8'h80 - constant strict priority. In all other cases the following is true: Bit [7]: if 0 - usual operation is strict priority arbitration; if 1 - usual operation is RR. Bits [6:0] - period of non-usual operation performance.
-#define TCM_REG_STORM_FRWRD_MODE 0x118064cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define TCM_REG_MSEM_FRWRD_MODE 0x1180654UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define TCM_REG_DORQ_FRWRD_MODE 0x118065cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define TCM_REG_PBF_FRWRD_MODE 0x1180660UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define TCM_REG_STORM_FRWRD_MODE_BB_K2 0x118064cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define TCM_REG_TSDM_FRWRD_MODE_BB_K2 0x1180650UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define TCM_REG_MSEM_FRWRD_MODE_BB_K2 0x1180654UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define TCM_REG_YSEM_FRWRD_MODE_BB_K2 0x1180658UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define TCM_REG_DORQ_FRWRD_MODE_BB_K2 0x118065cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define TCM_REG_PBF_FRWRD_MODE_BB_K2 0x1180660UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define TCM_REG_SDM_ERR_HANDLE_EN 0x1180664UL //Access:RW DataWidth:0x1 // 0 - disable error handling in SDM message; 1 - enable error handling in SDM message.
#define TCM_REG_DIR_BYP_EN 0x1180668UL //Access:RW DataWidth:0x1 // Direct bypass enable.
-#define TCM_REG_FI_DESC_INPUT_VIOLATE 0x118066cUL //Access:R DataWidth:0xf // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block;
-#define TCM_REG_SE_DESC_INPUT_VIOLATE 0x1180670UL //Access:R DataWidth:0xc // Input message second descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0; Read only register.
+#define TCM_REG_FI_DESC_INPUT_VIOLATE 0x118066cUL //Access:R DataWidth:0x13 // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block; [15] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [16] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [17]- Violation: Connection domain AggCtxLdStFlg==0 then AffinityType != 2; [18]- Violation: single Task domain AggCtxLdStFlg==0 then AffinityType != 3;
+#define TCM_REG_SE_DESC_INPUT_VIOLATE 0x1180670UL //Access:R DataWidth:0xd // Input message second descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0; [12]- Violation: dual Task domain AggCtxLdStFlg==0 then AffinityType != 3;Read only register.
#define TCM_REG_IA_AGG_CON_PART_FILL_LVL 0x1180674UL //Access:R DataWidth:0x3 // Input Arbiter Aggregation Connection part FIFO fill level (in messages).
#define TCM_REG_IA_SM_CON_PART_FILL_LVL 0x1180678UL //Access:R DataWidth:0x3 // Input Arbiter Storm Connection part FIFO fill level (in messages).
#define TCM_REG_IA_AGG_TASK_PART_FILL_LVL 0x118067cUL //Access:R DataWidth:0x3 // Input Arbiter Aggregation Task part FIFO fill level (in messages).
@@ -73151,45 +76104,39 @@
#define TCM_REG_QM_SM_CON_CTX_LDST_FLG_15_E5 0x1181afcUL //Access:RW DataWidth:0x1 // QM storm connection context load_store per connection type.
#define TCM_REG_TSDM_WEIGHT_BB_K2 0x1180620UL //Access:RW DataWidth:0x3 // The weight of the input TSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define TCM_REG_TSDM_WEIGHT_E5 0x1181b00UL //Access:RW DataWidth:0x3 // The weight of the input TSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define TCM_REG_TSDM_FRWRD_MODE_BB_K2 0x1180650UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define TCM_REG_TSDM_FRWRD_MODE_E5 0x1181b04UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define TCM_REG_TSDM_LENGTH_MIS_BB_K2 0x1180aa8UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at TSDM interface.
-#define TCM_REG_TSDM_LENGTH_MIS_E5 0x1181b08UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at TSDM interface.
+#define TCM_REG_TSDM_LENGTH_MIS_E5 0x1181b04UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at TSDM interface.
#define TCM_REG_TSDM_MSG_CNTR_BB_K2 0x1180ac4UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input TSDM.
-#define TCM_REG_TSDM_MSG_CNTR_E5 0x1181b0cUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input TSDM.
+#define TCM_REG_TSDM_MSG_CNTR_E5 0x1181b08UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input TSDM.
#define TCM_REG_IS_TSDM_FILL_LVL_BB_K2 0x1180afcUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in TSDM Input Stage.
-#define TCM_REG_IS_TSDM_FILL_LVL_E5 0x1181b10UL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in TSDM Input Stage.
+#define TCM_REG_IS_TSDM_FILL_LVL_E5 0x1181b0cUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in TSDM Input Stage.
#define TCM_REG_IS_FOC_TSDM_NXT_INF_UNIT_BB_K2 0x1180ba0UL //Access:R DataWidth:0x6 // Debug read from TSDM Input stage buffer: number of reads to next information unit.
-#define TCM_REG_IS_FOC_TSDM_NXT_INF_UNIT_E5 0x1181b14UL //Access:R DataWidth:0x6 // Debug read from TSDM Input stage buffer: number of reads to next information unit.
+#define TCM_REG_IS_FOC_TSDM_NXT_INF_UNIT_E5 0x1181b10UL //Access:R DataWidth:0x6 // Debug read from TSDM Input stage buffer: number of reads to next information unit.
#define TCM_REG_IS_FOC_TSDM_BB_K2 0x1181480UL //Access:R DataWidth:0x20 // Debug read from TSDM Input stage buffer with 32-bits granularity. Read only.
#define TCM_REG_IS_FOC_TSDM_E5 0x1181b40UL //Access:R DataWidth:0x20 // Debug read from TSDM Input stage buffer with 32-bits granularity. Read only.
#define TCM_REG_IS_FOC_TSDM_SIZE 16
#define TCM_REG_PSDM_WEIGHT_E5 0x1181b80UL //Access:RW DataWidth:0x3 // The weight of the input PSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define TCM_REG_PSDM_FRWRD_MODE_E5 0x1181b84UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define TCM_REG_PSDM_LENGTH_MIS_E5 0x1181b88UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at PSDM interface.
-#define TCM_REG_PSDM_MSG_CNTR_E5 0x1181b8cUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input PSDM.
-#define TCM_REG_IS_PSDM_FILL_LVL_E5 0x1181b90UL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in PSDM Input Stage.
-#define TCM_REG_IS_FOC_PSDM_NXT_INF_UNIT_E5 0x1181b94UL //Access:R DataWidth:0x6 // Debug read from PSDM Input stage buffer: number of reads to next information unit.
+#define TCM_REG_PSDM_LENGTH_MIS_E5 0x1181b84UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at PSDM interface.
+#define TCM_REG_PSDM_MSG_CNTR_E5 0x1181b88UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input PSDM.
+#define TCM_REG_IS_PSDM_FILL_LVL_E5 0x1181b8cUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in PSDM Input Stage.
+#define TCM_REG_IS_FOC_PSDM_NXT_INF_UNIT_E5 0x1181b90UL //Access:R DataWidth:0x6 // Debug read from PSDM Input stage buffer: number of reads to next information unit.
#define TCM_REG_IS_FOC_PSDM_E5 0x1181bc0UL //Access:R DataWidth:0x20 // Debug read from PSDM Input stage buffer with 32-bits granularity. Read only.
#define TCM_REG_IS_FOC_PSDM_SIZE 16
#define TCM_REG_MSDM_WEIGHT_E5 0x1181c00UL //Access:RW DataWidth:0x3 // The weight of the input MSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define TCM_REG_MSDM_FRWRD_MODE_E5 0x1181c04UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define TCM_REG_MSDM_LENGTH_MIS_E5 0x1181c08UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
-#define TCM_REG_MSDM_MSG_CNTR_E5 0x1181c0cUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
-#define TCM_REG_IS_MSDM_FILL_LVL_E5 0x1181c10UL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in MSDM Input Stage.
-#define TCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_E5 0x1181c14UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
+#define TCM_REG_MSDM_LENGTH_MIS_E5 0x1181c04UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
+#define TCM_REG_MSDM_MSG_CNTR_E5 0x1181c08UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
+#define TCM_REG_IS_MSDM_FILL_LVL_E5 0x1181c0cUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in MSDM Input Stage.
+#define TCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_E5 0x1181c10UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
#define TCM_REG_IS_FOC_MSDM_E5 0x1181c40UL //Access:R DataWidth:0x20 // Debug read from MSDM Input stage buffer with 32-bits granularity. Read only.
#define TCM_REG_IS_FOC_MSDM_SIZE 16
#define TCM_REG_YSEM_WEIGHT_BB_K2 0x118060cUL //Access:RW DataWidth:0x3 // The weight of the input Ysem in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define TCM_REG_YSEM_WEIGHT_E5 0x1181c80UL //Access:RW DataWidth:0x3 // The weight of the input Ysem in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define TCM_REG_YSEM_FRWRD_MODE_BB_K2 0x1180658UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define TCM_REG_YSEM_FRWRD_MODE_E5 0x1181c84UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define TCM_REG_YSEM_MSG_CNTR_BB_K2 0x1180accUL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
-#define TCM_REG_YSEM_MSG_CNTR_E5 0x1181c88UL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
+#define TCM_REG_YSEM_MSG_CNTR_E5 0x1181c84UL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
#define TCM_REG_IS_YSEM_FILL_LVL_BB_K2 0x1180b04UL //Access:R DataWidth:0x4 // Number of QREGs (128b) of data in YSEM Input Stage.
-#define TCM_REG_IS_YSEM_FILL_LVL_E5 0x1181c8cUL //Access:R DataWidth:0x4 // Number of QREGs (128b) for TCM, XCM or 2 QREGs (256b) for MCM of data in YSEM Input Stage.
+#define TCM_REG_IS_YSEM_FILL_LVL_E5 0x1181c88UL //Access:R DataWidth:0x4 // Number of QREGs (128b) for TCM, XCM or 2 QREGs (256b) for MCM of data in YSEM Input Stage.
#define TCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_BB_K2 0x1180b90UL //Access:R DataWidth:0x6 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
-#define TCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_E5 0x1181c90UL //Access:R DataWidth:0x6 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
+#define TCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_E5 0x1181c8cUL //Access:R DataWidth:0x6 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
#define TCM_REG_IS_FOC_YSEM_BB_K2 0x1181100UL //Access:R DataWidth:0x20 // Debug read from YSEM Input stage buffer with 32-bits granularity. Read only.
#define TCM_REG_IS_FOC_YSEM_E5 0x1181d00UL //Access:R DataWidth:0x20 // Debug read from YSEM Input stage buffer with 32-bits granularity. Read only.
#define TCM_REG_IS_FOC_YSEM_SIZE 60
@@ -73267,7 +76214,7 @@
#define MCM_REG_AGG_CON_CF1_Q_E5 0x120010cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
#define MCM_REG_AGG_CON_CF2_Q_BB_K2 0x120091cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
#define MCM_REG_AGG_CON_CF2_Q_E5 0x1200110UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define MCM_REG_INT_STS_0 0x1200180UL //Access:R DataWidth:0x16 // Multi Field Register.
+#define MCM_REG_INT_STS_0 0x1200180UL //Access:R DataWidth:0x14 // Multi Field Register.
#define MCM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define MCM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define MCM_REG_INT_STS_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -73322,11 +76269,7 @@
#define MCM_REG_INT_STS_0_EXT_LD_UNDER_ERR_E5_SHIFT 18
#define MCM_REG_INT_STS_0_EXT_LD_OVFL_ERR_E5 (0x1<<19) // Write to fully External read buffer.
#define MCM_REG_INT_STS_0_EXT_LD_OVFL_ERR_E5_SHIFT 19
- #define MCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<20) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define MCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 20
- #define MCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<21) // Affinity type = 3 (task based) but task doesn't exist.
- #define MCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 21
-#define MCM_REG_INT_MASK_0 0x1200184UL //Access:RW DataWidth:0x16 // Multi Field Register.
+#define MCM_REG_INT_MASK_0 0x1200184UL //Access:RW DataWidth:0x14 // Multi Field Register.
#define MCM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: MCM_REG_INT_STS_0.ADDRESS_ERROR .
#define MCM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define MCM_REG_INT_MASK_0_IS_STORM_OVFL_ERR (0x1<<1) // This bit masks, when set, the Interrupt bit: MCM_REG_INT_STS_0.IS_STORM_OVFL_ERR .
@@ -73381,11 +76324,7 @@
#define MCM_REG_INT_MASK_0_EXT_LD_UNDER_ERR_E5_SHIFT 18
#define MCM_REG_INT_MASK_0_EXT_LD_OVFL_ERR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: MCM_REG_INT_STS_0.EXT_LD_OVFL_ERR .
#define MCM_REG_INT_MASK_0_EXT_LD_OVFL_ERR_E5_SHIFT 19
- #define MCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: MCM_REG_INT_STS_0.AFFINITY_TYPE_NO_CON .
- #define MCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 20
- #define MCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: MCM_REG_INT_STS_0.AFFINITY_TYPE_NO_TASK .
- #define MCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 21
-#define MCM_REG_INT_STS_WR_0 0x1200188UL //Access:WR DataWidth:0x16 // Multi Field Register.
+#define MCM_REG_INT_STS_WR_0 0x1200188UL //Access:WR DataWidth:0x14 // Multi Field Register.
#define MCM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define MCM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define MCM_REG_INT_STS_WR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -73440,11 +76379,7 @@
#define MCM_REG_INT_STS_WR_0_EXT_LD_UNDER_ERR_E5_SHIFT 18
#define MCM_REG_INT_STS_WR_0_EXT_LD_OVFL_ERR_E5 (0x1<<19) // Write to fully External read buffer.
#define MCM_REG_INT_STS_WR_0_EXT_LD_OVFL_ERR_E5_SHIFT 19
- #define MCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<20) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define MCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 20
- #define MCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<21) // Affinity type = 3 (task based) but task doesn't exist.
- #define MCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 21
-#define MCM_REG_INT_STS_CLR_0 0x120018cUL //Access:RC DataWidth:0x16 // Multi Field Register.
+#define MCM_REG_INT_STS_CLR_0 0x120018cUL //Access:RC DataWidth:0x14 // Multi Field Register.
#define MCM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define MCM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define MCM_REG_INT_STS_CLR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -73499,10 +76434,6 @@
#define MCM_REG_INT_STS_CLR_0_EXT_LD_UNDER_ERR_E5_SHIFT 18
#define MCM_REG_INT_STS_CLR_0_EXT_LD_OVFL_ERR_E5 (0x1<<19) // Write to fully External read buffer.
#define MCM_REG_INT_STS_CLR_0_EXT_LD_OVFL_ERR_E5_SHIFT 19
- #define MCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<20) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define MCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 20
- #define MCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<21) // Affinity type = 3 (task based) but task doesn't exist.
- #define MCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 21
#define MCM_REG_INT_STS_1 0x1200190UL //Access:R DataWidth:0x1a // Multi Field Register.
#define MCM_REG_INT_STS_1_IS_YSEM_UNDER_ERR (0x1<<0) // Read from empty Ysem input buffer.
#define MCM_REG_INT_STS_1_IS_YSEM_UNDER_ERR_SHIFT 0
@@ -73727,138 +76658,252 @@
#define MCM_REG_INT_STS_CLR_2 0x12001acUL //Access:RC DataWidth:0x1 // Multi Field Register.
#define MCM_REG_INT_STS_CLR_2_QMREG_MORE4 (0x1<<0) // More than 4 QM registrations.
#define MCM_REG_INT_STS_CLR_2_QMREG_MORE4_SHIFT 0
-#define MCM_REG_PRTY_MASK_H_0_BB_K2 0x1200204UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define MCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM028_I_ECC_RF_INT .
- #define MCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define MCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
- #define MCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_BB_K2_SHIFT 1
- #define MCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_0_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM023_I_ECC_0_RF_INT .
- #define MCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_0_RF_INT_BB_K2_SHIFT 2
- #define MCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_1_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM023_I_ECC_1_RF_INT .
- #define MCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_1_RF_INT_BB_K2_SHIFT 3
- #define MCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
- #define MCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 4
- #define MCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
- #define MCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2_SHIFT 5
- #define MCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_0_RF_INT_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM025_I_ECC_0_RF_INT .
- #define MCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_0_RF_INT_BB_K2_SHIFT 6
- #define MCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_1_RF_INT_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM025_I_ECC_1_RF_INT .
- #define MCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_1_RF_INT_BB_K2_SHIFT 7
- #define MCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM026_I_ECC_RF_INT .
- #define MCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_BB_K2_SHIFT 8
- #define MCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
- #define MCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_K2_SHIFT 9
+#define MCM_REG_PRTY_MASK_H_0 0x1200204UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define MCM_REG_PRTY_MASK_H_0_MEM034_I_ECC_RF_INT_E5 (0x1<<0) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM034_I_ECC_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM034_I_ECC_RF_INT_E5_SHIFT 0
+ #define MCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM003_I_ECC_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM003_I_ECC_RF_INT_SHIFT 1
+ #define MCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_0_RF_INT_E5 (0x1<<2) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM030_I_ECC_0_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_0_RF_INT_E5_SHIFT 2
+ #define MCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_1_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM030_I_ECC_1_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_1_RF_INT_E5_SHIFT 3
+ #define MCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT (0x1<<4) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_SHIFT 4
+ #define MCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT (0x1<<5) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_SHIFT 5
+ #define MCM_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_E5 (0x1<<6) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_E5_SHIFT 6
+ #define MCM_REG_PRTY_MASK_H_0_MEM032_I_ECC_0_RF_INT_E5 (0x1<<7) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM032_I_ECC_0_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM032_I_ECC_0_RF_INT_E5_SHIFT 7
+ #define MCM_REG_PRTY_MASK_H_0_MEM032_I_ECC_1_RF_INT_E5 (0x1<<8) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM032_I_ECC_1_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM032_I_ECC_1_RF_INT_E5_SHIFT 8
+ #define MCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_BB_K2_SHIFT 14
+ #define MCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5_SHIFT 9
+ #define MCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_K2_SHIFT 27
+ #define MCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5_SHIFT 10
#define MCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_K2 (0x1<<10) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_K2_SHIFT 10
- #define MCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define MCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2_SHIFT 11
- #define MCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define MCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2_SHIFT 12
+ #define MCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5_SHIFT 11
#define MCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_K2_SHIFT 13
- #define MCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
- #define MCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_BB_K2_SHIFT 14
+ #define MCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5_SHIFT 12
+ #define MCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_E5_SHIFT 13
+ #define MCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_K2 (0x1<<9) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_K2_SHIFT 9
+ #define MCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_E5_SHIFT 14
+ #define MCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2_SHIFT 11
+ #define MCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_E5_SHIFT 15
+ #define MCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_K2_SHIFT 26
+ #define MCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5_SHIFT 16
+ #define MCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM028_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM028_I_MEM_PRTY_E5_SHIFT 17
+ #define MCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5 (0x1<<18) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5_SHIFT 18
+ #define MCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB_K2 (0x1<<24) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB_K2_SHIFT 24
+ #define MCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5 (0x1<<19) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5_SHIFT 19
+ #define MCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5 (0x1<<20) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5_SHIFT 20
#define MCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2_SHIFT 15
- #define MCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
- #define MCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2_SHIFT 16
+ #define MCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5 (0x1<<21) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5_SHIFT 21
#define MCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_K2 (0x1<<17) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_BB_K2_SHIFT 17
+ #define MCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5 (0x1<<22) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM012_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM012_I_MEM_PRTY_E5_SHIFT 22
#define MCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2 (0x1<<18) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2_SHIFT 18
+ #define MCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<23) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 23
#define MCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2 (0x1<<19) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2_SHIFT 19
+ #define MCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5 (0x1<<24) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_E5_SHIFT 24
+ #define MCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2_SHIFT 12
+ #define MCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_E5_SHIFT 25
+ #define MCM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM037_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM037_I_MEM_PRTY_E5_SHIFT 26
+ #define MCM_REG_PRTY_MASK_H_0_MEM036_I_MEM_PRTY_E5 (0x1<<27) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM036_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM036_I_MEM_PRTY_E5_SHIFT 27
+ #define MCM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_E5 (0x1<<28) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM035_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM035_I_MEM_PRTY_E5_SHIFT 28
+ #define MCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<23) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 23
+ #define MCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 29
#define MCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_BB_K2 (0x1<<20) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_BB_K2_SHIFT 20
+ #define MCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_E5 (0x1<<30) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_E5_SHIFT 30
+ #define MCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM028_I_ECC_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_RF_INT_BB_K2_SHIFT 0
+ #define MCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_0_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM023_I_ECC_0_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_0_RF_INT_BB_K2_SHIFT 2
+ #define MCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_1_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM023_I_ECC_1_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM023_I_ECC_1_RF_INT_BB_K2_SHIFT 3
+ #define MCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_0_RF_INT_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM025_I_ECC_0_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_0_RF_INT_BB_K2_SHIFT 6
+ #define MCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_1_RF_INT_BB_K2 (0x1<<7) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM025_I_ECC_1_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM025_I_ECC_1_RF_INT_BB_K2_SHIFT 7
+ #define MCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_BB_K2 (0x1<<8) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM026_I_ECC_RF_INT .
+ #define MCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_RF_INT_BB_K2_SHIFT 8
+ #define MCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM011_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_0_MEM011_I_MEM_PRTY_BB_K2_SHIFT 16
#define MCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_BB_K2 (0x1<<21) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM030_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM030_I_MEM_PRTY_BB_K2_SHIFT 21
#define MCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB_K2 (0x1<<22) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB_K2_SHIFT 22
- #define MCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<23) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
- #define MCM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 23
- #define MCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB_K2 (0x1<<24) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
- #define MCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_BB_K2_SHIFT 24
#define MCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 25
- #define MCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
- #define MCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_BB_K2_SHIFT 26
- #define MCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
- #define MCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_K2_SHIFT 27
#define MCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_0 .
#define MCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_0_BB_K2_SHIFT 28
#define MCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_1_BB_K2 (0x1<<29) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY_1 .
#define MCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_1_BB_K2_SHIFT 29
#define MCM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2 (0x1<<30) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_BB_K2_SHIFT 30
-#define MCM_REG_PRTY_MASK_H_1_BB_K2 0x1200214UL //Access:RW DataWidth:0x4 // Multi Field Register.
+#define MCM_REG_PRTY_MASK_H_1 0x1200214UL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define MCM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_E5 (0x1<<0) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM007_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_1_MEM007_I_MEM_PRTY_E5_SHIFT 0
+ #define MCM_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_E5 (0x1<<1) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM033_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_1_MEM033_I_MEM_PRTY_E5_SHIFT 1
+ #define MCM_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_E5 (0x1<<2) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM029_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_1_MEM029_I_MEM_PRTY_E5_SHIFT 2
+ #define MCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_0_E5 (0x1<<3) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM008_I_MEM_PRTY_0 .
+ #define MCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_0_E5_SHIFT 3
+ #define MCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_1_E5 (0x1<<4) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM008_I_MEM_PRTY_1 .
+ #define MCM_REG_PRTY_MASK_H_1_MEM008_I_MEM_PRTY_1_E5_SHIFT 4
#define MCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_BB_K2_SHIFT 0
+ #define MCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_E5 (0x1<<5) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM009_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_1_MEM009_I_MEM_PRTY_E5_SHIFT 5
#define MCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_BB_K2_SHIFT 1
+ #define MCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_E5 (0x1<<6) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_E5_SHIFT 6
+ #define MCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_E5 (0x1<<7) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_E5_SHIFT 7
#define MCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_BB_K2_SHIFT 2
+ #define MCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_E5_SHIFT 8
#define MCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
#define MCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define MCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: MCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
+ #define MCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_E5_SHIFT 9
+#define MCM_REG_MEM030_RF_ECC_ERROR_CONNECT_0_E5 0x1200220UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: mcm.i_sm_con_ctx.rf_ecc_error_connect_0 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define MCM_REG_MEM023_RF_ECC_ERROR_CONNECT_0_BB_K2 0x1200220UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: mcm.i_sm_con_ctx.rf_ecc_error_connect_0 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define MCM_REG_MEM030_RF_ECC_ERROR_CONNECT_1_E5 0x1200224UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: mcm.i_sm_con_ctx.rf_ecc_error_connect_1 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define MCM_REG_MEM023_RF_ECC_ERROR_CONNECT_1_BB_K2 0x1200224UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: mcm.i_sm_con_ctx.rf_ecc_error_connect_1 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define MCM_REG_MEM_ECC_ENABLE_0_BB_K2 0x1200228UL //Access:RW DataWidth:0x9 // Multi Field Register.
+#define MCM_REG_MEM_ECC_ENABLE_0 0x1200228UL //Access:RW DataWidth:0x9 // Multi Field Register.
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM034_I_ECC_EN_E5 (0x1<<0) // Enable ECC for memory ecc instance mcm.i_xx_msg_ram.i_ecc in module mcm_mem_xx_msg_ram
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM034_I_ECC_EN_E5_SHIFT 0
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN (0x1<<1) // Enable ECC for memory ecc instance mcm.i_agg_con_ctx.i_ecc in module mcm_mem_agg_con_ctx
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_SHIFT 1
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_0_EN_E5 (0x1<<2) // Enable ECC for memory ecc instance mcm.i_sm_con_ctx.i_ecc_0 in module mcm_mem_sm_con_ctx
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_0_EN_E5_SHIFT 2
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_1_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance mcm.i_sm_con_ctx.i_ecc_1 in module mcm_mem_sm_con_ctx
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_1_EN_E5_SHIFT 3
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN (0x1<<4) // Enable ECC for memory ecc instance mcm.i_agg_task_ctx_0_1.i_ecc_0 in module mcm_mem_agg_task_ctx_0_1
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_SHIFT 4
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN (0x1<<5) // Enable ECC for memory ecc instance mcm.i_agg_task_ctx_0_1.i_ecc_1 in module mcm_mem_agg_task_ctx_0_1
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_SHIFT 5
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_E5 (0x1<<6) // Enable ECC for memory ecc instance mcm.i_agg_task_ctx_2.i_ecc in module mcm_mem_agg_task_ctx_2
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_E5_SHIFT 6
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM032_I_ECC_0_EN_E5 (0x1<<7) // Enable ECC for memory ecc instance mcm.i_sm_task_ctx.i_ecc_0 in module mcm_mem_sm_task_ctx
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM032_I_ECC_0_EN_E5_SHIFT 7
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM032_I_ECC_1_EN_E5 (0x1<<8) // Enable ECC for memory ecc instance mcm.i_sm_task_ctx.i_ecc_1 in module mcm_mem_sm_task_ctx
+ #define MCM_REG_MEM_ECC_ENABLE_0_MEM032_I_ECC_1_EN_E5_SHIFT 8
#define MCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance mcm.i_xx_msg_ram.i_ecc in module mcm_mem_xx_msg_ram
#define MCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_EN_BB_K2_SHIFT 0
- #define MCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance mcm.i_agg_con_ctx.i_ecc in module mcm_mem_agg_con_ctx
- #define MCM_REG_MEM_ECC_ENABLE_0_MEM003_I_ECC_EN_BB_K2_SHIFT 1
#define MCM_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_0_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance mcm.i_sm_con_ctx.i_ecc_0 in module mcm_mem_sm_con_ctx
#define MCM_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_0_EN_BB_K2_SHIFT 2
#define MCM_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_1_EN_BB_K2 (0x1<<3) // Enable ECC for memory ecc instance mcm.i_sm_con_ctx.i_ecc_1 in module mcm_mem_sm_con_ctx
#define MCM_REG_MEM_ECC_ENABLE_0_MEM023_I_ECC_1_EN_BB_K2_SHIFT 3
- #define MCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_BB_K2 (0x1<<4) // Enable ECC for memory ecc instance mcm.i_agg_task_ctx.i_ecc_0 in module mcm_mem_agg_task_ctx
- #define MCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_BB_K2_SHIFT 4
- #define MCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2 (0x1<<5) // Enable ECC for memory ecc instance mcm.i_agg_task_ctx.i_ecc_1 in module mcm_mem_agg_task_ctx
- #define MCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2_SHIFT 5
#define MCM_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_0_EN_BB_K2 (0x1<<6) // Enable ECC for memory ecc instance mcm.i_sm_task_ctx_0_5.i_ecc_0 in module mcm_mem_sm_task_ctx_0_5
#define MCM_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_0_EN_BB_K2_SHIFT 6
#define MCM_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_1_EN_BB_K2 (0x1<<7) // Enable ECC for memory ecc instance mcm.i_sm_task_ctx_0_5.i_ecc_1 in module mcm_mem_sm_task_ctx_0_5
#define MCM_REG_MEM_ECC_ENABLE_0_MEM025_I_ECC_1_EN_BB_K2_SHIFT 7
#define MCM_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_EN_BB_K2 (0x1<<8) // Enable ECC for memory ecc instance mcm.i_sm_task_ctx_6.i_ecc in module mcm_mem_sm_task_ctx_6
#define MCM_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_EN_BB_K2_SHIFT 8
-#define MCM_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x120022cUL //Access:RW DataWidth:0x9 // Multi Field Register.
+#define MCM_REG_MEM_ECC_PARITY_ONLY_0 0x120022cUL //Access:RW DataWidth:0x9 // Multi Field Register.
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM034_I_ECC_PRTY_E5 (0x1<<0) // Set parity only for memory ecc instance mcm.i_xx_msg_ram.i_ecc in module mcm_mem_xx_msg_ram
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM034_I_ECC_PRTY_E5_SHIFT 0
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY (0x1<<1) // Set parity only for memory ecc instance mcm.i_agg_con_ctx.i_ecc in module mcm_mem_agg_con_ctx
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_SHIFT 1
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_0_PRTY_E5 (0x1<<2) // Set parity only for memory ecc instance mcm.i_sm_con_ctx.i_ecc_0 in module mcm_mem_sm_con_ctx
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_0_PRTY_E5_SHIFT 2
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_1_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance mcm.i_sm_con_ctx.i_ecc_1 in module mcm_mem_sm_con_ctx
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_1_PRTY_E5_SHIFT 3
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY (0x1<<4) // Set parity only for memory ecc instance mcm.i_agg_task_ctx_0_1.i_ecc_0 in module mcm_mem_agg_task_ctx_0_1
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_SHIFT 4
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY (0x1<<5) // Set parity only for memory ecc instance mcm.i_agg_task_ctx_0_1.i_ecc_1 in module mcm_mem_agg_task_ctx_0_1
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_SHIFT 5
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_E5 (0x1<<6) // Set parity only for memory ecc instance mcm.i_agg_task_ctx_2.i_ecc in module mcm_mem_agg_task_ctx_2
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_E5_SHIFT 6
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM032_I_ECC_0_PRTY_E5 (0x1<<7) // Set parity only for memory ecc instance mcm.i_sm_task_ctx.i_ecc_0 in module mcm_mem_sm_task_ctx
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM032_I_ECC_0_PRTY_E5_SHIFT 7
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM032_I_ECC_1_PRTY_E5 (0x1<<8) // Set parity only for memory ecc instance mcm.i_sm_task_ctx.i_ecc_1 in module mcm_mem_sm_task_ctx
+ #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM032_I_ECC_1_PRTY_E5_SHIFT 8
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance mcm.i_xx_msg_ram.i_ecc in module mcm_mem_xx_msg_ram
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_PRTY_BB_K2_SHIFT 0
- #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance mcm.i_agg_con_ctx.i_ecc in module mcm_mem_agg_con_ctx
- #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM003_I_ECC_PRTY_BB_K2_SHIFT 1
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_0_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance mcm.i_sm_con_ctx.i_ecc_0 in module mcm_mem_sm_con_ctx
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_0_PRTY_BB_K2_SHIFT 2
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_1_PRTY_BB_K2 (0x1<<3) // Set parity only for memory ecc instance mcm.i_sm_con_ctx.i_ecc_1 in module mcm_mem_sm_con_ctx
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM023_I_ECC_1_PRTY_BB_K2_SHIFT 3
- #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_BB_K2 (0x1<<4) // Set parity only for memory ecc instance mcm.i_agg_task_ctx.i_ecc_0 in module mcm_mem_agg_task_ctx
- #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_BB_K2_SHIFT 4
- #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2 (0x1<<5) // Set parity only for memory ecc instance mcm.i_agg_task_ctx.i_ecc_1 in module mcm_mem_agg_task_ctx
- #define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2_SHIFT 5
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_0_PRTY_BB_K2 (0x1<<6) // Set parity only for memory ecc instance mcm.i_sm_task_ctx_0_5.i_ecc_0 in module mcm_mem_sm_task_ctx_0_5
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_0_PRTY_BB_K2_SHIFT 6
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_1_PRTY_BB_K2 (0x1<<7) // Set parity only for memory ecc instance mcm.i_sm_task_ctx_0_5.i_ecc_1 in module mcm_mem_sm_task_ctx_0_5
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM025_I_ECC_1_PRTY_BB_K2_SHIFT 7
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_PRTY_BB_K2 (0x1<<8) // Set parity only for memory ecc instance mcm.i_sm_task_ctx_6.i_ecc in module mcm_mem_sm_task_ctx_6
#define MCM_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_PRTY_BB_K2_SHIFT 8
-#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x1200230UL //Access:RC DataWidth:0x9 // Multi Field Register.
+#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0 0x1200230UL //Access:RC DataWidth:0x9 // Multi Field Register.
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM034_I_ECC_CORRECT_E5 (0x1<<0) // Record if a correctable error occurred on memory ecc instance mcm.i_xx_msg_ram.i_ecc in module mcm_mem_xx_msg_ram
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM034_I_ECC_CORRECT_E5_SHIFT 0
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance mcm.i_agg_con_ctx.i_ecc in module mcm_mem_agg_con_ctx
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_SHIFT 1
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_0_CORRECT_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance mcm.i_sm_con_ctx.i_ecc_0 in module mcm_mem_sm_con_ctx
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_0_CORRECT_E5_SHIFT 2
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_1_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance mcm.i_sm_con_ctx.i_ecc_1 in module mcm_mem_sm_con_ctx
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_1_CORRECT_E5_SHIFT 3
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT (0x1<<4) // Record if a correctable error occurred on memory ecc instance mcm.i_agg_task_ctx_0_1.i_ecc_0 in module mcm_mem_agg_task_ctx_0_1
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_SHIFT 4
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT (0x1<<5) // Record if a correctable error occurred on memory ecc instance mcm.i_agg_task_ctx_0_1.i_ecc_1 in module mcm_mem_agg_task_ctx_0_1
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_SHIFT 5
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_E5 (0x1<<6) // Record if a correctable error occurred on memory ecc instance mcm.i_agg_task_ctx_2.i_ecc in module mcm_mem_agg_task_ctx_2
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_E5_SHIFT 6
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM032_I_ECC_0_CORRECT_E5 (0x1<<7) // Record if a correctable error occurred on memory ecc instance mcm.i_sm_task_ctx.i_ecc_0 in module mcm_mem_sm_task_ctx
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM032_I_ECC_0_CORRECT_E5_SHIFT 7
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM032_I_ECC_1_CORRECT_E5 (0x1<<8) // Record if a correctable error occurred on memory ecc instance mcm.i_sm_task_ctx.i_ecc_1 in module mcm_mem_sm_task_ctx
+ #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM032_I_ECC_1_CORRECT_E5_SHIFT 8
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance mcm.i_xx_msg_ram.i_ecc in module mcm_mem_xx_msg_ram
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_CORRECT_BB_K2_SHIFT 0
- #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance mcm.i_agg_con_ctx.i_ecc in module mcm_mem_agg_con_ctx
- #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM003_I_ECC_CORRECT_BB_K2_SHIFT 1
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_0_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance mcm.i_sm_con_ctx.i_ecc_0 in module mcm_mem_sm_con_ctx
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_0_CORRECT_BB_K2_SHIFT 2
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_1_CORRECT_BB_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance mcm.i_sm_con_ctx.i_ecc_1 in module mcm_mem_sm_con_ctx
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM023_I_ECC_1_CORRECT_BB_K2_SHIFT 3
- #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_BB_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance mcm.i_agg_task_ctx.i_ecc_0 in module mcm_mem_agg_task_ctx
- #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_BB_K2_SHIFT 4
- #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2 (0x1<<5) // Record if a correctable error occurred on memory ecc instance mcm.i_agg_task_ctx.i_ecc_1 in module mcm_mem_agg_task_ctx
- #define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2_SHIFT 5
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_0_CORRECT_BB_K2 (0x1<<6) // Record if a correctable error occurred on memory ecc instance mcm.i_sm_task_ctx_0_5.i_ecc_0 in module mcm_mem_sm_task_ctx_0_5
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_0_CORRECT_BB_K2_SHIFT 6
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_1_CORRECT_BB_K2 (0x1<<7) // Record if a correctable error occurred on memory ecc instance mcm.i_sm_task_ctx_0_5.i_ecc_1 in module mcm_mem_sm_task_ctx_0_5
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM025_I_ECC_1_CORRECT_BB_K2_SHIFT 7
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_CORRECT_BB_K2 (0x1<<8) // Record if a correctable error occurred on memory ecc instance mcm.i_sm_task_ctx_6.i_ecc in module mcm_mem_sm_task_ctx_6
#define MCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_CORRECT_BB_K2_SHIFT 8
-#define MCM_REG_MEM_ECC_EVENTS_BB_K2 0x1200234UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define MCM_REG_MEM_ECC_EVENTS 0x1200234UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define MCM_REG_IFEN 0x1200400UL //Access:RW DataWidth:0x1 // Interface enable. If 0 - the acknowledge input is disregarded; valid is deasserted; all other signals are treated as usual; if 1 - normal activity.
#define MCM_REG_QM_TASK_BASE_EVNT_ID_0 0x1200424UL //Access:RW DataWidth:0x8 // QM task base Event ID per connection type.
#define MCM_REG_QM_TASK_BASE_EVNT_ID_1 0x1200428UL //Access:RW DataWidth:0x8 // QM task base Event ID per connection type.
@@ -73935,16 +76980,18 @@
#define MCM_REG_IA_GROUP_PR4 0x1200640UL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 4. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define MCM_REG_IA_GROUP_PR5 0x1200644UL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 5. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define MCM_REG_IA_ARB_SP_TIMEOUT 0x1200648UL //Access:RW DataWidth:0x8 // Input Arbiter timeout value to perform non-usual arbitration operation relative to usual once in a while. Two values have special meaning: 8'h0 - constant RR; 8'h80 - constant strict priority. In all other cases the following is true: Bit [7]: if 0 - usual operation is strict priority arbitration; if 1 - usual operation is RR. Bits [6:0] - period of non-usual operation performance.
-#define MCM_REG_STORM_FRWRD_MODE 0x120064cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define MCM_REG_YSDM_FRWRD_MODE 0x1200654UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define MCM_REG_USDM_FRWRD_MODE 0x1200658UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define MCM_REG_TMLD_FRWRD_MODE 0x120065cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define MCM_REG_USEM_FRWRD_MODE 0x1200660UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define MCM_REG_PBF_FRWRD_MODE 0x1200668UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define MCM_REG_STORM_FRWRD_MODE_BB_K2 0x120064cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define MCM_REG_MSDM_FRWRD_MODE_BB_K2 0x1200650UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define MCM_REG_YSDM_FRWRD_MODE_BB_K2 0x1200654UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define MCM_REG_USDM_FRWRD_MODE_BB_K2 0x1200658UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define MCM_REG_TMLD_FRWRD_MODE_BB_K2 0x120065cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define MCM_REG_USEM_FRWRD_MODE_BB_K2 0x1200660UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define MCM_REG_YSEM_FRWRD_MODE_BB_K2 0x1200664UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define MCM_REG_PBF_FRWRD_MODE_BB_K2 0x1200668UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define MCM_REG_SDM_ERR_HANDLE_EN 0x120066cUL //Access:RW DataWidth:0x1 // 0 - disable error handling in SDM message; 1 - enable error handling in SDM message.
#define MCM_REG_DIR_BYP_EN 0x1200670UL //Access:RW DataWidth:0x1 // Direct bypass enable.
-#define MCM_REG_FI_DESC_INPUT_VIOLATE 0x1200674UL //Access:R DataWidth:0xf // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block;
-#define MCM_REG_SE_DESC_INPUT_VIOLATE 0x1200678UL //Access:R DataWidth:0xc // Input message second descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0; Read only register.
+#define MCM_REG_FI_DESC_INPUT_VIOLATE 0x1200674UL //Access:R DataWidth:0x13 // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block; [15] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [16] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [17]- Violation: Connection domain AggCtxLdStFlg==0 then AffinityType != 2; [18]- Violation: single Task domain AggCtxLdStFlg==0 then AffinityType != 3;
+#define MCM_REG_SE_DESC_INPUT_VIOLATE 0x1200678UL //Access:R DataWidth:0xd // Input message second descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0; [12]- Violation: dual Task domain AggCtxLdStFlg==0 then AffinityType != 3;Read only register.
#define MCM_REG_IA_AGG_CON_PART_FILL_LVL 0x120067cUL //Access:R DataWidth:0x3 // Input Arbiter Aggregation Connection part FIFO fill level (in messages).
#define MCM_REG_IA_SM_CON_PART_FILL_LVL 0x1200680UL //Access:R DataWidth:0x3 // Input Arbiter Storm Connection part FIFO fill level (in messages).
#define MCM_REG_IA_AGG_TASK_PART_FILL_LVL 0x1200684UL //Access:R DataWidth:0x3 // Input Arbiter Aggregation Task part FIFO fill level (in messages).
@@ -74344,46 +77391,40 @@
#define MCM_REG_IS_FOC_TMLD_SIZE_BB_K2 124
#define MCM_REG_IS_FOC_TMLD_SIZE_E5 280
#define MCM_REG_TSDM_WEIGHT_E5 0x1202800UL //Access:RW DataWidth:0x3 // The weight of the input TSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define MCM_REG_TSDM_FRWRD_MODE_E5 0x1202804UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define MCM_REG_TSDM_LENGTH_MIS_E5 0x1202808UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at TSDM interface.
-#define MCM_REG_TSDM_MSG_CNTR_E5 0x120280cUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input TSDM.
-#define MCM_REG_IS_TSDM_FILL_LVL_E5 0x1202810UL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in TSDM Input Stage.
-#define MCM_REG_IS_FOC_TSDM_NXT_INF_UNIT_E5 0x1202814UL //Access:R DataWidth:0x6 // Debug read from TSDM Input stage buffer: number of reads to next information unit.
+#define MCM_REG_TSDM_LENGTH_MIS_E5 0x1202804UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at TSDM interface.
+#define MCM_REG_TSDM_MSG_CNTR_E5 0x1202808UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input TSDM.
+#define MCM_REG_IS_TSDM_FILL_LVL_E5 0x120280cUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in TSDM Input Stage.
+#define MCM_REG_IS_FOC_TSDM_NXT_INF_UNIT_E5 0x1202810UL //Access:R DataWidth:0x6 // Debug read from TSDM Input stage buffer: number of reads to next information unit.
#define MCM_REG_IS_FOC_TSDM_E5 0x1202840UL //Access:R DataWidth:0x20 // Debug read from TSDM Input stage buffer with 32-bits granularity. Read only.
#define MCM_REG_IS_FOC_TSDM_SIZE 16
#define MCM_REG_PSDM_WEIGHT_E5 0x1202880UL //Access:RW DataWidth:0x3 // The weight of the input PSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define MCM_REG_PSDM_FRWRD_MODE_E5 0x1202884UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define MCM_REG_PSDM_LENGTH_MIS_E5 0x1202888UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at PSDM interface.
-#define MCM_REG_PSDM_MSG_CNTR_E5 0x120288cUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input PSDM.
-#define MCM_REG_IS_PSDM_FILL_LVL_E5 0x1202890UL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in PSDM Input Stage.
-#define MCM_REG_IS_FOC_PSDM_NXT_INF_UNIT_E5 0x1202894UL //Access:R DataWidth:0x6 // Debug read from PSDM Input stage buffer: number of reads to next information unit.
+#define MCM_REG_PSDM_LENGTH_MIS_E5 0x1202884UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at PSDM interface.
+#define MCM_REG_PSDM_MSG_CNTR_E5 0x1202888UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input PSDM.
+#define MCM_REG_IS_PSDM_FILL_LVL_E5 0x120288cUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in PSDM Input Stage.
+#define MCM_REG_IS_FOC_PSDM_NXT_INF_UNIT_E5 0x1202890UL //Access:R DataWidth:0x6 // Debug read from PSDM Input stage buffer: number of reads to next information unit.
#define MCM_REG_IS_FOC_PSDM_E5 0x12028c0UL //Access:R DataWidth:0x20 // Debug read from PSDM Input stage buffer with 32-bits granularity. Read only.
#define MCM_REG_IS_FOC_PSDM_SIZE 16
#define MCM_REG_MSDM_WEIGHT_BB_K2 0x1200618UL //Access:RW DataWidth:0x3 // The weight of the MSDM input in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define MCM_REG_MSDM_WEIGHT_E5 0x1202900UL //Access:RW DataWidth:0x3 // The weight of the input MSDM in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define MCM_REG_MSDM_FRWRD_MODE_BB_K2 0x1200650UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define MCM_REG_MSDM_FRWRD_MODE_E5 0x1202904UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define MCM_REG_MSDM_LENGTH_MIS_BB_K2 0x1200aa8UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
-#define MCM_REG_MSDM_LENGTH_MIS_E5 0x1202908UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
+#define MCM_REG_MSDM_LENGTH_MIS_E5 0x1202904UL //Access:RC DataWidth:0x1 // Set at message length mismatch (relative to last indication) at MSDM interface.
#define MCM_REG_MSDM_MSG_CNTR_BB_K2 0x1200ac8UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
-#define MCM_REG_MSDM_MSG_CNTR_E5 0x120290cUL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
+#define MCM_REG_MSDM_MSG_CNTR_E5 0x1202908UL //Access:RC DataWidth:0x1c // Counter of the input messages at the input MSDM.
#define MCM_REG_IS_MSDM_FILL_LVL_BB_K2 0x1200afcUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in MSDM Input Stage.
-#define MCM_REG_IS_MSDM_FILL_LVL_E5 0x1202910UL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in MSDM Input Stage.
+#define MCM_REG_IS_MSDM_FILL_LVL_E5 0x120290cUL //Access:R DataWidth:0x3 // Number of QREGs (128b) of data in MSDM Input Stage.
#define MCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_BB_K2 0x1200b98UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
-#define MCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_E5 0x1202914UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
+#define MCM_REG_IS_FOC_MSDM_NXT_INF_UNIT_E5 0x1202910UL //Access:R DataWidth:0x6 // Debug read from MSDM Input stage buffer: number of reads to next information unit.
#define MCM_REG_IS_FOC_MSDM_BB_K2 0x1201480UL //Access:R DataWidth:0x20 // Debug read from MSDM Input stage buffer with 32-bits granularity. Read only.
#define MCM_REG_IS_FOC_MSDM_E5 0x1202980UL //Access:R DataWidth:0x20 // Debug read from MSDM Input stage buffer with 32-bits granularity. Read only.
#define MCM_REG_IS_FOC_MSDM_SIZE 20
#define MCM_REG_YSEM_WEIGHT_BB_K2 0x120060cUL //Access:RW DataWidth:0x3 // The weight of the input Ysem in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define MCM_REG_YSEM_WEIGHT_E5 0x1202a00UL //Access:RW DataWidth:0x3 // The weight of the input Ysem in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define MCM_REG_YSEM_FRWRD_MODE_BB_K2 0x1200664UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define MCM_REG_YSEM_FRWRD_MODE_E5 0x1202a04UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define MCM_REG_YSEM_MSG_CNTR_BB_K2 0x1200adcUL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
-#define MCM_REG_YSEM_MSG_CNTR_E5 0x1202a08UL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
+#define MCM_REG_YSEM_MSG_CNTR_E5 0x1202a04UL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
#define MCM_REG_IS_YSEM_FILL_LVL_BB_K2 0x1200b10UL //Access:R DataWidth:0x5 // Number of QREGs (128b) of data in YSEM Input Stage.
-#define MCM_REG_IS_YSEM_FILL_LVL_E5 0x1202a0cUL //Access:R DataWidth:0x4 // Number of QREGs (128b) for TCM, XCM or 2 QREGs (256b) for MCM of data in YSEM Input Stage.
+#define MCM_REG_IS_YSEM_FILL_LVL_E5 0x1202a08UL //Access:R DataWidth:0x4 // Number of QREGs (128b) for TCM, XCM or 2 QREGs (256b) for MCM of data in YSEM Input Stage.
#define MCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_BB_K2 0x1200b90UL //Access:R DataWidth:0x6 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
-#define MCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_E5 0x1202a10UL //Access:R DataWidth:0x5 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
+#define MCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_E5 0x1202a0cUL //Access:R DataWidth:0x5 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
#define MCM_REG_IS_FOC_YSEM_BB_K2 0x1201200UL //Access:R DataWidth:0x20 // Debug read from YSEM Input stage buffer with 32-bits granularity. Read only.
#define MCM_REG_IS_FOC_YSEM_E5 0x1202c00UL //Access:R DataWidth:0x20 // Debug read from YSEM Input stage buffer with 32-bits granularity. Read only.
#define MCM_REG_IS_FOC_YSEM_SIZE_BB_K2 108
@@ -74461,7 +77502,7 @@
#define UCM_REG_AGG_CON_CF6_Q_E5 0x1280140UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
#define UCM_REG_AGG_CON_CF7_Q_E5 0x1280144UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
#define UCM_REG_AGG_CON_CF8_Q_E5 0x1280148UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define UCM_REG_INT_STS_0 0x1280180UL //Access:R DataWidth:0x14 // Multi Field Register.
+#define UCM_REG_INT_STS_0 0x1280180UL //Access:R DataWidth:0x12 // Multi Field Register.
#define UCM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define UCM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define UCM_REG_INT_STS_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -74498,15 +77539,11 @@
#define UCM_REG_INT_STS_0_EXT_LD_UNDER_ERR_E5_SHIFT 16
#define UCM_REG_INT_STS_0_EXT_LD_OVFL_ERR_E5 (0x1<<17) // Write to fully External read buffer.
#define UCM_REG_INT_STS_0_EXT_LD_OVFL_ERR_E5_SHIFT 17
- #define UCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<18) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define UCM_REG_INT_STS_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 18
- #define UCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<19) // Affinity type = 3 (task based) but task doesn't exist.
- #define UCM_REG_INT_STS_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 19
#define UCM_REG_INT_STS_0_IS_YULD_OVFL_ERR_BB_K2 (0x1<<15) // Write to full YULD input buffer.
#define UCM_REG_INT_STS_0_IS_YULD_OVFL_ERR_BB_K2_SHIFT 15
#define UCM_REG_INT_STS_0_IS_YULD_UNDER_ERR_BB_K2 (0x1<<16) // Read from empty YULD input buffer.
#define UCM_REG_INT_STS_0_IS_YULD_UNDER_ERR_BB_K2_SHIFT 16
-#define UCM_REG_INT_MASK_0 0x1280184UL //Access:RW DataWidth:0x14 // Multi Field Register.
+#define UCM_REG_INT_MASK_0 0x1280184UL //Access:RW DataWidth:0x12 // Multi Field Register.
#define UCM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: UCM_REG_INT_STS_0.ADDRESS_ERROR .
#define UCM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define UCM_REG_INT_MASK_0_IS_STORM_OVFL_ERR (0x1<<1) // This bit masks, when set, the Interrupt bit: UCM_REG_INT_STS_0.IS_STORM_OVFL_ERR .
@@ -74543,15 +77580,11 @@
#define UCM_REG_INT_MASK_0_EXT_LD_UNDER_ERR_E5_SHIFT 16
#define UCM_REG_INT_MASK_0_EXT_LD_OVFL_ERR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: UCM_REG_INT_STS_0.EXT_LD_OVFL_ERR .
#define UCM_REG_INT_MASK_0_EXT_LD_OVFL_ERR_E5_SHIFT 17
- #define UCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: UCM_REG_INT_STS_0.AFFINITY_TYPE_NO_CON .
- #define UCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 18
- #define UCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: UCM_REG_INT_STS_0.AFFINITY_TYPE_NO_TASK .
- #define UCM_REG_INT_MASK_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 19
#define UCM_REG_INT_MASK_0_IS_YULD_OVFL_ERR_BB_K2 (0x1<<15) // This bit masks, when set, the Interrupt bit: UCM_REG_INT_STS_0.IS_YULD_OVFL_ERR .
#define UCM_REG_INT_MASK_0_IS_YULD_OVFL_ERR_BB_K2_SHIFT 15
#define UCM_REG_INT_MASK_0_IS_YULD_UNDER_ERR_BB_K2 (0x1<<16) // This bit masks, when set, the Interrupt bit: UCM_REG_INT_STS_0.IS_YULD_UNDER_ERR .
#define UCM_REG_INT_MASK_0_IS_YULD_UNDER_ERR_BB_K2_SHIFT 16
-#define UCM_REG_INT_STS_WR_0 0x1280188UL //Access:WR DataWidth:0x14 // Multi Field Register.
+#define UCM_REG_INT_STS_WR_0 0x1280188UL //Access:WR DataWidth:0x12 // Multi Field Register.
#define UCM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define UCM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define UCM_REG_INT_STS_WR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -74588,15 +77621,11 @@
#define UCM_REG_INT_STS_WR_0_EXT_LD_UNDER_ERR_E5_SHIFT 16
#define UCM_REG_INT_STS_WR_0_EXT_LD_OVFL_ERR_E5 (0x1<<17) // Write to fully External read buffer.
#define UCM_REG_INT_STS_WR_0_EXT_LD_OVFL_ERR_E5_SHIFT 17
- #define UCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<18) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define UCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 18
- #define UCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<19) // Affinity type = 3 (task based) but task doesn't exist.
- #define UCM_REG_INT_STS_WR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 19
#define UCM_REG_INT_STS_WR_0_IS_YULD_OVFL_ERR_BB_K2 (0x1<<15) // Write to full YULD input buffer.
#define UCM_REG_INT_STS_WR_0_IS_YULD_OVFL_ERR_BB_K2_SHIFT 15
#define UCM_REG_INT_STS_WR_0_IS_YULD_UNDER_ERR_BB_K2 (0x1<<16) // Read from empty YULD input buffer.
#define UCM_REG_INT_STS_WR_0_IS_YULD_UNDER_ERR_BB_K2_SHIFT 16
-#define UCM_REG_INT_STS_CLR_0 0x128018cUL //Access:RC DataWidth:0x14 // Multi Field Register.
+#define UCM_REG_INT_STS_CLR_0 0x128018cUL //Access:RC DataWidth:0x12 // Multi Field Register.
#define UCM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define UCM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define UCM_REG_INT_STS_CLR_0_IS_STORM_OVFL_ERR (0x1<<1) // Write to full STORM input buffer.
@@ -74633,10 +77662,6 @@
#define UCM_REG_INT_STS_CLR_0_EXT_LD_UNDER_ERR_E5_SHIFT 16
#define UCM_REG_INT_STS_CLR_0_EXT_LD_OVFL_ERR_E5 (0x1<<17) // Write to fully External read buffer.
#define UCM_REG_INT_STS_CLR_0_EXT_LD_OVFL_ERR_E5_SHIFT 17
- #define UCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5 (0x1<<18) // Affinity type = 2 (connection based) but connection doesn't exist.
- #define UCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_CON_E5_SHIFT 18
- #define UCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5 (0x1<<19) // Affinity type = 3 (task based) but task doesn't exist.
- #define UCM_REG_INT_STS_CLR_0_AFFINITY_TYPE_NO_TASK_E5_SHIFT 19
#define UCM_REG_INT_STS_CLR_0_IS_YULD_OVFL_ERR_BB_K2 (0x1<<15) // Write to full YULD input buffer.
#define UCM_REG_INT_STS_CLR_0_IS_YULD_OVFL_ERR_BB_K2_SHIFT 15
#define UCM_REG_INT_STS_CLR_0_IS_YULD_UNDER_ERR_BB_K2 (0x1<<16) // Read from empty YULD input buffer.
@@ -75129,13 +78154,83 @@
#define UCM_REG_INT_STS_CLR_2 0x12801acUL //Access:RC DataWidth:0x1 // Multi Field Register.
#define UCM_REG_INT_STS_CLR_2_QMREG_MORE4 (0x1<<0) // More than 4 QM registrations.
#define UCM_REG_INT_STS_CLR_2_QMREG_MORE4_SHIFT 0
-#define UCM_REG_PRTY_MASK_H_0_BB_K2 0x1280204UL //Access:RW DataWidth:0x1f // Multi Field Register.
- #define UCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM030_I_ECC_RF_INT .
- #define UCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_RF_INT_BB_K2_SHIFT 0
- #define UCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
- #define UCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 1
- #define UCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
- #define UCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2_SHIFT 2
+#define UCM_REG_PRTY_MASK_H_0 0x1280204UL //Access:RW DataWidth:0x1f // Multi Field Register.
+ #define UCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM030_I_ECC_RF_INT .
+ #define UCM_REG_PRTY_MASK_H_0_MEM030_I_ECC_RF_INT_SHIFT 0
+ #define UCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
+ #define UCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_SHIFT 1
+ #define UCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT (0x1<<2) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
+ #define UCM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_SHIFT 2
+ #define UCM_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM006_I_ECC_RF_INT .
+ #define UCM_REG_PRTY_MASK_H_0_MEM006_I_ECC_RF_INT_E5_SHIFT 3
+ #define UCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_0_RF_INT_E5 (0x1<<4) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM026_I_ECC_0_RF_INT .
+ #define UCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_0_RF_INT_E5_SHIFT 4
+ #define UCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_1_RF_INT_E5 (0x1<<5) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM026_I_ECC_1_RF_INT .
+ #define UCM_REG_PRTY_MASK_H_0_MEM026_I_ECC_1_RF_INT_E5_SHIFT 5
+ #define UCM_REG_PRTY_MASK_H_0_MEM008_I_ECC_0_RF_INT_E5 (0x1<<6) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM008_I_ECC_0_RF_INT .
+ #define UCM_REG_PRTY_MASK_H_0_MEM008_I_ECC_0_RF_INT_E5_SHIFT 6
+ #define UCM_REG_PRTY_MASK_H_0_MEM008_I_ECC_1_RF_INT_E5 (0x1<<7) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM008_I_ECC_1_RF_INT .
+ #define UCM_REG_PRTY_MASK_H_0_MEM008_I_ECC_1_RF_INT_E5_SHIFT 7
+ #define UCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_0_RF_INT_E5 (0x1<<8) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM028_I_ECC_0_RF_INT .
+ #define UCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_0_RF_INT_E5_SHIFT 8
+ #define UCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_1_RF_INT_E5 (0x1<<9) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM028_I_ECC_1_RF_INT .
+ #define UCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_1_RF_INT_E5_SHIFT 9
+ #define UCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_BB_K2_SHIFT 13
+ #define UCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_E5_SHIFT 10
+ #define UCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_K2 (0x1<<17) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_K2_SHIFT 17
+ #define UCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_E5_SHIFT 11
+ #define UCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_K2 (0x1<<29) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_K2_SHIFT 29
+ #define UCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_E5_SHIFT 12
+ #define UCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_K2_SHIFT 12
+ #define UCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_E5_SHIFT 13
+ #define UCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2_SHIFT 15
+ #define UCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_E5_SHIFT 14
+ #define UCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2_SHIFT 16
+ #define UCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_E5_SHIFT 15
+ #define UCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_K2_SHIFT 14
+ #define UCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5 (0x1<<16) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_E5_SHIFT 16
+ #define UCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5 (0x1<<17) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM024_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM024_I_MEM_PRTY_E5_SHIFT 17
+ #define UCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY (0x1<<18) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_SHIFT 18
+ #define UCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY (0x1<<19) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_SHIFT 19
+ #define UCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY (0x1<<20) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_SHIFT 20
+ #define UCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY (0x1<<21) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_SHIFT 21
+ #define UCM_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY (0x1<<22) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM033_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_SHIFT 22
+ #define UCM_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY (0x1<<23) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_SHIFT 23
+ #define UCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY (0x1<<24) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_SHIFT 24
+ #define UCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<25) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 25
+ #define UCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5 (0x1<<26) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM027_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM027_I_MEM_PRTY_E5_SHIFT 26
+ #define UCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY (0x1<<27) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_SHIFT 27
+ #define UCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY (0x1<<28) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_SHIFT 28
+ #define UCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5 (0x1<<29) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM025_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_0_MEM025_I_MEM_PRTY_E5_SHIFT 29
+ #define UCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_0 (0x1<<30) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY_0 .
+ #define UCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_0_SHIFT 30
#define UCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_0_RF_INT_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM024_I_ECC_0_RF_INT .
#define UCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_0_RF_INT_BB_K2_SHIFT 3
#define UCM_REG_PRTY_MASK_H_0_MEM024_I_ECC_1_RF_INT_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM024_I_ECC_1_RF_INT .
@@ -75154,68 +78249,50 @@
#define UCM_REG_PRTY_MASK_H_0_MEM027_I_ECC_1_RF_INT_BB_K2_SHIFT 10
#define UCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_RF_INT_BB_K2 (0x1<<11) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM028_I_ECC_RF_INT .
#define UCM_REG_PRTY_MASK_H_0_MEM028_I_ECC_RF_INT_BB_K2_SHIFT 11
- #define UCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_K2 (0x1<<12) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM020_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM020_I_MEM_PRTY_BB_K2_SHIFT 12
- #define UCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_BB_K2 (0x1<<13) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM021_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM021_I_MEM_PRTY_BB_K2_SHIFT 13
- #define UCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_K2 (0x1<<14) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM019_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM019_I_MEM_PRTY_BB_K2_SHIFT 14
- #define UCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2 (0x1<<15) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM013_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM013_I_MEM_PRTY_BB_K2_SHIFT 15
- #define UCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2 (0x1<<16) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM018_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM018_I_MEM_PRTY_BB_K2_SHIFT 16
- #define UCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_K2 (0x1<<17) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM022_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM022_I_MEM_PRTY_BB_K2_SHIFT 17
- #define UCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2 (0x1<<18) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM014_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM014_I_MEM_PRTY_BB_K2_SHIFT 18
- #define UCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2 (0x1<<19) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM015_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM015_I_MEM_PRTY_BB_K2_SHIFT 19
- #define UCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2 (0x1<<20) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM016_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM016_I_MEM_PRTY_BB_K2_SHIFT 20
- #define UCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_K2 (0x1<<21) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM017_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM017_I_MEM_PRTY_BB_K2_SHIFT 21
- #define UCM_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_BB_K2 (0x1<<22) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM033_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM033_I_MEM_PRTY_BB_K2_SHIFT 22
- #define UCM_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_BB_K2 (0x1<<23) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM032_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM032_I_MEM_PRTY_BB_K2_SHIFT 23
- #define UCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_BB_K2 (0x1<<24) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM031_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM031_I_MEM_PRTY_BB_K2_SHIFT 24
#define UCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2 (0x1<<25) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
#define UCM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_BB_K2_SHIFT 25
#define UCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_BB_K2 (0x1<<26) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM026_I_MEM_PRTY .
#define UCM_REG_PRTY_MASK_H_0_MEM026_I_MEM_PRTY_BB_K2_SHIFT 26
- #define UCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2 (0x1<<27) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_BB_K2_SHIFT 27
- #define UCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB_K2 (0x1<<28) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM029_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM029_I_MEM_PRTY_BB_K2_SHIFT 28
- #define UCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_K2 (0x1<<29) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM023_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_0_MEM023_I_MEM_PRTY_BB_K2_SHIFT 29
- #define UCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_0_BB_K2 (0x1<<30) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_0.MEM010_I_MEM_PRTY_0 .
- #define UCM_REG_PRTY_MASK_H_0_MEM010_I_MEM_PRTY_0_BB_K2_SHIFT 30
-#define UCM_REG_PRTY_MASK_H_1_BB_K2 0x1280214UL //Access:RW DataWidth:0x7 // Multi Field Register.
- #define UCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_1_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY_1 .
- #define UCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_1_BB_K2_SHIFT 0
- #define UCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_BB_K2_SHIFT 1
- #define UCM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM012_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_BB_K2_SHIFT 2
- #define UCM_REG_PRTY_MASK_H_1_MEM003_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM003_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_1_MEM003_I_MEM_PRTY_BB_K2_SHIFT 3
- #define UCM_REG_PRTY_MASK_H_1_MEM004_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM004_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_1_MEM004_I_MEM_PRTY_BB_K2_SHIFT 4
- #define UCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_BB_K2_SHIFT 5
- #define UCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_BB_K2 (0x1<<6) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
- #define UCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_BB_K2_SHIFT 6
+#define UCM_REG_PRTY_MASK_H_1 0x1280214UL //Access:RW DataWidth:0x7 // Multi Field Register.
+ #define UCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_1 (0x1<<0) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM010_I_MEM_PRTY_1 .
+ #define UCM_REG_PRTY_MASK_H_1_MEM010_I_MEM_PRTY_1_SHIFT 0
+ #define UCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY (0x1<<1) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM011_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_1_MEM011_I_MEM_PRTY_SHIFT 1
+ #define UCM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY (0x1<<2) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM012_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_1_MEM012_I_MEM_PRTY_SHIFT 2
+ #define UCM_REG_PRTY_MASK_H_1_MEM003_I_MEM_PRTY (0x1<<3) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM003_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_1_MEM003_I_MEM_PRTY_SHIFT 3
+ #define UCM_REG_PRTY_MASK_H_1_MEM004_I_MEM_PRTY (0x1<<4) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM004_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_1_MEM004_I_MEM_PRTY_SHIFT 4
+ #define UCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY (0x1<<5) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM001_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_1_MEM001_I_MEM_PRTY_SHIFT 5
+ #define UCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY (0x1<<6) // This bit masks, when set, the Parity bit: UCM_REG_PRTY_STS_H_1.MEM002_I_MEM_PRTY .
+ #define UCM_REG_PRTY_MASK_H_1_MEM002_I_MEM_PRTY_SHIFT 6
+#define UCM_REG_MEM026_RF_ECC_ERROR_CONNECT_0_E5 0x1280220UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: ucm.i_sm_con_ctx.rf_ecc_error_connect_0 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define UCM_REG_MEM024_RF_ECC_ERROR_CONNECT_0_BB_K2 0x1280220UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: ucm.i_sm_con_ctx_0_11.rf_ecc_error_connect_0 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
+#define UCM_REG_MEM026_RF_ECC_ERROR_CONNECT_1_E5 0x1280224UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: ucm.i_sm_con_ctx.rf_ecc_error_connect_1 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
#define UCM_REG_MEM024_RF_ECC_ERROR_CONNECT_1_BB_K2 0x1280224UL //Access:W DataWidth:0x12 // Register to generate up to two ECC errors on the next write to memory: ucm.i_sm_con_ctx_0_11.rf_ecc_error_connect_1 Includes 2 words of 9 bits each. The msb of each word is an error enable and the other bits decode which data bit should have an error. Do not decode past the memory data width of 128. The two words must not be equal when they are both enabled. For a single error use the lower word. The register is cleared after the memory write.
-#define UCM_REG_MEM_ECC_ENABLE_0_BB_K2 0x1280228UL //Access:RW DataWidth:0xc // Multi Field Register.
- #define UCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance ucm.i_xx_msg_ram.i_ecc in module ucm_mem_xx_msg_ram
- #define UCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_EN_BB_K2_SHIFT 0
- #define UCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance ucm.i_agg_con_ctx.i_ecc_0 in module ucm_mem_agg_con_ctx
- #define UCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_BB_K2_SHIFT 1
- #define UCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2 (0x1<<2) // Enable ECC for memory ecc instance ucm.i_agg_con_ctx.i_ecc_1 in module ucm_mem_agg_con_ctx
- #define UCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2_SHIFT 2
+#define UCM_REG_MEM_ECC_ENABLE_0 0x1280228UL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_EN (0x1<<0) // Enable ECC for memory ecc instance ucm.i_xx_msg_ram.i_ecc in module ucm_mem_xx_msg_ram
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM030_I_ECC_EN_SHIFT 0
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN (0x1<<1) // Enable ECC for memory ecc instance ucm.i_agg_con_ctx.i_ecc_0 in module ucm_mem_agg_con_ctx_0_1
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_SHIFT 1
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN (0x1<<2) // Enable ECC for memory ecc instance ucm.i_agg_con_ctx.i_ecc_1 in module ucm_mem_agg_con_ctx_0_1
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_SHIFT 2
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance ucm.i_agg_con_ctx_2.i_ecc in module ucm_mem_agg_con_ctx_2
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM006_I_ECC_EN_E5_SHIFT 3
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_0_EN_E5 (0x1<<4) // Enable ECC for memory ecc instance ucm.i_sm_con_ctx.i_ecc_0 in module ucm_mem_sm_con_ctx
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_0_EN_E5_SHIFT 4
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_1_EN_E5 (0x1<<5) // Enable ECC for memory ecc instance ucm.i_sm_con_ctx.i_ecc_1 in module ucm_mem_sm_con_ctx
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM026_I_ECC_1_EN_E5_SHIFT 5
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_0_EN_E5 (0x1<<6) // Enable ECC for memory ecc instance ucm.i_agg_task_ctx.i_ecc_0 in module ucm_mem_agg_task_ctx
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_0_EN_E5_SHIFT 6
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_1_EN_E5 (0x1<<7) // Enable ECC for memory ecc instance ucm.i_agg_task_ctx.i_ecc_1 in module ucm_mem_agg_task_ctx
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM008_I_ECC_1_EN_E5_SHIFT 7
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_0_EN_E5 (0x1<<8) // Enable ECC for memory ecc instance ucm.i_sm_task_ctx.i_ecc_0 in module ucm_mem_sm_task_ctx
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_0_EN_E5_SHIFT 8
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_1_EN_E5 (0x1<<9) // Enable ECC for memory ecc instance ucm.i_sm_task_ctx.i_ecc_1 in module ucm_mem_sm_task_ctx
+ #define UCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_1_EN_E5_SHIFT 9
#define UCM_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_0_EN_BB_K2 (0x1<<3) // Enable ECC for memory ecc instance ucm.i_sm_con_ctx_0_11.i_ecc_0 in module ucm_mem_sm_con_ctx_0_11
#define UCM_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_0_EN_BB_K2_SHIFT 3
#define UCM_REG_MEM_ECC_ENABLE_0_MEM024_I_ECC_1_EN_BB_K2 (0x1<<4) // Enable ECC for memory ecc instance ucm.i_sm_con_ctx_0_11.i_ecc_1 in module ucm_mem_sm_con_ctx_0_11
@@ -75234,13 +78311,27 @@
#define UCM_REG_MEM_ECC_ENABLE_0_MEM027_I_ECC_1_EN_BB_K2_SHIFT 10
#define UCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_EN_BB_K2 (0x1<<11) // Enable ECC for memory ecc instance ucm.i_sm_task_ctx_2.i_ecc in module ucm_mem_sm_task_ctx_2
#define UCM_REG_MEM_ECC_ENABLE_0_MEM028_I_ECC_EN_BB_K2_SHIFT 11
-#define UCM_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x128022cUL //Access:RW DataWidth:0xc // Multi Field Register.
- #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance ucm.i_xx_msg_ram.i_ecc in module ucm_mem_xx_msg_ram
- #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_PRTY_BB_K2_SHIFT 0
- #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance ucm.i_agg_con_ctx.i_ecc_0 in module ucm_mem_agg_con_ctx
- #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_BB_K2_SHIFT 1
- #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2 (0x1<<2) // Set parity only for memory ecc instance ucm.i_agg_con_ctx.i_ecc_1 in module ucm_mem_agg_con_ctx
- #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2_SHIFT 2
+#define UCM_REG_MEM_ECC_PARITY_ONLY_0 0x128022cUL //Access:RW DataWidth:0xa // Multi Field Register.
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_PRTY (0x1<<0) // Set parity only for memory ecc instance ucm.i_xx_msg_ram.i_ecc in module ucm_mem_xx_msg_ram
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM030_I_ECC_PRTY_SHIFT 0
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY (0x1<<1) // Set parity only for memory ecc instance ucm.i_agg_con_ctx.i_ecc_0 in module ucm_mem_agg_con_ctx_0_1
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_SHIFT 1
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY (0x1<<2) // Set parity only for memory ecc instance ucm.i_agg_con_ctx.i_ecc_1 in module ucm_mem_agg_con_ctx_0_1
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_SHIFT 2
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance ucm.i_agg_con_ctx_2.i_ecc in module ucm_mem_agg_con_ctx_2
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM006_I_ECC_PRTY_E5_SHIFT 3
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_0_PRTY_E5 (0x1<<4) // Set parity only for memory ecc instance ucm.i_sm_con_ctx.i_ecc_0 in module ucm_mem_sm_con_ctx
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_0_PRTY_E5_SHIFT 4
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_1_PRTY_E5 (0x1<<5) // Set parity only for memory ecc instance ucm.i_sm_con_ctx.i_ecc_1 in module ucm_mem_sm_con_ctx
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM026_I_ECC_1_PRTY_E5_SHIFT 5
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_0_PRTY_E5 (0x1<<6) // Set parity only for memory ecc instance ucm.i_agg_task_ctx.i_ecc_0 in module ucm_mem_agg_task_ctx
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_0_PRTY_E5_SHIFT 6
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_1_PRTY_E5 (0x1<<7) // Set parity only for memory ecc instance ucm.i_agg_task_ctx.i_ecc_1 in module ucm_mem_agg_task_ctx
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM008_I_ECC_1_PRTY_E5_SHIFT 7
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_0_PRTY_E5 (0x1<<8) // Set parity only for memory ecc instance ucm.i_sm_task_ctx.i_ecc_0 in module ucm_mem_sm_task_ctx
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_0_PRTY_E5_SHIFT 8
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_1_PRTY_E5 (0x1<<9) // Set parity only for memory ecc instance ucm.i_sm_task_ctx.i_ecc_1 in module ucm_mem_sm_task_ctx
+ #define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_1_PRTY_E5_SHIFT 9
#define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_0_PRTY_BB_K2 (0x1<<3) // Set parity only for memory ecc instance ucm.i_sm_con_ctx_0_11.i_ecc_0 in module ucm_mem_sm_con_ctx_0_11
#define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_0_PRTY_BB_K2_SHIFT 3
#define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM024_I_ECC_1_PRTY_BB_K2 (0x1<<4) // Set parity only for memory ecc instance ucm.i_sm_con_ctx_0_11.i_ecc_1 in module ucm_mem_sm_con_ctx_0_11
@@ -75259,13 +78350,27 @@
#define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM027_I_ECC_1_PRTY_BB_K2_SHIFT 10
#define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_PRTY_BB_K2 (0x1<<11) // Set parity only for memory ecc instance ucm.i_sm_task_ctx_2.i_ecc in module ucm_mem_sm_task_ctx_2
#define UCM_REG_MEM_ECC_PARITY_ONLY_0_MEM028_I_ECC_PRTY_BB_K2_SHIFT 11
-#define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x1280230UL //Access:RC DataWidth:0xc // Multi Field Register.
- #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance ucm.i_xx_msg_ram.i_ecc in module ucm_mem_xx_msg_ram
- #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_CORRECT_BB_K2_SHIFT 0
- #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance ucm.i_agg_con_ctx.i_ecc_0 in module ucm_mem_agg_con_ctx
- #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_BB_K2_SHIFT 1
- #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2 (0x1<<2) // Record if a correctable error occurred on memory ecc instance ucm.i_agg_con_ctx.i_ecc_1 in module ucm_mem_agg_con_ctx
- #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2_SHIFT 2
+#define UCM_REG_MEM_ECC_ERROR_CORRECTED_0 0x1280230UL //Access:RC DataWidth:0xa // Multi Field Register.
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_CORRECT (0x1<<0) // Record if a correctable error occurred on memory ecc instance ucm.i_xx_msg_ram.i_ecc in module ucm_mem_xx_msg_ram
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM030_I_ECC_CORRECT_SHIFT 0
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance ucm.i_agg_con_ctx.i_ecc_0 in module ucm_mem_agg_con_ctx_0_1
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_SHIFT 1
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT (0x1<<2) // Record if a correctable error occurred on memory ecc instance ucm.i_agg_con_ctx.i_ecc_1 in module ucm_mem_agg_con_ctx_0_1
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_SHIFT 2
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance ucm.i_agg_con_ctx_2.i_ecc in module ucm_mem_agg_con_ctx_2
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM006_I_ECC_CORRECT_E5_SHIFT 3
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_0_CORRECT_E5 (0x1<<4) // Record if a correctable error occurred on memory ecc instance ucm.i_sm_con_ctx.i_ecc_0 in module ucm_mem_sm_con_ctx
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_0_CORRECT_E5_SHIFT 4
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_1_CORRECT_E5 (0x1<<5) // Record if a correctable error occurred on memory ecc instance ucm.i_sm_con_ctx.i_ecc_1 in module ucm_mem_sm_con_ctx
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM026_I_ECC_1_CORRECT_E5_SHIFT 5
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_0_CORRECT_E5 (0x1<<6) // Record if a correctable error occurred on memory ecc instance ucm.i_agg_task_ctx.i_ecc_0 in module ucm_mem_agg_task_ctx
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_0_CORRECT_E5_SHIFT 6
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_1_CORRECT_E5 (0x1<<7) // Record if a correctable error occurred on memory ecc instance ucm.i_agg_task_ctx.i_ecc_1 in module ucm_mem_agg_task_ctx
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM008_I_ECC_1_CORRECT_E5_SHIFT 7
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_0_CORRECT_E5 (0x1<<8) // Record if a correctable error occurred on memory ecc instance ucm.i_sm_task_ctx.i_ecc_0 in module ucm_mem_sm_task_ctx
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_0_CORRECT_E5_SHIFT 8
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_1_CORRECT_E5 (0x1<<9) // Record if a correctable error occurred on memory ecc instance ucm.i_sm_task_ctx.i_ecc_1 in module ucm_mem_sm_task_ctx
+ #define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_1_CORRECT_E5_SHIFT 9
#define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_0_CORRECT_BB_K2 (0x1<<3) // Record if a correctable error occurred on memory ecc instance ucm.i_sm_con_ctx_0_11.i_ecc_0 in module ucm_mem_sm_con_ctx_0_11
#define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_0_CORRECT_BB_K2_SHIFT 3
#define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM024_I_ECC_1_CORRECT_BB_K2 (0x1<<4) // Record if a correctable error occurred on memory ecc instance ucm.i_sm_con_ctx_0_11.i_ecc_1 in module ucm_mem_sm_con_ctx_0_11
@@ -75284,7 +78389,7 @@
#define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM027_I_ECC_1_CORRECT_BB_K2_SHIFT 10
#define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_CORRECT_BB_K2 (0x1<<11) // Record if a correctable error occurred on memory ecc instance ucm.i_sm_task_ctx_2.i_ecc in module ucm_mem_sm_task_ctx_2
#define UCM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM028_I_ECC_CORRECT_BB_K2_SHIFT 11
-#define UCM_REG_MEM_ECC_EVENTS_BB_K2 0x1280234UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+#define UCM_REG_MEM_ECC_EVENTS 0x1280234UL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define UCM_REG_IFEN 0x1280400UL //Access:RW DataWidth:0x1 // Interface enable. If 0 - the acknowledge input is disregarded; valid is deasserted; all other signals are treated as usual; if 1 - normal activity.
#define UCM_REG_QM_TASK_BASE_EVNT_ID_0 0x1280424UL //Access:RW DataWidth:0x8 // QM task base Event ID per connection type.
#define UCM_REG_QM_TASK_BASE_EVNT_ID_1 0x1280428UL //Access:RW DataWidth:0x8 // QM task base Event ID per connection type.
@@ -75327,6 +78432,24 @@
#define UCM_REG_TM_TASK_EVNT_ID_6 0x128055cUL //Access:RW DataWidth:0x8 // TM task Event ID per connection type.
#define UCM_REG_TM_TASK_EVNT_ID_7 0x1280560UL //Access:RW DataWidth:0x8 // TM task Event ID per connection type.
#define UCM_REG_ERR_EVNT_ID 0x1280564UL //Access:RW DataWidth:0x8 // The Event ID in case one of errors is set in QM input message.
+#define UCM_REG_AGG_CON_RULE0_Q_BB_K2 0x1280930UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define UCM_REG_AGG_CON_RULE0_Q_E5 0x1280568UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define UCM_REG_AGG_CON_RULE1_Q_BB_K2 0x1280934UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define UCM_REG_AGG_CON_RULE1_Q_E5 0x128056cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define UCM_REG_AGG_CON_RULE2_Q_BB_K2 0x1280938UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define UCM_REG_AGG_CON_RULE2_Q_E5 0x1280570UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define UCM_REG_AGG_CON_RULE3_Q_BB_K2 0x128093cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define UCM_REG_AGG_CON_RULE3_Q_E5 0x1280574UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define UCM_REG_AGG_CON_RULE4_Q_BB_K2 0x1280940UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define UCM_REG_AGG_CON_RULE4_Q_E5 0x1280578UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define UCM_REG_AGG_CON_RULE5_Q_BB_K2 0x1280944UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).:
+#define UCM_REG_AGG_CON_RULE5_Q_E5 0x128057cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define UCM_REG_AGG_CON_RULE6_Q_BB_K2 0x1280948UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define UCM_REG_AGG_CON_RULE6_Q_E5 0x1280580UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define UCM_REG_AGG_CON_RULE7_Q_BB_K2 0x128094cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define UCM_REG_AGG_CON_RULE7_Q_E5 0x1280584UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
+#define UCM_REG_AGG_CON_RULE8_Q_BB_K2 0x1280950UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
+#define UCM_REG_AGG_CON_RULE8_Q_E5 0x1280588UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
#define UCM_REG_STORM_WEIGHT 0x1280604UL //Access:RW DataWidth:0x3 // The weight of the local Storm input in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define UCM_REG_DORQ_WEIGHT 0x1280608UL //Access:RW DataWidth:0x3 // The weight of the input Dorq in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
#define UCM_REG_PBF_WEIGHT 0x128060cUL //Access:RW DataWidth:0x3 // The weight of the input Pbf in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
@@ -75348,21 +78471,21 @@
#define UCM_REG_IA_GROUP_PR4 0x128064cUL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 4. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define UCM_REG_IA_GROUP_PR5 0x1280650UL //Access:RW DataWidth:0x3 // Input Arbiter group client corresponding to group priority 5. 0 - Is.Agg group 1- Is.AggSt group; 2 - Is.Dir group; 3 - Xx.Dir group; 4 - Xx.AggSt group; 5- Xx.Byp group. Each priority need to be unique. NOTE: 0 is the highest priority; 5 is the lowest priority.
#define UCM_REG_IA_ARB_SP_TIMEOUT 0x1280654UL //Access:RW DataWidth:0x8 // Input Arbiter timeout value to perform non-usual arbitration operation relative to usual once in a while. Two values have special meaning: 8'h0 - constant RR; 8'h80 - constant strict priority. In all other cases the following is true: Bit [7]: if 0 - usual operation is strict priority arbitration; if 1 - usual operation is RR. Bits [6:0] - period of non-usual operation performance.
-#define UCM_REG_STORM_FRWRD_MODE 0x1280658UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define UCM_REG_XSDM_FRWRD_MODE 0x128065cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define UCM_REG_YSDM_FRWRD_MODE 0x1280660UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define UCM_REG_STORM_FRWRD_MODE_BB_K2 0x1280658UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define UCM_REG_XSDM_FRWRD_MODE_BB_K2 0x128065cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define UCM_REG_YSDM_FRWRD_MODE_BB_K2 0x1280660UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define UCM_REG_PSDM_FRWRD_MODE_BB_K2 0x1280664UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define UCM_REG_USDM_FRWRD_MODE 0x1280668UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define UCM_REG_RDIF_FRWRD_MODE 0x128066cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define UCM_REG_TDIF_FRWRD_MODE 0x1280670UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define UCM_REG_MULD_FRWRD_MODE 0x1280674UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define UCM_REG_USDM_FRWRD_MODE_BB_K2 0x1280668UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define UCM_REG_RDIF_FRWRD_MODE_BB_K2 0x128066cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define UCM_REG_TDIF_FRWRD_MODE_BB_K2 0x1280670UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define UCM_REG_MULD_FRWRD_MODE_BB_K2 0x1280674UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define UCM_REG_YULD_FRWRD_MODE_BB_K2 0x1280678UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define UCM_REG_DORQ_FRWRD_MODE 0x128067cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define UCM_REG_PBF_FRWRD_MODE 0x1280680UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define UCM_REG_DORQ_FRWRD_MODE_BB_K2 0x128067cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
+#define UCM_REG_PBF_FRWRD_MODE_BB_K2 0x1280680UL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
#define UCM_REG_SDM_ERR_HANDLE_EN 0x1280684UL //Access:RW DataWidth:0x1 // 0 - disable error handling in SDM message; 1 - enable error handling in SDM message.
#define UCM_REG_DIR_BYP_EN 0x1280688UL //Access:RW DataWidth:0x1 // Direct bypass enable.
-#define UCM_REG_FI_DESC_INPUT_VIOLATE 0x128068cUL //Access:R DataWidth:0xf // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block;
-#define UCM_REG_SE_DESC_INPUT_VIOLATE 0x1280690UL //Access:R DataWidth:0xc // Input message second descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0; Read only register.
+#define UCM_REG_FI_DESC_INPUT_VIOLATE 0x128068cUL //Access:R DataWidth:0x13 // Input message first descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: TaskExist==0 -> XxLockCmd != XX_UNLOCK_CID_TID and XxLockCmd != XX_LOCK_CID_TID_BYPASS; [12] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0;[13] - Violation: Agg message: Loader done with error then SmCtxLdStFlg==0; [14] - Violation: XxBypass message in PCM block; [15] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [16] - Violation: Direct message: Connection domain doesn't exist then AffinityType != 2; [17]- Violation: Connection domain AggCtxLdStFlg==0 then AffinityType != 2; [18]- Violation: single Task domain AggCtxLdStFlg==0 then AffinityType != 3;
+#define UCM_REG_SE_DESC_INPUT_VIOLATE 0x1280690UL //Access:R DataWidth:0xd // Input message second descriptor fields violation: [4:0] - Global client number that violated the input; [5] - Violation: Agg/Direct message: AggCtxLdStFlg == 0 then AggDecType == NULL; [6] - Violation: Agg message: AggDecType == NULL then AggCtxLdStFlg == 1; [7] - Violation: Agg/Direct message: AggCtxLdStFlg==0 then AggCtxPartSize==0; [8]- Violation: Agg message: In connection domain : AggCtxPartSize < NC_IAG or In task domain : AggCtxPartSize < NT_IAG; [9]- Violation: Diect message: In connection domain : AggCtxPartSize < CC_IAG or In task domain : AggCtxPartSize < CT_IAG; [10] - Violation: Direct message: UsestateFlg==1 then AggCtxLdStFlg == 1; [11] - Violation: Agg/Direct message: AggCtxLdStFlg==1 then AggCtxPartSize>0; [12]- Violation: dual Task domain AggCtxLdStFlg==0 then AffinityType != 3;Read only register.
#define UCM_REG_IA_AGG_CON_PART_FILL_LVL 0x1280694UL //Access:R DataWidth:0x3 // Input Arbiter Aggregation Connection part FIFO fill level (in messages).
#define UCM_REG_IA_SM_CON_PART_FILL_LVL 0x1280698UL //Access:R DataWidth:0x3 // Input Arbiter Storm Connection part FIFO fill level (in messages).
#define UCM_REG_IA_AGG_TASK_PART_FILL_LVL 0x128069cUL //Access:R DataWidth:0x3 // Input Arbiter Aggregation Task part FIFO fill level (in messages).
@@ -75473,15 +78596,6 @@
#define UCM_REG_CON_PHY_Q1 0x1280908UL //Access:RW DataWidth:0x9 // Physical queue connection number (queue number 1).
#define UCM_REG_TASK_PHY_Q0 0x128090cUL //Access:RW DataWidth:0x7 // Physical queue task number (queue number 0).
#define UCM_REG_TASK_PHY_Q1 0x1280910UL //Access:RW DataWidth:0x7 // Physical queue task number (queue number 1).
-#define UCM_REG_AGG_CON_RULE0_Q 0x1280930UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define UCM_REG_AGG_CON_RULE1_Q 0x1280934UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define UCM_REG_AGG_CON_RULE2_Q 0x1280938UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define UCM_REG_AGG_CON_RULE3_Q 0x128093cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define UCM_REG_AGG_CON_RULE4_Q 0x1280940UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define UCM_REG_AGG_CON_RULE5_Q 0x1280944UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define UCM_REG_AGG_CON_RULE6_Q 0x1280948UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define UCM_REG_AGG_CON_RULE7_Q 0x128094cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
-#define UCM_REG_AGG_CON_RULE8_Q 0x1280950UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable). In XCM only if value is 4, then special merge routine is fulfilled: If 'en_qindex_20_merge" is 0 then Queue index 0 is enable. If 'en_qindex_20_merge" is 1 then Queue index 2 is enable.
#define UCM_REG_AGG_TASK_RULE0_Q 0x1280968UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
#define UCM_REG_AGG_TASK_RULE1_Q 0x128096cUL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
#define UCM_REG_AGG_TASK_RULE2_Q 0x1280970UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
@@ -75828,10 +78942,9 @@
#define UCM_REG_RING_BASE_E5 0x1282800UL //Access:RW DataWidth:0x5 // UCM BD ring base address.
#define UCM_REG_RING_LAST_E5 0x1282804UL //Access:RW DataWidth:0x5 // UCM BD ring last address.
#define UCM_REG_YSEM_WEIGHT_E5 0x1282808UL //Access:RW DataWidth:0x3 // The weight of the input Ysem in the Input Arbiter WRR mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for weight 1(least prioritised); 2 stands for weight 2;etc.
-#define UCM_REG_YSEM_FRWRD_MODE_E5 0x128280cUL //Access:RW DataWidth:0x1 // Input message mode. If 0 - cut-through; if 1 - store-forward.
-#define UCM_REG_YSEM_MSG_CNTR_E5 0x1282810UL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
-#define UCM_REG_IS_YSEM_FILL_LVL_E5 0x1282814UL //Access:R DataWidth:0x4 // Number of QREGs (128b) for TCM, XCM or 2 QREGs (256b) for MCM of data in YSEM Input Stage.
-#define UCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_E5 0x1282818UL //Access:R DataWidth:0x6 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
+#define UCM_REG_YSEM_MSG_CNTR_E5 0x128280cUL //Access:RC DataWidth:0x1c // Counter of the input messages at input Ysem.
+#define UCM_REG_IS_YSEM_FILL_LVL_E5 0x1282810UL //Access:R DataWidth:0x4 // Number of QREGs (128b) for TCM, XCM or 2 QREGs (256b) for MCM of data in YSEM Input Stage.
+#define UCM_REG_IS_FOC_YSEM_NXT_INF_UNIT_E5 0x1282814UL //Access:R DataWidth:0x6 // Debug read from YSEM Input stage buffer: number of reads to next information unit.
#define UCM_REG_IS_FOC_YSEM_E5 0x1282900UL //Access:R DataWidth:0x20 // Debug read from YSEM Input stage buffer with 32-bits granularity. Read only.
#define UCM_REG_IS_FOC_YSEM_SIZE 36
#define UCM_REG_AGG_TASK_CF0_Q_BB_K2 0x1280954UL //Access:RW DataWidth:0x2 // Decision rule logical queue (0 - Queue index 0 enable; 1- Queue index enable; 2 - Queue index 2 enable; 3 - Queue index enable).
@@ -75884,7 +78997,7 @@
#define XSEM_REG_ENABLE_OUT_STALL_ENABLE_OUT_BB_K2_SHIFT 5
#define XSEM_REG_FIC_DISABLE_BB_K2 0x140000cUL //Access:RW DataWidth:0x1 // Disables input messages from all FIC interfaces. May be updated during run_time by the microcode.
#define XSEM_REG_PAS_DISABLE_BB_K2 0x1400010UL //Access:RW DataWidth:0x1 // Disables input messages from the passive buffer May be updated during run_time by the microcode.
-#define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1400014UL //Access:RW DataWidth:0x17 // Multi Field Register.
+#define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1400014UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5 (0xf<<0) // Passive Buffer write WRR weight value for FIC source.
#define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5_SHIFT 0
#define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA RD A source.
@@ -75893,11 +79006,9 @@
#define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for SDM source.
#define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5_SHIFT 12
- #define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5_SHIFT 16
- #define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
- #define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 20
-#define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1400018UL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
+ #define XSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 16
+#define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1400018UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5 (0xf<<0) // Passive Buffer WRR weight value for FOC source.
#define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5_SHIFT 0
#define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA WR A source.
@@ -75906,11 +79017,9 @@
#define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for GRC source.
#define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5_SHIFT 12
- #define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5_SHIFT 16
- #define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
- #define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 20
-#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x140001cUL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
+ #define XSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 16
+#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x140001cUL //Access:RW DataWidth:0x13 // Multi Field Register.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-A source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5_SHIFT 0
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC1_A_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for FIC1-a (if exist) source.
@@ -75919,48 +79028,40 @@
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO0_A_WEIGHT_E5_SHIFT 8
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5 (0xf<<12) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-A source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5_SHIFT 12
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5_SHIFT 16
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 20
-#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1400020UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
+ #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 16
+#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1400020UL //Access:RW DataWidth:0xe // Multi Field Register.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-X source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5_SHIFT 0
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-X source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5_SHIFT 4
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-X source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5_SHIFT 8
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5_SHIFT 12
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 16
-#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1400024UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 12
+#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1400024UL //Access:RW DataWidth:0xe // Multi Field Register.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-B source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5_SHIFT 0
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-B source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5_SHIFT 4
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-B source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5_SHIFT 8
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5_SHIFT 12
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 16
-#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1400028UL //Access:RW DataWidth:0xe // Multi Field Register.
+ #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 12
+#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1400028UL //Access:RW DataWidth:0xf // Multi Field Register.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity A source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5_SHIFT 0
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5_SHIFT 8
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - AFFINITY A, 2- AFFINITY X.
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5_SHIFT 12
-#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x140002cUL //Access:RW DataWidth:0xc // Multi Field Register.
+ #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter3 will select with strict priority the threads assigned to Affinity A.
+ #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5_SHIFT 8
+#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x140002cUL //Access:RW DataWidth:0xf // Multi Field Register.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity B source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5_SHIFT 0
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5_SHIFT 8
+ #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter4 will select with strict priority the threads assigned to Affinity B.
+ #define XSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5_SHIFT 8
#define XSEM_REG_PASSIVE_BUFFER_DRA_WR_E5 0x1400030UL //Access:RW DataWidth:0x4 // Multi Field Register.
#define XSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5 (0x1<<0) // Enable DRA Write to transactions towards the SEM_PD Core A.
#define XSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5_SHIFT 0
@@ -75970,7 +79071,7 @@
#define XSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_PEND_BLOCK_EN_E5_SHIFT 2
#define XSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5 (0x1<<3) // When set, the Affintiy field of the thread is set to CoreA (regardless to the Afficnity received from CM).
#define XSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5_SHIFT 3
-#define XSEM_REG_INT_STS_0 0x1400040UL //Access:R DataWidth:0x20 // Multi Field Register.
+#define XSEM_REG_INT_STS_0 0x1400040UL //Access:R DataWidth:0x1f // Multi Field Register.
#define XSEM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define XSEM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define XSEM_REG_INT_STS_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -75979,9 +79080,9 @@
#define XSEM_REG_INT_STS_0_FIC_LENGTH_ERROR_SHIFT 2
#define XSEM_REG_INT_STS_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define XSEM_REG_INT_STS_0_FIC_FIFO_ERROR_SHIFT 3
- #define XSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define XSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define XSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define XSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define XSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define XSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define XSEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define XSEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -75991,58 +79092,52 @@
#define XSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define XSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define XSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define XSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define XSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define XSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define XSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define XSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define XSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define XSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define XSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define XSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define XSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define XSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define XSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define XSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define XSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define XSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define XSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define XSEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define XSEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define XSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define XSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define XSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define XSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define XSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define XSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define XSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define XSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define XSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define XSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define XSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define XSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define XSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define XSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define XSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define XSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define XSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define XSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define XSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define XSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define XSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define XSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define XSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define XSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define XSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define XSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define XSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define XSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define XSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define XSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define XSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define XSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define XSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define XSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define XSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define XSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define XSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define XSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define XSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define XSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define XSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define XSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define XSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define XSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define XSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define XSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define XSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define XSEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define XSEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define XSEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define XSEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define XSEM_REG_INT_STS_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -76079,19 +79174,23 @@
#define XSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define XSEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define XSEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define XSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define XSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define XSEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define XSEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define XSEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define XSEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define XSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define XSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define XSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define XSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define XSEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define XSEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define XSEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define XSEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define XSEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define XSEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define XSEM_REG_INT_MASK_0 0x1400044UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define XSEM_REG_INT_MASK_0 0x1400044UL //Access:RW DataWidth:0x1f // Multi Field Register.
#define XSEM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.ADDRESS_ERROR .
#define XSEM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define XSEM_REG_INT_MASK_0_FIC_LAST_ERROR (0x1<<1) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.FIC_LAST_ERROR .
@@ -76112,58 +79211,52 @@
#define XSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define XSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_EXT_LOAD_PUSH_ERROR_B .
#define XSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
#define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
- #define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
+ #define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define XSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
#define XSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define XSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
- #define XSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define XSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
- #define XSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define XSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
- #define XSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define XSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define XSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define XSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define XSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define XSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
- #define XSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define XSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
- #define XSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define XSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
- #define XSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define XSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
- #define XSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define XSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
- #define XSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define XSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
- #define XSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define XSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
- #define XSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define XSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
- #define XSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define XSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
- #define XSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
- #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define XSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
- #define XSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define XSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
+ #define XSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define XSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
+ #define XSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define XSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
+ #define XSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define XSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
+ #define XSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define XSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
+ #define XSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define XSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
+ #define XSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define XSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
+ #define XSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define XSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
+ #define XSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define XSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
+ #define XSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define XSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
+ #define XSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define XSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
+ #define XSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define XSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
+ #define XSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
+ #define XSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define XSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
+ #define XSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define XSEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.FIC_PRE_FETCH_FIFO_ERROR .
+ #define XSEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define XSEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.PAS_BUF_FIFO_ERROR .
#define XSEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define XSEM_REG_INT_MASK_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_FIN_POP_ERROR .
@@ -76200,19 +79293,23 @@
#define XSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define XSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_EXT_LOAD_POP_ERROR .
#define XSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
+ #define XSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define XSEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_RAM_WR_POP_ERROR .
#define XSEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define XSEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_DBG_PUSH_ERROR .
#define XSEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define XSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR .
#define XSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define XSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
+ #define XSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define XSEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.CAM_MSB2_INP_FIFO .
#define XSEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define XSEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.VFC_INTERRUPT .
#define XSEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define XSEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // This bit masks, when set, the Interrupt bit: XSEM_REG_INT_STS_0.VFC_OUT_FIFO_ERROR .
#define XSEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define XSEM_REG_INT_STS_WR_0 0x1400048UL //Access:WR DataWidth:0x20 // Multi Field Register.
+#define XSEM_REG_INT_STS_WR_0 0x1400048UL //Access:WR DataWidth:0x1f // Multi Field Register.
#define XSEM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define XSEM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define XSEM_REG_INT_STS_WR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -76221,9 +79318,9 @@
#define XSEM_REG_INT_STS_WR_0_FIC_LENGTH_ERROR_SHIFT 2
#define XSEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define XSEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR_SHIFT 3
- #define XSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define XSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define XSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define XSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define XSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define XSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define XSEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define XSEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -76233,58 +79330,52 @@
#define XSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define XSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define XSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define XSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define XSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define XSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define XSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define XSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define XSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define XSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define XSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define XSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define XSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define XSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define XSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define XSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define XSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define XSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define XSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define XSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define XSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define XSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define XSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define XSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define XSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define XSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define XSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define XSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define XSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define XSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define XSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define XSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define XSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define XSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define XSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define XSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define XSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define XSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define XSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define XSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define XSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define XSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define XSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define XSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define XSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define XSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define XSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define XSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define XSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define XSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define XSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define XSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define XSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define XSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define XSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define XSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define XSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define XSEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define XSEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define XSEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define XSEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define XSEM_REG_INT_STS_WR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -76321,19 +79412,23 @@
#define XSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define XSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define XSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define XSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define XSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define XSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define XSEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define XSEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define XSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define XSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define XSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define XSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define XSEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define XSEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define XSEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define XSEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define XSEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define XSEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define XSEM_REG_INT_STS_CLR_0 0x140004cUL //Access:RC DataWidth:0x20 // Multi Field Register.
+#define XSEM_REG_INT_STS_CLR_0 0x140004cUL //Access:RC DataWidth:0x1f // Multi Field Register.
#define XSEM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define XSEM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define XSEM_REG_INT_STS_CLR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -76342,9 +79437,9 @@
#define XSEM_REG_INT_STS_CLR_0_FIC_LENGTH_ERROR_SHIFT 2
#define XSEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define XSEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR_SHIFT 3
- #define XSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define XSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define XSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define XSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define XSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define XSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define XSEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define XSEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -76354,58 +79449,52 @@
#define XSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define XSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define XSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define XSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define XSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define XSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define XSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define XSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define XSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define XSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define XSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define XSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define XSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define XSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define XSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define XSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define XSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define XSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define XSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define XSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define XSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define XSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define XSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define XSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define XSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define XSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define XSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define XSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define XSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define XSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define XSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define XSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define XSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define XSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define XSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define XSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define XSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define XSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define XSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define XSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define XSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define XSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define XSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define XSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define XSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define XSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define XSEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define XSEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define XSEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define XSEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define XSEM_REG_INT_STS_CLR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -76442,12 +79531,16 @@
#define XSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define XSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define XSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define XSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define XSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define XSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define XSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define XSEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define XSEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define XSEM_REG_INT_STS_CLR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
@@ -77070,13 +80163,21 @@
#define XSEM_REG_INT_STS_CLR_2_FIN_GRC_IOR_MAP_OUT_OF_RANGE_ERROR_B_E5_SHIFT 29
#define XSEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5 (0x1<<30) // This error indicates on an unalligned wire access to PRAM via SDM.
#define XSEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5_SHIFT 30
-#define XSEM_REG_PRTY_MASK 0x14000ccUL //Access:RW DataWidth:0x3 // Multi Field Register.
+#define XSEM_REG_PRTY_MASK 0x14000ccUL //Access:RW DataWidth:0x5 // Multi Field Register.
#define XSEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR (0x1<<0) // This bit masks, when set, the Parity bit: XSEM_REG_PRTY_STS.VFC_RBC_PARITY_ERROR .
#define XSEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR_SHIFT 0
- #define XSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR (0x1<<1) // This bit masks, when set, the Parity bit: XSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
- #define XSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_SHIFT 1
- #define XSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR (0x1<<2) // This bit masks, when set, the Parity bit: XSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
- #define XSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_SHIFT 2
+ #define XSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5 (0x1<<1) // This bit masks, when set, the Parity bit: XSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_A .
+ #define XSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5_SHIFT 1
+ #define XSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5 (0x1<<2) // This bit masks, when set, the Parity bit: XSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_B .
+ #define XSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5_SHIFT 2
+ #define XSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: XSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define XSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2_SHIFT 2
+ #define XSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5 (0x1<<3) // This bit masks, when set, the Parity bit: XSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define XSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5_SHIFT 3
+ #define XSEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5 (0x1<<4) // This bit masks, when set, the Parity bit: XSEM_REG_PRTY_STS.PRAM_PARITY_ERROR .
+ #define XSEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5_SHIFT 4
+ #define XSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: XSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
+ #define XSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2_SHIFT 1
#define XSEM_REG_PRTY_MASK_H_0_BB_K2 0x1400204UL //Access:RW DataWidth:0x7 // Multi Field Register.
#define XSEM_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: XSEM_REG_PRTY_STS_H_0.MEM006_I_ECC_0_RF_INT .
#define XSEM_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_BB_K2_SHIFT 0
@@ -77147,14 +80248,14 @@
#define XSEM_REG_ARB_AS_DEF_SIZE 32
#define XSEM_REG_ARB_TS_AS_BB_K2 0x1400a80UL //Access:RW DataWidth:0x2 // Register array that defines the main DRA arbiter arbitration scheme for each of 20 time slots [0-19].
#define XSEM_REG_ARB_TS_AS_SIZE 20
-#define XSEM_REG_NUM_OF_THREADS 0x1400b00UL //Access:R DataWidth:0x8 // The number of currently free threads (in invalid state).
+#define XSEM_REG_NUM_OF_THREADS 0x1400b00UL //Access:R DataWidth:0x6 // The number of currently free threads (in invalid state).
#define XSEM_REG_THREAD_ERROR_LOW_E5 0x1400b04UL //Access:R DataWidth:0x20 // Thread error low indication. Represents threads 31 -0
#define XSEM_REG_THREAD_ERROR_BB_K2 0x1400b04UL //Access:R DataWidth:0x18 // Thread error indication.
#define XSEM_REG_THREAD_RDY_BB_K2 0x1400b08UL //Access:R DataWidth:0x18 // Thread ready indication.
#define XSEM_REG_THREAD_SET_NUM 0x1400b0cUL //Access:W DataWidth:0x6 // Thread ID. Write thread ID will set ready indication for this thread ID.
#define XSEM_REG_THREAD_VALID_BB_K2 0x1400b10UL //Access:R DataWidth:0x18 // Valid sleeping threads.
#define XSEM_REG_THREADS_LIST_BB_K2 0x1400b14UL //Access:RW DataWidth:0x18 // List of free threads.
-#define XSEM_REG_THREAD_NUMBER_E5 0x1400b18UL //Access:RW DataWidth:0x8 // Defines the maixmum number of supported threads in SEMI.
+#define XSEM_REG_THREAD_NUMBER_E5 0x1400b18UL //Access:RW DataWidth:0x6 // Defines the maixmum number of supported threads in SEMI.
#define XSEM_REG_THREAD_ERROR_HIGH_E5 0x1400b1cUL //Access:R DataWidth:0x18 // Thread error high indication. Represents threads 55-32
#define XSEM_REG_FOC_MIN_MESSAGE_CREDIT_E5 0x1400b40UL //Access:RW DataWidth:0x8 // This field defines for each FOC the minimum message reuired for the FOC transfer to start.
#define XSEM_REG_FOC_MIN_MESSAGE_CREDIT_SIZE 2
@@ -77176,11 +80277,12 @@
#define XSEM_REG_SYNC_FOC_FIFO_WR_ALM_FULL_E5 0x1401010UL //Access:RW DataWidth:0x4 // Almost full for indication for FOC Sync FIFO.
#define XSEM_REG_SYNC_SDM_READY_FIFO_WR_ALM_FULL_E5 0x1401014UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM READY FIFO.
#define XSEM_REG_SYNC_SDM_INC_FIFO_WR_ALM_FULL_E5 0x1401018UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM Counter Increment FIFO.
-#define XSEM_REG_STALL_ON_INT_E5 0x140101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Both cluster Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
+#define XSEM_REG_STALL_ON_INT_E5 0x140101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Only SEMI's Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
#define XSEM_REG_FIC0_A_MAX_THRDS_E5 0x1401020UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 A queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define XSEM_REG_FIC0_X_MAX_THRDS_E5 0x1401024UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 X queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define XSEM_REG_FIC0_B_MAX_THRDS_E5 0x1401028UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 B queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define XSEM_REG_FIC1_A_MAX_THRDS_E5 0x140102cUL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC1 A queue. If FIC1 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
+#define XSEM_REG_STALL_ON_BREAKPOINT_E5 0x1401030UL //Access:RW DataWidth:0x1 // 0 - No external stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access). 1 - External stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access).
#define XSEM_REG_DRA_EMPTY_BB_K2 0x1401100UL //Access:R DataWidth:0x1 // Dra_empty.
#define XSEM_REG_EXT_PAS_EMPTY 0x1401104UL //Access:R DataWidth:0x1 // EXT_PAS FIFO empty in sem_slow.
#define XSEM_REG_FIC_EMPTY 0x1401120UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO empty in sem_slow_fic.
@@ -77189,9 +80291,9 @@
#define XSEM_REG_SLOW_DRA_FIN_EMPTY_BB_K2 0x1401144UL //Access:R DataWidth:0x1 // FIN fifo is empty in sem_slow_dra_sync.
#define XSEM_REG_SLOW_DRA_RD_EMPTY_BB_K2 0x1401148UL //Access:R DataWidth:0x1 // DRA_RD pop fifo is empty in sem_slow_dra_sync.
#define XSEM_REG_SLOW_DRA_WR_EMPTY_BB_K2 0x140114cUL //Access:R DataWidth:0x1 // DRA_WR push fifo is empty in sem_slow_dra_sync.
-#define XSEM_REG_SLOW_EXT_STORE_EMPTY 0x1401150UL //Access:R DataWidth:0x1 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
+#define XSEM_REG_SLOW_EXT_STORE_EMPTY 0x1401150UL //Access:R DataWidth:0x2 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
#define XSEM_REG_SLOW_EXT_LOAD_EMPTY 0x1401154UL //Access:R DataWidth:0x2 // EXT_LOAD FIFO is empty in sem_slow_ls_ext, bit 0 FIFO of Core A, bit 1 FIFO of Core B.
-#define XSEM_REG_SLOW_RAM_RD_EMPTY 0x1401158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
+#define XSEM_REG_SLOW_RAM_RD_EMPTY_BB_K2 0x1401158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
#define XSEM_REG_SLOW_RAM_WR_EMPTY 0x140115cUL //Access:R DataWidth:0x1 // EXT_WR_RAM FIFO is empty in sem_slow_ls_ext.
#define XSEM_REG_SYNC_DBG_EMPTY 0x1401160UL //Access:R DataWidth:0x2 // DBG FAST SYNC FIFO is empty in sem_slow_ls_sync. Bit0 - FOR debug FIFO of Core A. Bit1 - FOR debug FIFO of Core B
#define XSEM_REG_THREAD_FIFO_EMPTY_BB_K2 0x1401164UL //Access:R DataWidth:0x1 // Indicates that the thread fifo is empty in sem_slow_dra_wr.
@@ -77199,6 +80301,8 @@
#define XSEM_REG_PB_QUEUE_EMPTY_E5 0x140116cUL //Access:R DataWidth:0xb // If 1, the correspongding Queue is empty. Queues numeration: FOC_FIFO_IF - 0, FIC0_FIFO_A - 1, FIC1_FIFO_A - 2, WAKE_FIFO_PRIO_A - 3, WAKE_FIFO_PRI1_A - 4, FIC0_FIFO_X - 5, WAKE_FIFO_PRIO_X - 6, WAKE_FIFO_PRI1_X - 7,FIC0_FIFO_B - 8, WAKE_FIFO_PRIO_B - 9, WAKE_FIFO_PRI1_B - 10.
#define XSEM_REG_SYNC_FOC_FIFO_EMPTY_E5 0x1401170UL //Access:R DataWidth:0x1 // FOC FIFO empty indication.
#define XSEM_REG_SYNC_FOC_PRE_FETCH_FIFO_EMPTY_E5 0x1401174UL //Access:R DataWidth:0x1 // FOC pre fetch FIFO empty indication.
+#define XSEM_REG_FIC_PRE_FETCH_FIFO_EMPTY_E5 0x1401178UL //Access:R DataWidth:0x2 // FIC pre fetch FIFO empty indication. Bit0 - FIC0, BIT1 - FIC1.
+#define XSEM_REG_EXT_STORE_PRE_FETCH_FIFO_EMPTY_E5 0x140117cUL //Access:R DataWidth:0x2 // External Store pre fetch FIFO empty indication. Bit0 - Storm_A, BIT1 - Strom_B.
#define XSEM_REG_EXT_PAS_FULL 0x1401200UL //Access:R DataWidth:0x1 // EXT_PAS FIFO Full in sem_slow.
#define XSEM_REG_EXT_STORE_IF_FULL 0x1401204UL //Access:R DataWidth:0x1 // EXT_STORE IF is full in sem_slow_ls_ext.
#define XSEM_REG_FIC_FULL 0x1401220UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO full in sem_slow_fic.
@@ -77265,7 +80369,7 @@
#define XSEM_REG_INT_TABLE_SIZE 256
#define XSEM_REG_FIC_COUNTER_GROUP_E5 0x1411000UL //Access:RW DataWidth:0x8 // This field enables a RD/WR access to the 24 counters of the "FIC Counters".
#define XSEM_REG_FIC_COUNTER_GROUP_SIZE 24
-#define XSEM_REG_PB_THRD_STM_GROUP_E5 0x1412000UL //Access:R DataWidth:0x17 // Read the State mahcine state of teh trheads. 0:4 - state. 5 - pending ready. 7:6 - Affinity type. 8 - Destination FOC. 9 - Destination Storm. 10 - counter increment ready. 15:11 - counter index. 16 - Debug monitor enable. 17 - Exlucsive. 22:18 - DRA size.
+#define XSEM_REG_PB_THRD_STM_GROUP_E5 0x1412000UL //Access:R DataWidth:0x18 // Read the State mahcine state of teh trheads. 0:3 - state. 5:4 - Pending FOC cnt 6 - pending ready. 8:7 - Affinity type. 9 - Destination FOC. 10 - Destination Storm. 11 - counter increment ready. 16:12 - counter index. 17 - Debug monitor enable. 18 - Exlucsive. 22:19 - DRA size.
#define XSEM_REG_PB_THRD_STM_GROUP_SIZE 56
#define XSEM_REG_PASSIVE_BUFFER 0x1420000UL //Access:R DataWidth:0x20 // Passive buffer memory read only.
#define XSEM_REG_PASSIVE_BUFFER_SIZE_BB_K2 4320
@@ -77315,7 +80419,7 @@
#define YSEM_REG_ENABLE_OUT_STALL_ENABLE_OUT_BB_K2_SHIFT 5
#define YSEM_REG_FIC_DISABLE_BB_K2 0x150000cUL //Access:RW DataWidth:0x1 // Disables input messages from all FIC interfaces. May be updated during run_time by the microcode.
#define YSEM_REG_PAS_DISABLE_BB_K2 0x1500010UL //Access:RW DataWidth:0x1 // Disables input messages from the passive buffer May be updated during run_time by the microcode.
-#define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1500014UL //Access:RW DataWidth:0x17 // Multi Field Register.
+#define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1500014UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5 (0xf<<0) // Passive Buffer write WRR weight value for FIC source.
#define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5_SHIFT 0
#define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA RD A source.
@@ -77324,11 +80428,9 @@
#define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for SDM source.
#define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5_SHIFT 12
- #define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5_SHIFT 16
- #define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
- #define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 20
-#define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1500018UL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
+ #define YSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 16
+#define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1500018UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5 (0xf<<0) // Passive Buffer WRR weight value for FOC source.
#define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5_SHIFT 0
#define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA WR A source.
@@ -77337,11 +80439,9 @@
#define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for GRC source.
#define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5_SHIFT 12
- #define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5_SHIFT 16
- #define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
- #define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 20
-#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x150001cUL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
+ #define YSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 16
+#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x150001cUL //Access:RW DataWidth:0x13 // Multi Field Register.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-A source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5_SHIFT 0
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC1_A_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for FIC1-a (if exist) source.
@@ -77350,48 +80450,40 @@
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO0_A_WEIGHT_E5_SHIFT 8
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5 (0xf<<12) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-A source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5_SHIFT 12
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5_SHIFT 16
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 20
-#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1500020UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
+ #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 16
+#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1500020UL //Access:RW DataWidth:0xe // Multi Field Register.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-X source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5_SHIFT 0
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-X source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5_SHIFT 4
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-X source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5_SHIFT 8
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5_SHIFT 12
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 16
-#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1500024UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 12
+#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1500024UL //Access:RW DataWidth:0xe // Multi Field Register.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-B source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5_SHIFT 0
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-B source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5_SHIFT 4
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-B source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5_SHIFT 8
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5_SHIFT 12
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 16
-#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1500028UL //Access:RW DataWidth:0xe // Multi Field Register.
+ #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 12
+#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1500028UL //Access:RW DataWidth:0xf // Multi Field Register.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity A source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5_SHIFT 0
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5_SHIFT 8
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - AFFINITY A, 2- AFFINITY X.
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5_SHIFT 12
-#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x150002cUL //Access:RW DataWidth:0xc // Multi Field Register.
+ #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter3 will select with strict priority the threads assigned to Affinity A.
+ #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5_SHIFT 8
+#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x150002cUL //Access:RW DataWidth:0xf // Multi Field Register.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity B source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5_SHIFT 0
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5_SHIFT 8
+ #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter4 will select with strict priority the threads assigned to Affinity B.
+ #define YSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5_SHIFT 8
#define YSEM_REG_PASSIVE_BUFFER_DRA_WR_E5 0x1500030UL //Access:RW DataWidth:0x4 // Multi Field Register.
#define YSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5 (0x1<<0) // Enable DRA Write to transactions towards the SEM_PD Core A.
#define YSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5_SHIFT 0
@@ -77401,7 +80493,7 @@
#define YSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_PEND_BLOCK_EN_E5_SHIFT 2
#define YSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5 (0x1<<3) // When set, the Affintiy field of the thread is set to CoreA (regardless to the Afficnity received from CM).
#define YSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5_SHIFT 3
-#define YSEM_REG_INT_STS_0 0x1500040UL //Access:R DataWidth:0x20 // Multi Field Register.
+#define YSEM_REG_INT_STS_0 0x1500040UL //Access:R DataWidth:0x1f // Multi Field Register.
#define YSEM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define YSEM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define YSEM_REG_INT_STS_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -77410,9 +80502,9 @@
#define YSEM_REG_INT_STS_0_FIC_LENGTH_ERROR_SHIFT 2
#define YSEM_REG_INT_STS_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define YSEM_REG_INT_STS_0_FIC_FIFO_ERROR_SHIFT 3
- #define YSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define YSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define YSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define YSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define YSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define YSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define YSEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define YSEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -77422,58 +80514,52 @@
#define YSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define YSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define YSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define YSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define YSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define YSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define YSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define YSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define YSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define YSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define YSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define YSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define YSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define YSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define YSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define YSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define YSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define YSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define YSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define YSEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define YSEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define YSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define YSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define YSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define YSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define YSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define YSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define YSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define YSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define YSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define YSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define YSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define YSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define YSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define YSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define YSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define YSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define YSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define YSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define YSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define YSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define YSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define YSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define YSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define YSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define YSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define YSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define YSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define YSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define YSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define YSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define YSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define YSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define YSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define YSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define YSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define YSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define YSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define YSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define YSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define YSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define YSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define YSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define YSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define YSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define YSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define YSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define YSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define YSEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define YSEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define YSEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define YSEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define YSEM_REG_INT_STS_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -77510,19 +80596,23 @@
#define YSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define YSEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define YSEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define YSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define YSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define YSEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define YSEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define YSEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define YSEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define YSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define YSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define YSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define YSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define YSEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define YSEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define YSEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define YSEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define YSEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define YSEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define YSEM_REG_INT_MASK_0 0x1500044UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define YSEM_REG_INT_MASK_0 0x1500044UL //Access:RW DataWidth:0x1f // Multi Field Register.
#define YSEM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.ADDRESS_ERROR .
#define YSEM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define YSEM_REG_INT_MASK_0_FIC_LAST_ERROR (0x1<<1) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.FIC_LAST_ERROR .
@@ -77543,58 +80633,52 @@
#define YSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define YSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_EXT_LOAD_PUSH_ERROR_B .
#define YSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
#define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
- #define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
+ #define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define YSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
#define YSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define YSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
- #define YSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define YSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
- #define YSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define YSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
- #define YSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define YSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define YSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define YSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define YSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define YSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
- #define YSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define YSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
- #define YSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define YSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
- #define YSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define YSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
- #define YSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define YSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
- #define YSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define YSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
- #define YSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define YSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
- #define YSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define YSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
- #define YSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define YSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
- #define YSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
- #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define YSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
- #define YSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define YSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
+ #define YSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define YSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
+ #define YSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define YSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
+ #define YSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define YSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
+ #define YSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define YSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
+ #define YSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define YSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
+ #define YSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define YSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
+ #define YSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define YSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
+ #define YSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define YSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
+ #define YSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define YSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
+ #define YSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define YSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
+ #define YSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define YSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
+ #define YSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
+ #define YSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define YSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
+ #define YSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define YSEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.FIC_PRE_FETCH_FIFO_ERROR .
+ #define YSEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define YSEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.PAS_BUF_FIFO_ERROR .
#define YSEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define YSEM_REG_INT_MASK_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_FIN_POP_ERROR .
@@ -77631,19 +80715,23 @@
#define YSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define YSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_EXT_LOAD_POP_ERROR .
#define YSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
+ #define YSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define YSEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_RAM_WR_POP_ERROR .
#define YSEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define YSEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_DBG_PUSH_ERROR .
#define YSEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define YSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR .
#define YSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define YSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
+ #define YSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define YSEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.CAM_MSB2_INP_FIFO .
#define YSEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define YSEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.VFC_INTERRUPT .
#define YSEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define YSEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // This bit masks, when set, the Interrupt bit: YSEM_REG_INT_STS_0.VFC_OUT_FIFO_ERROR .
#define YSEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define YSEM_REG_INT_STS_WR_0 0x1500048UL //Access:WR DataWidth:0x20 // Multi Field Register.
+#define YSEM_REG_INT_STS_WR_0 0x1500048UL //Access:WR DataWidth:0x1f // Multi Field Register.
#define YSEM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define YSEM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define YSEM_REG_INT_STS_WR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -77652,9 +80740,9 @@
#define YSEM_REG_INT_STS_WR_0_FIC_LENGTH_ERROR_SHIFT 2
#define YSEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define YSEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR_SHIFT 3
- #define YSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define YSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define YSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define YSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define YSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define YSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define YSEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define YSEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -77664,58 +80752,52 @@
#define YSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define YSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define YSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define YSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define YSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define YSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define YSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define YSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define YSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define YSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define YSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define YSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define YSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define YSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define YSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define YSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define YSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define YSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define YSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define YSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define YSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define YSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define YSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define YSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define YSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define YSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define YSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define YSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define YSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define YSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define YSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define YSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define YSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define YSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define YSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define YSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define YSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define YSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define YSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define YSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define YSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define YSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define YSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define YSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define YSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define YSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define YSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define YSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define YSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define YSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define YSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define YSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define YSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define YSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define YSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define YSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define YSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define YSEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define YSEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define YSEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define YSEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define YSEM_REG_INT_STS_WR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -77752,19 +80834,23 @@
#define YSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define YSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define YSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define YSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define YSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define YSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define YSEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define YSEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define YSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define YSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define YSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define YSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define YSEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define YSEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define YSEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define YSEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define YSEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define YSEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define YSEM_REG_INT_STS_CLR_0 0x150004cUL //Access:RC DataWidth:0x20 // Multi Field Register.
+#define YSEM_REG_INT_STS_CLR_0 0x150004cUL //Access:RC DataWidth:0x1f // Multi Field Register.
#define YSEM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define YSEM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define YSEM_REG_INT_STS_CLR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -77773,9 +80859,9 @@
#define YSEM_REG_INT_STS_CLR_0_FIC_LENGTH_ERROR_SHIFT 2
#define YSEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define YSEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR_SHIFT 3
- #define YSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define YSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define YSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define YSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define YSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define YSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define YSEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define YSEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -77785,58 +80871,52 @@
#define YSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define YSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define YSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define YSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define YSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define YSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define YSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define YSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define YSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define YSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define YSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define YSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define YSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define YSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define YSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define YSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define YSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define YSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define YSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define YSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define YSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define YSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define YSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define YSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define YSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define YSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define YSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define YSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define YSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define YSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define YSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define YSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define YSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define YSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define YSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define YSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define YSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define YSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define YSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define YSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define YSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define YSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define YSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define YSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define YSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define YSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define YSEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define YSEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define YSEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define YSEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define YSEM_REG_INT_STS_CLR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -77873,12 +80953,16 @@
#define YSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define YSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define YSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define YSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define YSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define YSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define YSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define YSEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define YSEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define YSEM_REG_INT_STS_CLR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
@@ -78501,13 +81585,21 @@
#define YSEM_REG_INT_STS_CLR_2_FIN_GRC_IOR_MAP_OUT_OF_RANGE_ERROR_B_E5_SHIFT 29
#define YSEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5 (0x1<<30) // This error indicates on an unalligned wire access to PRAM via SDM.
#define YSEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5_SHIFT 30
-#define YSEM_REG_PRTY_MASK 0x15000ccUL //Access:RW DataWidth:0x3 // Multi Field Register.
+#define YSEM_REG_PRTY_MASK 0x15000ccUL //Access:RW DataWidth:0x5 // Multi Field Register.
#define YSEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR (0x1<<0) // This bit masks, when set, the Parity bit: YSEM_REG_PRTY_STS.VFC_RBC_PARITY_ERROR .
#define YSEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR_SHIFT 0
- #define YSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR (0x1<<1) // This bit masks, when set, the Parity bit: YSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
- #define YSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_SHIFT 1
- #define YSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR (0x1<<2) // This bit masks, when set, the Parity bit: YSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
- #define YSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_SHIFT 2
+ #define YSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5 (0x1<<1) // This bit masks, when set, the Parity bit: YSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_A .
+ #define YSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5_SHIFT 1
+ #define YSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5 (0x1<<2) // This bit masks, when set, the Parity bit: YSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_B .
+ #define YSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5_SHIFT 2
+ #define YSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: YSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define YSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2_SHIFT 2
+ #define YSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5 (0x1<<3) // This bit masks, when set, the Parity bit: YSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define YSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5_SHIFT 3
+ #define YSEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5 (0x1<<4) // This bit masks, when set, the Parity bit: YSEM_REG_PRTY_STS.PRAM_PARITY_ERROR .
+ #define YSEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5_SHIFT 4
+ #define YSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: YSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
+ #define YSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2_SHIFT 1
#define YSEM_REG_PRTY_MASK_H_0_BB_K2 0x1500204UL //Access:RW DataWidth:0x7 // Multi Field Register.
#define YSEM_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: YSEM_REG_PRTY_STS_H_0.MEM006_I_ECC_0_RF_INT .
#define YSEM_REG_PRTY_MASK_H_0_MEM006_I_ECC_0_RF_INT_BB_K2_SHIFT 0
@@ -78578,14 +81670,14 @@
#define YSEM_REG_ARB_AS_DEF_SIZE 32
#define YSEM_REG_ARB_TS_AS_BB_K2 0x1500a80UL //Access:RW DataWidth:0x2 // Register array that defines the main DRA arbiter arbitration scheme for each of 20 time slots [0-19].
#define YSEM_REG_ARB_TS_AS_SIZE 20
-#define YSEM_REG_NUM_OF_THREADS 0x1500b00UL //Access:R DataWidth:0x8 // The number of currently free threads (in invalid state).
+#define YSEM_REG_NUM_OF_THREADS 0x1500b00UL //Access:R DataWidth:0x6 // The number of currently free threads (in invalid state).
#define YSEM_REG_THREAD_ERROR_LOW_E5 0x1500b04UL //Access:R DataWidth:0x20 // Thread error low indication. Represents threads 31 -0
#define YSEM_REG_THREAD_ERROR_BB_K2 0x1500b04UL //Access:R DataWidth:0xe // Thread error indication.
#define YSEM_REG_THREAD_RDY_BB_K2 0x1500b08UL //Access:R DataWidth:0xe // Thread ready indication.
#define YSEM_REG_THREAD_SET_NUM 0x1500b0cUL //Access:W DataWidth:0x6 // Thread ID. Write thread ID will set ready indication for this thread ID.
#define YSEM_REG_THREAD_VALID_BB_K2 0x1500b10UL //Access:R DataWidth:0xe // Valid sleeping threads.
#define YSEM_REG_THREADS_LIST_BB_K2 0x1500b14UL //Access:RW DataWidth:0xe // List of free threads.
-#define YSEM_REG_THREAD_NUMBER_E5 0x1500b18UL //Access:RW DataWidth:0x8 // Defines the maixmum number of supported threads in SEMI.
+#define YSEM_REG_THREAD_NUMBER_E5 0x1500b18UL //Access:RW DataWidth:0x6 // Defines the maixmum number of supported threads in SEMI.
#define YSEM_REG_THREAD_ERROR_HIGH_E5 0x1500b1cUL //Access:R DataWidth:0x18 // Thread error high indication. Represents threads 55-32
#define YSEM_REG_FOC_MIN_MESSAGE_CREDIT_E5 0x1500b40UL //Access:RW DataWidth:0x8 // This field defines for each FOC the minimum message reuired for the FOC transfer to start.
#define YSEM_REG_FOC_MIN_MESSAGE_CREDIT_SIZE 6
@@ -78607,11 +81699,12 @@
#define YSEM_REG_SYNC_FOC_FIFO_WR_ALM_FULL_E5 0x1501010UL //Access:RW DataWidth:0x4 // Almost full for indication for FOC Sync FIFO.
#define YSEM_REG_SYNC_SDM_READY_FIFO_WR_ALM_FULL_E5 0x1501014UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM READY FIFO.
#define YSEM_REG_SYNC_SDM_INC_FIFO_WR_ALM_FULL_E5 0x1501018UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM Counter Increment FIFO.
-#define YSEM_REG_STALL_ON_INT_E5 0x150101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Both cluster Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
+#define YSEM_REG_STALL_ON_INT_E5 0x150101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Only SEMI's Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
#define YSEM_REG_FIC0_A_MAX_THRDS_E5 0x1501020UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 A queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define YSEM_REG_FIC0_X_MAX_THRDS_E5 0x1501024UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 X queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define YSEM_REG_FIC0_B_MAX_THRDS_E5 0x1501028UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 B queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define YSEM_REG_FIC1_A_MAX_THRDS_E5 0x150102cUL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC1 A queue. If FIC1 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
+#define YSEM_REG_STALL_ON_BREAKPOINT_E5 0x1501030UL //Access:RW DataWidth:0x1 // 0 - No external stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access). 1 - External stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access).
#define YSEM_REG_DRA_EMPTY_BB_K2 0x1501100UL //Access:R DataWidth:0x1 // Dra_empty.
#define YSEM_REG_EXT_PAS_EMPTY 0x1501104UL //Access:R DataWidth:0x1 // EXT_PAS FIFO empty in sem_slow.
#define YSEM_REG_FIC_EMPTY 0x1501120UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO empty in sem_slow_fic.
@@ -78620,9 +81713,9 @@
#define YSEM_REG_SLOW_DRA_FIN_EMPTY_BB_K2 0x1501144UL //Access:R DataWidth:0x1 // FIN fifo is empty in sem_slow_dra_sync.
#define YSEM_REG_SLOW_DRA_RD_EMPTY_BB_K2 0x1501148UL //Access:R DataWidth:0x1 // DRA_RD pop fifo is empty in sem_slow_dra_sync.
#define YSEM_REG_SLOW_DRA_WR_EMPTY_BB_K2 0x150114cUL //Access:R DataWidth:0x1 // DRA_WR push fifo is empty in sem_slow_dra_sync.
-#define YSEM_REG_SLOW_EXT_STORE_EMPTY 0x1501150UL //Access:R DataWidth:0x1 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
+#define YSEM_REG_SLOW_EXT_STORE_EMPTY 0x1501150UL //Access:R DataWidth:0x2 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
#define YSEM_REG_SLOW_EXT_LOAD_EMPTY 0x1501154UL //Access:R DataWidth:0x2 // EXT_LOAD FIFO is empty in sem_slow_ls_ext, bit 0 FIFO of Core A, bit 1 FIFO of Core B.
-#define YSEM_REG_SLOW_RAM_RD_EMPTY 0x1501158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
+#define YSEM_REG_SLOW_RAM_RD_EMPTY_BB_K2 0x1501158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
#define YSEM_REG_SLOW_RAM_WR_EMPTY 0x150115cUL //Access:R DataWidth:0x1 // EXT_WR_RAM FIFO is empty in sem_slow_ls_ext.
#define YSEM_REG_SYNC_DBG_EMPTY 0x1501160UL //Access:R DataWidth:0x2 // DBG FAST SYNC FIFO is empty in sem_slow_ls_sync. Bit0 - FOR debug FIFO of Core A. Bit1 - FOR debug FIFO of Core B
#define YSEM_REG_THREAD_FIFO_EMPTY_BB_K2 0x1501164UL //Access:R DataWidth:0x1 // Indicates that the thread fifo is empty in sem_slow_dra_wr.
@@ -78630,6 +81723,8 @@
#define YSEM_REG_PB_QUEUE_EMPTY_E5 0x150116cUL //Access:R DataWidth:0xb // If 1, the correspongding Queue is empty. Queues numeration: FOC_FIFO_IF - 0, FIC0_FIFO_A - 1, FIC1_FIFO_A - 2, WAKE_FIFO_PRIO_A - 3, WAKE_FIFO_PRI1_A - 4, FIC0_FIFO_X - 5, WAKE_FIFO_PRIO_X - 6, WAKE_FIFO_PRI1_X - 7,FIC0_FIFO_B - 8, WAKE_FIFO_PRIO_B - 9, WAKE_FIFO_PRI1_B - 10.
#define YSEM_REG_SYNC_FOC_FIFO_EMPTY_E5 0x1501170UL //Access:R DataWidth:0x1 // FOC FIFO empty indication.
#define YSEM_REG_SYNC_FOC_PRE_FETCH_FIFO_EMPTY_E5 0x1501174UL //Access:R DataWidth:0x1 // FOC pre fetch FIFO empty indication.
+#define YSEM_REG_FIC_PRE_FETCH_FIFO_EMPTY_E5 0x1501178UL //Access:R DataWidth:0x2 // FIC pre fetch FIFO empty indication. Bit0 - FIC0, BIT1 - FIC1.
+#define YSEM_REG_EXT_STORE_PRE_FETCH_FIFO_EMPTY_E5 0x150117cUL //Access:R DataWidth:0x2 // External Store pre fetch FIFO empty indication. Bit0 - Storm_A, BIT1 - Strom_B.
#define YSEM_REG_EXT_PAS_FULL 0x1501200UL //Access:R DataWidth:0x1 // EXT_PAS FIFO Full in sem_slow.
#define YSEM_REG_EXT_STORE_IF_FULL 0x1501204UL //Access:R DataWidth:0x1 // EXT_STORE IF is full in sem_slow_ls_ext.
#define YSEM_REG_FIC_FULL 0x1501220UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO full in sem_slow_fic.
@@ -78696,7 +81791,7 @@
#define YSEM_REG_INT_TABLE_SIZE 256
#define YSEM_REG_FIC_COUNTER_GROUP_E5 0x1511000UL //Access:RW DataWidth:0x8 // This field enables a RD/WR access to the 24 counters of the "FIC Counters".
#define YSEM_REG_FIC_COUNTER_GROUP_SIZE 24
-#define YSEM_REG_PB_THRD_STM_GROUP_E5 0x1512000UL //Access:R DataWidth:0x17 // Read the State mahcine state of teh trheads. 0:4 - state. 5 - pending ready. 7:6 - Affinity type. 8 - Destination FOC. 9 - Destination Storm. 10 - counter increment ready. 15:11 - counter index. 16 - Debug monitor enable. 17 - Exlucsive. 22:18 - DRA size.
+#define YSEM_REG_PB_THRD_STM_GROUP_E5 0x1512000UL //Access:R DataWidth:0x18 // Read the State mahcine state of teh trheads. 0:3 - state. 5:4 - Pending FOC cnt 6 - pending ready. 8:7 - Affinity type. 9 - Destination FOC. 10 - Destination Storm. 11 - counter increment ready. 16:12 - counter index. 17 - Debug monitor enable. 18 - Exlucsive. 22:19 - DRA size.
#define YSEM_REG_PB_THRD_STM_GROUP_SIZE 56
#define YSEM_REG_PASSIVE_BUFFER 0x1520000UL //Access:R DataWidth:0x20 // Passive buffer memory read only.
#define YSEM_REG_PASSIVE_BUFFER_SIZE_BB_K2 2520
@@ -78747,7 +81842,7 @@
#define PSEM_REG_ENABLE_OUT_STALL_ENABLE_OUT_BB_K2_SHIFT 5
#define PSEM_REG_FIC_DISABLE_BB_K2 0x160000cUL //Access:RW DataWidth:0x1 // Disables input messages from all FIC interfaces. May be updated during run_time by the microcode.
#define PSEM_REG_PAS_DISABLE_BB_K2 0x1600010UL //Access:RW DataWidth:0x1 // Disables input messages from the passive buffer May be updated during run_time by the microcode.
-#define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1600014UL //Access:RW DataWidth:0x17 // Multi Field Register.
+#define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1600014UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5 (0xf<<0) // Passive Buffer write WRR weight value for FIC source.
#define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5_SHIFT 0
#define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA RD A source.
@@ -78756,11 +81851,9 @@
#define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for SDM source.
#define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5_SHIFT 12
- #define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5_SHIFT 16
- #define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
- #define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 20
-#define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1600018UL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
+ #define PSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 16
+#define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1600018UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5 (0xf<<0) // Passive Buffer WRR weight value for FOC source.
#define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5_SHIFT 0
#define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA WR A source.
@@ -78769,11 +81862,9 @@
#define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for GRC source.
#define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5_SHIFT 12
- #define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5_SHIFT 16
- #define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
- #define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 20
-#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x160001cUL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
+ #define PSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 16
+#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x160001cUL //Access:RW DataWidth:0x13 // Multi Field Register.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-A source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5_SHIFT 0
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC1_A_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for FIC1-a (if exist) source.
@@ -78782,48 +81873,40 @@
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO0_A_WEIGHT_E5_SHIFT 8
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5 (0xf<<12) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-A source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5_SHIFT 12
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5_SHIFT 16
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 20
-#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1600020UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
+ #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 16
+#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1600020UL //Access:RW DataWidth:0xe // Multi Field Register.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-X source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5_SHIFT 0
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-X source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5_SHIFT 4
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-X source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5_SHIFT 8
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5_SHIFT 12
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 16
-#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1600024UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 12
+#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1600024UL //Access:RW DataWidth:0xe // Multi Field Register.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-B source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5_SHIFT 0
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-B source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5_SHIFT 4
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-B source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5_SHIFT 8
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5_SHIFT 12
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 16
-#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1600028UL //Access:RW DataWidth:0xe // Multi Field Register.
+ #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 12
+#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1600028UL //Access:RW DataWidth:0xf // Multi Field Register.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity A source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5_SHIFT 0
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5_SHIFT 8
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - AFFINITY A, 2- AFFINITY X.
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5_SHIFT 12
-#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x160002cUL //Access:RW DataWidth:0xc // Multi Field Register.
+ #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter3 will select with strict priority the threads assigned to Affinity A.
+ #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5_SHIFT 8
+#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x160002cUL //Access:RW DataWidth:0xf // Multi Field Register.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity B source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5_SHIFT 0
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5_SHIFT 8
+ #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter4 will select with strict priority the threads assigned to Affinity B.
+ #define PSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5_SHIFT 8
#define PSEM_REG_PASSIVE_BUFFER_DRA_WR_E5 0x1600030UL //Access:RW DataWidth:0x4 // Multi Field Register.
#define PSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5 (0x1<<0) // Enable DRA Write to transactions towards the SEM_PD Core A.
#define PSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5_SHIFT 0
@@ -78833,7 +81916,7 @@
#define PSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_PEND_BLOCK_EN_E5_SHIFT 2
#define PSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5 (0x1<<3) // When set, the Affintiy field of the thread is set to CoreA (regardless to the Afficnity received from CM).
#define PSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5_SHIFT 3
-#define PSEM_REG_INT_STS_0 0x1600040UL //Access:R DataWidth:0x20 // Multi Field Register.
+#define PSEM_REG_INT_STS_0 0x1600040UL //Access:R DataWidth:0x1f // Multi Field Register.
#define PSEM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSEM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define PSEM_REG_INT_STS_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -78842,9 +81925,9 @@
#define PSEM_REG_INT_STS_0_FIC_LENGTH_ERROR_SHIFT 2
#define PSEM_REG_INT_STS_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define PSEM_REG_INT_STS_0_FIC_FIFO_ERROR_SHIFT 3
- #define PSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define PSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define PSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define PSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define PSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define PSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define PSEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define PSEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -78854,58 +81937,52 @@
#define PSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define PSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define PSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define PSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define PSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define PSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define PSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define PSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define PSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define PSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define PSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define PSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define PSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define PSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define PSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define PSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define PSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define PSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define PSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define PSEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define PSEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define PSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define PSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define PSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define PSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define PSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define PSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define PSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define PSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define PSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define PSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define PSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define PSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define PSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define PSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define PSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define PSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define PSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define PSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define PSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define PSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define PSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define PSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define PSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define PSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define PSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define PSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define PSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define PSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define PSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define PSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define PSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define PSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define PSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define PSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define PSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define PSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define PSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define PSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define PSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define PSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define PSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define PSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define PSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define PSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define PSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define PSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define PSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define PSEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define PSEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define PSEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define PSEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define PSEM_REG_INT_STS_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -78942,19 +82019,23 @@
#define PSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define PSEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define PSEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define PSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define PSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define PSEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define PSEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define PSEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define PSEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define PSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define PSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define PSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define PSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define PSEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define PSEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define PSEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define PSEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define PSEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define PSEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define PSEM_REG_INT_MASK_0 0x1600044UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define PSEM_REG_INT_MASK_0 0x1600044UL //Access:RW DataWidth:0x1f // Multi Field Register.
#define PSEM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.ADDRESS_ERROR .
#define PSEM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define PSEM_REG_INT_MASK_0_FIC_LAST_ERROR (0x1<<1) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.FIC_LAST_ERROR .
@@ -78975,58 +82056,52 @@
#define PSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define PSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_EXT_LOAD_PUSH_ERROR_B .
#define PSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
#define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
- #define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
+ #define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define PSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
#define PSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define PSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
- #define PSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define PSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
- #define PSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define PSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
- #define PSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define PSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define PSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define PSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define PSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define PSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
- #define PSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define PSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
- #define PSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define PSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
- #define PSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define PSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
- #define PSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define PSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
- #define PSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define PSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
- #define PSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define PSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
- #define PSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define PSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
- #define PSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define PSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
- #define PSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
- #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define PSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
- #define PSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define PSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
+ #define PSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define PSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
+ #define PSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define PSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
+ #define PSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define PSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
+ #define PSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define PSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
+ #define PSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define PSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
+ #define PSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define PSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
+ #define PSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define PSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
+ #define PSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define PSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
+ #define PSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define PSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
+ #define PSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define PSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
+ #define PSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define PSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
+ #define PSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
+ #define PSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define PSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
+ #define PSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define PSEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.FIC_PRE_FETCH_FIFO_ERROR .
+ #define PSEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define PSEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.PAS_BUF_FIFO_ERROR .
#define PSEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define PSEM_REG_INT_MASK_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_FIN_POP_ERROR .
@@ -79063,19 +82138,23 @@
#define PSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define PSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_EXT_LOAD_POP_ERROR .
#define PSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
+ #define PSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define PSEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_RAM_WR_POP_ERROR .
#define PSEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define PSEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_DBG_PUSH_ERROR .
#define PSEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define PSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR .
#define PSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define PSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
+ #define PSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define PSEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.CAM_MSB2_INP_FIFO .
#define PSEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define PSEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.VFC_INTERRUPT .
#define PSEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define PSEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // This bit masks, when set, the Interrupt bit: PSEM_REG_INT_STS_0.VFC_OUT_FIFO_ERROR .
#define PSEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define PSEM_REG_INT_STS_WR_0 0x1600048UL //Access:WR DataWidth:0x20 // Multi Field Register.
+#define PSEM_REG_INT_STS_WR_0 0x1600048UL //Access:WR DataWidth:0x1f // Multi Field Register.
#define PSEM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSEM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define PSEM_REG_INT_STS_WR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -79084,9 +82163,9 @@
#define PSEM_REG_INT_STS_WR_0_FIC_LENGTH_ERROR_SHIFT 2
#define PSEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define PSEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR_SHIFT 3
- #define PSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define PSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define PSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define PSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define PSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define PSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define PSEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define PSEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -79096,58 +82175,52 @@
#define PSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define PSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define PSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define PSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define PSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define PSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define PSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define PSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define PSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define PSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define PSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define PSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define PSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define PSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define PSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define PSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define PSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define PSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define PSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define PSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define PSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define PSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define PSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define PSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define PSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define PSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define PSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define PSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define PSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define PSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define PSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define PSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define PSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define PSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define PSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define PSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define PSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define PSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define PSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define PSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define PSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define PSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define PSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define PSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define PSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define PSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define PSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define PSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define PSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define PSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define PSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define PSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define PSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define PSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define PSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define PSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define PSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define PSEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define PSEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define PSEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define PSEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define PSEM_REG_INT_STS_WR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -79184,19 +82257,23 @@
#define PSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define PSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define PSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define PSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define PSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define PSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define PSEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define PSEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define PSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define PSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define PSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define PSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define PSEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define PSEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define PSEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define PSEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define PSEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define PSEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define PSEM_REG_INT_STS_CLR_0 0x160004cUL //Access:RC DataWidth:0x20 // Multi Field Register.
+#define PSEM_REG_INT_STS_CLR_0 0x160004cUL //Access:RC DataWidth:0x1f // Multi Field Register.
#define PSEM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define PSEM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define PSEM_REG_INT_STS_CLR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -79205,9 +82282,9 @@
#define PSEM_REG_INT_STS_CLR_0_FIC_LENGTH_ERROR_SHIFT 2
#define PSEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define PSEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR_SHIFT 3
- #define PSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define PSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define PSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define PSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define PSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define PSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define PSEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define PSEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -79217,58 +82294,52 @@
#define PSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define PSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define PSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define PSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define PSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define PSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define PSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define PSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define PSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define PSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define PSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define PSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define PSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define PSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define PSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define PSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define PSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define PSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define PSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define PSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define PSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define PSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define PSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define PSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define PSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define PSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define PSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define PSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define PSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define PSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define PSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define PSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define PSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define PSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define PSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define PSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define PSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define PSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define PSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define PSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define PSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define PSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define PSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define PSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define PSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define PSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define PSEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define PSEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define PSEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define PSEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define PSEM_REG_INT_STS_CLR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -79305,12 +82376,16 @@
#define PSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define PSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define PSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define PSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define PSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define PSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define PSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define PSEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define PSEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define PSEM_REG_INT_STS_CLR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
@@ -79933,13 +83008,21 @@
#define PSEM_REG_INT_STS_CLR_2_FIN_GRC_IOR_MAP_OUT_OF_RANGE_ERROR_B_E5_SHIFT 29
#define PSEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5 (0x1<<30) // This error indicates on an unalligned wire access to PRAM via SDM.
#define PSEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5_SHIFT 30
-#define PSEM_REG_PRTY_MASK 0x16000ccUL //Access:RW DataWidth:0x3 // Multi Field Register.
+#define PSEM_REG_PRTY_MASK 0x16000ccUL //Access:RW DataWidth:0x5 // Multi Field Register.
#define PSEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR (0x1<<0) // This bit masks, when set, the Parity bit: PSEM_REG_PRTY_STS.VFC_RBC_PARITY_ERROR .
#define PSEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR_SHIFT 0
- #define PSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR (0x1<<1) // This bit masks, when set, the Parity bit: PSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
- #define PSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_SHIFT 1
- #define PSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR (0x1<<2) // This bit masks, when set, the Parity bit: PSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
- #define PSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_SHIFT 2
+ #define PSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5 (0x1<<1) // This bit masks, when set, the Parity bit: PSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_A .
+ #define PSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5_SHIFT 1
+ #define PSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5 (0x1<<2) // This bit masks, when set, the Parity bit: PSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_B .
+ #define PSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5_SHIFT 2
+ #define PSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: PSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define PSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2_SHIFT 2
+ #define PSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5 (0x1<<3) // This bit masks, when set, the Parity bit: PSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define PSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5_SHIFT 3
+ #define PSEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5 (0x1<<4) // This bit masks, when set, the Parity bit: PSEM_REG_PRTY_STS.PRAM_PARITY_ERROR .
+ #define PSEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5_SHIFT 4
+ #define PSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: PSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
+ #define PSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2_SHIFT 1
#define PSEM_REG_PRTY_MASK_H_0_BB_K2 0x1600204UL //Access:RW DataWidth:0x6 // Multi Field Register.
#define PSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: PSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
#define PSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 0
@@ -80007,14 +83090,14 @@
#define PSEM_REG_ARB_AS_DEF_SIZE 32
#define PSEM_REG_ARB_TS_AS_BB_K2 0x1600a80UL //Access:RW DataWidth:0x2 // Register array that defines the main DRA arbiter arbitration scheme for each of 20 time slots [0-19].
#define PSEM_REG_ARB_TS_AS_SIZE 20
-#define PSEM_REG_NUM_OF_THREADS 0x1600b00UL //Access:R DataWidth:0x8 // The number of currently free threads (in invalid state).
+#define PSEM_REG_NUM_OF_THREADS 0x1600b00UL //Access:R DataWidth:0x6 // The number of currently free threads (in invalid state).
#define PSEM_REG_THREAD_ERROR_LOW_E5 0x1600b04UL //Access:R DataWidth:0x20 // Thread error low indication. Represents threads 31 -0
#define PSEM_REG_THREAD_ERROR_BB_K2 0x1600b04UL //Access:R DataWidth:0x4 // Thread error indication.
#define PSEM_REG_THREAD_RDY_BB_K2 0x1600b08UL //Access:R DataWidth:0x4 // Thread ready indication.
#define PSEM_REG_THREAD_SET_NUM 0x1600b0cUL //Access:W DataWidth:0x6 // Thread ID. Write thread ID will set ready indication for this thread ID.
#define PSEM_REG_THREAD_VALID_BB_K2 0x1600b10UL //Access:R DataWidth:0x4 // Valid sleeping threads.
#define PSEM_REG_THREADS_LIST_BB_K2 0x1600b14UL //Access:RW DataWidth:0x4 // List of free threads.
-#define PSEM_REG_THREAD_NUMBER_E5 0x1600b18UL //Access:RW DataWidth:0x8 // Defines the maixmum number of supported threads in SEMI.
+#define PSEM_REG_THREAD_NUMBER_E5 0x1600b18UL //Access:RW DataWidth:0x6 // Defines the maixmum number of supported threads in SEMI.
#define PSEM_REG_THREAD_ERROR_HIGH_E5 0x1600b1cUL //Access:R DataWidth:0x18 // Thread error high indication. Represents threads 55-32
#define PSEM_REG_FOC_MIN_MESSAGE_CREDIT_E5 0x1600b40UL //Access:RW DataWidth:0x8 // This field defines for each FOC the minimum message reuired for the FOC transfer to start.
#define PSEM_REG_FOC_MIN_MESSAGE_CREDIT_SIZE 2
@@ -80036,11 +83119,12 @@
#define PSEM_REG_SYNC_FOC_FIFO_WR_ALM_FULL_E5 0x1601010UL //Access:RW DataWidth:0x4 // Almost full for indication for FOC Sync FIFO.
#define PSEM_REG_SYNC_SDM_READY_FIFO_WR_ALM_FULL_E5 0x1601014UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM READY FIFO.
#define PSEM_REG_SYNC_SDM_INC_FIFO_WR_ALM_FULL_E5 0x1601018UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM Counter Increment FIFO.
-#define PSEM_REG_STALL_ON_INT_E5 0x160101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Both cluster Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
+#define PSEM_REG_STALL_ON_INT_E5 0x160101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Only SEMI's Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
#define PSEM_REG_FIC0_A_MAX_THRDS_E5 0x1601020UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 A queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define PSEM_REG_FIC0_X_MAX_THRDS_E5 0x1601024UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 X queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define PSEM_REG_FIC0_B_MAX_THRDS_E5 0x1601028UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 B queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define PSEM_REG_FIC1_A_MAX_THRDS_E5 0x160102cUL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC1 A queue. If FIC1 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
+#define PSEM_REG_STALL_ON_BREAKPOINT_E5 0x1601030UL //Access:RW DataWidth:0x1 // 0 - No external stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access). 1 - External stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access).
#define PSEM_REG_DRA_EMPTY_BB_K2 0x1601100UL //Access:R DataWidth:0x1 // Dra_empty.
#define PSEM_REG_EXT_PAS_EMPTY 0x1601104UL //Access:R DataWidth:0x1 // EXT_PAS FIFO empty in sem_slow.
#define PSEM_REG_FIC_EMPTY 0x1601120UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO empty in sem_slow_fic.
@@ -80048,9 +83132,9 @@
#define PSEM_REG_SLOW_DRA_FIN_EMPTY_BB_K2 0x1601144UL //Access:R DataWidth:0x1 // FIN fifo is empty in sem_slow_dra_sync.
#define PSEM_REG_SLOW_DRA_RD_EMPTY_BB_K2 0x1601148UL //Access:R DataWidth:0x1 // DRA_RD pop fifo is empty in sem_slow_dra_sync.
#define PSEM_REG_SLOW_DRA_WR_EMPTY_BB_K2 0x160114cUL //Access:R DataWidth:0x1 // DRA_WR push fifo is empty in sem_slow_dra_sync.
-#define PSEM_REG_SLOW_EXT_STORE_EMPTY 0x1601150UL //Access:R DataWidth:0x1 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
+#define PSEM_REG_SLOW_EXT_STORE_EMPTY 0x1601150UL //Access:R DataWidth:0x2 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
#define PSEM_REG_SLOW_EXT_LOAD_EMPTY 0x1601154UL //Access:R DataWidth:0x2 // EXT_LOAD FIFO is empty in sem_slow_ls_ext, bit 0 FIFO of Core A, bit 1 FIFO of Core B.
-#define PSEM_REG_SLOW_RAM_RD_EMPTY 0x1601158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
+#define PSEM_REG_SLOW_RAM_RD_EMPTY_BB_K2 0x1601158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
#define PSEM_REG_SLOW_RAM_WR_EMPTY 0x160115cUL //Access:R DataWidth:0x1 // EXT_WR_RAM FIFO is empty in sem_slow_ls_ext.
#define PSEM_REG_SYNC_DBG_EMPTY 0x1601160UL //Access:R DataWidth:0x2 // DBG FAST SYNC FIFO is empty in sem_slow_ls_sync. Bit0 - FOR debug FIFO of Core A. Bit1 - FOR debug FIFO of Core B
#define PSEM_REG_THREAD_FIFO_EMPTY_BB_K2 0x1601164UL //Access:R DataWidth:0x1 // Indicates that the thread fifo is empty in sem_slow_dra_wr.
@@ -80058,6 +83142,8 @@
#define PSEM_REG_PB_QUEUE_EMPTY_E5 0x160116cUL //Access:R DataWidth:0xb // If 1, the correspongding Queue is empty. Queues numeration: FOC_FIFO_IF - 0, FIC0_FIFO_A - 1, FIC1_FIFO_A - 2, WAKE_FIFO_PRIO_A - 3, WAKE_FIFO_PRI1_A - 4, FIC0_FIFO_X - 5, WAKE_FIFO_PRIO_X - 6, WAKE_FIFO_PRI1_X - 7,FIC0_FIFO_B - 8, WAKE_FIFO_PRIO_B - 9, WAKE_FIFO_PRI1_B - 10.
#define PSEM_REG_SYNC_FOC_FIFO_EMPTY_E5 0x1601170UL //Access:R DataWidth:0x1 // FOC FIFO empty indication.
#define PSEM_REG_SYNC_FOC_PRE_FETCH_FIFO_EMPTY_E5 0x1601174UL //Access:R DataWidth:0x1 // FOC pre fetch FIFO empty indication.
+#define PSEM_REG_FIC_PRE_FETCH_FIFO_EMPTY_E5 0x1601178UL //Access:R DataWidth:0x2 // FIC pre fetch FIFO empty indication. Bit0 - FIC0, BIT1 - FIC1.
+#define PSEM_REG_EXT_STORE_PRE_FETCH_FIFO_EMPTY_E5 0x160117cUL //Access:R DataWidth:0x2 // External Store pre fetch FIFO empty indication. Bit0 - Storm_A, BIT1 - Strom_B.
#define PSEM_REG_EXT_PAS_FULL 0x1601200UL //Access:R DataWidth:0x1 // EXT_PAS FIFO Full in sem_slow.
#define PSEM_REG_EXT_STORE_IF_FULL 0x1601204UL //Access:R DataWidth:0x1 // EXT_STORE IF is full in sem_slow_ls_ext.
#define PSEM_REG_FIC_FULL 0x1601220UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO full in sem_slow_fic.
@@ -80123,7 +83209,7 @@
#define PSEM_REG_INT_TABLE_SIZE 256
#define PSEM_REG_FIC_COUNTER_GROUP_E5 0x1611000UL //Access:RW DataWidth:0x8 // This field enables a RD/WR access to the 24 counters of the "FIC Counters".
#define PSEM_REG_FIC_COUNTER_GROUP_SIZE 24
-#define PSEM_REG_PB_THRD_STM_GROUP_E5 0x1612000UL //Access:R DataWidth:0x17 // Read the State mahcine state of teh trheads. 0:4 - state. 5 - pending ready. 7:6 - Affinity type. 8 - Destination FOC. 9 - Destination Storm. 10 - counter increment ready. 15:11 - counter index. 16 - Debug monitor enable. 17 - Exlucsive. 22:18 - DRA size.
+#define PSEM_REG_PB_THRD_STM_GROUP_E5 0x1612000UL //Access:R DataWidth:0x18 // Read the State mahcine state of teh trheads. 0:3 - state. 5:4 - Pending FOC cnt 6 - pending ready. 8:7 - Affinity type. 9 - Destination FOC. 10 - Destination Storm. 11 - counter increment ready. 16:12 - counter index. 17 - Debug monitor enable. 18 - Exlucsive. 22:19 - DRA size.
#define PSEM_REG_PB_THRD_STM_GROUP_SIZE 56
#define PSEM_REG_PASSIVE_BUFFER 0x1620000UL //Access:R DataWidth:0x20 // Passive buffer memory read only.
#define PSEM_REG_PASSIVE_BUFFER_SIZE_BB_K2 720
@@ -80174,7 +83260,7 @@
#define TSEM_REG_ENABLE_OUT_STALL_ENABLE_OUT_BB_K2_SHIFT 5
#define TSEM_REG_FIC_DISABLE_BB_K2 0x170000cUL //Access:RW DataWidth:0x1 // Disables input messages from all FIC interfaces. May be updated during run_time by the microcode.
#define TSEM_REG_PAS_DISABLE_BB_K2 0x1700010UL //Access:RW DataWidth:0x1 // Disables input messages from the passive buffer May be updated during run_time by the microcode.
-#define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1700014UL //Access:RW DataWidth:0x17 // Multi Field Register.
+#define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1700014UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5 (0xf<<0) // Passive Buffer write WRR weight value for FIC source.
#define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5_SHIFT 0
#define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA RD A source.
@@ -80183,11 +83269,9 @@
#define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for SDM source.
#define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5_SHIFT 12
- #define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5_SHIFT 16
- #define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
- #define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 20
-#define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1700018UL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
+ #define TSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 16
+#define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1700018UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5 (0xf<<0) // Passive Buffer WRR weight value for FOC source.
#define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5_SHIFT 0
#define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA WR A source.
@@ -80196,11 +83280,9 @@
#define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for GRC source.
#define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5_SHIFT 12
- #define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5_SHIFT 16
- #define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
- #define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 20
-#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x170001cUL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
+ #define TSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 16
+#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x170001cUL //Access:RW DataWidth:0x13 // Multi Field Register.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-A source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5_SHIFT 0
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC1_A_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for FIC1-a (if exist) source.
@@ -80209,48 +83291,40 @@
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO0_A_WEIGHT_E5_SHIFT 8
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5 (0xf<<12) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-A source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5_SHIFT 12
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5_SHIFT 16
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 20
-#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1700020UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
+ #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 16
+#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1700020UL //Access:RW DataWidth:0xe // Multi Field Register.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-X source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5_SHIFT 0
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-X source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5_SHIFT 4
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-X source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5_SHIFT 8
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5_SHIFT 12
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 16
-#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1700024UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 12
+#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1700024UL //Access:RW DataWidth:0xe // Multi Field Register.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-B source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5_SHIFT 0
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-B source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5_SHIFT 4
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-B source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5_SHIFT 8
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5_SHIFT 12
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 16
-#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1700028UL //Access:RW DataWidth:0xe // Multi Field Register.
+ #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 12
+#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1700028UL //Access:RW DataWidth:0xf // Multi Field Register.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity A source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5_SHIFT 0
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5_SHIFT 8
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - AFFINITY A, 2- AFFINITY X.
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5_SHIFT 12
-#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x170002cUL //Access:RW DataWidth:0xc // Multi Field Register.
+ #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter3 will select with strict priority the threads assigned to Affinity A.
+ #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5_SHIFT 8
+#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x170002cUL //Access:RW DataWidth:0xf // Multi Field Register.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity B source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5_SHIFT 0
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5_SHIFT 8
+ #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter4 will select with strict priority the threads assigned to Affinity B.
+ #define TSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5_SHIFT 8
#define TSEM_REG_PASSIVE_BUFFER_DRA_WR_E5 0x1700030UL //Access:RW DataWidth:0x4 // Multi Field Register.
#define TSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5 (0x1<<0) // Enable DRA Write to transactions towards the SEM_PD Core A.
#define TSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5_SHIFT 0
@@ -80260,7 +83334,7 @@
#define TSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_PEND_BLOCK_EN_E5_SHIFT 2
#define TSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5 (0x1<<3) // When set, the Affintiy field of the thread is set to CoreA (regardless to the Afficnity received from CM).
#define TSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5_SHIFT 3
-#define TSEM_REG_INT_STS_0 0x1700040UL //Access:R DataWidth:0x20 // Multi Field Register.
+#define TSEM_REG_INT_STS_0 0x1700040UL //Access:R DataWidth:0x1f // Multi Field Register.
#define TSEM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define TSEM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define TSEM_REG_INT_STS_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -80269,9 +83343,9 @@
#define TSEM_REG_INT_STS_0_FIC_LENGTH_ERROR_SHIFT 2
#define TSEM_REG_INT_STS_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define TSEM_REG_INT_STS_0_FIC_FIFO_ERROR_SHIFT 3
- #define TSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define TSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define TSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define TSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define TSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define TSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define TSEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define TSEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -80281,58 +83355,52 @@
#define TSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define TSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define TSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define TSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define TSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define TSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define TSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define TSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define TSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define TSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define TSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define TSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define TSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define TSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define TSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define TSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define TSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define TSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define TSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define TSEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define TSEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define TSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define TSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define TSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define TSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define TSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define TSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define TSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define TSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define TSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define TSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define TSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define TSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define TSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define TSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define TSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define TSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define TSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define TSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define TSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define TSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define TSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define TSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define TSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define TSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define TSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define TSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define TSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define TSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define TSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define TSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define TSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define TSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define TSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define TSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define TSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define TSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define TSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define TSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define TSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define TSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define TSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define TSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define TSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define TSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define TSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define TSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define TSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define TSEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define TSEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define TSEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define TSEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define TSEM_REG_INT_STS_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -80369,19 +83437,23 @@
#define TSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define TSEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define TSEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define TSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define TSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define TSEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define TSEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define TSEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define TSEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define TSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define TSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define TSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define TSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define TSEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define TSEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define TSEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define TSEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define TSEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define TSEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define TSEM_REG_INT_MASK_0 0x1700044UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define TSEM_REG_INT_MASK_0 0x1700044UL //Access:RW DataWidth:0x1f // Multi Field Register.
#define TSEM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.ADDRESS_ERROR .
#define TSEM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define TSEM_REG_INT_MASK_0_FIC_LAST_ERROR (0x1<<1) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.FIC_LAST_ERROR .
@@ -80402,58 +83474,52 @@
#define TSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define TSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_EXT_LOAD_PUSH_ERROR_B .
#define TSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
#define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
- #define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
+ #define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define TSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
#define TSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define TSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
- #define TSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define TSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
- #define TSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define TSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
- #define TSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define TSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define TSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define TSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define TSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define TSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
- #define TSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define TSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
- #define TSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define TSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
- #define TSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define TSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
- #define TSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define TSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
- #define TSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define TSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
- #define TSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define TSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
- #define TSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define TSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
- #define TSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define TSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
- #define TSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
- #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define TSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
- #define TSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define TSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
+ #define TSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define TSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
+ #define TSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define TSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
+ #define TSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define TSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
+ #define TSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define TSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
+ #define TSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define TSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
+ #define TSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define TSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
+ #define TSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define TSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
+ #define TSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define TSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
+ #define TSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define TSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
+ #define TSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define TSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
+ #define TSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define TSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
+ #define TSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
+ #define TSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define TSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
+ #define TSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define TSEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.FIC_PRE_FETCH_FIFO_ERROR .
+ #define TSEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define TSEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.PAS_BUF_FIFO_ERROR .
#define TSEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define TSEM_REG_INT_MASK_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_FIN_POP_ERROR .
@@ -80490,19 +83556,23 @@
#define TSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define TSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_EXT_LOAD_POP_ERROR .
#define TSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
+ #define TSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define TSEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_RAM_WR_POP_ERROR .
#define TSEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define TSEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_DBG_PUSH_ERROR .
#define TSEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define TSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR .
#define TSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define TSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
+ #define TSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define TSEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.CAM_MSB2_INP_FIFO .
#define TSEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define TSEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.VFC_INTERRUPT .
#define TSEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define TSEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // This bit masks, when set, the Interrupt bit: TSEM_REG_INT_STS_0.VFC_OUT_FIFO_ERROR .
#define TSEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define TSEM_REG_INT_STS_WR_0 0x1700048UL //Access:WR DataWidth:0x20 // Multi Field Register.
+#define TSEM_REG_INT_STS_WR_0 0x1700048UL //Access:WR DataWidth:0x1f // Multi Field Register.
#define TSEM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define TSEM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define TSEM_REG_INT_STS_WR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -80511,9 +83581,9 @@
#define TSEM_REG_INT_STS_WR_0_FIC_LENGTH_ERROR_SHIFT 2
#define TSEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define TSEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR_SHIFT 3
- #define TSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define TSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define TSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define TSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define TSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define TSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define TSEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define TSEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -80523,58 +83593,52 @@
#define TSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define TSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define TSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define TSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define TSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define TSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define TSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define TSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define TSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define TSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define TSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define TSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define TSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define TSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define TSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define TSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define TSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define TSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define TSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define TSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define TSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define TSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define TSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define TSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define TSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define TSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define TSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define TSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define TSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define TSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define TSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define TSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define TSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define TSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define TSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define TSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define TSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define TSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define TSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define TSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define TSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define TSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define TSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define TSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define TSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define TSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define TSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define TSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define TSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define TSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define TSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define TSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define TSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define TSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define TSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define TSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define TSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define TSEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define TSEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define TSEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define TSEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define TSEM_REG_INT_STS_WR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -80611,19 +83675,23 @@
#define TSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define TSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define TSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define TSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define TSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define TSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define TSEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define TSEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define TSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define TSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define TSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define TSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define TSEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define TSEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define TSEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define TSEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define TSEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define TSEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define TSEM_REG_INT_STS_CLR_0 0x170004cUL //Access:RC DataWidth:0x20 // Multi Field Register.
+#define TSEM_REG_INT_STS_CLR_0 0x170004cUL //Access:RC DataWidth:0x1f // Multi Field Register.
#define TSEM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define TSEM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define TSEM_REG_INT_STS_CLR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -80632,9 +83700,9 @@
#define TSEM_REG_INT_STS_CLR_0_FIC_LENGTH_ERROR_SHIFT 2
#define TSEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define TSEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR_SHIFT 3
- #define TSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define TSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define TSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define TSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define TSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define TSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define TSEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define TSEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -80644,58 +83712,52 @@
#define TSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define TSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define TSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define TSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define TSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define TSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define TSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define TSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define TSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define TSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define TSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define TSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define TSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define TSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define TSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define TSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define TSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define TSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define TSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define TSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define TSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define TSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define TSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define TSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define TSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define TSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define TSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define TSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define TSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define TSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define TSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define TSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define TSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define TSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define TSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define TSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define TSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define TSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define TSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define TSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define TSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define TSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define TSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define TSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define TSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define TSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define TSEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define TSEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define TSEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define TSEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define TSEM_REG_INT_STS_CLR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -80732,12 +83794,16 @@
#define TSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define TSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define TSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define TSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define TSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define TSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define TSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define TSEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define TSEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define TSEM_REG_INT_STS_CLR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
@@ -81360,13 +84426,21 @@
#define TSEM_REG_INT_STS_CLR_2_FIN_GRC_IOR_MAP_OUT_OF_RANGE_ERROR_B_E5_SHIFT 29
#define TSEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5 (0x1<<30) // This error indicates on an unalligned wire access to PRAM via SDM.
#define TSEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5_SHIFT 30
-#define TSEM_REG_PRTY_MASK 0x17000ccUL //Access:RW DataWidth:0x3 // Multi Field Register.
+#define TSEM_REG_PRTY_MASK 0x17000ccUL //Access:RW DataWidth:0x5 // Multi Field Register.
#define TSEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR (0x1<<0) // This bit masks, when set, the Parity bit: TSEM_REG_PRTY_STS.VFC_RBC_PARITY_ERROR .
#define TSEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR_SHIFT 0
- #define TSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR (0x1<<1) // This bit masks, when set, the Parity bit: TSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
- #define TSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_SHIFT 1
- #define TSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR (0x1<<2) // This bit masks, when set, the Parity bit: TSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
- #define TSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_SHIFT 2
+ #define TSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5 (0x1<<1) // This bit masks, when set, the Parity bit: TSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_A .
+ #define TSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5_SHIFT 1
+ #define TSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5 (0x1<<2) // This bit masks, when set, the Parity bit: TSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_B .
+ #define TSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5_SHIFT 2
+ #define TSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: TSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define TSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2_SHIFT 2
+ #define TSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5 (0x1<<3) // This bit masks, when set, the Parity bit: TSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define TSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5_SHIFT 3
+ #define TSEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5 (0x1<<4) // This bit masks, when set, the Parity bit: TSEM_REG_PRTY_STS.PRAM_PARITY_ERROR .
+ #define TSEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5_SHIFT 4
+ #define TSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: TSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
+ #define TSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2_SHIFT 1
#define TSEM_REG_PRTY_MASK_H_0_BB_K2 0x1700204UL //Access:RW DataWidth:0x6 // Multi Field Register.
#define TSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: TSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
#define TSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 0
@@ -81434,14 +84508,14 @@
#define TSEM_REG_ARB_AS_DEF_SIZE 32
#define TSEM_REG_ARB_TS_AS_BB_K2 0x1700a80UL //Access:RW DataWidth:0x2 // Register array that defines the main DRA arbiter arbitration scheme for each of 20 time slots [0-19].
#define TSEM_REG_ARB_TS_AS_SIZE 20
-#define TSEM_REG_NUM_OF_THREADS 0x1700b00UL //Access:R DataWidth:0x8 // The number of currently free threads (in invalid state).
+#define TSEM_REG_NUM_OF_THREADS 0x1700b00UL //Access:R DataWidth:0x6 // The number of currently free threads (in invalid state).
#define TSEM_REG_THREAD_ERROR_LOW_E5 0x1700b04UL //Access:R DataWidth:0x20 // Thread error low indication. Represents threads 31 -0
#define TSEM_REG_THREAD_ERROR_BB_K2 0x1700b04UL //Access:R DataWidth:0x18 // Thread error indication.
#define TSEM_REG_THREAD_RDY_BB_K2 0x1700b08UL //Access:R DataWidth:0x18 // Thread ready indication.
#define TSEM_REG_THREAD_SET_NUM 0x1700b0cUL //Access:W DataWidth:0x6 // Thread ID. Write thread ID will set ready indication for this thread ID.
#define TSEM_REG_THREAD_VALID_BB_K2 0x1700b10UL //Access:R DataWidth:0x18 // Valid sleeping threads.
#define TSEM_REG_THREADS_LIST_BB_K2 0x1700b14UL //Access:RW DataWidth:0x18 // List of free threads.
-#define TSEM_REG_THREAD_NUMBER_E5 0x1700b18UL //Access:RW DataWidth:0x8 // Defines the maixmum number of supported threads in SEMI.
+#define TSEM_REG_THREAD_NUMBER_E5 0x1700b18UL //Access:RW DataWidth:0x6 // Defines the maixmum number of supported threads in SEMI.
#define TSEM_REG_THREAD_ERROR_HIGH_E5 0x1700b1cUL //Access:R DataWidth:0x18 // Thread error high indication. Represents threads 55-32
#define TSEM_REG_FOC_MIN_MESSAGE_CREDIT_E5 0x1700b40UL //Access:RW DataWidth:0x8 // This field defines for each FOC the minimum message reuired for the FOC transfer to start.
#define TSEM_REG_FOC_MIN_MESSAGE_CREDIT_SIZE 2
@@ -81463,11 +84537,12 @@
#define TSEM_REG_SYNC_FOC_FIFO_WR_ALM_FULL_E5 0x1701010UL //Access:RW DataWidth:0x4 // Almost full for indication for FOC Sync FIFO.
#define TSEM_REG_SYNC_SDM_READY_FIFO_WR_ALM_FULL_E5 0x1701014UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM READY FIFO.
#define TSEM_REG_SYNC_SDM_INC_FIFO_WR_ALM_FULL_E5 0x1701018UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM Counter Increment FIFO.
-#define TSEM_REG_STALL_ON_INT_E5 0x170101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Both cluster Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
+#define TSEM_REG_STALL_ON_INT_E5 0x170101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Only SEMI's Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
#define TSEM_REG_FIC0_A_MAX_THRDS_E5 0x1701020UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 A queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define TSEM_REG_FIC0_X_MAX_THRDS_E5 0x1701024UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 X queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define TSEM_REG_FIC0_B_MAX_THRDS_E5 0x1701028UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 B queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define TSEM_REG_FIC1_A_MAX_THRDS_E5 0x170102cUL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC1 A queue. If FIC1 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
+#define TSEM_REG_STALL_ON_BREAKPOINT_E5 0x1701030UL //Access:RW DataWidth:0x1 // 0 - No external stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access). 1 - External stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access).
#define TSEM_REG_DRA_EMPTY_BB_K2 0x1701100UL //Access:R DataWidth:0x1 // Dra_empty.
#define TSEM_REG_EXT_PAS_EMPTY 0x1701104UL //Access:R DataWidth:0x1 // EXT_PAS FIFO empty in sem_slow.
#define TSEM_REG_FIC_EMPTY 0x1701120UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO empty in sem_slow_fic.
@@ -81475,9 +84550,9 @@
#define TSEM_REG_SLOW_DRA_FIN_EMPTY_BB_K2 0x1701144UL //Access:R DataWidth:0x1 // FIN fifo is empty in sem_slow_dra_sync.
#define TSEM_REG_SLOW_DRA_RD_EMPTY_BB_K2 0x1701148UL //Access:R DataWidth:0x1 // DRA_RD pop fifo is empty in sem_slow_dra_sync.
#define TSEM_REG_SLOW_DRA_WR_EMPTY_BB_K2 0x170114cUL //Access:R DataWidth:0x1 // DRA_WR push fifo is empty in sem_slow_dra_sync.
-#define TSEM_REG_SLOW_EXT_STORE_EMPTY 0x1701150UL //Access:R DataWidth:0x1 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
+#define TSEM_REG_SLOW_EXT_STORE_EMPTY 0x1701150UL //Access:R DataWidth:0x2 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
#define TSEM_REG_SLOW_EXT_LOAD_EMPTY 0x1701154UL //Access:R DataWidth:0x2 // EXT_LOAD FIFO is empty in sem_slow_ls_ext, bit 0 FIFO of Core A, bit 1 FIFO of Core B.
-#define TSEM_REG_SLOW_RAM_RD_EMPTY 0x1701158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
+#define TSEM_REG_SLOW_RAM_RD_EMPTY_BB_K2 0x1701158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
#define TSEM_REG_SLOW_RAM_WR_EMPTY 0x170115cUL //Access:R DataWidth:0x1 // EXT_WR_RAM FIFO is empty in sem_slow_ls_ext.
#define TSEM_REG_SYNC_DBG_EMPTY 0x1701160UL //Access:R DataWidth:0x2 // DBG FAST SYNC FIFO is empty in sem_slow_ls_sync. Bit0 - FOR debug FIFO of Core A. Bit1 - FOR debug FIFO of Core B
#define TSEM_REG_THREAD_FIFO_EMPTY_BB_K2 0x1701164UL //Access:R DataWidth:0x1 // Indicates that the thread fifo is empty in sem_slow_dra_wr.
@@ -81485,6 +84560,8 @@
#define TSEM_REG_PB_QUEUE_EMPTY_E5 0x170116cUL //Access:R DataWidth:0xb // If 1, the correspongding Queue is empty. Queues numeration: FOC_FIFO_IF - 0, FIC0_FIFO_A - 1, FIC1_FIFO_A - 2, WAKE_FIFO_PRIO_A - 3, WAKE_FIFO_PRI1_A - 4, FIC0_FIFO_X - 5, WAKE_FIFO_PRIO_X - 6, WAKE_FIFO_PRI1_X - 7,FIC0_FIFO_B - 8, WAKE_FIFO_PRIO_B - 9, WAKE_FIFO_PRI1_B - 10.
#define TSEM_REG_SYNC_FOC_FIFO_EMPTY_E5 0x1701170UL //Access:R DataWidth:0x1 // FOC FIFO empty indication.
#define TSEM_REG_SYNC_FOC_PRE_FETCH_FIFO_EMPTY_E5 0x1701174UL //Access:R DataWidth:0x1 // FOC pre fetch FIFO empty indication.
+#define TSEM_REG_FIC_PRE_FETCH_FIFO_EMPTY_E5 0x1701178UL //Access:R DataWidth:0x2 // FIC pre fetch FIFO empty indication. Bit0 - FIC0, BIT1 - FIC1.
+#define TSEM_REG_EXT_STORE_PRE_FETCH_FIFO_EMPTY_E5 0x170117cUL //Access:R DataWidth:0x2 // External Store pre fetch FIFO empty indication. Bit0 - Storm_A, BIT1 - Strom_B.
#define TSEM_REG_EXT_PAS_FULL 0x1701200UL //Access:R DataWidth:0x1 // EXT_PAS FIFO Full in sem_slow.
#define TSEM_REG_EXT_STORE_IF_FULL 0x1701204UL //Access:R DataWidth:0x1 // EXT_STORE IF is full in sem_slow_ls_ext.
#define TSEM_REG_FIC_FULL 0x1701220UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO full in sem_slow_fic.
@@ -81550,7 +84627,7 @@
#define TSEM_REG_INT_TABLE_SIZE 256
#define TSEM_REG_FIC_COUNTER_GROUP_E5 0x1711000UL //Access:RW DataWidth:0x8 // This field enables a RD/WR access to the 24 counters of the "FIC Counters".
#define TSEM_REG_FIC_COUNTER_GROUP_SIZE 24
-#define TSEM_REG_PB_THRD_STM_GROUP_E5 0x1712000UL //Access:R DataWidth:0x17 // Read the State mahcine state of teh trheads. 0:4 - state. 5 - pending ready. 7:6 - Affinity type. 8 - Destination FOC. 9 - Destination Storm. 10 - counter increment ready. 15:11 - counter index. 16 - Debug monitor enable. 17 - Exlucsive. 22:18 - DRA size.
+#define TSEM_REG_PB_THRD_STM_GROUP_E5 0x1712000UL //Access:R DataWidth:0x18 // Read the State mahcine state of teh trheads. 0:3 - state. 5:4 - Pending FOC cnt 6 - pending ready. 8:7 - Affinity type. 9 - Destination FOC. 10 - Destination Storm. 11 - counter increment ready. 16:12 - counter index. 17 - Debug monitor enable. 18 - Exlucsive. 22:19 - DRA size.
#define TSEM_REG_PB_THRD_STM_GROUP_SIZE 56
#define TSEM_REG_PASSIVE_BUFFER 0x1720000UL //Access:R DataWidth:0x20 // Passive buffer memory read only.
#define TSEM_REG_PASSIVE_BUFFER_SIZE_BB_K2 4320
@@ -81600,7 +84677,7 @@
#define MSEM_REG_ENABLE_OUT_STALL_ENABLE_OUT_BB_K2_SHIFT 5
#define MSEM_REG_FIC_DISABLE_BB_K2 0x180000cUL //Access:RW DataWidth:0x1 // Disables input messages from all FIC interfaces. May be updated during run_time by the microcode.
#define MSEM_REG_PAS_DISABLE_BB_K2 0x1800010UL //Access:RW DataWidth:0x1 // Disables input messages from the passive buffer May be updated during run_time by the microcode.
-#define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1800014UL //Access:RW DataWidth:0x17 // Multi Field Register.
+#define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1800014UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5 (0xf<<0) // Passive Buffer write WRR weight value for FIC source.
#define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5_SHIFT 0
#define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA RD A source.
@@ -81609,11 +84686,9 @@
#define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for SDM source.
#define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5_SHIFT 12
- #define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5_SHIFT 16
- #define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
- #define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 20
-#define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1800018UL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
+ #define MSEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 16
+#define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1800018UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5 (0xf<<0) // Passive Buffer WRR weight value for FOC source.
#define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5_SHIFT 0
#define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA WR A source.
@@ -81622,11 +84697,9 @@
#define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for GRC source.
#define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5_SHIFT 12
- #define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5_SHIFT 16
- #define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
- #define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 20
-#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x180001cUL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
+ #define MSEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 16
+#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x180001cUL //Access:RW DataWidth:0x13 // Multi Field Register.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-A source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5_SHIFT 0
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC1_A_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for FIC1-a (if exist) source.
@@ -81635,48 +84708,40 @@
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO0_A_WEIGHT_E5_SHIFT 8
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5 (0xf<<12) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-A source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5_SHIFT 12
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5_SHIFT 16
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 20
-#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1800020UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
+ #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 16
+#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1800020UL //Access:RW DataWidth:0xe // Multi Field Register.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-X source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5_SHIFT 0
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-X source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5_SHIFT 4
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-X source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5_SHIFT 8
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5_SHIFT 12
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 16
-#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1800024UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 12
+#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1800024UL //Access:RW DataWidth:0xe // Multi Field Register.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-B source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5_SHIFT 0
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-B source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5_SHIFT 4
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-B source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5_SHIFT 8
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5_SHIFT 12
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 16
-#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1800028UL //Access:RW DataWidth:0xe // Multi Field Register.
+ #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 12
+#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1800028UL //Access:RW DataWidth:0xf // Multi Field Register.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity A source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5_SHIFT 0
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5_SHIFT 8
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - AFFINITY A, 2- AFFINITY X.
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5_SHIFT 12
-#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x180002cUL //Access:RW DataWidth:0xc // Multi Field Register.
+ #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter3 will select with strict priority the threads assigned to Affinity A.
+ #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5_SHIFT 8
+#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x180002cUL //Access:RW DataWidth:0xf // Multi Field Register.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity B source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5_SHIFT 0
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5_SHIFT 8
+ #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter4 will select with strict priority the threads assigned to Affinity B.
+ #define MSEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5_SHIFT 8
#define MSEM_REG_PASSIVE_BUFFER_DRA_WR_E5 0x1800030UL //Access:RW DataWidth:0x4 // Multi Field Register.
#define MSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5 (0x1<<0) // Enable DRA Write to transactions towards the SEM_PD Core A.
#define MSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5_SHIFT 0
@@ -81686,7 +84751,7 @@
#define MSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_PEND_BLOCK_EN_E5_SHIFT 2
#define MSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5 (0x1<<3) // When set, the Affintiy field of the thread is set to CoreA (regardless to the Afficnity received from CM).
#define MSEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5_SHIFT 3
-#define MSEM_REG_INT_STS_0 0x1800040UL //Access:R DataWidth:0x20 // Multi Field Register.
+#define MSEM_REG_INT_STS_0 0x1800040UL //Access:R DataWidth:0x1f // Multi Field Register.
#define MSEM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define MSEM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define MSEM_REG_INT_STS_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -81695,9 +84760,9 @@
#define MSEM_REG_INT_STS_0_FIC_LENGTH_ERROR_SHIFT 2
#define MSEM_REG_INT_STS_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define MSEM_REG_INT_STS_0_FIC_FIFO_ERROR_SHIFT 3
- #define MSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define MSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define MSEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define MSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define MSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define MSEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define MSEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define MSEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -81707,58 +84772,52 @@
#define MSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define MSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define MSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define MSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define MSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define MSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define MSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define MSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define MSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define MSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define MSEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define MSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define MSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define MSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define MSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define MSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define MSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define MSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define MSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define MSEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define MSEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define MSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define MSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define MSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define MSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define MSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define MSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define MSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define MSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define MSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define MSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define MSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define MSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define MSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define MSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define MSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define MSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define MSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define MSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define MSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define MSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define MSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define MSEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define MSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define MSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define MSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define MSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define MSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define MSEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define MSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define MSEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define MSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define MSEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define MSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define MSEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define MSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define MSEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define MSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define MSEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define MSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define MSEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define MSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define MSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define MSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define MSEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define MSEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define MSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define MSEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define MSEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define MSEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define MSEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define MSEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define MSEM_REG_INT_STS_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -81795,19 +84854,23 @@
#define MSEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define MSEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define MSEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define MSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define MSEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define MSEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define MSEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define MSEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define MSEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define MSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define MSEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define MSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define MSEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define MSEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define MSEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define MSEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define MSEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define MSEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define MSEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define MSEM_REG_INT_MASK_0 0x1800044UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define MSEM_REG_INT_MASK_0 0x1800044UL //Access:RW DataWidth:0x1f // Multi Field Register.
#define MSEM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.ADDRESS_ERROR .
#define MSEM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define MSEM_REG_INT_MASK_0_FIC_LAST_ERROR (0x1<<1) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.FIC_LAST_ERROR .
@@ -81828,58 +84891,52 @@
#define MSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define MSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_EXT_LOAD_PUSH_ERROR_B .
#define MSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
#define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
- #define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
+ #define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define MSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
#define MSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define MSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
- #define MSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define MSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
- #define MSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define MSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
- #define MSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define MSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define MSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define MSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define MSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define MSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
- #define MSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define MSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
- #define MSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define MSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
- #define MSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define MSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
- #define MSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define MSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
- #define MSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define MSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
- #define MSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define MSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
- #define MSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define MSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
- #define MSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define MSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
- #define MSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
- #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define MSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
- #define MSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define MSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
+ #define MSEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define MSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
+ #define MSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define MSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
+ #define MSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define MSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
+ #define MSEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define MSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
+ #define MSEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define MSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
+ #define MSEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define MSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
+ #define MSEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define MSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
+ #define MSEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define MSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
+ #define MSEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define MSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
+ #define MSEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define MSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
+ #define MSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define MSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
+ #define MSEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
+ #define MSEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define MSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
+ #define MSEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define MSEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.FIC_PRE_FETCH_FIFO_ERROR .
+ #define MSEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define MSEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.PAS_BUF_FIFO_ERROR .
#define MSEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define MSEM_REG_INT_MASK_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_FIN_POP_ERROR .
@@ -81916,19 +84973,23 @@
#define MSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define MSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_EXT_LOAD_POP_ERROR .
#define MSEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
+ #define MSEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define MSEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_RAM_WR_POP_ERROR .
#define MSEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define MSEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_DBG_PUSH_ERROR .
#define MSEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define MSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR .
#define MSEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define MSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.DBG_FIFO_ERROR .
+ #define MSEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define MSEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.CAM_MSB2_INP_FIFO .
#define MSEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define MSEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.VFC_INTERRUPT .
#define MSEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define MSEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // This bit masks, when set, the Interrupt bit: MSEM_REG_INT_STS_0.VFC_OUT_FIFO_ERROR .
#define MSEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define MSEM_REG_INT_STS_WR_0 0x1800048UL //Access:WR DataWidth:0x20 // Multi Field Register.
+#define MSEM_REG_INT_STS_WR_0 0x1800048UL //Access:WR DataWidth:0x1f // Multi Field Register.
#define MSEM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define MSEM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define MSEM_REG_INT_STS_WR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -81937,9 +84998,9 @@
#define MSEM_REG_INT_STS_WR_0_FIC_LENGTH_ERROR_SHIFT 2
#define MSEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define MSEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR_SHIFT 3
- #define MSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define MSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define MSEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define MSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define MSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define MSEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define MSEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define MSEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -81949,58 +85010,52 @@
#define MSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define MSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define MSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define MSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define MSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define MSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define MSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define MSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define MSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define MSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define MSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define MSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define MSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define MSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define MSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define MSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define MSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define MSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define MSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define MSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define MSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define MSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define MSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define MSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define MSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define MSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define MSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define MSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define MSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define MSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define MSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define MSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define MSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define MSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define MSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define MSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define MSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define MSEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define MSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define MSEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define MSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define MSEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define MSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define MSEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define MSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define MSEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define MSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define MSEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define MSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define MSEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define MSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define MSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define MSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define MSEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define MSEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define MSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define MSEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define MSEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define MSEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define MSEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define MSEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define MSEM_REG_INT_STS_WR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -82037,19 +85092,23 @@
#define MSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define MSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define MSEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define MSEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define MSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define MSEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define MSEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define MSEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define MSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define MSEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define MSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define MSEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define MSEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define MSEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define MSEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define MSEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define MSEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define MSEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define MSEM_REG_INT_STS_CLR_0 0x180004cUL //Access:RC DataWidth:0x20 // Multi Field Register.
+#define MSEM_REG_INT_STS_CLR_0 0x180004cUL //Access:RC DataWidth:0x1f // Multi Field Register.
#define MSEM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define MSEM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define MSEM_REG_INT_STS_CLR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -82058,9 +85117,9 @@
#define MSEM_REG_INT_STS_CLR_0_FIC_LENGTH_ERROR_SHIFT 2
#define MSEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define MSEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR_SHIFT 3
- #define MSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define MSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define MSEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define MSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define MSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define MSEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define MSEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define MSEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -82070,58 +85129,52 @@
#define MSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define MSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define MSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define MSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define MSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define MSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define MSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define MSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define MSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define MSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define MSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define MSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define MSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define MSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define MSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define MSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define MSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define MSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define MSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define MSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define MSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define MSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define MSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define MSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define MSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define MSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define MSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define MSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define MSEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define MSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define MSEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define MSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define MSEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define MSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define MSEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define MSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define MSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define MSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define MSEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define MSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define MSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define MSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define MSEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define MSEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define MSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define MSEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define MSEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define MSEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define MSEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define MSEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define MSEM_REG_INT_STS_CLR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -82158,12 +85211,16 @@
#define MSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define MSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define MSEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define MSEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define MSEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define MSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define MSEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define MSEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define MSEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define MSEM_REG_INT_STS_CLR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
@@ -82786,42 +85843,114 @@
#define MSEM_REG_INT_STS_CLR_2_FIN_GRC_IOR_MAP_OUT_OF_RANGE_ERROR_B_E5_SHIFT 29
#define MSEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5 (0x1<<30) // This error indicates on an unalligned wire access to PRAM via SDM.
#define MSEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5_SHIFT 30
-#define MSEM_REG_PRTY_MASK 0x18000ccUL //Access:RW DataWidth:0x3 // Multi Field Register.
+#define MSEM_REG_PRTY_MASK 0x18000ccUL //Access:RW DataWidth:0x5 // Multi Field Register.
#define MSEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR (0x1<<0) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS.VFC_RBC_PARITY_ERROR .
#define MSEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR_SHIFT 0
- #define MSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR (0x1<<1) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
- #define MSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_SHIFT 1
- #define MSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR (0x1<<2) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
- #define MSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_SHIFT 2
-#define MSEM_REG_PRTY_MASK_H_0_BB_K2 0x1800204UL //Access:RW DataWidth:0x6 // Multi Field Register.
- #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
- #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 0
- #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
- #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_BB_K2_SHIFT 1
+ #define MSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5 (0x1<<1) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_A .
+ #define MSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5_SHIFT 1
+ #define MSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5 (0x1<<2) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_B .
+ #define MSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5_SHIFT 2
+ #define MSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define MSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2_SHIFT 2
+ #define MSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5 (0x1<<3) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define MSEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5_SHIFT 3
+ #define MSEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5 (0x1<<4) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS.PRAM_PARITY_ERROR .
+ #define MSEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5_SHIFT 4
+ #define MSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
+ #define MSEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2_SHIFT 1
+#define MSEM_REG_PRTY_MASK_H_0 0x1800204UL //Access:RW DataWidth:0x10 // Multi Field Register.
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT (0x1<<0) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_SHIFT 0
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT (0x1<<1) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_1_RF_INT .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_1_RF_INT_SHIFT 1
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_2_RF_INT_E5 (0x1<<2) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_2_RF_INT .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_2_RF_INT_E5_SHIFT 2
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_3_RF_INT_E5 (0x1<<3) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_3_RF_INT .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_3_RF_INT_E5_SHIFT 3
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_4_RF_INT_E5 (0x1<<4) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_4_RF_INT .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_4_RF_INT_E5_SHIFT 4
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_5_RF_INT_E5 (0x1<<5) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_5_RF_INT .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_5_RF_INT_E5_SHIFT 5
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_6_RF_INT_E5 (0x1<<6) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_6_RF_INT .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_6_RF_INT_E5_SHIFT 6
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_7_RF_INT_E5 (0x1<<7) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM005_I_ECC_7_RF_INT .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_7_RF_INT_E5_SHIFT 7
+ #define MSEM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 5
+ #define MSEM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5 (0x1<<8) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_E5_SHIFT 8
#define MSEM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
#define MSEM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_BB_K2_SHIFT 2
- #define MSEM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
- #define MSEM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define MSEM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5 (0x1<<9) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM004_I_MEM_PRTY .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM004_I_MEM_PRTY_E5_SHIFT 9
+ #define MSEM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5 (0x1<<10) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM008_I_MEM_PRTY .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM008_I_MEM_PRTY_E5_SHIFT 10
#define MSEM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2 (0x1<<4) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
#define MSEM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_BB_K2_SHIFT 4
- #define MSEM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2 (0x1<<5) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM001_I_MEM_PRTY .
- #define MSEM_REG_PRTY_MASK_H_0_MEM001_I_MEM_PRTY_BB_K2_SHIFT 5
-#define MSEM_REG_MEM_ECC_ENABLE_0_BB_K2 0x1800210UL //Access:RW DataWidth:0x2 // Multi Field Register.
- #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_BB_K2 (0x1<<0) // Enable ECC for memory ecc instance msem.i_sem_core.i_sem_slow.i_sem_slow_pas_buf_ram_wrap.DEFAULT_PAS_BUF_RAM_GEN_IF.i_sem_slow_pas_buf_ram.i_ecc_0 in module sem_slow_pas_buf_ram
- #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_BB_K2_SHIFT 0
- #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2 (0x1<<1) // Enable ECC for memory ecc instance msem.i_sem_core.i_sem_slow.i_sem_slow_pas_buf_ram_wrap.DEFAULT_PAS_BUF_RAM_GEN_IF.i_sem_slow_pas_buf_ram.i_ecc_1 in module sem_slow_pas_buf_ram
- #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_BB_K2_SHIFT 1
-#define MSEM_REG_MEM_ECC_PARITY_ONLY_0_BB_K2 0x1800214UL //Access:RW DataWidth:0x2 // Multi Field Register.
- #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_BB_K2 (0x1<<0) // Set parity only for memory ecc instance msem.i_sem_core.i_sem_slow.i_sem_slow_pas_buf_ram_wrap.DEFAULT_PAS_BUF_RAM_GEN_IF.i_sem_slow_pas_buf_ram.i_ecc_0 in module sem_slow_pas_buf_ram
- #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_BB_K2_SHIFT 0
- #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2 (0x1<<1) // Set parity only for memory ecc instance msem.i_sem_core.i_sem_slow.i_sem_slow_pas_buf_ram_wrap.DEFAULT_PAS_BUF_RAM_GEN_IF.i_sem_slow_pas_buf_ram.i_ecc_1 in module sem_slow_pas_buf_ram
- #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_BB_K2_SHIFT 1
-#define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_BB_K2 0x1800218UL //Access:RC DataWidth:0x2 // Multi Field Register.
- #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_BB_K2 (0x1<<0) // Record if a correctable error occurred on memory ecc instance msem.i_sem_core.i_sem_slow.i_sem_slow_pas_buf_ram_wrap.DEFAULT_PAS_BUF_RAM_GEN_IF.i_sem_slow_pas_buf_ram.i_ecc_0 in module sem_slow_pas_buf_ram
- #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_BB_K2_SHIFT 0
- #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2 (0x1<<1) // Record if a correctable error occurred on memory ecc instance msem.i_sem_core.i_sem_slow.i_sem_slow_pas_buf_ram_wrap.DEFAULT_PAS_BUF_RAM_GEN_IF.i_sem_slow_pas_buf_ram.i_ecc_1 in module sem_slow_pas_buf_ram
- #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_BB_K2_SHIFT 1
-#define MSEM_REG_MEM_ECC_EVENTS_BB_K2 0x180021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
+ #define MSEM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5 (0x1<<11) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM003_I_MEM_PRTY .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM003_I_MEM_PRTY_E5_SHIFT 11
+ #define MSEM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5 (0x1<<12) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM006_I_MEM_PRTY .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM006_I_MEM_PRTY_E5_SHIFT 12
+ #define MSEM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2 (0x1<<3) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_BB_K2_SHIFT 3
+ #define MSEM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5 (0x1<<13) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM002_I_MEM_PRTY .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM002_I_MEM_PRTY_E5_SHIFT 13
+ #define MSEM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5 (0x1<<14) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM009_I_MEM_PRTY .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM009_I_MEM_PRTY_E5_SHIFT 14
+ #define MSEM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5 (0x1<<15) // This bit masks, when set, the Parity bit: MSEM_REG_PRTY_STS_H_0.MEM007_I_MEM_PRTY .
+ #define MSEM_REG_PRTY_MASK_H_0_MEM007_I_MEM_PRTY_E5_SHIFT 15
+#define MSEM_REG_MEM_ECC_ENABLE_0 0x1800210UL //Access:RW DataWidth:0x8 // Multi Field Register.
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN (0x1<<0) // Enable ECC for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_0 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_0_EN_SHIFT 0
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN (0x1<<1) // Enable ECC for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_1 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_1_EN_SHIFT 1
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_2_EN_E5 (0x1<<2) // Enable ECC for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_2 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_2_EN_E5_SHIFT 2
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_3_EN_E5 (0x1<<3) // Enable ECC for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_3 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_3_EN_E5_SHIFT 3
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_4_EN_E5 (0x1<<4) // Enable ECC for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_4 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_4_EN_E5_SHIFT 4
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_5_EN_E5 (0x1<<5) // Enable ECC for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_5 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_5_EN_E5_SHIFT 5
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_6_EN_E5 (0x1<<6) // Enable ECC for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_6 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_6_EN_E5_SHIFT 6
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_7_EN_E5 (0x1<<7) // Enable ECC for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_7 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ENABLE_0_MEM005_I_ECC_7_EN_E5_SHIFT 7
+#define MSEM_REG_MEM_ECC_PARITY_ONLY_0 0x1800214UL //Access:RW DataWidth:0x8 // Multi Field Register.
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY (0x1<<0) // Set parity only for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_0 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_0_PRTY_SHIFT 0
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY (0x1<<1) // Set parity only for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_1 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_1_PRTY_SHIFT 1
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_2_PRTY_E5 (0x1<<2) // Set parity only for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_2 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_2_PRTY_E5_SHIFT 2
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_3_PRTY_E5 (0x1<<3) // Set parity only for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_3 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_3_PRTY_E5_SHIFT 3
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_4_PRTY_E5 (0x1<<4) // Set parity only for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_4 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_4_PRTY_E5_SHIFT 4
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_5_PRTY_E5 (0x1<<5) // Set parity only for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_5 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_5_PRTY_E5_SHIFT 5
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_6_PRTY_E5 (0x1<<6) // Set parity only for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_6 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_6_PRTY_E5_SHIFT 6
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_7_PRTY_E5 (0x1<<7) // Set parity only for memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_7 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_PARITY_ONLY_0_MEM005_I_ECC_7_PRTY_E5_SHIFT 7
+#define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0 0x1800218UL //Access:RC DataWidth:0x8 // Multi Field Register.
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT (0x1<<0) // Record if a correctable error occurred on memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_0 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_0_CORRECT_SHIFT 0
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT (0x1<<1) // Record if a correctable error occurred on memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_1 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_1_CORRECT_SHIFT 1
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_2_CORRECT_E5 (0x1<<2) // Record if a correctable error occurred on memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_2 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_2_CORRECT_E5_SHIFT 2
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_3_CORRECT_E5 (0x1<<3) // Record if a correctable error occurred on memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_3 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_3_CORRECT_E5_SHIFT 3
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_4_CORRECT_E5 (0x1<<4) // Record if a correctable error occurred on memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_4 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_4_CORRECT_E5_SHIFT 4
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_5_CORRECT_E5 (0x1<<5) // Record if a correctable error occurred on memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_5 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_5_CORRECT_E5_SHIFT 5
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_6_CORRECT_E5 (0x1<<6) // Record if a correctable error occurred on memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_6 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_6_CORRECT_E5_SHIFT 6
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_7_CORRECT_E5 (0x1<<7) // Record if a correctable error occurred on memory ecc instance msem.i_sem_core.i_sem_passive_buffer.i_sem_pb_pas_buf_ram_wrap.i_sem_pb_pas_buf_ram.i_ecc_7 in module sem_pb_pas_buf_ram
+ #define MSEM_REG_MEM_ECC_ERROR_CORRECTED_0_MEM005_I_ECC_7_CORRECT_E5_SHIFT 7
+#define MSEM_REG_MEM_ECC_EVENTS 0x180021cUL //Access:RC DataWidth:0x20 // Count all the block memories ECC events.
#define MSEM_REG_ARB_CYCLE_SIZE_BB_K2 0x1800400UL //Access:RW DataWidth:0x5 // The number of time_slots in the arbitration cycle.
#define MSEM_REG_VF_ERROR 0x1800408UL //Access:WR DataWidth:0x1 // This VF-split register provides read/clear access to the VF error received from the SDM for a DMA transfer. Reading this register will return the VF Error for value for the corresponding VF. Writing a 1 to this register will clear the error for the corresponding VF.
#define MSEM_REG_PF_ERROR 0x180040cUL //Access:WR DataWidth:0x1 // This PF-split register provides read/clear access to the PF error received from the SDM for a DMA transfer. Reading this register will return the PF Error for value for the corresponding PF. Writing a 1 to this register will clear the error for the corresponding PF.
@@ -82860,14 +85989,14 @@
#define MSEM_REG_ARB_AS_DEF_SIZE 32
#define MSEM_REG_ARB_TS_AS_BB_K2 0x1800a80UL //Access:RW DataWidth:0x2 // Register array that defines the main DRA arbiter arbitration scheme for each of 20 time slots [0-19].
#define MSEM_REG_ARB_TS_AS_SIZE 20
-#define MSEM_REG_NUM_OF_THREADS 0x1800b00UL //Access:R DataWidth:0x8 // The number of currently free threads (in invalid state).
+#define MSEM_REG_NUM_OF_THREADS 0x1800b00UL //Access:R DataWidth:0x6 // The number of currently free threads (in invalid state).
#define MSEM_REG_THREAD_ERROR_LOW_E5 0x1800b04UL //Access:R DataWidth:0x20 // Thread error low indication. Represents threads 31 -0
#define MSEM_REG_THREAD_ERROR_BB_K2 0x1800b04UL //Access:R DataWidth:0x18 // Thread error indication.
#define MSEM_REG_THREAD_RDY_BB_K2 0x1800b08UL //Access:R DataWidth:0x18 // Thread ready indication.
#define MSEM_REG_THREAD_SET_NUM 0x1800b0cUL //Access:W DataWidth:0x6 // Thread ID. Write thread ID will set ready indication for this thread ID.
#define MSEM_REG_THREAD_VALID_BB_K2 0x1800b10UL //Access:R DataWidth:0x18 // Valid sleeping threads.
#define MSEM_REG_THREADS_LIST_BB_K2 0x1800b14UL //Access:RW DataWidth:0x18 // List of free threads.
-#define MSEM_REG_THREAD_NUMBER_E5 0x1800b18UL //Access:RW DataWidth:0x8 // Defines the maixmum number of supported threads in SEMI.
+#define MSEM_REG_THREAD_NUMBER_E5 0x1800b18UL //Access:RW DataWidth:0x6 // Defines the maixmum number of supported threads in SEMI.
#define MSEM_REG_THREAD_ERROR_HIGH_E5 0x1800b1cUL //Access:R DataWidth:0x18 // Thread error high indication. Represents threads 55-32
#define MSEM_REG_FOC_MIN_MESSAGE_CREDIT_E5 0x1800b40UL //Access:RW DataWidth:0x8 // This field defines for each FOC the minimum message reuired for the FOC transfer to start.
#define MSEM_REG_FOC_MIN_MESSAGE_CREDIT_SIZE 6
@@ -82889,11 +86018,12 @@
#define MSEM_REG_SYNC_FOC_FIFO_WR_ALM_FULL_E5 0x1801010UL //Access:RW DataWidth:0x4 // Almost full for indication for FOC Sync FIFO.
#define MSEM_REG_SYNC_SDM_READY_FIFO_WR_ALM_FULL_E5 0x1801014UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM READY FIFO.
#define MSEM_REG_SYNC_SDM_INC_FIFO_WR_ALM_FULL_E5 0x1801018UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM Counter Increment FIFO.
-#define MSEM_REG_STALL_ON_INT_E5 0x180101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Both cluster Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
+#define MSEM_REG_STALL_ON_INT_E5 0x180101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Only SEMI's Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
#define MSEM_REG_FIC0_A_MAX_THRDS_E5 0x1801020UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 A queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define MSEM_REG_FIC0_X_MAX_THRDS_E5 0x1801024UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 X queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define MSEM_REG_FIC0_B_MAX_THRDS_E5 0x1801028UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 B queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define MSEM_REG_FIC1_A_MAX_THRDS_E5 0x180102cUL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC1 A queue. If FIC1 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
+#define MSEM_REG_STALL_ON_BREAKPOINT_E5 0x1801030UL //Access:RW DataWidth:0x1 // 0 - No external stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access). 1 - External stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access).
#define MSEM_REG_DRA_EMPTY_BB_K2 0x1801100UL //Access:R DataWidth:0x1 // Dra_empty.
#define MSEM_REG_EXT_PAS_EMPTY 0x1801104UL //Access:R DataWidth:0x1 // EXT_PAS FIFO empty in sem_slow.
#define MSEM_REG_FIC_EMPTY 0x1801120UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO empty in sem_slow_fic.
@@ -82901,9 +86031,9 @@
#define MSEM_REG_SLOW_DRA_FIN_EMPTY_BB_K2 0x1801144UL //Access:R DataWidth:0x1 // FIN fifo is empty in sem_slow_dra_sync.
#define MSEM_REG_SLOW_DRA_RD_EMPTY_BB_K2 0x1801148UL //Access:R DataWidth:0x1 // DRA_RD pop fifo is empty in sem_slow_dra_sync.
#define MSEM_REG_SLOW_DRA_WR_EMPTY_BB_K2 0x180114cUL //Access:R DataWidth:0x1 // DRA_WR push fifo is empty in sem_slow_dra_sync.
-#define MSEM_REG_SLOW_EXT_STORE_EMPTY 0x1801150UL //Access:R DataWidth:0x1 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
+#define MSEM_REG_SLOW_EXT_STORE_EMPTY 0x1801150UL //Access:R DataWidth:0x2 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
#define MSEM_REG_SLOW_EXT_LOAD_EMPTY 0x1801154UL //Access:R DataWidth:0x2 // EXT_LOAD FIFO is empty in sem_slow_ls_ext, bit 0 FIFO of Core A, bit 1 FIFO of Core B.
-#define MSEM_REG_SLOW_RAM_RD_EMPTY 0x1801158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
+#define MSEM_REG_SLOW_RAM_RD_EMPTY_BB_K2 0x1801158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
#define MSEM_REG_SLOW_RAM_WR_EMPTY 0x180115cUL //Access:R DataWidth:0x1 // EXT_WR_RAM FIFO is empty in sem_slow_ls_ext.
#define MSEM_REG_SYNC_DBG_EMPTY 0x1801160UL //Access:R DataWidth:0x2 // DBG FAST SYNC FIFO is empty in sem_slow_ls_sync. Bit0 - FOR debug FIFO of Core A. Bit1 - FOR debug FIFO of Core B
#define MSEM_REG_THREAD_FIFO_EMPTY_BB_K2 0x1801164UL //Access:R DataWidth:0x1 // Indicates that the thread fifo is empty in sem_slow_dra_wr.
@@ -82911,6 +86041,8 @@
#define MSEM_REG_PB_QUEUE_EMPTY_E5 0x180116cUL //Access:R DataWidth:0xb // If 1, the correspongding Queue is empty. Queues numeration: FOC_FIFO_IF - 0, FIC0_FIFO_A - 1, FIC1_FIFO_A - 2, WAKE_FIFO_PRIO_A - 3, WAKE_FIFO_PRI1_A - 4, FIC0_FIFO_X - 5, WAKE_FIFO_PRIO_X - 6, WAKE_FIFO_PRI1_X - 7,FIC0_FIFO_B - 8, WAKE_FIFO_PRIO_B - 9, WAKE_FIFO_PRI1_B - 10.
#define MSEM_REG_SYNC_FOC_FIFO_EMPTY_E5 0x1801170UL //Access:R DataWidth:0x1 // FOC FIFO empty indication.
#define MSEM_REG_SYNC_FOC_PRE_FETCH_FIFO_EMPTY_E5 0x1801174UL //Access:R DataWidth:0x1 // FOC pre fetch FIFO empty indication.
+#define MSEM_REG_FIC_PRE_FETCH_FIFO_EMPTY_E5 0x1801178UL //Access:R DataWidth:0x2 // FIC pre fetch FIFO empty indication. Bit0 - FIC0, BIT1 - FIC1.
+#define MSEM_REG_EXT_STORE_PRE_FETCH_FIFO_EMPTY_E5 0x180117cUL //Access:R DataWidth:0x2 // External Store pre fetch FIFO empty indication. Bit0 - Storm_A, BIT1 - Strom_B.
#define MSEM_REG_EXT_PAS_FULL 0x1801200UL //Access:R DataWidth:0x1 // EXT_PAS FIFO Full in sem_slow.
#define MSEM_REG_EXT_STORE_IF_FULL 0x1801204UL //Access:R DataWidth:0x1 // EXT_STORE IF is full in sem_slow_ls_ext.
#define MSEM_REG_FIC_FULL 0x1801220UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO full in sem_slow_fic.
@@ -82976,7 +86108,7 @@
#define MSEM_REG_INT_TABLE_SIZE 256
#define MSEM_REG_FIC_COUNTER_GROUP_E5 0x1811000UL //Access:RW DataWidth:0x8 // This field enables a RD/WR access to the 24 counters of the "FIC Counters".
#define MSEM_REG_FIC_COUNTER_GROUP_SIZE 24
-#define MSEM_REG_PB_THRD_STM_GROUP_E5 0x1812000UL //Access:R DataWidth:0x17 // Read the State mahcine state of teh trheads. 0:4 - state. 5 - pending ready. 7:6 - Affinity type. 8 - Destination FOC. 9 - Destination Storm. 10 - counter increment ready. 15:11 - counter index. 16 - Debug monitor enable. 17 - Exlucsive. 22:18 - DRA size.
+#define MSEM_REG_PB_THRD_STM_GROUP_E5 0x1812000UL //Access:R DataWidth:0x18 // Read the State mahcine state of teh trheads. 0:3 - state. 5:4 - Pending FOC cnt 6 - pending ready. 8:7 - Affinity type. 9 - Destination FOC. 10 - Destination Storm. 11 - counter increment ready. 16:12 - counter index. 17 - Debug monitor enable. 18 - Exlucsive. 22:19 - DRA size.
#define MSEM_REG_PB_THRD_STM_GROUP_SIZE 56
#define MSEM_REG_PASSIVE_BUFFER 0x1820000UL //Access:R DataWidth:0x20 // Passive buffer memory read only.
#define MSEM_REG_PASSIVE_BUFFER_SIZE_BB_K2 4320
@@ -83027,7 +86159,7 @@
#define USEM_REG_ENABLE_OUT_STALL_ENABLE_OUT_BB_K2_SHIFT 5
#define USEM_REG_FIC_DISABLE_BB_K2 0x190000cUL //Access:RW DataWidth:0x1 // Disables input messages from all FIC interfaces. May be updated during run_time by the microcode.
#define USEM_REG_PAS_DISABLE_BB_K2 0x1900010UL //Access:RW DataWidth:0x1 // Disables input messages from the passive buffer May be updated during run_time by the microcode.
-#define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1900014UL //Access:RW DataWidth:0x17 // Multi Field Register.
+#define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_E5 0x1900014UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5 (0xf<<0) // Passive Buffer write WRR weight value for FIC source.
#define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_FIC_WEIGHT_E5_SHIFT 0
#define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA RD A source.
@@ -83036,11 +86168,9 @@
#define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for SDM source.
#define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_SDM_WEIGHT_E5_SHIFT 12
- #define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_RR_EMPTY_CNT_E5_SHIFT 16
- #define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
- #define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 20
-#define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1900018UL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FIC, 010 - DRA RD A, 011 - DRA RD B, 100 - SDM.
+ #define USEM_REG_PASSIVE_BUFFER_WRITE_WRR_ARBITER_PB_WR_STRICT_SRC_E5_SHIFT 16
+#define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_E5 0x1900018UL //Access:RW DataWidth:0x13 // Multi Field Register.
#define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5 (0xf<<0) // Passive Buffer WRR weight value for FOC source.
#define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_FOC_WEIGHT_E5_SHIFT 0
#define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_A_WEIGHT_E5 (0xf<<4) // Passive Buffer write WRR weight value for DRA WR A source.
@@ -83049,11 +86179,9 @@
#define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_DRA_B_WEIGHT_E5_SHIFT 8
#define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5 (0xf<<12) // Passive Buffer write WRR weight value for GRC source.
#define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_GRC_WEIGHT_E5_SHIFT 12
- #define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_RR_EMPTY_CNT_E5_SHIFT 16
- #define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
- #define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 20
-#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x190001cUL //Access:RW DataWidth:0x17 // Multi Field Register.
+ #define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 000 - None, 001 - FOC, 010 - DRA RD A, 011 - DRA RD B, 100 - GRC.
+ #define USEM_REG_PASSIVE_BUFFER_READ_WRR_ARBITER_PB_RD_STRICT_SRC_E5_SHIFT 16
+#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_E5 0x190001cUL //Access:RW DataWidth:0x13 // Multi Field Register.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-A source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC0_A_WEIGHT_E5_SHIFT 0
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_FIC1_A_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for FIC1-a (if exist) source.
@@ -83062,48 +86190,40 @@
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO0_A_WEIGHT_E5_SHIFT 8
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5 (0xf<<12) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-A source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_PRIO1_A_WEIGHT_E5_SHIFT 12
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5 (0xf<<16) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_RR_EMPTY_CNT_E5_SHIFT 16
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<20) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 20
-#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1900020UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5 (0x7<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1, 4 - FIC1.
+ #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER0_PB_QUE_ARB0_STRICT_SRC_E5_SHIFT 16
+#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_E5 0x1900020UL //Access:RW DataWidth:0xe // Multi Field Register.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-X source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_FIC0_X_WEIGHT_E5_SHIFT 0
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-X source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO0_X_WEIGHT_E5_SHIFT 4
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-X source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_PRIO1_X_WEIGHT_E5_SHIFT 8
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_RR_EMPTY_CNT_E5_SHIFT 12
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 16
-#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1900024UL //Access:RW DataWidth:0x12 // Multi Field Register.
+ #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER1_PB_QUE_ARB1_STRICT_SRC_E5_SHIFT 12
+#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_E5 0x1900024UL //Access:RW DataWidth:0xe // Multi Field Register.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for FIC0-B source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_FIC0_B_WEIGHT_E5_SHIFT 0
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for PRIO0-B source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO0_B_WEIGHT_E5_SHIFT 4
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5 (0xf<<8) // Passive Buffer Queue Arbiter WRR weight value for PRIO1-B source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_PRIO1_B_WEIGHT_E5_SHIFT 8
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5 (0xf<<12) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_RR_EMPTY_CNT_E5_SHIFT 12
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<16) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 16
-#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1900028UL //Access:RW DataWidth:0xe // Multi Field Register.
+ #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - FIC0, 2- Prio0, 3 - Prio1.
+ #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER2_PB_QUE_ARB2_STRICT_SRC_E5_SHIFT 12
+#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_E5 0x1900028UL //Access:RW DataWidth:0xf // Multi Field Register.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity A source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_A_WEIGHT_E5_SHIFT 0
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_RR_EMPTY_CNT_E5_SHIFT 8
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5 (0x3<<12) // This register defines if one of the source of the PB WR arbiter should have strict priority: 0 - None, 1 - AFFINITY A, 2- AFFINITY X.
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_STRICT_SRC_E5_SHIFT 12
-#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x190002cUL //Access:RW DataWidth:0xc // Multi Field Register.
+ #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter3 will select with strict priority the threads assigned to Affinity A.
+ #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER3_PB_QUE_ARB3_AFFINITY_A_THRESH_E5_SHIFT 8
+#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_E5 0x190002cUL //Access:RW DataWidth:0xf // Multi Field Register.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5 (0xf<<0) // Passive Buffer Queue Arbiter WRR weight value for Affinity B source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_B_WEIGHT_E5_SHIFT 0
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5 (0xf<<4) // Passive Buffer Queue Arbiter WRR weight value for Affinity X source.
#define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_AFFIN_X_WEIGHT_E5_SHIFT 4
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5 (0xf<<8) // This register defines the number of cycles the WRR arbiter source should not have a request for its weight to be decremented.
- #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_RR_EMPTY_CNT_E5_SHIFT 8
+ #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5 (0x7f<<8) // This register sets the number of allocated threads for Affinity X queue (for both Stroms) which when exceeded, then the Arbiter4 will select with strict priority the threads assigned to Affinity B.
+ #define USEM_REG_PASSIVE_BUFFER_QUEUE_ARBITER4_PB_QUE_ARB4_AFFINITY_B_THRESH_E5_SHIFT 8
#define USEM_REG_PASSIVE_BUFFER_DRA_WR_E5 0x1900030UL //Access:RW DataWidth:0x4 // Multi Field Register.
#define USEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5 (0x1<<0) // Enable DRA Write to transactions towards the SEM_PD Core A.
#define USEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_EN_A_E5_SHIFT 0
@@ -83113,7 +86233,7 @@
#define USEM_REG_PASSIVE_BUFFER_DRA_WR_PB_DRA_WR_PEND_BLOCK_EN_E5_SHIFT 2
#define USEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5 (0x1<<3) // When set, the Affintiy field of the thread is set to CoreA (regardless to the Afficnity received from CM).
#define USEM_REG_PASSIVE_BUFFER_DRA_WR_PB_AFFINITY_CORE_A_ONLY_E5_SHIFT 3
-#define USEM_REG_INT_STS_0 0x1900040UL //Access:R DataWidth:0x20 // Multi Field Register.
+#define USEM_REG_INT_STS_0 0x1900040UL //Access:R DataWidth:0x1f // Multi Field Register.
#define USEM_REG_INT_STS_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define USEM_REG_INT_STS_0_ADDRESS_ERROR_SHIFT 0
#define USEM_REG_INT_STS_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -83122,9 +86242,9 @@
#define USEM_REG_INT_STS_0_FIC_LENGTH_ERROR_SHIFT 2
#define USEM_REG_INT_STS_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define USEM_REG_INT_STS_0_FIC_FIFO_ERROR_SHIFT 3
- #define USEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define USEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define USEM_REG_INT_STS_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define USEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define USEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define USEM_REG_INT_STS_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define USEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define USEM_REG_INT_STS_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -83134,58 +86254,52 @@
#define USEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define USEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define USEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define USEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define USEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define USEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define USEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define USEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define USEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define USEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define USEM_REG_INT_STS_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define USEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define USEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define USEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define USEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define USEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define USEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define USEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define USEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define USEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define USEM_REG_INT_STS_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define USEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define USEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define USEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define USEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define USEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define USEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define USEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define USEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define USEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define USEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define USEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define USEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define USEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define USEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define USEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define USEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define USEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define USEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define USEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define USEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define USEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define USEM_REG_INT_STS_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define USEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define USEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define USEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define USEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define USEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define USEM_REG_INT_STS_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define USEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define USEM_REG_INT_STS_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define USEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define USEM_REG_INT_STS_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define USEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define USEM_REG_INT_STS_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define USEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define USEM_REG_INT_STS_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define USEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define USEM_REG_INT_STS_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define USEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define USEM_REG_INT_STS_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define USEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define USEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define USEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define USEM_REG_INT_STS_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define USEM_REG_INT_STS_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define USEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define USEM_REG_INT_STS_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define USEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define USEM_REG_INT_STS_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define USEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define USEM_REG_INT_STS_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define USEM_REG_INT_STS_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -83222,19 +86336,23 @@
#define USEM_REG_INT_STS_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define USEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define USEM_REG_INT_STS_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define USEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define USEM_REG_INT_STS_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define USEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define USEM_REG_INT_STS_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define USEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define USEM_REG_INT_STS_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define USEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define USEM_REG_INT_STS_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define USEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define USEM_REG_INT_STS_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define USEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define USEM_REG_INT_STS_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define USEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define USEM_REG_INT_STS_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define USEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define USEM_REG_INT_STS_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define USEM_REG_INT_MASK_0 0x1900044UL //Access:RW DataWidth:0x20 // Multi Field Register.
+#define USEM_REG_INT_MASK_0 0x1900044UL //Access:RW DataWidth:0x1f // Multi Field Register.
#define USEM_REG_INT_MASK_0_ADDRESS_ERROR (0x1<<0) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.ADDRESS_ERROR .
#define USEM_REG_INT_MASK_0_ADDRESS_ERROR_SHIFT 0
#define USEM_REG_INT_MASK_0_FIC_LAST_ERROR (0x1<<1) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.FIC_LAST_ERROR .
@@ -83255,58 +86373,52 @@
#define USEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define USEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_EXT_LOAD_PUSH_ERROR_B .
#define USEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define USEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define USEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define USEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
- #define USEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define USEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
#define USEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define USEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
- #define USEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define USEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_RAM_RD_POP_ERROR .
+ #define USEM_REG_INT_MASK_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define USEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
#define USEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define USEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
- #define USEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define USEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
- #define USEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define USEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
- #define USEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define USEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define USEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define USEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.DBG_FIFO_ERROR .
- #define USEM_REG_INT_MASK_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define USEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
- #define USEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define USEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
- #define USEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define USEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
- #define USEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define USEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
- #define USEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define USEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
- #define USEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define USEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
- #define USEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define USEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
- #define USEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define USEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
- #define USEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define USEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
- #define USEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
- #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define USEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
- #define USEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define USEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_RAM_WR_PUSH_ERROR .
+ #define USEM_REG_INT_MASK_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define USEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_A .
+ #define USEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define USEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR_B .
+ #define USEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define USEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.EXT_THREAD_OOR_ERROR .
+ #define USEM_REG_INT_MASK_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define USEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.EXT_STORE_TAG_ODER_ERROR .
+ #define USEM_REG_INT_MASK_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define USEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.FIC1_AFFINITY_FIELD_ERROR .
+ #define USEM_REG_INT_MASK_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define USEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.EXT_LD_LEN_ERROR .
+ #define USEM_REG_INT_MASK_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define USEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.PB_QUE_ARB_THRD_RDY_ERROR .
+ #define USEM_REG_INT_MASK_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define USEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_FOC_FIFO_ERROR .
+ #define USEM_REG_INT_MASK_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define USEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.PB_QUE_ARB_QUEUES_ERROR .
+ #define USEM_REG_INT_MASK_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define USEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_A .
+ #define USEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define USEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.STORM_MOVRIND_USES_BAR_ATTN_B .
+ #define USEM_REG_INT_MASK_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC0 .
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC1 .
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC2 .
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC3 .
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC4 .
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CREDIT_ERROR_FOC5 .
+ #define USEM_REG_INT_MASK_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define USEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.FOC_PRE_FETCH_FIFO_ERROR .
+ #define USEM_REG_INT_MASK_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define USEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.FIC_PRE_FETCH_FIFO_ERROR .
+ #define USEM_REG_INT_MASK_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define USEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.PAS_BUF_FIFO_ERROR .
#define USEM_REG_INT_MASK_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define USEM_REG_INT_MASK_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_FIN_POP_ERROR .
@@ -83343,19 +86455,23 @@
#define USEM_REG_INT_MASK_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define USEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_EXT_LOAD_POP_ERROR .
#define USEM_REG_INT_MASK_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define USEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_RAM_RD_PUSH_ERROR .
+ #define USEM_REG_INT_MASK_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define USEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_RAM_WR_POP_ERROR .
#define USEM_REG_INT_MASK_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define USEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_DBG_PUSH_ERROR .
#define USEM_REG_INT_MASK_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define USEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.SYNC_DBG_POP_ERROR .
#define USEM_REG_INT_MASK_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define USEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.DBG_FIFO_ERROR .
+ #define USEM_REG_INT_MASK_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define USEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.CAM_MSB2_INP_FIFO .
#define USEM_REG_INT_MASK_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define USEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.VFC_INTERRUPT .
#define USEM_REG_INT_MASK_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define USEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // This bit masks, when set, the Interrupt bit: USEM_REG_INT_STS_0.VFC_OUT_FIFO_ERROR .
#define USEM_REG_INT_MASK_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define USEM_REG_INT_STS_WR_0 0x1900048UL //Access:WR DataWidth:0x20 // Multi Field Register.
+#define USEM_REG_INT_STS_WR_0 0x1900048UL //Access:WR DataWidth:0x1f // Multi Field Register.
#define USEM_REG_INT_STS_WR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define USEM_REG_INT_STS_WR_0_ADDRESS_ERROR_SHIFT 0
#define USEM_REG_INT_STS_WR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -83364,9 +86480,9 @@
#define USEM_REG_INT_STS_WR_0_FIC_LENGTH_ERROR_SHIFT 2
#define USEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define USEM_REG_INT_STS_WR_0_FIC_FIFO_ERROR_SHIFT 3
- #define USEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define USEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define USEM_REG_INT_STS_WR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define USEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define USEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define USEM_REG_INT_STS_WR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define USEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define USEM_REG_INT_STS_WR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -83376,58 +86492,52 @@
#define USEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define USEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define USEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define USEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define USEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define USEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define USEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define USEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define USEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define USEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define USEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define USEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define USEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define USEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define USEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define USEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define USEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define USEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define USEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define USEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define USEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define USEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define USEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define USEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define USEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define USEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define USEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define USEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define USEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define USEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define USEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define USEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define USEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define USEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define USEM_REG_INT_STS_WR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define USEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define USEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define USEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define USEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define USEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define USEM_REG_INT_STS_WR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define USEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define USEM_REG_INT_STS_WR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define USEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define USEM_REG_INT_STS_WR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define USEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define USEM_REG_INT_STS_WR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define USEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define USEM_REG_INT_STS_WR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define USEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define USEM_REG_INT_STS_WR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define USEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define USEM_REG_INT_STS_WR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define USEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define USEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define USEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define USEM_REG_INT_STS_WR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define USEM_REG_INT_STS_WR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define USEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define USEM_REG_INT_STS_WR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define USEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define USEM_REG_INT_STS_WR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define USEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define USEM_REG_INT_STS_WR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define USEM_REG_INT_STS_WR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -83464,19 +86574,23 @@
#define USEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define USEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define USEM_REG_INT_STS_WR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define USEM_REG_INT_STS_WR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define USEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define USEM_REG_INT_STS_WR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define USEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define USEM_REG_INT_STS_WR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define USEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define USEM_REG_INT_STS_WR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define USEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define USEM_REG_INT_STS_WR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define USEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define USEM_REG_INT_STS_WR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define USEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
#define USEM_REG_INT_STS_WR_0_VFC_INTERRUPT_BB_K2_SHIFT 30
#define USEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2 (0x1<<31) // Error interrupt in output VFC FIFO inside SEM_PD block.
#define USEM_REG_INT_STS_WR_0_VFC_OUT_FIFO_ERROR_BB_K2_SHIFT 31
-#define USEM_REG_INT_STS_CLR_0 0x190004cUL //Access:RC DataWidth:0x20 // Multi Field Register.
+#define USEM_REG_INT_STS_CLR_0 0x190004cUL //Access:RC DataWidth:0x1f // Multi Field Register.
#define USEM_REG_INT_STS_CLR_0_ADDRESS_ERROR (0x1<<0) // Signals an unknown address to the rf module.
#define USEM_REG_INT_STS_CLR_0_ADDRESS_ERROR_SHIFT 0
#define USEM_REG_INT_STS_CLR_0_FIC_LAST_ERROR (0x1<<1) // Last from FIC is not equal to length on any one of the FIC interfaces.
@@ -83485,9 +86599,9 @@
#define USEM_REG_INT_STS_CLR_0_FIC_LENGTH_ERROR_SHIFT 2
#define USEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR (0x1<<3) // Error in any one of the FIC FIFO is active.
#define USEM_REG_INT_STS_CLR_0_FIC_FIFO_ERROR_SHIFT 3
- #define USEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time.
+ #define USEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5 (0x1<<4) // DRA_RD_A last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define USEM_REG_INT_STS_CLR_0_DRA_RD_A_LAST_ERROR_E5_SHIFT 4
- #define USEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time.
+ #define USEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5 (0x1<<5) // DRA_RD_B last indication was unexpectedly received or was not received at expected time. Or, the DRA RD prefetch FIFO indicated an error.
#define USEM_REG_INT_STS_CLR_0_DRA_RD_B_LAST_ERROR_E5_SHIFT 5
#define USEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5 (0x1<<6) // Error in external store slow sync FIFO pop logic of Storm A.
#define USEM_REG_INT_STS_CLR_0_SYNC_EXT_STORE_POP_ERROR_A_E5_SHIFT 6
@@ -83497,58 +86611,52 @@
#define USEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_A_E5_SHIFT 8
#define USEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5 (0x1<<9) // Error in external load sync slow FIFO pop logic.
#define USEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_B_E5_SHIFT 9
- #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
- #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_E5_SHIFT 10
#define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2 (0x1<<23) // Error in LS_SYNC_POP FIFO.
#define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_BB_K2_SHIFT 23
- #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_POP FIFO.
- #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 11
+ #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5 (0x1<<10) // Error in slow LS_SYNC_POP FIFO.
+ #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_POP_ERROR_E5_SHIFT 10
#define USEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2 (0x1<<25) // Error in LS_SYNC_PUSH FIFO.
#define USEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_BB_K2_SHIFT 25
- #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 12
- #define USEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<13) // Error in slow LS_SYNC_PUSH FIFO.
- #define USEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 13
- #define USEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<14) // Error in slow LS_SYNC_POP FIFO.
- #define USEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 14
- #define USEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
- #define USEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
- #define USEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5 (0x1<<15) // Error in slow debug fifo
- #define USEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_E5_SHIFT 15
- #define USEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<16) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
- #define USEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 16
- #define USEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<17) // Error detected in the ext Stroe interface internal TAG order ID.
- #define USEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 17
- #define USEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<18) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
- #define USEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 18
- #define USEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<19) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
- #define USEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 19
- #define USEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<20) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
- #define USEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 20
- #define USEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<21) // Error indication on FOC sync FIFO.
- #define USEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 21
- #define USEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<22) // The error indicates on an error of one the threads READY queues.
- #define USEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 22
- #define USEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<23) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define USEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 23
- #define USEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<24) // Marks that the indirect register of MOVRIND is located in the storm bar region.
- #define USEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 24
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<25) // FOC0 is out of credit.
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 25
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<26) // FOC1 is out of credit.
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 26
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<27) // FOC2 is out of credit.
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 27
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<28) // FOC3 is out of credit.
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 28
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<29) // FOC4 is out of credit.
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 29
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<30) // FOC5 is out of credit.
- #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 30
- #define USEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<31) // Error indication of foc pre_fetch fifo.
- #define USEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 31
+ #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5 (0x1<<11) // Error in slow LS_SYNC_PUSH FIFO.
+ #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_PUSH_ERROR_E5_SHIFT 11
+ #define USEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5 (0x1<<12) // Error in slow LS_SYNC_PUSH FIFO.
+ #define USEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_A_E5_SHIFT 12
+ #define USEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5 (0x1<<13) // Error in slow LS_SYNC_POP FIFO.
+ #define USEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_B_E5_SHIFT 13
+ #define USEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5 (0x1<<14) // Indicates that a DMA request cycle was received which had an out-of-range thread ID encoded into the passive buffer address.
+ #define USEM_REG_INT_STS_CLR_0_EXT_THREAD_OOR_ERROR_E5_SHIFT 14
+ #define USEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5 (0x1<<15) // Error detected in the ext Stroe interface internal TAG order ID.
+ #define USEM_REG_INT_STS_CLR_0_EXT_STORE_TAG_ODER_ERROR_E5_SHIFT 15
+ #define USEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5 (0x1<<16) // Indicates that FIC1 affinity field is not "Storm A". (Error since FIC1 messages can only be designated to run on Storm A)
+ #define USEM_REG_INT_STS_CLR_0_FIC1_AFFINITY_FIELD_ERROR_E5_SHIFT 16
+ #define USEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5 (0x1<<17) // Indicates that the Storm requested an external load transfer in which the length was larger than the supported length, based on the external load FIFO depth.
+ #define USEM_REG_INT_STS_CLR_0_EXT_LD_LEN_ERROR_E5_SHIFT 17
+ #define USEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5 (0x1<<18) // Indicates that Passive Buffer State machine has unexpectedly received a ready indication in the following cases: a. Thread STM is not at "Running", "DRA RD" , "Sleeping 0", Sleeping 1", "Partial FIN Pending FOC" or "Ready FOC" state. b. Pending Ready indication is already asserted.
+ #define USEM_REG_INT_STS_CLR_0_PB_QUE_ARB_THRD_RDY_ERROR_E5_SHIFT 18
+ #define USEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5 (0x1<<19) // Error indication on FOC sync FIFO.
+ #define USEM_REG_INT_STS_CLR_0_SYNC_FOC_FIFO_ERROR_E5_SHIFT 19
+ #define USEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5 (0x1<<20) // The error indicates on an error of one the threads READY queues.
+ #define USEM_REG_INT_STS_CLR_0_PB_QUE_ARB_QUEUES_ERROR_E5_SHIFT 20
+ #define USEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5 (0x1<<21) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define USEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_A_E5_SHIFT 21
+ #define USEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5 (0x1<<22) // Marks that the indirect register of MOVRIND is located in the storm bar region.
+ #define USEM_REG_INT_STS_CLR_0_STORM_MOVRIND_USES_BAR_ATTN_B_E5_SHIFT 22
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5 (0x1<<23) // FOC0 is out of credit.
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC0_E5_SHIFT 23
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5 (0x1<<24) // FOC1 is out of credit.
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC1_E5_SHIFT 24
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5 (0x1<<25) // FOC2 is out of credit.
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC2_E5_SHIFT 25
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5 (0x1<<26) // FOC3 is out of credit.
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC3_E5_SHIFT 26
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5 (0x1<<27) // FOC4 is out of credit.
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC4_E5_SHIFT 27
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5 (0x1<<28) // FOC5 is out of credit.
+ #define USEM_REG_INT_STS_CLR_0_CREDIT_ERROR_FOC5_E5_SHIFT 28
+ #define USEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<29) // Error indication of foc pre_fetch fifo.
+ #define USEM_REG_INT_STS_CLR_0_FOC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 29
+ #define USEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5 (0x1<<30) // Error indication of fic pre_fetch fifo.
+ #define USEM_REG_INT_STS_CLR_0_FIC_PRE_FETCH_FIFO_ERROR_E5_SHIFT 30
#define USEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2 (0x1<<4) // Error in Ext PAS_FIFO is active.
#define USEM_REG_INT_STS_CLR_0_PAS_BUF_FIFO_ERROR_BB_K2_SHIFT 4
#define USEM_REG_INT_STS_CLR_0_SYNC_FIN_POP_ERROR_BB_K2 (0x1<<5) // Error in DRA_FIN_POP_SYNC_FIFO is active.
@@ -83585,12 +86693,16 @@
#define USEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_PUSH_ERROR_BB_K2_SHIFT 20
#define USEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2 (0x1<<21) // Error in external load sync FIFO pop logic.
#define USEM_REG_INT_STS_CLR_0_SYNC_EXT_LOAD_POP_ERROR_BB_K2_SHIFT 21
+ #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2 (0x1<<22) // Error in LS_SYNC_PUSH FIFO.
+ #define USEM_REG_INT_STS_CLR_0_SYNC_RAM_RD_PUSH_ERROR_BB_K2_SHIFT 22
#define USEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2 (0x1<<24) // Error in LS_SYNC_POP FIFO.
#define USEM_REG_INT_STS_CLR_0_SYNC_RAM_WR_POP_ERROR_BB_K2_SHIFT 24
#define USEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2 (0x1<<26) // Error in LS_SYNC_PUSH FIFO.
#define USEM_REG_INT_STS_CLR_0_SYNC_DBG_PUSH_ERROR_BB_K2_SHIFT 26
#define USEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2 (0x1<<27) // Error in LS_SYNC_POP FIFO.
#define USEM_REG_INT_STS_CLR_0_SYNC_DBG_POP_ERROR_BB_K2_SHIFT 27
+ #define USEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2 (0x1<<28) // Error in slow debug fifo.
+ #define USEM_REG_INT_STS_CLR_0_DBG_FIFO_ERROR_BB_K2_SHIFT 28
#define USEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2 (0x1<<29) // Error in CAM_MSB2_INP fifo in cam block.
#define USEM_REG_INT_STS_CLR_0_CAM_MSB2_INP_FIFO_BB_K2_SHIFT 29
#define USEM_REG_INT_STS_CLR_0_VFC_INTERRUPT_BB_K2 (0x1<<30) // Error interrupt in VFC block.
@@ -84213,13 +87325,21 @@
#define USEM_REG_INT_STS_CLR_2_FIN_GRC_IOR_MAP_OUT_OF_RANGE_ERROR_B_E5_SHIFT 29
#define USEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5 (0x1<<30) // This error indicates on an unalligned wire access to PRAM via SDM.
#define USEM_REG_INT_STS_CLR_2_SDM_PRAM_UNALLIGNED_WR_ACCESS_ERROR_E5_SHIFT 30
-#define USEM_REG_PRTY_MASK 0x19000ccUL //Access:RW DataWidth:0x3 // Multi Field Register.
+#define USEM_REG_PRTY_MASK 0x19000ccUL //Access:RW DataWidth:0x5 // Multi Field Register.
#define USEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR (0x1<<0) // This bit masks, when set, the Parity bit: USEM_REG_PRTY_STS.VFC_RBC_PARITY_ERROR .
#define USEM_REG_PRTY_MASK_VFC_RBC_PARITY_ERROR_SHIFT 0
- #define USEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR (0x1<<1) // This bit masks, when set, the Parity bit: USEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
- #define USEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_SHIFT 1
- #define USEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR (0x1<<2) // This bit masks, when set, the Parity bit: USEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
- #define USEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_SHIFT 2
+ #define USEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5 (0x1<<1) // This bit masks, when set, the Parity bit: USEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_A .
+ #define USEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_A_E5_SHIFT 1
+ #define USEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5 (0x1<<2) // This bit masks, when set, the Parity bit: USEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR_B .
+ #define USEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_B_E5_SHIFT 2
+ #define USEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2 (0x1<<2) // This bit masks, when set, the Parity bit: USEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define USEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_BB_K2_SHIFT 2
+ #define USEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5 (0x1<<3) // This bit masks, when set, the Parity bit: USEM_REG_PRTY_STS.REG_GEN_PARITY_ERROR .
+ #define USEM_REG_PRTY_MASK_REG_GEN_PARITY_ERROR_E5_SHIFT 3
+ #define USEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5 (0x1<<4) // This bit masks, when set, the Parity bit: USEM_REG_PRTY_STS.PRAM_PARITY_ERROR .
+ #define USEM_REG_PRTY_MASK_PRAM_PARITY_ERROR_E5_SHIFT 4
+ #define USEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2 (0x1<<1) // This bit masks, when set, the Parity bit: USEM_REG_PRTY_STS.STORM_RF_PARITY_ERROR .
+ #define USEM_REG_PRTY_MASK_STORM_RF_PARITY_ERROR_BB_K2_SHIFT 1
#define USEM_REG_PRTY_MASK_H_0_BB_K2 0x1900204UL //Access:RW DataWidth:0x6 // Multi Field Register.
#define USEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2 (0x1<<0) // This bit masks, when set, the Parity bit: USEM_REG_PRTY_STS_H_0.MEM005_I_ECC_0_RF_INT .
#define USEM_REG_PRTY_MASK_H_0_MEM005_I_ECC_0_RF_INT_BB_K2_SHIFT 0
@@ -84287,14 +87407,14 @@
#define USEM_REG_ARB_AS_DEF_SIZE 32
#define USEM_REG_ARB_TS_AS_BB_K2 0x1900a80UL //Access:RW DataWidth:0x2 // Register array that defines the main DRA arbiter arbitration scheme for each of 20 time slots [0-19].
#define USEM_REG_ARB_TS_AS_SIZE 20
-#define USEM_REG_NUM_OF_THREADS 0x1900b00UL //Access:R DataWidth:0x8 // The number of currently free threads (in invalid state).
+#define USEM_REG_NUM_OF_THREADS 0x1900b00UL //Access:R DataWidth:0x6 // The number of currently free threads (in invalid state).
#define USEM_REG_THREAD_ERROR_LOW_E5 0x1900b04UL //Access:R DataWidth:0x20 // Thread error low indication. Represents threads 31 -0
#define USEM_REG_THREAD_ERROR_BB_K2 0x1900b04UL //Access:R DataWidth:0x10 // Thread error indication.
#define USEM_REG_THREAD_RDY_BB_K2 0x1900b08UL //Access:R DataWidth:0x10 // Thread ready indication.
#define USEM_REG_THREAD_SET_NUM 0x1900b0cUL //Access:W DataWidth:0x6 // Thread ID. Write thread ID will set ready indication for this thread ID.
#define USEM_REG_THREAD_VALID_BB_K2 0x1900b10UL //Access:R DataWidth:0x10 // Valid sleeping threads.
#define USEM_REG_THREADS_LIST_BB_K2 0x1900b14UL //Access:RW DataWidth:0x10 // List of free threads.
-#define USEM_REG_THREAD_NUMBER_E5 0x1900b18UL //Access:RW DataWidth:0x8 // Defines the maixmum number of supported threads in SEMI.
+#define USEM_REG_THREAD_NUMBER_E5 0x1900b18UL //Access:RW DataWidth:0x6 // Defines the maixmum number of supported threads in SEMI.
#define USEM_REG_THREAD_ERROR_HIGH_E5 0x1900b1cUL //Access:R DataWidth:0x18 // Thread error high indication. Represents threads 55-32
#define USEM_REG_FOC_MIN_MESSAGE_CREDIT_E5 0x1900b40UL //Access:RW DataWidth:0x8 // This field defines for each FOC the minimum message reuired for the FOC transfer to start.
#define USEM_REG_FOC_MIN_MESSAGE_CREDIT_SIZE 5
@@ -84316,11 +87436,12 @@
#define USEM_REG_SYNC_FOC_FIFO_WR_ALM_FULL_E5 0x1901010UL //Access:RW DataWidth:0x4 // Almost full for indication for FOC Sync FIFO.
#define USEM_REG_SYNC_SDM_READY_FIFO_WR_ALM_FULL_E5 0x1901014UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM READY FIFO.
#define USEM_REG_SYNC_SDM_INC_FIFO_WR_ALM_FULL_E5 0x1901018UL //Access:RW DataWidth:0x3 // Almost full for indication for SDM Counter Increment FIFO.
-#define USEM_REG_STALL_ON_INT_E5 0x190101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Both cluster Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
+#define USEM_REG_STALL_ON_INT_E5 0x190101cUL //Access:RW DataWidth:0x2 // 00 - No stall. 01 - Only SEMI's Stroms will be stalled on any unmasked error occurrence. 10 - All Stroms will be stalled on any unmasked error occurrence.
#define USEM_REG_FIC0_A_MAX_THRDS_E5 0x1901020UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 A queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define USEM_REG_FIC0_X_MAX_THRDS_E5 0x1901024UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 X queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define USEM_REG_FIC0_B_MAX_THRDS_E5 0x1901028UL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC0 B queue. If FIC0 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
#define USEM_REG_FIC1_A_MAX_THRDS_E5 0x190102cUL //Access:RW DataWidth:0x6 // Defines the maximum supported threads that may be contained in FIC1 A queue. If FIC1 message is received and number of threads equals to the configured value, FIC interface will be stalled untill number of queue threads drops below configured vlaue.
+#define USEM_REG_STALL_ON_BREAKPOINT_E5 0x1901030UL //Access:RW DataWidth:0x1 // 0 - No external stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access). 1 - External stall is asserted when Storm's breakpoint is set (either by PRAM accessed ocpcode or IRAM access).
#define USEM_REG_DRA_EMPTY_BB_K2 0x1901100UL //Access:R DataWidth:0x1 // Dra_empty.
#define USEM_REG_EXT_PAS_EMPTY 0x1901104UL //Access:R DataWidth:0x1 // EXT_PAS FIFO empty in sem_slow.
#define USEM_REG_FIC_EMPTY 0x1901120UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO empty in sem_slow_fic.
@@ -84328,9 +87449,9 @@
#define USEM_REG_SLOW_DRA_FIN_EMPTY_BB_K2 0x1901144UL //Access:R DataWidth:0x1 // FIN fifo is empty in sem_slow_dra_sync.
#define USEM_REG_SLOW_DRA_RD_EMPTY_BB_K2 0x1901148UL //Access:R DataWidth:0x1 // DRA_RD pop fifo is empty in sem_slow_dra_sync.
#define USEM_REG_SLOW_DRA_WR_EMPTY_BB_K2 0x190114cUL //Access:R DataWidth:0x1 // DRA_WR push fifo is empty in sem_slow_dra_sync.
-#define USEM_REG_SLOW_EXT_STORE_EMPTY 0x1901150UL //Access:R DataWidth:0x1 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
+#define USEM_REG_SLOW_EXT_STORE_EMPTY 0x1901150UL //Access:R DataWidth:0x2 // EXT_STORE FIFO is empty in sem_slow_ls_ext.
#define USEM_REG_SLOW_EXT_LOAD_EMPTY 0x1901154UL //Access:R DataWidth:0x2 // EXT_LOAD FIFO is empty in sem_slow_ls_ext, bit 0 FIFO of Core A, bit 1 FIFO of Core B.
-#define USEM_REG_SLOW_RAM_RD_EMPTY 0x1901158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
+#define USEM_REG_SLOW_RAM_RD_EMPTY_BB_K2 0x1901158UL //Access:R DataWidth:0x1 // EXT_RD_RAM FIFO is empty in sem_slow_ls_ext.
#define USEM_REG_SLOW_RAM_WR_EMPTY 0x190115cUL //Access:R DataWidth:0x1 // EXT_WR_RAM FIFO is empty in sem_slow_ls_ext.
#define USEM_REG_SYNC_DBG_EMPTY 0x1901160UL //Access:R DataWidth:0x2 // DBG FAST SYNC FIFO is empty in sem_slow_ls_sync. Bit0 - FOR debug FIFO of Core A. Bit1 - FOR debug FIFO of Core B
#define USEM_REG_THREAD_FIFO_EMPTY_BB_K2 0x1901164UL //Access:R DataWidth:0x1 // Indicates that the thread fifo is empty in sem_slow_dra_wr.
@@ -84338,6 +87459,8 @@
#define USEM_REG_PB_QUEUE_EMPTY_E5 0x190116cUL //Access:R DataWidth:0xb // If 1, the correspongding Queue is empty. Queues numeration: FOC_FIFO_IF - 0, FIC0_FIFO_A - 1, FIC1_FIFO_A - 2, WAKE_FIFO_PRIO_A - 3, WAKE_FIFO_PRI1_A - 4, FIC0_FIFO_X - 5, WAKE_FIFO_PRIO_X - 6, WAKE_FIFO_PRI1_X - 7,FIC0_FIFO_B - 8, WAKE_FIFO_PRIO_B - 9, WAKE_FIFO_PRI1_B - 10.
#define USEM_REG_SYNC_FOC_FIFO_EMPTY_E5 0x1901170UL //Access:R DataWidth:0x1 // FOC FIFO empty indication.
#define USEM_REG_SYNC_FOC_PRE_FETCH_FIFO_EMPTY_E5 0x1901174UL //Access:R DataWidth:0x1 // FOC pre fetch FIFO empty indication.
+#define USEM_REG_FIC_PRE_FETCH_FIFO_EMPTY_E5 0x1901178UL //Access:R DataWidth:0x2 // FIC pre fetch FIFO empty indication. Bit0 - FIC0, BIT1 - FIC1.
+#define USEM_REG_EXT_STORE_PRE_FETCH_FIFO_EMPTY_E5 0x190117cUL //Access:R DataWidth:0x2 // External Store pre fetch FIFO empty indication. Bit0 - Storm_A, BIT1 - Strom_B.
#define USEM_REG_EXT_PAS_FULL 0x1901200UL //Access:R DataWidth:0x1 // EXT_PAS FIFO Full in sem_slow.
#define USEM_REG_EXT_STORE_IF_FULL 0x1901204UL //Access:R DataWidth:0x1 // EXT_STORE IF is full in sem_slow_ls_ext.
#define USEM_REG_FIC_FULL 0x1901220UL //Access:R DataWidth:0x1 // Array of registers reflects associated FIC FIFO full in sem_slow_fic.
@@ -84403,7 +87526,7 @@
#define USEM_REG_INT_TABLE_SIZE 256
#define USEM_REG_FIC_COUNTER_GROUP_E5 0x1911000UL //Access:RW DataWidth:0x8 // This field enables a RD/WR access to the 24 counters of the "FIC Counters".
#define USEM_REG_FIC_COUNTER_GROUP_SIZE 24
-#define USEM_REG_PB_THRD_STM_GROUP_E5 0x1912000UL //Access:R DataWidth:0x17 // Read the State mahcine state of teh trheads. 0:4 - state. 5 - pending ready. 7:6 - Affinity type. 8 - Destination FOC. 9 - Destination Storm. 10 - counter increment ready. 15:11 - counter index. 16 - Debug monitor enable. 17 - Exlucsive. 22:18 - DRA size.
+#define USEM_REG_PB_THRD_STM_GROUP_E5 0x1912000UL //Access:R DataWidth:0x18 // Read the State mahcine state of teh trheads. 0:3 - state. 5:4 - Pending FOC cnt 6 - pending ready. 8:7 - Affinity type. 9 - Destination FOC. 10 - Destination Storm. 11 - counter increment ready. 16:12 - counter index. 17 - Debug monitor enable. 18 - Exlucsive. 22:19 - DRA size.
#define USEM_REG_PB_THRD_STM_GROUP_SIZE 56
#define USEM_REG_PASSIVE_BUFFER 0x1920000UL //Access:R DataWidth:0x20 // Passive buffer memory read only.
#define USEM_REG_PASSIVE_BUFFER_SIZE_BB_K2 2880
diff --git a/sys/dev/qlnx/qlnxe/spad_layout.h b/sys/dev/qlnx/qlnxe/spad_layout.h
index 1f757c4..a89ff79 100644
--- a/sys/dev/qlnx/qlnxe/spad_layout.h
+++ b/sys/dev/qlnx/qlnxe/spad_layout.h
@@ -28,7 +28,6 @@
*
*/
-
/****************************************************************************
* Name: spad_layout.h
*
@@ -98,8 +97,8 @@ extern struct spad_layout g_spad;
#endif /* MDUMP_PARSE_TOOL */
#define TO_OFFSIZE(_offset, _size) \
- (u32)((((u32)(_offset) >> 2) << OFFSIZE_OFFSET_SHIFT) | \
- (((u32)(_size) >> 2) << OFFSIZE_SIZE_SHIFT))
+ (u32)((((u32)(_offset) >> 2) << OFFSIZE_OFFSET_OFFSET) | \
+ (((u32)(_size) >> 2) << OFFSIZE_SIZE_OFFSET))
enum spad_sections {
SPAD_SECTION_TRACE,
@@ -160,13 +159,13 @@ struct static_init {
u32 mim_start_addr; /* 0xe20848 */
u32 ah_pcie_link_params; /* 0xe20850 Stores PCIe link configuration at start, so they can be used later also for Hot-Reset, without the need to re-reading them from nvm cfg. */
#define AH_PCIE_LINK_PARAMS_LINK_SPEED_MASK (0x000000ff)
-#define AH_PCIE_LINK_PARAMS_LINK_SPEED_SHIFT (0)
+#define AH_PCIE_LINK_PARAMS_LINK_SPEED_OFFSET (0)
#define AH_PCIE_LINK_PARAMS_LINK_WIDTH_MASK (0x0000ff00)
-#define AH_PCIE_LINK_PARAMS_LINK_WIDTH_SHIFT (8)
+#define AH_PCIE_LINK_PARAMS_LINK_WIDTH_OFFSET (8)
#define AH_PCIE_LINK_PARAMS_ASPM_MODE_MASK (0x00ff0000)
-#define AH_PCIE_LINK_PARAMS_ASPM_MODE_SHIFT (16)
+#define AH_PCIE_LINK_PARAMS_ASPM_MODE_OFFSET (16)
#define AH_PCIE_LINK_PARAMS_ASPM_CAP_MASK (0xff000000)
-#define AH_PCIE_LINK_PARAMS_ASPM_CAP_SHIFT (24)
+#define AH_PCIE_LINK_PARAMS_ASPM_CAP_OFFSET (24)
#define AH_PCIE_LINK_PARAMS *((u32*)(STRUCT_OFFSET(ah_pcie_link_params)))
u32 flags; /* 0xe20850 */
@@ -183,6 +182,7 @@ struct static_init {
#define FLAGS_SMBUS_AUX_MODE (1 << 9)
#define FLAGS_PEND_SMBUS_VMAIN_TO_AUX (1 << 10)
#define FLAGS_NVM_CFG_EFUSE_FAILURE (1 << 11)
+#define FLAGS_POWER_TRANSITION (1 << 12)
#define FLAGS_OS_DRV_LOADED (1 << 29)
#define FLAGS_OVER_TEMP_OCCUR (1 << 30)
#define FLAGS_FAN_FAIL_OCCUR (1 << 31)
diff --git a/sys/dev/qlnx/qlnxe/storage_common.h b/sys/dev/qlnx/qlnxe/storage_common.h
index f6312bd..99dc53e 100644
--- a/sys/dev/qlnx/qlnxe/storage_common.h
+++ b/sys/dev/qlnx/qlnxe/storage_common.h
@@ -28,7 +28,6 @@
*
*/
-
#ifndef __STORAGE_COMMON__
#define __STORAGE_COMMON__
/*********************/
@@ -40,25 +39,52 @@
// Each Resource ID is one-one-valued mapped by the driver to a BDQ Resource ID (for instance per port)
#define BDQ_NUM_RESOURCES (4)
-// ID 0 : RQ, ID 1 : IMMEDIATE_DATA:
+// ID 0 : RQ, ID 1 : IMMEDIATE_DATA, ID 2 : TQ
#define BDQ_ID_RQ (0)
#define BDQ_ID_IMM_DATA (1)
-#define BDQ_NUM_IDS (2)
+#define BDQ_ID_TQ (2)
+#define BDQ_NUM_IDS (3)
#define SCSI_NUM_SGES_SLOW_SGL_THR 8
#define BDQ_MAX_EXTERNAL_RING_SIZE (1<<15)
+/* SCSI op codes */
+#define SCSI_OPCODE_COMPARE_AND_WRITE (0x89)
+#define SCSI_OPCODE_WRITE_6 (0x0A)
+#define SCSI_OPCODE_WRITE_10 (0x2A)
+#define SCSI_OPCODE_WRITE_12 (0xAA)
+#define SCSI_OPCODE_WRITE_16 (0x8A)
+#define SCSI_OPCODE_WRITE_AND_VERIFY_10 (0x2E)
+#define SCSI_OPCODE_WRITE_AND_VERIFY_12 (0xAE)
+#define SCSI_OPCODE_WRITE_AND_VERIFY_16 (0x8E)
+/*
+ * iSCSI Drv opaque
+ */
+struct iscsi_drv_opaque
+{
+ __le16 reserved_zero[3];
+ __le16 opaque;
+};
/*
+ * Scsi 2B/8B opaque union
+ */
+union scsi_opaque
+{
+ struct regpair fcoe_opaque /* 8 Bytes opaque */;
+ struct iscsi_drv_opaque iscsi_opaque /* 2 Bytes opaque */;
+};
+
+/*
* SCSI buffer descriptor
*/
struct scsi_bd
{
struct regpair address /* Physical Address of buffer */;
- struct regpair opaque /* Driver Metadata (preferably Virtual Address of buffer) */;
+ union scsi_opaque opaque /* Driver Metadata (preferably Virtual Address of buffer) */;
};
@@ -131,24 +157,28 @@ struct scsi_init_func_queues
#define SCSI_INIT_FUNC_QUEUES_IMM_DATA_VALID_SHIFT 1
#define SCSI_INIT_FUNC_QUEUES_CMD_VALID_MASK 0x1
#define SCSI_INIT_FUNC_QUEUES_CMD_VALID_SHIFT 2
-#define SCSI_INIT_FUNC_QUEUES_RESERVED_VALID_MASK 0x1F
-#define SCSI_INIT_FUNC_QUEUES_RESERVED_VALID_SHIFT 3
+#define SCSI_INIT_FUNC_QUEUES_TQ_VALID_MASK 0x1
+#define SCSI_INIT_FUNC_QUEUES_TQ_VALID_SHIFT 3
+#define SCSI_INIT_FUNC_QUEUES_TMWO_EN_MASK 0x1 /* This bit is valid if TQ is enabled for this function, tmwo option enabled/disabled */
+#define SCSI_INIT_FUNC_QUEUES_TMWO_EN_SHIFT 4
+#define SCSI_INIT_FUNC_QUEUES_RESERVED_VALID_MASK 0x7
+#define SCSI_INIT_FUNC_QUEUES_RESERVED_VALID_SHIFT 5
+ __le16 cq_cmdq_sb_num_arr[NUM_OF_CMDQS_CQS] /* CQ/CMDQ status block number array */;
u8 num_queues /* Number of continuous global queues used */;
u8 queue_relative_offset /* offset of continuous global queues used */;
u8 cq_sb_pi /* Protocol Index of CQ in status block (CQ consumer) */;
u8 cmdq_sb_pi /* Protocol Index of CMDQ in status block (CMDQ consumer) */;
- __le16 cq_cmdq_sb_num_arr[NUM_OF_CMDQS_CQS] /* CQ/CMDQ status block number array */;
- __le16 reserved0 /* reserved */;
u8 bdq_pbl_num_entries[BDQ_NUM_IDS] /* Per BDQ ID, the PBL page size (number of entries in PBL) */;
+ u8 reserved1 /* reserved */;
struct regpair bdq_pbl_base_address[BDQ_NUM_IDS] /* Per BDQ ID, the PBL page Base Address */;
__le16 bdq_xoff_threshold[BDQ_NUM_IDS] /* BDQ XOFF threshold - when number of entries will be below that TH, it will send XOFF */;
- __le16 bdq_xon_threshold[BDQ_NUM_IDS] /* BDQ XON threshold - when number of entries will be above that TH, it will send XON */;
__le16 cmdq_xoff_threshold /* CMDQ XOFF threshold - when number of entries will be below that TH, it will send XOFF */;
+ __le16 bdq_xon_threshold[BDQ_NUM_IDS] /* BDQ XON threshold - when number of entries will be above that TH, it will send XON */;
__le16 cmdq_xon_threshold /* CMDQ XON threshold - when number of entries will be above that TH, it will send XON */;
- __le32 reserved1 /* reserved */;
};
+
/*
* Scsi Drv BDQ Data struct (2 BDQ IDs: 0 - RQ, 1 - Immediate Data)
*/
@@ -194,4 +224,13 @@ struct scsi_terminate_extra_params
u8 reserved[4];
};
+
+/*
+ * SCSI Task Queue Element
+ */
+struct scsi_tqe
+{
+ __le16 itid /* Physical Address of buffer */;
+};
+
#endif /* __STORAGE_COMMON__ */
diff --git a/sys/dev/qlnx/qlnxe/tcp_common.h b/sys/dev/qlnx/qlnxe/tcp_common.h
index 70db22b..bd0e0ba 100644
--- a/sys/dev/qlnx/qlnxe/tcp_common.h
+++ b/sys/dev/qlnx/qlnxe/tcp_common.h
@@ -28,6 +28,7 @@
*
*/
+
#ifndef __TCP_COMMON__
#define __TCP_COMMON__
/********************/
diff --git a/sys/dev/qlxgbe/ql_hw.c b/sys/dev/qlxgbe/ql_hw.c
index 9978cf0..e2e45bc 100644
--- a/sys/dev/qlxgbe/ql_hw.c
+++ b/sys/dev/qlxgbe/ql_hw.c
@@ -1554,6 +1554,8 @@ qla_rcv_stats(qla_host_t *ha, q80_rcv_stats_t *rstat)
rstat->lro_flows_active);
device_printf(dev, "%s: pkts_droped_unknown\t\t%" PRIu64 "\n",
__func__, rstat->pkts_droped_unknown);
+ device_printf(dev, "%s: pkts_cnt_oversized\t\t%" PRIu64 "\n",
+ __func__, rstat->pkts_cnt_oversized);
}
static void
diff --git a/sys/dev/qlxgbe/ql_hw.h b/sys/dev/qlxgbe/ql_hw.h
index 2f95e78..0c71dc2 100644
--- a/sys/dev/qlxgbe/ql_hw.h
+++ b/sys/dev/qlxgbe/ql_hw.h
@@ -748,6 +748,7 @@ typedef struct _q80_rcv_stats {
uint64_t lro_flows_deleted;
uint64_t lro_flows_active;
uint64_t pkts_droped_unknown;
+ uint64_t pkts_cnt_oversized;
} __packed q80_rcv_stats_t;
typedef struct _q80_xmt_stats {
diff --git a/sys/dev/qlxgbe/ql_isr.c b/sys/dev/qlxgbe/ql_isr.c
index de8c7f1..8479956 100644
--- a/sys/dev/qlxgbe/ql_isr.c
+++ b/sys/dev/qlxgbe/ql_isr.c
@@ -987,7 +987,8 @@ ql_isr(void *arg)
fp = &ha->tx_fp[idx];
- if (fp->fp_taskqueue != NULL)
+ if ((fp->fp_taskqueue != NULL) &&
+ (ifp->if_drv_flags & IFF_DRV_RUNNING))
taskqueue_enqueue(fp->fp_taskqueue, &fp->fp_task);
return;
diff --git a/sys/dev/qlxgbe/ql_os.c b/sys/dev/qlxgbe/ql_os.c
index 931d7e4..735035d 100644
--- a/sys/dev/qlxgbe/ql_os.c
+++ b/sys/dev/qlxgbe/ql_os.c
@@ -925,7 +925,9 @@ qla_set_multi(qla_host_t *ha, uint32_t add_multi)
if_maddr_runlock(ifp);
QLA_LOCK(ha);
- ret = ql_hw_set_multi(ha, mta, mcnt, add_multi);
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
+ ret = ql_hw_set_multi(ha, mta, mcnt, add_multi);
+ }
QLA_UNLOCK(ha);
return (ret);
@@ -1031,20 +1033,16 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
QL_DPRINT4(ha, (ha->pci_dev,
"%s: %s (0x%lx)\n", __func__, "SIOCADDMULTI", cmd));
- if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
- if (qla_set_multi(ha, 1))
- ret = EINVAL;
- }
+ if (qla_set_multi(ha, 1))
+ ret = EINVAL;
break;
case SIOCDELMULTI:
QL_DPRINT4(ha, (ha->pci_dev,
"%s: %s (0x%lx)\n", __func__, "SIOCDELMULTI", cmd));
- if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
- if (qla_set_multi(ha, 0))
- ret = EINVAL;
- }
+ if (qla_set_multi(ha, 0))
+ ret = EINVAL;
break;
case SIOCSIFMEDIA:
@@ -1529,9 +1527,9 @@ qla_stop(qla_host_t *ha)
ha->flags.qla_interface_up = 0;
+ QLA_UNLOCK(ha);
qla_drain_fp_taskqueues(ha);
-
- ql_hw_stop_rcv(ha);
+ QLA_LOCK(ha);
ql_del_hw_if(ha);
@@ -1922,8 +1920,6 @@ qla_error_recovery(void *context, int pending)
ha->hw.imd_compl = 1;
qla_mdelay(__func__, 300);
- ql_hw_stop_rcv(ha);
-
ifp->if_drv_flags &= ~(IFF_DRV_OACTIVE | IFF_DRV_RUNNING);
for (i = 0; i < ha->hw.num_sds_rings; i++) {
@@ -1943,6 +1939,8 @@ qla_error_recovery(void *context, int pending)
QLA_UNLOCK(ha);
+ qla_drain_fp_taskqueues(ha);
+
if ((ha->pci_func & 0x1) == 0) {
if (!ha->msg_from_peer) {
diff --git a/sys/dev/sdhci/fsl_sdhci.c b/sys/dev/sdhci/fsl_sdhci.c
index 7e9a983..788ec58 100644
--- a/sys/dev/sdhci/fsl_sdhci.c
+++ b/sys/dev/sdhci/fsl_sdhci.c
@@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$");
#include <sys/types.h>
#include <sys/bus.h>
#include <sys/callout.h>
-#include <sys/endian.h>
#include <sys/kernel.h>
#include <sys/libkern.h>
#include <sys/lock.h>
@@ -60,15 +59,16 @@ __FBSDID("$FreeBSD$");
#endif
#include <dev/gpio/gpiobusvar.h>
+
#include <dev/ofw/ofw_bus.h>
#include <dev/ofw/ofw_bus_subr.h>
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
-#include <dev/mmc/mmcbrvar.h>
#include <dev/sdhci/sdhci.h>
#include <dev/sdhci/sdhci_fdt_gpio.h>
+
+#include "mmcbr_if.h"
#include "sdhci_if.h"
struct fsl_sdhci_softc {
@@ -961,7 +961,6 @@ static device_method_t fsl_sdhci_methods[] = {
/* Bus interface */
DEVMETHOD(bus_read_ivar, sdhci_generic_read_ivar),
DEVMETHOD(bus_write_ivar, sdhci_generic_write_ivar),
- DEVMETHOD(bus_print_child, bus_generic_print_child),
/* MMC bridge interface */
DEVMETHOD(mmcbr_update_ios, sdhci_generic_update_ios),
@@ -981,7 +980,7 @@ static device_method_t fsl_sdhci_methods[] = {
DEVMETHOD(sdhci_write_multi_4, fsl_sdhci_write_multi_4),
DEVMETHOD(sdhci_get_card_present,fsl_sdhci_get_card_present),
- { 0, 0 }
+ DEVMETHOD_END
};
static devclass_t fsl_sdhci_devclass;
@@ -992,7 +991,7 @@ static driver_t fsl_sdhci_driver = {
sizeof(struct fsl_sdhci_softc),
};
-DRIVER_MODULE(sdhci_fsl, simplebus, fsl_sdhci_driver, fsl_sdhci_devclass, 0, 0);
+DRIVER_MODULE(sdhci_fsl, simplebus, fsl_sdhci_driver, fsl_sdhci_devclass,
+ NULL, NULL);
MODULE_DEPEND(sdhci_fsl, sdhci, 1, 1, 1);
-DRIVER_MODULE(mmc, sdhci_fsl, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(sdhci_fsl, mmc, 1, 1, 1);
+MMC_DECLARE_BRIDGE(sdhci_fsl);
diff --git a/sys/dev/sdhci/sdhci.c b/sys/dev/sdhci/sdhci.c
index 94db7eb..26602ec 100644
--- a/sys/dev/sdhci/sdhci.c
+++ b/sys/dev/sdhci/sdhci.c
@@ -55,18 +55,25 @@ __FBSDID("$FreeBSD$");
SYSCTL_NODE(_hw, OID_AUTO, sdhci, CTLFLAG_RD, 0, "sdhci driver");
static int sdhci_debug;
-SYSCTL_INT(_hw_sdhci, OID_AUTO, debug, CTLFLAG_RWTUN, &sdhci_debug, 0, "Debug level");
-
-#define RD1(slot, off) SDHCI_READ_1((slot)->bus, (slot), (off))
-#define RD2(slot, off) SDHCI_READ_2((slot)->bus, (slot), (off))
-#define RD4(slot, off) SDHCI_READ_4((slot)->bus, (slot), (off))
-#define RD_MULTI_4(slot, off, ptr, count) \
+SYSCTL_INT(_hw_sdhci, OID_AUTO, debug, CTLFLAG_RWTUN, &sdhci_debug, 0,
+ "Debug level");
+u_int sdhci_quirk_clear = 0;
+SYSCTL_INT(_hw_sdhci, OID_AUTO, quirk_clear, CTLFLAG_RWTUN, &sdhci_quirk_clear,
+ 0, "Mask of quirks to clear");
+u_int sdhci_quirk_set = 0;
+SYSCTL_INT(_hw_sdhci, OID_AUTO, quirk_set, CTLFLAG_RWTUN, &sdhci_quirk_set, 0,
+ "Mask of quirks to set");
+
+#define RD1(slot, off) SDHCI_READ_1((slot)->bus, (slot), (off))
+#define RD2(slot, off) SDHCI_READ_2((slot)->bus, (slot), (off))
+#define RD4(slot, off) SDHCI_READ_4((slot)->bus, (slot), (off))
+#define RD_MULTI_4(slot, off, ptr, count) \
SDHCI_READ_MULTI_4((slot)->bus, (slot), (off), (ptr), (count))
-#define WR1(slot, off, val) SDHCI_WRITE_1((slot)->bus, (slot), (off), (val))
-#define WR2(slot, off, val) SDHCI_WRITE_2((slot)->bus, (slot), (off), (val))
-#define WR4(slot, off, val) SDHCI_WRITE_4((slot)->bus, (slot), (off), (val))
-#define WR_MULTI_4(slot, off, ptr, count) \
+#define WR1(slot, off, val) SDHCI_WRITE_1((slot)->bus, (slot), (off), (val))
+#define WR2(slot, off, val) SDHCI_WRITE_2((slot)->bus, (slot), (off), (val))
+#define WR4(slot, off, val) SDHCI_WRITE_4((slot)->bus, (slot), (off), (val))
+#define WR_MULTI_4(slot, off, ptr, count) \
SDHCI_WRITE_MULTI_4((slot)->bus, (slot), (off), (ptr), (count))
static void sdhci_set_clock(struct sdhci_slot *slot, uint32_t clock);
@@ -77,13 +84,17 @@ static void sdhci_card_poll(void *);
static void sdhci_card_task(void *, int);
/* helper routines */
-#define SDHCI_LOCK(_slot) mtx_lock(&(_slot)->mtx)
+static void sdhci_dumpregs(struct sdhci_slot *slot);
+static int slot_printf(struct sdhci_slot *slot, const char * fmt, ...)
+ __printflike(2, 3);
+
+#define SDHCI_LOCK(_slot) mtx_lock(&(_slot)->mtx)
#define SDHCI_UNLOCK(_slot) mtx_unlock(&(_slot)->mtx)
-#define SDHCI_LOCK_INIT(_slot) \
+#define SDHCI_LOCK_INIT(_slot) \
mtx_init(&_slot->mtx, "SD slot mtx", "sdhci", MTX_DEF)
-#define SDHCI_LOCK_DESTROY(_slot) mtx_destroy(&_slot->mtx);
-#define SDHCI_ASSERT_LOCKED(_slot) mtx_assert(&_slot->mtx, MA_OWNED);
-#define SDHCI_ASSERT_UNLOCKED(_slot) mtx_assert(&_slot->mtx, MA_NOTOWNED);
+#define SDHCI_LOCK_DESTROY(_slot) mtx_destroy(&_slot->mtx);
+#define SDHCI_ASSERT_LOCKED(_slot) mtx_assert(&_slot->mtx, MA_OWNED);
+#define SDHCI_ASSERT_UNLOCKED(_slot) mtx_assert(&_slot->mtx, MA_NOTOWNED);
#define SDHCI_DEFAULT_MAX_FREQ 50
@@ -96,19 +107,21 @@ static void sdhci_card_task(void *, int);
/*
* Broadcom BCM577xx Controller Constants
*/
-#define BCM577XX_DEFAULT_MAX_DIVIDER 256 /* Maximum divider supported by the default clock source. */
-#define BCM577XX_ALT_CLOCK_BASE 63000000 /* Alternative clock's base frequency. */
-
-#define BCM577XX_HOST_CONTROL 0x198
-#define BCM577XX_CTRL_CLKSEL_MASK 0xFFFFCFFF
-#define BCM577XX_CTRL_CLKSEL_SHIFT 12
-#define BCM577XX_CTRL_CLKSEL_DEFAULT 0x0
-#define BCM577XX_CTRL_CLKSEL_64MHZ 0x3
+/* Maximum divider supported by the default clock source. */
+#define BCM577XX_DEFAULT_MAX_DIVIDER 256
+/* Alternative clock's base frequency. */
+#define BCM577XX_ALT_CLOCK_BASE 63000000
+#define BCM577XX_HOST_CONTROL 0x198
+#define BCM577XX_CTRL_CLKSEL_MASK 0xFFFFCFFF
+#define BCM577XX_CTRL_CLKSEL_SHIFT 12
+#define BCM577XX_CTRL_CLKSEL_DEFAULT 0x0
+#define BCM577XX_CTRL_CLKSEL_64MHZ 0x3
static void
sdhci_getaddr(void *arg, bus_dma_segment_t *segs, int nsegs, int error)
{
+
if (error != 0) {
printf("getaddr: error %d\n", error);
return;
@@ -122,7 +135,7 @@ slot_printf(struct sdhci_slot *slot, const char * fmt, ...)
va_list ap;
int retval;
- retval = printf("%s-slot%d: ",
+ retval = printf("%s-slot%d: ",
device_get_nameunit(slot->bus), slot->num);
va_start(ap, fmt);
@@ -134,6 +147,7 @@ slot_printf(struct sdhci_slot *slot, const char * fmt, ...)
static void
sdhci_dumpregs(struct sdhci_slot *slot)
{
+
slot_printf(slot,
"============== REGISTER DUMP ==============\n");
@@ -153,10 +167,14 @@ sdhci_dumpregs(struct sdhci_slot *slot)
RD1(slot, SDHCI_TIMEOUT_CONTROL), RD4(slot, SDHCI_INT_STATUS));
slot_printf(slot, "Int enab: 0x%08x | Sig enab: 0x%08x\n",
RD4(slot, SDHCI_INT_ENABLE), RD4(slot, SDHCI_SIGNAL_ENABLE));
- slot_printf(slot, "AC12 err: 0x%08x | Slot int: 0x%08x\n",
- RD2(slot, SDHCI_ACMD12_ERR), RD2(slot, SDHCI_SLOT_INT_STATUS));
- slot_printf(slot, "Caps: 0x%08x | Max curr: 0x%08x\n",
- RD4(slot, SDHCI_CAPABILITIES), RD4(slot, SDHCI_MAX_CURRENT));
+ slot_printf(slot, "AC12 err: 0x%08x | Host ctl2: 0x%08x\n",
+ RD2(slot, SDHCI_ACMD12_ERR), RD2(slot, SDHCI_HOST_CONTROL2));
+ slot_printf(slot, "Caps: 0x%08x | Caps2: 0x%08x\n",
+ RD4(slot, SDHCI_CAPABILITIES), RD4(slot, SDHCI_CAPABILITIES2));
+ slot_printf(slot, "Max curr: 0x%08x | ADMA err: 0x%08x\n",
+ RD4(slot, SDHCI_MAX_CURRENT), RD1(slot, SDHCI_ADMA_ERR));
+ slot_printf(slot, "ADMA addr: 0x%08x | Slot int: 0x%08x\n",
+ RD4(slot, SDHCI_ADMA_ADDRESS_LO), RD2(slot, SDHCI_SLOT_INT_STATUS));
slot_printf(slot,
"===========================================\n");
@@ -166,6 +184,7 @@ static void
sdhci_reset(struct sdhci_slot *slot, uint8_t mask)
{
int timeout;
+ uint32_t clock;
if (slot->quirks & SDHCI_QUIRK_NO_CARD_NO_RESET) {
if (!SDHCI_GET_CARD_PRESENT(slot->bus, slot))
@@ -175,8 +194,6 @@ sdhci_reset(struct sdhci_slot *slot, uint8_t mask)
/* Some controllers need this kick or reset won't work. */
if ((mask & SDHCI_RESET_ALL) == 0 &&
(slot->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET)) {
- uint32_t clock;
-
/* This is to force an update */
clock = slot->clock;
slot->clock = 0;
@@ -195,7 +212,7 @@ sdhci_reset(struct sdhci_slot *slot, uint8_t mask)
* Resets on TI OMAPs and AM335x are incompatible with SDHCI
* specification. The reset bit has internal propagation delay,
* so a fast read after write returns 0 even if reset process is
- * in progress. The workaround is to poll for 1 before polling
+ * in progress. The workaround is to poll for 1 before polling
* for 0. In the worst case, if we miss seeing it asserted the
* time we spent waiting is enough to ensure the reset finishes.
*/
@@ -263,23 +280,28 @@ sdhci_set_clock(struct sdhci_slot *slot, uint32_t clock)
/* Turn off the clock. */
clk = RD2(slot, SDHCI_CLOCK_CONTROL);
WR2(slot, SDHCI_CLOCK_CONTROL, clk & ~SDHCI_CLOCK_CARD_EN);
- /* If no clock requested - left it so. */
+ /* If no clock requested - leave it so. */
if (clock == 0)
return;
-
+
/* Determine the clock base frequency */
clk_base = slot->max_clk;
if (slot->quirks & SDHCI_QUIRK_BCM577XX_400KHZ_CLKSRC) {
- clk_sel = RD2(slot, BCM577XX_HOST_CONTROL) & BCM577XX_CTRL_CLKSEL_MASK;
+ clk_sel = RD2(slot, BCM577XX_HOST_CONTROL) &
+ BCM577XX_CTRL_CLKSEL_MASK;
- /* Select clock source appropriate for the requested frequency. */
+ /*
+ * Select clock source appropriate for the requested frequency.
+ */
if ((clk_base / BCM577XX_DEFAULT_MAX_DIVIDER) > clock) {
clk_base = BCM577XX_ALT_CLOCK_BASE;
- clk_sel |= (BCM577XX_CTRL_CLKSEL_64MHZ << BCM577XX_CTRL_CLKSEL_SHIFT);
+ clk_sel |= (BCM577XX_CTRL_CLKSEL_64MHZ <<
+ BCM577XX_CTRL_CLKSEL_SHIFT);
} else {
- clk_sel |= (BCM577XX_CTRL_CLKSEL_DEFAULT << BCM577XX_CTRL_CLKSEL_SHIFT);
+ clk_sel |= (BCM577XX_CTRL_CLKSEL_DEFAULT <<
+ BCM577XX_CTRL_CLKSEL_SHIFT);
}
-
+
WR2(slot, BCM577XX_HOST_CONTROL, clk_sel);
}
@@ -297,14 +319,13 @@ sdhci_set_clock(struct sdhci_slot *slot, uint32_t clock)
}
/* Divider 1:1 is 0x00, 2:1 is 0x01, 256:1 is 0x80 ... */
div >>= 1;
- }
- else {
- /* Version 3.0 divisors are multiples of two up to 1023*2 */
+ } else {
+ /* Version 3.0 divisors are multiples of two up to 1023 * 2 */
if (clock >= clk_base)
div = 0;
else {
- for (div = 2; div < SDHCI_300_MAX_DIVIDER; div += 2) {
- if ((clk_base / div) <= clock)
+ for (div = 2; div < SDHCI_300_MAX_DIVIDER; div += 2) {
+ if ((clk_base / div) <= clock)
break;
}
}
@@ -312,7 +333,7 @@ sdhci_set_clock(struct sdhci_slot *slot, uint32_t clock)
}
if (bootverbose || sdhci_debug)
- slot_printf(slot, "Divider %d for freq %d (base %d)\n",
+ slot_printf(slot, "Divider %d for freq %d (base %d)\n",
div, clock, clk_base);
/* Now we have got divider, set it. */
@@ -329,7 +350,7 @@ sdhci_set_clock(struct sdhci_slot *slot, uint32_t clock)
while (!((clk = RD2(slot, SDHCI_CLOCK_CONTROL))
& SDHCI_CLOCK_INT_STABLE)) {
if (timeout == 0) {
- slot_printf(slot,
+ slot_printf(slot,
"Internal clock never stabilised.\n");
sdhci_dumpregs(slot);
return;
@@ -355,7 +376,7 @@ sdhci_set_power(struct sdhci_slot *slot, u_char power)
/* Turn off the power. */
pwr = 0;
WR1(slot, SDHCI_POWER_CONTROL, pwr);
- /* If power down requested - left it so. */
+ /* If power down requested - leave it so. */
if (power == 0)
return;
/* Set voltage. */
@@ -491,9 +512,10 @@ sdhci_transfer_pio(struct sdhci_slot *slot)
}
static void
-sdhci_card_task(void *arg, int pending)
+sdhci_card_task(void *arg, int pending __unused)
{
struct sdhci_slot *slot = arg;
+ device_t d;
SDHCI_LOCK(slot);
if (SDHCI_GET_CARD_PRESENT(slot->bus, slot)) {
@@ -512,7 +534,7 @@ sdhci_card_task(void *arg, int pending)
/* If no card present - detach mmc bus. */
if (bootverbose || sdhci_debug)
slot_printf(slot, "Card removed\n");
- device_t d = slot->dev;
+ d = slot->dev;
slot->dev = NULL;
SDHCI_UNLOCK(slot);
device_delete_child(slot->bus, d);
@@ -555,7 +577,7 @@ sdhci_handle_card_present(struct sdhci_slot *slot, bool is_present)
SDHCI_UNLOCK(slot);
}
-static void
+static void
sdhci_card_poll(void *arg)
{
struct sdhci_slot *slot = arg;
@@ -565,11 +587,11 @@ sdhci_card_poll(void *arg)
callout_reset(&slot->card_poll_callout, SDHCI_CARD_PRESENT_TICKS,
sdhci_card_poll, slot);
}
-
+
int
sdhci_init_slot(device_t dev, struct sdhci_slot *slot, int num)
{
- uint32_t caps, freq;
+ uint32_t caps, caps2, freq, host_caps;
int err;
SDHCI_LOCK_INIT(slot);
@@ -603,7 +625,7 @@ sdhci_init_slot(device_t dev, struct sdhci_slot *slot, int num)
if (err != 0 || slot->paddr == 0) {
device_printf(dev, "Can't load DMA memory\n");
SDHCI_LOCK_DESTROY(slot);
- if(err)
+ if (err)
return (err);
else
return (EFAULT);
@@ -611,17 +633,23 @@ sdhci_init_slot(device_t dev, struct sdhci_slot *slot, int num)
/* Initialize slot. */
sdhci_init(slot);
- slot->version = (RD2(slot, SDHCI_HOST_VERSION)
+ slot->version = (RD2(slot, SDHCI_HOST_VERSION)
>> SDHCI_SPEC_VER_SHIFT) & SDHCI_SPEC_VER_MASK;
- if (slot->quirks & SDHCI_QUIRK_MISSING_CAPS)
+ if (slot->quirks & SDHCI_QUIRK_MISSING_CAPS) {
caps = slot->caps;
- else
+ caps2 = slot->caps2;
+ } else {
caps = RD4(slot, SDHCI_CAPABILITIES);
+ if (slot->version >= SDHCI_SPEC_300)
+ caps2 = RD4(slot, SDHCI_CAPABILITIES2);
+ else
+ caps2 = 0;
+ }
/* Calculate base clock frequency. */
if (slot->version >= SDHCI_SPEC_300)
freq = (caps & SDHCI_CLOCK_V3_BASE_MASK) >>
SDHCI_CLOCK_BASE_SHIFT;
- else
+ else
freq = (caps & SDHCI_CLOCK_BASE_MASK) >>
SDHCI_CLOCK_BASE_SHIFT;
if (freq != 0)
@@ -634,7 +662,8 @@ sdhci_init_slot(device_t dev, struct sdhci_slot *slot, int num)
if (slot->max_clk == 0) {
slot->max_clk = SDHCI_DEFAULT_MAX_FREQ * 1000000;
device_printf(dev, "Hardware doesn't specify base clock "
- "frequency, using %dMHz as default.\n", SDHCI_DEFAULT_MAX_FREQ);
+ "frequency, using %dMHz as default.\n",
+ SDHCI_DEFAULT_MAX_FREQ);
}
/* Calculate/set timeout clock frequency. */
if (slot->quirks & SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK) {
@@ -642,8 +671,8 @@ sdhci_init_slot(device_t dev, struct sdhci_slot *slot, int num)
} else if (slot->quirks & SDHCI_QUIRK_DATA_TIMEOUT_1MHZ) {
slot->timeout_clk = 1000;
} else {
- slot->timeout_clk =
- (caps & SDHCI_TIMEOUT_CLK_MASK) >> SDHCI_TIMEOUT_CLK_SHIFT;
+ slot->timeout_clk = (caps & SDHCI_TIMEOUT_CLK_MASK) >>
+ SDHCI_TIMEOUT_CLK_SHIFT;
if (caps & SDHCI_TIMEOUT_CLK_UNIT)
slot->timeout_clk *= 1000;
}
@@ -671,11 +700,45 @@ sdhci_init_slot(device_t dev, struct sdhci_slot *slot, int num)
device_printf(dev, "Hardware doesn't report any "
"support voltages.\n");
}
- slot->host.caps = MMC_CAP_4_BIT_DATA;
+ host_caps = MMC_CAP_4_BIT_DATA;
if (caps & SDHCI_CAN_DO_8BITBUS)
- slot->host.caps |= MMC_CAP_8_BIT_DATA;
+ host_caps |= MMC_CAP_8_BIT_DATA;
if (caps & SDHCI_CAN_DO_HISPD)
- slot->host.caps |= MMC_CAP_HSPEED;
+ host_caps |= MMC_CAP_HSPEED;
+ if (slot->quirks & SDHCI_QUIRK_BOOT_NOACC)
+ host_caps |= MMC_CAP_BOOT_NOACC;
+ if (slot->quirks & SDHCI_QUIRK_WAIT_WHILE_BUSY)
+ host_caps |= MMC_CAP_WAIT_WHILE_BUSY;
+ if (caps2 & (SDHCI_CAN_SDR50 | SDHCI_CAN_SDR104 | SDHCI_CAN_DDR50))
+ host_caps |= MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25;
+ if (caps2 & SDHCI_CAN_SDR104) {
+ host_caps |= MMC_CAP_UHS_SDR104 | MMC_CAP_UHS_SDR50;
+ if (!(slot->quirks & SDHCI_QUIRK_BROKEN_MMC_HS200))
+ host_caps |= MMC_CAP_MMC_HS200;
+ } else if (caps2 & SDHCI_CAN_SDR50)
+ host_caps |= MMC_CAP_UHS_SDR50;
+ if (caps2 & SDHCI_CAN_DDR50 &&
+ !(slot->quirks & SDHCI_QUIRK_BROKEN_UHS_DDR50))
+ host_caps |= MMC_CAP_UHS_DDR50;
+ if (slot->quirks & SDHCI_QUIRK_MMC_DDR52)
+ host_caps |= MMC_CAP_MMC_DDR52;
+ if (slot->quirks & SDHCI_QUIRK_CAPS_BIT63_FOR_MMC_HS400 &&
+ caps2 & SDHCI_CAN_MMC_HS400)
+ host_caps |= MMC_CAP_MMC_HS400;
+ host_caps |= MMC_CAP_SIGNALING_330;
+ if (host_caps & (MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25 |
+ MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR104 | MMC_CAP_UHS_DDR50 |
+ MMC_CAP_MMC_DDR52_180 | MMC_CAP_MMC_HS200_180 |
+ MMC_CAP_MMC_HS400_180))
+ host_caps |= MMC_CAP_SIGNALING_180;
+ if (caps & SDHCI_CTRL2_DRIVER_TYPE_A)
+ host_caps |= MMC_CAP_DRIVER_TYPE_A;
+ if (caps & SDHCI_CTRL2_DRIVER_TYPE_C)
+ host_caps |= MMC_CAP_DRIVER_TYPE_C;
+ if (caps & SDHCI_CTRL2_DRIVER_TYPE_D)
+ host_caps |= MMC_CAP_DRIVER_TYPE_D;
+ slot->host.caps = host_caps;
+
/* Decide if we have usable DMA. */
if (caps & SDHCI_CAN_DO_DMA)
slot->opt |= SDHCI_HAVE_DMA;
@@ -687,7 +750,7 @@ sdhci_init_slot(device_t dev, struct sdhci_slot *slot, int num)
if (slot->quirks & SDHCI_QUIRK_ALL_SLOTS_NON_REMOVABLE)
slot->opt |= SDHCI_NON_REMOVABLE;
- /*
+ /*
* Use platform-provided transfer backend
* with PIO as a fallback mechanism
*/
@@ -695,16 +758,39 @@ sdhci_init_slot(device_t dev, struct sdhci_slot *slot, int num)
slot->opt &= ~SDHCI_HAVE_DMA;
if (bootverbose || sdhci_debug) {
- slot_printf(slot, "%uMHz%s %s%s%s%s %s\n",
+ slot_printf(slot,
+ "%uMHz%s %s VDD:%s%s%s VCCQ: 3.3V%s%s DRV: B%s%s%s %s\n",
slot->max_clk / 1000000,
(caps & SDHCI_CAN_DO_HISPD) ? " HS" : "",
- (slot->host.caps & MMC_CAP_8_BIT_DATA) ? "8bits" :
- ((slot->host.caps & MMC_CAP_4_BIT_DATA) ? "4bits" :
- "1bit"),
+ (host_caps & MMC_CAP_8_BIT_DATA) ? "8bits" :
+ ((host_caps & MMC_CAP_4_BIT_DATA) ? "4bits" : "1bit"),
(caps & SDHCI_CAN_VDD_330) ? " 3.3V" : "",
(caps & SDHCI_CAN_VDD_300) ? " 3.0V" : "",
(caps & SDHCI_CAN_VDD_180) ? " 1.8V" : "",
+ (host_caps & MMC_CAP_SIGNALING_180) ? " 1.8V" : "",
+ (host_caps & MMC_CAP_SIGNALING_120) ? " 1.2V" : "",
+ (caps & SDHCI_CTRL2_DRIVER_TYPE_A) ? "A" : "",
+ (caps & SDHCI_CTRL2_DRIVER_TYPE_C) ? "C" : "",
+ (caps & SDHCI_CTRL2_DRIVER_TYPE_D) ? "D" : "",
(slot->opt & SDHCI_HAVE_DMA) ? "DMA" : "PIO");
+ if (host_caps & (MMC_CAP_MMC_DDR52 | MMC_CAP_MMC_HS200 |
+ MMC_CAP_MMC_HS400 | MMC_CAP_MMC_ENH_STROBE))
+ slot_printf(slot, "eMMC:%s%s%s%s\n",
+ (host_caps & MMC_CAP_MMC_DDR52) ? " DDR52" : "",
+ (host_caps & MMC_CAP_MMC_HS200) ? " HS200" : "",
+ (host_caps & MMC_CAP_MMC_HS400) ? " HS400" : "",
+ ((host_caps &
+ (MMC_CAP_MMC_HS400 | MMC_CAP_MMC_ENH_STROBE)) ==
+ (MMC_CAP_MMC_HS400 | MMC_CAP_MMC_ENH_STROBE)) ?
+ " HS400ES" : "");
+ if (host_caps & (MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25 |
+ MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR104))
+ slot_printf(slot, "UHS-I:%s%s%s%s%s\n",
+ (host_caps & MMC_CAP_UHS_SDR12) ? " SDR12" : "",
+ (host_caps & MMC_CAP_UHS_SDR25) ? " SDR25" : "",
+ (host_caps & MMC_CAP_UHS_SDR50) ? " SDR50" : "",
+ (host_caps & MMC_CAP_UHS_SDR104) ? " SDR104" : "",
+ (host_caps & MMC_CAP_UHS_DDR50) ? " DDR50" : "");
sdhci_dumpregs(slot);
}
@@ -731,6 +817,7 @@ sdhci_init_slot(device_t dev, struct sdhci_slot *slot, int num)
void
sdhci_start_slot(struct sdhci_slot *slot)
{
+
sdhci_card_task(slot, 0);
}
@@ -766,6 +853,7 @@ sdhci_cleanup_slot(struct sdhci_slot *slot)
int
sdhci_generic_suspend(struct sdhci_slot *slot)
{
+
sdhci_reset(slot, SDHCI_RESET_ALL);
return (0);
@@ -774,14 +862,16 @@ sdhci_generic_suspend(struct sdhci_slot *slot)
int
sdhci_generic_resume(struct sdhci_slot *slot)
{
+
sdhci_init(slot);
return (0);
}
uint32_t
-sdhci_generic_min_freq(device_t brdev, struct sdhci_slot *slot)
+sdhci_generic_min_freq(device_t brdev __unused, struct sdhci_slot *slot)
{
+
if (slot->version >= SDHCI_SPEC_300)
return (slot->max_clk / SDHCI_300_MAX_DIVIDER);
else
@@ -789,7 +879,7 @@ sdhci_generic_min_freq(device_t brdev, struct sdhci_slot *slot)
}
bool
-sdhci_generic_get_card_present(device_t brdev, struct sdhci_slot *slot)
+sdhci_generic_get_card_present(device_t brdev __unused, struct sdhci_slot *slot)
{
if (slot->opt & SDHCI_NON_REMOVABLE)
@@ -798,6 +888,38 @@ sdhci_generic_get_card_present(device_t brdev, struct sdhci_slot *slot)
return (RD4(slot, SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT);
}
+void
+sdhci_generic_set_uhs_timing(device_t brdev __unused, struct sdhci_slot *slot)
+{
+ struct mmc_ios *ios;
+ uint16_t hostctrl2;
+
+ if (slot->version < SDHCI_SPEC_300)
+ return;
+
+ ios = &slot->host.ios;
+ sdhci_set_clock(slot, 0);
+ hostctrl2 = RD2(slot, SDHCI_HOST_CONTROL2);
+ hostctrl2 &= ~SDHCI_CTRL2_UHS_MASK;
+ if (ios->timing == bus_timing_mmc_hs400 ||
+ ios->timing == bus_timing_mmc_hs400es)
+ hostctrl2 |= SDHCI_CTRL2_MMC_HS400;
+ else if (ios->clock > SD_SDR50_MAX)
+ hostctrl2 |= SDHCI_CTRL2_UHS_SDR104;
+ else if (ios->clock > SD_SDR25_MAX)
+ hostctrl2 |= SDHCI_CTRL2_UHS_SDR50;
+ else if (ios->clock > SD_SDR12_MAX) {
+ if (ios->timing == bus_timing_uhs_ddr50 ||
+ ios->timing == bus_timing_mmc_ddr52)
+ hostctrl2 |= SDHCI_CTRL2_UHS_DDR50;
+ else
+ hostctrl2 |= SDHCI_CTRL2_UHS_SDR25;
+ } else if (ios->clock > SD_MMC_CARD_ID_FREQUENCY)
+ hostctrl2 |= SDHCI_CTRL2_UHS_SDR12;
+ WR2(slot, SDHCI_HOST_CONTROL2, hostctrl2);
+ sdhci_set_clock(slot, ios->clock);
+}
+
int
sdhci_generic_update_ios(device_t brdev, device_t reqdev)
{
@@ -825,21 +947,77 @@ sdhci_generic_update_ios(device_t brdev, device_t reqdev)
} else {
panic("Invalid bus width: %d", ios->bus_width);
}
- if (ios->timing == bus_timing_hs &&
+ if (ios->clock > SD_SDR12_MAX &&
!(slot->quirks & SDHCI_QUIRK_DONT_SET_HISPD_BIT))
slot->hostctrl |= SDHCI_CTRL_HISPD;
else
slot->hostctrl &= ~SDHCI_CTRL_HISPD;
WR1(slot, SDHCI_HOST_CONTROL, slot->hostctrl);
+ SDHCI_SET_UHS_TIMING(brdev, slot);
/* Some controllers like reset after bus changes. */
- if(slot->quirks & SDHCI_QUIRK_RESET_ON_IOS)
+ if (slot->quirks & SDHCI_QUIRK_RESET_ON_IOS)
sdhci_reset(slot, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
SDHCI_UNLOCK(slot);
return (0);
}
-static void
+int
+sdhci_generic_switch_vccq(device_t brdev __unused, device_t reqdev)
+{
+ struct sdhci_slot *slot = device_get_ivars(reqdev);
+ enum mmc_vccq vccq;
+ int err;
+ uint16_t hostctrl2;
+
+ if (slot->version < SDHCI_SPEC_300)
+ return (0);
+
+ err = 0;
+ vccq = slot->host.ios.vccq;
+ SDHCI_LOCK(slot);
+ sdhci_set_clock(slot, 0);
+ hostctrl2 = RD2(slot, SDHCI_HOST_CONTROL2);
+ switch (vccq) {
+ case vccq_330:
+ if (!(hostctrl2 & SDHCI_CTRL2_S18_ENABLE))
+ goto done;
+ hostctrl2 &= ~SDHCI_CTRL2_S18_ENABLE;
+ WR2(slot, SDHCI_HOST_CONTROL2, hostctrl2);
+ DELAY(5000);
+ hostctrl2 = RD2(slot, SDHCI_HOST_CONTROL2);
+ if (!(hostctrl2 & SDHCI_CTRL2_S18_ENABLE))
+ goto done;
+ err = EAGAIN;
+ break;
+ case vccq_180:
+ if (!(slot->host.caps & MMC_CAP_SIGNALING_180)) {
+ err = EINVAL;
+ goto done;
+ }
+ if (hostctrl2 & SDHCI_CTRL2_S18_ENABLE)
+ goto done;
+ hostctrl2 |= SDHCI_CTRL2_S18_ENABLE;
+ WR2(slot, SDHCI_HOST_CONTROL2, hostctrl2);
+ DELAY(5000);
+ hostctrl2 = RD2(slot, SDHCI_HOST_CONTROL2);
+ if (hostctrl2 & SDHCI_CTRL2_S18_ENABLE)
+ goto done;
+ err = EAGAIN;
+ break;
+ default:
+ slot_printf(slot,
+ "Attempt to set unsupported signaling voltage\n");
+ err = EINVAL;
+ break;
+ }
+done:
+ sdhci_set_clock(slot, slot->host.ios.clock);
+ SDHCI_UNLOCK(slot);
+ return (err);
+}
+
+static void
sdhci_req_done(struct sdhci_slot *slot)
{
struct mmc_request *req;
@@ -852,8 +1030,8 @@ sdhci_req_done(struct sdhci_slot *slot)
req->done(req);
}
}
-
-static void
+
+static void
sdhci_timeout(void *arg)
{
struct sdhci_slot *slot = arg;
@@ -861,17 +1039,16 @@ sdhci_timeout(void *arg)
if (slot->curcmd != NULL) {
slot_printf(slot, " Controller timeout\n");
sdhci_dumpregs(slot);
- sdhci_reset(slot, SDHCI_RESET_CMD|SDHCI_RESET_DATA);
+ sdhci_reset(slot, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
slot->curcmd->error = MMC_ERR_TIMEOUT;
sdhci_req_done(slot);
} else {
slot_printf(slot, " Spurious timeout - no active command\n");
}
}
-
+
static void
-sdhci_set_transfer_mode(struct sdhci_slot *slot,
- struct mmc_data *data)
+sdhci_set_transfer_mode(struct sdhci_slot *slot, struct mmc_data *data)
{
uint16_t mode;
@@ -910,8 +1087,10 @@ sdhci_start_command(struct sdhci_slot *slot, struct mmc_command *cmd)
return;
}
- /* Do not issue command if there is no card, clock or power.
- * Controller will not detect timeout without clock active. */
+ /*
+ * Do not issue command if there is no card, clock or power.
+ * Controller will not detect timeout without clock active.
+ */
if (!SDHCI_GET_CARD_PRESENT(slot->bus, slot) ||
slot->power == 0 ||
slot->clock == 0) {
@@ -970,7 +1149,7 @@ sdhci_start_command(struct sdhci_slot *slot, struct mmc_command *cmd)
flags |= SDHCI_CMD_TYPE_ABORT;
/* Prepare data. */
sdhci_start_data(slot, cmd->data);
- /*
+ /*
* Interrupt aggregation: To reduce total number of interrupts
* group response interrupt with data interrupt when possible.
* If there going to be data interrupt, mask response one.
@@ -994,11 +1173,15 @@ static void
sdhci_finish_command(struct sdhci_slot *slot)
{
int i;
+ uint32_t val;
+ uint8_t extra;
slot->cmd_done = 1;
- /* Interrupt aggregation: Restore command interrupt.
+ /*
+ * Interrupt aggregation: Restore command interrupt.
* Main restore point for the case when command interrupt
- * happened first. */
+ * happened first.
+ */
WR4(slot, SDHCI_SIGNAL_ENABLE, slot->intmask |= SDHCI_INT_RESPONSE);
/* In case of error - reset host and return. */
if (slot->curcmd->error) {
@@ -1011,13 +1194,14 @@ sdhci_finish_command(struct sdhci_slot *slot)
if (slot->curcmd->flags & MMC_RSP_PRESENT) {
if (slot->curcmd->flags & MMC_RSP_136) {
/* CRC is stripped so we need one byte shift. */
- uint8_t extra = 0;
+ extra = 0;
for (i = 0; i < 4; i++) {
- uint32_t val = RD4(slot, SDHCI_RESPONSE + i * 4);
- if (slot->quirks & SDHCI_QUIRK_DONT_SHIFT_RESPONSE)
+ val = RD4(slot, SDHCI_RESPONSE + i * 4);
+ if (slot->quirks &
+ SDHCI_QUIRK_DONT_SHIFT_RESPONSE)
slot->curcmd->resp[3 - i] = val;
else {
- slot->curcmd->resp[3 - i] =
+ slot->curcmd->resp[3 - i] =
(val << 8) | extra;
extra = val >> 24;
}
@@ -1056,7 +1240,7 @@ sdhci_start_data(struct sdhci_slot *slot, struct mmc_data *data)
current_timeout <<= 1;
}
/* Compensate for an off-by-one error in the CaFe chip.*/
- if (div < 0xE &&
+ if (div < 0xE &&
(slot->quirks & SDHCI_QUIRK_INCR_TIMEOUT_CONTROL)) {
++div;
}
@@ -1080,13 +1264,13 @@ sdhci_start_data(struct sdhci_slot *slot, struct mmc_data *data)
/* Load DMA buffer. */
if (slot->flags & SDHCI_USE_DMA) {
if (data->flags & MMC_DATA_READ)
- bus_dmamap_sync(slot->dmatag, slot->dmamap,
+ bus_dmamap_sync(slot->dmatag, slot->dmamap,
BUS_DMASYNC_PREREAD);
else {
memcpy(slot->dmamem, data->data,
- (data->len < DMA_BLOCK_SIZE) ?
+ (data->len < DMA_BLOCK_SIZE) ?
data->len : DMA_BLOCK_SIZE);
- bus_dmamap_sync(slot->dmatag, slot->dmamap,
+ bus_dmamap_sync(slot->dmatag, slot->dmamap,
BUS_DMASYNC_PREWRITE);
}
WR4(slot, SDHCI_DMA_ADDRESS, slot->paddr);
@@ -1101,8 +1285,8 @@ sdhci_start_data(struct sdhci_slot *slot, struct mmc_data *data)
/* Current data offset for both PIO and DMA. */
slot->offset = 0;
/* Set block size and request IRQ on 4K border. */
- WR2(slot, SDHCI_BLOCK_SIZE,
- SDHCI_MAKE_BLKSZ(DMA_BOUNDARY, (data->len < 512)?data->len:512));
+ WR2(slot, SDHCI_BLOCK_SIZE, SDHCI_MAKE_BLKSZ(DMA_BOUNDARY,
+ (data->len < 512) ? data->len : 512));
/* Set block count. */
WR2(slot, SDHCI_BLOCK_COUNT, (data->len + 511) / 512);
}
@@ -1111,6 +1295,7 @@ void
sdhci_finish_data(struct sdhci_slot *slot)
{
struct mmc_data *data = slot->curcmd->data;
+ size_t left;
/* Interrupt aggregation: Restore command interrupt.
* Auxiliary restore point for the case when data interrupt
@@ -1122,13 +1307,13 @@ sdhci_finish_data(struct sdhci_slot *slot)
/* Unload rest of data from DMA buffer. */
if (!slot->data_done && (slot->flags & SDHCI_USE_DMA)) {
if (data->flags & MMC_DATA_READ) {
- size_t left = data->len - slot->offset;
- bus_dmamap_sync(slot->dmatag, slot->dmamap,
+ left = data->len - slot->offset;
+ bus_dmamap_sync(slot->dmatag, slot->dmamap,
BUS_DMASYNC_POSTREAD);
memcpy((u_char*)data->data + slot->offset, slot->dmamem,
- (left < DMA_BLOCK_SIZE)?left:DMA_BLOCK_SIZE);
+ (left < DMA_BLOCK_SIZE) ? left : DMA_BLOCK_SIZE);
} else
- bus_dmamap_sync(slot->dmatag, slot->dmamap,
+ bus_dmamap_sync(slot->dmatag, slot->dmamap,
BUS_DMASYNC_POSTWRITE);
}
slot->data_done = 1;
@@ -1177,7 +1362,8 @@ sdhci_start(struct sdhci_slot *slot)
}
int
-sdhci_generic_request(device_t brdev, device_t reqdev, struct mmc_request *req)
+sdhci_generic_request(device_t brdev __unused, device_t reqdev,
+ struct mmc_request *req)
{
struct sdhci_slot *slot = device_get_ivars(reqdev);
@@ -1187,9 +1373,10 @@ sdhci_generic_request(device_t brdev, device_t reqdev, struct mmc_request *req)
return (EBUSY);
}
if (sdhci_debug > 1) {
- slot_printf(slot, "CMD%u arg %#x flags %#x dlen %u dflags %#x\n",
- req->cmd->opcode, req->cmd->arg, req->cmd->flags,
- (req->cmd->data)?(u_int)req->cmd->data->len:0,
+ slot_printf(slot,
+ "CMD%u arg %#x flags %#x dlen %u dflags %#x\n",
+ req->cmd->opcode, req->cmd->arg, req->cmd->flags,
+ (req->cmd->data)?(u_int)req->cmd->data->len:0,
(req->cmd->data)?req->cmd->data->flags:0);
}
slot->req = req;
@@ -1206,7 +1393,7 @@ sdhci_generic_request(device_t brdev, device_t reqdev, struct mmc_request *req)
}
int
-sdhci_generic_get_ro(device_t brdev, device_t reqdev)
+sdhci_generic_get_ro(device_t brdev __unused, device_t reqdev)
{
struct sdhci_slot *slot = device_get_ivars(reqdev);
uint32_t val;
@@ -1218,7 +1405,7 @@ sdhci_generic_get_ro(device_t brdev, device_t reqdev)
}
int
-sdhci_generic_acquire_host(device_t brdev, device_t reqdev)
+sdhci_generic_acquire_host(device_t brdev __unused, device_t reqdev)
{
struct sdhci_slot *slot = device_get_ivars(reqdev);
int err = 0;
@@ -1234,7 +1421,7 @@ sdhci_generic_acquire_host(device_t brdev, device_t reqdev)
}
int
-sdhci_generic_release_host(device_t brdev, device_t reqdev)
+sdhci_generic_release_host(device_t brdev __unused, device_t reqdev)
{
struct sdhci_slot *slot = device_get_ivars(reqdev);
@@ -1270,6 +1457,8 @@ sdhci_cmd_irq(struct sdhci_slot *slot, uint32_t intmask)
static void
sdhci_data_irq(struct sdhci_slot *slot, uint32_t intmask)
{
+ struct mmc_data *data;
+ size_t left;
if (!slot->curcmd) {
slot_printf(slot, "Got data interrupt 0x%08x, but "
@@ -1304,25 +1493,25 @@ sdhci_data_irq(struct sdhci_slot *slot, uint32_t intmask)
/* Handle PIO interrupt. */
if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL)) {
- if ((slot->opt & SDHCI_PLATFORM_TRANSFER) &&
+ if ((slot->opt & SDHCI_PLATFORM_TRANSFER) &&
SDHCI_PLATFORM_WILL_HANDLE(slot->bus, slot)) {
- SDHCI_PLATFORM_START_TRANSFER(slot->bus, slot, &intmask);
+ SDHCI_PLATFORM_START_TRANSFER(slot->bus, slot,
+ &intmask);
slot->flags |= PLATFORM_DATA_STARTED;
} else
sdhci_transfer_pio(slot);
}
/* Handle DMA border. */
if (intmask & SDHCI_INT_DMA_END) {
- struct mmc_data *data = slot->curcmd->data;
- size_t left;
+ data = slot->curcmd->data;
- /* Unload DMA buffer... */
+ /* Unload DMA buffer ... */
left = data->len - slot->offset;
if (data->flags & MMC_DATA_READ) {
bus_dmamap_sync(slot->dmatag, slot->dmamap,
BUS_DMASYNC_POSTREAD);
memcpy((u_char*)data->data + slot->offset, slot->dmamem,
- (left < DMA_BLOCK_SIZE)?left:DMA_BLOCK_SIZE);
+ (left < DMA_BLOCK_SIZE) ? left : DMA_BLOCK_SIZE);
} else {
bus_dmamap_sync(slot->dmatag, slot->dmamap,
BUS_DMASYNC_POSTWRITE);
@@ -1335,7 +1524,7 @@ sdhci_data_irq(struct sdhci_slot *slot, uint32_t intmask)
BUS_DMASYNC_PREREAD);
} else {
memcpy(slot->dmamem, (u_char*)data->data + slot->offset,
- (left < DMA_BLOCK_SIZE)?left:DMA_BLOCK_SIZE);
+ (left < DMA_BLOCK_SIZE)? left : DMA_BLOCK_SIZE);
bus_dmamap_sync(slot->dmatag, slot->dmamap,
BUS_DMASYNC_PREWRITE);
}
@@ -1363,7 +1552,6 @@ done:
SDHCI_PLATFORM_FINISH_TRANSFER(slot->bus, slot);
} else
sdhci_finish_data(slot);
- return;
}
}
@@ -1371,7 +1559,7 @@ static void
sdhci_acmd_irq(struct sdhci_slot *slot)
{
uint16_t err;
-
+
err = RD4(slot, SDHCI_ACMD12_ERR);
if (!slot->curcmd) {
slot_printf(slot, "Got AutoCMD12 error 0x%04x, but "
@@ -1387,7 +1575,7 @@ void
sdhci_generic_intr(struct sdhci_slot *slot)
{
uint32_t intmask, present;
-
+
SDHCI_LOCK(slot);
/* Read slot interrupt status. */
intmask = RD4(slot, SDHCI_INT_STATUS);
@@ -1407,7 +1595,7 @@ sdhci_generic_intr(struct sdhci_slot *slot)
SDHCI_INT_CARD_INSERT;
WR4(slot, SDHCI_INT_ENABLE, slot->intmask);
WR4(slot, SDHCI_SIGNAL_ENABLE, slot->intmask);
- WR4(slot, SDHCI_INT_STATUS, intmask &
+ WR4(slot, SDHCI_INT_STATUS, intmask &
(SDHCI_INT_CARD_INSERT | SDHCI_INT_CARD_REMOVE));
sdhci_handle_card_present_locked(slot, present);
intmask &= ~(SDHCI_INT_CARD_INSERT | SDHCI_INT_CARD_REMOVE);
@@ -1420,7 +1608,7 @@ sdhci_generic_intr(struct sdhci_slot *slot)
/* Handle data interrupts. */
if (intmask & SDHCI_INT_DATA_MASK) {
WR4(slot, SDHCI_INT_STATUS, intmask & SDHCI_INT_DATA_MASK);
- /* Dont call data_irq in case of errored command */
+ /* Don't call data_irq in case of errored command. */
if ((intmask & SDHCI_INT_CMD_ERROR_MASK) == 0)
sdhci_data_irq(slot, intmask & SDHCI_INT_DATA_MASK);
}
@@ -1446,12 +1634,13 @@ sdhci_generic_intr(struct sdhci_slot *slot)
intmask);
sdhci_dumpregs(slot);
}
-
+
SDHCI_UNLOCK(slot);
}
int
-sdhci_generic_read_ivar(device_t bus, device_t child, int which, uintptr_t *result)
+sdhci_generic_read_ivar(device_t bus, device_t child, int which,
+ uintptr_t *result)
{
struct sdhci_slot *slot = device_get_ivars(child);
@@ -1491,6 +1680,9 @@ sdhci_generic_read_ivar(device_t bus, device_t child, int which, uintptr_t *resu
case MMCBR_IVAR_VDD:
*result = slot->host.ios.vdd;
break;
+ case MMCBR_IVAR_VCCQ:
+ *result = slot->host.ios.vccq;
+ break;
case MMCBR_IVAR_CAPS:
*result = slot->host.caps;
break;
@@ -1500,14 +1692,23 @@ sdhci_generic_read_ivar(device_t bus, device_t child, int which, uintptr_t *resu
case MMCBR_IVAR_MAX_DATA:
*result = 65535;
break;
+ case MMCBR_IVAR_MAX_BUSY_TIMEOUT:
+ /*
+ * Currently, sdhci_start_data() hardcodes 1 s for all CMDs.
+ */
+ *result = 1000000;
+ break;
}
return (0);
}
int
-sdhci_generic_write_ivar(device_t bus, device_t child, int which, uintptr_t value)
+sdhci_generic_write_ivar(device_t bus, device_t child, int which,
+ uintptr_t value)
{
struct sdhci_slot *slot = device_get_ivars(child);
+ uint32_t clock, max_clock;
+ int i;
switch (which) {
default:
@@ -1523,10 +1724,6 @@ sdhci_generic_write_ivar(device_t bus, device_t child, int which, uintptr_t valu
break;
case MMCBR_IVAR_CLOCK:
if (value > 0) {
- uint32_t max_clock;
- uint32_t clock;
- int i;
-
max_clock = slot->max_clk;
clock = max_clock;
@@ -1537,8 +1734,7 @@ sdhci_generic_write_ivar(device_t bus, device_t child, int which, uintptr_t valu
break;
clock >>= 1;
}
- }
- else {
+ } else {
for (i = 0; i < SDHCI_300_MAX_DIVIDER;
i += 2) {
if (clock <= value)
@@ -1563,6 +1759,9 @@ sdhci_generic_write_ivar(device_t bus, device_t child, int which, uintptr_t valu
case MMCBR_IVAR_VDD:
slot->host.ios.vdd = value;
break;
+ case MMCBR_IVAR_VCCQ:
+ slot->host.ios.vccq = value;
+ break;
case MMCBR_IVAR_TIMING:
slot->host.ios.timing = value;
break;
diff --git a/sys/dev/sdhci/sdhci.h b/sys/dev/sdhci/sdhci.h
index 4626816..0b29915 100644
--- a/sys/dev/sdhci/sdhci.h
+++ b/sys/dev/sdhci/sdhci.h
@@ -28,255 +28,305 @@
#ifndef __SDHCI_H__
#define __SDHCI_H__
-#define DMA_BLOCK_SIZE 4096
-#define DMA_BOUNDARY 0 /* DMA reload every 4K */
+#define DMA_BLOCK_SIZE 4096
+#define DMA_BOUNDARY 0 /* DMA reload every 4K */
/* Controller doesn't honor resets unless we touch the clock register */
-#define SDHCI_QUIRK_CLOCK_BEFORE_RESET (1<<0)
+#define SDHCI_QUIRK_CLOCK_BEFORE_RESET (1 << 0)
/* Controller really supports DMA */
-#define SDHCI_QUIRK_FORCE_DMA (1<<1)
+#define SDHCI_QUIRK_FORCE_DMA (1 << 1)
/* Controller has unusable DMA engine */
-#define SDHCI_QUIRK_BROKEN_DMA (1<<2)
+#define SDHCI_QUIRK_BROKEN_DMA (1 << 2)
/* Controller doesn't like to be reset when there is no card inserted. */
-#define SDHCI_QUIRK_NO_CARD_NO_RESET (1<<3)
+#define SDHCI_QUIRK_NO_CARD_NO_RESET (1 << 3)
/* Controller has flaky internal state so reset it on each ios change */
-#define SDHCI_QUIRK_RESET_ON_IOS (1<<4)
+#define SDHCI_QUIRK_RESET_ON_IOS (1 << 4)
/* Controller can only DMA chunk sizes that are a multiple of 32 bits */
-#define SDHCI_QUIRK_32BIT_DMA_SIZE (1<<5)
+#define SDHCI_QUIRK_32BIT_DMA_SIZE (1 << 5)
/* Controller needs to be reset after each request to stay stable */
-#define SDHCI_QUIRK_RESET_AFTER_REQUEST (1<<6)
+#define SDHCI_QUIRK_RESET_AFTER_REQUEST (1 << 6)
/* Controller has an off-by-one issue with timeout value */
-#define SDHCI_QUIRK_INCR_TIMEOUT_CONTROL (1<<7)
+#define SDHCI_QUIRK_INCR_TIMEOUT_CONTROL (1 << 7)
/* Controller has broken read timings */
-#define SDHCI_QUIRK_BROKEN_TIMINGS (1<<8)
+#define SDHCI_QUIRK_BROKEN_TIMINGS (1 << 8)
/* Controller needs lowered frequency */
-#define SDHCI_QUIRK_LOWER_FREQUENCY (1<<9)
+#define SDHCI_QUIRK_LOWER_FREQUENCY (1 << 9)
/* Data timeout is invalid, should use SD clock */
-#define SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK (1<<10)
+#define SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK (1 << 10)
/* Timeout value is invalid, should be overriden */
-#define SDHCI_QUIRK_BROKEN_TIMEOUT_VAL (1<<11)
+#define SDHCI_QUIRK_BROKEN_TIMEOUT_VAL (1 << 11)
/* SDHCI_CAPABILITIES is invalid */
-#define SDHCI_QUIRK_MISSING_CAPS (1<<12)
+#define SDHCI_QUIRK_MISSING_CAPS (1 << 12)
/* Hardware shifts the 136-bit response, don't do it in software. */
-#define SDHCI_QUIRK_DONT_SHIFT_RESPONSE (1<<13)
+#define SDHCI_QUIRK_DONT_SHIFT_RESPONSE (1 << 13)
/* Wait to see reset bit asserted before waiting for de-asserted */
-#define SDHCI_QUIRK_WAITFOR_RESET_ASSERTED (1<<14)
+#define SDHCI_QUIRK_WAITFOR_RESET_ASSERTED (1 << 14)
/* Leave controller in standard mode when putting card in HS mode. */
-#define SDHCI_QUIRK_DONT_SET_HISPD_BIT (1<<15)
+#define SDHCI_QUIRK_DONT_SET_HISPD_BIT (1 << 15)
/* Alternate clock source is required when supplying a 400 KHz clock. */
-#define SDHCI_QUIRK_BCM577XX_400KHZ_CLKSRC (1<<16)
+#define SDHCI_QUIRK_BCM577XX_400KHZ_CLKSRC (1 << 16)
/* Card insert/remove interrupts don't work, polling required. */
-#define SDHCI_QUIRK_POLL_CARD_PRESENT (1<<17)
+#define SDHCI_QUIRK_POLL_CARD_PRESENT (1 << 17)
/* All controller slots are non-removable. */
-#define SDHCI_QUIRK_ALL_SLOTS_NON_REMOVABLE (1<<18)
+#define SDHCI_QUIRK_ALL_SLOTS_NON_REMOVABLE (1 << 18)
/* Issue custom Intel controller reset sequence after power-up. */
-#define SDHCI_QUIRK_INTEL_POWER_UP_RESET (1<<19)
+#define SDHCI_QUIRK_INTEL_POWER_UP_RESET (1 << 19)
/* Data timeout is invalid, use 1 MHz clock instead. */
-#define SDHCI_QUIRK_DATA_TIMEOUT_1MHZ (1<<20)
+#define SDHCI_QUIRK_DATA_TIMEOUT_1MHZ (1 << 20)
+/* Controller doesn't allow access boot partitions. */
+#define SDHCI_QUIRK_BOOT_NOACC (1 << 21)
+/* Controller waits for busy responses. */
+#define SDHCI_QUIRK_WAIT_WHILE_BUSY (1 << 22)
+/* Controller supports eMMC DDR52 mode. */
+#define SDHCI_QUIRK_MMC_DDR52 (1 << 23)
+/* Controller support for UHS DDR50 mode is broken. */
+#define SDHCI_QUIRK_BROKEN_UHS_DDR50 (1 << 24)
+/* Controller support for eMMC HS200 mode is broken. */
+#define SDHCI_QUIRK_BROKEN_MMC_HS200 (1 << 25)
+/* Controller reports support for eMMC HS400 mode as SDHCI_CAN_MMC_HS400. */
+#define SDHCI_QUIRK_CAPS_BIT63_FOR_MMC_HS400 (1 << 26)
+/* Controller support for SDHCI_CTRL2_PRESET_VALUE is broken. */
+#define SDHCI_QUIRK_PRESET_VALUE_BROKEN (1 << 27)
/*
* Controller registers
*/
-#define SDHCI_DMA_ADDRESS 0x00
-
-#define SDHCI_BLOCK_SIZE 0x04
-#define SDHCI_MAKE_BLKSZ(dma, blksz) (((dma & 0x7) << 12) | (blksz & 0xFFF))
-
-#define SDHCI_BLOCK_COUNT 0x06
-
-#define SDHCI_ARGUMENT 0x08
-
-#define SDHCI_TRANSFER_MODE 0x0C
-#define SDHCI_TRNS_DMA 0x01
-#define SDHCI_TRNS_BLK_CNT_EN 0x02
-#define SDHCI_TRNS_ACMD12 0x04
-#define SDHCI_TRNS_READ 0x10
-#define SDHCI_TRNS_MULTI 0x20
-
-#define SDHCI_COMMAND_FLAGS 0x0E
-#define SDHCI_CMD_RESP_NONE 0x00
-#define SDHCI_CMD_RESP_LONG 0x01
-#define SDHCI_CMD_RESP_SHORT 0x02
-#define SDHCI_CMD_RESP_SHORT_BUSY 0x03
-#define SDHCI_CMD_RESP_MASK 0x03
-#define SDHCI_CMD_CRC 0x08
-#define SDHCI_CMD_INDEX 0x10
-#define SDHCI_CMD_DATA 0x20
-#define SDHCI_CMD_TYPE_NORMAL 0x00
-#define SDHCI_CMD_TYPE_SUSPEND 0x40
-#define SDHCI_CMD_TYPE_RESUME 0x80
-#define SDHCI_CMD_TYPE_ABORT 0xc0
-#define SDHCI_CMD_TYPE_MASK 0xc0
-
-#define SDHCI_COMMAND 0x0F
-
-#define SDHCI_RESPONSE 0x10
-
-#define SDHCI_BUFFER 0x20
-
-#define SDHCI_PRESENT_STATE 0x24
-#define SDHCI_CMD_INHIBIT 0x00000001
-#define SDHCI_DAT_INHIBIT 0x00000002
-#define SDHCI_DAT_ACTIVE 0x00000004
-#define SDHCI_RETUNE_REQUEST 0x00000008
-#define SDHCI_DOING_WRITE 0x00000100
-#define SDHCI_DOING_READ 0x00000200
-#define SDHCI_SPACE_AVAILABLE 0x00000400
-#define SDHCI_DATA_AVAILABLE 0x00000800
-#define SDHCI_CARD_PRESENT 0x00010000
-#define SDHCI_CARD_STABLE 0x00020000
-#define SDHCI_CARD_PIN 0x00040000
-#define SDHCI_WRITE_PROTECT 0x00080000
-#define SDHCI_STATE_DAT_MASK 0x00f00000
-#define SDHCI_STATE_CMD 0x01000000
-
-#define SDHCI_HOST_CONTROL 0x28
-#define SDHCI_CTRL_LED 0x01
-#define SDHCI_CTRL_4BITBUS 0x02
-#define SDHCI_CTRL_HISPD 0x04
-#define SDHCI_CTRL_SDMA 0x08
-#define SDHCI_CTRL_ADMA2 0x10
-#define SDHCI_CTRL_ADMA264 0x18
-#define SDHCI_CTRL_DMA_MASK 0x18
-#define SDHCI_CTRL_8BITBUS 0x20
-#define SDHCI_CTRL_CARD_DET 0x40
-#define SDHCI_CTRL_FORCE_CARD 0x80
-
-#define SDHCI_POWER_CONTROL 0x29
-#define SDHCI_POWER_ON 0x01
-#define SDHCI_POWER_180 0x0A
-#define SDHCI_POWER_300 0x0C
-#define SDHCI_POWER_330 0x0E
-
-#define SDHCI_BLOCK_GAP_CONTROL 0x2A
-
-#define SDHCI_WAKE_UP_CONTROL 0x2B
-
-#define SDHCI_CLOCK_CONTROL 0x2C
-#define SDHCI_DIVIDER_MASK 0xff
-#define SDHCI_DIVIDER_MASK_LEN 8
-#define SDHCI_DIVIDER_SHIFT 8
-#define SDHCI_DIVIDER_HI_MASK 3
-#define SDHCI_DIVIDER_HI_SHIFT 6
-#define SDHCI_CLOCK_CARD_EN 0x0004
-#define SDHCI_CLOCK_INT_STABLE 0x0002
-#define SDHCI_CLOCK_INT_EN 0x0001
-#define SDHCI_DIVIDERS_MASK \
+#define SDHCI_DMA_ADDRESS 0x00
+
+#define SDHCI_BLOCK_SIZE 0x04
+#define SDHCI_MAKE_BLKSZ(dma, blksz) (((dma & 0x7) << 12) | (blksz & 0xFFF))
+
+#define SDHCI_BLOCK_COUNT 0x06
+
+#define SDHCI_ARGUMENT 0x08
+
+#define SDHCI_TRANSFER_MODE 0x0C
+#define SDHCI_TRNS_DMA 0x01
+#define SDHCI_TRNS_BLK_CNT_EN 0x02
+#define SDHCI_TRNS_ACMD12 0x04
+#define SDHCI_TRNS_READ 0x10
+#define SDHCI_TRNS_MULTI 0x20
+
+#define SDHCI_COMMAND_FLAGS 0x0E
+#define SDHCI_CMD_RESP_NONE 0x00
+#define SDHCI_CMD_RESP_LONG 0x01
+#define SDHCI_CMD_RESP_SHORT 0x02
+#define SDHCI_CMD_RESP_SHORT_BUSY 0x03
+#define SDHCI_CMD_RESP_MASK 0x03
+#define SDHCI_CMD_CRC 0x08
+#define SDHCI_CMD_INDEX 0x10
+#define SDHCI_CMD_DATA 0x20
+#define SDHCI_CMD_TYPE_NORMAL 0x00
+#define SDHCI_CMD_TYPE_SUSPEND 0x40
+#define SDHCI_CMD_TYPE_RESUME 0x80
+#define SDHCI_CMD_TYPE_ABORT 0xc0
+#define SDHCI_CMD_TYPE_MASK 0xc0
+
+#define SDHCI_COMMAND 0x0F
+
+#define SDHCI_RESPONSE 0x10
+
+#define SDHCI_BUFFER 0x20
+
+#define SDHCI_PRESENT_STATE 0x24
+#define SDHCI_CMD_INHIBIT 0x00000001
+#define SDHCI_DAT_INHIBIT 0x00000002
+#define SDHCI_DAT_ACTIVE 0x00000004
+#define SDHCI_RETUNE_REQUEST 0x00000008
+#define SDHCI_DOING_WRITE 0x00000100
+#define SDHCI_DOING_READ 0x00000200
+#define SDHCI_SPACE_AVAILABLE 0x00000400
+#define SDHCI_DATA_AVAILABLE 0x00000800
+#define SDHCI_CARD_PRESENT 0x00010000
+#define SDHCI_CARD_STABLE 0x00020000
+#define SDHCI_CARD_PIN 0x00040000
+#define SDHCI_WRITE_PROTECT 0x00080000
+#define SDHCI_STATE_DAT_MASK 0x00f00000
+#define SDHCI_STATE_CMD 0x01000000
+
+#define SDHCI_HOST_CONTROL 0x28
+#define SDHCI_CTRL_LED 0x01
+#define SDHCI_CTRL_4BITBUS 0x02
+#define SDHCI_CTRL_HISPD 0x04
+#define SDHCI_CTRL_SDMA 0x08
+#define SDHCI_CTRL_ADMA2 0x10
+#define SDHCI_CTRL_ADMA264 0x18
+#define SDHCI_CTRL_DMA_MASK 0x18
+#define SDHCI_CTRL_8BITBUS 0x20
+#define SDHCI_CTRL_CARD_DET 0x40
+#define SDHCI_CTRL_FORCE_CARD 0x80
+
+#define SDHCI_POWER_CONTROL 0x29
+#define SDHCI_POWER_ON 0x01
+#define SDHCI_POWER_180 0x0A
+#define SDHCI_POWER_300 0x0C
+#define SDHCI_POWER_330 0x0E
+
+#define SDHCI_BLOCK_GAP_CONTROL 0x2A
+
+#define SDHCI_WAKE_UP_CONTROL 0x2B
+
+#define SDHCI_CLOCK_CONTROL 0x2C
+#define SDHCI_DIVIDER_MASK 0xff
+#define SDHCI_DIVIDER_MASK_LEN 8
+#define SDHCI_DIVIDER_SHIFT 8
+#define SDHCI_DIVIDER_HI_MASK 3
+#define SDHCI_DIVIDER_HI_SHIFT 6
+#define SDHCI_CLOCK_CARD_EN 0x0004
+#define SDHCI_CLOCK_INT_STABLE 0x0002
+#define SDHCI_CLOCK_INT_EN 0x0001
+#define SDHCI_DIVIDERS_MASK \
((SDHCI_DIVIDER_MASK << SDHCI_DIVIDER_SHIFT) | \
(SDHCI_DIVIDER_HI_MASK << SDHCI_DIVIDER_HI_SHIFT))
-#define SDHCI_TIMEOUT_CONTROL 0x2E
-
-#define SDHCI_SOFTWARE_RESET 0x2F
-#define SDHCI_RESET_ALL 0x01
-#define SDHCI_RESET_CMD 0x02
-#define SDHCI_RESET_DATA 0x04
-
-#define SDHCI_INT_STATUS 0x30
-#define SDHCI_INT_ENABLE 0x34
-#define SDHCI_SIGNAL_ENABLE 0x38
-#define SDHCI_INT_RESPONSE 0x00000001
-#define SDHCI_INT_DATA_END 0x00000002
-#define SDHCI_INT_BLOCK_GAP 0x00000004
-#define SDHCI_INT_DMA_END 0x00000008
-#define SDHCI_INT_SPACE_AVAIL 0x00000010
-#define SDHCI_INT_DATA_AVAIL 0x00000020
-#define SDHCI_INT_CARD_INSERT 0x00000040
-#define SDHCI_INT_CARD_REMOVE 0x00000080
-#define SDHCI_INT_CARD_INT 0x00000100
-#define SDHCI_INT_INT_A 0x00000200
-#define SDHCI_INT_INT_B 0x00000400
-#define SDHCI_INT_INT_C 0x00000800
-#define SDHCI_INT_RETUNE 0x00001000
-#define SDHCI_INT_ERROR 0x00008000
-#define SDHCI_INT_TIMEOUT 0x00010000
-#define SDHCI_INT_CRC 0x00020000
-#define SDHCI_INT_END_BIT 0x00040000
-#define SDHCI_INT_INDEX 0x00080000
-#define SDHCI_INT_DATA_TIMEOUT 0x00100000
-#define SDHCI_INT_DATA_CRC 0x00200000
-#define SDHCI_INT_DATA_END_BIT 0x00400000
-#define SDHCI_INT_BUS_POWER 0x00800000
-#define SDHCI_INT_ACMD12ERR 0x01000000
-#define SDHCI_INT_ADMAERR 0x02000000
-#define SDHCI_INT_TUNEERR 0x04000000
-
-#define SDHCI_INT_NORMAL_MASK 0x00007FFF
-#define SDHCI_INT_ERROR_MASK 0xFFFF8000
-
-#define SDHCI_INT_CMD_ERROR_MASK (SDHCI_INT_TIMEOUT | \
+#define SDHCI_TIMEOUT_CONTROL 0x2E
+
+#define SDHCI_SOFTWARE_RESET 0x2F
+#define SDHCI_RESET_ALL 0x01
+#define SDHCI_RESET_CMD 0x02
+#define SDHCI_RESET_DATA 0x04
+
+#define SDHCI_INT_STATUS 0x30
+#define SDHCI_INT_ENABLE 0x34
+#define SDHCI_SIGNAL_ENABLE 0x38
+#define SDHCI_INT_RESPONSE 0x00000001
+#define SDHCI_INT_DATA_END 0x00000002
+#define SDHCI_INT_BLOCK_GAP 0x00000004
+#define SDHCI_INT_DMA_END 0x00000008
+#define SDHCI_INT_SPACE_AVAIL 0x00000010
+#define SDHCI_INT_DATA_AVAIL 0x00000020
+#define SDHCI_INT_CARD_INSERT 0x00000040
+#define SDHCI_INT_CARD_REMOVE 0x00000080
+#define SDHCI_INT_CARD_INT 0x00000100
+#define SDHCI_INT_INT_A 0x00000200
+#define SDHCI_INT_INT_B 0x00000400
+#define SDHCI_INT_INT_C 0x00000800
+#define SDHCI_INT_RETUNE 0x00001000
+#define SDHCI_INT_ERROR 0x00008000
+#define SDHCI_INT_TIMEOUT 0x00010000
+#define SDHCI_INT_CRC 0x00020000
+#define SDHCI_INT_END_BIT 0x00040000
+#define SDHCI_INT_INDEX 0x00080000
+#define SDHCI_INT_DATA_TIMEOUT 0x00100000
+#define SDHCI_INT_DATA_CRC 0x00200000
+#define SDHCI_INT_DATA_END_BIT 0x00400000
+#define SDHCI_INT_BUS_POWER 0x00800000
+#define SDHCI_INT_ACMD12ERR 0x01000000
+#define SDHCI_INT_ADMAERR 0x02000000
+#define SDHCI_INT_TUNEERR 0x04000000
+
+#define SDHCI_INT_NORMAL_MASK 0x00007FFF
+#define SDHCI_INT_ERROR_MASK 0xFFFF8000
+
+#define SDHCI_INT_CMD_ERROR_MASK (SDHCI_INT_TIMEOUT | \
SDHCI_INT_CRC | SDHCI_INT_END_BIT | SDHCI_INT_INDEX)
-#define SDHCI_INT_CMD_MASK (SDHCI_INT_RESPONSE | SDHCI_INT_CMD_ERROR_MASK)
+#define SDHCI_INT_CMD_MASK (SDHCI_INT_RESPONSE | SDHCI_INT_CMD_ERROR_MASK)
-#define SDHCI_INT_DATA_MASK (SDHCI_INT_DATA_END | SDHCI_INT_DMA_END | \
+#define SDHCI_INT_DATA_MASK (SDHCI_INT_DATA_END | SDHCI_INT_DMA_END | \
SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL | \
SDHCI_INT_DATA_TIMEOUT | SDHCI_INT_DATA_CRC | \
SDHCI_INT_DATA_END_BIT)
-#define SDHCI_ACMD12_ERR 0x3C
-#define SDHCI_HOST_CONTROL2 0x3E
-
-#define SDHCI_CAPABILITIES 0x40
-#define SDHCI_TIMEOUT_CLK_MASK 0x0000003F
-#define SDHCI_TIMEOUT_CLK_SHIFT 0
-#define SDHCI_TIMEOUT_CLK_UNIT 0x00000080
-#define SDHCI_CLOCK_BASE_MASK 0x00003F00
-#define SDHCI_CLOCK_V3_BASE_MASK 0x0000FF00
-#define SDHCI_CLOCK_BASE_SHIFT 8
-#define SDHCI_MAX_BLOCK_MASK 0x00030000
-#define SDHCI_MAX_BLOCK_SHIFT 16
-#define SDHCI_CAN_DO_8BITBUS 0x00040000
-#define SDHCI_CAN_DO_ADMA2 0x00080000
-#define SDHCI_CAN_DO_HISPD 0x00200000
-#define SDHCI_CAN_DO_DMA 0x00400000
-#define SDHCI_CAN_DO_SUSPEND 0x00800000
-#define SDHCI_CAN_VDD_330 0x01000000
-#define SDHCI_CAN_VDD_300 0x02000000
-#define SDHCI_CAN_VDD_180 0x04000000
-#define SDHCI_CAN_DO_64BIT 0x10000000
-#define SDHCI_CAN_ASYNC_INTR 0x20000000
-
-#define SDHCI_CAPABILITIES2 0x44
-#define SDHCI_CAN_SDR50 0x00000001
-#define SDHCI_CAN_SDR104 0x00000002
-#define SDHCI_CAN_DDR50 0x00000004
-#define SDHCI_CAN_DRIVE_TYPE_A 0x00000010
-#define SDHCI_CAN_DRIVE_TYPE_B 0x00000020
-#define SDHCI_CAN_DRIVE_TYPE_C 0x00000040
-#define SDHCI_RETUNE_CNT_MASK 0x00000F00
-#define SDHCI_RETUNE_CNT_SHIFT 8
-#define SDHCI_TUNE_SDR50 0x00002000
-#define SDHCI_RETUNE_MODES_MASK 0x0000C000
-#define SDHCI_RETUNE_MODES_SHIFT 14
-#define SDHCI_CLOCK_MULT_MASK 0x00FF0000
-#define SDHCI_CLOCK_MULT_SHIFT 16
-
-#define SDHCI_MAX_CURRENT 0x48
-#define SDHCI_FORCE_AUTO_EVENT 0x50
-#define SDHCI_FORCE_INTR_EVENT 0x52
-#define SDHCI_ADMA_ERR 0x54
-#define SDHCI_ADMA_ADDRESS_LOW 0x58
-#define SDHCI_ADMA_ADDRESS_HI 0x5C
-#define SDHCI_PRESET_VALUE 0x60
-#define SDHCI_SHARED_BUS_CTRL 0xE0
-
-#define SDHCI_SLOT_INT_STATUS 0xFC
-
-#define SDHCI_HOST_VERSION 0xFE
-#define SDHCI_VENDOR_VER_MASK 0xFF00
-#define SDHCI_VENDOR_VER_SHIFT 8
-#define SDHCI_SPEC_VER_MASK 0x00FF
-#define SDHCI_SPEC_VER_SHIFT 0
+#define SDHCI_ACMD12_ERR 0x3C
+
+#define SDHCI_HOST_CONTROL2 0x3E
+#define SDHCI_CTRL2_PRESET_VALUE 0x8000
+#define SDHCI_CTRL2_ASYNC_INTR 0x4000
+#define SDHCI_CTRL2_SAMPLING_CLOCK 0x0080
+#define SDHCI_CTRL2_EXEC_TUNING 0x0040
+#define SDHCI_CTRL2_DRIVER_TYPE_MASK 0x0030
+#define SDHCI_CTRL2_DRIVER_TYPE_B 0x0000
+#define SDHCI_CTRL2_DRIVER_TYPE_A 0x0010
+#define SDHCI_CTRL2_DRIVER_TYPE_C 0x0020
+#define SDHCI_CTRL2_DRIVER_TYPE_D 0x0030
+#define SDHCI_CTRL2_S18_ENABLE 0x0008
+#define SDHCI_CTRL2_UHS_MASK 0x0007
+#define SDHCI_CTRL2_UHS_SDR12 0x0000
+#define SDHCI_CTRL2_UHS_SDR25 0x0001
+#define SDHCI_CTRL2_UHS_SDR50 0x0002
+#define SDHCI_CTRL2_UHS_SDR104 0x0003
+#define SDHCI_CTRL2_UHS_DDR50 0x0004
+#define SDHCI_CTRL2_MMC_HS400 0x0005 /* non-standard */
+
+#define SDHCI_CAPABILITIES 0x40
+#define SDHCI_TIMEOUT_CLK_MASK 0x0000003F
+#define SDHCI_TIMEOUT_CLK_SHIFT 0
+#define SDHCI_TIMEOUT_CLK_UNIT 0x00000080
+#define SDHCI_CLOCK_BASE_MASK 0x00003F00
+#define SDHCI_CLOCK_V3_BASE_MASK 0x0000FF00
+#define SDHCI_CLOCK_BASE_SHIFT 8
+#define SDHCI_MAX_BLOCK_MASK 0x00030000
+#define SDHCI_MAX_BLOCK_SHIFT 16
+#define SDHCI_CAN_DO_8BITBUS 0x00040000
+#define SDHCI_CAN_DO_ADMA2 0x00080000
+#define SDHCI_CAN_DO_HISPD 0x00200000
+#define SDHCI_CAN_DO_DMA 0x00400000
+#define SDHCI_CAN_DO_SUSPEND 0x00800000
+#define SDHCI_CAN_VDD_330 0x01000000
+#define SDHCI_CAN_VDD_300 0x02000000
+#define SDHCI_CAN_VDD_180 0x04000000
+#define SDHCI_CAN_DO_64BIT 0x10000000
+#define SDHCI_CAN_ASYNC_INTR 0x20000000
+#define SDHCI_SLOTTYPE_MASK 0xC0000000
+#define SDHCI_SLOTTYPE_REMOVABLE 0x00000000
+#define SDHCI_SLOTTYPE_EMBEDDED 0x40000000
+#define SDHCI_SLOTTYPE_SHARED 0x80000000
+
+#define SDHCI_CAPABILITIES2 0x44
+#define SDHCI_CAN_SDR50 0x00000001
+#define SDHCI_CAN_SDR104 0x00000002
+#define SDHCI_CAN_DDR50 0x00000004
+#define SDHCI_CAN_DRIVE_TYPE_A 0x00000010
+#define SDHCI_CAN_DRIVE_TYPE_C 0x00000020
+#define SDHCI_CAN_DRIVE_TYPE_D 0x00000040
+#define SDHCI_RETUNE_CNT_MASK 0x00000F00
+#define SDHCI_RETUNE_CNT_SHIFT 8
+#define SDHCI_TUNE_SDR50 0x00002000
+#define SDHCI_RETUNE_MODES_MASK 0x0000C000
+#define SDHCI_RETUNE_MODES_SHIFT 14
+#define SDHCI_CLOCK_MULT_MASK 0x00FF0000
+#define SDHCI_CLOCK_MULT_SHIFT 16
+#define SDHCI_CAN_MMC_HS400 0x80000000 /* non-standard */
+
+#define SDHCI_MAX_CURRENT 0x48
+#define SDHCI_FORCE_AUTO_EVENT 0x50
+#define SDHCI_FORCE_INTR_EVENT 0x52
+
+#define SDHCI_ADMA_ERR 0x54
+#define SDHCI_ADMA_ERR_LENGTH 0x04
+#define SDHCI_ADMA_ERR_STATE_MASK 0x03
+#define SDHCI_ADMA_ERR_STATE_STOP 0x00
+#define SDHCI_ADMA_ERR_STATE_FDS 0x01
+#define SDHCI_ADMA_ERR_STATE_TFR 0x03
+
+#define SDHCI_ADMA_ADDRESS_LO 0x58
+#define SDHCI_ADMA_ADDRESS_HI 0x5C
+
+#define SDHCI_PRESET_VALUE 0x60
+#define SDHCI_SHARED_BUS_CTRL 0xE0
+
+#define SDHCI_SLOT_INT_STATUS 0xFC
+
+#define SDHCI_HOST_VERSION 0xFE
+#define SDHCI_VENDOR_VER_MASK 0xFF00
+#define SDHCI_VENDOR_VER_SHIFT 8
+#define SDHCI_SPEC_VER_MASK 0x00FF
+#define SDHCI_SPEC_VER_SHIFT 0
#define SDHCI_SPEC_100 0
#define SDHCI_SPEC_200 1
#define SDHCI_SPEC_300 2
+#define SDHCI_SPEC_400 3
SYSCTL_DECL(_hw_sdhci);
+extern u_int sdhci_quirk_clear;
+extern u_int sdhci_quirk_set;
+
struct sdhci_slot {
u_int quirks; /* Chip specific quirks */
u_int caps; /* Override SDHCI_CAPABILITIES */
+ u_int caps2; /* Override SDHCI_CAPABILITIES2 */
device_t bus; /* Bus device */
device_t dev; /* Slot device */
u_char num; /* Slot number */
@@ -288,19 +338,19 @@ struct sdhci_slot {
int timeout; /* Transfer timeout */
uint32_t max_clk; /* Max possible freq */
uint32_t timeout_clk; /* Timeout freq */
- bus_dma_tag_t dmatag;
- bus_dmamap_t dmamap;
+ bus_dma_tag_t dmatag;
+ bus_dmamap_t dmamap;
u_char *dmamem;
bus_addr_t paddr; /* DMA buffer address */
struct task card_task; /* Card presence check task */
- struct timeout_task
+ struct timeout_task
card_delayed_task;/* Card insert delayed task */
struct callout card_poll_callout;/* Card present polling callout */
struct callout timeout_callout;/* Card command/data response timeout */
struct mmc_host host; /* Host parameters */
struct mmc_request *req; /* Current request */
struct mmc_command *curcmd; /* Current command of current request */
-
+
uint32_t intmask; /* Current interrupt mask */
uint32_t clock; /* Current clock freq. */
size_t offset; /* Data buffer offset */
@@ -310,15 +360,17 @@ struct sdhci_slot {
u_char cmd_done; /* CMD command part done flag */
u_char data_done; /* DAT command part done flag */
u_char flags; /* Request execution flags */
-#define CMD_STARTED 1
-#define STOP_STARTED 2
-#define SDHCI_USE_DMA 4 /* Use DMA for this req. */
-#define PLATFORM_DATA_STARTED 8 /* Data transfer is handled by platform */
+#define CMD_STARTED 1
+#define STOP_STARTED 2
+#define SDHCI_USE_DMA 4 /* Use DMA for this req. */
+#define PLATFORM_DATA_STARTED 8 /* Data xfer is handled by platform */
struct mtx mtx; /* Slot mutex */
};
-int sdhci_generic_read_ivar(device_t bus, device_t child, int which, uintptr_t *result);
-int sdhci_generic_write_ivar(device_t bus, device_t child, int which, uintptr_t value);
+int sdhci_generic_read_ivar(device_t bus, device_t child, int which,
+ uintptr_t *result);
+int sdhci_generic_write_ivar(device_t bus, device_t child, int which,
+ uintptr_t value);
int sdhci_init_slot(device_t dev, struct sdhci_slot *slot, int num);
void sdhci_start_slot(struct sdhci_slot *slot);
/* performs generic clean-up for platform transfers */
@@ -327,13 +379,16 @@ int sdhci_cleanup_slot(struct sdhci_slot *slot);
int sdhci_generic_suspend(struct sdhci_slot *slot);
int sdhci_generic_resume(struct sdhci_slot *slot);
int sdhci_generic_update_ios(device_t brdev, device_t reqdev);
-int sdhci_generic_request(device_t brdev, device_t reqdev, struct mmc_request *req);
+int sdhci_generic_switch_vccq(device_t brdev, device_t reqdev);
+int sdhci_generic_request(device_t brdev, device_t reqdev,
+ struct mmc_request *req);
int sdhci_generic_get_ro(device_t brdev, device_t reqdev);
int sdhci_generic_acquire_host(device_t brdev, device_t reqdev);
int sdhci_generic_release_host(device_t brdev, device_t reqdev);
void sdhci_generic_intr(struct sdhci_slot *slot);
uint32_t sdhci_generic_min_freq(device_t brdev, struct sdhci_slot *slot);
bool sdhci_generic_get_card_present(device_t brdev, struct sdhci_slot *slot);
+void sdhci_generic_set_uhs_timing(device_t brdev, struct sdhci_slot *slot);
void sdhci_handle_card_present(struct sdhci_slot *slot, bool is_present);
#endif /* __SDHCI_H__ */
diff --git a/sys/dev/sdhci/sdhci_acpi.c b/sys/dev/sdhci/sdhci_acpi.c
index fff6923..ea5ed70 100644
--- a/sys/dev/sdhci/sdhci_acpi.c
+++ b/sys/dev/sdhci/sdhci_acpi.c
@@ -29,7 +29,6 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
-#include <sys/conf.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/module.h>
@@ -41,16 +40,14 @@ __FBSDID("$FreeBSD$");
#include <machine/bus.h>
#include <machine/resource.h>
-#include <machine/stdarg.h>
#include <contrib/dev/acpica/include/acpi.h>
#include <dev/acpica/acpivar.h>
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
-#include <dev/mmc/mmcbrvar.h>
-#include "sdhci.h"
+#include <dev/sdhci/sdhci.h>
+
#include "mmcbr_if.h"
#include "sdhci_if.h"
@@ -60,26 +57,46 @@ static const struct sdhci_acpi_device {
const char *desc;
u_int quirks;
} sdhci_acpi_devices[] = {
- { "80860F14", 1, "Intel Bay Trail SD Host Controller",
+ { "80860F14", 1, "Intel Bay Trail/Braswell eMMC 4.5/4.5.1 Controller",
+ SDHCI_QUIRK_ALL_SLOTS_NON_REMOVABLE |
+ SDHCI_QUIRK_INTEL_POWER_UP_RESET |
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_MMC_DDR52 |
+ SDHCI_QUIRK_CAPS_BIT63_FOR_MMC_HS400 |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
+ { "80860F14", 3, "Intel Bay Trail/Braswell SDXC Controller",
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
+ { "80860F16", 0, "Intel Bay Trail/Braswell SDXC Controller",
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
+ { "80865ACA", 0, "Intel Apollo Lake SDXC Controller",
+ SDHCI_QUIRK_BROKEN_DMA | /* APL18 erratum */
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
+ { "80865ACC", 0, "Intel Apollo Lake eMMC 5.0 Controller",
+ SDHCI_QUIRK_BROKEN_DMA | /* APL18 erratum */
SDHCI_QUIRK_ALL_SLOTS_NON_REMOVABLE |
- SDHCI_QUIRK_INTEL_POWER_UP_RESET },
- { "80860F14", 3, "Intel Bay Trail SD Host Controller",
- SDHCI_QUIRK_INTEL_POWER_UP_RESET },
- { "80860F16", 0, "Intel Bay Trail SD Host Controller",
- 0 },
+ SDHCI_QUIRK_INTEL_POWER_UP_RESET |
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_MMC_DDR52 |
+ SDHCI_QUIRK_CAPS_BIT63_FOR_MMC_HS400 |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
{ NULL, 0, NULL, 0}
};
static char *sdhci_ids[] = {
"80860F14",
"80860F16",
+ "80865ACA",
+ "80865ACC",
NULL
};
struct sdhci_acpi_softc {
u_int quirks; /* Chip specific quirks */
struct resource *irq_res; /* IRQ resource */
- void *intrhand; /* Interrupt handle */
+ void *intrhand; /* Interrupt handle */
struct sdhci_slot slot;
struct resource *mem_res; /* Memory resource */
@@ -89,7 +106,8 @@ static void sdhci_acpi_intr(void *arg);
static int sdhci_acpi_detach(device_t dev);
static uint8_t
-sdhci_acpi_read_1(device_t dev, struct sdhci_slot *slot, bus_size_t off)
+sdhci_acpi_read_1(device_t dev, struct sdhci_slot *slot __unused,
+ bus_size_t off)
{
struct sdhci_acpi_softc *sc = device_get_softc(dev);
@@ -99,7 +117,8 @@ sdhci_acpi_read_1(device_t dev, struct sdhci_slot *slot, bus_size_t off)
}
static void
-sdhci_acpi_write_1(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint8_t val)
+sdhci_acpi_write_1(device_t dev, struct sdhci_slot *slot __unused,
+ bus_size_t off, uint8_t val)
{
struct sdhci_acpi_softc *sc = device_get_softc(dev);
@@ -109,7 +128,8 @@ sdhci_acpi_write_1(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint8_
}
static uint16_t
-sdhci_acpi_read_2(device_t dev, struct sdhci_slot *slot, bus_size_t off)
+sdhci_acpi_read_2(device_t dev, struct sdhci_slot *slot __unused,
+ bus_size_t off)
{
struct sdhci_acpi_softc *sc = device_get_softc(dev);
@@ -119,7 +139,8 @@ sdhci_acpi_read_2(device_t dev, struct sdhci_slot *slot, bus_size_t off)
}
static void
-sdhci_acpi_write_2(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint16_t val)
+sdhci_acpi_write_2(device_t dev, struct sdhci_slot *slot __unused,
+ bus_size_t off, uint16_t val)
{
struct sdhci_acpi_softc *sc = device_get_softc(dev);
@@ -129,7 +150,8 @@ sdhci_acpi_write_2(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint16
}
static uint32_t
-sdhci_acpi_read_4(device_t dev, struct sdhci_slot *slot, bus_size_t off)
+sdhci_acpi_read_4(device_t dev, struct sdhci_slot *slot __unused,
+ bus_size_t off)
{
struct sdhci_acpi_softc *sc = device_get_softc(dev);
@@ -139,7 +161,8 @@ sdhci_acpi_read_4(device_t dev, struct sdhci_slot *slot, bus_size_t off)
}
static void
-sdhci_acpi_write_4(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint32_t val)
+sdhci_acpi_write_4(device_t dev, struct sdhci_slot *slot __unused,
+ bus_size_t off, uint32_t val)
{
struct sdhci_acpi_softc *sc = device_get_softc(dev);
@@ -149,7 +172,7 @@ sdhci_acpi_write_4(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint32
}
static void
-sdhci_acpi_read_multi_4(device_t dev, struct sdhci_slot *slot,
+sdhci_acpi_read_multi_4(device_t dev, struct sdhci_slot *slot __unused,
bus_size_t off, uint32_t *data, bus_size_t count)
{
struct sdhci_acpi_softc *sc = device_get_softc(dev);
@@ -158,7 +181,7 @@ sdhci_acpi_read_multi_4(device_t dev, struct sdhci_slot *slot,
}
static void
-sdhci_acpi_write_multi_4(device_t dev, struct sdhci_slot *slot,
+sdhci_acpi_write_multi_4(device_t dev, struct sdhci_slot *slot __unused,
bus_size_t off, uint32_t *data, bus_size_t count)
{
struct sdhci_acpi_softc *sc = device_get_softc(dev);
@@ -189,7 +212,7 @@ sdhci_acpi_find_device(device_t dev)
if ((sdhci_acpi_devices[i].uid != 0) &&
(sdhci_acpi_devices[i].uid != uid))
continue;
- return &sdhci_acpi_devices[i];
+ return (&sdhci_acpi_devices[i]);
}
return (NULL);
@@ -239,7 +262,14 @@ sdhci_acpi_attach(device_t dev)
sdhci_acpi_detach(dev);
return (ENOMEM);
}
-
+
+ /* Intel Braswell eMMC 4.5.1 controller quirk */
+ if (strcmp(acpi_dev->hid, "80860F14") == 0 && acpi_dev->uid == 1 &&
+ SDHCI_READ_4(dev, &sc->slot, SDHCI_CAPABILITIES) == 0x446cc8b2 &&
+ SDHCI_READ_4(dev, &sc->slot, SDHCI_CAPABILITIES2) == 0x00000807)
+ sc->quirks |= SDHCI_QUIRK_DATA_TIMEOUT_1MHZ;
+ sc->quirks &= ~sdhci_quirk_clear;
+ sc->quirks |= sdhci_quirk_set;
sc->slot.quirks = sc->quirks;
err = sdhci_init_slot(dev, &sc->slot, 0);
@@ -339,13 +369,14 @@ static device_method_t sdhci_methods[] = {
DEVMETHOD(bus_write_ivar, sdhci_generic_write_ivar),
/* mmcbr_if */
- DEVMETHOD(mmcbr_update_ios, sdhci_generic_update_ios),
- DEVMETHOD(mmcbr_request, sdhci_generic_request),
- DEVMETHOD(mmcbr_get_ro, sdhci_generic_get_ro),
+ DEVMETHOD(mmcbr_update_ios, sdhci_generic_update_ios),
+ DEVMETHOD(mmcbr_switch_vccq, sdhci_generic_switch_vccq),
+ DEVMETHOD(mmcbr_request, sdhci_generic_request),
+ DEVMETHOD(mmcbr_get_ro, sdhci_generic_get_ro),
DEVMETHOD(mmcbr_acquire_host, sdhci_generic_acquire_host),
DEVMETHOD(mmcbr_release_host, sdhci_generic_release_host),
- /* SDHCI registers accessors */
+ /* SDHCI accessors */
DEVMETHOD(sdhci_read_1, sdhci_acpi_read_1),
DEVMETHOD(sdhci_read_2, sdhci_acpi_read_2),
DEVMETHOD(sdhci_read_4, sdhci_acpi_read_4),
@@ -354,6 +385,7 @@ static device_method_t sdhci_methods[] = {
DEVMETHOD(sdhci_write_2, sdhci_acpi_write_2),
DEVMETHOD(sdhci_write_4, sdhci_acpi_write_4),
DEVMETHOD(sdhci_write_multi_4, sdhci_acpi_write_multi_4),
+ DEVMETHOD(sdhci_set_uhs_timing, sdhci_generic_set_uhs_timing),
DEVMETHOD_END
};
@@ -368,5 +400,4 @@ static devclass_t sdhci_acpi_devclass;
DRIVER_MODULE(sdhci_acpi, acpi, sdhci_acpi_driver, sdhci_acpi_devclass, NULL,
NULL);
MODULE_DEPEND(sdhci_acpi, sdhci, 1, 1, 1);
-DRIVER_MODULE(mmc, sdhci_acpi, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(sdhci_acpi, mmc, 1, 1, 1);
+MMC_DECLARE_BRIDGE(sdhci_acpi);
diff --git a/sys/dev/sdhci/sdhci_fdt.c b/sys/dev/sdhci/sdhci_fdt.c
index 27709d0..2e1b30e 100644
--- a/sys/dev/sdhci/sdhci_fdt.c
+++ b/sys/dev/sdhci/sdhci_fdt.c
@@ -34,7 +34,6 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
-#include <sys/conf.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/module.h>
@@ -46,21 +45,19 @@ __FBSDID("$FreeBSD$");
#include <machine/bus.h>
#include <machine/resource.h>
-#include <machine/stdarg.h>
#include <dev/fdt/fdt_common.h>
#include <dev/ofw/ofw_bus.h>
#include <dev/ofw/ofw_bus_subr.h>
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
-#include <dev/mmc/mmcbrvar.h>
+
#include <dev/sdhci/sdhci.h>
#include "mmcbr_if.h"
#include "sdhci_if.h"
-#define MAX_SLOTS 6
+#define MAX_SLOTS 6
struct sdhci_fdt_softc {
device_t dev; /* Controller device */
@@ -68,7 +65,7 @@ struct sdhci_fdt_softc {
u_int caps; /* If we override SDHCI_CAPABILITIES */
uint32_t max_clk; /* Max possible freq */
struct resource *irq_res; /* IRQ resource */
- void *intrhand; /* Interrupt handle */
+ void *intrhand; /* Interrupt handle */
int num_slots; /* Number of slots on this controller*/
struct sdhci_slot slots[MAX_SLOTS];
@@ -79,14 +76,16 @@ static uint8_t
sdhci_fdt_read_1(device_t dev, struct sdhci_slot *slot, bus_size_t off)
{
struct sdhci_fdt_softc *sc = device_get_softc(dev);
+
return (bus_read_1(sc->mem_res[slot->num], off));
}
static void
sdhci_fdt_write_1(device_t dev, struct sdhci_slot *slot, bus_size_t off,
- uint8_t val)
+ uint8_t val)
{
struct sdhci_fdt_softc *sc = device_get_softc(dev);
+
bus_write_1(sc->mem_res[slot->num], off, val);
}
@@ -94,14 +93,16 @@ static uint16_t
sdhci_fdt_read_2(device_t dev, struct sdhci_slot *slot, bus_size_t off)
{
struct sdhci_fdt_softc *sc = device_get_softc(dev);
+
return (bus_read_2(sc->mem_res[slot->num], off));
}
static void
sdhci_fdt_write_2(device_t dev, struct sdhci_slot *slot, bus_size_t off,
- uint16_t val)
+ uint16_t val)
{
struct sdhci_fdt_softc *sc = device_get_softc(dev);
+
bus_write_2(sc->mem_res[slot->num], off, val);
}
@@ -109,14 +110,16 @@ static uint32_t
sdhci_fdt_read_4(device_t dev, struct sdhci_slot *slot, bus_size_t off)
{
struct sdhci_fdt_softc *sc = device_get_softc(dev);
+
return (bus_read_4(sc->mem_res[slot->num], off));
}
static void
sdhci_fdt_write_4(device_t dev, struct sdhci_slot *slot, bus_size_t off,
- uint32_t val)
+ uint32_t val)
{
struct sdhci_fdt_softc *sc = device_get_softc(dev);
+
bus_write_4(sc->mem_res[slot->num], off, val);
}
@@ -125,6 +128,7 @@ sdhci_fdt_read_multi_4(device_t dev, struct sdhci_slot *slot,
bus_size_t off, uint32_t *data, bus_size_t count)
{
struct sdhci_fdt_softc *sc = device_get_softc(dev);
+
bus_read_multi_4(sc->mem_res[slot->num], off, data, count);
}
@@ -133,6 +137,7 @@ sdhci_fdt_write_multi_4(device_t dev, struct sdhci_slot *slot,
bus_size_t off, uint32_t *data, bus_size_t count)
{
struct sdhci_fdt_softc *sc = device_get_softc(dev);
+
bus_write_multi_4(sc->mem_res[slot->num], off, data, count);
}
@@ -142,10 +147,8 @@ sdhci_fdt_intr(void *arg)
struct sdhci_fdt_softc *sc = (struct sdhci_fdt_softc *)arg;
int i;
- for (i = 0; i < sc->num_slots; i++) {
- struct sdhci_slot *slot = &sc->slots[i];
- sdhci_generic_intr(slot);
- }
+ for (i = 0; i < sc->num_slots; i++)
+ sdhci_generic_intr(&sc->slots[i]);
}
static int
@@ -187,6 +190,7 @@ static int
sdhci_fdt_attach(device_t dev)
{
struct sdhci_fdt_softc *sc = device_get_softc(dev);
+ struct sdhci_slot *slot;
int err, slots, rid, i;
sc->dev = dev;
@@ -194,7 +198,7 @@ sdhci_fdt_attach(device_t dev)
/* Allocate IRQ. */
rid = 0;
sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
- RF_ACTIVE);
+ RF_ACTIVE);
if (sc->irq_res == NULL) {
device_printf(dev, "Can't allocate IRQ\n");
return (ENOMEM);
@@ -204,15 +208,15 @@ sdhci_fdt_attach(device_t dev)
slots = sc->num_slots; /* number of slots determined in probe(). */
sc->num_slots = 0;
for (i = 0; i < slots; i++) {
- struct sdhci_slot *slot = &sc->slots[sc->num_slots];
+ slot = &sc->slots[sc->num_slots];
/* Allocate memory. */
rid = 0;
sc->mem_res[i] = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
&rid, RF_ACTIVE);
if (sc->mem_res[i] == NULL) {
- device_printf(dev, "Can't allocate memory for "
- "slot %d\n", i);
+ device_printf(dev,
+ "Can't allocate memory for slot %d\n", i);
continue;
}
@@ -236,10 +240,8 @@ sdhci_fdt_attach(device_t dev)
}
/* Process cards detection. */
- for (i = 0; i < sc->num_slots; i++) {
- struct sdhci_slot *slot = &sc->slots[i];
- sdhci_start_slot(slot);
- }
+ for (i = 0; i < sc->num_slots; i++)
+ sdhci_start_slot(&sc->slots[i]);
return (0);
}
@@ -253,15 +255,12 @@ sdhci_fdt_detach(device_t dev)
bus_generic_detach(dev);
bus_teardown_intr(dev, sc->irq_res, sc->intrhand);
bus_release_resource(dev, SYS_RES_IRQ, rman_get_rid(sc->irq_res),
- sc->irq_res);
+ sc->irq_res);
for (i = 0; i < sc->num_slots; i++) {
- struct sdhci_slot *slot = &sc->slots[i];
-
- sdhci_cleanup_slot(slot);
+ sdhci_cleanup_slot(&sc->slots[i]);
bus_release_resource(dev, SYS_RES_MEMORY,
- rman_get_rid(sc->mem_res[i]),
- sc->mem_res[i]);
+ rman_get_rid(sc->mem_res[i]), sc->mem_res[i]);
}
return (0);
@@ -269,20 +268,20 @@ sdhci_fdt_detach(device_t dev)
static device_method_t sdhci_fdt_methods[] = {
/* device_if */
- DEVMETHOD(device_probe, sdhci_fdt_probe),
- DEVMETHOD(device_attach, sdhci_fdt_attach),
- DEVMETHOD(device_detach, sdhci_fdt_detach),
+ DEVMETHOD(device_probe, sdhci_fdt_probe),
+ DEVMETHOD(device_attach, sdhci_fdt_attach),
+ DEVMETHOD(device_detach, sdhci_fdt_detach),
/* Bus interface */
DEVMETHOD(bus_read_ivar, sdhci_generic_read_ivar),
DEVMETHOD(bus_write_ivar, sdhci_generic_write_ivar),
/* mmcbr_if */
- DEVMETHOD(mmcbr_update_ios, sdhci_generic_update_ios),
- DEVMETHOD(mmcbr_request, sdhci_generic_request),
- DEVMETHOD(mmcbr_get_ro, sdhci_generic_get_ro),
- DEVMETHOD(mmcbr_acquire_host, sdhci_generic_acquire_host),
- DEVMETHOD(mmcbr_release_host, sdhci_generic_release_host),
+ DEVMETHOD(mmcbr_update_ios, sdhci_generic_update_ios),
+ DEVMETHOD(mmcbr_request, sdhci_generic_request),
+ DEVMETHOD(mmcbr_get_ro, sdhci_generic_get_ro),
+ DEVMETHOD(mmcbr_acquire_host, sdhci_generic_acquire_host),
+ DEVMETHOD(mmcbr_release_host, sdhci_generic_release_host),
/* SDHCI registers accessors */
DEVMETHOD(sdhci_read_1, sdhci_fdt_read_1),
@@ -307,5 +306,4 @@ static devclass_t sdhci_fdt_devclass;
DRIVER_MODULE(sdhci_fdt, simplebus, sdhci_fdt_driver, sdhci_fdt_devclass,
NULL, NULL);
MODULE_DEPEND(sdhci_fdt, sdhci, 1, 1, 1);
-DRIVER_MODULE(mmc, sdhci_fdt, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(sdhci_fdt, mmc, 1, 1, 1);
+MMC_DECLARE_BRIDGE(sdhci_fdt);
diff --git a/sys/dev/sdhci/sdhci_fdt_gpio.c b/sys/dev/sdhci/sdhci_fdt_gpio.c
index 77bc745..2f2fb18 100644
--- a/sys/dev/sdhci/sdhci_fdt_gpio.c
+++ b/sys/dev/sdhci/sdhci_fdt_gpio.c
@@ -90,7 +90,7 @@ cd_setup(struct sdhci_fdt_gpio *gpio, phandle_t node)
gpio->slot->opt |= SDHCI_NON_REMOVABLE;
gpio->cd_disabled = true;
if (bootverbose)
- device_printf(dev, "Non-removable media");
+ device_printf(dev, "Non-removable media\n");
return;
}
@@ -177,8 +177,12 @@ wp_setup(struct sdhci_fdt_gpio *gpio, phandle_t node)
dev = gpio->dev;
- if (OF_hasprop(node, "wp-disable"))
+ if (OF_hasprop(node, "wp-disable")) {
+ gpio->wp_disabled = true;
+ if (bootverbose)
+ device_printf(dev, "Write protect disabled\n");
return;
+ }
if (gpio_pin_get_by_ofw_property(dev, node, "wp-gpios", &gpio->wp_pin))
return;
diff --git a/sys/dev/sdhci/sdhci_if.m b/sys/dev/sdhci/sdhci_if.m
index da02d31..d77de77 100644
--- a/sys/dev/sdhci/sdhci_if.m
+++ b/sys/dev/sdhci/sdhci_if.m
@@ -59,20 +59,20 @@
#
#include <sys/types.h>
-#include <sys/systm.h>
-#include <sys/lock.h>
-#include <sys/mutex.h>
+#include <sys/bus.h>
#include <sys/sysctl.h>
#include <sys/taskqueue.h>
-#include <machine/bus.h>
-
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
#include <dev/sdhci/sdhci.h>
CODE {
- struct sdhci_slot;
+ static void
+ null_set_uhs_timing(device_t brdev __unused,
+ struct sdhci_slot *slot __unused)
+ {
+
+ }
}
INTERFACE sdhci;
@@ -158,3 +158,7 @@ METHOD bool get_card_present {
struct sdhci_slot *slot;
} DEFAULT sdhci_generic_get_card_present;
+METHOD void set_uhs_timing {
+ device_t brdev;
+ struct sdhci_slot *slot;
+} DEFAULT null_set_uhs_timing;
diff --git a/sys/dev/sdhci/sdhci_pci.c b/sys/dev/sdhci/sdhci_pci.c
index aec4000..9c59d32 100644
--- a/sys/dev/sdhci/sdhci_pci.c
+++ b/sys/dev/sdhci/sdhci_pci.c
@@ -29,7 +29,6 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
-#include <sys/conf.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/module.h>
@@ -44,27 +43,24 @@ __FBSDID("$FreeBSD$");
#include <machine/bus.h>
#include <machine/resource.h>
-#include <machine/stdarg.h>
#include <dev/mmc/bridge.h>
-#include <dev/mmc/mmcreg.h>
-#include <dev/mmc/mmcbrvar.h>
-#include "sdhci.h"
+#include <dev/sdhci/sdhci.h>
+
#include "mmcbr_if.h"
#include "sdhci_if.h"
/*
* PCI registers
*/
+#define PCI_SDHCI_IFPIO 0x00
+#define PCI_SDHCI_IFDMA 0x01
+#define PCI_SDHCI_IFVENDOR 0x02
-#define PCI_SDHCI_IFPIO 0x00
-#define PCI_SDHCI_IFDMA 0x01
-#define PCI_SDHCI_IFVENDOR 0x02
-
-#define PCI_SLOT_INFO 0x40 /* 8 bits */
-#define PCI_SLOT_INFO_SLOTS(x) (((x >> 4) & 7) + 1)
-#define PCI_SLOT_INFO_FIRST_BAR(x) ((x) & 7)
+#define PCI_SLOT_INFO 0x40 /* 8 bits */
+#define PCI_SLOT_INFO_SLOTS(x) (((x >> 4) & 7) + 1)
+#define PCI_SLOT_INFO_FIRST_BAR(x) ((x) & 7)
/*
* RICOH specific PCI registers
@@ -81,45 +77,72 @@ static const struct sdhci_device {
const char *desc;
u_int quirks;
} sdhci_devices[] = {
- { 0x08221180, 0xffff, "RICOH R5C822 SD",
+ { 0x08221180, 0xffff, "RICOH R5C822 SD",
SDHCI_QUIRK_FORCE_DMA },
- { 0xe8221180, 0xffff, "RICOH R5CE822 SD",
+ { 0xe8221180, 0xffff, "RICOH R5CE822 SD",
SDHCI_QUIRK_FORCE_DMA |
SDHCI_QUIRK_LOWER_FREQUENCY },
- { 0xe8231180, 0xffff, "RICOH R5CE823 SD",
+ { 0xe8231180, 0xffff, "RICOH R5CE823 SD",
SDHCI_QUIRK_LOWER_FREQUENCY },
- { 0x8034104c, 0xffff, "TI XX21/XX11 SD",
+ { 0x8034104c, 0xffff, "TI XX21/XX11 SD",
SDHCI_QUIRK_FORCE_DMA },
- { 0x05501524, 0xffff, "ENE CB712 SD",
+ { 0x05501524, 0xffff, "ENE CB712 SD",
SDHCI_QUIRK_BROKEN_TIMINGS },
- { 0x05511524, 0xffff, "ENE CB712 SD 2",
+ { 0x05511524, 0xffff, "ENE CB712 SD 2",
SDHCI_QUIRK_BROKEN_TIMINGS },
- { 0x07501524, 0xffff, "ENE CB714 SD",
+ { 0x07501524, 0xffff, "ENE CB714 SD",
SDHCI_QUIRK_RESET_ON_IOS |
SDHCI_QUIRK_BROKEN_TIMINGS },
- { 0x07511524, 0xffff, "ENE CB714 SD 2",
+ { 0x07511524, 0xffff, "ENE CB714 SD 2",
SDHCI_QUIRK_RESET_ON_IOS |
SDHCI_QUIRK_BROKEN_TIMINGS },
- { 0x410111ab, 0xffff, "Marvell CaFe SD",
+ { 0x410111ab, 0xffff, "Marvell CaFe SD",
SDHCI_QUIRK_INCR_TIMEOUT_CONTROL },
- { 0x2381197B, 0xffff, "JMicron JMB38X SD",
+ { 0x2381197B, 0xffff, "JMicron JMB38X SD",
SDHCI_QUIRK_32BIT_DMA_SIZE |
SDHCI_QUIRK_RESET_AFTER_REQUEST },
{ 0x16bc14e4, 0xffff, "Broadcom BCM577xx SDXC/MMC Card Reader",
SDHCI_QUIRK_BCM577XX_400KHZ_CLKSRC },
{ 0x0f148086, 0xffff, "Intel Bay Trail eMMC 4.5 Controller",
SDHCI_QUIRK_ALL_SLOTS_NON_REMOVABLE |
- SDHCI_QUIRK_INTEL_POWER_UP_RESET },
+ SDHCI_QUIRK_INTEL_POWER_UP_RESET |
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_MMC_DDR52 |
+ SDHCI_QUIRK_CAPS_BIT63_FOR_MMC_HS400 |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN},
+ { 0x0f158086, 0xffff, "Intel Bay Trail SDXC Controller",
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
{ 0x0f508086, 0xffff, "Intel Bay Trail eMMC 4.5 Controller",
SDHCI_QUIRK_ALL_SLOTS_NON_REMOVABLE |
- SDHCI_QUIRK_INTEL_POWER_UP_RESET },
+ SDHCI_QUIRK_INTEL_POWER_UP_RESET |
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_MMC_DDR52 |
+ SDHCI_QUIRK_CAPS_BIT63_FOR_MMC_HS400 |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
{ 0x22948086, 0xffff, "Intel Braswell eMMC 4.5.1 Controller",
SDHCI_QUIRK_ALL_SLOTS_NON_REMOVABLE |
SDHCI_QUIRK_DATA_TIMEOUT_1MHZ |
- SDHCI_QUIRK_INTEL_POWER_UP_RESET },
+ SDHCI_QUIRK_INTEL_POWER_UP_RESET |
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_MMC_DDR52 |
+ SDHCI_QUIRK_CAPS_BIT63_FOR_MMC_HS400 |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
+ { 0x22968086, 0xffff, "Intel Braswell SDXC Controller",
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
+ { 0x5aca8086, 0xffff, "Intel Apollo Lake SDXC Controller",
+ SDHCI_QUIRK_BROKEN_DMA | /* APL18 erratum */
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
{ 0x5acc8086, 0xffff, "Intel Apollo Lake eMMC 5.0 Controller",
+ SDHCI_QUIRK_BROKEN_DMA | /* APL18 erratum */
SDHCI_QUIRK_ALL_SLOTS_NON_REMOVABLE |
- SDHCI_QUIRK_INTEL_POWER_UP_RESET },
+ SDHCI_QUIRK_INTEL_POWER_UP_RESET |
+ SDHCI_QUIRK_WAIT_WHILE_BUSY |
+ SDHCI_QUIRK_MMC_DDR52 |
+ SDHCI_QUIRK_CAPS_BIT63_FOR_MMC_HS400 |
+ SDHCI_QUIRK_PRESET_VALUE_BROKEN },
{ 0, 0xffff, NULL,
0 }
};
@@ -127,7 +150,7 @@ static const struct sdhci_device {
struct sdhci_pci_softc {
u_int quirks; /* Chip specific quirks */
struct resource *irq_res; /* IRQ resource */
- void *intrhand; /* Interrupt handle */
+ void *intrhand; /* Interrupt handle */
int num_slots; /* Number of slots on this controller */
struct sdhci_slot slots[6];
@@ -141,7 +164,7 @@ SYSCTL_INT(_hw_sdhci, OID_AUTO, enable_msi, CTLFLAG_RDTUN, &sdhci_enable_msi,
0, "Enable MSI interrupts");
static uint8_t
-sdhci_pci_read_1(device_t dev, struct sdhci_slot *slot, bus_size_t off)
+sdhci_pci_read_1(device_t dev, struct sdhci_slot *slot __unused, bus_size_t off)
{
struct sdhci_pci_softc *sc = device_get_softc(dev);
@@ -151,7 +174,8 @@ sdhci_pci_read_1(device_t dev, struct sdhci_slot *slot, bus_size_t off)
}
static void
-sdhci_pci_write_1(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint8_t val)
+sdhci_pci_write_1(device_t dev, struct sdhci_slot *slot __unused,
+ bus_size_t off, uint8_t val)
{
struct sdhci_pci_softc *sc = device_get_softc(dev);
@@ -161,7 +185,7 @@ sdhci_pci_write_1(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint8_t
}
static uint16_t
-sdhci_pci_read_2(device_t dev, struct sdhci_slot *slot, bus_size_t off)
+sdhci_pci_read_2(device_t dev, struct sdhci_slot *slot __unused, bus_size_t off)
{
struct sdhci_pci_softc *sc = device_get_softc(dev);
@@ -171,7 +195,8 @@ sdhci_pci_read_2(device_t dev, struct sdhci_slot *slot, bus_size_t off)
}
static void
-sdhci_pci_write_2(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint16_t val)
+sdhci_pci_write_2(device_t dev, struct sdhci_slot *slot __unused,
+ bus_size_t off, uint16_t val)
{
struct sdhci_pci_softc *sc = device_get_softc(dev);
@@ -181,7 +206,7 @@ sdhci_pci_write_2(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint16_
}
static uint32_t
-sdhci_pci_read_4(device_t dev, struct sdhci_slot *slot, bus_size_t off)
+sdhci_pci_read_4(device_t dev, struct sdhci_slot *slot __unused, bus_size_t off)
{
struct sdhci_pci_softc *sc = device_get_softc(dev);
@@ -191,7 +216,8 @@ sdhci_pci_read_4(device_t dev, struct sdhci_slot *slot, bus_size_t off)
}
static void
-sdhci_pci_write_4(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint32_t val)
+sdhci_pci_write_4(device_t dev, struct sdhci_slot *slot __unused,
+ bus_size_t off, uint32_t val)
{
struct sdhci_pci_softc *sc = device_get_softc(dev);
@@ -201,7 +227,7 @@ sdhci_pci_write_4(device_t dev, struct sdhci_slot *slot, bus_size_t off, uint32_
}
static void
-sdhci_pci_read_multi_4(device_t dev, struct sdhci_slot *slot,
+sdhci_pci_read_multi_4(device_t dev, struct sdhci_slot *slot __unused,
bus_size_t off, uint32_t *data, bus_size_t count)
{
struct sdhci_pci_softc *sc = device_get_softc(dev);
@@ -210,7 +236,7 @@ sdhci_pci_read_multi_4(device_t dev, struct sdhci_slot *slot,
}
static void
-sdhci_pci_write_multi_4(device_t dev, struct sdhci_slot *slot,
+sdhci_pci_write_multi_4(device_t dev, struct sdhci_slot *slot __unused,
bus_size_t off, uint32_t *data, bus_size_t count)
{
struct sdhci_pci_softc *sc = device_get_softc(dev);
@@ -297,6 +323,7 @@ static int
sdhci_pci_attach(device_t dev)
{
struct sdhci_pci_softc *sc = device_get_softc(dev);
+ struct sdhci_slot *slot;
uint32_t model;
uint16_t subvendor;
int bar, err, rid, slots, i;
@@ -313,6 +340,9 @@ sdhci_pci_attach(device_t dev)
break;
}
}
+ sc->quirks &= ~sdhci_quirk_clear;
+ sc->quirks |= sdhci_quirk_set;
+
/* Some controllers need to be bumped into the right mode. */
if (sc->quirks & SDHCI_QUIRK_LOWER_FREQUENCY)
sdhci_lower_frequency(dev);
@@ -339,17 +369,18 @@ sdhci_pci_attach(device_t dev)
}
/* Scan all slots. */
for (i = 0; i < slots; i++) {
- struct sdhci_slot *slot = &sc->slots[sc->num_slots];
+ slot = &sc->slots[sc->num_slots];
/* Allocate memory. */
rid = PCIR_BAR(bar + i);
sc->mem_res[i] = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
&rid, RF_ACTIVE);
if (sc->mem_res[i] == NULL) {
- device_printf(dev, "Can't allocate memory for slot %d\n", i);
+ device_printf(dev,
+ "Can't allocate memory for slot %d\n", i);
continue;
}
-
+
slot->quirks = sc->quirks;
if (sdhci_init_slot(dev, slot, i) != 0)
@@ -365,11 +396,8 @@ sdhci_pci_attach(device_t dev)
device_printf(dev, "Can't setup IRQ\n");
pci_enable_busmaster(dev);
/* Process cards detection. */
- for (i = 0; i < sc->num_slots; i++) {
- struct sdhci_slot *slot = &sc->slots[i];
-
- sdhci_start_slot(slot);
- }
+ for (i = 0; i < sc->num_slots; i++)
+ sdhci_start_slot(&sc->slots[i]);
return (0);
}
@@ -386,9 +414,7 @@ sdhci_pci_detach(device_t dev)
pci_release_msi(dev);
for (i = 0; i < sc->num_slots; i++) {
- struct sdhci_slot *slot = &sc->slots[i];
-
- sdhci_cleanup_slot(slot);
+ sdhci_cleanup_slot(&sc->slots[i]);
bus_release_resource(dev, SYS_RES_MEMORY,
rman_get_rid(sc->mem_res[i]), sc->mem_res[i]);
}
@@ -443,33 +469,32 @@ sdhci_pci_intr(void *arg)
struct sdhci_pci_softc *sc = (struct sdhci_pci_softc *)arg;
int i;
- for (i = 0; i < sc->num_slots; i++) {
- struct sdhci_slot *slot = &sc->slots[i];
- sdhci_generic_intr(slot);
- }
+ for (i = 0; i < sc->num_slots; i++)
+ sdhci_generic_intr(&sc->slots[i]);
}
static device_method_t sdhci_methods[] = {
/* device_if */
- DEVMETHOD(device_probe, sdhci_pci_probe),
- DEVMETHOD(device_attach, sdhci_pci_attach),
- DEVMETHOD(device_detach, sdhci_pci_detach),
- DEVMETHOD(device_shutdown, sdhci_pci_shutdown),
- DEVMETHOD(device_suspend, sdhci_pci_suspend),
- DEVMETHOD(device_resume, sdhci_pci_resume),
+ DEVMETHOD(device_probe, sdhci_pci_probe),
+ DEVMETHOD(device_attach, sdhci_pci_attach),
+ DEVMETHOD(device_detach, sdhci_pci_detach),
+ DEVMETHOD(device_shutdown, sdhci_pci_shutdown),
+ DEVMETHOD(device_suspend, sdhci_pci_suspend),
+ DEVMETHOD(device_resume, sdhci_pci_resume),
/* Bus interface */
DEVMETHOD(bus_read_ivar, sdhci_generic_read_ivar),
DEVMETHOD(bus_write_ivar, sdhci_generic_write_ivar),
/* mmcbr_if */
- DEVMETHOD(mmcbr_update_ios, sdhci_generic_update_ios),
- DEVMETHOD(mmcbr_request, sdhci_generic_request),
- DEVMETHOD(mmcbr_get_ro, sdhci_generic_get_ro),
+ DEVMETHOD(mmcbr_update_ios, sdhci_generic_update_ios),
+ DEVMETHOD(mmcbr_switch_vccq, sdhci_generic_switch_vccq),
+ DEVMETHOD(mmcbr_request, sdhci_generic_request),
+ DEVMETHOD(mmcbr_get_ro, sdhci_generic_get_ro),
DEVMETHOD(mmcbr_acquire_host, sdhci_generic_acquire_host),
DEVMETHOD(mmcbr_release_host, sdhci_generic_release_host),
- /* SDHCI registers accessors */
+ /* SDHCI accessors */
DEVMETHOD(sdhci_read_1, sdhci_pci_read_1),
DEVMETHOD(sdhci_read_2, sdhci_pci_read_2),
DEVMETHOD(sdhci_read_4, sdhci_pci_read_4),
@@ -478,6 +503,7 @@ static device_method_t sdhci_methods[] = {
DEVMETHOD(sdhci_write_2, sdhci_pci_write_2),
DEVMETHOD(sdhci_write_4, sdhci_pci_write_4),
DEVMETHOD(sdhci_write_multi_4, sdhci_pci_write_multi_4),
+ DEVMETHOD(sdhci_set_uhs_timing, sdhci_generic_set_uhs_timing),
DEVMETHOD_END
};
@@ -492,5 +518,4 @@ static devclass_t sdhci_pci_devclass;
DRIVER_MODULE(sdhci_pci, pci, sdhci_pci_driver, sdhci_pci_devclass, NULL,
NULL);
MODULE_DEPEND(sdhci_pci, sdhci, 1, 1, 1);
-DRIVER_MODULE(mmc, sdhci_pci, mmc_driver, mmc_devclass, NULL, NULL);
-MODULE_DEPEND(sdhci_pci, mmc, 1, 1, 1);
+MMC_DECLARE_BRIDGE(sdhci_pci);
diff --git a/sys/dev/sound/pcm/buffer.c b/sys/dev/sound/pcm/buffer.c
index a925fb1..cd59a35 100644
--- a/sys/dev/sound/pcm/buffer.c
+++ b/sys/dev/sound/pcm/buffer.c
@@ -35,6 +35,7 @@
#include "feeder_if.h"
#define SND_USE_FXDIV
+#define SND_DECLARE_FXDIV
#include "snd_fxdiv_gen.h"
SND_DECLARE_FILE("$FreeBSD$");
diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c
index 32978ac..8e6ba27 100644
--- a/sys/dev/sound/pcm/feeder_mixer.c
+++ b/sys/dev/sound/pcm/feeder_mixer.c
@@ -131,10 +131,10 @@ static struct feed_mixer_info feed_mixer_info_tab[] = {
sizeof(feed_mixer_info_tab[0])))
#define FEEDMIXER_DATA(i, c) ((void *) \
- ((uintptr_t)((((i) & 0x1f) << 5) | \
- ((c) & 0x1f))))
-#define FEEDMIXER_INFOIDX(d) ((uint32_t)((uintptr_t)(d) >> 5) & 0x1f)
-#define FEEDMIXER_CHANNELS(d) ((uint32_t)((uintptr_t)(d)) & 0x1f)
+ ((uintptr_t)((((i) & 0x1f) << 7) | \
+ ((c) & 0x7f))))
+#define FEEDMIXER_INFOIDX(d) ((uint32_t)((uintptr_t)(d) >> 7) & 0x1f)
+#define FEEDMIXER_CHANNELS(d) ((uint32_t)((uintptr_t)(d)) & 0x7f)
static int
feed_mixer_init(struct pcm_feeder *f)
diff --git a/sys/dev/tws/tws.h b/sys/dev/tws/tws.h
index 8cb9791..0af50c4 100644
--- a/sys/dev/tws/tws.h
+++ b/sys/dev/tws/tws.h
@@ -67,7 +67,7 @@ extern int tws_queue_depth;
#define TWS_DRIVER_VERSION_STRING "10.80.00.005"
#define TWS_MAX_NUM_UNITS 65
-#define TWS_MAX_NUM_LUNS 16
+#define TWS_MAX_NUM_LUNS 32
#define TWS_MAX_IRQS 2
#define TWS_SCSI_INITIATOR_ID 66
#define TWS_MAX_IO_SIZE 0x20000 /* 128kB */
diff --git a/sys/dev/uart/uart_bus_pci.c b/sys/dev/uart/uart_bus_pci.c
index 4166222..56452cb 100644
--- a/sys/dev/uart/uart_bus_pci.c
+++ b/sys/dev/uart/uart_bus_pci.c
@@ -125,6 +125,7 @@ static const struct pci_id pci_ns8250_ids[] = {
24 * DEFAULT_RCLK, 2 },
{ 0x8086, 0x0f0c, 0xffff, 0, "Intel ValleyView LPIO1 HSUART#2", 0x10,
24 * DEFAULT_RCLK, 2 },
+{ 0x8086, 0x108f, 0xffff, 0, "Intel AMT - SOL", 0x10 },
{ 0x8086, 0x1c3d, 0xffff, 0, "Intel AMT - KT Controller", 0x10 },
{ 0x8086, 0x1d3d, 0xffff, 0, "Intel C600/X79 Series Chipset KT Controller", 0x10 },
{ 0x8086, 0x1e3d, 0xffff, 0, "Intel Panther Point KT Controller", 0x10 },
diff --git a/sys/dev/uart/uart_dev_lpc.c b/sys/dev/uart/uart_dev_lpc.c
index 306c9f1..48d7be3 100644
--- a/sys/dev/uart/uart_dev_lpc.c
+++ b/sys/dev/uart/uart_dev_lpc.c
@@ -345,9 +345,6 @@ lpc_ns8250_putc(struct uart_bas *bas, int c)
DELAY(4);
uart_setreg(bas, REG_DATA, c);
uart_barrier(bas);
- limit = 250000;
- while ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0 && --limit)
- DELAY(4);
}
static int
@@ -890,8 +887,13 @@ lpc_ns8250_bus_transmit(struct uart_softc *sc)
bas = &sc->sc_bas;
uart_lock(sc->sc_hwmtx);
- while ((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0)
- ;
+ if (sc->sc_txdatasz > 1) {
+ if ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0)
+ lpc_ns8250_drain(bas, UART_DRAIN_TRANSMITTER);
+ } else {
+ while ((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0)
+ DELAY(4);
+ }
for (i = 0; i < sc->sc_txdatasz; i++) {
uart_setreg(bas, REG_DATA, sc->sc_txbuf[i]);
uart_barrier(bas);
diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c
index 2498fa3..cad5366 100644
--- a/sys/dev/uart/uart_dev_ns8250.c
+++ b/sys/dev/uart/uart_dev_ns8250.c
@@ -335,9 +335,6 @@ ns8250_putc(struct uart_bas *bas, int c)
DELAY(4);
uart_setreg(bas, REG_DATA, c);
uart_barrier(bas);
- limit = 250000;
- while ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0 && --limit)
- DELAY(4);
}
static int
@@ -968,8 +965,13 @@ ns8250_bus_transmit(struct uart_softc *sc)
bas = &sc->sc_bas;
uart_lock(sc->sc_hwmtx);
- while ((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0)
- ;
+ if (sc->sc_txdatasz > 1) {
+ if ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0)
+ ns8250_drain(bas, UART_DRAIN_TRANSMITTER);
+ } else {
+ while ((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0)
+ DELAY(4);
+ }
for (i = 0; i < sc->sc_txdatasz; i++) {
uart_setreg(bas, REG_DATA, sc->sc_txbuf[i]);
uart_barrier(bas);
diff --git a/sys/dev/usb/controller/xhci_pci.c b/sys/dev/usb/controller/xhci_pci.c
index cada25a..d615f55 100644
--- a/sys/dev/usb/controller/xhci_pci.c
+++ b/sys/dev/usb/controller/xhci_pci.c
@@ -100,6 +100,8 @@ xhci_pci_match(device_t self)
case 0x01941033:
return ("NEC uPD720200 USB 3.0 controller");
+ case 0x00151912:
+ return ("NEC uPD720202 USB 3.0 controller");
case 0x10001b73:
return ("Fresco Logic FL1000G USB 3.0 controller");
@@ -114,6 +116,10 @@ xhci_pci_match(device_t self)
case 0x9c318086:
case 0x1e318086:
return ("Intel Panther Point USB 3.0 controller");
+ case 0x22b58086:
+ return ("Intel Braswell USB 3.0 controller");
+ case 0x5aa88086:
+ return ("Intel Apollo Lake USB 3.0 controller");
case 0x8c318086:
return ("Intel Lynx Point USB 3.0 controller");
case 0x8cb18086:
diff --git a/sys/dev/vmware/vmxnet3/if_vmx.c b/sys/dev/vmware/vmxnet3/if_vmx.c
index b1bc947..017ccb0 100644
--- a/sys/dev/vmware/vmxnet3/if_vmx.c
+++ b/sys/dev/vmware/vmxnet3/if_vmx.c
@@ -2194,6 +2194,20 @@ vmxnet3_rxq_eof(struct vmxnet3_rxqueue *rxq)
} else {
KASSERT(rxd->btype == VMXNET3_BTYPE_BODY,
("%s: non start of frame w/o body buffer", __func__));
+
+ if (m_head == NULL && m_tail == NULL) {
+ /*
+ * This is a continuation of a packet that we
+ * started to drop, but could not drop entirely
+ * because this segment was still owned by the
+ * host. So, drop the remainder now.
+ */
+ vmxnet3_rxq_eof_discard(rxq, rxr, idx);
+ if (!rxcd->eop)
+ vmxnet3_rxq_discard_chain(rxq);
+ goto nextp;
+ }
+
KASSERT(m_head != NULL,
("%s: frame not started?", __func__));
diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c
index 361f628..13a0365 100644
--- a/sys/dev/vt/vt_core.c
+++ b/sys/dev/vt/vt_core.c
@@ -1147,6 +1147,36 @@ vt_mark_mouse_position_as_dirty(struct vt_device *vd)
}
#endif
+static void
+vt_set_border(struct vt_device *vd, const term_rect_t *area,
+ const term_color_t c)
+{
+ vd_drawrect_t *drawrect = vd->vd_driver->vd_drawrect;
+
+ if (drawrect == NULL)
+ return;
+
+ /* Top bar */
+ if (area->tr_begin.tp_row > 0)
+ drawrect(vd, 0, 0, vd->vd_width - 1,
+ area->tr_begin.tp_row - 1, 1, c);
+
+ /* Left bar */
+ if (area->tr_begin.tp_col > 0)
+ drawrect(vd, 0, area->tr_begin.tp_row,
+ area->tr_begin.tp_col - 1, area->tr_end.tp_row - 1, 1, c);
+
+ /* Right bar */
+ if (area->tr_end.tp_col < vd->vd_width)
+ drawrect(vd, area->tr_end.tp_col, area->tr_begin.tp_row,
+ vd->vd_width - 1, area->tr_end.tp_row - 1, 1, c);
+
+ /* Bottom bar */
+ if (area->tr_end.tp_row < vd->vd_height)
+ drawrect(vd, 0, area->tr_end.tp_row, vd->vd_width - 1,
+ vd->vd_height - 1, 1, c);
+}
+
static int
vt_flush(struct vt_device *vd)
{
@@ -1212,6 +1242,7 @@ vt_flush(struct vt_device *vd)
if (vd->vd_flags & VDF_INVALID) {
vd->vd_flags &= ~VDF_INVALID;
+ vt_set_border(vd, &vw->vw_draw_area, TC_BLACK);
vt_termrect(vd, vf, &tarea);
if (vt_draw_logo_cpus)
vtterm_draw_cpu_logos(vd);
@@ -1527,45 +1558,6 @@ vtterm_opened(struct terminal *tm, int opened)
}
static int
-vt_set_border(struct vt_window *vw, term_color_t c)
-{
- struct vt_device *vd = vw->vw_device;
-
- if (vd->vd_driver->vd_drawrect == NULL)
- return (ENOTSUP);
-
- /* Top bar. */
- if (vw->vw_draw_area.tr_begin.tp_row > 0)
- vd->vd_driver->vd_drawrect(vd,
- 0, 0,
- vd->vd_width - 1, vw->vw_draw_area.tr_begin.tp_row - 1,
- 1, c);
-
- /* Left bar. */
- if (vw->vw_draw_area.tr_begin.tp_col > 0)
- vd->vd_driver->vd_drawrect(vd,
- 0, 0,
- vw->vw_draw_area.tr_begin.tp_col - 1, vd->vd_height - 1,
- 1, c);
-
- /* Right bar. */
- if (vw->vw_draw_area.tr_end.tp_col < vd->vd_width)
- vd->vd_driver->vd_drawrect(vd,
- vw->vw_draw_area.tr_end.tp_col - 1, 0,
- vd->vd_width - 1, vd->vd_height - 1,
- 1, c);
-
- /* Bottom bar. */
- if (vw->vw_draw_area.tr_end.tp_row < vd->vd_height)
- vd->vd_driver->vd_drawrect(vd,
- 0, vw->vw_draw_area.tr_end.tp_row - 1,
- vd->vd_width - 1, vd->vd_height - 1,
- 1, c);
-
- return (0);
-}
-
-static int
vt_change_font(struct vt_window *vw, struct vt_font *vf)
{
struct vt_device *vd = vw->vw_device;
@@ -1630,7 +1622,6 @@ vt_change_font(struct vt_window *vw, struct vt_font *vf)
/* Force a full redraw the next timer tick. */
if (vd->vd_curwindow == vw) {
- vt_set_border(vw, TC_BLACK);
vd->vd_flags |= VDF_INVALID;
vt_resume_flush_timer(vw->vw_device, 0);
}
diff --git a/sys/dev/xen/blkfront/blkfront.c b/sys/dev/xen/blkfront/blkfront.c
index d76fc01..3473b64 100644
--- a/sys/dev/xen/blkfront/blkfront.c
+++ b/sys/dev/xen/blkfront/blkfront.c
@@ -1578,11 +1578,14 @@ xbd_backend_changed(device_t dev, XenbusState backend_state)
break;
case XenbusStateClosing:
- if (sc->xbd_users > 0)
- xenbus_dev_error(dev, -EBUSY,
- "Device in use; refusing to close");
- else
+ if (sc->xbd_users > 0) {
+ device_printf(dev, "detaching with pending users\n");
+ KASSERT(sc->xbd_disk != NULL,
+ ("NULL disk with pending users\n"));
+ disk_gone(sc->xbd_disk);
+ } else {
xbd_closing(dev);
+ }
break;
}
}
diff --git a/sys/dev/xen/evtchn/evtchn_dev.c b/sys/dev/xen/evtchn/evtchn_dev.c
index 5d54d6d..df81251 100644
--- a/sys/dev/xen/evtchn/evtchn_dev.c
+++ b/sys/dev/xen/evtchn/evtchn_dev.c
@@ -373,9 +373,9 @@ evtchn_bind_user_port(struct per_user_data *u, struct user_evtchn *evtchn)
mtx_lock(&u->bind_mutex);
RB_INSERT(evtchn_tree, &u->evtchns, evtchn);
mtx_unlock(&u->bind_mutex);
- error = xen_intr_add_handler(evtchn_dev, evtchn_filter,
- evtchn_interrupt, evtchn, INTR_TYPE_MISC | INTR_MPSAFE,
- evtchn->handle);
+ error = xen_intr_add_handler(device_get_nameunit(evtchn_dev),
+ evtchn_filter, evtchn_interrupt, evtchn,
+ INTR_TYPE_MISC | INTR_MPSAFE, evtchn->handle);
if (error != 0) {
xen_intr_unbind(&evtchn->handle);
mtx_lock(&u->bind_mutex);
diff --git a/sys/dev/xen/netfront/netfront.c b/sys/dev/xen/netfront/netfront.c
index ce50434..d3f6624 100644
--- a/sys/dev/xen/netfront/netfront.c
+++ b/sys/dev/xen/netfront/netfront.c
@@ -1161,17 +1161,18 @@ xn_rxeof(struct netfront_rxq *rxq)
struct mbufq mbufq_rxq, mbufq_errq;
int err, work_to_do;
- do {
- XN_RX_LOCK_ASSERT(rxq);
- if (!netfront_carrier_ok(np))
- return;
+ XN_RX_LOCK_ASSERT(rxq);
+
+ if (!netfront_carrier_ok(np))
+ return;
- /* XXX: there should be some sane limit. */
- mbufq_init(&mbufq_errq, INT_MAX);
- mbufq_init(&mbufq_rxq, INT_MAX);
+ /* XXX: there should be some sane limit. */
+ mbufq_init(&mbufq_errq, INT_MAX);
+ mbufq_init(&mbufq_rxq, INT_MAX);
- ifp = np->xn_ifp;
+ ifp = np->xn_ifp;
+ do {
rp = rxq->ring.sring->rsp_prod;
rmb(); /* Ensure we see queued responses up to 'rp'. */
@@ -1191,7 +1192,7 @@ xn_rxeof(struct netfront_rxq *rxq)
}
m->m_pkthdr.rcvif = ifp;
- if ( rx->flags & NETRXF_data_validated ) {
+ if (rx->flags & NETRXF_data_validated) {
/*
* According to mbuf(9) the correct way to tell
* the stack that the checksum of an inbound
@@ -1214,50 +1215,43 @@ xn_rxeof(struct netfront_rxq *rxq)
}
(void )mbufq_enqueue(&mbufq_rxq, m);
- rxq->ring.rsp_cons = i;
}
- mbufq_drain(&mbufq_errq);
+ rxq->ring.rsp_cons = i;
- /*
- * Process all the mbufs after the remapping is complete.
- * Break the mbuf chain first though.
- */
- while ((m = mbufq_dequeue(&mbufq_rxq)) != NULL) {
- if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
+ xn_alloc_rx_buffers(rxq);
- /* XXX: Do we really need to drop the rx lock? */
- XN_RX_UNLOCK(rxq);
+ RING_FINAL_CHECK_FOR_RESPONSES(&rxq->ring, work_to_do);
+ } while (work_to_do);
+
+ mbufq_drain(&mbufq_errq);
+ /*
+ * Process all the mbufs after the remapping is complete.
+ * Break the mbuf chain first though.
+ */
+ while ((m = mbufq_dequeue(&mbufq_rxq)) != NULL) {
+ if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
#if (defined(INET) || defined(INET6))
- /* Use LRO if possible */
- if ((ifp->if_capenable & IFCAP_LRO) == 0 ||
- lro->lro_cnt == 0 || tcp_lro_rx(lro, m, 0)) {
- /*
- * If LRO fails, pass up to the stack
- * directly.
- */
- (*ifp->if_input)(ifp, m);
- }
-#else
+ /* Use LRO if possible */
+ if ((ifp->if_capenable & IFCAP_LRO) == 0 ||
+ lro->lro_cnt == 0 || tcp_lro_rx(lro, m, 0)) {
+ /*
+ * If LRO fails, pass up to the stack
+ * directly.
+ */
(*ifp->if_input)(ifp, m);
-#endif
-
- XN_RX_LOCK(rxq);
}
-
- rxq->ring.rsp_cons = i;
+#else
+ (*ifp->if_input)(ifp, m);
+#endif
+ }
#if (defined(INET) || defined(INET6))
- /*
- * Flush any outstanding LRO work
- */
- tcp_lro_flush_all(lro);
+ /*
+ * Flush any outstanding LRO work
+ */
+ tcp_lro_flush_all(lro);
#endif
-
- xn_alloc_rx_buffers(rxq);
-
- RING_FINAL_CHECK_FOR_RESPONSES(&rxq->ring, work_to_do);
- } while (work_to_do);
}
static void
@@ -1773,6 +1767,9 @@ xn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
#endif
break;
case SIOCSIFMTU:
+ if (ifp->if_mtu == ifr->ifr_mtu)
+ break;
+
ifp->if_mtu = ifr->ifr_mtu;
ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
xn_ifinit(sc);
diff --git a/sys/fs/cuse/cuse.c b/sys/fs/cuse/cuse.c
index 33d36c5..79a2d1b 100644
--- a/sys/fs/cuse/cuse.c
+++ b/sys/fs/cuse/cuse.c
@@ -1507,8 +1507,8 @@ cuse_client_kqfilter_poll(struct cdev *dev, struct cuse_client *pcc)
/* get the latest polling state from the server */
temp = cuse_client_poll(dev, POLLIN | POLLOUT, NULL);
- cuse_lock();
if (temp & (POLLIN | POLLOUT)) {
+ cuse_lock();
if (temp & POLLIN)
pcc->cflags |= CUSE_CLI_KNOTE_NEED_READ;
if (temp & POLLOUT)
@@ -1516,8 +1516,8 @@ cuse_client_kqfilter_poll(struct cdev *dev, struct cuse_client *pcc)
/* make sure the "knote" gets woken up */
cuse_server_wakeup_locked(pcc->server);
+ cuse_unlock();
}
- cuse_unlock();
}
}
diff --git a/sys/fs/nfsclient/nfs_clcomsubs.c b/sys/fs/nfsclient/nfs_clcomsubs.c
index 7f3ef52..94378c3 100644
--- a/sys/fs/nfsclient/nfs_clcomsubs.c
+++ b/sys/fs/nfsclient/nfs_clcomsubs.c
@@ -475,6 +475,7 @@ nfscl_mtofh(struct nfsrv_descript *nd, struct nfsfh **nfhpp,
if (*++tl != 0) {
nd->nd_flag |= ND_NOMOREDATA;
flag = 0;
+ error = ENXIO; /* Return ENXIO so *nfhpp isn't used. */
}
}
if (flag) {
diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c
index 38d2f73..e47dd2f 100644
--- a/sys/fs/nfsclient/nfs_clrpcops.c
+++ b/sys/fs/nfsclient/nfs_clrpcops.c
@@ -5238,7 +5238,7 @@ nfsrpc_getlayout(struct nfsmount *nmp, vnode_t vp, struct nfsfh *nfhp,
stateid.other[1] = stateidp->other[1];
stateid.other[2] = stateidp->other[2];
error = nfsrpc_layoutget(nmp, nfhp->nfh_fh,
- nfhp->nfh_len, iomode, (uint64_t)0, INT64_MAX,
+ nfhp->nfh_len, iomode, (uint64_t)0, UINT64_MAX,
(uint64_t)0, layoutlen, &stateid, &retonclose,
&flh, cred, p, NULL);
} else {
@@ -5248,7 +5248,7 @@ nfsrpc_getlayout(struct nfsmount *nmp, vnode_t vp, struct nfsfh *nfhp,
stateid.other[1] = lyp->nfsly_stateid.other[1];
stateid.other[2] = lyp->nfsly_stateid.other[2];
error = nfsrpc_layoutget(nmp, nfhp->nfh_fh,
- nfhp->nfh_len, iomode, off, INT64_MAX,
+ nfhp->nfh_len, iomode, off, UINT64_MAX,
(uint64_t)0, layoutlen, &stateid, &retonclose,
&flh, cred, p, NULL);
}
diff --git a/sys/fs/tmpfs/tmpfs_subr.c b/sys/fs/tmpfs/tmpfs_subr.c
index f507807..2aa879a 100644
--- a/sys/fs/tmpfs/tmpfs_subr.c
+++ b/sys/fs/tmpfs/tmpfs_subr.c
@@ -1401,12 +1401,9 @@ retry:
VM_WAIT;
VM_OBJECT_WLOCK(uobj);
goto retry;
- } else if (m->valid != VM_PAGE_BITS_ALL)
- rv = vm_pager_get_pages(uobj, &m, 1,
- NULL, NULL);
- else
- /* A cached page was reactivated. */
- rv = VM_PAGER_OK;
+ }
+ rv = vm_pager_get_pages(uobj, &m, 1, NULL,
+ NULL);
vm_page_lock(m);
if (rv == VM_PAGER_OK) {
vm_page_deactivate(m);
diff --git a/sys/geom/mirror/g_mirror.c b/sys/geom/mirror/g_mirror.c
index 8191db6..c476e52 100644
--- a/sys/geom/mirror/g_mirror.c
+++ b/sys/geom/mirror/g_mirror.c
@@ -698,6 +698,8 @@ g_mirror_clear_metadata(struct g_mirror_disk *disk)
g_topology_assert_not();
sx_assert(&disk->d_softc->sc_lock, SX_LOCKED);
+ if (disk->d_softc->sc_type != G_MIRROR_TYPE_AUTOMATIC)
+ return (0);
error = g_mirror_write_metadata(disk, NULL);
if (error == 0) {
G_MIRROR_DEBUG(2, "Metadata on %s cleared.",
@@ -763,6 +765,8 @@ g_mirror_update_metadata(struct g_mirror_disk *disk)
sc = disk->d_softc;
sx_assert(&sc->sc_lock, SX_LOCKED);
+ if (sc->sc_type != G_MIRROR_TYPE_AUTOMATIC)
+ return;
if ((sc->sc_flags & G_MIRROR_DEVICE_FLAG_WIPE) == 0)
g_mirror_fill_metadata(sc, disk, &md);
error = g_mirror_write_metadata(disk, &md);
@@ -2919,8 +2923,9 @@ end:
return (error);
}
-static struct g_geom *
-g_mirror_create(struct g_class *mp, const struct g_mirror_metadata *md)
+struct g_geom *
+g_mirror_create(struct g_class *mp, const struct g_mirror_metadata *md,
+ u_int type)
{
struct g_mirror_softc *sc;
struct g_geom *gp;
@@ -2943,6 +2948,7 @@ g_mirror_create(struct g_class *mp, const struct g_mirror_metadata *md)
gp->access = g_mirror_access;
gp->dumpconf = g_mirror_dumpconf;
+ sc->sc_type = type;
sc->sc_id = md->md_mid;
sc->sc_slice = md->md_slice;
sc->sc_balance = md->md_balance;
@@ -3119,6 +3125,8 @@ g_mirror_taste(struct g_class *mp, struct g_provider *pp, int flags __unused)
sc = gp->softc;
if (sc == NULL)
continue;
+ if (sc->sc_type != G_MIRROR_TYPE_AUTOMATIC)
+ continue;
if (sc->sc_sync.ds_geom == gp)
continue;
if (strcmp(md.md_name, sc->sc_name) != 0)
@@ -3131,7 +3139,7 @@ g_mirror_taste(struct g_class *mp, struct g_provider *pp, int flags __unused)
break;
}
if (gp == NULL) {
- gp = g_mirror_create(mp, &md);
+ gp = g_mirror_create(mp, &md, G_MIRROR_TYPE_AUTOMATIC);
if (gp == NULL) {
G_MIRROR_DEBUG(0, "Cannot create device %s.",
md.md_name);
@@ -3279,6 +3287,19 @@ g_mirror_dumpconf(struct sbuf *sb, const char *indent, struct g_geom *gp,
} else {
g_topology_unlock();
sx_xlock(&sc->sc_lock);
+ sbuf_printf(sb, "%s<Type>", indent);
+ switch (sc->sc_type) {
+ case G_MIRROR_TYPE_AUTOMATIC:
+ sbuf_printf(sb, "AUTOMATIC");
+ break;
+ case G_MIRROR_TYPE_MANUAL:
+ sbuf_printf(sb, "MANUAL");
+ break;
+ default:
+ sbuf_printf(sb, "UNKNOWN");
+ break;
+ }
+ sbuf_printf(sb, "</Type>\n");
sbuf_printf(sb, "%s<ID>%u</ID>\n", indent, (u_int)sc->sc_id);
sbuf_printf(sb, "%s<SyncID>%u</SyncID>\n", indent, sc->sc_syncid);
sbuf_printf(sb, "%s<GenID>%u</GenID>\n", indent, sc->sc_genid);
diff --git a/sys/geom/mirror/g_mirror.h b/sys/geom/mirror/g_mirror.h
index ed499a5..bb49303 100644
--- a/sys/geom/mirror/g_mirror.h
+++ b/sys/geom/mirror/g_mirror.h
@@ -165,11 +165,15 @@ struct g_mirror_event {
#define G_MIRROR_DEVICE_STATE_STARTING 0
#define G_MIRROR_DEVICE_STATE_RUNNING 1
+#define G_MIRROR_TYPE_MANUAL 0
+#define G_MIRROR_TYPE_AUTOMATIC 1
+
/* Bump syncid on first write. */
#define G_MIRROR_BUMP_SYNCID 0x1
/* Bump genid immediately. */
#define G_MIRROR_BUMP_GENID 0x2
struct g_mirror_softc {
+ u_int sc_type; /* Device type (manual/automatic). */
u_int sc_state; /* Device state. */
uint32_t sc_slice; /* Slice size. */
uint8_t sc_balance; /* Balance algorithm. */
@@ -220,7 +224,11 @@ struct g_mirror_softc {
};
#define sc_name sc_geom->name
+struct g_mirror_metadata;
+
u_int g_mirror_ndisks(struct g_mirror_softc *sc, int state);
+struct g_geom * g_mirror_create(struct g_class *mp,
+ const struct g_mirror_metadata *md, u_int type);
#define G_MIRROR_DESTROY_SOFT 0
#define G_MIRROR_DESTROY_DELAYED 1
#define G_MIRROR_DESTROY_HARD 2
diff --git a/sys/geom/mirror/g_mirror_ctl.c b/sys/geom/mirror/g_mirror_ctl.c
index df24e52..099e5d1 100644
--- a/sys/geom/mirror/g_mirror_ctl.c
+++ b/sys/geom/mirror/g_mirror_ctl.c
@@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$");
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/bio.h>
+#include <sys/sbuf.h>
#include <sys/sysctl.h>
#include <sys/malloc.h>
#include <sys/bitstring.h>
@@ -301,6 +302,182 @@ g_mirror_ctl_configure(struct gctl_req *req, struct g_class *mp)
}
static void
+g_mirror_create_orphan(struct g_consumer *cp)
+{
+
+ KASSERT(1 == 0, ("%s called while creating %s.", __func__,
+ cp->provider->name));
+}
+
+static void
+g_mirror_ctl_create(struct gctl_req *req, struct g_class *mp)
+{
+ struct g_mirror_metadata md;
+ struct g_geom *gp;
+ struct g_consumer *cp;
+ struct g_provider *pp;
+ struct g_mirror_softc *sc;
+ struct sbuf *sb;
+ const char *name;
+ char param[16];
+ int *nargs;
+ intmax_t *val;
+ int *ival;
+ const char *sval;
+ int bal;
+ unsigned attached, no, sectorsize;
+ off_t mediasize;
+
+ nargs = gctl_get_paraml(req, "nargs", sizeof(*nargs));
+ if (nargs == NULL) {
+ gctl_error(req, "No '%s' argument.", "nargs");
+ return;
+ }
+ if (*nargs <= 2) {
+ gctl_error(req, "Too few arguments.");
+ return;
+ }
+
+ strlcpy(md.md_magic, G_MIRROR_MAGIC, sizeof(md.md_magic));
+ md.md_version = G_MIRROR_VERSION;
+ name = gctl_get_asciiparam(req, "arg0");
+ if (name == NULL) {
+ gctl_error(req, "No 'arg%u' argument.", 0);
+ return;
+ }
+ strlcpy(md.md_name, name, sizeof(md.md_name));
+ md.md_mid = arc4random();
+ md.md_all = *nargs - 1;
+ md.md_genid = 0;
+ md.md_syncid = 1;
+ md.md_sync_offset = 0;
+ val = gctl_get_paraml(req, "slice", sizeof(*val));
+ if (val == NULL) {
+ gctl_error(req, "No slice argument.");
+ return;
+ }
+ md.md_slice = *val;
+ sval = gctl_get_asciiparam(req, "balance");
+ if (sval == NULL) {
+ gctl_error(req, "No balance argument.");
+ return;
+ }
+ bal = balance_id(sval);
+ if (bal < 0) {
+ gctl_error(req, "Invalid balance algorithm.");
+ return;
+ }
+ md.md_balance = bal;
+ md.md_mflags = 0;
+ md.md_dflags = 0;
+ ival = gctl_get_paraml(req, "noautosync", sizeof(*ival));
+ if (ival != NULL && *ival)
+ md.md_mflags |= G_MIRROR_DEVICE_FLAG_NOAUTOSYNC;
+ ival = gctl_get_paraml(req, "nofailsync", sizeof(*ival));
+ if (ival != NULL && *ival)
+ md.md_mflags |= G_MIRROR_DEVICE_FLAG_NOFAILSYNC;
+ /* These fields not used in manual mode. */
+ bzero(md.md_provider, sizeof(md.md_provider));
+ md.md_provsize = 0;
+
+ g_topology_lock();
+ mediasize = OFF_MAX;
+ sectorsize = 0;
+ gp = g_new_geomf(mp, "%s", md.md_name);
+ gp->orphan = g_mirror_create_orphan;
+ cp = g_new_consumer(gp);
+ for (no = 1; no < *nargs; no++) {
+ snprintf(param, sizeof(param), "arg%u", no);
+ name = gctl_get_asciiparam(req, param);
+ if (name == NULL) {
+ gctl_error(req, "No 'arg%u' argument.", no);
+err:
+ g_destroy_consumer(cp);
+ g_destroy_geom(gp);
+ g_topology_unlock();
+ return;
+ }
+ if (strncmp(name, "/dev/", strlen("/dev/")) == 0)
+ name += strlen("/dev/");
+ pp = g_provider_by_name(name);
+ if (pp == NULL) {
+ G_MIRROR_DEBUG(1, "Disk %s is invalid.", name);
+ gctl_error(req, "Disk %s is invalid.", name);
+ goto err;
+ }
+ g_attach(cp, pp);
+ if (g_access(cp, 1, 0, 0) != 0) {
+ G_MIRROR_DEBUG(1, "Can't open disk %s.", name);
+ gctl_error(req, "Can't open disk %s.", name);
+err2:
+ g_detach(cp);
+ goto err;
+ }
+ if (pp->mediasize == 0 || pp->sectorsize == 0) {
+ G_MIRROR_DEBUG(1, "Disk %s has no media.", name);
+ gctl_error(req, "Disk %s has no media.", name);
+ g_access(cp, -1, 0, 0);
+ goto err2;
+ }
+ if (pp->mediasize < mediasize)
+ mediasize = pp->mediasize;
+ if (pp->sectorsize > sectorsize)
+ sectorsize = pp->sectorsize;
+ g_access(cp, -1, 0, 0);
+ g_detach(cp);
+ }
+ g_destroy_consumer(cp);
+ g_destroy_geom(gp);
+ md.md_mediasize = mediasize;
+ md.md_sectorsize = sectorsize;
+ md.md_mediasize -= (md.md_mediasize % md.md_sectorsize);
+
+ gp = g_mirror_create(mp, &md, G_MIRROR_TYPE_MANUAL);
+ if (gp == NULL) {
+ gctl_error(req, "Can't create %s.", md.md_name);
+ g_topology_unlock();
+ return;
+ }
+
+ sc = gp->softc;
+ g_topology_unlock();
+ sx_xlock(&sc->sc_lock);
+ sc->sc_flags |= G_MIRROR_DEVICE_FLAG_TASTING;
+ sb = sbuf_new_auto();
+ sbuf_printf(sb, "Can't attach disk(s) to %s:", gp->name);
+ for (attached = 0, no = 1; no < *nargs; no++) {
+ snprintf(param, sizeof(param), "arg%u", no);
+ name = gctl_get_asciiparam(req, param);
+ if (strncmp(name, "/dev/", strlen("/dev/")) == 0)
+ name += strlen("/dev/");
+ pp = g_provider_by_name(name);
+ if (pp == NULL) {
+ G_MIRROR_DEBUG(1, "Provider %s disappear?!", name);
+ sbuf_printf(sb, " %s", name);
+ continue;
+ }
+ md.md_did = arc4random();
+ md.md_priority = no - 1;
+ if (g_mirror_add_disk(sc, pp, &md) != 0) {
+ G_MIRROR_DEBUG(1, "Disk %u (%s) not attached to %s.",
+ no, pp->name, gp->name);
+ sbuf_printf(sb, " %s", pp->name);
+ continue;
+ }
+ attached++;
+ }
+ sbuf_finish(sb);
+ sc->sc_flags &= ~G_MIRROR_DEVICE_FLAG_TASTING;
+ if (md.md_all != attached ||
+ (sc->sc_flags & G_MIRROR_DEVICE_FLAG_DESTROY) != 0) {
+ g_mirror_destroy(gp->softc, G_MIRROR_DESTROY_HARD);
+ gctl_error(req, "%s", sbuf_data(sb));
+ } else
+ sx_xunlock(&sc->sc_lock);
+ sbuf_delete(sb);
+}
+
+static void
g_mirror_ctl_rebuild(struct gctl_req *req, struct g_class *mp)
{
struct g_mirror_metadata md;
@@ -401,6 +578,7 @@ g_mirror_ctl_insert(struct gctl_req *req, struct g_class *mp)
struct g_provider *provider;
struct g_consumer *consumer;
} *disks;
+ off_t mdsize;
nargs = gctl_get_paraml(req, "nargs", sizeof(*nargs));
if (nargs == NULL) {
@@ -462,16 +640,6 @@ g_mirror_ctl_insert(struct gctl_req *req, struct g_class *mp)
gctl_error(req, "Unknown provider %s.", name);
continue;
}
- if (sc->sc_provider->mediasize >
- pp->mediasize - pp->sectorsize) {
- gctl_error(req, "Provider %s too small.", name);
- continue;
- }
- if ((sc->sc_provider->sectorsize % pp->sectorsize) != 0) {
- gctl_error(req, "Invalid sectorsize of provider %s.",
- name);
- continue;
- }
cp = g_new_consumer(sc->sc_geom);
if (g_attach(cp, pp) != 0) {
g_destroy_consumer(cp);
@@ -479,9 +647,40 @@ g_mirror_ctl_insert(struct gctl_req *req, struct g_class *mp)
continue;
}
if (g_access(cp, 0, 1, 1) != 0) {
+ gctl_error(req, "Cannot access provider %s.", name);
+err:
g_detach(cp);
g_destroy_consumer(cp);
- gctl_error(req, "Cannot access provider %s.", name);
+ continue;
+ }
+ mdsize = (sc->sc_type == G_MIRROR_TYPE_AUTOMATIC) ?
+ pp->sectorsize : 0;
+ if (sc->sc_provider->mediasize > pp->mediasize - mdsize) {
+ gctl_error(req, "Provider %s too small.", name);
+err2:
+ g_access(cp, 0, -1, -1);
+ goto err;
+ }
+ if ((sc->sc_provider->sectorsize % pp->sectorsize) != 0) {
+ gctl_error(req, "Invalid sectorsize of provider %s.",
+ name);
+ goto err2;
+ }
+ if (sc->sc_type != G_MIRROR_TYPE_AUTOMATIC) {
+ g_access(cp, 0, -1, -1);
+ g_detach(cp);
+ g_destroy_consumer(cp);
+ g_topology_unlock();
+ sc->sc_ndisks++;
+ g_mirror_fill_metadata(sc, NULL, &md);
+ md.md_priority = *priority;
+ if (*inactive)
+ md.md_dflags |= G_MIRROR_DISK_FLAG_INACTIVE;
+ if (g_mirror_add_disk(sc, pp, &md) != 0) {
+ sc->sc_ndisks--;
+ gctl_error(req, "Disk %s not inserted.", name);
+ }
+ g_topology_lock();
continue;
}
disks[n].provider = pp;
@@ -872,6 +1071,8 @@ g_mirror_config(struct gctl_req *req, struct g_class *mp, const char *verb)
g_topology_unlock();
if (strcmp(verb, "configure") == 0)
g_mirror_ctl_configure(req, mp);
+ else if (strcmp(verb, "create") == 0)
+ g_mirror_ctl_create(req, mp);
else if (strcmp(verb, "rebuild") == 0)
g_mirror_ctl_rebuild(req, mp);
else if (strcmp(verb, "insert") == 0)
diff --git a/sys/geom/part/g_part.c b/sys/geom/part/g_part.c
index a751398..51202d8 100644
--- a/sys/geom/part/g_part.c
+++ b/sys/geom/part/g_part.c
@@ -884,6 +884,11 @@ g_part_ctl_commit(struct gctl_req *req, struct g_part_parms *gpp)
LIST_FOREACH_SAFE(entry, &table->gpt_entry, gpe_entry, tmp) {
if (!entry->gpe_deleted) {
+ /* Notify consumers that provider might be changed. */
+ if (entry->gpe_modified && (
+ entry->gpe_pp->acw + entry->gpe_pp->ace +
+ entry->gpe_pp->acr) == 0)
+ g_media_changed(entry->gpe_pp, M_NOWAIT);
entry->gpe_created = 0;
entry->gpe_modified = 0;
continue;
diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC
index da5e46d..deccf48 100644
--- a/sys/i386/conf/GENERIC
+++ b/sys/i386/conf/GENERIC
@@ -85,6 +85,7 @@ options KDB_TRACE # Print a stack trace for a panic.
# To make an SMP kernel, the next two lines are needed
options SMP # Symmetric MultiProcessor Kernel
device apic # I/O APIC
+options EARLY_AP_STARTUP
# CPU frequency control
device cpufreq
diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c
index db71c4d..94b0d17 100644
--- a/sys/i386/i386/pmap.c
+++ b/sys/i386/i386/pmap.c
@@ -301,12 +301,13 @@ static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va,
vm_page_t m, vm_prot_t prot, vm_page_t mpte);
static void pmap_flush_page(vm_page_t m);
static int pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte);
+static void pmap_invalidate_pde_page(pmap_t pmap, vm_offset_t va,
+ pd_entry_t pde);
static void pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte);
static boolean_t pmap_is_modified_pvh(struct md_page *pvh);
static boolean_t pmap_is_referenced_pvh(struct md_page *pvh);
static void pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode);
static void pmap_kenter_pde(vm_offset_t va, pd_entry_t newpde);
-static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va);
static void pmap_pde_attr(pd_entry_t *pde, int cache_bits);
static void pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va);
static boolean_t pmap_protect_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t sva,
@@ -316,7 +317,7 @@ static void pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva,
struct spglist *free);
static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva,
struct spglist *free);
-static void pmap_remove_pt_page(pmap_t pmap, vm_page_t mpte);
+static vm_page_t pmap_remove_pt_page(pmap_t pmap, vm_offset_t va);
static void pmap_remove_page(struct pmap *pmap, vm_offset_t va,
struct spglist *free);
static void pmap_remove_entry(struct pmap *pmap, vm_page_t m,
@@ -1260,6 +1261,27 @@ pmap_update_pde(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, pd_entry_t newpde)
}
#endif /* !SMP */
+static void
+pmap_invalidate_pde_page(pmap_t pmap, vm_offset_t va, pd_entry_t pde)
+{
+
+ /*
+ * When the PDE has PG_PROMOTED set, the 2- or 4MB page mapping was
+ * created by a promotion that did not invalidate the 512 or 1024 4KB
+ * page mappings that might exist in the TLB. Consequently, at this
+ * point, the TLB may hold both 4KB and 2- or 4MB page mappings for
+ * the address range [va, va + NBPDR). Therefore, the entire range
+ * must be invalidated here. In contrast, when PG_PROMOTED is clear,
+ * the TLB will not hold any 4KB page mappings for the address range
+ * [va, va + NBPDR), and so a single INVLPG suffices to invalidate the
+ * 2- or 4MB page mapping from the TLB.
+ */
+ if ((pde & PG_PROMOTED) != 0)
+ pmap_invalidate_range(pmap, va, va + NBPDR - 1);
+ else
+ pmap_invalidate_page(pmap, va);
+}
+
#define PMAP_CLFLUSH_THRESHOLD (2 * 1024 * 1024)
void
@@ -1727,29 +1749,17 @@ pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte)
}
/*
- * Looks for a page table page mapping the specified virtual address in the
- * specified pmap's collection of idle page table pages. Returns NULL if there
- * is no page table page corresponding to the specified virtual address.
+ * Removes the page table page mapping the specified virtual address from the
+ * specified pmap's collection of idle page table pages, and returns it.
+ * Otherwise, returns NULL if there is no page table page corresponding to the
+ * specified virtual address.
*/
static __inline vm_page_t
-pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va)
-{
-
- PMAP_LOCK_ASSERT(pmap, MA_OWNED);
- return (vm_radix_lookup(&pmap->pm_root, va >> PDRSHIFT));
-}
-
-/*
- * Removes the specified page table page from the specified pmap's collection
- * of idle page table pages. The specified page table page must be a member of
- * the pmap's collection.
- */
-static __inline void
-pmap_remove_pt_page(pmap_t pmap, vm_page_t mpte)
+pmap_remove_pt_page(pmap_t pmap, vm_offset_t va)
{
PMAP_LOCK_ASSERT(pmap, MA_OWNED);
- vm_radix_remove(&pmap->pm_root, mpte->pindex);
+ return (vm_radix_remove(&pmap->pm_root, va >> PDRSHIFT));
}
/*
@@ -2645,10 +2655,8 @@ pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va)
oldpde = *pde;
KASSERT((oldpde & (PG_PS | PG_V)) == (PG_PS | PG_V),
("pmap_demote_pde: oldpde is missing PG_PS and/or PG_V"));
- if ((oldpde & PG_A) != 0 && (mpte = pmap_lookup_pt_page(pmap, va)) !=
- NULL)
- pmap_remove_pt_page(pmap, mpte);
- else {
+ if ((oldpde & PG_A) == 0 || (mpte = pmap_remove_pt_page(pmap, va)) ==
+ NULL) {
KASSERT((oldpde & PG_W) == 0,
("pmap_demote_pde: page table page for a wired mapping"
" is missing"));
@@ -2664,7 +2672,8 @@ pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va)
SLIST_INIT(&free);
sva = trunc_4mpage(va);
pmap_remove_pde(pmap, pde, sva, &free);
- pmap_invalidate_range(pmap, sva, sva + NBPDR - 1);
+ if ((oldpde & PG_G) == 0)
+ pmap_invalidate_pde_page(pmap, sva, oldpde);
pmap_free_zero_pages(&free);
CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#x"
" in pmap %p", va, pmap);
@@ -2786,11 +2795,10 @@ pmap_remove_kernel_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va)
vm_page_t mpte;
PMAP_LOCK_ASSERT(pmap, MA_OWNED);
- mpte = pmap_lookup_pt_page(pmap, va);
+ mpte = pmap_remove_pt_page(pmap, va);
if (mpte == NULL)
panic("pmap_remove_kernel_pde: Missing pt page.");
- pmap_remove_pt_page(pmap, mpte);
mptepa = VM_PAGE_TO_PHYS(mpte);
newpde = mptepa | PG_M | PG_A | PG_RW | PG_V;
@@ -2835,23 +2843,9 @@ pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva,
/*
* Machines that don't support invlpg, also don't support
* PG_G.
- *
- * When workaround_erratum383 is false, a promotion to a 2M/4M
- * page mapping does not invalidate the 512/1024 4K page mappings
- * from the TLB. Consequently, at this point, the TLB may
- * hold both 4K and 2M/4M page mappings. Therefore, the entire
- * range of addresses must be invalidated here. In contrast,
- * when workaround_erratum383 is true, a promotion does
- * invalidate the 512/1024 4K page mappings, and so a single INVLPG
- * suffices to invalidate the 2M/4M page mapping.
*/
- if ((oldpde & PG_G) != 0) {
- if (workaround_erratum383)
- pmap_invalidate_page(kernel_pmap, sva);
- else
- pmap_invalidate_range(kernel_pmap, sva,
- sva + NBPDR - 1);
- }
+ if ((oldpde & PG_G) != 0)
+ pmap_invalidate_pde_page(kernel_pmap, sva, oldpde);
pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE;
if (oldpde & PG_MANAGED) {
@@ -2872,9 +2866,8 @@ pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offset_t sva,
if (pmap == kernel_pmap) {
pmap_remove_kernel_pde(pmap, pdq, sva);
} else {
- mpte = pmap_lookup_pt_page(pmap, sva);
+ mpte = pmap_remove_pt_page(pmap, sva);
if (mpte != NULL) {
- pmap_remove_pt_page(pmap, mpte);
pmap->pm_stats.resident_count--;
KASSERT(mpte->wire_count == NPTEPG,
("pmap_remove_pde: pte page wire count error"));
@@ -3160,16 +3153,16 @@ retry:
newpde |= pg_nx;
#endif
if (newpde != oldpde) {
- if (!pde_cmpset(pde, oldpde, newpde))
+ /*
+ * As an optimization to future operations on this PDE, clear
+ * PG_PROMOTED. The impending invalidation will remove any
+ * lingering 4KB page mappings from the TLB.
+ */
+ if (!pde_cmpset(pde, oldpde, newpde & ~PG_PROMOTED))
goto retry;
- if (oldpde & PG_G) {
- /* See pmap_remove_pde() for explanation. */
- if (workaround_erratum383)
- pmap_invalidate_page(kernel_pmap, sva);
- else
- pmap_invalidate_range(kernel_pmap, sva,
- sva + NBPDR - 1);
- } else
+ if ((oldpde & PG_G) != 0)
+ pmap_invalidate_pde_page(kernel_pmap, sva, oldpde);
+ else
anychanged = TRUE;
}
return (anychanged);
@@ -3454,9 +3447,9 @@ setpte:
if (workaround_erratum383)
pmap_update_pde(pmap, va, pde, PG_PS | newpde);
else if (pmap == kernel_pmap)
- pmap_kenter_pde(va, PG_PS | newpde);
+ pmap_kenter_pde(va, PG_PROMOTED | PG_PS | newpde);
else
- pde_store(pde, PG_PS | newpde);
+ pde_store(pde, PG_PROMOTED | PG_PS | newpde);
pmap_pde_promotions++;
CTR2(KTR_PMAP, "pmap_promote_pde: success for va %#x"
@@ -3739,7 +3732,8 @@ pmap_enter_pde(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot)
pmap->pm_stats.resident_count += NBPDR / PAGE_SIZE;
/*
- * Map the superpage.
+ * Map the superpage. (This is not a promoted mapping; there will not
+ * be any lingering 4KB page mappings in the TLB.)
*/
pde_store(pde, newpde);
@@ -4616,9 +4610,8 @@ pmap_remove_pages(pmap_t pmap)
if (TAILQ_EMPTY(&mt->md.pv_list))
vm_page_aflag_clear(mt, PGA_WRITEABLE);
}
- mpte = pmap_lookup_pt_page(pmap, pv->pv_va);
+ mpte = pmap_remove_pt_page(pmap, pv->pv_va);
if (mpte != NULL) {
- pmap_remove_pt_page(pmap, mpte);
pmap->pm_stats.resident_count--;
KASSERT(mpte->wire_count == NPTEPG,
("pmap_remove_pages: pte page wire count error"));
diff --git a/sys/i386/include/efi.h b/sys/i386/include/efi.h
new file mode 100644
index 0000000..02508f4
--- /dev/null
+++ b/sys/i386/include/efi.h
@@ -0,0 +1,14 @@
+/*-
+ * This file is in the public domain since it's just boilerplate.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef __I386_INCLUDE_EFI_H_
+#define __I386_INCLUDE_EFI_H_
+
+#define EFIABI_ATTR /* __attribute__((ms_abi)) */ /* clang fails with this */
+
+/* Note: we don't actually support this on i386 yet */
+
+#endif /* __I386_INCLUDE_EFI_H_ */
diff --git a/sys/i386/include/pmap.h b/sys/i386/include/pmap.h
index f2d8c58..6e417d9 100644
--- a/sys/i386/include/pmap.h
+++ b/sys/i386/include/pmap.h
@@ -71,6 +71,7 @@
/* Our various interpretations of the above */
#define PG_W PG_AVAIL1 /* "Wired" pseudoflag */
#define PG_MANAGED PG_AVAIL2
+#define PG_PROMOTED PG_AVAIL3 /* PDE only */
#if defined(PAE) || defined(PAE_TABLES)
#define PG_FRAME (0x000ffffffffff000ull)
#define PG_PS_FRAME (0x000fffffffe00000ull)
diff --git a/sys/i386/isa/npx.c b/sys/i386/isa/npx.c
index a12507e..5ef616b2 100644
--- a/sys/i386/isa/npx.c
+++ b/sys/i386/isa/npx.c
@@ -1116,7 +1116,7 @@ npx_fill_fpregs_xmm1(struct savexmm *sv_xmm, struct save87 *sv_87)
sv_87->sv_ac[i] = sv_xmm->sv_fp[i].fp_acc;
if ((penv_xmm->en_tw & (1 << i)) != 0)
/* zero and special are set as valid */
- penv_87->en_tw &= ~(3 << i);
+ penv_87->en_tw &= ~(3 << i * 2);
}
}
@@ -1147,12 +1147,17 @@ npx_set_fpregs_xmm(struct save87 *sv_87, struct savexmm *sv_xmm)
penv_xmm->en_foo = penv_87->en_foo;
penv_xmm->en_fos = penv_87->en_fos;
- /* FPU registers and tags */
+ /*
+ * FPU registers and tags.
+ * Abridged / Full translation (values in binary), see FXSAVE spec.
+ * 0 11
+ * 1 00, 01, 10
+ */
penv_xmm->en_tw = 0;
for (i = 0; i < 8; ++i) {
sv_xmm->sv_fp[i].fp_acc = sv_87->sv_ac[i];
- if ((penv_87->en_tw && (3 << i)) != (3 << i))
- penv_xmm->en_tw |= 1 << i;
+ if ((penv_87->en_tw & (3 << i * 2)) != (3 << i * 2))
+ penv_xmm->en_tw |= 1 << i;
}
}
diff --git a/sys/kern/capabilities.conf b/sys/kern/capabilities.conf
index 7678294..7c2523c 100644
--- a/sys/kern/capabilities.conf
+++ b/sys/kern/capabilities.conf
@@ -133,13 +133,12 @@ closefrom
connectat
##
-## cpuset(2) and related calls require scoping by process, but should
-## eventually be allowed, at least in the current process case.
+## cpuset(2) and related calls are limited to caller's own process/thread.
##
#cpuset
-#cpuset_getaffinity
+cpuset_getaffinity
#cpuset_getid
-#cpuset_setaffinity
+cpuset_setaffinity
#cpuset_setid
##
diff --git a/sys/kern/imgact_binmisc.c b/sys/kern/imgact_binmisc.c
index 39af520..d884244 100644
--- a/sys/kern/imgact_binmisc.c
+++ b/sys/kern/imgact_binmisc.c
@@ -120,7 +120,7 @@ imgact_binmisc_populate_interp(char *str, imgact_binmisc_entry_t *ibe)
sp = str; tp = t;
while (*sp != '\0') {
if (*sp == ' ' || *sp == '\t') {
- if (++len > IBE_INTERP_LEN_MAX)
+ if (++len >= IBE_INTERP_LEN_MAX)
break;
*tp++ = ' ';
argc++;
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index 491b9dd..f7bbdcf 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -596,7 +596,7 @@ __elfN(load_section)(struct image_params *imgp, vm_ooffset_t offset,
/* This had damn well better be true! */
if (map_len != 0) {
rv = __elfN(map_insert)(imgp, map, NULL, 0, map_addr,
- map_addr + map_len, VM_PROT_ALL, 0);
+ map_addr + map_len, prot, 0);
if (rv != KERN_SUCCESS)
return (EINVAL);
}
@@ -617,10 +617,12 @@ __elfN(load_section)(struct image_params *imgp, vm_ooffset_t offset,
}
/*
- * set it to the specified protection.
+ * Remove write access to the page if it was only granted by map_insert
+ * to allow copyout.
*/
- vm_map_protect(map, trunc_page(map_addr), round_page(map_addr +
- map_len), prot, FALSE);
+ if ((prot & VM_PROT_WRITE) == 0)
+ vm_map_protect(map, trunc_page(map_addr), round_page(map_addr +
+ map_len), prot, FALSE);
return (0);
}
@@ -1079,6 +1081,8 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
imgp->interpreted = 0;
imgp->reloc_base = addr;
imgp->proc->p_osrel = osrel;
+ imgp->proc->p_elf_machine = hdr->e_machine;
+ imgp->proc->p_elf_flags = hdr->e_flags;
ret:
free(interp_buf, M_TEMP);
@@ -1682,15 +1686,11 @@ __elfN(puthdr)(struct thread *td, void *hdr, size_t hdrsize, int numsegs,
ehdr->e_ident[EI_ABIVERSION] = 0;
ehdr->e_ident[EI_PAD] = 0;
ehdr->e_type = ET_CORE;
-#if defined(COMPAT_FREEBSD32) && __ELF_WORD_SIZE == 32
- ehdr->e_machine = ELF_ARCH32;
-#else
- ehdr->e_machine = ELF_ARCH;
-#endif
+ ehdr->e_machine = td->td_proc->p_elf_machine;
ehdr->e_version = EV_CURRENT;
ehdr->e_entry = 0;
ehdr->e_phoff = sizeof(Elf_Ehdr);
- ehdr->e_flags = 0;
+ ehdr->e_flags = td->td_proc->p_elf_flags;
ehdr->e_ehsize = sizeof(Elf_Ehdr);
ehdr->e_phentsize = sizeof(Elf_Phdr);
ehdr->e_phnum = numsegs + 1;
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c
index a4b78ff..86802b4 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -532,8 +532,8 @@ struct sysent sysent[] = {
{ AS(cpuset_args), (sy_call_t *)sys_cpuset, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 484 = cpuset */
{ AS(cpuset_setid_args), (sy_call_t *)sys_cpuset_setid, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 485 = cpuset_setid */
{ AS(cpuset_getid_args), (sy_call_t *)sys_cpuset_getid, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 486 = cpuset_getid */
- { AS(cpuset_getaffinity_args), (sy_call_t *)sys_cpuset_getaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 487 = cpuset_getaffinity */
- { AS(cpuset_setaffinity_args), (sy_call_t *)sys_cpuset_setaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 488 = cpuset_setaffinity */
+ { AS(cpuset_getaffinity_args), (sy_call_t *)sys_cpuset_getaffinity, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 487 = cpuset_getaffinity */
+ { AS(cpuset_setaffinity_args), (sy_call_t *)sys_cpuset_setaffinity, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 488 = cpuset_setaffinity */
{ AS(faccessat_args), (sy_call_t *)sys_faccessat, AUE_FACCESSAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 489 = faccessat */
{ AS(fchmodat_args), (sy_call_t *)sys_fchmodat, AUE_FCHMODAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 490 = fchmodat */
{ AS(fchownat_args), (sy_call_t *)sys_fchownat, AUE_FCHOWNAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 491 = fchownat */
diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c
index 409aeed..5caaab4 100644
--- a/sys/kern/kern_cpuset.c
+++ b/sys/kern/kern_cpuset.c
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$");
#include <sys/sched.h>
#include <sys/smp.h>
#include <sys/syscallsubr.h>
+#include <sys/capsicum.h>
#include <sys/cpuset.h>
#include <sys/sx.h>
#include <sys/queue.h>
@@ -523,6 +524,7 @@ cpuset_setproc(pid_t pid, struct cpuset *set, cpuset_t *mask)
int threads;
int nfree;
int error;
+
/*
* The algorithm requires two passes due to locking considerations.
*
@@ -1097,6 +1099,15 @@ kern_cpuset_getaffinity(struct thread *td, cpulevel_t level, cpuwhich_t which,
if (cpusetsize < sizeof(cpuset_t) || cpusetsize > CPU_MAXSIZE / NBBY)
return (ERANGE);
+ /* In Capability mode, you can only get your own CPU set. */
+ if (IN_CAPABILITY_MODE(td)) {
+ if (level != CPU_LEVEL_WHICH)
+ return (ECAPMODE);
+ if (which != CPU_WHICH_TID && which != CPU_WHICH_PID)
+ return (ECAPMODE);
+ if (id != -1)
+ return (ECAPMODE);
+ }
size = cpusetsize;
mask = malloc(size, M_TEMP, M_WAITOK | M_ZERO);
error = cpuset_which(which, id, &p, &ttd, &set);
@@ -1201,6 +1212,15 @@ kern_cpuset_setaffinity(struct thread *td, cpulevel_t level, cpuwhich_t which,
if (cpusetsize < sizeof(cpuset_t) || cpusetsize > CPU_MAXSIZE / NBBY)
return (ERANGE);
+ /* In Capability mode, you can only set your own CPU set. */
+ if (IN_CAPABILITY_MODE(td)) {
+ if (level != CPU_LEVEL_WHICH)
+ return (ECAPMODE);
+ if (which != CPU_WHICH_TID && which != CPU_WHICH_PID)
+ return (ECAPMODE);
+ if (id != -1)
+ return (ECAPMODE);
+ }
mask = malloc(cpusetsize, M_TEMP, M_WAITOK | M_ZERO);
error = copyin(maskp, mask, cpusetsize);
if (error)
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c
index 3e2cfc7..89639a2 100644
--- a/sys/kern/kern_event.c
+++ b/sys/kern/kern_event.c
@@ -573,12 +573,13 @@ knote_fork(struct knlist *list, int pid)
* interval timer support code.
*/
-#define NOTE_TIMER_PRECMASK (NOTE_SECONDS|NOTE_MSECONDS|NOTE_USECONDS| \
- NOTE_NSECONDS)
+#define NOTE_TIMER_PRECMASK \
+ (NOTE_SECONDS | NOTE_MSECONDS | NOTE_USECONDS | NOTE_NSECONDS)
static sbintime_t
timer2sbintime(intptr_t data, int flags)
{
+ int64_t secs;
/*
* Macros for converting to the fractional second portion of an
@@ -597,27 +598,27 @@ timer2sbintime(intptr_t data, int flags)
case NOTE_MSECONDS: /* FALLTHROUGH */
case 0:
if (data >= 1000) {
- int64_t secs = data / 1000;
+ secs = data / 1000;
#ifdef __LP64__
if (secs > (SBT_MAX / SBT_1S))
return (SBT_MAX);
#endif
return (secs << 32 | MS_TO_SBT(data % 1000));
}
- return MS_TO_SBT(data);
+ return (MS_TO_SBT(data));
case NOTE_USECONDS:
if (data >= 1000000) {
- int64_t secs = data / 1000000;
+ secs = data / 1000000;
#ifdef __LP64__
if (secs > (SBT_MAX / SBT_1S))
return (SBT_MAX);
#endif
return (secs << 32 | US_TO_SBT(data % 1000000));
}
- return US_TO_SBT(data);
+ return (US_TO_SBT(data));
case NOTE_NSECONDS:
if (data >= 1000000000) {
- int64_t secs = data / 1000000000;
+ secs = data / 1000000000;
#ifdef __LP64__
if (secs > (SBT_MAX / SBT_1S))
return (SBT_MAX);
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 7d9adb0..1a41aac 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -1006,7 +1006,7 @@ exec_map_first_page(imgp)
break;
} else {
ma[i] = vm_page_alloc(object, i,
- VM_ALLOC_NORMAL | VM_ALLOC_IFNOTCACHED);
+ VM_ALLOC_NORMAL);
if (ma[i] == NULL)
break;
}
diff --git a/sys/kern/kern_fail.c b/sys/kern/kern_fail.c
index b5bf066..6371523 100644
--- a/sys/kern/kern_fail.c
+++ b/sys/kern/kern_fail.c
@@ -612,7 +612,7 @@ fail_point_eval_nontrivial(struct fail_point *fp, int *return_value)
break;
case FAIL_POINT_YIELD:
- kern_yield(-1);
+ kern_yield(PRI_UNCHANGED);
break;
case FAIL_POINT_DELAY:
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index bb92861..c7680aa 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -408,6 +408,8 @@ do_fork(struct thread *td, struct fork_req *fr, struct proc *p2, struct thread *
bcopy(&p1->p_startcopy, &p2->p_startcopy,
__rangeof(struct proc, p_startcopy, p_endcopy));
+ p2->p_elf_machine = p1->p_elf_machine;
+ p2->p_elf_flags = p1->p_elf_flags;
pargs_hold(p2->p_args);
PROC_UNLOCK(p1);
diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c
index ed9dfbb..f44b44e 100644
--- a/sys/kern/kern_mutex.c
+++ b/sys/kern/kern_mutex.c
@@ -233,7 +233,8 @@ __mtx_lock_flags(volatile uintptr_t *c, int opts, const char *file, int line)
m = mtxlock2mtx(c);
- KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread),
+ KASSERT(kdb_active != 0 || SCHEDULER_STOPPED() ||
+ !TD_IS_IDLETHREAD(curthread),
("mtx_lock() by idle thread %p on sleep mutex %s @ %s:%d",
curthread, m->lock_object.lo_name, file, line));
KASSERT(m->mtx_lock != MTX_DESTROYED,
@@ -390,7 +391,7 @@ _mtx_trylock_flags_(volatile uintptr_t *c, int opts, const char *file, int line)
m = mtxlock2mtx(c);
- KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread),
+ KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(td),
("mtx_trylock() by idle thread %p on sleep mutex %s @ %s:%d",
curthread, m->lock_object.lo_name, file, line));
KASSERT(m->mtx_lock != MTX_DESTROYED,
@@ -410,10 +411,10 @@ _mtx_trylock_flags_(volatile uintptr_t *c, int opts, const char *file, int line)
if (v == tid &&
((m->lock_object.lo_flags & LO_RECURSABLE) != 0 ||
(opts & MTX_RECURSE) != 0)) {
- m->mtx_recurse++;
- atomic_set_ptr(&m->mtx_lock, MTX_RECURSED);
- recursed = true;
- break;
+ m->mtx_recurse++;
+ atomic_set_ptr(&m->mtx_lock, MTX_RECURSED);
+ recursed = true;
+ break;
}
rval = 0;
break;
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index e42f931..eb841c8 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -226,6 +226,8 @@ proc_dtor(void *mem, int size, void *arg)
#endif
/* Free all OSD associated to this thread. */
osd_thread_exit(td);
+ td_softdep_cleanup(td);
+ MPASS(td->td_su == NULL);
/* Make sure all thread destructors are executed */
EVENTHANDLER_INVOKE(thread_dtor, td);
diff --git a/sys/kern/kern_rwlock.c b/sys/kern/kern_rwlock.c
index 988a44a..c8b1d7c 100644
--- a/sys/kern/kern_rwlock.c
+++ b/sys/kern/kern_rwlock.c
@@ -269,7 +269,8 @@ _rw_wlock_cookie(volatile uintptr_t *c, const char *file, int line)
rw = rwlock2rw(c);
- KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread),
+ KASSERT(kdb_active != 0 || SCHEDULER_STOPPED() ||
+ !TD_IS_IDLETHREAD(curthread),
("rw_wlock() by idle thread %p on rwlock %s @ %s:%d",
curthread, rw->lock_object.lo_name, file, line));
KASSERT(rw->rw_lock != RW_DESTROYED,
@@ -305,7 +306,7 @@ __rw_try_wlock(volatile uintptr_t *c, const char *file, int line)
rw = rwlock2rw(c);
- KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread),
+ KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(td),
("rw_try_wlock() by idle thread %p on rwlock %s @ %s:%d",
curthread, rw->lock_object.lo_name, file, line));
KASSERT(rw->rw_lock != RW_DESTROYED,
@@ -615,7 +616,8 @@ __rw_rlock(volatile uintptr_t *c, const char *file, int line)
td = curthread;
rw = rwlock2rw(c);
- KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(td),
+ KASSERT(kdb_active != 0 || SCHEDULER_STOPPED_TD(td) ||
+ !TD_IS_IDLETHREAD(td),
("rw_rlock() by idle thread %p on rwlock %s @ %s:%d",
td, rw->lock_object.lo_name, file, line));
KASSERT(rw->rw_lock != RW_DESTROYED,
@@ -816,7 +818,6 @@ _rw_runlock_cookie(volatile uintptr_t *c, const char *file, int line)
TD_LOCKS_DEC(curthread);
}
-
/*
* This function is called when we are unable to obtain a write lock on the
* first try. This means that at least one other thread holds either a
diff --git a/sys/kern/kern_sendfile.c b/sys/kern/kern_sendfile.c
index 5784d14..973e476 100644
--- a/sys/kern/kern_sendfile.c
+++ b/sys/kern/kern_sendfile.c
@@ -207,12 +207,12 @@ xfsize(int i, int n, off_t off, off_t len)
/*
* Helper function to get offset within object for i page.
*/
-static inline vm_offset_t
+static inline vm_ooffset_t
vmoff(int i, off_t off)
{
if (i == 0)
- return ((vm_offset_t)off);
+ return ((vm_ooffset_t)off);
return (trunc_page(off + i * PAGE_SIZE));
}
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index fc3ab29..6677d69 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1862,33 +1862,43 @@ struct sigqueue_args {
int
sys_sigqueue(struct thread *td, struct sigqueue_args *uap)
{
+ union sigval sv;
+
+ sv.sival_ptr = uap->value;
+
+ return (kern_sigqueue(td, uap->pid, uap->signum, &sv));
+}
+
+int
+kern_sigqueue(struct thread *td, pid_t pid, int signum, union sigval *value)
+{
ksiginfo_t ksi;
struct proc *p;
int error;
- if ((u_int)uap->signum > _SIG_MAXSIG)
+ if ((u_int)signum > _SIG_MAXSIG)
return (EINVAL);
/*
* Specification says sigqueue can only send signal to
* single process.
*/
- if (uap->pid <= 0)
+ if (pid <= 0)
return (EINVAL);
- if ((p = pfind(uap->pid)) == NULL) {
- if ((p = zpfind(uap->pid)) == NULL)
+ if ((p = pfind(pid)) == NULL) {
+ if ((p = zpfind(pid)) == NULL)
return (ESRCH);
}
- error = p_cansignal(td, p, uap->signum);
- if (error == 0 && uap->signum != 0) {
+ error = p_cansignal(td, p, signum);
+ if (error == 0 && signum != 0) {
ksiginfo_init(&ksi);
ksi.ksi_flags = KSI_SIGQ;
- ksi.ksi_signo = uap->signum;
+ ksi.ksi_signo = signum;
ksi.ksi_code = SI_QUEUE;
ksi.ksi_pid = td->td_proc->p_pid;
ksi.ksi_uid = td->td_ucred->cr_ruid;
- ksi.ksi_value.sival_ptr = uap->value;
+ ksi.ksi_value = *value;
error = pksignal(p, ksi.ksi_signo, &ksi);
}
PROC_UNLOCK(p);
@@ -2485,6 +2495,7 @@ sig_suspend_threads(struct thread *td, struct proc *p, int sending)
PROC_LOCK_ASSERT(p, MA_OWNED);
PROC_SLOCK_ASSERT(p, MA_OWNED);
+ MPASS(sending || td == curthread);
wakeup_swapper = 0;
FOREACH_THREAD_IN_PROC(p, td2) {
@@ -2501,10 +2512,9 @@ sig_suspend_threads(struct thread *td, struct proc *p, int sending)
*/
KASSERT(!TD_IS_SUSPENDED(td2),
("thread with deferred stops suspended"));
- if (TD_SBDRY_INTR(td2) && sending) {
+ if (TD_SBDRY_INTR(td2))
wakeup_swapper |= sleepq_abort(td2,
TD_SBDRY_ERRNO(td2));
- }
} else if (!TD_IS_SUSPENDED(td2)) {
thread_suspend_one(td2);
}
@@ -2654,7 +2664,9 @@ reschedule_signals(struct proc *p, sigset_t block, int flags)
signotify(td);
if (!(flags & SIGPROCMASK_PS_LOCKED))
mtx_lock(&ps->ps_mtx);
- if (p->p_flag & P_TRACED || SIGISMEMBER(ps->ps_sigcatch, sig))
+ if (p->p_flag & P_TRACED ||
+ (SIGISMEMBER(ps->ps_sigcatch, sig) &&
+ !SIGISMEMBER(td->td_sigmask, sig)))
tdsigwakeup(td, sig, SIG_CATCH,
(SIGISMEMBER(ps->ps_sigintr, sig) ? EINTR :
ERESTART));
diff --git a/sys/kern/kern_sx.c b/sys/kern/kern_sx.c
index 879e8a9..b8b69f1 100644
--- a/sys/kern/kern_sx.c
+++ b/sys/kern/kern_sx.c
@@ -293,7 +293,8 @@ _sx_xlock(struct sx *sx, int opts, const char *file, int line)
uintptr_t tid, x;
int error = 0;
- KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread),
+ KASSERT(kdb_active != 0 || SCHEDULER_STOPPED() ||
+ !TD_IS_IDLETHREAD(curthread),
("sx_xlock() by idle thread %p on sx %s @ %s:%d",
curthread, sx->lock_object.lo_name, file, line));
KASSERT(sx->sx_lock != SX_LOCK_DESTROYED,
@@ -330,7 +331,7 @@ sx_try_xlock_(struct sx *sx, const char *file, int line)
if (SCHEDULER_STOPPED_TD(td))
return (1);
- KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread),
+ KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(td),
("sx_try_xlock() by idle thread %p on sx %s @ %s:%d",
curthread, sx->lock_object.lo_name, file, line));
KASSERT(sx->sx_lock != SX_LOCK_DESTROYED,
@@ -1028,7 +1029,8 @@ _sx_slock(struct sx *sx, int opts, const char *file, int line)
uintptr_t x;
int error;
- KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread),
+ KASSERT(kdb_active != 0 || SCHEDULER_STOPPED() ||
+ !TD_IS_IDLETHREAD(curthread),
("sx_slock() by idle thread %p on sx %s @ %s:%d",
curthread, sx->lock_object.lo_name, file, line));
KASSERT(sx->sx_lock != SX_LOCK_DESTROYED,
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c
index 6a42950..03ecabe 100644
--- a/sys/kern/kern_thread.c
+++ b/sys/kern/kern_thread.c
@@ -87,11 +87,11 @@ _Static_assert(offsetof(struct proc, p_flag) == 0xb0,
"struct proc KBI p_flag");
_Static_assert(offsetof(struct proc, p_pid) == 0xbc,
"struct proc KBI p_pid");
-_Static_assert(offsetof(struct proc, p_filemon) == 0x3d0,
+_Static_assert(offsetof(struct proc, p_filemon) == 0x3c0,
"struct proc KBI p_filemon");
-_Static_assert(offsetof(struct proc, p_comm) == 0x3e0,
+_Static_assert(offsetof(struct proc, p_comm) == 0x3d0,
"struct proc KBI p_comm");
-_Static_assert(offsetof(struct proc, p_emuldata) == 0x4b0,
+_Static_assert(offsetof(struct proc, p_emuldata) == 0x4a0,
"struct proc KBI p_emuldata");
#endif
#ifdef __i386__
@@ -107,11 +107,11 @@ _Static_assert(offsetof(struct proc, p_flag) == 0x68,
"struct proc KBI p_flag");
_Static_assert(offsetof(struct proc, p_pid) == 0x74,
"struct proc KBI p_pid");
-_Static_assert(offsetof(struct proc, p_filemon) == 0x278,
+_Static_assert(offsetof(struct proc, p_filemon) == 0x268,
"struct proc KBI p_filemon");
-_Static_assert(offsetof(struct proc, p_comm) == 0x284,
+_Static_assert(offsetof(struct proc, p_comm) == 0x274,
"struct proc KBI p_comm");
-_Static_assert(offsetof(struct proc, p_emuldata) == 0x304,
+_Static_assert(offsetof(struct proc, p_emuldata) == 0x2f4,
"struct proc KBI p_emuldata");
#endif
diff --git a/sys/kern/subr_blist.c b/sys/kern/subr_blist.c
index fb3526b..9855502 100644
--- a/sys/kern/subr_blist.c
+++ b/sys/kern/subr_blist.c
@@ -99,9 +99,8 @@ __FBSDID("$FreeBSD$");
#define BLIST_DEBUG
#endif
-#define SWAPBLK_NONE ((daddr_t)-1)
-
#include <sys/types.h>
+#include <sys/malloc.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
@@ -110,8 +109,6 @@ __FBSDID("$FreeBSD$");
#define malloc(a,b,c) calloc(a, 1)
#define free(a,b) free(a)
-typedef unsigned int u_daddr_t;
-
#include <sys/blist.h>
void panic(const char *ctl, ...);
@@ -366,7 +363,7 @@ blst_leaf_alloc(
j >>= 1;
mask >>= j;
}
- scan->u.bmu_bitmap &= ~(1 << r);
+ scan->u.bmu_bitmap &= ~((u_daddr_t)1 << r);
return(blk + r);
}
if (count <= BLIST_BMAP_RADIX) {
@@ -658,7 +655,7 @@ static void blst_copy(
int i;
for (i = 0; i < BLIST_BMAP_RADIX && i < count; ++i) {
- if (v & (1 << i))
+ if (v & ((u_daddr_t)1 << i))
blist_free(dest, blk + i, 1);
}
}
@@ -769,6 +766,8 @@ blst_meta_fill(
int next_skip = ((u_int)skip / BLIST_META_RADIX);
int nblks = 0;
+ if (count > radix)
+ panic("blist_meta_fill: allocation too large");
if (count == radix || scan->u.bmu_avail == 0) {
/*
* ALL-ALLOCATED special case
@@ -800,9 +799,6 @@ blst_meta_fill(
radix /= BLIST_META_RADIX;
}
- if (count > radix)
- panic("blist_meta_fill: allocation too large");
-
i = (allocBlk - blk) / radix;
blk += i * radix;
i = i * next_skip + 1;
@@ -922,7 +918,7 @@ blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t radix, int skip, int tab)
if (radix == BLIST_BMAP_RADIX) {
printf(
- "%*.*s(%08llx,%lld): bitmap %08llx big=%lld\n",
+ "%*.*s(%08llx,%lld): bitmap %016llx big=%lld\n",
tab, tab, "",
(long long)blk, (long long)radix,
(long long)scan->u.bmu_bitmap,
@@ -1016,9 +1012,8 @@ main(int ac, char **av)
for (;;) {
char buf[1024];
- daddr_t da = 0;
- daddr_t count = 0;
-
+ long long da = 0;
+ long long count = 0;
printf("%lld/%lld/%lld> ", (long long)bl->bl_free,
(long long)size, (long long)bl->bl_radix);
@@ -1028,7 +1023,7 @@ main(int ac, char **av)
switch(buf[0]) {
case 'r':
if (sscanf(buf + 1, "%lld", &count) == 1) {
- blist_resize(&bl, count, 1);
+ blist_resize(&bl, count, 1, M_WAITOK);
} else {
printf("?\n");
}
@@ -1044,16 +1039,14 @@ main(int ac, char **av)
}
break;
case 'f':
- if (sscanf(buf + 1, "%llx %lld",
- (long long *)&da, (long long *)&count) == 2) {
+ if (sscanf(buf + 1, "%llx %lld", &da, &count) == 2) {
blist_free(bl, da, count);
} else {
printf("?\n");
}
break;
case 'l':
- if (sscanf(buf + 1, "%llx %lld",
- (long long *)&da, (long long *)&count) == 2) {
+ if (sscanf(buf + 1, "%llx %lld", &da, &count) == 2) {
printf(" n=%d\n",
blist_fill(bl, da, count));
} else {
diff --git a/sys/kern/subr_kobj.c b/sys/kern/subr_kobj.c
index 5be746a..15a7b8a 100644
--- a/sys/kern/subr_kobj.c
+++ b/sys/kern/subr_kobj.c
@@ -213,19 +213,11 @@ kobj_lookup_method(kobj_class_t cls,
{
kobj_method_t *ce;
-#ifdef KOBJ_STATS
- /*
- * Correct for the 'hit' assumption in KOBJOPLOOKUP and record
- * a 'miss'.
- */
- kobj_lookup_hits--;
- kobj_lookup_misses++;
-#endif
-
ce = kobj_lookup_method_mi(cls, desc);
if (!ce)
ce = &desc->deflt;
- *cep = ce;
+ if (cep)
+ *cep = ce;
return ce;
}
diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c
index 3784ffd..264e694 100644
--- a/sys/kern/subr_prf.c
+++ b/sys/kern/subr_prf.c
@@ -377,7 +377,6 @@ log_console(struct uio *uio)
msgbuftrigger = 1;
free(uio, M_IOV);
free(consbuffer, M_TEMP);
- return;
}
int
diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c
index 0a45380..0aee62f 100644
--- a/sys/kern/uipc_shm.c
+++ b/sys/kern/uipc_shm.c
@@ -455,12 +455,9 @@ retry:
VM_WAIT;
VM_OBJECT_WLOCK(object);
goto retry;
- } else if (m->valid != VM_PAGE_BITS_ALL)
- rv = vm_pager_get_pages(object, &m, 1,
- NULL, NULL);
- else
- /* A cached page was reactivated. */
- rv = VM_PAGER_OK;
+ }
+ rv = vm_pager_get_pages(object, &m, 1, NULL,
+ NULL);
vm_page_lock(m);
if (rv == VM_PAGER_OK) {
vm_page_deactivate(m);
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index 3df1607..15ca984 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -2342,13 +2342,27 @@ int
soshutdown(struct socket *so, int how)
{
struct protosw *pr = so->so_proto;
- int error;
+ int error, soerror_enotconn;
if (!(how == SHUT_RD || how == SHUT_WR || how == SHUT_RDWR))
return (EINVAL);
+
+ soerror_enotconn = 0;
if ((so->so_state &
- (SS_ISCONNECTED | SS_ISCONNECTING | SS_ISDISCONNECTING)) == 0)
- return (ENOTCONN);
+ (SS_ISCONNECTED | SS_ISCONNECTING | SS_ISDISCONNECTING)) == 0) {
+ /*
+ * POSIX mandates us to return ENOTCONN when shutdown(2) is
+ * invoked on a datagram sockets, however historically we would
+ * actually tear socket down. This is known to be leveraged by
+ * some applications to unblock process waiting in recvXXX(2)
+ * by other process that it shares that socket with. Try to meet
+ * both backward-compatibility and POSIX requirements by forcing
+ * ENOTCONN but still asking protocol to perform pru_shutdown().
+ */
+ if (so->so_type != SOCK_DGRAM)
+ return (ENOTCONN);
+ soerror_enotconn = 1;
+ }
CURVNET_SET(so->so_vnet);
if (pr->pr_usrreqs->pru_flush != NULL)
@@ -2359,11 +2373,12 @@ soshutdown(struct socket *so, int how)
error = (*pr->pr_usrreqs->pru_shutdown)(so);
wakeup(&so->so_timeo);
CURVNET_RESTORE();
- return (error);
+ return ((error == 0 && soerror_enotconn) ? ENOTCONN : error);
}
wakeup(&so->so_timeo);
CURVNET_RESTORE();
- return (0);
+
+ return (soerror_enotconn ? ENOTCONN : 0);
}
void
diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c
index 1e01ccd..3c5ca1f 100644
--- a/sys/kern/vfs_aio.c
+++ b/sys/kern/vfs_aio.c
@@ -1550,7 +1550,9 @@ aio_aqueue(struct thread *td, struct aiocb *ujob, struct aioliojob *lj,
goto aqueue_fail;
}
- if (opcode != LIO_SYNC && job->uaiocb.aio_offset == -1LL) {
+ if ((opcode == LIO_READ || opcode == LIO_WRITE) &&
+ job->uaiocb.aio_offset < 0 &&
+ (fp->f_vnode == NULL || fp->f_vnode->v_type != VCHR)) {
error = EINVAL;
goto aqueue_fail;
}
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index 743c4e7..58481a8 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -2303,18 +2303,28 @@ brelse(struct buf *bp)
bdirty(bp);
}
if (bp->b_iocmd == BIO_WRITE && (bp->b_ioflags & BIO_ERROR) &&
+ (bp->b_error != ENXIO || !LIST_EMPTY(&bp->b_dep)) &&
!(bp->b_flags & B_INVAL)) {
/*
- * Failed write, redirty. Must clear BIO_ERROR to prevent
- * pages from being scrapped.
+ * Failed write, redirty. All errors except ENXIO (which
+ * means the device is gone) are expected to be potentially
+ * transient - underlying media might work if tried again
+ * after EIO, and memory might be available after an ENOMEM.
+ *
+ * Do this also for buffers that failed with ENXIO, but have
+ * non-empty dependencies - the soft updates code might need
+ * to access the buffer to untangle them.
+ *
+ * Must clear BIO_ERROR to prevent pages from being scrapped.
*/
bp->b_ioflags &= ~BIO_ERROR;
bdirty(bp);
} else if ((bp->b_flags & (B_NOCACHE | B_INVAL)) ||
(bp->b_ioflags & BIO_ERROR) || (bp->b_bufsize <= 0)) {
/*
- * Either a failed read I/O or we were asked to free or not
- * cache the buffer.
+ * Either a failed read I/O, or we were asked to free or not
+ * cache the buffer, or we failed to write to a device that's
+ * no longer present.
*/
bp->b_flags |= B_INVAL;
if (!LIST_EMPTY(&bp->b_dep))
@@ -4913,6 +4923,8 @@ DB_SHOW_COMMAND(lockedbufs, lockedbufs)
if (BUF_ISLOCKED(bp)) {
db_show_buffer((uintptr_t)bp, 1, 0, NULL);
db_printf("\n");
+ if (db_pager_quit)
+ break;
}
}
}
diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c
index 093c249..3361685 100644
--- a/sys/kern/vfs_cache.c
+++ b/sys/kern/vfs_cache.c
@@ -735,13 +735,12 @@ cache_negative_remove(struct namecache *ncp, bool neg_locked)
list_locked = true;
mtx_lock(&neglist->nl_lock);
}
- } else {
- mtx_assert(&neglist->nl_lock, MA_OWNED);
- mtx_assert(&ncneg_hot.nl_lock, MA_OWNED);
}
if (ncp->nc_flag & NCF_HOTNEGATIVE) {
+ mtx_assert(&ncneg_hot.nl_lock, MA_OWNED);
TAILQ_REMOVE(&ncneg_hot.nl_list, ncp, nc_dst);
} else {
+ mtx_assert(&neglist->nl_lock, MA_OWNED);
TAILQ_REMOVE(&neglist->nl_list, ncp, nc_dst);
}
if (list_locked)
@@ -816,7 +815,6 @@ cache_negative_zap_one(void)
mtx_unlock(&ncneg_hot.nl_lock);
mtx_lock(dvlp);
rw_wlock(blp);
- mtx_lock(&ncneg_hot.nl_lock);
mtx_lock(&neglist->nl_lock);
ncp2 = TAILQ_FIRST(&neglist->nl_list);
if (ncp != ncp2 || dvlp != VP2VNODELOCK(ncp2->nc_dvp) ||
@@ -830,7 +828,6 @@ cache_negative_zap_one(void)
cache_zap_locked(ncp, true);
out_unlock_all:
mtx_unlock(&neglist->nl_lock);
- mtx_unlock(&ncneg_hot.nl_lock);
rw_wunlock(blp);
mtx_unlock(dvlp);
out:
diff --git a/sys/libkern/arm64/crc32c_armv8.S b/sys/libkern/arm64/crc32c_armv8.S
new file mode 100644
index 0000000..072dfd6
--- /dev/null
+++ b/sys/libkern/arm64/crc32c_armv8.S
@@ -0,0 +1,78 @@
+/*-
+ * Copyright (c) 2017 Michael Tuexen
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD$");
+
+/*
+ * uint32_t
+ * armv8_crc32c(uint32_t crc, const unsigned char *buf, unsigned int len)
+ */
+
+ENTRY(armv8_crc32c)
+ cbz w2, end
+ tbz x1, #0x0, half_word_aligned
+ sub w2, w2, 0x1
+ ldr w10, [x1], #0x1
+ crc32cb w0, w0, w10
+half_word_aligned:
+ cmp w2, #0x2
+ b.lo last_byte
+ tbz x1, #0x1, word_aligned
+ sub w2, w2, 0x2
+ ldr w10, [x1], #0x2
+ crc32ch w0, w0, w10
+word_aligned:
+ cmp w2, #0x4
+ b.lo last_half_word
+ tbz x1, #0x2, double_word_aligned
+ sub w2, w2, 0x4
+ ldr w10, [x1], #0x4
+ crc32cw w0, w0, w10
+double_word_aligned:
+ lsr w9, w2, #0x3
+ cbz w9, last_word
+loop:
+ ldr x10, [x1], #0x8
+ crc32cx w0, w0, x10
+ subs w9, w9, #1
+ b.ne loop
+last_word:
+ tbz w2, #0x2, last_half_word
+ ldr w10, [x1], #0x4
+ crc32cw w0, w0, w10
+last_half_word:
+ tbz w2, #0x1, last_byte
+ ldr w10, [x1], #0x2
+ crc32ch w0, w0, w10
+last_byte:
+ tbz w2, #0x0, end
+ ldr w10, [x1], #0x1
+ crc32cb w0, w0, w10
+end:
+ ret
+END(armv8_crc32c)
diff --git a/sys/libkern/bcmp.c b/sys/libkern/bcmp.c
index 90576c6..cd00ba9 100644
--- a/sys/libkern/bcmp.c
+++ b/sys/libkern/bcmp.c
@@ -44,7 +44,7 @@ typedef const unsigned long *culp;
int
bcmp(b1, b2, length)
const void *b1, *b2;
- register size_t length;
+ size_t length;
{
#if BYTE_ORDER == LITTLE_ENDIAN
/*
diff --git a/sys/libkern/bsearch.c b/sys/libkern/bsearch.c
index 298f327..cbac2fb 100644
--- a/sys/libkern/bsearch.c
+++ b/sys/libkern/bsearch.c
@@ -54,16 +54,16 @@ __FBSDID("$FreeBSD$");
*/
void *
bsearch(key, base0, nmemb, size, compar)
- register const void *key;
+ const void *key;
const void *base0;
size_t nmemb;
- register size_t size;
- register int (*compar)(const void *, const void *);
+ size_t size;
+ int (*compar)(const void *, const void *);
{
- register const char *base = base0;
- register size_t lim;
- register int cmp;
- register const void *p;
+ const char *base = base0;
+ size_t lim;
+ int cmp;
+ const void *p;
for (lim = nmemb; lim != 0; lim >>= 1) {
p = base + (lim >> 1) * size;
diff --git a/sys/libkern/crc32.c b/sys/libkern/crc32.c
index 6bc469e..b0a8ce0 100644
--- a/sys/libkern/crc32.c
+++ b/sys/libkern/crc32.c
@@ -54,6 +54,10 @@ __FBSDID("$FreeBSD$");
#include <machine/specialreg.h>
#endif
+#if defined(__aarch64__)
+#include <machine/cpu.h>
+#endif
+
const uint32_t crc32_tab[] = {
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
@@ -755,11 +759,23 @@ calculate_crc32c(uint32_t crc32c,
const unsigned char *buffer,
unsigned int length)
{
-#if defined(__amd64__) || defined(__i386__)
+#if defined(__amd64__) || (defined(__i386__) && !defined(PC98))
if ((cpu_feature2 & CPUID2_SSE42) != 0) {
return (sse42_crc32c(crc32c, buffer, length));
} else
#endif
+#if defined(__aarch64__)
+ uint64_t reg;
+
+ /*
+ * We only test for CRC32 support on the CPU with index 0 assuming that
+ * this applies to all CPUs.
+ */
+ reg = READ_SPECIALREG(id_aa64isar0_el1);
+ if (ID_AA64ISAR0_CRC32(reg) != ID_AA64ISAR0_CRC32_NONE) {
+ return (armv8_crc32c(crc32c, buffer, length));
+ } else
+#endif
if (length < 4) {
return (singletable_crc32c(crc32c, buffer, length));
} else {
diff --git a/sys/libkern/iconv_ucs.c b/sys/libkern/iconv_ucs.c
index 047436d..6d63f0b 100644
--- a/sys/libkern/iconv_ucs.c
+++ b/sys/libkern/iconv_ucs.c
@@ -523,14 +523,14 @@ ucs4_to_utf8(uint32_t ucs4, char *dst, size_t *utf8width, size_t dstlen)
}
static uint32_t
-encode_surrogate(register uint32_t code)
+encode_surrogate(uint32_t code)
{
return ((((code - 0x10000) << 6) & 0x3ff0000) |
((code - 0x10000) & 0x3ff) | 0xd800dc00);
}
static uint32_t
-decode_surrogate(register const u_char *ucs)
+decode_surrogate(const u_char *ucs)
{
return ((((ucs[0] & 0x3) << 18) | (ucs[1] << 10) |
((ucs[2] & 0x3) << 8) | ucs[3]) + 0x10000);
diff --git a/sys/libkern/iconv_xlat16.c b/sys/libkern/iconv_xlat16.c
index 8facd77..c423413 100644
--- a/sys/libkern/iconv_xlat16.c
+++ b/sys/libkern/iconv_xlat16.c
@@ -298,10 +298,10 @@ iconv_xlat16_name(struct iconv_converter_class *dcp)
}
static int
-iconv_xlat16_tolower(void *d2p, register int c)
+iconv_xlat16_tolower(void *d2p, int c)
{
struct iconv_xlat16 *dp = (struct iconv_xlat16*)d2p;
- register int c1, c2, out;
+ int c1, c2, out;
if (c < 0x100) {
c1 = C2I1(c << 8);
@@ -323,10 +323,10 @@ iconv_xlat16_tolower(void *d2p, register int c)
}
static int
-iconv_xlat16_toupper(void *d2p, register int c)
+iconv_xlat16_toupper(void *d2p, int c)
{
struct iconv_xlat16 *dp = (struct iconv_xlat16*)d2p;
- register int c1, c2, out;
+ int c1, c2, out;
if (c < 0x100) {
c1 = C2I1(c << 8);
diff --git a/sys/libkern/memmem.c b/sys/libkern/memmem.c
index 11c3d9e..b4720e6 100644
--- a/sys/libkern/memmem.c
+++ b/sys/libkern/memmem.c
@@ -35,7 +35,7 @@ __FBSDID("$FreeBSD$");
void *
memmem(const void *l, size_t l_len, const void *s, size_t s_len)
{
- register char *cur, *last;
+ char *cur, *last;
const char *cl = (const char *)l;
const char *cs = (const char *)s;
diff --git a/sys/libkern/qdivrem.c b/sys/libkern/qdivrem.c
index fbfd715..b4cc91f 100644
--- a/sys/libkern/qdivrem.c
+++ b/sys/libkern/qdivrem.c
@@ -59,9 +59,9 @@ typedef u_long digit;
* We may assume len >= 0. NOTE THAT THIS WRITES len+1 DIGITS.
*/
static void
-__shl(register digit *p, register int len, register int sh)
+__shl(digit *p, int len, int sh)
{
- register int i;
+ int i;
for (i = 0; i < len; i++)
p[i] = LHALF(p[i] << sh) | (p[i + 1] >> (HALF_BITS - sh));
@@ -82,7 +82,7 @@ __qdivrem(uq, vq, arq)
{
union uu tmp;
digit *u, *v, *q;
- register digit v1, v2;
+ digit v1, v2;
u_long qhat, rhat, t;
int m, n, d, j, i;
digit uspace[5], vspace[5], qspace[5];
@@ -192,7 +192,7 @@ __qdivrem(uq, vq, arq)
v1 = v[1]; /* for D3 -- note that v[1..n] are constant */
v2 = v[2]; /* for D3 */
do {
- register digit uj0, uj1, uj2;
+ digit uj0, uj1, uj2;
/*
* D3: Calculate qhat (\^q, in TeX notation).
diff --git a/sys/libkern/qsort.c b/sys/libkern/qsort.c
index bb0baee..9c83f60 100644
--- a/sys/libkern/qsort.c
+++ b/sys/libkern/qsort.c
@@ -33,51 +33,57 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/libkern.h>
-#ifdef I_AM_QSORT_R
-typedef int cmp_t(void *, const void *, const void *);
+#ifdef I_AM_QSORT_R
+typedef int cmp_t(void *, const void *, const void *);
#else
-typedef int cmp_t(const void *, const void *);
+typedef int cmp_t(const void *, const void *);
#endif
-static __inline char *med3(char *, char *, char *, cmp_t *, void *);
-static __inline void swapfunc(char *, char *, int, int);
-
-#define min(a, b) (a) < (b) ? (a) : (b)
+static inline char *med3(char *, char *, char *, cmp_t *, void *);
+static inline void swapfunc(char *, char *, size_t, int, int);
/*
* Qsort routine from Bentley & McIlroy's "Engineering a Sort Function".
*/
-#define swapcode(TYPE, parmi, parmj, n) { \
- long i = (n) / sizeof (TYPE); \
- register TYPE *pi = (TYPE *) (parmi); \
- register TYPE *pj = (TYPE *) (parmj); \
+#define swapcode(TYPE, parmi, parmj, n) { \
+ size_t i = (n) / sizeof (TYPE); \
+ TYPE *pi = (TYPE *) (parmi); \
+ TYPE *pj = (TYPE *) (parmj); \
do { \
- register TYPE t = *pi; \
+ TYPE t = *pi; \
*pi++ = *pj; \
*pj++ = t; \
- } while (--i > 0); \
+ } while (--i > 0); \
}
-#define SWAPINIT(a, es) swaptype = ((char *)a - (char *)0) % sizeof(long) || \
- es % sizeof(long) ? 2 : es == sizeof(long)? 0 : 1;
+#define SWAPINIT(TYPE, a, es) swaptype_ ## TYPE = \
+ ((char *)a - (char *)0) % sizeof(TYPE) || \
+ es % sizeof(TYPE) ? 2 : es == sizeof(TYPE) ? 0 : 1;
-static __inline void
-swapfunc(char *a, char *b, int n, int swaptype)
+static inline void
+swapfunc(char *a, char *b, size_t n, int swaptype_long, int swaptype_int)
{
- if(swaptype <= 1)
+ if (swaptype_long <= 1)
swapcode(long, a, b, n)
+ else if (swaptype_int <= 1)
+ swapcode(int, a, b, n)
else
swapcode(char, a, b, n)
}
-#define swap(a, b) \
- if (swaptype == 0) { \
+#define swap(a, b) \
+ if (swaptype_long == 0) { \
long t = *(long *)(a); \
*(long *)(a) = *(long *)(b); \
*(long *)(b) = t; \
+ } else if (swaptype_int == 0) { \
+ int t = *(int *)(a); \
+ *(int *)(a) = *(int *)(b); \
+ *(int *)(b) = t; \
} else \
- swapfunc(a, b, es, swaptype)
+ swapfunc(a, b, es, swaptype_long, swaptype_int)
-#define vecswap(a, b, n) if ((n) > 0) swapfunc(a, b, n, swaptype)
+#define vecswap(a, b, n) \
+ if ((n) > 0) swapfunc(a, b, n, swaptype_long, swaptype_int)
#ifdef I_AM_QSORT_R
#define CMP(t, x, y) (cmp((t), (x), (y)))
@@ -85,16 +91,16 @@ swapfunc(char *a, char *b, int n, int swaptype)
#define CMP(t, x, y) (cmp((x), (y)))
#endif
-static __inline char *
+static inline char *
med3(char *a, char *b, char *c, cmp_t *cmp, void *thunk
-#ifndef I_AM_QSORT_R
+#ifndef I_AM_QSORT_R
__unused
#endif
)
{
return CMP(thunk, a, b) < 0 ?
(CMP(thunk, b, c) < 0 ? b : (CMP(thunk, a, c) < 0 ? c : a ))
- :(CMP(thunk, b, c) > 0 ? b : (CMP(thunk, a, c) < 0 ? a : c ));
+ :(CMP(thunk, b, c) > 0 ? b : (CMP(thunk, a, c) < 0 ? a : c ));
}
#ifdef I_AM_QSORT_R
@@ -107,13 +113,17 @@ qsort(void *a, size_t n, size_t es, cmp_t *cmp)
#endif
{
char *pa, *pb, *pc, *pd, *pl, *pm, *pn;
- int d, r, swaptype, swap_cnt;
+ size_t d1, d2;
+ int cmp_result;
+ int swaptype_long, swaptype_int, swap_cnt;
-loop: SWAPINIT(a, es);
+loop: SWAPINIT(long, a, es);
+ SWAPINIT(int, a, es);
swap_cnt = 0;
if (n < 7) {
for (pm = (char *)a + es; pm < (char *)a + n * es; pm += es)
- for (pl = pm; pl > (char *)a && CMP(thunk, pl - es, pl) > 0;
+ for (pl = pm;
+ pl > (char *)a && CMP(thunk, pl - es, pl) > 0;
pl -= es)
swap(pl, pl - es);
return;
@@ -123,7 +133,8 @@ loop: SWAPINIT(a, es);
pl = a;
pn = (char *)a + (n - 1) * es;
if (n > 40) {
- d = (n / 8) * es;
+ size_t d = (n / 8) * es;
+
pl = med3(pl, pl + d, pl + 2 * d, cmp, thunk);
pm = med3(pm - d, pm, pm + d, cmp, thunk);
pn = med3(pn - 2 * d, pn - d, pn, cmp, thunk);
@@ -135,16 +146,16 @@ loop: SWAPINIT(a, es);
pc = pd = (char *)a + (n - 1) * es;
for (;;) {
- while (pb <= pc && (r = CMP(thunk, pb, a)) <= 0) {
- if (r == 0) {
+ while (pb <= pc && (cmp_result = CMP(thunk, pb, a)) <= 0) {
+ if (cmp_result == 0) {
swap_cnt = 1;
swap(pa, pb);
pa += es;
}
pb += es;
}
- while (pb <= pc && (r = CMP(thunk, pc, a)) >= 0) {
- if (r == 0) {
+ while (pb <= pc && (cmp_result = CMP(thunk, pc, a)) >= 0) {
+ if (cmp_result == 0) {
swap_cnt = 1;
swap(pc, pd);
pd -= es;
@@ -160,27 +171,51 @@ loop: SWAPINIT(a, es);
}
if (swap_cnt == 0) { /* Switch to insertion sort */
for (pm = (char *)a + es; pm < (char *)a + n * es; pm += es)
- for (pl = pm; pl > (char *)a && CMP(thunk, pl - es, pl) > 0;
+ for (pl = pm;
+ pl > (char *)a && CMP(thunk, pl - es, pl) > 0;
pl -= es)
swap(pl, pl - es);
return;
}
pn = (char *)a + n * es;
- r = min(pa - (char *)a, pb - pa);
- vecswap(a, pb - r, r);
- r = min(pd - pc, pn - pd - es);
- vecswap(pb, pn - r, r);
- if ((r = pb - pa) > es)
-#ifdef I_AM_QSORT_R
- qsort_r(a, r / es, es, thunk, cmp);
+ d1 = MIN(pa - (char *)a, pb - pa);
+ vecswap(a, pb - d1, d1);
+ d1 = MIN(pd - pc, pn - pd - es);
+ vecswap(pb, pn - d1, d1);
+
+ d1 = pb - pa;
+ d2 = pd - pc;
+ if (d1 <= d2) {
+ /* Recurse on left partition, then iterate on right partition */
+ if (d1 > es) {
+#ifdef I_AM_QSORT_R
+ qsort_r(a, d1 / es, es, thunk, cmp);
+#else
+ qsort(a, d1 / es, es, cmp);
+#endif
+ }
+ if (d2 > es) {
+ /* Iterate rather than recurse to save stack space */
+ /* qsort(pn - d2, d2 / es, es, cmp); */
+ a = pn - d2;
+ n = d2 / es;
+ goto loop;
+ }
+ } else {
+ /* Recurse on right partition, then iterate on left partition */
+ if (d2 > es) {
+#ifdef I_AM_QSORT_R
+ qsort_r(pn - d2, d2 / es, es, thunk, cmp);
#else
- qsort(a, r / es, es, cmp);
+ qsort(pn - d2, d2 / es, es, cmp);
#endif
- if ((r = pd - pc) > es) {
- /* Iterate rather than recurse to save stack space */
- a = pn - r;
- n = r / es;
- goto loop;
+ }
+ if (d1 > es) {
+ /* Iterate rather than recurse to save stack space */
+ /* qsort(a, d1 / es, es, cmp); */
+ n = d1 / es;
+ goto loop;
+ }
}
}
diff --git a/sys/libkern/random.c b/sys/libkern/random.c
index 3ad75bf..22a14ef 100644
--- a/sys/libkern/random.c
+++ b/sys/libkern/random.c
@@ -57,7 +57,7 @@ srandom(seed)
u_long
random()
{
- register long x, hi, lo, t;
+ long x, hi, lo, t;
/*
* Compute x[n + 1] = (7^5 * x[n]) mod (2^31 - 1).
diff --git a/sys/libkern/scanc.c b/sys/libkern/scanc.c
index 28a5b7e..a7800d0 100644
--- a/sys/libkern/scanc.c
+++ b/sys/libkern/scanc.c
@@ -37,11 +37,11 @@ __FBSDID("$FreeBSD$");
int
scanc(size, cp, table, mask0)
u_int size;
- register const u_char *cp, table[];
+ const u_char *cp, table[];
int mask0;
{
- register const u_char *end;
- register u_char mask;
+ const u_char *end;
+ u_char mask;
mask = mask0;
for (end = &cp[size]; cp < end; ++cp) {
diff --git a/sys/libkern/strcmp.c b/sys/libkern/strcmp.c
index 7313e60..43a06d9 100644
--- a/sys/libkern/strcmp.c
+++ b/sys/libkern/strcmp.c
@@ -40,7 +40,7 @@ __FBSDID("$FreeBSD$");
*/
int
strcmp(s1, s2)
- register const char *s1, *s2;
+ const char *s1, *s2;
{
while (*s1 == *s2++)
if (*s1++ == 0)
diff --git a/sys/libkern/strncpy.c b/sys/libkern/strncpy.c
index 7daaaea..d4d0964 100644
--- a/sys/libkern/strncpy.c
+++ b/sys/libkern/strncpy.c
@@ -43,8 +43,8 @@ char *
strncpy(char * __restrict dst, const char * __restrict src, size_t n)
{
if (n != 0) {
- register char *d = dst;
- register const char *s = src;
+ char *d = dst;
+ const char *s = src;
do {
if ((*d++ = *s++) == 0) {
diff --git a/sys/mips/include/efi.h b/sys/mips/include/efi.h
new file mode 100644
index 0000000..8c52da2
--- /dev/null
+++ b/sys/mips/include/efi.h
@@ -0,0 +1,14 @@
+/*-
+ * This file is in the public domain since it's just boilerplate.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef __MIPS_INCLUDE_EFI_H_
+#define __MIPS_INCLUDE_EFI_H_
+
+#define EFIABI_ATTR
+
+/* Note: we don't actually support this on mips */
+
+#endif /* __MIPS_INCLUDE_EFI_H_ */
diff --git a/sys/mips/mips/busdma_machdep.c b/sys/mips/mips/busdma_machdep.c
index d9eb9d4..bd2cada 100644
--- a/sys/mips/mips/busdma_machdep.c
+++ b/sys/mips/mips/busdma_machdep.c
@@ -680,7 +680,9 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddrp, int flags,
* (the allocator aligns buffers to their size boundaries).
* - There's no need to handle lowaddr/highaddr exclusion zones.
* else allocate non-contiguous pages if...
- * - The page count that could get allocated doesn't exceed nsegments.
+ * - The page count that could get allocated doesn't exceed
+ * nsegments also when the maximum segment size is less
+ * than PAGE_SIZE.
* - The alignment constraint isn't larger than a page boundary.
* - There are no boundary-crossing constraints.
* else allocate a block of contiguous pages because one or more of the
@@ -689,8 +691,10 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddrp, int flags,
if (bufzone != NULL && dmat->alignment <= bufzone->size &&
!_bus_dma_can_bounce(dmat->lowaddr, dmat->highaddr)) {
vaddr = uma_zalloc(bufzone->umazone, mflags);
- } else if (dmat->nsegments >= btoc(dmat->maxsize) &&
- dmat->alignment <= PAGE_SIZE && dmat->boundary == 0) {
+ } else if (dmat->nsegments >=
+ howmany(dmat->maxsize, MIN(dmat->maxsegsz, PAGE_SIZE)) &&
+ dmat->alignment <= PAGE_SIZE &&
+ (dmat->boundary % PAGE_SIZE) == 0) {
vaddr = (void *)kmem_alloc_attr(kernel_arena, dmat->maxsize,
mflags, 0, dmat->lowaddr, memattr);
} else {
diff --git a/sys/modules/3dfx/Makefile b/sys/modules/3dfx/Makefile
index 67f1831..05f57cb 100644
--- a/sys/modules/3dfx/Makefile
+++ b/sys/modules/3dfx/Makefile
@@ -1,11 +1,10 @@
# $FreeBSD$
-.PATH: $(.CURDIR)/../../dev/tdfx
+.PATH: ${SRCTOP}/sys/dev/tdfx
KMOD= 3dfx
SRCS= bus_if.h pci_if.h device_if.h tdfx_pci.h tdfx_io.h\
tdfx_vars.h tdfx_pci.c
-INCSRC= ../../sys
# Uncomment this for debugging messages
#CFLAGS+= -DDEBUG
diff --git a/sys/modules/3dfx_linux/Makefile b/sys/modules/3dfx_linux/Makefile
index 8376037..609f5b3 100644
--- a/sys/modules/3dfx_linux/Makefile
+++ b/sys/modules/3dfx_linux/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/tdfx
+.PATH: ${SRCTOP}/sys/dev/tdfx
KMOD= 3dfx_linux
SRCS= tdfx_linux.c
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index 100e40d..efc9b25 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
SUBDIR_PARALLEL=
@@ -365,11 +365,8 @@ SUBDIR= \
${_sym} \
${_syscons} \
sysvipc \
+ tcp \
${_ti} \
- ${_tcp_fastpath} \
- ${_tcpmd5} \
- tests/framework \
- tests/callout_test \
tl \
tmpfs \
${_toecore} \
@@ -438,7 +435,7 @@ SUBDIR+= opensolaris
.endif
.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
-.if exists(${.CURDIR}/../opencrypto)
+.if exists(${SRCTOP}/sys/opencrypto)
_crypto= crypto
_cryptodev= cryptodev
_random_fortuna=random_fortuna
@@ -451,10 +448,6 @@ _random_other= random_other
SUBDIR+= cuse
.endif
-.if ${MK_EXTRA_TCP_STACKS} != "no" || defined(ALL_MODULES)
-_tcp_fastpath= tcp/fastpath
-.endif
-
.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
defined(ALL_MODULES)
_carp= carp
@@ -465,7 +458,6 @@ _if_gre= if_gre
_ipfw_pmod= ipfw_pmod
.if ${MK_IPSEC_SUPPORT} != "no"
_ipsec= ipsec
-_tcpmd5= tcp/tcpmd5
.endif
.endif
@@ -492,6 +484,7 @@ _ipfilter= ipfilter
.endif
.if ${MK_ISCSI} != "no" || defined(ALL_MODULES)
+SUBDIR+= cfiscsi
SUBDIR+= iscsi
SUBDIR+= iscsi_initiator
.endif
@@ -535,6 +528,10 @@ _txp= txp
_cxgbe= cxgbe
.endif
+.if ${MK_TESTS} != "no" || defined(ALL_MODULES)
+SUBDIR+= tests
+.endif
+
.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
SUBDIR+= zfs
.endif
diff --git a/sys/modules/aac/Makefile b/sys/modules/aac/Makefile
index 5b6525f..1a5b433 100644
--- a/sys/modules/aac/Makefile
+++ b/sys/modules/aac/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/aac
+.PATH: ${SRCTOP}/sys/dev/aac
.if ${MACHINE_CPUARCH} == "i386"
SUBDIR= aac_linux
diff --git a/sys/modules/aac/aac_linux/Makefile b/sys/modules/aac/aac_linux/Makefile
index 4247a22..88861bf 100644
--- a/sys/modules/aac/aac_linux/Makefile
+++ b/sys/modules/aac/aac_linux/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/aac
+.PATH: ${SRCTOP}/sys/dev/aac
KMOD= aac_linux
SRCS= aac_linux.c
diff --git a/sys/modules/aacraid/Makefile b/sys/modules/aacraid/Makefile
index d0da1c2..8852d47 100644
--- a/sys/modules/aacraid/Makefile
+++ b/sys/modules/aacraid/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/aacraid
+.PATH: ${SRCTOP}/sys/dev/aacraid
.if ${MACHINE_CPUARCH} == "i386"
SUBDIR= aacraid_linux
diff --git a/sys/modules/aacraid/aacraid_linux/Makefile b/sys/modules/aacraid/aacraid_linux/Makefile
index 7a8b416..426f9d8 100644
--- a/sys/modules/aacraid/aacraid_linux/Makefile
+++ b/sys/modules/aacraid/aacraid_linux/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/aacraid
+.PATH: ${SRCTOP}/sys/dev/aacraid
KMOD= aacraid_linux
SRCS= aacraid_linux.c
diff --git a/sys/modules/accf_data/Makefile b/sys/modules/accf_data/Makefile
index 6c5216c..3cd8139 100644
--- a/sys/modules/accf_data/Makefile
+++ b/sys/modules/accf_data/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netinet
+.PATH: ${SRCTOP}/sys/netinet
KMOD= accf_data
SRCS= accf_data.c
diff --git a/sys/modules/accf_dns/Makefile b/sys/modules/accf_dns/Makefile
index 49012e2..ba65502 100644
--- a/sys/modules/accf_dns/Makefile
+++ b/sys/modules/accf_dns/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netinet
+.PATH: ${SRCTOP}/sys/netinet
KMOD= accf_dns
SRCS= accf_dns.c
diff --git a/sys/modules/accf_http/Makefile b/sys/modules/accf_http/Makefile
index b942d3e..6444703 100644
--- a/sys/modules/accf_http/Makefile
+++ b/sys/modules/accf_http/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netinet
+.PATH: ${SRCTOP}/sys/netinet
KMOD= accf_http
SRCS= accf_http.c
diff --git a/sys/modules/acl_nfs4/Makefile b/sys/modules/acl_nfs4/Makefile
index baff941..2a6dee6 100644
--- a/sys/modules/acl_nfs4/Makefile
+++ b/sys/modules/acl_nfs4/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= acl_nfs4
SRCS= vnode_if.h subr_acl_nfs4.c
diff --git a/sys/modules/acl_posix1e/Makefile b/sys/modules/acl_posix1e/Makefile
index cb0c6e9..70d1b9d 100644
--- a/sys/modules/acl_posix1e/Makefile
+++ b/sys/modules/acl_posix1e/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= acl_posix1e
SRCS= vnode_if.h subr_acl_posix1e.c
diff --git a/sys/modules/acpi/acpi_asus/Makefile b/sys/modules/acpi/acpi_asus/Makefile
index 83672d7..3d5ec77 100644
--- a/sys/modules/acpi/acpi_asus/Makefile
+++ b/sys/modules/acpi/acpi_asus/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= acpi_asus
SRCS= acpi_asus.c opt_acpi.h acpi_if.h bus_if.h device_if.h
diff --git a/sys/modules/acpi/acpi_asus_wmi/Makefile b/sys/modules/acpi/acpi_asus_wmi/Makefile
index a5ff32a..d9fa647 100644
--- a/sys/modules/acpi/acpi_asus_wmi/Makefile
+++ b/sys/modules/acpi/acpi_asus_wmi/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= acpi_asus_wmi
-CFLAGS+=-I${.CURDIR}/../../../dev/acpi_support
+CFLAGS+=-I${SRCTOP}/sys/dev/acpi_support
SRCS= acpi_asus_wmi.c opt_acpi.h acpi_if.h acpi_wmi_if.h device_if.h bus_if.h
.include <bsd.kmod.mk>
diff --git a/sys/modules/acpi/acpi_dock/Makefile b/sys/modules/acpi/acpi_dock/Makefile
index efbb973..7bda6b9 100644
--- a/sys/modules/acpi/acpi_dock/Makefile
+++ b/sys/modules/acpi/acpi_dock/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpica
+.PATH: ${SRCTOP}/sys/dev/acpica
KMOD= acpi_dock
SRCS= acpi_dock.c opt_acpi.h device_if.h bus_if.h acpi_if.h
SRCS+= opt_ddb.h
diff --git a/sys/modules/acpi/acpi_fujitsu/Makefile b/sys/modules/acpi/acpi_fujitsu/Makefile
index b77a225..9c21c4b 100644
--- a/sys/modules/acpi/acpi_fujitsu/Makefile
+++ b/sys/modules/acpi/acpi_fujitsu/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= acpi_fujitsu
-CFLAGS+=-I${.CURDIR}/../../../dev/acpi_support
+CFLAGS+=-I${SRCTOP}/sys/dev/acpi_support
SRCS= acpi_fujitsu.c opt_acpi.h acpi_if.h device_if.h bus_if.h
.include <bsd.kmod.mk>
diff --git a/sys/modules/acpi/acpi_hp/Makefile b/sys/modules/acpi/acpi_hp/Makefile
index 306bebe..e927b92 100644
--- a/sys/modules/acpi/acpi_hp/Makefile
+++ b/sys/modules/acpi/acpi_hp/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= acpi_hp
-CFLAGS+=-I${.CURDIR}/../../../dev/acpi_support
+CFLAGS+=-I${SRCTOP}/sys/dev/acpi_support
SRCS= acpi_hp.c opt_acpi.h acpi_if.h acpi_wmi_if.h device_if.h bus_if.h
.include <bsd.kmod.mk>
diff --git a/sys/modules/acpi/acpi_ibm/Makefile b/sys/modules/acpi/acpi_ibm/Makefile
index caf0c2b..d653024 100644
--- a/sys/modules/acpi/acpi_ibm/Makefile
+++ b/sys/modules/acpi/acpi_ibm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= acpi_ibm
SRCS= acpi_ibm.c opt_acpi.h device_if.h bus_if.h acpi_if.h
SRCS+= opt_ddb.h
diff --git a/sys/modules/acpi/acpi_panasonic/Makefile b/sys/modules/acpi/acpi_panasonic/Makefile
index 36f8d77..e13a43c 100644
--- a/sys/modules/acpi/acpi_panasonic/Makefile
+++ b/sys/modules/acpi/acpi_panasonic/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= acpi_panasonic
SRCS= acpi_panasonic.c opt_acpi.h acpi_if.h bus_if.h device_if.h
diff --git a/sys/modules/acpi/acpi_rapidstart/Makefile b/sys/modules/acpi/acpi_rapidstart/Makefile
index 1619625..30e373b 100644
--- a/sys/modules/acpi/acpi_rapidstart/Makefile
+++ b/sys/modules/acpi/acpi_rapidstart/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= acpi_rapidstart
SRCS= acpi_rapidstart.c opt_acpi.h device_if.h bus_if.h acpi_if.h
diff --git a/sys/modules/acpi/acpi_sony/Makefile b/sys/modules/acpi/acpi_sony/Makefile
index 027afef..94bd85d 100644
--- a/sys/modules/acpi/acpi_sony/Makefile
+++ b/sys/modules/acpi/acpi_sony/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= acpi_sony
SRCS= acpi_sony.c opt_acpi.h device_if.h bus_if.h acpi_if.h
diff --git a/sys/modules/acpi/acpi_toshiba/Makefile b/sys/modules/acpi/acpi_toshiba/Makefile
index 1207015..7d65767 100644
--- a/sys/modules/acpi/acpi_toshiba/Makefile
+++ b/sys/modules/acpi/acpi_toshiba/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= acpi_toshiba
SRCS= acpi_toshiba.c opt_acpi.h acpi_if.h bus_if.h device_if.h
diff --git a/sys/modules/acpi/acpi_video/Makefile b/sys/modules/acpi/acpi_video/Makefile
index 67d3f08..8035981 100644
--- a/sys/modules/acpi/acpi_video/Makefile
+++ b/sys/modules/acpi/acpi_video/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpica
+.PATH: ${SRCTOP}/sys/dev/acpica
KMOD= acpi_video
SRCS= acpi_video.c
diff --git a/sys/modules/acpi/acpi_wmi/Makefile b/sys/modules/acpi/acpi_wmi/Makefile
index bdeefe3..0c03ffb 100644
--- a/sys/modules/acpi/acpi_wmi/Makefile
+++ b/sys/modules/acpi/acpi_wmi/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= acpi_wmi
-CFLAGS+=-I${.CURDIR}/../../../dev/acpi_support
+CFLAGS+=-I${SRCTOP}/sys/dev/acpi_support
SRCS= acpi_wmi.c opt_acpi.h acpi_if.h acpi_wmi_if.h device_if.h bus_if.h
.include <bsd.kmod.mk>
diff --git a/sys/modules/acpi/aibs/Makefile b/sys/modules/acpi/aibs/Makefile
index 5894fa8..dec7f39 100644
--- a/sys/modules/acpi/aibs/Makefile
+++ b/sys/modules/acpi/aibs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/acpi_support
+.PATH: ${SRCTOP}/sys/dev/acpi_support
KMOD= aibs
SRCS= atk0110.c
diff --git a/sys/modules/ae/Makefile b/sys/modules/ae/Makefile
index 4cd97a1..38ee90e 100644
--- a/sys/modules/ae/Makefile
+++ b/sys/modules/ae/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ae
+.PATH: ${SRCTOP}/sys/dev/ae
KMOD= if_ae
SRCS= if_ae.c device_if.h bus_if.h pci_if.h miibus_if.h
diff --git a/sys/modules/aesni/Makefile b/sys/modules/aesni/Makefile
index 97cbc5d..82f6d11 100644
--- a/sys/modules/aesni/Makefile
+++ b/sys/modules/aesni/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../crypto/aesni
+.PATH: ${SRCTOP}/sys/crypto/aesni
KMOD= aesni
SRCS= aesni.c
diff --git a/sys/modules/age/Makefile b/sys/modules/age/Makefile
index cfbf9cd..477b5b7 100644
--- a/sys/modules/age/Makefile
+++ b/sys/modules/age/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/age
+.PATH: ${SRCTOP}/sys/dev/age
KMOD= if_age
SRCS= if_age.c device_if.h bus_if.h pci_if.h miibus_if.h
diff --git a/sys/modules/agp/Makefile b/sys/modules/agp/Makefile
index bed6c29..383788f 100644
--- a/sys/modules/agp/Makefile
+++ b/sys/modules/agp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/agp
+.PATH: ${SRCTOP}/sys/dev/agp
KMOD= agp
SRCS= agp.c agp_if.c
diff --git a/sys/modules/aha/Makefile b/sys/modules/aha/Makefile
index 28bef14..2f1e175 100644
--- a/sys/modules/aha/Makefile
+++ b/sys/modules/aha/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/aha
+.PATH: ${SRCTOP}/sys/dev/aha
KMOD= aha
SRCS= aha.c aha_isa.c ahareg.h opt_cam.h device_if.h bus_if.h \
diff --git a/sys/modules/ahci/Makefile b/sys/modules/ahci/Makefile
index 5666870..ff919f5 100644
--- a/sys/modules/ahci/Makefile
+++ b/sys/modules/ahci/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ahci
+.PATH: ${SRCTOP}/sys/dev/ahci
KMOD= ahci
SRCS= ahci.c ahci_pci.c ahciem.c ahci.h device_if.h bus_if.h pci_if.h opt_cam.h
diff --git a/sys/modules/aic/Makefile b/sys/modules/aic/Makefile
index 860d9a8..1d186f5 100644
--- a/sys/modules/aic/Makefile
+++ b/sys/modules/aic/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/aic
+.PATH: ${SRCTOP}/sys/dev/aic
KMOD= aic
SRCS= aic.c aic_pccard.c
diff --git a/sys/modules/aic7xxx/ahc/Makefile b/sys/modules/aic7xxx/ahc/Makefile
index 432d3c0..1402ea5 100644
--- a/sys/modules/aic7xxx/ahc/Makefile
+++ b/sys/modules/aic7xxx/ahc/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
.PATH: ${SYSDIR}/dev/aic7xxx
diff --git a/sys/modules/aic7xxx/ahc/ahc_isa/Makefile b/sys/modules/aic7xxx/ahc/ahc_isa/Makefile
index f479a15..301e095 100644
--- a/sys/modules/aic7xxx/ahc/ahc_isa/Makefile
+++ b/sys/modules/aic7xxx/ahc/ahc_isa/Makefile
@@ -1,13 +1,13 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/aic7xxx
+.PATH: ${SRCTOP}/sys/dev/aic7xxx
KMOD= ahc_isa
SRCS= ahc_isa.c
SRCS+= device_if.h bus_if.h pci_if.h isa_if.h
SRCS+= opt_scsi.h opt_cam.h opt_aic7xxx.h
-CFLAGS+= -I${.CURDIR}/../../../../dev/aic7xxx -I..
+CFLAGS+= -I${SRCTOP}/sys/dev/aic7xxx -I..
.include <bsd.kmod.mk>
diff --git a/sys/modules/aic7xxx/ahc/ahc_pci/Makefile b/sys/modules/aic7xxx/ahc/ahc_pci/Makefile
index 729b566..7d59c86 100644
--- a/sys/modules/aic7xxx/ahc/ahc_pci/Makefile
+++ b/sys/modules/aic7xxx/ahc/ahc_pci/Makefile
@@ -1,14 +1,14 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/aic7xxx
+.PATH: ${SRCTOP}/sys/dev/aic7xxx
KMOD= ahc_pci
SRCS= ahc_pci.c aic7xxx_pci.c
SRCS+= device_if.h bus_if.h pci_if.h
SRCS+= opt_scsi.h opt_cam.h opt_aic7xxx.h
-CFLAGS+= -I${.CURDIR}/../../../../dev/aic7xxx -I..
+CFLAGS+= -I${SRCTOP}/sys/dev/aic7xxx -I..
.include <bsd.kmod.mk>
diff --git a/sys/modules/aic7xxx/ahd/Makefile b/sys/modules/aic7xxx/ahd/Makefile
index 44392a9..20da514 100644
--- a/sys/modules/aic7xxx/ahd/Makefile
+++ b/sys/modules/aic7xxx/ahd/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/aic7xxx
+.PATH: ${SRCTOP}/sys/dev/aic7xxx
KMOD= ahd
GENSRCS= aic79xx_seq.h aic79xx_reg.h
@@ -17,14 +17,14 @@ BEFORE_DEPEND= ${GENSRCS}
.if make(ahdfirmware)
ahdfirmware: ${GENSRCS}
${GENSRCS}: \
- ${.CURDIR}/../../../dev/aic7xxx/aic79xx.{reg,seq} \
- ${.CURDIR}/../../../cam/scsi/scsi_message.h
- aicasm ${INCLUDES} -I${.CURDIR}/../../../cam/scsi \
- -I${.CURDIR}/../../../dev/aic7xxx \
+ ${SRCTOP}/sys/dev/aic7xxx/aic79xx.{reg,seq} \
+ ${SRCTOP}/sys/cam/scsi/scsi_message.h
+ aicasm ${INCLUDES} -I${SRCTOP}/sys/cam/scsi \
+ -I${SRCTOP}/sys/dev/aic7xxx \
-o aic79xx_seq.h -r aic79xx_reg.h \
${REG_PRINT_OPT} \
- -i ${.CURDIR}/../../../dev/aic7xxx/aic79xx_osm.h \
- ${.CURDIR}/../../../dev/aic7xxx/aic79xx.seq
+ -i ${SRCTOP}/sys/dev/aic7xxx/aic79xx_osm.h \
+ ${SRCTOP}/sys/dev/aic7xxx/aic79xx.seq
.else
${GENSRCS}: .NOMETA
@echo "Error: ${.TARGET} is missing. Run 'make ahdfirmware'."
diff --git a/sys/modules/aic7xxx/aicasm/Makefile b/sys/modules/aic7xxx/aicasm/Makefile
index b1b2cf7..c5a7fc1 100644
--- a/sys/modules/aic7xxx/aicasm/Makefile
+++ b/sys/modules/aic7xxx/aicasm/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-MAKESRCPATH= ${.CURDIR}/../../../dev/aic7xxx/aicasm
+MAKESRCPATH= ${SRCTOP}/sys/dev/aic7xxx/aicasm
install:
-.include "${.CURDIR}/../../../dev/aic7xxx/aicasm/Makefile"
+.include "${SRCTOP}/sys/dev/aic7xxx/aicasm/Makefile"
build-tools: ${PROG}
diff --git a/sys/modules/alc/Makefile b/sys/modules/alc/Makefile
index 9f6d6fc..439788f 100644
--- a/sys/modules/alc/Makefile
+++ b/sys/modules/alc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/alc
+.PATH: ${SRCTOP}/sys/dev/alc
KMOD= if_alc
SRCS= if_alc.c device_if.h bus_if.h pci_if.h miibus_if.h
diff --git a/sys/modules/ale/Makefile b/sys/modules/ale/Makefile
index a647972..a7bacf4 100644
--- a/sys/modules/ale/Makefile
+++ b/sys/modules/ale/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ale
+.PATH: ${SRCTOP}/sys/dev/ale
KMOD= if_ale
SRCS= if_ale.c device_if.h bus_if.h pci_if.h miibus_if.h
diff --git a/sys/modules/alq/Makefile b/sys/modules/alq/Makefile
index 782c370..911eeca 100644
--- a/sys/modules/alq/Makefile
+++ b/sys/modules/alq/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= alq
SRCS= opt_mac.h vnode_if.h kern_alq.c
diff --git a/sys/modules/am335x_dmtpps/Makefile b/sys/modules/am335x_dmtpps/Makefile
index 3ca4945..607f88d 100644
--- a/sys/modules/am335x_dmtpps/Makefile
+++ b/sys/modules/am335x_dmtpps/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../arm/ti/am335x
+.PATH: ${SRCTOP}/sys/arm/ti/am335x
KMOD= am335x_dmtpps
SRCS= am335x_dmtpps.c
diff --git a/sys/modules/amd_ecc_inject/Makefile b/sys/modules/amd_ecc_inject/Makefile
index 56000ca..1e17eb3 100644
--- a/sys/modules/amd_ecc_inject/Makefile
+++ b/sys/modules/amd_ecc_inject/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/amd_ecc_inject
+.PATH: ${SRCTOP}/sys/dev/amd_ecc_inject
KMOD= amd_ecc_inject
SRCS= ecc_inject.c bus_if.h device_if.h pci_if.h
diff --git a/sys/modules/amdsbwd/Makefile b/sys/modules/amdsbwd/Makefile
index 56f9ab7..cf69fd0 100644
--- a/sys/modules/amdsbwd/Makefile
+++ b/sys/modules/amdsbwd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/amdsbwd
+.PATH: ${SRCTOP}/sys/dev/amdsbwd
KMOD = amdsbwd
SRCS = amdsbwd.c
SRCS += device_if.h bus_if.h pci_if.h isa_if.h
diff --git a/sys/modules/amdtemp/Makefile b/sys/modules/amdtemp/Makefile
index 1f7cff5..f7e5ac6 100644
--- a/sys/modules/amdtemp/Makefile
+++ b/sys/modules/amdtemp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/amdtemp
+.PATH: ${SRCTOP}/sys/dev/amdtemp
KMOD= amdtemp
SRCS= amdtemp.c bus_if.h device_if.h pci_if.h
diff --git a/sys/modules/amr/Makefile b/sys/modules/amr/Makefile
index 02de047..1ee2ece 100644
--- a/sys/modules/amr/Makefile
+++ b/sys/modules/amr/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/amr
+.PATH: ${SRCTOP}/sys/dev/amr
SUBDIR= amr_cam
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
diff --git a/sys/modules/amr/amr_cam/Makefile b/sys/modules/amr/amr_cam/Makefile
index b7aaee8..ab7da0a 100644
--- a/sys/modules/amr/amr_cam/Makefile
+++ b/sys/modules/amr/amr_cam/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/amr
+.PATH: ${SRCTOP}/sys/dev/amr
KMOD= amr_cam
SRCS= amr_cam.c device_if.h bus_if.h
diff --git a/sys/modules/amr/amr_linux/Makefile b/sys/modules/amr/amr_linux/Makefile
index 3df7eed5..b5cf493 100644
--- a/sys/modules/amr/amr_linux/Makefile
+++ b/sys/modules/amr/amr_linux/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/amr
+.PATH: ${SRCTOP}/sys/dev/amr
KMOD= amr_linux
SRCS= amr_linux.c device_if.h bus_if.h
diff --git a/sys/modules/an/Makefile b/sys/modules/an/Makefile
index 82c4421..41c7b2f 100644
--- a/sys/modules/an/Makefile
+++ b/sys/modules/an/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/an
+.PATH: ${SRCTOP}/sys/dev/an
KMOD= if_an
SRCS= if_an.c if_an_pccard.c if_an_pci.c if_an_isa.c
diff --git a/sys/modules/aout/Makefile b/sys/modules/aout/Makefile
index 203d9cf..3eb57c1 100644
--- a/sys/modules/aout/Makefile
+++ b/sys/modules/aout/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= aout
SRCS= imgact_aout.c \
diff --git a/sys/modules/apm/Makefile b/sys/modules/apm/Makefile
index 96703b1..0e29639 100644
--- a/sys/modules/apm/Makefile
+++ b/sys/modules/apm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../i386/bios
+.PATH: ${SRCTOP}/sys/i386/bios
.if ${MACHINE} == "pc98"
.PATH: ${.CURDIR}/../../pc98/apm
.endif
diff --git a/sys/modules/ar71xx/ar71xx_ehci/Makefile b/sys/modules/ar71xx/ar71xx_ehci/Makefile
index 96f3261..b99e24e 100644
--- a/sys/modules/ar71xx/ar71xx_ehci/Makefile
+++ b/sys/modules/ar71xx/ar71xx_ehci/Makefile
@@ -29,15 +29,15 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../mips/atheros/
+.PATH: ${SRCTOP}/sys/mips/atheros/
KMOD= ar71xx_ehci
SRCS= ar71xx_ehci.c
SRCS+= device_if.h bus_if.h usb_if.h opt_usb.h opt_bus.h
-.PATH: ${.CURDIR}/../../../dev/usb/controller/
+.PATH: ${SRCTOP}/sys/dev/usb/controller/
SRCS+= ehci.c
-CFLAGS+= -I. -I${.CURDIR}/../../../mips/atheros
+CFLAGS+= -I. -I${SRCTOP}/sys/mips/atheros
.include <bsd.kmod.mk>
diff --git a/sys/modules/ar71xx/ar71xx_ohci/Makefile b/sys/modules/ar71xx/ar71xx_ohci/Makefile
index 6fcee34..df30771 100644
--- a/sys/modules/ar71xx/ar71xx_ohci/Makefile
+++ b/sys/modules/ar71xx/ar71xx_ohci/Makefile
@@ -29,15 +29,15 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../mips/atheros/
+.PATH: ${SRCTOP}/sys/mips/atheros/
KMOD= ar71xx_ohci
SRCS= ar71xx_ohci.c
SRCS+= device_if.h bus_if.h usb_if.h opt_usb.h opt_bus.h
-CFLAGS+= -I. -I${.CURDIR}/../../../mips/atheros
+CFLAGS+= -I. -I${SRCTOP}/sys/mips/atheros
-.PATH: ${.CURDIR}/../../../dev/usb/controller/
+.PATH: ${SRCTOP}/sys/dev/usb/controller/
SRCS+= ohci.c
.include <bsd.kmod.mk>
diff --git a/sys/modules/arcmsr/Makefile b/sys/modules/arcmsr/Makefile
index 0a186f8..015adbb 100644
--- a/sys/modules/arcmsr/Makefile
+++ b/sys/modules/arcmsr/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/arcmsr
+.PATH: ${SRCTOP}/sys/dev/arcmsr
KMOD= arcmsr
SRCS= arcmsr.c
diff --git a/sys/modules/arcnet/Makefile b/sys/modules/arcnet/Makefile
index 2b2b465..1f62e63 100644
--- a/sys/modules/arcnet/Makefile
+++ b/sys/modules/arcnet/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= arcnet
SRCS= if_arcsubr.c
diff --git a/sys/modules/asmc/Makefile b/sys/modules/asmc/Makefile
index 0561fd5..36ab7c1 100644
--- a/sys/modules/asmc/Makefile
+++ b/sys/modules/asmc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/asmc
+.PATH: ${SRCTOP}/sys/dev/asmc
KMOD= asmc
SRCS= asmc.c opt_acpi.h opt_intr_filter.h acpi_if.h bus_if.h device_if.h
diff --git a/sys/modules/ata/atacard/Makefile b/sys/modules/ata/atacard/Makefile
index 412a164..2b58e37 100644
--- a/sys/modules/ata/atacard/Makefile
+++ b/sys/modules/ata/atacard/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ata
+.PATH: ${SRCTOP}/sys/dev/ata
KMOD= atacard
SRCS= ata-card.c
diff --git a/sys/modules/ata/atacore/Makefile b/sys/modules/ata/atacore/Makefile
index 4ee16cf..9ecd03e 100644
--- a/sys/modules/ata/atacore/Makefile
+++ b/sys/modules/ata/atacore/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ata
+.PATH: ${SRCTOP}/sys/dev/ata
KMOD= ata
SRCS= ata-all.c ata_if.c ata-lowlevel.c
diff --git a/sys/modules/ata/ataisa/Makefile b/sys/modules/ata/ataisa/Makefile
index 5c951c0..38b7828 100644
--- a/sys/modules/ata/ataisa/Makefile
+++ b/sys/modules/ata/ataisa/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ata
+.PATH: ${SRCTOP}/sys/dev/ata
KMOD= ataisa
SRCS= ata-isa.c
diff --git a/sys/modules/ata/atapci/Makefile b/sys/modules/ata/atapci/Makefile
index 0addeb3..5aaa265 100644
--- a/sys/modules/ata/atapci/Makefile
+++ b/sys/modules/ata/atapci/Makefile
@@ -2,7 +2,7 @@
SUBDIR += chipsets
-.PATH: ${.CURDIR}/../../../dev/ata
+.PATH: ${SRCTOP}/sys/dev/ata
KMOD= atapci
SRCS= ata-pci.c ata-dma.c ata-sata.c
diff --git a/sys/modules/ata/atapci/chipsets/ataacard/Makefile b/sys/modules/ata/atapci/chipsets/ataacard/Makefile
index a0e0389..99c4c36 100644
--- a/sys/modules/ata/atapci/chipsets/ataacard/Makefile
+++ b/sys/modules/ata/atapci/chipsets/ataacard/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= ataacard
SRCS= ata-acard.c
diff --git a/sys/modules/ata/atapci/chipsets/ataacerlabs/Makefile b/sys/modules/ata/atapci/chipsets/ataacerlabs/Makefile
index 6712f53..8684293 100644
--- a/sys/modules/ata/atapci/chipsets/ataacerlabs/Makefile
+++ b/sys/modules/ata/atapci/chipsets/ataacerlabs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= ataacerlabs
SRCS= ata-acerlabs.c
diff --git a/sys/modules/ata/atapci/chipsets/ataamd/Makefile b/sys/modules/ata/atapci/chipsets/ataamd/Makefile
index d6dedd5..96ed09d 100644
--- a/sys/modules/ata/atapci/chipsets/ataamd/Makefile
+++ b/sys/modules/ata/atapci/chipsets/ataamd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= ataamd
SRCS= ata-amd.c
diff --git a/sys/modules/ata/atapci/chipsets/ataati/Makefile b/sys/modules/ata/atapci/chipsets/ataati/Makefile
index 2f59398..f7d524b 100644
--- a/sys/modules/ata/atapci/chipsets/ataati/Makefile
+++ b/sys/modules/ata/atapci/chipsets/ataati/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= ataati
SRCS= ata-ati.c
diff --git a/sys/modules/ata/atapci/chipsets/atacenatek/Makefile b/sys/modules/ata/atapci/chipsets/atacenatek/Makefile
index 5986465..3360527 100644
--- a/sys/modules/ata/atapci/chipsets/atacenatek/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atacenatek/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atacenatek
SRCS= ata-cenatek.c
diff --git a/sys/modules/ata/atapci/chipsets/atacypress/Makefile b/sys/modules/ata/atapci/chipsets/atacypress/Makefile
index c3fe346..284b6fb 100644
--- a/sys/modules/ata/atapci/chipsets/atacypress/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atacypress/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atacypress
SRCS= ata-cypress.c
diff --git a/sys/modules/ata/atapci/chipsets/atacyrix/Makefile b/sys/modules/ata/atapci/chipsets/atacyrix/Makefile
index 92df121..fe9296e 100644
--- a/sys/modules/ata/atapci/chipsets/atacyrix/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atacyrix/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atacyrix
SRCS= ata-cyrix.c
diff --git a/sys/modules/ata/atapci/chipsets/atahighpoint/Makefile b/sys/modules/ata/atapci/chipsets/atahighpoint/Makefile
index 89a7d05..2ef5eab 100644
--- a/sys/modules/ata/atapci/chipsets/atahighpoint/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atahighpoint/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atahighpoint
SRCS= ata-highpoint.c
diff --git a/sys/modules/ata/atapci/chipsets/ataintel/Makefile b/sys/modules/ata/atapci/chipsets/ataintel/Makefile
index 93845d1..8ec8a91 100644
--- a/sys/modules/ata/atapci/chipsets/ataintel/Makefile
+++ b/sys/modules/ata/atapci/chipsets/ataintel/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= ataintel
SRCS= ata-intel.c
diff --git a/sys/modules/ata/atapci/chipsets/ataite/Makefile b/sys/modules/ata/atapci/chipsets/ataite/Makefile
index f8e596b..eabb064 100644
--- a/sys/modules/ata/atapci/chipsets/ataite/Makefile
+++ b/sys/modules/ata/atapci/chipsets/ataite/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= ataite
SRCS= ata-ite.c
diff --git a/sys/modules/ata/atapci/chipsets/atajmicron/Makefile b/sys/modules/ata/atapci/chipsets/atajmicron/Makefile
index 2f74305..ddc7529 100644
--- a/sys/modules/ata/atapci/chipsets/atajmicron/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atajmicron/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atajmicron
SRCS= ata-jmicron.c
diff --git a/sys/modules/ata/atapci/chipsets/atamarvell/Makefile b/sys/modules/ata/atapci/chipsets/atamarvell/Makefile
index 6d644493..0d77b3f 100644
--- a/sys/modules/ata/atapci/chipsets/atamarvell/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atamarvell/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atamarvell
SRCS= ata-marvell.c
diff --git a/sys/modules/ata/atapci/chipsets/atamicron/Makefile b/sys/modules/ata/atapci/chipsets/atamicron/Makefile
index 820cf91..2952a51 100644
--- a/sys/modules/ata/atapci/chipsets/atamicron/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atamicron/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atamicron
SRCS= ata-micron.c
diff --git a/sys/modules/ata/atapci/chipsets/atanational/Makefile b/sys/modules/ata/atapci/chipsets/atanational/Makefile
index 62a2dd6..a7a1ec8 100644
--- a/sys/modules/ata/atapci/chipsets/atanational/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atanational/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atanational
SRCS= ata-national.c
diff --git a/sys/modules/ata/atapci/chipsets/atanetcell/Makefile b/sys/modules/ata/atapci/chipsets/atanetcell/Makefile
index 357e4d5..64bd650 100644
--- a/sys/modules/ata/atapci/chipsets/atanetcell/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atanetcell/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atanetcell
SRCS= ata-netcell.c
diff --git a/sys/modules/ata/atapci/chipsets/atanvidia/Makefile b/sys/modules/ata/atapci/chipsets/atanvidia/Makefile
index f4b7b6f..4fd4437 100644
--- a/sys/modules/ata/atapci/chipsets/atanvidia/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atanvidia/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atanvidia
SRCS= ata-nvidia.c
diff --git a/sys/modules/ata/atapci/chipsets/atapromise/Makefile b/sys/modules/ata/atapci/chipsets/atapromise/Makefile
index d232725..a53ddba 100644
--- a/sys/modules/ata/atapci/chipsets/atapromise/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atapromise/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atapromise
SRCS= ata-promise.c
diff --git a/sys/modules/ata/atapci/chipsets/ataserverworks/Makefile b/sys/modules/ata/atapci/chipsets/ataserverworks/Makefile
index 19d7557..1f731ff 100644
--- a/sys/modules/ata/atapci/chipsets/ataserverworks/Makefile
+++ b/sys/modules/ata/atapci/chipsets/ataserverworks/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= ataserverworks
SRCS= ata-serverworks.c
diff --git a/sys/modules/ata/atapci/chipsets/atasiliconimage/Makefile b/sys/modules/ata/atapci/chipsets/atasiliconimage/Makefile
index 04c44cf..7e44778 100644
--- a/sys/modules/ata/atapci/chipsets/atasiliconimage/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atasiliconimage/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atasiliconimage
SRCS= ata-siliconimage.c
diff --git a/sys/modules/ata/atapci/chipsets/atasis/Makefile b/sys/modules/ata/atapci/chipsets/atasis/Makefile
index 65d7fa4..8e6b1cb 100644
--- a/sys/modules/ata/atapci/chipsets/atasis/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atasis/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atasis
SRCS= ata-sis.c
diff --git a/sys/modules/ata/atapci/chipsets/atavia/Makefile b/sys/modules/ata/atapci/chipsets/atavia/Makefile
index 271f2fb..75a1640 100644
--- a/sys/modules/ata/atapci/chipsets/atavia/Makefile
+++ b/sys/modules/ata/atapci/chipsets/atavia/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../../dev/ata/chipsets
+.PATH: ${SRCTOP}/sys/dev/ata/chipsets
KMOD= atavia
SRCS= ata-via.c
diff --git a/sys/modules/ath_ahb/Makefile b/sys/modules/ath_ahb/Makefile
index 9d31841..ad3316d 100644
--- a/sys/modules/ath_ahb/Makefile
+++ b/sys/modules/ath_ahb/Makefile
@@ -29,13 +29,13 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/ath
-.PATH: ${.CURDIR}/../../dev/ath/ath_hal
+.PATH: ${SRCTOP}/sys/dev/ath
+.PATH: ${SRCTOP}/sys/dev/ath/ath_hal
KMOD= if_ath_ahb
SRCS= if_ath_ahb.c
SRCS+= device_if.h bus_if.h opt_wlan.h opt_ath.h opt_ah.h
-CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal
+CFLAGS+= -I. -I${SRCTOP}/sys/dev/ath -I${SRCTOP}/sys/dev/ath/ath_hal
.include <bsd.kmod.mk>
diff --git a/sys/modules/ath_pci/Makefile b/sys/modules/ath_pci/Makefile
index 5f9e0a1..516d14e 100644
--- a/sys/modules/ath_pci/Makefile
+++ b/sys/modules/ath_pci/Makefile
@@ -29,13 +29,13 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/ath
-.PATH: ${.CURDIR}/../../dev/ath/ath_hal
+.PATH: ${SRCTOP}/sys/dev/ath
+.PATH: ${SRCTOP}/sys/dev/ath/ath_hal
KMOD= if_ath_pci
SRCS= if_ath_pci.c
SRCS+= device_if.h bus_if.h pci_if.h opt_wlan.h opt_ath.h opt_ah.h
-CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal
+CFLAGS+= -I. -I${SRCTOP}/sys/dev/ath -I${SRCTOP}/sys/dev/ath/ath_hal
.include <bsd.kmod.mk>
diff --git a/sys/modules/autofs/Makefile b/sys/modules/autofs/Makefile
index 5aaa892..e6e9353 100644
--- a/sys/modules/autofs/Makefile
+++ b/sys/modules/autofs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/autofs
+.PATH: ${SRCTOP}/sys/fs/autofs
KMOD= autofs
SRCS= vnode_if.h \
diff --git a/sys/modules/auxio/Makefile b/sys/modules/auxio/Makefile
index ead878c..f46f438 100644
--- a/sys/modules/auxio/Makefile
+++ b/sys/modules/auxio/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/auxio
+.PATH: ${SRCTOP}/sys/dev/auxio
KMOD= auxio
diff --git a/sys/modules/bce/Makefile b/sys/modules/bce/Makefile
index 1be2a3f..81940f2 100644
--- a/sys/modules/bce/Makefile
+++ b/sys/modules/bce/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/bce
+.PATH: ${SRCTOP}/sys/dev/bce
KMOD= if_bce
SRCS= opt_bce.h if_bce.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/bfe/Makefile b/sys/modules/bfe/Makefile
index 19413f7..a5748f3 100644
--- a/sys/modules/bfe/Makefile
+++ b/sys/modules/bfe/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/bfe
+.PATH: ${SRCTOP}/sys/dev/bfe
KMOD= if_bfe
SRCS= if_bfe.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/bge/Makefile b/sys/modules/bge/Makefile
index 9742e6b..53e3364 100644
--- a/sys/modules/bge/Makefile
+++ b/sys/modules/bge/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/bge
+.PATH: ${SRCTOP}/sys/dev/bge
KMOD= if_bge
SRCS= if_bge.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/bhnd/Makefile b/sys/modules/bhnd/Makefile
index b9678cbe..89d0a0a 100644
--- a/sys/modules/bhnd/Makefile
+++ b/sys/modules/bhnd/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/bhnd
-.PATH: ${.CURDIR}/../../dev/bhnd/nvram
+.PATH: ${SRCTOP}/sys/dev/bhnd
+.PATH: ${SRCTOP}/sys/dev/bhnd/nvram
KMOD= bhnd
SRCS= bhnd.c bhnd_subr.c \
diff --git a/sys/modules/bhnd/bcma/Makefile b/sys/modules/bhnd/bcma/Makefile
index 7071d85..ec08cfbf 100644
--- a/sys/modules/bhnd/bcma/Makefile
+++ b/sys/modules/bhnd/bcma/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/bhnd/bcma
+.PATH: ${SRCTOP}/sys/dev/bhnd/bcma
KMOD= bcma
SRCS= bcma.c bcma_subr.c bcma_erom.c
diff --git a/sys/modules/bhnd/bcma_bhndb/Makefile b/sys/modules/bhnd/bcma_bhndb/Makefile
index 372a7ed..1731128 100644
--- a/sys/modules/bhnd/bcma_bhndb/Makefile
+++ b/sys/modules/bhnd/bcma_bhndb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/bhnd/bcma
+.PATH: ${SRCTOP}/sys/dev/bhnd/bcma
KMOD= bcma_bhndb
SRCS= bcma_bhndb.c
diff --git a/sys/modules/bhnd/bhndb/Makefile b/sys/modules/bhnd/bhndb/Makefile
index 0535864..366a77d 100644
--- a/sys/modules/bhnd/bhndb/Makefile
+++ b/sys/modules/bhnd/bhndb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/bhnd/bhndb
+.PATH: ${SRCTOP}/sys/dev/bhnd/bhndb
KMOD= bhndb
SRCS= bhndb.c bhndb_subr.c bhndb_hwdata.c \
diff --git a/sys/modules/bhnd/bhndb_pci/Makefile b/sys/modules/bhnd/bhndb_pci/Makefile
index f10845a..9e4f181 100644
--- a/sys/modules/bhnd/bhndb_pci/Makefile
+++ b/sys/modules/bhnd/bhndb_pci/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/bhnd/bhndb
+.PATH: ${SRCTOP}/sys/dev/bhnd/bhndb
KMOD= bhndb_pci
SRCS= bhndb_pci.c bhndb_pci_hwdata.c \
diff --git a/sys/modules/bhnd/cores/bhnd_pci/Makefile b/sys/modules/bhnd/cores/bhnd_pci/Makefile
index fb6ce43..62bf96b 100644
--- a/sys/modules/bhnd/cores/bhnd_pci/Makefile
+++ b/sys/modules/bhnd/cores/bhnd_pci/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/bhnd/cores/pci
-.PATH: ${.CURDIR}/../../../../dev/bhnd/cores/pcie2
+.PATH: ${SRCTOP}/sys/dev/bhnd/cores/pci
+.PATH: ${SRCTOP}/sys/dev/bhnd/cores/pcie2
KMOD= bhnd_pci
SRCS= bhnd_pci.c bhnd_pcie2.c
diff --git a/sys/modules/bhnd/cores/bhnd_pci_hostb/Makefile b/sys/modules/bhnd/cores/bhnd_pci_hostb/Makefile
index bbfa7b2..03f20f6 100644
--- a/sys/modules/bhnd/cores/bhnd_pci_hostb/Makefile
+++ b/sys/modules/bhnd/cores/bhnd_pci_hostb/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/bhnd/cores/pci
-.PATH: ${.CURDIR}/../../../../dev/bhnd/cores/pcie2
+.PATH: ${SRCTOP}/sys/dev/bhnd/cores/pci
+.PATH: ${SRCTOP}/sys/dev/bhnd/cores/pcie2
KMOD= bhnd_pci_hostb
SRCS= bhnd_pci_hostb.c bhnd_pcie2_hostb.c
diff --git a/sys/modules/bhnd/cores/bhnd_pcib/Makefile b/sys/modules/bhnd/cores/bhnd_pcib/Makefile
index c9bb61d..be7b219 100644
--- a/sys/modules/bhnd/cores/bhnd_pcib/Makefile
+++ b/sys/modules/bhnd/cores/bhnd_pcib/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/bhnd/cores/pci
-.PATH: ${.CURDIR}/../../../../dev/bhnd/cores/pcie2
+.PATH: ${SRCTOP}/sys/dev/bhnd/cores/pci
+.PATH: ${SRCTOP}/sys/dev/bhnd/cores/pcie2
KMOD= bhnd_pcib
SRCS= bhnd_pcib.c bhnd_pcie2b.c
diff --git a/sys/modules/bhnd/siba/Makefile b/sys/modules/bhnd/siba/Makefile
index 8ace993..b58bc78 100644
--- a/sys/modules/bhnd/siba/Makefile
+++ b/sys/modules/bhnd/siba/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/bhnd/siba
+.PATH: ${SRCTOP}/sys/dev/bhnd/siba
KMOD= siba
SRCS= siba.c siba_subr.c
diff --git a/sys/modules/bhnd/siba_bhndb/Makefile b/sys/modules/bhnd/siba_bhndb/Makefile
index ba46a7f..33199fb 100644
--- a/sys/modules/bhnd/siba_bhndb/Makefile
+++ b/sys/modules/bhnd/siba_bhndb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/bhnd/siba
+.PATH: ${SRCTOP}/sys/dev/bhnd/siba
KMOD= siba_bhndb
SRCS= siba_bhndb.c
diff --git a/sys/modules/bios/smapi/Makefile b/sys/modules/bios/smapi/Makefile
index f55ab5a..c488491 100644
--- a/sys/modules/bios/smapi/Makefile
+++ b/sys/modules/bios/smapi/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../i386/bios
+.PATH: ${SRCTOP}/sys/i386/bios
KMOD= smapi
SRCS= smapi.c smapi_bios.S \
diff --git a/sys/modules/bios/smbios/Makefile b/sys/modules/bios/smbios/Makefile
index b7bdf48..ff8d22b 100644
--- a/sys/modules/bios/smbios/Makefile
+++ b/sys/modules/bios/smbios/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../x86/bios
+.PATH: ${SRCTOP}/sys/x86/bios
KMOD= smbios
SRCS= smbios.c \
diff --git a/sys/modules/bios/vpd/Makefile b/sys/modules/bios/vpd/Makefile
index 093ac81..86b9719 100644
--- a/sys/modules/bios/vpd/Makefile
+++ b/sys/modules/bios/vpd/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../x86/bios
+.PATH: ${SRCTOP}/sys/x86/bios
KMOD= vpd
SRCS= vpd.c \
diff --git a/sys/modules/bktr/bktr/Makefile b/sys/modules/bktr/bktr/Makefile
index 60e4a7c..4345abe 100644
--- a/sys/modules/bktr/bktr/Makefile
+++ b/sys/modules/bktr/bktr/Makefile
@@ -2,7 +2,7 @@
# Makefile for the bktr Brooktree Bt848/Bt878 PCI video capture device
-.PATH: ${.CURDIR}/../../../dev/bktr
+.PATH: ${SRCTOP}/sys/dev/bktr
KMOD= bktr
SRCS= bktr_core.c bktr_os.c bktr_audio.c bktr_tuner.c bktr_card.c msp34xx.c \
diff --git a/sys/modules/bktr/bktr_mem/Makefile b/sys/modules/bktr/bktr_mem/Makefile
index d5f6190..12c9cbd 100644
--- a/sys/modules/bktr/bktr_mem/Makefile
+++ b/sys/modules/bktr/bktr_mem/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/bktr
+.PATH: ${SRCTOP}/sys/dev/bktr
KMOD= bktr_mem
SRCS= bktr_mem.c
diff --git a/sys/modules/bm/Makefile b/sys/modules/bm/Makefile
index 30c5e86..65ac2ed 100644
--- a/sys/modules/bm/Makefile
+++ b/sys/modules/bm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/bm
+.PATH: ${SRCTOP}/sys/dev/bm
KMOD= if_bm
SRCS= if_bm.c
diff --git a/sys/modules/bnxt/Makefile b/sys/modules/bnxt/Makefile
index 1d478d1..861a0b4 100644
--- a/sys/modules/bnxt/Makefile
+++ b/sys/modules/bnxt/Makefile
@@ -1,6 +1,6 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../dev/bnxt
+.PATH: ${SRCTOP}/sys/dev/bnxt
KMOD = if_bnxt
SRCS = device_if.h bus_if.h pci_if.h pci_iov_if.h ifdi_if.h
diff --git a/sys/modules/bridgestp/Makefile b/sys/modules/bridgestp/Makefile
index 3cfc6e3..0bfd0ca 100644
--- a/sys/modules/bridgestp/Makefile
+++ b/sys/modules/bridgestp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= bridgestp
SRCS= bridgestp.c
diff --git a/sys/modules/bwi/Makefile b/sys/modules/bwi/Makefile
index 25f0022..c956f64 100644
--- a/sys/modules/bwi/Makefile
+++ b/sys/modules/bwi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/bwi
+.PATH: ${SRCTOP}/sys/dev/bwi
KMOD = if_bwi
diff --git a/sys/modules/bwn/Makefile b/sys/modules/bwn/Makefile
index 16e0f4f..3aa36ff 100644
--- a/sys/modules/bwn/Makefile
+++ b/sys/modules/bwn/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/bwn
+.PATH: ${SRCTOP}/sys/dev/bwn
KMOD= if_bwn
SRCS= if_bwn.c if_bwnreg.h if_bwnvar.h
@@ -18,7 +18,7 @@ SRCS+= device_if.h bus_if.h pci_if.h opt_bwn.h opt_wlan.h
# module be built with BWN_GPL_PHY set in the kernel
# configuration.
-#.PATH: ${.CURDIR}/../../gnu/dev/bwn/phy_n
+#.PATH: ${SRCTOP}/sys/gnu/dev/bwn/phy_n
#SRCS+= if_bwn_radio_2055.c
#SRCS+= if_bwn_radio_2056.c
#SRCS+= if_bwn_radio_2057.c
diff --git a/sys/modules/bwn_pci/Makefile b/sys/modules/bwn_pci/Makefile
index 15b9ded..cfdfda3 100644
--- a/sys/modules/bwn_pci/Makefile
+++ b/sys/modules/bwn_pci/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/bwn
+.PATH: ${SRCTOP}/sys/dev/bwn
KMOD= if_bwn_pci
SRCS= if_bwn_pci.c bwn_mac.c
diff --git a/sys/modules/bxe/Makefile b/sys/modules/bxe/Makefile
index b2e32f7..3470571 100644
--- a/sys/modules/bxe/Makefile
+++ b/sys/modules/bxe/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR ?= ${.CURDIR}/../..
+SYSDIR ?= ${SRCTOP}/sys
BXE = ${SYSDIR}/dev/bxe
.PATH: ${BXE}
diff --git a/sys/modules/bytgpio/Makefile b/sys/modules/bytgpio/Makefile
index 069241e..4a46f61 100644
--- a/sys/modules/bytgpio/Makefile
+++ b/sys/modules/bytgpio/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/gpio
+.PATH: ${SRCTOP}/sys/dev/gpio
KMOD= bytgpio
SRCS= bytgpio.c
SRCS+= acpi_if.h device_if.h bus_if.h gpio_if.h opt_acpi.h opt_platform.h
diff --git a/sys/modules/cam/Makefile b/sys/modules/cam/Makefile
index 577c710..4e04a93 100644
--- a/sys/modules/cam/Makefile
+++ b/sys/modules/cam/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-S= ${.CURDIR}/../..
+S= ${SRCTOP}/sys
.PATH: $S/cam $S/cam/scsi $S/cam/ata $S/${MACHINE}/${MACHINE}
diff --git a/sys/modules/cardbus/Makefile b/sys/modules/cardbus/Makefile
index ee65d3a..16c2659 100644
--- a/sys/modules/cardbus/Makefile
+++ b/sys/modules/cardbus/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/cardbus
+.PATH: ${SRCTOP}/sys/dev/cardbus
KMOD= cardbus
SRCS= cardbus.c cardbus_cis.c cardbus_device.c \
diff --git a/sys/modules/carp/Makefile b/sys/modules/carp/Makefile
index e1890d4..0526873 100644
--- a/sys/modules/carp/Makefile
+++ b/sys/modules/carp/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netinet
-.PATH: ${.CURDIR}/../../crypto
+.PATH: ${SRCTOP}/sys/netinet
+.PATH: ${SRCTOP}/sys/crypto
KMOD= carp
SRCS= ip_carp.c sha1.c
diff --git a/sys/modules/cas/Makefile b/sys/modules/cas/Makefile
index 0877c6c..2e6fcfb 100644
--- a/sys/modules/cas/Makefile
+++ b/sys/modules/cas/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/cas
+.PATH: ${SRCTOP}/sys/dev/cas
KMOD= if_cas
SRCS= bus_if.h device_if.h if_cas.c miibus_if.h pci_if.h ${ofw_bus_if}
diff --git a/sys/modules/cbb/Makefile b/sys/modules/cbb/Makefile
index 8b9e954..aa706e8 100644
--- a/sys/modules/cbb/Makefile
+++ b/sys/modules/cbb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/pccbb
+.PATH: ${SRCTOP}/sys/dev/pccbb
KMOD= cbb
SRCS= pccbb.c pccbb_isa.c pccbb_pci.c \
diff --git a/sys/modules/cc/cc_cdg/Makefile b/sys/modules/cc/cc_cdg/Makefile
index f61cb61..83a4887 100644
--- a/sys/modules/cc/cc_cdg/Makefile
+++ b/sys/modules/cc/cc_cdg/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../netinet/cc
+.PATH: ${SRCTOP}/sys/netinet/cc
KMOD= cc_cdg
SRCS= cc_cdg.c
diff --git a/sys/modules/cc/cc_chd/Makefile b/sys/modules/cc/cc_chd/Makefile
index b3881b8..db7e350 100644
--- a/sys/modules/cc/cc_chd/Makefile
+++ b/sys/modules/cc/cc_chd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../netinet/cc
+.PATH: ${SRCTOP}/sys/netinet/cc
KMOD= cc_chd
SRCS= cc_chd.c
diff --git a/sys/modules/cc/cc_cubic/Makefile b/sys/modules/cc/cc_cubic/Makefile
index e22d902..e56848c 100644
--- a/sys/modules/cc/cc_cubic/Makefile
+++ b/sys/modules/cc/cc_cubic/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../netinet/cc
+.PATH: ${SRCTOP}/sys/netinet/cc
KMOD= cc_cubic
SRCS= cc_cubic.c
diff --git a/sys/modules/cc/cc_dctcp/Makefile b/sys/modules/cc/cc_dctcp/Makefile
index 7ba6cf1..cb6cb06 100644
--- a/sys/modules/cc/cc_dctcp/Makefile
+++ b/sys/modules/cc/cc_dctcp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../netinet/cc
+.PATH: ${SRCTOP}/sys/netinet/cc
KMOD= cc_dctcp
SRCS= cc_dctcp.c
diff --git a/sys/modules/cc/cc_hd/Makefile b/sys/modules/cc/cc_hd/Makefile
index 3a2b041..49c0dfc 100644
--- a/sys/modules/cc/cc_hd/Makefile
+++ b/sys/modules/cc/cc_hd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../netinet/cc
+.PATH: ${SRCTOP}/sys/netinet/cc
KMOD= cc_hd
SRCS= cc_hd.c
diff --git a/sys/modules/cc/cc_htcp/Makefile b/sys/modules/cc/cc_htcp/Makefile
index 787a709..99f3f8f 100644
--- a/sys/modules/cc/cc_htcp/Makefile
+++ b/sys/modules/cc/cc_htcp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../netinet/cc
+.PATH: ${SRCTOP}/sys/netinet/cc
KMOD= cc_htcp
SRCS= cc_htcp.c
diff --git a/sys/modules/cc/cc_vegas/Makefile b/sys/modules/cc/cc_vegas/Makefile
index 731a80f..eda8ee6 100644
--- a/sys/modules/cc/cc_vegas/Makefile
+++ b/sys/modules/cc/cc_vegas/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../netinet/cc
+.PATH: ${SRCTOP}/sys/netinet/cc
KMOD= cc_vegas
SRCS= cc_vegas.c
diff --git a/sys/modules/cd9660/Makefile b/sys/modules/cd9660/Makefile
index 5fbc1b7..5036ef0 100644
--- a/sys/modules/cd9660/Makefile
+++ b/sys/modules/cd9660/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/cd9660
+.PATH: ${SRCTOP}/sys/fs/cd9660
KMOD= cd9660
SRCS= vnode_if.h \
diff --git a/sys/modules/cd9660_iconv/Makefile b/sys/modules/cd9660_iconv/Makefile
index 48ddb56..54c6f91 100644
--- a/sys/modules/cd9660_iconv/Makefile
+++ b/sys/modules/cd9660_iconv/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/cd9660
+.PATH: ${SRCTOP}/sys/fs/cd9660
KMOD= cd9660_iconv
SRCS= cd9660_iconv.c
diff --git a/sys/modules/ce/Makefile b/sys/modules/ce/Makefile
index 87d06b0..05dd0bc 100644
--- a/sys/modules/ce/Makefile
+++ b/sys/modules/ce/Makefile
@@ -1,7 +1,7 @@
# $Cronyx: sys.modules.ce.Makefile,v 1.2 2005/04/23 20:10:22 rik Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ce
+.PATH: ${SRCTOP}/sys/dev/ce
KMOD = if_ce
SRCS = if_ce.c ceddk.c tau32-ddk.c
SRCS += opt_bpf.h opt_netgraph.h opt_ng_cronyx.h device_if.h bus_if.h \
diff --git a/sys/modules/cfi/Makefile b/sys/modules/cfi/Makefile
index bb3fa5d..59ec4d6 100644
--- a/sys/modules/cfi/Makefile
+++ b/sys/modules/cfi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/cfi
+.PATH: ${SRCTOP}/sys/dev/cfi
KMOD= cfi
SRCS= ${_cfi_bus} cfi_core.c cfi_dev.c
diff --git a/sys/modules/cfiscsi/Makefile b/sys/modules/cfiscsi/Makefile
new file mode 100644
index 0000000..8dd4567
--- /dev/null
+++ b/sys/modules/cfiscsi/Makefile
@@ -0,0 +1,12 @@
+# $FreeBSD$
+
+.PATH: ${SRCTOP}/sys/cam/ctl
+
+KMOD= cfiscsi
+
+#CFLAGS+=-DICL_KERNEL_PROXY
+
+MFILES= dev/iscsi/icl_conn_if.m
+SRCS= ctl_frontend_iscsi.c icl_conn_if.h
+
+.include <bsd.kmod.mk>
diff --git a/sys/modules/chromebook_platform/Makefile b/sys/modules/chromebook_platform/Makefile
index 640c536..f21f202 100644
--- a/sys/modules/chromebook_platform/Makefile
+++ b/sys/modules/chromebook_platform/Makefile
@@ -1,7 +1,7 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../dev/chromebook_platform
-KMOD = chromebook_platform
-SRCS = chromebook_platform.c bus_if.h device_if.h pci_if.h
+.PATH: ${SRCTOP}/sys/dev/chromebook_platform
+KMOD= chromebook_platform
+SRCS= chromebook_platform.c bus_if.h device_if.h pci_if.h
.include <bsd.kmod.mk>
diff --git a/sys/modules/ciss/Makefile b/sys/modules/ciss/Makefile
index 2ea619c..9ab3276 100644
--- a/sys/modules/ciss/Makefile
+++ b/sys/modules/ciss/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
KMOD = ciss
-.PATH: ${.CURDIR}/../../dev/${KMOD}
+.PATH: ${SRCTOP}/sys/dev/${KMOD}
SRCS = ciss.c
SRCS += opt_scsi.h opt_cam.h
SRCS += device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/cloudabi/Makefile b/sys/modules/cloudabi/Makefile
index c608580..c32b7ba 100644
--- a/sys/modules/cloudabi/Makefile
+++ b/sys/modules/cloudabi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../compat/cloudabi
+.PATH: ${SRCTOP}/sys/compat/cloudabi
KMOD= cloudabi
SRCS= cloudabi_clock.c cloudabi_errno.c cloudabi_fd.c cloudabi_file.c \
diff --git a/sys/modules/cloudabi32/Makefile b/sys/modules/cloudabi32/Makefile
index 61e5142..42482e7 100644
--- a/sys/modules/cloudabi32/Makefile
+++ b/sys/modules/cloudabi32/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.PATH: ${SYSDIR}/compat/cloudabi32
.PATH: ${SYSDIR}/${MACHINE_CPUARCH}/cloudabi32
diff --git a/sys/modules/cloudabi64/Makefile b/sys/modules/cloudabi64/Makefile
index 1769854..4e23f0b 100644
--- a/sys/modules/cloudabi64/Makefile
+++ b/sys/modules/cloudabi64/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.PATH: ${SYSDIR}/compat/cloudabi64
.PATH: ${SYSDIR}/${MACHINE_CPUARCH}/cloudabi64
diff --git a/sys/modules/cm/Makefile b/sys/modules/cm/Makefile
index 3f2067b..911e71f 100644
--- a/sys/modules/cm/Makefile
+++ b/sys/modules/cm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/cm
+.PATH: ${SRCTOP}/sys/dev/cm
KMOD= if_cm
SRCS= smc90cx6.c if_cm_isa.c
diff --git a/sys/modules/cmx/Makefile b/sys/modules/cmx/Makefile
index 779a830..eea6658 100644
--- a/sys/modules/cmx/Makefile
+++ b/sys/modules/cmx/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/cmx
+.PATH: ${SRCTOP}/sys/dev/cmx
KMOD= cmx
SRCS= cmx.c cmxvar.h cmxreg.h \
diff --git a/sys/modules/coff/Makefile b/sys/modules/coff/Makefile
index 95956e5..5325a96 100644
--- a/sys/modules/coff/Makefile
+++ b/sys/modules/coff/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../i386/ibcs2
+.PATH: ${SRCTOP}/sys/i386/ibcs2
KMOD= ibcs2_coff
SRCS= imgact_coff.c vnode_if.h
diff --git a/sys/modules/coretemp/Makefile b/sys/modules/coretemp/Makefile
index dd540ba..504ece3 100644
--- a/sys/modules/coretemp/Makefile
+++ b/sys/modules/coretemp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/coretemp
+.PATH: ${SRCTOP}/sys/dev/coretemp
KMOD= coretemp
SRCS= coretemp.c bus_if.h device_if.h
diff --git a/sys/modules/cp/Makefile b/sys/modules/cp/Makefile
index 56be36c..5a83f10 100644
--- a/sys/modules/cp/Makefile
+++ b/sys/modules/cp/Makefile
@@ -1,7 +1,7 @@
# $Cronyx: sys.modules.cp.Makefile,v 1.1.2.3 2004/04/28 16:17:57 rik Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/cp
+.PATH: ${SRCTOP}/sys/dev/cp
KMOD = if_cp
SRCS = if_cp.c cpddk.c
SRCS += opt_netgraph.h opt_ng_cronyx.h device_if.h bus_if.h \
diff --git a/sys/modules/cpsw/Makefile b/sys/modules/cpsw/Makefile
index 508fb03..130a659 100644
--- a/sys/modules/cpsw/Makefile
+++ b/sys/modules/cpsw/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../arm/ti/cpsw
+.PATH: ${SRCTOP}/sys/arm/ti/cpsw
KMOD= if_cpsw
SRCS= if_cpsw.c device_if.h bus_if.h ofw_bus_if.h miibus_if.h
diff --git a/sys/modules/cpuctl/Makefile b/sys/modules/cpuctl/Makefile
index 74c76b9..d7f7e05 100644
--- a/sys/modules/cpuctl/Makefile
+++ b/sys/modules/cpuctl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/cpuctl
+.PATH: ${SRCTOP}/sys/dev/cpuctl
KMOD= cpuctl
SRCS= cpuctl.c
diff --git a/sys/modules/cpufreq/Makefile b/sys/modules/cpufreq/Makefile
index 26fea83..e9fae04 100644
--- a/sys/modules/cpufreq/Makefile
+++ b/sys/modules/cpufreq/Makefile
@@ -1,14 +1,14 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/cpufreq \
- ${.CURDIR}/../../${MACHINE_CPUARCH}/cpufreq
+.PATH: ${SRCTOP}/sys/dev/cpufreq \
+ ${SRCTOP}/sys/${MACHINE_CPUARCH}/cpufreq
KMOD= cpufreq
SRCS= ichss.c
SRCS+= bus_if.h cpufreq_if.h device_if.h pci_if.h
.if ${MACHINE} == "i386" || ${MACHINE} == "amd64"
-.PATH: ${.CURDIR}/../../x86/cpufreq
+.PATH: ${SRCTOP}/sys/x86/cpufreq
SRCS+= acpi_if.h opt_acpi.h
SRCS+= est.c hwpstate.c p4tcc.c powernow.c
@@ -19,7 +19,7 @@ SRCS+= smist.c
.endif
.if ${MACHINE} == "powerpc"
-.PATH: ${.CURDIR}/../../powerpc/cpufreq
+.PATH: ${SRCTOP}/sys/powerpc/cpufreq
SRCS+= dfs.c
.endif
diff --git a/sys/modules/crypto/Makefile b/sys/modules/crypto/Makefile
index 35e533b..a06d7da 100644
--- a/sys/modules/crypto/Makefile
+++ b/sys/modules/crypto/Makefile
@@ -1,14 +1,14 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../opencrypto
-.PATH: ${.CURDIR}/../../crypto
-.PATH: ${.CURDIR}/../../crypto/blowfish
-.PATH: ${.CURDIR}/../../crypto/camellia
-.PATH: ${.CURDIR}/../../crypto/des
-.PATH: ${.CURDIR}/../../crypto/rijndael
-.PATH: ${.CURDIR}/../../crypto/sha2
-.PATH: ${.CURDIR}/../../crypto/siphash
-.PATH: ${.CURDIR}/../../crypto/skein
+.PATH: ${SRCTOP}/sys/opencrypto
+.PATH: ${SRCTOP}/sys/crypto
+.PATH: ${SRCTOP}/sys/crypto/blowfish
+.PATH: ${SRCTOP}/sys/crypto/camellia
+.PATH: ${SRCTOP}/sys/crypto/des
+.PATH: ${SRCTOP}/sys/crypto/rijndael
+.PATH: ${SRCTOP}/sys/crypto/sha2
+.PATH: ${SRCTOP}/sys/crypto/siphash
+.PATH: ${SRCTOP}/sys/crypto/skein
KMOD = crypto
SRCS = crypto.c cryptodev_if.c
@@ -20,7 +20,7 @@ SRCS += des_ecb.c des_enc.c des_setkey.c
SRCS += sha1.c sha256c.c sha512c.c
SRCS += skein.c skein_block.c
.if exists(${MACHINE_ARCH}/skein_block_asm.s)
-.PATH: ${.CURDIR}/../../crypto/skein/${MACHINE_ARCH}
+.PATH: ${SRCTOP}/sys/crypto/skein/${MACHINE_ARCH}
SRCS += skein_block_asm.s
CFLAGS += -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to replace with assembly: 256+512+1024 = 1792
ACFLAGS += -DELF -Wa,--noexecstack
diff --git a/sys/modules/cryptodev/Makefile b/sys/modules/cryptodev/Makefile
index a82517d..7497772 100644
--- a/sys/modules/cryptodev/Makefile
+++ b/sys/modules/cryptodev/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../opencrypto
+.PATH: ${SRCTOP}/sys/opencrypto
KMOD = cryptodev
SRCS = cryptodev.c
SRCS += bus_if.h device_if.h opt_compat.h
diff --git a/sys/modules/cs/Makefile b/sys/modules/cs/Makefile
index 39da530..d457128 100644
--- a/sys/modules/cs/Makefile
+++ b/sys/modules/cs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/cs
+.PATH: ${SRCTOP}/sys/dev/cs
KMOD= if_cs
SRCS= if_cs.c if_cs_isa.c if_cs_pccard.c
diff --git a/sys/modules/ctau/Makefile b/sys/modules/ctau/Makefile
index 9d3d9c5..065d16e 100644
--- a/sys/modules/ctau/Makefile
+++ b/sys/modules/ctau/Makefile
@@ -1,6 +1,6 @@
# Cronyx Id: sys.modules.ct.Makefile,v 1.1.2.2 2003/12/08 15:39:01 rik Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ctau
+.PATH: ${SRCTOP}/sys/dev/ctau
KMOD= if_ct
SRCS= if_ct.c ctddk.c ctau.c opt_netgraph.h opt_ng_cronyx.h \
device_if.h bus_if.h isa_if.h
diff --git a/sys/modules/ctl/Makefile b/sys/modules/ctl/Makefile
index c9be22b..49ba041 100644
--- a/sys/modules/ctl/Makefile
+++ b/sys/modules/ctl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../cam/ctl
+.PATH: ${SRCTOP}/sys/cam/ctl
KMOD= ctl
@@ -12,7 +12,6 @@ SRCS+= ctl_cmd_table.c
SRCS+= ctl_frontend.c
SRCS+= ctl_frontend_cam_sim.c
SRCS+= ctl_frontend_ioctl.c
-SRCS+= ctl_frontend_iscsi.c
SRCS+= ctl_ha.c
SRCS+= ctl_scsi_all.c
SRCS+= ctl_tpc.c
@@ -23,11 +22,10 @@ SRCS+= scsi_ctl.c
SRCS+= bus_if.h
SRCS+= device_if.h
SRCS+= vnode_if.h
-SRCS+= icl_conn_if.h
SRCS+= opt_cam.h
#CFLAGS+=-DICL_KERNEL_PROXY
-MFILES= kern/bus_if.m kern/device_if.m dev/iscsi/icl_conn_if.m
+MFILES= kern/bus_if.m kern/device_if.m
.include <bsd.kmod.mk>
diff --git a/sys/modules/cuse/Makefile b/sys/modules/cuse/Makefile
index 049eb7e..cefd1e0 100644
--- a/sys/modules/cuse/Makefile
+++ b/sys/modules/cuse/Makefile
@@ -24,7 +24,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../fs/cuse
+.PATH: ${SRCTOP}/sys/fs/cuse
KMOD= cuse
SRCS= cuse.c device_if.h bus_if.h vnode_if.h opt_compat.h
diff --git a/sys/modules/cx/Makefile b/sys/modules/cx/Makefile
index 9379370..87147e33 100644
--- a/sys/modules/cx/Makefile
+++ b/sys/modules/cx/Makefile
@@ -1,7 +1,7 @@
# Cronyx Id: sys.modules.cx.Makefile,v 1.1.2.2 2003/01/21 15:15:49 rik Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/cx
+.PATH: ${SRCTOP}/sys/dev/cx
KMOD= if_cx
SRCS= if_cx.c cxddk.c csigma.c opt_netgraph.h opt_ng_cronyx.h \
device_if.h bus_if.h isa_if.h
diff --git a/sys/modules/cxgb/Makefile b/sys/modules/cxgb/Makefile
index 8a6bb33..f286b79 100644
--- a/sys/modules/cxgb/Makefile
+++ b/sys/modules/cxgb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
SUBDIR= cxgb
diff --git a/sys/modules/cxgb/cxgb/Makefile b/sys/modules/cxgb/cxgb/Makefile
index 911f2bb..a67cfda 100644
--- a/sys/modules/cxgb/cxgb/Makefile
+++ b/sys/modules/cxgb/cxgb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-CXGB = ${.CURDIR}/../../../dev/cxgb
+CXGB = ${SRCTOP}/sys/dev/cxgb
.PATH: ${CXGB} ${CXGB}/common ${CXGB}/sys
KMOD= if_cxgb
diff --git a/sys/modules/cxgb/cxgb_t3fw/Makefile b/sys/modules/cxgb/cxgb_t3fw/Makefile
index 0d2f363..46fd3fe 100644
--- a/sys/modules/cxgb/cxgb_t3fw/Makefile
+++ b/sys/modules/cxgb/cxgb_t3fw/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-CXGB = ${.CURDIR}/../../../dev/cxgb
+CXGB = ${SRCTOP}/sys/dev/cxgb
.PATH: ${CXGB}
KMOD= cxgb_t3fw
diff --git a/sys/modules/cxgb/iw_cxgb/Makefile b/sys/modules/cxgb/iw_cxgb/Makefile
index 57a7c60..fc95ec4 100644
--- a/sys/modules/cxgb/iw_cxgb/Makefile
+++ b/sys/modules/cxgb/iw_cxgb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-CXGB = ${.CURDIR}/../../../dev/cxgb
+CXGB = ${SRCTOP}/sys/dev/cxgb
.PATH: ${CXGB}/ulp/iw_cxgb
KMOD= iw_cxgb
@@ -9,7 +9,7 @@ SRCS+= iw_cxgb_provider.c iw_cxgb_qp.c iw_cxgb_resource.c
SRCS+= iw_cxgb_ev.c iw_cxgb_mem.c iw_cxgb_dbg.c iw_cxgb_cq.c
SRCS+= bus_if.h device_if.h opt_sched.h pci_if.h pcib_if.h opt_ktr.h
SRCS+= opt_inet.h opt_ofed.h vnode_if.h
-CFLAGS+= -I${CXGB} -I${.CURDIR}/../../../ofed/include -DLINUX_TYPES_DEFINED
-CFLAGS+= -I${.CURDIR}/../../../compat/linuxkpi/common/include
+CFLAGS+= -I${CXGB} -I${SRCTOP}/sys/ofed/include -DLINUX_TYPES_DEFINED
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
.include <bsd.kmod.mk>
diff --git a/sys/modules/cxgb/tom/Makefile b/sys/modules/cxgb/tom/Makefile
index 0316cce..fdf12e7 100644
--- a/sys/modules/cxgb/tom/Makefile
+++ b/sys/modules/cxgb/tom/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-CXGB = ${.CURDIR}/../../../dev/cxgb
+CXGB = ${SRCTOP}/sys/dev/cxgb
.PATH: ${CXGB}/ulp/tom
KMOD= t3_tom
diff --git a/sys/modules/cxgbe/Makefile b/sys/modules/cxgbe/Makefile
index c36ef2a6..434be3b 100644
--- a/sys/modules/cxgbe/Makefile
+++ b/sys/modules/cxgbe/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
SUBDIR= if_cxgbe
diff --git a/sys/modules/cxgbe/cxgbei/Makefile b/sys/modules/cxgbe/cxgbei/Makefile
index 898cc3f..af0db75 100644
--- a/sys/modules/cxgbe/cxgbei/Makefile
+++ b/sys/modules/cxgbe/cxgbei/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-CXGBE = ${.CURDIR}/../../../dev/cxgbe
+CXGBE = ${SRCTOP}/sys/dev/cxgbe
.PATH: ${CXGBE}/cxgbei
KMOD= cxgbei
diff --git a/sys/modules/cxgbe/if_cc/Makefile b/sys/modules/cxgbe/if_cc/Makefile
index f81d174..f7cc10d 100644
--- a/sys/modules/cxgbe/if_cc/Makefile
+++ b/sys/modules/cxgbe/if_cc/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-CXGBE= ${.CURDIR}/../../../dev/cxgbe
+CXGBE= ${SRCTOP}/sys/dev/cxgbe
.PATH: ${CXGBE}
KMOD= if_cc
diff --git a/sys/modules/cxgbe/if_ccv/Makefile b/sys/modules/cxgbe/if_ccv/Makefile
index 0fcc03c4b..70700fc 100644
--- a/sys/modules/cxgbe/if_ccv/Makefile
+++ b/sys/modules/cxgbe/if_ccv/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-CXGBE= ${.CURDIR}/../../../dev/cxgbe
+CXGBE= ${SRCTOP}/sys/dev/cxgbe
.PATH: ${CXGBE}
KMOD= if_ccv
diff --git a/sys/modules/cxgbe/if_cxgbe/Makefile b/sys/modules/cxgbe/if_cxgbe/Makefile
index a86b145..61f9e00 100644
--- a/sys/modules/cxgbe/if_cxgbe/Makefile
+++ b/sys/modules/cxgbe/if_cxgbe/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-CXGBE= ${.CURDIR}/../../../dev/cxgbe
+CXGBE= ${SRCTOP}/sys/dev/cxgbe
.PATH: ${CXGBE} ${CXGBE}/common
KMOD= if_cxgbe
@@ -21,6 +21,7 @@ SRCS+= t4_l2t.c
SRCS+= t4_main.c
SRCS+= t4_mp_ring.c
SRCS+= t4_netmap.c
+SRCS+= t4_sched.c
SRCS+= t4_sge.c
SRCS+= t4_tracer.c
diff --git a/sys/modules/cxgbe/if_cxgbev/Makefile b/sys/modules/cxgbe/if_cxgbev/Makefile
index 9c72a7a..4a66572 100644
--- a/sys/modules/cxgbe/if_cxgbev/Makefile
+++ b/sys/modules/cxgbe/if_cxgbev/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-CXGBE= ${.CURDIR}/../../../dev/cxgbe
+CXGBE= ${SRCTOP}/sys/dev/cxgbe
.PATH: ${CXGBE} ${CXGBE}/common
KMOD= if_cxgbev
diff --git a/sys/modules/cxgbe/if_cxl/Makefile b/sys/modules/cxgbe/if_cxl/Makefile
index ec4ff1e..f18cec1 100644
--- a/sys/modules/cxgbe/if_cxl/Makefile
+++ b/sys/modules/cxgbe/if_cxl/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-CXGBE= ${.CURDIR}/../../../dev/cxgbe
+CXGBE= ${SRCTOP}/sys/dev/cxgbe
.PATH: ${CXGBE}
KMOD= if_cxl
diff --git a/sys/modules/cxgbe/if_cxlv/Makefile b/sys/modules/cxgbe/if_cxlv/Makefile
index 943ea58..ab69c0b 100644
--- a/sys/modules/cxgbe/if_cxlv/Makefile
+++ b/sys/modules/cxgbe/if_cxlv/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-CXGBE= ${.CURDIR}/../../../dev/cxgbe
+CXGBE= ${SRCTOP}/sys/dev/cxgbe
.PATH: ${CXGBE}
KMOD= if_cxlv
diff --git a/sys/modules/cxgbe/iw_cxgbe/Makefile b/sys/modules/cxgbe/iw_cxgbe/Makefile
index d4c041f..b07fe1b 100644
--- a/sys/modules/cxgbe/iw_cxgbe/Makefile
+++ b/sys/modules/cxgbe/iw_cxgbe/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-CXGBE= ${.CURDIR}/../../../dev/cxgbe
+CXGBE= ${SRCTOP}/sys/dev/cxgbe
.PATH: ${CXGBE}/iw_cxgbe
KMOD= iw_cxgbe
@@ -23,7 +23,7 @@ SRCS+= qp.c
SRCS+= resource.c
SRCS+= vnode_if.h
-CFLAGS+= -I${CXGBE} -I${.CURDIR}/../../../ofed/include -DLINUX_TYPES_DEFINED
-CFLAGS+= -I${.CURDIR}/../../../compat/linuxkpi/common/include
+CFLAGS+= -I${CXGBE} -I${SRCTOP}/sys/ofed/include -DLINUX_TYPES_DEFINED
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
.include <bsd.kmod.mk>
diff --git a/sys/modules/cxgbe/t4_firmware/Makefile b/sys/modules/cxgbe/t4_firmware/Makefile
index 3fecead..9725893 100644
--- a/sys/modules/cxgbe/t4_firmware/Makefile
+++ b/sys/modules/cxgbe/t4_firmware/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-T4FW= ${.CURDIR}/../../../dev/cxgbe/firmware
+T4FW= ${SRCTOP}/sys/dev/cxgbe/firmware
.PATH: ${T4FW}
KMOD= t4fw_cfg
@@ -17,7 +17,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0
.endif
.endfor
-T4FW_VER= 1.16.26.0
+T4FW_VER= 1.16.45.0
FIRMWS+= t4fw.fw:t4fw:${T4FW_VER}
CLEANFILES+= t4fw.fw
diff --git a/sys/modules/cxgbe/t5_firmware/Makefile b/sys/modules/cxgbe/t5_firmware/Makefile
index 2419a19..aa60dc2 100644
--- a/sys/modules/cxgbe/t5_firmware/Makefile
+++ b/sys/modules/cxgbe/t5_firmware/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-T5FW= ${.CURDIR}/../../../dev/cxgbe/firmware
+T5FW= ${SRCTOP}/sys/dev/cxgbe/firmware
.PATH: ${T5FW}
KMOD= t5fw_cfg
@@ -17,7 +17,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0
.endif
.endfor
-T5FW_VER= 1.16.26.0
+T5FW_VER= 1.16.45.0
FIRMWS+= t5fw.fw:t5fw:${T5FW_VER}
CLEANFILES+= t5fw.fw
diff --git a/sys/modules/cxgbe/t6_firmware/Makefile b/sys/modules/cxgbe/t6_firmware/Makefile
index 9bdde07..1b37c39 100644
--- a/sys/modules/cxgbe/t6_firmware/Makefile
+++ b/sys/modules/cxgbe/t6_firmware/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-T6FW= ${.CURDIR}/../../../dev/cxgbe/firmware
+T6FW= ${SRCTOP}/sys/dev/cxgbe/firmware
.PATH: ${T6FW}
KMOD= t6fw_cfg
@@ -17,7 +17,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0
.endif
.endfor
-T6FW_VER= 1.16.26.0
+T6FW_VER= 1.16.45.0
FIRMWS+= t6fw.fw:t6fw:${T6FW_VER}
CLEANFILES+= t6fw.fw
diff --git a/sys/modules/cxgbe/tom/Makefile b/sys/modules/cxgbe/tom/Makefile
index 5f460e0..96daf2c 100644
--- a/sys/modules/cxgbe/tom/Makefile
+++ b/sys/modules/cxgbe/tom/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-CXGBE= ${.CURDIR}/../../../dev/cxgbe
+CXGBE= ${SRCTOP}/sys/dev/cxgbe
.PATH: ${CXGBE}/tom
KMOD= t4_tom
diff --git a/sys/modules/dc/Makefile b/sys/modules/dc/Makefile
index d0a5abb..c692532 100644
--- a/sys/modules/dc/Makefile
+++ b/sys/modules/dc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/dc
+.PATH: ${SRCTOP}/sys/dev/dc
KMOD= if_dc
SRCS= if_dc.c dcphy.c pnphy.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/dcons/Makefile b/sys/modules/dcons/Makefile
index 4a08b65..be27ee2 100644
--- a/sys/modules/dcons/Makefile
+++ b/sys/modules/dcons/Makefile
@@ -1,7 +1,7 @@
# $Id: Makefile,v 1.6 2003/10/24 15:41:26 simokawa Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/dcons
+.PATH: ${SRCTOP}/sys/dev/dcons
KMOD = dcons
SRCS = dcons.c dcons.h dcons_os.c dcons_os.h \
@@ -15,6 +15,6 @@ opt_ddb.h:
echo "#define DDB 1" > $@
.endif
-CFLAGS+= -I${.CURDIR}/../..
+CFLAGS+= -I${SRCTOP}/sys
.include <bsd.kmod.mk>
diff --git a/sys/modules/dcons_crom/Makefile b/sys/modules/dcons_crom/Makefile
index 258bead..b5ac604 100644
--- a/sys/modules/dcons_crom/Makefile
+++ b/sys/modules/dcons_crom/Makefile
@@ -1,7 +1,7 @@
# $Id: Makefile,v 1.6 2003/10/24 15:43:24 simokawa Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/dcons
+.PATH: ${SRCTOP}/sys/dev/dcons
KMOD = dcons_crom
SRCS = dcons_crom.c dcons.h dcons_os.h \
@@ -9,6 +9,6 @@ SRCS = dcons_crom.c dcons.h dcons_os.h \
#KMODDEPS = firewire dcons
-CFLAGS+= -I${.CURDIR}/../..
+CFLAGS+= -I${SRCTOP}/sys
.include <bsd.kmod.mk>
diff --git a/sys/modules/de/Makefile b/sys/modules/de/Makefile
index 6af4c7a..3837323 100644
--- a/sys/modules/de/Makefile
+++ b/sys/modules/de/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/de
+.PATH: ${SRCTOP}/sys/dev/de
KMOD= if_de
SRCS= if_de.c opt_ddb.h device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/dpms/Makefile b/sys/modules/dpms/Makefile
index 4eabf14..0e84f8d 100644
--- a/sys/modules/dpms/Makefile
+++ b/sys/modules/dpms/Makefile
@@ -3,7 +3,7 @@
KMOD= dpms
SRCS= bus_if.h device_if.h pci_if.h
-.PATH: ${.CURDIR}/../../dev/dpms
+.PATH: ${SRCTOP}/sys/dev/dpms
SRCS+= dpms.c
.include <bsd.kmod.mk>
diff --git a/sys/modules/dpt/Makefile b/sys/modules/dpt/Makefile
index ee588ad..32a9aa5 100644
--- a/sys/modules/dpt/Makefile
+++ b/sys/modules/dpt/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
.PATH: ${SYSDIR}/dev/dpt
diff --git a/sys/modules/drm/Makefile b/sys/modules/drm/Makefile
index 2114f54..e217dec 100644
--- a/sys/modules/drm/Makefile
+++ b/sys/modules/drm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
# Modules that include binary-only blobs of microcode should be selectable by
diff --git a/sys/modules/drm/drm/Makefile b/sys/modules/drm/drm/Makefile
index 9381866..41e8a6f 100644
--- a/sys/modules/drm/drm/Makefile
+++ b/sys/modules/drm/drm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm
+.PATH: ${SRCTOP}/sys/dev/drm
KMOD = drm
SRCS = \
ati_pcigart.c \
diff --git a/sys/modules/drm/i915/Makefile b/sys/modules/drm/i915/Makefile
index b64539e..8daa669 100644
--- a/sys/modules/drm/i915/Makefile
+++ b/sys/modules/drm/i915/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm
+.PATH: ${SRCTOP}/sys/dev/drm
KMOD = i915
SRCS = i915_dma.c i915_drv.c i915_irq.c i915_mem.c i915_suspend.c
SRCS +=device_if.h bus_if.h pci_if.h opt_drm.h
diff --git a/sys/modules/drm/mach64/Makefile b/sys/modules/drm/mach64/Makefile
index 4d5069c..e2d229b 100644
--- a/sys/modules/drm/mach64/Makefile
+++ b/sys/modules/drm/mach64/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm
+.PATH: ${SRCTOP}/sys/dev/drm
KMOD = mach64
SRCS = mach64_dma.c mach64_drv.c mach64_irq.c mach64_state.c
SRCS +=device_if.h bus_if.h pci_if.h opt_drm.h
diff --git a/sys/modules/drm/mga/Makefile b/sys/modules/drm/mga/Makefile
index d88d12c..20a8499 100644
--- a/sys/modules/drm/mga/Makefile
+++ b/sys/modules/drm/mga/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm
+.PATH: ${SRCTOP}/sys/dev/drm
KMOD = mga
SRCS = mga_drv.c mga_state.c mga_warp.c mga_dma.c \
mga_irq.c
diff --git a/sys/modules/drm/r128/Makefile b/sys/modules/drm/r128/Makefile
index 6882c3d..a51ed0d 100644
--- a/sys/modules/drm/r128/Makefile
+++ b/sys/modules/drm/r128/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm
+.PATH: ${SRCTOP}/sys/dev/drm
KMOD = r128
SRCS = r128_cce.c r128_drv.c r128_irq.c r128_state.c
SRCS +=device_if.h bus_if.h pci_if.h opt_drm.h
diff --git a/sys/modules/drm/radeon/Makefile b/sys/modules/drm/radeon/Makefile
index e24875a..388718a 100644
--- a/sys/modules/drm/radeon/Makefile
+++ b/sys/modules/drm/radeon/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm
+.PATH: ${SRCTOP}/sys/dev/drm
KMOD = radeon
SRCS = r300_cmdbuf.c r600_blit.c r600_cp.c radeon_cp.c radeon_cs.c \
radeon_drv.c radeon_irq.c radeon_mem.c radeon_state.c
diff --git a/sys/modules/drm/savage/Makefile b/sys/modules/drm/savage/Makefile
index f1c9b42..f2142a8 100644
--- a/sys/modules/drm/savage/Makefile
+++ b/sys/modules/drm/savage/Makefile
@@ -1,8 +1,8 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm
+.PATH: ${SRCTOP}/sys/dev/drm
KMOD= savage
-CFLAGS += -I${.CURDIR}/../../../dev/drm
+CFLAGS += -I${SRCTOP}/sys/dev/drm
SRCS= savage_bci.c savage_drv.c savage_state.c
SRCS+= device_if.h bus_if.h pci_if.h opt_drm.h
diff --git a/sys/modules/drm/sis/Makefile b/sys/modules/drm/sis/Makefile
index 885ce28..98b58ad 100644
--- a/sys/modules/drm/sis/Makefile
+++ b/sys/modules/drm/sis/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm
+.PATH: ${SRCTOP}/sys/dev/drm
KMOD= sis
SRCS= sis_drv.c sis_ds.c sis_mm.c
SRCS+= device_if.h bus_if.h pci_if.h opt_drm.h
diff --git a/sys/modules/drm/tdfx/Makefile b/sys/modules/drm/tdfx/Makefile
index 2e015a7..3cfc8b7 100644
--- a/sys/modules/drm/tdfx/Makefile
+++ b/sys/modules/drm/tdfx/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm
+.PATH: ${SRCTOP}/sys/dev/drm
KMOD = tdfx
SRCS = tdfx_drv.c
SRCS +=device_if.h bus_if.h pci_if.h opt_drm.h
diff --git a/sys/modules/drm/via/Makefile b/sys/modules/drm/via/Makefile
index a419beb..b06bc6c 100644
--- a/sys/modules/drm/via/Makefile
+++ b/sys/modules/drm/via/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm
+.PATH: ${SRCTOP}/sys/dev/drm
KMOD = via
SRCS = via_dma.c via_dmablit.c via_drv.c via_irq.c via_map.c via_mm.c \
via_verifier.c via_video.c
diff --git a/sys/modules/drm2/Makefile b/sys/modules/drm2/Makefile
index 6ba0def..58c58c0 100644
--- a/sys/modules/drm2/Makefile
+++ b/sys/modules/drm2/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
.if ${MACHINE_CPUARCH} == "amd64"
diff --git a/sys/modules/drm2/drm2/Makefile b/sys/modules/drm2/drm2/Makefile
index 35bee29..f267715 100644
--- a/sys/modules/drm2/drm2/Makefile
+++ b/sys/modules/drm2/drm2/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm2 ${.CURDIR}/../../../dev/drm2/ttm
+.PATH: ${SRCTOP}/sys/dev/drm2 ${SRCTOP}/sys/dev/drm2/ttm
KMOD = drm2
SRCS = \
drm_agpsupport.c \
diff --git a/sys/modules/drm2/i915kms/Makefile b/sys/modules/drm2/i915kms/Makefile
index c42066a..79cf8e0 100644
--- a/sys/modules/drm2/i915kms/Makefile
+++ b/sys/modules/drm2/i915kms/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm2/i915
+.PATH: ${SRCTOP}/sys/dev/drm2/i915
KMOD = i915kms
SRCS = \
dvo_ch7017.c \
diff --git a/sys/modules/drm2/radeonkms/Makefile b/sys/modules/drm2/radeonkms/Makefile
index 0c101ea..68b030c 100644
--- a/sys/modules/drm2/radeonkms/Makefile
+++ b/sys/modules/drm2/radeonkms/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/drm2/radeon
+.PATH: ${SRCTOP}/sys/dev/drm2/radeon
KMOD = radeonkms
SRCS = \
@@ -114,7 +114,7 @@ SRCS += \
.include <bsd.kmod.mk>
-CFLAGS+= -I${.CURDIR}/../../../dev/drm2/radeon
+CFLAGS+= -I${SRCTOP}/sys/dev/drm2/radeon
CWARNFLAGS.radeon_cp.c= -Wno-unused-value
CWARNFLAGS.r600_cp.c= -Wno-unused-value
diff --git a/sys/modules/drm2/radeonkmsfw/Makefile.inc b/sys/modules/drm2/radeonkmsfw/Makefile.inc
index f6035a1..c645a88 100644
--- a/sys/modules/drm2/radeonkmsfw/Makefile.inc
+++ b/sys/modules/drm2/radeonkmsfw/Makefile.inc
@@ -14,5 +14,5 @@ FIRMWS= ${_FIRM}:${KMOD}
#
#FIRMWARE_LICENSE=
-${_FIRM}: ${.CURDIR}/../../../../contrib/dev/drm2/radeonkmsfw/${_FIRM}.uu
+${_FIRM}: ${SRCTOP}/sys/contrib/dev/drm2/radeonkmsfw/${_FIRM}.uu
uudecode -p $? > ${.TARGET}
diff --git a/sys/modules/dtrace/dtmalloc/Makefile b/sys/modules/dtrace/dtmalloc/Makefile
index e2d4968..d43d302 100644
--- a/sys/modules/dtrace/dtmalloc/Makefile
+++ b/sys/modules/dtrace/dtmalloc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/dev/dtmalloc
diff --git a/sys/modules/dtrace/dtnfscl/Makefile b/sys/modules/dtrace/dtnfscl/Makefile
index fc0438c..3b61343 100644
--- a/sys/modules/dtrace/dtnfscl/Makefile
+++ b/sys/modules/dtrace/dtnfscl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/fs/nfsclient
diff --git a/sys/modules/dtrace/dtrace/Makefile b/sys/modules/dtrace/dtrace/Makefile
index 5147c27..b9553c6 100644
--- a/sys/modules/dtrace/dtrace/Makefile
+++ b/sys/modules/dtrace/dtrace/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
ARCHDIR= ${MACHINE_CPUARCH}
diff --git a/sys/modules/dtrace/dtrace_test/Makefile b/sys/modules/dtrace/dtrace_test/Makefile
index 56099b6..7e883e8 100644
--- a/sys/modules/dtrace/dtrace_test/Makefile
+++ b/sys/modules/dtrace/dtrace_test/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/dev/dtrace
diff --git a/sys/modules/dtrace/dtraceall/Makefile b/sys/modules/dtrace/dtraceall/Makefile
index b5d9494..1750b5b 100644
--- a/sys/modules/dtrace/dtraceall/Makefile
+++ b/sys/modules/dtrace/dtraceall/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
KMOD= dtraceall
SRCS= dtraceall.c opt_compat.h opt_nfs.h
diff --git a/sys/modules/dtrace/fasttrap/Makefile b/sys/modules/dtrace/fasttrap/Makefile
index be65a3d..49c0de8 100644
--- a/sys/modules/dtrace/fasttrap/Makefile
+++ b/sys/modules/dtrace/fasttrap/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/contrib/opensolaris/uts/common/dtrace
diff --git a/sys/modules/dtrace/fbt/Makefile b/sys/modules/dtrace/fbt/Makefile
index 969f076..6815698 100644
--- a/sys/modules/dtrace/fbt/Makefile
+++ b/sys/modules/dtrace/fbt/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/dev/fbt
diff --git a/sys/modules/dtrace/profile/Makefile b/sys/modules/dtrace/profile/Makefile
index b0f59f5..c334275 100644
--- a/sys/modules/dtrace/profile/Makefile
+++ b/sys/modules/dtrace/profile/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/dev/profile
diff --git a/sys/modules/dtrace/prototype/Makefile b/sys/modules/dtrace/prototype/Makefile
index 68d4c35..83ec176 100644
--- a/sys/modules/dtrace/prototype/Makefile
+++ b/sys/modules/dtrace/prototype/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/dev
diff --git a/sys/modules/dtrace/sdt/Makefile b/sys/modules/dtrace/sdt/Makefile
index b77299d..79c0e5f 100644
--- a/sys/modules/dtrace/sdt/Makefile
+++ b/sys/modules/dtrace/sdt/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/dev/sdt
diff --git a/sys/modules/dtrace/systrace/Makefile b/sys/modules/dtrace/systrace/Makefile
index 1d6f187..0c682f4 100644
--- a/sys/modules/dtrace/systrace/Makefile
+++ b/sys/modules/dtrace/systrace/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/dev/systrace
diff --git a/sys/modules/dtrace/systrace_freebsd32/Makefile b/sys/modules/dtrace/systrace_freebsd32/Makefile
index 4c5da44..e20f59f 100644
--- a/sys/modules/dtrace/systrace_freebsd32/Makefile
+++ b/sys/modules/dtrace/systrace_freebsd32/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/dev/systrace
diff --git a/sys/modules/dtrace/systrace_linux/Makefile b/sys/modules/dtrace/systrace_linux/Makefile
index 1cf5e31..037dd3d 100644
--- a/sys/modules/dtrace/systrace_linux/Makefile
+++ b/sys/modules/dtrace/systrace_linux/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/dev/systrace
diff --git a/sys/modules/dtrace/systrace_linux32/Makefile b/sys/modules/dtrace/systrace_linux32/Makefile
index db798c3..52a7110 100644
--- a/sys/modules/dtrace/systrace_linux32/Makefile
+++ b/sys/modules/dtrace/systrace_linux32/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/dev/systrace
diff --git a/sys/modules/dummynet/Makefile b/sys/modules/dummynet/Makefile
index 877e01a..31ce91d 100644
--- a/sys/modules/dummynet/Makefile
+++ b/sys/modules/dummynet/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netpfil/ipfw
+.PATH: ${SRCTOP}/sys/netpfil/ipfw
KMOD= dummynet
SRCS= ip_dummynet.c
SRCS+= ip_dn_glue.c ip_dn_io.c
diff --git a/sys/modules/ed/Makefile b/sys/modules/ed/Makefile
index 427b99f..02b755f 100644
--- a/sys/modules/ed/Makefile
+++ b/sys/modules/ed/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ed
+.PATH: ${SRCTOP}/sys/dev/ed
KMOD= if_ed
SRCS= if_ed.c
diff --git a/sys/modules/efirt/Makefile b/sys/modules/efirt/Makefile
index 2dff20d..f840bc1 100644
--- a/sys/modules/efirt/Makefile
+++ b/sys/modules/efirt/Makefile
@@ -1,9 +1,10 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../${MACHINE}/${MACHINE}
+.PATH: ${SRCTOP}/sys/${MACHINE}/${MACHINE}
+.PATH: ${SRCTOP}/sys/dev/efidev
KMOD= efirt
-SRCS= efirt.c
+SRCS= efirt.c efidev.c
SRCS+= device_if.h bus_if.h
.include <bsd.kmod.mk>
diff --git a/sys/modules/elink/Makefile b/sys/modules/elink/Makefile
index a777657..78ccd94 100644
--- a/sys/modules/elink/Makefile
+++ b/sys/modules/elink/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../i386/isa
+.PATH: ${SRCTOP}/sys/i386/isa
KMOD= elink
SRCS= elink.c
diff --git a/sys/modules/em/Makefile b/sys/modules/em/Makefile
index 1de7c62..6218a1e 100644
--- a/sys/modules/em/Makefile
+++ b/sys/modules/em/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/e1000
+.PATH: ${SRCTOP}/sys/dev/e1000
KMOD = if_em
SRCS = device_if.h bus_if.h pci_if.h opt_ddb.h opt_em.h opt_inet.h \
opt_inet6.h
@@ -15,7 +15,7 @@ COMMON_SHARED = e1000_api.c e1000_phy.c e1000_nvm.c e1000_mac.c \
PCIE_SHARED = e1000_80003es2lan.c e1000_ich8lan.c e1000_82571.c e1000_82575.c
LEGACY_SHARED = e1000_82540.c e1000_82542.c e1000_82541.c e1000_82543.c
-CFLAGS += -I${.CURDIR}/../../dev/e1000
+CFLAGS += -I${SRCTOP}/sys/dev/e1000
# DEVICE_POLLING for a non-interrupt-driven method
#CFLAGS += -DDEVICE_POLLING
diff --git a/sys/modules/en/Makefile b/sys/modules/en/Makefile
index 05672f0..459bf64 100644
--- a/sys/modules/en/Makefile
+++ b/sys/modules/en/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/en
+.PATH: ${SRCTOP}/sys/dev/en
KMOD= if_en
SRCS= if_en_pci.c midway.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/ep/Makefile b/sys/modules/ep/Makefile
index df117ab..cb89c92 100644
--- a/sys/modules/ep/Makefile
+++ b/sys/modules/ep/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
.PATH: ${SYSDIR}/dev/ep
diff --git a/sys/modules/epic/Makefile b/sys/modules/epic/Makefile
index 8c2212b..b791d34 100644
--- a/sys/modules/epic/Makefile
+++ b/sys/modules/epic/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../sparc64/ebus
+.PATH: ${SRCTOP}/sys/sparc64/ebus
KMOD= epic
SRCS= device_if.h epic.c bus_if.h ofw_bus_if.h
diff --git a/sys/modules/esp/Makefile b/sys/modules/esp/Makefile
index ccefca5..d582a2d 100644
--- a/sys/modules/esp/Makefile
+++ b/sys/modules/esp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/esp
+.PATH: ${SRCTOP}/sys/dev/esp
KMOD= esp
SRCS= device_if.h esp_pci.c ${esp_sbus} bus_if.h ncr53c9x.c ${ofw_bus_if}
diff --git a/sys/modules/et/Makefile b/sys/modules/et/Makefile
index e715431..bb0d3ff 100644
--- a/sys/modules/et/Makefile
+++ b/sys/modules/et/Makefile
@@ -1,7 +1,7 @@
# $DragonFly: src/sys/dev/netif/et/Makefile,v 1.1 2007/10/12 14:12:42 sephe Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/et
+.PATH: ${SRCTOP}/sys/dev/et
KMOD= if_et
SRCS= if_et.c
diff --git a/sys/modules/evdev/Makefile b/sys/modules/evdev/Makefile
index 11091ea..7bea12e3 100644
--- a/sys/modules/evdev/Makefile
+++ b/sys/modules/evdev/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/evdev
+.PATH: ${SRCTOP}/sys/dev/evdev
KMOD= evdev
SRCS= cdev.c evdev.c evdev_mt.c evdev_utils.c
diff --git a/sys/modules/ex/Makefile b/sys/modules/ex/Makefile
index 5c394aa..b7047ac 100644
--- a/sys/modules/ex/Makefile
+++ b/sys/modules/ex/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/ex
+.PATH: ${SRCTOP}/sys/dev/ex
KMOD= if_ex
SRCS= if_ex.c \
diff --git a/sys/modules/exca/Makefile b/sys/modules/exca/Makefile
index b7a8d52..5135ff2 100644
--- a/sys/modules/exca/Makefile
+++ b/sys/modules/exca/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/exca
+.PATH: ${SRCTOP}/sys/dev/exca
KMOD= exca
SRCS= exca.c device_if.h bus_if.h power_if.h card_if.h pccarddevs.h
diff --git a/sys/modules/ext2fs/Makefile b/sys/modules/ext2fs/Makefile
index fc10ab0..70814bf 100644
--- a/sys/modules/ext2fs/Makefile
+++ b/sys/modules/ext2fs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/ext2fs
+.PATH: ${SRCTOP}/sys/fs/ext2fs
KMOD= ext2fs
SRCS= opt_ddb.h opt_directio.h opt_quota.h opt_suiddir.h vnode_if.h \
ext2_alloc.c ext2_balloc.c ext2_bmap.c ext2_extents.c ext2_hash.c \
diff --git a/sys/modules/fatm/Makefile b/sys/modules/fatm/Makefile
index 8e1e7bb..c228fb8 100644
--- a/sys/modules/fatm/Makefile
+++ b/sys/modules/fatm/Makefile
@@ -2,7 +2,7 @@
#
# Author: Harti Brandt <harti@freebsd.org>
#
-.PATH: ${.CURDIR}/../../dev/fatm
+.PATH: ${SRCTOP}/sys/dev/fatm
KMOD= if_fatm
SRCS= if_fatm.c device_if.h bus_if.h pci_if.h opt_inet.h opt_natm.h
diff --git a/sys/modules/fdc/Makefile b/sys/modules/fdc/Makefile
index 40eb427..34555bc 100644
--- a/sys/modules/fdc/Makefile
+++ b/sys/modules/fdc/Makefile
@@ -2,7 +2,7 @@
KMOD= fdc
-.PATH: ${.CURDIR}/../../dev/fdc
+.PATH: ${SRCTOP}/sys/dev/fdc
.if ${MACHINE} == "pc98"
SRCS= fdc.c fdc_cbus.c
.else
diff --git a/sys/modules/fdescfs/Makefile b/sys/modules/fdescfs/Makefile
index eead3ec..083ad17 100644
--- a/sys/modules/fdescfs/Makefile
+++ b/sys/modules/fdescfs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/fdescfs
+.PATH: ${SRCTOP}/sys/fs/fdescfs
KMOD= fdescfs
SRCS= vnode_if.h \
diff --git a/sys/modules/fe/Makefile b/sys/modules/fe/Makefile
index 77af85b..a46fad4 100644
--- a/sys/modules/fe/Makefile
+++ b/sys/modules/fe/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/fe
+.PATH: ${SRCTOP}/sys/dev/fe
KMOD= if_fe
SRCS= if_fe.c if_fe_pccard.c
diff --git a/sys/modules/filemon/Makefile b/sys/modules/filemon/Makefile
index b97b2e2..b0c7cd3 100644
--- a/sys/modules/filemon/Makefile
+++ b/sys/modules/filemon/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/filemon
+.PATH: ${SRCTOP}/sys/dev/filemon
KMOD= filemon
SRCS= ${KMOD}.c
diff --git a/sys/modules/firewire/firewire/Makefile b/sys/modules/firewire/firewire/Makefile
index de418b1..72fa049 100644
--- a/sys/modules/firewire/firewire/Makefile
+++ b/sys/modules/firewire/firewire/Makefile
@@ -2,7 +2,7 @@
# Makefile for the IEEE1394 OHCI chipset
-.PATH: ${.CURDIR}/../../../dev/firewire
+.PATH: ${SRCTOP}/sys/dev/firewire
KMOD= firewire
SRCS = bus_if.h device_if.h pci_if.h \
diff --git a/sys/modules/firewire/fwe/Makefile b/sys/modules/firewire/fwe/Makefile
index 746eb65..8632ab2 100644
--- a/sys/modules/firewire/fwe/Makefile
+++ b/sys/modules/firewire/fwe/Makefile
@@ -2,7 +2,7 @@
# Makefile for the fwe(4) module (Ethernet over IEEE1394)
-.PATH: ${.CURDIR}/../../../dev/firewire
+.PATH: ${SRCTOP}/sys/dev/firewire
KMOD = if_fwe
SRCS = bus_if.h device_if.h \
diff --git a/sys/modules/firewire/fwip/Makefile b/sys/modules/firewire/fwip/Makefile
index 992d356..e79bd14 100644
--- a/sys/modules/firewire/fwip/Makefile
+++ b/sys/modules/firewire/fwip/Makefile
@@ -2,7 +2,7 @@
# Makefile for the fwip(4) module (IP over IEEE1394)
-.PATH: ${.CURDIR}/../../../dev/firewire ${.CURDIR}/../../../net
+.PATH: ${SRCTOP}/sys/dev/firewire ${SRCTOP}/sys/net
KMOD = if_fwip
SRCS = bus_if.h device_if.h \
diff --git a/sys/modules/firewire/sbp/Makefile b/sys/modules/firewire/sbp/Makefile
index 94218c4..7023b8d 100644
--- a/sys/modules/firewire/sbp/Makefile
+++ b/sys/modules/firewire/sbp/Makefile
@@ -2,7 +2,7 @@
# Makefile for the SBP-II (Serial Bus Protocol 2/SCSI over IEEE1394)
-.PATH: ${.CURDIR}/../../../dev/firewire
+.PATH: ${SRCTOP}/sys/dev/firewire
KMOD = sbp
SRCS = bus_if.h device_if.h \
diff --git a/sys/modules/firewire/sbp_targ/Makefile b/sys/modules/firewire/sbp_targ/Makefile
index 98ca957..2be9c56 100644
--- a/sys/modules/firewire/sbp_targ/Makefile
+++ b/sys/modules/firewire/sbp_targ/Makefile
@@ -2,7 +2,7 @@
# Makefile for the SBP-II Target mode
-.PATH: ${.CURDIR}/../../../dev/firewire
+.PATH: ${SRCTOP}/sys/dev/firewire
KMOD = sbp_targ
SRCS = bus_if.h device_if.h \
diff --git a/sys/modules/firmware/Makefile b/sys/modules/firmware/Makefile
index 90f1cbd..7a9eb45 100644
--- a/sys/modules/firmware/Makefile
+++ b/sys/modules/firmware/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= firmware
SRCS= subr_firmware.c vnode_if.h
diff --git a/sys/modules/fuse/Makefile b/sys/modules/fuse/Makefile
index 4ccc1a0..c831e5d 100644
--- a/sys/modules/fuse/Makefile
+++ b/sys/modules/fuse/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/fuse
+.PATH: ${SRCTOP}/sys/fs/fuse
KMOD= fuse
SRCS= vnode_if.h \
diff --git a/sys/modules/fxp/Makefile b/sys/modules/fxp/Makefile
index 283b638..fbe1439 100644
--- a/sys/modules/fxp/Makefile
+++ b/sys/modules/fxp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/fxp
+.PATH: ${SRCTOP}/sys/dev/fxp
KMOD= if_fxp
SRCS= device_if.h bus_if.h if_fxp.c inphy.c miibus_if.h miidevs.h pci_if.h
diff --git a/sys/modules/gem/Makefile b/sys/modules/gem/Makefile
index 941dc18..54083b0 100644
--- a/sys/modules/gem/Makefile
+++ b/sys/modules/gem/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/gem
+.PATH: ${SRCTOP}/sys/dev/gem
KMOD= if_gem
SRCS= bus_if.h device_if.h if_gem.c if_gem_pci.c ${if_gem_sbus} miibus_if.h
diff --git a/sys/modules/geom/Makefile b/sys/modules/geom/Makefile
index 7b79f53..cbc7207 100644
--- a/sys/modules/geom/Makefile
+++ b/sys/modules/geom/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
SUBDIR= geom_bde \
diff --git a/sys/modules/geom/geom_bde/Makefile b/sys/modules/geom/geom_bde/Makefile
index bcb4dbc..a3961c2 100644
--- a/sys/modules/geom/geom_bde/Makefile
+++ b/sys/modules/geom/geom_bde/Makefile
@@ -1,8 +1,8 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/bde
-.PATH: ${.CURDIR}/../../../crypto/rijndael
-.PATH: ${.CURDIR}/../../../crypto/sha2
+.PATH: ${SRCTOP}/sys/geom/bde
+.PATH: ${SRCTOP}/sys/crypto/rijndael
+.PATH: ${SRCTOP}/sys/crypto/sha2
KMOD= geom_bde
SRCS= g_bde.c g_bde_crypt.c g_bde_lock.c g_bde_work.c
diff --git a/sys/modules/geom/geom_bsd/Makefile b/sys/modules/geom/geom_bsd/Makefile
index b605df9..6f7b907 100644
--- a/sys/modules/geom/geom_bsd/Makefile
+++ b/sys/modules/geom/geom_bsd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom
+.PATH: ${SRCTOP}/sys/geom
KMOD= geom_bsd
SRCS= geom_bsd.c geom_bsd_enc.c
diff --git a/sys/modules/geom/geom_cache/Makefile b/sys/modules/geom/geom_cache/Makefile
index 7ccbe98..8260f9e 100644
--- a/sys/modules/geom/geom_cache/Makefile
+++ b/sys/modules/geom/geom_cache/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/cache
+.PATH: ${SRCTOP}/sys/geom/cache
KMOD= geom_cache
SRCS= g_cache.c
diff --git a/sys/modules/geom/geom_ccd/Makefile b/sys/modules/geom/geom_ccd/Makefile
index 18d6eeb..3e1c667 100644
--- a/sys/modules/geom/geom_ccd/Makefile
+++ b/sys/modules/geom/geom_ccd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom
+.PATH: ${SRCTOP}/sys/geom
KMOD= geom_ccd
SRCS= geom_ccd.c
diff --git a/sys/modules/geom/geom_concat/Makefile b/sys/modules/geom/geom_concat/Makefile
index 3de201a..5caff71 100644
--- a/sys/modules/geom/geom_concat/Makefile
+++ b/sys/modules/geom/geom_concat/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/concat
+.PATH: ${SRCTOP}/sys/geom/concat
KMOD= geom_concat
SRCS= g_concat.c
diff --git a/sys/modules/geom/geom_eli/Makefile b/sys/modules/geom/geom_eli/Makefile
index c42ccf1..b3b2f92 100644
--- a/sys/modules/geom/geom_eli/Makefile
+++ b/sys/modules/geom/geom_eli/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/eli
+.PATH: ${SRCTOP}/sys/geom/eli
KMOD= geom_eli
SRCS= g_eli.c
diff --git a/sys/modules/geom/geom_flashmap/Makefile b/sys/modules/geom/geom_flashmap/Makefile
index d475860..8b56c14 100644
--- a/sys/modules/geom/geom_flashmap/Makefile
+++ b/sys/modules/geom/geom_flashmap/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom
+.PATH: ${SRCTOP}/sys/geom
KMOD= geom_flashmap
SRCS= geom_flashmap.c
diff --git a/sys/modules/geom/geom_fox/Makefile b/sys/modules/geom/geom_fox/Makefile
index adf8c2e..04fc63a 100644
--- a/sys/modules/geom/geom_fox/Makefile
+++ b/sys/modules/geom/geom_fox/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom
+.PATH: ${SRCTOP}/sys/geom
KMOD= geom_fox
SRCS= geom_fox.c
diff --git a/sys/modules/geom/geom_gate/Makefile b/sys/modules/geom/geom_gate/Makefile
index 783a58a..88705a0 100644
--- a/sys/modules/geom/geom_gate/Makefile
+++ b/sys/modules/geom/geom_gate/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/gate
+.PATH: ${SRCTOP}/sys/geom/gate
KMOD= geom_gate
SRCS= g_gate.c
diff --git a/sys/modules/geom/geom_journal/Makefile b/sys/modules/geom/geom_journal/Makefile
index 0288b48..89298a8 100644
--- a/sys/modules/geom/geom_journal/Makefile
+++ b/sys/modules/geom/geom_journal/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/journal
+.PATH: ${SRCTOP}/sys/geom/journal
KMOD= geom_journal
SRCS= g_journal.c
diff --git a/sys/modules/geom/geom_label/Makefile b/sys/modules/geom/geom_label/Makefile
index b06e108..f5f4a7c 100644
--- a/sys/modules/geom/geom_label/Makefile
+++ b/sys/modules/geom/geom_label/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/label
+.PATH: ${SRCTOP}/sys/geom/label
KMOD= geom_label
SRCS= g_label.c
diff --git a/sys/modules/geom/geom_linux_lvm/Makefile b/sys/modules/geom/geom_linux_lvm/Makefile
index 1e10e13..5d2b7a3 100644
--- a/sys/modules/geom/geom_linux_lvm/Makefile
+++ b/sys/modules/geom/geom_linux_lvm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/linux_lvm
+.PATH: ${SRCTOP}/sys/geom/linux_lvm
KMOD= geom_linux_lvm
SRCS= g_linux_lvm.c
diff --git a/sys/modules/geom/geom_map/Makefile b/sys/modules/geom/geom_map/Makefile
index 6b26ba9..4f5b773 100644
--- a/sys/modules/geom/geom_map/Makefile
+++ b/sys/modules/geom/geom_map/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom
+.PATH: ${SRCTOP}/sys/geom
KMOD= geom_map
SRCS= geom_map.c bus_if.h device_if.h
diff --git a/sys/modules/geom/geom_mbr/Makefile b/sys/modules/geom/geom_mbr/Makefile
index 1820f3b..0759a64 100644
--- a/sys/modules/geom/geom_mbr/Makefile
+++ b/sys/modules/geom/geom_mbr/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom
+.PATH: ${SRCTOP}/sys/geom
KMOD= geom_mbr
SRCS= geom_mbr.c geom_mbr_enc.c
diff --git a/sys/modules/geom/geom_mirror/Makefile b/sys/modules/geom/geom_mirror/Makefile
index 3e653ce..f2a11a5 100644
--- a/sys/modules/geom/geom_mirror/Makefile
+++ b/sys/modules/geom/geom_mirror/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/mirror
+.PATH: ${SRCTOP}/sys/geom/mirror
KMOD= geom_mirror
SRCS= g_mirror.c
diff --git a/sys/modules/geom/geom_mountver/Makefile b/sys/modules/geom/geom_mountver/Makefile
index 8e89c9a..ff579ba 100644
--- a/sys/modules/geom/geom_mountver/Makefile
+++ b/sys/modules/geom/geom_mountver/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/mountver
+.PATH: ${SRCTOP}/sys/geom/mountver
KMOD= geom_mountver
SRCS= g_mountver.c
diff --git a/sys/modules/geom/geom_multipath/Makefile b/sys/modules/geom/geom_multipath/Makefile
index d036fe0..27b6fdb 100644
--- a/sys/modules/geom/geom_multipath/Makefile
+++ b/sys/modules/geom/geom_multipath/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/multipath
+.PATH: ${SRCTOP}/sys/geom/multipath
KMOD= geom_multipath
SRCS= g_multipath.c
diff --git a/sys/modules/geom/geom_nop/Makefile b/sys/modules/geom/geom_nop/Makefile
index 139e124..d229482 100644
--- a/sys/modules/geom/geom_nop/Makefile
+++ b/sys/modules/geom/geom_nop/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/nop
+.PATH: ${SRCTOP}/sys/geom/nop
KMOD= geom_nop
SRCS= g_nop.c
diff --git a/sys/modules/geom/geom_part/geom_part_apm/Makefile b/sys/modules/geom/geom_part/geom_part_apm/Makefile
index afd9eb6..ee7966f 100644
--- a/sys/modules/geom/geom_part/geom_part_apm/Makefile
+++ b/sys/modules/geom/geom_part/geom_part_apm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../geom/part
+.PATH: ${SRCTOP}/sys/geom/part
KMOD= geom_part_apm
SRCS= g_part_apm.c
diff --git a/sys/modules/geom/geom_part/geom_part_bsd/Makefile b/sys/modules/geom/geom_part/geom_part_bsd/Makefile
index f6d323c..8e8cc73 100644
--- a/sys/modules/geom/geom_part/geom_part_bsd/Makefile
+++ b/sys/modules/geom/geom_part/geom_part_bsd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../geom/part ${.CURDIR}/../../../../geom
+.PATH: ${SRCTOP}/sys/geom/part ${SRCTOP}/sys/geom
KMOD= geom_part_bsd
SRCS= g_part_bsd.c geom_bsd_enc.c
diff --git a/sys/modules/geom/geom_part/geom_part_bsd64/Makefile b/sys/modules/geom/geom_part/geom_part_bsd64/Makefile
index abe153f..4dabbaa 100644
--- a/sys/modules/geom/geom_part/geom_part_bsd64/Makefile
+++ b/sys/modules/geom/geom_part/geom_part_bsd64/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../geom/part
+.PATH: ${SRCTOP}/sys/geom/part
KMOD= geom_part_bsd64
SRCS= g_part_bsd64.c
diff --git a/sys/modules/geom/geom_part/geom_part_ebr/Makefile b/sys/modules/geom/geom_part/geom_part_ebr/Makefile
index 3b0d36b..4aa8ec1 100644
--- a/sys/modules/geom/geom_part/geom_part_ebr/Makefile
+++ b/sys/modules/geom/geom_part/geom_part_ebr/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../geom/part
+.PATH: ${SRCTOP}/sys/geom/part
KMOD= geom_part_ebr
SRCS= g_part_ebr.c
diff --git a/sys/modules/geom/geom_part/geom_part_gpt/Makefile b/sys/modules/geom/geom_part/geom_part_gpt/Makefile
index 26df04a..d0f7089 100644
--- a/sys/modules/geom/geom_part/geom_part_gpt/Makefile
+++ b/sys/modules/geom/geom_part/geom_part_gpt/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../geom/part
+.PATH: ${SRCTOP}/sys/geom/part
KMOD= geom_part_gpt
SRCS= g_part_gpt.c
diff --git a/sys/modules/geom/geom_part/geom_part_ldm/Makefile b/sys/modules/geom/geom_part/geom_part_ldm/Makefile
index 71f364d..f51049b 100644
--- a/sys/modules/geom/geom_part/geom_part_ldm/Makefile
+++ b/sys/modules/geom/geom_part/geom_part_ldm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../geom/part
+.PATH: ${SRCTOP}/sys/geom/part
KMOD= geom_part_ldm
SRCS= g_part_ldm.c
diff --git a/sys/modules/geom/geom_part/geom_part_mbr/Makefile b/sys/modules/geom/geom_part/geom_part_mbr/Makefile
index 3dfd72e..8f4e181 100644
--- a/sys/modules/geom/geom_part/geom_part_mbr/Makefile
+++ b/sys/modules/geom/geom_part/geom_part_mbr/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../geom/part
+.PATH: ${SRCTOP}/sys/geom/part
KMOD= geom_part_mbr
SRCS= g_part_mbr.c
diff --git a/sys/modules/geom/geom_part/geom_part_vtoc8/Makefile b/sys/modules/geom/geom_part/geom_part_vtoc8/Makefile
index 085648a..f3aa9cb 100644
--- a/sys/modules/geom/geom_part/geom_part_vtoc8/Makefile
+++ b/sys/modules/geom/geom_part/geom_part_vtoc8/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../geom/part
+.PATH: ${SRCTOP}/sys/geom/part
KMOD= geom_part_vtoc8
SRCS= g_part_vtoc8.c
diff --git a/sys/modules/geom/geom_raid/Makefile b/sys/modules/geom/geom_raid/Makefile
index d2c3e4d..b9c8f2c 100644
--- a/sys/modules/geom/geom_raid/Makefile
+++ b/sys/modules/geom/geom_raid/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/raid
+.PATH: ${SRCTOP}/sys/geom/raid
KMOD= geom_raid
SRCS= g_raid.c
diff --git a/sys/modules/geom/geom_raid3/Makefile b/sys/modules/geom/geom_raid3/Makefile
index b202237..5baa6c2 100644
--- a/sys/modules/geom/geom_raid3/Makefile
+++ b/sys/modules/geom/geom_raid3/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/raid3
+.PATH: ${SRCTOP}/sys/geom/raid3
KMOD= geom_raid3
SRCS= g_raid3.c
diff --git a/sys/modules/geom/geom_sched/Makefile.inc b/sys/modules/geom/geom_sched/Makefile.inc
index 808d6eb..a81a965 100644
--- a/sys/modules/geom/geom_sched/Makefile.inc
+++ b/sys/modules/geom/geom_sched/Makefile.inc
@@ -1,9 +1,9 @@
# $FreeBSD$
# included by geom_sched children
-.PATH: ${.CURDIR}/../../../../geom/sched
+.PATH: ${SRCTOP}/sys/geom/sched
# 6.x needs this path
-#CFLAGS += -I${.CURDIR}/../../../../geom/sched
+#CFLAGS += -I${SRCTOP}/sys/geom/sched
# .include <bsd.kmod.mk>
diff --git a/sys/modules/geom/geom_shsec/Makefile b/sys/modules/geom/geom_shsec/Makefile
index f229203..79d29ea 100644
--- a/sys/modules/geom/geom_shsec/Makefile
+++ b/sys/modules/geom/geom_shsec/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/shsec
+.PATH: ${SRCTOP}/sys/geom/shsec
KMOD= geom_shsec
SRCS= g_shsec.c
diff --git a/sys/modules/geom/geom_stripe/Makefile b/sys/modules/geom/geom_stripe/Makefile
index 278d3ac..947b3bb 100644
--- a/sys/modules/geom/geom_stripe/Makefile
+++ b/sys/modules/geom/geom_stripe/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/stripe
+.PATH: ${SRCTOP}/sys/geom/stripe
KMOD= geom_stripe
SRCS= g_stripe.c
diff --git a/sys/modules/geom/geom_sunlabel/Makefile b/sys/modules/geom/geom_sunlabel/Makefile
index 840395a..cb0d13e 100644
--- a/sys/modules/geom/geom_sunlabel/Makefile
+++ b/sys/modules/geom/geom_sunlabel/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom
+.PATH: ${SRCTOP}/sys/geom
KMOD= geom_sunlabel
SRCS= geom_sunlabel.c geom_sunlabel_enc.c
diff --git a/sys/modules/geom/geom_uzip/Makefile b/sys/modules/geom/geom_uzip/Makefile
index dd2bd46..2a7cba7 100644
--- a/sys/modules/geom/geom_uzip/Makefile
+++ b/sys/modules/geom/geom_uzip/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/uzip ${.CURDIR}/../../../net
+.PATH: ${SRCTOP}/sys/geom/uzip ${SRCTOP}/sys/net
KMOD= geom_uzip
SRCS= g_uzip.c g_uzip_zlib.c g_uzip_lzma.c g_uzip_wrkthr.c
@@ -8,13 +8,13 @@ SRCS+= g_uzip.h g_uzip_dapi.h g_uzip_lzma.h g_uzip_zlib.h g_uzip_softc.h \
g_uzip_wrkthr.h
#CFLAGS= -g -DINVARIANT_SUPPORT -DINVARIANTS
-.PATH: ${.CURDIR}/../../../contrib/xz-embedded/freebsd/ \
- ${.CURDIR}/../../../contrib/xz-embedded/linux/lib/xz/ \
- ${.CURDIR}/../../../contrib/xz-embedded/linux/include/linux/ \
- ${.CURDIR}/../../../net
+.PATH: ${SRCTOP}/sys/contrib/xz-embedded/freebsd/ \
+ ${SRCTOP}/sys/contrib/xz-embedded/linux/lib/xz/ \
+ ${SRCTOP}/sys/contrib/xz-embedded/linux/include/linux/ \
+ ${SRCTOP}/sys/net
-CFLAGS+= -I${.CURDIR}/../../../contrib/xz-embedded/freebsd \
- -I${.CURDIR}/../../../contrib/xz-embedded/linux/lib/xz/
+CFLAGS+= -I${SRCTOP}/sys/contrib/xz-embedded/freebsd \
+ -I${SRCTOP}/sys/contrib/xz-embedded/linux/lib/xz/
SRCS+= xz_crc32.c xz_dec_bcj.c xz_dec_lzma2.c xz_dec_stream.c \
xz_malloc.c
SRCS+= xz.h xz_config.h xz_lzma2.h xz_malloc.h xz_private.h xz_stream.h
diff --git a/sys/modules/geom/geom_vinum/Makefile b/sys/modules/geom/geom_vinum/Makefile
index 48ac962..69dd808 100644
--- a/sys/modules/geom/geom_vinum/Makefile
+++ b/sys/modules/geom/geom_vinum/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/vinum
+.PATH: ${SRCTOP}/sys/geom/vinum
KMOD= geom_vinum
SRCS= geom_vinum.c geom_vinum_create.c geom_vinum_drive.c geom_vinum_plex.c \
diff --git a/sys/modules/geom/geom_virstor/Makefile b/sys/modules/geom/geom_virstor/Makefile
index 3a099f2..ea2b7de 100644
--- a/sys/modules/geom/geom_virstor/Makefile
+++ b/sys/modules/geom/geom_virstor/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/virstor
+.PATH: ${SRCTOP}/sys/geom/virstor
KMOD= geom_virstor
SRCS= g_virstor.c g_virstor_md.c binstream.c
diff --git a/sys/modules/geom/geom_vol_ffs/Makefile b/sys/modules/geom/geom_vol_ffs/Makefile
index de9b758..d7287c8 100644
--- a/sys/modules/geom/geom_vol_ffs/Makefile
+++ b/sys/modules/geom/geom_vol_ffs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom
+.PATH: ${SRCTOP}/sys/geom
KMOD= geom_vol_ffs
SRCS= geom_vol_ffs.c
diff --git a/sys/modules/geom/geom_zero/Makefile b/sys/modules/geom/geom_zero/Makefile
index 43dae09..bd0a327 100644
--- a/sys/modules/geom/geom_zero/Makefile
+++ b/sys/modules/geom/geom_zero/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../geom/zero
+.PATH: ${SRCTOP}/sys/geom/zero
KMOD= geom_zero
SRCS= g_zero.c
diff --git a/sys/modules/glxiic/Makefile b/sys/modules/glxiic/Makefile
index 46b0c07..beef3c4 100644
--- a/sys/modules/glxiic/Makefile
+++ b/sys/modules/glxiic/Makefile
@@ -2,7 +2,7 @@
#CFLAGS+= -DGLXIIC_DEBUG
-.PATH: ${.CURDIR}/../../dev/glxiic
+.PATH: ${SRCTOP}/sys/dev/glxiic
KMOD= glxiic
SRCS= glxiic.c
SRCS+= device_if.h bus_if.h pci_if.h iicbus_if.h
diff --git a/sys/modules/glxsb/Makefile b/sys/modules/glxsb/Makefile
index 7167f82..6499010 100644
--- a/sys/modules/glxsb/Makefile
+++ b/sys/modules/glxsb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/glxsb
+.PATH: ${SRCTOP}/sys/dev/glxsb
KMOD = glxsb
SRCS = glxsb.c glxsb_hash.c glxsb.h
SRCS += device_if.h pci_if.h bus_if.h
diff --git a/sys/modules/gpio/gpiobus/Makefile b/sys/modules/gpio/gpiobus/Makefile
index cc67b9c..24a0f13 100644
--- a/sys/modules/gpio/gpiobus/Makefile
+++ b/sys/modules/gpio/gpiobus/Makefile
@@ -29,13 +29,13 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../dev/gpio/
+.PATH: ${SRCTOP}/sys/dev/gpio/
KMOD= gpiobus
SRCS= gpiobus.c gpioc.c
SRCS+= gpio_if.c gpio_if.h gpiobus_if.c gpiobus_if.h ofw_bus_if.h
SRCS+= device_if.h bus_if.h opt_platform.h
-CFLAGS+= -I. -I${.CURDIR}/../../../dev/gpio/
+CFLAGS+= -I. -I${SRCTOP}/sys/dev/gpio/
.include <bsd.kmod.mk>
diff --git a/sys/modules/gpio/gpioiic/Makefile b/sys/modules/gpio/gpioiic/Makefile
index 055f2ec..ff422f3 100644
--- a/sys/modules/gpio/gpioiic/Makefile
+++ b/sys/modules/gpio/gpioiic/Makefile
@@ -29,13 +29,13 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../dev/gpio/
+.PATH: ${SRCTOP}/sys/dev/gpio/
KMOD= gpioiic
SRCS= gpioiic.c
SRCS+= device_if.h bus_if.h gpio_if.h gpiobus_if.h iicbus_if.h iicbb_if.h
SRCS+= ofw_bus_if.h opt_platform.h
-CFLAGS+= -I. -I${.CURDIR}/../../../dev/gpio/
+CFLAGS+= -I. -I${SRCTOP}/sys/dev/gpio/
.include <bsd.kmod.mk>
diff --git a/sys/modules/gpio/gpiokeys/Makefile b/sys/modules/gpio/gpiokeys/Makefile
index 95ffce1..eafb5d2 100644
--- a/sys/modules/gpio/gpiokeys/Makefile
+++ b/sys/modules/gpio/gpiokeys/Makefile
@@ -2,13 +2,13 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../dev/gpio/
+.PATH: ${SRCTOP}/sys/dev/gpio/
KMOD= gpiokeys
SRCS= gpiokeys.c gpiokeys_codes.c
SRCS+= bus_if.h device_if.h gpio_if.h ofw_bus_if.h
SRCS+= opt_platform.h opt_kbd.h
-CFLAGS+= -I. -I${.CURDIR}/../../../dev/gpio/
+CFLAGS+= -I. -I${SRCTOP}/sys/dev/gpio/
.include <bsd.kmod.mk>
diff --git a/sys/modules/gpio/gpioled/Makefile b/sys/modules/gpio/gpioled/Makefile
index 4c70a1f..87d8ee3 100644
--- a/sys/modules/gpio/gpioled/Makefile
+++ b/sys/modules/gpio/gpioled/Makefile
@@ -29,7 +29,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../dev/gpio/
+.PATH: ${SRCTOP}/sys/dev/gpio/
KMOD= gpioled
.if !empty(OPT_FDT)
@@ -39,6 +39,6 @@ SRCS= gpioled.c
.endif
SRCS+= device_if.h bus_if.h gpio_if.h gpiobus_if.h opt_platform.h ofw_bus_if.h
-CFLAGS+= -I. -I${.CURDIR}/../../../dev/gpio/
+CFLAGS+= -I. -I${SRCTOP}/sys/dev/gpio/
.include <bsd.kmod.mk>
diff --git a/sys/modules/gpio/gpiopps/Makefile b/sys/modules/gpio/gpiopps/Makefile
index 3adc1c6..7b3408f 100644
--- a/sys/modules/gpio/gpiopps/Makefile
+++ b/sys/modules/gpio/gpiopps/Makefile
@@ -29,12 +29,12 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../dev/gpio/
+.PATH: ${SRCTOP}/sys/dev/gpio/
KMOD= gpiopps
SRCS= gpiopps.c
SRCS+= device_if.h bus_if.h gpio_if.h gpiobus_if.h opt_platform.h ofw_bus_if.h
-CFLAGS+= -I. -I${.CURDIR}/../../../dev/gpio/
+CFLAGS+= -I. -I${SRCTOP}/sys/dev/gpio/
.include <bsd.kmod.mk>
diff --git a/sys/modules/gpio/gpiospi/Makefile b/sys/modules/gpio/gpiospi/Makefile
index 9226724..023714e 100644
--- a/sys/modules/gpio/gpiospi/Makefile
+++ b/sys/modules/gpio/gpiospi/Makefile
@@ -29,13 +29,13 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../dev/gpio/
+.PATH: ${SRCTOP}/sys/dev/gpio/
KMOD= gpiospi
SRCS= gpiospi.c
SRCS+= device_if.h bus_if.h gpio_if.h gpiobus_if.h spibus_if.h
-SRCS+= ofw_bus_if.h opt_gpio.h
+SRCS+= ofw_bus_if.h opt_gpio.h opt_platform.h
-CFLAGS+= -I. -I${.CURDIR}/../../../dev/gpio/
+CFLAGS+= -I. -I${SRCTOP}/sys/dev/gpio/
.include <bsd.kmod.mk>
diff --git a/sys/modules/hatm/Makefile b/sys/modules/hatm/Makefile
index 5578199..5027bab 100644
--- a/sys/modules/hatm/Makefile
+++ b/sys/modules/hatm/Makefile
@@ -2,7 +2,7 @@
#
# Author: Harti Brandt <harti@freebsd.org>
#
-.PATH: ${.CURDIR}/../../dev/hatm
+.PATH: ${SRCTOP}/sys/dev/hatm
KMOD= if_hatm
SRCS= if_hatm.c if_hatm_intr.c if_hatm_ioctl.c if_hatm_tx.c if_hatm_rx.c \
diff --git a/sys/modules/hifn/Makefile b/sys/modules/hifn/Makefile
index 6897e34..840f668 100644
--- a/sys/modules/hifn/Makefile
+++ b/sys/modules/hifn/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/hifn
+.PATH: ${SRCTOP}/sys/dev/hifn
KMOD = hifn
SRCS = hifn7751.c opt_hifn.h
SRCS += device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/hme/Makefile b/sys/modules/hme/Makefile
index 4656281..7463371 100644
--- a/sys/modules/hme/Makefile
+++ b/sys/modules/hme/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/hme
+.PATH: ${SRCTOP}/sys/dev/hme
KMOD= if_hme
SRCS= bus_if.h device_if.h if_hme.c if_hme_pci.c ${if_hme_sbus} miibus_if.h
diff --git a/sys/modules/hpt27xx/Makefile b/sys/modules/hpt27xx/Makefile
index 3f7899d..b28b5f1 100644
--- a/sys/modules/hpt27xx/Makefile
+++ b/sys/modules/hpt27xx/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-HPT27XX= ${.CURDIR}/../../dev/hpt27xx
+HPT27XX= ${SRCTOP}/sys/dev/hpt27xx
.PATH: ${HPT27XX}
KMOD= hpt27xx
diff --git a/sys/modules/hptiop/Makefile b/sys/modules/hptiop/Makefile
index 66f11c2..d001f9b 100644
--- a/sys/modules/hptiop/Makefile
+++ b/sys/modules/hptiop/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/hptiop
+.PATH: ${SRCTOP}/sys/dev/hptiop
KMOD= hptiop
SRCS= hptiop.c
diff --git a/sys/modules/hptmv/Makefile b/sys/modules/hptmv/Makefile
index 134c207..9b72723 100644
--- a/sys/modules/hptmv/Makefile
+++ b/sys/modules/hptmv/Makefile
@@ -4,7 +4,7 @@
#
# $FreeBSD$
-HPTMV= ${.CURDIR}/../../dev/hptmv
+HPTMV= ${SRCTOP}/sys/dev/hptmv
.PATH: ${HPTMV}
KMOD= hptmv
diff --git a/sys/modules/hptnr/Makefile b/sys/modules/hptnr/Makefile
index 9279fbd..84f29ac 100644
--- a/sys/modules/hptnr/Makefile
+++ b/sys/modules/hptnr/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-HPTNR= ${.CURDIR}/../../dev/hptnr
+HPTNR= ${SRCTOP}/sys/dev/hptnr
.PATH: ${HPTNR}
KMOD= hptnr
diff --git a/sys/modules/hptrr/Makefile b/sys/modules/hptrr/Makefile
index 7cbd7e8..8529886 100644
--- a/sys/modules/hptrr/Makefile
+++ b/sys/modules/hptrr/Makefile
@@ -1,7 +1,7 @@
# $Id: Makefile.def,v 1.18 2007/03/22 11:20:15 gmm Exp $
# $FreeBSD$
-HPTRR= ${.CURDIR}/../../dev/hptrr
+HPTRR= ${SRCTOP}/sys/dev/hptrr
.PATH: ${HPTRR}
KMOD = hptrr
SRCS = opt_scsi.h opt_cam.h bus_if.h device_if.h pci_if.h os_bsd.h
diff --git a/sys/modules/hwpmc/Makefile b/sys/modules/hwpmc/Makefile
index 5e6ea30..1db7a66 100644
--- a/sys/modules/hwpmc/Makefile
+++ b/sys/modules/hwpmc/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/hwpmc
+.PATH: ${SRCTOP}/sys/dev/hwpmc
KMOD= hwpmc
diff --git a/sys/modules/hyperv/netvsc/Makefile b/sys/modules/hyperv/netvsc/Makefile
index e2a2533..dd28d13 100644
--- a/sys/modules/hyperv/netvsc/Makefile
+++ b/sys/modules/hyperv/netvsc/Makefile
@@ -1,13 +1,13 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/hyperv/netvsc \
- ${.CURDIR}/../../../dev/hyperv/vmbus
+.PATH: ${SRCTOP}/sys/dev/hyperv/netvsc \
+ ${SRCTOP}/sys/dev/hyperv/vmbus
KMOD= hv_netvsc
SRCS= hn_nvs.c hn_rndis.c if_hn.c
SRCS+= bus_if.h device_if.h vmbus_if.h
SRCS+= opt_hn.h opt_inet.h opt_inet6.h opt_rss.h
-CFLAGS+= -I${.CURDIR}/../../../dev/hyperv/netvsc
+CFLAGS+= -I${SRCTOP}/sys/dev/hyperv/netvsc
.include <bsd.kmod.mk>
diff --git a/sys/modules/hyperv/pcib/Makefile b/sys/modules/hyperv/pcib/Makefile
index 1b63a13..83e960d 100644
--- a/sys/modules/hyperv/pcib/Makefile
+++ b/sys/modules/hyperv/pcib/Makefile
@@ -1,12 +1,12 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/hyperv/pcib \
- ${.CURDIR}/../../../dev/hyperv/vmbus
+.PATH: ${SRCTOP}/sys/dev/hyperv/pcib \
+ ${SRCTOP}/sys/dev/hyperv/vmbus
KMOD= vmbus_pcib
SRCS= vmbus_pcib.c
SRCS+= bus_if.h device_if.h pci_if.h pcib_if.h vmbus_if.h
-CFLAGS+= -I${.CURDIR}/../../../dev/hyperv/pcib
+CFLAGS+= -I${SRCTOP}/sys/dev/hyperv/pcib
.include <bsd.kmod.mk>
diff --git a/sys/modules/hyperv/storvsc/Makefile b/sys/modules/hyperv/storvsc/Makefile
index 5f38b13..a755772 100644
--- a/sys/modules/hyperv/storvsc/Makefile
+++ b/sys/modules/hyperv/storvsc/Makefile
@@ -1,15 +1,15 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/hyperv/storvsc \
- ${.CURDIR}/../../../dev/hyperv/vmbus \
+.PATH: ${SRCTOP}/sys/dev/hyperv/storvsc \
+ ${SRCTOP}/sys/dev/hyperv/vmbus \
KMOD= hv_storvsc
SRCS = hv_storvsc_drv_freebsd.c \
hv_vstorage.h
SRCS+= bus_if.h device_if.h opt_cam.h vmbus_if.h
-CFLAGS+= -I${.CURDIR}/../../../dev/hyperv/include \
- -I${.CURDIR}/../../../dev/hyperv/vmbus \
- -I${.CURDIR}/../../../dev/hyperv/storvsc
+CFLAGS+= -I${SRCTOP}/sys/dev/hyperv/include \
+ -I${SRCTOP}/sys/dev/hyperv/vmbus \
+ -I${SRCTOP}/sys/dev/hyperv/storvsc
.include <bsd.kmod.mk>
diff --git a/sys/modules/hyperv/utilities/Makefile b/sys/modules/hyperv/utilities/Makefile
index deb2e8b..53dc4b2 100644
--- a/sys/modules/hyperv/utilities/Makefile
+++ b/sys/modules/hyperv/utilities/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/hyperv/utilities
+.PATH: ${SRCTOP}/sys/dev/hyperv/utilities
KMOD= hv_utils
SRCS= vmbus_ic.c
@@ -11,7 +11,7 @@ SRCS+= vmbus_shutdown.c
SRCS+= vmbus_timesync.c
SRCS+= bus_if.h device_if.h vmbus_if.h
-CFLAGS+= -I${.CURDIR}/../../../dev/hyperv/include \
- -I${.CURDIR}/../../../dev/hyperv/vmbus
+CFLAGS+= -I${SRCTOP}/sys/dev/hyperv/include \
+ -I${SRCTOP}/sys/dev/hyperv/vmbus
.include <bsd.kmod.mk>
diff --git a/sys/modules/hyperv/vmbus/Makefile b/sys/modules/hyperv/vmbus/Makefile
index d6052e5..944bf75 100644
--- a/sys/modules/hyperv/vmbus/Makefile
+++ b/sys/modules/hyperv/vmbus/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/hyperv/vmbus \
- ${.CURDIR}/../../../dev/hyperv/vmbus/${MACHINE_CPUARCH}
+.PATH: ${SRCTOP}/sys/dev/hyperv/vmbus \
+ ${SRCTOP}/sys/dev/hyperv/vmbus/${MACHINE_CPUARCH}
KMOD= hv_vmbus
SRCS= hyperv.c \
@@ -12,6 +12,7 @@ SRCS= hyperv.c \
vmbus_chan.c \
vmbus_et.c \
vmbus_if.c \
+ vmbus_res.c \
vmbus_xact.c
SRCS+= acpi_if.h bus_if.h device_if.h opt_acpi.h pci_if.h pcib_if.h vmbus_if.h
@@ -28,7 +29,7 @@ vmbus_vector.o:
${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
${.IMPSRC} -o ${.TARGET}
-CFLAGS+= -I${.CURDIR}/../../../dev/hyperv/include \
- -I${.CURDIR}/../../../dev/hyperv/vmbus
+CFLAGS+= -I${SRCTOP}/sys/dev/hyperv/include \
+ -I${SRCTOP}/sys/dev/hyperv/vmbus
.include <bsd.kmod.mk>
diff --git a/sys/modules/i2c/controllers/alpm/Makefile b/sys/modules/i2c/controllers/alpm/Makefile
index adddfb7..4c6390d 100644
--- a/sys/modules/i2c/controllers/alpm/Makefile
+++ b/sys/modules/i2c/controllers/alpm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/alpm
+.PATH: ${SRCTOP}/sys/dev/alpm
KMOD = alpm
SRCS = device_if.h bus_if.h iicbus_if.h smbus_if.h pci_if.h \
alpm.c
diff --git a/sys/modules/i2c/controllers/amdpm/Makefile b/sys/modules/i2c/controllers/amdpm/Makefile
index 2f6fcec..32478a8 100644
--- a/sys/modules/i2c/controllers/amdpm/Makefile
+++ b/sys/modules/i2c/controllers/amdpm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/amdpm
+.PATH: ${SRCTOP}/sys/dev/amdpm
KMOD = amdpm
SRCS = device_if.h bus_if.h pci_if.h smbus_if.h \
amdpm.c
diff --git a/sys/modules/i2c/controllers/amdsmb/Makefile b/sys/modules/i2c/controllers/amdsmb/Makefile
index 43d1122..d1912e8 100644
--- a/sys/modules/i2c/controllers/amdsmb/Makefile
+++ b/sys/modules/i2c/controllers/amdsmb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/amdsmb
+.PATH: ${SRCTOP}/sys/dev/amdsmb
KMOD= amdsmb
SRCS= amdsmb.c
diff --git a/sys/modules/i2c/controllers/ichiic/Makefile b/sys/modules/i2c/controllers/ichiic/Makefile
index 97db5e8..a7bbcf1 100644
--- a/sys/modules/i2c/controllers/ichiic/Makefile
+++ b/sys/modules/i2c/controllers/ichiic/Makefile
@@ -1,6 +1,6 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/ichiic
+.PATH: ${SRCTOP}/sys/dev/ichiic
KMOD = ig4
SRCS = acpi_if.h device_if.h bus_if.h iicbus_if.h pci_if.h \
smbus_if.h ${ig4_acpi} ig4_iic.c ig4_pci.c ig4_reg.h \
diff --git a/sys/modules/i2c/controllers/ichsmb/Makefile b/sys/modules/i2c/controllers/ichsmb/Makefile
index 7cb9957..e65f1a9 100644
--- a/sys/modules/i2c/controllers/ichsmb/Makefile
+++ b/sys/modules/i2c/controllers/ichsmb/Makefile
@@ -1,6 +1,6 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/ichsmb
+.PATH: ${SRCTOP}/sys/dev/ichsmb
KMOD = ichsmb
SRCS = device_if.h bus_if.h iicbb_if.h pci_if.h smbus_if.h \
ichsmb.c ichsmb_pci.c ichsmb_reg.h ichsmb_var.h
diff --git a/sys/modules/i2c/controllers/intpm/Makefile b/sys/modules/i2c/controllers/intpm/Makefile
index 73d5254..fbc1fa0 100644
--- a/sys/modules/i2c/controllers/intpm/Makefile
+++ b/sys/modules/i2c/controllers/intpm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/intpm
+.PATH: ${SRCTOP}/sys/dev/intpm
KMOD = intpm
SRCS = device_if.h bus_if.h iicbus_if.h smbus_if.h pci_if.h \
opt_intpm.h intpmreg.h intpm.c
diff --git a/sys/modules/i2c/controllers/ismt/Makefile b/sys/modules/i2c/controllers/ismt/Makefile
index 411bab1..1e9a6a7 100644
--- a/sys/modules/i2c/controllers/ismt/Makefile
+++ b/sys/modules/i2c/controllers/ismt/Makefile
@@ -1,6 +1,6 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/ismt
+.PATH: ${SRCTOP}/sys/dev/ismt
KMOD = ismt
SRCS = device_if.h bus_if.h iicbb_if.h pci_if.h smbus_if.h \
ismt.c
diff --git a/sys/modules/i2c/controllers/lpbb/Makefile b/sys/modules/i2c/controllers/lpbb/Makefile
index 77e84d2..10b7e6a 100644
--- a/sys/modules/i2c/controllers/lpbb/Makefile
+++ b/sys/modules/i2c/controllers/lpbb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/ppbus
+.PATH: ${SRCTOP}/sys/dev/ppbus
KMOD = lpbb
SRCS = device_if.h bus_if.h iicbb_if.h ppbus_if.h \
lpbb.c
diff --git a/sys/modules/i2c/controllers/nfsmb/Makefile b/sys/modules/i2c/controllers/nfsmb/Makefile
index bb2a0f2..d5cb3d1 100644
--- a/sys/modules/i2c/controllers/nfsmb/Makefile
+++ b/sys/modules/i2c/controllers/nfsmb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/nfsmb
+.PATH: ${SRCTOP}/sys/dev/nfsmb
KMOD= nfsmb
SRCS= nfsmb.c
diff --git a/sys/modules/i2c/controllers/pcf/Makefile b/sys/modules/i2c/controllers/pcf/Makefile
index 27d9339..94b4b0c 100644
--- a/sys/modules/i2c/controllers/pcf/Makefile
+++ b/sys/modules/i2c/controllers/pcf/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/pcf
+.PATH: ${SRCTOP}/sys/dev/pcf
KMOD= pcf
SRCS= ${envctrl} pcf.c ${pcf_ebus} ${pcf_isa}
diff --git a/sys/modules/i2c/controllers/viapm/Makefile b/sys/modules/i2c/controllers/viapm/Makefile
index f08b053..ab8a356 100644
--- a/sys/modules/i2c/controllers/viapm/Makefile
+++ b/sys/modules/i2c/controllers/viapm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/viapm
+.PATH: ${SRCTOP}/sys/dev/viapm
KMOD = viapm
SRCS = device_if.h bus_if.h iicbb_if.h isa_if.h pci_if.h smbus_if.h \
opt_isa.h viapm.c
diff --git a/sys/modules/i2c/cyapa/Makefile b/sys/modules/i2c/cyapa/Makefile
index eee4a62..0f5b3aa 100644
--- a/sys/modules/i2c/cyapa/Makefile
+++ b/sys/modules/i2c/cyapa/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/cyapa
+.PATH: ${SRCTOP}/sys/dev/cyapa
KMOD = cyapa
SRCS = cyapa.c device_if.h bus_if.h iicbus_if.h vnode_if.h
diff --git a/sys/modules/i2c/if_ic/Makefile b/sys/modules/i2c/if_ic/Makefile
index 67dd734..f928abb 100644
--- a/sys/modules/i2c/if_ic/Makefile
+++ b/sys/modules/i2c/if_ic/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/iicbus
+.PATH: ${SRCTOP}/sys/dev/iicbus
KMOD = if_ic
SRCS = device_if.h bus_if.h iicbus_if.h \
if_ic.c
diff --git a/sys/modules/i2c/iic/Makefile b/sys/modules/i2c/iic/Makefile
index 0ac8678..9de1b4c 100644
--- a/sys/modules/i2c/iic/Makefile
+++ b/sys/modules/i2c/iic/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/iicbus
+.PATH: ${SRCTOP}/sys/dev/iicbus
KMOD = iic
SRCS = device_if.h bus_if.h iicbus_if.h \
iic.c
diff --git a/sys/modules/i2c/iicbb/Makefile b/sys/modules/i2c/iicbb/Makefile
index b226310..0357c9f 100644
--- a/sys/modules/i2c/iicbb/Makefile
+++ b/sys/modules/i2c/iicbb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/iicbus
+.PATH: ${SRCTOP}/sys/dev/iicbus
.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" || \
${MACHINE_CPUARCH} == "mips" || ${MACHINE_CPUARCH} == "powerpc"
ofw_bus_if= ofw_bus_if.h
diff --git a/sys/modules/i2c/iicbus/Makefile b/sys/modules/i2c/iicbus/Makefile
index c3fc8e3..f1e3bd4 100644
--- a/sys/modules/i2c/iicbus/Makefile
+++ b/sys/modules/i2c/iicbus/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/iicbus
+.PATH: ${SRCTOP}/sys/dev/iicbus
KMOD = iicbus
SRCS = device_if.h bus_if.h iicbus_if.h iicbus_if.c \
iiconf.h iiconf.c iicbus.h iicbus.c
diff --git a/sys/modules/i2c/iicsmb/Makefile b/sys/modules/i2c/iicsmb/Makefile
index d0c6764..0e83c86 100644
--- a/sys/modules/i2c/iicsmb/Makefile
+++ b/sys/modules/i2c/iicsmb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/iicbus
+.PATH: ${SRCTOP}/sys/dev/iicbus
KMOD = iicsmb
SRCS = device_if.h bus_if.h iicbus_if.h \
smbus_if.h iicsmb.c
diff --git a/sys/modules/i2c/isl/Makefile b/sys/modules/i2c/isl/Makefile
index 697fdea..0cff6b2 100644
--- a/sys/modules/i2c/isl/Makefile
+++ b/sys/modules/i2c/isl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/isl
+.PATH: ${SRCTOP}/sys/dev/isl
KMOD = isl
SRCS = isl.c device_if.h bus_if.h iicbus_if.h
diff --git a/sys/modules/i2c/jedec_ts/Makefile b/sys/modules/i2c/jedec_ts/Makefile
index 66e6206..422c255 100644
--- a/sys/modules/i2c/jedec_ts/Makefile
+++ b/sys/modules/i2c/jedec_ts/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/jedec_ts
+.PATH: ${SRCTOP}/sys/dev/jedec_ts
KMOD = jedec_ts
SRCS = jedec_ts.c bus_if.h device_if.h smbus_if.h
diff --git a/sys/modules/i2c/smb/Makefile b/sys/modules/i2c/smb/Makefile
index f6f960c..b9a536d 100644
--- a/sys/modules/i2c/smb/Makefile
+++ b/sys/modules/i2c/smb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/smbus
+.PATH: ${SRCTOP}/sys/dev/smbus
KMOD = smb
SRCS = device_if.h bus_if.h smbus_if.h \
smb.c
diff --git a/sys/modules/i2c/smbus/Makefile b/sys/modules/i2c/smbus/Makefile
index 24462d0..b5e78f2 100644
--- a/sys/modules/i2c/smbus/Makefile
+++ b/sys/modules/i2c/smbus/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/smbus
+.PATH: ${SRCTOP}/sys/dev/smbus
KMOD = smbus
SRCS = device_if.h bus_if.h smbus_if.h smbus_if.c \
smbconf.h smbconf.c smbus.h smbus.c
diff --git a/sys/modules/ibcore/Makefile b/sys/modules/ibcore/Makefile
index 490a11a..1845378 100644
--- a/sys/modules/ibcore/Makefile
+++ b/sys/modules/ibcore/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../ofed/drivers/infiniband/core
+.PATH: ${SRCTOP}/sys/ofed/drivers/infiniband/core
KMOD= ibcore
SRCS= addr.c iwcm.c sa_query.c ucma.c uverbs_cmd.c \
@@ -10,9 +10,9 @@ SRCS= addr.c iwcm.c sa_query.c ucma.c uverbs_cmd.c \
vnode_if.h device_if.h bus_if.h pci_if.h \
opt_inet.h opt_inet6.h
-CFLAGS+= -I${.CURDIR}/../../ofed/drivers/infiniband/core
-CFLAGS+= -I${.CURDIR}/../../ofed/include
-CFLAGS+= -I${.CURDIR}/../../compat/linuxkpi/common/include
+CFLAGS+= -I${SRCTOP}/sys/ofed/drivers/infiniband/core
+CFLAGS+= -I${SRCTOP}/sys/ofed/include
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
CFLAGS+= -DINET6 -DINET
.include <bsd.kmod.mk>
diff --git a/sys/modules/ibcs2/Makefile b/sys/modules/ibcs2/Makefile
index 9407cb4..3041dc2 100644
--- a/sys/modules/ibcs2/Makefile
+++ b/sys/modules/ibcs2/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../i386/ibcs2
+.PATH: ${SRCTOP}/sys/i386/ibcs2
KMOD= ibcs2
SRCS= ibcs2_errno.c ibcs2_ipc.c ibcs2_stat.c ibcs2_misc.c \
diff --git a/sys/modules/ichwd/Makefile b/sys/modules/ichwd/Makefile
index 21c1430..2767b46 100644
--- a/sys/modules/ichwd/Makefile
+++ b/sys/modules/ichwd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ichwd
+.PATH: ${SRCTOP}/sys/dev/ichwd
KMOD= ichwd
SRCS= ichwd.c device_if.h bus_if.h pci_if.h isa_if.h
diff --git a/sys/modules/ida/Makefile b/sys/modules/ida/Makefile
index e97ac69..ff3391d 100644
--- a/sys/modules/ida/Makefile
+++ b/sys/modules/ida/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ida
+.PATH: ${SRCTOP}/sys/dev/ida
KMOD= ida
SRCS= ida.c ida_disk.c ida_pci.c \
diff --git a/sys/modules/if_bridge/Makefile b/sys/modules/if_bridge/Makefile
index c4febee..0118728 100644
--- a/sys/modules/if_bridge/Makefile
+++ b/sys/modules/if_bridge/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_bridge
SRCS= if_bridge.c opt_inet.h opt_inet6.h opt_carp.h
diff --git a/sys/modules/if_disc/Makefile b/sys/modules/if_disc/Makefile
index 7a501f1..4b36b64 100644
--- a/sys/modules/if_disc/Makefile
+++ b/sys/modules/if_disc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_disc
SRCS= if_disc.c opt_inet.h opt_inet6.h
diff --git a/sys/modules/if_edsc/Makefile b/sys/modules/if_edsc/Makefile
index af2704b..b793289 100644
--- a/sys/modules/if_edsc/Makefile
+++ b/sys/modules/if_edsc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_edsc
SRCS= if_edsc.c
diff --git a/sys/modules/if_enc/Makefile b/sys/modules/if_enc/Makefile
index 5ecdb9e..badc1b5 100644
--- a/sys/modules/if_enc/Makefile
+++ b/sys/modules/if_enc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
.PATH: ${SYSDIR}/net
diff --git a/sys/modules/if_epair/Makefile b/sys/modules/if_epair/Makefile
index aaffa1f..ee07575 100644
--- a/sys/modules/if_epair/Makefile
+++ b/sys/modules/if_epair/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_epair
SRCS= if_epair.c
diff --git a/sys/modules/if_gif/Makefile b/sys/modules/if_gif/Makefile
index 4767ea6..5799a35 100644
--- a/sys/modules/if_gif/Makefile
+++ b/sys/modules/if_gif/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
.PATH: ${SYSDIR}/net ${SYSDIR}/netinet ${SYSDIR}/netinet6
diff --git a/sys/modules/if_gre/Makefile b/sys/modules/if_gre/Makefile
index bb8ed05..5a6ea98 100644
--- a/sys/modules/if_gre/Makefile
+++ b/sys/modules/if_gre/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.PATH: ${SYSDIR}/net ${SYSDIR}/netinet ${SYSDIR}/netinet6
.include "${SYSDIR}/conf/kern.opts.mk"
diff --git a/sys/modules/if_lagg/Makefile b/sys/modules/if_lagg/Makefile
index cdcc892..2bc7170 100644
--- a/sys/modules/if_lagg/Makefile
+++ b/sys/modules/if_lagg/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_lagg
SRCS= if_lagg.c ieee8023ad_lacp.c opt_inet.h opt_inet6.h
diff --git a/sys/modules/if_me/Makefile b/sys/modules/if_me/Makefile
index 1fa716f..2a6a267 100644
--- a/sys/modules/if_me/Makefile
+++ b/sys/modules/if_me/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_me
SRCS= if_me.c
diff --git a/sys/modules/if_ndis/Makefile b/sys/modules/if_ndis/Makefile
index 79a9b88..ced1a4f 100644
--- a/sys/modules/if_ndis/Makefile
+++ b/sys/modules/if_ndis/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/if_ndis
+.PATH: ${SRCTOP}/sys/dev/if_ndis
KMOD= if_ndis
SRCS= if_ndis.c if_ndis_pci.c if_ndis_pccard.c if_ndis_usb.c
diff --git a/sys/modules/if_stf/Makefile b/sys/modules/if_stf/Makefile
index 4eb2f01..8ce5033 100644
--- a/sys/modules/if_stf/Makefile
+++ b/sys/modules/if_stf/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_stf
SRCS= if_stf.c
diff --git a/sys/modules/if_tap/Makefile b/sys/modules/if_tap/Makefile
index af35fdb..854b57a 100644
--- a/sys/modules/if_tap/Makefile
+++ b/sys/modules/if_tap/Makefile
@@ -2,7 +2,7 @@
#
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_tap
SRCS= if_tap.c opt_compat.h opt_inet.h vnode_if.h
diff --git a/sys/modules/if_tun/Makefile b/sys/modules/if_tun/Makefile
index 4226329..ddfc8d3 100644
--- a/sys/modules/if_tun/Makefile
+++ b/sys/modules/if_tun/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_tun
SRCS= if_tun.c opt_inet.h opt_inet6.h
diff --git a/sys/modules/if_vlan/Makefile b/sys/modules/if_vlan/Makefile
index 9842619..be8e27e 100644
--- a/sys/modules/if_vlan/Makefile
+++ b/sys/modules/if_vlan/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_vlan
SRCS= if_vlan.c
diff --git a/sys/modules/if_vxlan/Makefile b/sys/modules/if_vxlan/Makefile
index 5d27eb3..5a17a58 100644
--- a/sys/modules/if_vxlan/Makefile
+++ b/sys/modules/if_vxlan/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= if_vxlan
SRCS= if_vxlan.c
diff --git a/sys/modules/iir/Makefile b/sys/modules/iir/Makefile
index 591fef8..daccc32 100644
--- a/sys/modules/iir/Makefile
+++ b/sys/modules/iir/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
KMOD = iir
-.PATH: ${.CURDIR}/../../dev/${KMOD}
+.PATH: ${SRCTOP}/sys/dev/${KMOD}
SRCS = iir.c iir_ctrl.c iir_pci.c
SRCS += opt_scsi.h opt_cam.h
SRCS += device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/imgact_binmisc/Makefile b/sys/modules/imgact_binmisc/Makefile
index 490a8bf..6d8f645 100644
--- a/sys/modules/imgact_binmisc/Makefile
+++ b/sys/modules/imgact_binmisc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= imgact_binmisc
SRCS= imgact_binmisc.c
diff --git a/sys/modules/intelspi/Makefile b/sys/modules/intelspi/Makefile
index b53eca7..b2bceee 100644
--- a/sys/modules/intelspi/Makefile
+++ b/sys/modules/intelspi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/intel
+.PATH: ${SRCTOP}/sys/dev/intel
KMOD= intelspi
SRCS= spi.c
SRCS+= acpi_if.h device_if.h bus_if.h opt_acpi.h spibus_if.h
diff --git a/sys/modules/io/Makefile b/sys/modules/io/Makefile
index 1612fa0e..ae93daa 100644
--- a/sys/modules/io/Makefile
+++ b/sys/modules/io/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/io
-.PATH: ${.CURDIR}/../../${MACHINE_CPUARCH}/${MACHINE_CPUARCH}
+.PATH: ${SRCTOP}/sys/dev/io
+.PATH: ${SRCTOP}/sys/${MACHINE_CPUARCH}/${MACHINE_CPUARCH}
KMOD= io
SRCS= iodev.c io.c
diff --git a/sys/modules/ioat/Makefile b/sys/modules/ioat/Makefile
index 3e6baad..329f9d9 100644
--- a/sys/modules/ioat/Makefile
+++ b/sys/modules/ioat/Makefile
@@ -2,7 +2,7 @@
#
# $FreeBSD$
-IOAT_SRC_PATH = ${.CURDIR}/../..
+IOAT_SRC_PATH = ${SRCTOP}/sys
.PATH: ${IOAT_SRC_PATH}/dev/ioat
diff --git a/sys/modules/ip6_mroute_mod/Makefile b/sys/modules/ip6_mroute_mod/Makefile
index a0f94f1..6a85b7c 100644
--- a/sys/modules/ip6_mroute_mod/Makefile
+++ b/sys/modules/ip6_mroute_mod/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netinet6
+.PATH: ${SRCTOP}/sys/netinet6
KMOD= ip6_mroute
diff --git a/sys/modules/ip_mroute_mod/Makefile b/sys/modules/ip_mroute_mod/Makefile
index 1c82717..082d5ed 100644
--- a/sys/modules/ip_mroute_mod/Makefile
+++ b/sys/modules/ip_mroute_mod/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netinet ${.CURDIR}/../../netinet6
+.PATH: ${SRCTOP}/sys/netinet ${SRCTOP}/sys/netinet6
KMOD= ip_mroute
diff --git a/sys/modules/ipdivert/Makefile b/sys/modules/ipdivert/Makefile
index f67ce4b..463513b 100644
--- a/sys/modules/ipdivert/Makefile
+++ b/sys/modules/ipdivert/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netinet
+.PATH: ${SRCTOP}/sys/netinet
KMOD= ipdivert
SRCS= ip_divert.c opt_inet.h opt_inet6.h opt_sctp.h
diff --git a/sys/modules/ipfilter/Makefile b/sys/modules/ipfilter/Makefile
index f89588f..d900c55 100644
--- a/sys/modules/ipfilter/Makefile
+++ b/sys/modules/ipfilter/Makefile
@@ -1,6 +1,6 @@
-# $FreeBSD$
+# $FreeBSD$
-.PATH: ${.CURDIR}/../../contrib/ipfilter/netinet
+.PATH: ${SRCTOP}/sys/contrib/ipfilter/netinet
KMOD= ipl
SRCS= mlfk_ipl.c ip_nat.c ip_frag.c ip_state.c ip_proxy.c ip_auth.c \
@@ -9,7 +9,7 @@ SRCS= mlfk_ipl.c ip_nat.c ip_frag.c ip_state.c ip_proxy.c ip_auth.c \
ip_nat6.c ip_rules.c ip_scan.c ip_dstlist.c radix_ipf.c
SRCS+= opt_bpf.h opt_inet6.h
-CFLAGS+= -I${.CURDIR}/../../contrib/ipfilter
+CFLAGS+= -I${SRCTOP}/sys/contrib/ipfilter
CFLAGS+= -DIPFILTER=1 -DIPFILTER_LKM -DIPFILTER_LOG -DIPFILTER_LOOKUP
#
# If you don't want log functionality remove -DIPFILTER_LOG
diff --git a/sys/modules/ipfw/Makefile b/sys/modules/ipfw/Makefile
index a8348bd..1b0e79a 100644
--- a/sys/modules/ipfw/Makefile
+++ b/sys/modules/ipfw/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netpfil/ipfw
+.PATH: ${SRCTOP}/sys/netpfil/ipfw
KMOD= ipfw
SRCS= ip_fw2.c ip_fw_pfil.c ip_fw_bpf.c
diff --git a/sys/modules/ipfw_nat/Makefile b/sys/modules/ipfw_nat/Makefile
index e4638a6..37e72c8 100644
--- a/sys/modules/ipfw_nat/Makefile
+++ b/sys/modules/ipfw_nat/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netpfil/ipfw
+.PATH: ${SRCTOP}/sys/netpfil/ipfw
KMOD= ipfw_nat
SRCS= ip_fw_nat.c
diff --git a/sys/modules/ipfw_nat64/Makefile b/sys/modules/ipfw_nat64/Makefile
index c647845..c696f5b 100644
--- a/sys/modules/ipfw_nat64/Makefile
+++ b/sys/modules/ipfw_nat64/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netpfil/ipfw/nat64
+.PATH: ${SRCTOP}/sys/netpfil/ipfw/nat64
KMOD= ipfw_nat64
SRCS= ip_fw_nat64.c nat64_translate.c
diff --git a/sys/modules/ipfw_nptv6/Makefile b/sys/modules/ipfw_nptv6/Makefile
index a3cf004..fb03f6e 100644
--- a/sys/modules/ipfw_nptv6/Makefile
+++ b/sys/modules/ipfw_nptv6/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netpfil/ipfw/nptv6
+.PATH: ${SRCTOP}/sys/netpfil/ipfw/nptv6
KMOD= ipfw_nptv6
SRCS= ip_fw_nptv6.c nptv6.c opt_ipfw.h
diff --git a/sys/modules/ipmi/Makefile b/sys/modules/ipmi/Makefile
index 7493b23..12de006 100644
--- a/sys/modules/ipmi/Makefile
+++ b/sys/modules/ipmi/Makefile
@@ -2,7 +2,7 @@
SUBDIR+= ipmi_linux
-.PATH: ${.CURDIR}/../../dev/ipmi
+.PATH: ${SRCTOP}/sys/dev/ipmi
# XXX - ipmi_smbus and ipmi_ssif depend on smbus
# XXX - ipmi_acpi depends on acpi
diff --git a/sys/modules/ipmi/ipmi_linux/Makefile b/sys/modules/ipmi/ipmi_linux/Makefile
index bbdef1b..04020cb 100644
--- a/sys/modules/ipmi/ipmi_linux/Makefile
+++ b/sys/modules/ipmi/ipmi_linux/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ipmi
+.PATH: ${SRCTOP}/sys/dev/ipmi
KMOD= ipmi_linux
SRCS= ipmi_linux.c
diff --git a/sys/modules/ipoib/Makefile b/sys/modules/ipoib/Makefile
index a24c616..11751ec 100644
--- a/sys/modules/ipoib/Makefile
+++ b/sys/modules/ipoib/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../ofed/drivers/infiniband/ulp/ipoib
+.PATH: ${SRCTOP}/sys/ofed/drivers/infiniband/ulp/ipoib
KMOD= ipoib
SRCS= device_if.h bus_if.h vnode_if.h pci_if.h \
@@ -7,9 +7,9 @@ SRCS= device_if.h bus_if.h vnode_if.h pci_if.h \
ipoib_cm.c ipoib_ib.c ipoib_main.c \
ipoib_multicast.c ipoib_verbs.c
-CFLAGS+= -I${.CURDIR}/../../ofed/drivers/infiniband/ulp/ipoib
-CFLAGS+= -I${.CURDIR}/../../ofed/include
-CFLAGS+= -I${.CURDIR}/../../compat/linuxkpi/common/include
+CFLAGS+= -I${SRCTOP}/sys/ofed/drivers/infiniband/ulp/ipoib
+CFLAGS+= -I${SRCTOP}/sys/ofed/include
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
.include <bsd.kmod.mk>
diff --git a/sys/modules/ips/Makefile b/sys/modules/ips/Makefile
index 0be0e2a..0450023 100644
--- a/sys/modules/ips/Makefile
+++ b/sys/modules/ips/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ips
+.PATH: ${SRCTOP}/sys/dev/ips
KMOD = ips
SRCS = ips.c ips_pci.c ips.h ips_disk.c ips_disk.h ips_commands.c \
ips_ioctl.h ips_ioctl.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/ipsec/Makefile b/sys/modules/ipsec/Makefile
index ed061f3..01b92c5 100644
--- a/sys/modules/ipsec/Makefile
+++ b/sys/modules/ipsec/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net ${.CURDIR}/../../netipsec
+.PATH: ${SRCTOP}/sys/net ${SRCTOP}/sys/netipsec
KMOD= ipsec
SRCS= if_ipsec.c ipsec.c ipsec_input.c ipsec_mbuf.c ipsec_mod.c \
diff --git a/sys/modules/ipw/Makefile b/sys/modules/ipw/Makefile
index 741d852..521a51b 100644
--- a/sys/modules/ipw/Makefile
+++ b/sys/modules/ipw/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ipw
+.PATH: ${SRCTOP}/sys/dev/ipw
KMOD = if_ipw
SRCS = if_ipw.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/ipwfw/ipw_bss/Makefile b/sys/modules/ipwfw/ipw_bss/Makefile
index 2f57711..7ae96cd 100644
--- a/sys/modules/ipwfw/ipw_bss/Makefile
+++ b/sys/modules/ipwfw/ipw_bss/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../contrib/dev/ipw
+.PATH: ${SRCTOP}/sys/contrib/dev/ipw
KMOD= ipw_bss
FIRMWS= ipw_bss:ipw_bss:130
@@ -8,8 +8,8 @@ FIRMWARE_LICENSE= intel_ipw
CLEANFILES= ipw_bss
-ipw_bss: ${.CURDIR}/../../../contrib/dev/ipw/ipw2100-1.3.fw.uu
- uudecode -p ${.CURDIR}/../../../contrib/dev/ipw/ipw2100-1.3.fw.uu > ${.TARGET}
+ipw_bss: ipw2100-1.3.fw.uu
+ uudecode -p ${.ALLSRC} > ${.TARGET}
.include <bsd.kmod.mk>
diff --git a/sys/modules/ipwfw/ipw_ibss/Makefile b/sys/modules/ipwfw/ipw_ibss/Makefile
index 10281b1..3f4d48e 100644
--- a/sys/modules/ipwfw/ipw_ibss/Makefile
+++ b/sys/modules/ipwfw/ipw_ibss/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../contrib/dev/ipw
+.PATH: ${SRCTOP}/sys/contrib/dev/ipw
KMOD= ipw_ibss
FIRMWS= ipw_ibss:ipw_ibss:130
@@ -8,8 +8,8 @@ FIRMWARE_LICENSE= intel_ipw
CLEANFILES= ipw_ibss
-ipw_ibss: ${.CURDIR}/../../../contrib/dev/ipw/ipw2100-1.3-i.fw.uu
- uudecode -p ${.CURDIR}/../../../contrib/dev/ipw/ipw2100-1.3-i.fw.uu > ${.TARGET}
+ipw_ibss: ipw2100-1.3-i.fw.uu
+ uudecode -p ${.ALLSRC} > ${.TARGET}
.include <bsd.kmod.mk>
diff --git a/sys/modules/ipwfw/ipw_monitor/Makefile b/sys/modules/ipwfw/ipw_monitor/Makefile
index cdc28b2..1073a7a 100644
--- a/sys/modules/ipwfw/ipw_monitor/Makefile
+++ b/sys/modules/ipwfw/ipw_monitor/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../contrib/dev/ipw
+.PATH: ${SRCTOP}/sys/contrib/dev/ipw
KMOD= ipw_monitor
FIRMWS= ipw_monitor:ipw_monitor:130
@@ -8,8 +8,8 @@ FIRMWARE_LICENSE= intel_ipw
CLEANFILES= ipw_monitor
-ipw_monitor: ${.CURDIR}/../../../contrib/dev/ipw/ipw2100-1.3-p.fw.uu
- uudecode -p ${.CURDIR}/../../../contrib/dev/ipw/ipw2100-1.3-p.fw.uu > ${.TARGET}
+ipw_monitor: ipw2100-1.3-p.fw.uu
+ uudecode -p ${.ALLSRC} > ${.TARGET}
.include <bsd.kmod.mk>
diff --git a/sys/modules/isci/Makefile b/sys/modules/isci/Makefile
index 82d4018..9324efe 100644
--- a/sys/modules/isci/Makefile
+++ b/sys/modules/isci/Makefile
@@ -2,7 +2,7 @@
#
# $FreeBSD$
-ISCI_SRC_PATH = ${.CURDIR}/../..
+ISCI_SRC_PATH = ${SRCTOP}/sys
.PATH: ${ISCI_SRC_PATH}/dev/isci ${ISCI_SRC_PATH}/dev/isci/scil
diff --git a/sys/modules/iscsi/Makefile b/sys/modules/iscsi/Makefile
index 33f3cbf..9b150f5 100644
--- a/sys/modules/iscsi/Makefile
+++ b/sys/modules/iscsi/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
-.PATH: ${.CURDIR}/../../dev/iscsi/
+.PATH: ${SRCTOP}/sys/dev/iscsi/
KMOD= iscsi
SRCS= iscsi.c
diff --git a/sys/modules/iscsi_initiator/Makefile b/sys/modules/iscsi_initiator/Makefile
index 0ae7aa4..50d543d 100644
--- a/sys/modules/iscsi_initiator/Makefile
+++ b/sys/modules/iscsi_initiator/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/iscsi_initiator
+.PATH: ${SRCTOP}/sys/dev/iscsi_initiator
KMOD=iscsi_initiator
SRCS= iscsi.h iscsivar.h
diff --git a/sys/modules/iser/Makefile b/sys/modules/iser/Makefile
index 2f7955e..bb2fd01 100644
--- a/sys/modules/iser/Makefile
+++ b/sys/modules/iser/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/iser/
+.PATH: ${SRCTOP}/sys/dev/iser/
.include <bsd.own.mk>
@@ -18,7 +18,7 @@ SRCS+= bus_if.h
SRCS+= device_if.h
SRCS+= icl_conn_if.h
-CFLAGS+= -I${.CURDIR}/../../
+CFLAGS+= -I${SRCTOP}/sys/
CFLAGS+= -I${SYSDIR}/ofed/include
CFLAGS+= -I${SYSDIR}/compat/linuxkpi/common/include
CFLAGS+= -DCONFIG_INFINIBAND_USER_MEM
diff --git a/sys/modules/isp/Makefile b/sys/modules/isp/Makefile
index 1caeef6..d59d540 100644
--- a/sys/modules/isp/Makefile
+++ b/sys/modules/isp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/isp
+.PATH: ${SRCTOP}/sys/dev/isp
KMOD= isp
SRCS= bus_if.h device_if.h pci_if.h \
diff --git a/sys/modules/ispfw/isp_1000/Makefile b/sys/modules/ispfw/isp_1000/Makefile
index ef2189d..602984d 100644
--- a/sys/modules/ispfw/isp_1000/Makefile
+++ b/sys/modules/ispfw/isp_1000/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= isp_1000
SRCS= ispfw.c
diff --git a/sys/modules/ispfw/isp_1040/Makefile b/sys/modules/ispfw/isp_1040/Makefile
index 4227704..38e8da7 100644
--- a/sys/modules/ispfw/isp_1040/Makefile
+++ b/sys/modules/ispfw/isp_1040/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= isp_1040
SRCS= ispfw.c
diff --git a/sys/modules/ispfw/isp_1080/Makefile b/sys/modules/ispfw/isp_1080/Makefile
index 0e383bf..f30791f 100644
--- a/sys/modules/ispfw/isp_1080/Makefile
+++ b/sys/modules/ispfw/isp_1080/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= isp_1080
SRCS= ispfw.c
diff --git a/sys/modules/ispfw/isp_12160/Makefile b/sys/modules/ispfw/isp_12160/Makefile
index 7c28442..a984962 100644
--- a/sys/modules/ispfw/isp_12160/Makefile
+++ b/sys/modules/ispfw/isp_12160/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= isp_12160
SRCS= ispfw.c
diff --git a/sys/modules/ispfw/isp_2100/Makefile b/sys/modules/ispfw/isp_2100/Makefile
index 178f090..4919d15 100644
--- a/sys/modules/ispfw/isp_2100/Makefile
+++ b/sys/modules/ispfw/isp_2100/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= isp_2100
SRCS= ispfw.c
diff --git a/sys/modules/ispfw/isp_2200/Makefile b/sys/modules/ispfw/isp_2200/Makefile
index 64a41f1..d36e6eb 100644
--- a/sys/modules/ispfw/isp_2200/Makefile
+++ b/sys/modules/ispfw/isp_2200/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= isp_2200
SRCS= ispfw.c
diff --git a/sys/modules/ispfw/isp_2300/Makefile b/sys/modules/ispfw/isp_2300/Makefile
index 4acceda..d0f9994 100644
--- a/sys/modules/ispfw/isp_2300/Makefile
+++ b/sys/modules/ispfw/isp_2300/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= isp_2300
SRCS= ispfw.c
diff --git a/sys/modules/ispfw/isp_2322/Makefile b/sys/modules/ispfw/isp_2322/Makefile
index 3ebb30f..e44f730 100644
--- a/sys/modules/ispfw/isp_2322/Makefile
+++ b/sys/modules/ispfw/isp_2322/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= isp_2322
SRCS= ispfw.c
diff --git a/sys/modules/ispfw/isp_2400/Makefile b/sys/modules/ispfw/isp_2400/Makefile
index 2655fd0..fdaf959 100644
--- a/sys/modules/ispfw/isp_2400/Makefile
+++ b/sys/modules/ispfw/isp_2400/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= isp_2400
SRCS= ispfw.c
diff --git a/sys/modules/ispfw/isp_2500/Makefile b/sys/modules/ispfw/isp_2500/Makefile
index 80a2ee3..7067a81 100644
--- a/sys/modules/ispfw/isp_2500/Makefile
+++ b/sys/modules/ispfw/isp_2500/Makefile
@@ -26,7 +26,7 @@
#
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= isp_2500
SRCS= ispfw.c
diff --git a/sys/modules/ispfw/ispfw/Makefile b/sys/modules/ispfw/ispfw/Makefile
index f3b8694..464ff85 100644
--- a/sys/modules/ispfw/ispfw/Makefile
+++ b/sys/modules/ispfw/ispfw/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ispfw
+.PATH: ${SRCTOP}/sys/dev/ispfw
KMOD= ispfw
SRCS= ispfw.c
diff --git a/sys/modules/iwi/Makefile b/sys/modules/iwi/Makefile
index 60c6051..a9c31a7 100644
--- a/sys/modules/iwi/Makefile
+++ b/sys/modules/iwi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/iwi
+.PATH: ${SRCTOP}/sys/dev/iwi
KMOD = if_iwi
SRCS = if_iwi.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/iwifw/iwi_bss/Makefile b/sys/modules/iwifw/iwi_bss/Makefile
index 5bb7a46..9fdcf4a 100644
--- a/sys/modules/iwifw/iwi_bss/Makefile
+++ b/sys/modules/iwifw/iwi_bss/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../contrib/dev/iwi
+.PATH: ${SRCTOP}/sys/contrib/dev/iwi
KMOD= iwi_bss
FIRMWS= iwi_bss:iwi_bss:300
@@ -8,8 +8,8 @@ FIRMWARE_LICENSE= intel_iwi
CLEANFILES= iwi_bss
-iwi_bss: ${.CURDIR}/../../../contrib/dev/iwi/ipw2200-bss.fw.uu
- uudecode -p ${.CURDIR}/../../../contrib/dev/iwi/ipw2200-bss.fw.uu > ${.TARGET}
+iwi_bss: ipw2200-bss.fw.uu
+ uudecode -p ${.ALLSRC} > ${.TARGET}
.include <bsd.kmod.mk>
diff --git a/sys/modules/iwifw/iwi_ibss/Makefile b/sys/modules/iwifw/iwi_ibss/Makefile
index 35d0656..3dfc5f3 100644
--- a/sys/modules/iwifw/iwi_ibss/Makefile
+++ b/sys/modules/iwifw/iwi_ibss/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../contrib/dev/iwi
+.PATH: ${SRCTOP}/sys/contrib/dev/iwi
KMOD= iwi_ibss
FIRMWS= iwi_ibss:iwi_ibss:300
@@ -8,8 +8,8 @@ FIRMWARE_LICENSE= intel_iwi
CLEANFILES= iwi_fw
-iwi_ibss: ${.CURDIR}/../../../contrib/dev/iwi/ipw2200-ibss.fw.uu
- uudecode -p ${.CURDIR}/../../../contrib/dev/iwi/ipw2200-ibss.fw.uu > ${.TARGET}
+iwi_ibss: ipw2200-ibss.fw.uu
+ uudecode -p ${.ALLSRC} > ${.TARGET}
.include <bsd.kmod.mk>
diff --git a/sys/modules/iwifw/iwi_monitor/Makefile b/sys/modules/iwifw/iwi_monitor/Makefile
index c05c6f1..5ab5a39 100644
--- a/sys/modules/iwifw/iwi_monitor/Makefile
+++ b/sys/modules/iwifw/iwi_monitor/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../contrib/dev/iwi
+.PATH: ${SRCTOP}/sys/contrib/dev/iwi
KMOD= iwi_monitor
FIRMWS= iwi_monitor:iwi_monitor:300
@@ -8,8 +8,7 @@ FIRMWARE_LICENSE= intel_iwi
CLEANFILES= iwi_monitor
-iwi_monitor: ${.CURDIR}/../../../contrib/dev/iwi/ipw2200-sniffer.fw.uu
- uudecode -p ${.CURDIR}/../../../contrib/dev/iwi/ipw2200-sniffer.fw.uu > ${.TARGET}
+iwi_monitor: ipw2200-sniffer.fw.uu
+ uudecode -p ${.ALLSRC} > ${.TARGET}
.include <bsd.kmod.mk>
-
diff --git a/sys/modules/iwm/Makefile b/sys/modules/iwm/Makefile
index aa7fc62..9b1611b 100644
--- a/sys/modules/iwm/Makefile
+++ b/sys/modules/iwm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/iwm
+.PATH: ${SRCTOP}/sys/dev/iwm
KMOD= if_iwm
# Main driver
diff --git a/sys/modules/iwmfw/Makefile.inc b/sys/modules/iwmfw/Makefile.inc
index 5f4aa37..eaa0e32 100644
--- a/sys/modules/iwmfw/Makefile.inc
+++ b/sys/modules/iwmfw/Makefile.inc
@@ -14,5 +14,5 @@ FIRMWS= ${_FIRM}:${KMOD}
#
#FIRMWARE_LICENSE=
-${_FIRM}: ${.CURDIR}/../../../contrib/dev/iwm/${_FIRM}.uu
+${_FIRM}: ${SRCTOP}/sys/contrib/dev/iwm/${_FIRM}.uu
uudecode -p $? > ${.TARGET}
diff --git a/sys/modules/iwn/Makefile b/sys/modules/iwn/Makefile
index e4f2c3e..102c64b 100644
--- a/sys/modules/iwn/Makefile
+++ b/sys/modules/iwn/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/iwn
+.PATH: ${SRCTOP}/sys/dev/iwn
KMOD = if_iwn
SRCS = if_iwn.c device_if.h bus_if.h pci_if.h opt_iwn.h opt_wlan.h
diff --git a/sys/modules/iwnfw/Makefile.inc b/sys/modules/iwnfw/Makefile.inc
index 10ac9e1..17d1127 100644
--- a/sys/modules/iwnfw/Makefile.inc
+++ b/sys/modules/iwnfw/Makefile.inc
@@ -14,5 +14,5 @@ FIRMWS= ${_FIRM}:${KMOD}
#
#FIRMWARE_LICENSE=
-${_FIRM}: ${.CURDIR}/../../../contrib/dev/iwn/${_FIRM}.uu
+${_FIRM}: ${SRCTOP}/sys/contrib/dev/iwn/${_FIRM}.uu
uudecode -p $? > ${.TARGET}
diff --git a/sys/modules/ix/Makefile b/sys/modules/ix/Makefile
index 8747bac..0da7294 100644
--- a/sys/modules/ix/Makefile
+++ b/sys/modules/ix/Makefile
@@ -1,6 +1,6 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ixgbe
+.PATH: ${SRCTOP}/sys/dev/ixgbe
KMOD = if_ix
SRCS = device_if.h bus_if.h pci_if.h pci_iov_if.h
@@ -10,6 +10,6 @@ SRCS += if_ix.c ix_txrx.c ixgbe_osdep.c
SRCS += ixgbe_common.c ixgbe_api.c ixgbe_phy.c ixgbe_mbx.c ixgbe_vf.c
SRCS += ixgbe_dcb.c ixgbe_dcb_82598.c ixgbe_dcb_82599.c
SRCS += ixgbe_82598.c ixgbe_82599.c ixgbe_x540.c ixgbe_x550.c
-CFLAGS+= -I${.CURDIR}/../../dev/ixgbe -DSMP
+CFLAGS+= -I${SRCTOP}/sys/dev/ixgbe -DSMP
.include <bsd.kmod.mk>
diff --git a/sys/modules/ixgb/Makefile b/sys/modules/ixgb/Makefile
index 16e5975..31877a9 100644
--- a/sys/modules/ixgb/Makefile
+++ b/sys/modules/ixgb/Makefile
@@ -1,6 +1,6 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ixgb
+.PATH: ${SRCTOP}/sys/dev/ixgb
KMOD= if_ixgb
SRCS= if_ixgb.c ixgb_hw.c ixgb_ee.c
diff --git a/sys/modules/ixl/Makefile b/sys/modules/ixl/Makefile
index e962c31..daacaec 100644
--- a/sys/modules/ixl/Makefile
+++ b/sys/modules/ixl/Makefile
@@ -1,12 +1,12 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ixl
+.PATH: ${SRCTOP}/sys/dev/ixl
KMOD = if_ixl
SRCS = device_if.h bus_if.h pci_if.h pci_iov_if.h
-SRCS += opt_inet.h opt_inet6.h opt_rss.h
-SRCS += if_ixl.c ixl_pf_main.c ixl_pf_qmgr.c ixl_txrx.c i40e_osdep.c
-SRCS += ixl_pf_iov.c
+SRCS += opt_inet.h opt_inet6.h opt_rss.h opt_ixl.h
+SRCS += if_ixl.c ixl_pf_main.c ixl_pf_qmgr.c ixl_txrx.c ixl_pf_i2c.c i40e_osdep.c
+SRCS += ixl_pf_iov.c ixl_iw.c
# Shared source
SRCS += i40e_common.c i40e_nvm.c i40e_adminq.c i40e_lan_hmc.c i40e_hmc.c
diff --git a/sys/modules/ixlv/Makefile b/sys/modules/ixlv/Makefile
index ac2c2c4..46f112a 100644
--- a/sys/modules/ixlv/Makefile
+++ b/sys/modules/ixlv/Makefile
@@ -1,10 +1,10 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ixl
+.PATH: ${SRCTOP}/sys/dev/ixl
KMOD = if_ixlv
-SRCS = device_if.h bus_if.h pci_if.h pci_iov_if.h
-SRCS += opt_inet.h opt_inet6.h opt_rss.h
+SRCS = device_if.h bus_if.h pci_if.h
+SRCS += opt_inet.h opt_inet6.h opt_rss.h opt_ixl.h
SRCS += if_ixlv.c ixlvc.c ixl_txrx.c i40e_osdep.c
# Shared source
diff --git a/sys/modules/ixv/Makefile b/sys/modules/ixv/Makefile
index 66ea129..814efa2 100644
--- a/sys/modules/ixv/Makefile
+++ b/sys/modules/ixv/Makefile
@@ -1,6 +1,6 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ixgbe
+.PATH: ${SRCTOP}/sys/dev/ixgbe
KMOD = if_ixv
SRCS = device_if.h bus_if.h pci_if.h pci_iov_if.h
@@ -10,6 +10,6 @@ SRCS += if_ixv.c ix_txrx.c ixgbe_osdep.c
SRCS += ixgbe_common.c ixgbe_api.c ixgbe_phy.c ixgbe_mbx.c ixgbe_vf.c
SRCS += ixgbe_dcb.c ixgbe_dcb_82598.c ixgbe_dcb_82599.c
SRCS += ixgbe_82598.c ixgbe_82599.c ixgbe_x540.c ixgbe_x550.c
-CFLAGS+= -I${.CURDIR}/../../dev/ixgbe -DSMP
+CFLAGS+= -I${SRCTOP}/sys/dev/ixgbe -DSMP
.include <bsd.kmod.mk>
diff --git a/sys/modules/jme/Makefile b/sys/modules/jme/Makefile
index 5c41523..5a22ee1 100644
--- a/sys/modules/jme/Makefile
+++ b/sys/modules/jme/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/jme
+.PATH: ${SRCTOP}/sys/dev/jme
KMOD= if_jme
SRCS= if_jme.c device_if.h bus_if.h pci_if.h miibus_if.h
diff --git a/sys/modules/joy/Makefile b/sys/modules/joy/Makefile
index 826ea6f..ecd4f18 100644
--- a/sys/modules/joy/Makefile
+++ b/sys/modules/joy/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/joy
+.PATH: ${SRCTOP}/sys/dev/joy
KMOD= joy
SRCS= bus_if.h device_if.h isa_if.h joy.c joy_isa.c
diff --git a/sys/modules/kbdmux/Makefile b/sys/modules/kbdmux/Makefile
index 03feb8f..079a779 100644
--- a/sys/modules/kbdmux/Makefile
+++ b/sys/modules/kbdmux/Makefile
@@ -1,7 +1,7 @@
# $Id: Makefile,v 1.1 2005/06/23 00:30:50 max Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/kbdmux
+.PATH: ${SRCTOP}/sys/dev/kbdmux
KMOD= kbdmux
SRCS= kbdmux.c opt_compat.h opt_evdev.h opt_kbd.h opt_kbdmux.h bus_if.h \
diff --git a/sys/modules/kgssapi/Makefile b/sys/modules/kgssapi/Makefile
index c2c8e13..a720cdd 100644
--- a/sys/modules/kgssapi/Makefile
+++ b/sys/modules/kgssapi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kgssapi ${.CURDIR}/../../rpc/rpcsec_gss
+.PATH: ${SRCTOP}/sys/kgssapi ${SRCTOP}/sys/rpc/rpcsec_gss
KMOD= kgssapi
SRCS= gss_accept_sec_context.c \
@@ -40,7 +40,7 @@ SRCS+= kgss_if.h kgss_if.c
SRCS+= gssd.h gssd_xdr.c gssd_clnt.c
CLEANFILES= gssd.h gssd_xdr.c gssd_clnt.c
-S= ${.CURDIR}/../..
+S= ${SRCTOP}/sys
gssd.h: $S/kgssapi/gssd.x
RPCGEN_CPP=${CPP:Q} rpcgen -hM $S/kgssapi/gssd.x | grep -v pthread.h > gssd.h
diff --git a/sys/modules/kgssapi_krb5/Makefile b/sys/modules/kgssapi_krb5/Makefile
index dfa4b99..3eb2465 100644
--- a/sys/modules/kgssapi_krb5/Makefile
+++ b/sys/modules/kgssapi_krb5/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kgssapi/krb5
+.PATH: ${SRCTOP}/sys/kgssapi/krb5
KMOD= kgssapi_krb5
SRCS= krb5_mech.c \
@@ -14,7 +14,7 @@ SRCS= krb5_mech.c \
SRCS+= kgss_if.h gssd.h
CLEANFILES= gssd.h
-S= ${.CURDIR}/../..
+S= ${SRCTOP}/sys
gssd.h: $S/kgssapi/gssd.x
RPCGEN_CPP=${CPP:Q} rpcgen -hM $S/kgssapi/gssd.x | grep -v pthread.h > gssd.h
diff --git a/sys/modules/khelp/h_ertt/Makefile b/sys/modules/khelp/h_ertt/Makefile
index 956d419..fa58264 100644
--- a/sys/modules/khelp/h_ertt/Makefile
+++ b/sys/modules/khelp/h_ertt/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../netinet/khelp
+.PATH: ${SRCTOP}/sys/netinet/khelp
KMOD= h_ertt
SRCS= h_ertt.c
diff --git a/sys/modules/krpc/Makefile b/sys/modules/krpc/Makefile
index 0f4b536..e66130f 100644
--- a/sys/modules/krpc/Makefile
+++ b/sys/modules/krpc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../rpc ${.CURDIR}/../../xdr
+.PATH: ${SRCTOP}/sys/rpc ${SRCTOP}/sys/xdr
KMOD= krpc
SRCS= auth_none.c \
auth_unix.c \
diff --git a/sys/modules/ksyms/Makefile b/sys/modules/ksyms/Makefile
index e5480b8..48deeed 100644
--- a/sys/modules/ksyms/Makefile
+++ b/sys/modules/ksyms/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ksyms
+.PATH: ${SRCTOP}/sys/dev/ksyms
KMOD= ksyms
SRCS= ksyms.c linker_if.h
diff --git a/sys/modules/le/Makefile b/sys/modules/le/Makefile
index d267cbe..4a169db 100644
--- a/sys/modules/le/Makefile
+++ b/sys/modules/le/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/le
+.PATH: ${SRCTOP}/sys/dev/le
KMOD= if_le
SRCS= am7990.c am79900.c ${if_le_cbus} ${if_le_isa} ${if_le_lebuffer}
diff --git a/sys/modules/lge/Makefile b/sys/modules/lge/Makefile
index 810e220..38dbfa5 100644
--- a/sys/modules/lge/Makefile
+++ b/sys/modules/lge/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/lge
+.PATH: ${SRCTOP}/sys/dev/lge
KMOD= if_lge
SRCS= if_lge.c miibus_if.h device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/libalias/libalias/Makefile b/sys/modules/libalias/libalias/Makefile
index d1030c8..655e67b 100644
--- a/sys/modules/libalias/libalias/Makefile
+++ b/sys/modules/libalias/libalias/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../netinet/libalias
+.PATH: ${SRCTOP}/sys/netinet/libalias
KMOD= libalias
SRCS= alias.c alias_db.c alias_proxy.c alias_util.c alias_mod.c alias_sctp.c
diff --git a/sys/modules/libalias/modules/Makefile.inc b/sys/modules/libalias/modules/Makefile.inc
index 78391c5..d130288 100644
--- a/sys/modules/libalias/modules/Makefile.inc
+++ b/sys/modules/libalias/modules/Makefile.inc
@@ -1,3 +1,3 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../netinet/libalias
+.PATH: ${SRCTOP}/sys/netinet/libalias
diff --git a/sys/modules/libiconv/Makefile b/sys/modules/libiconv/Makefile
index dd14046..c1033b0 100644
--- a/sys/modules/libiconv/Makefile
+++ b/sys/modules/libiconv/Makefile
@@ -1,10 +1,10 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../libkern ${.CURDIR}/../../sys
+.PATH: ${SRCTOP}/sys/libkern ${SRCTOP}/sys/sys
KMOD= libiconv
SRCS= iconv.c iconv_ucs.c iconv_xlat.c iconv_xlat16.c
-SRCS+= iconv.h
+SRCS+= iconv.h
SRCS+= iconv_converter_if.c iconv_converter_if.h
EXPORT_SYMS= iconv_add \
diff --git a/sys/modules/libmbpool/Makefile b/sys/modules/libmbpool/Makefile
index efd15ec..2b694be 100644
--- a/sys/modules/libmbpool/Makefile
+++ b/sys/modules/libmbpool/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= libmbpool
SRCS= subr_mbpool.c
diff --git a/sys/modules/libmchain/Makefile b/sys/modules/libmchain/Makefile
index b8ab48e..f702c14 100644
--- a/sys/modules/libmchain/Makefile
+++ b/sys/modules/libmchain/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= libmchain
SRCS= subr_mchain.c
diff --git a/sys/modules/linprocfs/Makefile b/sys/modules/linprocfs/Makefile
index 979429f..6408a98 100644
--- a/sys/modules/linprocfs/Makefile
+++ b/sys/modules/linprocfs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../compat/linprocfs
+.PATH: ${SRCTOP}/sys/compat/linprocfs
KMOD= linprocfs
SRCS= vnode_if.h \
diff --git a/sys/modules/linsysfs/Makefile b/sys/modules/linsysfs/Makefile
index 13230ff..6eaa844 100644
--- a/sys/modules/linsysfs/Makefile
+++ b/sys/modules/linsysfs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../compat/linsysfs
+.PATH: ${SRCTOP}/sys/compat/linsysfs
KMOD= linsysfs
SRCS= vnode_if.h \
diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile
index d1707c9..89f3aeb 100644
--- a/sys/modules/linux/Makefile
+++ b/sys/modules/linux/Makefile
@@ -5,7 +5,7 @@ SFX= 32
CFLAGS+=-DCOMPAT_FREEBSD32 -DCOMPAT_LINUX32
.endif
-.PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_CPUARCH}/linux${SFX}
+.PATH: ${SRCTOP}/sys/compat/linux ${SRCTOP}/sys/${MACHINE_CPUARCH}/linux${SFX}
VDSO= linux${SFX}_vdso
@@ -52,7 +52,7 @@ linux${SFX}_locore.o: linux${SFX}_assym.h assym.s
${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s \
-pipe -I. -I${SYSDIR} -Werror -Wall -fno-common -nostdinc -nostdlib \
-fno-omit-frame-pointer -fPIC \
- -Wl,-T${.CURDIR}/../../${MACHINE_CPUARCH}/linux${SFX}/${VDSO}.lds.s \
+ -Wl,-T${SRCTOP}/sys/${MACHINE_CPUARCH}/linux${SFX}/${VDSO}.lds.s \
-Wl,-soname=${VDSO}.so.1,--eh-frame-hdr,-warn-common \
${.IMPSRC} -o ${.TARGET}
@@ -64,14 +64,16 @@ linux${SFX}_support.o: linux${SFX}_assym.h assym.s
${VDSO}.so: linux${SFX}_locore.o
${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd \
--binary-architecture i386 linux${SFX}_locore.o ${.TARGET}
+ strip -N _binary_linux${SFX}_locore_o_size ${.TARGET}
.else
${VDSO}.so: linux${SFX}_locore.o
${OBJCOPY} --input-target binary --output-target elf32-i386-freebsd \
--binary-architecture i386 linux${SFX}_locore.o ${.TARGET}
+ strip -N _binary_linux_locore_o_size ${.TARGET}
.endif
linux${SFX}_genassym.o:
- ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
+ ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
.if !defined(KERNBUILDDIR)
.if defined(KTR)
diff --git a/sys/modules/linux64/Makefile b/sys/modules/linux64/Makefile
index 1162b55..a33ae54 100644
--- a/sys/modules/linux64/Makefile
+++ b/sys/modules/linux64/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_ARCH}/linux
+.PATH: ${SRCTOP}/sys/compat/linux ${SRCTOP}/sys/${MACHINE_ARCH}/linux
VDSO= linux_vdso
@@ -31,20 +31,21 @@ linux_assym.h: linux_genassym.o
linux_locore.o: linux_locore.s linux_assym.h
${CC} -x assembler-with-cpp -DLOCORE -shared -mcmodel=small \
-pipe -I. -I${SYSDIR} -Werror -Wall -fno-common -fPIC -nostdinc \
- -Wl,-T${.CURDIR}/../../${MACHINE_CPUARCH}/linux/${VDSO}.lds.s \
+ -Wl,-T${SRCTOP}/sys/${MACHINE_CPUARCH}/linux/${VDSO}.lds.s \
-Wl,-soname=${VDSO}.so.1,-warn-common -nostdlib \
${.IMPSRC} -o ${.TARGET}
${VDSO}.so: linux_locore.o
${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd \
-S -g --binary-architecture i386:x86-64 linux_locore.o ${.TARGET}
+ strip -N _binary_linux_locore_o_size ${.TARGET}
linux_support.o: assym.s linux_assym.h
${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
${.IMPSRC} -o ${.TARGET}
linux_genassym.o:
- ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
+ ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
.if !defined(KERNBUILDDIR)
.if defined(DEBUG)
diff --git a/sys/modules/linux_common/Makefile b/sys/modules/linux_common/Makefile
index 2301796..8e08b39 100644
--- a/sys/modules/linux_common/Makefile
+++ b/sys/modules/linux_common/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../compat/linux
+.PATH: ${SRCTOP}/sys/compat/linux
KMOD= linux_common
SRCS= linux_common.c linux_mib.c linux_mmap.c linux_util.c linux_emul.c \
diff --git a/sys/modules/linuxkpi/Makefile b/sys/modules/linuxkpi/Makefile
index bcfb03a..7288448 100644
--- a/sys/modules/linuxkpi/Makefile
+++ b/sys/modules/linuxkpi/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../compat/linuxkpi/common/src
+.PATH: ${SRCTOP}/sys/compat/linuxkpi/common/src
KMOD= linuxkpi
SRCS= linux_kmod.c \
@@ -16,6 +16,6 @@ SRCS+= bus_if.h \
usb_if.h \
opt_usb.h
-CFLAGS+= -I${.CURDIR}/../../compat/linuxkpi/common/include
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
.include <bsd.kmod.mk>
diff --git a/sys/modules/lmc/Makefile b/sys/modules/lmc/Makefile
index 66fc0e6..e507674 100644
--- a/sys/modules/lmc/Makefile
+++ b/sys/modules/lmc/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
KMOD = if_lmc
-.PATH: ${.CURDIR}/../../dev/lmc
+.PATH: ${SRCTOP}/sys/dev/lmc
SRCS = if_lmc.c if_lmc.h
SRCS += device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/lpt/Makefile b/sys/modules/lpt/Makefile
index b57960d..05425bb 100644
--- a/sys/modules/lpt/Makefile
+++ b/sys/modules/lpt/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ppbus
+.PATH: ${SRCTOP}/sys/dev/ppbus
KMOD= lpt
SRCS= bus_if.h device_if.h ppbus_if.h \
opt_lpt.h \
diff --git a/sys/modules/mac_biba/Makefile b/sys/modules/mac_biba/Makefile
index 76ae8e8..0093ef6 100644
--- a/sys/modules/mac_biba/Makefile
+++ b/sys/modules/mac_biba/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_biba
+.PATH: ${SRCTOP}/sys/security/mac_biba
KMOD= mac_biba
SRCS= vnode_if.h \
diff --git a/sys/modules/mac_bsdextended/Makefile b/sys/modules/mac_bsdextended/Makefile
index 683e1b0..32899e9 100644
--- a/sys/modules/mac_bsdextended/Makefile
+++ b/sys/modules/mac_bsdextended/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_bsdextended
+.PATH: ${SRCTOP}/sys/security/mac_bsdextended
KMOD= mac_bsdextended
SRCS= vnode_if.h \
diff --git a/sys/modules/mac_ifoff/Makefile b/sys/modules/mac_ifoff/Makefile
index fc1a600..9d79eb0 100644
--- a/sys/modules/mac_ifoff/Makefile
+++ b/sys/modules/mac_ifoff/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_ifoff
+.PATH: ${SRCTOP}/sys/security/mac_ifoff
KMOD= mac_ifoff
SRCS= vnode_if.h \
diff --git a/sys/modules/mac_lomac/Makefile b/sys/modules/mac_lomac/Makefile
index 333109b..abc79f5 100644
--- a/sys/modules/mac_lomac/Makefile
+++ b/sys/modules/mac_lomac/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_lomac
+.PATH: ${SRCTOP}/sys/security/mac_lomac
KMOD= mac_lomac
SRCS= vnode_if.h \
diff --git a/sys/modules/mac_mls/Makefile b/sys/modules/mac_mls/Makefile
index d4aa5ce..39e066a 100644
--- a/sys/modules/mac_mls/Makefile
+++ b/sys/modules/mac_mls/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_mls
+.PATH: ${SRCTOP}/sys/security/mac_mls
KMOD= mac_mls
SRCS= vnode_if.h \
diff --git a/sys/modules/mac_none/Makefile b/sys/modules/mac_none/Makefile
index b180f71..d86792f 100644
--- a/sys/modules/mac_none/Makefile
+++ b/sys/modules/mac_none/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_none
+.PATH: ${SRCTOP}/sys/security/mac_none
KMOD= mac_none
SRCS= vnode_if.h \
diff --git a/sys/modules/mac_partition/Makefile b/sys/modules/mac_partition/Makefile
index b04d181..be7c27e 100644
--- a/sys/modules/mac_partition/Makefile
+++ b/sys/modules/mac_partition/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_partition
+.PATH: ${SRCTOP}/sys/security/mac_partition
KMOD= mac_partition
SRCS= vnode_if.h \
diff --git a/sys/modules/mac_portacl/Makefile b/sys/modules/mac_portacl/Makefile
index f9bbe23..7bac072 100644
--- a/sys/modules/mac_portacl/Makefile
+++ b/sys/modules/mac_portacl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_portacl
+.PATH: ${SRCTOP}/sys/security/mac_portacl
KMOD= mac_portacl
SRCS= mac_portacl.c
diff --git a/sys/modules/mac_seeotheruids/Makefile b/sys/modules/mac_seeotheruids/Makefile
index d27aefb..d2f6d20 100644
--- a/sys/modules/mac_seeotheruids/Makefile
+++ b/sys/modules/mac_seeotheruids/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_seeotheruids
+.PATH: ${SRCTOP}/sys/security/mac_seeotheruids
KMOD= mac_seeotheruids
SRCS= vnode_if.h \
diff --git a/sys/modules/mac_stub/Makefile b/sys/modules/mac_stub/Makefile
index 3b98cb0..4312186 100644
--- a/sys/modules/mac_stub/Makefile
+++ b/sys/modules/mac_stub/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_stub
+.PATH: ${SRCTOP}/sys/security/mac_stub
KMOD= mac_stub
SRCS= vnode_if.h \
diff --git a/sys/modules/mac_test/Makefile b/sys/modules/mac_test/Makefile
index 94b5aa8..7eabaea 100644
--- a/sys/modules/mac_test/Makefile
+++ b/sys/modules/mac_test/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../security/mac_test
+.PATH: ${SRCTOP}/sys/security/mac_test
KMOD= mac_test
SRCS= vnode_if.h \
diff --git a/sys/modules/malo/Makefile b/sys/modules/malo/Makefile
index 7886102..6173fc5 100644
--- a/sys/modules/malo/Makefile
+++ b/sys/modules/malo/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/malo
+.PATH: ${SRCTOP}/sys/dev/malo
KMOD = if_malo
SRCS = if_malo.c if_malohal.c if_malo_pci.c
diff --git a/sys/modules/md/Makefile b/sys/modules/md/Makefile
index db2cd67..925798b 100644
--- a/sys/modules/md/Makefile
+++ b/sys/modules/md/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/md
+.PATH: ${SRCTOP}/sys/dev/md
KMOD= geom_md
SRCS= md.c opt_md.h opt_geom.h opt_rootdevname.h vnode_if.h
diff --git a/sys/modules/mdio/Makefile b/sys/modules/mdio/Makefile
index 0d7ed59..fb388e2 100644
--- a/sys/modules/mdio/Makefile
+++ b/sys/modules/mdio/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mdio
+.PATH: ${SRCTOP}/sys/dev/mdio
KMOD= mdio
SRCS= mdio.c
diff --git a/sys/modules/mem/Makefile b/sys/modules/mem/Makefile
index 0e47a28..b31cb73 100644
--- a/sys/modules/mem/Makefile
+++ b/sys/modules/mem/Makefile
@@ -1,10 +1,10 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mem
-.PATH: ${.CURDIR}/../../${MACHINE}/${MACHINE}
-.PATH: ${.CURDIR}/../../${MACHINE_CPUARCH}/${MACHINE_CPUARCH}
+.PATH: ${SRCTOP}/sys/dev/mem
+.PATH: ${SRCTOP}/sys/${MACHINE}/${MACHINE}
+.PATH: ${SRCTOP}/sys/${MACHINE_CPUARCH}/${MACHINE_CPUARCH}
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
-.PATH: ${.CURDIR}/../../x86/x86
+.PATH: ${SRCTOP}/sys/x86/x86
.endif
KMOD= mem
diff --git a/sys/modules/mfi/Makefile b/sys/modules/mfi/Makefile
index 71e68c6..cfe4aee 100644
--- a/sys/modules/mfi/Makefile
+++ b/sys/modules/mfi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mfi
+.PATH: ${SRCTOP}/sys/dev/mfi
SUBDIR= mfip
diff --git a/sys/modules/mfi/mfi_linux/Makefile b/sys/modules/mfi/mfi_linux/Makefile
index 05d0745..cbc9a97 100644
--- a/sys/modules/mfi/mfi_linux/Makefile
+++ b/sys/modules/mfi/mfi_linux/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/mfi
+.PATH: ${SRCTOP}/sys/dev/mfi
KMOD= mfi_linux
SRCS= mfi_linux.c
diff --git a/sys/modules/mfi/mfip/Makefile b/sys/modules/mfi/mfip/Makefile
index 2a97d70..13b6b19 100644
--- a/sys/modules/mfi/mfip/Makefile
+++ b/sys/modules/mfi/mfip/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/mfi
+.PATH: ${SRCTOP}/sys/dev/mfi
KMOD= mfip
SRCS= mfi_cam.c
diff --git a/sys/modules/mii/Makefile b/sys/modules/mii/Makefile
index e24a961..51b4f05 100644
--- a/sys/modules/mii/Makefile
+++ b/sys/modules/mii/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mii
+.PATH: ${SRCTOP}/sys/dev/mii
KMOD= miibus
SRCS= acphy.c amphy.c atphy.c axphy.c bmtphy.c brgphy.c bus_if.h
diff --git a/sys/modules/mlx/Makefile b/sys/modules/mlx/Makefile
index ba0951a..5d6fea3b9 100644
--- a/sys/modules/mlx/Makefile
+++ b/sys/modules/mlx/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mlx
+.PATH: ${SRCTOP}/sys/dev/mlx
KMOD= mlx
SRCS= mlx.c mlx_pci.c mlx_disk.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/mlx4/Makefile b/sys/modules/mlx4/Makefile
index 0aed17d..ad0bcd2 100644
--- a/sys/modules/mlx4/Makefile
+++ b/sys/modules/mlx4/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../ofed/drivers/net/mlx4
+.PATH: ${SRCTOP}/sys/ofed/drivers/net/mlx4
KMOD= mlx4
SRCS= device_if.h bus_if.h vnode_if.h pci_if.h \
@@ -9,9 +9,9 @@ SRCS= device_if.h bus_if.h vnode_if.h pci_if.h \
pd.c port.c profile.c qp.c reset.c sense.c \
srq.c resource_tracker.c sys_tune.c
-CFLAGS+= -I${.CURDIR}/../../ofed/drivers/net/mlx4
-CFLAGS+= -I${.CURDIR}/../../ofed/include
-CFLAGS+= -I${.CURDIR}/../../compat/linuxkpi/common/include
+CFLAGS+= -I${SRCTOP}/sys/ofed/drivers/net/mlx4
+CFLAGS+= -I${SRCTOP}/sys/ofed/include
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
.include <bsd.kmod.mk>
diff --git a/sys/modules/mlx4ib/Makefile b/sys/modules/mlx4ib/Makefile
index 4885bf7..8ca2cf0 100644
--- a/sys/modules/mlx4ib/Makefile
+++ b/sys/modules/mlx4ib/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../ofed/drivers/infiniband/hw/mlx4
+.PATH: ${SRCTOP}/sys/ofed/drivers/infiniband/hw/mlx4
KMOD= mlx4ib
SRCS= device_if.h bus_if.h vnode_if.h pci_if.h \
@@ -8,9 +8,9 @@ SRCS= device_if.h bus_if.h vnode_if.h pci_if.h \
mlx4_exp.c \
doorbell.c mad.c main.c mr.c qp.c srq.c wc.c cm.c
-CFLAGS+= -I${.CURDIR}/../../ofed/drivers/infiniband/hw/mlx4
-CFLAGS+= -I${.CURDIR}/../../ofed/include
-CFLAGS+= -I${.CURDIR}/../../compat/linuxkpi/common/include
+CFLAGS+= -I${SRCTOP}/sys/ofed/drivers/infiniband/hw/mlx4
+CFLAGS+= -I${SRCTOP}/sys/ofed/include
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
CFLAGS+= -DCONFIG_INFINIBAND_USER_MEM
CFLAGS+= -DINET6 -DINET
diff --git a/sys/modules/mlx5/Makefile b/sys/modules/mlx5/Makefile
index 2018e42..fd68918 100644
--- a/sys/modules/mlx5/Makefile
+++ b/sys/modules/mlx5/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mlx5/mlx5_core
+.PATH: ${SRCTOP}/sys/dev/mlx5/mlx5_core
KMOD=mlx5
SRCS= \
@@ -27,8 +27,8 @@ mlx5_wq.c \
device_if.h bus_if.h vnode_if.h pci_if.h \
opt_inet.h opt_inet6.h opt_rss.h
-CFLAGS+= -I${.CURDIR}/../../ofed/include
-CFLAGS+= -I${.CURDIR}/../../compat/linuxkpi/common/include
+CFLAGS+= -I${SRCTOP}/sys/ofed/include
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
.include <bsd.kmod.mk>
diff --git a/sys/modules/mlx5en/Makefile b/sys/modules/mlx5en/Makefile
index a3f6d6b..c154f77 100644
--- a/sys/modules/mlx5en/Makefile
+++ b/sys/modules/mlx5en/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mlx5/mlx5_en
+.PATH: ${SRCTOP}/sys/dev/mlx5/mlx5_en
KMOD=mlx5en
SRCS= \
@@ -20,8 +20,8 @@ CFLAGS+= -DHAVE_PER_CQ_EVENT_PACKET
CFLAGS+= -DHAVE_TCP_LRO_RX
.endif
-CFLAGS+= -I${.CURDIR}/../../ofed/include
-CFLAGS+= -I${.CURDIR}/../../compat/linuxkpi/common/include
+CFLAGS+= -I${SRCTOP}/sys/ofed/include
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
.include <bsd.kmod.mk>
diff --git a/sys/modules/mly/Makefile b/sys/modules/mly/Makefile
index e8773de..5f7f313 100644
--- a/sys/modules/mly/Makefile
+++ b/sys/modules/mly/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mly
+.PATH: ${SRCTOP}/sys/dev/mly
KMOD= mly
SRCS= mly.c
diff --git a/sys/modules/mmc/Makefile b/sys/modules/mmc/Makefile
index b97e2a3..3fee6e6 100644
--- a/sys/modules/mmc/Makefile
+++ b/sys/modules/mmc/Makefile
@@ -1,8 +1,8 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mmc
+.PATH: ${SRCTOP}/sys/dev/mmc
KMOD= mmc
-SRCS= mmc.c mmcbr_if.h mmcbus_if.h device_if.h bus_if.h
+SRCS= bus_if.h device_if.h mmc_subr.c mmc.c mmcbr_if.h mmcbus_if.h
.include <bsd.kmod.mk>
diff --git a/sys/modules/mmcsd/Makefile b/sys/modules/mmcsd/Makefile
index 30ce37d..4294c59 100644
--- a/sys/modules/mmcsd/Makefile
+++ b/sys/modules/mmcsd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mmc
+.PATH: ${SRCTOP}/sys/dev/mmc
KMOD= mmcsd
SRCS= bus_if.h device_if.h mmcbr_if.h mmcbus_if.h mmcsd.c
diff --git a/sys/modules/mpr/Makefile b/sys/modules/mpr/Makefile
index 426c202..89c1e83 100644
--- a/sys/modules/mpr/Makefile
+++ b/sys/modules/mpr/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mpr
+.PATH: ${SRCTOP}/sys/dev/mpr
KMOD= mpr
SRCS= mpr_pci.c mpr.c mpr_sas.c mpr_table.c mpr_user.c
diff --git a/sys/modules/mps/Makefile b/sys/modules/mps/Makefile
index bd9a524..4ac01df 100644
--- a/sys/modules/mps/Makefile
+++ b/sys/modules/mps/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mps
+.PATH: ${SRCTOP}/sys/dev/mps
KMOD= mps
SRCS= mps_pci.c mps.c mps_sas.c mps_table.c mps_user.c
diff --git a/sys/modules/mpt/Makefile b/sys/modules/mpt/Makefile
index 03bae4c..f07c95f 100644
--- a/sys/modules/mpt/Makefile
+++ b/sys/modules/mpt/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mpt
+.PATH: ${SRCTOP}/sys/dev/mpt
KMOD= mpt
SRCS= bus_if.h device_if.h pci_if.h \
diff --git a/sys/modules/mqueue/Makefile b/sys/modules/mqueue/Makefile
index f86c78b..9c8bd6d 100644
--- a/sys/modules/mqueue/Makefile
+++ b/sys/modules/mqueue/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= mqueuefs
SRCS= uipc_mqueue.c \
diff --git a/sys/modules/mrsas/Makefile b/sys/modules/mrsas/Makefile
index 02bb520..8d8695b 100644
--- a/sys/modules/mrsas/Makefile
+++ b/sys/modules/mrsas/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
KMOD=mrsas
-.PATH: ${.CURDIR}/../../dev/${KMOD}
+.PATH: ${SRCTOP}/sys/dev/${KMOD}
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64"
SUBDIR+= mrsas_linux
diff --git a/sys/modules/mrsas/mrsas_linux/Makefile b/sys/modules/mrsas/mrsas_linux/Makefile
index 3563892..5bf79b2 100644
--- a/sys/modules/mrsas/mrsas_linux/Makefile
+++ b/sys/modules/mrsas/mrsas_linux/Makefile
@@ -1,7 +1,7 @@
# Makefile for mrsas driver
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/mrsas
+.PATH: ${SRCTOP}/sys/dev/mrsas
KMOD= mrsas_linux
SRCS= mrsas_linux.c
diff --git a/sys/modules/msdosfs/Makefile b/sys/modules/msdosfs/Makefile
index a0fe95f..0ba4e47 100644
--- a/sys/modules/msdosfs/Makefile
+++ b/sys/modules/msdosfs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/msdosfs
+.PATH: ${SRCTOP}/sys/fs/msdosfs
KMOD= msdosfs
SRCS= vnode_if.h \
diff --git a/sys/modules/msdosfs_iconv/Makefile b/sys/modules/msdosfs_iconv/Makefile
index 8d2e41d..add9227 100644
--- a/sys/modules/msdosfs_iconv/Makefile
+++ b/sys/modules/msdosfs_iconv/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/msdosfs
+.PATH: ${SRCTOP}/sys/fs/msdosfs
KMOD= msdosfs_iconv
SRCS= msdosfs_iconv.c
diff --git a/sys/modules/mse/Makefile b/sys/modules/mse/Makefile
index 4cc68c1..2747ff8 100644
--- a/sys/modules/mse/Makefile
+++ b/sys/modules/mse/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mse
+.PATH: ${SRCTOP}/sys/dev/mse
KMOD= mse
SRCS= mse.c device_if.h bus_if.h isa_if.h
diff --git a/sys/modules/msk/Makefile b/sys/modules/msk/Makefile
index 48a7649..826cd0b 100644
--- a/sys/modules/msk/Makefile
+++ b/sys/modules/msk/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/msk
+.PATH: ${SRCTOP}/sys/dev/msk
KMOD= if_msk
SRCS= if_msk.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/mthca/Makefile b/sys/modules/mthca/Makefile
index 95157e2..2c057f2 100644
--- a/sys/modules/mthca/Makefile
+++ b/sys/modules/mthca/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../ofed/drivers/infiniband/hw/mthca
+.PATH: ${SRCTOP}/sys/ofed/drivers/infiniband/hw/mthca
KMOD = mthca
SRCS = device_if.h bus_if.h pci_if.h vnode_if.h
@@ -9,8 +9,8 @@ SRCS+= mthca_mr.c mthca_pd.c mthca_profile.c mthca_provider.c mthca_qp.c
SRCS+= mthca_reset.c mthca_srq.c mthca_uar.c
SRCS+= opt_inet.h opt_inet6.h
-CFLAGS+= -I${.CURDIR}/../../ofed/include
-CFLAGS+= -I${.CURDIR}/../../compat/linuxkpi/common/include
+CFLAGS+= -I${SRCTOP}/sys/ofed/include
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
.include <bsd.kmod.mk>
diff --git a/sys/modules/mvs/Makefile b/sys/modules/mvs/Makefile
index 5931492..165d6c9 100644
--- a/sys/modules/mvs/Makefile
+++ b/sys/modules/mvs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/mvs
+.PATH: ${SRCTOP}/sys/dev/mvs
KMOD= mvs
SRCS= mvs.c mvs_pci.c mvs.h mvs_if.c mvs_if.h device_if.h bus_if.h pci_if.h opt_cam.h
diff --git a/sys/modules/mwl/Makefile b/sys/modules/mwl/Makefile
index f2c40d7..acbe75c 100644
--- a/sys/modules/mwl/Makefile
+++ b/sys/modules/mwl/Makefile
@@ -29,7 +29,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/mwl
+.PATH: ${SRCTOP}/sys/dev/mwl
KMOD= if_mwl
SRCS= if_mwl.c if_mwl_pci.c mwlhal.c
diff --git a/sys/modules/mwlfw/Makefile b/sys/modules/mwlfw/Makefile
index 9d7b226..1e6a1e8 100644
--- a/sys/modules/mwlfw/Makefile
+++ b/sys/modules/mwlfw/Makefile
@@ -5,10 +5,10 @@ FIRMWS= mw88W8363.fw:mw88W8363fw mwlboot.fw:mwlboot
CLEANFILES+= mw88W8363.fw mwlboot.fw
-mw88W8363.fw: ${.CURDIR}/../../contrib/dev/mwl/mw88W8363.fw.uu
+mw88W8363.fw: ${SRCTOP}/sys/contrib/dev/mwl/mw88W8363.fw.uu
uudecode -p $? > ${.TARGET}
-mwlboot.fw: ${.CURDIR}/../../contrib/dev/mwl/mwlboot.fw.uu
+mwlboot.fw: ${SRCTOP}/sys/contrib/dev/mwl/mwlboot.fw.uu
uudecode -p $? > ${.TARGET}
.include <bsd.kmod.mk>
diff --git a/sys/modules/mxge/mxge/Makefile b/sys/modules/mxge/mxge/Makefile
index 3f1f80f..a924aef 100644
--- a/sys/modules/mxge/mxge/Makefile
+++ b/sys/modules/mxge/mxge/Makefile
@@ -1,6 +1,6 @@
#$FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/mxge
+.PATH: ${SRCTOP}/sys/dev/mxge
KMOD= if_mxge
SRCS= if_mxge.c device_if.h bus_if.h pci_if.h opt_inet.h opt_inet6.h
diff --git a/sys/modules/mxge/mxge_eth_z8e/Makefile b/sys/modules/mxge/mxge_eth_z8e/Makefile
index 3454581..6ee1418 100644
--- a/sys/modules/mxge/mxge_eth_z8e/Makefile
+++ b/sys/modules/mxge/mxge_eth_z8e/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/mxge
+.PATH: ${SRCTOP}/sys/dev/mxge
KMOD= mxge_eth_z8e
SRCS= mxge_eth_z8e.c
diff --git a/sys/modules/mxge/mxge_ethp_z8e/Makefile b/sys/modules/mxge/mxge_ethp_z8e/Makefile
index e9f9b31..d0f0f48 100644
--- a/sys/modules/mxge/mxge_ethp_z8e/Makefile
+++ b/sys/modules/mxge/mxge_ethp_z8e/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/mxge
+.PATH: ${SRCTOP}/sys/dev/mxge
KMOD= mxge_ethp_z8e
SRCS= mxge_ethp_z8e.c
diff --git a/sys/modules/mxge/mxge_rss_eth_z8e/Makefile b/sys/modules/mxge/mxge_rss_eth_z8e/Makefile
index 46c545c..5cd4487 100644
--- a/sys/modules/mxge/mxge_rss_eth_z8e/Makefile
+++ b/sys/modules/mxge/mxge_rss_eth_z8e/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/mxge
+.PATH: ${SRCTOP}/sys/dev/mxge
KMOD= mxge_rss_eth_z8e
SRCS= mxge_rss_eth_z8e.c
diff --git a/sys/modules/mxge/mxge_rss_ethp_z8e/Makefile b/sys/modules/mxge/mxge_rss_ethp_z8e/Makefile
index de8dc4e..a2a965d 100644
--- a/sys/modules/mxge/mxge_rss_ethp_z8e/Makefile
+++ b/sys/modules/mxge/mxge_rss_ethp_z8e/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/mxge
+.PATH: ${SRCTOP}/sys/dev/mxge
KMOD= mxge_rss_ethp_z8e
SRCS= mxge_rss_ethp_z8e.c
diff --git a/sys/modules/my/Makefile b/sys/modules/my/Makefile
index 596284e..28ea8db 100644
--- a/sys/modules/my/Makefile
+++ b/sys/modules/my/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/my
+.PATH: ${SRCTOP}/sys/dev/my
KMOD= if_my
SRCS= if_my.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/nand/Makefile b/sys/modules/nand/Makefile
index 4f66295..c9d9962 100644
--- a/sys/modules/nand/Makefile
+++ b/sys/modules/nand/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nand
+.PATH: ${SRCTOP}/sys/dev/nand
KMOD = nand
SRCS= nand.c nand_bbt.c nand_cdev.c nand_generic.c nand_geom.c \
diff --git a/sys/modules/nandfs/Makefile b/sys/modules/nandfs/Makefile
index 0748e3d..f13858c 100644
--- a/sys/modules/nandfs/Makefile
+++ b/sys/modules/nandfs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/nandfs
+.PATH: ${SRCTOP}/sys/fs/nandfs
KMOD= nandfs
SRCS= vnode_if.h opt_ddb.h \
diff --git a/sys/modules/nandsim/Makefile b/sys/modules/nandsim/Makefile
index 0a729eb..4f0aeca 100644
--- a/sys/modules/nandsim/Makefile
+++ b/sys/modules/nandsim/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nand
+.PATH: ${SRCTOP}/sys/dev/nand
KMOD= nandsim
SRCS= nandsim.c nandsim_chip.c nandsim_swap.c nandsim_ctrl.c nandsim_log.c\
diff --git a/sys/modules/ncr/Makefile b/sys/modules/ncr/Makefile
index 7ba6c68..a2060bf 100644
--- a/sys/modules/ncr/Makefile
+++ b/sys/modules/ncr/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ncr
+.PATH: ${SRCTOP}/sys/dev/ncr
KMOD= ncr
SRCS= ncr.c
diff --git a/sys/modules/nctgpio/Makefile b/sys/modules/nctgpio/Makefile
index 88e133d..7ab56ee 100644
--- a/sys/modules/nctgpio/Makefile
+++ b/sys/modules/nctgpio/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nctgpio
+.PATH: ${SRCTOP}/sys/dev/nctgpio
KMOD= nctgpio
SRCS= nctgpio.c
SRCS+= device_if.h bus_if.h isa_if.h gpio_if.h opt_platform.h
diff --git a/sys/modules/ncv/Makefile b/sys/modules/ncv/Makefile
index 0181db8..3d66308 100644
--- a/sys/modules/ncv/Makefile
+++ b/sys/modules/ncv/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ncv
+.PATH: ${SRCTOP}/sys/dev/ncv
KMOD= ncv
SRCS= ncr53c500_pccard.c ncr53c500.c
diff --git a/sys/modules/ndis/Makefile b/sys/modules/ndis/Makefile
index b4dc428..24a887e 100644
--- a/sys/modules/ndis/Makefile
+++ b/sys/modules/ndis/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../compat/ndis
+.PATH: ${SRCTOP}/sys/compat/ndis
KMOD= ndis
SRCS= subr_pe.c subr_ndis.c subr_hal.c subr_ntoskrnl.c kern_ndis.c
diff --git a/sys/modules/netfpga10g/nf10bmac/Makefile b/sys/modules/netfpga10g/nf10bmac/Makefile
index adc4471..57f16ed 100644
--- a/sys/modules/netfpga10g/nf10bmac/Makefile
+++ b/sys/modules/netfpga10g/nf10bmac/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/netfpga10g/nf10bmac
+.PATH: ${SRCTOP}/sys/dev/netfpga10g/nf10bmac
KMOD= if_nf10bmac
SRCS= if_nf10bmac.c
diff --git a/sys/modules/netgraph/Makefile b/sys/modules/netgraph/Makefile
index c9b5748a..ac674d1 100644
--- a/sys/modules/netgraph/Makefile
+++ b/sys/modules/netgraph/Makefile
@@ -1,7 +1,7 @@
# $Whistle: Makefile,v 1.5 1999/01/24 06:48:37 archie Exp $
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
SUBDIR= async \
diff --git a/sys/modules/netgraph/Makefile.inc b/sys/modules/netgraph/Makefile.inc
index 3d2fd19..0a25d0f 100644
--- a/sys/modules/netgraph/Makefile.inc
+++ b/sys/modules/netgraph/Makefile.inc
@@ -1,7 +1,7 @@
# $FreeBSD$
# $Whistle: Makefile.inc,v 1.4 1999/01/19 23:46:16 archie Exp $
-.PATH: ${.CURDIR}/../../../netgraph
+.PATH: ${SRCTOP}/sys/netgraph
SRCS+= opt_netgraph.h
diff --git a/sys/modules/netgraph/atm/atm/Makefile b/sys/modules/netgraph/atm/atm/Makefile
index ebd94e1..2cd6d9d 100644
--- a/sys/modules/netgraph/atm/atm/Makefile
+++ b/sys/modules/netgraph/atm/atm/Makefile
@@ -2,7 +2,7 @@
#
# Author: Harti Brandt <harti@freebsd.org>
#
-.PATH: ${.CURDIR}/../../../../netgraph/atm
+.PATH: ${SRCTOP}/sys/netgraph/atm
KMOD= ng_atm
SRCS= ng_atm.c
diff --git a/sys/modules/netgraph/atm/atmbase/Makefile b/sys/modules/netgraph/atm/atmbase/Makefile
index 1ad4bb6..f495cdb 100644
--- a/sys/modules/netgraph/atm/atmbase/Makefile
+++ b/sys/modules/netgraph/atm/atmbase/Makefile
@@ -3,9 +3,9 @@
# Author: Harti Brandt <harti@freebsd.org>
#
-LIBBASE= ${.CURDIR}/../../../../contrib/ngatm
+LIBBASE= ${SRCTOP}/sys/contrib/ngatm
-.PATH: ${.CURDIR}/../../../../netgraph/atm
+.PATH: ${SRCTOP}/sys/netgraph/atm
.PATH: ${LIBBASE}/netnatm/misc
.PATH: ${LIBBASE}/netnatm/msg
diff --git a/sys/modules/netgraph/atm/ccatm/Makefile b/sys/modules/netgraph/atm/ccatm/Makefile
index 8bf741d..3cf9070 100644
--- a/sys/modules/netgraph/atm/ccatm/Makefile
+++ b/sys/modules/netgraph/atm/ccatm/Makefile
@@ -3,9 +3,9 @@
# Author: Harti Brandt <harti@freebsd.org>
#
-LIBBASE= ${.CURDIR}/../../../../contrib/ngatm
+LIBBASE= ${SRCTOP}/sys/contrib/ngatm
-.PATH: ${.CURDIR}/../../../../netgraph/atm/ccatm
+.PATH: ${SRCTOP}/sys/netgraph/atm/ccatm
.PATH: ${LIBBASE}/netnatm/api
KMOD= ng_ccatm
diff --git a/sys/modules/netgraph/atm/sscfu/Makefile b/sys/modules/netgraph/atm/sscfu/Makefile
index 278159f..3d747c7 100644
--- a/sys/modules/netgraph/atm/sscfu/Makefile
+++ b/sys/modules/netgraph/atm/sscfu/Makefile
@@ -3,9 +3,9 @@
# Author: Harti Brandt <harti@freebsd.org>
#
-LIBBASE= ${.CURDIR}/../../../../contrib/ngatm
+LIBBASE= ${SRCTOP}/sys/contrib/ngatm
-.PATH: ${.CURDIR}/../../../../netgraph/atm/sscfu ${LIBBASE}/netnatm/saal
+.PATH: ${SRCTOP}/sys/netgraph/atm/sscfu ${LIBBASE}/netnatm/saal
KMOD= ng_sscfu
SRCS= ng_sscfu.c saal_sscfu.c
diff --git a/sys/modules/netgraph/atm/sscop/Makefile b/sys/modules/netgraph/atm/sscop/Makefile
index b9334dd..3270f13 100644
--- a/sys/modules/netgraph/atm/sscop/Makefile
+++ b/sys/modules/netgraph/atm/sscop/Makefile
@@ -2,9 +2,9 @@
#
# Author: Harti Brandt <harti@freebsd.org>
-LIBBASE= ${.CURDIR}/../../../../contrib/ngatm
+LIBBASE= ${SRCTOP}/sys/contrib/ngatm
-.PATH: ${.CURDIR}/../../../../netgraph/atm/sscop ${LIBBASE}/netnatm/saal
+.PATH: ${SRCTOP}/sys/netgraph/atm/sscop ${LIBBASE}/netnatm/saal
KMOD= ng_sscop
SRCS= ng_sscop.c saal_sscop.c
diff --git a/sys/modules/netgraph/atm/uni/Makefile b/sys/modules/netgraph/atm/uni/Makefile
index 57c20b0..a260fca 100644
--- a/sys/modules/netgraph/atm/uni/Makefile
+++ b/sys/modules/netgraph/atm/uni/Makefile
@@ -3,9 +3,9 @@
# Author: Harti Brandt <harti@freebsd.org>
#
-LIBBASE= ${.CURDIR}/../../../../contrib/ngatm
+LIBBASE= ${SRCTOP}/sys/contrib/ngatm
-.PATH: ${.CURDIR}/../../../../netgraph/atm/uni
+.PATH: ${SRCTOP}/sys/netgraph/atm/uni
.PATH: ${LIBBASE}/netnatm/sig
KMOD= ng_uni
diff --git a/sys/modules/netgraph/bluetooth/bluetooth/Makefile b/sys/modules/netgraph/bluetooth/bluetooth/Makefile
index 35c3ead..2e25d8e 100644
--- a/sys/modules/netgraph/bluetooth/bluetooth/Makefile
+++ b/sys/modules/netgraph/bluetooth/bluetooth/Makefile
@@ -1,9 +1,9 @@
# $Id: Makefile,v 1.1 2002/11/24 20:39:57 max Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../netgraph/bluetooth/common
+.PATH: ${SRCTOP}/sys/netgraph/bluetooth/common
-CFLAGS+= -I${.CURDIR}/../../../../netgraph/bluetooth/include
+CFLAGS+= -I${SRCTOP}/sys/netgraph/bluetooth/include
KMOD= ng_bluetooth
SRCS= ng_bluetooth.c
diff --git a/sys/modules/netgraph/bluetooth/bt3c/Makefile b/sys/modules/netgraph/bluetooth/bt3c/Makefile
index 36514b1..47c4f7a 100644
--- a/sys/modules/netgraph/bluetooth/bt3c/Makefile
+++ b/sys/modules/netgraph/bluetooth/bt3c/Makefile
@@ -1,10 +1,10 @@
# $Id: Makefile,v 1.2 2002/11/24 20:50:56 max Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../netgraph/bluetooth/drivers/bt3c
+.PATH: ${SRCTOP}/sys/netgraph/bluetooth/drivers/bt3c
-CFLAGS+= -I${.CURDIR}/../../../../netgraph/bluetooth/include \
- -I${.CURDIR}/../../../../netgraph/bluetooth/drivers/bt3c
+CFLAGS+= -I${SRCTOP}/sys/netgraph/bluetooth/include \
+ -I${SRCTOP}/sys/netgraph/bluetooth/drivers/bt3c
KMOD= ng_bt3c
SRCS= ng_bt3c_pccard.c bus_if.h card_if.h device_if.h pccarddevs.h
diff --git a/sys/modules/netgraph/bluetooth/h4/Makefile b/sys/modules/netgraph/bluetooth/h4/Makefile
index f8dfc96..808f44c 100644
--- a/sys/modules/netgraph/bluetooth/h4/Makefile
+++ b/sys/modules/netgraph/bluetooth/h4/Makefile
@@ -1,10 +1,10 @@
# $Id: Makefile,v 1.1 2002/11/24 20:40:04 max Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../netgraph/bluetooth/drivers/h4
+.PATH: ${SRCTOP}/sys/netgraph/bluetooth/drivers/h4
-CFLAGS+= -I${.CURDIR}/../../../../netgraph/bluetooth/include \
- -I${.CURDIR}/../../../../netgraph/bluetooth/drivers/h4
+CFLAGS+= -I${SRCTOP}/sys/netgraph/bluetooth/include \
+ -I${SRCTOP}/sys/netgraph/bluetooth/drivers/h4
KMOD= ng_h4
SRCS= ng_h4.c
diff --git a/sys/modules/netgraph/bluetooth/hci/Makefile b/sys/modules/netgraph/bluetooth/hci/Makefile
index 729ea7b..1e970c9 100644
--- a/sys/modules/netgraph/bluetooth/hci/Makefile
+++ b/sys/modules/netgraph/bluetooth/hci/Makefile
@@ -1,10 +1,10 @@
# $Id: Makefile,v 1.1 2002/11/24 20:40:05 max Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../netgraph/bluetooth/hci
+.PATH: ${SRCTOP}/sys/netgraph/bluetooth/hci
-CFLAGS+= -I${.CURDIR}/../../../../netgraph/bluetooth/include \
- -I${.CURDIR}/../../../../netgraph/bluetooth/hci
+CFLAGS+= -I${SRCTOP}/sys/netgraph/bluetooth/include \
+ -I${SRCTOP}/sys/netgraph/bluetooth/hci
KMOD= ng_hci
SRCS= ng_hci_main.c ng_hci_cmds.c ng_hci_evnt.c \
diff --git a/sys/modules/netgraph/bluetooth/l2cap/Makefile b/sys/modules/netgraph/bluetooth/l2cap/Makefile
index 5b66e09..03ee080 100644
--- a/sys/modules/netgraph/bluetooth/l2cap/Makefile
+++ b/sys/modules/netgraph/bluetooth/l2cap/Makefile
@@ -1,10 +1,10 @@
# $Id: Makefile,v 1.1 2002/11/24 20:40:11 max Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../netgraph/bluetooth/l2cap
+.PATH: ${SRCTOP}/sys/netgraph/bluetooth/l2cap
-CFLAGS+= -I${.CURDIR}/../../../../netgraph/bluetooth/include \
- -I${.CURDIR}/../../../../netgraph/bluetooth/l2cap
+CFLAGS+= -I${SRCTOP}/sys/netgraph/bluetooth/include \
+ -I${SRCTOP}/sys/netgraph/bluetooth/l2cap
KMOD= ng_l2cap
SRCS= ng_l2cap_main.c ng_l2cap_cmds.c ng_l2cap_evnt.c \
diff --git a/sys/modules/netgraph/bluetooth/socket/Makefile b/sys/modules/netgraph/bluetooth/socket/Makefile
index 38e90f5..36bc4e9 100644
--- a/sys/modules/netgraph/bluetooth/socket/Makefile
+++ b/sys/modules/netgraph/bluetooth/socket/Makefile
@@ -1,9 +1,9 @@
# $Id: Makefile,v 1.2 2003/01/12 23:37:31 max Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../netgraph/bluetooth/socket
+.PATH: ${SRCTOP}/sys/netgraph/bluetooth/socket
-CFLAGS+= -I${.CURDIR}/../../../../netgraph/bluetooth/include
+CFLAGS+= -I${SRCTOP}/sys/netgraph/bluetooth/include
KMOD= ng_btsocket
SRCS= ng_btsocket.c \
diff --git a/sys/modules/netgraph/bluetooth/ubt/Makefile b/sys/modules/netgraph/bluetooth/ubt/Makefile
index b9ff0c1..b41fc36 100644
--- a/sys/modules/netgraph/bluetooth/ubt/Makefile
+++ b/sys/modules/netgraph/bluetooth/ubt/Makefile
@@ -1,10 +1,10 @@
# $Id: Makefile,v 1.2 2003/03/22 23:44:34 max Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../netgraph/bluetooth/drivers/ubt
+.PATH: ${SRCTOP}/sys/netgraph/bluetooth/drivers/ubt
-CFLAGS+= -I${.CURDIR}/../../../../netgraph/bluetooth/include \
- -I${.CURDIR}/../../../../netgraph/bluetooth/drivers/ubt
+CFLAGS+= -I${SRCTOP}/sys/netgraph/bluetooth/include \
+ -I${SRCTOP}/sys/netgraph/bluetooth/drivers/ubt
KMOD= ng_ubt
SRCS= ng_ubt.c opt_bus.h opt_usb.h device_if.h bus_if.h \
diff --git a/sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile b/sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile
index 4c5c813..19a00ba 100644
--- a/sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile
+++ b/sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile
@@ -1,10 +1,10 @@
# $Id: Makefile,v 1.1 2003/04/27 00:22:12 max Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../netgraph/bluetooth/drivers/ubtbcmfw
+.PATH: ${SRCTOP}/sys/netgraph/bluetooth/drivers/ubtbcmfw
-CFLAGS+= -I${.CURDIR}/../../../../netgraph/bluetooth/include \
- -I${.CURDIR}/../../../../netgraph/bluetooth/drivers/ubtbcmfw
+CFLAGS+= -I${SRCTOP}/sys/netgraph/bluetooth/include \
+ -I${SRCTOP}/sys/netgraph/bluetooth/drivers/ubtbcmfw
KMOD= ubtbcmfw
SRCS= ubtbcmfw.c opt_bus.h opt_usb.h device_if.h bus_if.h \
diff --git a/sys/modules/netgraph/bpf/Makefile b/sys/modules/netgraph/bpf/Makefile
index adef38f..3fcc4ac 100644
--- a/sys/modules/netgraph/bpf/Makefile
+++ b/sys/modules/netgraph/bpf/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
# $Whistle: Makefile,v 1.1 1999/12/03 01:44:28 archie Exp $
-.PATH: ${.CURDIR}/../../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= ng_bpf
SRCS= opt_bpf.h ng_bpf.c bpf_filter.c
diff --git a/sys/modules/netgraph/mppc/Makefile b/sys/modules/netgraph/mppc/Makefile
index 1ab69e6..0cd02f7 100644
--- a/sys/modules/netgraph/mppc/Makefile
+++ b/sys/modules/netgraph/mppc/Makefile
@@ -8,12 +8,12 @@ NETGRAPH_MPPC_COMPRESSION?= 1
NETGRAPH_MPPC_ENCRYPTION?= 1
.if ${NETGRAPH_MPPC_COMPRESSION} > 0
-.PATH: ${.CURDIR}/../../../net
+.PATH: ${SRCTOP}/sys/net
SRCS+= mppcc.c mppcd.c
.endif
.if ${NETGRAPH_MPPC_ENCRYPTION} > 0
-.PATH: ${.CURDIR}/../../../crypto
+.PATH: ${SRCTOP}/sys/crypto
SRCS+= sha1.c
.endif
diff --git a/sys/modules/netgraph/netflow/Makefile b/sys/modules/netgraph/netflow/Makefile
index 10345c1..365c99b 100644
--- a/sys/modules/netgraph/netflow/Makefile
+++ b/sys/modules/netgraph/netflow/Makefile
@@ -3,7 +3,7 @@
# Author: Gleb Smirnoff <glebius@freebsd.org>
#
-.PATH: ${.CURDIR}/../../../netgraph/netflow
+.PATH: ${SRCTOP}/sys/netgraph/netflow
KMOD= ng_netflow
SRCS= ng_netflow.c netflow.c netflow_v9.c opt_inet6.h opt_route.h
diff --git a/sys/modules/netgraph/vjc/Makefile b/sys/modules/netgraph/vjc/Makefile
index 4921ac9..4e4d361 100644
--- a/sys/modules/netgraph/vjc/Makefile
+++ b/sys/modules/netgraph/vjc/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
# $Whistle: Makefile,v 1.1 1999/01/24 06:48:07 archie Exp $
-.PATH: ${.CURDIR}/../../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= ng_vjc
SRCS= ng_vjc.c slcompress.c
diff --git a/sys/modules/netmap/Makefile b/sys/modules/netmap/Makefile
index 8e5364b..b383693 100644
--- a/sys/modules/netmap/Makefile
+++ b/sys/modules/netmap/Makefile
@@ -3,9 +3,9 @@
# Compile netmap as a module, useful if you want a netmap bridge
# or loadable drivers.
-.PATH: ${.CURDIR}/../../dev/netmap
-.PATH.h: ${.CURDIR}/../../net
-CFLAGS += -I${.CURDIR}/../../
+.PATH: ${SRCTOP}/sys/dev/netmap
+.PATH.h: ${SRCTOP}/sys/net
+CFLAGS += -I${SRCTOP}/sys
KMOD = netmap
SRCS = device_if.h bus_if.h opt_netmap.h
SRCS += netmap.c netmap.h netmap_kern.h
diff --git a/sys/modules/nfe/Makefile b/sys/modules/nfe/Makefile
index 6fe8bc3..cb3c233 100644
--- a/sys/modules/nfe/Makefile
+++ b/sys/modules/nfe/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nfe
+.PATH: ${SRCTOP}/sys/dev/nfe
KMOD= if_nfe
SRCS= if_nfe.c device_if.h bus_if.h pci_if.h miibus_if.h
diff --git a/sys/modules/nfscl/Makefile b/sys/modules/nfscl/Makefile
index 171b1e1..5da77b2 100644
--- a/sys/modules/nfscl/Makefile
+++ b/sys/modules/nfscl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/nfsclient ${.CURDIR}/../../nfs
+.PATH: ${SRCTOP}/sys/fs/nfsclient ${SRCTOP}/sys/nfs
KMOD= nfscl
SRCS= vnode_if.h \
nfs_clrpcops.c \
diff --git a/sys/modules/nfscommon/Makefile b/sys/modules/nfscommon/Makefile
index 18a343e..c83ea12 100644
--- a/sys/modules/nfscommon/Makefile
+++ b/sys/modules/nfscommon/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/nfs
+.PATH: ${SRCTOP}/sys/fs/nfs
KMOD= nfscommon
SRCS= vnode_if.h \
nfs_commonacl.c \
diff --git a/sys/modules/nfsd/Makefile b/sys/modules/nfsd/Makefile
index 2b57f30..c9447f9 100644
--- a/sys/modules/nfsd/Makefile
+++ b/sys/modules/nfsd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/nfsserver ${.CURDIR}/../../nfs
+.PATH: ${SRCTOP}/sys/fs/nfsserver ${SRCTOP}/sys/nfs
KMOD= nfsd
SRCS= vnode_if.h \
nfs_fha.c \
diff --git a/sys/modules/nfslock/Makefile b/sys/modules/nfslock/Makefile
index 0a1e208..05cb17d 100644
--- a/sys/modules/nfslock/Makefile
+++ b/sys/modules/nfslock/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../nfs
+.PATH: ${SRCTOP}/sys/nfs
KMOD= nfslock
SRCS= vnode_if.h \
nfs_lock.c \
diff --git a/sys/modules/nfslockd/Makefile b/sys/modules/nfslockd/Makefile
index 407a4ab..1f6acaa 100644
--- a/sys/modules/nfslockd/Makefile
+++ b/sys/modules/nfslockd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../nlm ${.CURDIR}/../../rpc
+.PATH: ${SRCTOP}/sys/nlm ${SRCTOP}/sys/rpc
KMOD= nfslockd
SRCS= vnode_if.h \
nlm_advlock.c \
diff --git a/sys/modules/nfssvc/Makefile b/sys/modules/nfssvc/Makefile
index 0073d13..ff9462c 100644
--- a/sys/modules/nfssvc/Makefile
+++ b/sys/modules/nfssvc/Makefile
@@ -1,7 +1,6 @@
-
# $FreeBSD$
-.PATH: ${.CURDIR}/../../nfs
+.PATH: ${SRCTOP}/sys/nfs
KMOD= nfssvc
SRCS= nfs_nfssvc.c \
opt_nfs.h
diff --git a/sys/modules/nge/Makefile b/sys/modules/nge/Makefile
index 4bb68cd..8bc3775 100644
--- a/sys/modules/nge/Makefile
+++ b/sys/modules/nge/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nge
+.PATH: ${SRCTOP}/sys/dev/nge
KMOD= if_nge
SRCS= if_nge.c miibus_if.h device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/nmdm/Makefile b/sys/modules/nmdm/Makefile
index 25e9470..84a57a8 100644
--- a/sys/modules/nmdm/Makefile
+++ b/sys/modules/nmdm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nmdm
+.PATH: ${SRCTOP}/sys/dev/nmdm
KMOD= nmdm
SRCS= nmdm.c
diff --git a/sys/modules/nsp/Makefile b/sys/modules/nsp/Makefile
index 1773286..c519671 100644
--- a/sys/modules/nsp/Makefile
+++ b/sys/modules/nsp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nsp
+.PATH: ${SRCTOP}/sys/dev/nsp
KMOD= nsp
SRCS= nsp.c nsp_pccard.c
diff --git a/sys/modules/ntb/if_ntb/Makefile b/sys/modules/ntb/if_ntb/Makefile
index 468593d..acdc859 100644
--- a/sys/modules/ntb/if_ntb/Makefile
+++ b/sys/modules/ntb/if_ntb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ntb/if_ntb
+.PATH: ${SRCTOP}/sys/dev/ntb/if_ntb
KMOD = if_ntb
SRCS = if_ntb.c
diff --git a/sys/modules/ntb/ntb/Makefile b/sys/modules/ntb/ntb/Makefile
index c3f647b..ec6421a 100644
--- a/sys/modules/ntb/ntb/Makefile
+++ b/sys/modules/ntb/ntb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ntb
+.PATH: ${SRCTOP}/sys/dev/ntb
KMOD = ntb
SRCS = ntb.c ntb_if.c
diff --git a/sys/modules/ntb/ntb_hw/Makefile b/sys/modules/ntb/ntb_hw/Makefile
index f3e7645..ad77e97 100644
--- a/sys/modules/ntb/ntb_hw/Makefile
+++ b/sys/modules/ntb/ntb_hw/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ntb/ntb_hw
+.PATH: ${SRCTOP}/sys/dev/ntb/ntb_hw
KMOD = ntb_hw
SRCS = ntb_hw.c
diff --git a/sys/modules/ntb/ntb_transport/Makefile b/sys/modules/ntb/ntb_transport/Makefile
index 2a8fcbc..df39148 100644
--- a/sys/modules/ntb/ntb_transport/Makefile
+++ b/sys/modules/ntb/ntb_transport/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ntb
+.PATH: ${SRCTOP}/sys/dev/ntb
KMOD = ntb_transport
SRCS = ntb_transport.c
diff --git a/sys/modules/nullfs/Makefile b/sys/modules/nullfs/Makefile
index 22cbf00..5252a8f 100644
--- a/sys/modules/nullfs/Makefile
+++ b/sys/modules/nullfs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/nullfs
+.PATH: ${SRCTOP}/sys/fs/nullfs
KMOD= nullfs
SRCS= vnode_if.h \
diff --git a/sys/modules/nvd/Makefile b/sys/modules/nvd/Makefile
index 3b8d778..d47ac91 100644
--- a/sys/modules/nvd/Makefile
+++ b/sys/modules/nvd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nvd
+.PATH: ${SRCTOP}/sys/dev/nvd
KMOD= nvd
SRCS= nvd.c opt_geom.h device_if.h bus_if.h
diff --git a/sys/modules/nvme/Makefile b/sys/modules/nvme/Makefile
index 6fa3531..c65d3b4 100644
--- a/sys/modules/nvme/Makefile
+++ b/sys/modules/nvme/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nvme
+.PATH: ${SRCTOP}/sys/dev/nvme
KMOD = nvme
diff --git a/sys/modules/nvram/Makefile b/sys/modules/nvram/Makefile
index 7af468d..09eb07d 100644
--- a/sys/modules/nvram/Makefile
+++ b/sys/modules/nvram/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nvram
+.PATH: ${SRCTOP}/sys/dev/nvram
KMOD= nvram
SRCS= nvram.c
diff --git a/sys/modules/nxge/Makefile b/sys/modules/nxge/Makefile
index b7ffc49..92b8cec 100644
--- a/sys/modules/nxge/Makefile
+++ b/sys/modules/nxge/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/nxge
-.PATH: ${.CURDIR}/../../dev/nxge/xgehal
+.PATH: ${SRCTOP}/sys/dev/nxge
+.PATH: ${SRCTOP}/sys/dev/nxge/xgehal
CFLAGS_NXGE =
diff --git a/sys/modules/oce/Makefile b/sys/modules/oce/Makefile
index 95e828d..5565d2d 100644
--- a/sys/modules/oce/Makefile
+++ b/sys/modules/oce/Makefile
@@ -2,12 +2,12 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/oce
+.PATH: ${SRCTOP}/sys/dev/oce
KMOD = if_oce
SRCS = oce_if.c oce_hw.c oce_mbox.c oce_util.c oce_queue.c oce_sysctl.c
SRCS += bus_if.h device_if.h pci_if.h opt_inet.h opt_inet6.h
-CFLAGS+= -I${.CURDIR}/../../dev/oce -DSMP
+CFLAGS+= -I${SRCTOP}/sys/dev/oce -DSMP
# uncomment for lock profiling statistics
#CFLAGS += -DLOCK_PROFILING
diff --git a/sys/modules/opensolaris/Makefile b/sys/modules/opensolaris/Makefile
index c22c64c..8bf2ece 100644
--- a/sys/modules/opensolaris/Makefile
+++ b/sys/modules/opensolaris/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?= ${.CURDIR}/../..
+SYSDIR?= ${SRCTOP}/sys
.PATH: ${SYSDIR}/cddl/compat/opensolaris/kern
diff --git a/sys/modules/otus/Makefile b/sys/modules/otus/Makefile
index b263c06..56c37b2 100644
--- a/sys/modules/otus/Makefile
+++ b/sys/modules/otus/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/otus
+.PATH: ${SRCTOP}/sys/dev/otus
KMOD = if_otus
SRCS = if_otus.c if_otusreg.h \
diff --git a/sys/modules/otusfw/otusfw_init/Makefile b/sys/modules/otusfw/otusfw_init/Makefile
index d188e9a..3a6e571 100644
--- a/sys/modules/otusfw/otusfw_init/Makefile
+++ b/sys/modules/otusfw/otusfw_init/Makefile
@@ -5,7 +5,7 @@ FIRMWS= otusfw_init:otusfw_init:1
CLEANFILES= otus_init
-otusfw_init: ${.CURDIR}/../../../contrib/dev/otus/otus-init
- cp ${.CURDIR}/../../../contrib/dev/otus/otus-init ${.TARGET}
+otusfw_init: ${SRCTOP}/sys/contrib/dev/otus/otus-init
+ cp ${.ALLSRC} ${.TARGET}
.include <bsd.kmod.mk>
diff --git a/sys/modules/otusfw/otusfw_main/Makefile b/sys/modules/otusfw/otusfw_main/Makefile
index 94e1aee..7ef78a9 100644
--- a/sys/modules/otusfw/otusfw_main/Makefile
+++ b/sys/modules/otusfw/otusfw_main/Makefile
@@ -5,7 +5,7 @@ FIRMWS= otusfw_main:otusfw_main:1
CLEANFILES= otusfw_main
-otusfw_main: ${.CURDIR}/../../../contrib/dev/otus/otus-main
- cp ${.CURDIR}/../../../contrib/dev/otus/otus-main ${.TARGET}
+otusfw_main: ${SRCTOP}/sys/contrib/dev/otus/otus-main
+ cp ${.ALLSRC} ${.TARGET}
.include <bsd.kmod.mk>
diff --git a/sys/modules/ow/Makefile b/sys/modules/ow/Makefile
index 13d7739..5cc630e 100644
--- a/sys/modules/ow/Makefile
+++ b/sys/modules/ow/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
SUBDIR = ow owc ow_temp
diff --git a/sys/modules/ow/ow/Makefile b/sys/modules/ow/ow/Makefile
index 4963406..fdc8fe9 100644
--- a/sys/modules/ow/ow/Makefile
+++ b/sys/modules/ow/ow/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ow
+.PATH: ${SRCTOP}/sys/dev/ow
KMOD= ow
SRCS= ow.c
diff --git a/sys/modules/ow/ow_temp/Makefile b/sys/modules/ow/ow_temp/Makefile
index 6bd623e..00f3ee5 100644
--- a/sys/modules/ow/ow_temp/Makefile
+++ b/sys/modules/ow/ow_temp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ow
+.PATH: ${SRCTOP}/sys/dev/ow
KMOD= ow_temp
SRCS= ow_temp.c
diff --git a/sys/modules/ow/owc/Makefile b/sys/modules/ow/owc/Makefile
index 4aaccf9..909c238 100644
--- a/sys/modules/ow/owc/Makefile
+++ b/sys/modules/ow/owc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/ow
+.PATH: ${SRCTOP}/sys/dev/ow
KMOD= owc
SRCS= owc_gpiobus.c
diff --git a/sys/modules/padlock/Makefile b/sys/modules/padlock/Makefile
index 14a8b56..7100733 100644
--- a/sys/modules/padlock/Makefile
+++ b/sys/modules/padlock/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../crypto/via
+.PATH: ${SRCTOP}/sys/crypto/via
KMOD= padlock
SRCS= padlock.c padlock_cipher.c padlock_hash.c
diff --git a/sys/modules/padlock_rng/Makefile b/sys/modules/padlock_rng/Makefile
index 25bf24f..2988079 100644
--- a/sys/modules/padlock_rng/Makefile
+++ b/sys/modules/padlock_rng/Makefile
@@ -1,11 +1,11 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/random
+.PATH: ${SRCTOP}/sys/dev/random
KMOD= padlock_rng
SRCS= nehemiah.c
SRCS+= bus_if.h device_if.h
-CFLAGS+= -I${.CURDIR}/../..
+CFLAGS+= -I${SRCTOP}/sys
.include <bsd.kmod.mk>
diff --git a/sys/modules/patm/Makefile b/sys/modules/patm/Makefile
index 7df3165..4f59aa7 100644
--- a/sys/modules/patm/Makefile
+++ b/sys/modules/patm/Makefile
@@ -2,7 +2,7 @@
#
# Author: Harti Brandt <harti@freebsd.org>
#
-.PATH: ${.CURDIR}/../../dev/patm
+.PATH: ${SRCTOP}/sys/dev/patm
KMOD= if_patm
SRCS= if_patm.c if_patm_attach.c if_patm_ioctl.c if_patm_intr.c \
diff --git a/sys/modules/pccard/Makefile b/sys/modules/pccard/Makefile
index 95bcf3f..f7822da 100644
--- a/sys/modules/pccard/Makefile
+++ b/sys/modules/pccard/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/pccard
+.PATH: ${SRCTOP}/sys/dev/pccard
KMOD= pccard
SRCS= pccard.c pccard_cis.c pccard_cis_quirks.c pccard_device.c \
diff --git a/sys/modules/pcfclock/Makefile b/sys/modules/pcfclock/Makefile
index 107a067..c49cf15 100644
--- a/sys/modules/pcfclock/Makefile
+++ b/sys/modules/pcfclock/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ppbus
+.PATH: ${SRCTOP}/sys/dev/ppbus
KMOD= pcfclock
SRCS= pcfclock.c opt_pcfclock.h
diff --git a/sys/modules/pcn/Makefile b/sys/modules/pcn/Makefile
index 9955c6c..aa772f2 100644
--- a/sys/modules/pcn/Makefile
+++ b/sys/modules/pcn/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/pcn
+.PATH: ${SRCTOP}/sys/dev/pcn
KMOD= if_pcn
SRCS= if_pcn.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/pf/Makefile b/sys/modules/pf/Makefile
index b934e05..30a742a 100644
--- a/sys/modules/pf/Makefile
+++ b/sys/modules/pf/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netpfil/pf
+.PATH: ${SRCTOP}/sys/netpfil/pf
KMOD= pf
SRCS= pf.c pf_if.c pf_lb.c pf_osfp.c pf_ioctl.c pf_norm.c pf_table.c \
diff --git a/sys/modules/pflog/Makefile b/sys/modules/pflog/Makefile
index 36656dc..0c4697c 100644
--- a/sys/modules/pflog/Makefile
+++ b/sys/modules/pflog/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netpfil/pf
+.PATH: ${SRCTOP}/sys/netpfil/pf
KMOD= pflog
SRCS= if_pflog.c \
diff --git a/sys/modules/pfsync/Makefile b/sys/modules/pfsync/Makefile
index 89af6f9..f691db6 100644
--- a/sys/modules/pfsync/Makefile
+++ b/sys/modules/pfsync/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netpfil/pf
+.PATH: ${SRCTOP}/sys/netpfil/pf
KMOD= pfsync
SRCS= if_pfsync.c \
diff --git a/sys/modules/plip/Makefile b/sys/modules/plip/Makefile
index 9aa5bd4..0b214f3 100644
--- a/sys/modules/plip/Makefile
+++ b/sys/modules/plip/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ppbus
+.PATH: ${SRCTOP}/sys/dev/ppbus
KMOD= plip
SRCS= bus_if.h device_if.h ppbus_if.h \
opt_plip.h \
diff --git a/sys/modules/pms/Makefile b/sys/modules/pms/Makefile
index 128fe08..4dc00b7 100644
--- a/sys/modules/pms/Makefile
+++ b/sys/modules/pms/Makefile
@@ -2,20 +2,20 @@
# 5/31/2012
#PATH shall include all directories
-.PATH: ${.CURDIR}/../../dev/pms/freebsd/driver/ini/src \
- ${.CURDIR}/../../dev/pms/RefTisa/sallsdk/api \
- ${.CURDIR}/../../dev/pms/RefTisa/sallsdk/spc \
- ${.CURDIR}/../../dev/pms/RefTisa/sallsdk/hda/64k \
- ${.CURDIR}/../../dev/pms/RefTisa/discovery/api \
- ${.CURDIR}/../../dev/pms/RefTisa/discovery/dm \
- ${.CURDIR}/../../dev/pms/RefTisa/sat/api \
- ${.CURDIR}/../../dev/pms/RefTisa/sat/src \
- ${.CURDIR}/../../dev/pms/RefTisa/tisa/api \
- ${.CURDIR}/../../dev/pms/RefTisa/tisa/sassata/common \
- ${.CURDIR}/../../dev/pms/RefTisa/tisa/sassata/sas/common \
- ${.CURDIR}/../../dev/pms/RefTisa/tisa/sassata/sas/ini \
- ${.CURDIR}/../../dev/pms/RefTisa/tisa/sassata/sata/host \
- ${.CURDIR}/../../dev/pms/freebsd/driver/common
+.PATH: ${SRCTOP}/sys/dev/pms/freebsd/driver/ini/src \
+ ${SRCTOP}/sys/dev/pms/RefTisa/sallsdk/api \
+ ${SRCTOP}/sys/dev/pms/RefTisa/sallsdk/spc \
+ ${SRCTOP}/sys/dev/pms/RefTisa/sallsdk/hda/64k \
+ ${SRCTOP}/sys/dev/pms/RefTisa/discovery/api \
+ ${SRCTOP}/sys/dev/pms/RefTisa/discovery/dm \
+ ${SRCTOP}/sys/dev/pms/RefTisa/sat/api \
+ ${SRCTOP}/sys/dev/pms/RefTisa/sat/src \
+ ${SRCTOP}/sys/dev/pms/RefTisa/tisa/api \
+ ${SRCTOP}/sys/dev/pms/RefTisa/tisa/sassata/common \
+ ${SRCTOP}/sys/dev/pms/RefTisa/tisa/sassata/sas/common \
+ ${SRCTOP}/sys/dev/pms/RefTisa/tisa/sassata/sas/ini \
+ ${SRCTOP}/sys/dev/pms/RefTisa/tisa/sassata/sata/host \
+ ${SRCTOP}/sys/dev/pms/freebsd/driver/common
CFLAGS+=-fno-builtin
CFLAGS+=-fms-extensions
@@ -50,12 +50,10 @@ SRCS+= tdinit.c tdmisc.c tdesgl.c tdport.c tdint.c tdioctl.c tdhw.c ossacmnapi.c
SRCS+= tdtimers.c itdio.c itdcb.c itdinit.c itddisc.c sat.c ossasat.c sathw.c
#header files
-SRCS+= agtiapi.h agtiproto.h agdef.h
+SRCS+= agtiapi.h agtiproto.h agdef.h
#
SRCS+= osenv.h ostypes.h
SRCS+= opt_scsi.h opt_cam.h
SRCS+= device_if.h bus_if.h pci_if.h
-#INCSRC= ../../common
-
.include <bsd.kmod.mk>
diff --git a/sys/modules/powermac_nvram/Makefile b/sys/modules/powermac_nvram/Makefile
index 95a38c8..fe9bbba 100644
--- a/sys/modules/powermac_nvram/Makefile
+++ b/sys/modules/powermac_nvram/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/powermac_nvram
+.PATH: ${SRCTOP}/sys/dev/powermac_nvram
KMOD= powermac_nvram
SRCS= powermac_nvram.c powermac_nvramvar.h
diff --git a/sys/modules/ppbus/Makefile b/sys/modules/ppbus/Makefile
index 1347e64..6b29f69 100644
--- a/sys/modules/ppbus/Makefile
+++ b/sys/modules/ppbus/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ppbus
+.PATH: ${SRCTOP}/sys/dev/ppbus
KMOD= ppbus
SRCS= bus_if.h device_if.h ppbus_if.h ppbus_if.c \
opt_ppb_1284.h \
diff --git a/sys/modules/ppc/Makefile b/sys/modules/ppc/Makefile
index 53621f1..050fe10 100644
--- a/sys/modules/ppc/Makefile
+++ b/sys/modules/ppc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ppc
+.PATH: ${SRCTOP}/sys/dev/ppc
KMOD= ppc
SRCS= bus_if.h device_if.h ppbus_if.h isa_if.h pci_if.h serdev_if.h \
opt_ppc.h opt_isa.h \
diff --git a/sys/modules/ppi/Makefile b/sys/modules/ppi/Makefile
index 568fddf..ec594a9 100644
--- a/sys/modules/ppi/Makefile
+++ b/sys/modules/ppi/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ppbus
+.PATH: ${SRCTOP}/sys/dev/ppbus
KMOD= ppi
SRCS= bus_if.h device_if.h ppbus_if.h \
opt_ppb_1284.h \
diff --git a/sys/modules/pps/Makefile b/sys/modules/pps/Makefile
index 7e70bb2..0e55150 100644
--- a/sys/modules/pps/Makefile
+++ b/sys/modules/pps/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ppbus
+.PATH: ${SRCTOP}/sys/dev/ppbus
KMOD= pps
SRCS= bus_if.h device_if.h ppbus_if.h \
pps.c
diff --git a/sys/modules/procfs/Makefile b/sys/modules/procfs/Makefile
index 2b3b062..e5c1614 100644
--- a/sys/modules/procfs/Makefile
+++ b/sys/modules/procfs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/procfs
+.PATH: ${SRCTOP}/sys/fs/procfs
KMOD= procfs
SRCS=
diff --git a/sys/modules/proto/Makefile b/sys/modules/proto/Makefile
index 80a0050..331c2c6 100644
--- a/sys/modules/proto/Makefile
+++ b/sys/modules/proto/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/proto
+.PATH: ${SRCTOP}/sys/dev/proto
KMOD= proto
SRCS= \
diff --git a/sys/modules/pseudofs/Makefile b/sys/modules/pseudofs/Makefile
index 6ddb749..45afba9 100644
--- a/sys/modules/pseudofs/Makefile
+++ b/sys/modules/pseudofs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/pseudofs
+.PATH: ${SRCTOP}/sys/fs/pseudofs
KMOD= pseudofs
SRCS= opt_pseudofs.h \
diff --git a/sys/modules/pst/Makefile b/sys/modules/pst/Makefile
index 46e552d..4b8ff3d 100644
--- a/sys/modules/pst/Makefile
+++ b/sys/modules/pst/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/pst
+.PATH: ${SRCTOP}/sys/dev/pst
KMOD= pst
SRCS= pst-pci.c pst-iop.c pst-raid.c
diff --git a/sys/modules/pty/Makefile b/sys/modules/pty/Makefile
index fd563fe..73bc8cf 100644
--- a/sys/modules/pty/Makefile
+++ b/sys/modules/pty/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/pty
+.PATH: ${SRCTOP}/sys/dev/pty
KMOD= pty
SRCS= pty.c
diff --git a/sys/modules/puc/Makefile b/sys/modules/puc/Makefile
index 628a3b6..042ae10 100644
--- a/sys/modules/puc/Makefile
+++ b/sys/modules/puc/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/puc
+.PATH: ${SRCTOP}/sys/dev/puc
KMOD= puc
SRCS= puc.c puc_cfg.c puc_pci.c puc_pccard.c pucdata.c
diff --git a/sys/modules/qlnx/qlnxe/Makefile b/sys/modules/qlnx/qlnxe/Makefile
index 6011ad3..f800441 100644
--- a/sys/modules/qlnx/qlnxe/Makefile
+++ b/sys/modules/qlnx/qlnxe/Makefile
@@ -63,8 +63,6 @@ CFLAGS += -DECORE_CONFIG_DIRECT_HWFN
#CFLAGS += -DQLNX_SOFT_LRO
#CFLAGS += -DQLNX_QSORT_LRO
#CFLAGS += -DQLNX_MAX_COALESCE
-#CFLAGS += -DQLNX_TRACE_LRO_CNT
-#CFLAGS += -DQLNX_TRACE_TSO_PKT_LEN
.include <bsd.kmod.mk>
diff --git a/sys/modules/qlxgb/Makefile b/sys/modules/qlxgb/Makefile
index caea34a..cb53184 100644
--- a/sys/modules/qlxgb/Makefile
+++ b/sys/modules/qlxgb/Makefile
@@ -29,7 +29,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/qlxgb
+.PATH: ${SRCTOP}/sys/dev/qlxgb
KMOD= if_qlxgb
SRCS= qla_os.c qla_dbg.c qla_hw.c qla_misc.c qla_isr.c qla_ioctl.c
diff --git a/sys/modules/qlxgbe/Makefile b/sys/modules/qlxgbe/Makefile
index 543e72a..d94b08e 100644
--- a/sys/modules/qlxgbe/Makefile
+++ b/sys/modules/qlxgbe/Makefile
@@ -32,7 +32,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/qlxgbe
+.PATH: ${SRCTOP}/sys/dev/qlxgbe
KMOD=if_qlxgbe
SRCS=ql_os.c ql_dbg.c ql_hw.c ql_misc.c ql_isr.c ql_ioctl.c
diff --git a/sys/modules/qlxge/Makefile b/sys/modules/qlxge/Makefile
index b34488a..54351b6 100644
--- a/sys/modules/qlxge/Makefile
+++ b/sys/modules/qlxge/Makefile
@@ -32,7 +32,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/qlxge
+.PATH: ${SRCTOP}/sys/dev/qlxge
KMOD=if_qlxge
SRCS=qls_os.c qls_dbg.c qls_hw.c qls_isr.c qls_dump.c
diff --git a/sys/modules/ral/Makefile b/sys/modules/ral/Makefile
index cc5d342..5c89e93 100644
--- a/sys/modules/ral/Makefile
+++ b/sys/modules/ral/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ral
+.PATH: ${SRCTOP}/sys/dev/ral
KMOD= if_ral
SRCS= rt2560.c rt2661.c rt2860.c if_ral_pci.c
diff --git a/sys/modules/ralfw/Makefile.inc b/sys/modules/ralfw/Makefile.inc
index 2dc6b47..9922352 100644
--- a/sys/modules/ralfw/Makefile.inc
+++ b/sys/modules/ralfw/Makefile.inc
@@ -11,5 +11,5 @@ CLEANFILES+= ${_FIRM}
FIRMWS= ${_FIRM}:${KMOD}
-${_FIRM}: ${.CURDIR}/../../../contrib/dev/ral/${_FIRM}.uu
+${_FIRM}: ${SRCTOP}/sys/contrib/dev/ral/${_FIRM}.uu
uudecode -p $? > ${.TARGET}
diff --git a/sys/modules/random_fortuna/Makefile b/sys/modules/random_fortuna/Makefile
index d28ae4d..e1290eb 100644
--- a/sys/modules/random_fortuna/Makefile
+++ b/sys/modules/random_fortuna/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/random
+.PATH: ${SRCTOP}/sys/dev/random
KMOD = random_fortuna
SRCS = randomdev.c hash.c fortuna.c
diff --git a/sys/modules/random_other/Makefile b/sys/modules/random_other/Makefile
index 6ce586b..14a0051 100644
--- a/sys/modules/random_other/Makefile
+++ b/sys/modules/random_other/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/random
+.PATH: ${SRCTOP}/sys/dev/random
KMOD = random_OTHER
SRCS = randomdev.c hash.c other_algorithm.c
diff --git a/sys/modules/random_yarrow/Makefile b/sys/modules/random_yarrow/Makefile
index 1750af4..90ff359 100644
--- a/sys/modules/random_yarrow/Makefile
+++ b/sys/modules/random_yarrow/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/random
+.PATH: ${SRCTOP}/sys/dev/random
KMOD = random_yarrow
SRCS = randomdev.c hash.c yarrow.c
diff --git a/sys/modules/rc/Makefile b/sys/modules/rc/Makefile
index ffa6163..a30f91d 100644
--- a/sys/modules/rc/Makefile
+++ b/sys/modules/rc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/rc
+.PATH: ${SRCTOP}/sys/dev/rc
KMOD= rc
SRCS= rc.c device_if.h bus_if.h isa_if.h
diff --git a/sys/modules/rc4/Makefile b/sys/modules/rc4/Makefile
index 95f609e..21d2d85 100644
--- a/sys/modules/rc4/Makefile
+++ b/sys/modules/rc4/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../crypto/rc4
+.PATH: ${SRCTOP}/sys/crypto/rc4
KMOD= rc4
SRCS= rc4.c
diff --git a/sys/modules/rccgpio/Makefile b/sys/modules/rccgpio/Makefile
index d6a7572..5e7aa49 100644
--- a/sys/modules/rccgpio/Makefile
+++ b/sys/modules/rccgpio/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/rccgpio
+.PATH: ${SRCTOP}/sys/dev/rccgpio
KMOD= rccgpio
SRCS= rccgpio.c
SRCS+= device_if.h bus_if.h isa_if.h gpio_if.h opt_platform.h
diff --git a/sys/modules/rdma/krping/Makefile b/sys/modules/rdma/krping/Makefile
index ecc24a5..9f530e0 100644
--- a/sys/modules/rdma/krping/Makefile
+++ b/sys/modules/rdma/krping/Makefile
@@ -1,11 +1,11 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../contrib/rdma/krping
+.PATH: ${SRCTOP}/sys/contrib/rdma/krping
KMOD= krping
SRCS= krping.c krping_dev.c getopt.c
SRCS+= bus_if.h device_if.h pci_if.h pcib_if.h vnode_if.h
SRCS+= opt_sched.h opt_inet.h opt_inet6.h
-CFLAGS+= -I${.CURDIR}/../../../ofed/include
-CFLAGS+= -I${.CURDIR}/../../../compat/linuxkpi/common/include
+CFLAGS+= -I${SRCTOP}/sys/ofed/include
+CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
.include <bsd.kmod.mk>
diff --git a/sys/modules/rdrand_rng/Makefile b/sys/modules/rdrand_rng/Makefile
index 9d5adc3..7f14c08 100644
--- a/sys/modules/rdrand_rng/Makefile
+++ b/sys/modules/rdrand_rng/Makefile
@@ -1,11 +1,11 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/random
+.PATH: ${SRCTOP}/sys/dev/random
KMOD= rdrand_rng
SRCS= ivy.c
SRCS+= bus_if.h device_if.h
-CFLAGS+= -I${.CURDIR}/../..
+CFLAGS+= -I${SRCTOP}/sys
.include <bsd.kmod.mk>
diff --git a/sys/modules/re/Makefile b/sys/modules/re/Makefile
index abc9e49..782519b 100644
--- a/sys/modules/re/Makefile
+++ b/sys/modules/re/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/re
+.PATH: ${SRCTOP}/sys/dev/re
KMOD= if_re
SRCS= if_re.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/rl/Makefile b/sys/modules/rl/Makefile
index 16046ad..51a4fae 100644
--- a/sys/modules/rl/Makefile
+++ b/sys/modules/rl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/rl
+.PATH: ${SRCTOP}/sys/dev/rl
KMOD= if_rl
SRCS= if_rl.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/rndtest/Makefile b/sys/modules/rndtest/Makefile
index f818704..64ad388 100644
--- a/sys/modules/rndtest/Makefile
+++ b/sys/modules/rndtest/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/rndtest
+.PATH: ${SRCTOP}/sys/dev/rndtest
KMOD = rndtest
SRCS = rndtest.c
SRCS += device_if.h bus_if.h
diff --git a/sys/modules/rp/Makefile b/sys/modules/rp/Makefile
index 9326dff..a766394 100644
--- a/sys/modules/rp/Makefile
+++ b/sys/modules/rp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/rp
+.PATH: ${SRCTOP}/sys/dev/rp
KMOD= rp
SRCS= rp.c rp_pci.c device_if.h bus_if.h pci_if.h opt_compat.h
diff --git a/sys/modules/rpi_ft5406/Makefile b/sys/modules/rpi_ft5406/Makefile
index 3a1bbf5..f5ba45e 100644
--- a/sys/modules/rpi_ft5406/Makefile
+++ b/sys/modules/rpi_ft5406/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../arm/broadcom/bcm2835/
+.PATH: ${SRCTOP}/sys/arm/broadcom/bcm2835/
KMOD= rpi_ft5406
SRCS= bcm2835_ft5406.c
diff --git a/sys/modules/rtwn/Makefile b/sys/modules/rtwn/Makefile
index f5d230c..6a70a89 100644
--- a/sys/modules/rtwn/Makefile
+++ b/sys/modules/rtwn/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/rtwn
+.PATH: ${SRCTOP}/sys/dev/rtwn
KMOD = if_rtwn
SRCS = if_rtwn.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/rtwnfw/Makefile.inc b/sys/modules/rtwnfw/Makefile.inc
index ce5bcee..aa74c48 100644
--- a/sys/modules/rtwnfw/Makefile.inc
+++ b/sys/modules/rtwnfw/Makefile.inc
@@ -11,5 +11,5 @@ FIRMWS= ${_FIRM}:${KMOD}:111
FIRMWARE_LICENSE= realtek
-${_FIRM}: ${.CURDIR}/../../../contrib/dev/rtwn/${_FIRM}.uu
+${_FIRM}: ${SRCTOP}/sys/contrib/dev/rtwn/${_FIRM}.uu
uudecode -p $? > ${.TARGET}
diff --git a/sys/modules/s3/Makefile b/sys/modules/s3/Makefile
index c0babcb..8475577 100644
--- a/sys/modules/s3/Makefile
+++ b/sys/modules/s3/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/fb
+.PATH: ${SRCTOP}/sys/dev/fb
KMOD= s3
SRCS= device_if.h bus_if.h isa_if.h pci_if.h \
diff --git a/sys/modules/safe/Makefile b/sys/modules/safe/Makefile
index 6c61aa3..21e3454 100644
--- a/sys/modules/safe/Makefile
+++ b/sys/modules/safe/Makefile
@@ -26,7 +26,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../dev/safe
+.PATH: ${SRCTOP}/sys/dev/safe
KMOD = safe
SRCS = safe.c opt_safe.h
SRCS += device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sbni/Makefile b/sys/modules/sbni/Makefile
index 9dfab90..270b592 100644
--- a/sys/modules/sbni/Makefile
+++ b/sys/modules/sbni/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/sbni
+.PATH: ${SRCTOP}/sys/dev/sbni
KMOD= if_sbni
SRCS= if_sbni.c if_sbni_isa.c if_sbni_pci.c
diff --git a/sys/modules/scc/Makefile b/sys/modules/scc/Makefile
index b6cbd3b..05a67b2 100644
--- a/sys/modules/scc/Makefile
+++ b/sys/modules/scc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/scc
+.PATH: ${SRCTOP}/sys/dev/scc
.if ${MACHINE} == "sparc64"
scc_bfe= scc_bfe_ebus.c scc_bfe_sbus.c
diff --git a/sys/modules/scsi_low/Makefile b/sys/modules/scsi_low/Makefile
index 892e729..d7e3a4b 100644
--- a/sys/modules/scsi_low/Makefile
+++ b/sys/modules/scsi_low/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../cam/scsi
+.PATH: ${SRCTOP}/sys/cam/scsi
KMOD= scsi_low
SRCS= scsi_low.c
SRCS+= opt_ddb.h opt_scsi.h opt_cam.h bus_if.h device_if.h
diff --git a/sys/modules/sdhci/Makefile b/sys/modules/sdhci/Makefile
index 9ee9540..941b4d5 100644
--- a/sys/modules/sdhci/Makefile
+++ b/sys/modules/sdhci/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/sdhci
+.PATH: ${SRCTOP}/sys/dev/sdhci
KMOD= sdhci
SRCS= sdhci.c sdhci.h sdhci_if.c sdhci_if.h device_if.h bus_if.h mmcbr_if.h
diff --git a/sys/modules/sdhci_acpi/Makefile b/sys/modules/sdhci_acpi/Makefile
index 0d34805..d3f2e40 100644
--- a/sys/modules/sdhci_acpi/Makefile
+++ b/sys/modules/sdhci_acpi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/sdhci
+.PATH: ${SRCTOP}/sys/dev/sdhci
KMOD= sdhci_acpi
SRCS= sdhci_acpi.c sdhci.h sdhci_if.h
diff --git a/sys/modules/sdhci_pci/Makefile b/sys/modules/sdhci_pci/Makefile
index fcff490..1572e0b 100644
--- a/sys/modules/sdhci_pci/Makefile
+++ b/sys/modules/sdhci_pci/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/sdhci
+.PATH: ${SRCTOP}/sys/dev/sdhci
KMOD= sdhci_pci
SRCS= sdhci_pci.c sdhci.h sdhci_if.h device_if.h bus_if.h pci_if.h mmcbr_if.h
diff --git a/sys/modules/sem/Makefile b/sys/modules/sem/Makefile
index 927630d..c5457e1 100644
--- a/sys/modules/sem/Makefile
+++ b/sys/modules/sem/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= sem
SRCS= uipc_sem.c opt_compat.h opt_posix.h vnode_if.h
diff --git a/sys/modules/send/Makefile b/sys/modules/send/Makefile
index 1cb976b..bcf5345 100644
--- a/sys/modules/send/Makefile
+++ b/sys/modules/send/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netinet6
+.PATH: ${SRCTOP}/sys/netinet6
KMOD= send
SRCS= send.c
diff --git a/sys/modules/sf/Makefile b/sys/modules/sf/Makefile
index c67287e..3b5221f 100644
--- a/sys/modules/sf/Makefile
+++ b/sys/modules/sf/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/sf
+.PATH: ${SRCTOP}/sys/dev/sf
KMOD= if_sf
SRCS= if_sf.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sfxge/Makefile b/sys/modules/sfxge/Makefile
index 01d782e..a905663 100644
--- a/sys/modules/sfxge/Makefile
+++ b/sys/modules/sfxge/Makefile
@@ -2,18 +2,18 @@
KMOD= sfxge
-SFXGE= ${.CURDIR}/../../dev/sfxge
+SFXGE= ${SRCTOP}/sys/dev/sfxge
SRCS= device_if.h bus_if.h pci_if.h
SRCS+= opt_inet.h opt_inet6.h opt_sched.h opt_rss.h
-.PATH: ${.CURDIR}/../../dev/sfxge
+.PATH: ${SRCTOP}/sys/dev/sfxge
SRCS+= sfxge.c sfxge_dma.c sfxge_ev.c
SRCS+= sfxge_intr.c sfxge_mcdi.c sfxge_nvram.c
SRCS+= sfxge_port.c sfxge_rx.c sfxge_tx.c
SRCS+= sfxge.h sfxge_rx.h sfxge_tx.h sfxge_version.h
-.PATH: ${.CURDIR}/../../dev/sfxge/common
+.PATH: ${SRCTOP}/sys/dev/sfxge/common
SRCS+= efx_bootcfg.c efx_crc32.c efx_ev.c efx_intr.c efx_lic.c efx_mac.c
SRCS+= efx_mcdi.c efx_mon.c efx_nic.c
SRCS+= efx_nvram.c efx_phy.c efx_port.c efx_rx.c efx_sram.c efx_tx.c
diff --git a/sys/modules/sge/Makefile b/sys/modules/sge/Makefile
index 5f8c587..c2d0e23 100644
--- a/sys/modules/sge/Makefile
+++ b/sys/modules/sge/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/sge
+.PATH: ${SRCTOP}/sys/dev/sge
KMOD= if_sge
SRCS= if_sge.c device_if.h bus_if.h pci_if.h miibus_if.h
diff --git a/sys/modules/siba_bwn/Makefile b/sys/modules/siba_bwn/Makefile
index 02fbd5d..9091f23 100644
--- a/sys/modules/siba_bwn/Makefile
+++ b/sys/modules/siba_bwn/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/siba
+.PATH: ${SRCTOP}/sys/dev/siba
KMOD= siba_bwn
SRCS= siba_core.c siba_bwn.c sibareg.h sibavar.h
diff --git a/sys/modules/siftr/Makefile b/sys/modules/siftr/Makefile
index 773d215..bb92bb2 100644
--- a/sys/modules/siftr/Makefile
+++ b/sys/modules/siftr/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netinet
+.PATH: ${SRCTOP}/sys/netinet
KMOD= siftr
SRCS= siftr.c
diff --git a/sys/modules/siis/Makefile b/sys/modules/siis/Makefile
index dfd6b77..5c85b94 100644
--- a/sys/modules/siis/Makefile
+++ b/sys/modules/siis/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/siis
+.PATH: ${SRCTOP}/sys/dev/siis
KMOD= siis
SRCS= siis.c siis.h device_if.h bus_if.h pci_if.h opt_cam.h
diff --git a/sys/modules/sio/Makefile b/sys/modules/sio/Makefile
index 057e9c6..bc87ef7 100644
--- a/sys/modules/sio/Makefile
+++ b/sys/modules/sio/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
.if ${MACHINE} == "pc98"
-.PATH: ${.CURDIR}/../../pc98/cbus
+.PATH: ${SRCTOP}/sys/pc98/cbus
.endif
-.PATH: ${.CURDIR}/../../dev/sio
+.PATH: ${SRCTOP}/sys/dev/sio
KMOD= sio
SRCS= bus_if.h card_if.h device_if.h isa_if.h pci_if.h serdev_if.h \
diff --git a/sys/modules/sis/Makefile b/sys/modules/sis/Makefile
index c98dda0..759886c 100644
--- a/sys/modules/sis/Makefile
+++ b/sys/modules/sis/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/sis
+.PATH: ${SRCTOP}/sys/dev/sis
KMOD= if_sis
SRCS= if_sis.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sk/Makefile b/sys/modules/sk/Makefile
index 833550a..2b3e88a 100644
--- a/sys/modules/sk/Makefile
+++ b/sys/modules/sk/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/sk
+.PATH: ${SRCTOP}/sys/dev/sk
KMOD= if_sk
SRCS= if_sk.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/smbfs/Makefile b/sys/modules/smbfs/Makefile
index 04ffc9a..850650e 100644
--- a/sys/modules/smbfs/Makefile
+++ b/sys/modules/smbfs/Makefile
@@ -1,11 +1,11 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../crypto/des \
- ${.CURDIR}/../../crypto/des/arch/${MACHINE_CPUARCH} \
- ${.CURDIR}/../../kern \
- ${.CURDIR}/../../libkern \
- ${.CURDIR}/../../netsmb \
- ${.CURDIR}/../../fs/smbfs
+.PATH: ${SRCTOP}/sys/crypto/des \
+ ${SRCTOP}/sys/crypto/des/arch/${MACHINE_CPUARCH} \
+ ${SRCTOP}/sys/kern \
+ ${SRCTOP}/sys/libkern \
+ ${SRCTOP}/sys/netsmb \
+ ${SRCTOP}/sys/fs/smbfs
KMOD= smbfs
diff --git a/sys/modules/sn/Makefile b/sys/modules/sn/Makefile
index b248c75..a9e30eb 100644
--- a/sys/modules/sn/Makefile
+++ b/sys/modules/sn/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/sn
+.PATH: ${SRCTOP}/sys/dev/sn
KMOD= if_sn
SRCS= if_sn.c if_sn_isa.c if_sn_pccard.c device_if.h bus_if.h isa_if.h \
diff --git a/sys/modules/snp/Makefile b/sys/modules/snp/Makefile
index f4441df..10ae7b4 100644
--- a/sys/modules/snp/Makefile
+++ b/sys/modules/snp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/snp
+.PATH: ${SRCTOP}/sys/dev/snp
KMOD= snp
SRCS= snp.c
diff --git a/sys/modules/sound/driver/Makefile b/sys/modules/sound/driver/Makefile
index 7adecbc..d00ccaa 100644
--- a/sys/modules/sound/driver/Makefile
+++ b/sys/modules/sound/driver/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
# Modules that include binary-only blobs of microcode should be selectable by
diff --git a/sys/modules/sound/driver/ad1816/Makefile b/sys/modules/sound/driver/ad1816/Makefile
index 9c7fa9e..16d4ad3 100644
--- a/sys/modules/sound/driver/ad1816/Makefile
+++ b/sys/modules/sound/driver/ad1816/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/isa
+.PATH: ${SRCTOP}/sys/dev/sound/isa
KMOD= snd_ad1816
SRCS= device_if.h bus_if.h isa_if.h pci_if.h
diff --git a/sys/modules/sound/driver/ai2s/Makefile b/sys/modules/sound/driver/ai2s/Makefile
index 5f56ba6..4a5267a 100644
--- a/sys/modules/sound/driver/ai2s/Makefile
+++ b/sys/modules/sound/driver/ai2s/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/macio
+.PATH: ${SRCTOP}/sys/dev/sound/macio
KMOD= snd_ai2s
SRCS= device_if.h bus_if.h ofw_bus_if.h
diff --git a/sys/modules/sound/driver/als4000/Makefile b/sys/modules/sound/driver/als4000/Makefile
index 59dc73a..ab18b65 100644
--- a/sys/modules/sound/driver/als4000/Makefile
+++ b/sys/modules/sound/driver/als4000/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_als4000
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/atiixp/Makefile b/sys/modules/sound/driver/atiixp/Makefile
index db49eb2..00b4c78 100644
--- a/sys/modules/sound/driver/atiixp/Makefile
+++ b/sys/modules/sound/driver/atiixp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_atiixp
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/audiocs/Makefile b/sys/modules/sound/driver/audiocs/Makefile
index ff67554..0cd516c 100644
--- a/sys/modules/sound/driver/audiocs/Makefile
+++ b/sys/modules/sound/driver/audiocs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/sbus
+.PATH: ${SRCTOP}/sys/dev/sound/sbus
KMOD= snd_audiocs
SRCS= device_if.h bus_if.h ofw_bus_if.h
diff --git a/sys/modules/sound/driver/cmi/Makefile b/sys/modules/sound/driver/cmi/Makefile
index 551af42..4c7af37 100644
--- a/sys/modules/sound/driver/cmi/Makefile
+++ b/sys/modules/sound/driver/cmi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_cmi
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/cs4281/Makefile b/sys/modules/sound/driver/cs4281/Makefile
index ed3ddbc..da5161c 100644
--- a/sys/modules/sound/driver/cs4281/Makefile
+++ b/sys/modules/sound/driver/cs4281/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_cs4281
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/csa/Makefile b/sys/modules/sound/driver/csa/Makefile
index 521005e..af02ef4 100644
--- a/sys/modules/sound/driver/csa/Makefile
+++ b/sys/modules/sound/driver/csa/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_csa
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/davbus/Makefile b/sys/modules/sound/driver/davbus/Makefile
index b5616fe..5ea77b3 100644
--- a/sys/modules/sound/driver/davbus/Makefile
+++ b/sys/modules/sound/driver/davbus/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/macio
+.PATH: ${SRCTOP}/sys/dev/sound/macio
KMOD= snd_davbus
SRCS= device_if.h bus_if.h ofw_bus_if.h
diff --git a/sys/modules/sound/driver/driver/Makefile b/sys/modules/sound/driver/driver/Makefile
index 56a8461..8aea6ff 100644
--- a/sys/modules/sound/driver/driver/Makefile
+++ b/sys/modules/sound/driver/driver/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound
+.PATH: ${SRCTOP}/sys/dev/sound
KMOD= snd_driver
SRCS= device_if.h bus_if.h
diff --git a/sys/modules/sound/driver/ds1/Makefile b/sys/modules/sound/driver/ds1/Makefile
index c8f90ec..57d5767 100644
--- a/sys/modules/sound/driver/ds1/Makefile
+++ b/sys/modules/sound/driver/ds1/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_ds1
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/emu10k1/Makefile b/sys/modules/sound/driver/emu10k1/Makefile
index 090ece6..2180fe8 100644
--- a/sys/modules/sound/driver/emu10k1/Makefile
+++ b/sys/modules/sound/driver/emu10k1/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_emu10k1
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/emu10kx/Makefile b/sys/modules/sound/driver/emu10kx/Makefile
index 3b5920c..51394a0 100644
--- a/sys/modules/sound/driver/emu10kx/Makefile
+++ b/sys/modules/sound/driver/emu10kx/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_emu10kx
diff --git a/sys/modules/sound/driver/envy24/Makefile b/sys/modules/sound/driver/envy24/Makefile
index ec1bf4c..28c37ec 100644
--- a/sys/modules/sound/driver/envy24/Makefile
+++ b/sys/modules/sound/driver/envy24/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_envy24
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/envy24ht/Makefile b/sys/modules/sound/driver/envy24ht/Makefile
index e6b0d45..d712958 100644
--- a/sys/modules/sound/driver/envy24ht/Makefile
+++ b/sys/modules/sound/driver/envy24ht/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_envy24ht
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/es137x/Makefile b/sys/modules/sound/driver/es137x/Makefile
index d2a2d58..3989c66 100644
--- a/sys/modules/sound/driver/es137x/Makefile
+++ b/sys/modules/sound/driver/es137x/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_es137x
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/ess/Makefile b/sys/modules/sound/driver/ess/Makefile
index 73da252..943cd06 100644
--- a/sys/modules/sound/driver/ess/Makefile
+++ b/sys/modules/sound/driver/ess/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/isa
+.PATH: ${SRCTOP}/sys/dev/sound/isa
KMOD= snd_ess
SRCS= device_if.h bus_if.h isa_if.h pci_if.h
diff --git a/sys/modules/sound/driver/fm801/Makefile b/sys/modules/sound/driver/fm801/Makefile
index a8ed6bd..864033d 100644
--- a/sys/modules/sound/driver/fm801/Makefile
+++ b/sys/modules/sound/driver/fm801/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_fm801
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/hda/Makefile b/sys/modules/sound/driver/hda/Makefile
index f136936..5646724 100644
--- a/sys/modules/sound/driver/hda/Makefile
+++ b/sys/modules/sound/driver/hda/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci/hda
+.PATH: ${SRCTOP}/sys/dev/sound/pci/hda
KMOD= snd_hda
SRCS= device_if.h bus_if.h pci_if.h channel_if.h mixer_if.h hdac_if.h
diff --git a/sys/modules/sound/driver/hdspe/Makefile b/sys/modules/sound/driver/hdspe/Makefile
index fcf83fe..9ee5abb 100644
--- a/sys/modules/sound/driver/hdspe/Makefile
+++ b/sys/modules/sound/driver/hdspe/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_hdspe
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/ich/Makefile b/sys/modules/sound/driver/ich/Makefile
index e0f2ce7..def838a 100644
--- a/sys/modules/sound/driver/ich/Makefile
+++ b/sys/modules/sound/driver/ich/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD = snd_ich
SRCS = device_if.h bus_if.h pci_if.h
SRCS += ich.c
diff --git a/sys/modules/sound/driver/maestro/Makefile b/sys/modules/sound/driver/maestro/Makefile
index 4816f22..fe69bd6 100644
--- a/sys/modules/sound/driver/maestro/Makefile
+++ b/sys/modules/sound/driver/maestro/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_maestro
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/maestro3/Makefile b/sys/modules/sound/driver/maestro3/Makefile
index d4378b8..332f01e 100644
--- a/sys/modules/sound/driver/maestro3/Makefile
+++ b/sys/modules/sound/driver/maestro3/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_maestro3
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/mss/Makefile b/sys/modules/sound/driver/mss/Makefile
index 4488078..4032bf3 100644
--- a/sys/modules/sound/driver/mss/Makefile
+++ b/sys/modules/sound/driver/mss/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/isa
+.PATH: ${SRCTOP}/sys/dev/sound/isa
KMOD= snd_mss
SRCS= device_if.h bus_if.h isa_if.h pci_if.h
diff --git a/sys/modules/sound/driver/neomagic/Makefile b/sys/modules/sound/driver/neomagic/Makefile
index 9eabb5c..17d0c4c 100644
--- a/sys/modules/sound/driver/neomagic/Makefile
+++ b/sys/modules/sound/driver/neomagic/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_neomagic
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/sb16/Makefile b/sys/modules/sound/driver/sb16/Makefile
index bf009f7..083a720 100644
--- a/sys/modules/sound/driver/sb16/Makefile
+++ b/sys/modules/sound/driver/sb16/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/isa
+.PATH: ${SRCTOP}/sys/dev/sound/isa
KMOD= snd_sb16
SRCS= device_if.h bus_if.h isa_if.h pci_if.h
diff --git a/sys/modules/sound/driver/sb8/Makefile b/sys/modules/sound/driver/sb8/Makefile
index f2b0da8..7d9ff49 100644
--- a/sys/modules/sound/driver/sb8/Makefile
+++ b/sys/modules/sound/driver/sb8/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/isa
+.PATH: ${SRCTOP}/sys/dev/sound/isa
KMOD= snd_sb8
SRCS= device_if.h bus_if.h isa_if.h pci_if.h
diff --git a/sys/modules/sound/driver/sbc/Makefile b/sys/modules/sound/driver/sbc/Makefile
index 8e2343d..d7894d6 100644
--- a/sys/modules/sound/driver/sbc/Makefile
+++ b/sys/modules/sound/driver/sbc/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/isa
+.PATH: ${SRCTOP}/sys/dev/sound/isa
KMOD= snd_sbc
SRCS= device_if.h bus_if.h isa_if.h pci_if.h
diff --git a/sys/modules/sound/driver/solo/Makefile b/sys/modules/sound/driver/solo/Makefile
index 01059fa..cdd7972 100644
--- a/sys/modules/sound/driver/solo/Makefile
+++ b/sys/modules/sound/driver/solo/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_solo
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/spicds/Makefile b/sys/modules/sound/driver/spicds/Makefile
index 35ec879..87ab0bb 100644
--- a/sys/modules/sound/driver/spicds/Makefile
+++ b/sys/modules/sound/driver/spicds/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_spicds
SRCS= device_if.h bus_if.h isa_if.h pci_if.h
diff --git a/sys/modules/sound/driver/t4dwave/Makefile b/sys/modules/sound/driver/t4dwave/Makefile
index 7cd9140..1deff4a 100644
--- a/sys/modules/sound/driver/t4dwave/Makefile
+++ b/sys/modules/sound/driver/t4dwave/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_t4dwave
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/uaudio/Makefile b/sys/modules/sound/driver/uaudio/Makefile
index 1dd4493..e725436 100644
--- a/sys/modules/sound/driver/uaudio/Makefile
+++ b/sys/modules/sound/driver/uaudio/Makefile
@@ -1,12 +1,10 @@
# $FreeBSD$
-S= ${.CURDIR}/../../../..
-
-.PATH: $S/dev/sound/usb
+.PATH: ${SRCTOP}/sys/dev/sound/usb
KMOD= snd_uaudio
SRCS= bus_if.h device_if.h usb_if.h vnode_if.h
SRCS+= opt_usb.h opt_bus.h feeder_if.h channel_if.h usbdevs.h
-SRCS+= uaudio_pcm.c uaudio.c
+SRCS+= uaudio_pcm.c uaudio.c
.include <bsd.kmod.mk>
diff --git a/sys/modules/sound/driver/via8233/Makefile b/sys/modules/sound/driver/via8233/Makefile
index fa3fd96..18840d8 100644
--- a/sys/modules/sound/driver/via8233/Makefile
+++ b/sys/modules/sound/driver/via8233/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_via8233
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/via82c686/Makefile b/sys/modules/sound/driver/via82c686/Makefile
index d53576c..0abb86b 100644
--- a/sys/modules/sound/driver/via82c686/Makefile
+++ b/sys/modules/sound/driver/via82c686/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_via82c686
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/driver/vibes/Makefile b/sys/modules/sound/driver/vibes/Makefile
index 663d8a0..a817208 100644
--- a/sys/modules/sound/driver/vibes/Makefile
+++ b/sys/modules/sound/driver/vibes/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../../dev/sound/pci
+.PATH: ${SRCTOP}/sys/dev/sound/pci
KMOD= snd_vibes
SRCS= device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/sound/sound/Makefile b/sys/modules/sound/sound/Makefile
index ff9c48e..306ed72 100644
--- a/sys/modules/sound/sound/Makefile
+++ b/sys/modules/sound/sound/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../../..
+SYSDIR?=${SRCTOP}/sys
.PATH: ${SYSDIR}/dev/sound
.PATH: ${SYSDIR}/dev/sound/pcm
diff --git a/sys/modules/speaker/Makefile b/sys/modules/speaker/Makefile
index 1a4c5ac..9dcb5d9 100644
--- a/sys/modules/speaker/Makefile
+++ b/sys/modules/speaker/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/speaker
+.PATH: ${SRCTOP}/sys/dev/speaker
KMOD= speaker
SRCS= spkr.c
diff --git a/sys/modules/splash/bmp/Makefile b/sys/modules/splash/bmp/Makefile
index a169fdf..83a3fae 100644
--- a/sys/modules/splash/bmp/Makefile
+++ b/sys/modules/splash/bmp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/fb
+.PATH: ${SRCTOP}/sys/dev/fb
KMOD= splash_bmp
SRCS= splash_bmp.c
diff --git a/sys/modules/splash/pcx/Makefile b/sys/modules/splash/pcx/Makefile
index 188dafc..4317972 100644
--- a/sys/modules/splash/pcx/Makefile
+++ b/sys/modules/splash/pcx/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/fb
+.PATH: ${SRCTOP}/sys/dev/fb
KMOD= splash_pcx
SRCS= splash_pcx.c
diff --git a/sys/modules/splash/txt/Makefile b/sys/modules/splash/txt/Makefile
index 7b41a17..d991433 100644
--- a/sys/modules/splash/txt/Makefile
+++ b/sys/modules/splash/txt/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/fb
+.PATH: ${SRCTOP}/sys/dev/fb
KMOD= splash_txt
SRCS= splash_txt.c
diff --git a/sys/modules/sppp/Makefile b/sys/modules/sppp/Makefile
index 643308e..017940e 100644
--- a/sys/modules/sppp/Makefile
+++ b/sys/modules/sppp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net
+.PATH: ${SRCTOP}/sys/net
KMOD= sppp
SRCS= if_spppfr.c if_spppsubr.c slcompress.c
diff --git a/sys/modules/ste/Makefile b/sys/modules/ste/Makefile
index 6d767b1..25b1ddc 100644
--- a/sys/modules/ste/Makefile
+++ b/sys/modules/ste/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ste
+.PATH: ${SRCTOP}/sys/dev/ste
KMOD= if_ste
SRCS= if_ste.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/stg/Makefile b/sys/modules/stg/Makefile
index b8c0ae8..610c605 100644
--- a/sys/modules/stg/Makefile
+++ b/sys/modules/stg/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/stg
+.PATH: ${SRCTOP}/sys/dev/stg
KMOD= stg
SRCS= tmc18c30.c tmc18c30_subr.c \
diff --git a/sys/modules/stge/Makefile b/sys/modules/stge/Makefile
index 721a42d..b67e3b0 100644
--- a/sys/modules/stge/Makefile
+++ b/sys/modules/stge/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/stge
+.PATH: ${SRCTOP}/sys/dev/stge
KMOD= if_stge
SRCS= if_stge.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/svr4/Makefile b/sys/modules/svr4/Makefile
index c152b38..52fa3d7 100644
--- a/sys/modules/svr4/Makefile
+++ b/sys/modules/svr4/Makefile
@@ -22,7 +22,7 @@ svr4_locore.o: svr4_locore.s svr4_assym.h
${.IMPSRC} -o ${.TARGET}
svr4_genassym.o: svr4_genassym.c svr4.h
- ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
+ ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
.if !defined(KERNBUILDDIR) && defined(DEBUG)
opt_svr4.h:
diff --git a/sys/modules/sym/Makefile b/sys/modules/sym/Makefile
index 198c982..3701b14 100644
--- a/sys/modules/sym/Makefile
+++ b/sys/modules/sym/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/sym
+.PATH: ${SRCTOP}/sys/dev/sym
KMOD= sym
SRCS= sym_hipd.c opt_sym.h opt_cam.h opt_scsi.h
diff --git a/sys/modules/syscons/apm/Makefile b/sys/modules/syscons/apm/Makefile
index d2e31d8..9214d2d 100644
--- a/sys/modules/syscons/apm/Makefile
+++ b/sys/modules/syscons/apm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/apm
+.PATH: ${SRCTOP}/sys/dev/syscons/apm
KMOD= apm_saver
SRCS= apm_saver.c
diff --git a/sys/modules/syscons/beastie/Makefile b/sys/modules/syscons/beastie/Makefile
index 4f0865b..03fe93f 100644
--- a/sys/modules/syscons/beastie/Makefile
+++ b/sys/modules/syscons/beastie/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/logo
+.PATH: ${SRCTOP}/sys/dev/syscons/logo
KMOD= beastie_saver
SRCS= beastie.c logo_saver.c
diff --git a/sys/modules/syscons/blank/Makefile b/sys/modules/syscons/blank/Makefile
index 673b6bd..29ec9fc7 100644
--- a/sys/modules/syscons/blank/Makefile
+++ b/sys/modules/syscons/blank/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/blank
+.PATH: ${SRCTOP}/sys/dev/syscons/blank
KMOD= blank_saver
SRCS= blank_saver.c
diff --git a/sys/modules/syscons/daemon/Makefile b/sys/modules/syscons/daemon/Makefile
index b027972..cdbe011 100644
--- a/sys/modules/syscons/daemon/Makefile
+++ b/sys/modules/syscons/daemon/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/daemon
+.PATH: ${SRCTOP}/sys/dev/syscons/daemon
KMOD= daemon_saver
SRCS= daemon_saver.c
diff --git a/sys/modules/syscons/dragon/Makefile b/sys/modules/syscons/dragon/Makefile
index 95ebecd..f72d534 100644
--- a/sys/modules/syscons/dragon/Makefile
+++ b/sys/modules/syscons/dragon/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/dragon
+.PATH: ${SRCTOP}/sys/dev/syscons/dragon
KMOD= dragon_saver
SRCS= dragon_saver.c
diff --git a/sys/modules/syscons/fade/Makefile b/sys/modules/syscons/fade/Makefile
index 7691961..2121deb 100644
--- a/sys/modules/syscons/fade/Makefile
+++ b/sys/modules/syscons/fade/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/fade
+.PATH: ${SRCTOP}/sys/dev/syscons/fade
KMOD= fade_saver
SRCS= fade_saver.c
diff --git a/sys/modules/syscons/fire/Makefile b/sys/modules/syscons/fire/Makefile
index 219017e..86c589e 100644
--- a/sys/modules/syscons/fire/Makefile
+++ b/sys/modules/syscons/fire/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/fire
+.PATH: ${SRCTOP}/sys/dev/syscons/fire
KMOD= fire_saver
SRCS= fire_saver.c
diff --git a/sys/modules/syscons/green/Makefile b/sys/modules/syscons/green/Makefile
index 255171e..5ae5ca9 100644
--- a/sys/modules/syscons/green/Makefile
+++ b/sys/modules/syscons/green/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/green
+.PATH: ${SRCTOP}/sys/dev/syscons/green
KMOD= green_saver
SRCS= green_saver.c
diff --git a/sys/modules/syscons/logo/Makefile b/sys/modules/syscons/logo/Makefile
index b4439f2..b32f482 100644
--- a/sys/modules/syscons/logo/Makefile
+++ b/sys/modules/syscons/logo/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/logo
+.PATH: ${SRCTOP}/sys/dev/syscons/logo
KMOD= logo_saver
SRCS= logo_saver.c logo.c
diff --git a/sys/modules/syscons/plasma/Makefile b/sys/modules/syscons/plasma/Makefile
index c71c864..6864a5e 100644
--- a/sys/modules/syscons/plasma/Makefile
+++ b/sys/modules/syscons/plasma/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/plasma
+.PATH: ${SRCTOP}/sys/dev/syscons/plasma
KMOD= plasma_saver
SRCS= fp16.c plasma_saver.c
diff --git a/sys/modules/syscons/rain/Makefile b/sys/modules/syscons/rain/Makefile
index 5c0d126..d0964b8 100644
--- a/sys/modules/syscons/rain/Makefile
+++ b/sys/modules/syscons/rain/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/rain
+.PATH: ${SRCTOP}/sys/dev/syscons/rain
KMOD= rain_saver
SRCS= rain_saver.c
diff --git a/sys/modules/syscons/snake/Makefile b/sys/modules/syscons/snake/Makefile
index 9edf830..ab04b75 100644
--- a/sys/modules/syscons/snake/Makefile
+++ b/sys/modules/syscons/snake/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/snake
+.PATH: ${SRCTOP}/sys/dev/syscons/snake
KMOD= snake_saver
SRCS= snake_saver.c
diff --git a/sys/modules/syscons/star/Makefile b/sys/modules/syscons/star/Makefile
index ca3075f..771d464 100644
--- a/sys/modules/syscons/star/Makefile
+++ b/sys/modules/syscons/star/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/star
+.PATH: ${SRCTOP}/sys/dev/syscons/star
KMOD= star_saver
SRCS= star_saver.c
diff --git a/sys/modules/syscons/warp/Makefile b/sys/modules/syscons/warp/Makefile
index 3ff59d3..5fa2ab6 100644
--- a/sys/modules/syscons/warp/Makefile
+++ b/sys/modules/syscons/warp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/syscons/warp
+.PATH: ${SRCTOP}/sys/dev/syscons/warp
KMOD= warp_saver
SRCS= warp_saver.c
diff --git a/sys/modules/sysvipc/sysvmsg/Makefile b/sys/modules/sysvipc/sysvmsg/Makefile
index 38fc2a2..c30ecac 100644
--- a/sys/modules/sysvipc/sysvmsg/Makefile
+++ b/sys/modules/sysvipc/sysvmsg/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= sysvmsg
SRCS= sysv_msg.c opt_sysvipc.h opt_compat.h
diff --git a/sys/modules/sysvipc/sysvsem/Makefile b/sys/modules/sysvipc/sysvsem/Makefile
index abc9544..37d31b2 100644
--- a/sys/modules/sysvipc/sysvsem/Makefile
+++ b/sys/modules/sysvipc/sysvsem/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= sysvsem
SRCS= sysv_sem.c opt_sysvipc.h opt_compat.h
diff --git a/sys/modules/sysvipc/sysvshm/Makefile b/sys/modules/sysvipc/sysvshm/Makefile
index fde9d34..3ca31d6 100644
--- a/sys/modules/sysvipc/sysvshm/Makefile
+++ b/sys/modules/sysvipc/sysvshm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../kern
+.PATH: ${SRCTOP}/sys/kern
KMOD= sysvshm
SRCS= sysv_shm.c opt_sysvipc.h opt_compat.h
diff --git a/sys/modules/tcp/Makefile b/sys/modules/tcp/Makefile
new file mode 100644
index 0000000..a5ca903
--- /dev/null
+++ b/sys/modules/tcp/Makefile
@@ -0,0 +1,23 @@
+#
+# $FreeBSD$
+#
+
+SYSDIR?=${SRCTOP}/sys
+.include "${SYSDIR}/conf/kern.opts.mk"
+
+SUBDIR= \
+ ${_tcp_fastpath} \
+ ${_tcpmd5} \
+
+.if ${MK_EXTRA_TCP_STACKS} != "no" || defined(ALL_MODULES)
+_tcp_fastpath= fastpath
+.endif
+
+.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
+ defined(ALL_MODULES)
+.if ${MK_IPSEC_SUPPORT} != "no"
+_tcpmd5= tcpmd5
+.endif
+.endif
+
+.include <bsd.subdir.mk>
diff --git a/sys/modules/tcp/fastpath/Makefile b/sys/modules/tcp/fastpath/Makefile
index c6469fe..389d49e 100644
--- a/sys/modules/tcp/fastpath/Makefile
+++ b/sys/modules/tcp/fastpath/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../netinet/tcp_stacks
+.PATH: ${SRCTOP}/sys/netinet/tcp_stacks
KMOD= fastpath
SRCS= fastpath.c
diff --git a/sys/modules/tcp/tcpmd5/Makefile b/sys/modules/tcp/tcpmd5/Makefile
index 1337f1d..a92e787 100644
--- a/sys/modules/tcp/tcpmd5/Makefile
+++ b/sys/modules/tcp/tcpmd5/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../netipsec
+.PATH: ${SRCTOP}/sys/netipsec
KMOD= tcpmd5
SRCS= xform_tcp.c opt_inet.h opt_inet6.h opt_ipsec.h
diff --git a/sys/modules/tests/Makefile b/sys/modules/tests/Makefile
new file mode 100644
index 0000000..8b5bf36
--- /dev/null
+++ b/sys/modules/tests/Makefile
@@ -0,0 +1,9 @@
+# $FreeBSD$
+
+SUBDIR+= framework
+SUBDIR+= .WAIT
+SUBDIR+= callout_test
+
+SUBDIR_PARALLEL=
+
+.include <bsd.subdir.mk>
diff --git a/sys/modules/tests/callout_test/Makefile b/sys/modules/tests/callout_test/Makefile
index 4781488..f0a5c2f 100644
--- a/sys/modules/tests/callout_test/Makefile
+++ b/sys/modules/tests/callout_test/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../tests/callout_test
+.PATH: ${SRCTOP}/sys/tests/callout_test
KMOD= callout_test
SRCS= callout_test.c
diff --git a/sys/modules/tests/framework/Makefile b/sys/modules/tests/framework/Makefile
index f5f608f..8623e01 100644
--- a/sys/modules/tests/framework/Makefile
+++ b/sys/modules/tests/framework/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/../../../tests/framework
+.PATH: ${SRCTOP}/sys/tests/framework
KMOD= kern_testfrwk
SRCS= kern_testfrwk.c
diff --git a/sys/modules/ti/Makefile b/sys/modules/ti/Makefile
index 7b87b6f..84114cc 100644
--- a/sys/modules/ti/Makefile
+++ b/sys/modules/ti/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ti
+.PATH: ${SRCTOP}/sys/dev/ti
KMOD= if_ti
SRCS= if_ti.c device_if.h bus_if.h pci_if.h opt_ti.h
diff --git a/sys/modules/tl/Makefile b/sys/modules/tl/Makefile
index 60fbc27..b3c1a46 100644
--- a/sys/modules/tl/Makefile
+++ b/sys/modules/tl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/tl
+.PATH: ${SRCTOP}/sys/dev/tl
KMOD= if_tl
SRCS= if_tl.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/tmpfs/Makefile b/sys/modules/tmpfs/Makefile
index 85aaaca..7ae719e 100644
--- a/sys/modules/tmpfs/Makefile
+++ b/sys/modules/tmpfs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/tmpfs
+.PATH: ${SRCTOP}/sys/fs/tmpfs
KMOD= tmpfs
SRCS= vnode_if.h \
diff --git a/sys/modules/toecore/Makefile b/sys/modules/toecore/Makefile
index ab2a857..d3bf3b8 100644
--- a/sys/modules/toecore/Makefile
+++ b/sys/modules/toecore/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../netinet
+.PATH: ${SRCTOP}/sys/netinet
KMOD= toecore
SRCS= toecore.c
diff --git a/sys/modules/tpm/Makefile b/sys/modules/tpm/Makefile
index fdfc016..2f5adfb 100644
--- a/sys/modules/tpm/Makefile
+++ b/sys/modules/tpm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/tpm
+.PATH: ${SRCTOP}/sys/dev/tpm
KMOD= tpm
diff --git a/sys/modules/trm/Makefile b/sys/modules/trm/Makefile
index 7c42e40..e5f3004 100644
--- a/sys/modules/trm/Makefile
+++ b/sys/modules/trm/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/trm
+.PATH: ${SRCTOP}/sys/dev/trm
KMOD= trm
SRCS= trm.c trm.h opt_cam.h device_if.h bus_if.h \
diff --git a/sys/modules/tsec/Makefile b/sys/modules/tsec/Makefile
index 678d611..f63face 100644
--- a/sys/modules/tsec/Makefile
+++ b/sys/modules/tsec/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.PATH: ${SYSDIR}/dev/tsec
diff --git a/sys/modules/twa/Makefile b/sys/modules/twa/Makefile
index e5539e1..08e2fd6 100644
--- a/sys/modules/twa/Makefile
+++ b/sys/modules/twa/Makefile
@@ -33,7 +33,7 @@
#
KMOD = twa
-.PATH: ${.CURDIR}/../../dev/${KMOD}
+.PATH: ${SRCTOP}/sys/dev/${KMOD}
SRCS= tw_osl_freebsd.c tw_osl_cam.c \
tw_cl_init.c tw_cl_io.c tw_cl_intr.c tw_cl_misc.c \
bus_if.h device_if.h pci_if.h opt_scsi.h opt_cam.h opt_twa.h
@@ -42,6 +42,6 @@ SRCS= tw_osl_freebsd.c tw_osl_cam.c \
#CFLAGS+= -DTWA_ENCLOSURE_SUPPORT
#CFLAGS+= -DTWA_DEBUG=0
-CFLAGS+= -I${.CURDIR}/../../dev/${KMOD}
+CFLAGS+= -I${SRCTOP}/sys/dev/${KMOD}
.include <bsd.kmod.mk>
diff --git a/sys/modules/twe/Makefile b/sys/modules/twe/Makefile
index a74a58d..f5d09e4 100644
--- a/sys/modules/twe/Makefile
+++ b/sys/modules/twe/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
KMOD= twe
-.PATH: ${.CURDIR}/../../dev/${KMOD}
+.PATH: ${SRCTOP}/sys/dev/${KMOD}
SRCS= bus_if.h device_if.h pci_if.h twe.c twe_freebsd.c
#CFLAGS+=-DTWE_DEBUG=0
diff --git a/sys/modules/tws/Makefile b/sys/modules/tws/Makefile
index af26579..899f110 100644
--- a/sys/modules/tws/Makefile
+++ b/sys/modules/tws/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
KMOD= tws
-.PATH: ${.CURDIR}/../../dev/${KMOD}
+.PATH: ${SRCTOP}/sys/dev/${KMOD}
SRCS= tws.c tws_services.c tws_cam.c tws_hdm.c tws_user.c
SRCS+= device_if.h bus_if.h pci_if.h opt_cam.h opt_scsi.h
diff --git a/sys/modules/tx/Makefile b/sys/modules/tx/Makefile
index 1fe6ba1..5989703 100644
--- a/sys/modules/tx/Makefile
+++ b/sys/modules/tx/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/tx
+.PATH: ${SRCTOP}/sys/dev/tx
KMOD= if_tx
SRCS= if_tx.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/txp/Makefile b/sys/modules/txp/Makefile
index 379f3e3..c867e56 100644
--- a/sys/modules/txp/Makefile
+++ b/sys/modules/txp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/txp
+.PATH: ${SRCTOP}/sys/dev/txp
KMOD= if_txp
SRCS= if_txp.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/uart/Makefile b/sys/modules/uart/Makefile
index 9a21ddc..c97c409 100644
--- a/sys/modules/uart/Makefile
+++ b/sys/modules/uart/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/uart
+.PATH: ${SRCTOP}/sys/dev/uart
.if ${MACHINE_CPUARCH} == "sparc64"
uart_bus_ebus= uart_bus_ebus.c
diff --git a/sys/modules/ubsec/Makefile b/sys/modules/ubsec/Makefile
index d7835fa..5eebe97 100644
--- a/sys/modules/ubsec/Makefile
+++ b/sys/modules/ubsec/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ubsec
+.PATH: ${SRCTOP}/sys/dev/ubsec
KMOD = ubsec
SRCS = ubsec.c opt_ubsec.h
SRCS += device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/ubser/Makefile b/sys/modules/ubser/Makefile
index 8807bed..39414cc9 100644
--- a/sys/modules/ubser/Makefile
+++ b/sys/modules/ubser/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-S= ${.CURDIR}/../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
KMOD= ubser
diff --git a/sys/modules/uchcom/Makefile b/sys/modules/uchcom/Makefile
index 65cdacd..3d1ce84 100644
--- a/sys/modules/uchcom/Makefile
+++ b/sys/modules/uchcom/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-S= ${.CURDIR}/../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb
KMOD= uchcom
diff --git a/sys/modules/ucycom/Makefile b/sys/modules/ucycom/Makefile
index d5849a9..751b708 100644
--- a/sys/modules/ucycom/Makefile
+++ b/sys/modules/ucycom/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-S= ${.CURDIR}/../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb
KMOD= ucycom
diff --git a/sys/modules/udf/Makefile b/sys/modules/udf/Makefile
index 220cba1..2f97e91 100644
--- a/sys/modules/udf/Makefile
+++ b/sys/modules/udf/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/udf
+.PATH: ${SRCTOP}/sys/fs/udf
KMOD= udf
diff --git a/sys/modules/udf_iconv/Makefile b/sys/modules/udf_iconv/Makefile
index 008f722..21d31bb 100644
--- a/sys/modules/udf_iconv/Makefile
+++ b/sys/modules/udf_iconv/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/udf
+.PATH: ${SRCTOP}/sys/fs/udf
KMOD= udf_iconv
SRCS= udf_iconv.c
-CFLAGS+= -I${.CURDIR}/../../
+CFLAGS+= -I${SRCTOP}/sys/
.include <bsd.kmod.mk>
diff --git a/sys/modules/ufs/Makefile b/sys/modules/ufs/Makefile
index 5b90df7..e587cf0 100644
--- a/sys/modules/ufs/Makefile
+++ b/sys/modules/ufs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../ufs/ufs ${.CURDIR}/../../ufs/ffs
+.PATH: ${SRCTOP}/sys/ufs/ufs ${SRCTOP}/sys/ufs/ffs
KMOD= ufs
SRCS= opt_ddb.h opt_directio.h opt_ffs.h opt_quota.h opt_suiddir.h opt_ufs.h \
diff --git a/sys/modules/uinput/Makefile b/sys/modules/uinput/Makefile
index bdb9739..c1ecb52 100644
--- a/sys/modules/uinput/Makefile
+++ b/sys/modules/uinput/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/evdev
+.PATH: ${SRCTOP}/sys/dev/evdev
KMOD= uinput
SRCS= uinput.c
diff --git a/sys/modules/unionfs/Makefile b/sys/modules/unionfs/Makefile
index 64d38c5..88c6984 100644
--- a/sys/modules/unionfs/Makefile
+++ b/sys/modules/unionfs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/unionfs
+.PATH: ${SRCTOP}/sys/fs/unionfs
KMOD= unionfs
SRCS= vnode_if.h \
diff --git a/sys/modules/usb/Makefile b/sys/modules/usb/Makefile
index f1c2224..fe170b7 100644
--- a/sys/modules/usb/Makefile
+++ b/sys/modules/usb/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
#
diff --git a/sys/modules/usb/at91dci/Makefile b/sys/modules/usb/at91dci/Makefile
index 5bd646a..76aca16 100644
--- a/sys/modules/usb/at91dci/Makefile
+++ b/sys/modules/usb/at91dci/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/atmegadci/Makefile b/sys/modules/usb/atmegadci/Makefile
index 0f73c375..481de3c 100644
--- a/sys/modules/usb/atmegadci/Makefile
+++ b/sys/modules/usb/atmegadci/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/atp/Makefile b/sys/modules/usb/atp/Makefile
index 8e68d1c..21ff164 100644
--- a/sys/modules/usb/atp/Makefile
+++ b/sys/modules/usb/atp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/input
diff --git a/sys/modules/usb/aue/Makefile b/sys/modules/usb/aue/Makefile
index ac1ace1..6e67128 100644
--- a/sys/modules/usb/aue/Makefile
+++ b/sys/modules/usb/aue/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/avr32dci/Makefile b/sys/modules/usb/avr32dci/Makefile
index ea7d9c2..095cf51 100644
--- a/sys/modules/usb/avr32dci/Makefile
+++ b/sys/modules/usb/avr32dci/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/axe/Makefile b/sys/modules/usb/axe/Makefile
index 10719f0..41f9c5e 100644
--- a/sys/modules/usb/axe/Makefile
+++ b/sys/modules/usb/axe/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/axge/Makefile b/sys/modules/usb/axge/Makefile
index bad4b94..873f4e8 100644
--- a/sys/modules/usb/axge/Makefile
+++ b/sys/modules/usb/axge/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/usb/net
+.PATH: ${SRCTOP}/sys/dev/usb/net
KMOD= if_axge
SRCS+= if_axge.c usbdevs.h
diff --git a/sys/modules/usb/cdce/Makefile b/sys/modules/usb/cdce/Makefile
index c16b794..0b1db33 100644
--- a/sys/modules/usb/cdce/Makefile
+++ b/sys/modules/usb/cdce/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/cfumass/Makefile b/sys/modules/usb/cfumass/Makefile
index f659b9b..584783d 100644
--- a/sys/modules/usb/cfumass/Makefile
+++ b/sys/modules/usb/cfumass/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/usb/storage
+.PATH: ${SRCTOP}/sys/dev/usb/storage
KMOD= cfumass
SRCS= bus_if.h device_if.h opt_bus.h opt_usb.h usb_if.h usbdevs.h \
diff --git a/sys/modules/usb/cue/Makefile b/sys/modules/usb/cue/Makefile
index b13f7be..2ba17e2 100644
--- a/sys/modules/usb/cue/Makefile
+++ b/sys/modules/usb/cue/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/dwc_otg/Makefile b/sys/modules/usb/dwc_otg/Makefile
index 6ab1bfc..07d08d1 100644
--- a/sys/modules/usb/dwc_otg/Makefile
+++ b/sys/modules/usb/dwc_otg/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/ehci/Makefile b/sys/modules/usb/ehci/Makefile
index 4f558cc..bc79da0 100644
--- a/sys/modules/usb/ehci/Makefile
+++ b/sys/modules/usb/ehci/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/g_audio/Makefile b/sys/modules/usb/g_audio/Makefile
index 7425ade..efeae06 100644
--- a/sys/modules/usb/g_audio/Makefile
+++ b/sys/modules/usb/g_audio/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/usb/gadget
+.PATH: ${SRCTOP}/sys/dev/usb/gadget
KMOD= g_audio
diff --git a/sys/modules/usb/g_keyboard/Makefile b/sys/modules/usb/g_keyboard/Makefile
index 302a242..9caeca2 100644
--- a/sys/modules/usb/g_keyboard/Makefile
+++ b/sys/modules/usb/g_keyboard/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/usb/gadget
+.PATH: ${SRCTOP}/sys/dev/usb/gadget
KMOD= g_keyboard
diff --git a/sys/modules/usb/g_modem/Makefile b/sys/modules/usb/g_modem/Makefile
index 980849e..abc425f 100644
--- a/sys/modules/usb/g_modem/Makefile
+++ b/sys/modules/usb/g_modem/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/usb/gadget
+.PATH: ${SRCTOP}/sys/dev/usb/gadget
KMOD= g_modem
diff --git a/sys/modules/usb/g_mouse/Makefile b/sys/modules/usb/g_mouse/Makefile
index b6d30de..e692326 100644
--- a/sys/modules/usb/g_mouse/Makefile
+++ b/sys/modules/usb/g_mouse/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/usb/gadget
+.PATH: ${SRCTOP}/sys/dev/usb/gadget
KMOD= g_mouse
diff --git a/sys/modules/usb/ipheth/Makefile b/sys/modules/usb/ipheth/Makefile
index b055374..c65ae77 100644
--- a/sys/modules/usb/ipheth/Makefile
+++ b/sys/modules/usb/ipheth/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/kue/Makefile b/sys/modules/usb/kue/Makefile
index 0205f5c..2b3e504 100644
--- a/sys/modules/usb/kue/Makefile
+++ b/sys/modules/usb/kue/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/mos/Makefile b/sys/modules/usb/mos/Makefile
index 5d63649..cd61474 100644
--- a/sys/modules/usb/mos/Makefile
+++ b/sys/modules/usb/mos/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/musb/Makefile b/sys/modules/usb/musb/Makefile
index 0dbd65e..5002c30 100644
--- a/sys/modules/usb/musb/Makefile
+++ b/sys/modules/usb/musb/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/ohci/Makefile b/sys/modules/usb/ohci/Makefile
index 40ed874..b04117a 100644
--- a/sys/modules/usb/ohci/Makefile
+++ b/sys/modules/usb/ohci/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/quirk/Makefile b/sys/modules/usb/quirk/Makefile
index 1bb5d88..15b85d9 100644
--- a/sys/modules/usb/quirk/Makefile
+++ b/sys/modules/usb/quirk/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/quirk
diff --git a/sys/modules/usb/rsu/Makefile b/sys/modules/usb/rsu/Makefile
index 755f4b8..c3c8fcb 100644
--- a/sys/modules/usb/rsu/Makefile
+++ b/sys/modules/usb/rsu/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/usb/wlan
+.PATH: ${SRCTOP}/sys/dev/usb/wlan
KMOD = if_rsu
SRCS = if_rsu.c if_rsureg.h \
diff --git a/sys/modules/usb/rsufw/Makefile.inc b/sys/modules/usb/rsufw/Makefile.inc
index 3792b33..2f98177 100644
--- a/sys/modules/usb/rsufw/Makefile.inc
+++ b/sys/modules/usb/rsufw/Makefile.inc
@@ -11,5 +11,5 @@ FIRMWS= ${_FIRM}:${KMOD}:120
# FIRMWARE_LICENSE= realtek
-${_FIRM}: ${.CURDIR}/../../../../contrib/dev/rsu/${_FIRM}.uu
+${_FIRM}: ${SRCTOP}/sys/contrib/dev/rsu/${_FIRM}.uu
uudecode -p $? > ${.TARGET}
diff --git a/sys/modules/usb/rue/Makefile b/sys/modules/usb/rue/Makefile
index e7e236e..69db3fe 100644
--- a/sys/modules/usb/rue/Makefile
+++ b/sys/modules/usb/rue/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/rum/Makefile b/sys/modules/usb/rum/Makefile
index de8d702..31c097b 100644
--- a/sys/modules/usb/rum/Makefile
+++ b/sys/modules/usb/rum/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/wlan
diff --git a/sys/modules/usb/run/Makefile b/sys/modules/usb/run/Makefile
index 5acada4..05769bc 100644
--- a/sys/modules/usb/run/Makefile
+++ b/sys/modules/usb/run/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/wlan
diff --git a/sys/modules/usb/runfw/Makefile b/sys/modules/usb/runfw/Makefile
index 3734153..47d09a5 100644
--- a/sys/modules/usb/runfw/Makefile
+++ b/sys/modules/usb/runfw/Makefile
@@ -5,7 +5,7 @@ FIRMWS= run.fw:runfw:1
CLEANFILES= run.fw
-run.fw: ${.CURDIR}/../../../contrib/dev/run/rt2870.fw.uu
+run.fw: ${SRCTOP}/sys/contrib/dev/run/rt2870.fw.uu
uudecode -p $? > ${.TARGET}
.include <bsd.kmod.mk>
diff --git a/sys/modules/usb/saf1761otg/Makefile b/sys/modules/usb/saf1761otg/Makefile
index f9d0e6f..446e750 100644
--- a/sys/modules/usb/saf1761otg/Makefile
+++ b/sys/modules/usb/saf1761otg/Makefile
@@ -29,7 +29,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/smsc/Makefile b/sys/modules/usb/smsc/Makefile
index eca1c9c..c7fe271 100644
--- a/sys/modules/usb/smsc/Makefile
+++ b/sys/modules/usb/smsc/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/template/Makefile b/sys/modules/usb/template/Makefile
index 4164177..99e2b1d 100644
--- a/sys/modules/usb/template/Makefile
+++ b/sys/modules/usb/template/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/template
diff --git a/sys/modules/usb/u3g/Makefile b/sys/modules/usb/u3g/Makefile
index 545c379..3e25433 100644
--- a/sys/modules/usb/u3g/Makefile
+++ b/sys/modules/usb/u3g/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/uark/Makefile b/sys/modules/usb/uark/Makefile
index 7ef981e..b681f33 100644
--- a/sys/modules/usb/uark/Makefile
+++ b/sys/modules/usb/uark/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/uath/Makefile b/sys/modules/usb/uath/Makefile
index a734dfc..48ef747 100644
--- a/sys/modules/usb/uath/Makefile
+++ b/sys/modules/usb/uath/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/usb/wlan
+.PATH: ${SRCTOP}/sys/dev/usb/wlan
KMOD = if_uath
SRCS = if_uath.c if_uathvar.h if_uathreg.h \
diff --git a/sys/modules/usb/ubsa/Makefile b/sys/modules/usb/ubsa/Makefile
index 8e5d6b4..9ac95dc 100644
--- a/sys/modules/usb/ubsa/Makefile
+++ b/sys/modules/usb/ubsa/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/ubser/Makefile b/sys/modules/usb/ubser/Makefile
index 1d023f7..efa030b 100644
--- a/sys/modules/usb/ubser/Makefile
+++ b/sys/modules/usb/ubser/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/uchcom/Makefile b/sys/modules/usb/uchcom/Makefile
index b6922e3..bf1184d 100644
--- a/sys/modules/usb/uchcom/Makefile
+++ b/sys/modules/usb/uchcom/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/ucom/Makefile b/sys/modules/usb/ucom/Makefile
index b7836a8..21dd995 100644
--- a/sys/modules/usb/ucom/Makefile
+++ b/sys/modules/usb/ucom/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/ucycom/Makefile b/sys/modules/usb/ucycom/Makefile
index f52e949..17ceba2 100644
--- a/sys/modules/usb/ucycom/Makefile
+++ b/sys/modules/usb/ucycom/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/udav/Makefile b/sys/modules/usb/udav/Makefile
index b3944f0e..242ae7f 100644
--- a/sys/modules/usb/udav/Makefile
+++ b/sys/modules/usb/udav/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/udbp/Makefile b/sys/modules/usb/udbp/Makefile
index 13097d8..ecebf18 100644
--- a/sys/modules/usb/udbp/Makefile
+++ b/sys/modules/usb/udbp/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/misc
diff --git a/sys/modules/usb/udl/Makefile b/sys/modules/usb/udl/Makefile
index 5323883..5a14280 100644
--- a/sys/modules/usb/udl/Makefile
+++ b/sys/modules/usb/udl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/video
diff --git a/sys/modules/usb/uep/Makefile b/sys/modules/usb/uep/Makefile
index 4ffacde..2ea4527 100644
--- a/sys/modules/usb/uep/Makefile
+++ b/sys/modules/usb/uep/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/input
diff --git a/sys/modules/usb/uether/Makefile b/sys/modules/usb/uether/Makefile
index ade780f..66e55b3 100644
--- a/sys/modules/usb/uether/Makefile
+++ b/sys/modules/usb/uether/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/ufm/Makefile b/sys/modules/usb/ufm/Makefile
index a09ddec..d19c5ec 100644
--- a/sys/modules/usb/ufm/Makefile
+++ b/sys/modules/usb/ufm/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/misc
diff --git a/sys/modules/usb/ufoma/Makefile b/sys/modules/usb/ufoma/Makefile
index 5a62576..96062f2 100644
--- a/sys/modules/usb/ufoma/Makefile
+++ b/sys/modules/usb/ufoma/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/uftdi/Makefile b/sys/modules/usb/uftdi/Makefile
index 6a6433d..7a69798 100644
--- a/sys/modules/usb/uftdi/Makefile
+++ b/sys/modules/usb/uftdi/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/ugensa/Makefile b/sys/modules/usb/ugensa/Makefile
index 975847a..9fc20ca 100644
--- a/sys/modules/usb/ugensa/Makefile
+++ b/sys/modules/usb/ugensa/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/ugold/Makefile b/sys/modules/usb/ugold/Makefile
index 48af6ef..a6361ca6 100644
--- a/sys/modules/usb/ugold/Makefile
+++ b/sys/modules/usb/ugold/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/misc
diff --git a/sys/modules/usb/uhci/Makefile b/sys/modules/usb/uhci/Makefile
index d5204ef..23d4b3c 100644
--- a/sys/modules/usb/uhci/Makefile
+++ b/sys/modules/usb/uhci/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/uhid/Makefile b/sys/modules/usb/uhid/Makefile
index 406ed36..f1fa4f6 100644
--- a/sys/modules/usb/uhid/Makefile
+++ b/sys/modules/usb/uhid/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/input
diff --git a/sys/modules/usb/uhso/Makefile b/sys/modules/usb/uhso/Makefile
index b08dc42..fb29a7f 100644
--- a/sys/modules/usb/uhso/Makefile
+++ b/sys/modules/usb/uhso/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/uipaq/Makefile b/sys/modules/usb/uipaq/Makefile
index cf87d18..ccb19d8 100644
--- a/sys/modules/usb/uipaq/Makefile
+++ b/sys/modules/usb/uipaq/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/ukbd/Makefile b/sys/modules/usb/ukbd/Makefile
index 3db978a..bbd721a 100644
--- a/sys/modules/usb/ukbd/Makefile
+++ b/sys/modules/usb/ukbd/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/input
diff --git a/sys/modules/usb/uled/Makefile b/sys/modules/usb/uled/Makefile
index d53f302..2cd3ada 100644
--- a/sys/modules/usb/uled/Makefile
+++ b/sys/modules/usb/uled/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/misc
diff --git a/sys/modules/usb/ulpt/Makefile b/sys/modules/usb/ulpt/Makefile
index 1e28742..37c585a 100644
--- a/sys/modules/usb/ulpt/Makefile
+++ b/sys/modules/usb/ulpt/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/umass/Makefile b/sys/modules/usb/umass/Makefile
index 7b3b674..bc33820 100644
--- a/sys/modules/usb/umass/Makefile
+++ b/sys/modules/usb/umass/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/storage
diff --git a/sys/modules/usb/umcs/Makefile b/sys/modules/usb/umcs/Makefile
index be75fb5..58b7838 100644
--- a/sys/modules/usb/umcs/Makefile
+++ b/sys/modules/usb/umcs/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/umct/Makefile b/sys/modules/usb/umct/Makefile
index 263fc40..2b154c8 100644
--- a/sys/modules/usb/umct/Makefile
+++ b/sys/modules/usb/umct/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/umodem/Makefile b/sys/modules/usb/umodem/Makefile
index c767573..05b2683 100644
--- a/sys/modules/usb/umodem/Makefile
+++ b/sys/modules/usb/umodem/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/umoscom/Makefile b/sys/modules/usb/umoscom/Makefile
index 7851780..4b85789 100644
--- a/sys/modules/usb/umoscom/Makefile
+++ b/sys/modules/usb/umoscom/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/ums/Makefile b/sys/modules/usb/ums/Makefile
index 197415f..17826e5 100644
--- a/sys/modules/usb/ums/Makefile
+++ b/sys/modules/usb/ums/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/input
diff --git a/sys/modules/usb/upgt/Makefile b/sys/modules/usb/upgt/Makefile
index 74aa145..d8d97f3 100644
--- a/sys/modules/usb/upgt/Makefile
+++ b/sys/modules/usb/upgt/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/usb/wlan
+.PATH: ${SRCTOP}/sys/dev/usb/wlan
KMOD = if_upgt
SRCS = if_upgt.c if_upgtvar.h \
diff --git a/sys/modules/usb/uplcom/Makefile b/sys/modules/usb/uplcom/Makefile
index c07e78b..54cf7ab 100644
--- a/sys/modules/usb/uplcom/Makefile
+++ b/sys/modules/usb/uplcom/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/ural/Makefile b/sys/modules/usb/ural/Makefile
index 7e605de..afd56be 100644
--- a/sys/modules/usb/ural/Makefile
+++ b/sys/modules/usb/ural/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/wlan
diff --git a/sys/modules/usb/ure/Makefile b/sys/modules/usb/ure/Makefile
index 61dfc37..d08514a 100644
--- a/sys/modules/usb/ure/Makefile
+++ b/sys/modules/usb/ure/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/usb/net
+.PATH: ${SRCTOP}/sys/dev/usb/net
KMOD= if_ure
SRCS+= if_ure.c usbdevs.h
diff --git a/sys/modules/usb/urio/Makefile b/sys/modules/usb/urio/Makefile
index 0dfc605..267f7c3 100644
--- a/sys/modules/usb/urio/Makefile
+++ b/sys/modules/usb/urio/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/storage
diff --git a/sys/modules/usb/urndis/Makefile b/sys/modules/usb/urndis/Makefile
index 929572d..51fe5a9 100644
--- a/sys/modules/usb/urndis/Makefile
+++ b/sys/modules/usb/urndis/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/net
diff --git a/sys/modules/usb/urtw/Makefile b/sys/modules/usb/urtw/Makefile
index e06ad06..2d282a2 100644
--- a/sys/modules/usb/urtw/Makefile
+++ b/sys/modules/usb/urtw/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../dev/usb/wlan
+.PATH: ${SRCTOP}/sys/dev/usb/wlan
KMOD = if_urtw
SRCS = if_urtw.c if_urtwreg.h if_urtwvar.h \
diff --git a/sys/modules/usb/usb/Makefile b/sys/modules/usb/usb/Makefile
index 704895e..02c01ad 100644
--- a/sys/modules/usb/usb/Makefile
+++ b/sys/modules/usb/usb/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb $S/dev/usb/controller
diff --git a/sys/modules/usb/usfs/Makefile b/sys/modules/usb/usfs/Makefile
index a34aae1..92e2dec 100644
--- a/sys/modules/usb/usfs/Makefile
+++ b/sys/modules/usb/usfs/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/storage
diff --git a/sys/modules/usb/usie/Makefile b/sys/modules/usb/usie/Makefile
index f7d7c07..7b43e2c 100644
--- a/sys/modules/usb/usie/Makefile
+++ b/sys/modules/usb/usie/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/usb/net
+.PATH: ${SRCTOP}/sys/dev/usb/net
KMOD = usie
SRCS = if_usie.c
diff --git a/sys/modules/usb/uslcom/Makefile b/sys/modules/usb/uslcom/Makefile
index adf3de7..9ef28d5 100644
--- a/sys/modules/usb/uslcom/Makefile
+++ b/sys/modules/usb/uslcom/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/uss820dci/Makefile b/sys/modules/usb/uss820dci/Makefile
index 743464a..b91e827 100644
--- a/sys/modules/usb/uss820dci/Makefile
+++ b/sys/modules/usb/uss820dci/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/uvisor/Makefile b/sys/modules/usb/uvisor/Makefile
index c483259..6a732d2 100644
--- a/sys/modules/usb/uvisor/Makefile
+++ b/sys/modules/usb/uvisor/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/uvscom/Makefile b/sys/modules/usb/uvscom/Makefile
index 18589f1..de860bc 100644
--- a/sys/modules/usb/uvscom/Makefile
+++ b/sys/modules/usb/uvscom/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/serial
diff --git a/sys/modules/usb/wsp/Makefile b/sys/modules/usb/wsp/Makefile
index 9f85b6a..a5215c0 100644
--- a/sys/modules/usb/wsp/Makefile
+++ b/sys/modules/usb/wsp/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/input
diff --git a/sys/modules/usb/xhci/Makefile b/sys/modules/usb/xhci/Makefile
index 07dcba0..f133086 100644
--- a/sys/modules/usb/xhci/Makefile
+++ b/sys/modules/usb/xhci/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/controller
diff --git a/sys/modules/usb/zyd/Makefile b/sys/modules/usb/zyd/Makefile
index 48dd9eb..9852e5c 100644
--- a/sys/modules/usb/zyd/Makefile
+++ b/sys/modules/usb/zyd/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/usb/wlan
diff --git a/sys/modules/utopia/Makefile b/sys/modules/utopia/Makefile
index c1a4445..f999370 100644
--- a/sys/modules/utopia/Makefile
+++ b/sys/modules/utopia/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/utopia
+.PATH: ${SRCTOP}/sys/dev/utopia
KMOD= utopia
SRCS= utopia.c suni.c idtphy.c bus_if.h device_if.h
diff --git a/sys/modules/vesa/Makefile b/sys/modules/vesa/Makefile
index 69a0c33..610226f 100644
--- a/sys/modules/vesa/Makefile
+++ b/sys/modules/vesa/Makefile
@@ -4,10 +4,10 @@ KMOD= vesa
SRCS= opt_vga.h opt_vesa.h
SRCS+= bus_if.h device_if.h pci_if.h
-.PATH: ${.CURDIR}/../../dev/fb
+.PATH: ${SRCTOP}/sys/dev/fb
SRCS+= vesa.c
-.PATH: ${.CURDIR}/../../dev/syscons
+.PATH: ${SRCTOP}/sys/dev/syscons
SRCS+= scvesactl.c
.include <bsd.kmod.mk>
diff --git a/sys/modules/vge/Makefile b/sys/modules/vge/Makefile
index a06ee56..2866aac 100644
--- a/sys/modules/vge/Makefile
+++ b/sys/modules/vge/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/vge
+.PATH: ${SRCTOP}/sys/dev/vge
KMOD= if_vge
SRCS= if_vge.c miibus_if.h device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/viawd/Makefile b/sys/modules/viawd/Makefile
index c14c3e0..c075977 100644
--- a/sys/modules/viawd/Makefile
+++ b/sys/modules/viawd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/viawd
+.PATH: ${SRCTOP}/sys/dev/viawd
KMOD= viawd
SRCS= viawd.c device_if.h bus_if.h pci_if.h isa_if.h
diff --git a/sys/modules/videomode/Makefile b/sys/modules/videomode/Makefile
index 9b09aae..80f7aee 100644
--- a/sys/modules/videomode/Makefile
+++ b/sys/modules/videomode/Makefile
@@ -25,7 +25,7 @@
# SUCH DAMAGE.
#
-S= ${.CURDIR}/../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/videomode
diff --git a/sys/modules/virtio/balloon/Makefile b/sys/modules/virtio/balloon/Makefile
index 39c8b1c..59359a0 100644
--- a/sys/modules/virtio/balloon/Makefile
+++ b/sys/modules/virtio/balloon/Makefile
@@ -23,7 +23,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/virtio/balloon
+.PATH: ${SRCTOP}/sys/dev/virtio/balloon
KMOD= virtio_balloon
SRCS= virtio_balloon.c
diff --git a/sys/modules/virtio/block/Makefile b/sys/modules/virtio/block/Makefile
index 5b73a6d..8afaf7d 100644
--- a/sys/modules/virtio/block/Makefile
+++ b/sys/modules/virtio/block/Makefile
@@ -23,7 +23,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/virtio/block
+.PATH: ${SRCTOP}/sys/dev/virtio/block
KMOD= virtio_blk
SRCS= virtio_blk.c
diff --git a/sys/modules/virtio/console/Makefile b/sys/modules/virtio/console/Makefile
index 7490720..d4da9fc 100644
--- a/sys/modules/virtio/console/Makefile
+++ b/sys/modules/virtio/console/Makefile
@@ -23,7 +23,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/virtio/console
+.PATH: ${SRCTOP}/sys/dev/virtio/console
KMOD= virtio_console
SRCS= virtio_console.c
diff --git a/sys/modules/virtio/network/Makefile b/sys/modules/virtio/network/Makefile
index 6dc3d86..beeddc7 100644
--- a/sys/modules/virtio/network/Makefile
+++ b/sys/modules/virtio/network/Makefile
@@ -23,7 +23,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/virtio/network
+.PATH: ${SRCTOP}/sys/dev/virtio/network
KMOD= if_vtnet
SRCS= if_vtnet.c
diff --git a/sys/modules/virtio/pci/Makefile b/sys/modules/virtio/pci/Makefile
index 4d85669..3dbf403 100644
--- a/sys/modules/virtio/pci/Makefile
+++ b/sys/modules/virtio/pci/Makefile
@@ -23,7 +23,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/virtio/pci
+.PATH: ${SRCTOP}/sys/dev/virtio/pci
KMOD= virtio_pci
SRCS= virtio_pci.c
diff --git a/sys/modules/virtio/random/Makefile b/sys/modules/virtio/random/Makefile
index 25954d0..3421480 100644
--- a/sys/modules/virtio/random/Makefile
+++ b/sys/modules/virtio/random/Makefile
@@ -23,7 +23,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/virtio/random
+.PATH: ${SRCTOP}/sys/dev/virtio/random
KMOD= virtio_random
SRCS= virtio_random.c
diff --git a/sys/modules/virtio/scsi/Makefile b/sys/modules/virtio/scsi/Makefile
index 0363909..83c6505 100644
--- a/sys/modules/virtio/scsi/Makefile
+++ b/sys/modules/virtio/scsi/Makefile
@@ -23,7 +23,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/virtio/scsi
+.PATH: ${SRCTOP}/sys/dev/virtio/scsi
KMOD= virtio_scsi
SRCS= virtio_scsi.c
diff --git a/sys/modules/virtio/virtio/Makefile b/sys/modules/virtio/virtio/Makefile
index e99b529..ed67f03 100644
--- a/sys/modules/virtio/virtio/Makefile
+++ b/sys/modules/virtio/virtio/Makefile
@@ -23,7 +23,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/virtio
+.PATH: ${SRCTOP}/sys/dev/virtio
KMOD= virtio
diff --git a/sys/modules/vkbd/Makefile b/sys/modules/vkbd/Makefile
index 500274c..250653b 100644
--- a/sys/modules/vkbd/Makefile
+++ b/sys/modules/vkbd/Makefile
@@ -1,7 +1,7 @@
# $Id: Makefile,v 1.1 2004/08/13 18:30:24 max Exp $
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/vkbd
+.PATH: ${SRCTOP}/sys/dev/vkbd
KMOD= vkbd
SRCS= vkbd.c opt_compat.h opt_kbd.h
diff --git a/sys/modules/vmm/Makefile b/sys/modules/vmm/Makefile
index d94ceba..882864a 100644
--- a/sys/modules/vmm/Makefile
+++ b/sys/modules/vmm/Makefile
@@ -7,13 +7,13 @@ SRCS+= vmx_assym.h svm_assym.h
DPSRCS= vmx_genassym.c svm_genassym.c
CFLAGS+= -DVMM_KEEP_STATS -DSMP
-CFLAGS+= -I${.CURDIR}/../../amd64/vmm
-CFLAGS+= -I${.CURDIR}/../../amd64/vmm/io
-CFLAGS+= -I${.CURDIR}/../../amd64/vmm/intel
-CFLAGS+= -I${.CURDIR}/../../amd64/vmm/amd
+CFLAGS+= -I${SRCTOP}/sys/amd64/vmm
+CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/io
+CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/intel
+CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/amd
# generic vmm support
-.PATH: ${.CURDIR}/../../amd64/vmm
+.PATH: ${SRCTOP}/sys/amd64/vmm
SRCS+= vmm.c \
vmm_dev.c \
vmm_host.c \
@@ -25,7 +25,7 @@ SRCS+= vmm.c \
vmm_util.c \
x86.c
-.PATH: ${.CURDIR}/../../amd64/vmm/io
+.PATH: ${SRCTOP}/sys/amd64/vmm/io
SRCS+= iommu.c \
ppt.c \
vatpic.c \
@@ -37,7 +37,7 @@ SRCS+= iommu.c \
vrtc.c
# intel-specific files
-.PATH: ${.CURDIR}/../../amd64/vmm/intel
+.PATH: ${SRCTOP}/sys/amd64/vmm/intel
SRCS+= ept.c \
vmcs.c \
vmx_msr.c \
@@ -46,7 +46,7 @@ SRCS+= ept.c \
vtd.c
# amd-specific files
-.PATH: ${.CURDIR}/../../amd64/vmm/amd
+.PATH: ${SRCTOP}/sys/amd64/vmm/amd
SRCS+= vmcb.c \
svm.c \
svm_support.S \
@@ -71,9 +71,9 @@ svm_support.o:
${.IMPSRC} -o ${.TARGET}
vmx_genassym.o:
- ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
+ ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
svm_genassym.o:
- ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
+ ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
.include <bsd.kmod.mk>
diff --git a/sys/modules/vmware/vmxnet3/Makefile b/sys/modules/vmware/vmxnet3/Makefile
index 340e593..9debcc6 100644
--- a/sys/modules/vmware/vmxnet3/Makefile
+++ b/sys/modules/vmware/vmxnet3/Makefile
@@ -23,7 +23,7 @@
# SUCH DAMAGE.
#
-.PATH: ${.CURDIR}/../../../dev/vmware/vmxnet3
+.PATH: ${SRCTOP}/sys/dev/vmware/vmxnet3
KMOD= if_vmx
SRCS= if_vmx.c
diff --git a/sys/modules/vnic/Makefile b/sys/modules/vnic/Makefile
index 69d1590..d1e0a8e 100644
--- a/sys/modules/vnic/Makefile
+++ b/sys/modules/vnic/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
CFLAGS+= -DFDT
diff --git a/sys/modules/vnic/mrmlbus/Makefile b/sys/modules/vnic/mrmlbus/Makefile
index 1d1eb34..e3d3b28 100644
--- a/sys/modules/vnic/mrmlbus/Makefile
+++ b/sys/modules/vnic/mrmlbus/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/vnic
diff --git a/sys/modules/vnic/thunder_bgx/Makefile b/sys/modules/vnic/thunder_bgx/Makefile
index 4926e7a..d128438 100644
--- a/sys/modules/vnic/thunder_bgx/Makefile
+++ b/sys/modules/vnic/thunder_bgx/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/vnic
diff --git a/sys/modules/vnic/thunder_mdio/Makefile b/sys/modules/vnic/thunder_mdio/Makefile
index 78ca8f8..33c3b9c 100644
--- a/sys/modules/vnic/thunder_mdio/Makefile
+++ b/sys/modules/vnic/thunder_mdio/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/vnic
diff --git a/sys/modules/vnic/vnicpf/Makefile b/sys/modules/vnic/vnicpf/Makefile
index 206f75f..111de73 100644
--- a/sys/modules/vnic/vnicpf/Makefile
+++ b/sys/modules/vnic/vnicpf/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/vnic
diff --git a/sys/modules/vnic/vnicvf/Makefile b/sys/modules/vnic/vnicvf/Makefile
index 9614cc0..52a3c23 100644
--- a/sys/modules/vnic/vnicvf/Makefile
+++ b/sys/modules/vnic/vnicvf/Makefile
@@ -1,9 +1,9 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
-S= ${.CURDIR}/../../..
+S= ${SRCTOP}/sys
.PATH: $S/dev/vnic
diff --git a/sys/modules/vpo/Makefile b/sys/modules/vpo/Makefile
index cad169a..afb5eb1 100644
--- a/sys/modules/vpo/Makefile
+++ b/sys/modules/vpo/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/ppbus
+.PATH: ${SRCTOP}/sys/dev/ppbus
KMOD= vpo
SRCS= bus_if.h device_if.h ppbus_if.h \
diff --git a/sys/modules/vr/Makefile b/sys/modules/vr/Makefile
index e3ce623..3f56ee8 100644
--- a/sys/modules/vr/Makefile
+++ b/sys/modules/vr/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/vr
+.PATH: ${SRCTOP}/sys/dev/vr
KMOD= if_vr
SRCS= if_vr.c device_if.h bus_if.h pci_if.h
diff --git a/sys/modules/vte/Makefile b/sys/modules/vte/Makefile
index 932181c..f6628a4 100644
--- a/sys/modules/vte/Makefile
+++ b/sys/modules/vte/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/vte
+.PATH: ${SRCTOP}/sys/dev/vte
KMOD= if_vte
SRCS= if_vte.c device_if.h bus_if.h pci_if.h miibus_if.h
diff --git a/sys/modules/vx/Makefile b/sys/modules/vx/Makefile
index 2086dc8..47f5c79 100644
--- a/sys/modules/vx/Makefile
+++ b/sys/modules/vx/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
.include "${SYSDIR}/conf/kern.opts.mk"
.PATH: ${SYSDIR}/dev/vx
diff --git a/sys/modules/vxge/Makefile b/sys/modules/vxge/Makefile
index d864400..8435941 100644
--- a/sys/modules/vxge/Makefile
+++ b/sys/modules/vxge/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/vxge
-VPATH = ${.CURDIR}/../../dev/vxge/vxgehal
+.PATH: ${SRCTOP}/sys/dev/vxge
+VPATH = ${SRCTOP}/sys/dev/vxge/vxgehal
CFLAGS_VXGE =
diff --git a/sys/modules/wb/Makefile b/sys/modules/wb/Makefile
index 77b63b5..faaabae 100644
--- a/sys/modules/wb/Makefile
+++ b/sys/modules/wb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/wb
+.PATH: ${SRCTOP}/sys/dev/wb
KMOD= if_wb
SRCS= if_wb.c device_if.h
diff --git a/sys/modules/wbwd/Makefile b/sys/modules/wbwd/Makefile
index e727302..28fa951 100644
--- a/sys/modules/wbwd/Makefile
+++ b/sys/modules/wbwd/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/wbwd
+.PATH: ${SRCTOP}/sys/dev/wbwd
KMOD= wbwd
SRCS= wbwd.c
diff --git a/sys/modules/wi/Makefile b/sys/modules/wi/Makefile
index 46215a8..6268ddb 100644
--- a/sys/modules/wi/Makefile
+++ b/sys/modules/wi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/wi
+.PATH: ${SRCTOP}/sys/dev/wi
KMOD= if_wi
SRCS= if_wi.c if_wi_pccard.c if_wi_pci.c \
diff --git a/sys/modules/wlan/Makefile b/sys/modules/wlan/Makefile
index 344ff4e..6ca57ca1a 100644
--- a/sys/modules/wlan/Makefile
+++ b/sys/modules/wlan/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net80211
+.PATH: ${SRCTOP}/sys/net80211
KMOD= wlan
SRCS= ieee80211.c ieee80211_action.c ieee80211_ageq.c \
diff --git a/sys/modules/wlan_acl/Makefile b/sys/modules/wlan_acl/Makefile
index f0ce538..13d7ec2 100644
--- a/sys/modules/wlan_acl/Makefile
+++ b/sys/modules/wlan_acl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net80211
+.PATH: ${SRCTOP}/sys/net80211
KMOD= wlan_acl
SRCS= ieee80211_acl.c
diff --git a/sys/modules/wlan_amrr/Makefile b/sys/modules/wlan_amrr/Makefile
index 1c9ef8c..226111f 100644
--- a/sys/modules/wlan_amrr/Makefile
+++ b/sys/modules/wlan_amrr/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net80211
+.PATH: ${SRCTOP}/sys/net80211
KMOD= wlan_amrr
SRCS= ieee80211_amrr.c
diff --git a/sys/modules/wlan_ccmp/Makefile b/sys/modules/wlan_ccmp/Makefile
index 99274dc..2197823 100644
--- a/sys/modules/wlan_ccmp/Makefile
+++ b/sys/modules/wlan_ccmp/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net80211
-.PATH: ${.CURDIR}/../../crypto/rijndael
+.PATH: ${SRCTOP}/sys/net80211
+.PATH: ${SRCTOP}/sys/crypto/rijndael
KMOD= wlan_ccmp
SRCS= ieee80211_crypto_ccmp.c
diff --git a/sys/modules/wlan_rssadapt/Makefile b/sys/modules/wlan_rssadapt/Makefile
index 732db05..5a446a7 100644
--- a/sys/modules/wlan_rssadapt/Makefile
+++ b/sys/modules/wlan_rssadapt/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net80211
+.PATH: ${SRCTOP}/sys/net80211
KMOD= wlan_rssadapt
SRCS= ieee80211_rssadapt.c
diff --git a/sys/modules/wlan_tkip/Makefile b/sys/modules/wlan_tkip/Makefile
index 13ea063..d451b05 100644
--- a/sys/modules/wlan_tkip/Makefile
+++ b/sys/modules/wlan_tkip/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net80211
+.PATH: ${SRCTOP}/sys/net80211
KMOD= wlan_tkip
SRCS= ieee80211_crypto_tkip.c
diff --git a/sys/modules/wlan_wep/Makefile b/sys/modules/wlan_wep/Makefile
index 6ebbdb0..2a446b7 100644
--- a/sys/modules/wlan_wep/Makefile
+++ b/sys/modules/wlan_wep/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net80211
+.PATH: ${SRCTOP}/sys/net80211
KMOD= wlan_wep
SRCS= ieee80211_crypto_wep.c
diff --git a/sys/modules/wlan_xauth/Makefile b/sys/modules/wlan_xauth/Makefile
index 308d8f2..afe3c17 100644
--- a/sys/modules/wlan_xauth/Makefile
+++ b/sys/modules/wlan_xauth/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../net80211
+.PATH: ${SRCTOP}/sys/net80211
KMOD= wlan_xauth
SRCS= ieee80211_xauth.c
diff --git a/sys/modules/wpi/Makefile b/sys/modules/wpi/Makefile
index 2e0da73..a4bb0d5 100644
--- a/sys/modules/wpi/Makefile
+++ b/sys/modules/wpi/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/wpi
+.PATH: ${SRCTOP}/sys/dev/wpi
KMOD = if_wpi
SRCS = if_wpi.c device_if.h bus_if.h pci_if.h opt_wpi.h opt_wlan.h
diff --git a/sys/modules/wpifw/Makefile b/sys/modules/wpifw/Makefile
index d035a80..bb23f3c 100644
--- a/sys/modules/wpifw/Makefile
+++ b/sys/modules/wpifw/Makefile
@@ -1,13 +1,13 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../contrib/dev/wpi
+.PATH: ${SRCTOP}/sys/contrib/dev/wpi
KMOD= wpifw
FIRMWS= iwlwifi-3945-15.32.2.9.fw:wpifw:153229
CLEANFILES= iwlwifi-3945-15.32.2.9.fw
-iwlwifi-3945-15.32.2.9.fw: ${.CURDIR}/../../contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu
- uudecode -p ${.CURDIR}/../../contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu > ${.TARGET}
+iwlwifi-3945-15.32.2.9.fw: iwlwifi-3945-15.32.2.9.fw.uu
+ uudecode -p ${.ALLSRC} > ${.TARGET}
.include <bsd.kmod.mk>
diff --git a/sys/modules/wtap/Makefile b/sys/modules/wtap/Makefile
index 58f60fb..4386bf0d 100644
--- a/sys/modules/wtap/Makefile
+++ b/sys/modules/wtap/Makefile
@@ -5,13 +5,13 @@
KMOD = wtap
# Enumerate Source files for kernel module
-.PATH: ${.CURDIR}/../../dev/wtap
+.PATH: ${SRCTOP}/sys/dev/wtap
SRCS = if_wtap_module.c if_wtap.c if_medium.c
-.PATH: ${.CURDIR}/../../dev/wtap/wtap_hal
+.PATH: ${SRCTOP}/sys/dev/wtap/wtap_hal
SRCS += hal.c
-.PATH: ${.CURDIR}/../../dev/wtap/plugins
+.PATH: ${SRCTOP}/sys/dev/wtap/plugins
SRCS += visibility.c
SRCS += opt_global.h
diff --git a/sys/modules/x86bios/Makefile b/sys/modules/x86bios/Makefile
index f8cc606..5d58856 100644
--- a/sys/modules/x86bios/Makefile
+++ b/sys/modules/x86bios/Makefile
@@ -4,8 +4,8 @@ KMOD= x86bios
SRCS= opt_x86bios.h
SRCS+= bus_if.h device_if.h pci_if.h
-.PATH: ${.CURDIR}/../../contrib/x86emu
-.PATH: ${.CURDIR}/../../compat/x86bios
+.PATH: ${SRCTOP}/sys/contrib/x86emu
+.PATH: ${SRCTOP}/sys/compat/x86bios
SRCS+= x86bios.c
.if ${MACHINE_ARCH} != "i386"
SRCS+= x86emu.c
diff --git a/sys/modules/xe/Makefile b/sys/modules/xe/Makefile
index f900854..8ebd53f 100644
--- a/sys/modules/xe/Makefile
+++ b/sys/modules/xe/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/xe
+.PATH: ${SRCTOP}/sys/dev/xe
KMOD= if_xe
SRCS= if_xe.c if_xe_pccard.c
diff --git a/sys/modules/xl/Makefile b/sys/modules/xl/Makefile
index 417f3fc..7809a33 100644
--- a/sys/modules/xl/Makefile
+++ b/sys/modules/xl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../dev/xl
+.PATH: ${SRCTOP}/sys/dev/xl
KMOD= if_xl
SRCS= bus_if.h device_if.h if_xl.c miibus_if.h miidevs.h pci_if.h xlphy.c
diff --git a/sys/modules/zfs/Makefile b/sys/modules/zfs/Makefile
index b02254d..0ce0ac9 100644
--- a/sys/modules/zfs/Makefile
+++ b/sys/modules/zfs/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SYSDIR?=${.CURDIR}/../..
+SYSDIR?=${SRCTOP}/sys
KMOD= zfs
diff --git a/sys/modules/zlib/Makefile b/sys/modules/zlib/Makefile
index 235d1c7..26a023c 100644
--- a/sys/modules/zlib/Makefile
+++ b/sys/modules/zlib/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../libkern
+.PATH: ${SRCTOP}/sys/libkern
KMOD= zlib
SRCS= zlib.c
diff --git a/sys/net/bpf.h b/sys/net/bpf.h
index 058f3c0..679f896 100644
--- a/sys/net/bpf.h
+++ b/sys/net/bpf.h
@@ -231,1056 +231,8 @@ struct bpf_zbuf_header {
u_int _bzh_pad[5];
};
-/*
- * Data-link level type codes.
- */
-#define DLT_NULL 0 /* BSD loopback encapsulation */
-#define DLT_EN10MB 1 /* Ethernet (10Mb) */
-#define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */
-#define DLT_AX25 3 /* Amateur Radio AX.25 */
-#define DLT_PRONET 4 /* Proteon ProNET Token Ring */
-#define DLT_CHAOS 5 /* Chaos */
-#define DLT_IEEE802 6 /* IEEE 802 Networks */
-#define DLT_ARCNET 7 /* ARCNET */
-#define DLT_SLIP 8 /* Serial Line IP */
-#define DLT_PPP 9 /* Point-to-point Protocol */
-#define DLT_FDDI 10 /* FDDI */
-#define DLT_ATM_RFC1483 11 /* LLC/SNAP encapsulated atm */
-#define DLT_RAW 12 /* raw IP */
-
-/*
- * These are values from BSD/OS's "bpf.h".
- * These are not the same as the values from the traditional libpcap
- * "bpf.h"; however, these values shouldn't be generated by any
- * OS other than BSD/OS, so the correct values to use here are the
- * BSD/OS values.
- *
- * Platforms that have already assigned these values to other
- * DLT_ codes, however, should give these codes the values
- * from that platform, so that programs that use these codes will
- * continue to compile - even though they won't correctly read
- * files of these types.
- */
-#define DLT_SLIP_BSDOS 15 /* BSD/OS Serial Line IP */
-#define DLT_PPP_BSDOS 16 /* BSD/OS Point-to-point Protocol */
-
-#define DLT_ATM_CLIP 19 /* Linux Classical-IP over ATM */
-
-/*
- * These values are defined by NetBSD; other platforms should refrain from
- * using them for other purposes, so that NetBSD savefiles with link
- * types of 50 or 51 can be read as this type on all platforms.
- */
-#define DLT_PPP_SERIAL 50 /* PPP over serial with HDLC encapsulation */
-#define DLT_PPP_ETHER 51 /* PPP over Ethernet */
-
-/*
- * Reserved for the Symantec Enterprise Firewall.
- */
-#define DLT_SYMANTEC_FIREWALL 99
-
-/*
- * Values between 100 and 103 are used in capture file headers as
- * link-layer header type LINKTYPE_ values corresponding to DLT_ types
- * that differ between platforms; don't use those values for new DLT_
- * new types.
- */
-
-/*
- * Values starting with 104 are used for newly-assigned link-layer
- * header type values; for those link-layer header types, the DLT_
- * value returned by pcap_datalink() and passed to pcap_open_dead(),
- * and the LINKTYPE_ value that appears in capture files, are the
- * same.
- *
- * DLT_MATCHING_MIN is the lowest such value; DLT_MATCHING_MAX is
- * the highest such value.
- */
-#define DLT_MATCHING_MIN 104
-
-/*
- * This value was defined by libpcap 0.5; platforms that have defined
- * it with a different value should define it here with that value -
- * a link type of 104 in a save file will be mapped to DLT_C_HDLC,
- * whatever value that happens to be, so programs will correctly
- * handle files with that link type regardless of the value of
- * DLT_C_HDLC.
- *
- * The name DLT_C_HDLC was used by BSD/OS; we use that name for source
- * compatibility with programs written for BSD/OS.
- *
- * libpcap 0.5 defined it as DLT_CHDLC; we define DLT_CHDLC as well,
- * for source compatibility with programs written for libpcap 0.5.
- */
-#define DLT_C_HDLC 104 /* Cisco HDLC */
-#define DLT_CHDLC DLT_C_HDLC
-
-#define DLT_IEEE802_11 105 /* IEEE 802.11 wireless */
-
-/*
- * Values between 106 and 107 are used in capture file headers as
- * link-layer types corresponding to DLT_ types that might differ
- * between platforms; don't use those values for new DLT_ new types.
- */
-
-/*
- * Frame Relay; BSD/OS has a DLT_FR with a value of 11, but that collides
- * with other values.
- * DLT_FR and DLT_FRELAY packets start with the Q.922 Frame Relay header
- * (DLCI, etc.).
- */
-#define DLT_FRELAY 107
-
-/*
- * OpenBSD DLT_LOOP, for loopback devices; it's like DLT_NULL, except
- * that the AF_ type in the link-layer header is in network byte order.
- *
- * OpenBSD defines it as 12, but that collides with DLT_RAW, so we
- * define it as 108 here. If OpenBSD picks up this file, it should
- * define DLT_LOOP as 12 in its version, as per the comment above -
- * and should not use 108 as a DLT_ value.
- */
-#define DLT_LOOP 108
-
-/*
- * Values between 109 and 112 are used in capture file headers as
- * link-layer types corresponding to DLT_ types that might differ
- * between platforms; don't use those values for new DLT_ new types.
- */
-
-/*
- * Encapsulated packets for IPsec; DLT_ENC is 13 in OpenBSD, but that's
- * DLT_SLIP_BSDOS in NetBSD, so we don't use 13 for it in OSes other
- * than OpenBSD.
- */
-#define DLT_ENC 109
-
-/*
- * This is for Linux cooked sockets.
- */
-#define DLT_LINUX_SLL 113
-
-/*
- * Apple LocalTalk hardware.
- */
-#define DLT_LTALK 114
-
-/*
- * Acorn Econet.
- */
-#define DLT_ECONET 115
-
-/*
- * Reserved for use with OpenBSD ipfilter.
- */
-#define DLT_IPFILTER 116
-
-/*
- * Reserved for use in capture-file headers as a link-layer type
- * corresponding to OpenBSD DLT_PFLOG; DLT_PFLOG is 17 in OpenBSD,
- * but that's DLT_LANE8023 in SuSE 6.3, so we can't use 17 for it
- * in capture-file headers.
- */
-#define DLT_PFLOG 117
-
-/*
- * Registered for Cisco-internal use.
- */
-#define DLT_CISCO_IOS 118
-
-/*
- * Reserved for 802.11 cards using the Prism II chips, with a link-layer
- * header including Prism monitor mode information plus an 802.11
- * header.
- */
-#define DLT_PRISM_HEADER 119
-
-/*
- * Reserved for Aironet 802.11 cards, with an Aironet link-layer header
- * (see Doug Ambrisko's FreeBSD patches).
- */
-#define DLT_AIRONET_HEADER 120
-
-/*
- * Reserved for use by OpenBSD's pfsync device.
- */
-#define DLT_PFSYNC 121
-
-/*
- * Reserved for Siemens HiPath HDLC. XXX
- */
-#define DLT_HHDLC 121
-
-/*
- * Reserved for RFC 2625 IP-over-Fibre Channel.
- */
-#define DLT_IP_OVER_FC 122
-
-/*
- * Reserved for Full Frontal ATM on Solaris.
- */
-#define DLT_SUNATM 123
-
-/*
- * Reserved as per request from Kent Dahlgren <kent@praesum.com>
- * for private use.
- */
-#define DLT_RIO 124 /* RapidIO */
-#define DLT_PCI_EXP 125 /* PCI Express */
-#define DLT_AURORA 126 /* Xilinx Aurora link layer */
-
-/*
- * BSD header for 802.11 plus a number of bits of link-layer information
- * including radio information.
- */
-#ifndef DLT_IEEE802_11_RADIO
-#define DLT_IEEE802_11_RADIO 127
-#endif
-
-/*
- * Reserved for TZSP encapsulation.
- */
-#define DLT_TZSP 128 /* Tazmen Sniffer Protocol */
-
-/*
- * Reserved for Linux ARCNET.
- */
-#define DLT_ARCNET_LINUX 129
-
-/*
- * Juniper-private data link types.
- */
-#define DLT_JUNIPER_MLPPP 130
-#define DLT_JUNIPER_MLFR 131
-#define DLT_JUNIPER_ES 132
-#define DLT_JUNIPER_GGSN 133
-#define DLT_JUNIPER_MFR 134
-#define DLT_JUNIPER_ATM2 135
-#define DLT_JUNIPER_SERVICES 136
-#define DLT_JUNIPER_ATM1 137
-
-/*
- * Apple IP-over-IEEE 1394, as per a request from Dieter Siegmund
- * <dieter@apple.com>. The header that's presented is an Ethernet-like
- * header:
- *
- * #define FIREWIRE_EUI64_LEN 8
- * struct firewire_header {
- * u_char firewire_dhost[FIREWIRE_EUI64_LEN];
- * u_char firewire_shost[FIREWIRE_EUI64_LEN];
- * u_short firewire_type;
- * };
- *
- * with "firewire_type" being an Ethernet type value, rather than,
- * for example, raw GASP frames being handed up.
- */
-#define DLT_APPLE_IP_OVER_IEEE1394 138
-
-/*
- * Various SS7 encapsulations, as per a request from Jeff Morriss
- * <jeff.morriss[AT]ulticom.com> and subsequent discussions.
- */
-#define DLT_MTP2_WITH_PHDR 139 /* pseudo-header with various info, followed by MTP2 */
-#define DLT_MTP2 140 /* MTP2, without pseudo-header */
-#define DLT_MTP3 141 /* MTP3, without pseudo-header or MTP2 */
-#define DLT_SCCP 142 /* SCCP, without pseudo-header or MTP2 or MTP3 */
-
-/*
- * Reserved for DOCSIS.
- */
-#define DLT_DOCSIS 143
-
-/*
- * Reserved for Linux IrDA.
- */
-#define DLT_LINUX_IRDA 144
-
-/*
- * Reserved for IBM SP switch and IBM Next Federation switch.
- */
-#define DLT_IBM_SP 145
-#define DLT_IBM_SN 146
-
-/*
- * Reserved for private use. If you have some link-layer header type
- * that you want to use within your organization, with the capture files
- * using that link-layer header type not ever be sent outside your
- * organization, you can use these values.
- *
- * No libpcap release will use these for any purpose, nor will any
- * tcpdump release use them, either.
- *
- * Do *NOT* use these in capture files that you expect anybody not using
- * your private versions of capture-file-reading tools to read; in
- * particular, do *NOT* use them in products, otherwise you may find that
- * people won't be able to use tcpdump, or snort, or Ethereal, or... to
- * read capture files from your firewall/intrusion detection/traffic
- * monitoring/etc. appliance, or whatever product uses that DLT_ value,
- * and you may also find that the developers of those applications will
- * not accept patches to let them read those files.
- *
- * Also, do not use them if somebody might send you a capture using them
- * for *their* private type and tools using them for *your* private type
- * would have to read them.
- *
- * Instead, ask "tcpdump-workers@tcpdump.org" for a new DLT_ value,
- * as per the comment above, and use the type you're given.
- */
-#define DLT_USER0 147
-#define DLT_USER1 148
-#define DLT_USER2 149
-#define DLT_USER3 150
-#define DLT_USER4 151
-#define DLT_USER5 152
-#define DLT_USER6 153
-#define DLT_USER7 154
-#define DLT_USER8 155
-#define DLT_USER9 156
-#define DLT_USER10 157
-#define DLT_USER11 158
-#define DLT_USER12 159
-#define DLT_USER13 160
-#define DLT_USER14 161
-#define DLT_USER15 162
-
-/*
- * For future use with 802.11 captures - defined by AbsoluteValue
- * Systems to store a number of bits of link-layer information
- * including radio information:
- *
- * http://www.shaftnet.org/~pizza/software/capturefrm.txt
- *
- * but it might be used by some non-AVS drivers now or in the
- * future.
- */
-#define DLT_IEEE802_11_RADIO_AVS 163 /* 802.11 plus AVS radio header */
-
-/*
- * Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>. The DLT_s are used
- * for passing on chassis-internal metainformation such as
- * QOS profiles, etc..
- */
-#define DLT_JUNIPER_MONITOR 164
-
-/*
- * Reserved for BACnet MS/TP.
- */
-#define DLT_BACNET_MS_TP 165
-
-/*
- * Another PPP variant as per request from Karsten Keil <kkeil@suse.de>.
- *
- * This is used in some OSes to allow a kernel socket filter to distinguish
- * between incoming and outgoing packets, on a socket intended to
- * supply pppd with outgoing packets so it can do dial-on-demand and
- * hangup-on-lack-of-demand; incoming packets are filtered out so they
- * don't cause pppd to hold the connection up (you don't want random
- * input packets such as port scans, packets from old lost connections,
- * etc. to force the connection to stay up).
- *
- * The first byte of the PPP header (0xff03) is modified to accommodate
- * the direction - 0x00 = IN, 0x01 = OUT.
- */
-#define DLT_PPP_PPPD 166
-
-/*
- * Names for backwards compatibility with older versions of some PPP
- * software; new software should use DLT_PPP_PPPD.
- */
-#define DLT_PPP_WITH_DIRECTION DLT_PPP_PPPD
-#define DLT_LINUX_PPP_WITHDIRECTION DLT_PPP_PPPD
-
-/*
- * Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>. The DLT_s are used
- * for passing on chassis-internal metainformation such as
- * QOS profiles, cookies, etc..
- */
-#define DLT_JUNIPER_PPPOE 167
-#define DLT_JUNIPER_PPPOE_ATM 168
-
-#define DLT_GPRS_LLC 169 /* GPRS LLC */
-#define DLT_GPF_T 170 /* GPF-T (ITU-T G.7041/Y.1303) */
-#define DLT_GPF_F 171 /* GPF-F (ITU-T G.7041/Y.1303) */
-
-/*
- * Requested by Oolan Zimmer <oz@gcom.com> for use in Gcom's T1/E1 line
- * monitoring equipment.
- */
-#define DLT_GCOM_T1E1 172
-#define DLT_GCOM_SERIAL 173
-
-/*
- * Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>. The DLT_ is used
- * for internal communication to Physical Interface Cards (PIC)
- */
-#define DLT_JUNIPER_PIC_PEER 174
-
-/*
- * Link types requested by Gregor Maier <gregor@endace.com> of Endace
- * Measurement Systems. They add an ERF header (see
- * http://www.endace.com/support/EndaceRecordFormat.pdf) in front of
- * the link-layer header.
- */
-#define DLT_ERF_ETH 175 /* Ethernet */
-#define DLT_ERF_POS 176 /* Packet-over-SONET */
-
-/*
- * Requested by Daniele Orlandi <daniele@orlandi.com> for raw LAPD
- * for vISDN (http://www.orlandi.com/visdn/). Its link-layer header
- * includes additional information before the LAPD header, so it's
- * not necessarily a generic LAPD header.
- */
-#define DLT_LINUX_LAPD 177
-
-/*
- * Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>.
- * The DLT_ are used for prepending meta-information
- * like interface index, interface name
- * before standard Ethernet, PPP, Frelay & C-HDLC Frames
- */
-#define DLT_JUNIPER_ETHER 178
-#define DLT_JUNIPER_PPP 179
-#define DLT_JUNIPER_FRELAY 180
-#define DLT_JUNIPER_CHDLC 181
-
-/*
- * Multi Link Frame Relay (FRF.16)
- */
-#define DLT_MFR 182
-
-/*
- * Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>.
- * The DLT_ is used for internal communication with a
- * voice Adapter Card (PIC)
- */
-#define DLT_JUNIPER_VP 183
-
-/*
- * Arinc 429 frames.
- * DLT_ requested by Gianluca Varenni <gianluca.varenni@cacetech.com>.
- * Every frame contains a 32bit A429 label.
- * More documentation on Arinc 429 can be found at
- * http://www.condoreng.com/support/downloads/tutorials/ARINCTutorial.pdf
- */
-#define DLT_A429 184
-
-/*
- * Arinc 653 Interpartition Communication messages.
- * DLT_ requested by Gianluca Varenni <gianluca.varenni@cacetech.com>.
- * Please refer to the A653-1 standard for more information.
- */
-#define DLT_A653_ICM 185
-
-/*
- * USB packets, beginning with a USB setup header; requested by
- * Paolo Abeni <paolo.abeni@email.it>.
- */
-#define DLT_USB 186
-
-/*
- * Bluetooth HCI UART transport layer (part H:4); requested by
- * Paolo Abeni.
- */
-#define DLT_BLUETOOTH_HCI_H4 187
-
-/*
- * IEEE 802.16 MAC Common Part Sublayer; requested by Maria Cruz
- * <cruz_petagay@bah.com>.
- */
-#define DLT_IEEE802_16_MAC_CPS 188
-
-/*
- * USB packets, beginning with a Linux USB header; requested by
- * Paolo Abeni <paolo.abeni@email.it>.
- */
-#define DLT_USB_LINUX 189
-
-/*
- * Controller Area Network (CAN) v. 2.0B packets.
- * DLT_ requested by Gianluca Varenni <gianluca.varenni@cacetech.com>.
- * Used to dump CAN packets coming from a CAN Vector board.
- * More documentation on the CAN v2.0B frames can be found at
- * http://www.can-cia.org/downloads/?269
- */
-#define DLT_CAN20B 190
-
-/*
- * IEEE 802.15.4, with address fields padded, as is done by Linux
- * drivers; requested by Juergen Schimmer.
- */
-#define DLT_IEEE802_15_4_LINUX 191
-
-/*
- * Per Packet Information encapsulated packets.
- * DLT_ requested by Gianluca Varenni <gianluca.varenni@cacetech.com>.
- */
-#define DLT_PPI 192
-
-/*
- * Header for 802.16 MAC Common Part Sublayer plus a radiotap radio header;
- * requested by Charles Clancy.
- */
-#define DLT_IEEE802_16_MAC_CPS_RADIO 193
-
-/*
- * Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>.
- * The DLT_ is used for internal communication with a
- * integrated service module (ISM).
- */
-#define DLT_JUNIPER_ISM 194
-
-/*
- * IEEE 802.15.4, exactly as it appears in the spec (no padding, no
- * nothing); requested by Mikko Saarnivala <mikko.saarnivala@sensinode.com>.
- */
-#define DLT_IEEE802_15_4 195
-
-/*
- * Various link-layer types, with a pseudo-header, for SITA
- * (http://www.sita.aero/); requested by Fulko Hew (fulko.hew@gmail.com).
- */
-#define DLT_SITA 196
-
-/*
- * Various link-layer types, with a pseudo-header, for Endace DAG cards;
- * encapsulates Endace ERF records. Requested by Stephen Donnelly
- * <stephen@endace.com>.
- */
-#define DLT_ERF 197
-
-/*
- * Special header prepended to Ethernet packets when capturing from a
- * u10 Networks board. Requested by Phil Mulholland
- * <phil@u10networks.com>.
- */
-#define DLT_RAIF1 198
-
-/*
- * IPMB packet for IPMI, beginning with the I2C slave address, followed
- * by the netFn and LUN, etc.. Requested by Chanthy Toeung
- * <chanthy.toeung@ca.kontron.com>.
- */
-#define DLT_IPMB 199
-
-/*
- * Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>.
- * The DLT_ is used for capturing data on a secure tunnel interface.
- */
-#define DLT_JUNIPER_ST 200
-
-/*
- * Bluetooth HCI UART transport layer (part H:4), with pseudo-header
- * that includes direction information; requested by Paolo Abeni.
- */
-#define DLT_BLUETOOTH_HCI_H4_WITH_PHDR 201
-
-/*
- * AX.25 packet with a 1-byte KISS header; see
- *
- * http://www.ax25.net/kiss.htm
- *
- * as per Richard Stearn <richard@rns-stearn.demon.co.uk>.
- */
-#define DLT_AX25_KISS 202
-
-/*
- * LAPD packets from an ISDN channel, starting with the address field,
- * with no pseudo-header.
- * Requested by Varuna De Silva <varunax@gmail.com>.
- */
-#define DLT_LAPD 203
-
-/*
- * Variants of various link-layer headers, with a one-byte direction
- * pseudo-header prepended - zero means "received by this host",
- * non-zero (any non-zero value) means "sent by this host" - as per
- * Will Barker <w.barker@zen.co.uk>.
- */
-#define DLT_PPP_WITH_DIR 204 /* PPP - don't confuse with DLT_PPP_WITH_DIRECTION */
-#define DLT_C_HDLC_WITH_DIR 205 /* Cisco HDLC */
-#define DLT_FRELAY_WITH_DIR 206 /* Frame Relay */
-#define DLT_LAPB_WITH_DIR 207 /* LAPB */
-
-/*
- * 208 is reserved for an as-yet-unspecified proprietary link-layer
- * type, as requested by Will Barker.
- */
-
-/*
- * IPMB with a Linux-specific pseudo-header; as requested by Alexey Neyman
- * <avn@pigeonpoint.com>.
- */
-#define DLT_IPMB_LINUX 209
-
-/*
- * FlexRay automotive bus - http://www.flexray.com/ - as requested
- * by Hannes Kaelber <hannes.kaelber@x2e.de>.
- */
-#define DLT_FLEXRAY 210
-
-/*
- * Media Oriented Systems Transport (MOST) bus for multimedia
- * transport - http://www.mostcooperation.com/ - as requested
- * by Hannes Kaelber <hannes.kaelber@x2e.de>.
- */
-#define DLT_MOST 211
-
-/*
- * Local Interconnect Network (LIN) bus for vehicle networks -
- * http://www.lin-subbus.org/ - as requested by Hannes Kaelber
- * <hannes.kaelber@x2e.de>.
- */
-#define DLT_LIN 212
-
-/*
- * X2E-private data link type used for serial line capture,
- * as requested by Hannes Kaelber <hannes.kaelber@x2e.de>.
- */
-#define DLT_X2E_SERIAL 213
-
-/*
- * X2E-private data link type used for the Xoraya data logger
- * family, as requested by Hannes Kaelber <hannes.kaelber@x2e.de>.
- */
-#define DLT_X2E_XORAYA 214
-
-/*
- * IEEE 802.15.4, exactly as it appears in the spec (no padding, no
- * nothing), but with the PHY-level data for non-ASK PHYs (4 octets
- * of 0 as preamble, one octet of SFD, one octet of frame length+
- * reserved bit, and then the MAC-layer data, starting with the
- * frame control field).
- *
- * Requested by Max Filippov <jcmvbkbc@gmail.com>.
- */
-#define DLT_IEEE802_15_4_NONASK_PHY 215
-
-/*
- * David Gibson <david@gibson.dropbear.id.au> requested this for
- * captures from the Linux kernel /dev/input/eventN devices. This
- * is used to communicate keystrokes and mouse movements from the
- * Linux kernel to display systems, such as Xorg.
- */
-#define DLT_LINUX_EVDEV 216
-
-/*
- * GSM Um and Abis interfaces, preceded by a "gsmtap" header.
- *
- * Requested by Harald Welte <laforge@gnumonks.org>.
- */
-#define DLT_GSMTAP_UM 217
-#define DLT_GSMTAP_ABIS 218
-
-/*
- * MPLS, with an MPLS label as the link-layer header.
- * Requested by Michele Marchetto <michele@openbsd.org> on behalf
- * of OpenBSD.
- */
-#define DLT_MPLS 219
-
-/*
- * USB packets, beginning with a Linux USB header, with the USB header
- * padded to 64 bytes; required for memory-mapped access.
- */
-#define DLT_USB_LINUX_MMAPPED 220
-
-/*
- * DECT packets, with a pseudo-header; requested by
- * Matthias Wenzel <tcpdump@mazzoo.de>.
- */
-#define DLT_DECT 221
-/*
- * From: "Lidwa, Eric (GSFC-582.0)[SGT INC]" <eric.lidwa-1@nasa.gov>
- * Date: Mon, 11 May 2009 11:18:30 -0500
- *
- * DLT_AOS. We need it for AOS Space Data Link Protocol.
- * I have already written dissectors for but need an OK from
- * legal before I can submit a patch.
- *
- */
-#define DLT_AOS 222
-
-/*
- * Wireless HART (Highway Addressable Remote Transducer)
- * From the HART Communication Foundation
- * IES/PAS 62591
- *
- * Requested by Sam Roberts <vieuxtech@gmail.com>.
- */
-#define DLT_WIHART 223
-
-/*
- * Fibre Channel FC-2 frames, beginning with a Frame_Header.
- * Requested by Kahou Lei <kahou82@gmail.com>.
- */
-#define DLT_FC_2 224
-
-/*
- * Fibre Channel FC-2 frames, beginning with an encoding of the
- * SOF, and ending with an encoding of the EOF.
- *
- * The encodings represent the frame delimiters as 4-byte sequences
- * representing the corresponding ordered sets, with K28.5
- * represented as 0xBC, and the D symbols as the corresponding
- * byte values; for example, SOFi2, which is K28.5 - D21.5 - D1.2 - D21.2,
- * is represented as 0xBC 0xB5 0x55 0x55.
- *
- * Requested by Kahou Lei <kahou82@gmail.com>.
- */
-#define DLT_FC_2_WITH_FRAME_DELIMS 225
-/*
- * Solaris ipnet pseudo-header; requested by Darren Reed <Darren.Reed@Sun.COM>.
- *
- * The pseudo-header starts with a one-byte version number; for version 2,
- * the pseudo-header is:
- *
- * struct dl_ipnetinfo {
- * u_int8_t dli_version;
- * u_int8_t dli_family;
- * u_int16_t dli_htype;
- * u_int32_t dli_pktlen;
- * u_int32_t dli_ifindex;
- * u_int32_t dli_grifindex;
- * u_int32_t dli_zsrc;
- * u_int32_t dli_zdst;
- * };
- *
- * dli_version is 2 for the current version of the pseudo-header.
- *
- * dli_family is a Solaris address family value, so it's 2 for IPv4
- * and 26 for IPv6.
- *
- * dli_htype is a "hook type" - 0 for incoming packets, 1 for outgoing
- * packets, and 2 for packets arriving from another zone on the same
- * machine.
- *
- * dli_pktlen is the length of the packet data following the pseudo-header
- * (so the captured length minus dli_pktlen is the length of the
- * pseudo-header, assuming the entire pseudo-header was captured).
- *
- * dli_ifindex is the interface index of the interface on which the
- * packet arrived.
- *
- * dli_grifindex is the group interface index number (for IPMP interfaces).
- *
- * dli_zsrc is the zone identifier for the source of the packet.
- *
- * dli_zdst is the zone identifier for the destination of the packet.
- *
- * A zone number of 0 is the global zone; a zone number of 0xffffffff
- * means that the packet arrived from another host on the network, not
- * from another zone on the same machine.
- *
- * An IPv4 or IPv6 datagram follows the pseudo-header; dli_family indicates
- * which of those it is.
- */
-#define DLT_IPNET 226
-
-/*
- * CAN (Controller Area Network) frames, with a pseudo-header as supplied
- * by Linux SocketCAN. See Documentation/networking/can.txt in the Linux
- * source.
- *
- * Requested by Felix Obenhuber <felix@obenhuber.de>.
- */
-#define DLT_CAN_SOCKETCAN 227
-
-/*
- * Raw IPv4/IPv6; different from DLT_RAW in that the DLT_ value specifies
- * whether it's v4 or v6. Requested by Darren Reed <Darren.Reed@Sun.COM>.
- */
-#define DLT_IPV4 228
-#define DLT_IPV6 229
-
-/*
- * IEEE 802.15.4, exactly as it appears in the spec (no padding, no
- * nothing), and with no FCS at the end of the frame; requested by
- * Jon Smirl <jonsmirl@gmail.com>.
- */
-#define DLT_IEEE802_15_4_NOFCS 230
-
-/*
- * Raw D-Bus:
- *
- * http://www.freedesktop.org/wiki/Software/dbus
- *
- * messages:
- *
- * http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-messages
- *
- * starting with the endianness flag, followed by the message type, etc.,
- * but without the authentication handshake before the message sequence:
- *
- * http://dbus.freedesktop.org/doc/dbus-specification.html#auth-protocol
- *
- * Requested by Martin Vidner <martin@vidner.net>.
- */
-#define DLT_DBUS 231
-
-/*
- * Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>.
- */
-#define DLT_JUNIPER_VS 232
-#define DLT_JUNIPER_SRX_E2E 233
-#define DLT_JUNIPER_FIBRECHANNEL 234
-
-/*
- * DVB-CI (DVB Common Interface for communication between a PC Card
- * module and a DVB receiver). See
- *
- * http://www.kaiser.cx/pcap-dvbci.html
- *
- * for the specification.
- *
- * Requested by Martin Kaiser <martin@kaiser.cx>.
- */
-#define DLT_DVB_CI 235
-
-/*
- * Variant of 3GPP TS 27.010 multiplexing protocol (similar to, but
- * *not* the same as, 27.010). Requested by Hans-Christoph Schemmel
- * <hans-christoph.schemmel@cinterion.com>.
- */
-#define DLT_MUX27010 236
-
-/*
- * STANAG 5066 D_PDUs. Requested by M. Baris Demiray
- * <barisdemiray@gmail.com>.
- */
-#define DLT_STANAG_5066_D_PDU 237
-
-/*
- * Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>.
- */
-#define DLT_JUNIPER_ATM_CEMIC 238
-
-/*
- * NetFilter LOG messages
- * (payload of netlink NFNL_SUBSYS_ULOG/NFULNL_MSG_PACKET packets)
- *
- * Requested by Jakub Zawadzki <darkjames-ws@darkjames.pl>
- */
-#define DLT_NFLOG 239
-
-/*
- * Hilscher Gesellschaft fuer Systemautomation mbH link-layer type
- * for Ethernet packets with a 4-byte pseudo-header and always
- * with the payload including the FCS, as supplied by their
- * netANALYZER hardware and software.
- *
- * Requested by Holger P. Frommer <HPfrommer@hilscher.com>
- */
-#define DLT_NETANALYZER 240
-
-/*
- * Hilscher Gesellschaft fuer Systemautomation mbH link-layer type
- * for Ethernet packets with a 4-byte pseudo-header and FCS and
- * with the Ethernet header preceded by 7 bytes of preamble and
- * 1 byte of SFD, as supplied by their netANALYZER hardware and
- * software.
- *
- * Requested by Holger P. Frommer <HPfrommer@hilscher.com>
- */
-#define DLT_NETANALYZER_TRANSPARENT 241
-
-/*
- * IP-over-InfiniBand, as specified by RFC 4391.
- *
- * Requested by Petr Sumbera <petr.sumbera@oracle.com>.
- */
-#define DLT_IPOIB 242
-
-/*
- * MPEG-2 transport stream (ISO 13818-1/ITU-T H.222.0).
- *
- * Requested by Guy Martin <gmsoft@tuxicoman.be>.
- */
-#define DLT_MPEG_2_TS 243
-
-/*
- * ng4T GmbH's UMTS Iub/Iur-over-ATM and Iub/Iur-over-IP format as
- * used by their ng40 protocol tester.
- *
- * Requested by Jens Grimmer <jens.grimmer@ng4t.com>.
- */
-#define DLT_NG40 244
-
-/*
- * Pseudo-header giving adapter number and flags, followed by an NFC
- * (Near-Field Communications) Logical Link Control Protocol (LLCP) PDU,
- * as specified by NFC Forum Logical Link Control Protocol Technical
- * Specification LLCP 1.1.
- *
- * Requested by Mike Wakerly <mikey@google.com>.
- */
-#define DLT_NFC_LLCP 245
-
-/*
- * 245 is used as LINKTYPE_PFSYNC; do not use it for any other purpose.
- *
- * DLT_PFSYNC has different values on different platforms, and all of
- * them collide with something used elsewhere. On platforms that
- * don't already define it, define it as 245.
- */
-#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__DragonFly__) && !defined(__APPLE__)
-#define DLT_PFSYNC 246
-#endif
-
-/*
- * Raw InfiniBand packets, starting with the Local Routing Header.
- *
- * Requested by Oren Kladnitsky <orenk@mellanox.com>.
- */
-#define DLT_INFINIBAND 247
-
-/*
- * SCTP, with no lower-level protocols (i.e., no IPv4 or IPv6).
- *
- * Requested by Michael Tuexen <Michael.Tuexen@lurchi.franken.de>.
- */
-#define DLT_SCTP 248
-
-/*
- * USB packets, beginning with a USBPcap header.
- *
- * Requested by Tomasz Mon <desowin@gmail.com>
- */
-#define DLT_USBPCAP 249
-
-/*
- * Schweitzer Engineering Laboratories "RTAC" product serial-line
- * packets.
- *
- * Requested by Chris Bontje <chris_bontje@selinc.com>.
- */
-#define DLT_RTAC_SERIAL 250
-
-/*
- * Bluetooth Low Energy air interface link-layer packets.
- *
- * Requested by Mike Kershaw <dragorn@kismetwireless.net>.
- */
-#define DLT_BLUETOOTH_LE_LL 251
-
-/*
- * DLT type for upper-protocol layer PDU saves from wireshark.
- *
- * the actual contents are determined by two TAGs stored with each
- * packet:
- * EXP_PDU_TAG_LINKTYPE the link type (LINKTYPE_ value) of the
- * original packet.
- *
- * EXP_PDU_TAG_PROTO_NAME the name of the wireshark dissector
- * that can make sense of the data stored.
- */
-#define DLT_WIRESHARK_UPPER_PDU 252
-
-/*
- * DLT type for the netlink protocol (nlmon devices).
- */
-#define DLT_NETLINK 253
-
-/*
- * Bluetooth Linux Monitor headers for the BlueZ stack.
- */
-#define DLT_BLUETOOTH_LINUX_MONITOR 254
-
-/*
- * Bluetooth Basic Rate/Enhanced Data Rate baseband packets, as
- * captured by Ubertooth.
- */
-#define DLT_BLUETOOTH_BREDR_BB 255
-
-/*
- * Bluetooth Low Energy link layer packets, as captured by Ubertooth.
- */
-#define DLT_BLUETOOTH_LE_LL_WITH_PHDR 256
-
-/*
- * PROFIBUS data link layer.
- */
-#define DLT_PROFIBUS_DL 257
-
-/*
- * Apple's DLT_PKTAP headers.
- *
- * Sadly, the folks at Apple either had no clue that the DLT_USERn values
- * are for internal use within an organization and partners only, and
- * didn't know that the right way to get a link-layer header type is to
- * ask tcpdump.org for one, or knew and didn't care, so they just
- * used DLT_USER2, which causes problems for everything except for
- * their version of tcpdump.
- *
- * So I'll just give them one; hopefully this will show up in a
- * libpcap release in time for them to get this into 10.10 Big Sur
- * or whatever Mavericks' successor is called. LINKTYPE_PKTAP
- * will be 258 *even on OS X*; that is *intentional*, so that
- * PKTAP files look the same on *all* OSes (different OSes can have
- * different numerical values for a given DLT_, but *MUST NOT* have
- * different values for what goes in a file, as files can be moved
- * between OSes!).
- *
- * When capturing, on a system with a Darwin-based OS, on a device
- * that returns 149 (DLT_USER2 and Apple's DLT_PKTAP) with this
- * version of libpcap, the DLT_ value for the pcap_t will be DLT_PKTAP,
- * and that will continue to be DLT_USER2 on Darwin-based OSes. That way,
- * binary compatibility with Mavericks is preserved for programs using
- * this version of libpcap. This does mean that if you were using
- * DLT_USER2 for some capture device on OS X, you can't do so with
- * this version of libpcap, just as you can't with Apple's libpcap -
- * on OS X, they define DLT_PKTAP to be DLT_USER2, so programs won't
- * be able to distinguish between PKTAP and whatever you were using
- * DLT_USER2 for.
- *
- * If the program saves the capture to a file using this version of
- * libpcap's pcap_dump code, the LINKTYPE_ value in the file will be
- * LINKTYPE_PKTAP, which will be 258, even on Darwin-based OSes.
- * That way, the file will *not* be a DLT_USER2 file. That means
- * that the latest version of tcpdump, when built with this version
- * of libpcap, and sufficiently recent versions of Wireshark will
- * be able to read those files and interpret them correctly; however,
- * Apple's version of tcpdump in OS X 10.9 won't be able to handle
- * them. (Hopefully, Apple will pick up this version of libpcap,
- * and the corresponding version of tcpdump, so that tcpdump will
- * be able to handle the old LINKTYPE_USER2 captures *and* the new
- * LINKTYPE_PKTAP captures.)
- */
-#ifdef __APPLE__
-#define DLT_PKTAP DLT_USER2
-#else
-#define DLT_PKTAP 258
-#endif
-
-/*
- * Ethernet packets preceded by a header giving the last 6 octets
- * of the preamble specified by 802.3-2012 Clause 65, section
- * 65.1.3.2 "Transmit".
- */
-#define DLT_EPON 259
-
-/*
- * IPMI trace packets, as specified by Table 3-20 "Trace Data Block Format"
- * in the PICMG HPM.2 specification.
- */
-#define DLT_IPMI_HPM_2 260
-
-#define DLT_MATCHING_MAX 260 /* highest value in the "matching" range */
-
-/*
- * DLT and savefile link type values are split into a class and
- * a member of that class. A class value of 0 indicates a regular
- * DLT_/LINKTYPE_ value.
- */
-#define DLT_CLASS(x) ((x) & 0x03ff0000)
+/* Pull in data-link level type codes. */
+#include <net/dlt.h>
/*
* The instruction encodings.
diff --git a/sys/net/dlt.h b/sys/net/dlt.h
new file mode 100644
index 0000000..dc818521
--- /dev/null
+++ b/sys/net/dlt.h
@@ -0,0 +1,1338 @@
+/*-
+ * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from the Stanford/CMU enet packet filter,
+ * (net/enet.c) distributed as part of 4.3BSD, and code contributed
+ * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
+ * Berkeley Laboratory.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)bpf.h 7.1 (Berkeley) 5/7/91
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _NET_DLT_H_
+#define _NET_DLT_H_
+
+/*
+ * Link-layer header type codes.
+ *
+ * Do *NOT* add new values to this list without asking
+ * "tcpdump-workers@lists.tcpdump.org" for a value. Otherwise, you run
+ * the risk of using a value that's already being used for some other
+ * purpose, and of having tools that read libpcap-format captures not
+ * being able to handle captures with your new DLT_ value, with no hope
+ * that they will ever be changed to do so (as that would destroy their
+ * ability to read captures using that value for that other purpose).
+ *
+ * See
+ *
+ * http://www.tcpdump.org/linktypes.html
+ *
+ * for detailed descriptions of some of these link-layer header types.
+ */
+
+/*
+ * These are the types that are the same on all platforms, and that
+ * have been defined by <net/bpf.h> for ages.
+ */
+#define DLT_NULL 0 /* BSD loopback encapsulation */
+#define DLT_EN10MB 1 /* Ethernet (10Mb) */
+#define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */
+#define DLT_AX25 3 /* Amateur Radio AX.25 */
+#define DLT_PRONET 4 /* Proteon ProNET Token Ring */
+#define DLT_CHAOS 5 /* Chaos */
+#define DLT_IEEE802 6 /* 802.5 Token Ring */
+#define DLT_ARCNET 7 /* ARCNET, with BSD-style header */
+#define DLT_SLIP 8 /* Serial Line IP */
+#define DLT_PPP 9 /* Point-to-point Protocol */
+#define DLT_FDDI 10 /* FDDI */
+
+/*
+ * These are types that are different on some platforms, and that
+ * have been defined by <net/bpf.h> for ages. We use #ifdefs to
+ * detect the BSDs that define them differently from the traditional
+ * libpcap <net/bpf.h>
+ *
+ * XXX - DLT_ATM_RFC1483 is 13 in BSD/OS, and DLT_RAW is 14 in BSD/OS,
+ * but I don't know what the right #define is for BSD/OS.
+ */
+#define DLT_ATM_RFC1483 11 /* LLC-encapsulated ATM */
+
+#ifdef __OpenBSD__
+#define DLT_RAW 14 /* raw IP */
+#else
+#define DLT_RAW 12 /* raw IP */
+#endif
+
+/*
+ * Given that the only OS that currently generates BSD/OS SLIP or PPP
+ * is, well, BSD/OS, arguably everybody should have chosen its values
+ * for DLT_SLIP_BSDOS and DLT_PPP_BSDOS, which are 15 and 16, but they
+ * didn't. So it goes.
+ */
+#if defined(__NetBSD__) || defined(__FreeBSD__)
+#ifndef DLT_SLIP_BSDOS
+#define DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */
+#define DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol */
+#endif
+#else
+#define DLT_SLIP_BSDOS 15 /* BSD/OS Serial Line IP */
+#define DLT_PPP_BSDOS 16 /* BSD/OS Point-to-point Protocol */
+#endif
+
+/*
+ * 17 was used for DLT_PFLOG in OpenBSD; it no longer is.
+ *
+ * It was DLT_LANE8023 in SuSE 6.3, so we defined LINKTYPE_PFLOG
+ * as 117 so that pflog captures would use a link-layer header type
+ * value that didn't collide with any other values. On all
+ * platforms other than OpenBSD, we defined DLT_PFLOG as 117,
+ * and we mapped between LINKTYPE_PFLOG and DLT_PFLOG.
+ *
+ * OpenBSD eventually switched to using 117 for DLT_PFLOG as well.
+ *
+ * Don't use 17 for anything else.
+ */
+
+/*
+ * 18 is used for DLT_PFSYNC in OpenBSD, NetBSD, DragonFly BSD and
+ * Mac OS X; don't use it for anything else. (FreeBSD uses 121,
+ * which collides with DLT_HHDLC, even though it doesn't use 18
+ * for anything and doesn't appear to have ever used it for anything.)
+ *
+ * We define it as 18 on those platforms; it is, unfortunately, used
+ * for DLT_CIP in Suse 6.3, so we don't define it as DLT_PFSYNC
+ * in general. As the packet format for it, like that for
+ * DLT_PFLOG, is not only OS-dependent but OS-version-dependent,
+ * we don't support printing it in tcpdump except on OSes that
+ * have the relevant header files, so it's not that useful on
+ * other platforms.
+ */
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__APPLE__)
+#define DLT_PFSYNC 18
+#endif
+
+#define DLT_ATM_CLIP 19 /* Linux Classical-IP over ATM */
+
+/*
+ * Apparently Redback uses this for its SmartEdge 400/800. I hope
+ * nobody else decided to use it, too.
+ */
+#define DLT_REDBACK_SMARTEDGE 32
+
+/*
+ * These values are defined by NetBSD; other platforms should refrain from
+ * using them for other purposes, so that NetBSD savefiles with link
+ * types of 50 or 51 can be read as this type on all platforms.
+ */
+#define DLT_PPP_SERIAL 50 /* PPP over serial with HDLC encapsulation */
+#define DLT_PPP_ETHER 51 /* PPP over Ethernet */
+
+/*
+ * The Axent Raptor firewall - now the Symantec Enterprise Firewall - uses
+ * a link-layer type of 99 for the tcpdump it supplies. The link-layer
+ * header has 6 bytes of unknown data, something that appears to be an
+ * Ethernet type, and 36 bytes that appear to be 0 in at least one capture
+ * I've seen.
+ */
+#define DLT_SYMANTEC_FIREWALL 99
+
+/*
+ * Values between 100 and 103 are used in capture file headers as
+ * link-layer header type LINKTYPE_ values corresponding to DLT_ types
+ * that differ between platforms; don't use those values for new DLT_
+ * new types.
+ */
+
+/*
+ * Values starting with 104 are used for newly-assigned link-layer
+ * header type values; for those link-layer header types, the DLT_
+ * value returned by pcap_datalink() and passed to pcap_open_dead(),
+ * and the LINKTYPE_ value that appears in capture files, are the
+ * same.
+ *
+ * DLT_MATCHING_MIN is the lowest such value; DLT_MATCHING_MAX is
+ * the highest such value.
+ */
+#define DLT_MATCHING_MIN 104
+
+/*
+ * This value was defined by libpcap 0.5; platforms that have defined
+ * it with a different value should define it here with that value -
+ * a link type of 104 in a save file will be mapped to DLT_C_HDLC,
+ * whatever value that happens to be, so programs will correctly
+ * handle files with that link type regardless of the value of
+ * DLT_C_HDLC.
+ *
+ * The name DLT_C_HDLC was used by BSD/OS; we use that name for source
+ * compatibility with programs written for BSD/OS.
+ *
+ * libpcap 0.5 defined it as DLT_CHDLC; we define DLT_CHDLC as well,
+ * for source compatibility with programs written for libpcap 0.5.
+ */
+#define DLT_C_HDLC 104 /* Cisco HDLC */
+#define DLT_CHDLC DLT_C_HDLC
+
+#define DLT_IEEE802_11 105 /* IEEE 802.11 wireless */
+
+/*
+ * 106 is reserved for Linux Classical IP over ATM; it's like DLT_RAW,
+ * except when it isn't. (I.e., sometimes it's just raw IP, and
+ * sometimes it isn't.) We currently handle it as DLT_LINUX_SLL,
+ * so that we don't have to worry about the link-layer header.)
+ */
+
+/*
+ * Frame Relay; BSD/OS has a DLT_FR with a value of 11, but that collides
+ * with other values.
+ * DLT_FR and DLT_FRELAY packets start with the Q.922 Frame Relay header
+ * (DLCI, etc.).
+ */
+#define DLT_FRELAY 107
+
+/*
+ * OpenBSD DLT_LOOP, for loopback devices; it's like DLT_NULL, except
+ * that the AF_ type in the link-layer header is in network byte order.
+ *
+ * DLT_LOOP is 12 in OpenBSD, but that's DLT_RAW in other OSes, so
+ * we don't use 12 for it in OSes other than OpenBSD.
+ */
+#ifdef __OpenBSD__
+#define DLT_LOOP 12
+#else
+#define DLT_LOOP 108
+#endif
+
+/*
+ * Encapsulated packets for IPsec; DLT_ENC is 13 in OpenBSD, but that's
+ * DLT_SLIP_BSDOS in NetBSD, so we don't use 13 for it in OSes other
+ * than OpenBSD.
+ */
+#ifdef __OpenBSD__
+#define DLT_ENC 13
+#else
+#define DLT_ENC 109
+#endif
+
+/*
+ * Values between 110 and 112 are reserved for use in capture file headers
+ * as link-layer types corresponding to DLT_ types that might differ
+ * between platforms; don't use those values for new DLT_ types
+ * other than the corresponding DLT_ types.
+ */
+
+/*
+ * This is for Linux cooked sockets.
+ */
+#define DLT_LINUX_SLL 113
+
+/*
+ * Apple LocalTalk hardware.
+ */
+#define DLT_LTALK 114
+
+/*
+ * Acorn Econet.
+ */
+#define DLT_ECONET 115
+
+/*
+ * Reserved for use with OpenBSD ipfilter.
+ */
+#define DLT_IPFILTER 116
+
+/*
+ * OpenBSD DLT_PFLOG.
+ */
+#define DLT_PFLOG 117
+
+/*
+ * Registered for Cisco-internal use.
+ */
+#define DLT_CISCO_IOS 118
+
+/*
+ * For 802.11 cards using the Prism II chips, with a link-layer
+ * header including Prism monitor mode information plus an 802.11
+ * header.
+ */
+#define DLT_PRISM_HEADER 119
+
+/*
+ * Reserved for Aironet 802.11 cards, with an Aironet link-layer header
+ * (see Doug Ambrisko's FreeBSD patches).
+ */
+#define DLT_AIRONET_HEADER 120
+
+/*
+ * Sigh.
+ *
+ * 121 was reserved for Siemens HiPath HDLC on 2002-01-25, as
+ * requested by Tomas Kukosa.
+ *
+ * On 2004-02-25, a FreeBSD checkin to sys/net/bpf.h was made that
+ * assigned 121 as DLT_PFSYNC. In current versions, its libpcap
+ * does DLT_ <-> LINKTYPE_ mapping, mapping DLT_PFSYNC to a
+ * LINKTYPE_PFSYNC value of 246, so it should write out DLT_PFSYNC
+ * dump files with 246 as the link-layer header type. (Earlier
+ * versions might not have done mapping, in which case they would
+ * have written them out with a link-layer header type of 121.)
+ *
+ * OpenBSD, from which pf came, however, uses 18 for DLT_PFSYNC;
+ * its libpcap does no DLT_ <-> LINKTYPE_ mapping, so it would
+ * write out DLT_PFSYNC dump files with use 18 as the link-layer
+ * header type.
+ *
+ * NetBSD, DragonFly BSD, and Darwin also use 18 for DLT_PFSYNC; in
+ * current versions, their libpcaps do DLT_ <-> LINKTYPE_ mapping,
+ * mapping DLT_PFSYNC to a LINKTYPE_PFSYNC value of 246, so they
+ * should write out DLT_PFSYNC dump files with 246 as the link-layer
+ * header type. (Earlier versions might not have done mapping,
+ * in which case they'd work the same way OpenBSD does, writing
+ * them out with a link-layer header type of 18.)
+ *
+ * We'll define DLT_PFSYNC as:
+ *
+ * 18 on NetBSD, OpenBSD, DragonFly BSD, and Darwin;
+ *
+ * 121 on FreeBSD;
+ *
+ * 246 everywhere else.
+ *
+ * We'll define DLT_HHDLC as 121 on everything except for FreeBSD;
+ * anybody who wants to compile, on FreeBSD, code that uses DLT_HHDLC
+ * is out of luck.
+ *
+ * We'll define LINKTYPE_PFSYNC as 246 on *all* platforms, so that
+ * savefiles written using *this* code won't use 18 or 121 for PFSYNC,
+ * they'll all use 246.
+ *
+ * Code that uses pcap_datalink() to determine the link-layer header
+ * type of a savefile won't, when built and run on FreeBSD, be able
+ * to distinguish between LINKTYPE_PFSYNC and LINKTYPE_HHDLC capture
+ * files, as pcap_datalink() will give 121 for both of them. Code
+ * that doesn't, such as the code in Wireshark, will be able to
+ * distinguish between them.
+ *
+ * FreeBSD's libpcap won't map a link-layer header type of 18 - i.e.,
+ * DLT_PFSYNC files from OpenBSD and possibly older versions of NetBSD,
+ * DragonFly BSD, and OS X - to DLT_PFSYNC, so code built with FreeBSD's
+ * libpcap won't treat those files as DLT_PFSYNC files.
+ *
+ * Other libpcaps won't map a link-layer header type of 121 to DLT_PFSYNC;
+ * this means they can read DLT_HHDLC files, if any exist, but won't
+ * treat pcap files written by any older versions of FreeBSD libpcap that
+ * didn't map to 246 as DLT_PFSYNC files.
+ */
+#ifdef __FreeBSD__
+#define DLT_PFSYNC 121
+#else
+#define DLT_HHDLC 121
+#endif
+
+/*
+ * This is for RFC 2625 IP-over-Fibre Channel.
+ *
+ * This is not for use with raw Fibre Channel, where the link-layer
+ * header starts with a Fibre Channel frame header; it's for IP-over-FC,
+ * where the link-layer header starts with an RFC 2625 Network_Header
+ * field.
+ */
+#define DLT_IP_OVER_FC 122
+
+/*
+ * This is for Full Frontal ATM on Solaris with SunATM, with a
+ * pseudo-header followed by an AALn PDU.
+ *
+ * There may be other forms of Full Frontal ATM on other OSes,
+ * with different pseudo-headers.
+ *
+ * If ATM software returns a pseudo-header with VPI/VCI information
+ * (and, ideally, packet type information, e.g. signalling, ILMI,
+ * LANE, LLC-multiplexed traffic, etc.), it should not use
+ * DLT_ATM_RFC1483, but should get a new DLT_ value, so tcpdump
+ * and the like don't have to infer the presence or absence of a
+ * pseudo-header and the form of the pseudo-header.
+ */
+#define DLT_SUNATM 123 /* Solaris+SunATM */
+
+/*
+ * Reserved as per request from Kent Dahlgren <kent@praesum.com>
+ * for private use.
+ */
+#define DLT_RIO 124 /* RapidIO */
+#define DLT_PCI_EXP 125 /* PCI Express */
+#define DLT_AURORA 126 /* Xilinx Aurora link layer */
+
+/*
+ * Header for 802.11 plus a number of bits of link-layer information
+ * including radio information, used by some recent BSD drivers as
+ * well as the madwifi Atheros driver for Linux.
+ */
+#define DLT_IEEE802_11_RADIO 127 /* 802.11 plus radiotap radio header */
+
+/*
+ * Reserved for the TZSP encapsulation, as per request from
+ * Chris Waters <chris.waters@networkchemistry.com>
+ * TZSP is a generic encapsulation for any other link type,
+ * which includes a means to include meta-information
+ * with the packet, e.g. signal strength and channel
+ * for 802.11 packets.
+ */
+#define DLT_TZSP 128 /* Tazmen Sniffer Protocol */
+
+/*
+ * BSD's ARCNET headers have the source host, destination host,
+ * and type at the beginning of the packet; that's what's handed
+ * up to userland via BPF.
+ *
+ * Linux's ARCNET headers, however, have a 2-byte offset field
+ * between the host IDs and the type; that's what's handed up
+ * to userland via PF_PACKET sockets.
+ *
+ * We therefore have to have separate DLT_ values for them.
+ */
+#define DLT_ARCNET_LINUX 129 /* ARCNET */
+
+/*
+ * Juniper-private data link types, as per request from
+ * Hannes Gredler <hannes@juniper.net>. The DLT_s are used
+ * for passing on chassis-internal metainformation such as
+ * QOS profiles, etc..
+ */
+#define DLT_JUNIPER_MLPPP 130
+#define DLT_JUNIPER_MLFR 131
+#define DLT_JUNIPER_ES 132
+#define DLT_JUNIPER_GGSN 133
+#define DLT_JUNIPER_MFR 134
+#define DLT_JUNIPER_ATM2 135
+#define DLT_JUNIPER_SERVICES 136
+#define DLT_JUNIPER_ATM1 137
+
+/*
+ * Apple IP-over-IEEE 1394, as per a request from Dieter Siegmund
+ * <dieter@apple.com>. The header that's presented is an Ethernet-like
+ * header:
+ *
+ * #define FIREWIRE_EUI64_LEN 8
+ * struct firewire_header {
+ * u_char firewire_dhost[FIREWIRE_EUI64_LEN];
+ * u_char firewire_shost[FIREWIRE_EUI64_LEN];
+ * u_short firewire_type;
+ * };
+ *
+ * with "firewire_type" being an Ethernet type value, rather than,
+ * for example, raw GASP frames being handed up.
+ */
+#define DLT_APPLE_IP_OVER_IEEE1394 138
+
+/*
+ * Various SS7 encapsulations, as per a request from Jeff Morriss
+ * <jeff.morriss[AT]ulticom.com> and subsequent discussions.
+ */
+#define DLT_MTP2_WITH_PHDR 139 /* pseudo-header with various info, followed by MTP2 */
+#define DLT_MTP2 140 /* MTP2, without pseudo-header */
+#define DLT_MTP3 141 /* MTP3, without pseudo-header or MTP2 */
+#define DLT_SCCP 142 /* SCCP, without pseudo-header or MTP2 or MTP3 */
+
+/*
+ * DOCSIS MAC frames.
+ */
+#define DLT_DOCSIS 143
+
+/*
+ * Linux-IrDA packets. Protocol defined at http://www.irda.org.
+ * Those packets include IrLAP headers and above (IrLMP...), but
+ * don't include Phy framing (SOF/EOF/CRC & byte stuffing), because Phy
+ * framing can be handled by the hardware and depend on the bitrate.
+ * This is exactly the format you would get capturing on a Linux-IrDA
+ * interface (irdaX), but not on a raw serial port.
+ * Note the capture is done in "Linux-cooked" mode, so each packet include
+ * a fake packet header (struct sll_header). This is because IrDA packet
+ * decoding is dependant on the direction of the packet (incomming or
+ * outgoing).
+ * When/if other platform implement IrDA capture, we may revisit the
+ * issue and define a real DLT_IRDA...
+ * Jean II
+ */
+#define DLT_LINUX_IRDA 144
+
+/*
+ * Reserved for IBM SP switch and IBM Next Federation switch.
+ */
+#define DLT_IBM_SP 145
+#define DLT_IBM_SN 146
+
+/*
+ * Reserved for private use. If you have some link-layer header type
+ * that you want to use within your organization, with the capture files
+ * using that link-layer header type not ever be sent outside your
+ * organization, you can use these values.
+ *
+ * No libpcap release will use these for any purpose, nor will any
+ * tcpdump release use them, either.
+ *
+ * Do *NOT* use these in capture files that you expect anybody not using
+ * your private versions of capture-file-reading tools to read; in
+ * particular, do *NOT* use them in products, otherwise you may find that
+ * people won't be able to use tcpdump, or snort, or Ethereal, or... to
+ * read capture files from your firewall/intrusion detection/traffic
+ * monitoring/etc. appliance, or whatever product uses that DLT_ value,
+ * and you may also find that the developers of those applications will
+ * not accept patches to let them read those files.
+ *
+ * Also, do not use them if somebody might send you a capture using them
+ * for *their* private type and tools using them for *your* private type
+ * would have to read them.
+ *
+ * Instead, ask "tcpdump-workers@lists.tcpdump.org" for a new DLT_ value,
+ * as per the comment above, and use the type you're given.
+ */
+#define DLT_USER0 147
+#define DLT_USER1 148
+#define DLT_USER2 149
+#define DLT_USER3 150
+#define DLT_USER4 151
+#define DLT_USER5 152
+#define DLT_USER6 153
+#define DLT_USER7 154
+#define DLT_USER8 155
+#define DLT_USER9 156
+#define DLT_USER10 157
+#define DLT_USER11 158
+#define DLT_USER12 159
+#define DLT_USER13 160
+#define DLT_USER14 161
+#define DLT_USER15 162
+
+/*
+ * For future use with 802.11 captures - defined by AbsoluteValue
+ * Systems to store a number of bits of link-layer information
+ * including radio information:
+ *
+ * http://www.shaftnet.org/~pizza/software/capturefrm.txt
+ *
+ * but it might be used by some non-AVS drivers now or in the
+ * future.
+ */
+#define DLT_IEEE802_11_RADIO_AVS 163 /* 802.11 plus AVS radio header */
+
+/*
+ * Juniper-private data link type, as per request from
+ * Hannes Gredler <hannes@juniper.net>. The DLT_s are used
+ * for passing on chassis-internal metainformation such as
+ * QOS profiles, etc..
+ */
+#define DLT_JUNIPER_MONITOR 164
+
+/*
+ * BACnet MS/TP frames.
+ */
+#define DLT_BACNET_MS_TP 165
+
+/*
+ * Another PPP variant as per request from Karsten Keil <kkeil@suse.de>.
+ *
+ * This is used in some OSes to allow a kernel socket filter to distinguish
+ * between incoming and outgoing packets, on a socket intended to
+ * supply pppd with outgoing packets so it can do dial-on-demand and
+ * hangup-on-lack-of-demand; incoming packets are filtered out so they
+ * don't cause pppd to hold the connection up (you don't want random
+ * input packets such as port scans, packets from old lost connections,
+ * etc. to force the connection to stay up).
+ *
+ * The first byte of the PPP header (0xff03) is modified to accomodate
+ * the direction - 0x00 = IN, 0x01 = OUT.
+ */
+#define DLT_PPP_PPPD 166
+
+/*
+ * Names for backwards compatibility with older versions of some PPP
+ * software; new software should use DLT_PPP_PPPD.
+ */
+#define DLT_PPP_WITH_DIRECTION DLT_PPP_PPPD
+#define DLT_LINUX_PPP_WITHDIRECTION DLT_PPP_PPPD
+
+/*
+ * Juniper-private data link type, as per request from
+ * Hannes Gredler <hannes@juniper.net>. The DLT_s are used
+ * for passing on chassis-internal metainformation such as
+ * QOS profiles, cookies, etc..
+ */
+#define DLT_JUNIPER_PPPOE 167
+#define DLT_JUNIPER_PPPOE_ATM 168
+
+#define DLT_GPRS_LLC 169 /* GPRS LLC */
+#define DLT_GPF_T 170 /* GPF-T (ITU-T G.7041/Y.1303) */
+#define DLT_GPF_F 171 /* GPF-F (ITU-T G.7041/Y.1303) */
+
+/*
+ * Requested by Oolan Zimmer <oz@gcom.com> for use in Gcom's T1/E1 line
+ * monitoring equipment.
+ */
+#define DLT_GCOM_T1E1 172
+#define DLT_GCOM_SERIAL 173
+
+/*
+ * Juniper-private data link type, as per request from
+ * Hannes Gredler <hannes@juniper.net>. The DLT_ is used
+ * for internal communication to Physical Interface Cards (PIC)
+ */
+#define DLT_JUNIPER_PIC_PEER 174
+
+/*
+ * Link types requested by Gregor Maier <gregor@endace.com> of Endace
+ * Measurement Systems. They add an ERF header (see
+ * http://www.endace.com/support/EndaceRecordFormat.pdf) in front of
+ * the link-layer header.
+ */
+#define DLT_ERF_ETH 175 /* Ethernet */
+#define DLT_ERF_POS 176 /* Packet-over-SONET */
+
+/*
+ * Requested by Daniele Orlandi <daniele@orlandi.com> for raw LAPD
+ * for vISDN (http://www.orlandi.com/visdn/). Its link-layer header
+ * includes additional information before the LAPD header, so it's
+ * not necessarily a generic LAPD header.
+ */
+#define DLT_LINUX_LAPD 177
+
+/*
+ * Juniper-private data link type, as per request from
+ * Hannes Gredler <hannes@juniper.net>.
+ * The DLT_ are used for prepending meta-information
+ * like interface index, interface name
+ * before standard Ethernet, PPP, Frelay & C-HDLC Frames
+ */
+#define DLT_JUNIPER_ETHER 178
+#define DLT_JUNIPER_PPP 179
+#define DLT_JUNIPER_FRELAY 180
+#define DLT_JUNIPER_CHDLC 181
+
+/*
+ * Multi Link Frame Relay (FRF.16)
+ */
+#define DLT_MFR 182
+
+/*
+ * Juniper-private data link type, as per request from
+ * Hannes Gredler <hannes@juniper.net>.
+ * The DLT_ is used for internal communication with a
+ * voice Adapter Card (PIC)
+ */
+#define DLT_JUNIPER_VP 183
+
+/*
+ * Arinc 429 frames.
+ * DLT_ requested by Gianluca Varenni <gianluca.varenni@cacetech.com>.
+ * Every frame contains a 32bit A429 label.
+ * More documentation on Arinc 429 can be found at
+ * http://www.condoreng.com/support/downloads/tutorials/ARINCTutorial.pdf
+ */
+#define DLT_A429 184
+
+/*
+ * Arinc 653 Interpartition Communication messages.
+ * DLT_ requested by Gianluca Varenni <gianluca.varenni@cacetech.com>.
+ * Please refer to the A653-1 standard for more information.
+ */
+#define DLT_A653_ICM 185
+
+/*
+ * This used to be "USB packets, beginning with a USB setup header;
+ * requested by Paolo Abeni <paolo.abeni@email.it>."
+ *
+ * However, that header didn't work all that well - it left out some
+ * useful information - and was abandoned in favor of the DLT_USB_LINUX
+ * header.
+ *
+ * This is now used by FreeBSD for its BPF taps for USB; that has its
+ * own headers. So it is written, so it is done.
+ *
+ * For source-code compatibility, we also define DLT_USB to have this
+ * value. We do it numerically so that, if code that includes this
+ * file (directly or indirectly) also includes an OS header that also
+ * defines DLT_USB as 186, we don't get a redefinition warning.
+ * (NetBSD 7 does that.)
+ */
+#define DLT_USB_FREEBSD 186
+#define DLT_USB 186
+
+/*
+ * Bluetooth HCI UART transport layer (part H:4); requested by
+ * Paolo Abeni.
+ */
+#define DLT_BLUETOOTH_HCI_H4 187
+
+/*
+ * IEEE 802.16 MAC Common Part Sublayer; requested by Maria Cruz
+ * <cruz_petagay@bah.com>.
+ */
+#define DLT_IEEE802_16_MAC_CPS 188
+
+/*
+ * USB packets, beginning with a Linux USB header; requested by
+ * Paolo Abeni <paolo.abeni@email.it>.
+ */
+#define DLT_USB_LINUX 189
+
+/*
+ * Controller Area Network (CAN) v. 2.0B packets.
+ * DLT_ requested by Gianluca Varenni <gianluca.varenni@cacetech.com>.
+ * Used to dump CAN packets coming from a CAN Vector board.
+ * More documentation on the CAN v2.0B frames can be found at
+ * http://www.can-cia.org/downloads/?269
+ */
+#define DLT_CAN20B 190
+
+/*
+ * IEEE 802.15.4, with address fields padded, as is done by Linux
+ * drivers; requested by Juergen Schimmer.
+ */
+#define DLT_IEEE802_15_4_LINUX 191
+
+/*
+ * Per Packet Information encapsulated packets.
+ * DLT_ requested by Gianluca Varenni <gianluca.varenni@cacetech.com>.
+ */
+#define DLT_PPI 192
+
+/*
+ * Header for 802.16 MAC Common Part Sublayer plus a radiotap radio header;
+ * requested by Charles Clancy.
+ */
+#define DLT_IEEE802_16_MAC_CPS_RADIO 193
+
+/*
+ * Juniper-private data link type, as per request from
+ * Hannes Gredler <hannes@juniper.net>.
+ * The DLT_ is used for internal communication with a
+ * integrated service module (ISM).
+ */
+#define DLT_JUNIPER_ISM 194
+
+/*
+ * IEEE 802.15.4, exactly as it appears in the spec (no padding, no
+ * nothing); requested by Mikko Saarnivala <mikko.saarnivala@sensinode.com>.
+ * For this one, we expect the FCS to be present at the end of the frame;
+ * if the frame has no FCS, DLT_IEEE802_15_4_NOFCS should be used.
+ */
+#define DLT_IEEE802_15_4 195
+
+/*
+ * Various link-layer types, with a pseudo-header, for SITA
+ * (http://www.sita.aero/); requested by Fulko Hew (fulko.hew@gmail.com).
+ */
+#define DLT_SITA 196
+
+/*
+ * Various link-layer types, with a pseudo-header, for Endace DAG cards;
+ * encapsulates Endace ERF records. Requested by Stephen Donnelly
+ * <stephen@endace.com>.
+ */
+#define DLT_ERF 197
+
+/*
+ * Special header prepended to Ethernet packets when capturing from a
+ * u10 Networks board. Requested by Phil Mulholland
+ * <phil@u10networks.com>.
+ */
+#define DLT_RAIF1 198
+
+/*
+ * IPMB packet for IPMI, beginning with the I2C slave address, followed
+ * by the netFn and LUN, etc.. Requested by Chanthy Toeung
+ * <chanthy.toeung@ca.kontron.com>.
+ */
+#define DLT_IPMB 199
+
+/*
+ * Juniper-private data link type, as per request from
+ * Hannes Gredler <hannes@juniper.net>.
+ * The DLT_ is used for capturing data on a secure tunnel interface.
+ */
+#define DLT_JUNIPER_ST 200
+
+/*
+ * Bluetooth HCI UART transport layer (part H:4), with pseudo-header
+ * that includes direction information; requested by Paolo Abeni.
+ */
+#define DLT_BLUETOOTH_HCI_H4_WITH_PHDR 201
+
+/*
+ * AX.25 packet with a 1-byte KISS header; see
+ *
+ * http://www.ax25.net/kiss.htm
+ *
+ * as per Richard Stearn <richard@rns-stearn.demon.co.uk>.
+ */
+#define DLT_AX25_KISS 202
+
+/*
+ * LAPD packets from an ISDN channel, starting with the address field,
+ * with no pseudo-header.
+ * Requested by Varuna De Silva <varunax@gmail.com>.
+ */
+#define DLT_LAPD 203
+
+/*
+ * Variants of various link-layer headers, with a one-byte direction
+ * pseudo-header prepended - zero means "received by this host",
+ * non-zero (any non-zero value) means "sent by this host" - as per
+ * Will Barker <w.barker@zen.co.uk>.
+ */
+#define DLT_PPP_WITH_DIR 204 /* PPP - don't confuse with DLT_PPP_WITH_DIRECTION */
+#define DLT_C_HDLC_WITH_DIR 205 /* Cisco HDLC */
+#define DLT_FRELAY_WITH_DIR 206 /* Frame Relay */
+#define DLT_LAPB_WITH_DIR 207 /* LAPB */
+
+/*
+ * 208 is reserved for an as-yet-unspecified proprietary link-layer
+ * type, as requested by Will Barker.
+ */
+
+/*
+ * IPMB with a Linux-specific pseudo-header; as requested by Alexey Neyman
+ * <avn@pigeonpoint.com>.
+ */
+#define DLT_IPMB_LINUX 209
+
+/*
+ * FlexRay automotive bus - http://www.flexray.com/ - as requested
+ * by Hannes Kaelber <hannes.kaelber@x2e.de>.
+ */
+#define DLT_FLEXRAY 210
+
+/*
+ * Media Oriented Systems Transport (MOST) bus for multimedia
+ * transport - http://www.mostcooperation.com/ - as requested
+ * by Hannes Kaelber <hannes.kaelber@x2e.de>.
+ */
+#define DLT_MOST 211
+
+/*
+ * Local Interconnect Network (LIN) bus for vehicle networks -
+ * http://www.lin-subbus.org/ - as requested by Hannes Kaelber
+ * <hannes.kaelber@x2e.de>.
+ */
+#define DLT_LIN 212
+
+/*
+ * X2E-private data link type used for serial line capture,
+ * as requested by Hannes Kaelber <hannes.kaelber@x2e.de>.
+ */
+#define DLT_X2E_SERIAL 213
+
+/*
+ * X2E-private data link type used for the Xoraya data logger
+ * family, as requested by Hannes Kaelber <hannes.kaelber@x2e.de>.
+ */
+#define DLT_X2E_XORAYA 214
+
+/*
+ * IEEE 802.15.4, exactly as it appears in the spec (no padding, no
+ * nothing), but with the PHY-level data for non-ASK PHYs (4 octets
+ * of 0 as preamble, one octet of SFD, one octet of frame length+
+ * reserved bit, and then the MAC-layer data, starting with the
+ * frame control field).
+ *
+ * Requested by Max Filippov <jcmvbkbc@gmail.com>.
+ */
+#define DLT_IEEE802_15_4_NONASK_PHY 215
+
+/*
+ * David Gibson <david@gibson.dropbear.id.au> requested this for
+ * captures from the Linux kernel /dev/input/eventN devices. This
+ * is used to communicate keystrokes and mouse movements from the
+ * Linux kernel to display systems, such as Xorg.
+ */
+#define DLT_LINUX_EVDEV 216
+
+/*
+ * GSM Um and Abis interfaces, preceded by a "gsmtap" header.
+ *
+ * Requested by Harald Welte <laforge@gnumonks.org>.
+ */
+#define DLT_GSMTAP_UM 217
+#define DLT_GSMTAP_ABIS 218
+
+/*
+ * MPLS, with an MPLS label as the link-layer header.
+ * Requested by Michele Marchetto <michele@openbsd.org> on behalf
+ * of OpenBSD.
+ */
+#define DLT_MPLS 219
+
+/*
+ * USB packets, beginning with a Linux USB header, with the USB header
+ * padded to 64 bytes; required for memory-mapped access.
+ */
+#define DLT_USB_LINUX_MMAPPED 220
+
+/*
+ * DECT packets, with a pseudo-header; requested by
+ * Matthias Wenzel <tcpdump@mazzoo.de>.
+ */
+#define DLT_DECT 221
+
+/*
+ * From: "Lidwa, Eric (GSFC-582.0)[SGT INC]" <eric.lidwa-1@nasa.gov>
+ * Date: Mon, 11 May 2009 11:18:30 -0500
+ *
+ * DLT_AOS. We need it for AOS Space Data Link Protocol.
+ * I have already written dissectors for but need an OK from
+ * legal before I can submit a patch.
+ *
+ */
+#define DLT_AOS 222
+
+/*
+ * Wireless HART (Highway Addressable Remote Transducer)
+ * From the HART Communication Foundation
+ * IES/PAS 62591
+ *
+ * Requested by Sam Roberts <vieuxtech@gmail.com>.
+ */
+#define DLT_WIHART 223
+
+/*
+ * Fibre Channel FC-2 frames, beginning with a Frame_Header.
+ * Requested by Kahou Lei <kahou82@gmail.com>.
+ */
+#define DLT_FC_2 224
+
+/*
+ * Fibre Channel FC-2 frames, beginning with an encoding of the
+ * SOF, and ending with an encoding of the EOF.
+ *
+ * The encodings represent the frame delimiters as 4-byte sequences
+ * representing the corresponding ordered sets, with K28.5
+ * represented as 0xBC, and the D symbols as the corresponding
+ * byte values; for example, SOFi2, which is K28.5 - D21.5 - D1.2 - D21.2,
+ * is represented as 0xBC 0xB5 0x55 0x55.
+ *
+ * Requested by Kahou Lei <kahou82@gmail.com>.
+ */
+#define DLT_FC_2_WITH_FRAME_DELIMS 225
+
+/*
+ * Solaris ipnet pseudo-header; requested by Darren Reed <Darren.Reed@Sun.COM>.
+ *
+ * The pseudo-header starts with a one-byte version number; for version 2,
+ * the pseudo-header is:
+ *
+ * struct dl_ipnetinfo {
+ * u_int8_t dli_version;
+ * u_int8_t dli_family;
+ * u_int16_t dli_htype;
+ * u_int32_t dli_pktlen;
+ * u_int32_t dli_ifindex;
+ * u_int32_t dli_grifindex;
+ * u_int32_t dli_zsrc;
+ * u_int32_t dli_zdst;
+ * };
+ *
+ * dli_version is 2 for the current version of the pseudo-header.
+ *
+ * dli_family is a Solaris address family value, so it's 2 for IPv4
+ * and 26 for IPv6.
+ *
+ * dli_htype is a "hook type" - 0 for incoming packets, 1 for outgoing
+ * packets, and 2 for packets arriving from another zone on the same
+ * machine.
+ *
+ * dli_pktlen is the length of the packet data following the pseudo-header
+ * (so the captured length minus dli_pktlen is the length of the
+ * pseudo-header, assuming the entire pseudo-header was captured).
+ *
+ * dli_ifindex is the interface index of the interface on which the
+ * packet arrived.
+ *
+ * dli_grifindex is the group interface index number (for IPMP interfaces).
+ *
+ * dli_zsrc is the zone identifier for the source of the packet.
+ *
+ * dli_zdst is the zone identifier for the destination of the packet.
+ *
+ * A zone number of 0 is the global zone; a zone number of 0xffffffff
+ * means that the packet arrived from another host on the network, not
+ * from another zone on the same machine.
+ *
+ * An IPv4 or IPv6 datagram follows the pseudo-header; dli_family indicates
+ * which of those it is.
+ */
+#define DLT_IPNET 226
+
+/*
+ * CAN (Controller Area Network) frames, with a pseudo-header as supplied
+ * by Linux SocketCAN, and with multi-byte numerical fields in that header
+ * in big-endian byte order.
+ *
+ * See Documentation/networking/can.txt in the Linux source.
+ *
+ * Requested by Felix Obenhuber <felix@obenhuber.de>.
+ */
+#define DLT_CAN_SOCKETCAN 227
+
+/*
+ * Raw IPv4/IPv6; different from DLT_RAW in that the DLT_ value specifies
+ * whether it's v4 or v6. Requested by Darren Reed <Darren.Reed@Sun.COM>.
+ */
+#define DLT_IPV4 228
+#define DLT_IPV6 229
+
+/*
+ * IEEE 802.15.4, exactly as it appears in the spec (no padding, no
+ * nothing), and with no FCS at the end of the frame; requested by
+ * Jon Smirl <jonsmirl@gmail.com>.
+ */
+#define DLT_IEEE802_15_4_NOFCS 230
+
+/*
+ * Raw D-Bus:
+ *
+ * http://www.freedesktop.org/wiki/Software/dbus
+ *
+ * messages:
+ *
+ * http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-messages
+ *
+ * starting with the endianness flag, followed by the message type, etc.,
+ * but without the authentication handshake before the message sequence:
+ *
+ * http://dbus.freedesktop.org/doc/dbus-specification.html#auth-protocol
+ *
+ * Requested by Martin Vidner <martin@vidner.net>.
+ */
+#define DLT_DBUS 231
+
+/*
+ * Juniper-private data link type, as per request from
+ * Hannes Gredler <hannes@juniper.net>.
+ */
+#define DLT_JUNIPER_VS 232
+#define DLT_JUNIPER_SRX_E2E 233
+#define DLT_JUNIPER_FIBRECHANNEL 234
+
+/*
+ * DVB-CI (DVB Common Interface for communication between a PC Card
+ * module and a DVB receiver). See
+ *
+ * http://www.kaiser.cx/pcap-dvbci.html
+ *
+ * for the specification.
+ *
+ * Requested by Martin Kaiser <martin@kaiser.cx>.
+ */
+#define DLT_DVB_CI 235
+
+/*
+ * Variant of 3GPP TS 27.010 multiplexing protocol (similar to, but
+ * *not* the same as, 27.010). Requested by Hans-Christoph Schemmel
+ * <hans-christoph.schemmel@cinterion.com>.
+ */
+#define DLT_MUX27010 236
+
+/*
+ * STANAG 5066 D_PDUs. Requested by M. Baris Demiray
+ * <barisdemiray@gmail.com>.
+ */
+#define DLT_STANAG_5066_D_PDU 237
+
+/*
+ * Juniper-private data link type, as per request from
+ * Hannes Gredler <hannes@juniper.net>.
+ */
+#define DLT_JUNIPER_ATM_CEMIC 238
+
+/*
+ * NetFilter LOG messages
+ * (payload of netlink NFNL_SUBSYS_ULOG/NFULNL_MSG_PACKET packets)
+ *
+ * Requested by Jakub Zawadzki <darkjames-ws@darkjames.pl>
+ */
+#define DLT_NFLOG 239
+
+/*
+ * Hilscher Gesellschaft fuer Systemautomation mbH link-layer type
+ * for Ethernet packets with a 4-byte pseudo-header and always
+ * with the payload including the FCS, as supplied by their
+ * netANALYZER hardware and software.
+ *
+ * Requested by Holger P. Frommer <HPfrommer@hilscher.com>
+ */
+#define DLT_NETANALYZER 240
+
+/*
+ * Hilscher Gesellschaft fuer Systemautomation mbH link-layer type
+ * for Ethernet packets with a 4-byte pseudo-header and FCS and
+ * with the Ethernet header preceded by 7 bytes of preamble and
+ * 1 byte of SFD, as supplied by their netANALYZER hardware and
+ * software.
+ *
+ * Requested by Holger P. Frommer <HPfrommer@hilscher.com>
+ */
+#define DLT_NETANALYZER_TRANSPARENT 241
+
+/*
+ * IP-over-InfiniBand, as specified by RFC 4391.
+ *
+ * Requested by Petr Sumbera <petr.sumbera@oracle.com>.
+ */
+#define DLT_IPOIB 242
+
+/*
+ * MPEG-2 transport stream (ISO 13818-1/ITU-T H.222.0).
+ *
+ * Requested by Guy Martin <gmsoft@tuxicoman.be>.
+ */
+#define DLT_MPEG_2_TS 243
+
+/*
+ * ng4T GmbH's UMTS Iub/Iur-over-ATM and Iub/Iur-over-IP format as
+ * used by their ng40 protocol tester.
+ *
+ * Requested by Jens Grimmer <jens.grimmer@ng4t.com>.
+ */
+#define DLT_NG40 244
+
+/*
+ * Pseudo-header giving adapter number and flags, followed by an NFC
+ * (Near-Field Communications) Logical Link Control Protocol (LLCP) PDU,
+ * as specified by NFC Forum Logical Link Control Protocol Technical
+ * Specification LLCP 1.1.
+ *
+ * Requested by Mike Wakerly <mikey@google.com>.
+ */
+#define DLT_NFC_LLCP 245
+
+/*
+ * 246 is used as LINKTYPE_PFSYNC; do not use it for any other purpose.
+ *
+ * DLT_PFSYNC has different values on different platforms, and all of
+ * them collide with something used elsewhere. On platforms that
+ * don't already define it, define it as 246.
+ */
+#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__DragonFly__) && !defined(__APPLE__)
+#define DLT_PFSYNC 246
+#endif
+
+/*
+ * Raw InfiniBand packets, starting with the Local Routing Header.
+ *
+ * Requested by Oren Kladnitsky <orenk@mellanox.com>.
+ */
+#define DLT_INFINIBAND 247
+
+/*
+ * SCTP, with no lower-level protocols (i.e., no IPv4 or IPv6).
+ *
+ * Requested by Michael Tuexen <Michael.Tuexen@lurchi.franken.de>.
+ */
+#define DLT_SCTP 248
+
+/*
+ * USB packets, beginning with a USBPcap header.
+ *
+ * Requested by Tomasz Mon <desowin@gmail.com>
+ */
+#define DLT_USBPCAP 249
+
+/*
+ * Schweitzer Engineering Laboratories "RTAC" product serial-line
+ * packets.
+ *
+ * Requested by Chris Bontje <chris_bontje@selinc.com>.
+ */
+#define DLT_RTAC_SERIAL 250
+
+/*
+ * Bluetooth Low Energy air interface link-layer packets.
+ *
+ * Requested by Mike Kershaw <dragorn@kismetwireless.net>.
+ */
+#define DLT_BLUETOOTH_LE_LL 251
+
+/*
+ * DLT type for upper-protocol layer PDU saves from wireshark.
+ *
+ * the actual contents are determined by two TAGs stored with each
+ * packet:
+ * EXP_PDU_TAG_LINKTYPE the link type (LINKTYPE_ value) of the
+ * original packet.
+ *
+ * EXP_PDU_TAG_PROTO_NAME the name of the wireshark dissector
+ * that can make sense of the data stored.
+ */
+#define DLT_WIRESHARK_UPPER_PDU 252
+
+/*
+ * DLT type for the netlink protocol (nlmon devices).
+ */
+#define DLT_NETLINK 253
+
+/*
+ * Bluetooth Linux Monitor headers for the BlueZ stack.
+ */
+#define DLT_BLUETOOTH_LINUX_MONITOR 254
+
+/*
+ * Bluetooth Basic Rate/Enhanced Data Rate baseband packets, as
+ * captured by Ubertooth.
+ */
+#define DLT_BLUETOOTH_BREDR_BB 255
+
+/*
+ * Bluetooth Low Energy link layer packets, as captured by Ubertooth.
+ */
+#define DLT_BLUETOOTH_LE_LL_WITH_PHDR 256
+
+/*
+ * PROFIBUS data link layer.
+ */
+#define DLT_PROFIBUS_DL 257
+
+/*
+ * Apple's DLT_PKTAP headers.
+ *
+ * Sadly, the folks at Apple either had no clue that the DLT_USERn values
+ * are for internal use within an organization and partners only, and
+ * didn't know that the right way to get a link-layer header type is to
+ * ask tcpdump.org for one, or knew and didn't care, so they just
+ * used DLT_USER2, which causes problems for everything except for
+ * their version of tcpdump.
+ *
+ * So I'll just give them one; hopefully this will show up in a
+ * libpcap release in time for them to get this into 10.10 Big Sur
+ * or whatever Mavericks' successor is called. LINKTYPE_PKTAP
+ * will be 258 *even on OS X*; that is *intentional*, so that
+ * PKTAP files look the same on *all* OSes (different OSes can have
+ * different numerical values for a given DLT_, but *MUST NOT* have
+ * different values for what goes in a file, as files can be moved
+ * between OSes!).
+ *
+ * When capturing, on a system with a Darwin-based OS, on a device
+ * that returns 149 (DLT_USER2 and Apple's DLT_PKTAP) with this
+ * version of libpcap, the DLT_ value for the pcap_t will be DLT_PKTAP,
+ * and that will continue to be DLT_USER2 on Darwin-based OSes. That way,
+ * binary compatibility with Mavericks is preserved for programs using
+ * this version of libpcap. This does mean that if you were using
+ * DLT_USER2 for some capture device on OS X, you can't do so with
+ * this version of libpcap, just as you can't with Apple's libpcap -
+ * on OS X, they define DLT_PKTAP to be DLT_USER2, so programs won't
+ * be able to distinguish between PKTAP and whatever you were using
+ * DLT_USER2 for.
+ *
+ * If the program saves the capture to a file using this version of
+ * libpcap's pcap_dump code, the LINKTYPE_ value in the file will be
+ * LINKTYPE_PKTAP, which will be 258, even on Darwin-based OSes.
+ * That way, the file will *not* be a DLT_USER2 file. That means
+ * that the latest version of tcpdump, when built with this version
+ * of libpcap, and sufficiently recent versions of Wireshark will
+ * be able to read those files and interpret them correctly; however,
+ * Apple's version of tcpdump in OS X 10.9 won't be able to handle
+ * them. (Hopefully, Apple will pick up this version of libpcap,
+ * and the corresponding version of tcpdump, so that tcpdump will
+ * be able to handle the old LINKTYPE_USER2 captures *and* the new
+ * LINKTYPE_PKTAP captures.)
+ */
+#ifdef __APPLE__
+#define DLT_PKTAP DLT_USER2
+#else
+#define DLT_PKTAP 258
+#endif
+
+/*
+ * Ethernet packets preceded by a header giving the last 6 octets
+ * of the preamble specified by 802.3-2012 Clause 65, section
+ * 65.1.3.2 "Transmit".
+ */
+#define DLT_EPON 259
+
+/*
+ * IPMI trace packets, as specified by Table 3-20 "Trace Data Block Format"
+ * in the PICMG HPM.2 specification.
+ */
+#define DLT_IPMI_HPM_2 260
+
+/*
+ * per Joshua Wright <jwright@hasborg.com>, formats for Zwave captures.
+ */
+#define DLT_ZWAVE_R1_R2 261
+#define DLT_ZWAVE_R3 262
+
+/*
+ * per Steve Karg <skarg@users.sourceforge.net>, formats for Wattstopper
+ * Digital Lighting Management room bus serial protocol captures.
+ */
+#define DLT_WATTSTOPPER_DLM 263
+
+/*
+ * ISO 14443 contactless smart card messages.
+ */
+#define DLT_ISO_14443 264
+
+/*
+ * Radio data system (RDS) groups. IEC 62106.
+ * Per Jonathan Brucker <jonathan.brucke@gmail.com>.
+ */
+#define DLT_RDS 265
+
+/*
+ * In case the code that includes this file (directly or indirectly)
+ * has also included OS files that happen to define DLT_MATCHING_MAX,
+ * with a different value (perhaps because that OS hasn't picked up
+ * the latest version of our DLT definitions), we undefine the
+ * previous value of DLT_MATCHING_MAX.
+ */
+#ifdef DLT_MATCHING_MAX
+#undef DLT_MATCHING_MAX
+#endif
+#define DLT_MATCHING_MAX 265 /* highest value in the "matching" range */
+
+/*
+ * DLT and savefile link type values are split into a class and
+ * a member of that class. A class value of 0 indicates a regular
+ * DLT_/LINKTYPE_ value.
+ */
+#define DLT_CLASS(x) ((x) & 0x03ff0000)
+
+/*
+ * NetBSD-specific generic "raw" link type. The class value indicates
+ * that this is the generic raw type, and the lower 16 bits are the
+ * address family we're dealing with. Those values are NetBSD-specific;
+ * do not assume that they correspond to AF_ values for your operating
+ * system.
+ */
+#define DLT_CLASS_NETBSD_RAWAF 0x02240000
+#define DLT_NETBSD_RAWAF(af) (DLT_CLASS_NETBSD_RAWAF | (af))
+#define DLT_NETBSD_RAWAF_AF(x) ((x) & 0x0000ffff)
+#define DLT_IS_NETBSD_RAWAF(x) (DLT_CLASS(x) == DLT_CLASS_NETBSD_RAWAF)
+
+#endif /* !_NET_DLT_H_ */
diff --git a/sys/net/ethernet.h b/sys/net/ethernet.h
index fca54b9..52d8f61 100644
--- a/sys/net/ethernet.h
+++ b/sys/net/ethernet.h
@@ -89,7 +89,7 @@ struct ether_vlan_header {
#define EVL_PRIOFTAG(tag) (((tag) >> 13) & 7)
#define EVL_CFIOFTAG(tag) (((tag) >> 12) & 1)
#define EVL_MAKETAG(vlid, pri, cfi) \
- ((((((pri) & 7) << 13) | ((cfi) & 1)) << 12) | ((vlid) & EVL_VLID_MASK))
+ ((((((pri) & 7) << 1) | ((cfi) & 1)) << 12) | ((vlid) & EVL_VLID_MASK))
/*
* NOTE: 0x0000-0x05DC (0..1500) are generally IEEE 802.3 length fields.
diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c
index c01cec1..2e426d3 100644
--- a/sys/net/ieee8023ad_lacp.c
+++ b/sys/net/ieee8023ad_lacp.c
@@ -1090,6 +1090,7 @@ lacp_compose_key(struct lacp_port *lp)
case IFM_10G_CR1:
case IFM_10G_ER:
case IFM_10G_SFI:
+ case IFM_10G_AOC:
key = IFM_10G_LR;
break;
case IFM_20G_KR2:
@@ -1114,6 +1115,9 @@ lacp_compose_key(struct lacp_port *lp)
case IFM_25G_CR:
case IFM_25G_KR:
case IFM_25G_SR:
+ case IFM_25G_LR:
+ case IFM_25G_ACC:
+ case IFM_25G_AOC:
key = IFM_25G_PCIE;
break;
case IFM_40G_CR4:
diff --git a/sys/net/if.c b/sys/net/if.c
index 12f867c..85fe24e 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -744,6 +744,11 @@ if_attach_internal(struct ifnet *ifp, int vmove, struct if_clone *ifc)
/* Reliably crash if used uninitialized. */
ifp->if_broadcastaddr = NULL;
+ if (ifp->if_type == IFT_ETHER) {
+ ifp->if_hw_addr = malloc(ifp->if_addrlen, M_IFADDR,
+ M_WAITOK | M_ZERO);
+ }
+
#if defined(INET) || defined(INET6)
/* Use defaults for TSO, if nothing is set */
if (ifp->if_hw_tsomax == 0 &&
@@ -1059,6 +1064,8 @@ if_detach_internal(struct ifnet *ifp, int vmove, struct if_clone **ifcp)
* Remove link ifaddr pointer and maybe decrement if_index.
* Clean up all addresses.
*/
+ free(ifp->if_hw_addr, M_IFADDR);
+ ifp->if_hw_addr = NULL;
ifp->if_addr = NULL;
/* We can now free link ifaddr. */
@@ -2667,6 +2674,10 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td)
ifr->ifr_addr.sa_data, ifr->ifr_addr.sa_len);
break;
+ case SIOCGHWADDR:
+ error = if_gethwaddr(ifp, ifr);
+ break;
+
case SIOCAIFGROUP:
{
struct ifgroupreq *ifgr = (struct ifgroupreq *)ifr;
@@ -3598,6 +3609,29 @@ if_requestencap_default(struct ifnet *ifp, struct if_encap_req *req)
}
/*
+ * Get the link layer address that was read from the hardware at attach.
+ *
+ * This is only set by Ethernet NICs (IFT_ETHER), but laggX interfaces re-type
+ * their component interfaces as IFT_IEEE8023ADLAG.
+ */
+int
+if_gethwaddr(struct ifnet *ifp, struct ifreq *ifr)
+{
+
+ if (ifp->if_hw_addr == NULL)
+ return (ENODEV);
+
+ switch (ifp->if_type) {
+ case IFT_ETHER:
+ case IFT_IEEE8023ADLAG:
+ bcopy(ifp->if_hw_addr, ifr->ifr_addr.sa_data, ifp->if_addrlen);
+ return (0);
+ default:
+ return (ENODEV);
+ }
+}
+
+/*
* The name argument must be a pointer to storage which will last as
* long as the interface does. For physical devices, the result of
* device_get_name(dev) is a good choice and for pseudo-devices a
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index 27f4411..e2e65b3 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -923,6 +923,9 @@ ether_ifattach(struct ifnet *ifp, const u_int8_t *lla)
sdl->sdl_alen = ifp->if_addrlen;
bcopy(lla, LLADDR(sdl), ifp->if_addrlen);
+ if (ifp->if_hw_addr != NULL)
+ bcopy(lla, ifp->if_hw_addr, ifp->if_addrlen);
+
bpfattach(ifp, DLT_EN10MB, ETHER_HDR_LEN);
if (ng_ether_attach_p != NULL)
(*ng_ether_attach_p)(ifp);
diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c
index dc3e0cc..2883de0 100644
--- a/sys/net/if_lagg.c
+++ b/sys/net/if_lagg.c
@@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$");
#include <sys/proc.h>
#include <sys/lock.h>
#include <sys/rmlock.h>
+#include <sys/sx.h>
#include <sys/taskqueue.h>
#include <sys/eventhandler.h>
@@ -98,10 +99,7 @@ static VNET_DEFINE(struct if_clone *, lagg_cloner);
#define V_lagg_cloner VNET(lagg_cloner)
static const char laggname[] = "lagg";
-static void lagg_lladdr(struct lagg_softc *, uint8_t *);
static void lagg_capabilities(struct lagg_softc *);
-static void lagg_port_lladdr(struct lagg_port *, uint8_t *, lagg_llqtype);
-static void lagg_port_setlladdr(void *, int);
static int lagg_port_create(struct lagg_softc *, struct ifnet *);
static int lagg_port_destroy(struct lagg_port *, int);
static struct mbuf *lagg_input(struct ifnet *, struct mbuf *);
@@ -118,8 +116,9 @@ static void lagg_port2req(struct lagg_port *, struct lagg_reqport *);
static void lagg_init(void *);
static void lagg_stop(struct lagg_softc *);
static int lagg_ioctl(struct ifnet *, u_long, caddr_t);
-static int lagg_ether_setmulti(struct lagg_softc *);
-static int lagg_ether_cmdmulti(struct lagg_port *, int);
+static int lagg_setmulti(struct lagg_port *);
+static int lagg_clrmulti(struct lagg_port *);
+static int lagg_setcaps(struct lagg_port *, int cap);
static int lagg_setflag(struct lagg_port *, int, int,
int (*func)(struct ifnet *, int));
static int lagg_setflags(struct lagg_port *, int status);
@@ -311,6 +310,7 @@ static void
lagg_proto_attach(struct lagg_softc *sc, lagg_proto pr)
{
+ LAGG_XLOCK_ASSERT(sc);
KASSERT(sc->sc_proto == LAGG_PROTO_NONE, ("%s: sc %p has proto",
__func__, sc));
@@ -327,8 +327,8 @@ lagg_proto_detach(struct lagg_softc *sc)
{
lagg_proto pr;
+ LAGG_XLOCK_ASSERT(sc);
LAGG_WLOCK_ASSERT(sc);
-
pr = sc->sc_proto;
sc->sc_proto = LAGG_PROTO_NONE;
@@ -427,15 +427,14 @@ lagg_register_vlan(void *arg, struct ifnet *ifp, u_int16_t vtag)
{
struct lagg_softc *sc = ifp->if_softc;
struct lagg_port *lp;
- struct rm_priotracker tracker;
if (ifp->if_softc != arg) /* Not our event */
return;
- LAGG_RLOCK(sc, &tracker);
+ LAGG_SLOCK(sc);
SLIST_FOREACH(lp, &sc->sc_ports, lp_entries)
EVENTHANDLER_INVOKE(vlan_config, lp->lp_ifp, vtag);
- LAGG_RUNLOCK(sc, &tracker);
+ LAGG_SUNLOCK(sc);
}
/*
@@ -447,15 +446,14 @@ lagg_unregister_vlan(void *arg, struct ifnet *ifp, u_int16_t vtag)
{
struct lagg_softc *sc = ifp->if_softc;
struct lagg_port *lp;
- struct rm_priotracker tracker;
if (ifp->if_softc != arg) /* Not our event */
return;
- LAGG_RLOCK(sc, &tracker);
+ LAGG_SLOCK(sc);
SLIST_FOREACH(lp, &sc->sc_ports, lp_entries)
EVENTHANDLER_INVOKE(vlan_unconfig, lp->lp_ifp, vtag);
- LAGG_RUNLOCK(sc, &tracker);
+ LAGG_SUNLOCK(sc);
}
static int
@@ -471,7 +469,10 @@ lagg_clone_create(struct if_clone *ifc, int unit, caddr_t params)
free(sc, M_DEVBUF);
return (ENOSPC);
}
+ LAGG_LOCK_INIT(sc);
+ LAGG_SX_INIT(sc);
+ LAGG_XLOCK(sc);
if (V_def_use_flowid)
sc->sc_opts |= LAGG_OPT_USE_FLOWID;
sc->flowid_shift = V_def_flowid_shift;
@@ -481,9 +482,7 @@ lagg_clone_create(struct if_clone *ifc, int unit, caddr_t params)
lagg_proto_attach(sc, LAGG_PROTO_DEFAULT);
- LAGG_LOCK_INIT(sc);
SLIST_INIT(&sc->sc_ports);
- TASK_INIT(&sc->sc_lladdr_task, 0, lagg_port_setlladdr, sc);
/* Initialise pseudo media types */
ifmedia_init(&sc->sc_media, 0, lagg_media_change,
@@ -516,6 +515,7 @@ lagg_clone_create(struct if_clone *ifc, int unit, caddr_t params)
LAGG_LIST_LOCK();
SLIST_INSERT_HEAD(&V_lagg_list, sc, sc_entries);
LAGG_LIST_UNLOCK();
+ LAGG_XUNLOCK(sc);
return (0);
}
@@ -526,8 +526,8 @@ lagg_clone_destroy(struct ifnet *ifp)
struct lagg_softc *sc = (struct lagg_softc *)ifp->if_softc;
struct lagg_port *lp;
- LAGG_WLOCK(sc);
-
+ LAGG_XLOCK(sc);
+ sc->sc_destroying = 1;
lagg_stop(sc);
ifp->if_flags &= ~IFF_UP;
@@ -535,15 +535,15 @@ lagg_clone_destroy(struct ifnet *ifp)
EVENTHANDLER_DEREGISTER(vlan_unconfig, sc->vlan_detach);
/* Shutdown and remove lagg ports */
- while ((lp = SLIST_FIRST(&sc->sc_ports)) != NULL) {
- lp->lp_detaching = LAGG_CLONE_DESTROY;
+ while ((lp = SLIST_FIRST(&sc->sc_ports)) != NULL)
lagg_port_destroy(lp, 1);
- }
+
/* Unhook the aggregation protocol */
+ LAGG_WLOCK(sc);
lagg_proto_detach(sc);
LAGG_UNLOCK_ASSERT(sc);
+ LAGG_XUNLOCK(sc);
- taskqueue_drain(taskqueue_swi, &sc->sc_lladdr_task);
ifmedia_removeall(&sc->sc_media);
ether_ifdetach(ifp);
if_free(ifp);
@@ -552,69 +552,50 @@ lagg_clone_destroy(struct ifnet *ifp)
SLIST_REMOVE(&V_lagg_list, sc, lagg_softc, sc_entries);
LAGG_LIST_UNLOCK();
+ LAGG_SX_DESTROY(sc);
LAGG_LOCK_DESTROY(sc);
free(sc, M_DEVBUF);
}
-/*
- * Set link-layer address on the lagg interface itself.
- *
- * Set noinline to be dtrace-friendly
- */
-static __noinline void
-lagg_lladdr(struct lagg_softc *sc, uint8_t *lladdr)
-{
- struct ifnet *ifp = sc->sc_ifp;
- struct lagg_port lp;
-
- if (memcmp(lladdr, IF_LLADDR(ifp), ETHER_ADDR_LEN) == 0)
- return;
-
- LAGG_WLOCK_ASSERT(sc);
- /*
- * Set the link layer address on the lagg interface.
- * lagg_proto_lladdr() notifies the MAC change to
- * the aggregation protocol. iflladdr_event handler which
- * may trigger gratuitous ARPs for INET will be handled in
- * a taskqueue.
- */
- bcopy(lladdr, IF_LLADDR(ifp), ETHER_ADDR_LEN);
- lagg_proto_lladdr(sc);
-
- /*
- * Send notification request for lagg interface
- * itself. Note that new lladdr is already set.
- */
- bzero(&lp, sizeof(lp));
- lp.lp_ifp = sc->sc_ifp;
- lp.lp_softc = sc;
-
- /* Do not request lladdr change */
- lagg_port_lladdr(&lp, lladdr, LAGG_LLQTYPE_VIRT);
-}
-
static void
lagg_capabilities(struct lagg_softc *sc)
{
struct lagg_port *lp;
- int cap = ~0, ena = ~0;
- u_long hwa = ~0UL;
+ int cap, ena, pena;
+ uint64_t hwa;
struct ifnet_hw_tsomax hw_tsomax;
- LAGG_WLOCK_ASSERT(sc);
+ LAGG_XLOCK_ASSERT(sc);
- memset(&hw_tsomax, 0, sizeof(hw_tsomax));
+ /* Get common enabled capabilities for the lagg ports */
+ ena = ~0;
+ SLIST_FOREACH(lp, &sc->sc_ports, lp_entries)
+ ena &= lp->lp_ifp->if_capenable;
+ ena = (ena == ~0 ? 0 : ena);
+
+ /*
+ * Apply common enabled capabilities back to the lagg ports.
+ * May require several iterations if they are dependent.
+ */
+ do {
+ pena = ena;
+ SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) {
+ lagg_setcaps(lp, ena);
+ ena &= lp->lp_ifp->if_capenable;
+ }
+ } while (pena != ena);
- /* Get capabilities from the lagg ports */
+ /* Get other capabilities from the lagg ports */
+ cap = ~0;
+ hwa = ~(uint64_t)0;
+ memset(&hw_tsomax, 0, sizeof(hw_tsomax));
SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) {
cap &= lp->lp_ifp->if_capabilities;
- ena &= lp->lp_ifp->if_capenable;
hwa &= lp->lp_ifp->if_hwassist;
if_hw_tsomax_common(lp->lp_ifp, &hw_tsomax);
}
cap = (cap == ~0 ? 0 : cap);
- ena = (ena == ~0 ? 0 : ena);
- hwa = (hwa == ~0 ? 0 : hwa);
+ hwa = (hwa == ~(uint64_t)0 ? 0 : hwa);
if (sc->sc_ifp->if_capabilities != cap ||
sc->sc_ifp->if_capenable != ena ||
@@ -631,97 +612,6 @@ lagg_capabilities(struct lagg_softc *sc)
}
}
-/*
- * Enqueue interface lladdr notification.
- * If request is already queued, it is updated.
- * If setting lladdr is also desired, @do_change has to be set to 1.
- *
- * Set noinline to be dtrace-friendly
- */
-static __noinline void
-lagg_port_lladdr(struct lagg_port *lp, uint8_t *lladdr, lagg_llqtype llq_type)
-{
- struct lagg_softc *sc = lp->lp_softc;
- struct ifnet *ifp = lp->lp_ifp;
- struct lagg_llq *llq;
-
- LAGG_WLOCK_ASSERT(sc);
-
- /*
- * Do not enqueue requests where lladdr is the same for
- * "physical" interfaces (e.g. ports in lagg)
- */
- if (llq_type == LAGG_LLQTYPE_PHYS &&
- memcmp(IF_LLADDR(ifp), lladdr, ETHER_ADDR_LEN) == 0)
- return;
-
- /* Check to make sure its not already queued to be changed */
- SLIST_FOREACH(llq, &sc->sc_llq_head, llq_entries) {
- if (llq->llq_ifp == ifp) {
- /* Update lladdr, it may have changed */
- bcopy(lladdr, llq->llq_lladdr, ETHER_ADDR_LEN);
- return;
- }
- }
-
- llq = malloc(sizeof(struct lagg_llq), M_DEVBUF, M_NOWAIT | M_ZERO);
- if (llq == NULL) /* XXX what to do */
- return;
-
- if_ref(ifp);
- llq->llq_ifp = ifp;
- llq->llq_type = llq_type;
- bcopy(lladdr, llq->llq_lladdr, ETHER_ADDR_LEN);
- /* XXX: We should insert to tail */
- SLIST_INSERT_HEAD(&sc->sc_llq_head, llq, llq_entries);
-
- taskqueue_enqueue(taskqueue_swi, &sc->sc_lladdr_task);
-}
-
-/*
- * Set the interface MAC address from a taskqueue to avoid a LOR.
- *
- * Set noinline to be dtrace-friendly
- */
-static __noinline void
-lagg_port_setlladdr(void *arg, int pending)
-{
- struct lagg_softc *sc = (struct lagg_softc *)arg;
- struct lagg_llq *llq, *head;
- struct ifnet *ifp;
-
- /* Grab a local reference of the queue and remove it from the softc */
- LAGG_WLOCK(sc);
- head = SLIST_FIRST(&sc->sc_llq_head);
- SLIST_FIRST(&sc->sc_llq_head) = NULL;
- LAGG_WUNLOCK(sc);
-
- /*
- * Traverse the queue and set the lladdr on each ifp. It is safe to do
- * unlocked as we have the only reference to it.
- */
- for (llq = head; llq != NULL; llq = head) {
- ifp = llq->llq_ifp;
-
- CURVNET_SET(ifp->if_vnet);
-
- /*
- * Set the link layer address on the laggport interface.
- * Note that if_setlladdr() or iflladdr_event handler
- * may result in arp transmission / lltable updates.
- */
- if (llq->llq_type == LAGG_LLQTYPE_PHYS)
- if_setlladdr(ifp, llq->llq_lladdr,
- ETHER_ADDR_LEN);
- else
- EVENTHANDLER_INVOKE(iflladdr_event, ifp);
- CURVNET_RESTORE();
- head = SLIST_NEXT(llq, llq_entries);
- if_rele(ifp);
- free(llq, M_DEVBUF);
- }
-}
-
static int
lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp)
{
@@ -730,7 +620,7 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp)
int error, i;
uint64_t *pval;
- LAGG_WLOCK_ASSERT(sc);
+ LAGG_XLOCK_ASSERT(sc);
/* Limit the maximal number of lagg ports */
if (sc->sc_count >= LAGG_MAX_PORTS)
@@ -758,9 +648,8 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp)
return (EINVAL);
}
- if ((lp = malloc(sizeof(struct lagg_port),
- M_DEVBUF, M_NOWAIT|M_ZERO)) == NULL)
- return (ENOMEM);
+ lp = malloc(sizeof(struct lagg_port), M_DEVBUF, M_WAITOK|M_ZERO);
+ lp->lp_softc = sc;
/* Check if port is a stacked lagg */
LAGG_LIST_LOCK();
@@ -783,6 +672,26 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp)
}
LAGG_LIST_UNLOCK();
+ if_ref(ifp);
+ lp->lp_ifp = ifp;
+
+ bcopy(IF_LLADDR(ifp), lp->lp_lladdr, ETHER_ADDR_LEN);
+ lp->lp_ifcapenable = ifp->if_capenable;
+ if (SLIST_EMPTY(&sc->sc_ports)) {
+ LAGG_WLOCK(sc);
+ bcopy(IF_LLADDR(ifp), IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN);
+ lagg_proto_lladdr(sc);
+ LAGG_WUNLOCK(sc);
+ EVENTHANDLER_INVOKE(iflladdr_event, sc->sc_ifp);
+ } else {
+ if_setlladdr(ifp, IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN);
+ }
+ lagg_setflags(lp, 1);
+
+ LAGG_WLOCK(sc);
+ if (SLIST_EMPTY(&sc->sc_ports))
+ sc->sc_primary = lp;
+
/* Change the interface type */
lp->lp_iftype = ifp->if_type;
ifp->if_type = IFT_IEEE8023ADLAG;
@@ -792,25 +701,10 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp)
lp->lp_output = ifp->if_output;
ifp->if_output = lagg_port_output;
- if_ref(ifp);
- lp->lp_ifp = ifp;
- lp->lp_softc = sc;
-
- /* Save port link layer address */
- bcopy(IF_LLADDR(ifp), lp->lp_lladdr, ETHER_ADDR_LEN);
-
- if (SLIST_EMPTY(&sc->sc_ports)) {
- sc->sc_primary = lp;
- /* First port in lagg. Update/notify lagg lladdress */
- lagg_lladdr(sc, IF_LLADDR(ifp));
- } else {
-
- /*
- * Update link layer address for this port and
- * send notifications to other subsystems.
- */
- lagg_port_lladdr(lp, IF_LLADDR(sc->sc_ifp), LAGG_LLQTYPE_PHYS);
- }
+ /* Read port counters */
+ pval = lp->port_counters.val;
+ for (i = 0; i < IFCOUNTERS; i++, pval++)
+ *pval = ifp->if_get_counter(ifp, i);
/*
* Insert into the list of ports.
@@ -831,24 +725,21 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp)
SLIST_INSERT_HEAD(&sc->sc_ports, lp, lp_entries);
sc->sc_count++;
- /* Update lagg capabilities */
- lagg_capabilities(sc);
- lagg_linkstate(sc);
-
- /* Read port counters */
- pval = lp->port_counters.val;
- for (i = 0; i < IFCOUNTERS; i++, pval++)
- *pval = ifp->if_get_counter(ifp, i);
- /* Add multicast addresses and interface flags to this port */
- lagg_ether_cmdmulti(lp, 1);
- lagg_setflags(lp, 1);
+ lagg_setmulti(lp);
if ((error = lagg_proto_addport(sc, lp)) != 0) {
/* Remove the port, without calling pr_delport. */
lagg_port_destroy(lp, 0);
+ LAGG_UNLOCK_ASSERT(sc);
return (error);
}
+ LAGG_WUNLOCK(sc);
+
+ /* Update lagg capabilities */
+ lagg_capabilities(sc);
+ lagg_linkstate(sc);
+
return (0);
}
@@ -860,8 +751,7 @@ lagg_port_checkstacking(struct lagg_softc *sc)
struct lagg_port *lp;
int m = 0;
- LAGG_WLOCK_ASSERT(sc);
-
+ LAGG_SXLOCK_ASSERT(sc);
SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) {
if (lp->lp_flags & LAGG_PORT_STACK) {
sc_ptr = (struct lagg_softc *)lp->lp_ifp->if_softc;
@@ -878,25 +768,20 @@ lagg_port_destroy(struct lagg_port *lp, int rundelport)
{
struct lagg_softc *sc = lp->lp_softc;
struct lagg_port *lp_ptr, *lp0;
- struct lagg_llq *llq;
struct ifnet *ifp = lp->lp_ifp;
uint64_t *pval, vdiff;
int i;
- LAGG_WLOCK_ASSERT(sc);
+ LAGG_XLOCK_ASSERT(sc);
- if (rundelport)
+ if (rundelport) {
+ LAGG_WLOCK(sc);
lagg_proto_delport(sc, lp);
+ } else
+ LAGG_WLOCK_ASSERT(sc);
- /*
- * Remove multicast addresses and interface flags from this port and
- * reset the MAC address, skip if the interface is being detached.
- */
- if (lp->lp_detaching == 0) {
- lagg_ether_cmdmulti(lp, 0);
- lagg_setflags(lp, 0);
- lagg_port_lladdr(lp, lp->lp_lladdr, LAGG_LLQTYPE_PHYS);
- }
+ if (lp->lp_detaching == 0)
+ lagg_clrmulti(lp);
/* Restore interface */
ifp->if_type = lp->lp_iftype;
@@ -919,43 +804,37 @@ lagg_port_destroy(struct lagg_port *lp, int rundelport)
if (lp == sc->sc_primary) {
uint8_t lladdr[ETHER_ADDR_LEN];
- if ((lp0 = SLIST_FIRST(&sc->sc_ports)) == NULL) {
+ if ((lp0 = SLIST_FIRST(&sc->sc_ports)) == NULL)
bzero(&lladdr, ETHER_ADDR_LEN);
- } else {
- bcopy(lp0->lp_lladdr,
- lladdr, ETHER_ADDR_LEN);
- }
- if (lp->lp_detaching != LAGG_CLONE_DESTROY)
- lagg_lladdr(sc, lladdr);
-
- /* Mark lp0 as new primary */
+ else
+ bcopy(lp0->lp_lladdr, lladdr, ETHER_ADDR_LEN);
sc->sc_primary = lp0;
+ if (sc->sc_destroying == 0) {
+ bcopy(lladdr, IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN);
+ lagg_proto_lladdr(sc);
+ LAGG_WUNLOCK(sc);
+ EVENTHANDLER_INVOKE(iflladdr_event, sc->sc_ifp);
+ } else
+ LAGG_WUNLOCK(sc);
/*
- * Enqueue lladdr update/notification for each port
- * (new primary needs update as well, to switch from
- * old lladdr to its 'real' one).
+ * Update lladdr for each port (new primary needs update
+ * as well, to switch from old lladdr to its 'real' one)
*/
SLIST_FOREACH(lp_ptr, &sc->sc_ports, lp_entries)
- lagg_port_lladdr(lp_ptr, lladdr, LAGG_LLQTYPE_PHYS);
- }
-
- /* Remove any pending lladdr changes from the queue */
- if (lp->lp_detaching != 0) {
- SLIST_FOREACH(llq, &sc->sc_llq_head, llq_entries) {
- if (llq->llq_ifp == ifp) {
- SLIST_REMOVE(&sc->sc_llq_head, llq, lagg_llq,
- llq_entries);
- if_rele(llq->llq_ifp);
- free(llq, M_DEVBUF);
- break; /* Only appears once */
- }
- }
- }
+ if_setlladdr(lp_ptr->lp_ifp, lladdr, ETHER_ADDR_LEN);
+ } else
+ LAGG_WUNLOCK(sc);
if (lp->lp_ifflags)
if_printf(ifp, "%s: lp_ifflags unclean\n", __func__);
+ if (lp->lp_detaching == 0) {
+ lagg_setflags(lp, 0);
+ lagg_setcaps(lp, lp->lp_ifcapenable);
+ if_setlladdr(ifp, lp->lp_lladdr, ETHER_ADDR_LEN);
+ }
+
if_rele(ifp);
free(lp, M_DEVBUF);
@@ -973,7 +852,6 @@ lagg_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
struct lagg_softc *sc;
struct lagg_port *lp = NULL;
int error = 0;
- struct rm_priotracker tracker;
/* Should be checked by the caller */
if (ifp->if_type != IFT_IEEE8023ADLAG ||
@@ -988,15 +866,15 @@ lagg_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
}
- LAGG_RLOCK(sc, &tracker);
+ LAGG_SLOCK(sc);
if ((lp = ifp->if_lagg) == NULL || lp->lp_softc != sc) {
error = ENOENT;
- LAGG_RUNLOCK(sc, &tracker);
+ LAGG_SUNLOCK(sc);
break;
}
lagg_port2req(lp, rp);
- LAGG_RUNLOCK(sc, &tracker);
+ LAGG_SUNLOCK(sc);
break;
case SIOCSIFCAP:
@@ -1009,9 +887,10 @@ lagg_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
/* Update lagg interface capabilities */
- LAGG_WLOCK(sc);
+ LAGG_XLOCK(sc);
lagg_capabilities(sc);
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
+ VLAN_CAPABILITIES(sc->sc_ifp);
break;
case SIOCSIFMTU:
@@ -1121,10 +1000,11 @@ lagg_port_ifdetach(void *arg __unused, struct ifnet *ifp)
sc = lp->lp_softc;
- LAGG_WLOCK(sc);
- lp->lp_detaching = LAGG_PORT_DETACH;
+ LAGG_XLOCK(sc);
+ lp->lp_detaching = 1;
lagg_port_destroy(lp, 1);
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
+ VLAN_CAPABILITIES(sc->sc_ifp);
}
static void
@@ -1174,10 +1054,11 @@ lagg_init(void *xsc)
struct ifnet *ifp = sc->sc_ifp;
struct lagg_port *lp;
- if (ifp->if_drv_flags & IFF_DRV_RUNNING)
+ LAGG_XLOCK(sc);
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
+ LAGG_XUNLOCK(sc);
return;
-
- LAGG_WLOCK(sc);
+ }
ifp->if_drv_flags |= IFF_DRV_RUNNING;
@@ -1186,12 +1067,15 @@ lagg_init(void *xsc)
* This might be if_setlladdr() notification
* that lladdr has been changed.
*/
- SLIST_FOREACH(lp, &sc->sc_ports, lp_entries)
- lagg_port_lladdr(lp, IF_LLADDR(ifp), LAGG_LLQTYPE_PHYS);
+ SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) {
+ if (memcmp(IF_LLADDR(ifp), IF_LLADDR(lp->lp_ifp),
+ ETHER_ADDR_LEN) != 0)
+ if_setlladdr(lp->lp_ifp, IF_LLADDR(ifp), ETHER_ADDR_LEN);
+ }
lagg_proto_init(sc);
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
}
static void
@@ -1199,7 +1083,7 @@ lagg_stop(struct lagg_softc *sc)
{
struct ifnet *ifp = sc->sc_ifp;
- LAGG_WLOCK_ASSERT(sc);
+ LAGG_XLOCK_ASSERT(sc);
if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
return;
@@ -1223,22 +1107,14 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
struct thread *td = curthread;
char *buf, *outbuf;
int count, buflen, len, error = 0;
- struct rm_priotracker tracker;
bzero(&rpbuf, sizeof(rpbuf));
switch (cmd) {
case SIOCGLAGG:
- LAGG_RLOCK(sc, &tracker);
- count = 0;
- SLIST_FOREACH(lp, &sc->sc_ports, lp_entries)
- count++;
- buflen = count * sizeof(struct lagg_reqport);
- LAGG_RUNLOCK(sc, &tracker);
-
+ LAGG_SLOCK(sc);
+ buflen = sc->sc_count * sizeof(struct lagg_reqport);
outbuf = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO);
-
- LAGG_RLOCK(sc, &tracker);
ra->ra_proto = sc->sc_proto;
lagg_proto_request(sc, &ra->ra_psc);
count = 0;
@@ -1254,7 +1130,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
buf += sizeof(rpbuf);
len -= sizeof(rpbuf);
}
- LAGG_RUNLOCK(sc, &tracker);
+ LAGG_SUNLOCK(sc);
ra->ra_ports = count;
ra->ra_size = count * sizeof(rpbuf);
error = copyout(outbuf, ra->ra_port, ra->ra_size);
@@ -1269,12 +1145,15 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
}
+ LAGG_XLOCK(sc);
LAGG_WLOCK(sc);
lagg_proto_detach(sc);
LAGG_UNLOCK_ASSERT(sc);
lagg_proto_attach(sc, ra->ra_proto);
+ LAGG_XUNLOCK(sc);
break;
case SIOCGLAGGOPTS:
+ LAGG_SLOCK(sc);
ro->ro_opts = sc->sc_opts;
if (sc->sc_proto == LAGG_PROTO_LACP) {
struct lacp_softc *lsc;
@@ -1298,6 +1177,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
ro->ro_bkt = sc->sc_bkt;
ro->ro_flapping = sc->sc_flapping;
ro->ro_flowid_shift = sc->flowid_shift;
+ LAGG_SUNLOCK(sc);
break;
case SIOCSLAGGOPTS:
if (sc->sc_proto == LAGG_PROTO_ROUNDROBIN) {
@@ -1339,13 +1219,13 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
}
- LAGG_WLOCK(sc);
+ LAGG_XLOCK(sc);
if (valid == 0 ||
(lacp == 1 && sc->sc_proto != LAGG_PROTO_LACP)) {
/* Invalid combination of options specified. */
error = EINVAL;
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
break; /* Return from SIOCSLAGGOPTS. */
}
/*
@@ -1400,18 +1280,18 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
}
}
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
break;
case SIOCGLAGGFLAGS:
rf->rf_flags = 0;
- LAGG_RLOCK(sc, &tracker);
+ LAGG_SLOCK(sc);
if (sc->sc_flags & MBUF_HASHFLAG_L2)
rf->rf_flags |= LAGG_F_HASHL2;
if (sc->sc_flags & MBUF_HASHFLAG_L3)
rf->rf_flags |= LAGG_F_HASHL3;
if (sc->sc_flags & MBUF_HASHFLAG_L4)
rf->rf_flags |= LAGG_F_HASHL4;
- LAGG_RUNLOCK(sc, &tracker);
+ LAGG_SUNLOCK(sc);
break;
case SIOCSLAGGHASH:
error = priv_check(td, PRIV_NET_LAGG);
@@ -1421,7 +1301,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
error = EINVAL;
break;
}
- LAGG_WLOCK(sc);
+ LAGG_XLOCK(sc);
sc->sc_flags = 0;
if (rf->rf_flags & LAGG_F_HASHL2)
sc->sc_flags |= MBUF_HASHFLAG_L2;
@@ -1429,7 +1309,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
sc->sc_flags |= MBUF_HASHFLAG_L3;
if (rf->rf_flags & LAGG_F_HASHL4)
sc->sc_flags |= MBUF_HASHFLAG_L4;
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
break;
case SIOCGLAGGPORT:
if (rp->rp_portname[0] == '\0' ||
@@ -1438,17 +1318,17 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
}
- LAGG_RLOCK(sc, &tracker);
+ LAGG_SLOCK(sc);
if ((lp = (struct lagg_port *)tpif->if_lagg) == NULL ||
lp->lp_softc != sc) {
error = ENOENT;
- LAGG_RUNLOCK(sc, &tracker);
+ LAGG_SUNLOCK(sc);
if_rele(tpif);
break;
}
lagg_port2req(lp, rp);
- LAGG_RUNLOCK(sc, &tracker);
+ LAGG_SUNLOCK(sc);
if_rele(tpif);
break;
case SIOCSLAGGPORT:
@@ -1480,10 +1360,11 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
tpif->if_xname);
}
#endif
- LAGG_WLOCK(sc);
+ LAGG_XLOCK(sc);
error = lagg_port_create(sc, tpif);
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
if_rele(tpif);
+ VLAN_CAPABILITIES(ifp);
break;
case SIOCSLAGGDELPORT:
error = priv_check(td, PRIV_NET_LAGG);
@@ -1495,26 +1376,26 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
}
- LAGG_WLOCK(sc);
+ LAGG_XLOCK(sc);
if ((lp = (struct lagg_port *)tpif->if_lagg) == NULL ||
lp->lp_softc != sc) {
error = ENOENT;
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
if_rele(tpif);
break;
}
error = lagg_port_destroy(lp, 1);
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
if_rele(tpif);
+ VLAN_CAPABILITIES(ifp);
break;
case SIOCSIFFLAGS:
/* Set flags on ports too */
- LAGG_WLOCK(sc);
+ LAGG_XLOCK(sc);
SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) {
lagg_setflags(lp, 1);
}
- LAGG_WUNLOCK(sc);
if (!(ifp->if_flags & IFF_UP) &&
(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
@@ -1522,23 +1403,28 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
* If interface is marked down and it is running,
* then stop and disable it.
*/
- LAGG_WLOCK(sc);
lagg_stop(sc);
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
} else if ((ifp->if_flags & IFF_UP) &&
!(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
/*
* If interface is marked up and it is stopped, then
* start it.
*/
+ LAGG_XUNLOCK(sc);
(*ifp->if_init)(sc);
- }
+ } else
+ LAGG_XUNLOCK(sc);
break;
case SIOCADDMULTI:
case SIOCDELMULTI:
LAGG_WLOCK(sc);
- error = lagg_ether_setmulti(sc);
+ SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) {
+ lagg_clrmulti(lp);
+ lagg_setmulti(lp);
+ }
LAGG_WUNLOCK(sc);
+ error = 0;
break;
case SIOCSIFMEDIA:
case SIOCGIFMEDIA:
@@ -1546,8 +1432,19 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
case SIOCSIFCAP:
+ LAGG_XLOCK(sc);
+ SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) {
+ if (lp->lp_ioctl != NULL)
+ (*lp->lp_ioctl)(lp->lp_ifp, cmd, data);
+ }
+ lagg_capabilities(sc);
+ LAGG_XUNLOCK(sc);
+ VLAN_CAPABILITIES(ifp);
+ error = 0;
+ break;
+
case SIOCSIFMTU:
- /* Do not allow the MTU or caps to be directly changed */
+ /* Do not allow the MTU to be directly changed */
error = EINVAL;
break;
@@ -1559,67 +1456,69 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
}
static int
-lagg_ether_setmulti(struct lagg_softc *sc)
+lagg_setmulti(struct lagg_port *lp)
{
- struct lagg_port *lp;
+ struct lagg_softc *sc = lp->lp_softc;
+ struct ifnet *ifp = lp->lp_ifp;
+ struct ifnet *scifp = sc->sc_ifp;
+ struct lagg_mc *mc;
+ struct ifmultiaddr *ifma;
+ int error;
LAGG_WLOCK_ASSERT(sc);
-
- SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) {
- /* First, remove any existing filter entries. */
- lagg_ether_cmdmulti(lp, 0);
- /* copy all addresses from the lagg interface to the port */
- lagg_ether_cmdmulti(lp, 1);
+ IF_ADDR_WLOCK(scifp);
+ TAILQ_FOREACH(ifma, &scifp->if_multiaddrs, ifma_link) {
+ if (ifma->ifma_addr->sa_family != AF_LINK)
+ continue;
+ mc = malloc(sizeof(struct lagg_mc), M_DEVBUF, M_NOWAIT);
+ if (mc == NULL) {
+ IF_ADDR_WUNLOCK(scifp);
+ return (ENOMEM);
+ }
+ bcopy(ifma->ifma_addr, &mc->mc_addr,
+ ifma->ifma_addr->sa_len);
+ mc->mc_addr.sdl_index = ifp->if_index;
+ mc->mc_ifma = NULL;
+ SLIST_INSERT_HEAD(&lp->lp_mc_head, mc, mc_entries);
+ }
+ IF_ADDR_WUNLOCK(scifp);
+ SLIST_FOREACH (mc, &lp->lp_mc_head, mc_entries) {
+ error = if_addmulti(ifp,
+ (struct sockaddr *)&mc->mc_addr, &mc->mc_ifma);
+ if (error)
+ return (error);
}
return (0);
}
static int
-lagg_ether_cmdmulti(struct lagg_port *lp, int set)
+lagg_clrmulti(struct lagg_port *lp)
{
- struct lagg_softc *sc = lp->lp_softc;
- struct ifnet *ifp = lp->lp_ifp;
- struct ifnet *scifp = sc->sc_ifp;
struct lagg_mc *mc;
- struct ifmultiaddr *ifma;
- int error;
-
- LAGG_WLOCK_ASSERT(sc);
- if (set) {
- IF_ADDR_WLOCK(scifp);
- TAILQ_FOREACH(ifma, &scifp->if_multiaddrs, ifma_link) {
- if (ifma->ifma_addr->sa_family != AF_LINK)
- continue;
- mc = malloc(sizeof(struct lagg_mc), M_DEVBUF, M_NOWAIT);
- if (mc == NULL) {
- IF_ADDR_WUNLOCK(scifp);
- return (ENOMEM);
- }
- bcopy(ifma->ifma_addr, &mc->mc_addr,
- ifma->ifma_addr->sa_len);
- mc->mc_addr.sdl_index = ifp->if_index;
- mc->mc_ifma = NULL;
- SLIST_INSERT_HEAD(&lp->lp_mc_head, mc, mc_entries);
- }
- IF_ADDR_WUNLOCK(scifp);
- SLIST_FOREACH (mc, &lp->lp_mc_head, mc_entries) {
- error = if_addmulti(ifp,
- (struct sockaddr *)&mc->mc_addr, &mc->mc_ifma);
- if (error)
- return (error);
- }
- } else {
- while ((mc = SLIST_FIRST(&lp->lp_mc_head)) != NULL) {
- SLIST_REMOVE(&lp->lp_mc_head, mc, lagg_mc, mc_entries);
- if (mc->mc_ifma && lp->lp_detaching == 0)
- if_delmulti_ifma(mc->mc_ifma);
- free(mc, M_DEVBUF);
- }
+ LAGG_WLOCK_ASSERT(lp->lp_softc);
+ while ((mc = SLIST_FIRST(&lp->lp_mc_head)) != NULL) {
+ SLIST_REMOVE(&lp->lp_mc_head, mc, lagg_mc, mc_entries);
+ if (mc->mc_ifma && lp->lp_detaching == 0)
+ if_delmulti_ifma(mc->mc_ifma);
+ free(mc, M_DEVBUF);
}
return (0);
}
+static int
+lagg_setcaps(struct lagg_port *lp, int cap)
+{
+ struct ifreq ifr;
+
+ if (lp->lp_ifp->if_capenable == cap)
+ return (0);
+ if (lp->lp_ioctl == NULL)
+ return (ENXIO);
+ ifr.ifr_reqcap = cap;
+ return ((*lp->lp_ioctl)(lp->lp_ifp, SIOCSIFCAP, (caddr_t)&ifr));
+}
+
/* Handle a ref counted flag that should be set on the lagg port as well */
static int
lagg_setflag(struct lagg_port *lp, int flag, int status,
@@ -1630,7 +1529,7 @@ lagg_setflag(struct lagg_port *lp, int flag, int status,
struct ifnet *ifp = lp->lp_ifp;
int error;
- LAGG_WLOCK_ASSERT(sc);
+ LAGG_XLOCK_ASSERT(sc);
status = status ? (scifp->if_flags & flag) : 0;
/* Now "status" contains the flag value or 0 */
@@ -1764,17 +1663,16 @@ lagg_media_status(struct ifnet *ifp, struct ifmediareq *imr)
{
struct lagg_softc *sc = (struct lagg_softc *)ifp->if_softc;
struct lagg_port *lp;
- struct rm_priotracker tracker;
imr->ifm_status = IFM_AVALID;
imr->ifm_active = IFM_ETHER | IFM_AUTO;
- LAGG_RLOCK(sc, &tracker);
+ LAGG_SLOCK(sc);
SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) {
if (LAGG_PORTACTIVE(lp))
imr->ifm_status |= IFM_ACTIVE;
}
- LAGG_RUNLOCK(sc, &tracker);
+ LAGG_SUNLOCK(sc);
}
static void
@@ -1784,6 +1682,8 @@ lagg_linkstate(struct lagg_softc *sc)
int new_link = LINK_STATE_DOWN;
uint64_t speed;
+ LAGG_XLOCK_ASSERT(sc);
+
/* Our link is considered up if at least one of our ports is active */
SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) {
if (lp->lp_ifp->if_link_state == LINK_STATE_UP) {
@@ -1824,19 +1724,17 @@ lagg_port_state(struct ifnet *ifp, int state)
if (sc == NULL)
return;
- LAGG_WLOCK(sc);
+ LAGG_XLOCK(sc);
lagg_linkstate(sc);
lagg_proto_linkstate(sc, lp);
- LAGG_WUNLOCK(sc);
+ LAGG_XUNLOCK(sc);
}
struct lagg_port *
lagg_link_active(struct lagg_softc *sc, struct lagg_port *lp)
{
struct lagg_port *lp_next, *rval = NULL;
- // int new_link = LINK_STATE_DOWN;
- LAGG_RLOCK_ASSERT(sc);
/*
* Search a port which reports an active link state.
*/
@@ -1862,22 +1760,6 @@ search:
}
found:
- if (rval != NULL) {
- /*
- * The IEEE 802.1D standard assumes that a lagg with
- * multiple ports is always full duplex. This is valid
- * for load sharing laggs and if at least two links
- * are active. Unfortunately, checking the latter would
- * be too expensive at this point.
- XXX
- if ((sc->sc_capabilities & IFCAP_LAGG_FULLDUPLEX) &&
- (sc->sc_count > 1))
- new_link = LINK_STATE_FULL_DUPLEX;
- else
- new_link = rval->lp_link_state;
- */
- }
-
return (rval);
}
@@ -1894,7 +1776,6 @@ lagg_enqueue(struct ifnet *ifp, struct mbuf *m)
static void
lagg_rr_attach(struct lagg_softc *sc)
{
- sc->sc_capabilities = IFCAP_LAGG_FULLDUPLEX;
sc->sc_seq = 0;
sc->sc_bkt_count = sc->sc_bkt;
}
@@ -2063,9 +1944,6 @@ lagg_lb_attach(struct lagg_softc *sc)
struct lagg_lb *lb;
lb = malloc(sizeof(struct lagg_lb), M_DEVBUF, M_WAITOK | M_ZERO);
-
- sc->sc_capabilities = IFCAP_LAGG_FULLDUPLEX;
-
lb->lb_key = m_ether_tcpip_hash_init();
sc->sc_psc = lb;
@@ -2193,6 +2071,8 @@ lagg_lacp_lladdr(struct lagg_softc *sc)
{
struct lagg_port *lp;
+ LAGG_SXLOCK_ASSERT(sc);
+
/* purge all the lacp ports */
SLIST_FOREACH(lp, &sc->sc_ports, lp_entries)
lacp_port_destroy(lp);
diff --git a/sys/net/if_lagg.h b/sys/net/if_lagg.h
index 81eeeb8..201d909 100644
--- a/sys/net/if_lagg.h
+++ b/sys/net/if_lagg.h
@@ -185,10 +185,6 @@ struct lagg_ifreq {
#define sc_ifflags sc_ifp->if_flags /* flags */
#define sc_ifname sc_ifp->if_xname /* name */
-#define sc_capabilities sc_ifp->if_capabilities /* capabilities */
-
-#define IFCAP_LAGG_MASK 0xffff0000 /* private capabilities */
-#define IFCAP_LAGG_FULLDUPLEX 0x00010000 /* full duplex with >1 ports */
/* Private data used by the loadbalancing protocol */
struct lagg_lb {
@@ -202,19 +198,6 @@ struct lagg_mc {
SLIST_ENTRY(lagg_mc) mc_entries;
};
-typedef enum {
- LAGG_LLQTYPE_PHYS = 0, /* Task related to physical (underlying) port */
- LAGG_LLQTYPE_VIRT, /* Task related to lagg interface itself */
-} lagg_llqtype;
-
-/* List of interfaces to have the MAC address modified */
-struct lagg_llq {
- struct ifnet *llq_ifp;
- uint8_t llq_lladdr[ETHER_ADDR_LEN];
- lagg_llqtype llq_type;
- SLIST_ENTRY(lagg_llq) llq_entries;
-};
-
struct lagg_counters {
uint64_t val[IFCOUNTERS];
};
@@ -222,6 +205,7 @@ struct lagg_counters {
struct lagg_softc {
struct ifnet *sc_ifp; /* virtual interface */
struct rmlock sc_mtx;
+ struct sx sc_sx;
int sc_proto; /* lagg protocol */
u_int sc_count; /* number of ports */
u_int sc_active; /* active port count */
@@ -232,13 +216,11 @@ struct lagg_softc {
void *sc_psc; /* protocol data */
uint32_t sc_seq; /* sequence counter */
uint32_t sc_flags;
+ int sc_destroying; /* destroying lagg */
SLIST_HEAD(__tplhd, lagg_port) sc_ports; /* list of interfaces */
SLIST_ENTRY(lagg_softc) sc_entries;
- struct task sc_lladdr_task;
- SLIST_HEAD(__llqhd, lagg_llq) sc_llq_head; /* interfaces to program
- the lladdr on */
eventhandler_tag vlan_attach;
eventhandler_tag vlan_detach;
struct callout sc_callout;
@@ -258,12 +240,10 @@ struct lagg_port {
uint32_t lp_prio; /* port priority */
uint32_t lp_flags; /* port flags */
int lp_ifflags; /* saved ifp flags */
+ int lp_ifcapenable; /* saved ifp capenable */
void *lh_cookie; /* if state hook */
void *lp_psc; /* protocol data */
int lp_detaching; /* ifnet is detaching */
-#define LAGG_PORT_DETACH 0x01 /* detach lagg port */
-#define LAGG_CLONE_DESTROY 0x02 /* destroy lagg clone */
-
SLIST_HEAD(__mclhd, lagg_mc) lp_mc_head; /* multicast addresses */
/* Redirected callbacks */
@@ -285,6 +265,16 @@ struct lagg_port {
#define LAGG_WLOCK_ASSERT(_sc) rm_assert(&(_sc)->sc_mtx, RA_WLOCKED)
#define LAGG_UNLOCK_ASSERT(_sc) rm_assert(&(_sc)->sc_mtx, RA_UNLOCKED)
+#define LAGG_SX_INIT(_sc) sx_init(&(_sc)->sc_sx, "if_lagg sx")
+#define LAGG_SX_DESTROY(_sc) sx_destroy(&(_sc)->sc_sx)
+#define LAGG_SLOCK(_sc) sx_slock(&(_sc)->sc_sx)
+#define LAGG_XLOCK(_sc) sx_xlock(&(_sc)->sc_sx)
+#define LAGG_SUNLOCK(_sc) sx_sunlock(&(_sc)->sc_sx)
+#define LAGG_XUNLOCK(_sc) sx_xunlock(&(_sc)->sc_sx)
+#define LAGG_SXLOCK_ASSERT(_sc) sx_assert(&(_sc)->sc_sx, SA_LOCKED)
+#define LAGG_SLOCK_ASSERT(_sc) sx_assert(&(_sc)->sc_sx, SA_SLOCKED)
+#define LAGG_XLOCK_ASSERT(_sc) sx_assert(&(_sc)->sc_sx, SA_XLOCKED)
+
extern struct mbuf *(*lagg_input_p)(struct ifnet *, struct mbuf *);
extern void (*lagg_linkstate_p)(struct ifnet *, int );
diff --git a/sys/net/if_media.h b/sys/net/if_media.h
index 8643995..16ff505 100644
--- a/sys/net/if_media.h
+++ b/sys/net/if_media.h
@@ -196,6 +196,10 @@ uint64_t ifmedia_baudrate(int);
#define IFM_25G_SR IFM_X(55) /* 25GBase-SR */
#define IFM_50G_CR2 IFM_X(56) /* 50GBase-CR2 */
#define IFM_50G_KR2 IFM_X(57) /* 50GBase-KR2 */
+#define IFM_25G_LR IFM_X(58) /* 25GBase-LR */
+#define IFM_10G_AOC IFM_X(59) /* 10G active optical cable */
+#define IFM_25G_ACC IFM_X(60) /* 25G active copper cable */
+#define IFM_25G_AOC IFM_X(61) /* 25G active optical cable */
/*
* Please update ieee8023ad_lacp.c:lacp_compose_key()
@@ -447,6 +451,10 @@ struct ifmedia_description {
{ IFM_25G_SR, "25GBase-SR" }, \
{ IFM_50G_CR2, "50GBase-CR2" }, \
{ IFM_50G_KR2, "50GBase-KR2" }, \
+ { IFM_25G_LR, "25GBase-LR" }, \
+ { IFM_10G_AOC, "10GBase-AOC" }, \
+ { IFM_25G_ACC, "25GBase-ACC" }, \
+ { IFM_25G_AOC, "25GBase-AOC" }, \
{ 0, NULL }, \
}
@@ -775,6 +783,10 @@ struct ifmedia_baudrate {
{ IFM_ETHER | IFM_25G_SR, IF_Gbps(25ULL) }, \
{ IFM_ETHER | IFM_50G_CR2, IF_Gbps(50ULL) }, \
{ IFM_ETHER | IFM_50G_KR2, IF_Gbps(50ULL) }, \
+ { IFM_ETHER | IFM_25G_LR, IF_Gbps(25ULL) }, \
+ { IFM_ETHER | IFM_10G_AOC, IF_Gbps(10ULL) }, \
+ { IFM_ETHER | IFM_25G_ACC, IF_Gbps(25ULL) }, \
+ { IFM_ETHER | IFM_25G_AOC, IF_Gbps(25ULL) }, \
\
{ IFM_TOKEN | IFM_TOK_STP4, IF_Mbps(4) }, \
{ IFM_TOKEN | IFM_TOK_STP16, IF_Mbps(16) }, \
diff --git a/sys/net/if_var.h b/sys/net/if_var.h
index 89fc2d83..765fc99 100644
--- a/sys/net/if_var.h
+++ b/sys/net/if_var.h
@@ -311,7 +311,8 @@ struct ifnet {
* that structure can be enhanced without changing the kernel
* binary interface.
*/
- void *if_pspare[4]; /* packet pacing / general use */
+ void *if_pspare[3]; /* packet pacing / general use */
+ void *if_hw_addr; /* hardware link-level address */
int if_ispare[4]; /* packet pacing / general use */
};
@@ -608,6 +609,7 @@ int if_gethwassist(if_t ifp);
int if_setsoftc(if_t ifp, void *softc);
void *if_getsoftc(if_t ifp);
int if_setflags(if_t ifp, int flags);
+int if_gethwaddr(if_t ifp, struct ifreq *);
int if_setmtu(if_t ifp, int mtu);
int if_getmtu(if_t ifp);
int if_getmtu_family(if_t ifp, int family);
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c
index 223b823..0af2128 100644
--- a/sys/net/if_vlan.c
+++ b/sys/net/if_vlan.c
@@ -112,6 +112,7 @@ struct ifvlan {
#define PARENT(ifv) ((ifv)->ifv_trunk->parent)
void *ifv_cookie;
int ifv_pflags; /* special flags we have set on parent */
+ int ifv_capenable;
struct ifv_linkmib {
int ifvm_encaplen; /* encapsulation length */
int ifvm_mtufudge; /* MTU fudged by this much */
@@ -468,6 +469,7 @@ trunk_destroy(struct ifvlantrunk *trunk)
trunk->parent->if_vlantrunk = NULL;
TRUNK_UNLOCK(trunk);
TRUNK_LOCK_DESTROY(trunk);
+ if_rele(trunk->parent);
free(trunk, M_VLAN);
}
@@ -842,16 +844,20 @@ vlan_clone_match_ethervid(const char *name, int *vidp)
if ((cp = strchr(ifname, '.')) == NULL)
return (NULL);
*cp = '\0';
- if ((ifp = ifunit(ifname)) == NULL)
+ if ((ifp = ifunit_ref(ifname)) == NULL)
return (NULL);
/* Parse VID. */
- if (*++cp == '\0')
+ if (*++cp == '\0') {
+ if_rele(ifp);
return (NULL);
+ }
vid = 0;
for(; *cp >= '0' && *cp <= '9'; cp++)
vid = (vid * 10) + (*cp - '0');
- if (*cp != '\0')
+ if (*cp != '\0') {
+ if_rele(ifp);
return (NULL);
+ }
if (vidp != NULL)
*vidp = vid;
@@ -884,7 +890,6 @@ vlan_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params)
int unit;
int error;
int vid;
- int ethertag;
struct ifvlan *ifv;
struct ifnet *ifp;
struct ifnet *p;
@@ -909,23 +914,21 @@ vlan_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params)
error = copyin(params, &vlr, sizeof(vlr));
if (error)
return error;
- p = ifunit(vlr.vlr_parent);
+ p = ifunit_ref(vlr.vlr_parent);
if (p == NULL)
return (ENXIO);
error = ifc_name2unit(name, &unit);
- if (error != 0)
+ if (error != 0) {
+ if_rele(p);
return (error);
-
- ethertag = 1;
+ }
vid = vlr.vlr_tag;
wildcard = (unit < 0);
} else if ((p = vlan_clone_match_ethervid(name, &vid)) != NULL) {
- ethertag = 1;
unit = -1;
wildcard = 0;
} else {
- ethertag = 0;
-
+ p = NULL;
error = ifc_name2unit(name, &unit);
if (error != 0)
return (error);
@@ -934,8 +937,11 @@ vlan_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params)
}
error = ifc_alloc_unit(ifc, &unit);
- if (error != 0)
+ if (error != 0) {
+ if (p != NULL)
+ if_rele(p);
return (error);
+ }
/* In the wildcard case, we need to update the name. */
if (wildcard) {
@@ -951,6 +957,8 @@ vlan_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params)
if (ifp == NULL) {
ifc_free_unit(ifc, unit);
free(ifv, M_VLAN);
+ if (p != NULL)
+ if_rele(p);
return (ENOSPC);
}
SLIST_INIT(&ifv->vlan_mc_listhead);
@@ -981,8 +989,9 @@ vlan_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params)
sdl = (struct sockaddr_dl *)ifa->ifa_addr;
sdl->sdl_type = IFT_L2VLAN;
- if (ethertag) {
+ if (p != NULL) {
error = vlan_config(ifv, p, vid);
+ if_rele(p);
if (error != 0) {
/*
* Since we've partially failed, we need to back
@@ -1269,6 +1278,7 @@ vlan_config(struct ifvlan *ifv, struct ifnet *p, uint16_t vid)
TRUNK_LOCK(trunk);
p->if_vlantrunk = trunk;
trunk->parent = p;
+ if_ref(trunk->parent);
} else {
VLAN_LOCK();
exists:
@@ -1286,6 +1296,7 @@ exists:
ifv->ifv_encaplen = ETHER_VLAN_ENCAP_LEN;
ifv->ifv_mintu = ETHERMIN;
ifv->ifv_pflags = 0;
+ ifv->ifv_capenable = -1;
/*
* If the parent supports the VLAN_MTU capability,
@@ -1537,9 +1548,14 @@ vlan_capabilities(struct ifvlan *ifv)
struct ifnet *p = PARENT(ifv);
struct ifnet *ifp = ifv->ifv_ifp;
struct ifnet_hw_tsomax hw_tsomax;
+ int cap = 0, ena = 0, mena;
+ u_long hwa = 0;
TRUNK_LOCK_ASSERT(TRUNK(ifv));
+ /* Mask parent interface enabled capabilities disabled by user. */
+ mena = p->if_capenable & ifv->ifv_capenable;
+
/*
* If the parent interface can do checksum offloading
* on VLANs, then propagate its hardware-assisted
@@ -1547,20 +1563,18 @@ vlan_capabilities(struct ifvlan *ifv)
* offloading requires hardware VLAN tagging.
*/
if (p->if_capabilities & IFCAP_VLAN_HWCSUM)
- ifp->if_capabilities =
- p->if_capabilities & (IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6);
-
+ cap |= p->if_capabilities & (IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6);
if (p->if_capenable & IFCAP_VLAN_HWCSUM &&
p->if_capenable & IFCAP_VLAN_HWTAGGING) {
- ifp->if_capenable =
- p->if_capenable & (IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6);
- ifp->if_hwassist = p->if_hwassist & (CSUM_IP | CSUM_TCP |
- CSUM_UDP | CSUM_SCTP | CSUM_TCP_IPV6 | CSUM_UDP_IPV6 |
- CSUM_SCTP_IPV6);
- } else {
- ifp->if_capenable = 0;
- ifp->if_hwassist = 0;
+ ena |= mena & (IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6);
+ if (ena & IFCAP_TXCSUM)
+ hwa |= p->if_hwassist & (CSUM_IP | CSUM_TCP |
+ CSUM_UDP | CSUM_SCTP);
+ if (ena & IFCAP_TXCSUM_IPV6)
+ hwa |= p->if_hwassist & (CSUM_TCP_IPV6 |
+ CSUM_UDP_IPV6 | CSUM_SCTP_IPV6);
}
+
/*
* If the parent interface can do TSO on VLANs then
* propagate the hardware-assisted flag. TSO on VLANs
@@ -1570,16 +1584,24 @@ vlan_capabilities(struct ifvlan *ifv)
if_hw_tsomax_common(p, &hw_tsomax);
if_hw_tsomax_update(ifp, &hw_tsomax);
if (p->if_capabilities & IFCAP_VLAN_HWTSO)
- ifp->if_capabilities |= p->if_capabilities & IFCAP_TSO;
+ cap |= p->if_capabilities & IFCAP_TSO;
if (p->if_capenable & IFCAP_VLAN_HWTSO) {
- ifp->if_capenable |= p->if_capenable & IFCAP_TSO;
- ifp->if_hwassist |= p->if_hwassist & CSUM_TSO;
- } else {
- ifp->if_capenable &= ~(p->if_capenable & IFCAP_TSO);
- ifp->if_hwassist &= ~(p->if_hwassist & CSUM_TSO);
+ ena |= mena & IFCAP_TSO;
+ if (ena & IFCAP_TSO)
+ hwa |= p->if_hwassist & CSUM_TSO;
}
/*
+ * If the parent interface can do LRO and checksum offloading on
+ * VLANs, then guess it may do LRO on VLANs. False positive here
+ * cost nothing, while false negative may lead to some confusions.
+ */
+ if (p->if_capabilities & IFCAP_VLAN_HWCSUM)
+ cap |= p->if_capabilities & IFCAP_LRO;
+ if (p->if_capenable & IFCAP_VLAN_HWCSUM)
+ ena |= p->if_capenable & IFCAP_LRO;
+
+ /*
* If the parent interface can offload TCP connections over VLANs then
* propagate its TOE capability to the VLAN interface.
*
@@ -1589,11 +1611,22 @@ vlan_capabilities(struct ifvlan *ifv)
*/
#define IFCAP_VLAN_TOE IFCAP_TOE
if (p->if_capabilities & IFCAP_VLAN_TOE)
- ifp->if_capabilities |= p->if_capabilities & IFCAP_TOE;
+ cap |= p->if_capabilities & IFCAP_TOE;
if (p->if_capenable & IFCAP_VLAN_TOE) {
TOEDEV(ifp) = TOEDEV(p);
- ifp->if_capenable |= p->if_capenable & IFCAP_TOE;
+ ena |= mena & IFCAP_TOE;
}
+
+ /*
+ * If the parent interface supports dynamic link state, so does the
+ * VLAN interface.
+ */
+ cap |= (p->if_capabilities & IFCAP_LINKSTATE);
+ ena |= (mena & IFCAP_LINKSTATE);
+
+ ifp->if_capabilities = cap;
+ ifp->if_capenable = ena;
+ ifp->if_hwassist = hwa;
}
static void
@@ -1652,8 +1685,10 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
VLAN_LOCK();
if (TRUNK(ifv) != NULL) {
p = PARENT(ifv);
+ if_ref(p);
VLAN_UNLOCK();
error = (*p->if_ioctl)(p, SIOCGIFMEDIA, data);
+ if_rele(p);
/* Limit the result to the parent's current config. */
if (error == 0) {
struct ifmediareq *ifmr;
@@ -1715,12 +1750,13 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
vlan_unconfig(ifp);
break;
}
- p = ifunit(vlr.vlr_parent);
+ p = ifunit_ref(vlr.vlr_parent);
if (p == NULL) {
error = ENOENT;
break;
}
error = vlan_config(ifv, p, vlr.vlr_tag);
+ if_rele(p);
if (error)
break;
@@ -1797,6 +1833,18 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
vlan_tag_recalculate(ifv);
break;
+ case SIOCSIFCAP:
+ VLAN_LOCK();
+ ifv->ifv_capenable = ifr->ifr_reqcap;
+ trunk = TRUNK(ifv);
+ if (trunk != NULL) {
+ TRUNK_LOCK(trunk);
+ vlan_capabilities(ifv);
+ TRUNK_UNLOCK(trunk);
+ }
+ VLAN_UNLOCK();
+ break;
+
default:
error = EINVAL;
break;
diff --git a/sys/net/iflib.c b/sys/net/iflib.c
index a2b453d..21d5095 100644
--- a/sys/net/iflib.c
+++ b/sys/net/iflib.c
@@ -4633,7 +4633,6 @@ iflib_msix_init(if_ctx_t ctx)
/*
* bar == -1 => "trust me I know what I'm doing"
- * https://www.youtube.com/watch?v=nnwWKkNau4I
* Some drivers are for hardware that is so shoddily
* documented that no one knows which bars are which
* so the developer has to map all bars. This hack
diff --git a/sys/net/route.c b/sys/net/route.c
index 5c6d526..3652eb4 100644
--- a/sys/net/route.c
+++ b/sys/net/route.c
@@ -454,18 +454,23 @@ rtalloc1_fib(struct sockaddr *dst, int report, u_long ignflags,
/*
* Look up the address in the table for that Address Family
*/
- RIB_RLOCK(rh);
+ if ((ignflags & RTF_RNH_LOCKED) == 0)
+ RIB_RLOCK(rh);
+#ifdef INVARIANTS
+ else
+ RIB_LOCK_ASSERT(rh);
+#endif
rn = rh->rnh_matchaddr(dst, &rh->head);
if (rn && ((rn->rn_flags & RNF_ROOT) == 0)) {
newrt = RNTORT(rn);
RT_LOCK(newrt);
RT_ADDREF(newrt);
- RIB_RUNLOCK(rh);
+ if ((ignflags & RTF_RNH_LOCKED) == 0)
+ RIB_RUNLOCK(rh);
return (newrt);
- } else
+ } else if ((ignflags & RTF_RNH_LOCKED) == 0)
RIB_RUNLOCK(rh);
-
/*
* Either we hit the root or could not find any match,
* which basically means: "cannot get there from here".
@@ -748,7 +753,9 @@ ifa_ifwithroute(int flags, const struct sockaddr *dst, struct sockaddr *gateway,
if (ifa == NULL)
ifa = ifa_ifwithnet(gateway, 0, fibnum);
if (ifa == NULL) {
- struct rtentry *rt = rtalloc1_fib(gateway, 0, 0, fibnum);
+ struct rtentry *rt;
+
+ rt = rtalloc1_fib(gateway, 0, flags, fibnum);
if (rt == NULL)
return (NULL);
/*
@@ -1838,8 +1845,13 @@ rtrequest1_fib_change(struct rib_head *rnh, struct rt_addrinfo *info,
info->rti_info[RTAX_IFP] != NULL ||
(info->rti_info[RTAX_IFA] != NULL &&
!sa_equal(info->rti_info[RTAX_IFA], rt->rt_ifa->ifa_addr))) {
-
+ /*
+ * XXX: Temporarily set RTF_RNH_LOCKED flag in the rti_flags
+ * to avoid rlock in the ifa_ifwithroute().
+ */
+ info->rti_flags |= RTF_RNH_LOCKED;
error = rt_getifa_fib(info, fibnum);
+ info->rti_flags &= ~RTF_RNH_LOCKED;
if (info->rti_ifa != NULL)
free_ifa = 1;
diff --git a/sys/net/route.h b/sys/net/route.h
index b6aa36d..d76ed70 100644
--- a/sys/net/route.h
+++ b/sys/net/route.h
@@ -189,7 +189,7 @@ struct rtentry {
/* 0x8000000 and up unassigned */
#define RTF_STICKY 0x10000000 /* always route dst->src */
-#define RTF_RNH_LOCKED 0x40000000 /* unused */
+#define RTF_RNH_LOCKED 0x40000000 /* radix node head is locked */
#define RTF_GWFLAG_COMPAT 0x80000000 /* a compatibility bit for interacting
with existing routing apps */
diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c
index 4d4572f..fcb7c3e 100644
--- a/sys/netinet/ip_divert.c
+++ b/sys/netinet/ip_divert.c
@@ -489,6 +489,14 @@ div_output(struct socket *so, struct mbuf *m, struct sockaddr_in *sin,
/* Send packet to input processing via netisr */
switch (ip->ip_v) {
case IPVERSION:
+ /*
+ * Restore M_BCAST flag when destination address is
+ * broadcast. It is expected by ip_tryforward().
+ */
+ if (IN_MULTICAST(ntohl(ip->ip_dst.s_addr)))
+ m->m_flags |= M_MCAST;
+ else if (in_broadcast(ip->ip_dst, m->m_pkthdr.rcvif))
+ m->m_flags |= M_BCAST;
netisr_queue_src(NETISR_IP, (uintptr_t)so, m);
break;
#ifdef INET6
diff --git a/sys/netinet/libalias/alias.c b/sys/netinet/libalias/alias.c
index bd36604..dc46d4d 100644
--- a/sys/netinet/libalias/alias.c
+++ b/sys/netinet/libalias/alias.c
@@ -699,12 +699,14 @@ ProtoAliasOut(struct libalias *la, struct in_addr *ip_src,
struct alias_link *lnk;
LIBALIAS_LOCK_ASSERT(la);
- (void)create;
/* Return if proxy-only mode is enabled */
if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
return (PKT_ALIAS_OK);
+ if (!create)
+ return (PKT_ALIAS_IGNORED);
+
lnk = FindProtoOut(la, *ip_src, ip_dst, ip_p);
if (lnk != NULL) {
struct in_addr alias_address;
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c
index 661bbf4..b79bbd0 100644
--- a/sys/netinet/raw_ip.c
+++ b/sys/netinet/raw_ip.c
@@ -507,7 +507,7 @@ rip_output(struct mbuf *m, struct socket *so, ...)
* and don't allow packet length sizes that will crash.
*/
if (((ip->ip_hl != (sizeof (*ip) >> 2)) && inp->inp_options)
- || (ntohs(ip->ip_len) > m->m_pkthdr.len)
+ || (ntohs(ip->ip_len) != m->m_pkthdr.len)
|| (ntohs(ip->ip_len) < (ip->ip_hl << 2))) {
INP_RUNLOCK(inp);
m_freem(m);
diff --git a/sys/netinet/sctp_auth.c b/sys/netinet/sctp_auth.c
index e4abc97..959675d 100644
--- a/sys/netinet/sctp_auth.c
+++ b/sys/netinet/sctp_auth.c
@@ -1434,7 +1434,7 @@ sctp_auth_get_cookie_params(struct sctp_tcb *stcb, struct mbuf *m,
if (plen > sizeof(random_store))
break;
phdr = sctp_get_next_param(m, offset,
- (struct sctp_paramhdr *)random_store, min(plen, sizeof(random_store)));
+ (struct sctp_paramhdr *)random_store, plen);
if (phdr == NULL)
return;
/* save the random and length for the key */
@@ -1447,7 +1447,7 @@ sctp_auth_get_cookie_params(struct sctp_tcb *stcb, struct mbuf *m,
if (plen > sizeof(hmacs_store))
break;
phdr = sctp_get_next_param(m, offset,
- (struct sctp_paramhdr *)hmacs_store, min(plen, sizeof(hmacs_store)));
+ (struct sctp_paramhdr *)hmacs_store, plen);
if (phdr == NULL)
return;
/* save the hmacs list and num for the key */
@@ -1469,7 +1469,7 @@ sctp_auth_get_cookie_params(struct sctp_tcb *stcb, struct mbuf *m,
if (plen > sizeof(chunks_store))
break;
phdr = sctp_get_next_param(m, offset,
- (struct sctp_paramhdr *)chunks_store, min(plen, sizeof(chunks_store)));
+ (struct sctp_paramhdr *)chunks_store, plen);
if (phdr == NULL)
return;
chunks = (struct sctp_auth_chunk_list *)phdr;
@@ -1814,7 +1814,7 @@ sctp_notify_authentication(struct sctp_tcb *stcb, uint32_t indication,
int
sctp_validate_init_auth_params(struct mbuf *m, int offset, int limit)
{
- struct sctp_paramhdr *phdr, parm_buf;
+ struct sctp_paramhdr *phdr, param_buf;
uint16_t ptype, plen;
int peer_supports_asconf = 0;
int peer_supports_auth = 0;
@@ -1823,7 +1823,7 @@ sctp_validate_init_auth_params(struct mbuf *m, int offset, int limit)
uint8_t saw_asconf_ack = 0;
/* go through each of the params. */
- phdr = sctp_get_next_param(m, offset, &parm_buf, sizeof(parm_buf));
+ phdr = sctp_get_next_param(m, offset, &param_buf, sizeof(param_buf));
while (phdr) {
ptype = ntohs(phdr->param_type);
plen = ntohs(phdr->param_length);
@@ -1837,11 +1837,15 @@ sctp_validate_init_auth_params(struct mbuf *m, int offset, int limit)
if (ptype == SCTP_SUPPORTED_CHUNK_EXT) {
/* A supported extension chunk */
struct sctp_supported_chunk_types_param *pr_supported;
- uint8_t local_store[SCTP_PARAM_BUFFER_SIZE];
+ uint8_t local_store[SCTP_SMALL_CHUNK_STORE];
int num_ent, i;
+ if (plen > sizeof(local_store)) {
+ break;
+ }
phdr = sctp_get_next_param(m, offset,
- (struct sctp_paramhdr *)&local_store, min(plen, sizeof(local_store)));
+ (struct sctp_paramhdr *)&local_store,
+ plen);
if (phdr == NULL) {
return (-1);
}
@@ -1859,7 +1863,6 @@ sctp_validate_init_auth_params(struct mbuf *m, int offset, int limit)
}
}
} else if (ptype == SCTP_RANDOM) {
- got_random = 1;
/* enforce the random length */
if (plen != (sizeof(struct sctp_auth_random) +
SCTP_AUTH_RANDOM_SIZE_REQUIRED)) {
@@ -1867,20 +1870,23 @@ sctp_validate_init_auth_params(struct mbuf *m, int offset, int limit)
"SCTP: invalid RANDOM len\n");
return (-1);
}
+ got_random = 1;
} else if (ptype == SCTP_HMAC_LIST) {
- uint8_t store[SCTP_PARAM_BUFFER_SIZE];
struct sctp_auth_hmac_algo *hmacs;
+ uint8_t store[SCTP_PARAM_BUFFER_SIZE];
int num_hmacs;
- if (plen > sizeof(store))
+ if (plen > sizeof(store)) {
break;
+ }
phdr = sctp_get_next_param(m, offset,
- (struct sctp_paramhdr *)store, min(plen, sizeof(store)));
- if (phdr == NULL)
+ (struct sctp_paramhdr *)store,
+ plen);
+ if (phdr == NULL) {
return (-1);
+ }
hmacs = (struct sctp_auth_hmac_algo *)phdr;
- num_hmacs = (plen - sizeof(*hmacs)) /
- sizeof(hmacs->hmac_ids[0]);
+ num_hmacs = (plen - sizeof(*hmacs)) / sizeof(hmacs->hmac_ids[0]);
/* validate the hmac list */
if (sctp_verify_hmac_param(hmacs, num_hmacs)) {
SCTPDBG(SCTP_DEBUG_AUTH1,
@@ -1889,18 +1895,19 @@ sctp_validate_init_auth_params(struct mbuf *m, int offset, int limit)
}
got_hmacs = 1;
} else if (ptype == SCTP_CHUNK_LIST) {
- int i, num_chunks;
+ struct sctp_auth_chunk_list *chunks;
uint8_t chunks_store[SCTP_SMALL_CHUNK_STORE];
+ int i, num_chunks;
- /* did the peer send a non-empty chunk list? */
- struct sctp_auth_chunk_list *chunks = NULL;
-
+ if (plen > sizeof(chunks_store)) {
+ break;
+ }
phdr = sctp_get_next_param(m, offset,
(struct sctp_paramhdr *)chunks_store,
- min(plen, sizeof(chunks_store)));
- if (phdr == NULL)
+ plen);
+ if (phdr == NULL) {
return (-1);
-
+ }
/*-
* Flip through the list and mark that the
* peer supports asconf/asconf_ack.
@@ -1922,8 +1929,8 @@ sctp_validate_init_auth_params(struct mbuf *m, int offset, int limit)
if (offset >= limit) {
break;
}
- phdr = sctp_get_next_param(m, offset, &parm_buf,
- sizeof(parm_buf));
+ phdr = sctp_get_next_param(m, offset, &param_buf,
+ sizeof(param_buf));
}
/* validate authentication required parameters */
if (got_random && got_hmacs) {
diff --git a/sys/netinet/sctp_constants.h b/sys/netinet/sctp_constants.h
index e779051..dca34cc 100644
--- a/sys/netinet/sctp_constants.h
+++ b/sys/netinet/sctp_constants.h
@@ -758,7 +758,7 @@ __FBSDID("$FreeBSD$");
#define SCTP_DEFAULT_SPLIT_POINT_MIN 2904
/* Maximum length of diagnostic information in error causes */
-#define SCTP_DIAG_INFO_LEN 64
+#define SCTP_DIAG_INFO_LEN 128
/* ABORT CODES and other tell-tale location
* codes are generated by adding the below
diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c
index 956b159..360013c 100644
--- a/sys/netinet/sctp_input.c
+++ b/sys/netinet/sctp_input.c
@@ -2444,6 +2444,12 @@ sctp_handle_cookie_echo(struct mbuf *m, int iphlen, int offset,
cookie_offset = offset + sizeof(struct sctp_chunkhdr);
cookie_len = ntohs(cp->ch.chunk_length);
+ if (cookie_len < sizeof(struct sctp_cookie_echo_chunk) +
+ sizeof(struct sctp_init_chunk) +
+ sizeof(struct sctp_init_ack_chunk) + SCTP_SIGNATURE_SIZE) {
+ /* cookie too small */
+ return (NULL);
+ }
if ((cookie->peerport != sh->src_port) ||
(cookie->myport != sh->dest_port) ||
(cookie->my_vtag != sh->v_tag)) {
@@ -2456,12 +2462,6 @@ sctp_handle_cookie_echo(struct mbuf *m, int iphlen, int offset,
*/
return (NULL);
}
- if (cookie_len < sizeof(struct sctp_cookie_echo_chunk) +
- sizeof(struct sctp_init_chunk) +
- sizeof(struct sctp_init_ack_chunk) + SCTP_SIGNATURE_SIZE) {
- /* cookie too small */
- return (NULL);
- }
/*
* split off the signature into its own mbuf (since it should not be
* calculated in the sctp_hmac_m() call).
@@ -3620,7 +3620,7 @@ sctp_handle_stream_reset_response(struct sctp_tcb *stcb,
struct sctp_stream_reset_response *respin)
{
uint16_t type;
- int lparm_len;
+ int lparam_len;
struct sctp_association *asoc = &stcb->asoc;
struct sctp_tmit_chunk *chk;
struct sctp_stream_reset_request *req_param;
@@ -3637,12 +3637,12 @@ sctp_handle_stream_reset_response(struct sctp_tcb *stcb,
if (req_param != NULL) {
stcb->asoc.str_reset_seq_out++;
type = ntohs(req_param->ph.param_type);
- lparm_len = ntohs(req_param->ph.param_length);
+ lparam_len = ntohs(req_param->ph.param_length);
if (type == SCTP_STR_RESET_OUT_REQUEST) {
int no_clear = 0;
req_out_param = (struct sctp_stream_reset_out_request *)req_param;
- number_entries = (lparm_len - sizeof(struct sctp_stream_reset_out_request)) / sizeof(uint16_t);
+ number_entries = (lparam_len - sizeof(struct sctp_stream_reset_out_request)) / sizeof(uint16_t);
asoc->stream_reset_out_is_outstanding = 0;
if (asoc->stream_reset_outstanding)
asoc->stream_reset_outstanding--;
@@ -3668,7 +3668,7 @@ sctp_handle_stream_reset_response(struct sctp_tcb *stcb,
}
} else if (type == SCTP_STR_RESET_IN_REQUEST) {
req_in_param = (struct sctp_stream_reset_in_request *)req_param;
- number_entries = (lparm_len - sizeof(struct sctp_stream_reset_in_request)) / sizeof(uint16_t);
+ number_entries = (lparam_len - sizeof(struct sctp_stream_reset_in_request)) / sizeof(uint16_t);
if (asoc->stream_reset_outstanding)
asoc->stream_reset_outstanding--;
if (action == SCTP_STREAM_RESET_RESULT_DENIED) {
diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c
index 21f9e91..e04486c 100644
--- a/sys/netinet/sctp_output.c
+++ b/sys/netinet/sctp_output.c
@@ -1940,7 +1940,7 @@ static struct mbuf *
sctp_add_addr_to_mbuf(struct mbuf *m, struct sctp_ifa *ifa, uint16_t *len)
{
#if defined(INET) || defined(INET6)
- struct sctp_paramhdr *parmh;
+ struct sctp_paramhdr *paramh;
struct mbuf *mret;
uint16_t plen;
#endif
@@ -1962,7 +1962,7 @@ sctp_add_addr_to_mbuf(struct mbuf *m, struct sctp_ifa *ifa, uint16_t *len)
#if defined(INET) || defined(INET6)
if (M_TRAILINGSPACE(m) >= plen) {
/* easy side we just drop it on the end */
- parmh = (struct sctp_paramhdr *)(SCTP_BUF_AT(m, SCTP_BUF_LEN(m)));
+ paramh = (struct sctp_paramhdr *)(SCTP_BUF_AT(m, SCTP_BUF_LEN(m)));
mret = m;
} else {
/* Need more space */
@@ -1976,7 +1976,7 @@ sctp_add_addr_to_mbuf(struct mbuf *m, struct sctp_ifa *ifa, uint16_t *len)
return (m);
}
mret = SCTP_BUF_NEXT(mret);
- parmh = mtod(mret, struct sctp_paramhdr *);
+ paramh = mtod(mret, struct sctp_paramhdr *);
}
/* now add the parameter */
switch (ifa->address.sa.sa_family) {
@@ -1987,9 +1987,9 @@ sctp_add_addr_to_mbuf(struct mbuf *m, struct sctp_ifa *ifa, uint16_t *len)
struct sockaddr_in *sin;
sin = &ifa->address.sin;
- ipv4p = (struct sctp_ipv4addr_param *)parmh;
- parmh->param_type = htons(SCTP_IPV4_ADDRESS);
- parmh->param_length = htons(plen);
+ ipv4p = (struct sctp_ipv4addr_param *)paramh;
+ paramh->param_type = htons(SCTP_IPV4_ADDRESS);
+ paramh->param_length = htons(plen);
ipv4p->addr = sin->sin_addr.s_addr;
SCTP_BUF_LEN(mret) += plen;
break;
@@ -2002,9 +2002,9 @@ sctp_add_addr_to_mbuf(struct mbuf *m, struct sctp_ifa *ifa, uint16_t *len)
struct sockaddr_in6 *sin6;
sin6 = &ifa->address.sin6;
- ipv6p = (struct sctp_ipv6addr_param *)parmh;
- parmh->param_type = htons(SCTP_IPV6_ADDRESS);
- parmh->param_length = htons(plen);
+ ipv6p = (struct sctp_ipv6addr_param *)paramh;
+ paramh->param_type = htons(SCTP_IPV6_ADDRESS);
+ paramh->param_length = htons(plen);
memcpy(ipv6p->addr, &sin6->sin6_addr,
sizeof(ipv6p->addr));
/* clear embedded scope in the address */
@@ -5141,7 +5141,10 @@ sctp_arethere_unrecognized_parameters(struct mbuf *in_initpkt,
s.param_length = htons(sizeof(s) + plen);
m_copyback(op_err, err_at, sizeof(s), (caddr_t)&s);
err_at += sizeof(s);
- phdr = sctp_get_next_param(mat, at, (struct sctp_paramhdr *)tempbuf, min(sizeof(tempbuf), plen));
+ if (plen > sizeof(tempbuf)) {
+ plen = sizeof(tempbuf);
+ }
+ phdr = sctp_get_next_param(mat, at, (struct sctp_paramhdr *)tempbuf, plen);
if (phdr == NULL) {
sctp_m_freem(op_err);
/*
@@ -5209,7 +5212,7 @@ sctp_arethere_unrecognized_parameters(struct mbuf *in_initpkt,
if (plen > sizeof(tempbuf)) {
plen = sizeof(tempbuf);
}
- phdr = sctp_get_next_param(mat, at, (struct sctp_paramhdr *)tempbuf, min(sizeof(tempbuf), plen));
+ phdr = sctp_get_next_param(mat, at, (struct sctp_paramhdr *)tempbuf, plen);
if (phdr == NULL) {
sctp_m_freem(op_err);
/*
@@ -5390,10 +5393,12 @@ sctp_are_there_new_addresses(struct sctp_association *asoc,
{
struct sctp_ipv4addr_param *p4, p4_buf;
+ if (plen != sizeof(struct sctp_ipv4addr_param)) {
+ return (1);
+ }
phdr = sctp_get_next_param(in_initpkt, offset,
(struct sctp_paramhdr *)&p4_buf, sizeof(p4_buf));
- if (plen != sizeof(struct sctp_ipv4addr_param) ||
- phdr == NULL) {
+ if (phdr == NULL) {
return (1);
}
if (asoc->scope.ipv4_addr_legal) {
@@ -5409,10 +5414,12 @@ sctp_are_there_new_addresses(struct sctp_association *asoc,
{
struct sctp_ipv6addr_param *p6, p6_buf;
+ if (plen != sizeof(struct sctp_ipv6addr_param)) {
+ return (1);
+ }
phdr = sctp_get_next_param(in_initpkt, offset,
(struct sctp_paramhdr *)&p6_buf, sizeof(p6_buf));
- if (plen != sizeof(struct sctp_ipv6addr_param) ||
- phdr == NULL) {
+ if (phdr == NULL) {
return (1);
}
if (asoc->scope.ipv6_addr_legal) {
@@ -7080,11 +7087,9 @@ sctp_clean_up_ctl(struct sctp_tcb *stcb, struct sctp_association *asoc, int so_l
}
}
-
-static int
-sctp_can_we_split_this(struct sctp_tcb *stcb,
- uint32_t length,
- uint32_t goal_mtu, uint32_t frag_point, int eeor_on)
+static uint32_t
+sctp_can_we_split_this(struct sctp_tcb *stcb, uint32_t length,
+ uint32_t space_left, uint32_t frag_point, int eeor_on)
{
/*
* Make a decision on if I should split a msg into multiple parts.
@@ -7096,7 +7101,7 @@ sctp_can_we_split_this(struct sctp_tcb *stcb,
* entire thing, since it might be all the guy is putting in
* the hopper.
*/
- if (goal_mtu >= length) {
+ if (space_left >= length) {
/*-
* If we have data outstanding,
* we get another chance when the sack
@@ -7113,7 +7118,7 @@ sctp_can_we_split_this(struct sctp_tcb *stcb,
} else {
/* You can fill the rest */
- return (goal_mtu);
+ return (space_left);
}
}
/*-
@@ -7124,28 +7129,27 @@ sctp_can_we_split_this(struct sctp_tcb *stcb,
if (SCTP_SB_LIMIT_SND(stcb->sctp_socket) < frag_point) {
return (length);
}
- if ((length <= goal_mtu) ||
- ((length - goal_mtu) < SCTP_BASE_SYSCTL(sctp_min_residual))) {
+ if ((length <= space_left) ||
+ ((length - space_left) < SCTP_BASE_SYSCTL(sctp_min_residual))) {
/* Sub-optimial residual don't split in non-eeor mode. */
return (0);
}
/*
- * If we reach here length is larger than the goal_mtu. Do we wish
+ * If we reach here length is larger than the space_left. Do we wish
* to split it for the sake of packet putting together?
*/
- if (goal_mtu >= min(SCTP_BASE_SYSCTL(sctp_min_split_point), frag_point)) {
+ if (space_left >= min(SCTP_BASE_SYSCTL(sctp_min_split_point), frag_point)) {
/* Its ok to split it */
- return (min(goal_mtu, frag_point));
+ return (min(space_left, frag_point));
}
/* Nope, can't split */
return (0);
-
}
static uint32_t
sctp_move_to_outqueue(struct sctp_tcb *stcb,
struct sctp_stream_out *strq,
- uint32_t goal_mtu,
+ uint32_t space_left,
uint32_t frag_point,
int *giveup,
int eeor_mode,
@@ -7306,7 +7310,7 @@ re_look:
sp->some_taken = 1;
}
} else {
- to_move = sctp_can_we_split_this(stcb, length, goal_mtu, frag_point, eeor_mode);
+ to_move = sctp_can_we_split_this(stcb, length, space_left, frag_point, eeor_mode);
if (to_move) {
/*-
* We use a snapshot of length in case it
@@ -7701,56 +7705,66 @@ sctp_fill_outqueue(struct sctp_tcb *stcb,
{
struct sctp_association *asoc;
struct sctp_stream_out *strq;
- int goal_mtu, moved_how_much, total_moved = 0, bail = 0;
- int giveup;
+ uint32_t space_left, moved, total_moved;
+ int bail, giveup;
SCTP_TCB_LOCK_ASSERT(stcb);
asoc = &stcb->asoc;
+ total_moved = 0;
switch (net->ro._l_addr.sa.sa_family) {
#ifdef INET
case AF_INET:
- goal_mtu = net->mtu - SCTP_MIN_V4_OVERHEAD;
+ space_left = net->mtu - SCTP_MIN_V4_OVERHEAD;
break;
#endif
#ifdef INET6
case AF_INET6:
- goal_mtu = net->mtu - SCTP_MIN_OVERHEAD;
+ space_left = net->mtu - SCTP_MIN_OVERHEAD;
break;
#endif
default:
/* TSNH */
- goal_mtu = net->mtu;
+ space_left = net->mtu;
break;
}
/* Need an allowance for the data chunk header too */
if (stcb->asoc.idata_supported == 0) {
- goal_mtu -= sizeof(struct sctp_data_chunk);
+ space_left -= sizeof(struct sctp_data_chunk);
} else {
- goal_mtu -= sizeof(struct sctp_idata_chunk);
+ space_left -= sizeof(struct sctp_idata_chunk);
}
/* must make even word boundary */
- goal_mtu &= 0xfffffffc;
+ space_left &= 0xfffffffc;
strq = stcb->asoc.ss_functions.sctp_ss_select_stream(stcb, net, asoc);
- while ((goal_mtu > 0) && strq) {
- giveup = 0;
- bail = 0;
- moved_how_much = sctp_move_to_outqueue(stcb, strq, goal_mtu, frag_point,
+ giveup = 0;
+ bail = 0;
+ while ((space_left > 0) && (strq != NULL)) {
+ moved = sctp_move_to_outqueue(stcb, strq, space_left, frag_point,
&giveup, eeor_mode, &bail, so_locked);
- stcb->asoc.ss_functions.sctp_ss_scheduled(stcb, net, asoc, strq, moved_how_much);
-
- if ((giveup) || bail) {
+ stcb->asoc.ss_functions.sctp_ss_scheduled(stcb, net, asoc, strq, moved);
+ if ((giveup != 0) || (bail != 0)) {
break;
}
strq = stcb->asoc.ss_functions.sctp_ss_select_stream(stcb, net, asoc);
- if (strq == NULL) {
- break;
+ total_moved += moved;
+ space_left -= moved;
+ if (stcb->asoc.idata_supported == 0) {
+ if (space_left >= sizeof(struct sctp_data_chunk)) {
+ space_left -= sizeof(struct sctp_data_chunk);
+ } else {
+ space_left = 0;
+ }
+ } else {
+ if (space_left >= sizeof(struct sctp_idata_chunk)) {
+ space_left -= sizeof(struct sctp_idata_chunk);
+ } else {
+ space_left = 0;
+ }
}
- total_moved += moved_how_much;
- goal_mtu -= (moved_how_much + sizeof(struct sctp_data_chunk));
- goal_mtu &= 0xfffffffc;
+ space_left &= 0xfffffffc;
}
- if (bail)
+ if (bail != 0)
*quit_now = 1;
stcb->asoc.ss_functions.sctp_ss_packet_done(stcb, net, asoc);
@@ -8993,7 +9007,7 @@ sctp_send_cookie_echo(struct mbuf *m,
*/
int at;
struct mbuf *cookie;
- struct sctp_paramhdr parm, *phdr;
+ struct sctp_paramhdr param, *phdr;
struct sctp_chunkhdr *hdr;
struct sctp_tmit_chunk *chk;
uint16_t ptype, plen;
@@ -9003,7 +9017,7 @@ sctp_send_cookie_echo(struct mbuf *m,
cookie = NULL;
at = offset + sizeof(struct sctp_init_chunk);
for (;;) {
- phdr = sctp_get_next_param(m, at, &parm, sizeof(parm));
+ phdr = sctp_get_next_param(m, at, &param, sizeof(param));
if (phdr == NULL) {
return (-3);
}
@@ -11140,7 +11154,7 @@ sctp_send_resp_msg(struct sockaddr *src, struct sockaddr *dst,
ip->ip_v = IPVERSION;
ip->ip_hl = (sizeof(struct ip) >> 2);
ip->ip_tos = 0;
- ip->ip_off = 0;
+ ip->ip_off = htons(IP_DF);
ip_fillid(ip);
ip->ip_ttl = MODULE_GLOBAL(ip_defttl);
if (port) {
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c
index db3f39c..562401f 100644
--- a/sys/netinet/sctp_pcb.c
+++ b/sys/netinet/sctp_pcb.c
@@ -2046,7 +2046,7 @@ sctp_findassociation_special_addr(struct mbuf *m, int offset,
struct sctphdr *sh, struct sctp_inpcb **inp_p, struct sctp_nets **netp,
struct sockaddr *dst)
{
- struct sctp_paramhdr *phdr, parm_buf;
+ struct sctp_paramhdr *phdr, param_buf;
#if defined(INET) || defined(INET6)
struct sctp_tcb *stcb;
uint16_t ptype;
@@ -2074,7 +2074,7 @@ sctp_findassociation_special_addr(struct mbuf *m, int offset,
offset += sizeof(struct sctp_init_chunk);
- phdr = sctp_get_next_param(m, offset, &parm_buf, sizeof(parm_buf));
+ phdr = sctp_get_next_param(m, offset, &param_buf, sizeof(param_buf));
while (phdr != NULL) {
/* now we must see if we want the parameter */
#if defined(INET) || defined(INET6)
@@ -2088,10 +2088,10 @@ sctp_findassociation_special_addr(struct mbuf *m, int offset,
if (ptype == SCTP_IPV4_ADDRESS &&
plen == sizeof(struct sctp_ipv4addr_param)) {
/* Get the rest of the address */
- struct sctp_ipv4addr_param ip4_parm, *p4;
+ struct sctp_ipv4addr_param ip4_param, *p4;
phdr = sctp_get_next_param(m, offset,
- (struct sctp_paramhdr *)&ip4_parm, min(plen, sizeof(ip4_parm)));
+ (struct sctp_paramhdr *)&ip4_param, sizeof(ip4_param));
if (phdr == NULL) {
return (NULL);
}
@@ -2109,10 +2109,10 @@ sctp_findassociation_special_addr(struct mbuf *m, int offset,
if (ptype == SCTP_IPV6_ADDRESS &&
plen == sizeof(struct sctp_ipv6addr_param)) {
/* Get the rest of the address */
- struct sctp_ipv6addr_param ip6_parm, *p6;
+ struct sctp_ipv6addr_param ip6_param, *p6;
phdr = sctp_get_next_param(m, offset,
- (struct sctp_paramhdr *)&ip6_parm, min(plen, sizeof(ip6_parm)));
+ (struct sctp_paramhdr *)&ip6_param, sizeof(ip6_param));
if (phdr == NULL) {
return (NULL);
}
@@ -2127,8 +2127,8 @@ sctp_findassociation_special_addr(struct mbuf *m, int offset,
}
#endif
offset += SCTP_SIZE32(plen);
- phdr = sctp_get_next_param(m, offset, &parm_buf,
- sizeof(parm_buf));
+ phdr = sctp_get_next_param(m, offset, &param_buf,
+ sizeof(param_buf));
}
return (NULL);
}
@@ -2301,7 +2301,7 @@ sctp_findassociation_ep_asconf(struct mbuf *m, int offset,
{
struct sctp_tcb *stcb;
union sctp_sockstore remote_store;
- struct sctp_paramhdr parm_buf, *phdr;
+ struct sctp_paramhdr param_buf, *phdr;
int ptype;
int zero_address = 0;
#ifdef INET
@@ -2313,7 +2313,7 @@ sctp_findassociation_ep_asconf(struct mbuf *m, int offset,
memset(&remote_store, 0, sizeof(remote_store));
phdr = sctp_get_next_param(m, offset + sizeof(struct sctp_asconf_chunk),
- &parm_buf, sizeof(struct sctp_paramhdr));
+ &param_buf, sizeof(struct sctp_paramhdr));
if (phdr == NULL) {
SCTPDBG(SCTP_DEBUG_INPUT3, "%s: failed to get asconf lookup addr\n",
__func__);
@@ -2333,7 +2333,7 @@ sctp_findassociation_ep_asconf(struct mbuf *m, int offset,
}
p6 = (struct sctp_ipv6addr_param *)sctp_get_next_param(m,
offset + sizeof(struct sctp_asconf_chunk),
- &p6_buf.ph, sizeof(*p6));
+ &p6_buf.ph, sizeof(p6_buf));
if (p6 == NULL) {
SCTPDBG(SCTP_DEBUG_INPUT3, "%s: failed to get asconf v6 lookup addr\n",
__func__);
@@ -2360,7 +2360,7 @@ sctp_findassociation_ep_asconf(struct mbuf *m, int offset,
}
p4 = (struct sctp_ipv4addr_param *)sctp_get_next_param(m,
offset + sizeof(struct sctp_asconf_chunk),
- &p4_buf.ph, sizeof(*p4));
+ &p4_buf.ph, sizeof(p4_buf));
if (p4 == NULL) {
SCTPDBG(SCTP_DEBUG_INPUT3, "%s: failed to get asconf v4 lookup addr\n",
__func__);
@@ -3933,6 +3933,7 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct sockaddr *newaddr,
stcb->asoc.vrf_id,
stcb->sctp_ep->fibnum);
+ net->src_addr_selected = 0;
if (SCTP_ROUTE_HAS_VALID_IFN(&net->ro)) {
/* Get source address */
net->ro._s_addr = sctp_source_address_selection(stcb->sctp_ep,
@@ -3942,18 +3943,18 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct sockaddr *newaddr,
0,
stcb->asoc.vrf_id);
if (net->ro._s_addr != NULL) {
+ uint32_t imtu, rmtu, hcmtu;
+
net->src_addr_selected = 1;
/* Now get the interface MTU */
if (net->ro._s_addr->ifn_p != NULL) {
- net->mtu = SCTP_GATHER_MTU_FROM_INTFC(net->ro._s_addr->ifn_p);
+ imtu = SCTP_GATHER_MTU_FROM_INTFC(net->ro._s_addr->ifn_p);
+ } else {
+ imtu = 0;
}
- } else {
- net->src_addr_selected = 0;
- }
- if (net->mtu > 0) {
- uint32_t rmtu;
-
rmtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, net->ro.ro_rt);
+ hcmtu = sctp_hc_get_mtu(&net->ro._l_addr, stcb->sctp_ep->fibnum);
+ net->mtu = sctp_min_mtu(hcmtu, rmtu, imtu);
if (rmtu == 0) {
/*
* Start things off to match mtu of
@@ -3961,17 +3962,8 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct sockaddr *newaddr,
*/
SCTP_SET_MTU_OF_ROUTE(&net->ro._l_addr.sa,
net->ro.ro_rt, net->mtu);
- } else {
- /*
- * we take the route mtu over the interface,
- * since the route may be leading out the
- * loopback, or a different interface.
- */
- net->mtu = rmtu;
}
}
- } else {
- net->src_addr_selected = 0;
}
if (net->mtu == 0) {
switch (newaddr->sa_family) {
@@ -6034,7 +6026,7 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m,
*/
struct sctp_inpcb *inp;
struct sctp_nets *net, *nnet, *net_tmp;
- struct sctp_paramhdr *phdr, parm_buf;
+ struct sctp_paramhdr *phdr, param_buf;
struct sctp_tcb *stcb_tmp;
uint16_t ptype, plen;
struct sockaddr *sa;
@@ -6144,7 +6136,7 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m,
return (-4);
}
/* now we must go through each of the params. */
- phdr = sctp_get_next_param(m, offset, &parm_buf, sizeof(parm_buf));
+ phdr = sctp_get_next_param(m, offset, &param_buf, sizeof(param_buf));
while (phdr) {
ptype = ntohs(phdr->param_type);
plen = ntohs(phdr->param_length);
@@ -6382,7 +6374,7 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m,
}
phdr = sctp_get_next_param(m, offset,
(struct sctp_paramhdr *)&lstore,
- min(plen, sizeof(lstore)));
+ plen);
if (phdr == NULL) {
return (-24);
}
@@ -6435,8 +6427,11 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m,
uint8_t local_store[SCTP_PARAM_BUFFER_SIZE];
int num_ent, i;
+ if (plen > sizeof(local_store)) {
+ return (-35);
+ }
phdr = sctp_get_next_param(m, offset,
- (struct sctp_paramhdr *)&local_store, min(sizeof(local_store), plen));
+ (struct sctp_paramhdr *)&local_store, plen);
if (phdr == NULL) {
return (-25);
}
@@ -6483,7 +6478,7 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m,
}
phdr = sctp_get_next_param(m, offset,
(struct sctp_paramhdr *)random_store,
- min(sizeof(random_store), plen));
+ plen);
if (phdr == NULL)
return (-26);
p_random = (struct sctp_auth_random *)phdr;
@@ -6506,7 +6501,7 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m,
}
phdr = sctp_get_next_param(m, offset,
(struct sctp_paramhdr *)hmacs_store,
- min(plen, sizeof(hmacs_store)));
+ plen);
if (phdr == NULL)
return (-28);
hmacs = (struct sctp_auth_hmac_algo *)phdr;
@@ -6537,7 +6532,7 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m,
}
phdr = sctp_get_next_param(m, offset,
(struct sctp_paramhdr *)chunks_store,
- min(plen, sizeof(chunks_store)));
+ plen);
if (phdr == NULL)
return (-30);
chunks = (struct sctp_auth_chunk_list *)phdr;
@@ -6585,8 +6580,8 @@ next_param:
if (offset >= limit) {
break;
}
- phdr = sctp_get_next_param(m, offset, &parm_buf,
- sizeof(parm_buf));
+ phdr = sctp_get_next_param(m, offset, &param_buf,
+ sizeof(param_buf));
}
/* Now check to see if we need to purge any addresses */
TAILQ_FOREACH_SAFE(net, &stcb->asoc.nets, sctp_next, nnet) {
diff --git a/sys/netinet/sctp_timer.c b/sys/netinet/sctp_timer.c
index 78fe1c2..4c87ee6 100644
--- a/sys/netinet/sctp_timer.c
+++ b/sys/netinet/sctp_timer.c
@@ -667,6 +667,7 @@ start_again:
stcb->asoc.peers_rwnd += SCTP_BASE_SYSCTL(sctp_peer_chunk_oh);
}
chk->sent = SCTP_DATAGRAM_RESEND;
+ chk->flags |= CHUNK_FLAGS_FRAGMENT_OK;
SCTP_STAT_INCR(sctps_markedretrans);
/* reset the TSN for striking and other FR stuff */
@@ -719,13 +720,9 @@ start_again:
if (num_mk) {
SCTPDBG(SCTP_DEBUG_TIMER1, "LAST TSN marked was %x\n",
tsnlast);
- SCTPDBG(SCTP_DEBUG_TIMER1, "Num marked for retransmission was %d peer-rwd:%ld\n",
- num_mk, (u_long)stcb->asoc.peers_rwnd);
- SCTPDBG(SCTP_DEBUG_TIMER1, "LAST TSN marked was %x\n",
- tsnlast);
- SCTPDBG(SCTP_DEBUG_TIMER1, "Num marked for retransmission was %d peer-rwd:%d\n",
+ SCTPDBG(SCTP_DEBUG_TIMER1, "Num marked for retransmission was %d peer-rwd:%u\n",
num_mk,
- (int)stcb->asoc.peers_rwnd);
+ stcb->asoc.peers_rwnd);
}
#endif
*num_marked = num_mk;
@@ -744,6 +741,7 @@ start_again:
chk->whoTo = alt;
if (chk->sent != SCTP_DATAGRAM_RESEND) {
chk->sent = SCTP_DATAGRAM_RESEND;
+ chk->flags |= CHUNK_FLAGS_FRAGMENT_OK;
sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
cnt_mk++;
}
@@ -1088,6 +1086,7 @@ sctp_cookie_timer(struct sctp_inpcb *inp,
sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
}
cookie->sent = SCTP_DATAGRAM_RESEND;
+ cookie->flags |= CHUNK_FLAGS_FRAGMENT_OK;
/*
* Now call the output routine to kick out the cookie again, Note we
* don't mark any chunks for retran so that FR will need to kick in
@@ -1134,6 +1133,7 @@ sctp_strreset_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb,
sctp_free_remote_addr(chk->whoTo);
if (chk->sent != SCTP_DATAGRAM_RESEND) {
chk->sent = SCTP_DATAGRAM_RESEND;
+ chk->flags |= CHUNK_FLAGS_FRAGMENT_OK;
sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
}
chk->whoTo = alt;
@@ -1151,6 +1151,7 @@ sctp_strreset_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb,
if (strrst->sent != SCTP_DATAGRAM_RESEND)
sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
strrst->sent = SCTP_DATAGRAM_RESEND;
+ strrst->flags |= CHUNK_FLAGS_FRAGMENT_OK;
/* restart the timer */
sctp_timer_start(SCTP_TIMER_TYPE_STRRESET, inp, stcb, strrst->whoTo);
@@ -1215,6 +1216,7 @@ sctp_asconf_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb,
chk->whoTo = alt;
if (chk->sent != SCTP_DATAGRAM_RESEND) {
chk->sent = SCTP_DATAGRAM_RESEND;
+ chk->flags |= CHUNK_FLAGS_FRAGMENT_OK;
sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
}
atomic_add_int(&alt->ref_count, 1);
@@ -1229,6 +1231,7 @@ sctp_asconf_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb,
if (asconf->sent != SCTP_DATAGRAM_RESEND && chk->sent != SCTP_DATAGRAM_UNSENT)
sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
chk->sent = SCTP_DATAGRAM_RESEND;
+ chk->flags |= CHUNK_FLAGS_FRAGMENT_OK;
}
if (!(net->dest_state & SCTP_ADDR_REACHABLE)) {
/*
@@ -1241,6 +1244,7 @@ sctp_asconf_timer(struct sctp_inpcb *inp, struct sctp_tcb *stcb,
if (asconf->sent != SCTP_DATAGRAM_RESEND)
sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
asconf->sent = SCTP_DATAGRAM_RESEND;
+ asconf->flags |= CHUNK_FLAGS_FRAGMENT_OK;
/* send another ASCONF if any and we can do */
sctp_send_asconf(stcb, alt, SCTP_ADDR_NOT_LOCKED);
diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c
index 3982156..75d8175 100644
--- a/sys/netinet/sctp_usrreq.c
+++ b/sys/netinet/sctp_usrreq.c
@@ -108,7 +108,7 @@ sctp_pathmtu_adjustment(struct sctp_tcb *stcb, uint16_t nxtsz)
/* Adjust that too */
stcb->asoc.smallest_mtu = nxtsz;
/* now off to subtract IP_DF flag if needed */
- overhead = IP_HDR_SIZE;
+ overhead = IP_HDR_SIZE + sizeof(struct sctphdr);
if (sctp_auth_is_required_chunk(SCTP_DATA, stcb->asoc.peer_auth_chunks)) {
overhead += sctp_get_auth_chunk_len(stcb->asoc.peer_hmac_id);
}
@@ -152,7 +152,7 @@ sctp_notify(struct sctp_inpcb *inp,
uint8_t icmp_type,
uint8_t icmp_code,
uint16_t ip_len,
- uint16_t next_mtu)
+ uint32_t next_mtu)
{
#if defined(__APPLE__) || defined(SCTP_SO_LOCK_TESTING)
struct socket *so;
@@ -220,10 +220,15 @@ sctp_notify(struct sctp_inpcb *inp,
timer_stopped = 0;
}
/* Update the path MTU. */
+ if (net->port) {
+ next_mtu -= sizeof(struct udphdr);
+ }
if (net->mtu > next_mtu) {
net->mtu = next_mtu;
if (net->port) {
- net->mtu -= sizeof(struct udphdr);
+ sctp_hc_set_mtu(&net->ro._l_addr, inp->fibnum, next_mtu + sizeof(struct udphdr));
+ } else {
+ sctp_hc_set_mtu(&net->ro._l_addr, inp->fibnum, next_mtu);
}
}
/* Update the association MTU */
@@ -328,7 +333,7 @@ sctp_ctlinput(int cmd, struct sockaddr *sa, void *vip)
icmp->icmp_type,
icmp->icmp_code,
ntohs(inner_ip->ip_len),
- ntohs(icmp->icmp_nextmtu));
+ (uint32_t)ntohs(icmp->icmp_nextmtu));
} else {
if ((stcb == NULL) && (inp != NULL)) {
/* reduce ref-count */
diff --git a/sys/netinet/sctp_var.h b/sys/netinet/sctp_var.h
index 6365dfe..9e149e6 100644
--- a/sys/netinet/sctp_var.h
+++ b/sys/netinet/sctp_var.h
@@ -341,7 +341,7 @@ void sctp_drain(void);
void sctp_init(void);
void
sctp_notify(struct sctp_inpcb *, struct sctp_tcb *, struct sctp_nets *,
- uint8_t, uint8_t, uint16_t, uint16_t);
+ uint8_t, uint8_t, uint16_t, uint32_t);
int sctp_flush(struct socket *, int);
int sctp_shutdown(struct socket *);
int
diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c
index 1b51731..1dd3c3e 100644
--- a/sys/netinet/sctputil.c
+++ b/sys/netinet/sctputil.c
@@ -49,6 +49,9 @@ __FBSDID("$FreeBSD$");
#include <netinet/sctp_auth.h>
#include <netinet/sctp_asconf.h>
#include <netinet/sctp_bsd_addr.h>
+#if defined(INET6) || defined(INET)
+#include <netinet/tcp_var.h>
+#endif
#include <netinet/udp.h>
#include <netinet/udp_var.h>
#include <sys/proc.h>
@@ -6971,7 +6974,7 @@ sctp_recv_icmp_tunneled_packet(int cmd, struct sockaddr *sa, void *vip, void *ct
}
sctp_notify(inp, stcb, net, type, code,
ntohs(inner_ip->ip_len),
- ntohs(icmp->icmp_nextmtu));
+ (uint32_t)ntohs(icmp->icmp_nextmtu));
} else {
if ((stcb == NULL) && (inp != NULL)) {
/* reduce ref-count */
@@ -7113,7 +7116,7 @@ sctp_recv_icmp6_tunneled_packet(int cmd, struct sockaddr *sa, void *d, void *ctx
code = ICMP6_PARAMPROB_NEXTHEADER;
}
sctp6_notify(inp, stcb, net, type, code,
- (uint16_t)ntohl(ip6cp->ip6c_icmp6->icmp6_mtu));
+ ntohl(ip6cp->ip6c_icmp6->icmp6_mtu));
} else {
if ((stcb == NULL) && (inp != NULL)) {
/* reduce inp's ref-count */
@@ -7235,3 +7238,90 @@ sctp_over_udp_start(void)
#endif
return (0);
}
+
+#if defined(INET6) || defined(INET)
+
+/*
+ * sctp_min_mtu ()returns the minimum of all non-zero arguments.
+ * If all arguments are zero, zero is returned.
+ */
+uint32_t
+sctp_min_mtu(uint32_t mtu1, uint32_t mtu2, uint32_t mtu3)
+{
+ if (mtu1 > 0) {
+ if (mtu2 > 0) {
+ if (mtu3 > 0) {
+ return (min(mtu1, min(mtu2, mtu3)));
+ } else {
+ return (min(mtu1, mtu2));
+ }
+ } else {
+ if (mtu3 > 0) {
+ return (min(mtu1, mtu3));
+ } else {
+ return (mtu1);
+ }
+ }
+ } else {
+ if (mtu2 > 0) {
+ if (mtu3 > 0) {
+ return (min(mtu2, mtu3));
+ } else {
+ return (mtu2);
+ }
+ } else {
+ return (mtu3);
+ }
+ }
+}
+
+void
+sctp_hc_set_mtu(union sctp_sockstore *addr, uint16_t fibnum, uint32_t mtu)
+{
+ struct in_conninfo inc;
+
+ memset(&inc, 0, sizeof(struct in_conninfo));
+ inc.inc_fibnum = fibnum;
+ switch (addr->sa.sa_family) {
+#ifdef INET
+ case AF_INET:
+ inc.inc_faddr = addr->sin.sin_addr;
+ break;
+#endif
+#ifdef INET6
+ case AF_INET6:
+ inc.inc_flags |= INC_ISIPV6;
+ inc.inc6_faddr = addr->sin6.sin6_addr;
+ break;
+#endif
+ default:
+ return;
+ }
+ tcp_hc_updatemtu(&inc, (u_long)mtu);
+}
+
+uint32_t
+sctp_hc_get_mtu(union sctp_sockstore *addr, uint16_t fibnum)
+{
+ struct in_conninfo inc;
+
+ memset(&inc, 0, sizeof(struct in_conninfo));
+ inc.inc_fibnum = fibnum;
+ switch (addr->sa.sa_family) {
+#ifdef INET
+ case AF_INET:
+ inc.inc_faddr = addr->sin.sin_addr;
+ break;
+#endif
+#ifdef INET6
+ case AF_INET6:
+ inc.inc_flags |= INC_ISIPV6;
+ inc.inc6_faddr = addr->sin6.sin6_addr;
+ break;
+#endif
+ default:
+ return (0);
+ }
+ return ((uint32_t)tcp_hc_getmtu(&inc));
+}
+#endif
diff --git a/sys/netinet/sctputil.h b/sys/netinet/sctputil.h
index dd45e49..50118b7 100644
--- a/sys/netinet/sctputil.h
+++ b/sys/netinet/sctputil.h
@@ -388,5 +388,10 @@ sctp_auditing(int, struct sctp_inpcb *, struct sctp_tcb *,
void sctp_audit_log(uint8_t, uint8_t);
#endif
+#if defined(INET6) || defined(INET)
+uint32_t sctp_min_mtu(uint32_t, uint32_t, uint32_t);
+void sctp_hc_set_mtu(union sctp_sockstore *, uint16_t, uint32_t);
+uint32_t sctp_hc_get_mtu(union sctp_sockstore *, uint16_t);
+#endif
#endif /* _KERNEL */
#endif
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index 1423796..69fc6cb 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -1596,6 +1596,26 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so,
tcp_pcap_add(th, m, &(tp->t_inpkts));
#endif
+ if ((thflags & TH_SYN) && (thflags & TH_FIN) && V_drop_synfin) {
+ if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
+ log(LOG_DEBUG, "%s; %s: "
+ "SYN|FIN segment ignored (based on "
+ "sysctl setting)\n", s, __func__);
+ free(s, M_TCPLOG);
+ }
+ goto drop;
+ }
+
+ /*
+ * If a segment with the ACK-bit set arrives in the SYN-SENT state
+ * check SEQ.ACK first.
+ */
+ if ((tp->t_state == TCPS_SYN_SENT) && (thflags & TH_ACK) &&
+ (SEQ_LEQ(th->th_ack, tp->iss) || SEQ_GT(th->th_ack, tp->snd_max))) {
+ rstreason = BANDLIM_UNLIMITED;
+ goto dropwithreset;
+ }
+
/*
* Segment received on connection.
* Reset idle time and keep-alive timer.
@@ -1974,7 +1994,6 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so,
/*
* If the state is SYN_SENT:
- * if seg contains an ACK, but not for our SYN, drop the input.
* if seg contains a RST, then drop the connection.
* if seg does not contain SYN, then drop it.
* Otherwise this is an acceptable SYN segment
@@ -1987,12 +2006,6 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so,
* continue processing rest of data/controls, beginning with URG
*/
case TCPS_SYN_SENT:
- if ((thflags & TH_ACK) &&
- (SEQ_LEQ(th->th_ack, tp->iss) ||
- SEQ_GT(th->th_ack, tp->snd_max))) {
- rstreason = BANDLIM_UNLIMITED;
- goto dropwithreset;
- }
if ((thflags & (TH_ACK|TH_RST)) == (TH_ACK|TH_RST)) {
TCP_PROBE5(connect__refused, NULL, tp,
m, tp, th);
diff --git a/sys/netinet/tcp_lro.c b/sys/netinet/tcp_lro.c
index cb8cc06..cd235b5 100644
--- a/sys/netinet/tcp_lro.c
+++ b/sys/netinet/tcp_lro.c
@@ -110,7 +110,6 @@ tcp_lro_init_args(struct lro_ctrl *lc, struct ifnet *ifp,
lc->lro_bad_csum = 0;
lc->lro_queued = 0;
lc->lro_flushed = 0;
- lc->lro_cnt = 0;
lc->lro_mbuf_count = 0;
lc->lro_mbuf_max = lro_mbufs;
lc->lro_cnt = lro_entries;
@@ -889,18 +888,12 @@ tcp_lro_queue_mbuf(struct lro_ctrl *lc, struct mbuf *mb)
/* check if packet is not LRO capable */
if (__predict_false(mb->m_pkthdr.csum_flags == 0 ||
(lc->ifp->if_capenable & IFCAP_LRO) == 0)) {
- lc->lro_flushed++;
- lc->lro_queued++;
/* input packet to network layer */
(*lc->ifp->if_input) (lc->ifp, mb);
return;
}
- /* check if array is full */
- if (__predict_false(lc->lro_mbuf_count == lc->lro_mbuf_max))
- tcp_lro_flush_all(lc);
-
/* create sequence number */
lc->lro_mbuf_data[lc->lro_mbuf_count].seq =
(((uint64_t)M_HASHTYPE_GET(mb)) << 56) |
@@ -908,7 +901,11 @@ tcp_lro_queue_mbuf(struct lro_ctrl *lc, struct mbuf *mb)
((uint64_t)lc->lro_mbuf_count);
/* enter mbuf */
- lc->lro_mbuf_data[lc->lro_mbuf_count++].mb = mb;
+ lc->lro_mbuf_data[lc->lro_mbuf_count].mb = mb;
+
+ /* flush if array is full */
+ if (__predict_false(++lc->lro_mbuf_count == lc->lro_mbuf_max))
+ tcp_lro_flush_all(lc);
}
/* end */
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index 60874f5..3eff27c 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -688,6 +688,8 @@ after_sack_rexmit:
recwin <= (long)(so->so_rcv.sb_hiwat / 8) ||
so->so_rcv.sb_hiwat <= 8 * tp->t_maxseg))
goto send;
+ if (2 * adv >= (int32_t)so->so_rcv.sb_hiwat)
+ goto send;
}
dontupdate:
diff --git a/sys/netinet/tcp_stacks/fastpath.c b/sys/netinet/tcp_stacks/fastpath.c
index 375a098..84a1519 100644
--- a/sys/netinet/tcp_stacks/fastpath.c
+++ b/sys/netinet/tcp_stacks/fastpath.c
@@ -128,6 +128,8 @@ VNET_DECLARE(int, tcp_insecure_rst);
#define V_tcp_insecure_rst VNET(tcp_insecure_rst)
VNET_DECLARE(int, tcp_insecure_syn);
#define V_tcp_insecure_syn VNET(tcp_insecure_syn)
+VNET_DECLARE(int, drop_synfin);
+#define V_drop_synfin VNET(drop_synfin)
static void tcp_do_segment_fastslow(struct mbuf *, struct tcphdr *,
struct socket *, struct tcpcb *, int, int, uint8_t,
@@ -483,7 +485,6 @@ tcp_do_slowpath(struct mbuf *m, struct tcphdr *th, struct socket *so,
/*
* If the state is SYN_SENT:
- * if seg contains an ACK, but not for our SYN, drop the input.
* if seg contains a RST, then drop the connection.
* if seg does not contain SYN, then drop it.
* Otherwise this is an acceptable SYN segment
@@ -496,12 +497,6 @@ tcp_do_slowpath(struct mbuf *m, struct tcphdr *th, struct socket *so,
* continue processing rest of data/controls, beginning with URG
*/
case TCPS_SYN_SENT:
- if ((thflags & TH_ACK) &&
- (SEQ_LEQ(th->th_ack, tp->iss) ||
- SEQ_GT(th->th_ack, tp->snd_max))) {
- rstreason = BANDLIM_UNLIMITED;
- goto dropwithreset;
- }
if ((thflags & (TH_ACK|TH_RST)) == (TH_ACK|TH_RST)) {
TCP_PROBE5(connect__refused, NULL, tp, m, tp, th);
tp = tcp_drop(tp, ECONNREFUSED);
@@ -1699,7 +1694,6 @@ tcp_do_segment_fastslow(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpopt to;
thflags = th->th_flags;
- tp->sackhint.last_sack_ack = 0;
inc = &tp->t_inpcb->inp_inc;
/*
* If this is either a state-changing packet or current state isn't
@@ -1729,6 +1723,37 @@ tcp_do_segment_fastslow(struct mbuf *m, struct tcphdr *th, struct socket *so,
KASSERT(tp->t_state != TCPS_TIME_WAIT, ("%s: TCPS_TIME_WAIT",
__func__));
+ if ((thflags & TH_SYN) && (thflags & TH_FIN) && V_drop_synfin) {
+ if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
+ log(LOG_DEBUG, "%s; %s: "
+ "SYN|FIN segment ignored (based on "
+ "sysctl setting)\n", s, __func__);
+ free(s, M_TCPLOG);
+ }
+ if (ti_locked == TI_RLOCKED) {
+ INP_INFO_RUNLOCK(&V_tcbinfo);
+ }
+ INP_WUNLOCK(tp->t_inpcb);
+ m_freem(m);
+ return;
+ }
+
+ /*
+ * If a segment with the ACK-bit set arrives in the SYN-SENT state
+ * check SEQ.ACK first.
+ */
+ if ((tp->t_state == TCPS_SYN_SENT) && (thflags & TH_ACK) &&
+ (SEQ_LEQ(th->th_ack, tp->iss) || SEQ_GT(th->th_ack, tp->snd_max))) {
+ tcp_dropwithreset(m, th, tp, tlen, BANDLIM_UNLIMITED);
+ if (ti_locked == TI_RLOCKED) {
+ INP_INFO_RUNLOCK(&V_tcbinfo);
+ }
+ INP_WUNLOCK(tp->t_inpcb);
+ return;
+ }
+
+ tp->sackhint.last_sack_ack = 0;
+
/*
* Segment received on connection.
* Reset idle time and keep-alive timer.
@@ -2141,7 +2166,6 @@ tcp_do_segment_fastack(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpopt to;
thflags = th->th_flags;
- tp->sackhint.last_sack_ack = 0;
inc = &tp->t_inpcb->inp_inc;
/*
* If this is either a state-changing packet or current state isn't
@@ -2171,6 +2195,37 @@ tcp_do_segment_fastack(struct mbuf *m, struct tcphdr *th, struct socket *so,
KASSERT(tp->t_state != TCPS_TIME_WAIT, ("%s: TCPS_TIME_WAIT",
__func__));
+ if ((thflags & TH_SYN) && (thflags & TH_FIN) && V_drop_synfin) {
+ if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
+ log(LOG_DEBUG, "%s; %s: "
+ "SYN|FIN segment ignored (based on "
+ "sysctl setting)\n", s, __func__);
+ free(s, M_TCPLOG);
+ }
+ if (ti_locked == TI_RLOCKED) {
+ INP_INFO_RUNLOCK(&V_tcbinfo);
+ }
+ INP_WUNLOCK(tp->t_inpcb);
+ m_freem(m);
+ return;
+ }
+
+ /*
+ * If a segment with the ACK-bit set arrives in the SYN-SENT state
+ * check SEQ.ACK first.
+ */
+ if ((tp->t_state == TCPS_SYN_SENT) && (thflags & TH_ACK) &&
+ (SEQ_LEQ(th->th_ack, tp->iss) || SEQ_GT(th->th_ack, tp->snd_max))) {
+ tcp_dropwithreset(m, th, tp, tlen, BANDLIM_UNLIMITED);
+ if (ti_locked == TI_RLOCKED) {
+ INP_INFO_RUNLOCK(&V_tcbinfo);
+ }
+ INP_WUNLOCK(tp->t_inpcb);
+ return;
+ }
+
+ tp->sackhint.last_sack_ack = 0;
+
/*
* Segment received on connection.
* Reset idle time and keep-alive timer.
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
index be83933..827afa3 100644
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -1966,16 +1966,16 @@ tcp_ctlinput(int cmd, struct sockaddr *sa, void *vip)
if (inp != NULL && PRC_IS_REDIRECT(cmd)) {
/* signal EHOSTDOWN, as it flushes the cached route */
inp = (*notify)(inp, EHOSTDOWN);
- if (inp != NULL)
- INP_WUNLOCK(inp);
- } else if (inp != NULL) {
+ goto out;
+ }
+ icmp_tcp_seq = th->th_seq;
+ if (inp != NULL) {
if (!(inp->inp_flags & INP_TIMEWAIT) &&
!(inp->inp_flags & INP_DROPPED) &&
!(inp->inp_socket == NULL)) {
- icmp_tcp_seq = ntohl(th->th_seq);
tp = intotcpcb(inp);
- if (SEQ_GEQ(icmp_tcp_seq, tp->snd_una) &&
- SEQ_LT(icmp_tcp_seq, tp->snd_max)) {
+ if (SEQ_GEQ(ntohl(icmp_tcp_seq), tp->snd_una) &&
+ SEQ_LT(ntohl(icmp_tcp_seq), tp->snd_max)) {
if (cmd == PRC_MSGSIZE) {
/*
* MTU discovery:
@@ -1983,7 +1983,7 @@ tcp_ctlinput(int cmd, struct sockaddr *sa, void *vip)
* in the route to the suggested new
* value (if given) and then notify.
*/
- mtu = ntohs(icp->icmp_nextmtu);
+ mtu = ntohs(icp->icmp_nextmtu);
/*
* If no alternative MTU was
* proposed, try the next smaller
@@ -2014,16 +2014,17 @@ tcp_ctlinput(int cmd, struct sockaddr *sa, void *vip)
inetctlerrmap[cmd]);
}
}
- if (inp != NULL)
- INP_WUNLOCK(inp);
} else {
bzero(&inc, sizeof(inc));
inc.inc_fport = th->th_dport;
inc.inc_lport = th->th_sport;
inc.inc_faddr = faddr;
inc.inc_laddr = ip->ip_src;
- syncache_unreach(&inc, th);
+ syncache_unreach(&inc, icmp_tcp_seq);
}
+out:
+ if (inp != NULL)
+ INP_WUNLOCK(inp);
INP_INFO_RUNLOCK(&V_tcbinfo);
}
#endif /* INET */
@@ -2033,7 +2034,6 @@ void
tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d)
{
struct in6_addr *dst;
- struct tcphdr *th;
struct inpcb *(*notify)(struct inpcb *, int) = tcp_notify;
struct ip6_hdr *ip6;
struct mbuf *m;
@@ -2043,11 +2043,14 @@ tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d)
struct ip6ctlparam *ip6cp = NULL;
const struct sockaddr_in6 *sa6_src = NULL;
struct in_conninfo inc;
+ struct tcp_ports {
+ uint16_t th_sport;
+ uint16_t th_dport;
+ } t_ports;
tcp_seq icmp_tcp_seq;
unsigned int mtu;
unsigned int off;
-
if (sa->sa_family != AF_INET6 ||
sa->sa_len != sizeof(struct sockaddr_in6))
return;
@@ -2096,27 +2099,31 @@ tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d)
/* Check if we can safely get the ports from the tcp hdr */
if (m == NULL ||
(m->m_pkthdr.len <
- (int32_t) (off + offsetof(struct tcphdr, th_seq)))) {
+ (int32_t) (off + sizeof(struct tcp_ports)))) {
return;
}
-
- th = (struct tcphdr *) mtodo(ip6cp->ip6c_m, ip6cp->ip6c_off);
+ bzero(&t_ports, sizeof(struct tcp_ports));
+ m_copydata(m, off, sizeof(struct tcp_ports), (caddr_t)&t_ports);
INP_INFO_RLOCK(&V_tcbinfo);
- inp = in6_pcblookup(&V_tcbinfo, &ip6->ip6_dst, th->th_dport,
- &ip6->ip6_src, th->th_sport, INPLOOKUP_WLOCKPCB, NULL);
+ inp = in6_pcblookup(&V_tcbinfo, &ip6->ip6_dst, t_ports.th_dport,
+ &ip6->ip6_src, t_ports.th_sport, INPLOOKUP_WLOCKPCB, NULL);
if (inp != NULL && PRC_IS_REDIRECT(cmd)) {
/* signal EHOSTDOWN, as it flushes the cached route */
inp = (*notify)(inp, EHOSTDOWN);
- if (inp != NULL)
- INP_WUNLOCK(inp);
- } else if (inp != NULL) {
+ goto out;
+ }
+ off += sizeof(struct tcp_ports);
+ if (m->m_pkthdr.len < (int32_t) (off + sizeof(tcp_seq))) {
+ goto out;
+ }
+ m_copydata(m, off, sizeof(tcp_seq), (caddr_t)&icmp_tcp_seq);
+ if (inp != NULL) {
if (!(inp->inp_flags & INP_TIMEWAIT) &&
!(inp->inp_flags & INP_DROPPED) &&
!(inp->inp_socket == NULL)) {
- icmp_tcp_seq = ntohl(th->th_seq);
tp = intotcpcb(inp);
- if (SEQ_GEQ(icmp_tcp_seq, tp->snd_una) &&
- SEQ_LT(icmp_tcp_seq, tp->snd_max)) {
+ if (SEQ_GEQ(ntohl(icmp_tcp_seq), tp->snd_una) &&
+ SEQ_LT(ntohl(icmp_tcp_seq), tp->snd_max)) {
if (cmd == PRC_MSGSIZE) {
/*
* MTU discovery:
@@ -2133,22 +2140,20 @@ tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d)
*/
if (mtu < IPV6_MMTU)
mtu = IPV6_MMTU - 8;
-
-
bzero(&inc, sizeof(inc));
inc.inc_fibnum = M_GETFIB(m);
inc.inc_flags |= INC_ISIPV6;
inc.inc6_faddr = *dst;
if (in6_setscope(&inc.inc6_faddr,
m->m_pkthdr.rcvif, NULL))
- goto unlock_inp;
-
+ goto out;
/*
* Only process the offered MTU if it
* is smaller than the current one.
*/
if (mtu < tp->t_maxseg +
- (sizeof (*th) + sizeof (*ip6))) {
+ sizeof (struct tcphdr) +
+ sizeof (struct ip6_hdr)) {
tcp_hc_updatemtu(&inc, mtu);
tcp_mtudisc(inp, mtu);
ICMP6STAT_INC(icp6s_pmtuchg);
@@ -2158,19 +2163,19 @@ tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d)
inet6ctlerrmap[cmd]);
}
}
-unlock_inp:
- if (inp != NULL)
- INP_WUNLOCK(inp);
} else {
bzero(&inc, sizeof(inc));
inc.inc_fibnum = M_GETFIB(m);
inc.inc_flags |= INC_ISIPV6;
- inc.inc_fport = th->th_dport;
- inc.inc_lport = th->th_sport;
+ inc.inc_fport = t_ports.th_dport;
+ inc.inc_lport = t_ports.th_sport;
inc.inc6_faddr = *dst;
inc.inc6_laddr = ip6->ip6_src;
- syncache_unreach(&inc, th);
+ syncache_unreach(&inc, icmp_tcp_seq);
}
+out:
+ if (inp != NULL)
+ INP_WUNLOCK(inp);
INP_INFO_RUNLOCK(&V_tcbinfo);
}
#endif /* INET6 */
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
index 2c24f0e..d668b4d 100644
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -252,6 +252,8 @@ syncache_init(void)
&V_tcp_syncache.hashbase[i].sch_mtx, 0);
V_tcp_syncache.hashbase[i].sch_length = 0;
V_tcp_syncache.hashbase[i].sch_sc = &V_tcp_syncache;
+ V_tcp_syncache.hashbase[i].sch_last_overflow =
+ -(SYNCOOKIE_LIFETIME + 1);
}
/* Create the syncache entry zone. */
@@ -327,6 +329,7 @@ syncache_insert(struct syncache *sc, struct syncache_head *sch)
KASSERT(!TAILQ_EMPTY(&sch->sch_bucket),
("sch->sch_length incorrect"));
sc2 = TAILQ_LAST(&sch->sch_bucket, sch_head);
+ sch->sch_last_overflow = time_uptime;
syncache_drop(sc2, sch);
TCPSTAT_INC(tcps_sc_bucketoverflow);
}
@@ -591,7 +594,7 @@ syncache_badack(struct in_conninfo *inc)
}
void
-syncache_unreach(struct in_conninfo *inc, struct tcphdr *th)
+syncache_unreach(struct in_conninfo *inc, tcp_seq th_seq)
{
struct syncache *sc;
struct syncache_head *sch;
@@ -602,7 +605,7 @@ syncache_unreach(struct in_conninfo *inc, struct tcphdr *th)
goto done;
/* If the sequence number != sc_iss, then it's a bogus ICMP msg */
- if (ntohl(th->th_seq) != sc->sc_iss)
+ if (ntohl(th_seq) != sc->sc_iss)
goto done;
/*
@@ -966,10 +969,13 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
/*
* There is no syncache entry, so see if this ACK is
* a returning syncookie. To do this, first:
- * A. See if this socket has had a syncache entry dropped in
- * the past. We don't want to accept a bogus syncookie
- * if we've never received a SYN.
- * B. check that the syncookie is valid. If it is, then
+ * A. Check if syncookies are used in case of syncache
+ * overflows
+ * B. See if this socket has had a syncache entry dropped in
+ * the recent past. We don't want to accept a bogus
+ * syncookie if we've never received a SYN or accept it
+ * twice.
+ * C. check that the syncookie is valid. If it is, then
* cobble up a fake syncache entry, and return.
*/
if (!V_tcp_syncookies) {
@@ -980,6 +986,15 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
s, __func__);
goto failed;
}
+ if (!V_tcp_syncookiesonly &&
+ sch->sch_last_overflow < time_uptime - SYNCOOKIE_LIFETIME) {
+ SCH_UNLOCK(sch);
+ if ((s = tcp_log_addrs(inc, th, NULL, NULL)))
+ log(LOG_DEBUG, "%s; %s: Spurious ACK, "
+ "segment rejected (no syncache entry)\n",
+ s, __func__);
+ goto failed;
+ }
bzero(&scs, sizeof(scs));
sc = syncookie_lookup(inc, sch, &scs, th, to, *lsop);
SCH_UNLOCK(sch);
@@ -1399,8 +1414,10 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
* entry and insert the new one.
*/
TCPSTAT_INC(tcps_sc_zonefail);
- if ((sc = TAILQ_LAST(&sch->sch_bucket, sch_head)) != NULL)
+ if ((sc = TAILQ_LAST(&sch->sch_bucket, sch_head)) != NULL) {
+ sch->sch_last_overflow = time_uptime;
syncache_drop(sc, sch);
+ }
sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO);
if (sc == NULL) {
if (V_tcp_syncookies) {
diff --git a/sys/netinet/tcp_syncache.h b/sys/netinet/tcp_syncache.h
index 6b12c13..fe17da6 100644
--- a/sys/netinet/tcp_syncache.h
+++ b/sys/netinet/tcp_syncache.h
@@ -38,7 +38,7 @@ void syncache_init(void);
#ifdef VIMAGE
void syncache_destroy(void);
#endif
-void syncache_unreach(struct in_conninfo *, struct tcphdr *);
+void syncache_unreach(struct in_conninfo *, tcp_seq);
int syncache_expand(struct in_conninfo *, struct tcpopt *,
struct tcphdr *, struct socket **, struct mbuf *);
int syncache_add(struct in_conninfo *, struct tcpopt *,
@@ -99,6 +99,7 @@ struct syncache_head {
int sch_nextc;
u_int sch_length;
struct tcp_syncache *sch_sc;
+ time_t sch_last_overflow;
};
#define SYNCOOKIE_SECRET_SIZE 16
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c
index 9a53b93..6a7bf00 100644
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -597,6 +597,10 @@ tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
error = EINVAL;
goto out;
}
+ if ((inp->inp_vflag & INP_IPV4) == 0) {
+ error = EAFNOSUPPORT;
+ goto out;
+ }
in6_sin6_2_sin(&sin, sin6p);
inp->inp_vflag |= INP_IPV4;
@@ -614,6 +618,11 @@ tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
#endif
error = tp->t_fb->tfb_tcp_output(tp);
goto out;
+ } else {
+ if ((inp->inp_vflag & INP_IPV6) == 0) {
+ error = EAFNOSUPPORT;
+ goto out;
+ }
}
#endif
inp->inp_vflag &= ~INP_IPV4;
diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c
index 962fee3..551f174 100644
--- a/sys/netinet6/ip6_output.c
+++ b/sys/netinet6/ip6_output.c
@@ -324,6 +324,7 @@ ip6_output(struct mbuf *m0, struct ip6_pktopts *opt,
uint32_t id;
if (inp != NULL) {
+ INP_LOCK_ASSERT(inp);
M_SETFIB(m, inp->inp_inc.inc_fibnum);
if ((flags & IP_NODEFAULTFLOWID) == 0) {
/* unconditionally set flowid */
diff --git a/sys/netinet6/sctp6_usrreq.c b/sys/netinet6/sctp6_usrreq.c
index c2a45a6..054b4c1 100644
--- a/sys/netinet6/sctp6_usrreq.c
+++ b/sys/netinet6/sctp6_usrreq.c
@@ -183,7 +183,7 @@ sctp6_notify(struct sctp_inpcb *inp,
struct sctp_nets *net,
uint8_t icmp6_type,
uint8_t icmp6_code,
- uint16_t next_mtu)
+ uint32_t next_mtu)
{
#if defined(__APPLE__) || defined(SCTP_SO_LOCK_TESTING)
struct socket *so;
@@ -237,11 +237,11 @@ sctp6_notify(struct sctp_inpcb *inp,
timer_stopped = 0;
}
/* Update the path MTU. */
+ if (net->port) {
+ next_mtu -= sizeof(struct udphdr);
+ }
if (net->mtu > next_mtu) {
net->mtu = next_mtu;
- if (net->port) {
- net->mtu -= sizeof(struct udphdr);
- }
}
/* Update the association MTU */
if (stcb->asoc.smallest_mtu > next_mtu) {
@@ -383,7 +383,7 @@ sctp6_ctlinput(int cmd, struct sockaddr *pktdst, void *d)
sctp6_notify(inp, stcb, net,
ip6cp->ip6c_icmp6->icmp6_type,
ip6cp->ip6c_icmp6->icmp6_code,
- (uint16_t)ntohl(ip6cp->ip6c_icmp6->icmp6_mtu));
+ ntohl(ip6cp->ip6c_icmp6->icmp6_mtu));
} else {
if ((stcb == NULL) && (inp != NULL)) {
/* reduce inp's ref-count */
diff --git a/sys/netinet6/sctp6_var.h b/sys/netinet6/sctp6_var.h
index 232fee1..a24ceba 100644
--- a/sys/netinet6/sctp6_var.h
+++ b/sys/netinet6/sctp6_var.h
@@ -49,6 +49,6 @@ sctp6_output(struct sctp_inpcb *, struct mbuf *, struct sockaddr *,
void sctp6_ctlinput(int, struct sockaddr *, void *);
void
sctp6_notify(struct sctp_inpcb *, struct sctp_tcb *, struct sctp_nets *,
- uint8_t, uint8_t, uint16_t);
+ uint8_t, uint8_t, uint32_t);
#endif
#endif
diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c
index cc10527..56faf5a 100644
--- a/sys/netinet6/udp6_usrreq.c
+++ b/sys/netinet6/udp6_usrreq.c
@@ -1104,6 +1104,10 @@ udp6_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
error = EINVAL;
goto out;
}
+ if ((inp->inp_vflag & INP_IPV4) == 0) {
+ error = EAFNOSUPPORT;
+ goto out;
+ }
if (inp->inp_faddr.s_addr != INADDR_ANY) {
error = EISCONN;
goto out;
@@ -1121,6 +1125,11 @@ udp6_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
if (error == 0)
soisconnected(so);
goto out;
+ } else {
+ if ((inp->inp_vflag & INP_IPV6) == 0) {
+ error = EAFNOSUPPORT;
+ goto out;
+ }
}
#endif
if (!IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr)) {
diff --git a/sys/netipsec/ipsec.h b/sys/netipsec/ipsec.h
index 49413e2..147412f 100644
--- a/sys/netipsec/ipsec.h
+++ b/sys/netipsec/ipsec.h
@@ -299,7 +299,13 @@ VNET_DECLARE(int, natt_cksum_policy);
#define ipseclog(x) do { if (V_ipsec_debug) log x; } while (0)
/* for openbsd compatibility */
+#ifdef IPSEC_DEBUG
+#define IPSEC_DEBUG_DECLARE(x) x
#define DPRINTF(x) do { if (V_ipsec_debug) printf x; } while (0)
+#else
+#define IPSEC_DEBUG_DECLARE(x)
+#define DPRINTF(x)
+#endif
struct inpcb;
struct m_tag;
diff --git a/sys/netipsec/ipsec_input.c b/sys/netipsec/ipsec_input.c
index c4acafe..f30a017 100644
--- a/sys/netipsec/ipsec_input.c
+++ b/sys/netipsec/ipsec_input.c
@@ -117,7 +117,7 @@ __FBSDID("$FreeBSD$");
static int
ipsec_common_input(struct mbuf *m, int skip, int protoff, int af, int sproto)
{
- char buf[IPSEC_ADDRSTRLEN];
+ IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]);
union sockaddr_union dst_address;
struct secasvar *sav;
uint32_t spi;
@@ -223,8 +223,6 @@ ipsec_common_input(struct mbuf *m, int skip, int protoff, int af, int sproto)
* everything else.
*/
error = (*sav->tdb_xform->xf_input)(m, sav, skip, protoff);
- if (error != 0)
- key_freesav(&sav);
return (error);
}
@@ -279,7 +277,7 @@ int
ipsec4_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip,
int protoff)
{
- char buf[IPSEC_ADDRSTRLEN];
+ IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]);
struct ipsec_ctx_data ctx;
struct xform_history *xh;
struct secasindex *saidx;
@@ -490,7 +488,7 @@ int
ipsec6_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip,
int protoff)
{
- char buf[IPSEC_ADDRSTRLEN];
+ IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]);
struct ipsec_ctx_data ctx;
struct xform_history *xh;
struct secasindex *saidx;
diff --git a/sys/netipsec/ipsec_output.c b/sys/netipsec/ipsec_output.c
index 392008e..ee45ce2 100644
--- a/sys/netipsec/ipsec_output.c
+++ b/sys/netipsec/ipsec_output.c
@@ -183,7 +183,6 @@ next:
static int
ipsec4_perform_request(struct mbuf *m, struct secpolicy *sp, u_int idx)
{
- char sbuf[IPSEC_ADDRSTRLEN], dbuf[IPSEC_ADDRSTRLEN];
struct ipsec_ctx_data ctx;
union sockaddr_union *dst;
struct secasvar *sav;
@@ -230,12 +229,9 @@ ipsec4_perform_request(struct mbuf *m, struct secpolicy *sp, u_int idx)
ip->ip_sum = in_cksum(m, ip->ip_hl << 2);
error = ipsec_encap(&m, &sav->sah->saidx);
if (error != 0) {
- DPRINTF(("%s: encapsulation for SA %s->%s "
- "SPI 0x%08x failed with error %d\n", __func__,
- ipsec_address(&sav->sah->saidx.src, sbuf,
- sizeof(sbuf)),
- ipsec_address(&sav->sah->saidx.dst, dbuf,
- sizeof(dbuf)), ntohl(sav->spi), error));
+ DPRINTF(("%s: encapsulation for SPI 0x%08x failed "
+ "with error %d\n", __func__, ntohl(sav->spi),
+ error));
/* XXXAE: IPSEC_OSTAT_INC(tunnel); */
goto bad;
}
@@ -273,10 +269,6 @@ ipsec4_perform_request(struct mbuf *m, struct secpolicy *sp, u_int idx)
goto bad;
}
error = (*sav->tdb_xform->xf_output)(m, sp, sav, idx, i, off);
- if (error != 0) {
- key_freesav(&sav);
- key_freesp(&sp);
- }
return (error);
bad:
IPSECSTAT_INC(ips_out_inval);
@@ -501,7 +493,6 @@ next:
static int
ipsec6_perform_request(struct mbuf *m, struct secpolicy *sp, u_int idx)
{
- char sbuf[IPSEC_ADDRSTRLEN], dbuf[IPSEC_ADDRSTRLEN];
struct ipsec_ctx_data ctx;
union sockaddr_union *dst;
struct secasvar *sav;
@@ -543,12 +534,9 @@ ipsec6_perform_request(struct mbuf *m, struct secpolicy *sp, u_int idx)
}
error = ipsec_encap(&m, &sav->sah->saidx);
if (error != 0) {
- DPRINTF(("%s: encapsulation for SA %s->%s "
- "SPI 0x%08x failed with error %d\n", __func__,
- ipsec_address(&sav->sah->saidx.src, sbuf,
- sizeof(sbuf)),
- ipsec_address(&sav->sah->saidx.dst, dbuf,
- sizeof(dbuf)), ntohl(sav->spi), error));
+ DPRINTF(("%s: encapsulation for SPI 0x%08x failed "
+ "with error %d\n", __func__, ntohl(sav->spi),
+ error));
/* XXXAE: IPSEC_OSTAT_INC(tunnel); */
goto bad;
}
@@ -581,10 +569,6 @@ ipsec6_perform_request(struct mbuf *m, struct secpolicy *sp, u_int idx)
goto bad;
}
error = (*sav->tdb_xform->xf_output)(m, sp, sav, idx, i, off);
- if (error != 0) {
- key_freesav(&sav);
- key_freesp(&sp);
- }
return (error);
bad:
IPSEC6STAT_INC(ips_out_inval);
diff --git a/sys/netipsec/key_debug.c b/sys/netipsec/key_debug.c
index e4dc9ea..0251d96 100644
--- a/sys/netipsec/key_debug.c
+++ b/sys/netipsec/key_debug.c
@@ -77,10 +77,6 @@ static void kdebug_sadb_x_sa2(struct sadb_ext *);
static void kdebug_sadb_x_sa_replay(struct sadb_ext *);
static void kdebug_sadb_x_natt(struct sadb_ext *);
-#ifdef _KERNEL
-static void kdebug_secreplay(struct secreplay *);
-#endif
-
#ifndef _KERNEL
#define panic(fmt, ...) { printf(fmt, ## __VA_ARGS__); exit(-1); }
#endif
@@ -724,6 +720,7 @@ kdebug_secash(struct secashead *sah, const char *indent)
printf("}\n");
}
+#ifdef IPSEC_DEBUG
static void
kdebug_secreplay(struct secreplay *rpl)
{
@@ -745,6 +742,7 @@ kdebug_secreplay(struct secreplay *rpl)
}
printf(" }\n");
}
+#endif /* IPSEC_DEBUG */
static void
kdebug_secnatt(struct secnatt *natt)
diff --git a/sys/netipsec/key_debug.h b/sys/netipsec/key_debug.h
index 18150b5..afb11cb 100644
--- a/sys/netipsec/key_debug.h
+++ b/sys/netipsec/key_debug.h
@@ -53,10 +53,14 @@
#define KEYDEBUG_IPSEC_DATA (KEYDEBUG_IPSEC | KEYDEBUG_DATA)
#define KEYDEBUG_IPSEC_DUMP (KEYDEBUG_IPSEC | KEYDEBUG_DUMP)
+#ifdef IPSEC_DEBUG
#define KEYDBG(lev, arg) \
if ((V_key_debug_level & (KEYDEBUG_ ## lev)) == (KEYDEBUG_ ## lev)) { \
arg; \
}
+#else
+#define KEYDBG(lev, arg)
+#endif /* !IPSEC_DEBUG */
VNET_DECLARE(uint32_t, key_debug_level);
#define V_key_debug_level VNET(key_debug_level)
diff --git a/sys/netipsec/xform_ah.c b/sys/netipsec/xform_ah.c
index e5f8031..fada7b7 100644
--- a/sys/netipsec/xform_ah.c
+++ b/sys/netipsec/xform_ah.c
@@ -544,7 +544,7 @@ ah_massage_headers(struct mbuf **m0, int proto, int skip, int alg, int out)
static int
ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
{
- char buf[128];
+ IPSEC_DEBUG_DECLARE(char buf[128]);
const struct auth_hash *ahx;
struct cryptodesc *crda;
struct cryptop *crp;
@@ -566,8 +566,8 @@ ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
if (ah == NULL) {
DPRINTF(("ah_input: cannot pullup header\n"));
AHSTAT_INC(ahs_hdrops); /*XXX*/
- m_freem(m);
- return ENOBUFS;
+ error = ENOBUFS;
+ goto bad;
}
/* Check replay window, if applicable. */
@@ -578,8 +578,8 @@ ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
AHSTAT_INC(ahs_replay);
DPRINTF(("%s: packet replay failure: %s\n", __func__,
ipsec_sa2str(sav, buf, sizeof(buf))));
- m_freem(m);
- return (EACCES);
+ error = EACCES;
+ goto bad;
}
cryptoid = sav->tdb_cryptoid;
SECASVAR_UNLOCK(sav);
@@ -595,8 +595,8 @@ ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
ipsec_address(&sav->sah->saidx.dst, buf, sizeof(buf)),
(u_long) ntohl(sav->spi)));
AHSTAT_INC(ahs_badauthl);
- m_freem(m);
- return EACCES;
+ error = EACCES;
+ goto bad;
}
AHSTAT_ADD(ahs_ibytes, m->m_pkthdr.len - skip - hl);
@@ -606,8 +606,8 @@ ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
DPRINTF(("%s: failed to acquire crypto descriptor\n",
__func__));
AHSTAT_INC(ahs_crypto);
- m_freem(m);
- return ENOBUFS;
+ error = ENOBUFS;
+ goto bad;
}
crda = crp->crp_desc;
@@ -629,8 +629,8 @@ ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
DPRINTF(("%s: failed to allocate xform_data\n", __func__));
AHSTAT_INC(ahs_crypto);
crypto_freereq(crp);
- m_freem(m);
- return ENOBUFS;
+ error = ENOBUFS;
+ goto bad;
}
/*
@@ -650,6 +650,7 @@ ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
AHSTAT_INC(ahs_hdrops);
free(xd, M_XDATA);
crypto_freereq(crp);
+ key_freesav(&sav);
return (error);
}
@@ -668,6 +669,10 @@ ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
xd->skip = skip;
xd->cryptoid = cryptoid;
return (crypto_dispatch(crp));
+bad:
+ m_freem(m);
+ key_freesav(&sav);
+ return (error);
}
/*
@@ -676,7 +681,7 @@ ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
static int
ah_input_cb(struct cryptop *crp)
{
- char buf[IPSEC_ADDRSTRLEN];
+ IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]);
unsigned char calc[AH_ALEN_MAX];
const struct auth_hash *ahx;
struct mbuf *m;
@@ -826,7 +831,7 @@ static int
ah_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav,
u_int idx, int skip, int protoff)
{
- char buf[IPSEC_ADDRSTRLEN];
+ IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]);
const struct auth_hash *ahx;
struct cryptodesc *crda;
struct xform_data *xd;
@@ -1044,6 +1049,8 @@ ah_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav,
bad:
if (m)
m_freem(m);
+ key_freesav(&sav);
+ key_freesp(&sp);
return (error);
}
diff --git a/sys/netipsec/xform_esp.c b/sys/netipsec/xform_esp.c
index 3c5ca6b..39d5b8c 100644
--- a/sys/netipsec/xform_esp.c
+++ b/sys/netipsec/xform_esp.c
@@ -263,7 +263,7 @@ esp_zeroize(struct secasvar *sav)
static int
esp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
{
- char buf[128];
+ IPSEC_DEBUG_DECLARE(char buf[128]);
const struct auth_hash *esph;
const struct enc_xform *espx;
struct xform_data *xd;
@@ -272,18 +272,18 @@ esp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
struct newesp *esp;
uint8_t *ivp;
uint64_t cryptoid;
- int plen, alen, hlen;
+ int alen, error, hlen, plen;
IPSEC_ASSERT(sav != NULL, ("null SA"));
IPSEC_ASSERT(sav->tdb_encalgxform != NULL, ("null encoding xform"));
+ error = EINVAL;
/* Valid IP Packet length ? */
if ( (skip&3) || (m->m_pkthdr.len&3) ){
DPRINTF(("%s: misaligned packet, skip %u pkt len %u",
__func__, skip, m->m_pkthdr.len));
ESPSTAT_INC(esps_badilen);
- m_freem(m);
- return EINVAL;
+ goto bad;
}
/* XXX don't pullup, just copy header */
IP6_EXTHDR_GET(esp, struct newesp *, m, skip, sizeof (struct newesp));
@@ -314,8 +314,7 @@ esp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
ipsec_address(&sav->sah->saidx.dst, buf, sizeof(buf)),
(u_long)ntohl(sav->spi)));
ESPSTAT_INC(esps_badilen);
- m_freem(m);
- return EINVAL;
+ goto bad;
}
/*
@@ -328,8 +327,8 @@ esp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
DPRINTF(("%s: packet replay check for %s\n", __func__,
ipsec_sa2str(sav, buf, sizeof(buf))));
ESPSTAT_INC(esps_replay);
- m_freem(m);
- return (EACCES);
+ error = EACCES;
+ goto bad;
}
}
cryptoid = sav->tdb_cryptoid;
@@ -344,8 +343,8 @@ esp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
DPRINTF(("%s: failed to acquire crypto descriptors\n",
__func__));
ESPSTAT_INC(esps_crypto);
- m_freem(m);
- return ENOBUFS;
+ error = ENOBUFS;
+ goto bad;
}
/* Get IPsec-specific opaque pointer */
@@ -354,8 +353,8 @@ esp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
DPRINTF(("%s: failed to allocate xform_data\n", __func__));
ESPSTAT_INC(esps_crypto);
crypto_freereq(crp);
- m_freem(m);
- return ENOBUFS;
+ error = ENOBUFS;
+ goto bad;
}
if (esph != NULL) {
@@ -425,6 +424,10 @@ esp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
crde->crd_alg = espx->type;
return (crypto_dispatch(crp));
+bad:
+ m_freem(m);
+ key_freesav(&sav);
+ return (error);
}
/*
@@ -433,7 +436,7 @@ esp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
static int
esp_input_cb(struct cryptop *crp)
{
- char buf[128];
+ IPSEC_DEBUG_DECLARE(char buf[128]);
u_int8_t lastthree[3], aalg[AH_HMAC_MAXHASHLEN];
const struct auth_hash *esph;
const struct enc_xform *espx;
@@ -619,7 +622,7 @@ static int
esp_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav,
u_int idx, int skip, int protoff)
{
- char buf[IPSEC_ADDRSTRLEN];
+ IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]);
struct cryptodesc *crde = NULL, *crda = NULL;
struct cryptop *crp;
const struct auth_hash *esph;
@@ -858,6 +861,8 @@ esp_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav,
bad:
if (m)
m_freem(m);
+ key_freesav(&sav);
+ key_freesp(&sp);
return (error);
}
/*
diff --git a/sys/netipsec/xform_ipcomp.c b/sys/netipsec/xform_ipcomp.c
index eb68f2a..1e8fc59 100644
--- a/sys/netipsec/xform_ipcomp.c
+++ b/sys/netipsec/xform_ipcomp.c
@@ -194,34 +194,35 @@ ipcomp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
struct cryptop *crp;
struct ipcomp *ipcomp;
caddr_t addr;
- int hlen = IPCOMP_HLENGTH;
+ int error, hlen = IPCOMP_HLENGTH;
/*
* Check that the next header of the IPComp is not IPComp again, before
* doing any real work. Given it is not possible to do double
* compression it means someone is playing tricks on us.
*/
+ error = ENOBUFS;
if (m->m_len < skip + hlen && (m = m_pullup(m, skip + hlen)) == NULL) {
IPCOMPSTAT_INC(ipcomps_hdrops); /*XXX*/
DPRINTF(("%s: m_pullup failed\n", __func__));
- return (ENOBUFS);
+ key_freesav(&sav);
+ return (error);
}
addr = (caddr_t) mtod(m, struct ip *) + skip;
ipcomp = (struct ipcomp *)addr;
if (ipcomp->comp_nxt == IPPROTO_IPCOMP) {
- m_freem(m);
IPCOMPSTAT_INC(ipcomps_pdrops); /* XXX have our own stats? */
DPRINTF(("%s: recursive compression detected\n", __func__));
- return (EINVAL);
+ error = EINVAL;
+ goto bad;
}
/* Get crypto descriptors */
crp = crypto_getreq(1);
if (crp == NULL) {
- m_freem(m);
DPRINTF(("%s: no crypto descriptors\n", __func__));
IPCOMPSTAT_INC(ipcomps_crypto);
- return ENOBUFS;
+ goto bad;
}
/* Get IPsec-specific opaque pointer */
xd = malloc(sizeof(*xd), M_XDATA, M_NOWAIT | M_ZERO);
@@ -229,8 +230,7 @@ ipcomp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
DPRINTF(("%s: cannot allocate xform_data\n", __func__));
IPCOMPSTAT_INC(ipcomps_crypto);
crypto_freereq(crp);
- m_freem(m);
- return ENOBUFS;
+ goto bad;
}
crdc = crp->crp_desc;
@@ -259,6 +259,10 @@ ipcomp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
SECASVAR_UNLOCK(sav);
return crypto_dispatch(crp);
+bad:
+ m_freem(m);
+ key_freesav(&sav);
+ return (error);
}
/*
@@ -267,7 +271,7 @@ ipcomp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
static int
ipcomp_input_cb(struct cryptop *crp)
{
- char buf[IPSEC_ADDRSTRLEN];
+ IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]);
struct cryptodesc *crd;
struct xform_data *xd;
struct mbuf *m;
@@ -383,7 +387,7 @@ static int
ipcomp_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav,
u_int idx, int skip, int protoff)
{
- char buf[IPSEC_ADDRSTRLEN];
+ IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]);
const struct comp_algo *ipcompx;
struct cryptodesc *crdc;
struct cryptop *crp;
@@ -506,6 +510,8 @@ ipcomp_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav,
bad:
if (m)
m_freem(m);
+ key_freesav(&sav);
+ key_freesp(&sp);
return (error);
}
@@ -515,7 +521,7 @@ bad:
static int
ipcomp_output_cb(struct cryptop *crp)
{
- char buf[IPSEC_ADDRSTRLEN];
+ IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]);
struct xform_data *xd;
struct secpolicy *sp;
struct secasvar *sav;
diff --git a/sys/netpfil/ipfw/dn_aqm_pie.c b/sys/netpfil/ipfw/dn_aqm_pie.c
index 85062e2..c306a4c 100644
--- a/sys/netpfil/ipfw/dn_aqm_pie.c
+++ b/sys/netpfil/ipfw/dn_aqm_pie.c
@@ -206,21 +206,33 @@ calculate_drop_prob(void *x)
int64_t p, prob, oldprob;
struct dn_aqm_pie_parms *pprms;
struct pie_status *pst = (struct pie_status *) x;
+ int p_isneg;
pprms = pst->parms;
prob = pst->drop_prob;
- /* calculate current qdelay */
- if (pprms->flags & PIE_DEPRATEEST_ENABLED) {
+ /* calculate current qdelay using DRE method.
+ * If TS is used and no data in the queue, reset current_qdelay
+ * as it stays at last value during dequeue process.
+ */
+ if (pprms->flags & PIE_DEPRATEEST_ENABLED)
pst->current_qdelay = ((uint64_t)pst->pq->ni.len_bytes *
pst->avg_dq_time) >> PIE_DQ_THRESHOLD_BITS;
- }
+ else
+ if (!pst->pq->ni.len_bytes)
+ pst->current_qdelay = 0;
/* calculate drop probability */
p = (int64_t)pprms->alpha *
((int64_t)pst->current_qdelay - (int64_t)pprms->qdelay_ref);
p +=(int64_t) pprms->beta *
((int64_t)pst->current_qdelay - (int64_t)pst->qdelay_old);
+
+ /* take absolute value so right shift result is well defined */
+ p_isneg = p < 0;
+ if (p_isneg) {
+ p = -p;
+ }
/* We PIE_MAX_PROB shift by 12-bits to increase the division precision */
p *= (PIE_MAX_PROB << 12) / AQM_TIME_1S;
@@ -243,37 +255,47 @@ calculate_drop_prob(void *x)
oldprob = prob;
- /* Cap Drop adjustment */
- if ((pprms->flags & PIE_CAPDROP_ENABLED) && prob >= PIE_MAX_PROB / 10
- && p > PIE_MAX_PROB / 50 )
- p = PIE_MAX_PROB / 50;
-
- prob = prob + p;
+ if (p_isneg) {
+ prob = prob - p;
- /* decay the drop probability exponentially */
- if (pst->current_qdelay == 0 && pst->qdelay_old == 0)
- /* 0.98 ~= 1- 1/64 */
- prob = prob - (prob >> 6);
+ /* check for multiplication underflow */
+ if (prob > oldprob) {
+ prob= 0;
+ D("underflow");
+ }
+ } else {
+ /* Cap Drop adjustment */
+ if ((pprms->flags & PIE_CAPDROP_ENABLED) &&
+ prob >= PIE_MAX_PROB / 10 &&
+ p > PIE_MAX_PROB / 50 ) {
+ p = PIE_MAX_PROB / 50;
+ }
+ prob = prob + p;
- /* check for multiplication overflow/underflow */
- if (p>0) {
+ /* check for multiplication overflow */
if (prob<oldprob) {
D("overflow");
prob= PIE_MAX_PROB;
}
}
- else
- if (prob>oldprob) {
- prob= 0;
- D("underflow");
- }
- /* make drop probability between 0 and PIE_MAX_PROB*/
- if (prob < 0)
+ /*
+ * decay the drop probability exponentially
+ * and restrict it to range 0 to PIE_MAX_PROB
+ */
+ if (prob < 0) {
prob = 0;
- else if (prob > PIE_MAX_PROB)
- prob = PIE_MAX_PROB;
+ } else {
+ if (pst->current_qdelay == 0 && pst->qdelay_old == 0) {
+ /* 0.98 ~= 1- 1/64 */
+ prob = prob - (prob >> 6);
+ }
+
+ if (prob > PIE_MAX_PROB) {
+ prob = PIE_MAX_PROB;
+ }
+ }
pst->drop_prob = prob;
diff --git a/sys/netpfil/ipfw/dn_sched_fq_pie.c b/sys/netpfil/ipfw/dn_sched_fq_pie.c
index bfcd6c5..5ee4006 100644
--- a/sys/netpfil/ipfw/dn_sched_fq_pie.c
+++ b/sys/netpfil/ipfw/dn_sched_fq_pie.c
@@ -377,22 +377,34 @@ fq_calculate_drop_prob(void *x)
struct dn_aqm_pie_parms *pprms;
int64_t p, prob, oldprob;
aqm_time_t now;
+ int p_isneg;
now = AQM_UNOW;
pprms = pst->parms;
prob = pst->drop_prob;
- /* calculate current qdelay */
- if (pprms->flags & PIE_DEPRATEEST_ENABLED) {
+ /* calculate current qdelay using DRE method.
+ * If TS is used and no data in the queue, reset current_qdelay
+ * as it stays at last value during dequeue process.
+ */
+ if (pprms->flags & PIE_DEPRATEEST_ENABLED)
pst->current_qdelay = ((uint64_t)q->stats.len_bytes * pst->avg_dq_time)
>> PIE_DQ_THRESHOLD_BITS;
- }
+ else
+ if (!q->stats.len_bytes)
+ pst->current_qdelay = 0;
/* calculate drop probability */
p = (int64_t)pprms->alpha *
((int64_t)pst->current_qdelay - (int64_t)pprms->qdelay_ref);
p +=(int64_t) pprms->beta *
((int64_t)pst->current_qdelay - (int64_t)pst->qdelay_old);
+
+ /* take absolute value so right shift result is well defined */
+ p_isneg = p < 0;
+ if (p_isneg) {
+ p = -p;
+ }
/* We PIE_MAX_PROB shift by 12-bits to increase the division precision */
p *= (PIE_MAX_PROB << 12) / AQM_TIME_1S;
@@ -415,37 +427,47 @@ fq_calculate_drop_prob(void *x)
oldprob = prob;
- /* Cap Drop adjustment */
- if ((pprms->flags & PIE_CAPDROP_ENABLED) && prob >= PIE_MAX_PROB / 10
- && p > PIE_MAX_PROB / 50 )
- p = PIE_MAX_PROB / 50;
-
- prob = prob + p;
+ if (p_isneg) {
+ prob = prob - p;
- /* decay the drop probability exponentially */
- if (pst->current_qdelay == 0 && pst->qdelay_old == 0)
- /* 0.98 ~= 1- 1/64 */
- prob = prob - (prob >> 6);
+ /* check for multiplication underflow */
+ if (prob > oldprob) {
+ prob= 0;
+ D("underflow");
+ }
+ } else {
+ /* Cap Drop adjustment */
+ if ((pprms->flags & PIE_CAPDROP_ENABLED) &&
+ prob >= PIE_MAX_PROB / 10 &&
+ p > PIE_MAX_PROB / 50 ) {
+ p = PIE_MAX_PROB / 50;
+ }
+ prob = prob + p;
- /* check for multiplication over/under flow */
- if (p>0) {
+ /* check for multiplication overflow */
if (prob<oldprob) {
D("overflow");
prob= PIE_MAX_PROB;
}
}
- else
- if (prob>oldprob) {
- prob= 0;
- D("underflow");
- }
- /* make drop probability between 0 and PIE_MAX_PROB*/
- if (prob < 0)
+ /*
+ * decay the drop probability exponentially
+ * and restrict it to range 0 to PIE_MAX_PROB
+ */
+ if (prob < 0) {
prob = 0;
- else if (prob > PIE_MAX_PROB)
- prob = PIE_MAX_PROB;
+ } else {
+ if (pst->current_qdelay == 0 && pst->qdelay_old == 0) {
+ /* 0.98 ~= 1- 1/64 */
+ prob = prob - (prob >> 6);
+ }
+
+ if (prob > PIE_MAX_PROB) {
+ prob = PIE_MAX_PROB;
+ }
+ }
pst->drop_prob = prob;
diff --git a/sys/netpfil/ipfw/nat64/nat64_translate.c b/sys/netpfil/ipfw/nat64/nat64_translate.c
index aefd0f9..25b4e14 100644
--- a/sys/netpfil/ipfw/nat64/nat64_translate.c
+++ b/sys/netpfil/ipfw/nat64/nat64_translate.c
@@ -1054,7 +1054,7 @@ nat64_getlasthdr(struct mbuf *m, int *offset)
if (proto == IPPROTO_HOPOPTS && ip6->ip6_plen == 0)
return (-1);
proto = hbh->ip6h_nxt;
- hlen += hbh->ip6h_len << 3;
+ hlen += (hbh->ip6h_len + 1) << 3;
}
if (offset != NULL)
*offset = hlen;
diff --git a/sys/netpfil/ipfw/nptv6/nptv6.c b/sys/netpfil/ipfw/nptv6/nptv6.c
index da86975..c720a33 100644
--- a/sys/netpfil/ipfw/nptv6/nptv6.c
+++ b/sys/netpfil/ipfw/nptv6/nptv6.c
@@ -125,7 +125,7 @@ nptv6_getlasthdr(struct nptv6_cfg *cfg, struct mbuf *m, int *offset)
if (m->m_len < hlen)
return (-1);
proto = hbh->ip6h_nxt;
- hlen += hbh->ip6h_len << 3;
+ hlen += (hbh->ip6h_len + 1) << 3;
}
if (offset != NULL)
*offset = hlen;
diff --git a/sys/netpfil/ipfw/pmod/tcpmod.c b/sys/netpfil/ipfw/pmod/tcpmod.c
index fc2bfb5..10b6d2d 100644
--- a/sys/netpfil/ipfw/pmod/tcpmod.c
+++ b/sys/netpfil/ipfw/pmod/tcpmod.c
@@ -137,7 +137,7 @@ tcpmod_ipv6_setmss(struct mbuf **mp, uint16_t mss)
proto == IPPROTO_DSTOPTS) {
hbh = mtodo(*mp, hlen);
proto = hbh->ip6h_nxt;
- hlen += hbh->ip6h_len << 3;
+ hlen += (hbh->ip6h_len + 1) << 3;
}
tcp = mtodo(*mp, hlen);
plen = (*mp)->m_pkthdr.len - hlen;
diff --git a/sys/ofed/drivers/infiniband/core/uverbs_main.c b/sys/ofed/drivers/infiniband/core/uverbs_main.c
index beec1c8..95e04f5 100644
--- a/sys/ofed/drivers/infiniband/core/uverbs_main.c
+++ b/sys/ofed/drivers/infiniband/core/uverbs_main.c
@@ -1225,7 +1225,7 @@ show_dev_device(struct device *device, struct device_attribute *attr, char *buf)
{
struct ib_uverbs_device *dev = dev_get_drvdata(device);
- if (!dev)
+ if (!dev || !dev->ib_dev->dma_device)
return -ENODEV;
return sprintf(buf, "0x%04x\n",
@@ -1238,7 +1238,7 @@ show_dev_vendor(struct device *device, struct device_attribute *attr, char *buf)
{
struct ib_uverbs_device *dev = dev_get_drvdata(device);
- if (!dev)
+ if (!dev || !dev->ib_dev->dma_device)
return -ENODEV;
return sprintf(buf, "0x%04x\n",
diff --git a/sys/ofed/drivers/net/mlx4/en_netdev.c b/sys/ofed/drivers/net/mlx4/en_netdev.c
index 26a0c6c..4ecdb5f 100644
--- a/sys/ofed/drivers/net/mlx4/en_netdev.c
+++ b/sys/ofed/drivers/net/mlx4/en_netdev.c
@@ -54,7 +54,6 @@
static void mlx4_en_sysctl_stat(struct mlx4_en_priv *priv);
static void mlx4_en_sysctl_conf(struct mlx4_en_priv *priv);
-static int mlx4_en_unit;
#ifdef CONFIG_NET_RX_BUSY_POLL
/* must be called with local_bh_disable()d */
@@ -1639,7 +1638,7 @@ void mlx4_en_free_resources(struct mlx4_en_priv *priv)
mlx4_en_destroy_cq(priv, &priv->rx_cq[i]);
}
- if (priv->sysctl)
+ if (priv->stat_sysctl != NULL)
sysctl_ctx_free(&priv->stat_ctx);
}
@@ -1731,13 +1730,12 @@ void mlx4_en_destroy_netdev(struct net_device *dev)
mutex_unlock(&mdev->state_lock);
}
- if (priv->allocated)
- mlx4_free_hwq_res(mdev->dev, &priv->res, MLX4_EN_PAGE_SIZE);
-
mutex_lock(&mdev->state_lock);
mlx4_en_stop_port(dev);
mutex_unlock(&mdev->state_lock);
+ if (priv->allocated)
+ mlx4_free_hwq_res(mdev->dev, &priv->res, MLX4_EN_PAGE_SIZE);
cancel_delayed_work(&priv->stats_task);
cancel_delayed_work(&priv->service_task);
@@ -1754,7 +1752,7 @@ void mlx4_en_destroy_netdev(struct net_device *dev)
mlx4_en_free_resources(priv);
/* freeing the sysctl conf cannot be called from within mlx4_en_free_resources */
- if (priv->sysctl)
+ if (priv->conf_sysctl != NULL)
sysctl_ctx_free(&priv->conf_ctx);
kfree(priv->tx_ring);
@@ -2053,7 +2051,8 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
return -ENOMEM;
}
dev->if_softc = priv;
- if_initname(dev, "mlxen", atomic_fetchadd_int(&mlx4_en_unit, 1));
+ if_initname(dev, "mlxen", (device_get_unit(
+ mdev->pdev->dev.bsddev) * MLX4_MAX_PORTS) + port - 1);
dev->if_mtu = ETHERMTU;
dev->if_init = mlx4_en_open;
dev->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
@@ -2573,9 +2572,9 @@ static void mlx4_en_sysctl_conf(struct mlx4_en_priv *priv)
pnameunit = device_get_nameunit(priv->mdev->pdev->dev.bsddev);
sysctl_ctx_init(ctx);
- priv->sysctl = SYSCTL_ADD_NODE(ctx, SYSCTL_STATIC_CHILDREN(_hw),
+ priv->conf_sysctl = SYSCTL_ADD_NODE(ctx, SYSCTL_STATIC_CHILDREN(_hw),
OID_AUTO, dev->if_xname, CTLFLAG_RD, 0, "mlx4 10gig ethernet");
- node = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(priv->sysctl), OID_AUTO,
+ node = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(priv->conf_sysctl), OID_AUTO,
"conf", CTLFLAG_RD, NULL, "Configuration");
node_list = SYSCTL_CHILDREN(node);
@@ -2638,7 +2637,6 @@ static void mlx4_en_sysctl_conf(struct mlx4_en_priv *priv)
static void mlx4_en_sysctl_stat(struct mlx4_en_priv *priv)
{
struct sysctl_ctx_list *ctx;
- struct sysctl_oid *node;
struct sysctl_oid_list *node_list;
struct sysctl_oid *ring_node;
struct sysctl_oid_list *ring_list;
@@ -2649,9 +2647,9 @@ static void mlx4_en_sysctl_stat(struct mlx4_en_priv *priv)
ctx = &priv->stat_ctx;
sysctl_ctx_init(ctx);
- node = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(priv->sysctl), OID_AUTO,
+ priv->stat_sysctl = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(priv->conf_sysctl), OID_AUTO,
"stat", CTLFLAG_RD, NULL, "Statistics");
- node_list = SYSCTL_CHILDREN(node);
+ node_list = SYSCTL_CHILDREN(priv->stat_sysctl);
#ifdef MLX4_EN_PERF_STAT
SYSCTL_ADD_UINT(ctx, node_list, OID_AUTO, "tx_poll", CTLFLAG_RD,
diff --git a/sys/ofed/drivers/net/mlx4/en_tx.c b/sys/ofed/drivers/net/mlx4/en_tx.c
index e98aec3..ce7eddb 100644
--- a/sys/ofed/drivers/net/mlx4/en_tx.c
+++ b/sys/ofed/drivers/net/mlx4/en_tx.c
@@ -661,18 +661,6 @@ static void mlx4_bf_copy(void __iomem *dst, volatile unsigned long *src, unsigne
__iowrite64_copy(dst, __DEVOLATILE(void *, src), bytecnt / 8);
}
-static u64 mlx4_en_mac_to_u64(u8 *addr)
-{
- u64 mac = 0;
- int i;
-
- for (i = 0; i < ETHER_ADDR_LEN; i++) {
- mac <<= 8;
- mac |= addr[i];
- }
- return mac;
-}
-
static int mlx4_en_xmit(struct mlx4_en_priv *priv, int tx_ind, struct mbuf **mbp)
{
enum {
@@ -770,8 +758,18 @@ static int mlx4_en_xmit(struct mlx4_en_priv *priv, int tx_ind, struct mbuf **mbp
tx_desc->ctrl.ins_vlan = 0;
}
- /* clear immediate field */
- tx_desc->ctrl.imm = 0;
+ if (unlikely(mlx4_is_mfunc(priv->mdev->dev) || priv->validate_loopback)) {
+ /*
+ * Copy destination MAC address to WQE. This allows
+ * loopback in eSwitch, so that VFs and PF can
+ * communicate with each other:
+ */
+ m_copydata(mb, 0, 2, __DEVOLATILE(void *, &tx_desc->ctrl.srcrb_flags16[0]));
+ m_copydata(mb, 2, 4, __DEVOLATILE(void *, &tx_desc->ctrl.imm));
+ } else {
+ /* clear immediate field */
+ tx_desc->ctrl.imm = 0;
+ }
/* Handle LSO (TSO) packets */
if (mb->m_pkthdr.csum_flags & CSUM_TSO) {
@@ -930,22 +928,6 @@ skip_dma:
else
mlx4_en_store_inline_header(dseg_inline, ihs, owner_bit);
- if (unlikely(priv->validate_loopback)) {
- /* Copy dst mac address to wqe */
- struct ether_header *ethh;
- u64 mac;
- u32 mac_l, mac_h;
-
- ethh = mtod(mb, struct ether_header *);
- mac = mlx4_en_mac_to_u64(ethh->ether_dhost);
- if (mac) {
- mac_h = (u32) ((mac & 0xffff00000000ULL) >> 16);
- mac_l = (u32) (mac & 0xffffffff);
- tx_desc->ctrl.srcrb_flags |= cpu_to_be32(mac_h);
- tx_desc->ctrl.imm = cpu_to_be32(mac_l);
- }
- }
-
/* update producer counter */
ring->prod += tx_info->nr_txbb;
diff --git a/sys/ofed/drivers/net/mlx4/eq.c b/sys/ofed/drivers/net/mlx4/eq.c
index 145b9bc..1436c8f 100644
--- a/sys/ofed/drivers/net/mlx4/eq.c
+++ b/sys/ofed/drivers/net/mlx4/eq.c
@@ -1136,8 +1136,12 @@ int mlx4_init_eq_table(struct mlx4_dev *dev)
goto err_out_free;
}
- err = mlx4_bitmap_init(&priv->eq_table.bitmap, dev->caps.num_eqs,
- dev->caps.num_eqs - 1, dev->caps.reserved_eqs, 0);
+ err = mlx4_bitmap_init(&priv->eq_table.bitmap,
+ roundup_pow_of_two(dev->caps.num_eqs),
+ dev->caps.num_eqs - 1,
+ dev->caps.reserved_eqs,
+ roundup_pow_of_two(dev->caps.num_eqs) -
+ dev->caps.num_eqs);
if (err)
goto err_out_free;
@@ -1165,8 +1169,7 @@ int mlx4_init_eq_table(struct mlx4_dev *dev)
}
for (i = 0; i < dev->caps.num_comp_vectors; ++i) {
- err = mlx4_create_eq(dev, dev->caps.num_cqs -
- dev->caps.reserved_cqs +
+ err = mlx4_create_eq(dev, dev->quotas.cq +
MLX4_NUM_SPARE_EQE,
(dev->flags & MLX4_FLAG_MSI_X) ? i : 0,
&priv->eq_table.eq[i]);
@@ -1186,8 +1189,7 @@ int mlx4_init_eq_table(struct mlx4_dev *dev)
for (i = dev->caps.num_comp_vectors + 1;
i < dev->caps.num_comp_vectors + dev->caps.comp_pool + 1; ++i) {
- err = mlx4_create_eq(dev, dev->caps.num_cqs -
- dev->caps.reserved_cqs +
+ err = mlx4_create_eq(dev, dev->quotas.cq +
MLX4_NUM_SPARE_EQE,
(dev->flags & MLX4_FLAG_MSI_X) ? i : 0,
&priv->eq_table.eq[i]);
diff --git a/sys/ofed/drivers/net/mlx4/fw.c b/sys/ofed/drivers/net/mlx4/fw.c
index e2909fa..c77cf8f 100644
--- a/sys/ofed/drivers/net/mlx4/fw.c
+++ b/sys/ofed/drivers/net/mlx4/fw.c
@@ -179,6 +179,60 @@ int mlx4_MOD_STAT_CFG(struct mlx4_dev *dev, struct mlx4_mod_stat_cfg *cfg)
return err;
}
+int mlx4_QUERY_FUNC(struct mlx4_dev *dev, struct mlx4_func *func, int slave)
+{
+ struct mlx4_cmd_mailbox *mailbox;
+ u32 *outbox;
+ u8 in_modifier;
+ u8 field;
+ u16 field16;
+ int err;
+
+#define QUERY_FUNC_BUS_OFFSET 0x00
+#define QUERY_FUNC_DEVICE_OFFSET 0x01
+#define QUERY_FUNC_FUNCTION_OFFSET 0x01
+#define QUERY_FUNC_PHYSICAL_FUNCTION_OFFSET 0x03
+#define QUERY_FUNC_RSVD_EQS_OFFSET 0x04
+#define QUERY_FUNC_MAX_EQ_OFFSET 0x06
+#define QUERY_FUNC_RSVD_UARS_OFFSET 0x0b
+
+ mailbox = mlx4_alloc_cmd_mailbox(dev);
+ if (IS_ERR(mailbox))
+ return PTR_ERR(mailbox);
+ outbox = mailbox->buf;
+
+ in_modifier = slave;
+
+ err = mlx4_cmd_box(dev, 0, mailbox->dma, in_modifier, 0,
+ MLX4_CMD_QUERY_FUNC,
+ MLX4_CMD_TIME_CLASS_A,
+ MLX4_CMD_NATIVE);
+ if (err)
+ goto out;
+
+ MLX4_GET(field, outbox, QUERY_FUNC_BUS_OFFSET);
+ func->bus = field & 0xf;
+ MLX4_GET(field, outbox, QUERY_FUNC_DEVICE_OFFSET);
+ func->device = field & 0xf1;
+ MLX4_GET(field, outbox, QUERY_FUNC_FUNCTION_OFFSET);
+ func->function = field & 0x7;
+ MLX4_GET(field, outbox, QUERY_FUNC_PHYSICAL_FUNCTION_OFFSET);
+ func->physical_function = field & 0xf;
+ MLX4_GET(field16, outbox, QUERY_FUNC_RSVD_EQS_OFFSET);
+ func->rsvd_eqs = field16 & 0xffff;
+ MLX4_GET(field16, outbox, QUERY_FUNC_MAX_EQ_OFFSET);
+ func->max_eq = field16 & 0xffff;
+ MLX4_GET(field, outbox, QUERY_FUNC_RSVD_UARS_OFFSET);
+ func->rsvd_uars = field & 0x0f;
+
+ mlx4_dbg(dev, "Bus: %d, Device: %d, Function: %d, Physical function: %d, Max EQs: %d, Reserved EQs: %d, Reserved UARs: %d\n",
+ func->bus, func->device, func->function, func->physical_function,
+ func->max_eq, func->rsvd_eqs, func->rsvd_uars);
+out:
+ mlx4_free_cmd_mailbox(dev, mailbox);
+ return err;
+}
+
int mlx4_QUERY_FUNC_CAP_wrapper(struct mlx4_dev *dev, int slave,
struct mlx4_vhcr *vhcr,
struct mlx4_cmd_mailbox *inbox,
@@ -189,6 +243,7 @@ int mlx4_QUERY_FUNC_CAP_wrapper(struct mlx4_dev *dev, int slave,
u8 field, port;
u32 size;
int err = 0;
+ struct mlx4_func func;
#define QUERY_FUNC_CAP_FLAGS_OFFSET 0x0
#define QUERY_FUNC_CAP_NUM_PORTS_OFFSET 0x1
@@ -210,10 +265,15 @@ int mlx4_QUERY_FUNC_CAP_wrapper(struct mlx4_dev *dev, int slave,
#define QUERY_FUNC_CAP_MTT_QUOTA_OFFSET 0x64
#define QUERY_FUNC_CAP_MCG_QUOTA_OFFSET 0x68
+#define QUERY_FUNC_CAP_EXTRA_FLAGS_OFFSET 0x6c
+
#define QUERY_FUNC_CAP_FMR_FLAG 0x80
#define QUERY_FUNC_CAP_FLAG_RDMA 0x40
#define QUERY_FUNC_CAP_FLAG_ETH 0x80
#define QUERY_FUNC_CAP_FLAG_QUOTAS 0x10
+#define QUERY_FUNC_CAP_FLAG_VALID_MAILBOX 0x04
+
+#define QUERY_FUNC_CAP_EXTRA_FLAGS_BF_QP_ALLOC_FLAG (1UL << 31)
/* when opcode modifier = 1 */
#define QUERY_FUNC_CAP_PHYS_PORT_OFFSET 0x3
@@ -231,6 +291,7 @@ int mlx4_QUERY_FUNC_CAP_wrapper(struct mlx4_dev *dev, int slave,
#define QUERY_FUNC_CAP_PROPS_DEF_COUNTER 0x20
#define QUERY_FUNC_CAP_RDMA_PROPS_FORCE_PHY_WQE_GID 0x80
+#define QUERY_FUNC_CAP_SUPPORTS_NON_POWER_OF_2_NUM_EQS (1 << 31)
if (vhcr->op_modifier == 1) {
port = vhcr->in_modifier; /* phys-port = logical-port */
@@ -266,7 +327,7 @@ int mlx4_QUERY_FUNC_CAP_wrapper(struct mlx4_dev *dev, int slave,
} else if (vhcr->op_modifier == 0) {
/* enable rdma and ethernet interfaces, and new quota locations */
field = (QUERY_FUNC_CAP_FLAG_ETH | QUERY_FUNC_CAP_FLAG_RDMA |
- QUERY_FUNC_CAP_FLAG_QUOTAS);
+ QUERY_FUNC_CAP_FLAG_QUOTAS | QUERY_FUNC_CAP_FLAG_VALID_MAILBOX);
MLX4_PUT(outbox->buf, field, QUERY_FUNC_CAP_FLAGS_OFFSET);
field = dev->caps.num_ports;
@@ -293,11 +354,24 @@ int mlx4_QUERY_FUNC_CAP_wrapper(struct mlx4_dev *dev, int slave,
size = dev->caps.num_cqs;
MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_CQ_QUOTA_OFFSET_DEP);
- size = dev->caps.num_eqs;
- MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_MAX_EQ_OFFSET);
-
- size = dev->caps.reserved_eqs;
- MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_RESERVED_EQ_OFFSET);
+ if (!(dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_SYS_EQS) ||
+ mlx4_QUERY_FUNC(dev, &func, slave)) {
+ size = vhcr->in_modifier &
+ QUERY_FUNC_CAP_SUPPORTS_NON_POWER_OF_2_NUM_EQS ?
+ dev->caps.num_eqs :
+ rounddown_pow_of_two(dev->caps.num_eqs);
+ MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_MAX_EQ_OFFSET);
+ size = dev->caps.reserved_eqs;
+ MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_RESERVED_EQ_OFFSET);
+ } else {
+ size = vhcr->in_modifier &
+ QUERY_FUNC_CAP_SUPPORTS_NON_POWER_OF_2_NUM_EQS ?
+ func.max_eq :
+ rounddown_pow_of_two(func.max_eq);
+ MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_MAX_EQ_OFFSET);
+ size = func.rsvd_eqs;
+ MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_RESERVED_EQ_OFFSET);
+ }
size = priv->mfunc.master.res_tracker.res_alloc[RES_MPT].quota[slave];
MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_MPT_QUOTA_OFFSET);
@@ -313,6 +387,8 @@ int mlx4_QUERY_FUNC_CAP_wrapper(struct mlx4_dev *dev, int slave,
MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_MCG_QUOTA_OFFSET);
MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_MCG_QUOTA_OFFSET_DEP);
+ size = QUERY_FUNC_CAP_EXTRA_FLAGS_BF_QP_ALLOC_FLAG;
+ MLX4_PUT(outbox->buf, size, QUERY_FUNC_CAP_EXTRA_FLAGS_OFFSET);
} else
err = -EINVAL;
@@ -327,14 +403,17 @@ int mlx4_QUERY_FUNC_CAP(struct mlx4_dev *dev, u32 gen_or_port,
u8 field, op_modifier;
u32 size;
int err = 0, quotas = 0;
+ u32 in_modifier;
op_modifier = !!gen_or_port; /* 0 = general, 1 = logical port */
+ in_modifier = op_modifier ? gen_or_port :
+ QUERY_FUNC_CAP_SUPPORTS_NON_POWER_OF_2_NUM_EQS;
mailbox = mlx4_alloc_cmd_mailbox(dev);
if (IS_ERR(mailbox))
return PTR_ERR(mailbox);
- err = mlx4_cmd_box(dev, 0, mailbox->dma, gen_or_port, op_modifier,
+ err = mlx4_cmd_box(dev, 0, mailbox->dma, in_modifier, op_modifier,
MLX4_CMD_QUERY_FUNC_CAP,
MLX4_CMD_TIME_CLASS_A, MLX4_CMD_WRAPPED);
if (err)
@@ -402,6 +481,17 @@ int mlx4_QUERY_FUNC_CAP(struct mlx4_dev *dev, u32 gen_or_port,
MLX4_GET(size, outbox, QUERY_FUNC_CAP_RESERVED_EQ_OFFSET);
func_cap->reserved_eq = size & 0xFFFFFF;
+ func_cap->extra_flags = 0;
+
+ /* Mailbox data from 0x6c and onward should only be treated if
+ * QUERY_FUNC_CAP_FLAG_VALID_MAILBOX is set in func_cap->flags
+ */
+ if (func_cap->flags & QUERY_FUNC_CAP_FLAG_VALID_MAILBOX) {
+ MLX4_GET(size, outbox, QUERY_FUNC_CAP_EXTRA_FLAGS_OFFSET);
+ if (size & QUERY_FUNC_CAP_EXTRA_FLAGS_BF_QP_ALLOC_FLAG)
+ func_cap->extra_flags |= MLX4_QUERY_FUNC_FLAGS_BF_RES_QP;
+ }
+
goto out;
}
@@ -504,6 +594,7 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
#define QUERY_DEV_CAP_MAX_MRW_SZ_OFFSET 0x21
#define QUERY_DEV_CAP_RSVD_MRW_OFFSET 0x22
#define QUERY_DEV_CAP_MAX_MTT_SEG_OFFSET 0x23
+#define QUERY_DEV_CAP_NUM_SYS_EQ_OFFSET 0x26
#define QUERY_DEV_CAP_MAX_AV_OFFSET 0x27
#define QUERY_DEV_CAP_MAX_REQ_QP_OFFSET 0x29
#define QUERY_DEV_CAP_MAX_RES_QP_OFFSET 0x2b
@@ -601,6 +692,8 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
dev_cap->reserved_mrws = 1 << (field & 0xf);
MLX4_GET(field, outbox, QUERY_DEV_CAP_MAX_MTT_SEG_OFFSET);
dev_cap->max_mtt_seg = 1 << (field & 0x3f);
+ MLX4_GET(size, outbox, QUERY_DEV_CAP_NUM_SYS_EQ_OFFSET);
+ dev_cap->num_sys_eqs = size & 0xfff;
MLX4_GET(field, outbox, QUERY_DEV_CAP_MAX_REQ_QP_OFFSET);
dev_cap->max_requester_per_qp = 1 << (field & 0x3f);
MLX4_GET(field, outbox, QUERY_DEV_CAP_MAX_RES_QP_OFFSET);
@@ -827,8 +920,11 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
* we can't use any EQs whose doorbell falls on that page,
* even if the EQ itself isn't reserved.
*/
- dev_cap->reserved_eqs = max(dev_cap->reserved_uars * 4,
- dev_cap->reserved_eqs);
+ if (dev_cap->num_sys_eqs == 0)
+ dev_cap->reserved_eqs = max(dev_cap->reserved_uars * 4,
+ dev_cap->reserved_eqs);
+ else
+ dev_cap->flags2 |= MLX4_DEV_CAP_FLAG2_SYS_EQS;
mlx4_dbg(dev, "Max ICM size %lld MB\n",
(unsigned long long) dev_cap->max_icm_sz >> 20);
@@ -838,8 +934,9 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
dev_cap->max_srqs, dev_cap->reserved_srqs, dev_cap->srq_entry_sz);
mlx4_dbg(dev, "Max CQs: %d, reserved CQs: %d, entry size: %d\n",
dev_cap->max_cqs, dev_cap->reserved_cqs, dev_cap->cqc_entry_sz);
- mlx4_dbg(dev, "Max EQs: %d, reserved EQs: %d, entry size: %d\n",
- dev_cap->max_eqs, dev_cap->reserved_eqs, dev_cap->eqc_entry_sz);
+ mlx4_dbg(dev, "Num sys EQs: %d, max EQs: %d, reserved EQs: %d, entry size: %d\n",
+ dev_cap->num_sys_eqs, dev_cap->max_eqs, dev_cap->reserved_eqs,
+ dev_cap->eqc_entry_sz);
mlx4_dbg(dev, "reserved MPTs: %d, reserved MTTs: %d\n",
dev_cap->reserved_mrws, dev_cap->reserved_mtts);
mlx4_dbg(dev, "Max PDs: %d, reserved PDs: %d, reserved UARs: %d\n",
@@ -1341,6 +1438,7 @@ int mlx4_INIT_HCA(struct mlx4_dev *dev, struct mlx4_init_hca_param *param)
#define INIT_HCA_AUXC_BASE_OFFSET (INIT_HCA_QPC_OFFSET + 0x50)
#define INIT_HCA_EQC_BASE_OFFSET (INIT_HCA_QPC_OFFSET + 0x60)
#define INIT_HCA_LOG_EQ_OFFSET (INIT_HCA_QPC_OFFSET + 0x67)
+#define INIT_HCA_NUM_SYS_EQS_OFFSET (INIT_HCA_QPC_OFFSET + 0x6a)
#define INIT_HCA_RDMARC_BASE_OFFSET (INIT_HCA_QPC_OFFSET + 0x70)
#define INIT_HCA_LOG_RD_OFFSET (INIT_HCA_QPC_OFFSET + 0x77)
#define INIT_HCA_MCAST_OFFSET 0x0c0
@@ -1449,6 +1547,7 @@ int mlx4_INIT_HCA(struct mlx4_dev *dev, struct mlx4_init_hca_param *param)
MLX4_PUT(inbox, param->auxc_base, INIT_HCA_AUXC_BASE_OFFSET);
MLX4_PUT(inbox, param->eqc_base, INIT_HCA_EQC_BASE_OFFSET);
MLX4_PUT(inbox, param->log_num_eqs, INIT_HCA_LOG_EQ_OFFSET);
+ MLX4_PUT(inbox, param->num_sys_eqs, INIT_HCA_NUM_SYS_EQS_OFFSET);
MLX4_PUT(inbox, param->rdmarc_base, INIT_HCA_RDMARC_BASE_OFFSET);
MLX4_PUT(inbox, param->log_rd_per_qp, INIT_HCA_LOG_RD_OFFSET);
@@ -1555,6 +1654,7 @@ int mlx4_QUERY_HCA(struct mlx4_dev *dev,
MLX4_GET(param->auxc_base, outbox, INIT_HCA_AUXC_BASE_OFFSET);
MLX4_GET(param->eqc_base, outbox, INIT_HCA_EQC_BASE_OFFSET);
MLX4_GET(param->log_num_eqs, outbox, INIT_HCA_LOG_EQ_OFFSET);
+ MLX4_GET(param->num_sys_eqs, outbox, INIT_HCA_NUM_SYS_EQS_OFFSET);
MLX4_GET(param->rdmarc_base, outbox, INIT_HCA_RDMARC_BASE_OFFSET);
MLX4_GET(param->log_rd_per_qp, outbox, INIT_HCA_LOG_RD_OFFSET);
diff --git a/sys/ofed/drivers/net/mlx4/fw.h b/sys/ofed/drivers/net/mlx4/fw.h
index 0efd047..748b284 100644
--- a/sys/ofed/drivers/net/mlx4/fw.h
+++ b/sys/ofed/drivers/net/mlx4/fw.h
@@ -56,6 +56,7 @@ struct mlx4_dev_cap {
int max_mpts;
int reserved_eqs;
int max_eqs;
+ int num_sys_eqs;
int reserved_mtts;
int max_mrw_sz;
int reserved_mrws;
@@ -144,6 +145,17 @@ struct mlx4_func_cap {
u8 physical_port;
u8 port_flags;
u8 def_counter_index;
+ u8 extra_flags;
+};
+
+struct mlx4_func {
+ int bus;
+ int device;
+ int function;
+ int physical_function;
+ int rsvd_eqs;
+ int max_eq;
+ int rsvd_uars;
};
struct mlx4_adapter {
@@ -173,6 +185,7 @@ struct mlx4_init_hca_param {
u8 log_num_srqs;
u8 log_num_cqs;
u8 log_num_eqs;
+ u16 num_sys_eqs;
u8 log_rd_per_qp;
u8 log_mc_table_sz;
u8 log_mpt_sz;
@@ -225,6 +238,7 @@ int mlx4_map_cmd(struct mlx4_dev *dev, u16 op, struct mlx4_icm *icm, u64 virt);
int mlx4_SET_ICM_SIZE(struct mlx4_dev *dev, u64 icm_size, u64 *aux_pages);
int mlx4_NOP(struct mlx4_dev *dev);
int mlx4_MOD_STAT_CFG(struct mlx4_dev *dev, struct mlx4_mod_stat_cfg *cfg);
+int mlx4_QUERY_FUNC(struct mlx4_dev *dev, struct mlx4_func *func, int slave);
void mlx4_opreq_action(struct work_struct *work);
#endif /* MLX4_FW_H */
diff --git a/sys/ofed/drivers/net/mlx4/main.c b/sys/ofed/drivers/net/mlx4/main.c
index c4e9cb4..c331597 100644
--- a/sys/ofed/drivers/net/mlx4/main.c
+++ b/sys/ofed/drivers/net/mlx4/main.c
@@ -590,6 +590,29 @@ static void mlx4_set_port_mask(struct mlx4_dev *dev)
dev->caps.port_mask[i] = dev->caps.port_type[i];
}
+enum {
+ MLX4_QUERY_FUNC_NUM_SYS_EQS = 1 << 0,
+};
+
+static int mlx4_query_func(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
+{
+ int err = 0;
+ struct mlx4_func func;
+
+ if (dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_SYS_EQS) {
+ err = mlx4_QUERY_FUNC(dev, &func, 0);
+ if (err) {
+ mlx4_err(dev, "QUERY_DEV_CAP command failed, aborting.\n");
+ return err;
+ }
+ dev_cap->max_eqs = func.max_eq;
+ dev_cap->reserved_eqs = func.rsvd_eqs;
+ dev_cap->reserved_uars = func.rsvd_uars;
+ err |= MLX4_QUERY_FUNC_NUM_SYS_EQS;
+ }
+ return err;
+}
+
static int mlx4_dev_cap(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
{
int err;
@@ -623,7 +646,10 @@ static int mlx4_dev_cap(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
}
dev->caps.num_ports = dev_cap->num_ports;
- dev->phys_caps.num_phys_eqs = MLX4_MAX_EQ_NUM;
+ dev->caps.num_sys_eqs = dev_cap->num_sys_eqs;
+ dev->phys_caps.num_phys_eqs = dev_cap->flags2 & MLX4_DEV_CAP_FLAG2_SYS_EQS ?
+ dev->caps.num_sys_eqs :
+ MLX4_MAX_EQ_NUM;
for (i = 1; i <= dev->caps.num_ports; ++i) {
dev->caps.vl_cap[i] = dev_cap->max_vl[i];
dev->caps.ib_mtu_cap[i] = dev_cap->ib_mtu[i];
@@ -823,6 +849,11 @@ static int mlx4_dev_cap(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
if (!mlx4_is_slave(dev)) {
for (i = 0; i < dev->caps.num_ports; ++i)
dev->caps.def_counter_index[i] = i << 1;
+
+ dev->caps.alloc_res_qp_mask =
+ (dev->caps.bf_reg_size ? MLX4_RESERVE_ETH_BF_QP : 0);
+ } else {
+ dev->caps.alloc_res_qp_mask = 0;
}
return 0;
@@ -1088,6 +1119,10 @@ static int mlx4_slave_cap(struct mlx4_dev *dev)
slave_adjust_steering_mode(dev, &dev_cap, &hca_param);
+ if (func_cap.extra_flags & MLX4_QUERY_FUNC_FLAGS_BF_RES_QP &&
+ dev->caps.bf_reg_size)
+ dev->caps.alloc_res_qp_mask |= MLX4_RESERVE_ETH_BF_QP;
+
return 0;
err_mem:
@@ -1465,8 +1500,7 @@ static int mlx4_init_cmpt_table(struct mlx4_dev *dev, u64 cmpt_base,
if (err)
goto err_srq;
- num_eqs = (mlx4_is_master(dev)) ? dev->phys_caps.num_phys_eqs :
- dev->caps.num_eqs;
+ num_eqs = dev->phys_caps.num_phys_eqs;
err = mlx4_init_icm_table(dev, &priv->eq_table.cmpt_table,
cmpt_base +
((u64) (MLX4_CMPT_TYPE_EQ *
@@ -1528,8 +1562,7 @@ static int mlx4_init_icm(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap,
}
- num_eqs = (mlx4_is_master(dev)) ? dev->phys_caps.num_phys_eqs :
- dev->caps.num_eqs;
+ num_eqs = dev->phys_caps.num_phys_eqs;
err = mlx4_init_icm_table(dev, &priv->eq_table.table,
init_hca->eqc_base, dev_cap->eqc_entry_sz,
num_eqs, num_eqs, 0, 0);
@@ -2065,6 +2098,18 @@ static int mlx4_init_hca(struct mlx4_dev *dev)
goto err_free_icm;
}
+ if (dev_cap->flags2 & MLX4_DEV_CAP_FLAG2_SYS_EQS) {
+ err = mlx4_query_func(dev, dev_cap);
+ if (err < 0) {
+ mlx4_err(dev, "QUERY_FUNC command failed, aborting.\n");
+ goto err_stop_fw;
+ } else if (err & MLX4_QUERY_FUNC_NUM_SYS_EQS) {
+ dev->caps.num_eqs = dev_cap->max_eqs;
+ dev->caps.reserved_eqs = dev_cap->reserved_eqs;
+ dev->caps.reserved_uars = dev_cap->reserved_uars;
+ }
+ }
+
/*
* Read HCA frequency by QUERY_HCA command
*/
@@ -2905,13 +2950,12 @@ static void mlx4_enable_msi_x(struct mlx4_dev *dev)
{
struct mlx4_priv *priv = mlx4_priv(dev);
struct msix_entry *entries;
- int nreq = min_t(int, dev->caps.num_ports *
- min_t(int, num_possible_cpus() + 1, MAX_MSIX_P_PORT)
- + MSIX_LEGACY_SZ, MAX_MSIX);
int err;
int i;
if (msi_x) {
+ int nreq = dev->caps.num_ports * num_online_cpus() + MSIX_LEGACY_SZ;
+
nreq = min_t(int, dev->caps.num_eqs - dev->caps.reserved_eqs,
nreq);
@@ -3402,6 +3446,8 @@ slave_start:
goto err_free_eq;
}
+ mlx4_init_quotas(dev);
+
err = mlx4_setup_hca(dev);
if (err == -EBUSY && (dev->flags & MLX4_FLAG_MSI_X) &&
!mlx4_is_mfunc(dev)) {
@@ -3415,7 +3461,6 @@ slave_start:
if (err)
goto err_steer;
- mlx4_init_quotas(dev);
mlx4_init_hca_info(dev);
for (port = 1; port <= dev->caps.num_ports; port++) {
diff --git a/sys/ofed/drivers/net/mlx4/mlx4_en.h b/sys/ofed/drivers/net/mlx4/mlx4_en.h
index 17afa9e..5c800fd 100644
--- a/sys/ofed/drivers/net/mlx4/mlx4_en.h
+++ b/sys/ofed/drivers/net/mlx4/mlx4_en.h
@@ -587,7 +587,8 @@ struct mlx4_en_priv {
struct callout watchdog_timer;
struct ifmedia media;
volatile int blocked;
- struct sysctl_oid *sysctl;
+ struct sysctl_oid *conf_sysctl;
+ struct sysctl_oid *stat_sysctl;
struct sysctl_ctx_list conf_ctx;
struct sysctl_ctx_list stat_ctx;
#define MLX4_EN_MAC_HASH_IDX 5
diff --git a/sys/ofed/drivers/net/mlx4/profile.c b/sys/ofed/drivers/net/mlx4/profile.c
index aa5f957..4623931 100644
--- a/sys/ofed/drivers/net/mlx4/profile.c
+++ b/sys/ofed/drivers/net/mlx4/profile.c
@@ -199,10 +199,17 @@ u64 mlx4_make_profile(struct mlx4_dev *dev,
init_hca->log_num_cqs = profile[i].log_num;
break;
case MLX4_RES_EQ:
- dev->caps.num_eqs = roundup_pow_of_two(min_t(unsigned, dev_cap->max_eqs,
- MAX_MSIX));
- init_hca->eqc_base = profile[i].start;
- init_hca->log_num_eqs = ilog2(dev->caps.num_eqs);
+ if (dev_cap->flags2 & MLX4_DEV_CAP_FLAG2_SYS_EQS) {
+ init_hca->log_num_eqs = 0x1f;
+ init_hca->eqc_base = profile[i].start;
+ init_hca->num_sys_eqs = dev_cap->num_sys_eqs;
+ } else {
+ dev->caps.num_eqs = roundup_pow_of_two(
+ min_t(unsigned,
+ dev_cap->max_eqs, MAX_MSIX));
+ init_hca->eqc_base = profile[i].start;
+ init_hca->log_num_eqs = ilog2(dev->caps.num_eqs);
+ }
break;
case MLX4_RES_DMPT:
dev->caps.num_mpts = profile[i].num;
diff --git a/sys/ofed/drivers/net/mlx4/qp.c b/sys/ofed/drivers/net/mlx4/qp.c
index fe8d3c2..7d68a5f 100644
--- a/sys/ofed/drivers/net/mlx4/qp.c
+++ b/sys/ofed/drivers/net/mlx4/qp.c
@@ -242,6 +242,9 @@ int mlx4_qp_reserve_range(struct mlx4_dev *dev, int cnt, int align,
u64 out_param;
int err;
+ /* Turn off all unsupported QP allocation flags */
+ flags &= dev->caps.alloc_res_qp_mask;
+
if (mlx4_is_mfunc(dev)) {
set_param_l(&in_param, (((u32) flags) << 24) | (u32) cnt);
set_param_h(&in_param, align);
diff --git a/sys/ofed/drivers/net/mlx4/resource_tracker.c b/sys/ofed/drivers/net/mlx4/resource_tracker.c
index 1bdab67..7aea095 100644
--- a/sys/ofed/drivers/net/mlx4/resource_tracker.c
+++ b/sys/ofed/drivers/net/mlx4/resource_tracker.c
@@ -1544,7 +1544,10 @@ static int qp_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
switch (op) {
case RES_OP_RESERVE:
count = get_param_l(&in_param) & 0xffffff;
- flags = get_param_l(&in_param) >> 24;
+ /* Turn off all unsupported QP allocation flags that the
+ * slave tries to set.
+ */
+ flags = (get_param_l(&in_param) >> 24) & dev->caps.alloc_res_qp_mask;
align = get_param_h(&in_param);
err = mlx4_grant_resource(dev, slave, RES_QP, count, 0);
if (err)
diff --git a/sys/ofed/include/linux/mlx4/device.h b/sys/ofed/include/linux/mlx4/device.h
index 7f545b1..2095df7 100644
--- a/sys/ofed/include/linux/mlx4/device.h
+++ b/sys/ofed/include/linux/mlx4/device.h
@@ -199,6 +199,7 @@ enum {
MLX4_DEV_CAP_FLAG2_EQE_STRIDE = 1LL << 23,
MLX4_DEV_CAP_FLAG2_UPDATE_QP_SRC_CHECK_LB = 1LL << 24,
MLX4_DEV_CAP_FLAG2_RX_CSUM_MODE = 1LL << 25,
+ MLX4_DEV_CAP_FLAG2_SYS_EQS = 1LL << 26,
};
/* bit enums for an 8-bit flags field indicating special use
@@ -218,6 +219,23 @@ enum {
};
enum {
+ MLX4_QUERY_FUNC_FLAGS_BF_RES_QP = 1LL << 0
+};
+
+/* bit enums for an 8-bit flags field indicating special use
+ * QPs which require special handling in qp_reserve_range.
+ * Currently, this only includes QPs used by the ETH interface,
+ * where we expect to use blueflame. These QPs must not have
+ * bits 6 and 7 set in their qp number.
+ *
+ * This enum may use only bits 0..7.
+ */
+enum {
+ MLX4_RESERVE_ETH_BF_QP = 1 << 7,
+};
+
+
+enum {
MLX4_DEV_CAP_64B_EQE_ENABLED = 1LL << 0,
MLX4_DEV_CAP_64B_CQE_ENABLED = 1LL << 1
};
@@ -473,6 +491,7 @@ struct mlx4_caps {
int num_cqs;
int max_cqes;
int reserved_cqs;
+ int num_sys_eqs;
int num_eqs;
int reserved_eqs;
int num_comp_vectors;
@@ -531,6 +550,7 @@ struct mlx4_caps {
u32 max_basic_counters;
u32 max_extended_counters;
u8 def_counter_index[MLX4_MAX_PORTS + 1];
+ u8 alloc_res_qp_mask;
};
struct mlx4_buf_list {
diff --git a/sys/opencrypto/cryptosoft.c b/sys/opencrypto/cryptosoft.c
index 052916b..e26390a 100644
--- a/sys/opencrypto/cryptosoft.c
+++ b/sys/opencrypto/cryptosoft.c
@@ -930,8 +930,11 @@ swcr_newsession(device_t dev, u_int32_t *sid, struct cryptoini *cri)
axf = &auth_hash_nist_gmac_aes_256;
auth4common:
len = cri->cri_klen / 8;
- if (len != 16 && len != 24 && len != 32)
+ if (len != 16 && len != 24 && len != 32) {
+ swcr_freesession_locked(dev, i);
+ rw_runlock(&swcr_sessions_lock);
return EINVAL;
+ }
(*swd)->sw_ictx = malloc(axf->ctxsize, M_CRYPTO_DATA,
M_NOWAIT);
diff --git a/sys/pc98/include/efi.h b/sys/pc98/include/efi.h
new file mode 100644
index 0000000..71d5728
--- /dev/null
+++ b/sys/pc98/include/efi.h
@@ -0,0 +1,14 @@
+/*-
+ * This file is in the public domain since it's just boilerplate.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef __PC98_INCLUDE_EFI_H_
+#define __PC98_INCLUDE_EFI_H_
+
+#define EFIABI_ATTR
+
+/* Note: we don't actually support this on pc98 */
+
+#endif /* __PC98_INCLUDE_EFI_H_ */
diff --git a/sys/powerpc/booke/trap_subr.S b/sys/powerpc/booke/trap_subr.S
index 8737dba..ebaa656 100644
--- a/sys/powerpc/booke/trap_subr.S
+++ b/sys/powerpc/booke/trap_subr.S
@@ -803,12 +803,12 @@ INTERRUPT(int_debug)
lwz %r4,0(%r5) /* interrupt_vector_base in r4 */
add %r4,%r4,%r5
cmplw cr0, %r3, %r4
- blt 1f
+ blt trap_common
lwz %r4,4(%r5) /* interrupt_vector_top in r4 */
add %r4,%r4,%r5
addi %r4,%r4,4
cmplw cr0, %r3, %r4
- bge 1f
+ bge trap_common
/* Disable single-stepping for the interrupt handlers. */
lwz %r3, FRAME_SRR1+8(%r1);
rlwinm %r3, %r3, 0, 23, 21
@@ -820,14 +820,6 @@ INTERRUPT(int_debug)
lwz %r4, (PC_BOOKE_CRITSAVE+CPUSAVE_SRR1+8)(%r4);
mtspr SPR_SRR1, %r4
b 9f
-1:
- addi %r3, %r1, 8
- bl CNAME(trap)
- /*
- * Handle ASTs, needed for proper support of single-stepping.
- * We actually need to return to the process with an rfi.
- */
- b trapexit
9:
FRAME_LEAVE(SPR_CSRR0, SPR_CSRR1)
rfci
diff --git a/sys/powerpc/include/efi.h b/sys/powerpc/include/efi.h
new file mode 100644
index 0000000..f4b97d6
--- /dev/null
+++ b/sys/powerpc/include/efi.h
@@ -0,0 +1,14 @@
+/*-
+ * This file is in the public domain since it's just boilerplate.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef __POWERPC_INCLUDE_EFI_H_
+#define __POWERPC_INCLUDE_EFI_H_
+
+#define EFIABI_ATTR
+
+/* Note: we don't actually support this on powerpc */
+
+#endif /* __POWERPC_INCLUDE_EFI_H_ */
diff --git a/sys/powerpc/include/trap.h b/sys/powerpc/include/trap.h
index 81c40c9..07c70fa 100644
--- a/sys/powerpc/include/trap.h
+++ b/sys/powerpc/include/trap.h
@@ -125,7 +125,7 @@
#define EXC_PGM_TRAP (1UL << 17)
/* DTrace trap opcode. */
-#define EXC_DTRACE 0x7c810808
+#define EXC_DTRACE 0x7ffff808
/* Magic pointer to store TOC base and other info for trap handlers on ppc64 */
#define TRAP_GENTRAP 0x1f0
diff --git a/sys/riscv/include/efi.h b/sys/riscv/include/efi.h
new file mode 100644
index 0000000..4f1e218
--- /dev/null
+++ b/sys/riscv/include/efi.h
@@ -0,0 +1,14 @@
+/*-
+ * This file is in the public domain since it's just boilerplate.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef __RISCV_INCLUDE_EFI_H_
+#define __RISCV_INCLUDE_EFI_H_
+
+#define EFIABI_ATTR
+
+/* Note: we don't actually support this on riscv */
+
+#endif /* __I386_INCLUDE_EFI_H_ */
diff --git a/sys/rpc/clnt_vc.c b/sys/rpc/clnt_vc.c
index 98bead5..a21c1df 100644
--- a/sys/rpc/clnt_vc.c
+++ b/sys/rpc/clnt_vc.c
@@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
@@ -107,6 +108,8 @@ static struct clnt_ops clnt_vc_ops = {
static void clnt_vc_upcallsdone(struct ct_data *);
+static int fake_wchan;
+
/*
* Create a client handle for a connection.
* Default options are set, which the user can change using clnt_control()'s.
@@ -298,7 +301,7 @@ clnt_vc_call(
uint32_t xid;
struct mbuf *mreq = NULL, *results;
struct ct_request *cr;
- int error;
+ int error, trycnt;
cr = malloc(sizeof(struct ct_request), M_RPC, M_WAITOK);
@@ -328,8 +331,20 @@ clnt_vc_call(
timeout = ct->ct_wait; /* use default timeout */
}
+ /*
+ * After 15sec of looping, allow it to return RPC_CANTSEND, which will
+ * cause the clnt_reconnect layer to create a new TCP connection.
+ */
+ trycnt = 15 * hz;
call_again:
mtx_assert(&ct->ct_lock, MA_OWNED);
+ if (ct->ct_closing || ct->ct_closed) {
+ ct->ct_threads--;
+ wakeup(ct);
+ mtx_unlock(&ct->ct_lock);
+ free(cr, M_RPC);
+ return (RPC_CANTSEND);
+ }
ct->ct_xid++;
xid = ct->ct_xid;
@@ -397,13 +412,16 @@ call_again:
*/
error = sosend(ct->ct_socket, NULL, NULL, mreq, NULL, 0, curthread);
mreq = NULL;
- if (error == EMSGSIZE) {
+ if (error == EMSGSIZE || (error == ERESTART &&
+ (ct->ct_waitflag & PCATCH) == 0 && trycnt-- > 0)) {
SOCKBUF_LOCK(&ct->ct_socket->so_snd);
sbwait(&ct->ct_socket->so_snd);
SOCKBUF_UNLOCK(&ct->ct_socket->so_snd);
AUTH_VALIDATE(auth, xid, NULL, NULL);
mtx_lock(&ct->ct_lock);
TAILQ_REMOVE(&ct->ct_pending, cr, cr_link);
+ /* Sleep for 1 clock tick before trying the sosend() again. */
+ msleep(&fake_wchan, &ct->ct_lock, 0, "rpclpsnd", 1);
goto call_again;
}
diff --git a/sys/rpc/rpc_generic.c b/sys/rpc/rpc_generic.c
index 80d658d..1b6a151 100644
--- a/sys/rpc/rpc_generic.c
+++ b/sys/rpc/rpc_generic.c
@@ -311,6 +311,8 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf)
switch (af) {
case AF_INET:
+ if (nbuf->len < sizeof(*sin))
+ return NULL;
sin = nbuf->buf;
if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf)
== NULL)
@@ -323,6 +325,8 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf)
break;
#ifdef INET6
case AF_INET6:
+ if (nbuf->len < sizeof(*sin6))
+ return NULL;
sin6 = nbuf->buf;
if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6)
== NULL)
@@ -366,6 +370,10 @@ __rpc_uaddr2taddr_af(int af, const char *uaddr)
port = 0;
sin = NULL;
+
+ if (uaddr == NULL)
+ return NULL;
+
addrstr = strdup(uaddr, M_RPC);
if (addrstr == NULL)
return NULL;
diff --git a/sys/rpc/rpcb_clnt.c b/sys/rpc/rpcb_clnt.c
index f3781f6..2429b38 100644
--- a/sys/rpc/rpcb_clnt.c
+++ b/sys/rpc/rpcb_clnt.c
@@ -1287,6 +1287,11 @@ xdr_netbuf(XDR *xdrs, struct netbuf *objp)
return (FALSE);
}
pp = &objp->buf;
+
+ if (objp->maxlen > RPC_MAXDATASIZE) {
+ return (FALSE);
+ }
+
dummy = xdr_bytes(xdrs, (char **) pp,
(u_int *)&(objp->len), objp->maxlen);
return (dummy);
diff --git a/sys/rpc/rpcb_prot.c b/sys/rpc/rpcb_prot.c
index f3c2408..4ebbe71 100644
--- a/sys/rpc/rpcb_prot.c
+++ b/sys/rpc/rpcb_prot.c
@@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$");
#include <sys/malloc.h>
#include <rpc/rpc.h>
+#include <rpc/rpc_com.h>
#include <rpc/rpcb_prot.h>
bool_t
@@ -74,13 +75,13 @@ xdr_rpcb(XDR *xdrs, RPCB *objp)
if (!xdr_uint32_t(xdrs, &objp->r_vers)) {
return (FALSE);
}
- if (!xdr_string(xdrs, &objp->r_netid, (u_int)~0)) {
+ if (!xdr_string(xdrs, &objp->r_netid, RPC_MAXDATASIZE)) {
return (FALSE);
}
- if (!xdr_string(xdrs, &objp->r_addr, (u_int)~0)) {
+ if (!xdr_string(xdrs, &objp->r_addr, RPC_MAXDATASIZE)) {
return (FALSE);
}
- if (!xdr_string(xdrs, &objp->r_owner, (u_int)~0)) {
+ if (!xdr_string(xdrs, &objp->r_owner, RPC_MAXDATASIZE)) {
return (FALSE);
}
return (TRUE);
@@ -175,19 +176,19 @@ xdr_rpcblist(XDR *xdrs, RPCBLIST **rp)
bool_t
xdr_rpcb_entry(XDR *xdrs, rpcb_entry *objp)
{
- if (!xdr_string(xdrs, &objp->r_maddr, (u_int)~0)) {
+ if (!xdr_string(xdrs, &objp->r_maddr, RPC_MAXDATASIZE)) {
return (FALSE);
}
- if (!xdr_string(xdrs, &objp->r_nc_netid, (u_int)~0)) {
+ if (!xdr_string(xdrs, &objp->r_nc_netid, RPC_MAXDATASIZE)) {
return (FALSE);
}
if (!xdr_uint32_t(xdrs, &objp->r_nc_semantics)) {
return (FALSE);
}
- if (!xdr_string(xdrs, &objp->r_nc_protofmly, (u_int)~0)) {
+ if (!xdr_string(xdrs, &objp->r_nc_protofmly, RPC_MAXDATASIZE)) {
return (FALSE);
}
- if (!xdr_string(xdrs, &objp->r_nc_proto, (u_int)~0)) {
+ if (!xdr_string(xdrs, &objp->r_nc_proto, RPC_MAXDATASIZE)) {
return (FALSE);
}
return (TRUE);
diff --git a/sys/sparc64/include/efi.h b/sys/sparc64/include/efi.h
new file mode 100644
index 0000000..1f7ad0d
--- /dev/null
+++ b/sys/sparc64/include/efi.h
@@ -0,0 +1,14 @@
+/*-
+ * This file is in the public domain since it's just boilerplate.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef __SPARC64_INCLUDE_EFI_H_
+#define __SPARC64_INCLUDE_EFI_H_
+
+#define EFIABI_ATTR
+
+/* Note: we don't actually support this on sparc64 */
+
+#endif /* __I386_INCLUDE_EFI_H_ */
diff --git a/sys/sparc64/pci/psycho.c b/sys/sparc64/pci/psycho.c
index 496df96..27891ff 100644
--- a/sys/sparc64/pci/psycho.c
+++ b/sys/sparc64/pci/psycho.c
@@ -942,14 +942,14 @@ psycho_route_interrupt(device_t bridge, device_t dev, int pin)
if (pin > 4)
return (pin);
/*
- * Guess the INO; we always assume that this is a non-OBIO
- * device, and that pin is a "real" intpin number. Determine
- * the mapping register to be used by the slot number.
- * We only need to do this on E450s, it seems; here, the slot numbers
- * for bus A are one-based, while those for bus B seemingly have an
- * offset of 2 (hence the factor of 3 below).
+ * Guess the INO; we always assume that this is a non-OBIO device,
+ * and that pin is a "real" intpin number. Determine the mapping
+ * register to be used by the slot number.
+ * We only need to do this on E450s and U30s, though; here, the
+ * slot numbers for bus A are one-based, while those for bus B
+ * seemingly have an offset of 2 (hence the factor of 3 below).
*/
- sc = device_get_softc(dev);
+ sc = device_get_softc(bridge);
intrmap = PSR_PCIA0_INT_MAP +
8 * (pci_get_slot(dev) - 1 + 3 * sc->sc_half);
mintr = INTINO(PSYCHO_READ8(sc, intrmap)) + pin - 1;
diff --git a/sys/sys/_termios.h b/sys/sys/_termios.h
index 3fb5bf4..bb0707c 100644
--- a/sys/sys/_termios.h
+++ b/sys/sys/_termios.h
@@ -42,15 +42,15 @@
*/
#define VEOF 0 /* ICANON */
#define VEOL 1 /* ICANON */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define VEOL2 2 /* ICANON together with IEXTEN */
#endif
#define VERASE 3 /* ICANON */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define VWERASE 4 /* ICANON together with IEXTEN */
#endif
#define VKILL 5 /* ICANON */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define VREPRINT 6 /* ICANON together with IEXTEN */
#define VERASE2 7 /* ICANON */
#endif
@@ -58,18 +58,18 @@
#define VINTR 8 /* ISIG */
#define VQUIT 9 /* ISIG */
#define VSUSP 10 /* ISIG */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define VDSUSP 11 /* ISIG together with IEXTEN */
#endif
#define VSTART 12 /* IXON, IXOFF */
#define VSTOP 13 /* IXON, IXOFF */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define VLNEXT 14 /* IEXTEN */
#define VDISCARD 15 /* IEXTEN */
#endif
#define VMIN 16 /* !ICANON */
#define VTIME 17 /* !ICANON */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define VSTATUS 18 /* ICANON together with IEXTEN */
/* 19 spare 2 */
#endif
@@ -91,16 +91,16 @@
#define ICRNL 0x00000100 /* map CR to NL (ala CRMOD) */
#define IXON 0x00000200 /* enable output flow control */
#define IXOFF 0x00000400 /* enable input flow control */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define IXANY 0x00000800 /* any char will restart after stop */
#define IMAXBEL 0x00002000 /* ring bell on input queue full */
-#endif /*_POSIX_SOURCE */
+#endif
/*
* Output flags - software output processing
*/
#define OPOST 0x00000001 /* enable following output processing */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define ONLCR 0x00000002 /* map NL to CR-NL (ala CRMOD) */
#define TABDLY 0x00000004 /* tab delay mask */
#define TAB0 0x00000000 /* no tab delay and expansion */
@@ -109,12 +109,12 @@
#define OCRNL 0x00000010 /* map CR to NL on output */
#define ONOCR 0x00000020 /* no CR output at column 0 */
#define ONLRET 0x00000040 /* NL performs CR function */
-#endif /*_POSIX_SOURCE */
+#endif
/*
* Control flags - hardware control of terminal
*/
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define CIGNORE 0x00000001 /* ignore control flags */
#endif
#define CSIZE 0x00000300 /* character size mask */
@@ -128,7 +128,7 @@
#define PARODD 0x00002000 /* odd parity, else even */
#define HUPCL 0x00004000 /* hang up on last close */
#define CLOCAL 0x00008000 /* ignore modem status lines */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define CCTS_OFLOW 0x00010000 /* CTS flow control of output */
#define CRTSCTS (CCTS_OFLOW | CRTS_IFLOW)
#define CRTS_IFLOW 0x00020000 /* RTS flow control of input */
@@ -146,30 +146,30 @@
* input flag.
*/
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define ECHOKE 0x00000001 /* visual erase for line kill */
-#endif /*_POSIX_SOURCE */
+#endif
#define ECHOE 0x00000002 /* visually erase chars */
#define ECHOK 0x00000004 /* echo NL after line kill */
#define ECHO 0x00000008 /* enable echoing */
#define ECHONL 0x00000010 /* echo NL even if ECHO is off */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define ECHOPRT 0x00000020 /* visual erase mode for hardcopy */
#define ECHOCTL 0x00000040 /* echo control chars as ^(Char) */
-#endif /*_POSIX_SOURCE */
+#endif
#define ISIG 0x00000080 /* enable signals INTR, QUIT, [D]SUSP */
#define ICANON 0x00000100 /* canonicalize input lines */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define ALTWERASE 0x00000200 /* use alternate WERASE algorithm */
-#endif /*_POSIX_SOURCE */
+#endif
#define IEXTEN 0x00000400 /* enable DISCARD and LNEXT */
#define EXTPROC 0x00000800 /* external processing */
#define TOSTOP 0x00400000 /* stop background jobs from output */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define FLUSHO 0x00800000 /* output being flushed (state) */
#define NOKERNINFO 0x02000000 /* no kernel output from VSTATUS */
#define PENDIN 0x20000000 /* XXX retype pending input (state) */
-#endif /*_POSIX_SOURCE */
+#endif
#define NOFLSH 0x80000000 /* don't flush after interrupt */
/*
@@ -191,7 +191,7 @@
#define B9600 9600
#define B19200 19200
#define B38400 38400
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
#define B7200 7200
#define B14400 14400
#define B28800 28800
@@ -203,7 +203,7 @@
#define B921600 921600
#define EXTA 19200
#define EXTB 38400
-#endif /* !_POSIX_SOURCE */
+#endif
typedef unsigned int tcflag_t;
typedef unsigned char cc_t;
diff --git a/sys/sys/ata.h b/sys/sys/ata.h
index 7210414..223bd7b 100644
--- a/sys/sys/ata.h
+++ b/sys/sys/ata.h
@@ -263,7 +263,7 @@ struct ata_params {
u_int16_t reserved170[6];
/*176*/ u_int8_t media_serial[60];
/*206*/ u_int16_t sct;
- u_int16_t reserved206[2];
+ u_int16_t reserved207[2];
/*209*/ u_int16_t lsalign;
/*210*/ u_int16_t wrv_sectors_m3_1;
u_int16_t wrv_sectors_m3_2;
diff --git a/sys/sys/bitset.h b/sys/sys/bitset.h
index 723c39b..8bc9e3d 100644
--- a/sys/sys/bitset.h
+++ b/sys/sys/bitset.h
@@ -122,18 +122,48 @@
(d)->__bits[__i] |= (s)->__bits[__i]; \
} while (0)
+#define BIT_OR2(_s, d, s1, s2) do { \
+ __size_t __i; \
+ for (__i = 0; __i < __bitset_words((_s)); __i++) \
+ (d)->__bits[__i] = (s1)->__bits[__i] | (s2)->__bits[__i];\
+} while (0)
+
#define BIT_AND(_s, d, s) do { \
__size_t __i; \
for (__i = 0; __i < __bitset_words((_s)); __i++) \
(d)->__bits[__i] &= (s)->__bits[__i]; \
} while (0)
+#define BIT_AND2(_s, d, s1, s2) do { \
+ __size_t __i; \
+ for (__i = 0; __i < __bitset_words((_s)); __i++) \
+ (d)->__bits[__i] = (s1)->__bits[__i] & (s2)->__bits[__i];\
+} while (0)
+
#define BIT_NAND(_s, d, s) do { \
__size_t __i; \
for (__i = 0; __i < __bitset_words((_s)); __i++) \
(d)->__bits[__i] &= ~(s)->__bits[__i]; \
} while (0)
+#define BIT_NAND2(_s, d, s1, s2) do { \
+ __size_t __i; \
+ for (__i = 0; __i < __bitset_words((_s)); __i++) \
+ (d)->__bits[__i] = (s1)->__bits[__i] & ~(s2)->__bits[__i];\
+} while (0)
+
+#define BIT_XOR(_s, d, s) do { \
+ __size_t __i; \
+ for (__i = 0; __i < __bitset_words((_s)); __i++) \
+ (d)->__bits[__i] ^= (s)->__bits[__i]; \
+} while (0)
+
+#define BIT_XOR2(_s, d, s1, s2) do { \
+ __size_t __i; \
+ for (__i = 0; __i < __bitset_words((_s)); __i++) \
+ (d)->__bits[__i] = (s1)->__bits[__i] ^ (s2)->__bits[__i];\
+} while (0)
+
#define BIT_CLR_ATOMIC(_s, n, p) \
atomic_clear_long(&(p)->__bits[__bitset_word(_s, n)], \
__bitset_mask((_s), n))
diff --git a/sys/sys/blist.h b/sys/sys/blist.h
index 1ddffed..7705353 100644
--- a/sys/sys/blist.h
+++ b/sys/sys/blist.h
@@ -44,7 +44,7 @@
* ops.
*
* SWAPBLK_NONE is returned on failure. This module is typically
- * capable of managing up to (2^31) blocks per blist, though
+ * capable of managing up to (2^63) blocks per blist, though
* the memory utilization would be insane if you actually did
* that. Managing something like 512MB worth of 4K blocks
* eats around 32 KBytes of memory.
@@ -56,7 +56,7 @@
#ifndef _SYS_BLIST_H_
#define _SYS_BLIST_H_
-typedef u_int32_t u_daddr_t; /* unsigned disk address */
+typedef uint64_t u_daddr_t; /* unsigned disk address */
/*
* note: currently use SWAPBLK_NONE as an absolute value rather then
diff --git a/sys/sys/efiio.h b/sys/sys/efiio.h
new file mode 100644
index 0000000..1e1cff6
--- /dev/null
+++ b/sys/sys/efiio.h
@@ -0,0 +1,59 @@
+/*-
+ * Copyright (c) 2016 Netflix, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer
+ * in this position and unchanged.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _SYS_EFIIO_H_
+#define _SYS_EFIIO_H_
+
+#include <sys/ioccom.h>
+#include <sys/uuid.h>
+#include <sys/efi.h>
+
+struct efi_get_table_ioc
+{
+ struct uuid uuid; /* UUID to look up */
+ void *ptr; /* Pointer to table in KVA space */
+};
+
+struct efi_var_ioc
+{
+ efi_char *name; /* User pointer to name, in wide chars */
+ size_t namesize; /* Number of wide characters in name */
+ struct uuid vendor; /* Vendor's UUID for variable */
+ uint32_t attrib; /* Attributes */
+ void *data; /* User pointer to the data */
+ size_t datasize; /* Number of *bytes* in the data */
+};
+
+#define EFIIOC_GET_TABLE _IOWR('E', 1, struct efi_get_table_ioc)
+#define EFIIOC_GET_TIME _IOR('E', 2, struct efi_tm)
+#define EFIIOC_SET_TIME _IOW('E', 3, struct efi_tm)
+#define EFIIOC_VAR_GET _IOWR('E', 4, struct efi_var_ioc)
+#define EFIIOC_VAR_NEXT _IOWR('E', 5, struct efi_var_ioc)
+#define EFIIOC_VAR_SET _IOWR('E', 6, struct efi_var_ioc)
+
+#endif /* _SYS_EFIIO_H_ */
diff --git a/sys/sys/elf32.h b/sys/sys/elf32.h
index 03a546c..0aa3142 100644
--- a/sys/sys/elf32.h
+++ b/sys/sys/elf32.h
@@ -254,4 +254,10 @@ typedef struct {
Elf32_Half si_flags; /* per symbol flags */
} Elf32_Syminfo;
+typedef struct {
+ Elf32_Word ch_type;
+ Elf32_Word ch_size;
+ Elf32_Word ch_addralign;
+} Elf32_Chdr;
+
#endif /* !_SYS_ELF32_H_ */
diff --git a/sys/sys/elf64.h b/sys/sys/elf64.h
index f069619..a309dfc 100644
--- a/sys/sys/elf64.h
+++ b/sys/sys/elf64.h
@@ -257,4 +257,11 @@ typedef struct {
Elf64_Half si_flags; /* per symbol flags */
} Elf64_Syminfo;
+typedef struct {
+ Elf64_Word ch_type;
+ Elf64_Word ch_reserved;
+ Elf64_Xword ch_size;
+ Elf64_Xword ch_addralign;
+} Elf64_Chdr;
+
#endif /* !_SYS_ELF64_H_ */
diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h
index ede4b13..e8a8709 100644
--- a/sys/sys/elf_common.h
+++ b/sys/sys/elf_common.h
@@ -849,6 +849,13 @@ typedef struct {
#define SYMINFO_CURRENT 1
#define SYMINFO_NUM 2
+/* Values for ch_type (compressed section headers). */
+#define ELFCOMPRESS_ZLIB 1 /* ZLIB/DEFLATE */
+#define ELFCOMPRESS_LOOS 0x60000000 /* OS-specific */
+#define ELFCOMPRESS_HIOS 0x6fffffff
+#define ELFCOMPRESS_LOPROC 0x70000000 /* Processor-specific */
+#define ELFCOMPRESS_HIPROC 0x7fffffff
+
/*
* Relocation types.
*
diff --git a/sys/sys/kobj.h b/sys/sys/kobj.h
index 36d8d2a..862e79f 100644
--- a/sys/sys/kobj.h
+++ b/sys/sys/kobj.h
@@ -226,10 +226,12 @@ extern u_int kobj_lookup_misses;
kobj_method_t **_cep = \
&OPS->cache[_desc->id & (KOBJ_CACHE_SIZE-1)]; \
kobj_method_t *_ce = *_cep; \
- kobj_lookup_hits++; /* assume hit */ \
- if (_ce->desc != _desc) \
+ if (_ce->desc != _desc) { \
_ce = kobj_lookup_method(OPS->cls, \
_cep, _desc); \
+ kobj_lookup_misses++; \
+ } else \
+ kobj_lookup_hits++; \
_m = _ce->func; \
} while(0)
#else
diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h
index a960df8..b622dd8 100644
--- a/sys/sys/libkern.h
+++ b/sys/sys/libkern.h
@@ -182,6 +182,9 @@ calculate_crc32c(uint32_t crc32c, const unsigned char *buffer,
#if defined(__amd64__) || defined(__i386__)
uint32_t sse42_crc32c(uint32_t, const unsigned char *, unsigned);
#endif
+#if defined(__aarch64__)
+uint32_t armv8_crc32c(uint32_t, const unsigned char *, unsigned int);
+#endif
#endif
diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h
index 4d59c7f..7cd1add 100644
--- a/sys/sys/mbuf.h
+++ b/sys/sys/mbuf.h
@@ -334,7 +334,7 @@ struct mbuf {
#define M_HASHTYPE_RSS_TCP_IPV6 M_HASHTYPE_HASH(4) /* TCPv6 4-tuple */
#define M_HASHTYPE_RSS_IPV6_EX M_HASHTYPE_HASH(5) /* IPv6 2-tuple +
* ext hdrs */
-#define M_HASHTYPE_RSS_TCP_IPV6_EX M_HASHTYPE_HASH(6) /* TCPv6 4-tiple +
+#define M_HASHTYPE_RSS_TCP_IPV6_EX M_HASHTYPE_HASH(6) /* TCPv6 4-tuple +
* ext hdrs */
/* Non-standard RSS hash types */
#define M_HASHTYPE_RSS_UDP_IPV4 M_HASHTYPE_HASH(7) /* IPv4 UDP 4-tuple*/
diff --git a/sys/sys/mman.h b/sys/sys/mman.h
index 1fce960..414de02 100644
--- a/sys/sys/mman.h
+++ b/sys/sys/mman.h
@@ -43,6 +43,7 @@
#define INHERIT_SHARE 0
#define INHERIT_COPY 1
#define INHERIT_NONE 2
+#define INHERIT_ZERO 3
#endif
/*
diff --git a/sys/sys/param.h b/sys/sys/param.h
index d1733b5..0f2799e 100644
--- a/sys/sys/param.h
+++ b/sys/sys/param.h
@@ -54,11 +54,11 @@
*
* scheme is: <major><two digit minor>Rxx
* 'R' is in the range 0 to 4 if this is a release branch or
- * x.0-CURRENT before RELENG_*_0 is created, otherwise 'R' is
+ * X.0-CURRENT before releng/X.0 is created, otherwise 'R' is
* in the range 5 to 9.
*/
#undef __FreeBSD_version
-#define __FreeBSD_version 1100512 /* Master, propagated to newvers */
+#define __FreeBSD_version 1101000 /* Master, propagated to newvers */
/*
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
diff --git a/sys/sys/proc.h b/sys/sys/proc.h
index 2439e11..d32807a 100644
--- a/sys/sys/proc.h
+++ b/sys/sys/proc.h
@@ -316,7 +316,7 @@ struct thread {
} td_state; /* (t) thread state */
union {
register_t tdu_retval[2];
- off_t tdu_off;
+ off_t tdu_off;
} td_uretoff; /* (k) Syscall aux returns. */
#define td_retval td_uretoff.tdu_retval
u_int td_cowgen; /* (k) Generation of COW pointers. */
@@ -567,8 +567,8 @@ struct proc {
struct mtx p_itimmtx; /* Lock for the virt/prof timers */
struct mtx p_profmtx; /* Lock for the profiling */
struct ksiginfo *p_ksi; /* Locked by parent proc lock */
- sigqueue_t p_sigqueue; /* (c) Sigs not delivered to a td. */
-#define p_siglist p_sigqueue.sq_signals
+ uint64_t padding1[4];
+ void *padding2[4];
/* The following fields are all zeroed upon creation in fork. */
#define p_startzero p_oppid
@@ -624,10 +624,11 @@ struct proc {
pid_t p_reapsubtree; /* (e) Pid of the direct child of the
reaper which spawned
our subtree. */
+/* End area that is copied on creation. */
+#define p_endcopy p_xexit
+
u_int p_xexit; /* (c) Exit code. */
u_int p_xsig; /* (c) Stop/kill sig. */
-/* End area that is copied on creation. */
-#define p_endcopy p_xsig
struct pgrp *p_pgrp; /* (c + e) Pointer to process group. */
struct knlist *p_klist; /* (c) Knotes attached to this proc. */
int p_numthreads; /* (c) Number of threads. */
@@ -657,6 +658,10 @@ struct proc {
LIST_ENTRY(proc) p_orphan; /* (e) List of orphan processes. */
LIST_HEAD(, proc) p_orphans; /* (e) Pointer to list of orphans. */
u_int p_ptevents; /* (c) ptrace() event mask. */
+ uint16_t p_elf_machine; /* (x) ELF machine type */
+ uint64_t p_elf_flags; /* (x) ELF flags */
+ sigqueue_t p_sigqueue; /* (c) Sigs not delivered to a td. */
+#define p_siglist p_sigqueue.sq_signals
};
#define p_session p_pgrp->pg_session
diff --git a/sys/sys/sockio.h b/sys/sys/sockio.h
index abdf1c3..de79041 100644
--- a/sys/sys/sockio.h
+++ b/sys/sys/sockio.h
@@ -97,6 +97,7 @@
#define SIOCGIFSTATUS _IOWR('i', 59, struct ifstat) /* get IF status */
#define SIOCSIFLLADDR _IOW('i', 60, struct ifreq) /* set linklevel addr */
#define SIOCGI2C _IOWR('i', 61, struct ifreq) /* get I2C data */
+#define SIOCGHWADDR _IOWR('i', 62, struct ifreq) /* get hardware lladdr */
#define SIOCSIFPHYADDR _IOW('i', 70, struct ifaliasreq) /* set gif address */
#define SIOCGIFPSRCADDR _IOWR('i', 71, struct ifreq) /* get gif psrc addr */
diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h
index 16af617..88b6c95 100644
--- a/sys/sys/syscallsubr.h
+++ b/sys/sys/syscallsubr.h
@@ -252,6 +252,8 @@ int kern_sigprocmask(struct thread *td, int how,
int kern_sigsuspend(struct thread *td, sigset_t mask);
int kern_sigtimedwait(struct thread *td, sigset_t waitset,
struct ksiginfo *ksi, struct timespec *timeout);
+int kern_sigqueue(struct thread *td, pid_t pid, int signum,
+ union sigval *value);
int kern_socket(struct thread *td, int domain, int type, int protocol);
int kern_statat(struct thread *td, int flag, int fd, char *path,
enum uio_seg pathseg, struct stat *sbp,
diff --git a/sys/sys/vmmeter.h b/sys/sys/vmmeter.h
index 55d3053..517be2d 100644
--- a/sys/sys/vmmeter.h
+++ b/sys/sys/vmmeter.h
@@ -75,9 +75,10 @@ struct vmmeter {
u_int v_vnodepgsin; /* (p) vnode_pager pages paged in */
u_int v_vnodepgsout; /* (p) vnode pager pages paged out */
u_int v_intrans; /* (p) intransit blocking page faults */
- u_int v_reactivated; /* (f) pages reactivated from free list */
+ u_int v_reactivated; /* (p) pages reactivated by the pagedaemon */
u_int v_pdwakeups; /* (p) times daemon has awaken from sleep */
u_int v_pdpages; /* (p) pages analyzed by daemon */
+ u_int v_pdshortfalls; /* (p) page reclamation shortfalls */
u_int v_tcached; /* (p) total pages cached */
u_int v_dfree; /* (p) pages freed by daemon */
@@ -96,6 +97,7 @@ struct vmmeter {
u_int v_active_count; /* (q) pages active */
u_int v_inactive_target; /* (c) pages desired inactive */
u_int v_inactive_count; /* (q) pages inactive */
+ u_int v_laundry_count; /* (q) pages eligible for laundering */
u_int v_cache_count; /* (f) pages on cache queue */
u_int v_pageout_free_min; /* (c) min pages reserved for kernel */
u_int v_interrupt_free_min; /* (c) reserved pages for int code */
@@ -111,7 +113,6 @@ struct vmmeter {
u_int v_vforkpages; /* (p) VM pages affected by vfork() */
u_int v_rforkpages; /* (p) VM pages affected by rfork() */
u_int v_kthreadpages; /* (p) VM pages affected by fork() by kernel */
- u_int v_spare[2];
};
#ifdef _KERNEL
@@ -184,6 +185,25 @@ vm_paging_needed(void)
(u_int)vm_pageout_wakeup_thresh);
}
+/*
+ * Return the number of pages we need to launder.
+ * A positive number indicates that we have a shortfall of clean pages.
+ */
+static inline int
+vm_laundry_target(void)
+{
+
+ return (vm_paging_target());
+}
+
+/*
+ * Obtain the value of a per-CPU counter.
+ */
+#define VM_METER_PCPU_CNT(member) \
+ vm_meter_cnt(__offsetof(struct vmmeter, member))
+
+u_int vm_meter_cnt(size_t);
+
#endif
/* systemwide totals computed every five seconds */
diff --git a/sys/tests/callout_test/callout_test.c b/sys/tests/callout_test/callout_test.c
index 20273e0..c42e9de 100644
--- a/sys/tests/callout_test/callout_test.c
+++ b/sys/tests/callout_test/callout_test.c
@@ -27,23 +27,23 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/conf.h>
+#include <sys/cpuctl.h>
#include <sys/fcntl.h>
#include <sys/ioccom.h>
+#include <sys/kernel.h>
+#include <sys/libkern.h>
#include <sys/malloc.h>
#include <sys/module.h>
#include <sys/mutex.h>
+#include <sys/pcpu.h>
+#include <sys/pmckern.h>
#include <sys/priv.h>
#include <sys/proc.h>
#include <sys/queue.h>
#include <sys/sched.h>
-#include <sys/kernel.h>
+#include <sys/smp.h>
#include <sys/sysctl.h>
-#include <sys/libkern.h>
#include <sys/uio.h>
-#include <sys/pcpu.h>
-#include <sys/smp.h>
-#include <sys/pmckern.h>
-#include <sys/cpuctl.h>
#include <tests/kern_testfrwk.h>
#include <tests/callout_test.h>
#include <machine/cpu.h>
diff --git a/sys/tests/framework/kern_testfrwk.c b/sys/tests/framework/kern_testfrwk.c
index f348ee9..2ef1c6f 100644
--- a/sys/tests/framework/kern_testfrwk.c
+++ b/sys/tests/framework/kern_testfrwk.c
@@ -27,22 +27,20 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
#include <sys/callout.h>
-#include <sys/module.h>
#include <sys/kernel.h>
#include <sys/ktr.h>
#include <sys/lock.h>
#include <sys/malloc.h>
+#include <sys/module.h>
#include <sys/mutex.h>
#include <sys/sdt.h>
+#include <sys/smp.h>
#include <sys/sysctl.h>
#include <sys/taskqueue.h>
-#include <sys/smp.h>
#include <sys/queue.h>
#include <tests/kern_testfrwk.h>
#ifdef SMP
diff --git a/sys/tools/fdt/make_dtb.sh b/sys/tools/fdt/make_dtb.sh
index 643fdd6..e7138a8 100755
--- a/sys/tools/fdt/make_dtb.sh
+++ b/sys/tools/fdt/make_dtb.sh
@@ -20,5 +20,5 @@ for d in ${dts}; do
dtb=${dtb_path}/`basename $d .dts`.dtb
echo "converting $d -> $dtb"
cpp -P -x assembler-with-cpp -I $S/gnu/dts/include -I $S/boot/fdt/dts/${MACHINE} -I $S/gnu/dts/${MACHINE} -include $d /dev/null |
- dtc -O dtb -o $dtb -b 0 -p 1024 -i $S/boot/fdt/dts/${MACHINE} -i $S/gnu/dts/${MACHINE}
+ dtc -@ -O dtb -o $dtb -b 0 -p 1024 -i $S/boot/fdt/dts/${MACHINE} -i $S/gnu/dts/${MACHINE}
done
diff --git a/sys/tools/sound/snd_fxdiv_gen.awk b/sys/tools/sound/snd_fxdiv_gen.awk
index 5828062..6e869d0 100644
--- a/sys/tools/sound/snd_fxdiv_gen.awk
+++ b/sys/tools/sound/snd_fxdiv_gen.awk
@@ -74,7 +74,7 @@ BEGIN {
FXSHIFT = 16;
FXONE = shl(1, FXSHIFT);
- SND_CHN_MAX = 18;
+ SND_CHN_MAX = 127;
PCM_8_BPS = 1;
PCM_16_BPS = 2;
@@ -103,12 +103,15 @@ BEGIN {
printf("/*\n");
printf(" * Fast unsigned 32bit integer division and rounding, accurate for\n");
printf(" * x = 1 - %d. This table should be enough to handle possible\n", FXONE);
- printf(" * division for 1 - 72 (more can be generated though..).\n");
+ printf(" * division for 1 - 508 (more can be generated though..).\n");
printf(" *\n");
- printf(" * 72 = SND_CHN_MAX * PCM_32_BPS, which is why....\n");
+ printf(" * 508 = SND_CHN_MAX * PCM_32_BPS, which is why....\n");
printf(" */\n\n");
- printf("static const uint32_t snd_fxdiv_table[][2] = {\n");
+ printf("extern const uint32_t snd_fxdiv_table[%d][2];\n\n", SND_MAX_ALIGN + 1);
+
+ printf("#ifdef SND_DECLARE_FXDIV\n");
+ printf("const uint32_t snd_fxdiv_table[%d][2] = {\n", SND_MAX_ALIGN + 1);
for (i = 1; i <= SND_MAX_ALIGN; i++) {
if (aligns[i] != 1)
@@ -120,7 +123,7 @@ BEGIN {
i, r["mul"], r["shift"]);
}
- printf("};\n\n");
+ printf("};\n#endif\n\n");
printf("#define SND_FXDIV_MAX\t\t0x%08x\n", FXONE);
printf("#define SND_FXDIV(x, y)\t\t(((uint32_t)(x) *\t\t\t\\\n");
diff --git a/sys/ufs/ffs/ffs_rawread.c b/sys/ufs/ffs/ffs_rawread.c
index e1fc346..0868f2a 100644
--- a/sys/ufs/ffs/ffs_rawread.c
+++ b/sys/ufs/ffs/ffs_rawread.c
@@ -270,7 +270,6 @@ ffs_rawread_main(struct vnode *vp,
int error, nerror;
struct buf *bp, *nbp, *tbp;
u_int iolen;
- int spl;
caddr_t udata;
long resid;
off_t offset;
@@ -330,10 +329,7 @@ ffs_rawread_main(struct vnode *vp,
}
}
- spl = splbio();
bwait(bp, PRIBIO, "rawrd");
- splx(spl);
-
vunmapbuf(bp);
iolen = bp->b_bcount - bp->b_resid;
@@ -400,9 +396,7 @@ ffs_rawread_main(struct vnode *vp,
relpbuf(bp, &ffsrawbufcnt);
}
if (nbp != NULL) { /* Run down readahead buffer */
- spl = splbio();
bwait(nbp, PRIBIO, "rawrd");
- splx(spl);
vunmapbuf(nbp);
pbrelvp(nbp);
relpbuf(nbp, &ffsrawbufcnt);
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index e7214cb..c20588c 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -901,6 +901,7 @@ static int pagedep_find(struct pagedep_hashhead *, ino_t, ufs_lbn_t,
struct pagedep **);
static void pause_timer(void *);
static int request_cleanup(struct mount *, int);
+static int softdep_request_cleanup_flush(struct mount *, struct ufsmount *);
static void schedule_cleanup(struct mount *);
static void softdep_ast_cleanup_proc(struct thread *);
static int process_worklist_item(struct mount *, int, int);
@@ -13266,10 +13267,9 @@ softdep_request_cleanup(fs, vp, cred, resource)
{
struct ufsmount *ump;
struct mount *mp;
- struct vnode *lvp, *mvp;
long starttime;
ufs2_daddr_t needed;
- int error;
+ int error, failed_vnode;
/*
* If we are being called because of a process doing a
@@ -13360,41 +13360,88 @@ retry:
* to the worklist that we can then process to reap addition
* resources. We walk the vnodes associated with the mount point
* until we get the needed worklist requests that we can reap.
- */
+ *
+ * If there are several threads all needing to clean the same
+ * mount point, only one is allowed to walk the mount list.
+ * When several threads all try to walk the same mount list,
+ * they end up competing with each other and often end up in
+ * livelock. This approach ensures that forward progress is
+ * made at the cost of occational ENOSPC errors being returned
+ * that might otherwise have been avoided.
+ */
+ error = 1;
if ((resource == FLUSH_BLOCKS_WAIT &&
fs->fs_cstotal.cs_nbfree <= needed) ||
(resource == FLUSH_INODES_WAIT && fs->fs_pendinginodes > 0 &&
fs->fs_cstotal.cs_nifree <= needed)) {
- MNT_VNODE_FOREACH_ALL(lvp, mp, mvp) {
- if (TAILQ_FIRST(&lvp->v_bufobj.bo_dirty.bv_hd) == 0) {
- VI_UNLOCK(lvp);
- continue;
- }
- if (vget(lvp, LK_EXCLUSIVE | LK_INTERLOCK | LK_NOWAIT,
- curthread))
- continue;
- if (lvp->v_vflag & VV_NOSYNC) { /* unlinked */
- vput(lvp);
- continue;
+ ACQUIRE_LOCK(ump);
+ if ((ump->um_softdep->sd_flags & FLUSH_RC_ACTIVE) == 0) {
+ ump->um_softdep->sd_flags |= FLUSH_RC_ACTIVE;
+ FREE_LOCK(ump);
+ failed_vnode = softdep_request_cleanup_flush(mp, ump);
+ ACQUIRE_LOCK(ump);
+ ump->um_softdep->sd_flags &= ~FLUSH_RC_ACTIVE;
+ FREE_LOCK(ump);
+ if (ump->softdep_on_worklist > 0) {
+ stat_cleanup_retries += 1;
+ if (!failed_vnode)
+ goto retry;
}
- (void) ffs_syncvnode(lvp, MNT_NOWAIT, 0);
- vput(lvp);
- }
- lvp = ump->um_devvp;
- if (vn_lock(lvp, LK_EXCLUSIVE | LK_NOWAIT) == 0) {
- VOP_FSYNC(lvp, MNT_NOWAIT, curthread);
- VOP_UNLOCK(lvp, 0);
- }
- if (ump->softdep_on_worklist > 0) {
- stat_cleanup_retries += 1;
- goto retry;
+ } else {
+ FREE_LOCK(ump);
+ error = 0;
}
stat_cleanup_failures += 1;
}
if (time_second - starttime > stat_cleanup_high_delay)
stat_cleanup_high_delay = time_second - starttime;
UFS_LOCK(ump);
- return (1);
+ return (error);
+}
+
+/*
+ * Scan the vnodes for the specified mount point flushing out any
+ * vnodes that can be locked without waiting. Finally, try to flush
+ * the device associated with the mount point if it can be locked
+ * without waiting.
+ *
+ * We return 0 if we were able to lock every vnode in our scan.
+ * If we had to skip one or more vnodes, we return 1.
+ */
+static int
+softdep_request_cleanup_flush(mp, ump)
+ struct mount *mp;
+ struct ufsmount *ump;
+{
+ struct thread *td;
+ struct vnode *lvp, *mvp;
+ int failed_vnode;
+
+ failed_vnode = 0;
+ td = curthread;
+ MNT_VNODE_FOREACH_ALL(lvp, mp, mvp) {
+ if (TAILQ_FIRST(&lvp->v_bufobj.bo_dirty.bv_hd) == 0) {
+ VI_UNLOCK(lvp);
+ continue;
+ }
+ if (vget(lvp, LK_EXCLUSIVE | LK_INTERLOCK | LK_NOWAIT,
+ td) != 0) {
+ failed_vnode = 1;
+ continue;
+ }
+ if (lvp->v_vflag & VV_NOSYNC) { /* unlinked */
+ vput(lvp);
+ continue;
+ }
+ (void) ffs_syncvnode(lvp, MNT_NOWAIT, 0);
+ vput(lvp);
+ }
+ lvp = ump->um_devvp;
+ if (vn_lock(lvp, LK_EXCLUSIVE | LK_NOWAIT) == 0) {
+ VOP_FSYNC(lvp, MNT_NOWAIT, td);
+ VOP_UNLOCK(lvp, 0);
+ }
+ return (failed_vnode);
}
static bool
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c
index 3760e8f..9c2b060 100644
--- a/sys/ufs/ffs/ffs_vfsops.c
+++ b/sys/ufs/ffs/ffs_vfsops.c
@@ -1317,6 +1317,10 @@ ffs_unmount(mp, mntflags)
MNT_ILOCK(mp);
mp->mnt_flag &= ~MNT_LOCAL;
MNT_IUNLOCK(mp);
+ if (td->td_su == mp) {
+ td->td_su = NULL;
+ vfs_rel(mp);
+ }
return (error);
fail:
diff --git a/sys/ufs/ffs/softdep.h b/sys/ufs/ffs/softdep.h
index 009e3b3..f133422 100644
--- a/sys/ufs/ffs/softdep.h
+++ b/sys/ufs/ffs/softdep.h
@@ -1065,6 +1065,7 @@ struct mount_softdeps {
#define FLUSH_EXIT 0x0001 /* time to exit */
#define FLUSH_CLEANUP 0x0002 /* need to clear out softdep structures */
#define FLUSH_STARTING 0x0004 /* flush thread not yet started */
+#define FLUSH_RC_ACTIVE 0x0008 /* a thread is flushing the mount point */
/*
* Keep the old names from when these were in the ufsmount structure.
diff --git a/sys/vm/_vm_radix.h b/sys/vm/_vm_radix.h
index 1d06d0a..f066462 100644
--- a/sys/vm/_vm_radix.h
+++ b/sys/vm/_vm_radix.h
@@ -36,12 +36,8 @@
*/
struct vm_radix {
uintptr_t rt_root;
- uint8_t rt_flags;
};
-#define RT_INSERT_INPROG 0x01
-#define RT_TRIE_MODIFIED 0x02
-
#ifdef _KERNEL
static __inline boolean_t
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
index 30f6d97..b89a254 100644
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -115,9 +115,8 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
/*
- * SWB_NPAGES must be a power of 2. It may be set to 1, 2, 4, 8, 16
- * or 32 pages per allocation.
- * The 32-page limit is due to the radix code (kern/subr_blist.c).
+ * MAX_PAGEOUT_CLUSTER must be a power of 2 between 1 and 64.
+ * The 64-page limit is due to the radix code (kern/subr_blist.c).
*/
#ifndef MAX_PAGEOUT_CLUSTER
#define MAX_PAGEOUT_CLUSTER 16
@@ -380,18 +379,14 @@ struct pagerops swappagerops = {
};
/*
- * dmmax is in page-sized chunks with the new swap system. It was
- * dev-bsized chunks in the old. dmmax is always a power of 2.
- *
* swap_*() routines are externally accessible. swp_*() routines are
* internal.
*/
-static int dmmax;
static int nswap_lowat = 128; /* in pages, swap_pager_almost_full warn */
static int nswap_hiwat = 512; /* in pages, swap_pager_almost_full warn */
-SYSCTL_INT(_vm, OID_AUTO, dmmax, CTLFLAG_RD, &dmmax, 0,
- "Maximum size of a swap block");
+SYSCTL_INT(_vm, OID_AUTO, dmmax, CTLFLAG_RD, &nsw_cluster_max, 0,
+ "Maximum size of a swap block in pages");
static void swp_sizecheck(void);
static void swp_pager_async_iodone(struct buf *bp);
@@ -488,11 +483,6 @@ swap_pager_init(void)
mtx_init(&sw_dev_mtx, "swapdev", NULL, MTX_DEF);
sx_init(&sw_alloc_sx, "swspsx");
sx_init(&swdev_syscall_lock, "swsysc");
-
- /*
- * Device Stripe, in PAGE_SIZE'd blocks
- */
- dmmax = SWB_NPAGES * 2;
}
/*
@@ -1126,7 +1116,7 @@ swap_pager_getpages(vm_object_t object, vm_page_t *m, int count, int *rbehind,
if (shift != 0) {
for (i = 1; i <= shift; i++) {
p = vm_page_alloc(object, m[0]->pindex - i,
- VM_ALLOC_NORMAL | VM_ALLOC_IFNOTCACHED);
+ VM_ALLOC_NORMAL);
if (p == NULL) {
/* Shift allocated pages to the left. */
for (j = 0; j < i - 1; j++)
@@ -1144,8 +1134,7 @@ swap_pager_getpages(vm_object_t object, vm_page_t *m, int count, int *rbehind,
if (rahead != NULL) {
for (i = 0; i < *rahead; i++) {
p = vm_page_alloc(object,
- m[reqcount - 1]->pindex + i + 1,
- VM_ALLOC_NORMAL | VM_ALLOC_IFNOTCACHED);
+ m[reqcount - 1]->pindex + i + 1, VM_ALLOC_NORMAL);
if (p == NULL)
break;
bp->b_pages[shift + reqcount + i] = p;
@@ -1549,17 +1538,18 @@ swp_pager_async_iodone(struct buf *bp)
* For write success, clear the dirty
* status, then finish the I/O ( which decrements the
* busy count and possibly wakes waiter's up ).
+ * A page is only written to swap after a period of
+ * inactivity. Therefore, we do not expect it to be
+ * reused.
*/
KASSERT(!pmap_page_is_write_mapped(m),
("swp_pager_async_iodone: page %p is not write"
" protected", m));
vm_page_undirty(m);
+ vm_page_lock(m);
+ vm_page_deactivate_noreuse(m);
+ vm_page_unlock(m);
vm_page_sunbusy(m);
- if (vm_page_count_severe()) {
- vm_page_lock(m);
- vm_page_try_to_cache(m);
- vm_page_unlock(m);
- }
}
}
@@ -1635,12 +1625,15 @@ swap_pager_isswapped(vm_object_t object, struct swdevt *sp)
/*
* SWP_PAGER_FORCE_PAGEIN() - force a swap block to be paged in
*
- * This routine dissociates the page at the given index within a
- * swap block from its backing store, paging it in if necessary.
- * If the page is paged in, it is placed in the inactive queue,
- * since it had its backing store ripped out from under it.
- * We also attempt to swap in all other pages in the swap block,
- * we only guarantee that the one at the specified index is
+ * This routine dissociates the page at the given index within an object
+ * from its backing store, paging it in if it does not reside in memory.
+ * If the page is paged in, it is marked dirty and placed in the laundry
+ * queue. The page is marked dirty because it no longer has backing
+ * store. It is placed in the laundry queue because it has not been
+ * accessed recently. Otherwise, it would already reside in memory.
+ *
+ * We also attempt to swap in all other pages in the swap block.
+ * However, we only guarantee that the one at the specified index is
* paged in.
*
* XXX - The code to page the whole block in doesn't work, so we
@@ -1669,7 +1662,7 @@ swp_pager_force_pagein(vm_object_t object, vm_pindex_t pindex)
vm_object_pip_wakeup(object);
vm_page_dirty(m);
vm_page_lock(m);
- vm_page_deactivate(m);
+ vm_page_launder(m);
vm_page_unlock(m);
vm_page_xunbusy(m);
vm_pager_page_unswapped(m);
@@ -2201,7 +2194,7 @@ swaponsomething(struct vnode *vp, void *id, u_long nblks,
sp->sw_end = dvbase + nblks;
TAILQ_INSERT_TAIL(&swtailq, sp, sw_list);
nswapdev++;
- swap_pager_avail += nblks;
+ swap_pager_avail += nblks - 2;
swap_total += (vm_ooffset_t)nblks * PAGE_SIZE;
swapon_check_swzone(swap_total / PAGE_SIZE);
swp_sizecheck();
@@ -2268,7 +2261,7 @@ done:
static int
swapoff_one(struct swdevt *sp, struct ucred *cred)
{
- u_long nblks, dvbase;
+ u_long nblks;
#ifdef MAC
int error;
#endif
@@ -2299,10 +2292,7 @@ swapoff_one(struct swdevt *sp, struct ucred *cred)
*/
mtx_lock(&sw_dev_mtx);
sp->sw_flags |= SW_CLOSING;
- for (dvbase = 0; dvbase < sp->sw_end; dvbase += dmmax) {
- swap_pager_avail -= blist_fill(sp->sw_blist,
- dvbase, dmmax);
- }
+ swap_pager_avail -= blist_fill(sp->sw_blist, 0, nblks);
swap_total -= (vm_ooffset_t)nblks * PAGE_SIZE;
mtx_unlock(&sw_dev_mtx);
diff --git a/sys/vm/vm.h b/sys/vm/vm.h
index 1df51fe..68bb4d1 100644
--- a/sys/vm/vm.h
+++ b/sys/vm/vm.h
@@ -68,6 +68,7 @@ typedef char vm_inherit_t; /* inheritance codes */
#define VM_INHERIT_SHARE ((vm_inherit_t) 0)
#define VM_INHERIT_COPY ((vm_inherit_t) 1)
#define VM_INHERIT_NONE ((vm_inherit_t) 2)
+#define VM_INHERIT_ZERO ((vm_inherit_t) 3)
#define VM_INHERIT_DEFAULT VM_INHERIT_COPY
typedef u_char vm_prot_t; /* protection codes */
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index ba0c775..2a90c15 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -485,11 +485,12 @@ int
vm_fault_hold(vm_map_t map, vm_offset_t vaddr, vm_prot_t fault_type,
int fault_flags, vm_page_t *m_hold)
{
- vm_prot_t prot;
- vm_object_t next_object;
struct faultstate fs;
struct vnode *vp;
+ vm_object_t next_object, retry_object;
vm_offset_t e_end, e_start;
+ vm_pindex_t retry_pindex;
+ vm_prot_t prot, retry_prot;
int ahead, alloc_req, behind, cluster_offset, error, era, faultcount;
int locked, nera, result, rv;
u_char behavior;
@@ -755,8 +756,7 @@ RetryFault:;
unlock_and_deallocate(&fs);
VM_WAITPFAULT;
goto RetryFault;
- } else if (fs.m->valid == VM_PAGE_BITS_ALL)
- break;
+ }
}
readrest:
@@ -1143,10 +1143,6 @@ readrest:
* lookup.
*/
if (!fs.lookup_still_valid) {
- vm_object_t retry_object;
- vm_pindex_t retry_pindex;
- vm_prot_t retry_prot;
-
if (!vm_map_trylock_read(fs.map)) {
release_page(&fs);
unlock_and_deallocate(&fs);
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c
index cd72cf8..7fa3203 100644
--- a/sys/vm/vm_map.c
+++ b/sys/vm/vm_map.c
@@ -1190,6 +1190,8 @@ vm_map_insert(vm_map_t map, vm_object_t object, vm_ooffset_t offset,
("vm_map_insert: kmem or kernel object and COW"));
KASSERT(object == NULL || (cow & MAP_NOFAULT) == 0,
("vm_map_insert: paradoxical MAP_NOFAULT request"));
+ KASSERT((prot & ~max) == 0,
+ ("prot %#x is not subset of max_prot %#x", prot, max));
/*
* Check that the start and end points are not bogus.
@@ -1858,9 +1860,7 @@ vm_map_submap(
* limited number of page mappings are created at the low-end of the
* specified address range. (For this purpose, a superpage mapping
* counts as one page mapping.) Otherwise, all resident pages within
- * the specified address range are mapped. Because these mappings are
- * being created speculatively, cached pages are not reactivated and
- * mapped.
+ * the specified address range are mapped.
*/
static void
vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot,
@@ -2296,6 +2296,7 @@ vm_map_inherit(vm_map_t map, vm_offset_t start, vm_offset_t end,
case VM_INHERIT_NONE:
case VM_INHERIT_COPY:
case VM_INHERIT_SHARE:
+ case VM_INHERIT_ZERO:
break;
default:
return (KERN_INVALID_ARGUMENT);
@@ -2711,9 +2712,6 @@ done:
}
for (entry = first_entry; entry != &map->header && entry->start < end;
entry = entry->next) {
- if ((entry->eflags & MAP_ENTRY_WIRE_SKIPPED) != 0)
- goto next_entry_done;
-
/*
* If VM_MAP_WIRE_HOLESOK was specified, an empty
* space in the unwired region could have been mapped
@@ -2721,7 +2719,7 @@ done:
* pages or draining MAP_ENTRY_IN_TRANSITION.
* Moreover, another thread could be simultaneously
* wiring this new mapping entry. Detect these cases
- * and skip any entries marked as in transition by us.
+ * and skip any entries marked as in transition not by us.
*/
if ((entry->eflags & MAP_ENTRY_IN_TRANSITION) == 0 ||
entry->wiring_thread != curthread) {
@@ -2730,6 +2728,9 @@ done:
continue;
}
+ if ((entry->eflags & MAP_ENTRY_WIRE_SKIPPED) != 0)
+ goto next_entry_done;
+
if (rv == KERN_SUCCESS) {
if (user_wire)
entry->eflags |= MAP_ENTRY_USER_WIRED;
@@ -3238,6 +3239,10 @@ vm_map_copy_entry(
fake_entry->next = curthread->td_map_def_user;
curthread->td_map_def_user = fake_entry;
}
+
+ pmap_copy(dst_map->pmap, src_map->pmap,
+ dst_entry->start, dst_entry->end - dst_entry->start,
+ src_entry->start);
} else {
dst_entry->object.vm_object = NULL;
dst_entry->offset = 0;
@@ -3247,9 +3252,6 @@ vm_map_copy_entry(
*fork_charge += size;
}
}
-
- pmap_copy(dst_map->pmap, src_map->pmap, dst_entry->start,
- dst_entry->end - dst_entry->start, src_entry->start);
} else {
/*
* We don't want to make writeable wired pages copy-on-write.
@@ -3454,6 +3456,34 @@ vmspace_fork(struct vmspace *vm1, vm_ooffset_t *fork_charge)
vm_map_copy_entry(old_map, new_map, old_entry,
new_entry, fork_charge);
break;
+
+ case VM_INHERIT_ZERO:
+ /*
+ * Create a new anonymous mapping entry modelled from
+ * the old one.
+ */
+ new_entry = vm_map_entry_create(new_map);
+ memset(new_entry, 0, sizeof(*new_entry));
+
+ new_entry->start = old_entry->start;
+ new_entry->end = old_entry->end;
+ new_entry->avail_ssize = old_entry->avail_ssize;
+ new_entry->eflags = old_entry->eflags &
+ ~(MAP_ENTRY_USER_WIRED | MAP_ENTRY_IN_TRANSITION |
+ MAP_ENTRY_VN_WRITECNT);
+ new_entry->protection = old_entry->protection;
+ new_entry->max_protection = old_entry->max_protection;
+ new_entry->inheritance = VM_INHERIT_ZERO;
+
+ vm_map_entry_link(new_map, new_map->header.prev,
+ new_entry);
+ vmspace_map_entry_forked(vm1, vm2, new_entry);
+
+ new_entry->cred = curthread->td_ucred;
+ crhold(new_entry->cred);
+ *fork_charge += (new_entry->end - new_entry->start);
+
+ break;
}
old_entry = old_entry->next;
}
@@ -3864,9 +3894,7 @@ Retry:
vm_map_wire(map,
(stack_entry == next_entry) ? addr : addr - grow_amount,
(stack_entry == next_entry) ? stack_entry->start : addr,
- (p->p_flag & P_SYSTEM)
- ? VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES
- : VM_MAP_WIRE_USER|VM_MAP_WIRE_NOHOLES);
+ VM_MAP_WIRE_USER | VM_MAP_WIRE_NOHOLES);
}
out:
diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c
index 5aa6085..6e2199e 100644
--- a/sys/vm/vm_meter.c
+++ b/sys/vm/vm_meter.c
@@ -209,29 +209,37 @@ vmtotal(SYSCTL_HANDLER_ARGS)
}
/*
- * vcnt() - accumulate statistics from all cpus and the global cnt
- * structure.
+ * vm_meter_cnt() - accumulate statistics from all cpus and the global cnt
+ * structure.
*
* The vmmeter structure is now per-cpu as well as global. Those
* statistics which can be kept on a per-cpu basis (to avoid cache
* stalls between cpus) can be moved to the per-cpu vmmeter. Remaining
* statistics, such as v_free_reserved, are left in the global
* structure.
- *
- * (sysctl_oid *oidp, void *arg1, int arg2, struct sysctl_req *req)
*/
-static int
-vcnt(SYSCTL_HANDLER_ARGS)
+u_int
+vm_meter_cnt(size_t offset)
{
- int count = *(int *)arg1;
- int offset = (char *)arg1 - (char *)&vm_cnt;
+ struct pcpu *pcpu;
+ u_int count;
int i;
+ count = *(u_int *)((char *)&vm_cnt + offset);
CPU_FOREACH(i) {
- struct pcpu *pcpu = pcpu_find(i);
- count += *(int *)((char *)&pcpu->pc_cnt + offset);
+ pcpu = pcpu_find(i);
+ count += *(u_int *)((char *)&pcpu->pc_cnt + offset);
}
- return (SYSCTL_OUT(req, &count, sizeof(int)));
+ return (count);
+}
+
+static int
+cnt_sysctl(SYSCTL_HANDLER_ARGS)
+{
+ u_int count;
+
+ count = vm_meter_cnt((char *)arg1 - (char *)&vm_cnt);
+ return (SYSCTL_OUT(req, &count, sizeof(count)));
}
SYSCTL_PROC(_vm, VM_TOTAL, vmtotal, CTLTYPE_OPAQUE|CTLFLAG_RD|CTLFLAG_MPSAFE,
@@ -246,8 +254,8 @@ SYSCTL_NODE(_vm_stats, OID_AUTO, misc, CTLFLAG_RW, 0, "VM meter misc stats");
#define VM_STATS(parent, var, descr) \
SYSCTL_PROC(parent, OID_AUTO, var, \
- CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_MPSAFE, &vm_cnt.var, 0, vcnt, \
- "IU", descr)
+ CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_MPSAFE, &vm_cnt.var, 0, \
+ cnt_sysctl, "IU", descr)
#define VM_STATS_VM(var, descr) VM_STATS(_vm_stats_vm, var, descr)
#define VM_STATS_SYS(var, descr) VM_STATS(_vm_stats_sys, var, descr)
@@ -271,9 +279,10 @@ VM_STATS_VM(v_vnodeout, "Vnode pager pageouts");
VM_STATS_VM(v_vnodepgsin, "Vnode pages paged in");
VM_STATS_VM(v_vnodepgsout, "Vnode pages paged out");
VM_STATS_VM(v_intrans, "In transit page faults");
-VM_STATS_VM(v_reactivated, "Pages reactivated from free list");
+VM_STATS_VM(v_reactivated, "Pages reactivated by pagedaemon");
VM_STATS_VM(v_pdwakeups, "Pagedaemon wakeups");
VM_STATS_VM(v_pdpages, "Pages analyzed by pagedaemon");
+VM_STATS_VM(v_pdshortfalls, "Page reclamation shortfalls");
VM_STATS_VM(v_tcached, "Total pages cached");
VM_STATS_VM(v_dfree, "Pages freed by pagedaemon");
VM_STATS_VM(v_pfree, "Pages freed by exiting processes");
@@ -288,6 +297,7 @@ VM_STATS_VM(v_wire_count, "Wired pages");
VM_STATS_VM(v_active_count, "Active pages");
VM_STATS_VM(v_inactive_target, "Desired inactive pages");
VM_STATS_VM(v_inactive_count, "Inactive pages");
+VM_STATS_VM(v_laundry_count, "Pages eligible for laundering");
VM_STATS_VM(v_cache_count, "Pages on cache queue");
VM_STATS_VM(v_pageout_free_min, "Min pages reserved for kernel");
VM_STATS_VM(v_interrupt_free_min, "Reserved pages for interrupt code");
diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c
index aae3771..68c2108 100644
--- a/sys/vm/vm_mmap.c
+++ b/sys/vm/vm_mmap.c
@@ -849,9 +849,6 @@ RestartScan:
pindex = OFF_TO_IDX(current->offset +
(addr - current->start));
m = vm_page_lookup(object, pindex);
- if (m == NULL &&
- vm_page_is_cached(object, pindex))
- mincoreinfo = MINCORE_INCORE;
if (m != NULL && m->valid == 0)
m = NULL;
if (m != NULL)
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 2e9d16f..6db1ac4 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -178,9 +178,6 @@ vm_object_zdtor(void *mem, int size, void *arg)
("object %p has reservations",
object));
#endif
- KASSERT(vm_object_cache_is_empty(object),
- ("object %p has cached pages",
- object));
KASSERT(object->paging_in_progress == 0,
("object %p paging_in_progress = %d",
object, object->paging_in_progress));
@@ -208,12 +205,9 @@ vm_object_zinit(void *mem, int size, int flags)
object->type = OBJT_DEAD;
object->ref_count = 0;
object->rtree.rt_root = 0;
- object->rtree.rt_flags = 0;
object->paging_in_progress = 0;
object->resident_page_count = 0;
object->shadow_count = 0;
- object->cache.rt_root = 0;
- object->cache.rt_flags = 0;
mtx_lock(&vm_object_list_mtx);
TAILQ_INSERT_TAIL(&vm_object_list, object, object_list);
@@ -792,8 +786,6 @@ vm_object_terminate(vm_object_t object)
if (__predict_false(!LIST_EMPTY(&object->rvq)))
vm_reserv_break_all(object);
#endif
- if (__predict_false(!vm_object_cache_is_empty(object)))
- vm_page_cache_free(object, 0, 0);
KASSERT(object->cred == NULL || object->type == OBJT_DEFAULT ||
object->type == OBJT_SWAP,
@@ -1135,13 +1127,6 @@ shadowlookup:
} else if ((tobject->flags & OBJ_UNMANAGED) != 0)
goto unlock_tobject;
m = vm_page_lookup(tobject, tpindex);
- if (m == NULL && advise == MADV_WILLNEED) {
- /*
- * If the page is cached, reactivate it.
- */
- m = vm_page_alloc(tobject, tpindex, VM_ALLOC_IFCACHED |
- VM_ALLOC_NOBUSY);
- }
if (m == NULL) {
/*
* There may be swap even if there is no backing page
@@ -1371,7 +1356,7 @@ retry:
goto retry;
}
- /* vm_page_rename() will handle dirty and cache. */
+ /* vm_page_rename() will dirty the page. */
if (vm_page_rename(m, new_object, idx)) {
VM_OBJECT_WUNLOCK(new_object);
VM_OBJECT_WUNLOCK(orig_object);
@@ -1406,19 +1391,6 @@ retry:
swap_pager_copy(orig_object, new_object, offidxstart, 0);
TAILQ_FOREACH(m, &new_object->memq, listq)
vm_page_xunbusy(m);
-
- /*
- * Transfer any cached pages from orig_object to new_object.
- * If swap_pager_copy() found swapped out pages within the
- * specified range of orig_object, then it changed
- * new_object's type to OBJT_SWAP when it transferred those
- * pages to new_object. Otherwise, new_object's type
- * should still be OBJT_DEFAULT and orig_object should not
- * contain any cached pages within the specified range.
- */
- if (__predict_false(!vm_object_cache_is_empty(orig_object)))
- vm_page_cache_transfer(orig_object, offidxstart,
- new_object);
}
VM_OBJECT_WUNLOCK(orig_object);
VM_OBJECT_WUNLOCK(new_object);
@@ -1471,6 +1443,13 @@ vm_object_scan_all_shadowed(vm_object_t object)
backing_object = object->backing_object;
+ /*
+ * Initial conditions:
+ *
+ * We do not want to have to test for the existence of swap
+ * pages in the backing object. XXX but with the new swapper this
+ * would be pretty easy to do.
+ */
if (backing_object->type != OBJT_DEFAULT &&
backing_object->type != OBJT_SWAP)
return (false);
@@ -1622,8 +1601,7 @@ vm_object_collapse_scan(vm_object_t object, int op)
* backing object to the main object.
*
* If the page was mapped to a process, it can remain mapped
- * through the rename. vm_page_rename() will handle dirty and
- * cache.
+ * through the rename. vm_page_rename() will dirty the page.
*/
if (vm_page_rename(p, object, new_pindex)) {
next = vm_object_collapse_scan_wait(object, NULL, next,
@@ -1758,13 +1736,6 @@ vm_object_collapse(vm_object_t object)
backing_object,
object,
OFF_TO_IDX(object->backing_object_offset), TRUE);
-
- /*
- * Free any cached pages from backing_object.
- */
- if (__predict_false(
- !vm_object_cache_is_empty(backing_object)))
- vm_page_cache_free(backing_object, 0, 0);
}
/*
* Object now shadows whatever backing_object did.
@@ -1893,7 +1864,7 @@ vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end,
(options & (OBJPR_CLEANONLY | OBJPR_NOTMAPPED)) == OBJPR_NOTMAPPED,
("vm_object_page_remove: illegal options for object %p", object));
if (object->resident_page_count == 0)
- goto skipmemq;
+ return;
vm_object_pip_add(object, 1);
again:
p = vm_page_find_least(object, start);
@@ -1950,9 +1921,6 @@ next:
vm_page_unlock(p);
}
vm_object_pip_wakeup(object);
-skipmemq:
- if (__predict_false(!vm_object_cache_is_empty(object)))
- vm_page_cache_free(object, start, end);
}
/*
@@ -2333,9 +2301,9 @@ sysctl_vm_object_list(SYSCTL_HANDLER_ARGS)
* sysctl is only meant to give an
* approximation of the system anyway.
*/
- if (m->queue == PQ_ACTIVE)
+ if (vm_page_active(m))
kvo.kvo_active++;
- else if (m->queue == PQ_INACTIVE)
+ else if (vm_page_inactive(m))
kvo.kvo_inactive++;
}
diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h
index 5b65d76..9b2192e 100644
--- a/sys/vm/vm_object.h
+++ b/sys/vm/vm_object.h
@@ -79,17 +79,6 @@
*
* vm_object_t Virtual memory object.
*
- * The root of cached pages pool is protected by both the per-object lock
- * and the free pages queue mutex.
- * On insert in the cache radix trie, the per-object lock is expected
- * to be already held and the free pages queue mutex will be
- * acquired during the operation too.
- * On remove and lookup from the cache radix trie, only the free
- * pages queue mutex is expected to be locked.
- * These rules allow for reliably checking for the presence of cached
- * pages with only the per-object lock held, thereby reducing contention
- * for the free pages queue mutex.
- *
* List of locks
* (c) const until freed
* (o) per-object lock
@@ -118,7 +107,6 @@ struct vm_object {
vm_ooffset_t backing_object_offset;/* Offset in backing object */
TAILQ_ENTRY(vm_object) pager_object_list; /* list of all objects of this pager type */
LIST_HEAD(, vm_reserv) rvq; /* list of reservations */
- struct vm_radix cache; /* (o + f) root of the cache page radix trie */
void *handle;
union {
/*
@@ -306,13 +294,6 @@ void vm_object_pip_wakeup(vm_object_t object);
void vm_object_pip_wakeupn(vm_object_t object, short i);
void vm_object_pip_wait(vm_object_t object, char *waitid);
-static __inline boolean_t
-vm_object_cache_is_empty(vm_object_t object)
-{
-
- return (vm_radix_is_empty(&object->cache));
-}
-
void umtx_shm_object_init(vm_object_t object);
void umtx_shm_object_terminated(vm_object_t object);
extern int umtx_shm_vnobj_persistent;
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 7c77b22..ec721b2 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -155,8 +155,7 @@ static int vm_pageout_pages_needed;
static uma_zone_t fakepg_zone;
-static struct vnode *vm_page_alloc_init(vm_page_t m);
-static void vm_page_cache_turn_free(vm_page_t m);
+static void vm_page_alloc_check(vm_page_t m);
static void vm_page_clear_dirty_mask(vm_page_t m, vm_page_bits_t pagebits);
static void vm_page_enqueue(uint8_t queue, vm_page_t m);
static void vm_page_free_wakeup(void);
@@ -391,6 +390,10 @@ vm_page_domain_init(struct vm_domain *vmd)
"vm active pagequeue";
*__DECONST(u_int **, &vmd->vmd_pagequeues[PQ_ACTIVE].pq_vcnt) =
&vm_cnt.v_active_count;
+ *__DECONST(char **, &vmd->vmd_pagequeues[PQ_LAUNDRY].pq_name) =
+ "vm laundry pagequeue";
+ *__DECONST(int **, &vmd->vmd_pagequeues[PQ_LAUNDRY].pq_vcnt) =
+ &vm_cnt.v_laundry_count;
vmd->vmd_page_count = 0;
vmd->vmd_free_count = 0;
vmd->vmd_segs = 0;
@@ -558,8 +561,13 @@ vm_page_startup(vm_offset_t vaddr)
size += vm_phys_segs[i].end - vm_phys_segs[i].start;
for (i = 0; phys_avail[i + 1] != 0; i += 2)
size += phys_avail[i + 1] - phys_avail[i];
- page_range = size / (PAGE_SIZE + sizeof(struct vm_page));
#elif defined(VM_PHYSSEG_DENSE)
+ size = high_avail - low_avail;
+#else
+#error "Either VM_PHYSSEG_DENSE or VM_PHYSSEG_SPARSE must be defined."
+#endif
+
+#ifdef VM_PHYSSEG_DENSE
/*
* In the VM_PHYSSEG_DENSE case, the number of pages can account for
* the overhead of a page structure per page only if vm_page_array is
@@ -567,14 +575,27 @@ vm_page_startup(vm_offset_t vaddr)
* allocate page structures representing the physical memory
* underlying vm_page_array, even though they will not be used.
*/
- if (new_end == high_avail)
- page_range = (high_avail - low_avail) / (PAGE_SIZE +
- sizeof(struct vm_page));
+ if (new_end != high_avail)
+ page_range = size / PAGE_SIZE;
else
- page_range = high_avail / PAGE_SIZE - first_page;
-#else
-#error "Either VM_PHYSSEG_DENSE or VM_PHYSSEG_SPARSE must be defined."
#endif
+ {
+ page_range = size / (PAGE_SIZE + sizeof(struct vm_page));
+
+ /*
+ * If the partial bytes remaining are large enough for
+ * a page (PAGE_SIZE) without a corresponding
+ * 'struct vm_page', then new_end will contain an
+ * extra page after subtracting the length of the VM
+ * page array. Compensate by subtracting an extra
+ * page from new_end.
+ */
+ if (size % (PAGE_SIZE + sizeof(struct vm_page)) >= PAGE_SIZE) {
+ if (new_end == high_avail)
+ high_avail -= PAGE_SIZE;
+ new_end -= PAGE_SIZE;
+ }
+ }
end = new_end;
/*
@@ -1136,9 +1157,7 @@ void
vm_page_dirty_KBI(vm_page_t m)
{
- /* These assertions refer to this operation by its public name. */
- KASSERT((m->flags & PG_CACHED) == 0,
- ("vm_page_dirty: page in cache!"));
+ /* Refer to this operation by its public name. */
KASSERT(m->valid == VM_PAGE_BITS_ALL,
("vm_page_dirty: page is invalid!"));
m->dirty = VM_PAGE_BITS_ALL;
@@ -1262,9 +1281,8 @@ vm_page_insert_radixdone(vm_page_t m, vm_object_t object, vm_page_t mpred)
/*
* vm_page_remove:
*
- * Removes the given mem entry from the object/offset-page
- * table and the object page list, but do not invalidate/terminate
- * the backing store.
+ * Removes the specified page from its containing object, but does not
+ * invalidate any backing storage.
*
* The object must be locked. The page must be locked if it is managed.
*/
@@ -1272,6 +1290,7 @@ void
vm_page_remove(vm_page_t m)
{
vm_object_t object;
+ vm_page_t mrem;
if ((m->oflags & VPO_UNMANAGED) == 0)
vm_page_assert_locked(m);
@@ -1280,11 +1299,12 @@ vm_page_remove(vm_page_t m)
VM_OBJECT_ASSERT_WLOCKED(object);
if (vm_page_xbusied(m))
vm_page_xunbusy_maybelocked(m);
+ mrem = vm_radix_remove(&object->rtree, m->pindex);
+ KASSERT(mrem == m, ("removed page %p, expected page %p", mrem, m));
/*
* Now remove from the object's list of backed pages.
*/
- vm_radix_remove(&object->rtree, m->pindex);
TAILQ_REMOVE(&object->memq, m, listq);
/*
@@ -1433,9 +1453,7 @@ vm_page_replace(vm_page_t mnew, vm_object_t object, vm_pindex_t pindex)
*
* Note: we *always* dirty the page. It is necessary both for the
* fact that we moved it, and because we may be invalidating
- * swap. If the page is on the cache, we have to deactivate it
- * or vm_page_dirty() will panic. Dirty pages are not allowed
- * on the cache.
+ * swap.
*
* The objects must be locked.
*/
@@ -1481,142 +1499,6 @@ vm_page_rename(vm_page_t m, vm_object_t new_object, vm_pindex_t new_pindex)
}
/*
- * Convert all of the given object's cached pages that have a
- * pindex within the given range into free pages. If the value
- * zero is given for "end", then the range's upper bound is
- * infinity. If the given object is backed by a vnode and it
- * transitions from having one or more cached pages to none, the
- * vnode's hold count is reduced.
- */
-void
-vm_page_cache_free(vm_object_t object, vm_pindex_t start, vm_pindex_t end)
-{
- vm_page_t m;
- boolean_t empty;
-
- mtx_lock(&vm_page_queue_free_mtx);
- if (__predict_false(vm_radix_is_empty(&object->cache))) {
- mtx_unlock(&vm_page_queue_free_mtx);
- return;
- }
- while ((m = vm_radix_lookup_ge(&object->cache, start)) != NULL) {
- if (end != 0 && m->pindex >= end)
- break;
- vm_radix_remove(&object->cache, m->pindex);
- vm_page_cache_turn_free(m);
- }
- empty = vm_radix_is_empty(&object->cache);
- mtx_unlock(&vm_page_queue_free_mtx);
- if (object->type == OBJT_VNODE && empty)
- vdrop(object->handle);
-}
-
-/*
- * Returns the cached page that is associated with the given
- * object and offset. If, however, none exists, returns NULL.
- *
- * The free page queue must be locked.
- */
-static inline vm_page_t
-vm_page_cache_lookup(vm_object_t object, vm_pindex_t pindex)
-{
-
- mtx_assert(&vm_page_queue_free_mtx, MA_OWNED);
- return (vm_radix_lookup(&object->cache, pindex));
-}
-
-/*
- * Remove the given cached page from its containing object's
- * collection of cached pages.
- *
- * The free page queue must be locked.
- */
-static void
-vm_page_cache_remove(vm_page_t m)
-{
-
- mtx_assert(&vm_page_queue_free_mtx, MA_OWNED);
- KASSERT((m->flags & PG_CACHED) != 0,
- ("vm_page_cache_remove: page %p is not cached", m));
- vm_radix_remove(&m->object->cache, m->pindex);
- m->object = NULL;
- vm_cnt.v_cache_count--;
-}
-
-/*
- * Transfer all of the cached pages with offset greater than or
- * equal to 'offidxstart' from the original object's cache to the
- * new object's cache. However, any cached pages with offset
- * greater than or equal to the new object's size are kept in the
- * original object. Initially, the new object's cache must be
- * empty. Offset 'offidxstart' in the original object must
- * correspond to offset zero in the new object.
- *
- * The new object must be locked.
- */
-void
-vm_page_cache_transfer(vm_object_t orig_object, vm_pindex_t offidxstart,
- vm_object_t new_object)
-{
- vm_page_t m;
-
- /*
- * Insertion into an object's collection of cached pages
- * requires the object to be locked. In contrast, removal does
- * not.
- */
- VM_OBJECT_ASSERT_WLOCKED(new_object);
- KASSERT(vm_radix_is_empty(&new_object->cache),
- ("vm_page_cache_transfer: object %p has cached pages",
- new_object));
- mtx_lock(&vm_page_queue_free_mtx);
- while ((m = vm_radix_lookup_ge(&orig_object->cache,
- offidxstart)) != NULL) {
- /*
- * Transfer all of the pages with offset greater than or
- * equal to 'offidxstart' from the original object's
- * cache to the new object's cache.
- */
- if ((m->pindex - offidxstart) >= new_object->size)
- break;
- vm_radix_remove(&orig_object->cache, m->pindex);
- /* Update the page's object and offset. */
- m->object = new_object;
- m->pindex -= offidxstart;
- if (vm_radix_insert(&new_object->cache, m))
- vm_page_cache_turn_free(m);
- }
- mtx_unlock(&vm_page_queue_free_mtx);
-}
-
-/*
- * Returns TRUE if a cached page is associated with the given object and
- * offset, and FALSE otherwise.
- *
- * The object must be locked.
- */
-boolean_t
-vm_page_is_cached(vm_object_t object, vm_pindex_t pindex)
-{
- vm_page_t m;
-
- /*
- * Insertion into an object's collection of cached pages requires the
- * object to be locked. Therefore, if the object is locked and the
- * object's collection is empty, there is no need to acquire the free
- * page queues lock in order to prove that the specified page doesn't
- * exist.
- */
- VM_OBJECT_ASSERT_WLOCKED(object);
- if (__predict_true(vm_object_cache_is_empty(object)))
- return (FALSE);
- mtx_lock(&vm_page_queue_free_mtx);
- m = vm_page_cache_lookup(object, pindex);
- mtx_unlock(&vm_page_queue_free_mtx);
- return (m != NULL);
-}
-
-/*
* vm_page_alloc:
*
* Allocate and return a page that is associated with the specified
@@ -1632,9 +1514,6 @@ vm_page_is_cached(vm_object_t object, vm_pindex_t pindex)
* optional allocation flags:
* VM_ALLOC_COUNT(number) the number of additional pages that the caller
* intends to allocate
- * VM_ALLOC_IFCACHED return page only if it is cached
- * VM_ALLOC_IFNOTCACHED return NULL, do not reactivate if the page
- * is cached
* VM_ALLOC_NOBUSY do not exclusive busy the page
* VM_ALLOC_NODUMP do not include the page in a kernel core dump
* VM_ALLOC_NOOBJ page is not associated with an object and
@@ -1648,21 +1527,21 @@ vm_page_is_cached(vm_object_t object, vm_pindex_t pindex)
vm_page_t
vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req)
{
- struct vnode *vp = NULL;
- vm_object_t m_object;
vm_page_t m, mpred;
int flags, req_class;
- mpred = 0; /* XXX: pacify gcc */
+ mpred = NULL; /* XXX: pacify gcc */
KASSERT((object != NULL) == ((req & VM_ALLOC_NOOBJ) == 0) &&
(object != NULL || (req & VM_ALLOC_SBUSY) == 0) &&
((req & (VM_ALLOC_NOBUSY | VM_ALLOC_SBUSY)) !=
(VM_ALLOC_NOBUSY | VM_ALLOC_SBUSY)),
- ("vm_page_alloc: inconsistent object(%p)/req(%x)", (void *)object,
- req));
+ ("vm_page_alloc: inconsistent object(%p)/req(%x)", object, req));
if (object != NULL)
VM_OBJECT_ASSERT_WLOCKED(object);
+ if (__predict_false((req & VM_ALLOC_IFCACHED) != 0))
+ return (NULL);
+
req_class = req & VM_ALLOC_CLASS_MASK;
/*
@@ -1678,45 +1557,27 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req)
}
/*
- * The page allocation request can came from consumers which already
- * hold the free page queue mutex, like vm_page_insert() in
- * vm_page_cache().
+ * Allocate a page if the number of free pages exceeds the minimum
+ * for the request class.
*/
- mtx_lock_flags(&vm_page_queue_free_mtx, MTX_RECURSE);
+ mtx_lock(&vm_page_queue_free_mtx);
if (vm_cnt.v_free_count + vm_cnt.v_cache_count > vm_cnt.v_free_reserved ||
(req_class == VM_ALLOC_SYSTEM &&
vm_cnt.v_free_count + vm_cnt.v_cache_count > vm_cnt.v_interrupt_free_min) ||
(req_class == VM_ALLOC_INTERRUPT &&
vm_cnt.v_free_count + vm_cnt.v_cache_count > 0)) {
/*
- * Allocate from the free queue if the number of free pages
- * exceeds the minimum for the request class.
+ * Can we allocate the page from a reservation?
*/
- if (object != NULL &&
- (m = vm_page_cache_lookup(object, pindex)) != NULL) {
- if ((req & VM_ALLOC_IFNOTCACHED) != 0) {
- mtx_unlock(&vm_page_queue_free_mtx);
- return (NULL);
- }
- if (vm_phys_unfree_page(m))
- vm_phys_set_pool(VM_FREEPOOL_DEFAULT, m, 0);
#if VM_NRESERVLEVEL > 0
- else if (!vm_reserv_reactivate_page(m))
-#else
- else
-#endif
- panic("vm_page_alloc: cache page %p is missing"
- " from the free queue", m);
- } else if ((req & VM_ALLOC_IFCACHED) != 0) {
- mtx_unlock(&vm_page_queue_free_mtx);
- return (NULL);
-#if VM_NRESERVLEVEL > 0
- } else if (object == NULL || (object->flags & (OBJ_COLORED |
+ if (object == NULL || (object->flags & (OBJ_COLORED |
OBJ_FICTITIOUS)) != OBJ_COLORED || (m =
- vm_reserv_alloc_page(object, pindex, mpred)) == NULL) {
-#else
- } else {
+ vm_reserv_alloc_page(object, pindex, mpred)) == NULL)
#endif
+ {
+ /*
+ * If not, allocate it from the free page queues.
+ */
m = vm_phys_alloc_pages(object != NULL ?
VM_FREEPOOL_DEFAULT : VM_FREEPOOL_DIRECT, 0);
#if VM_NRESERVLEVEL > 0
@@ -1742,37 +1603,11 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req)
* At this point we had better have found a good page.
*/
KASSERT(m != NULL, ("vm_page_alloc: missing page"));
- KASSERT(m->queue == PQ_NONE,
- ("vm_page_alloc: page %p has unexpected queue %d", m, m->queue));
- KASSERT(m->wire_count == 0, ("vm_page_alloc: page %p is wired", m));
- KASSERT(m->hold_count == 0, ("vm_page_alloc: page %p is held", m));
- KASSERT(!vm_page_busied(m), ("vm_page_alloc: page %p is busy", m));
- KASSERT(m->dirty == 0, ("vm_page_alloc: page %p is dirty", m));
- KASSERT(pmap_page_get_memattr(m) == VM_MEMATTR_DEFAULT,
- ("vm_page_alloc: page %p has unexpected memattr %d", m,
- pmap_page_get_memattr(m)));
- if ((m->flags & PG_CACHED) != 0) {
- KASSERT((m->flags & PG_ZERO) == 0,
- ("vm_page_alloc: cached page %p is PG_ZERO", m));
- KASSERT(m->valid != 0,
- ("vm_page_alloc: cached page %p is invalid", m));
- if (m->object == object && m->pindex == pindex)
- vm_cnt.v_reactivated++;
- else
- m->valid = 0;
- m_object = m->object;
- vm_page_cache_remove(m);
- if (m_object->type == OBJT_VNODE &&
- vm_object_cache_is_empty(m_object))
- vp = m_object->handle;
- } else {
- KASSERT(m->valid == 0,
- ("vm_page_alloc: free page %p is valid", m));
- vm_phys_freecnt_adj(m, -1);
- if ((m->flags & PG_ZERO) != 0)
- vm_page_zero_count--;
- }
+ vm_phys_freecnt_adj(m, -1);
+ if ((m->flags & PG_ZERO) != 0)
+ vm_page_zero_count--;
mtx_unlock(&vm_page_queue_free_mtx);
+ vm_page_alloc_check(m);
/*
* Initialize the page. Only the PG_ZERO flag is inherited.
@@ -1804,18 +1639,16 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req)
if (object != NULL) {
if (vm_page_insert_after(m, object, pindex, mpred)) {
- /* See the comment below about hold count. */
- if (vp != NULL)
- vdrop(vp);
pagedaemon_wakeup();
if (req & VM_ALLOC_WIRED) {
atomic_subtract_int(&vm_cnt.v_wire_count, 1);
m->wire_count = 0;
}
- m->object = NULL;
+ KASSERT(m->object == NULL, ("page %p has object", m));
m->oflags = VPO_UNMANAGED;
m->busy_lock = VPB_UNBUSIED;
- vm_page_free(m);
+ /* Don't change PG_ZERO. */
+ vm_page_free_toq(m);
return (NULL);
}
@@ -1827,15 +1660,6 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req)
m->pindex = pindex;
/*
- * The following call to vdrop() must come after the above call
- * to vm_page_insert() in case both affect the same object and
- * vnode. Otherwise, the affected vnode's hold count could
- * temporarily become zero.
- */
- if (vp != NULL)
- vdrop(vp);
-
- /*
* Don't wakeup too often - wakeup the pageout daemon when
* we would be nearly out of memory.
*/
@@ -1845,16 +1669,6 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req)
return (m);
}
-static void
-vm_page_alloc_contig_vdrop(struct spglist *lst)
-{
-
- while (!SLIST_EMPTY(lst)) {
- vdrop((struct vnode *)SLIST_FIRST(lst)-> plinks.s.pv);
- SLIST_REMOVE_HEAD(lst, plinks.s.ss);
- }
-}
-
/*
* vm_page_alloc_contig:
*
@@ -1876,6 +1690,8 @@ vm_page_alloc_contig_vdrop(struct spglist *lst)
* memory attribute setting for the physical pages cannot be configured
* to VM_MEMATTR_DEFAULT.
*
+ * The specified object may not contain fictitious pages.
+ *
* The caller must always specify an allocation class.
*
* allocation classes:
@@ -1899,22 +1715,21 @@ vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req,
u_long npages, vm_paddr_t low, vm_paddr_t high, u_long alignment,
vm_paddr_t boundary, vm_memattr_t memattr)
{
- struct vnode *drop;
- struct spglist deferred_vdrop_list;
- vm_page_t m, m_tmp, m_ret;
- u_int flags;
+ vm_page_t m, m_ret, mpred;
+ u_int busy_lock, flags, oflags;
int req_class;
+ mpred = NULL; /* XXX: pacify gcc */
KASSERT((object != NULL) == ((req & VM_ALLOC_NOOBJ) == 0) &&
(object != NULL || (req & VM_ALLOC_SBUSY) == 0) &&
((req & (VM_ALLOC_NOBUSY | VM_ALLOC_SBUSY)) !=
(VM_ALLOC_NOBUSY | VM_ALLOC_SBUSY)),
- ("vm_page_alloc: inconsistent object(%p)/req(%x)", (void *)object,
+ ("vm_page_alloc_contig: inconsistent object(%p)/req(%x)", object,
req));
if (object != NULL) {
VM_OBJECT_ASSERT_WLOCKED(object);
- KASSERT(object->type == OBJT_PHYS,
- ("vm_page_alloc_contig: object %p isn't OBJT_PHYS",
+ KASSERT((object->flags & OBJ_FICTITIOUS) == 0,
+ ("vm_page_alloc_contig: object %p has fictitious pages",
object));
}
KASSERT(npages > 0, ("vm_page_alloc_contig: npages is zero"));
@@ -1926,19 +1741,34 @@ vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req,
if (curproc == pageproc && req_class != VM_ALLOC_INTERRUPT)
req_class = VM_ALLOC_SYSTEM;
- SLIST_INIT(&deferred_vdrop_list);
+ if (object != NULL) {
+ mpred = vm_radix_lookup_le(&object->rtree, pindex);
+ KASSERT(mpred == NULL || mpred->pindex != pindex,
+ ("vm_page_alloc_contig: pindex already allocated"));
+ }
+
+ /*
+ * Can we allocate the pages without the number of free pages falling
+ * below the lower bound for the allocation class?
+ */
mtx_lock(&vm_page_queue_free_mtx);
if (vm_cnt.v_free_count + vm_cnt.v_cache_count >= npages +
vm_cnt.v_free_reserved || (req_class == VM_ALLOC_SYSTEM &&
vm_cnt.v_free_count + vm_cnt.v_cache_count >= npages +
vm_cnt.v_interrupt_free_min) || (req_class == VM_ALLOC_INTERRUPT &&
vm_cnt.v_free_count + vm_cnt.v_cache_count >= npages)) {
+ /*
+ * Can we allocate the pages from a reservation?
+ */
#if VM_NRESERVLEVEL > 0
retry:
if (object == NULL || (object->flags & OBJ_COLORED) == 0 ||
(m_ret = vm_reserv_alloc_contig(object, pindex, npages,
- low, high, alignment, boundary)) == NULL)
+ low, high, alignment, boundary, mpred)) == NULL)
#endif
+ /*
+ * If not, allocate them from the free page queues.
+ */
m_ret = vm_phys_alloc_contig(npages, low, high,
alignment, boundary);
} else {
@@ -1947,19 +1777,12 @@ retry:
pagedaemon_wakeup();
return (NULL);
}
- if (m_ret != NULL)
- for (m = m_ret; m < &m_ret[npages]; m++) {
- drop = vm_page_alloc_init(m);
- if (drop != NULL) {
- /*
- * Enqueue the vnode for deferred vdrop().
- */
- m->plinks.s.pv = drop;
- SLIST_INSERT_HEAD(&deferred_vdrop_list, m,
- plinks.s.ss);
- }
- }
- else {
+ if (m_ret != NULL) {
+ vm_phys_freecnt_adj(m_ret, -npages);
+ for (m = m_ret; m < &m_ret[npages]; m++)
+ if ((m->flags & PG_ZERO) != 0)
+ vm_page_zero_count--;
+ } else {
#if VM_NRESERVLEVEL > 0
if (vm_reserv_reclaim_contig(npages, low, high, alignment,
boundary))
@@ -1969,6 +1792,8 @@ retry:
mtx_unlock(&vm_page_queue_free_mtx);
if (m_ret == NULL)
return (NULL);
+ for (m = m_ret; m < &m_ret[npages]; m++)
+ vm_page_alloc_check(m);
/*
* Initialize the pages. Only the PG_ZERO flag is inherited.
@@ -1978,6 +1803,13 @@ retry:
flags = PG_ZERO;
if ((req & VM_ALLOC_NODUMP) != 0)
flags |= PG_NODUMP;
+ oflags = object == NULL || (object->flags & OBJ_UNMANAGED) != 0 ?
+ VPO_UNMANAGED : 0;
+ busy_lock = VPB_UNBUSIED;
+ if ((req & (VM_ALLOC_NOBUSY | VM_ALLOC_NOOBJ | VM_ALLOC_SBUSY)) == 0)
+ busy_lock = VPB_SINGLE_EXCLUSIVER;
+ if ((req & VM_ALLOC_SBUSY) != 0)
+ busy_lock = VPB_SHARERS_WORD(1);
if ((req & VM_ALLOC_WIRED) != 0)
atomic_add_int(&vm_cnt.v_wire_count, npages);
if (object != NULL) {
@@ -1988,98 +1820,61 @@ retry:
for (m = m_ret; m < &m_ret[npages]; m++) {
m->aflags = 0;
m->flags = (m->flags | PG_NODUMP) & flags;
- m->busy_lock = VPB_UNBUSIED;
- if (object != NULL) {
- if ((req & (VM_ALLOC_NOBUSY | VM_ALLOC_SBUSY)) == 0)
- m->busy_lock = VPB_SINGLE_EXCLUSIVER;
- if ((req & VM_ALLOC_SBUSY) != 0)
- m->busy_lock = VPB_SHARERS_WORD(1);
- }
+ m->busy_lock = busy_lock;
if ((req & VM_ALLOC_WIRED) != 0)
m->wire_count = 1;
- /* Unmanaged pages don't use "act_count". */
- m->oflags = VPO_UNMANAGED;
+ m->act_count = 0;
+ m->oflags = oflags;
if (object != NULL) {
- if (vm_page_insert(m, object, pindex)) {
- vm_page_alloc_contig_vdrop(
- &deferred_vdrop_list);
- if (vm_paging_needed())
- pagedaemon_wakeup();
+ if (vm_page_insert_after(m, object, pindex, mpred)) {
+ pagedaemon_wakeup();
if ((req & VM_ALLOC_WIRED) != 0)
- atomic_subtract_int(&vm_cnt.v_wire_count,
- npages);
- for (m_tmp = m, m = m_ret;
- m < &m_ret[npages]; m++) {
- if ((req & VM_ALLOC_WIRED) != 0)
+ atomic_subtract_int(
+ &vm_cnt.v_wire_count, npages);
+ KASSERT(m->object == NULL,
+ ("page %p has object", m));
+ mpred = m;
+ for (m = m_ret; m < &m_ret[npages]; m++) {
+ if (m <= mpred &&
+ (req & VM_ALLOC_WIRED) != 0)
m->wire_count = 0;
- if (m >= m_tmp) {
- m->object = NULL;
- m->oflags |= VPO_UNMANAGED;
- }
+ m->oflags = VPO_UNMANAGED;
m->busy_lock = VPB_UNBUSIED;
- vm_page_free(m);
+ /* Don't change PG_ZERO. */
+ vm_page_free_toq(m);
}
return (NULL);
}
+ mpred = m;
} else
m->pindex = pindex;
if (memattr != VM_MEMATTR_DEFAULT)
pmap_page_set_memattr(m, memattr);
pindex++;
}
- vm_page_alloc_contig_vdrop(&deferred_vdrop_list);
if (vm_paging_needed())
pagedaemon_wakeup();
return (m_ret);
}
/*
- * Initialize a page that has been freshly dequeued from a freelist.
- * The caller has to drop the vnode returned, if it is not NULL.
- *
- * This function may only be used to initialize unmanaged pages.
- *
- * To be called with vm_page_queue_free_mtx held.
+ * Check a page that has been freshly dequeued from a freelist.
*/
-static struct vnode *
-vm_page_alloc_init(vm_page_t m)
+static void
+vm_page_alloc_check(vm_page_t m)
{
- struct vnode *drop;
- vm_object_t m_object;
+ KASSERT(m->object == NULL, ("page %p has object", m));
KASSERT(m->queue == PQ_NONE,
- ("vm_page_alloc_init: page %p has unexpected queue %d",
- m, m->queue));
- KASSERT(m->wire_count == 0,
- ("vm_page_alloc_init: page %p is wired", m));
- KASSERT(m->hold_count == 0,
- ("vm_page_alloc_init: page %p is held", m));
- KASSERT(!vm_page_busied(m),
- ("vm_page_alloc_init: page %p is busy", m));
- KASSERT(m->dirty == 0,
- ("vm_page_alloc_init: page %p is dirty", m));
+ ("page %p has unexpected queue %d", m, m->queue));
+ KASSERT(m->wire_count == 0, ("page %p is wired", m));
+ KASSERT(m->hold_count == 0, ("page %p is held", m));
+ KASSERT(!vm_page_busied(m), ("page %p is busy", m));
+ KASSERT(m->dirty == 0, ("page %p is dirty", m));
KASSERT(pmap_page_get_memattr(m) == VM_MEMATTR_DEFAULT,
- ("vm_page_alloc_init: page %p has unexpected memattr %d",
+ ("page %p has unexpected memattr %d",
m, pmap_page_get_memattr(m)));
- mtx_assert(&vm_page_queue_free_mtx, MA_OWNED);
- drop = NULL;
- if ((m->flags & PG_CACHED) != 0) {
- KASSERT((m->flags & PG_ZERO) == 0,
- ("vm_page_alloc_init: cached page %p is PG_ZERO", m));
- m->valid = 0;
- m_object = m->object;
- vm_page_cache_remove(m);
- if (m_object->type == OBJT_VNODE &&
- vm_object_cache_is_empty(m_object))
- drop = m_object->handle;
- } else {
- KASSERT(m->valid == 0,
- ("vm_page_alloc_init: free page %p is valid", m));
- vm_phys_freecnt_adj(m, -1);
- if ((m->flags & PG_ZERO) != 0)
- vm_page_zero_count--;
- }
- return (drop);
+ KASSERT(m->valid == 0, ("free page %p is valid", m));
}
/*
@@ -2105,7 +1900,6 @@ vm_page_alloc_init(vm_page_t m)
vm_page_t
vm_page_alloc_freelist(int flind, int req)
{
- struct vnode *drop;
vm_page_t m;
u_int flags;
int req_class;
@@ -2121,7 +1915,7 @@ vm_page_alloc_freelist(int flind, int req)
/*
* Do not allocate reserved pages unless the req has asked for it.
*/
- mtx_lock_flags(&vm_page_queue_free_mtx, MTX_RECURSE);
+ mtx_lock(&vm_page_queue_free_mtx);
if (vm_cnt.v_free_count + vm_cnt.v_cache_count > vm_cnt.v_free_reserved ||
(req_class == VM_ALLOC_SYSTEM &&
vm_cnt.v_free_count + vm_cnt.v_cache_count > vm_cnt.v_interrupt_free_min) ||
@@ -2139,8 +1933,11 @@ vm_page_alloc_freelist(int flind, int req)
mtx_unlock(&vm_page_queue_free_mtx);
return (NULL);
}
- drop = vm_page_alloc_init(m);
+ vm_phys_freecnt_adj(m, -1);
+ if ((m->flags & PG_ZERO) != 0)
+ vm_page_zero_count--;
mtx_unlock(&vm_page_queue_free_mtx);
+ vm_page_alloc_check(m);
/*
* Initialize the page. Only the PG_ZERO flag is inherited.
@@ -2160,8 +1957,6 @@ vm_page_alloc_freelist(int flind, int req)
}
/* Unmanaged pages don't use "act_count". */
m->oflags = VPO_UNMANAGED;
- if (drop != NULL)
- vdrop(drop);
if (vm_paging_needed())
pagedaemon_wakeup();
return (m);
@@ -2284,41 +2079,11 @@ retry:
}
KASSERT((m->flags & PG_UNHOLDFREE) == 0,
("page %p is PG_UNHOLDFREE", m));
- /* Don't care: PG_NODUMP, PG_WINATCFLS, PG_ZERO. */
+ /* Don't care: PG_NODUMP, PG_ZERO. */
if (object->type != OBJT_DEFAULT &&
object->type != OBJT_SWAP &&
- object->type != OBJT_VNODE)
+ object->type != OBJT_VNODE) {
run_ext = 0;
- else if ((m->flags & PG_CACHED) != 0 ||
- m != vm_page_lookup(object, m->pindex)) {
- /*
- * The page is cached or recently converted
- * from cached to free.
- */
-#if VM_NRESERVLEVEL > 0
- if (level >= 0) {
- /*
- * The page is reserved. Extend the
- * current run by one page.
- */
- run_ext = 1;
- } else
-#endif
- if ((order = m->order) < VM_NFREEORDER) {
- /*
- * The page is enqueued in the
- * physical memory allocator's cache/
- * free page queues. Moreover, it is
- * the first page in a power-of-two-
- * sized run of contiguous cache/free
- * pages. Add these pages to the end
- * of the current run, and jump
- * ahead.
- */
- run_ext = 1 << order;
- m_inc = 1 << order;
- } else
- run_ext = 0;
#if VM_NRESERVLEVEL > 0
} else if ((options & VPSC_NOSUPER) != 0 &&
(level = vm_reserv_level_iffullpop(m)) >= 0) {
@@ -2351,18 +2116,18 @@ unlock:
} else if (level >= 0) {
/*
* The page is reserved but not yet allocated. In
- * other words, it is still cached or free. Extend
- * the current run by one page.
+ * other words, it is still free. Extend the current
+ * run by one page.
*/
run_ext = 1;
#endif
} else if ((order = m->order) < VM_NFREEORDER) {
/*
* The page is enqueued in the physical memory
- * allocator's cache/free page queues. Moreover, it
- * is the first page in a power-of-two-sized run of
- * contiguous cache/free pages. Add these pages to
- * the end of the current run, and jump ahead.
+ * allocator's free page queues. Moreover, it is the
+ * first page in a power-of-two-sized run of
+ * contiguous free pages. Add these pages to the end
+ * of the current run, and jump ahead.
*/
run_ext = 1 << order;
m_inc = 1 << order;
@@ -2370,16 +2135,15 @@ unlock:
/*
* Skip the page for one of the following reasons: (1)
* It is enqueued in the physical memory allocator's
- * cache/free page queues. However, it is not the
- * first page in a run of contiguous cache/free pages.
- * (This case rarely occurs because the scan is
- * performed in ascending order.) (2) It is not
- * reserved, and it is transitioning from free to
- * allocated. (Conversely, the transition from
- * allocated to free for managed pages is blocked by
- * the page lock.) (3) It is allocated but not
- * contained by an object and not wired, e.g.,
- * allocated by Xen's balloon driver.
+ * free page queues. However, it is not the first
+ * page in a run of contiguous free pages. (This case
+ * rarely occurs because the scan is performed in
+ * ascending order.) (2) It is not reserved, and it is
+ * transitioning from free to allocated. (Conversely,
+ * the transition from allocated to free for managed
+ * pages is blocked by the page lock.) (3) It is
+ * allocated but not contained by an object and not
+ * wired, e.g., allocated by Xen's balloon driver.
*/
run_ext = 0;
}
@@ -2480,20 +2244,12 @@ retry:
}
KASSERT((m->flags & PG_UNHOLDFREE) == 0,
("page %p is PG_UNHOLDFREE", m));
- /* Don't care: PG_NODUMP, PG_WINATCFLS, PG_ZERO. */
+ /* Don't care: PG_NODUMP, PG_ZERO. */
if (object->type != OBJT_DEFAULT &&
object->type != OBJT_SWAP &&
object->type != OBJT_VNODE)
error = EINVAL;
- else if ((m->flags & PG_CACHED) != 0 ||
- m != vm_page_lookup(object, m->pindex)) {
- /*
- * The page is cached or recently converted
- * from cached to free.
- */
- VM_OBJECT_WUNLOCK(object);
- goto cached;
- } else if (object->memattr != VM_MEMATTR_DEFAULT)
+ else if (object->memattr != VM_MEMATTR_DEFAULT)
error = EINVAL;
else if (m->queue != PQ_NONE && !vm_page_busied(m)) {
KASSERT(pmap_page_get_memattr(m) ==
@@ -2594,17 +2350,16 @@ retry:
unlock:
VM_OBJECT_WUNLOCK(object);
} else {
-cached:
mtx_lock(&vm_page_queue_free_mtx);
order = m->order;
if (order < VM_NFREEORDER) {
/*
* The page is enqueued in the physical memory
- * allocator's cache/free page queues.
- * Moreover, it is the first page in a power-
- * of-two-sized run of contiguous cache/free
- * pages. Jump ahead to the last page within
- * that run, and continue from there.
+ * allocator's free page queues. Moreover, it
+ * is the first page in a power-of-two-sized
+ * run of contiguous free pages. Jump ahead
+ * to the last page within that run, and
+ * continue from there.
*/
m += (1 << order) - 1;
}
@@ -2653,9 +2408,9 @@ CTASSERT(powerof2(NRUNS));
* conditions by relocating the virtual pages using that physical memory.
* Returns true if reclamation is successful and false otherwise. Since
* relocation requires the allocation of physical pages, reclamation may
- * fail due to a shortage of cache/free pages. When reclamation fails,
- * callers are expected to perform VM_WAIT before retrying a failed
- * allocation operation, e.g., vm_page_alloc_contig().
+ * fail due to a shortage of free pages. When reclamation fails, callers
+ * are expected to perform VM_WAIT before retrying a failed allocation
+ * operation, e.g., vm_page_alloc_contig().
*
* The caller must always specify an allocation class through "req".
*
@@ -2690,8 +2445,8 @@ vm_page_reclaim_contig(int req, u_long npages, vm_paddr_t low, vm_paddr_t high,
req_class = VM_ALLOC_SYSTEM;
/*
- * Return if the number of cached and free pages cannot satisfy the
- * requested allocation.
+ * Return if the number of free pages cannot satisfy the requested
+ * allocation.
*/
count = vm_cnt.v_free_count + vm_cnt.v_cache_count;
if (count < npages + vm_cnt.v_free_reserved || (count < npages +
@@ -2809,7 +2564,10 @@ struct vm_pagequeue *
vm_page_pagequeue(vm_page_t m)
{
- return (&vm_phys_domain(m)->vmd_pagequeues[m->queue]);
+ if (vm_page_in_laundry(m))
+ return (&vm_dom[0].vmd_pagequeues[m->queue]);
+ else
+ return (&vm_phys_domain(m)->vmd_pagequeues[m->queue]);
}
/*
@@ -2871,7 +2629,10 @@ vm_page_enqueue(uint8_t queue, vm_page_t m)
KASSERT(queue < PQ_COUNT,
("vm_page_enqueue: invalid queue %u request for page %p",
queue, m));
- pq = &vm_phys_domain(m)->vmd_pagequeues[queue];
+ if (queue == PQ_LAUNDRY)
+ pq = &vm_dom[0].vmd_pagequeues[queue];
+ else
+ pq = &vm_phys_domain(m)->vmd_pagequeues[queue];
vm_pagequeue_lock(pq);
m->queue = queue;
TAILQ_INSERT_TAIL(&pq->pq_pl, m, plinks.q);
@@ -2955,9 +2716,8 @@ vm_page_activate(vm_page_t m)
/*
* vm_page_free_wakeup:
*
- * Helper routine for vm_page_free_toq() and vm_page_cache(). This
- * routine is called when a page has been added to the cache or free
- * queues.
+ * Helper routine for vm_page_free_toq(). This routine is called
+ * when a page is added to the free queues.
*
* The page queues must be locked.
*/
@@ -2987,27 +2747,6 @@ vm_page_free_wakeup(void)
}
/*
- * Turn a cached page into a free page, by changing its attributes.
- * Keep the statistics up-to-date.
- *
- * The free page queue must be locked.
- */
-static void
-vm_page_cache_turn_free(vm_page_t m)
-{
-
- mtx_assert(&vm_page_queue_free_mtx, MA_OWNED);
-
- m->object = NULL;
- m->valid = 0;
- KASSERT((m->flags & PG_CACHED) != 0,
- ("vm_page_cache_turn_free: page %p is not cached", m));
- m->flags &= ~PG_CACHED;
- vm_cnt.v_cache_count--;
- vm_phys_freecnt_adj(m, 1);
-}
-
-/*
* vm_page_free_toq:
*
* Returns the given page to the free list,
@@ -3066,8 +2805,8 @@ vm_page_free_toq(vm_page_t m)
pmap_page_set_memattr(m, VM_MEMATTR_DEFAULT);
/*
- * Insert the page into the physical memory allocator's
- * cache/free page queues.
+ * Insert the page into the physical memory allocator's free
+ * page queues.
*/
mtx_lock(&vm_page_queue_free_mtx);
vm_phys_freecnt_adj(m, 1);
@@ -3159,11 +2898,8 @@ vm_page_unwire(vm_page_t m, uint8_t queue)
if (m->wire_count == 0) {
atomic_subtract_int(&vm_cnt.v_wire_count, 1);
if ((m->oflags & VPO_UNMANAGED) == 0 &&
- m->object != NULL && queue != PQ_NONE) {
- if (queue == PQ_INACTIVE)
- m->flags &= ~PG_WINATCFLS;
+ m->object != NULL && queue != PQ_NONE)
vm_page_enqueue(queue, m);
- }
return (TRUE);
} else
return (FALSE);
@@ -3174,21 +2910,10 @@ vm_page_unwire(vm_page_t m, uint8_t queue)
/*
* Move the specified page to the inactive queue.
*
- * Many pages placed on the inactive queue should actually go
- * into the cache, but it is difficult to figure out which. What
- * we do instead, if the inactive target is well met, is to put
- * clean pages at the head of the inactive queue instead of the tail.
- * This will cause them to be moved to the cache more quickly and
- * if not actively re-referenced, reclaimed more quickly. If we just
- * stick these pages at the end of the inactive queue, heavy filesystem
- * meta-data accesses can cause an unnecessary paging load on memory bound
- * processes. This optimization causes one-time-use metadata to be
- * reused more quickly.
- *
- * Normally noreuse is FALSE, resulting in LRU operation. noreuse is set
- * to TRUE if we want this page to be 'as if it were placed in the cache',
- * except without unmapping it from the process address space. In
- * practice this is implemented by inserting the page at the head of the
+ * Normally, "noreuse" is FALSE, resulting in LRU ordering of the inactive
+ * queue. However, setting "noreuse" to TRUE will accelerate the specified
+ * page's reclamation, but it will not unmap the page from any address space.
+ * This is implemented by inserting the page near the head of the inactive
* queue, using a marker page to guide FIFO insertion ordering.
*
* The page must be locked.
@@ -3216,7 +2941,6 @@ _vm_page_deactivate(vm_page_t m, boolean_t noreuse)
} else {
if (queue != PQ_NONE)
vm_page_dequeue(m);
- m->flags &= ~PG_WINATCFLS;
vm_pagequeue_lock(pq);
}
m->queue = PQ_INACTIVE;
@@ -3256,24 +2980,25 @@ vm_page_deactivate_noreuse(vm_page_t m)
}
/*
- * vm_page_try_to_cache:
+ * vm_page_launder
*
- * Returns 0 on failure, 1 on success
+ * Put a page in the laundry.
*/
-int
-vm_page_try_to_cache(vm_page_t m)
+void
+vm_page_launder(vm_page_t m)
{
+ int queue;
- vm_page_lock_assert(m, MA_OWNED);
- VM_OBJECT_ASSERT_WLOCKED(m->object);
- if (m->dirty || m->hold_count || m->wire_count ||
- (m->oflags & VPO_UNMANAGED) != 0 || vm_page_busied(m))
- return (0);
- pmap_remove_all(m);
- if (m->dirty)
- return (0);
- vm_page_cache(m);
- return (1);
+ vm_page_assert_locked(m);
+ if ((queue = m->queue) != PQ_LAUNDRY) {
+ if (m->wire_count == 0 && (m->oflags & VPO_UNMANAGED) == 0) {
+ if (queue != PQ_NONE)
+ vm_page_dequeue(m);
+ vm_page_enqueue(PQ_LAUNDRY, m);
+ } else
+ KASSERT(queue == PQ_NONE,
+ ("wired page %p is queued", m));
+ }
}
/*
@@ -3300,112 +3025,6 @@ vm_page_try_to_free(vm_page_t m)
}
/*
- * vm_page_cache
- *
- * Put the specified page onto the page cache queue (if appropriate).
- *
- * The object and page must be locked.
- */
-void
-vm_page_cache(vm_page_t m)
-{
- vm_object_t object;
- boolean_t cache_was_empty;
-
- vm_page_lock_assert(m, MA_OWNED);
- object = m->object;
- VM_OBJECT_ASSERT_WLOCKED(object);
- if (vm_page_busied(m) || (m->oflags & VPO_UNMANAGED) ||
- m->hold_count || m->wire_count)
- panic("vm_page_cache: attempting to cache busy page");
- KASSERT(!pmap_page_is_mapped(m),
- ("vm_page_cache: page %p is mapped", m));
- KASSERT(m->dirty == 0, ("vm_page_cache: page %p is dirty", m));
- if (m->valid == 0 || object->type == OBJT_DEFAULT ||
- (object->type == OBJT_SWAP &&
- !vm_pager_has_page(object, m->pindex, NULL, NULL))) {
- /*
- * Hypothesis: A cache-eligible page belonging to a
- * default object or swap object but without a backing
- * store must be zero filled.
- */
- vm_page_free(m);
- return;
- }
- KASSERT((m->flags & PG_CACHED) == 0,
- ("vm_page_cache: page %p is already cached", m));
-
- /*
- * Remove the page from the paging queues.
- */
- vm_page_remque(m);
-
- /*
- * Remove the page from the object's collection of resident
- * pages.
- */
- vm_radix_remove(&object->rtree, m->pindex);
- TAILQ_REMOVE(&object->memq, m, listq);
- object->resident_page_count--;
-
- /*
- * Restore the default memory attribute to the page.
- */
- if (pmap_page_get_memattr(m) != VM_MEMATTR_DEFAULT)
- pmap_page_set_memattr(m, VM_MEMATTR_DEFAULT);
-
- /*
- * Insert the page into the object's collection of cached pages
- * and the physical memory allocator's cache/free page queues.
- */
- m->flags &= ~PG_ZERO;
- mtx_lock(&vm_page_queue_free_mtx);
- cache_was_empty = vm_radix_is_empty(&object->cache);
- if (vm_radix_insert(&object->cache, m)) {
- mtx_unlock(&vm_page_queue_free_mtx);
- if (object->type == OBJT_VNODE &&
- object->resident_page_count == 0)
- vdrop(object->handle);
- m->object = NULL;
- vm_page_free(m);
- return;
- }
-
- /*
- * The above call to vm_radix_insert() could reclaim the one pre-
- * existing cached page from this object, resulting in a call to
- * vdrop().
- */
- if (!cache_was_empty)
- cache_was_empty = vm_radix_is_singleton(&object->cache);
-
- m->flags |= PG_CACHED;
- vm_cnt.v_cache_count++;
- PCPU_INC(cnt.v_tcached);
-#if VM_NRESERVLEVEL > 0
- if (!vm_reserv_free_page(m)) {
-#else
- if (TRUE) {
-#endif
- vm_phys_free_pages(m, 0);
- }
- vm_page_free_wakeup();
- mtx_unlock(&vm_page_queue_free_mtx);
-
- /*
- * Increment the vnode's hold count if this is the object's only
- * cached page. Decrement the vnode's hold count if this was
- * the object's only resident page.
- */
- if (object->type == OBJT_VNODE) {
- if (cache_was_empty && object->resident_page_count != 0)
- vhold(object->handle);
- else if (!cache_was_empty && object->resident_page_count == 0)
- vdrop(object->handle);
- }
-}
-
-/*
* vm_page_advise
*
* Deactivate or do nothing, as appropriate.
@@ -3421,16 +3040,9 @@ vm_page_advise(vm_page_t m, int advice)
if (advice == MADV_FREE)
/*
* Mark the page clean. This will allow the page to be freed
- * up by the system. However, such pages are often reused
- * quickly by malloc() so we do not do anything that would
- * cause a page fault if we can help it.
- *
- * Specifically, we do not try to actually free the page now
- * nor do we try to put it in the cache (which would cause a
- * page fault on reuse).
- *
- * But we do make the page as freeable as we can without
- * actually taking the step of unmapping it.
+ * without first paging it out. MADV_FREE pages are often
+ * quickly reused by malloc(3), so we do not do anything that
+ * would result in a page fault on a later access.
*/
vm_page_undirty(m);
else if (advice != MADV_DONTNEED)
@@ -3448,11 +3060,13 @@ vm_page_advise(vm_page_t m, int advice)
/*
* Place clean pages near the head of the inactive queue rather than
* the tail, thus defeating the queue's LRU operation and ensuring that
- * the page will be reused quickly. Dirty pages are given a chance to
- * cycle once through the inactive queue before becoming eligible for
- * laundering.
+ * the page will be reused quickly. Dirty pages not already in the
+ * laundry are moved there.
*/
- _vm_page_deactivate(m, m->dirty == 0);
+ if (m->dirty == 0)
+ vm_page_deactivate_noreuse(m);
+ else
+ vm_page_launder(m);
}
/*
@@ -3517,8 +3131,7 @@ retrylookup:
VM_WAIT;
VM_OBJECT_WLOCK(object);
goto retrylookup;
- } else if (m->valid != 0)
- return (m);
+ }
if (allocflags & VM_ALLOC_ZERO && (m->flags & PG_ZERO) == 0)
pmap_zero_page(m);
return (m);
@@ -3961,6 +3574,7 @@ DB_SHOW_COMMAND(page, vm_page_print_page_info)
db_printf("vm_cnt.v_cache_count: %d\n", vm_cnt.v_cache_count);
db_printf("vm_cnt.v_inactive_count: %d\n", vm_cnt.v_inactive_count);
db_printf("vm_cnt.v_active_count: %d\n", vm_cnt.v_active_count);
+ db_printf("vm_cnt.v_laundry_count: %d\n", vm_cnt.v_laundry_count);
db_printf("vm_cnt.v_wire_count: %d\n", vm_cnt.v_wire_count);
db_printf("vm_cnt.v_free_reserved: %d\n", vm_cnt.v_free_reserved);
db_printf("vm_cnt.v_free_min: %d\n", vm_cnt.v_free_min);
@@ -3975,12 +3589,14 @@ DB_SHOW_COMMAND(pageq, vm_page_print_pageq_info)
db_printf("pq_free %d pq_cache %d\n",
vm_cnt.v_free_count, vm_cnt.v_cache_count);
for (dom = 0; dom < vm_ndomains; dom++) {
- db_printf("dom %d page_cnt %d free %d pq_act %d pq_inact %d\n",
+ db_printf(
+ "dom %d page_cnt %d free %d pq_act %d pq_inact %d pq_laund %d\n",
dom,
vm_dom[dom].vmd_page_count,
vm_dom[dom].vmd_free_count,
vm_dom[dom].vmd_pagequeues[PQ_ACTIVE].pq_cnt,
- vm_dom[dom].vmd_pagequeues[PQ_INACTIVE].pq_cnt);
+ vm_dom[dom].vmd_pagequeues[PQ_INACTIVE].pq_cnt,
+ vm_dom[dom].vmd_pagequeues[PQ_LAUNDRY].pq_cnt);
}
}
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index 85c6ac5..1ee8dde 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -206,7 +206,8 @@ struct vm_page {
#define PQ_NONE 255
#define PQ_INACTIVE 0
#define PQ_ACTIVE 1
-#define PQ_COUNT 2
+#define PQ_LAUNDRY 2
+#define PQ_COUNT 3
TAILQ_HEAD(pglist, vm_page);
SLIST_HEAD(spglist, vm_page);
@@ -228,6 +229,7 @@ struct vm_domain {
boolean_t vmd_oom;
int vmd_oom_seq;
int vmd_last_active_scan;
+ struct vm_page vmd_laundry_marker;
struct vm_page vmd_marker; /* marker for pagedaemon private use */
struct vm_page vmd_inacthead; /* marker for LRU-defeating insertions */
};
@@ -236,6 +238,7 @@ extern struct vm_domain vm_dom[MAXMEMDOM];
#define vm_pagequeue_assert_locked(pq) mtx_assert(&(pq)->pq_mutex, MA_OWNED)
#define vm_pagequeue_lock(pq) mtx_lock(&(pq)->pq_mutex)
+#define vm_pagequeue_lockptr(pq) (&(pq)->pq_mutex)
#define vm_pagequeue_unlock(pq) mtx_unlock(&(pq)->pq_mutex)
#ifdef _KERNEL
@@ -323,11 +326,9 @@ extern struct mtx_padalign pa_lock[];
* Page flags. If changed at any other time than page allocation or
* freeing, the modification must be protected by the vm_page lock.
*/
-#define PG_CACHED 0x0001 /* page is cached */
#define PG_FICTITIOUS 0x0004 /* physical page doesn't exist */
#define PG_ZERO 0x0008 /* page is zeroed */
#define PG_MARKER 0x0010 /* special queue marker page */
-#define PG_WINATCFLS 0x0040 /* flush dirty page on inactive q */
#define PG_NODUMP 0x0080 /* don't include this page in a dump */
#define PG_UNHOLDFREE 0x0100 /* delayed free of a held page */
@@ -351,19 +352,16 @@ extern struct mtx_padalign pa_lock[];
* free
* Available for allocation now.
*
- * cache
- * Almost available for allocation. Still associated with
- * an object, but clean and immediately freeable.
- *
- * The following lists are LRU sorted:
- *
* inactive
* Low activity, candidates for reclamation.
+ * This list is approximately LRU ordered.
+ *
+ * laundry
* This is the list of pages that should be
* paged out next.
*
* active
- * Pages that are "active" i.e. they have been
+ * Pages that are "active", i.e., they have been
* recently referenced.
*
*/
@@ -407,8 +405,8 @@ vm_page_t PHYS_TO_VM_PAGE(vm_paddr_t pa);
#define VM_ALLOC_ZERO 0x0040 /* (acfg) Try to obtain a zeroed page */
#define VM_ALLOC_NOOBJ 0x0100 /* (acg) No associated object */
#define VM_ALLOC_NOBUSY 0x0200 /* (acg) Do not busy the page */
-#define VM_ALLOC_IFCACHED 0x0400 /* (ag) Fail if page is not cached */
-#define VM_ALLOC_IFNOTCACHED 0x0800 /* (ag) Fail if page is cached */
+#define VM_ALLOC_IFCACHED 0x0400
+#define VM_ALLOC_IFNOTCACHED 0x0800
#define VM_ALLOC_IGN_SBUSY 0x1000 /* (g) Ignore shared busy flag */
#define VM_ALLOC_NODUMP 0x2000 /* (ag) don't include in dump */
#define VM_ALLOC_SBUSY 0x4000 /* (acg) Shared busy the page */
@@ -451,10 +449,6 @@ vm_page_t vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req,
vm_paddr_t boundary, vm_memattr_t memattr);
vm_page_t vm_page_alloc_freelist(int, int);
vm_page_t vm_page_grab (vm_object_t, vm_pindex_t, int);
-void vm_page_cache(vm_page_t);
-void vm_page_cache_free(vm_object_t, vm_pindex_t, vm_pindex_t);
-void vm_page_cache_transfer(vm_object_t, vm_pindex_t, vm_object_t);
-int vm_page_try_to_cache (vm_page_t);
int vm_page_try_to_free (vm_page_t);
void vm_page_deactivate (vm_page_t);
void vm_page_deactivate_noreuse(vm_page_t);
@@ -464,7 +458,7 @@ vm_page_t vm_page_find_least(vm_object_t, vm_pindex_t);
vm_page_t vm_page_getfake(vm_paddr_t paddr, vm_memattr_t memattr);
void vm_page_initfake(vm_page_t m, vm_paddr_t paddr, vm_memattr_t memattr);
int vm_page_insert (vm_page_t, vm_object_t, vm_pindex_t);
-boolean_t vm_page_is_cached(vm_object_t object, vm_pindex_t pindex);
+void vm_page_launder(vm_page_t m);
vm_page_t vm_page_lookup (vm_object_t, vm_pindex_t);
vm_page_t vm_page_next(vm_page_t m);
int vm_page_pa_tryrelock(pmap_t, vm_paddr_t, vm_paddr_t *);
@@ -698,5 +692,26 @@ vm_page_replace_checked(vm_page_t mnew, vm_object_t object, vm_pindex_t pindex,
(void)mret;
}
+static inline bool
+vm_page_active(vm_page_t m)
+{
+
+ return (m->queue == PQ_ACTIVE);
+}
+
+static inline bool
+vm_page_inactive(vm_page_t m)
+{
+
+ return (m->queue == PQ_INACTIVE);
+}
+
+static inline bool
+vm_page_in_laundry(vm_page_t m)
+{
+
+ return (m->queue == PQ_LAUNDRY);
+}
+
#endif /* _KERNEL */
#endif /* !_VM_PAGE_ */
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index cd8fe45..cd7bfb6 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -119,7 +119,7 @@ __FBSDID("$FreeBSD$");
/* the kernel process "vm_pageout"*/
static void vm_pageout(void);
static void vm_pageout_init(void);
-static int vm_pageout_clean(vm_page_t m);
+static int vm_pageout_clean(vm_page_t m, int *numpagedout);
static int vm_pageout_cluster(vm_page_t m);
static bool vm_pageout_scan(struct vm_domain *vmd, int pass);
static void vm_pageout_mightbe_oom(struct vm_domain *vmd, int page_shortage,
@@ -154,6 +154,9 @@ static struct kproc_desc vm_kp = {
SYSINIT(vmdaemon, SI_SUB_KTHREAD_VM, SI_ORDER_FIRST, kproc_start, &vm_kp);
#endif
+/* Pagedaemon activity rates, in subdivisions of one second. */
+#define VM_LAUNDER_RATE 10
+#define VM_INACT_SCAN_RATE 2
int vm_pageout_deficit; /* Estimated number of pages deficit */
int vm_pageout_wakeup_thresh;
@@ -161,6 +164,13 @@ static int vm_pageout_oom_seq = 12;
bool vm_pageout_wanted; /* Event on which pageout daemon sleeps */
bool vm_pages_needed; /* Are threads waiting for free pages? */
+/* Pending request for dirty page laundering. */
+static enum {
+ VM_LAUNDRY_IDLE,
+ VM_LAUNDRY_BACKGROUND,
+ VM_LAUNDRY_SHORTFALL
+} vm_laundry_request = VM_LAUNDRY_IDLE;
+
#if !defined(NO_SWAPPING)
static int vm_pageout_req_swapout; /* XXX */
static int vm_daemon_needed;
@@ -168,9 +178,7 @@ static struct mtx vm_daemon_mtx;
/* Allow for use by vm_pageout before vm_daemon is initialized. */
MTX_SYSINIT(vm_daemon, &vm_daemon_mtx, "vm daemon", MTX_DEF);
#endif
-static int vm_max_launder = 32;
static int vm_pageout_update_period;
-static int defer_swap_pageouts;
static int disable_swap_pageouts;
static int lowmem_period = 10;
static time_t lowmem_uptime;
@@ -193,9 +201,6 @@ SYSCTL_INT(_vm, OID_AUTO, pageout_wakeup_thresh,
CTLFLAG_RW, &vm_pageout_wakeup_thresh, 0,
"free page threshold for waking up the pageout daemon");
-SYSCTL_INT(_vm, OID_AUTO, max_launder,
- CTLFLAG_RW, &vm_max_launder, 0, "Limit dirty flushes in pageout");
-
SYSCTL_INT(_vm, OID_AUTO, pageout_update_period,
CTLFLAG_RW, &vm_pageout_update_period, 0,
"Maximum active LRU update period");
@@ -215,9 +220,6 @@ SYSCTL_INT(_vm, OID_AUTO, swap_idle_enabled,
CTLFLAG_RW, &vm_swap_idle_enabled, 0, "Allow swapout on idle criteria");
#endif
-SYSCTL_INT(_vm, OID_AUTO, defer_swapspace_pageouts,
- CTLFLAG_RW, &defer_swap_pageouts, 0, "Give preference to dirty pages in mem");
-
SYSCTL_INT(_vm, OID_AUTO, disable_swapspace_pageouts,
CTLFLAG_RW, &disable_swap_pageouts, 0, "Disallow swapout of dirty pages");
@@ -229,6 +231,25 @@ SYSCTL_INT(_vm, OID_AUTO, pageout_oom_seq,
CTLFLAG_RW, &vm_pageout_oom_seq, 0,
"back-to-back calls to oom detector to start OOM");
+static int act_scan_laundry_weight = 3;
+SYSCTL_INT(_vm, OID_AUTO, act_scan_laundry_weight, CTLFLAG_RW,
+ &act_scan_laundry_weight, 0,
+ "weight given to clean vs. dirty pages in active queue scans");
+
+static u_int vm_background_launder_target;
+SYSCTL_UINT(_vm, OID_AUTO, background_launder_target, CTLFLAG_RW,
+ &vm_background_launder_target, 0,
+ "background laundering target, in pages");
+
+static u_int vm_background_launder_rate = 4096;
+SYSCTL_UINT(_vm, OID_AUTO, background_launder_rate, CTLFLAG_RW,
+ &vm_background_launder_rate, 0,
+ "background laundering rate, in kilobytes per second");
+
+static u_int vm_background_launder_max = 20 * 1024;
+SYSCTL_UINT(_vm, OID_AUTO, background_launder_max, CTLFLAG_RW,
+ &vm_background_launder_max, 0, "background laundering cap, in kilobytes");
+
#define VM_PAGEOUT_PAGE_COUNT 16
int vm_pageout_page_count = VM_PAGEOUT_PAGE_COUNT;
@@ -236,7 +257,11 @@ int vm_page_max_wired; /* XXX max # of wired pages system-wide */
SYSCTL_INT(_vm, OID_AUTO, max_wired,
CTLFLAG_RW, &vm_page_max_wired, 0, "System-wide limit to wired page count");
+static u_int isqrt(u_int num);
static boolean_t vm_pageout_fallback_object_lock(vm_page_t, vm_page_t *);
+static int vm_pageout_launder(struct vm_domain *vmd, int launder,
+ bool in_shortfall);
+static void vm_pageout_laundry_worker(void *arg);
#if !defined(NO_SWAPPING)
static void vm_pageout_map_deactivate_pages(vm_map_t, long);
static void vm_pageout_object_deactivate_pages(pmap_t, vm_object_t, long);
@@ -387,7 +412,7 @@ vm_pageout_cluster(vm_page_t m)
/*
* We can cluster only if the page is not clean, busy, or held, and
- * the page is inactive.
+ * the page is in the laundry queue.
*
* During heavy mmap/modification loads the pageout
* daemon can really fragment the underlying file
@@ -413,7 +438,7 @@ more:
break;
}
vm_page_lock(p);
- if (p->queue != PQ_INACTIVE ||
+ if (!vm_page_in_laundry(p) ||
p->hold_count != 0) { /* may be undergoing I/O */
vm_page_unlock(p);
ib = 0;
@@ -439,7 +464,7 @@ more:
if (p->dirty == 0)
break;
vm_page_lock(p);
- if (p->queue != PQ_INACTIVE ||
+ if (!vm_page_in_laundry(p) ||
p->hold_count != 0) { /* may be undergoing I/O */
vm_page_unlock(p);
break;
@@ -519,23 +544,33 @@ vm_pageout_flush(vm_page_t *mc, int count, int flags, int mreq, int *prunlen,
("vm_pageout_flush: page %p is not write protected", mt));
switch (pageout_status[i]) {
case VM_PAGER_OK:
+ vm_page_lock(mt);
+ if (vm_page_in_laundry(mt))
+ vm_page_deactivate_noreuse(mt);
+ vm_page_unlock(mt);
+ /* FALLTHROUGH */
case VM_PAGER_PEND:
numpagedout++;
break;
case VM_PAGER_BAD:
/*
- * Page outside of range of object. Right now we
- * essentially lose the changes by pretending it
- * worked.
+ * The page is outside the object's range. We pretend
+ * that the page out worked and clean the page, so the
+ * changes will be lost if the page is reclaimed by
+ * the page daemon.
*/
vm_page_undirty(mt);
+ vm_page_lock(mt);
+ if (vm_page_in_laundry(mt))
+ vm_page_deactivate_noreuse(mt);
+ vm_page_unlock(mt);
break;
case VM_PAGER_ERROR:
case VM_PAGER_FAIL:
/*
- * If page couldn't be paged out, then reactivate the
- * page so it doesn't clog the inactive list. (We
- * will try paging out it again later).
+ * If the page couldn't be paged out, then reactivate
+ * it so that it doesn't clog the laundry and inactive
+ * queues. (We will try paging it out again later).
*/
vm_page_lock(mt);
vm_page_activate(mt);
@@ -617,10 +652,10 @@ vm_pageout_object_deactivate_pages(pmap_t pmap, vm_object_t first_object,
act_delta = 1;
vm_page_aflag_clear(p, PGA_REFERENCED);
}
- if (p->queue != PQ_ACTIVE && act_delta != 0) {
+ if (!vm_page_active(p) && act_delta != 0) {
vm_page_activate(p);
p->act_count += act_delta;
- } else if (p->queue == PQ_ACTIVE) {
+ } else if (vm_page_active(p)) {
if (act_delta == 0) {
p->act_count -= min(p->act_count,
ACT_DECLINE);
@@ -636,7 +671,7 @@ vm_pageout_object_deactivate_pages(pmap_t pmap, vm_object_t first_object,
p->act_count += ACT_ADVANCE;
vm_page_requeue(p);
}
- } else if (p->queue == PQ_INACTIVE)
+ } else if (vm_page_inactive(p))
pmap_remove_all(p);
vm_page_unlock(p);
}
@@ -739,7 +774,7 @@ vm_pageout_map_deactivate_pages(map, desired)
* Returns 0 on success and an errno otherwise.
*/
static int
-vm_pageout_clean(vm_page_t m)
+vm_pageout_clean(vm_page_t m, int *numpagedout)
{
struct vnode *vp;
struct mount *mp;
@@ -797,7 +832,7 @@ vm_pageout_clean(vm_page_t m)
* (3) reallocated to a different offset, or
* (4) cleaned.
*/
- if (m->queue != PQ_INACTIVE || m->object != object ||
+ if (!vm_page_in_laundry(m) || m->object != object ||
m->pindex != pindex || m->dirty == 0) {
vm_page_unlock(m);
error = ENXIO;
@@ -821,7 +856,7 @@ vm_pageout_clean(vm_page_t m)
* laundry. If it is still in the laundry, then we
* start the cleaning operation.
*/
- if (vm_pageout_cluster(m) == 0)
+ if ((*numpagedout = vm_pageout_cluster(m)) == 0)
error = EIO;
unlock_all:
@@ -840,11 +875,390 @@ unlock_mp:
}
/*
+ * Attempt to launder the specified number of pages.
+ *
+ * Returns the number of pages successfully laundered.
+ */
+static int
+vm_pageout_launder(struct vm_domain *vmd, int launder, bool in_shortfall)
+{
+ struct vm_pagequeue *pq;
+ vm_object_t object;
+ vm_page_t m, next;
+ int act_delta, error, maxscan, numpagedout, starting_target;
+ int vnodes_skipped;
+ bool pageout_ok, queue_locked;
+
+ starting_target = launder;
+ vnodes_skipped = 0;
+
+ /*
+ * Scan the laundry queue for pages eligible to be laundered. We stop
+ * once the target number of dirty pages have been laundered, or once
+ * we've reached the end of the queue. A single iteration of this loop
+ * may cause more than one page to be laundered because of clustering.
+ *
+ * maxscan ensures that we don't re-examine requeued pages. Any
+ * additional pages written as part of a cluster are subtracted from
+ * maxscan since they must be taken from the laundry queue.
+ */
+ pq = &vmd->vmd_pagequeues[PQ_LAUNDRY];
+ maxscan = pq->pq_cnt;
+
+ vm_pagequeue_lock(pq);
+ queue_locked = true;
+ for (m = TAILQ_FIRST(&pq->pq_pl);
+ m != NULL && maxscan-- > 0 && launder > 0;
+ m = next) {
+ vm_pagequeue_assert_locked(pq);
+ KASSERT(queue_locked, ("unlocked laundry queue"));
+ KASSERT(vm_page_in_laundry(m),
+ ("page %p has an inconsistent queue", m));
+ next = TAILQ_NEXT(m, plinks.q);
+ if ((m->flags & PG_MARKER) != 0)
+ continue;
+ KASSERT((m->flags & PG_FICTITIOUS) == 0,
+ ("PG_FICTITIOUS page %p cannot be in laundry queue", m));
+ KASSERT((m->oflags & VPO_UNMANAGED) == 0,
+ ("VPO_UNMANAGED page %p cannot be in laundry queue", m));
+ if (!vm_pageout_page_lock(m, &next) || m->hold_count != 0) {
+ vm_page_unlock(m);
+ continue;
+ }
+ object = m->object;
+ if ((!VM_OBJECT_TRYWLOCK(object) &&
+ (!vm_pageout_fallback_object_lock(m, &next) ||
+ m->hold_count != 0)) || vm_page_busied(m)) {
+ VM_OBJECT_WUNLOCK(object);
+ vm_page_unlock(m);
+ continue;
+ }
+
+ /*
+ * Unlock the laundry queue, invalidating the 'next' pointer.
+ * Use a marker to remember our place in the laundry queue.
+ */
+ TAILQ_INSERT_AFTER(&pq->pq_pl, m, &vmd->vmd_laundry_marker,
+ plinks.q);
+ vm_pagequeue_unlock(pq);
+ queue_locked = false;
+
+ /*
+ * Invalid pages can be easily freed. They cannot be
+ * mapped; vm_page_free() asserts this.
+ */
+ if (m->valid == 0)
+ goto free_page;
+
+ /*
+ * If the page has been referenced and the object is not dead,
+ * reactivate or requeue the page depending on whether the
+ * object is mapped.
+ */
+ if ((m->aflags & PGA_REFERENCED) != 0) {
+ vm_page_aflag_clear(m, PGA_REFERENCED);
+ act_delta = 1;
+ } else
+ act_delta = 0;
+ if (object->ref_count != 0)
+ act_delta += pmap_ts_referenced(m);
+ else {
+ KASSERT(!pmap_page_is_mapped(m),
+ ("page %p is mapped", m));
+ }
+ if (act_delta != 0) {
+ if (object->ref_count != 0) {
+ PCPU_INC(cnt.v_reactivated);
+ vm_page_activate(m);
+
+ /*
+ * Increase the activation count if the page
+ * was referenced while in the laundry queue.
+ * This makes it less likely that the page will
+ * be returned prematurely to the inactive
+ * queue.
+ */
+ m->act_count += act_delta + ACT_ADVANCE;
+
+ /*
+ * If this was a background laundering, count
+ * activated pages towards our target. The
+ * purpose of background laundering is to ensure
+ * that pages are eventually cycled through the
+ * laundry queue, and an activation is a valid
+ * way out.
+ */
+ if (!in_shortfall)
+ launder--;
+ goto drop_page;
+ } else if ((object->flags & OBJ_DEAD) == 0)
+ goto requeue_page;
+ }
+
+ /*
+ * If the page appears to be clean at the machine-independent
+ * layer, then remove all of its mappings from the pmap in
+ * anticipation of freeing it. If, however, any of the page's
+ * mappings allow write access, then the page may still be
+ * modified until the last of those mappings are removed.
+ */
+ if (object->ref_count != 0) {
+ vm_page_test_dirty(m);
+ if (m->dirty == 0)
+ pmap_remove_all(m);
+ }
+
+ /*
+ * Clean pages are freed, and dirty pages are paged out unless
+ * they belong to a dead object. Requeueing dirty pages from
+ * dead objects is pointless, as they are being paged out and
+ * freed by the thread that destroyed the object.
+ */
+ if (m->dirty == 0) {
+free_page:
+ vm_page_free(m);
+ PCPU_INC(cnt.v_dfree);
+ } else if ((object->flags & OBJ_DEAD) == 0) {
+ if (object->type != OBJT_SWAP &&
+ object->type != OBJT_DEFAULT)
+ pageout_ok = true;
+ else if (disable_swap_pageouts)
+ pageout_ok = false;
+ else
+ pageout_ok = true;
+ if (!pageout_ok) {
+requeue_page:
+ vm_pagequeue_lock(pq);
+ queue_locked = true;
+ vm_page_requeue_locked(m);
+ goto drop_page;
+ }
+
+ /*
+ * Form a cluster with adjacent, dirty pages from the
+ * same object, and page out that entire cluster.
+ *
+ * The adjacent, dirty pages must also be in the
+ * laundry. However, their mappings are not checked
+ * for new references. Consequently, a recently
+ * referenced page may be paged out. However, that
+ * page will not be prematurely reclaimed. After page
+ * out, the page will be placed in the inactive queue,
+ * where any new references will be detected and the
+ * page reactivated.
+ */
+ error = vm_pageout_clean(m, &numpagedout);
+ if (error == 0) {
+ launder -= numpagedout;
+ maxscan -= numpagedout - 1;
+ } else if (error == EDEADLK) {
+ pageout_lock_miss++;
+ vnodes_skipped++;
+ }
+ goto relock_queue;
+ }
+drop_page:
+ vm_page_unlock(m);
+ VM_OBJECT_WUNLOCK(object);
+relock_queue:
+ if (!queue_locked) {
+ vm_pagequeue_lock(pq);
+ queue_locked = true;
+ }
+ next = TAILQ_NEXT(&vmd->vmd_laundry_marker, plinks.q);
+ TAILQ_REMOVE(&pq->pq_pl, &vmd->vmd_laundry_marker, plinks.q);
+ }
+ vm_pagequeue_unlock(pq);
+
+ /*
+ * Wakeup the sync daemon if we skipped a vnode in a writeable object
+ * and we didn't launder enough pages.
+ */
+ if (vnodes_skipped > 0 && launder > 0)
+ (void)speedup_syncer();
+
+ return (starting_target - launder);
+}
+
+/*
+ * Compute the integer square root.
+ */
+static u_int
+isqrt(u_int num)
+{
+ u_int bit, root, tmp;
+
+ bit = 1u << ((NBBY * sizeof(u_int)) - 2);
+ while (bit > num)
+ bit >>= 2;
+ root = 0;
+ while (bit != 0) {
+ tmp = root + bit;
+ root >>= 1;
+ if (num >= tmp) {
+ num -= tmp;
+ root += bit;
+ }
+ bit >>= 2;
+ }
+ return (root);
+}
+
+/*
+ * Perform the work of the laundry thread: periodically wake up and determine
+ * whether any pages need to be laundered. If so, determine the number of pages
+ * that need to be laundered, and launder them.
+ */
+static void
+vm_pageout_laundry_worker(void *arg)
+{
+ struct vm_domain *domain;
+ struct vm_pagequeue *pq;
+ uint64_t nclean, ndirty;
+ u_int last_launder, wakeups;
+ int domidx, last_target, launder, shortfall, shortfall_cycle, target;
+ bool in_shortfall;
+
+ domidx = (uintptr_t)arg;
+ domain = &vm_dom[domidx];
+ pq = &domain->vmd_pagequeues[PQ_LAUNDRY];
+ KASSERT(domain->vmd_segs != 0, ("domain without segments"));
+ vm_pageout_init_marker(&domain->vmd_laundry_marker, PQ_LAUNDRY);
+
+ shortfall = 0;
+ in_shortfall = false;
+ shortfall_cycle = 0;
+ target = 0;
+ last_launder = 0;
+
+ /*
+ * The pageout laundry worker is never done, so loop forever.
+ */
+ for (;;) {
+ KASSERT(target >= 0, ("negative target %d", target));
+ KASSERT(shortfall_cycle >= 0,
+ ("negative cycle %d", shortfall_cycle));
+ launder = 0;
+ wakeups = VM_METER_PCPU_CNT(v_pdwakeups);
+
+ /*
+ * First determine whether we need to launder pages to meet a
+ * shortage of free pages.
+ */
+ if (shortfall > 0) {
+ in_shortfall = true;
+ shortfall_cycle = VM_LAUNDER_RATE / VM_INACT_SCAN_RATE;
+ target = shortfall;
+ } else if (!in_shortfall)
+ goto trybackground;
+ else if (shortfall_cycle == 0 || vm_laundry_target() <= 0) {
+ /*
+ * We recently entered shortfall and began laundering
+ * pages. If we have completed that laundering run
+ * (and we are no longer in shortfall) or we have met
+ * our laundry target through other activity, then we
+ * can stop laundering pages.
+ */
+ in_shortfall = false;
+ target = 0;
+ goto trybackground;
+ }
+ last_launder = wakeups;
+ launder = target / shortfall_cycle--;
+ goto dolaundry;
+
+ /*
+ * There's no immediate need to launder any pages; see if we
+ * meet the conditions to perform background laundering:
+ *
+ * 1. The ratio of dirty to clean inactive pages exceeds the
+ * background laundering threshold and the pagedaemon has
+ * been woken up to reclaim pages since our last
+ * laundering, or
+ * 2. we haven't yet reached the target of the current
+ * background laundering run.
+ *
+ * The background laundering threshold is not a constant.
+ * Instead, it is a slowly growing function of the number of
+ * page daemon wakeups since the last laundering. Thus, as the
+ * ratio of dirty to clean inactive pages grows, the amount of
+ * memory pressure required to trigger laundering decreases.
+ */
+trybackground:
+ nclean = vm_cnt.v_inactive_count + vm_cnt.v_free_count;
+ ndirty = vm_cnt.v_laundry_count;
+ if (target == 0 && wakeups != last_launder &&
+ ndirty * isqrt(wakeups - last_launder) >= nclean) {
+ target = vm_background_launder_target;
+ }
+
+ /*
+ * We have a non-zero background laundering target. If we've
+ * laundered up to our maximum without observing a page daemon
+ * wakeup, just stop. This is a safety belt that ensures we
+ * don't launder an excessive amount if memory pressure is low
+ * and the ratio of dirty to clean pages is large. Otherwise,
+ * proceed at the background laundering rate.
+ */
+ if (target > 0) {
+ if (wakeups != last_launder) {
+ last_launder = wakeups;
+ last_target = target;
+ } else if (last_target - target >=
+ vm_background_launder_max * PAGE_SIZE / 1024) {
+ target = 0;
+ }
+ launder = vm_background_launder_rate * PAGE_SIZE / 1024;
+ launder /= VM_LAUNDER_RATE;
+ if (launder > target)
+ launder = target;
+ }
+
+dolaundry:
+ if (launder > 0) {
+ /*
+ * Because of I/O clustering, the number of laundered
+ * pages could exceed "target" by the maximum size of
+ * a cluster minus one.
+ */
+ target -= min(vm_pageout_launder(domain, launder,
+ in_shortfall), target);
+ pause("laundp", hz / VM_LAUNDER_RATE);
+ }
+
+ /*
+ * If we're not currently laundering pages and the page daemon
+ * hasn't posted a new request, sleep until the page daemon
+ * kicks us.
+ */
+ vm_pagequeue_lock(pq);
+ if (target == 0 && vm_laundry_request == VM_LAUNDRY_IDLE)
+ (void)mtx_sleep(&vm_laundry_request,
+ vm_pagequeue_lockptr(pq), PVM, "launds", 0);
+
+ /*
+ * If the pagedaemon has indicated that it's in shortfall, start
+ * a shortfall laundering unless we're already in the middle of
+ * one. This may preempt a background laundering.
+ */
+ if (vm_laundry_request == VM_LAUNDRY_SHORTFALL &&
+ (!in_shortfall || shortfall_cycle == 0)) {
+ shortfall = vm_laundry_target() + vm_pageout_deficit;
+ target = 0;
+ } else
+ shortfall = 0;
+
+ if (target == 0)
+ vm_laundry_request = VM_LAUNDRY_IDLE;
+ vm_pagequeue_unlock(pq);
+ }
+}
+
+/*
* vm_pageout_scan does the dirty work for the pageout daemon.
*
- * pass 0 - Update active LRU/deactivate pages
- * pass 1 - Free inactive pages
- * pass 2 - Launder dirty pages
+ * pass == 0: Update active LRU/deactivate pages
+ * pass >= 1: Free inactive pages
*
* Returns true if pass was zero or enough pages were freed by the inactive
* queue scan to meet the target.
@@ -856,10 +1270,9 @@ vm_pageout_scan(struct vm_domain *vmd, int pass)
struct vm_pagequeue *pq;
vm_object_t object;
long min_scan;
- int act_delta, addl_page_shortage, deficit, error, inactq_shortage;
- int maxlaunder, maxscan, page_shortage, scan_tick, scanned;
- int starting_page_shortage, vnodes_skipped;
- boolean_t pageout_ok, queue_locked;
+ int act_delta, addl_page_shortage, deficit, inactq_shortage, maxscan;
+ int page_shortage, scan_tick, scanned, starting_page_shortage;
+ boolean_t queue_locked;
/*
* If we need to reclaim memory ask kernel caches to return
@@ -901,23 +1314,6 @@ vm_pageout_scan(struct vm_domain *vmd, int pass)
starting_page_shortage = page_shortage;
/*
- * maxlaunder limits the number of dirty pages we flush per scan.
- * For most systems a smaller value (16 or 32) is more robust under
- * extreme memory and disk pressure because any unnecessary writes
- * to disk can result in extreme performance degredation. However,
- * systems with excessive dirty pages (especially when MAP_NOSYNC is
- * used) will die horribly with limited laundering. If the pageout
- * daemon cannot clean enough pages in the first pass, we let it go
- * all out in succeeding passes.
- */
- if ((maxlaunder = vm_max_launder) <= 1)
- maxlaunder = 1;
- if (pass > 1)
- maxlaunder = 10000;
-
- vnodes_skipped = 0;
-
- /*
* Start scanning the inactive queue for pages that we can free. The
* scan will stop when we reach the target or we have scanned the
* entire queue. (Note that m->act_count is not used to make
@@ -932,7 +1328,7 @@ vm_pageout_scan(struct vm_domain *vmd, int pass)
m = next) {
vm_pagequeue_assert_locked(pq);
KASSERT(queue_locked, ("unlocked inactive queue"));
- KASSERT(m->queue == PQ_INACTIVE, ("Inactive queue %p", m));
+ KASSERT(vm_page_inactive(m), ("Inactive queue %p", m));
PCPU_INC(cnt.v_pdpages);
next = TAILQ_NEXT(m, plinks.q);
@@ -995,11 +1391,15 @@ unlock_page:
KASSERT(m->hold_count == 0, ("Held page %p", m));
/*
- * We unlock the inactive page queue, invalidating the
- * 'next' pointer. Use our marker to remember our
- * place.
+ * Dequeue the inactive page and unlock the inactive page
+ * queue, invalidating the 'next' pointer. Dequeueing the
+ * page here avoids a later reacquisition (and release) of
+ * the inactive page queue lock when vm_page_activate(),
+ * vm_page_free(), or vm_page_launder() is called. Use a
+ * marker to remember our place in the inactive queue.
*/
TAILQ_INSERT_AFTER(&pq->pq_pl, m, &vmd->vmd_marker, plinks.q);
+ vm_page_dequeue_locked(m);
vm_pagequeue_unlock(pq);
queue_locked = FALSE;
@@ -1028,6 +1428,7 @@ unlock_page:
}
if (act_delta != 0) {
if (object->ref_count != 0) {
+ PCPU_INC(cnt.v_reactivated);
vm_page_activate(m);
/*
@@ -1039,8 +1440,14 @@ unlock_page:
*/
m->act_count += act_delta + ACT_ADVANCE;
goto drop_page;
- } else if ((object->flags & OBJ_DEAD) == 0)
- goto requeue_page;
+ } else if ((object->flags & OBJ_DEAD) == 0) {
+ vm_pagequeue_lock(pq);
+ queue_locked = TRUE;
+ m->queue = PQ_INACTIVE;
+ TAILQ_INSERT_TAIL(&pq->pq_pl, m, plinks.q);
+ vm_pagequeue_cnt_inc(pq);
+ goto drop_page;
+ }
}
/*
@@ -1056,83 +1463,23 @@ unlock_page:
pmap_remove_all(m);
}
+ /*
+ * Clean pages can be freed, but dirty pages must be sent back
+ * to the laundry, unless they belong to a dead object.
+ * Requeueing dirty pages from dead objects is pointless, as
+ * they are being paged out and freed by the thread that
+ * destroyed the object.
+ */
if (m->dirty == 0) {
- /*
- * Clean pages can be freed.
- */
free_page:
vm_page_free(m);
PCPU_INC(cnt.v_dfree);
--page_shortage;
- } else if ((object->flags & OBJ_DEAD) != 0) {
- /*
- * Leave dirty pages from dead objects at the front of
- * the queue. They are being paged out and freed by
- * the thread that destroyed the object. They will
- * leave the queue shortly after the scan finishes, so
- * they should be discounted from the inactive count.
- */
- addl_page_shortage++;
- } else if ((m->flags & PG_WINATCFLS) == 0 && pass < 2) {
- /*
- * Dirty pages need to be paged out, but flushing
- * a page is extremely expensive versus freeing
- * a clean page. Rather then artificially limiting
- * the number of pages we can flush, we instead give
- * dirty pages extra priority on the inactive queue
- * by forcing them to be cycled through the queue
- * twice before being flushed, after which the
- * (now clean) page will cycle through once more
- * before being freed. This significantly extends
- * the thrash point for a heavily loaded machine.
- */
- m->flags |= PG_WINATCFLS;
-requeue_page:
- vm_pagequeue_lock(pq);
- queue_locked = TRUE;
- vm_page_requeue_locked(m);
- } else if (maxlaunder > 0) {
- /*
- * We always want to try to flush some dirty pages if
- * we encounter them, to keep the system stable.
- * Normally this number is small, but under extreme
- * pressure where there are insufficient clean pages
- * on the inactive queue, we may have to go all out.
- */
-
- if (object->type != OBJT_SWAP &&
- object->type != OBJT_DEFAULT)
- pageout_ok = TRUE;
- else if (disable_swap_pageouts)
- pageout_ok = FALSE;
- else if (defer_swap_pageouts)
- pageout_ok = vm_page_count_min();
- else
- pageout_ok = TRUE;
- if (!pageout_ok)
- goto requeue_page;
- error = vm_pageout_clean(m);
- /*
- * Decrement page_shortage on success to account for
- * the (future) cleaned page. Otherwise we could wind
- * up laundering or cleaning too many pages.
- */
- if (error == 0) {
- page_shortage--;
- maxlaunder--;
- } else if (error == EDEADLK) {
- pageout_lock_miss++;
- vnodes_skipped++;
- } else if (error == EBUSY) {
- addl_page_shortage++;
- }
- vm_page_lock_assert(m, MA_NOTOWNED);
- goto relock_queue;
- }
+ } else if ((object->flags & OBJ_DEAD) == 0)
+ vm_page_launder(m);
drop_page:
vm_page_unlock(m);
VM_OBJECT_WUNLOCK(object);
-relock_queue:
if (!queue_locked) {
vm_pagequeue_lock(pq);
queue_locked = TRUE;
@@ -1142,6 +1489,24 @@ relock_queue:
}
vm_pagequeue_unlock(pq);
+ /*
+ * Wake up the laundry thread so that it can perform any needed
+ * laundering. If we didn't meet our target, we're in shortfall and
+ * need to launder more aggressively.
+ */
+ if (vm_laundry_request == VM_LAUNDRY_IDLE &&
+ starting_page_shortage > 0) {
+ pq = &vm_dom[0].vmd_pagequeues[PQ_LAUNDRY];
+ vm_pagequeue_lock(pq);
+ if (page_shortage > 0) {
+ vm_laundry_request = VM_LAUNDRY_SHORTFALL;
+ PCPU_INC(cnt.v_pdshortfalls);
+ } else if (vm_laundry_request != VM_LAUNDRY_SHORTFALL)
+ vm_laundry_request = VM_LAUNDRY_BACKGROUND;
+ wakeup(&vm_laundry_request);
+ vm_pagequeue_unlock(pq);
+ }
+
#if !defined(NO_SWAPPING)
/*
* Wakeup the swapout daemon if we didn't free the targeted number of
@@ -1152,14 +1517,6 @@ relock_queue:
#endif
/*
- * Wakeup the sync daemon if we skipped a vnode in a writeable object
- * and we didn't free enough pages.
- */
- if (vnodes_skipped > 0 && page_shortage > vm_cnt.v_free_target -
- vm_cnt.v_free_min)
- (void)speedup_syncer();
-
- /*
* If the inactive queue scan fails repeatedly to meet its
* target, kill the largest process.
*/
@@ -1167,10 +1524,20 @@ relock_queue:
/*
* Compute the number of pages we want to try to move from the
- * active queue to the inactive queue.
+ * active queue to either the inactive or laundry queue.
+ *
+ * When scanning active pages, we make clean pages count more heavily
+ * towards the page shortage than dirty pages. This is because dirty
+ * pages must be laundered before they can be reused and thus have less
+ * utility when attempting to quickly alleviate a shortage. However,
+ * this weighting also causes the scan to deactivate dirty pages more
+ * more aggressively, improving the effectiveness of clustering and
+ * ensuring that they can eventually be reused.
*/
- inactq_shortage = vm_cnt.v_inactive_target - vm_cnt.v_inactive_count +
+ inactq_shortage = vm_cnt.v_inactive_target - (vm_cnt.v_inactive_count +
+ vm_cnt.v_laundry_count / act_scan_laundry_weight) +
vm_paging_target() + deficit + addl_page_shortage;
+ page_shortage *= act_scan_laundry_weight;
pq = &vmd->vmd_pagequeues[PQ_ACTIVE];
vm_pagequeue_lock(pq);
@@ -1254,14 +1621,44 @@ relock_queue:
m->act_count -= min(m->act_count, ACT_DECLINE);
/*
- * Move this page to the tail of the active or inactive
+ * Move this page to the tail of the active, inactive or laundry
* queue depending on usage.
*/
if (m->act_count == 0) {
/* Dequeue to avoid later lock recursion. */
vm_page_dequeue_locked(m);
- vm_page_deactivate(m);
- inactq_shortage--;
+
+ /*
+ * When not short for inactive pages, let dirty pages go
+ * through the inactive queue before moving to the
+ * laundry queues. This gives them some extra time to
+ * be reactivated, potentially avoiding an expensive
+ * pageout. During a page shortage, the inactive queue
+ * is necessarily small, so we may move dirty pages
+ * directly to the laundry queue.
+ */
+ if (inactq_shortage <= 0)
+ vm_page_deactivate(m);
+ else {
+ /*
+ * Calling vm_page_test_dirty() here would
+ * require acquisition of the object's write
+ * lock. However, during a page shortage,
+ * directing dirty pages into the laundry
+ * queue is only an optimization and not a
+ * requirement. Therefore, we simply rely on
+ * the opportunistic updates to the page's
+ * dirty field by the pmap.
+ */
+ if (m->dirty == 0) {
+ vm_page_deactivate(m);
+ inactq_shortage -=
+ act_scan_laundry_weight;
+ } else {
+ vm_page_launder(m);
+ inactq_shortage--;
+ }
+ }
} else
vm_page_requeue_locked(m);
vm_page_unlock(m);
@@ -1569,14 +1966,14 @@ vm_pageout_worker(void *arg)
* thread during the previous scan, which must have
* been a level 0 scan, or vm_pageout_wanted was
* already set and the scan failed to free enough
- * pages. If we haven't yet performed a level >= 2
- * scan (unlimited dirty cleaning), then upgrade the
- * level and scan again now. Otherwise, sleep a bit
- * and try again later.
+ * pages. If we haven't yet performed a level >= 1
+ * (page reclamation) scan, then increase the level
+ * and scan again now. Otherwise, sleep a bit and
+ * try again later.
*/
mtx_unlock(&vm_page_queue_free_mtx);
- if (pass > 1)
- pause("psleep", hz / 2);
+ if (pass >= 1)
+ pause("psleep", hz / VM_INACT_SCAN_RATE);
pass++;
} else {
/*
@@ -1647,6 +2044,14 @@ vm_pageout_init(void)
/* XXX does not really belong here */
if (vm_page_max_wired == 0)
vm_page_max_wired = vm_cnt.v_free_count / 3;
+
+ /*
+ * Target amount of memory to move out of the laundry queue during a
+ * background laundering. This is proportional to the amount of system
+ * memory.
+ */
+ vm_background_launder_target = (vm_cnt.v_free_target -
+ vm_cnt.v_free_min) / 10;
}
/*
@@ -1661,6 +2066,10 @@ vm_pageout(void)
#endif
swap_pager_swap_init();
+ error = kthread_add(vm_pageout_laundry_worker, NULL, curproc, NULL,
+ 0, 0, "laundry: dom0");
+ if (error != 0)
+ panic("starting laundry for domain 0, error %d", error);
#ifdef VM_NUMA_ALLOC
for (i = 1; i < vm_ndomains; i++) {
error = kthread_add(vm_pageout_worker, (void *)(uintptr_t)i,
diff --git a/sys/vm/vm_phys.c b/sys/vm/vm_phys.c
index ab48f58..484417b 100644
--- a/sys/vm/vm_phys.c
+++ b/sys/vm/vm_phys.c
@@ -1314,7 +1314,7 @@ vm_phys_zero_pages_idle(void)
for (;;) {
TAILQ_FOREACH_REVERSE(m, &fl[oind].pl, pglist, plinks.q) {
for (m_tmp = m; m_tmp < &m[1 << oind]; m_tmp++) {
- if ((m_tmp->flags & (PG_CACHED | PG_ZERO)) == 0) {
+ if ((m_tmp->flags & PG_ZERO) == 0) {
vm_phys_unfree_page(m_tmp);
vm_phys_freecnt_adj(m, -1);
mtx_unlock(&vm_page_queue_free_mtx);
diff --git a/sys/vm/vm_radix.c b/sys/vm/vm_radix.c
index 80c8bd0..4f0a575 100644
--- a/sys/vm/vm_radix.c
+++ b/sys/vm/vm_radix.c
@@ -339,8 +339,6 @@ vm_radix_insert(struct vm_radix *rtree, vm_page_t page)
index = page->pindex;
-restart:
-
/*
* The owner of record for root is not really important because it
* will never be used.
@@ -358,32 +356,10 @@ restart:
panic("%s: key %jx is already present",
__func__, (uintmax_t)index);
clev = vm_radix_keydiff(m->pindex, index);
-
- /*
- * During node allocation the trie that is being
- * walked can be modified because of recursing radix
- * trie operations.
- * If this is the case, the recursing functions signal
- * such situation and the insert operation must
- * start from scratch again.
- * The freed radix node will then be in the UMA
- * caches very likely to avoid the same situation
- * to happen.
- */
- rtree->rt_flags |= RT_INSERT_INPROG;
tmp = vm_radix_node_get(vm_radix_trimkey(index,
clev + 1), 2, clev);
- rtree->rt_flags &= ~RT_INSERT_INPROG;
- if (tmp == NULL) {
- rtree->rt_flags &= ~RT_TRIE_MODIFIED;
+ if (tmp == NULL)
return (ENOMEM);
- }
- if ((rtree->rt_flags & RT_TRIE_MODIFIED) != 0) {
- rtree->rt_flags &= ~RT_TRIE_MODIFIED;
- tmp->rn_count = 0;
- vm_radix_node_put(tmp);
- goto restart;
- }
*parentp = tmp;
vm_radix_addpage(tmp, index, clev, page);
vm_radix_addpage(tmp, m->pindex, clev, m);
@@ -407,21 +383,9 @@ restart:
*/
newind = rnode->rn_owner;
clev = vm_radix_keydiff(newind, index);
-
- /* See the comments above. */
- rtree->rt_flags |= RT_INSERT_INPROG;
tmp = vm_radix_node_get(vm_radix_trimkey(index, clev + 1), 2, clev);
- rtree->rt_flags &= ~RT_INSERT_INPROG;
- if (tmp == NULL) {
- rtree->rt_flags &= ~RT_TRIE_MODIFIED;
+ if (tmp == NULL)
return (ENOMEM);
- }
- if ((rtree->rt_flags & RT_TRIE_MODIFIED) != 0) {
- rtree->rt_flags &= ~RT_TRIE_MODIFIED;
- tmp->rn_count = 0;
- vm_radix_node_put(tmp);
- goto restart;
- }
*parentp = tmp;
vm_radix_addpage(tmp, index, clev, page);
slot = vm_radix_slot(newind, clev);
@@ -696,51 +660,37 @@ descend:
}
/*
- * Remove the specified index from the tree.
- * Panics if the key is not present.
+ * Remove the specified index from the trie, and return the value stored at
+ * that index. If the index is not present, return NULL.
*/
-void
+vm_page_t
vm_radix_remove(struct vm_radix *rtree, vm_pindex_t index)
{
struct vm_radix_node *rnode, *parent;
vm_page_t m;
int i, slot;
- /*
- * Detect if a page is going to be removed from a trie which is
- * already undergoing another trie operation.
- * Right now this is only possible for vm_radix_remove() recursing
- * into vm_radix_insert().
- * If this is the case, the caller must be notified about this
- * situation. It will also takecare to update the RT_TRIE_MODIFIED
- * accordingly.
- * The RT_TRIE_MODIFIED bit is set here because the remove operation
- * will always succeed.
- */
- if ((rtree->rt_flags & RT_INSERT_INPROG) != 0)
- rtree->rt_flags |= RT_TRIE_MODIFIED;
-
rnode = vm_radix_getroot(rtree);
if (vm_radix_isleaf(rnode)) {
m = vm_radix_topage(rnode);
if (m->pindex != index)
- panic("%s: invalid key found", __func__);
+ return (NULL);
vm_radix_setroot(rtree, NULL);
- return;
+ return (m);
}
parent = NULL;
for (;;) {
if (rnode == NULL)
- panic("vm_radix_remove: impossible to locate the key");
+ return (NULL);
slot = vm_radix_slot(index, rnode->rn_clev);
if (vm_radix_isleaf(rnode->rn_child[slot])) {
m = vm_radix_topage(rnode->rn_child[slot]);
if (m->pindex != index)
- panic("%s: invalid key found", __func__);
+ return (NULL);
rnode->rn_child[slot] = NULL;
rnode->rn_count--;
if (rnode->rn_count > 1)
- break;
+ return (m);
for (i = 0; i < VM_RADIX_COUNT; i++)
if (rnode->rn_child[i] != NULL)
break;
@@ -757,7 +707,7 @@ vm_radix_remove(struct vm_radix *rtree, vm_pindex_t index)
rnode->rn_count--;
rnode->rn_child[i] = NULL;
vm_radix_node_put(rnode);
- break;
+ return (m);
}
parent = rnode;
rnode = rnode->rn_child[slot];
@@ -774,9 +724,6 @@ vm_radix_reclaim_allnodes(struct vm_radix *rtree)
{
struct vm_radix_node *root;
- KASSERT((rtree->rt_flags & RT_INSERT_INPROG) == 0,
- ("vm_radix_reclaim_allnodes: unexpected trie recursion"));
-
root = vm_radix_getroot(rtree);
if (root == NULL)
return;
diff --git a/sys/vm/vm_radix.h b/sys/vm/vm_radix.h
index 63d27d4..b8a722d 100644
--- a/sys/vm/vm_radix.h
+++ b/sys/vm/vm_radix.h
@@ -42,7 +42,7 @@ vm_page_t vm_radix_lookup(struct vm_radix *rtree, vm_pindex_t index);
vm_page_t vm_radix_lookup_ge(struct vm_radix *rtree, vm_pindex_t index);
vm_page_t vm_radix_lookup_le(struct vm_radix *rtree, vm_pindex_t index);
void vm_radix_reclaim_allnodes(struct vm_radix *rtree);
-void vm_radix_remove(struct vm_radix *rtree, vm_pindex_t index);
+vm_page_t vm_radix_remove(struct vm_radix *rtree, vm_pindex_t index);
vm_page_t vm_radix_replace(struct vm_radix *rtree, vm_page_t newpage);
#endif /* _KERNEL */
diff --git a/sys/vm/vm_reserv.c b/sys/vm/vm_reserv.c
index 8bb1788..7e2bfb6 100644
--- a/sys/vm/vm_reserv.c
+++ b/sys/vm/vm_reserv.c
@@ -62,7 +62,7 @@ __FBSDID("$FreeBSD$");
/*
* The reservation system supports the speculative allocation of large physical
- * pages ("superpages"). Speculative allocation enables the fully-automatic
+ * pages ("superpages"). Speculative allocation enables the fully automatic
* utilization of superpages by the virtual memory system. In other words, no
* programmatic directives are required to use superpages.
*/
@@ -155,11 +155,11 @@ popmap_is_set(popmap_t popmap[], int i)
* physical pages for the range [pindex, pindex + VM_LEVEL_0_NPAGES) of offsets
* within that object. The reservation's "popcnt" tracks the number of these
* small physical pages that are in use at any given time. When and if the
- * reservation is not fully utilized, it appears in the queue of partially-
+ * reservation is not fully utilized, it appears in the queue of partially
* populated reservations. The reservation always appears on the containing
* object's list of reservations.
*
- * A partially-populated reservation can be broken and reclaimed at any time.
+ * A partially populated reservation can be broken and reclaimed at any time.
*/
struct vm_reserv {
TAILQ_ENTRY(vm_reserv) partpopq;
@@ -196,11 +196,11 @@ struct vm_reserv {
static vm_reserv_t vm_reserv_array;
/*
- * The partially-populated reservation queue
+ * The partially populated reservation queue
*
- * This queue enables the fast recovery of an unused cached or free small page
- * from a partially-populated reservation. The reservation at the head of
- * this queue is the least-recently-changed, partially-populated reservation.
+ * This queue enables the fast recovery of an unused free small page from a
+ * partially populated reservation. The reservation at the head of this queue
+ * is the least recently changed, partially populated reservation.
*
* Access to this queue is synchronized by the free page queue lock.
*/
@@ -225,7 +225,7 @@ SYSCTL_PROC(_vm_reserv, OID_AUTO, fullpop, CTLTYPE_INT | CTLFLAG_RD, NULL, 0,
static int sysctl_vm_reserv_partpopq(SYSCTL_HANDLER_ARGS);
SYSCTL_OID(_vm_reserv, OID_AUTO, partpopq, CTLTYPE_STRING | CTLFLAG_RD, NULL, 0,
- sysctl_vm_reserv_partpopq, "A", "Partially-populated reservation queues");
+ sysctl_vm_reserv_partpopq, "A", "Partially populated reservation queues");
static long vm_reserv_reclaimed;
SYSCTL_LONG(_vm_reserv, OID_AUTO, reclaimed, CTLFLAG_RD,
@@ -267,7 +267,7 @@ sysctl_vm_reserv_fullpop(SYSCTL_HANDLER_ARGS)
}
/*
- * Describes the current state of the partially-populated reservation queue.
+ * Describes the current state of the partially populated reservation queue.
*/
static int
sysctl_vm_reserv_partpopq(SYSCTL_HANDLER_ARGS)
@@ -301,7 +301,7 @@ sysctl_vm_reserv_partpopq(SYSCTL_HANDLER_ARGS)
/*
* Reduces the given reservation's population count. If the population count
* becomes zero, the reservation is destroyed. Additionally, moves the
- * reservation to the tail of the partially-populated reservation queue if the
+ * reservation to the tail of the partially populated reservation queue if the
* population count is non-zero.
*
* The free page queue lock must be held.
@@ -363,7 +363,7 @@ vm_reserv_has_pindex(vm_reserv_t rv, vm_pindex_t pindex)
/*
* Increases the given reservation's population count. Moves the reservation
- * to the tail of the partially-populated reservation queue.
+ * to the tail of the partially populated reservation queue.
*
* The free page queue must be locked.
*/
@@ -404,14 +404,18 @@ vm_reserv_populate(vm_reserv_t rv, int index)
* physical address boundary that is a multiple of that value. Both
* "alignment" and "boundary" must be a power of two.
*
+ * The page "mpred" must immediately precede the offset "pindex" within the
+ * specified object.
+ *
* The object and free page queue must be locked.
*/
vm_page_t
vm_reserv_alloc_contig(vm_object_t object, vm_pindex_t pindex, u_long npages,
- vm_paddr_t low, vm_paddr_t high, u_long alignment, vm_paddr_t boundary)
+ vm_paddr_t low, vm_paddr_t high, u_long alignment, vm_paddr_t boundary,
+ vm_page_t mpred)
{
vm_paddr_t pa, size;
- vm_page_t m, m_ret, mpred, msucc;
+ vm_page_t m, m_ret, msucc;
vm_pindex_t first, leftcap, rightcap;
vm_reserv_t rv;
u_long allocpages, maxpages, minpages;
@@ -448,10 +452,11 @@ vm_reserv_alloc_contig(vm_object_t object, vm_pindex_t pindex, u_long npages,
/*
* Look for an existing reservation.
*/
- mpred = vm_radix_lookup_le(&object->rtree, pindex);
if (mpred != NULL) {
+ KASSERT(mpred->object == object,
+ ("vm_reserv_alloc_contig: object doesn't contain mpred"));
KASSERT(mpred->pindex < pindex,
- ("vm_reserv_alloc_contig: pindex already allocated"));
+ ("vm_reserv_alloc_contig: mpred doesn't precede pindex"));
rv = vm_reserv_from_page(mpred);
if (rv->object == object && vm_reserv_has_pindex(rv, pindex))
goto found;
@@ -460,7 +465,7 @@ vm_reserv_alloc_contig(vm_object_t object, vm_pindex_t pindex, u_long npages,
msucc = TAILQ_FIRST(&object->memq);
if (msucc != NULL) {
KASSERT(msucc->pindex > pindex,
- ("vm_reserv_alloc_contig: pindex already allocated"));
+ ("vm_reserv_alloc_contig: msucc doesn't succeed pindex"));
rv = vm_reserv_from_page(msucc);
if (rv->object == object && vm_reserv_has_pindex(rv, pindex))
goto found;
@@ -597,7 +602,7 @@ found:
}
/*
- * Allocates a page from an existing or newly-created reservation.
+ * Allocates a page from an existing or newly created reservation.
*
* The page "mpred" must immediately precede the offset "pindex" within the
* specified object.
@@ -721,12 +726,12 @@ found:
}
/*
- * Breaks the given reservation. Except for the specified cached or free
- * page, all cached and free pages in the reservation are returned to the
- * physical memory allocator. The reservation's population count and map are
- * reset to their initial state.
+ * Breaks the given reservation. Except for the specified free page, all free
+ * pages in the reservation are returned to the physical memory allocator.
+ * The reservation's population count and map are reset to their initial
+ * state.
*
- * The given reservation must not be in the partially-populated reservation
+ * The given reservation must not be in the partially populated reservation
* queue. The free page queue lock must be held.
*/
static void
@@ -895,7 +900,7 @@ vm_reserv_level(vm_page_t m)
}
/*
- * Returns a reservation level if the given page belongs to a fully-populated
+ * Returns a reservation level if the given page belongs to a fully populated
* reservation and -1 otherwise.
*/
int
@@ -908,47 +913,8 @@ vm_reserv_level_iffullpop(vm_page_t m)
}
/*
- * Prepare for the reactivation of a cached page.
- *
- * First, suppose that the given page "m" was allocated individually, i.e., not
- * as part of a reservation, and cached. Then, suppose a reservation
- * containing "m" is allocated by the same object. Although "m" and the
- * reservation belong to the same object, "m"'s pindex may not match the
- * reservation's.
- *
- * The free page queue must be locked.
- */
-boolean_t
-vm_reserv_reactivate_page(vm_page_t m)
-{
- vm_reserv_t rv;
- int index;
-
- mtx_assert(&vm_page_queue_free_mtx, MA_OWNED);
- rv = vm_reserv_from_page(m);
- if (rv->object == NULL)
- return (FALSE);
- KASSERT((m->flags & PG_CACHED) != 0,
- ("vm_reserv_reactivate_page: page %p is not cached", m));
- if (m->object == rv->object &&
- m->pindex - rv->pindex == (index = VM_RESERV_INDEX(m->object,
- m->pindex)))
- vm_reserv_populate(rv, index);
- else {
- KASSERT(rv->inpartpopq,
- ("vm_reserv_reactivate_page: reserv %p's inpartpopq is FALSE",
- rv));
- TAILQ_REMOVE(&vm_rvq_partpop, rv, partpopq);
- rv->inpartpopq = FALSE;
- /* Don't release "m" to the physical memory allocator. */
- vm_reserv_break(rv, m);
- }
- return (TRUE);
-}
-
-/*
- * Breaks the given partially-populated reservation, releasing its cached and
- * free pages to the physical memory allocator.
+ * Breaks the given partially populated reservation, releasing its free pages
+ * to the physical memory allocator.
*
* The free page queue lock must be held.
*/
@@ -966,9 +932,9 @@ vm_reserv_reclaim(vm_reserv_t rv)
}
/*
- * Breaks the reservation at the head of the partially-populated reservation
- * queue, releasing its cached and free pages to the physical memory
- * allocator. Returns TRUE if a reservation is broken and FALSE otherwise.
+ * Breaks the reservation at the head of the partially populated reservation
+ * queue, releasing its free pages to the physical memory allocator. Returns
+ * TRUE if a reservation is broken and FALSE otherwise.
*
* The free page queue lock must be held.
*/
@@ -986,11 +952,10 @@ vm_reserv_reclaim_inactive(void)
}
/*
- * Searches the partially-populated reservation queue for the least recently
- * active reservation with unused pages, i.e., cached or free, that satisfy the
- * given request for contiguous physical memory. If a satisfactory reservation
- * is found, it is broken. Returns TRUE if a reservation is broken and FALSE
- * otherwise.
+ * Searches the partially populated reservation queue for the least recently
+ * changed reservation with free pages that satisfy the given request for
+ * contiguous physical memory. If a satisfactory reservation is found, it is
+ * broken. Returns TRUE if a reservation is broken and FALSE otherwise.
*
* The free page queue lock must be held.
*/
diff --git a/sys/vm/vm_reserv.h b/sys/vm/vm_reserv.h
index 52f6ab2..8b33b48 100644
--- a/sys/vm/vm_reserv.h
+++ b/sys/vm/vm_reserv.h
@@ -47,7 +47,7 @@
*/
vm_page_t vm_reserv_alloc_contig(vm_object_t object, vm_pindex_t pindex,
u_long npages, vm_paddr_t low, vm_paddr_t high,
- u_long alignment, vm_paddr_t boundary);
+ u_long alignment, vm_paddr_t boundary, vm_page_t mpred);
vm_page_t vm_reserv_alloc_page(vm_object_t object, vm_pindex_t pindex,
vm_page_t mpred);
void vm_reserv_break_all(vm_object_t object);
@@ -56,7 +56,6 @@ void vm_reserv_init(void);
bool vm_reserv_is_page_free(vm_page_t m);
int vm_reserv_level(vm_page_t m);
int vm_reserv_level_iffullpop(vm_page_t m);
-boolean_t vm_reserv_reactivate_page(vm_page_t m);
boolean_t vm_reserv_reclaim_contig(u_long npages, vm_paddr_t low,
vm_paddr_t high, u_long alignment, vm_paddr_t boundary);
boolean_t vm_reserv_reclaim_inactive(void);
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index f9dfbf0..efa72f38 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -466,10 +466,6 @@ vnode_pager_setsize(struct vnode *vp, vm_ooffset_t nsize)
* replacement from working properly.
*/
vm_page_clear_dirty(m, base, PAGE_SIZE - base);
- } else if ((nsize & PAGE_MASK) &&
- vm_page_is_cached(object, OFF_TO_IDX(nsize))) {
- vm_page_cache_free(object, OFF_TO_IDX(nsize),
- nobjsize);
}
}
object->un_pager.vnp.vnp_size = nsize;
@@ -894,8 +890,7 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int count,
for (tpindex = m[0]->pindex - 1;
tpindex >= startpindex && tpindex < m[0]->pindex;
tpindex--, i++) {
- p = vm_page_alloc(object, tpindex, VM_ALLOC_NORMAL |
- VM_ALLOC_IFNOTCACHED);
+ p = vm_page_alloc(object, tpindex, VM_ALLOC_NORMAL);
if (p == NULL) {
/* Shift the array. */
for (int j = 0; j < i; j++)
@@ -932,8 +927,7 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int count,
for (tpindex = m[count - 1]->pindex + 1;
tpindex < endpindex; i++, tpindex++) {
- p = vm_page_alloc(object, tpindex, VM_ALLOC_NORMAL |
- VM_ALLOC_IFNOTCACHED);
+ p = vm_page_alloc(object, tpindex, VM_ALLOC_NORMAL);
if (p == NULL)
break;
bp->b_pages[i] = p;
@@ -1164,7 +1158,7 @@ vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount,
vm_ooffset_t poffset;
struct uio auio;
struct iovec aiov;
- int count, error, i, maxsize, ncount, ppscheck;
+ int count, error, i, maxsize, ncount, pgoff, ppscheck;
static struct timeval lastfail;
static int curfail;
@@ -1175,10 +1169,11 @@ vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount,
rtvals[i] = VM_PAGER_ERROR;
if ((int64_t)ma[0]->pindex < 0) {
- printf("vnode_pager_putpages: attempt to write meta-data!!! -- 0x%lx(%lx)\n",
- (long)ma[0]->pindex, (u_long)ma[0]->dirty);
+ printf("vnode_pager_generic_putpages: "
+ "attempt to write meta-data 0x%jx(%lx)\n",
+ (uintmax_t)ma[0]->pindex, (u_long)ma[0]->dirty);
rtvals[0] = VM_PAGER_BAD;
- return VM_PAGER_BAD;
+ return (VM_PAGER_BAD);
}
maxsize = count * PAGE_SIZE;
@@ -1201,8 +1196,6 @@ vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount,
VM_OBJECT_WLOCK(object);
if (maxsize + poffset > object->un_pager.vnp.vnp_size) {
if (object->un_pager.vnp.vnp_size > poffset) {
- int pgoff;
-
maxsize = object->un_pager.vnp.vnp_size - poffset;
ncount = btoc(maxsize);
if ((pgoff = (int)maxsize & PAGE_MASK) != 0) {
@@ -1216,6 +1209,7 @@ vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount,
vm_page_assert_sbusied(m);
KASSERT(!pmap_page_is_write_mapped(m),
("vnode_pager_generic_putpages: page %p is not read-only", m));
+ MPASS(m->dirty != 0);
vm_page_clear_dirty(m, pgoff, PAGE_SIZE -
pgoff);
}
@@ -1223,15 +1217,14 @@ vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount,
maxsize = 0;
ncount = 0;
}
- if (ncount < count) {
- for (i = ncount; i < count; i++) {
- rtvals[i] = VM_PAGER_BAD;
- }
- }
+ for (i = ncount; i < count; i++)
+ rtvals[i] = VM_PAGER_BAD;
}
+ for (i = 0; i < ncount - ((btoc(maxsize) & PAGE_MASK) != 0); i++)
+ MPASS(ma[i]->dirty == VM_PAGE_BITS_ALL);
VM_OBJECT_WUNLOCK(object);
- aiov.iov_base = (caddr_t) 0;
+ aiov.iov_base = NULL;
aiov.iov_len = maxsize;
auio.uio_iov = &aiov;
auio.uio_iovcnt = 1;
@@ -1239,26 +1232,23 @@ vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount,
auio.uio_segflg = UIO_NOCOPY;
auio.uio_rw = UIO_WRITE;
auio.uio_resid = maxsize;
- auio.uio_td = (struct thread *) 0;
+ auio.uio_td = NULL;
error = VOP_WRITE(vp, &auio, vnode_pager_putpages_ioflags(flags),
curthread->td_ucred);
PCPU_INC(cnt.v_vnodeout);
PCPU_ADD(cnt.v_vnodepgsout, ncount);
ppscheck = 0;
- if (error) {
- if ((ppscheck = ppsratecheck(&lastfail, &curfail, 1)))
- printf("vnode_pager_putpages: I/O error %d\n", error);
- }
- if (auio.uio_resid) {
- if (ppscheck || ppsratecheck(&lastfail, &curfail, 1))
- printf("vnode_pager_putpages: residual I/O %zd at %lu\n",
- auio.uio_resid, (u_long)ma[0]->pindex);
- }
- for (i = 0; i < ncount; i++) {
+ if (error != 0 && (ppscheck = ppsratecheck(&lastfail, &curfail, 1))
+ != 0)
+ printf("vnode_pager_putpages: I/O error %d\n", error);
+ if (auio.uio_resid != 0 && (ppscheck != 0 ||
+ ppsratecheck(&lastfail, &curfail, 1) != 0))
+ printf("vnode_pager_putpages: residual I/O %zd at %ju\n",
+ auio.uio_resid, (uintmax_t)ma[0]->pindex);
+ for (i = 0; i < ncount; i++)
rtvals[i] = VM_PAGER_OK;
- }
- return rtvals[0];
+ return (rtvals[0]);
}
int
diff --git a/sys/x86/acpica/acpi_wakeup.c b/sys/x86/acpica/acpi_wakeup.c
index 4a10ac7..690f8b7 100644
--- a/sys/x86/acpica/acpi_wakeup.c
+++ b/sys/x86/acpica/acpi_wakeup.c
@@ -223,7 +223,10 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0));
WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0));
-#ifndef __amd64__
+#ifdef __amd64__
+ WAKECODE_FIXUP(wakeup_efer, uint64_t, rdmsr(MSR_EFER) &
+ ~(EFER_LMA));
+#else
WAKECODE_FIXUP(wakeup_cr4, register_t, pcb->pcb_cr4);
#endif
WAKECODE_FIXUP(wakeup_pcb, struct pcb *, pcb);
diff --git a/sys/x86/iommu/intel_ctx.c b/sys/x86/iommu/intel_ctx.c
index 73ceb0e..98fb98e 100644
--- a/sys/x86/iommu/intel_ctx.c
+++ b/sys/x86/iommu/intel_ctx.c
@@ -703,7 +703,7 @@ dmar_domain_unload_entry(struct dmar_map_entry *entry, bool free)
if (unit->qi_enabled) {
DMAR_LOCK(unit);
dmar_qi_invalidate_locked(entry->domain, entry->start,
- entry->end - entry->start, &entry->gseq);
+ entry->end - entry->start, &entry->gseq, true);
if (!free)
entry->flags |= DMAR_MAP_ENTRY_QI_NF;
TAILQ_INSERT_TAIL(&unit->tlb_flush_entries, entry, dmamap_link);
@@ -715,16 +715,14 @@ dmar_domain_unload_entry(struct dmar_map_entry *entry, bool free)
}
}
-static struct dmar_qi_genseq *
-dmar_domain_unload_gseq(struct dmar_domain *domain,
- struct dmar_map_entry *entry, struct dmar_qi_genseq *gseq)
+static bool
+dmar_domain_unload_emit_wait(struct dmar_domain *domain,
+ struct dmar_map_entry *entry)
{
- if (TAILQ_NEXT(entry, dmamap_link) != NULL)
- return (NULL);
- if (domain->batch_no++ % dmar_batch_coalesce != 0)
- return (NULL);
- return (gseq);
+ if (TAILQ_NEXT(entry, dmamap_link) == NULL)
+ return (true);
+ return (domain->batch_no++ % dmar_batch_coalesce == 0);
}
void
@@ -733,7 +731,6 @@ dmar_domain_unload(struct dmar_domain *domain,
{
struct dmar_unit *unit;
struct dmar_map_entry *entry, *entry1;
- struct dmar_qi_genseq gseq;
int error;
unit = domain->dmar;
@@ -757,17 +754,11 @@ dmar_domain_unload(struct dmar_domain *domain,
KASSERT(unit->qi_enabled, ("loaded entry left"));
DMAR_LOCK(unit);
TAILQ_FOREACH(entry, entries, dmamap_link) {
- entry->gseq.gen = 0;
- entry->gseq.seq = 0;
dmar_qi_invalidate_locked(domain, entry->start, entry->end -
- entry->start, dmar_domain_unload_gseq(domain, entry,
- &gseq));
- }
- TAILQ_FOREACH_SAFE(entry, entries, dmamap_link, entry1) {
- entry->gseq = gseq;
- TAILQ_REMOVE(entries, entry, dmamap_link);
- TAILQ_INSERT_TAIL(&unit->tlb_flush_entries, entry, dmamap_link);
+ entry->start, &entry->gseq,
+ dmar_domain_unload_emit_wait(domain, entry));
}
+ TAILQ_CONCAT(&unit->tlb_flush_entries, entries, dmamap_link);
DMAR_UNLOCK(unit);
}
diff --git a/sys/x86/iommu/intel_dmar.h b/sys/x86/iommu/intel_dmar.h
index 698b536..db7e6d5 100644
--- a/sys/x86/iommu/intel_dmar.h
+++ b/sys/x86/iommu/intel_dmar.h
@@ -305,7 +305,7 @@ void dmar_disable_qi_intr(struct dmar_unit *unit);
int dmar_init_qi(struct dmar_unit *unit);
void dmar_fini_qi(struct dmar_unit *unit);
void dmar_qi_invalidate_locked(struct dmar_domain *domain, dmar_gaddr_t start,
- dmar_gaddr_t size, struct dmar_qi_genseq *pseq);
+ dmar_gaddr_t size, struct dmar_qi_genseq *psec, bool emit_wait);
void dmar_qi_invalidate_ctx_glob_locked(struct dmar_unit *unit);
void dmar_qi_invalidate_iotlb_glob_locked(struct dmar_unit *unit);
void dmar_qi_invalidate_iec_glob(struct dmar_unit *unit);
diff --git a/sys/x86/iommu/intel_qi.c b/sys/x86/iommu/intel_qi.c
index 4667ecc..087ce5f 100644
--- a/sys/x86/iommu/intel_qi.c
+++ b/sys/x86/iommu/intel_qi.c
@@ -171,7 +171,8 @@ dmar_qi_emit_wait_descr(struct dmar_unit *unit, uint32_t seq, bool intr,
}
static void
-dmar_qi_emit_wait_seq(struct dmar_unit *unit, struct dmar_qi_genseq *pseq)
+dmar_qi_emit_wait_seq(struct dmar_unit *unit, struct dmar_qi_genseq *pseq,
+ bool emit_wait)
{
struct dmar_qi_genseq gsec;
uint32_t seq;
@@ -192,7 +193,10 @@ dmar_qi_emit_wait_seq(struct dmar_unit *unit, struct dmar_qi_genseq *pseq)
seq = unit->inv_waitd_seq++;
pseq->gen = unit->inv_waitd_gen;
pseq->seq = seq;
- dmar_qi_emit_wait_descr(unit, seq, true, true, false);
+ if (emit_wait) {
+ dmar_qi_ensure(unit, 1);
+ dmar_qi_emit_wait_descr(unit, seq, true, true, false);
+ }
}
static void
@@ -215,7 +219,7 @@ dmar_qi_wait_for_seq(struct dmar_unit *unit, const struct dmar_qi_genseq *gseq,
void
dmar_qi_invalidate_locked(struct dmar_domain *domain, dmar_gaddr_t base,
- dmar_gaddr_t size, struct dmar_qi_genseq *pseq)
+ dmar_gaddr_t size, struct dmar_qi_genseq *pseq, bool emit_wait)
{
struct dmar_unit *unit;
dmar_gaddr_t isize;
@@ -232,10 +236,7 @@ dmar_qi_invalidate_locked(struct dmar_domain *domain, dmar_gaddr_t base,
DMAR_IQ_DESCR_IOTLB_DID(domain->domain),
base | am);
}
- if (pseq != NULL) {
- dmar_qi_ensure(unit, 1);
- dmar_qi_emit_wait_seq(unit, pseq);
- }
+ dmar_qi_emit_wait_seq(unit, pseq, emit_wait);
dmar_qi_advance_tail(unit);
}
@@ -247,7 +248,7 @@ dmar_qi_invalidate_ctx_glob_locked(struct dmar_unit *unit)
DMAR_ASSERT_LOCKED(unit);
dmar_qi_ensure(unit, 2);
dmar_qi_emit(unit, DMAR_IQ_DESCR_CTX_INV | DMAR_IQ_DESCR_CTX_GLOB, 0);
- dmar_qi_emit_wait_seq(unit, &gseq);
+ dmar_qi_emit_wait_seq(unit, &gseq, true);
dmar_qi_advance_tail(unit);
dmar_qi_wait_for_seq(unit, &gseq, false);
}
@@ -261,7 +262,7 @@ dmar_qi_invalidate_iotlb_glob_locked(struct dmar_unit *unit)
dmar_qi_ensure(unit, 2);
dmar_qi_emit(unit, DMAR_IQ_DESCR_IOTLB_INV | DMAR_IQ_DESCR_IOTLB_GLOB |
DMAR_IQ_DESCR_IOTLB_DW | DMAR_IQ_DESCR_IOTLB_DR, 0);
- dmar_qi_emit_wait_seq(unit, &gseq);
+ dmar_qi_emit_wait_seq(unit, &gseq, true);
dmar_qi_advance_tail(unit);
dmar_qi_wait_for_seq(unit, &gseq, false);
}
@@ -274,7 +275,7 @@ dmar_qi_invalidate_iec_glob(struct dmar_unit *unit)
DMAR_ASSERT_LOCKED(unit);
dmar_qi_ensure(unit, 2);
dmar_qi_emit(unit, DMAR_IQ_DESCR_IEC_INV, 0);
- dmar_qi_emit_wait_seq(unit, &gseq);
+ dmar_qi_emit_wait_seq(unit, &gseq, true);
dmar_qi_advance_tail(unit);
dmar_qi_wait_for_seq(unit, &gseq, false);
}
@@ -298,7 +299,7 @@ dmar_qi_invalidate_iec(struct dmar_unit *unit, u_int start, u_int cnt)
DMAR_IQ_DESCR_IEC_IM(l), 0);
}
dmar_qi_ensure(unit, 1);
- dmar_qi_emit_wait_seq(unit, &gseq);
+ dmar_qi_emit_wait_seq(unit, &gseq, true);
dmar_qi_advance_tail(unit);
/*
@@ -344,8 +345,7 @@ dmar_qi_task(void *arg, int pending __unused)
entry = TAILQ_FIRST(&unit->tlb_flush_entries);
if (entry == NULL)
break;
- if ((entry->gseq.gen == 0 && entry->gseq.seq == 0) ||
- !dmar_qi_seq_processed(unit, &entry->gseq))
+ if (!dmar_qi_seq_processed(unit, &entry->gseq))
break;
TAILQ_REMOVE(&unit->tlb_flush_entries, entry, dmamap_link);
DMAR_UNLOCK(unit);
@@ -432,7 +432,7 @@ dmar_fini_qi(struct dmar_unit *unit)
DMAR_LOCK(unit);
/* quisce */
dmar_qi_ensure(unit, 1);
- dmar_qi_emit_wait_seq(unit, &gseq);
+ dmar_qi_emit_wait_seq(unit, &gseq, true);
dmar_qi_advance_tail(unit);
dmar_qi_wait_for_seq(unit, &gseq, false);
/* only after the quisce, disable queue */
diff --git a/sys/x86/x86/busdma_bounce.c b/sys/x86/x86/busdma_bounce.c
index 78d04b9..bed0cdb 100644
--- a/sys/x86/x86/busdma_bounce.c
+++ b/sys/x86/x86/busdma_bounce.c
@@ -396,23 +396,36 @@ bounce_bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags,
else
attr = VM_MEMATTR_DEFAULT;
- /*
- * XXX:
- * (dmat->alignment <= dmat->maxsize) is just a quick hack; the exact
- * alignment guarantees of malloc need to be nailed down, and the
- * code below should be rewritten to take that into account.
+ /*
+ * Allocate the buffer from the malloc(9) allocator if...
+ * - It's small enough to fit into a single power of two sized bucket.
+ * - The alignment is less than or equal to the maximum size
+ * - The low address requirement is fulfilled.
+ * else allocate non-contiguous pages if...
+ * - The page count that could get allocated doesn't exceed
+ * nsegments also when the maximum segment size is less
+ * than PAGE_SIZE.
+ * - The alignment constraint isn't larger than a page boundary.
+ * - There are no boundary-crossing constraints.
+ * else allocate a block of contiguous pages because one or more of the
+ * constraints is something that only the contig allocator can fulfill.
+ *
+ * NOTE: The (dmat->common.alignment <= dmat->maxsize) check
+ * below is just a quick hack. The exact alignment guarantees
+ * of malloc(9) need to be nailed down, and the code below
+ * should be rewritten to take that into account.
*
- * In the meantime, we'll warn the user if malloc gets it wrong.
+ * In the meantime warn the user if malloc gets it wrong.
*/
if ((dmat->common.maxsize <= PAGE_SIZE) &&
(dmat->common.alignment <= dmat->common.maxsize) &&
dmat->common.lowaddr >= ptoa((vm_paddr_t)Maxmem) &&
attr == VM_MEMATTR_DEFAULT) {
*vaddr = malloc(dmat->common.maxsize, M_DEVBUF, mflags);
- } else if (dmat->common.nsegments >= btoc(dmat->common.maxsize) &&
+ } else if (dmat->common.nsegments >=
+ howmany(dmat->common.maxsize, MIN(dmat->common.maxsegsz, PAGE_SIZE)) &&
dmat->common.alignment <= PAGE_SIZE &&
- (dmat->common.boundary == 0 ||
- dmat->common.boundary >= dmat->common.lowaddr)) {
+ (dmat->common.boundary % PAGE_SIZE) == 0) {
/* Page-based multi-segment allocations allowed */
*vaddr = (void *)kmem_alloc_attr(kernel_arena,
dmat->common.maxsize, mflags, 0ul, dmat->common.lowaddr,
diff --git a/sys/x86/x86/intr_machdep.c b/sys/x86/x86/intr_machdep.c
index 1bc7820..fcab95c 100644
--- a/sys/x86/x86/intr_machdep.c
+++ b/sys/x86/x86/intr_machdep.c
@@ -315,7 +315,9 @@ intr_assign_cpu(void *arg, int cpu)
#ifdef EARLY_AP_STARTUP
MPASS(mp_ncpus == 1 || smp_started);
- if (cpu != NOCPU) {
+
+ /* Nothing to do if there is only a single CPU. */
+ if (mp_ncpus > 1 && cpu != NOCPU) {
#else
/*
* Don't do anything during early boot. We will pick up the
@@ -503,6 +505,8 @@ intr_next_cpu(void)
#ifdef EARLY_AP_STARTUP
MPASS(mp_ncpus == 1 || smp_started);
+ if (mp_ncpus == 1)
+ return (PCPU_GET(apic_id));
#else
/* Leave all interrupts on the BSP during boot. */
if (!assign_cpu)
diff --git a/sys/x86/x86/mp_x86.c b/sys/x86/x86/mp_x86.c
index cd66eea..7cc02d6 100644
--- a/sys/x86/x86/mp_x86.c
+++ b/sys/x86/x86/mp_x86.c
@@ -235,7 +235,9 @@ static void
topo_probe_amd(void)
{
u_int p[4];
+ uint64_t v;
int level;
+ int nodes_per_socket;
int share_count;
int type;
int i;
@@ -294,13 +296,18 @@ topo_probe_amd(void)
caches[1].present = 1;
}
if (((p[3] >> 18) & 0x3fff) != 0) {
-
- /*
- * TODO: Account for dual-node processors
- * where each node within a package has its own
- * L3 cache.
- */
- caches[2].id_shift = pkg_id_shift;
+ nodes_per_socket = 1;
+ if ((amd_feature2 & AMDID2_NODE_ID) != 0) {
+ /*
+ * Handle multi-node processors that
+ * have multiple chips, each with its
+ * own L3 cache, on the same die.
+ */
+ v = rdmsr(0xc001100c);
+ nodes_per_socket = 1 + ((v >> 3) & 0x7);
+ }
+ caches[2].id_shift =
+ pkg_id_shift - mask_width(nodes_per_socket);
caches[2].present = 1;
}
}
diff --git a/sys/x86/xen/xen_apic.c b/sys/x86/xen/xen_apic.c
index 45c3c18..a7fa255 100644
--- a/sys/x86/xen/xen_apic.c
+++ b/sys/x86/xen/xen_apic.c
@@ -500,12 +500,9 @@ xen_cpu_ipi_init(int cpu)
{
xen_intr_handle_t *ipi_handle;
const struct xen_ipi_handler *ipi;
- device_t dev;
int idx, rc;
ipi_handle = DPCPU_ID_GET(cpu, ipi_handle);
- dev = pcpu_find(cpu)->pc_device;
- KASSERT((dev != NULL), ("NULL pcpu device_t"));
for (ipi = xen_ipis, idx = 0; idx < nitems(xen_ipis); ipi++, idx++) {
@@ -514,7 +511,7 @@ xen_cpu_ipi_init(int cpu)
continue;
}
- rc = xen_intr_alloc_and_bind_ipi(dev, cpu, ipi->filter,
+ rc = xen_intr_alloc_and_bind_ipi(cpu, ipi->filter,
INTR_TYPE_TTY, &ipi_handle[idx]);
if (rc != 0)
panic("Unable to allocate a XEN IPI port");
diff --git a/sys/x86/xen/xen_intr.c b/sys/x86/xen/xen_intr.c
index 13ada84..38ec8ab 100644
--- a/sys/x86/xen/xen_intr.c
+++ b/sys/x86/xen/xen_intr.c
@@ -392,7 +392,7 @@ xen_intr_release_isrc(struct xenisrc *isrc)
*/
static int
xen_intr_bind_isrc(struct xenisrc **isrcp, evtchn_port_t local_port,
- enum evtchn_type type, device_t intr_owner, driver_filter_t filter,
+ enum evtchn_type type, const char *intr_owner, driver_filter_t filter,
driver_intr_t handler, void *arg, enum intr_type flags,
xen_intr_handle_t *port_handlep)
{
@@ -401,8 +401,8 @@ xen_intr_bind_isrc(struct xenisrc **isrcp, evtchn_port_t local_port,
*isrcp = NULL;
if (port_handlep == NULL) {
- device_printf(intr_owner,
- "xen_intr_bind_isrc: Bad event handle\n");
+ printf("%s: xen_intr_bind_isrc: Bad event handle\n",
+ intr_owner);
return (EINVAL);
}
@@ -1174,8 +1174,9 @@ xen_intr_bind_local_port(device_t dev, evtchn_port_t local_port,
struct xenisrc *isrc;
int error;
- error = xen_intr_bind_isrc(&isrc, local_port, EVTCHN_TYPE_PORT, dev,
- filter, handler, arg, flags, port_handlep);
+ error = xen_intr_bind_isrc(&isrc, local_port, EVTCHN_TYPE_PORT,
+ device_get_nameunit(dev), filter, handler, arg, flags,
+ port_handlep);
if (error != 0)
return (error);
@@ -1209,8 +1210,8 @@ xen_intr_alloc_and_bind_local_port(device_t dev, u_int remote_domain,
}
error = xen_intr_bind_isrc(&isrc, alloc_unbound.port, EVTCHN_TYPE_PORT,
- dev, filter, handler, arg, flags,
- port_handlep);
+ device_get_nameunit(dev), filter, handler, arg, flags,
+ port_handlep);
if (error != 0) {
evtchn_close_t close = { .port = alloc_unbound.port };
if (HYPERVISOR_event_channel_op(EVTCHNOP_close, &close))
@@ -1244,8 +1245,8 @@ xen_intr_bind_remote_port(device_t dev, u_int remote_domain,
}
error = xen_intr_bind_isrc(&isrc, bind_interdomain.local_port,
- EVTCHN_TYPE_PORT, dev, filter, handler,
- arg, flags, port_handlep);
+ EVTCHN_TYPE_PORT, device_get_nameunit(dev), filter, handler, arg,
+ flags, port_handlep);
if (error) {
evtchn_close_t close = { .port = bind_interdomain.local_port };
if (HYPERVISOR_event_channel_op(EVTCHNOP_close, &close))
@@ -1284,8 +1285,9 @@ xen_intr_bind_virq(device_t dev, u_int virq, u_int cpu,
return (-error);
}
- error = xen_intr_bind_isrc(&isrc, bind_virq.port, EVTCHN_TYPE_VIRQ, dev,
- filter, handler, arg, flags, port_handlep);
+ error = xen_intr_bind_isrc(&isrc, bind_virq.port, EVTCHN_TYPE_VIRQ,
+ device_get_nameunit(dev), filter, handler, arg, flags,
+ port_handlep);
#ifdef SMP
if (error == 0)
@@ -1324,14 +1326,15 @@ xen_intr_bind_virq(device_t dev, u_int virq, u_int cpu,
}
int
-xen_intr_alloc_and_bind_ipi(device_t dev, u_int cpu,
- driver_filter_t filter, enum intr_type flags,
- xen_intr_handle_t *port_handlep)
+xen_intr_alloc_and_bind_ipi(u_int cpu, driver_filter_t filter,
+ enum intr_type flags, xen_intr_handle_t *port_handlep)
{
#ifdef SMP
int vcpu_id = pcpu_find(cpu)->pc_vcpu_id;
struct xenisrc *isrc;
struct evtchn_bind_ipi bind_ipi = { .vcpu = vcpu_id };
+ /* Same size as the one used by intr_handler->ih_name. */
+ char name[MAXCOMLEN + 1];
int error;
/* Ensure the target CPU is ready to handle evtchn interrupts. */
@@ -1347,12 +1350,10 @@ xen_intr_alloc_and_bind_ipi(device_t dev, u_int cpu,
return (-error);
}
- error = xen_intr_bind_isrc(&isrc, bind_ipi.port, EVTCHN_TYPE_IPI,
- dev, filter, NULL, NULL, flags,
- port_handlep);
- if (error == 0)
- error = intr_event_bind(isrc->xi_intsrc.is_event, cpu);
+ snprintf(name, sizeof(name), "cpu%u", cpu);
+ error = xen_intr_bind_isrc(&isrc, bind_ipi.port, EVTCHN_TYPE_IPI,
+ name, filter, NULL, NULL, flags, port_handlep);
if (error != 0) {
evtchn_close_t close = { .port = bind_ipi.port };
@@ -1541,7 +1542,7 @@ xen_intr_port(xen_intr_handle_t handle)
}
int
-xen_intr_add_handler(device_t dev, driver_filter_t filter,
+xen_intr_add_handler(const char *name, driver_filter_t filter,
driver_intr_t handler, void *arg, enum intr_type flags,
xen_intr_handle_t handle)
{
@@ -1552,12 +1553,12 @@ xen_intr_add_handler(device_t dev, driver_filter_t filter,
if (isrc == NULL || isrc->xi_cookie != NULL)
return (EINVAL);
- error = intr_add_handler(device_get_nameunit(dev), isrc->xi_vector,
- filter, handler, arg, flags|INTR_EXCL, &isrc->xi_cookie);
+ error = intr_add_handler(name, isrc->xi_vector,filter, handler, arg,
+ flags|INTR_EXCL, &isrc->xi_cookie);
if (error != 0) {
- device_printf(dev,
- "xen_intr_add_handler: intr_add_handler failed: %d\n",
- error);
+ printf(
+ "%s: xen_intr_add_handler: intr_add_handler failed: %d\n",
+ name, error);
}
return (error);
diff --git a/sys/xdr/xdr.c b/sys/xdr/xdr.c
index 69d9e4a..915d27b 100644
--- a/sys/xdr/xdr.c
+++ b/sys/xdr/xdr.c
@@ -51,6 +51,8 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/malloc.h>
+#include <rpc/rpc.h>
+#include <rpc/rpc_com.h>
#include <rpc/types.h>
#include <rpc/xdr.h>
@@ -62,7 +64,6 @@ typedef u_quad_t u_longlong_t; /* ANSI unsigned long long type */
*/
#define XDR_FALSE ((long) 0)
#define XDR_TRUE ((long) 1)
-#define LASTUNSIGNED ((u_int) 0-1)
/*
* for unit alignment
@@ -503,6 +504,7 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int maxsize)
{
char *sp = *cpp; /* sp is the actual string pointer */
u_int nodesize;
+ bool_t ret, allocated = FALSE;
/*
* first deal with the length since xdr bytes are counted
@@ -526,6 +528,7 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int maxsize)
}
if (sp == NULL) {
*cpp = sp = mem_alloc(nodesize);
+ allocated = TRUE;
}
if (sp == NULL) {
printf("xdr_bytes: out of memory");
@@ -534,7 +537,14 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int maxsize)
/* FALLTHROUGH */
case XDR_ENCODE:
- return (xdr_opaque(xdrs, sp, nodesize));
+ ret = xdr_opaque(xdrs, sp, nodesize);
+ if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) {
+ if (allocated == TRUE) {
+ mem_free(sp, nodesize);
+ *cpp = NULL;
+ }
+ }
+ return (ret);
case XDR_FREE:
if (sp != NULL) {
@@ -622,6 +632,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize)
char *sp = *cpp; /* sp is the actual string pointer */
u_int size;
u_int nodesize;
+ bool_t ret, allocated = FALSE;
/*
* first deal with the length since xdr strings are counted-strings
@@ -655,8 +666,10 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize)
if (nodesize == 0) {
return (TRUE);
}
- if (sp == NULL)
+ if (sp == NULL) {
*cpp = sp = mem_alloc(nodesize);
+ allocated = TRUE;
+ }
if (sp == NULL) {
printf("xdr_string: out of memory");
return (FALSE);
@@ -665,7 +678,14 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize)
/* FALLTHROUGH */
case XDR_ENCODE:
- return (xdr_opaque(xdrs, sp, size));
+ ret = xdr_opaque(xdrs, sp, size);
+ if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) {
+ if (allocated == TRUE) {
+ mem_free(sp, nodesize);
+ *cpp = NULL;
+ }
+ }
+ return (ret);
case XDR_FREE:
mem_free(sp, nodesize);
@@ -683,7 +703,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize)
bool_t
xdr_wrapstring(XDR *xdrs, char **cpp)
{
- return xdr_string(xdrs, cpp, LASTUNSIGNED);
+ return xdr_string(xdrs, cpp, RPC_MAXDATASIZE);
}
/*
diff --git a/sys/xen/xen_intr.h b/sys/xen/xen_intr.h
index 5b2f608..f0b435f 100644
--- a/sys/xen/xen_intr.h
+++ b/sys/xen/xen_intr.h
@@ -143,7 +143,6 @@ int xen_intr_bind_virq(device_t dev, u_int virq, u_int cpu,
* interupts and, if successful, associate the port with the specified
* interrupt handler.
*
- * \param dev The device making this bind request.
* \param cpu The cpu receiving the IPI.
* \param filter The interrupt filter servicing this IPI.
* \param irqflags Interrupt handler flags. See sys/bus.h.
@@ -152,7 +151,7 @@ int xen_intr_bind_virq(device_t dev, u_int virq, u_int cpu,
*
* \returns 0 on success, otherwise an errno.
*/
-int xen_intr_alloc_and_bind_ipi(device_t dev, u_int cpu,
+int xen_intr_alloc_and_bind_ipi(u_int cpu,
driver_filter_t filter, enum intr_type irqflags,
xen_intr_handle_t *handlep);
@@ -259,7 +258,7 @@ int xen_release_msi(int vector);
*
* \returns 0 on success, otherwise an errno.
*/
-int xen_intr_add_handler(device_t dev, driver_filter_t filter,
+int xen_intr_add_handler(const char *name, driver_filter_t filter,
driver_intr_t handler, void *arg, enum intr_type flags,
xen_intr_handle_t handle);
OpenPOWER on IntegriCloud